{"report_id":"c403b7da-9bd8-4b49-9a5e-27a67923d133","version":0,"status":"done","tags":[],"date":"2026-07-27T07:22:18Z","url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":0,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"final":{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"title":"huobiget.com","dom":{"size":41914,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (26399)","md5":"f9c80be5efe2f2e7908cbc6464a4baa1","sha1":"7c0e9f1f6a741316015e209aaccd4280bb8140e6","sha256":"3432aeb269181b7717693d00dee9e8cb7c65d8ca5f55cd8f256814ef3c1dfcc8","sha512":"21d456fda273365aef1226c05d8ece08a4ef27ce93be2cef19159c86b92fcf060e436cc20acfb22e4e9b1c3830c864d76efec26873cd4ef89d1a3e7202ec1a98","ssdeep":"768:0yJi2qbCmmWq38FTbfsTO+hDGq3t8UtN2v3k/SR+D/5km58:FJzqbCmmWq38FTbfsTO+hDZ3t8UtAk/C","tlshash":"a513a7276784452c9c53d278f399b54ea32af688ef6259eef7c23410c2d93ff088a455","dom_hash":"domhash5a2e7b986a359100c1311ce7180015d1","first_seen":"2026-07-07T22:08:47.685476Z","last_seen":"2026-08-10T05:00:33.677401Z","times_seen":882,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":0,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T07:22:18Z","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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"www.tradingview.com","ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2010-03-20","domain_rank":1990,"first_seen":"2012-12-04T09:00:23Z","last_seen":"2026-07-20T07:27:23.080723Z","alert_count":0,"request_count":2,"received_data":3077,"sent_data":1169,"comment":"","tags":null,"fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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"]}]},{"fqdn":"s.tradingview.com","ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2010-03-20","domain_rank":416574,"first_seen":"2017-01-30T05:04:39Z","last_seen":"2026-07-22T06:09:51.826411Z","alert_count":0,"request_count":2,"received_data":79284,"sent_data":1275,"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":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"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"]}]},{"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":1,"received_data":3188,"sent_data":520,"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":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2014-02-02","domain_rank":491650,"first_seen":"2017-01-30T05:24:57Z","last_seen":"2026-07-24T07:15:25.153212Z","alert_count":0,"request_count":1,"received_data":18546,"sent_data":459,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"s3-symbol-logo.tradingview.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2010-03-20","domain_rank":110931,"first_seen":"2020-11-23T08:22:37Z","last_seen":"2026-07-25T00:19:15.629884Z","alert_count":0,"request_count":136,"received_data":21675,"sent_data":79248,"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":"huobiget.com","ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"domain_registered":"2026-06-17","domain_rank":0,"first_seen":"2026-07-27T04:47:56.423862Z","last_seen":"2026-07-27T04:47:56.423862Z","alert_count":47,"request_count":47,"received_data":2568880,"sent_data":24936,"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":"jQuery:3.4.1","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":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Popper","description":"Popper is a positioning engine, its purpose is to calculate the position of an element to make it possible to position it near a given reference element.","website":"https://popper.js.org","common_platform_enumeration":"","icon":"Popper.svg","categories":["Miscellaneous"]},{"name":"Magnific Popup","description":"Magnific Popup is a responsive lightbox \u0026 dialog script with focus on performance and providing best experience for user with any device.","website":"https://dimsemenov.com/plugins/magnific-popup/","common_platform_enumeration":"","icon":"Magnific Popup.png","categories":["JavaScript libraries"]},{"name":"WOW","description":"Reveal CSS animation as you scroll down a page.","website":"https://www.delac.io/WOW","common_platform_enumeration":"","icon":"","categories":["JavaScript frameworks","Web frameworks","JavaScript graphics"]},{"name":"OWL Carousel","description":"OWL Carousel is an enabled jQuery plugin that lets you create responsive carousel sliders.","website":"https://owlcarousel2.github.io/OwlCarousel2/","common_platform_enumeration":"","icon":"OWL Carousel.png","categories":["JavaScript libraries"]},{"name":"Mixitup","description":"A CSS3 and jQuery Filter \u0026 Sort Plugin.","website":"https://www.kunkalabs.com/mixitup/","common_platform_enumeration":"","icon":"kunkalabs.svg","categories":["JavaScript libraries"]}]},{"fqdn":"widget.time.is","ip":{"addr":"104.26.12.54","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2009-03-09","domain_rank":1643245,"first_seen":"2017-01-29T13:51:50Z","last_seen":"2026-07-22T09:16:07.971266Z","alert_count":0,"request_count":2,"received_data":5979,"sent_data":917,"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":"translate.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":6317,"first_seen":"2012-05-31T07:21:21Z","last_seen":"2026-07-20T14:48:05.930258Z","alert_count":0,"request_count":4,"received_data":198763,"sent_data":2289,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.gstatic.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2008-02-11","domain_rank":146047,"first_seen":"2012-05-29T15:36:17Z","last_seen":"2026-07-26T23:06:30.068608Z","alert_count":0,"request_count":5,"received_data":25235,"sent_data":3065,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.youtube.com","ip":{"addr":"142.251.151.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":2,"received_data":32194,"sent_data":1537,"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":"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":221036,"sent_data":3409,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.google.com","ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":609,"first_seen":"2012-05-30T01:30:32Z","last_seen":"2026-07-20T21:58:05.03314Z","alert_count":0,"request_count":2,"received_data":77720,"sent_data":1082,"comment":"","tags":null,"fingerprints":null},{"fqdn":"snowplow-pixel.tradingview.com","ip":{"addr":"35.162.147.20","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2010-03-20","domain_rank":110021,"first_seen":"2020-02-21T21:21:18Z","last_seen":"2026-07-21T08:39:31.331722Z","alert_count":0,"request_count":2,"received_data":997,"sent_data":1152,"comment":"","tags":null,"fingerprints":[{"name":"Akka HTTP:10.2.9","description":"","website":"https://akka.io","common_platform_enumeration":"cpe:2.3:a:lightbend:akka_http:*:*:*:*:*:*:*:*","icon":"akka-http.png","categories":["Web frameworks","Web servers"]},{"name":"Snowplow Analytics","description":"Snowplow is an open-source behavioral data management platform for businesses.","website":"https://snowplowanalytics.com","common_platform_enumeration":"","icon":"Snowplow.svg","categories":["Analytics","IaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"pushstream.tradingview.com","ip":{"addr":"93.123.102.204","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"domain_registered":"2010-03-20","domain_rank":94515,"first_seen":"2016-09-22T12:08:22Z","last_seen":"2026-07-26T13:08:04.997239Z","alert_count":0,"request_count":1,"received_data":221,"sent_data":614,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate-pa.googleapis.com","ip":{"addr":"172.217.117.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":8472,"first_seen":"2021-11-04T06:37:42Z","last_seen":"2026-07-21T21:38:43.172366Z","alert_count":0,"request_count":1,"received_data":32349,"sent_data":568,"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":4,"received_data":84187,"sent_data":1915,"comment":"","tags":null,"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"]}]},{"fqdn":"min-api.cryptocompare.com","ip":{"addr":"104.18.31.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2013-11-03","domain_rank":433733,"first_seen":"2017-01-31T12:53:23Z","last_seen":"2026-07-24T04:07:55.365303Z","alert_count":0,"request_count":1,"received_data":646,"sent_data":558,"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":"widget-sheriff.tradingview-widget.com","ip":{"addr":"143.204.238.28","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2020-06-05","domain_rank":206730,"first_seen":"2024-02-01T14:12:53Z","last_seen":"2026-07-24T23:32:22.077351Z","alert_count":0,"request_count":3,"received_data":1655,"sent_data":1669,"comment":"","tags":null,"fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}]},{"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":274,"received_data":8558172,"sent_data":146884,"comment":"","tags":null,"fingerprints":[{"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"]},{"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":"scanner.tradingview.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2010-03-20","domain_rank":111106,"first_seen":"2016-08-02T09:33:18Z","last_seen":"2026-07-22T10:20:45.048286Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":680,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widgetdata.tradingview.com","ip":{"addr":"93.123.102.180","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":2,"received_data":448,"sent_data":1493,"comment":"","tags":null,"fingerprints":null},{"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":2,"received_data":21669,"sent_data":1050,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"www.google.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"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":0,"sent_data":544,"comment":"","tags":null,"fingerprints":null}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"widget.time.is/?London_z716\u0026t=1785136900139","fqdn":"widget.time.is","domain":"time.is","tld":"is"},"ip":{"addr":"104.26.12.54","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"523c74832e89e7bf3b9920a851cfbc58","sha1":"7f90919de5857efc2e71ed1e043b904802d50828","sha256":"eb4332345c0c9a4db5a2bc77faaccdc1e9cc84747c5c37bbc12ec3b4d64d706e","sha512":"f418d8384049f97e7a48372233b8baba781b0ae5d3ed656efa7d0a9b1a1686c7437b9829833676a9f13e101dedbb695e9b09c4c90a3662898a39d07bb4ae8fe0","ssdeep":"","tlshash":"cea00235d741058d6cd8135dc4265b2c96408fa8bbcd39650f1174d32ce55c7415d240","size":81,"data":"","first_seen":"2026-07-27T07:22:35.500934Z","last_seen":"2026-07-27T07:22:35.500934Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"42e34d43963ba5c8f37c775b35258a3f","sha1":"77848caef3f422b34490fbcc9b420a2eae91e973","sha256":"4bca020551dc54855ef72cda3d88a25ac010c32345bebd8111e1d884f56b1dfb","sha512":"1d102717114d2322ba1fd3ec6fab0b9da9bc194793c340ce4efc56611ac5ea53860b13a04ec8c3e20da463da1c752b9254516dce5bc499934db40f301037ea5a","ssdeep":"","tlshash":"8690020da4210201206830c4fa8236426c9104a04f099c100101d81061c910bc8556df","size":46,"data":"","first_seen":"2026-05-25T20:24:44.282834Z","last_seen":"2026-08-10T08:00:01.12116Z","times_seen":4594,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"2d411354f21bb22b65f55d8bfad14f6e","sha1":"0a0a24845eb1cac5a48518e1bc5db6e3d5dce792","sha256":"cb1426008557b5894157468472242e22bb84d186d91063e50456abb38b79ed23","sha512":"f95f53d57cf6b8cd06137c700ea9f82b2342115f8ac40630b9fcd57322f6e4d42e6ed7ffe48e64c0dbe39388cfb9f76813d882fb40b9c5504cf0e670ab3b28fb","ssdeep":"","tlshash":"1d80002080a00000a28830c2e008002c3838c3320a8022c0838080028082ae082e02a3","size":27,"data":"","first_seen":"2026-07-16T11:36:17.999846Z","last_seen":"2026-08-10T08:00:01.121684Z","times_seen":3181,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8f253e9138f42b6d33bdfef26328fd32","sha1":"4c11800ab932414ec9808a381b4c9a75d664c2e2","sha256":"cafb35c32a6fd66d28928d2fe961f5a789e234c84ba0cea7cb503976e3888481","sha512":"e9a5598d7f113653c6cda5e07873324dcdae385cf7f0196fbc07cea6ceb6c1a58809bf462a3a460acbc5b5985ea774b2a7ca982f5c83459e2660419ae4afa2ba","ssdeep":"384:LipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka42h30:eNogFbLr9h30","tlshash":"26822057c80da32ac456de26bc7bb602fc2e075945b529646aecc86c04c7d53e30ba7d","size":18668,"data":"","first_seen":"2026-07-27T07:14:43.878853Z","last_seen":"2026-07-27T07:38:32.840661Z","times_seen":14,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8062d232826eee4ffac1e152a5142514","sha1":"1b7f2090ebcfc1380f56c34dfc4f294c7301605d","sha256":"ace81cabed19b96885e6fec0ca99bfc73b71b6ad7df50664f92e68ca7281512c","sha512":"4e11703f66d5cb936d78dc2aca12c94504819135e1040189ba4675f1c0b5c1478ece5ca2f02d7c893a38b341f34dc318703d6d7a4c51307c031d5384676f2c01","ssdeep":"","tlshash":"78f02d7c1403dcf784fa1082c6b8e2c0c653856aef942ee123408ac2220ebaf02b1bd1","size":651,"data":"","first_seen":"2026-05-25T20:24:44.288837Z","last_seen":"2026-08-10T08:00:01.122662Z","times_seen":4751,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"79e2bc5ca02b363ce208616679c02de2","sha1":"45b2168b43994b3852f7d3733cdafb828e032bb8","sha256":"0f885102e5b1f311c00788359b00bc114a7a25b8d7f43332c3620d91313f7823","sha512":"9c804e1429110f20cb41c593a77bf280290b2237f59533c2138c38896c6969cda07e3d31568771b188c0772e0a7cd399520ce2efbd4e2d61f50ae189e09a22b5","ssdeep":"384:N40xN5M2HCSQipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4XF:N40xfHCSdNogFbLrq","tlshash":"a6a28417c80c632ad9998d66bc3bb642fc2d075d45a129a46bac9c2c14c7d53e20bbbd","size":22652,"data":"","first_seen":"2026-07-27T07:14:43.879856Z","last_seen":"2026-07-27T07:38:32.842337Z","times_seen":14,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"a451bd95e420d24a151cb5a25660fc44","sha1":"de8b722786339662ff8f0f6a25cd85930eddfb6d","sha256":"c8f09d6bcd1db51b6c98a3f11c98e6af82972a8fbd80e72dd14822bdc7c8ca97","sha512":"80b4700545cf6047c2c0d3f4a2156c0bef71d9bb050e302185e1806abce0b043b96d282712e02494ca2472e027a0e018e825ef23fd7a8d5f2768342dd46f086a","ssdeep":"","tlshash":"25e0cd478124c410b2d65848e53919f53109b59ae64309f1f260bf0cb1567f394d5dfc","size":321,"data":"","first_seen":"2026-07-24T11:36:48.290535Z","last_seen":"2026-07-28T07:05:00.709149Z","times_seen":1650,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"9d9bc5ffab15aed4773d569d62c5ba8b","sha1":"0c8d1aaf4c47cdfcda045dab107ca532b1f79b2c","sha256":"46a2e650802f69388f056281de89811b65b26bbb94350a0e175c7c4c4368a483","sha512":"8a7e0f121165dd69fcc12c3e8c8fa5cc13a4459d091f1229d33efba3db5cbe6adbd703665df67609399e5adc89884506e7fd6abb61759b06e7abd565d01c79e9","ssdeep":"384:RMt9Rl8Do+vHgzH6wmrebszczwhH/p5lOrylk6uNFCSF5I3epMtK3/MWFei:RWvGDo+vHgzH6/8szcyzuvCSF56yMi","tlshash":"44a2648196270c052bea174a68325103b22446f8d647395cbd786dee6e2cbc671f37fb","size":21867,"data":"","first_seen":"2026-07-24T11:36:48.297592Z","last_seen":"2026-07-31T08:20:24.788964Z","times_seen":1890,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"569704bfe6c1be70bea96e62c95d10b2","sha1":"1ebe9e3483f15928d18af8367a993cc1fe6f95f6","sha256":"577136df8200adf35699ebd443ff95aff588911e5451a64e7249b954d496ab08","sha512":"27482e4bae245a82e789bd6bba1746bd03fc6d2916045062e35f6bd7d8496ff54720271e9b16bf9c72972f08d7d7aeed33e1c0e2d0ef905ea9253578b05d44f2","ssdeep":"","tlshash":"6c3150f9e42264750ad310d832b7c7aa3f333595f1c72552c4bcc08a15a6dca24a3eed","size":1547,"data":"","first_seen":"2026-07-20T15:50:49.068553Z","last_seen":"2026-08-10T08:00:01.123668Z","times_seen":3057,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d080aef1e28b9ced897f549e49b13916","sha1":"75abf1173fad589cc5e35b388fa0a3067188e157","sha256":"cb914bbd5f3df056d111c04f26650d699d100920c24e13e5e50c67ecd1de4e93","sha512":"746fc099bb9ed96629e79d592c09b25bb38203a52cb1dced0a65325ff096b1ce9f508f5f2a26570312d75569a6b56be634501e6fa6a59c2fbde67af8418caa04","ssdeep":"","tlshash":"48d0a754212b612234dc3054d62ee6d1f5151a922fd310ebd7992018b665893a9547ed","size":245,"data":"","first_seen":"2026-05-25T20:24:44.292788Z","last_seen":"2026-08-10T08:00:01.124161Z","times_seen":4757,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","size":31210,"data":"","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-31T06:34:35.472553Z","times_seen":719,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4e35d66fb21ba281ba6dbf987ed9ad19","sha1":"73e3a494f412a84503c6bf08675879d8208fc592","sha256":"5653a56b0c05a5fd05b5142656859a2b962fa133463b10bef556248e9a874170","sha512":"b0ca5d7daa35d7d3028dceb3b720db89c3490e605c24bd22a4111fb473cc03df4111967e85c15c04ee5b3f778d6fb4827935324ad61a06e9280ae18ddff4cc7f","ssdeep":"3072:0LfPZKIwNAHqBrRysvaCGj4Re79+op3zathZRSEaigHKBRnE:kZKIIyOatj4Ip+oJza7Z3gH6E","tlshash":"f0344b677264783a61bb51ee08bb0503e71a6445b442407cf1bc9dde296dcc9b23af3e","size":233096,"data":"","first_seen":"2026-07-23T14:00:31.388594Z","last_seen":"2026-07-28T06:17:53.599251Z","times_seen":119,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/77578.f6db460ed1e8ce31ea86.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2b6fab5d43180a44762a23007cc74818","sha1":"57a42431bd8f0021426278639e1480f60600ddbc","sha256":"4daa7f339a6ee290609f5a83e28d23ee34feaa429a33d7403cf4890502acabfd","sha512":"482fc0dcff39aea620d385e9ecbe90053b7ed726e6c51f9e14dddd7f150263071d648a4c7ba8c7eb4637bee7761d193c72638a4019a4214ae774a41f8a4d53b8","ssdeep":"768:8LZLvioqCZ0JL2sWfliPTkeX0dnor9s+htUQJXRl7m:8BwL2dIAYrC+DT53K","tlshash":"4ec23a913111a49d96fbe2eed02b428ef3323659790a0e75f02c9cec11cdb693175b7a","size":27070,"data":"","first_seen":"2026-07-23T14:00:31.442829Z","last_seen":"2026-07-28T19:45:51.653444Z","times_seen":77,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/48652.9487148ca973a8ce4caa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"84e3cbc8f2cc7d16bc14251dee5f916d","sha1":"4515c758e4180ad4b3e4de054f1010b89337c5d3","sha256":"d71c6cd3abef8e38419d743ed4851ee893ff6bc105108ae88885f8524ac780a9","sha512":"166e2773f21cfcd6f793984bb2321a0513fe16cb22296e7f7a0e81915f6b387f2961404e6b1cad8c8fe209c02411ea7a4c468f0c7216b1327f2fa2ccde80acb8","ssdeep":"768:VHqwOWJaoTqN6riNXBxFRJLTiIjsxIU1azbsYttLhqpTLuvD/XV0xwk3LlEYZZBq:5qwOW0MmiMKCkLctYz3LauFKEP9mC7Oj","tlshash":"af13d68035a1b02887e6409ad07e4546f7792bd1b48a5579f0fcc8ce3e5898df136bbe","size":45019,"data":"","first_seen":"2026-07-23T14:00:31.480629Z","last_seen":"2026-07-28T04:48:50.392877Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"domTimer","is_inline":false,"md5":"a0c842504daa444069631744f64342d0","sha1":"34b2e9871174a0b0405a5a747dafb46b04584971","sha256":"ccdcb5fc7688715605509721b436c65882c6cf058214f24be16319a5a6bb3a23","sha512":"d508288e63199c9f358b7d1f279baf4bbe03896b0f2c2667e9999dcb848a0111dd82c6eae9ae32a761079009c4c13b2ceee1f2ce3d86976db689dc12ef8bd917","ssdeep":"","tlshash":"25b00000c202a0a208280838288802c2ab088cb8eac02a288c00308028800e008e0222","size":91,"data":"","first_seen":"2023-05-19T13:36:16Z","last_seen":"2026-08-08T19:32:27.300244Z","times_seen":51,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":true,"md5":"7086e18bf98cb1d9be498764877b677b","sha1":"ec586e4ee77ef3f2ea056ea7bafb059664d36230","sha256":"8cfe9a746b2623bdc3cdafa6ab72e404077acbdb7a89cac9eaea2173ad3694d1","sha512":"a21dff2cf3c8b71ca75bb61bc96174ec34bcd0a5e98073b5cd9794273b1e1c8856d118583947022ed0bbedb251bfb0b3f06c861b022086539b848474508c3641","ssdeep":"","tlshash":"45c09b47f571165b1499e105e39a498c71784509053d0d2c33c550da3ef3f9d034e5a8","size":140,"data":"","first_seen":"2025-10-05T12:31:00.819035Z","last_seen":"2026-08-06T11:45:03.930294Z","times_seen":38,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":true,"md5":"7ba04bc18eab54ed4783eb78a9a84cd6","sha1":"0b8eca10772d0dbe7fb98200fdbcb61de65ed346","sha256":"4baa8330fd135ef067875969f41fb375583d21619c949e993dafad0e6a2dd481","sha512":"fabf2e319f9dba54875de34a7211f44f0678762969c2ae6de769fb74781ba5722e98f74b26b7b792ce21f7cdf55f2f01a2ae150c587a6727076d3bb5d02d9420","ssdeep":"","tlshash":"51700000a0ba800c0008b080e28230ea00c88c20022008a0ea088802088822b8a0c2c8","size":25,"data":"","first_seen":"2026-07-09T07:06:36.426956Z","last_seen":"2026-07-27T08:27:57.362865Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":true,"md5":"eaff9b02650cfe1a6e0fed3a3806f858","sha1":"04e7130e42263474f501b3ec5e8e8b020f12cca5","sha256":"bedfceac2c8c56671f002e14d9f453f3163d5cbbed53aa2090252350247d532b","sha512":"c773fe80e1d2e696ce22004020f71b2c14d09fa4f593a2b6bd2f3331fe2a93a74d897a188750bb4829ea95574fd7ce3e0cd94736763b4eec63c21f2d242fa364","ssdeep":"","tlshash":"004100aaab920586a0efd2419d51611e32f5f197c842cc4bbe4e26a04f83f14f05cfb0","size":2217,"data":"","first_seen":"2026-06-26T06:02:25.773597Z","last_seen":"2026-07-27T08:27:57.363397Z","times_seen":7,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":true,"md5":"f6f95a45d60c1c5f66ab8c690cb92dd6","sha1":"39e09356e04777bdd7f9e3a35a990e0584047f1b","sha256":"77bceeed8ec187f2616afceaef2da0ce6c84d52cd6b7f2730ee90b14f821ee06","sha512":"7cf4e4883d204b494593da31cf2161cb0160bd12b7e430d02f7328b8ef27ccb7e3795507d9907d17b371394553c985bcbd57a3c5cb6c02338e58533f98f01568","ssdeep":"","tlshash":"f2e0920684629142865a75a5a0190288fa2048879a890d327f9c62802f1a0e469ba649","size":338,"data":"","first_seen":"2026-07-27T04:48:05.56149Z","last_seen":"2026-07-27T08:27:57.363806Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":true,"md5":"165d0fc5b4695a4984da1b61a05e4d00","sha1":"aac9fffce328b07766162a5897580a2589471731","sha256":"f5d819347652e959d6fd2ef35d7d77ac51cddfd5caeae13b82245062149f2ecf","sha512":"54ba20bb2551a506add035160f82b02a2944daacc0eba24d40553364c7462bab211f9284c8d4bf8389780881490932705296570e3dc1a2055b2d5dbace4c2684","ssdeep":"","tlshash":"f5018654da269c7714d49186046c5145161841a31d473858377c969c1fce95f1a766dc","size":657,"data":"","first_seen":"2026-07-27T04:48:05.563036Z","last_seen":"2026-07-27T07:23:37.251414Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":true,"md5":"0ab1d0e8dff92edb091e705475458292","sha1":"66acd78fca4188017d18d41d27e254a6852f8e38","sha256":"a4ec23f232710de9d646345ebc806c53767c94bbb3660b2db063d751364b544f","sha512":"89219726b86d587a772e77bac2e1bcd678ced2202d440630afc3657b3bfa6e2e8625816a3c441accca6c37ddd665433306c4fa4dd305f26045af4df733c51bdd","ssdeep":"","tlshash":"d5e0ab3d2c3441959b9240b4c0bbf1383e0730204040c95b88a6886868b0fca6d01584","size":416,"data":"","first_seen":"2026-07-27T04:48:05.564407Z","last_seen":"2026-07-27T07:23:37.251983Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":true,"md5":"c2e07cb63cd64f3be9ecb100364e72b2","sha1":"1cd82be87be260008810b9f21285c32278a2192d","sha256":"53f065ff58dbf53ed348a3c44cd3954c46e2ff7af3f5d1fae90a08965fbb88a7","sha512":"3a34625cad1d65e0ed4d1872398fec7f8e9e87bf5055443f5252341fc9f7be7c097c2ca50aea40959df26a521b4c657657228d82f7dffe53c9b4a22e9c152e9a","ssdeep":"","tlshash":"9701f99969f704b4cd4af03e47be12a92375ce071405e6123d5ea6225f44a51427dff4","size":719,"data":"","first_seen":"2026-07-27T04:48:05.565694Z","last_seen":"2026-07-27T08:27:57.364265Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":true,"md5":"cf9c551ae01e7234c72a521fc934db7d","sha1":"1587c10cd845153a4a7e41383c79d41b9810c665","sha256":"409f187665726dfdb4fd51bd27458935490343390dea864fe677f25b4648f5a3","sha512":"c2a9f4b911ee9c521b114fa0849c0422b9ffb9d060bd7f6b4d6ec7fcf0457840712514a0b6016bd72611fe994ecc691918f92077333055b832017c50a92e5407","ssdeep":"96:1YK3SHKK5ISfqWeh2u5J9Zp1VJ5dHmMkm/mum5mfmjmXG:1YqKaSfqWe0wJ9Zp1VJ5dG+e94+6W","tlshash":"f0819c1874a2a0ec64351ba2e7fd22163497e4d3fa23c0023e2e55ca9f45a1175ef9f7","size":4199,"data":"","first_seen":"2026-07-27T04:48:05.566914Z","last_seen":"2026-07-27T08:27:57.364714Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"42e34d43963ba5c8f37c775b35258a3f","sha1":"77848caef3f422b34490fbcc9b420a2eae91e973","sha256":"4bca020551dc54855ef72cda3d88a25ac010c32345bebd8111e1d884f56b1dfb","sha512":"1d102717114d2322ba1fd3ec6fab0b9da9bc194793c340ce4efc56611ac5ea53860b13a04ec8c3e20da463da1c752b9254516dce5bc499934db40f301037ea5a","ssdeep":"","tlshash":"8690020da4210201206830c4fa8236426c9104a04f099c100101d81061c910bc8556df","size":46,"data":"","first_seen":"2026-05-25T20:24:44.282834Z","last_seen":"2026-08-10T08:00:01.12116Z","times_seen":4594,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"2d411354f21bb22b65f55d8bfad14f6e","sha1":"0a0a24845eb1cac5a48518e1bc5db6e3d5dce792","sha256":"cb1426008557b5894157468472242e22bb84d186d91063e50456abb38b79ed23","sha512":"f95f53d57cf6b8cd06137c700ea9f82b2342115f8ac40630b9fcd57322f6e4d42e6ed7ffe48e64c0dbe39388cfb9f76813d882fb40b9c5504cf0e670ab3b28fb","ssdeep":"","tlshash":"1d80002080a00000a28830c2e008002c3838c3320a8022c0838080028082ae082e02a3","size":27,"data":"","first_seen":"2026-07-16T11:36:17.999846Z","last_seen":"2026-08-10T08:00:01.121684Z","times_seen":3181,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"77ec8df4f6981561c347879f3f42897a","sha1":"6a27847fdb60b0dc6719a4c96a9ab4dd97c9e831","sha256":"1a2a2231e74506965ef2acd38db6f4aac0b617b19cbe9e531c0335fdc9eca18d","sha512":"3c5e401f6b0a0a72c1c768ddd1e2dcf3c70404c181c362f57ab5a5f0f9c7340c9256914bd35170dad9e03b3dd89f973951d074f78397c5cb4c463e0aa69fadaf","ssdeep":"384:LipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4Q30:eNogFbLrX30","tlshash":"d9822067c80da32ac456de26bc7bb602fc2e075945b529646aecc86c04c7d53e30bb7d","size":18674,"data":"","first_seen":"2026-07-27T07:15:29.054005Z","last_seen":"2026-07-27T07:40:17.80263Z","times_seen":17,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"8062d232826eee4ffac1e152a5142514","sha1":"1b7f2090ebcfc1380f56c34dfc4f294c7301605d","sha256":"ace81cabed19b96885e6fec0ca99bfc73b71b6ad7df50664f92e68ca7281512c","sha512":"4e11703f66d5cb936d78dc2aca12c94504819135e1040189ba4675f1c0b5c1478ece5ca2f02d7c893a38b341f34dc318703d6d7a4c51307c031d5384676f2c01","ssdeep":"","tlshash":"78f02d7c1403dcf784fa1082c6b8e2c0c653856aef942ee123408ac2220ebaf02b1bd1","size":651,"data":"","first_seen":"2026-05-25T20:24:44.288837Z","last_seen":"2026-08-10T08:00:01.122662Z","times_seen":4751,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"f103cd93b96905ea7d90bf627d9ef69d","sha1":"e37e19173263d551d84957d033ef7a1a30e180ed","sha256":"30455182bf8db66b87f96444e3b4356eae13954eb33b29a9636817b091c7d25d","sha512":"8610576226b73656614eb67bb72368cab9d6d3834045eee7eeef1f25cea0d1c245c08cc7e15ef0d13a7a854d676e1ed45115d0c7fab0d4631d1b43caeeeef526","ssdeep":"","tlshash":"0711880a0135042a7ae04164b6362ef5363d3add4e43d6fc9b857c0872b3a728d50bfd","size":1016,"data":"","first_seen":"2026-05-25T20:24:44.28983Z","last_seen":"2026-08-10T05:01:44.496128Z","times_seen":647,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"569704bfe6c1be70bea96e62c95d10b2","sha1":"1ebe9e3483f15928d18af8367a993cc1fe6f95f6","sha256":"577136df8200adf35699ebd443ff95aff588911e5451a64e7249b954d496ab08","sha512":"27482e4bae245a82e789bd6bba1746bd03fc6d2916045062e35f6bd7d8496ff54720271e9b16bf9c72972f08d7d7aeed33e1c0e2d0ef905ea9253578b05d44f2","ssdeep":"","tlshash":"6c3150f9e42264750ad310d832b7c7aa3f333595f1c72552c4bcc08a15a6dca24a3eed","size":1547,"data":"","first_seen":"2026-07-20T15:50:49.068553Z","last_seen":"2026-08-10T08:00:01.123668Z","times_seen":3057,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"d080aef1e28b9ced897f549e49b13916","sha1":"75abf1173fad589cc5e35b388fa0a3067188e157","sha256":"cb914bbd5f3df056d111c04f26650d699d100920c24e13e5e50c67ecd1de4e93","sha512":"746fc099bb9ed96629e79d592c09b25bb38203a52cb1dced0a65325ff096b1ce9f508f5f2a26570312d75569a6b56be634501e6fa6a59c2fbde67af8418caa04","ssdeep":"","tlshash":"48d0a754212b612234dc3054d62ee6d1f5151a922fd310ebd7992018b665893a9547ed","size":245,"data":"","first_seen":"2026-05-25T20:24:44.292788Z","last_seen":"2026-08-10T08:00:01.124161Z","times_seen":4757,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","size":34195,"data":"","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-28T07:05:00.680835Z","times_seen":1734,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/61495.37ee7d182cf84caa7681.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1101547aa0a5f1429817d5e491a4287b","sha1":"0bb8f75c93fe64e583a0bc2f0859ff602e1d94a7","sha256":"1f91a265530e9f4142c3b135c93094b7746dba4d3ff42b4ba49d8690c98c7597","sha512":"9f661d05439bbe5f87c7b8580707ce9d517a82a994773de68693c0ba9d653c3bf2565b248d08253aecfc1781e4706198fc30eab02cf96336de418992131d8497","ssdeep":"768:VbtJRlpt8ZUxC6nEFMQQE0rmtel4/0Q+xg23ba1Sj7Fk+1/1NB2VVR4m:VbtvCZLu/004/7+Gsba1SaU2F","tlshash":"cbe2e55632357a3601ef508b58fb0043e23a64486114992dfc7cdeec6ebdd8a623657f","size":32657,"data":"","first_seen":"2026-07-25T03:24:57.451516Z","last_seen":"2026-07-28T04:58:41.853687Z","times_seen":292,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9270.32910635bb39c686f5be.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5539ff4455921fad5c1cbaab2a5f3bce","sha1":"1073b48b55f2cd1b7d3fa453240d3a291dfd463b","sha256":"1f30073c128d18667a732ed75caf7f398da1accffcaa0a3f31bf098b68158c7d","sha512":"0c43ed53a7646dae59e40f446fe718b9737fd8e7a496ec59d228934369a1e38d90c3b9dd61a21fe12001706bad97b7bcd580f3b48b18b5626df44fc3632dfbdd","ssdeep":"192:TdqLHSioSpIwtLAZ9ZZmQSUMesX4decPvT4L27UXn4Tmdl6eFU3KT0:ToHSioVwtLAZ9JS8s8eYvT4L27UXLMeK","tlshash":"83120a85b3643caa91da1ad479b1088793137994a02bcde8742c65ff299cc27743cb7d","size":9675,"data":"","first_seen":"2026-07-17T03:30:51.183942Z","last_seen":"2026-07-28T06:17:53.613421Z","times_seen":108,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/jquery.easing.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"f72d549b77c4843695b0303ba605cb3e","sha1":"6511173f31ad323ccd1c3b717325327cd2cc7a4a","sha256":"57541845c7952a2bfe4f763b1d16e1d3399993ba27bcb8cd2390177bcc356075","sha512":"96f8f9bc7b7008a36998730f402eb79f213a9fb0d1bf2d9b23182fee6700912a97d910643f526dff543a454464723951819e304056aef0bb10b801ec29b502a8","ssdeep":"","tlshash":"fb81d14a7ce57066c347b3708d0f4009727ab91b85bd7d26740c19a4af1963e83f6ee8","size":4023,"data":"","first_seen":"2023-05-18T18:18:57Z","last_seen":"2026-07-27T12:35:10.434891Z","times_seen":78,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/95244.9da889c136d2506a3d81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b0a9dc3ad75e03716e75c6158c6665eb","sha1":"cc52478acf48fcf65d13e1af2f686a604445c191","sha256":"4c5253886cb97a3488ee3431d937a5bb8ba43a1d9e958f64a58c74058ee89d79","sha512":"40b53df94ba71d18618cbe094f77f3272fb81b6d85327e7180dc360e098dd978c5a43d011cd4d7d200c9e4960019921ca1ae6049edfcd9c72b60d66665a07806","ssdeep":"768:CY0sz5iGWN4Y9mdwv5ltpbE6n6GVfW5tXlGh2rIT1E1ab2IX73BMuLXggXUDvHLA:ZiwihpQehg5tXlGAS1E1yVzPIpsh","tlshash":"c203e775f2b2707122aa4093c8bb015387ae05fb5045112cf76dd5de2b6dc59fa3ab38","size":37849,"data":"","first_seen":"2026-07-23T13:54:09.077158Z","last_seen":"2026-07-28T06:17:53.340954Z","times_seen":309,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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"},"introduction_type":"scriptElement","is_inline":false,"md5":"8194369d30f2aef481ad9b0e75ee118e","sha1":"37a70e62467216b914515bcbdac9df29330d6ae5","sha256":"44ece61da7dd37300e68e5b567453707c97eafcbaccfab2e1cf62f6b05966071","sha512":"4371d06b7b2b3c3742f8395c8c142405ef02bdfae5eb8f48ebb626a5ef89ccac5e87891a1a1806d59bd827f4c45bd0043bcb15e4858bc5264022119f93954367","ssdeep":"384:sN6NujCBUjpEQ4aa20p3kHYB022b2jfMwttlhp4XYzNn0+fo1r7K/A5akkVC8WGq:sMsjCBmEQ4aa26y22b2jfMwt1p4XYhDS","tlshash":"7492e9133394247b80ea44eb91fd4647b6224888f6828818b96ccdce276ddd935b7f7d","size":20040,"data":"","first_seen":"2026-07-23T13:38:20.453766Z","last_seen":"2026-07-28T04:59:54.483028Z","times_seen":876,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4a29e78f7139204a8e4159e22b4457d8","sha1":"c9a58310328ae1ad0d2e0fcca742938bc1a98b9b","sha256":"6f44e98c09d8a5d97d1a874f53c5b793b1a574f733d209dad573911990ed412c","sha512":"6e07063f10462d08f62ed60257251c3083cbcf72fb69a4621dab4b090fe83d73e91ba23664e96011a1171b08aa2cd94984dbb7095b4d752d2da0f749f195715f","ssdeep":"384:DuiNnqiEZQep9G6Q+4DygstN2KZZL3Rj41wA1ggfJYXQWbyvItjIVnZKbVtO:DjheJQ+4DwN2YYpiXXuejQyo","tlshash":"3ec286c9b6d1f0a552a36561803f214bf13a3a65349ed090d722e5e0bcb95ae8137f3e","size":26560,"data":"","first_seen":"2026-07-23T14:00:31.735168Z","last_seen":"2026-08-10T05:01:09.773329Z","times_seen":245,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.99124.7129e057c7444df25994.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d49ebbbc471ca07bc848bb880bb26d84","sha1":"20f220b0289d31bbccf6998d62734c26918d3d03","sha256":"fc21b6b03e6cd84b3deb28a311ba60e13595285aed15bc3a42f677c2d120e278","sha512":"181c814b0478736fdd60bf6d9ac6b02c54c72831c9e577659b4e9594ff60606ffef4a36c8cc5c951778a81751afb88afb907d9ec91a872f926ffa2219ec7ae79","ssdeep":"96:vl1zur72uG7PtLkKke9KRIKWOgIQHWokY/CIXni:tZur7fGjxgRIKQBrXi","tlshash":"7bb16513e140e1e61f72eb21b349edc4b8f4b19162f2e4c673596f65c11bc646838b75","size":5444,"data":"","first_seen":"2026-07-23T14:37:54.495318Z","last_seen":"2026-08-10T05:00:33.767219Z","times_seen":229,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","size":5966,"data":"","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-08-07T05:09:59.618027Z","times_seen":1283,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1af372c8d2679eb4b4723ab88e601eef","sha1":"bdd83e7842c5a9012e55084e71cd31fdcd5f72d6","sha256":"7cd30257c9448f2910216296d47b421cb724c4657dd6b6da06196e9b6323451c","sha512":"2cbc64c079104c42314e0475923e68a449456822936c0c290ef608f65e01b8e76a18727eadf52df0f2fc73b20c0b817c4287d1b42ac30ce2cf06eaf5cb25079d","ssdeep":"384:533u26UHCVnsa67bSIVIZjgeWDGu2JL2qlSUOTeEX:peEwnsa67uIVEjHWDGj2QSUAeG","tlshash":"c572c6a5b1a9203a11e78667d1791743f231694db003479cb17e3cee1eae8893369f7c","size":16260,"data":"","first_seen":"2026-07-22T17:32:48.037533Z","last_seen":"2026-07-28T06:17:53.598563Z","times_seen":66,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/57093.26600c93b6171d99b700.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4a5c4beebe509ac3027b79744b905303","sha1":"7eea8e87ac7a5ed1631873659a90a89e9a2cf256","sha256":"212519cc555451f5eb9173d72cf1b953de12bd91b643471be5673492e5fd4df0","sha512":"0c8c00ea4bf02423fb14f74c67dae3bb80ee82ec07ec85b67af6c9a158458956589e013607b8a608b44a881e754cd710e6ebfaf8a8037aab14d3877b9ba6d90f","ssdeep":"768:3KHYGd+QIbZ15yDJjyD272qzGJOeK6+ZJT:64fDbLoRT","tlshash":"5bc2fa867011b1ad92e789d681bf055de33f396c384d4d70f2b8d8cc69a7958e326e0e","size":27782,"data":"","first_seen":"2026-07-23T14:00:31.452652Z","last_seen":"2026-07-28T04:48:50.494068Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/owl.carousel.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"0bdc31d5282e381c8abcfcd9931b7f46","sha1":"4e642ebe4ca43cfa350f00dc6185306513dfe9aa","sha256":"df9b0ed781776fcb62e9a900f10db70a978f0860dd341369194b2c9dce3a1092","sha512":"8a2cafdeed8bb26d5ae0a23dba260052343d80dce226bf3db975fa65b49d351041fe6216ff19674b2289b459f3a6e43268916b5c647e9f7defbea08b8c36c083","ssdeep":"1536:OAkKTMmv5bvBbMDC3aRH2d9rKKk0Ryum61:OAkKTMR4zcb61","tlshash":"f7531d0aa3b0282b8677b3719e7f8a06f236062f9151585e7d7ca1dc1f39414467efb8","size":61379,"data":"","first_seen":"2023-06-17T17:20:00Z","last_seen":"2026-08-09T04:43:01.363917Z","times_seen":277,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b387ba60284a5ea232d8b146d9a92222","sha1":"b0e7409a69216356392ad22b0802cfb4f3264701","sha256":"ede33045a90b91e44e7924729039086ba1b6c0c80af85a0270d6bfbd73b16016","sha512":"edb4fe9a9cef5244ac53909f955bd5b705ae3d7c47b9b1f9a4324774d86b8c6bd769cc14e2ed495e65651937070330be7df4571f581c873e655b1782f152180d","ssdeep":"","tlshash":"b731f01bf01032e9aff2a232725aec70bc1474d810f3c5c95ab7b716da17e6c4976688","size":1786,"data":"","first_seen":"2026-07-23T13:54:09.147041Z","last_seen":"2026-08-10T05:01:09.721755Z","times_seen":493,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","size":88966,"data":"","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-08-10T05:01:44.114381Z","times_seen":2726,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97472.e8195405f99055a83c6f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0813d0ea841f3538f1f27a58a88cb1e2","sha1":"5d7c725abcc841d95866532c0d0d9d124f9138d3","sha256":"82ac84224db5ccb6f92b82013e4473a579ddf4e881af126a3359ef556f33df28","sha512":"668be712980917e4cc39f91fd0fe150ce81cfe2bb4b72aaca4cc455fe6da6d382006c963a1bfa288f628a3a80ba1e1fd9dc921af4b34cc205dd127cb231eec04","ssdeep":"768:OzYrfKPQhauyuhs+66SY4n3sWvt5r96tY9hu+3fHxx+TS4YLTnW3H5uVHevzBAEb:EzsWvl8Y9hxXa","tlshash":"095379d8c5bc1d8c75b7d2c4bced7655448c3f13986286b0f8bbb819501abd829b9cb8","size":63316,"data":"","first_seen":"2026-07-23T13:54:09.171546Z","last_seen":"2026-07-31T06:34:35.473115Z","times_seen":383,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","size":19935,"data":"","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-08-10T08:00:01.050623Z","times_seen":3721,"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"},"introduction_type":"scriptElement","is_inline":false,"md5":"eb8c592becd98b3361efe0b94719d5c6","sha1":"a0d1ee8521cfba7aa407ac50937aedd5f39bf878","sha256":"647fb8708ead9f5ba58a75d3b5e6d45f3df1f26a67f068d19a46752de40e327d","sha512":"27e850e1b55df1bfb523a33007db88c5bf3fca11c34b9f448fad508275031d48062410c7e49cd891d38f4058b2dad657828a8ce9f5a047b24a8804c477a90feb","ssdeep":"768:Qy2uEBDBP0oAifg+OMQjn3FMjhYVwPn9/meP+Tjwqcq8xGQKpb5dg+xU7wbwpEvK:k950TT3WOOP9AsqcK555x/dMDjcXRdH6","tlshash":"f4f2f917f1a7b46693db809ae4724213a33c18013d05486dbabc9ddd2a3f942b663f7d","size":35736,"data":"","first_seen":"2026-07-23T13:38:20.417189Z","last_seen":"2026-07-28T07:05:00.7004Z","times_seen":1555,"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"},"introduction_type":"scriptElement","is_inline":false,"md5":"0b8a552598142ab8089cd94992779448","sha1":"87a17e3637b405af0a42d322fc032cfd1da668b2","sha256":"22e612835027b9e83688180a91ed31c88f1ccb25ae05dc6866015bd73cb709a8","sha512":"3117f337cfd3fac0235478fc1c3bed80263bf95c521e7d287c8d86eada785db4a298db00b8523d0c3f22c5bced964bb3c73d3b355fb4211325d32ddc24fdcb10","ssdeep":"768:FbBK1Dsf6MP7AAKZAlrHp4Czh1HBvJ+vmdv2cKWPUqz+1xKGDZwYzYAlFKVGjqtr:UsfDP7ADAzlRBvJ++dv2cKWPUqz+1xK9","tlshash":"52d2940ab26054a711db01db4077405bea3fa6e9a04185befa688cdd0b6ee4c3167b7d","size":30098,"data":"","first_seen":"2026-07-23T13:38:20.531806Z","last_seen":"2026-07-28T07:05:00.687917Z","times_seen":1381,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e07829b9c2f075e0d79539e09e8ef5c5","sha1":"c0ecb7b2378f8c8f6bb127ab7ce32a33f2867147","sha256":"de200e3269223b7eaed298c26e6c4f1aa89cfefab594c21c75d8fa254a074888","sha512":"6caeee99a9d13d9694e591f9382f08303b729630991f2a101d67c7c6e9ab1aa3679a35fe72b8511546c1ed034286f9ef93d5b2e8878aeb902fdbc675fef15d33","ssdeep":"768:35sPlyn1pNoHx1dy6DXt6MfuD92GrAhihIo0Z8Qa2L/aQmvYsYIlL7GL4EUdBkp4:KdFrbPfuD92G8mcZQ2L/BmRdBIJNWGHs","tlshash":"5103196ee220585d13c301b49c7f2957961b50e5350a4becb2bc9dee105e9dab633b3c","size":39300,"data":"","first_seen":"2026-07-23T14:00:31.655738Z","last_seen":"2026-07-28T06:17:53.414435Z","times_seen":119,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59649.92df5c6660570716c83b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"57159064a167c575b3f42cfe243c8b4a","sha1":"2fd63df6a6219555e07b7f46761a70335b041f7f","sha256":"9507b55a5faa7e958e1e3e4aee4b5f32e94cdbf494c098c8b09ec3d032f0d99f","sha512":"415cd8a87e36d006cfb494a437457d8cb15372dae8dba44d8672272bde5159c57db31fa519cbb62c5b5ae1fc709ed3d65e6fa3fcee70b0920f0b34a22e191089","ssdeep":"384:1n+y6T2SHX//Hz6v6eeR3otnEGIMLwqIhqK6EyHv+FxjLcyJao:9+y66SHX3WyeeR3I7Lw5hqK6pHv+FxjP","tlshash":"405286527293b8f6e1b581e358740503e66d1dcaa881958cf7bc0ccea74de48b274f7a","size":13775,"data":"","first_seen":"2026-07-22T16:00:00.524854Z","last_seen":"2026-07-28T06:17:53.620683Z","times_seen":88,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97272.3bfbfc8daabca040cf73.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c50864d30ec134dd6dbf5614f6b0993","sha1":"e6f4e061c6b41ee25122eea9292ee1060bcbf290","sha256":"781e57f4504c7b485e77c0196c82978e6e2b63b503428b039f1ea86e3d3d8c6b","sha512":"4fa1d6e1afa37a9a925a9205354516db356d3db9d7d48297be0d7d04a262559ee656baf6c62318da568ad9c4278b2022f50b58265cfae5ed55c87373ef41a88c","ssdeep":"3072:AmXiQrx9XT2QQFJGUY/yORpn9VNpvNV7lzQQ3+EsCfEbNxYtyphoG:xlT2QQFJ1QVpn9VzvNV7lzQQ3kC8rSsz","tlshash":"d2e3e69272a5749683b901d54cf44503ab4d1c8bb84a888cf2bc1cef561de5d32befb9","size":145548,"data":"","first_seen":"2026-07-22T16:00:00.509283Z","last_seen":"2026-07-28T06:17:53.365018Z","times_seen":88,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/jquery.mb.YTPlayer.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"0fea33486cef3e70a8fbdb1988fcb02c","sha1":"ac88535aca62f4a5cd2c8118cf2d926fb68c7c11","sha256":"5ba460ce0e9f08ad1e0c25ccdc6bfc440485984c2934c6f43f483d3324de54c6","sha512":"c2b8753dbed7f218ced4039a196ed98a53f2bebeb1806af5a147f438bbc42e061161291710bfd7d52d6c57b2ec55205dbeedf03d52b8446a3691cc2ca047f2fe","ssdeep":"1536:QMF59EiORs0eEl0agBW+5Kd99V4ho2z/eM+nbs7/eXX:QMF59EiORs0+agLh7NAX","tlshash":"5b93600e559d502dc6336b65b47ac32cf234472752438616b42fe158af3e42fa1eafb8","size":89783,"data":"","first_seen":"2023-06-17T17:20:00Z","last_seen":"2026-07-27T12:35:10.478215Z","times_seen":52,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44911.fa61d2a274d4224434ca.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"05e4055151a861bff8e38a76d25fa21b","sha1":"9f8bab99df4104fde7e4ce7e47379db991ae53a9","sha256":"1b602280ac3b82058c7577fff06841ffe0b4fb035b22d4aa046119a37ba46376","sha512":"003001c6510b718a9e57af8daa9fcf322e0f91dc14aa8c1397abe4328d8dcc7c27ac342595f1acc141b47b471420a8e8bd64536cbc0cc762c0bb7aedbed00596","ssdeep":"384:KlWkb+CeVhEy3dhGQZ5mvjqnGilhLgvmRA7R6VTc6w6DwuRGijR0WwnhbR8L+lct:KlWkNUNhGbjqGilhsvme16VTc6w6Dwuv","tlshash":"faa2618877c2f09a02d665da943b040bf33d1c9d25187464b391d8d96ebe56eb23bf38","size":21512,"data":"","first_seen":"2026-07-23T13:54:09.044064Z","last_seen":"2026-08-02T16:40:36.924172Z","times_seen":416,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"c37495f6ca72950f28ad5a6a79a0bab4","sha1":"b23429fd2dea7f2557a8a68545083949759c3ad4","sha256":"b4511e0c850bde295127e6af14148f016b9aea35ea705cdf3106a5a1edbd93b8","sha512":"ddee6e0c9cd60676d9195e2fb635982af76e72cf188acf0f42ba7ac648dbd5acc579a186a2c51fb5ac9d5e758c5289ab285ea4e80694b19f70a1715a5707b77c","ssdeep":"384:L+x0EMPsBRgXD2PTmdN2/5dQ1tHSJm/BtU:L7E2NJuJmI","tlshash":"2cc2c007cd96b099f3f6e24e0eb4d50c2cb453495270d702be868e289ae5ee69d2f315","size":27626,"data":"","first_seen":"2026-05-05T10:36:04.872376Z","last_seen":"2026-08-07T05:09:59.550994Z","times_seen":4614,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"02705aa805bbac9bccc99b4d5b83d9f4","sha1":"78a6115784af9125bbdcffa02a4e496b8927e73b","sha256":"7ee5f3a19f5fe49954db3d9c732c7ec564831ce84b66ae61abcb67931f501f2a","sha512":"1ab4eee9064f0fd0b6970b0925fe5ba110fc2d334cb02d30864795e52bf9098a3d49ecd831402b6ad990e5f8c5a697078b2aecacaced188be7ee1e1d95a3f765","ssdeep":"384:Ab04y76xACAdQlDbTQ7ZiScKevr/0XV67P9kfZv/H6eS/Vns1Ln5Ind8ES:6y76xApdQRbTQHEj6xvyUGd8ES","tlshash":"3352a731b1a2bce623b410d6afe8069e856a5d50a45e6cf8f26cd0f71cd5509173db3c","size":14451,"data":"","first_seen":"2026-07-22T16:00:00.386345Z","last_seen":"2026-07-28T06:17:53.447505Z","times_seen":89,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_screener_v1_widget.9dbe1b28214d7a1471ba.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"078c641a9165940f92f650670dcfe56c","sha1":"588a588b3de873254a2ca6be4975e9a456d154af","sha256":"bf1232ee83f71f223d4d69f4ec7b7ffc474385b0bf3e2ea817a41a51de2fdffc","sha512":"d70d6ac8dc2d5315cae23b5ad2102e5968136636834d12b08553280efe2990f9bb1ca243bb1cc9bcee0f291f1db4af42d8ef1716326c2ca0de1643e12bdfe1ff","ssdeep":"768:2O2u/W/ww+vFmk6+uoYOgJV3MDbos8ZJh9qWxZjcLY8Z4NqSY:2O2u/WIw49gJV3ebo9h9HrD+7F","tlshash":"35e27ded923cd6b336f12da96d7a9863f33c24237c5980d49393b56409a6ff4a232513","size":31926,"data":"","first_seen":"2026-07-25T03:24:57.413219Z","last_seen":"2026-07-28T04:58:42.081275Z","times_seen":293,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.21784.3a87670ef41edfdc885c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"68b75b26be0b7fe9cba6ceddf63188df","sha1":"447c852987cb0e880df0376f8a8e0e27c60cd3d3","sha256":"0b29ce96df5aa6f662415605317e6649052164faa030d408343458926bfcf91c","sha512":"aed77643d5947482c1d0f7df00997cb11568215d6b283085e572ffc9ec7a62cb10f40e21a1b6f166ac471743f8af4969cdbc41eff7c9365696e28d08f21572dd","ssdeep":"","tlshash":"c851fe27d181c5e92f31da01b389ecc1baf0b54514f7e0cb778aaf2ac15bc512928b75","size":3144,"data":"","first_seen":"2026-07-03T16:22:04.594265Z","last_seen":"2026-07-28T06:17:53.434777Z","times_seen":186,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"56b0517a2a0e43c0da91d29f067965d8","sha1":"cc29534e9373c38fabce93912d78c4f77387d041","sha256":"f05ba56fec95e4a8791aa9578861c23f07d46d60a98a78666a2670bfcdd0d2e5","sha512":"3eaec55d02c3544d9aa01a60122eac994af3c4f6ee9829185ce6c4ad79ee4a0e55932cbb67f11214a8e0021ca9cbfe4533a8e07a2af1fb1f2f7dd3b639f0966a","ssdeep":"192:/RR7jTjtKAbbSZcZ0hKoRAJ6LzcWagOzW0+CUc8BJ8Ij/cW20W90tcoMEd:n3Tjdb2hhfLMzP8z/bdzZ","tlshash":"f632c9ed70a1b0656aa328aa803f0406b2bd252d3c4e8874b695eddd35fc54c913bf6d","size":11334,"data":"","first_seen":"2026-07-20T16:56:18.262491Z","last_seen":"2026-07-28T06:17:53.475158Z","times_seen":97,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","size":138370,"data":"","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-08-10T05:01:44.30606Z","times_seen":1436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.89618.e8db19d81376d486e288.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"846e435a133db84eb03e3413f477fb59","sha1":"4a30726e0dd97d7970d29e186394d5084ce62280","sha256":"dbfb0a54a4ac5aa54a0627d7183320ac1e11932f45a1b9b0fd3eb045d961c53f","sha512":"81cd04d2cc3522d75b2ac97f95540e5709fcf6db3becfaa513ba65a28ad252ed5e7242ef81861ea33e752ade52444aaaee1028e949b893e4207a076e31064b0c","ssdeep":"","tlshash":"bee0861fd071e9bc3f36864436619cd2b4a435d601f0c2c773c4ed40e0229ec1c4465c","size":351,"data":"","first_seen":"2026-05-05T12:17:23.674052Z","last_seen":"2026-08-10T05:01:09.778745Z","times_seen":600,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/26118.3f4b0e5de045d6bd8295.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1df37fb14b509991868640e93d196bed","sha1":"5f505db48850be97fd31188d307c0ca784a40dfa","sha256":"ed0d9ccffe67dd588b5c48ee432f2e2dd44b6cf6cfad2f9758b8301cd0d8520f","sha512":"912b321be9c0a010a1c7329216e9ab2c519ffc0ab565211c1eff82d6a9ad052dd9a608f210d4946ef10e20a2d65e45692b0f2ca44bdb5810354db30cd40ef97d","ssdeep":"768:iDUhaWDzyJMn6lh1lMAf0BokL0ZBWTvf4bAGUvS2w+Ntd87EKEV3GmXEKptPPFb4:iUnZVrXEKtql5suJ+m3SJaIKoCVmG","tlshash":"d1533b907354a29f53d3e1adc63d8496771a60b7b80f4a70b4eacee8116b47ff913908","size":62062,"data":"","first_seen":"2026-07-23T14:00:31.462637Z","last_seen":"2026-07-28T06:17:53.619977Z","times_seen":108,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/91944.cd51b48fa4d742a11726.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"21603b1ea6d66be9e85aa0d9d193067c","sha1":"5dfac46409e281f3078e3af99e4bff3c1a5f0872","sha256":"9b43f56adbbeaa987486fbb6cacb11cabfc1b3f3a2dd72779653f53c856e5019","sha512":"cab7c1b47820cec2b3b2a91830c3ab740452d292f8365c4ddcbb24c933e951935088f8e65d6b05cf26971d02ca63b8ed69349566da982272c09dc14fad9cb99c","ssdeep":"384:lciP7w+YSd7NNsFs9s5QFdP4k3I+0rZnPb5X9D8Tq7dQYQBcOu7+sP5MgVzZtcip:lciPU+YSdHs0sJjFnPb5X9w+7dQ/SOub","tlshash":"b792a5913161697a53a622ed6cb11a03a749680af80e4d8cf1fd49ff685cc0e327db7c","size":19889,"data":"","first_seen":"2026-07-22T16:00:00.510452Z","last_seen":"2026-07-28T06:17:53.460776Z","times_seen":90,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/45277.ec6e36193d139c5c5f7b.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":"e18907ad974965570fff5fe138910b3e","sha1":"42a83b0c792ca4963052a4c61df2709d9d009ff6","sha256":"ec78fef0e90dea389a0c9b780256ce3c56ad02e3dc55e8821641c312af8f6f82","sha512":"e5ec15969c1036dbd81bb3f2cc8eee0c72ca47617098bacff7c655a4f45e4ecd8c7910ba484be4a0f780329316de5b0b67c8cbe7bb41d5f259e6dd3deeb1ddba","ssdeep":"192:j/f5hxzIhzOTre4LiZa6CWwvIe1ySWu3XXfBIrbgouzQBFivV+GRe2t6RufLKPXZ:j/f5Lz6zOTrMZcW62Sd3nfBIrbVu8BF1","tlshash":"7132c5a5328240ee53e617d53835464b9314bd5b39cb9ca8b16c58cf286e88e36fd738","size":11144,"data":"","first_seen":"2026-07-17T03:30:51.165572Z","last_seen":"2026-07-28T06:17:53.40961Z","times_seen":111,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/mixitup.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"c6277129ec6fe65cb8fd5aa6df3813d7","sha1":"085520055bafb1cbf69fb95071ca4d92cf6a6ad3","sha256":"9fa7277299b7a3b4fe70ef6ade6691d04b9ee5d3cfaaa4a728fd77a48a54e6f8","sha512":"87df288f653fa3102d5611afbcabfe50d2f6b0a8657b09024660d329c6684be15354e40978408607901c370d1d26af281f5cfc80f817f409e6bc34d87b7ba25a","ssdeep":"1536:9O1y42iuBCUsMsS765wA0Rd5zGUEFZXp4lx1tVZPO/mHSbo22iCm1QrMEcpnJQZ5:H4DCCKO5wfKetEl1QjcpnJQYHs","tlshash":"a2c3b6453ae43ab689b37326992e8f40f63583ab274244577e3c54584f7bc0416bbfb8","size":121918,"data":"","first_seen":"2023-05-27T06:34:22Z","last_seen":"2026-08-01T11:22:31.044027Z","times_seen":248,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/wow.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"a28a92aab28dc8b9e497fb6001844ac1","sha1":"d2776569bcd3455b5f3b86ec6c43cc16746519d5","sha256":"f878241d11f6d0431011224e4d33f0b3d87486cd593ff0d77c530acdbe6acb3d","sha512":"9af304e38910ccefadf29f853c650c5a2fdb4c76c75cfa9ec80c0aafceb95e01e99225da5f82d332f6c97857bc96d9a4fcf6c03caab4bd5daaf3a28408421fb0","ssdeep":"384:e9rUWUsfWmJNzfR0drygf5SIBEaiVlNsnOXiok66yBE:eFx7JN4RwVlNXXioqyBE","tlshash":"3062f34ab78560669a77b33ace6f8505f932463b2164cc9d3c7ca4d41f3052582b6ff8","size":14974,"data":"","first_seen":"2023-05-21T19:55:28Z","last_seen":"2026-08-01T11:22:31.031821Z","times_seen":262,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/jquery.countdown.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"440d5c30fb315bb0e6d04ee34c7496d3","sha1":"b238641648af7929e5ab81a7f10601a13d500900","sha256":"387e4ceaac3c13c791965a5c41bfdef9261dc2846db72495a91670c31c0cef95","sha512":"5d27b6b6078a2c2d735a66e04b15f13319d76464e25569bcdc39ebdbbc8e3ef6b7c11d8ef92602793ccb8b52b430f12fff5010d45a7d68acb2e53595990a8ced","ssdeep":"192:rQHrSpepF9zo3gbTr/oi+PWPrRxdJJCmhkgJ5NY9:rJpe/9zo3gb3/T+PWPrRxdJJCmhXJ09","tlshash":"17e1314eb3b11262657eb3255dae4014f236e71ff092445e38fc96c82f3246854bbeb8","size":7388,"data":"","first_seen":"2023-04-14T14:08:00Z","last_seen":"2026-08-09T04:43:01.296808Z","times_seen":61,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/7504.1288d1d28b2f47f7ac43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"185306b73eb6156ba89819ac42f09043","sha1":"0e91a337a58188b9760881d3eeb271cc4c8ac2d0","sha256":"4433e6c002fc34e6971b340b447cb59f9704a935f8ff79457535ae6c04f2a91e","sha512":"62e46a9de161a635772e81ac6f569c8a85bcde20c9143b5dbf3fff3d0acc7a668643a351bbfe42e981d28861648256d6fb72849990fbdf3089e0d8da3a378c9b","ssdeep":"384:t0ohD1L+Hfz4m0ehDLL+HfzLNVEGdmMDPHt+eiWxyATTSXUaaexXzIDyg5nAWhJw:t0ohJL+Hfcm0eh3L+HfdaGdmMDvwWxn4","tlshash":"3aa294c83ad3f0ea926721f514af14c7f2392e666c9d9660c15de0d87c3602df12bd6a","size":22216,"data":"","first_seen":"2026-07-04T00:11:22.529436Z","last_seen":"2026-08-10T05:01:44.374081Z","times_seen":463,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","size":43860,"data":"","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-28T07:05:00.665702Z","times_seen":1638,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3552.4c5535183b7a0330a89d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8cb7d12d58618d9e9433db7cf169e678","sha1":"dd2e2830dd9f4f8c3e4000fb90c94712f7315f67","sha256":"e54bba4bdf7867aec664fc0c023a4e77650464bb7e2e1a2d80ef75500363cd92","sha512":"9c9ce4a19d03df706a0fb6495901a15dd961b87797e48e43669a130ec51d4d3788fcd9e251dd54f1560134509553e5c7a1cc17249ad1f6f562d104b6b10d9a66","ssdeep":"192:ETCSGJXJ6h4GX8tWKEN7Nbj61RO2g6OQLgwF8TEz5XnC/x6/v60KjBHAH4yiFbBw:EmSGehtqWNN7Nbj61ROQLRF8TkVNjaAj","tlshash":"ab42b53d719358a8666780e980390b7ba6283980a58741bcfb78dccf46cddd46277f38","size":12192,"data":"","first_seen":"2026-07-22T11:33:41.980937Z","last_seen":"2026-07-28T07:05:00.655129Z","times_seen":1853,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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"},"introduction_type":"scriptElement","is_inline":false,"md5":"7d505e8048a3d56a7c35fec43b942e28","sha1":"7cc8e3f14d3c2bc72667a4b341a18173ba08360e","sha256":"3c8a6537a973cf0adf27e43d6727b986d50fc12ac3b1bf62528b892270b5a901","sha512":"42ecf81a5c530657c264164cdace5abb238353df391c16cb5f4eb18c3d4eea154e934f76f113c9fe8c77cd66d8e6038b288ce213c22f225e959c5b61f6221849","ssdeep":"192:OlOIsbRrYGv5JJjaqRSPoi35z6e5WyoEH6R+0332JtcIKidzTnM:OlOIs1BnJjaq+oCm1GH6etcFidzTM","tlshash":"44f1b89870c9b07653c60867f0735488f23c2550788e89a0f298dcf63ab285ed267f9d","size":7907,"data":"","first_seen":"2026-07-23T13:38:20.472499Z","last_seen":"2026-07-31T08:20:24.716776Z","times_seen":1541,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/jquery-3.4.1.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"51c34d98f17cac95b66cfd1d2a2c58e0","sha1":"1671659ce1558ab53d10fea034a3ade1a1e58c2e","sha256":"d7e1f444f0feb1b9cda80f0d1b35e8b27118cf66ea90cf54a90c9e35378019aa","sha512":"db65e14fa299ac628e292a5d51f214392b4036d580e1d820c3d92d440a9540fdb5446dad23b3deb8d03a43a98c7723bf5ff5a12c615fc75f3cf44ea9bf8bd123","ssdeep":"3072:f3a5tiUG/Kx6dWJxKbAe7fuj5zcS1mHFGfSBmFcRmkV0b4a7WOOX/wMzAnlkJalh:f3a5tGKx6dCxKbZfutzcS1mHFGfSBmF3","tlshash":"d5e37299b6d531369237f33a9e6fc908f277166f12898806797c44661f3181483bafec","size":152478,"data":"","first_seen":"2023-03-09T04:43:12Z","last_seen":"2026-08-01T11:22:31.001398Z","times_seen":256,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59465.8e9c06b76c9d50bc242b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5403fe454468d6f2c1e00620999f84e2","sha1":"44ca84eca9d191e429fa0494fea91df1178952c2","sha256":"5eef084cbffa2f09fa8bade6dc4fa1b128d9fff17b34ac96db26ffa98e512ee2","sha512":"f19deb366e02d700af9130cae13f4430c1bb342048b478f1e93635374c68bc7cb9b251bb3635385d8925ea5caa2b266d8cbbc1884de5efb3d620725a28177fd8","ssdeep":"49152:fzalHraWqtuj0CpRYjjpQ7EGAzOJV43rXOBBNrYqvlpRrslAf9qWka3vxS3+2lBv:mDQ","tlshash":"7b955ca2b2a134ab57e601e558b50403e35918867c07856cf67c9cef28adc4d32bef7d","size":1931549,"data":"","first_seen":"2026-07-24T11:36:48.310417Z","last_seen":"2026-07-28T06:17:53.636062Z","times_seen":200,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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"},"introduction_type":"scriptElement","is_inline":false,"md5":"df08a1dd70ffac4f28fcc3d7dbbe08a4","sha1":"7ccdbd9c3c329f4aa7c79c73e2bb3943ea45ebef","sha256":"db9d406f4660f93fca8338121e3f490d121c0d8c145adf7b5255109dd254fc22","sha512":"ddbd2ec7971bce16527fb401f1a3a6162efc2a827a9684ba05c3c7a2453eac89da95cba33f9f32fce00d8e36547421b0446718bda2cf81251f62240f8a342978","ssdeep":"","tlshash":"3d512127d020d5f22f73ca08b792edd675f072a111f2e8da7b4a6f65c25bc5018395b4","size":2513,"data":"","first_seen":"2026-07-23T13:38:20.437954Z","last_seen":"2026-07-29T06:16:42.770761Z","times_seen":1336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36166.7637be1cf2514504ac79.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"51776a5fc46a025b06d1b20c444a8934","sha1":"ded406bfe93dcf4112270cd3f1634b7bec2da0cf","sha256":"6619f156d8b0192fb34d6c756bf0bda361c55a6a2d79c9fe1117d9a83ad626df","sha512":"1a8c2a8de6868dcf9765cf86c13f9a9f50c87cc022a6142c3a48a4e8da04589a6c06376ccb2928de274dd64f5558784b2a5f2c5c13617c7c40ea38359ab819ad","ssdeep":"384:Ew9WKLri/jpKfQVAFzMnNReRhrt3bkiRWXxKziTObRcRbF:Ew9WKa9K4Gz4fejx1RWszhbe9F","tlshash":"8492b5c8b1e1f0e556e768a0807f444bf13a7d19349e9060a3a2d4d678b46dec07bf6e","size":21217,"data":"","first_seen":"2026-07-25T03:24:57.421925Z","last_seen":"2026-07-28T04:58:41.961336Z","times_seen":316,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/tradingview-copyright-data-impl.27f349a1d58483f27eaa.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":"88cd75b972ac65ea66d51cca418cd69c","sha1":"f4df7f63194fb7a17442ba8c04e626440cdf7985","sha256":"c7c434bf3cf0f1b1f069cde14034f32a220711a98b1190aca13e5f5b85ad3971","sha512":"877ef0b222a370b5ebeef0a0b5ec62ae76954d81f00617c2c9a7f58e0c171a599cf35ae0ac615d4daec98634a6f67c438043e0b7342efc2dc6837666902e216c","ssdeep":"","tlshash":"1c712d9a2252a8cd2553d979cc3b05e5621fa8fc3a8f43e0f973cf30a0831d5a912928","size":3529,"data":"","first_seen":"2026-07-23T13:38:20.341671Z","last_seen":"2026-07-29T11:04:57.516744Z","times_seen":1718,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80915.69404fda8aafc2742c55.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"de2945c844b995a4434f72c9e9f10d55","sha1":"dfa0f41fd695f4ab2068af223864f90085590f09","sha256":"29df78da8b43b5048b57229594ed6f3ad79785773f63f3001a604d1a17a206e7","sha512":"e000d576b22c638622179b6cd5b5e72b9e95c90f191dce058a700842f4ab620ffa60fabfd70814866ae1686b778f1fb6384117e7bf0c4d1c66af5945324c2137","ssdeep":"192:zD6UcCbe+/OzNJUFPphLnY8P8hfJnubwbwShMj:SUcX+/OuPphLehfJnpMShMj","tlshash":"bd32a559b2a0b02595cf6760c02f150aa2752019f70d98d4f69ed9ea3db076f213be3d","size":11058,"data":"","first_seen":"2026-05-22T13:27:07.587764Z","last_seen":"2026-08-10T05:00:33.818226Z","times_seen":264,"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"42e34d43963ba5c8f37c775b35258a3f","sha1":"77848caef3f422b34490fbcc9b420a2eae91e973","sha256":"4bca020551dc54855ef72cda3d88a25ac010c32345bebd8111e1d884f56b1dfb","sha512":"1d102717114d2322ba1fd3ec6fab0b9da9bc194793c340ce4efc56611ac5ea53860b13a04ec8c3e20da463da1c752b9254516dce5bc499934db40f301037ea5a","ssdeep":"","tlshash":"8690020da4210201206830c4fa8236426c9104a04f099c100101d81061c910bc8556df","size":46,"data":"","first_seen":"2026-05-25T20:24:44.282834Z","last_seen":"2026-08-10T08:00:01.12116Z","times_seen":4594,"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"2d411354f21bb22b65f55d8bfad14f6e","sha1":"0a0a24845eb1cac5a48518e1bc5db6e3d5dce792","sha256":"cb1426008557b5894157468472242e22bb84d186d91063e50456abb38b79ed23","sha512":"f95f53d57cf6b8cd06137c700ea9f82b2342115f8ac40630b9fcd57322f6e4d42e6ed7ffe48e64c0dbe39388cfb9f76813d882fb40b9c5504cf0e670ab3b28fb","ssdeep":"","tlshash":"1d80002080a00000a28830c2e008002c3838c3320a8022c0838080028082ae082e02a3","size":27,"data":"","first_seen":"2026-07-16T11:36:17.999846Z","last_seen":"2026-08-10T08:00:01.121684Z","times_seen":3181,"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"6fc0caf0d9917b3962ad69ba220da3b7","sha1":"0f9faad6526c4fc60c1ab487cd9575c7b862ffd3","sha256":"f60a5d2778a7d7981ba65e2ed33760352e761b969c8711ac267d3fd328486822","sha512":"8b36973c14f701a18693379c8c2c9f619368aea338a153ba681db04d998251cd780f2e733b08dbf23a6ccf24fda105311fa554a65ccb6b17bba32b2f4a68ed37","ssdeep":"384:LipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4xPZ/Mb30:eNogFbLrQPZ/Mb30","tlshash":"f7823067c80da72ac4569e26bc7bb602fc2e075945a529606aecc86c04c7d53e30fb7d","size":18866,"data":"","first_seen":"2026-07-27T07:15:29.059459Z","last_seen":"2026-07-27T07:57:03.315582Z","times_seen":48,"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"8062d232826eee4ffac1e152a5142514","sha1":"1b7f2090ebcfc1380f56c34dfc4f294c7301605d","sha256":"ace81cabed19b96885e6fec0ca99bfc73b71b6ad7df50664f92e68ca7281512c","sha512":"4e11703f66d5cb936d78dc2aca12c94504819135e1040189ba4675f1c0b5c1478ece5ca2f02d7c893a38b341f34dc318703d6d7a4c51307c031d5384676f2c01","ssdeep":"","tlshash":"78f02d7c1403dcf784fa1082c6b8e2c0c653856aef942ee123408ac2220ebaf02b1bd1","size":651,"data":"","first_seen":"2026-05-25T20:24:44.288837Z","last_seen":"2026-08-10T08:00:01.122662Z","times_seen":4751,"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"f07c4f86a1b5524cec5397c170a0e9b5","sha1":"a8ef59c61a316f6095680bcecfa0c48466d72593","sha256":"32849254237db69547de8eb2f61b99d95e7466b89168687bf780bfd79467fbd0","sha512":"2c656e2adb0d00233577547ecc1f0efcf98bdfcf0f87ffc62fedafb4e4fc22e8c04e348d02bb3f3d0db21962e55712f132738e0685fa2c3e9755a241d55b9446","ssdeep":"","tlshash":"ce11570a0135042a7ae04164b6362ef5352c3add4b43daec5b857c0972b3a768d50bfe","size":957,"data":"","first_seen":"2026-05-25T20:34:17.759767Z","last_seen":"2026-08-10T08:00:01.12316Z","times_seen":3827,"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"a451bd95e420d24a151cb5a25660fc44","sha1":"de8b722786339662ff8f0f6a25cd85930eddfb6d","sha256":"c8f09d6bcd1db51b6c98a3f11c98e6af82972a8fbd80e72dd14822bdc7c8ca97","sha512":"80b4700545cf6047c2c0d3f4a2156c0bef71d9bb050e302185e1806abce0b043b96d282712e02494ca2472e027a0e018e825ef23fd7a8d5f2768342dd46f086a","ssdeep":"","tlshash":"25e0cd478124c410b2d65848e53919f53109b59ae64309f1f260bf0cb1567f394d5dfc","size":321,"data":"","first_seen":"2026-07-24T11:36:48.290535Z","last_seen":"2026-07-28T07:05:00.709149Z","times_seen":1650,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"9d9bc5ffab15aed4773d569d62c5ba8b","sha1":"0c8d1aaf4c47cdfcda045dab107ca532b1f79b2c","sha256":"46a2e650802f69388f056281de89811b65b26bbb94350a0e175c7c4c4368a483","sha512":"8a7e0f121165dd69fcc12c3e8c8fa5cc13a4459d091f1229d33efba3db5cbe6adbd703665df67609399e5adc89884506e7fd6abb61759b06e7abd565d01c79e9","ssdeep":"384:RMt9Rl8Do+vHgzH6wmrebszczwhH/p5lOrylk6uNFCSF5I3epMtK3/MWFei:RWvGDo+vHgzH6/8szcyzuvCSF56yMi","tlshash":"44a2648196270c052bea174a68325103b22446f8d647395cbd786dee6e2cbc671f37fb","size":21867,"data":"","first_seen":"2026-07-24T11:36:48.297592Z","last_seen":"2026-07-31T08:20:24.788964Z","times_seen":1890,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"569704bfe6c1be70bea96e62c95d10b2","sha1":"1ebe9e3483f15928d18af8367a993cc1fe6f95f6","sha256":"577136df8200adf35699ebd443ff95aff588911e5451a64e7249b954d496ab08","sha512":"27482e4bae245a82e789bd6bba1746bd03fc6d2916045062e35f6bd7d8496ff54720271e9b16bf9c72972f08d7d7aeed33e1c0e2d0ef905ea9253578b05d44f2","ssdeep":"","tlshash":"6c3150f9e42264750ad310d832b7c7aa3f333595f1c72552c4bcc08a15a6dca24a3eed","size":1547,"data":"","first_seen":"2026-07-20T15:50:49.068553Z","last_seen":"2026-08-10T08:00:01.123668Z","times_seen":3057,"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.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"},"introduction_type":"scriptElement","is_inline":true,"md5":"d080aef1e28b9ced897f549e49b13916","sha1":"75abf1173fad589cc5e35b388fa0a3067188e157","sha256":"cb914bbd5f3df056d111c04f26650d699d100920c24e13e5e50c67ecd1de4e93","sha512":"746fc099bb9ed96629e79d592c09b25bb38203a52cb1dced0a65325ff096b1ce9f508f5f2a26570312d75569a6b56be634501e6fa6a59c2fbde67af8418caa04","ssdeep":"","tlshash":"48d0a754212b612234dc3054d62ee6d1f5151a922fd310ebd7992018b665893a9547ed","size":245,"data":"","first_seen":"2026-05-25T20:24:44.292788Z","last_seen":"2026-08-10T08:00:01.124161Z","times_seen":4757,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.22510.c6272459a17c5398fd7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6c6c88b45a73669efaf42c1d23109bd6","sha1":"436efe5bac23cb6e61761f6ca2f625eb2bd05c43","sha256":"24f8d2b3db85b1adf9680eac2aecc1bdae2d614e4af27d8f1c977a97af861c18","sha512":"a1cae379741ea70a2f6d31f79de4a9ac3b5ef084207b06a5a6238b4dc5c8a38fe401c62c5b95f25478d60ed7a24806226720d381990de06e495774959d3cbe35","ssdeep":"","tlshash":"d0d01223f025e8e57a7a895473509ef07cb4a58411f2d4d373b48b18611692415b4e7c","size":221,"data":"","first_seen":"2026-05-05T12:17:23.617466Z","last_seen":"2026-08-10T05:00:33.849255Z","times_seen":484,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23743.4733137af2f232a6a34a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0662db7d4ac07059ef6d238a7fa48e27","sha1":"736ed22fb893e48eb48b0150ec68ee0e3c69c7b2","sha256":"af1154bdae13a0f96f45923150360a2e20a73f83a62d0d671a137604a1ffe7bd","sha512":"d0f916877c8757288f5d0a63c009b2a6c596c888960ca29b3ca6ac71f629591e473f08f48b89b10d13d074a78ffe51c1cee690861938863df5a0265605fd6df2","ssdeep":"384:9Xwl5lUwL/+MbKlpYZketvNCY7hbyc7KukFhX3ma3anayRwsix6udtd4MkiAN:9Xwl57/bYCPzCY7IgNWaayRD06u3SWAN","tlshash":"739208723591307133efebeb5096041cf330b418a94b88e4b1e9689d35e26b461b6fde","size":20578,"data":"","first_seen":"2026-07-23T14:00:31.578797Z","last_seen":"2026-07-29T11:04:57.476864Z","times_seen":278,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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-08-10T08:00:01.091368Z","times_seen":1855,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","size":33900,"data":"","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-29T11:04:57.494393Z","times_seen":755,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30288.59207aa2607ea1597287.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ea1d9d8d3342c88f33ec3b530e0573ef","sha1":"d655950fc76c40243ee9494c5fcc45e069dbaad3","sha256":"5c4b42f42930e52d140aec5e82b967b86ea0bc4581cfea3ecd33ca21c156520f","sha512":"4a85bff8bc70939b4386535712fa0ce2eae8d2f970a7e4c0f966b40eef502520b53f0bcc55b8062e0d4154ec40c589d4be511f57f11176afdb68166e3b090436","ssdeep":"1536:M/5WmDah7ltfnbgA/bllhJ9AwCh85Q9BO9X/tH78kJM:MZilpvbAR9By/5M","tlshash":"6e330ac572d6f0ab03d605e584bb5042f33d49a9b80d84a1f658e9d13c66c9e63b3fac","size":50816,"data":"","first_seen":"2026-07-23T22:46:45.786098Z","last_seen":"2026-07-28T04:58:42.063064Z","times_seen":361,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"14bf3ff2a3107514a76ce3b64ebfadc7","sha1":"cdbe48a268d7b51c28606b399cb8586afee97128","sha256":"99f49c837d9b9a85e81174053a80d5738c2d7c21a53faa30b396f377724df1ba","sha512":"e917564b665e35938d9d86ea200951191fa25a923f4012992d87c30408c3fe4188962849136025458fb8143a64842308d4783c9ae847f84f0720cd7f86a1301f","ssdeep":"1536:Hf6kU6QbwU/pS8wcbXbUFrGAMt6GYvlW1naSzKr1vhheth+47z:Hfy0yLBAK+v4nrD9z","tlshash":"32735cacd23c99b776f02e781c6bac52a33820537d6182ed4397736409b7ef4c666543","size":78581,"data":"","first_seen":"2026-07-24T11:36:48.051243Z","last_seen":"2026-07-28T06:17:53.622022Z","times_seen":205,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6934.90edfef6ce98369ae04a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e360111388c7ca7cc416b65a333c1c13","sha1":"e46ada551fc22f5bd35034c2bca095f54b635503","sha256":"fcaf403c75b1a585c7a07556cb65bc683ba6feecbe0399257d62a34f85d430bd","sha512":"60b615d8b0f61e9026e63070379bd94624842f181c1c1fc3ebd02da9ec8b0937f58c344459767399d75cd658ba805c0033a4d1e60d237c8bf2cfd20377f72aa6","ssdeep":"1536:Rw7HUzRyKUuj/NJd07iwH2Hwzp0q2f70lq4Gf7TtJiO:RJzRyluj/NJ6kMpc7N4Gf7Tz3","tlshash":"0273b638f9d0a4b7b2e784fe6741e6919a26b88276265fe17235c6c47804ccf3135e1e","size":80040,"data":"","first_seen":"2026-07-23T13:54:09.170539Z","last_seen":"2026-07-28T06:17:53.380432Z","times_seen":310,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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"},"introduction_type":"scriptElement","is_inline":false,"md5":"75148ecd9563758ef37fbf710fa1ed9c","sha1":"de1a10ecd54ec0decbb03a8cd557426111cea6d0","sha256":"cf8c7a93d59e717ec020cee201f3d4cc1c2abdd9d284d8c741acd1489c03835c","sha512":"f58c5f5e173f73a99e68100eddfff45b2ea08d85d707f75a9b525aed76766a2a71017d55a717a9392da38d5c5ae394e073d0e7784e029bda8c8aae2a167f353d","ssdeep":"768:E+Rr6eBG5q/FjGgPqzEthfn9evRIZ3XQl0m0FSCUSxlfHiTzJuqgyLDNZGItbNb6:spKxt59evRIZXxQy8NbNANtfJiO","tlshash":"5f13c83df5d1956372eb84ff4f66f6435a266402b26b6fe0b135d3c0244ac8b1222e6d","size":41784,"data":"","first_seen":"2026-07-23T13:38:20.394325Z","last_seen":"2026-07-28T07:05:00.704151Z","times_seen":1503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99309.ca4ac19b8ab37679f251.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"07536e5ca803829ab657e62c61210dbc","sha1":"0d11d8bbefaca8f90cf1e077c6fa59dd3d64373b","sha256":"378146c5d601a41f6b19209c59c2a432275153ee70df8a706ba1ef83af1e43a5","sha512":"c85137ba985b9fc6ebe8e1027753279bacf049530b0ab2ea0eef73d83967d84a9ca4fdb32907e453f60678d15cea4dc76ef348e7aeb9b2609b88441ad1e984ae","ssdeep":"768:hsXBcQmT4krvwY0u+/z8SSV3WMODEDQKtGn72TCqXWmXMxpp0rf7eilfefe8LMsX:hsX1a0d/zESPqheft","tlshash":"2de21ad1309174d923ff4edba0ab0558e33a1764b85a8c60b0b8eddc25d3818b276dbd","size":32550,"data":"","first_seen":"2026-07-23T14:00:31.509299Z","last_seen":"2026-07-28T06:17:53.60062Z","times_seen":112,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/bootstrap.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"b05d747ca2a0840c9fefb088dcf90809","sha1":"6459be7052973bc86c083e3020fe5437c3b985d7","sha256":"577b667b3cd40856fc1fa09f9b271265b370e2017453690dc86d3fc6f01309bf","sha512":"40f6e0fcb47dd24054781924f3f1f640e69f4d701fad3f3c357435146891140e619b771062c20f0c20a855eda682b560e021a803c34557a932a84b0aa06aaf33","ssdeep":"1536:HNdydWZ3Fh/ISTm+USqmRHtCebudHkduIo6ZwQmp:L20FRISTmlSqmRPuydy6qQq","tlshash":"1d93430bb3a47472417bb73ad97f854af636566fa206810a787c50dc0f3885462b6ff8","size":95318,"data":"","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-07-31T06:28:11.495945Z","times_seen":57,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.52882.2898e638a68180ed6df4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b54a95821effe8d59779b9fc14228d18","sha1":"d2cbd7229e17a9b12d18689129ee09b6de60c175","sha256":"53c37f95be948df4fe80d94d0776fd26af6bf0f13d683652b1b74990e6326179","sha512":"6d4050b13aa9f106f683468ed7c071d0c67770f818a35c0245fc7121b9e6e2f75868f44a9b53f7bb110810e921f039ad158392dc1e157e8972db02bb87797d39","ssdeep":"","tlshash":"1c31ec5be30095ea2f22d646374dddc03af431a111f7d0c937860e689267d85d05dbbc","size":1863,"data":"","first_seen":"2026-05-05T12:17:23.709286Z","last_seen":"2026-08-10T05:01:09.63399Z","times_seen":687,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","size":132552,"data":"","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-08-10T08:00:01.096054Z","times_seen":3024,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36938.58456da0cdb4bb9bb485.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0b3a2f0bced3b2d13e2bc4271e8f8bec","sha1":"c8882777ff1ea1c0a44cd5abb3371658234b1ba7","sha256":"cc20688cf7733b705a8082a5cd27b28bfb7c5bf465b3b37a793cbb16845e2044","sha512":"79451e25e3c330b552f61617650652ad0fec3ca6846f09ab1abb2fee164ff668ea5b4bddc93377a87b16a14cbf8b793a074e8b00f7f1bb596ddb62211aae77cd","ssdeep":"768:1NuXCwjvbjs5+DLdgy+qR2UxNnoxErOw2f+gCrpZAKA6DQKG4JJZXKTmpcu9Chqj:aXPjvbQ+tI6XXoOow+H0","tlshash":"25f22c92b09170bc96f746ee943f0552f33a1a64b9854868f0bc8cec2d64d49e272f7d","size":34428,"data":"","first_seen":"2026-07-23T14:00:31.698766Z","last_seen":"2026-07-28T06:17:53.61859Z","times_seen":190,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/snowplow-tracker-base.465f8af1aa72ac3a1c32.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1edb2832b292eaf1f490fd35fadf61ec","sha1":"40184dc94dd19e2bb7b906af7cc99c694efae8d5","sha256":"68c5b31fb26ad1af6d37dc872285b1e5c9837fed11bba1414d053e93e3728567","sha512":"a575cef153e42834c4fe933e7ec67a2a5442aec23dcf472bb585c8da5b858bfac30b279e03691938a35400b286055406e5a9f34bd3d5e5c8b51f1dbccd902df0","ssdeep":"384:rNtq6SWGLOzCHMJY+Uhb7773Y6cR39CF0msq2k70wcWKd:PjSWGLOuHM4hb7773X3F0msq2k7jcWI","tlshash":"ea62d7887043b09a42d925ef986b5149f7380898740d84b5b651f8d23caed9f63f3ebc","size":14701,"data":"","first_seen":"2026-07-24T05:39:08.468159Z","last_seen":"2026-07-31T06:31:09.118223Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_conf","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"7caee5334c5c4934bcda1ce615f50b08","sha1":"e30db3277098371b3c740159bb18656d4a865033","sha256":"6d17efa27992fe6a37e9064e83a6cbd97576e9bcc1dd861cc5a0f373c54d6007","sha512":"e834d96e9ce7d0a8fccb8c3888a45c3e0349a17fbef0eb7a570a6eb173f2473b9eb0f4e2ba096899e75e30fbd46d25348b27b7bcecd974cbd25fa2627baaf546","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECi9wNWF0:XDD4U6KKZgtBgtCij0","tlshash":"0273b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf594d453bf7d","size":75427,"data":"","first_seen":"2026-07-27T07:00:57.382728Z","last_seen":"2026-07-27T08:00:33.965588Z","times_seen":143,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/jquery.magnific-popup.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"a6c294f0c10a89a48f6585a27bcabc9b","sha1":"623eef7cd97ecc3ba679e77af55e4ecb7d7aad8e","sha256":"d4c84447872bd11007113a6aad3fe17f28ed9c216d939eb6ef3f510fa814c381","sha512":"d5033877192fa2eefb277405dc8958441fe7b18ad4d44568d69094ae31fe40f7f10166aae429e56bd25e8873e7d18a9b2f723a95b3365f7a7d3678a105f5e143","ssdeep":"768:9OfPuCOxgIBdyWshf66+2ThcWhhe6V1YIgd9vY2Uu:9Ej0H6hf66+0h7Yy1YIQ9vYDu","tlshash":"19e29719f1e2212b9773b338de7b8d08f2755227e6108c463e7c50a89fb585485b5fac","size":33461,"data":"","first_seen":"2023-03-11T12:39:30Z","last_seen":"2026-08-03T02:54:52.772081Z","times_seen":300,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ea7468c239d76d650fad0348355c0723","sha1":"1679d20934fd0a870c0c4f6841783538386be8df","sha256":"ff8eafc7002dfc18017837f333b737baf6428680efa8976420f7545ba953bdfe","sha512":"cf2c6f55abd325793a9a4a962acfca9cea5a94ee011812cc1d100a66f9250a768e7d62a0c4d661cd711718cc67e00c4038f82d532a6daeebf8078a78b9d62c89","ssdeep":"768:FahKIrmNWI3Vn8gACkdBEECQrhuWfGwsGiaYOBzYJdncihxGddE/HAKZAPt+Z0Mn:45I3Vn8gK/NTeezYW91k2+","tlshash":"8f03d9d673b2b61587a64092f87d8503e36c1a8164cc253ef66c8cdf264de48b136bbd","size":40229,"data":"","first_seen":"2026-07-23T14:00:31.639092Z","last_seen":"2026-07-28T06:17:53.359026Z","times_seen":109,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.16193.ba075f895c6ed057c11c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5ffc24a684cc802b7c100f2bd550db9f","sha1":"b566199860bd35dadee744f2ca93987c9fd7d81d","sha256":"c54bf8e5790bf29f7fdee0e7434ac170011edad6053be09f6b60d44ad7568e06","sha512":"f810b69576133f10a55ec59fee0e46a450731cbf26f01155ab1f66b2ed4b100bbef9e4d74b9d95d2032a5c84713b3dfc85f01c946ce927039e4c4c5645b70994","ssdeep":"","tlshash":"c5e0c203e160f8a17e7ade043b508de630f4b08114f2d0ceb3282f51c017c352810b6c","size":340,"data":"","first_seen":"2026-05-05T12:17:23.646279Z","last_seen":"2026-08-10T05:00:33.799685Z","times_seen":477,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84265.4c6d8f772d538f528598.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"aaa159536c7d981785f51eb8ba67db93","sha1":"5784ebe9400e2e22025fd79e968d64297da6cd0a","sha256":"ef93d4903275fc451f34833321771914711245c75400304160edb454f5cea2f6","sha512":"8251e335dab75314acec8c4fb0be5d55dcb1ba3f7875695b4234c7c902ce169087b041112ff620a936d0113202ccb19fb57930b21765a24faa342177cd37e569","ssdeep":"384:FrWj47HRZhjkj+bEvcxXXws4gNwVb86wxR2ViPzhvUel2HOU2s6nSSf05r:FBHRZhYjIHP4gNwVYXxR2QP9vUel2Hth","tlshash":"5972c624f2b4ac666bb352ed4ef543835d9c4c82de5109befaa908cf195c5083379b39","size":16073,"data":"","first_seen":"2026-07-23T14:00:31.621457Z","last_seen":"2026-07-28T06:17:53.448224Z","times_seen":85,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/studies.c50f28eb9a346e093252.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7987bd9ad9ebf8cf88bfd546acda45a6","sha1":"9d7cd0f9c2870976e2d42691fcec9c54b559febe","sha256":"561baf84600f8c7de1b64b308c0ab5c5c64b4147787b87dc06b944c48ba625b6","sha512":"9b8f36f0dd7580b4de39537ae4436f51bc2c3209e74e6b6accddf56c1ae01b8f54a9b9c64310fd18ac27cc77a3823c6b038078c45fa7e8ecff7650e3008a8a9f","ssdeep":"3072:w9dsU/XupjW4Pz+u8HuG3x3TrbZ0jv8L2EChXqVIywmlgkOJGJcdbo5CgZPz4OyG:44PToPYEJYTgZPz4OyoczgJyylAt/W","tlshash":"19042a6172e178ea93eb10d949790543db1d2c86780984acf2bc4cee265dd4c723afbc","size":187317,"data":"","first_seen":"2026-07-24T11:36:47.85007Z","last_seen":"2026-07-28T06:17:53.472191Z","times_seen":79,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63402.d30c1e003b054930d32c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"51f86891ee79dc28bdaa34f0c6cacb5f","sha1":"8e8c8d6a85f6ac78978e96ad933ef6300d1aef2b","sha256":"015f7b5bad17c7eaeb457105542f879215cd8f29f0a18185e5ab0d330b4db3aa","sha512":"29dec03ba8451463072b5661f375a9c6661cda7bd01c2929bffada338f4987ecb31d0526f7436b86b16de82236ebcdb159d3b2bf504006cf924283c2bb53ae83","ssdeep":"768:0ZUKYt1k9LsYxxHyqE58nvYoZUNIB8BSOfhOSEuE0fykah+kl7Y8HgJD/xpnwv/a:+5qUZEekx8oVS3rPlc9wfgxI+DcwDtgw","tlshash":"58232a297190b47ca2e7419ec02e480ce36a2488e8659cb5f9fcecdd33d598d31655fe","size":46028,"data":"","first_seen":"2026-07-23T14:00:31.469602Z","last_seen":"2026-07-28T04:48:50.535095Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.49677.098688b37f7855b4c79b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0f6776037f5de9e4c3f9207486f0f7b2","sha1":"783fbc6385122ea3c305de021a71b08abbb0fe13","sha256":"dce110ca579172bc1139100317015723ce296c628363106c1f5f2f4567c0ee5b","sha512":"cd35bafd0f45ba936b47aafdca6062140e335ebd2f5af9fe5de62b033302b464c56fadcd87e9ecef463689aaece2f2c72b8da59c89c1700df22b99c4bd4721fe","ssdeep":"192:gYx48+UxlRhelpk8aH7usVSBzl97rUv1sSM5jyHw8BedM3Mj45shOAlJH2Ew+41q:7+UXRheQl5Kzl98tm5jdhj45kJHlzN","tlshash":"4a42e917d100c2f60fb0e662b749edd1b6f8b09893f1e0c673998f689207d65a92d778","size":13031,"data":"","first_seen":"2026-07-22T16:00:00.332154Z","last_seen":"2026-07-28T06:17:53.586668Z","times_seen":141,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/68725.df46d140ffcce5cbedbf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"301a8f4008180f5ddc683901defaec4d","sha1":"892a96df9fffdbee70f8c3c701e4681b6c4466dc","sha256":"89111fb1ee14c800a44c510278977f64ce50a38e074b3bbaa2f494193ed42cf6","sha512":"86dc50bd47044f799fa90bbb6725d83f782e87021fb6097ab0304ab1db8cbcd8c660f107d780b2c01c6e18fa7d03b5cf55d686e28c12ee3c4fd4a25d406379db","ssdeep":"768:5CNMfr3mWAwSatuyEJEIVVij9+Dpo27SU21KP3:IQPA+wVojcDa27SUh","tlshash":"f5c20964b2a8343541d7825bd4794a03f2356c85b00352adf66e2cde1f9e88d33aaf39","size":28269,"data":"","first_seen":"2026-07-23T14:00:31.748932Z","last_seen":"2026-07-28T06:17:53.533777Z","times_seen":122,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2f4dd7b3db38bcef031ce7e36c367340","sha1":"ba2336e05b407794de4dbb6a0e18264c84b3dd51","sha256":"189cf3f450f313efd6f7415f9a052d86c632ae8d97729c459900ef09bcf4f3d1","sha512":"54d54a86d025a62386536e78f7c145ea7bb17f681a93d55091bf41897ec295fd1bbee56de09aecad350c4ca9c7df4668ec0da1f0052fa86b161ea8e9bd958c33","ssdeep":"192:9cNibKfRXUfFYt6Vn3WQt9Oh+yxiJdljjRxU3zty6psROhf0qV+9TrS3ZfEI9n:9cNlfRXUfFBV3Xt9Oh+MiJdljjRxwtyK","tlshash":"83329682312a39aa59e5209424703947920c3c9a375f907cf3b8a9fe755cc5cb2b9b78","size":11674,"data":"","first_seen":"2026-07-24T11:36:47.84256Z","last_seen":"2026-07-28T06:17:53.455046Z","times_seen":81,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1331.54fd2a5952c88f3555c1.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":"0501ef2557ab73aa0e242f1410552693","sha1":"e569c953f6e6c95a9d3cbba1ae1b93120b4e136d","sha256":"c76b72cbdcf6fee1dc0fd1903df2e2e2c90f846b942f16951116443d4f041177","sha512":"27a42e4490c90aff8af7a9c0804160d4efd88924878164391ac4442baa4c5faebd5f55f7f730976feb526d62386ba9a31ac50a3b568cac3216b0f60ecfee827b","ssdeep":"3072:COeUpW3gc3TJqv4ub7HlfzVV3Mze+wyQlmcnbmfH48J24NnUxsLIymKS:COeUpB42HlfzwAyEPbUH48Y4uxsLIyw","tlshash":"52045a61b440b67e92f304db94be1489e73d2b49e4044474f26dcc9e2ae9c88f17af79","size":185009,"data":"","first_seen":"2026-07-24T15:28:44.734426Z","last_seen":"2026-07-28T04:48:50.45448Z","times_seen":56,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget.time.is/en.js","fqdn":"widget.time.is","domain":"time.is","tld":"is"},"ip":{"addr":"104.26.12.54","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"64de9e7370d46b97f23903e6a9ff9868","sha1":"2339a6bfac5ae02e42f6d81b2f78a0cbeefa783d","sha256":"a8a1e5a65b7c6bf3241b75e98b218cff71063fb9ba689d454ff5ab17d5ebdf4f","sha512":"3111ecc3584038cd7d0e8bc8947c30b502efcf890f1f7dc72ca97186734e95b05b48f7ea16d2ce06d1261f985364b01b0656ae320ea3309c255e3ce73a3ee2f1","ssdeep":"96:rkIcq5aijN+WuUclbPQtrgS+kvgI4KOgS23hCkibjAqzWjJhzfeB6RleJPBldBnk:rkIcfiJ+WuUclzQN6kogOqxCkKjAqzWJ","tlshash":"379194e621520efb1df271a944ec4bd86b309cae46c484159c887ea9152dfc7302ffb6","size":4573,"data":"","first_seen":"2023-04-02T21:27:40Z","last_seen":"2026-07-27T08:27:57.351727Z","times_seen":28,"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"},"introduction_type":"scriptElement","is_inline":false,"md5":"7d7a3ddeb844a1fdfe8b024f9df9f0b6","sha1":"b3afece36b14fafc7889e9b954f9736c892a2849","sha256":"0752584a0f2ad3bba4f44bbd6a44bf08a76726c524b79367996ab9b20e03bfba","sha512":"c0b04bf9ca52fee536a54ae9fcb3fcac9ee210f95be1205e4fe48f0cbb1f25a4db788a4ae10cd4b5ee13e1dc5159c2a4d48516d50bf1ee07d2da1a00fa95ac38","ssdeep":"96:VI23hKdh7P1lIbeWL9aqfMbFNriK6Vizc/MuomCA9P0LX4BYyCnsI6T:n3wT9lIbeWJaqfvXQcEA0LHxnf6T","tlshash":"c4e1c6c832b1f0eaa3e325e480ab5806e13a6d5a558e60b6e34557d37874fc540ffec5","size":7142,"data":"","first_seen":"2026-07-23T13:38:20.481503Z","last_seen":"2026-08-10T08:00:01.097128Z","times_seen":2105,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/76577.f73a01e1f00043622b65.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6a57b1deb31991bb129476b06e9cad11","sha1":"d00dffa870d90063d146679279b23729d7cc0bb2","sha256":"4ba69451c43dc3871ed3f2b689d739650d0189c1095c65a1e4c3050c3ca9a662","sha512":"73f9b1560727a29f3cfe717e938a390645a6bb2cae109ebddc8e909a042a048adc3d51bccd2be01a77a3839b742c0edf3283489d06d79bb43e3d75bc2974df1e","ssdeep":"768:VXEgvhG7/2KArEGBxc1lmprTmMAo58FRGdfycQKRAppcS+oLAMzpOXYq9EqLN6e:V5G7/0r9HqlmprTmMAw8FRGdfycNAgVf","tlshash":"7873f8cdb281b46546e7a1b0803f550bf23a6998700d8488f235e8e97c7ca5ea177f7d","size":76578,"data":"","first_seen":"2026-07-25T03:24:57.112206Z","last_seen":"2026-07-28T04:58:41.945434Z","times_seen":292,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67930.f0d77c1721dc8fa0d333.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"990cf69851fde87b4493a4a244863db8","sha1":"ee7d5c61c67346c3d87c7e74c026bf4563383065","sha256":"6dfa7fc1e68a590ca27e08e6e6764259c28a0d7b39bb6971ab6383e8f246b6ac","sha512":"c819313da9003f50657bb1bc8de38b3e74208ac8407598c9755760b3b87d2ef157dbfebfaab0286f372c6586681bc19bca3e95ffcd2493326e2ae3b7c4947127","ssdeep":"3072:R0RDUtOcN3trUIjzAXK8ZrhLy6fXK6ZKubLBc4MO:ZZdTjsXK8ZVy0subLBcrO","tlshash":"66b33be3b1a0f0a9556601e984be0103971e6966bc47887cf6bc9cce155c9caf636f3c","size":113437,"data":"","first_seen":"2026-07-23T14:00:31.373835Z","last_seen":"2026-07-28T06:17:53.587399Z","times_seen":119,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"146c86b697d57edadedb79e577a2b819","sha1":"fac3ccefeac950dd75b09bf983e4db643acb17cf","sha256":"e7c1e85bb4c79e48526d268113263cbed1b8dc51caa0f7ece95022ce45c6426a","sha512":"0c8f76ba43c26ac96ac8ce77228656bc32000075828146c8e3f5f6c8d83aa1124958db4a287753456a136751fe65d9fc935c7e8efead69cb7bc5587e6f54cd75","ssdeep":"384:IPLZpvbUA+tmPj2DF4ciyLHBoIUEDHfKXqEVKtwAqXrNc2G/p5RuePAU32wDP7Fb:IT78mPj0FHLHevUfKa+EwBxnJePTr6Y","tlshash":"a29219c260053875dddf6eef405b45ade33e243538055499b238adec02a9a5873a7f2f","size":20221,"data":"","first_seen":"2026-07-22T11:33:41.962494Z","last_seen":"2026-07-29T11:04:57.500007Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/popper.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"ecc23df98e6d7a92eec9a4726c39f0ad","sha1":"676ec2e4a4fd08c7280f65f816d13aa47410c943","sha256":"718a9f1f7c899d8a61ebe7e335a1ba9f367c3151345eefeecae9750063d58faf","sha512":"00ddc052fa6bad18bc8dc4e2e6b577608303e48863244415e478caa62d178af51a34e364bd50642579ae3e8f5ae043543d8fa4e73a475a313dc29f864e31ed9b","ssdeep":"768:52rY8yiLQAFHPGc/k83IYRFEyF0bdidHtANhDR0MGiXVi+RrJR1+dAOr+fCSO7DP:aTcCHPTkURF4didN2hVhVXV+d6C/emZt","tlshash":"33f22f8c6ad171758637f37ad92fc909f336163b1286900239bca1951f71d6092bafec","size":37178,"data":"","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-08-01T11:22:30.993838Z","times_seen":251,"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-31T06:34:35.4362Z","times_seen":457,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","size":4812,"data":"","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-08-10T08:00:01.054563Z","times_seen":5279,"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"},"introduction_type":"scriptElement","is_inline":false,"md5":"6261f54efc700f40121ffb4b8469e97e","sha1":"ce3b28aab3d88f4c8efb56c9421582b8795b170a","sha256":"784267261c93801d2acc456a3fd6bdebee924adb480d41166947dbef83d09720","sha512":"24eac8beb0159520437818ae9b0622b1a35010f7b030d8235bafbe66000eccedec201dadd509607239623d395152fe9e364a0fc0ff255a87f05f763c2bd6ce2b","ssdeep":"192:YLwqLptVvG6uptkfr8lJkNFmn1BnRMC4p2kuVcsFAvaGg:4wqLp/vXunkfr8/kPm1BnRMC4p2kazAO","tlshash":"fe12e9ac354ce53225bb0c525479e462f72c23fb5e0ae0a09367fcf96858ed46633d91","size":9160,"data":"","first_seen":"2026-07-24T15:28:44.921696Z","last_seen":"2026-07-28T04:59:54.504706Z","times_seen":845,"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"},"introduction_type":"scriptElement","is_inline":false,"md5":"5892ca5b3227e78df9d2ab92c3248724","sha1":"60544e547f80c21daf35460e9a75d3e817a58acd","sha256":"69236d01bc831a7a43ff776d09a39734ce30f2be4ecd83b55272b4c1d798c182","sha512":"1a6f2ba628e22166c5e1285ea8771085d4fb4bc18728dd29dcc612bfff921b3cde7047233fac48e47050cb6922013824b1166676d4d77219f87ed820d7333524","ssdeep":"48:fGoeBtt/RMHZr15WY7bq5+EGbplkGbDlZ6JGbHwa+EPyZT1k0SL6tGbdnRyeqg5v:RZ15FbqYtZ6UyEeT1hUAeJ4hZ72cYtOO","tlshash":"6ea165cd33c5f46523e2aad7a4bf510be13e198d601c6814b399e8e178579ce8132f78","size":4689,"data":"","first_seen":"2026-07-23T13:38:20.554349Z","last_seen":"2026-07-28T04:59:54.480901Z","times_seen":889,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80207.3e5e7d68c875b367cad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"efb45a2a5e9dedce76162279dc170b0e","sha1":"38843307f1bc14de893dfe253b89aa9ec4532bfa","sha256":"c4adc1700ca5f8538ca44843bf76da33e0bc360cdf11ff0ddafbd8856c5bad4d","sha512":"3ef5908b8c8ed8de392171a9c51bbea83f11fdb7542f8fb58439589ee43db4b6785bdb1a3e71993950d28351eb79c5548d8567cfb5f4a5991ab3488d323d675e","ssdeep":"1536:guE5AIu9J3vqcJNT6FuEckfLVnddIwc99EkRIWEEPk2SYHj28kxu:DGxu95vqcHT6gT8VnddPgTRCEgYDDkxu","tlshash":"7f33a56091880f44656183d0bcff24602d9c3d5b4ab665bcde9f0d5b4e99ac83e3bd3a","size":54012,"data":"","first_seen":"2026-06-24T00:20:51.960912Z","last_seen":"2026-07-28T04:58:41.895229Z","times_seen":425,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"5e543256c480ac577d30f76f9120eb74","sha1":"d5d4cd07616a542891b7ec2d0257b3a24b69856e","sha256":"eb045d78d273107348b0300c01d29b7552d622abbc6faf81b3ec55359aa9950c","sha512":"16a332e891e86030aa9d08ab032fe026c4d4857b64902c386f3ede705373ecf9206f58d712a91a07a63dcbd14f133ab48571bfeb88927995224b299916af8fa5","ssdeep":"","tlshash":"565000000c000000003c0000000c00000000cc33030000f0c0000c0c0c0000003c0000","size":9,"data":"","first_seen":"2023-03-07T01:02:05Z","last_seen":"2026-08-10T09:55:49.708578Z","times_seen":100378,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"18f15990d846223cca396c3c761972f1","sha1":"8dede85b8e37373abbd001b14678c4421d37fe66","sha256":"6ebf58b388094ec25d3a4ce00e5bba7428699a6d2ed1cbc9d3d0173cde200293","sha512":"ed8e626b0b1517a097135fc060afb74f6b2ac796367fe82d704bc3ac76c4bc0077eaae8e0310851b25c711abf13380f522a22440b5e027de37de8fbcd5f41878","ssdeep":"384:hH0ZXXyspmgswwUCsoMJRWF3WW/N9MNuV62dv4xCFwUCBxDgQm7ibLeDglZnquTq:RkdmgswwrsJDWF3/N+NuVD14ECBxDgQg","tlshash":"75a2e9997199a12456eb50ee503f0406f33a7905b014ad36f2acccde3aec94cb139bb9","size":22613,"data":"","first_seen":"2026-07-23T14:00:31.727085Z","last_seen":"2026-07-28T06:17:53.579611Z","times_seen":122,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5808.f4800fa9246f404621ee.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a42e731f659fd23cc846fd90733fa22d","sha1":"a69e6df547aeb0964b5451ccfff0fec9703fbc6a","sha256":"fd721044f40446ca3ab1b478372b4b3034a3345ec03c626e1fe2f2b651cacdf0","sha512":"0364a69a0cf76f3925709f12c0a99bdbc8ad070fc9be0d8000eb0a227f26f4281051036b7118c8f8a747e61921f63669c785bb607f506ef1a1e602e472fb9dad","ssdeep":"3072:TTXg/EZYyk/ubQwm+HxiXEPx7CfJ3pVgk822xZgN9u7lUbjAvDWnSO8IMiL5K:TmEZYT/ubQwm+HxiXyx7CfJ3pVgk822F","tlshash":"71143a507318a44c59cb51aaca3a0956e39e629cf485407cf9fcddfc21e9d89e13e738","size":196197,"data":"","first_seen":"2026-07-24T11:36:48.024996Z","last_seen":"2026-07-28T06:17:53.588069Z","times_seen":101,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/scripts.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"introduction_type":"scriptElement","is_inline":false,"md5":"0c044f8dc6f0d7019f851bcad434850c","sha1":"97222d42771822e90260504b2190e3f85160c262","sha256":"d1bcf8f08856cd9b1ae7292456ad652b425e3efa6e8c355d130fc3dfee40d587","sha512":"5a1ca212bcf355c702855d2c0755947be40bae389c2c4567116e0da00e928c5073820d869b0c473c7a6280df7044050d24cce43aea8c2f2ba19765e82276e530","ssdeep":"192:pqyzpN+p7bop9JZM4s4cDu+JEHtwqQdS7G+Y7Nt0fUVNxB:pdzHZM5XwtwqQwgNtEUVNxB","tlshash":"96628409700520b96d3bb339afb62204ef695317c101da977cbe27d42fb651a72a0f9d","size":15476,"data":"","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-08-01T11:22:31.035171Z","times_seen":245,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e8573dd152b6351a68d9431ffb61d357","sha1":"928cec3f4c876d4d701f3b8ae035b67e5e5bc22e","sha256":"02111defc5b8b61ff158655750e36cf18a318ecba45bd6410bd9397a5e380f2c","sha512":"21379f317449ebd372b6e4aed63443ec02937076567807d8da941855c0ae9b8b23c7fa923b3ac87cf6050146b69b4248aba05f8520df72587eb193f1b3010702","ssdeep":"192:Cm/zVycbWsCCMrRomnPpUeM+MYklUXFJmlp/aCiB86aECfSiRuve4w3qG9ytqv:Cew9CM1M+HZylQCiBTalfnuvBuqntqv","tlshash":"2df184a2b1a2a853677350fc5d75d823a5493809fc0846dcf1aeaadf284dd9c217ce7c","size":8151,"data":"","first_seen":"2026-07-20T16:56:18.385469Z","last_seen":"2026-07-28T06:17:53.435673Z","times_seen":97,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.79667.38b400b7bcd71265de7e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"abdac933416adad2f1f0358c34e06d0c","sha1":"0dc05aeba8286a0334c027665641bcf478994d5d","sha256":"5f564c4503176b996145604c8e659d0a1c2128953899b2e776973f0a91e17e9d","sha512":"56050afbc169f102143e4d56c74c692b0bae5319724042b3417d8740d60592b7d74fb27d1863dce300e020f33f36498a00fd31af8f94b6d301558007054ee92b","ssdeep":"192:nzHO1epgwUCqXYyY0ltStvFnUkst1siHYFhftcmrEnpsMhRl2FlQ8oCe68ciDhvx:nzJWPs0ChspEkmEnptD2FlQ8/e6Axrn","tlshash":"6c72db17c105c0fa8fb5ca227359edc0b5f8b19410f1e8c6b3a95f69c623c656838b79","size":17471,"data":"","first_seen":"2026-07-24T15:28:44.838926Z","last_seen":"2026-07-28T04:48:50.480044Z","times_seen":58,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/study-pane-views.663c5d9b21dc5e618998.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":"5a9f63c99f9d5d568eb64759326caab4","sha1":"f30d6d870db604980bcccf56754fbd2b4a793d63","sha256":"495aa62cf17213bfa7fb11fea84b8a177d37180b0e424c8a4a20e73d4779c4c7","sha512":"e7b5c45bd3574d3ad6dd7d4faf79de3c2d68454439c5275a44af309c26968b86e399c6cdfb0a40091870ffaec3555511470b6bb6715e8b78034da4aeda759237","ssdeep":"1536:N9l5HPSFvpMa7EVaVxGbCjD+blIXkrza8u9BkrvDfG3Q9q+6Feg43qD:N96Fvph7EVa324Xkrza8I2DfG3Q9qtey","tlshash":"8b8308d2709134aa43b35ada6cb0440797252c56394f887c707d89ff18eec5436bdbba","size":86496,"data":"","first_seen":"2026-07-22T16:00:00.360345Z","last_seen":"2026-07-28T06:17:53.601272Z","times_seen":82,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","size":194344,"data":"","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T19:37:31.609707Z","times_seen":2601,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1c7314ec5698d1269fcf3fe8e9d48648","sha1":"d1fb17b9e771bd250914284740cc34a81547b91d","sha256":"bd627f042740901d7be3db9685ce7831516e3f188779cc4a1ae7dbaa6fd32b74","sha512":"1b164cef2eadd5807eaaff6a71f636a4c6c0f4974124302f30b8eeb70e2bf37fee66589a465b1619919462a2a0c3d3c5336d900152e91200950f0205b73d7452","ssdeep":"384:iBaD9U0gstXMY5/BUFXXRn8XaTigVaft1nglXBxEiS1WCSELCg4N:iBaD20gst8Y5/BUj8XmV+tyLCsCSEM","tlshash":"4042f7a462dab965636201cae474b813b22c2d02348d86a8f72c9dcf371cd41f57d776","size":12295,"data":"","first_seen":"2026-07-22T16:00:00.456338Z","last_seen":"2026-07-28T06:17:53.573257Z","times_seen":148,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53627.115195b72f2d92cecb9b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"83531bbbf4576c6e43672349a06b72b5","sha1":"139a361b632189e32c0dd137dfe2b2ed8e655fb5","sha256":"b661a00c1330d2de36b4e45530101c4718696a241c819c26e3676498ac5c95b8","sha512":"029891e11ed6d6c2beb544a4f09ba8d6ab21b208d9fb4ca7c20fa27c5b26386da421b9e8aefc6ee8eb01ee4e4d827ed115989275498a0a2fbf4ed847368cb3fd","ssdeep":"384:pXcabhDdLcMCAL5XlK525HvbEMSgjqfJXJ1YJjB4wrHfw/KN:pXZbhDxDCAL5Xl15DpMJXJ1YJjB4wrHx","tlshash":"b472d84d7201b46d56af76a61c3b164ae1326428358904bcb4e0f4f94879e8fb93bf37","size":16285,"data":"","first_seen":"2026-07-23T13:54:09.098812Z","last_seen":"2026-07-28T06:17:53.347331Z","times_seen":308,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.46024.97176aa48fe9d9a0d127.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"07d126f5f997c2ed316e3742d5b45af1","sha1":"826dfb648f32acec5e5699cc15a08026e137e6a3","sha256":"fb0cd50a605d7edce14affef79a6dfae9404ba2f7d7818008345363e9e26a988","sha512":"c7114acc89392a1469487feb62b74be0cd3a585a3b5d7a4bb38f30575f557f59860a020911d77ff07f283945810bbfe3bd8586e314442a21ea0c2e1e3625bfc6","ssdeep":"3072:WFM91hHo+AyVKC+wNBsx4A5b0jp4mMGOlyIhVh4dt//9:WFM91hHo+Ay/NNBM4A5bsp4mMGOlVp4d","tlshash":"69b3fe03c901d0ea9fb2d6063ba5dcc878f0774541f0e6c27b998f29c5a3da6593a778","size":115596,"data":"","first_seen":"2026-07-25T03:24:57.378453Z","last_seen":"2026-07-28T04:58:41.981265Z","times_seen":293,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/iframe_api?v=3.2.10","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.151.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"995a58cfca5d586dca3b5579b3dc9f3d","sha1":"4eedb0ee98b595a39b4839a80c76aebe95e55f37","sha256":"412370935f9625c094daf0f288c67a20b7882914f7a07d17819d5041c8cf87c9","sha512":"2916b5b66e474f3876fb9a6166fff2b69221dcba05894564307a63dbdd80bdffd565c730a50be61ed1bc31c956fa70e78bca3e56e14d2b28d4a0746b2d9494d7","ssdeep":"","tlshash":"cd11ed7b3d84e639865894e4a03fc31cf1b224957c50cd9110cde899e65cacadd2d5fc","size":993,"data":"","first_seen":"2026-07-22T11:04:10.481101Z","last_seen":"2026-07-27T15:49:31.725782Z","times_seen":756,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/34678.4a992aa150d8eda5f29c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"64083c0234bda2342afde952ad595ff1","sha1":"9de336bb851649fef34561583d096a3859314ba7","sha256":"c466ce31a3b07b166d26cf6a472c415df8a148dce9df6e232151349a72e1d8fc","sha512":"a269c9660021311bb08ba6849fe621cd4162f40400e6946e2623373ecbc7e741a5ef06b7b05041d0f49c0350603fbe5e6fa62ea47a82a5fcaef9a6270014c765","ssdeep":"192:AJfFriQ107DuXc1MatsfICpyxjb9yQaAKM2pRZPu+uFRMVIMLC:AJfFrF46cTmxygQaM2pRZP6FuqMLC","tlshash":"5622b68832f1f0e643e368e440ab0406f139690a544eb5a4e396e2d36d75fc5c1bbfe6","size":10099,"data":"","first_seen":"2026-07-23T13:54:09.149892Z","last_seen":"2026-08-10T05:01:09.71101Z","times_seen":497,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b35e59efb0bd11483b985f2bd44f849a","sha1":"c6462f8d45b288692eefab16cfce1bde8633a682","sha256":"aa5adcee7d49a8b57e50e07d14931f3c5213ddbe82695bbab124f86371af9dfa","sha512":"ef350f2c4925c583157615f8d1dd4471e1f6fd1336c82a65652400776b43fba8fc75a96d410457e518e6a1dbd3f932f6386b6c178959ff9de6c112734a06ac42","ssdeep":"1536:q/H3qVRbkqWN+plfUCCCsHllfltQO45eQjF4ff1qcfTjD5NQcj1kfBZoBIgd6:q/H3qXkCp8R7Igd6","tlshash":"013308547175b0384ad720aed43b0407b36a68a9b41f51a8f2f49ddd35edd8cd22ab3c","size":52312,"data":"","first_seen":"2026-07-24T11:36:48.152611Z","last_seen":"2026-07-28T06:17:53.344523Z","times_seen":102,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d746cbb1cbb3033c0484bc6acc81a55f","sha1":"25835aa4b4538d7962fa37c481b6f7bfcda4defb","sha256":"32489cc5023595f6e286bacc217f9666840467c5cb7f6a71e6fb993778a0f9f6","sha512":"88e18428248f514fce026ba9332b9229d8c5a25977939e792b749ec42051dc847c18d6dcc6d9880fff271e42f1b5e048da19ecc06a555fd9b1e0b749752b605e","ssdeep":"768:ncRuzQtjfXqCO3EDR9kE9OO4f5B1i/RHUFLqhBRso7HiqZEFhSoO0JJyERE+wOjb:nPanOeH9TO+eFNrWJfeZP","tlshash":"83b29612655d58eb97f207a3ad70284bd2339da71b0fad54309d44df3cae821227eb71","size":24600,"data":"","first_seen":"2026-07-20T16:56:18.378997Z","last_seen":"2026-07-28T06:17:53.622711Z","times_seen":97,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-screener.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":"1d1f8c8f959c6dfe16b5df875e3e6a20","sha1":"05c8ccc14d187d3f57e68109996ffb71835de5a8","sha256":"362c5302b447aa33060156e760f193574c506b4bcbcce3d720c0422a830da740","sha512":"66818bdae0d6b15dd9e97bd4ab64b6396595b2f685c5643165618cfce9f13699a12db224ea81c51e78e303be467795c01dd25084441a89c487fab2fcfb37882c","ssdeep":"384:gfLuCWoofYkFdjEUjrb2oNf0qIOj26eoVH7MXt:u4MUnb2oJDIOj26eQYXt","tlshash":"f452c6aab660ecbd41d945cbe07a2720b61d3a44b207eca4b5acd4c550edccca531f7e","size":13242,"data":"","first_seen":"2026-07-16T20:48:56.348973Z","last_seen":"2026-08-10T05:01:44.136894Z","times_seen":335,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_screener_v1_widget.3c6dcb48241b38ad20cd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b07d7762afc64303abb48d31f9b49b37","sha1":"1c890e25377b837bc68ec086492e285e65d16c18","sha256":"1eb5c13d7babdf9d1b73d7ad5a55022781e5d3f382adc1ee187565d64a40827f","sha512":"a8f88cc675c375635ddd8bede571efff87e5328f1d0d90c979d7b07ebc0ae4eb81802b64a9d6eff50ce17142110fbbb224ff8fc3c4c22a1338431110a908c8b5","ssdeep":"12288:N5WOCvvhWwgPkUciIrBbM37JDMclwUYGZTw7yhLrLl1wrFh:N5WOitgPkDiIrBbM37JDMclwUYGZTw7N","tlshash":"8dd43a71a1a5293011f6c2dad8b66406623d2647f80604adfe7d8cdf168ee45f13bf3a","size":602700,"data":"","first_seen":"2026-07-25T03:24:57.336653Z","last_seen":"2026-07-28T04:58:42.134177Z","times_seen":291,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.40528.289cbeb8632c78beb058.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9cc57475f4bc0e83551677f01ccb8326","sha1":"7788d2091a21e10ce4b20002d0875d298f78abdf","sha256":"aa7b0b72c05e6c30b63168c1ba891445e1f0b8805b81cb23935b9223f1388695","sha512":"441f0b713c7694da019960f7436a51911c9fed2b5b0175690d67e8ed7cee4263fa6e48b0b551d23792bf6a38cae5f76b7a06562338a3c793337c2d3eaaa09765","ssdeep":"","tlshash":"34f0a233c10959303f15639473c566518169714fe39280575123b1e053c3ca8e4ceedd","size":625,"data":"","first_seen":"2026-05-05T12:17:23.734679Z","last_seen":"2026-08-10T05:00:33.693328Z","times_seen":479,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8946.0be20cf5b56838bd1cdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"db8665d50bbb7613ae4d5ff6618efb3c","sha1":"72a0474595ec30ff0f5b29570e7d187a4fa34bf9","sha256":"fb3be873ebdfbe3bb4183024dae7c56fffbf7bea33c01b1f7e13d8881b2d73b9","sha512":"a6a8b9b47236538cc2a9b1b522fad8d83f2d3dc7bfbe876ca6cce7a11cb9e780846d3701f295f97ada93ab31796dc3f2300f38706cefc2b939261da5325e75ca","ssdeep":"768:3iSitKD8BRCVEvoJvvI2TWRe3/E05YFa9dOJiGHE9E1RInrGhbnFT8hu7tOq+CKX:bitKDeSEAJHj3f8hbWBp","tlshash":"a5e2f7513531714852fba5eb99da062ce334732ce8248e25a8f1dc8c7ae5ae0e377d4c","size":32955,"data":"","first_seen":"2026-07-22T17:32:48.084118Z","last_seen":"2026-07-28T19:45:51.62328Z","times_seen":80,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52509.40659470e51b065d5139.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b7af9caf2d203689250c618a39d39029","sha1":"54e22965aaf8dd894b275b582cc30705d69821ad","sha256":"2600de068f623019889e62254b9834e05e70d376b307a4ad6b859f23cdcc8f8a","sha512":"3ef3adc84c046249eb8338da914e3af339fc2a92d8f0ae731d3b82dfc79a838b32bb4601581fb9d42f1ad5dece74230ddca8b9193f7acb1a023a1892cc8633eb","ssdeep":"1536:p5+ejeWbrN0Y4NT7JDMclwUYGZTw7yhLrLl1wrFMl:p5+ejDbrSY497JDMclwUYGZTw7yhLrL5","tlshash":"4833a36890d52d392df542f540ab2010e8ade8974d9610a6efef4dbf4940ac9b13ed3f","size":50917,"data":"","first_seen":"2026-07-23T14:00:31.718819Z","last_seen":"2026-07-28T04:48:50.487518Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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-08-10T05:01:09.739398Z","times_seen":1412,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70644.448743def325feb61967.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8cde28c2b9d157a818e87a14278c7a00","sha1":"1de831d7926ffcdfe3bdd82419e6225185d37e34","sha256":"f5576d28408b822a04da2e824feb2d936edf1e1959b29e0849e709c4ff1beba7","sha512":"dfeb6f084e4ee784b4a74a0525c09ed8d481320b0708417429758d5d393b7f6eec9e153c60a63025903dc145cd998cce1676335c44ba0e9011bf068fb3dd2e24","ssdeep":"384:57bUjPiPk+mozZ2DZNFAw0wg7LEJ8yBzjkjWQIfQ/6URF2a6nUFlUTr1H6ssDLv5:57gjPi8+hiTRXbfQOXXUFwhHnecsfHp","tlshash":"ae13f5c936d6b02452b73475007f710bf23eaea1284e8450d117e8d87cb5a9fa27be6d","size":42319,"data":"","first_seen":"2026-05-23T04:38:21.326763Z","last_seen":"2026-08-05T03:55:36.948443Z","times_seen":956,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/www-widgetapi.vflset/www-widgetapi.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.151.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"f169a9e94953731cb0dd5faef429318c","sha1":"f45e6b6193cd71c1eb183c51bc65c84a8aeb6719","sha256":"3aeb791f41afb9d7500326010b8852214536360b695c2d0328f4fd265badb21f","sha512":"cd7412530b69607b86d4dff17990a998e2e471f38eda724d55e2886738a75ade824cfdf11e37f976ac63ac431297869dacf364df631987a52e23ef79e5b1ba70","ssdeep":"384:lavCc95Hmr6jQumbwoPtjJTfgX+pnB4yeCzwCzUB1lzh9nYi0PC0nX1IXwK:lrS5U9io1jhfayRSnnYi6FGgK","tlshash":"3dc2e9cd7bb1b471437366b5802f100fb23e58aeb408c698b288d8e16db55690677f7e","size":26769,"data":"","first_seen":"2026-06-15T12:26:58.098489Z","last_seen":"2026-08-10T09:09:17.719325Z","times_seen":10356,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","size":18024,"data":"","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-10T08:00:01.079467Z","times_seen":8272,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42212.4754c2804ab9a979776b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e76e3cc979825bc25c1aa111b75bd78b","sha1":"6113f71858e18e692dc20143a9c20e222a5cc559","sha256":"bddee1e8d256f7e1fad4922a61955b4edaf993c3c78d20ce8c5ebd04ad4a3c21","sha512":"0d629425dab529dffde41a65bf8dacd4d7bd38f868a631db502b2eac3cf58f53c08d489b94580f84b89263cda52fe48cb17f0d61d27f55132f6ee350a2b8d719","ssdeep":"768:XuCACOy5bi5yIx6nSiRUhAmhY1pQZ7U49dSH7Y9syV2zNRbMMUzGTvFr9t7bRkzm:vLbRIAS/AmY1pQakdSb0saNzkbPlgQHL","tlshash":"74f219e071d5b05163d740eb843f4402f1692e2578064961fa6d9cdebe6c889723bfbc","size":36705,"data":"","first_seen":"2026-07-23T14:00:31.440048Z","last_seen":"2026-07-28T06:17:53.389232Z","times_seen":122,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"012b19873ae550b0ac01861ba22c40d6","sha1":"d046baf7d21186590435643dfcaae010980cf02d","sha256":"ea8993b45e050b00b0c9f192820f9dd9d19b496d0915eab277f8a4e8d2855894","sha512":"c67cd6ee2ca902a6a5e4e6637b02a50d545bf653062bdad2b68810086db8adba534dfa065e2596c8c605ef0d40a451acd3bad6cf06580c05446349c8e9047841","ssdeep":"768:62g2dzQiBy1d8Xne9Rsdcr5n9caI3CqAUSfGEoZd69a8J13oTRcf:62g2dzQbXVIyGGGEoGZ2af","tlshash":"6ae22d9071d1b0e956f785eb807f0546f3372968780d4c24b279dccdbaec898a136fa9","size":32303,"data":"","first_seen":"2026-07-23T14:00:31.699735Z","last_seen":"2026-07-28T06:17:53.408658Z","times_seen":80,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a33d79b36d31bad99801ac951429ec12","sha1":"0132a8f4734c731690767f7346c30377761aed71","sha256":"42e14e00fdcb59805d9b1fc3225db0713e0a8ce22f25639326da817409380856","sha512":"b85e7f37730215e956573da5116e3901e2dc95b7c20bf9dba114b73817e363a0af560933b8f1193dae05ec6d87310bb3f73d9facec95f9521a846a4a0bacee6f","ssdeep":"768:1VZTM7OTm7FZkgTGJPrOvJ1UKxQcGhXEwpMALDw0Iv6CCVmXRfoUUUh3W//YWXgK:1MT2AbUKuXEgMPCVmpRK","tlshash":"0353f953b3045e4e75abe1e7ce2d8d49978e50a3304ac234f5efaed8229647fd623844","size":61870,"data":"","first_seen":"2026-07-24T15:28:44.934306Z","last_seen":"2026-07-28T04:48:50.535574Z","times_seen":57,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.62351.b382da174f097a0d0e43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"592868958f083a645011c18526be50f6","sha1":"33a4aca0ed967d4c042777d21cfe064a9fe7621b","sha256":"9ac1b143f8bfa585ff4c79336d6e869e8236f9a663d1610bf4d1f2f452e5cf6c","sha512":"8a8bcd9d03298df1b5917f0bbe544ffe5779ee6ff2037cbab84cf0a15996a5208f3d75e6bb1d5f3a27bfd89ad8e3d452b3de058cdd314aeca07608d8c12a14b6","ssdeep":"1536:HcIavPJ0d2mzNQgTQ4yBoYSovc3fVfcD/WZz67dvUOPpguNd3mTdED:F2mzNhE4yFc3fVTudGu7D","tlshash":"e9d3cd07e140a4d66b71c15237cadcc9bdf4a88a43e0c685739adf38c52be2762b6d74","size":133378,"data":"","first_seen":"2026-07-24T15:28:44.72755Z","last_seen":"2026-07-28T06:17:53.366836Z","times_seen":205,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ca16eedb4932efab6658de430f67af2a","sha1":"fce9eb628927ab71953c562e3a65fe13ca72be21","sha256":"14234f0a1c16909a4af2c7348f8265146e98794a1c52017555b2d96561ba5459","sha512":"40ed5707b4aab15ea10be9fe2d32430f9597821ea08af6d9bdfbaa33010702af2e601fdfc65223136d87284c27acb6ee7fdb3f1897206295648d507f3a43b779","ssdeep":"","tlshash":"bb31125030b2245c20ac9bea967b6637860091547645e33cb3ee3cec479de1cbeb167b","size":1538,"data":"","first_seen":"2026-06-30T14:35:40.516552Z","last_seen":"2026-07-28T06:17:53.441118Z","times_seen":328,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53297.a6f6547cdad8d37971fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"c6a3f4550b8b4efa1a9ac0a26ab757a6","sha1":"376e5c7e4bf11c4c576ba0a644af8f841f17c662","sha256":"e673211228f9cec0ee6b36576c556da8959897ff56e4baa281606d9694f888fc","sha512":"fbe34869d39b17339388031748218f6816d1fe3b5a9dea653c536c49ea8fa574d3164227efd1dceb114737127e80c52c98fa1f254d7bbc7863dcf4fb37759723","ssdeep":"1536:QGwKmjvbKAmbj5HdO/Z8y+xp2PFg4PPNn42M:9XA299O/Z8DxpyFg4PP6b","tlshash":"ee535c40b160b0fc45e7809ad52f049ae33b1558b46648e8f53ddcec2a9adcdb267e7c","size":66470,"data":"","first_seen":"2026-07-24T11:36:48.185143Z","last_seen":"2026-07-28T06:17:53.363963Z","times_seen":103,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.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"},"introduction_type":"scriptElement","is_inline":false,"md5":"5f5b2f579bfcf6854f67787677d11c94","sha1":"6de49cc606825ccf66acbceb2ba4d23d91f0ec4c","sha256":"38c41c9069ed7604e737e462760f16363aad09961b1091c66dfab594df263108","sha512":"3a309c43d694230393cf3d65bb8e48af52ff337f61f287f020e266764e5df3ad2531cd999bc8dbf42e74c27546fd871a68515a183ef1c35d24e0c0cb77549a6c","ssdeep":"384:KossZPZ8HYrU0jAWia49Aa4/WHA1E9y3ywtUPIsxmvxqlOwSCoBPy7:KossZPZEYrU0AWPXa4/WHH9WywtUgsSi","tlshash":"9752c9ea72c1357251da45a7613e7202a3394588f4898178b52cecdf172edcd73b2abc","size":13639,"data":"","first_seen":"2026-07-23T13:38:20.421953Z","last_seen":"2026-07-28T07:05:00.655649Z","times_seen":1232,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ff08c213214941a305e07e2e0aecf577","sha1":"cdefa4d26a111dfe184184912992dfdcfb77f002","sha256":"484233793afe63cd2f9df537c6819b1489f21625d4d0ee9ed41ad56b71117b59","sha512":"c787b5e2bdf2f3a3eb2d122f888029d3317c0a1366c56e6cd295c5e8cbb2a4ca7cb624ef86de5ce26f6f5ca73b2ec98c925506b5e39cd6c8e42424ca470e7ab1","ssdeep":"6144:eetdrmSRezirtVcbkZ0PVvoxvNvyc4441G8/BSGTees55hok0Otik21pcV:eetdrts+0PNofvB41G8/BSGieKhCOtiQ","tlshash":"68645d91b2957ca663e740e6947a0103a72918c67802536cf7bc8dce270dd8d7276fbe","size":307359,"data":"","first_seen":"2026-07-24T11:36:47.992194Z","last_seen":"2026-07-28T06:17:53.368675Z","times_seen":205,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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"},"introduction_type":"scriptElement","is_inline":false,"md5":"9f9984517a8cd65036faf42932513a8f","sha1":"05cac6f7fbc24daccaaefb92b34f6eecdc91d8d1","sha256":"597ae9e64dd837a96e9166ffeb016e0757a49f06719163620ea9c616bae3ea2a","sha512":"f122449c6f6d72c179c4a59ec669368d3caaf2e5fc59ab4dbe5a3b10c172380e9033fe19842cb0c81ba7ef956058ff787693678223786ed92f6f5188ca177f44","ssdeep":"96:S0yn+dFlV8m0eKoPnRuKfeYX1X45tTZkcdrEAUbNfBn3Codbrbth1o3I9dxKsbRN:S0yn+dFlV81YRuKWYXWhdrIBn3Pjh1Ag","tlshash":"faa1b6c630f770d673aa19e5813b0447f2be09d13a0b96e5b4989cc938750167a63fac","size":4721,"data":"","first_seen":"2026-07-23T13:38:20.419582Z","last_seen":"2026-07-28T07:05:00.696213Z","times_seen":1428,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39166.21343209d8750da3693a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b68d046060944bd28bdaa7f0e942ac50","sha1":"d67bd155c5a81d6207a36c06d87e373a2d1274d9","sha256":"ddee550aa6471222ab57b074664f8cbb7c653a66cda78327bc070e5ec00115bf","sha512":"3cef94486ec2c6ca58ba870ecb861078fc7582080cab43eb1197124b05e744d9e7cd1d3fd61274210e0e79f3823865041f7ed106e3157d5d9965a576c67ce742","ssdeep":"96:xAWBjuVYfVYcU4pp0hv+CN8fhLV4QJF2KBzo3s/t7ooT9e+N0Q0ZsJgqGq/uA:qWBDUI0hv+1hjF2KzSwk340t2JrGqt","tlshash":"12b1f898b3a0780c2127507f91376f29bf1d7e98241d5871f43cecae309ea969335e26","size":5566,"data":"","first_seen":"2026-07-22T16:00:00.545232Z","last_seen":"2026-07-28T06:17:53.537858Z","times_seen":113,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"038623c38228a4865caf89b1ceed9af4","sha1":"fd2acb21c02b96c3c9c1f1081dab960c7031d783","sha256":"b8d3050d5622dc00f843f06bba75b96d7e07f17b7a71a3e5b77c9d30e3c91720","sha512":"dccd582f4658fc2f09410a5304dd63fe7d4e6420b4a961d737904968f4ca733ac1a0ece06f7a4e90ebf80305f0edcfd2a5fb95ea52ea369659b342075df8d55b","ssdeep":"384:he30HE+F6f00MWmgOsLEWioQLsiJrTNk20ptZTEjifF:hJEU6f00yzsYWxQLsiJrTT0ptPF","tlshash":"6282a5cdf5c0b0a75a93b8b040bf128bb23a6940bc5d9130d116f9d57d7a81ea163fad","size":18445,"data":"","first_seen":"2026-07-23T14:00:31.677621Z","last_seen":"2026-08-10T05:00:33.76802Z","times_seen":138,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93426.0083d163d728bff784d9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2d347eb2f7b046ec91197c1181d0e178","sha1":"fa3f74deaffe52fd98be22519cbaf8bdaab25947","sha256":"fb7eabec75f8061e8b8fc70989b366069567cd7a0d2cd1a967ea3d6ca229cd65","sha512":"6dfe90357513672ec3cb8f8c8d0c67ae193c641e15eaeb723bf4a2748ee7b3d22bb3fdf28d26b845a0b94c9893fac86c325ec3b65c99d6c7edc47634f2033447","ssdeep":"1536:6J/J5J4hb3JAHbuOrju2mA83n6XAtKD/BHJMs3v5c1W0U9z51qKrDGwPzPAIF7Vg:vhb3JAHtVmAdDUgQlbF","tlshash":"c6430856b251246721da00eba077100bba3e55d5744484bdb13cdcce26aec8eb2b7fbd","size":57327,"data":"","first_seen":"2026-07-23T13:54:09.127319Z","last_seen":"2026-07-28T06:17:53.420467Z","times_seen":309,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/38086.990b013ae325a9b5099a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"12ee02cfd5ac5d5c313f3b01d8594d67","sha1":"9c5481266cf5613714714c6a1caf5e0a00d5a0fa","sha256":"e2c24b1c51c27795031a14e1f510e609acbee7e60d594e70c12b5bfe7331c5ea","sha512":"51808078a6bf5ec8b0ca47b4202cadc45f1ae8a112e67afadb66128b8145adb8f9cde349c93857081db86695e5c591f1407f80c3263466fcde7e098c4fdf3665","ssdeep":"768:/i1CR3M0b4wuYONncOogxxuaGy9yLsxtMgDA184HYtae6IkykW7FTSjtwgIlbSUr:CiM08weNcfgVmgxtMQu84HytLkyPTS5m","tlshash":"6ec23bd470a1a0ce12d206ddc17e9550e37b795cbc198e64f4a8ccee749e64a7338b6c","size":28047,"data":"","first_seen":"2026-07-23T14:00:31.722877Z","last_seen":"2026-07-28T06:17:53.453122Z","times_seen":108,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"widget-sheriff.tradingview-widget.com/sheriff/api/v1/rules/search?origin=https%3A%2F%2Fhuobiget.com","fqdn":"widget-sheriff.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"143.204.238.28","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.225Z","timestamp":1785136901225,"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":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sat, 27 Dec 2025 00:00:00 GMT","end":"Sun, 24 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"0A:93:73:BB:95:EC:D1:52:11:5B:CC:2D:92:43:D4:FD:5A:2E:BE:A4","sha256":"70:E8:96:A5:F6:09:13:92:CB:0D:3F:A5:37:C4:A1:0D:4A:F7:52:C0:C1:B6:21:DB:D5:92:33:3F:B5:7D:EE:0F"}}},"request":{"raw":"GET /sheriff/api/v1/rules/search?origin=https%3A%2F%2Fhuobiget.com HTTP/1.1\r\nHost: widget-sheriff.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\nx-amz-cf-pop: ARN53-P4\r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncache-control: public, max-age=3600, s-maxage=3600\r\nserver: tv\r\nvia: 443, 1.1 4c304736e6087956cb00821d710060a4.cloudfront.net (CloudFront)\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\ncross-origin-resource-policy: same-site\r\naccess-control-max-age: 86400\r\nvary: Origin\r\nx-cache: Miss from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: nCIHaahZqvFr7SapgPyYvb7lOFTFtpMi-5e-98G7fc-YtkSBdS3EzA==\r\n\r\n","headers":null,"cookies":null,"status_code":"204","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"]}],"data":{"size":0,"size_decoded":555,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":""}},"time_used":206,"timings":{"blocked":-1,"dns":6,"connect":22,"send":0,"wait":178,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32427.6d166f87b73672e561da.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.501Z","timestamp":1785136901501,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32427.6d166f87b73672e561da.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-6854\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 45a405c4272d4745cdb865c7bf892e05\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":26708,"size_decoded":6118,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (26708), with no line terminators","md5":"32fcdfd8c316846fd66f3170427e7c77","sha1":"6cd395666698972688086231acc7c92869c526c2","sha256":"611cc3a9b9a962bd86a58946c40f4db83ee7464d2fd0f96e5bdc128adc47279e","sha512":"c87b402782fb530431f851e0cdf6eea7fe311cf40f98235daa0427b63b098ffd61cf0bfac44287a5cacf81a5e799f4807074eb6a6d868fd6f35e7dd1313f3154","ssdeep":"384:NuoYQ+hStFKAD8LjW2KegDJbJiSFCJvkJrTKbA:YSPqW2KeuTKk","tlshash":"81c2e68af340717eba0b963c8746e1ec2748ec66d9024efef971e19045c27e652b6d1c","first_seen":"2026-06-30T21:57:43.46701Z","last_seen":"2026-07-28T06:17:53.401143Z","times_seen":228,"resource_available":false,"data":"LndyYXAtVWZER3loNUt7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjEgMCBhdXRvO2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6MTAwJX0uYnV0dG9uLUk4ckFuWFRSLndpdGhUZXh0LUk4ckFuWFRSe3BhZGRpbmctYmxvY2s6MCAwO3BhZGRpbmctaW5saW5lOjVweCAxMHB4fS5idXR0b24tSThyQW5YVFIud2l0aG91dFRleHQtSThyQW5YVFIsLmJ1dHRvbi1oRHRJb3hqVXtwYWRkaW5nOjAgNXB4fS5ncm91cC1oRHRJb3hqVXtkaXNwbGF5OmNvbnRlbnRzfS5tZW51LWhEdElveGpVOm9ubHktY2hpbGR7cGFkZGluZzowIDVweH0uYmV0YUJhZGdlLWhEdElveGpVLC5uZXdCYWRnZS1oRHRJb3hqVXstLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLXdoaXRlKTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0uYmV0YUJhZGdlLWhEdElveGpVOmZpcnN0LWNoaWxkLC5uZXdCYWRnZS1oRHRJb3hqVTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjZweH0uYmV0YUJhZGdlLWhEdElveGpVey0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9LmxhYmVsLWhEdElveGpVe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0b30uY29udGFpbmVyLWhEdElveGpVLm5ld1ZpZXctaER0SW94alV7cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9LmNvbnRhaW5lci1oRHRJb3hqVS5uZXdWaWV3LWhEdElveGpVLmRlc2t0b3AtaER0SW94alV7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDoxOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZTowfS5mdWxsLXVfUkFwbmlOLmxhc3QtdV9SQXBuaU4sLm1lZGl1bS11X1JBcG5pTi5sYXN0LXVfUkFwbmlOe21hcmdpbi1pbmxpbmUtZW5kOjdweH0uZHJvcGRvd24tTWJ3Qk1XRHl7bWluLXdpZHRoOjIwMHB4fS5kcm9wZG93bi1NYndCTVdEeS5uZXdWaWV3LU1id0JNV0R5e3BhZGRpbmc6MCA2cHg7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDoxOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZTowfS5kcm9wZG93bi1NYndCTVdEeS5uZXdWaWV3LU1id0JNV0R5LnNtYWxsV2lkdGhXcmFwcGVyLU1id0JNV0R5ey0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3A6MDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6MX0ubWVudS1NYndCTVdEeXttYXgtd2lkdGg6MzE0cHh9LmxhYmVsLU1id0JNV0R5e292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc21hbGxXaWR0aFRpdGxlLU1id0JNV0R5e21hcmdpbi1ib3R0b206OHB4O21hcmdpbi10b3A6MnB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9LnNtYWxsV2lkdGhNZW51SXRlbS1NYndCTVdEeXtwYWRkaW5nOjZweCAxNnB4fS5zbWFsbFdpZHRoV3JhcHBlci1NYndCTVdEeTpub3QoLm5ld1ZpZXctTWJ3Qk1XRHkpe3BhZGRpbmctdG9wOjhweH0uc3RhdGVUaXRsZS1ya3ZrRll6Mntjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSx2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSkpO2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjEwcHh9LnN0YXRlVGl0bGUtcmt2a0ZZejIuaGlkZGVuLXJrdmtGWXoye2hlaWdodDowO292ZXJmbG93OmhpZGRlbn0ubG9hZGVyLXJrdmtGWXoyey0tdWktbGliLWxvYWRlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLXNhdmUtbGF5b3V0LWxvYWRlcix2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpKX0udmFsdWUtZHIzdkdpblR7Zm9udC1zaXplOjE0cHg7dGV4dC1hbGlnbjpzdGFydH0udmFsdWUtZHIzdkdpblQuc2VsZWN0ZWQtZHIzdkdpblR7Y29sb3I6dmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUpfS5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbC1FWEdfMGhhSjpmaXJzdC1jaGlsZHttYXJnaW4tYm90dG9tOjZweDttYXJnaW4tdG9wOjZweDtwYWRkaW5nLWlubGluZS1zdGFydDoxMnB4fS5sYXlvdXRJdGVtLUVYR18waGFKe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzo0cHggMH0ubGF5b3V0SXRlbS1FWEdfMGhhSiAubGF5b3V0TWV0YS1FWEdfMGhhSntmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbi10b3A6MnB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnRvb2xib3gtRVhHXzBoYUp7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O3BhZGRpbmctdG9wOjNweH0udG9vbGJveFNtYWxsLUVYR18waGFKe2FsaWduLXNlbGY6ZmxleC1zdGFydDtwYWRkaW5nLXRvcDo5cHh9LmxheW91dFRpdGxlLUVYR18waGFKe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0ubGF5b3V0SXRlbVdyYXAtRVhHXzBoYUp7cGFkZGluZy1ibG9jazoycHggMnB4O3BhZGRpbmctaW5saW5lOjhweCAxMHB4fS5sYXlvdXRJdGVtV3JhcFNtYWxsLUVYR18waGFKe3BhZGRpbmctaW5saW5lLWVuZDoyMHB4fS5sYXlvdXRUaXRsZVNtYWxsLUVYR18waGFKe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uZWxsaXBzaXMtRVhHXzBoYUp7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zbWFsbFdpZHRoTWVudUl0ZW0tcldCY2Qxak17cGFkZGluZzo2cHggMTZweH0ubWVudUl0ZW0tcldCY2Qxak06aGFzKDpmb2N1cy12aXNpYmxlKSAucmVtb3ZlLXJXQmNkMWpNe3Zpc2liaWxpdHk6dmlzaWJsZX0ubWVudUl0ZW0tcldCY2Qxak0uc2lnbmFsLXJXQmNkMWpNe2FuaW1hdGlvbi1kdXJhdGlvbjouOHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLW5hbWU6aGlnaGxpZ2h0LWFuaW1hdGlvbi1yV0JjZDFqTTstLW1peGluLWlubmVyLWJhc2UtY29sb3I6IzAwMDA7LS1taXhpbi1pbm5lci1oaWdobGlnaHQtY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeSl9QGtleWZyYW1lcyBoaWdobGlnaHQtYW5pbWF0aW9uLXJXQmNkMWpNezAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tbWl4aW4taW5uZXItYmFzZS1jb2xvcil9MzAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tbWl4aW4taW5uZXItaGlnaGxpZ2h0LWNvbG9yKX02MCV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1taXhpbi1pbm5lci1iYXNlLWNvbG9yKX10b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW1peGluLWlubmVyLWhpZ2hsaWdodC1jb2xvcil9fS5zaGFyaW5nTGFiZWxXcmFwLV9VQ2xRVHQ2e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS50aXRsZVNoYXJpbmdMYWJlbC1fVUNsUVR0NntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lmljb25XcmFwLV9VQ2xRVHQ2e21hcmdpbi1pbmxpbmUtc3RhcnQ6N3B4fS5pbmZvSWNvbi1fVUNsUVR0Nntjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7ZGlzcGxheTpmbGV4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5mb0ljb24tX1VDbFFUdDY6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KX19LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0NntvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYWNjZXNzaWJsZUxhYmVsLV9VQ2xRVHQ2OmZvY3Vze291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLV9VQ2xRVHQ2OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0Njpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6Zm9jdXMtdmlzaWJsZTphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0NjphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2JvcmRlci1yYWRpdXM6NnB4fS5oaW50LV9VQ2xRVHQ2e2Rpc3BsYXk6ZmxleH0uYWNjZXNzaWJsZS1tRUdaQmZ1THtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYWNjZXNzaWJsZS1tRUdaQmZ1TDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjF9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZS1tRUdaQmZ1TDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtib3JkZXItcmFkaXVzOjZweH0udGl0bGUtdHNUb2JzeXB7Y3Vyc29yOmRlZmF1bHR9LnNtYWxsVGFibGV0U2VjdGlvblRpdGxlLW91SkpzVlU2LC50aXRsZS10c1RvYnN5cHtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQpKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouNHB4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZzoxMHB4IDIwcHggOHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uc21hbGxUYWJsZXRTZWN0aW9uVGl0bGUtb3VKSnNWVTZ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jb3B5TGluay1lM0JabVpYSHtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxOHB4O21hcmdpbjowIDEycHggNnB4fS5jb3B5TGluay1lM0JabVpYSCwuY29weUxpbmstZTNCWm1aWEg6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb3B5TGluay1lM0JabVpYSDpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1icmFuZC1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1icmFuZC1ob3Zlcil9fS5jb3B5TGluay1lM0JabVpYSDphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2ZpbGw6dmFyKC0tY29sb3ItYnJhbmQpfS5jb3B5TGluay1lM0JabVpYSDpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5jb3B5TGluay1lM0JabVpYSDpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmNvcHlMaW5rLWUzQlptWlhIOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS5jb3B5TGluay1lM0JabVpYSC5jb3B5TGlua01vYmlsZS1lM0JabVpYSHttYXJnaW46MCAyMHB4fS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEh7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmFjY2Vzc2libGVMYWJlbC1lM0JabVpYSDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGVMYWJlbC1lM0JabVpYSDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEg6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtib3JkZXItcmFkaXVzOjZweH0uc2VjdGlvbi1DcVBRQmc0WnttYXJnaW46LTJweCAwfS5zZWN0aW9uLUNxUFFCZzRaOmZpcnN0LWNoaWxke21hcmdpbi10b3A6NHB4fS5zZWN0aW9uLUNxUFFCZzRaW2RhdGEtb3Blbj10cnVlXXttYXJnaW4tYm90dG9tOjRweH0uYWRkQ3VzdG9tSW50ZXJ2YWwtQ3FQUUJnNFp7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH0uYWRkQ3VzdG9tSW50ZXJ2YWxEZXNrdG9wLUNxUFFCZzRae3BhZGRpbmctYm90dG9tOjNweDtwYWRkaW5nLXRvcDozcHh9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVXVQdjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1VdVB2OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtVXVQdjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8xLVV1UHY6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9Lm1lbnVCdG5XcmFwLXphcExoMHJSe2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG99Lm1lbnUtemFwTGgwclJ7bWF4LXdpZHRoOjM0MHB4fS5uZXdNZW51V3JhcHBlci16YXBMaDByUntwYWRkaW5nOjAgNnB4Oy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3A6MDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6MX0ubmV3TWVudVdyYXBwZXItemFwTGgwclIuZGVza3RvcC16YXBMaDByUnstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm9wZW5lZC16YXBMaDByUi5ob3Zlci16YXBMaDByUjpiZWZvcmUsLm9wZW5lZC16YXBMaDByUjphY3RpdmU6YmVmb3JlLC5vcGVuZWQtemFwTGgwclI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1leHBhbmRlZCx2YXIoLS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLWJvcmRlci1yYWRpdXMsMCk7Ym90dG9tOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbnNldC1pbmxpbmUtZW5kOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO2luc2V0LWlubGluZS1zdGFydDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7ei1pbmRleDotMX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm9wZW5lZC16YXBMaDByUjpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfX0ub3BlbmVkLXphcExoMHJSLmNsaWNrZWQtemFwTGgwclI6YmVmb3JlLC5vcGVuZWQtemFwTGgwclI6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKSk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrfS5hdXRvU2F2ZVdyYXBwZXItemFwTGgwclIsLnNoYXJpbmdXcmFwcGVyLXphcExoMHJSe21pbi13aWR0aDpjYWxjKDEwMCUgLSAyMnB4KTt3aWR0aDoxOTJweH0uYnV0dG9uLXphcExoMHJSLmJ1dHRvblNtYWxsUGFkZGluZy16YXBMaDByUntwYWRkaW5nLWlubGluZS1lbmQ6NnB4fS5idXR0b24temFwTGgwclJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjY1cHh9LmhpbnRQbGFjZUhvbGRlci16YXBMaDByUntoZWlnaHQ6MTI4cHh9LnNtYWxsSGludFBsYWNlSG9sZGVyLXphcExoMHJSe2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LnBvcHVwSXRlbVJvd1RhYmxldFNtYWxsLXphcExoMHJSOmZpcnN0LWNoaWxke21hcmdpbi1ib3R0b206NnB4O21hcmdpbi10b3A6NnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9LnNob3J0Y3V0LXphcExoMHJSe2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWlubGluZS1lbmQ6MDt0ZXh0LWFsaWduOmVuZH0udG9vbFRpdGxlLXphcExoMHJSe3BhZGRpbmc6NHB4IDEycHh9LnRvb2xUaXRsZU1vYmlsZS16YXBMaDByUntwYWRkaW5nOjhweCAyMHB4fS50ZXh0V3JhcC16YXBMaDByUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0udGV4dC16YXBMaDByUnttYXgtd2lkdGg6MTAwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LndpdGhJY29uLXphcExoMHJSe3BhZGRpbmctYm90dG9tOjJweDtwYWRkaW5nLXRvcDoycHh9LnN3aXRjaGVyTGFiZWwtemFwTGgwclJ7b3ZlcmZsb3c6dmlzaWJsZX0uZWxsaXBzaXMtemFwTGgwclJ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5idXR0b24tVTliMFRBczR7cGFkZGluZzowIDZweH0ubWVudUJ0bi1VOWIwVEFzNDpvbmx5LWNoaWxke3BhZGRpbmc6MCAxMHB4fS5kcm9wZG93bi1VOWIwVEFzNHttaW4td2lkdGg6MTQwcHh9LmRyb3Bkb3duLVU5YjBUQXM0Lm5ld1ZpZXctVTliMFRBczR7cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9LmRyb3Bkb3duLVU5YjBUQXM0Lm5ld1ZpZXctVTliMFRBczQuZGVza3RvcC1VOWIwVEFzNHstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm1lbnVDb250ZW50LVU5YjBUQXM0e2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lmdyb3VwLVU5YjBUQXM0e2Rpc3BsYXk6Y29udGVudHN9LmJ1dHRvbi13X2dES243Ty5pc0Rpc2FibGVkLXdfZ0RLbjdPe29wYWNpdHk6MSFpbXBvcnRhbnR9LmJ1dHRvbi13b0szVnhtbXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM3cHh9Lm5ld1ZpZXctcDVBbkcwR097cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9Lm5ld1ZpZXctcDVBbkcwR08uZGVza3RvcC1wNUFuRzBHT3stLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9LmNvbnRhaW5lci1KUVowSEtENHtoZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5idXR0b24tSlFaMEhLRDR7YWxsOnVuc2V0O2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cGFkZGluZy1pbmxpbmUtZW5kOjMwcHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5idXR0b24tSlFaMEhLRDQ6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tSlFaMEhLRDQ6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1KUVowSEtENDphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYnV0dG9uLUpRWjBIS0Q0OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1KUVowSEtENDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1KUVowSEtENDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLUpRWjBIS0Q0OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1KUVowSEtENDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpfS5idXR0b24tSlFaMEhLRDQ6aG92ZXIgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjNGE0YTRhMDAgMCx2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSAxMDAlKX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSlFaMEhLRDQ6aG92ZXIgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZTpkaXIocnRsKXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgtOTBkZWcsIzRhNGE0YTAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkgMTAwJSl9fS5idXR0b24tSlFaMEhLRDQ6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uYnV0dG9uLUpRWjBIS0Q0OmFjdGl2ZSAudmFsdWUtSlFaMEhLRDQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMzZDNkM2QwMCAwLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkgMTAwJSl9LmJ1dHRvbi1KUVowSEtENDphY3RpdmUgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZTpkaXIocnRsKXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgtOTBkZWcsIzNkM2QzZDAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSAxMDAlKX0udmFsdWUtSlFaMEhLRDR7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS52YWx1ZS1KUVowSEtENDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzNkM2QzZDAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2luc2V0LWlubGluZS1lbmQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS52YWx1ZS1KUVowSEtENDpiZWZvcmU6ZGlyKHJ0bCl7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoLTkwZGVnLCMzZDNkM2QwMCAwLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkgMTAwJSl9LmFjdGlvbi1KUVowSEtENHthbGw6dW5zZXQ7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjI0cHg7aW5zZXQtaW5saW5lLWVuZDowO291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmc6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjI0cHh9LmFjdGlvbi1KUVowSEtENDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjdGlvbi1KUVowSEtENDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWN0aW9uLUpRWjBIS0Q0OmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5hY3Rpb24tSlFaMEhLRDQ6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWN0aW9uLUpRWjBIS0Q0OmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWN0aW9uLUpRWjBIS0Q0OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY3Rpb24tSlFaMEhLRDQ6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7Ym9yZGVyLXJhZGl1czpjYWxjKDUwJSArIDRweCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5hY3Rpb24tSlFaMEhLRDQ6aG92ZXIgLmljb24tSlFaMEhLRDR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKX19LmFjdGlvbi1KUVowSEtENDphY3RpdmUgLmljb24tSlFaMEhLRDR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZSl9Lmljb24tSlFaMEhLRDR7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYWN0aW9uLWljb24tYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZSkpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyNHB4O3dpZHRoOjI0cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLUpRWjBIS0Q0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9fS5pY29uLUpRWjBIS0Q0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlKX0uYnV0dG9uLW80MHQ5TDVue3BhZGRpbmc6NXB4IDEwcHg7d2lkdGg6MTAwcHh9LmJ1dHRvbi1vNDB0OUw1bi5zbWFsbExlZnRQYWRkaW5nLW80MHQ5TDVue3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0udGV4dC1vNDB0OUw1bntmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3ZlcmZsb3c6aGlkZGVufS5zZWFyY2hCdXR0b24tbzQwdDlMNW4sLnRleHQtbzQwdDlMNW57bWFyZ2luOjAgNHB4O3dpZHRoOjEyOHB4fS5tZW51T3BlbmVkLW80MHQ5TDVuey0tY29sb3ItYWN0aW9uLWljb24tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKX0udXBwZXJjYXNlLW80MHQ5TDVue3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uZGVzY3JpcHRpb24taFZTM0k5cnN7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0KSk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MThweDttYXgtd2lkdGg6MjgwcHg7bWluLXdpZHRoOjE3MHB4O3BhZGRpbmctYm90dG9tOjRweDt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaVpHNDojMDAwMH0ubGFiZWxSb3ctX3VYalNTUTV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6Y2FsYygxMDAlIC0gNjBweCl9LnRvb2xib3gtX3VYalNTUTV7bWFyZ2luLWlubGluZS1zdGFydDphdXRvfS5kZXNjcmlwdGlvbi1fdVhqU1NRNXtwYWRkaW5nOjB9LmRlc2NyaXB0aW9uVGFibGV0U21hbGwtX3VYalNTUTV7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy1pbmxpbmUtZW5kOjU2cHh9Lml0ZW0tX3VYalNTUTV7bWFyZ2luLXRvcDotM3B4O3BhZGRpbmctYm90dG9tOjhweDtwYWRkaW5nLXRvcDowfS5pdGVtLV91WGpTU1E1OmJlZm9yZXtjb250ZW50Om5vbmV9Lml0ZW0tX3VYalNTUTUsLml0ZW0tX3VYalNTUTU6YWN0aXZlLC50aXRsZUl0ZW0tX3VYalNTUTUsLnRpdGxlSXRlbS1fdVhqU1NRNTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1pWkc0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tX3VYalNTUTU6aG92ZXIsLnRpdGxlSXRlbS1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfX0udGl0bGVJdGVtLV91WGpTU1E1e3Bvc2l0aW9uOnN0YXRpY30udGl0bGVJdGVtLV91WGpTU1E1OmZvY3VzLXdpdGhpbiAucmVtb3ZlLV91WGpTU1E1e3Zpc2liaWxpdHk6dmlzaWJsZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRpdGxlSXRlbS1fdVhqU1NRNSAucmVtb3ZlLV91WGpTU1E1LmFjdGl2ZS1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKX19Lml0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNTpiZWZvcmUsLnRpdGxlSXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmJlZm9yZXtjb250ZW50Om5vbmV9Lml0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNSwuaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmFjdGl2ZSwudGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTUsLnRpdGxlSXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmhvdmVyLC50aXRsZUl0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfX0udGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTV7bGluZS1oZWlnaHQ6MjRweDtwYWRkaW5nLWJsb2NrOjRweCAwO3BhZGRpbmctaW5saW5lOjE2cHggMjBweH0uaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1e2xpbmUtaGVpZ2h0OjE3cHg7cGFkZGluZy1ibG9jazoxcHggOHB4O3BhZGRpbmctaW5saW5lOjE2cHggMjBweH0uaXRlbUxhYmVsVGFibGV0U21hbGwtX3VYalNTUTV7Zm9udC1zaXplOjE2cHh9LndyYXAtX3VYalNTUTV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwLV91WGpTU1E1LmhvdmVyZWQtX3VYalNTUTUsLndyYXAtX3VYalNTUTU6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXAtX3VYalNTUTU6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0ud3JhcC1fdVhqU1NRNS5ob3ZlcmVkLV91WGpTU1E1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LndyYXAtX3VYalNTUTU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS53cmFwLXJCdEVmWlFJe3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0udGl0bGVXcmFwLXJCdEVmWlFJe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmluZGljYXRvcnMtckJ0RWZaUUl7bWFyZ2luLWlubGluZS1lbmQ6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjMzcHh9LnRpdGxlLXJCdEVmWlFJe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzt3aGl0ZS1zcGFjZTpub3dyYXB9LnRpdGxlLXJCdEVmWlFJIC5pY29uLXJCdEVmWlFJe2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmV9LnRpdGxlLXJCdEVmWlFJIC50ZXh0LXJCdEVmWlFJe2ZvbnQtc2l6ZToxNHB4O21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo1cHggMjBweH0udGl0bGVUYWJsZXRTbWFsbC1yQnRFZlpRSXtwYWRkaW5nLWJvdHRvbTo0cHg7cGFkZGluZy10b3A6NHB4fS50aXRsZVRhYmxldFNtYWxsLXJCdEVmWlFJIC50ZXh0LXJCdEVmWlFJe2ZvbnQtc2l6ZToxNnB4fS5sYWJlbFJvdy1yQnRFZlpRSXtmbGV4OjEgMCAxMDAlO21pbi13aWR0aDoxMDAlfS5sYWJlbC1yQnRFZlpRSXtmbGV4OjAgMCAxMDAlO21pbi13aWR0aDoxMDAlfS5tZW51LXNXUDJYV0Ewe21heC13aWR0aDozNDBweH0ubWVudS1zV1AyWFdBMC5uZXdWaWV3LXNXUDJYV0Ewe3BhZGRpbmc6MCA2cHg7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDowOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZToxfS5tZW51LXNXUDJYV0EwLm5ld1ZpZXctc1dQMlhXQTAuZGVza3RvcC1zV1AyWFdBMHstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm1lbnVTbWFsbFRhYmxldC1zV1AyWFdBMHttYXgtd2lkdGg6MTAwJX0ubWVudUl0ZW1IZWFkZXJUYWJsZXRTbWFsbC1zV1AyWFdBMHtwYWRkaW5nOjEwcHggMjBweCAycHh9Lm1lbnVJdGVtSGVhZGVyVGFibGV0U21hbGwtc1dQMlhXQTAubmV3Vmlldy1zV1AyWFdBMHtwYWRkaW5nLWlubGluZToxNnB4fS5tZW51SXRlbUhlYWRlci1zV1AyWFdBMHtjdXJzb3I6ZGVmYXVsdDttYXJnaW46MDtwYWRkaW5nLWJvdHRvbTozcHg7cGFkZGluZy10b3A6NHB4fS5tZW51SXRlbUhlYWRlci1zV1AyWFdBMC5uZXdWaWV3LXNXUDJYV0Ewe3BhZGRpbmctaW5saW5lOjhweH0ud3JhcC1ISjdTM1A0OS5mdWxsLUhKN1MzUDQ5IC5maXJzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLXN0YXJ0OjB9LndyYXAtSEo3UzNQNDkuZnVsbC1ISjdTM1A0OSAubGFzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLWVuZDo3cHh9LndyYXAtSEo3UzNQNDkubWVkaXVtLUhKN1MzUDQ5IC5maXJzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLXN0YXJ0OjB9LndyYXAtSEo3UzNQNDkubWVkaXVtLUhKN1MzUDQ5IC5sYXN0LUhKN1MzUDQ5e21hcmdpbi1pbmxpbmUtZW5kOjdweH0uYnV0dG9uV2l0aEZhdm9yaXRlcy1ISjdTM1A0OXtwYWRkaW5nLWlubGluZS1lbmQ6N3B4fS5pY29uLW9ORGlRQ21Oe3BhZGRpbmc6NXB4fS5yb3ctWDZTMDNPVmp7cGFkZGluZzowIDEycHh9LnJvdy1YNlMwM09WajpsYXN0LWNoaWxke3BhZGRpbmc6MH0ucm93LVg2UzAzT1ZqOmxhc3QtY2hpbGQgLnJvd0lubmVyLVg2UzAzT1Zqe3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9LnNtYWxsUm93LVg2UzAzT1Zqe3BhZGRpbmc6MCAyMHB4fS5zbWFsbFJvdy1YNlMwM09WajpsYXN0LWNoaWxkIC5yb3dJbm5lci1YNlMwM09WantwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS5yb3dJbm5lci1YNlMwM09WanthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3BhZGRpbmctdG9wOjFweH0ucm93TGFiZWwtWDZTMDNPVmp7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0KSk7Zm9udC1zaXplOjEzcHg7d2lkdGg6MThweH0uc21hbGxSb3dMYWJlbC1YNlMwM09Wantmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxNnB4O3dpZHRoOjE0cHh9LnJvd0J1dHRvbnMtWDZTMDNPVmp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0ubGF5b3V0QnV0dG9uV3JhcC1YNlMwM09WanthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOjEwcHg7bWluLXdpZHRoOjIwcHg7cG9zaXRpb246cmVsYXRpdmV9LmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09WajpiZWZvcmV7Ym9yZGVyLXJhZGl1czo0cHg7Y29udGVudDoiIjtoZWlnaHQ6MjdweDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjI5cHh9LmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09Wajpmb2N1cy12aXNpYmxlLmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09WajpiZWZvcmV7b3V0bGluZS1zdHlsZTpzb2xpZH0uc21hbGxXaWR0aC1YNlMwM09WanttYXJnaW4taW5saW5lLWVuZDo3cHh9LnNtYWxsV2lkdGgtWDZTMDNPVmo6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5sYXlvdXRCdXR0b24tWDZTMDNPVmp7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO3BhZGRpbmc6NHB4fS5sYXlvdXRCdXR0b24tWDZTMDNPVmogc3Zne2Rpc3BsYXk6YmxvY2t9LmxheW91dEJ1dHRvbi1YNlMwM09Wai5ob3ZlcmVkLVg2UzAzT1ZqLC5sYXlvdXRCdXR0b24tWDZTMDNPVmo6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxheW91dEJ1dHRvbi1YNlMwM09Wajpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5sYXlvdXRCdXR0b24tWDZTMDNPVmouaG92ZXJlZC1YNlMwM09WantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxheW91dEJ1dHRvbi1YNlMwM09Wajpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LmxheW91dEJ1dHRvbi1YNlMwM09WajphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9LmxheW91dEJ1dHRvbi1YNlMwM09Wai5pc0FjdGl2ZS1YNlMwM09WantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9LnNtYWxsV2lkdGhMYXlvdXRCdXR0b24tWDZTMDNPVmp7cGFkZGluZzo3LjVweCA2LjVweH0ubGF5b3V0QnV0dG9ucy1YNlMwM09WanttYXJnaW4tYm90dG9tOjEwcHh9LmxheW91dEJ1dHRvbnMtWDZTMDNPVmosLnRvZ2dsZXItcDVHaTJoSTF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udG9nZ2xlci1wNUdpMmhJMXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7cGFkZGluZzoxNHB4IDE0cHggMTJweH0udG9nZ2xlci1wNUdpMmhJMS5ob3ZlcmVkLXA1R2kyaEkxLC50b2dnbGVyLXA1R2kyaEkxOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50b2dnbGVyLXA1R2kyaEkxOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX19LnRvZ2dsZXItcDVHaTJoSTEuaG92ZXJlZC1wNUdpMmhJMXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRvZ2dsZXItcDVHaTJoSTE6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9fS50b2dnbGVyLXA1R2kyaEkxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpKX0udG9nZ2xlci1wNUdpMmhJMSAubGFiZWwtcDVHaTJoSTF7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWlubGluZS1lbmQ6MTRweH0udG9nZ2xlci1wNUdpMmhJMSAubGFiZWwtcDVHaTJoSTEuY2VudGVyZWQtcDVHaTJoSTF7bWFyZ2luLWlubGluZS1zdGFydDo0MXB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmUsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSkpfS50b2dnbGVyLXA1R2kyaEkxLmNoZWNrZWQtcDVHaTJoSTEuaG92ZXJlZC1wNUdpMmhJMSwudG9nZ2xlci1wNUdpMmhJMS5jaGVja2VkLXA1R2kyaEkxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIpKX19LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMSBzdmd7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50b2dnbGVyLXA1R2kyaEkxIHN2Z3tjb2xvcjp2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbik7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWh0bWwudGhlbWUtZGFyayAudG9nZ2xlci1wNUdpMmhJMS5jaGVja2VkLXA1R2kyaEkxIHN2Z3tjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LnN3aXRjaGVyTGFiZWwtcDVHaTJoSTF7b3ZlcmZsb3c6dmlzaWJsZX0uYnV0dG9uLVBWTHhLaElJe2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM4cHh9LmRyb3Bkb3duLVBWTHhLaElJe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApO2N1cnNvcjpkZWZhdWx0O21hcmdpbi1ib3R0b206LTZweDttYXJnaW4tdG9wOjdweH0ubGF5b3V0VHlwZS1QVkx4S2hJSXttYXJnaW4tYm90dG9tOjNweDtwYWRkaW5nOjEwcHggMTJweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnRpdGxlLVBWTHhLaElJe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCkpO2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOjEuNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnN5bmNDaGFydHMtUFZMeEtoSUl7bWFyZ2luLXRvcDo4cHg7cGFkZGluZzoxMHB4IDEycHh9LnN5bmNDaGFydHMtUFZMeEtoSUkubW9iaWxlLVBWTHhLaElJe3BhZGRpbmc6MTBweCAyMHB4fS50YWJsZXRXcmFwcGVyLVBWTHhLaElJe3BhZGRpbmctYmxvY2s6MCAxNnB4O3BhZGRpbmctaW5saW5lOjAgMH0uaWNvbi1QVkx4S2hJSXtkaXNwbGF5OmJsb2NrfS5pY29uLVBWTHhLaElJIHN2Z3tkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN5bmNMaXN0V3JhcHBlci1QVkx4S2hJSXttYXJnaW4tYm90dG9tOjEwcHh9LnN3aXRjaGVyLVBWTHhLaElJe2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2hlaWdodDozMnB4O3BhZGRpbmc6NXB4IDEycHh9LnN3aXRjaGVyLVBWTHhLaElJLm1vYmlsZS1QVkx4S2hJSXtoZWlnaHQ6NDBweDtwYWRkaW5nOjEwcHggMjBweH0uc3dpdGNoTGFiZWxXcmFwLVBWTHhLaElJe2Rpc3BsYXk6ZmxleH0uc3dpdGNoTGFiZWwtUFZMeEtoSUl7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0uaWNvbldyYXAtUFZMeEtoSUl7bWFyZ2luLWlubGluZS1zdGFydDo3cHh9LmluZm9JY29uLVBWTHhLaElJe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmZsZXh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbmZvSWNvbi1QVkx4S2hJSTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2Nlc3NpYmxlTGFiZWwtUFZMeEtoSUk6Zm9jdXN7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtUFZMeEtoSUk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Ym9yZGVyLXJhZGl1czo2cHh9LmN1c3RvbVRyYWRpbmdWaWV3U3R5bGVCdXR0b24tRTJ2N1didW4ud2l0aG91dEljb24tRTJ2N1didW57cGFkZGluZzowIDVweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCLINEA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.565Z","timestamp":1785136905565,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCLINEA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/css/all.min.css","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.481Z","timestamp":1785136899481,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /css/all.min.css HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/css\r\nContent-Length: 78191\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":78191,"size_decoded":78401,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"fd74d5128c08888b3ad4c715b33a58cf","sha1":"02a7fb585e3248aa3226177ea8c8f82c73e0dca9","sha256":"6fb2ea414dc91cd2c2ffb58048f5feaa01029b368836b5047e7edcf350b50c1a","sha512":"453d5bc7e255a77c479496fb17412a1173b77ee7fa33943e0d67761e2679303204c2fc4acc4f57a6776ef862c710512c981fc94afa923dd6b86dfdc192f9a87f","ssdeep":"1536:299xhathLHFLwXhrjU2AWFS1L0pgUrtfIf:C9xhathLHFLwXhrjU2AWFqL0WUrRIf","tlshash":"eb73157cd95f10924322dae197436242fb25763efe410c4cf2a1e78d9be1226a586fcd","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-07-27T08:27:57.33283Z","times_seen":8,"resource_available":false,"data":"LyohDQogKiBGb250IEF3ZXNvbWUgRnJlZSA1LjEyLjAgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20NCiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpDQogKi8NCg0KLmZhLA0KLmZhYiwNCi5mYWQsDQouZmFsLA0KLmZhciwNCi5mYXMgew0KICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDsNCiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bzsNCiAgICBsaW5lLWhlaWdodDogMQ0KfQ0KDQouZmEtbGcgew0KICAgIGZvbnQtc2l6ZTogMS4zMzMzM2VtOw0KICAgIGxpbmUtaGVpZ2h0OiAuNzVlbTsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogLS4wNjY3ZW0NCn0NCg0KLmZhLXhzIHsNCiAgICBmb250LXNpemU6IC43NWVtDQp9DQoNCi5mYS1zbSB7DQogICAgZm9udC1zaXplOiAuODc1ZW0NCn0NCg0KLmZhLTF4IHsNCiAgICBmb250LXNpemU6IDFlbQ0KfQ0KDQouZmEtMnggew0KICAgIGZvbnQtc2l6ZTogMmVtDQp9DQoNCi5mYS0zeCB7DQogICAgZm9udC1zaXplOiAzZW0NCn0NCg0KLmZhLTR4IHsNCiAgICBmb250LXNpemU6IDRlbQ0KfQ0KDQouZmEtNXggew0KICAgIGZvbnQtc2l6ZTogNWVtDQp9DQoNCi5mYS02eCB7DQogICAgZm9udC1zaXplOiA2ZW0NCn0NCg0KLmZhLTd4IHsNCiAgICBmb250LXNpemU6IDdlbQ0KfQ0KDQouZmEtOHggew0KICAgIGZvbnQtc2l6ZTogOGVtDQp9DQoNCi5mYS05eCB7DQogICAgZm9udC1zaXplOiA5ZW0NCn0NCg0KLmZhLTEweCB7DQogICAgZm9udC1zaXplOiAxMGVtDQp9DQoNCi5mYS1mdyB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHdpZHRoOiAxLjI1ZW0NCn0NCg0KLmZhLXVsIHsNCiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQogICAgbWFyZ2luLWxlZnQ6IDIuNWVtOw0KICAgIHBhZGRpbmctbGVmdDogMA0KfQ0KDQouZmEtdWw+bGkgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZQ0KfQ0KDQouZmEtbGkgew0KICAgIGxlZnQ6IC0yZW07DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aWR0aDogMmVtOw0KICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0DQp9DQoNCi5mYS1ib3JkZXIgew0KICAgIGJvcmRlcjogLjA4ZW0gc29saWQgI2VlZTsNCiAgICBib3JkZXItcmFkaXVzOiAuMWVtOw0KICAgIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW0NCn0NCg0KLmZhLXB1bGwtbGVmdCB7DQogICAgZmxvYXQ6IGxlZnQNCn0NCg0KLmZhLXB1bGwtcmlnaHQgew0KICAgIGZsb2F0OiByaWdodA0KfQ0KDQouZmEuZmEtcHVsbC1sZWZ0LA0KLmZhYi5mYS1wdWxsLWxlZnQsDQouZmFsLmZhLXB1bGwtbGVmdCwNCi5mYXIuZmEtcHVsbC1sZWZ0LA0KLmZhcy5mYS1wdWxsLWxlZnQgew0KICAgIG1hcmdpbi1yaWdodDogLjNlbQ0KfQ0KDQouZmEuZmEtcHVsbC1yaWdodCwNCi5mYWIuZmEtcHVsbC1yaWdodCwNCi5mYWwuZmEtcHVsbC1yaWdodCwNCi5mYXIuZmEtcHVsbC1yaWdodCwNCi5mYXMuZmEtcHVsbC1yaWdodCB7DQogICAgbWFyZ2luLWxlZnQ6IC4zZW0NCn0NCg0KLmZhLXNwaW4gew0KICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGxpbmVhciBpbmZpbml0ZTsNCiAgICBhbmltYXRpb246IGZhLXNwaW4gMnMgbGluZWFyIGluZmluaXRlDQp9DQoNCi5mYS1wdWxzZSB7DQogICAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgc3RlcHMoOCkgaW5maW5pdGU7DQogICAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIHN0ZXBzKDgpIGluZmluaXRlDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBmYS1zcGluIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKQ0KICAgIH0NCn0NCg0KLmZhLXJvdGF0ZS05MCB7DQogICAgLW1zLWZpbHRlcjogInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpIjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykNCn0NCg0KLmZhLXJvdGF0ZS0xODAgew0KICAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKSI7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykNCn0NCg0KLmZhLXJvdGF0ZS0yNzAgew0KICAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0zKSI7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZykNCn0NCg0KLmZhLWZsaXAtaG9yaXpvbnRhbCB7DQogICAgLW1zLWZpbHRlcjogInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKSI7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgtMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpDQp9DQoNCi5mYS1mbGlwLXZlcnRpY2FsIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKC0xKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSkNCn0NCg0KLmZhLWZsaXAtYm90aCwNCi5mYS1mbGlwLWhvcml6b250YWwuZmEtZmxpcC12ZXJ0aWNhbCwNCi5mYS1mbGlwLXZlcnRpY2FsIHsNCiAgICAtbXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpIg0KfQ0KDQouZmEtZmxpcC1ib3RoLA0KLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2FsIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLTEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLTEpDQp9DQoNCjpyb290IC5mYS1mbGlwLWJvdGgsDQo6cm9vdCAuZmEtZmxpcC1ob3Jpem9udGFsLA0KOnJvb3QgLmZhLWZsaXAtdmVydGljYWwsDQo6cm9vdCAuZmEtcm90YXRlLTkwLA0KOnJvb3QgLmZhLXJvdGF0ZS0xODAsDQo6cm9vdCAuZmEtcm90YXRlLTI3MCB7DQogICAgLXdlYmtpdC1maWx0ZXI6IG5vbmU7DQogICAgZmlsdGVyOiBub25lDQp9DQoNCi5mYS1zdGFjayB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGhlaWdodDogMmVtOw0KICAgIGxpbmUtaGVpZ2h0OiAyZW07DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgd2lkdGg6IDIuNWVtDQp9DQoNCi5mYS1zdGFjay0xeCwNCi5mYS1zdGFjay0yeCB7DQogICAgbGVmdDogMDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHdpZHRoOiAxMDAlDQp9DQoNCi5mYS1zdGFjay0xeCB7DQogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQNCn0NCg0KLmZhLXN0YWNrLTJ4IHsNCiAgICBmb250LXNpemU6IDJlbQ0KfQ0KDQouZmEtaW52ZXJzZSB7DQogICAgY29sb3I6ICNmZmYNCn0NCg0KLmZhLTUwMHB4OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjZlIg0KfQ0KDQouZmEtYWNjZXNzaWJsZS1pY29uOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzY4Ig0KfQ0KDQouZmEtYWNjdXNvZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNjkiDQp9DQoNCi5mYS1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmFmIg0KfQ0KDQouZmEtYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NDEiDQp9DQoNCi5mYS1hZGRyZXNzLWJvb2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyYjkiDQp9DQoNCi5mYS1hZGRyZXNzLWNhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyYmIiDQp9DQoNCi5mYS1hZGp1c3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNDIiDQp9DQoNCi5mYS1hZG46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNzAiDQp9DQoNCi5mYS1hZG9iZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc3OCINCn0NCg0KLmZhLWFkdmVyc2FsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzZhIg0KfQ0KDQouZmEtYWZmaWxpYXRldGhlbWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNmIiDQp9DQoNCi5mYS1haXItZnJlc2hlbmVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWQwIg0KfQ0KDQouZmEtYWlyYm5iOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODM0Ig0KfQ0KDQouZmEtYWxnb2xpYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM2YyINCn0NCg0KLmZhLWFsaWduLWNlbnRlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAzNyINCn0NCg0KLmZhLWFsaWduLWp1c3RpZnk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMzkiDQp9DQoNCi5mYS1hbGlnbi1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDM2Ig0KfQ0KDQouZmEtYWxpZ24tcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMzgiDQp9DQoNCi5mYS1hbGlwYXk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NDIiDQp9DQoNCi5mYS1hbGxlcmdpZXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NjEiDQp9DQoNCi5mYS1hbWF6b246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNzAiDQp9DQoNCi5mYS1hbWF6b24tcGF5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDJjIg0KfQ0KDQouZmEtYW1idWxhbmNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGY5Ig0KfQ0KDQouZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyYTMiDQp9DQoNCi5mYS1hbWlsaWE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNmQiDQp9DQoNCi5mYS1hbmNob3I6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxM2QiDQp9DQoNCi5mYS1hbmRyb2lkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTdiIg0KfQ0KDQouZmEtYW5nZWxsaXN0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjA5Ig0KfQ0KDQouZmEtYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMDMiDQp9DQoNCi5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEwMCINCn0NCg0KLmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEwMSINCn0NCg0KLmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEwMiINCn0NCg0KLmZhLWFuZ2xlLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMDciDQp9DQoNCi5mYS1hbmdsZS1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTA0Ig0KfQ0KDQouZmEtYW5nbGUtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMDUiDQp9DQoNCi5mYS1hbmdsZS11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEwNiINCn0NCg0KLmZhLWFuZ3J5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTU2Ig0KfQ0KDQouZmEtYW5ncnljcmVhdGl2ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM2ZSINCn0NCg0KLmZhLWFuZ3VsYXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MjAiDQp9DQoNCi5mYS1hbmtoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjQ0Ig0KfQ0KDQouZmEtYXBwLXN0b3JlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzZmIg0KfQ0KDQouZmEtYXBwLXN0b3JlLWlvczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM3MCINCn0NCg0KLmZhLWFwcGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzcxIg0KfQ0KDQouZmEtYXBwbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNzkiDQp9DQoNCi5mYS1hcHBsZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ZDEiDQp9DQoNCi5mYS1hcHBsZS1wYXk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MTUiDQp9DQoNCi5mYS1hcmNoaXZlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTg3Ig0KfQ0KDQouZmEtYXJjaHdheTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU1NyINCn0NCg0KLmZhLWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM1OCINCn0NCg0KLmZhLWFycm93LWFsdC1jaXJjbGUtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM1OSINCn0NCg0KLmZhLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNWEiDQp9DQoNCi5mYS1hcnJvdy1hbHQtY2lyY2xlLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzViIg0KfQ0KDQouZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwYWIiDQp9DQoNCi5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBhOCINCn0NCg0KLmZhLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBhOSINCn0NCg0KLmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBhYSINCn0NCg0KLmZhLWFycm93LWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNjMiDQp9DQoNCi5mYS1hcnJvdy1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDYwIg0KfQ0KDQouZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNjEiDQp9DQoNCi5mYS1hcnJvdy11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA2MiINCn0NCg0KLmZhLWFycm93cy1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwYjIiDQp9DQoNCi5mYS1hcnJvd3MtYWx0LWg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzMzciDQp9DQoNCi5mYS1hcnJvd3MtYWx0LXY6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzMzgiDQp9DQoNCi5mYS1hcnRzdGF0aW9uOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzdhIg0KfQ0KDQouZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmEyIg0KfQ0KDQouZmEtYXN0ZXJpc2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNjkiDQp9DQoNCi5mYS1hc3ltbWV0cmlrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzcyIg0KfQ0KDQouZmEtYXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZmEiDQp9DQoNCi5mYS1hdGxhczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU1OCINCn0NCg0KLmZhLWF0bGFzc2lhbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc3YiINCn0NCg0KLmZhLWF0b206YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ZDIiDQp9DQoNCi5mYS1hdWRpYmxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzczIg0KfQ0KDQouZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyOWUiDQp9DQoNCi5mYS1hdXRvcHJlZml4ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MWMiDQp9DQoNCi5mYS1hdmlhbmV4OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzc0Ig0KfQ0KDQouZmEtYXZpYXRvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDIxIg0KfQ0KDQouZmEtYXdhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NTkiDQp9DQoNCi5mYS1hd3M6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNzUiDQp9DQoNCi5mYS1iYWJ5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzdjIg0KfQ0KDQouZmEtYmFieS1jYXJyaWFnZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc3ZCINCn0NCg0KLmZhLWJhY2tzcGFjZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU1YSINCn0NCg0KLmZhLWJhY2t3YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDRhIg0KfQ0KDQouZmEtYmFjb246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3ZTUiDQp9DQoNCi5mYS1iYWhhaTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjY2NiINCn0NCg0KLmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNGUiDQp9DQoNCi5mYS1iYWxhbmNlLXNjYWxlLWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MTUiDQp9DQoNCi5mYS1iYWxhbmNlLXNjYWxlLXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTE2Ig0KfQ0KDQouZmEtYmFuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDVlIg0KfQ0KDQouZmEtYmFuZC1haWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NjIiDQp9DQoNCi5mYS1iYW5kY2FtcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJkNSINCn0NCg0KLmZhLWJhcmNvZGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMmEiDQp9DQoNCi5mYS1iYXJzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGM5Ig0KfQ0KDQouZmEtYmFzZWJhbGwtYmFsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQzMyINCn0NCg0KLmZhLWJhc2tldGJhbGwtYmFsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQzNCINCn0NCg0KLmZhLWJhdGg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyY2QiDQp9DQoNCi5mYS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjQ0Ig0KfQ0KDQouZmEtYmF0dGVyeS1mdWxsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjQwIg0KfQ0KDQouZmEtYmF0dGVyeS1oYWxmOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjQyIg0KfQ0KDQouZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjQzIg0KfQ0KDQouZmEtYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI0MSINCn0NCg0KLmZhLWJhdHRsZS1uZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4MzUiDQp9DQoNCi5mYS1iZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyMzYiDQp9DQoNCi5mYS1iZWVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGZjIg0KfQ0KDQouZmEtYmVoYW5jZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFiNCINCn0NCg0KLmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWI1Ig0KfQ0KDQouZmEtYmVsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBmMyINCn0NCg0KLmZhLWJlbGwtc2xhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZjYiDQp9DQoNCi5mYS1iZXppZXItY3VydmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NWIiDQp9DQoNCi5mYS1iaWJsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjY0NyINCn0NCg0KLmZhLWJpY3ljbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyMDYiDQp9DQoNCi5mYS1iaWtpbmc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4NGEiDQp9DQoNCi5mYS1iaW1vYmplY3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNzgiDQp9DQoNCi5mYS1iaW5vY3VsYXJzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWU1Ig0KfQ0KDQouZmEtYmlvaGF6YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzgwIg0KfQ0KDQouZmEtYmlydGhkYXktY2FrZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFmZCINCn0NCg0KLmZhLWJpdGJ1Y2tldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE3MSINCn0NCg0KLmZhLWJpdGNvaW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNzkiDQp9DQoNCi5mYS1iaXR5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzdhIg0KfQ0KDQouZmEtYmxhY2stdGllOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjdlIg0KfQ0KDQouZmEtYmxhY2tiZXJyeTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM3YiINCn0NCg0KLmZhLWJsZW5kZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MTciDQp9DQoNCi5mYS1ibGVuZGVyLXBob25lOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmI2Ig0KfQ0KDQouZmEtYmxpbmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyOWQiDQp9DQoNCi5mYS1ibG9nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzgxIg0KfQ0KDQouZmEtYmxvZ2dlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM3YyINCn0NCg0KLmZhLWJsb2dnZXItYjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM3ZCINCn0NCg0KLmZhLWJsdWV0b290aDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI5MyINCn0NCg0KLmZhLWJsdWV0b290aC1iOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjk0Ig0KfQ0KDQouZmEtYm9sZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAzMiINCn0NCg0KLmZhLWJvbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZTciDQp9DQoNCi5mYS1ib21iOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWUyIg0KfQ0KDQouZmEtYm9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVkNyINCn0NCg0KLmZhLWJvbmc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NWMiDQp9DQoNCi5mYS1ib29rOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDJkIg0KfQ0KDQouZmEtYm9vay1kZWFkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmI3Ig0KfQ0KDQouZmEtYm9vay1tZWRpY2FsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2U2Ig0KfQ0KDQouZmEtYm9vay1vcGVuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTE4Ig0KfQ0KDQouZmEtYm9vay1yZWFkZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ZGEiDQp9DQoNCi5mYS1ib29rbWFyazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAyZSINCn0NCg0KLmZhLWJvb3RzdHJhcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjgzNiINCn0NCg0KLmZhLWJvcmRlci1hbGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4NGMiDQp9DQoNCi5mYS1ib3JkZXItbm9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjg1MCINCn0NCg0KLmZhLWJvcmRlci1zdHlsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjg1MyINCn0NCg0KLmZhLWJvd2xpbmctYmFsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQzNiINCn0NCg0KLmZhLWJveDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ2NiINCn0NCg0KLmZhLWJveC1vcGVuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDllIg0KfQ0KDQouZmEtYm94ZXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NjgiDQp9DQoNCi5mYS1icmFpbGxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmExIg0KfQ0KDQouZmEtYnJhaW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ZGMiDQp9DQoNCi5mYS1icmVhZC1zbGljZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdlYyINCn0NCg0KLmZhLWJyaWVmY2FzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBiMSINCn0NCg0KLmZhLWJyaWVmY2FzZS1tZWRpY2FsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDY5Ig0KfQ0KDQouZmEtYnJvYWRjYXN0LXRvd2VyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTE5Ig0KfQ0KDQouZmEtYnJvb206YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MWEiDQp9DQoNCi5mYS1icnVzaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU1ZCINCn0NCg0KLmZhLWJ0YzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE1YSINCn0NCg0KLmZhLWJ1ZmZlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjgzNyINCn0NCg0KLmZhLWJ1ZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE4OCINCn0NCg0KLmZhLWJ1aWxkaW5nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWFkIg0KfQ0KDQouZmEtYnVsbGhvcm46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwYTEiDQp9DQoNCi5mYS1idWxsc2V5ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE0MCINCn0NCg0KLmZhLWJ1cm46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NmEiDQp9DQoNCi5mYS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzdmIg0KfQ0KDQouZmEtYnVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjA3Ig0KfQ0KDQouZmEtYnVzLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU1ZSINCn0NCg0KLmZhLWJ1c2luZXNzLXRpbWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NGEiDQp9DQoNCi5mYS1idXktbi1sYXJnZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjhhNiINCn0NCg0KLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyMGQiDQp9DQoNCi5mYS1jYWxjdWxhdG9yOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWVjIg0KfQ0KDQouZmEtY2FsZW5kYXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMzMiDQp9DQoNCi5mYS1jYWxlbmRhci1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNzMiDQp9DQoNCi5mYS1jYWxlbmRhci1jaGVjazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI3NCINCn0NCg0KLmZhLWNhbGVuZGFyLWRheTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc4MyINCn0NCg0KLmZhLWNhbGVuZGFyLW1pbnVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjcyIg0KfQ0KDQouZmEtY2FsZW5kYXItcGx1czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI3MSINCn0NCg0KLmZhLWNhbGVuZGFyLXRpbWVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjczIg0KfQ0KDQouZmEtY2FsZW5kYXItd2VlazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc4NCINCn0NCg0KLmZhLWNhbWVyYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAzMCINCn0NCg0KLmZhLWNhbWVyYS1yZXRybzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA4MyINCn0NCg0KLmZhLWNhbXBncm91bmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2YmIiDQp9DQoNCi5mYS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzg1Ig0KfQ0KDQouZmEtY2FuZHktY2FuZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc4NiINCn0NCg0KLmZhLWNhbm5hYmlzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTVmIg0KfQ0KDQouZmEtY2Fwc3VsZXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NmIiDQp9DQoNCi5mYS1jYXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYjkiDQp9DQoNCi5mYS1jYXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWRlIg0KfQ0KDQouZmEtY2FyLWJhdHRlcnk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ZGYiDQp9DQoNCi5mYS1jYXItY3Jhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ZTEiDQp9DQoNCi5mYS1jYXItc2lkZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVlNCINCn0NCg0KLmZhLWNhcmF2YW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4ZmYiDQp9DQoNCi5mYS1jYXJldC1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGQ3Ig0KfQ0KDQouZmEtY2FyZXQtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBkOSINCn0NCg0KLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGRhIg0KfQ0KDQouZmEtY2FyZXQtc3F1YXJlLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNTAiDQp9DQoNCi5mYS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE5MSINCn0NCg0KLmZhLWNhcmV0LXNxdWFyZS1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE1MiINCn0NCg0KLmZhLWNhcmV0LXNxdWFyZS11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE1MSINCn0NCg0KLmZhLWNhcmV0LXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGQ4Ig0KfQ0KDQouZmEtY2Fycm90OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzg3Ig0KfQ0KDQouZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjE4Ig0KfQ0KDQouZmEtY2FydC1wbHVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjE3Ig0KfQ0KDQouZmEtY2FzaC1yZWdpc3RlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc4OCINCn0NCg0KLmZhLWNhdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjZiZSINCn0NCg0KLmZhLWNjLWFtYXpvbi1wYXk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MmQiDQp9DQoNCi5mYS1jYy1hbWV4OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWYzIg0KfQ0KDQouZmEtY2MtYXBwbGUtcGF5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDE2Ig0KfQ0KDQouZmEtY2MtZGluZXJzLWNsdWI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNGMiDQp9DQoNCi5mYS1jYy1kaXNjb3ZlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFmMiINCn0NCg0KLmZhLWNjLWpjYjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI0YiINCn0NCg0KLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZjEiDQp9DQoNCi5mYS1jYy1wYXlwYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZjQiDQp9DQoNCi5mYS1jYy1zdHJpcGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZjUiDQp9DQoNCi5mYS1jYy12aXNhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWYwIg0KfQ0KDQouZmEtY2VudGVyY29kZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM4MCINCn0NCg0KLmZhLWNlbnRvczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc4OSINCn0NCg0KLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGEzIg0KfQ0KDQouZmEtY2hhaXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2YzAiDQp9DQoNCi5mYS1jaGFsa2JvYXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTFiIg0KfQ0KDQouZmEtY2hhbGtib2FyZC10ZWFjaGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTFjIg0KfQ0KDQouZmEtY2hhcmdpbmctc3RhdGlvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVlNyINCn0NCg0KLmZhLWNoYXJ0LWFyZWE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZmUiDQp9DQoNCi5mYS1jaGFydC1iYXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwODAiDQp9DQoNCi5mYS1jaGFydC1saW5lOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjAxIg0KfQ0KDQouZmEtY2hhcnQtcGllOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjAwIg0KfQ0KDQouZmEtY2hlY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMGMiDQp9DQoNCi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNTgiDQp9DQoNCi5mYS1jaGVjay1kb3VibGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NjAiDQp9DQoNCi5mYS1jaGVjay1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNGEiDQp9DQoNCi5mYS1jaGVlc2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3ZWYiDQp9DQoNCi5mYS1jaGVzczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQzOSINCn0NCg0KLmZhLWNoZXNzLWJpc2hvcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQzYSINCn0NCg0KLmZhLWNoZXNzLWJvYXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDNjIg0KfQ0KDQouZmEtY2hlc3Mta2luZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQzZiINCn0NCg0KLmZhLWNoZXNzLWtuaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ0MSINCn0NCg0KLmZhLWNoZXNzLXBhd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NDMiDQp9DQoNCi5mYS1jaGVzcy1xdWVlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ0NSINCn0NCg0KLmZhLWNoZXNzLXJvb2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NDciDQp9DQoNCi5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTNhIg0KfQ0KDQouZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEzNyINCn0NCg0KLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTM4Ig0KfQ0KDQouZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMzkiDQp9DQoNCi5mYS1jaGV2cm9uLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNzgiDQp9DQoNCi5mYS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNTMiDQp9DQoNCi5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDU0Ig0KfQ0KDQouZmEtY2hldnJvbi11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA3NyINCn0NCg0KLmZhLWNoaWxkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWFlIg0KfQ0KDQouZmEtY2hyb21lOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjY4Ig0KfQ0KDQouZmEtY2hyb21lY2FzdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjgzOCINCn0NCg0KLmZhLWNodXJjaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUxZCINCn0NCg0KLmZhLWNpcmNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjExMSINCn0NCg0KLmZhLWNpcmNsZS1ub3RjaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFjZSINCn0NCg0KLmZhLWNpdHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NGYiDQp9DQoNCi5mYS1jbGluaWMtbWVkaWNhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdmMiINCn0NCg0KLmZhLWNsaXBib2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjMyOCINCn0NCg0KLmZhLWNsaXBib2FyZC1jaGVjazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ2YyINCn0NCg0KLmZhLWNsaXBib2FyZC1saXN0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDZkIg0KfQ0KDQouZmEtY2xvY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMTciDQp9DQoNCi5mYS1jbG9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI0ZCINCn0NCg0KLmZhLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjBhIg0KfQ0KDQouZmEtY2xvdWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwYzIiDQp9DQoNCi5mYS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzODEiDQp9DQoNCi5mYS1jbG91ZC1tZWF0YmFsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjczYiINCn0NCg0KLmZhLWNsb3VkLW1vb246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2YzMiDQp9DQoNCi5mYS1jbG91ZC1tb29uLXJhaW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3M2MiDQp9DQoNCi5mYS1jbG91ZC1yYWluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzNkIg0KfQ0KDQouZmEtY2xvdWQtc2hvd2Vycy1oZWF2eTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc0MCINCn0NCg0KLmZhLWNsb3VkLXN1bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjZjNCINCn0NCg0KLmZhLWNsb3VkLXN1bi1yYWluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzQzIg0KfQ0KDQouZmEtY2xvdWQtdXBsb2FkLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM4MiINCn0NCg0KLmZhLWNsb3Vkc2NhbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzODMiDQp9DQoNCi5mYS1jbG91ZHNtaXRoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzg0Ig0KfQ0KDQouZmEtY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzg1Ig0KfQ0KDQouZmEtY29ja3RhaWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NjEiDQp9DQoNCi5mYS1jb2RlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTIxIg0KfQ0KDQouZmEtY29kZS1icmFuY2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMjYiDQp9DQoNCi5mYS1jb2RlcGVuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWNiIg0KfQ0KDQouZmEtY29kaWVwaWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyODQiDQp9DQoNCi5mYS1jb2ZmZWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZjQiDQp9DQoNCi5mYS1jb2c6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMTMiDQp9DQoNCi5mYS1jb2dzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDg1Ig0KfQ0KDQouZmEtY29pbnM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MWUiDQp9DQoNCi5mYS1jb2x1bW5zOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGRiIg0KfQ0KDQouZmEtY29tbWVudDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA3NSINCn0NCg0KLmZhLWNvbW1lbnQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjdhIg0KfQ0KDQouZmEtY29tbWVudC1kb2xsYXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NTEiDQp9DQoNCi5mYS1jb21tZW50LWRvdHM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0YWQiDQp9DQoNCi5mYS1jb21tZW50LW1lZGljYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3ZjUiDQp9DQoNCi5mYS1jb21tZW50LXNsYXNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGIzIg0KfQ0KDQouZmEtY29tbWVudHM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwODYiDQp9DQoNCi5mYS1jb21tZW50cy1kb2xsYXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NTMiDQp9DQoNCi5mYS1jb21wYWN0LWRpc2M6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MWYiDQp9DQoNCi5mYS1jb21wYXNzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTRlIg0KfQ0KDQouZmEtY29tcHJlc3M6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNjYiDQp9DQoNCi5mYS1jb21wcmVzcy1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MjIiDQp9DQoNCi5mYS1jb21wcmVzcy1hcnJvd3MtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzhjIg0KfQ0KDQouZmEtY29uY2llcmdlLWJlbGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NjIiDQp9DQoNCi5mYS1jb25mbHVlbmNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzhkIg0KfQ0KDQouZmEtY29ubmVjdGRldmVsb3A6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyMGUiDQp9DQoNCi5mYS1jb250YW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNmQiDQp9DQoNCi5mYS1jb29raWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NjMiDQp9DQoNCi5mYS1jb29raWUtYml0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU2NCINCn0NCg0KLmZhLWNvcHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwYzUiDQp9DQoNCi5mYS1jb3B5cmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZjkiDQp9DQoNCi5mYS1jb3R0b24tYnVyZWF1OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODllIg0KfQ0KDQouZmEtY291Y2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0YjgiDQp9DQoNCi5mYS1jcGFuZWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzODgiDQp9DQoNCi5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjVlIg0KfQ0KDQouZmEtY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRlNyINCn0NCg0KLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZTgiDQp9DQoNCi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGU5Ig0KfQ0KDQouZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRlYSINCn0NCg0KLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZWIiDQp9DQoNCi5mYS1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGVjIg0KfQ0KDQouZmEtY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZWQiDQp9DQoNCi5mYS1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGVlIg0KfQ0KDQouZmEtY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRlZiINCn0NCg0KLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZjAiDQp9DQoNCi5mYS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZjEiDQp9DQoNCi5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGYyIg0KfQ0KDQouZmEtY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGYzIg0KfQ0KDQouZmEtY3JlZGl0LWNhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwOWQiDQp9DQoNCi5mYS1jcml0aWNhbC1yb2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmM5Ig0KfQ0KDQouZmEtY3JvcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEyNSINCn0NCg0KLmZhLWNyb3AtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTY1Ig0KfQ0KDQouZmEtY3Jvc3M6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NTQiDQp9DQoNCi5mYS1jcm9zc2hhaXJzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDViIg0KfQ0KDQouZmEtY3JvdzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUyMCINCn0NCg0KLmZhLWNyb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTIxIg0KfQ0KDQouZmEtY3J1dGNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2Y3Ig0KfQ0KDQouZmEtY3NzMzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEzYyINCn0NCg0KLmZhLWNzczMtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzhiIg0KfQ0KDQouZmEtY3ViZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFiMiINCn0NCg0KLmZhLWN1YmVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWIzIg0KfQ0KDQouZmEtY3V0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGM0Ig0KfQ0KDQouZmEtY3V0dGxlZmlzaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM4YyINCn0NCg0KLmZhLWQtYW5kLWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzOGQiDQp9DQoNCi5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjZjYSINCn0NCg0KLmZhLWRhc2hjdWJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjEwIg0KfQ0KDQouZmEtZGF0YWJhc2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYzAiDQp9DQoNCi5mYS1kZWFmOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmE0Ig0KfQ0KDQouZmEtZGVsaWNpb3VzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWE1Ig0KfQ0KDQouZmEtZGVtb2NyYXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3NDciDQp9DQoNCi5mYS1kZXBsb3lkb2c6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzOGUiDQp9DQoNCi5mYS1kZXNrcHJvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzhmIg0KfQ0KDQouZmEtZGVza3RvcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEwOCINCn0NCg0KLmZhLWRldjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjZjYyINCn0NCg0KLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYmQiDQp9DQoNCi5mYS1kaGFybWFjaGFrcmE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NTUiDQp9DQoNCi5mYS1kaGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3OTAiDQp9DQoNCi5mYS1kaWFnbm9zZXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NzAiDQp9DQoNCi5mYS1kaWFzcG9yYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc5MSINCn0NCg0KLmZhLWRpY2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MjIiDQp9DQoNCi5mYS1kaWNlLWQyMDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjZjZiINCn0NCg0KLmZhLWRpY2UtZDY6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ZDEiDQp9DQoNCi5mYS1kaWNlLWZpdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MjMiDQp9DQoNCi5mYS1kaWNlLWZvdXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MjQiDQp9DQoNCi5mYS1kaWNlLW9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUyNSINCn0NCg0KLmZhLWRpY2Utc2l4OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTI2Ig0KfQ0KDQouZmEtZGljZS10aHJlZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUyNyINCn0NCg0KLmZhLWRpY2UtdHdvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTI4Ig0KfQ0KDQouZmEtZGlnZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFhNiINCn0NCg0KLmZhLWRpZ2l0YWwtb2NlYW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzOTEiDQp9DQoNCi5mYS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NjYiDQp9DQoNCi5mYS1kaXJlY3Rpb25zOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWViIg0KfQ0KDQouZmEtZGlzY29yZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM5MiINCn0NCg0KLmZhLWRpc2NvdXJzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM5MyINCn0NCg0KLmZhLWRpdmlkZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUyOSINCn0NCg0KLmZhLWRpenp5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTY3Ig0KfQ0KDQouZmEtZG5hOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDcxIg0KfQ0KDQouZmEtZG9jaHViOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzk0Ig0KfQ0KDQouZmEtZG9ja2VyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzk1Ig0KfQ0KDQouZmEtZG9nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmQzIg0KfQ0KDQouZmEtZG9sbGFyLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNTUiDQp9DQoNCi5mYS1kb2xseTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ3MiINCn0NCg0KLmZhLWRvbGx5LWZsYXRiZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NzQiDQp9DQoNCi5mYS1kb25hdGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0YjkiDQp9DQoNCi5mYS1kb29yLWNsb3NlZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUyYSINCn0NCg0KLmZhLWRvb3Itb3BlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUyYiINCn0NCg0KLmZhLWRvdC1jaXJjbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxOTIiDQp9DQoNCi5mYS1kb3ZlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGJhIg0KfQ0KDQouZmEtZG93bmxvYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMTkiDQp9DQoNCi5mYS1kcmFmdDJkaWdpdGFsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzk2Ig0KfQ0KDQouZmEtZHJhZnRpbmctY29tcGFzczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU2OCINCn0NCg0KLmZhLWRyYWdvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjZkNSINCn0NCg0KLmZhLWRyYXctcG9seWdvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVlZSINCn0NCg0KLmZhLWRyaWJiYmxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTdkIg0KfQ0KDQouZmEtZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzk3Ig0KfQ0KDQouZmEtZHJvcGJveDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE2YiINCn0NCg0KLmZhLWRydW06YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NjkiDQp9DQoNCi5mYS1kcnVtLXN0ZWVscGFuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTZhIg0KfQ0KDQouZmEtZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ZDciDQp9DQoNCi5mYS1kcnVwYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYTkiDQp9DQoNCi5mYS1kdW1iYmVsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ0YiINCn0NCg0KLmZhLWR1bXBzdGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzkzIg0KfQ0KDQouZmEtZHVtcHN0ZXItZmlyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc5NCINCn0NCg0KLmZhLWR1bmdlb246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ZDkiDQp9DQoNCi5mYS1keWFsb2c6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzOTkiDQp9DQoNCi5mYS1lYXJseWJpcmRzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzlhIg0KfQ0KDQouZmEtZWJheTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRmNCINCn0NCg0KLmZhLWVkZ2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyODIiDQp9DQoNCi5mYS1lZGl0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDQ0Ig0KfQ0KDQouZmEtZWdnOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2ZiIg0KfQ0KDQouZmEtZWplY3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNTIiDQp9DQoNCi5mYS1lbGVtZW50b3I6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MzAiDQp9DQoNCi5mYS1lbGxpcHNpcy1oOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTQxIg0KfQ0KDQouZmEtZWxsaXBzaXMtdjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE0MiINCn0NCg0KLmZhLWVsbG86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ZjEiDQp9DQoNCi5mYS1lbWJlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQyMyINCn0NCg0KLmZhLWVtcGlyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFkMSINCn0NCg0KLmZhLWVudmVsb3BlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGUwIg0KfQ0KDQouZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJiNiINCn0NCg0KLmZhLWVudmVsb3BlLW9wZW4tdGV4dDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjY1OCINCn0NCg0KLmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE5OSINCn0NCg0KLmZhLWVudmlyYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI5OSINCn0NCg0KLmZhLWVxdWFsczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUyYyINCn0NCg0KLmZhLWVyYXNlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEyZCINCn0NCg0KLmZhLWVybGFuZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM5ZCINCn0NCg0KLmZhLWV0aGVyZXVtOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDJlIg0KfQ0KDQouZmEtZXRoZXJuZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3OTYiDQp9DQoNCi5mYS1ldHN5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmQ3Ig0KfQ0KDQouZmEtZXVyby1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTUzIg0KfQ0KDQouZmEtZXZlcm5vdGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4MzkiDQp9DQoNCi5mYS1leGNoYW5nZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNjIiDQp9DQoNCi5mYS1leGNsYW1hdGlvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEyYSINCn0NCg0KLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA2YSINCn0NCg0KLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDcxIg0KfQ0KDQouZmEtZXhwYW5kOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDY1Ig0KfQ0KDQouZmEtZXhwYW5kLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQyNCINCn0NCg0KLmZhLWV4cGFuZC1hcnJvd3MtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzFlIg0KfQ0KDQouZmEtZXhwZWRpdGVkc3NsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjNlIg0KfQ0KDQouZmEtZXh0ZXJuYWwtbGluay1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNWQiDQp9DQoNCi5mYS1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNjAiDQp9DQoNCi5mYS1leWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNmUiDQp9DQoNCi5mYS1leWUtZHJvcHBlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFmYiINCn0NCg0KLmZhLWV5ZS1zbGFzaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA3MCINCn0NCg0KLmZhLWZhY2Vib29rOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDlhIg0KfQ0KDQouZmEtZmFjZWJvb2stZjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM5ZSINCn0NCg0KLmZhLWZhY2Vib29rLW1lc3NlbmdlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjM5ZiINCn0NCg0KLmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA4MiINCn0NCg0KLmZhLWZhbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjg2MyINCn0NCg0KLmZhLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmRjIg0KfQ0KDQouZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA0OSINCn0NCg0KLmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA1MCINCn0NCg0KLmZhLWZheDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFhYyINCn0NCg0KLmZhLWZlYXRoZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MmQiDQp9DQoNCi5mYS1mZWF0aGVyLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU2YiINCn0NCg0KLmZhLWZlZGV4OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzk3Ig0KfQ0KDQouZmEtZmVkb3JhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzk4Ig0KfQ0KDQouZmEtZmVtYWxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTgyIg0KfQ0KDQouZmEtZmlnaHRlci1qZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZmIiDQp9DQoNCi5mYS1maWdtYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc5OSINCn0NCg0KLmZhLWZpbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNWIiDQp9DQoNCi5mYS1maWxlLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE1YyINCn0NCg0KLmZhLWZpbGUtYXJjaGl2ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFjNiINCn0NCg0KLmZhLWZpbGUtYXVkaW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYzciDQp9DQoNCi5mYS1maWxlLWNvZGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYzkiDQp9DQoNCi5mYS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTZjIg0KfQ0KDQouZmEtZmlsZS1jc3Y6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ZGQiDQp9DQoNCi5mYS1maWxlLWRvd25sb2FkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTZkIg0KfQ0KDQouZmEtZmlsZS1leGNlbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFjMyINCn0NCg0KLmZhLWZpbGUtZXhwb3J0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTZlIg0KfQ0KDQouZmEtZmlsZS1pbWFnZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFjNSINCn0NCg0KLmZhLWZpbGUtaW1wb3J0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTZmIg0KfQ0KDQouZmEtZmlsZS1pbnZvaWNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTcwIg0KfQ0KDQouZmEtZmlsZS1pbnZvaWNlLWRvbGxhcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU3MSINCn0NCg0KLmZhLWZpbGUtbWVkaWNhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ3NyINCn0NCg0KLmZhLWZpbGUtbWVkaWNhbC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NzgiDQp9DQoNCi5mYS1maWxlLXBkZjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFjMSINCn0NCg0KLmZhLWZpbGUtcG93ZXJwb2ludDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFjNCINCn0NCg0KLmZhLWZpbGUtcHJlc2NyaXB0aW9uOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTcyIg0KfQ0KDQouZmEtZmlsZS1zaWduYXR1cmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NzMiDQp9DQoNCi5mYS1maWxlLXVwbG9hZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU3NCINCn0NCg0KLmZhLWZpbGUtdmlkZW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYzgiDQp9DQoNCi5mYS1maWxlLXdvcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYzIiDQp9DQoNCi5mYS1maWxsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTc1Ig0KfQ0KDQouZmEtZmlsbC1kcmlwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTc2Ig0KfQ0KDQouZmEtZmlsbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAwOCINCn0NCg0KLmZhLWZpbHRlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBiMCINCn0NCg0KLmZhLWZpbmdlcnByaW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTc3Ig0KfQ0KDQouZmEtZmlyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA2ZCINCn0NCg0KLmZhLWZpcmUtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2U0Ig0KfQ0KDQouZmEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMzQiDQp9DQoNCi5mYS1maXJlZm94OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjY5Ig0KfQ0KDQouZmEtZmlyZWZveC1icm93c2VyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmOTA3Ig0KfQ0KDQouZmEtZmlyc3QtYWlkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDc5Ig0KfQ0KDQouZmEtZmlyc3Qtb3JkZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyYjAiDQp9DQoNCi5mYS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MGEiDQp9DQoNCi5mYS1maXJzdGRyYWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2ExIg0KfQ0KDQouZmEtZmlzaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU3OCINCn0NCg0KLmZhLWZpc3QtcmFpc2VkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmRlIg0KfQ0KDQouZmEtZmxhZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAyNCINCn0NCg0KLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTFlIg0KfQ0KDQouZmEtZmxhZy11c2E6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3NGQiDQp9DQoNCi5mYS1mbGFzazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBjMyINCn0NCg0KLmZhLWZsaWNrcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE2ZSINCn0NCg0KLmZhLWZsaXBib2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ0ZCINCn0NCg0KLmZhLWZsdXNoZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NzkiDQp9DQoNCi5mYS1mbHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MTciDQp9DQoNCi5mYS1mb2xkZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwN2IiDQp9DQoNCi5mYS1mb2xkZXItbWludXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NWQiDQp9DQoNCi5mYS1mb2xkZXItb3BlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA3YyINCn0NCg0KLmZhLWZvbGRlci1wbHVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjVlIg0KfQ0KDQouZmEtZm9udDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAzMSINCn0NCg0KLmZhLWZvbnQtYXdlc29tZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJiNCINCn0NCg0KLmZhLWZvbnQtYXdlc29tZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzNWMiDQp9DQoNCi5mYS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQyNSINCn0NCg0KLmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZTYiDQp9DQoNCi5mYS1mb250aWNvbnM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyODAiDQp9DQoNCi5mYS1mb250aWNvbnMtZmk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYTIiDQp9DQoNCi5mYS1mb290YmFsbC1iYWxsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDRlIg0KfQ0KDQouZmEtZm9ydC1hd2Vzb21lOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjg2Ig0KfQ0KDQouZmEtZm9ydC1hd2Vzb21lLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNhMyINCn0NCg0KLmZhLWZvcnVtYmVlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjExIg0KfQ0KDQouZmEtZm9yd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA0ZSINCn0NCg0KLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxODAiDQp9DQoNCi5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJjNSINCn0NCg0KLmZhLWZyZWVic2Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYTQiDQp9DQoNCi5mYS1mcm9nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTJlIg0KfQ0KDQouZmEtZnJvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMTkiDQp9DQoNCi5mYS1mcm93bi1vcGVuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTdhIg0KfQ0KDQouZmEtZnVsY3J1bTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUwYiINCn0NCg0KLmZhLWZ1bm5lbC1kb2xsYXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NjIiDQp9DQoNCi5mYS1mdXRib2w6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZTMiDQp9DQoNCi5mYS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUwYyINCn0NCg0KLmZhLWdhbGFjdGljLXNlbmF0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUwZCINCn0NCg0KLmZhLWdhbWVwYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMWIiDQp9DQoNCi5mYS1nYXMtcHVtcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUyZiINCn0NCg0KLmZhLWdhdmVsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGUzIg0KfQ0KDQouZmEtZ2VtOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2E1Ig0KfQ0KDQouZmEtZ2VuZGVybGVzczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIyZCINCn0NCg0KLmZhLWdldC1wb2NrZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNjUiDQp9DQoNCi5mYS1nZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI2MCINCn0NCg0KLmZhLWdnLWNpcmNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI2MSINCn0NCg0KLmZhLWdob3N0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmUyIg0KfQ0KDQouZmEtZ2lmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA2YiINCn0NCg0KLmZhLWdpZnRzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzljIg0KfQ0KDQouZmEtZ2l0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWQzIg0KfQ0KDQouZmEtZ2l0LWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjg0MSINCn0NCg0KLmZhLWdpdC1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZDIiDQp9DQoNCi5mYS1naXRodWI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwOWIiDQp9DQoNCi5mYS1naXRodWItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTEzIg0KfQ0KDQouZmEtZ2l0aHViLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA5MiINCn0NCg0KLmZhLWdpdGtyYWtlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNhNiINCn0NCg0KLmZhLWdpdGxhYjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI5NiINCn0NCg0KLmZhLWdpdHRlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQyNiINCn0NCg0KLmZhLWdsYXNzLWNoZWVyczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc5ZiINCn0NCg0KLmZhLWdsYXNzLW1hcnRpbmk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMDAiDQp9DQoNCi5mYS1nbGFzcy1tYXJ0aW5pLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU3YiINCn0NCg0KLmZhLWdsYXNzLXdoaXNrZXk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3YTAiDQp9DQoNCi5mYS1nbGFzc2VzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTMwIg0KfQ0KDQouZmEtZ2xpZGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyYTUiDQp9DQoNCi5mYS1nbGlkZS1nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmE2Ig0KfQ0KDQouZmEtZ2xvYmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwYWMiDQp9DQoNCi5mYS1nbG9iZS1hZnJpY2E6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1N2MiDQp9DQoNCi5mYS1nbG9iZS1hbWVyaWNhczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU3ZCINCn0NCg0KLmZhLWdsb2JlLWFzaWE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1N2UiDQp9DQoNCi5mYS1nbG9iZS1ldXJvcGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3YTIiDQp9DQoNCi5mYS1nb2ZvcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYTciDQp9DQoNCi5mYS1nb2xmLWJhbGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NTAiDQp9DQoNCi5mYS1nb29kcmVhZHM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYTgiDQp9DQoNCi5mYS1nb29kcmVhZHMtZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNhOSINCn0NCg0KLmZhLWdvb2dsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFhMCINCn0NCg0KLmZhLWdvb2dsZS1kcml2ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNhYSINCn0NCg0KLmZhLWdvb2dsZS1wbGF5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2FiIg0KfQ0KDQouZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyYjMiDQp9DQoNCi5mYS1nb29nbGUtcGx1cy1nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGQ1Ig0KfQ0KDQouZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGQ0Ig0KfQ0KDQouZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFlZSINCn0NCg0KLmZhLWdvcHVyYW06YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NjQiDQp9DQoNCi5mYS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE5ZCINCn0NCg0KLmZhLWdyYXRpcGF5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTg0Ig0KfQ0KDQouZmEtZ3JhdjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJkNiINCn0NCg0KLmZhLWdyZWF0ZXItdGhhbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUzMSINCn0NCg0KLmZhLWdyZWF0ZXItdGhhbi1lcXVhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUzMiINCn0NCg0KLmZhLWdyaW1hY2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1N2YiDQp9DQoNCi5mYS1ncmluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTgwIg0KfQ0KDQouZmEtZ3Jpbi1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ODEiDQp9DQoNCi5mYS1ncmluLWJlYW06YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ODIiDQp9DQoNCi5mYS1ncmluLWJlYW0tc3dlYXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ODMiDQp9DQoNCi5mYS1ncmluLWhlYXJ0czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU4NCINCn0NCg0KLmZhLWdyaW4tc3F1aW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTg1Ig0KfQ0KDQouZmEtZ3Jpbi1zcXVpbnQtdGVhcnM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ODYiDQp9DQoNCi5mYS1ncmluLXN0YXJzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTg3Ig0KfQ0KDQouZmEtZ3Jpbi10ZWFyczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU4OCINCn0NCg0KLmZhLWdyaW4tdG9uZ3VlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTg5Ig0KfQ0KDQouZmEtZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNThhIg0KfQ0KDQouZmEtZ3Jpbi10b25ndWUtd2luazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU4YiINCn0NCg0KLmZhLWdyaW4td2luazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU4YyINCn0NCg0KLmZhLWdyaXAtaG9yaXpvbnRhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU4ZCINCn0NCg0KLmZhLWdyaXAtbGluZXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3YTQiDQp9DQoNCi5mYS1ncmlwLWxpbmVzLXZlcnRpY2FsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2E1Ig0KfQ0KDQouZmEtZ3JpcC12ZXJ0aWNhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU4ZSINCn0NCg0KLmZhLWdyaXBmaXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2FjIg0KfQ0KDQouZmEtZ3J1bnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYWQiDQp9DQoNCi5mYS1ndWl0YXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3YTYiDQp9DQoNCi5mYS1ndWxwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2FlIg0KfQ0KDQouZmEtaC1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZmQiDQp9DQoNCi5mYS1oYWNrZXItbmV3czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFkNCINCn0NCg0KLmZhLWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNhZiINCn0NCg0KLmZhLWhhY2tlcnJhbms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ZjciDQp9DQoNCi5mYS1oYW1idXJnZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4MDUiDQp9DQoNCi5mYS1oYW1tZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ZTMiDQp9DQoNCi5mYS1oYW1zYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjY2NSINCn0NCg0KLmZhLWhhbmQtaG9sZGluZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRiZCINCn0NCg0KLmZhLWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRiZSINCn0NCg0KLmZhLWhhbmQtaG9sZGluZy11c2Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0YzAiDQp9DQoNCi5mYS1oYW5kLWxpemFyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI1OCINCn0NCg0KLmZhLWhhbmQtbWlkZGxlLWZpbmdlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjgwNiINCn0NCg0KLmZhLWhhbmQtcGFwZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNTYiDQp9DQoNCi5mYS1oYW5kLXBlYWNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjViIg0KfQ0KDQouZmEtaGFuZC1wb2ludC1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGE3Ig0KfQ0KDQouZmEtaGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGE1Ig0KfQ0KDQouZmEtaGFuZC1wb2ludC1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBhNCINCn0NCg0KLmZhLWhhbmQtcG9pbnQtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwYTYiDQp9DQoNCi5mYS1oYW5kLXBvaW50ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNWEiDQp9DQoNCi5mYS1oYW5kLXJvY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNTUiDQp9DQoNCi5mYS1oYW5kLXNjaXNzb3JzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjU3Ig0KfQ0KDQouZmEtaGFuZC1zcG9jazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI1OSINCn0NCg0KLmZhLWhhbmRzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGMyIg0KfQ0KDQouZmEtaGFuZHMtaGVscGluZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRjNCINCn0NCg0KLmZhLWhhbmRzaGFrZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJiNSINCn0NCg0KLmZhLWhhbnVraWFoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmU2Ig0KfQ0KDQouZmEtaGFyZC1oYXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4MDciDQp9DQoNCi5mYS1oYXNodGFnOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjkyIg0KfQ0KDQouZmEtaGF0LWNvd2JveTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjhjMCINCn0NCg0KLmZhLWhhdC1jb3dib3ktc2lkZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjhjMSINCn0NCg0KLmZhLWhhdC13aXphcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ZTgiDQp9DQoNCi5mYS1oZGQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwYTAiDQp9DQoNCi5mYS1oZWFkaW5nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWRjIg0KfQ0KDQouZmEtaGVhZHBob25lczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAyNSINCn0NCg0KLmZhLWhlYWRwaG9uZXMtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNThmIg0KfQ0KDQouZmEtaGVhZHNldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU5MCINCn0NCg0KLmZhLWhlYXJ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDA0Ig0KfQ0KDQouZmEtaGVhcnQtYnJva2VuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2E5Ig0KfQ0KDQouZmEtaGVhcnRiZWF0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjFlIg0KfQ0KDQouZmEtaGVsaWNvcHRlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUzMyINCn0NCg0KLmZhLWhpZ2hsaWdodGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTkxIg0KfQ0KDQouZmEtaGlraW5nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmVjIg0KfQ0KDQouZmEtaGlwcG86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ZWQiDQp9DQoNCi5mYS1oaXBzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDUyIg0KfQ0KDQouZmEtaGlyZS1hLWhlbHBlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNiMCINCn0NCg0KLmZhLWhpc3Rvcnk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZGEiDQp9DQoNCi5mYS1ob2NrZXktcHVjazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ1MyINCn0NCg0KLmZhLWhvbGx5LWJlcnJ5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2FhIg0KfQ0KDQouZmEtaG9tZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAxNSINCn0NCg0KLmZhLWhvb2xpOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDI3Ig0KfQ0KDQouZmEtaG9ybmJpbGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1OTIiDQp9DQoNCi5mYS1ob3JzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjZmMCINCn0NCg0KLmZhLWhvcnNlLWhlYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3YWIiDQp9DQoNCi5mYS1ob3NwaXRhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBmOCINCn0NCg0KLmZhLWhvc3BpdGFsLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ3ZCINCn0NCg0KLmZhLWhvc3BpdGFsLXN5bWJvbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ3ZSINCn0NCg0KLmZhLWhvdC10dWI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1OTMiDQp9DQoNCi5mYS1ob3Rkb2c6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4MGYiDQp9DQoNCi5mYS1ob3RlbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU5NCINCn0NCg0KLmZhLWhvdGphcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNiMSINCn0NCg0KLmZhLWhvdXJnbGFzczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI1NCINCn0NCg0KLmZhLWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNTMiDQp9DQoNCi5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI1MiINCn0NCg0KLmZhLWhvdXJnbGFzcy1zdGFydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI1MSINCn0NCg0KLmZhLWhvdXNlLWRhbWFnZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjZmMSINCn0NCg0KLmZhLWhvdXp6OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjdjIg0KfQ0KDQouZmEtaHJ5dm5pYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjZmMiINCn0NCg0KLmZhLWh0bWw1OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTNiIg0KfQ0KDQouZmEtaHVic3BvdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNiMiINCn0NCg0KLmZhLWktY3Vyc29yOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjQ2Ig0KfQ0KDQouZmEtaWNlLWNyZWFtOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODEwIg0KfQ0KDQouZmEtaWNpY2xlczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdhZCINCn0NCg0KLmZhLWljb25zOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODZkIg0KfQ0KDQouZmEtaWQtYmFkZ2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyYzEiDQp9DQoNCi5mYS1pZC1jYXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmMyIg0KfQ0KDQouZmEtaWQtY2FyZC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0N2YiDQp9DQoNCi5mYS1pZGVhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjkxMyINCn0NCg0KLmZhLWlnbG9vOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2FlIg0KfQ0KDQouZmEtaW1hZ2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwM2UiDQp9DQoNCi5mYS1pbWFnZXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzMDIiDQp9DQoNCi5mYS1pbWRiOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmQ4Ig0KfQ0KDQouZmEtaW5ib3g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMWMiDQp9DQoNCi5mYS1pbmRlbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwM2MiDQp9DQoNCi5mYS1pbmR1c3RyeTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI3NSINCn0NCg0KLmZhLWluZmluaXR5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTM0Ig0KfQ0KDQouZmEtaW5mbzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEyOSINCn0NCg0KLmZhLWluZm8tY2lyY2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDVhIg0KfQ0KDQouZmEtaW5zdGFncmFtOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTZkIg0KfQ0KDQouZmEtaW50ZXJjb206YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3YWYiDQp9DQoNCi5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI2YiINCn0NCg0KLmZhLWludmlzaW9uOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2IwIg0KfQ0KDQouZmEtaW94aG9zdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIwOCINCn0NCg0KLmZhLWl0YWxpYzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAzMyINCn0NCg0KLmZhLWl0Y2gtaW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4M2EiDQp9DQoNCi5mYS1pdHVuZXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYjQiDQp9DQoNCi5mYS1pdHVuZXMtbm90ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNiNSINCn0NCg0KLmZhLWphdmE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZTQiDQp9DQoNCi5mYS1qZWRpOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjY5Ig0KfQ0KDQouZmEtamVkaS1vcmRlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUwZSINCn0NCg0KLmZhLWplbmtpbnM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYjYiDQp9DQoNCi5mYS1qaXJhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2IxIg0KfQ0KDQouZmEtam9nZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYjciDQp9DQoNCi5mYS1qb2ludDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU5NSINCn0NCg0KLmZhLWpvb21sYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFhYSINCn0NCg0KLmZhLWpvdXJuYWwtd2hpbGxzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjZhIg0KfQ0KDQouZmEtanM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYjgiDQp9DQoNCi5mYS1qcy1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYjkiDQp9DQoNCi5mYS1qc2ZpZGRsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFjYyINCn0NCg0KLmZhLWthYWJhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjZiIg0KfQ0KDQouZmEta2FnZ2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWZhIg0KfQ0KDQouZmEta2V5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDg0Ig0KfQ0KDQouZmEta2V5YmFzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRmNSINCn0NCg0KLmZhLWtleWJvYXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTFjIg0KfQ0KDQouZmEta2V5Y2RuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2JhIg0KfQ0KDQouZmEta2hhbmRhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjZkIg0KfQ0KDQouZmEta2lja3N0YXJ0ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYmIiDQp9DQoNCi5mYS1raWNrc3RhcnRlci1rOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2JjIg0KfQ0KDQouZmEta2lzczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU5NiINCn0NCg0KLmZhLWtpc3MtYmVhbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU5NyINCn0NCg0KLmZhLWtpc3Mtd2luay1oZWFydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU5OCINCn0NCg0KLmZhLWtpd2ktYmlyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUzNSINCn0NCg0KLmZhLWtvcnZ1ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQyZiINCn0NCg0KLmZhLWxhbmRtYXJrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjZmIg0KfQ0KDQouZmEtbGFuZ3VhZ2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYWIiDQp9DQoNCi5mYS1sYXB0b3A6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMDkiDQp9DQoNCi5mYS1sYXB0b3AtY29kZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVmYyINCn0NCg0KLmZhLWxhcHRvcC1tZWRpY2FsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODEyIg0KfQ0KDQouZmEtbGFyYXZlbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNiZCINCn0NCg0KLmZhLWxhc3RmbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIwMiINCn0NCg0KLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyMDMiDQp9DQoNCi5mYS1sYXVnaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU5OSINCn0NCg0KLmZhLWxhdWdoLWJlYW06YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1OWEiDQp9DQoNCi5mYS1sYXVnaC1zcXVpbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1OWIiDQp9DQoNCi5mYS1sYXVnaC13aW5rOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTljIg0KfQ0KDQouZmEtbGF5ZXItZ3JvdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1ZmQiDQp9DQoNCi5mYS1sZWFmOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDZjIg0KfQ0KDQouZmEtbGVhbnB1YjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIxMiINCn0NCg0KLmZhLWxlbW9uOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDk0Ig0KfQ0KDQouZmEtbGVzczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQxZCINCn0NCg0KLmZhLWxlc3MtdGhhbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUzNiINCn0NCg0KLmZhLWxlc3MtdGhhbi1lcXVhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUzNyINCn0NCg0KLmZhLWxldmVsLWRvd24tYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2JlIg0KfQ0KDQouZmEtbGV2ZWwtdXAtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2JmIg0KfQ0KDQouZmEtbGlmZS1yaW5nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWNkIg0KfQ0KDQouZmEtbGlnaHRidWxiOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGViIg0KfQ0KDQouZmEtbGluZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNjMCINCn0NCg0KLmZhLWxpbms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwYzEiDQp9DQoNCi5mYS1saW5rZWRpbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA4YyINCn0NCg0KLmZhLWxpbmtlZGluLWluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGUxIg0KfQ0KDQouZmEtbGlub2RlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmI4Ig0KfQ0KDQouZmEtbGludXg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxN2MiDQp9DQoNCi5mYS1saXJhLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxOTUiDQp9DQoNCi5mYS1saXN0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDNhIg0KfQ0KDQouZmEtbGlzdC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMjIiDQp9DQoNCi5mYS1saXN0LW9sOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGNiIg0KfQ0KDQouZmEtbGlzdC11bDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBjYSINCn0NCg0KLmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTI0Ig0KfQ0KDQouZmEtbG9jazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAyMyINCn0NCg0KLmZhLWxvY2stb3BlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNjMSINCn0NCg0KLmZhLWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzMDkiDQp9DQoNCi5mYS1sb25nLWFycm93LWFsdC1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzBhIg0KfQ0KDQouZmEtbG9uZy1hcnJvdy1hbHQtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzMGIiDQp9DQoNCi5mYS1sb25nLWFycm93LWFsdC11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjMwYyINCn0NCg0KLmZhLWxvdy12aXNpb246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyYTgiDQp9DQoNCi5mYS1sdWdnYWdlLWNhcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1OWQiDQp9DQoNCi5mYS1seWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2MzIg0KfQ0KDQouZmEtbWFnZW50bzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNjNCINCn0NCg0KLmZhLW1hZ2ljOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGQwIg0KfQ0KDQouZmEtbWFnbmV0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDc2Ig0KfQ0KDQouZmEtbWFpbC1idWxrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjc0Ig0KfQ0KDQouZmEtbWFpbGNoaW1wOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTllIg0KfQ0KDQouZmEtbWFsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE4MyINCn0NCg0KLmZhLW1hbmRhbG9yaWFuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTBmIg0KfQ0KDQouZmEtbWFwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjc5Ig0KfQ0KDQouZmEtbWFwLW1hcmtlZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU5ZiINCn0NCg0KLmZhLW1hcC1tYXJrZWQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWEwIg0KfQ0KDQouZmEtbWFwLW1hcmtlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA0MSINCn0NCg0KLmZhLW1hcC1tYXJrZXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2M1Ig0KfQ0KDQouZmEtbWFwLXBpbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI3NiINCn0NCg0KLmZhLW1hcC1zaWduczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI3NyINCn0NCg0KLmZhLW1hcmtkb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjBmIg0KfQ0KDQouZmEtbWFya2VyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWExIg0KfQ0KDQouZmEtbWFyczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIyMiINCn0NCg0KLmZhLW1hcnMtZG91YmxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjI3Ig0KfQ0KDQouZmEtbWFycy1zdHJva2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyMjkiDQp9DQoNCi5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjJiIg0KfQ0KDQouZmEtbWFycy1zdHJva2UtdjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIyYSINCn0NCg0KLmZhLW1hc2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ZmEiDQp9DQoNCi5mYS1tYXN0b2RvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRmNiINCn0NCg0KLmZhLW1heGNkbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEzNiINCn0NCg0KLmZhLW1kYjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjhjYSINCn0NCg0KLmZhLW1lZGFsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWEyIg0KfQ0KDQouZmEtbWVkYXBwczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNjNiINCn0NCg0KLmZhLW1lZGl1bTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIzYSINCn0NCg0KLmZhLW1lZGl1bS1tOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2M3Ig0KfQ0KDQouZmEtbWVka2l0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGZhIg0KfQ0KDQouZmEtbWVkcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzYzgiDQp9DQoNCi5mYS1tZWV0dXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyZTAiDQp9DQoNCi5mYS1tZWdhcG9ydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVhMyINCn0NCg0KLmZhLW1laDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjExYSINCn0NCg0KLmZhLW1laC1ibGFuazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVhNCINCn0NCg0KLmZhLW1laC1yb2xsaW5nLWV5ZXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YTUiDQp9DQoNCi5mYS1tZW1vcnk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MzgiDQp9DQoNCi5mYS1tZW5kZWxleTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdiMyINCn0NCg0KLmZhLW1lbm9yYWg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NzYiDQp9DQoNCi5mYS1tZXJjdXJ5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjIzIg0KfQ0KDQouZmEtbWV0ZW9yOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzUzIg0KfQ0KDQouZmEtbWljcm9ibG9nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmOTFhIg0KfQ0KDQouZmEtbWljcm9jaGlwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmRiIg0KfQ0KDQouZmEtbWljcm9waG9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEzMCINCn0NCg0KLmZhLW1pY3JvcGhvbmUtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2M5Ig0KfQ0KDQouZmEtbWljcm9waG9uZS1hbHQtc2xhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MzkiDQp9DQoNCi5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTMxIg0KfQ0KDQouZmEtbWljcm9zY29wZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjYxMCINCn0NCg0KLmZhLW1pY3Jvc29mdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNjYSINCn0NCg0KLmZhLW1pbnVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDY4Ig0KfQ0KDQouZmEtbWludXMtY2lyY2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDU2Ig0KfQ0KDQouZmEtbWludXMtc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTQ2Ig0KfQ0KDQouZmEtbWl0dGVuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2I1Ig0KfQ0KDQouZmEtbWl4OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2NiIg0KfQ0KDQouZmEtbWl4Y2xvdWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyODkiDQp9DQoNCi5mYS1taXp1bmk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzY2MiDQp9DQoNCi5mYS1tb2JpbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMGIiDQp9DQoNCi5mYS1tb2JpbGUtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2NkIg0KfQ0KDQouZmEtbW9keDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI4NSINCn0NCg0KLmZhLW1vbmVybzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNkMCINCn0NCg0KLmZhLW1vbmV5LWJpbGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZDYiDQp9DQoNCi5mYS1tb25leS1iaWxsLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNkMSINCn0NCg0KLmZhLW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUzYSINCn0NCg0KLmZhLW1vbmV5LWJpbGwtd2F2ZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1M2IiDQp9DQoNCi5mYS1tb25leS1jaGVjazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUzYyINCn0NCg0KLmZhLW1vbmV5LWNoZWNrLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUzZCINCn0NCg0KLmZhLW1vbnVtZW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWE2Ig0KfQ0KDQouZmEtbW9vbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE4NiINCn0NCg0KLmZhLW1vcnRhci1wZXN0bGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YTciDQp9DQoNCi5mYS1tb3NxdWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2NzgiDQp9DQoNCi5mYS1tb3RvcmN5Y2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjFjIg0KfQ0KDQouZmEtbW91bnRhaW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ZmMiDQp9DQoNCi5mYS1tb3VzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjhjYyINCn0NCg0KLmZhLW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNDUiDQp9DQoNCi5mYS1tdWctaG90OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2I2Ig0KfQ0KDQouZmEtbXVzaWM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMDEiDQp9DQoNCi5mYS1uYXBzdGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2QyIg0KfQ0KDQouZmEtbmVvczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjYxMiINCn0NCg0KLmZhLW5ldHdvcmstd2lyZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ZmYiDQp9DQoNCi5mYS1uZXV0ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyMmMiDQp9DQoNCi5mYS1uZXdzcGFwZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZWEiDQp9DQoNCi5mYS1uaW1ibHI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YTgiDQp9DQoNCi5mYS1ub2RlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDE5Ig0KfQ0KDQouZmEtbm9kZS1qczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNkMyINCn0NCg0KLmZhLW5vdC1lcXVhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUzZSINCn0NCg0KLmZhLW5vdGVzLW1lZGljYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ODEiDQp9DQoNCi5mYS1ucG06YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzZDQiDQp9DQoNCi5mYS1uczg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzZDUiDQp9DQoNCi5mYS1udXRyaXRpb25peDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNkNiINCn0NCg0KLmZhLW9iamVjdC1ncm91cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI0NyINCn0NCg0KLmZhLW9iamVjdC11bmdyb3VwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjQ4Ig0KfQ0KDQouZmEtb2Rub2tsYXNzbmlraTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI2MyINCn0NCg0KLmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjY0Ig0KfQ0KDQouZmEtb2lsLWNhbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjYxMyINCn0NCg0KLmZhLW9sZC1yZXB1YmxpYzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUxMCINCn0NCg0KLmZhLW9tOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjc5Ig0KfQ0KDQouZmEtb3BlbmNhcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyM2QiDQp9DQoNCi5mYS1vcGVuaWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxOWIiDQp9DQoNCi5mYS1vcGVyYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI2YSINCn0NCg0KLmZhLW9wdGluLW1vbnN0ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyM2MiDQp9DQoNCi5mYS1vcmNpZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjhkMiINCn0NCg0KLmZhLW9zaTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQxYSINCn0NCg0KLmZhLW90dGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzAwIg0KfQ0KDQouZmEtb3V0ZGVudDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAzYiINCn0NCg0KLmZhLXBhZ2U0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2Q3Ig0KfQ0KDQouZmEtcGFnZWxpbmVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMThjIg0KfQ0KDQouZmEtcGFnZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4MTUiDQp9DQoNCi5mYS1wYWludC1icnVzaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFmYyINCn0NCg0KLmZhLXBhaW50LXJvbGxlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVhYSINCn0NCg0KLmZhLXBhbGV0dGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1M2YiDQp9DQoNCi5mYS1wYWxmZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzZDgiDQp9DQoNCi5mYS1wYWxsZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ODIiDQp9DQoNCi5mYS1wYXBlci1wbGFuZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFkOCINCn0NCg0KLmZhLXBhcGVyY2xpcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBjNiINCn0NCg0KLmZhLXBhcmFjaHV0ZS1ib3g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0Y2QiDQp9DQoNCi5mYS1wYXJhZ3JhcGg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZGQiDQp9DQoNCi5mYS1wYXJraW5nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTQwIg0KfQ0KDQouZmEtcGFzc3BvcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YWIiDQp9DQoNCi5mYS1wYXN0YWZhcmlhbmlzbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjY3YiINCn0NCg0KLmZhLXBhc3RlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGVhIg0KfQ0KDQouZmEtcGF0cmVvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNkOSINCn0NCg0KLmZhLXBhdXNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDRjIg0KfQ0KDQouZmEtcGF1c2UtY2lyY2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjhiIg0KfQ0KDQouZmEtcGF3OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWIwIg0KfQ0KDQouZmEtcGF5cGFsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWVkIg0KfQ0KDQouZmEtcGVhY2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2N2MiDQp9DQoNCi5mYS1wZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzMDQiDQp9DQoNCi5mYS1wZW4tYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzA1Ig0KfQ0KDQouZmEtcGVuLWZhbmN5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWFjIg0KfQ0KDQouZmEtcGVuLW5pYjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVhZCINCn0NCg0KLmZhLXBlbi1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNGIiDQp9DQoNCi5mYS1wZW5jaWwtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMzAzIg0KfQ0KDQouZmEtcGVuY2lsLXJ1bGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWFlIg0KfQ0KDQouZmEtcGVubnktYXJjYWRlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzA0Ig0KfQ0KDQouZmEtcGVvcGxlLWNhcnJ5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGNlIg0KfQ0KDQouZmEtcGVwcGVyLWhvdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjgxNiINCn0NCg0KLmZhLXBlcmNlbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyOTUiDQp9DQoNCi5mYS1wZXJjZW50YWdlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTQxIg0KfQ0KDQouZmEtcGVyaXNjb3BlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2RhIg0KfQ0KDQouZmEtcGVyc29uLWJvb3RoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzU2Ig0KfQ0KDQouZmEtcGhhYnJpY2F0b3I6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzZGIiDQp9DQoNCi5mYS1waG9lbml4LWZyYW1ld29yazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNkYyINCn0NCg0KLmZhLXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MTEiDQp9DQoNCi5mYS1waG9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA5NSINCn0NCg0KLmZhLXBob25lLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjg3OSINCn0NCg0KLmZhLXBob25lLXNsYXNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2RkIg0KfQ0KDQouZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDk4Ig0KfQ0KDQouZmEtcGhvbmUtc3F1YXJlLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjg3YiINCn0NCg0KLmZhLXBob25lLXZvbHVtZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJhMCINCn0NCg0KLmZhLXBob3RvLXZpZGVvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODdjIg0KfQ0KDQouZmEtcGhwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDU3Ig0KfQ0KDQouZmEtcGllZC1waXBlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJhZSINCn0NCg0KLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWE4Ig0KfQ0KDQouZmEtcGllZC1waXBlci1oYXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZTUiDQp9DQoNCi5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWE3Ig0KfQ0KDQouZmEtcGllZC1waXBlci1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY5MWUiDQp9DQoNCi5mYS1waWdneS1iYW5rOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGQzIg0KfQ0KDQouZmEtcGlsbHM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ODQiDQp9DQoNCi5mYS1waW50ZXJlc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZDIiDQp9DQoNCi5mYS1waW50ZXJlc3QtcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIzMSINCn0NCg0KLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZDMiDQp9DQoNCi5mYS1waXp6YS1zbGljZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjgxOCINCn0NCg0KLmZhLXBsYWNlLW9mLXdvcnNoaXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2N2YiDQp9DQoNCi5mYS1wbGFuZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA3MiINCn0NCg0KLmZhLXBsYW5lLWFycml2YWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YWYiDQp9DQoNCi5mYS1wbGFuZS1kZXBhcnR1cmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YjAiDQp9DQoNCi5mYS1wbGF5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDRiIg0KfQ0KDQouZmEtcGxheS1jaXJjbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNDQiDQp9DQoNCi5mYS1wbGF5c3RhdGlvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNkZiINCn0NCg0KLmZhLXBsdWc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZTYiDQp9DQoNCi5mYS1wbHVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDY3Ig0KfQ0KDQouZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNTUiDQp9DQoNCi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBmZSINCn0NCg0KLmZhLXBvZGNhc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyY2UiDQp9DQoNCi5mYS1wb2xsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjgxIg0KfQ0KDQouZmEtcG9sbC1oOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjgyIg0KfQ0KDQouZmEtcG9vOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmZlIg0KfQ0KDQouZmEtcG9vLXN0b3JtOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzVhIg0KfQ0KDQouZmEtcG9vcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjYxOSINCn0NCg0KLmZhLXBvcnRyYWl0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2UwIg0KfQ0KDQouZmEtcG91bmQtc2lnbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE1NCINCn0NCg0KLmZhLXBvd2VyLW9mZjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAxMSINCn0NCg0KLmZhLXByYXk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ODMiDQp9DQoNCi5mYS1wcmF5aW5nLWhhbmRzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjg0Ig0KfQ0KDQouZmEtcHJlc2NyaXB0aW9uOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWIxIg0KfQ0KDQouZmEtcHJlc2NyaXB0aW9uLWJvdHRsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ4NSINCn0NCg0KLmZhLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDg2Ig0KfQ0KDQouZmEtcHJpbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMmYiDQp9DQoNCi5mYS1wcm9jZWR1cmVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDg3Ig0KfQ0KDQouZmEtcHJvZHVjdC1odW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjg4Ig0KfQ0KDQouZmEtcHJvamVjdC1kaWFncmFtOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTQyIg0KfQ0KDQouZmEtcHVzaGVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2UxIg0KfQ0KDQouZmEtcHV6emxlLXBpZWNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTJlIg0KfQ0KDQouZmEtcHl0aG9uOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2UyIg0KfQ0KDQouZmEtcXE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZDYiDQp9DQoNCi5mYS1xcmNvZGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMjkiDQp9DQoNCi5mYS1xdWVzdGlvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEyOCINCn0NCg0KLmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA1OSINCn0NCg0KLmZhLXF1aWRkaXRjaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ1OCINCn0NCg0KLmZhLXF1aW5zY2FwZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ1OSINCn0NCg0KLmZhLXF1b3JhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmM0Ig0KfQ0KDQouZmEtcXVvdGUtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEwZCINCn0NCg0KLmZhLXF1b3RlLXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTBlIg0KfQ0KDQouZmEtcXVyYW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ODciDQp9DQoNCi5mYS1yLXByb2plY3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZjciDQp9DQoNCi5mYS1yYWRpYXRpb246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3YjkiDQp9DQoNCi5mYS1yYWRpYXRpb24tYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2JhIg0KfQ0KDQouZmEtcmFpbmJvdzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc1YiINCn0NCg0KLmZhLXJhbmRvbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA3NCINCn0NCg0KLmZhLXJhc3BiZXJyeS1waTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdiYiINCn0NCg0KLmZhLXJhdmVscnk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyZDkiDQp9DQoNCi5mYS1yZWFjdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQxYiINCn0NCg0KLmZhLXJlYWN0ZXVyb3BlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzVkIg0KfQ0KDQouZmEtcmVhZG1lOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGQ1Ig0KfQ0KDQouZmEtcmViZWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZDAiDQp9DQoNCi5mYS1yZWNlaXB0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTQzIg0KfQ0KDQouZmEtcmVjb3JkLXZpbnlsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmOGQ5Ig0KfQ0KDQouZmEtcmVjeWNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFiOCINCn0NCg0KLmZhLXJlZC1yaXZlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNlMyINCn0NCg0KLmZhLXJlZGRpdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFhMSINCn0NCg0KLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI4MSINCn0NCg0KLmZhLXJlZGRpdC1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYTIiDQp9DQoNCi5mYS1yZWRoYXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3YmMiDQp9DQoNCi5mYS1yZWRvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDFlIg0KfQ0KDQouZmEtcmVkby1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyZjkiDQp9DQoNCi5mYS1yZWdpc3RlcmVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjVkIg0KfQ0KDQouZmEtcmVtb3ZlLWZvcm1hdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjg3ZCINCn0NCg0KLmZhLXJlbnJlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE4YiINCn0NCg0KLmZhLXJlcGx5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2U1Ig0KfQ0KDQouZmEtcmVwbHktYWxsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTIyIg0KfQ0KDQouZmEtcmVwbHlkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2U2Ig0KfQ0KDQouZmEtcmVwdWJsaWNhbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc1ZSINCn0NCg0KLmZhLXJlc2VhcmNoZ2F0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRmOCINCn0NCg0KLmZhLXJlc29sdmluZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNlNyINCn0NCg0KLmZhLXJlc3Ryb29tOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2JkIg0KfQ0KDQouZmEtcmV0d2VldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA3OSINCn0NCg0KLmZhLXJldjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjViMiINCn0NCg0KLmZhLXJpYmJvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRkNiINCn0NCg0KLmZhLXJpbmc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3MGIiDQp9DQoNCi5mYS1yb2FkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDE4Ig0KfQ0KDQouZmEtcm9ib3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NDQiDQp9DQoNCi5mYS1yb2NrZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMzUiDQp9DQoNCi5mYS1yb2NrZXRjaGF0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2U4Ig0KfQ0KDQouZmEtcm9ja3JtczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNlOSINCn0NCg0KLmZhLXJvdXRlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGQ3Ig0KfQ0KDQouZmEtcnNzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDllIg0KfQ0KDQouZmEtcnNzLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE0MyINCn0NCg0KLmZhLXJ1YmxlLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNTgiDQp9DQoNCi5mYS1ydWxlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU0NSINCn0NCg0KLmZhLXJ1bGVyLWNvbWJpbmVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTQ2Ig0KfQ0KDQouZmEtcnVsZXItaG9yaXpvbnRhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU0NyINCn0NCg0KLmZhLXJ1bGVyLXZlcnRpY2FsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTQ4Ig0KfQ0KDQouZmEtcnVubmluZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjcwYyINCn0NCg0KLmZhLXJ1cGVlLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNTYiDQp9DQoNCi5mYS1zYWQtY3J5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWIzIg0KfQ0KDQouZmEtc2FkLXRlYXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YjQiDQp9DQoNCi5mYS1zYWZhcmk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNjciDQp9DQoNCi5mYS1zYWxlc2ZvcmNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODNiIg0KfQ0KDQouZmEtc2FzczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQxZSINCn0NCg0KLmZhLXNhdGVsbGl0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdiZiINCn0NCg0KLmZhLXNhdGVsbGl0ZS1kaXNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2MwIg0KfQ0KDQouZmEtc2F2ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBjNyINCn0NCg0KLmZhLXNjaGxpeDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNlYSINCn0NCg0KLmZhLXNjaG9vbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU0OSINCn0NCg0KLmZhLXNjcmV3ZHJpdmVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTRhIg0KfQ0KDQouZmEtc2NyaWJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjhhIg0KfQ0KDQouZmEtc2Nyb2xsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzBlIg0KfQ0KDQouZmEtc2QtY2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdjMiINCn0NCg0KLmZhLXNlYXJjaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAwMiINCn0NCg0KLmZhLXNlYXJjaC1kb2xsYXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ODgiDQp9DQoNCi5mYS1zZWFyY2gtbG9jYXRpb246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2ODkiDQp9DQoNCi5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMTAiDQp9DQoNCi5mYS1zZWFyY2gtcGx1czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAwZSINCn0NCg0KLmZhLXNlYXJjaGVuZ2luOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2ViIg0KfQ0KDQouZmEtc2VlZGxpbmc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZDgiDQp9DQoNCi5mYS1zZWxsY2FzdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJkYSINCn0NCg0KLmZhLXNlbGxzeTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIxMyINCn0NCg0KLmZhLXNlcnZlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIzMyINCn0NCg0KLmZhLXNlcnZpY2VzdGFjazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNlYyINCn0NCg0KLmZhLXNoYXBlczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjYxZiINCn0NCg0KLmZhLXNoYXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDY0Ig0KfQ0KDQouZmEtc2hhcmUtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWUwIg0KfQ0KDQouZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFlMSINCn0NCg0KLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE0ZCINCn0NCg0KLmZhLXNoZWtlbC1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjBiIg0KfQ0KDQouZmEtc2hpZWxkLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNlZCINCn0NCg0KLmZhLXNoaXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyMWEiDQp9DQoNCi5mYS1zaGlwcGluZy1mYXN0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDhiIg0KfQ0KDQouZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjE0Ig0KfQ0KDQouZmEtc2hvZS1wcmludHM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NGIiDQp9DQoNCi5mYS1zaG9wcGluZy1iYWc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyOTAiDQp9DQoNCi5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyOTEiDQp9DQoNCi5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDdhIg0KfQ0KDQouZmEtc2hvcHdhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YjUiDQp9DQoNCi5mYS1zaG93ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyY2MiDQp9DQoNCi5mYS1zaHV0dGxlLXZhbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjViNiINCn0NCg0KLmZhLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZDkiDQp9DQoNCi5mYS1zaWduLWluLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJmNiINCn0NCg0KLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyYTciDQp9DQoNCi5mYS1zaWduLW91dC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyZjUiDQp9DQoNCi5mYS1zaWduYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMTIiDQp9DQoNCi5mYS1zaWduYXR1cmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YjciDQp9DQoNCi5mYS1zaW0tY2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdjNCINCn0NCg0KLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjE1Ig0KfQ0KDQouZmEtc2lzdHJpeDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNlZSINCn0NCg0KLmZhLXNpdGVtYXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZTgiDQp9DQoNCi5mYS1zaXRoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTEyIg0KfQ0KDQouZmEtc2thdGluZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdjNSINCn0NCg0KLmZhLXNrZXRjaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdjNiINCn0NCg0KLmZhLXNraWluZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdjOSINCn0NCg0KLmZhLXNraWluZy1ub3JkaWM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3Y2EiDQp9DQoNCi5mYS1za3VsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU0YyINCn0NCg0KLmZhLXNrdWxsLWNyb3NzYm9uZXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3MTQiDQp9DQoNCi5mYS1za3lhdGxhczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIxNiINCn0NCg0KLmZhLXNreXBlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTdlIg0KfQ0KDQouZmEtc2xhY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxOTgiDQp9DQoNCi5mYS1zbGFjay1oYXNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2VmIg0KfQ0KDQouZmEtc2xhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3MTUiDQp9DQoNCi5mYS1zbGVpZ2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3Y2MiDQp9DQoNCi5mYS1zbGlkZXJzLWg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZGUiDQp9DQoNCi5mYS1zbGlkZXNoYXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWU3Ig0KfQ0KDQouZmEtc21pbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMTgiDQp9DQoNCi5mYS1zbWlsZS1iZWFtOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWI4Ig0KfQ0KDQouZmEtc21pbGUtd2luazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRkYSINCn0NCg0KLmZhLXNtb2c6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3NWYiDQp9DQoNCi5mYS1zbW9raW5nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDhkIg0KfQ0KDQouZmEtc21va2luZy1iYW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NGQiDQp9DQoNCi5mYS1zbXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3Y2QiDQp9DQoNCi5mYS1zbmFwY2hhdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJhYiINCn0NCg0KLmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmFjIg0KfQ0KDQouZmEtc25hcGNoYXQtc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmFkIg0KfQ0KDQouZmEtc25vd2JvYXJkaW5nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2NlIg0KfQ0KDQouZmEtc25vd2ZsYWtlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmRjIg0KfQ0KDQouZmEtc25vd21hbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdkMCINCn0NCg0KLmZhLXNub3dwbG93OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2QyIg0KfQ0KDQouZmEtc29ja3M6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2OTYiDQp9DQoNCi5mYS1zb2xhci1wYW5lbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjViYSINCn0NCg0KLmZhLXNvcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZGMiDQp9DQoNCi5mYS1zb3J0LWFscGhhLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNWQiDQp9DQoNCi5mYS1zb3J0LWFscGhhLWRvd24tYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODgxIg0KfQ0KDQouZmEtc29ydC1hbHBoYS11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE1ZSINCn0NCg0KLmZhLXNvcnQtYWxwaGEtdXAtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODgyIg0KfQ0KDQouZmEtc29ydC1hbW91bnQtZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE2MCINCn0NCg0KLmZhLXNvcnQtYW1vdW50LWRvd24tYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODg0Ig0KfQ0KDQouZmEtc29ydC1hbW91bnQtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNjEiDQp9DQoNCi5mYS1zb3J0LWFtb3VudC11cC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4ODUiDQp9DQoNCi5mYS1zb3J0LWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZGQiDQp9DQoNCi5mYS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE2MiINCn0NCg0KLmZhLXNvcnQtbnVtZXJpYy1kb3duLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjg4NiINCn0NCg0KLmZhLXNvcnQtbnVtZXJpYy11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE2MyINCn0NCg0KLmZhLXNvcnQtbnVtZXJpYy11cC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4ODciDQp9DQoNCi5mYS1zb3J0LXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGRlIg0KfQ0KDQouZmEtc291bmRjbG91ZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFiZSINCn0NCg0KLmZhLXNvdXJjZXRyZWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3ZDMiDQp9DQoNCi5mYS1zcGE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YmIiDQp9DQoNCi5mYS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTk3Ig0KfQ0KDQouZmEtc3BlYWthcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNmMyINCn0NCg0KLmZhLXNwZWFrZXItZGVjazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjgzYyINCn0NCg0KLmZhLXNwZWxsLWNoZWNrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODkxIg0KfQ0KDQouZmEtc3BpZGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzE3Ig0KfQ0KDQouZmEtc3Bpbm5lcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjExMCINCn0NCg0KLmZhLXNwbG90Y2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YmMiDQp9DQoNCi5mYS1zcG90aWZ5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWJjIg0KfQ0KDQouZmEtc3ByYXktY2FuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWJkIg0KfQ0KDQouZmEtc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGM4Ig0KfQ0KDQouZmEtc3F1YXJlLWZ1bGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NWMiDQp9DQoNCi5mYS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2OTgiDQp9DQoNCi5mYS1zcXVhcmVzcGFjZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjViZSINCn0NCg0KLmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMThkIg0KfQ0KDQouZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNmMiDQp9DQoNCi5mYS1zdGFja3BhdGg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4NDIiDQp9DQoNCi5mYS1zdGFtcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjViZiINCn0NCg0KLmZhLXN0YXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMDUiDQp9DQoNCi5mYS1zdGFyLWFuZC1jcmVzY2VudDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjY5OSINCn0NCg0KLmZhLXN0YXItaGFsZjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA4OSINCn0NCg0KLmZhLXN0YXItaGFsZi1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1YzAiDQp9DQoNCi5mYS1zdGFyLW9mLWRhdmlkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjlhIg0KfQ0KDQouZmEtc3Rhci1vZi1saWZlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjIxIg0KfQ0KDQouZmEtc3RheWxpbmtlZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNmNSINCn0NCg0KLmZhLXN0ZWFtOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWI2Ig0KfQ0KDQouZmEtc3RlYW0tc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWI3Ig0KfQ0KDQouZmEtc3RlYW0tc3ltYm9sOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2Y2Ig0KfQ0KDQouZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA0OCINCn0NCg0KLmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA1MSINCn0NCg0KLmZhLXN0ZXRob3Njb3BlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGYxIg0KfQ0KDQouZmEtc3RpY2tlci1tdWxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2Y3Ig0KfQ0KDQouZmEtc3RpY2t5LW5vdGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNDkiDQp9DQoNCi5mYS1zdG9wOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDRkIg0KfQ0KDQouZmEtc3RvcC1jaXJjbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyOGQiDQp9DQoNCi5mYS1zdG9wd2F0Y2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyZjIiDQp9DQoNCi5mYS1zdG9yZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU0ZSINCn0NCg0KLmZhLXN0b3JlLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU0ZiINCn0NCg0KLmZhLXN0cmF2YTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQyOCINCn0NCg0KLmZhLXN0cmVhbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU1MCINCn0NCg0KLmZhLXN0cmVldC12aWV3OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjFkIg0KfQ0KDQouZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBjYyINCn0NCg0KLmZhLXN0cmlwZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQyOSINCn0NCg0KLmZhLXN0cmlwZS1zOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDJhIg0KfQ0KDQouZmEtc3Ryb29wd2FmZWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NTEiDQp9DQoNCi5mYS1zdHVkaW92aW5hcmk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzZjgiDQp9DQoNCi5mYS1zdHVtYmxldXBvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFhNCINCn0NCg0KLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFhMyINCn0NCg0KLmZhLXN1YnNjcmlwdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEyYyINCn0NCg0KLmZhLXN1YndheTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIzOSINCn0NCg0KLmZhLXN1aXRjYXNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGYyIg0KfQ0KDQouZmEtc3VpdGNhc2Utcm9sbGluZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVjMSINCn0NCg0KLmZhLXN1bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE4NSINCn0NCg0KLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmRkIg0KfQ0KDQouZmEtc3VwZXJzY3JpcHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMmIiDQp9DQoNCi5mYS1zdXBwbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYzZjkiDQp9DQoNCi5mYS1zdXJwcmlzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVjMiINCn0NCg0KLmZhLXN1c2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3ZDYiDQp9DQoNCi5mYS1zd2F0Y2hib29rOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWMzIg0KfQ0KDQouZmEtc3dpZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4ZTEiDQp9DQoNCi5mYS1zd2ltbWVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWM0Ig0KfQ0KDQouZmEtc3dpbW1pbmctcG9vbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVjNSINCn0NCg0KLmZhLXN5bWZvbnk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4M2QiDQp9DQoNCi5mYS1zeW5hZ29ndWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2OWIiDQp9DQoNCi5mYS1zeW5jOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDIxIg0KfQ0KDQouZmEtc3luYy1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyZjEiDQp9DQoNCi5mYS1zeXJpbmdlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDhlIg0KfQ0KDQouZmEtdGFibGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwY2UiDQp9DQoNCi5mYS10YWJsZS10ZW5uaXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0NWQiDQp9DQoNCi5mYS10YWJsZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxMGEiDQp9DQoNCi5mYS10YWJsZXQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2ZhIg0KfQ0KDQouZmEtdGFibGV0czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ5MCINCn0NCg0KLmZhLXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2ZkIg0KfQ0KDQouZmEtdGFnOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDJiIg0KfQ0KDQouZmEtdGFnczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAyYyINCn0NCg0KLmZhLXRhcGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZGIiDQp9DQoNCi5mYS10YXNrczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBhZSINCn0NCg0KLmZhLXRheGk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxYmEiDQp9DQoNCi5mYS10ZWFtc3BlYWs6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZjkiDQp9DQoNCi5mYS10ZWV0aDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjYyZSINCn0NCg0KLmZhLXRlZXRoLW9wZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2MmYiDQp9DQoNCi5mYS10ZWxlZ3JhbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJjNiINCn0NCg0KLmZhLXRlbGVncmFtLXBsYW5lOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2ZlIg0KfQ0KDQouZmEtdGVtcGVyYXR1cmUtaGlnaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc2OSINCn0NCg0KLmZhLXRlbXBlcmF0dXJlLWxvdzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc2YiINCn0NCg0KLmZhLXRlbmNlbnQtd2VpYm86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZDUiDQp9DQoNCi5mYS10ZW5nZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdkNyINCn0NCg0KLmZhLXRlcm1pbmFsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTIwIg0KfQ0KDQouZmEtdGV4dC1oZWlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMzQiDQp9DQoNCi5mYS10ZXh0LXdpZHRoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDM1Ig0KfQ0KDQouZmEtdGg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMGEiDQp9DQoNCi5mYS10aC1sYXJnZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAwOSINCn0NCg0KLmZhLXRoLWxpc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMGIiDQp9DQoNCi5mYS10aGUtcmVkLXlldGk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2OWQiDQp9DQoNCi5mYS10aGVhdGVyLW1hc2tzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjMwIg0KfQ0KDQouZmEtdGhlbWVjbzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVjNiINCn0NCg0KLmZhLXRoZW1laXNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJiMiINCn0NCg0KLmZhLXRoZXJtb21ldGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDkxIg0KfQ0KDQouZmEtdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyY2IiDQp9DQoNCi5mYS10aGVybW9tZXRlci1mdWxsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmM3Ig0KfQ0KDQouZmEtdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJjOSINCn0NCg0KLmZhLXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyY2EiDQp9DQoNCi5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJjOCINCn0NCg0KLmZhLXRoaW5rLXBlYWtzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzMxIg0KfQ0KDQouZmEtdGh1bWJzLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNjUiDQp9DQoNCi5mYS10aHVtYnMtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNjQiDQp9DQoNCi5mYS10aHVtYnRhY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwOGQiDQp9DQoNCi5mYS10aWNrZXQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmM2ZmIg0KfQ0KDQouZmEtdGltZXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMGQiDQp9DQoNCi5mYS10aW1lcy1jaXJjbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwNTciDQp9DQoNCi5mYS10aW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDQzIg0KfQ0KDQouZmEtdGludC1zbGFzaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVjNyINCn0NCg0KLmZhLXRpcmVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWM4Ig0KfQ0KDQouZmEtdG9nZ2xlLW9mZjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIwNCINCn0NCg0KLmZhLXRvZ2dsZS1vbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIwNSINCn0NCg0KLmZhLXRvaWxldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdkOCINCn0NCg0KLmZhLXRvaWxldC1wYXBlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjcxZSINCn0NCg0KLmZhLXRvb2xib3g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1NTIiDQp9DQoNCi5mYS10b29sczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdkOSINCn0NCg0KLmZhLXRvb3RoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWM5Ig0KfQ0KDQouZmEtdG9yYWg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2YTAiDQp9DQoNCi5mYS10b3JpaS1nYXRlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmExIg0KfQ0KDQouZmEtdHJhY3RvcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjcyMiINCn0NCg0KLmZhLXRyYWRlLWZlZGVyYXRpb246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MTMiDQp9DQoNCi5mYS10cmFkZW1hcms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNWMiDQp9DQoNCi5mYS10cmFmZmljLWxpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjM3Ig0KfQ0KDQouZmEtdHJhaWxlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjk0MSINCn0NCg0KLmZhLXRyYWluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjM4Ig0KfQ0KDQouZmEtdHJhbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdkYSINCn0NCg0KLmZhLXRyYW5zZ2VuZGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjI0Ig0KfQ0KDQouZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjI1Ig0KfQ0KDQouZmEtdHJhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxZjgiDQp9DQoNCi5mYS10cmFzaC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyZWQiDQp9DQoNCi5mYS10cmFzaC1yZXN0b3JlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODI5Ig0KfQ0KDQouZmEtdHJhc2gtcmVzdG9yZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4MmEiDQp9DQoNCi5mYS10cmVlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWJiIg0KfQ0KDQouZmEtdHJlbGxvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTgxIg0KfQ0KDQouZmEtdHJpcGFkdmlzb3I6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyNjIiDQp9DQoNCi5mYS10cm9waHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwOTEiDQp9DQoNCi5mYS10cnVjazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBkMSINCn0NCg0KLmZhLXRydWNrLWxvYWRpbmc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZGUiDQp9DQoNCi5mYS10cnVjay1tb25zdGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjNiIg0KfQ0KDQouZmEtdHJ1Y2stbW92aW5nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGRmIg0KfQ0KDQouZmEtdHJ1Y2stcGlja3VwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjNjIg0KfQ0KDQouZmEtdHNoaXJ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTUzIg0KfQ0KDQouZmEtdHR5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWU0Ig0KfQ0KDQouZmEtdHVtYmxyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTczIg0KfQ0KDQouZmEtdHVtYmxyLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE3NCINCn0NCg0KLmZhLXR2OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjZjIg0KfQ0KDQouZmEtdHdpdGNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMWU4Ig0KfQ0KDQouZmEtdHdpdHRlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA5OSINCn0NCg0KLmZhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDgxIg0KfQ0KDQouZmEtdHlwbzM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MmIiDQp9DQoNCi5mYS11YmVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDAyIg0KfQ0KDQouZmEtdWJ1bnR1OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2RmIg0KfQ0KDQouZmEtdWlraXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MDMiDQp9DQoNCi5mYS11bWJyYWNvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmOGU4Ig0KfQ0KDQouZmEtdW1icmVsbGE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZTkiDQp9DQoNCi5mYS11bWJyZWxsYS1iZWFjaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVjYSINCn0NCg0KLmZhLXVuZGVybGluZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBjZCINCn0NCg0KLmZhLXVuZG86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwZTIiDQp9DQoNCi5mYS11bmRvLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJlYSINCn0NCg0KLmZhLXVuaXJlZ2lzdHJ5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDA0Ig0KfQ0KDQouZmEtdW5pdHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY5NDkiDQp9DQoNCi5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjlhIg0KfQ0KDQouZmEtdW5pdmVyc2l0eTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE5YyINCn0NCg0KLmZhLXVubGluazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjEyNyINCn0NCg0KLmZhLXVubG9jazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjA5YyINCn0NCg0KLmZhLXVubG9jay1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxM2UiDQp9DQoNCi5mYS11bnRhcHBkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDA1Ig0KfQ0KDQouZmEtdXBsb2FkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMDkzIg0KfQ0KDQouZmEtdXBzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2UwIg0KfQ0KDQouZmEtdXNiOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjg3Ig0KfQ0KDQouZmEtdXNlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAwNyINCn0NCg0KLmZhLXVzZXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDA2Ig0KfQ0KDQouZmEtdXNlci1hbHQtc2xhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZmEiDQp9DQoNCi5mYS11c2VyLWFzdHJvbmF1dDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRmYiINCn0NCg0KLmZhLXVzZXItY2hlY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZmMiDQp9DQoNCi5mYS11c2VyLWNpcmNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJiZCINCn0NCg0KLmZhLXVzZXItY2xvY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0ZmQiDQp9DQoNCi5mYS11c2VyLWNvZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRmZSINCn0NCg0KLmZhLXVzZXItZWRpdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRmZiINCn0NCg0KLmZhLXVzZXItZnJpZW5kczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUwMCINCn0NCg0KLmZhLXVzZXItZ3JhZHVhdGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MDEiDQp9DQoNCi5mYS11c2VyLWluanVyZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3MjgiDQp9DQoNCi5mYS11c2VyLWxvY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MDIiDQp9DQoNCi5mYS11c2VyLW1kOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGYwIg0KfQ0KDQouZmEtdXNlci1taW51czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUwMyINCn0NCg0KLmZhLXVzZXItbmluamE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MDQiDQp9DQoNCi5mYS11c2VyLW51cnNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODJmIg0KfQ0KDQouZmEtdXNlci1wbHVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjM0Ig0KfQ0KDQouZmEtdXNlci1zZWNyZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyMWIiDQp9DQoNCi5mYS11c2VyLXNoaWVsZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUwNSINCn0NCg0KLmZhLXVzZXItc2xhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY1MDYiDQp9DQoNCi5mYS11c2VyLXRhZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjUwNyINCn0NCg0KLmZhLXVzZXItdGllOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTA4Ig0KfQ0KDQouZmEtdXNlci10aW1lczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIzNSINCn0NCg0KLmZhLXVzZXJzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMGMwIg0KfQ0KDQouZmEtdXNlcnMtY29nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTA5Ig0KfQ0KDQouZmEtdXNwczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjdlMSINCn0NCg0KLmZhLXVzc3VubmFoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDA3Ig0KfQ0KDQouZmEtdXRlbnNpbC1zcG9vbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJlNSINCn0NCg0KLmZhLXV0ZW5zaWxzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmU3Ig0KfQ0KDQouZmEtdmFhZGluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDA4Ig0KfQ0KDQouZmEtdmVjdG9yLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVjYiINCn0NCg0KLmZhLXZlbnVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjIxIg0KfQ0KDQouZmEtdmVudXMtZG91YmxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjI2Ig0KfQ0KDQouZmEtdmVudXMtbWFyczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIyOCINCn0NCg0KLmZhLXZpYWNvaW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyMzciDQp9DQoNCi5mYS12aWFkZW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyYTkiDQp9DQoNCi5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmFhIg0KfQ0KDQouZmEtdmlhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ5MiINCn0NCg0KLmZhLXZpYWxzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDkzIg0KfQ0KDQouZmEtdmliZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MDkiDQp9DQoNCi5mYS12aWRlbzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjAzZCINCn0NCg0KLmZhLXZpZGVvLXNsYXNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNGUyIg0KfQ0KDQouZmEtdmloYXJhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNmE3Ig0KfQ0KDQouZmEtdmltZW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MGEiDQp9DQoNCi5mYS12aW1lby1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxOTQiDQp9DQoNCi5mYS12aW1lby12OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjdkIg0KfQ0KDQouZmEtdmluZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFjYSINCn0NCg0KLmZhLXZrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTg5Ig0KfQ0KDQouZmEtdm52OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDBiIg0KfQ0KDQouZmEtdm9pY2VtYWlsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODk3Ig0KfQ0KDQouZmEtdm9sbGV5YmFsbC1iYWxsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDVmIg0KfQ0KDQouZmEtdm9sdW1lLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMjciDQp9DQoNCi5mYS12b2x1bWUtbXV0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjZhOSINCn0NCg0KLmZhLXZvbHVtZS1vZmY6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMjYiDQp9DQoNCi5mYS12b2x1bWUtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYwMjgiDQp9DQoNCi5mYS12b3RlLXllYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjc3MiINCn0NCg0KLmZhLXZyLWNhcmRib2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjcyOSINCn0NCg0KLmZhLXZ1ZWpzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDFmIg0KfQ0KDQouZmEtd2Fsa2luZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU1NCINCn0NCg0KLmZhLXdhbGxldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjU1NSINCn0NCg0KLmZhLXdhcmVob3VzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQ5NCINCn0NCg0KLmZhLXdhdGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzczIg0KfQ0KDQouZmEtd2F2ZS1zcXVhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4M2UiDQp9DQoNCi5mYS13YXplOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODNmIg0KfQ0KDQouZmEtd2VlYmx5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWNjIg0KfQ0KDQouZmEtd2VpYm86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxOGEiDQp9DQoNCi5mYS13ZWlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0OTYiDQp9DQoNCi5mYS13ZWlnaHQtaGFuZ2luZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjVjZCINCn0NCg0KLmZhLXdlaXhpbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFkNyINCn0NCg0KLmZhLXdoYXRzYXBwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjMyIg0KfQ0KDQouZmEtd2hhdHNhcHAtc3F1YXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDBjIg0KfQ0KDQouZmEtd2hlZWxjaGFpcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE5MyINCn0NCg0KLmZhLXdobWNzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDBkIg0KfQ0KDQouZmEtd2lmaTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFlYiINCn0NCg0KLmZhLXdpa2lwZWRpYS13OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjY2Ig0KfQ0KDQouZmEtd2luZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjcyZSINCn0NCg0KLmZhLXdpbmRvdy1jbG9zZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQxMCINCn0NCg0KLmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJkMCINCn0NCg0KLmZhLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJkMSINCn0NCg0KLmZhLXdpbmRvdy1yZXN0b3JlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMmQyIg0KfQ0KDQouZmEtd2luZG93czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE3YSINCn0NCg0KLmZhLXdpbmUtYm90dGxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNzJmIg0KfQ0KDQouZmEtd2luZS1nbGFzczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjRlMyINCn0NCg0KLmZhLXdpbmUtZ2xhc3MtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWNlIg0KfQ0KDQouZmEtd2l4OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNWNmIg0KfQ0KDQouZmEtd2l6YXJkcy1vZi10aGUtY29hc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY3MzAiDQp9DQoNCi5mYS13b2xmLXBhY2stYmF0dGFsaW9uOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNTE0Ig0KfQ0KDQouZmEtd29uLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNTkiDQp9DQoNCi5mYS13b3JkcHJlc3M6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxOWEiDQp9DQoNCi5mYS13b3JkcHJlc3Mtc2ltcGxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDExIg0KfQ0KDQouZmEtd3BiZWdpbm5lcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjI5NyINCn0NCg0KLmZhLXdwZXhwbG9yZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYyZGUiDQp9DQoNCi5mYS13cGZvcm1zOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMjk4Ig0KfQ0KDQouZmEtd3ByZXNzcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjNlNCINCn0NCg0KLmZhLXdyZW5jaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjBhZCINCn0NCg0KLmZhLXgtcmF5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDk3Ig0KfQ0KDQouZmEteGJveDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQxMiINCn0NCg0KLmZhLXhpbmc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNjgiDQp9DQoNCi5mYS14aW5nLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjE2OSINCn0NCg0KLmZhLXktY29tYmluYXRvcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjIzYiINCn0NCg0KLmZhLXlhaG9vOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTllIg0KfQ0KDQouZmEteWFtbWVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmODQwIg0KfQ0KDQouZmEteWFuZGV4OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNDEzIg0KfQ0KDQouZmEteWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY0MTQiDQp9DQoNCi5mYS15YXJuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmN2UzIg0KfQ0KDQouZmEteWVscDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjFlOSINCn0NCg0KLmZhLXllbi1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmMTU3Ig0KfQ0KDQouZmEteWluLXlhbmc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY2YWQiDQp9DQoNCi5mYS15b2FzdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjJiMSINCn0NCg0KLmZhLXlvdXR1YmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGYxNjciDQp9DQoNCi5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZjQzMSINCn0NCg0KLmZhLXpoaWh1OmJlZm9yZSB7DQogICAgY29udGVudDogIlxmNjNmIg0KfQ0KDQouc3Itb25seSB7DQogICAgYm9yZGVyOiAwOw0KICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7DQogICAgaGVpZ2h0OiAxcHg7DQogICAgbWFyZ2luOiAtMXB4Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgcGFkZGluZzogMDsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgd2lkdGg6IDFweA0KfQ0KDQouc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLA0KLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHsNCiAgICBjbGlwOiBhdXRvOw0KICAgIGhlaWdodDogYXV0bzsNCiAgICBtYXJnaW46IDA7DQogICAgb3ZlcmZsb3c6IHZpc2libGU7DQogICAgcG9zaXRpb246IHN0YXRpYzsNCiAgICB3aWR0aDogYXV0bw0KfQ0KDQpAZm9udC1mYWNlIHsNCiAgICBmb250LWZhbWlseTogIkZvbnQgQXdlc29tZSA1IEJyYW5kcyI7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgZm9udC1kaXNwbGF5OiBhdXRvOw0KICAgIHNyYzogdXJsKC4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAuaHRtbCk7DQogICAgc3JjOiB1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMGQ0MWRkNDFkLmh0bWw/I2llZml4KSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksIHVybCguLi93ZWJmb250cy9mYS1icmFuZHMtNDAxLmh0bWwpIGZvcm1hdCgid29mZjIiKSwgdXJsKC4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDIuaHRtbCkgZm9ybWF0KCJ3b2ZmIiksIHVybCguLi93ZWJmb250cy9mYS1icmFuZHMtNDAzLmh0bWwpIGZvcm1hdCgidHJ1ZXR5cGUiKSwgdXJsKC4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDQuaHRtbCNmb250YXdlc29tZSkgZm9ybWF0KCJzdmciKQ0KfQ0KDQouZmFiIHsNCiAgICBmb250LWZhbWlseTogIkZvbnQgQXdlc29tZSA1IEJyYW5kcyINCn0NCg0KQGZvbnQtZmFjZSB7DQogICAgZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBGcmVlIjsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LWRpc3BsYXk6IGF1dG87DQogICAgc3JjOiB1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAuaHRtbCk7DQogICAgc3JjOiB1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDBkNDFkZDQxZC5odG1sPyNpZWZpeCkgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLCB1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDEuaHRtbCkgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDIuaHRtbCkgZm9ybWF0KCJ3b2ZmIiksIHVybCguLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMy5odG1sKSBmb3JtYXQoInRydWV0eXBlIiksIHVybCguLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwNC5odG1sI2ZvbnRhd2Vzb21lKSBmb3JtYXQoInN2ZyIpDQp9DQoNCi5mYXIgew0KICAgIGZvbnQtd2VpZ2h0OiA0MDANCn0NCg0KQGZvbnQtZmFjZSB7DQogICAgZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBGcmVlIjsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC13ZWlnaHQ6IDkwMDsNCiAgICBmb250LWRpc3BsYXk6IGF1dG87DQogICAgc3JjOiB1cmwoLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLmh0bWwpOw0KICAgIHNyYzogdXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMGQ0MWRkNDFkLmh0bWw/I2llZml4KSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksIHVybCguLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSwgdXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmKSBmb3JtYXQoIndvZmYiKSwgdXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC50dGYpIGZvcm1hdCgidHJ1ZXR5cGUiKSwgdXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMS5odG1sI2ZvbnRhd2Vzb21lKSBmb3JtYXQoInN2ZyIpDQp9DQoNCi5mYSwNCi5mYXIsDQouZmFzIHsNCiAgICBmb250LWZhbWlseTogIkZvbnQgQXdlc29tZSA1IEZyZWUiDQp9DQoNCi5mYSwNCi5mYXMgew0KICAgIGZvbnQtd2VpZ2h0OiA5MDANCn0="}},"time_used":471,"timings":{"blocked":-1,"dns":0,"connect":93,"send":0,"wait":186,"receive":95,"ssl":97},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.346Z","timestamp":1785136900346,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 2639bab1cb5d2e9f6e7e762477de182c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-28T07:05:00.680835Z","times_seen":1734,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":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/5184.0fb4574cacec16f6365d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.291Z","timestamp":1785136901291,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5184.0fb4574cacec16f6365d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-15fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5aae93b7d08ee9dfbbea387ecdeb47ab\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5628,"size_decoded":2039,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5628), with no line terminators","md5":"d7588c0ef38ed29f77c4285858768089","sha1":"1b0f8982c149f743f7af67d6a43e5bbcb09a698d","sha256":"09e34aab9f0ab1c517da25dd9e6a703968584d31fa0d044e61e48e60b623b691","sha512":"b072070b0ef82141c4d509c12596a605d3a427c3846b30a521d776f92a143f39e56b0d8eb974dfb0d88ab28bdf7413ad92d069ef724fecfb75ef30963cd73953","ssdeep":"48:LKn0fdtTAnnRpxyy+QPoL39OYuNyFejYkdY9Ik9s+1eyv68oc94XcW3te8nnfBvr:LKiTAVyKP+uNyApXcapnnfB/D5F","tlshash":"bbc1c343b5d0bc347f1266d86bf821adb6c0adb1e80321dab475b83588c1bfb54a1e65","first_seen":"2026-07-16T13:40:49.878413Z","last_seen":"2026-08-10T05:00:33.811087Z","times_seen":359,"resource_available":false,"data":"LmJhZGdlLXg0VVZaYWJNey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1iYWRnZS1zaXplLHZhcigtLXVpLWxpYi1wcml2YXRlLWJhZGdlLXNpemUsNCkpOy0tdWktbGliLXNpemUtZGVmLXhzbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMikpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7LS11aS1saWItc2l6ZS1kZWYteGxhcmdlOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA2KSkpOy0tdWktbGliLWJhZGdlLWRlZmF1bHQtcGFkZGluZy1sZWZ0OnZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctaG9yKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctcmlnaHQ6dmFyKC0tdWktbGliLWJhZGdlLWRlZmF1bHQtcGFkZGluZy1ob3IpOy0tdWktbGliLWJhZGdlLWJvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqOHB4KTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMzJweCk7LS11aS1saWItYmFkZ2UtYWN0dWFsLWhlaWdodDp2YXIoLS11aS1saWItYmFkZ2UtaGVpZ2h0LHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWhlaWdodCkpO2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLWJhZGdlLWJvcmRlci1yYWRpdXMpO2ZvbnQtc2l6ZTpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjExcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxN3B4KTtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjcwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo3MDApO2hlaWdodDp2YXIoLS11aS1saWItYmFkZ2UtYWN0dWFsLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSouNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSouMDJlbSArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKi4wNWVtICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSouMDJlbSk7cGFkZGluZy1ibG9jazowIDA7cGFkZGluZy1pbmxpbmU6dmFyKC0tdWktbGliLWJhZGdlLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLWxlZnQpKSB2YXIoLS11aS1saWItYmFkZ2UtcGFkZGluZy1yaWdodCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLXJpZ2h0KSk7LS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWJhZGdlLWJhY2tncm91bmQsdmFyKC0tdWktbGliLWJhZGdlLWRlZmF1bHQtY29sb3ItYmFja2dyb3VuZCkpO2JvcmRlcjpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1jb250ZW50KSk7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXdyYXA6bm93cmFwO2p1c3RpZnktY29udGVudDpjZW50ZXI7bGluZS1oZWlnaHQ6bm9ybWFsO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uYmFkZ2UteDRVVlphYk0uaGFzQ2hpbGRyZW4teDRVVlphYk17LS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLWhvcjpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo4cHgpfS5iYWRnZS14NFVWWmFiTTpub3QoLmhhc0NoaWxkcmVuLXg0VVZaYWJNKXstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctaG9yOjA7d2lkdGg6dmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1oZWlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXthLmJhZGdlLXg0VVZaYWJNOmhvdmVyLGJ1dHRvbi5iYWRnZS14NFVWWmFiTTpob3ZlcnstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7YmFja2dyb3VuZDp2YXIoLS11aS1saWItYmFkZ2UtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS11aS1saWItYmFkZ2UtYmFja2dyb3VuZCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kKSkpO2NvbG9yOnZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LWhvdmVyLHZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQpKSl9fWEuYmFkZ2UteDRVVlphYk06YWN0aXZlLGJ1dHRvbi5iYWRnZS14NFVWWmFiTTphY3RpdmV7LS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ib2xkKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpO2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWJhZGdlLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLXVpLWxpYi1iYWRnZS1iYWNrZ3JvdW5kLHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWJhY2tncm91bmQtYWN0aXZlKSkpO2NvbG9yOnZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LWFjdGl2ZSx2YXIoLS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1jb250ZW50LWFjdGl2ZSkpKX0uYmFkZ2UteDRVVlphYk17b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmJhZGdlLXg0VVZaYWJNOmZvY3Vze291dGxpbmU6bm9uZX0uYmFkZ2UteDRVVlphYk06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJhZGdlLXg0VVZaYWJNOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5iYWRnZS14NFVWWmFiTTpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5iYWRnZS14NFVWWmFiTTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJhZGdlLXg0VVZaYWJNOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5iYWRnZS14NFVWWmFiTTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLWJhZGdlLWZvY3VzLW91dGxpbmUtcmFkaXVzLCB2YXIoLS11aS1saWItYmFkZ2UtYm9yZGVyLXJhZGl1cykpICsgNHB4KX0uY29udGVudC14NFVWWmFiTXtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIGNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjRweCk7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNsb3QteDRVVlphYk17LS11aS1saWItYmFkZ2Utc2xvdC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDp2YXIoLS11aS1saWItYmFkZ2Utc2xvdC1zaXplKTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOnZhcigtLXVpLWxpYi1iYWRnZS1zbG90LXNpemUpfS54c21hbGwteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjJ9LnNtYWxsLXg0VVZaYWJNey0tdWktbGliLXByaXZhdGUtYmFkZ2Utc2l6ZTozfS5tZWRpdW0teDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjR9LmxhcmdlLXg0VVZaYWJNey0tdWktbGliLXByaXZhdGUtYmFkZ2Utc2l6ZTo1fS54bGFyZ2UteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjZ9Lnh4bGFyZ2UteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjd9"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/98509.f8d6ac38558196800d81.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.494Z","timestamp":1785136901494,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98509.f8d6ac38558196800d81.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-181\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b8183c8854950d32e9efbb6130694378\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":385,"size_decoded":994,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (385), with no line terminators","md5":"4133913207f831470f93a99259fc2199","sha1":"c85ac4b4dbb31362d3a803db2b1855a07a4432fc","sha256":"9a30cb5d3c50528598c10ec6bae54bbf4d41abaf88730d8b4b3bfacde808f6e2","sha512":"de719b99e4d591ec8c62d29bdcc5df5117829386ba6c1f8df9ccabcc679d0c237405c185c4cd9f4a9bce56a877b1bcdbc786c24ee8d22d20384bdf29bb5516ff","ssdeep":"","tlshash":"6ce061a1c294a1ddbb73d3218741f1d47225b5b6a8255e18f6c5319580c6447145843f","first_seen":"2026-06-30T21:57:43.334683Z","last_seen":"2026-07-28T06:17:53.402989Z","times_seen":228,"resource_available":false,"data":"LmJ1dHRvbi1yMHBvUnYwUnthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tcjBwb1J2MFI6YmVmb3Jle2JvcmRlci1yYWRpdXM6NHB4O2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LmJ1dHRvbi1yMHBvUnYwUjpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1yMHBvUnYwUi5hY3RpdmUtcjBwb1J2MFI6YmVmb3Jle291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCDOT.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.473Z","timestamp":1785136905473,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCDOT.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/657.29ddd4f04e6ec50da70b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.858Z","timestamp":1785136901858,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/657.29ddd4f04e6ec50da70b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 60\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b75-3c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b6ceca9fa11b917722c73fb4db5c06aa\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":60,"size_decoded":844,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"df18085a2070c3224e444c71713a95bc","sha1":"144d76cfc0df49820ea9adff3d08089670097e0e","sha256":"41b689f65b61467ec344afc1b82582ad1aca4134488ceb2f506e8f80e6ba919c","sha512":"f498445a0b87460528dde1423c9e61047aa43ac1d298895e5ce55ad2ec4f8bb9e3a40c41434d71c573e693ac551d5865326e39fd2a4735648b7637f8d41a88fc","ssdeep":"","tlshash":"16a0020653c51f358913d92307962717115454258912d6b58a03caa6964d78879261ec","first_seen":"2026-02-24T21:05:06.310249Z","last_seen":"2026-08-10T05:00:33.884284Z","times_seen":293,"resource_available":false,"data":"LmxvZ28tZDB2Vm1HdlR7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTttYXJnaW4taW5saW5lLWVuZDo4cHh9"}},"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.com/support/support-portal-problems/?language=en","fqdn":"www.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.054Z","timestamp":1785136902054,"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":"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 /support/support-portal-problems/?language=en HTTP/1.1\r\nHost: www.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\nOrigin: https://s.tradingview.com\r\nx-language: en\r\nx-requested-with: XMLHttpRequest\r\nReferer: https://s.tradingview.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json\r\ncontent-length: 13\r\nage: 3\r\ndate: Mon, 27 Jul 2026 07:21:39 GMT\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncache-control: max-age=60\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/; frame-ancestors 'none'; object-src 'none'\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin, origin-when-cross-origin\r\nx-content-type-options: nosniff, nosniff\r\nserver: tv\r\naccess-control-allow-origin: https://s.tradingview.com\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncross-origin-resource-policy: same-site\r\naccess-control-allow-headers: pragma,x-language,cache-control,x-requested-with\r\naccess-control-allow-credentials: true\r\naccess-control-max-age: 86400\r\nvary: Cookie\r\nx-cache: Hit from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nvia: 1.1 0ca6102b671acc9950502eeeca241bf8.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN56-P1\r\nx-amz-cf-id: T793Zc4wDCHSqkwLD8pWHk2UeF8nkGVvH_wvDyIHfkfN66IHmhXAUw==\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":"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"]}],"data":{"size":13,"size_decoded":1542,"mime_type":"application/json","magic":"JSON text data","md5":"01de957246f36d125db7f1635e51043e","sha1":"ab39026488aa0222d0fd98ade08979a1a17bdfae","sha256":"9bf40c18a4b22428c00ae5ddb17ff9e721207f22ebe705fd7dffdfd150749e3b","sha512":"72406f9bdf9896da1e3b58e79b74803c4b3a4226b1859cefcee322aa78d8617178a9e12333d72d43dd10207e3e79b9fc76ed07546ce955c0c8b392985d5540c5","ssdeep":"","tlshash":"d760000f003000000f0c0030f0000cc3000c0000033c30300c0c00c3030c0030ccf303","first_seen":"2023-05-02T20:38:18Z","last_seen":"2026-08-10T05:00:33.769713Z","times_seen":673,"resource_available":false,"data":"eyJpc3N1ZXMiOltdfQ=="}},"time_used":34,"timings":{"blocked":1,"dns":0,"connect":0,"send":0,"wait":33,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCHYPEH.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.398Z","timestamp":1785136905398,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCHYPEH.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"6ecfaa112faf6c74d8bc5a45ccc6502e\"\r\nlast-modified: Thu, 16 Jan 2025 13:46:58 GMT\r\ncdn-cachedat: 08/14/2025 09:12:29\r\nx-amz-id-2: suTxm7PxnyiM2t62JQDcxoHQjvk7u0xfyWXuB3byyGl7xMgErunqfawUIQo7g9HBZJ5hazeS5GQ=\r\nx-amz-request-id: NGBQRCV00GPDMY8Z\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 6ecfaa112faf6c74d8bc5a45ccc6502e\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 54f4afcebc5a831eda7c71ec83978dc0\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"scanner.tradingview.com/crypto/metainfo?api_key=widget_user_token\u0026label-product=screener-crypto_mkt-old","fqdn":"scanner.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.597Z","timestamp":1785136901597,"http_version":"","security_state":"","security_info":null,"request":{"raw":"POST /crypto/metainfo?api_key=widget_user_token\u0026label-product=screener-crypto_mkt-old HTTP/1.1\r\nHost: scanner.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nContent-Length: 22\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":22,"data":"{\"markets\":[\"crypto\"]}"}},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCPROVE.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.597Z","timestamp":1785136905597,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCPROVE.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCBIOPR.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.559Z","timestamp":1785136905559,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCBIOPR.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCESPRES.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.576Z","timestamp":1785136905576,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCESPRES.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.994Z","timestamp":1785136900994,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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 07:21:40 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: 3f3d991ae71348e36b0aa85af4cbecc4\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":6674,"size_decoded":2450,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6674), with no line terminators","md5":"f0f634ef413698b5d2803a87d22f7371","sha1":"ab445a3dad78a0af77a6322c79837164dfd71745","sha256":"1e4004685024a3a4b841fc7a40ed6764efd60d076fe2e0c80cdbbf12774e9185","sha512":"47e707e11fa655ed28f08621ee8c795d8b011467a77b8d0d9c5f726095defe1ed1bfaf8cc7cfdd1b9aaa695fd7547e66f982736269473037353f153cdb81e031","ssdeep":"96:DLRLhVLZjin09Bfgc0H3IFtxsIRH0kq7fDvLNvqK/VmTqX:lLA0Ic0H4FtxV10kq7fDvL9qK/VmTc","tlshash":"c4d14622531ea0ff2177aa294bdc4f0f4e35d5a1d6a2760c93192b940b8f7fc47e560a","first_seen":"2026-07-16T11:36:17.8282Z","last_seen":"2026-07-28T04:59:54.497741Z","times_seen":992,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtOEhRSjojMDAwMDstLV8xLThIUUo6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC04SFFKOiMwMDAwOy0tXzEtOEhRSjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX1hLnR2LXRpY2tlci1pdGVtLXRhcGV7b3ZlcmZsb3c6aGlkZGVufS50di10aWNrZXItaXRlbS10YXBle2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDowIDAgYXV0bztmb250LXNpemU6MTZweDtoZWlnaHQ6NDRweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di10aWNrZXItaXRlbS10YXBlOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYmctcHJpbWFyeS1ob3Zlcil9fS50di10aWNrZXItaXRlbS10YXBle291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS50di10aWNrZXItaXRlbS10YXBlOmZvY3Vze291dGxpbmU6bm9uZX0udHYtdGlja2VyLWl0ZW0tdGFwZTpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udHYtdGlja2VyLWl0ZW0tdGFwZTphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0udHYtdGlja2VyLWl0ZW0tdGFwZTpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS50di10aWNrZXItaXRlbS10YXBlOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30udHYtdGlja2VyLWl0ZW0tdGFwZTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0udHYtdGlja2VyLWl0ZW0tdGFwZTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjJweH0udHYtdGlja2VyLWl0ZW0tdGFwZV9fYm9yZGVyLXdyYXBwZXJ7Ym9yZGVyLWlubGluZS1lbmQ6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nLWlubGluZS1zdGFydDoxNnB4O3dpZHRoOjEwMCV9LnR2LXRpY2tlci1pdGVtLXRhcGVfX2JvcmRlci13cmFwcGVyLC50di10aWNrZXItaXRlbS10YXBlX19pbm5lci13cmFwcGVye2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCV9LnR2LXRpY2tlci1pdGVtLXRhcGVfX2NoYW5nZS13cmFwcGVyLC50di10aWNrZXItaXRlbS10YXBlX19sYXN0LXdyYXBwZXIsLnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlcntkaXNwbGF5OmZsZXh9LnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlcnttYXJnaW4taW5saW5lLWVuZDoxMnB4fS50di10aWNrZXItaXRlbS10YXBlX19pY29uLXdyYXBwZXIsLnR2LXRpY2tlci1pdGVtLXRhcGVfX3N5bWJvbHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS50di10aWNrZXItaXRlbS10YXBlX19pY29ue21hcmdpbi1pbmxpbmUtZW5kOjhweH0udHYtdGlja2VyLWl0ZW0tdGFwZV9fc2hvcnQtbmFtZXtmb250LXdlaWdodDo3MDA7d2hpdGUtc3BhY2U6bm93cmFwfS50di10aWNrZXItaXRlbS10YXBlX19sYXN0e2JvcmRlci1yYWRpdXM6M3B4O21hcmdpbjotMXB4IC0ycHg7cGFkZGluZzoxcHggMnB4O3RyYW5zaXRpb24tZHVyYXRpb246LjM1czt0cmFuc2l0aW9uLXByb3BlcnR5OmJhY2tncm91bmR9LnR2LXRpY2tlci1pdGVtLXRhcGVfX2xhc3QtLWdyb3dpbmd7Y29sb3I6dmFyKC0tY29sb3ItZ3Jvd2luZyl9LnR2LXRpY2tlci1pdGVtLXRhcGVfX2xhc3QtLWZhbGxpbmd7Y29sb3I6dmFyKC0tY29sb3ItZmFsbGluZyl9LnR2LXRpY2tlci1pdGVtLXRhcGVfX2NoYW5nZS13cmFwcGVye21hcmdpbi1pbmxpbmUtc3RhcnQ6MTJweH0udHYtdGlja2VyLWl0ZW0tdGFwZV9fY2hhbmdlLXdyYXBwZXItLXVwe2NvbG9yOnZhcigtLWNvbG9yLWdyb3dpbmcpfS50di10aWNrZXItaXRlbS10YXBlX19jaGFuZ2Utd3JhcHBlci0tZG93bntjb2xvcjp2YXIoLS1jb2xvci1mYWxsaW5nKX0udHYtdGlja2VyLWl0ZW0tdGFwZV9fY2hhbmdlLWFicywudHYtdGlja2VyLWl0ZW0tdGFwZV9fY2hhbmdlLXB0e2RpcmVjdGlvbjpsdHJ9LnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3R7Zm9udC1zaXplOjE0cHg7aGVpZ2h0OjcycHh9LnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX2lubmVyLXdyYXBwZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlcnttYXJnaW4taW5saW5lLWVuZDowfS50di10aWNrZXItaXRlbS10YXBlLS1jb21wYWN0IC50di10aWNrZXItaXRlbS10YXBlX19zeW1ib2x7bWFyZ2luLWJvdHRvbTo0cHh9LnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwfS50di10aWNrZXItaXRlbS10YXBlLS1jb21wYWN0IC50di10aWNrZXItaXRlbS10YXBlX19sYXN0e2ZvbnQtd2VpZ2h0OjcwMH0udHYtdGlja2VyLWl0ZW0tdGFwZS0tY29tcGFjdCAudHYtdGlja2VyLWl0ZW0tdGFwZV9faWNvbnttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX2NoYW5nZS13cmFwcGVye21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtdGlja2VyLWl0ZW0tdGFwZS0tY29tcGFjdCAudHYtdGlja2VyLWl0ZW0tdGFwZV9fY2hhbmdlLXdyYXBwZXItLWRvd24sLnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX2NoYW5nZS13cmFwcGVyLS11cHttYXJnaW4tbGVmdDotN3B4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbntwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjM0NnB4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbiAudHYtdGlja2VyLWl0ZW0tdGFwZV9fYm9yZGVyLXdyYXBwZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjB9LnR2LXRpY2tlci1pdGVtLXRhcGUtLXNrZWxldG9uIC50di10aWNrZXItaXRlbS10YXBlX19jaGFuZ2Utd3JhcHBlciwudHYtdGlja2VyLWl0ZW0tdGFwZS0tc2tlbGV0b24gLnR2LXRpY2tlci1pdGVtLXRhcGVfX2xhc3Qtd3JhcHBlciwudHYtdGlja2VyLWl0ZW0tdGFwZS0tc2tlbGV0b24gLnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlcntiYWNrZ3JvdW5kOnZhcigtLV8xLThIUUopO2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDoxNnB4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbiAudHYtdGlja2VyLWl0ZW0tdGFwZV9fc2hvcnQtbmFtZS13cmFwcGVye3dpZHRoOjEwMHB4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbiAudHYtdGlja2VyLWl0ZW0tdGFwZV9fbGFzdC13cmFwcGVye3dpZHRoOjcwcHh9LnR2LXRpY2tlci1pdGVtLXRhcGUtLXNrZWxldG9uIC50di10aWNrZXItaXRlbS10YXBlX19jaGFuZ2Utd3JhcHBlcnt3aWR0aDoxMTBweH0udHYtdGlja2VyLWl0ZW0tdGFwZS0tc2tlbGV0b24udHYtdGlja2VyLWl0ZW0tdGFwZS0tY29tcGFjdHt3aWR0aDoxMjVweH0udHYtdGlja2VyLWl0ZW0tdGFwZS0tc2tlbGV0b24udHYtdGlja2VyLWl0ZW0tdGFwZS0tY29tcGFjdCAudHYtdGlja2VyLWl0ZW0tdGFwZV9fY2hhbmdlLXdyYXBwZXIsLnR2LXRpY2tlci1pdGVtLXRhcGUtLXNrZWxldG9uLnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX2xhc3Qtd3JhcHBlciwudHYtdGlja2VyLWl0ZW0tdGFwZS0tc2tlbGV0b24udHYtdGlja2VyLWl0ZW0tdGFwZS0tY29tcGFjdCAudHYtdGlja2VyLWl0ZW0tdGFwZV9fc2hvcnQtbmFtZS13cmFwcGVye2hlaWdodDoxMnB4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbi50di10aWNrZXItaXRlbS10YXBlLS1jb21wYWN0IC50di10aWNrZXItaXRlbS10YXBlX19sYXN0LXdyYXBwZXIsLnR2LXRpY2tlci1pdGVtLXRhcGUtLXNrZWxldG9uLnR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QgLnR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlcnt3aWR0aDo3MnB4fS50di10aWNrZXItaXRlbS10YXBlLS1za2VsZXRvbi50di10aWNrZXItaXRlbS10YXBlLS1jb21wYWN0IC50di10aWNrZXItaXRlbS10YXBlX19jaGFuZ2Utd3JhcHBlcnt3aWR0aDo5MnB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtdGlja2VyLWl0ZW0tdGFwZS0tdHJhbnNwYXJlbnQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1fMC04SFFKKX19LnR2LXRpY2tlci1pdGVtLXRhcGUtLXRyYW5zcGFyZW50IC50di10aWNrZXItaXRlbS10YXBlX19ib3JkZXItd3JhcHBlcntib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1jb2xvci1kaXZpZGVyKX0udHYtdGlja2VyLWl0ZW0tdGFwZV9fc3ltYm9sLWV4Y2xhbWF0aW9uLW1hcmt7YWxpZ24tc2VsZjpjZW50ZXI7YmFja2dyb3VuZDp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PScxMCcgdmlld0JveD0nMCAwIDEwIDEwJyUzRSUzQ3BhdGggZmlsbD0nJTIzZmY0YTY4JyBkPSdNNSAxMEE1IDUgMCAxIDAgNSAwYTUgNSAwIDAgMCAwIDEwbS0uNS0zaDFjLjYgMCAuNiAxIDAgMWgtMWMtLjYgMC0uNi0xIDAtMU00IDJoMnYybC0uNSAyaC0xTDQgNHonLyUzRSUzQy9zdmclM0UiKSA1MCUgbm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb250YWluO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4O3dpZHRoOjE2cHh9LnRpY2tlclRhcGUtTl9reXBqdDl7b3ZlcmZsb3c6aGlkZGVufS50aWNrZXJUYXBlLU5fa3lwanQ5Lm5vQXV0b1Njcm9sbC1OX2t5cGp0OXtvdmVyZmxvdy14OnNjcm9sbH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsudGlja2VyVGFwZS1OX2t5cGp0OS5ub0F1dG9TY3JvbGwtTl9reXBqdDl7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9fS50aWNrZXJUYXBlLU5fa3lwanQ5Lm5vQXV0b1Njcm9sbC1OX2t5cGp0OS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LnRpY2tlclRhcGUtTl9reXBqdDkubm9BdXRvU2Nyb2xsLU5fa3lwanQ5Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0udGlja2VyVGFwZS1OX2t5cGp0OS5ub0F1dG9TY3JvbGwtTl9reXBqdDk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC50aWNrZXJUYXBlLU5fa3lwanQ5Lm5vQXV0b1Njcm9sbC1OX2t5cGp0OTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS50aWNrZXJUYXBlLU5fa3lwanQ5Lm5vQXV0b1Njcm9sbC1OX2t5cGp0OTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0udGlja2VyVGFwZS1OX2t5cGp0OS5ub0F1dG9TY3JvbGwtTl9reXBqdDkgLnRhcGUtTl9reXBqdDl7YW5pbWF0aW9uOm5vbmV9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LnRpY2tlclRhcGUtTl9reXBqdDl7b3ZlcmZsb3cteDpzY3JvbGx9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LnRpY2tlclRhcGUtTl9reXBqdDl7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9fS50aWNrZXJUYXBlLU5fa3lwanQ5LnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0udGlja2VyVGFwZS1OX2t5cGp0OTo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lO2hlaWdodDowO3dpZHRoOjB9LnRpY2tlclRhcGUtTl9reXBqdDk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC50aWNrZXJUYXBlLU5fa3lwanQ5Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnRpY2tlclRhcGUtTl9reXBqdDk6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9fS50YXBlLU5fa3lwanQ5e2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLXBsYXktc3RhdGU6cnVubmluZzthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0b31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRhcGUtTl9reXBqdDk6aG92ZXJ7YW5pbWF0aW9uLXBsYXktc3RhdGU6cGF1c2VkfX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsudGFwZS1OX2t5cGp0OXthbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWR9fS5oZWFkLU5fa3lwanQ5LC5za2VsZXRvbi1OX2t5cGp0OSwudGFpbC1OX2t5cGp0OXtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0b30="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/19595.d962ab75bd3e1baa5aae.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.729Z","timestamp":1785136901729,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19595.d962ab75bd3e1baa5aae.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-3aa\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8a4be387f4967ee91cbfc121422eff0b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":938,"size_decoded":1141,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (938), with no line terminators","md5":"ef14629eb0ed7a15e49e7c642aa484ef","sha1":"cfeaa9a767678d979a5fd7c738ef2545adf8282b","sha256":"99d133c91adb2471524428e7fc71f9734042eaad94a1abc097a500470c8a2856","sha512":"6f618b450da8775c62ec16e0a36ba0788e31206af19716abc78415d527b21e1d68c824eac3c7dd4ccf35567e42ecbca363d4bd8b077a19e1f49193783ecf3e4c","ssdeep":"","tlshash":"ff11262191110e79bcefa2352ba0990c6281cdb0cd17a4ebb468eb2504c67bb5c8326c","first_seen":"2026-07-17T03:30:51.205823Z","last_seen":"2026-08-10T05:01:44.168687Z","times_seen":191,"resource_available":false,"data":"LmlubmVyLXNsb3QtTmJHcHRENWp7LS11aS1saWItY29udHJvbC1pbm5lci1zbG90LWdhcDoycHg7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gKDNweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSkqMik7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKTttYXJnaW4tdG9wOmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKTttYXJnaW4taW5saW5lLWVuZDp2YXIoLS11aS1saWItY29udHJvbC1pbm5lci1zbG90LWdhcCwycHgpO292ZXJmbG93OmhpZGRlbn0uaW5uZXItc2xvdC1OYkdwdEQ1ajpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKX0uaW5uZXItc2xvdC1OYkdwdEQ1ajpudGgtbGFzdC1jaGlsZCgyKXttYXJnaW4taW5saW5lLWVuZDpjYWxjKDNweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSl9LmlubmVyLXNsb3QtTmJHcHRENWouaW50ZXJhY3RpdmUtTmJHcHRENWp7Y29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yLGN1cnJlbnRDb2xvcil9LmlubmVyLXNsb3QtTmJHcHRENWouaWNvbi1OYkdwdEQ1antmbGV4Om5vbmU7d2lkdGg6MjhweH0uaW5uZXItbWlkZGxlLXNsb3QtTmJHcHRENWp7ZmxleDoxIDEgYXV0b30uYmVmb3JlLXNsb3QtTmJHcHRENWp7ZGlzcGxheTpmbGV4O21hcmdpbi1ib3R0b206MnB4fS5hZnRlci1zbG90LU5iR3B0RDVqe2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/19787.bbb66fa0fd2bd04d0875.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.730Z","timestamp":1785136901730,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19787.bbb66fa0fd2bd04d0875.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-20c3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 50c3bbc1fdeefca09ec7c677aa8d0952\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8387,"size_decoded":2212,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8387), with no line terminators","md5":"c76f82404888743630c3d86c6931b984","sha1":"0effb39e719c9998b27c227db4b853aba32f119e","sha256":"1196f60553689bc67d6287aaac7773cab51d29c33e4fb4892caefae123cd5457","sha512":"f666bbef0cab0de8c5308c44eb68226e8037afd2e73be527dc8033c9f0a8147c7f08bf72a1fdaecfd64cc53656d5990a9d621e6722bb9aec0844cdc9e725a756","ssdeep":"192:r4jkmQQNWw64jkmQQuFQu3ZfXQb0JRQ//gUTxhi27lHuePk/ouJp:oV/Dhi27Y","tlshash":"3a026556f393453e7933d28e1e28b788e2569db2e5233ac2b534e554f5ecaf20c06d21","first_seen":"2026-07-17T03:30:51.091379Z","last_seen":"2026-08-10T05:01:44.328143Z","times_seen":191,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV8xLWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtc3VjY2Vzcyk7LS1fMi1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnkpOy0tXzMtY2tOSzp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC13YXJuaW5nKTstLV80LWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyKTstLV81LWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1fNi1ja05LOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzctY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMS1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3MpOy0tXzItY2tOSzp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5KTstLV8zLWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyk7LS1fNC1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRhbmdlcik7LS1fNS1ja05LOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzYtY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV83LWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LmNvbnRhaW5lci1OODRYU2NHbnthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbnRlbnQtY29sb3IsdmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCkpO2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6dmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLDFweCk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTstLXVpLWxpYi1jb250cm9sLWRlZmF1bHQtc2xvdC1jb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7aGVpZ2h0OnZhcigtLXVpLWxpYi1jb250cm9sLXNrZWxldG9uLWhlaWdodCxhdXRvKX0uY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci14eHNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NHB4fS5jb250YWluZXItTjg0WFNjR24uY29udGFpbmVyLXNtYWxsLU44NFhTY0duLC5jb250YWluZXItTjg0WFNjR24uY29udGFpbmVyLXhzbWFsbC1OODRYU2NHbntib3JkZXItcmFkaXVzOjZweH0uY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci1sYXJnZS1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci1tZWRpdW0tTjg0WFNjR257Ym9yZGVyLXJhZGl1czo4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24uaW50ZW50LWRlZmF1bHQtTjg0WFNjR246aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV81LWNrTkspOy0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9fS5jb250YWluZXItTjg0WFNjR24uZm9jdXNlZC1OODRYU2NHbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24uZm9jdXNlZC1OODRYU2NHbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSl9fS5jb250YWluZXItTjg0WFNjR24ucmVhZG9ubHktTjg0WFNjR257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24ucmVhZG9ubHktTjg0WFNjR246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCl9fS5jb250YWluZXItTjg0WFNjR24uZGlzYWJsZWQtTjg0WFNjR257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7Y29sb3I6dmFyKC0tXzctY2tOSyk7LS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tXzctY2tOSyk7LS11aS1saWItY29udHJvbC1kZWZhdWx0LXNsb3QtY29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udGFpbmVyLU44NFhTY0duLmRpc2FibGVkLU44NFhTY0duOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtY2tOSyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO2NvbG9yOnZhcigtLV83LWNrTkspOy0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yOnZhcigtLV83LWNrTkspOy0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yOnZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KX19LmNvbnRhaW5lci1OODRYU2NHbi53aXRoLWhpZ2hsaWdodC1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLndpdGgtaGlnaGxpZ2h0LU44NFhTY0duLmZvY3VzZWQtTjg0WFNjR257Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO291dGxpbmU6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNvbnRhaW5lci1OODRYU2NHbi53aXRoLWhpZ2hsaWdodC1OODRYU2NHbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7b3V0bGluZTpub25lfX0uY29udGFpbmVyLU44NFhTY0duLmdyb3VwZWQtTjg0WFNjR24uYWRqdXN0LXBvc2l0aW9uLU44NFhTY0duOm5vdCguZmlyc3Qtcm93LU44NFhTY0duKXttYXJnaW4tdG9wOmNhbGModmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKi0xKX0uY29udGFpbmVyLU44NFhTY0duLmdyb3VwZWQtTjg0WFNjR24uYWRqdXN0LXBvc2l0aW9uLU44NFhTY0duOm5vdCguZmlyc3QtY29sLU44NFhTY0duKXttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGModmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKi0xKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNvbnRhaW5lci1OODRYU2NHbi5ncm91cGVkLU44NFhTY0duOmhvdmVye3otaW5kZXg6MX19LmNvbnRhaW5lci1OODRYU2NHbi5ncm91cGVkLU44NFhTY0duLmZvY3VzZWQtTjg0WFNjR257ei1pbmRleDoyfS5jb250YWluZXItTjg0WFNjR24uc3RyZXRjaC1OODRYU2NHbnt3aWR0aDoxMDAlfS5jb250YWluZXItTjg0WFNjR24uZm9udC1zaXplLW1lZGl1bS1OODRYU2NHbnstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweH0uY29udGFpbmVyLU44NFhTY0duLmZvbnQtc2l6ZS1sYXJnZS1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLmZvbnQtc2l6ZS1tZWRpdW0tTjg0WFNjR257Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5jb250YWluZXItTjg0WFNjR24uZm9udC1zaXplLWxhcmdlLU44NFhTY0duey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS5jb250YWluZXItTjg0WFNjR24ubm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0due2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0uY29udGFpbmVyLU44NFhTY0duLm5vLWNvcm5lci10b3AtcmlnaHQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MH0uY29udGFpbmVyLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmNvbnRhaW5lci1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLWxlZnQtTjg0WFNjR257Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MH0uc2l6ZS14eHNtYWxsLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtc2tlbGV0b24taGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czo0cHh9LnNpemUteHNtYWxsLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtc2tlbGV0b24taGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo2cHh9LnNpemUtc21hbGwtTjg0WFNjR257LS11aS1saWItY29udHJvbC1za2VsZXRvbi1oZWlnaHQ6MzRweDtib3JkZXItcmFkaXVzOjZweH0uc2l6ZS1tZWRpdW0tTjg0WFNjR257LS11aS1saWItY29udHJvbC1za2VsZXRvbi1oZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjhweH0uc2l6ZS1sYXJnZS1OODRYU2NHbnstLXVpLWxpYi1jb250cm9sLXNrZWxldG9uLWhlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6OHB4fS5pbnRlbnQtZGVmYXVsdC1OODRYU2NHbnstLXVpLWxpYi1pbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7LS11aS1saWItaW50ZW50LWhpZ2hsaWdodC1jb2xvcjp2YXIoLS1fMC1ja05LKX0uaW50ZW50LXN1Y2Nlc3MtTjg0WFNjR257LS11aS1saWItaW50ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3MpOy0tdWktbGliLWludGVudC1oaWdobGlnaHQtY29sb3I6dmFyKC0tXzEtY2tOSyl9LmludGVudC13YXJuaW5nLU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC13YXJuaW5nKTstLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yOnZhcigtLV8zLWNrTkspfS5pbnRlbnQtZGFuZ2VyLU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXIpOy0tdWktbGliLWludGVudC1oaWdobGlnaHQtY29sb3I6dmFyKC0tXzQtY2tOSyl9LmludGVudC1wcmltYXJ5LU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5KTstLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yOnZhcigtLV8yLWNrTkspfS5ib3JkZXItbm9uZS1OODRYU2NHbnstLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aDowcHh9LmJvcmRlci10aGluLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoOjFweH0uYm9yZGVyLXRoaWNrLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoOjJweH0uaGlnaGxpZ2h0LU44NFhTY0due2JvcmRlcjoycHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yLHZhcigtLV8wLWNrTkspKTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1jb250cm9sLWhpZ2hsaWdodC1ib3JkZXItcmFkaXVzLDhweCk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO21hcmdpbjpjYWxjKHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSotMSk7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjN9LmhpZ2hsaWdodC1OODRYU2NHbi5zaG93bi1OODRYU2NHbnt2aXNpYmlsaXR5OnZpc2libGV9LmhpZ2hsaWdodC1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbntib3JkZXItZW5kLWVuZC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NHB4fS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci10b3AtbGVmdC1OODRYU2NHbntib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXh4c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXh4c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1sZWZ0LU44NFhTY0due2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbntib3JkZXItcmFkaXVzOjZweH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUteHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci10b3AtbGVmdC1OODRYU2NHbntib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLXJpZ2h0LU44NFhTY0due2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLXJpZ2h0LU44NFhTY0due2JvcmRlci1lbmQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1sZWZ0LU44NFhTY0due2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NnB4fS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1zbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1zbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLXJpZ2h0LU44NFhTY0due2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR257Ym9yZGVyLXJhZGl1czo4cHh9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLW1lZGl1bS1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbntib3JkZXItZW5kLWVuZC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbWVkaXVtLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbntib3JkZXItcmFkaXVzOjhweH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbGFyZ2UtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0due2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbGFyZ2UtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLXJpZ2h0LU44NFhTY0due2JvcmRlci1lbmQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLWxlZnQtTjg0WFNjR257Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/unilever.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.047Z","timestamp":1785136902047,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /unilever.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget.time.is/en.js","fqdn":"widget.time.is","domain":"time.is","tld":"is"},"ip":{"addr":"104.26.12.54","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.500Z","timestamp":1785136899500,"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":"time.is","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 00:17:11 GMT","end":"Thu, 08 Oct 2026 01:16:59 GMT"},"fingerprint":{"sha1":"EA:49:D4:B7:2D:1C:4C:62:2D:35:DF:49:C0:93:CE:C2:17:D0:81:85","sha256":"9A:B1:D1:52:BF:46:F7:B7:E8:9C:9F:DB:97:7A:2E:04:ED:94:31:75:B1:16:85:D3:A7:2A:A9:80:F4:55:0B:42"}}},"request":{"raw":"GET /en.js HTTP/1.1\r\nHost: widget.time.is\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://huobiget.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:39 GMT\r\ncontent-type: application/javascript\r\nserver: cloudflare\r\nlast-modified: Thu, 09 Jan 2020 13:28:46 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nexpires: Mon, 14 Sep 2026 06:06:31 GMT\r\ncache-control: max-age=7776000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=6%2FipzlbothAPknpBzWmg5%2F9S%2FVlQ%2BH4%2FCjKvC5pxhLmnoqHkciodZ%2BJMxSlj8uJ16%2FMYrzKsroFU6jDqZYUY69tZjtyALyaWCyWJatZ7cKFX%2F2Knef86wdhlat2wCRFo\"}]}\r\nage: 3546908\r\ncf-cache-status: HIT\r\netag: W/\"5e172a8e-11dd\"\r\ncontent-encoding: br\r\ncf-ray: a219e3760a8d5a0f-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":4573,"size_decoded":2689,"mime_type":"application/javascript","magic":"Unicode text, UTF-8 text, with very long lines (715)","md5":"64de9e7370d46b97f23903e6a9ff9868","sha1":"2339a6bfac5ae02e42f6d81b2f78a0cbeefa783d","sha256":"a8a1e5a65b7c6bf3241b75e98b218cff71063fb9ba689d454ff5ab17d5ebdf4f","sha512":"3111ecc3584038cd7d0e8bc8947c30b502efcf890f1f7dc72ca97186734e95b05b48f7ea16d2ce06d1261f985364b01b0656ae320ea3309c255e3ce73a3ee2f1","ssdeep":"96:rkIcq5aijN+WuUclbPQtrgS+kvgI4KOgS23hCkibjAqzWjJhzfeB6RleJPBldBnk:rkIcfiJ+WuUclzQN6kogOqxCkKjAqzWJ","tlshash":"379194e621520efb1df271a944ec4bd86b309cae46c484159c887ea9152dfc7302ffb6","first_seen":"2023-04-02T21:27:40Z","last_seen":"2026-07-27T08:27:57.351727Z","times_seen":28,"resource_available":true,"data":"dmFyIHRpbWVfaXNfd2lkZ2V0PW5ldyB0aW1lX2lzX3dpZGdldCgpCmZ1bmN0aW9uIHRpbWVfaXNfd2lkZ2V0KCl7dmFyIGNhPTAsdEQ9MCx0b3V0PTAsdXBkaW50PTEwMDAsdGw9IiIsVT0idW5kZWZpbmVkIixpLGoscmQKdmFyIHA9e246WyJTdW5kYXkuTW9uZGF5LlR1ZXNkYXkuV2VkbmVzZGF5LlRodXJzZGF5LkZyaWRheS5TYXR1cmRheS5TdW4uTW9uLlR1ZS5XZWQuVGh1LkZyaS5TYXQuSmFudWFyeS5GZWJydWFyeS5NYXJjaC5BcHJpbC5NYXkuSnVuZS5KdWx5LkF1Z3VzdC5TZXB0ZW1iZXIuT2N0b2Jlci5Ob3ZlbWJlci5EZWNlbWJlciJdLHc6IndlZWsgIixXOiJ3ZWVrIC5uIixkeToiIGRheSJ9CmZvcihpIGluIHApcFtpXT1kZWNvZGVVUklDb21wb25lbnQocFtpXSkKcFsibiJdPXBbIm4iXS5zcGxpdCgiLiIpCnRoaXMuaW5pdD1mdW5jdGlvbihQKXtpZih0b3V0IT0wKWNsZWFySW50ZXJ2YWwodGltZV9pc193aWRnZXQudG91dCkKdmFyIGEscT1bXSxjPXtkYXluYW1lOiIlbCIsZG5hbWU6IiVEIixkYXludW06IiVkIixkbnVtOiIlaiIsZGF5X2luX3k6IiV6Iix3ZWVrOiIlVyIsbW9udGhuYW1lOiIlRiIsbW9udGhudW06IiVtIixtbnVtOiIlbiIseXk6IiV5Iix5ZWFyOiIlWSIsIjEyaG91cnMiOiIlaCIsaG91cnM6IiVIIixtaW51dGVzOiIlaSIsc2Vjb25kczoiJXMiLEFNUE06IiVBIn0sY3Q9IlRJTUUiLHRGPSIlSDolaTolcyIsZEY9IiVZLSVkLSVtIixzRj0iJXNySDolc3JtLSVzc0g6JXNzbSIKZm9yKGkgaW4gUCl7YT1QW2ldCmFbInAiXT0iIgppZih0eXBlb2YgYVsiaWQiXT09VSlhWyJpZCJdPWkKaWYodHlwZW9mIGFbInRpbWVfZm9ybWF0Il0hPVUpdEY9YVsidGltZV9mb3JtYXQiXQppZih0eXBlb2YgYVsiZGF0ZV9mb3JtYXQiXSE9VSlkRj1hWyJkYXRlX2Zvcm1hdCJdCmlmKHR5cGVvZiBhWyJzdW5fZm9ybWF0Il0hPVUpc0Y9YVsic3VuX2Zvcm1hdCJdCmZvcihqIGluIGMpe2RGPWRGLnJlcGxhY2UoaixjW2pdKQp0Rj10Ri5yZXBsYWNlKGosY1tqXSl9CmlmKHR5cGVvZiBhWyJ0ZW1wbGF0ZSJdIT1VKWN0PWFbInRlbXBsYXRlIl0KdGw9Imh0dHBzOi8vdGltZS5pcy8iK2kuc3Vic3RyKDAsYVsiaWQiXS5pbmRleE9mKCJBQSIpKS5yZXBsYWNlKCJfXyIsIixfIikKdGw9IjxzcGFuIG9uY2xpY2s9XCJsb2NhdGlvbj0nIit0bC5yZXBsYWNlKCInIiwiXFxcJyIpKyInXCIgdGl0bGU9XCIiK3RsKyciPicKYVsidGVtcGxhdGUiXT1jdC5yZXBsYWNlKCJTVU4iLHRsK3NGKyI8L3NwYW4+IikucmVwbGFjZSgiVElNRSIsdGwrdEYrIjwvc3Bhbj4iKS5yZXBsYWNlKCJEQVRFIiwnPHNwYW4gb25jbGljaz0id2luZG93LmxvY2F0aW9uPVwnaHR0cHM6Ly90aW1lLmlzL2NhbGVuZGFyXCciIHRpdGxlPSJodHRwczovL3RpbWUuaXMvY2FsZW5kYXIiPicrZEYrJzwvc3Bhbj4nKQppZigtMT09YVsidGVtcGxhdGUiXS5pbmRleE9mKCI8c3AiKSlhWyJ0ZW1wbGF0ZSJdPSc8c3BhbiBvbmNsaWNrPSJ3aW5kb3cubG9jYXRpb249XCdodHRwczovL3RpbWUuaXMvXCciPicrYVsidGVtcGxhdGUiXSsiPC9zcGFuPiIKaWYodHlwZW9mIGFbInYiXT09VSl7cS5wdXNoKGFbImlkIl0pCmlmKHR5cGVvZiBhWyJjb29yZHMiXSE9VSlxW3EubGVuZ3RoLTFdKz0iLiIrYVsiY29vcmRzIl0ucmVwbGFjZSgiLCIsIl8iKX0KUFtpXT1hfQp0aGlzLmNhPVAKaWYoMDxxLmxlbmd0aCl7aT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKQppLnNldEF0dHJpYnV0ZSgic3JjIiwiLy93aWRnZXQudGltZS5pcy8/IitlbmNvZGVVUklDb21wb25lbnQocS5qb2luKCIuLiIpKSsiJnQ9IituZXcgRGF0ZSgpLmdldFRpbWUoKSkKaj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpLml0ZW0oMCkKai5hcHBlbmRDaGlsZChpKX1lbHNlIHRoaXMudGljaygpfQp0aGlzLmNiPWZ1bmN0aW9uKHQscixhKXt2YXIgcnBUPW5ldyBEYXRlKCksbj0wCnRpbWVfaXNfd2lkZ2V0LnREPXJwVC5nZXRUaW1lKCktdC1NYXRoLnJvdW5kKChycFQtcikvMikKZm9yKGkgaW4gdGhpcy5jYSl7dGhpcy5jYVtpXVsidiJdPWFbbl0KbisrfQp0aGlzLnRpY2soKX0KdGhpcy50aWNrPWZ1bmN0aW9uKCl7dmFyIHRVPW5ldyBEYXRlKCksdD1uZXcgRGF0ZSgpLGMscHcKdFUuc2V0VGltZSh0VS5nZXRUaW1lKCktdGhpcy50RCkKaWYoIXJkJiZkb2N1bWVudC5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIil7aWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQpaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGltZV9pc19saW5rIikKZWxzZSBpPWV2YWwoInRpbWVfaXNfbGluayIpCmlmKG51bGw9PWl8fGkuaHJlZi5pbmRleE9mKCJ0aW1lLmlzLyIpPT09LTEpe2NvbnNvbGUubG9nKCdMaW5rIGJhY2sgdG8gVGltZS5pcyBtaXNzaW5nIScpCnJldHVybiAnJ31lbHNle2lmKCFpLnJlbHx8aS5pbm5lckhUTUwubGVuZ3RoPDN8fGkub2Zmc2V0V2lkdGg8MTB8fGkub2Zmc2V0SGVpZ2h0PDUpe3JkPSIvL3dpZGdldC50aW1lLmlzL3IvPyIraS5yZWwrIi53IitpLm9mZnNldFdpZHRoKyIuaCIraS5vZmZzZXRIZWlnaHQrIi4iK2VuY29kZVVSSUNvbXBvbmVudChpLmlubmVySFRNTCkKaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKQppLnNldEF0dHJpYnV0ZSgic3JjIixyZCkKaj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpLml0ZW0oMCkKai5hcHBlbmRDaGlsZChpKX19fQpmb3IoaSBpbiB0aGlzLmNhKXtjPXRoaXMuY2FbaV0KaWYodHlwZW9mIGNbInYiXVswXSE9VSl7aWYoKDA8Y1sidiJdWzFdKSYmKGNbInYiXVsxXTx0VS5nZXRUaW1lKCkpKXtjWyJ2Il1bMF09Y1sidiJdWzJdCmNbInYiXVsxXT0wfQp0LnNldFRpbWUoY1sidiJdWzBdKjYwMDAwK3RVLmdldFRpbWUoKSkKdmFyIGQseT10LmdldFVUQ0Z1bGxZZWFyKCkrIiIsbT10LmdldFVUQ01vbnRoKCkrMSxOPW5ldyBEYXRlKHksMCwxKSxvPU4uZ2V0RGF5KCktMQppZihvPT0tMSlvPTYKdmFyIFc9TWF0aC5mbG9vcigodC1OK04uZ2V0VGltZXpvbmVPZmZzZXQoKSo2MDAwMCkvNjA0ODAwMDAwKyhvLzcpKSxkbj1wWyJkeSJdKyIgIitNYXRoLmZsb29yKCh0LU4rTi5nZXRUaW1lem9uZU9mZnNldCgpKjYwMDAwKS84NjQwMDAwMCsxKQppZihvPDQpVysrCmlmKFc9PTApe1c9NTIKaWYobmV3IERhdGUoeS0xLDAsMSkuZ2V0RGF5KCk9PTR8fG5ldyBEYXRlKHktMSwxMSwzMSkuZ2V0RGF5KCk9PTQpVz01M30KaWYocFsiVyJdPT0iaHkiKXtpZihXPT0xKXB3PSIxLdWr1bYg1bfVodWi1aHVqSIKZWxzZSBwdz1XKyIt1oDVpCDVt9Wh1aLVodWpIn1lbHNlIHB3PXBbIlciXS5yZXBsYWNlKCIubiIsVykKdmFyIGc9e3Q6dC5nZXRVVENIb3VycygpLHI6Y1sidiJdWzNdLHM6Y1sidiJdWzVdfSxoPXt9CmZvcihqIGluIGcpe2hbal09bDAoZ1tqXSkKaFtqKyJIIl09aFtqXQpoW2orIk0iXT0iQU0iCmlmKDExPGhbal0pe2hbaisiTSJdPSJQTSIKaFtqXT1sMChoW2pdLTEyKX0KaWYoaFtqXT09IjAwIiloW2pdPTEyfQpkPWNbInRlbXBsYXRlIl0ucmVwbGFjZSgic3Job3VyIixoWyJySCJdKS5yZXBsYWNlKCJzcjEyaG91ciIsaFsiciJdKS5yZXBsYWNlKCJzckFNUE0iLGhbInJNIl0pLnJlcGxhY2UoInNybWludXRlIixsMChjWyJ2Il1bNF0pKS5yZXBsYWNlKCJzc2hvdXIiLGhbInNIIl0pLnJlcGxhY2UoInNzMTJob3VyIixoWyJzIl0pLnJlcGxhY2UoInNzQU1QTSIsaFsic00iXSkucmVwbGFjZSgic3NtaW51dGUiLGwwKGNbInYiXVs2XSkpLnJlcGxhY2UoImRsaG91cnMiLGNbInYiXVs3XSkucmVwbGFjZSgiZGxtaW51dGVzIixjWyJ2Il1bOF0pLnJlcGxhY2UoIiVoIixoWyJ0Il0pLnJlcGxhY2UoIiVIIixoWyJ0SCJdKS5yZXBsYWNlKCIlaSIsbDAodC5nZXRVVENNaW51dGVzKCkpKS5yZXBsYWNlKCIlcyIsbDAodC5nZXRVVENTZWNvbmRzKCkpKS5yZXBsYWNlKCIlQSIsaFsidE0iXSkucmVwbGFjZSgiJWoiLHQuZ2V0VVRDRGF0ZSgpKS5yZXBsYWNlKCIlZCIsbDAodC5nZXRVVENEYXRlKCkpKS5yZXBsYWNlKCIlVyIscHcpLnJlcGxhY2UoIiVuIixtKS5yZXBsYWNlKCIlbSIsbDAobSkpLnJlcGxhY2UoIiV5Iix5LnN1YnN0cigyLDIpKS5yZXBsYWNlKCIlWSIseSkucmVwbGFjZSgiJUYiLHBbIm4iXVsxMyttXSkucmVwbGFjZSgiJWwiLHBbIm4iXVt0LmdldFVUQ0RheSgpXSkucmVwbGFjZSgiJUQiLHBbIm4iXVs3K3QuZ2V0VVRDRGF5KCldKS5yZXBsYWNlKCIleiIsZG4pCmo9ZC5pbmRleE9mKCI+IikKZD1kLnN1YnN0cigwLGorMSkrZC5zdWJzdHIoaisxLDEpLnRvVXBwZXJDYXNlKCkrZC5zdWJzdHIoaisyLGQubGVuZ3RoLTEpCmlmKGQhPWNbInAiXSl7aWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQpbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpKTtlbHNlIG89ZXZhbCgpCmlmKG51bGwhPW8pe28uaW5uZXJIVE1MPWQ7Y1sicCJdPWR9fX0KaWYodHlwZW9mIGNbImNhbGxiYWNrIl0hPVUpZXZhbChjWyJjYWxsYmFjayJdKyIoZCkiKX0KdG91dD1zZXRUaW1lb3V0KCd0aW1lX2lzX3dpZGdldC50aWNrKCIiKScsdXBkaW50LXRVJXVwZGludCl9CmZ1bmN0aW9uIGwwKG4pe3JldHVybiBuPjk/bjoiMCIrbn19Cg=="}},"time_used":37,"timings":{"blocked":-1,"dns":4,"connect":1,"send":0,"wait":10,"receive":0,"ssl":21},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://widgetdata.tradingview.com/socket.io/websocket?from=embed-widget%2Fticker-tape%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=huobiget.com%2F\u0026ancestor-origin=huobiget.com\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.180","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://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.160Z","timestamp":1785136901160,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Wed, 18 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"96:06:76:35:9F:2C:2D:1C:89:55:E8:92:7C:4F:4B:FD:E9:F6:FF:1A","sha256":"BC:FA:33:CE:19:85:7A:43:44:BA:17:CE:87:15:42:E2:02:0C:7A:4E:83:42:1F:58:8F:59:B4:20:BF:4B:35:00"}}},"request":{"raw":"GET /socket.io/websocket?from=embed-widget%2Fticker-tape%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=huobiget.com%2F\u0026ancestor-origin=huobiget.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://www.tradingview-widget.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: 2H+RoLHOYpCLU9UtP5ooSQ==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 101 Switching Protocols\r\nDate: Mon, 27 Jul 2026 07:21:41 GMT\r\nConnection: upgrade\r\nsec-websocket-accept: 33ihWGUxbRTn4duJpYrm9a/Cy68=\r\nsec-websocket-extensions: permessage-deflate\r\nupgrade: websocket\r\nServer: tv\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":224,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":""}},"time_used":339,"timings":{"blocked":0,"dns":0,"connect":21,"send":0,"wait":292,"receive":0,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71901.43d5b48d9643656bfd2c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.466Z","timestamp":1785136901466,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71901.43d5b48d9643656bfd2c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 31\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a4360b8-1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7287079b6a14977d0aec6db6c931b831\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31,"size_decoded":815,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6f60c3725f61aa347ed7762fdf8fdf11","sha1":"0eb08b4e1af29799e916fc9d9386cb6c96d13d78","sha256":"08a238fafe5ccfdeb182eb61a9597d32a7e3cfad290a0ce62061302fadafa0e4","sha512":"e1c14f942cbbebbb809b688c5956540410d65d8192ab5b374a7f7355488382dd907b31b68573381b5c399d38cd1490b3ca92187cb5c60c2ef9b8e83a6f889b01","ssdeep":"","tlshash":"d380008a0a0228ea038c8280cc0320a8b3080ca0002030bf800a2afc2280082a0bc80a","first_seen":"2026-06-30T21:57:43.490808Z","last_seen":"2026-07-28T06:17:53.469517Z","times_seen":245,"resource_available":false,"data":"LmJ1dHRvbi1GRHRpRGJ5antwYWRkaW5nOjAgNXB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCONDO.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.462Z","timestamp":1785136905462,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCONDO.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCPROSPH.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.573Z","timestamp":1785136905573,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCPROSPH.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/css/animate.min.css","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.484Z","timestamp":1785136899484,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /css/animate.min.css HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/css\r\nContent-Length: 83528\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":83528,"size_decoded":83738,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"1e45ee68bfae20a52bb319e40c1b04d2","sha1":"7391a7bb4ef5a2cad2a4033a7b0af054955233cf","sha256":"1b57004d81d1c2c765ef74b9dd93a75de620cc1c6d4a9cc1c8ebbf2877721dc9","sha512":"922a48837620532fffba1107a3c7618bd559e8709e4ae9fb529b6d4fe85f3d24a6c3d5542501176fd7b420b4f0a04d9e6c093873360a1330a000ae22bf306d58","ssdeep":"768:i1k1R4W4J1I184Y4w4o4+VkVK4q4z/3K3F7o7T9:74W4t4Y4w4o4Y4q4z/3K3F7o7T9","tlshash":"6f83d86e2840114447330b76d3de4e68ea3da57318222dea73de598b8f76f6853c9e07","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-08-05T01:05:10.114513Z","times_seen":249,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsNCi8qIQ0KICogYW5pbWF0ZS5jc3MgLWh0dHBzOi8vZGFuZWRlbi5naXRodWIuaW8vYW5pbWF0ZS5jc3MvDQogKiBWZXJzaW9uIC0gMy43LjINCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQNCiAqDQogKiBDb3B5cmlnaHQgKGMpIDIwMTkgRGFuaWVsIEVkZW4NCiAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHsNCiAgICAwJSwNCiAgICAyMCUsDQogICAgNTMlLA0KICAgIDgwJSwNCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSk7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KICAgIDQwJSwNCiAgICA0MyUgew0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNzU1LCAuMDUsIC44NTUsIC4wNik7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNzU1LCAuMDUsIC44NTUsIC4wNik7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApDQogICAgfQ0KICAgIDcwJSB7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC43NTUsIC4wNSwgLjg1NSwgLjA2KTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC43NTUsIC4wNSwgLjg1NSwgLjA2KTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkNCiAgICB9DQogICAgOTAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZSB7DQogICAgMCUsDQogICAgMjAlLA0KICAgIDUzJSwNCiAgICA4MCUsDQogICAgdG8gew0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCiAgICA0MCUsDQogICAgNDMlIHsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjc1NSwgLjA1LCAuODU1LCAuMDYpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjc1NSwgLjA1LCAuODU1LCAuMDYpOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKQ0KICAgIH0NCiAgICA3MCUgew0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNzU1LCAuMDUsIC44NTUsIC4wNik7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNzU1LCAuMDUsIC44NTUsIC4wNik7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApDQogICAgfQ0KICAgIDkwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKQ0KICAgIH0NCn0NCg0KLmJvdW5jZSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b20NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHsNCiAgICAwJSwNCiAgICA1MCUsDQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIDI1JSwNCiAgICA3NSUgew0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZsYXNoIHsNCiAgICAwJSwNCiAgICA1MCUsDQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIDI1JSwNCiAgICA3NSUgew0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQouZmxhc2ggew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBmbGFzaA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Ugew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkNCiAgICB9DQogICAgNTAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHB1bHNlIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpDQogICAgfQ0KICAgIDUwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSkNCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKQ0KICAgIH0NCn0NCg0KLnB1bHNlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTsNCiAgICBhbmltYXRpb24tbmFtZTogcHVsc2UNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkNCiAgICB9DQogICAgMzAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgLjc1LCAxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIC43NSwgMSkNCiAgICB9DQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjc1LCAxLjI1LCAxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC43NSwgMS4yNSwgMSkNCiAgICB9DQogICAgNTAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgLjg1LCAxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIC44NSwgMSkNCiAgICB9DQogICAgNjUlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSkNCiAgICB9DQogICAgNzUlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSkNCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBydWJiZXJCYW5kIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpDQogICAgfQ0KICAgIDMwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIC43NSwgMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAuNzUsIDEpDQogICAgfQ0KICAgIDQwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC43NSwgMS4yNSwgMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNzUsIDEuMjUsIDEpDQogICAgfQ0KICAgIDUwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIC44NSwgMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAuODUsIDEpDQogICAgfQ0KICAgIDY1JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpDQogICAgfQ0KICAgIDc1JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkNCiAgICB9DQp9DQoNCi5ydWJiZXJCYW5kIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7DQogICAgMCUsDQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KICAgIDEwJSwNCiAgICAzMCUsDQogICAgNTAlLA0KICAgIDcwJSwNCiAgICA5MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKQ0KICAgIH0NCiAgICAyMCUsDQogICAgNDAlLA0KICAgIDYwJSwNCiAgICA4MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgc2hha2Ugew0KICAgIDAlLA0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCiAgICAxMCUsDQogICAgMzAlLA0KICAgIDUwJSwNCiAgICA3MCUsDQogICAgOTAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkNCiAgICB9DQogICAgMjAlLA0KICAgIDQwJSwNCiAgICA2MCUsDQogICAgODAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApDQogICAgfQ0KfQ0KDQouc2hha2Ugew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBzaGFrZQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkNCiAgICB9DQogICAgNi41JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZykNCiAgICB9DQogICAgMTguNSUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZykNCiAgICB9DQogICAgMzEuNSUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpDQogICAgfQ0KICAgIDQzLjUlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpDQogICAgfQ0KICAgIDUwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgaGVhZFNoYWtlIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkNCiAgICB9DQogICAgNi41JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZykNCiAgICB9DQogICAgMTguNSUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZykNCiAgICB9DQogICAgMzEuNSUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpDQogICAgfQ0KICAgIDQzLjUlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpDQogICAgfQ0KICAgIDUwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkNCiAgICB9DQp9DQoNCi5oZWFkU2hha2Ugew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZFNoYWtlOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2UNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHsNCiAgICAyMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpDQogICAgfQ0KICAgIDQwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKQ0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKQ0KICAgIH0NCiAgICA4MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgc3dpbmcgew0KICAgIDIwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZykNCiAgICB9DQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpDQogICAgfQ0KICAgIDYwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpDQogICAgfQ0KICAgIDgwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykNCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKQ0KICAgIH0NCn0NCg0KLnN3aW5nIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZzsNCiAgICBhbmltYXRpb24tbmFtZTogc3dpbmcNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkNCiAgICB9DQogICAgMTAlLA0KICAgIDIwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZSgtM2RlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUoLTNkZWcpDQogICAgfQ0KICAgIDMwJSwNCiAgICA1MCUsDQogICAgNzAlLA0KICAgIDkwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZSgzZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZSgzZGVnKQ0KICAgIH0NCiAgICA0MCUsDQogICAgNjAlLA0KICAgIDgwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZSgtM2RlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUoLTNkZWcpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgdGFkYSB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKQ0KICAgIH0NCiAgICAxMCUsDQogICAgMjAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlKC0zZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZSgtM2RlZykNCiAgICB9DQogICAgMzAlLA0KICAgIDUwJSwNCiAgICA3MCUsDQogICAgOTAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlKDNkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlKDNkZWcpDQogICAgfQ0KICAgIDQwJSwNCiAgICA2MCUsDQogICAgODAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlKC0zZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZSgtM2RlZykNCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKQ0KICAgIH0NCn0NCg0KLnRhZGEgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7DQogICAgYW5pbWF0aW9uLW5hbWU6IHRhZGENCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KICAgIDE1JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUoLTVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZSgtNWRlZykNCiAgICB9DQogICAgMzAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlKDNkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlKDNkZWcpDQogICAgfQ0KICAgIDQ1JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUoLTNkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZSgtM2RlZykNCiAgICB9DQogICAgNjAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlKDJkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlKDJkZWcpDQogICAgfQ0KICAgIDc1JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZSgtMWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUoLTFkZWcpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyB3b2JibGUgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCiAgICAxNSUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlKC01ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUoLTVkZWcpDQogICAgfQ0KICAgIDMwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZSgzZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZSgzZGVnKQ0KICAgIH0NCiAgICA0NSUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlKC0zZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUoLTNkZWcpDQogICAgfQ0KICAgIDYwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZSgyZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZSgyZGVnKQ0KICAgIH0NCiAgICA3NSUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUoLTFkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlKC0xZGVnKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCi53b2JibGUgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTsNCiAgICBhbmltYXRpb24tbmFtZTogd29iYmxlDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7DQogICAgMCUsDQogICAgMTEuMSUsDQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KICAgIDIyLjIlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKQ0KICAgIH0NCiAgICAzMy4zJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKQ0KICAgIH0NCiAgICA0NC40JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpDQogICAgfQ0KICAgIDU1LjUlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZykNCiAgICB9DQogICAgNjYuNiUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLS43ODEyNWRlZykgc2tld1koLS43ODEyNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2tld1goLS43ODEyNWRlZykgc2tld1koLS43ODEyNWRlZykNCiAgICB9DQogICAgNzcuNyUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLjM5MDYyNWRlZykgc2tld1koLjM5MDYyNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2tld1goLjM5MDYyNWRlZykgc2tld1koLjM5MDYyNWRlZykNCiAgICB9DQogICAgODguOCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLS4xOTUzMTI1ZGVnKSBza2V3WSgtLjE5NTMxMjVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0uMTk1MzEyNWRlZykgc2tld1koLS4xOTUzMTI1ZGVnKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBqZWxsbyB7DQogICAgMCUsDQogICAgMTEuMSUsDQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KICAgIDIyLjIlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKQ0KICAgIH0NCiAgICAzMy4zJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKQ0KICAgIH0NCiAgICA0NC40JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpDQogICAgfQ0KICAgIDU1LjUlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZykNCiAgICB9DQogICAgNjYuNiUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLS43ODEyNWRlZykgc2tld1koLS43ODEyNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2tld1goLS43ODEyNWRlZykgc2tld1koLS43ODEyNWRlZykNCiAgICB9DQogICAgNzcuNyUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLjM5MDYyNWRlZykgc2tld1koLjM5MDYyNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2tld1goLjM5MDYyNWRlZykgc2tld1koLjM5MDYyNWRlZykNCiAgICB9DQogICAgODguOCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLS4xOTUzMTI1ZGVnKSBza2V3WSgtLjE5NTMxMjVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0uMTk1MzEyNWRlZykgc2tld1koLS4xOTUzMTI1ZGVnKQ0KICAgIH0NCn0NCg0KLmplbGxvIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbzsNCiAgICBhbmltYXRpb24tbmFtZTogamVsbG87DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBoZWFydEJlYXQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpDQogICAgfQ0KICAgIDE0JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykNCiAgICB9DQogICAgMjglIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpDQogICAgfQ0KICAgIDQyJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykNCiAgICB9DQogICAgNzAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGhlYXJ0QmVhdCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkNCiAgICB9DQogICAgMTQlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKQ0KICAgIH0NCiAgICAyOCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkNCiAgICB9DQogICAgNDIlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKQ0KICAgIH0NCiAgICA3MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkNCiAgICB9DQp9DQoNCi5oZWFydEJlYXQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDsNCiAgICBhbmltYXRpb24tbmFtZTogaGVhcnRCZWF0Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjNzOw0KICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4zczsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7DQogICAgMCUsDQogICAgMjAlLA0KICAgIDQwJSwNCiAgICA2MCUsDQogICAgODAlLA0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkNCiAgICB9DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpDQogICAgfQ0KICAgIDIwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkNCiAgICB9DQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KQ0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpDQogICAgfQ0KICAgIDgwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45NykNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VJbiB7DQogICAgMCUsDQogICAgMjAlLA0KICAgIDQwJSwNCiAgICA2MCUsDQogICAgODAlLA0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkNCiAgICB9DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpDQogICAgfQ0KICAgIDIwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkNCiAgICB9DQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KQ0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpDQogICAgfQ0KICAgIDgwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45NykNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKQ0KICAgIH0NCn0NCg0KLmJvdW5jZUluIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjc1czsNCiAgICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47DQogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24gew0KICAgIDAlLA0KICAgIDYwJSwNCiAgICA3NSUsDQogICAgOTAlLA0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkNCiAgICB9DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkNCiAgICB9DQogICAgNjAlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApDQogICAgfQ0KICAgIDc1JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApDQogICAgfQ0KICAgIDkwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7DQogICAgMCUsDQogICAgNjAlLA0KICAgIDc1JSwNCiAgICA5MCUsDQogICAgdG8gew0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKQ0KICAgIH0NCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKQ0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkNCiAgICB9DQogICAgNzUlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkNCiAgICB9DQogICAgOTAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCi5ib3VuY2VJbkRvd24gew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjsNCiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQgew0KICAgIDAlLA0KICAgIDYwJSwNCiAgICA3NSUsDQogICAgOTAlLA0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkNCiAgICB9DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkNCiAgICB9DQogICAgNjAlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApDQogICAgfQ0KICAgIDc1JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApDQogICAgfQ0KICAgIDkwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7DQogICAgMCUsDQogICAgNjAlLA0KICAgIDc1JSwNCiAgICA5MCUsDQogICAgdG8gew0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKQ0KICAgIH0NCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKQ0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkNCiAgICB9DQogICAgNzUlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkNCiAgICB9DQogICAgOTAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCi5ib3VuY2VJbkxlZnQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsNCiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsNCiAgICAwJSwNCiAgICA2MCUsDQogICAgNzUlLA0KICAgIDkwJSwNCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSk7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpDQogICAgfQ0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKQ0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKQ0KICAgIH0NCiAgICA3NSUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkNCiAgICB9DQogICAgOTAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsNCiAgICAwJSwNCiAgICA2MCUsDQogICAgNzUlLA0KICAgIDkwJSwNCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSk7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LCAuNjEsIC4zNTUsIDEpDQogICAgfQ0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKQ0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKQ0KICAgIH0NCiAgICA3NSUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkNCiAgICB9DQogICAgOTAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KLmJvdW5jZUluUmlnaHQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7DQogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAgew0KICAgIDAlLA0KICAgIDYwJSwNCiAgICA3NSUsDQogICAgOTAlLA0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkNCiAgICB9DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApDQogICAgfQ0KICAgIDYwJSB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApDQogICAgfQ0KICAgIDc1JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKQ0KICAgIH0NCiAgICA5MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluVXAgew0KICAgIDAlLA0KICAgIDYwJSwNCiAgICA3NSUsDQogICAgOTAlLA0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMTUsIC42MSwgLjM1NSwgMSkNCiAgICB9DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApDQogICAgfQ0KICAgIDYwJSB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApDQogICAgfQ0KICAgIDc1JSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKQ0KICAgIH0NCiAgICA5MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQouYm91bmNlSW5VcCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsNCiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHsNCiAgICAyMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpDQogICAgfQ0KICAgIDUwJSwNCiAgICA1NSUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXQgew0KICAgIDIwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkNCiAgICB9DQogICAgNTAlLA0KICAgIDU1JSB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpDQogICAgfQ0KfQ0KDQouYm91bmNlT3V0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjc1czsNCiAgICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0Ow0KICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24gew0KICAgIDIwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKQ0KICAgIH0NCiAgICA0MCUsDQogICAgNDUlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZU91dERvd24gew0KICAgIDIwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKQ0KICAgIH0NCiAgICA0MCUsDQogICAgNDUlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApDQogICAgfQ0KfQ0KDQouYm91bmNlT3V0RG93biB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsNCiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bg0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7DQogICAgMjAlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQgew0KICAgIDIwJSB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKQ0KICAgIH0NCn0NCg0KLmJvdW5jZU91dExlZnQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7DQogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHsNCiAgICAyMCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQgew0KICAgIDIwJSB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKQ0KICAgIH0NCn0NCg0KLmJvdW5jZU91dFJpZ2h0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsNCiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsNCiAgICAyMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKQ0KICAgIH0NCiAgICA0MCUsDQogICAgNDUlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsNCiAgICAyMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKQ0KICAgIH0NCiAgICA0MCUsDQogICAgNDUlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApDQogICAgfQ0KfQ0KDQouYm91bmNlT3V0VXAgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbiB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCn0NCg0KLmZhZGVJbiB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW4NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24gew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkRvd24gew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQouZmFkZUluRG93biB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsNCiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bg0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KLmZhZGVJbkRvd25CaWcgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7DQogICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWcNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkxlZnQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQouZmFkZUluTGVmdCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsNCiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KLmZhZGVJbkxlZnRCaWcgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7DQogICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWcNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluUmlnaHQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KLmZhZGVJblJpZ2h0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsNCiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQouZmFkZUluUmlnaHRCaWcgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlSW5VcCB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQouZmFkZUluVXAgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluVXBCaWcgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCi5mYWRlSW5VcEJpZyB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7DQogICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQp9DQoNCi5mYWRlT3V0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Ow0KICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXREb3duIHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCkNCiAgICB9DQp9DQoNCi5mYWRlT3V0RG93biB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247DQogICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKQ0KICAgIH0NCn0NCg0KLmZhZGVPdXREb3duQmlnIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZzsNCiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWcNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkNCiAgICB9DQp9DQoNCi5mYWRlT3V0TGVmdCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7DQogICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkNCiAgICB9DQp9DQoNCi5mYWRlT3V0TGVmdEJpZyB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7DQogICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKQ0KICAgIH0NCn0NCg0KLmZhZGVPdXRSaWdodCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0Ow0KICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkNCiAgICB9DQp9DQoNCi5mYWRlT3V0UmlnaHRCaWcgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsNCiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXRVcCB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCkNCiAgICB9DQp9DQoNCi5mYWRlT3V0VXAgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsNCiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKQ0KICAgIH0NCn0NCg0KLmZhZGVPdXRVcEJpZyB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWcNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigwKSByb3RhdGVZKC0xdHVybik7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoLTF0dXJuKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQNCiAgICB9DQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgtMTkwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoLTE5MGRlZyk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0DQogICAgfQ0KICAgIDUwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoLTE3MGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKC0xNzBkZWcpOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4NCiAgICB9DQogICAgODAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMGRlZyk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbg0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZsaXAgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigwKSByb3RhdGVZKC0xdHVybik7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoLTF0dXJuKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQNCiAgICB9DQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgtMTkwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoLTE5MGRlZyk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0DQogICAgfQ0KICAgIDUwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoLTE3MGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKC0xNzBkZWcpOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4NCiAgICB9DQogICAgODAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMGRlZyk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbg0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluDQogICAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmxpcCB7DQogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlOw0KICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDsNCiAgICBhbmltYXRpb24tbmFtZTogZmxpcA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KICAgIDQwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0yMGRlZyk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbg0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICA4MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC01ZGVnKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZsaXBJblggew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCiAgICA0MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTIwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4NCiAgICB9DQogICAgNjAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgODAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC01ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtNWRlZykNCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KQ0KICAgIH0NCn0NCg0KLmZsaXBJblggew0KICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0yMGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTIwZGVnKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluDQogICAgfQ0KICAgIDYwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIDgwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTVkZWcpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgZmxpcEluWSB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KICAgIDQwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMjBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0yMGRlZyk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbg0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICA4MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC01ZGVnKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpDQogICAgfQ0KfQ0KDQouZmxpcEluWSB7DQogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7DQogICAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblkNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpDQogICAgfQ0KICAgIDMwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0yMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBmbGlwT3V0WCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KQ0KICAgIH0NCiAgICAzMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTIwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQp9DQoNCi5mbGlwT3V0WCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC43NXM7DQogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsNCiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpDQogICAgfQ0KICAgIDMwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xNWRlZyk7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBmbGlwT3V0WSB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KQ0KICAgIH0NCiAgICAzMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTE1ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTVkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQp9DQoNCi5mbGlwT3V0WSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC43NXM7DQogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOw0KICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsNCiAgICBhbmltYXRpb24tbmFtZTogZmxpcE91dFkNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KICAgIDYwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIDgwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBsaWdodFNwZWVkSW4gew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICA4MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCi5saWdodFNwZWVkSW4gew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjsNCiAgICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQoubGlnaHRTcGVlZE91dCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDsNCiAgICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbg0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4gew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCn0NCg0KLnJvdGF0ZUluIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsNCiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW4NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KfQ0KDQoucm90YXRlSW5Eb3duTGVmdCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDsNCiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQp9DQoNCi5yb3RhdGVJbkRvd25SaWdodCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7DQogICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQp9DQoNCi5yb3RhdGVJblVwTGVmdCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7DQogICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCn0NCg0KLnJvdGF0ZUluVXBSaWdodCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0Ow0KICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZU91dCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQoucm90YXRlT3V0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7DQogICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQoucm90YXRlT3V0RG93bkxlZnQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0Ow0KICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQp9DQoNCi5yb3RhdGVPdXREb3duUmlnaHQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDsNCiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQp9DQoNCi5yb3RhdGVPdXRVcExlZnQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDsNCiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQp9DQoNCi5yb3RhdGVPdXRVcFJpZ2h0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0Ow0KICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQNCiAgICB9DQogICAgMjAlLA0KICAgIDYwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dA0KICAgIH0NCiAgICA0MCUsDQogICAgODAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgaGluZ2Ugew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0DQogICAgfQ0KICAgIDIwJSwNCiAgICA2MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQNCiAgICB9DQogICAgNDAlLA0KICAgIDgwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApOw0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQouaGluZ2Ugew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCiAgICBhbmltYXRpb24tZHVyYXRpb246IDJzOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBoaW5nZQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgamFja0luVGhlQm94IHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgcm90YXRlKDMwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgcm90YXRlKDMwZGVnKTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tDQogICAgfQ0KICAgIDUwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKQ0KICAgIH0NCiAgICA3MCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBqYWNrSW5UaGVCb3ggew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSByb3RhdGUoMzBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSByb3RhdGUoMzBkZWcpOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b20NCiAgICB9DQogICAgNTAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpDQogICAgfQ0KICAgIDcwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpDQogICAgfQ0KfQ0KDQouamFja0luVGhlQm94IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7DQogICAgYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlKC0xMjBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUoLTEyMGRlZykNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvbGxJbiB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZSgtMTIwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlKC0xMjBkZWcpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KLnJvbGxJbiB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluOw0KICAgIGFuaW1hdGlvbi1uYW1lOiByb2xsSW4NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUoMTIwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUoMTIwZGVnKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyByb2xsT3V0IHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlKDEyMGRlZyk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlKDEyMGRlZykNCiAgICB9DQp9DQoNCi5yb2xsT3V0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0Ow0KICAgIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4gew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKQ0KICAgIH0NCiAgICA1MCUgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21JbiB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpDQogICAgfQ0KICAgIDUwJSB7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQp9DQoNCi56b29tSW4gew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjsNCiAgICBhbmltYXRpb24tbmFtZTogem9vbUluDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KQ0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tSW5Eb3duIHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KQ0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKQ0KICAgIH0NCn0NCg0KLnpvb21JbkRvd24gew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247DQogICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd24NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpDQogICAgfQ0KICAgIDYwJSB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSk7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21JbkxlZnQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpDQogICAgfQ0KICAgIDYwJSB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSk7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpDQogICAgfQ0KfQ0KDQouem9vbUluTGVmdCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluTGVmdDsNCiAgICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41NSwgLjA1NSwgLjY3NSwgLjE5KQ0KICAgIH0NCiAgICA2MCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSk7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSk7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSkNCiAgICB9DQogICAgNjAlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKQ0KICAgIH0NCn0NCg0KLnpvb21JblJpZ2h0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDsNCiAgICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSk7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSkNCiAgICB9DQogICAgNjAlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tSW5VcCB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpDQogICAgfQ0KICAgIDYwJSB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSkNCiAgICB9DQp9DQoNCi56b29tSW5VcCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7DQogICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHsNCiAgICAwJSB7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQogICAgNTAlIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDANCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dCB7DQogICAgMCUgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIDUwJSB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMykNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAwDQogICAgfQ0KfQ0KDQouem9vbU91dCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDsNCiAgICBhbmltYXRpb24tbmFtZTogem9vbU91dA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dERvd24gew0KICAgIDQwJSB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dERvd24gew0KICAgIDQwJSB7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKTsNCiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSkNCiAgICB9DQp9DQoNCi56b29tT3V0RG93biB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247DQogICAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7DQogICAgNDAlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcg0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7DQogICAgNDAlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcg0KICAgIH0NCn0NCg0KLnpvb21PdXRMZWZ0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDsNCiAgICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7DQogICAgNDAlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7DQogICAgNDAlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyDQogICAgfQ0KfQ0KDQouem9vbU91dFJpZ2h0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7DQogICAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHsNCiAgICA0MCUgew0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSk7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSkNCiAgICB9DQogICAgdG8gew0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMSk7DQogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21PdXRVcCB7DQogICAgNDAlIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjU1LCAuMDU1LCAuNjc1LCAuMTkpDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEpOw0KICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxKQ0KICAgIH0NCn0NCg0KLnpvb21PdXRVcCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwOw0KICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXANCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOw0KICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZUluRG93biB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCi5zbGlkZUluRG93biB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247DQogICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duDQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUNCiAgICB9DQogICAgdG8gew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KfQ0KDQouc2xpZGVJbkxlZnQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0Ow0KICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQp9DQoNCi5zbGlkZUluUmlnaHQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDsNCiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZUluVXAgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCn0NCg0KLnNsaWRlSW5VcCB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXANCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKQ0KICAgIH0NCn0NCg0KLnNsaWRlT3V0RG93biB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duOw0KICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd24NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dExlZnQgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkNCiAgICB9DQp9DQoNCi5zbGlkZU91dExlZnQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDsNCiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsNCiAgICAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkNCiAgICB9DQogICAgdG8gew0KICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKQ0KICAgIH0NCn0NCg0KLnNsaWRlT3V0UmlnaHQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7DQogICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKQ0KICAgIH0NCiAgICB0byB7DQogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCkNCiAgICB9DQp9DQoNCkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApDQogICAgfQ0KICAgIHRvIHsNCiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOw0KICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKQ0KICAgIH0NCn0NCg0KLnNsaWRlT3V0VXAgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7DQogICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXANCn0NCg0KLmFuaW1hdGVkIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7DQogICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aA0KfQ0KDQouYW5pbWF0ZWQuaW5maW5pdGUgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGUNCn0NCg0KLmFuaW1hdGVkLmRlbGF5LTFzIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7DQogICAgYW5pbWF0aW9uLWRlbGF5OiAxcw0KfQ0KDQouYW5pbWF0ZWQuZGVsYXktMnMgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyczsNCiAgICBhbmltYXRpb24tZGVsYXk6IDJzDQp9DQoNCi5hbmltYXRlZC5kZWxheS0zcyB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDNzOw0KICAgIGFuaW1hdGlvbi1kZWxheTogM3MNCn0NCg0KLmFuaW1hdGVkLmRlbGF5LTRzIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogNHM7DQogICAgYW5pbWF0aW9uLWRlbGF5OiA0cw0KfQ0KDQouYW5pbWF0ZWQuZGVsYXktNXMgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiA1czsNCiAgICBhbmltYXRpb24tZGVsYXk6IDVzDQp9DQoNCi5hbmltYXRlZC5mYXN0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjhzOw0KICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjhzDQp9DQoNCi5hbmltYXRlZC5mYXN0ZXIgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7DQogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXMNCn0NCg0KLmFuaW1hdGVkLnNsb3cgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCiAgICBhbmltYXRpb24tZHVyYXRpb246IDJzDQp9DQoNCi5hbmltYXRlZC5zbG93ZXIgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzczsNCiAgICBhbmltYXRpb24tZHVyYXRpb246IDNzDQp9DQoNCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpLA0KKHByaW50KSB7DQogICAgLmFuaW1hdGVkIHsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50Ow0KICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50Ow0KICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50Ow0KICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDsNCiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7DQogICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudA0KICAgIH0NCn0="}},"time_used":507,"timings":{"blocked":-1,"dns":0,"connect":92,"send":0,"wait":183,"receive":136,"ssl":95},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/bootstrap.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.511Z","timestamp":1785136899511,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/bootstrap.min.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 95318\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":95318,"size_decoded":95535,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (513), with CRLF line terminators","md5":"b05d747ca2a0840c9fefb088dcf90809","sha1":"6459be7052973bc86c083e3020fe5437c3b985d7","sha256":"577b667b3cd40856fc1fa09f9b271265b370e2017453690dc86d3fc6f01309bf","sha512":"40f6e0fcb47dd24054781924f3f1f640e69f4d701fad3f3c357435146891140e619b771062c20f0c20a855eda682b560e021a803c34557a932a84b0aa06aaf33","ssdeep":"1536:HNdydWZ3Fh/ISTm+USqmRHtCebudHkduIo6ZwQmp:L20FRISTmlSqmRPuydy6qQq","tlshash":"1d93430bb3a47472417bb73ad97f854af636566fa206810a787c50dc0f3885462b6ff8","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-07-31T06:28:11.495945Z","times_seen":57,"resource_available":true,"data":"LyohDQogKiBCb290c3RyYXAgdjQuMy4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKQ0KICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUaGUgQm9vdHN0cmFwIEF1dGhvcnMgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ncmFwaHMvY29udHJpYnV0b3JzKQ0KICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSkNCiAqLw0KISBmdW5jdGlvbih0LCBlKSB7DQogICAgIm9iamVjdCIgPT0gdHlwZW9mIGV4cG9ydHMgJiYgInVuZGVmaW5lZCIgIT0gdHlwZW9mIG1vZHVsZSA/IGUoZXhwb3J0cywgcmVxdWlyZSgianF1ZXJ5IiksIHJlcXVpcmUoInBvcHBlci5qcyIpKSA6ICJmdW5jdGlvbiIgPT0gdHlwZW9mIGRlZmluZSAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFsiZXhwb3J0cyIsICJqcXVlcnkiLCAicG9wcGVyLmpzIl0sIGUpIDogZSgodCA9IHQgfHwgc2VsZikuYm9vdHN0cmFwID0ge30sIHQualF1ZXJ5LCB0LlBvcHBlcikNCn0odGhpcywgZnVuY3Rpb24odCwgZywgdSkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgIGZ1bmN0aW9uIGkodCwgZSkgew0KICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IGUubGVuZ3RoOyBuKyspIHsNCiAgICAgICAgICAgIHZhciBpID0gZVtuXTsNCiAgICAgICAgICAgIGkuZW51bWVyYWJsZSA9IGkuZW51bWVyYWJsZSB8fCAhMSwgaS5jb25maWd1cmFibGUgPSAhMCwgInZhbHVlIiBpbiBpICYmIChpLndyaXRhYmxlID0gITApLCBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgaS5rZXksIGkpDQogICAgICAgIH0NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBzKHQsIGUsIG4pIHsNCiAgICAgICAgcmV0dXJuIGUgJiYgaSh0LnByb3RvdHlwZSwgZSksIG4gJiYgaSh0LCBuKSwgdA0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGwobykgew0KICAgICAgICBmb3IgKHZhciB0ID0gMTsgdCA8IGFyZ3VtZW50cy5sZW5ndGg7IHQrKykgew0KICAgICAgICAgICAgdmFyIHIgPSBudWxsICE9IGFyZ3VtZW50c1t0XSA/IGFyZ3VtZW50c1t0XSA6IHt9LA0KICAgICAgICAgICAgICAgIGUgPSBPYmplY3Qua2V5cyhyKTsNCiAgICAgICAgICAgICJmdW5jdGlvbiIgPT0gdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgJiYgKGUgPSBlLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHIpLmZpbHRlcihmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IociwgdCkuZW51bWVyYWJsZQ0KICAgICAgICAgICAgfSkpKSwgZS5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSwgbiwgaTsNCiAgICAgICAgICAgICAgICBlID0gbywgaSA9IHJbbiA9IHRdLCBuIGluIGUgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgbiwgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaSwNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogITAsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogITAsDQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAhMA0KICAgICAgICAgICAgICAgIH0pIDogZVtuXSA9IGkNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIG8NCiAgICB9DQogICAgZyA9IGcgJiYgZy5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdCIpID8gZy5kZWZhdWx0IDogZywgdSA9IHUgJiYgdS5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdCIpID8gdS5kZWZhdWx0IDogdTsNCiAgICB2YXIgZSA9ICJ0cmFuc2l0aW9uZW5kIjsNCg0KICAgIGZ1bmN0aW9uIG4odCkgew0KICAgICAgICB2YXIgZSA9IHRoaXMsDQogICAgICAgICAgICBuID0gITE7DQogICAgICAgIHJldHVybiBnKHRoaXMpLm9uZShfLlRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIG4gPSAhMA0KICAgICAgICB9KSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIG4gfHwgXy50cmlnZ2VyVHJhbnNpdGlvbkVuZChlKQ0KICAgICAgICB9LCB0KSwgdGhpcw0KICAgIH0NCiAgICB2YXIgXyA9IHsNCiAgICAgICAgVFJBTlNJVElPTl9FTkQ6ICJic1RyYW5zaXRpb25FbmQiLA0KICAgICAgICBnZXRVSUQ6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIGZvciAoOyB0ICs9IH5+KDFlNiAqIE1hdGgucmFuZG9tKCkpLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTspOw0KICAgICAgICAgICAgcmV0dXJuIHQNCiAgICAgICAgfSwNCiAgICAgICAgZ2V0U2VsZWN0b3JGcm9tRWxlbWVudDogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0LmdldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQiKTsNCiAgICAgICAgICAgIGlmICghZSB8fCAiIyIgPT09IGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgbiA9IHQuZ2V0QXR0cmlidXRlKCJocmVmIik7DQogICAgICAgICAgICAgICAgZSA9IG4gJiYgIiMiICE9PSBuID8gbi50cmltKCkgOiAiIg0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKSA/IGUgOiBudWxsDQogICAgICAgICAgICB9IGNhdGNoICh0KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQ6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIGlmICghdCkgcmV0dXJuIDA7DQogICAgICAgICAgICB2YXIgZSA9IGcodCkuY3NzKCJ0cmFuc2l0aW9uLWR1cmF0aW9uIiksDQogICAgICAgICAgICAgICAgbiA9IGcodCkuY3NzKCJ0cmFuc2l0aW9uLWRlbGF5IiksDQogICAgICAgICAgICAgICAgaSA9IHBhcnNlRmxvYXQoZSksDQogICAgICAgICAgICAgICAgbyA9IHBhcnNlRmxvYXQobik7DQogICAgICAgICAgICByZXR1cm4gaSB8fCBvID8gKGUgPSBlLnNwbGl0KCIsIilbMF0sIG4gPSBuLnNwbGl0KCIsIilbMF0sIDFlMyAqIChwYXJzZUZsb2F0KGUpICsgcGFyc2VGbG9hdChuKSkpIDogMA0KICAgICAgICB9LA0KICAgICAgICByZWZsb3c6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHJldHVybiB0Lm9mZnNldEhlaWdodA0KICAgICAgICB9LA0KICAgICAgICB0cmlnZ2VyVHJhbnNpdGlvbkVuZDogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgZyh0KS50cmlnZ2VyKGUpDQogICAgICAgIH0sDQogICAgICAgIHN1cHBvcnRzVHJhbnNpdGlvbkVuZDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gQm9vbGVhbihlKQ0KICAgICAgICB9LA0KICAgICAgICBpc0VsZW1lbnQ6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHJldHVybiAodFswXSB8fCB0KS5ub2RlVHlwZQ0KICAgICAgICB9LA0KICAgICAgICB0eXBlQ2hlY2tDb25maWc6IGZ1bmN0aW9uKHQsIGUsIG4pIHsNCiAgICAgICAgICAgIGZvciAodmFyIGkgaW4gbikNCiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sIGkpKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBvID0gbltpXSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBlW2ldLA0KICAgICAgICAgICAgICAgICAgICAgICAgcyA9IHIgJiYgXy5pc0VsZW1lbnQocikgPyAiZWxlbWVudCIgOiAoYSA9IHIsIHt9LnRvU3RyaW5nLmNhbGwoYSkubWF0Y2goL1xzKFthLXpdKykvaSlbMV0udG9Mb3dlckNhc2UoKSk7DQogICAgICAgICAgICAgICAgICAgIGlmICghbmV3IFJlZ0V4cChvKS50ZXN0KHMpKSB0aHJvdyBuZXcgRXJyb3IodC50b1VwcGVyQ2FzZSgpICsgJzogT3B0aW9uICInICsgaSArICciIHByb3ZpZGVkIHR5cGUgIicgKyBzICsgJyIgYnV0IGV4cGVjdGVkIHR5cGUgIicgKyBvICsgJyIuJykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgYQ0KICAgICAgICB9LA0KICAgICAgICBmaW5kU2hhZG93Um9vdDogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgaWYgKCFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXR0YWNoU2hhZG93KSByZXR1cm4gbnVsbDsNCiAgICAgICAgICAgIGlmICgiZnVuY3Rpb24iICE9IHR5cGVvZiB0LmdldFJvb3ROb2RlKSByZXR1cm4gdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QgPyB0IDogdC5wYXJlbnROb2RlID8gXy5maW5kU2hhZG93Um9vdCh0LnBhcmVudE5vZGUpIDogbnVsbDsNCiAgICAgICAgICAgIHZhciBlID0gdC5nZXRSb290Tm9kZSgpOw0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTaGFkb3dSb290ID8gZSA6IG51bGwNCiAgICAgICAgfQ0KICAgIH07DQogICAgZy5mbi5lbXVsYXRlVHJhbnNpdGlvbkVuZCA9IG4sIGcuZXZlbnQuc3BlY2lhbFtfLlRSQU5TSVRJT05fRU5EXSA9IHsNCiAgICAgICAgYmluZFR5cGU6IGUsDQogICAgICAgIGRlbGVnYXRlVHlwZTogZSwNCiAgICAgICAgaGFuZGxlOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICBpZiAoZyh0LnRhcmdldCkuaXModGhpcykpIHJldHVybiB0LmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykNCiAgICAgICAgfQ0KICAgIH07DQogICAgdmFyIG8gPSAiYWxlcnQiLA0KICAgICAgICByID0gImJzLmFsZXJ0IiwNCiAgICAgICAgYSA9ICIuIiArIHIsDQogICAgICAgIGMgPSBnLmZuW29dLA0KICAgICAgICBoID0gew0KICAgICAgICAgICAgQ0xPU0U6ICJjbG9zZSIgKyBhLA0KICAgICAgICAgICAgQ0xPU0VEOiAiY2xvc2VkIiArIGEsDQogICAgICAgICAgICBDTElDS19EQVRBX0FQSTogImNsaWNrIiArIGEgKyAiLmRhdGEtYXBpIg0KICAgICAgICB9LA0KICAgICAgICBmID0gImFsZXJ0IiwNCiAgICAgICAgZCA9ICJmYWRlIiwNCiAgICAgICAgbSA9ICJzaG93IiwNCiAgICAgICAgcCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gaSh0KSB7DQogICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudCA9IHQNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciB0ID0gaS5wcm90b3R5cGU7DQogICAgICAgICAgICByZXR1cm4gdC5jbG9zZSA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMuX2VsZW1lbnQ7DQogICAgICAgICAgICAgICAgdCAmJiAoZSA9IHRoaXMuX2dldFJvb3RFbGVtZW50KHQpKSwgdGhpcy5fdHJpZ2dlckNsb3NlRXZlbnQoZSkuaXNEZWZhdWx0UHJldmVudGVkKCkgfHwgdGhpcy5fcmVtb3ZlRWxlbWVudChlKQ0KICAgICAgICAgICAgfSwgdC5kaXNwb3NlID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIHIpLCB0aGlzLl9lbGVtZW50ID0gbnVsbA0KICAgICAgICAgICAgfSwgdC5fZ2V0Um9vdEVsZW1lbnQgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSBfLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCksDQogICAgICAgICAgICAgICAgICAgIG4gPSAhMTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSAmJiAobiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSkpLCBuIHx8IChuID0gZyh0KS5jbG9zZXN0KCIuIiArIGYpWzBdKSwgbg0KICAgICAgICAgICAgfSwgdC5fdHJpZ2dlckNsb3NlRXZlbnQgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSBnLkV2ZW50KGguQ0xPU0UpOw0KICAgICAgICAgICAgICAgIHJldHVybiBnKHQpLnRyaWdnZXIoZSksIGUNCiAgICAgICAgICAgIH0sIHQuX3JlbW92ZUVsZW1lbnQgPSBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzOw0KICAgICAgICAgICAgICAgIGlmIChnKGUpLnJlbW92ZUNsYXNzKG0pLCBnKGUpLmhhc0NsYXNzKGQpKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gXy5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChlKTsNCiAgICAgICAgICAgICAgICAgICAgZyhlKS5vbmUoXy5UUkFOU0lUSU9OX0VORCwgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4uX2Rlc3Ryb3lFbGVtZW50KGUsIHQpDQogICAgICAgICAgICAgICAgICAgIH0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHQpDQogICAgICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2Rlc3Ryb3lFbGVtZW50KGUpDQogICAgICAgICAgICB9LCB0Ll9kZXN0cm95RWxlbWVudCA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICBnKHQpLmRldGFjaCgpLnRyaWdnZXIoaC5DTE9TRUQpLnJlbW92ZSgpDQogICAgICAgICAgICB9LCBpLl9qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbihuKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBnKHRoaXMpLA0KICAgICAgICAgICAgICAgICAgICAgICAgZSA9IHQuZGF0YShyKTsNCiAgICAgICAgICAgICAgICAgICAgZSB8fCAoZSA9IG5ldyBpKHRoaXMpLCB0LmRhdGEociwgZSkpLCAiY2xvc2UiID09PSBuICYmIGVbbl0odGhpcykNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwgaS5faGFuZGxlRGlzbWlzcyA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICB0ICYmIHQucHJldmVudERlZmF1bHQoKSwgZS5jbG9zZSh0aGlzKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHMoaSwgbnVsbCwgW3sNCiAgICAgICAgICAgICAgICBrZXk6ICJWRVJTSU9OIiwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjQuMy4xIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH1dKSwgaQ0KICAgICAgICB9KCk7DQogICAgZyhkb2N1bWVudCkub24oaC5DTElDS19EQVRBX0FQSSwgJ1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLCBwLl9oYW5kbGVEaXNtaXNzKG5ldyBwKSksIGcuZm5bb10gPSBwLl9qUXVlcnlJbnRlcmZhY2UsIGcuZm5bb10uQ29uc3RydWN0b3IgPSBwLCBnLmZuW29dLm5vQ29uZmxpY3QgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgcmV0dXJuIGcuZm5bb10gPSBjLCBwLl9qUXVlcnlJbnRlcmZhY2UNCiAgICB9Ow0KICAgIHZhciB2ID0gImJ1dHRvbiIsDQogICAgICAgIHkgPSAiYnMuYnV0dG9uIiwNCiAgICAgICAgRSA9ICIuIiArIHksDQogICAgICAgIEMgPSAiLmRhdGEtYXBpIiwNCiAgICAgICAgVCA9IGcuZm5bdl0sDQogICAgICAgIFMgPSAiYWN0aXZlIiwNCiAgICAgICAgYiA9ICJidG4iLA0KICAgICAgICBJID0gImZvY3VzIiwNCiAgICAgICAgRCA9ICdbZGF0YS10b2dnbGVePSJidXR0b24iXScsDQogICAgICAgIHcgPSAnW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0nLA0KICAgICAgICBBID0gJ2lucHV0Om5vdChbdHlwZT0iaGlkZGVuIl0pJywNCiAgICAgICAgTiA9ICIuYWN0aXZlIiwNCiAgICAgICAgTyA9ICIuYnRuIiwNCiAgICAgICAgayA9IHsNCiAgICAgICAgICAgIENMSUNLX0RBVEFfQVBJOiAiY2xpY2siICsgRSArIEMsDQogICAgICAgICAgICBGT0NVU19CTFVSX0RBVEFfQVBJOiAiZm9jdXMiICsgRSArIEMgKyAiIGJsdXIiICsgRSArIEMNCiAgICAgICAgfSwNCiAgICAgICAgUCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gbih0KSB7DQogICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudCA9IHQNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciB0ID0gbi5wcm90b3R5cGU7DQogICAgICAgICAgICByZXR1cm4gdC50b2dnbGUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCA9ICEwLA0KICAgICAgICAgICAgICAgICAgICBlID0gITAsDQogICAgICAgICAgICAgICAgICAgIG4gPSBnKHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QodylbMF07DQogICAgICAgICAgICAgICAgaWYgKG4pIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSB0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoQSk7DQogICAgICAgICAgICAgICAgICAgIGlmIChpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoInJhZGlvIiA9PT0gaS50eXBlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpLmNoZWNrZWQgJiYgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoUykpIHQgPSAhMTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSBuLnF1ZXJ5U2VsZWN0b3IoTik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gJiYgZyhvKS5yZW1vdmVDbGFzcyhTKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpIHx8IG4uaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpIHx8IGkuY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpIHx8IG4uY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpKSByZXR1cm47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaS5jaGVja2VkID0gIXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFMpLCBnKGkpLnRyaWdnZXIoImNoYW5nZSIpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBpLmZvY3VzKCksIGUgPSAhMQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGUgJiYgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsICF0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhTKSksIHQgJiYgZyh0aGlzLl9lbGVtZW50KS50b2dnbGVDbGFzcyhTKQ0KICAgICAgICAgICAgfSwgdC5kaXNwb3NlID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIHkpLCB0aGlzLl9lbGVtZW50ID0gbnVsbA0KICAgICAgICAgICAgfSwgbi5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZyh0aGlzKS5kYXRhKHkpOw0KICAgICAgICAgICAgICAgICAgICB0IHx8ICh0ID0gbmV3IG4odGhpcyksIGcodGhpcykuZGF0YSh5LCB0KSksICJ0b2dnbGUiID09PSBlICYmIHRbZV0oKQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9LCBzKG4sIG51bGwsIFt7DQogICAgICAgICAgICAgICAga2V5OiAiVkVSU0lPTiIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI0LjMuMSINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9XSksIG4NCiAgICAgICAgfSgpOw0KICAgIGcoZG9jdW1lbnQpLm9uKGsuQ0xJQ0tfREFUQV9BUEksIEQsIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICB2YXIgZSA9IHQudGFyZ2V0Ow0KICAgICAgICBnKGUpLmhhc0NsYXNzKGIpIHx8IChlID0gZyhlKS5jbG9zZXN0KE8pKSwgUC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoZyhlKSwgInRvZ2dsZSIpDQogICAgfSkub24oay5GT0NVU19CTFVSX0RBVEFfQVBJLCBELCBmdW5jdGlvbih0KSB7DQogICAgICAgIHZhciBlID0gZyh0LnRhcmdldCkuY2xvc2VzdChPKVswXTsNCiAgICAgICAgZyhlKS50b2dnbGVDbGFzcyhJLCAvXmZvY3VzKGluKT8kLy50ZXN0KHQudHlwZSkpDQogICAgfSksIGcuZm5bdl0gPSBQLl9qUXVlcnlJbnRlcmZhY2UsIGcuZm5bdl0uQ29uc3RydWN0b3IgPSBQLCBnLmZuW3ZdLm5vQ29uZmxpY3QgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgcmV0dXJuIGcuZm5bdl0gPSBULCBQLl9qUXVlcnlJbnRlcmZhY2UNCiAgICB9Ow0KICAgIHZhciBMID0gImNhcm91c2VsIiwNCiAgICAgICAgaiA9ICJicy5jYXJvdXNlbCIsDQogICAgICAgIEggPSAiLiIgKyBqLA0KICAgICAgICBSID0gIi5kYXRhLWFwaSIsDQogICAgICAgIHggPSBnLmZuW0xdLA0KICAgICAgICBGID0gew0KICAgICAgICAgICAgaW50ZXJ2YWw6IDVlMywNCiAgICAgICAgICAgIGtleWJvYXJkOiAhMCwNCiAgICAgICAgICAgIHNsaWRlOiAhMSwNCiAgICAgICAgICAgIHBhdXNlOiAiaG92ZXIiLA0KICAgICAgICAgICAgd3JhcDogITAsDQogICAgICAgICAgICB0b3VjaDogITANCiAgICAgICAgfSwNCiAgICAgICAgVSA9IHsNCiAgICAgICAgICAgIGludGVydmFsOiAiKG51bWJlcnxib29sZWFuKSIsDQogICAgICAgICAgICBrZXlib2FyZDogImJvb2xlYW4iLA0KICAgICAgICAgICAgc2xpZGU6ICIoYm9vbGVhbnxzdHJpbmcpIiwNCiAgICAgICAgICAgIHBhdXNlOiAiKHN0cmluZ3xib29sZWFuKSIsDQogICAgICAgICAgICB3cmFwOiAiYm9vbGVhbiIsDQogICAgICAgICAgICB0b3VjaDogImJvb2xlYW4iDQogICAgICAgIH0sDQogICAgICAgIFcgPSAibmV4dCIsDQogICAgICAgIHEgPSAicHJldiIsDQogICAgICAgIE0gPSAibGVmdCIsDQogICAgICAgIEsgPSAicmlnaHQiLA0KICAgICAgICBRID0gew0KICAgICAgICAgICAgU0xJREU6ICJzbGlkZSIgKyBILA0KICAgICAgICAgICAgU0xJRDogInNsaWQiICsgSCwNCiAgICAgICAgICAgIEtFWURPV046ICJrZXlkb3duIiArIEgsDQogICAgICAgICAgICBNT1VTRUVOVEVSOiAibW91c2VlbnRlciIgKyBILA0KICAgICAgICAgICAgTU9VU0VMRUFWRTogIm1vdXNlbGVhdmUiICsgSCwNCiAgICAgICAgICAgIFRPVUNIU1RBUlQ6ICJ0b3VjaHN0YXJ0IiArIEgsDQogICAgICAgICAgICBUT1VDSE1PVkU6ICJ0b3VjaG1vdmUiICsgSCwNCiAgICAgICAgICAgIFRPVUNIRU5EOiAidG91Y2hlbmQiICsgSCwNCiAgICAgICAgICAgIFBPSU5URVJET1dOOiAicG9pbnRlcmRvd24iICsgSCwNCiAgICAgICAgICAgIFBPSU5URVJVUDogInBvaW50ZXJ1cCIgKyBILA0KICAgICAgICAgICAgRFJBR19TVEFSVDogImRyYWdzdGFydCIgKyBILA0KICAgICAgICAgICAgTE9BRF9EQVRBX0FQSTogImxvYWQiICsgSCArIFIsDQogICAgICAgICAgICBDTElDS19EQVRBX0FQSTogImNsaWNrIiArIEggKyBSDQogICAgICAgIH0sDQogICAgICAgIEIgPSAiY2Fyb3VzZWwiLA0KICAgICAgICBWID0gImFjdGl2ZSIsDQogICAgICAgIFkgPSAic2xpZGUiLA0KICAgICAgICB6ID0gImNhcm91c2VsLWl0ZW0tcmlnaHQiLA0KICAgICAgICBYID0gImNhcm91c2VsLWl0ZW0tbGVmdCIsDQogICAgICAgICQgPSAiY2Fyb3VzZWwtaXRlbS1uZXh0IiwNCiAgICAgICAgRyA9ICJjYXJvdXNlbC1pdGVtLXByZXYiLA0KICAgICAgICBKID0gInBvaW50ZXItZXZlbnQiLA0KICAgICAgICBaID0gIi5hY3RpdmUiLA0KICAgICAgICB0dCA9ICIuYWN0aXZlLmNhcm91c2VsLWl0ZW0iLA0KICAgICAgICBldCA9ICIuY2Fyb3VzZWwtaXRlbSIsDQogICAgICAgIG50ID0gIi5jYXJvdXNlbC1pdGVtIGltZyIsDQogICAgICAgIGl0ID0gIi5jYXJvdXNlbC1pdGVtLW5leHQsIC5jYXJvdXNlbC1pdGVtLXByZXYiLA0KICAgICAgICBvdCA9ICIuY2Fyb3VzZWwtaW5kaWNhdG9ycyIsDQogICAgICAgIHJ0ID0gIltkYXRhLXNsaWRlXSwgW2RhdGEtc2xpZGUtdG9dIiwNCiAgICAgICAgc3QgPSAnW2RhdGEtcmlkZT0iY2Fyb3VzZWwiXScsDQogICAgICAgIGF0ID0gew0KICAgICAgICAgICAgVE9VQ0g6ICJ0b3VjaCIsDQogICAgICAgICAgICBQRU46ICJwZW4iDQogICAgICAgIH0sDQogICAgICAgIGx0ID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBmdW5jdGlvbiByKHQsIGUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl9pdGVtcyA9IG51bGwsIHRoaXMuX2ludGVydmFsID0gbnVsbCwgdGhpcy5fYWN0aXZlRWxlbWVudCA9IG51bGwsIHRoaXMuX2lzUGF1c2VkID0gITEsIHRoaXMuX2lzU2xpZGluZyA9ICExLCB0aGlzLnRvdWNoVGltZW91dCA9IG51bGwsIHRoaXMudG91Y2hTdGFydFggPSAwLCB0aGlzLnRvdWNoRGVsdGFYID0gMCwgdGhpcy5fY29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGUpLCB0aGlzLl9lbGVtZW50ID0gdCwgdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQgPSB0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3Iob3QpLCB0aGlzLl90b3VjaFN1cHBvcnRlZCA9ICJvbnRvdWNoc3RhcnQiIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCB8fCAwIDwgbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzLCB0aGlzLl9wb2ludGVyRXZlbnQgPSBCb29sZWFuKHdpbmRvdy5Qb2ludGVyRXZlbnQgfHwgd2luZG93Lk1TUG9pbnRlckV2ZW50KSwgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIHQgPSByLnByb3RvdHlwZTsNCiAgICAgICAgICAgIHJldHVybiB0Lm5leHQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl9pc1NsaWRpbmcgfHwgdGhpcy5fc2xpZGUoVykNCiAgICAgICAgICAgIH0sIHQubmV4dFdoZW5WaXNpYmxlID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgIWRvY3VtZW50LmhpZGRlbiAmJiBnKHRoaXMuX2VsZW1lbnQpLmlzKCI6dmlzaWJsZSIpICYmICJoaWRkZW4iICE9PSBnKHRoaXMuX2VsZW1lbnQpLmNzcygidmlzaWJpbGl0eSIpICYmIHRoaXMubmV4dCgpDQogICAgICAgICAgICB9LCB0LnByZXYgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl9pc1NsaWRpbmcgfHwgdGhpcy5fc2xpZGUocSkNCiAgICAgICAgICAgIH0sIHQucGF1c2UgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdCB8fCAodGhpcy5faXNQYXVzZWQgPSAhMCksIHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihpdCkgJiYgKF8udHJpZ2dlclRyYW5zaXRpb25FbmQodGhpcy5fZWxlbWVudCksIHRoaXMuY3ljbGUoITApKSwgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCksIHRoaXMuX2ludGVydmFsID0gbnVsbA0KICAgICAgICAgICAgfSwgdC5jeWNsZSA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB0IHx8ICh0aGlzLl9pc1BhdXNlZCA9ICExKSwgdGhpcy5faW50ZXJ2YWwgJiYgKGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpLCB0aGlzLl9pbnRlcnZhbCA9IG51bGwpLCB0aGlzLl9jb25maWcuaW50ZXJ2YWwgJiYgIXRoaXMuX2lzUGF1c2VkICYmICh0aGlzLl9pbnRlcnZhbCA9IHNldEludGVydmFsKChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPyB0aGlzLm5leHRXaGVuVmlzaWJsZSA6IHRoaXMubmV4dCkuYmluZCh0aGlzKSwgdGhpcy5fY29uZmlnLmludGVydmFsKSkNCiAgICAgICAgICAgIH0sIHQudG8gPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzOw0KICAgICAgICAgICAgICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSB0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IodHQpOw0KICAgICAgICAgICAgICAgIHZhciBuID0gdGhpcy5fZ2V0SXRlbUluZGV4KHRoaXMuX2FjdGl2ZUVsZW1lbnQpOw0KICAgICAgICAgICAgICAgIGlmICghKHQgPiB0aGlzLl9pdGVtcy5sZW5ndGggLSAxIHx8IHQgPCAwKSkNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzU2xpZGluZykgZyh0aGlzLl9lbGVtZW50KS5vbmUoUS5TTElELCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLnRvKHQpDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuID09PSB0KSByZXR1cm4gdGhpcy5wYXVzZSgpLCB2b2lkIHRoaXMuY3ljbGUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0gbiA8IHQgPyBXIDogcTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NsaWRlKGksIHRoaXMuX2l0ZW1zW3RdKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB0LmRpc3Bvc2UgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBnKHRoaXMuX2VsZW1lbnQpLm9mZihIKSwgZy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIGopLCB0aGlzLl9pdGVtcyA9IG51bGwsIHRoaXMuX2NvbmZpZyA9IG51bGwsIHRoaXMuX2VsZW1lbnQgPSBudWxsLCB0aGlzLl9pbnRlcnZhbCA9IG51bGwsIHRoaXMuX2lzUGF1c2VkID0gbnVsbCwgdGhpcy5faXNTbGlkaW5nID0gbnVsbCwgdGhpcy5fYWN0aXZlRWxlbWVudCA9IG51bGwsIHRoaXMuX2luZGljYXRvcnNFbGVtZW50ID0gbnVsbA0KICAgICAgICAgICAgfSwgdC5fZ2V0Q29uZmlnID0gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0ID0gbCh7fSwgRiwgdCksIF8udHlwZUNoZWNrQ29uZmlnKEwsIHQsIFUpLCB0DQogICAgICAgICAgICB9LCB0Ll9oYW5kbGVTd2lwZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gTWF0aC5hYnModGhpcy50b3VjaERlbHRhWCk7DQogICAgICAgICAgICAgICAgaWYgKCEodCA8PSA0MCkpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0IC8gdGhpcy50b3VjaERlbHRhWDsNCiAgICAgICAgICAgICAgICAgICAgMCA8IGUgJiYgdGhpcy5wcmV2KCksIGUgPCAwICYmIHRoaXMubmV4dCgpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgdC5fYWRkRXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXM7DQogICAgICAgICAgICAgICAgdGhpcy5fY29uZmlnLmtleWJvYXJkICYmIGcodGhpcy5fZWxlbWVudCkub24oUS5LRVlET1dOLCBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBlLl9rZXlkb3duKHQpDQogICAgICAgICAgICAgICAgfSksICJob3ZlciIgPT09IHRoaXMuX2NvbmZpZy5wYXVzZSAmJiBnKHRoaXMuX2VsZW1lbnQpLm9uKFEuTU9VU0VFTlRFUiwgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5wYXVzZSh0KQ0KICAgICAgICAgICAgICAgIH0pLm9uKFEuTU9VU0VMRUFWRSwgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5jeWNsZSh0KQ0KICAgICAgICAgICAgICAgIH0pLCB0aGlzLl9jb25maWcudG91Y2ggJiYgdGhpcy5fYWRkVG91Y2hFdmVudExpc3RlbmVycygpDQogICAgICAgICAgICB9LCB0Ll9hZGRUb3VjaEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzOw0KICAgICAgICAgICAgICAgIGlmICh0aGlzLl90b3VjaFN1cHBvcnRlZCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuLl9wb2ludGVyRXZlbnQgJiYgYXRbdC5vcmlnaW5hbEV2ZW50LnBvaW50ZXJUeXBlLnRvVXBwZXJDYXNlKCldID8gbi50b3VjaFN0YXJ0WCA9IHQub3JpZ2luYWxFdmVudC5jbGllbnRYIDogbi5fcG9pbnRlckV2ZW50IHx8IChuLnRvdWNoU3RhcnRYID0gdC5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBpID0gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4uX3BvaW50ZXJFdmVudCAmJiBhdFt0Lm9yaWdpbmFsRXZlbnQucG9pbnRlclR5cGUudG9VcHBlckNhc2UoKV0gJiYgKG4udG91Y2hEZWx0YVggPSB0Lm9yaWdpbmFsRXZlbnQuY2xpZW50WCAtIG4udG91Y2hTdGFydFgpLCBuLl9oYW5kbGVTd2lwZSgpLCAiaG92ZXIiID09PSBuLl9jb25maWcucGF1c2UgJiYgKG4ucGF1c2UoKSwgbi50b3VjaFRpbWVvdXQgJiYgY2xlYXJUaW1lb3V0KG4udG91Y2hUaW1lb3V0KSwgbi50b3VjaFRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4uY3ljbGUodCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCA1MDAgKyBuLl9jb25maWcuaW50ZXJ2YWwpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICAgICAgZyh0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwobnQpKS5vbihRLkRSQUdfU1RBUlQsIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0LnByZXZlbnREZWZhdWx0KCkNCiAgICAgICAgICAgICAgICAgICAgfSksIHRoaXMuX3BvaW50ZXJFdmVudCA/IChnKHRoaXMuX2VsZW1lbnQpLm9uKFEuUE9JTlRFUkRPV04sIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlKHQpDQogICAgICAgICAgICAgICAgICAgIH0pLCBnKHRoaXMuX2VsZW1lbnQpLm9uKFEuUE9JTlRFUlVQLCBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaSh0KQ0KICAgICAgICAgICAgICAgICAgICB9KSwgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKEopKSA6IChnKHRoaXMuX2VsZW1lbnQpLm9uKFEuVE9VQ0hTVEFSVCwgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUodCkNCiAgICAgICAgICAgICAgICAgICAgfSksIGcodGhpcy5fZWxlbWVudCkub24oUS5UT1VDSE1PVkUsIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlOw0KICAgICAgICAgICAgICAgICAgICAgICAgKGUgPSB0KS5vcmlnaW5hbEV2ZW50LnRvdWNoZXMgJiYgMSA8IGUub3JpZ2luYWxFdmVudC50b3VjaGVzLmxlbmd0aCA/IG4udG91Y2hEZWx0YVggPSAwIDogbi50b3VjaERlbHRhWCA9IGUub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdLmNsaWVudFggLSBuLnRvdWNoU3RhcnRYDQogICAgICAgICAgICAgICAgICAgIH0pLCBnKHRoaXMuX2VsZW1lbnQpLm9uKFEuVE9VQ0hFTkQsIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpKHQpDQogICAgICAgICAgICAgICAgICAgIH0pKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHQuX2tleWRvd24gPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgaWYgKCEvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KHQudGFyZ2V0LnRhZ05hbWUpKSBzd2l0Y2ggKHQud2hpY2gpIHsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAzNzoNCiAgICAgICAgICAgICAgICAgICAgICAgIHQucHJldmVudERlZmF1bHQoKSwgdGhpcy5wcmV2KCk7DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAzOToNCiAgICAgICAgICAgICAgICAgICAgICAgIHQucHJldmVudERlZmF1bHQoKSwgdGhpcy5uZXh0KCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB0Ll9nZXRJdGVtSW5kZXggPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zID0gdCAmJiB0LnBhcmVudE5vZGUgPyBbXS5zbGljZS5jYWxsKHQucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yQWxsKGV0KSkgOiBbXSwgdGhpcy5faXRlbXMuaW5kZXhPZih0KQ0KICAgICAgICAgICAgfSwgdC5fZ2V0SXRlbUJ5RGlyZWN0aW9uID0gZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgICAgIHZhciBuID0gdCA9PT0gVywNCiAgICAgICAgICAgICAgICAgICAgaSA9IHQgPT09IHEsDQogICAgICAgICAgICAgICAgICAgIG8gPSB0aGlzLl9nZXRJdGVtSW5kZXgoZSksDQogICAgICAgICAgICAgICAgICAgIHIgPSB0aGlzLl9pdGVtcy5sZW5ndGggLSAxOw0KICAgICAgICAgICAgICAgIGlmICgoaSAmJiAwID09PSBvIHx8IG4gJiYgbyA9PT0gcikgJiYgIXRoaXMuX2NvbmZpZy53cmFwKSByZXR1cm4gZTsNCiAgICAgICAgICAgICAgICB2YXIgcyA9IChvICsgKHQgPT09IHEgPyAtMSA6IDEpKSAlIHRoaXMuX2l0ZW1zLmxlbmd0aDsNCiAgICAgICAgICAgICAgICByZXR1cm4gLTEgPT09IHMgPyB0aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGggLSAxXSA6IHRoaXMuX2l0ZW1zW3NdDQogICAgICAgICAgICB9LCB0Ll90cmlnZ2VyU2xpZGVFdmVudCA9IGZ1bmN0aW9uKHQsIGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgbiA9IHRoaXMuX2dldEl0ZW1JbmRleCh0KSwNCiAgICAgICAgICAgICAgICAgICAgaSA9IHRoaXMuX2dldEl0ZW1JbmRleCh0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IodHQpKSwNCiAgICAgICAgICAgICAgICAgICAgbyA9IGcuRXZlbnQoUS5TTElERSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogdCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IGksDQogICAgICAgICAgICAgICAgICAgICAgICB0bzogbg0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZyh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKG8pLCBvDQogICAgICAgICAgICB9LCB0Ll9zZXRBY3RpdmVJbmRpY2F0b3JFbGVtZW50ID0gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgIGlmICh0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IFtdLnNsaWNlLmNhbGwodGhpcy5faW5kaWNhdG9yc0VsZW1lbnQucXVlcnlTZWxlY3RvckFsbChaKSk7DQogICAgICAgICAgICAgICAgICAgIGcoZSkucmVtb3ZlQ2xhc3MoVik7DQogICAgICAgICAgICAgICAgICAgIHZhciBuID0gdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQuY2hpbGRyZW5bdGhpcy5fZ2V0SXRlbUluZGV4KHQpXTsNCiAgICAgICAgICAgICAgICAgICAgbiAmJiBnKG4pLmFkZENsYXNzKFYpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgdC5fc2xpZGUgPSBmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICAgICAgdmFyIG4sIGksIG8sIHIgPSB0aGlzLA0KICAgICAgICAgICAgICAgICAgICBzID0gdGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKHR0KSwNCiAgICAgICAgICAgICAgICAgICAgYSA9IHRoaXMuX2dldEl0ZW1JbmRleChzKSwNCiAgICAgICAgICAgICAgICAgICAgbCA9IGUgfHwgcyAmJiB0aGlzLl9nZXRJdGVtQnlEaXJlY3Rpb24odCwgcyksDQogICAgICAgICAgICAgICAgICAgIGMgPSB0aGlzLl9nZXRJdGVtSW5kZXgobCksDQogICAgICAgICAgICAgICAgICAgIGggPSBCb29sZWFuKHRoaXMuX2ludGVydmFsKTsNCiAgICAgICAgICAgICAgICBpZiAobyA9IHQgPT09IFcgPyAobiA9IFgsIGkgPSAkLCBNKSA6IChuID0geiwgaSA9IEcsIEspLCBsICYmIGcobCkuaGFzQ2xhc3MoVikpIHRoaXMuX2lzU2xpZGluZyA9ICExOw0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKCF0aGlzLl90cmlnZ2VyU2xpZGVFdmVudChsLCBvKS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSAmJiBzICYmIGwpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXNTbGlkaW5nID0gITAsIGggJiYgdGhpcy5wYXVzZSgpLCB0aGlzLl9zZXRBY3RpdmVJbmRpY2F0b3JFbGVtZW50KGwpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgdSA9IGcuRXZlbnQoUS5TTElELCB7DQogICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiBsLA0KICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiBvLA0KICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogYSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHRvOiBjDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICBpZiAoZyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhZKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgZyhsKS5hZGRDbGFzcyhpKSwgXy5yZWZsb3cobCksIGcocykuYWRkQ2xhc3MobiksIGcobCkuYWRkQ2xhc3Mobik7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZiA9IHBhcnNlSW50KGwuZ2V0QXR0cmlidXRlKCJkYXRhLWludGVydmFsIiksIDEwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5pbnRlcnZhbCA9IGYgPyAodGhpcy5fY29uZmlnLmRlZmF1bHRJbnRlcnZhbCA9IHRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWwgfHwgdGhpcy5fY29uZmlnLmludGVydmFsLCBmKSA6IHRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWwgfHwgdGhpcy5fY29uZmlnLmludGVydmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGQgPSBfLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgZyhzKS5vbmUoXy5UUkFOU0lUSU9OX0VORCwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZyhsKS5yZW1vdmVDbGFzcyhuICsgIiAiICsgaSkuYWRkQ2xhc3MoViksIGcocykucmVtb3ZlQ2xhc3MoViArICIgIiArIGkgKyAiICIgKyBuKSwgci5faXNTbGlkaW5nID0gITEsIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBnKHIuX2VsZW1lbnQpLnRyaWdnZXIodSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoZCkNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGcocykucmVtb3ZlQ2xhc3MoViksIGcobCkuYWRkQ2xhc3MoViksIHRoaXMuX2lzU2xpZGluZyA9ICExLCBnKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIodSk7DQogICAgICAgICAgICAgICAgICAgIGggJiYgdGhpcy5jeWNsZSgpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgci5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24oaSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZyh0aGlzKS5kYXRhKGopLA0KICAgICAgICAgICAgICAgICAgICAgICAgZSA9IGwoe30sIEYsIGcodGhpcykuZGF0YSgpKTsNCiAgICAgICAgICAgICAgICAgICAgIm9iamVjdCIgPT0gdHlwZW9mIGkgJiYgKGUgPSBsKHt9LCBlLCBpKSk7DQogICAgICAgICAgICAgICAgICAgIHZhciBuID0gInN0cmluZyIgPT0gdHlwZW9mIGkgPyBpIDogZS5zbGlkZTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHQgfHwgKHQgPSBuZXcgcih0aGlzLCBlKSwgZyh0aGlzKS5kYXRhKGosIHQpKSwgIm51bWJlciIgPT0gdHlwZW9mIGkpIHQudG8oaSk7DQogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCJzdHJpbmciID09IHR5cGVvZiBuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgPT0gdHlwZW9mIHRbbl0pIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJyArIG4gKyAnIicpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdFtuXSgpDQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBlLmludGVydmFsICYmIGUucmlkZSAmJiAodC5wYXVzZSgpLCB0LmN5Y2xlKCkpDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0sIHIuX2RhdGFBcGlDbGlja0hhbmRsZXIgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSBfLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcyk7DQogICAgICAgICAgICAgICAgaWYgKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBnKGUpWzBdOw0KICAgICAgICAgICAgICAgICAgICBpZiAobiAmJiBnKG4pLmhhc0NsYXNzKEIpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IGwoe30sIGcobikuZGF0YSgpLCBnKHRoaXMpLmRhdGEoKSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbyA9IHRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlLXRvIik7DQogICAgICAgICAgICAgICAgICAgICAgICBvICYmIChpLmludGVydmFsID0gITEpLCByLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChnKG4pLCBpKSwgbyAmJiBnKG4pLmRhdGEoaikudG8obyksIHQucHJldmVudERlZmF1bHQoKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgcyhyLCBudWxsLCBbew0KICAgICAgICAgICAgICAgIGtleTogIlZFUlNJT04iLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiNC4zLjEiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogIkRlZmF1bHQiLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBGDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfV0pLCByDQogICAgICAgIH0oKTsNCiAgICBnKGRvY3VtZW50KS5vbihRLkNMSUNLX0RBVEFfQVBJLCBydCwgbHQuX2RhdGFBcGlDbGlja0hhbmRsZXIpLCBnKHdpbmRvdykub24oUS5MT0FEX0RBVEFfQVBJLCBmdW5jdGlvbigpIHsNCiAgICAgICAgZm9yICh2YXIgdCA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzdCkpLCBlID0gMCwgbiA9IHQubGVuZ3RoOyBlIDwgbjsgZSsrKSB7DQogICAgICAgICAgICB2YXIgaSA9IGcodFtlXSk7DQogICAgICAgICAgICBsdC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoaSwgaS5kYXRhKCkpDQogICAgICAgIH0NCiAgICB9KSwgZy5mbltMXSA9IGx0Ll9qUXVlcnlJbnRlcmZhY2UsIGcuZm5bTF0uQ29uc3RydWN0b3IgPSBsdCwgZy5mbltMXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiBnLmZuW0xdID0geCwgbHQuX2pRdWVyeUludGVyZmFjZQ0KICAgIH07DQogICAgdmFyIGN0ID0gImNvbGxhcHNlIiwNCiAgICAgICAgaHQgPSAiYnMuY29sbGFwc2UiLA0KICAgICAgICB1dCA9ICIuIiArIGh0LA0KICAgICAgICBmdCA9IGcuZm5bY3RdLA0KICAgICAgICBkdCA9IHsNCiAgICAgICAgICAgIHRvZ2dsZTogITAsDQogICAgICAgICAgICBwYXJlbnQ6ICIiDQogICAgICAgIH0sDQogICAgICAgIGd0ID0gew0KICAgICAgICAgICAgdG9nZ2xlOiAiYm9vbGVhbiIsDQogICAgICAgICAgICBwYXJlbnQ6ICIoc3RyaW5nfGVsZW1lbnQpIg0KICAgICAgICB9LA0KICAgICAgICBfdCA9IHsNCiAgICAgICAgICAgIFNIT1c6ICJzaG93IiArIHV0LA0KICAgICAgICAgICAgU0hPV046ICJzaG93biIgKyB1dCwNCiAgICAgICAgICAgIEhJREU6ICJoaWRlIiArIHV0LA0KICAgICAgICAgICAgSElEREVOOiAiaGlkZGVuIiArIHV0LA0KICAgICAgICAgICAgQ0xJQ0tfREFUQV9BUEk6ICJjbGljayIgKyB1dCArICIuZGF0YS1hcGkiDQogICAgICAgIH0sDQogICAgICAgIG10ID0gInNob3ciLA0KICAgICAgICBwdCA9ICJjb2xsYXBzZSIsDQogICAgICAgIHZ0ID0gImNvbGxhcHNpbmciLA0KICAgICAgICB5dCA9ICJjb2xsYXBzZWQiLA0KICAgICAgICBFdCA9ICJ3aWR0aCIsDQogICAgICAgIEN0ID0gImhlaWdodCIsDQogICAgICAgIFR0ID0gIi5zaG93LCAuY29sbGFwc2luZyIsDQogICAgICAgIFN0ID0gJ1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXScsDQogICAgICAgIGJ0ID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBhKGUsIHQpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSAhMSwgdGhpcy5fZWxlbWVudCA9IGUsIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyh0KSwgdGhpcy5fdHJpZ2dlckFycmF5ID0gW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycgKyBlLmlkICsgJyJdLFtkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXRhcmdldD0iIycgKyBlLmlkICsgJyJdJykpOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIG4gPSBbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU3QpKSwgaSA9IDAsIG8gPSBuLmxlbmd0aDsgaSA8IG87IGkrKykgew0KICAgICAgICAgICAgICAgICAgICB2YXIgciA9IG5baV0sDQogICAgICAgICAgICAgICAgICAgICAgICBzID0gXy5nZXRTZWxlY3RvckZyb21FbGVtZW50KHIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgYSA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzKSkuZmlsdGVyKGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdCA9PT0gZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIG51bGwgIT09IHMgJiYgMCA8IGEubGVuZ3RoICYmICh0aGlzLl9zZWxlY3RvciA9IHMsIHRoaXMuX3RyaWdnZXJBcnJheS5wdXNoKHIpKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB0aGlzLl9wYXJlbnQgPSB0aGlzLl9jb25maWcucGFyZW50ID8gdGhpcy5fZ2V0UGFyZW50KCkgOiBudWxsLCB0aGlzLl9jb25maWcucGFyZW50IHx8IHRoaXMuX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyh0aGlzLl9lbGVtZW50LCB0aGlzLl90cmlnZ2VyQXJyYXkpLCB0aGlzLl9jb25maWcudG9nZ2xlICYmIHRoaXMudG9nZ2xlKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciB0ID0gYS5wcm90b3R5cGU7DQogICAgICAgICAgICByZXR1cm4gdC50b2dnbGUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKG10KSA/IHRoaXMuaGlkZSgpIDogdGhpcy5zaG93KCkNCiAgICAgICAgICAgIH0sIHQuc2hvdyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciB0LCBlLCBuID0gdGhpczsNCiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyAmJiAhZyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhtdCkgJiYgKHRoaXMuX3BhcmVudCAmJiAwID09PSAodCA9IFtdLnNsaWNlLmNhbGwodGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwoVHQpKS5maWx0ZXIoZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJzdHJpbmciID09IHR5cGVvZiBuLl9jb25maWcucGFyZW50ID8gdC5nZXRBdHRyaWJ1dGUoImRhdGEtcGFyZW50IikgPT09IG4uX2NvbmZpZy5wYXJlbnQgOiB0LmNsYXNzTGlzdC5jb250YWlucyhwdCkNCiAgICAgICAgICAgICAgICAgICAgfSkpLmxlbmd0aCAmJiAodCA9IG51bGwpLCAhKHQgJiYgKGUgPSBnKHQpLm5vdCh0aGlzLl9zZWxlY3RvcikuZGF0YShodCkpICYmIGUuX2lzVHJhbnNpdGlvbmluZykpKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBpID0gZy5FdmVudChfdC5TSE9XKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGcodGhpcy5fZWxlbWVudCkudHJpZ2dlcihpKSwgIWkuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHQgJiYgKGEuX2pRdWVyeUludGVyZmFjZS5jYWxsKGcodCkubm90KHRoaXMuX3NlbGVjdG9yKSwgImhpZGUiKSwgZSB8fCBnKHQpLmRhdGEoaHQsIG51bGwpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gdGhpcy5fZ2V0RGltZW5zaW9uKCk7DQogICAgICAgICAgICAgICAgICAgICAgICBnKHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKHB0KS5hZGRDbGFzcyh2dCksIHRoaXMuX2VsZW1lbnQuc3R5bGVbb10gPSAwLCB0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoICYmIGcodGhpcy5fdHJpZ2dlckFycmF5KS5yZW1vdmVDbGFzcyh5dCkuYXR0cigiYXJpYS1leHBhbmRlZCIsICEwKSwgdGhpcy5zZXRUcmFuc2l0aW9uaW5nKCEwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByID0gInNjcm9sbCIgKyAob1swXS50b1VwcGVyQ2FzZSgpICsgby5zbGljZSgxKSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcyA9IF8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7DQogICAgICAgICAgICAgICAgICAgICAgICBnKHRoaXMuX2VsZW1lbnQpLm9uZShfLlRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnKG4uX2VsZW1lbnQpLnJlbW92ZUNsYXNzKHZ0KS5hZGRDbGFzcyhwdCkuYWRkQ2xhc3MobXQpLCBuLl9lbGVtZW50LnN0eWxlW29dID0gIiIsIG4uc2V0VHJhbnNpdGlvbmluZyghMSksIGcobi5fZWxlbWVudCkudHJpZ2dlcihfdC5TSE9XTikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHMpLCB0aGlzLl9lbGVtZW50LnN0eWxlW29dID0gdGhpcy5fZWxlbWVudFtyXSArICJweCINCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHQuaGlkZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpczsNCiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyAmJiBnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKG10KSkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGcuRXZlbnQoX3QuSElERSk7DQogICAgICAgICAgICAgICAgICAgIGlmIChnKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoZSksICFlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IHRoaXMuX2dldERpbWVuc2lvbigpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZVtuXSA9IHRoaXMuX2VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbbl0gKyAicHgiLCBfLnJlZmxvdyh0aGlzLl9lbGVtZW50KSwgZyh0aGlzLl9lbGVtZW50KS5hZGRDbGFzcyh2dCkucmVtb3ZlQ2xhc3MocHQpLnJlbW92ZUNsYXNzKG10KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0gdGhpcy5fdHJpZ2dlckFycmF5Lmxlbmd0aDsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgwIDwgaSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBvID0gMDsgbyA8IGk7IG8rKykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgciA9IHRoaXMuX3RyaWdnZXJBcnJheVtvXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBfLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQocik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudWxsICE9PSBzKSBnKFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzKSkpLmhhc0NsYXNzKG10KSB8fCBnKHIpLmFkZENsYXNzKHl0KS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwgITEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRUcmFuc2l0aW9uaW5nKCEwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGVbbl0gPSAiIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhID0gXy5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGcodGhpcy5fZWxlbWVudCkub25lKF8uVFJBTlNJVElPTl9FTkQsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQuc2V0VHJhbnNpdGlvbmluZyghMSksIGcodC5fZWxlbWVudCkucmVtb3ZlQ2xhc3ModnQpLmFkZENsYXNzKHB0KS50cmlnZ2VyKF90LkhJRERFTikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGEpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB0LnNldFRyYW5zaXRpb25pbmcgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gdA0KICAgICAgICAgICAgfSwgdC5kaXNwb3NlID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIGh0KSwgdGhpcy5fY29uZmlnID0gbnVsbCwgdGhpcy5fcGFyZW50ID0gbnVsbCwgdGhpcy5fZWxlbWVudCA9IG51bGwsIHRoaXMuX3RyaWdnZXJBcnJheSA9IG51bGwsIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IG51bGwNCiAgICAgICAgICAgIH0sIHQuX2dldENvbmZpZyA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gKHQgPSBsKHt9LCBkdCwgdCkpLnRvZ2dsZSA9IEJvb2xlYW4odC50b2dnbGUpLCBfLnR5cGVDaGVja0NvbmZpZyhjdCwgdCwgZ3QpLCB0DQogICAgICAgICAgICB9LCB0Ll9nZXREaW1lbnNpb24gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhFdCkgPyBFdCA6IEN0DQogICAgICAgICAgICB9LCB0Ll9nZXRQYXJlbnQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCwgbiA9IHRoaXM7DQogICAgICAgICAgICAgICAgXy5pc0VsZW1lbnQodGhpcy5fY29uZmlnLnBhcmVudCkgPyAodCA9IHRoaXMuX2NvbmZpZy5wYXJlbnQsICJ1bmRlZmluZWQiICE9IHR5cGVvZiB0aGlzLl9jb25maWcucGFyZW50LmpxdWVyeSAmJiAodCA9IHRoaXMuX2NvbmZpZy5wYXJlbnRbMF0pKSA6IHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuX2NvbmZpZy5wYXJlbnQpOw0KICAgICAgICAgICAgICAgIHZhciBlID0gJ1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXBhcmVudD0iJyArIHRoaXMuX2NvbmZpZy5wYXJlbnQgKyAnIl0nLA0KICAgICAgICAgICAgICAgICAgICBpID0gW10uc2xpY2UuY2FsbCh0LnF1ZXJ5U2VsZWN0b3JBbGwoZSkpOw0KICAgICAgICAgICAgICAgIHJldHVybiBnKGkpLmVhY2goZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgICAgICAgICBuLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3MoYS5fZ2V0VGFyZ2V0RnJvbUVsZW1lbnQoZSksIFtlXSkNCiAgICAgICAgICAgICAgICB9KSwgdA0KICAgICAgICAgICAgfSwgdC5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzID0gZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgICAgIHZhciBuID0gZyh0KS5oYXNDbGFzcyhtdCk7DQogICAgICAgICAgICAgICAgZS5sZW5ndGggJiYgZyhlKS50b2dnbGVDbGFzcyh5dCwgIW4pLmF0dHIoImFyaWEtZXhwYW5kZWQiLCBuKQ0KICAgICAgICAgICAgfSwgYS5fZ2V0VGFyZ2V0RnJvbUVsZW1lbnQgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSBfLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpIDogbnVsbA0KICAgICAgICAgICAgfSwgYS5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24oaSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZyh0aGlzKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGUgPSB0LmRhdGEoaHQpLA0KICAgICAgICAgICAgICAgICAgICAgICAgbiA9IGwoe30sIGR0LCB0LmRhdGEoKSwgIm9iamVjdCIgPT0gdHlwZW9mIGkgJiYgaSA/IGkgOiB7fSk7DQogICAgICAgICAgICAgICAgICAgIGlmICghZSAmJiBuLnRvZ2dsZSAmJiAvc2hvd3xoaWRlLy50ZXN0KGkpICYmIChuLnRvZ2dsZSA9ICExKSwgZSB8fCAoZSA9IG5ldyBhKHRoaXMsIG4pLCB0LmRhdGEoaHQsIGUpKSwgInN0cmluZyIgPT0gdHlwZW9mIGkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgidW5kZWZpbmVkIiA9PSB0eXBlb2YgZVtpXSkgdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInICsgaSArICciJyk7DQogICAgICAgICAgICAgICAgICAgICAgICBlW2ldKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9LCBzKGEsIG51bGwsIFt7DQogICAgICAgICAgICAgICAga2V5OiAiVkVSU0lPTiIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI0LjMuMSINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiRGVmYXVsdCIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGR0DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfV0pLCBhDQogICAgICAgIH0oKTsNCiAgICBnKGRvY3VtZW50KS5vbihfdC5DTElDS19EQVRBX0FQSSwgU3QsIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgIkEiID09PSB0LmN1cnJlbnRUYXJnZXQudGFnTmFtZSAmJiB0LnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgIHZhciBuID0gZyh0aGlzKSwNCiAgICAgICAgICAgIGUgPSBfLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcyksDQogICAgICAgICAgICBpID0gW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGUpKTsNCiAgICAgICAgZyhpKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSBnKHRoaXMpLA0KICAgICAgICAgICAgICAgIGUgPSB0LmRhdGEoaHQpID8gInRvZ2dsZSIgOiBuLmRhdGEoKTsNCiAgICAgICAgICAgIGJ0Ll9qUXVlcnlJbnRlcmZhY2UuY2FsbCh0LCBlKQ0KICAgICAgICB9KQ0KICAgIH0pLCBnLmZuW2N0XSA9IGJ0Ll9qUXVlcnlJbnRlcmZhY2UsIGcuZm5bY3RdLkNvbnN0cnVjdG9yID0gYnQsIGcuZm5bY3RdLm5vQ29uZmxpY3QgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgcmV0dXJuIGcuZm5bY3RdID0gZnQsIGJ0Ll9qUXVlcnlJbnRlcmZhY2UNCiAgICB9Ow0KICAgIHZhciBJdCA9ICJkcm9wZG93biIsDQogICAgICAgIER0ID0gImJzLmRyb3Bkb3duIiwNCiAgICAgICAgd3QgPSAiLiIgKyBEdCwNCiAgICAgICAgQXQgPSAiLmRhdGEtYXBpIiwNCiAgICAgICAgTnQgPSBnLmZuW0l0XSwNCiAgICAgICAgT3QgPSBuZXcgUmVnRXhwKCIzOHw0MHwyNyIpLA0KICAgICAgICBrdCA9IHsNCiAgICAgICAgICAgIEhJREU6ICJoaWRlIiArIHd0LA0KICAgICAgICAgICAgSElEREVOOiAiaGlkZGVuIiArIHd0LA0KICAgICAgICAgICAgU0hPVzogInNob3ciICsgd3QsDQogICAgICAgICAgICBTSE9XTjogInNob3duIiArIHd0LA0KICAgICAgICAgICAgQ0xJQ0s6ICJjbGljayIgKyB3dCwNCiAgICAgICAgICAgIENMSUNLX0RBVEFfQVBJOiAiY2xpY2siICsgd3QgKyBBdCwNCiAgICAgICAgICAgIEtFWURPV05fREFUQV9BUEk6ICJrZXlkb3duIiArIHd0ICsgQXQsDQogICAgICAgICAgICBLRVlVUF9EQVRBX0FQSTogImtleXVwIiArIHd0ICsgQXQNCiAgICAgICAgfSwNCiAgICAgICAgUHQgPSAiZGlzYWJsZWQiLA0KICAgICAgICBMdCA9ICJzaG93IiwNCiAgICAgICAganQgPSAiZHJvcHVwIiwNCiAgICAgICAgSHQgPSAiZHJvcHJpZ2h0IiwNCiAgICAgICAgUnQgPSAiZHJvcGxlZnQiLA0KICAgICAgICB4dCA9ICJkcm9wZG93bi1tZW51LXJpZ2h0IiwNCiAgICAgICAgRnQgPSAicG9zaXRpb24tc3RhdGljIiwNCiAgICAgICAgVXQgPSAnW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJywNCiAgICAgICAgV3QgPSAiLmRyb3Bkb3duIGZvcm0iLA0KICAgICAgICBxdCA9ICIuZHJvcGRvd24tbWVudSIsDQogICAgICAgIE10ID0gIi5uYXZiYXItbmF2IiwNCiAgICAgICAgS3QgPSAiLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCkiLA0KICAgICAgICBRdCA9ICJ0b3Atc3RhcnQiLA0KICAgICAgICBCdCA9ICJ0b3AtZW5kIiwNCiAgICAgICAgVnQgPSAiYm90dG9tLXN0YXJ0IiwNCiAgICAgICAgWXQgPSAiYm90dG9tLWVuZCIsDQogICAgICAgIHp0ID0gInJpZ2h0LXN0YXJ0IiwNCiAgICAgICAgWHQgPSAibGVmdC1zdGFydCIsDQogICAgICAgICR0ID0gew0KICAgICAgICAgICAgb2Zmc2V0OiAwLA0KICAgICAgICAgICAgZmxpcDogITAsDQogICAgICAgICAgICBib3VuZGFyeTogInNjcm9sbFBhcmVudCIsDQogICAgICAgICAgICByZWZlcmVuY2U6ICJ0b2dnbGUiLA0KICAgICAgICAgICAgZGlzcGxheTogImR5bmFtaWMiDQogICAgICAgIH0sDQogICAgICAgIEd0ID0gew0KICAgICAgICAgICAgb2Zmc2V0OiAiKG51bWJlcnxzdHJpbmd8ZnVuY3Rpb24pIiwNCiAgICAgICAgICAgIGZsaXA6ICJib29sZWFuIiwNCiAgICAgICAgICAgIGJvdW5kYXJ5OiAiKHN0cmluZ3xlbGVtZW50KSIsDQogICAgICAgICAgICByZWZlcmVuY2U6ICIoc3RyaW5nfGVsZW1lbnQpIiwNCiAgICAgICAgICAgIGRpc3BsYXk6ICJzdHJpbmciDQogICAgICAgIH0sDQogICAgICAgIEp0ID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBjKHQsIGUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50ID0gdCwgdGhpcy5fcG9wcGVyID0gbnVsbCwgdGhpcy5fY29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGUpLCB0aGlzLl9tZW51ID0gdGhpcy5fZ2V0TWVudUVsZW1lbnQoKSwgdGhpcy5faW5OYXZiYXIgPSB0aGlzLl9kZXRlY3ROYXZiYXIoKSwgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIHQgPSBjLnByb3RvdHlwZTsNCiAgICAgICAgICAgIHJldHVybiB0LnRvZ2dsZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGlmICghdGhpcy5fZWxlbWVudC5kaXNhYmxlZCAmJiAhZyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhQdCkpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBjLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGUgPSBnKHRoaXMuX21lbnUpLmhhc0NsYXNzKEx0KTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGMuX2NsZWFyTWVudXMoKSwgIWUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gZy5FdmVudChrdC5TSE9XLCBuKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnKHQpLnRyaWdnZXIoaSksICFpLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9pbk5hdmJhcikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgPT0gdHlwZW9mIHUpIHRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCdzIGRyb3Bkb3ducyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnLykiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSB0aGlzLl9lbGVtZW50Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyZW50IiA9PT0gdGhpcy5fY29uZmlnLnJlZmVyZW5jZSA/IG8gPSB0IDogXy5pc0VsZW1lbnQodGhpcy5fY29uZmlnLnJlZmVyZW5jZSkgJiYgKG8gPSB0aGlzLl9jb25maWcucmVmZXJlbmNlLCAidW5kZWZpbmVkIiAhPSB0eXBlb2YgdGhpcy5fY29uZmlnLnJlZmVyZW5jZS5qcXVlcnkgJiYgKG8gPSB0aGlzLl9jb25maWcucmVmZXJlbmNlWzBdKSksICJzY3JvbGxQYXJlbnQiICE9PSB0aGlzLl9jb25maWcuYm91bmRhcnkgJiYgZyh0KS5hZGRDbGFzcyhGdCksIHRoaXMuX3BvcHBlciA9IG5ldyB1KG8sIHRoaXMuX21lbnUsIHRoaXMuX2dldFBvcHBlckNvbmZpZygpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAib250b3VjaHN0YXJ0IiBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgMCA9PT0gZyh0KS5jbG9zZXN0KE10KS5sZW5ndGggJiYgZyhkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigpLm9uKCJtb3VzZW92ZXIiLCBudWxsLCBnLm5vb3ApLCB0aGlzLl9lbGVtZW50LmZvY3VzKCksIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwgITApLCBnKHRoaXMuX21lbnUpLnRvZ2dsZUNsYXNzKEx0KSwgZyh0KS50b2dnbGVDbGFzcyhMdCkudHJpZ2dlcihnLkV2ZW50KGt0LlNIT1dOLCBuKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHQuc2hvdyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGlmICghKHRoaXMuX2VsZW1lbnQuZGlzYWJsZWQgfHwgZyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhQdCkgfHwgZyh0aGlzLl9tZW51KS5oYXNDbGFzcyhMdCkpKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IHRoaXMuX2VsZW1lbnQNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBlID0gZy5FdmVudChrdC5TSE9XLCB0KSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBjLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTsNCiAgICAgICAgICAgICAgICAgICAgZyhuKS50cmlnZ2VyKGUpLCBlLmlzRGVmYXVsdFByZXZlbnRlZCgpIHx8IChnKHRoaXMuX21lbnUpLnRvZ2dsZUNsYXNzKEx0KSwgZyhuKS50b2dnbGVDbGFzcyhMdCkudHJpZ2dlcihnLkV2ZW50KGt0LlNIT1dOLCB0KSkpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgdC5oaWRlID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9lbGVtZW50LmRpc2FibGVkICYmICFnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKFB0KSAmJiBnKHRoaXMuX21lbnUpLmhhc0NsYXNzKEx0KSkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgZSA9IGcuRXZlbnQoa3QuSElERSwgdCksDQogICAgICAgICAgICAgICAgICAgICAgICBuID0gYy5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7DQogICAgICAgICAgICAgICAgICAgIGcobikudHJpZ2dlcihlKSwgZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSB8fCAoZyh0aGlzLl9tZW51KS50b2dnbGVDbGFzcyhMdCksIGcobikudG9nZ2xlQ2xhc3MoTHQpLnRyaWdnZXIoZy5FdmVudChrdC5ISURERU4sIHQpKSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB0LmRpc3Bvc2UgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBnLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgRHQpLCBnKHRoaXMuX2VsZW1lbnQpLm9mZih3dCksIHRoaXMuX2VsZW1lbnQgPSBudWxsLCAodGhpcy5fbWVudSA9IG51bGwpICE9PSB0aGlzLl9wb3BwZXIgJiYgKHRoaXMuX3BvcHBlci5kZXN0cm95KCksIHRoaXMuX3BvcHBlciA9IG51bGwpDQogICAgICAgICAgICB9LCB0LnVwZGF0ZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHRoaXMuX2luTmF2YmFyID0gdGhpcy5fZGV0ZWN0TmF2YmFyKCksIG51bGwgIT09IHRoaXMuX3BvcHBlciAmJiB0aGlzLl9wb3BwZXIuc2NoZWR1bGVVcGRhdGUoKQ0KICAgICAgICAgICAgfSwgdC5fYWRkRXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXM7DQogICAgICAgICAgICAgICAgZyh0aGlzLl9lbGVtZW50KS5vbihrdC5DTElDSywgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICB0LnByZXZlbnREZWZhdWx0KCksIHQuc3RvcFByb3BhZ2F0aW9uKCksIGUudG9nZ2xlKCkNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwgdC5fZ2V0Q29uZmlnID0gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0ID0gbCh7fSwgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LCBnKHRoaXMuX2VsZW1lbnQpLmRhdGEoKSwgdCksIF8udHlwZUNoZWNrQ29uZmlnKEl0LCB0LCB0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSwgdA0KICAgICAgICAgICAgfSwgdC5fZ2V0TWVudUVsZW1lbnQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX21lbnUpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBjLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTsNCiAgICAgICAgICAgICAgICAgICAgdCAmJiAodGhpcy5fbWVudSA9IHQucXVlcnlTZWxlY3RvcihxdCkpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9tZW51DQogICAgICAgICAgICB9LCB0Ll9nZXRQbGFjZW1lbnQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCA9IGcodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlKSwNCiAgICAgICAgICAgICAgICAgICAgZSA9IFZ0Ow0KICAgICAgICAgICAgICAgIHJldHVybiB0Lmhhc0NsYXNzKGp0KSA/IChlID0gUXQsIGcodGhpcy5fbWVudSkuaGFzQ2xhc3MoeHQpICYmIChlID0gQnQpKSA6IHQuaGFzQ2xhc3MoSHQpID8gZSA9IHp0IDogdC5oYXNDbGFzcyhSdCkgPyBlID0gWHQgOiBnKHRoaXMuX21lbnUpLmhhc0NsYXNzKHh0KSAmJiAoZSA9IFl0KSwgZQ0KICAgICAgICAgICAgfSwgdC5fZGV0ZWN0TmF2YmFyID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDAgPCBnKHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoIi5uYXZiYXIiKS5sZW5ndGgNCiAgICAgICAgICAgIH0sIHQuX2dldE9mZnNldCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcywNCiAgICAgICAgICAgICAgICAgICAgdCA9IHt9Ow0KICAgICAgICAgICAgICAgIHJldHVybiAiZnVuY3Rpb24iID09IHR5cGVvZiB0aGlzLl9jb25maWcub2Zmc2V0ID8gdC5mbiA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQub2Zmc2V0cyA9IGwoe30sIHQub2Zmc2V0cywgZS5fY29uZmlnLm9mZnNldCh0Lm9mZnNldHMsIGUuX2VsZW1lbnQpIHx8IHt9KSwgdA0KICAgICAgICAgICAgICAgIH0gOiB0Lm9mZnNldCA9IHRoaXMuX2NvbmZpZy5vZmZzZXQsIHQNCiAgICAgICAgICAgIH0sIHQuX2dldFBvcHBlckNvbmZpZyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gew0KICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMuX2dldFBsYWNlbWVudCgpLA0KICAgICAgICAgICAgICAgICAgICBtb2RpZmllcnM6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5fZ2V0T2Zmc2V0KCksDQogICAgICAgICAgICAgICAgICAgICAgICBmbGlwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdGhpcy5fY29uZmlnLmZsaXANCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBwcmV2ZW50T3ZlcmZsb3c6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3VuZGFyaWVzRWxlbWVudDogdGhpcy5fY29uZmlnLmJvdW5kYXJ5DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgIHJldHVybiAic3RhdGljIiA9PT0gdGhpcy5fY29uZmlnLmRpc3BsYXkgJiYgKHQubW9kaWZpZXJzLmFwcGx5U3R5bGUgPSB7DQogICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICExDQogICAgICAgICAgICAgICAgfSksIHQNCiAgICAgICAgICAgIH0sIGMuX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGcodGhpcykuZGF0YShEdCk7DQogICAgICAgICAgICAgICAgICAgIGlmICh0IHx8ICh0ID0gbmV3IGModGhpcywgIm9iamVjdCIgPT0gdHlwZW9mIGUgPyBlIDogbnVsbCksIGcodGhpcykuZGF0YShEdCwgdCkpLCAic3RyaW5nIiA9PSB0eXBlb2YgZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCJ1bmRlZmluZWQiID09IHR5cGVvZiB0W2VdKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicgKyBlICsgJyInKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRbZV0oKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0sIGMuX2NsZWFyTWVudXMgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgaWYgKCF0IHx8IDMgIT09IHQud2hpY2ggJiYgKCJrZXl1cCIgIT09IHQudHlwZSB8fCA5ID09PSB0LndoaWNoKSkNCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZSA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChVdCkpLCBuID0gMCwgaSA9IGUubGVuZ3RoOyBuIDwgaTsgbisrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbyA9IGMuX2dldFBhcmVudEZyb21FbGVtZW50KGVbbl0pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBnKGVbbl0pLmRhdGEoRHQpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMgPSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IGVbbl0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgImNsaWNrIiA9PT0gdC50eXBlICYmIChzLmNsaWNrRXZlbnQgPSB0KSwgcikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhID0gci5fbWVudTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZyhvKS5oYXNDbGFzcyhMdCkgJiYgISh0ICYmICgiY2xpY2siID09PSB0LnR5cGUgJiYgL2lucHV0fHRleHRhcmVhL2kudGVzdCh0LnRhcmdldC50YWdOYW1lKSB8fCAia2V5dXAiID09PSB0LnR5cGUgJiYgOSA9PT0gdC53aGljaCkgJiYgZy5jb250YWlucyhvLCB0LnRhcmdldCkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsID0gZy5FdmVudChrdC5ISURFLCBzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZyhvKS50cmlnZ2VyKGwpLCBsLmlzRGVmYXVsdFByZXZlbnRlZCgpIHx8ICgib250b3VjaHN0YXJ0IiBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZyhkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigpLm9mZigibW91c2VvdmVyIiwgbnVsbCwgZy5ub29wKSwgZVtuXS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCAiZmFsc2UiKSwgZyhhKS5yZW1vdmVDbGFzcyhMdCksIGcobykucmVtb3ZlQ2xhc3MoTHQpLnRyaWdnZXIoZy5FdmVudChrdC5ISURERU4sIHMpKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIGMuX2dldFBhcmVudEZyb21FbGVtZW50ID0gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgIHZhciBlLCBuID0gXy5nZXRTZWxlY3RvckZyb21FbGVtZW50KHQpOw0KICAgICAgICAgICAgICAgIHJldHVybiBuICYmIChlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihuKSksIGUgfHwgdC5wYXJlbnROb2RlDQogICAgICAgICAgICB9LCBjLl9kYXRhQXBpS2V5ZG93bkhhbmRsZXIgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgaWYgKCgvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KHQudGFyZ2V0LnRhZ05hbWUpID8gISgzMiA9PT0gdC53aGljaCB8fCAyNyAhPT0gdC53aGljaCAmJiAoNDAgIT09IHQud2hpY2ggJiYgMzggIT09IHQud2hpY2ggfHwgZyh0LnRhcmdldCkuY2xvc2VzdChxdCkubGVuZ3RoKSkgOiBPdC50ZXN0KHQud2hpY2gpKSAmJiAodC5wcmV2ZW50RGVmYXVsdCgpLCB0LnN0b3BQcm9wYWdhdGlvbigpLCAhdGhpcy5kaXNhYmxlZCAmJiAhZyh0aGlzKS5oYXNDbGFzcyhQdCkpKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBlID0gYy5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcyksDQogICAgICAgICAgICAgICAgICAgICAgICBuID0gZyhlKS5oYXNDbGFzcyhMdCk7DQogICAgICAgICAgICAgICAgICAgIGlmIChuICYmICghbiB8fCAyNyAhPT0gdC53aGljaCAmJiAzMiAhPT0gdC53aGljaCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0gW10uc2xpY2UuY2FsbChlLnF1ZXJ5U2VsZWN0b3JBbGwoS3QpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgwICE9PSBpLmxlbmd0aCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gaS5pbmRleE9mKHQudGFyZ2V0KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAzOCA9PT0gdC53aGljaCAmJiAwIDwgbyAmJiBvLS0sIDQwID09PSB0LndoaWNoICYmIG8gPCBpLmxlbmd0aCAtIDEgJiYgbysrLCBvIDwgMCAmJiAobyA9IDApLCBpW29dLmZvY3VzKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgyNyA9PT0gdC53aGljaCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByID0gZS5xdWVyeVNlbGVjdG9yKFV0KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnKHIpLnRyaWdnZXIoImZvY3VzIikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGcodGhpcykudHJpZ2dlcigiY2xpY2siKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgcyhjLCBudWxsLCBbew0KICAgICAgICAgICAgICAgIGtleTogIlZFUlNJT04iLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiNC4zLjEiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogIkRlZmF1bHQiLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAkdA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJEZWZhdWx0VHlwZSIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEd0DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfV0pLCBjDQogICAgICAgIH0oKTsNCiAgICBnKGRvY3VtZW50KS5vbihrdC5LRVlET1dOX0RBVEFfQVBJLCBVdCwgSnQuX2RhdGFBcGlLZXlkb3duSGFuZGxlcikub24oa3QuS0VZRE9XTl9EQVRBX0FQSSwgcXQsIEp0Ll9kYXRhQXBpS2V5ZG93bkhhbmRsZXIpLm9uKGt0LkNMSUNLX0RBVEFfQVBJICsgIiAiICsga3QuS0VZVVBfREFUQV9BUEksIEp0Ll9jbGVhck1lbnVzKS5vbihrdC5DTElDS19EQVRBX0FQSSwgVXQsIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpLCB0LnN0b3BQcm9wYWdhdGlvbigpLCBKdC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoZyh0aGlzKSwgInRvZ2dsZSIpDQogICAgfSkub24oa3QuQ0xJQ0tfREFUQV9BUEksIFd0LCBmdW5jdGlvbih0KSB7DQogICAgICAgIHQuc3RvcFByb3BhZ2F0aW9uKCkNCiAgICB9KSwgZy5mbltJdF0gPSBKdC5falF1ZXJ5SW50ZXJmYWNlLCBnLmZuW0l0XS5Db25zdHJ1Y3RvciA9IEp0LCBnLmZuW0l0XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiBnLmZuW0l0XSA9IE50LCBKdC5falF1ZXJ5SW50ZXJmYWNlDQogICAgfTsNCiAgICB2YXIgWnQgPSAibW9kYWwiLA0KICAgICAgICB0ZSA9ICJicy5tb2RhbCIsDQogICAgICAgIGVlID0gIi4iICsgdGUsDQogICAgICAgIG5lID0gZy5mbltadF0sDQogICAgICAgIGllID0gew0KICAgICAgICAgICAgYmFja2Ryb3A6ICEwLA0KICAgICAgICAgICAga2V5Ym9hcmQ6ICEwLA0KICAgICAgICAgICAgZm9jdXM6ICEwLA0KICAgICAgICAgICAgc2hvdzogITANCiAgICAgICAgfSwNCiAgICAgICAgb2UgPSB7DQogICAgICAgICAgICBiYWNrZHJvcDogIihib29sZWFufHN0cmluZykiLA0KICAgICAgICAgICAga2V5Ym9hcmQ6ICJib29sZWFuIiwNCiAgICAgICAgICAgIGZvY3VzOiAiYm9vbGVhbiIsDQogICAgICAgICAgICBzaG93OiAiYm9vbGVhbiINCiAgICAgICAgfSwNCiAgICAgICAgcmUgPSB7DQogICAgICAgICAgICBISURFOiAiaGlkZSIgKyBlZSwNCiAgICAgICAgICAgIEhJRERFTjogImhpZGRlbiIgKyBlZSwNCiAgICAgICAgICAgIFNIT1c6ICJzaG93IiArIGVlLA0KICAgICAgICAgICAgU0hPV046ICJzaG93biIgKyBlZSwNCiAgICAgICAgICAgIEZPQ1VTSU46ICJmb2N1c2luIiArIGVlLA0KICAgICAgICAgICAgUkVTSVpFOiAicmVzaXplIiArIGVlLA0KICAgICAgICAgICAgQ0xJQ0tfRElTTUlTUzogImNsaWNrLmRpc21pc3MiICsgZWUsDQogICAgICAgICAgICBLRVlET1dOX0RJU01JU1M6ICJrZXlkb3duLmRpc21pc3MiICsgZWUsDQogICAgICAgICAgICBNT1VTRVVQX0RJU01JU1M6ICJtb3VzZXVwLmRpc21pc3MiICsgZWUsDQogICAgICAgICAgICBNT1VTRURPV05fRElTTUlTUzogIm1vdXNlZG93bi5kaXNtaXNzIiArIGVlLA0KICAgICAgICAgICAgQ0xJQ0tfREFUQV9BUEk6ICJjbGljayIgKyBlZSArICIuZGF0YS1hcGkiDQogICAgICAgIH0sDQogICAgICAgIHNlID0gIm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIiwNCiAgICAgICAgYWUgPSAibW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUiLA0KICAgICAgICBsZSA9ICJtb2RhbC1iYWNrZHJvcCIsDQogICAgICAgIGNlID0gIm1vZGFsLW9wZW4iLA0KICAgICAgICBoZSA9ICJmYWRlIiwNCiAgICAgICAgdWUgPSAic2hvdyIsDQogICAgICAgIGZlID0gIi5tb2RhbC1kaWFsb2ciLA0KICAgICAgICBkZSA9ICIubW9kYWwtYm9keSIsDQogICAgICAgIGdlID0gJ1tkYXRhLXRvZ2dsZT0ibW9kYWwiXScsDQogICAgICAgIF9lID0gJ1tkYXRhLWRpc21pc3M9Im1vZGFsIl0nLA0KICAgICAgICBtZSA9ICIuZml4ZWQtdG9wLCAuZml4ZWQtYm90dG9tLCAuaXMtZml4ZWQsIC5zdGlja3ktdG9wIiwNCiAgICAgICAgcGUgPSAiLnN0aWNreS10b3AiLA0KICAgICAgICB2ZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gbyh0LCBlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5fY29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGUpLCB0aGlzLl9lbGVtZW50ID0gdCwgdGhpcy5fZGlhbG9nID0gdC5xdWVyeVNlbGVjdG9yKGZlKSwgdGhpcy5fYmFja2Ryb3AgPSBudWxsLCB0aGlzLl9pc1Nob3duID0gITEsIHRoaXMuX2lzQm9keU92ZXJmbG93aW5nID0gITEsIHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2sgPSAhMSwgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gITEsIHRoaXMuX3Njcm9sbGJhcldpZHRoID0gMA0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIHQgPSBvLnByb3RvdHlwZTsNCiAgICAgICAgICAgIHJldHVybiB0LnRvZ2dsZSA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5faXNTaG93biA/IHRoaXMuaGlkZSgpIDogdGhpcy5zaG93KHQpDQogICAgICAgICAgICB9LCB0LnNob3cgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzOw0KICAgICAgICAgICAgICAgIGlmICghdGhpcy5faXNTaG93biAmJiAhdGhpcy5faXNUcmFuc2l0aW9uaW5nKSB7DQogICAgICAgICAgICAgICAgICAgIGcodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoaGUpICYmICh0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSAhMCk7DQogICAgICAgICAgICAgICAgICAgIHZhciBuID0gZy5FdmVudChyZS5TSE9XLCB7DQogICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiB0DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICBnKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIobiksIHRoaXMuX2lzU2hvd24gfHwgbi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSB8fCAodGhpcy5faXNTaG93biA9ICEwLCB0aGlzLl9jaGVja1Njcm9sbGJhcigpLCB0aGlzLl9zZXRTY3JvbGxiYXIoKSwgdGhpcy5fYWRqdXN0RGlhbG9nKCksIHRoaXMuX3NldEVzY2FwZUV2ZW50KCksIHRoaXMuX3NldFJlc2l6ZUV2ZW50KCksIGcodGhpcy5fZWxlbWVudCkub24ocmUuQ0xJQ0tfRElTTUlTUywgX2UsIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmhpZGUodCkNCiAgICAgICAgICAgICAgICAgICAgfSksIGcodGhpcy5fZGlhbG9nKS5vbihyZS5NT1VTRURPV05fRElTTUlTUywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBnKGUuX2VsZW1lbnQpLm9uZShyZS5NT1VTRVVQX0RJU01JU1MsIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnKHQudGFyZ2V0KS5pcyhlLl9lbGVtZW50KSAmJiAoZS5faWdub3JlQmFja2Ryb3BDbGljayA9ICEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgfSksIHRoaXMuX3Nob3dCYWNrZHJvcChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLl9zaG93RWxlbWVudCh0KQ0KICAgICAgICAgICAgICAgICAgICB9KSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB0LmhpZGUgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzOw0KICAgICAgICAgICAgICAgIGlmICh0ICYmIHQucHJldmVudERlZmF1bHQoKSwgdGhpcy5faXNTaG93biAmJiAhdGhpcy5faXNUcmFuc2l0aW9uaW5nKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBuID0gZy5FdmVudChyZS5ISURFKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGcodGhpcy5fZWxlbWVudCkudHJpZ2dlcihuKSwgdGhpcy5faXNTaG93biAmJiAhbi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5faXNTaG93biA9ICExOw0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGhlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpICYmICh0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSAhMCksIHRoaXMuX3NldEVzY2FwZUV2ZW50KCksIHRoaXMuX3NldFJlc2l6ZUV2ZW50KCksIGcoZG9jdW1lbnQpLm9mZihyZS5GT0NVU0lOKSwgZyh0aGlzLl9lbGVtZW50KS5yZW1vdmVDbGFzcyh1ZSksIGcodGhpcy5fZWxlbWVudCkub2ZmKHJlLkNMSUNLX0RJU01JU1MpLCBnKHRoaXMuX2RpYWxvZykub2ZmKHJlLk1PVVNFRE9XTl9ESVNNSVNTKSwgaSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gXy5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnKHRoaXMuX2VsZW1lbnQpLm9uZShfLlRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLl9oaWRlTW9kYWwodCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChvKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHRoaXMuX2hpZGVNb2RhbCgpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB0LmRpc3Bvc2UgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBbd2luZG93LCB0aGlzLl9lbGVtZW50LCB0aGlzLl9kaWFsb2ddLmZvckVhY2goZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZyh0KS5vZmYoZWUpDQogICAgICAgICAgICAgICAgfSksIGcoZG9jdW1lbnQpLm9mZihyZS5GT0NVU0lOKSwgZy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIHRlKSwgdGhpcy5fY29uZmlnID0gbnVsbCwgdGhpcy5fZWxlbWVudCA9IG51bGwsIHRoaXMuX2RpYWxvZyA9IG51bGwsIHRoaXMuX2JhY2tkcm9wID0gbnVsbCwgdGhpcy5faXNTaG93biA9IG51bGwsIHRoaXMuX2lzQm9keU92ZXJmbG93aW5nID0gbnVsbCwgdGhpcy5faWdub3JlQmFja2Ryb3BDbGljayA9IG51bGwsIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IG51bGwsIHRoaXMuX3Njcm9sbGJhcldpZHRoID0gbnVsbA0KICAgICAgICAgICAgfSwgdC5oYW5kbGVVcGRhdGUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl9hZGp1c3REaWFsb2coKQ0KICAgICAgICAgICAgfSwgdC5fZ2V0Q29uZmlnID0gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0ID0gbCh7fSwgaWUsIHQpLCBfLnR5cGVDaGVja0NvbmZpZyhadCwgdCwgb2UpLCB0DQogICAgICAgICAgICB9LCB0Ll9zaG93RWxlbWVudCA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMsDQogICAgICAgICAgICAgICAgICAgIG4gPSBnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGhlKTsNCiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUgJiYgdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSB8fCBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnQpLCB0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siLCB0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSwgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbW9kYWwiLCAhMCksIGcodGhpcy5fZGlhbG9nKS5oYXNDbGFzcyhzZSkgPyB0aGlzLl9kaWFsb2cucXVlcnlTZWxlY3RvcihkZSkuc2Nyb2xsVG9wID0gMCA6IHRoaXMuX2VsZW1lbnQuc2Nyb2xsVG9wID0gMCwgbiAmJiBfLnJlZmxvdyh0aGlzLl9lbGVtZW50KSwgZyh0aGlzLl9lbGVtZW50KS5hZGRDbGFzcyh1ZSksIHRoaXMuX2NvbmZpZy5mb2N1cyAmJiB0aGlzLl9lbmZvcmNlRm9jdXMoKTsNCiAgICAgICAgICAgICAgICB2YXIgaSA9IGcuRXZlbnQocmUuU0hPV04sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IHQNCiAgICAgICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgICAgIG8gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGUuX2NvbmZpZy5mb2N1cyAmJiBlLl9lbGVtZW50LmZvY3VzKCksIGUuX2lzVHJhbnNpdGlvbmluZyA9ICExLCBnKGUuX2VsZW1lbnQpLnRyaWdnZXIoaSkNCiAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICBpZiAobikgew0KICAgICAgICAgICAgICAgICAgICB2YXIgciA9IF8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZGlhbG9nKTsNCiAgICAgICAgICAgICAgICAgICAgZyh0aGlzLl9kaWFsb2cpLm9uZShfLlRSQU5TSVRJT05fRU5ELCBvKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChyKQ0KICAgICAgICAgICAgICAgIH0gZWxzZSBvKCkNCiAgICAgICAgICAgIH0sIHQuX2VuZm9yY2VGb2N1cyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gdGhpczsNCiAgICAgICAgICAgICAgICBnKGRvY3VtZW50KS5vZmYocmUuRk9DVVNJTikub24ocmUuRk9DVVNJTiwgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICBkb2N1bWVudCAhPT0gdC50YXJnZXQgJiYgZS5fZWxlbWVudCAhPT0gdC50YXJnZXQgJiYgMCA9PT0gZyhlLl9lbGVtZW50KS5oYXModC50YXJnZXQpLmxlbmd0aCAmJiBlLl9lbGVtZW50LmZvY3VzKCkNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwgdC5fc2V0RXNjYXBlRXZlbnQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXM7DQogICAgICAgICAgICAgICAgdGhpcy5faXNTaG93biAmJiB0aGlzLl9jb25maWcua2V5Ym9hcmQgPyBnKHRoaXMuX2VsZW1lbnQpLm9uKHJlLktFWURPV05fRElTTUlTUywgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICAyNyA9PT0gdC53aGljaCAmJiAodC5wcmV2ZW50RGVmYXVsdCgpLCBlLmhpZGUoKSkNCiAgICAgICAgICAgICAgICB9KSA6IHRoaXMuX2lzU2hvd24gfHwgZyh0aGlzLl9lbGVtZW50KS5vZmYocmUuS0VZRE9XTl9ESVNNSVNTKQ0KICAgICAgICAgICAgfSwgdC5fc2V0UmVzaXplRXZlbnQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXM7DQogICAgICAgICAgICAgICAgdGhpcy5faXNTaG93biA/IGcod2luZG93KS5vbihyZS5SRVNJWkUsIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuaGFuZGxlVXBkYXRlKHQpDQogICAgICAgICAgICAgICAgfSkgOiBnKHdpbmRvdykub2ZmKHJlLlJFU0laRSkNCiAgICAgICAgICAgIH0sIHQuX2hpZGVNb2RhbCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpczsNCiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAibm9uZSIsIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsICEwKSwgdGhpcy5fZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtbW9kYWwiKSwgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gITEsIHRoaXMuX3Nob3dCYWNrZHJvcChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgZyhkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhjZSksIHQuX3Jlc2V0QWRqdXN0bWVudHMoKSwgdC5fcmVzZXRTY3JvbGxiYXIoKSwgZyh0Ll9lbGVtZW50KS50cmlnZ2VyKHJlLkhJRERFTikNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwgdC5fcmVtb3ZlQmFja2Ryb3AgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl9iYWNrZHJvcCAmJiAoZyh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlKCksIHRoaXMuX2JhY2tkcm9wID0gbnVsbCkNCiAgICAgICAgICAgIH0sIHQuX3Nob3dCYWNrZHJvcCA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMsDQogICAgICAgICAgICAgICAgICAgIG4gPSBnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGhlKSA/IGhlIDogIiI7DQogICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzU2hvd24gJiYgdGhpcy5fY29uZmlnLmJhY2tkcm9wKSB7DQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9iYWNrZHJvcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCB0aGlzLl9iYWNrZHJvcC5jbGFzc05hbWUgPSBsZSwgbiAmJiB0aGlzLl9iYWNrZHJvcC5jbGFzc0xpc3QuYWRkKG4pLCBnKHRoaXMuX2JhY2tkcm9wKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KSwgZyh0aGlzLl9lbGVtZW50KS5vbihyZS5DTElDS19ESVNNSVNTLCBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5faWdub3JlQmFja2Ryb3BDbGljayA/IGUuX2lnbm9yZUJhY2tkcm9wQ2xpY2sgPSAhMSA6IHQudGFyZ2V0ID09PSB0LmN1cnJlbnRUYXJnZXQgJiYgKCJzdGF0aWMiID09PSBlLl9jb25maWcuYmFja2Ryb3AgPyBlLl9lbGVtZW50LmZvY3VzKCkgOiBlLmhpZGUoKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBuICYmIF8ucmVmbG93KHRoaXMuX2JhY2tkcm9wKSwgZyh0aGlzLl9iYWNrZHJvcCkuYWRkQ2xhc3ModWUpLCAhdCkgcmV0dXJuOw0KICAgICAgICAgICAgICAgICAgICBpZiAoIW4pIHJldHVybiB2b2lkIHQoKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBfLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2JhY2tkcm9wKTsNCiAgICAgICAgICAgICAgICAgICAgZyh0aGlzLl9iYWNrZHJvcCkub25lKF8uVFJBTlNJVElPTl9FTkQsIHQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGkpDQogICAgICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5faXNTaG93biAmJiB0aGlzLl9iYWNrZHJvcCkgew0KICAgICAgICAgICAgICAgICAgICBnKHRoaXMuX2JhY2tkcm9wKS5yZW1vdmVDbGFzcyh1ZSk7DQogICAgICAgICAgICAgICAgICAgIHZhciBvID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBlLl9yZW1vdmVCYWNrZHJvcCgpLCB0ICYmIHQoKQ0KICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAgICBpZiAoZyh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhoZSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByID0gXy5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9iYWNrZHJvcCk7DQogICAgICAgICAgICAgICAgICAgICAgICBnKHRoaXMuX2JhY2tkcm9wKS5vbmUoXy5UUkFOU0lUSU9OX0VORCwgbykuZW11bGF0ZVRyYW5zaXRpb25FbmQocikNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIG8oKQ0KICAgICAgICAgICAgICAgIH0gZWxzZSB0ICYmIHQoKQ0KICAgICAgICAgICAgfSwgdC5fYWRqdXN0RGlhbG9nID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLl9lbGVtZW50LnNjcm9sbEhlaWdodCA+IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7DQogICAgICAgICAgICAgICAgIXRoaXMuX2lzQm9keU92ZXJmbG93aW5nICYmIHQgJiYgKHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQgPSB0aGlzLl9zY3JvbGxiYXJXaWR0aCArICJweCIpLCB0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyAmJiAhdCAmJiAodGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQgPSB0aGlzLl9zY3JvbGxiYXJXaWR0aCArICJweCIpDQogICAgICAgICAgICB9LCB0Ll9yZXNldEFkanVzdG1lbnRzID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nTGVmdCA9ICIiLCB0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdSaWdodCA9ICIiDQogICAgICAgICAgICB9LCB0Ll9jaGVja1Njcm9sbGJhciA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gZG9jdW1lbnQuYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsNCiAgICAgICAgICAgICAgICB0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyA9IHQubGVmdCArIHQucmlnaHQgPCB3aW5kb3cuaW5uZXJXaWR0aCwgdGhpcy5fc2Nyb2xsYmFyV2lkdGggPSB0aGlzLl9nZXRTY3JvbGxiYXJXaWR0aCgpDQogICAgICAgICAgICB9LCB0Ll9zZXRTY3JvbGxiYXIgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgbyA9IHRoaXM7DQogICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzQm9keU92ZXJmbG93aW5nKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKG1lKSksDQogICAgICAgICAgICAgICAgICAgICAgICBlID0gW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHBlKSk7DQogICAgICAgICAgICAgICAgICAgIGcodCkuZWFjaChmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IGUuc3R5bGUucGFkZGluZ1JpZ2h0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBnKGUpLmNzcygicGFkZGluZy1yaWdodCIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgZyhlKS5kYXRhKCJwYWRkaW5nLXJpZ2h0IiwgbikuY3NzKCJwYWRkaW5nLXJpZ2h0IiwgcGFyc2VGbG9hdChpKSArIG8uX3Njcm9sbGJhcldpZHRoICsgInB4IikNCiAgICAgICAgICAgICAgICAgICAgfSksIGcoZSkuZWFjaChmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IGUuc3R5bGUubWFyZ2luUmlnaHQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGcoZSkuY3NzKCJtYXJnaW4tcmlnaHQiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGcoZSkuZGF0YSgibWFyZ2luLXJpZ2h0IiwgbikuY3NzKCJtYXJnaW4tcmlnaHQiLCBwYXJzZUZsb2F0KGkpIC0gby5fc2Nyb2xsYmFyV2lkdGggKyAicHgiKQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBnKGRvY3VtZW50LmJvZHkpLmNzcygicGFkZGluZy1yaWdodCIpOw0KICAgICAgICAgICAgICAgICAgICBnKGRvY3VtZW50LmJvZHkpLmRhdGEoInBhZGRpbmctcmlnaHQiLCBuKS5jc3MoInBhZGRpbmctcmlnaHQiLCBwYXJzZUZsb2F0KGkpICsgdGhpcy5fc2Nyb2xsYmFyV2lkdGggKyAicHgiKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBnKGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKGNlKQ0KICAgICAgICAgICAgfSwgdC5fcmVzZXRTY3JvbGxiYXIgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChtZSkpOw0KICAgICAgICAgICAgICAgIGcodCkuZWFjaChmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBuID0gZyhlKS5kYXRhKCJwYWRkaW5nLXJpZ2h0Iik7DQogICAgICAgICAgICAgICAgICAgIGcoZSkucmVtb3ZlRGF0YSgicGFkZGluZy1yaWdodCIpLCBlLnN0eWxlLnBhZGRpbmdSaWdodCA9IG4gfHwgIiINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiIiArIHBlKSk7DQogICAgICAgICAgICAgICAgZyhlKS5lYWNoKGZ1bmN0aW9uKHQsIGUpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBnKGUpLmRhdGEoIm1hcmdpbi1yaWdodCIpOw0KICAgICAgICAgICAgICAgICAgICAidW5kZWZpbmVkIiAhPSB0eXBlb2YgbiAmJiBnKGUpLmNzcygibWFyZ2luLXJpZ2h0IiwgbikucmVtb3ZlRGF0YSgibWFyZ2luLXJpZ2h0IikNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB2YXIgbiA9IGcoZG9jdW1lbnQuYm9keSkuZGF0YSgicGFkZGluZy1yaWdodCIpOw0KICAgICAgICAgICAgICAgIGcoZG9jdW1lbnQuYm9keSkucmVtb3ZlRGF0YSgicGFkZGluZy1yaWdodCIpLCBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9IG4gfHwgIiINCiAgICAgICAgICAgIH0sIHQuX2dldFNjcm9sbGJhcldpZHRoID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCiAgICAgICAgICAgICAgICB0LmNsYXNzTmFtZSA9IGFlLCBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpOw0KICAgICAgICAgICAgICAgIHZhciBlID0gdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtIHQuY2xpZW50V2lkdGg7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCksIGUNCiAgICAgICAgICAgIH0sIG8uX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uKG4sIGkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGcodGhpcykuZGF0YSh0ZSksDQogICAgICAgICAgICAgICAgICAgICAgICBlID0gbCh7fSwgaWUsIGcodGhpcykuZGF0YSgpLCAib2JqZWN0IiA9PSB0eXBlb2YgbiAmJiBuID8gbiA6IHt9KTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHQgfHwgKHQgPSBuZXcgbyh0aGlzLCBlKSwgZyh0aGlzKS5kYXRhKHRlLCB0KSksICJzdHJpbmciID09IHR5cGVvZiBuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgPT0gdHlwZW9mIHRbbl0pIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJyArIG4gKyAnIicpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdFtuXShpKQ0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgZS5zaG93ICYmIHQuc2hvdyhpKQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9LCBzKG8sIG51bGwsIFt7DQogICAgICAgICAgICAgICAga2V5OiAiVkVSU0lPTiIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI0LjMuMSINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiRGVmYXVsdCIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGllDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfV0pLCBvDQogICAgICAgIH0oKTsNCiAgICBnKGRvY3VtZW50KS5vbihyZS5DTElDS19EQVRBX0FQSSwgZ2UsIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgdmFyIGUsIG4gPSB0aGlzLA0KICAgICAgICAgICAgaSA9IF8uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKTsNCiAgICAgICAgaSAmJiAoZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoaSkpOw0KICAgICAgICB2YXIgbyA9IGcoZSkuZGF0YSh0ZSkgPyAidG9nZ2xlIiA6IGwoe30sIGcoZSkuZGF0YSgpLCBnKHRoaXMpLmRhdGEoKSk7DQogICAgICAgICJBIiAhPT0gdGhpcy50YWdOYW1lICYmICJBUkVBIiAhPT0gdGhpcy50YWdOYW1lIHx8IHQucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgdmFyIHIgPSBnKGUpLm9uZShyZS5TSE9XLCBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB0LmlzRGVmYXVsdFByZXZlbnRlZCgpIHx8IHIub25lKHJlLkhJRERFTiwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZyhuKS5pcygiOnZpc2libGUiKSAmJiBuLmZvY3VzKCkNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0pOw0KICAgICAgICB2ZS5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoZyhlKSwgbywgdGhpcykNCiAgICB9KSwgZy5mbltadF0gPSB2ZS5falF1ZXJ5SW50ZXJmYWNlLCBnLmZuW1p0XS5Db25zdHJ1Y3RvciA9IHZlLCBnLmZuW1p0XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiBnLmZuW1p0XSA9IG5lLCB2ZS5falF1ZXJ5SW50ZXJmYWNlDQogICAgfTsNCiAgICB2YXIgeWUgPSBbImJhY2tncm91bmQiLCAiY2l0ZSIsICJocmVmIiwgIml0ZW10eXBlIiwgImxvbmdkZXNjIiwgInBvc3RlciIsICJzcmMiLCAieGxpbms6aHJlZiJdLA0KICAgICAgICBFZSA9IHsNCiAgICAgICAgICAgICIqIjogWyJjbGFzcyIsICJkaXIiLCAiaWQiLCAibGFuZyIsICJyb2xlIiwgL15hcmlhLVtcdy1dKiQvaV0sDQogICAgICAgICAgICBhOiBbInRhcmdldCIsICJocmVmIiwgInRpdGxlIiwgInJlbCJdLA0KICAgICAgICAgICAgYXJlYTogW10sDQogICAgICAgICAgICBiOiBbXSwNCiAgICAgICAgICAgIGJyOiBbXSwNCiAgICAgICAgICAgIGNvbDogW10sDQogICAgICAgICAgICBjb2RlOiBbXSwNCiAgICAgICAgICAgIGRpdjogW10sDQogICAgICAgICAgICBlbTogW10sDQogICAgICAgICAgICBocjogW10sDQogICAgICAgICAgICBoMTogW10sDQogICAgICAgICAgICBoMjogW10sDQogICAgICAgICAgICBoMzogW10sDQogICAgICAgICAgICBoNDogW10sDQogICAgICAgICAgICBoNTogW10sDQogICAgICAgICAgICBoNjogW10sDQogICAgICAgICAgICBpOiBbXSwNCiAgICAgICAgICAgIGltZzogWyJzcmMiLCAiYWx0IiwgInRpdGxlIiwgIndpZHRoIiwgImhlaWdodCJdLA0KICAgICAgICAgICAgbGk6IFtdLA0KICAgICAgICAgICAgb2w6IFtdLA0KICAgICAgICAgICAgcDogW10sDQogICAgICAgICAgICBwcmU6IFtdLA0KICAgICAgICAgICAgczogW10sDQogICAgICAgICAgICBzbWFsbDogW10sDQogICAgICAgICAgICBzcGFuOiBbXSwNCiAgICAgICAgICAgIHN1YjogW10sDQogICAgICAgICAgICBzdXA6IFtdLA0KICAgICAgICAgICAgc3Ryb25nOiBbXSwNCiAgICAgICAgICAgIHU6IFtdLA0KICAgICAgICAgICAgdWw6IFtdDQogICAgICAgIH0sDQogICAgICAgIENlID0gL14oPzooPzpodHRwcz98bWFpbHRvfGZ0cHx0ZWx8ZmlsZSk6fFteJjovPyNdKig/OlsvPyNdfCQpKS9naSwNCiAgICAgICAgVGUgPSAvXmRhdGE6KD86aW1hZ2VcLyg/OmJtcHxnaWZ8anBlZ3xqcGd8cG5nfHRpZmZ8d2VicCl8dmlkZW9cLyg/Om1wZWd8bXA0fG9nZ3x3ZWJtKXxhdWRpb1wvKD86bXAzfG9nYXxvZ2d8b3B1cykpO2Jhc2U2NCxbYS16MC05Ky9dKz0qJC9pOw0KDQogICAgZnVuY3Rpb24gU2UodCwgcywgZSkgew0KICAgICAgICBpZiAoMCA9PT0gdC5sZW5ndGgpIHJldHVybiB0Ow0KICAgICAgICBpZiAoZSAmJiAiZnVuY3Rpb24iID09IHR5cGVvZiBlKSByZXR1cm4gZSh0KTsNCiAgICAgICAgZm9yICh2YXIgbiA9IChuZXcgd2luZG93LkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKHQsICJ0ZXh0L2h0bWwiKSwgYSA9IE9iamVjdC5rZXlzKHMpLCBsID0gW10uc2xpY2UuY2FsbChuLmJvZHkucXVlcnlTZWxlY3RvckFsbCgiKiIpKSwgaSA9IGZ1bmN0aW9uKHQsIGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgbiA9IGxbdF0sDQogICAgICAgICAgICAgICAgICAgIGkgPSBuLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQogICAgICAgICAgICAgICAgaWYgKC0xID09PSBhLmluZGV4T2Yobi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSkgcmV0dXJuIG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSwgImNvbnRpbnVlIjsNCiAgICAgICAgICAgICAgICB2YXIgbyA9IFtdLnNsaWNlLmNhbGwobi5hdHRyaWJ1dGVzKSwNCiAgICAgICAgICAgICAgICAgICAgciA9IFtdLmNvbmNhdChzWyIqIl0gfHwgW10sIHNbaV0gfHwgW10pOw0KICAgICAgICAgICAgICAgIG8uZm9yRWFjaChmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IHQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgtMSAhPT0gZS5pbmRleE9mKG4pKSByZXR1cm4gLTEgPT09IHllLmluZGV4T2YobikgfHwgQm9vbGVhbih0Lm5vZGVWYWx1ZS5tYXRjaChDZSkgfHwgdC5ub2RlVmFsdWUubWF0Y2goVGUpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSBlLmZpbHRlcihmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0IGluc3RhbmNlb2YgUmVnRXhwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIG8gPSAwLCByID0gaS5sZW5ndGg7IG8gPCByOyBvKyspDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4ubWF0Y2goaVtvXSkpIHJldHVybiAhMDsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhMQ0KICAgICAgICAgICAgICAgICAgICB9KSh0LCByKSB8fCBuLnJlbW92ZUF0dHJpYnV0ZSh0Lm5vZGVOYW1lKQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9LCBvID0gMCwgciA9IGwubGVuZ3RoOyBvIDwgcjsgbysrKSBpKG8pOw0KICAgICAgICByZXR1cm4gbi5ib2R5LmlubmVySFRNTA0KICAgIH0NCiAgICB2YXIgYmUgPSAidG9vbHRpcCIsDQogICAgICAgIEllID0gImJzLnRvb2x0aXAiLA0KICAgICAgICBEZSA9ICIuIiArIEllLA0KICAgICAgICB3ZSA9IGcuZm5bYmVdLA0KICAgICAgICBBZSA9ICJicy10b29sdGlwIiwNCiAgICAgICAgTmUgPSBuZXcgUmVnRXhwKCIoXnxcXHMpIiArIEFlICsgIlxcUysiLCAiZyIpLA0KICAgICAgICBPZSA9IFsic2FuaXRpemUiLCAid2hpdGVMaXN0IiwgInNhbml0aXplRm4iXSwNCiAgICAgICAga2UgPSB7DQogICAgICAgICAgICBhbmltYXRpb246ICJib29sZWFuIiwNCiAgICAgICAgICAgIHRlbXBsYXRlOiAic3RyaW5nIiwNCiAgICAgICAgICAgIHRpdGxlOiAiKHN0cmluZ3xlbGVtZW50fGZ1bmN0aW9uKSIsDQogICAgICAgICAgICB0cmlnZ2VyOiAic3RyaW5nIiwNCiAgICAgICAgICAgIGRlbGF5OiAiKG51bWJlcnxvYmplY3QpIiwNCiAgICAgICAgICAgIGh0bWw6ICJib29sZWFuIiwNCiAgICAgICAgICAgIHNlbGVjdG9yOiAiKHN0cmluZ3xib29sZWFuKSIsDQogICAgICAgICAgICBwbGFjZW1lbnQ6ICIoc3RyaW5nfGZ1bmN0aW9uKSIsDQogICAgICAgICAgICBvZmZzZXQ6ICIobnVtYmVyfHN0cmluZ3xmdW5jdGlvbikiLA0KICAgICAgICAgICAgY29udGFpbmVyOiAiKHN0cmluZ3xlbGVtZW50fGJvb2xlYW4pIiwNCiAgICAgICAgICAgIGZhbGxiYWNrUGxhY2VtZW50OiAiKHN0cmluZ3xhcnJheSkiLA0KICAgICAgICAgICAgYm91bmRhcnk6ICIoc3RyaW5nfGVsZW1lbnQpIiwNCiAgICAgICAgICAgIHNhbml0aXplOiAiYm9vbGVhbiIsDQogICAgICAgICAgICBzYW5pdGl6ZUZuOiAiKG51bGx8ZnVuY3Rpb24pIiwNCiAgICAgICAgICAgIHdoaXRlTGlzdDogIm9iamVjdCINCiAgICAgICAgfSwNCiAgICAgICAgUGUgPSB7DQogICAgICAgICAgICBBVVRPOiAiYXV0byIsDQogICAgICAgICAgICBUT1A6ICJ0b3AiLA0KICAgICAgICAgICAgUklHSFQ6ICJyaWdodCIsDQogICAgICAgICAgICBCT1RUT006ICJib3R0b20iLA0KICAgICAgICAgICAgTEVGVDogImxlZnQiDQogICAgICAgIH0sDQogICAgICAgIExlID0gew0KICAgICAgICAgICAgYW5pbWF0aW9uOiAhMCwNCiAgICAgICAgICAgIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz0idG9vbHRpcCIgcm9sZT0idG9vbHRpcCI+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsDQogICAgICAgICAgICB0cmlnZ2VyOiAiaG92ZXIgZm9jdXMiLA0KICAgICAgICAgICAgdGl0bGU6ICIiLA0KICAgICAgICAgICAgZGVsYXk6IDAsDQogICAgICAgICAgICBodG1sOiAhMSwNCiAgICAgICAgICAgIHNlbGVjdG9yOiAhMSwNCiAgICAgICAgICAgIHBsYWNlbWVudDogInRvcCIsDQogICAgICAgICAgICBvZmZzZXQ6IDAsDQogICAgICAgICAgICBjb250YWluZXI6ICExLA0KICAgICAgICAgICAgZmFsbGJhY2tQbGFjZW1lbnQ6ICJmbGlwIiwNCiAgICAgICAgICAgIGJvdW5kYXJ5OiAic2Nyb2xsUGFyZW50IiwNCiAgICAgICAgICAgIHNhbml0aXplOiAhMCwNCiAgICAgICAgICAgIHNhbml0aXplRm46IG51bGwsDQogICAgICAgICAgICB3aGl0ZUxpc3Q6IEVlDQogICAgICAgIH0sDQogICAgICAgIGplID0gInNob3ciLA0KICAgICAgICBIZSA9ICJvdXQiLA0KICAgICAgICBSZSA9IHsNCiAgICAgICAgICAgIEhJREU6ICJoaWRlIiArIERlLA0KICAgICAgICAgICAgSElEREVOOiAiaGlkZGVuIiArIERlLA0KICAgICAgICAgICAgU0hPVzogInNob3ciICsgRGUsDQogICAgICAgICAgICBTSE9XTjogInNob3duIiArIERlLA0KICAgICAgICAgICAgSU5TRVJURUQ6ICJpbnNlcnRlZCIgKyBEZSwNCiAgICAgICAgICAgIENMSUNLOiAiY2xpY2siICsgRGUsDQogICAgICAgICAgICBGT0NVU0lOOiAiZm9jdXNpbiIgKyBEZSwNCiAgICAgICAgICAgIEZPQ1VTT1VUOiAiZm9jdXNvdXQiICsgRGUsDQogICAgICAgICAgICBNT1VTRUVOVEVSOiAibW91c2VlbnRlciIgKyBEZSwNCiAgICAgICAgICAgIE1PVVNFTEVBVkU6ICJtb3VzZWxlYXZlIiArIERlDQogICAgICAgIH0sDQogICAgICAgIHhlID0gImZhZGUiLA0KICAgICAgICBGZSA9ICJzaG93IiwNCiAgICAgICAgVWUgPSAiLnRvb2x0aXAtaW5uZXIiLA0KICAgICAgICBXZSA9ICIuYXJyb3ciLA0KICAgICAgICBxZSA9ICJob3ZlciIsDQogICAgICAgIE1lID0gImZvY3VzIiwNCiAgICAgICAgS2UgPSAiY2xpY2siLA0KICAgICAgICBRZSA9ICJtYW51YWwiLA0KICAgICAgICBCZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gaSh0LCBlKSB7DQogICAgICAgICAgICAgICAgaWYgKCJ1bmRlZmluZWQiID09IHR5cGVvZiB1KSB0aHJvdyBuZXcgVHlwZUVycm9yKCJCb290c3RyYXAncyB0b29sdGlwcyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnLykiKTsNCiAgICAgICAgICAgICAgICB0aGlzLl9pc0VuYWJsZWQgPSAhMCwgdGhpcy5fdGltZW91dCA9IDAsIHRoaXMuX2hvdmVyU3RhdGUgPSAiIiwgdGhpcy5fYWN0aXZlVHJpZ2dlciA9IHt9LCB0aGlzLl9wb3BwZXIgPSBudWxsLCB0aGlzLmVsZW1lbnQgPSB0LCB0aGlzLmNvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhlKSwgdGhpcy50aXAgPSBudWxsLCB0aGlzLl9zZXRMaXN0ZW5lcnMoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIHQgPSBpLnByb3RvdHlwZTsNCiAgICAgICAgICAgIHJldHVybiB0LmVuYWJsZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHRoaXMuX2lzRW5hYmxlZCA9ICEwDQogICAgICAgICAgICB9LCB0LmRpc2FibGUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl9pc0VuYWJsZWQgPSAhMQ0KICAgICAgICAgICAgfSwgdC50b2dnbGVFbmFibGVkID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdGhpcy5faXNFbmFibGVkID0gIXRoaXMuX2lzRW5hYmxlZA0KICAgICAgICAgICAgfSwgdC50b2dnbGUgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzRW5hYmxlZCkNCiAgICAgICAgICAgICAgICAgICAgaWYgKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuID0gZyh0LmN1cnJlbnRUYXJnZXQpLmRhdGEoZSk7DQogICAgICAgICAgICAgICAgICAgICAgICBuIHx8IChuID0gbmV3IHRoaXMuY29uc3RydWN0b3IodC5jdXJyZW50VGFyZ2V0LCB0aGlzLl9nZXREZWxlZ2F0ZUNvbmZpZygpKSwgZyh0LmN1cnJlbnRUYXJnZXQpLmRhdGEoZSwgbikpLCBuLl9hY3RpdmVUcmlnZ2VyLmNsaWNrID0gIW4uX2FjdGl2ZVRyaWdnZXIuY2xpY2ssIG4uX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKSA/IG4uX2VudGVyKG51bGwsIG4pIDogbi5fbGVhdmUobnVsbCwgbikNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnKHRoaXMuZ2V0VGlwRWxlbWVudCgpKS5oYXNDbGFzcyhGZSkpIHJldHVybiB2b2lkIHRoaXMuX2xlYXZlKG51bGwsIHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZW50ZXIobnVsbCwgdGhpcykNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgdC5kaXNwb3NlID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLCBnLnJlbW92ZURhdGEodGhpcy5lbGVtZW50LCB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZKSwgZyh0aGlzLmVsZW1lbnQpLm9mZih0aGlzLmNvbnN0cnVjdG9yLkVWRU5UX0tFWSksIGcodGhpcy5lbGVtZW50KS5jbG9zZXN0KCIubW9kYWwiKS5vZmYoImhpZGUuYnMubW9kYWwiKSwgdGhpcy50aXAgJiYgZyh0aGlzLnRpcCkucmVtb3ZlKCksIHRoaXMuX2lzRW5hYmxlZCA9IG51bGwsIHRoaXMuX3RpbWVvdXQgPSBudWxsLCB0aGlzLl9ob3ZlclN0YXRlID0gbnVsbCwgKHRoaXMuX2FjdGl2ZVRyaWdnZXIgPSBudWxsKSAhPT0gdGhpcy5fcG9wcGVyICYmIHRoaXMuX3BvcHBlci5kZXN0cm95KCksIHRoaXMuX3BvcHBlciA9IG51bGwsIHRoaXMuZWxlbWVudCA9IG51bGwsIHRoaXMuY29uZmlnID0gbnVsbCwgdGhpcy50aXAgPSBudWxsDQogICAgICAgICAgICB9LCB0LnNob3cgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXM7DQogICAgICAgICAgICAgICAgaWYgKCJub25lIiA9PT0gZyh0aGlzLmVsZW1lbnQpLmNzcygiZGlzcGxheSIpKSB0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSB1c2Ugc2hvdyBvbiB2aXNpYmxlIGVsZW1lbnRzIik7DQogICAgICAgICAgICAgICAgdmFyIHQgPSBnLkV2ZW50KHRoaXMuY29uc3RydWN0b3IuRXZlbnQuU0hPVyk7DQogICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNXaXRoQ29udGVudCgpICYmIHRoaXMuX2lzRW5hYmxlZCkgew0KICAgICAgICAgICAgICAgICAgICBnKHRoaXMuZWxlbWVudCkudHJpZ2dlcih0KTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBfLmZpbmRTaGFkb3dSb290KHRoaXMuZWxlbWVudCksDQogICAgICAgICAgICAgICAgICAgICAgICBpID0gZy5jb250YWlucyhudWxsICE9PSBuID8gbiA6IHRoaXMuZWxlbWVudC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgdGhpcy5lbGVtZW50KTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHQuaXNEZWZhdWx0UHJldmVudGVkKCkgfHwgIWkpIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSB0aGlzLmdldFRpcEVsZW1lbnQoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBfLmdldFVJRCh0aGlzLmNvbnN0cnVjdG9yLk5BTUUpOw0KICAgICAgICAgICAgICAgICAgICBvLnNldEF0dHJpYnV0ZSgiaWQiLCByKSwgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIsIHIpLCB0aGlzLnNldENvbnRlbnQoKSwgdGhpcy5jb25maWcuYW5pbWF0aW9uICYmIGcobykuYWRkQ2xhc3MoeGUpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgcyA9ICJmdW5jdGlvbiIgPT0gdHlwZW9mIHRoaXMuY29uZmlnLnBsYWNlbWVudCA/IHRoaXMuY29uZmlnLnBsYWNlbWVudC5jYWxsKHRoaXMsIG8sIHRoaXMuZWxlbWVudCkgOiB0aGlzLmNvbmZpZy5wbGFjZW1lbnQsDQogICAgICAgICAgICAgICAgICAgICAgICBhID0gdGhpcy5fZ2V0QXR0YWNobWVudChzKTsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRBdHRhY2htZW50Q2xhc3MoYSk7DQogICAgICAgICAgICAgICAgICAgIHZhciBsID0gdGhpcy5fZ2V0Q29udGFpbmVyKCk7DQogICAgICAgICAgICAgICAgICAgIGcobykuZGF0YSh0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZLCB0aGlzKSwgZy5jb250YWlucyh0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHRoaXMudGlwKSB8fCBnKG8pLmFwcGVuZFRvKGwpLCBnKHRoaXMuZWxlbWVudCkudHJpZ2dlcih0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LklOU0VSVEVEKSwgdGhpcy5fcG9wcGVyID0gbmV3IHUodGhpcy5lbGVtZW50LCBvLCB7DQogICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IGEsDQogICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllcnM6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMuX2dldE9mZnNldCgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsaXA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6IHRoaXMuY29uZmlnLmZhbGxiYWNrUGxhY2VtZW50DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdzogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiBXZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmVudE92ZXJmbG93OiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdW5kYXJpZXNFbGVtZW50OiB0aGlzLmNvbmZpZy5ib3VuZGFyeQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBvbkNyZWF0ZTogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQub3JpZ2luYWxQbGFjZW1lbnQgIT09IHQucGxhY2VtZW50ICYmIGUuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZSh0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG9uVXBkYXRlOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZSh0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KSwgZyhvKS5hZGRDbGFzcyhGZSksICJvbnRvdWNoc3RhcnQiIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBnKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub24oIm1vdXNlb3ZlciIsIG51bGwsIGcubm9vcCk7DQogICAgICAgICAgICAgICAgICAgIHZhciBjID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBlLmNvbmZpZy5hbmltYXRpb24gJiYgZS5fZml4VHJhbnNpdGlvbigpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBlLl9ob3ZlclN0YXRlOw0KICAgICAgICAgICAgICAgICAgICAgICAgZS5faG92ZXJTdGF0ZSA9IG51bGwsIGcoZS5lbGVtZW50KS50cmlnZ2VyKGUuY29uc3RydWN0b3IuRXZlbnQuU0hPV04pLCB0ID09PSBIZSAmJiBlLl9sZWF2ZShudWxsLCBlKQ0KICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAgICBpZiAoZyh0aGlzLnRpcCkuaGFzQ2xhc3MoeGUpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgaCA9IF8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy50aXApOw0KICAgICAgICAgICAgICAgICAgICAgICAgZyh0aGlzLnRpcCkub25lKF8uVFJBTlNJVElPTl9FTkQsIGMpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGgpDQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBjKCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB0LmhpZGUgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLA0KICAgICAgICAgICAgICAgICAgICBuID0gdGhpcy5nZXRUaXBFbGVtZW50KCksDQogICAgICAgICAgICAgICAgICAgIGkgPSBnLkV2ZW50KHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSElERSksDQogICAgICAgICAgICAgICAgICAgIG8gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGUuX2hvdmVyU3RhdGUgIT09IGplICYmIG4ucGFyZW50Tm9kZSAmJiBuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksIGUuX2NsZWFuVGlwQ2xhc3MoKSwgZS5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIpLCBnKGUuZWxlbWVudCkudHJpZ2dlcihlLmNvbnN0cnVjdG9yLkV2ZW50LkhJRERFTiksIG51bGwgIT09IGUuX3BvcHBlciAmJiBlLl9wb3BwZXIuZGVzdHJveSgpLCB0ICYmIHQoKQ0KICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgIGlmIChnKHRoaXMuZWxlbWVudCkudHJpZ2dlcihpKSwgIWkuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGcobikucmVtb3ZlQ2xhc3MoRmUpLCAib250b3VjaHN0YXJ0IiBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZyhkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigpLm9mZigibW91c2VvdmVyIiwgbnVsbCwgZy5ub29wKSwgdGhpcy5fYWN0aXZlVHJpZ2dlcltLZV0gPSAhMSwgdGhpcy5fYWN0aXZlVHJpZ2dlcltNZV0gPSAhMSwgdGhpcy5fYWN0aXZlVHJpZ2dlcltxZV0gPSAhMSwgZyh0aGlzLnRpcCkuaGFzQ2xhc3MoeGUpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgciA9IF8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQobik7DQogICAgICAgICAgICAgICAgICAgICAgICBnKG4pLm9uZShfLlRSQU5TSVRJT05fRU5ELCBvKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChyKQ0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgbygpOw0KICAgICAgICAgICAgICAgICAgICB0aGlzLl9ob3ZlclN0YXRlID0gIiINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB0LnVwZGF0ZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIG51bGwgIT09IHRoaXMuX3BvcHBlciAmJiB0aGlzLl9wb3BwZXIuc2NoZWR1bGVVcGRhdGUoKQ0KICAgICAgICAgICAgfSwgdC5pc1dpdGhDb250ZW50ID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5nZXRUaXRsZSgpKQ0KICAgICAgICAgICAgfSwgdC5hZGRBdHRhY2htZW50Q2xhc3MgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgZyh0aGlzLmdldFRpcEVsZW1lbnQoKSkuYWRkQ2xhc3MoQWUgKyAiLSIgKyB0KQ0KICAgICAgICAgICAgfSwgdC5nZXRUaXBFbGVtZW50ID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudGlwID0gdGhpcy50aXAgfHwgZyh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF0sIHRoaXMudGlwDQogICAgICAgICAgICB9LCB0LnNldENvbnRlbnQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMuZ2V0VGlwRWxlbWVudCgpOw0KICAgICAgICAgICAgICAgIHRoaXMuc2V0RWxlbWVudENvbnRlbnQoZyh0LnF1ZXJ5U2VsZWN0b3JBbGwoVWUpKSwgdGhpcy5nZXRUaXRsZSgpKSwgZyh0KS5yZW1vdmVDbGFzcyh4ZSArICIgIiArIEZlKQ0KICAgICAgICAgICAgfSwgdC5zZXRFbGVtZW50Q29udGVudCA9IGZ1bmN0aW9uKHQsIGUpIHsNCiAgICAgICAgICAgICAgICAib2JqZWN0IiAhPSB0eXBlb2YgZSB8fCAhZS5ub2RlVHlwZSAmJiAhZS5qcXVlcnkgPyB0aGlzLmNvbmZpZy5odG1sID8gKHRoaXMuY29uZmlnLnNhbml0aXplICYmIChlID0gU2UoZSwgdGhpcy5jb25maWcud2hpdGVMaXN0LCB0aGlzLmNvbmZpZy5zYW5pdGl6ZUZuKSksIHQuaHRtbChlKSkgOiB0LnRleHQoZSkgOiB0aGlzLmNvbmZpZy5odG1sID8gZyhlKS5wYXJlbnQoKS5pcyh0KSB8fCB0LmVtcHR5KCkuYXBwZW5kKGUpIDogdC50ZXh0KGcoZSkudGV4dCgpKQ0KICAgICAgICAgICAgfSwgdC5nZXRUaXRsZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC10aXRsZSIpOw0KICAgICAgICAgICAgICAgIHJldHVybiB0IHx8ICh0ID0gImZ1bmN0aW9uIiA9PSB0eXBlb2YgdGhpcy5jb25maWcudGl0bGUgPyB0aGlzLmNvbmZpZy50aXRsZS5jYWxsKHRoaXMuZWxlbWVudCkgOiB0aGlzLmNvbmZpZy50aXRsZSksIHQNCiAgICAgICAgICAgIH0sIHQuX2dldE9mZnNldCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcywNCiAgICAgICAgICAgICAgICAgICAgdCA9IHt9Ow0KICAgICAgICAgICAgICAgIHJldHVybiAiZnVuY3Rpb24iID09IHR5cGVvZiB0aGlzLmNvbmZpZy5vZmZzZXQgPyB0LmZuID0gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC5vZmZzZXRzID0gbCh7fSwgdC5vZmZzZXRzLCBlLmNvbmZpZy5vZmZzZXQodC5vZmZzZXRzLCBlLmVsZW1lbnQpIHx8IHt9KSwgdA0KICAgICAgICAgICAgICAgIH0gOiB0Lm9mZnNldCA9IHRoaXMuY29uZmlnLm9mZnNldCwgdA0KICAgICAgICAgICAgfSwgdC5fZ2V0Q29udGFpbmVyID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICExID09PSB0aGlzLmNvbmZpZy5jb250YWluZXIgPyBkb2N1bWVudC5ib2R5IDogXy5pc0VsZW1lbnQodGhpcy5jb25maWcuY29udGFpbmVyKSA/IGcodGhpcy5jb25maWcuY29udGFpbmVyKSA6IGcoZG9jdW1lbnQpLmZpbmQodGhpcy5jb25maWcuY29udGFpbmVyKQ0KICAgICAgICAgICAgfSwgdC5fZ2V0QXR0YWNobWVudCA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gUGVbdC50b1VwcGVyQ2FzZSgpXQ0KICAgICAgICAgICAgfSwgdC5fc2V0TGlzdGVuZXJzID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIGkgPSB0aGlzOw0KICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLnRyaWdnZXIuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCJjbGljayIgPT09IHQpIGcoaS5lbGVtZW50KS5vbihpLmNvbnN0cnVjdG9yLkV2ZW50LkNMSUNLLCBpLmNvbmZpZy5zZWxlY3RvciwgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkudG9nZ2xlKHQpDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0ICE9PSBRZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0ID09PSBxZSA/IGkuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VFTlRFUiA6IGkuY29uc3RydWN0b3IuRXZlbnQuRk9DVVNJTiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuID0gdCA9PT0gcWUgPyBpLmNvbnN0cnVjdG9yLkV2ZW50Lk1PVVNFTEVBVkUgOiBpLmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTT1VUOw0KICAgICAgICAgICAgICAgICAgICAgICAgZyhpLmVsZW1lbnQpLm9uKGUsIGkuY29uZmlnLnNlbGVjdG9yLCBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkuX2VudGVyKHQpDQogICAgICAgICAgICAgICAgICAgICAgICB9KS5vbihuLCBpLmNvbmZpZy5zZWxlY3RvciwgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpLl9sZWF2ZSh0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pLCBnKHRoaXMuZWxlbWVudCkuY2xvc2VzdCgiLm1vZGFsIikub24oImhpZGUuYnMubW9kYWwiLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgaS5lbGVtZW50ICYmIGkuaGlkZSgpDQogICAgICAgICAgICAgICAgfSksIHRoaXMuY29uZmlnLnNlbGVjdG9yID8gdGhpcy5jb25maWcgPSBsKHt9LCB0aGlzLmNvbmZpZywgew0KICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAibWFudWFsIiwNCiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6ICIiDQogICAgICAgICAgICAgICAgfSkgOiB0aGlzLl9maXhUaXRsZSgpDQogICAgICAgICAgICB9LCB0Ll9maXhUaXRsZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gdHlwZW9mIHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiKTsNCiAgICAgICAgICAgICAgICAodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgidGl0bGUiKSB8fCAic3RyaW5nIiAhPT0gdCkgJiYgKHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiLCB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpIHx8ICIiKSwgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgidGl0bGUiLCAiIikpDQogICAgICAgICAgICB9LCB0Ll9lbnRlciA9IGZ1bmN0aW9uKHQsIGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgbiA9IHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVk7DQogICAgICAgICAgICAgICAgKGUgPSBlIHx8IGcodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4pKSB8fCAoZSA9IG5ldyB0aGlzLmNvbnN0cnVjdG9yKHQuY3VycmVudFRhcmdldCwgdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksIGcodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4sIGUpKSwgdCAmJiAoZS5fYWN0aXZlVHJpZ2dlclsiZm9jdXNpbiIgPT09IHQudHlwZSA/IE1lIDogcWVdID0gITApLCBnKGUuZ2V0VGlwRWxlbWVudCgpKS5oYXNDbGFzcyhGZSkgfHwgZS5faG92ZXJTdGF0ZSA9PT0gamUgPyBlLl9ob3ZlclN0YXRlID0gamUgOiAoY2xlYXJUaW1lb3V0KGUuX3RpbWVvdXQpLCBlLl9ob3ZlclN0YXRlID0gamUsIGUuY29uZmlnLmRlbGF5ICYmIGUuY29uZmlnLmRlbGF5LnNob3cgPyBlLl90aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgZS5faG92ZXJTdGF0ZSA9PT0gamUgJiYgZS5zaG93KCkNCiAgICAgICAgICAgICAgICB9LCBlLmNvbmZpZy5kZWxheS5zaG93KSA6IGUuc2hvdygpKQ0KICAgICAgICAgICAgfSwgdC5fbGVhdmUgPSBmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOw0KICAgICAgICAgICAgICAgIChlID0gZSB8fCBnKHQuY3VycmVudFRhcmdldCkuZGF0YShuKSkgfHwgKGUgPSBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LmN1cnJlbnRUYXJnZXQsIHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLCBnKHQuY3VycmVudFRhcmdldCkuZGF0YShuLCBlKSksIHQgJiYgKGUuX2FjdGl2ZVRyaWdnZXJbImZvY3Vzb3V0IiA9PT0gdC50eXBlID8gTWUgOiBxZV0gPSAhMSksIGUuX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKSB8fCAoY2xlYXJUaW1lb3V0KGUuX3RpbWVvdXQpLCBlLl9ob3ZlclN0YXRlID0gSGUsIGUuY29uZmlnLmRlbGF5ICYmIGUuY29uZmlnLmRlbGF5LmhpZGUgPyBlLl90aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgZS5faG92ZXJTdGF0ZSA9PT0gSGUgJiYgZS5oaWRlKCkNCiAgICAgICAgICAgICAgICB9LCBlLmNvbmZpZy5kZWxheS5oaWRlKSA6IGUuaGlkZSgpKQ0KICAgICAgICAgICAgfSwgdC5faXNXaXRoQWN0aXZlVHJpZ2dlciA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGZvciAodmFyIHQgaW4gdGhpcy5fYWN0aXZlVHJpZ2dlcikNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZVRyaWdnZXJbdF0pIHJldHVybiAhMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gITENCiAgICAgICAgICAgIH0sIHQuX2dldENvbmZpZyA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IGcodGhpcy5lbGVtZW50KS5kYXRhKCk7DQogICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2goZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICAtMSAhPT0gT2UuaW5kZXhPZih0KSAmJiBkZWxldGUgZVt0XQ0KICAgICAgICAgICAgICAgIH0pLCAibnVtYmVyIiA9PSB0eXBlb2YodCA9IGwoe30sIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCwgZSwgIm9iamVjdCIgPT0gdHlwZW9mIHQgJiYgdCA/IHQgOiB7fSkpLmRlbGF5ICYmICh0LmRlbGF5ID0gew0KICAgICAgICAgICAgICAgICAgICBzaG93OiB0LmRlbGF5LA0KICAgICAgICAgICAgICAgICAgICBoaWRlOiB0LmRlbGF5DQogICAgICAgICAgICAgICAgfSksICJudW1iZXIiID09IHR5cGVvZiB0LnRpdGxlICYmICh0LnRpdGxlID0gdC50aXRsZS50b1N0cmluZygpKSwgIm51bWJlciIgPT0gdHlwZW9mIHQuY29udGVudCAmJiAodC5jb250ZW50ID0gdC5jb250ZW50LnRvU3RyaW5nKCkpLCBfLnR5cGVDaGVja0NvbmZpZyhiZSwgdCwgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSksIHQuc2FuaXRpemUgJiYgKHQudGVtcGxhdGUgPSBTZSh0LnRlbXBsYXRlLCB0LndoaXRlTGlzdCwgdC5zYW5pdGl6ZUZuKSksIHQNCiAgICAgICAgICAgIH0sIHQuX2dldERlbGVnYXRlQ29uZmlnID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIHQgPSB7fTsNCiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb25maWcpDQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGUgaW4gdGhpcy5jb25maWcpIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFtlXSAhPT0gdGhpcy5jb25maWdbZV0gJiYgKHRbZV0gPSB0aGlzLmNvbmZpZ1tlXSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIHQNCiAgICAgICAgICAgIH0sIHQuX2NsZWFuVGlwQ2xhc3MgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCA9IGcodGhpcy5nZXRUaXBFbGVtZW50KCkpLA0KICAgICAgICAgICAgICAgICAgICBlID0gdC5hdHRyKCJjbGFzcyIpLm1hdGNoKE5lKTsNCiAgICAgICAgICAgICAgICBudWxsICE9PSBlICYmIGUubGVuZ3RoICYmIHQucmVtb3ZlQ2xhc3MoZS5qb2luKCIiKSkNCiAgICAgICAgICAgIH0sIHQuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZSA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHQuaW5zdGFuY2U7DQogICAgICAgICAgICAgICAgdGhpcy50aXAgPSBlLnBvcHBlciwgdGhpcy5fY2xlYW5UaXBDbGFzcygpLCB0aGlzLmFkZEF0dGFjaG1lbnRDbGFzcyh0aGlzLl9nZXRBdHRhY2htZW50KHQucGxhY2VtZW50KSkNCiAgICAgICAgICAgIH0sIHQuX2ZpeFRyYW5zaXRpb24gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMuZ2V0VGlwRWxlbWVudCgpLA0KICAgICAgICAgICAgICAgICAgICBlID0gdGhpcy5jb25maWcuYW5pbWF0aW9uOw0KICAgICAgICAgICAgICAgIG51bGwgPT09IHQuZ2V0QXR0cmlidXRlKCJ4LXBsYWNlbWVudCIpICYmIChnKHQpLnJlbW92ZUNsYXNzKHhlKSwgdGhpcy5jb25maWcuYW5pbWF0aW9uID0gITEsIHRoaXMuaGlkZSgpLCB0aGlzLnNob3coKSwgdGhpcy5jb25maWcuYW5pbWF0aW9uID0gZSkNCiAgICAgICAgICAgIH0sIGkuX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uKG4pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGcodGhpcykuZGF0YShJZSksDQogICAgICAgICAgICAgICAgICAgICAgICBlID0gIm9iamVjdCIgPT0gdHlwZW9mIG4gJiYgbjsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCh0IHx8ICEvZGlzcG9zZXxoaWRlLy50ZXN0KG4pKSAmJiAodCB8fCAodCA9IG5ldyBpKHRoaXMsIGUpLCBnKHRoaXMpLmRhdGEoSWUsIHQpKSwgInN0cmluZyIgPT0gdHlwZW9mIG4pKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgPT0gdHlwZW9mIHRbbl0pIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJyArIG4gKyAnIicpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdFtuXSgpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwgcyhpLCBudWxsLCBbew0KICAgICAgICAgICAgICAgIGtleTogIlZFUlNJT04iLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiNC4zLjEiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogIkRlZmF1bHQiLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBMZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJOQU1FIiwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gYmUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiREFUQV9LRVkiLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBJZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJFdmVudCIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogIkVWRU5UX0tFWSIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogIkRlZmF1bHRUeXBlIiwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ga2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9XSksIGkNCiAgICAgICAgfSgpOw0KICAgIGcuZm5bYmVdID0gQmUuX2pRdWVyeUludGVyZmFjZSwgZy5mbltiZV0uQ29uc3RydWN0b3IgPSBCZSwgZy5mbltiZV0ubm9Db25mbGljdCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICByZXR1cm4gZy5mbltiZV0gPSB3ZSwgQmUuX2pRdWVyeUludGVyZmFjZQ0KICAgIH07DQogICAgdmFyIFZlID0gInBvcG92ZXIiLA0KICAgICAgICBZZSA9ICJicy5wb3BvdmVyIiwNCiAgICAgICAgemUgPSAiLiIgKyBZZSwNCiAgICAgICAgWGUgPSBnLmZuW1ZlXSwNCiAgICAgICAgJGUgPSAiYnMtcG9wb3ZlciIsDQogICAgICAgIEdlID0gbmV3IFJlZ0V4cCgiKF58XFxzKSIgKyAkZSArICJcXFMrIiwgImciKSwNCiAgICAgICAgSmUgPSBsKHt9LCBCZS5EZWZhdWx0LCB7DQogICAgICAgICAgICBwbGFjZW1lbnQ6ICJyaWdodCIsDQogICAgICAgICAgICB0cmlnZ2VyOiAiY2xpY2siLA0KICAgICAgICAgICAgY29udGVudDogIiIsDQogICAgICAgICAgICB0ZW1wbGF0ZTogJzxkaXYgY2xhc3M9InBvcG92ZXIiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48aDMgY2xhc3M9InBvcG92ZXItaGVhZGVyIj48L2gzPjxkaXYgY2xhc3M9InBvcG92ZXItYm9keSI+PC9kaXY+PC9kaXY+Jw0KICAgICAgICB9KSwNCiAgICAgICAgWmUgPSBsKHt9LCBCZS5EZWZhdWx0VHlwZSwgew0KICAgICAgICAgICAgY29udGVudDogIihzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbikiDQogICAgICAgIH0pLA0KICAgICAgICB0biA9ICJmYWRlIiwNCiAgICAgICAgZW4gPSAic2hvdyIsDQogICAgICAgIG5uID0gIi5wb3BvdmVyLWhlYWRlciIsDQogICAgICAgIG9uID0gIi5wb3BvdmVyLWJvZHkiLA0KICAgICAgICBybiA9IHsNCiAgICAgICAgICAgIEhJREU6ICJoaWRlIiArIHplLA0KICAgICAgICAgICAgSElEREVOOiAiaGlkZGVuIiArIHplLA0KICAgICAgICAgICAgU0hPVzogInNob3ciICsgemUsDQogICAgICAgICAgICBTSE9XTjogInNob3duIiArIHplLA0KICAgICAgICAgICAgSU5TRVJURUQ6ICJpbnNlcnRlZCIgKyB6ZSwNCiAgICAgICAgICAgIENMSUNLOiAiY2xpY2siICsgemUsDQogICAgICAgICAgICBGT0NVU0lOOiAiZm9jdXNpbiIgKyB6ZSwNCiAgICAgICAgICAgIEZPQ1VTT1VUOiAiZm9jdXNvdXQiICsgemUsDQogICAgICAgICAgICBNT1VTRUVOVEVSOiAibW91c2VlbnRlciIgKyB6ZSwNCiAgICAgICAgICAgIE1PVVNFTEVBVkU6ICJtb3VzZWxlYXZlIiArIHplDQogICAgICAgIH0sDQogICAgICAgIHNuID0gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGUsIG47DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIGkoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzDQogICAgICAgICAgICB9DQogICAgICAgICAgICBuID0gdCwgKGUgPSBpKS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKSwgKGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZSkuX19wcm90b19fID0gbjsNCiAgICAgICAgICAgIHZhciBvID0gaS5wcm90b3R5cGU7DQogICAgICAgICAgICByZXR1cm4gby5pc1dpdGhDb250ZW50ID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGl0bGUoKSB8fCB0aGlzLl9nZXRDb250ZW50KCkNCiAgICAgICAgICAgIH0sIG8uYWRkQXR0YWNobWVudENsYXNzID0gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgIGcodGhpcy5nZXRUaXBFbGVtZW50KCkpLmFkZENsYXNzKCRlICsgIi0iICsgdCkNCiAgICAgICAgICAgIH0sIG8uZ2V0VGlwRWxlbWVudCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRpcCA9IHRoaXMudGlwIHx8IGcodGhpcy5jb25maWcudGVtcGxhdGUpWzBdLCB0aGlzLnRpcA0KICAgICAgICAgICAgfSwgby5zZXRDb250ZW50ID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIHQgPSBnKHRoaXMuZ2V0VGlwRWxlbWVudCgpKTsNCiAgICAgICAgICAgICAgICB0aGlzLnNldEVsZW1lbnRDb250ZW50KHQuZmluZChubiksIHRoaXMuZ2V0VGl0bGUoKSk7DQogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLl9nZXRDb250ZW50KCk7DQogICAgICAgICAgICAgICAgImZ1bmN0aW9uIiA9PSB0eXBlb2YgZSAmJiAoZSA9IGUuY2FsbCh0aGlzLmVsZW1lbnQpKSwgdGhpcy5zZXRFbGVtZW50Q29udGVudCh0LmZpbmQob24pLCBlKSwgdC5yZW1vdmVDbGFzcyh0biArICIgIiArIGVuKQ0KICAgICAgICAgICAgfSwgby5fZ2V0Q29udGVudCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbnRlbnQiKSB8fCB0aGlzLmNvbmZpZy5jb250ZW50DQogICAgICAgICAgICB9LCBvLl9jbGVhblRpcENsYXNzID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIHQgPSBnKHRoaXMuZ2V0VGlwRWxlbWVudCgpKSwNCiAgICAgICAgICAgICAgICAgICAgZSA9IHQuYXR0cigiY2xhc3MiKS5tYXRjaChHZSk7DQogICAgICAgICAgICAgICAgbnVsbCAhPT0gZSAmJiAwIDwgZS5sZW5ndGggJiYgdC5yZW1vdmVDbGFzcyhlLmpvaW4oIiIpKQ0KICAgICAgICAgICAgfSwgaS5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24obikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZyh0aGlzKS5kYXRhKFllKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGUgPSAib2JqZWN0IiA9PSB0eXBlb2YgbiA/IG4gOiBudWxsOw0KICAgICAgICAgICAgICAgICAgICBpZiAoKHQgfHwgIS9kaXNwb3NlfGhpZGUvLnRlc3QobikpICYmICh0IHx8ICh0ID0gbmV3IGkodGhpcywgZSksIGcodGhpcykuZGF0YShZZSwgdCkpLCAic3RyaW5nIiA9PSB0eXBlb2YgbikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgidW5kZWZpbmVkIiA9PSB0eXBlb2YgdFtuXSkgdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInICsgbiArICciJyk7DQogICAgICAgICAgICAgICAgICAgICAgICB0W25dKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9LCBzKGksIG51bGwsIFt7DQogICAgICAgICAgICAgICAga2V5OiAiVkVSU0lPTiIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI0LjMuMSINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiRGVmYXVsdCIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEplDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogIk5BTUUiLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBWZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJEQVRBX0tFWSIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFllDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogIkV2ZW50IiwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcm4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiRVZFTlRfS0VZIiwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gemUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiRGVmYXVsdFR5cGUiLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBaZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH1dKSwgaQ0KICAgICAgICB9KEJlKTsNCiAgICBnLmZuW1ZlXSA9IHNuLl9qUXVlcnlJbnRlcmZhY2UsIGcuZm5bVmVdLkNvbnN0cnVjdG9yID0gc24sIGcuZm5bVmVdLm5vQ29uZmxpY3QgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgcmV0dXJuIGcuZm5bVmVdID0gWGUsIHNuLl9qUXVlcnlJbnRlcmZhY2UNCiAgICB9Ow0KICAgIHZhciBhbiA9ICJzY3JvbGxzcHkiLA0KICAgICAgICBsbiA9ICJicy5zY3JvbGxzcHkiLA0KICAgICAgICBjbiA9ICIuIiArIGxuLA0KICAgICAgICBobiA9IGcuZm5bYW5dLA0KICAgICAgICB1biA9IHsNCiAgICAgICAgICAgIG9mZnNldDogMTAsDQogICAgICAgICAgICBtZXRob2Q6ICJhdXRvIiwNCiAgICAgICAgICAgIHRhcmdldDogIiINCiAgICAgICAgfSwNCiAgICAgICAgZm4gPSB7DQogICAgICAgICAgICBvZmZzZXQ6ICJudW1iZXIiLA0KICAgICAgICAgICAgbWV0aG9kOiAic3RyaW5nIiwNCiAgICAgICAgICAgIHRhcmdldDogIihzdHJpbmd8ZWxlbWVudCkiDQogICAgICAgIH0sDQogICAgICAgIGRuID0gew0KICAgICAgICAgICAgQUNUSVZBVEU6ICJhY3RpdmF0ZSIgKyBjbiwNCiAgICAgICAgICAgIFNDUk9MTDogInNjcm9sbCIgKyBjbiwNCiAgICAgICAgICAgIExPQURfREFUQV9BUEk6ICJsb2FkIiArIGNuICsgIi5kYXRhLWFwaSINCiAgICAgICAgfSwNCiAgICAgICAgZ24gPSAiZHJvcGRvd24taXRlbSIsDQogICAgICAgIF9uID0gImFjdGl2ZSIsDQogICAgICAgIG1uID0gJ1tkYXRhLXNweT0ic2Nyb2xsIl0nLA0KICAgICAgICBwbiA9ICIubmF2LCAubGlzdC1ncm91cCIsDQogICAgICAgIHZuID0gIi5uYXYtbGluayIsDQogICAgICAgIHluID0gIi5uYXYtaXRlbSIsDQogICAgICAgIEVuID0gIi5saXN0LWdyb3VwLWl0ZW0iLA0KICAgICAgICBDbiA9ICIuZHJvcGRvd24iLA0KICAgICAgICBUbiA9ICIuZHJvcGRvd24taXRlbSIsDQogICAgICAgIFNuID0gIi5kcm9wZG93bi10b2dnbGUiLA0KICAgICAgICBibiA9ICJvZmZzZXQiLA0KICAgICAgICBJbiA9ICJwb3NpdGlvbiIsDQogICAgICAgIERuID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBuKHQsIGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgbiA9IHRoaXM7DQogICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudCA9IHQsIHRoaXMuX3Njcm9sbEVsZW1lbnQgPSAiQk9EWSIgPT09IHQudGFnTmFtZSA/IHdpbmRvdyA6IHQsIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhlKSwgdGhpcy5fc2VsZWN0b3IgPSB0aGlzLl9jb25maWcudGFyZ2V0ICsgIiAiICsgdm4gKyAiLCIgKyB0aGlzLl9jb25maWcudGFyZ2V0ICsgIiAiICsgRW4gKyAiLCIgKyB0aGlzLl9jb25maWcudGFyZ2V0ICsgIiAiICsgVG4sIHRoaXMuX29mZnNldHMgPSBbXSwgdGhpcy5fdGFyZ2V0cyA9IFtdLCB0aGlzLl9hY3RpdmVUYXJnZXQgPSBudWxsLCB0aGlzLl9zY3JvbGxIZWlnaHQgPSAwLCBnKHRoaXMuX3Njcm9sbEVsZW1lbnQpLm9uKGRuLlNDUk9MTCwgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbi5fcHJvY2Vzcyh0KQ0KICAgICAgICAgICAgICAgIH0pLCB0aGlzLnJlZnJlc2goKSwgdGhpcy5fcHJvY2VzcygpDQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgdCA9IG4ucHJvdG90eXBlOw0KICAgICAgICAgICAgcmV0dXJuIHQucmVmcmVzaCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcywNCiAgICAgICAgICAgICAgICAgICAgdCA9IHRoaXMuX3Njcm9sbEVsZW1lbnQgPT09IHRoaXMuX3Njcm9sbEVsZW1lbnQud2luZG93ID8gYm4gOiBJbiwNCiAgICAgICAgICAgICAgICAgICAgbyA9ICJhdXRvIiA9PT0gdGhpcy5fY29uZmlnLm1ldGhvZCA/IHQgOiB0aGlzLl9jb25maWcubWV0aG9kLA0KICAgICAgICAgICAgICAgICAgICByID0gbyA9PT0gSW4gPyB0aGlzLl9nZXRTY3JvbGxUb3AoKSA6IDA7DQogICAgICAgICAgICAgICAgdGhpcy5fb2Zmc2V0cyA9IFtdLCB0aGlzLl90YXJnZXRzID0gW10sIHRoaXMuX3Njcm9sbEhlaWdodCA9IHRoaXMuX2dldFNjcm9sbEhlaWdodCgpLCBbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5fc2VsZWN0b3IpKS5tYXAoZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZSwgbiA9IF8uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0KTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKG4gJiYgKGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKG4pKSwgZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkud2lkdGggfHwgaS5oZWlnaHQpIHJldHVybiBbZyhlKVtvXSgpLnRvcCArIHIsIG5dDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwNCiAgICAgICAgICAgICAgICB9KS5maWx0ZXIoZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdA0KICAgICAgICAgICAgICAgIH0pLnNvcnQoZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdFswXSAtIGVbMF0NCiAgICAgICAgICAgICAgICB9KS5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgZS5fb2Zmc2V0cy5wdXNoKHRbMF0pLCBlLl90YXJnZXRzLnB1c2godFsxXSkNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwgdC5kaXNwb3NlID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIGxuKSwgZyh0aGlzLl9zY3JvbGxFbGVtZW50KS5vZmYoY24pLCB0aGlzLl9lbGVtZW50ID0gbnVsbCwgdGhpcy5fc2Nyb2xsRWxlbWVudCA9IG51bGwsIHRoaXMuX2NvbmZpZyA9IG51bGwsIHRoaXMuX3NlbGVjdG9yID0gbnVsbCwgdGhpcy5fb2Zmc2V0cyA9IG51bGwsIHRoaXMuX3RhcmdldHMgPSBudWxsLCB0aGlzLl9hY3RpdmVUYXJnZXQgPSBudWxsLCB0aGlzLl9zY3JvbGxIZWlnaHQgPSBudWxsDQogICAgICAgICAgICB9LCB0Ll9nZXRDb25maWcgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgaWYgKCJzdHJpbmciICE9IHR5cGVvZih0ID0gbCh7fSwgdW4sICJvYmplY3QiID09IHR5cGVvZiB0ICYmIHQgPyB0IDoge30pKS50YXJnZXQpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBnKHQudGFyZ2V0KS5hdHRyKCJpZCIpOw0KICAgICAgICAgICAgICAgICAgICBlIHx8IChlID0gXy5nZXRVSUQoYW4pLCBnKHQudGFyZ2V0KS5hdHRyKCJpZCIsIGUpKSwgdC50YXJnZXQgPSAiIyIgKyBlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiBfLnR5cGVDaGVja0NvbmZpZyhhbiwgdCwgZm4pLCB0DQogICAgICAgICAgICB9LCB0Ll9nZXRTY3JvbGxUb3AgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gd2luZG93ID8gdGhpcy5fc2Nyb2xsRWxlbWVudC5wYWdlWU9mZnNldCA6IHRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsVG9wDQogICAgICAgICAgICB9LCB0Ll9nZXRTY3JvbGxIZWlnaHQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHQgfHwgTWF0aC5tYXgoZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpDQogICAgICAgICAgICB9LCB0Ll9nZXRPZmZzZXRIZWlnaHQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gd2luZG93ID8gd2luZG93LmlubmVySGVpZ2h0IDogdGhpcy5fc2Nyb2xsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQNCiAgICAgICAgICAgIH0sIHQuX3Byb2Nlc3MgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMuX2dldFNjcm9sbFRvcCgpICsgdGhpcy5fY29uZmlnLm9mZnNldCwNCiAgICAgICAgICAgICAgICAgICAgZSA9IHRoaXMuX2dldFNjcm9sbEhlaWdodCgpLA0KICAgICAgICAgICAgICAgICAgICBuID0gdGhpcy5fY29uZmlnLm9mZnNldCArIGUgLSB0aGlzLl9nZXRPZmZzZXRIZWlnaHQoKTsNCiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2Nyb2xsSGVpZ2h0ICE9PSBlICYmIHRoaXMucmVmcmVzaCgpLCBuIDw9IHQpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSB0aGlzLl90YXJnZXRzW3RoaXMuX3RhcmdldHMubGVuZ3RoIC0gMV07DQogICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVRhcmdldCAhPT0gaSAmJiB0aGlzLl9hY3RpdmF0ZShpKQ0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9hY3RpdmVUYXJnZXQgJiYgdCA8IHRoaXMuX29mZnNldHNbMF0gJiYgMCA8IHRoaXMuX29mZnNldHNbMF0pIHJldHVybiB0aGlzLl9hY3RpdmVUYXJnZXQgPSBudWxsLCB2b2lkIHRoaXMuX2NsZWFyKCk7DQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIG8gPSB0aGlzLl9vZmZzZXRzLmxlbmd0aDsgby0tOykgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWN0aXZlVGFyZ2V0ICE9PSB0aGlzLl90YXJnZXRzW29dICYmIHQgPj0gdGhpcy5fb2Zmc2V0c1tvXSAmJiAoInVuZGVmaW5lZCIgPT0gdHlwZW9mIHRoaXMuX29mZnNldHNbbyArIDFdIHx8IHQgPCB0aGlzLl9vZmZzZXRzW28gKyAxXSkgJiYgdGhpcy5fYWN0aXZhdGUodGhpcy5fdGFyZ2V0c1tvXSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHQuX2FjdGl2YXRlID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVRhcmdldCA9IGUsIHRoaXMuX2NsZWFyKCk7DQogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLl9zZWxlY3Rvci5zcGxpdCgiLCIpLm1hcChmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdCArICdbZGF0YS10YXJnZXQ9IicgKyBlICsgJyJdLCcgKyB0ICsgJ1tocmVmPSInICsgZSArICciXScNCiAgICAgICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgICAgIG4gPSBnKFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0LmpvaW4oIiwiKSkpKTsNCiAgICAgICAgICAgICAgICBuLmhhc0NsYXNzKGduKSA/IChuLmNsb3Nlc3QoQ24pLmZpbmQoU24pLmFkZENsYXNzKF9uKSwgbi5hZGRDbGFzcyhfbikpIDogKG4uYWRkQ2xhc3MoX24pLCBuLnBhcmVudHMocG4pLnByZXYodm4gKyAiLCAiICsgRW4pLmFkZENsYXNzKF9uKSwgbi5wYXJlbnRzKHBuKS5wcmV2KHluKS5jaGlsZHJlbih2bikuYWRkQ2xhc3MoX24pKSwgZyh0aGlzLl9zY3JvbGxFbGVtZW50KS50cmlnZ2VyKGRuLkFDVElWQVRFLCB7DQogICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IGUNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwgdC5fY2xlYXIgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5fc2VsZWN0b3IpKS5maWx0ZXIoZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC5jbGFzc0xpc3QuY29udGFpbnMoX24pDQogICAgICAgICAgICAgICAgfSkuZm9yRWFjaChmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0LmNsYXNzTGlzdC5yZW1vdmUoX24pDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0sIG4uX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGcodGhpcykuZGF0YShsbik7DQogICAgICAgICAgICAgICAgICAgIGlmICh0IHx8ICh0ID0gbmV3IG4odGhpcywgIm9iamVjdCIgPT0gdHlwZW9mIGUgJiYgZSksIGcodGhpcykuZGF0YShsbiwgdCkpLCAic3RyaW5nIiA9PSB0eXBlb2YgZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCJ1bmRlZmluZWQiID09IHR5cGVvZiB0W2VdKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicgKyBlICsgJyInKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRbZV0oKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0sIHMobiwgbnVsbCwgW3sNCiAgICAgICAgICAgICAgICBrZXk6ICJWRVJTSU9OIiwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjQuMy4xIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJEZWZhdWx0IiwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9XSksIG4NCiAgICAgICAgfSgpOw0KICAgIGcod2luZG93KS5vbihkbi5MT0FEX0RBVEFfQVBJLCBmdW5jdGlvbigpIHsNCiAgICAgICAgZm9yICh2YXIgdCA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChtbikpLCBlID0gdC5sZW5ndGg7IGUtLTspIHsNCiAgICAgICAgICAgIHZhciBuID0gZyh0W2VdKTsNCiAgICAgICAgICAgIERuLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChuLCBuLmRhdGEoKSkNCiAgICAgICAgfQ0KICAgIH0pLCBnLmZuW2FuXSA9IERuLl9qUXVlcnlJbnRlcmZhY2UsIGcuZm5bYW5dLkNvbnN0cnVjdG9yID0gRG4sIGcuZm5bYW5dLm5vQ29uZmxpY3QgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgcmV0dXJuIGcuZm5bYW5dID0gaG4sIERuLl9qUXVlcnlJbnRlcmZhY2UNCiAgICB9Ow0KICAgIHZhciB3biA9ICJicy50YWIiLA0KICAgICAgICBBbiA9ICIuIiArIHduLA0KICAgICAgICBObiA9IGcuZm4udGFiLA0KICAgICAgICBPbiA9IHsNCiAgICAgICAgICAgIEhJREU6ICJoaWRlIiArIEFuLA0KICAgICAgICAgICAgSElEREVOOiAiaGlkZGVuIiArIEFuLA0KICAgICAgICAgICAgU0hPVzogInNob3ciICsgQW4sDQogICAgICAgICAgICBTSE9XTjogInNob3duIiArIEFuLA0KICAgICAgICAgICAgQ0xJQ0tfREFUQV9BUEk6ICJjbGljayIgKyBBbiArICIuZGF0YS1hcGkiDQogICAgICAgIH0sDQogICAgICAgIGtuID0gImRyb3Bkb3duLW1lbnUiLA0KICAgICAgICBQbiA9ICJhY3RpdmUiLA0KICAgICAgICBMbiA9ICJkaXNhYmxlZCIsDQogICAgICAgIGpuID0gImZhZGUiLA0KICAgICAgICBIbiA9ICJzaG93IiwNCiAgICAgICAgUm4gPSAiLmRyb3Bkb3duIiwNCiAgICAgICAgeG4gPSAiLm5hdiwgLmxpc3QtZ3JvdXAiLA0KICAgICAgICBGbiA9ICIuYWN0aXZlIiwNCiAgICAgICAgVW4gPSAiPiBsaSA+IC5hY3RpdmUiLA0KICAgICAgICBXbiA9ICdbZGF0YS10b2dnbGU9InRhYiJdLCBbZGF0YS10b2dnbGU9InBpbGwiXSwgW2RhdGEtdG9nZ2xlPSJsaXN0Il0nLA0KICAgICAgICBxbiA9ICIuZHJvcGRvd24tdG9nZ2xlIiwNCiAgICAgICAgTW4gPSAiPiAuZHJvcGRvd24tbWVudSAuYWN0aXZlIiwNCiAgICAgICAgS24gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGkodCkgew0KICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQgPSB0DQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgdCA9IGkucHJvdG90eXBlOw0KICAgICAgICAgICAgcmV0dXJuIHQuc2hvdyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBuID0gdGhpczsNCiAgICAgICAgICAgICAgICBpZiAoISh0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUgJiYgdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSAmJiBnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKFBuKSB8fCBnKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKExuKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHQsIGksIGUgPSBnKHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoeG4pWzBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgbyA9IF8uZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByID0gIlVMIiA9PT0gZS5ub2RlTmFtZSB8fCAiT0wiID09PSBlLm5vZGVOYW1lID8gVW4gOiBGbjsNCiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAoaSA9IGcubWFrZUFycmF5KGcoZSkuZmluZChyKSkpW2kubGVuZ3RoIC0gMV0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB2YXIgcyA9IGcuRXZlbnQoT24uSElERSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IHRoaXMuX2VsZW1lbnQNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgICAgICAgICAgICAgYSA9IGcuRXZlbnQoT24uU0hPVywgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IGkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICBpZiAoaSAmJiBnKGkpLnRyaWdnZXIocyksIGcodGhpcy5fZWxlbWVudCkudHJpZ2dlcihhKSwgIWEuaXNEZWZhdWx0UHJldmVudGVkKCkgJiYgIXMuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIG8gJiYgKHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKG8pKSwgdGhpcy5fYWN0aXZhdGUodGhpcy5fZWxlbWVudCwgZSk7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZy5FdmVudChPbi5ISURERU4sIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IG4uX2VsZW1lbnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgPSBnLkV2ZW50KE9uLlNIT1dOLCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkVGFyZ2V0OiBpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcoaSkudHJpZ2dlcih0KSwgZyhuLl9lbGVtZW50KS50cmlnZ2VyKGUpDQogICAgICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAgICAgICAgdCA/IHRoaXMuX2FjdGl2YXRlKHQsIHQucGFyZW50Tm9kZSwgbCkgOiBsKCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHQuZGlzcG9zZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGcucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCB3biksIHRoaXMuX2VsZW1lbnQgPSBudWxsDQogICAgICAgICAgICB9LCB0Ll9hY3RpdmF0ZSA9IGZ1bmN0aW9uKHQsIGUsIG4pIHsNCiAgICAgICAgICAgICAgICB2YXIgaSA9IHRoaXMsDQogICAgICAgICAgICAgICAgICAgIG8gPSAoIWUgfHwgIlVMIiAhPT0gZS5ub2RlTmFtZSAmJiAiT0wiICE9PSBlLm5vZGVOYW1lID8gZyhlKS5jaGlsZHJlbihGbikgOiBnKGUpLmZpbmQoVW4pKVswXSwNCiAgICAgICAgICAgICAgICAgICAgciA9IG4gJiYgbyAmJiBnKG8pLmhhc0NsYXNzKGpuKSwNCiAgICAgICAgICAgICAgICAgICAgcyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkuX3RyYW5zaXRpb25Db21wbGV0ZSh0LCBvLCBuKQ0KICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgIGlmIChvICYmIHIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSBfLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KG8pOw0KICAgICAgICAgICAgICAgICAgICBnKG8pLnJlbW92ZUNsYXNzKEhuKS5vbmUoXy5UUkFOU0lUSU9OX0VORCwgcykuZW11bGF0ZVRyYW5zaXRpb25FbmQoYSkNCiAgICAgICAgICAgICAgICB9IGVsc2UgcygpDQogICAgICAgICAgICB9LCB0Ll90cmFuc2l0aW9uQ29tcGxldGUgPSBmdW5jdGlvbih0LCBlLCBuKSB7DQogICAgICAgICAgICAgICAgaWYgKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgZyhlKS5yZW1vdmVDbGFzcyhQbik7DQogICAgICAgICAgICAgICAgICAgIHZhciBpID0gZyhlLnBhcmVudE5vZGUpLmZpbmQoTW4pWzBdOw0KICAgICAgICAgICAgICAgICAgICBpICYmIGcoaSkucmVtb3ZlQ2xhc3MoUG4pLCAidGFiIiA9PT0gZS5nZXRBdHRyaWJ1dGUoInJvbGUiKSAmJiBlLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsICExKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoZyh0KS5hZGRDbGFzcyhQbiksICJ0YWIiID09PSB0LmdldEF0dHJpYnV0ZSgicm9sZSIpICYmIHQuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwgITApLCBfLnJlZmxvdyh0KSwgdC5jbGFzc0xpc3QuY29udGFpbnMoam4pICYmIHQuY2xhc3NMaXN0LmFkZChIbiksIHQucGFyZW50Tm9kZSAmJiBnKHQucGFyZW50Tm9kZSkuaGFzQ2xhc3Moa24pKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBvID0gZyh0KS5jbG9zZXN0KFJuKVswXTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKG8pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByID0gW10uc2xpY2UuY2FsbChvLnF1ZXJ5U2VsZWN0b3JBbGwocW4pKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGcocikuYWRkQ2xhc3MoUG4pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgdC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCAhMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgbiAmJiBuKCkNCiAgICAgICAgICAgIH0sIGkuX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uKG4pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGcodGhpcyksDQogICAgICAgICAgICAgICAgICAgICAgICBlID0gdC5kYXRhKHduKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGUgfHwgKGUgPSBuZXcgaSh0aGlzKSwgdC5kYXRhKHduLCBlKSksICJzdHJpbmciID09IHR5cGVvZiBuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgPT0gdHlwZW9mIGVbbl0pIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJyArIG4gKyAnIicpOw0KICAgICAgICAgICAgICAgICAgICAgICAgZVtuXSgpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwgcyhpLCBudWxsLCBbew0KICAgICAgICAgICAgICAgIGtleTogIlZFUlNJT04iLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiNC4zLjEiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfV0pLCBpDQogICAgICAgIH0oKTsNCiAgICBnKGRvY3VtZW50KS5vbihPbi5DTElDS19EQVRBX0FQSSwgV24sIGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgdC5wcmV2ZW50RGVmYXVsdCgpLCBLbi5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoZyh0aGlzKSwgInNob3ciKQ0KICAgIH0pLCBnLmZuLnRhYiA9IEtuLl9qUXVlcnlJbnRlcmZhY2UsIGcuZm4udGFiLkNvbnN0cnVjdG9yID0gS24sIGcuZm4udGFiLm5vQ29uZmxpY3QgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgcmV0dXJuIGcuZm4udGFiID0gTm4sIEtuLl9qUXVlcnlJbnRlcmZhY2UNCiAgICB9Ow0KICAgIHZhciBRbiA9ICJ0b2FzdCIsDQogICAgICAgIEJuID0gImJzLnRvYXN0IiwNCiAgICAgICAgVm4gPSAiLiIgKyBCbiwNCiAgICAgICAgWW4gPSBnLmZuW1FuXSwNCiAgICAgICAgem4gPSB7DQogICAgICAgICAgICBDTElDS19ESVNNSVNTOiAiY2xpY2suZGlzbWlzcyIgKyBWbiwNCiAgICAgICAgICAgIEhJREU6ICJoaWRlIiArIFZuLA0KICAgICAgICAgICAgSElEREVOOiAiaGlkZGVuIiArIFZuLA0KICAgICAgICAgICAgU0hPVzogInNob3ciICsgVm4sDQogICAgICAgICAgICBTSE9XTjogInNob3duIiArIFZuDQogICAgICAgIH0sDQogICAgICAgIFhuID0gImZhZGUiLA0KICAgICAgICAkbiA9ICJoaWRlIiwNCiAgICAgICAgR24gPSAic2hvdyIsDQogICAgICAgIEpuID0gInNob3dpbmciLA0KICAgICAgICBabiA9IHsNCiAgICAgICAgICAgIGFuaW1hdGlvbjogImJvb2xlYW4iLA0KICAgICAgICAgICAgYXV0b2hpZGU6ICJib29sZWFuIiwNCiAgICAgICAgICAgIGRlbGF5OiAibnVtYmVyIg0KICAgICAgICB9LA0KICAgICAgICB0aSA9IHsNCiAgICAgICAgICAgIGFuaW1hdGlvbjogITAsDQogICAgICAgICAgICBhdXRvaGlkZTogITAsDQogICAgICAgICAgICBkZWxheTogNTAwDQogICAgICAgIH0sDQogICAgICAgIGVpID0gJ1tkYXRhLWRpc21pc3M9InRvYXN0Il0nLA0KICAgICAgICBuaSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gaSh0LCBlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudCA9IHQsIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhlKSwgdGhpcy5fdGltZW91dCA9IG51bGwsIHRoaXMuX3NldExpc3RlbmVycygpDQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgdCA9IGkucHJvdG90eXBlOw0KICAgICAgICAgICAgcmV0dXJuIHQuc2hvdyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpczsNCiAgICAgICAgICAgICAgICBnKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoem4uU0hPVyksIHRoaXMuX2NvbmZpZy5hbmltYXRpb24gJiYgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKFhuKTsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB0Ll9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoSm4pLCB0Ll9lbGVtZW50LmNsYXNzTGlzdC5hZGQoR24pLCBnKHQuX2VsZW1lbnQpLnRyaWdnZXIoem4uU0hPV04pLCB0Ll9jb25maWcuYXV0b2hpZGUgJiYgdC5oaWRlKCkNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgIGlmICh0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJG4pLCB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoSm4pLCB0aGlzLl9jb25maWcuYW5pbWF0aW9uKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBuID0gXy5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTsNCiAgICAgICAgICAgICAgICAgICAgZyh0aGlzLl9lbGVtZW50KS5vbmUoXy5UUkFOU0lUSU9OX0VORCwgZSkuZW11bGF0ZVRyYW5zaXRpb25FbmQobikNCiAgICAgICAgICAgICAgICB9IGVsc2UgZSgpDQogICAgICAgICAgICB9LCB0LmhpZGUgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzOw0KICAgICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKEduKSAmJiAoZyh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHpuLkhJREUpLCB0ID8gdGhpcy5fY2xvc2UoKSA6IHRoaXMuX3RpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBlLl9jbG9zZSgpDQogICAgICAgICAgICAgICAgfSwgdGhpcy5fY29uZmlnLmRlbGF5KSkNCiAgICAgICAgICAgIH0sIHQuZGlzcG9zZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSwgdGhpcy5fdGltZW91dCA9IG51bGwsIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKEduKSAmJiB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoR24pLCBnKHRoaXMuX2VsZW1lbnQpLm9mZih6bi5DTElDS19ESVNNSVNTKSwgZy5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIEJuKSwgdGhpcy5fZWxlbWVudCA9IG51bGwsIHRoaXMuX2NvbmZpZyA9IG51bGwNCiAgICAgICAgICAgIH0sIHQuX2dldENvbmZpZyA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdCA9IGwoe30sIHRpLCBnKHRoaXMuX2VsZW1lbnQpLmRhdGEoKSwgIm9iamVjdCIgPT0gdHlwZW9mIHQgJiYgdCA/IHQgOiB7fSksIF8udHlwZUNoZWNrQ29uZmlnKFFuLCB0LCB0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSwgdA0KICAgICAgICAgICAgfSwgdC5fc2V0TGlzdGVuZXJzID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzOw0KICAgICAgICAgICAgICAgIGcodGhpcy5fZWxlbWVudCkub24oem4uQ0xJQ0tfRElTTUlTUywgZWksIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdC5oaWRlKCEwKQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9LCB0Ll9jbG9zZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcywNCiAgICAgICAgICAgICAgICAgICAgZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdC5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCRuKSwgZyh0Ll9lbGVtZW50KS50cmlnZ2VyKHpuLkhJRERFTikNCiAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICBpZiAodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKEduKSwgdGhpcy5fY29uZmlnLmFuaW1hdGlvbikgew0KICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IF8uZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7DQogICAgICAgICAgICAgICAgICAgIGcodGhpcy5fZWxlbWVudCkub25lKF8uVFJBTlNJVElPTl9FTkQsIGUpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKG4pDQogICAgICAgICAgICAgICAgfSBlbHNlIGUoKQ0KICAgICAgICAgICAgfSwgaS5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24obikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZyh0aGlzKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGUgPSB0LmRhdGEoQm4pOw0KICAgICAgICAgICAgICAgICAgICBpZiAoZSB8fCAoZSA9IG5ldyBpKHRoaXMsICJvYmplY3QiID09IHR5cGVvZiBuICYmIG4pLCB0LmRhdGEoQm4sIGUpKSwgInN0cmluZyIgPT0gdHlwZW9mIG4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgidW5kZWZpbmVkIiA9PSB0eXBlb2YgZVtuXSkgdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInICsgbiArICciJyk7DQogICAgICAgICAgICAgICAgICAgICAgICBlW25dKHRoaXMpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwgcyhpLCBudWxsLCBbew0KICAgICAgICAgICAgICAgIGtleTogIlZFUlNJT04iLA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiNC4zLjEiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogIkRlZmF1bHRUeXBlIiwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gWm4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiRGVmYXVsdCIsDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfV0pLCBpDQogICAgICAgIH0oKTsNCiAgICBnLmZuW1FuXSA9IG5pLl9qUXVlcnlJbnRlcmZhY2UsIGcuZm5bUW5dLkNvbnN0cnVjdG9yID0gbmksIGcuZm5bUW5dLm5vQ29uZmxpY3QgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiBnLmZuW1FuXSA9IFluLCBuaS5falF1ZXJ5SW50ZXJmYWNlDQogICAgICAgIH0sDQogICAgICAgIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKCJ1bmRlZmluZWQiID09IHR5cGVvZiBnKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJCb290c3RyYXAncyBKYXZhU2NyaXB0IHJlcXVpcmVzIGpRdWVyeS4galF1ZXJ5IG11c3QgYmUgaW5jbHVkZWQgYmVmb3JlIEJvb3RzdHJhcCdzIEphdmFTY3JpcHQuIik7DQogICAgICAgICAgICB2YXIgdCA9IGcuZm4uanF1ZXJ5LnNwbGl0KCIgIilbMF0uc3BsaXQoIi4iKTsNCiAgICAgICAgICAgIGlmICh0WzBdIDwgMiAmJiB0WzFdIDwgOSB8fCAxID09PSB0WzBdICYmIDkgPT09IHRbMV0gJiYgdFsyXSA8IDEgfHwgNCA8PSB0WzBdKSB0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgYXQgbGVhc3QgalF1ZXJ5IHYxLjkuMSBidXQgbGVzcyB0aGFuIHY0LjAuMCIpDQogICAgICAgIH0oKSwgdC5VdGlsID0gXywgdC5BbGVydCA9IHAsIHQuQnV0dG9uID0gUCwgdC5DYXJvdXNlbCA9IGx0LCB0LkNvbGxhcHNlID0gYnQsIHQuRHJvcGRvd24gPSBKdCwgdC5Nb2RhbCA9IHZlLCB0LlBvcG92ZXIgPSBzbiwgdC5TY3JvbGxzcHkgPSBEbiwgdC5UYWIgPSBLbiwgdC5Ub2FzdCA9IG5pLCB0LlRvb2x0aXAgPSBCZSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsICJfX2VzTW9kdWxlIiwgew0KICAgICAgICAgICAgdmFsdWU6ICEwDQogICAgICAgIH0pDQp9KTs="}},"time_used":488,"timings":{"blocked":393,"dns":0,"connect":0,"send":0,"wait":93,"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":"huobiget.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/52396.ed76caf2ffe014460ba6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.250Z","timestamp":1785136901250,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52396.ed76caf2ffe014460ba6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-37a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 411622000ca7c1dabb72b519f4d1c6c1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":890,"size_decoded":1183,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (890), with no line terminators","md5":"4ea5d0b6056033b75774e42fe5d68067","sha1":"748282414e5e498bf7540bb4c9a4871cb5ace801","sha256":"650d170333b85bddb948d847ac00379ef6939e1848f4e0a777b76a0413292927","sha512":"ff316d259a766190a4f00a012288d5790d1e7f304f11afb9f4d5c3e82f90cac799c49c72f2c77633bf15cf4a3b3f2573ec1b42426e65a0c959dbbdf448902c91","ssdeep":"","tlshash":"5b117aa5f54996a7f83b693b0bd89b4f1128e0055e075f69ea26b130458b3fa30b13d4","first_seen":"2026-07-17T03:30:51.146413Z","last_seen":"2026-08-10T05:01:44.14121Z","times_seen":310,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTEtQODp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1MS1A4OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTEtQODp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxLUDg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LmRpYWxvZy1HSFVINl8xWHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoyODBweDt0ZXh0LWFsaWduOnN0YXJ0fS5kaWFsb2ctR0hVSDZfMVgucm91bmRlZC1HSFVINl8xWHtib3JkZXItcmFkaXVzOjZweH0uZGlhbG9nLUdIVUg2XzFYLnNoYWRvd2VkLUdIVUg2XzFYe2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5kaWFsb2ctR0hVSDZfMVguZnVsbHNjcmVlbi1HSFVINl8xWHtib3R0b206MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5kaWFsb2ctR0hVSDZfMVguZGFya2VyLUdIVUg2XzFYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtTEtQOCl9LmJhY2tkcm9wLUdIVUg2XzFYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzEtTEtQOCk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9zaXRpb246Zml4ZWQ7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7ei1pbmRleDotMX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89044.122886591db3fa6fdc03.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.315Z","timestamp":1785136901315,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89044.122886591db3fa6fdc03.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-20da\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8ffd361e773cfdcf1132a0611c4261a3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8410,"size_decoded":1653,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8410), with no line terminators","md5":"d899c42dfb29ba1d8f8fc0f1e2b5cc00","sha1":"6ce7cc3eb3c8a94d03f0c12ff43b89ab13091bed","sha256":"5a3314d5c89727aff3426af5332b4c993aa516924153a2e614a7c9f48388e29c","sha512":"30c065a6fb6b82f89ea006b3367e4933eab1a6dbc5d5e2718058a7b0687755d5138f9e34c64646365a7b5d7503ec191016cd0ca012194d8ddfe911ab16a5ba75","ssdeep":"192:WMfEuIn0/i43AoFOMfEuIn0/i43AoFUaaQloN:WMQnA3AMQnA3maaQloN","tlshash":"f502e79de75851768ada97ae337d966c43166543ff008aa97f31c00210c6ff2ed8ba0d","first_seen":"2026-07-22T16:00:00.399176Z","last_seen":"2026-07-28T06:17:53.532765Z","times_seen":113,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjUwKTstLV8xLVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1fMi1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzMtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV80LVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1fNS1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzYtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV83LVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV84LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV85LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzEwLVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMTEtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8xMi1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8xMy1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8xNC1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xNS1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xNi1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzE3LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTgtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTktWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMjAtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yMS1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMjItWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzIzLVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzI0LVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMjUtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8yNi1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8yNy1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8yOC1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8yOS1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8zMC1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzMxLVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMzItWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMzMtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMzQtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8zNS1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMzYtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzM3LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzM4LVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMzktWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV80MC1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV80MS1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV80Mi1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV80My1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV80NC1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzQ1LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fNDYtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fNDctWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzEtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjUwKTstLV8yLVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fMy1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzQtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV81LVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1fNi1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzctWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzgtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzktWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMTAtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8xMS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzEyLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzEzLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzE0LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzE1LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzE2LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fMTctWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV8xOC1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV8xOS1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKTstLV8yMC1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzIxLVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8yMi1YRHZSOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMjMtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMjQtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8yNS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzI2LVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzI3LVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzI4LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzI5LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzMwLVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fMzEtWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV8zMi1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV8zMy1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKTstLV8zNC1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzM1LVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zNi1YRHZSOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMzctWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMzgtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8zOS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzQwLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzQxLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzQyLVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzQzLVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzQ0LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fNDUtWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV80Ni1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV80Ny1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKX0ud3JhcC1ZWnc4UlhlaXtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZX0udWlNYXJrZXItWVp3OFJYZWl7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLV8wLVhEdlIpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxNXB4fS51aU1hcmtlci1ZWnc4UlhlaSBzdmd7aGVpZ2h0OjEzcHg7d2lkdGg6MTJweH0udWlNYXJrZXItWVp3OFJYZWkgc3ZnOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLnJlZC1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMzUtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5ibHVlLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0udWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzM4LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM5LVhEdlIpfX0udWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLm9yYW5nZS1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDEtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5wdXJwbGUtWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQyLVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQ0LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDUtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLnBpbmstWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ3LVhEdlIpfS51aU1hcmtlci1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMy1YRHZSKX19LnVpTWFya2VyX19zbWFsbC1ZWnc4UlhlaXt3aWR0aDoxMnB4fS51aU1hcmtlcl9fc21hbGwtWVp3OFJYZWkgc3Zne2hlaWdodDoxMnB4fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMS1YRHZSKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLnJlZC1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMzUtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5ibHVlLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzM4LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM5LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLm9yYW5nZS1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDEtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5wdXJwbGUtWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQyLVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQ0LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDUtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLnBpbmstWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ3LVhEdlIpfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNC1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzItWER2Uil9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV8zNS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkuYmx1ZS1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMzYtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC51aU1hcmtlci1ZWnc4UlhlaS5ncmVlbi1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMzgtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmdyZWVuLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV8zOS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80MS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpe2NvbG9yOnZhcigtLV80Mi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fNDQtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ1LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucGluay1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDctWER2Uil9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzUtWER2Uil9fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/50035.0227c09e8de3b4008395.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.880Z","timestamp":1785136901880,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/50035.0227c09e8de3b4008395.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 49\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b74-31\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bf335e87ef63bc482a3c8088fb4e1ad2\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":49,"size_decoded":833,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5cad8e0ddf70f7e7bd2c5b0f9c11a8dc","sha1":"41032fed0aadcd1947a6be4c67bc42a37e88ea05","sha256":"efe71be95be3672f79552c1e97a78c4802144f663cb11a4fb939cc4b57a915a6","sha512":"5968fa2e4c5b778001f70228a5b7b788dfc48409558346537e64029b2edc62addaee814c459f386b46af8bbd65e16e02a11c7cb494894b9d37f88c9dab66ee85","ssdeep":"","tlshash":"809002bd998840646c518619915249c8c583851049901b89e15530685a71c00441129a","first_seen":"2023-04-17T07:26:31Z","last_seen":"2026-07-30T11:42:56.679666Z","times_seen":1001,"resource_available":false,"data":"Lmljb24tT0pwa19DQVF7Ym9yZGVyLXJhZGl1czo1MCU7b3ZlcmZsb3c6aGlkZGVufQ=="}},"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":"huobiget.com/js/jquery-3.4.1.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.508Z","timestamp":1785136899508,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/jquery-3.4.1.min.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 152478\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":152478,"size_decoded":152696,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (526), with CRLF line terminators","md5":"51c34d98f17cac95b66cfd1d2a2c58e0","sha1":"1671659ce1558ab53d10fea034a3ade1a1e58c2e","sha256":"d7e1f444f0feb1b9cda80f0d1b35e8b27118cf66ea90cf54a90c9e35378019aa","sha512":"db65e14fa299ac628e292a5d51f214392b4036d580e1d820c3d92d440a9540fdb5446dad23b3deb8d03a43a98c7723bf5ff5a12c615fc75f3cf44ea9bf8bd123","ssdeep":"3072:f3a5tiUG/Kx6dWJxKbAe7fuj5zcS1mHFGfSBmFcRmkV0b4a7WOOX/wMzAnlkJalh:f3a5tGKx6dCxKbZfutzcS1mHFGfSBmF3","tlshash":"d5e37299b6d531369237f33a9e6fc908f277166f12898806797c44661f3181483bafec","first_seen":"2023-03-09T04:43:12Z","last_seen":"2026-08-01T11:22:31.001398Z","times_seen":256,"resource_available":true,"data":"LyohIGpRdWVyeSB2My40LjEgfCAoYykgSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovICEgZnVuY3Rpb24oZSwgdCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAib2JqZWN0IiA9PSB0eXBlb2YgbW9kdWxlICYmICJvYmplY3QiID09IHR5cGVvZiBtb2R1bGUuZXhwb3J0cyA/IG1vZHVsZS5leHBvcnRzID0gZS5kb2N1bWVudCA/IHQoZSwgITApIDogZnVuY3Rpb24oZSkgew0KICAgICAgICBpZiAoIWUuZG9jdW1lbnQpIHRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpOw0KICAgICAgICByZXR1cm4gdChlKQ0KICAgIH0gOiB0KGUpDQp9KCJ1bmRlZmluZWQiICE9IHR5cGVvZiB3aW5kb3cgPyB3aW5kb3cgOiB0aGlzLCBmdW5jdGlvbihDLCBlKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHZhciB0ID0gW10sDQogICAgICAgIEUgPSBDLmRvY3VtZW50LA0KICAgICAgICByID0gT2JqZWN0LmdldFByb3RvdHlwZU9mLA0KICAgICAgICBzID0gdC5zbGljZSwNCiAgICAgICAgZyA9IHQuY29uY2F0LA0KICAgICAgICB1ID0gdC5wdXNoLA0KICAgICAgICBpID0gdC5pbmRleE9mLA0KICAgICAgICBuID0ge30sDQogICAgICAgIG8gPSBuLnRvU3RyaW5nLA0KICAgICAgICB2ID0gbi5oYXNPd25Qcm9wZXJ0eSwNCiAgICAgICAgYSA9IHYudG9TdHJpbmcsDQogICAgICAgIGwgPSBhLmNhbGwoT2JqZWN0KSwNCiAgICAgICAgeSA9IHt9LA0KICAgICAgICBtID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuICJmdW5jdGlvbiIgPT0gdHlwZW9mIGUgJiYgIm51bWJlciIgIT0gdHlwZW9mIGUubm9kZVR5cGUNCiAgICAgICAgfSwNCiAgICAgICAgeCA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBudWxsICE9IGUgJiYgZSA9PT0gZS53aW5kb3cNCiAgICAgICAgfSwNCiAgICAgICAgYyA9IHsNCiAgICAgICAgICAgIHR5cGU6ICEwLA0KICAgICAgICAgICAgc3JjOiAhMCwNCiAgICAgICAgICAgIG5vbmNlOiAhMCwNCiAgICAgICAgICAgIG5vTW9kdWxlOiAhMA0KICAgICAgICB9Ow0KDQogICAgZnVuY3Rpb24gYihlLCB0LCBuKSB7DQogICAgICAgIHZhciByLCBpLCBvID0gKG4gPSBuIHx8IEUpLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBpZiAoby50ZXh0ID0gZSwgdCkNCiAgICAgICAgICAgIGZvciAociBpbiBjKShpID0gdFtyXSB8fCB0LmdldEF0dHJpYnV0ZSAmJiB0LmdldEF0dHJpYnV0ZShyKSkgJiYgby5zZXRBdHRyaWJ1dGUociwgaSk7DQogICAgICAgIG4uaGVhZC5hcHBlbmRDaGlsZChvKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pDQogICAgfQ0KDQogICAgZnVuY3Rpb24gdyhlKSB7DQogICAgICAgIHJldHVybiBudWxsID09IGUgPyBlICsgIiIgOiAib2JqZWN0IiA9PSB0eXBlb2YgZSB8fCAiZnVuY3Rpb24iID09IHR5cGVvZiBlID8gbltvLmNhbGwoZSldIHx8ICJvYmplY3QiIDogdHlwZW9mIGUNCiAgICB9DQogICAgdmFyIGYgPSAiMy40LjEiLA0KICAgICAgICBrID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBrLmZuLmluaXQoZSwgdCkNCiAgICAgICAgfSwNCiAgICAgICAgcCA9IC9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZzsNCg0KICAgIGZ1bmN0aW9uIGQoZSkgew0KICAgICAgICB2YXIgdCA9ICEhZSAmJiAibGVuZ3RoIiBpbiBlICYmIGUubGVuZ3RoLA0KICAgICAgICAgICAgbiA9IHcoZSk7DQogICAgICAgIHJldHVybiAhbShlKSAmJiAheChlKSAmJiAoImFycmF5IiA9PT0gbiB8fCAwID09PSB0IHx8ICJudW1iZXIiID09IHR5cGVvZiB0ICYmIDAgPCB0ICYmIHQgLSAxIGluIGUpDQogICAgfQ0KICAgIGsuZm4gPSBrLnByb3RvdHlwZSA9IHsNCiAgICAgICAganF1ZXJ5OiBmLA0KICAgICAgICBjb25zdHJ1Y3RvcjogaywNCiAgICAgICAgbGVuZ3RoOiAwLA0KICAgICAgICB0b0FycmF5OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiBzLmNhbGwodGhpcykNCiAgICAgICAgfSwNCiAgICAgICAgZ2V0OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gbnVsbCA9PSBlID8gcy5jYWxsKHRoaXMpIDogZSA8IDAgPyB0aGlzW2UgKyB0aGlzLmxlbmd0aF0gOiB0aGlzW2VdDQogICAgICAgIH0sDQogICAgICAgIHB1c2hTdGFjazogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIHQgPSBrLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSwgZSk7DQogICAgICAgICAgICByZXR1cm4gdC5wcmV2T2JqZWN0ID0gdGhpcywgdA0KICAgICAgICB9LA0KICAgICAgICBlYWNoOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gay5lYWNoKHRoaXMsIGUpDQogICAgICAgIH0sDQogICAgICAgIG1hcDogZnVuY3Rpb24obikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMucHVzaFN0YWNrKGsubWFwKHRoaXMsIGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gbi5jYWxsKGUsIHQsIGUpDQogICAgICAgICAgICB9KSkNCiAgICAgICAgfSwNCiAgICAgICAgc2xpY2U6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMucHVzaFN0YWNrKHMuYXBwbHkodGhpcywgYXJndW1lbnRzKSkNCiAgICAgICAgfSwNCiAgICAgICAgZmlyc3Q6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXEoMCkNCiAgICAgICAgfSwNCiAgICAgICAgbGFzdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5lcSgtMSkNCiAgICAgICAgfSwNCiAgICAgICAgZXE6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpcy5sZW5ndGgsDQogICAgICAgICAgICAgICAgbiA9ICtlICsgKGUgPCAwID8gdCA6IDApOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMucHVzaFN0YWNrKDAgPD0gbiAmJiBuIDwgdCA/IFt0aGlzW25dXSA6IFtdKQ0KICAgICAgICB9LA0KICAgICAgICBlbmQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJldk9iamVjdCB8fCB0aGlzLmNvbnN0cnVjdG9yKCkNCiAgICAgICAgfSwNCiAgICAgICAgcHVzaDogdSwNCiAgICAgICAgc29ydDogdC5zb3J0LA0KICAgICAgICBzcGxpY2U6IHQuc3BsaWNlDQogICAgfSwgay5leHRlbmQgPSBrLmZuLmV4dGVuZCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgZSwgdCwgbiwgciwgaSwgbywgYSA9IGFyZ3VtZW50c1swXSB8fCB7fSwNCiAgICAgICAgICAgIHMgPSAxLA0KICAgICAgICAgICAgdSA9IGFyZ3VtZW50cy5sZW5ndGgsDQogICAgICAgICAgICBsID0gITE7DQogICAgICAgIGZvciAoImJvb2xlYW4iID09IHR5cGVvZiBhICYmIChsID0gYSwgYSA9IGFyZ3VtZW50c1tzXSB8fCB7fSwgcysrKSwgIm9iamVjdCIgPT0gdHlwZW9mIGEgfHwgbShhKSB8fCAoYSA9IHt9KSwgcyA9PT0gdSAmJiAoYSA9IHRoaXMsIHMtLSk7IHMgPCB1OyBzKyspDQogICAgICAgICAgICBpZiAobnVsbCAhPSAoZSA9IGFyZ3VtZW50c1tzXSkpDQogICAgICAgICAgICAgICAgZm9yICh0IGluIGUpIHIgPSBlW3RdLCAiX19wcm90b19fIiAhPT0gdCAmJiBhICE9PSByICYmIChsICYmIHIgJiYgKGsuaXNQbGFpbk9iamVjdChyKSB8fCAoaSA9IEFycmF5LmlzQXJyYXkocikpKSA/IChuID0gYVt0XSwgbyA9IGkgJiYgIUFycmF5LmlzQXJyYXkobikgPyBbXSA6IGkgfHwgay5pc1BsYWluT2JqZWN0KG4pID8gbiA6IHt9LCBpID0gITEsIGFbdF0gPSBrLmV4dGVuZChsLCBvLCByKSkgOiB2b2lkIDAgIT09IHIgJiYgKGFbdF0gPSByKSk7DQogICAgICAgIHJldHVybiBhDQogICAgfSwgay5leHRlbmQoew0KICAgICAgICBleHBhbmRvOiAialF1ZXJ5IiArIChmICsgTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywgIiIpLA0KICAgICAgICBpc1JlYWR5OiAhMCwNCiAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlKQ0KICAgICAgICB9LA0KICAgICAgICBub29wOiBmdW5jdGlvbigpIHt9LA0KICAgICAgICBpc1BsYWluT2JqZWN0OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICB2YXIgdCwgbjsNCiAgICAgICAgICAgIHJldHVybiAhKCFlIHx8ICJbb2JqZWN0IE9iamVjdF0iICE9PSBvLmNhbGwoZSkpICYmICghKHQgPSByKGUpKSB8fCAiZnVuY3Rpb24iID09IHR5cGVvZihuID0gdi5jYWxsKHQsICJjb25zdHJ1Y3RvciIpICYmIHQuY29uc3RydWN0b3IpICYmIGEuY2FsbChuKSA9PT0gbCkNCiAgICAgICAgfSwNCiAgICAgICAgaXNFbXB0eU9iamVjdDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIHQ7DQogICAgICAgICAgICBmb3IgKHQgaW4gZSkgcmV0dXJuICExOw0KICAgICAgICAgICAgcmV0dXJuICEwDQogICAgICAgIH0sDQogICAgICAgIGdsb2JhbEV2YWw6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIGIoZSwgew0KICAgICAgICAgICAgICAgIG5vbmNlOiB0ICYmIHQubm9uY2UNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0sDQogICAgICAgIGVhY2g6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHZhciBuLCByID0gMDsNCiAgICAgICAgICAgIGlmIChkKGUpKSB7DQogICAgICAgICAgICAgICAgZm9yIChuID0gZS5sZW5ndGg7IHIgPCBuOyByKyspDQogICAgICAgICAgICAgICAgICAgIGlmICghMSA9PT0gdC5jYWxsKGVbcl0sIHIsIGVbcl0pKSBicmVhaw0KICAgICAgICAgICAgfSBlbHNlDQogICAgICAgICAgICAgICAgZm9yIChyIGluIGUpDQogICAgICAgICAgICAgICAgICAgIGlmICghMSA9PT0gdC5jYWxsKGVbcl0sIHIsIGVbcl0pKSBicmVhazsNCiAgICAgICAgICAgIHJldHVybiBlDQogICAgICAgIH0sDQogICAgICAgIHRyaW06IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBudWxsID09IGUgPyAiIiA6IChlICsgIiIpLnJlcGxhY2UocCwgIiIpDQogICAgICAgIH0sDQogICAgICAgIG1ha2VBcnJheTogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgdmFyIG4gPSB0IHx8IFtdOw0KICAgICAgICAgICAgcmV0dXJuIG51bGwgIT0gZSAmJiAoZChPYmplY3QoZSkpID8gay5tZXJnZShuLCAic3RyaW5nIiA9PSB0eXBlb2YgZSA/IFtlXSA6IGUpIDogdS5jYWxsKG4sIGUpKSwgbg0KICAgICAgICB9LA0KICAgICAgICBpbkFycmF5OiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICByZXR1cm4gbnVsbCA9PSB0ID8gLTEgOiBpLmNhbGwodCwgZSwgbikNCiAgICAgICAgfSwNCiAgICAgICAgbWVyZ2U6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIGZvciAodmFyIG4gPSArdC5sZW5ndGgsIHIgPSAwLCBpID0gZS5sZW5ndGg7IHIgPCBuOyByKyspIGVbaSsrXSA9IHRbcl07DQogICAgICAgICAgICByZXR1cm4gZS5sZW5ndGggPSBpLCBlDQogICAgICAgIH0sDQogICAgICAgIGdyZXA6IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIGZvciAodmFyIHIgPSBbXSwgaSA9IDAsIG8gPSBlLmxlbmd0aCwgYSA9ICFuOyBpIDwgbzsgaSsrKSAhdChlW2ldLCBpKSAhPT0gYSAmJiByLnB1c2goZVtpXSk7DQogICAgICAgICAgICByZXR1cm4gcg0KICAgICAgICB9LA0KICAgICAgICBtYXA6IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHZhciByLCBpLCBvID0gMCwNCiAgICAgICAgICAgICAgICBhID0gW107DQogICAgICAgICAgICBpZiAoZChlKSkNCiAgICAgICAgICAgICAgICBmb3IgKHIgPSBlLmxlbmd0aDsgbyA8IHI7IG8rKykgbnVsbCAhPSAoaSA9IHQoZVtvXSwgbywgbikpICYmIGEucHVzaChpKTsNCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICBmb3IgKG8gaW4gZSkgbnVsbCAhPSAoaSA9IHQoZVtvXSwgbywgbikpICYmIGEucHVzaChpKTsNCiAgICAgICAgICAgIHJldHVybiBnLmFwcGx5KFtdLCBhKQ0KICAgICAgICB9LA0KICAgICAgICBndWlkOiAxLA0KICAgICAgICBzdXBwb3J0OiB5DQogICAgfSksICJmdW5jdGlvbiIgPT0gdHlwZW9mIFN5bWJvbCAmJiAoay5mbltTeW1ib2wuaXRlcmF0b3JdID0gdFtTeW1ib2wuaXRlcmF0b3JdKSwgay5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIFN5bWJvbCIuc3BsaXQoIiAiKSwgZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICBuWyJbb2JqZWN0ICIgKyB0ICsgIl0iXSA9IHQudG9Mb3dlckNhc2UoKQ0KICAgIH0pOw0KICAgIHZhciBoID0gZnVuY3Rpb24obikgew0KICAgICAgICB2YXIgZSwgZCwgYiwgbywgaSwgaCwgZiwgZywgdywgdSwgbCwgVCwgQywgYSwgRSwgdiwgcywgYywgeSwgayA9ICJzaXp6bGUiICsgMSAqIG5ldyBEYXRlLA0KICAgICAgICAgICAgbSA9IG4uZG9jdW1lbnQsDQogICAgICAgICAgICBTID0gMCwNCiAgICAgICAgICAgIHIgPSAwLA0KICAgICAgICAgICAgcCA9IHVlKCksDQogICAgICAgICAgICB4ID0gdWUoKSwNCiAgICAgICAgICAgIE4gPSB1ZSgpLA0KICAgICAgICAgICAgQSA9IHVlKCksDQogICAgICAgICAgICBEID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlID09PSB0ICYmIChsID0gITApLCAwDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgaiA9IHt9Lmhhc093blByb3BlcnR5LA0KICAgICAgICAgICAgdCA9IFtdLA0KICAgICAgICAgICAgcSA9IHQucG9wLA0KICAgICAgICAgICAgTCA9IHQucHVzaCwNCiAgICAgICAgICAgIEggPSB0LnB1c2gsDQogICAgICAgICAgICBPID0gdC5zbGljZSwNCiAgICAgICAgICAgIFAgPSBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgZm9yICh2YXIgbiA9IDAsIHIgPSBlLmxlbmd0aDsgbiA8IHI7IG4rKykNCiAgICAgICAgICAgICAgICAgICAgaWYgKGVbbl0gPT09IHQpIHJldHVybiBuOw0KICAgICAgICAgICAgICAgIHJldHVybiAtMQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIFIgPSAiY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLA0KICAgICAgICAgICAgTSA9ICJbXFx4MjBcXHRcXHJcXG5cXGZdIiwNCiAgICAgICAgICAgIEkgPSAiKD86XFxcXC58W1xcdy1dfFteXDAtXFx4YTBdKSsiLA0KICAgICAgICAgICAgVyA9ICJcXFsiICsgTSArICIqKCIgKyBJICsgIikoPzoiICsgTSArICIqKFsqXiR8IX5dPz0pIiArIE0gKyAiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiICsgSSArICIpKXwpIiArIE0gKyAiKlxcXSIsDQogICAgICAgICAgICAkID0gIjooIiArIEkgKyAiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIgKyBXICsgIikqKXwuKilcXCl8KSIsDQogICAgICAgICAgICBGID0gbmV3IFJlZ0V4cChNICsgIisiLCAiZyIpLA0KICAgICAgICAgICAgQiA9IG5ldyBSZWdFeHAoIl4iICsgTSArICIrfCgoPzpefFteXFxcXF0pKD86XFxcXC4pKikiICsgTSArICIrJCIsICJnIiksDQogICAgICAgICAgICBfID0gbmV3IFJlZ0V4cCgiXiIgKyBNICsgIiosIiArIE0gKyAiKiIpLA0KICAgICAgICAgICAgeiA9IG5ldyBSZWdFeHAoIl4iICsgTSArICIqKFs+K35dfCIgKyBNICsgIikiICsgTSArICIqIiksDQogICAgICAgICAgICBVID0gbmV3IFJlZ0V4cChNICsgInw+IiksDQogICAgICAgICAgICBYID0gbmV3IFJlZ0V4cCgkKSwNCiAgICAgICAgICAgIFYgPSBuZXcgUmVnRXhwKCJeIiArIEkgKyAiJCIpLA0KICAgICAgICAgICAgRyA9IHsNCiAgICAgICAgICAgICAgICBJRDogbmV3IFJlZ0V4cCgiXiMoIiArIEkgKyAiKSIpLA0KICAgICAgICAgICAgICAgIENMQVNTOiBuZXcgUmVnRXhwKCJeXFwuKCIgKyBJICsgIikiKSwNCiAgICAgICAgICAgICAgICBUQUc6IG5ldyBSZWdFeHAoIl4oIiArIEkgKyAifFsqXSkiKSwNCiAgICAgICAgICAgICAgICBBVFRSOiBuZXcgUmVnRXhwKCJeIiArIFcpLA0KICAgICAgICAgICAgICAgIFBTRVVETzogbmV3IFJlZ0V4cCgiXiIgKyAkKSwNCiAgICAgICAgICAgICAgICBDSElMRDogbmV3IFJlZ0V4cCgiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9mLXR5cGUpKD86XFwoIiArIE0gKyAiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIgKyBNICsgIiooPzooWystXXwpIiArIE0gKyAiKihcXGQrKXwpKSIgKyBNICsgIipcXCl8KSIsICJpIiksDQogICAgICAgICAgICAgICAgYm9vbDogbmV3IFJlZ0V4cCgiXig/OiIgKyBSICsgIikkIiwgImkiKSwNCiAgICAgICAgICAgICAgICBuZWVkc0NvbnRleHQ6IG5ldyBSZWdFeHAoIl4iICsgTSArICIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiICsgTSArICIqKCg/Oi1cXGQpP1xcZCopIiArIE0gKyAiKlxcKXwpKD89W14tXXwkKSIsICJpIikNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBZID0gL0hUTUwkL2ksDQogICAgICAgICAgICBRID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSwNCiAgICAgICAgICAgIEogPSAvXmhcZCQvaSwNCiAgICAgICAgICAgIEsgPSAvXltee10rXHtccypcW25hdGl2ZSBcdy8sDQogICAgICAgICAgICBaID0gL14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLywNCiAgICAgICAgICAgIGVlID0gL1srfl0vLA0KICAgICAgICAgICAgdGUgPSBuZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iICsgTSArICI/fCgiICsgTSArICIpfC4pIiwgImlnIiksDQogICAgICAgICAgICBuZSA9IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgICAgICB2YXIgciA9ICIweCIgKyB0IC0gNjU1MzY7DQogICAgICAgICAgICAgICAgcmV0dXJuIHIgIT0gciB8fCBuID8gdCA6IHIgPCAwID8gU3RyaW5nLmZyb21DaGFyQ29kZShyICsgNjU1MzYpIDogU3RyaW5nLmZyb21DaGFyQ29kZShyID4+IDEwIHwgNTUyOTYsIDEwMjMgJiByIHwgNTYzMjApDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgcmUgPSAvKFtcMC1ceDFmXHg3Zl18Xi0/XGQpfF4tJHxbXlwwLVx4MWZceDdmLVx1RkZGRlx3LV0vZywNCiAgICAgICAgICAgIGllID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0ID8gIlwwIiA9PT0gZSA/ICJcdWZmZmQiIDogZS5zbGljZSgwLCAtMSkgKyAiXFwiICsgZS5jaGFyQ29kZUF0KGUubGVuZ3RoIC0gMSkudG9TdHJpbmcoMTYpICsgIiAiIDogIlxcIiArIGUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIFQoKQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGFlID0gYmUoZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiAhMCA9PT0gZS5kaXNhYmxlZCAmJiAiZmllbGRzZXQiID09PSBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkNCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBkaXI6ICJwYXJlbnROb2RlIiwNCiAgICAgICAgICAgICAgICBuZXh0OiAibGVnZW5kIg0KICAgICAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBILmFwcGx5KHQgPSBPLmNhbGwobS5jaGlsZE5vZGVzKSwgbS5jaGlsZE5vZGVzKSwgdFttLmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZQ0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBIID0gew0KICAgICAgICAgICAgICAgIGFwcGx5OiB0Lmxlbmd0aCA/IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICAgICAgTC5hcHBseShlLCBPLmNhbGwodCkpDQogICAgICAgICAgICAgICAgfSA6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBlLmxlbmd0aCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSAwOw0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZVtuKytdID0gdFtyKytdKTsNCiAgICAgICAgICAgICAgICAgICAgZS5sZW5ndGggPSBuIC0gMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIHNlKHQsIGUsIG4sIHIpIHsNCiAgICAgICAgICAgIHZhciBpLCBvLCBhLCBzLCB1LCBsLCBjLCBmID0gZSAmJiBlLm93bmVyRG9jdW1lbnQsDQogICAgICAgICAgICAgICAgcCA9IGUgPyBlLm5vZGVUeXBlIDogOTsNCiAgICAgICAgICAgIGlmIChuID0gbiB8fCBbXSwgInN0cmluZyIgIT0gdHlwZW9mIHQgfHwgIXQgfHwgMSAhPT0gcCAmJiA5ICE9PSBwICYmIDExICE9PSBwKSByZXR1cm4gbjsNCiAgICAgICAgICAgIGlmICghciAmJiAoKGUgPyBlLm93bmVyRG9jdW1lbnQgfHwgZSA6IG0pICE9PSBDICYmIFQoZSksIGUgPSBlIHx8IEMsIEUpKSB7DQogICAgICAgICAgICAgICAgaWYgKDExICE9PSBwICYmICh1ID0gWi5leGVjKHQpKSkNCiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPSB1WzFdKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoOSA9PT0gcCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGEgPSBlLmdldEVsZW1lbnRCeUlkKGkpKSkgcmV0dXJuIG47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGEuaWQgPT09IGkpIHJldHVybiBuLnB1c2goYSksIG4NCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZiAmJiAoYSA9IGYuZ2V0RWxlbWVudEJ5SWQoaSkpICYmIHkoZSwgYSkgJiYgYS5pZCA9PT0gaSkgcmV0dXJuIG4ucHVzaChhKSwgbg0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVbMl0pIHJldHVybiBILmFwcGx5KG4sIGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUodCkpLCBuOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChpID0gdVszXSkgJiYgZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICYmIGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSkgcmV0dXJuIEguYXBwbHkobiwgZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGkpKSwgbg0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKGQucXNhICYmICFBW3QgKyAiICJdICYmICghdiB8fCAhdi50ZXN0KHQpKSAmJiAoMSAhPT0gcCB8fCAib2JqZWN0IiAhPT0gZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoYyA9IHQsIGYgPSBlLCAxID09PSBwICYmIFUudGVzdCh0KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgKHMgPSBlLmdldEF0dHJpYnV0ZSgiaWQiKSkgPyBzID0gcy5yZXBsYWNlKHJlLCBpZSk6IGUuc2V0QXR0cmlidXRlKCJpZCIsIHMgPSBrKSwgbyA9IChsID0gaCh0KSkubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG8tLSkgbFtvXSA9ICIjIiArIHMgKyAiICIgKyB4ZShsW29dKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBsLmpvaW4oIiwiKSwgZiA9IGVlLnRlc3QodCkgJiYgeWUoZS5wYXJlbnROb2RlKSB8fCBlDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBILmFwcGx5KG4sIGYucXVlcnlTZWxlY3RvckFsbChjKSksIG4NCiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgQSh0LCAhMCkNCiAgICAgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPT09IGsgJiYgZS5yZW1vdmVBdHRyaWJ1dGUoImlkIikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBnKHQucmVwbGFjZShCLCAiJDEiKSwgZSwgbiwgcikNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIHVlKCkgew0KICAgICAgICAgICAgdmFyIHIgPSBbXTsNCiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiBlKHQsIG4pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gci5wdXNoKHQgKyAiICIpID4gYi5jYWNoZUxlbmd0aCAmJiBkZWxldGUgZVtyLnNoaWZ0KCldLCBlW3QgKyAiICJdID0gbg0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gbGUoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGVba10gPSAhMCwgZQ0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2UoZSkgew0KICAgICAgICAgICAgdmFyIHQgPSBDLmNyZWF0ZUVsZW1lbnQoImZpZWxkc2V0Iik7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHJldHVybiAhIWUodCkNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gITENCiAgICAgICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICAgICAgdC5wYXJlbnROb2RlICYmIHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSwgdCA9IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGZlKGUsIHQpIHsNCiAgICAgICAgICAgIHZhciBuID0gZS5zcGxpdCgifCIpLA0KICAgICAgICAgICAgICAgIHIgPSBuLmxlbmd0aDsNCiAgICAgICAgICAgIHdoaWxlIChyLS0pIGIuYXR0ckhhbmRsZVtuW3JdXSA9IHQNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIHBlKGUsIHQpIHsNCiAgICAgICAgICAgIHZhciBuID0gdCAmJiBlLA0KICAgICAgICAgICAgICAgIHIgPSBuICYmIDEgPT09IGUubm9kZVR5cGUgJiYgMSA9PT0gdC5ub2RlVHlwZSAmJiBlLnNvdXJjZUluZGV4IC0gdC5zb3VyY2VJbmRleDsNCiAgICAgICAgICAgIGlmIChyKSByZXR1cm4gcjsNCiAgICAgICAgICAgIGlmIChuKQ0KICAgICAgICAgICAgICAgIHdoaWxlIChuID0gbi5uZXh0U2libGluZykNCiAgICAgICAgICAgICAgICAgICAgaWYgKG4gPT09IHQpIHJldHVybiAtMTsNCiAgICAgICAgICAgIHJldHVybiBlID8gMSA6IC0xDQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBkZSh0KSB7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5wdXQiID09PSBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgJiYgZS50eXBlID09PSB0DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBoZShuKSB7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOw0KICAgICAgICAgICAgICAgIHJldHVybiAoImlucHV0IiA9PT0gdCB8fCAiYnV0dG9uIiA9PT0gdCkgJiYgZS50eXBlID09PSBuDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBnZSh0KSB7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZm9ybSIgaW4gZSA/IGUucGFyZW50Tm9kZSAmJiAhMSA9PT0gZS5kaXNhYmxlZCA/ICJsYWJlbCIgaW4gZSA/ICJsYWJlbCIgaW4gZS5wYXJlbnROb2RlID8gZS5wYXJlbnROb2RlLmRpc2FibGVkID09PSB0IDogZS5kaXNhYmxlZCA9PT0gdCA6IGUuaXNEaXNhYmxlZCA9PT0gdCB8fCBlLmlzRGlzYWJsZWQgIT09ICF0ICYmIGFlKGUpID09PSB0IDogZS5kaXNhYmxlZCA9PT0gdCA6ICJsYWJlbCIgaW4gZSAmJiBlLmRpc2FibGVkID09PSB0DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiB2ZShhKSB7DQogICAgICAgICAgICByZXR1cm4gbGUoZnVuY3Rpb24obykgew0KICAgICAgICAgICAgICAgIHJldHVybiBvID0gK28sIGxlKGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG4sIHIgPSBhKFtdLCBlLmxlbmd0aCwgbyksDQogICAgICAgICAgICAgICAgICAgICAgICBpID0gci5sZW5ndGg7DQogICAgICAgICAgICAgICAgICAgIHdoaWxlIChpLS0pIGVbbiA9IHJbaV1dICYmIChlW25dID0gISh0W25dID0gZVtuXSkpDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiB5ZShlKSB7DQogICAgICAgICAgICByZXR1cm4gZSAmJiAidW5kZWZpbmVkIiAhPSB0eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZSAmJiBlDQogICAgICAgIH0NCiAgICAgICAgZm9yIChlIGluIGQgPSBzZS5zdXBwb3J0ID0ge30sIGkgPSBzZS5pc1hNTCA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCA9IGUubmFtZXNwYWNlVVJJLA0KICAgICAgICAgICAgICAgICAgICBuID0gKGUub3duZXJEb2N1bWVudCB8fCBlKS5kb2N1bWVudEVsZW1lbnQ7DQogICAgICAgICAgICAgICAgcmV0dXJuICFZLnRlc3QodCB8fCBuICYmIG4ubm9kZU5hbWUgfHwgIkhUTUwiKQ0KICAgICAgICAgICAgfSwgVCA9IHNlLnNldERvY3VtZW50ID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHZhciB0LCBuLCByID0gZSA/IGUub3duZXJEb2N1bWVudCB8fCBlIDogbTsNCiAgICAgICAgICAgICAgICByZXR1cm4gciAhPT0gQyAmJiA5ID09PSByLm5vZGVUeXBlICYmIHIuZG9jdW1lbnRFbGVtZW50ICYmIChhID0gKEMgPSByKS5kb2N1bWVudEVsZW1lbnQsIEUgPSAhaShDKSwgbSAhPT0gQyAmJiAobiA9IEMuZGVmYXVsdFZpZXcpICYmIG4udG9wICE9PSBuICYmIChuLmFkZEV2ZW50TGlzdGVuZXIgPyBuLmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsIG9lLCAhMSkgOiBuLmF0dGFjaEV2ZW50ICYmIG4uYXR0YWNoRXZlbnQoIm9udW5sb2FkIiwgb2UpKSwgZC5hdHRyaWJ1dGVzID0gY2UoZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5jbGFzc05hbWUgPSAiaSIsICFlLmdldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIikNCiAgICAgICAgICAgICAgICB9KSwgZC5nZXRFbGVtZW50c0J5VGFnTmFtZSA9IGNlKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuYXBwZW5kQ2hpbGQoQy5jcmVhdGVDb21tZW50KCIiKSksICFlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RoDQogICAgICAgICAgICAgICAgfSksIGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSA9IEsudGVzdChDLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpLCBkLmdldEJ5SWQgPSBjZShmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBhLmFwcGVuZENoaWxkKGUpLmlkID0gaywgIUMuZ2V0RWxlbWVudHNCeU5hbWUgfHwgIUMuZ2V0RWxlbWVudHNCeU5hbWUoaykubGVuZ3RoDQogICAgICAgICAgICAgICAgfSksIGQuZ2V0QnlJZCA/IChiLmZpbHRlci5JRCA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBlLnJlcGxhY2UodGUsIG5lKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLmdldEF0dHJpYnV0ZSgiaWQiKSA9PT0gdA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSwgYi5maW5kLklEID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgIT0gdHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQgJiYgRSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSB0LmdldEVsZW1lbnRCeUlkKGUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4gPyBbbl0gOiBbXQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkgOiAoYi5maWx0ZXIuSUQgPSBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBuID0gZS5yZXBsYWNlKHRlLCBuZSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9ICJ1bmRlZmluZWQiICE9IHR5cGVvZiBlLmdldEF0dHJpYnV0ZU5vZGUgJiYgZS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgJiYgdC52YWx1ZSA9PT0gbg0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSwgYi5maW5kLklEID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgIT0gdHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQgJiYgRSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4sIHIsIGksIG8gPSB0LmdldEVsZW1lbnRCeUlkKGUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG8pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKG4gPSBvLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpICYmIG4udmFsdWUgPT09IGUpIHJldHVybiBbb107DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHQuZ2V0RWxlbWVudHNCeU5hbWUoZSksIHIgPSAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChvID0gaVtyKytdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKG4gPSBvLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpICYmIG4udmFsdWUgPT09IGUpIHJldHVybiBbb10NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbXQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSksIGIuZmluZC5UQUcgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lID8gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInVuZGVmaW5lZCIgIT0gdHlwZW9mIHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgPyB0LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpIDogZC5xc2EgPyB0LnF1ZXJ5U2VsZWN0b3JBbGwoZSkgOiB2b2lkIDANCiAgICAgICAgICAgICAgICB9IDogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgbiwgciA9IFtdLA0KICAgICAgICAgICAgICAgICAgICAgICAgaSA9IDAsDQogICAgICAgICAgICAgICAgICAgICAgICBvID0gdC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCIqIiA9PT0gZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG4gPSBvW2krK10pIDEgPT09IG4ubm9kZVR5cGUgJiYgci5wdXNoKG4pOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHINCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbw0KICAgICAgICAgICAgICAgIH0sIGIuZmluZC5DTEFTUyA9IGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSAmJiBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgICAgIGlmICgidW5kZWZpbmVkIiAhPSB0eXBlb2YgdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICYmIEUpIHJldHVybiB0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZSkNCiAgICAgICAgICAgICAgICB9LCBzID0gW10sIHYgPSBbXSwgKGQucXNhID0gSy50ZXN0KEMucXVlcnlTZWxlY3RvckFsbCkpICYmIChjZShmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIGEuYXBwZW5kQ2hpbGQoZSkuaW5uZXJIVE1MID0gIjxhIGlkPSciICsgayArICInPjwvYT48c2VsZWN0IGlkPSciICsgayArICItXHJcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD4iLCBlLnF1ZXJ5U2VsZWN0b3JBbGwoIlttc2FsbG93Y2FwdHVyZV49JyddIikubGVuZ3RoICYmIHYucHVzaCgiWypeJF09IiArIE0gKyAiKig/OicnfFwiXCIpIiksIGUucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aCB8fCB2LnB1c2goIlxcWyIgKyBNICsgIiooPzp2YWx1ZXwiICsgUiArICIpIiksIGUucXVlcnlTZWxlY3RvckFsbCgiW2lkfj0iICsgayArICItXSIpLmxlbmd0aCB8fCB2LnB1c2goIn49IiksIGUucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGggfHwgdi5wdXNoKCI6Y2hlY2tlZCIpLCBlLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIiArIGsgKyAiKyoiKS5sZW5ndGggfHwgdi5wdXNoKCIuIy4rWyt+XSIpDQogICAgICAgICAgICAgICAgfSksIGNlKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgZS5pbm5lckhUTUwgPSAiPGEgaHJlZj0nJyBkaXNhYmxlZD0nZGlzYWJsZWQnPjwvYT48c2VsZWN0IGRpc2FibGVkPSdkaXNhYmxlZCc+PG9wdGlvbi8+PC9zZWxlY3Q+IjsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBDLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7DQogICAgICAgICAgICAgICAgICAgIHQuc2V0QXR0cmlidXRlKCJ0eXBlIiwgImhpZGRlbiIpLCBlLmFwcGVuZENoaWxkKHQpLnNldEF0dHJpYnV0ZSgibmFtZSIsICJEIiksIGUucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGggJiYgdi5wdXNoKCJuYW1lIiArIE0gKyAiKlsqXiR8IX5dPz0iKSwgMiAhPT0gZS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aCAmJiB2LnB1c2goIjplbmFibGVkIiwgIjpkaXNhYmxlZCIpLCBhLmFwcGVuZENoaWxkKGUpLmRpc2FibGVkID0gITAsIDIgIT09IGUucXVlcnlTZWxlY3RvckFsbCgiOmRpc2FibGVkIikubGVuZ3RoICYmIHYucHVzaCgiOmVuYWJsZWQiLCAiOmRpc2FibGVkIiksIGUucXVlcnlTZWxlY3RvckFsbCgiKiw6eCIpLCB2LnB1c2goIiwuKjoiKQ0KICAgICAgICAgICAgICAgIH0pKSwgKGQubWF0Y2hlc1NlbGVjdG9yID0gSy50ZXN0KGMgPSBhLm1hdGNoZXMgfHwgYS53ZWJraXRNYXRjaGVzU2VsZWN0b3IgfHwgYS5tb3pNYXRjaGVzU2VsZWN0b3IgfHwgYS5vTWF0Y2hlc1NlbGVjdG9yIHx8IGEubXNNYXRjaGVzU2VsZWN0b3IpKSAmJiBjZShmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIGQuZGlzY29ubmVjdGVkTWF0Y2ggPSBjLmNhbGwoZSwgIioiKSwgYy5jYWxsKGUsICJbcyE9JyddOngiKSwgcy5wdXNoKCIhPSIsICQpDQogICAgICAgICAgICAgICAgfSksIHYgPSB2Lmxlbmd0aCAmJiBuZXcgUmVnRXhwKHYuam9pbigifCIpKSwgcyA9IHMubGVuZ3RoICYmIG5ldyBSZWdFeHAocy5qb2luKCJ8IikpLCB0ID0gSy50ZXN0KGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24pLCB5ID0gdCB8fCBLLnRlc3QoYS5jb250YWlucykgPyBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBuID0gOSA9PT0gZS5ub2RlVHlwZSA/IGUuZG9jdW1lbnRFbGVtZW50IDogZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB0ICYmIHQucGFyZW50Tm9kZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUgPT09IHIgfHwgISghciB8fCAxICE9PSByLm5vZGVUeXBlIHx8ICEobi5jb250YWlucyA/IG4uY29udGFpbnMocikgOiBlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uICYmIDE2ICYgZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSkpDQogICAgICAgICAgICAgICAgfSA6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHQpDQogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAodCA9IHQucGFyZW50Tm9kZSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodCA9PT0gZSkgcmV0dXJuICEwOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gITENCiAgICAgICAgICAgICAgICB9LCBEID0gdCA/IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGUgPT09IHQpIHJldHVybiBsID0gITAsIDA7DQogICAgICAgICAgICAgICAgICAgIHZhciBuID0gIWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24gLSAhdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4gfHwgKDEgJiAobiA9IChlLm93bmVyRG9jdW1lbnQgfHwgZSkgPT09ICh0Lm93bmVyRG9jdW1lbnQgfHwgdCkgPyBlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpIDogMSkgfHwgIWQuc29ydERldGFjaGVkICYmIHQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSkgPT09IG4gPyBlID09PSBDIHx8IGUub3duZXJEb2N1bWVudCA9PT0gbSAmJiB5KG0sIGUpID8gLTEgOiB0ID09PSBDIHx8IHQub3duZXJEb2N1bWVudCA9PT0gbSAmJiB5KG0sIHQpID8gMSA6IHUgPyBQKHUsIGUpIC0gUCh1LCB0KSA6IDAgOiA0ICYgbiA/IC0xIDogMSkNCiAgICAgICAgICAgICAgICB9IDogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoZSA9PT0gdCkgcmV0dXJuIGwgPSAhMCwgMDsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG4sIHIgPSAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGUucGFyZW50Tm9kZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSB0LnBhcmVudE5vZGUsDQogICAgICAgICAgICAgICAgICAgICAgICBhID0gW2VdLA0KICAgICAgICAgICAgICAgICAgICAgICAgcyA9IFt0XTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCFpIHx8ICFvKSByZXR1cm4gZSA9PT0gQyA/IC0xIDogdCA9PT0gQyA/IDEgOiBpID8gLTEgOiBvID8gMSA6IHUgPyBQKHUsIGUpIC0gUCh1LCB0KSA6IDA7DQogICAgICAgICAgICAgICAgICAgIGlmIChpID09PSBvKSByZXR1cm4gcGUoZSwgdCk7DQogICAgICAgICAgICAgICAgICAgIG4gPSBlOw0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAobiA9IG4ucGFyZW50Tm9kZSkgYS51bnNoaWZ0KG4pOw0KICAgICAgICAgICAgICAgICAgICBuID0gdDsNCiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG4gPSBuLnBhcmVudE5vZGUpIHMudW5zaGlmdChuKTsNCiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGFbcl0gPT09IHNbcl0pIHIrKzsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHIgPyBwZShhW3JdLCBzW3JdKSA6IGFbcl0gPT09IG0gPyAtMSA6IHNbcl0gPT09IG0gPyAxIDogMA0KICAgICAgICAgICAgICAgIH0pLCBDDQogICAgICAgICAgICB9LCBzZS5tYXRjaGVzID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBzZShlLCBudWxsLCBudWxsLCB0KQ0KICAgICAgICAgICAgfSwgc2UubWF0Y2hlc1NlbGVjdG9yID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgIGlmICgoZS5vd25lckRvY3VtZW50IHx8IGUpICE9PSBDICYmIFQoZSksIGQubWF0Y2hlc1NlbGVjdG9yICYmIEUgJiYgIUFbdCArICIgIl0gJiYgKCFzIHx8ICFzLnRlc3QodCkpICYmICghdiB8fCAhdi50ZXN0KHQpKSkgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBjLmNhbGwoZSwgdCk7DQogICAgICAgICAgICAgICAgICAgIGlmIChuIHx8IGQuZGlzY29ubmVjdGVkTWF0Y2ggfHwgZS5kb2N1bWVudCAmJiAxMSAhPT0gZS5kb2N1bWVudC5ub2RlVHlwZSkgcmV0dXJuIG4NCiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgICAgIEEodCwgITApDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiAwIDwgc2UodCwgQywgbnVsbCwgW2VdKS5sZW5ndGgNCiAgICAgICAgICAgIH0sIHNlLmNvbnRhaW5zID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAoZS5vd25lckRvY3VtZW50IHx8IGUpICE9PSBDICYmIFQoZSksIHkoZSwgdCkNCiAgICAgICAgICAgIH0sIHNlLmF0dHIgPSBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgKGUub3duZXJEb2N1bWVudCB8fCBlKSAhPT0gQyAmJiBUKGUpOw0KICAgICAgICAgICAgICAgIHZhciBuID0gYi5hdHRySGFuZGxlW3QudG9Mb3dlckNhc2UoKV0sDQogICAgICAgICAgICAgICAgICAgIHIgPSBuICYmIGouY2FsbChiLmF0dHJIYW5kbGUsIHQudG9Mb3dlckNhc2UoKSkgPyBuKGUsIHQsICFFKSA6IHZvaWQgMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwICE9PSByID8gciA6IGQuYXR0cmlidXRlcyB8fCAhRSA/IGUuZ2V0QXR0cmlidXRlKHQpIDogKHIgPSBlLmdldEF0dHJpYnV0ZU5vZGUodCkpICYmIHIuc3BlY2lmaWVkID8gci52YWx1ZSA6IG51bGwNCiAgICAgICAgICAgIH0sIHNlLmVzY2FwZSA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gKGUgKyAiIikucmVwbGFjZShyZSwgaWUpDQogICAgICAgICAgICB9LCBzZS5lcnJvciA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIgKyBlKQ0KICAgICAgICAgICAgfSwgc2UudW5pcXVlU29ydCA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCwgbiA9IFtdLA0KICAgICAgICAgICAgICAgICAgICByID0gMCwNCiAgICAgICAgICAgICAgICAgICAgaSA9IDA7DQogICAgICAgICAgICAgICAgaWYgKGwgPSAhZC5kZXRlY3REdXBsaWNhdGVzLCB1ID0gIWQuc29ydFN0YWJsZSAmJiBlLnNsaWNlKDApLCBlLnNvcnQoRCksIGwpIHsNCiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHQgPSBlW2krK10pIHQgPT09IGVbaV0gJiYgKHIgPSBuLnB1c2goaSkpOw0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoci0tKSBlLnNwbGljZShuW3JdLCAxKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gdSA9IG51bGwsIGUNCiAgICAgICAgICAgIH0sIG8gPSBzZS5nZXRUZXh0ID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHZhciB0LCBuID0gIiIsDQogICAgICAgICAgICAgICAgICAgIHIgPSAwLA0KICAgICAgICAgICAgICAgICAgICBpID0gZS5ub2RlVHlwZTsNCiAgICAgICAgICAgICAgICBpZiAoaSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoMSA9PT0gaSB8fCA5ID09PSBpIHx8IDExID09PSBpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoInN0cmluZyIgPT0gdHlwZW9mIGUudGV4dENvbnRlbnQpIHJldHVybiBlLnRleHRDb250ZW50Ow0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChlID0gZS5maXJzdENoaWxkOyBlOyBlID0gZS5uZXh0U2libGluZykgbiArPSBvKGUpDQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoMyA9PT0gaSB8fCA0ID09PSBpKSByZXR1cm4gZS5ub2RlVmFsdWUNCiAgICAgICAgICAgICAgICB9IGVsc2UNCiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHQgPSBlW3IrK10pIG4gKz0gbyh0KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gbg0KICAgICAgICAgICAgfSwgKGIgPSBzZS5zZWxlY3RvcnMgPSB7DQogICAgICAgICAgICAgICAgY2FjaGVMZW5ndGg6IDUwLA0KICAgICAgICAgICAgICAgIGNyZWF0ZVBzZXVkbzogbGUsDQogICAgICAgICAgICAgICAgbWF0Y2g6IEcsDQogICAgICAgICAgICAgICAgYXR0ckhhbmRsZToge30sDQogICAgICAgICAgICAgICAgZmluZDoge30sDQogICAgICAgICAgICAgICAgcmVsYXRpdmU6IHsNCiAgICAgICAgICAgICAgICAgICAgIj4iOiB7DQogICAgICAgICAgICAgICAgICAgICAgICBkaXI6ICJwYXJlbnROb2RlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0OiAhMA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAiICI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGRpcjogInBhcmVudE5vZGUiDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICIrIjogew0KICAgICAgICAgICAgICAgICAgICAgICAgZGlyOiAicHJldmlvdXNTaWJsaW5nIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0OiAhMA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAifiI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGRpcjogInByZXZpb3VzU2libGluZyINCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgcHJlRmlsdGVyOiB7DQogICAgICAgICAgICAgICAgICAgIEFUVFI6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlWzFdID0gZVsxXS5yZXBsYWNlKHRlLCBuZSksIGVbM10gPSAoZVszXSB8fCBlWzRdIHx8IGVbNV0gfHwgIiIpLnJlcGxhY2UodGUsIG5lKSwgIn49IiA9PT0gZVsyXSAmJiAoZVszXSA9ICIgIiArIGVbM10gKyAiICIpLCBlLnNsaWNlKDAsIDQpDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIENISUxEOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZVsxXSA9IGVbMV0udG9Mb3dlckNhc2UoKSwgIm50aCIgPT09IGVbMV0uc2xpY2UoMCwgMykgPyAoZVszXSB8fCBzZS5lcnJvcihlWzBdKSwgZVs0XSA9ICsoZVs0XSA/IGVbNV0gKyAoZVs2XSB8fCAxKSA6IDIgKiAoImV2ZW4iID09PSBlWzNdIHx8ICJvZGQiID09PSBlWzNdKSksIGVbNV0gPSArKGVbN10gKyBlWzhdIHx8ICJvZGQiID09PSBlWzNdKSkgOiBlWzNdICYmIHNlLmVycm9yKGVbMF0pLCBlDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBTRVVETzogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQsIG4gPSAhZVs2XSAmJiBlWzJdOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEcuQ0hJTEQudGVzdChlWzBdKSA/IG51bGwgOiAoZVszXSA/IGVbMl0gPSBlWzRdIHx8IGVbNV0gfHwgIiIgOiBuICYmIFgudGVzdChuKSAmJiAodCA9IGgobiwgITApKSAmJiAodCA9IG4uaW5kZXhPZigiKSIsIG4ubGVuZ3RoIC0gdCkgLSBuLmxlbmd0aCkgJiYgKGVbMF0gPSBlWzBdLnNsaWNlKDAsIHQpLCBlWzJdID0gbi5zbGljZSgwLCB0KSksIGUuc2xpY2UoMCwgMykpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGZpbHRlcjogew0KICAgICAgICAgICAgICAgICAgICBUQUc6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZS5yZXBsYWNlKHRlLCBuZSkudG9Mb3dlckNhc2UoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiKiIgPT09IGUgPyBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gITANCiAgICAgICAgICAgICAgICAgICAgICAgIH0gOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUubm9kZU5hbWUgJiYgZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSB0DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIENMQVNTOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHBbZSArICIgIl07DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdCB8fCAodCA9IG5ldyBSZWdFeHAoIihefCIgKyBNICsgIikiICsgZSArICIoIiArIE0gKyAifCQpIikpICYmIHAoZSwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0LnRlc3QoInN0cmluZyIgPT0gdHlwZW9mIGUuY2xhc3NOYW1lICYmIGUuY2xhc3NOYW1lIHx8ICJ1bmRlZmluZWQiICE9IHR5cGVvZiBlLmdldEF0dHJpYnV0ZSAmJiBlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKSB8fCAiIikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIEFUVFI6IGZ1bmN0aW9uKG4sIHIsIGkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBzZS5hdHRyKGUsIG4pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsID09IHQgPyAiIT0iID09PSByIDogIXIgfHwgKHQgKz0gIiIsICI9IiA9PT0gciA/IHQgPT09IGkgOiAiIT0iID09PSByID8gdCAhPT0gaSA6ICJePSIgPT09IHIgPyBpICYmIDAgPT09IHQuaW5kZXhPZihpKSA6ICIqPSIgPT09IHIgPyBpICYmIC0xIDwgdC5pbmRleE9mKGkpIDogIiQ9IiA9PT0gciA/IGkgJiYgdC5zbGljZSgtaS5sZW5ndGgpID09PSBpIDogIn49IiA9PT0gciA/IC0xIDwgKCIgIiArIHQucmVwbGFjZShGLCAiICIpICsgIiAiKS5pbmRleE9mKGkpIDogInw9IiA9PT0gciAmJiAodCA9PT0gaSB8fCB0LnNsaWNlKDAsIGkubGVuZ3RoICsgMSkgPT09IGkgKyAiLSIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBDSElMRDogZnVuY3Rpb24oaCwgZSwgdCwgZywgdikgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHkgPSAibnRoIiAhPT0gaC5zbGljZSgwLCAzKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtID0gImxhc3QiICE9PSBoLnNsaWNlKC00KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ID0gIm9mLXR5cGUiID09PSBlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEgPT09IGcgJiYgMCA9PT0gdiA/IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gISFlLnBhcmVudE5vZGUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gOiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHIsIGksIG8sIGEsIHMsIHUsIGwgPSB5ICE9PSBtID8gIm5leHRTaWJsaW5nIiA6ICJwcmV2aW91c1NpYmxpbmciLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjID0gZS5wYXJlbnROb2RlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0geCAmJiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAgPSAhbiAmJiAheCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZCA9ICExOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAobCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChhID0gYVtsXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHggPyBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IGYgOiAxID09PSBhLm5vZGVUeXBlKSByZXR1cm4gITE7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdSA9IGwgPSAib25seSIgPT09IGggJiYgIXUgJiYgIm5leHRTaWJsaW5nIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICEwDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHUgPSBbbSA/IGMuZmlyc3RDaGlsZCA6IGMubGFzdENoaWxkXSwgbSAmJiBwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkID0gKHMgPSAociA9IChpID0gKG8gPSAoYSA9IGMpW2tdIHx8IChhW2tdID0ge30pKVthLnVuaXF1ZUlEXSB8fCAob1thLnVuaXF1ZUlEXSA9IHt9KSlbaF0gfHwgW10pWzBdID09PSBTICYmIHJbMV0pICYmIHJbMl0sIGEgPSBzICYmIGMuY2hpbGROb2Rlc1tzXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChhID0gKytzICYmIGEgJiYgYVtsXSB8fCAoZCA9IHMgPSAwKSB8fCB1LnBvcCgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgxID09PSBhLm5vZGVUeXBlICYmICsrZCAmJiBhID09PSBlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlbaF0gPSBbUywgcywgZF07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHAgJiYgKGQgPSBzID0gKHIgPSAoaSA9IChvID0gKGEgPSBlKVtrXSB8fCAoYVtrXSA9IHt9KSlbYS51bmlxdWVJRF0gfHwgKG9bYS51bmlxdWVJRF0gPSB7fSkpW2hdIHx8IFtdKVswXSA9PT0gUyAmJiByWzFdKSwgITEgPT09IGQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoYSA9ICsrcyAmJiBhICYmIGFbbF0gfHwgKGQgPSBzID0gMCkgfHwgdS5wb3AoKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHggPyBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IGYgOiAxID09PSBhLm5vZGVUeXBlKSAmJiArK2QgJiYgKHAgJiYgKChpID0gKG8gPSBhW2tdIHx8IChhW2tdID0ge30pKVthLnVuaXF1ZUlEXSB8fCAob1thLnVuaXF1ZUlEXSA9IHt9KSlbaF0gPSBbUywgZF0pLCBhID09PSBlKSkgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoZCAtPSB2KSA9PT0gZyB8fCBkICUgZyA9PSAwICYmIDAgPD0gZCAvIGcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBTRVVETzogZnVuY3Rpb24oZSwgbykgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQsIGEgPSBiLnBzZXVkb3NbZV0gfHwgYi5zZXRGaWx0ZXJzW2UudG9Mb3dlckNhc2UoKV0gfHwgc2UuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIiArIGUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFba10gPyBhKG8pIDogMSA8IGEubGVuZ3RoID8gKHQgPSBbZSwgZSwgIiIsIG9dLCBiLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoZS50b0xvd2VyQ2FzZSgpKSA/IGxlKGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiwgciA9IGEoZSwgbyksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSByLmxlbmd0aDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaS0tKSBlW24gPSBQKGUsIHJbaV0pXSA9ICEodFtuXSA9IHJbaV0pDQogICAgICAgICAgICAgICAgICAgICAgICB9KSA6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYShlLCAwLCB0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiBhDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHBzZXVkb3M6IHsNCiAgICAgICAgICAgICAgICAgICAgbm90OiBsZShmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgciA9IFtdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBbXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzID0gZihlLnJlcGxhY2UoQiwgIiQxIikpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNba10gPyBsZShmdW5jdGlvbihlLCB0LCBuLCByKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGksIG8gPSBzKGUsIG51bGwsIHIsIFtdKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSA9IGUubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChhLS0pKGkgPSBvW2FdKSAmJiAoZVthXSA9ICEodFthXSA9IGkpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJbMF0gPSBlLCBzKHIsIG51bGwsIG4sIGkpLCByWzBdID0gbnVsbCwgIWkucG9wKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgICAgIGhhczogbGUoZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMCA8IHNlKHQsIGUpLmxlbmd0aA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KSwNCiAgICAgICAgICAgICAgICAgICAgY29udGFpbnM6IGxlKGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ID0gdC5yZXBsYWNlKHRlLCBuZSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEgPCAoZS50ZXh0Q29udGVudCB8fCBvKGUpKS5pbmRleE9mKHQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KSwNCiAgICAgICAgICAgICAgICAgICAgbGFuZzogbGUoZnVuY3Rpb24obikgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFYudGVzdChuIHx8ICIiKSB8fCBzZS5lcnJvcigidW5zdXBwb3J0ZWQgbGFuZzogIiArIG4pLCBuID0gbi5yZXBsYWNlKHRlLCBuZSkudG9Mb3dlckNhc2UoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodCA9IEUgPyBlLmxhbmcgOiBlLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKSB8fCBlLmdldEF0dHJpYnV0ZSgibGFuZyIpKSByZXR1cm4gKHQgPSB0LnRvTG93ZXJDYXNlKCkpID09PSBuIHx8IDAgPT09IHQuaW5kZXhPZihuICsgIi0iKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlICgoZSA9IGUucGFyZW50Tm9kZSkgJiYgMSA9PT0gZS5ub2RlVHlwZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhMQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgICAgIHRhcmdldDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBuLmxvY2F0aW9uICYmIG4ubG9jYXRpb24uaGFzaDsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ICYmIHQuc2xpY2UoMSkgPT09IGUuaWQNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgcm9vdDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUgPT09IGENCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgZm9jdXM6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlID09PSBDLmFjdGl2ZUVsZW1lbnQgJiYgKCFDLmhhc0ZvY3VzIHx8IEMuaGFzRm9jdXMoKSkgJiYgISEoZS50eXBlIHx8IGUuaHJlZiB8fCB+ZS50YWJJbmRleCkNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogZ2UoITEpLA0KICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogZ2UoITApLA0KICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5wdXQiID09PSB0ICYmICEhZS5jaGVja2VkIHx8ICJvcHRpb24iID09PSB0ICYmICEhZS5zZWxlY3RlZA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUucGFyZW50Tm9kZSAmJiBlLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCwgITAgPT09IGUuc2VsZWN0ZWQNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgZW1wdHk6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoZSA9IGUuZmlyc3RDaGlsZDsgZTsgZSA9IGUubmV4dFNpYmxpbmcpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUubm9kZVR5cGUgPCA2KSByZXR1cm4gITE7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gITANCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWIucHNldWRvcy5lbXB0eShlKQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBoZWFkZXI6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKLnRlc3QoZS5ub2RlTmFtZSkNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBRLnRlc3QoZS5ub2RlTmFtZSkNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgYnV0dG9uOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5wdXQiID09PSB0ICYmICJidXR0b24iID09PSBlLnR5cGUgfHwgImJ1dHRvbiIgPT09IHQNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgdGV4dDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQ7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gImlucHV0IiA9PT0gZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICYmICJ0ZXh0IiA9PT0gZS50eXBlICYmIChudWxsID09ICh0ID0gZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSkgfHwgInRleHQiID09PSB0LnRvTG93ZXJDYXNlKCkpDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGZpcnN0OiB2ZShmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMF0NCiAgICAgICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgICAgIGxhc3Q6IHZlKGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbdCAtIDFdDQogICAgICAgICAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgICAgICAgICBlcTogdmUoZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtuIDwgMCA/IG4gKyB0IDogbl0NCiAgICAgICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgICAgIGV2ZW46IHZlKGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIG4gPSAwOyBuIDwgdDsgbiArPSAyKSBlLnB1c2gobik7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZQ0KICAgICAgICAgICAgICAgICAgICB9KSwNCiAgICAgICAgICAgICAgICAgICAgb2RkOiB2ZShmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBuID0gMTsgbiA8IHQ7IG4gKz0gMikgZS5wdXNoKG4pOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUNCiAgICAgICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgICAgIGx0OiB2ZShmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciByID0gbiA8IDAgPyBuICsgdCA6IHQgPCBuID8gdCA6IG47IDAgPD0gLS1yOykgZS5wdXNoKHIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUNCiAgICAgICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgICAgIGd0OiB2ZShmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciByID0gbiA8IDAgPyBuICsgdCA6IG47ICsrciA8IHQ7KSBlLnB1c2gocik7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pLnBzZXVkb3MubnRoID0gYi5wc2V1ZG9zLmVxLCB7DQogICAgICAgICAgICAgICAgcmFkaW86ICEwLA0KICAgICAgICAgICAgICAgIGNoZWNrYm94OiAhMCwNCiAgICAgICAgICAgICAgICBmaWxlOiAhMCwNCiAgICAgICAgICAgICAgICBwYXNzd29yZDogITAsDQogICAgICAgICAgICAgICAgaW1hZ2U6ICEwDQogICAgICAgICAgICB9KSBiLnBzZXVkb3NbZV0gPSBkZShlKTsNCiAgICAgICAgZm9yIChlIGluIHsNCiAgICAgICAgICAgICAgICBzdWJtaXQ6ICEwLA0KICAgICAgICAgICAgICAgIHJlc2V0OiAhMA0KICAgICAgICAgICAgfSkgYi5wc2V1ZG9zW2VdID0gaGUoZSk7DQoNCiAgICAgICAgZnVuY3Rpb24gbWUoKSB7fQ0KDQogICAgICAgIGZ1bmN0aW9uIHhlKGUpIHsNCiAgICAgICAgICAgIGZvciAodmFyIHQgPSAwLCBuID0gZS5sZW5ndGgsIHIgPSAiIjsgdCA8IG47IHQrKykgciArPSBlW3RdLnZhbHVlOw0KICAgICAgICAgICAgcmV0dXJuIHINCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGJlKHMsIGUsIHQpIHsNCiAgICAgICAgICAgIHZhciB1ID0gZS5kaXIsDQogICAgICAgICAgICAgICAgbCA9IGUubmV4dCwNCiAgICAgICAgICAgICAgICBjID0gbCB8fCB1LA0KICAgICAgICAgICAgICAgIGYgPSB0ICYmICJwYXJlbnROb2RlIiA9PT0gYywNCiAgICAgICAgICAgICAgICBwID0gcisrOw0KICAgICAgICAgICAgcmV0dXJuIGUuZmlyc3QgPyBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICAgICAgd2hpbGUgKGUgPSBlW3VdKQ0KICAgICAgICAgICAgICAgICAgICBpZiAoMSA9PT0gZS5ub2RlVHlwZSB8fCBmKSByZXR1cm4gcyhlLCB0LCBuKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gITENCiAgICAgICAgICAgIH0gOiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICAgICAgdmFyIHIsIGksIG8sIGEgPSBbUywgcF07DQogICAgICAgICAgICAgICAgaWYgKG4pIHsNCiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGUgPSBlW3VdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgxID09PSBlLm5vZGVUeXBlIHx8IGYpICYmIHMoZSwgdCwgbikpIHJldHVybiAhMA0KICAgICAgICAgICAgICAgIH0gZWxzZQ0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZSA9IGVbdV0pDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoMSA9PT0gZS5ub2RlVHlwZSB8fCBmKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID0gKG8gPSBlW2tdIHx8IChlW2tdID0ge30pKVtlLnVuaXF1ZUlEXSB8fCAob1tlLnVuaXF1ZUlEXSA9IHt9KSwgbCAmJiBsID09PSBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpIGUgPSBlW3VdIHx8IGU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgociA9IGlbY10pICYmIHJbMF0gPT09IFMgJiYgclsxXSA9PT0gcCkgcmV0dXJuIGFbMl0gPSByWzJdOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGlbY10gPSBhKVsyXSA9IHMoZSwgdCwgbikpIHJldHVybiAhMA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gcmV0dXJuICExDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiB3ZShpKSB7DQogICAgICAgICAgICByZXR1cm4gMSA8IGkubGVuZ3RoID8gZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICAgICAgICAgIHZhciByID0gaS5sZW5ndGg7DQogICAgICAgICAgICAgICAgd2hpbGUgKHItLSkNCiAgICAgICAgICAgICAgICAgICAgaWYgKCFpW3JdKGUsIHQsIG4pKSByZXR1cm4gITE7DQogICAgICAgICAgICAgICAgcmV0dXJuICEwDQogICAgICAgICAgICB9IDogaVswXQ0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gVGUoZSwgdCwgbiwgciwgaSkgew0KICAgICAgICAgICAgZm9yICh2YXIgbywgYSA9IFtdLCBzID0gMCwgdSA9IGUubGVuZ3RoLCBsID0gbnVsbCAhPSB0OyBzIDwgdTsgcysrKShvID0gZVtzXSkgJiYgKG4gJiYgIW4obywgciwgaSkgfHwgKGEucHVzaChvKSwgbCAmJiB0LnB1c2gocykpKTsNCiAgICAgICAgICAgIHJldHVybiBhDQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBDZShkLCBoLCBnLCB2LCB5LCBlKSB7DQogICAgICAgICAgICByZXR1cm4gdiAmJiAhdltrXSAmJiAodiA9IENlKHYpKSwgeSAmJiAheVtrXSAmJiAoeSA9IENlKHksIGUpKSwgbGUoZnVuY3Rpb24oZSwgdCwgbiwgcikgew0KICAgICAgICAgICAgICAgIHZhciBpLCBvLCBhLCBzID0gW10sDQogICAgICAgICAgICAgICAgICAgIHUgPSBbXSwNCiAgICAgICAgICAgICAgICAgICAgbCA9IHQubGVuZ3RoLA0KICAgICAgICAgICAgICAgICAgICBjID0gZSB8fCBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciByID0gMCwgaSA9IHQubGVuZ3RoOyByIDwgaTsgcisrKSBzZShlLCB0W3JdLCBuKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuDQogICAgICAgICAgICAgICAgICAgIH0oaCB8fCAiKiIsIG4ubm9kZVR5cGUgPyBbbl0gOiBuLCBbXSksDQogICAgICAgICAgICAgICAgICAgIGYgPSAhZCB8fCAhZSAmJiBoID8gYyA6IFRlKGMsIHMsIGQsIG4sIHIpLA0KICAgICAgICAgICAgICAgICAgICBwID0gZyA/IHkgfHwgKGUgPyBkIDogbCB8fCB2KSA/IFtdIDogdCA6IGY7DQogICAgICAgICAgICAgICAgaWYgKGcgJiYgZyhmLCBwLCBuLCByKSwgdikgew0KICAgICAgICAgICAgICAgICAgICBpID0gVGUocCwgdSksIHYoaSwgW10sIG4sIHIpLCBvID0gaS5sZW5ndGg7DQogICAgICAgICAgICAgICAgICAgIHdoaWxlIChvLS0pKGEgPSBpW29dKSAmJiAocFt1W29dXSA9ICEoZlt1W29dXSA9IGEpKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoZSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoeSB8fCBkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoeSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBbXSwgbyA9IHAubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChvLS0pKGEgPSBwW29dKSAmJiBpLnB1c2goZltvXSA9IGEpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkobnVsbCwgcCA9IFtdLCBpLCByKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgbyA9IHAubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG8tLSkoYSA9IHBbb10pICYmIC0xIDwgKGkgPSB5ID8gUChlLCBhKSA6IHNbb10pICYmIChlW2ldID0gISh0W2ldID0gYSkpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGVsc2UgcCA9IFRlKHAgPT09IHQgPyBwLnNwbGljZShsLCBwLmxlbmd0aCkgOiBwKSwgeSA/IHkobnVsbCwgdCwgcCwgcikgOiBILmFwcGx5KHQsIHApDQogICAgICAgICAgICB9KQ0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gRWUoZSkgew0KICAgICAgICAgICAgZm9yICh2YXIgaSwgdCwgbiwgciA9IGUubGVuZ3RoLCBvID0gYi5yZWxhdGl2ZVtlWzBdLnR5cGVdLCBhID0gbyB8fCBiLnJlbGF0aXZlWyIgIl0sIHMgPSBvID8gMSA6IDAsIHUgPSBiZShmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBlID09PSBpDQogICAgICAgICAgICAgICAgfSwgYSwgITApLCBsID0gYmUoZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEgPCBQKGksIGUpDQogICAgICAgICAgICAgICAgfSwgYSwgITApLCBjID0gW2Z1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHIgPSAhbyAmJiAobiB8fCB0ICE9PSB3KSB8fCAoKGkgPSB0KS5ub2RlVHlwZSA/IHUoZSwgdCwgbikgOiBsKGUsIHQsIG4pKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgPSBudWxsLCByDQogICAgICAgICAgICAgICAgfV07IHMgPCByOyBzKyspDQogICAgICAgICAgICAgICAgaWYgKHQgPSBiLnJlbGF0aXZlW2Vbc10udHlwZV0pIGMgPSBbYmUod2UoYyksIHQpXTsNCiAgICAgICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCh0ID0gYi5maWx0ZXJbZVtzXS50eXBlXS5hcHBseShudWxsLCBlW3NdLm1hdGNoZXMpKVtrXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChuID0gKytzOyBuIDwgcjsgbisrKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiLnJlbGF0aXZlW2Vbbl0udHlwZV0pIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENlKDEgPCBzICYmIHdlKGMpLCAxIDwgcyAmJiB4ZShlLnNsaWNlKDAsIHMgLSAxKS5jb25jYXQoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiICIgPT09IGVbcyAtIDJdLnR5cGUgPyAiKiIgOiAiIg0KICAgICAgICAgICAgICAgICAgICAgICAgfSkpLnJlcGxhY2UoQiwgIiQxIiksIHQsIHMgPCBuICYmIEVlKGUuc2xpY2UocywgbikpLCBuIDwgciAmJiBFZShlID0gZS5zbGljZShuKSksIG4gPCByICYmIHhlKGUpKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGMucHVzaCh0KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB3ZShjKQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBtZS5wcm90b3R5cGUgPSBiLmZpbHRlcnMgPSBiLnBzZXVkb3MsIGIuc2V0RmlsdGVycyA9IG5ldyBtZSwgaCA9IHNlLnRva2VuaXplID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgdmFyIG4sIHIsIGksIG8sIGEsIHMsIHUsIGwgPSB4W2UgKyAiICJdOw0KICAgICAgICAgICAgaWYgKGwpIHJldHVybiB0ID8gMCA6IGwuc2xpY2UoMCk7DQogICAgICAgICAgICBhID0gZSwgcyA9IFtdLCB1ID0gYi5wcmVGaWx0ZXI7DQogICAgICAgICAgICB3aGlsZSAoYSkgew0KICAgICAgICAgICAgICAgIGZvciAobyBpbiBuICYmICEociA9IF8uZXhlYyhhKSkgfHwgKHIgJiYgKGEgPSBhLnNsaWNlKHJbMF0ubGVuZ3RoKSB8fCBhKSwgcy5wdXNoKGkgPSBbXSkpLCBuID0gITEsIChyID0gei5leGVjKGEpKSAmJiAobiA9IHIuc2hpZnQoKSwgaS5wdXNoKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBuLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogclswXS5yZXBsYWNlKEIsICIgIikNCiAgICAgICAgICAgICAgICAgICAgfSksIGEgPSBhLnNsaWNlKG4ubGVuZ3RoKSksIGIuZmlsdGVyKSAhKHIgPSBHW29dLmV4ZWMoYSkpIHx8IHVbb10gJiYgIShyID0gdVtvXShyKSkgfHwgKG4gPSByLnNoaWZ0KCksIGkucHVzaCh7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBuLA0KICAgICAgICAgICAgICAgICAgICB0eXBlOiBvLA0KICAgICAgICAgICAgICAgICAgICBtYXRjaGVzOiByDQogICAgICAgICAgICAgICAgfSksIGEgPSBhLnNsaWNlKG4ubGVuZ3RoKSk7DQogICAgICAgICAgICAgICAgaWYgKCFuKSBicmVhaw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHQgPyBhLmxlbmd0aCA6IGEgPyBzZS5lcnJvcihlKSA6IHgoZSwgcykuc2xpY2UoMCkNCiAgICAgICAgfSwgZiA9IHNlLmNvbXBpbGUgPSBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICB2YXIgbiwgdiwgeSwgbSwgeCwgciwgaSA9IFtdLA0KICAgICAgICAgICAgICAgIG8gPSBbXSwNCiAgICAgICAgICAgICAgICBhID0gTltlICsgIiAiXTsNCiAgICAgICAgICAgIGlmICghYSkgew0KICAgICAgICAgICAgICAgIHQgfHwgKHQgPSBoKGUpKSwgbiA9IHQubGVuZ3RoOw0KICAgICAgICAgICAgICAgIHdoaWxlIChuLS0pKGEgPSBFZSh0W25dKSlba10gPyBpLnB1c2goYSkgOiBvLnB1c2goYSk7DQogICAgICAgICAgICAgICAgKGEgPSBOKGUsICh2ID0gbywgbSA9IDAgPCAoeSA9IGkpLmxlbmd0aCwgeCA9IDAgPCB2Lmxlbmd0aCwgciA9IGZ1bmN0aW9uKGUsIHQsIG4sIHIsIGkpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG8sIGEsIHMsIHUgPSAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgbCA9ICIwIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBlICYmIFtdLA0KICAgICAgICAgICAgICAgICAgICAgICAgZiA9IFtdLA0KICAgICAgICAgICAgICAgICAgICAgICAgcCA9IHcsDQogICAgICAgICAgICAgICAgICAgICAgICBkID0gZSB8fCB4ICYmIGIuZmluZC5UQUcoIioiLCBpKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGggPSBTICs9IG51bGwgPT0gcCA/IDEgOiBNYXRoLnJhbmRvbSgpIHx8IC4xLA0KICAgICAgICAgICAgICAgICAgICAgICAgZyA9IGQubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICBmb3IgKGkgJiYgKHcgPSB0ID09PSBDIHx8IHQgfHwgaSk7IGwgIT09IGcgJiYgbnVsbCAhPSAobyA9IGRbbF0pOyBsKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4ICYmIG8pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhID0gMCwgdCB8fCBvLm93bmVyRG9jdW1lbnQgPT09IEMgfHwgKFQobyksIG4gPSAhRSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHMgPSB2W2ErK10pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzKG8sIHQgfHwgQywgbikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIucHVzaChvKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpICYmIChTID0gaCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIG0gJiYgKChvID0gIXMgJiYgbykgJiYgdS0tLCBlICYmIGMucHVzaChvKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAodSArPSBsLCBtICYmIGwgIT09IHUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHMgPSB5W2ErK10pIHMoYywgZiwgdCwgbik7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgwIDwgdSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGwtLSkgY1tsXSB8fCBmW2xdIHx8IChmW2xdID0gcS5jYWxsKHIpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gVGUoZikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEguYXBwbHkociwgZiksIGkgJiYgIWUgJiYgMCA8IGYubGVuZ3RoICYmIDEgPCB1ICsgeS5sZW5ndGggJiYgc2UudW5pcXVlU29ydChyKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBpICYmIChTID0gaCwgdyA9IHApLCBjDQogICAgICAgICAgICAgICAgfSwgbSA/IGxlKHIpIDogcikpKS5zZWxlY3RvciA9IGUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhDQogICAgICAgIH0sIGcgPSBzZS5zZWxlY3QgPSBmdW5jdGlvbihlLCB0LCBuLCByKSB7DQogICAgICAgICAgICB2YXIgaSwgbywgYSwgcywgdSwgbCA9ICJmdW5jdGlvbiIgPT0gdHlwZW9mIGUgJiYgZSwNCiAgICAgICAgICAgICAgICBjID0gIXIgJiYgaChlID0gbC5zZWxlY3RvciB8fCBlKTsNCiAgICAgICAgICAgIGlmIChuID0gbiB8fCBbXSwgMSA9PT0gYy5sZW5ndGgpIHsNCiAgICAgICAgICAgICAgICBpZiAoMiA8IChvID0gY1swXSA9IGNbMF0uc2xpY2UoMCkpLmxlbmd0aCAmJiAiSUQiID09PSAoYSA9IG9bMF0pLnR5cGUgJiYgOSA9PT0gdC5ub2RlVHlwZSAmJiBFICYmIGIucmVsYXRpdmVbb1sxXS50eXBlXSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gKGIuZmluZC5JRChhLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSwgbmUpLCB0KSB8fCBbXSlbMF0pKSByZXR1cm4gbjsNCiAgICAgICAgICAgICAgICAgICAgbCAmJiAodCA9IHQucGFyZW50Tm9kZSksIGUgPSBlLnNsaWNlKG8uc2hpZnQoKS52YWx1ZS5sZW5ndGgpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGkgPSBHLm5lZWRzQ29udGV4dC50ZXN0KGUpID8gMCA6IG8ubGVuZ3RoOw0KICAgICAgICAgICAgICAgIHdoaWxlIChpLS0pIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGEgPSBvW2ldLCBiLnJlbGF0aXZlW3MgPSBhLnR5cGVdKSBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCh1ID0gYi5maW5kW3NdKSAmJiAociA9IHUoYS5tYXRjaGVzWzBdLnJlcGxhY2UodGUsIG5lKSwgZWUudGVzdChvWzBdLnR5cGUpICYmIHllKHQucGFyZW50Tm9kZSkgfHwgdCkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoby5zcGxpY2UoaSwgMSksICEoZSA9IHIubGVuZ3RoICYmIHhlKG8pKSkgcmV0dXJuIEguYXBwbHkobiwgciksIG47DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIChsIHx8IGYoZSwgYykpKHIsIHQsICFFLCBuLCAhdCB8fCBlZS50ZXN0KGUpICYmIHllKHQucGFyZW50Tm9kZSkgfHwgdCksIG4NCiAgICAgICAgfSwgZC5zb3J0U3RhYmxlID0gay5zcGxpdCgiIikuc29ydChEKS5qb2luKCIiKSA9PT0gaywgZC5kZXRlY3REdXBsaWNhdGVzID0gISFsLCBUKCksIGQuc29ydERldGFjaGVkID0gY2UoZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIDEgJiBlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKEMuY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKSkNCiAgICAgICAgfSksIGNlKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlLmlubmVySFRNTCA9ICI8YSBocmVmPScjJz48L2E+IiwgIiMiID09PSBlLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIikNCiAgICAgICAgfSkgfHwgZmUoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLCBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICBpZiAoIW4pIHJldHVybiBlLmdldEF0dHJpYnV0ZSh0LCAidHlwZSIgPT09IHQudG9Mb3dlckNhc2UoKSA/IDEgOiAyKQ0KICAgICAgICB9KSwgZC5hdHRyaWJ1dGVzICYmIGNlKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlLmlubmVySFRNTCA9ICI8aW5wdXQvPiIsIGUuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIiIpLCAiIiA9PT0gZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKQ0KICAgICAgICB9KSB8fCBmZSgidmFsdWUiLCBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICBpZiAoIW4gJiYgImlucHV0IiA9PT0gZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSByZXR1cm4gZS5kZWZhdWx0VmFsdWUNCiAgICAgICAgfSksIGNlKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBudWxsID09IGUuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpDQogICAgICAgIH0pIHx8IGZlKFIsIGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHZhciByOw0KICAgICAgICAgICAgaWYgKCFuKSByZXR1cm4gITAgPT09IGVbdF0gPyB0LnRvTG93ZXJDYXNlKCkgOiAociA9IGUuZ2V0QXR0cmlidXRlTm9kZSh0KSkgJiYgci5zcGVjaWZpZWQgPyByLnZhbHVlIDogbnVsbA0KICAgICAgICB9KSwgc2UNCiAgICB9KEMpOw0KICAgIGsuZmluZCA9IGgsIGsuZXhwciA9IGguc2VsZWN0b3JzLCBrLmV4cHJbIjoiXSA9IGsuZXhwci5wc2V1ZG9zLCBrLnVuaXF1ZVNvcnQgPSBrLnVuaXF1ZSA9IGgudW5pcXVlU29ydCwgay50ZXh0ID0gaC5nZXRUZXh0LCBrLmlzWE1MRG9jID0gaC5pc1hNTCwgay5jb250YWlucyA9IGguY29udGFpbnMsIGsuZXNjYXBlU2VsZWN0b3IgPSBoLmVzY2FwZTsNCiAgICB2YXIgVCA9IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHZhciByID0gW10sDQogICAgICAgICAgICAgICAgaSA9IHZvaWQgMCAhPT0gbjsNCiAgICAgICAgICAgIHdoaWxlICgoZSA9IGVbdF0pICYmIDkgIT09IGUubm9kZVR5cGUpDQogICAgICAgICAgICAgICAgaWYgKDEgPT09IGUubm9kZVR5cGUpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGkgJiYgayhlKS5pcyhuKSkgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIHIucHVzaChlKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiByDQogICAgICAgIH0sDQogICAgICAgIFMgPSBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICBmb3IgKHZhciBuID0gW107IGU7IGUgPSBlLm5leHRTaWJsaW5nKSAxID09PSBlLm5vZGVUeXBlICYmIGUgIT09IHQgJiYgbi5wdXNoKGUpOw0KICAgICAgICAgICAgcmV0dXJuIG4NCiAgICAgICAgfSwNCiAgICAgICAgTiA9IGsuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQ7DQoNCiAgICBmdW5jdGlvbiBBKGUsIHQpIHsNCiAgICAgICAgcmV0dXJuIGUubm9kZU5hbWUgJiYgZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSB0LnRvTG93ZXJDYXNlKCkNCiAgICB9DQogICAgdmFyIEQgPSAvXjwoW2Etel1bXlwvXDA+Olx4MjBcdFxyXG5cZl0qKVtceDIwXHRcclxuXGZdKlwvPz4oPzo8XC9cMT58KSQvaTsNCg0KICAgIGZ1bmN0aW9uIGooZSwgbiwgcikgew0KICAgICAgICByZXR1cm4gbShuKSA/IGsuZ3JlcChlLCBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICByZXR1cm4gISFuLmNhbGwoZSwgdCwgZSkgIT09IHINCiAgICAgICAgfSkgOiBuLm5vZGVUeXBlID8gay5ncmVwKGUsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlID09PSBuICE9PSByDQogICAgICAgIH0pIDogInN0cmluZyIgIT0gdHlwZW9mIG4gPyBrLmdyZXAoZSwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIC0xIDwgaS5jYWxsKG4sIGUpICE9PSByDQogICAgICAgIH0pIDogay5maWx0ZXIobiwgZSwgcikNCiAgICB9DQogICAgay5maWx0ZXIgPSBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgIHZhciByID0gdFswXTsNCiAgICAgICAgcmV0dXJuIG4gJiYgKGUgPSAiOm5vdCgiICsgZSArICIpIiksIDEgPT09IHQubGVuZ3RoICYmIDEgPT09IHIubm9kZVR5cGUgPyBrLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHIsIGUpID8gW3JdIDogW10gOiBrLmZpbmQubWF0Y2hlcyhlLCBrLmdyZXAodCwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIDEgPT09IGUubm9kZVR5cGUNCiAgICAgICAgfSkpDQogICAgfSwgay5mbi5leHRlbmQoew0KICAgICAgICBmaW5kOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICB2YXIgdCwgbiwgciA9IHRoaXMubGVuZ3RoLA0KICAgICAgICAgICAgICAgIGkgPSB0aGlzOw0KICAgICAgICAgICAgaWYgKCJzdHJpbmciICE9IHR5cGVvZiBlKSByZXR1cm4gdGhpcy5wdXNoU3RhY2soayhlKS5maWx0ZXIoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZm9yICh0ID0gMDsgdCA8IHI7IHQrKykNCiAgICAgICAgICAgICAgICAgICAgaWYgKGsuY29udGFpbnMoaVt0XSwgdGhpcykpIHJldHVybiAhMA0KICAgICAgICAgICAgfSkpOw0KICAgICAgICAgICAgZm9yIChuID0gdGhpcy5wdXNoU3RhY2soW10pLCB0ID0gMDsgdCA8IHI7IHQrKykgay5maW5kKGUsIGlbdF0sIG4pOw0KICAgICAgICAgICAgcmV0dXJuIDEgPCByID8gay51bmlxdWVTb3J0KG4pIDogbg0KICAgICAgICB9LA0KICAgICAgICBmaWx0ZXI6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnB1c2hTdGFjayhqKHRoaXMsIGUgfHwgW10sICExKSkNCiAgICAgICAgfSwNCiAgICAgICAgbm90OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5wdXNoU3RhY2soaih0aGlzLCBlIHx8IFtdLCAhMCkpDQogICAgICAgIH0sDQogICAgICAgIGlzOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gISFqKHRoaXMsICJzdHJpbmciID09IHR5cGVvZiBlICYmIE4udGVzdChlKSA/IGsoZSkgOiBlIHx8IFtdLCAhMSkubGVuZ3RoDQogICAgICAgIH0NCiAgICB9KTsNCiAgICB2YXIgcSwgTCA9IC9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKykpJC87DQogICAgKGsuZm4uaW5pdCA9IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgdmFyIHIsIGk7DQogICAgICAgIGlmICghZSkgcmV0dXJuIHRoaXM7DQogICAgICAgIGlmIChuID0gbiB8fCBxLCAic3RyaW5nIiA9PSB0eXBlb2YgZSkgew0KICAgICAgICAgICAgaWYgKCEociA9ICI8IiA9PT0gZVswXSAmJiAiPiIgPT09IGVbZS5sZW5ndGggLSAxXSAmJiAzIDw9IGUubGVuZ3RoID8gW251bGwsIGUsIG51bGxdIDogTC5leGVjKGUpKSB8fCAhclsxXSAmJiB0KSByZXR1cm4gIXQgfHwgdC5qcXVlcnkgPyAodCB8fCBuKS5maW5kKGUpIDogdGhpcy5jb25zdHJ1Y3Rvcih0KS5maW5kKGUpOw0KICAgICAgICAgICAgaWYgKHJbMV0pIHsNCiAgICAgICAgICAgICAgICBpZiAodCA9IHQgaW5zdGFuY2VvZiBrID8gdFswXSA6IHQsIGsubWVyZ2UodGhpcywgay5wYXJzZUhUTUwoclsxXSwgdCAmJiB0Lm5vZGVUeXBlID8gdC5vd25lckRvY3VtZW50IHx8IHQgOiBFLCAhMCkpLCBELnRlc3QoclsxXSkgJiYgay5pc1BsYWluT2JqZWN0KHQpKQ0KICAgICAgICAgICAgICAgICAgICBmb3IgKHIgaW4gdCkgbSh0aGlzW3JdKSA/IHRoaXNbcl0odFtyXSkgOiB0aGlzLmF0dHIociwgdFtyXSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiAoaSA9IEUuZ2V0RWxlbWVudEJ5SWQoclsyXSkpICYmICh0aGlzWzBdID0gaSwgdGhpcy5sZW5ndGggPSAxKSwgdGhpcw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBlLm5vZGVUeXBlID8gKHRoaXNbMF0gPSBlLCB0aGlzLmxlbmd0aCA9IDEsIHRoaXMpIDogbShlKSA/IHZvaWQgMCAhPT0gbi5yZWFkeSA/IG4ucmVhZHkoZSkgOiBlKGspIDogay5tYWtlQXJyYXkoZSwgdGhpcykNCiAgICB9KS5wcm90b3R5cGUgPSBrLmZuLCBxID0gayhFKTsNCiAgICB2YXIgSCA9IC9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLA0KICAgICAgICBPID0gew0KICAgICAgICAgICAgY2hpbGRyZW46ICEwLA0KICAgICAgICAgICAgY29udGVudHM6ICEwLA0KICAgICAgICAgICAgbmV4dDogITAsDQogICAgICAgICAgICBwcmV2OiAhMA0KICAgICAgICB9Ow0KDQogICAgZnVuY3Rpb24gUChlLCB0KSB7DQogICAgICAgIHdoaWxlICgoZSA9IGVbdF0pICYmIDEgIT09IGUubm9kZVR5cGUpOw0KICAgICAgICByZXR1cm4gZQ0KICAgIH0NCiAgICBrLmZuLmV4dGVuZCh7DQogICAgICAgIGhhczogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIHQgPSBrKGUsIHRoaXMpLA0KICAgICAgICAgICAgICAgIG4gPSB0Lmxlbmd0aDsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciBlID0gMDsgZSA8IG47IGUrKykNCiAgICAgICAgICAgICAgICAgICAgaWYgKGsuY29udGFpbnModGhpcywgdFtlXSkpIHJldHVybiAhMA0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgY2xvc2VzdDogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgdmFyIG4sIHIgPSAwLA0KICAgICAgICAgICAgICAgIGkgPSB0aGlzLmxlbmd0aCwNCiAgICAgICAgICAgICAgICBvID0gW10sDQogICAgICAgICAgICAgICAgYSA9ICJzdHJpbmciICE9IHR5cGVvZiBlICYmIGsoZSk7DQogICAgICAgICAgICBpZiAoIU4udGVzdChlKSkNCiAgICAgICAgICAgICAgICBmb3IgKDsgciA8IGk7IHIrKykNCiAgICAgICAgICAgICAgICAgICAgZm9yIChuID0gdGhpc1tyXTsgbiAmJiBuICE9PSB0OyBuID0gbi5wYXJlbnROb2RlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4ubm9kZVR5cGUgPCAxMSAmJiAoYSA/IC0xIDwgYS5pbmRleChuKSA6IDEgPT09IG4ubm9kZVR5cGUgJiYgay5maW5kLm1hdGNoZXNTZWxlY3RvcihuLCBlKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLnB1c2gobik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0aGlzLnB1c2hTdGFjaygxIDwgby5sZW5ndGggPyBrLnVuaXF1ZVNvcnQobykgOiBvKQ0KICAgICAgICB9LA0KICAgICAgICBpbmRleDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgPyAic3RyaW5nIiA9PSB0eXBlb2YgZSA/IGkuY2FsbChrKGUpLCB0aGlzWzBdKSA6IGkuY2FsbCh0aGlzLCBlLmpxdWVyeSA/IGVbMF0gOiBlKSA6IHRoaXNbMF0gJiYgdGhpc1swXS5wYXJlbnROb2RlID8gdGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGggOiAtMQ0KICAgICAgICB9LA0KICAgICAgICBhZGQ6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnB1c2hTdGFjayhrLnVuaXF1ZVNvcnQoay5tZXJnZSh0aGlzLmdldCgpLCBrKGUsIHQpKSkpDQogICAgICAgIH0sDQogICAgICAgIGFkZEJhY2s6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmFkZChudWxsID09IGUgPyB0aGlzLnByZXZPYmplY3QgOiB0aGlzLnByZXZPYmplY3QuZmlsdGVyKGUpKQ0KICAgICAgICB9DQogICAgfSksIGsuZWFjaCh7DQogICAgICAgIHBhcmVudDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIHQgPSBlLnBhcmVudE5vZGU7DQogICAgICAgICAgICByZXR1cm4gdCAmJiAxMSAhPT0gdC5ub2RlVHlwZSA/IHQgOiBudWxsDQogICAgICAgIH0sDQogICAgICAgIHBhcmVudHM6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBUKGUsICJwYXJlbnROb2RlIikNCiAgICAgICAgfSwNCiAgICAgICAgcGFyZW50c1VudGlsOiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICByZXR1cm4gVChlLCAicGFyZW50Tm9kZSIsIG4pDQogICAgICAgIH0sDQogICAgICAgIG5leHQ6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBQKGUsICJuZXh0U2libGluZyIpDQogICAgICAgIH0sDQogICAgICAgIHByZXY6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBQKGUsICJwcmV2aW91c1NpYmxpbmciKQ0KICAgICAgICB9LA0KICAgICAgICBuZXh0QWxsOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gVChlLCAibmV4dFNpYmxpbmciKQ0KICAgICAgICB9LA0KICAgICAgICBwcmV2QWxsOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gVChlLCAicHJldmlvdXNTaWJsaW5nIikNCiAgICAgICAgfSwNCiAgICAgICAgbmV4dFVudGlsOiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICByZXR1cm4gVChlLCAibmV4dFNpYmxpbmciLCBuKQ0KICAgICAgICB9LA0KICAgICAgICBwcmV2VW50aWw6IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHJldHVybiBUKGUsICJwcmV2aW91c1NpYmxpbmciLCBuKQ0KICAgICAgICB9LA0KICAgICAgICBzaWJsaW5nczogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIFMoKGUucGFyZW50Tm9kZSB8fCB7fSkuZmlyc3RDaGlsZCwgZSkNCiAgICAgICAgfSwNCiAgICAgICAgY2hpbGRyZW46IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBTKGUuZmlyc3RDaGlsZCkNCiAgICAgICAgfSwNCiAgICAgICAgY29udGVudHM6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAidW5kZWZpbmVkIiAhPSB0eXBlb2YgZS5jb250ZW50RG9jdW1lbnQgPyBlLmNvbnRlbnREb2N1bWVudCA6IChBKGUsICJ0ZW1wbGF0ZSIpICYmIChlID0gZS5jb250ZW50IHx8IGUpLCBrLm1lcmdlKFtdLCBlLmNoaWxkTm9kZXMpKQ0KICAgICAgICB9DQogICAgfSwgZnVuY3Rpb24ociwgaSkgew0KICAgICAgICBrLmZuW3JdID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgdmFyIG4gPSBrLm1hcCh0aGlzLCBpLCBlKTsNCiAgICAgICAgICAgIHJldHVybiAiVW50aWwiICE9PSByLnNsaWNlKC01KSAmJiAodCA9IGUpLCB0ICYmICJzdHJpbmciID09IHR5cGVvZiB0ICYmIChuID0gay5maWx0ZXIodCwgbikpLCAxIDwgdGhpcy5sZW5ndGggJiYgKE9bcl0gfHwgay51bmlxdWVTb3J0KG4pLCBILnRlc3QocikgJiYgbi5yZXZlcnNlKCkpLCB0aGlzLnB1c2hTdGFjayhuKQ0KICAgICAgICB9DQogICAgfSk7DQogICAgdmFyIFIgPSAvW15ceDIwXHRcclxuXGZdKy9nOw0KDQogICAgZnVuY3Rpb24gTShlKSB7DQogICAgICAgIHJldHVybiBlDQogICAgfQ0KDQogICAgZnVuY3Rpb24gSShlKSB7DQogICAgICAgIHRocm93IGUNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBXKGUsIHQsIG4sIHIpIHsNCiAgICAgICAgdmFyIGk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBlICYmIG0oaSA9IGUucHJvbWlzZSkgPyBpLmNhbGwoZSkuZG9uZSh0KS5mYWlsKG4pIDogZSAmJiBtKGkgPSBlLnRoZW4pID8gaS5jYWxsKGUsIHQsIG4pIDogdC5hcHBseSh2b2lkIDAsIFtlXS5zbGljZShyKSkNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgbi5hcHBseSh2b2lkIDAsIFtlXSkNCiAgICAgICAgfQ0KICAgIH0NCiAgICBrLkNhbGxiYWNrcyA9IGZ1bmN0aW9uKHIpIHsNCiAgICAgICAgdmFyIGUsIG47DQogICAgICAgIHIgPSAic3RyaW5nIiA9PSB0eXBlb2YgciA/IChlID0gciwgbiA9IHt9LCBrLmVhY2goZS5tYXRjaChSKSB8fCBbXSwgZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgblt0XSA9ICEwDQogICAgICAgIH0pLCBuKSA6IGsuZXh0ZW5kKHt9LCByKTsNCiAgICAgICAgdmFyIGksIHQsIG8sIGEsIHMgPSBbXSwNCiAgICAgICAgICAgIHUgPSBbXSwNCiAgICAgICAgICAgIGwgPSAtMSwNCiAgICAgICAgICAgIGMgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBmb3IgKGEgPSBhIHx8IHIub25jZSwgbyA9IGkgPSAhMDsgdS5sZW5ndGg7IGwgPSAtMSkgew0KICAgICAgICAgICAgICAgICAgICB0ID0gdS5zaGlmdCgpOw0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKytsIDwgcy5sZW5ndGgpICExID09PSBzW2xdLmFwcGx5KHRbMF0sIHRbMV0pICYmIHIuc3RvcE9uRmFsc2UgJiYgKGwgPSBzLmxlbmd0aCwgdCA9ICExKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByLm1lbW9yeSB8fCAodCA9ICExKSwgaSA9ICExLCBhICYmIChzID0gdCA/IFtdIDogIiIpDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZiA9IHsNCiAgICAgICAgICAgICAgICBhZGQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcyAmJiAodCAmJiAhaSAmJiAobCA9IHMubGVuZ3RoIC0gMSwgdS5wdXNoKHQpKSwgZnVuY3Rpb24gbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBrLmVhY2goZSwgZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0odCkgPyByLnVuaXF1ZSAmJiBmLmhhcyh0KSB8fCBzLnB1c2godCkgOiB0ICYmIHQubGVuZ3RoICYmICJzdHJpbmciICE9PSB3KHQpICYmIG4odCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIH0oYXJndW1lbnRzKSwgdCAmJiAhaSAmJiBjKCkpLCB0aGlzDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICByZW1vdmU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gay5lYWNoKGFyZ3VtZW50cywgZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG47DQogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoLTEgPCAobiA9IGsuaW5BcnJheSh0LCBzLCBuKSkpIHMuc3BsaWNlKG4sIDEpLCBuIDw9IGwgJiYgbC0tDQogICAgICAgICAgICAgICAgICAgIH0pLCB0aGlzDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBoYXM6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUgPyAtMSA8IGsuaW5BcnJheShlLCBzKSA6IDAgPCBzLmxlbmd0aA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW1wdHk6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcyAmJiAocyA9IFtdKSwgdGhpcw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZGlzYWJsZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBhID0gdSA9IFtdLCBzID0gdCA9ICIiLCB0aGlzDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAhcw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgbG9jazogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBhID0gdSA9IFtdLCB0IHx8IGkgfHwgKHMgPSB0ID0gIiIpLCB0aGlzDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBsb2NrZWQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gISFhDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBmaXJlV2l0aDogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gYSB8fCAodCA9IFtlLCAodCA9IHQgfHwgW10pLnNsaWNlID8gdC5zbGljZSgpIDogdF0sIHUucHVzaCh0KSwgaSB8fCBjKCkpLCB0aGlzDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBmaXJlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGYuZmlyZVdpdGgodGhpcywgYXJndW1lbnRzKSwgdGhpcw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZmlyZWQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gISFvDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIGYNCiAgICB9LCBrLmV4dGVuZCh7DQogICAgICAgIERlZmVycmVkOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICB2YXIgbyA9IFsNCiAgICAgICAgICAgICAgICAgICAgWyJub3RpZnkiLCAicHJvZ3Jlc3MiLCBrLkNhbGxiYWNrcygibWVtb3J5IiksIGsuQ2FsbGJhY2tzKCJtZW1vcnkiKSwgMl0sDQogICAgICAgICAgICAgICAgICAgIFsicmVzb2x2ZSIsICJkb25lIiwgay5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksIGsuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCAwLCAicmVzb2x2ZWQiXSwNCiAgICAgICAgICAgICAgICAgICAgWyJyZWplY3QiLCAiZmFpbCIsIGsuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCBrLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwgMSwgInJlamVjdGVkIl0NCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGkgPSAicGVuZGluZyIsDQogICAgICAgICAgICAgICAgYSA9IHsNCiAgICAgICAgICAgICAgICAgICAgc3RhdGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgYWx3YXlzOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzLmRvbmUoYXJndW1lbnRzKS5mYWlsKGFyZ3VtZW50cyksIHRoaXMNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgImNhdGNoIjogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEudGhlbihudWxsLCBlKQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBwaXBlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0gYXJndW1lbnRzOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGsuRGVmZXJyZWQoZnVuY3Rpb24ocikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGsuZWFjaChvLCBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuID0gbShpW3RbNF1dKSAmJiBpW3RbNF1dOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzW3RbMV1dKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBuICYmIG4uYXBwbHkodGhpcywgYXJndW1lbnRzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgJiYgbShlLnByb21pc2UpID8gZS5wcm9taXNlKCkucHJvZ3Jlc3Moci5ub3RpZnkpLmRvbmUoci5yZXNvbHZlKS5mYWlsKHIucmVqZWN0KSA6IHJbdFswXSArICJXaXRoIl0odGhpcywgbiA/IFtlXSA6IGFyZ3VtZW50cykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgaSA9IG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLnByb21pc2UoKQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICB0aGVuOiBmdW5jdGlvbih0LCBuLCByKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdSA9IDA7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGwoaSwgbywgYSwgcykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IGFyZ3VtZW50cywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSwgdDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShpIDwgdSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChlID0gYS5hcHBseShuLCByKSkgPT09IG8ucHJvbWlzZSgpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGVuYWJsZSBzZWxmLXJlc29sdXRpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9IGUgJiYgKCJvYmplY3QiID09IHR5cGVvZiBlIHx8ICJmdW5jdGlvbiIgPT0gdHlwZW9mIGUpICYmIGUudGhlbiwgbSh0KSA/IHMgPyB0LmNhbGwoZSwgbCh1LCBvLCBNLCBzKSwgbCh1LCBvLCBJLCBzKSkgOiAodSsrLCB0LmNhbGwoZSwgbCh1LCBvLCBNLCBzKSwgbCh1LCBvLCBJLCBzKSwgbCh1LCBvLCBNLCBvLm5vdGlmeVdpdGgpKSkgOiAoYSAhPT0gTSAmJiAobiA9IHZvaWQgMCwgciA9IFtlXSksIChzIHx8IG8ucmVzb2x2ZVdpdGgpKG4sIHIpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ID0gcyA/IGUgOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGsuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayAmJiBrLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soZSwgdC5zdGFja1RyYWNlKSwgdSA8PSBpICsgMSAmJiAoYSAhPT0gSSAmJiAobiA9IHZvaWQgMCwgciA9IFtlXSksIG8ucmVqZWN0V2l0aChuLCByKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID8gdCgpIDogKGsuRGVmZXJyZWQuZ2V0U3RhY2tIb29rICYmICh0LnN0YWNrVHJhY2UgPSBrLkRlZmVycmVkLmdldFN0YWNrSG9vaygpKSwgQy5zZXRUaW1lb3V0KHQpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBrLkRlZmVycmVkKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvWzBdWzNdLmFkZChsKDAsIGUsIG0ocikgPyByIDogTSwgZS5ub3RpZnlXaXRoKSksIG9bMV1bM10uYWRkKGwoMCwgZSwgbSh0KSA/IHQgOiBNKSksIG9bMl1bM10uYWRkKGwoMCwgZSwgbShuKSA/IG4gOiBJKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLnByb21pc2UoKQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBwcm9taXNlOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCAhPSBlID8gay5leHRlbmQoZSwgYSkgOiBhDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHMgPSB7fTsNCiAgICAgICAgICAgIHJldHVybiBrLmVhY2gobywgZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgIHZhciBuID0gdFsyXSwNCiAgICAgICAgICAgICAgICAgICAgciA9IHRbNV07DQogICAgICAgICAgICAgICAgYVt0WzFdXSA9IG4uYWRkLCByICYmIG4uYWRkKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBpID0gcg0KICAgICAgICAgICAgICAgIH0sIG9bMyAtIGVdWzJdLmRpc2FibGUsIG9bMyAtIGVdWzNdLmRpc2FibGUsIG9bMF1bMl0ubG9jaywgb1swXVszXS5sb2NrKSwgbi5hZGQodFszXS5maXJlKSwgc1t0WzBdXSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gc1t0WzBdICsgIldpdGgiXSh0aGlzID09PSBzID8gdm9pZCAwIDogdGhpcywgYXJndW1lbnRzKSwgdGhpcw0KICAgICAgICAgICAgICAgIH0sIHNbdFswXSArICJXaXRoIl0gPSBuLmZpcmVXaXRoDQogICAgICAgICAgICB9KSwgYS5wcm9taXNlKHMpLCBlICYmIGUuY2FsbChzLCBzKSwgcw0KICAgICAgICB9LA0KICAgICAgICB3aGVuOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICB2YXIgbiA9IGFyZ3VtZW50cy5sZW5ndGgsDQogICAgICAgICAgICAgICAgdCA9IG4sDQogICAgICAgICAgICAgICAgciA9IEFycmF5KHQpLA0KICAgICAgICAgICAgICAgIGkgPSBzLmNhbGwoYXJndW1lbnRzKSwNCiAgICAgICAgICAgICAgICBvID0gay5EZWZlcnJlZCgpLA0KICAgICAgICAgICAgICAgIGEgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByW3RdID0gdGhpcywgaVt0XSA9IDEgPCBhcmd1bWVudHMubGVuZ3RoID8gcy5jYWxsKGFyZ3VtZW50cykgOiBlLCAtLW4gfHwgby5yZXNvbHZlV2l0aChyLCBpKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIGlmIChuIDw9IDEgJiYgKFcoZSwgby5kb25lKGEodCkpLnJlc29sdmUsIG8ucmVqZWN0LCAhbiksICJwZW5kaW5nIiA9PT0gby5zdGF0ZSgpIHx8IG0oaVt0XSAmJiBpW3RdLnRoZW4pKSkgcmV0dXJuIG8udGhlbigpOw0KICAgICAgICAgICAgd2hpbGUgKHQtLSkgVyhpW3RdLCBhKHQpLCBvLnJlamVjdCk7DQogICAgICAgICAgICByZXR1cm4gby5wcm9taXNlKCkNCiAgICAgICAgfQ0KICAgIH0pOw0KICAgIHZhciAkID0gL14oRXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJKUVycm9yJC87DQogICAgay5EZWZlcnJlZC5leGNlcHRpb25Ib29rID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICBDLmNvbnNvbGUgJiYgQy5jb25zb2xlLndhcm4gJiYgZSAmJiAkLnRlc3QoZS5uYW1lKSAmJiBDLmNvbnNvbGUud2FybigialF1ZXJ5LkRlZmVycmVkIGV4Y2VwdGlvbjogIiArIGUubWVzc2FnZSwgZS5zdGFjaywgdCkNCiAgICB9LCBrLnJlYWR5RXhjZXB0aW9uID0gZnVuY3Rpb24oZSkgew0KICAgICAgICBDLnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB0aHJvdyBlDQogICAgICAgIH0pDQogICAgfTsNCiAgICB2YXIgRiA9IGsuRGVmZXJyZWQoKTsNCg0KICAgIGZ1bmN0aW9uIEIoKSB7DQogICAgICAgIEUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIEIpLCBDLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLCBCKSwgay5yZWFkeSgpDQogICAgfQ0KICAgIGsuZm4ucmVhZHkgPSBmdW5jdGlvbihlKSB7DQogICAgICAgIHJldHVybiBGLnRoZW4oZSlbImNhdGNoIl0oZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgay5yZWFkeUV4Y2VwdGlvbihlKQ0KICAgICAgICB9KSwgdGhpcw0KICAgIH0sIGsuZXh0ZW5kKHsNCiAgICAgICAgaXNSZWFkeTogITEsDQogICAgICAgIHJlYWR5V2FpdDogMSwNCiAgICAgICAgcmVhZHk6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICghMCA9PT0gZSA/IC0tay5yZWFkeVdhaXQgOiBrLmlzUmVhZHkpIHx8IChrLmlzUmVhZHkgPSAhMCkgIT09IGUgJiYgMCA8IC0tay5yZWFkeVdhaXQgfHwgRi5yZXNvbHZlV2l0aChFLCBba10pDQogICAgICAgIH0NCiAgICB9KSwgay5yZWFkeS50aGVuID0gRi50aGVuLCAiY29tcGxldGUiID09PSBFLnJlYWR5U3RhdGUgfHwgImxvYWRpbmciICE9PSBFLnJlYWR5U3RhdGUgJiYgIUUuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsID8gQy5zZXRUaW1lb3V0KGsucmVhZHkpIDogKEUuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIEIpLCBDLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBCKSk7DQogICAgdmFyIF8gPSBmdW5jdGlvbihlLCB0LCBuLCByLCBpLCBvLCBhKSB7DQogICAgICAgICAgICB2YXIgcyA9IDAsDQogICAgICAgICAgICAgICAgdSA9IGUubGVuZ3RoLA0KICAgICAgICAgICAgICAgIGwgPSBudWxsID09IG47DQogICAgICAgICAgICBpZiAoIm9iamVjdCIgPT09IHcobikpDQogICAgICAgICAgICAgICAgZm9yIChzIGluIGkgPSAhMCwgbikgXyhlLCB0LCBzLCBuW3NdLCAhMCwgbywgYSk7DQogICAgICAgICAgICBlbHNlIGlmICh2b2lkIDAgIT09IHIgJiYgKGkgPSAhMCwgbShyKSB8fCAoYSA9ICEwKSwgbCAmJiAoYSA/ICh0LmNhbGwoZSwgciksIHQgPSBudWxsKSA6IChsID0gdCwgdCA9IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGwuY2FsbChrKGUpLCBuKQ0KICAgICAgICAgICAgICAgIH0pKSwgdCkpDQogICAgICAgICAgICAgICAgZm9yICg7IHMgPCB1OyBzKyspIHQoZVtzXSwgbiwgYSA/IHIgOiByLmNhbGwoZVtzXSwgcywgdChlW3NdLCBuKSkpOw0KICAgICAgICAgICAgcmV0dXJuIGkgPyBlIDogbCA/IHQuY2FsbChlKSA6IHUgPyB0KGVbMF0sIG4pIDogbw0KICAgICAgICB9LA0KICAgICAgICB6ID0gL14tbXMtLywNCiAgICAgICAgVSA9IC8tKFthLXpdKS9nOw0KDQogICAgZnVuY3Rpb24gWChlLCB0KSB7DQogICAgICAgIHJldHVybiB0LnRvVXBwZXJDYXNlKCkNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBWKGUpIHsNCiAgICAgICAgcmV0dXJuIGUucmVwbGFjZSh6LCAibXMtIikucmVwbGFjZShVLCBYKQ0KICAgIH0NCiAgICB2YXIgRyA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgcmV0dXJuIDEgPT09IGUubm9kZVR5cGUgfHwgOSA9PT0gZS5ub2RlVHlwZSB8fCAhK2Uubm9kZVR5cGUNCiAgICB9Ow0KDQogICAgZnVuY3Rpb24gWSgpIHsNCiAgICAgICAgdGhpcy5leHBhbmRvID0gay5leHBhbmRvICsgWS51aWQrKw0KICAgIH0NCiAgICBZLnVpZCA9IDEsIFkucHJvdG90eXBlID0gew0KICAgICAgICBjYWNoZTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIHQgPSBlW3RoaXMuZXhwYW5kb107DQogICAgICAgICAgICByZXR1cm4gdCB8fCAodCA9IHt9LCBHKGUpICYmIChlLm5vZGVUeXBlID8gZVt0aGlzLmV4cGFuZG9dID0gdCA6IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCB0aGlzLmV4cGFuZG8sIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdCwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICEwDQogICAgICAgICAgICB9KSkpLCB0DQogICAgICAgIH0sDQogICAgICAgIHNldDogZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICAgICAgdmFyIHIsIGkgPSB0aGlzLmNhY2hlKGUpOw0KICAgICAgICAgICAgaWYgKCJzdHJpbmciID09IHR5cGVvZiB0KSBpW1YodCldID0gbjsNCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICBmb3IgKHIgaW4gdCkgaVtWKHIpXSA9IHRbcl07DQogICAgICAgICAgICByZXR1cm4gaQ0KICAgICAgICB9LA0KICAgICAgICBnZXQ6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHJldHVybiB2b2lkIDAgPT09IHQgPyB0aGlzLmNhY2hlKGUpIDogZVt0aGlzLmV4cGFuZG9dICYmIGVbdGhpcy5leHBhbmRvXVtWKHQpXQ0KICAgICAgICB9LA0KICAgICAgICBhY2Nlc3M6IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHJldHVybiB2b2lkIDAgPT09IHQgfHwgdCAmJiAic3RyaW5nIiA9PSB0eXBlb2YgdCAmJiB2b2lkIDAgPT09IG4gPyB0aGlzLmdldChlLCB0KSA6ICh0aGlzLnNldChlLCB0LCBuKSwgdm9pZCAwICE9PSBuID8gbiA6IHQpDQogICAgICAgIH0sDQogICAgICAgIHJlbW92ZTogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgdmFyIG4sIHIgPSBlW3RoaXMuZXhwYW5kb107DQogICAgICAgICAgICBpZiAodm9pZCAwICE9PSByKSB7DQogICAgICAgICAgICAgICAgaWYgKHZvaWQgMCAhPT0gdCkgew0KICAgICAgICAgICAgICAgICAgICBuID0gKHQgPSBBcnJheS5pc0FycmF5KHQpID8gdC5tYXAoVikgOiAodCA9IFYodCkpIGluIHIgPyBbdF0gOiB0Lm1hdGNoKFIpIHx8IFtdKS5sZW5ndGg7DQogICAgICAgICAgICAgICAgICAgIHdoaWxlIChuLS0pIGRlbGV0ZSByW3Rbbl1dDQogICAgICAgICAgICAgICAgfSh2b2lkIDAgPT09IHQgfHwgay5pc0VtcHR5T2JqZWN0KHIpKSAmJiAoZS5ub2RlVHlwZSA/IGVbdGhpcy5leHBhbmRvXSA9IHZvaWQgMCA6IGRlbGV0ZSBlW3RoaXMuZXhwYW5kb10pDQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIGhhc0RhdGE6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHZhciB0ID0gZVt0aGlzLmV4cGFuZG9dOw0KICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCAhPT0gdCAmJiAhay5pc0VtcHR5T2JqZWN0KHQpDQogICAgICAgIH0NCiAgICB9Ow0KICAgIHZhciBRID0gbmV3IFksDQogICAgICAgIEogPSBuZXcgWSwNCiAgICAgICAgSyA9IC9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sDQogICAgICAgIFogPSAvW0EtWl0vZzsNCg0KICAgIGZ1bmN0aW9uIGVlKGUsIHQsIG4pIHsNCiAgICAgICAgdmFyIHIsIGk7DQogICAgICAgIGlmICh2b2lkIDAgPT09IG4gJiYgMSA9PT0gZS5ub2RlVHlwZSkNCiAgICAgICAgICAgIGlmIChyID0gImRhdGEtIiArIHQucmVwbGFjZShaLCAiLSQmIikudG9Mb3dlckNhc2UoKSwgInN0cmluZyIgPT0gdHlwZW9mKG4gPSBlLmdldEF0dHJpYnV0ZShyKSkpIHsNCiAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICBuID0gInRydWUiID09PSAoaSA9IG4pIHx8ICJmYWxzZSIgIT09IGkgJiYgKCJudWxsIiA9PT0gaSA/IG51bGwgOiBpID09PSAraSArICIiID8gK2kgOiBLLnRlc3QoaSkgPyBKU09OLnBhcnNlKGkpIDogaSkNCiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgICAgICAgICAgICAgIEouc2V0KGUsIHQsIG4pDQogICAgICAgICAgICB9IGVsc2UgbiA9IHZvaWQgMDsNCiAgICAgICAgcmV0dXJuIG4NCiAgICB9DQogICAgay5leHRlbmQoew0KICAgICAgICBoYXNEYXRhOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gSi5oYXNEYXRhKGUpIHx8IFEuaGFzRGF0YShlKQ0KICAgICAgICB9LA0KICAgICAgICBkYXRhOiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICByZXR1cm4gSi5hY2Nlc3MoZSwgdCwgbikNCiAgICAgICAgfSwNCiAgICAgICAgcmVtb3ZlRGF0YTogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgSi5yZW1vdmUoZSwgdCkNCiAgICAgICAgfSwNCiAgICAgICAgX2RhdGE6IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHJldHVybiBRLmFjY2VzcyhlLCB0LCBuKQ0KICAgICAgICB9LA0KICAgICAgICBfcmVtb3ZlRGF0YTogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgUS5yZW1vdmUoZSwgdCkNCiAgICAgICAgfQ0KICAgIH0pLCBrLmZuLmV4dGVuZCh7DQogICAgICAgIGRhdGE6IGZ1bmN0aW9uKG4sIGUpIHsNCiAgICAgICAgICAgIHZhciB0LCByLCBpLCBvID0gdGhpc1swXSwNCiAgICAgICAgICAgICAgICBhID0gbyAmJiBvLmF0dHJpYnV0ZXM7DQogICAgICAgICAgICBpZiAodm9pZCAwID09PSBuKSB7DQogICAgICAgICAgICAgICAgaWYgKHRoaXMubGVuZ3RoICYmIChpID0gSi5nZXQobyksIDEgPT09IG8ubm9kZVR5cGUgJiYgIVEuZ2V0KG8sICJoYXNEYXRhQXR0cnMiKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgdCA9IGEubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAodC0tKSBhW3RdICYmIDAgPT09IChyID0gYVt0XS5uYW1lKS5pbmRleE9mKCJkYXRhLSIpICYmIChyID0gVihyLnNsaWNlKDUpKSwgZWUobywgciwgaVtyXSkpOw0KICAgICAgICAgICAgICAgICAgICBRLnNldChvLCAiaGFzRGF0YUF0dHJzIiwgITApDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiBpDQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gIm9iamVjdCIgPT0gdHlwZW9mIG4gPyB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgSi5zZXQodGhpcywgbikNCiAgICAgICAgICAgIH0pIDogXyh0aGlzLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgdmFyIHQ7DQogICAgICAgICAgICAgICAgaWYgKG8gJiYgdm9pZCAwID09PSBlKSByZXR1cm4gdm9pZCAwICE9PSAodCA9IEouZ2V0KG8sIG4pKSA/IHQgOiB2b2lkIDAgIT09ICh0ID0gZWUobywgbikpID8gdCA6IHZvaWQgMDsNCiAgICAgICAgICAgICAgICB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIEouc2V0KHRoaXMsIG4sIGUpDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0sIG51bGwsIGUsIDEgPCBhcmd1bWVudHMubGVuZ3RoLCBudWxsLCAhMCkNCiAgICAgICAgfSwNCiAgICAgICAgcmVtb3ZlRGF0YTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBKLnJlbW92ZSh0aGlzLCBlKQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfQ0KICAgIH0pLCBrLmV4dGVuZCh7DQogICAgICAgIHF1ZXVlOiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICB2YXIgcjsNCiAgICAgICAgICAgIGlmIChlKSByZXR1cm4gdCA9ICh0IHx8ICJmeCIpICsgInF1ZXVlIiwgciA9IFEuZ2V0KGUsIHQpLCBuICYmICghciB8fCBBcnJheS5pc0FycmF5KG4pID8gciA9IFEuYWNjZXNzKGUsIHQsIGsubWFrZUFycmF5KG4pKSA6IHIucHVzaChuKSksIHIgfHwgW10NCiAgICAgICAgfSwNCiAgICAgICAgZGVxdWV1ZTogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgdCA9IHQgfHwgImZ4IjsNCiAgICAgICAgICAgIHZhciBuID0gay5xdWV1ZShlLCB0KSwNCiAgICAgICAgICAgICAgICByID0gbi5sZW5ndGgsDQogICAgICAgICAgICAgICAgaSA9IG4uc2hpZnQoKSwNCiAgICAgICAgICAgICAgICBvID0gay5fcXVldWVIb29rcyhlLCB0KTsNCiAgICAgICAgICAgICJpbnByb2dyZXNzIiA9PT0gaSAmJiAoaSA9IG4uc2hpZnQoKSwgci0tKSwgaSAmJiAoImZ4IiA9PT0gdCAmJiBuLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSwgZGVsZXRlIG8uc3RvcCwgaS5jYWxsKGUsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGsuZGVxdWV1ZShlLCB0KQ0KICAgICAgICAgICAgfSwgbykpLCAhciAmJiBvICYmIG8uZW1wdHkuZmlyZSgpDQogICAgICAgIH0sDQogICAgICAgIF9xdWV1ZUhvb2tzOiBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICB2YXIgbiA9IHQgKyAicXVldWVIb29rcyI7DQogICAgICAgICAgICByZXR1cm4gUS5nZXQoZSwgbikgfHwgUS5hY2Nlc3MoZSwgbiwgew0KICAgICAgICAgICAgICAgIGVtcHR5OiBrLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIFEucmVtb3ZlKGUsIFt0ICsgInF1ZXVlIiwgbl0pDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICB9KSwgay5mbi5leHRlbmQoew0KICAgICAgICBxdWV1ZTogZnVuY3Rpb24odCwgbikgew0KICAgICAgICAgICAgdmFyIGUgPSAyOw0KICAgICAgICAgICAgcmV0dXJuICJzdHJpbmciICE9IHR5cGVvZiB0ICYmIChuID0gdCwgdCA9ICJmeCIsIGUtLSksIGFyZ3VtZW50cy5sZW5ndGggPCBlID8gay5xdWV1ZSh0aGlzWzBdLCB0KSA6IHZvaWQgMCA9PT0gbiA/IHRoaXMgOiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSBrLnF1ZXVlKHRoaXMsIHQsIG4pOw0KICAgICAgICAgICAgICAgIGsuX3F1ZXVlSG9va3ModGhpcywgdCksICJmeCIgPT09IHQgJiYgImlucHJvZ3Jlc3MiICE9PSBlWzBdICYmIGsuZGVxdWV1ZSh0aGlzLCB0KQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgZGVxdWV1ZTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBrLmRlcXVldWUodGhpcywgZSkNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0sDQogICAgICAgIGNsZWFyUXVldWU6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnF1ZXVlKGUgfHwgImZ4IiwgW10pDQogICAgICAgIH0sDQogICAgICAgIHByb21pc2U6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHZhciBuLCByID0gMSwNCiAgICAgICAgICAgICAgICBpID0gay5EZWZlcnJlZCgpLA0KICAgICAgICAgICAgICAgIG8gPSB0aGlzLA0KICAgICAgICAgICAgICAgIGEgPSB0aGlzLmxlbmd0aCwNCiAgICAgICAgICAgICAgICBzID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIC0tciB8fCBpLnJlc29sdmVXaXRoKG8sIFtvXSkNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgInN0cmluZyIgIT0gdHlwZW9mIGUgJiYgKHQgPSBlLCBlID0gdm9pZCAwKSwgZSA9IGUgfHwgImZ4IjsNCiAgICAgICAgICAgIHdoaWxlIChhLS0pKG4gPSBRLmdldChvW2FdLCBlICsgInF1ZXVlSG9va3MiKSkgJiYgbi5lbXB0eSAmJiAocisrLCBuLmVtcHR5LmFkZChzKSk7DQogICAgICAgICAgICByZXR1cm4gcygpLCBpLnByb21pc2UodCkNCiAgICAgICAgfQ0KICAgIH0pOw0KICAgIHZhciB0ZSA9IC9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8uc291cmNlLA0KICAgICAgICBuZSA9IG5ldyBSZWdFeHAoIl4oPzooWystXSk9fCkoIiArIHRlICsgIikoW2EteiVdKikkIiwgImkiKSwNCiAgICAgICAgcmUgPSBbIlRvcCIsICJSaWdodCIsICJCb3R0b20iLCAiTGVmdCJdLA0KICAgICAgICBpZSA9IEUuZG9jdW1lbnRFbGVtZW50LA0KICAgICAgICBvZSA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBrLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCwgZSkNCiAgICAgICAgfSwNCiAgICAgICAgYWUgPSB7DQogICAgICAgICAgICBjb21wb3NlZDogITANCiAgICAgICAgfTsNCiAgICBpZS5nZXRSb290Tm9kZSAmJiAob2UgPSBmdW5jdGlvbihlKSB7DQogICAgICAgIHJldHVybiBrLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCwgZSkgfHwgZS5nZXRSb290Tm9kZShhZSkgPT09IGUub3duZXJEb2N1bWVudA0KICAgIH0pOw0KICAgIHZhciBzZSA9IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHJldHVybiAibm9uZSIgPT09IChlID0gdCB8fCBlKS5zdHlsZS5kaXNwbGF5IHx8ICIiID09PSBlLnN0eWxlLmRpc3BsYXkgJiYgb2UoZSkgJiYgIm5vbmUiID09PSBrLmNzcyhlLCAiZGlzcGxheSIpDQogICAgICAgIH0sDQogICAgICAgIHVlID0gZnVuY3Rpb24oZSwgdCwgbiwgcikgew0KICAgICAgICAgICAgdmFyIGksIG8sIGEgPSB7fTsNCiAgICAgICAgICAgIGZvciAobyBpbiB0KSBhW29dID0gZS5zdHlsZVtvXSwgZS5zdHlsZVtvXSA9IHRbb107DQogICAgICAgICAgICBmb3IgKG8gaW4gaSA9IG4uYXBwbHkoZSwgciB8fCBbXSksIHQpIGUuc3R5bGVbb10gPSBhW29dOw0KICAgICAgICAgICAgcmV0dXJuIGkNCiAgICAgICAgfTsNCg0KICAgIGZ1bmN0aW9uIGxlKGUsIHQsIG4sIHIpIHsNCiAgICAgICAgdmFyIGksIG8sIGEgPSAyMCwNCiAgICAgICAgICAgIHMgPSByID8gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHIuY3VyKCkNCiAgICAgICAgICAgIH0gOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gay5jc3MoZSwgdCwgIiIpDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdSA9IHMoKSwNCiAgICAgICAgICAgIGwgPSBuICYmIG5bM10gfHwgKGsuY3NzTnVtYmVyW3RdID8gIiIgOiAicHgiKSwNCiAgICAgICAgICAgIGMgPSBlLm5vZGVUeXBlICYmIChrLmNzc051bWJlclt0XSB8fCAicHgiICE9PSBsICYmICt1KSAmJiBuZS5leGVjKGsuY3NzKGUsIHQpKTsNCiAgICAgICAgaWYgKGMgJiYgY1szXSAhPT0gbCkgew0KICAgICAgICAgICAgdSAvPSAyLCBsID0gbCB8fCBjWzNdLCBjID0gK3UgfHwgMTsNCiAgICAgICAgICAgIHdoaWxlIChhLS0pIGsuc3R5bGUoZSwgdCwgYyArIGwpLCAoMSAtIG8pICogKDEgLSAobyA9IHMoKSAvIHUgfHwgLjUpKSA8PSAwICYmIChhID0gMCksIGMgLz0gbzsNCiAgICAgICAgICAgIGMgKj0gMiwgay5zdHlsZShlLCB0LCBjICsgbCksIG4gPSBuIHx8IFtdDQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIG4gJiYgKGMgPSArYyB8fCArdSB8fCAwLCBpID0gblsxXSA/IGMgKyAoblsxXSArIDEpICogblsyXSA6ICtuWzJdLCByICYmIChyLnVuaXQgPSBsLCByLnN0YXJ0ID0gYywgci5lbmQgPSBpKSksIGkNCiAgICB9DQogICAgdmFyIGNlID0ge307DQoNCiAgICBmdW5jdGlvbiBmZShlLCB0KSB7DQogICAgICAgIGZvciAodmFyIG4sIHIsIGksIG8sIGEsIHMsIHUsIGwgPSBbXSwgYyA9IDAsIGYgPSBlLmxlbmd0aDsgYyA8IGY7IGMrKykociA9IGVbY10pLnN0eWxlICYmIChuID0gci5zdHlsZS5kaXNwbGF5LCB0ID8gKCJub25lIiA9PT0gbiAmJiAobFtjXSA9IFEuZ2V0KHIsICJkaXNwbGF5IikgfHwgbnVsbCwgbFtjXSB8fCAoci5zdHlsZS5kaXNwbGF5ID0gIiIpKSwgIiIgPT09IHIuc3R5bGUuZGlzcGxheSAmJiBzZShyKSAmJiAobFtjXSA9ICh1ID0gYSA9IG8gPSB2b2lkIDAsIGEgPSAoaSA9IHIpLm93bmVyRG9jdW1lbnQsIHMgPSBpLm5vZGVOYW1lLCAodSA9IGNlW3NdKSB8fCAobyA9IGEuYm9keS5hcHBlbmRDaGlsZChhLmNyZWF0ZUVsZW1lbnQocykpLCB1ID0gay5jc3MobywgImRpc3BsYXkiKSwgby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pLCAibm9uZSIgPT09IHUgJiYgKHUgPSAiYmxvY2siKSwgY2Vbc10gPSB1KSkpKSA6ICJub25lIiAhPT0gbiAmJiAobFtjXSA9ICJub25lIiwgUS5zZXQociwgImRpc3BsYXkiLCBuKSkpOw0KICAgICAgICBmb3IgKGMgPSAwOyBjIDwgZjsgYysrKSBudWxsICE9IGxbY10gJiYgKGVbY10uc3R5bGUuZGlzcGxheSA9IGxbY10pOw0KICAgICAgICByZXR1cm4gZQ0KICAgIH0NCiAgICBrLmZuLmV4dGVuZCh7DQogICAgICAgIHNob3c6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIGZlKHRoaXMsICEwKQ0KICAgICAgICB9LA0KICAgICAgICBoaWRlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiBmZSh0aGlzKQ0KICAgICAgICB9LA0KICAgICAgICB0b2dnbGU6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAiYm9vbGVhbiIgPT0gdHlwZW9mIGUgPyBlID8gdGhpcy5zaG93KCkgOiB0aGlzLmhpZGUoKSA6IHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBzZSh0aGlzKSA/IGsodGhpcykuc2hvdygpIDogayh0aGlzKS5oaWRlKCkNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICB9KTsNCiAgICB2YXIgcGUgPSAvXig/OmNoZWNrYm94fHJhZGlvKSQvaSwNCiAgICAgICAgZGUgPSAvPChbYS16XVteXC9cMD5ceDIwXHRcclxuXGZdKikvaSwNCiAgICAgICAgaGUgPSAvXiR8Xm1vZHVsZSR8XC8oPzpqYXZhfGVjbWEpc2NyaXB0L2ksDQogICAgICAgIGdlID0gew0KICAgICAgICAgICAgb3B0aW9uOiBbMSwgIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCAiPC9zZWxlY3Q+Il0sDQogICAgICAgICAgICB0aGVhZDogWzEsICI8dGFibGU+IiwgIjwvdGFibGU+Il0sDQogICAgICAgICAgICBjb2w6IFsyLCAiPHRhYmxlPjxjb2xncm91cD4iLCAiPC9jb2xncm91cD48L3RhYmxlPiJdLA0KICAgICAgICAgICAgdHI6IFsyLCAiPHRhYmxlPjx0Ym9keT4iLCAiPC90Ym9keT48L3RhYmxlPiJdLA0KICAgICAgICAgICAgdGQ6IFszLCAiPHRhYmxlPjx0Ym9keT48dHI+IiwgIjwvdHI+PC90Ym9keT48L3RhYmxlPiJdLA0KICAgICAgICAgICAgX2RlZmF1bHQ6IFswLCAiIiwgIiJdDQogICAgICAgIH07DQoNCiAgICBmdW5jdGlvbiB2ZShlLCB0KSB7DQogICAgICAgIHZhciBuOw0KICAgICAgICByZXR1cm4gbiA9ICJ1bmRlZmluZWQiICE9IHR5cGVvZiBlLmdldEVsZW1lbnRzQnlUYWdOYW1lID8gZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0IHx8ICIqIikgOiAidW5kZWZpbmVkIiAhPSB0eXBlb2YgZS5xdWVyeVNlbGVjdG9yQWxsID8gZS5xdWVyeVNlbGVjdG9yQWxsKHQgfHwgIioiKSA6IFtdLCB2b2lkIDAgPT09IHQgfHwgdCAmJiBBKGUsIHQpID8gay5tZXJnZShbZV0sIG4pIDogbg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHllKGUsIHQpIHsNCiAgICAgICAgZm9yICh2YXIgbiA9IDAsIHIgPSBlLmxlbmd0aDsgbiA8IHI7IG4rKykgUS5zZXQoZVtuXSwgImdsb2JhbEV2YWwiLCAhdCB8fCBRLmdldCh0W25dLCAiZ2xvYmFsRXZhbCIpKQ0KICAgIH0NCiAgICBnZS5vcHRncm91cCA9IGdlLm9wdGlvbiwgZ2UudGJvZHkgPSBnZS50Zm9vdCA9IGdlLmNvbGdyb3VwID0gZ2UuY2FwdGlvbiA9IGdlLnRoZWFkLCBnZS50aCA9IGdlLnRkOw0KICAgIHZhciBtZSwgeGUsIGJlID0gLzx8JiM/XHcrOy87DQoNCiAgICBmdW5jdGlvbiB3ZShlLCB0LCBuLCByLCBpKSB7DQogICAgICAgIGZvciAodmFyIG8sIGEsIHMsIHUsIGwsIGMsIGYgPSB0LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSwgcCA9IFtdLCBkID0gMCwgaCA9IGUubGVuZ3RoOyBkIDwgaDsgZCsrKQ0KICAgICAgICAgICAgaWYgKChvID0gZVtkXSkgfHwgMCA9PT0gbykNCiAgICAgICAgICAgICAgICBpZiAoIm9iamVjdCIgPT09IHcobykpIGsubWVyZ2UocCwgby5ub2RlVHlwZSA/IFtvXSA6IG8pOw0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKGJlLnRlc3QobykpIHsNCiAgICAgICAgICAgIGEgPSBhIHx8IGYuYXBwZW5kQ2hpbGQodC5jcmVhdGVFbGVtZW50KCJkaXYiKSksIHMgPSAoZGUuZXhlYyhvKSB8fCBbIiIsICIiXSlbMV0udG9Mb3dlckNhc2UoKSwgdSA9IGdlW3NdIHx8IGdlLl9kZWZhdWx0LCBhLmlubmVySFRNTCA9IHVbMV0gKyBrLmh0bWxQcmVmaWx0ZXIobykgKyB1WzJdLCBjID0gdVswXTsNCiAgICAgICAgICAgIHdoaWxlIChjLS0pIGEgPSBhLmxhc3RDaGlsZDsNCiAgICAgICAgICAgIGsubWVyZ2UocCwgYS5jaGlsZE5vZGVzKSwgKGEgPSBmLmZpcnN0Q2hpbGQpLnRleHRDb250ZW50ID0gIiINCiAgICAgICAgfSBlbHNlIHAucHVzaCh0LmNyZWF0ZVRleHROb2RlKG8pKTsNCiAgICAgICAgZi50ZXh0Q29udGVudCA9ICIiLCBkID0gMDsNCiAgICAgICAgd2hpbGUgKG8gPSBwW2QrK10pDQogICAgICAgICAgICBpZiAociAmJiAtMSA8IGsuaW5BcnJheShvLCByKSkgaSAmJiBpLnB1c2gobyk7DQogICAgICAgICAgICBlbHNlIGlmIChsID0gb2UobyksIGEgPSB2ZShmLmFwcGVuZENoaWxkKG8pLCAic2NyaXB0IiksIGwgJiYgeWUoYSksIG4pIHsNCiAgICAgICAgICAgIGMgPSAwOw0KICAgICAgICAgICAgd2hpbGUgKG8gPSBhW2MrK10pIGhlLnRlc3Qoby50eXBlIHx8ICIiKSAmJiBuLnB1c2gobykNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZg0KICAgIH0NCiAgICBtZSA9IEUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLmFwcGVuZENoaWxkKEUuY3JlYXRlRWxlbWVudCgiZGl2IikpLCAoeGUgPSBFLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnNldEF0dHJpYnV0ZSgidHlwZSIsICJyYWRpbyIpLCB4ZS5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCAiY2hlY2tlZCIpLCB4ZS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCAidCIpLCBtZS5hcHBlbmRDaGlsZCh4ZSksIHkuY2hlY2tDbG9uZSA9IG1lLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCwgbWUuaW5uZXJIVE1MID0gIjx0ZXh0YXJlYT54PC90ZXh0YXJlYT4iLCB5Lm5vQ2xvbmVDaGVja2VkID0gISFtZS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWU7DQogICAgdmFyIFRlID0gL15rZXkvLA0KICAgICAgICBDZSA9IC9eKD86bW91c2V8cG9pbnRlcnxjb250ZXh0bWVudXxkcmFnfGRyb3ApfGNsaWNrLywNCiAgICAgICAgRWUgPSAvXihbXi5dKikoPzpcLiguKyl8KS87DQoNCiAgICBmdW5jdGlvbiBrZSgpIHsNCiAgICAgICAgcmV0dXJuICEwDQogICAgfQ0KDQogICAgZnVuY3Rpb24gU2UoKSB7DQogICAgICAgIHJldHVybiAhMQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIE5lKGUsIHQpIHsNCiAgICAgICAgcmV0dXJuIGUgPT09IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICByZXR1cm4gRS5hY3RpdmVFbGVtZW50DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgICAgICB9KCkgPT0gKCJmb2N1cyIgPT09IHQpDQogICAgfQ0KDQogICAgZnVuY3Rpb24gQWUoZSwgdCwgbiwgciwgaSwgbykgew0KICAgICAgICB2YXIgYSwgczsNCiAgICAgICAgaWYgKCJvYmplY3QiID09IHR5cGVvZiB0KSB7DQogICAgICAgICAgICBmb3IgKHMgaW4gInN0cmluZyIgIT0gdHlwZW9mIG4gJiYgKHIgPSByIHx8IG4sIG4gPSB2b2lkIDApLCB0KSBBZShlLCBzLCBuLCByLCB0W3NdLCBvKTsNCiAgICAgICAgICAgIHJldHVybiBlDQogICAgICAgIH0NCiAgICAgICAgaWYgKG51bGwgPT0gciAmJiBudWxsID09IGkgPyAoaSA9IG4sIHIgPSBuID0gdm9pZCAwKSA6IG51bGwgPT0gaSAmJiAoInN0cmluZyIgPT0gdHlwZW9mIG4gPyAoaSA9IHIsIHIgPSB2b2lkIDApIDogKGkgPSByLCByID0gbiwgbiA9IHZvaWQgMCkpLCAhMSA9PT0gaSkgaSA9IFNlOw0KICAgICAgICBlbHNlIGlmICghaSkgcmV0dXJuIGU7DQogICAgICAgIHJldHVybiAxID09PSBvICYmIChhID0gaSwgKGkgPSBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gaygpLm9mZihlKSwgYS5hcHBseSh0aGlzLCBhcmd1bWVudHMpDQogICAgICAgIH0pLmd1aWQgPSBhLmd1aWQgfHwgKGEuZ3VpZCA9IGsuZ3VpZCsrKSksIGUuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGsuZXZlbnQuYWRkKHRoaXMsIHQsIGksIHIsIG4pDQogICAgICAgIH0pDQogICAgfQ0KDQogICAgZnVuY3Rpb24gRGUoZSwgaSwgbykgew0KICAgICAgICBvID8gKFEuc2V0KGUsIGksICExKSwgay5ldmVudC5hZGQoZSwgaSwgew0KICAgICAgICAgICAgbmFtZXNwYWNlOiAhMSwNCiAgICAgICAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCwgbiwgciA9IFEuZ2V0KHRoaXMsIGkpOw0KICAgICAgICAgICAgICAgIGlmICgxICYgZS5pc1RyaWdnZXIgJiYgdGhpc1tpXSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoci5sZW5ndGgpKGsuZXZlbnQuc3BlY2lhbFtpXSB8fCB7fSkuZGVsZWdhdGVUeXBlICYmIGUuc3RvcFByb3BhZ2F0aW9uKCk7DQogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHIgPSBzLmNhbGwoYXJndW1lbnRzKSwgUS5zZXQodGhpcywgaSwgciksIHQgPSBvKHRoaXMsIGkpLCB0aGlzW2ldKCksIHIgIT09IChuID0gUS5nZXQodGhpcywgaSkpIHx8IHQgPyBRLnNldCh0aGlzLCBpLCAhMSkgOiBuID0ge30sIHIgIT09IG4pIHJldHVybiBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCBlLnByZXZlbnREZWZhdWx0KCksIG4udmFsdWUNCiAgICAgICAgICAgICAgICB9IGVsc2Ugci5sZW5ndGggJiYgKFEuc2V0KHRoaXMsIGksIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGsuZXZlbnQudHJpZ2dlcihrLmV4dGVuZChyWzBdLCBrLkV2ZW50LnByb3RvdHlwZSksIHIuc2xpY2UoMSksIHRoaXMpDQogICAgICAgICAgICAgICAgfSksIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpDQogICAgICAgICAgICB9DQogICAgICAgIH0pKSA6IHZvaWQgMCA9PT0gUS5nZXQoZSwgaSkgJiYgay5ldmVudC5hZGQoZSwgaSwga2UpDQogICAgfQ0KICAgIGsuZXZlbnQgPSB7DQogICAgICAgIGdsb2JhbDoge30sDQogICAgICAgIGFkZDogZnVuY3Rpb24odCwgZSwgbiwgciwgaSkgew0KICAgICAgICAgICAgdmFyIG8sIGEsIHMsIHUsIGwsIGMsIGYsIHAsIGQsIGgsIGcsIHYgPSBRLmdldCh0KTsNCiAgICAgICAgICAgIGlmICh2KSB7DQogICAgICAgICAgICAgICAgbi5oYW5kbGVyICYmIChuID0gKG8gPSBuKS5oYW5kbGVyLCBpID0gby5zZWxlY3RvciksIGkgJiYgay5maW5kLm1hdGNoZXNTZWxlY3RvcihpZSwgaSksIG4uZ3VpZCB8fCAobi5ndWlkID0gay5ndWlkKyspLCAodSA9IHYuZXZlbnRzKSB8fCAodSA9IHYuZXZlbnRzID0ge30pLCAoYSA9IHYuaGFuZGxlKSB8fCAoYSA9IHYuaGFuZGxlID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInVuZGVmaW5lZCIgIT0gdHlwZW9mIGsgJiYgay5ldmVudC50cmlnZ2VyZWQgIT09IGUudHlwZSA/IGsuZXZlbnQuZGlzcGF0Y2guYXBwbHkodCwgYXJndW1lbnRzKSA6IHZvaWQgMA0KICAgICAgICAgICAgICAgIH0pLCBsID0gKGUgPSAoZSB8fCAiIikubWF0Y2goUikgfHwgWyIiXSkubGVuZ3RoOw0KICAgICAgICAgICAgICAgIHdoaWxlIChsLS0pIGQgPSBnID0gKHMgPSBFZS5leGVjKGVbbF0pIHx8IFtdKVsxXSwgaCA9IChzWzJdIHx8ICIiKS5zcGxpdCgiLiIpLnNvcnQoKSwgZCAmJiAoZiA9IGsuZXZlbnQuc3BlY2lhbFtkXSB8fCB7fSwgZCA9IChpID8gZi5kZWxlZ2F0ZVR5cGUgOiBmLmJpbmRUeXBlKSB8fCBkLCBmID0gay5ldmVudC5zcGVjaWFsW2RdIHx8IHt9LCBjID0gay5leHRlbmQoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiBkLA0KICAgICAgICAgICAgICAgICAgICBvcmlnVHlwZTogZywNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogciwNCiAgICAgICAgICAgICAgICAgICAgaGFuZGxlcjogbiwNCiAgICAgICAgICAgICAgICAgICAgZ3VpZDogbi5ndWlkLA0KICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogaSwNCiAgICAgICAgICAgICAgICAgICAgbmVlZHNDb250ZXh0OiBpICYmIGsuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChpKSwNCiAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlOiBoLmpvaW4oIi4iKQ0KICAgICAgICAgICAgICAgIH0sIG8pLCAocCA9IHVbZF0pIHx8ICgocCA9IHVbZF0gPSBbXSkuZGVsZWdhdGVDb3VudCA9IDAsIGYuc2V0dXAgJiYgITEgIT09IGYuc2V0dXAuY2FsbCh0LCByLCBoLCBhKSB8fCB0LmFkZEV2ZW50TGlzdGVuZXIgJiYgdC5hZGRFdmVudExpc3RlbmVyKGQsIGEpKSwgZi5hZGQgJiYgKGYuYWRkLmNhbGwodCwgYyksIGMuaGFuZGxlci5ndWlkIHx8IChjLmhhbmRsZXIuZ3VpZCA9IG4uZ3VpZCkpLCBpID8gcC5zcGxpY2UocC5kZWxlZ2F0ZUNvdW50KyssIDAsIGMpIDogcC5wdXNoKGMpLCBrLmV2ZW50Lmdsb2JhbFtkXSA9ICEwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICByZW1vdmU6IGZ1bmN0aW9uKGUsIHQsIG4sIHIsIGkpIHsNCiAgICAgICAgICAgIHZhciBvLCBhLCBzLCB1LCBsLCBjLCBmLCBwLCBkLCBoLCBnLCB2ID0gUS5oYXNEYXRhKGUpICYmIFEuZ2V0KGUpOw0KICAgICAgICAgICAgaWYgKHYgJiYgKHUgPSB2LmV2ZW50cykpIHsNCiAgICAgICAgICAgICAgICBsID0gKHQgPSAodCB8fCAiIikubWF0Y2goUikgfHwgWyIiXSkubGVuZ3RoOw0KICAgICAgICAgICAgICAgIHdoaWxlIChsLS0pDQogICAgICAgICAgICAgICAgICAgIGlmIChkID0gZyA9IChzID0gRWUuZXhlYyh0W2xdKSB8fCBbXSlbMV0sIGggPSAoc1syXSB8fCAiIikuc3BsaXQoIi4iKS5zb3J0KCksIGQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBrLmV2ZW50LnNwZWNpYWxbZF0gfHwge30sIHAgPSB1W2QgPSAociA/IGYuZGVsZWdhdGVUeXBlIDogZi5iaW5kVHlwZSkgfHwgZF0gfHwgW10sIHMgPSBzWzJdICYmIG5ldyBSZWdFeHAoIihefFxcLikiICsgaC5qb2luKCJcXC4oPzouKlxcLnwpIikgKyAiKFxcLnwkKSIpLCBhID0gbyA9IHAubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG8tLSkgYyA9IHBbb10sICFpICYmIGcgIT09IGMub3JpZ1R5cGUgfHwgbiAmJiBuLmd1aWQgIT09IGMuZ3VpZCB8fCBzICYmICFzLnRlc3QoYy5uYW1lc3BhY2UpIHx8IHIgJiYgciAhPT0gYy5zZWxlY3RvciAmJiAoIioqIiAhPT0gciB8fCAhYy5zZWxlY3RvcikgfHwgKHAuc3BsaWNlKG8sIDEpLCBjLnNlbGVjdG9yICYmIHAuZGVsZWdhdGVDb3VudC0tLCBmLnJlbW92ZSAmJiBmLnJlbW92ZS5jYWxsKGUsIGMpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGEgJiYgIXAubGVuZ3RoICYmIChmLnRlYXJkb3duICYmICExICE9PSBmLnRlYXJkb3duLmNhbGwoZSwgaCwgdi5oYW5kbGUpIHx8IGsucmVtb3ZlRXZlbnQoZSwgZCwgdi5oYW5kbGUpLCBkZWxldGUgdVtkXSkNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGQgaW4gdSkgay5ldmVudC5yZW1vdmUoZSwgZCArIHRbbF0sIG4sIHIsICEwKTsNCiAgICAgICAgICAgICAgICBrLmlzRW1wdHlPYmplY3QodSkgJiYgUS5yZW1vdmUoZSwgImhhbmRsZSBldmVudHMiKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBkaXNwYXRjaDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIHQsIG4sIHIsIGksIG8sIGEsIHMgPSBrLmV2ZW50LmZpeChlKSwNCiAgICAgICAgICAgICAgICB1ID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLA0KICAgICAgICAgICAgICAgIGwgPSAoUS5nZXQodGhpcywgImV2ZW50cyIpIHx8IHt9KVtzLnR5cGVdIHx8IFtdLA0KICAgICAgICAgICAgICAgIGMgPSBrLmV2ZW50LnNwZWNpYWxbcy50eXBlXSB8fCB7fTsNCiAgICAgICAgICAgIGZvciAodVswXSA9IHMsIHQgPSAxOyB0IDwgYXJndW1lbnRzLmxlbmd0aDsgdCsrKSB1W3RdID0gYXJndW1lbnRzW3RdOw0KICAgICAgICAgICAgaWYgKHMuZGVsZWdhdGVUYXJnZXQgPSB0aGlzLCAhYy5wcmVEaXNwYXRjaCB8fCAhMSAhPT0gYy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsIHMpKSB7DQogICAgICAgICAgICAgICAgYSA9IGsuZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLCBzLCBsKSwgdCA9IDA7DQogICAgICAgICAgICAgICAgd2hpbGUgKChpID0gYVt0KytdKSAmJiAhcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKSB7DQogICAgICAgICAgICAgICAgICAgIHMuY3VycmVudFRhcmdldCA9IGkuZWxlbSwgbiA9IDA7DQogICAgICAgICAgICAgICAgICAgIHdoaWxlICgobyA9IGkuaGFuZGxlcnNbbisrXSkgJiYgIXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSkgcy5ybmFtZXNwYWNlICYmICExICE9PSBvLm5hbWVzcGFjZSAmJiAhcy5ybmFtZXNwYWNlLnRlc3Qoby5uYW1lc3BhY2UpIHx8IChzLmhhbmRsZU9iaiA9IG8sIHMuZGF0YSA9IG8uZGF0YSwgdm9pZCAwICE9PSAociA9ICgoay5ldmVudC5zcGVjaWFsW28ub3JpZ1R5cGVdIHx8IHt9KS5oYW5kbGUgfHwgby5oYW5kbGVyKS5hcHBseShpLmVsZW0sIHUpKSAmJiAhMSA9PT0gKHMucmVzdWx0ID0gcikgJiYgKHMucHJldmVudERlZmF1bHQoKSwgcy5zdG9wUHJvcGFnYXRpb24oKSkpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiBjLnBvc3REaXNwYXRjaCAmJiBjLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsIHMpLCBzLnJlc3VsdA0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBoYW5kbGVyczogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgdmFyIG4sIHIsIGksIG8sIGEsIHMgPSBbXSwNCiAgICAgICAgICAgICAgICB1ID0gdC5kZWxlZ2F0ZUNvdW50LA0KICAgICAgICAgICAgICAgIGwgPSBlLnRhcmdldDsNCiAgICAgICAgICAgIGlmICh1ICYmIGwubm9kZVR5cGUgJiYgISgiY2xpY2siID09PSBlLnR5cGUgJiYgMSA8PSBlLmJ1dHRvbikpDQogICAgICAgICAgICAgICAgZm9yICg7IGwgIT09IHRoaXM7IGwgPSBsLnBhcmVudE5vZGUgfHwgdGhpcykNCiAgICAgICAgICAgICAgICAgICAgaWYgKDEgPT09IGwubm9kZVR5cGUgJiYgKCJjbGljayIgIT09IGUudHlwZSB8fCAhMCAhPT0gbC5kaXNhYmxlZCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobyA9IFtdLCBhID0ge30sIG4gPSAwOyBuIDwgdTsgbisrKSB2b2lkIDAgPT09IGFbaSA9IChyID0gdFtuXSkuc2VsZWN0b3IgKyAiICJdICYmIChhW2ldID0gci5uZWVkc0NvbnRleHQgPyAtMSA8IGsoaSwgdGhpcykuaW5kZXgobCkgOiBrLmZpbmQoaSwgdGhpcywgbnVsbCwgW2xdKS5sZW5ndGgpLCBhW2ldICYmIG8ucHVzaChyKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIG8ubGVuZ3RoICYmIHMucHVzaCh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbTogbCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyczogbw0KICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGwgPSB0aGlzLCB1IDwgdC5sZW5ndGggJiYgcy5wdXNoKHsNCiAgICAgICAgICAgICAgICBlbGVtOiBsLA0KICAgICAgICAgICAgICAgIGhhbmRsZXJzOiB0LnNsaWNlKHUpDQogICAgICAgICAgICB9KSwgcw0KICAgICAgICB9LA0KICAgICAgICBhZGRQcm9wOiBmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoay5FdmVudC5wcm90b3R5cGUsIHQsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAhMCwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICEwLA0KICAgICAgICAgICAgICAgIGdldDogbShlKSA/IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcmlnaW5hbEV2ZW50KSByZXR1cm4gZSh0aGlzLm9yaWdpbmFsRXZlbnQpDQogICAgICAgICAgICAgICAgfSA6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcmlnaW5hbEV2ZW50KSByZXR1cm4gdGhpcy5vcmlnaW5hbEV2ZW50W3RdDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHQsIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICEwLA0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAhMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAhMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBlDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgZml4OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gZVtrLmV4cGFuZG9dID8gZSA6IG5ldyBrLkV2ZW50KGUpDQogICAgICAgIH0sDQogICAgICAgIHNwZWNpYWw6IHsNCiAgICAgICAgICAgIGxvYWQ6IHsNCiAgICAgICAgICAgICAgICBub0J1YmJsZTogITANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjbGljazogew0KICAgICAgICAgICAgICAgIHNldHVwOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcyB8fCBlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGUudGVzdCh0LnR5cGUpICYmIHQuY2xpY2sgJiYgQSh0LCAiaW5wdXQiKSAmJiBEZSh0LCAiY2xpY2siLCBrZSksICExDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0cmlnZ2VyOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcyB8fCBlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGUudGVzdCh0LnR5cGUpICYmIHQuY2xpY2sgJiYgQSh0LCAiaW5wdXQiKSAmJiBEZSh0LCAiY2xpY2siKSwgITANCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF9kZWZhdWx0OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZS50YXJnZXQ7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBwZS50ZXN0KHQudHlwZSkgJiYgdC5jbGljayAmJiBBKHQsICJpbnB1dCIpICYmIFEuZ2V0KHQsICJjbGljayIpIHx8IEEodCwgImEiKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBiZWZvcmV1bmxvYWQ6IHsNCiAgICAgICAgICAgICAgICBwb3N0RGlzcGF0Y2g6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgdm9pZCAwICE9PSBlLnJlc3VsdCAmJiBlLm9yaWdpbmFsRXZlbnQgJiYgKGUub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZSA9IGUucmVzdWx0KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0sIGsucmVtb3ZlRXZlbnQgPSBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgIGUucmVtb3ZlRXZlbnRMaXN0ZW5lciAmJiBlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCwgbikNCiAgICB9LCBrLkV2ZW50ID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICBpZiAoISh0aGlzIGluc3RhbmNlb2Ygay5FdmVudCkpIHJldHVybiBuZXcgay5FdmVudChlLCB0KTsNCiAgICAgICAgZSAmJiBlLnR5cGUgPyAodGhpcy5vcmlnaW5hbEV2ZW50ID0gZSwgdGhpcy50eXBlID0gZS50eXBlLCB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IGUuZGVmYXVsdFByZXZlbnRlZCB8fCB2b2lkIDAgPT09IGUuZGVmYXVsdFByZXZlbnRlZCAmJiAhMSA9PT0gZS5yZXR1cm5WYWx1ZSA/IGtlIDogU2UsIHRoaXMudGFyZ2V0ID0gZS50YXJnZXQgJiYgMyA9PT0gZS50YXJnZXQubm9kZVR5cGUgPyBlLnRhcmdldC5wYXJlbnROb2RlIDogZS50YXJnZXQsIHRoaXMuY3VycmVudFRhcmdldCA9IGUuY3VycmVudFRhcmdldCwgdGhpcy5yZWxhdGVkVGFyZ2V0ID0gZS5yZWxhdGVkVGFyZ2V0KSA6IHRoaXMudHlwZSA9IGUsIHQgJiYgay5leHRlbmQodGhpcywgdCksIHRoaXMudGltZVN0YW1wID0gZSAmJiBlLnRpbWVTdGFtcCB8fCBEYXRlLm5vdygpLCB0aGlzW2suZXhwYW5kb10gPSAhMA0KICAgIH0sIGsuRXZlbnQucHJvdG90eXBlID0gew0KICAgICAgICBjb25zdHJ1Y3Rvcjogay5FdmVudCwNCiAgICAgICAgaXNEZWZhdWx0UHJldmVudGVkOiBTZSwNCiAgICAgICAgaXNQcm9wYWdhdGlvblN0b3BwZWQ6IFNlLA0KICAgICAgICBpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDogU2UsDQogICAgICAgIGlzU2ltdWxhdGVkOiAhMSwNCiAgICAgICAgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7DQogICAgICAgICAgICB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IGtlLCBlICYmICF0aGlzLmlzU2ltdWxhdGVkICYmIGUucHJldmVudERlZmF1bHQoKQ0KICAgICAgICB9LA0KICAgICAgICBzdG9wUHJvcGFnYXRpb246IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7DQogICAgICAgICAgICB0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkID0ga2UsIGUgJiYgIXRoaXMuaXNTaW11bGF0ZWQgJiYgZS5zdG9wUHJvcGFnYXRpb24oKQ0KICAgICAgICB9LA0KICAgICAgICBzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7DQogICAgICAgICAgICB0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkID0ga2UsIGUgJiYgIXRoaXMuaXNTaW11bGF0ZWQgJiYgZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSwgdGhpcy5zdG9wUHJvcGFnYXRpb24oKQ0KICAgICAgICB9DQogICAgfSwgay5lYWNoKHsNCiAgICAgICAgYWx0S2V5OiAhMCwNCiAgICAgICAgYnViYmxlczogITAsDQogICAgICAgIGNhbmNlbGFibGU6ICEwLA0KICAgICAgICBjaGFuZ2VkVG91Y2hlczogITAsDQogICAgICAgIGN0cmxLZXk6ICEwLA0KICAgICAgICBkZXRhaWw6ICEwLA0KICAgICAgICBldmVudFBoYXNlOiAhMCwNCiAgICAgICAgbWV0YUtleTogITAsDQogICAgICAgIHBhZ2VYOiAhMCwNCiAgICAgICAgcGFnZVk6ICEwLA0KICAgICAgICBzaGlmdEtleTogITAsDQogICAgICAgIHZpZXc6ICEwLA0KICAgICAgICAiY2hhciI6ICEwLA0KICAgICAgICBjb2RlOiAhMCwNCiAgICAgICAgY2hhckNvZGU6ICEwLA0KICAgICAgICBrZXk6ICEwLA0KICAgICAgICBrZXlDb2RlOiAhMCwNCiAgICAgICAgYnV0dG9uOiAhMCwNCiAgICAgICAgYnV0dG9uczogITAsDQogICAgICAgIGNsaWVudFg6ICEwLA0KICAgICAgICBjbGllbnRZOiAhMCwNCiAgICAgICAgb2Zmc2V0WDogITAsDQogICAgICAgIG9mZnNldFk6ICEwLA0KICAgICAgICBwb2ludGVySWQ6ICEwLA0KICAgICAgICBwb2ludGVyVHlwZTogITAsDQogICAgICAgIHNjcmVlblg6ICEwLA0KICAgICAgICBzY3JlZW5ZOiAhMCwNCiAgICAgICAgdGFyZ2V0VG91Y2hlczogITAsDQogICAgICAgIHRvRWxlbWVudDogITAsDQogICAgICAgIHRvdWNoZXM6ICEwLA0KICAgICAgICB3aGljaDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIHQgPSBlLmJ1dHRvbjsNCiAgICAgICAgICAgIHJldHVybiBudWxsID09IGUud2hpY2ggJiYgVGUudGVzdChlLnR5cGUpID8gbnVsbCAhPSBlLmNoYXJDb2RlID8gZS5jaGFyQ29kZSA6IGUua2V5Q29kZSA6ICFlLndoaWNoICYmIHZvaWQgMCAhPT0gdCAmJiBDZS50ZXN0KGUudHlwZSkgPyAxICYgdCA/IDEgOiAyICYgdCA/IDMgOiA0ICYgdCA/IDIgOiAwIDogZS53aGljaA0KICAgICAgICB9DQogICAgfSwgay5ldmVudC5hZGRQcm9wKSwgay5lYWNoKHsNCiAgICAgICAgZm9jdXM6ICJmb2N1c2luIiwNCiAgICAgICAgYmx1cjogImZvY3Vzb3V0Ig0KICAgIH0sIGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgay5ldmVudC5zcGVjaWFsW2VdID0gew0KICAgICAgICAgICAgc2V0dXA6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBEZSh0aGlzLCBlLCBOZSksICExDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdHJpZ2dlcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIERlKHRoaXMsIGUpLCAhMA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGRlbGVnYXRlVHlwZTogdA0KICAgICAgICB9DQogICAgfSksIGsuZWFjaCh7DQogICAgICAgIG1vdXNlZW50ZXI6ICJtb3VzZW92ZXIiLA0KICAgICAgICBtb3VzZWxlYXZlOiAibW91c2VvdXQiLA0KICAgICAgICBwb2ludGVyZW50ZXI6ICJwb2ludGVyb3ZlciIsDQogICAgICAgIHBvaW50ZXJsZWF2ZTogInBvaW50ZXJvdXQiDQogICAgfSwgZnVuY3Rpb24oZSwgaSkgew0KICAgICAgICBrLmV2ZW50LnNwZWNpYWxbZV0gPSB7DQogICAgICAgICAgICBkZWxlZ2F0ZVR5cGU6IGksDQogICAgICAgICAgICBiaW5kVHlwZTogaSwNCiAgICAgICAgICAgIGhhbmRsZTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHZhciB0LCBuID0gZS5yZWxhdGVkVGFyZ2V0LA0KICAgICAgICAgICAgICAgICAgICByID0gZS5oYW5kbGVPYmo7DQogICAgICAgICAgICAgICAgcmV0dXJuIG4gJiYgKG4gPT09IHRoaXMgfHwgay5jb250YWlucyh0aGlzLCBuKSkgfHwgKGUudHlwZSA9IHIub3JpZ1R5cGUsIHQgPSByLmhhbmRsZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgZS50eXBlID0gaSksIHQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0pLCBrLmZuLmV4dGVuZCh7DQogICAgICAgIG9uOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7DQogICAgICAgICAgICByZXR1cm4gQWUodGhpcywgZSwgdCwgbiwgcikNCiAgICAgICAgfSwNCiAgICAgICAgb25lOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7DQogICAgICAgICAgICByZXR1cm4gQWUodGhpcywgZSwgdCwgbiwgciwgMSkNCiAgICAgICAgfSwNCiAgICAgICAgb2ZmOiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICB2YXIgciwgaTsNCiAgICAgICAgICAgIGlmIChlICYmIGUucHJldmVudERlZmF1bHQgJiYgZS5oYW5kbGVPYmopIHJldHVybiByID0gZS5oYW5kbGVPYmosIGsoZS5kZWxlZ2F0ZVRhcmdldCkub2ZmKHIubmFtZXNwYWNlID8gci5vcmlnVHlwZSArICIuIiArIHIubmFtZXNwYWNlIDogci5vcmlnVHlwZSwgci5zZWxlY3Rvciwgci5oYW5kbGVyKSwgdGhpczsNCiAgICAgICAgICAgIGlmICgib2JqZWN0IiA9PSB0eXBlb2YgZSkgew0KICAgICAgICAgICAgICAgIGZvciAoaSBpbiBlKSB0aGlzLm9mZihpLCB0LCBlW2ldKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuICExICE9PSB0ICYmICJmdW5jdGlvbiIgIT0gdHlwZW9mIHQgfHwgKG4gPSB0LCB0ID0gdm9pZCAwKSwgITEgPT09IG4gJiYgKG4gPSBTZSksIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBrLmV2ZW50LnJlbW92ZSh0aGlzLCBlLCBuLCB0KQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfQ0KICAgIH0pOw0KICAgIHZhciBqZSA9IC88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0qKVtePl0qKVwvPi9naSwNCiAgICAgICAgcWUgPSAvPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSwNCiAgICAgICAgTGUgPSAvY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSwNCiAgICAgICAgSGUgPSAvXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2c7DQoNCiAgICBmdW5jdGlvbiBPZShlLCB0KSB7DQogICAgICAgIHJldHVybiBBKGUsICJ0YWJsZSIpICYmIEEoMTEgIT09IHQubm9kZVR5cGUgPyB0IDogdC5maXJzdENoaWxkLCAidHIiKSAmJiBrKGUpLmNoaWxkcmVuKCJ0Ym9keSIpWzBdIHx8IGUNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBQZShlKSB7DQogICAgICAgIHJldHVybiBlLnR5cGUgPSAobnVsbCAhPT0gZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSkgKyAiLyIgKyBlLnR5cGUsIGUNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBSZShlKSB7DQogICAgICAgIHJldHVybiAidHJ1ZS8iID09PSAoZS50eXBlIHx8ICIiKS5zbGljZSgwLCA1KSA/IGUudHlwZSA9IGUudHlwZS5zbGljZSg1KSA6IGUucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksIGUNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBNZShlLCB0KSB7DQogICAgICAgIHZhciBuLCByLCBpLCBvLCBhLCBzLCB1LCBsOw0KICAgICAgICBpZiAoMSA9PT0gdC5ub2RlVHlwZSkgew0KICAgICAgICAgICAgaWYgKFEuaGFzRGF0YShlKSAmJiAobyA9IFEuYWNjZXNzKGUpLCBhID0gUS5zZXQodCwgbyksIGwgPSBvLmV2ZW50cykpDQogICAgICAgICAgICAgICAgZm9yIChpIGluIGRlbGV0ZSBhLmhhbmRsZSwgYS5ldmVudHMgPSB7fSwgbCkNCiAgICAgICAgICAgICAgICAgICAgZm9yIChuID0gMCwgciA9IGxbaV0ubGVuZ3RoOyBuIDwgcjsgbisrKSBrLmV2ZW50LmFkZCh0LCBpLCBsW2ldW25dKTsNCiAgICAgICAgICAgIEouaGFzRGF0YShlKSAmJiAocyA9IEouYWNjZXNzKGUpLCB1ID0gay5leHRlbmQoe30sIHMpLCBKLnNldCh0LCB1KSkNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEllKG4sIHIsIGksIG8pIHsNCiAgICAgICAgciA9IGcuYXBwbHkoW10sIHIpOw0KICAgICAgICB2YXIgZSwgdCwgYSwgcywgdSwgbCwgYyA9IDAsDQogICAgICAgICAgICBmID0gbi5sZW5ndGgsDQogICAgICAgICAgICBwID0gZiAtIDEsDQogICAgICAgICAgICBkID0gclswXSwNCiAgICAgICAgICAgIGggPSBtKGQpOw0KICAgICAgICBpZiAoaCB8fCAxIDwgZiAmJiAic3RyaW5nIiA9PSB0eXBlb2YgZCAmJiAheS5jaGVja0Nsb25lICYmIExlLnRlc3QoZCkpIHJldHVybiBuLmVhY2goZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIHQgPSBuLmVxKGUpOw0KICAgICAgICAgICAgaCAmJiAoclswXSA9IGQuY2FsbCh0aGlzLCBlLCB0Lmh0bWwoKSkpLCBJZSh0LCByLCBpLCBvKQ0KICAgICAgICB9KTsNCiAgICAgICAgaWYgKGYgJiYgKHQgPSAoZSA9IHdlKHIsIG5bMF0ub3duZXJEb2N1bWVudCwgITEsIG4sIG8pKS5maXJzdENoaWxkLCAxID09PSBlLmNoaWxkTm9kZXMubGVuZ3RoICYmIChlID0gdCksIHQgfHwgbykpIHsNCiAgICAgICAgICAgIGZvciAocyA9IChhID0gay5tYXAodmUoZSwgInNjcmlwdCIpLCBQZSkpLmxlbmd0aDsgYyA8IGY7IGMrKykgdSA9IGUsIGMgIT09IHAgJiYgKHUgPSBrLmNsb25lKHUsICEwLCAhMCksIHMgJiYgay5tZXJnZShhLCB2ZSh1LCAic2NyaXB0IikpKSwgaS5jYWxsKG5bY10sIHUsIGMpOw0KICAgICAgICAgICAgaWYgKHMpDQogICAgICAgICAgICAgICAgZm9yIChsID0gYVthLmxlbmd0aCAtIDFdLm93bmVyRG9jdW1lbnQsIGsubWFwKGEsIFJlKSwgYyA9IDA7IGMgPCBzOyBjKyspIHUgPSBhW2NdLCBoZS50ZXN0KHUudHlwZSB8fCAiIikgJiYgIVEuYWNjZXNzKHUsICJnbG9iYWxFdmFsIikgJiYgay5jb250YWlucyhsLCB1KSAmJiAodS5zcmMgJiYgIm1vZHVsZSIgIT09ICh1LnR5cGUgfHwgIiIpLnRvTG93ZXJDYXNlKCkgPyBrLl9ldmFsVXJsICYmICF1Lm5vTW9kdWxlICYmIGsuX2V2YWxVcmwodS5zcmMsIHsNCiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHUubm9uY2UgfHwgdS5nZXRBdHRyaWJ1dGUoIm5vbmNlIikNCiAgICAgICAgICAgICAgICB9KSA6IGIodS50ZXh0Q29udGVudC5yZXBsYWNlKEhlLCAiIiksIHUsIGwpKQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBuDQogICAgfQ0KDQogICAgZnVuY3Rpb24gV2UoZSwgdCwgbikgew0KICAgICAgICBmb3IgKHZhciByLCBpID0gdCA/IGsuZmlsdGVyKHQsIGUpIDogZSwgbyA9IDA7IG51bGwgIT0gKHIgPSBpW29dKTsgbysrKSBuIHx8IDEgIT09IHIubm9kZVR5cGUgfHwgay5jbGVhbkRhdGEodmUocikpLCByLnBhcmVudE5vZGUgJiYgKG4gJiYgb2UocikgJiYgeWUodmUociwgInNjcmlwdCIpKSwgci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpKTsNCiAgICAgICAgcmV0dXJuIGUNCiAgICB9DQogICAgay5leHRlbmQoew0KICAgICAgICBodG1sUHJlZmlsdGVyOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gZS5yZXBsYWNlKGplLCAiPCQxPjwvJDI+IikNCiAgICAgICAgfSwNCiAgICAgICAgY2xvbmU6IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHZhciByLCBpLCBvLCBhLCBzLCB1LCBsLCBjID0gZS5jbG9uZU5vZGUoITApLA0KICAgICAgICAgICAgICAgIGYgPSBvZShlKTsNCiAgICAgICAgICAgIGlmICghKHkubm9DbG9uZUNoZWNrZWQgfHwgMSAhPT0gZS5ub2RlVHlwZSAmJiAxMSAhPT0gZS5ub2RlVHlwZSB8fCBrLmlzWE1MRG9jKGUpKSkNCiAgICAgICAgICAgICAgICBmb3IgKGEgPSB2ZShjKSwgciA9IDAsIGkgPSAobyA9IHZlKGUpKS5sZW5ndGg7IHIgPCBpOyByKyspIHMgPSBvW3JdLCB1ID0gYVtyXSwgdm9pZCAwLCAiaW5wdXQiID09PSAobCA9IHUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkgJiYgcGUudGVzdChzLnR5cGUpID8gdS5jaGVja2VkID0gcy5jaGVja2VkIDogImlucHV0IiAhPT0gbCAmJiAidGV4dGFyZWEiICE9PSBsIHx8ICh1LmRlZmF1bHRWYWx1ZSA9IHMuZGVmYXVsdFZhbHVlKTsNCiAgICAgICAgICAgIGlmICh0KQ0KICAgICAgICAgICAgICAgIGlmIChuKQ0KICAgICAgICAgICAgICAgICAgICBmb3IgKG8gPSBvIHx8IHZlKGUpLCBhID0gYSB8fCB2ZShjKSwgciA9IDAsIGkgPSBvLmxlbmd0aDsgciA8IGk7IHIrKykgTWUob1tyXSwgYVtyXSk7DQogICAgICAgICAgICAgICAgZWxzZSBNZShlLCBjKTsNCiAgICAgICAgICAgIHJldHVybiAwIDwgKGEgPSB2ZShjLCAic2NyaXB0IikpLmxlbmd0aCAmJiB5ZShhLCAhZiAmJiB2ZShlLCAic2NyaXB0IikpLCBjDQogICAgICAgIH0sDQogICAgICAgIGNsZWFuRGF0YTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgZm9yICh2YXIgdCwgbiwgciwgaSA9IGsuZXZlbnQuc3BlY2lhbCwgbyA9IDA7IHZvaWQgMCAhPT0gKG4gPSBlW29dKTsgbysrKQ0KICAgICAgICAgICAgICAgIGlmIChHKG4pKSB7DQogICAgICAgICAgICAgICAgICAgIGlmICh0ID0gbltRLmV4cGFuZG9dKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodC5ldmVudHMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChyIGluIHQuZXZlbnRzKSBpW3JdID8gay5ldmVudC5yZW1vdmUobiwgcikgOiBrLnJlbW92ZUV2ZW50KG4sIHIsIHQuaGFuZGxlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIG5bUS5leHBhbmRvXSA9IHZvaWQgMA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIG5bSi5leHBhbmRvXSAmJiAobltKLmV4cGFuZG9dID0gdm9pZCAwKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0pLCBrLmZuLmV4dGVuZCh7DQogICAgICAgIGRldGFjaDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIFdlKHRoaXMsIGUsICEwKQ0KICAgICAgICB9LA0KICAgICAgICByZW1vdmU6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBXZSh0aGlzLCBlKQ0KICAgICAgICB9LA0KICAgICAgICB0ZXh0OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gXyh0aGlzLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gZSA/IGsudGV4dCh0aGlzKSA6IHRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAxICE9PSB0aGlzLm5vZGVUeXBlICYmIDExICE9PSB0aGlzLm5vZGVUeXBlICYmIDkgIT09IHRoaXMubm9kZVR5cGUgfHwgKHRoaXMudGV4dENvbnRlbnQgPSBlKQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9LCBudWxsLCBlLCBhcmd1bWVudHMubGVuZ3RoKQ0KICAgICAgICB9LA0KICAgICAgICBhcHBlbmQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIEllKHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIDEgIT09IHRoaXMubm9kZVR5cGUgJiYgMTEgIT09IHRoaXMubm9kZVR5cGUgJiYgOSAhPT0gdGhpcy5ub2RlVHlwZSB8fCBPZSh0aGlzLCBlKS5hcHBlbmRDaGlsZChlKQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgcHJlcGVuZDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gSWUodGhpcywgYXJndW1lbnRzLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgaWYgKDEgPT09IHRoaXMubm9kZVR5cGUgfHwgMTEgPT09IHRoaXMubm9kZVR5cGUgfHwgOSA9PT0gdGhpcy5ub2RlVHlwZSkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IE9lKHRoaXMsIGUpOw0KICAgICAgICAgICAgICAgICAgICB0Lmluc2VydEJlZm9yZShlLCB0LmZpcnN0Q2hpbGQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgYmVmb3JlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiBJZSh0aGlzLCBhcmd1bWVudHMsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudE5vZGUgJiYgdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLCB0aGlzKQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgYWZ0ZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIEllKHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHRoaXMucGFyZW50Tm9kZSAmJiB0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsIHRoaXMubmV4dFNpYmxpbmcpDQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgICAgICBlbXB0eTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBmb3IgKHZhciBlLCB0ID0gMDsgbnVsbCAhPSAoZSA9IHRoaXNbdF0pOyB0KyspIDEgPT09IGUubm9kZVR5cGUgJiYgKGsuY2xlYW5EYXRhKHZlKGUsICExKSksIGUudGV4dENvbnRlbnQgPSAiIik7DQogICAgICAgICAgICByZXR1cm4gdGhpcw0KICAgICAgICB9LA0KICAgICAgICBjbG9uZTogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgcmV0dXJuIGUgPSBudWxsICE9IGUgJiYgZSwgdCA9IG51bGwgPT0gdCA/IGUgOiB0LCB0aGlzLm1hcChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gay5jbG9uZSh0aGlzLCBlLCB0KQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgaHRtbDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIF8odGhpcywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpc1swXSB8fCB7fSwNCiAgICAgICAgICAgICAgICAgICAgbiA9IDAsDQogICAgICAgICAgICAgICAgICAgIHIgPSB0aGlzLmxlbmd0aDsNCiAgICAgICAgICAgICAgICBpZiAodm9pZCAwID09PSBlICYmIDEgPT09IHQubm9kZVR5cGUpIHJldHVybiB0LmlubmVySFRNTDsNCiAgICAgICAgICAgICAgICBpZiAoInN0cmluZyIgPT0gdHlwZW9mIGUgJiYgIXFlLnRlc3QoZSkgJiYgIWdlWyhkZS5leGVjKGUpIHx8IFsiIiwgIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkgew0KICAgICAgICAgICAgICAgICAgICBlID0gay5odG1sUHJlZmlsdGVyKGUpOw0KICAgICAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yICg7IG4gPCByOyBuKyspIDEgPT09ICh0ID0gdGhpc1tuXSB8fCB7fSkubm9kZVR5cGUgJiYgKGsuY2xlYW5EYXRhKHZlKHQsICExKSksIHQuaW5uZXJIVE1MID0gZSk7DQogICAgICAgICAgICAgICAgICAgICAgICB0ID0gMA0KICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB0ICYmIHRoaXMuZW1wdHkoKS5hcHBlbmQoZSkNCiAgICAgICAgICAgIH0sIG51bGwsIGUsIGFyZ3VtZW50cy5sZW5ndGgpDQogICAgICAgIH0sDQogICAgICAgIHJlcGxhY2VXaXRoOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciBuID0gW107DQogICAgICAgICAgICByZXR1cm4gSWUodGhpcywgYXJndW1lbnRzLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLnBhcmVudE5vZGU7DQogICAgICAgICAgICAgICAgay5pbkFycmF5KHRoaXMsIG4pIDwgMCAmJiAoay5jbGVhbkRhdGEodmUodGhpcykpLCB0ICYmIHQucmVwbGFjZUNoaWxkKGUsIHRoaXMpKQ0KICAgICAgICAgICAgfSwgbikNCiAgICAgICAgfQ0KICAgIH0pLCBrLmVhY2goew0KICAgICAgICBhcHBlbmRUbzogImFwcGVuZCIsDQogICAgICAgIHByZXBlbmRUbzogInByZXBlbmQiLA0KICAgICAgICBpbnNlcnRCZWZvcmU6ICJiZWZvcmUiLA0KICAgICAgICBpbnNlcnRBZnRlcjogImFmdGVyIiwNCiAgICAgICAgcmVwbGFjZUFsbDogInJlcGxhY2VXaXRoIg0KICAgIH0sIGZ1bmN0aW9uKGUsIGEpIHsNCiAgICAgICAgay5mbltlXSA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIGZvciAodmFyIHQsIG4gPSBbXSwgciA9IGsoZSksIGkgPSByLmxlbmd0aCAtIDEsIG8gPSAwOyBvIDw9IGk7IG8rKykgdCA9IG8gPT09IGkgPyB0aGlzIDogdGhpcy5jbG9uZSghMCksIGsocltvXSlbYV0odCksIHUuYXBwbHkobiwgdC5nZXQoKSk7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5wdXNoU3RhY2sobikNCiAgICAgICAgfQ0KICAgIH0pOw0KICAgIHZhciAkZSA9IG5ldyBSZWdFeHAoIl4oIiArIHRlICsgIikoPyFweClbYS16JV0rJCIsICJpIiksDQogICAgICAgIEZlID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIHQgPSBlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7DQogICAgICAgICAgICByZXR1cm4gdCAmJiB0Lm9wZW5lciB8fCAodCA9IEMpLCB0LmdldENvbXB1dGVkU3R5bGUoZSkNCiAgICAgICAgfSwNCiAgICAgICAgQmUgPSBuZXcgUmVnRXhwKHJlLmpvaW4oInwiKSwgImkiKTsNCg0KICAgIGZ1bmN0aW9uIF9lKGUsIHQsIG4pIHsNCiAgICAgICAgdmFyIHIsIGksIG8sIGEsIHMgPSBlLnN0eWxlOw0KICAgICAgICByZXR1cm4gKG4gPSBuIHx8IEZlKGUpKSAmJiAoIiIgIT09IChhID0gbi5nZXRQcm9wZXJ0eVZhbHVlKHQpIHx8IG5bdF0pIHx8IG9lKGUpIHx8IChhID0gay5zdHlsZShlLCB0KSksICF5LnBpeGVsQm94U3R5bGVzKCkgJiYgJGUudGVzdChhKSAmJiBCZS50ZXN0KHQpICYmIChyID0gcy53aWR0aCwgaSA9IHMubWluV2lkdGgsIG8gPSBzLm1heFdpZHRoLCBzLm1pbldpZHRoID0gcy5tYXhXaWR0aCA9IHMud2lkdGggPSBhLCBhID0gbi53aWR0aCwgcy53aWR0aCA9IHIsIHMubWluV2lkdGggPSBpLCBzLm1heFdpZHRoID0gbykpLCB2b2lkIDAgIT09IGEgPyBhICsgIiIgOiBhDQogICAgfQ0KDQogICAgZnVuY3Rpb24gemUoZSwgdCkgew0KICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBpZiAoIWUoKSkgcmV0dXJuICh0aGlzLmdldCA9IHQpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7DQogICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuZ2V0DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9ISBmdW5jdGlvbigpIHsNCiAgICAgICAgZnVuY3Rpb24gZSgpIHsNCiAgICAgICAgICAgIGlmICh1KSB7DQogICAgICAgICAgICAgICAgcy5zdHlsZS5jc3NUZXh0ID0gInBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7d2lkdGg6NjBweDttYXJnaW4tdG9wOjFweDtwYWRkaW5nOjA7Ym9yZGVyOjAiLCB1LnN0eWxlLmNzc1RleHQgPSAicG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6c2Nyb2xsO21hcmdpbjphdXRvO2JvcmRlcjoxcHg7cGFkZGluZzoxcHg7d2lkdGg6NjAlO3RvcDoxJSIsIGllLmFwcGVuZENoaWxkKHMpLmFwcGVuZENoaWxkKHUpOw0KICAgICAgICAgICAgICAgIHZhciBlID0gQy5nZXRDb21wdXRlZFN0eWxlKHUpOw0KICAgICAgICAgICAgICAgIG4gPSAiMSUiICE9PSBlLnRvcCwgYSA9IDEyID09PSB0KGUubWFyZ2luTGVmdCksIHUuc3R5bGUucmlnaHQgPSAiNjAlIiwgbyA9IDM2ID09PSB0KGUucmlnaHQpLCByID0gMzYgPT09IHQoZS53aWR0aCksIHUuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiLCBpID0gMTIgPT09IHQodS5vZmZzZXRXaWR0aCAvIDMpLCBpZS5yZW1vdmVDaGlsZChzKSwgdSA9IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIHQoZSkgew0KICAgICAgICAgICAgcmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChlKSkNCiAgICAgICAgfQ0KICAgICAgICB2YXIgbiwgciwgaSwgbywgYSwgcyA9IEUuY3JlYXRlRWxlbWVudCgiZGl2IiksDQogICAgICAgICAgICB1ID0gRS5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCiAgICAgICAgdS5zdHlsZSAmJiAodS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9ICJjb250ZW50LWJveCIsIHUuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9ICIiLCB5LmNsZWFyQ2xvbmVTdHlsZSA9ICJjb250ZW50LWJveCIgPT09IHUuc3R5bGUuYmFja2dyb3VuZENsaXAsIGsuZXh0ZW5kKHksIHsNCiAgICAgICAgICAgIGJveFNpemluZ1JlbGlhYmxlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSgpLCByDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgcGl4ZWxCb3hTdHlsZXM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlKCksIG8NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBwaXhlbFBvc2l0aW9uOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSgpLCBuDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgcmVsaWFibGVNYXJnaW5MZWZ0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSgpLCBhDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2Nyb2xsYm94U2l6ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUoKSwgaQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KSkNCiAgICB9KCk7DQogICAgdmFyIFVlID0gWyJXZWJraXQiLCAiTW96IiwgIm1zIl0sDQogICAgICAgIFhlID0gRS5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwNCiAgICAgICAgVmUgPSB7fTsNCg0KICAgIGZ1bmN0aW9uIEdlKGUpIHsNCiAgICAgICAgdmFyIHQgPSBrLmNzc1Byb3BzW2VdIHx8IFZlW2VdOw0KICAgICAgICByZXR1cm4gdCB8fCAoZSBpbiBYZSA/IGUgOiBWZVtlXSA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHZhciB0ID0gZVswXS50b1VwcGVyQ2FzZSgpICsgZS5zbGljZSgxKSwNCiAgICAgICAgICAgICAgICBuID0gVWUubGVuZ3RoOw0KICAgICAgICAgICAgd2hpbGUgKG4tLSkNCiAgICAgICAgICAgICAgICBpZiAoKGUgPSBVZVtuXSArIHQpIGluIFhlKSByZXR1cm4gZQ0KICAgICAgICB9KGUpIHx8IGUpDQogICAgfQ0KICAgIHZhciBZZSA9IC9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLywNCiAgICAgICAgUWUgPSAvXi0tLywNCiAgICAgICAgSmUgPSB7DQogICAgICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIiwNCiAgICAgICAgICAgIHZpc2liaWxpdHk6ICJoaWRkZW4iLA0KICAgICAgICAgICAgZGlzcGxheTogImJsb2NrIg0KICAgICAgICB9LA0KICAgICAgICBLZSA9IHsNCiAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICIwIiwNCiAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICI0MDAiDQogICAgICAgIH07DQoNCiAgICBmdW5jdGlvbiBaZShlLCB0LCBuKSB7DQogICAgICAgIHZhciByID0gbmUuZXhlYyh0KTsNCiAgICAgICAgcmV0dXJuIHIgPyBNYXRoLm1heCgwLCByWzJdIC0gKG4gfHwgMCkpICsgKHJbM10gfHwgInB4IikgOiB0DQogICAgfQ0KDQogICAgZnVuY3Rpb24gZXQoZSwgdCwgbiwgciwgaSwgbykgew0KICAgICAgICB2YXIgYSA9ICJ3aWR0aCIgPT09IHQgPyAxIDogMCwNCiAgICAgICAgICAgIHMgPSAwLA0KICAgICAgICAgICAgdSA9IDA7DQogICAgICAgIGlmIChuID09PSAociA/ICJib3JkZXIiIDogImNvbnRlbnQiKSkgcmV0dXJuIDA7DQogICAgICAgIGZvciAoOyBhIDwgNDsgYSArPSAyKSAibWFyZ2luIiA9PT0gbiAmJiAodSArPSBrLmNzcyhlLCBuICsgcmVbYV0sICEwLCBpKSksIHIgPyAoImNvbnRlbnQiID09PSBuICYmICh1IC09IGsuY3NzKGUsICJwYWRkaW5nIiArIHJlW2FdLCAhMCwgaSkpLCAibWFyZ2luIiAhPT0gbiAmJiAodSAtPSBrLmNzcyhlLCAiYm9yZGVyIiArIHJlW2FdICsgIldpZHRoIiwgITAsIGkpKSkgOiAodSArPSBrLmNzcyhlLCAicGFkZGluZyIgKyByZVthXSwgITAsIGkpLCAicGFkZGluZyIgIT09IG4gPyB1ICs9IGsuY3NzKGUsICJib3JkZXIiICsgcmVbYV0gKyAiV2lkdGgiLCAhMCwgaSkgOiBzICs9IGsuY3NzKGUsICJib3JkZXIiICsgcmVbYV0gKyAiV2lkdGgiLCAhMCwgaSkpOw0KICAgICAgICByZXR1cm4gIXIgJiYgMCA8PSBvICYmICh1ICs9IE1hdGgubWF4KDAsIE1hdGguY2VpbChlWyJvZmZzZXQiICsgdFswXS50b1VwcGVyQ2FzZSgpICsgdC5zbGljZSgxKV0gLSBvIC0gdSAtIHMgLSAuNSkpIHx8IDApLCB1DQogICAgfQ0KDQogICAgZnVuY3Rpb24gdHQoZSwgdCwgbikgew0KICAgICAgICB2YXIgciA9IEZlKGUpLA0KICAgICAgICAgICAgaSA9ICgheS5ib3hTaXppbmdSZWxpYWJsZSgpIHx8IG4pICYmICJib3JkZXItYm94IiA9PT0gay5jc3MoZSwgImJveFNpemluZyIsICExLCByKSwNCiAgICAgICAgICAgIG8gPSBpLA0KICAgICAgICAgICAgYSA9IF9lKGUsIHQsIHIpLA0KICAgICAgICAgICAgcyA9ICJvZmZzZXQiICsgdFswXS50b1VwcGVyQ2FzZSgpICsgdC5zbGljZSgxKTsNCiAgICAgICAgaWYgKCRlLnRlc3QoYSkpIHsNCiAgICAgICAgICAgIGlmICghbikgcmV0dXJuIGE7DQogICAgICAgICAgICBhID0gImF1dG8iDQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICgheS5ib3hTaXppbmdSZWxpYWJsZSgpICYmIGkgfHwgImF1dG8iID09PSBhIHx8ICFwYXJzZUZsb2F0KGEpICYmICJpbmxpbmUiID09PSBrLmNzcyhlLCAiZGlzcGxheSIsICExLCByKSkgJiYgZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCAmJiAoaSA9ICJib3JkZXItYm94IiA9PT0gay5jc3MoZSwgImJveFNpemluZyIsICExLCByKSwgKG8gPSBzIGluIGUpICYmIChhID0gZVtzXSkpLCAoYSA9IHBhcnNlRmxvYXQoYSkgfHwgMCkgKyBldChlLCB0LCBuIHx8IChpID8gImJvcmRlciIgOiAiY29udGVudCIpLCBvLCByLCBhKSArICJweCINCiAgICB9DQoNCiAgICBmdW5jdGlvbiBudChlLCB0LCBuLCByLCBpKSB7DQogICAgICAgIHJldHVybiBuZXcgbnQucHJvdG90eXBlLmluaXQoZSwgdCwgbiwgciwgaSkNCiAgICB9DQogICAgay5leHRlbmQoew0KICAgICAgICBjc3NIb29rczogew0KICAgICAgICAgICAgb3BhY2l0eTogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAodCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBfZShlLCAib3BhY2l0eSIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIiID09PSBuID8gIjEiIDogbg0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBjc3NOdW1iZXI6IHsNCiAgICAgICAgICAgIGFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiAhMCwNCiAgICAgICAgICAgIGNvbHVtbkNvdW50OiAhMCwNCiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAhMCwNCiAgICAgICAgICAgIGZsZXhHcm93OiAhMCwNCiAgICAgICAgICAgIGZsZXhTaHJpbms6ICEwLA0KICAgICAgICAgICAgZm9udFdlaWdodDogITAsDQogICAgICAgICAgICBncmlkQXJlYTogITAsDQogICAgICAgICAgICBncmlkQ29sdW1uOiAhMCwNCiAgICAgICAgICAgIGdyaWRDb2x1bW5FbmQ6ICEwLA0KICAgICAgICAgICAgZ3JpZENvbHVtblN0YXJ0OiAhMCwNCiAgICAgICAgICAgIGdyaWRSb3c6ICEwLA0KICAgICAgICAgICAgZ3JpZFJvd0VuZDogITAsDQogICAgICAgICAgICBncmlkUm93U3RhcnQ6ICEwLA0KICAgICAgICAgICAgbGluZUhlaWdodDogITAsDQogICAgICAgICAgICBvcGFjaXR5OiAhMCwNCiAgICAgICAgICAgIG9yZGVyOiAhMCwNCiAgICAgICAgICAgIG9ycGhhbnM6ICEwLA0KICAgICAgICAgICAgd2lkb3dzOiAhMCwNCiAgICAgICAgICAgIHpJbmRleDogITAsDQogICAgICAgICAgICB6b29tOiAhMA0KICAgICAgICB9LA0KICAgICAgICBjc3NQcm9wczoge30sDQogICAgICAgIHN0eWxlOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7DQogICAgICAgICAgICBpZiAoZSAmJiAzICE9PSBlLm5vZGVUeXBlICYmIDggIT09IGUubm9kZVR5cGUgJiYgZS5zdHlsZSkgew0KICAgICAgICAgICAgICAgIHZhciBpLCBvLCBhLCBzID0gVih0KSwNCiAgICAgICAgICAgICAgICAgICAgdSA9IFFlLnRlc3QodCksDQogICAgICAgICAgICAgICAgICAgIGwgPSBlLnN0eWxlOw0KICAgICAgICAgICAgICAgIGlmICh1IHx8ICh0ID0gR2UocykpLCBhID0gay5jc3NIb29rc1t0XSB8fCBrLmNzc0hvb2tzW3NdLCB2b2lkIDAgPT09IG4pIHJldHVybiBhICYmICJnZXQiIGluIGEgJiYgdm9pZCAwICE9PSAoaSA9IGEuZ2V0KGUsICExLCByKSkgPyBpIDogbFt0XTsNCiAgICAgICAgICAgICAgICAic3RyaW5nIiA9PT0gKG8gPSB0eXBlb2YgbikgJiYgKGkgPSBuZS5leGVjKG4pKSAmJiBpWzFdICYmIChuID0gbGUoZSwgdCwgaSksIG8gPSAibnVtYmVyIiksIG51bGwgIT0gbiAmJiBuID09IG4gJiYgKCJudW1iZXIiICE9PSBvIHx8IHUgfHwgKG4gKz0gaSAmJiBpWzNdIHx8IChrLmNzc051bWJlcltzXSA/ICIiIDogInB4IikpLCB5LmNsZWFyQ2xvbmVTdHlsZSB8fCAiIiAhPT0gbiB8fCAwICE9PSB0LmluZGV4T2YoImJhY2tncm91bmQiKSB8fCAobFt0XSA9ICJpbmhlcml0IiksIGEgJiYgInNldCIgaW4gYSAmJiB2b2lkIDAgPT09IChuID0gYS5zZXQoZSwgbiwgcikpIHx8ICh1ID8gbC5zZXRQcm9wZXJ0eSh0LCBuKSA6IGxbdF0gPSBuKSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgY3NzOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7DQogICAgICAgICAgICB2YXIgaSwgbywgYSwgcyA9IFYodCk7DQogICAgICAgICAgICByZXR1cm4gUWUudGVzdCh0KSB8fCAodCA9IEdlKHMpKSwgKGEgPSBrLmNzc0hvb2tzW3RdIHx8IGsuY3NzSG9va3Nbc10pICYmICJnZXQiIGluIGEgJiYgKGkgPSBhLmdldChlLCAhMCwgbikpLCB2b2lkIDAgPT09IGkgJiYgKGkgPSBfZShlLCB0LCByKSksICJub3JtYWwiID09PSBpICYmIHQgaW4gS2UgJiYgKGkgPSBLZVt0XSksICIiID09PSBuIHx8IG4gPyAobyA9IHBhcnNlRmxvYXQoaSksICEwID09PSBuIHx8IGlzRmluaXRlKG8pID8gbyB8fCAwIDogaSkgOiBpDQogICAgICAgIH0NCiAgICB9KSwgay5lYWNoKFsiaGVpZ2h0IiwgIndpZHRoIl0sIGZ1bmN0aW9uKGUsIHUpIHsNCiAgICAgICAgay5jc3NIb29rc1t1XSA9IHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICAgICAgICAgIGlmICh0KSByZXR1cm4gIVllLnRlc3Qoay5jc3MoZSwgImRpc3BsYXkiKSkgfHwgZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCAmJiBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoID8gdHQoZSwgdSwgbikgOiB1ZShlLCBKZSwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0dChlLCB1LCBuKQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICAgICAgdmFyIHIsIGkgPSBGZShlKSwNCiAgICAgICAgICAgICAgICAgICAgbyA9ICF5LnNjcm9sbGJveFNpemUoKSAmJiAiYWJzb2x1dGUiID09PSBpLnBvc2l0aW9uLA0KICAgICAgICAgICAgICAgICAgICBhID0gKG8gfHwgbikgJiYgImJvcmRlci1ib3giID09PSBrLmNzcyhlLCAiYm94U2l6aW5nIiwgITEsIGkpLA0KICAgICAgICAgICAgICAgICAgICBzID0gbiA/IGV0KGUsIHUsIG4sIGEsIGkpIDogMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gYSAmJiBvICYmIChzIC09IE1hdGguY2VpbChlWyJvZmZzZXQiICsgdVswXS50b1VwcGVyQ2FzZSgpICsgdS5zbGljZSgxKV0gLSBwYXJzZUZsb2F0KGlbdV0pIC0gZXQoZSwgdSwgImJvcmRlciIsICExLCBpKSAtIC41KSksIHMgJiYgKHIgPSBuZS5leGVjKHQpKSAmJiAicHgiICE9PSAoclszXSB8fCAicHgiKSAmJiAoZS5zdHlsZVt1XSA9IHQsIHQgPSBrLmNzcyhlLCB1KSksIFplKDAsIHQsIHMpDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KSwgay5jc3NIb29rcy5tYXJnaW5MZWZ0ID0gemUoeS5yZWxpYWJsZU1hcmdpbkxlZnQsIGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgaWYgKHQpIHJldHVybiAocGFyc2VGbG9hdChfZShlLCAibWFyZ2luTGVmdCIpKSB8fCBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLSB1ZShlLCB7DQogICAgICAgICAgICBtYXJnaW5MZWZ0OiAwDQogICAgICAgIH0sIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdA0KICAgICAgICB9KSkgKyAicHgiDQogICAgfSksIGsuZWFjaCh7DQogICAgICAgIG1hcmdpbjogIiIsDQogICAgICAgIHBhZGRpbmc6ICIiLA0KICAgICAgICBib3JkZXI6ICJXaWR0aCINCiAgICB9LCBmdW5jdGlvbihpLCBvKSB7DQogICAgICAgIGsuY3NzSG9va3NbaSArIG9dID0gew0KICAgICAgICAgICAgZXhwYW5kOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgZm9yICh2YXIgdCA9IDAsIG4gPSB7fSwgciA9ICJzdHJpbmciID09IHR5cGVvZiBlID8gZS5zcGxpdCgiICIpIDogW2VdOyB0IDwgNDsgdCsrKSBuW2kgKyByZVt0XSArIG9dID0gclt0XSB8fCByW3QgLSAyXSB8fCByWzBdOw0KICAgICAgICAgICAgICAgIHJldHVybiBuDQogICAgICAgICAgICB9DQogICAgICAgIH0sICJtYXJnaW4iICE9PSBpICYmIChrLmNzc0hvb2tzW2kgKyBvXS5zZXQgPSBaZSkNCiAgICB9KSwgay5mbi5leHRlbmQoew0KICAgICAgICBjc3M6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHJldHVybiBfKHRoaXMsIGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgICAgICB2YXIgciwgaSwgbyA9IHt9LA0KICAgICAgICAgICAgICAgICAgICBhID0gMDsNCiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0KSkgew0KICAgICAgICAgICAgICAgICAgICBmb3IgKHIgPSBGZShlKSwgaSA9IHQubGVuZ3RoOyBhIDwgaTsgYSsrKSBvW3RbYV1dID0gay5jc3MoZSwgdFthXSwgITEsIHIpOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwICE9PSBuID8gay5zdHlsZShlLCB0LCBuKSA6IGsuY3NzKGUsIHQpDQogICAgICAgICAgICB9LCBlLCB0LCAxIDwgYXJndW1lbnRzLmxlbmd0aCkNCiAgICAgICAgfQ0KICAgIH0pLCAoKGsuVHdlZW4gPSBudCkucHJvdG90eXBlID0gew0KICAgICAgICBjb25zdHJ1Y3RvcjogbnQsDQogICAgICAgIGluaXQ6IGZ1bmN0aW9uKGUsIHQsIG4sIHIsIGksIG8pIHsNCiAgICAgICAgICAgIHRoaXMuZWxlbSA9IGUsIHRoaXMucHJvcCA9IG4sIHRoaXMuZWFzaW5nID0gaSB8fCBrLmVhc2luZy5fZGVmYXVsdCwgdGhpcy5vcHRpb25zID0gdCwgdGhpcy5zdGFydCA9IHRoaXMubm93ID0gdGhpcy5jdXIoKSwgdGhpcy5lbmQgPSByLCB0aGlzLnVuaXQgPSBvIHx8IChrLmNzc051bWJlcltuXSA/ICIiIDogInB4IikNCiAgICAgICAgfSwNCiAgICAgICAgY3VyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciBlID0gbnQucHJvcEhvb2tzW3RoaXMucHJvcF07DQogICAgICAgICAgICByZXR1cm4gZSAmJiBlLmdldCA/IGUuZ2V0KHRoaXMpIDogbnQucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKQ0KICAgICAgICB9LA0KICAgICAgICBydW46IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHZhciB0LCBuID0gbnQucHJvcEhvb2tzW3RoaXMucHJvcF07DQogICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uID8gdGhpcy5wb3MgPSB0ID0gay5lYXNpbmdbdGhpcy5lYXNpbmddKGUsIHRoaXMub3B0aW9ucy5kdXJhdGlvbiAqIGUsIDAsIDEsIHRoaXMub3B0aW9ucy5kdXJhdGlvbikgOiB0aGlzLnBvcyA9IHQgPSBlLCB0aGlzLm5vdyA9ICh0aGlzLmVuZCAtIHRoaXMuc3RhcnQpICogdCArIHRoaXMuc3RhcnQsIHRoaXMub3B0aW9ucy5zdGVwICYmIHRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLCB0aGlzLm5vdywgdGhpcyksIG4gJiYgbi5zZXQgPyBuLnNldCh0aGlzKSA6IG50LnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksIHRoaXMNCiAgICAgICAgfQ0KICAgIH0pLmluaXQucHJvdG90eXBlID0gbnQucHJvdG90eXBlLCAobnQucHJvcEhvb2tzID0gew0KICAgICAgICBfZGVmYXVsdDogew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgdmFyIHQ7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEgIT09IGUuZWxlbS5ub2RlVHlwZSB8fCBudWxsICE9IGUuZWxlbVtlLnByb3BdICYmIG51bGwgPT0gZS5lbGVtLnN0eWxlW2UucHJvcF0gPyBlLmVsZW1bZS5wcm9wXSA6ICh0ID0gay5jc3MoZS5lbGVtLCBlLnByb3AsICIiKSkgJiYgImF1dG8iICE9PSB0ID8gdCA6IDANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICBrLmZ4LnN0ZXBbZS5wcm9wXSA/IGsuZnguc3RlcFtlLnByb3BdKGUpIDogMSAhPT0gZS5lbGVtLm5vZGVUeXBlIHx8ICFrLmNzc0hvb2tzW2UucHJvcF0gJiYgbnVsbCA9PSBlLmVsZW0uc3R5bGVbR2UoZS5wcm9wKV0gPyBlLmVsZW1bZS5wcm9wXSA9IGUubm93IDogay5zdHlsZShlLmVsZW0sIGUucHJvcCwgZS5ub3cgKyBlLnVuaXQpDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KS5zY3JvbGxUb3AgPSBudC5wcm9wSG9va3Muc2Nyb2xsTGVmdCA9IHsNCiAgICAgICAgc2V0OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICBlLmVsZW0ubm9kZVR5cGUgJiYgZS5lbGVtLnBhcmVudE5vZGUgJiYgKGUuZWxlbVtlLnByb3BdID0gZS5ub3cpDQogICAgICAgIH0NCiAgICB9LCBrLmVhc2luZyA9IHsNCiAgICAgICAgbGluZWFyOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gZQ0KICAgICAgICB9LA0KICAgICAgICBzd2luZzogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIC41IC0gTWF0aC5jb3MoZSAqIE1hdGguUEkpIC8gMg0KICAgICAgICB9LA0KICAgICAgICBfZGVmYXVsdDogInN3aW5nIg0KICAgIH0sIGsuZnggPSBudC5wcm90b3R5cGUuaW5pdCwgay5meC5zdGVwID0ge307DQogICAgdmFyIHJ0LCBpdCwgb3QsIGF0LCBzdCA9IC9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLywNCiAgICAgICAgdXQgPSAvcXVldWVIb29rcyQvOw0KDQogICAgZnVuY3Rpb24gbHQoKSB7DQogICAgICAgIGl0ICYmICghMSA9PT0gRS5oaWRkZW4gJiYgQy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPyBDLnJlcXVlc3RBbmltYXRpb25GcmFtZShsdCkgOiBDLnNldFRpbWVvdXQobHQsIGsuZnguaW50ZXJ2YWwpLCBrLmZ4LnRpY2soKSkNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBjdCgpIHsNCiAgICAgICAgcmV0dXJuIEMuc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJ0ID0gdm9pZCAwDQogICAgICAgIH0pLCBydCA9IERhdGUubm93KCkNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBmdChlLCB0KSB7DQogICAgICAgIHZhciBuLCByID0gMCwNCiAgICAgICAgICAgIGkgPSB7DQogICAgICAgICAgICAgICAgaGVpZ2h0OiBlDQogICAgICAgICAgICB9Ow0KICAgICAgICBmb3IgKHQgPSB0ID8gMSA6IDA7IHIgPCA0OyByICs9IDIgLSB0KSBpWyJtYXJnaW4iICsgKG4gPSByZVtyXSldID0gaVsicGFkZGluZyIgKyBuXSA9IGU7DQogICAgICAgIHJldHVybiB0ICYmIChpLm9wYWNpdHkgPSBpLndpZHRoID0gZSksIGkNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBwdChlLCB0LCBuKSB7DQogICAgICAgIGZvciAodmFyIHIsIGkgPSAoZHQudHdlZW5lcnNbdF0gfHwgW10pLmNvbmNhdChkdC50d2VlbmVyc1siKiJdKSwgbyA9IDAsIGEgPSBpLmxlbmd0aDsgbyA8IGE7IG8rKykNCiAgICAgICAgICAgIGlmIChyID0gaVtvXS5jYWxsKG4sIHQsIGUpKSByZXR1cm4gcg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGR0KG8sIGUsIHQpIHsNCiAgICAgICAgdmFyIG4sIGEsIHIgPSAwLA0KICAgICAgICAgICAgaSA9IGR0LnByZWZpbHRlcnMubGVuZ3RoLA0KICAgICAgICAgICAgcyA9IGsuRGVmZXJyZWQoKS5hbHdheXMoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIHUuZWxlbQ0KICAgICAgICAgICAgfSksDQogICAgICAgICAgICB1ID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgaWYgKGEpIHJldHVybiAhMTsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciBlID0gcnQgfHwgY3QoKSwgdCA9IE1hdGgubWF4KDAsIGwuc3RhcnRUaW1lICsgbC5kdXJhdGlvbiAtIGUpLCBuID0gMSAtICh0IC8gbC5kdXJhdGlvbiB8fCAwKSwgciA9IDAsIGkgPSBsLnR3ZWVucy5sZW5ndGg7IHIgPCBpOyByKyspIGwudHdlZW5zW3JdLnJ1bihuKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gcy5ub3RpZnlXaXRoKG8sIFtsLCBuLCB0XSksIG4gPCAxICYmIGkgPyB0IDogKGkgfHwgcy5ub3RpZnlXaXRoKG8sIFtsLCAxLCAwXSksIHMucmVzb2x2ZVdpdGgobywgW2xdKSwgITEpDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgbCA9IHMucHJvbWlzZSh7DQogICAgICAgICAgICAgICAgZWxlbTogbywNCiAgICAgICAgICAgICAgICBwcm9wczogay5leHRlbmQoe30sIGUpLA0KICAgICAgICAgICAgICAgIG9wdHM6IGsuZXh0ZW5kKCEwLCB7DQogICAgICAgICAgICAgICAgICAgIHNwZWNpYWxFYXNpbmc6IHt9LA0KICAgICAgICAgICAgICAgICAgICBlYXNpbmc6IGsuZWFzaW5nLl9kZWZhdWx0DQogICAgICAgICAgICAgICAgfSwgdCksDQogICAgICAgICAgICAgICAgb3JpZ2luYWxQcm9wZXJ0aWVzOiBlLA0KICAgICAgICAgICAgICAgIG9yaWdpbmFsT3B0aW9uczogdCwNCiAgICAgICAgICAgICAgICBzdGFydFRpbWU6IHJ0IHx8IGN0KCksDQogICAgICAgICAgICAgICAgZHVyYXRpb246IHQuZHVyYXRpb24sDQogICAgICAgICAgICAgICAgdHdlZW5zOiBbXSwNCiAgICAgICAgICAgICAgICBjcmVhdGVUd2VlbjogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IGsuVHdlZW4obywgbC5vcHRzLCBlLCB0LCBsLm9wdHMuc3BlY2lhbEVhc2luZ1tlXSB8fCBsLm9wdHMuZWFzaW5nKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGwudHdlZW5zLnB1c2gobiksIG4NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHN0b3A6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgbiA9IGUgPyBsLnR3ZWVucy5sZW5ndGggOiAwOw0KICAgICAgICAgICAgICAgICAgICBpZiAoYSkgcmV0dXJuIHRoaXM7DQogICAgICAgICAgICAgICAgICAgIGZvciAoYSA9ICEwOyB0IDwgbjsgdCsrKSBsLnR3ZWVuc1t0XS5ydW4oMSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBlID8gKHMubm90aWZ5V2l0aChvLCBbbCwgMSwgMF0pLCBzLnJlc29sdmVXaXRoKG8sIFtsLCBlXSkpIDogcy5yZWplY3RXaXRoKG8sIFtsLCBlXSksIHRoaXMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KSwNCiAgICAgICAgICAgIGMgPSBsLnByb3BzOw0KICAgICAgICBmb3IgKCEgZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgIHZhciBuLCByLCBpLCBvLCBhOw0KICAgICAgICAgICAgICAgIGZvciAobiBpbiBlKQ0KICAgICAgICAgICAgICAgICAgICBpZiAoaSA9IHRbciA9IFYobildLCBvID0gZVtuXSwgQXJyYXkuaXNBcnJheShvKSAmJiAoaSA9IG9bMV0sIG8gPSBlW25dID0gb1swXSksIG4gIT09IHIgJiYgKGVbcl0gPSBvLCBkZWxldGUgZVtuXSksIChhID0gay5jc3NIb29rc1tyXSkgJiYgImV4cGFuZCIgaW4gYSkNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobiBpbiBvID0gYS5leHBhbmQobyksIGRlbGV0ZSBlW3JdLCBvKSBuIGluIGUgfHwgKGVbbl0gPSBvW25dLCB0W25dID0gaSk7DQogICAgICAgICAgICAgICAgICAgIGVsc2UgdFtyXSA9IGkNCiAgICAgICAgICAgIH0oYywgbC5vcHRzLnNwZWNpYWxFYXNpbmcpOyByIDwgaTsgcisrKQ0KICAgICAgICAgICAgaWYgKG4gPSBkdC5wcmVmaWx0ZXJzW3JdLmNhbGwobCwgbywgYywgbC5vcHRzKSkgcmV0dXJuIG0obi5zdG9wKSAmJiAoay5fcXVldWVIb29rcyhsLmVsZW0sIGwub3B0cy5xdWV1ZSkuc3RvcCA9IG4uc3RvcC5iaW5kKG4pKSwgbjsNCiAgICAgICAgcmV0dXJuIGsubWFwKGMsIHB0LCBsKSwgbShsLm9wdHMuc3RhcnQpICYmIGwub3B0cy5zdGFydC5jYWxsKG8sIGwpLCBsLnByb2dyZXNzKGwub3B0cy5wcm9ncmVzcykuZG9uZShsLm9wdHMuZG9uZSwgbC5vcHRzLmNvbXBsZXRlKS5mYWlsKGwub3B0cy5mYWlsKS5hbHdheXMobC5vcHRzLmFsd2F5cyksIGsuZngudGltZXIoay5leHRlbmQodSwgew0KICAgICAgICAgICAgZWxlbTogbywNCiAgICAgICAgICAgIGFuaW06IGwsDQogICAgICAgICAgICBxdWV1ZTogbC5vcHRzLnF1ZXVlDQogICAgICAgIH0pKSwgbA0KICAgIH0NCiAgICBrLkFuaW1hdGlvbiA9IGsuZXh0ZW5kKGR0LCB7DQogICAgICAgIHR3ZWVuZXJzOiB7DQogICAgICAgICAgICAiKiI6IFtmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmNyZWF0ZVR3ZWVuKGUsIHQpOw0KICAgICAgICAgICAgICAgIHJldHVybiBsZShuLmVsZW0sIGUsIG5lLmV4ZWModCksIG4pLCBuDQogICAgICAgICAgICB9XQ0KICAgICAgICB9LA0KICAgICAgICB0d2VlbmVyOiBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICBtKGUpID8gKHQgPSBlLCBlID0gWyIqIl0pIDogZSA9IGUubWF0Y2goUik7DQogICAgICAgICAgICBmb3IgKHZhciBuLCByID0gMCwgaSA9IGUubGVuZ3RoOyByIDwgaTsgcisrKSBuID0gZVtyXSwgZHQudHdlZW5lcnNbbl0gPSBkdC50d2VlbmVyc1tuXSB8fCBbXSwgZHQudHdlZW5lcnNbbl0udW5zaGlmdCh0KQ0KICAgICAgICB9LA0KICAgICAgICBwcmVmaWx0ZXJzOiBbZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICAgICAgdmFyIHIsIGksIG8sIGEsIHMsIHUsIGwsIGMsIGYgPSAid2lkdGgiIGluIHQgfHwgImhlaWdodCIgaW4gdCwNCiAgICAgICAgICAgICAgICBwID0gdGhpcywNCiAgICAgICAgICAgICAgICBkID0ge30sDQogICAgICAgICAgICAgICAgaCA9IGUuc3R5bGUsDQogICAgICAgICAgICAgICAgZyA9IGUubm9kZVR5cGUgJiYgc2UoZSksDQogICAgICAgICAgICAgICAgdiA9IFEuZ2V0KGUsICJmeHNob3ciKTsNCiAgICAgICAgICAgIGZvciAociBpbiBuLnF1ZXVlIHx8IChudWxsID09IChhID0gay5fcXVldWVIb29rcyhlLCAiZngiKSkudW5xdWV1ZWQgJiYgKGEudW5xdWV1ZWQgPSAwLCBzID0gYS5lbXB0eS5maXJlLCBhLmVtcHR5LmZpcmUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgYS51bnF1ZXVlZCB8fCBzKCkNCiAgICAgICAgICAgICAgICB9KSwgYS51bnF1ZXVlZCsrLCBwLmFsd2F5cyhmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcC5hbHdheXMoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhLnVucXVldWVkLS0sIGsucXVldWUoZSwgImZ4IikubGVuZ3RoIHx8IGEuZW1wdHkuZmlyZSgpDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfSkpLCB0KQ0KICAgICAgICAgICAgICAgIGlmIChpID0gdFtyXSwgc3QudGVzdChpKSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoZGVsZXRlIHRbcl0sIG8gPSBvIHx8ICJ0b2dnbGUiID09PSBpLCBpID09PSAoZyA/ICJoaWRlIiA6ICJzaG93IikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgic2hvdyIgIT09IGkgfHwgIXYgfHwgdm9pZCAwID09PSB2W3JdKSBjb250aW51ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGcgPSAhMA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGRbcl0gPSB2ICYmIHZbcl0gfHwgay5zdHlsZShlLCByKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICgodSA9ICFrLmlzRW1wdHlPYmplY3QodCkpIHx8ICFrLmlzRW1wdHlPYmplY3QoZCkpDQogICAgICAgICAgICAgICAgZm9yIChyIGluIGYgJiYgMSA9PT0gZS5ub2RlVHlwZSAmJiAobi5vdmVyZmxvdyA9IFtoLm92ZXJmbG93LCBoLm92ZXJmbG93WCwgaC5vdmVyZmxvd1ldLCBudWxsID09IChsID0gdiAmJiB2LmRpc3BsYXkpICYmIChsID0gUS5nZXQoZSwgImRpc3BsYXkiKSksICJub25lIiA9PT0gKGMgPSBrLmNzcyhlLCAiZGlzcGxheSIpKSAmJiAobCA/IGMgPSBsIDogKGZlKFtlXSwgITApLCBsID0gZS5zdHlsZS5kaXNwbGF5IHx8IGwsIGMgPSBrLmNzcyhlLCAiZGlzcGxheSIpLCBmZShbZV0pKSksICgiaW5saW5lIiA9PT0gYyB8fCAiaW5saW5lLWJsb2NrIiA9PT0gYyAmJiBudWxsICE9IGwpICYmICJub25lIiA9PT0gay5jc3MoZSwgImZsb2F0IikgJiYgKHUgfHwgKHAuZG9uZShmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGguZGlzcGxheSA9IGwNCiAgICAgICAgICAgICAgICAgICAgfSksIG51bGwgPT0gbCAmJiAoYyA9IGguZGlzcGxheSwgbCA9ICJub25lIiA9PT0gYyA/ICIiIDogYykpLCBoLmRpc3BsYXkgPSAiaW5saW5lLWJsb2NrIikpLCBuLm92ZXJmbG93ICYmIChoLm92ZXJmbG93ID0gImhpZGRlbiIsIHAuYWx3YXlzKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaC5vdmVyZmxvdyA9IG4ub3ZlcmZsb3dbMF0sIGgub3ZlcmZsb3dYID0gbi5vdmVyZmxvd1sxXSwgaC5vdmVyZmxvd1kgPSBuLm92ZXJmbG93WzJdDQogICAgICAgICAgICAgICAgICAgIH0pKSwgdSA9ICExLCBkKSB1IHx8ICh2ID8gImhpZGRlbiIgaW4gdiAmJiAoZyA9IHYuaGlkZGVuKSA6IHYgPSBRLmFjY2VzcyhlLCAiZnhzaG93Iiwgew0KICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBsDQogICAgICAgICAgICAgICAgfSksIG8gJiYgKHYuaGlkZGVuID0gIWcpLCBnICYmIGZlKFtlXSwgITApLCBwLmRvbmUoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIGZvciAociBpbiBnIHx8IGZlKFtlXSksIFEucmVtb3ZlKGUsICJmeHNob3ciKSwgZCkgay5zdHlsZShlLCByLCBkW3JdKQ0KICAgICAgICAgICAgICAgIH0pKSwgdSA9IHB0KGcgPyB2W3JdIDogMCwgciwgcCksIHIgaW4gdiB8fCAodltyXSA9IHUuc3RhcnQsIGcgJiYgKHUuZW5kID0gdS5zdGFydCwgdS5zdGFydCA9IDApKQ0KICAgICAgICB9XSwNCiAgICAgICAgcHJlZmlsdGVyOiBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICB0ID8gZHQucHJlZmlsdGVycy51bnNoaWZ0KGUpIDogZHQucHJlZmlsdGVycy5wdXNoKGUpDQogICAgICAgIH0NCiAgICB9KSwgay5zcGVlZCA9IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgdmFyIHIgPSBlICYmICJvYmplY3QiID09IHR5cGVvZiBlID8gay5leHRlbmQoe30sIGUpIDogew0KICAgICAgICAgICAgY29tcGxldGU6IG4gfHwgIW4gJiYgdCB8fCBtKGUpICYmIGUsDQogICAgICAgICAgICBkdXJhdGlvbjogZSwNCiAgICAgICAgICAgIGVhc2luZzogbiAmJiB0IHx8IHQgJiYgIW0odCkgJiYgdA0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gay5meC5vZmYgPyByLmR1cmF0aW9uID0gMCA6ICJudW1iZXIiICE9IHR5cGVvZiByLmR1cmF0aW9uICYmIChyLmR1cmF0aW9uIGluIGsuZnguc3BlZWRzID8gci5kdXJhdGlvbiA9IGsuZnguc3BlZWRzW3IuZHVyYXRpb25dIDogci5kdXJhdGlvbiA9IGsuZnguc3BlZWRzLl9kZWZhdWx0KSwgbnVsbCAhPSByLnF1ZXVlICYmICEwICE9PSByLnF1ZXVlIHx8IChyLnF1ZXVlID0gImZ4IiksIHIub2xkID0gci5jb21wbGV0ZSwgci5jb21wbGV0ZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgbShyLm9sZCkgJiYgci5vbGQuY2FsbCh0aGlzKSwgci5xdWV1ZSAmJiBrLmRlcXVldWUodGhpcywgci5xdWV1ZSkNCiAgICAgICAgfSwgcg0KICAgIH0sIGsuZm4uZXh0ZW5kKHsNCiAgICAgICAgZmFkZVRvOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIoc2UpLmNzcygib3BhY2l0eSIsIDApLnNob3coKS5lbmQoKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgICBvcGFjaXR5OiB0DQogICAgICAgICAgICB9LCBlLCBuLCByKQ0KICAgICAgICB9LA0KICAgICAgICBhbmltYXRlOiBmdW5jdGlvbih0LCBlLCBuLCByKSB7DQogICAgICAgICAgICB2YXIgaSA9IGsuaXNFbXB0eU9iamVjdCh0KSwNCiAgICAgICAgICAgICAgICBvID0gay5zcGVlZChlLCBuLCByKSwNCiAgICAgICAgICAgICAgICBhID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBlID0gZHQodGhpcywgay5leHRlbmQoe30sIHQpLCBvKTsNCiAgICAgICAgICAgICAgICAgICAgKGkgfHwgUS5nZXQodGhpcywgImZpbmlzaCIpKSAmJiBlLnN0b3AoITApDQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHJldHVybiBhLmZpbmlzaCA9IGEsIGkgfHwgITEgPT09IG8ucXVldWUgPyB0aGlzLmVhY2goYSkgOiB0aGlzLnF1ZXVlKG8ucXVldWUsIGEpDQogICAgICAgIH0sDQogICAgICAgIHN0b3A6IGZ1bmN0aW9uKGksIGUsIG8pIHsNCiAgICAgICAgICAgIHZhciBhID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gZS5zdG9wOw0KICAgICAgICAgICAgICAgIGRlbGV0ZSBlLnN0b3AsIHQobykNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICByZXR1cm4gInN0cmluZyIgIT0gdHlwZW9mIGkgJiYgKG8gPSBlLCBlID0gaSwgaSA9IHZvaWQgMCksIGUgJiYgITEgIT09IGkgJiYgdGhpcy5xdWV1ZShpIHx8ICJmeCIsIFtdKSwgdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gITAsDQogICAgICAgICAgICAgICAgICAgIHQgPSBudWxsICE9IGkgJiYgaSArICJxdWV1ZUhvb2tzIiwNCiAgICAgICAgICAgICAgICAgICAgbiA9IGsudGltZXJzLA0KICAgICAgICAgICAgICAgICAgICByID0gUS5nZXQodGhpcyk7DQogICAgICAgICAgICAgICAgaWYgKHQpIHJbdF0gJiYgclt0XS5zdG9wICYmIGEoclt0XSk7DQogICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICBmb3IgKHQgaW4gcikgclt0XSAmJiByW3RdLnN0b3AgJiYgdXQudGVzdCh0KSAmJiBhKHJbdF0pOw0KICAgICAgICAgICAgICAgIGZvciAodCA9IG4ubGVuZ3RoOyB0LS07KSBuW3RdLmVsZW0gIT09IHRoaXMgfHwgbnVsbCAhPSBpICYmIG5bdF0ucXVldWUgIT09IGkgfHwgKG5bdF0uYW5pbS5zdG9wKG8pLCBlID0gITEsIG4uc3BsaWNlKHQsIDEpKTsNCiAgICAgICAgICAgICAgICAhZSAmJiBvIHx8IGsuZGVxdWV1ZSh0aGlzLCBpKQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgZmluaXNoOiBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICByZXR1cm4gITEgIT09IGEgJiYgKGEgPSBhIHx8ICJmeCIpLCB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIGUsIHQgPSBRLmdldCh0aGlzKSwNCiAgICAgICAgICAgICAgICAgICAgbiA9IHRbYSArICJxdWV1ZSJdLA0KICAgICAgICAgICAgICAgICAgICByID0gdFthICsgInF1ZXVlSG9va3MiXSwNCiAgICAgICAgICAgICAgICAgICAgaSA9IGsudGltZXJzLA0KICAgICAgICAgICAgICAgICAgICBvID0gbiA/IG4ubGVuZ3RoIDogMDsNCiAgICAgICAgICAgICAgICBmb3IgKHQuZmluaXNoID0gITAsIGsucXVldWUodGhpcywgYSwgW10pLCByICYmIHIuc3RvcCAmJiByLnN0b3AuY2FsbCh0aGlzLCAhMCksIGUgPSBpLmxlbmd0aDsgZS0tOykgaVtlXS5lbGVtID09PSB0aGlzICYmIGlbZV0ucXVldWUgPT09IGEgJiYgKGlbZV0uYW5pbS5zdG9wKCEwKSwgaS5zcGxpY2UoZSwgMSkpOw0KICAgICAgICAgICAgICAgIGZvciAoZSA9IDA7IGUgPCBvOyBlKyspIG5bZV0gJiYgbltlXS5maW5pc2ggJiYgbltlXS5maW5pc2guY2FsbCh0aGlzKTsNCiAgICAgICAgICAgICAgICBkZWxldGUgdC5maW5pc2gNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICB9KSwgay5lYWNoKFsidG9nZ2xlIiwgInNob3ciLCAiaGlkZSJdLCBmdW5jdGlvbihlLCByKSB7DQogICAgICAgIHZhciBpID0gay5mbltyXTsNCiAgICAgICAgay5mbltyXSA9IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHJldHVybiBudWxsID09IGUgfHwgImJvb2xlYW4iID09IHR5cGVvZiBlID8gaS5hcHBseSh0aGlzLCBhcmd1bWVudHMpIDogdGhpcy5hbmltYXRlKGZ0KHIsICEwKSwgZSwgdCwgbikNCiAgICAgICAgfQ0KICAgIH0pLCBrLmVhY2goew0KICAgICAgICBzbGlkZURvd246IGZ0KCJzaG93IiksDQogICAgICAgIHNsaWRlVXA6IGZ0KCJoaWRlIiksDQogICAgICAgIHNsaWRlVG9nZ2xlOiBmdCgidG9nZ2xlIiksDQogICAgICAgIGZhZGVJbjogew0KICAgICAgICAgICAgb3BhY2l0eTogInNob3ciDQogICAgICAgIH0sDQogICAgICAgIGZhZGVPdXQ6IHsNCiAgICAgICAgICAgIG9wYWNpdHk6ICJoaWRlIg0KICAgICAgICB9LA0KICAgICAgICBmYWRlVG9nZ2xlOiB7DQogICAgICAgICAgICBvcGFjaXR5OiAidG9nZ2xlIg0KICAgICAgICB9DQogICAgfSwgZnVuY3Rpb24oZSwgcikgew0KICAgICAgICBrLmZuW2VdID0gZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5pbWF0ZShyLCBlLCB0LCBuKQ0KICAgICAgICB9DQogICAgfSksIGsudGltZXJzID0gW10sIGsuZngudGljayA9IGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgZSwgdCA9IDAsDQogICAgICAgICAgICBuID0gay50aW1lcnM7DQogICAgICAgIGZvciAocnQgPSBEYXRlLm5vdygpOyB0IDwgbi5sZW5ndGg7IHQrKykoZSA9IG5bdF0pKCkgfHwgblt0XSAhPT0gZSB8fCBuLnNwbGljZSh0LS0sIDEpOw0KICAgICAgICBuLmxlbmd0aCB8fCBrLmZ4LnN0b3AoKSwgcnQgPSB2b2lkIDANCiAgICB9LCBrLmZ4LnRpbWVyID0gZnVuY3Rpb24oZSkgew0KICAgICAgICBrLnRpbWVycy5wdXNoKGUpLCBrLmZ4LnN0YXJ0KCkNCiAgICB9LCBrLmZ4LmludGVydmFsID0gMTMsIGsuZnguc3RhcnQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgaXQgfHwgKGl0ID0gITAsIGx0KCkpDQogICAgfSwgay5meC5zdG9wID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGl0ID0gbnVsbA0KICAgIH0sIGsuZnguc3BlZWRzID0gew0KICAgICAgICBzbG93OiA2MDAsDQogICAgICAgIGZhc3Q6IDIwMCwNCiAgICAgICAgX2RlZmF1bHQ6IDQwMA0KICAgIH0sIGsuZm4uZGVsYXkgPSBmdW5jdGlvbihyLCBlKSB7DQogICAgICAgIHJldHVybiByID0gay5meCAmJiBrLmZ4LnNwZWVkc1tyXSB8fCByLCBlID0gZSB8fCAiZngiLCB0aGlzLnF1ZXVlKGUsIGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHZhciBuID0gQy5zZXRUaW1lb3V0KGUsIHIpOw0KICAgICAgICAgICAgdC5zdG9wID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgQy5jbGVhclRpbWVvdXQobikNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICB9LCBvdCA9IEUuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSwgYXQgPSBFLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLmFwcGVuZENoaWxkKEUuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLCBvdC50eXBlID0gImNoZWNrYm94IiwgeS5jaGVja09uID0gIiIgIT09IG90LnZhbHVlLCB5Lm9wdFNlbGVjdGVkID0gYXQuc2VsZWN0ZWQsIChvdCA9IEUuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkudmFsdWUgPSAidCIsIG90LnR5cGUgPSAicmFkaW8iLCB5LnJhZGlvVmFsdWUgPSAidCIgPT09IG90LnZhbHVlOw0KICAgIHZhciBodCwgZ3QgPSBrLmV4cHIuYXR0ckhhbmRsZTsNCiAgICBrLmZuLmV4dGVuZCh7DQogICAgICAgIGF0dHI6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHJldHVybiBfKHRoaXMsIGsuYXR0ciwgZSwgdCwgMSA8IGFyZ3VtZW50cy5sZW5ndGgpDQogICAgICAgIH0sDQogICAgICAgIHJlbW92ZUF0dHI6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgay5yZW1vdmVBdHRyKHRoaXMsIGUpDQogICAgICAgICAgICB9KQ0KICAgICAgICB9DQogICAgfSksIGsuZXh0ZW5kKHsNCiAgICAgICAgYXR0cjogZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICAgICAgdmFyIHIsIGksIG8gPSBlLm5vZGVUeXBlOw0KICAgICAgICAgICAgaWYgKDMgIT09IG8gJiYgOCAhPT0gbyAmJiAyICE9PSBvKSByZXR1cm4gInVuZGVmaW5lZCIgPT0gdHlwZW9mIGUuZ2V0QXR0cmlidXRlID8gay5wcm9wKGUsIHQsIG4pIDogKDEgPT09IG8gJiYgay5pc1hNTERvYyhlKSB8fCAoaSA9IGsuYXR0ckhvb2tzW3QudG9Mb3dlckNhc2UoKV0gfHwgKGsuZXhwci5tYXRjaC5ib29sLnRlc3QodCkgPyBodCA6IHZvaWQgMCkpLCB2b2lkIDAgIT09IG4gPyBudWxsID09PSBuID8gdm9pZCBrLnJlbW92ZUF0dHIoZSwgdCkgOiBpICYmICJzZXQiIGluIGkgJiYgdm9pZCAwICE9PSAociA9IGkuc2V0KGUsIG4sIHQpKSA/IHIgOiAoZS5zZXRBdHRyaWJ1dGUodCwgbiArICIiKSwgbikgOiBpICYmICJnZXQiIGluIGkgJiYgbnVsbCAhPT0gKHIgPSBpLmdldChlLCB0KSkgPyByIDogbnVsbCA9PSAociA9IGsuZmluZC5hdHRyKGUsIHQpKSA/IHZvaWQgMCA6IHIpDQogICAgICAgIH0sDQogICAgICAgIGF0dHJIb29rczogew0KICAgICAgICAgICAgdHlwZTogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoIXkucmFkaW9WYWx1ZSAmJiAicmFkaW8iID09PSB0ICYmIEEoZSwgImlucHV0IikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuID0gZS52YWx1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlLnNldEF0dHJpYnV0ZSgidHlwZSIsIHQpLCBuICYmIChlLnZhbHVlID0gbiksIHQNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgcmVtb3ZlQXR0cjogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgdmFyIG4sIHIgPSAwLA0KICAgICAgICAgICAgICAgIGkgPSB0ICYmIHQubWF0Y2goUik7DQogICAgICAgICAgICBpZiAoaSAmJiAxID09PSBlLm5vZGVUeXBlKQ0KICAgICAgICAgICAgICAgIHdoaWxlIChuID0gaVtyKytdKSBlLnJlbW92ZUF0dHJpYnV0ZShuKQ0KICAgICAgICB9DQogICAgfSksIGh0ID0gew0KICAgICAgICBzZXQ6IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHJldHVybiAhMSA9PT0gdCA/IGsucmVtb3ZlQXR0cihlLCBuKSA6IGUuc2V0QXR0cmlidXRlKG4sIG4pLCBuDQogICAgICAgIH0NCiAgICB9LCBrLmVhY2goay5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cdysvZyksIGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgdmFyIGEgPSBndFt0XSB8fCBrLmZpbmQuYXR0cjsNCiAgICAgICAgZ3RbdF0gPSBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICB2YXIgciwgaSwgbyA9IHQudG9Mb3dlckNhc2UoKTsNCiAgICAgICAgICAgIHJldHVybiBuIHx8IChpID0gZ3Rbb10sIGd0W29dID0gciwgciA9IG51bGwgIT0gYShlLCB0LCBuKSA/IG8gOiBudWxsLCBndFtvXSA9IGkpLCByDQogICAgICAgIH0NCiAgICB9KTsNCiAgICB2YXIgdnQgPSAvXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLA0KICAgICAgICB5dCA9IC9eKD86YXxhcmVhKSQvaTsNCg0KICAgIGZ1bmN0aW9uIG10KGUpIHsNCiAgICAgICAgcmV0dXJuIChlLm1hdGNoKFIpIHx8IFtdKS5qb2luKCIgIikNCiAgICB9DQoNCiAgICBmdW5jdGlvbiB4dChlKSB7DQogICAgICAgIHJldHVybiBlLmdldEF0dHJpYnV0ZSAmJiBlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKSB8fCAiIg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGJ0KGUpIHsNCiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoZSkgPyBlIDogInN0cmluZyIgPT0gdHlwZW9mIGUgJiYgZS5tYXRjaChSKSB8fCBbXQ0KICAgIH0NCiAgICBrLmZuLmV4dGVuZCh7DQogICAgICAgIHByb3A6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHJldHVybiBfKHRoaXMsIGsucHJvcCwgZSwgdCwgMSA8IGFyZ3VtZW50cy5sZW5ndGgpDQogICAgICAgIH0sDQogICAgICAgIHJlbW92ZVByb3A6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIHRoaXNbay5wcm9wRml4W2VdIHx8IGVdDQogICAgICAgICAgICB9KQ0KICAgICAgICB9DQogICAgfSksIGsuZXh0ZW5kKHsNCiAgICAgICAgcHJvcDogZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICAgICAgdmFyIHIsIGksIG8gPSBlLm5vZGVUeXBlOw0KICAgICAgICAgICAgaWYgKDMgIT09IG8gJiYgOCAhPT0gbyAmJiAyICE9PSBvKSByZXR1cm4gMSA9PT0gbyAmJiBrLmlzWE1MRG9jKGUpIHx8ICh0ID0gay5wcm9wRml4W3RdIHx8IHQsIGkgPSBrLnByb3BIb29rc1t0XSksIHZvaWQgMCAhPT0gbiA/IGkgJiYgInNldCIgaW4gaSAmJiB2b2lkIDAgIT09IChyID0gaS5zZXQoZSwgbiwgdCkpID8gciA6IGVbdF0gPSBuIDogaSAmJiAiZ2V0IiBpbiBpICYmIG51bGwgIT09IChyID0gaS5nZXQoZSwgdCkpID8gciA6IGVbdF0NCiAgICAgICAgfSwNCiAgICAgICAgcHJvcEhvb2tzOiB7DQogICAgICAgICAgICB0YWJJbmRleDogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGsuZmluZC5hdHRyKGUsICJ0YWJpbmRleCIpOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdCA/IHBhcnNlSW50KHQsIDEwKSA6IHZ0LnRlc3QoZS5ub2RlTmFtZSkgfHwgeXQudGVzdChlLm5vZGVOYW1lKSAmJiBlLmhyZWYgPyAwIDogLTENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIHByb3BGaXg6IHsNCiAgICAgICAgICAgICJmb3IiOiAiaHRtbEZvciIsDQogICAgICAgICAgICAiY2xhc3MiOiAiY2xhc3NOYW1lIg0KICAgICAgICB9DQogICAgfSksIHkub3B0U2VsZWN0ZWQgfHwgKGsucHJvcEhvb2tzLnNlbGVjdGVkID0gew0KICAgICAgICBnZXQ6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHZhciB0ID0gZS5wYXJlbnROb2RlOw0KICAgICAgICAgICAgcmV0dXJuIHQgJiYgdC5wYXJlbnROb2RlICYmIHQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LCBudWxsDQogICAgICAgIH0sDQogICAgICAgIHNldDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIHQgPSBlLnBhcmVudE5vZGU7DQogICAgICAgICAgICB0ICYmICh0LnNlbGVjdGVkSW5kZXgsIHQucGFyZW50Tm9kZSAmJiB0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCkNCiAgICAgICAgfQ0KICAgIH0pLCBrLmVhY2goWyJ0YWJJbmRleCIsICJyZWFkT25seSIsICJtYXhMZW5ndGgiLCAiY2VsbFNwYWNpbmciLCAiY2VsbFBhZGRpbmciLCAicm93U3BhbiIsICJjb2xTcGFuIiwgInVzZU1hcCIsICJmcmFtZUJvcmRlciIsICJjb250ZW50RWRpdGFibGUiXSwgZnVuY3Rpb24oKSB7DQogICAgICAgIGsucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldID0gdGhpcw0KICAgIH0pLCBrLmZuLmV4dGVuZCh7DQogICAgICAgIGFkZENsYXNzOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSwgbiwgciwgaSwgbywgYSwgcywgdSA9IDA7DQogICAgICAgICAgICBpZiAobSh0KSkgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgayh0aGlzKS5hZGRDbGFzcyh0LmNhbGwodGhpcywgZSwgeHQodGhpcykpKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBpZiAoKGUgPSBidCh0KSkubGVuZ3RoKQ0KICAgICAgICAgICAgICAgIHdoaWxlIChuID0gdGhpc1t1KytdKQ0KICAgICAgICAgICAgICAgICAgICBpZiAoaSA9IHh0KG4pLCByID0gMSA9PT0gbi5ub2RlVHlwZSAmJiAiICIgKyBtdChpKSArICIgIikgew0KICAgICAgICAgICAgICAgICAgICAgICAgYSA9IDA7DQogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAobyA9IGVbYSsrXSkgci5pbmRleE9mKCIgIiArIG8gKyAiICIpIDwgMCAmJiAociArPSBvICsgIiAiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGkgIT09IChzID0gbXQocikpICYmIG4uc2V0QXR0cmlidXRlKCJjbGFzcyIsIHMpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0aGlzDQogICAgICAgIH0sDQogICAgICAgIHJlbW92ZUNsYXNzOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSwgbiwgciwgaSwgbywgYSwgcywgdSA9IDA7DQogICAgICAgICAgICBpZiAobSh0KSkgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgayh0aGlzKS5yZW1vdmVDbGFzcyh0LmNhbGwodGhpcywgZSwgeHQodGhpcykpKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHJldHVybiB0aGlzLmF0dHIoImNsYXNzIiwgIiIpOw0KICAgICAgICAgICAgaWYgKChlID0gYnQodCkpLmxlbmd0aCkNCiAgICAgICAgICAgICAgICB3aGlsZSAobiA9IHRoaXNbdSsrXSkNCiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPSB4dChuKSwgciA9IDEgPT09IG4ubm9kZVR5cGUgJiYgIiAiICsgbXQoaSkgKyAiICIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKG8gPSBlW2ErK10pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKC0xIDwgci5pbmRleE9mKCIgIiArIG8gKyAiICIpKSByID0gci5yZXBsYWNlKCIgIiArIG8gKyAiICIsICIgIik7DQogICAgICAgICAgICAgICAgICAgICAgICBpICE9PSAocyA9IG10KHIpKSAmJiBuLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCBzKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdGhpcw0KICAgICAgICB9LA0KICAgICAgICB0b2dnbGVDbGFzczogZnVuY3Rpb24oaSwgdCkgew0KICAgICAgICAgICAgdmFyIG8gPSB0eXBlb2YgaSwNCiAgICAgICAgICAgICAgICBhID0gInN0cmluZyIgPT09IG8gfHwgQXJyYXkuaXNBcnJheShpKTsNCiAgICAgICAgICAgIHJldHVybiAiYm9vbGVhbiIgPT0gdHlwZW9mIHQgJiYgYSA/IHQgPyB0aGlzLmFkZENsYXNzKGkpIDogdGhpcy5yZW1vdmVDbGFzcyhpKSA6IG0oaSkgPyB0aGlzLmVhY2goZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIGsodGhpcykudG9nZ2xlQ2xhc3MoaS5jYWxsKHRoaXMsIGUsIHh0KHRoaXMpLCB0KSwgdCkNCiAgICAgICAgICAgIH0pIDogdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBlLCB0LCBuLCByOw0KICAgICAgICAgICAgICAgIGlmIChhKSB7DQogICAgICAgICAgICAgICAgICAgIHQgPSAwLCBuID0gayh0aGlzKSwgciA9IGJ0KGkpOw0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZSA9IHJbdCsrXSkgbi5oYXNDbGFzcyhlKSA/IG4ucmVtb3ZlQ2xhc3MoZSkgOiBuLmFkZENsYXNzKGUpDQogICAgICAgICAgICAgICAgfSBlbHNlIHZvaWQgMCAhPT0gaSAmJiAiYm9vbGVhbiIgIT09IG8gfHwgKChlID0geHQodGhpcykpICYmIFEuc2V0KHRoaXMsICJfX2NsYXNzTmFtZV9fIiwgZSksIHRoaXMuc2V0QXR0cmlidXRlICYmIHRoaXMuc2V0QXR0cmlidXRlKCJjbGFzcyIsIGUgfHwgITEgPT09IGkgPyAiIiA6IFEuZ2V0KHRoaXMsICJfX2NsYXNzTmFtZV9fIikgfHwgIiIpKQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgaGFzQ2xhc3M6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHZhciB0LCBuLCByID0gMDsNCiAgICAgICAgICAgIHQgPSAiICIgKyBlICsgIiAiOw0KICAgICAgICAgICAgd2hpbGUgKG4gPSB0aGlzW3IrK10pDQogICAgICAgICAgICAgICAgaWYgKDEgPT09IG4ubm9kZVR5cGUgJiYgLTEgPCAoIiAiICsgbXQoeHQobikpICsgIiAiKS5pbmRleE9mKHQpKSByZXR1cm4gITA7DQogICAgICAgICAgICByZXR1cm4gITENCiAgICAgICAgfQ0KICAgIH0pOw0KICAgIHZhciB3dCA9IC9cci9nOw0KICAgIGsuZm4uZXh0ZW5kKHsNCiAgICAgICAgdmFsOiBmdW5jdGlvbihuKSB7DQogICAgICAgICAgICB2YXIgciwgZSwgaSwgdCA9IHRoaXNbMF07DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChpID0gbShuKSwgdGhpcy5lYWNoKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdDsNCiAgICAgICAgICAgICAgICAxID09PSB0aGlzLm5vZGVUeXBlICYmIChudWxsID09ICh0ID0gaSA/IG4uY2FsbCh0aGlzLCBlLCBrKHRoaXMpLnZhbCgpKSA6IG4pID8gdCA9ICIiIDogIm51bWJlciIgPT0gdHlwZW9mIHQgPyB0ICs9ICIiIDogQXJyYXkuaXNBcnJheSh0KSAmJiAodCA9IGsubWFwKHQsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gZSA/ICIiIDogZSArICIiDQogICAgICAgICAgICAgICAgfSkpLCAociA9IGsudmFsSG9va3NbdGhpcy50eXBlXSB8fCBrLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pICYmICJzZXQiIGluIHIgJiYgdm9pZCAwICE9PSByLnNldCh0aGlzLCB0LCAidmFsdWUiKSB8fCAodGhpcy52YWx1ZSA9IHQpKQ0KICAgICAgICAgICAgfSkpIDogdCA/IChyID0gay52YWxIb29rc1t0LnR5cGVdIHx8IGsudmFsSG9va3NbdC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkgJiYgImdldCIgaW4gciAmJiB2b2lkIDAgIT09IChlID0gci5nZXQodCwgInZhbHVlIikpID8gZSA6ICJzdHJpbmciID09IHR5cGVvZihlID0gdC52YWx1ZSkgPyBlLnJlcGxhY2Uod3QsICIiKSA6IG51bGwgPT0gZSA/ICIiIDogZSA6IHZvaWQgMA0KICAgICAgICB9DQogICAgfSksIGsuZXh0ZW5kKHsNCiAgICAgICAgdmFsSG9va3M6IHsNCiAgICAgICAgICAgIG9wdGlvbjogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IGsuZmluZC5hdHRyKGUsICJ2YWx1ZSIpOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbCAhPSB0ID8gdCA6IG10KGsudGV4dChlKSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2VsZWN0OiB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0LCBuLCByLCBpID0gZS5vcHRpb25zLA0KICAgICAgICAgICAgICAgICAgICAgICAgbyA9IGUuc2VsZWN0ZWRJbmRleCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSAic2VsZWN0LW9uZSIgPT09IGUudHlwZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBhID8gbnVsbCA6IFtdLA0KICAgICAgICAgICAgICAgICAgICAgICAgdSA9IGEgPyBvICsgMSA6IGkubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICBmb3IgKHIgPSBvIDwgMCA/IHUgOiBhID8gbyA6IDA7IHIgPCB1OyByKyspDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoKChuID0gaVtyXSkuc2VsZWN0ZWQgfHwgciA9PT0gbykgJiYgIW4uZGlzYWJsZWQgJiYgKCFuLnBhcmVudE5vZGUuZGlzYWJsZWQgfHwgIUEobi5wYXJlbnROb2RlLCAib3B0Z3JvdXAiKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodCA9IGsobikudmFsKCksIGEpIHJldHVybiB0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMucHVzaCh0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBuLCByLCBpID0gZS5vcHRpb25zLA0KICAgICAgICAgICAgICAgICAgICAgICAgbyA9IGsubWFrZUFycmF5KHQpLA0KICAgICAgICAgICAgICAgICAgICAgICAgYSA9IGkubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoYS0tKSgociA9IGlbYV0pLnNlbGVjdGVkID0gLTEgPCBrLmluQXJyYXkoay52YWxIb29rcy5vcHRpb24uZ2V0KHIpLCBvKSkgJiYgKG4gPSAhMCk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBuIHx8IChlLnNlbGVjdGVkSW5kZXggPSAtMSksIG8NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KSwgay5lYWNoKFsicmFkaW8iLCAiY2hlY2tib3giXSwgZnVuY3Rpb24oKSB7DQogICAgICAgIGsudmFsSG9va3NbdGhpc10gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0KSkgcmV0dXJuIGUuY2hlY2tlZCA9IC0xIDwgay5pbkFycmF5KGsoZSkudmFsKCksIHQpDQogICAgICAgICAgICB9DQogICAgICAgIH0sIHkuY2hlY2tPbiB8fCAoay52YWxIb29rc1t0aGlzXS5nZXQgPSBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gbnVsbCA9PT0gZS5nZXRBdHRyaWJ1dGUoInZhbHVlIikgPyAib24iIDogZS52YWx1ZQ0KICAgICAgICB9KQ0KICAgIH0pLCB5LmZvY3VzaW4gPSAib25mb2N1c2luIiBpbiBDOw0KICAgIHZhciBUdCA9IC9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLywNCiAgICAgICAgQ3QgPSBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpDQogICAgICAgIH07DQogICAgay5leHRlbmQoay5ldmVudCwgew0KICAgICAgICB0cmlnZ2VyOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7DQogICAgICAgICAgICB2YXIgaSwgbywgYSwgcywgdSwgbCwgYywgZiwgcCA9IFtuIHx8IEVdLA0KICAgICAgICAgICAgICAgIGQgPSB2LmNhbGwoZSwgInR5cGUiKSA/IGUudHlwZSA6IGUsDQogICAgICAgICAgICAgICAgaCA9IHYuY2FsbChlLCAibmFtZXNwYWNlIikgPyBlLm5hbWVzcGFjZS5zcGxpdCgiLiIpIDogW107DQogICAgICAgICAgICBpZiAobyA9IGYgPSBhID0gbiA9IG4gfHwgRSwgMyAhPT0gbi5ub2RlVHlwZSAmJiA4ICE9PSBuLm5vZGVUeXBlICYmICFUdC50ZXN0KGQgKyBrLmV2ZW50LnRyaWdnZXJlZCkgJiYgKC0xIDwgZC5pbmRleE9mKCIuIikgJiYgKGQgPSAoaCA9IGQuc3BsaXQoIi4iKSkuc2hpZnQoKSwgaC5zb3J0KCkpLCB1ID0gZC5pbmRleE9mKCI6IikgPCAwICYmICJvbiIgKyBkLCAoZSA9IGVbay5leHBhbmRvXSA/IGUgOiBuZXcgay5FdmVudChkLCAib2JqZWN0IiA9PSB0eXBlb2YgZSAmJiBlKSkuaXNUcmlnZ2VyID0gciA/IDIgOiAzLCBlLm5hbWVzcGFjZSA9IGguam9pbigiLiIpLCBlLnJuYW1lc3BhY2UgPSBlLm5hbWVzcGFjZSA/IG5ldyBSZWdFeHAoIihefFxcLikiICsgaC5qb2luKCJcXC4oPzouKlxcLnwpIikgKyAiKFxcLnwkKSIpIDogbnVsbCwgZS5yZXN1bHQgPSB2b2lkIDAsIGUudGFyZ2V0IHx8IChlLnRhcmdldCA9IG4pLCB0ID0gbnVsbCA9PSB0ID8gW2VdIDogay5tYWtlQXJyYXkodCwgW2VdKSwgYyA9IGsuZXZlbnQuc3BlY2lhbFtkXSB8fCB7fSwgciB8fCAhYy50cmlnZ2VyIHx8ICExICE9PSBjLnRyaWdnZXIuYXBwbHkobiwgdCkpKSB7DQogICAgICAgICAgICAgICAgaWYgKCFyICYmICFjLm5vQnViYmxlICYmICF4KG4pKSB7DQogICAgICAgICAgICAgICAgICAgIGZvciAocyA9IGMuZGVsZWdhdGVUeXBlIHx8IGQsIFR0LnRlc3QocyArIGQpIHx8IChvID0gby5wYXJlbnROb2RlKTsgbzsgbyA9IG8ucGFyZW50Tm9kZSkgcC5wdXNoKG8pLCBhID0gbzsNCiAgICAgICAgICAgICAgICAgICAgYSA9PT0gKG4ub3duZXJEb2N1bWVudCB8fCBFKSAmJiBwLnB1c2goYS5kZWZhdWx0VmlldyB8fCBhLnBhcmVudFdpbmRvdyB8fCBDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpID0gMDsNCiAgICAgICAgICAgICAgICB3aGlsZSAoKG8gPSBwW2krK10pICYmICFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpIGYgPSBvLCBlLnR5cGUgPSAxIDwgaSA/IHMgOiBjLmJpbmRUeXBlIHx8IGQsIChsID0gKFEuZ2V0KG8sICJldmVudHMiKSB8fCB7fSlbZS50eXBlXSAmJiBRLmdldChvLCAiaGFuZGxlIikpICYmIGwuYXBwbHkobywgdCksIChsID0gdSAmJiBvW3VdKSAmJiBsLmFwcGx5ICYmIEcobykgJiYgKGUucmVzdWx0ID0gbC5hcHBseShvLCB0KSwgITEgPT09IGUucmVzdWx0ICYmIGUucHJldmVudERlZmF1bHQoKSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUudHlwZSA9IGQsIHIgfHwgZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSB8fCBjLl9kZWZhdWx0ICYmICExICE9PSBjLl9kZWZhdWx0LmFwcGx5KHAucG9wKCksIHQpIHx8ICFHKG4pIHx8IHUgJiYgbShuW2RdKSAmJiAheChuKSAmJiAoKGEgPSBuW3VdKSAmJiAoblt1XSA9IG51bGwpLCBrLmV2ZW50LnRyaWdnZXJlZCA9IGQsIGUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSAmJiBmLmFkZEV2ZW50TGlzdGVuZXIoZCwgQ3QpLCBuW2RdKCksIGUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSAmJiBmLnJlbW92ZUV2ZW50TGlzdGVuZXIoZCwgQ3QpLCBrLmV2ZW50LnRyaWdnZXJlZCA9IHZvaWQgMCwgYSAmJiAoblt1XSA9IGEpKSwgZS5yZXN1bHQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgc2ltdWxhdGU6IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHZhciByID0gay5leHRlbmQobmV3IGsuRXZlbnQsIG4sIHsNCiAgICAgICAgICAgICAgICB0eXBlOiBlLA0KICAgICAgICAgICAgICAgIGlzU2ltdWxhdGVkOiAhMA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBrLmV2ZW50LnRyaWdnZXIociwgbnVsbCwgdCkNCiAgICAgICAgfQ0KICAgIH0pLCBrLmZuLmV4dGVuZCh7DQogICAgICAgIHRyaWdnZXI6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgay5ldmVudC50cmlnZ2VyKGUsIHQsIHRoaXMpDQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgICAgICB0cmlnZ2VySGFuZGxlcjogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgdmFyIG4gPSB0aGlzWzBdOw0KICAgICAgICAgICAgaWYgKG4pIHJldHVybiBrLmV2ZW50LnRyaWdnZXIoZSwgdCwgbiwgITApDQogICAgICAgIH0NCiAgICB9KSwgeS5mb2N1c2luIHx8IGsuZWFjaCh7DQogICAgICAgIGZvY3VzOiAiZm9jdXNpbiIsDQogICAgICAgIGJsdXI6ICJmb2N1c291dCINCiAgICB9LCBmdW5jdGlvbihuLCByKSB7DQogICAgICAgIHZhciBpID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgay5ldmVudC5zaW11bGF0ZShyLCBlLnRhcmdldCwgay5ldmVudC5maXgoZSkpDQogICAgICAgIH07DQogICAgICAgIGsuZXZlbnQuc3BlY2lhbFtyXSA9IHsNCiAgICAgICAgICAgIHNldHVwOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMub3duZXJEb2N1bWVudCB8fCB0aGlzLA0KICAgICAgICAgICAgICAgICAgICB0ID0gUS5hY2Nlc3MoZSwgcik7DQogICAgICAgICAgICAgICAgdCB8fCBlLmFkZEV2ZW50TGlzdGVuZXIobiwgaSwgITApLCBRLmFjY2VzcyhlLCByLCAodCB8fCAwKSArIDEpDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdGVhcmRvd246IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gdGhpcy5vd25lckRvY3VtZW50IHx8IHRoaXMsDQogICAgICAgICAgICAgICAgICAgIHQgPSBRLmFjY2VzcyhlLCByKSAtIDE7DQogICAgICAgICAgICAgICAgdCA/IFEuYWNjZXNzKGUsIHIsIHQpIDogKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihuLCBpLCAhMCksIFEucmVtb3ZlKGUsIHIpKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSk7DQogICAgdmFyIEV0ID0gQy5sb2NhdGlvbiwNCiAgICAgICAga3QgPSBEYXRlLm5vdygpLA0KICAgICAgICBTdCA9IC9cPy87DQogICAgay5wYXJzZVhNTCA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgdmFyIHQ7DQogICAgICAgIGlmICghZSB8fCAic3RyaW5nIiAhPSB0eXBlb2YgZSkgcmV0dXJuIG51bGw7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB0ID0gKG5ldyBDLkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsICJ0ZXh0L3htbCIpDQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHQgPSB2b2lkIDANCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdCAmJiAhdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgicGFyc2VyZXJyb3IiKS5sZW5ndGggfHwgay5lcnJvcigiSW52YWxpZCBYTUw6ICIgKyBlKSwgdA0KICAgIH07DQogICAgdmFyIE50ID0gL1xbXF0kLywNCiAgICAgICAgQXQgPSAvXHI/XG4vZywNCiAgICAgICAgRHQgPSAvXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksDQogICAgICAgIGp0ID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pOw0KDQogICAgZnVuY3Rpb24gcXQobiwgZSwgciwgaSkgew0KICAgICAgICB2YXIgdDsNCiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZSkpIGsuZWFjaChlLCBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICByIHx8IE50LnRlc3QobikgPyBpKG4sIHQpIDogcXQobiArICJbIiArICgib2JqZWN0IiA9PSB0eXBlb2YgdCAmJiBudWxsICE9IHQgPyBlIDogIiIpICsgIl0iLCB0LCByLCBpKQ0KICAgICAgICB9KTsNCiAgICAgICAgZWxzZSBpZiAociB8fCAib2JqZWN0IiAhPT0gdyhlKSkgaShuLCBlKTsNCiAgICAgICAgZWxzZQ0KICAgICAgICAgICAgZm9yICh0IGluIGUpIHF0KG4gKyAiWyIgKyB0ICsgIl0iLCBlW3RdLCByLCBpKQ0KICAgIH0NCiAgICBrLnBhcmFtID0gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICB2YXIgbiwgciA9IFtdLA0KICAgICAgICAgICAgaSA9IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgbiA9IG0odCkgPyB0KCkgOiB0Ow0KICAgICAgICAgICAgICAgIHJbci5sZW5ndGhdID0gZW5jb2RlVVJJQ29tcG9uZW50KGUpICsgIj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KG51bGwgPT0gbiA/ICIiIDogbikNCiAgICAgICAgICAgIH07DQogICAgICAgIGlmIChudWxsID09IGUpIHJldHVybiAiIjsNCiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZSkgfHwgZS5qcXVlcnkgJiYgIWsuaXNQbGFpbk9iamVjdChlKSkgay5lYWNoKGUsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaSh0aGlzLm5hbWUsIHRoaXMudmFsdWUpDQogICAgICAgIH0pOw0KICAgICAgICBlbHNlDQogICAgICAgICAgICBmb3IgKG4gaW4gZSkgcXQobiwgZVtuXSwgdCwgaSk7DQogICAgICAgIHJldHVybiByLmpvaW4oIiYiKQ0KICAgIH0sIGsuZm4uZXh0ZW5kKHsNCiAgICAgICAgc2VyaWFsaXplOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiBrLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSkNCiAgICAgICAgfSwNCiAgICAgICAgc2VyaWFsaXplQXJyYXk6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gay5wcm9wKHRoaXMsICJlbGVtZW50cyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBlID8gay5tYWtlQXJyYXkoZSkgOiB0aGlzDQogICAgICAgICAgICB9KS5maWx0ZXIoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnR5cGU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSAmJiAhayh0aGlzKS5pcygiOmRpc2FibGVkIikgJiYganQudGVzdCh0aGlzLm5vZGVOYW1lKSAmJiAhRHQudGVzdChlKSAmJiAodGhpcy5jaGVja2VkIHx8ICFwZS50ZXN0KGUpKQ0KICAgICAgICAgICAgfSkubWFwKGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgbiA9IGsodGhpcykudmFsKCk7DQogICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gbiA/IG51bGwgOiBBcnJheS5pc0FycmF5KG4pID8gay5tYXAobiwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdC5uYW1lLA0KICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGUucmVwbGFjZShBdCwgIlxyXG4iKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkgOiB7DQogICAgICAgICAgICAgICAgICAgIG5hbWU6IHQubmFtZSwNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG4ucmVwbGFjZShBdCwgIlxyXG4iKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pLmdldCgpDQogICAgICAgIH0NCiAgICB9KTsNCiAgICB2YXIgTHQgPSAvJTIwL2csDQogICAgICAgIEh0ID0gLyMuKiQvLA0KICAgICAgICBPdCA9IC8oWz8mXSlfPVteJl0qLywNCiAgICAgICAgUHQgPSAvXiguKj8pOlsgXHRdKihbXlxyXG5dKikkL2dtLA0KICAgICAgICBSdCA9IC9eKD86R0VUfEhFQUQpJC8sDQogICAgICAgIE10ID0gL15cL1wvLywNCiAgICAgICAgSXQgPSB7fSwNCiAgICAgICAgV3QgPSB7fSwNCiAgICAgICAgJHQgPSAiKi8iLmNvbmNhdCgiKiIpLA0KICAgICAgICBGdCA9IEUuY3JlYXRlRWxlbWVudCgiYSIpOw0KDQogICAgZnVuY3Rpb24gQnQobykgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgInN0cmluZyIgIT0gdHlwZW9mIGUgJiYgKHQgPSBlLCBlID0gIioiKTsNCiAgICAgICAgICAgIHZhciBuLCByID0gMCwNCiAgICAgICAgICAgICAgICBpID0gZS50b0xvd2VyQ2FzZSgpLm1hdGNoKFIpIHx8IFtdOw0KICAgICAgICAgICAgaWYgKG0odCkpDQogICAgICAgICAgICAgICAgd2hpbGUgKG4gPSBpW3IrK10pICIrIiA9PT0gblswXSA/IChuID0gbi5zbGljZSgxKSB8fCAiKiIsIChvW25dID0gb1tuXSB8fCBbXSkudW5zaGlmdCh0KSkgOiAob1tuXSA9IG9bbl0gfHwgW10pLnB1c2godCkNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIF90KHQsIGksIG8sIGEpIHsNCiAgICAgICAgdmFyIHMgPSB7fSwNCiAgICAgICAgICAgIHUgPSB0ID09PSBXdDsNCg0KICAgICAgICBmdW5jdGlvbiBsKGUpIHsNCiAgICAgICAgICAgIHZhciByOw0KICAgICAgICAgICAgcmV0dXJuIHNbZV0gPSAhMCwgay5lYWNoKHRbZV0gfHwgW10sIGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgbiA9IHQoaSwgbywgYSk7DQogICAgICAgICAgICAgICAgcmV0dXJuICJzdHJpbmciICE9IHR5cGVvZiBuIHx8IHUgfHwgc1tuXSA/IHUgPyAhKHIgPSBuKSA6IHZvaWQgMCA6IChpLmRhdGFUeXBlcy51bnNoaWZ0KG4pLCBsKG4pLCAhMSkNCiAgICAgICAgICAgIH0pLCByDQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGwoaS5kYXRhVHlwZXNbMF0pIHx8ICFzWyIqIl0gJiYgbCgiKiIpDQogICAgfQ0KDQogICAgZnVuY3Rpb24genQoZSwgdCkgew0KICAgICAgICB2YXIgbiwgciwgaSA9IGsuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zIHx8IHt9Ow0KICAgICAgICBmb3IgKG4gaW4gdCkgdm9pZCAwICE9PSB0W25dICYmICgoaVtuXSA/IGUgOiByIHx8IChyID0ge30pKVtuXSA9IHRbbl0pOw0KICAgICAgICByZXR1cm4gciAmJiBrLmV4dGVuZCghMCwgZSwgciksIGUNCiAgICB9DQogICAgRnQuaHJlZiA9IEV0LmhyZWYsIGsuZXh0ZW5kKHsNCiAgICAgICAgYWN0aXZlOiAwLA0KICAgICAgICBsYXN0TW9kaWZpZWQ6IHt9LA0KICAgICAgICBldGFnOiB7fSwNCiAgICAgICAgYWpheFNldHRpbmdzOiB7DQogICAgICAgICAgICB1cmw6IEV0LmhyZWYsDQogICAgICAgICAgICB0eXBlOiAiR0VUIiwNCiAgICAgICAgICAgIGlzTG9jYWw6IC9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLnRlc3QoRXQucHJvdG9jb2wpLA0KICAgICAgICAgICAgZ2xvYmFsOiAhMCwNCiAgICAgICAgICAgIHByb2Nlc3NEYXRhOiAhMCwNCiAgICAgICAgICAgIGFzeW5jOiAhMCwNCiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IiwNCiAgICAgICAgICAgIGFjY2VwdHM6IHsNCiAgICAgICAgICAgICAgICAiKiI6ICR0LA0KICAgICAgICAgICAgICAgIHRleHQ6ICJ0ZXh0L3BsYWluIiwNCiAgICAgICAgICAgICAgICBodG1sOiAidGV4dC9odG1sIiwNCiAgICAgICAgICAgICAgICB4bWw6ICJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIiwNCiAgICAgICAgICAgICAgICBqc29uOiAiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0Ig0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbnRlbnRzOiB7DQogICAgICAgICAgICAgICAgeG1sOiAvXGJ4bWxcYi8sDQogICAgICAgICAgICAgICAgaHRtbDogL1xiaHRtbC8sDQogICAgICAgICAgICAgICAganNvbjogL1xianNvblxiLw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHJlc3BvbnNlRmllbGRzOiB7DQogICAgICAgICAgICAgICAgeG1sOiAicmVzcG9uc2VYTUwiLA0KICAgICAgICAgICAgICAgIHRleHQ6ICJyZXNwb25zZVRleHQiLA0KICAgICAgICAgICAgICAgIGpzb246ICJyZXNwb25zZUpTT04iDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29udmVydGVyczogew0KICAgICAgICAgICAgICAgICIqIHRleHQiOiBTdHJpbmcsDQogICAgICAgICAgICAgICAgInRleHQgaHRtbCI6ICEwLA0KICAgICAgICAgICAgICAgICJ0ZXh0IGpzb24iOiBKU09OLnBhcnNlLA0KICAgICAgICAgICAgICAgICJ0ZXh0IHhtbCI6IGsucGFyc2VYTUwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBmbGF0T3B0aW9uczogew0KICAgICAgICAgICAgICAgIHVybDogITAsDQogICAgICAgICAgICAgICAgY29udGV4dDogITANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgYWpheFNldHVwOiBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICByZXR1cm4gdCA/IHp0KHp0KGUsIGsuYWpheFNldHRpbmdzKSwgdCkgOiB6dChrLmFqYXhTZXR0aW5ncywgZSkNCiAgICAgICAgfSwNCiAgICAgICAgYWpheFByZWZpbHRlcjogQnQoSXQpLA0KICAgICAgICBhamF4VHJhbnNwb3J0OiBCdChXdCksDQogICAgICAgIGFqYXg6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICJvYmplY3QiID09IHR5cGVvZiBlICYmICh0ID0gZSwgZSA9IHZvaWQgMCksIHQgPSB0IHx8IHt9Ow0KICAgICAgICAgICAgdmFyIGMsIGYsIHAsIG4sIGQsIHIsIGgsIGcsIGksIG8sIHYgPSBrLmFqYXhTZXR1cCh7fSwgdCksDQogICAgICAgICAgICAgICAgeSA9IHYuY29udGV4dCB8fCB2LA0KICAgICAgICAgICAgICAgIG0gPSB2LmNvbnRleHQgJiYgKHkubm9kZVR5cGUgfHwgeS5qcXVlcnkpID8gayh5KSA6IGsuZXZlbnQsDQogICAgICAgICAgICAgICAgeCA9IGsuRGVmZXJyZWQoKSwNCiAgICAgICAgICAgICAgICBiID0gay5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksDQogICAgICAgICAgICAgICAgdyA9IHYuc3RhdHVzQ29kZSB8fCB7fSwNCiAgICAgICAgICAgICAgICBhID0ge30sDQogICAgICAgICAgICAgICAgcyA9IHt9LA0KICAgICAgICAgICAgICAgIHUgPSAiY2FuY2VsZWQiLA0KICAgICAgICAgICAgICAgIFQgPSB7DQogICAgICAgICAgICAgICAgICAgIHJlYWR5U3RhdGU6IDAsDQogICAgICAgICAgICAgICAgICAgIGdldFJlc3BvbnNlSGVhZGVyOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdDsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFuKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4gPSB7fTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHQgPSBQdC5leGVjKHApKSBuW3RbMV0udG9Mb3dlckNhc2UoKSArICIgIl0gPSAoblt0WzFdLnRvTG93ZXJDYXNlKCkgKyAiICJdIHx8IFtdKS5jb25jYXQodFsyXSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9IG5bZS50b0xvd2VyQ2FzZSgpICsgIiAiXQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gdCA/IG51bGwgOiB0LmpvaW4oIiwgIikNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBoID8gcCA6IG51bGwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgc2V0UmVxdWVzdEhlYWRlcjogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gaCAmJiAoZSA9IHNbZS50b0xvd2VyQ2FzZSgpXSA9IHNbZS50b0xvd2VyQ2FzZSgpXSB8fCBlLCBhW2VdID0gdCksIHRoaXMNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNaW1lVHlwZTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGwgPT0gaCAmJiAodi5taW1lVHlwZSA9IGUpLCB0aGlzDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHN0YXR1c0NvZGU6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGgpIFQuYWx3YXlzKGVbVC5zdGF0dXNdKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodCBpbiBlKSB3W3RdID0gW3dbdF0sIGVbdF1dOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgYWJvcnQ6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZSB8fCB1Ow0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGMgJiYgYy5hYm9ydCh0KSwgbCgwLCB0KSwgdGhpcw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIGlmICh4LnByb21pc2UoVCksIHYudXJsID0gKChlIHx8IHYudXJsIHx8IEV0LmhyZWYpICsgIiIpLnJlcGxhY2UoTXQsIEV0LnByb3RvY29sICsgIi8vIiksIHYudHlwZSA9IHQubWV0aG9kIHx8IHQudHlwZSB8fCB2Lm1ldGhvZCB8fCB2LnR5cGUsIHYuZGF0YVR5cGVzID0gKHYuZGF0YVR5cGUgfHwgIioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKFIpIHx8IFsiIl0sIG51bGwgPT0gdi5jcm9zc0RvbWFpbikgew0KICAgICAgICAgICAgICAgIHIgPSBFLmNyZWF0ZUVsZW1lbnQoImEiKTsNCiAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICByLmhyZWYgPSB2LnVybCwgci5ocmVmID0gci5ocmVmLCB2LmNyb3NzRG9tYWluID0gRnQucHJvdG9jb2wgKyAiLy8iICsgRnQuaG9zdCAhPSByLnByb3RvY29sICsgIi8vIiArIHIuaG9zdA0KICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgdi5jcm9zc0RvbWFpbiA9ICEwDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHYuZGF0YSAmJiB2LnByb2Nlc3NEYXRhICYmICJzdHJpbmciICE9IHR5cGVvZiB2LmRhdGEgJiYgKHYuZGF0YSA9IGsucGFyYW0odi5kYXRhLCB2LnRyYWRpdGlvbmFsKSksIF90KEl0LCB2LCB0LCBUKSwgaCkgcmV0dXJuIFQ7DQogICAgICAgICAgICBmb3IgKGkgaW4gKGcgPSBrLmV2ZW50ICYmIHYuZ2xvYmFsKSAmJiAwID09IGsuYWN0aXZlKysgJiYgay5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKSwgdi50eXBlID0gdi50eXBlLnRvVXBwZXJDYXNlKCksIHYuaGFzQ29udGVudCA9ICFSdC50ZXN0KHYudHlwZSksIGYgPSB2LnVybC5yZXBsYWNlKEh0LCAiIiksIHYuaGFzQ29udGVudCA/IHYuZGF0YSAmJiB2LnByb2Nlc3NEYXRhICYmIDAgPT09ICh2LmNvbnRlbnRUeXBlIHx8ICIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSAmJiAodi5kYXRhID0gdi5kYXRhLnJlcGxhY2UoTHQsICIrIikpIDogKG8gPSB2LnVybC5zbGljZShmLmxlbmd0aCksIHYuZGF0YSAmJiAodi5wcm9jZXNzRGF0YSB8fCAic3RyaW5nIiA9PSB0eXBlb2Ygdi5kYXRhKSAmJiAoZiArPSAoU3QudGVzdChmKSA/ICImIiA6ICI/IikgKyB2LmRhdGEsIGRlbGV0ZSB2LmRhdGEpLCAhMSA9PT0gdi5jYWNoZSAmJiAoZiA9IGYucmVwbGFjZShPdCwgIiQxIiksIG8gPSAoU3QudGVzdChmKSA/ICImIiA6ICI/IikgKyAiXz0iICsga3QrKyArIG8pLCB2LnVybCA9IGYgKyBvKSwgdi5pZk1vZGlmaWVkICYmIChrLmxhc3RNb2RpZmllZFtmXSAmJiBULnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIiwgay5sYXN0TW9kaWZpZWRbZl0pLCBrLmV0YWdbZl0gJiYgVC5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIiwgay5ldGFnW2ZdKSksICh2LmRhdGEgJiYgdi5oYXNDb250ZW50ICYmICExICE9PSB2LmNvbnRlbnRUeXBlIHx8IHQuY29udGVudFR5cGUpICYmIFQuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwgdi5jb250ZW50VHlwZSksIFQuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0Iiwgdi5kYXRhVHlwZXNbMF0gJiYgdi5hY2NlcHRzW3YuZGF0YVR5cGVzWzBdXSA/IHYuYWNjZXB0c1t2LmRhdGFUeXBlc1swXV0gKyAoIioiICE9PSB2LmRhdGFUeXBlc1swXSA/ICIsICIgKyAkdCArICI7IHE9MC4wMSIgOiAiIikgOiB2LmFjY2VwdHNbIioiXSksIHYuaGVhZGVycykgVC5zZXRSZXF1ZXN0SGVhZGVyKGksIHYuaGVhZGVyc1tpXSk7DQogICAgICAgICAgICBpZiAodi5iZWZvcmVTZW5kICYmICghMSA9PT0gdi5iZWZvcmVTZW5kLmNhbGwoeSwgVCwgdikgfHwgaCkpIHJldHVybiBULmFib3J0KCk7DQogICAgICAgICAgICBpZiAodSA9ICJhYm9ydCIsIGIuYWRkKHYuY29tcGxldGUpLCBULmRvbmUodi5zdWNjZXNzKSwgVC5mYWlsKHYuZXJyb3IpLCBjID0gX3QoV3QsIHYsIHQsIFQpKSB7DQogICAgICAgICAgICAgICAgaWYgKFQucmVhZHlTdGF0ZSA9IDEsIGcgJiYgbS50cmlnZ2VyKCJhamF4U2VuZCIsIFtULCB2XSksIGgpIHJldHVybiBUOw0KICAgICAgICAgICAgICAgIHYuYXN5bmMgJiYgMCA8IHYudGltZW91dCAmJiAoZCA9IEMuc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgVC5hYm9ydCgidGltZW91dCIpDQogICAgICAgICAgICAgICAgfSwgdi50aW1lb3V0KSk7DQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgaCA9ICExLCBjLnNlbmQoYSwgbCkNCiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgICAgIGlmIChoKSB0aHJvdyBlOw0KICAgICAgICAgICAgICAgICAgICBsKC0xLCBlKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gZWxzZSBsKC0xLCAiTm8gVHJhbnNwb3J0Iik7DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIGwoZSwgdCwgbiwgcikgew0KICAgICAgICAgICAgICAgIHZhciBpLCBvLCBhLCBzLCB1LCBsID0gdDsNCiAgICAgICAgICAgICAgICBoIHx8IChoID0gITAsIGQgJiYgQy5jbGVhclRpbWVvdXQoZCksIGMgPSB2b2lkIDAsIHAgPSByIHx8ICIiLCBULnJlYWR5U3RhdGUgPSAwIDwgZSA/IDQgOiAwLCBpID0gMjAwIDw9IGUgJiYgZSA8IDMwMCB8fCAzMDQgPT09IGUsIG4gJiYgKHMgPSBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciByLCBpLCBvLCBhLCBzID0gZS5jb250ZW50cywNCiAgICAgICAgICAgICAgICAgICAgICAgIHUgPSBlLmRhdGFUeXBlczsNCiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCIqIiA9PT0gdVswXSkgdS5zaGlmdCgpLCB2b2lkIDAgPT09IHIgJiYgKHIgPSBlLm1pbWVUeXBlIHx8IHQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHIpDQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgaW4gcykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc1tpXSAmJiBzW2ldLnRlc3QocikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdS51bnNoaWZ0KGkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgaWYgKHVbMF0gaW4gbikgbyA9IHVbMF07DQogICAgICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpIGluIG4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXVbMF0gfHwgZS5jb252ZXJ0ZXJzW2kgKyAiICIgKyB1WzBdXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvID0gaTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB8fCAoYSA9IGkpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBvID0gbyB8fCBhDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgaWYgKG8pIHJldHVybiBvICE9PSB1WzBdICYmIHUudW5zaGlmdChvKSwgbltvXQ0KICAgICAgICAgICAgICAgIH0odiwgVCwgbikpLCBzID0gZnVuY3Rpb24oZSwgdCwgbiwgcikgew0KICAgICAgICAgICAgICAgICAgICB2YXIgaSwgbywgYSwgcywgdSwgbCA9IHt9LA0KICAgICAgICAgICAgICAgICAgICAgICAgYyA9IGUuZGF0YVR5cGVzLnNsaWNlKCk7DQogICAgICAgICAgICAgICAgICAgIGlmIChjWzFdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChhIGluIGUuY29udmVydGVycykgbFthLnRvTG93ZXJDYXNlKCldID0gZS5jb252ZXJ0ZXJzW2FdOw0KICAgICAgICAgICAgICAgICAgICBvID0gYy5zaGlmdCgpOw0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAobykNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLnJlc3BvbnNlRmllbGRzW29dICYmIChuW2UucmVzcG9uc2VGaWVsZHNbb11dID0gdCksICF1ICYmIHIgJiYgZS5kYXRhRmlsdGVyICYmICh0ID0gZS5kYXRhRmlsdGVyKHQsIGUuZGF0YVR5cGUpKSwgdSA9IG8sIG8gPSBjLnNoaWZ0KCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCIqIiA9PT0gbykgbyA9IHU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIioiICE9PSB1ICYmIHUgIT09IG8pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGEgPSBsW3UgKyAiICIgKyBvXSB8fCBsWyIqICIgKyBvXSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpIGluIGwpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgocyA9IGkuc3BsaXQoIiAiKSlbMV0gPT09IG8gJiYgKGEgPSBsW3UgKyAiICIgKyBzWzBdXSB8fCBsWyIqICIgKyBzWzBdXSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEwID09PSBhID8gYSA9IGxbaV0gOiAhMCAhPT0gbFtpXSAmJiAobyA9IHNbMF0sIGMudW5zaGlmdChzWzFdKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoITAgIT09IGEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGEgJiYgZVsidGhyb3dzIl0pIHQgPSBhKHQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9IGEodCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogInBhcnNlcmVycm9yIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBhID8gZSA6ICJObyBjb252ZXJzaW9uIGZyb20gIiArIHUgKyAiIHRvICIgKyBvDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAic3VjY2VzcyIsDQogICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB0DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KHYsIHMsIFQsIGkpLCBpID8gKHYuaWZNb2RpZmllZCAmJiAoKHUgPSBULmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpICYmIChrLmxhc3RNb2RpZmllZFtmXSA9IHUpLCAodSA9IFQuZ2V0UmVzcG9uc2VIZWFkZXIoImV0YWciKSkgJiYgKGsuZXRhZ1tmXSA9IHUpKSwgMjA0ID09PSBlIHx8ICJIRUFEIiA9PT0gdi50eXBlID8gbCA9ICJub2NvbnRlbnQiIDogMzA0ID09PSBlID8gbCA9ICJub3Rtb2RpZmllZCIgOiAobCA9IHMuc3RhdGUsIG8gPSBzLmRhdGEsIGkgPSAhKGEgPSBzLmVycm9yKSkpIDogKGEgPSBsLCAhZSAmJiBsIHx8IChsID0gImVycm9yIiwgZSA8IDAgJiYgKGUgPSAwKSkpLCBULnN0YXR1cyA9IGUsIFQuc3RhdHVzVGV4dCA9ICh0IHx8IGwpICsgIiIsIGkgPyB4LnJlc29sdmVXaXRoKHksIFtvLCBsLCBUXSkgOiB4LnJlamVjdFdpdGgoeSwgW1QsIGwsIGFdKSwgVC5zdGF0dXNDb2RlKHcpLCB3ID0gdm9pZCAwLCBnICYmIG0udHJpZ2dlcihpID8gImFqYXhTdWNjZXNzIiA6ICJhamF4RXJyb3IiLCBbVCwgdiwgaSA/IG8gOiBhXSksIGIuZmlyZVdpdGgoeSwgW1QsIGxdKSwgZyAmJiAobS50cmlnZ2VyKCJhamF4Q29tcGxldGUiLCBbVCwgdl0pLCAtLWsuYWN0aXZlIHx8IGsuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpDQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gVA0KICAgICAgICB9LA0KICAgICAgICBnZXRKU09OOiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICByZXR1cm4gay5nZXQoZSwgdCwgbiwgImpzb24iKQ0KICAgICAgICB9LA0KICAgICAgICBnZXRTY3JpcHQ6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIHJldHVybiBrLmdldChlLCB2b2lkIDAsIHQsICJzY3JpcHQiKQ0KICAgICAgICB9DQogICAgfSksIGsuZWFjaChbImdldCIsICJwb3N0Il0sIGZ1bmN0aW9uKGUsIGkpIHsNCiAgICAgICAga1tpXSA9IGZ1bmN0aW9uKGUsIHQsIG4sIHIpIHsNCiAgICAgICAgICAgIHJldHVybiBtKHQpICYmIChyID0gciB8fCBuLCBuID0gdCwgdCA9IHZvaWQgMCksIGsuYWpheChrLmV4dGVuZCh7DQogICAgICAgICAgICAgICAgdXJsOiBlLA0KICAgICAgICAgICAgICAgIHR5cGU6IGksDQogICAgICAgICAgICAgICAgZGF0YVR5cGU6IHIsDQogICAgICAgICAgICAgICAgZGF0YTogdCwNCiAgICAgICAgICAgICAgICBzdWNjZXNzOiBuDQogICAgICAgICAgICB9LCBrLmlzUGxhaW5PYmplY3QoZSkgJiYgZSkpDQogICAgICAgIH0NCiAgICB9KSwgay5fZXZhbFVybCA9IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgcmV0dXJuIGsuYWpheCh7DQogICAgICAgICAgICB1cmw6IGUsDQogICAgICAgICAgICB0eXBlOiAiR0VUIiwNCiAgICAgICAgICAgIGRhdGFUeXBlOiAic2NyaXB0IiwNCiAgICAgICAgICAgIGNhY2hlOiAhMCwNCiAgICAgICAgICAgIGFzeW5jOiAhMSwNCiAgICAgICAgICAgIGdsb2JhbDogITEsDQogICAgICAgICAgICBjb252ZXJ0ZXJzOiB7DQogICAgICAgICAgICAgICAgInRleHQgc2NyaXB0IjogZnVuY3Rpb24oKSB7fQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGRhdGFGaWx0ZXI6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICBrLmdsb2JhbEV2YWwoZSwgdCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICB9LCBrLmZuLmV4dGVuZCh7DQogICAgICAgIHdyYXBBbGw6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHZhciB0Ow0KICAgICAgICAgICAgcmV0dXJuIHRoaXNbMF0gJiYgKG0oZSkgJiYgKGUgPSBlLmNhbGwodGhpc1swXSkpLCB0ID0gayhlLCB0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSwgdGhpc1swXS5wYXJlbnROb2RlICYmIHQuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLCB0Lm1hcChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXM7DQogICAgICAgICAgICAgICAgd2hpbGUgKGUuZmlyc3RFbGVtZW50Q2hpbGQpIGUgPSBlLmZpcnN0RWxlbWVudENoaWxkOw0KICAgICAgICAgICAgICAgIHJldHVybiBlDQogICAgICAgICAgICB9KS5hcHBlbmQodGhpcykpLCB0aGlzDQogICAgICAgIH0sDQogICAgICAgIHdyYXBJbm5lcjogZnVuY3Rpb24obikgew0KICAgICAgICAgICAgcmV0dXJuIG0obikgPyB0aGlzLmVhY2goZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIGsodGhpcykud3JhcElubmVyKG4uY2FsbCh0aGlzLCBlKSkNCiAgICAgICAgICAgIH0pIDogdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gayh0aGlzKSwNCiAgICAgICAgICAgICAgICAgICAgdCA9IGUuY29udGVudHMoKTsNCiAgICAgICAgICAgICAgICB0Lmxlbmd0aCA/IHQud3JhcEFsbChuKSA6IGUuYXBwZW5kKG4pDQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgICAgICB3cmFwOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgbiA9IG0odCk7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICBrKHRoaXMpLndyYXBBbGwobiA/IHQuY2FsbCh0aGlzLCBlKSA6IHQpDQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgICAgICB1bndyYXA6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnBhcmVudChlKS5ub3QoImJvZHkiKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGsodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKQ0KICAgICAgICAgICAgfSksIHRoaXMNCiAgICAgICAgfQ0KICAgIH0pLCBrLmV4cHIucHNldWRvcy5oaWRkZW4gPSBmdW5jdGlvbihlKSB7DQogICAgICAgIHJldHVybiAhay5leHByLnBzZXVkb3MudmlzaWJsZShlKQ0KICAgIH0sIGsuZXhwci5wc2V1ZG9zLnZpc2libGUgPSBmdW5jdGlvbihlKSB7DQogICAgICAgIHJldHVybiAhIShlLm9mZnNldFdpZHRoIHx8IGUub2Zmc2V0SGVpZ2h0IHx8IGUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpDQogICAgfSwgay5hamF4U2V0dGluZ3MueGhyID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEMuWE1MSHR0cFJlcXVlc3QNCiAgICAgICAgfSBjYXRjaCAoZSkge30NCiAgICB9Ow0KICAgIHZhciBVdCA9IHsNCiAgICAgICAgICAgIDA6IDIwMCwNCiAgICAgICAgICAgIDEyMjM6IDIwNA0KICAgICAgICB9LA0KICAgICAgICBYdCA9IGsuYWpheFNldHRpbmdzLnhocigpOw0KICAgIHkuY29ycyA9ICEhWHQgJiYgIndpdGhDcmVkZW50aWFscyIgaW4gWHQsIHkuYWpheCA9IFh0ID0gISFYdCwgay5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGkpIHsNCiAgICAgICAgdmFyIG8sIGE7DQogICAgICAgIGlmICh5LmNvcnMgfHwgWHQgJiYgIWkuY3Jvc3NEb21haW4pIHJldHVybiB7DQogICAgICAgICAgICBzZW5kOiBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgdmFyIG4sIHIgPSBpLnhocigpOw0KICAgICAgICAgICAgICAgIGlmIChyLm9wZW4oaS50eXBlLCBpLnVybCwgaS5hc3luYywgaS51c2VybmFtZSwgaS5wYXNzd29yZCksIGkueGhyRmllbGRzKQ0KICAgICAgICAgICAgICAgICAgICBmb3IgKG4gaW4gaS54aHJGaWVsZHMpIHJbbl0gPSBpLnhockZpZWxkc1tuXTsNCiAgICAgICAgICAgICAgICBmb3IgKG4gaW4gaS5taW1lVHlwZSAmJiByLm92ZXJyaWRlTWltZVR5cGUgJiYgci5vdmVycmlkZU1pbWVUeXBlKGkubWltZVR5cGUpLCBpLmNyb3NzRG9tYWluIHx8IGVbIlgtUmVxdWVzdGVkLVdpdGgiXSB8fCAoZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdID0gIlhNTEh0dHBSZXF1ZXN0IiksIGUpIHIuc2V0UmVxdWVzdEhlYWRlcihuLCBlW25dKTsNCiAgICAgICAgICAgICAgICBvID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBvICYmIChvID0gYSA9IHIub25sb2FkID0gci5vbmVycm9yID0gci5vbmFib3J0ID0gci5vbnRpbWVvdXQgPSByLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGwsICJhYm9ydCIgPT09IGUgPyByLmFib3J0KCkgOiAiZXJyb3IiID09PSBlID8gIm51bWJlciIgIT0gdHlwZW9mIHIuc3RhdHVzID8gdCgwLCAiZXJyb3IiKSA6IHQoci5zdGF0dXMsIHIuc3RhdHVzVGV4dCkgOiB0KFV0W3Iuc3RhdHVzXSB8fCByLnN0YXR1cywgci5zdGF0dXNUZXh0LCAidGV4dCIgIT09IChyLnJlc3BvbnNlVHlwZSB8fCAidGV4dCIpIHx8ICJzdHJpbmciICE9IHR5cGVvZiByLnJlc3BvbnNlVGV4dCA/IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5hcnk6IHIucmVzcG9uc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogci5yZXNwb25zZVRleHQNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHIuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSwgci5vbmxvYWQgPSBvKCksIGEgPSByLm9uZXJyb3IgPSByLm9udGltZW91dCA9IG8oImVycm9yIiksIHZvaWQgMCAhPT0gci5vbmFib3J0ID8gci5vbmFib3J0ID0gYSA6IHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIDQgPT09IHIucmVhZHlTdGF0ZSAmJiBDLnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBvICYmIGEoKQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIH0sIG8gPSBvKCJhYm9ydCIpOw0KICAgICAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgIHIuc2VuZChpLmhhc0NvbnRlbnQgJiYgaS5kYXRhIHx8IG51bGwpDQogICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAobykgdGhyb3cgZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBhYm9ydDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgbyAmJiBvKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0pLCBrLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oZSkgew0KICAgICAgICBlLmNyb3NzRG9tYWluICYmIChlLmNvbnRlbnRzLnNjcmlwdCA9ICExKQ0KICAgIH0pLCBrLmFqYXhTZXR1cCh7DQogICAgICAgIGFjY2VwdHM6IHsNCiAgICAgICAgICAgIHNjcmlwdDogInRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0Ig0KICAgICAgICB9LA0KICAgICAgICBjb250ZW50czogew0KICAgICAgICAgICAgc2NyaXB0OiAvXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvDQogICAgICAgIH0sDQogICAgICAgIGNvbnZlcnRlcnM6IHsNCiAgICAgICAgICAgICJ0ZXh0IHNjcmlwdCI6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gay5nbG9iYWxFdmFsKGUpLCBlDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KSwgay5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLCBmdW5jdGlvbihlKSB7DQogICAgICAgIHZvaWQgMCA9PT0gZS5jYWNoZSAmJiAoZS5jYWNoZSA9ICExKSwgZS5jcm9zc0RvbWFpbiAmJiAoZS50eXBlID0gIkdFVCIpDQogICAgfSksIGsuYWpheFRyYW5zcG9ydCgic2NyaXB0IiwgZnVuY3Rpb24obikgew0KICAgICAgICB2YXIgciwgaTsNCiAgICAgICAgaWYgKG4uY3Jvc3NEb21haW4gfHwgbi5zY3JpcHRBdHRycykgcmV0dXJuIHsNCiAgICAgICAgICAgIHNlbmQ6IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICByID0gaygiPHNjcmlwdD4iKS5hdHRyKG4uc2NyaXB0QXR0cnMgfHwge30pLnByb3Aoew0KICAgICAgICAgICAgICAgICAgICBjaGFyc2V0OiBuLnNjcmlwdENoYXJzZXQsDQogICAgICAgICAgICAgICAgICAgIHNyYzogbi51cmwNCiAgICAgICAgICAgICAgICB9KS5vbigibG9hZCBlcnJvciIsIGkgPSBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHIucmVtb3ZlKCksIGkgPSBudWxsLCBlICYmIHQoImVycm9yIiA9PT0gZS50eXBlID8gNDA0IDogMjAwLCBlLnR5cGUpDQogICAgICAgICAgICAgICAgfSksIEUuaGVhZC5hcHBlbmRDaGlsZChyWzBdKQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGFib3J0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBpICYmIGkoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSk7DQogICAgdmFyIFZ0LCBHdCA9IFtdLA0KICAgICAgICBZdCA9IC8oPSlcPyg/PSZ8JCl8XD9cPy87DQogICAgay5hamF4U2V0dXAoew0KICAgICAgICBqc29ucDogImNhbGxiYWNrIiwNCiAgICAgICAganNvbnBDYWxsYmFjazogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgZSA9IEd0LnBvcCgpIHx8IGsuZXhwYW5kbyArICJfIiArIGt0Kys7DQogICAgICAgICAgICByZXR1cm4gdGhpc1tlXSA9ICEwLCBlDQogICAgICAgIH0NCiAgICB9KSwgay5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIiwgZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICB2YXIgciwgaSwgbywgYSA9ICExICE9PSBlLmpzb25wICYmIChZdC50ZXN0KGUudXJsKSA/ICJ1cmwiIDogInN0cmluZyIgPT0gdHlwZW9mIGUuZGF0YSAmJiAwID09PSAoZS5jb250ZW50VHlwZSB8fCAiIikuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikgJiYgWXQudGVzdChlLmRhdGEpICYmICJkYXRhIik7DQogICAgICAgIGlmIChhIHx8ICJqc29ucCIgPT09IGUuZGF0YVR5cGVzWzBdKSByZXR1cm4gciA9IGUuanNvbnBDYWxsYmFjayA9IG0oZS5qc29ucENhbGxiYWNrKSA/IGUuanNvbnBDYWxsYmFjaygpIDogZS5qc29ucENhbGxiYWNrLCBhID8gZVthXSA9IGVbYV0ucmVwbGFjZShZdCwgIiQxIiArIHIpIDogITEgIT09IGUuanNvbnAgJiYgKGUudXJsICs9IChTdC50ZXN0KGUudXJsKSA/ICImIiA6ICI/IikgKyBlLmpzb25wICsgIj0iICsgciksIGUuY29udmVydGVyc1sic2NyaXB0IGpzb24iXSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIG8gfHwgay5lcnJvcihyICsgIiB3YXMgbm90IGNhbGxlZCIpLCBvWzBdDQogICAgICAgIH0sIGUuZGF0YVR5cGVzWzBdID0gImpzb24iLCBpID0gQ1tyXSwgQ1tyXSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgbyA9IGFyZ3VtZW50cw0KICAgICAgICB9LCBuLmFsd2F5cyhmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZvaWQgMCA9PT0gaSA/IGsoQykucmVtb3ZlUHJvcChyKSA6IENbcl0gPSBpLCBlW3JdICYmIChlLmpzb25wQ2FsbGJhY2sgPSB0Lmpzb25wQ2FsbGJhY2ssIEd0LnB1c2gocikpLCBvICYmIG0oaSkgJiYgaShvWzBdKSwgbyA9IGkgPSB2b2lkIDANCiAgICAgICAgfSksICJzY3JpcHQiDQogICAgfSksIHkuY3JlYXRlSFRNTERvY3VtZW50ID0gKChWdCA9IEUuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKS5ib2R5KS5pbm5lckhUTUwgPSAiPGZvcm0+PC9mb3JtPjxmb3JtPjwvZm9ybT4iLCAyID09PSBWdC5jaGlsZE5vZGVzLmxlbmd0aCksIGsucGFyc2VIVE1MID0gZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICByZXR1cm4gInN0cmluZyIgIT0gdHlwZW9mIGUgPyBbXSA6ICgiYm9vbGVhbiIgPT0gdHlwZW9mIHQgJiYgKG4gPSB0LCB0ID0gITEpLCB0IHx8ICh5LmNyZWF0ZUhUTUxEb2N1bWVudCA/ICgociA9ICh0ID0gRS5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpKS5jcmVhdGVFbGVtZW50KCJiYXNlIikpLmhyZWYgPSBFLmxvY2F0aW9uLmhyZWYsIHQuaGVhZC5hcHBlbmRDaGlsZChyKSkgOiB0ID0gRSksIG8gPSAhbiAmJiBbXSwgKGkgPSBELmV4ZWMoZSkpID8gW3QuY3JlYXRlRWxlbWVudChpWzFdKV0gOiAoaSA9IHdlKFtlXSwgdCwgbyksIG8gJiYgby5sZW5ndGggJiYgayhvKS5yZW1vdmUoKSwgay5tZXJnZShbXSwgaS5jaGlsZE5vZGVzKSkpOw0KICAgICAgICB2YXIgciwgaSwgbw0KICAgIH0sIGsuZm4ubG9hZCA9IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgdmFyIHIsIGksIG8sIGEgPSB0aGlzLA0KICAgICAgICAgICAgcyA9IGUuaW5kZXhPZigiICIpOw0KICAgICAgICByZXR1cm4gLTEgPCBzICYmIChyID0gbXQoZS5zbGljZShzKSksIGUgPSBlLnNsaWNlKDAsIHMpKSwgbSh0KSA/IChuID0gdCwgdCA9IHZvaWQgMCkgOiB0ICYmICJvYmplY3QiID09IHR5cGVvZiB0ICYmIChpID0gIlBPU1QiKSwgMCA8IGEubGVuZ3RoICYmIGsuYWpheCh7DQogICAgICAgICAgICB1cmw6IGUsDQogICAgICAgICAgICB0eXBlOiBpIHx8ICJHRVQiLA0KICAgICAgICAgICAgZGF0YVR5cGU6ICJodG1sIiwNCiAgICAgICAgICAgIGRhdGE6IHQNCiAgICAgICAgfSkuZG9uZShmdW5jdGlvbihlKSB7DQogICAgICAgICAgICBvID0gYXJndW1lbnRzLCBhLmh0bWwociA/IGsoIjxkaXY+IikuYXBwZW5kKGsucGFyc2VIVE1MKGUpKS5maW5kKHIpIDogZSkNCiAgICAgICAgfSkuYWx3YXlzKG4gJiYgZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgYS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIG4uYXBwbHkodGhpcywgbyB8fCBbZS5yZXNwb25zZVRleHQsIHQsIGVdKQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSksIHRoaXMNCiAgICB9LCBrLmVhY2goWyJhamF4U3RhcnQiLCAiYWpheFN0b3AiLCAiYWpheENvbXBsZXRlIiwgImFqYXhFcnJvciIsICJhamF4U3VjY2VzcyIsICJhamF4U2VuZCJdLCBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgIGsuZm5bdF0gPSBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5vbih0LCBlKQ0KICAgICAgICB9DQogICAgfSksIGsuZXhwci5wc2V1ZG9zLmFuaW1hdGVkID0gZnVuY3Rpb24odCkgew0KICAgICAgICByZXR1cm4gay5ncmVwKGsudGltZXJzLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICByZXR1cm4gdCA9PT0gZS5lbGVtDQogICAgICAgIH0pLmxlbmd0aA0KICAgIH0sIGsub2Zmc2V0ID0gew0KICAgICAgICBzZXRPZmZzZXQ6IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHZhciByLCBpLCBvLCBhLCBzLCB1LCBsID0gay5jc3MoZSwgInBvc2l0aW9uIiksDQogICAgICAgICAgICAgICAgYyA9IGsoZSksDQogICAgICAgICAgICAgICAgZiA9IHt9Ow0KICAgICAgICAgICAgInN0YXRpYyIgPT09IGwgJiYgKGUuc3R5bGUucG9zaXRpb24gPSAicmVsYXRpdmUiKSwgcyA9IGMub2Zmc2V0KCksIG8gPSBrLmNzcyhlLCAidG9wIiksIHUgPSBrLmNzcyhlLCAibGVmdCIpLCAoImFic29sdXRlIiA9PT0gbCB8fCAiZml4ZWQiID09PSBsKSAmJiAtMSA8IChvICsgdSkuaW5kZXhPZigiYXV0byIpID8gKGEgPSAociA9IGMucG9zaXRpb24oKSkudG9wLCBpID0gci5sZWZ0KSA6IChhID0gcGFyc2VGbG9hdChvKSB8fCAwLCBpID0gcGFyc2VGbG9hdCh1KSB8fCAwKSwgbSh0KSAmJiAodCA9IHQuY2FsbChlLCBuLCBrLmV4dGVuZCh7fSwgcykpKSwgbnVsbCAhPSB0LnRvcCAmJiAoZi50b3AgPSB0LnRvcCAtIHMudG9wICsgYSksIG51bGwgIT0gdC5sZWZ0ICYmIChmLmxlZnQgPSB0LmxlZnQgLSBzLmxlZnQgKyBpKSwgInVzaW5nIiBpbiB0ID8gdC51c2luZy5jYWxsKGUsIGYpIDogYy5jc3MoZikNCiAgICAgICAgfQ0KICAgIH0sIGsuZm4uZXh0ZW5kKHsNCiAgICAgICAgb2Zmc2V0OiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCkgcmV0dXJuIHZvaWQgMCA9PT0gdCA/IHRoaXMgOiB0aGlzLmVhY2goZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIGsub2Zmc2V0LnNldE9mZnNldCh0aGlzLCB0LCBlKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZSwgbiwgciA9IHRoaXNbMF07DQogICAgICAgICAgICByZXR1cm4gciA/IHIuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGggPyAoZSA9IHIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksIG4gPSByLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcsIHsNCiAgICAgICAgICAgICAgICB0b3A6IGUudG9wICsgbi5wYWdlWU9mZnNldCwNCiAgICAgICAgICAgICAgICBsZWZ0OiBlLmxlZnQgKyBuLnBhZ2VYT2Zmc2V0DQogICAgICAgICAgICB9KSA6IHsNCiAgICAgICAgICAgICAgICB0b3A6IDAsDQogICAgICAgICAgICAgICAgbGVmdDogMA0KICAgICAgICAgICAgfSA6IHZvaWQgMA0KICAgICAgICB9LA0KICAgICAgICBwb3NpdGlvbjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiAodGhpc1swXSkgew0KICAgICAgICAgICAgICAgIHZhciBlLCB0LCBuLCByID0gdGhpc1swXSwNCiAgICAgICAgICAgICAgICAgICAgaSA9IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDANCiAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICBpZiAoImZpeGVkIiA9PT0gay5jc3MociwgInBvc2l0aW9uIikpIHQgPSByLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOw0KICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB0ID0gdGhpcy5vZmZzZXQoKSwgbiA9IHIub3duZXJEb2N1bWVudCwgZSA9IHIub2Zmc2V0UGFyZW50IHx8IG4uZG9jdW1lbnRFbGVtZW50Ow0KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZSAmJiAoZSA9PT0gbi5ib2R5IHx8IGUgPT09IG4uZG9jdW1lbnRFbGVtZW50KSAmJiAic3RhdGljIiA9PT0gay5jc3MoZSwgInBvc2l0aW9uIikpIGUgPSBlLnBhcmVudE5vZGU7DQogICAgICAgICAgICAgICAgICAgIGUgJiYgZSAhPT0gciAmJiAxID09PSBlLm5vZGVUeXBlICYmICgoaSA9IGsoZSkub2Zmc2V0KCkpLnRvcCArPSBrLmNzcyhlLCAiYm9yZGVyVG9wV2lkdGgiLCAhMCksIGkubGVmdCArPSBrLmNzcyhlLCAiYm9yZGVyTGVmdFdpZHRoIiwgITApKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b3A6IHQudG9wIC0gaS50b3AgLSBrLmNzcyhyLCAibWFyZ2luVG9wIiwgITApLA0KICAgICAgICAgICAgICAgICAgICBsZWZ0OiB0LmxlZnQgLSBpLmxlZnQgLSBrLmNzcyhyLCAibWFyZ2luTGVmdCIsICEwKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgb2Zmc2V0UGFyZW50OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHRoaXMub2Zmc2V0UGFyZW50Ow0KICAgICAgICAgICAgICAgIHdoaWxlIChlICYmICJzdGF0aWMiID09PSBrLmNzcyhlLCAicG9zaXRpb24iKSkgZSA9IGUub2Zmc2V0UGFyZW50Ow0KICAgICAgICAgICAgICAgIHJldHVybiBlIHx8IGllDQogICAgICAgICAgICB9KQ0KICAgICAgICB9DQogICAgfSksIGsuZWFjaCh7DQogICAgICAgIHNjcm9sbExlZnQ6ICJwYWdlWE9mZnNldCIsDQogICAgICAgIHNjcm9sbFRvcDogInBhZ2VZT2Zmc2V0Ig0KICAgIH0sIGZ1bmN0aW9uKHQsIGkpIHsNCiAgICAgICAgdmFyIG8gPSAicGFnZVlPZmZzZXQiID09PSBpOw0KICAgICAgICBrLmZuW3RdID0gZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIF8odGhpcywgZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICAgICAgICAgIHZhciByOw0KICAgICAgICAgICAgICAgIGlmICh4KGUpID8gciA9IGUgOiA5ID09PSBlLm5vZGVUeXBlICYmIChyID0gZS5kZWZhdWx0VmlldyksIHZvaWQgMCA9PT0gbikgcmV0dXJuIHIgPyByW2ldIDogZVt0XTsNCiAgICAgICAgICAgICAgICByID8gci5zY3JvbGxUbyhvID8gci5wYWdlWE9mZnNldCA6IG4sIG8gPyBuIDogci5wYWdlWU9mZnNldCkgOiBlW3RdID0gbg0KICAgICAgICAgICAgfSwgdCwgZSwgYXJndW1lbnRzLmxlbmd0aCkNCiAgICAgICAgfQ0KICAgIH0pLCBrLmVhY2goWyJ0b3AiLCAibGVmdCJdLCBmdW5jdGlvbihlLCBuKSB7DQogICAgICAgIGsuY3NzSG9va3Nbbl0gPSB6ZSh5LnBpeGVsUG9zaXRpb24sIGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgIGlmICh0KSByZXR1cm4gdCA9IF9lKGUsIG4pLCAkZS50ZXN0KHQpID8gayhlKS5wb3NpdGlvbigpW25dICsgInB4IiA6IHQNCiAgICAgICAgfSkNCiAgICB9KSwgay5lYWNoKHsNCiAgICAgICAgSGVpZ2h0OiAiaGVpZ2h0IiwNCiAgICAgICAgV2lkdGg6ICJ3aWR0aCINCiAgICB9LCBmdW5jdGlvbihhLCBzKSB7DQogICAgICAgIGsuZWFjaCh7DQogICAgICAgICAgICBwYWRkaW5nOiAiaW5uZXIiICsgYSwNCiAgICAgICAgICAgIGNvbnRlbnQ6IHMsDQogICAgICAgICAgICAiIjogIm91dGVyIiArIGENCiAgICAgICAgfSwgZnVuY3Rpb24ociwgbykgew0KICAgICAgICAgICAgay5mbltvXSA9IGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgbiA9IGFyZ3VtZW50cy5sZW5ndGggJiYgKHIgfHwgImJvb2xlYW4iICE9IHR5cGVvZiBlKSwNCiAgICAgICAgICAgICAgICAgICAgaSA9IHIgfHwgKCEwID09PSBlIHx8ICEwID09PSB0ID8gIm1hcmdpbiIgOiAiYm9yZGVyIik7DQogICAgICAgICAgICAgICAgcmV0dXJuIF8odGhpcywgZnVuY3Rpb24oZSwgdCwgbikgew0KICAgICAgICAgICAgICAgICAgICB2YXIgcjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHgoZSkgPyAwID09PSBvLmluZGV4T2YoIm91dGVyIikgPyBlWyJpbm5lciIgKyBhXSA6IGUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiICsgYV0gOiA5ID09PSBlLm5vZGVUeXBlID8gKHIgPSBlLmRvY3VtZW50RWxlbWVudCwgTWF0aC5tYXgoZS5ib2R5WyJzY3JvbGwiICsgYV0sIHJbInNjcm9sbCIgKyBhXSwgZS5ib2R5WyJvZmZzZXQiICsgYV0sIHJbIm9mZnNldCIgKyBhXSwgclsiY2xpZW50IiArIGFdKSkgOiB2b2lkIDAgPT09IG4gPyBrLmNzcyhlLCB0LCBpKSA6IGsuc3R5bGUoZSwgdCwgbiwgaSkNCiAgICAgICAgICAgICAgICB9LCBzLCBuID8gZSA6IHZvaWQgMCwgbikNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICB9KSwgay5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHNjcm9sbCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLCBmdW5jdGlvbihlLCBuKSB7DQogICAgICAgIGsuZm5bbl0gPSBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICByZXR1cm4gMCA8IGFyZ3VtZW50cy5sZW5ndGggPyB0aGlzLm9uKG4sIG51bGwsIGUsIHQpIDogdGhpcy50cmlnZ2VyKG4pDQogICAgICAgIH0NCiAgICB9KSwgay5mbi5leHRlbmQoew0KICAgICAgICBob3ZlcjogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMubW91c2VlbnRlcihlKS5tb3VzZWxlYXZlKHQgfHwgZSkNCiAgICAgICAgfQ0KICAgIH0pLCBrLmZuLmV4dGVuZCh7DQogICAgICAgIGJpbmQ6IGZ1bmN0aW9uKGUsIHQsIG4pIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLm9uKGUsIG51bGwsIHQsIG4pDQogICAgICAgIH0sDQogICAgICAgIHVuYmluZDogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMub2ZmKGUsIG51bGwsIHQpDQogICAgICAgIH0sDQogICAgICAgIGRlbGVnYXRlOiBmdW5jdGlvbihlLCB0LCBuLCByKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5vbih0LCBlLCBuLCByKQ0KICAgICAgICB9LA0KICAgICAgICB1bmRlbGVnYXRlOiBmdW5jdGlvbihlLCB0LCBuKSB7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gYXJndW1lbnRzLmxlbmd0aCA/IHRoaXMub2ZmKGUsICIqKiIpIDogdGhpcy5vZmYodCwgZSB8fCAiKioiLCBuKQ0KICAgICAgICB9DQogICAgfSksIGsucHJveHkgPSBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgIHZhciBuLCByLCBpOw0KICAgICAgICBpZiAoInN0cmluZyIgPT0gdHlwZW9mIHQgJiYgKG4gPSBlW3RdLCB0ID0gZSwgZSA9IG4pLCBtKGUpKSByZXR1cm4gciA9IHMuY2FsbChhcmd1bWVudHMsIDIpLCAoaSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIGUuYXBwbHkodCB8fCB0aGlzLCByLmNvbmNhdChzLmNhbGwoYXJndW1lbnRzKSkpDQogICAgICAgIH0pLmd1aWQgPSBlLmd1aWQgPSBlLmd1aWQgfHwgay5ndWlkKyssIGkNCiAgICB9LCBrLmhvbGRSZWFkeSA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgZSA/IGsucmVhZHlXYWl0KysgOiBrLnJlYWR5KCEwKQ0KICAgIH0sIGsuaXNBcnJheSA9IEFycmF5LmlzQXJyYXksIGsucGFyc2VKU09OID0gSlNPTi5wYXJzZSwgay5ub2RlTmFtZSA9IEEsIGsuaXNGdW5jdGlvbiA9IG0sIGsuaXNXaW5kb3cgPSB4LCBrLmNhbWVsQ2FzZSA9IFYsIGsudHlwZSA9IHcsIGsubm93ID0gRGF0ZS5ub3csIGsuaXNOdW1lcmljID0gZnVuY3Rpb24oZSkgew0KICAgICAgICB2YXIgdCA9IGsudHlwZShlKTsNCiAgICAgICAgcmV0dXJuICgibnVtYmVyIiA9PT0gdCB8fCAic3RyaW5nIiA9PT0gdCkgJiYgIWlzTmFOKGUgLSBwYXJzZUZsb2F0KGUpKQ0KICAgIH0sICJmdW5jdGlvbiIgPT0gdHlwZW9mIGRlZmluZSAmJiBkZWZpbmUuYW1kICYmIGRlZmluZSgianF1ZXJ5IiwgW10sIGZ1bmN0aW9uKCkgew0KICAgICAgICByZXR1cm4gaw0KICAgIH0pOw0KICAgIHZhciBRdCA9IEMualF1ZXJ5LA0KICAgICAgICBKdCA9IEMuJDsNCiAgICByZXR1cm4gay5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oZSkgew0KICAgICAgICByZXR1cm4gQy4kID09PSBrICYmIChDLiQgPSBKdCksIGUgJiYgQy5qUXVlcnkgPT09IGsgJiYgKEMualF1ZXJ5ID0gUXQpLCBrDQogICAgfSwgZSB8fCAoQy5qUXVlcnkgPSBDLiQgPSBrKSwgaw0KfSk7"}},"time_used":579,"timings":{"blocked":300,"dns":0,"connect":0,"send":0,"wait":93,"receive":186,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/logo.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.531Z","timestamp":1785136899531,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/logo.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/png\r\nContent-Length: 27397\r\nConnection: keep-alive\r\nLast-Modified: Sat, 28 Sep 2024 12:10:01 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":27397,"size_decoded":27608,"mime_type":"image/png","magic":"PNG image data, 318 x 159, 8-bit/color RGBA, non-interlaced","md5":"c5f6dcc4a945fea74a451cd764ef9d38","sha1":"7aee1020f373a89481efd8d5530a4cf066a9ab1b","sha256":"f1bcbd3b7f546ed2e064b564ae6584a7cec939d9ab15581b49875811a27d5db3","sha512":"f8dd03eaf7ad313ee0eeca4cd9726c7604964087b6220fa2d6cd1b2e9a412059ae34c7e3715db54fc5551add94ddad13c119712042e1d0c98c6830336f19b48c","ssdeep":"768:2g/Ef/Fv6XeTffJ4lArXqQR5lO9U4DY5fyaJxQ:cHFvEMqlAraQoK4QfXS","tlshash":"79c2e1e85157eb0aa003dbe30df690250d34f7621c3f57a5944a4777abaf80511f4e53","first_seen":"2026-07-27T04:48:05.151092Z","last_seen":"2026-07-27T07:23:37.006531Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":675,"timings":{"blocked":582,"dns":0,"connect":0,"send":0,"wait":93,"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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/clients-logo-06.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.550Z","timestamp":1785136899550,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/clients-logo-06.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/png\r\nContent-Length: 18102\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":18102,"size_decoded":18313,"mime_type":"image/png","magic":"PNG image data, 280 x 100, 8-bit/color RGBA, non-interlaced","md5":"7620d1c169784f5c388bcd5df851e9c8","sha1":"8e4bc8160bd68d03b6b9f36dfa8aed0173ba6137","sha256":"f8dc6379062e3b9328a95a988b3b7109e267e22f47a6e52d63f971b7d025f3a4","sha512":"88ef144ffd75fca4a9d7ef1f06b24c903c07b939d7bc0360e27c511328b752372a5db0bee91553d6984f5a4874452816374c14ace81d4a9d3d2c50a38688c268","ssdeep":"384:jFf2VId+0frhaHXEjpDUJ3lEZ8iEXBcuugFp5mdkCLZ6A7tMWC:Rf2VId+UCEjhUP8EXBccr5mdkC3Jy","tlshash":"d582c0ad7339821e8355fbc1157b20eeaa5cdf86cb1a5084e9e7dbf26c02395408d187","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-08-01T11:22:31.028353Z","times_seen":243,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAARgAAABkCAYAAABdGS+CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjYwRDZEMDIzMTEyMTExRUFBMTJEQUY5NEZERjMyMTc2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjYwRDZEMDI0MTEyMTExRUFBMTJEQUY5NEZERjMyMTc2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjBENkQwMjExMTIxMTFFQUExMkRBRjk0RkRGMzIxNzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjBENkQwMjIxMTIxMTFFQUExMkRBRjk0RkRGMzIxNzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5H5HKTAABDJklEQVR42ux9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"}},"time_used":1050,"timings":{"blocked":956,"dns":0,"connect":0,"send":0,"wait":94,"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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.694Z","timestamp":1785136899694,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.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: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 67956\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:00:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:00:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 20:35:41 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 393696\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":194344,"size_decoded":68796,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2519)","md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T19:37:31.609707Z","times_seen":2601,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKdmFyIEdnLEhnLElnLFhnLGNoLGloLGpoLGxoLG1oLG9oLHNoLHVoLHRoLEFoLEJoLEZoLERoLEVoLERnO18uRWc9ZnVuY3Rpb24oYSl7aWYoRGcudGVzdChhKSlyZXR1cm4gYX07Xy5GZz1mdW5jdGlvbihhLGIpe2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyfHwoYS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODI9e30pO2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyLnNldmVyaXR5PWJ9O0dnPWZ1bmN0aW9uKGEpe2lmKCFfLlVhfHwhXy5WYSlyZXR1cm4hMTtmb3IodmFyIGI9MDtiPF8uVmEuYnJhbmRzLmxlbmd0aDtiKyspe3ZhciBjPV8uVmEuYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9O0hnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiRmlyZWZveCIpfHxfLncoIkZ4aU9TIil9OwpJZz1mdW5jdGlvbigpe3JldHVybiBfLldhKCk/R2coIkNocm9taXVtIik6KF8udygiQ2hyb21lIil8fF8udygiQ3JpT1MiKSkmJiEoXy5XYSgpPzA6Xy53KCJFZGdlIikpfHxfLncoIlNpbGsiKX07Xy5KZz1mdW5jdGlvbigpe3JldHVybiBfLncoIlNhZmFyaSIpJiYhKElnKCl8fChfLldhKCk/MDpfLncoIkNvYXN0IikpfHxfLlhhKCl8fChfLldhKCk/MDpfLncoIkVkZ2UiKSl8fChfLldhKCk/R2coIk1pY3Jvc29mdCBFZGdlIik6Xy53KCJFZGcvIikpfHwoXy5XYSgpP0dnKCJPcGVyYSIpOl8udygiT1BSIikpfHxIZygpfHxfLncoIlNpbGsiKXx8Xy53KCJBbmRyb2lkIikpfTtfLktnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiQW5kcm9pZCIpJiYhKElnKCl8fEhnKCl8fF8uWGEoKXx8Xy53KCJTaWxrIikpfTsKXy5NZz1mdW5jdGlvbihhLGIpe2lmKGEhPW51bGwpe3ZhciBjO3ZhciBkPShjPUxnKSE9bnVsbD9jOkxnPXt9O2M9ZFthXXx8MDtjPj1ifHwoZFthXT1jKzEsYT1FcnJvcigpLF8uRmcoYSwiaW5jaWRlbnQiKSxfLnJiKGEpKX19O18uTmc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgpPT09InN5bWJvbCI/KGM9PT12b2lkIDA/MDpjKSYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpOmJ9O18uUmc9ZnVuY3Rpb24oYSxiKXtfLk9nfHxfLkggaW4gYXx8UGcoYSxRZyk7YVtfLkhdfD1ifTtfLlNnPWZ1bmN0aW9uKGEsYil7Xy5PZ3x8Xy5IIGluIGF8fFBnKGEsUWcpO2FbXy5IXT1ifTtfLlRnPWZ1bmN0aW9uKGEpe18uUmcoYSwzNCk7cmV0dXJuIGF9O18uVWc9ZnVuY3Rpb24oYSl7Xy5SZyhhLDgxOTIpO3JldHVybiBhfTsKXy5XZz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuZyE9PV8uVmcmJiEhKDImKGEuSltfLkhdfDApKTohISgyJmIpJiZhLmchPT1fLlZnfTtYZz1mdW5jdGlvbihhKXthLlRsPSEwO3JldHVybiBhfTtfLmJoPWZ1bmN0aW9uKGEpe3ZhciBiPWE7aWYoWWcoYikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChiKSl0aHJvdyBFcnJvcihTdHJpbmcoYikpO31lbHNlIGlmKFpnKGIpJiYhTnVtYmVyLmlzU2FmZUludGVnZXIoYikpdGhyb3cgRXJyb3IoU3RyaW5nKGIpKTtyZXR1cm4gJGc/QmlnSW50KGEpOmE9YWgoYSk/YT8iMSI6IjAiOllnKGEpP2EudHJpbSgpfHwiMCI6U3RyaW5nKGEpfTsKY2g9ZnVuY3Rpb24oYSxiKXtpZihhLmxlbmd0aD5iLmxlbmd0aClyZXR1cm4hMTtpZihhLmxlbmd0aDxiLmxlbmd0aHx8YT09PWIpcmV0dXJuITA7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1iW2NdO2lmKGQ+ZSlyZXR1cm4hMTtpZihkPGUpcmV0dXJuITB9fTtfLmhoPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEhPW51bGwmJmFbZGhdPT09ZWgpcmV0dXJuIGE7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGM/ZCYyP2JbXy5maF18fChiW18uZmhdPV8uZ2goYikpOm5ldyBiOnZvaWQgMDtjPWFbXy5IXXwwO2Q9Y3xkJjMyfGQmMjtkIT09YyYmXy5TZyhhLGQpO3JldHVybiBuZXcgYihhKX07Xy5naD1mdW5jdGlvbihhKXthPW5ldyBhO18uVGcoYS5KKTtyZXR1cm4gYX07aWg9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2poPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsKbGg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9Xy5oaChhLGQsYyxmKTtlJiYoYT1fLmtoKGEpKTtyZXR1cm4gYX07bWg9ZnVuY3Rpb24oYSl7cmV0dXJuW2EsdGhpcy5nZXQoYSldfTtvaD1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLk1nKG5oLDEpfTsKc2g9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLnBoKF8ucWgpLGc7IWUmJl8uT2cmJmYmJihnPWFbZl0pJiZnLlRrKG9oKTtmPVtdO3ZhciBoPWEubGVuZ3RoO2c9NDI5NDk2NzI5NTt2YXIgaz0hMSxsPSEhKGImNjQpLG49bD9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBxPWgmJmFbaC0xXTtxIT1udWxsJiZ0eXBlb2YgcT09PSJvYmplY3QiJiZxLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhoLS0sZz1oKTpxPXZvaWQgMDtpZihsJiYhKGImMTI4KSYmIWUpe2s9ITA7dmFyIHA7Zz0oKHA9cmgpIT1udWxsP3A6aWgpKGctbixuLGEscSx2b2lkIDApK259fWI9dm9pZCAwO2ZvcihlPTA7ZTxoO2UrKylpZihwPWFbZV0scCE9bnVsbCYmKHA9YyhwLGQpKSE9bnVsbClpZihsJiZlPj1nKXt2YXIgcj1lLW4sdD12b2lkIDA7KCh0PWIpIT1udWxsP3Q6Yj17fSlbcl09cH1lbHNlIGZbZV09cDtpZihxKWZvcih2YXIgQSBpbiBxKWE9cVtBXSxhIT0KbnVsbCYmKGE9YyhhLGQpKSE9bnVsbCYmKGg9K0EsZT12b2lkIDAsbCYmIU51bWJlci5pc05hTihoKSYmKGU9aCtuKTxnP2ZbZV09YTooaD12b2lkIDAsKChoPWIpIT1udWxsP2g6Yj17fSlbQV09YSkpO2ImJihrP2YucHVzaChiKTpmW2ddPWIpO3JldHVybiBmfTt1aD1mdW5jdGlvbihhKXthWzBdPXRoKGFbMF0pO2FbMV09dGgoYVsxXSk7cmV0dXJuIGF9Owp0aD1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLnZoKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYj1hW18uSF18MDtyZXR1cm4gYS5sZW5ndGg9PT0wJiZiJjE/dm9pZCAwOnNoKGEsYix0aCl9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gXy53aChhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGEuZygpO2lmKGEgaW5zdGFuY2VvZiBfLnloKXJldHVybiBhPWEuc2l6ZSE9PTA/Xy56aChhLHVoKTp2b2lkIDAsYTtyZXR1cm59cmV0dXJuIGF9O18ud2g9ZnVuY3Rpb24oYSl7YT1hLko7cmV0dXJuIHNoKGEsYVtfLkhdfDAsdGgpfTsKXy5JPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQWgoYSxiLGMsMjA0OCl9OwpBaD1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/MDpkO2lmKGE9PW51bGwpe3ZhciBlPTMyO2M/KGE9W2NdLGV8PTEyOCk6YT1bXTtiJiYoZT1lJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQpfWVsc2V7aWYoIUFycmF5LmlzQXJyYXkoYSkpdGhyb3cgRXJyb3IoImJhIik7ZT1hW18uSF18MDtpZihfLk1jJiYxJmUpdGhyb3cgRXJyb3IoImNhIik7MjA0OCZlJiYhKDImZSkmJkJoKCk7aWYoZSYyNTYpdGhyb3cgRXJyb3IoImRhIik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJl8uU2coYSxlfGQpLGE7aWYoYyYmKGV8PTEyOCxjIT09YVswXSkpdGhyb3cgRXJyb3IoImVhIik7YTp7Yz1hO2V8PTY0O3ZhciBmPWMubGVuZ3RoO2lmKGYpe3ZhciBnPWYtMSxoPWNbZ107aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yj1lJjEyOD8wOi0xO2ctPWI7aWYoZz49MTAyNCl0aHJvdyBFcnJvcigiZ2EiKTtmb3IodmFyIGsgaW4gaClmPStrLApmPGcmJihjW2YrYl09aFtrXSxkZWxldGUgaFtrXSk7ZT1lJi0xNjc2MDgzM3woZyYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoImhhIik7ZT1lJi0xNjc2MDgzM3woayYxMDIzKTw8MTR9fX1fLlNnKGEsZXw2NHxkKTtyZXR1cm4gYX07Qmg9ZnVuY3Rpb24oKXtpZihfLk1jKXRocm93IEVycm9yKCJmYSIpO18uTWcoQ2gsNSl9OwpGaD1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09Im9iamVjdCIpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGM9YVtfLkhdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYyYxP3ZvaWQgMDpEaChhLGMsYil9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gRWgoYSk7aWYoYSBpbnN0YW5jZW9mIF8ueWgpe2I9YS5LYjtpZihiJjIpcmV0dXJuIGE7aWYoIWEuc2l6ZSlyZXR1cm47Yz1fLlRnKF8uemgoYSkpO2lmKGEuR2IpZm9yKGE9MDthPGMubGVuZ3RoO2ErKyl7dmFyIGQ9Y1thXSxlPWRbMV07ZT09bnVsbHx8dHlwZW9mIGUhPT0ib2JqZWN0Ij9lPXZvaWQgMDplIT1udWxsJiZlW2RoXT09PWVoP2U9RWgoZSk6QXJyYXkuaXNBcnJheShlKT9lPURoKGUsZVtfLkhdfDAsISEoYiYzMikpOmU9dm9pZCAwO2RbMV09ZX1yZXR1cm4gY31pZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGF9OwpEaD1mdW5jdGlvbihhLGIsYyl7aWYoYiYyKXJldHVybiBhOyFjfHw0MDk2JmJ8fDE2JmI/YT1fLkdoKGEsYiwhMSxjJiYhKGImMTYpKTooXy5SZyhhLDM0KSxiJjQmJk9iamVjdC5mcmVlemUoYSkpO3JldHVybiBhfTtfLkhoPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmc9Xy5WZyk7YS5oPV8uVmc7cmV0dXJuIGF9O0VoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/YTpfLkloKGEsYixjKT9fLkhoKGEsYik6Xy5HaChiLGMpfTtfLkdoPWZ1bmN0aW9uKGEsYixjLGQpe2QhPW51bGx8fChkPSEhKDM0JmIpKTthPXNoKGEsYixGaCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDtfLlNnKGEsYik7cmV0dXJuIGF9OwpfLmtoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/Xy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSk6YX07Xy5JaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMmMj8hMDpjJjMyJiYhKGMmNDA5Nik/KF8uU2coYixjfDIpLGEuZz1fLlZnLCEwKTohMX07Xy5waD1mdW5jdGlvbihhKXtyZXR1cm4gYX07RGc9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaTtfLkpoPUhnKCk7Xy5LaD1fLlphKCl8fF8udygiaVBvZCIpO18uTGg9Xy53KCJpUGFkIik7Xy5NaD1fLktnKCk7Xy5OaD1JZygpO18uT2g9Xy5KZygpJiYhXy4kYSgpO18uUGg9IV8uU2MmJnR5cGVvZiBidG9hPT09ImZ1bmN0aW9uIjt2YXIgTGc9dm9pZCAwO3ZhciBRaCxuaCxDaCxkaDtfLk9nPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sKCk9PT0ic3ltYm9sIjtRaD1fLk5nKCJqYXMiLHZvaWQgMCwhMCk7Xy5maD1fLk5nKHZvaWQgMCwiMGRpIik7Xy5xaD1fLk5nKHZvaWQgMCxTeW1ib2woKSk7Xy5SaD1fLk5nKHZvaWQgMCwiMHViIik7bmg9Xy5OZyh2b2lkIDAsIjB1YnMiKTtDaD1fLk5nKHZvaWQgMCwiMGFjdGsiKTtkaD1fLk5nKCJtX20iLCJYbCIsITApO18uU2g9Xy5OZygpO3ZhciBRZyxQZyxVaDtRZz17ZWk6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9fTtQZz1PYmplY3QuZGVmaW5lUHJvcGVydGllcztfLkg9Xy5PZz9RaDoiZWkiO1VoPVtdO18uU2coVWgsNyk7Xy5UaD1PYmplY3QuZnJlZXplKFVoKTt2YXIgZWgsVmg7ZWg9e307Xy5WZz17fTtWaD1mdW5jdGlvbihhLGIsYyl7dGhpcy5nPWE7dGhpcy5oPWI7dGhpcy5qPWN9O1ZoLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nLm5leHQoKTthLmRvbmV8fChhLnZhbHVlPXRoaXMuaC5jYWxsKHRoaXMuaixhLnZhbHVlKSk7cmV0dXJuIGF9O1ZoLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O18uV2g9T2JqZWN0LmZyZWV6ZSh7fSk7Xy5YaD1PYmplY3QuZnJlZXplKHt9KTt2YXIgWmc9WGcoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSxZZz1YZyhmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLGFoPVhnKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO3ZhciAkZz10eXBlb2YgXy52LkJpZ0ludD09PSJmdW5jdGlvbiImJnR5cGVvZiBfLnYuQmlnSW50KDApPT09ImJpZ2ludCI7dmFyICRoLFloLGFpLFpoO18udmg9WGcoZnVuY3Rpb24oYSl7cmV0dXJuICRnP2E+PVloJiZhPD1aaDphWzBdPT09Ii0iP2NoKGEsJGgpOmNoKGEsYWkpfSk7JGg9TnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIudG9TdHJpbmcoKTtZaD0kZz9CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpOnZvaWQgMDthaT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUi50b1N0cmluZygpO1poPSRnP0JpZ0ludChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik6dm9pZCAwO18uYmk9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzSW50Tjp2b2lkIDA7Xy5jaT1OdW1iZXIuaXNTYWZlSW50ZWdlcjtfLmRpPU51bWJlci5pc0Zpbml0ZTtfLmVpPU1hdGgudHJ1bmM7dmFyIGZpPWZ1bmN0aW9uKCl7dHJ5e3ZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuKDAsXy5UYikoTWFwLFtdLHRoaXMuY29uc3RydWN0b3IpfTtfLkIoYSxNYXApO18uUWMobmV3IGEpO3JldHVybiExfWNhdGNoKGIpe3JldHVybiEwfX0oKSxnaT1mdW5jdGlvbigpe3RoaXMuZz1uZXcgTWFwfSxoaSxpaTtfLm09Z2kucHJvdG90eXBlO18ubS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5nZXQoYSl9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmcuc2V0KGEsYik7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTtfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2E9dGhpcy5nLmRlbGV0ZShhKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGF9O18ubS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nLmhhcyhhKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmVudHJpZXMoKX07Cl8ubS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5rZXlzKCl9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmcuZm9yRWFjaChhLGIpfTtnaS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVudHJpZXMoKX07aGk9ZnVuY3Rpb24oKXtpZihmaSlyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKGdpLnByb3RvdHlwZSxNYXAucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhnaS5wcm90b3R5cGUse3NpemU6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITB9fSksZ2k7dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4oMCxfLlRiKShNYXAsW10sdGhpcy5jb25zdHJ1Y3Rvcil9O18uQihhLE1hcCk7cmV0dXJuIGF9KCk7Cl8ueWg9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1jPT09dm9pZCAwP2poOmM7ZD1kPT09dm9pZCAwP2poOmQ7dmFyIGU9aGkuY2FsbCh0aGlzKXx8dGhpcztlLktiPWFbXy5IXXwwO2UuR2I9YjtlLmFkPWM7ZS5rZz1lLkdiP2xoOmQ7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspe3ZhciBnPWFbZl0saD1jKGdbMF0sITEsITApLGs9Z1sxXTtiP2s9PT12b2lkIDAmJihrPW51bGwpOms9ZChnWzFdLCExLCEwLHZvaWQgMCx2b2lkIDAsZS5LYik7aGkucHJvdG90eXBlLnNldC5jYWxsKGUsaCxrKX1yZXR1cm4gZX07Xy5CKF8ueWgsaGkpO2lpPWZ1bmN0aW9uKGEpe2lmKGEuS2ImMil0aHJvdyBFcnJvcigiYWEiKTt9O18uemg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5VZyhBcnJheS5mcm9tKGhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwoYSksYikpfTtfLm09Xy55aC5wcm90b3R5cGU7Xy5tLmNsZWFyPWZ1bmN0aW9uKCl7aWkodGhpcyk7aGkucHJvdG90eXBlLmNsZWFyLmNhbGwodGhpcyl9OwpfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2lpKHRoaXMpO3JldHVybiBoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyx0aGlzLmFkKGEsITAsITEpKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsbWgsdGhpcyl9ZWxzZSBhPWhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsXy55aC5wcm90b3R5cGUuZ2V0LHRoaXMpfWVsc2UgYT1oaS5wcm90b3R5cGUudmFsdWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9OwpfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3RoaXMuR2I/aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGZ1bmN0aW9uKGMsZCxlKXthLmNhbGwoYixlLmdldChkKSxkLGUpfSk6aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGEsYil9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtpaSh0aGlzKTthPXRoaXMuYWQoYSwhMCwhMSk7cmV0dXJuIGE9PW51bGw/dGhpczpiPT1udWxsPyhoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyxhKSx0aGlzKTpoaS5wcm90b3R5cGUuc2V0LmNhbGwodGhpcyxhLHRoaXMua2coYiwhMCwhMCx0aGlzLkdiLCExLHRoaXMuS2IpKX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gaGkucHJvdG90eXBlLmhhcy5jYWxsKHRoaXMsdGhpcy5hZChhLCExLCExKSl9OwpfLm0uZ2V0PWZ1bmN0aW9uKGEpe2E9dGhpcy5hZChhLCExLCExKTt2YXIgYj1oaS5wcm90b3R5cGUuZ2V0LmNhbGwodGhpcyxhKTtpZihiIT09dm9pZCAwKXt2YXIgYz10aGlzLkdiO3JldHVybiBjPyhjPXRoaXMua2coYiwhMSwhMCxjLHRoaXMuTmssdGhpcy5LYiksYyE9PWImJmhpLnByb3RvdHlwZS5zZXQuY2FsbCh0aGlzLGEsYyksYyk6Yn19O18ueWgucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbnRyaWVzKCl9O18ueWgucHJvdG90eXBlLnRvSlNPTj12b2lkIDA7dmFyIHJoO18uamk9Xy5iaCgwKTtfLko9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSj1fLkkoYSxiLGMpfTtfLkoucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiBfLndoKHRoaXMpfTtfLkoucHJvdG90eXBlW2RoXT1laDtfLkoucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSi50b1N0cmluZygpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExpLE1pLE5pLE9pLFJpLFBpLFFpLFNpLFVpLFdpLFhpO18ua2k9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5lYy5hcHBseSgxLGFyZ3VtZW50cyk7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLk1hKGFbMF0pO2Zvcih2YXIgYz1hWzBdLGQ9MDtkPGIubGVuZ3RoO2QrKyljKz1lbmNvZGVVUklDb21wb25lbnQoYltkXSkrYVtkKzFdO3JldHVybiBfLk1hKGMpfTtfLmxpPWZ1bmN0aW9uKGEpe18uUmcoYSwzMik7cmV0dXJuIGF9O18ubWk9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpfTtfLm5pPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09ImJvb2xlYW4iKXRocm93IEVycm9yKCIkYCIrXy5vYyhhKSsiYCIrYSk7cmV0dXJuIGF9O18ub2k9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PT0iYm9vbGVhbiIpcmV0dXJuIGE7aWYodHlwZW9mIGE9PT0ibnVtYmVyIilyZXR1cm4hIWF9OwpfLnBpPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsfHx0eXBlb2YgYT09PSJzdHJpbmciP2E6dm9pZCAwfTtfLnFpPWZ1bmN0aW9uKGEpe2lmKGEuZyE9PV8uVmcpcmV0dXJuITE7dmFyIGI9YS5KO2I9Xy5HaChiLGJbXy5IXXwwKTtfLlJnKGIsMjA0OCk7YS5KPWI7YS5nPXZvaWQgMDthLmg9dm9pZCAwO3JldHVybiEwfTtfLnJpPWZ1bmN0aW9uKGEpe2lmKCFfLnFpKGEpJiZfLldnKGEsYS5KW18uSF18MCkpdGhyb3cgRXJyb3IoKTt9O18uc2k9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uSF18MCk7YiYzMiYmIShiJjQwOTYpJiZfLlNnKGEsYnw0MDk2KX07Cl8udGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jKyhlPzA6LTEpLGc9YS5sZW5ndGgtMTtpZihnPj0xKyhlPzA6LTEpJiZmPj1nKXt2YXIgaD1hW2ddO2lmKGghPW51bGwmJnR5cGVvZiBoPT09Im9iamVjdCImJmguY29uc3RydWN0b3I9PT1PYmplY3QpcmV0dXJuIGhbY109ZCxifWlmKGY8PWcpcmV0dXJuIGFbZl09ZCxiO2lmKGQhPT12b2lkIDApe3ZhciBrO2c9KChrPWIpIT1udWxsP2s6Yj1hW18uSF18MCk+PjE0JjEwMjN8fDUzNjg3MDkxMjtjPj1nP2QhPW51bGwmJihmPXt9LGFbZysoZT8wOi0xKV09KGZbY109ZCxmKSk6YVtmXT1kfXJldHVybiBifTtfLkJpPWZ1bmN0aW9uKGEsYil7YT1fLnVpKGEsYix2b2lkIDApO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6Xy5UaH07Xy5DaT1mdW5jdGlvbihhLGIpezImYiYmKGF8PTIpO3JldHVybiBhfDF9O18uRGk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT0oMiZiP2F8MjphJi0zKSYtMjczfTsKXy5FaT1mdW5jdGlvbihhKXtyZXR1cm4hISgyJmEpJiYhISg0JmEpfHwhISgyNTYmYSl9O18uRmk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1iO2Y9PT0xfHwoZiE9PTQ/MDoyJmJ8fCEoMTYmYikmJjMyJmQpP18uRWkoYil8fChifD0hYS5sZW5ndGh8fGcmJiEoNDA5NiZiKXx8MzImZCYmISg0MDk2JmJ8fDE2JmIpPzI6MjU2LGIhPT1rJiZfLlNnKGEsYiksT2JqZWN0LmZyZWV6ZShhKSk6KGY9PT0yJiZfLkVpKGIpJiYoYT1fLm1pKGEpLGs9MCxiPV8uRGkoYixkKSxkPV8udGkoYyxkLGUsYSkpLF8uRWkoYil8fChofHwoYnw9MTYpLGIhPT1rJiZfLlNnKGEsYikpKTsyJmJ8fCEoNDA5NiZifHwxNiZiKXx8Xy5zaShjLGQpO3JldHVybiBhfTtfLkdpPWZ1bmN0aW9uKGEsYixjLGQpe18ucmkoYSk7dmFyIGU9YS5KO18udGkoZSxlW18uSF18MCxiLChkPT09IjAiP051bWJlcihjKT09PTA6Yz09PWQpP3ZvaWQgMDpjKTtyZXR1cm4gYX07Cl8uSGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMTtkPV8udWkoYSxkLGUsZnVuY3Rpb24oZyl7dmFyIGg9Xy5oaChnLGMsITEsYik7Zj1oIT09ZyYmaCE9bnVsbDtyZXR1cm4gaH0pO2lmKGQhPW51bGwpcmV0dXJuIGYmJiFfLldnKGQpJiZfLnNpKGEsYiksZH07Cl8uSWk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1fLldnKGEsYyk7Zj1rPzE6ZjtnPSEhZ3x8Zj09PTM7az1oJiYhazsoZj09PTJ8fGspJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7YT1fLkJpKGIsZSk7dmFyIGw9YT09PV8uVGg/NzphW18uSF18MCxuPV8uQ2kobCxjKTtpZihoPSEoNCZuKSl7dmFyIHE9YSxwPWMscj0hISgyJm4pO3ImJihwfD0yKTtmb3IodmFyIHQ9IXIsQT0hMCxEPTAsRT0wO0Q8cS5sZW5ndGg7RCsrKXt2YXIgYmE9Xy5oaChxW0RdLGQsITEscCk7aWYoYmEgaW5zdGFuY2VvZiBkKXtpZighcil7dmFyIFo9Xy5XZyhiYSk7dCYmKHQ9IVopO0EmJihBPVopfXFbRSsrXT1iYX19RTxEJiYocS5sZW5ndGg9RSk7bnw9NDtuPUE/biYtNDA5NzpufDQwOTY7bj10P258ODpuJi05fW4hPT1sJiYoXy5TZyhhLG4pLDImbiYmT2JqZWN0LmZyZWV6ZShhKSk7aWYoayYmISg4Jm58fCFhLmxlbmd0aCYmKGY9PT0xfHwoZiE9PTQ/MDoyJm58fCEoMTYmbikmJgozMiZjKSkpKXtfLkVpKG4pJiYoYT1fLm1pKGEpLG49Xy5EaShuLGMpLGM9Xy50aShiLGMsZSxhKSk7ZD1hO2s9bjtmb3IobD0wO2w8ZC5sZW5ndGg7bCsrKXE9ZFtsXSxuPV8ua2gocSkscSE9PW4mJihkW2xdPW4pO2t8PTg7bj1rPWQubGVuZ3RoP2t8NDA5NjprJi00MDk3O18uU2coYSxuKX1yZXR1cm4gYT1fLkZpKGEsbixiLGMsZSxmLGgsZyl9O18uSmk9ZnVuY3Rpb24oYSl7YT09bnVsbCYmKGE9dm9pZCAwKTtyZXR1cm4gYX07Xy5LaT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJpYWAiK18ub2MoYikrImAiK2IpO18uVGcoYik7cmV0dXJuIG5ldyBhKGIpfX07TGk9ZnVuY3Rpb24oYSl7aWYoYS5HKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTthLkc9ITB9O01pPWZ1bmN0aW9uKGEsYil7YS5sPXtiZjpiLENmOiEwfTthLmc9YS5DfHxhLm99OwpOaT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9O18uSz1mdW5jdGlvbihhKXtyZXR1cm4gTmkoYSxhKX07T2k9ZnVuY3Rpb24oYSl7dGhpcy5nPW5ldyBfLkY7dGhpcy5oPWF9O1JpPWZ1bmN0aW9uKGEsYil7TGkoYS5nKTt2YXIgYz1hLmcuQTtpZihjKXJldHVybiBQaShhLCJyZXR1cm4iaW4gYz9jWyJyZXR1cm4iXTpmdW5jdGlvbihkKXtyZXR1cm57dmFsdWU6ZCxkb25lOiEwfX0sYixhLmcucmV0dXJuKTthLmcucmV0dXJuKGIpO3JldHVybiBRaShhKX07UGk9ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e3ZhciBlPWIuY2FsbChhLmcuQSxjKTtfLmNjKGUpO2lmKCFlLmRvbmUpcmV0dXJuIGEuZy5HPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5nLkE9bnVsbCxNaShhLmcsZyksUWkoYSl9YS5nLkE9bnVsbDtkLmNhbGwoYS5nLGYpO3JldHVybiBRaShhKX07ClFpPWZ1bmN0aW9uKGEpe2Zvcig7YS5nLmc7KXRyeXt2YXIgYj1hLmgoYS5nKTtpZihiKXJldHVybiBhLmcuRz0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChjKXthLmcuaj12b2lkIDAsTWkoYS5nLGMpfWEuZy5HPSExO2lmKGEuZy5sKXtiPWEuZy5sO2EuZy5sPW51bGw7aWYoYi5DZil0aHJvdyBiLmJmO3JldHVybnt2YWx1ZTpiLnJldHVybixkb25lOiEwfX1yZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fTsKU2k9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BLm5leHQsYixhLmcuSSk6KGEuZy5JKGIpLGI9UWkoYSkpO3JldHVybiBifTt0aGlzLnRocm93PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BWyJ0aHJvdyJdLGIsYS5nLkkpOihNaShhLmcsYiksYj1RaShhKSk7cmV0dXJuIGJ9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBSaShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319O1VpPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZCl7cmV0dXJuIGEubmV4dChkKX1mdW5jdGlvbiBjKGQpe3JldHVybiBhLnRocm93KGQpfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2Z1bmN0aW9uIGYoZyl7Zy5kb25lP2QoZy52YWx1ZSk6UHJvbWlzZS5yZXNvbHZlKGcudmFsdWUpLnRoZW4oYixjKS50aGVuKGYsZSl9ZihhLm5leHQoKSl9KX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gVWkobmV3IFNpKG5ldyBPaShhKSkpfTsKV2k9ZnVuY3Rpb24oYSl7cmV0dXJuIFN0cmluZyhhKS5yZXBsYWNlKC9cLShbYS16XSkvZyxmdW5jdGlvbihiLGMpe3JldHVybiBjLnRvVXBwZXJDYXNlKCl9KX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShSZWdFeHAoIihefFtcXHNdKykoW2Etel0pIiwiZyIpLGZ1bmN0aW9uKGIsYyxkKXtyZXR1cm4gYytkLnRvVXBwZXJDYXNlKCl9KX07Xy5ZaT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5vZSlyZXR1cm4gYTt2YXIgYj1uZXcgXy5vZShfLmxlKTtfLm5lKGIsMixhKTtyZXR1cm4gYn07Cl8udWk9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYj09PS0xKXJldHVybiBudWxsO3ZhciBlPWIrKGM/MDotMSksZj1hLmxlbmd0aC0xO2lmKCEoZjwxKyhjPzA6LTEpKSl7aWYoZT49Zil7dmFyIGc9YVtmXTtpZihnIT1udWxsJiZ0eXBlb2YgZz09PSJvYmplY3QiJiZnLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtjPWdbYl07dmFyIGg9ITB9ZWxzZSBpZihlPT09ZiljPWc7ZWxzZSByZXR1cm59ZWxzZSBjPWFbZV07aWYoZCYmYyE9bnVsbCl7ZD1kKGMpO2lmKGQ9PW51bGwpcmV0dXJuIGQ7aWYoIU9iamVjdC5pcyhkLGMpKXJldHVybiBoP2dbYl09ZDphW2VdPWQsZH1yZXR1cm4gY319O18uWmk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8udWkoYS5KLGIsYyxlKTtpZihiIT09bnVsbHx8ZCYmYS5oIT09Xy5WZylyZXR1cm4gYn07Xy4kaT1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLko7Xy50aShkLGRbXy5IXXwwLGIsYyk7cmV0dXJuIGF9OwpfLmFqPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Xy5XaD8yOjR9O18uYmo9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5KLGY9ZVtfLkhdfDA7Yj1fLkhpKGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5IXXwwO2lmKCFfLldnKGEsZikpe3ZhciBnPV8ua2goYik7ZyE9PWImJihfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCksYj1nLGY9Xy50aShlLGYsYyxiLGQpLF8uc2koZSxmKSl9cmV0dXJuIGJ9O18uY2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuSjtyZXR1cm4gXy5JaShhLGQsZFtfLkhdfDAsYixjLF8uYWooKSwhMSwhMCl9O18uTD1mdW5jdGlvbihhLGIsYyl7Yz1fLkppKGMpO18uJGkoYSxiLGMpO2MmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9O18uTT1mdW5jdGlvbihhLGIpe3ZhciBjPWM9PT12b2lkIDA/ITE6YzthPV8ub2koXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPyIiOmM7dmFyIGQ7cmV0dXJuKGQ9Xy5waShfLlppKGEsYikpKSE9bnVsbD9kOmN9O18uZGo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPzA6YzthPV8uWmkoYSxiKTthPWE9PW51bGw/YTooMCxfLmRpKShhKT9hfDA6dm9pZCAwO3JldHVybiBhIT1udWxsP2E6Y307Xy5laj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2koYSxiLGM9PW51bGw/YzpfLm5pKGMpLCExKX07Xy5maj1mdW5jdGlvbihhLGIpe2lmKGI9PW51bGx8fGI9PSIiKXJldHVybiBuZXcgYTtiPUpTT04ucGFyc2UoYik7aWYoIUFycmF5LmlzQXJyYXkoYikpdGhyb3cgRXJyb3IoImphIik7cmV0dXJuIG5ldyBhKF8ubGkoYikpfTt2YXIgaWosZ2osamo7Xy5oaj1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilnaihhLGMsYik7ZWxzZSBmb3IodmFyIGQgaW4gYilnaihhLGJbZF0sZCl9O2lqPS9eLS0uKy87Z2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWpqW2NdO2lmKCFkKXt2YXIgZT1XaShjKTtkPWU7YS5zdHlsZVtlXT09PXZvaWQgMCYmKGU9KF8uVmM/IldlYmtpdCI6Xy5VYz8iTW96IjpudWxsKStYaShlKSxhLnN0eWxlW2VdIT09dm9pZCAwJiYoZD1lKSk7ampbY109ZH0oYz1kKSYmKGlqLnRlc3QoYyk/YS5zdHlsZS5zZXRQcm9wZXJ0eShjLGIpOmEuc3R5bGVbY109Yil9O2pqPXt9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgbGosb2oscGoscWosdGosdWosdmosd2oseGoseWosQWosQ2osRGosRWosRmosR2osSGosSWosS2osTmosT2osWGosWWosYmssbmosbWosY2ssZWsscmosc2osemosbms7Xy5raj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5EYylyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTtsaj1mdW5jdGlvbihhKXt2YXIgYj1hLkosYz1iW18uSF18MDtyZXR1cm4gXy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSl9Owpvaj1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPTApO2lmKCFtail7bWo9e307Zm9yKHZhciBjPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLGQ9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl0sZT0wO2U8NTtlKyspe3ZhciBmPWMuY29uY2F0KGRbZV0uc3BsaXQoIiIpKTtualtlXT1mO2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO21qW2hdPT09dm9pZCAwJiYobWpbaF09Zyl9fX1iPW5qW2JdO2M9QXJyYXkoTWF0aC5mbG9vcihhLmxlbmd0aC8zKSk7ZD1iWzY0XXx8IiI7Zm9yKGU9Zj0wO2Y8YS5sZW5ndGgtMjtmKz0zKXt2YXIgaz1hW2ZdLGw9YVtmKzFdO2g9YVtmKzJdO2c9YltrPj4yXTtrPWJbKGsmMyk8PDR8bD4+NF07bD1iWyhsJjE1KTw8MnxoPj42XTtoPWJbaCY2M107Y1tlKytdPWcraytsK2h9Zz0wO2g9ZDtzd2l0Y2goYS5sZW5ndGgtZil7Y2FzZSAyOmc9CmFbZisxXSxoPWJbKGcmMTUpPDwyXXx8ZDtjYXNlIDE6YT1hW2ZdLGNbZV09YlthPj4yXStiWyhhJjMpPDw0fGc+PjRdK2grZH1yZXR1cm4gYy5qb2luKCIiKX07cGo9ZnVuY3Rpb24oYSl7YT1FcnJvcihhKTtfLkZnKGEsIndhcm5pbmciKTtyZXR1cm4gYX07cWo9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiJ9O3RqPWZ1bmN0aW9uKGEpe3ZhciBiPWE+Pj4wO3JqPWI7c2o9KGEtYikvNDI5NDk2NzI5Nj4+PjB9O3VqPWZ1bmN0aW9uKGEsYil7Yj1+YjthP2E9fmErMTpiKz0xO3JldHVyblthLGJdfTt2aj1mdW5jdGlvbihhKXtpZihhPDApe3RqKC1hKTt2YXIgYj1fLkModWoocmosc2opKTthPWIubmV4dCgpLnZhbHVlO2I9Yi5uZXh0KCkudmFsdWU7cmo9YT4+PjA7c2o9Yj4+PjB9ZWxzZSB0aihhKX07d2o9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7cmV0dXJuIjAwMDAwMDAiLnNsaWNlKGEubGVuZ3RoKSthfTsKeGo9ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO2lmKGI8PTIwOTcxNTEpdmFyIGM9IiIrKDQyOTQ5NjcyOTYqYithKTtlbHNlIHFqKCk/Yz0iIisoQmlnSW50KGIpPDxCaWdJbnQoMzIpfEJpZ0ludChhKSk6KGM9KGE+Pj4yNHxiPDw4KSYxNjc3NzIxNSxiPWI+PjE2JjY1NTM1LGE9KGEmMTY3NzcyMTUpK2MqNjc3NzIxNitiKjY3MTA2NTYsYys9Yio4MTQ3NDk3LGIqPTIsYT49MUU3JiYoYys9YS8xRTc+Pj4wLGElPTFFNyksYz49MUU3JiYoYis9Yy8xRTc+Pj4wLGMlPTFFNyksYz1iK3dqKGMpK3dqKGEpKTtyZXR1cm4gY307eWo9ZnVuY3Rpb24oKXt2YXIgYT1yaixiPXNqO2ImMjE0NzQ4MzY0OD9xaigpP2E9IiIrKEJpZ0ludChifDApPDxCaWdJbnQoMzIpfEJpZ0ludChhPj4+MCkpOihiPV8uQyh1aihhLGIpKSxhPWIubmV4dCgpLnZhbHVlLGI9Yi5uZXh0KCkudmFsdWUsYT0iLSIreGooYSxiKSk6YT14aihhLGIpO3JldHVybiBhfTsKQWo9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlICJiaWdpbnQiOnJldHVybiEwO2Nhc2UgIm51bWJlciI6cmV0dXJuKDAsXy5kaSkoYSk7Y2FzZSAic3RyaW5nIjpyZXR1cm4gemoudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07Xy5Caj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IHBqKCJpbnQzMiIpO2lmKCEoMCxfLmRpKShhKSl0aHJvdyBwaigiaW50MzIiKTtyZXR1cm4gYXwwfTtDaj1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKHR5cGVvZiBhPT09InN0cmluZyImJmEpYT0rYTtlbHNlIGlmKHR5cGVvZiBhIT09Im51bWJlciIpcmV0dXJuO3JldHVybigwLF8uZGkpKGEpP2F8MDp2b2lkIDB9OwpEaj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3IilyZXR1cm4gYTtpZihhLmxlbmd0aDwxNil2aihOdW1iZXIoYSkpO2Vsc2UgaWYocWooKSlhPUJpZ0ludChhKSxyaj1OdW1iZXIoYSZCaWdJbnQoNDI5NDk2NzI5NSkpPj4+MCxzaj1OdW1iZXIoYT4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpO2Vsc2V7Yj0rKGFbMF09PT0iLSIpO3NqPXJqPTA7Zm9yKHZhciBjPWEubGVuZ3RoLGQ9YixlPShjLWIpJTYrYjtlPD1jO2Q9ZSxlKz02KWQ9TnVtYmVyKGEuc2xpY2UoZCxlKSksc2oqPTFFNixyaj1yaioxRTYrZCxyaj49NDI5NDk2NzI5NiYmKHNqKz1NYXRoLnRydW5jKHJqLzQyOTQ5NjcyOTYpLHNqPj4+PTAscmo+Pj49MCk7YiYmKGI9Xy5DKHVqKHJqLHNqKSksYT1iLm5leHQoKS52YWx1ZSxiPWIubmV4dCgpLnZhbHVlLApyaj1hLHNqPWIpfXJldHVybiB5aigpfTtFaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBfLmJoKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gcWooKT9fLmJoKCgwLF8uYmkpKDY0LEJpZ0ludChhKSkpOl8uYmgoRGooYSkpfTtGaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBTdHJpbmcoYik7Yj1hLmluZGV4T2YoIi4iKTtiIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYikpO3JldHVybiBEaihhKX07CkdqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7aWYoISgwLF8uY2kpKGEpKXt2aihhKTt2YXIgYj1yaixjPXNqO2lmKGE9YyYyMTQ3NDgzNjQ4KWI9fmIrMT4+PjAsYz1+Yz4+PjAsYj09MCYmKGM9YysxPj4+MCk7dmFyIGQ9Yyo0Mjk0OTY3Mjk2KyhiPj4+MCk7Yj1OdW1iZXIuaXNTYWZlSW50ZWdlcihkKT9kOnhqKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O0hqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7KDAsXy5jaSkoYSk/YT1TdHJpbmcoYSk6KHZqKGEpLGE9eWooKSk7cmV0dXJuIGF9O0lqPWZ1bmN0aW9uKGEpe3JldHVybigwLF8uY2kpKGEpP18uYmgoR2ooYSkpOl8uYmgoSGooYSkpfTsKXy5Kaj1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YiE9bnVsbHx8KGI9MTAyNCk7aWYoIUFqKGEpKXRocm93IHBqKCJpbnQ2NCIpO3ZhciBjPXR5cGVvZiBhO3N3aXRjaChiKXtjYXNlIDUxMjpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gU3RyaW5nKCgwLF8uYmkpKDY0LGEpKTtkZWZhdWx0OnJldHVybiBIaihhKX1jYXNlIDEwMjQ6c3dpdGNoKGMpe2Nhc2UgInN0cmluZyI6cmV0dXJuIEVqKGEpO2Nhc2UgImJpZ2ludCI6cmV0dXJuIF8uYmgoKDAsXy5iaSkoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIElqKGEpfWNhc2UgMDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5iaCgoMCxfLmJpKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4gR2ooYSl9ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5rbm93biBmb3JtYXQgcmVxdWVzdGVkIHR5cGUgZm9yIGludDY0Iik7fX07CktqPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBfLmJoKCgwLF8uYmkpKDY0LGEpKTtpZihBaihhKSlyZXR1cm4gYj09PSJzdHJpbmciP0VqKGEpOklqKGEpfTtfLkxqPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwmJnR5cGVvZiBhIT09InN0cmluZyIpdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX07Xy5Naj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIF8uZmooYSxiKX19OwpOaj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtlWzBdPTE3MzI1ODQxOTM7ZVsxXT00MDIzMjMzNDE3O2VbMl09MjU2MjM4MzEwMjtlWzNdPTI3MTczMzg3ODtlWzRdPTMyODUzNzc1MjA7bj1sPTB9ZnVuY3Rpb24gYihxKXtmb3IodmFyIHA9ZyxyPTA7cjw2NDtyKz00KXBbci80XT1xW3JdPDwyNHxxW3IrMV08PDE2fHFbcisyXTw8OHxxW3IrM107Zm9yKHI9MTY7cjw4MDtyKyspcT1wW3ItM11ecFtyLThdXnBbci0xNF1ecFtyLTE2XSxwW3JdPShxPDwxfHE+Pj4zMSkmNDI5NDk2NzI5NTtxPWVbMF07dmFyIHQ9ZVsxXSxBPWVbMl0sRD1lWzNdLEU9ZVs0XTtmb3Iocj0wO3I8ODA7cisrKXtpZihyPDQwKWlmKHI8MjApe3ZhciBiYT1EXnQmKEFeRCk7dmFyIFo9MTUxODUwMDI0OX1lbHNlIGJhPXReQV5ELFo9MTg1OTc3NTM5MztlbHNlIHI8NjA/KGJhPXQmQXxEJih0fEEpLFo9MjQwMDk1OTcwOCk6KGJhPXReQV5ELFo9MzM5NTQ2OTc4Mik7YmE9KChxPDw1fHE+Pj4yNykmNDI5NDk2NzI5NSkrCmJhK0UrWitwW3JdJjQyOTQ5NjcyOTU7RT1EO0Q9QTtBPSh0PDwzMHx0Pj4+MikmNDI5NDk2NzI5NTt0PXE7cT1iYX1lWzBdPWVbMF0rcSY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt0JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK0EmNDI5NDk2NzI5NTtlWzNdPWVbM10rRCY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStFJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhxLHApe2lmKHR5cGVvZiBxPT09InN0cmluZyIpe3E9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHEpKTtmb3IodmFyIHI9W10sdD0wLEE9cS5sZW5ndGg7dDxBOysrdClyLnB1c2gocS5jaGFyQ29kZUF0KHQpKTtxPXJ9cHx8KHA9cS5sZW5ndGgpO3I9MDtpZihsPT0wKWZvcig7cis2NDxwOyliKHEuc2xpY2UocixyKzY0KSkscis9NjQsbis9NjQ7Zm9yKDtyPHA7KWlmKGZbbCsrXT1xW3IrK10sbisrLGw9PTY0KWZvcihsPTAsYihmKTtyKzY0PHA7KWIocS5zbGljZShyLHIrNjQpKSxyKz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHE9W10sCnA9bio4O2w8NTY/YyhoLDU2LWwpOmMoaCw2NC0obC01NikpO2Zvcih2YXIgcj02MztyPj01NjtyLS0pZltyXT1wJjI1NSxwPj4+PTg7YihmKTtmb3Iocj1wPTA7cjw1O3IrKylmb3IodmFyIHQ9MjQ7dD49MDt0LT04KXFbcCsrXT1lW3JdPj50JjI1NTtyZXR1cm4gcX1mb3IodmFyIGU9W10sZj1bXSxnPVtdLGg9WzEyOF0saz0xO2s8NjQ7KytrKWhba109MDt2YXIgbCxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxmaDpmdW5jdGlvbigpe2Zvcih2YXIgcT1kKCkscD0iIixyPTA7cjxxLmxlbmd0aDtyKyspcCs9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHFbcl0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHFbcl0lMTYpO3JldHVybiBwfX19O09qPWZ1bmN0aW9uKCl7dGhpcy5nPWRvY3VtZW50fHx7Y29va2llOiIifX07ClhqPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP1BqOmI7aWYoIVFqKXt2YXIgYzthPShjPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6Yy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoIm9hIikpO1JqKChhLmJyYW5kc3x8W10pLm1hcChmdW5jdGlvbihlKXt2YXIgZj1uZXcgU2o7Zj1fLlRqKGYsMSxlLmJyYW5kKTtyZXR1cm4gXy5UaihmLDIsZS52ZXJzaW9uKX0pKTt0eXBlb2YgYS5tb2JpbGU9PT0iYm9vbGVhbiImJl8uVWooVmosMixhLm1vYmlsZSk7UWo9YS5nZXRIaWdoRW50cm9weVZhbHVlcyhiKX12YXIgZD1uZXcgU2V0KGIpO3JldHVybiBRai50aGVuKGZ1bmN0aW9uKGUpe3ZhciBmPWxqKFZqKTtkLmhhcygicGxhdGZvcm0iKSYmXy5UaihmLDMsZS5wbGF0Zm9ybSk7ZC5oYXMoInBsYXRmb3JtVmVyc2lvbiIpJiYKXy5UaihmLDQsZS5wbGF0Zm9ybVZlcnNpb24pO2QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmXy5UaihmLDUsZS5hcmNoaXRlY3R1cmUpO2QuaGFzKCJtb2RlbCIpJiZfLlRqKGYsNixlLm1vZGVsKTtkLmhhcygidWFGdWxsVmVyc2lvbiIpJiZfLlRqKGYsNyxlLnVhRnVsbFZlcnNpb24pO3JldHVybiBfLldqKGYpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gXy5XaihWail9KX07WWo9ZnVuY3Rpb24oYSl7dGhpcy5nPXRoaXMuaD10aGlzLmo9YX07Xy5aaj1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZD1jLnNsaWNlKCk7ZC5wdXNoLmFwcGx5KGQsYXJndW1lbnRzKTtyZXR1cm4gYS5hcHBseSh0aGlzLGQpfX07Xy5haz1mdW5jdGlvbihhLGIpe2EucWE/YigpOihhLld8fChhLlc9W10pLGEuVy5wdXNoKGIpKX07Yms9e1psOiEwfTtfLldqPWZ1bmN0aW9uKGEpe3JldHVybiBKU09OLnN0cmluZ2lmeShfLndoKGEpKX07Cm5qPXt9O21qPW51bGw7Y2s9e307Xy54aD1mdW5jdGlvbihhLGIpe2lmKGIhPT1jayl0aHJvdyBFcnJvcigiWiIpO3RoaXMubz1hO2lmKGEhPW51bGwmJmEubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiWSIpO307Xy54aC5wcm90b3R5cGUuZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMubztpZihhPT1udWxsKWE9IiI7ZWxzZSBpZih0eXBlb2YgYSE9PSJzdHJpbmciKXtpZihfLlBoKXtmb3IodmFyIGI9IiIsYz0wLGQ9YS5sZW5ndGgtMTAyNDA7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPWJ0b2EoYil9ZWxzZSBhPW9qKGEpO2E9dGhpcy5vPWF9cmV0dXJuIGF9O18uZGs9Xy5OZyh2b2lkIDAsIjFvYSIpO2VrPXt9O3JqPTA7c2o9MDt6aj0vXi0/KFsxLTldWzAtOV0qfDApKFwuWzAtOV0rKT8kLzsKXy5maz1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLkosZT1kW18uSF18MDtpZihjPT1udWxsKXJldHVybiBfLnRpKGQsZSxiKSxhO2Zvcih2YXIgZj1jPT09Xy5UaD83OmNbXy5IXXwwLGc9ZixoPV8uRWkoZiksaz1ofHxPYmplY3QuaXNGcm96ZW4oYyksbD0hMCxuPSEwLHE9MDtxPGMubGVuZ3RoO3ErKyl7dmFyIHA9Y1txXTtofHwocD1fLldnKHApLGwmJihsPSFwKSxuJiYobj1wKSl9aHx8KGY9bD8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7ayYmZj09PWd8fChjPV8ubWkoYyksZz0wLGY9Xy5EaShmLGUpKTtmIT09ZyYmXy5TZyhjLGYpO2U9Xy50aShkLGUsYixjKTsyJmZ8fCEoNDA5NiZmfHwxNiZmKXx8Xy5zaShkLGUpO3JldHVybiBhfTtfLmdrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/MDpjO2E9Q2ooXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLmhrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/Xy5qaTpjO2E9Xy5aaShhLGIsdm9pZCAwLHZvaWQgMCxLaik7cmV0dXJuIGEhPW51bGw/YTpjfTtfLlVqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8ubmkoYykpfTtfLmlrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uQmooYykpfTtfLmprPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uSmooYykpfTtfLlRqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsXy5MaihjKSl9O18ua2s9ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpe2lmKCEoMCxfLmRpKShjKSl0aHJvdyBwaigiZW51bSIpO2N8PTB9cmV0dXJuIF8uJGkoYSxiLGMpfTsKbms9ZnVuY3Rpb24oKXt2YXIgYT1sayxiPW1rO3RoaXMuZz0xNzUyMzczNzU7dGhpcy5MYj1iO3RoaXMuaD1fLmJqO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLmo9YS5XbCE9bnVsbD9lazp2b2lkIDB9O25rLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbigpe18uUWModGhpcyl9O3ZhciBvaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIob2ssXy5KKTt2YXIgcGs9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigia2FgIithKTtpZihjIT09Imh0dHAiJiZjIT09Imh0dHBzIiYmYyE9PSJjaHJvbWUtZXh0ZW5zaW9uIiYmYyE9PSJtb3otZXh0ZW5zaW9uIiYmCmMhPT0iZmlsZSImJmMhPT0iYW5kcm9pZC1hcHAiJiZjIT09ImNocm9tZS1zZWFyY2giJiZjIT09ImNocm9tZS11bnRydXN0ZWQiJiZjIT09ImNocm9tZSImJmMhPT0iYXBwIiYmYyE9PSJkZXZ0b29scyIpdGhyb3cgRXJyb3IoImxhYCIrYyk7YT0iIjt2YXIgZD1iLmluZGV4T2YoIjoiKTtpZihkIT0tMSl7dmFyIGU9Yi5zdWJzdHJpbmcoZCsxKTtiPWIuc3Vic3RyaW5nKDAsZCk7aWYoYz09PSJodHRwIiYmZSE9PSI4MCJ8fGM9PT0iaHR0cHMiJiZlIT09IjQ0MyIpYT0iOiIrZX1yZXR1cm4gYysiOi8vIitiK2F9O3ZhciByaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9U3RyaW5nKF8udi5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gZCYmYSYmYj9bYixxayhwayhkKSxhLGN8fG51bGwpXS5qb2luKCIgIik6bnVsbH0scWs9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnZjKGQsZnVuY3Rpb24oaCl7ZS5wdXNoKGgpfSksc2soZS5qb2luKCIgIikpO3ZhciBmPVtdLGc9W107Xy52YyhjLGZ1bmN0aW9uKGgpe2cucHVzaChoLmtleSk7Zi5wdXNoKGgudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy52YyhkLGZ1bmN0aW9uKGgpe2UucHVzaChoKX0pO2E9c2soZS5qb2luKCIgIikpO2E9W2MsYV07Zy5sZW5ndGg9PTB8fGEucHVzaChnLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9LHNrPWZ1bmN0aW9uKGEpe3ZhciBiPQpOaigpO2IudXBkYXRlKGEpO3JldHVybiBiLmZoKCkudG9Mb3dlckNhc2UoKX07Xy5tPU9qLnByb3RvdHlwZTtfLm0uc2V0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTtpZih0eXBlb2YgYz09PSJvYmplY3QiKXt2YXIgZT1jLnNhbWVTaXRlO2Q9Yy5zZWN1cmV8fCExO3ZhciBmPWMuZG9tYWlufHx2b2lkIDA7dmFyIGc9Yy5wYXRofHx2b2lkIDA7dmFyIGg9Yy5CaX1pZigvWzs9XHNdLy50ZXN0KGEpKXRocm93IEVycm9yKCJtYWAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJuYWAiK2IpO2g9PT12b2lkIDAmJihoPS0xKTt0aGlzLmcuY29va2llPWErIj0iK2IrKGY/Ijtkb21haW49IitmOiIiKSsoZz8iO3BhdGg9IitnOiIiKSsoaDwwPyIiOmg9PTA/IjtleHBpcmVzPSIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKToiO2V4cGlyZXM9IisobmV3IERhdGUoRGF0ZS5ub3coKStoKjFFMykpLnRvVVRDU3RyaW5nKCkpKyhkPyI7c2VjdXJlIjoiIikrKGUhPW51bGw/IjtzYW1lc2l0ZT0iK2U6IiIpfTsKXy5tLmdldD1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hKyI9IixkPSh0aGlzLmcuY29va2llfHwiIikuc3BsaXQoIjsiKSxlPTAsZjtlPGQubGVuZ3RoO2UrKyl7Zj1fLkFjKGRbZV0pO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5tLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7Qmk6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5tLk9jPWZ1bmN0aW9uKCl7cmV0dXJuIHRrKHRoaXMpLmtleXN9O18ubS5pYj1mdW5jdGlvbigpe3JldHVybiB0ayh0aGlzKS52YWx1ZXN9O18ubS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT10ayh0aGlzKS5rZXlzLGI9YS5sZW5ndGgtMTtiPj0wO2ItLSl0aGlzLnJlbW92ZShhW2JdKX07CnZhciB0az1mdW5jdGlvbihhKXthPShhLmcuY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IodmFyIGI9W10sYz1bXSxkLGUsZj0wO2Y8YS5sZW5ndGg7ZisrKWU9Xy5BYyhhW2ZdKSxkPWUuaW5kZXhPZigiPSIpLGQ9PS0xPyhiLnB1c2goIiIpLGMucHVzaChlKSk6KGIucHVzaChlLnN1YnN0cmluZygwLGQpKSxjLnB1c2goZS5zdWJzdHJpbmcoZCsxKSkpO3JldHVybntrZXlzOmIsdmFsdWVzOmN9fTt2YXIgdWs9ZnVuY3Rpb24oYSxiLGMsZCl7KGE9Xy52W2FdKXx8dHlwZW9mIGRvY3VtZW50PT09InVuZGVmaW5lZCJ8fChhPShuZXcgT2opLmdldChiKSk7cmV0dXJuIGE/cmsoYSxjLGQpOm51bGx9LHZrPWZ1bmN0aW9uKGEpe3ZhciBiPXBrKF8udj09bnVsbD92b2lkIDA6Xy52LmxvY2F0aW9uLmhyZWYpLGM9W10sZDsoZD1fLnYuX19TQVBJU0lEfHxfLnYuX19BUElTSUR8fF8udi5fXzNQU0FQSVNJRHx8Xy52Ll9fMVBTQVBJU0lEfHxfLnYuX19PVkVSUklERV9TSUQpP2Q9ITA6KHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoZD1uZXcgT2osZD1kLmdldCgiU0FQSVNJRCIpfHxkLmdldCgiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpfHxkLmdldCgiX19TZWN1cmUtMVBBUElTSUQiKSksZD0hIWQpO2QmJihkPShiPWIuaW5kZXhPZigiaHR0cHM6Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLWV4dGVuc2lvbjoiKT09MHx8Yi5pbmRleE9mKCJjaHJvbWUtdW50cnVzdGVkOi8vbmV3LXRhYi1wYWdlIik9PQowfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTApP18udi5fX1NBUElTSUQ6Xy52Ll9fQVBJU0lELGR8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoZD1uZXcgT2osZD1kLmdldChiPyJTQVBJU0lEIjoiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpKSwoZD1kP3JrKGQsYj8iU0FQSVNJREhBU0giOiJBUElTSURIQVNIIixhKTpudWxsKSYmYy5wdXNoKGQpLGImJigoYj11aygiX18xUFNBUElTSUQiLCJfX1NlY3VyZS0xUEFQSVNJRCIsIlNBUElTSUQxUEhBU0giLGEpKSYmYy5wdXNoKGIpLChhPXVrKCJfXzNQU0FQSVNJRCIsIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpKTtyZXR1cm4gYy5sZW5ndGg9PTA/bnVsbDpjLmpvaW4oIiAiKX07dmFyIHdrPWZ1bmN0aW9uKCl7fSx4az1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtyZXR1cm4gXy5WaShmdW5jdGlvbihmKXtzd2l0Y2goZi5nKXtjYXNlIDE6cmV0dXJuIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpLGQ9Yi53cml0YWJsZS5nZXRXcml0ZXIoKSxmLmgoZC53cml0ZSgobmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoYSkpLDIpO2Nhc2UgMjpyZXR1cm4gZi5oKGQuY2xvc2UoKSwzKTtjYXNlIDM6cmV0dXJuIGU9VWludDhBcnJheSxmLmgoYyw0KTtjYXNlIDQ6cmV0dXJuIGYucmV0dXJuKG5ldyBlKGYuaikpfX0pfTt3ay5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE8MTAyND8hMTp0eXBlb2YgQ29tcHJlc3Npb25TdHJlYW0hPT0idW5kZWZpbmVkIn07dmFyIHlrPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5vPWI7dGhpcy5nPSExO3RoaXMuaj1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTt0aGlzLmw9dGhpcy5qKCl9LHprPWZ1bmN0aW9uKGEsYil7YS5oPWI7YS50aW1lciYmYS5nPyhhLnN0b3AoKSxhLnN0YXJ0KCkpOmEudGltZXImJmEuc3RvcCgpfTt5ay5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZz0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaCksdGhpcy5sPXRoaXMuaigpKX07eWsucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmc9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9Owp5ay5wcm90b3R5cGUudGljaz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5nKXt2YXIgYj1NYXRoLm1heCh0aGlzLmooKS10aGlzLmwsMCk7Yjx0aGlzLmgqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaC1iKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5vKCksdGhpcy5nJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH07dmFyIEFrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihBayxfLkopO3ZhciBCaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQmssXy5KKTt2YXIgQ2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKENrLF8uSik7Q2sucHJvdG90eXBlLlBkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIFNqPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihTaixfLkopO3ZhciBEaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoRGssXy5KKTt2YXIgUmo9ZnVuY3Rpb24oYSl7Xy5mayhWaiwxLGEpfSxFaz1fLk1qKERrKTt2YXIgRms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEZrLF8uSik7dmFyIFBqPVsicGxhdGZvcm0iLCJwbGF0Zm9ybVZlcnNpb24iLCJhcmNoaXRlY3R1cmUiLCJtb2RlbCIsInVhRnVsbFZlcnNpb24iXSxWaj1uZXcgRGssUWo9bnVsbDt2YXIgR2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEdrLF8uSik7dmFyIEhrPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtrKGEsMSwxKX07dmFyIElrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihJayxfLkopO0lrLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07SWsucHJvdG90eXBlLmNiPWZ1bmN0aW9uKGEpe18uVGoodGhpcywyLGEpfTt2YXIgSms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhLDQpfTtfLkIoSmssXy5KKTtfLktrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwzNyl9O18uQihfLktrLF8uSik7Xy5Lay5wcm90b3R5cGUuY2I9ZnVuY3Rpb24oYSl7Xy5yaSh0aGlzKTt2YXIgYj10aGlzLkosYz1fLklpKHRoaXMsYixiW18uSF18MCxJaywzLDIsITApO2lmKHR5cGVvZiBhIT09Im51bWJlciJ8fGE8MHx8YT5jLmxlbmd0aCl0aHJvdyBFcnJvcigpO2EhPXZvaWQgMD9jLnNwbGljZShhLDEsdm9pZCAwKTpjLnB1c2godm9pZCAwKTt2YXIgZD1hPWM9PT1fLlRoPzc6Y1tfLkhdfDAsZT1fLldnKCk7ZT8oYSY9LTksYy5sZW5ndGg9PT0xJiYoYSY9LTQwOTcpKTphfD00MDk2O2EhPT1kJiZfLlNnKGMsYSk7ZXx8Xy5zaShiKX07Xy5Maz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlRqKGEsOCxiKX07dmFyIE1rPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwxOSl9O18uQihNayxfLkopO01rLnByb3RvdHlwZS52Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5rayh0aGlzLDIsYSl9O3ZhciBPaz1mdW5jdGlvbihhLGIpe3RoaXMuYWI9Yj1iPT09dm9pZCAwPyExOmI7dGhpcy5qPXRoaXMubG9jYWxlPW51bGw7dGhpcy5oPTA7dGhpcy5sPSExO3RoaXMuZz1uZXcgTWs7TnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5nLnZjKGEpO2J8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO05rKHRoaXMsbmV3IEdrKX07T2sucHJvdG90eXBlLnZjPWZ1bmN0aW9uKGEpe3RoaXMuZy52YyhhKTtyZXR1cm4gdGhpc307CnZhciBOaz1mdW5jdGlvbihhLGIpe18uTChhLmcsMSxiKTtfLmRqKGIsMSl8fEhrKGIpO2EuYWJ8fChiPVBrKGEpLF8uTihiLDUpfHxfLlRqKGIsNSxhLmxvY2FsZSkpO2EuaiYmKGI9UGsoYSksXy5iaihiLERrLDkpfHxfLkwoYiw5LGEuaikpfSxRaz1mdW5jdGlvbihhLGIpe2EuaD1ifSxSaz1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwP1BqOmI7dmFyIGM9YS5hYj92b2lkIDA6Xy5tYigpO2M/WGooYyxiKS50aGVuKGZ1bmN0aW9uKGQpe2Euaj1FayhkIT1udWxsP2Q6IltdIik7ZD1QayhhKTtfLkwoZCw5LGEuaik7cmV0dXJuITB9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSk6UHJvbWlzZS5yZXNvbHZlKCExKX0sUGs9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5iaihhLmcsR2ssMSk7Ynx8KGI9bmV3IEdrLE5rKGEsYikpO2E9YjtiPV8uYmooYSxGaywxMSk7Ynx8KGI9bmV3IEZrLF8uTChhLDExLGIpKTtyZXR1cm4gYn0sU2s9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Yz1jPT09CnZvaWQgMD8wOmM7ZD1kPT09dm9pZCAwPzA6ZDtlPWU9PT12b2lkIDA/bnVsbDplO2Y9Zj09PXZvaWQgMD8wOmY7Zz1nPT09dm9pZCAwPzA6ZztpZighYS5hYil7dmFyIGg9UGsoYSk7dmFyIGs9bmV3IENrO2s9Xy5rayhrLDEsYS5oKTtrPV8uVWooaywyLGEubCk7ZD1fLmlrKGssMyxkPjA/ZDp2b2lkIDApO2Q9Xy5payhkLDQsZj4wP2Y6dm9pZCAwKTtkPV8uaWsoZCw1LGc+MD9nOnZvaWQgMCk7Zj1kLko7Zz1mW18uSF18MDtkPV8uV2coZCxnKT9kOl8uSWgoZCxmLGcpP18uSGgoZCxmKTpuZXcgZC5jb25zdHJ1Y3RvcihfLkdoKGYsZywhMCkpO18uTChoLDEwLGQpfWE9bGooYS5nKTtoPURhdGUubm93KCkudG9TdHJpbmcoKTthPV8uJGkoYSw0LGg9PW51bGw/aDpfLkpqKGgpKTtiPV8uZmsoYSwzLGIuc2xpY2UoKSk7ZSYmKGE9bmV3IEFrLGU9Xy5payhhLDEzLGUpLGE9bmV3IEJrLGU9Xy5MKGEsMixlKSxhPW5ldyBKayxlPV8uTChhLDEsZSksZT1fLmtrKGUsMiw5KSxfLkwoYiwxOCwKZSkpO2MmJl8uamsoYiwxNCxjKTtyZXR1cm4gYn07WWoucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5nPXRoaXMuaD10aGlzLmp9O1lqLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciBsaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEsOCl9O18uQihsayxfLkopO3ZhciBUaz1fLk1qKGxrKTt2YXIgbWs9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG1rLF8uSik7dmFyIFVrO1VrPW5ldyBuazt2YXIgWWs9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dmFyIGI9dGhpczt0aGlzLmc9W107dGhpcy5sYT0iIjt0aGlzLks9dGhpcy5MPSExO3RoaXMucmE9dGhpcy5JPS0xO3RoaXMuUj0hMTt0aGlzLkQ9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5BPXRoaXMubD0wO3RoaXMuQz1udWxsO3RoaXMuRj10aGlzLkc9MDt0aGlzLndhPTE7dGhpcy53Yz0wO3RoaXMuT2I9YS5PYjt0aGlzLnRiPWEudGJ8fGZ1bmN0aW9uKCl7fTt0aGlzLmo9bmV3IE9rKGEuT2IsYS5hYik7dGhpcy56YT1hLnphfHxudWxsO3RoaXMuQ2I9YS5DYnx8bnVsbDt0aGlzLkI9YS5hanx8bnVsbDt0aGlzLm1iPWEubWJ8fG51bGw7dGhpcy5jYz1hLmNjfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz0hYS5NYzt0aGlzLmFiPWEuYWJ8fCExO3RoaXMuVD0hdGhpcy5hYiYmISFfLm1iKCkmJiEhXy5tYigpLm5hdmlnYXRvciYmXy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUD10eXBlb2YgVVJMU2VhcmNoUGFyYW1zIT09CiJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKFZrKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoVmsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGM9SGsobmV3IEdrKTtOayh0aGlzLmosYyk7dGhpcy5vPW5ldyBZaigxRTQpO2E9V2sodGhpcyxhLk9lKTt0aGlzLmg9bmV3IHlrKHRoaXMuby5NYSgpLGEpO3RoaXMuTz1uZXcgeWsoNkU1LGEpO3RoaXMuY2N8fHRoaXMuTy5zdGFydCgpO2lmKCF0aGlzLmFiKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKXtYayhiKTt2YXIgZjsoZj1iLkMpPT1udWxsfHxmLmZsdXNoKCl9fSk7dmFyIGQsZTsoZD1fLm1iKCkpPT1udWxsfHwoZT1kLmFkZEV2ZW50TGlzdGVuZXIpPT1udWxsfHxlLmNhbGwoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7WGsoYik7dmFyIGY7KGY9Yi5DKT09bnVsbHx8Zi5mbHVzaCgpfSl9fSxaayxibCwKJGs7Xy5CKFlrLF8udSk7dmFyIFdrPWZ1bmN0aW9uKGEsYil7aWYoIWEuUClyZXR1cm4gZnVuY3Rpb24oKXt9O3ZhciBjPWZ1bmN0aW9uKCl7YS5mbHVzaCgpfTtyZXR1cm4gYj9mdW5jdGlvbigpe2IoKS50aGVuKGMpfTpjfTtZay5wcm90b3R5cGUuTT1mdW5jdGlvbigpe1hrKHRoaXMpO3RoaXMuaC5zdG9wKCk7dGhpcy5PLnN0b3AoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Wms9ZnVuY3Rpb24oYSl7YS5CfHwoYS5CPVZrKCkpO3RyeXtyZXR1cm4obmV3IFVSTChhLkIpKS50b1N0cmluZygpfWNhdGNoKGIpe3JldHVybihuZXcgVVJMKGEuQixfLm1iKCkubG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX19O18uYWw9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2YgXy5LaylhLmxvZyhiKTtlbHNlIHRyeXt2YXIgYz1fLkxrKG5ldyBfLktrLF8uV2ooYikpO2EubG9nKGMpfWNhdGNoKGQpeyRrKGEsNCwxKX19OwpibD1mdW5jdGlvbihhLGIpe2Eubz1uZXcgWWooYjwxPzE6Yik7emsoYS5oLGEuby5NYSgpKX07JGs9ZnVuY3Rpb24oYSxiLGMpe2EuQyYmYS5DLlNsKGIsYyl9OwpZay5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGEpeyRrKHRoaXMsMiwxKTtpZih0aGlzLlApe2E9bGooYSk7dmFyIGI9dGhpcy53YSsrO2I9YT1fLmprKGEsMjEsYik7dmFyIGM9Xy5aaShiLDEpO3ZhciBkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT10eXBlb2YgYztkPWM9PW51bGw/YzplPT09ImJpZ2ludCI/U3RyaW5nKCgwLF8uYmkpKDY0LGMpKTpBaihjKT9lPT09InN0cmluZyI/RmooYyk6ZD9IaihjKTpHaihjKTp2b2lkIDA7ZD09bnVsbCYmKGQ9RGF0ZS5ub3coKSxkPU51bWJlci5pc0Zpbml0ZShkKT9kLnRvU3RyaW5nKCk6IjAiLF8uJGkoYiwxLGQ9PW51bGw/ZDpfLkpqKGQpKSk7ZD1fLlppKGIsMTUsdm9pZCAwLHZvaWQgMCxLaik7ZCE9bnVsbCYmKHR5cGVvZiBkPT09ImJpZ2ludCI/KDAsXy52aCkoZCk/ZD1OdW1iZXIoZCk6KGQ9KDAsXy5iaSkoNjQsZCksZD0oMCxfLnZoKShkKT9OdW1iZXIoZCk6U3RyaW5nKGQpKTpkPUFqKGQpP3R5cGVvZiBkPT09Im51bWJlciI/R2ooZCk6CkZqKGQpOnZvaWQgMCk7ZCE9bnVsbHx8Xy5qayhiLDE1LChuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MCk7dGhpcy5leHBlcmltZW50SWRzJiYoZD1saih0aGlzLmV4cGVyaW1lbnRJZHMpLF8uTChiLDE2LGQpKTskayh0aGlzLDEsMSk7Yj10aGlzLmcubGVuZ3RoLTFFMysxO2I+MCYmKHRoaXMuZy5zcGxpY2UoMCxiKSx0aGlzLmwrPWIsJGsodGhpcywzLGIpKTt0aGlzLmcucHVzaChhKTt0aGlzLmNjfHx0aGlzLmguZ3x8dGhpcy5oLnN0YXJ0KCl9fTsKWWsucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcztpZih0aGlzLmcubGVuZ3RoPT09MClhJiZhKCk7ZWxzZXt2YXIgZD1EYXRlLm5vdygpO2lmKHRoaXMucmE+ZCYmdGhpcy5JPGQpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLnphJiYodHlwZW9mIHRoaXMuemEuUGQ9PT0iZnVuY3Rpb24iP1FrKHRoaXMuaix0aGlzLnphLlBkKCkpOnRoaXMuai5oPTApO3ZhciBlPXRoaXMuZy5sZW5ndGgsZj1Tayh0aGlzLmosdGhpcy5nLHRoaXMubCx0aGlzLkEsdGhpcy5DYix0aGlzLkcsdGhpcy5GKSxnPXRoaXMudGIoKTtpZihnJiZ0aGlzLmxhPT09ZyliJiZiKCJzdGFsZS1hdXRoLXRva2VuIik7ZWxzZXt0aGlzLmc9W107dGhpcy5oLmcmJnRoaXMuaC5zdG9wKCk7dGhpcy5sPTA7ZD1fLldqKGYpO3ZhciBoO3RoaXMuRCYmdGhpcy5ELlRhKGQubGVuZ3RoKSYmKGg9eGsoZCkpO3ZhciBrPWNsKHRoaXMsZCxnKSxsPWZ1bmN0aW9uKHApe2Muby5yZXNldCgpO3prKGMuaCwKYy5vLk1hKCkpO2lmKHApe3ZhciByPW51bGw7dHJ5e3ZhciB0PUpTT04uc3RyaW5naWZ5KEpTT04ucGFyc2UocC5yZXBsYWNlKCIpXX0nXG4iLCIiKSkpO3I9VGsodCl9Y2F0Y2goRSl7fWlmKHIpe3A9TnVtYmVyKF8uaGsociwxLF8uYmgoIi0xIikpKTtwPjAmJihjLkk9RGF0ZS5ub3coKSxjLnJhPWMuSStwKTtwPVVrLmc7dD1fLnBoKF8ucWgpO3ZhciBBO18uT2cmJnQmJigoQT1yLkpbdF0pPT1udWxsP3ZvaWQgMDpBW3BdKSE9bnVsbCYmXy5NZyhfLlJoLDMpO2E6e0E9VWsuZzt2YXIgRD1EPT09dm9pZCAwPyExOkQ7aWYoXy5waChfLlNoKSYmXy5waChfLnFoKSYmdm9pZCAwPT09Xy5TaCl7cD1yLko7dD1wW18ucWhdO2lmKCF0KWJyZWFrIGE7aWYodD10LmJtKXRyeXt0KHAsQSxiayk7YnJlYWsgYX1jYXRjaChFKXtfLnJiKEUpfX1EJiYoRD1yLkosKHA9Xy5waChfLnFoKSkmJnAgaW4gRCYmKEQ9RFtwXSkmJmRlbGV0ZSBEW0FdKX1EPVVrLkxiP1VrLmgocixVay5MYixVay5nLFVrLmopOgpVay5oKHIsVWsuZyxudWxsLFVrLmopO2lmKEQ9RD09PW51bGw/dm9pZCAwOkQpRD1fLmdrKEQsMSwtMSksRCE9PS0xJiYoYy5SfHxibChjLEQpKX19YSYmYSgpO2MuQT0wfSxuPWZ1bmN0aW9uKHAscil7dmFyIHQ9Xy5jaihmLF8uS2ssMyk7dmFyIEE9TnVtYmVyKF8uaGsoZiwxNCkpLEQ9Yy5vO0QuZz1NYXRoLm1pbigzRTUsRC5nKjIpO0QuaD1NYXRoLm1pbigzRTUsRC5nK01hdGgucm91bmQoLjEqKE1hdGgucmFuZG9tKCktLjUpKjIqRC5nKSk7emsoYy5oLGMuby5NYSgpKTtwPT09NDAxJiZnJiYoYy5sYT1nKTtBJiYoYy5sKz1BKTtyPT09dm9pZCAwJiYocj01MDA8PXAmJnA8NjAwfHxwPT09NDAxfHxwPT09MCk7ciYmKGMuZz10LmNvbmNhdChjLmcpLGMuY2N8fGMuaC5nfHxjLmguc3RhcnQoKSk7JGsoYyw3LDEpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIscCk7KytjLkF9LHE9ZnVuY3Rpb24oKXtjLnphJiZjLnphLnNlbmQoayxsLG4pfTtoP2gudGhlbihmdW5jdGlvbihwKXskayhjLAo1LGUpO2submVbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7ay5uZVsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7ay5ib2R5PXA7ay5aZz0yO3EoKX0sZnVuY3Rpb24oKXskayhjLDYsZSk7cSgpfSk6cSgpfX19fTsKdmFyIGNsPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/bnVsbDpjO3ZhciBkPWQ9PT12b2lkIDA/YS53aXRoQ3JlZGVudGlhbHM6ZDt2YXIgZT17fSxmPW5ldyBVUkwoWmsoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5tYiYmKGVbIlgtR29vZy1BdXRoVXNlciJdPWEubWIsZi5zZWFyY2hQYXJhbXMuc2V0KCJhdXRodXNlciIsYS5tYikpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixaZzoxLG5lOmUsTGk6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHdjOmEud2N9fSxYaz1mdW5jdGlvbihhKXthLmoubD0hMDthLkwmJihhLmouaD0zLGRsKGEpKTthLksmJihhLmouaD0yLGVsKGEpKTthLmZsdXNoKCk7YS5qLmw9ITF9LGRsPWZ1bmN0aW9uKGEpe2ZsKGEsMzIsMTAsZnVuY3Rpb24oYixjKXtiPW5ldyBVUkwoYik7Yi5zZWFyY2hQYXJhbXMuc2V0KCJmb3JtYXQiLCJqc29uIik7dmFyIGQ9ITE7dHJ5e2Q9Xy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uKGIudG9TdHJpbmcoKSwKXy5XaihjKSl9Y2F0Y2goZSl7fWR8fChhLlQ9ITEpO3JldHVybiBkfSl9LGVsPWZ1bmN0aW9uKGEpe2ZsKGEsNiw1LGZ1bmN0aW9uKGIsYyl7Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwiYmFzZTY0anNvbiIpO3ZhciBkPWIuc2VhcmNoUGFyYW1zLGU9ZC5zZXQ7Yz1fLldqKGMpO2Zvcih2YXIgZj1bXSxnPTAsaD0wO2g8Yy5sZW5ndGg7aCsrKXt2YXIgaz1jLmNoYXJDb2RlQXQoaCk7az4yNTUmJihmW2crK109ayYyNTUsaz4+PTgpO2ZbZysrXT1rfWM9b2ooZiwzKTtlLmNhbGwoZCwicCIsYyk7Yj1iLnRvU3RyaW5nKCk7aWYoYi5sZW5ndGg+MTUzNjApcmV0dXJuITE7KG5ldyBJbWFnZSkuc3JjPWI7cmV0dXJuITB9KX0sZmw9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5nLmxlbmd0aCE9PTApe3ZhciBlPW5ldyBVUkwoWmsoYSkpO2Uuc2VhcmNoUGFyYW1zLmRlbGV0ZSgiZm9ybWF0Iik7dmFyIGY9YS50YigpO2YmJmUuc2VhcmNoUGFyYW1zLnNldCgiYXV0aCIsCmYpO2Uuc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEubWJ8fCIwIik7Zm9yKGY9MDtmPGMmJmEuZy5sZW5ndGg7KytmKXt2YXIgZz1hLmcuc2xpY2UoMCxiKSxoPVNrKGEuaixnLGEubCxhLkEsYS5DYixhLkcsYS5GKTtpZighZChlLnRvU3RyaW5nKCksaCkpeysrYS5BO2JyZWFrfWEubD0wO2EuQT0wO2EuRz0wO2EuRj0wO2EuZz1hLmcuc2xpY2UoZy5sZW5ndGgpfWEuaC5nJiZhLmguc3RvcCgpfX0sVms9ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSJ9O3ZhciBnbD1mdW5jdGlvbigpe3RoaXMuVmc9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifTsKZ2wucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMsZSxmLGcsaCxrLGwsbixxLHAscjtyZXR1cm4gXy5WaShmdW5jdGlvbih0KXtzd2l0Y2godC5nKXtjYXNlIDE6cmV0dXJuIGY9KGU9ZC5WZz9uZXcgQWJvcnRDb250cm9sbGVyOnZvaWQgMCkmJmEud2M+MD9zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5hYm9ydCgpfSxhLndjKTp2b2lkIDAsdC5GKDIsMyksZz1PYmplY3QuYXNzaWduKHt9LHttZXRob2Q6YS5MaSxoZWFkZXJzOk9iamVjdC5hc3NpZ24oe30sYS5uZSl9LGEuYm9keSYme2JvZHk6YS5ib2R5fSxhLndpdGhDcmVkZW50aWFscyYme2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0se3NpZ25hbDphLndjJiZlP2Uuc2lnbmFsOm51bGx9KSx0LmgoZmV0Y2goYS51cmwsZyksNSk7Y2FzZSA1Omg9dC5qO2lmKGguc3RhdHVzIT09MjAwKXsoaz1jKT09bnVsbHx8ayhoLnN0YXR1cyk7dC54YSgzKTticmVha31pZigobD1iKT09bnVsbCl7dC54YSg3KTticmVha31yZXR1cm4gdC5oKGgudGV4dCgpLAo4KTtjYXNlIDg6bCh0LmopO2Nhc2UgNzpjYXNlIDM6dC5MKCk7Y2xlYXJUaW1lb3V0KGYpO3QucWEoMCk7YnJlYWs7Y2FzZSAyOm49dC5EKCk7c3dpdGNoKChxPW4pPT1udWxsP3ZvaWQgMDpxLm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOihwPWMpPT1udWxsfHxwKDQwOCk7YnJlYWs7ZGVmYXVsdDoocj1jKT09bnVsbHx8cig0MDApfXQueGEoMyl9fSl9O2dsLnByb3RvdHlwZS5QZD1mdW5jdGlvbigpe3JldHVybiA0fTtfLmhsPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyIwIjpiO18udS5jYWxsKHRoaXMpO3RoaXMuT2I9YTt0aGlzLm1iPWI7dGhpcy5BPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjt0aGlzLmc9dGhpcy5DYj10aGlzLnphPXRoaXMuaD1udWxsO3RoaXMubD10aGlzLm89ITE7dGhpcy5qPW51bGx9O18uQihfLmhsLF8udSk7Xy5pbD1mdW5jdGlvbihhLGIpe2EudGI9YjtyZXR1cm4gYX07Xy5qbD1mdW5jdGlvbihhKXthLm89ITA7cmV0dXJuIGF9O18uaGwucHJvdG90eXBlLk1jPWZ1bmN0aW9uKCl7dGhpcy5CPSEwO3JldHVybiB0aGlzfTsKXy5rbD1mdW5jdGlvbihhKXthLnphfHwoYS56YT1uZXcgZ2wpO3ZhciBiPW5ldyBZayh7T2I6YS5PYix0YjphLnRiP2EudGI6dmssbWI6YS5tYixhajphLkEsYWI6ITEsY2M6ITEsTWM6YS5CLE9lOmEuT2UsemE6YS56YX0pO18uYWsoYSxfLlpqKF8ucGEsYikpO2lmKGEuaCl7dmFyIGM9YS5oLGQ9UGsoYi5qKTtfLlRqKGQsNyxjKX1iLkQ9bmV3IHdrO2EuQ2ImJihiLkNiPWEuQ2IpO2EuZyYmKChkPWEuZyk/KGIuZXhwZXJpbWVudElkc3x8KGIuZXhwZXJpbWVudElkcz1uZXcgb2spLGM9Yi5leHBlcmltZW50SWRzLGQ9Xy5XaihkKSxfLlRqKGMsNCxkKSk6Yi5leHBlcmltZW50SWRzJiZfLiRpKGIuZXhwZXJpbWVudElkcyw0KSk7YS5vJiYoYi5MPWEubyYmYi5UKTthLmwmJihiLks9YS5sKTthLmomJihjPWEuaixiLlI9ITAsYmwoYixjKSk7UmsoYi5qKTthLnphLnZjJiZhLnphLnZjKGEuT2IpO2EuemEuUWkmJmEuemEuUWkoYik7cmV0dXJuIGJ9O18ubGw9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKF8ubGwsXy5KKTtfLm09Xy5sbC5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDE2KX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMTYsYSl9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywxKX07Xy5tLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMSxhKX07Xy5tLk9kPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcyw1Myl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1sPWZ1bmN0aW9uKGEpe3ZhciBiPV8uS2EoKTthPWI/Yi5jcmVhdGVIVE1MKGEpOmE7cmV0dXJuIG5ldyBfLkRjKGEpfTtfLm5sPWZ1bmN0aW9uKGEsYil7Yj1fLkVnKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18ub2w9e307Xy5wbD1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5wbC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTtfLnFsPXt9O18uemY9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiSyIpO307Xy56Zi5wcm90b3R5cGUuSmQ9bnVsbDtfLnpmLnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnR9O18uemYucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Xy56Zi5wcm90b3R5cGUuVGI9ZnVuY3Rpb24oKXtpZih0aGlzLlpiIT09Xy5xbCl0aHJvdyBFcnJvcigiTCIpO3JldHVybiBfLm1sKHRoaXMudG9TdHJpbmcoKSl9O3ZhciBybD1mdW5jdGlvbigpe18uemYuY2FsbCh0aGlzKX07Cl8uRyhybCxfLnpmKTtybC5wcm90b3R5cGUuWmI9Xy5xbDt2YXIgc2w9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uRyhzbCxfLnpmKTtzbC5wcm90b3R5cGUuWmI9Xy5vbDtzbC5wcm90b3R5cGUuSmQ9MTtzbC5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5wbCh0aGlzLnRvU3RyaW5nKCkpfTtfLnRsPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyl7dGhpcy5jb250ZW50PWN9Yi5wcm90b3R5cGU9YS5wcm90b3R5cGU7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7Yz1uZXcgYihTdHJpbmcoYykpO2QhPT12b2lkIDAmJihjLkpkPWQpO3JldHVybiBjfX0ocmwpO18udWw9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjKXt0aGlzLmNvbnRlbnQ9Y31iLnByb3RvdHlwZT1hLnByb3RvdHlwZTtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBiKFN0cmluZyhjKSl9fShzbCk7Xy52bD1SZWdFeHAucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzdGlja3kiKTtfLndsPW5ldyBSZWdFeHAoKF8udmw/IiI6Il4iKSsiKD86IXwvPyhbYS16QS1aXVthLXpBLVowLTk6LV0qKSkiLF8udmw/Imd5IjoiZyIpO18ueGw9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uQihfLnhsLHJsKTsKXy54bC5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtpZih0aGlzLmNvbnRlbnQhPT12b2lkIDApcmV0dXJuIHRoaXMuY29udGVudDtmb3IodmFyIGE9IiIsYj1fLkModGhpcy5VKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSlhKz1jLnZhbHVlO3JldHVybiBhfTtfLnhsLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hKCl9O18ueWw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7dGhpcy5jb250ZW50PSIifWEucHJvdG90eXBlPV8ueGwucHJvdG90eXBlO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgYX19KCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW5fY3NzIik7CgpfLm1hKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW4iKTsKLyoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgemw9ZnVuY3Rpb24oYSxiKXt0aGlzLng9YSE9PXZvaWQgMD9hOjA7dGhpcy55PWIhPT12b2lkIDA/YjowfSxBbD1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ7Zm9yKGQgaW4gYSljW2RdPWIuY2FsbCh2b2lkIDAsYVtkXSxkLGEpO3JldHVybiBjfSxCbD1mdW5jdGlvbihhLGIpe3ZhciBjPWIuY3JlYXRlUmFuZ2UoKTtjLnNlbGVjdE5vZGUoYi5ib2R5KTthPV8ubWwoYSk7cmV0dXJuIGMuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KF8ua2ooYSkpfSxDbD1mdW5jdGlvbihhKXthPWEubm9kZU5hbWU7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YToiRk9STSJ9LERsPWZ1bmN0aW9uKGEpe2E9YS5ub2RlVHlwZTtyZXR1cm4gYT09PTF8fHR5cGVvZiBhIT09Im51bWJlciJ9LEVsPWZ1bmN0aW9uKGEsYixjKXthLnNldEF0dHJpYnV0ZShiLGMpfSxGbD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYShhKX0sR2w9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5yaShhKTt2YXIgZT1hLkosZj1lW18uSF18CjA7aWYoYz09bnVsbClyZXR1cm4gXy50aShlLGYsYiksYTt2YXIgZz1jPT09Xy5UaD83OmNbXy5IXXwwLGg9ZyxrPV8uRWkoZyksbD1rfHxPYmplY3QuaXNGcm96ZW4oYyk7a3x8KGc9MCk7bHx8KGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSk7Z3w9NTtrPTQmZz81MTImZz81MTI6MTAyNCZnPzEwMjQ6MDp2b2lkIDA7az1rIT1udWxsP2s6MTAyNDtnfD1rO2Zvcih2YXIgbj0wO248Yy5sZW5ndGg7bisrKXt2YXIgcT1jW25dLHA9ZChxLGspO09iamVjdC5pcyhxLHApfHwobCYmKGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSksY1tuXT1wKX1nIT09aCYmKGwmJihjPV8ubWkoYyksZz1fLkRpKGcsZikpLF8uU2coYyxnKSk7Xy50aShlLGYsYixjKTtyZXR1cm4gYX0sSGw9ZnVuY3Rpb24oYSl7aWYoXy5PZyl7dmFyIGI7cmV0dXJuKGI9YVtfLmRrXSkhPW51bGw/YjphW18uZGtdPW5ldyBNYXB9aWYoXy5kayBpbiBhKXJldHVybiBhW18uZGtdO2I9bmV3IE1hcDtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwKXy5kayx7dmFsdWU6Yn0pO3JldHVybiBifSxJbD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmdldChkKTtpZihlIT1udWxsKXJldHVybiBlO2Zvcih2YXIgZj1lPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBnPWRbZl07Xy51aShiLGcpIT1udWxsJiYoZSE9PTAmJihjPV8udGkoYixjLGUpKSxlPWcpfWEuc2V0KGQsZSk7cmV0dXJuIGV9LEpsPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM7Zm9yKGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9LEtsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/MTowfSxMbD1mdW5jdGlvbihhLGIpe3ZhciBjPTA7YT0oMCxfLkFjKShTdHJpbmcoYSkpLnNwbGl0KCIuIik7Yj0oMCxfLkFjKShTdHJpbmcoYikpLnNwbGl0KCIuIik7Zm9yKHZhciBkPU1hdGgubWF4KGEubGVuZ3RoLGIubGVuZ3RoKSxlPTA7Yz09MCYmZTxkO2UrKyl7dmFyIGY9YVtlXXx8IiIsZz1iW2VdfHwiIjtkb3tmPS8oXGQqKShcRCopKC4qKS8uZXhlYyhmKXx8WyIiLCIiLCIiLAoiIl07Zz0vKFxkKikoXEQqKSguKikvLmV4ZWMoZyl8fFsiIiwiIiwiIiwiIl07aWYoZlswXS5sZW5ndGg9PTAmJmdbMF0ubGVuZ3RoPT0wKWJyZWFrO2M9S2woZlsxXS5sZW5ndGg9PTA/MDpwYXJzZUludChmWzFdLDEwKSxnWzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KGdbMV0sMTApKXx8S2woZlsyXS5sZW5ndGg9PTAsZ1syXS5sZW5ndGg9PTApfHxLbChmWzJdLGdbMl0pO2Y9ZlszXTtnPWdbM119d2hpbGUoYz09MCl9cmV0dXJuIGN9LE1sPWZ1bmN0aW9uKGEpe2lmKC9eKHNjcmlwdHxzdHlsZSkkL2kudGVzdChhLnRhZ05hbWUpKXRocm93IEVycm9yKCJ0Iik7fSxObD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5wbClyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fSxPbD1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8nL2csCiImYXBvczsiKX0sUGw9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLkRjP2E6Xy5tbChPbChTdHJpbmcoYSkpKX0sUWw9ZnVuY3Rpb24oYSl7dmFyIGI9e25vbmNlOl8uT2EoInNjcmlwdCIsZG9jdW1lbnQpfTthPV8uUmEoYSkudG9TdHJpbmcoKTt2YXIgYz0iPHNjcmlwdCI7aWYoYj09bnVsbD8wOmIuaWQpYys9JyBpZD0iJytPbChiLmlkKSsnIic7aWYoYj09bnVsbD8wOmIubm9uY2UpYys9JyBub25jZT0iJytPbChiLm5vbmNlKSsnIic7aWYoYj09bnVsbD8wOmIudHlwZSljKz0nIHR5cGU9IicrT2woYi50eXBlKSsnIic7aWYoYj09bnVsbD8wOmIuZGVmZXIpYys9IiBkZWZlciI7cmV0dXJuIF8ubWwoYysoIj4iK2ErIlx4M2Mvc2NyaXB0PiIpKX0sUmw9ZnVuY3Rpb24oYSl7dmFyIGI9UGwoIiIpO3JldHVybiBfLm1sKGEubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBfLmtqKFBsKGMpKX0pLmpvaW4oXy5raihiKS50b1N0cmluZygpKSl9LFNsPWZ1bmN0aW9uKGEpe3JldHVybiBSbChhKX0sClZsPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iIixjPU9iamVjdC5rZXlzKGEpLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9Y1tkXSxmPWFbZV07aWYoIVRsLnRlc3QoZSkpdGhyb3cgRXJyb3IoInQiKTtpZihmIT09dm9pZCAwJiZmIT09bnVsbCl7aWYoL15vbi4vaS50ZXN0KGUpKXRocm93IEVycm9yKCJ0Iik7VWwuaW5kZXhPZihlLnRvTG93ZXJDYXNlKCkpIT09LTEmJihmPV8uRWcoU3RyaW5nKGYpKXx8ImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7Zj1lKyc9IicrUGwoU3RyaW5nKGYpKSsnIic7Yis9IiAiK2Z9fXJldHVybiBifSxZbD1mdW5jdGlvbihhKXt2YXIgYj17fTtpZighVGwudGVzdCgiYm9keSIpKXRocm93IEVycm9yKCJ0Iik7aWYoV2wuaW5kZXhPZigiQk9EWSIpIT09LTEpdGhyb3cgRXJyb3IoInQiKTt2YXIgYz0iPGJvZHkiO2ImJihjKz1WbChiKSk7QXJyYXkuaXNBcnJheShhKXx8KGE9YT09PXZvaWQgMD9bXTpbYV0pO1hsLmluZGV4T2YoIkJPRFkiKSE9PS0xPwpjKz0iPiI6KGE9U2woYS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQgaW5zdGFuY2VvZiBfLkRjP2Q6UGwoU3RyaW5nKGQpKX0pKSxjKz0iPiIrYS50b1N0cmluZygpKyI8L2JvZHk+Iik7cmV0dXJuIF8ubWwoYyl9LFpsPWZ1bmN0aW9uKGEpe3RoaXMuaD10aGlzLkI9dGhpcy5sPSIiO3RoaXMuQz1udWxsO3RoaXMuQT10aGlzLmo9IiI7dGhpcy5vPSExO3ZhciBiO2EgaW5zdGFuY2VvZiBabD8odGhpcy5vPWEubywkbCh0aGlzLGEubCksdGhpcy5CPWEuQixhbSh0aGlzLGEuaCksYm0odGhpcyxhLkMpLGNtKHRoaXMsYS5qKSxkbSh0aGlzLGVtKGEuZykpLHRoaXMuQT1hLkEpOmEmJihiPVN0cmluZyhhKS5tYXRjaChfLnJmKSk/KHRoaXMubz0hMSwkbCh0aGlzLGJbMV18fCIiLCEwKSx0aGlzLkI9Zm0oYlsyXXx8IiIpLGFtKHRoaXMsYlszXXx8IiIsITApLGJtKHRoaXMsYls0XSksY20odGhpcyxiWzVdfHwiIiwhMCksZG0odGhpcyxiWzZdfHwiIiwhMCksdGhpcy5BPWZtKGJbN118fCIiKSk6Cih0aGlzLm89ITEsdGhpcy5nPW5ldyBnbShudWxsLHRoaXMubykpfSxobT1mdW5jdGlvbihhKXtyZXR1cm4gXy55YShhKT9hLlRiJiYoYT1hLlRiKCksYSBpbnN0YW5jZW9mIF8uRGMpP2E6UGwoInpTb3l6Iik6UGwoU3RyaW5nKGEpKX0saW09ZnVuY3Rpb24oYSxiKXtiJiZiLmg/Yi5oKGEpOihiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpfSxrbT1mdW5jdGlvbihhLGIpe2E6aWYoYj1hKGJ8fGptLHZvaWQgMCksYT1fLmxiKCksYiYmYi5nP2E9Yi5nKCk6KGE9YS5jcmVhdGVFbGVtZW50KCJESVYiKSxiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpLGEuY2hpbGROb2Rlcy5sZW5ndGg9PTEmJihiPWEuZmlyc3RDaGlsZCxiLm5vZGVUeXBlPT0xKSl7YT1iO2JyZWFrIGF9cmV0dXJuIGF9LG1tPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIik7YT1sbShhLGIpO2I9Yi5ib2R5O2IuYXBwZW5kQ2hpbGQoYSk7Yj0obmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKGIpOwpiPWIuc2xpY2UoYi5pbmRleE9mKCI+IikrMSxiLmxhc3RJbmRleE9mKCI8LyIpKTtyZXR1cm4gXy5tbChiKX0sbm09ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigpO3JldHVybiBhfSxvbT1mdW5jdGlvbihhLGIsYyl7aWYoYilyZXR1cm4gbm0oYSk7dmFyIGQ7cmV0dXJuKGQ9Xy5waShhKSkhPW51bGw/ZDpjPyIiOnZvaWQgMH0scm09ZnVuY3Rpb24oKXtyZXR1cm4gcG18fChwbT1uZXcgXy55aChfLlRnKFtdKSx2b2lkIDAsdm9pZCAwLHZvaWQgMCxxbSkpfSxzbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkosZj1lW18uSF18MDtjPV8uV2coYSxmKT8xOmM7ZD0hIWR8fGM9PT0zO2M9PT0yJiZfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCk7YT1fLkJpKGUsYik7dmFyIGc9YT09PV8uVGg/NzphW18uSF18MCxoPV8uQ2koZyxmKTt2YXIgaz00Jmg/ITE6ITA7aWYoayl7NCZoJiYoYT1fLm1pKGEpLGc9MCxoPV8uRGkoaCxmKSxmPV8udGkoZSwKZixiLGEpKTtmb3IodmFyIGw9MCxuPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBxPV8ucGkoYVtsXSk7cSE9bnVsbCYmKGFbbisrXT1xKX1uPGwmJihhLmxlbmd0aD1uKTtoPShofDQpJi01MTM7aCY9LTEwMjU7aCY9LTQwOTd9aCE9PWcmJihfLlNnKGEsaCksMiZoJiZPYmplY3QuZnJlZXplKGEpKTtyZXR1cm4gYT1fLkZpKGEsaCxlLGYsYixjLGssZCl9LHVtPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRtOyFkJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7dmFyIGY9Xy51aShiLDEpO2E9ITE7aWYoZj09bnVsbCl7aWYoZClyZXR1cm4gcm0oKTtmPVtdfWVsc2UgaWYoZi5jb25zdHJ1Y3Rvcj09PV8ueWgpaWYoZi5LYiYyJiYhZClmPV8uemgoZik7ZWxzZSByZXR1cm4gZjtlbHNlIEFycmF5LmlzQXJyYXkoZik/YT0hISgoZltfLkhdfDApJjIpOmY9W107aWYoZCl7aWYoIWYubGVuZ3RoKXJldHVybiBybSgpO2F8fChhPSEwLF8uVGcoZikpfWVsc2UgaWYoYSl7YT0hMTtfLlVnKGYpOwpkPV8ubWkoZik7Zm9yKGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIGc9ZFtmXT1fLm1pKGRbZl0pO0FycmF5LmlzQXJyYXkoZ1sxXSkmJihnWzFdPV8uVGcoZ1sxXSkpfWY9Xy5VZyhkKX0hYSYmYyYzMiYmXy5saShmKTtlPW5ldyBfLnloKGYsZSxvbSx2b2lkIDApO2M9Xy50aShiLGMsMSxlKTthfHxfLnNpKGIsYyk7cmV0dXJuIGV9LHZtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMudG9wPWE7dGhpcy5yaWdodD1iO3RoaXMuYm90dG9tPWM7dGhpcy5sZWZ0PWR9LHdtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9LHhtPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9YS5sZW5ndGgsZT0wLGY9W10sZyxoLGs9MDtrPGQ7KXtzd2l0Y2goZSl7Y2FzZSAwOnZhciBsPWEuaW5kZXhPZigiPCIsayk7aWYobDwwKXtpZihjLmxlbmd0aD09PTApcmV0dXJuIGE7Yy5wdXNoKGEuc3Vic3RyaW5nKGspKTtrPWR9ZWxzZSBjLnB1c2goYS5zdWJzdHJpbmcoaywKbCkpLGg9bCxrPWwrMSxfLnZsPyhfLndsLmxhc3RJbmRleD1rLGw9Xy53bC5leGVjKGEpKTooXy53bC5sYXN0SW5kZXg9MCxsPV8ud2wuZXhlYyhhLnN1YnN0cmluZyhrKSkpLGw/KGY9WyI8IixsWzBdXSxnPWxbMV0sZT0xLGsrPWxbMF0ubGVuZ3RoKTpjLnB1c2goIjwiKTticmVhaztjYXNlIDE6bD1hLmNoYXJBdChrKyspO3N3aXRjaChsKXtjYXNlICInIjpjYXNlICciJzp2YXIgbj1hLmluZGV4T2YobCxrKTtuPDA/az1kOihmLnB1c2gobCxhLnN1YnN0cmluZyhrLG4rMSkpLGs9bisxKTticmVhaztjYXNlICI+IjpmLnB1c2gobCk7Yy5wdXNoKGIoZi5qb2luKCIiKSxnKSk7ZT0wO2Y9W107aD1nPW51bGw7YnJlYWs7ZGVmYXVsdDpmLnB1c2gobCl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31lPT09MSYmaz49ZCYmKGs9aCsxLGMucHVzaCgiPCIpLGU9MCxmPVtdLGg9Zz1udWxsKX1yZXR1cm4gYy5qb2luKCIiKX0sRG09ZnVuY3Rpb24oKXt2YXIgYT15bShfLmpsKF8uaWwoem0oKSwKZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0pLk1jKCkpKSxiPUFtKCkubWFwKGZ1bmN0aW9uKGMpe3ZhciBkO2E6e3ZhciBlPWMubztpZihlPT1udWxsKWM9bnVsbDtlbHNlIGlmKHR5cGVvZiBlPT09Im51bWJlciIpYz1lO2Vsc2V7aWYodHlwZW9mIGU9PT0ic3RyaW5nIil7dmFyIGY9TnVtYmVyKGUpO2lmKCFpc05hTihmKSYmKGYhPT0wfHxlLnRyaW0oKS5sZW5ndGghPT0wKSl7Yz1mO2JyZWFrIGF9fXRocm93IEJtKGMsIm51bWJlciIpO319cmV0dXJuKGQ9YykhPW51bGw/ZDowfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjPjB9KTtiLmxlbmd0aD4wJiYoYj1DbShiKSxhLmc9Yik7cmV0dXJuIF8ua2woYSl9LEVtPWZ1bmN0aW9uKGEpe3JldHVybiJ0cmFuc2xhdGU6IithfSxLbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRm07Yj1fLlRqKGIsMSxhLm5hbWUpO3ZhciBjPUdtKGEuc3RhcnRUaW1lKTtiPV8uTChiLDIsYyk7YT1IbShhLmR1cmF0aW9uKTthPV8uTChiLDMsYSk7Yj1uZXcgSW07CnJldHVybiBKbShhLDUsYil9LEdtPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBMbTtiLnNldFNlY29uZHMoTWF0aC5mbG9vcihhLzFFMykpO2E9TWF0aC5yb3VuZChhJTFFMyoxRTYpO18uR2koYiwyLGE9PW51bGw/YTpfLkJqKGEpLDApO3JldHVybiBifSxIbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgTW07Yi5zZXRTZWNvbmRzKE1hdGguZmxvb3IoYS8xRTMpKTthPU1hdGgucm91bmQoYSUxRTMqMUU2KTtfLkdpKGIsMixhPT1udWxsP2E6Xy5CaihhKSwwKTtyZXR1cm4gYn0sTm09ZnVuY3Rpb24oYSl7cmV0dXJuIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiYoYT1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGEsIm1hcmsiKSxhLmxlbmd0aD09MSk/YVswXTpudWxsfSxPbT1mdW5jdGlvbihhLGIpe3JldHVybiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UubWVhc3VyZT9wZXJmb3JtYW5jZS5tZWFzdXJlKGEsYil8fG51bGw6bnVsbH0sUm09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPQpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2Quc3BsaWNlKDAsMik7ZD0ibCIrYS50b1N0cmluZygxNikrImkiK2IudG9TdHJpbmcoMTYpKyhkLmxlbmd0aD8iLSIrZC5qb2luKCJfIik6IiIpO1BtP1BtLnB1c2goZCk6UW0oZCl9LFZtPWZ1bmN0aW9uKCl7dmFyIGE9U218fChTbT1UbSgnW251bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiKGZ1bmN0aW9uKCl7XCd1c2Ugc3RyaWN0XCc7dmFyIGZcXHUwMDNkdHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzXFx1MDAzZFxcdTAwM2RcXCJmdW5jdGlvblxcIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxjLGIpe2lmKGFcXHUwMDNkXFx1MDAzZEFycmF5LnByb3RvdHlwZXx8YVxcdTAwM2RcXHUwMDNkT2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2NdXFx1MDAzZGIudmFsdWU7cmV0dXJuIGF9O2Z1bmN0aW9uIGcoYSl7YVxcdTAwM2RbXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsVGhpc1xcdTAwMjZcXHUwMDI2Z2xvYmFsVGhpcyxhLFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHdpbmRvd1xcdTAwMjZcXHUwMDI2d2luZG93LFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHNlbGZcXHUwMDI2XFx1MDAyNnNlbGYsXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsXFx1MDAyNlxcdTAwMjZnbG9iYWxdO2Zvcih2YXIgY1xcdTAwM2QwO2NcXHUwMDNjYS5sZW5ndGg7KytjKXt2YXIgYlxcdTAwM2RhW2NdO2lmKGJcXHUwMDI2XFx1MDAyNmIuTWF0aFxcdTAwM2RcXHUwMDNkTWF0aClyZXR1cm4gYn10aHJvdyBFcnJvcihcXCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0XFwiKTt9dmFyIGhcXHUwMDNkZyh0aGlzKTtcXG5mdW5jdGlvbiBrKGEsYyl7aWYoYylhOnt2YXIgYlxcdTAwM2RoO2FcXHUwMDNkYS5zcGxpdChcXCIuXFwiKTtmb3IodmFyIGRcXHUwMDNkMDtkXFx1MDAzY2EubGVuZ3RoLTE7ZCsrKXt2YXIgZVxcdTAwM2RhW2RdO2lmKCEoZSBpbiBiKSlicmVhayBhO2JcXHUwMDNkYltlXX1hXFx1MDAzZGFbYS5sZW5ndGgtMV07ZFxcdTAwM2RiW2FdO2NcXHUwMDNkYyhkKTtjIVxcdTAwM2RkXFx1MDAyNlxcdTAwMjZjIVxcdTAwM2RudWxsXFx1MDAyNlxcdTAwMjZmKGIsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX19ayhcXCJnbG9iYWxUaGlzXFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxofSk7LypcXG5cXG4gQ29weXJpZ2h0IEdvb2dsZSBMTENcXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcXG4qL1xcbnZhciBsXFx1MDAzZGdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLG07ZnVuY3Rpb24gbigpe3ZhciBhXFx1MDAzZG51bGw7aWYoIWwpcmV0dXJuIGE7dHJ5e3ZhciBjXFx1MDAzZGZ1bmN0aW9uKGIpe3JldHVybiBifTthXFx1MDAzZGwuY3JlYXRlUG9saWN5KFxcImdvb2cjaHRtbFxcIix7Y3JlYXRlSFRNTDpjLGNyZWF0ZVNjcmlwdDpjLGNyZWF0ZVNjcmlwdFVSTDpjfSl9Y2F0Y2goYil7fXJldHVybiBhfTtmdW5jdGlvbiBwKGEpe3RoaXMuZ1xcdTAwM2RhfXAucHJvdG90eXBlLnRvU3RyaW5nXFx1MDAzZGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZytcXCJcXCJ9O2Z1bmN0aW9uIHEoYSl7bVxcdTAwM2RcXHUwMDNkXFx1MDAzZHZvaWQgMFxcdTAwMjZcXHUwMDI2KG1cXHUwMDNkbigpKTthXFx1MDAzZG0/bS5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IHAoYSl9O2lmKCFmdW5jdGlvbigpe2lmKHNlbGYub3JpZ2luKXJldHVybiBzZWxmLm9yaWdpblxcdTAwM2RcXHUwMDNkXFx1MDAzZFxcIm51bGxcXCI7aWYobG9jYXRpb24uaG9zdCFcXHUwMDNkXFx1MDAzZFxcIlxcIilyZXR1cm4hMTt0cnl7cmV0dXJuIHdpbmRvdy5wYXJlbnQuZXNjYXBlKFxcIlxcIiksITF9Y2F0Y2goYSl7cmV0dXJuITB9fSgpKXRocm93IEVycm9yKFxcInNhbmRib3hpbmcgZXJyb3JcXCIpO1xcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxcIm1lc3NhZ2VcXCIsZnVuY3Rpb24oYSl7dmFyIGNcXHUwMDNkYS5wb3J0c1swXTthXFx1MDAzZGEuZGF0YTt2YXIgYlxcdTAwM2RhLmNhbGxiYWNrTmFtZS5zcGxpdChcXCIuXFwiKSxkXFx1MDAzZHdpbmRvdztiWzBdXFx1MDAzZFxcdTAwM2RcXHUwMDNkXFwid2luZG93XFwiXFx1MDAyNlxcdTAwMjZiLnNoaWZ0KCk7Zm9yKHZhciBlXFx1MDAzZDA7ZVxcdTAwM2NiLmxlbmd0aC0xO2UrKylkW2JbZV1dXFx1MDAzZHt9LGRcXHUwMDNkZFtiW2VdXTtkW2JbYi5sZW5ndGgtMV1dXFx1MDAzZGZ1bmN0aW9uKHIpe2MucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkocikpfTtiXFx1MDAzZGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFwic2NyaXB0XFwiKTthXFx1MDAzZHEoYS51cmwpO2lmKGEgaW5zdGFuY2VvZiBwKWFcXHUwMDNkYS5nO2Vsc2UgdGhyb3cgRXJyb3IoXFwiXFwiKTtiLnNyY1xcdTAwM2RhO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYil9LCEwKTt9KS5jYWxsKHRoaXMpO1xcbiJdJykpOwppZighYSlyZXR1cm4gbnVsbDthPV8ucGkoXy5aaShhLDYsdm9pZCAwLFVtKSk7dmFyIGI7YT09PW51bGx8fGE9PT12b2lkIDA/Yj1udWxsOmI9Xy5RYShhKTtyZXR1cm4gYn0sV209ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSljPWMudmFsdWUsYltjLmxhbmd1YWdlXT1jLm5hbWU7cmV0dXJuIGJ9LFhtPWZ1bmN0aW9uKCl7fSxZbT1mdW5jdGlvbihhLGIpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmw9bmV3IF8uSGIodGhpcyk7dGhpcy5RYihhfHxudWxsKTtiJiYodGhpcy5VYj1iKX0sYm49ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLngodGhpcy5nLCJmb2N1cyIsdGhpcywhMCk7dGhpcy5qPV8ueCh0aGlzLmcsImJsdXIiLHRoaXMsITApfSxjbj1mdW5jdGlvbigpe30sZG49ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZWxlbWVudD1hO3RoaXMuaj1iO3RoaXMubD1jfSxlbj1mdW5jdGlvbihhLApiKXt0aGlzLmc9YSBpbnN0YW5jZW9mIHpsP2E6bmV3IHpsKGEsYil9LGZuPWZ1bmN0aW9uKGEsYil7dGhpcy5vPWJ8fHZvaWQgMDtZbS5jYWxsKHRoaXMsYSl9LE89ZnVuY3Rpb24oYSxiLGMpe3RoaXMuRz1jfHwoYT9fLmxiKGduKGEpKTpfLmxiKCkpO2ZuLmNhbGwodGhpcyx0aGlzLkcuUygiRElWIix7c3R5bGU6InBvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTsifSkpO3RoaXMucmE9bmV3IHpsKDEsMSk7dGhpcy5BPW5ldyBTZXQ7dGhpcy5DPW51bGw7YSYmdGhpcy5hdHRhY2goYSk7YiE9bnVsbCYmdGhpcy5LYShiKX0saG49ZnVuY3Rpb24oYSl7YT1hLmNsYXNzTmFtZTtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaCgvXFMrL2cpfHxbXX0sa249ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWMubGVuZ3RoK2QubGVuZ3RoO2puKGMsZCk7YS5jbGFzc05hbWU9Yy5qb2luKCIgIik7CnJldHVybiBjLmxlbmd0aD09ZX0sbW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWxuKGMsZCk7YS5jbGFzc05hbWU9ZS5qb2luKCIgIik7cmV0dXJuIGUubGVuZ3RoPT1jLmxlbmd0aC1kLmxlbmd0aH0sam49ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKylfLnRhKGEsYltjXSl8fGEucHVzaChiW2NdKX0sbG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIV8udGEoYixjKX0pfSxubj1mdW5jdGlvbihhLGIpe3JldHVybiBfLnRhKGhuKGEpLGIpfSxvbj1mdW5jdGlvbihhLGIsYyl7Yz9rbihhLGIpOm1uKGEsYil9LHRuPWZ1bmN0aW9uKGEpe3JldHVybiBwbihuZXcgcW4sc20oYSwxLF8uYWooKSkubWFwKGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bmV3IHJuO2I9c24oZCwxLGIpO2lmKHNtKGEsMixfLmFqKCkpLmxlbmd0aD5jKXtkPXNtKGEsMiwKMywhMCk7aWYodHlwZW9mIGMhPT0ibnVtYmVyInx8YzwwfHxjPj1kLmxlbmd0aCl0aHJvdyBFcnJvcigpO3NuKGIsMyxkW2NdKX1yZXR1cm4gYn0pKX0sdW49ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHJuO2I9c24oYiwxLGFbMF0pO2EubGVuZ3RoPT09MyYmc24oYiwzLGFbMl0pO3JldHVybiBifSx2bj1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaihhLHJuLDEpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gXy5OKGIsMyk/W18uTihiLDEpLDIwMCxfLk4oYiwzKV06W18uTihiLDEpLDIwMF19KX0sd249ZnVuY3Rpb24oKXt9LHhuPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmg9YXx8Xy5sYigpO3RoaXMubGE9bnVsbDt0aGlzLmpiPSExO3RoaXMuQz1udWxsO3RoaXMuTz12b2lkIDA7dGhpcy5SPXRoaXMuRj10aGlzLks9bnVsbDt0aGlzLndhPSExfSx5bj1mdW5jdGlvbihhKXt2YXIgYj1fLmxiKCksYz1iLmcsZD1iLmNyZWF0ZUVsZW1lbnQoIlNUWUxFIiksZT1fLk9hKCJzdHlsZSIsCmMpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7ZC50eXBlPSJ0ZXh0L2NzcyI7Yj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJIRUFEIilbMF07ZC5zdHlsZVNoZWV0P2Quc3R5bGVTaGVldC5jc3NUZXh0PWE6ZC5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKGEpKTtiLmFwcGVuZENoaWxkKGQpO3JldHVybiBkfSxDbj1mdW5jdGlvbigpe2Zvcih2YXIgYSBpbiBPYmplY3QucHJvdG90eXBlKXtfLnpjPWZ1bmN0aW9uKGQsZSxmKXtmb3IodmFyIGcgaW4gZClkW2ddIT09T2JqZWN0LnByb3RvdHlwZVtnXSYmZS5jYWxsKGYsZFtnXSxnLGQpfTticmVha312YXIgYj1EYXRlLm5vdygpLGM9em4oQW4pO2MmJnR5cGVvZiBjPT0iZnVuY3Rpb24iJiYoQm49PTE/YygpOmZ1bmN0aW9uIGUoKXt2YXIgZj1kb2N1bWVudC5yZWFkeVN0YXRlO18ub2MoZik9PSJ1bmRlZmluZWQifHxmPT0iY29tcGxldGUifHxmPT0iaW50ZXJhY3RpdmUifHxEYXRlLm5vdygpLWI+PTJFND9jKCk6d2luZG93LnNldFRpbWVvdXQoZSwKNTAwKX0oKSl9O18ubT16bC5wcm90b3R5cGU7Xy5tLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsJiYodGhpcz09YT8hMDp0aGlzJiZhP3RoaXMueD09YS54JiZ0aGlzLnk9PWEueTohMSl9O18ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguY2VpbCh0aGlzLngpO3RoaXMueT1NYXRoLmNlaWwodGhpcy55KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLm0ucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLngrPWEueCx0aGlzLnkrPWEueSk6KHRoaXMueCs9TnVtYmVyKGEpLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnkrPWIpKTtyZXR1cm4gdGhpc307CnZhciBEbj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IHpsKGEueCxhLnkpfSxFbj1bImRhdGE6IiwiaHR0cDoiLCJodHRwczoiLCJtYWlsdG86IiwiZnRwOiJdLEZuPWZ1bmN0aW9uKGEpe3ZhciBiPTE7YT1hLnNwbGl0KCI6Iik7Zm9yKHZhciBjPVtdO2I+MCYmYS5sZW5ndGg7KWMucHVzaChhLnNoaWZ0KCkpLGItLTthLmxlbmd0aCYmYy5wdXNoKGEuam9pbigiOiIpKTtyZXR1cm4gY30sR249ZnVuY3Rpb24oYSxiLGMpe2M9YS5nLmdldChjKTtyZXR1cm4oYz09bnVsbD8wOmMuaGFzKGIpKT9jLmdldChiKTphLmwuaGFzKGIpP3t1YToxfTooYz1hLm8uZ2V0KGIpKT9jOmEuaCYmW10uY29uY2F0KF8uJGIoYS5oKSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gYi5pbmRleE9mKGQpPT09MH0pP3t1YToxfTp7dWE6MH19LEhuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1DbChiKTtjPWMuY3JlYXRlRWxlbWVudChkKTtiPWIuYXR0cmlidXRlcztmb3IodmFyIGU9Xy5DKGIpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPQplLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtmPWcubmFtZTtnPWcudmFsdWU7dmFyIGg9R24oYS5nLGYsZCksazthOntpZihrPWguY29uZGl0aW9ucyl7az1fLkMoayk7Zm9yKHZhciBsPWsubmV4dCgpOyFsLmRvbmU7bD1rLm5leHQoKSl7dmFyIG49Xy5DKGwudmFsdWUpO2w9bi5uZXh0KCkudmFsdWU7bj1uLm5leHQoKS52YWx1ZTt2YXIgcT12b2lkIDA7aWYoKGw9KHE9Yi5nZXROYW1lZEl0ZW0obCkpPT1udWxsP3ZvaWQgMDpxLnZhbHVlKSYmIW4uaGFzKGwpKXtrPSExO2JyZWFrIGF9fX1rPSEwfWlmKGspc3dpdGNoKGgudWEpe2Nhc2UgMTpFbChjLGYsZyk7YnJlYWs7Y2FzZSAyOnRocm93IEVycm9yKCk7Y2FzZSAzOkVsKGMsZixnLnRvTG93ZXJDYXNlKCkpO2JyZWFrO2Nhc2UgNDpFbChjLGYsZyk7YnJlYWs7Y2FzZSA1OkVsKGMsZixnKTticmVhaztjYXNlIDY6RWwoYyxmLGcpO2JyZWFrO2Nhc2UgNzphOmlmKGg9dm9pZCAwLGs9ZyxfLkNjKXt0cnl7aD1uZXcgVVJMKGspfWNhdGNoKHApe2g9CiJodHRwczoiO2JyZWFrIGF9aD1oLnByb3RvY29sfWVsc2UgYjp7aD1rO2s9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtrLmhyZWY9aH1jYXRjaChwKXtoPXZvaWQgMDticmVhayBifWg9ay5wcm90b2NvbDtoPWg9PT0iOiJ8fGg9PT0iIj8iaHR0cHM6IjpofWc9aCE9PXZvaWQgMCYmRW4uaW5kZXhPZihoLnRvTG93ZXJDYXNlKCkpIT09LTE/ZzoiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiO0VsKGMsZixnKX19cmV0dXJuIGN9LGxtPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5xZDthPUJsKGEsYik7YT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGEsNSxmdW5jdGlvbihoKXtpZihoLm5vZGVUeXBlPT09MyloPTE7ZWxzZSBpZihEbChoKSlpZihoPUNsKGgpLGg9PT1udWxsKWg9MjtlbHNle3ZhciBrPWMuZztoPWghPT0iRk9STSImJihrLmouaGFzKGgpfHxrLmcuaGFzKGgpKT8xOjJ9ZWxzZSBoPTI7cmV0dXJuIGh9KTtmb3IodmFyIGQ9YS5uZXh0Tm9kZSgpLGU9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksCmY9ZTtkIT09bnVsbDspe3ZhciBnPXZvaWQgMDtpZihkLm5vZGVUeXBlPT09MylnPWMuY3JlYXRlVGV4dE5vZGUoZC5kYXRhKTtlbHNlIGlmKERsKGQpKWc9SG4oYyxkLGIpO2Vsc2UgdGhyb3cgRXJyb3IoInQiKTtmLmFwcGVuZENoaWxkKGcpO2lmKGQ9YS5maXJzdENoaWxkKCkpZj1nO2Vsc2UgZm9yKDshKGQ9YS5uZXh0U2libGluZygpKSYmKGQ9YS5wYXJlbnROb2RlKCkpOylmPWYucGFyZW50Tm9kZX1yZXR1cm4gZX0sSW49ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYj1iJiZiIT0iKiI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6IiIpP2EucXVlcnlTZWxlY3RvckFsbChiKTphLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIil9LEpuPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8uVmN8fGEuY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP2EuYm9keXx8YS5kb2N1bWVudEVsZW1lbnQ6YS5kb2N1bWVudEVsZW1lbnR9LEtuPWZ1bmN0aW9uKGEpe3ZhciBiPQpKbihhKTthPWEuZGVmYXVsdFZpZXc7cmV0dXJuIG5ldyB6bCgoYT09bnVsbD92b2lkIDA6YS5wYWdlWE9mZnNldCl8fGIuc2Nyb2xsTGVmdCwoYT09bnVsbD92b2lkIDA6YS5wYWdlWU9mZnNldCl8fGIuc2Nyb2xsVG9wKX0sTG49ZnVuY3Rpb24oYSl7dmFyIGI9e307YT0oYS5nJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPj0yP2EuZy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8IiI6IiIpLnNwbGl0KCJcclxuIik7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoIS9eW1xzXHhhMF0qJC8udGVzdChhW2NdKSl7dmFyIGQ9Rm4oYVtjXSksZT1kWzBdO2Q9ZFsxXTtpZih0eXBlb2YgZD09PSJzdHJpbmciKXtkPWQudHJpbSgpO3ZhciBmPWJbZV18fFtdO2JbZV09ZjtmLnB1c2goZCl9fXJldHVybiBBbChiLGZ1bmN0aW9uKGcpe3JldHVybiBnLmpvaW4oIiwgIil9KX0sTW49WzQsNSw2XSxKbT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9TW47Yz1fLkppKGMpO2E6e3ZhciBlPWM7Xy5yaShhKTsKdmFyIGY9YS5KLGc9ZltfLkhdfDA7aWYoZT09bnVsbCl7dmFyIGg9SGwoZik7aWYoSWwoaCxmLGcsZCk9PT1iKWguc2V0KGQsMCk7ZWxzZSBicmVhayBhfWVsc2V7aD1IbChmKTt2YXIgaz1JbChoLGYsZyxkKTtrIT09YiYmKGsmJihnPV8udGkoZixnLGspKSxoLnNldChkLGIpKX1fLnRpKGYsZyxiLGUpfWMmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9LExtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihMbSxfLkopO0xtLnByb3RvdHlwZS5nZXRTZWNvbmRzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaGsodGhpcywxKX07TG0ucHJvdG90eXBlLnNldFNlY29uZHM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR2kodGhpcywxLGE9PW51bGw/YTpfLkpqKGEpLCIwIil9O3ZhciBNbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoTW0sXy5KKTtNbS5wcm90b3R5cGUuZ2V0U2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiBfLmhrKHRoaXMsMSl9OwpNbS5wcm90b3R5cGUuc2V0U2Vjb25kcz1mdW5jdGlvbihhKXtyZXR1cm4gXy5HaSh0aGlzLDEsYT09bnVsbD9hOl8uSmooYSksIjAiKX07dmFyIE5uPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLktrO3JldHVybiBfLmlrKGIsMTEsYSl9LHptPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8uaGwoMTg3MSwiMCIpO2EuQT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20vZWxlbWVudC9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjtyZXR1cm4gYX0seW09ZnVuY3Rpb24oYSl7YS5oPU9uO3JldHVybiBhfSxJbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoSW0sXy5KKTt2YXIgUG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFBuLF8uSik7dmFyIEZtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihGbSxfLkopO3ZhciBRbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoUW4sXy5KKTt2YXIgUm49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Cl8uQihSbixfLkopO3ZhciBTbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoU24sXy5KKTt2YXIgVG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFRuLF8uSik7CnZhciBVbj1mdW5jdGlvbihhKXtfLnJpKGEpO2E9YS5KO3ZhciBiPWFbXy5IXXwwLGM9Xy51aShhLDExMiksZD12b2lkIDA9PT1fLlhoLGU9Xy5oaChjLFRuLCFkLGIpOyFkfHxlPyhlPV8ua2goZSksYyE9PWUmJihiPV8udGkoYSxiLDExMixlKSxfLnNpKGEsYikpLGE9ZSk6YT12b2lkIDA7cmV0dXJuIGF9LFZuPWZ1bmN0aW9uKGEsYil7YS5VIT09dm9pZCAwP2EuVS5wdXNoKGIpOmEuY29udGVudCs9YjtyZXR1cm4gYX0sV249ZnVuY3Rpb24oYSxiKXthLlUhPT12b2lkIDA/YS5VLnB1c2goYik6YiBpbnN0YW5jZW9mIF8ueGw/Yi5jb250ZW50IT09dm9pZCAwP2EuY29udGVudCs9Yi5tYSgpOihhLlU9W2EuY29udGVudCxiXSxhLmNvbnRlbnQ9dm9pZCAwKTphLmNvbnRlbnQrPWI7cmV0dXJuIGF9LFhuPWZ1bmN0aW9uKGEpe3ZhciBiO2E9Xy5DKChiPWEuVSkhPW51bGw/YjpbXSk7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWlmKGI9Yi52YWx1ZSxiIGluc3RhbmNlb2YKXy54bCYmWG4oYikpcmV0dXJuITA7cmV0dXJuITF9LFpuPWZ1bmN0aW9uKGEsYil7Yj1ZbihifHx7fSxhLmg/YS5oLmdldERhdGEoKTp7fSk7YS5nKG51bGwsYi5aYik7cmV0dXJuIGIuaigpfSwkbj17fSxhbz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgemwoYS54LWIueCxhLnktYi55KX0sYm89LyYvZyxjbz0vPC9nLGVvPS8+L2csZm89LyIvZyxnbz0vJy9nLGhvPS9ceDAwL2csaW89L1tceDAwJjw+IiddLyxqbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9ceGEwfFsgXHRdKy9nLCIgIil9LGtvPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1tcc1x4YTBdKyQvLCIiKX0sbG89ZnVuY3Rpb24oYSl7aW8udGVzdChhKSYmKGEuaW5kZXhPZigiJiIpIT0tMSYmKGE9YS5yZXBsYWNlKGJvLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShjbywiJmx0OyIpKSxhLmluZGV4T2YoIj4iKSE9LTEmJihhPWEucmVwbGFjZShlbywiJmd0OyIpKSxhLmluZGV4T2YoJyInKSE9Ci0xJiYoYT1hLnJlcGxhY2UoZm8sIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZShnbywiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2UoaG8sIiYjMDsiKSkpO3JldHVybiBhfSxtbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mKFteO10rKTsvZyxmdW5jdGlvbihiLGMpe3N3aXRjaChjKXtjYXNlICJhbXAiOnJldHVybiImIjtjYXNlICJsdCI6cmV0dXJuIjwiO2Nhc2UgImd0IjpyZXR1cm4iPiI7Y2FzZSAicXVvdCI6cmV0dXJuJyInO2RlZmF1bHQ6cmV0dXJuIGMuY2hhckF0KDApIT0iIyJ8fChjPU51bWJlcigiMCIrYy5zbGljZSgxKSksaXNOYU4oYykpP2I6U3RyaW5nLmZyb21DaGFyQ29kZShjKX19KX0sbm89LyYoW147XHM8Jl0rKTs/L2csb289ZnVuY3Rpb24oYSl7dmFyIGI9eyImYW1wOyI6IiYiLCImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIid9O3ZhciBjPV8udi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKcmV0dXJuIGEucmVwbGFjZShubyxmdW5jdGlvbihkLGUpe3ZhciBmPWJbZF07aWYoZilyZXR1cm4gZjtlLmNoYXJBdCgwKT09IiMiJiYoZT1OdW1iZXIoIjAiK2Uuc2xpY2UoMSkpLGlzTmFOKGUpfHwoZj1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpKSk7Znx8KGY9Xy5tbChkKyIgIiksYy5ub2RlVHlwZT09PTEmJk1sKGMpLGMuaW5uZXJIVE1MPV8ua2ooZiksZj1jLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnNsaWNlKDAsLTEpKTtyZXR1cm4gYltkXT1mfSl9LHBvPWZ1bmN0aW9uKGEpe3JldHVybiBhLmluZGV4T2YoIiYiKSE9LTE/ImRvY3VtZW50ImluIF8udj9vbyhhKTptbyhhKTphfSxybz1mdW5jdGlvbihhKXt2YXIgYj1xbztyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIjcuMCIpP2JbIjcuMCJdOmJbIjcuMCJdPWEoIjcuMCIpfSxxbz17fSxzbz1mdW5jdGlvbigpe3JldHVybiBybyhmdW5jdGlvbigpe3JldHVybiBMbChfLmpkLCI3LjAiKT49MH0pfSwKVGw9L15bYS16XVthLXpcZC1dKiQvaSxXbD0iQVBQTEVUIEJBU0UgRU1CRUQgSUZSQU1FIExJTksgTUFUSCBNRVRBIE9CSkVDVCBTQ1JJUFQgU1RZTEUgU1ZHIFRFTVBMQVRFIi5zcGxpdCgiICIpLFhsPSJBUkVBIEJSIENPTCBDT01NQU5EIEhSIElNRyBJTlBVVCBLRVlHRU4gUEFSQU0gU09VUkNFIFRSQUNLIFdCUiIuc3BsaXQoIiAiKSxVbD1bImFjdGlvbiIsImZvcm1hY3Rpb24iLCJocmVmIl0sdG89ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IE1hcH07CnRvLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPVBsKCJfc2FmZXZhbHVlc19mb3JtYXRfbWFya2VyXzoiKS50b1N0cmluZygpO2E9UGwoYSkudG9TdHJpbmcoKS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxceyIrYysiW1xcdyYjO10rXFx9IiwiZyIpLGZ1bmN0aW9uKGQpe3ZhciBlO2lmKGU9Yi5nLmdldChkKSl7ZD0iIjtzd2l0Y2goZS50eXBlKXtjYXNlICJodG1sIjpkPWUueGY7YnJlYWs7Y2FzZSAic3RhcnRUYWciOmQ9IjwiK2UudGFnTmFtZStlLmF0dHJpYnV0ZXMrIj4iO2JyZWFrO2Nhc2UgImVuZFRhZyI6ZD0iPC8iK2UudGFnTmFtZSsiPiJ9ZT1kfWVsc2UgZT1kO3JldHVybiBlfSk7cmV0dXJuIF8ubWwoYSl9O3RvLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKGEpe3JldHVybiB1byh0aGlzLHt0eXBlOiJodG1sIix4ZjpQbChhKS50b1N0cmluZygpfSl9Owp2YXIgdW89ZnVuY3Rpb24oYSxiKXt2YXIgYz0ie19zYWZldmFsdWVzX2Zvcm1hdF9tYXJrZXJfOiIrYS5nLnNpemUrIl8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpKyJ9IjthLmcuc2V0KFBsKGMpLnRvU3RyaW5nKCksYik7cmV0dXJuIGN9LGduPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKGRvY3VtZW50LGEpfSx2bz1mdW5jdGlvbihhKXt2YXIgYj1hfHxkb2N1bWVudDtiLmdldEVsZW1lbnRzQnlDbGFzc05hbWU/YT1iLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIilbMF06KGI9ZG9jdW1lbnQsYT0oYXx8YikucXVlcnlTZWxlY3RvcigiLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIikpO3JldHVybiBhfHxudWxsfSx3bz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ueWQoZG9jdW1lbnQsYXJndW1lbnRzKX0seG89ZnVuY3Rpb24oYSxiKXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwKYi5uZXh0U2libGluZyl9LHlvPWZ1bmN0aW9uKGEpe3JldHVybiBfLnlhKGEpJiZhLm5vZGVUeXBlPT0xfSx6bz1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVudFdpbmRvdy5kb2N1bWVudH0sQW89ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmNvbnRlbnRXaW5kb3d8fChhLmNvbnRlbnREb2N1bWVudD9fLm1iKGEuY29udGVudERvY3VtZW50KTpudWxsKX1jYXRjaChiKXt9cmV0dXJuIG51bGx9LEJvPXtTQ1JJUFQ6MSxTVFlMRToxLEhFQUQ6MSxJRlJBTUU6MSxPQkpFQ1Q6MX0sQ289e0lNRzoiICIsQlI6IlxuIn0sRG89ZnVuY3Rpb24oYSxiLGMpe2lmKCEoYS5ub2RlTmFtZSBpbiBCbykpaWYoYS5ub2RlVHlwZT09MyljP2IucHVzaChTdHJpbmcoYS5ub2RlVmFsdWUpLnJlcGxhY2UoLyhcclxufFxyfFxuKS9nLCIiKSk6Yi5wdXNoKGEubm9kZVZhbHVlKTtlbHNlIGlmKGEubm9kZU5hbWUgaW4gQ28pYi5wdXNoKENvW2Eubm9kZU5hbWVdKTtlbHNlIGZvcihhPQphLmZpcnN0Q2hpbGQ7YTspRG8oYSxiLGMpLGE9YS5uZXh0U2libGluZ30sRW89ZnVuY3Rpb24oYSl7dmFyIGI9W107RG8oYSxiLCEwKTthPWIuam9pbigiIik7YT1hLnJlcGxhY2UoLyBceEFEIC9nLCIgIikucmVwbGFjZSgvXHhBRC9nLCIiKTthPWEucmVwbGFjZSgvXHUyMDBCL2csIiIpO2E9YS5yZXBsYWNlKC8gKy9nLCIgIik7YSE9IiAiJiYoYT1hLnJlcGxhY2UoL15ccyovLCIiKSk7cmV0dXJuIGF9LEZvPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnByb21pc2U9YTt0aGlzLnJlc29sdmU9Yjt0aGlzLnJlamVjdD1jfSxHbz1mdW5jdGlvbigpe3ZhciBhLGIsYz1uZXcgXy5vZShmdW5jdGlvbihkLGUpe2E9ZDtiPWV9KTtyZXR1cm4gbmV3IEZvKGMsYSxiKX0sSG89ZnVuY3Rpb24oYSl7aWYoYS5pYiYmdHlwZW9mIGEuaWI9PSJmdW5jdGlvbiIpcmV0dXJuIGEuaWIoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmCmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20oYS52YWx1ZXMoKSk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gYS5zcGxpdCgiIik7aWYoXy5xYShhKSl7Zm9yKHZhciBiPVtdLGM9YS5sZW5ndGgsZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifWI9W107Yz0wO2ZvcihkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9LElvPWZ1bmN0aW9uKGEpe2lmKGEuT2MmJnR5cGVvZiBhLk9jPT0iZnVuY3Rpb24iKXJldHVybiBhLk9jKCk7aWYoIWEuaWJ8fHR5cGVvZiBhLmliIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy5xYShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7dmFyIGI9W107YT1hLmxlbmd0aDtmb3IodmFyIGM9MDtjPGE7YysrKWIucHVzaChjKTsKcmV0dXJuIGJ9Yj1bXTtjPTA7Zm9yKHZhciBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9fX0sSm89ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZm9yRWFjaCYmdHlwZW9mIGEuZm9yRWFjaD09ImZ1bmN0aW9uIilhLmZvckVhY2goYixjKTtlbHNlIGlmKF8ucWEoYSl8fHR5cGVvZiBhPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsYyk7ZWxzZSBmb3IodmFyIGQ9SW8oYSksZT1IbyhhKSxmPWUubGVuZ3RoLGc9MDtnPGY7ZysrKWIuY2FsbChjLGVbZ10sZCYmZFtnXSxhKX0sZ209ZnVuY3Rpb24oYSxiKXt0aGlzLmg9dGhpcy5nPW51bGw7dGhpcy5qPWF8fG51bGw7dGhpcy5sPSEhYn0sS289ZnVuY3Rpb24oYSl7YS5nfHwoYS5nPW5ldyBNYXAsYS5oPTAsYS5qJiZfLkViKGEuaixmdW5jdGlvbihiLGMpe2EuYWRkKF8uRGIoYiksYyl9KSl9OwpnbS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7S28odGhpcyk7dGhpcy5qPW51bGw7YT1Mbyh0aGlzLGEpO3ZhciBjPXRoaXMuZy5nZXQoYSk7Y3x8dGhpcy5nLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLmgrPTE7cmV0dXJuIHRoaXN9O2dtLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSl7S28odGhpcyk7YT1Mbyh0aGlzLGEpO3JldHVybiB0aGlzLmcuaGFzKGEpPyh0aGlzLmo9bnVsbCx0aGlzLmgtPXRoaXMuZy5nZXQoYSkubGVuZ3RoLHRoaXMuZy5kZWxldGUoYSkpOiExfTtnbS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmc9dGhpcy5qPW51bGw7dGhpcy5oPTB9O3ZhciBNbz1mdW5jdGlvbihhLGIpe0tvKGEpO2I9TG8oYSxiKTtyZXR1cm4gYS5nLmhhcyhiKX07Xy5tPWdtLnByb3RvdHlwZTsKXy5tLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmcuZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Xy5tLk9jPWZ1bmN0aW9uKCl7S28odGhpcyk7Zm9yKHZhciBhPUFycmF5LmZyb20odGhpcy5nLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5nLmtleXMoKSksYz1bXSxkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWFbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWMucHVzaChiW2RdKTtyZXR1cm4gY307Xy5tLmliPWZ1bmN0aW9uKGEpe0tvKHRoaXMpO3ZhciBiPVtdO2lmKHR5cGVvZiBhPT09InN0cmluZyIpTW8odGhpcyxhKSYmKGI9Yi5jb25jYXQodGhpcy5nLmdldChMbyh0aGlzLGEpKSkpO2Vsc2V7YT1BcnJheS5mcm9tKHRoaXMuZy52YWx1ZXMoKSk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYj1iLmNvbmNhdChhW2NdKX1yZXR1cm4gYn07Cl8ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmo9bnVsbDthPUxvKHRoaXMsYSk7TW8odGhpcyxhKSYmKHRoaXMuaC09dGhpcy5nLmdldChhKS5sZW5ndGgpO3RoaXMuZy5zZXQoYSxbYl0pO3RoaXMuaCs9MTtyZXR1cm4gdGhpc307Xy5tLmdldD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2E9dGhpcy5pYihhKTtyZXR1cm4gYS5sZW5ndGg+MD9TdHJpbmcoYVswXSk6Yn07dmFyIE5vPWZ1bmN0aW9uKGEsYixjKXthLnJlbW92ZShiKTtjLmxlbmd0aD4wJiYoYS5qPW51bGwsYS5nLnNldChMbyhhLGIpLF8ud2EoYykpLGEuaCs9Yy5sZW5ndGgpfTsKZ20ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5qKXJldHVybiB0aGlzLmo7aWYoIXRoaXMuZylyZXR1cm4iIjtmb3IodmFyIGE9W10sYj1BcnJheS5mcm9tKHRoaXMuZy5rZXlzKCkpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPV8uR2IoZCk7ZD10aGlzLmliKGQpO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1lO2RbZl0hPT0iIiYmKGcrPSI9IitfLkdiKGRbZl0pKTthLnB1c2goZyl9fXJldHVybiB0aGlzLmo9YS5qb2luKCImIil9Owp2YXIgZW09ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IGdtO2Iuaj1hLmo7YS5nJiYoYi5nPW5ldyBNYXAoYS5nKSxiLmg9YS5oKTtyZXR1cm4gYn0sTG89ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmwmJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGJ9LE9vPWZ1bmN0aW9uKGEsYil7YiYmIWEubCYmKEtvKGEpLGEuaj1udWxsLGEuZy5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSxObyh0aGlzLGUsYykpfSxhKSk7YS5sPWJ9O2dtLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylKbyhhcmd1bWVudHNbYl0sZnVuY3Rpb24oYyxkKXt0aGlzLmFkZChkLGMpfSx0aGlzKX07CnZhciBQbz0vWyNcL1w/QF0vZyxRbz0vWyNcP10vZyxSbz0vWyNcPzpdL2csU289LyMvZyxmbT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn0sVG89L1sjXD9AXS9nLFVvPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9LFZvPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj8oYT1lbmNvZGVVUkkoYSkucmVwbGFjZShiLFVvKSxjJiYoYT1hLnJlcGxhY2UoLyUyNShbMC05YS1mQS1GXXsyfSkvZywiJSQxIikpLGEpOm51bGx9OwpabC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMubDtiJiZhLnB1c2goVm8oYixQbywhMCksIjoiKTt2YXIgYz10aGlzLmg7aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkIpJiZhLnB1c2goVm8oYixQbywhMCksIkAiKSxhLnB1c2goXy5HYihjKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxjPXRoaXMuQyxjIT1udWxsJiZhLnB1c2goIjoiLFN0cmluZyhjKSk7aWYoYz10aGlzLmopdGhpcy5oJiZjLmNoYXJBdCgwKSE9Ii8iJiZhLnB1c2goIi8iKSxhLnB1c2goVm8oYyxjLmNoYXJBdCgwKT09Ii8iP1FvOlJvLCEwKSk7KGM9dGhpcy5nLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMuQSkmJmEucHVzaCgiIyIsVm8oYyxTbykpO3JldHVybiBhLmpvaW4oIiIpfTsKWmwucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFpsKHRoaXMpLGM9ISFhLmw7Yz8kbChiLGEubCk6Yz0hIWEuQjtjP2IuQj1hLkI6Yz0hIWEuaDtjP2FtKGIsYS5oKTpjPWEuQyE9bnVsbDt2YXIgZD1hLmo7aWYoYylibShiLGEuQyk7ZWxzZSBpZihjPSEhYS5qKXtpZihkLmNoYXJBdCgwKSE9Ii8iKWlmKHRoaXMuaCYmIXRoaXMuailkPSIvIitkO2Vsc2V7dmFyIGU9Yi5qLmxhc3RJbmRleE9mKCIvIik7ZSE9LTEmJihkPWIuai5zbGljZSgwLGUrMSkrZCl9ZT1kO2lmKGU9PSIuLiJ8fGU9PSIuIilkPSIiO2Vsc2UgaWYoZS5pbmRleE9mKCIuLyIpIT0tMXx8ZS5pbmRleE9mKCIvLiIpIT0tMSl7ZD1lLmxhc3RJbmRleE9mKCIvIiwwKT09MDtlPWUuc3BsaXQoIi8iKTtmb3IodmFyIGY9W10sZz0wO2c8ZS5sZW5ndGg7KXt2YXIgaD1lW2crK107aD09Ii4iP2QmJmc9PWUubGVuZ3RoJiZmLnB1c2goIiIpOmg9PSIuLiI/KChmLmxlbmd0aD4xfHxmLmxlbmd0aD09CjEmJmZbMF0hPSIiKSYmZi5wb3AoKSxkJiZnPT1lLmxlbmd0aCYmZi5wdXNoKCIiKSk6KGYucHVzaChoKSxkPSEwKX1kPWYuam9pbigiLyIpfWVsc2UgZD1lfWM/Y20oYixkKTpjPWEuZy50b1N0cmluZygpIT09IiI7Yz9kbShiLGVtKGEuZykpOmM9ISFhLkE7YyYmKGIuQT1hLkEpO3JldHVybiBifTsKdmFyICRsPWZ1bmN0aW9uKGEsYixjKXthLmw9Yz9mbShiLCEwKTpiO2EubCYmKGEubD1hLmwucmVwbGFjZSgvOiQvLCIiKSk7cmV0dXJuIGF9LGFtPWZ1bmN0aW9uKGEsYixjKXthLmg9Yz9mbShiLCEwKTpiO3JldHVybiBhfSxibT1mdW5jdGlvbihhLGIpe2lmKGIpe2I9TnVtYmVyKGIpO2lmKGlzTmFOKGIpfHxiPDApdGhyb3cgRXJyb3IoIkhgIitiKTthLkM9Yn1lbHNlIGEuQz1udWxsfSxjbT1mdW5jdGlvbihhLGIsYyl7YS5qPWM/Zm0oYiwhMCk6YjtyZXR1cm4gYX0sZG09ZnVuY3Rpb24oYSxiLGMpe2IgaW5zdGFuY2VvZiBnbT8oYS5nPWIsT28oYS5nLGEubykpOihjfHwoYj1WbyhiLFRvKSksYS5nPW5ldyBnbShiLGEubykpfSxXbz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFpsP25ldyBabChhKTpuZXcgWmwoYSl9LFhvPWZ1bmN0aW9uKGEpe3ZhciBiPUlvKGEpO2lmKHR5cGVvZiBiPT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiSiIpO3ZhciBjPW5ldyBnbShudWxsKTsKYT1IbyhhKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXSxmPWFbZF07QXJyYXkuaXNBcnJheShmKT9ObyhjLGUsZik6Yy5hZGQoZSxmKX1yZXR1cm4gY30sWW89e30sWm89e30sJG89e30sYXA9e30sam09e30scW09e30scG0sVW09e30sYnA9ZnVuY3Rpb24oYSxiLGMpe2E9YS5KO3JldHVybiBfLkhpKGEsYVtfLkhdfDAsYixjKXx8YltfLmZoXXx8KGJbXy5maF09Xy5naChiKSl9LHNuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5HaShhLGIsXy5MaihjKSwiIil9O18ubT12bS5wcm90b3R5cGU7Xy5tLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzJiZhP2EgaW5zdGFuY2VvZiB2bT9hLmxlZnQ+PXRoaXMubGVmdCYmYS5yaWdodDw9dGhpcy5yaWdodCYmYS50b3A+PXRoaXMudG9wJiZhLmJvdHRvbTw9dGhpcy5ib3R0b206YS54Pj10aGlzLmxlZnQmJmEueDw9dGhpcy5yaWdodCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLmJvdHRvbTohMX07Cl8ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLnJpZ2h0PU1hdGguY2VpbCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLmNlaWwodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmNlaWwodGhpcy5sZWZ0KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy5yaWdodD1NYXRoLmZsb29yKHRoaXMucmlnaHQpO3RoaXMuYm90dG9tPU1hdGguZmxvb3IodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7cmV0dXJuIHRoaXN9O18ubS5yb3VuZD1mdW5jdGlvbigpe3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMucmlnaHQ9TWF0aC5yb3VuZCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLnJvdW5kKHRoaXMuYm90dG9tKTt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3JldHVybiB0aGlzfTsKXy5tLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiB6bD8odGhpcy5sZWZ0Kz1hLngsdGhpcy5yaWdodCs9YS54LHRoaXMudG9wKz1hLnksdGhpcy5ib3R0b20rPWEueSk6KHRoaXMubGVmdCs9YSx0aGlzLnJpZ2h0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9Yix0aGlzLmJvdHRvbSs9YikpO3JldHVybiB0aGlzfTtfLm09d20ucHJvdG90eXBlO18ubS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsP2EueD49dGhpcy5sZWZ0JiZhLng8PXRoaXMubGVmdCt0aGlzLndpZHRoJiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMudG9wK3RoaXMuaGVpZ2h0OnRoaXMubGVmdDw9YS5sZWZ0JiZ0aGlzLmxlZnQrdGhpcy53aWR0aD49YS5sZWZ0K2Eud2lkdGgmJnRoaXMudG9wPD1hLnRvcCYmdGhpcy50b3ArdGhpcy5oZWlnaHQ+PWEudG9wK2EuaGVpZ2h0fTsKXy5tLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLm0uZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5mbG9vcih0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguZmxvb3IodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5tLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGgucm91bmQodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLnJvdW5kKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKdmFyIGNwPWZ1bmN0aW9uKGEsYil7YTp7dmFyIGM9Xy5zZChhKTtpZihjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjPWMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKSl7Yz1jW2JdfHxjLmdldFByb3BlcnR5VmFsdWUoYil8fCIiO2JyZWFrIGF9Yz0iIn1yZXR1cm4gY3x8KGEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlW2JdOm51bGwpfHxhLnN0eWxlJiZhLnN0eWxlW2JdfSxkcD1mdW5jdGlvbihhKXt0eXBlb2YgYT09Im51bWJlciImJihhKz0icHgiKTtyZXR1cm4gYX0sZXA9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2Ygemwpe3ZhciBjPWIueDtiPWIueX1lbHNlIGM9YixiPXZvaWQgMDthLnN0eWxlLmxlZnQ9ZHAoYyk7YS5zdHlsZS50b3A9ZHAoYil9LGZwPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaChiKXtyZXR1cm57bGVmdDowLHRvcDowLHJpZ2h0OjAsCmJvdHRvbTowfX19LGdwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1jcChhLCJwb3NpdGlvbiIpLGQ9Yz09ImZpeGVkInx8Yz09ImFic29sdXRlIjtmb3IoYT1hLnBhcmVudE5vZGU7YSYmYSE9YjthPWEucGFyZW50Tm9kZSlpZihhLm5vZGVUeXBlPT0xMSYmYS5ob3N0JiYoYT1hLmhvc3QpLGM9Y3AoYSwicG9zaXRpb24iKSxkPWQmJmM9PSJzdGF0aWMiJiZhIT1iLmRvY3VtZW50RWxlbWVudCYmYSE9Yi5ib2R5LCFkJiYoYS5zY3JvbGxXaWR0aD5hLmNsaWVudFdpZHRofHxhLnNjcm9sbEhlaWdodD5hLmNsaWVudEhlaWdodHx8Yz09ImZpeGVkInx8Yz09ImFic29sdXRlInx8Yz09InJlbGF0aXZlIikpcmV0dXJuIGE7cmV0dXJuIG51bGx9LGhwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1uZXcgemwoMCwwKTtpZihhPT0oYj9fLnNkKGIpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpcmV0dXJuIGM7YT1mcChhKTtiPV8ubGIoYik7Yj1LbihiLmcpO2MueD1hLmxlZnQrYi54OwpjLnk9YS50b3ArYi55O3JldHVybiBjfSxpcD1mdW5jdGlvbihhKXtmb3IodmFyIGI9bmV3IHZtKDAsSW5maW5pdHksSW5maW5pdHksMCksYz1fLmxiKGEpLGQ9Yy5nLmJvZHksZT1jLmcuZG9jdW1lbnRFbGVtZW50LGY9Sm4oYy5nKTthPWdwKGEpOylpZigoIV8uVmN8fGEuY2xpZW50SGVpZ2h0IT0wfHxhIT1kKSYmYSE9ZCYmYSE9ZSYmY3AoYSwib3ZlcmZsb3ciKSE9InZpc2libGUiKXt2YXIgZz1ocChhKSxoPW5ldyB6bChhLmNsaWVudExlZnQsYS5jbGllbnRUb3ApO2cueCs9aC54O2cueSs9aC55O2IudG9wPU1hdGgubWF4KGIudG9wLGcueSk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGcueCthLmNsaWVudFdpZHRoKTtiLmJvdHRvbT1NYXRoLm1pbihiLmJvdHRvbSxnLnkrYS5jbGllbnRIZWlnaHQpO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZy54KX1kPWYuc2Nyb2xsTGVmdDtmPWYuc2Nyb2xsVG9wO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZCk7Yi50b3A9TWF0aC5tYXgoYi50b3AsCmYpO2M9Xy5pYihjLmcuZGVmYXVsdFZpZXd8fHdpbmRvdyk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGQrYy53aWR0aCk7Yi5ib3R0b209TWF0aC5taW4oYi5ib3R0b20sZitjLmhlaWdodCk7cmV0dXJuIGIudG9wPj0wJiZiLmxlZnQ+PTAmJmIuYm90dG9tPmIudG9wJiZiLnJpZ2h0PmIubGVmdD9iOm51bGx9LGpwPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IHpsKDAsMCksZD1fLm1iKF8uc2QoYSkpO2E6e3RyeXtfLlFjKGQucGFyZW50KTt2YXIgZT0hMDticmVhayBhfWNhdGNoKGYpe31lPSExfWlmKCFlKXJldHVybiBjO2RvIGQ9PWI/ZT1ocChhKTooZT1mcChhKSxlPW5ldyB6bChlLmxlZnQsZS50b3ApKSxjLngrPWUueCxjLnkrPWUueTt3aGlsZShkJiZkIT1iJiZkIT1kLnBhcmVudCYmKGE9ZC5mcmFtZUVsZW1lbnQpJiYoZD1kLnBhcmVudCkpO3JldHVybiBjfSxscD1mdW5jdGlvbihhKXt2YXIgYj1rcDtpZihjcChhLCJkaXNwbGF5IikhPSJub25lIilyZXR1cm4gYihhKTt2YXIgYz0KYS5zdHlsZSxkPWMuZGlzcGxheSxlPWMudmlzaWJpbGl0eSxmPWMucG9zaXRpb247Yy52aXNpYmlsaXR5PSJoaWRkZW4iO2MucG9zaXRpb249ImFic29sdXRlIjtjLmRpc3BsYXk9ImlubGluZSI7YT1iKGEpO2MuZGlzcGxheT1kO2MucG9zaXRpb249ZjtjLnZpc2liaWxpdHk9ZTtyZXR1cm4gYX0sa3A9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVpZ2h0LGQ9Xy5WYyYmIWImJiFjO3JldHVybihiPT09dm9pZCAwfHxkKSYmYS5nZXRCb3VuZGluZ0NsaWVudFJlY3Q/KGE9ZnAoYSksbmV3IF8uQ2EoYS5yaWdodC1hLmxlZnQsYS5ib3R0b20tYS50b3ApKTpuZXcgXy5DYShiLGMpfSxtcD1mdW5jdGlvbihhLGIpe2Euc3R5bGUuZGlzcGxheT1iPyIiOiJub25lIn0sbnA9ZnVuY3Rpb24oYSxiKXtiPV8ubGIoYik7dmFyIGM9SW4oYi5nLCJIRUFEIilbMF07aWYoIWMpe3ZhciBkPUluKGIuZywiQk9EWSIpWzBdO2M9Yi5TKCJIRUFEIik7ZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLApkKX1kPWIuUygiU1RZTEUiKTt2YXIgZT1fLk9hKCJzdHlsZSIsZG9jdW1lbnQpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7YT1ObChhKTtfLnYudHJ1c3RlZFR5cGVzP18uQ2QoZCxhKTpkLmlubmVySFRNTD1hO2IuYXBwZW5kQ2hpbGQoYyxkKX0sb3A9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkNhKGEub2Zmc2V0V2lkdGgsYS5vZmZzZXRIZWlnaHQpfSxwcD1mdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO18uVWM/YS5Nb3pCb3hTaXppbmc9YzpfLlZjP2EuV2Via2l0Qm94U2l6aW5nPWM6YS5ib3hTaXppbmc9YzthLndpZHRoPU1hdGgubWF4KGIud2lkdGgsMCkrInB4IjthLmhlaWdodD1NYXRoLm1heChiLmhlaWdodCwwKSsicHgifSxxcD1mdW5jdGlvbihhLGIpe3BwKGEsYiwiY29udGVudC1ib3giKX0scnA9ZnVuY3Rpb24oYSl7aWYoYSE9bnVsbClzd2l0Y2goYS5KZCl7Y2FzZSAxOnJldHVybiAxO2Nhc2UgLTE6cmV0dXJuLTE7Y2FzZSAwOnJldHVybiAwfXJldHVybiBudWxsfSwKc3A9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLnhsP1huKGEpPyEwOiEhYS5tYSgpOmEgaW5zdGFuY2VvZiBfLnpmPyEhYS5tYSgpOiEhYX0sdHA9LzwvZyx1cD1mdW5jdGlvbihhLGIpe2E9YS5yZXBsYWNlKC88XC8vZywiPFxcLyIpLnJlcGxhY2UoL1xdXF0+L2csIl1dXFw+Iik7cmV0dXJuIGI/YS5yZXBsYWNlKC97L2csIiBcXHsiKS5yZXBsYWNlKC99L2csIiBcXH0iKS5yZXBsYWNlKC9cL1wqL2csIi8gKiIpLnJlcGxhY2UoL1xcJC8sIlxcICIpOmF9LHZwPWZ1bmN0aW9uKGEpe2E9U3RyaW5nKGEpO2Zvcih2YXIgYj1mdW5jdGlvbihkLGUsZil7Zm9yKHZhciBnPU1hdGgubWluKGUubGVuZ3RoLWYsZC5sZW5ndGgpLGg9MDtoPGc7aCsrKXt2YXIgaz1lW2YraF07aWYoZFtoXSE9PSgiQSI8PWsmJms8PSJaIj9rLnRvTG93ZXJDYXNlKCk6aykpcmV0dXJuITF9cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoIjwiLGMpKSE9LTE7KXtpZihiKCJceDNjL3NjcmlwdCIsCmEsYyl8fGIoIlx4M2MhLS0iLGEsYykpcmV0dXJuInpTb3l6IjtjKz0xfXJldHVybiBhfSx3cD1mdW5jdGlvbihhLGIpe3JldHVybiBhIT1udWxsJiZhLlpiPT09Yn0seHA9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsJG8pP2EubWEoKTphIGluc3RhbmNlb2YgXy5MYT9fLk5hKGEpLnRvU3RyaW5nKCk6ImFib3V0OmludmFsaWQjelNveXoifSx6cD1mdW5jdGlvbigpe3ZhciBhO3dwKCIiLGFwKT9hPSIiLm1hKCk6YT15cC50ZXN0KCIiKT8iIjoielNveXoiO3dwKGEsYXApJiYoYT1hLm1hKCkpO3JldHVybihhJiYhYS5zdGFydHNXaXRoKCIgIik/IiAiOiIiKSthfSxBcD1mdW5jdGlvbihhKXtyZXR1cm4gd3AoYSxfLm9sKT91cChhLm1hKCksITEpOmE9PW51bGw/IiI6YSBpbnN0YW5jZW9mIF8ucGw/dXAoTmwoYSksITEpOnVwKFN0cmluZyhhKSwhMCl9LEJwPXsiXHgwMCI6IiYjMDsiLCJcdCI6IiYjOTsiLCJcbiI6IiYjMTA7IiwiXHYiOiImIzExOyIsIlxmIjoiJiMxMjsiLCJcciI6IiYjMTM7IiwKIiAiOiImIzMyOyIsJyInOiImcXVvdDsiLCImIjoiJmFtcDsiLCInIjoiJiMzOTsiLCItIjoiJiM0NTsiLCIvIjoiJiM0NzsiLCI8IjoiJmx0OyIsIj0iOiImIzYxOyIsIj4iOiImZ3Q7IiwiYCI6IiYjOTY7IiwiXHUwMDg1IjoiJiMxMzM7IiwiXHUwMGEwIjoiJiMxNjA7IiwiXHUyMDI4IjoiJiM4MjMyOyIsIlx1MjAyOSI6IiYjODIzMzsifSxDcD1mdW5jdGlvbihhKXtyZXR1cm4gQnBbYV19LERwPXsiXHgwMCI6IlxceDAwIiwiXGIiOiJcXHgwOCIsIlx0IjoiXFx0IiwiXG4iOiJcXG4iLCJcdiI6IlxceDBiIiwiXGYiOiJcXGYiLCJcciI6IlxcciIsJyInOiJcXHgyMiIsJDoiXFx4MjQiLCImIjoiXFx4MjYiLCInIjoiXFx4MjciLCIoIjoiXFx4MjgiLCIpIjoiXFx4MjkiLCIqIjoiXFx4MmEiLCIrIjoiXFx4MmIiLCIsIjoiXFx4MmMiLCItIjoiXFx4MmQiLCIuIjoiXFx4MmUiLCIvIjoiXFwvIiwiOiI6IlxceDNhIiwiPCI6IlxceDNjIiwiPSI6IlxceDNkIiwiPiI6IlxceDNlIiwiPyI6IlxceDNmIiwKIlsiOiJcXHg1YiIsIlxcIjoiXFxcXCIsIl0iOiJcXHg1ZCIsIl4iOiJcXHg1ZSIsInsiOiJcXHg3YiIsInwiOiJcXHg3YyIsIn0iOiJcXHg3ZCIsIlx1MDA4NSI6IlxceDg1IiwiXHUyMDI4IjoiXFx1MjAyOCIsIlx1MjAyOSI6IlxcdTIwMjkifSxFcD1mdW5jdGlvbihhKXtyZXR1cm4gRHBbYV19LEZwPXsiXHgwMCI6IlxcMCAiLCJcYiI6IlxcOCAiLCJcdCI6IlxcOSAiLCJcbiI6IlxcYSAiLCJcdiI6IlxcYiAiLCJcZiI6IlxcYyAiLCJcciI6IlxcZCAiLCciJzoiXFwyMiAiLCImIjoiXFwyNiAiLCInIjoiXFwyNyAiLCIoIjoiXFwyOCAiLCIpIjoiXFwyOSAiLCIqIjoiXFwyYSAiLCIvIjoiXFwyZiAiLCI6IjoiXFwzYSAiLCI7IjoiXFwzYiAiLCI8IjoiXFwzYyAiLCI9IjoiXFwzZCAiLCI+IjoiXFwzZSAiLCJAIjoiXFw0MCAiLCJcXCI6IlxcNWMgIiwieyI6IlxcN2IgIiwifSI6IlxcN2QgIiwiXHUwMDg1IjoiXFw4NSAiLCJcdTAwYTAiOiJcXGEwICIsIlx1MjAyOCI6IlxcMjAyOCAiLAoiXHUyMDI5IjoiXFwyMDI5ICJ9LEdwPWZ1bmN0aW9uKGEpe3JldHVybiBGcFthXX0sSHA9eyJceDAwIjoiJTAwIiwiXHUwMDAxIjoiJTAxIiwiXHUwMDAyIjoiJTAyIiwiXHUwMDAzIjoiJTAzIiwiXHUwMDA0IjoiJTA0IiwiXHUwMDA1IjoiJTA1IiwiXHUwMDA2IjoiJTA2IiwiXHUwMDA3IjoiJTA3IiwiXGIiOiIlMDgiLCJcdCI6IiUwOSIsIlxuIjoiJTBBIiwiXHYiOiIlMEIiLCJcZiI6IiUwQyIsIlxyIjoiJTBEIiwiXHUwMDBlIjoiJTBFIiwiXHUwMDBmIjoiJTBGIiwiXHUwMDEwIjoiJTEwIiwiXHUwMDExIjoiJTExIiwiXHUwMDEyIjoiJTEyIiwiXHUwMDEzIjoiJTEzIiwiXHUwMDE0IjoiJTE0IiwiXHUwMDE1IjoiJTE1IiwiXHUwMDE2IjoiJTE2IiwiXHUwMDE3IjoiJTE3IiwiXHUwMDE4IjoiJTE4IiwiXHUwMDE5IjoiJTE5IiwiXHUwMDFhIjoiJTFBIiwiXHUwMDFiIjoiJTFCIiwiXHUwMDFjIjoiJTFDIiwiXHUwMDFkIjoiJTFEIiwiXHUwMDFlIjoiJTFFIiwiXHUwMDFmIjoiJTFGIiwKIiAiOiIlMjAiLCciJzoiJTIyIiwiJyI6IiUyNyIsIigiOiIlMjgiLCIpIjoiJTI5IiwiPCI6IiUzQyIsIj4iOiIlM0UiLCJcXCI6IiU1QyIsInsiOiIlN0IiLCJ9IjoiJTdEIiwiXHUwMDdmIjoiJTdGIiwiXHUwMDg1IjoiJUMyJTg1IiwiXHUwMGEwIjoiJUMyJUEwIiwiXHUyMDI4IjoiJUUyJTgwJUE4IiwiXHUyMDI5IjoiJUUyJTgwJUE5IiwiXHVmZjAxIjoiJUVGJUJDJTgxIiwiXHVmZjAzIjoiJUVGJUJDJTgzIiwiXHVmZjA0IjoiJUVGJUJDJTg0IiwiXHVmZjA2IjoiJUVGJUJDJTg2IiwiXHVmZjA3IjoiJUVGJUJDJTg3IiwiXHVmZjA4IjoiJUVGJUJDJTg4IiwiXHVmZjA5IjoiJUVGJUJDJTg5IiwiXHVmZjBhIjoiJUVGJUJDJThBIiwiXHVmZjBiIjoiJUVGJUJDJThCIiwiXHVmZjBjIjoiJUVGJUJDJThDIiwiXHVmZjBmIjoiJUVGJUJDJThGIiwiXHVmZjFhIjoiJUVGJUJDJTlBIiwiXHVmZjFiIjoiJUVGJUJDJTlCIiwiXHVmZjFkIjoiJUVGJUJDJTlEIiwiXHVmZjFmIjoiJUVGJUJDJTlGIiwKIlx1ZmYyMCI6IiVFRiVCQyVBMCIsIlx1ZmYzYiI6IiVFRiVCQyVCQiIsIlx1ZmYzZCI6IiVFRiVCQyVCRCJ9LElwPWZ1bmN0aW9uKGEpe3JldHVybiBIcFthXX0sSnA9L1tceDAwXHgyMlx4MjZceDI3XHgzY1x4M2VdL2csS3A9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsXy5xbCk/YTphIGluc3RhbmNlb2YgXy5EYz8oMCxfLnRsKShfLmtqKGEpLnRvU3RyaW5nKCkpOigwLF8udGwpKFN0cmluZyhTdHJpbmcoYSkpLnJlcGxhY2UoSnAsQ3ApLHJwKGEpKX0sTHA9L1tceDAwXHgyMlx4MjdceDNjXHgzZV0vZyxNcD1mdW5jdGlvbihhKXtyZXR1cm4geG0oU3RyaW5nKGEpLGZ1bmN0aW9uKCl7cmV0dXJuIiJ9KS5yZXBsYWNlKHRwLCImbHQ7Iil9LFA9ZnVuY3Rpb24oYSl7d3AoYSxfLnFsKT8oYT1NcChhLm1hKCkpLGE9U3RyaW5nKGEpLnJlcGxhY2UoTHAsQ3ApKTphPVN0cmluZyhhKS5yZXBsYWNlKEpwLENwKTtyZXR1cm4gYX0sTnA9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI2XHgyN1x4MmRcL1x4M2MtXHgzZWBceDg1XHhhMFx1MjAyOFx1MjAyOV0vZywKT3A9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI3XHgyZFwvXHgzYy1ceDNlYFx4ODVceGEwXHUyMDI4XHUyMDI5XS9nLFBwPS9bXHgwMFx4MDgtXHgwZFx4MjJceDI2XHgyN1wvXHgzYy1ceDNlXHg1Yi1ceDVkXHg3Ylx4N2RceDg1XHUyMDI4XHUyMDI5XS9nLFFwPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIiBudWxsICI7aWYod3AoYSxZbykpcmV0dXJuIGEubWEoKTtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gXy5SYShhKS50b1N0cmluZygpO3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpyZXR1cm4iICIrYSsiICI7ZGVmYXVsdDpyZXR1cm4iJyIrU3RyaW5nKFN0cmluZyhhKSkucmVwbGFjZShQcCxFcCkrIicifX0sUnA9L1tceDAwXHgwOC1ceDBkXHgyMlx4MjYtXHgyYVwvXHgzYS1ceDNlQFxcXHg3Ylx4N2RceDg1XHhhMFx1MjAyOFx1MjAyOV0vZyxTcD0vW1x4MDAtIFx4MjJceDI3LVx4MjlceDNjXHgzZVxcXHg3Ylx4N2RceDdmXHg4NVx4YTBcdTIwMjhcdTIwMjlcdWZmMDFcdWZmMDNcdWZmMDRcdWZmMDYtXHVmZjBjXHVmZjBmXHVmZjFhXHVmZjFiXHVmZjFkXHVmZjFmXHVmZjIwXHVmZjNiXHVmZjNkXS9nLApUcD0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxVcD1mdW5jdGlvbihhKXt3cChhLFpvKXx8d3AoYSwkbyk/YT1TdHJpbmcoYSkucmVwbGFjZShTcCxJcCk6YSBpbnN0YW5jZW9mIF8uTGE/KGE9Xy5OYShhKS50b1N0cmluZygpLGE9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApKTooYT1TdHJpbmcoYSksYT1UcC50ZXN0KGEpP2EucmVwbGFjZShTcCxJcCk6ImFib3V0OmludmFsaWQjelNveXoiKTtyZXR1cm4gYX0sVnA9L15bXiY6XC8/I10qKD86W1wvPyNdfCQpfF5odHRwcz86fF5maWxlc3lzdGVtOmh0dHBzPzp8XmZ0cDp8XmRhdGE6aW1hZ2VcL1thLXowLTkrLV0rO2Jhc2U2NCxbYS16MC05K1wvXSs9KiR8XmJsb2I6L2ksV3A9ZnVuY3Rpb24oYSl7d3AoYSxabyl8fHdwKGEsJG8pP2E9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApOmEgaW5zdGFuY2VvZiBfLkxhPyhhPV8uTmEoYSkudG9TdHJpbmcoKSxhPVN0cmluZyhhKS5yZXBsYWNlKFNwLApJcCkpOihhPVN0cmluZyhhKSxhPVZwLnRlc3QoYSk/YS5yZXBsYWNlKFNwLElwKToiYWJvdXQ6aW52YWxpZCN6U295eiIpO3JldHVybiBhfSx5cD0vXig/IW9ufHNyY3woPzphY3Rpb258YXJjaGl2ZXxiYWNrZ3JvdW5kfGNpdGV8Y2xhc3NpZHxjb2RlYmFzZXxjb250ZW50fGRhdGF8ZHN5bmN8aHJlZnxodHRwLWVxdWl2fGxvbmdkZXNjfHN0eWxlfHVzZW1hcClccyokKSg/OlthLXowLTlfJDotXSopJC9pLFhwPS9eW2EtekEtWjAtOStcL18tXSs9ezAsMn0kLyxZcD1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtyZXR1cm4gWHAudGVzdChhKT9hOiJ6U295eiJ9LFpwPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihacCxfLkopO3ZhciBDbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgWnA7cmV0dXJuIEdsKGIsMyxhLF8uQmopfTt2YXIgJHA9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKCRwLF8uSik7JHAucHJvdG90eXBlLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDIpfTskcC5wcm90b3R5cGUuTmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMixhKX07JHAucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDMpfTskcC5wcm90b3R5cGUubmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMyxhKX07dmFyIGFxPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihhcSxfLkopO3ZhciBicT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoYnEsXy5KKTt2YXIgY3E9Xy5NaihicSk7dmFyIGRxPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhfX0sZXE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoLTI7Yys9Myl7dmFyIGQ9Yi5jaGFyQXQoYysyKTtkPWQ+PSJhIj9kLmNoYXJDb2RlQXQoMCktODc6TnVtYmVyKGQpO2Q9Yi5jaGFyQXQoYysxKT09IisiP2E+Pj5kOmE8PGQ7YT1iLmNoYXJBdChjKT09IisiP2ErZCY0Mjk0OTY3Mjk1OmFeZH1yZXR1cm4gYX0sZ3E9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWZxLnNwbGl0KCIuIiksYz1OdW1iZXIoYlswXSl8fDAsZD1bXSxlPTAsZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZz1hLmNoYXJDb2RlQXQoZik7ZzwxMjg/ZFtlKytdPWc6KGc8MjA0OD9kW2UrK109Zz4+NnwxOTI6KChnJjY0NTEyKT09NTUyOTYmJmYrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChmKzEpJjY0NTEyKT09NTYzMjA/KGc9NjU1MzYrKChnJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2YpJjEwMjMpLGRbZSsrXT0KZz4+MTh8MjQwLGRbZSsrXT1nPj4xMiY2M3wxMjgpOmRbZSsrXT1nPj4xMnwyMjQsZFtlKytdPWc+PjYmNjN8MTI4KSxkW2UrK109ZyY2M3wxMjgpfWE9Yztmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKWErPWRbZV0sYT1lcShhLCIrLWFeKzYiKTthPWVxKGEsIistM14rYistZiIpO2FePU51bWJlcihiWzFdKXx8MDthPDAmJihhPShhJjIxNDc0ODM2NDcpKzIxNDc0ODM2NDgpO2I9YSUxRTY7cmV0dXJuIGIudG9TdHJpbmcoKSsiLiIrKGJeYyl9LGhxPWZ1bmN0aW9uKCl7dmFyIGE9ZHEoU3RyaW5nLmZyb21DaGFyQ29kZSgxMTYpKSxiPWRxKFN0cmluZy5mcm9tQ2hhckNvZGUoMTA3KSk7YT1bYSgpLGEoKV07YVsxXT1iKCk7cmV0dXJuIGEuam9pbigiIil9O3ZhciBpcT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoaXEsXy5KKTt2YXIganE9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKGpxLF8uSik7dmFyIGtxPV8uTWooanEpO3ZhciBscT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIobHEsXy5KKTt2YXIgT249IiIsbXE9InByb2QiLG5xPSIiLG9xPSJlbiIsQW49IiIscHE9bmV3IGpxLHFxPSExLHJxPW5ldyBEYXRlLHNxPXt9LEJuPTAsdHE9InRlIixmcT0iIix1cT0iIix2cT0iaHR0cHM6Ly8iLHdxPSIiLHhxPSIiLHlxPSIiLHpxPSIiLEFxPSIiLEJxPSIiLENxPSJodHRwczovL3d3dy5nb29nbGUuY29tL2ltYWdlcy9jbGVhcmRvdC5naWYiLERxPSJodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlbG9nby8xeC9nb29nbGVsb2dvX2NvbG9yXzY4eDI4ZHAucG5nIixFcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMXgvdHJhbnNsYXRlXzI0ZHAucG5nIixGcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl80MngxNmRwLnBuZyIsR3E9Imh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20iLEhxPSIiLElxPSIiLEpxPSIiLEtxPQpmdW5jdGlvbigpe0hxPSIvLyIrQnErIi90cmFuc2xhdGVfc3VnZ2VzdGlvbj9jbGllbnQ9Iit0cTtJcT0iLy8iK3VxKyIvdHJhbnNsYXRlX3ZvdGluZz9jbGllbnQ9Iit0cTtKcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zdXBwb3J0L3RyYW5zbGF0ZSIrKG9xPT0iZW4iPyIiOiIjZ29vZ3RyYW5zL2VuLyIrb3EpfSxMcT1mdW5jdGlvbihhKXtPbj13aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUudnx8IiI7bXE9YS5fY2Vudnx8InByb2QiO25xPWEuVWd8fCIiO29xPWEuX2NsfHwiZW4iO0FuPWEuX2N1YztwcT1hLl9jZWY/a3EoYS5fY2VmKTpuZXcganE7cXE9YS5fY25hZDtycT1hLl9jZXN0fHxuZXcgRGF0ZTtzcT1hLl9jbmFsfHx7fTtCbj1hLl9jYW09PSJsaWIiPzE6MDt0cT0oYS5fY2FjfHwidGUiKSsoQm49PTE/Il9saWIiOiIiKTtmcT1mdW5jdGlvbigpe2Z1bmN0aW9uIGIoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGV9fQp2YXIgYz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNyksZD1iKFN0cmluZy5mcm9tQ2hhckNvZGUoMTE2KSk7Yz1iKGMpO2Q9W2QoKSxkKCldO2RbMV09YygpO3JldHVybiBhWyJfYyIrZC5qb2luKGMoKSldfHwiIn0oKTt1cT1hLl9wYWh8fCIiO3ZxPWEuX3Bhc3x8Imh0dHBzOi8vIjt3cT1hLl9wYml8fCIiO3hxPWEuX3BjaXx8IiI7eXE9YS5fcGxsYXx8IiI7enE9YS5fcGxpfHwiIjtBcT1hLl9wc3x8IiI7QnE9YS5fcHVofHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKX07d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlLl9jb25zdD9McSh3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpOkxxKHtfY2FjOiIiLF9jYW06IiIsX2NlZjoiIixfY2VzdDpuZXcgRGF0ZSxfY2VudjoiIixVZzoiIixfY2dhazoiIixfY2psYzoiIixfY2w6IiIsX2NsbDoiIixfY3VjOiIiLF9jbmFkOiExLF9jbmFsOnt9LENrOiIiLF9wYWg6IiIsX3BhczoiIixfcGJpOiIiLF9wY2k6IiIsX3BoZjoiIixfcGxpOiIiLF9wbGxhOiIiLF9wbWk6IiIsX3BzOiIiLF9wdGE6IiIsX3B1aDoiIn0pO3ZhciBNcT1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMubz1ifSxCbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgVHlwZUVycm9yKCJxYWAiK2IrImAiK2EuZysiYCIrYS5vKyJgIit0eXBlb2YgYS5vKX07TXEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vO2lmKGE9PW51bGwpYT1udWxsO2Vsc2UgaWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBCbSh0aGlzLCJzdHJpbmciKTtpZihhPT09bnVsbCl0aHJvdyBFcnJvcigicGFgIit0aGlzLmcpO3JldHVybiBhfTsKdmFyIEFtPWZ1bmN0aW9uKCl7dmFyIGE9YT09PXZvaWQgMD93aW5kb3c6YTthPWE9PT12b2lkIDA/d2luZG93OmE7YT1hPT09dm9pZCAwP3dpbmRvdzphO2E9YS5XSVpfZ2xvYmFsX2RhdGE7YT1uZXcgTXEoInhXdXVHYyIsYSYmInhXdXVHYyJpbiBhP2EueFd1dUdjOm51bGwpO3ZhciBiPVtdLGM9TnEoYSk7cmV0dXJuIGM9PT1udWxsP09xKGEsYik6Y30sTnE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vO2lmKGI9PW51bGwpcmV0dXJuIG51bGw7QXJyYXkuaXNBcnJheShiKXx8KHR5cGVvZiBiIT09InN0cmluZyI/Yj1bYl06KGI9Yi50cmltKCksYj1iPT0iIj9bXTpiLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnRyaW0oKX0pKSk7cmV0dXJuIE9xKGEsYil9LE9xPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nKyJbIjtyZXR1cm4gQXJyYXkuZnJvbShiLGZ1bmN0aW9uKGQsZSl7cmV0dXJuIG5ldyBNcShjK2UrIl0iLGQpfSl9OwpNcS5wcm90b3R5cGUub2JqZWN0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubztpZihiPT1udWxsKXtpZihhPT09dm9pZCAwKXRocm93IEVycm9yKCJwYWAiK3RoaXMuZyk7cmV0dXJuIGF9aWYodHlwZW9mIGI9PT0ib2JqZWN0IiYmYi5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7YT17fTt2YXIgYz10aGlzLmcrIi4iLGQ7Zm9yKGQgaW4gYilhW2RdPW5ldyBNcShjK2QsYltkXSk7cmV0dXJuIGF9dGhyb3cgQm0odGhpcywib2JqZWN0Iik7fTt2YXIgUHE9ZnVuY3Rpb24oKXt2YXIgYTt0aGlzLmc9YT1hPT09dm9pZCAwP0RtKCk6YX07UHEucHJvdG90eXBlLmxvZz1mdW5jdGlvbihhKXtfLmFsKHRoaXMuZyxhKX07dmFyIFFxPW5ldyBQcTt2YXIgUnE9RW0oImluaXRpYWxpemVkIiksU3E9RW0oImluaXRpYXRlZCIpLFRxPUVtKCJyZXN0b3JlZCIpLFVxPUVtKCJwYWdlX2xvYWRfdG9faW5pdGlhbGl6ZWQiKSxWcT1FbSgiaW5pdGlhbGl6YXRpb25fdG9fdHJhbnNsYXRpb25fdHJpZ2dlcmVkIik7dmFyIFdxPWZ1bmN0aW9uKGEpe3ZhciBiPSJ4YiI7aWYoYS54YiYmYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4gYS54YjtiPW5ldyBhO3JldHVybiBhLnhiPWJ9Oy8qCgpNYXRoLnV1aWQuanMgKHYxLjQpCmh0dHA6Ly93d3cuYnJvb2ZhLmNvbQptYWlsdG86cm9iZXJ0QGJyb29mYS5jb20KQ29weXJpZ2h0IChjKSAyMDEwIFJvYmVydCBLaWVmZmVyCkR1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzLgoqLwp2YXIgWHE9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7Zm9yKHZhciBZcSxacT1BcnJheSgzNiksJHE9MCxhcixicj0wO2JyPDM2O2JyKyspYnI9PTh8fGJyPT0xM3x8YnI9PTE4fHxicj09MjM/WnFbYnJdPSItIjpicj09MTQ/WnFbYnJdPSI0IjooJHE8PTImJigkcT0zMzU1NDQzMitNYXRoLnJhbmRvbSgpKjE2Nzc3MjE2fDApLGFyPSRxJjE1LCRxPj49NCxacVticl09WHFbYnI9PTE5P2FyJjN8ODphcl0pO1lxPVpxLmpvaW4oIiIpOwp2YXIgY3I9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1hPWE9PT12b2lkIDA/WXE6YTt0aGlzLkViPWI9PT12b2lkIDA/IiI6Yjt0aGlzLkZiPWM9PT12b2lkIDA/IiI6Y30sZ3I9ZnVuY3Rpb24oYSl7dmFyIGI9ZHIoYSw3KTtlcihhLGIpO2ZyKGIsNyl9LGhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5sYj09PXZvaWQgMD8wOmIubGI7dmFyIGQ9Yi5NZj09PXZvaWQgMD8wOmIuTWY7dmFyIGU9Yi5nZz09PXZvaWQgMD8wOmIuZ2c7dmFyIGY9Yi5MZj09PXZvaWQgMD8wOmIuTGY7Yj1kcihhLDgpO2VyKGEsYik7YT1uZXcgUm47Yz1fLmlrKGEsMSxjKTtkPV8uaWsoYywzLGQpO2U9Xy5payhkLDIsZSk7ZT1fLmlrKGUsNCxmKTtmPVVuKGIpO18uTChmLDYsZSk7TWF0aC5yYW5kb20oKT49LjAwNXx8KGI9Xy5MayhObig4KSxfLldqKGIpKSxRcS5sb2coYikpfSxkcj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBfLmxsO2M9Xy5UaihjLDUwLG9xKTt2YXIgZD1uZXcgVG47Yj1fLmtrKGQsMSxiKTsKYj1fLlRqKGIsMix0cSk7YT1fLlRqKGIsMyxhLmcpO3JldHVybiBfLkwoYywxMTIsYSl9LGZyPWZ1bmN0aW9uKGEsYil7YT1fLkxrKE5uKGIpLF8uV2ooYSkpO1FxLmxvZyhhKX0sZXI9ZnVuY3Rpb24oYSxiKXtiLk5hKGEuRWIpO2IubmEoYS5GYil9O3ZhciBpcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7KytjKWJbYVtjXV09ITA7cmV0dXJuIGJ9LGpyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hP1thXTpbXTt0aGlzLmc9WzBdO3RoaXMuaj0hMX07anIucHJvdG90eXBlLnBhc3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmp9O2pyLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhKXtpZih0aGlzLmopcmV0dXJuIGF8fGZ1bmN0aW9uKCl7fTt0aGlzLmcucHVzaCgwKTt2YXIgYj10aGlzLmcubGVuZ3RoLTE7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe3RoaXMuZ1tiXSsrO2EmJmEuYXBwbHkobnVsbCxhcmd1bWVudHMpO2tyKHRoaXMpfSx0aGlzKX07CmpyLnByb3RvdHlwZS5kZWxheT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qP2E6KDAsXy55KShmdW5jdGlvbigpe2lmKHRoaXMuailhLmFwcGx5KG51bGwsYXJndW1lbnRzKTtlbHNle3ZhciBiPWFyZ3VtZW50czt0aGlzLmgucHVzaChmdW5jdGlvbigpe2EuYXBwbHkobnVsbCxiKX0pfX0sdGhpcyl9O2pyLnByb3RvdHlwZS5maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLmdbMF09MTtrcih0aGlzKX07CnZhciBrcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEuZy5sZW5ndGg7KytiKWlmKGEuZ1tiXT09MClyZXR1cm47YS5qPSEwO2ZvcihiPTA7YjxhLmgubGVuZ3RoOysrYil7dmFyIGM9YS5oW2JdO2EuaFtiXT1udWxsO2MuY2FsbCgpfWEuaD1bXTthLmc9W119LGxyPWZ1bmN0aW9uKGEpe3RoaXMuaj1hO3RoaXMuaD10aGlzLmc9ITF9LG1yPWZ1bmN0aW9uKGEsYil7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe2ImJmIuYXBwbHkobnVsbCxhcmd1bWVudHMpO3RoaXMuaD90aGlzLmd8fCh0aGlzLmouY2FsbCgpLHRoaXMuZz0hMCk6dGhpcy5nPSEwfSxhKX07bHIucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe3RoaXMuaHx8KHRoaXMuaD0hMCx0aGlzLmcmJnRoaXMuai5jYWxsKCkpfTt2YXIgbnI9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuQj1hO3RoaXMuQT1jfHwwO3RoaXMuaj10aGlzLmg9ITF9LG9yPWZ1bmN0aW9uKGEpe2EuaHx8YS5vKCl9Owpuci5wcm90b3R5cGUubz1mdW5jdGlvbigpeyh0aGlzLmg9KHRoaXMuaj0hIXRoaXMuQi5jYWxsKCkpfHwtLXRoaXMuQTw9MCk/KHRoaXMuZy5jYWxsKG51bGwsdGhpcy5qKSx0aGlzLmw9MCk6dGhpcy5sPXdpbmRvdy5zZXRUaW1lb3V0KCgwLF8ueSkodGhpcy5vLHRoaXMpLDMwKX07bnIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe3RoaXMubCYmd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmwpO3RoaXMuaD0hMDt0aGlzLmcuY2FsbChudWxsLHRoaXMuail9Owp2YXIgcHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oKXthLmRpc3BhdGNoRXZlbnQoYil9fSxxcj1mdW5jdGlvbihhKXthPV8uQWMoYSkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCJfIiwiLSIpO2lmKGE9PSJ6aC1jbiIpcmV0dXJuInpoLUNOIjtpZihhPT0iemgtdHciKXJldHVybiJ6aC1UVyI7dmFyIGI9YS5pbmRleE9mKCItIik7YT1iPj0wP2Euc3Vic3RyaW5nKDAsYik6YTtyZXR1cm4gYT09InpoIj8iemgtQ04iOmF9LHJyPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM7Zm9yKGMgaW4gYSlpZihhW2NdIT09T2JqZWN0LnByb3RvdHlwZVtjXSl7dmFyIGQ9Xy5HYihjKTtpZihfLm9jKGFbY10pPT0iYXJyYXkiKWZvcih2YXIgZT0wO2U8YVtjXS5sZW5ndGg7KytlKWIucHVzaChkKyI9IitfLkdiKGFbY11bZV0pKTtlbHNlIGIucHVzaChkKyI9IitfLkdiKGFbY10pKX1yZXR1cm4gYi5qb2luKCImIil9LFFtPWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTtiLm5jYT1hO2IuY2xpZW50PXRxOwpPbiYmKGIubG9nbGQ9InYiK09uKTt2YXIgYz1uZXcgSW1hZ2U7Yy5zcmM9Ii8vIitCcSsiL2dlbjIwND8iK3JyKGIpO2Mub25sb2FkPWZ1bmN0aW9uKCl7Yy5vbmxvYWQ9bnVsbH19LHRyPWZ1bmN0aW9uKGEsYil7aWYoKF8uU2N8fF8uUmMpJiZ3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUhPWRvY3VtZW50LmRvbWFpbil7c3I9c3I/c3IrMToxO3ZhciBjPSJmIitzcisiXyIrRGF0ZS5ub3coKS50b1N0cmluZygzNik7d2luZG93W2NdPWZ1bmN0aW9uKCl7d2luZG93W2NdPXZvaWQgMDthLnNyYz0iIyI7YiYmd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiKCl9LDApfTthLnNyYz0iamF2YXNjcmlwdDp2b2lkKGRvY3VtZW50LndyaXRlKFwiPHNjcmlwdD5kb2N1bWVudC5kb21haW49JyIrZG9jdW1lbnQuZG9tYWluKyInO3BhcmVudFsnIitjKyInXSgpO1x4M2Mvc2NyaXB0PlwiKSkifWVsc2UgYiYmYigpfSxzcix1cj1mdW5jdGlvbigpe3ZhciBhPXt9O3RyeXtmb3IodmFyIGIgaW4gT2JqZWN0LnByb3RvdHlwZSl7dmFyIGM9Ck9iamVjdC5wcm90b3R5cGVbYl07ZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbYl07YVtiXT1jfX1jYXRjaChkKXtyZXR1cm57fX1yZXR1cm4gYX0sdnI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpT2JqZWN0LnByb3RvdHlwZVtiXT1hW2JdfSx3cj1mdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSlyZXR1cm4hMTtyZXR1cm4hMH0seHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSE9ImF1dG8iJiZhIT0iemgtQ04iJiZhPT1ifSx5cj1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5oYXNoLm1hdGNoKC9nb29nbGVcLnRyYW5zbGF0ZVwuZWxlbWVudFwuc3A9KFteJl0rKS8pO3JldHVybiBhJiZhWzFdP2FbMV06bnVsbH07dmFyIFBtPW51bGwsenI9bnVsbCxBcj1mdW5jdGlvbigpe307QXIucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkIGluIGMpY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0mJihiW2RdPXR5cGVvZiBjW2RdPT09ImZ1bmN0aW9uIj9jW2RdOl8uWmooUm0sYSxOdW1iZXIoY1tkXSkpKX07dmFyIENyPWZ1bmN0aW9uKCl7UG0mJkJyKCk7UG09W107enI9Xy54KHdpbmRvdywicGFnZWhpZGUiLGZ1bmN0aW9uKCl7QnIoKX0pfSxCcj1mdW5jdGlvbigpe3pyJiYoXy5WZCh6ciksenI9bnVsbCk7UG0mJlBtLmxlbmd0aCYmUW0oUG0uam9pbigiIikpO1BtPW51bGx9LERyPW5ldyBBcjt2YXIgRXI9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEVyLF8uSik7dmFyIFRtPV8uS2koRXIpO3ZhciBTbTt2YXIgRnI9ZnVuY3Rpb24oYSl7dGhpcy51cmw9YTt0aGlzLnRpbWVvdXQ9LTE7dGhpcy5qPXRoaXMuaD0iY2FsbGJhY2siO3RoaXMuZz10aGlzLndiPW51bGx9LEpyPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7YS5nPUdvKCk7dmFyIGM9bmV3IFpsKGEudXJsKSxkPW5ldyBNYXA7YS5qJiZkLnNldChhLmosYS5oKTtjLmcuZXh0ZW5kKFhvKGIpLGQpO0dyKGEpLnRoZW4oZnVuY3Rpb24oKXtIcihhLGMudG9TdHJpbmcoKSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEuZy5wcm9taXNlfSkudGhlbihmdW5jdGlvbigpe0lyKGEpfSxmdW5jdGlvbigpe0lyKGEpfSk7YS50aW1lb3V0PjAmJihhLmw9c2V0VGltZW91dChmdW5jdGlvbigpe2EuZy5yZWplY3QoRXJyb3IoInJhIikpfSxhLnRpbWVvdXQpKTtyZXR1cm4gYS5nLnByb21pc2V9LEhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1lc3NhZ2VDaGFubmVsO2Eud2IuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7dXJsOmIsCmNhbGxiYWNrTmFtZTphLmh9LCIqIixbYy5wb3J0Ml0pO2MucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKGQpe3ZhciBlPXt9O2EubCE9PXZvaWQgMCYmKGNsZWFyVGltZW91dChhLmwpLGEubD12b2lkIDApO2QuZGF0YT09PXZvaWQgMCYmYS5nLnJlamVjdChFcnJvcigic2EiKSk7dHlwZW9mIGQuZGF0YSE9PSJzdHJpbmciJiZhLmcucmVqZWN0KEVycm9yKCJ0YSIpKTt0cnl7ZT1KU09OLnBhcnNlKGQuZGF0YSl9Y2F0Y2goZil7YS5nLnJlamVjdChFcnJvcigidWFgIitmLm1lc3NhZ2UpKX1hLmcucmVzb2x2ZShlKX19LEdyPWZ1bmN0aW9uKGEpe3ZhciBiPUdvKCksYz1fLndkKGRvY3VtZW50LCJJRlJBTUUiKTtpZighYy5zYW5kYm94KXRocm93IEVycm9yKCJ2YSIpO2Muc2FuZGJveC52YWx1ZT0iYWxsb3ctc2NyaXB0cyI7Yy5zdHlsZS5kaXNwbGF5PSJub25lIjthLndiPWM7YT1WbSgpO2E9U2woW18ubWwoIjwhRE9DVFlQRSBodG1sPiIpLFlsKFFsKGEpKV0pO2Muc3JjZG9jPV8ua2ooYSk7CmE9RmwoImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9VVRGLTg7YmFzZTY0LCIrYnRvYShfLmtqKGEpLnRvU3RyaW5nKCkpKTtjLnNyYz1fLk5hKGEpLnRvU3RyaW5nKCk7Yy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe3JldHVybiBiLnJlc29sdmUoYyl9LCExKTtjLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbihkKXtiLnJlamVjdChkIGluc3RhbmNlb2YgRXJyb3I/ZDpFcnJvcihTdHJpbmcoZCkpKX0sITEpO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChjKTtyZXR1cm4gYi5wcm9taXNlfSxJcj1mdW5jdGlvbihhKXthLndiIT09bnVsbCYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZChhLndiKSxhLndiPW51bGwpfTt2YXIgS3I9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9bmV3IFpsKGEpO2lmKGIpZm9yKHZhciBjIGluIGIpYltjXSE9PU9iamVjdC5wcm90b3R5cGVbY10mJnRoaXMuZy5nLnNldChjLGJbY10pfTtfLkIoS3IsXy51KTtLci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07S3IucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGEoKX07S3IucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5ZaShudWxsKX07S3IucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe307dmFyIExyPWZ1bmN0aW9uKGEsYixjKXtLci5jYWxsKHRoaXMsYSxiKTthPXRoaXMuaD1uZXcgRnIodGhpcy5nKTthLmg9ImNhbGxiYWNrIjthLmo9Yz09PXZvaWQgMD8iY2FsbGJhY2siOmN9O18uQihMcixLcik7THIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuITB9OwpMci5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhKXtyZXR1cm4gSnIodGhpcy5oLGEpfTtMci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2EuY2FuY2VsKCl9O3ZhciBNcj1mdW5jdGlvbihhLGIpe0tyLmNhbGwodGhpcyxhLGIpO3RoaXMuaD17fTt0aGlzLmo9MH07Xy5CKE1yLEtyKTtNci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Ck1yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz11cigpLGQ9Kyt0aGlzLmosZT17fSxmPXt9OyJxImluIGEmJihmLnE9YS5xLGRlbGV0ZSBhLnEpO2UuaGE9bmV3IF8uV2Y7dGhpcy5nLmguZW5kc1dpdGgoIi5jb3JwLmdvb2dsZS5jb20iKSYmKGUuaGEuQz0hMCk7dmFyIGc9bmV3IF8ub2UoZnVuY3Rpb24oaCxrKXtfLngoZS5oYSwiY29tcGxldGUiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpe2lmKF8uZ2coZS5oYSkpe3ZhciBsPV8uaWcoZS5oYSk7TnIoYixkKTtyZXR1cm4gaChsKX1iLnhpKCk7bD1fLmlnKGUuaGEpO05yKGIsZCk7cmV0dXJuIGsobCl9fSk7Xy54KGUuaGEsInRpbWVvdXQiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpcmV0dXJuIGIuemkoKSxOcihiLGQpLGsoKX0pfSk7ZS5oYS5zZW5kKHRoaXMuZy50b1N0cmluZygpKyImIitycihhKSwiUE9TVCIscnIoZikseyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSk7CnRoaXMuaFtkXT1lO3ZyKGMpO3JldHVybiBnfTtNci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuaFthXTtiJiYoYi5SZT0hMCxOcih0aGlzLGEpKX07dmFyIE5yPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5oW2JdO2MmJihjLmhhJiYoYy5oYS5kaXNwb3NlKCksYy5oYT1udWxsKSxkZWxldGUgYS5oW2JdKX07TXIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtLci5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO2Zvcih2YXIgYSBpbiB0aGlzLmgpdGhpcy5jYW5jZWwoYSl9O0RyLmF0dGFjaCgxNzE3MCxNci5wcm90b3R5cGUse3ppOjEseGk6Mn0pO3ZhciBPcj1mdW5jdGlvbihhLGIsYyl7S3IuY2FsbCh0aGlzLGEsYyk7dGhpcy5oPWIucHJveHlJc1N1cHBvcnRlZDt0aGlzLmo9ZnVuY3Rpb24oZCxlLGYpe3JldHVybiBfLllpKGIucHJveHlTZW5kKGQsZSxmKSl9O3RoaXMubD1iLnByb3h5Q2FuY2VsfTtfLkIoT3IsS3IpO09yLnByb3RvdHlwZS5UYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmgoKX07Ck9yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaih0aGlzLmcudG9TdHJpbmcoKSxhLGIpfTtPci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3RoaXMubChhKX07dmFyIFByPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPWI/YjpudWxsfTtfLkIoUHIsXy51KTtQci5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTt2YXIgUnI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy51LmNhbGwodGhpcyk7dmFyIGU7Yj9lPXtjbGllbnQ6Yn06ZT17YW5ubzozLGNsaWVudDp0cSxmb3JtYXQ6Imh0bWwiLHY6IjEuMCJ9O2MmJihlLnNwPWMpO2Uua2V5PWE7T24mJihlLmxvZ2xkPSJ2IitPbik7dGhpcy5nPW51bGw7dGhpcy5oPXtIZjozMDB9O2E9dGhpcy5BPW5ldyBQcihlLGQpO2I9dnEreXE7dGhpcy5vPWEuZz9uZXcgT3IoYixhLmcse2NsaWVudDp0cX0pOm5ldyBMcihiLHtjbGllbnQ6dHF9KTthPXRoaXMuQTtpZihhLmcpe2lmKCFhLmcpdGhyb3cgRXJyb3IoIndhIik7YT1be3ZhOm5ldyBPcih2cSt1cSsiL3RyYW5zbGF0ZV9hL3QiLGEuZyxhLmgpLGNlOjE5MDAsSWY6NDI5NDk2NzI5NSxHZjotMSxXZjowLEtkOiExfV19ZWxzZSBhPVt7dmE6bmV3IE1yKHZxK3VxKyIvdHJhbnNsYXRlX2EvdCIsYS5oKSxjZTozMDcyMCxJZjo0Mjk0OTY3Mjk1LEdmOi0xLFdmOjAsS2Q6ITF9XTt0aGlzLkI9bmV3IFFyKGEpO3RoaXMuaj0KITE7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil0aGlzLmo9dGhpcy5qfHxhW2JdLnZhLlRhKCk7dGhpcy5qfHx0aGlzLm5pKCl9O18uQihScixfLnUpO1JyLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKGEpe3RoaXMuQ3x8KHRoaXMuQz0hMCx0aGlzLkIuc3RhcnQoKDAsXy55KShmdW5jdGlvbihiKXtiJiYodGhpcy5nPWIsdGhpcy5oLnZhPWIudmEpO2EoKX0sdGhpcykpKX07UnIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07UnIucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZyE9PW51bGwmJnRoaXMuZy52YSE9PW51bGwmJnRoaXMuZy52YS5TYSgpfTsKdmFyIFNyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17cTpjLnN1YnN0cmluZygwLGEuaC5IZiksc2w6ImF1dG8iLHRsOiJlbiJ9O3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihlLGYpe2EuaC52YS5zZW5kKGQsYikudGhlbihmdW5jdGlvbihnKXt0cnl7dmFyIGg9SlNPTi5wYXJzZShnKTtlKGgmJmhbMV18fG51bGwpfWNhdGNoKGspe2UobnVsbCl9fSxmdW5jdGlvbihnKXtyZXR1cm4gZihnfHxudWxsKX0pfSl9OwpSci5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGs9dGhpcyxsPXtxOmIsc2w6Yyx0bDpkfTtsLnRjPWU7ZiYmKGwuY3R0PTEpO2cmJihsLmRvbT0xKTtoJiYobC5zcj0xKTtsW2hxKCldPWdxKGIuam9pbigiIikpO3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihuLHEpe2suZy52YS5zZW5kKGwsYSkudGhlbihmdW5jdGlvbihwKXtpZihwKXtpZih0eXBlb2YgcCE9PSJvYmplY3QiKXRyeXtwPUpTT04ucGFyc2UocCl9Y2F0Y2goQSl7ay5taSgpO3EoKTtyZXR1cm59aWYoXy5vYyhwKSE9ImFycmF5Iil2YXIgcj1bW3AsMjAwXV07ZWxzZSBpZihwLmxlbmd0aD09MiYmXy5vYyhwWzBdKSE9ImFycmF5IiYmXy5vYyhwWzFdKSE9ImFycmF5IilyPVtbcFswXSwyMDAscFsxXV0sW3BbMV0sMjAwLHBbMV1dXTtlbHNle3I9W107Zm9yKHZhciB0PTA7dDxwLmxlbmd0aDsrK3Qpclt0XT1fLm9jKHBbdF0pIT0iYXJyYXkiP1twW3RdLDIwMF06W3BbdF1bMF0sCjIwMCxwW3RdWzFdXX1uKHIpfWVsc2UgcSgpfSl9KX07dmFyIFRyPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIF8ub2U/Yi50aGVuKGZ1bmN0aW9uKGMpe2EuZy52YS5jYW5jZWwoYyl9KTphLmcudmEuY2FuY2VsKGIpfTtSci5wcm90b3R5cGUubD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuS2Q/dGhpcy5nLmNlLShuZXcgWmwodGhpcy5nLnZhLmcpKS50b1N0cmluZygpLmxlbmd0aDp0aGlzLmcuY2V9O1JyLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nJiYodGhpcy5nLnZhLmRpc3Bvc2UoKSx0aGlzLmcudmE9bnVsbCk7dGhpcy5oLnZhPW51bGw7dGhpcy5vLmRpc3Bvc2UoKTt0aGlzLm89bnVsbH07RHIuYXR0YWNoKDczNjEsUnIucHJvdG90eXBlLHtuaTpmdW5jdGlvbigpe1FtKCJ0ZV9hdSIpfX0pO0RyLmF0dGFjaCg0NzUwNCxSci5wcm90b3R5cGUse21pOmZ1bmN0aW9uKCl7UW0oInRlX2FmYnIiKX19KTsKdmFyIFFyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtRci5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5qPTA7VXIodGhpcyl9O3ZhciBVcj1mdW5jdGlvbihhKXtpZihhLmo+PWEuaC5sZW5ndGgpYS5nKG51bGwpO2Vsc2V7dmFyIGI9YS5oW2EuaisrXTtiLklpP29yKG5ldyBucigoMCxfLnkpKGIudmEuU2EsYi52YSksKDAsXy55KShmdW5jdGlvbihjKXtjP3RoaXMuZyhiKTpVcih0aGlzKX0sYSksYi5JaSkpOmIudmEuU2EoKT9hLmcoYik6VXIoYSl9fTt2YXIgVnI9aXIoIkEgQUJCUiBBQ1JPTllNIEIgQkFTRUZPTlQgQkRPIEJJRyBDSVRFIERGTiBFTSBGT05UIEkgSU5QVVQgTk9CUiBMQUJFTCBRIFJUIFMgU01BTEwgU1BBTiBTVFJJS0UgU1RST05HIFNVQiBTVVAgVEVYVEFSRUEgVFQgVSBWQVIiLnNwbGl0KCIgIikpLFdyPWlyKCJBUFBMRVQgQVJFQSBCQVNFIEZSQU1FIEZSQU1FU0VUIEhSIExJTksgTUVUQSBOT0ZSQU1FUyBOT1NDUklQVCBJTlBVVCBURVhUQVJFQSBUSVRMRSIuc3BsaXQoIiAiKSksWHI9aXIoIkJSIENPREUgSU1HIEtCRCBNQVAgT0JKRUNUIFBBUkFNIFJQIFNDUklQVCBTVFlMRSBXQlIgc3ZnIi5zcGxpdCgiICIpKSxZcj1pcihbInN1Ym1pdCIsImJ1dHRvbiJdKTtYbS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBacn07dmFyIFpyPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07WG0ucHJvdG90eXBlLm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIGFzPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5oPSEhYjt0aGlzLm5vZGU9bnVsbDt0aGlzLmc9MDt0aGlzLmo9ITE7dGhpcy5sPSFjO2EmJiRyKHRoaXMsYSxkKTt0aGlzLmRlcHRoPWUhPXZvaWQgMD9lOnRoaXMuZ3x8MDt0aGlzLmgmJih0aGlzLmRlcHRoKj0tMSl9O18uRyhhcyxYbSk7dmFyICRyPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEubm9kZT1iKWEuZz10eXBlb2YgYz09PSJudW1iZXIiP2M6YS5ub2RlLm5vZGVUeXBlIT0xPzA6YS5oPy0xOjE7dHlwZW9mIGQ9PT0ibnVtYmVyIiYmKGEuZGVwdGg9ZCl9LGJzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaD8tMToxO2EuZz09YiYmKGEuZz1iKi0xLGEuZGVwdGgrPWEuZyooYS5oPy0xOjEpKX07CmFzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7aWYodGhpcy5qKXtpZighdGhpcy5ub2RlfHx0aGlzLmwmJnRoaXMuZGVwdGg9PTApcmV0dXJuIFpyO3ZhciBhPXRoaXMubm9kZTt2YXIgYj10aGlzLmg/LTE6MTtpZih0aGlzLmc9PWIpe3ZhciBjPXRoaXMuaD9hLmxhc3RDaGlsZDphLmZpcnN0Q2hpbGQ7Yz8kcih0aGlzLGMpOiRyKHRoaXMsYSxiKi0xKX1lbHNlKGM9dGhpcy5oP2EucHJldmlvdXNTaWJsaW5nOmEubmV4dFNpYmxpbmcpPyRyKHRoaXMsYyk6JHIodGhpcyxhLnBhcmVudE5vZGUsYiotMSk7dGhpcy5kZXB0aCs9dGhpcy5nKih0aGlzLmg/LTE6MSl9ZWxzZSB0aGlzLmo9ITA7cmV0dXJuKGE9dGhpcy5ub2RlKT97dmFsdWU6YSxkb25lOiExfTpacn07YXMucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlPT10aGlzLm5vZGUmJighdGhpcy5ub2RlfHxhLmc9PXRoaXMuZyl9Owphcy5wcm90b3R5cGUuc3BsaWNlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubm9kZSxjPXRoaXMuaD8xOi0xO3RoaXMuZz09YyYmKHRoaXMuZz1jKi0xLHRoaXMuZGVwdGgrPXRoaXMuZyoodGhpcy5oPy0xOjEpKTt0aGlzLmg9IXRoaXMuaDthcy5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMpO3RoaXMuaD0hdGhpcy5oO2M9Xy5xYShhcmd1bWVudHNbMF0pP2FyZ3VtZW50c1swXTphcmd1bWVudHM7Zm9yKHZhciBkPWMubGVuZ3RoLTE7ZD49MDtkLS0peG8oY1tkXSxiKTtfLkFkKGIpfTt2YXIgZHM9ZnVuY3Rpb24oYSxiKXt0aGlzLmw9ITE7dGhpcy5qPV8uU2M/W106bnVsbDt0aGlzLmg9W107dGhpcy5kb25lPSExO2Zvcih0aGlzLmc9bmV3IGFzKGEsITEsYixhLm5vZGVUeXBlPT09Mz8wOjEsMSk7YT1hLnBhcmVudE5vZGU7KWNzKHRoaXMsYSwhMCk7dGhpcy5oLnB1c2goITEpO3RoaXMuaC5yZXZlcnNlKCk7Zm9yKGE9MTthPHRoaXMuaC5sZW5ndGg7KythKXRoaXMuaFthXT09bnVsbCYmKHRoaXMuaFthXT10aGlzLmhbYS0xXSl9LGNzPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6Yzt2YXIgZD0oYi5zdHlsZSYmYi5zdHlsZS53aGl0ZVNwYWNlfHwiIikuc3Vic3RyaW5nKDAsMyk7ZD09PSJwcmUifHwhZCYmYi50YWdOYW1lPT09IlBSRSI/YS5oLnB1c2goITApOmQmJmQhPT0icHJlIj9hLmgucHVzaCghMSk6Yz9hLmgucHVzaChudWxsKTphLmgucHVzaChhLmhbYS5oLmxlbmd0aC0xXSl9LGVzPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5oW2EuaC5sZW5ndGgtCjFdfTtkcy5wcm90b3R5cGUubm9kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcubm9kZX07ZHMucHJvdG90eXBlLmRlcHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5kZXB0aH07CmRzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZz09PS0xJiZ0aGlzLmoubGVuZ3RoLS07dGhpcy5nLmc9PT0tMSYmdGhpcy5oLmxlbmd0aC0tO2lmKHRoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZyE9PTEmJiF0aGlzLmcubm9kZS5uZXh0U2libGluZykkcih0aGlzLmcsdGhpcy5qW3RoaXMuai5sZW5ndGgtMV0sLTEsdGhpcy5nLmRlcHRoLTEpO2Vsc2V7dmFyIGE9dGhpcy5nLm5leHQoKTt0aGlzLmw9ITA7aWYoYS5kb25lKXt0aGlzLmRvbmU9ITA7cmV0dXJufXRoaXMuaiYmdGhpcy5nLmc9PT0xJiZ0aGlzLmoucHVzaCh0aGlzLmcubm9kZSl9dGhpcy5nLmc9PT0xJiZ0aGlzLmwmJmNzKHRoaXMsdGhpcy5nLm5vZGUpfWNhdGNoKGIpe3RoaXMud2koYiksdGhpcy5kb25lPSEwfX07RHIuYXR0YWNoKDUyNzU0LGRzLnByb3RvdHlwZSx7d2k6MX0pO3ZhciBRPXt9LGZzPWZ1bmN0aW9uKCl7UVswXT0iT3ZlcnNldHQiO1FbMV09IkF2YnJ5dCI7UVsyXT0iTHVrayI7UVszXT1mdW5jdGlvbihhKXtyZXR1cm4iR29vZ2xlIGhhciBvdmVyc2F0dCBkZW5uZSBzaWRlbiB0aWwgIithKyIgYXV0b21hdGlzayJ9O1FbNF09ZnVuY3Rpb24oYSl7cmV0dXJuIk92ZXJzYXR0IHRpbDogIithfTtRWzVdPSJGZWlsOiBUamVuZXJlbiBrdW5uZSBpa2tlIGZ1bGxmXHUwMGY4cmUgZm9yZXNwXHUwMGY4cnNlbGVuLiBQclx1MDBmOHYgcFx1MDBlNSBueXR0IHNlbmVyZS4iO1FbNl09IkxlcyBtZXIiO1FbN109ZnVuY3Rpb24oYSl7cmV0dXJuIkRyZXZldCBhdiAiK2F9O1FbOF09Ik92ZXJzZXR0ZXIiO1FbOV09Ik92ZXJzZXR0ZWxzZSBwXHUwMGU1Z1x1MDBlNXIiO1FbMTBdPWZ1bmN0aW9uKGEpe3JldHVybiJWaWwgZHUgb3ZlcnNldHRlIGRlbm5lIHNpZGVuIHRpbCAiK2ErIiBtZWQgR29vZ2xlIE92ZXJzZXR0ZXI/In07UVsxMV09ZnVuY3Rpb24oYSl7cmV0dXJuIlZpcyBkZW5uZSBzaWRlbiBwXHUwMGU1OiAiKwphfTtRWzEyXT0iVmlzIG9yaWdpbmFsIjtRWzEzXT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgbG9rYWxlIGZpbGVuIHNlbmRlcyB0aWwgR29vZ2xlIHZpYSBlbiBzaWtrZXIgdGlsa29ibGluZyBmb3IgXHUwMGU1IGJsaSBvdmVyc2F0dC4iO1FbMTRdPSJJbm5ob2xkZXQgcFx1MDBlNSBkZW5uZSBzaWtyZSBzaWRlbiBzZW5kZXMgdGlsIEdvb2dsZSB2aWEgZW4gc2lra2VyIHRpbGtvYmxpbmcgZm9yIFx1MDBlNSBibGkgb3ZlcnNhdHQuIjtRWzE1XT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgaW50cmFuZXR0c2lkZW4gc2VuZGVzIHRpbCBHb29nbGUgdmlhIGVuIHNpa2tlciB0aWxrb2JsaW5nIGZvciBcdTAwZTUgYmxpIG92ZXJzYXR0LiI7UVsxNl09IlZlbGcgc3ByXHUwMGU1ayI7UVsxN109ZnVuY3Rpb24oYSl7cmV0dXJuIlNsXHUwMGU1IGF2IG92ZXJzZXR0ZWxzZSB0aWwgIithfTtRWzE4XT1mdW5jdGlvbihhKXtyZXR1cm4iRGVha3RpdmVyIGZvcjogIithfTtRWzE5XT0iU2tqdWwgYWxsdGlkIjsKUVsyMF09Ik9yaWdpbmFsdGVrc3Q6IjtRWzIxXT0iQmlkcmEgbWVkIGVuIGJlZHJlIG92ZXJzZXR0ZWxzZSI7UVsyMl09IkJpZHJhIjtRWzIzXT0iT3ZlcnNldHQgYWx0IjtRWzI0XT0iR2plbm9wcHJldHQgYWx0IjtRWzI1XT0iQXZicnl0IGFsdCI7UVsyNl09Ik92ZXJzZXR0IGRlbGVuZSB0aWwgbWl0dCBzcHJcdTAwZTVrIjtRWzI3XT1mdW5jdGlvbihhKXtyZXR1cm4iT3ZlcnNldHQgYWx0IHRpbCAiK2F9O1FbMjhdPSJWaXMgb3BwcmlubmVsaWdlIHNwclx1MDBlNWsiO1FbMjldPSJBbHRlcm5hdGl2ZXIiO1FbMzBdPSJTbFx1MDBlNSBhdiBvdmVyc2V0dGVsc2UgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbMzFdPW51bGw7UVszMl09IlZpcyBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzMzXT0iS2xpa2sgcFx1MDBlNSBvcmQgb3ZlbmZvciBmb3IgXHUwMGU1IGZcdTAwZTUgYWx0ZXJuYXRpdmUgb3ZlcnNldHRlbHNlciI7UVszNF09IkJydWsiO1FbMzVdPSJEcmEgbWVkIFNoaWZ0LXRhc3QgZm9yIFx1MDBlNSBlbmRyZSByZWtrZWZcdTAwZjhsZ2UiOwpRWzM2XT0iS2xpa2sgZm9yIFx1MDBlNSBzZSBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzM3XT0iSG9sZCBuZWRlIFNoaWZ0LXRhc3Rlbiwga2xpa2ssIG9nIGRyYSBkZXJldHRlciBvcmRlbmUgb3ZlbmZvciBmb3IgXHUwMGU1IGVuZHJlIHBcdTAwZTUgcmVra2VmXHUwMGY4bGdlbi4iO1FbMzhdPSJUYWtrIGZvciBhdCBkdSBiaWRyYXIgbWVkIG92ZXJzZXR0ZWxzZXNmb3JzbGFnZXQgZGl0dCB0aWwgR29vZ2xlIE92ZXJzZXR0ZXIuIjtRWzM5XT0iQWRtaW5pc3RyZXIgb3ZlcnNldHRpbmcgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbNDBdPSJLbGlrayBwXHUwMGU1IGV0IG9yZCBmb3IgXHUwMGU1IHNlIGFsdGVybmF0aXZlIG92ZXJzZXR0ZWxzZXIsIGVsbGVyIGRvYmJlbHRrbGlrayBmb3IgXHUwMGU1IHJlZGlnZXJlIGRpcmVrdGUiO1FbNDFdPSJPcHByaW5uZWxpZyB0ZWtzdCI7UVs0Ml09Ik92ZXJzZXR0ZXIiO1FbNDNdPSJPdmVyc2V0dCI7UVs0NF09IlJldHRpbmdlbiBkaW4gZXIgc2VuZHQgaW5uLiI7ClFbNDVdPSJGZWlsOiBTcHJcdTAwZTVrZXQgdGlsIG5ldHRzaWRlbiBzdFx1MDBmOHR0ZXMgaWtrZS4iO1FbNDZdPSJNb2R1bCBmb3Igc3ByXHUwMGU1a292ZXJzZXR0aW5nIjtRWzQ3XT0iR2kgZW4gdnVyZGVyaW5nIGF2IGRlbm5lIG92ZXJzZXR0ZWxzZW4iO1FbNDhdPSJUaWxiYWtlbWVsZGluZ2VuIGRpbiBicnVrZXMgZm9yIFx1MDBlNSBnalx1MDBmOHJlIEdvb2dsZSBPdmVyc2V0dGVyIGJlZHJlIjtRWzQ5XT0iR29kIG92ZXJzZXR0ZWxzZSI7UVs1MF09IkRcdTAwZTVybGlnIG92ZXJzZXR0ZWxzZSI7UVs1MV09Ik92ZXJzZXR0ZWxzZSJ9O3ZhciBncz1mdW5jdGlvbigpe3JldHVybiJbbXNnX3VuZGVmaW5lZF0ifSxSPXt9OwooZnVuY3Rpb24oKXt2YXIgYT1mdW5jdGlvbihiKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYn19O1I9e0llOmEoMCksbWc6YSgxKSxBZTphKDIpLFdqOmEoMyksRGc6YSg0KSxDZTphKDUpLHdnOmEoNDUpLHhnOmEoNiksemc6YSg3KSx3ZDphKDgpLEVnOmEoOSksc2s6YSgxMCksSmc6YSgxMSksQWc6YSgxMiksbGs6YSgxMyksQ2c6YSgxNCksa2s6YSgxNSksQmc6YSgxNiksdms6YSgxNyksRmc6YSgxOCksamo6YSgxOSksVWo6YSgyMCksSWo6YSgyMSksbWs6YSgyMiksZWs6YSgyMyksZGs6YSgyNCksYms6YSgyNSksdGs6YSgyNikscms6YSgyNyksY2s6YSgyOCkseWc6YSgyOSksR2c6YSgzMCksaWo6YSgzMiksZ2o6YSgzMyksd2s6YSgzNCkseGo6YSgzNSkscGo6YSgzNiksd2o6YSgzNyksbms6YSgzOCksUWo6YSgzOSksaGo6YSg0MCksVmo6YSg0MSksRWU6YSg0NiksWGo6YSg0NyksSGo6YSg0OCksR2o6YSg0OSksRmo6YSg1MCksdWs6YSg1MSl9fSkoKTtSLkNsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMF19OwpSLlprPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMV19O1IuYmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVsyXX07Ui5ubD1mdW5jdGlvbigpe3JldHVybiBRWzNdfTtSLkRsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbNF19O1IuZmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1XX07Ui5obD1mdW5jdGlvbigpe3JldHVybiBRWzQ1XX07Ui5pbD1mdW5jdGlvbigpe3JldHVybiBRWzZdfTtSLm9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbN119O1IuR2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs4XX07Ui5JbD1mdW5jdGlvbigpe3JldHVybiBRWzldfTtSLkZsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTBdfTtSLk9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTFdfTtSLnBsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTJdfTtSLnlsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTNdfTtSLnpsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTRdfTtSLnhsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTVdfTtSLnFsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTZdfTsKUi5MbD1mdW5jdGlvbigpe3JldHVybiBRWzE3XX07Ui5LbD1mdW5jdGlvbigpe3JldHVybiBRWzE4XX07Ui5Zaz1mdW5jdGlvbigpe3JldHVybiBRWzE5XX07Ui5sbD1mdW5jdGlvbigpe3JldHVybiBRWzIwXX07Ui5zaD1mdW5jdGlvbigpe3JldHVybiBRWzQxXX07Ui5lbD1mdW5jdGlvbigpe3JldHVybiBRWzIxXX07Ui5BbD1mdW5jdGlvbigpe3JldHVybiBRWzIyXX07Ui53bD1mdW5jdGlvbigpe3JldHVybiBRWzIzXX07Ui52bD1mdW5jdGlvbigpe3JldHVybiBRWzI0XX07Ui5ybD1mdW5jdGlvbigpe3JldHVybiBRWzI1XX07Ui5IbD1mdW5jdGlvbigpe3JldHVybiBRWzI2XX07Ui5FbD1mdW5jdGlvbigpe3JldHVybiBRWzI3XX07Ui51bD1mdW5jdGlvbigpe3JldHVybiBRWzI4XX07Ui5rbD1mdW5jdGlvbigpe3JldHVybiBRWzI5XX07Ui5NbD1mdW5jdGlvbigpe3JldHVybiBRWzMwXX07Ui5qbD1mdW5jdGlvbigpe3JldHVybiBRWzM5XX07Ui5Yaz1mdW5jdGlvbigpe3JldHVybiBRWzMyXX07ClIuVms9ZnVuY3Rpb24oKXtyZXR1cm4gUVszM119O1IuV2s9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0MF19O1IuTmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNF19O1IuZGw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNV19O1IuYWw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNl19O1IuY2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVszN119O1IuQmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszOF19O1IuZ2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0Nl19O1IudGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0N119O1Iucmg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OF19O1IucWg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OV19O1IucGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MF19O1IuSmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MV19O3ZhciBocz1SO3ZhciBpcz1ocy5zaCxqcz1ocy50aCxrcz1ocy5yaCxscz1ocy5xaCxtcz1ocy5waDt2YXIgcHM9ZnVuY3Rpb24oYSl7dmFyIGI9YS5kaXI7YT1hLmNqO3JldHVybiBWbihXbihWbihXbihWbihfLnlsKCksJzxkaXYgaWQ9Imdvb2ctZ3QtdHQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItTDdsYmtiIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsgYm9yZGVyLXJhZGl1czogMTJweDsgbWFyZ2luOiAwIDAgMCAtMjNweDsgcGFkZGluZzogMDsgZm9udC1mYW1pbHk6IFwnR29vZ2xlIFNhbnNcJywgQXJpYWwsIHNhbnMtc2VyaWY7IiBkYXRhLWlkPSIiPjxkaXYgaWQ9Imdvb2ctZ3QtdnQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kIikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VZDdmciIpKyciPjxpbWcgc3JjPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS9wcm9kdWN0bG9nb3MvdHJhbnNsYXRlL3YxNC8yNHB4LnN2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBhbHQ9IiIvPjxkaXYgY2xhc3M9IicrCihiPT09InJ0bCI/IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGQiKSsiICI6IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1pM2pNOGMiKSsiICIpKyciIGRpcj0iJytQKGIpKyciPicrS3AoaXMoKSkrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtazc3SWlmIikrJyI+PGRpdiBpZD0iZ29vZy1ndC1vcmlnaW5hbC10ZXh0IiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLW5WTWZjZC1mbWNtUyIpKyIgIitQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1heEFWMSIpKyciPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIikrIiAiK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIikrIiAiK1AoYikrJyIgZGlyPSInK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2IiKSsKJyI+JytLcChqcygpKSsnPC9kaXY+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2UiKSsnIj4nK0twKGtzKCkpKyc8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLXhnb3Y1IikrIiAiK1AoYikrJyI+JyksYj09PSJydGwiP1duKFduKF8ueWwoKSxucygpKSxvcygpKTpXbihXbihfLnlsKCksb3MoKSksbnMoKSkpLCI8L2Rpdj48L2Rpdj4iKSwoMCxfLnRsKSgnPGRpdiBpZD0iZ29vZy1ndC12b3RpbmdIaWRkZW5QYW5lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48Zm9ybSBpZD0iZ29vZy1ndC12b3RpbmdGb3JtIiBhY3Rpb249IicrUChVcChhKSkrJyIgbWV0aG9kPSJwb3N0IiB0YXJnZXQ9InZvdGluZ0ZyYW1lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic2wiIGlkPSJnb29nLWd0LXZvdGluZ0lucHV0U3JjTGFuZyIvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0bCIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRUcmdMYW5nIi8+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InF1ZXJ5IiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZ3RyYW5zIiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFRyZ1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idm90ZSIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRWb3RlIi8+PC9mb3JtPjxpZnJhbWUgbmFtZT0idm90aW5nRnJhbWUiIGZyYW1lQm9yZGVyPTA+PC9pZnJhbWU+PC9kaXY+JykpLAoiPC9kaXY+PC9kaXY+Iil9LG9zPWZ1bmN0aW9uKCl7dmFyIGE9Xy55bCgpLGI9bHMoKTtiPVZuKGEsJzxidXR0b24gaWQ9Imdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2YiKSsnIiB0aXRsZT0iJytQKGIpKyciIGFyaWEtbGFiZWw9IicrUChiKSsnIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3BhbiBpZD0iZ29vZy1ndC10aHVtYlVwSWNvbiI+Jyk7dmFyIGM9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMjEgN2gtNi4zMWwuOTUtNC41Ny4wMy0uMzJjMC0uNDEtLjE3LS43OS0uNDQtMS4wNkwxNC4xNyAwUzcuMDggNi44NSA3IDdIMnYxM2gxNmMuODMgMCAxLjU0LS41IDEuODQtMS4yMmwzLjAyLTcuMDVjLjA5LS4yMy4xNC0uNDcuMTQtLjczVjljMC0xLjEtLjktMi0yLTJ6TTcgMThINFY5aDN2OXptMTQtN2wtMyA3SDlWOGw0LjM0LTQuMzRMMTIgOWg5djJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iVXBJY29uRmlsbGVkIj4nKTtjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTIxIDdoLTYuMzFsLjk1LTQuNTcuMDMtLjMyYzAtLjQxLS4xNy0uNzktLjQ0LTEuMDZMMTQuMTcgMFM3LjA4IDYuODUgNyA3djEzaDExYy44MyAwIDEuNTQtLjUgMS44NC0xLjIybDMuMDItNy4wNWMuMDktLjIzLjE0LS40Ny4xNC0uNzNWOWMwLTEuMS0uOS0yLTItMnpNNSA3SDF2MTNoNFY3eiIvPjwvc3ZnPicpO1ZuKFduKGIsYyksIjwvc3Bhbj48L2J1dHRvbj4iKTtyZXR1cm4gYX0sbnM9ZnVuY3Rpb24oKXt2YXIgYT1fLnlsKCksYj1tcygpO2I9Vm4oYSwnPGJ1dHRvbiBpZD0iZ29vZy1ndC10aHVtYkRvd25CdXR0b24iIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicrClAoIlZJcGdKZC15QVdORWItaHZoZ05kLWJnbTZzZiIpKyciIHRpdGxlPSInK1AoYikrJyIgYXJpYS1sYWJlbD0iJytQKGIpKyciIGFyaWEtcHJlc3NlZD0iZmFsc2UiPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb24iPicpO3ZhciBjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTMgMTdoNi4zMWwtLjk1IDQuNTctLjAzLjMyYzAgLjQxLjE3Ljc5LjQ0IDEuMDZMOS44MyAyNHM3LjA5LTYuODUgNy4xNy03aDVWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnpNMTcgNmgzdjloLTNWNnpNMyAxM2wzLTdoOXYxMGwtNC4zNCA0LjM0TDEyIDE1SDN2LTJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb25GaWxsZWQiPicpO2M9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMyAxN2g2LjMxbC0uOTUgNC41Ny0uMDMuMzJjMCAuNDEuMTcuNzkuNDQgMS4wNkw5LjgzIDI0czcuMDktNi44NSA3LjE3LTdWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnptMTYgMGg0VjRoLTR2MTN6Ii8+PC9zdmc+Jyk7Vm4oV24oYixjKSwiPC9zcGFuPjwvYnV0dG9uPiIpO3JldHVybiBhfTt2YXIgcXM9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIiljJiYoYT0oMCxfLnkpKGEsYykpO2Vsc2UgaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLnkpKGEuaGFuZGxlRXZlbnQsYSk7ZWxzZSB0aHJvdyBFcnJvcigieGEiKTtyZXR1cm4gTnVtYmVyKGIpPjIxNDc0ODM2NDc/LTE6Xy52LnNldFRpbWVvdXQoYSxifHwwKX07dmFyIHJzPWZ1bmN0aW9uKCl7aWYoXy5aYyl7dmFyIGE9L1dpbmRvd3MgTlQgKFswLTkuXSspLztyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiMCJ9cmV0dXJuIF8uWWM/KGE9LzFbMHwxXVtfLl1bMC05Xy5dKy8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMF0ucmVwbGFjZSgvXy9nLCIuIik6IjEwIik6Xy4kYz8oYT0vQW5kcm9pZFxzKyhbXlwpO10rKShcKXw7KS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV06IiIpOl8uYWR8fF8uYmR8fF8uY2Q/KGE9Lyg/OmlQaG9uZXxDUFUpXHMrT1NccysoXFMrKS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV0ucmVwbGFjZSgvXy9nLCIuIik6IiIpOiIifSgpO3ZhciBzcz1mdW5jdGlvbihhKXtyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiIn0sdHM9ZnVuY3Rpb24oKXtpZihfLkpoKXJldHVybiBzcygvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoXy5TY3x8Xy5UY3x8Xy5SYylyZXR1cm4gXy5qZDtpZihfLk5oKXtpZihfLiRhKCl8fF8uYWIoKSl7dmFyIGE9c3MoL0NyaU9TXC8oWzAtOS5dKykvKTtpZihhKXJldHVybiBhfXJldHVybiBzcygvQ2hyb21lXC8oWzAtOS5dKykvKX1pZihfLk9oJiYhXy4kYSgpKXJldHVybiBzcygvVmVyc2lvblwvKFswLTkuXSspLyk7aWYoXy5LaHx8Xy5MaCl7aWYoYT0vVmVyc2lvblwvKFxTKykuKk1vYmlsZVwvKFxTKykvLmV4ZWMoXy5UYSgpKSlyZXR1cm4gYVsxXSsiLiIrYVsyXX1lbHNlIGlmKF8uTWgpcmV0dXJuKGE9c3MoL0FuZHJvaWRccysoWzAtOS5dKykvKSk/YTpzcygvVmVyc2lvblwvKFswLTkuXSspLyk7cmV0dXJuIiJ9KCk7Xy5HKFltLF8uaGIpO18ubT1ZbS5wcm90b3R5cGU7Xy5tLkVhPW51bGw7Xy5tLkRjPSEwO18ubS5OZT1udWxsO18ubS56Yj0hMTtfLm0uWmQ9LTE7Xy5tLlViPSJ0b2dnbGVfZGlzcGxheSI7Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5FYX07Xy5tLlFiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuemIpdGhyb3cgRXJyb3IoInlhIik7dGhpcy5FYT1hfTtfLm0ucmU9ZnVuY3Rpb24oYSl7aWYodGhpcy56Yil0aHJvdyBFcnJvcigieWEiKTt0aGlzLkRjPWF9O18ubS5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56Yn07Cl8ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkwmJnRoaXMuTC5zdG9wKCk7dGhpcy5LJiZ0aGlzLksuc3RvcCgpO2lmKGEpe2lmKCF0aGlzLnpiJiZ0aGlzLnVkKCkpe2lmKCF0aGlzLkVhKXRocm93IEVycm9yKCJ6YSIpO3RoaXMucGIoKTthPV8uc2QodGhpcy5FYSk7dGhpcy5EYyYmKHRoaXMubC5OKGEsIm1vdXNlZG93biIsdGhpcy5OZiwhMCksdGhpcy5sLk4oYSwiYmx1ciIsdGhpcy5FaSkpO3RoaXMuVWI9PSJ0b2dnbGVfZGlzcGxheSI/KHRoaXMuRWEuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsbXAodGhpcy5FYSwhMCkpOnRoaXMuVWI9PSJtb3ZlX29mZnNjcmVlbiImJnRoaXMucGIoKTt0aGlzLnpiPSEwO3RoaXMuWmQ9RGF0ZS5ub3coKTt0aGlzLkw/KF8uTmQodGhpcy5MLCJlbmQiLHRoaXMuT2YsITEsdGhpcyksdGhpcy5MLnBsYXkoKSk6dGhpcy5PZigpfX1lbHNlIHVzKHRoaXMpfTtfLm0ucGI9ZnVuY3Rpb24oKXt9Owp2YXIgdXM9ZnVuY3Rpb24oYSxiKXthLnpiJiZhLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImJlZm9yZWhpZGUiLHRhcmdldDpifSkmJihhLmwmJl8uUmYoYS5sKSxhLnpiPSExLGEuSz8oXy5OZChhLkssImVuZCIsXy5aaihhLlNlLGIpLCExLGEpLGEuSy5wbGF5KCkpOmEuU2UoYikpfTtfLm09WW0ucHJvdG90eXBlO18ubS5TZT1mdW5jdGlvbihhKXt0aGlzLlViPT0idG9nZ2xlX2Rpc3BsYXkiP3RoaXMuYWkoKTp0aGlzLlViPT0ibW92ZV9vZmZzY3JlZW4iJiYodGhpcy5FYS5zdHlsZS50b3A9Ii0xMDAwMHB4Iik7dGhpcy5nZShhKX07Xy5tLmFpPWZ1bmN0aW9uKCl7dGhpcy5FYS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO21wKHRoaXMuRWEsITEpfTtfLm0udWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KCJiZWZvcmVzaG93Iil9O18ubS5PZj1mdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCgic2hvdyIpfTsKXy5tLmdlPWZ1bmN0aW9uKGEpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiaGlkZSIsdGFyZ2V0OmF9KX07Xy5tLk5mPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7Xy5CZCh0aGlzLkVhLGEpfHx2cyh0aGlzLGEpfHxEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzLGEpfTtfLm0uRWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZCh0aGlzLkVhKTtpZih0eXBlb2YgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9InVuZGVmaW5lZCIpe2lmKGE9Yi5hY3RpdmVFbGVtZW50LCFhfHxfLkJkKHRoaXMuRWEsYSl8fGEudGFnTmFtZT09IkJPRFkifHx2cyh0aGlzLGEpKXJldHVybn1lbHNlIGlmKGEudGFyZ2V0IT1iKXJldHVybjtEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzKX07dmFyIHZzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueGMoYS5OZXx8W10sZnVuY3Rpb24oYyl7cmV0dXJuIGI9PT1jfHxfLkJkKGMsYil9KX07ClltLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7WW0uZWEuTS5jYWxsKHRoaXMpO3RoaXMubC5kaXNwb3NlKCk7Xy5wYSh0aGlzLkwpO18ucGEodGhpcy5LKTtkZWxldGUgdGhpcy5FYTtkZWxldGUgdGhpcy5sO2RlbGV0ZSB0aGlzLk5lfTtfLkcoYm4sXy5oYik7Ym4ucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLmRiKGEuZyk7Yi50eXBlPWEudHlwZT09ImZvY3VzaW4ifHxhLnR5cGU9PSJmb2N1cyI/ImZvY3VzaW4iOiJmb2N1c291dCI7dGhpcy5kaXNwYXRjaEV2ZW50KGIpfTtibi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe2JuLmVhLk0uY2FsbCh0aGlzKTtfLlZkKHRoaXMuaCk7Xy5WZCh0aGlzLmopO2RlbGV0ZSB0aGlzLmd9O2NuLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7fTt2YXIgeXM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg7aWYoaD1jLm9mZnNldFBhcmVudCl7dmFyIGs9aC50YWdOYW1lPT0iSFRNTCJ8fGgudGFnTmFtZT09IkJPRFkiO2lmKCFrfHxjcChoLCJwb3NpdGlvbiIpIT0ic3RhdGljIil7dmFyIGw9aHAoaCk7aWYoIWspe2s9InJ0bCI9PWNwKGgsImRpcmVjdGlvbiIpO3ZhciBuO2lmKG49ayl7bj1fLk9oJiZMbCh0cywxMCk+PTA7dmFyIHE7aWYocT1fLmRkKXE9TGwocnMsMTApPj0wO3ZhciBwPV8uTmgmJkxsKHRzLDg1KT49MDtuPV8uVWN8fG58fHF8fHB9az1uPy1oLnNjcm9sbExlZnQ6ayYmY3AoaCwib3ZlcmZsb3dYIikhPSJ2aXNpYmxlIj9oLnNjcm9sbFdpZHRoLWguY2xpZW50V2lkdGgtaC5zY3JvbGxMZWZ0Omguc2Nyb2xsTGVmdDtsPWFvKGwsbmV3IHpsKGssaC5zY3JvbGxUb3ApKX19fWg9bHx8bmV3IHpsO2w9aHAoYSk7az1scChhKTtsPW5ldyB3bShsLngsbC55LGsud2lkdGgsay5oZWlnaHQpO2lmKGs9aXAoYSkpcD0KbmV3IHdtKGsubGVmdCxrLnRvcCxrLnJpZ2h0LWsubGVmdCxrLmJvdHRvbS1rLnRvcCksaz1NYXRoLm1heChsLmxlZnQscC5sZWZ0KSxuPU1hdGgubWluKGwubGVmdCtsLndpZHRoLHAubGVmdCtwLndpZHRoKSxrPD1uJiYocT1NYXRoLm1heChsLnRvcCxwLnRvcCkscD1NYXRoLm1pbihsLnRvcCtsLmhlaWdodCxwLnRvcCtwLmhlaWdodCkscTw9cCYmKGwubGVmdD1rLGwudG9wPXEsbC53aWR0aD1uLWssbC5oZWlnaHQ9cC1xKSk7bj1fLmxiKGEpO2s9Xy5sYihjKTtuLmchPWsuZyYmKG49bi5nLmJvZHksaz1qcChuLGsuZy5kZWZhdWx0Vmlldyksaz1hbyhrLGhwKG4pKSxsLmxlZnQrPWsueCxsLnRvcCs9ay55KTthPXdzKGEsYik7Yj1sLmxlZnQ7YSY0P2IrPWwud2lkdGg6YSYyJiYoYis9bC53aWR0aC8yKTtiPW5ldyB6bChiLGwudG9wKyhhJjE/bC5oZWlnaHQ6MCkpO2I9YW8oYixoKTtlJiYoYi54Kz0oYSY0Py0xOjEpKmUueCxiLnkrPShhJjE/LTE6MSkqZS55KTt2YXIgcjtnJiYocj0KaXAoYykpJiYoci50b3AtPWgueSxyLnJpZ2h0LT1oLngsci5ib3R0b20tPWgueSxyLmxlZnQtPWgueCk7cmV0dXJuIHhzKGIsYyxkLGYscixnKX0seHM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9RG4oYSk7dmFyIGc9d3MoYixjKTtjPWxwKGIpO3ZhciBoPW5ldyBfLkNhKGMud2lkdGgsYy5oZWlnaHQpO2E9RG4oYSk7aD1uZXcgXy5DYShoLndpZHRoLGguaGVpZ2h0KTt2YXIgaz0wO2lmKGR8fGchPTApZyY0P2EueC09aC53aWR0aCsoZD9kLnJpZ2h0OjApOmcmMj9hLngtPWgud2lkdGgvMjpkJiYoYS54Kz1kLmxlZnQpLGcmMT9hLnktPWguaGVpZ2h0KyhkP2QuYm90dG9tOjApOmQmJihhLnkrPWQudG9wKTtmJiYoZT8oZD1oLGc9MCwoZiY2NSk9PTY1JiYoYS54PGUubGVmdHx8YS54Pj1lLnJpZ2h0KSYmKGYmPS0yKSwoZiYxMzIpPT0xMzImJihhLnk8ZS50b3B8fGEueT49ZS5ib3R0b20pJiYoZiY9LTUpLGEueDxlLmxlZnQmJmYmMSYmKGEueD1lLmxlZnQsZ3w9MSksZiYxNiYmKGs9CmEueCxhLng8ZS5sZWZ0JiYoYS54PWUubGVmdCxnfD00KSxhLngrZC53aWR0aD5lLnJpZ2h0JiYoZC53aWR0aD1NYXRoLm1pbihlLnJpZ2h0LWEueCxrK2Qud2lkdGgtZS5sZWZ0KSxkLndpZHRoPU1hdGgubWF4KGQud2lkdGgsMCksZ3w9NCkpLGEueCtkLndpZHRoPmUucmlnaHQmJmYmMSYmKGEueD1NYXRoLm1heChlLnJpZ2h0LWQud2lkdGgsZS5sZWZ0KSxnfD0xKSxmJjImJihnfD0oYS54PGUubGVmdD8xNjowKXwoYS54K2Qud2lkdGg+ZS5yaWdodD8zMjowKSksYS55PGUudG9wJiZmJjQmJihhLnk9ZS50b3AsZ3w9MiksZiYzMiYmKGs9YS55LGEueTxlLnRvcCYmKGEueT1lLnRvcCxnfD04KSxhLnkrZC5oZWlnaHQ+ZS5ib3R0b20mJihkLmhlaWdodD1NYXRoLm1pbihlLmJvdHRvbS1hLnksaytkLmhlaWdodC1lLnRvcCksZC5oZWlnaHQ9TWF0aC5tYXgoZC5oZWlnaHQsMCksZ3w9OCkpLGEueStkLmhlaWdodD5lLmJvdHRvbSYmZiY0JiYoYS55PU1hdGgubWF4KGUuYm90dG9tLWQuaGVpZ2h0LAplLnRvcCksZ3w9MiksZiY4JiYoZ3w9KGEueTxlLnRvcD82NDowKXwoYS55K2QuaGVpZ2h0PmUuYm90dG9tPzEyODowKSksZT1nKTplPTI1NixrPWUpO2U9bmV3IHdtKDAsMCwwLDApO2UubGVmdD1hLng7ZS50b3A9YS55O2Uud2lkdGg9aC53aWR0aDtlLmhlaWdodD1oLmhlaWdodDthPWs7aWYoYSY0OTYpcmV0dXJuIGE7ZXAoYixuZXcgemwoZS5sZWZ0LGUudG9wKSk7aD1uZXcgXy5DYShlLndpZHRoLGUuaGVpZ2h0KTtfLnljKGMsaCl8fHBwKGIsaCwiYm9yZGVyLWJveCIpO3JldHVybiBhfSx3cz1mdW5jdGlvbihhLGIpe3JldHVybihiJjgmJiJydGwiPT1jcChhLCJkaXJlY3Rpb24iKT9iXjQ6YikmLTl9O18uRyhkbixjbik7ZG4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLHZvaWQgMCxjLHRoaXMubCl9O18uRyhlbixjbik7ZW4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKChhP18uc2QoYSk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudCwwLGEsYix0aGlzLmcsYyxudWxsKX07Xy5HKGZuLFltKTtmbi5wcm90b3R5cGUucGI9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPSF0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLlViIT0ibW92ZV9vZmZzY3JlZW4iLGI9dGhpcy5IKCk7YSYmKGIuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixtcChiLCEwKSk7dGhpcy5vLmgoYiw4LHRoaXMuWGIpO2EmJm1wKGIsITEpfX07Xy5HKE8sZm4pO3ZhciB6cz1bXTtfLm09Ty5wcm90b3R5cGU7Xy5tLnlhPW51bGw7Xy5tLmNsYXNzTmFtZT0iVklwZ0pkLXN1RU9kYyI7Xy5tLlpmPTUwMDtfLm0ud2Y9MDtfLm0uYXR0YWNoPWZ1bmN0aW9uKGEpe2E9Z24oYSk7dGhpcy5BLmFkZChhKTtfLngoYSwibW91c2VvdmVyIix0aGlzLlVkLCExLHRoaXMpO18ueChhLCJtb3VzZW91dCIsdGhpcy5OYiwhMSx0aGlzKTtfLngoYSwibW91c2Vtb3ZlIix0aGlzLmdiLCExLHRoaXMpO18ueChhLCJmb2N1cyIsdGhpcy5mYiwhMSx0aGlzKTtfLngoYSwiYmx1ciIsdGhpcy5OYiwhMSx0aGlzKX07Xy5tLmRldGFjaD1mdW5jdGlvbihhKXt2YXIgYj10aGlzO2E/KGE9Z24oYSksQXModGhpcyxhKSx0aGlzLkEuZGVsZXRlKGEpKToodGhpcy5BLmZvckVhY2goZnVuY3Rpb24oYyl7QXMoYixjKX0pLHRoaXMuQS5jbGVhcigpKX07CnZhciBBcz1mdW5jdGlvbihhLGIpe18uVWQoYiwibW91c2VvdmVyIixhLlVkLCExLGEpO18uVWQoYiwibW91c2VvdXQiLGEuTmIsITEsYSk7Xy5VZChiLCJtb3VzZW1vdmUiLGEuZ2IsITEsYSk7Xy5VZChiLCJmb2N1cyIsYS5mYiwhMSxhKTtfLlVkKGIsImJsdXIiLGEuTmIsITEsYSl9O08ucHJvdG90eXBlLkthPWZ1bmN0aW9uKGEpe18uQ2QodGhpcy5IKCksYSl9OwpPLnByb3RvdHlwZS5RYj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkgoKTtiJiZfLkFkKGIpO08uZWEuUWIuY2FsbCh0aGlzLGEpO2E/KGI9dGhpcy5HLmcuYm9keSxiLmluc2VydEJlZm9yZShhLGIubGFzdENoaWxkKSxfLnBhKHRoaXMuQyksdGhpcy5DPW5ldyBibih0aGlzLkgoKSksXy5hayh0aGlzLF8uWmooXy5wYSx0aGlzLkMpKSxfLngodGhpcy5DLCJmb2N1c2luIix0aGlzLkQsdm9pZCAwLHRoaXMpLF8ueCh0aGlzLkMsImZvY3Vzb3V0Iix0aGlzLlQsdm9pZCAwLHRoaXMpKTooXy5wYSh0aGlzLkMpLHRoaXMuQz1udWxsKX07Ty5wcm90b3R5cGUudmQ9ZnVuY3Rpb24oKXtyZXR1cm4gRW8odGhpcy5IKCkpfTt2YXIgQnM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuRj9hLmlzVmlzaWJsZSgpPzQ6MTphLkk/MzphLmlzVmlzaWJsZSgpPzI6MH07Ck8ucHJvdG90eXBlLnVkPWZ1bmN0aW9uKCl7aWYoIVltLnByb3RvdHlwZS51ZC5jYWxsKHRoaXMpKXJldHVybiExO2lmKHRoaXMuZylmb3IodmFyIGEsYj0wO2E9enNbYl07YisrKV8uQmQoYS5IKCksdGhpcy5nKXx8YS5wYSghMSk7Xy51YSh6cyx0aGlzKTthPXRoaXMuSCgpO2EuY2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lO3RoaXMuRCgpO18ueChhLCJtb3VzZW92ZXIiLHRoaXMuVWMsITEsdGhpcyk7Xy54KGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO0NzKHRoaXMpO3JldHVybiEwfTsKTy5wcm90b3R5cGUuZ2U9ZnVuY3Rpb24oKXtfLnZhKHpzLHRoaXMpO2Zvcih2YXIgYT10aGlzLkgoKSxiLGM9MDtiPXpzW2NdO2MrKyliLmcmJl8uQmQoYSxiLmcpJiZiLnBhKCExKTt0aGlzLkhiJiZ0aGlzLkhiLlQoKTtfLlVkKGEsIm1vdXNlb3ZlciIsdGhpcy5VYywhMSx0aGlzKTtfLlVkKGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO3RoaXMuZz12b2lkIDA7QnModGhpcyk9PTAmJih0aGlzLlA9ITEpO1ltLnByb3RvdHlwZS5nZS5jYWxsKHRoaXMpfTtPLnByb3RvdHlwZS5kZT1mdW5jdGlvbihhLGIpe3RoaXMuZz09YSYmdGhpcy5BLmhhcyh0aGlzLmcpJiYodGhpcy5QfHwhdGhpcy5JZD8odGhpcy5wYSghMSksdGhpcy5pc1Zpc2libGUoKXx8KHRoaXMuZz1hLHRoaXMubz1ifHxuZXcgRHMoRG4odGhpcy5yYSkpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMucGIoKSx0aGlzLnBhKCEwKSkpOnRoaXMuZz12b2lkIDApO3RoaXMuRj12b2lkIDB9OwpPLnByb3RvdHlwZS5GYz1mdW5jdGlvbihhKXt0aGlzLkk9dm9pZCAwO2lmKGE9PXRoaXMuZyl7YT10aGlzLkc7dmFyIGI9YS5nO3RyeXt2YXIgYz1iJiZiLmFjdGl2ZUVsZW1lbnQ7dmFyIGQ9YyYmYy5ub2RlTmFtZT9jOm51bGx9Y2F0Y2goZSl7ZD1udWxsfWQ9ZCYmdGhpcy5IKCkmJmEuY29udGFpbnModGhpcy5IKCksZCk7dGhpcy55YSE9bnVsbCYmKHRoaXMueWE9PXRoaXMuSCgpfHx0aGlzLkEuaGFzKHRoaXMueWEpKXx8ZHx8dGhpcy5JYSYmdGhpcy5JYS55YXx8dGhpcy5wYSghMSl9fTt2YXIgRXM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1LbihhLkcuZyk7YS5yYS54PWIuY2xpZW50WCtjLng7YS5yYS55PWIuY2xpZW50WStjLnl9O08ucHJvdG90eXBlLlVkPWZ1bmN0aW9uKGEpe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmcmJih0aGlzLmc9YixHcyh0aGlzLGIpLEhzKHRoaXMpLEVzKHRoaXMsYSkpfTsKdmFyIEZzPWZ1bmN0aW9uKGEsYil7dHJ5e2Zvcig7YiYmIWEuQS5oYXMoYik7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBifWNhdGNoKGMpe3JldHVybiBudWxsfX07Ty5wcm90b3R5cGUuZ2I9ZnVuY3Rpb24oYSl7RXModGhpcyxhKTt0aGlzLlA9ITB9O08ucHJvdG90eXBlLmZiPWZ1bmN0aW9uKGEpe3RoaXMueWE9YT1Gcyh0aGlzLGEudGFyZ2V0KTt0aGlzLlA9ITA7aWYodGhpcy5nIT1hKXt0aGlzLmc9YTt2YXIgYj1uZXcgSXModGhpcy55YSk7dGhpcy5EKCk7R3ModGhpcyxhLGIpO0hzKHRoaXMpfX07dmFyIEhzPWZ1bmN0aW9uKGEpe2lmKGEuZylmb3IodmFyIGIsYz0wO2I9enNbY107YysrKV8uQmQoYi5IKCksYS5nKSYmKGIuSWE9YSxhLkhiPWIpfTsKTy5wcm90b3R5cGUuTmI9ZnVuY3Rpb24oYSl7dmFyIGI9RnModGhpcyxhLnRhcmdldCksYz1Gcyh0aGlzLGEucmVsYXRlZFRhcmdldCk7YiE9YyYmKGI9PXRoaXMueWEmJih0aGlzLnlhPW51bGwpLENzKHRoaXMpLHRoaXMuUD0hMSwhdGhpcy5pc1Zpc2libGUoKXx8YS5yZWxhdGVkVGFyZ2V0JiZfLkJkKHRoaXMuSCgpLGEucmVsYXRlZFRhcmdldCk/dGhpcy5nPXZvaWQgMDp0aGlzLlQoKSl9O08ucHJvdG90eXBlLlVjPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5IKCk7dGhpcy55YSE9YSYmKHRoaXMuRCgpLHRoaXMueWE9YSl9O08ucHJvdG90eXBlLlRjPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuSCgpO3RoaXMueWEhPWJ8fGEucmVsYXRlZFRhcmdldCYmXy5CZChiLGEucmVsYXRlZFRhcmdldCl8fCh0aGlzLnlhPW51bGwsdGhpcy5UKCkpfTsKdmFyIEdzPWZ1bmN0aW9uKGEsYixjKXthLkZ8fChhLkY9cXMoKDAsXy55KShhLmRlLGEsYixjKSxhLlpmKSl9LENzPWZ1bmN0aW9uKGEpe2EuRiYmKF8udi5jbGVhclRpbWVvdXQoYS5GKSxhLkY9dm9pZCAwKX07Ty5wcm90b3R5cGUuVD1mdW5jdGlvbigpe0JzKHRoaXMpPT0yJiYodGhpcy5JPXFzKCgwLF8ueSkodGhpcy5GYyx0aGlzLHRoaXMuZyksdGhpcy53ZikpfTtPLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7dGhpcy5JJiYoXy52LmNsZWFyVGltZW91dCh0aGlzLkkpLHRoaXMuST12b2lkIDApfTtPLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dGhpcy5wYSghMSk7Q3ModGhpcyk7dGhpcy5kZXRhY2goKTt0aGlzLkgoKSYmXy5BZCh0aGlzLkgoKSk7dGhpcy55YT1udWxsO2RlbGV0ZSB0aGlzLkc7Ty5lYS5NLmNhbGwodGhpcyl9O3ZhciBEcz1mdW5jdGlvbihhLGIpe2VuLmNhbGwodGhpcyxhLGIpfTtfLkcoRHMsZW4pOwpEcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7Yj1pcCgoYT9fLnNkKGEpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpO2M9Yz9uZXcgdm0oYy50b3ArMTAsYy5yaWdodCxjLmJvdHRvbSxjLmxlZnQrMTApOm5ldyB2bSgxMCwwLDAsMTApO3hzKHRoaXMuZyxhLDgsYyxiLDkpJjQ5NiYmeHModGhpcy5nLGEsOCxjLGIsNSl9O3ZhciBJcz1mdW5jdGlvbihhKXtkbi5jYWxsKHRoaXMsYSw1KX07Xy5HKElzLGRuKTtJcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IHpsKDEwLDApO3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLGQsYyw5KSY0OTYmJnlzKHRoaXMuZWxlbWVudCw0LGEsMSxkLGMsNSl9O3ZhciBKcz1mdW5jdGlvbigpe08uY2FsbCh0aGlzKTt0aGlzLmxhPW51bGw7dGhpcy5SPW5ldyBfLkhiKHRoaXMpO3RoaXMuQj10aGlzLmo9dGhpcy5oPXRoaXMud2E9bnVsbDt0aGlzLk89ITB9O18uQihKcyxPKTtfLm09SnMucHJvdG90eXBlO18ubS5rYT1mdW5jdGlvbigpe3RoaXMuTz0hMTt2YXIgYT1fLnhmLnRlc3Qob3EpPyJydGwiOiJsdHIiO3RoaXMuUWIoa20ocHMse1VsOkVxLE9rOkNxLFJsOnhxLGRpcjphLGNqOklxfSkpO3RoaXMuY2xhc3NOYW1lKz0iIFZJcGdKZC15QVdORWItTDdsYmtiIHNraXB0cmFuc2xhdGUiOyhhPSEoIXRoaXMuSCgpfHwhdGhpcy5CKSkmJnRoaXMuUi5OKHdpbmRvdywicmVzaXplIiwoMCxfLnkpKHRoaXMucGIsdGhpcykpO3JldHVybiBhfTtfLm0uZGU9ZnVuY3Rpb24oYSxiKXt0aGlzLmxhPWE7Ty5wcm90b3R5cGUuZGUuY2FsbCh0aGlzLGEsYik7dGhpcy5IKCkuc3R5bGUuZGlzcGxheT0iYmxvY2sifTsKXy5tLlVkPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLk8pe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmc/KHRoaXMuZz1iLEdzKHRoaXMsYiksSHModGhpcyksRXModGhpcyxhKSk6R3ModGhpcyxiKX19O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5SJiZ0aGlzLlIuZGlzcG9zZSgpO3RoaXMuQj10aGlzLmxhPXRoaXMuUj1udWxsO08ucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Xy5tLnJlPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaXNWaXNpYmxlKCkpe2E9KHRoaXMuRGM9YSk/dGhpcy5sLk46dGhpcy5sLnljO3ZhciBiPV8uc2QodGhpcy5IKCkpO2EuY2FsbCh0aGlzLmwsYiwibW91c2Vkb3duIix0aGlzLk5mLCEwKX1lbHNlIE8ucHJvdG90eXBlLnJlLmNhbGwodGhpcyxhKX07Xy5tLlFiPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLlFiLmNhbGwodGhpcyxhKTthJiYodGhpcy5CPXZvKGEpKX07Cl8ubS5wYj1mdW5jdGlvbihhLGIpe3ZhciBjPWhwKGRvY3VtZW50LmJvZHkpLnk7aWYodGhpcy5vKXsodGhpcy5vfHxudWxsKS5nLnkrPWM7Ty5wcm90b3R5cGUucGIuY2FsbCh0aGlzKTt2YXIgZD1wYXJzZUludCh0aGlzLkgoKS5zdHlsZS5sZWZ0LDEwKTthPXBhcnNlSW50KHRoaXMuSCgpLnN0eWxlLnRvcCwxMCktKGE/MDpjKTtiJiYoYj10aGlzLlhifHx7fSxhLT1iLnRvcHx8MTAsZC09Yi5sZWZ0fHwxMCk7YS09YzsodGhpcy5vfHxudWxsKS5nLnk9YTsodGhpcy5vfHxudWxsKS5nLng9ZDtjPW5ldyB6bChkLGEpO2VwKHRoaXMuSCgpLGMpfX07Xy5tLnBhPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLnBhLmNhbGwodGhpcyxhKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtfLm0ubmE9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O18ubS5LYT1mdW5jdGlvbihhKXthPWE/Xy5BYyhhKToiIjt0aGlzLkI/Xy5DZCh0aGlzLkIsYSk6Ty5wcm90b3R5cGUuS2EuY2FsbCh0aGlzLGEpfTsKXy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaH07Xy5tLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5tLnZkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj9Fbyh0aGlzLkIpOk8ucHJvdG90eXBlLnZkLmNhbGwodGhpcyl9O18ubS5OYj1mdW5jdGlvbihhKXt0aGlzLk98fE8ucHJvdG90eXBlLk5iLmNhbGwodGhpcyxhKX07Xy5tLlVjPWZ1bmN0aW9uKGEpe3RoaXMuT3x8Ty5wcm90b3R5cGUuVWMuY2FsbCh0aGlzLGEpfTtfLm0uVGM9ZnVuY3Rpb24oYSl7dGhpcy5PfHxPLnByb3RvdHlwZS5UYy5jYWxsKHRoaXMsYSl9O3ZhciBLcz1mdW5jdGlvbigpe3RoaXMuaD1uZXcgTWFwO3RoaXMuZz1XcShjcil9LE9zPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09TXMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDUpO2VyKGQsZSk7ZnIoZSw1KX1OcyhjLE1zKX0sITEpfSxRcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10aHVtYkRvd25CdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09UHMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDYpO2VyKGQsZSk7ZnIoZSw2KX1OcyhjLFBzKX0sITEpfSxUcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10dCIpLGM9Yi5kYXRhc2V0LGQ9Z24oImdvb2ctZ3Qtdm90aW5nSW5wdXRTcmNMYW5nIiksZT1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFRyZ0xhbmciKSwKZj1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiKSxnPWduKCJnb29nLWd0LXZvdGluZ0lucHV0VHJnVGV4dCIpLGg9dm8oKSxrPWduKCJnb29nLWd0LXRyYW5zbGF0aW9uIiksbD1hLmgsbj1hLmc7d2luZG93LmRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiZ29vZy1ndC1wb3B1cFNob3duIixmdW5jdGlvbihxKXt2YXIgcD1kcihuLDQpO2VyKG4scCk7ZnIocCw0KTtxPXEuZGV0YWlsO3A9U3RyaW5nKHEuR2QpO3E9cS5YaTtjLmlkPXA7cD1sLmdldChwKXx8UnM7U3MocCk7Yi5zdHlsZS53aWR0aD1NYXRoLm1heChNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aC0xNiw1MzYpLDI4OCkrInB4IjtwPXEuSmEoKXx8IiI7dmFyIHI9cS5vYSgpfHwiIjtkLnZhbHVlPXA7ZS52YWx1ZT1yO2YudmFsdWU9cS52ZCgpO2cudmFsdWU9cS53YTtrJiYoay5pbm5lclRleHQ9cS53YSk7Yi5sYW5nPW9xO2gubGFuZz1wO2smJihrLmxhbmc9cik7Xy54Zi50ZXN0KHApJiYoaC5jbGFzc0xpc3QuYWRkKCJydGwiKSwKaC5kaXI9InJ0bCIpO2smJl8ueGYudGVzdChyKSYmKGsuY2xhc3NMaXN0LmFkZCgicnRsIiksay5kaXI9InJ0bCIpfSwhMSl9LFNzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWduKCJnb29nLWd0LXRodW1iVXBJY29uIiksZD1nbigiZ29vZy1ndC10aHVtYlVwSWNvbkZpbGxlZCIpLGU9Z24oImdvb2ctZ3QtdGh1bWJEb3duQnV0dG9uIiksZj1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uIiksZz1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uRmlsbGVkIik7Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Yy5zdHlsZS5kaXNwbGF5PSIiO2Quc3R5bGUuZGlzcGxheT0ibm9uZSI7ZS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Zi5zdHlsZS5kaXNwbGF5PSIiO2cuc3R5bGUuZGlzcGxheT0ibm9uZSI7c3dpdGNoKGEpe2Nhc2UgTXM6Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsInRydWUiKTtjLnN0eWxlLmRpc3BsYXk9CiJub25lIjtkLnN0eWxlLmRpc3BsYXk9IiI7YnJlYWs7Y2FzZSBQczplLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwidHJ1ZSIpLGYuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS5kaXNwbGF5PSIifWduKCJnb29nLWd0LXZvdGluZ0lucHV0Vm90ZSIpLnZhbHVlPWF9LExzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXR0IikuZGF0YXNldDtyZXR1cm4gYS5nZXQoYi5pZCl9LE5zPWZ1bmN0aW9uKGEsYil7THMoYSk9PT1iJiYoYj1Scyk7U3MoYik7dmFyIGM9Z24oImdvb2ctZ3QtdHQiKS5kYXRhc2V0O2Euc2V0KGMuaWQsYik7Z24oImdvb2ctZ3Qtdm90aW5nRm9ybSIpLnN1Ym1pdCgpfSxScz0oMCkudG9TdHJpbmcoKSxNcz0oMSkudG9TdHJpbmcoKSxQcz0oMikudG9TdHJpbmcoKTt2YXIgVXM9ZnVuY3Rpb24oYSl7dGhpcy5BPWE7dGhpcy5sPXRoaXMuaD10aGlzLm89dGhpcy5qPS0xO3RoaXMuZz0hMTt0aGlzLkM9MDt0aGlzLkQ9IiI7dGhpcy5GPTB9O1VzLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe2lmKCF0aGlzLmcpe3RoaXMuZz0hMDt2YXIgYT1bXSxiO2ZvcihiPTA7YjwxNTtiKyspYVtiXT1YcVswfE1hdGgucmFuZG9tKCkqNjJdO3RoaXMuRD1hLmpvaW4oIiIpO3RoaXMuQz0wO3RoaXMubD10aGlzLmg9dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkY9RGF0ZS5ub3coKTtxcyh0aGlzLkIsMUU0LHRoaXMpfX07VXMucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmc9ITEsVnModGhpcykpfTtVcy5wcm90b3R5cGUuQj1mdW5jdGlvbigpe3RoaXMuZyYmKFZzKHRoaXMpLHFzKHRoaXMuQiwxRTMsdGhpcykpfTsKdmFyIFZzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuQS5sLGM9YS5BLkEsZD1hLkEuaixlPWEuQS5vO2lmKGEuaiE9Ynx8YS5vIT1jfHxhLmghPWR8fGEubCE9ZSl7dmFyIGY9e307Zi5jdD1iO2YuY3Y9YztmLmN0cz1kO2YuY3ZzPWU7Zi5zaWQ9YS5EO2Yuc2VxPWEuQysrO2YudGF0PURhdGUubm93KCktYS5GO2lmKGEuaj49MHx8YS5vPj0wfHxhLmg+PTB8fGEubD49MClmLnB0PWEuaixmLnB2PWEubyxmLnB0cz1hLmgsZi5wdnM9YS5sO1FtKCJ0ZV92IixmKTthLmo9YjthLm89YzthLmg9ZDthLmw9ZX19O3ZhciBXcz1mdW5jdGlvbigpe3RoaXMubz10aGlzLmo9dGhpcy5BPXRoaXMubD0wO3RoaXMuZz1bXTt0aGlzLmg9Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoMCxfLnkpKHRoaXMuQix0aGlzKSk6bnVsbH07V3MucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIpe3RoaXMuais9Yjt2YXIgYz10aGlzLmcubGVuZ3RoO3RoaXMuZy5wdXNoKGIpO2ZvcihiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBkPWFbYl07eW8oZCk/KGRbWHNdPWMsdGhpcy5sKz1FbyhkKS5sZW5ndGgsdGhpcy5oJiZ0aGlzLmgub2JzZXJ2ZShkKSk6dGhpcy5GZihkLm5vZGVUeXBlKX19O1dzLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07eW8oYyk/KGNbWHNdPXZvaWQgMCx0aGlzLmgmJnRoaXMuaC51bm9ic2VydmUoYykpOnRoaXMuRmYoYy5ub2RlVHlwZSl9fTsKV3MucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5vPXRoaXMuaj10aGlzLkE9dGhpcy5sPTA7dGhpcy5nPVtdfTtXcy5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXTtpZihjLmludGVyc2VjdGlvblJhdGlvPjAmJmMudGFyZ2V0W1hzXSE9bnVsbCl7dGhpcy5BKz1FbyhjLnRhcmdldCkubGVuZ3RoO3ZhciBkPWMudGFyZ2V0W1hzXTt0aGlzLm8rPXRoaXMuZ1tkXTt0aGlzLmdbZF09MDtkZWxldGUgYy50YXJnZXRbWHNdfX19O0RyLmF0dGFjaCgzNjU0NixXcy5wcm90b3R5cGUse0ZmOjF9KTt2YXIgWHM9Il9ndF8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyKTt2YXIgWXM9e307WXMuYWRkPWtuO1lzLkRrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1obihhKTt0eXBlb2YgYj09PSJzdHJpbmciP18udmEoZCxiKTpBcnJheS5pc0FycmF5KGIpJiYoZD1sbihkLGIpKTt0eXBlb2YgYyE9PSJzdHJpbmcifHxfLnRhKGQsYyk/QXJyYXkuaXNBcnJheShjKSYmam4oZCxjKTpkLnB1c2goYyk7YS5jbGFzc05hbWU9ZC5qb2luKCIgIil9O1lzLmVuYWJsZT1vbjtZcy5nZXQ9aG47WXMuaGFzPW5uO1lzLnJlbW92ZT1tbjtZcy5zZXQ9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTmFtZT1ifTtZcy5obT1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWhuKGEpLGU9ITEsZj0wO2Y8ZC5sZW5ndGg7ZisrKWRbZl09PWImJihkLnNwbGljZShmLS0sMSksZT0hMCk7ZSYmKGQucHVzaChjKSxhLmNsYXNzTmFtZT1kLmpvaW4oIiAiKSk7cmV0dXJuIGV9O1lzLnRvZ2dsZT1mdW5jdGlvbihhLGIpe3ZhciBjPSFubihhLGIpO29uKGEsYixjKTtyZXR1cm4gY307dmFyIFpzPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTthPWF8fHt9O3RoaXMuZz1KbChhKTt0aGlzLmcuaGM9YS5oYyE9PXZvaWQgMD9hLmhjOjE7dGhpcy5nLnZlPSEhYS52ZTt0aGlzLmcuYmg9cGFyc2VJbnQoYS5iaCwxMCl8fDMwMDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5PWEudHJhY2tWaXNpYmlsaXR5fHwhMTt0aGlzLmcuYXBpS2V5PWEuYXBpS2V5fHwiIjt0aGlzLkM9MDt0aGlzLmw9e307dGhpcy5CPW51bGw7dGhpcy5GPXRoaXMuRD0iIjt0aGlzLm89bmV3IF8uSGIodGhpcyk7dGhpcy5BPXRoaXMuaj10aGlzLmg9bnVsbDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5JiZfLnYuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIhPW51bGwmJih0aGlzLmo9bmV3IFdzLHRoaXMuQT1uZXcgVXModGhpcy5qKSk7dGhpcy5oPW5ldyBKcyh7U2k6dGhpcy5nLlNpfSk7dGhpcy5oLndmPTMwMDt0aGlzLmguWmY9MUUzO3RoaXMuaC5yZSghMCk7dGhpcy5vLk4odGhpcy5oLCJzaG93IiwoMCxfLnkpKHRoaXMub2csCnRoaXMpKTt0aGlzLm8uTih0aGlzLmgsImhpZGUiLCgwLF8ueSkodGhpcy5uZyx0aGlzKSk7dGhpcy5oLmthKCk7YT1uZXcgS3M7Z24oImdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIpJiYoT3MoYSksUXMoYSksVHMoYSkpfTtfLkIoWnMsXy5oYik7dmFyICRzPWZ1bmN0aW9uKGEpe2EuQSYmYS5BLnN0b3AoKTtmb3IodmFyIGIgaW4gYS5sKXt2YXIgYz1hLGQ9Yy5sW2JdO2lmKGQpe2MuaiYmYy5qLmRldGFjaChkLkFhKTtmb3IodmFyIGU9MDtlPGQuQWEubGVuZ3RoOysrZSlkLkFhW2VdJiZjLmRldGFjaChkLkFhW2VdKTtkZWxldGUgYy5sW2JdfX1hLmomJmEuai5yZXNldCgpfTtfLm09WnMucHJvdG90eXBlO18ubS5hdHRhY2g9ZnVuY3Rpb24oYSxiKXtiJiYoYi5HZD1hLHRoaXMuaC5hdHRhY2goYikpfTtfLm0uZGV0YWNoPWZ1bmN0aW9uKGEpe2EmJnRoaXMuaC5kZXRhY2goYSl9OwpfLm0ub2c9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgubGE7YT1hP2EuR2Q6dm9pZCAwO2lmKGEhPT12b2lkIDApe3ZhciBiPXRoaXMubFthXTthdCh0aGlzLHRoaXMuQiwhMSk7dGhpcy5CPWE7YXQodGhpcyxhKTt0aGlzLmguTmEoYi5UaSk7dGhpcy5oLm5hKGIuVmkpO3ZhciBjPWIuWjt0aGlzLmgud2E9YyYmXy5BYyhjKTt0aGlzLmguS2EoYi50ZXh0KX1hPW5ldyBDdXN0b21FdmVudCgiZ29vZy1ndC1wb3B1cFNob3duIix7ZGV0YWlsOntHZDphLFhpOnRoaXMuaH19KTt3aW5kb3cuZG9jdW1lbnQuYm9keS5kaXNwYXRjaEV2ZW50KGEpfTtfLm0ubmc9ZnVuY3Rpb24oKXthdCh0aGlzLHRoaXMuQiwhMSl9O18ubS5NPWZ1bmN0aW9uKCl7JHModGhpcyk7dGhpcy5oJiYodGhpcy5oLmRpc3Bvc2UoKSx0aGlzLmg9bnVsbCk7dGhpcy5vJiYodGhpcy5vLmRpc3Bvc2UoKSx0aGlzLm89bnVsbCk7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTsKdmFyIGF0PWZ1bmN0aW9uKGEsYixjKXtpZihhPWEubFtiXSlmb3IoYz1jfHx0eXBlb2YgYz09InVuZGVmaW5lZCIsYj0wO2I8YS5BYS5sZW5ndGg7KytiKWlmKGEuQWFbYl0pWXNbYz8iYWRkIjoicmVtb3ZlIl0oYS5BYVtiXSwiVklwZ0pkLXlBV05FYi1WSXBnSmQtZm1jbVMtc241NFEiKX07dmFyIGJ0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKWlmKGFbYl0mJmFbYl0ubm9kZSlyZXR1cm4gYVtiXS5ub2RlO3JldHVybiBudWxsfSxmdD1mdW5jdGlvbihhKXt2YXIgYj1idChhKTtpZighYilyZXR1cm4gbnVsbDt2YXIgYz1bXSxkPVtdLGU9W107Yj1uZXcgZHMoYiwhMCk7dmFyIGY9YVthLmxlbmd0aC0xXS5ub2RlLGc9MCxoPSExO2Rve2IubmV4dCgpO3ZhciBrPWIubm9kZSgpO2lmKCFrKWJyZWFrO3ZhciBsPWIuZy5nLG49Yi5kZXB0aCgpO2ZvcihsPT0xJiYtLW47ZzxhLmxlbmd0aCYmIWFbZ10ubm9kZTspKytnO2s9PWFbZ10ubm9kZXx8IWgmJmw9PTEmJihrIT1udWxsJiZrLnByZXZpb3VzU2libGluZz09bnVsbD8wOiFjdChkdChrKSkpPyhsPWV0KGspLGQucHVzaCh7bm9kZTpsLEthOmZ1bmN0aW9uKCl7fX0pLGVbZC5sZW5ndGgtMV09bixrLnBhcmVudE5vZGUmJmsucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxrKSxrPT1hW2ddLm5vZGUmJgooY1tnKytdPWQubGVuZ3RoLTEsaD0hMCkpOmg9ITF9d2hpbGUoayE9Zik7cmV0dXJue3plOmUsR2k6YyxkaTpkfX0sY3Q9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJlhyW2EudGFnTmFtZV19LGR0PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIG51bGw7Zm9yKGE9YS5wcmV2aW91c1NpYmxpbmc7YSE9bnVsbCYmYSE9bnVsbCYmYS5ub2RlVHlwZT09MyYmXy5BYyhFbyhhKSk9PSIiOylhPWEucHJldmlvdXNTaWJsaW5nO3JldHVybiBhfSxqdD1mdW5jdGlvbihhLGIsYyxkLGUsZil7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1bXTtmb3IodmFyIGc9MDtnPGEubGVuZ3RoOysrZyl0aGlzLmcucHVzaCgibm9kZVR5cGUiaW4gYVtnXT9ndChhW2ddKTphW2ddKSxodChhW2ddLm5vZGUpO3RoaXMubD1iO3RoaXMuRD1kfHwwO3RoaXMuUj1lfHwwO3RoaXMuQz1jO3RoaXMuQj1mfHxudWxsO3RoaXMuSz10aGlzLkc9dGhpcy5MPSExO3RoaXMubz1bXTt0aGlzLkE9W107dGhpcy5oPVtdOwp0aGlzLk89W107bmV3IF8uSGIodGhpcyk7dGhpcy5qPXRoaXMuST0hMX0sZ3Q7Xy5CKGp0LF8uaGIpOwp2YXIgbXQ9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuITE7aWYoYS5ub2RlVHlwZSE9M3x8IV8uU2MpcmV0dXJuIGt0IGluIGEmJiEhYVtrdF07aWYoIWEucGFyZW50Tm9kZSlyZXR1cm4hMDtpZighKGx0IGluIGEucGFyZW50Tm9kZSkpcmV0dXJuITE7dmFyIGI9YS5wYXJlbnROb2RlW2x0XTtpZighYnx8IWJbYS5ub2RlVmFsdWVdKXJldHVybiExO2I9YlthLm5vZGVWYWx1ZV07Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDsrK2MpaWYoYltjXT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sbnQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4iIjtpZihhLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJuIFN0cmluZyhkb2N1bWVudC50aXRsZSk7YS5ub2RlVHlwZT09Mz9iPSJub2RlVmFsdWUiOmJ8fChiPSJ2YWx1ZSIpO3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoYik/U3RyaW5nKGEuZ2V0QXR0cmlidXRlKGIpKTp0eXBlb2YgYVtiXT09PSJzdHJpbmciP1N0cmluZyhhW2JdKToKIiJ9O2p0LnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmx9Owp2YXIgb3Q9ZnVuY3Rpb24oYSxiLGMpe2I9e1BmOmIsaGU6YyxVOltdfTthLmgucHVzaChiKTtyZXR1cm4gYn0scXQ9ZnVuY3Rpb24oYSl7aWYoIWEuaiYmYS5MJiYhYS5HJiYhYS5LKXthLkc9ITA7dmFyIGI7aWYoYj1wdChhLmcpKXtiPWEuZzt2YXIgYz1hLmg7aWYoYi5sZW5ndGg9PTEmJmJbMF0mJmJbMF0ueGUpe2Zvcih2YXIgZD1bXSxlPTA7ZTxjLmxlbmd0aDsrK2UpZm9yKHZhciBmPTA7ZjxjW2VdLlUubGVuZ3RoOysrZilkLnB1c2goY1tlXS5VW2ZdLlopO2JbMF0uS2EoZC5qb2luKCIgIiksYlswXS5ub2RlKTtiPSEwfWVsc2UgYj0hMTtiPSFifWlmKGImJihiPWZ0KGEuZykpKXthLkE9Yi5HaTthLm89Yi5kaTtkPWEuZztlPWEuQTtmPWEubzt2YXIgZz1iLnplO2M9W107Zm9yKHZhciBoPTA7aDxkLmxlbmd0aDsrK2gpaWYoY1toXT1bXSxkW2hdLm5vZGUmJmVbaF0hPT12b2lkIDApZm9yKHZhciBrPTA7azxmLmxlbmd0aDsrK2spaWYoIShnW2tdPmdbZVtoXV0pKXtpZihnW2tdPT0KZ1tlW2hdXSl7aWYoZltrXS5ub2RlLnBhcmVudE5vZGUhPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWVsc2V7Zm9yKHZhciBsPWdbZVtoXV0tZ1trXSxuPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlO2wtLSYmbiYmbiE9ZltrXS5ub2RlLnBhcmVudE5vZGU7KW49bi5wYXJlbnROb2RlO2lmKG4hPWZba10ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWNbaF0ucHVzaChrKX1kPWEuZztlPWEuaDtmPS0xO2ZvcihnPWUubGVuZ3RoLTE7Zz49MDstLWcpZm9yKGg9ZVtnXSxrPWguVS5sZW5ndGgtMTtrPj0wOy0taylpZihsPWguVVtrXSwhKGwuWDwwKSYmZFtsLlhdJiZkW2wuWF0ubm9kZSlpZihmPDApbC5YYz1pcihjW2wuWF0pLGY9Y1tsLlhdW2NbbC5YXS5sZW5ndGgtMV07ZWxzZSBmb3Iobj1jW2wuWF0ubGVuZ3RoLTE7bj49MDstLW4paWYoY1tsLlhdW25dPD1mKXtsLlhjPWlyKGNbbC5YXS5zbGljZSgwLG4rMSkpO2Y9Y1tsLlhdW25dO2JyZWFrfWZvcihjPWU9MDtjPGEuaC5sZW5ndGg7KytjKXtkPQphLmhbY107Zj1hLmc7Zz1kO2g9Yi56ZTtrPWEuQTtsPSIiO2ZvcihuPTA7bjxnLlUubGVuZ3RoOysrbil7dmFyIHE9Zy5VW25dO2wrPXEuWjtpZihxLlg8MCl7dmFyIHA9LTEscj0tMSx0PWtbZy5VW24tMV0uWF07dCE9PXZvaWQgMCYmKHA9aFt0XSk7bjxnLlUubGVuZ3RoLTEmJih0PWtbZy5VW24rMV0uWF0sdCE9PXZvaWQgMCYmKHI9aFt0XSkpO2lmKHA+PTB8fHI+PTApYTppZih0PShwPDB8fHI8cCkmJm48Zy5VLmxlbmd0aC0xLHA9ZixyPXEscT1nLlVbdD9uKzE6bi0xXSwhKHEuWD49cC5sZW5ndGh8fHBbcS5YXS5ub2RlPT1udWxsKSl7cD1yLlo7ci5aPSIiO2lmKC9eICskLy50ZXN0KHApJiYocj10P3EuWi5jaGFyQ29kZUF0KDApOnEuWi5jaGFyQ29kZUF0KHEuWi5sZW5ndGgtMSksMzU4NDw9ciYmcjw9MzcxMXx8MTIyODg8PXImJnI8PTEyMzUxfHwxMjM1Mjw9ciYmcjw9MTI1NDN8fDEyNzg0PD1yJiZyPD0xMjc5OXx8MTk5Njg8PXImJnI8PTQwOTU5fHw2NTI4MDw9ciYmcjw9CjY1NTE5KSlicmVhayBhO3EuWj10P3ArcS5aOnEuWitwfX19Zj1sO2c9YS5nO2g9ZDtrPWEubztsPWIuemU7bj1hLkE7cT1bXTtmb3IocD0wO3A8aC5VLmxlbmd0aCYmIShlPj1rLmxlbmd0aCk7KytwKWlmKHI9aC5VW3BdLHIuWGMmJiEoci5YPDApJiZnW3IuWF0ubm9kZSYmci5aKWlmKGU9PW5bci5YXXx8ZSBpbiByLlhjJiYoIShlKzEgaW4gci5YYyl8fGUrMSE9bltyLlhdKSl7aWYoa1tlXSYma1tlXS5ub2RlKXt0PWV0KGtbZV0ubm9kZSk7cS5wdXNoKHQpO2Zvcih2YXIgQT1rW2VdLm5vZGUsRD1sW25bci5YXV0tbFtlXSxFPXQsYmE9Z1tyLlhdLm5vZGUucGFyZW50Tm9kZSxaPUU7YmEmJkQtLTspWj1iYS5jbG9uZU5vZGUoITEpLFouYXBwZW5kQ2hpbGQoRSksYmE9YmEucGFyZW50Tm9kZSxFPVo7QS5hcHBlbmRDaGlsZChaKTtBPWdbci5YXS5ub2RlO2dbci5YXS5yZD9nW3IuWF0uemZ8fHQuYXBwZW5kQ2hpbGQoQSk6KEE9Z1tyLlhdLm5vZGUuY2xvbmVOb2RlKCExKSxBLmlkJiYKKEEuaWQ9IiIpLHQuYXBwZW5kQ2hpbGQoQSkpO2dbci5YXS5LYShyLlosQSl9fWVsc2UrK2UsLS1wO2c9cTtuPWEuZztxPWQ7aD1hLkM7aWYocS5QZiloPXEuUGY7ZWxzZXtsPW4ubGVuZ3RoO2s9LTE7Zm9yKHA9MDtwPHEuVS5sZW5ndGg7KytwKXI9cS5VW3BdLlgscj49MCYmbltyXSYmbltyXS5ub2RlJiYoaz1NYXRoLm1heChrLHIpLGw9TWF0aC5taW4obCxyKSk7Zm9yKG49IiI7bDw9azsrK2wpaFtsXSYmKG4rPWhbbF0pO2g9bn1sPWE7bj1nO3E9aDtpZihsLkIpe2lmKGwuQi5nLmhjIT0zKXtnPWwuTztoPWcucHVzaDtrPWwuQjtkPWQuaGU7ZD1rLmxbKytrLkNdPXtpZDprLkMudG9TdHJpbmcoKSxSazpsLHRleHQ6cSxmbTpkfHxxLFo6ZixUaTprLkQsVmk6ay5GLEFhOm59O2ZvcihmPTA7ZjxuLmxlbmd0aDsrK2YpbltmXSYmay5hdHRhY2goZC5pZCxuW2ZdKTtrLmomJmsuai5hdHRhY2gobixxLmxlbmd0aCk7ay5BJiZrLkEuc3RhcnQoKTtoLmNhbGwoZyxkLmlkKX19ZWxzZSBmb3IoZD0KMDtkPG4ubGVuZ3RoOysrZCluW2RdLnRpdGxlPXF9Yj1hLmc7Zm9yKGM9MDtjPGIubGVuZ3RoOysrYyliW2NdLm5vZGUmJiFiW2NdLnJkJiZfLkFkKGJbY10ubm9kZSk7Yj1hLmc7Yz1hLm87YT1hLkE7Zm9yKGU9ZD0wO2U8Yy5sZW5ndGg7KytlKWlmKGY9Y1tlXS5ub2RlKXtmb3IoO2Q8Yi5sZW5ndGgmJmU+YVtkXTspZCsrOyhkPj1iLmxlbmd0aHx8ZSE9YVtkXSkmJiFmLmZpcnN0Q2hpbGQmJihfLkFkKGYpLGNbZV0ubm9kZT1udWxsKX19fX07Cmp0LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5HKWlmKHRoaXMuRz0hMSx0aGlzLkImJiRzKHRoaXMuQiksdGhpcy5PPVtdLHB0KHRoaXMubyksdGhpcy5nLmxlbmd0aD09MSYmdGhpcy5nWzBdLnhlKXRoaXMuZ1swXS5LYSh0aGlzLkNbMF0sdGhpcy5nWzBdLm5vZGUpO2Vsc2V7Zm9yKHZhciBhPTAsYj0wO2I8dGhpcy5vLmxlbmd0aDsrK2Ipe3ZhciBjPXRoaXMub1tiXS5ub2RlO2lmKGMpe2Zvcig7YTx0aGlzLmcubGVuZ3RoJiZiPnRoaXMuQVthXTspe3ZhciBkPWErKzt0aGlzLmdbZF0ubm9kZSYmKHJ0KHRoaXMuZ1tkXS5ub2RlKSx0aGlzLmdbZF0ubm9kZT1udWxsKX1pZihhPHRoaXMuZy5sZW5ndGgmJmI9PXRoaXMuQVthXSYmdGhpcy5nW2FdLm5vZGUpe3RoaXMuZ1thXS56Znx8KF8uemQoYyksYy5hcHBlbmRDaGlsZCh0aGlzLmdbYV0ubm9kZSkpO3RoaXMuZ1thXS5LYSh0aGlzLkNbYV0sdGhpcy5nW2FdLm5vZGUpO2ErKzt2YXIgZT1jLnBhcmVudE5vZGU7CmlmKGUmJmUubm9kZVR5cGUhPTExKWlmKGMucmVtb3ZlTm9kZSljLnJlbW92ZU5vZGUoITEpO2Vsc2V7Zm9yKDtkPWMuZmlyc3RDaGlsZDspZS5pbnNlcnRCZWZvcmUoZCxjKTtfLkFkKGMpfX1lbHNlIF8uQWQoYyl9fXRoaXMubz1bXX19O2p0LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpO2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpdGhpcy5nW2FdLm5vZGUmJnJ0KHRoaXMuZ1thXS5ub2RlKTt0aGlzLmc9bnVsbH07CnZhciBodD1mdW5jdGlvbihhKXtpZihhKWlmKGEubm9kZVR5cGU9PTMmJl8uU2Mpe2x0IGluIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlW2x0XXx8KGEucGFyZW50Tm9kZVtsdF09e30pO3ZhciBiPWEucGFyZW50Tm9kZVtsdF07YlthLm5vZGVWYWx1ZV18fChiW2Eubm9kZVZhbHVlXT1bXSk7Yj1iW2Eubm9kZVZhbHVlXTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYylpZihiW2NdPT1hKXJldHVybjtiLnB1c2goYSl9ZWxzZSBhW2t0XT0xfSxydD1mdW5jdGlvbihhKXtpZighYXx8YS5ub2RlVHlwZT09MyYmXy5TYyl7dmFyIGI9YS5wYXJlbnROb2RlO2lmKGImJmx0IGluIGIpe3ZhciBjPWJbbHRdO2lmKGMmJmEmJmNbYS5ub2RlVmFsdWVdKXt2YXIgZD1jW2Eubm9kZVZhbHVlXTtpZihkKWZvcih2YXIgZT0wO2U8ZC5sZW5ndGg7KytlKWlmKGRbZV09PWEpe2Quc3BsaWNlKGUsMSk7YnJlYWt9ZC5sZW5ndGg9PTAmJmRlbGV0ZSBjW2Eubm9kZVZhbHVlXX1pZihjJiZ3cihjKSl0cnl7ZGVsZXRlIGJbbHRdfWNhdGNoKGYpe2JbbHRdPQoiIn19fWVsc2UgaWYoa3QgaW4gYSl0cnl7ZGVsZXRlIGFba3RdfWNhdGNoKGYpe2Fba3RdPSIifX0scHQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpdHJ5e2FbYl0ubm9kZSYmIWFbYl0ubm9kZS5wYXJlbnROb2RlJiYoYVtiXS5ub2RlPW51bGwpfWNhdGNoKGMpe2FbYl0ubm9kZT1udWxsfWZvcihiPWEubGVuZ3RoLTE7Yj49MCYmIWFbYl0ubm9kZTstLWIpO2EubGVuZ3RoPWIrMTtyZXR1cm4gYS5sZW5ndGh9LGV0PWZ1bmN0aW9uKGEpe2E9YS5vd25lckRvY3VtZW50P2Eub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb250Iik6Xy53ZChkb2N1bWVudCwiZm9udCIpO2h0KGEpO2Euc3R5bGUudmVydGljYWxBbGlnbj0iaW5oZXJpdCI7Xy5vaShfLlppKHBxLDIpKSYmKGEuZGlyPSJhdXRvIik7cmV0dXJuIGF9LHN0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEuZy5sZW5ndGg7YysrKXt2YXIgZD1hLmdbY10ubm9kZTtkIT1udWxsJiYKYi5hZGQoZCl9cmV0dXJuIGJ9LHR0PWZ1bmN0aW9uKCl7dGhpcy5oPXt9O3RoaXMuZz17fX07dHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmhbYV0hPW51bGx8fHRoaXMuZ1thXSE9bnVsbHx8YiYmKGEgaW4gdGhpcy5ofHxhIGluIHRoaXMuZyl9O3R0LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihhLGIpe3RoaXMuZ1thXT1ifTt0dC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2RlbGV0ZSB0aGlzLmdbYV07ZGVsZXRlIHRoaXMuaFthXX07dHQucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nW2FdO2J8fChiPXRoaXMuaFthXSx0aGlzLmdbYV09Yik7cmV0dXJuIGJ9O3ZhciBrdD0iX2d0XyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpLGx0PSJfZ3RuXyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpOwooZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGMpe2RvY3VtZW50LnRpdGxlPWN9dmFyIGI9e307Z3Q9ZnVuY3Rpb24oYyxkKXtpZihjLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJue25vZGU6YyxLYTphLHJkOiEwLHpmOiEwLHhlOiEwfTtpZihjLm5vZGVUeXBlPT0zKXJldHVybntub2RlOmMsS2E6ZnVuY3Rpb24oZSxmKXtfLkNkKGYsZSl9fTtkfHwoZD0idmFsdWUiKTtiW2RdfHwoYltkXT1mdW5jdGlvbihlLGYpe2Yuc2V0QXR0cmlidXRlJiZmLnNldEF0dHJpYnV0ZShkLGUpO3R5cGVvZiBlPT09InN0cmluZyImJihmW2RdPWUpfSk7Yz17bm9kZTpjLEthOmJbZF0scmQ6ITB9O2QhPSJ2YWx1ZSImJihjLnhlPSEwKTtyZXR1cm4gY319KSgpOwp2YXIgdXQ9ZnVuY3Rpb24oYSxiLGMsZCl7ZD1kLmZpcnN0Q2hpbGQmJmQuZmlyc3RDaGlsZC5ub2RlVHlwZT09Mz9kLmZpcnN0Q2hpbGQubm9kZVZhbHVlOkVvKGQpO2Q9e1g6YyxaOnBvKGQpfTthLnB1c2goZCk7YltjXT9iW2NdLmVuZD1kOmJbY109e3N0YXJ0OmQsZW5kOmR9O3JldHVybiBkfSx2dD1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1hLmZpcnN0Q2hpbGQ7YztjPWIpYj1jLm5leHRTaWJsaW5nLGMubm9kZVR5cGUhPTMmJihjPT1hLmZpcnN0Q2hpbGQ/YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMsYSk6eG8oYyxhKSx2dChjKSl9O3ZhciB3dD1mdW5jdGlvbigpe3RoaXMuZz1bXX07d3QucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXt0aGlzLmcucHVzaChhKX07dmFyIHh0PWZ1bmN0aW9uKCl7dGhpcy5nPVtdfTtfLkIoeHQsd3QpO3h0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7aWYoYSlmb3IoO2EoKTspO307eHQuZz1mdW5jdGlvbigpe3JldHVybiBXcSh4dCl9O3ZhciB6dD1mdW5jdGlvbihhKXt0aGlzLmc9W107dGhpcy5oPS41O3l0KHRoaXMsYSk7dGhpcy5sPTA7dGhpcy5qPSEwO3RoaXMubz0oMCxfLnkpKHRoaXMuQSx0aGlzKX07Xy5CKHp0LHd0KTt2YXIgeXQ9ZnVuY3Rpb24oYSxiKXtiPjE/YS5oPTE6YjwuMDAxP2EuaD0uMDAxOmImJihhLmg9Yil9O3p0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7d3QucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMsYSk7dGhpcy5qJiZBdCh0aGlzKX07dmFyIEF0PWZ1bmN0aW9uKGEpe2Euaj0hMTt3aW5kb3cuc2V0VGltZW91dChhLm8sTWF0aC5taW4oYS5sLDVFMykpfTsKenQucHJvdG90eXBlLkE9ZnVuY3Rpb24oKXt2YXIgYT0obmV3IERhdGUpLmdldFRpbWUoKTtkb3t0aGlzLmcubGVuZ3RoJiYodGhpcy5nWzBdJiZ0aGlzLmdbMF0oKXx8dGhpcy5nLnNoaWZ0KCkpO3ZhciBiPSEhdGhpcy5nLmxlbmd0aDt2YXIgYz05NSp0aGlzLmgrNTt2YXIgZD0obmV3IERhdGUpLmdldFRpbWUoKS1hfXdoaWxlKGImJmQ8Yyk7dGhpcy5sPU1hdGguY2VpbChkKigxL3RoaXMuaC0xKSkrMTtiP0F0KHRoaXMpOnRoaXMuaj0hMH07dmFyIEJ0PWZ1bmN0aW9uKGEsYil7dGhpcy5EPWF8fG51bGw7dGhpcy5JPWJ8fHh0LmcoKTt0aGlzLkI9dGhpcy5BPXRoaXMuRz1udWxsO3RoaXMubD10aGlzLmo9ITE7dGhpcy5vPW51bGw7dGhpcy5nPVtdO3RoaXMuaD0wfSxDdD1mdW5jdGlvbihhLGIpe2Euanx8KGEuRz1iKX0sRHQ9ZnVuY3Rpb24oYSxiLGMpe2EuQT1jPygwLF8ueSkoYixjKTpifSxFdD1mdW5jdGlvbihhLGIsYyl7YS5CPWM/KDAsXy55KShiLGMpOmJ9LEZ0PWZ1bmN0aW9uKGEsYil7YS5qfHwoYS5qPSEwLGEuRj1iLGEuaCsrLGEubz1hLkcsYS5DKCkpfTtCdC5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuaCsrO3RoaXMuaj0hMTt0aGlzLmc9W119Owp2YXIgR3Q9ZnVuY3Rpb24oYSl7aWYoIWEuailyZXR1cm4gbnVsbDtmb3IodmFyIGI9ITEsYz0wO2M8YS5nLmxlbmd0aDsrK2MpaWYoYS5nW2NdLnRhcmdldD09PWEpe2EuZ1tjXS5yZWFkeT0hMTthLmdbY10uaGc9YS5oKzE7Yj0hMDticmVha31ifHxhLmcucHVzaCh7dGFyZ2V0OmEscmVhZHk6ITEsaGc6YS5oKzF9KTtyZXR1cm4oMCxfLnkpKGEuQyxhLGEsYS5oKzEpfSxIdD1mdW5jdGlvbihhKXtpZighYS5qKXJldHVybiEwO2Zvcih2YXIgYj0wO2I8YS5nLmxlbmd0aDsrK2IpaWYoYS5nW2JdLnRhcmdldD09PWEmJmEuZ1tiXS5oZz09YS5oKXJldHVybiBhLmdbYl0ucmVhZHk7cmV0dXJuITB9OwpCdC5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuail7aWYoYSlmb3IodmFyIGM9MDtjPHRoaXMuZy5sZW5ndGg7KytjKWlmKHRoaXMuZ1tjXS50YXJnZXQ9PT1hKXt0aGlzLmdbY10ucmVhZHk9ITA7YnJlYWt9dGhpcy5sfHx0aGlzLkkuYWRkKCgwLF8ueSkodGhpcy5XLHRoaXMsYnx8dGhpcy5oKSl9fTsKQnQucHJvdG90eXBlLlc9ZnVuY3Rpb24oYSl7aWYodGhpcy5oIT1hKXJldHVybiExO2E9dGhpcy5vO2lmKGE9PUl0KXJldHVybiB0aGlzLnN0b3AoKSx0aGlzLkEmJnRoaXMuQS5jYWxsKHRoaXMuRCx0aGlzLHRoaXMuRiksITE7dGhpcy5sPSEwO3RyeXt2YXIgYj1hLmNhbGwodGhpcy5ELHRoaXMsdGhpcy5GKTtpZighYil0aHJvdyBFcnJvcigpO31jYXRjaChjKXt0aGlzLnN0b3AoKTthPWM7aWYodGhpcy5CKXRoaXMuQi5jYWxsKHRoaXMuRCxhLHRoaXMsdGhpcy5GKTtlbHNlIHRocm93IGE7cmV0dXJuITF9ZmluYWxseXt0aGlzLmw9ITF9YiE9SnQmJih0aGlzLm89Yix0aGlzLmgrKyx0aGlzLkMoKSk7cmV0dXJuITF9O3ZhciBKdD1mdW5jdGlvbigpe30sSXQ9ZnVuY3Rpb24oKXt9O3ZhciBLdD1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEuY2xhc3NOYW1lPT0ic3RyaW5nIj9hLmNsYXNzTmFtZTphLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifSxMdD1mdW5jdGlvbihhLGIpe3R5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU9YjphLnNldEF0dHJpYnV0ZSYmYS5zZXRBdHRyaWJ1dGUoImNsYXNzIixiKX0sTXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QuY29udGFpbnMoYik6Xy50YShhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiKX0sTnQ9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighTXQoYSxiKSl7dmFyIGM9S3QoYSk7THQoYSxjKyhjLmxlbmd0aD4wPyIgIitiOmIpKX19LE90PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QucmVtb3ZlKGIpOk10KGEsYikmJgpMdChhLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxmdW5jdGlvbihjKXtyZXR1cm4gYyE9Yn0pLmpvaW4oIiAiKSl9O3ZhciBRdD1mdW5jdGlvbihhLGIsYyxkLGUpe2I9Ynx8e307dGhpcy5XPWV8fFtdO3RoaXMuQT1bXTt0aGlzLkY9W107UHQodGhpcyxhfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYi5WZj09PXZvaWQgMHx8ISFiLlZmKTt0aGlzLkM9Y3x8anQ7dGhpcy5EPWIubGk7dGhpcy5qPXRoaXMuZz10aGlzLm89dGhpcy5kYz1udWxsO3RoaXMuQj0hIWIuYmo7dGhpcy5MPSEhYi5aaTt0aGlzLks9dGhpcy5CPzI3OjEzO3RoaXMuST0hMDt0aGlzLkc9W107dGhpcy5sPW5ldyBCdCh0aGlzLGQpfSxSdD1mdW5jdGlvbihhLGIsYyxkKXthLmwuanx8KGI9e2RnOmIsYWc6YyxBYTpbXSxRZjpbXSxyYjpbXSx0ZXh0TGVuZ3RoOjAsc2l6ZTowLGNvbnRpbnVvdXM6ITB9LGEuZGM9bnVsbCxDdChhLmwsYS5oKSxEdChhLmwsZCksRXQoYS5sLCgwLF8ueSkoZnVuY3Rpb24oZSl7dGhpcy51aShlKTtkKCl9LGEpKSxGdChhLmwsYikpfSxTdD1mdW5jdGlvbihhLGIpe3JldHVybiBhLkFhLmxlbmd0aD4wPwpuZXcgYihhLkFhLGEucmIuam9pbigiIiksYS5RZixhLnRleHRMZW5ndGgsYS5zaXplKTpudWxsfSxUdD1mdW5jdGlvbihhLGIpe2lmKCFhLmopcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2lmKCFiLmNvbnRpbnVvdXMmJmIuQWEubGVuZ3RoPjApcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2IuY29udGludW91cz1hLmouS2Y7YTp7dmFyIGM9YS5qO3ZhciBkPWEuSztpZihiLnNpemU+Yi5hZ3x8Yi50ZXh0TGVuZ3RoPmIuZGcpYz0hMTtlbHNle3ZhciBlPWMuc2l6ZSxmPWMudGV4dC5sZW5ndGg7aWYoYi5BYS5sZW5ndGghPTAmJihlKz1iLkFhLmxlbmd0aD09MT9iLnNpemUrZCtkOmIuc2l6ZStkLGYrPWIudGV4dExlbmd0aCxlPmIuYWd8fGY+Yi5kZykpe2M9ITE7YnJlYWsgYX1iLnNpemU9ZTtiLnRleHRMZW5ndGg9ZjtiLkFhLnB1c2goYy5ub2RlKTtiLlFmLnB1c2goYy50ZXh0KTtkPWIuQWEubGVuZ3RoLTE7ZD09MD9iLnJiLnB1c2goYy5MZCk6KGQ9PTEmJihiLnJiWzBdPSI8YSBpPTA+IisKYi5yYlswXSsiPC9hPiIpLGIucmIucHVzaCgiPGEgaT0iK2QrIj4iKSxiLnJiLnB1c2goYy5MZCksYi5yYi5wdXNoKCI8L2E+IikpO2M9ITB9fWlmKGMpcmV0dXJuIGEuaj1udWxsLCExO2EuZGM9U3QoYixhLkMpO3JldHVybiEwfSxVdD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bnQoYixjKTtkJiZfLkFjKGpvKGQpKSYmYS5HLnB1c2goe25vZGU6YixZZzpjLHRleHQ6ZH0pfTsKUXQucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2lmKHRoaXMuaiYmVHQodGhpcyxiKSlyZXR1cm4gSXQ7aWYoIXRoaXMuZyl7dGhpcy5JPSEhdGhpcy5BLmxlbmd0aDtpZighdGhpcy5BLmxlbmd0aCYmKGE9dGhpcy5HLnNoaWZ0KCkpKXJldHVybiB0aGlzLmo9e0tmOiExLG5vZGU6Z3QoYS5ub2RlLGEuWWcpLHRleHQ6YS50ZXh0LExkOmxvKGEudGV4dCksc2l6ZTp0aGlzLkI/Xy5HYihhLnRleHQpLmxlbmd0aDphLnRleHQubGVuZ3RofSxiLmNvbnRpbnVvdXM9ITEsVHQodGhpcyxiKSxJdDthPXRoaXMuQS5zaGlmdCgpfHx0aGlzLkYuc2hpZnQoKTtpZighYSlyZXR1cm4gdGhpcy5qPW51bGwsVHQodGhpcyxiKSxJdDt0aGlzLm89W2EuWWldO3RoaXMuZz1uZXcgZHMoYS5yb290KX10aGlzLmcubmV4dCgpO2lmKHRoaXMuZy5kb25lKXJldHVybiB0aGlzLmc9bnVsbCxiLmNvbnRpbnVvdXM9ITEsdGhpcy5oO2E9dGhpcy5nLm5vZGUoKTt2YXIgZD10aGlzLmcuZy5nOwppZihkPT0tMSlyZXR1cm4gVnQodGhpcyksV3QoYSl8fChiLmNvbnRpbnVvdXM9ITEpLHRoaXMuaDtYdCh0aGlzLGEpO2Q9ZD09MTt2YXIgZT0hIWEmJihhLm5vZGVUeXBlPT0zJiZ0eXBlb2YgYS5ub2RlVmFsdWU9PT0ic3RyaW5nInx8YS50YWdOYW1lPT0iVElUTEUiJiZ0eXBlb2YgYS52YWx1ZT09PSJzdHJpbmcifHxhLnRhZ05hbWU9PSJURVhUQVJFQSImJk10KGEsInRyYW5zbGF0ZSIpfHxhLnRhZ05hbWU9PSJJTlBVVCImJihZclthLnR5cGVdfHxNdChhLCJ0cmFuc2xhdGUiKSkpO2lmKChlfHxkKSYmdGhpcy5JJiYhWXQoYSkpcmV0dXJuIFB0KHRoaXMsYSxadCh0aGlzKSwhMCksYnModGhpcy5nLmcpLFZ0KHRoaXMpLHRoaXMuaDtpZihkJiZadCh0aGlzKSYmKHRoaXMuTCYmVXQodGhpcyxhLCJ0aXRsZSIpLFV0KHRoaXMsYSwiYWx0IiksVXQodGhpcyxhLCJwbGFjZWhvbGRlciIpLFV0KHRoaXMsYSwiYXJpYS1sYWJlbCIpLFV0KHRoaXMsYSwiYXJpYS1wbGFjZWhvbGRlciIpLFV0KHRoaXMsCmEsImFyaWEtcm9sZWRlc2NyaXB0aW9uIiksVXQodGhpcyxhLCJhcmlhLXZhbHVldGV4dCIpLGVzKHRoaXMuZykpKWZvcih2YXIgZj1hLmZpcnN0Q2hpbGQ7Zjspe2lmKGYubm9kZVR5cGU9PTMpe3ZhciBnPWYubm9kZVZhbHVlLnNwbGl0KCJcbiIpO2lmKGcubGVuZ3RoPjJ8fGcubGVuZ3RoPT0yJiZfLkFjKGdbMF0pIT0iIiYmXy5BYyhnWzFdKSE9IiIpe2Yubm9kZVZhbHVlPWdbMF07Zm9yKHZhciBoPTE7aDxnLmxlbmd0aDsrK2gpe3ZhciBrPV8uc2QoYSkuY3JlYXRlRWxlbWVudCgiZm9udCIpO3RoaXMuVy5wdXNoKGspO3hvKGssZik7Zj1rO3hvKF8uc2QoYSkuY3JlYXRlVGV4dE5vZGUoIlxuIitnW2hdKSxmKTtmPWYubmV4dFNpYmxpbmd9fX1mPWYubmV4dFNpYmxpbmd9YS5zaGFkb3dSb290JiZBcnJheS5mcm9tKGEuc2hhZG93Um9vdC5jaGlsZE5vZGVzKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe1B0KGMscixadChjKSl9KTtpZihlKXticyh0aGlzLmcuZyk7aWYoWnQodGhpcykpe3ZhciBsPQpudChhKTtpZihfLkFjKGpvKGwpKSYmKHRoaXMuaj17S2Y6ITAsbm9kZTpndChhKSx0ZXh0OmwsTGQ6bG8obCksc2l6ZTp0aGlzLkI/Xy5HYihsKS5sZW5ndGg6bC5sZW5ndGh9LFR0KHRoaXMsYikpKXJldHVybiBWdCh0aGlzKSxJdH1WdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGQpe2lmKCR0KGEpfHwhYS5maXJzdENoaWxkJiZhLnRhZ05hbWUhPSJJRlJBTUUiJiZhLnRhZ05hbWUhPSJSVUJZIilyZXR1cm4gYi5jb250aW51b3VzPWIuY29udGludW91cyYmISFYclthLnRhZ05hbWVdLGJzKHRoaXMuZy5nKSxWdCh0aGlzKSx0aGlzLmg7aWYoYS50YWdOYW1lPT0iUlVCWSIpe3RyeXtsPV8uQyhhLmNoaWxkTm9kZXMpO2Zvcih2YXIgbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBxPW4udmFsdWU7cS5ub2RlVHlwZSE9MyYmUHQodGhpcyxxLFp0KHRoaXMpKX19Y2F0Y2gocil7fWJzKHRoaXMuZy5nKTtWdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGEudGFnTmFtZT09IklGUkFNRSIpe3RyeXtpZighYS5zcmMubWF0Y2goL2h0dHBzPzpcL1wvLyl8fApfLkNiKGEuc3JjLm1hdGNoKF8ucmYpWzNdfHxudWxsKT09d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKXt2YXIgcD16byhhKS5kb2N1bWVudEVsZW1lbnQ7cCYmUHQodGhpcyxwLFp0KHRoaXMpKX19Y2F0Y2gocil7fWIuY29udGludW91cz0hMTticyh0aGlzLmcuZyk7VnQodGhpcyk7cmV0dXJuIHRoaXMuaH1adCh0aGlzKSYmV3QoYSk/dGhpcy5EJiZhLnRhZ05hbWU9PSJBIiYmYS5ocmVmJiZ0aGlzLkQoYSk6Yi5jb250aW51b3VzPSExO3JldHVybiB0aGlzLmh9YnModGhpcy5nLmcpO1Z0KHRoaXMpO3JldHVybiB0aGlzLmh9Owp2YXIgJHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG10KGEpfHxhLm5vZGVUeXBlIT0zJiYoIWEudGFnTmFtZXx8V3JbYS50YWdOYW1lXXx8WHJbYS50YWdOYW1lXXx8TXQoYSwic2tpcHRyYW5zbGF0ZSIpKX0sYXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZChhKTtyZXR1cm4gYi5kZWZhdWx0VmlldyYmYi5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlP2IuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpOmEuY3VycmVudFN0eWxlfSxZdD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09Mz8hMDphLm5vZGVUeXBlIT0xPyExOmEub2Zmc2V0V2lkdGgmJmEub2Zmc2V0SGVpZ2h0PyEwOihhPWF1KGEpLCEhYSYmYS5kaXNwbGF5IT0ibm9uZSImJmEudmlzaWJpbGl0eSE9ImhpZGRlbiIpfSxXdD1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlPT0zKXJldHVybiEwO2lmKGEubm9kZVR5cGUhPTEpcmV0dXJuITE7dmFyIGI9YXUoYSk7cmV0dXJuISFWclthLnRhZ05hbWVdJiYKKCFifHwhYi5kaXNwbGF5fHxiLmRpc3BsYXk9PSJpbmxpbmUiKX0sUHQ9ZnVuY3Rpb24oYSxiLGMsZCl7KGQ/YS5GOmEuQSkucHVzaCh7cm9vdDpiLFlpOmM9PT12b2lkIDB8fGN9KX0sWnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub1thLm8ubGVuZ3RoLTFdfSxYdD1mdW5jdGlvbihhLGIpe2I9IW10KGIpJiYoYi5ub2RlVHlwZT09JG4mJlp0KGEpfHwhKE10KGIsIm5vdHJhbnNsYXRlIil8fGIuYXR0cmlidXRlcyYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09Im5vIikmJihNdChiLCJ0cmFuc2xhdGUiKXx8ISFiLmF0dHJpYnV0ZXMmJiEhYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09InllcyJ8fFp0KGEpKSk7YS5vLnB1c2goYil9LFZ0PWZ1bmN0aW9uKGEpe2Euby5wb3AoKX0sYnU9e307RHIuYXR0YWNoKDU3NjIsUXQucHJvdG90eXBlLHt1aToxfSk7dmFyIGN1PWZ1bmN0aW9uKCl7Xy51LmNhbGwodGhpcyk7dGhpcy5nPVtdfTtfLkIoY3UsXy51KTtjdS5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe3FzKHRoaXMuaCwwLHRoaXMpfTtjdS5wcm90b3R5cGUuaD1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpXy5BZCh0aGlzLmdbYV0pO3RoaXMuZz1bXX07Y3UucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKX07dmFyIGR1PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7YS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3lvKGMpP2IuYWRkKGMpOihjPWMucGFyZW50RWxlbWVudHx8bnVsbCxjIT1udWxsJiZiLmFkZChjKSl9KTtyZXR1cm4gYn07dmFyIGV1PWZ1bmN0aW9uKGEpe3RoaXMuaD0hMDt0aGlzLmw9YTt0aGlzLmo9ITE7dGhpcy5nPVtdfTtldS5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmpvaW4oIiIpfTt2YXIgZnU9ZnVuY3Rpb24oYSxiKXt0aGlzLm89YTt0aGlzLmw9ITA7dGhpcy5qPWI7dGhpcy5nPW51bGw7dGhpcy5oPTB9LGd1PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubD8oYigoMCxfLnkpKGEuQSxhKSxhLm8sYS5qPyJlbiI6IiIpLCEwKTohMX07ZnUucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuaD1jO2EoKX07dmFyIGh1PWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5EPSEhYjt0aGlzLmc9dGhpcy5DPTA7dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkE9dGhpcy5CPXRoaXMuaD0wfSxrdT1mdW5jdGlvbihhLGIsYyl7YS5EJiYoYi09OSk7Zm9yKHZhciBkPSIiLGU9MCxmPWEuQztmPGEubC5sZW5ndGg7KytmKXt2YXIgZz1hLmwuY2hhckF0KGYpLGg9Zy5jaGFyQ29kZUF0KDApO2UrKzthLmgrPWEuRD9oPD0xMjc/aDw9MzJ8fGl1W2hdPzM6MTpoPD0yMDQ3fHxoPj01NTI5NiYmaDw9NTYzMTl8fGg+PTU2MzIwJiZoPD01NzM0Mz82Ojk6MTtoPWEuaD49YjtqdVtnXT8oYS5vPWYsYS5CPWEuaCxoPWh8fGU+Yyk6Zz09IiAiJiYoYS5qPWYsYS5BPWEuaCxoPWh8fGU+Yyk7aWYoaClyZXR1cm4gYS5vPj0wPyhkPWEubC5zdWJzdHJpbmcoYS5nLGEubysxKSxhLmgtPWEuQixhLmc9YS5vKzEsYS5vPj1hLmo/KGEuaj0tMSxhLkE9MCk6YS5BLT1hLkIsYS5vPS0xLGEuQj0wKTphLmo+PTA/KGQ9YS5sLnN1YnN0cmluZyhhLmcsCmEuaisxKSxhLmgtPWEuQSxhLmc9YS5qKzEsYS5qPS0xLGEuQT0wKTooZD1hLmwuc3Vic3RyaW5nKGEuZyxmKzEpLGEuaD0wLGEuZz1mKzEsYS5vPWEuaj0tMSxhLkE9YS5CPTApLGEuQz1mKzEsZH1hLmc8YS5sLmxlbmd0aCYmKGQ9YS5sLnN1YnN0cmluZyhhLmcpLGEuZz1hLmwubGVuZ3RoKTtyZXR1cm4gZH0sanU9aXIoWyIuIiwiLCIsIjoiLCJcXD8iLCIhIl0pLGx1PVsiLiIsIj8iLCIhIl0saXU9aXIoWzM0LDM1LDM2LDM3LDM4LDQzLDQ0LDQ3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDkxLDkyLDkzLDk0LDk2LDEyMywxMjQsMTI1LDEyN10pO3ZhciB0bT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIodG0sXy5KKTt2YXIgbXU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG11LF8uSik7dmFyIG51PWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihudSxfLkopO3ZhciBvdT1bMSwyXTt2YXIgcHU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKHB1LF8uSik7cHUucHJvdG90eXBlLlJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIHF1PV8uS2kocHUpO3ZhciBydTt2YXIgc3U9ZnVuY3Rpb24oKXt0aGlzLmhhPW5ldyBfLldmfSx0dT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7cmV0dXJuIF8uVmkoZnVuY3Rpb24oZSl7Yz1jbShhbSgkbChuZXcgWmwsImh0dHBzIiksYi5ob3N0KSxiLnBhdGgpO2Q9bmV3IFByb21pc2UoZnVuY3Rpb24oZixnKXtfLk5kKGEuaGEsInN1Y2Nlc3MiLGZ1bmN0aW9uKCl7Zih7Y29kZTpfLmhnKGEuaGEpLGhlYWRlcnM6TG4oYS5oYSksYm9keTpfLmlnKGEuaGEpfSl9KTtfLk5kKGEuaGEsImVycm9yIixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSk7Xy5OZChhLmhhLCJ0aW1lb3V0IixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSl9KTthLmhhLnNlbmQoYyxiLm1ldGhvZCxiLmJvZHksYi5oZWFkZXJzKTtyZXR1cm4gZS5yZXR1cm4oZCl9KX07dmFyIHJuPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihybixfLkopO3ZhciBxbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIocW4sXy5KKTt2YXIgcG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5mayhhLDEsYil9O3ZhciB3dT1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmO3JldHVybiBfLlZpKGZ1bmN0aW9uKGcpe2lmKGcuZz09MSl7Yj1ydXx8KHJ1PXF1KCdbMixudWxsLFtbW1siYXV0b3B1c2giLFsiYXV0b3B1c2gtdHJhbnNsYXRlLXBhLnNhbmRib3guZ29vZ2xlYXBpcy5jb20iXV0sWyJzdGFnaW5nIixbImRhaWx5MS10cmFuc2xhdGUtcGEuc2FuZGJveC5nb29nbGVhcGlzLmNvbSJdXSxbInByb2QiLFsidHJhbnNsYXRlLXBhLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC1ldSIsWyJ0cmFuc2xhdGUtcGEuZXUucmVwLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC11cyIsWyJ0cmFuc2xhdGUtcGEudXMucmVwLmdvb2dsZWFwaXMuY29tIl1dXV1dXScpKTtjPW1xO25xJiYoYz1jKyItIitucSk7dmFyIGg9YnAoYixudSwzKTt2YXIgaz1oLko7az1JbChIbChrKSxrLHZvaWQgMCxvdSk7aD1icChoLG11LGs9PT0xPzE6LTEpO2s9aC5KO3ZhciBsPWtbXy5IXXwwO2g9dW0oaCxrLGwsXy5XZyhoLGwpKS5nZXQoYyk7CmQ9Xy5OKGgsMSk7aD1uZXcgJHA7az1zbShhLDEsXy5haigpKTtoPUdsKGgsMSxrLG5tKS5OYShhLkphKCkpLm5hKGEub2EoKSk7az1uZXcgYXE7aD1fLkwoaywxLGgpO2g9c24oaCwyLHRxKTtfLk0ocHEsNykmJl8uZWooaCw0LCEwKTtlPWg7Zy5GKDIpO3JldHVybiBnLmgodnUoZCxlKSw0KX1pZihnLmchPTIpcmV0dXJuIGY9Zy5qLGcucmV0dXJuKHRuKGYpKTtnLkQoKTtyZXR1cm4gZy5yZXR1cm4oUHJvbWlzZS5yZWplY3QoRXJyb3IoIkFhIikpKX0pfSx2dT1mdW5jdGlvbihhLGIpe3ZhciBjPXh1LGQsZSxmLGc7cmV0dXJuIF8uVmkoZnVuY3Rpb24oaCl7aWYoaC5nPT0xKXJldHVybiBkPXtob3N0OmEscGF0aDoiL3YxL3RyYW5zbGF0ZUh0bWwiLG1ldGhvZDoiUE9TVCIsaGVhZGVyczp7IlgtZ29vZy1hcGkta2V5IjoiQUl6YVN5QVRCWGFqdnpRTFRESEVRYmNwcTBJaGUwdldESG1PNTIwIiwiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiJ9LGJvZHk6Xy5XaihiKX0sCmU9Yy5nKCksaC5GKDIpLGguaCh0dShlLGQpLDQpO2lmKGguZyE9MilyZXR1cm4gZj1oLmosaC5yZXR1cm4oY3EoZi5ib2R5KSk7Zz1oLkQoKTtyZXR1cm4gaC5yZXR1cm4oUHJvbWlzZS5yZWplY3QoZykpfSl9O3ZhciB4dT1uZXcgZnVuY3Rpb24oKXt0aGlzLmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHN1fX0seXU9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9LHp1PWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO3JldHVybiBfLlZpKGZ1bmN0aW9uKGYpe2lmKGYuZz09MSlyZXR1cm4gc20oYiwxLF8uYWooKSkubGVuZ3RoPT09MD9mLnJldHVybihuZXcgcW4pOl8uTShwcSw4KT9mLnJldHVybih3dShiKSk6Zi5oKGEuZy50cmFuc2xhdGUoY3x8ZnVuY3Rpb24oKXt9LHNtKGIsMSxfLmFqKF8uV2gpKSxiLkphKCksYi5vYSgpLDAsITEpLDIpO2Q9Zi5qO2U9ZC5tYXAodW4pO3JldHVybiBmLnJldHVybihwbihuZXcgcW4sZSkpfSl9O3ZhciBBdT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQXUsXy5KKTt2YXIgQnU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEF1O3JldHVybiBHbChiLDEsYSxubSl9O0F1LnByb3RvdHlwZS5KYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07QXUucHJvdG90eXBlLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDIsYSl9O0F1LnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywzKX07QXUucHJvdG90eXBlLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDMsYSl9O3ZhciBDdT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5CPWR8fGZ1bmN0aW9uKCl7fTt0aGlzLlA9Znx8ZnVuY3Rpb24oKXt9O3RoaXMuUj0hIWU7dGhpcy5qPWEuZy5JZjt0aGlzLmw9MDt0aGlzLkk9ZnVuY3Rpb24oKXt9O3RoaXMuRD1jO3RoaXMuRj10aGlzLmg9dGhpcy5vPTA7dGhpcy5nPW51bGw7dGhpcy5XPTA7dGhpcy5sYT0hMTt0aGlzLlQ9YS5nLkdmO3RoaXMuSz1bXTt0aGlzLnFiPTA7dGhpcy5MPWEuZy5LZDt0aGlzLkE9YS5sKCk7dGhpcy53YT10aGlzLlI/MTo2O3RoaXMuSWE9YS5nLldmO3RoaXMucWE9Yjt0aGlzLkM9W107dGhpcy5PPWF9O0N1LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5DLmxlbmd0aDsrK2EpdGhpcy5DW2FdLnN0b3AoKTtmb3IoYT0wO2E8dGhpcy5LLmxlbmd0aDsrK2EpVHIodGhpcy5PLHRoaXMuS1thXSl9Owp2YXIgRHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2EuST0oMCxfLnkpKGZ1bmN0aW9uKCl7KytjPT10aGlzLkMubGVuZ3RoJiZiKCl9LGEpfSxFdT1mdW5jdGlvbihhLGIsYyl7YS5CPWZ1bmN0aW9uKCl7fTthLnFhPWI7YS5nPW51bGw7YS5xYj0wO2EuQz1bXTthLkk9ZnVuY3Rpb24oKXt9O2EuRD1jfSxGdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5oPT0wJiYoYS5oPWI/M0UzOmEuQSwhY3x8Yzw9YS5BKSl7YS5vPWEuaDtyZXR1cm59ZG8gYj1hLmgsYS5oPGEuQSYmKGEuaCo9YS53YSxhLmg+YS5BJiYoYS5oPWEuQSkpO3doaWxlKGIhPWEuaCYmYyYmYS5oPGMpO2Eubz1hLmh9LEd1PWZ1bmN0aW9uKGEsYil7dmFyIGM9YiE9bnVsbCxkPSFjJiYhYS5sYTsoZHx8YykmJmEuQigxMDAsZCxiKX0sSHU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuTD9hLmcuUjphLmcubWEoKS5sZW5ndGh9LEl1PWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBRdChhLnFhLnNoaWZ0KCkse2JqOmEuTCxsaTpiLApWZjohMCxaaTohIWN9LGZ1bmN0aW9uKCl7dmFyIGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbmV3IGp0KGYuc2hpZnQoKSxmLnNoaWZ0KCksZi5zaGlmdCgpLGYuc2hpZnQoKSxmLnNoaWZ0KCksYyxkKX0sYS5ELGUpfSxLdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5UPjAmJmIubGIoKT49YS5UKXJldHVybiEwO2lmKEh1KGEpPmEuaCl7aWYoYi5sYigpPjApcmV0dXJuITA7RnUoYSxjLEh1KGEpKTtmb3IodmFyIGQ9YS5nLm1hKCksZT1uZXcgaHUoZCxhLkwpLGY7Zj1rdShlLGEuaCxhLmopOylpZihsdS5pbmRleE9mKGYuY2hhckF0KGYubGVuZ3RoLTEpKTwwJiZiLksrKyxiLmwucHVzaChuZXcgZnUoW2ZdLCExKSksYS5sKz1mLmxlbmd0aCxhLmotPWYubGVuZ3RoLGEuajw9MCl7Yi5GPWQuc3Vic3RyaW5nKGUuZyk7YnJlYWt9ZWxzZSBGdShhLGMpO0p1KGIsYS5nLCEwKTthLmc9bnVsbDtyZXR1cm4hMH1pZihIdShhKT5hLm8pcmV0dXJuITA7SnUoYiwKYS5nLCEwKTthLm8tPUh1KGEpK2EuSWE7YS5sKz1hLmcuRDthLmotPWEuZy5EO2EuZz1udWxsO3JldHVybiExfSxMdT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz17WmE6MH07Yy5aYTxhLmxlbmd0aDtjPXtaYTpjLlphfSxjLlphKyspYVtjLlphXS5sZW5ndGg+MSYmYVtjLlphXVsxXT09PTIwMD9iLnB1c2guYXBwbHkoYixfLiRiKGFbYy5aYV1bMF0udG9TdHJpbmcoKS5zcGxpdCgiJmx0O2V4dHJhX2lkXzEmZ3Q7IikubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm5bZS50cmltKCksYVtkLlphXVsxXV19fShjKSkpKTpiLnB1c2goYVtjLlphXSk7cmV0dXJuIGJ9LE11PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGssbCxuO3JldHVybiBfLlZpKGZ1bmN0aW9uKHEpe3N3aXRjaChxLmcpe2Nhc2UgMTp2YXIgcD1wcTtpZihfLmJqKHAsaXEsNikpe3ZhciByPV8uYmoocCxpcSw2KSx0PV8uTShyLDEpO3A9Xy5NKHAsMyl8fHQ/KHQ/c20ociw0LF8uYWooKSk6CnNtKHAsNCxfLmFqKCkpKS5pbmNsdWRlcyhkLnRvTG93ZXJDYXNlKCkrIl8iK2UudG9Mb3dlckNhc2UoKSk6ITF9ZWxzZSBwPSExO2Y9cDtpZihmKXt2YXIgQT1BPT09dm9pZCAwPzNFMzpBO2lmKHA9Xy5iaihwcSxpcSw2KSlwPV8uYmoocHEsaXEsNikscD1fLk0ocCwxKTtpZihwKXtwPV8uYmoocHEsaXEsNik7QT1fLmdrKHAsMyk7cD1fLmdrKHAsMik7cj1bXTtmb3IodD0wO3Q8Yy5sZW5ndGg7dCsrKXt2YXIgRD1bY1t0XV0sRT1jW3RdLmxlbmd0aDtpZihjW3RdLnNwbGl0KCIgIikubGVuZ3RoPD1wKWZvcig7dCsxPGMubGVuZ3RoJiZFPEE7KUQucHVzaChjW3QrMV0pLEUrPWNbdCsxXS5sZW5ndGgrMisxOCx0Kys7ci5wdXNoKEQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1yfWVsc2V7cD1bXTtmb3Iocj0wO3I8Yy5sZW5ndGg7KXt0PVtdO2ZvcihFPTA7cjxjLmxlbmd0aDspe0Q9Y1tyXTt2YXIgYmE9RC5sZW5ndGg7RT10Lmxlbmd0aD09PTA/YmE6RSsyMCtiYTtpZihFPgpBJiZ0Lmxlbmd0aD4wKWJyZWFrO3QucHVzaChEKTtyKyt9dC5sZW5ndGg+MCYmcC5wdXNoKHQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1wfX1lbHNlIEE9YztnPUE7aD16dShuZXcgeXUoYS5PKSxCdShnKS5OYShkKS5uYShlKSxiKTtxLkYoMik7cmV0dXJuIHEuaChoLDQpO2Nhc2UgNDprPXEuajtsPXZuKGspO249Zj9MdShsKTpsO2IobiwyMDApO3EuSygzKTticmVhaztjYXNlIDI6cS5EKCksYihbXSw1MDApO2Nhc2UgMzpyZXR1cm4gYS5LLnB1c2goaCkscS5yZXR1cm4oaCl9fSl9O3ZhciBOdT1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMubD1iO3RoaXMuaj17cm9vdE1hcmdpbjphfTt0aGlzLmc9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5oLHRoaXMpLHRoaXMuail9O18uQihOdSxfLnUpO051LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nPW51bGx9O051LnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0uaW50ZXJzZWN0aW9uUmF0aW8+MCl7dGhpcy5sKCk7YnJlYWt9fTtOdS5wcm90b3R5cGUudHJhY2s9ZnVuY3Rpb24oYSl7Sm8oYSwoMCxfLnkpKHRoaXMuZy5vYnNlcnZlLHRoaXMuZykpfTt2YXIgT3U9ZnVuY3Rpb24oYSl7dmFyIGI9YSE9bnVsbD9hOnt9LGM9Yi5JayxkPWIuS2ssZT1iLkVrLGY9Yi5MayxnPWIuSGssaD1iLkprLGs9Yi5GayxsPWIuR2s7YT1fLnlsKCk7IWwmJnNwKGMpPyhlPSEhZSxmPSEhZixiPWImJmIuUWssYz0oMCxfLnRsKShzcChjKT8iPHNjcmlwdCIrKGI/JyBub25jZT0iJytQKFlwKGIpKSsnIic6IiIpKyI+d2luZG93WydwcENvbmZpZyddID0ge3Byb2R1Y3ROYW1lOiAiK3ZwKFFwKGQhPW51bGw/ZDoidW5rbm93biIpKSsiLCBkZWxldGVJc0VuZm9yY2VkOiAiK3ZwKFFwKGUpKSsiLCBzZWFsSXNFbmZvcmNlZDogIit2cChRcChmKSkrIiwgaGVhcnRiZWF0UmF0ZTogIit2cChRcChnIT1udWxsP2c6LjUpKSsiLCBwZXJpb2RpY1JlcG9ydGluZ1JhdGVNaWxsaXM6ICIrdnAoUXAoaCE9bnVsbD9oOjZFNCkpKyIsIGRpc2FibGVBbGxSZXBvcnRpbmc6ICIrdnAoUXAoayE9bnVsbD9rOiExKSkrIn07Iit2cChRcChjIT1udWxsP2M6IiIpKSsiXHgzYy9zY3JpcHQ+IjoKIiIpKTpjPSIiO3JldHVybiBXbihhLGMpfTt2YXIgUHU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy50bCkoJzxzcGFuIGlkPSInK1AoYS5pZCkrJyI+PC9zcGFuPicpfSxRdT1mdW5jdGlvbihhKXt2YXIgYj1hLmlkLGM9YS5SZjtyZXR1cm4oMCxfLnRsKShLcChhLlNmKSsnPGRpdiBpZD0iJytQKGIpKyciPjwvZGl2PicrS3AoYykpfSxZbj1mdW5jdGlvbihhKXt2YXIgYj1hLnRvcCxjPWEubGVmdCxkPWEuYm90dG9tLGU9YS5yaWdodCxmPWEuaWQ7cmV0dXJuKDAsXy51bCkoIi4iK0FwKGEuY2xhc3NOYW1lKSsiIHt6LWluZGV4Ojk5OTk5OTk7IG92ZXJmbG93OnZpc2libGU7IHBvc2l0aW9uOmZpeGVkOyBfcG9zaXRpb246YWJzb2x1dGU7IisoYnx8Yj09PTA/InRvcDoiK0FwKGIpKyJweDsgX3RvcDpleHByZXNzaW9uKCgiK0FwKGIpKyIrKGhhY2sxPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSkrJ3B4Jyk7IjoidG9wOmF1dG87IikrKGN8fGM9PT0wPyJsZWZ0OiIrQXAoYykrCiJweDsgX2xlZnQ6ZXhwcmVzc2lvbigoIitBcChjKSsiKyhoYWNrMj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoibGVmdDphdXRvOyIpKyhkfHxkPT09MD8iYm90dG9tOiIrQXAoZCkrInB4OyBfdG9wOmV4cHJlc3Npb24oKC0iK0FwKGQpKyItZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIrU3RyaW5nKGYpLnJlcGxhY2UoUnAsR3ApKyInKS5vZmZzZXRIZWlnaHQrKGhhY2szPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KSsoaGFjazQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKSsncHgnKTsiOiJib3R0b206YXV0bzsiKSsoZXx8ZT09PTA/InJpZ2h0OiIrQXAoZSkrInB4OyBfbGVmdDpleHByZXNzaW9uKCgtIitBcChlKSsiLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciKwpTdHJpbmcoZikucmVwbGFjZShScCxHcCkrIicpLm9mZnNldFdpZHRoKyhoYWNrNT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh8fGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpKyhoYWNrNj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoicmlnaHQ6YXV0bzsiKSsifSIpfSxSdT1mdW5jdGlvbigpe3JldHVybigwLF8udGwpKCc8ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15ZiIpKyciPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08iKSsnIj48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUiKSsnIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgNjYgNjYiPjxjaXJjbGUgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtSnQ1Y0siKSsKJyIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCIvPjwvc3ZnPjwvZGl2PjwvZGl2PicpfTt3bi54Yj12b2lkIDA7d24uZz1mdW5jdGlvbigpe3JldHVybiB3bi54Yj93bi54Yjp3bi54Yj1uZXcgd259O3duLnByb3RvdHlwZS5nPTA7Xy5HKHhuLF8uaGIpO18ubT14bi5wcm90b3R5cGU7Xy5tLmNpPXduLmcoKTtfLm0uUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYXx8KHRoaXMubGE9IjoiKyh0aGlzLmNpLmcrKykudG9TdHJpbmcoMzYpKX07Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DfTtfLm0ubmQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5LJiZ0aGlzLkshPWEpdGhyb3cgRXJyb3IoIkNhIik7eG4uZWEubmQuY2FsbCh0aGlzLGEpfTtfLm0uUz1mdW5jdGlvbigpe3RoaXMuQz10aGlzLmguY3JlYXRlRWxlbWVudCgiRElWIil9O18ubS5rYT1mdW5jdGlvbihhKXtTdSh0aGlzLGEpfTtfLm0ucWM9ZnVuY3Rpb24oYSl7U3UodGhpcyxhLnBhcmVudE5vZGUsYSl9O3ZhciBTdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qYil0aHJvdyBFcnJvcigiRGEiKTthLkN8fGEuUygpO2I/Yi5pbnNlcnRCZWZvcmUoYS5DLGN8fG51bGwpOmEuaC5nLmJvZHkuYXBwZW5kQ2hpbGQoYS5DKTthLksmJiFhLksuamJ8fGEuTGEoKX07Cl8ubT14bi5wcm90b3R5cGU7Xy5tLmFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuamIpdGhyb3cgRXJyb3IoIkRhIik7aWYoYSl7dGhpcy53YT0hMDt2YXIgYj1fLnNkKGEpO3RoaXMuaCYmdGhpcy5oLmc9PWJ8fCh0aGlzLmg9Xy5sYihhKSk7dGhpcy5PYShhKTt0aGlzLkxhKCl9ZWxzZSB0aHJvdyBFcnJvcigiRWEiKTt9O18ubS5PYT1mdW5jdGlvbihhKXt0aGlzLkM9YX07Xy5tLkxhPWZ1bmN0aW9uKCl7dGhpcy5qYj0hMDtUdSh0aGlzLGZ1bmN0aW9uKGEpeyFhLmpiJiZhLkgoKSYmYS5MYSgpfSl9O18ubS5zYT1mdW5jdGlvbigpe1R1KHRoaXMsZnVuY3Rpb24oYSl7YS5qYiYmYS5zYSgpfSk7dGhpcy5PJiZfLlJmKHRoaXMuTyk7dGhpcy5qYj0hMX07Cl8ubS5NPWZ1bmN0aW9uKCl7dGhpcy5qYiYmdGhpcy5zYSgpO3RoaXMuTyYmKHRoaXMuTy5kaXNwb3NlKCksZGVsZXRlIHRoaXMuTyk7VHUodGhpcyxmdW5jdGlvbihhKXthLmRpc3Bvc2UoKX0pOyF0aGlzLndhJiZ0aGlzLkMmJl8uQWQodGhpcy5DKTt0aGlzLks9dGhpcy5DPXRoaXMuUj10aGlzLkY9bnVsbDt4bi5lYS5NLmNhbGwodGhpcyl9O3ZhciBTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuUmEoKSsiLiIrYn0sVHU9ZnVuY3Rpb24oYSxiKXthLkYmJmEuRi5mb3JFYWNoKGIsdm9pZCAwKX07CnhuLnByb3RvdHlwZS5pZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W107dGhpcy5GJiZ0aGlzLkYubGVuZ3RoIT0wOyl7dmFyIGM9YixkPWMucHVzaCxlPXRoaXMuRj90aGlzLkZbMF18fG51bGw6bnVsbCxmPWE7aWYoZSl7dmFyIGc9dHlwZW9mIGU9PT0ic3RyaW5nIj9lOmUuUmEoKTt0aGlzLlImJmc/KGU9dGhpcy5SLGU9KGUhPT1udWxsJiZnIGluIGU/ZVtnXTp2b2lkIDApfHxudWxsKTplPW51bGw7aWYoZyYmZSl7dmFyIGg9dGhpcy5SO2cgaW4gaCYmZGVsZXRlIGhbZ107Xy52YSh0aGlzLkYsZSk7ZiYmKGUuc2EoKSxlLkMmJl8uQWQoZS5DKSk7Zj1lO2lmKGY9PW51bGwpdGhyb3cgRXJyb3IoIkJhIik7Zi5LPW51bGw7eG4uZWEubmQuY2FsbChmLG51bGwpfX1pZighZSl0aHJvdyBFcnJvcigiRmEiKTtkLmNhbGwoYyxlKX1yZXR1cm4gYn07dmFyIFV1PWZ1bmN0aW9uKCl7eG4uY2FsbCh0aGlzKX07Xy5CKFV1LHhuKTtVdS5wcm90b3R5cGUuUz1mdW5jdGlvbigpe3RoaXMuT2Eoa20oUnUpKX07VXUucHJvdG90eXBlLk9hPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfTtVdS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe050KHRoaXMuSCgpLCJWSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdjIik7TnQodGhpcy5IKCkuZmlyc3RDaGlsZCwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08tdGk2aEdjIil9O3ZhciBWdT1mdW5jdGlvbihhKXtPdChhLkgoKSwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtd09ITXlmLXRpNmhHYyIpO090KGEuSCgpLmZpcnN0Q2hpbGQsIlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHYyIpfTt2YXIgV3U9ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IFV1O3RoaXMuZy5TKCk7dGhpcy5nLmthKCk7dGhpcy5oPTB9O1d1LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuaD0wO1Z1KHRoaXMuZyl9O3ZhciBYdT1XcShjciksWXU9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt0aGlzLmw9YTt0aGlzLmc9Yjt0aGlzLkM9W107dGhpcy5GPW51bGw7dGhpcy5vPWM7dGhpcy5oPWQ7dGhpcy5qPWU7dGhpcy5xYT1mO3RoaXMuTz1nO3RoaXMuRD10aGlzLkE9bnVsbDt0aGlzLkI9aHx8bnVsbDt0aGlzLlc9dGhpcy5JPSExO3RoaXMuRz17fTt0aGlzLkw9WHU7dGhpcy5LPTB9LFp1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEubGVuZ3RoO2MrKylzdChhW2NdKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3JldHVybiBiLmFkZChkKX0pO3JldHVybiBifTsKWXUucHJvdG90eXBlLnRyYWNrVmlzaWJpbGl0eT1mdW5jdGlvbihhKXt0aGlzLkE9bmV3IE51KCIyMDBweCIsKDAsXy55KSh0aGlzLlIsdGhpcyxhKSk7dGhpcy5BLnRyYWNrKGR1KFp1KFtdLmNvbmNhdCh0aGlzLmcsdGhpcy5DKSkpKTt0aGlzLkQ9bmV3IE51KCIwcHgiLCgwLF8ueSkodGhpcy5QLHRoaXMpKTt0aGlzLkQudHJhY2soZHUoWnUoW10uY29uY2F0KHRoaXMuZyx0aGlzLkMpKSkpfTtZdS5wcm90b3R5cGUuUj1mdW5jdGlvbihhKXt0aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpO2EoKX07WXUucHJvdG90eXBlLlA9ZnVuY3Rpb24oKXt0aGlzLkk9ITA7JHUodGhpcyk7aWYoIXRoaXMuVyYmdGhpcy5CKXt2YXIgYT10aGlzLkI7YS5oKys9PTAmJmEuZy5zaG93KCl9fTt2YXIgJHU9ZnVuY3Rpb24oYSl7YS5EJiYoYS5ELmcuZGlzY29ubmVjdCgpLGEuRD1udWxsKX07Cll1LnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7aWYodGhpcy5JJiYhdGhpcy5XJiZ0aGlzLkIpe3ZhciBhPXRoaXMuQjstLWEuaD09MCYmVnUoYS5nKX10aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpOyR1KHRoaXMpO2F2KHRoaXMpfTt2YXIgSnU9ZnVuY3Rpb24oYSxiLGMpe2M/KGEuZy5wdXNoKGIpLGEuR1tiLm1hKCldPSEwKTphLkMucHVzaChiKX07WXUucHJvdG90eXBlLmxiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5sZW5ndGgrdGhpcy5DLmxlbmd0aH07dmFyIGJ2PWZ1bmN0aW9uKGEpe2lmKGEubC5sZW5ndGg9PTApe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmcubGVuZ3RoOysrYyliLnB1c2goYS5nW2NdLm1hKCkpO2EubC5wdXNoKG5ldyBmdShiLCExKSl9fTsKWXUucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7ZCsrO2Q9PWMmJmUoKX1idih0aGlzKTtmb3IodmFyIGM9MCxkPTAsZT1mdW5jdGlvbigpe30sZj10aGlzLm8sZz10aGlzLmgsaD10aGlzLmosaz0wO2s8dGhpcy5sLmxlbmd0aDsrK2spZ3UodGhpcy5sW2tdLGZ1bmN0aW9uKGwsbixxKXtyZXR1cm4gTXUoZixfLlpqKGwsYiksbixxfHxnLGgpfSkmJmMrKztjIT0wJiYoZT1HdChhKSk7cmV0dXJuIGN9O3ZhciBhdj1mdW5jdGlvbihhKXtpZihhLmcubGVuZ3RoPjApe2lmKGEuZy5sZW5ndGg9PTEmJmEubC5sZW5ndGg+MSl7dmFyIGI9MTt2YXIgYz1hLmwubGVuZ3RofWVsc2UgYj1jPWEuZy5sZW5ndGg7dmFyIGQ9YS5nLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5EfSkucmVkdWNlKGZ1bmN0aW9uKGUsZil7cmV0dXJuIGUrZn0pO2hyKGEuTCx7bGI6YixNZjpjLGdnOmQsTGY6YS5LfSl9fTt2YXIgY3Y9e2FtOiJOb3RvIFNhbnMgRXRoaW9waWMiLGJlcjoiTm90byBTYW5zIFRpZmluYWdoIiwiYm0tTmtvbyI6Ik5vdG8gU2FucyBOS28iLGJuOiJMb2hpdCBCZW5nYWxpIixibzoiTm90byBTZXJpZiBUaWJldGFuIixkdjoiTm90byBTYW5zIFRoYWFuYSIsZHo6Ik5vdG8gU2VyaWYgVGliZXRhbiIsaXU6Ik5vdG8gU2FucyBDYW5hZGlhbiBBYm9yaWdpbmFsIixrbToiTm9rb3JhIixsbzoiRGh5YW5hIixtbDoiTm90byBTYW5zIE1hbGF5YWxhbSIsIm1uaS1NdGVpIjoiTm90byBTYW5zIE1lZXRlaSBNYXllayIsbXk6Ik5vdG8gU2FucyBNeWFubWFyIiwicGEtQXJhYiI6Ik5vdG8gTmFzdGFsaXEgVXJkdSIscHM6Ik5vdG8gTmFza2ggQXJhYmljIixzYXQ6Ik5vdG8gU2FucyBPbCBDaGlraSIsc2Q6Ik5vdG8gTmFza2ggQXJhYmljIixzaToiTm90byBTYW5zIFNpbmhhbGEiLHRhOiJMb2hpdCBUYW1pbCIseXVlOiJDaG9jb2xhdGUgQ2xhc3NpY2FsIFNhbnMifSxkdj17fSxldj0oZHZbIkNob2NvbGF0ZSBDbGFzc2ljYWwgU2FucyJdPQoiL2NzczI/ZmFtaWx5PUNob2NvbGF0ZStDbGFzc2ljYWwrU2FucyIsZHYuRGh5YW5hPSIvY3NzP2ZhbWlseT1EaHlhbmEiLGR2WyJMb2hpdCBCZW5nYWxpIl09Ii9jc3M/ZmFtaWx5PUxvaGl0K0JlbmdhbGkiLGR2WyJMb2hpdCBUYW1pbCJdPSIvY3NzP2ZhbWlseT1Mb2hpdCtUYW1pbCIsZHYuTm9rb3JhPSIvY3NzP2ZhbWlseT1Ob2tvcmEiLGR2WyJOb3RvIE5hc2toIEFyYWJpYyJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc2toYXJhYmljLmNzcyIsZHZbIk5vdG8gTmFzdGFsaXEgVXJkdSJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc3RhbGlxdXJkdS5jc3MiLGR2WyJOb3RvIFNhbnMgQ2FuYWRpYW4gQWJvcmlnaW5hbCJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNjYW5hZGlhbmFib3JpZ2luYWwuY3NzIixkdlsiTm90byBTYW5zIEV0aGlvcGljIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc2V0aGlvcGljLmNzcyIsZHZbIk5vdG8gU2FucyBNYWxheWFsYW0iXT0iL2Vhcmx5YWNjZXNzL25vdG9zYW5zbWFsYXlhbGFtLmNzcyIsCmR2WyJOb3RvIFNhbnMgTWVldGVpIE1heWVrIl09Ii9jc3M/ZmFtaWx5PU5vdG8rU2FucytNZWV0ZWkrTWF5ZWsiLGR2WyJOb3RvIFNhbnMgTXlhbm1hciJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNteWFubWFyLmNzcyIsZHZbIk5vdG8gU2FucyBOS28iXT0iL2Nzcz9mYW1pbHk9Tm90bytTYW5zK05LbyIsZHZbIk5vdG8gU2FucyBPbCBDaGlraSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNvbGNoaWtpLmNzcyIsZHZbIk5vdG8gU2FucyBTaW5oYWxhIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3NpbmhhbGEuY3NzIixkdlsiTm90byBTYW5zIFRoYWFuYSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnN0aGFhbmEuY3NzIixkdlsiTm90byBTYW5zIFRpZmluYWdoIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3RpZmluYWdoLmNzcyIsZHZbIk5vdG8gU2VyaWYgVGliZXRhbiJdPSIvY3NzP2ZhbWlseT1Ob3RvK1NlcmlmK1RpYmV0YW4iLGR2KSxmdj1mdW5jdGlvbigpe3RoaXMuZz1bXX07CmZ2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPV8uQyh0aGlzLmcpLGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWIudmFsdWUucmVtb3ZlKCk7dGhpcy5nPVtdfTt2YXIgZ3Y9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9W107dGhpcy5sPVtdO3RoaXMuaD1hO3RoaXMuaj1ifTtfLkIoZ3YsXy51KTtndi5wcm90b3R5cGUubz1mdW5jdGlvbihhKXt2YXIgYj1fLkFjKGEuaHJlZik7Yi5pbmRleE9mKCJqYXZhc2NyaXB0OiIpPT0wfHxiLmluZGV4T2YoIiMiKT49MHx8KHRoaXMubC5wdXNoKGEuaHJlZiksdGhpcy5nLnB1c2goYSksYS5ocmVmPWIrIiNnb29ndHJhbnMvIit0aGlzLmgrIi8iK3RoaXMuail9O2d2LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5yZXN0b3JlKCl9O2d2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxlbmd0aCl7Zm9yKHZhciBhPTA7YTx0aGlzLmcubGVuZ3RoOysrYSl0aGlzLmdbYV0uaHJlZj10aGlzLmxbYV07dGhpcy5nPVtdO3RoaXMubD1bXX19O3ZhciBodj1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLnhmLnRlc3QoYik/InRyYW5zbGF0ZWQtcnRsIjoidHJhbnNsYXRlZC1sdHIiO2E9W10uY29uY2F0KHRoaXMuZyk7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil5byhhW2JdKSYmTnQoYVtiXSx0aGlzLmgpfTtfLkIoaHYsXy51KTtodi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpfTtodi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe2Zvcih2YXIgYT1bXS5jb25jYXQodGhpcy5nKSxiPTA7YjxhLmxlbmd0aDsrK2IpeW8oYVtiXSkmJk90KGFbYl0sdGhpcy5oKX07dmFyIGl2PWZ1bmN0aW9uKGEsYixjKXt0aGlzLmc9M0UzO3RoaXMuaD1bXTt0aGlzLmo9bnVsbDt0aGlzLm89YTt0aGlzLkViPWI7dGhpcy5GYj1jO3RoaXMubD1hJiZ0eXBlb2YgYS5sPT09ImZ1bmN0aW9uIj9hLmwoKXx8MThFMzoxOEUzfSxrdj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxrLGwsbixxO3JldHVybiBfLlZpKGZ1bmN0aW9uKHApe3N3aXRjaChwLmcpe2Nhc2UgMTpjPWxvKGIpO2Q9W107aWYoYy5sZW5ndGg+YS5nKWZvcihlPW5ldyBodShjLCExKSxmPSIiO2Y9a3UoZSxhLmcpOylkLnB1c2goZiksYS5nPGEubCYmKGEuZyo9NixhLmc+YS5sJiYoYS5nPWEubCkpO2Vsc2UgZC5wdXNoKGMpO2c9W107aD1fLkMoZCk7az1oLm5leHQoKTtjYXNlIDI6aWYoay5kb25lKXtwLnhhKDQpO2JyZWFrfWw9ay52YWx1ZTtuPWc7cT1uLnB1c2g7cmV0dXJuIHAuaChqdihhLGwpLDUpO2Nhc2UgNTpxLmNhbGwobixwLmopO2s9aC5uZXh0KCk7cC54YSgyKTticmVhaztjYXNlIDQ6cmV0dXJuIHAucmV0dXJuKHBvKGcuam9pbigiIikpKX19KX0sCmp2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGMsZCl7YS5oLnB1c2goe3RleHQ6YixyZXNvbHZlOmMscmVqZWN0OmR9KTthLmp8fChhLmo9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXthLmZsdXNoKCl9LDUwKSl9KX07aXYucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5qPW51bGw7aWYodGhpcy5oLmxlbmd0aCE9PTApe3ZhciBhPXRoaXMuaDt0aGlzLmg9W107dmFyIGI9bmV3IHl1KHRoaXMubyk7YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyYzp2b2lkIDB9LGM9YS5uZXh0KCkpZC5yYz1jLnZhbHVlLGM9QnUoW2QucmMudGV4dF0pLk5hKHRoaXMuRWIpLm5hKHRoaXMuRmIpLHp1KGIsYyxmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpeyhmPXZuKGYpWzBdKSYmZlsxXT09PTIwMD9lLnJjLnJlc29sdmUoZlswXS50b1N0cmluZygpKTplLnJjLnJlamVjdCgiVHJhbnNsYXRpb24gZmFpbGVkIil9fShkKSkuY2F0Y2goZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2UucmMucmVqZWN0KGYpfX0oZCkpfX07dmFyIGx2PWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLGwpe18udS5jYWxsKHRoaXMpO3RoaXMuQz1hO3RoaXMuRmM9Yjt0aGlzLmxmPW5ldyBmdjt0aGlzLmZiPWN8fG51bGw7dGhpcy5JYT1sfHxudWxsO3RoaXMuSz1udWxsO3RoaXMuSWQ9ISFkO3RoaXMuamk9ZXx8InRyYW5zcGFyZW50Ijt0aGlzLmlpPSEhZjt0aGlzLkY9W107dGhpcy55Zj10aGlzLkk9dGhpcy5nPSExO3RoaXMubz1ofHxuZXcgdHQ7dGhpcy5EaT0haDt0aGlzLndhPWd8fHh0LmcoKTt0aGlzLlVlPW5ldyBjdTt0aGlzLkhiPXRoaXMuZ2I9dGhpcy5SPSExO3RoaXMuZGY9dGhpcy5BPS41O3RoaXMuamY9LjAxO3RoaXMuRD1uZXcgenQodGhpcy5BKTt0aGlzLmxhPSh0aGlzLkI9dGhpcy5yYT0hIWspP25ldyBNdXRhdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5RaCx0aGlzKSk6bnVsbDt0aGlzLkw9dGhpcy5YZT10aGlzLmo9dGhpcy5oPW51bGw7dGhpcy5QPTA7dGhpcy5PPW5ldyBNYXA7Xy54KHdpbmRvdywiYmx1ciIsCnRoaXMudGYsITAsdGhpcyk7Xy54KHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O18uQihsdixfLnUpO18ubT1sdi5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaD90aGlzLmg6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo/dGhpcy5qOiIifTtfLm0uZ2g9ZnVuY3Rpb24oYSl7dGhpcy5vaS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Xy5tLmFmPWZ1bmN0aW9uKGEpe3RoaXMucGkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMubCYmdGhpcy5sKDAsITEsMSl9O18ubS5oaD1mdW5jdGlvbihhKXt0aGlzLnJpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLmwmJnRoaXMubCgwLCExLDEpfTtfLm0uaWg9ZnVuY3Rpb24oYSl7dGhpcy50aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Cl8ubS50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkfHxhIT10aGlzLmh8fGIhPXRoaXMuailtdih0aGlzKSx0aGlzLkRpJiYodGhpcy5vPW5ldyB0dCk7ZWxzZSBpZih0aGlzLmcpcmV0dXJuO3RoaXMubD1jO3RoaXMuQWk9ZTt0aGlzLkI9dGhpcy5yYTt0aGlzLmxhJiZ0aGlzLmxhLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxjaGlsZExpc3Q6ITAsY2hhcmFjdGVyRGF0YTohMCxzdWJ0cmVlOiEwfSk7dGhpcy5nPSEwO3RoaXMuaD1hO3RoaXMuaj1iO3RoaXMuSWQmJih0aGlzLks9bmV3IGd2KGEsYikpO3RoaXMuSGI9dGhpcy5oPT0iYXV0byI7dGhpcy5mYiYmKGM9dGhpcy5mYixhJiYoYy5EPWEpLGImJihjLkY9YikpO3RoaXMuWGI9bmV3IGh2KHRoaXMuQyx0aGlzLmopO2IgaW4gY3YmJihhPXRoaXMubGYsYiBpbiBjdiYmKGI9Y3ZbYl0sYz0iQGltcG9ydCB1cmwoIitXbygiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSIpLnJlc29sdmUoV28oZXZbYl0pKS50b1N0cmluZygpKwoiKTsiLGM9eW4oYyksYS5nLnB1c2goYyksYj15bignYm9keSB7Zm9udC1mYW1pbHk6IicrYisnIiwiR29vZ2xlIFNhbnMiLCJOb3RvIFNhbnMiLHNhbnMtc2VyaWYgIWltcG9ydGFudH0nKSxhLmcucHVzaChiKSkpO18ub2koXy5aaShwcSw5KSk/KHRoaXMuWGU9bmV3IGl2KHRoaXMuRmMsdGhpcy5oLHRoaXMuaiksdGhpcy5QPTAsbnYodGhpcyksdGhpcy5QPT09MCYmdGhpcy5sJiZ0aGlzLmwoMTAwLCEwKSk6dGhpcy5HPW92KHRoaXMpOyhiPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGwpJiZwdihiLHRoaXMuail9Owp2YXIgb3Y9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJ0KGEsYS53YSk7Q3QoYixhLnNmKTtFdChiLCgwLF8ueSkoYS5naCxhKSk7RnQoYixuZXcgQ3UoYS5GYyxbXS5jb25jYXQoYS5DKSxhLndhLGEubCxhLkIsYS5BaSkpO3JldHVybiBifSxudj1mdW5jdGlvbihhKXthLkw9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGIpe2IuZm9yRWFjaChmdW5jdGlvbihjKXtpZihjLmlzSW50ZXJzZWN0aW5nKXt2YXIgZD1jLmJvdW5kaW5nQ2xpZW50UmVjdDtkJiZkLndpZHRoPT09MCYmZC5oZWlnaHQ9PT0wfHwocXYoYSxjLnRhcmdldCksYS5MLnVub2JzZXJ2ZShjLnRhcmdldCkpfX0pfSk7W10uY29uY2F0KGEuQykuZm9yRWFjaChmdW5jdGlvbihiKXtydihhLGIpfSl9LHJ2PWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITA6YztpZighUXR8fCEkdChiKSl7YS5FZj09PXZvaWQgMCYmKGEuRWY9ISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9Imdvb2dsZSJdW2NvbnRlbnQ9Im5vdHJhbnNsYXRlIl0sIG1ldGFbbmFtZT0icm9ib3RzIl1bY29udGVudD0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJnb29nbGUiXVt2YWx1ZT0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJ0cmFuc2xhdGUiXVtjb250ZW50PSJubyJdJykpOwppZihhLkVmKWM9ITE7ZWxzZSBpZihiLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIjtRdCYmYnUmJihkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIik7ZD1iLmNsYXNzTGlzdCYmYi5jbGFzc0xpc3QuY29udGFpbnMoZCl8fGIuZ2V0QXR0cmlidXRlJiZiLmdldEF0dHJpYnV0ZSgidHJhbnNsYXRlIik9PT0ibm8iO2U9Yi5jbGFzc0xpc3QmJmIuY2xhc3NMaXN0LmNvbnRhaW5zKGUpfHxiLmdldEF0dHJpYnV0ZSYmYi5nZXRBdHRyaWJ1dGUoInRyYW5zbGF0ZSIpPT09InllcyI7Yz1kPyExOmU/ITA6Y31pZihiLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpYyYmXy5BYyhiLnRleHRDb250ZW50KSYmYi5wYXJlbnRFbGVtZW50JiZhLkwub2JzZXJ2ZShiLnBhcmVudEVsZW1lbnQpO2Vsc2UgaWYoYi5jaGlsZE5vZGVzKWZvcihlPTA7ZTxiLmNoaWxkTm9kZXMubGVuZ3RoO2UrKylydihhLGIuY2hpbGROb2Rlc1tlXSwKYyl9fSxxdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz17fSxkPTA7ZDxiLmNoaWxkTm9kZXMubGVuZ3RoO2M9e2tiOnZvaWQgMH0sZCsrKWMua2I9Yi5jaGlsZE5vZGVzW2RdLGMua2Iubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmXy5BYyhjLmtiLnRleHRDb250ZW50KSYmKGEuUCsrLGEuTy5oYXMoYy5rYil8fGEuTy5zZXQoYy5rYixjLmtiLnRleHRDb250ZW50KSxrdihhLlhlLGMua2IudGV4dENvbnRlbnQpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2Uua2IudGV4dENvbnRlbnQ9Zn19KGMpKS5jYXRjaChmdW5jdGlvbigpe30pLmZpbmFsbHkoZnVuY3Rpb24oKXthLlAtLTthLlA9PT0wJiZhLmwmJmEubCgxMDAsITApfSkpfTtsdi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe212KHRoaXMpO3RoaXMuVWUucmVzdG9yZSgpO3ZhciBhPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGw7YSYmcHYoYSx0aGlzLkphKCkpfTsKbHYucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKTtfLlVkKHdpbmRvdywiYmx1ciIsdGhpcy50ZiwhMCx0aGlzKTtfLlVkKHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O3ZhciBzdj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT13cihhLm8uaCksZj1uZXcgQnQoYSxiLkQpO2IuQy5wdXNoKGYpO0R0KGYsYi5JKTtGdShiLGUpO0N0KGYsZHx8YS5wZik7Yj1jfHxuZXcgWXUoW10sW10sYixhLkphKCksYS5vYSgpLGEueWYsYS5JLGEuSWEpO0V0KGYsYS5VaCxhKTthLkImJkR0KGYsYi5kb25lLGIpO0Z0KGYsYil9O18ubT1sdi5wcm90b3R5cGU7Xy5tLlVoPWZ1bmN0aW9uKGEsYixjKXtjLmRvbmUoKTt0aGlzLkk/dGhpcy5paChhKTp0aGlzLmhoKGEpO2Muby5JKCl9O18ubS51Zj1mdW5jdGlvbigpe3RoaXMuUj0hMTt0aGlzLlQ9MDt5dCh0aGlzLkQsdGhpcy5BKX07Cl8ubS50Zj1mdW5jdGlvbihhKXthLnRhcmdldD09d2luZG93JiYodGhpcy5SPSEwLHRoaXMuVD0wLHl0KHRoaXMuRCwuMDEpKX07Xy5tLlFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZyYmdGhpcy5CKWlmKF8ub2koXy5aaShwcSw5KSkpZm9yKHZhciBiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBjPWFbYl0uYWRkZWROb2RlcztpZihjKWZvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXJ2KHRoaXMsY1tkXSl9ZWxzZXtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0udGFyZ2V0JiZhW2JdLnRhcmdldC5jbGFzc05hbWUmJnR5cGVvZiBhW2JdLnRhcmdldC5jbGFzc05hbWU9PT0ic3RyaW5nIiYmKGFbYl0udGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCJ0cmFuc2xhdGUiKT49MHx8YVtiXS50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoImdvb2ctIik9PTApKXJldHVybjt0aGlzLndhLmFkZCgoMCxfLnkpKHRoaXMuTWksdGhpcykpfX07Cl8ubS5NaT1mdW5jdGlvbigpe3RoaXMuST0hMDt0aGlzLkcmJih0aGlzLkcuc3RvcCgpLHRoaXMuRz1vdih0aGlzKSk7cmV0dXJuITF9O18ubS5zZj1mdW5jdGlvbihhLGIpe0R1KGIsR3QoYSkpO3N2KHRoaXMsYik7cmV0dXJuIHRoaXMuWWh9O18ubS5ZaD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O2lmKCFIdChhKSlyZXR1cm4gSnQ7aWYoIXRoaXMuQilmb3IoYT0wO2E8dGhpcy5GLmxlbmd0aDsrK2Epe3ZhciBjPWIsZD0oMCxfLnkpKHRoaXMuTWUsdGhpcyxiLHRoaXMuRlthXSk7Yy5ELmFkZChkKX1yZXR1cm4gdGhpcy5YaH07Cl8ubS5uZj1mdW5jdGlvbihhLGIpe2lmKHRoaXMuVCYmIXRoaXMuUil7YT0obmV3IERhdGUpLmdldFRpbWUoKS10aGlzLlQ7dmFyIGM9dGhpcy5BO2E8OTAwJiZjPi4wMT9jPU1hdGgubWF4KGMqLjksLjAxKTphPjExMDAmJmM8LjUmJihjPU1hdGgubWluKGMqMS41LC41KSk7dGhpcy5BPWM7dGhpcy5nYj90aGlzLmpmPS4wMTp0aGlzLmRmPXRoaXMuQX10aGlzLkk9dGhpcy5nPSEwO3RoaXMuVD0obmV3IERhdGUpLmdldFRpbWUoKTt0aGlzLkNpIT0oYT1kb2N1bWVudC5ib2R5LmlubmVyVGV4dHx8ZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudHx8ZG9jdW1lbnQuYm9keS5pbm5lckhUTUwpPyh0aGlzLkNpPWEsYT0hMCk6YT0hMTthPyh0aGlzLmdiPSExLHRoaXMuQT10aGlzLmRmLHRoaXMuUnx8eXQodGhpcy5ELHRoaXMuQSksRXUoYixbXS5jb25jYXQodGhpcy5DKSx0aGlzLkQpLGE9bmV3IEJ0KHRoaXMsdGhpcy5EKSxDdChhLHRoaXMuc2YpLEV0KGEsKDAsXy55KSh0aGlzLmFmLHRoaXMpKSwKRnQoYSxiKSx0aGlzLkc9YSk6KHRoaXMuZ2I9ITAsdGhpcy5BPXRoaXMuamYsdGhpcy5SfHx5dCh0aGlzLkQsdGhpcy5BKSxhPW5ldyBCdCh0aGlzLHRoaXMuRCksQ3QoYSx0aGlzLm5mKSxFdChhLCgwLF8ueSkodGhpcy5hZix0aGlzKSksRnQoYSxiKSx0aGlzLkc9YSk7cmV0dXJuIEl0fTtfLm0uWGg9ZnVuY3Rpb24oYSxiKXtpZighdGhpcy5nKXJldHVybiBJdDt0aGlzLkk9dGhpcy5nPSExO3RoaXMuSGI/R3UoYiwhMCk6KEd1KGIpLGIuUChiLmwpKTtpZih0aGlzLmlpKXJldHVybiB0aGlzLm5mO2IuY2xlYXIoKTtyZXR1cm4gSXR9Owp2YXIgdXY9ZnVuY3Rpb24oYSxiLGMpe2E6e3ZhciBkPXR2KGEpLGU9YS5mYixmPWEuamksZz1hLlVlLmc7Yj1HdChiKTtpZighYy5HKXtpZihjLnFhLmxlbmd0aD09MCl7Yy5sPT0wJiZjLnFiPT0wJiZjLkIoMCwhMCk7Yz0hMTticmVhayBhfWMuRz1JdShjLGQsZSxmLGcpfWMucmE9ITA7UnQoYy5HLGMuaixjLmgsYik7Yz0hMH1yZXR1cm4gYz9hLnBmOmEuU2N9LHR2PWZ1bmN0aW9uKGEpe3JldHVybiBhLklkPygwLF8ueSkoYS5LLm8sYS5LKTpmdW5jdGlvbigpe319O18ubT1sdi5wcm90b3R5cGU7Cl8ubS5wZj1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O3ZhciBjPWIubztpZihjLmc9PW51bGwpe2lmKCFjLnJhKXJldHVybiB1dih0aGlzLGEsYi5vKTtpZighSHQoYSkpcmV0dXJuIEp0O2MucmE9ITE7Yy5nPWMuRy5kY3x8bnVsbDt2YXIgZD1jLmc/Yy5nOmMuRz1udWxsO2lmKCFkKXJldHVybiB1dih0aGlzLGEsYi5vKTt0aGlzLkYucHVzaChkKTt2YXIgZT1kLm1hKCk7aWYodGhpcy5vLmhhcyhlLCF0aGlzLkIpfHxiLkdbZV0hPW51bGwmJmIuR1tlXSlyZXR1cm4gZT1jLmcuRCxjLmwrPWUsYy5qLT1lLGMuZz1udWxsLHRoaXMuQiYmSnUoYixkLCExKSx1dih0aGlzLGEsYi5vKTtlPXRoaXMubztkPWQubWEoKTtlLmdbZF09bnVsbH1iLmxiKCk+MCYmeXQodGhpcy5ELC41KTtyZXR1cm4gS3UoYyxiLHdyKHRoaXMuby5oKSk/dGhpcy5TYzp1dih0aGlzLGEsYi5vKX07Cl8ubS5TYz1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmd8fGIubGIoKT09MClyZXR1cm4gSXQ7c3YodGhpcyxiLm8pO3JldHVybiB0aGlzLkI/KGIudHJhY2tWaXNpYmlsaXR5KEd0KGEpKSx0aGlzLlpoKTpiLnRyYW5zbGF0ZShhKT09MD9JdDp0aGlzLnJmfTtfLm0uWmg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5nP0h0KGEpP2IudHJhbnNsYXRlKGEpPT0wP0l0OnRoaXMucmY6SnQ6SXR9OwpfLm0uTWU9ZnVuY3Rpb24oYSxiKXtiLmomJnRoaXMuby5yZW1vdmUoYi5sKTtpZighdGhpcy5nKXJldHVybiExO2lmKHRoaXMuby5oYXMoYi5tYSgpLCExKSl7dmFyIGM9dGhpcy5vO2MuaGFzKGIubCwhMSk/KGIuaD1jLnJlYWQoYi5sKSxiLkw9ITApOihjLnJlbW92ZShiLmwpLGIuaj0hMCk7cXQoYil9ZWxzZSBpZihjPXRoaXMubyxiLmopYy5yZW1vdmUoYi5sKTtlbHNlIGlmKGIuRil7dmFyIGQ9Yi5GLnJlcGxhY2UoLzxhIC9nLCI8c3BhbiAiKS5yZXBsYWNlKC9cL2E+L2csIi9zcGFuPiIpO2IuTD0hMDtkZWxldGUgYi5GO2IuRj1udWxsO2IuaD1bXTt2YXIgZT1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLGY9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTttcChmLCExKTtkPWQuaW5kZXhPZigiPGk+Iik+PTA/ZDoiPGI+IitkKyI8L2I+IjtkPV8uS2IoZCk7ZD1fLm1sKGQpO2Yubm9kZVR5cGU9PT0xJiZNbChmKTtmLmlubmVySFRNTD1fLmtqKGQpOwplLmJvZHkuYXBwZW5kQ2hpbGQoZik7ZT1bXTtmb3IoZD1mLmZpcnN0Q2hpbGQ7ZDtkPWQubmV4dFNpYmxpbmcpaWYoZC50YWdOYW1lPT0iSSIpdmFyIGc9b3QoYixFbyhkKSxkLmlubmVySFRNTCk7ZWxzZSBpZihkLnRhZ05hbWU9PSJCIil7Z3x8KGc9b3QoYiwiIiwiIikpO2lmKGIuZy5sZW5ndGg9PTEpdXQoZy5VLGUsMCxkKTtlbHNle3ZhciBoPWU7dmFyIGs9ZDt2YXIgbD1iLmc7Zz1nLlU7Zm9yKHZhciBuPVtdLHE9ay5maXJzdENoaWxkO3E7cT1wKXt2YXIgcD1xLm5leHRTaWJsaW5nO3Z0KHEpfWZvcihwPWsuZmlyc3RDaGlsZDtwO3A9cC5uZXh0U2libGluZylwLmF0dHJpYnV0ZXMmJnAuYXR0cmlidXRlcy5pPyhrPXBhcnNlSW50KHAuYXR0cmlidXRlcy5pLm5vZGVWYWx1ZSwxMCksIWlzTmFOKGspJiZrPj0wJiZrPGwubGVuZ3RoJiYobFtrXS5yZCYmbltrXT9uW2tdLlorPXAuZmlyc3RDaGlsZCYmcC5maXJzdENoaWxkLm5vZGVUeXBlPT0zP3AuZmlyc3RDaGlsZC5ub2RlVmFsdWU6CkVvKHApOm5ba109dXQoZyxoLGsscCkpKTpwLm5vZGVUeXBlPT0zJiZnLnB1c2goe1g6LTEsWjpwbyhwLm5vZGVWYWx1ZSl9KTtnIT1udWxsJiZnLmxlbmd0aD4wJiZnWzBdLlg9PS0xJiYoZy5sZW5ndGg9PTE/Z1swXS5YPTA6KGdbMV0uWj1nWzBdLlorZ1sxXS5aLGcuc2hpZnQoKSkpfWc9dm9pZCAwfWQ9Yi5oO2ZvcihoPTA7aDxkLmxlbmd0aC0xOysraClsPWRbaF0sZz1rbyhsLlVbbC5VLmxlbmd0aC0xXS5aKSxnPWcuY2hhckNvZGVBdChnLmxlbmd0aC0xKSwxMjI4ODw9ZyYmZzw9MTIzNTF8fDY1MjgwPD1nJiZnPD02NTUxOXx8KGwuVVtsLlUubGVuZ3RoLTFdLlorPSIgIik7Xy5BZChmKTtmb3IoZj0wO2Y8Yi5nLmxlbmd0aDsrK2YpZjxlLmxlbmd0aCYmZjxiLkMubGVuZ3RoJiZlW2ZdIT1udWxsJiYoZD1iLkNbZl0saD1lW2ZdLnN0YXJ0LGghPW51bGwmJihsPWQuc3Vic3RyaW5nKDAsZC5sZW5ndGgtZC5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikubGVuZ3RoKSxsPT0iICImJgoobD0iIiksbCYmKGguWj1sK2guWi5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikpKSxoPWVbZl0uZW5kLGghPW51bGwmJihkPWQuc3Vic3RyaW5nKGtvKGQpLmxlbmd0aCksZD09IiAiJiYoZD0iIiksZCYmKGguWj1rbyhoLlopK2QpKSk7Yi5oLmxlbmd0aCE9MXx8Yi5oWzBdLmhlfHwoYi5oWzBdLmhlPWIubCk7Yy53cml0ZShiLmwsYi5oKTtxdChiKX1iLkl8fCh0aGlzLkhiPSExKTtjPWIuaj8hMDp2b2lkIDA7YS5XKz1iLkQ7YyE9bnVsbCYmKGEubGE9ITApO2I9TWF0aC5taW4oTWF0aC5mbG9vcihhLlcqMTAwL2EubCksMTAwKTtpZihhLkYhPWJ8fGMpYS5GPWIsYS5SPyhhLkIoYS5GLCEwLGMpLGEuUChhLlcpKTphLkIoYS5GLCExLGMpO3JldHVybiExfTsKXy5tLnJmPWZ1bmN0aW9uKGEsYil7aWYoIXRoaXMuZylyZXR1cm4gSXQ7aWYoIUh0KGEpKXJldHVybiBKdDtpZihiLmxiKCk+MSl7YT1iLmxbMF07dmFyIGM9Yi5nO2lmKGEuanx8Yy5sZW5ndGg9PTB8fGEuZz09bnVsbHx8YS5nLmxlbmd0aD09MClhPW51bGw7ZWxzZXtmb3IodmFyIGQ9W10sZT1bXSxmPTA7ZjxhLmcubGVuZ3RoJiZmPGMubGVuZ3RoOysrZil7dmFyIGc9YS5nW2ZdO2cmJmdbMF0mJmdbMV09PTIwMHx8KGUucHVzaChjW2ZdKSxkLnB1c2goYS5vW2ZdKSl9YT1lLmxlbmd0aD4wP3tOaTpuZXcgZnUoZCwhMCksT2k6ZX06bnVsbH1hPWE/bmV3IFl1KFthLk5pXSxhLk9pLGIubyxiLmgsYi5qLGIucWEsYi5PLGIuQik6bnVsbDthIT1udWxsJiZzdih0aGlzLGIubyxhLHRoaXMuU2MpfWVsc2V7YT0hMTtmb3IoYz0wO2M8Yi5sLmxlbmd0aDsrK2MpZD1iLmxbY10sZC5qfHxkLmg9PTIwMCYmZC5nJiZkLmdbMF0/ZD1kLmw9ITE6KGQuaj0hMCxkPWQubD0hMCksYT1kfHxhO2lmKGEpcmV0dXJuIHRoaXMuU2N9ZD0KdGhpcy5KYSgpO2E9dGhpcy5vYSgpO2lmKGIuZy5sZW5ndGg+MSlpZihjPWIubFswXSxlPWQ9PSJhdXRvIixkPWIuZyxjLmg9PTIwMClmb3IoZj0wO2Y8Yy5nLmxlbmd0aCYmZjxkLmxlbmd0aDsrK2YpaWYoKGc9Yy5nW2ZdKSYmZ1sxXT09MjAwKXt2YXIgaD1nWzJdLGs9ZFtmXSxsPWssbj1oIT1udWxsJiZoPT1hO2wuRj1nWzBdO24hPT12b2lkIDAmJihsLks9bik7ay5JPWUmJmg9PW51bGx9ZWxzZSBkW2ZdLmo9ITA7ZWxzZSBmb3IoYT0wO2E8ZC5sZW5ndGg7KythKWRbYV0uaj0hMDtlbHNle2M9bmV3IGV1KGQ9PSJhdXRvIik7Zm9yKGQ9MDtkPGIubC5sZW5ndGg7KytkKWY9Yi5sW2RdLGU9YSxmLmg9PTIwMCYmZi5nJiZmLmdbMF0/KGY9Zi5nWzBdLGMuZy5wdXNoKGZbMF0pLGY9ZlsyXSxjLmg9Yy5oJiZmIT1udWxsJiZmPT1lLGYhPW51bGwmJihjLmw9ITEpKTpjLmo9ITA7Yi5GIT1udWxsJiYoYy5nLnB1c2goYi5GKSxiLkY9bnVsbCk7aWYoYT1iLmdbMF0pZD1jLm1hKCksZT1jLmgsCmEuRj1kLGUhPT12b2lkIDAmJihhLks9ZSksYS5JPWMubCxhLmo9Yy5qfWlmKHRoaXMuQil7YT0oMCxfLnkpKHRoaXMuTWUsdGhpcyk7Zm9yKGM9MDtjPGIuZy5sZW5ndGg7YysrKWEoYi5vLGIuZ1tjXSk7Zm9yKGM9MDtjPGIuQy5sZW5ndGg7YysrKWEoYi5vLGIuQ1tjXSk7JHUoYik7Yi5XPSEwO2IuSSYmYi5CJiYoYj1iLkIsLS1iLmg9PTAmJlZ1KGIuZykpfXJldHVybiBJdH07CnZhciBtdj1mdW5jdGlvbihhKXthLmxhJiZhLmxhLmRpc2Nvbm5lY3QoKTthLklhJiZhLklhLnJlc2V0KCk7YS5nJiYoYS5HJiZhLkcuc3RvcCgpLGEuZz0hMSxhLkk9ITEpO2lmKGEuRi5sZW5ndGgpe2Zvcih2YXIgYj0wO2I8YS5GLmxlbmd0aDsrK2IpYS5GW2JdLmRpc3Bvc2UoKTthLkY9W119YS5LIT1udWxsJiYoYS5LLnJlc3RvcmUoKSxhLks9bnVsbCk7YS5YYiE9bnVsbCYmKGEuWGIucmVzdG9yZSgpLGEuWGI9bnVsbCk7YS5PJiZhLk8uc2l6ZT4wJiYoYS5PLmZvckVhY2goZnVuY3Rpb24oYyxkKXtkLnRleHRDb250ZW50PWN9KSxhLk8uY2xlYXIoKSk7YS5MJiYoYS5MLmRpc2Nvbm5lY3QoKSxhLkw9bnVsbCk7YS5sZi5yZXN0b3JlKCl9LHB2PWZ1bmN0aW9uKGEsYil7YS5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIikmJmEuc2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIsYik7YS5nZXRBdHRyaWJ1dGUoImxhbmciKSYmYS5zZXRBdHRyaWJ1dGUoImxhbmciLGIpfTsKRHIuYXR0YWNoKDMwNDYsbHYucHJvdG90eXBlLHtvaToxLHJpOjIscGk6Myx0aTo0fSk7dmFyIHZ2PVdxKGNyKSx3dj1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayxsLG4pe18udS5jYWxsKHRoaXMpO3RoaXMuTz1ifHxudWxsO3RoaXMuSz0hIWM7dGhpcy5HPWR8fCJ0cmFuc3BhcmVudCI7dGhpcy5EPWZ8fCIiO2I9Z3x8e2ZldGNoU3RhcnQ6MCxTazowfTthPWIuZmV0Y2hTdGFydHx8MDtiPWIuZmV0Y2hFbmR8fDA7dGhpcy5GPWEmJmI/Yi1hOjA7dGhpcy5SPURhdGUubm93KCktcnE7dGhpcy5BPSExO3RoaXMuZz1uZXcgUnIoZXx8IiIsdm9pZCAwLGYsbik7dGhpcy5JPW5ldyB6dCgxKTt0aGlzLkI9bmV3IHR0O3RoaXMubD1udWxsO3RoaXMuQz0hMDt0aGlzLm89Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsO3RoaXMuTD1ofHxudWxsO2U9bmV3IGpyO2Y9bmV3IGxyKHRoaXMuZy5pbml0aWFsaXplLmJpbmQodGhpcy5nLGUucmVnaXN0ZXIoKSkpO3RoaXMuemM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy56Yyx0aGlzKSkpO3RoaXMuUGM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5QYywKdGhpcykpKTt0aGlzLnFkPW1yKGYsZS5kZWxheSgoMCxfLnkpKHRoaXMucWQsdGhpcykpKTt0aGlzLnJlc3RvcmU9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5yZXN0b3JlLHRoaXMpKSk7Zi5maW5pc2goKTtlLmZpbmlzaCgpO3BlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiZwZXJmb3JtYW5jZS5tYXJrKFJxLHZvaWQgMCk7ZT1kcih2diwxKTtmPW5ldyBRbjtmPV8uVGooZiwxLHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO2E6e2lmKHBlcmZvcm1hbmNlJiYoaD1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIiksaC5sZW5ndGg9PTEpKXtoPWhbMF07YnJlYWsgYX1oPW51bGx9aCYmKG49bmV3IEZtLG49Xy5UaihuLDEsIiIpLGE9R20oaC5zdGFydFRpbWUpLG49Xy5MKG4sMixhKSxhPUhtKGguZHVyYXRpb24pLG49Xy5MKG4sMyxhKSxhPW5ldyBQbixhPV8uVGooYSwxLGguaW5pdGlhdG9yVHlwZSksYT1fLlRqKGEsMixoLm5leHRIb3BQcm90b2NvbCksCmI9R20oaC53b3JrZXJTdGFydHx8MCksYT1fLkwoYSwzLGIpLGI9R20oaC5yZWRpcmVjdFN0YXJ0KSxhPV8uTChhLDQsYiksYj1HbShoLnJlZGlyZWN0U3RhcnQpLGE9Xy5MKGEsNCxiKSxiPUdtKGgucmVkaXJlY3RFbmQpLGE9Xy5MKGEsNSxiKSxiPUdtKGguZmV0Y2hTdGFydCksYT1fLkwoYSw2LGIpLGI9R20oaC5kb21haW5Mb29rdXBTdGFydCksYT1fLkwoYSw3LGIpLGI9R20oaC5kb21haW5Mb29rdXBFbmQpLGE9Xy5MKGEsOCxiKSxiPUdtKGguY29ubmVjdFN0YXJ0KSxhPV8uTChhLDksYiksYj1HbShoLmNvbm5lY3RFbmQpLGE9Xy5MKGEsMTAsYiksYj1HbShoLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksYT1fLkwoYSwxMSxiKSxiPUdtKGgucmVzcG9uc2VTdGFydCksYT1fLkwoYSwxMyxiKSxiPUdtKGgucmVzcG9uc2VFbmQpLGE9Xy5MKGEsMTQsYiksYT1fLmprKGEsMTUsaC50cmFuc2ZlclNpemUpLGE9Xy5qayhhLDE2LGguZW5jb2RlZEJvZHlTaXplKSxhPV8uamsoYSwxNyxoLmRlY29kZWRCb2R5U2l6ZSksCm49Sm0obiw2LGEpLF8uTChmLDMsbiksbj1ObShScSkpJiYoaD1PbShVcSx7c3RhcnQ6aC5yZXNwb25zZUVuZCxlbmQ6bi5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSkpJiYocGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMoVXEpLGg9S20oaCksXy5MKGYsNCxoKSxoPVVuKGUpLF8uTChoLDQsZikpO2ZyKGUsMSl9O18uRyh3dixfLnUpO0RyLmF0dGFjaCgxNDA5Nyx3di5wcm90b3R5cGUse2JlOmZ1bmN0aW9uKCl7UW0odGhpcy5nLlRhKCk/InRlX2FmYXMiOiJ0ZV9hZmF1Iil9fSk7Xy5tPXd2LnByb3RvdHlwZTtfLm0uUGk9ZnVuY3Rpb24oYSl7dGhpcy5vPWF9O18ubS5TYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuVGEoKX07Cl8ubS56Yz1mdW5jdGlvbihhLGIpe3RoaXMuZy5TYSgpP3RoaXMuZy5vLnNlbmQoe2Rpc3BsYXlfbGFuZ3VhZ2U6YixrZXk6IkFJemFTeUJXRGowUUp2Vkl4OFhPaFJlZ1hYNV9TclJXeGhUNUhzNCJ9LGEpLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGEoYyl9KToodGhpcy5iZSgpLGEobnVsbCkpfTsKXy5tLlBjPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nO2lmKGIpYShiKTtlbHNlIGlmKHRoaXMuZy5TYSgpKXtiPW5ldyBhcyhkb2N1bWVudC5ib2R5LCExLCExLDEsMSk7Zm9yKHZhciBjPVtdLGQ9MCxlPXRoaXMuZy5oLkhmO2MubGVuZ3RoK2Q8ZTspe3ZhciBmPWIubmV4dCgpO2lmKGYuZG9uZSlicmVhaztmPWYudmFsdWU7Yi5nPT0xJiYkdChmKT9icyhiKTpmLm5vZGVUeXBlPT0zJiYoZj1fLkFjKGpvKGYubm9kZVZhbHVlKSkpJiYoYy5wdXNoKGYpLGQrPWYubGVuZ3RoKX1Tcih0aGlzLmcsYSxjLmpvaW4oIiAiKSkudGhlbihmdW5jdGlvbihnKXthKGcpfSxmdW5jdGlvbihnKXtyZXR1cm4gYShudWxsLGcpfSl9ZWxzZSB0aGlzLmJlKCksYShudWxsLCEwKX07Cl8ubS5xZD1mdW5jdGlvbihhLGIsYyxkLGUpe3Z2LkViPWE7dnYuRmI9Yjt2YXIgZj1kcih2diwyKTtlcih2dixmKTt2YXIgZz1ObShScSk7aWYoZyl7dmFyIGg9Tm0oU3EpO2lmKGgpe3ZhciBrPU9tKFZxLHtzdGFydDpnLnN0YXJ0VGltZSxlbmQ6aC5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSk7ayYmKGc9VW4oZiksaD1uZXcgU24saz1LbShrKSxoPV8uTChoLDEsayksXy5MKGcsNSxoKSxwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhWcSkpfX1mcihmLDIpO2Y9e2RldGFpbDp7c291cmNlTGFuZ3VhZ2U6YSx0YXJnZXRMYW5ndWFnZTpifX07cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoU3EsZik7Zj1EYXRlLm5vdygpO0NyKCk7aWYoIWF8fHhyKGEsYikpYT0iYXV0byI7aWYoZXx8YSE9dGhpcy5ofHxiIT10aGlzLmopdGhpcy5CPW5ldyB0dDt0aGlzLmg9YTt0aGlzLmo9CmI7dGhpcy5nLlNhKCk/KGQ9ZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMubCYmdGhpcy5sLmRpc3Bvc2UoKSx0aGlzLmw9bmV3IGx2KGQsdGhpcy5nLHRoaXMuTyx0aGlzLkssdGhpcy5HLCEwLHRoaXMuSSx0aGlzLkIsdGhpcy5vLHRoaXMuTCksdGhpcy5sLnlmPXRoaXMuQSx0aGlzLkM9ITAsdGhpcy5sLnRyYW5zbGF0ZShhLGIsYyxlLCgwLF8ueSkodGhpcy55aSx0aGlzLGYsYSxiKSkpOih0aGlzLmJlKCksYygwLCExLCEwKSl9O18ubS5wZz1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5sJiZ0aGlzLmwuZ307Xy5tLllmPWZ1bmN0aW9uKGEpe3RoaXMuQT1hfTtfLm0ucmVzdG9yZT1mdW5jdGlvbigpe3ZhciBhPWRyKHZ2LDMpO2VyKHZ2LGEpO2ZyKGEsMyk7cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoVHEsdm9pZCAwKTtDcigpO3RoaXMuZy5TYSgpJiZ0aGlzLmwmJnRoaXMubC5yZXN0b3JlKCl9OwpfLm0uTT1mdW5jdGlvbigpe0JyKCk7d3YuZWEuTS5jYWxsKHRoaXMpO3RoaXMuZy5kaXNwb3NlKCk7dGhpcy5sPXRoaXMuZz1udWxsO3RoaXMuQj1uZXcgdHR9OwpfLm0ueWk9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5DJiYodGhpcy5DPSExLGI9e3NsOmIsdGw6Yyx0ZXh0bGVuOmR9LHRoaXMuQSYmKGIuY3R0PSIxIiksdGhpcy5EIT0iIiYmKGIuc3A9dGhpcy5EKSxiLnR0dD1EYXRlLm5vdygpLWEsYi50dGw9dGhpcy5SLHRoaXMuRiYmKGIudHRmPXRoaXMuRiksdGhpcy5vJiYoYi5zcj0xKSxhPXBxLGM9W10sXy5vaShfLlppKGEsMikpJiZjLnB1c2goInNkYSIpLF8ub2koXy5aaShhLDMpKSYmYy5wdXNoKCJlZWlzIiksZD1fLmJqKGEsaXEsNiksXy5vaShfLlppKGQsMSkpJiZjLnB1c2goImVzdHMiKSxfLm9pKF8uWmkoYSw3KSkmJmMucHVzaCgiZWhjbSIpLF8ub2koXy5aaShhLDgpKSYmYy5wdXNoKCJlb3BhIiksXy5vaShfLlppKGEsOSkpJiZjLnB1c2goImVhZHQiKSxiLmVmPWMuam9pbigiLCIpLFFtKCJ0ZV90aW1lIixiKSl9O3ZhciB4dj1mdW5jdGlvbihhKXt4bi5jYWxsKHRoaXMsYSk7dGhpcy5BPW5ldyBfLkhiKHRoaXMpfTtfLkIoeHYseG4pO3h2LnByb3RvdHlwZS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpO2EuY2xhc3NOYW1lPSJnb29nLXRlLWNvbWJvIjthLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsUi5FZSk7dGhpcy5PYShhKX07eHYucHJvdG90eXBlLkxhPWZ1bmN0aW9uKCl7eG4ucHJvdG90eXBlLkxhLmNhbGwodGhpcyk7dGhpcy5aZSgpfTt4di5wcm90b3R5cGUuWmU9ZnVuY3Rpb24oKXtfLngodGhpcy5IKCksImNoYW5nZSIscHIodGhpcywiY2hhbmdlIikpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTt4di5wcm90b3R5cGUuc2E9ZnVuY3Rpb24oKXt4bi5wcm90b3R5cGUuc2EuY2FsbCh0aGlzKTt0aGlzLkEuZGlzcG9zZSgpO3RoaXMuQT1udWxsfTsKdmFyIHl2PWZ1bmN0aW9uKGEsYil7YS5IKCkucGFyZW50Tm9kZSE9YiYmKGEuSCgpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYS5IKCkpLGIuYXBwZW5kQ2hpbGQoYS5IKCkpKX07Xy5tPXh2LnByb3RvdHlwZTtfLm0udWM9ZnVuY3Rpb24oYSl7dGhpcy5oLmllKHRoaXMuSCgpKTtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dmFyIGM9dGhpcy5oLlMoIk9QVElPTiIse3ZhbHVlOmJ9KTt0aGlzLmguU2IoYyxhW2JdKTt0aGlzLkgoKS5hcHBlbmRDaGlsZChjKX10aGlzLkgoKS5zZWxlY3RlZEluZGV4PTB9O18ubS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkgoKS52YWx1ZX07Xy5tLmNiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuSCgpLnZhbHVlIT1hKWZvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpe3RoaXMuSCgpLnNlbGVjdGVkSW5kZXg9YjticmVha319OwpfLm0uQWM9ZnVuY3Rpb24oYSl7aWYoXy5vYyhhKT09InVuZGVmaW5lZCIpcmV0dXJuIHRoaXMuSCgpLm9wdGlvbnMuaXRlbSh0aGlzLkgoKS5zZWxlY3RlZEluZGV4KS50ZXh0O2Zvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpcmV0dXJuIGMudGV4dH07Xy5tLlJiPWZ1bmN0aW9uKGEpe3RoaXMuSCgpLmRpc2FibGVkPSFhfTt2YXIgenY9ZnVuY3Rpb24oYSl7eHYuY2FsbCh0aGlzLGEpfTtfLkIoenYseHYpO3p2LnByb3RvdHlwZS5uYj1mdW5jdGlvbihhKXt0aGlzLnVjLmNhbGwodGhpcyxhKX07dmFyIEF2PWZ1bmN0aW9uKGEsYil7eHYuY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLm9lPXRoaXMuZy5vZXx8MTE7dGhpcy5nLnBkPXRoaXMuZy5wZCE9MDt0aGlzLmcuZWI9QXF9O18uQihBdix4dik7Xy5tPUF2LnByb3RvdHlwZTtfLm0uS2M9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiR2EiKTt9OwpfLm0uUz1mdW5jdGlvbigpe3RoaXMuS2MoKTt0aGlzLkQ9dGhpcy5IKCk7dGhpcy5sPXdvKCJJRlJBTUUiLHtmcmFtZUJvcmRlcjowLCJjbGFzcyI6IlZJcGdKZC1aVmk5b2QteGwwN09iLU9FVm1jZCBza2lwdHJhbnNsYXRlIix0aXRsZTpSLkVlfSk7dGhpcy5sLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiO21wKHRoaXMubCwhMSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmwpfTsKXy5tLlplPWZ1bmN0aW9uKCl7dmFyIGE9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIixiPV8uTGIodGhpcy5nLmViKSxjPVModGhpcywibWVudUJvZHkiKTt0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMucWcpO3RyKHRoaXMubCwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGQ9em8odGhpcy5sKSxlPXt9LGY9ZSYmZS5UZTtlPVduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoZSkpO2Y9JzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURjgiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicrUCh4cChiKSkrJyInKyhmPycgbm9uY2U9IicrUChZcChmKSkrJyInOiIiKSsnPjwvaGVhZD48Ym9keSBzY3JvbGw9Im5vIiBzdHlsZT0ibWFyZ2luOjBweDtvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciIG1hcmdpbkhlaWdodD0wIG1hcmdpbldpZHRoPTAgbGVmdE1hcmdpbj0wIHRvcE1hcmdpbj0wIGJvcmRlcj0wPjxkaXYgaWQ9IicrClAoYykrJyIgY2xhc3M9JztpZih3cCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLF8ucWwpKXt2YXIgZz1NcCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLm1hKCkpO2c9U3RyaW5nKGcpLnJlcGxhY2UoT3AsQ3ApfWVsc2UgZz0iVklwZ0pkLVpWaTlvZC14bDA3T2IiLnJlcGxhY2UoTnAsQ3ApO2U9Vm4oZSxmK2crIj48L2Rpdj48L2JvZHk+IikuVGIoKTtkLndyaXRlKF8ua2ooZSkpO2QuY2xvc2UoKX0sdGhpcykpfTtfLm0ucWc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5sKSk7dGhpcy5MPXRoaXMuai5IKFModGhpcywibWVudUJvZHkiKSk7dGhpcy5BLk4odGhpcy5ELCJjbGljayIsdGhpcy5UZCk7Xy5TYz90aGlzLkEuTih0aGlzLmwsImJsdXIiLHRoaXMuUmMpOnRoaXMuQS5OKEFvKHRoaXMubCksImJsdXIiLHRoaXMuUmMpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7eHYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7Xy5BZCh0aGlzLmwpO3RoaXMuRD10aGlzLlQ9dGhpcy5CPXRoaXMuTD10aGlzLmo9dGhpcy5sPW51bGx9O18ubS5xZj1mdW5jdGlvbihhKXt0aGlzLm8hPWEuY3VycmVudFRhcmdldC52YWx1ZSYmKHRoaXMuY2IoYS5jdXJyZW50VGFyZ2V0LnZhbHVlKSx0aGlzLmRpc3BhdGNoRXZlbnQoImNoYW5nZSIpKTt0aGlzLlJjKCl9O18ubS5UZD1mdW5jdGlvbigpe0J2KHRoaXMpO0FvKHRoaXMubCkuZm9jdXMoKTt0aGlzLnJhPSEwfTtfLm0uUmM9ZnVuY3Rpb24oKXt0aGlzLnJhJiYodGhpcy5yYT0hMSxCdih0aGlzLCExKSxfLm1iKF8uc2QodGhpcy5EKSkuZm9jdXMoKSl9O18ubS5rZT1mdW5jdGlvbigpe307Xy5tLmxlPWZ1bmN0aW9uKCl7fTsKdmFyIEJ2PWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGI9PSJ1bmRlZmluZWQifHxiKXthLmxlKCk7Yj1qcChhLkQsd2luZG93KTt2YXIgYz1iLnkrYS5ELm9mZnNldEhlaWdodCxkPWIueS1hLkcuaGVpZ2h0LGU9Yi54LGY9Yi54K2EuRC5vZmZzZXRXaWR0aC1hLkcud2lkdGg7aWYoXy5TYyYmIXNvKCkpe3ZhciBnPWRvY3VtZW50LmJvZHk7Yy09Zy5vZmZzZXRUb3A7ZC09Zy5vZmZzZXRUb3A7ZS09Zy5vZmZzZXRMZWZ0O2YtPWcub2Zmc2V0TGVmdH1lbHNlIGc9S24oZG9jdW1lbnQpLGMtPWcueSxkLT1nLnksZS09Zy54LGYtPWcueDtnPV8uaWIod2luZG93KTtiLnk9Yi55PD1nLmhlaWdodC1hLkcuaGVpZ2h0P2M6ZDtiLnk+Zy5oZWlnaHQtYS5HLmhlaWdodCYmKGIueT1nLmhlaWdodC1hLkcuaGVpZ2h0KTtiLnk8MCYmKGIueT0wKTtfLnhmLnRlc3Qob3EpP2IueD1mPj0wP2Y6ZTpiLng9ZTw9Zy53aWR0aC1hLkcud2lkdGg/ZTpmO2IueD5nLndpZHRoLWEuRy53aWR0aCYmKGIueD1nLndpZHRoLQphLkcud2lkdGgpO2IueDwwJiYoYi54PTApO2VwKGEubCxiKTttcChhLmwsITApO0N2KGEpfWVsc2UgYS5rZSgpLG1wKGEubCwhMSl9O18ubT1Bdi5wcm90b3R5cGU7Xy5tLk1hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub307Cl8ubS51Yz1mdW5jdGlvbihhKXt0aGlzLmouaWUodGhpcy5MKTttcCh0aGlzLmwsITApO3RoaXMuSWE9YTt0aGlzLkI9W107Zm9yKHZhciBiIGluIGEpaWYoYVtiXSE9PU9iamVjdC5wcm90b3R5cGVbYl0paWYoYVtiXT09Ii0tLSIpe3ZhciBjPXtsaW5rOnRoaXMuai5TKCJESVYiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWhnRFV3ZSIsdmFsdWU6Yn0pLGdpOiEwfTt0aGlzLkIucHVzaChjKX1lbHNle2M9e2xpbms6dGhpcy5qLlMoIkEiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiLGhyZWY6IiMiLHZhbHVlOmJ9KX07dGhpcy5CLnB1c2goYyk7dmFyIGQ9dGhpcy5qLlMoIkRJViIse3N0eWxlOiJ3aGl0ZS1zcGFjZTpub3dyYXAifSk7dGhpcy5qLmFwcGVuZENoaWxkKGMubGluayxkKTt0aGlzLmcucGQmJnRoaXMuai5hcHBlbmRDaGlsZChkLHRoaXMuai5TKCJTUEFOIix7Y2xhc3NOYW1lOiJpbmRpY2F0b3IifSwiXHUyMDNhIikpOwp0aGlzLmouYXBwZW5kQ2hpbGQoZCx0aGlzLmouUygiU1BBTiIse2NsYXNzTmFtZToidGV4dCJ9LHR5cGVvZiBhW2JdPT09ImZ1bmN0aW9uIj9hW2JdKCk6YVtiXSkpO3RoaXMuQS5OKGMubGluaywiY2xpY2siLHRoaXMucWYpfWE9dGhpcy5CLmxlbmd0aC0xO2E9TWF0aC5yb3VuZCgoYS1hJXRoaXMuZy5vZSkvdGhpcy5nLm9lKSsxO3RoaXMuVD10aGlzLmouUygiVEFCTEUiLHtjZWxsc3BhY2luZzowLGNlbGxwYWRkaW5nOjAsYm9yZGVyOjB9KTtjPXRoaXMuai5TKCJUQk9EWSIpO2I9dGhpcy5qLlMoIlRSIix7dmFsaWduOiJ0b3AifSk7dGhpcy5MLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC12SDFHbWYiO3RoaXMuai5hcHBlbmRDaGlsZCh0aGlzLkwsdGhpcy5UKTt0aGlzLmouYXBwZW5kQ2hpbGQodGhpcy5ULGMpO3RoaXMuai5hcHBlbmRDaGlsZChjLGIpO2ZvcihkPWM9MDtjPGE7KytjKXt2YXIgZT10aGlzLmouUygiVEQiKTt0aGlzLmouYXBwZW5kQ2hpbGQoYixlKTtmb3IodmFyIGY9CjA7ZjwxMSYmZDx0aGlzLkIubGVuZ3RoOysrZiwrK2QpdGhpcy5qLmFwcGVuZENoaWxkKGUsdGhpcy5CW2RdLmxpbmspO2MhPWEtMSYmKGU9dGhpcy5qLlMoIlREIix7ImNsYXNzIjoiVklwZ0pkLVpWaTlvZC12SDFHbWYtS3JoUE5iIn0sIlx1MDBhMCIpLHRoaXMuai5hcHBlbmRDaGlsZChiLGUpKX10aGlzLm89bnVsbDt0aGlzLmNiKHRoaXMuQlswXS5saW5rLnZhbHVlKTtDdih0aGlzKTttcCh0aGlzLmwsITEpfTtfLm0uQWM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuSWFbXy5vYyhhKT09InVuZGVmaW5lZCI/dGhpcy5vOmFdfTtfLm0ubWU9ZnVuY3Rpb24oKXt9OwpfLm0uY2I9ZnVuY3Rpb24oYSl7aWYodGhpcy5vIT1hKXt0aGlzLkFjKGEpJiYodGhpcy5vPWEsdGhpcy5tZSgpKTtmb3IodmFyIGI9MDtiPHRoaXMuQi5sZW5ndGg7KytiKXt2YXIgYz10aGlzLkJbYl07Yy5naXx8KGMubGluay5jbGFzc05hbWU9Yy5saW5rLnZhbHVlPT1hJiZ0aGlzLmcucGQ/IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiOiJWSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIiKX19fTt2YXIgQ3Y9ZnVuY3Rpb24oYSl7cXAoYS5MLG9wKGEuVCkpO3FwKGEubCxvcChhLkwpKTthLkc9b3AoYS5sKX0sRHY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKX07Xy5CKER2LEF2KTtfLm09RHYucHJvdG90eXBlOwpfLm0uS2M9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguUygiYSIseyJhcmlhLWhhc3BvcHVwIjoidHJ1ZSJ9KTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVkIjtfLm5sKGEsIiMiKTt0aGlzLkk9dGhpcy5oLlMoIlNQQU4iKTthLmFwcGVuZENoaWxkKHRoaXMuSSk7dGhpcy5QPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHN0eWxlOiJiYWNrZ3JvdW5kLWltYWdlOnVybCgiK3hxKyIpO2JhY2tncm91bmQtcG9zaXRpb246LTE0cHggMHB4O2JvcmRlcjpub25lIix3aWR0aDoxNCxoZWlnaHQ6MTR9KTthLmFwcGVuZENoaWxkKHRoaXMuUCk7dGhpcy5PYShhKX07Xy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImJhY2tncm91bmRQb3NpdGlvbiIsIi0xNHB4IDBweCIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMHB4IDBweCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7QXYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7dGhpcy5QPXRoaXMuST1udWxsfTtfLm0ubWU9ZnVuY3Rpb24oKXt0aGlzLmguU2IodGhpcy5JLHRoaXMuQWModGhpcy5vKXx8IiIpfTtfLm0ubmI9ZnVuY3Rpb24oYSl7dGhpcy51Yy5jYWxsKHRoaXMsYSl9O3ZhciBFdj1mdW5jdGlvbihhLGIpe0F2LmNhbGwodGhpcyxhLGIpfTtfLkIoRXYsQXYpO18ubT1Fdi5wcm90b3R5cGU7Cl8ubS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5TKCJhIix7ImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pO2EuY2xhc3NOYW1lPSJWSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQiO18ubmwoYSwiIyIpO3RoaXMuST10aGlzLmguUygiU1BBTiIpO2EuYXBwZW5kQ2hpbGQodGhpcy5JKTthLmFwcGVuZENoaWxkKHRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHdpZHRoOjEsaGVpZ2h0OjF9KSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiU1BBTiIse3N0eWxlOiJib3JkZXItbGVmdDoxcHggc29saWQgI2JiYiJ9LCJcdTIwMGIiKSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiSU1HIix7c3JjOkNxLGFsdDoiIix3aWR0aDoxLGhlaWdodDoxfSkpO3RoaXMuUD10aGlzLmguUygic3BhbiIse3N0eWxlOiJjb2xvcjojNzY3Njc2IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sIlx1MjViYyIpO2EuYXBwZW5kQ2hpbGQodGhpcy5QKTt0aGlzLk9hKGEpfTsKXy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImNvbG9yIiwiIzliOWI5YiIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiY29sb3IiLCIjZDVkNWQ1Iil9O18ubS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuUD10aGlzLkk9bnVsbH07Xy5tLm1lPWZ1bmN0aW9uKCl7dGhpcy5oLlNiKHRoaXMuSSx0aGlzLkFjKHRoaXMubyl8fCIiKX07Xy5tLm5iPWZ1bmN0aW9uKGEpe3RoaXMudWMuY2FsbCh0aGlzLGEpfTt2YXIgRnY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKTt0aGlzLmcucGQ9ITF9O18uQihGdixBdik7CkZ2LnByb3RvdHlwZS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC1MZ2JzU2UiO3ZhciBiPXRoaXMuaC5TKCJESVYiLHtzdHlsZToiYmFja2dyb3VuZDogdXJsKCIrd3ErIikgcmVwZWF0LXggMCAtMzlweCJ9KTthLmFwcGVuZENoaWxkKGIpO3RoaXMuST10aGlzLmguY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7Yi5hcHBlbmRDaGlsZCh0aGlzLkkpO3RoaXMuT2EoYSl9O0Z2LnByb3RvdHlwZS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuST1udWxsfTtGdi5wcm90b3R5cGUucWY9ZnVuY3Rpb24oYSl7dGhpcy5jYihhLmN1cnJlbnRUYXJnZXQudmFsdWUpO3RoaXMuZGlzcGF0Y2hFdmVudCgiY2hhbmdlIik7dGhpcy5SYygpfTt2YXIgR3Y9ZnVuY3Rpb24oYSxiKXt4bi5jYWxsKHRoaXMsYik7dGhpcy5nPWEmJkpsKGEpfHx7fTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhHdix4bik7dmFyIEh2PXt6azowLEtqOjEsaGs6Mn07Xy5tPUd2LnByb3RvdHlwZTsKXy5tLlM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguY3JlYXRlRWxlbWVudCgiZGl2Iik7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO050KGEsImdvb2ctdGUtZ2FkZ2V0Iik7YS5kaXI9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIjttcChhLCExKTtpZih0aGlzLmcubGF5b3V0PT0yKWltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjoiIn0pKTtlbHNle3ZhciBiPW5ldyB0bztpZihzcChfLlNjJiYhc28oKSkpdmFyIGM9IjxzcGFuIHN0eWxlPVwiZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoxNXB4OyB3aWR0aDo1MXB4O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlciggc3JjPSciK1N0cmluZyhGcSkucmVwbGFjZShScCxHcCkrIicsc2l6aW5nTWV0aG9kPSdzY2FsZScpO1wiPjwvc3Bhbj4iO2Vsc2UgYz1ocy53ZCxjPSc8aW1nIHNyYz0iJytQKFdwKEZxKSkrCiciIHdpZHRoPSIzN3B4IiBoZWlnaHQ9IjE0cHgiIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OiAzcHgiIGFsdD0iR29vZ2xlICcrUChjKSsnIj4nO3ZhciBkPWhzLndkO3ZhciBlPSgwLF8udGwpKCc8c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6bm93cmFwIj48YSBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIGhyZWY9IicrUChVcChHcSkpKyciIHRhcmdldD0iX2JsYW5rIj4nK2MrS3AoZCkrIjwvYT48L3NwYW4+Iik7Yz1iLmZvcm1hdDtkPVI7dmFyIGY9ZC56ZztlPWUuVGIoKTtlPXVvKGIse3R5cGU6Imh0bWwiLHhmOl8ua2ooZSkudG9TdHJpbmcoKX0pO2I9Yy5jYWxsKGIsZi5jYWxsKGQsZSkpO2ltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjp0aGlzLmcubGF5b3V0PT0xP1JsKFsiXHUwMGEwIiwiXHUwMGEwIixiXSk6Yn0pKX10aGlzLk9hKGEpfTsKXy5tLkxhPWZ1bmN0aW9uKCl7R3YuZWEuTGEuY2FsbCh0aGlzKTt0aGlzLmw9dGhpcy5nLmxheW91dD09Mj9uZXcgRXYobnVsbCx0aGlzLmgpOm5ldyB6dih0aGlzLmgpO3RoaXMuai5OKHRoaXMubCwiY2hhbmdlIixwcih0aGlzLCJjaGdfdGd0X2xhbmciKSk7dGhpcy5qLk4odGhpcy5sLCJsb2FkIix0aGlzLnJnKTt2YXIgYT10aGlzLmguSChTKHRoaXMsInRhcmdldExhbmd1YWdlIikpO2lmKHRoaXMuZy5sYXlvdXQ9PTIpe3ZhciBiPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsImNsYXNzIjoiZ29vZy10ZS1nYWRnZXQtaWNvbiIsYWx0OiIifSk7Yi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9InVybCgiK3hxKyIpIjtiLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbj0iLTY1cHggMHB4Ijt2YXIgYz10aGlzLmguUygiU1BBTiIse3N0eWxlOiJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIn0pO2EuYXBwZW5kQ2hpbGQoYik7YS5hcHBlbmRDaGlsZChjKTt0aGlzLmwua2EoYyk7YS5zdHlsZS53aGl0ZVNwYWNlPQoibm93cmFwIjthLmNsYXNzTmFtZT0iZ29vZy10ZS1nYWRnZXQtc2ltcGxlIn1lbHNlIHRoaXMubC5rYShhKSx0aGlzLmcubGF5b3V0PT0xJiYoYS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiKX07Xy5tLnJnPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxheW91dD09Mil7dmFyIGE9dGhpcy5sLGI9dGhpcy5oLkgoUyh0aGlzLCJ0YXJnZXRMYW5ndWFnZSIpKTthLkEueWMoYS5ELCJjbGljayIsYS5UZCk7YS5EPWI7YS5BLk4oYS5ELCJjbGljayIsYS5UZCl9dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9O18ubS5zYT1mdW5jdGlvbigpe0d2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5qLmRpc3Bvc2UoKTt0aGlzLmo9bnVsbDt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsfTtfLm0ub2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLk1hKCl9O18ubS5uYT1mdW5jdGlvbihhKXthPT0iIj90aGlzLkwmJnRoaXMubC5uYih0aGlzLkwpOnRoaXMuSSYmdGhpcy5sLm5iKHRoaXMuSSk7dGhpcy5sLmNiKGEpfTsKXy5tLnBhPWZ1bmN0aW9uKGEpe21wKHRoaXMuSCgpLGEpfTtfLm0uUmI9ZnVuY3Rpb24oYSl7dGhpcy5sLlJiKGEpfTtfLm0udWU9ZnVuY3Rpb24oYSxiKXt0aGlzLkw9YTt0aGlzLkk9Yn07dmFyIEl2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLmVifHwodGhpcy5nLmViPUFxKTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhJdix4bik7dmFyIEp2PXtwazoxLHFrOjIsbGo6Myxrajo0fTtfLm09SXYucHJvdG90eXBlO18ubS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuRz0hMTttcChhLCExKTt2YXIgYj1TKHRoaXMsImNvbnRhaW5lciIpO2I9KDAsXy50bCkoJzxpZnJhbWUgaWQ9IicrUChiKSsnIiBmcmFtZUJvcmRlcj0wIHNyYz0iamF2YXNjcmlwdDpcJ1wnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVNtZlotT0VWbWNkIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtJdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1TKHRoaXMsInRyYW5zbGF0ZSIpLGQ9Q3EsZT14cTt0aGlzLkgoKS5pZD1TKHRoaXMsImZsb2F0Q29udGFpbmVyIik7dmFyIGY9e2lkOnRoaXMuSCgpLmlkLGNsYXNzTmFtZToiZ29vZy10ZS1mdGFiLWZsb2F0In07dGhpcy5IKCkuY2xhc3NOYW1lKz0iIGdvb2ctdGUtZnRhYi1mbG9hdCI7c3dpdGNoKHRoaXMuZy5OYyl7Y2FzZSAyOnZhciBnPSJnb29nLXRlLWZsb2F0LXRvcCI7Zi50b3A9MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgMzpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgNDpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLmxlZnQ9MjA7YnJlYWs7ZGVmYXVsdDpnPSJnb29nLXRlLWZsb2F0LXRvcCIsZi50b3A9MCxmLmxlZnQ9MjB9bnAoWm4obmV3IF8ueWYsCmYpLHRoaXMuSCgpKTt0aGlzLkI9dGhpcy5oLkgoUyh0aGlzLCJjb250YWluZXIiKSk7dGhpcy5qLk4odGhpcy5CLCJsb2FkIix0aGlzLnNnKTt0cih0aGlzLkIsKDAsXy55KShmdW5jdGlvbigpe3ZhciBoPXpvKHRoaXMuQiksaz1nLGw9e30sbj1sJiZsLlRlLHE9aHMuSWU7az1WbihXbihWbihfLnlsKCksIjxoZWFkPiIpLE91KGwpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJytQKHhwKGIpKSsnIicrKG4/JyBub25jZT0iJytQKFlwKG4pKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtU21mWiIpKyIgIitQKGspKyciIHNjcm9sbD0ibm8iIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciPjxhIGlkPSInK1AoYykrJyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBjbGFzcz0iJysKUCgiVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCIpKyciPjxpbWcgc3JjPSInK1AoV3AoZCkpKyciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnK1AoV3AoZSkpKycpO2JhY2tncm91bmQtcG9zaXRpb246LTY1cHggMHB4Ij48c3Bhbj4nK0twKHEpKyI8L3NwYW4+PC9hPjwvYm9keT4iKS5UYigpO2gud3JpdGUoXy5raihrKSk7aC5jbG9zZSgpfSx0aGlzKSl9O18ubS5zZz1mdW5jdGlvbigpe3RoaXMubD0obmV3IF8ucmQoem8odGhpcy5CKSkpLkgoUyh0aGlzLCJ0cmFuc2xhdGUiKSk7dGhpcy5qLk4odGhpcy5sLCJjbGljayIscHIodGhpcywiY2xrX3RyYW5zIikpO21wKHRoaXMuSCgpLCEwKTt2YXIgYT1vcCh0aGlzLmwpO21wKHRoaXMuSCgpLCExKTtxcCh0aGlzLkIsYSk7cXAodGhpcy5IKCksYSk7dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9OwpfLm0uc2E9ZnVuY3Rpb24oKXtJdi5lYS5zYS5jYWxsKHRoaXMpO3RoaXMuai5kaXNwb3NlKCk7dGhpcy5qPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMubD10aGlzLkI9bnVsbH07Xy5tLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkd9O18ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkc9YTttcCh0aGlzLkgoKSxhKX07dmFyIEt2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmc9YSYmSmwoYSl8fHt9O3RoaXMuZy5lYj1BcTt0aGlzLmcud2U9ITE7Xy5oaih0aGlzLmguZy5ib2R5LCJwb3NpdGlvbiIsInJlbGF0aXZlIik7Xy5NaHx8Xy5oaih0aGlzLmguZy5ib2R5LCJtaW5IZWlnaHQiLCIxMDAlIik7Xy5oaih0aGlzLmguZy5kb2N1bWVudEVsZW1lbnQsImhlaWdodCIsIjEwMCUiKTtfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjBweCIpO18uU2MmJih3aW5kb3cuX2Jhbm5lcnF1aXJrZml4bGVmdD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkudG9wTWFyZ2luLDEwKS00MCl9O18uRyhLdix4bik7Xy5tPUt2LnByb3RvdHlwZTtfLm0ua2E9ZnVuY3Rpb24oKXt0aGlzLnFjKHRoaXMuaC5nLmJvZHkuZmlyc3RDaGlsZCl9OwpfLm0uUz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLkc9ITE7bXAoYSwhMSk7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO3ZhciBiPVModGhpcywiY29udGFpbmVyIik7Yj0oMCxfLnRsKSgnPGlmcmFtZSBpZD0iJytQKGIpKyciIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2QiKSsnIHNraXB0cmFuc2xhdGUiIGZyYW1lQm9yZGVyPTAgc3JjPSIjIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtLdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1DcSxkPUdxLGU9RHEsZj14cSxnPVModGhpcywicHJvbXB0U2VjdGlvbiIpLGg9Uyh0aGlzLCJjb25maXJtIiksaz1TKHRoaXMsInByb2dyZXNzU2VjdGlvbiIpLGw9Uyh0aGlzLCJwcm9ncmVzc1ZhbHVlIiksbj16cSxxPVModGhpcywiY2FuY2VsIikscD1TKHRoaXMsImZpbmlzaFNlY3Rpb24iKSxyPVModGhpcywicmVzdG9yZSIpLHQ9Uyh0aGlzLCJlcnJvclNlY3Rpb24iKSxBPVModGhpcywiZXJyb3JDb250ZW50IiksRD1TKHRoaXMsImNsb3NlIiksRT1TKHRoaXMsIm5vQXV0b1BvcHVwIiksYmEsWj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJwcm9tcHRTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsInByb21wdFRhcmdldExhbmciKX0pKTt2YXIgdmk9bW0oUi5KZy5hcHBseShudWxsLApaKSk7Wj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJmaW5pc2hTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsImZpbmlzaFRhcmdldExhbmciKX0pKTt2YXIgd2k9bW0oUi5EZy5hcHBseShudWxsLFopKTt0aGlzLmcuY2cmJihiYT10aGlzLmcuY2cpO3RoaXMuQj10aGlzLmguSChTKHRoaXMsImNvbnRhaW5lciIpKTt0aGlzLkEuTih0aGlzLkIsImxvYWQiLHRoaXMudGcpO3RyKHRoaXMuQiwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGFnPXpvKHRoaXMuQiksWGM9YmEsTGQ9e30sRGU9TGQmJkxkLlRlLEVlPWhzLndkLHhpPWhzLkllLGJnPWhzLkVnLHlpPWhzLm1nLHppPWhzLkFnLGNnPWhzLkFlLEFpPWhzLkFlO1hjPVZuKFduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoTGQpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJysKUCh4cChiKSkrJyInKyhEZT8nIG5vbmNlPSInK1AoWXAoRGUpKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYiIpKyciIHNjcm9sbD0ibm8iIGJvcmRlcj0wIGRpcj0iJytQKGEpKyciPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9MTAwJSBoZWlnaHQ9MTAwJT48dHIgdmFsaWduPW1pZGRsZT48dGQgd2lkdGg9MSBub3dyYXA+PGEgaHJlZj0iJytQKFVwKGQpKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iJytQKFdwKGUpKSsnIiBhbHQ9Ikdvb2dsZSAnK1AoRWUpKyciPjwvYT48L3RkPicrKHNwKFhjKT8nPHRkIHdpZHRoPTE+PGltZyBzcmM9IicrUChXcChjKSkrJyIgd2lkdGg9IjkiIGhlaWdodD0iMTUiIHRpdGxlPSInK1AoWGMpKyciIGFsdD0iJytQKFhjKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJysKUChXcChmKSkrJyk7YmFja2dyb3VuZC1wb3NpdGlvbjotNTZweCAwcHg7bWFyZ2luOjAgNHB4Ij48L3RkPic6IiIpKyc8dGQgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZSIpKyciPjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgaGVpZ2h0PTEwMCU+PHRyIGlkPSInK1AoZykrJyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgdmFsaWduPW1pZGRsZT48dGQgbm93cmFwPjxzcGFuIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMiKSsnIj4nK0twKHZpKSsnPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKGgpKyciPjxiPicrS3AoeGkpKyc8L2I+PC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48dGQgY2xhc3M9IicrClAoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKEUpKyciPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIgaWQ9IicrUChrKSsnIiBzdHlsZT0iZGlzcGxheTpub25lIiB2YWxpZ249bWlkZGxlPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcChiZykrJyZuYnNwOzxzcGFuIGRpcj0ibHRyIj4oPGIgaWQ9IicrUChsKSsnIj48L2I+JSk8L3NwYW4+Jm5ic3A7PGltZyBzcmM9IicrUChXcChuKSkrJyI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKHEpKyciPicrS3AoeWkpKwonPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHApKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcCh3aSkrJzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrJyI+PC90ZD48dGQgbm93cmFwPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1MZ2JzU2UiKSsnIj48ZGl2PjxidXR0b24gaWQ9IicrUChyKSsnIj4nK0twKHppKSsnPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHQpKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHZhbGlnbj1taWRkbGU+PHRkPjxzcGFuIGlkPSInK1AoQSkrJyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLWJOOTdQYyIpKyciPjwvc3Bhbj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrCiciPjwvdGQ+PHRkIHdpZHRoPTEgaWQ9Im9wdGlvbnMiPjwvdGQ+PHRkIHdpZHRoPTE+PGEgaWQ9IicrUChEKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGQiKSsnIiBocmVmPSIjIiB0aXRsZT0iJytQKGNnKSsnIj48aW1nIHNyYz0iJytQKFdwKGMpKSsnIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGFsdD0iJytQKEFpKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJytQKFdwKGYpKSsnKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOHB4IDBweCI+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT4nKS5UYigpO2FnLndyaXRlKF8ua2ooWGMpKTthZy5jbG9zZSgpfSx0aGlzKSl9OwpfLm0udGc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5CKSk7THYodGhpcyxSLkNlKTtpZih0aGlzLmcuZWI9PUFxKXt2YXIgYT0idXJsKCIrd3ErIikiO18uaGoodGhpcy5qLmcuYm9keSwiYmFja2dyb3VuZEltYWdlIixhKTtmb3IodmFyIGI9dGhpcy5qLmcuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXS5wYXJlbnROb2RlO18uaGooZCwiYmFja2dyb3VuZEltYWdlIixhKTtfLmhqKGQsImJhY2tncm91bmRSZXBlYXQiLCJyZXBlYXQteCIpO18uaGooZCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMCAtMzlweCIpfX10aGlzLmcud2UmJih0aGlzLm89bmV3IER2KHRoaXMuZyx0aGlzLmopKTt0aGlzLmw9bmV3IER2KHRoaXMuZyx0aGlzLmopO3RoaXMuRD1uZXcgRnYodGhpcy5nLHRoaXMuaik7dGhpcy5BLk4odGhpcy5qLkgoUyh0aGlzLCJjb25maXJtIikpLCJjbGljayIscHIodGhpcywiY2xrX2NvbmZpcm0iKSk7CnRoaXMuQS5OKHRoaXMuai5IKFModGhpcywiY2FuY2VsIikpLCJjbGljayIscHIodGhpcywiY2xrX2NhbmNlbCIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsInJlc3RvcmUiKSksImNsaWNrIixwcih0aGlzLCJjbGtfcmVzdG9yZSIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsImNsb3NlIikpLCJjbGljayIscHIodGhpcywiY2xrX2Nsb3NlIikpO3RoaXMuUD10aGlzLmouSChTKHRoaXMsIm5vQXV0b1BvcHVwIikpO3RoaXMuQS5OKHRoaXMuUCwiY2xpY2siLHByKHRoaXMsImNsa19ub19hcCIpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywiY2hhbmdlIixwcih0aGlzLCJjaGdfc3JjX2xhbmciKSk7dGhpcy5BLk4odGhpcy5sLCJjaGFuZ2UiLHByKHRoaXMsImNoZ190Z3RfbGFuZyIpKTt0aGlzLkEuTih0aGlzLkQsImNoYW5nZSIsdGhpcy5SaCk7YT1uZXcganIoKDAsXy55KSh0aGlzLnVnLHRoaXMpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywibG9hZCIsYS5yZWdpc3RlcigpKTsKdGhpcy5BLk4odGhpcy5sLCJsb2FkIixhLnJlZ2lzdGVyKCkpO3RoaXMuQS5OKHRoaXMuRCwibG9hZCIsYS5yZWdpc3RlcigpKTthLmZpbmlzaCgpO3RoaXMubyYmdGhpcy5vLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0U291cmNlTGFuZyIpKSk7dGhpcy5sLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0VGFyZ2V0TGFuZyIpKSk7dGhpcy5ELmthKHRoaXMuai5IKCJvcHRpb25zIikpfTtfLm0udWc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLkQsYj1SLnlnO18uemQoYS5JKTthLkkuYXBwZW5kQ2hpbGQoYS5oLmNyZWF0ZVRleHROb2RlKGIrIlx1MDBhMFx1MjViYyIpKTt0aGlzLkQudWMoe3R1cm5fb2ZmX3NpdGU6Ui5HZyxzMToiLS0tIixsZWFybl9tb3JlOlIueGd9KTt0aGlzLmRpc3BhdGNoRXZlbnQoImxvYWQiKX07Xy5tLlJoPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuRC5NYSgpKXtjYXNlICJsZWFybl9tb3JlIjp3aW5kb3cub3BlbihKcSwiX2JsYW5rIik7YnJlYWs7Y2FzZSAidHVybl9vZmZfc2l0ZSI6dGhpcy5kaXNwYXRjaEV2ZW50KCJjbGtfbm9fYXBfc2l0ZSIpfX07Cl8ubS5zYT1mdW5jdGlvbigpe3RoaXMucGEoITEpO0t2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5BLmRpc3Bvc2UoKTt0aGlzLkE9bnVsbDt0aGlzLm8mJih0aGlzLm8uZGlzcG9zZSgpLHRoaXMubz1udWxsKTt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsO3RoaXMuRC5kaXNwb3NlKCk7dGhpcy5EPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMuYWM9dGhpcy5qPW51bGx9O18ubS5KYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm8/dGhpcy5vLk1hKCk6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmwuTWEoKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMubyYmdGhpcy5vLmNiKGEpO3RoaXMuVCYmdGhpcy5UW2FdJiZ0aGlzLmouU2IodGhpcy5QLFIuRmcodGhpcy5UW2FdKSl9O18ubS5uYT1mdW5jdGlvbihhKXt0aGlzLmwuY2IoYSl9Owp2YXIgTXY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5hYyE9Yil7YS5hYz1iO2lmKGI9PTApe2EubyYmeXYoYS5vLGEuai5IKFMoYSwicHJvbXB0U291cmNlTGFuZyIpKSk7aWYoYS5MKXt2YXIgZT1hLm9hKCk7YS5sLm5iKGEuTCk7YS5uYShlKX15dihhLmwsYS5qLkgoUyhhLCJwcm9tcHRUYXJnZXRMYW5nIikpKX1lbHNlIGI9PTImJihhLm8mJnl2KGEubyxhLmouSChTKGEsImZpbmlzaFNvdXJjZUxhbmciKSkpLGEuSSYmKGU9YS5vYSgpLGEubC5uYihhLkkpLGEubmEoZSkpLHl2KGEubCxhLmouSChTKGEsImZpbmlzaFRhcmdldExhbmciKSkpKTtlPXt9O2VbLTFdPWEuai5IKFMoYSwiZXJyb3JTZWN0aW9uIikpO2VbMF09YS5qLkgoUyhhLCJwcm9tcHRTZWN0aW9uIikpO2VbMV09YS5qLkgoUyhhLCJwcm9ncmVzc1NlY3Rpb24iKSk7ZVsyXT1hLmouSChTKGEsImZpbmlzaFNlY3Rpb24iKSk7Zm9yKHZhciBmIGluIGUpZVtmXSE9PU9iamVjdC5wcm90b3R5cGVbZl0mJm1wKGVbZl0sZj09CmIpfWMmJmEucGEoITApO2EuUC5wYXJlbnROb2RlLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT1kPyJibG9jayI6Im5vbmUifTtLdi5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR307Ckt2LnByb3RvdHlwZS5wYT1mdW5jdGlvbihhKXtpZih0aGlzLkchPWEpe3RoaXMuRz1hO2lmKF8uU2MpdmFyIGI9cGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksYz1wYXJzZUludCgiMCIrdGhpcy5oLmcuYm9keS50b3BNYXJnaW4sMTApO3ZhciBkPXRoaXMuaC5nLmNvbXBhdE1vZGU9PSJCYWNrQ29tcGF0IjthPyhfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjQwcHgiKSxtcCh0aGlzLkgoKSwhMCksXy5TYyYmKHNvKCk/KHdpbmRvdy5fYmFubmVycXVpcmtmaXhsZWZ0PXdpbmRvdy5fYmFubmVycXVpcmtmaXh0b3A9MCxkJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yys0MCkpOmQ/KHRoaXMuaC5nLmJvZHkudG9wTWFyZ2luPWMrNDAsd2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9d2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0wKTood2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9LWIsd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tYy00MCkpKTooXy5oaih0aGlzLmguZy5ib2R5LAoidG9wIiwiMHB4IiksbXAodGhpcy5IKCksITEpLGQmJmM+PTQwJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yy00MCkpfX07dmFyIE52PWZ1bmN0aW9uKGEsYil7YS5qLlNiKGEuai5IKFMoYSwicHJvZ3Jlc3NWYWx1ZSIpKSxiKX0sTHY9ZnVuY3Rpb24oYSxiKXthLmouU2IoYS5qLkgoUyhhLCJlcnJvckNvbnRlbnQiKSksYil9O0t2LnByb3RvdHlwZS51ZT1mdW5jdGlvbihhLGIpe3RoaXMuTD1hO3RoaXMuST1iO3RoaXMubC5uYihhKX07dmFyIFB2PWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7Xy5vYyhhKT09InN0cmluZyImJihiPWEsYT17fSk7Xy5vYyhiKT09InN0cmluZyImJihiPWduKFN0cmluZyhiKSkpO3RoaXMuVD1iO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmxhPXZvaWQgMDthPU9iamVjdChhKTt0aGlzLm89ImF1dG8iOyEoYj13aW5kb3cucGFyZW50IT13aW5kb3cpJiYoYj0oIXdpbmRvdy5leHRlcm5hbHx8IXdpbmRvdy5leHRlcm5hbC5nb29nbGVUb29sYmFyVmVyc2lvbnx8cGFyc2VGbG9hdCh3aW5kb3cuZXh0ZXJuYWwuZ29vZ2xlVG9vbGJhclZlcnNpb24pPDYuMikmJighd2luZG93Lmd0YkV4dGVybmFsfHwhd2luZG93Lmd0YkV4dGVybmFsLmlzVHJhbnNsYXRlRW5hYmxlZHx8IXdpbmRvdy5ndGJFeHRlcm5hbC5pc1RyYW5zbGF0ZUVuYWJsZWQoKSkpJiYoYj1uYXZpZ2F0b3IuYXBwVmVyc2lvbiYmbmF2aWdhdG9yLmFwcFZlcnNpb24ubWF0Y2goL1xzQ2hyb21lXC8oKFxkKylcLihcZCspXC5bXGRcLl0rKVxzLyksCmI9IShiJiZiWzJdJiZiWzNdJiZOdW1iZXIoYlsyXSkqMUUzK051bWJlcihiWzNdKT49NDAwMSkpO3RoaXMuZz17RWQ6YixoZjohMSxGZDpudWxsLEVjOm51bGwsWGQ6W10sY2Y6W10sZGg6ITEsUGI6ITEsYXBpS2V5OiIiLGxheW91dDowLFZlOiExfTt0aGlzLklhPXtlYjpBcSxjZzp2cT09Imh0dHBzOi8vIj9SLkNnOm51bGx9O3RoaXMuUD17ZWI6QXEsTmM6bnVsbH07YSYmKCJhdXRvRGlzcGxheSJpbiBhJiYodGhpcy5nLkVkPXRoaXMuZy5FZCYmISFhLmF1dG9EaXNwbGF5KSwibXVsdGlsYW5ndWFnZVBhZ2UiaW4gYSYmKHRoaXMuZy5QYj0hIWEubXVsdGlsYW5ndWFnZVBhZ2UpLCJsYXlvdXQiaW4gYSYmKHRoaXMuZy5sYXlvdXQ9YS5sYXlvdXQpLGEucGFnZUxhbmd1YWdlJiYodGhpcy5nLmRkPXFyKGEucGFnZUxhbmd1YWdlKSksYS5pbmNsdWRlZExhbmd1YWdlcyYmKHRoaXMuZy5YZD1hLmluY2x1ZGVkTGFuZ3VhZ2VzLnNwbGl0KCIsIikpLGEuZXhjbHVkZWRMYW5ndWFnZXMmJgoodGhpcy5nLmNmPWEuZXhjbHVkZWRMYW5ndWFnZXMuc3BsaXQoIiwiKSksYS5yZW1vdGVBcGlQcm94eUhhbmRsZXJzJiYodGhpcy5sYT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLHRoaXMuZy5kZCYmKHRoaXMubz10aGlzLmcuZGQpLGEua2V5JiYodGhpcy5nLmFwaUtleT1hLmtleSksdGhpcy5QLk5jPU51bWJlcihhLmZsb2F0UG9zaXRpb24pfHx0aGlzLlAuTmMsImRpc2FibGVBdXRvVHJhbnNsYXRpb24iaW4gYSYmKHRoaXMuZy5WZT0hIWEuZGlzYWJsZUF1dG9UcmFuc2xhdGlvbikpOyF0aGlzLmcuVmUmJk92KHRoaXMpJiYodGhpcy5nLmhmPSEwKTt0aGlzLkM9e307aWYoKGE9ZG9jdW1lbnQuY29va2llLm1hdGNoKC8oXnw7IClnb29ndHJhbnNvcHQ9KC4qPykoO3wkKS8pKSYmYVsyXSlmb3IodGhpcy5DPXt9LGE9Xy5EYihhWzJdKS5zcGxpdCgifCIpLGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXS5zcGxpdCgiPSIpO2NbMF0mJih0aGlzLkNbY1swXV09Y1sxXSl9dGhpcy53YT0KbmV3IFpzKHthcGlLZXk6dGhpcy5nLmFwaUtleSxoYzoxLHZlOiEwLGdtOkhxfSx7Y2xpZW50OnRxLHU6d2luZG93LmxvY2F0aW9uLmhyZWZ9KTt0aGlzLkY9bmV3IHd2KHZvaWQgMCx0aGlzLndhLHZvaWQgMCx2b2lkIDAsdGhpcy5nLmFwaUtleSx2b2lkIDAsdm9pZCAwLG5ldyBXdSx2b2lkIDAsdm9pZCAwLHRoaXMubGEpO3RoaXMuRz0hMTt0aGlzLkEuTih3aW5kb3csInBhZ2VoaWRlIix0aGlzLmRpc3Bvc2UpO3RoaXMuSz1uZXcganIoKDAsXy55KSh0aGlzLk1oLHRoaXMpKTt0aGlzLkk9bmV3IGpyKCgwLF8ueSkodGhpcy5PaCx0aGlzKSk7dGhpcy5PPW5ldyBscigoMCxfLnkpKHRoaXMua2ksdGhpcykpO3RoaXMuaD1uZXcgS3YodGhpcy5JYSk7dGhpcy5GLnpjKHRoaXMuSy5yZWdpc3RlcigoMCxfLnkpKHRoaXMuSmgsdGhpcykpLG9xKTt0aGlzLlQ/KHRoaXMubD1uZXcgR3YodGhpcy5nKSx0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMuSy5yZWdpc3RlcigpKSx0aGlzLkEuTih0aGlzLmwsCiJjaGdfdGd0X2xhbmciLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkloLHRoaXMpKSkpLHRoaXMubC5rYSh0aGlzLlQpKTp0aGlzLlAuTmMmJih0aGlzLkI9bmV3IEl2KHRoaXMuUCksdGhpcy5BLk4odGhpcy5CLCJsb2FkIix0aGlzLksucmVnaXN0ZXIoKSksdGhpcy5BLk4odGhpcy5CLCJjbGtfdHJhbnMiLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkdoLHRoaXMpKSkpLHRoaXMuQi5rYSgpKTshdGhpcy5nLmRkJiZ0aGlzLmcuZGgmJnRoaXMuRi5QYyh0aGlzLksucmVnaXN0ZXIoKDAsXy55KSh0aGlzLkVoLHRoaXMpKSk7dGhpcy5LLmZpbmlzaCgpfTtfLkIoUHYsXy51KTsKdmFyIE92PWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZixnKXtpZihmPV8uRGIoZikubWF0Y2goIl5cXCgoKFthLXpBLVpcXC1fXSopXFx8KT8oW2EtekEtWlxcLV9dKilcXCl8Xi8oKFthLXpBLVpcXC1fXSopLyk/KFthLXpBLVpcXC1fXSopIikpe2lmKGZbM10pcmV0dXJuIGcuZy5GZD1mWzJdLGcuZy5FYz1mWzNdLCEwO2lmKGZbNl0pcmV0dXJuIGcuZy5GZD1mWzVdLGcuZy5FYz1mWzZdLCEwfXJldHVybiExfXZhciBjPXt1cmw6ZnVuY3Rpb24oKXt2YXIgZj13aW5kb3cubG9jYXRpb24uaHJlZi5tYXRjaCgvIy4qZ29vZ3RyYW5zKC4qKS8pO3JldHVybiBmJiZmWzFdfSxjb29raWU6ZnVuY3Rpb24oKXt2YXIgZj1kb2N1bWVudC5jb29raWUubWF0Y2goLyhefDsgKWdvb2d0cmFucz0oLio/KSg7fCQpLyk7cmV0dXJuIGYmJmZbMl19fSxkO2ZvcihkIGluIGMpaWYoY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0pe3ZhciBlPWNbZF0oKTtpZihlJiZiKGUsYSkpcmV0dXJuIGR9cmV0dXJuIiJ9LApRdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKTtjLmxlbmd0aD4yOyljLnNoaWZ0KCk7Yz0iO2RvbWFpbj0iK2Muam9pbigiLiIpO2IhPW51bGw/YT1hKyI9IitiOihiPW5ldyBEYXRlLGIuc2V0VGltZShiLmdldFRpbWUoKS0xKSxhPWErIj1ub25lO2V4cGlyZXM9IitiLnRvR01UU3RyaW5nKCkpO2ErPSI7cGF0aD0vIjtkb2N1bWVudC5jb29raWU9YTt0cnl7ZG9jdW1lbnQuY29va2llPWErY31jYXRjaChkKXt9fSxSdj1mdW5jdGlvbihhLGIpe3ZhciBjPW51bGw7YiE9PXZvaWQgMCYmKGM9YSE9PXZvaWQgMD8iLyIrYSsiLyIrYjoiLyIrYik7UXYoImdvb2d0cmFucyIsYyl9O18ubT1Qdi5wcm90b3R5cGU7Cl8ubS5KaD1mdW5jdGlvbihhKXt0aGlzLmo9cXIob3EpO2E9YXx8e307dmFyIGI9YS50YXJnZXRMYW5ndWFnZXN8fFtdO3RoaXMuTD17c2w6V20oYS5zb3VyY2VMYW5ndWFnZXN8fFtdKSx0bDpXbShiKX07dGhpcy5EPXt9O3RoaXMuUj17fTthPSF0aGlzLmcuWGQubGVuZ3RoO2I9aXIodGhpcy5nLlhkKTt2YXIgYz1pcih0aGlzLmcuY2YpO3RoaXMuRFtvcV09IiI7dGhpcy5SW29xXT0iIjtmb3IodmFyIGQgaW4gdGhpcy5MLnRsKXRoaXMuTC50bFtkXT09PU9iamVjdC5wcm90b3R5cGVbZF18fCEoYXx8ZCBpbiBiKXx8ZCBpbiBjfHwodGhpcy5SW2RdPXRoaXMuTC50bFtkXSxkPT10aGlzLmcuZGQmJiF0aGlzLmcuUGIpfHwodGhpcy5EW2RdPXRoaXMuTC50bFtkXSk7dGhpcy5EW29xXXx8ZGVsZXRlIHRoaXMuRFtvcV07dGhpcy5SW29xXXx8ZGVsZXRlIHRoaXMuUltvcV07dGhpcy5yYT1KbCh0aGlzLkwuc2wpfTtfLm0uRWg9ZnVuY3Rpb24oYSl7YSYmKHRoaXMubz1xcihhKSl9OwpfLm0uTWg9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5LO2lmKHRoaXMuTCl7dGhpcy5vPXRoaXMub3x8dGhpcy5nLkZkO3RoaXMuaj10aGlzLmcuRWN8fHRoaXMuajt2YXIgYT10aGlzLmcuaGZ8fHRoaXMuZy5FZCYmdGhpcy5vIT10aGlzLmomJiEodGhpcy5vIGluIHNxKSYmdGhpcy5DLm9zIT0iMSImJnRoaXMuQ1sibyIrdGhpcy5vXSE9IjEiO3RoaXMubz09InpoLVRXIiYmKHRoaXMubz0iemgtQ04iKTt0aGlzLnJhW3RoaXMub118fChhPSExLHRoaXMubz0iYXV0byIpO2lmKCF0aGlzLkRbdGhpcy5qXSlpZihhPSExLHRoaXMuRC5lbil0aGlzLmo9ImVuIjtlbHNlIGZvcih2YXIgYiBpbiB0aGlzLkQpaWYodGhpcy5EW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dGhpcy5qPWI7YnJlYWt9aWYodGhpcy5sKXtiPXRoaXMuRDt2YXIgYz17IiI6Ui5CZ30sZDtmb3IoZCBpbiBiKWJbZF0hPT1PYmplY3QucHJvdG90eXBlW2RdJiYoY1tkXT1iW2RdKTt0aGlzLmwudWUoYyx0aGlzLlIpO3RoaXMubC5uYSgiIil9IXFxJiYKYT90aGlzLmcuRWM/bXIodGhpcy5PLHRoaXMuSS5kZWxheSgoMCxfLnkpKHRoaXMub2QsdGhpcywhMCwhMCkpKS5jYWxsKCk6KHRoaXMuRz0hMCxtcih0aGlzLk8sdGhpcy5JLmRlbGF5KCgwLF8ueSkodGhpcy5vZCx0aGlzKSkpLmNhbGwoKSxRbSgidGVfYXAiLHtzbDp0aGlzLm99KSk6KHRoaXMuQiYmdGhpcy5CLnBhKCEwKSx0aGlzLmwmJnRoaXMubC5wYSghMCkpO3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UmJnRoaXMuUmIoITEpO3RoaXMuTy5maW5pc2goKX19OwpfLm0uT2g9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgsYj10aGlzLnJhO2EubyYmYS5vLm5iKGIpO2EuVD1iO3RoaXMuaC51ZSh0aGlzLkQsdGhpcy5SKTt0aGlzLmguTmEodGhpcy5vKTt0aGlzLmgubmEodGhpcy5qKTt0aGlzLkEuTih0aGlzLmgsImNsa19jb25maXJtIix0aGlzLnloKTt0aGlzLkEuTih0aGlzLmgsImNsa19jYW5jZWwiLHRoaXMueGgpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX3Jlc3RvcmUiLHRoaXMuUmQpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX2Nsb3NlIix0aGlzLlFjKTt0aGlzLkEuTih0aGlzLmgsImNsa19ub19hcCIsdGhpcy56aCk7dGhpcy5BLk4odGhpcy5oLCJjbGtfbm9fYXBfc2l0ZSIsdGhpcy5BaCk7dGhpcy5BLk4odGhpcy5oLCJjaGdfc3JjX2xhbmciLHRoaXMubWYpO3RoaXMuQS5OKHRoaXMuaCwiY2hnX3RndF9sYW5nIix0aGlzLm1mKTt0aGlzLmwmJnRoaXMubC5wYSghMCl9OwpfLm0ua2k9ZnVuY3Rpb24oKXt0aGlzLkEuTih0aGlzLmgsImxvYWQiLHRoaXMuSS5yZWdpc3RlcigpKTt0aGlzLmgua2EoKTt0aGlzLkkuZmluaXNoKCl9O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5GLnJlc3RvcmUoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLkYuZGlzcG9zZSgpO3RoaXMuQS5kaXNwb3NlKCk7dGhpcy5BPW51bGw7dGhpcy5oJiZ0aGlzLmguZGlzcG9zZSgpO3RoaXMuaD1udWxsO3RoaXMuQiYmdGhpcy5CLmRpc3Bvc2UoKTt0aGlzLkI9bnVsbDt0aGlzLmwmJnRoaXMubC5kaXNwb3NlKCk7dGhpcy5UPXRoaXMubD1udWxsfTtfLm0ueWg9ZnVuY3Rpb24oKXshdGhpcy5oLmlzVmlzaWJsZSgpfHwhdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpfHwodGhpcy5HJiZRbSgidGVfYXB0Iix7c2w6dGhpcy5vfSksU3YodGhpcywhMSksdGhpcy5sJiZ0aGlzLmwubmEodGhpcy5oLm9hKCkpKX07Cl8ubS54aD1mdW5jdGlvbigpe3RoaXMuaC5pc1Zpc2libGUoKSYmKFR2KHRoaXMpLE12KHRoaXMuaCwwKSx0aGlzLmwmJnRoaXMubC5uYSgiIikpfTtfLm0uUmQ9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJihUdih0aGlzKSxNdih0aGlzLmgsMCkpO3RoaXMubCYmdGhpcy5sLm5hKCIiKX07Xy5tLlFjPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5HJiYodGhpcy5HPSExLFFtKCJ0ZV9hcGMiLHtzbDp0aGlzLm99KSksVHYodGhpcyksdGhpcy5oLnBhKCExKSx0aGlzLmwmJnRoaXMubC5uYSgiIiksdGhpcy5CJiZ0aGlzLkIucGEoITApKX07Xy5tLnpoPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5DWyJvIit0aGlzLm9dPSIxIixRbSgidGVfYXByIix7c2w6dGhpcy5vfSksdGhpcy5HPSExLHRoaXMuUWMoKSl9OwpfLm0uQWg9ZnVuY3Rpb24oKXtpZih0aGlzLmguaXNWaXNpYmxlKCkpe3RoaXMuRz0hMTt0aGlzLkMub3M9IjEiO3ZhciBhPW51bGw7aWYodGhpcy5DKXthPVtdO2Zvcih2YXIgYiBpbiB0aGlzLkMpdGhpcy5DW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSYmYS5wdXNoKGIrIj0iK3RoaXMuQ1tiXSk7YT1hLmpvaW4oInwiKX1RdigiZ29vZ3RyYW5zb3B0IixhKTt0aGlzLlFjKCl9fTtfLm0ubWY9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJighdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5vPXRoaXMuaC5KYSgpfHx0aGlzLm8sdGhpcy5qPXRoaXMuaC5vYSgpLHRoaXMuaC5hYz09MiYmKHRoaXMubCYmdGhpcy5sLm5hKHRoaXMuaC5vYSgpKSxTdih0aGlzKSkpKX07Xy5tLm9kPWZ1bmN0aW9uKGEsYil7dGhpcy5oLmlzVmlzaWJsZSgpfHwodGhpcy5CJiZ0aGlzLkIucGEoITEpLGE/U3YodGhpcyxiKTpNdih0aGlzLmgsMCwhMCx0aGlzLkcpKX07Cl8ubS5SaT1mdW5jdGlvbihhLGIpe21yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLm9kLHRoaXMsYSxiKSkpLmNhbGwoKX07Xy5tLkdoPWZ1bmN0aW9uKCl7dGhpcy5vZCh0aGlzLmguYWM9PTIpfTtfLm0uSWg9ZnVuY3Rpb24oKXt0aGlzLmwub2EoKT8hdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5qPXRoaXMubC5vYSgpLHRoaXMuaC5uYSh0aGlzLmopLFN2KHRoaXMpKTp0aGlzLmwubmEodGhpcy5qKX07CnZhciBTdj1mdW5jdGlvbihhLGIpe2lmKHdpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UpdHJ5e3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UuZ2V0SW5zdGFuY2UoKS5yZXN0b3JlKCl9Y2F0Y2goYyl7fVJ2KGEubyxhLmopO2EuRz0hMTshYiYmYS5vIGluIHNxJiZRbSgidGVfYXBlIix7c2w6YS5vfSk7TnYoYS5oLDApO012KGEuaCwxLCEwKTthLkYuWWYoISFiKTt3aW5kb3cuc2V0VGltZW91dCgoMCxfLnkpKGEuRi5xZCxhLkYsYS5nLlBiPyJhdXRvIjphLm8sYS5qLCgwLF8ueSkoYS5mYixhKSx2b2lkIDAsdm9pZCAwKSwwKX07ClB2LnByb3RvdHlwZS5mYj1mdW5jdGlvbihhLGIsYyl7dHlwZW9mIHRoaXMuZ2I9PSJmdW5jdGlvbiImJnRoaXMuZ2IoKTt0aGlzLmguaXNWaXNpYmxlKCkmJnRoaXMuaC5hYz09MSYmKGM/KFR2KHRoaXMpLE12KHRoaXMuaCwtMSwhMCksYz09Mj9Mdih0aGlzLmgsUi53Zyk6THYodGhpcy5oLFIuQ2UpKTooTnYodGhpcy5oLGEpLGImJih0aGlzLmwmJnRoaXMubC5uYSh0aGlzLmopLHRoaXMuaC5OYSh0aGlzLm8pLE12KHRoaXMuaCwyKSkpKX07dmFyIFR2PWZ1bmN0aW9uKGEpe1J2KCk7d2luZG93LnNldFRpbWVvdXQoKDAsXy55KShhLkYucmVzdG9yZSxhLkYsbnVsbCksMCl9O1B2LnByb3RvdHlwZS5SYj1mdW5jdGlvbihhKXthfHx0aGlzLlFjKCk7dGhpcy5sJiZ0aGlzLmwuUmIoYSk7dGhpcy5CJiZ0aGlzLkIucGEoYSl9O3ZhciB6bj1mdW5jdGlvbihhKXtpZihhJiYoYT1TdHJpbmcoYSksYT1hLnNwbGl0KCIuIiksYS5sZW5ndGgpKXtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyl7dmFyIGQ9YVtjXTtpZighKGQmJmQgaW4gYikpcmV0dXJuO2I9YltkXX1yZXR1cm4gYn19O3ZhciBVdj1udWxsLFZ2PWZ1bmN0aW9uKGEpe2lmKCFVdil7dmFyIGIsYyxkLGU7YSYmKCJrZXkiaW4gYSYmKGI9YS5rZXkpLCJzZXJ2ZXJQYXJhbXMiaW4gYSYmKGM9YS5zZXJ2ZXJQYXJhbXMpLCJ0aW1lSW5mbyJpbiBhJiYoZD1hLnRpbWVJbmZvKSwicmVtb3RlQXBpUHJveHlIYW5kbGVycyJpbiBhJiYoZT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLChhPXlyKCkpJiYoYz1hKSk7YT0wO2lmKHRxPT0idGVfbGliInx8Xy5XYylhPTM7VXY9bmV3IHd2KHZvaWQgMCxuZXcgWnMoe2FwaUtleTpiLGhjOmEsdmU6ITAsdHJhY2tWaXNpYmlsaXR5OmM9PSJ0dmlzIn0pLHZvaWQgMCx2b2lkIDAsYixjLGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsZSk7VXYuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9O1V2LmlzQXZhaWxhYmxlPVV2LlNhO1V2LmdldFN1cHBvcnRlZExhbmd1YWdlcz1Vdi56YztVdi5nZXRQYWdlTGFuZ3VhZ2U9VXYuUGM7VXYuc2V0Q2xpY2tUaHJvdWdoPVV2LllmO1V2LnRyYW5zbGF0ZVBhZ2U9ClV2LnFkO1V2LnJlc3RvcmU9VXYucmVzdG9yZTtVdi5pc1RyYW5zbGF0aW5nPVV2LnBnO1V2LnNldENoZWNrVmlzaWJpbGl0eT1Vdi5QaX1yZXR1cm4gVXZ9O1Z2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFV2fTt2YXIgV3Y9bnVsbCxYdj1mdW5jdGlvbihhLGIpe1d2fHwoV3Y9bmV3IFB2KGEsYiksV3YuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9KTtyZXR1cm4gV3Z9O1h2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFd2fTsKdmFyIFl2PWZ1bmN0aW9uKCl7dmFyIGE9em4oImdvb2dsZS50cmFuc2xhdGUubSIpO2F8fChmcygpLF8ucmMoImdvb2dsZS50cmFuc2xhdGUubSIsUSksYT1RKTtpZihhKWZvcih2YXIgYiBpbiBSKWlmKFJbYl0hPT1PYmplY3QucHJvdG90eXBlW1JbYl1dJiZSW2JdKXt2YXIgYz1SW2JdKCk7UltiXT1hW2NdP2FbY106Z3N9Xy5vaShfLlppKHBxLDEpKSYmKGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxiLnRleHRDb250ZW50PSJcbiAgLnRyYW5zbGF0ZWQtbHRye1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50cmFuc2xhdGVkLXJ0bHtcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgIixhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYXx8KGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaGVhZCIpLGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LApjLmluc2VydEJlZm9yZShhLGMuZmlyc3RDaGlsZCkpLGEuYXBwZW5kQ2hpbGQoYikpO0JuPT0xPyhfLnJjKCJnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UiLFZ2KSxRbSgidGVfbGkiKSk6KF8ucmMoImdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudCIsWHYpLFB2LnByb3RvdHlwZS5kaXNwb3NlPVB2LnByb3RvdHlwZS5kaXNwb3NlLFB2LnByb3RvdHlwZS5zaG93QmFubmVyPVB2LnByb3RvdHlwZS5SaSxQdi5wcm90b3R5cGUuc2V0RW5hYmxlZD1Qdi5wcm90b3R5cGUuUmIsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LkZsb2F0UG9zaXRpb24iLEp2KSxKdi5UT1BfTEVGVD0xLEp2LlRPUF9SSUdIVD0yLEp2LkJPVFRPTV9SSUdIVD0zLEp2LkJPVFRPTV9MRUZUPTQsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LklubGluZUxheW91dCIsSHYpLEh2LlZFUlRJQ0FMPTAsSHYuSE9SSVpPTlRBTD0xLEh2LlNJTVBMRT0KMik7Q24oKX07CmlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpWXYoKTtlbHNlIGlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fcHJvdG9Db25maWcpe3JxPW5ldyBEYXRlO3ZhciBadj1uZXcgbHEod2luZG93Lmdvb2dsZS50cmFuc2xhdGUuX3Byb3RvQ29uZmlnKTtPbj1fLk4oWnYsMjIpfHwiIjttcT1fLk4oWnYsNil8fCJwcm9kIjtucT1fLk4oWnYsMTIpfHwiIjtvcT1fLk4oWnYsMSl8fCJlbiI7QW49Xy5OKFp2LDIpfHwiIjt2YXIgJHY7KCR2PV8uYmooWnYsanEsMykpJiYocHE9JHYpO18uTihadiw4KTtxcT1fLk0oWnYsMTcpO3NxPXt9O3ZhciBhdzthdz1zbShadiwxOCxfLmFqKCkpO2Zvcih2YXIgYnc9MDtidzxhdy5sZW5ndGg7YncrKylzcVthd1tid11dPSEwO0JuPV8uTihadiw1KT09ImxpYiI/MTowO3RxPShfLk4oWnYsNCl8fCJ0ZSIpKwooQm49PTE/Il9saWIiOiIiKTtmcT1fLk4oWnYsOSl8fCIiO3ZhciBjdzsoY3c9Xy5OKFp2LDEwKSl8fChjdz1fLk4oWnYsMTEpKTt1cT1jd3x8IiI7dnE9Imh0dHBzOi8vIjt2YXIgZHc7ZHc9Xy5OKFp2LDEzKTt2YXIgZXc9dnErKGR3fHwiIikrIi90cmFuc2xhdGVfc3RhdGljLyI7d3E9ZXcrImltZy90ZV9iay5naWYiO3hxPWV3KyJpbWcvdGVfY3RybDMuZ2lmIjt6cT1ldysiaW1nL2xvYWRpbmcuZ2lmIjtBcT1fLk4oWnYsMTQpfHwiIjt5cT1fLk4oWnYsMTUpfHwiIjtCcT1fLk4oWnYsMTYpfHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKTtZdigpfTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCg=="}},"time_used":40,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":18,"receive":20,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81107.1bba59e2089e58347859.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.478Z","timestamp":1785136901478,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81107.1bba59e2089e58347859.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a168c40-1a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 27 May 2026 06:16:32 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/27/2026 10:28:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 472e823f1d2e18ff5c94ed93d4ced87a\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":422,"size_decoded":1070,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (422), with no line terminators","md5":"bbedb6cfb6fdedcd16b81f2902fc0dd3","sha1":"a08e4fbb5cf25c5f36e5205c1daaef7e8932a13a","sha256":"a66450b6e17ba000dfee8e666e946eafb12a80bdece569b3d84ee53deeb26719","sha512":"ddd2ce1956348275866bef49d9e080afd694d048db9dee2058a369a7b03877c8fbbbcca91d67e5c712789bff19c9bae30838e8fe3b0cedf48ec09bf240623705","ssdeep":"","tlshash":"60e055a3f418822e3a12ad3b1390474fa069f8476803b658ea85b51800c36e328b1708","first_seen":"2026-05-29T10:56:22.456907Z","last_seen":"2026-07-28T06:17:53.610406Z","times_seen":322,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdm1jVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtdm1jVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKX0uZm9vdGVyLVlCSk16QV9se2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXZtY1YpO2JvcmRlci1yYWRpdXM6MCAwIDZweCA2cHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87Zm9udC1zaXplOjEzcHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDoxN3B4O21heC1oZWlnaHQ6NjVweDttaW4taGVpZ2h0OjQwcHg7cGFkZGluZzo5cHggMjBweDt0ZXh0LWFsaWduOmNlbnRlcn0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/tesco.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.044Z","timestamp":1785136902044,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /tesco.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCKAIA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.527Z","timestamp":1785136905527,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCKAIA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCWALR.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.553Z","timestamp":1785136905553,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCWALR.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94232.ab6731b698a8c2854a90.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.288Z","timestamp":1785136901288,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94232.ab6731b698a8c2854a90.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-740\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e3d03ad12b8ff0460e939d830f428ec5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1856,"size_decoded":1343,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1856), with no line terminators","md5":"99c169cccd9c810bfd0d3e50e053d9dd","sha1":"f7c962c5226ce8518e23fcd82bbd02e44b3cd8ba","sha256":"ba11ca3b195a5ed5130a9fdfe05087f5b075dbec6ddff0fbc0ee82ef8a378a37","sha512":"02bba56d2baac91f2618fc15e25d5eb7e986a57c956cd280f3ff695e4d215d29c10a2730d07a71b393c7da7e62a644bc9d417c3aef3b60af475b9f6330a25d50","ssdeep":"","tlshash":"0331f104a050d9f5e212d7788e5dbb7820d13b22ca613da7fe53de0ed086be5e122f24","first_seen":"2026-07-16T20:48:56.389736Z","last_seen":"2026-08-10T05:01:44.095694Z","times_seen":632,"resource_available":false,"data":"LmxvYWRlci1NZ2Y4RUZ3S3tib3R0b206MDtmb250LXNpemU6MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjAgYXV0bztvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZTt3aGl0ZS1zcGFjZTpub3dyYXB9LmxvYWRlci1NZ2Y4RUZ3Sy5zdGF0aWMtTWdmOEVGd0t7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpzdGF0aWN9LmxvYWRlci1NZ2Y4RUZ3SzphZnRlcntjb250ZW50OiIgIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3S3tib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3BhY2l0eToxO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDpjdXJyZW50Q29sb3I7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItbG9hZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdCkpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOmZpcnN0LWNoaWxke2FuaW1hdGlvbjp0di1idXR0b24tbG9hZGVyLU1nZjhFRndLIDFzIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouMXN9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3SzpudGgtY2hpbGQoMil7YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0sgMXMgaW5maW5pdGU7YW5pbWF0aW9uLWRlbGF5Oi4zc30ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOm50aC1jaGlsZCgzKXthbmltYXRpb246dHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyAxcyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouNDVzfX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLC5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLe2hlaWdodDo2cHg7d2lkdGg6NnB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLOm5vdCg6bGFzdC1jaGlsZCksLmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Szpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnNtYWxsLU1nZjhFRndLe2hlaWdodDo0cHg7d2lkdGg6NHB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suc21hbGwtTWdmOEVGd0s6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDozcHh9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Sy5ibGFjay1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0sud2hpdGUtTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suZ3JheS1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnByaW1hcnktTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX1Aa2V5ZnJhbWVzIHR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0t7MCUsdG97b3BhY2l0eToxfTYwJXtvcGFjaXR5Oi40fTMwJXtvcGFjaXR5Oi4yfX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32857.e4968cc906ac5769906a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.486Z","timestamp":1785136901486,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32857.e4968cc906ac5769906a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-36c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ceee0499da1703c908987179039f4eb9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":876,"size_decoded":1159,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (876), with no line terminators","md5":"2300c14fa93a6ca1be5ffcb4cde75b7a","sha1":"72f13b32bf8fc0e3ab8b60346fefa2fca04e68bd","sha256":"d1c022b9f3d492df3952eec63edac14172bf0bef9d6fc6d4b74ec034fb3daf44","sha512":"f696e9482d69b33dd34f340bf9db4d17972f5e08b58b5bd428647093fced8bfa93ad0aa0ae0ddb380e127ec490ea2c07363d59641c264138a29601add8b7c743","ssdeep":"","tlshash":"0d119088b301e03e7d0f2a3e439ac1dc62149852e9012f7db172d17044c57d676f252c","first_seen":"2026-06-30T21:57:43.416866Z","last_seen":"2026-07-28T06:17:53.357212Z","times_seen":228,"resource_available":false,"data":"LnN1bW1hcnktRTZ0eklRa1J7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQpKTtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7ZmxleDpub25lO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MDtwYWRkaW5nLWJsb2NrOjAgMDtwYWRkaW5nLWlubGluZToxMnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2lkdGg6MTAwJX0uc3VtbWFyeS1FNnR6SVFrUi5ob3ZlcmVkLUU2dHpJUWtSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc3VtbWFyeS1FNnR6SVFrUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LnN1bW1hcnktRTZ0eklRa1I6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5jYXJldC1FNnR6SVFrUntoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ibG9jazoycHggMnB4O21hcmdpbi1pbmxpbmU6YXV0byAwO3dpZHRoOjE4cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.619Z","timestamp":1785136901619,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-6018\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e622166be0d60b4d934922e63cc9f571\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":24600,"size_decoded":7957,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"d746cbb1cbb3033c0484bc6acc81a55f","sha1":"25835aa4b4538d7962fa37c481b6f7bfcda4defb","sha256":"32489cc5023595f6e286bacc217f9666840467c5cb7f6a71e6fb993778a0f9f6","sha512":"88e18428248f514fce026ba9332b9229d8c5a25977939e792b749ec42051dc847c18d6dcc6d9880fff271e42f1b5e048da19ecc06a555fd9b1e0b749752b605e","ssdeep":"768:ncRuzQtjfXqCO3EDR9kE9OO4f5B1i/RHUFLqhBRso7HiqZEFhSoO0JJyERE+wOjb:nPanOeH9TO+eFNrWJfeZP","tlshash":"83b29612655d58eb97f207a3ad70284bd2339da71b0fad54309d44df3cae821227eb71","first_seen":"2026-07-20T16:56:18.378997Z","last_seen":"2026-07-28T06:17:53.622711Z","times_seen":97,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTc1NThdLHs5NjA0NjQoZSx0LG4pe3ZhciBpO24uZCh0LHtNYXJrTG9jYXRpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlLkFib3ZlQmFyPSJBYm92ZUJhciIsZS5CZWxvd0Jhcj0iQmVsb3dCYXIiLGUuVG9wPSJUb3AiLGUuQm90dG9tPSJCb3R0b20iLGUuUmlnaHQ9IlJpZ2h0IixlLkxlZnQ9IkxlZnQiLGUuQWJzb2x1dGU9IkFic29sdXRlIixlLkFic29sdXRlVXA9IkFic29sdXRlVXAiLGUuQWJzb2x1dGVEb3duPSJBYnNvbHV0ZURvd24ifShpfHwoaT17fSkpfSw1MTI0MzcoZSx0LG4pe24uZCh0LHtUZXh0SW1hZ2VDYWNoZXNDb250YWluZXI6KCk9PmR9KTt2YXIgaSxvPW4oMTM4NjM4KSxyPW4oMTQxNjUpLHM9big1OTA4OTQpOyFmdW5jdGlvbihlKXtlLkxlZnQ9ImxlZnQiLGUuQ2VudGVyPSJjZW50ZXIiLGUuUmlnaHQ9InJpZ2h0In0oaXx8KGk9e30pKTt2YXIgYT1uKDkxODc3OSksaD1uKDE1MTIxKTtjb25zdCBsPSgwLGguY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCxhLnNpemUpKHt3aWR0aDowLGhlaWdodDowfSksMSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlLHQsbixpLHIsYT0iY2VudGVyIixoPTApe3RoaXMuX2xpbmVzPWUuc3BsaXQoL1teXFNcclxuXSooPzpcclxufFxyfFxuKS8pLHRoaXMuX2ZvbnQ9ZnVuY3Rpb24oZSx0LG4saSl7cmV0dXJuKDAscy5tYWtlRm9udCkoaSxuLGAke2U/ImJvbGQgIjoiIn0ke3Q/Iml0YWxpYyAiOiIifWApfSh0LG4saSxyKSx0aGlzLl9mb250U2l6ZT1yLHRoaXMuX3ZlcnRpY2FsUGFkZGluZz1+fihyLzYpLHRoaXMuX3RleHRBbGlnbj1hLHRoaXMuX2xpbmVTcGFjaW5nPWg7Y29uc3QgYz0oMCxvLmVuc3VyZU5vdE51bGwpKGwuZ2V0Q29udGV4dCgiMmQiKSk7Yy5mb250PXRoaXMuX2ZvbnQsYy50ZXh0QmFzZWxpbmU9InRvcCI7bGV0IGQ9MDtmb3IobGV0IGU9MDtlPHRoaXMuX2xpbmVzLmxlbmd0aDsrK2Upe2NvbnN0IHQ9dGhpcy5fbGluZXNbZV0sbj1jLm1lYXN1cmVUZXh0KHQpLndpZHRoO2Q9TWF0aC5tYXgoZCxuKX10aGlzLnRleHRJbWFnZVdpZHRoPWQrMSx0aGlzLnRleHRJbWFnZUhlaWdodD10aGlzLl9saW5lcy5sZW5ndGgqcisodGhpcy5fbGluZXMubGVuZ3RoLTEpKnRoaXMuX2xpbmVTcGFjaW5nK3RoaXMuX3ZlcnRpY2FsUGFkZGluZ31wYWludFRvKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOm99PWU7bi5zYXZlKCk7Y29uc3Qgcj10LmxvY2F0aW9uO24udHJhbnNsYXRlKE1hdGgucm91bmQoZnVuY3Rpb24oZSx0LG4pe2xldCBpPWU7c3dpdGNoKHQpe2Nhc2UibGVmdCI6YnJlYWs7Y2FzZSJyaWdodCI6aS09bjticmVhaztjYXNlImNlbnRlciI6aS09bi8yfXJldHVybiBNYXRoLnJvdW5kKGkpfShyLngsci5ob3J6QWxpZ24sdGhpcy50ZXh0SW1hZ2VXaWR0aCkqaSksTWF0aC5yb3VuZChmdW5jdGlvbihlLHQsbil7bGV0IGk9ZTtzd2l0Y2godCl7Y2FzZSJ0b3AiOmJyZWFrO2Nhc2UiYm90dG9tIjppLT1uO2JyZWFrO2Nhc2UibWlkZGxlIjppLT1uLzJ9cmV0dXJuIE1hdGgucm91bmQoaSl9KHIueSxyLnZlcnRBbGlnbix0aGlzLnRleHRJbWFnZUhlaWdodCkqbykpO2NvbnN0IHM9dC5zdHlsZTtsZXQgYTtzd2l0Y2gobi50ZXh0QmFzZWxpbmU9InRvcCIsbi5mb250PXRoaXMuX2ZvbnQsbi5saW5lSm9pbj0icm91bmQiLG4uZmlsbFN0eWxlPXMuZmlsbFN0eWxlLHMuc3Ryb2tlU3R5bGUmJihuLnN0cm9rZVN0eWxlPXMuc3Ryb2tlU3R5bGUpLHMubGluZVdpZHRoJiYobi5saW5lV2lkdGg9cy5saW5lV2lkdGgpLHRoaXMuX3RleHRBbGlnbil7Y2FzZSJsZWZ0IjphPTAsbi50ZXh0QWxpZ249ImxlZnQiO2JyZWFrO2Nhc2UicmlnaHQiOmE9dGhpcy50ZXh0SW1hZ2VXaWR0aC0xLG4udGV4dEFsaWduPSJyaWdodCI7YnJlYWs7ZGVmYXVsdDphPXRoaXMudGV4dEltYWdlV2lkdGgvMixuLnRleHRBbGlnbj0iY2VudGVyIn1sZXQgbD10aGlzLl92ZXJ0aWNhbFBhZGRpbmc7KDAsaC5kcmF3U2NhbGVkKShuLGksbywoKCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9saW5lcylzLnN0cm9rZVN0eWxlJiZuLnN0cm9rZVRleHQoZSxhLGwpLG4uZmlsbFRleHQoZSxhLGwpLGwrPXRoaXMuX2ZvbnRTaXplLGwrPXRoaXMuX2xpbmVTcGFjaW5nfSkpLG4ucmVzdG9yZSgpfX1jbGFzcyBkIGV4dGVuZHMgci5BYnN0cmFjdE1hcENvbnRhaW5lcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX21heFNpemU9ZSx0aGlzLl9rZXlzUXVldWU9W119Z2V0KGUpe2NvbnN0e2ZvbnRTaXplOnQsdGV4dDpuLGFsaWduOmksZm9udDpvLGJvbGQ6YSxpdGFsaWM6aCxsaW5lU3BhY2luZzpsPTB9PWU7aWYoIW58fCF0fHwhaSlyZXR1cm4gbnVsbDtjb25zdCBkPSgwLHMubWFrZUZvbnQpKHQsbyxoPyJpdGFsaWMiOiIiLGE/ImJvbGQiOiIiKSxmPSgwLHIuZ2V0RGVmYXVsdDMpKHRoaXMuX21hcCxsLGksZCxuZXcgTWFwKTtsZXQgZz1mLmdldChuKTtyZXR1cm4gdm9pZCAwIT09Z3x8KHRoaXMuX3NpemU+PXRoaXMuX21heFNpemU/dGhpcy5fZGVsZXRlRmlyc3RLZXkoKTorK3RoaXMuX3NpemUsdGhpcy5fa2V5c1F1ZXVlLnB1c2goW2QsaSxsLG5dKSxnPW5ldyBjKG4sYSxoLG8sdCxpLGwpLGYuc2V0KG4sZykpLGd9X2RlbGV0ZUZpcnN0S2V5KCl7Y29uc3QgZT10aGlzLl9rZXlzUXVldWUuc2hpZnQoKSxbdCxuLGkscl09ZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFwLmdldChpKSksYT0oMCxvLmVuc3VyZURlZmluZWQpKHMuZ2V0KG4pKSxoPSgwLG8uZW5zdXJlRGVmaW5lZCkoYS5nZXQodCkpO2guZGVsZXRlKHIpLDA9PT1oLnNpemUmJmEuZGVsZXRlKHQpLDA9PT1hLnNpemUmJnMuZGVsZXRlKG4pLDA9PT1zLnNpemUmJnRoaXMuX21hcC5kZWxldGUoaSl9fX0sMjkzNDE4KGUsdCxuKXtuLmQodCx7Y29udmVydFBvaW50c1RvU2NyZWVuRGltZW5zaW9uOigpPT5hLGRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlOigpPT5oLAppc0V4dGVuZEluU2FtZURpcmVjdGlvbjooKT0+c30pO3ZhciBpPW4oMTM4NjM4KSxvPW4oMTc5Njc0KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGU9PT1vLkR3Z0V4dGVuZC5Ob25lP3Q6dD09PW8uRHdnRXh0ZW5kLk5vbmU/ZTplPT09by5Ed2dFeHRlbmQuQm90aHx8dD09PW8uRHdnRXh0ZW5kLkJvdGg/by5Ed2dFeHRlbmQuQm90aDplPT09dD90Om8uRHdnRXh0ZW5kLkJvdGh9ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlPT09by5Ed2dFeHRlbmQuQm90aHx8ZT09PXR9ZnVuY3Rpb24gYShlLHQsbixzLGEsaCxsLGMsZCxmKXtsZXQgZyx4O2lmKG51bGw9PT1lJiZudWxsPT09bil7aWYoYSE9PW8uRHdnRXh0ZW5kLlJpZ2h0JiZhIT09by5Ed2dFeHRlbmQuQm90aClyZXR1cm4gbnVsbDthPW8uRHdnRXh0ZW5kLkJvdGgsZz0wLHg9Y31lbHNlIG51bGw9PT1lPyhnPWwuaW5kZXhUb0Nvb3JkaW5hdGUoKDAsaS5lbnN1cmVOb3ROdWxsKShuKS0xKSxhPXIoYSxvLkR3Z0V4dGVuZC5MZWZ0KSk6Zz1sLmluZGV4VG9Db29yZGluYXRlKGUpLG51bGw9PT1uPyh4PWwuaW5kZXhUb0Nvb3JkaW5hdGUoKDAsaS5lbnN1cmVOb3ROdWxsKShlKS0xKSxhPXIoYSxvLkR3Z0V4dGVuZC5SaWdodCkpOng9bC5pbmRleFRvQ29vcmRpbmF0ZShuKTtjb25zdCB1PWcsXz1oLnByaWNlVG9Db29yZGluYXRlKHQsZCksdz14LHA9aC5wcmljZVRvQ29vcmRpbmF0ZShzLGQpO3JldHVybiB2b2lkIDAhPT1mPyhmLngxPXUsZi55MT1fLGYueDI9dyxmLnkyPXAsZi5leHRlbmQ9YSxmKTp7eDE6dSx5MTpfLHgyOncseTI6cCxleHRlbmQ6YX19ZnVuY3Rpb24gaChlLHQsbixpLHIpe2xldCBzPSExO3N3aXRjaChuKXtjYXNlIG8uRHdnRXh0ZW5kLkJvdGg6cz0hMDticmVhaztjYXNlIG8uRHdnRXh0ZW5kLlJpZ2h0OnM9bnVsbD09PXR8fG51bGw9PT1lfHxlPD1yO2JyZWFrO2Nhc2Ugby5Ed2dFeHRlbmQuTGVmdDpzPW51bGw9PT10fHx0Pj1pO2JyZWFrO2RlZmF1bHQ6bnVsbCE9PWUmJm51bGwhPT10P3M9KGU+PWl8fHQ+PWkpJiYoZTw9cnx8dDw9cik6bnVsbCE9PWUmJm51bGw9PT10P3M9ZTw9cjpudWxsPT09ZSYmbnVsbCE9PXQmJihzPXQ+PWkpfXJldHVybiBzfX0sNDc3Mzg4KGUsdCxuKXtuLmQodCx7RHdnTGFiZWxQYW5lVmlld0NvbnN0YW50czooKT0+aSxjYWxjdWxhdGVEd2dMYWJlbHNNYXJnaW5zOigpPT5hLGNhbGN1bGF0ZUxhYmVsSGVpZ2h0OigpPT5zfSk7dmFyIGksbz1uKDU4OTUxMSkscj1uKDU0ODU2MCk7ZnVuY3Rpb24gcyhlLHQsbil7bGV0IHI9bjtzd2l0Y2godCl7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLlRpbnk6cj0uNiplO2JyZWFrO2Nhc2Ugby5QbG90U3ltYm9sU2l6ZS5TbWFsbDpyPS44KmU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLk5vcm1hbDpyPWU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLkxhcmdlOnI9MS41KmU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLkh1Z2U6cj0yKmU7YnJlYWs7ZGVmYXVsdDoibnVtYmVyIj09dHlwZW9mIHQmJnQ+MCYmKHI9dC9pLkZPTlRfU0laRV9NVUxUKX1yZXR1cm4gcn1mdW5jdGlvbiBhKGUsdCxuKXtjb25zdCBvPWUubW9kZWwoKS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCksYT1NYXRoLnJvdW5kKG8qaS5BVVRPX1NJWkVfTVVMVCksaD1zKGkuTk9STUFMX1NJWkUsdC5zaXplLGEpKmkuU0hBUEVfSEVJR0hUX01VTFQsbD1NYXRoLnJvdW5kKGgvMik7c3dpdGNoKHQuc3R5bGUpe2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsVXA6Y2FzZSByLkR3Z0xhYmVsU3R5bGUuTGFiZWxMZWZ0VXA6Y2FzZSByLkR3Z0xhYmVsU3R5bGUuTGFiZWxSaWdodFVwOnJldHVybntib3R0b21QaXhlbE1hcmdpbjpsLHRvcFBpeGVsTWFyZ2luOjB9O2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsRG93bjpjYXNlIHIuRHdnTGFiZWxTdHlsZS5MYWJlbExlZnREb3duOmNhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsUmlnaHREb3duOnJldHVybntib3R0b21QaXhlbE1hcmdpbjowLHRvcFBpeGVsTWFyZ2luOmx9O2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsTGVmdDpjYXNlIHIuRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0OmNhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsQ2VudGVyOnJldHVybntib3R0b21QaXhlbE1hcmdpbjpsLHRvcFBpeGVsTWFyZ2luOmx9fXJldHVybntib3R0b21QaXhlbE1hcmdpbjowLHRvcFBpeGVsTWFyZ2luOjB9fSFmdW5jdGlvbihlKXtlLk5PUk1BTF9TSVpFPTUwLGUuQVVUT19TSVpFX01VTFQ9MSxlLlNIQVBFX0hFSUdIVF9NVUxUPS41LGUuU0hBUEVfV0lEVEhfTVVMVD0uNixlLkZPTlRfU0laRV9NVUxUPS4yNH0oaXx8KGk9e30pKX0sODc0MTM1KGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGU6KCk9PncsUGFuZVJlbmRlcmVyQWJzdHJhY3RTaGFwZTooKT0+dSxQYW5lUmVuZGVyZXJBYnN0cmFjdFN0cm9rZVNoYXBlOigpPT5ffSk7dmFyIGksbz1uKDEzODYzOCkscj1uKDczNjUzMSkscz1uKDc2ODMwNSksYT1uKDYwMTg0MSksaD1uKDg4NDI4KSxsPW4oNzYzKSxjPW4oNTEyNDM3KSxkPW4oOTI2MTQ5KSxmPW4oOTM0MzA1KSxnPW4oMTUxMjEpLHg9bigzMTg5NzQpOyFmdW5jdGlvbihlKXtlLlRyYW5zcGFyZW50PSJyZ2JhKDAsIDAsIDAsIDApIn0oaXx8KGk9e30pKTtjbGFzcyB1IGV4dGVuZHMgZi5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlLHQ9e3NraXBSZW5kZXJpbmdPcHRpbWl6YXRpb25zOiExfSl7c3VwZXIoKSx0aGlzLl9pdGVtcz1bXSx0aGlzLl9iYXJTcGFjaW5nPTAsdGhpcy5fdmVydE9mZnNldD0wLHRoaXMuX3RleHRDYWNoZT10LnRleHRDYWNoZXx8bmV3IGMuVGV4dEltYWdlQ2FjaGVzQ29udGFpbmVyKDVlMyksdGhpcy5fZHJhd09wZXJhdGlvbj10LnNraXBSZW5kZXJpbmdPcHRpbWl6YXRpb25zP3RoaXMuX2RyYXdXaXRob3V0T3B0aW1pemF0aW9ucy5iaW5kKHRoaXMpOnRoaXMuX2RyYXdXaXRoT3B0aW1pemF0aW9ucy5iaW5kKHRoaXMpLG51bGwhPT1lJiZ0aGlzLnNldERhdGEoZSl9aGl0VGVzdChlKXtjb25zdCB0PWwuSGl0VGFyZ2V0LlJlZ3VsYXI7bGV0IG49bnVsbAo7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpe2lmKCFpKWNvbnRpbnVlO2NvbnN0IG89dGhpcy5fY2FsY0JvdW5kaW5nQm94KGkpO2lmKG8mJigwLHMucG9pbnRJbkJveCkoZSxvKSl7Y29uc3QgZT17dG9vbHRpcDp0aGlzLl9nZXRUb29sdGlwKGksbyl9O249bmV3IGwuSGl0VGVzdFJlc3VsdCh0LGUpfX1yZXR1cm4gbn1zZXREYXRhKGUpe2lmKHRoaXMuX2hlaWdodD12b2lkIDAhPT1lLmhlaWdodD9lLmhlaWdodDplLndpZHRoLHRoaXMuX3dpZHRoPXZvaWQgMCE9PWUud2lkdGg/ZS53aWR0aDplLmhlaWdodCx0aGlzLl9jb2xvcj1lLmNvbG9yLHRoaXMuX2JvcmRlckNvbG9yPWUuYm9yZGVyQ29sb3IsdGhpcy5fdmVydE9mZnNldD1lLnZlcnRPZmZzZXR8fDAsZS50ZXh0JiYodGhpcy5fdGV4dD1lLnRleHQsdGhpcy5fZm9udFNpemU9ZS5mb250U2l6ZSx0aGlzLl9saW5lU3BhY2luZz1lLmxpbmVTcGFjaW5nLHRoaXMuX3RleHRDb2xvcj1lLnRleHRDb2xvcix0aGlzLl90ZXh0QWxpZ249ZS50ZXh0QWxpZ258fCJjZW50ZXIiKSx2b2lkIDAhPT1lLml0ZW1zJiZ2b2lkIDAhPT1lLmJhclNwYWNpbmcpe2NvbnN0IHQ9ZS52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsbj1lLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P2UuaXRlbXMubGVuZ3RoO3RoaXMuc2V0SXRlbXMobj50P2UuaXRlbXMuc2xpY2UodCxuKTpbXSxlLmJhclNwYWNpbmcpfX1zZXRJdGVtcyhlLHQpe3RoaXMuX3NldEJhc2VEYXRhKGUsdCl9X2RyYXdJbXBsKGUpe3RoaXMuX3ByZURyYXdJbml0KCksdGhpcy5fZHJhd09wZXJhdGlvbihlKX1fY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS52ZXJ0T2Zmc2V0LG49dGhpcy5fZ2V0VGV4dENhY2hlKGUpO2lmKCFuKXJldHVybjtjb25zdCBpPW4udGV4dEltYWdlV2lkdGgsbz1uLnRleHRJbWFnZUhlaWdodCxzPWkvMixhPWUueSt0K2UudGV4dFZlcnRPZmZzZXQsaD10PjA/MDotbyxsPXQ+MD9vOjAsYz1uZXcgci5Qb2ludChlLmNlbnRlci1zLGEraCksZD1uZXcgci5Qb2ludChlLmNlbnRlcitzLGErbCk7cmV0dXJuKDAsci5ib3gpKGMsZCl9X3VuaW9uQm94KGUsdCl7Y29uc3Qgbj1NYXRoLm1pbihlLm1pbi54LHQubWluLngpLGk9TWF0aC5tYXgoZS5tYXgueCx0Lm1heC54KSxvPU1hdGgubWluKGUubWluLnksdC5taW4ueSkscz1NYXRoLm1heChlLm1heC55LHQubWF4LnkpLGE9bmV3IHIuUG9pbnQobixvKSxoPW5ldyByLlBvaW50KGkscyk7cmV0dXJuKDAsci5ib3gpKGEsaCl9X2dldFRvb2x0aXAoZSx0KXtpZihlLnRvb2x0aXApcmV0dXJue2NvbnRlbnQ6e3R5cGU6InRleHQiLGRhdGE6ZS50b29sdGlwfSx0b29sdGlwRGVsYXk6MjAwLGV4dGVuZE1hcmdpbjohMCxyZWN0Ont4OnQubWluLngseTp0Lm1pbi55LHc6TWF0aC5hYnModC5tYXgueC10Lm1pbi54KSxoOk1hdGguYWJzKHQubWF4LnktdC5taW4ueSl9fX1fc2V0QmFzZURhdGEoZSx0KXt0aGlzLl9pdGVtcy5sZW5ndGg9MCx0aGlzLl9iYXJTcGFjaW5nPXQ7Zm9yKGNvbnN0IHQgb2YgZSl7aWYoKDAsYS5pc05hTikodC55KSljb250aW51ZTtjb25zdCBlPXZvaWQgMD09PXQud2lkdGg/KDAsby5lbnN1cmVEZWZpbmVkKSh0aGlzLl93aWR0aCk6dC53aWR0aCxuPXZvaWQgMD09PXQuaGVpZ2h0PygwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5faGVpZ2h0KTp0LmhlaWdodCxpPXZvaWQgMD09PXQudmVydE9mZnNldD90aGlzLl92ZXJ0T2Zmc2V0OnQudmVydE9mZnNldCxyPWk+MD9uOi1uO3RoaXMuX2l0ZW1zLnB1c2goe3dpZHRoOmUsaGVpZ2h0Om4sdmVydE9mZnNldDppLHRleHRWZXJ0T2Zmc2V0OnIsc2hhcGVXaWR0aDowLHNoYXBlSGVpZ2h0OjAsc3RlcFg6MCxzdGVwWTowLC4uLnR9KX19X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IG49dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1uKXJldHVybjtjb25zdCBpPXQuY2VudGVyLG89dC52ZXJ0T2Zmc2V0LHI9dC55K28rdC50ZXh0VmVydE9mZnNldDtsZXQgcztzPXQuc3R5bGUmJnZvaWQgMCE9PXQuc3R5bGUudGV4dENvbG9yP3Quc3R5bGUudGV4dENvbG9yOnRoaXMuX3RleHRDb2xvcjtjb25zdCBhPXtzdHlsZTp7ZmlsbFN0eWxlOnN9LGxvY2F0aW9uOnt4OmkseTpyLGhvcnpBbGlnbjpoLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOm8+MD9oLlZlcnRpY2FsQWxpZ24uVG9wOmguVmVydGljYWxBbGlnbi5Cb3R0b219fTtuLnBhaW50VG8oZSxhKX1fZHJhd1dpdGhPcHRpbWl6YXRpb25zKGUpe2xldCB0LG4saT1udWxsLG89ITE7Zm9yKGNvbnN0IHIgb2YgdGhpcy5faXRlbXMpKDAsYS5pc05hTikoci55KXx8KHIuc3R5bGUmJnZvaWQgMCE9PXIuc3R5bGUuY29sb3I/KHQ9ci5zdHlsZS5jb2xvcnx8InJnYmEoMCwgMCwgMCwgMCkiLG49ci5zdHlsZS5ib3JkZXJDb2xvcnx8InJnYmEoMCwgMCwgMCwgMCkiKToodD10aGlzLl9jb2xvcixuPXRoaXMuX2JvcmRlckNvbG9yKSwoaSE9PXR8fHguaXNTYWZhcmkpJiYoaT10LG8mJnRoaXMuX2VuZFBhdGgoZSksdGhpcy5fc3RhcnRQYXRoKGUsdCxuKSksdGhpcy5fZHJhd0l0ZW1TaGFwZShlLHIpLG89ITApO28mJnRoaXMuX2VuZFBhdGgoZSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5faXRlbXMpKDAsYS5pc05hTikodC55KXx8dGhpcy5fZHJhd0l0ZW1UZXh0KGUsdCl9X2RyYXdXaXRob3V0T3B0aW1pemF0aW9ucyhlKXtsZXQgdCxuO2Zvcihjb25zdCBpIG9mIHRoaXMuX2l0ZW1zKXtpZigoMCxhLmlzTmFOKShpLnkpKWNvbnRpbnVlO2NvbnN0IHI9KDAsby5lbnN1cmVEZWZpbmVkKShpLnN0eWxlKTt0PXIuY29sb3J8fCJyZ2JhKDAsIDAsIDAsIDApIixuPXIuYm9yZGVyQ29sb3J8fCJyZ2JhKDAsIDAsIDAsIDApIix0aGlzLl9zdGFydFBhdGgoZSx0LG4pLHRoaXMuX2RyYXdJdGVtU2hhcGUoZSxpKSx0aGlzLl9lbmRQYXRoKGUpLHRoaXMuX2RyYXdJdGVtVGV4dChlLGkpfX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lOygwLApnLmRyYXdTY2FsZWQpKG4saSxvLCgoKT0+dGhpcy5fZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKG4sdCkpKX1fZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7fV9wcmVEcmF3SW5pdCgpe31fc3RhcnRQYXRoKGUsdCxuKXt9X2VuZFBhdGgoZSl7fV9nZXRUZXh0Q2FjaGUoZSl7Y29uc3QgdD1lLnRleHR8fHRoaXMuX3RleHQsbj1lLmZvbnRTaXplfHx0aGlzLl9mb250U2l6ZSxpPWUubGluZVNwYWNpbmc/P3RoaXMuX2xpbmVTcGFjaW5nLG89ZS50ZXh0QWxpZ258fHRoaXMuX3RleHRBbGlnbixyPWUuZm9udD8/ZC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLHM9ZS5ib2xkPz8hMSxhPWUuaXRhbGljPz8hMTtyZXR1cm4gdGhpcy5fdGV4dENhY2hlLmdldCh7dGV4dDp0LGJvbGQ6cyxpdGFsaWM6YSxmb250OnIsZm9udFNpemU6bixsaW5lU3BhY2luZzppLGFsaWduOm99KX19Y2xhc3MgXyBleHRlbmRzIHV7X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSksaS5saW5lQ2FwPSJidXR0IixpLnN0cm9rZVN0eWxlPXR9X2VuZFBhdGgoZSl7ZS5jb250ZXh0LnN0cm9rZSgpfV9saW5lV2lkdGgoZSl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5mbG9vcigyKmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pKX19Y2xhc3MgdyBleHRlbmRzIHV7X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSksaS5saW5lQ2FwPSJidXR0IixpLmZpbGxTdHlsZT10LGkuc3Ryb2tlU3R5bGU9bn1fZW5kUGF0aChlKXtjb25zdCB0PWUuY29udGV4dDt0LmZpbGwoKSx0LnN0cm9rZSgpfV9saW5lV2lkdGgoZSl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5mbG9vcihlLmhvcml6b250YWxQaXhlbFJhdGlvKSl9fX0sNjUxOTY2KGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyQXJyb3dEb3duOigpPT5oLFBhbmVSZW5kZXJlckFycm93VXA6KCk9PmF9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSkscj1uKDY0MDc0NCk7Y2xhc3MgcyBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3NpZ249MCx0aGlzLl90aGluQXJyb3c9ITEsdGhpcy5fdGhpbkFycm93TGluZVdpZHRoPTAsdGhpcy5faGVhZEhlaWdodD0wLHRoaXMuX2Fycm93V2lkdGg9MH1zZXRJdGVtcyhlLHQpe3RoaXMuX3NldEJhc2VEYXRhKGUsdCl9X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86b309ZSxzPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYT10aGlzLl9zaWduLGg9dGhpcy5fYXJyb3dXaWR0aCxsPXRoaXMuX2hlYWRIZWlnaHQsYz1NYXRoLmFicyh0LmhlaWdodCksZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZj10LnZlcnRPZmZzZXQsZz1NYXRoLnJvdW5kKCh0LnkrZithKmMvMikqbykrcyx4PSgwLHIuY2VpbGVkRXZlbikoaCppKSx1PXgvMixfPU1hdGgucm91bmQoYypvKSx3PU1hdGgucm91bmQobCpvKTtuLnRyYW5zbGF0ZShkLGcpLHRoaXMuX3RoaW5BcnJvdz8obi5tb3ZlVG8oMCwwKSxuLmxpbmVUbygtdSwtdSphKSxuLm1vdmVUbygwLDApLG4ubGluZVRvKHUsLXUqYSksbi5tb3ZlVG8oMCwwKSxuLmxpbmVUbygwLC1fKmEpLG4ubW92ZVRvKC11LC1fKmEpLG4ubGluZVRvKHUsLV8qYSkpOihuLm1vdmVUbygwLDApLF88dz8obi5saW5lVG8oeCwtXyphKSxuLmxpbmVUbygteCwtXyphKSk6KG4ubGluZVRvKHgsLXcqYSksbi5saW5lVG8odSwtdyphKSxuLmxpbmVUbyh1LC1fKmEpLG4ubGluZVRvKC11LC1fKmEpLG4ubGluZVRvKC11LC13KmEpLG4ubGluZVRvKC14LC13KmEpKSxuLmxpbmVUbygwLDApKSxuLnRyYW5zbGF0ZSgtZCwtZyl9X3ByZURyYXdJbml0KCl7Y29uc3QgZT10aGlzLl9jYWxjdWxhdGVXaWR0aCgpO3RoaXMuX2Fycm93V2lkdGg9ZSx0aGlzLl9zaWduPXRoaXMuX2lzVXAoKT8tMToxLHRoaXMuX3RoaW5BcnJvdz1lPDQsdGhpcy5fdGhpbkFycm93TGluZVdpZHRoPU1hdGgubWF4KGUvMiwxKSx0aGlzLl9oZWFkSGVpZ2h0PU1hdGgucm91bmQoZSl9X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmZpbGxTdHlsZT10LGkuc3Ryb2tlU3R5bGU9bixpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSl9X2xpbmVXaWR0aChlKXtyZXR1cm4gdGhpcy5fdGhpbkFycm93P3RoaXMuX3RoaW5BcnJvd0xpbmVXaWR0aDpzdXBlci5fbGluZVdpZHRoKGUpfV9jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLnZlcnRPZmZzZXQsbj10aGlzLl9zaWduLG89dGhpcy5fYXJyb3dXaWR0aCxyPXRoaXMuX2hlYWRIZWlnaHQscz1NYXRoLmFicyhlLmhlaWdodCksYT1lLmNlbnRlci1vLGg9YSsyKm8sbD1lLnkrdCtuKk1hdGgucm91bmQocy8yKSxjPWwrKC1zLXIpKm4sZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9X2NhbGN1bGF0ZVdpZHRoKCl7cmV0dXJuIE1hdGgucm91bmQodGhpcy5fYmFyU3BhY2luZy80KX19Y2xhc3MgYSBleHRlbmRzIHN7X2lzVXAoKXtyZXR1cm4hMH19Y2xhc3MgaCBleHRlbmRzIHN7X2lzVXAoKXtyZXR1cm4hMX19fSwzMzA4NjEoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJDaXJjbGVTaGFwZTooKT0+c30pO3ZhciBpPW4oNzM2NTMxKSxvPW4oODc0MTM1KTtjb25zdCByPTIqTWF0aC5QSTtjbGFzcyBzIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJBYnN0cmFjdEZpbGxTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7Y29uc3Qgbj1NYXRoLm1heCh0LndpZHRoLHQuaGVpZ2h0KS8yLGk9dC5jZW50ZXIsbz10LnZlcnRPZmZzZXQscz10LnkrbztlLm1vdmVUbyhpK24scyksCmUuYXJjKGkscyxuLDAsciwhMSl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PU1hdGgubWF4KGUud2lkdGgsZS5oZWlnaHQpLzIsbj1lLmNlbnRlcixvPWUudmVydE9mZnNldCxyPWUueStvLHM9bi10LGE9bit0LGg9ci10LGw9cit0LGM9bmV3IGkuUG9pbnQocyxoKSxkPW5ldyBpLlBvaW50KGEsbCk7bGV0IGY9KDAsaS5ib3gpKGMsZCk7Y29uc3QgZz1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiBnJiYoZj10aGlzLl91bmlvbkJveChmLGcpKSxmfX19LDMwMjQ2OShlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckNyb3NzU2hhcGU6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9dC5jZW50ZXItci8yLGg9dC52ZXJ0T2Zmc2V0LGw9dC55LXMvMitoLGM9dGhpcy5fbGluZVdpZHRoKGUpLGQ9YyUyPy41OjAsZj1NYXRoLnJvdW5kKGEqaSk7bGV0IGc9TWF0aC5yb3VuZCgoYStyKSppKTsoZy1mKSUyIT1jJTImJihnKz0xKTtjb25zdCB4PU1hdGguZmxvb3IoKGYrZykvMikrZCx1PU1hdGgucm91bmQobCpvKTtsZXQgXz1NYXRoLnJvdW5kKChsK3MpKm8pOyhfLXUpJTIhPWMlMiYmKF8rPTEpO2NvbnN0IHc9TWF0aC5mbG9vcigodStfKS8yKStkO24ubW92ZVRvKHgsdSksbi5saW5lVG8oeCxfKSxuLm1vdmVUbyhmLHcpLG4ubGluZVRvKGcsdyl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUud2lkdGgsbj1lLmhlaWdodCxvPWUuY2VudGVyLXQvMixyPWUudmVydE9mZnNldCxzPWUueS1uLzIrcixhPW8saD1vK3QsbD1zLGM9cytuLGQ9bmV3IGkuUG9pbnQoYSxsKSxmPW5ldyBpLlBvaW50KGgsYyk7bGV0IGc9KDAsaS5ib3gpKGQsZik7Y29uc3QgeD1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiB4JiYoZz10aGlzLl91bmlvbkJveChnLHgpKSxnfX19LDc0NzQ2NShlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckRpYW1vbmQ6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7X2RyYXdJdGVtU2hhcGVVc2luZ0NTU1BpeGVscyhlLHQpe2NvbnN0IG49TWF0aC5yb3VuZCh0LmhlaWdodC8yKSxpPXQuY2VudGVyLG89dC52ZXJ0T2Zmc2V0LHI9dC55K287ZS5tb3ZlVG8oaSxyLW4pLGUubGluZVRvKGkrbixyKSxlLmxpbmVUbyhpLHIrbiksZS5saW5lVG8oaS1uLHIpLGUubGluZVRvKGksci1uKX1fY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9TWF0aC5yb3VuZChlLmhlaWdodC8yKSxuPWUuY2VudGVyLG89ZS52ZXJ0T2Zmc2V0LHI9ZS55K28scz1uLXQsYT1uK3QsaD1yLXQsbD1yK3QsYz1uZXcgaS5Qb2ludChzLGgpLGQ9bmV3IGkuUG9pbnQoYSxsKTtsZXQgZj0oMCxpLmJveCkoYyxkKTtjb25zdCBnPXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIGcmJihmPXRoaXMuX3VuaW9uQm94KGYsZykpLGZ9fX0sNTQ0MjQzKGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyRmxhZ1NoYXBlOigpPT5yfSk7dmFyIGk9big3MzY1MzEpLG89big4NzQxMzUpO2NsYXNzIHIgZXh0ZW5kcyBvLlBhbmVSZW5kZXJlckFic3RyYWN0RmlsbFN0cm9rZVNoYXBle19kcmF3SXRlbVNoYXBlVXNpbmdDU1NQaXhlbHMoZSx0KXtjb25zdCBuPXQud2lkdGgsaT10LmhlaWdodCxvPWkvMixyPShuLTMpLzMscz10LmNlbnRlci1uLzIsYT10LnZlcnRPZmZzZXQsaD10LnktbythO2UubW92ZVRvKHMsaCksZS5saW5lVG8ocyszLGgpLGUuYmV6aWVyQ3VydmVUbyhzK3IsaC1yLHMrMipyLGgrcixzK24saCksZS5saW5lVG8ocytuLGgrbyksZS5iZXppZXJDdXJ2ZVRvKHMrbi1yLGgrbytyLHMrbi0yKnIsaCtvLXIscyszLGgrbyksZS5saW5lVG8ocyszLGgraSksZS5saW5lVG8ocyxoK2kpLGUubGluZVRvKHMsaCl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUud2lkdGgsbj1lLmhlaWdodCxvPW4vMixyPWUuY2VudGVyLXQvMixzPWUudmVydE9mZnNldCxhPWUueS1vK3MsaD1yLGw9cit0LGM9YSxkPWErbixmPW5ldyBpLlBvaW50KGgsYyksZz1uZXcgaS5Qb2ludChsLGQpO2xldCB4PSgwLGkuYm94KShmLGcpO2NvbnN0IHU9c3VwZXIuX2NhbGNCb3VuZGluZ0JveChlKTtyZXR1cm4gdSYmKHg9dGhpcy5fdW5pb25Cb3goeCx1KSkseH19fSw4NDY1MjkoZSx0LG4pe24uZCh0LHtDb3JuZXJWZWN0b3JzQ2xvY2t3aXNlOigpPT5pLFBhbmVSZW5kZXJlckxhYmVsQmFzZTooKT0+YX0pO3ZhciBpLG89bigxMzg2MzgpLHI9big4ODQyOCkscz1uKDg3NDEzNSk7Y2xhc3MgYSBleHRlbmRzIHMuUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7c2V0SXRlbXMoZSx0KXt0aGlzLl9zZXRCYXNlRGF0YShlLHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2l0ZW1zKXtpZihlLmZvbnRTaXplKXtjb25zdCB0PWUuZm9udFNpemU7ZS5zdGVwWD1NYXRoLnJvdW5kKHQvMS41KSxlLnN0ZXBZPU1hdGgucm91bmQodC8yKS0xfWVsc2V7Y29uc3QgdD1lLmhlaWdodDtlLnN0ZXBYPU1hdGgucm91bmQodC8yKi42NSkrLjUsZS5zdGVwWT1lLnN0ZXBYfWUudmVydE9mZnNldD10aGlzLl9jYWxjVmVydE9mZnNldChlKTtjb25zdCB0PXRoaXMuX2dldFRleHRDYWNoZShlKTtpZihudWxsPT09dCl7ZS5zaGFwZVdpZHRoPTIqZS5zdGVwWCxlLnNoYXBlSGVpZ2h0PTIuNSplLnN0ZXBZO2NvbnRpbnVlfWNvbnN0IG49dC50ZXh0SW1hZ2VXaWR0aCxpPXQudGV4dEltYWdlSGVpZ2h0O2Uuc2hhcGVXaWR0aD1uKzIqZS5zdGVwWCxlLnNoYXBlSGVpZ2h0PWkrMiplLnN0ZXBZLGUudmVydE9mZnNldD10aGlzLl9jYWxjVmVydE9mZnNldChlKSxlLnRleHRIb3Jpek9mZnNldD10aGlzLl9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKSxlLnRleHRWZXJ0T2Zmc2V0PXRoaXMuX2dldFZlcnRpY2FsVGV4dE9mZnNldChlKX19Cl9jYWxjVmVydE9mZnNldChlKXtyZXR1cm4gZS52ZXJ0T2Zmc2V0fV9kcmF3Q29ybmVyKGUsdCxuLGkpe2NvbnN0e2NvbnRleHQ6byxob3Jpem9udGFsUGl4ZWxSYXRpbzpyfT1lLHM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKDIqcikpO28ubGluZVRvKHQtcyppLnByZXZQb2ludFNpZ25YLG4tcyppLnByZXZQb2ludFNpZ25ZKSxvLmFyY1RvKHQsbix0K3MqaS5uZXh0UG9pbnRTaWduWCxuK3MqaS5uZXh0UG9pbnRTaWduWSxzKX1fZ2V0QXJyb3dTaXplKGUpe3JldHVybiBlLnN0ZXBYfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gMH1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybiAwfV9oYXNUZXh0KGUpe3JldHVybiBCb29sZWFuKGUudGV4dCl8fEJvb2xlYW4odGhpcy5fdGV4dCl9X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IG49dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1uKXJldHVybjtjb25zdCBpPXQudGV4dEhvcml6T2Zmc2V0fHwwLHM9dC5jZW50ZXIraSxhPXQudmVydE9mZnNldCxoPXQueSthK3QudGV4dFZlcnRPZmZzZXQsbD10LnN0eWxlPy50ZXh0Q29sb3J8fHRoaXMuX3RleHRDb2xvcixjPXtzdHlsZTp7ZmlsbFN0eWxlOigwLG8uZW5zdXJlRGVmaW5lZCkobCl9LGxvY2F0aW9uOnt4OnMseTpNYXRoLmZsb29yKGgpLGhvcnpBbGlnbjpyLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOnIuVmVydGljYWxBbGlnbi5NaWRkbGV9fTtuLnBhaW50VG8oZSxjKX19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsbixpKXt0aGlzLnByZXZQb2ludFNpZ25YPWUsdGhpcy5wcmV2UG9pbnRTaWduWT10LHRoaXMubmV4dFBvaW50U2lnblg9bix0aGlzLm5leHRQb2ludFNpZ25ZPWl9fSFmdW5jdGlvbihlKXtlLnJpZ2h0VXA9bmV3IGgoMSwwLDAsMSksZS5yaWdodERvd249bmV3IGgoMCwxLC0xLDApLGUubGVmdERvd249bmV3IGgoLTEsMCwwLC0xKSxlLmxlZnRVcD1uZXcgaCgwLC0xLDEsMCl9KGl8fChpPXt9KSl9LDE2ODQ4NyhlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckxhYmVsQ2VudGVyOigpPT5sLFBhbmVSZW5kZXJlckxhYmVsRG93bjooKT0+cyxQYW5lUmVuZGVyZXJMYWJlbExlZnQ6KCk9PmEsUGFuZVJlbmRlcmVyTGFiZWxSaWdodDooKT0+aCxQYW5lUmVuZGVyZXJMYWJlbFVwOigpPT5yfSk7dmFyIGk9big3MzY1MzEpLG89big4NDY1MjkpO2NsYXNzIHIgZXh0ZW5kcyBvLlBhbmVSZW5kZXJlckxhYmVsQmFzZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS5jZW50ZXItZS5zaGFwZVdpZHRoLzIsbj1lLmNlbnRlcitlLnNoYXBlV2lkdGgvMixvPWUueStlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodCtlLnZlcnRPZmZzZXQscz1uZXcgaS5Qb2ludCh0LG8pLGE9bmV3IGkuUG9pbnQobixyKTtyZXR1cm4oMCxpLmJveCkocyxhKX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpyfT1lLHM9dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MCxhPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMj8uNTowLGg9dGhpcy5fZ2V0QXJyb3dTaXplKHQpO2xldCBsPU1hdGgucm91bmQoaCppKTsoYStsKSUxIT1zJTEmJihsKz0uNSk7bGV0IGM9TWF0aC5yb3VuZCh0LnNoYXBlV2lkdGgvMippKTsoYStjKSUxIT1zJTEmJihjKz0uNSk7Y29uc3QgZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2EsZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGc9ZC1sLHg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtoKSpyKStzLHU9ZCtsLF89ZCtjLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtoK3Quc2hhcGVIZWlnaHQpKnIpK3MscD1kLWM7bi5tb3ZlVG8oZyx4KSxuLmxpbmVUbyhkLGYpLG4ubGluZVRvKHUseCksdC5zaGFwZVdpZHRoPD0yKmg/KG4ubGluZVRvKF8seCksdGhpcy5fZHJhd0Nvcm5lcihlLF8sdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUscCx3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93biksbi5saW5lVG8ocCx4KSk6KHRoaXMuX2RyYXdDb3JuZXIoZSxfLHgsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLHAsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxwLHgsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCkpLG4ubGluZVRvKGcseCl9X2dldFZlcnRpY2FsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZUhlaWdodC8yK3RoaXMuX2dldEFycm93U2l6ZShlKX1fY2FsY1ZlcnRPZmZzZXQoZSl7cmV0dXJuIE1hdGguc2lnbihlLnZlcnRPZmZzZXQpPj0wP2UudmVydE9mZnNldDplLnZlcnRPZmZzZXQtZS5zaGFwZUhlaWdodH19Y2xhc3MgcyBleHRlbmRzIG8uUGFuZVJlbmRlcmVyTGFiZWxCYXNle19jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmNlbnRlci1lLnNoYXBlV2lkdGgvMixuPWUuY2VudGVyK2Uuc2hhcGVXaWR0aC8yLG89ZS55LWUuc2hhcGVIZWlnaHQrZS52ZXJ0T2Zmc2V0LHI9ZS55K2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSUyPy41OjAsaD10aGlzLl9nZXRBcnJvd1NpemUodCk7bGV0IGw9TWF0aC5yb3VuZChoKmkpOyhhK2wpJTEhPXMlMSYmKGwrPS41KTtsZXQgYz1NYXRoLnJvdW5kKHQuc2hhcGVXaWR0aC8yKmkpOyhhK2MpJTEhPXMlMSYmKGMrPS41KQo7Y29uc3QgZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2EsZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGc9ZCtsLHg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC1oKSpyKStzLHU9ZC1sLF89ZCtjLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC10LnNoYXBlSGVpZ2h0LWgpKnIpK3MscD1kLWM7bi5tb3ZlVG8oZyx4KSxuLmxpbmVUbyhkLGYpLG4ubGluZVRvKHUseCksdC5zaGFwZVdpZHRoPD0yKmg/KG4ubGluZVRvKHAseCksdGhpcy5fZHJhd0Nvcm5lcihlLHAsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKSx0aGlzLl9kcmF3Q29ybmVyKGUsXyx3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5yaWdodFVwKSxuLmxpbmVUbyhfLHgpKToodGhpcy5fZHJhd0Nvcm5lcihlLHAseCxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxwLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLF8sdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLF8seCxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSksbi5saW5lVG8oZyx4KX1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybi1lLnNoYXBlSGVpZ2h0LzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9jYWxjVmVydE9mZnNldChlKXtyZXR1cm4gTWF0aC5zaWduKGUudmVydE9mZnNldCk8PTA/ZS52ZXJ0T2Zmc2V0OmUudmVydE9mZnNldCtlLnNoYXBlSGVpZ2h0fX1jbGFzcyBhIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLG49ZS5jZW50ZXIrZS5zaGFwZVdpZHRoLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLGg9dGhpcy5faGFzVGV4dCh0KSxsPWg/dC5zaGFwZUhlaWdodC8yOmEsYz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGY9TWF0aC5yb3VuZCgodC5jZW50ZXIrYSkqaSkrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcyx4PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyx1PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtbCkqcikrcyxfPU1hdGgucm91bmQoKHQuY2VudGVyK3Quc2hhcGVXaWR0aCthKSppKStzLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtsKSpyKStzO24ubW92ZVRvKGYsZyksbi5saW5lVG8oYyxkKSxuLmxpbmVUbyhmLHgpLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKTpuLmxpbmVUbyhmLHUpLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHUsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksaD90aGlzLl9kcmF3Q29ybmVyKGUsZix3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93bik6bi5saW5lVG8oZix3KSxuLmxpbmVUbyhmLGcpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZVdpZHRoLzIrdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyBoIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLWUuc2hhcGVXaWR0aCxuPWUuY2VudGVyLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLGg9dGhpcy5faGFzVGV4dCh0KSxsPWg/dC5zaGFwZUhlaWdodC8yOmEsYz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGY9TWF0aC5yb3VuZCgodC5jZW50ZXItYSkqaSkrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyx4PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcyx1PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtbCkqcikrcyxfPU1hdGgucm91bmQoKHQuY2VudGVyLXQuc2hhcGVXaWR0aC1hKSppKStzLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtsKSpyKStzO24ubW92ZVRvKGYsZyksbi5saW5lVG8oYyxkKSxuLmxpbmVUbyhmLHgpLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKTpuLmxpbmVUbyhmLHcpLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUsXyx1LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0VXApLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCk6bi5saW5lVG8oZix1KSxuLmxpbmVUbyhmLGcpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4tZS5zaGFwZVdpZHRoLzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyBsIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXsKY29uc3QgdD1lLmNlbnRlci1lLnNoYXBlV2lkdGgvMixuPWUuY2VudGVyK2Uuc2hhcGVXaWR0aC8yLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dC5zaGFwZUhlaWdodC8yLGg9dC5zaGFwZVdpZHRoLzIsbD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsYz1NYXRoLnJvdW5kKCh0LmNlbnRlci1oKSppKStzLGQ9TWF0aC5yb3VuZCgodC5jZW50ZXIraCkqaSkrcyxmPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcztuLm1vdmVUbyhsLGYpLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGYsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLGMsZyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxjLGYsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksbi5saW5lVG8obCxmKX19fSw0MDc1ODQoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJTcXVhcmU6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86b309ZSxyPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMj8uNTowLHM9dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MDtsZXQgYT1NYXRoLnJvdW5kKHQuaGVpZ2h0LzIqbyk7KHIrYSklMSE9cyUxJiYoYSs9LjUpO2NvbnN0IGg9TWF0aC5yb3VuZCh0LmNlbnRlcippKStyLGw9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCkqbykrcixjPWgtYSxkPWwtYSxmPWgrYSxnPWwrYTtuLnJlY3QoYyxkLGYtYyxnLWQpfV9jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmhlaWdodCxuPU1hdGgucm91bmQodC8yKSxvPWUuY2VudGVyLW4scj1lLnZlcnRPZmZzZXQscz1lLnkrci1uLGE9byxoPW8rdCxsPXMsYz1zK3QsZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9fX0sMTE4NzUyKGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bjooKT0+YSxQYW5lUmVuZGVyZXJUcmlhbmdsZUFwZXhVcDooKT0+c30pO3ZhciBpPW4oNzM2NTMxKSxvPW4oODc0MTM1KTtjbGFzcyByIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJBYnN0cmFjdEZpbGxTdHJva2VTaGFwZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS53aWR0aCxuPWUuaGVpZ2h0LG89dC8yLHI9TWF0aC5yb3VuZChuLzMpLHM9ZS5jZW50ZXIsYT1lLnZlcnRPZmZzZXQtMipyLGg9ZS55K2EsbD1zLW8sYz1zK28sZD1oLGY9aCtuLGc9bmV3IGkuUG9pbnQobCxkKSx4PW5ldyBpLlBvaW50KGMsZik7bGV0IHU9KDAsaS5ib3gpKGcseCk7Y29uc3QgXz1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiBfJiYodT10aGlzLl91bmlvbkJveCh1LF8pKSx1fX1jbGFzcyBzIGV4dGVuZHMgcntfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9TWF0aC5yb3VuZChzLzMpLGg9dC52ZXJ0T2Zmc2V0LTIqYSxsPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYz1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLGQ9YyUyPy41OjA7bGV0IGY9TWF0aC5yb3VuZChyKmkpO2YlMiE9YyUyJiYoZis9MSk7Y29uc3QgZz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2QseD1NYXRoLnJvdW5kKCh0LnkraCkqbyksdT1nK2YvMixfPU1hdGgucm91bmQoKHQueStoK3MpKm8pK2wsdz1nLWYvMjtuLm1vdmVUbyhnLHgpLG4ubGluZVRvKHUsXyksbi5saW5lVG8odyxfKSxuLmxpbmVUbyhnLHgpfX1jbGFzcyBhIGV4dGVuZHMgcntfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9TWF0aC5yb3VuZChzLzMpLGg9dC52ZXJ0T2Zmc2V0LWEsbD10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSxkPWMlMj8uNTowO2xldCBmPU1hdGgucm91bmQocippKTtmJTIhPWMlMiYmKGYrPTEpO2NvbnN0IGc9TWF0aC5yb3VuZCh0LmNlbnRlcippKStkLHg9TWF0aC5yb3VuZCgodC55K2gpKm8pK2wsdT1nK2YvMixfPU1hdGgucm91bmQoKHQueStoK3MpKm8pLHc9Zy1mLzI7bi5tb3ZlVG8odyx4KSxuLmxpbmVUbyh1LHgpLG4ubGluZVRvKGcsXyksbi5saW5lVG8odyx4KX19fSwzNjMzMjYoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJYQ3Jvc3M6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7Y29uc3Qgbj10LndpZHRoLGk9dC5oZWlnaHQsbz10LmNlbnRlci1uLzIscj10LnZlcnRPZmZzZXQscz10LnktaS8yK3I7ZS5tb3ZlVG8obyxzKSxlLmxpbmVUbyhvK24scytpKSxlLm1vdmVUbyhvLHMraSksZS5saW5lVG8obytuLHMpfV9jYWxjQm91bmRpbmdCb3goZSl7CmNvbnN0IHQ9ZS53aWR0aCxuPWUuaGVpZ2h0LG89ZS5jZW50ZXItdC8yLHI9ZS52ZXJ0T2Zmc2V0LHM9ZS55LW4vMityLGE9byxoPW8rdCxsPXMsYz1zK24sZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCQNT.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.492Z","timestamp":1785136905492,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCQNT.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSAFE3.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.549Z","timestamp":1785136905549,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSAFE3.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCMEGAE.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.574Z","timestamp":1785136905574,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCMEGAE.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.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://huobiget.com/","date":"2026-07-27T07:21:40.214Z","timestamp":1785136900214,"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/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.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://huobiget.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: 37756\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 18:07:05 GMT\r\nexpires: Sat, 24 Jul 2027 18:07:05 GMT\r\ncache-control: public, max-age=31536000\r\nage: 220475\r\nlast-modified: Thu, 04 Sep 2025 17:09:21 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":37756,"size_decoded":38569,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 37756, version 1.0","md5":"8a6a885dd57e60ddd85f3190737fa209","sha1":"dbca56b7fe8ee5e4bfb648d639fc6a3bfc5c6e85","sha256":"b9b102f608e8252e3c1e7287309832b16af7dcc6e788651fa503a3faacd7fb2f","sha512":"2bd785869777dc57dbb5934d4c6915b66f89746dd79897820eb4bbd0d262b2612bafdfb07c1e092658ad819f582a97e6a196531f74187d8a0b0bbd07fcbba56a","ssdeep":"768:sqRKhgpCf9U72WeD4A/5IqtBr0ikGvEaQh38/LBu3Emdc043RpgZKMqjkEfO1m:jKgp+9U7Ve8A/7Ai9Et3EBKEUE3RqMMu","tlshash":"3e030130df5884edcc0ba371fdeea81fc7a332a594c0b3368297af1b80111499d99e49","first_seen":"2025-09-05T00:25:10.258656Z","last_seen":"2026-08-10T09:48:31.938276Z","times_seen":548139,"resource_available":false,"data":"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"}},"time_used":92,"timings":{"blocked":-1,"dns":2,"connect":29,"send":0,"wait":31,"receive":29,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/29536.736f471a8d64a8122fd8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.283Z","timestamp":1785136901283,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/29536.736f471a8d64a8122fd8.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-ebc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ab81b9c68a14c789b010be85462f5b91\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3772,"size_decoded":1613,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3772), with no line terminators","md5":"0f29bcabe069a47a657f4666aef1835a","sha1":"6d7a898f70cbc2cd3e7245948215a87083dc7757","sha256":"13835bb4936e82708b3d51759c4f0817b38329ae23fbd4159dd42c41d72bd08c","sha512":"844358cef628a8e87ce959d524734c056fccd6a453f67541790666eb6d7c715b9eeaaddb5ed93e3923992e68bf8320f159e9869a9a38a76b85e3677d846bcd35","ssdeep":"","tlshash":"6171ddc5f150fab1fb23119c63ac6079ba80ad78ed5376c7b976d81508d5bb2122372c","first_seen":"2026-07-16T13:40:49.880227Z","last_seen":"2026-08-10T05:00:33.867433Z","times_seen":359,"resource_available":false,"data":"LmRlZmF1bHQtR1pMeWtOUVB7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkKX0uZGFuZ2VyLUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKX0ud2FybmluZy1HWkx5a05RUHstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmcpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZCl9LnN1Y2Nlc3MtR1pMeWtOUVB7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpfS5uZXV0cmFsLUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW0pOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQpfS5uZXV0cmFsLWxpZ2h0LUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnNtYWxsLUdaTHlrTlFQey0tdWktbGliLXByaXZhdGUtaWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZTozfS5tZWRpdW0tR1pMeWtOUVB7LS11aS1saWItcHJpdmF0ZS1pY29uUXVlc3Rpb25JbmZvcm1hdGlvbi1zaXplOjR9LmxhcmdlLUdaTHlrTlFQey0tdWktbGliLXByaXZhdGUtaWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZTo1fS5pY29uV3JhcHBlci1HWkx5a05RUHstLXVpLWxpYi1zaXplLWRlZjp2YXIoLS11aS1saWItaW4taWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1pY29uUXVlc3Rpb25JbmZvcm1hdGlvbi1zaXplLDMpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7YmFja2dyb3VuZDojMDAwMDtib3JkZXI6MDtib3gtc2hhZG93Om5vbmU7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3IsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcikpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNDRweCk7aGVpZ2h0OnZhcigtLXVpLWxpYi1pY29uLXF1ZXN0aW9uLWluZm9ybWF0aW9uLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi1pY29uLXF1ZXN0aW9uLWluZm9ybWF0aW9uLXNpemUpO21pbi13aWR0aDp2YXIoLS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplKTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDp2YXIoLS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplKX0uaWNvbldyYXBwZXItR1pMeWtOUVA6Zm9jdXN7b3V0bGluZTpub25lfS5pY29uV3JhcHBlci1HWkx5a05RUDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uaWNvbldyYXBwZXItR1pMeWtOUVA6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaWNvbldyYXBwZXItR1pMeWtOUVA6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6Y2FsYyg1MCUgKyA0cHgpfS5pY29uV3JhcHBlci1HWkx5a05RUDp2aXNpdGVke2NvbG9yOnZhcigtLXVpLWxpYi1pY29uLXFpLWNvbG9yLHZhcigtLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3IpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmljb25XcmFwcGVyLUdaTHlrTlFQOmhvdmVye2NvbG9yOnZhcigtLXVpLWxpYi1pY29uLXFpLWNvbG9yLWhvdmVyLHZhcigtLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXIpKX19Lmljb25XcmFwcGVyLUdaTHlrTlFQOmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX0uaWNvbi1HWkx5a05RUHtwb2ludGVyLWV2ZW50czpub25lfS5pY29uLUdaTHlrTlFQIHN2Z3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.353Z","timestamp":1785136901353,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32387.47ace83c61a884341cd6.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-205c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5c559f4c7db37dc0d07da2ec32cf81a3\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":132552,"size_decoded":45612,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-08-10T08:00:01.096054Z","times_seen":3024,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzIzODddLHs1MzIzODcoZSxuLHQpe3ZhciByPXQoNzc5NDc0KSxsPXQoMTgyNjE0KTtmdW5jdGlvbiBhKGUpe2Zvcih2YXIgbj0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW4rPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1t0XSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIituKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIHU9bmV3IFNldCxvPXt9O2Z1bmN0aW9uIGkoZSxuKXtzKGUsbikscyhlKyJDYXB0dXJlIixuKX1mdW5jdGlvbiBzKGUsbil7Zm9yKG9bZV09bixlPTA7ZTxuLmxlbmd0aDtlKyspdS5hZGQobltlXSl9dmFyIGM9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGQ9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxwPXt9LG09e307ZnVuY3Rpb24gaChlLG4sdCxyLGwsYSx1KXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09bnx8Mz09PW58fDQ9PT1uLHRoaXMuYXR0cmlidXRlTmFtZT1yLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWwsdGhpcy5tdXN0VXNlUHJvcGVydHk9dCx0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT1uLHRoaXMuc2FuaXRpemVVUkw9YSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPXV9dmFyIGc9e307ImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMCwhMSxlLG51bGwsITEsITEpfSkpLFtbImFjY2VwdENoYXJzZXQiLCJhY2NlcHQtY2hhcnNldCJdLFsiY2xhc3NOYW1lIiwiY2xhc3MiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtnW25dPW5ldyBoKG4sMSwhMSxlWzFdLG51bGwsITEsITEpfSkpLFsiY29udGVudEVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxDaGVjayIsInZhbHVlIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDIsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiYXV0b1JldmVyc2UiLCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIiwiZm9jdXNhYmxlIiwicHJlc2VydmVBbHBoYSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwyLCExLGUsbnVsbCwhMSwhMSl9KSksImFsbG93RnVsbFNjcmVlbiBhc3luYyBhdXRvRm9jdXMgYXV0b1BsYXkgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlUGljdHVyZUluUGljdHVyZSBkaXNhYmxlUmVtb3RlUGxheWJhY2sgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwzLCEwLGUsbnVsbCwhMSwhMSl9KSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNCwhMSxlLG51bGwsITEsITEpfSkpLFsiY29scyIsInJvd3MiLCJzaXplIiwic3BhbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSw2LCExLGUsbnVsbCwhMSwhMSl9KSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KSk7dmFyIHY9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHkoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX1mdW5jdGlvbiBiKGUsbix0LHIpe3ZhciBsPWcuaGFzT3duUHJvcGVydHkobik/Z1tuXTpudWxsOyhudWxsIT09bD8wIT09bC50eXBlOnJ8fCEoMjxuLmxlbmd0aCl8fCJvIiE9PW5bMF0mJiJPIiE9PW5bMF18fCJuIiE9PW5bMV0mJiJOIiE9PW5bMV0pJiYoZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbD09bnx8ZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbCE9PXQmJjA9PT10LnR5cGUpcmV0dXJuITE7c3dpdGNoKHR5cGVvZiBuKXtjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6cmV0dXJuITA7Y2FzZSJib29sZWFuIjpyZXR1cm4hciYmKG51bGwhPT10PyF0LmFjY2VwdHNCb29sZWFuczoiZGF0YS0iIT09KGU9ZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSkpJiYiYXJpYS0iIT09ZSk7ZGVmYXVsdDpyZXR1cm4hMX19KGUsbix0LHIpKXJldHVybiEwCjtpZihyKXJldHVybiExO2lmKG51bGwhPT10KXN3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4hbjtjYXNlIDQ6cmV0dXJuITE9PT1uO2Nhc2UgNTpyZXR1cm4gaXNOYU4obik7Y2FzZSA2OnJldHVybiBpc05hTihuKXx8MT5ufXJldHVybiExfShuLHQsbCxyKSYmKHQ9bnVsbCkscnx8bnVsbD09PWw/ZnVuY3Rpb24oZSl7cmV0dXJuISFmLmNhbGwobSxlKXx8IWYuY2FsbChwLGUpJiYoZC50ZXN0KGUpP21bZV09ITA6KHBbZV09ITAsITEpKX0obikmJihudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLCIiK3QpKTpsLm11c3RVc2VQcm9wZXJ0eT9lW2wucHJvcGVydHlOYW1lXT1udWxsPT09dD8zIT09bC50eXBlJiYiIjp0OihuPWwuYXR0cmlidXRlTmFtZSxyPWwuYXR0cmlidXRlTmFtZXNwYWNlLG51bGw9PT10P2UucmVtb3ZlQXR0cmlidXRlKG4pOih0PTM9PT0obD1sLnR5cGUpfHw0PT09bCYmITA9PT10PyIiOiIiK3Qscj9lLnNldEF0dHJpYnV0ZU5TKHIsbix0KTplLnNldEF0dHJpYnV0ZShuLHQpKSkpfSJhY2NlbnQtaGVpZ2h0IGFsaWdubWVudC1iYXNlbGluZSBhcmFiaWMtZm9ybSBiYXNlbGluZS1zaGlmdCBjYXAtaGVpZ2h0IGNsaXAtcGF0aCBjbGlwLXJ1bGUgY29sb3ItaW50ZXJwb2xhdGlvbiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgY29sb3ItcHJvZmlsZSBjb2xvci1yZW5kZXJpbmcgZG9taW5hbnQtYmFzZWxpbmUgZW5hYmxlLWJhY2tncm91bmQgZmlsbC1vcGFjaXR5IGZpbGwtcnVsZSBmbG9vZC1jb2xvciBmbG9vZC1vcGFjaXR5IGZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXNpemUtYWRqdXN0IGZvbnQtc3RyZXRjaCBmb250LXN0eWxlIGZvbnQtdmFyaWFudCBmb250LXdlaWdodCBnbHlwaC1uYW1lIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgaG9yaXotYWR2LXggaG9yaXotb3JpZ2luLXggaW1hZ2UtcmVuZGVyaW5nIGxldHRlci1zcGFjaW5nIGxpZ2h0aW5nLWNvbG9yIG1hcmtlci1lbmQgbWFya2VyLW1pZCBtYXJrZXItc3RhcnQgb3ZlcmxpbmUtcG9zaXRpb24gb3ZlcmxpbmUtdGhpY2tuZXNzIHBhaW50LW9yZGVyIHBhbm9zZS0xIHBvaW50ZXItZXZlbnRzIHJlbmRlcmluZy1pbnRlbnQgc2hhcGUtcmVuZGVyaW5nIHN0b3AtY29sb3Igc3RvcC1vcGFjaXR5IHN0cmlrZXRocm91Z2gtcG9zaXRpb24gc3RyaWtldGhyb3VnaC10aGlja25lc3Mgc3Ryb2tlLWRhc2hhcnJheSBzdHJva2UtZGFzaG9mZnNldCBzdHJva2UtbGluZWNhcCBzdHJva2UtbGluZWpvaW4gc3Ryb2tlLW1pdGVybGltaXQgc3Ryb2tlLW9wYWNpdHkgc3Ryb2tlLXdpZHRoIHRleHQtYW5jaG9yIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXJlbmRlcmluZyB1bmRlcmxpbmUtcG9zaXRpb24gdW5kZXJsaW5lLXRoaWNrbmVzcyB1bmljb2RlLWJpZGkgdW5pY29kZS1yYW5nZSB1bml0cy1wZXItZW0gdi1hbHBoYWJldGljIHYtaGFuZ2luZyB2LWlkZW9ncmFwaGljIHYtbWF0aGVtYXRpY2FsIHZlY3Rvci1lZmZlY3QgdmVydC1hZHYteSB2ZXJ0LW9yaWdpbi14IHZlcnQtb3JpZ2luLXkgd29yZC1zcGFjaW5nIHdyaXRpbmctbW9kZSB4bWxuczp4bGluayB4LWhlaWdodCIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2Uodix5KTtnW25dPW5ldyBoKG4sMSwhMSxlLG51bGwsITEsITEpfSkpLCJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHYseSk7Z1tuXT1uZXcgaChuLDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITEsITEpfSkpLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZSh2LHkpO2dbbl09bmV3IGgobiwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsITEsITEpfSkpLFsidGFiSW5kZXgiLCJjcm9zc09yaWdpbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pKSxnLnhsaW5rSHJlZj1uZXcgaCgieGxpbmtIcmVmIiwxLCExLCJ4bGluazpocmVmIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITAsITEpLFsic3JjIiwiaHJlZiIsImFjdGlvbiIsImZvcm1BY3Rpb24iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMCwhMCl9KSk7dmFyIGs9ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCx3PVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHg9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxFPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksQz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxOPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxfPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLFQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLE09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIiksU3ltYm9sLmZvcigicmVhY3QuZGVidWdfdHJhY2VfbW9kZSIpO3ZhciBGPVN5bWJvbC5mb3IoInJlYWN0Lm9mZnNjcmVlbiIpO1N5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIik7dmFyIFI9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEQoZSl7CnJldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9UiYmZVtSXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9dmFyIEksTz1PYmplY3QuYXNzaWduO2Z1bmN0aW9uIFUoZSl7aWYodm9pZCAwPT09SSl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgbj1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7ST1uJiZuWzFdfHwiIn1yZXR1cm4iXG4iK0krZX12YXIgVj0hMTtmdW5jdGlvbiBBKGUsbil7aWYoIWV8fFYpcmV0dXJuIiI7Vj0hMDt2YXIgdD1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e2lmKG4paWYobj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfWUuY2FsbChuLnByb3RvdHlwZSl9ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXtyPWV9ZSgpfX1jYXRjaChuKXtpZihuJiZyJiYic3RyaW5nIj09dHlwZW9mIG4uc3RhY2spe2Zvcih2YXIgbD1uLnN0YWNrLnNwbGl0KCJcbiIpLGE9ci5zdGFjay5zcGxpdCgiXG4iKSx1PWwubGVuZ3RoLTEsbz1hLmxlbmd0aC0xOzE8PXUmJjA8PW8mJmxbdV0hPT1hW29dOylvLS07Zm9yKDsxPD11JiYwPD1vO3UtLSxvLS0paWYobFt1XSE9PWFbb10pe2lmKDEhPT11fHwxIT09bylkb3tpZih1LS0sMD4tLW98fGxbdV0hPT1hW29dKXt2YXIgaT0iXG4iK2xbdV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJmkuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihpPWkucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxpfX13aGlsZSgxPD11JiYwPD1vKTticmVha319fWZpbmFsbHl7Vj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT10fXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9VKGUpOiIifWZ1bmN0aW9uIEIoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6cmV0dXJuIFUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBVKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gVSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBVKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9QShlLnR5cGUsITEpO2Nhc2UgMTE6cmV0dXJuIGU9QShlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGU9QShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIFcoZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTtzd2l0Y2goZSl7Y2FzZSB4OnJldHVybiJGcmFnbWVudCI7Y2FzZSBTOnJldHVybiJQb3J0YWwiO2Nhc2UgQzpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgRTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBQOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBUOnJldHVybiJTdXNwZW5zZUxpc3QifWlmKCJvYmplY3QiPT10eXBlb2YgZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBOOnJldHVybihlLmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgejpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIF86dmFyIG49ZS5yZW5kZXI7cmV0dXJuKGU9ZS5kaXNwbGF5TmFtZSl8fChlPSIiIT09KGU9bi5kaXNwbGF5TmFtZXx8bi5uYW1lfHwiIik/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpLGU7Y2FzZSBMOnJldHVybiBudWxsIT09KG49ZS5kaXNwbGF5TmFtZXx8bnVsbCk/bjpXKGUudHlwZSl8fCJNZW1vIjtjYXNlIE06bj1lLl9wYXlsb2FkLGU9ZS5faW5pdDt0cnl7cmV0dXJuIFcoZShuKSl9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIKGUpe3ZhciBuPWUudHlwZTtzd2l0Y2goZS50YWcpe2Nhc2UgMjQ6cmV0dXJuIkNhY2hlIjtjYXNlIDk6cmV0dXJuKG4uZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSAxMDpyZXR1cm4obi5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIDE4OnJldHVybiJEZWh5ZHJhdGVkRnJhZ21lbnQiO2Nhc2UgMTE6cmV0dXJuIGU9KGU9bi5yZW5kZXIpLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCIiLG4uZGlzcGxheU5hbWV8fCgiIiE9PWU/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpO2Nhc2UgNzpyZXR1cm4iRnJhZ21lbnQiO2Nhc2UgNTpyZXR1cm4gbjtjYXNlIDQ6cmV0dXJuIlBvcnRhbCI7Y2FzZSAzOnJldHVybiJSb290IjtjYXNlIDY6cmV0dXJuIlRleHQiO2Nhc2UgMTY6cmV0dXJuIFcobik7Y2FzZSA4OnJldHVybiBuPT09RT8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gbi5kaXNwbGF5TmFtZXx8bi5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgbilyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBRKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaihlKXt2YXIgbj1lLnR5cGUKO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW58fCJyYWRpbyI9PT1uKX1mdW5jdGlvbiAkKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1mdW5jdGlvbihlKXt2YXIgbj1qKGUpPyJjaGVja2VkIjoidmFsdWUiLHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxuKSxyPSIiK2Vbbl07aWYoIWUuaGFzT3duUHJvcGVydHkobikmJnZvaWQgMCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2V0KXt2YXIgbD10LmdldCxhPXQuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe3I9IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnQuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiByfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtyPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW25dfX19fShlKSl9ZnVuY3Rpb24gcShlKXtpZighZSlyZXR1cm4hMTt2YXIgbj1lLl92YWx1ZVRyYWNrZXI7aWYoIW4pcmV0dXJuITA7dmFyIHQ9bi5nZXRWYWx1ZSgpLHI9IiI7cmV0dXJuIGUmJihyPWooZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09dCYmKG4uc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIEsoZSl7aWYodm9pZCAwPT09KGU9ZXx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwKSkpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBlLmFjdGl2ZUVsZW1lbnR8fGUuYm9keX1jYXRjaChuKXtyZXR1cm4gZS5ib2R5fX1mdW5jdGlvbiBZKGUsbil7dmFyIHQ9bi5jaGVja2VkO3JldHVybiBPKHt9LG4se2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm51bGwhPXQ/dDplLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBYKGUsbil7dmFyIHQ9bnVsbD09bi5kZWZhdWx0VmFsdWU/IiI6bi5kZWZhdWx0VmFsdWUscj1udWxsIT1uLmNoZWNrZWQ/bi5jaGVja2VkOm4uZGVmYXVsdENoZWNrZWQ7dD1RKG51bGwhPW4udmFsdWU/bi52YWx1ZTp0KSxlLl93cmFwcGVyU3RhdGU9e2luaXRpYWxDaGVja2VkOnIsaW5pdGlhbFZhbHVlOnQsY29udHJvbGxlZDoiY2hlY2tib3giPT09bi50eXBlfHwicmFkaW8iPT09bi50eXBlP251bGwhPW4uY2hlY2tlZDpudWxsIT1uLnZhbHVlfX1mdW5jdGlvbiBHKGUsbil7bnVsbCE9KG49bi5jaGVja2VkKSYmYihlLCJjaGVja2VkIixuLCExKX1mdW5jdGlvbiBaKGUsbil7RyhlLG4pO3ZhciB0PVEobi52YWx1ZSkscj1uLnR5cGU7aWYobnVsbCE9dCkibnVtYmVyIj09PXI/KDA9PT10JiYiIj09PWUudmFsdWV8fGUudmFsdWUhPXQpJiYoZS52YWx1ZT0iIit0KTplLnZhbHVlIT09IiIrdCYmKGUudmFsdWU9IiIrdCk7ZWxzZSBpZigic3VibWl0Ij09PXJ8fCJyZXNldCI9PT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpO24uaGFzT3duUHJvcGVydHkoInZhbHVlIik/ZWUoZSxuLnR5cGUsdCk6bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJmVlKGUsbi50eXBlLFEobi5kZWZhdWx0VmFsdWUpKSxudWxsPT1uLmNoZWNrZWQmJm51bGwhPW4uZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhbi5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gSihlLG4sdCl7aWYobi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKXx8bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikpe3ZhciByPW4udHlwZTtpZighKCJzdWJtaXQiIT09ciYmInJlc2V0IiE9PXJ8fHZvaWQgMCE9PW4udmFsdWUmJm51bGwhPT1uLnZhbHVlKSlyZXR1cm47bj0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlLHR8fG49PT1lLnZhbHVlfHwoZS52YWx1ZT1uKSxlLmRlZmF1bHRWYWx1ZT1ufSIiIT09KHQ9ZS5uYW1lKSYmKGUubmFtZT0iIiksZS5kZWZhdWx0Q2hlY2tlZD0hIWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZCwiIiE9PXQmJihlLm5hbWU9dCl9ZnVuY3Rpb24gZWUoZSxuLHQpeyJudW1iZXIiPT09biYmSyhlLm93bmVyRG9jdW1lbnQpPT09ZXx8KG51bGw9PXQ/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK3QmJihlLmRlZmF1bHRWYWx1ZT0iIit0KSl9dmFyIG5lPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdGUoZSxuLHQscil7aWYoZT1lLm9wdGlvbnMsbil7bj17fTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyluWyIkIit0W2xdXT0hMDtmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWw9bi5oYXNPd25Qcm9wZXJ0eSgiJCIrZVt0XS52YWx1ZSksZVt0XS5zZWxlY3RlZCE9PWwmJihlW3RdLnNlbGVjdGVkPWwpLGwmJnImJihlW3RdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodD0iIitRKHQpLG49bnVsbCxsPTA7bDxlLmxlbmd0aDtsKyspe2lmKGVbbF0udmFsdWU9PT10KXJldHVybiBlW2xdLnNlbGVjdGVkPSEwLHZvaWQociYmKGVbbF0uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PW58fGVbbF0uZGlzYWJsZWR8fChuPWVbbF0pfW51bGwhPT1uJiYobi5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIHJlKGUsbil7aWYobnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcihhKDkxKSk7cmV0dXJuIE8oe30sbix7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGxlKGUsbil7dmFyIHQ9bi52YWx1ZTtpZihudWxsPT10KXtpZih0PW4uY2hpbGRyZW4sbj1uLmRlZmF1bHRWYWx1ZSxudWxsIT10KXtpZihudWxsIT1uKXRocm93IEVycm9yKGEoOTIpKTtpZihuZSh0KSl7CmlmKDE8dC5sZW5ndGgpdGhyb3cgRXJyb3IoYSg5MykpO3Q9dFswXX1uPXR9bnVsbD09biYmKG49IiIpLHQ9bn1lLl93cmFwcGVyU3RhdGU9e2luaXRpYWxWYWx1ZTpRKHQpfX1mdW5jdGlvbiBhZShlLG4pe3ZhciB0PVEobi52YWx1ZSkscj1RKG4uZGVmYXVsdFZhbHVlKTtudWxsIT10JiYoKHQ9IiIrdCkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uLmRlZmF1bHRWYWx1ZSYmZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCkpLG51bGwhPXImJihlLmRlZmF1bHRWYWx1ZT0iIityKX1mdW5jdGlvbiB1ZShlKXt2YXIgbj1lLnRleHRDb250ZW50O249PT1lLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlJiYiIiE9PW4mJm51bGwhPT1uJiYoZS52YWx1ZT1uKX1mdW5jdGlvbiBvZShlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIGllKGUsbil7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/b2Uobik6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PW4/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIHNlLGNlLGZlPShjZT1mdW5jdGlvbihlLG4pe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPW47ZWxzZXtmb3IoKHNlPXNlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrbi52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+IixuPXNlLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDtuLmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQobi5maXJzdENoaWxkKX19LCJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGUsbix0LHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBjZShlLG4pfSkpfTpjZSk7ZnVuY3Rpb24gZGUoZSxuKXtpZihuKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7aWYodCYmdD09PWUubGFzdENoaWxkJiYzPT09dC5ub2RlVHlwZSlyZXR1cm4gdm9pZCh0Lm5vZGVWYWx1ZT1uKX1lLnRleHRDb250ZW50PW59dmFyIHBlPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxtZT1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO2Z1bmN0aW9uIGhlKGUsbix0KXtyZXR1cm4gbnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbnx8IiI9PT1uPyIiOnR8fCJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHBlLmhhc093blByb3BlcnR5KGUpJiZwZVtlXT8oIiIrbikudHJpbSgpOm4rInB4In1mdW5jdGlvbiBnZShlLG4pe2Zvcih2YXIgdCBpbiBlPWUuc3R5bGUsbilpZihuLmhhc093blByb3BlcnR5KHQpKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpLGw9aGUodCxuW3RdLHIpOyJmbG9hdCI9PT10JiYodD0iY3NzRmxvYXQiKSxyP2Uuc2V0UHJvcGVydHkodCxsKTplW3RdPWx9fU9iamVjdC5rZXlzKHBlKS5mb3JFYWNoKChmdW5jdGlvbihlKXttZS5mb3JFYWNoKChmdW5jdGlvbihuKXtuPW4rZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSxwZVtuXT1wZVtlXX0pKX0pKTt2YXIgdmU9Tyh7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtmdW5jdGlvbiB5ZShlLG4pe2lmKG4pe2lmKHZlW2VdJiYobnVsbCE9bi5jaGlsZHJlbnx8bnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IoYSgxMzcsZSkpO2lmKG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPW4uY2hpbGRyZW4pdGhyb3cgRXJyb3IoYSg2MCkpO2lmKCJvYmplY3QiIT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTHx8ISgiX19odG1sImluIG4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKGEoNjEpKX1pZihudWxsIT1uLnN0eWxlJiYib2JqZWN0IiE9dHlwZW9mIG4uc3R5bGUpdGhyb3cgRXJyb3IoYSg2MikpfX1mdW5jdGlvbiBiZShlLG4pe2lmKC0xPT09ZS5pbmRleE9mKCItIikpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLmlzO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOgpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIga2U9bnVsbDtmdW5jdGlvbiB3ZShlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgU2U9bnVsbCx4ZT1udWxsLEVlPW51bGw7ZnVuY3Rpb24gQ2UoZSl7aWYoZT1ibChlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFNlKXRocm93IEVycm9yKGEoMjgwKSk7dmFyIG49ZS5zdGF0ZU5vZGU7biYmKG49d2wobiksU2UoZS5zdGF0ZU5vZGUsZS50eXBlLG4pKX19ZnVuY3Rpb24gemUoZSl7eGU/RWU/RWUucHVzaChlKTpFZT1bZV06eGU9ZX1mdW5jdGlvbiBOZSgpe2lmKHhlKXt2YXIgZT14ZSxuPUVlO2lmKEVlPXhlPW51bGwsQ2UoZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKUNlKG5bZV0pfX1mdW5jdGlvbiBfZShlLG4pe3JldHVybiBlKG4pfWZ1bmN0aW9uIFBlKCl7fXZhciBUZT0hMTtmdW5jdGlvbiBMZShlLG4sdCl7aWYoVGUpcmV0dXJuIGUobix0KTtUZT0hMDt0cnl7cmV0dXJuIF9lKGUsbix0KX1maW5hbGx5e1RlPSExLChudWxsIT09eGV8fG51bGwhPT1FZSkmJihQZSgpLE5lKCkpfX1mdW5jdGlvbiBNZShlLG4pe3ZhciB0PWUuc3RhdGVOb2RlO2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciByPXdsKHQpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3Q9cltuXTtlOnN3aXRjaChuKXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwocj0hKCJidXR0b24iPT09KGU9ZS50eXBlKXx8ImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8InRleHRhcmVhIj09PWUpKSxlPSFyO2JyZWFrIGU7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYodCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoYSgyMzEsbix0eXBlb2YgdCkpO3JldHVybiB0fXZhciBGZT0hMTtpZihjKXRyeXt2YXIgUmU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7RmU9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFJlLFJlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsUmUsUmUpfWNhdGNoKGNlKXtGZT0hMX1mdW5jdGlvbiBEZShlLG4sdCxyLGwsYSx1LG8saSl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXtuLmFwcGx5KHQscyl9Y2F0Y2goZSl7dGhpcy5vbkVycm9yKGUpfX12YXIgSWU9ITEsT2U9bnVsbCxVZT0hMSxWZT1udWxsLEFlPXtvbkVycm9yOmZ1bmN0aW9uKGUpe0llPSEwLE9lPWV9fTtmdW5jdGlvbiBCZShlLG4sdCxyLGwsYSx1LG8saSl7SWU9ITEsT2U9bnVsbCxEZS5hcHBseShBZSxhcmd1bWVudHMpfWZ1bmN0aW9uIFdlKGUpe3ZhciBuPWUsdD1lO2lmKGUuYWx0ZXJuYXRlKWZvcig7bi5yZXR1cm47KW49bi5yZXR1cm47ZWxzZXtlPW47ZG97ISEoNDA5OCYobj1lKS5mbGFncykmJih0PW4ucmV0dXJuKSxlPW4ucmV0dXJufXdoaWxlKGUpfXJldHVybiAzPT09bi50YWc/dDpudWxsfWZ1bmN0aW9uIEhlKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09biYmKG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihuPWUubWVtb2l6ZWRTdGF0ZSkpLG51bGwhPT1uKXJldHVybiBuLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUWUoZSl7aWYoV2UoZSkhPT1lKXRocm93IEVycm9yKGEoMTg4KSl9ZnVuY3Rpb24gamUoZSl7cmV0dXJuIG51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgbj1lLmFsdGVybmF0ZTtpZighbil7aWYobnVsbD09PShuPVdlKGUpKSl0aHJvdyBFcnJvcihhKDE4OCkpO3JldHVybiBuIT09ZT9udWxsOmV9Zm9yKHZhciB0PWUscj1uOzspe3ZhciBsPXQucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciB1PWwuYWx0ZXJuYXRlO2lmKG51bGw9PT11KXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXt0PXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PXUuY2hpbGQpe2Zvcih1PWwuY2hpbGQ7dTspe2lmKHU9PT10KXJldHVybiBRZShsKSxlO2lmKHU9PT1yKXJldHVybiBRZShsKSxuO3U9dS5zaWJsaW5nfXRocm93IEVycm9yKGEoMTg4KSl9aWYodC5yZXR1cm4hPT1yLnJldHVybil0PWwscj11O2Vsc2V7Zm9yKHZhciBvPSExLGk9bC5jaGlsZDtpOyl7aWYoaT09PXQpe289ITAsdD1sLHI9dTticmVha31pZihpPT09cil7bz0hMCxyPWwsdD11O2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXtmb3IoaT11LmNoaWxkO2k7KXtpZihpPT09dCl7bz0hMCx0PXUscj1sO2JyZWFrfWlmKGk9PT1yKXtvPSEwLHI9dSx0PWw7YnJlYWt9aT1pLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IoYSgxODkpKX19aWYodC5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGEoMTkwKSl9aWYoMyE9PXQudGFnKXRocm93IEVycm9yKGEoMTg4KSk7cmV0dXJuIHQuc3RhdGVOb2RlLmN1cnJlbnQ9PT10P2U6bn0oZSkpPyRlKGUpOm51bGx9ZnVuY3Rpb24gJGUoZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe3ZhciBuPSRlKGUpO2lmKG51bGwhPT1uKXJldHVybiBuO2U9ZS5zaWJsaW5nfXJldHVybiBudWxsfQp2YXIgcWU9bC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLEtlPWwudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssWWU9bC51bnN0YWJsZV9zaG91bGRZaWVsZCxYZT1sLnVuc3RhYmxlX3JlcXVlc3RQYWludCxHZT1sLnVuc3RhYmxlX25vdyxaZT1sLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLEplPWwudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZW49bC51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxubj1sLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHRuPWwudW5zdGFibGVfTG93UHJpb3JpdHkscm49bC51bnN0YWJsZV9JZGxlUHJpb3JpdHksbG49bnVsbCxhbj1udWxsO3ZhciB1bj1NYXRoLmNsejMyP01hdGguY2x6MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+Pj49MCwwPT09ZT8zMjozMS0ob24oZSkvc258MCl8MH0sb249TWF0aC5sb2csc249TWF0aC5MTjI7dmFyIGNuPTY0LGZuPTQxOTQzMDQ7ZnVuY3Rpb24gZG4oZSl7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiA0MTk0MjQwJmU7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4gMTMwMDIzNDI0JmU7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAxMDczNzQxODI0O2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIHBuKGUsbil7dmFyIHQ9ZS5wZW5kaW5nTGFuZXM7aWYoMD09PXQpcmV0dXJuIDA7dmFyIHI9MCxsPWUuc3VzcGVuZGVkTGFuZXMsYT1lLnBpbmdlZExhbmVzLHU9MjY4NDM1NDU1JnQ7aWYoMCE9PXUpe3ZhciBvPXUmfmw7MCE9PW8/cj1kbihvKTowIT09KGEmPXUpJiYocj1kbihhKSl9ZWxzZSAwIT09KHU9dCZ+bCk/cj1kbih1KTowIT09YSYmKHI9ZG4oYSkpO2lmKDA9PT1yKXJldHVybiAwO2lmKDAhPT1uJiZuIT09ciYmIShuJmwpJiYoKGw9ciYtcik+PShhPW4mLW4pfHwxNj09PWwmJjQxOTQyNDAmYSkpcmV0dXJuIG47aWYoNCZyJiYocnw9MTYmdCksMCE9PShuPWUuZW50YW5nbGVkTGFuZXMpKWZvcihlPWUuZW50YW5nbGVtZW50cyxuJj1yOzA8bjspbD0xPDwodD0zMS11bihuKSkscnw9ZVt0XSxuJj1+bDtyZXR1cm4gcn1mdW5jdGlvbiBtbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpyZXR1cm4gbisyNTA7Y2FzZSA4OmNhc2UgMTY6Y2FzZSAzMjpjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBuKzVlMztkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiBobihlKXtyZXR1cm4gMCE9PShlPS0xMDczNzQxODI1JmUucGVuZGluZ0xhbmVzKT9lOjEwNzM3NDE4MjQmZT8xMDczNzQxODI0OjB9ZnVuY3Rpb24gZ24oKXt2YXIgZT1jbjtyZXR1cm4hKDQxOTQyNDAmKGNuPDw9MSkpJiYoY249NjQpLGV9ZnVuY3Rpb24gdm4oZSl7Zm9yKHZhciBuPVtdLHQ9MDszMT50O3QrKyluLnB1c2goZSk7cmV0dXJuIG59ZnVuY3Rpb24geW4oZSxuLHQpe2UucGVuZGluZ0xhbmVzfD1uLDUzNjg3MDkxMiE9PW4mJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wKSwoZT1lLmV2ZW50VGltZXMpW249MzEtdW4obildPXR9ZnVuY3Rpb24gYm4oZSxuKXt2YXIgdD1lLmVudGFuZ2xlZExhbmVzfD1uO2ZvcihlPWUuZW50YW5nbGVtZW50czt0Oyl7dmFyIHI9MzEtdW4odCksbD0xPDxyO2wmbnxlW3JdJm4mJihlW3JdfD1uKSx0Jj1+bH19dmFyIGtuPTA7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIDE8KGUmPS1lKT80PGU/MjY4NDM1NDU1JmU/MTY6NTM2ODcwOTEyOjQ6MX12YXIgU24seG4sRW4sQ24sem4sTm49ITEsX249W10sUG49bnVsbCxUbj1udWxsLExuPW51bGwsTW49bmV3IE1hcCxGbj1uZXcgTWFwLFJuPVtdLERuPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIEluKGUsbil7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6UG49bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOlRuPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOkxuPW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpNbi5kZWxldGUobi5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpGbi5kZWxldGUobi5wb2ludGVySWQpfX1mdW5jdGlvbiBPbihlLG4sdCxyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOm4sZG9tRXZlbnROYW1lOnQsZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT1uJiYobnVsbCE9PShuPWJsKG4pKSYmeG4obikpLAplKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLG49ZS50YXJnZXRDb250YWluZXJzLG51bGwhPT1sJiYtMT09PW4uaW5kZXhPZihsKSYmbi5wdXNoKGwpLGUpfWZ1bmN0aW9uIFVuKGUpe3ZhciBuPXlsKGUudGFyZ2V0KTtpZihudWxsIT09bil7dmFyIHQ9V2Uobik7aWYobnVsbCE9PXQpaWYoMTM9PT0obj10LnRhZykpe2lmKG51bGwhPT0obj1IZSh0KSkpcmV0dXJuIGUuYmxvY2tlZE9uPW4sdm9pZCB6bihlLnByaW9yaXR5LChmdW5jdGlvbigpe0VuKHQpfSkpfWVsc2UgaWYoMz09PW4mJnQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIHZvaWQoZS5ibG9ja2VkT249Mz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbCl9ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBWbihlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBuPWUudGFyZ2V0Q29udGFpbmVyczswPG4ubGVuZ3RoOyl7dmFyIHQ9WG4oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLG5bMF0sZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PXQpcmV0dXJuIG51bGwhPT0obj1ibCh0KSkmJnhuKG4pLGUuYmxvY2tlZE9uPXQsITE7dmFyIHI9bmV3KHQ9ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3IodC50eXBlLHQpO2tlPXIsdC50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSxrZT1udWxsLG4uc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBBbihlLG4sdCl7Vm4oZSkmJnQuZGVsZXRlKG4pfWZ1bmN0aW9uIEJuKCl7Tm49ITEsbnVsbCE9PVBuJiZWbihQbikmJihQbj1udWxsKSxudWxsIT09VG4mJlZuKFRuKSYmKFRuPW51bGwpLG51bGwhPT1MbiYmVm4oTG4pJiYoTG49bnVsbCksTW4uZm9yRWFjaChBbiksRm4uZm9yRWFjaChBbil9ZnVuY3Rpb24gV24oZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLE5ufHwoTm49ITAsbC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGwudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksQm4pKSl9ZnVuY3Rpb24gSG4oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gV24obixlKX1pZigwPF9uLmxlbmd0aCl7V24oX25bMF0sZSk7Zm9yKHZhciB0PTE7dDxfbi5sZW5ndGg7dCsrKXt2YXIgcj1fblt0XTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG51bGwhPT1QbiYmV24oUG4sZSksbnVsbCE9PVRuJiZXbihUbixlKSxudWxsIT09TG4mJlduKExuLGUpLE1uLmZvckVhY2gobiksRm4uZm9yRWFjaChuKSx0PTA7dDxSbi5sZW5ndGg7dCsrKShyPVJuW3RdKS5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPFJuLmxlbmd0aCYmbnVsbD09PSh0PVJuWzBdKS5ibG9ja2VkT247KVVuKHQpLG51bGw9PT10LmJsb2NrZWRPbiYmUm4uc2hpZnQoKX12YXIgUW49ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxqbj0hMDtmdW5jdGlvbiAkbihlLG4sdCxyKXt2YXIgbD1rbixhPVFuLnRyYW5zaXRpb247UW4udHJhbnNpdGlvbj1udWxsO3RyeXtrbj0xLEtuKGUsbix0LHIpfWZpbmFsbHl7a249bCxRbi50cmFuc2l0aW9uPWF9fWZ1bmN0aW9uIHFuKGUsbix0LHIpe3ZhciBsPWtuLGE9UW4udHJhbnNpdGlvbjtRbi50cmFuc2l0aW9uPW51bGw7dHJ5e2tuPTQsS24oZSxuLHQscil9ZmluYWxseXtrbj1sLFFuLnRyYW5zaXRpb249YX19ZnVuY3Rpb24gS24oZSxuLHQscil7aWYoam4pe3ZhciBsPVhuKGUsbix0LHIpO2lmKG51bGw9PT1sKVFyKGUsbixyLFluLHQpLEluKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLG4sdCxyLGwpe3N3aXRjaChuKXtjYXNlImZvY3VzaW4iOnJldHVybiBQbj1PbihQbixlLG4sdCxyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gVG49T24oVG4sZSxuLHQscixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIExuPU9uKExuLGUsbix0LHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIE1uLnNldChhLE9uKE1uLmdldChhKXx8bnVsbCxlLG4sdCxyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxGbi5zZXQoYSxPbihGbi5nZXQoYSl8fG51bGwsZSxuLHQscixsKSksITB9cmV0dXJuITF9KGwsZSxuLHQscikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEluKGUsciksNCZuJiYtMTxEbi5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9YmwobCk7aWYobnVsbCE9PWEmJlNuKGEpLG51bGw9PT0oYT1YbihlLG4sdCxyKSkmJlFyKGUsbixyLFluLHQpLGE9PT1sKWJyZWFrO2w9YX1udWxsIT09bCYmci5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIFFyKGUsbixyLG51bGwsdCl9fXZhciBZbj1udWxsO2Z1bmN0aW9uIFhuKGUsbix0LHIpe2lmKFluPW51bGwsbnVsbCE9PShlPXlsKGU9d2UocikpKSlpZihudWxsPT09KG49V2UoZSkpKWU9bnVsbDtlbHNlIGlmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KGU9SGUobikpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT10KXtpZihuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09bi50YWc/bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIG4hPT1lJiYoZT1udWxsKTtyZXR1cm4gWW49ZSxudWxsfWZ1bmN0aW9uIEduKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6CmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goWmUoKSl7Y2FzZSBKZTpyZXR1cm4gMTtjYXNlIGVuOnJldHVybiA0O2Nhc2Ugbm46Y2FzZSB0bjpyZXR1cm4gMTY7Y2FzZSBybjpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgWm49bnVsbCxKbj1udWxsLGV0PW51bGw7ZnVuY3Rpb24gbnQoKXtpZihldClyZXR1cm4gZXQ7dmFyIGUsbix0PUpuLHI9dC5sZW5ndGgsbD0idmFsdWUiaW4gWm4/Wm4udmFsdWU6Wm4udGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmdFtlXT09PWxbZV07ZSsrKTt2YXIgdT1yLWU7Zm9yKG49MTtuPD11JiZ0W3Itbl09PT1sW2Etbl07bisrKTtyZXR1cm4gZXQ9bC5zbGljZShlLDE8bj8xLW46dm9pZCAwKX1mdW5jdGlvbiB0dChlKXt2YXIgbj1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PW4mJihlPTEzKTplPW4sMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gcnQoKXtyZXR1cm4hMH1mdW5jdGlvbiBsdCgpe3JldHVybiExfWZ1bmN0aW9uIGF0KGUpe2Z1bmN0aW9uIG4obix0LHIsbCxhKXtmb3IodmFyIHUgaW4gdGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG49ZVt1XSx0aGlzW3VdPW4/bihsKTpsW3VdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT9ydDpsdCx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWx0LHRoaXN9cmV0dXJuIE8obi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1ydCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1ydCl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpydH0pLG59dmFyIHV0LG90LGl0LHN0PXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LGN0PWF0KHN0KSxmdD1PKHt9LHN0LHt2aWV3OjAsZGV0YWlsOjB9KSxkdD1hdChmdCkscHQ9Tyh7fSxmdCx7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT1pdCYmKGl0JiYibW91c2Vtb3ZlIj09PWUudHlwZT8odXQ9ZS5zY3JlZW5YLWl0LnNjcmVlblgsb3Q9ZS5zY3JlZW5ZLWl0LnNjcmVlblkpOm90PXV0PTAsaXQ9ZSksdXQpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOm90fX0pLG10PWF0KHB0KSxodD1hdChPKHt9LHB0LHtkYXRhVHJhbnNmZXI6MH0pKSxndD1hdChPKHt9LGZ0LHtyZWxhdGVkVGFyZ2V0OjB9KSksdnQ9YXQoTyh7fSxzdCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHl0PU8oe30sc3Qse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSksYnQ9YXQoeXQpLGt0PWF0KE8oe30sc3Qse2RhdGE6MH0pKSx3dD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLApVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LFN0PXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0seHQ9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBFdChlKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiBuLmdldE1vZGlmaWVyU3RhdGU/bi5nZXRNb2RpZmllclN0YXRlKGUpOiEhKGU9eHRbZV0pJiYhIW5bZV19ZnVuY3Rpb24gQ3QoKXtyZXR1cm4gRXR9dmFyIHp0PU8oe30sZnQse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIG49d3RbZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PW4pcmV0dXJuIG59cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPXR0KGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP1N0W2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSxOdD1hdCh6dCksX3Q9YXQoTyh7fSxwdCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSksUHQ9YXQoTyh7fSxmdCx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOkN0fSkpLFR0PWF0KE8oe30sc3Qse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLEx0PU8oe30scHQse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxNdD1hdChMdCksRnQ9WzksMTMsMjcsMzJdLFJ0PWMmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxEdD1udWxsO2MmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihEdD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBJdD1jJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIUR0LE90PWMmJighUnR8fER0JiY4PER0JiYxMT49RHQpLFV0PVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLFZ0PSExO2Z1bmN0aW9uIEF0KGUsbil7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybi0xIT09RnQuaW5kZXhPZihuLmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PW4ua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgV3Q9ITE7dmFyIEh0PXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBRdChlKXt2YXIgbj1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PW4/ISFIdFtlLnR5cGVdOiJ0ZXh0YXJlYSI9PT1ufWZ1bmN0aW9uIGp0KGUsbix0LHIpe3plKHIpLDA8KG49JHIobiwib25DaGFuZ2UiKSkubGVuZ3RoJiYodD1uZXcgY3QoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLHQsciksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpufSkpfXZhciAkdD1udWxsLHF0PW51bGw7ZnVuY3Rpb24gS3QoZSl7VXIoZSwwKX1mdW5jdGlvbiBZdChlKXtpZihxKGtsKGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBYdChlLG4pe2lmKCJjaGFuZ2UiPT09ZSlyZXR1cm4gbn12YXIgR3Q9ITE7aWYoYyl7dmFyIFp0O2lmKGMpe3ZhciBKdD0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighSnQpe3ZhciBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlci5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksSnQ9ImZ1bmN0aW9uIj09dHlwZW9mIGVyLm9uaW5wdXR9WnQ9SnQKfWVsc2UgWnQ9ITE7R3Q9WnQmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gbnIoKXskdCYmKCR0LmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikscXQ9JHQ9bnVsbCl9ZnVuY3Rpb24gdHIoZSl7aWYoInZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZZdChxdCkpe3ZhciBuPVtdO2p0KG4scXQsZSx3ZShlKSksTGUoS3Qsbil9fWZ1bmN0aW9uIHJyKGUsbix0KXsiZm9jdXNpbiI9PT1lPyhucigpLHF0PXQsKCR0PW4pLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikpOiJmb2N1c291dCI9PT1lJiZucigpfWZ1bmN0aW9uIGxyKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIFl0KHF0KX1mdW5jdGlvbiBhcihlLG4pe2lmKCJjbGljayI9PT1lKXJldHVybiBZdChuKX1mdW5jdGlvbiB1cihlLG4pe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIFl0KG4pfXZhciBvcj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLG4pe3JldHVybiBlPT09biYmKDAhPT1lfHwxL2U9PTEvbil8fGUhPWUmJm4hPW59O2Z1bmN0aW9uIGlyKGUsbil7aWYob3IoZSxuKSlyZXR1cm4hMDtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIG58fG51bGw9PT1uKXJldHVybiExO3ZhciB0PU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXMobik7aWYodC5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO2lmKCFmLmNhbGwobixsKXx8IW9yKGVbbF0sbltsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gc3IoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIGNyKGUsbil7dmFyIHQscj1zcihlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYodD1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PW4mJnQ+PW4pcmV0dXJue25vZGU6cixvZmZzZXQ6bi1lfTtlPXR9ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1zcihyKX19ZnVuY3Rpb24gZnIoZSxuKXtyZXR1cm4hKCFlfHwhbikmJihlPT09bnx8KCFlfHwzIT09ZS5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9mcihlLG4ucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyhuKTohIWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obikpKSl9ZnVuY3Rpb24gZHIoKXtmb3IodmFyIGU9d2luZG93LG49SygpO24gaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciB0PSJzdHJpbmciPT10eXBlb2Ygbi5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWZ9Y2F0Y2goZSl7dD0hMX1pZighdClicmVhaztuPUsoKGU9bi5jb250ZW50V2luZG93KS5kb2N1bWVudCl9cmV0dXJuIG59ZnVuY3Rpb24gcHIoZSl7dmFyIG49ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBuJiYoImlucHV0Ij09PW4mJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09bnx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfWZ1bmN0aW9uIG1yKGUpe3ZhciBuPWRyKCksdD1lLmZvY3VzZWRFbGVtLHI9ZS5zZWxlY3Rpb25SYW5nZTtpZihuIT09dCYmdCYmdC5vd25lckRvY3VtZW50JiZmcih0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQpKXtpZihudWxsIT09ciYmcHIodCkpaWYobj1yLnN0YXJ0LHZvaWQgMD09PShlPXIuZW5kKSYmKGU9biksInNlbGVjdGlvblN0YXJ0ImluIHQpdC5zZWxlY3Rpb25TdGFydD1uLHQuc2VsZWN0aW9uRW5kPU1hdGgubWluKGUsdC52YWx1ZS5sZW5ndGgpO2Vsc2UgaWYoKGU9KG49dC5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKXtlPWUuZ2V0U2VsZWN0aW9uKCk7dmFyIGw9dC50ZXh0Q29udGVudC5sZW5ndGgsYT1NYXRoLm1pbihyLnN0YXJ0LGwpO3I9dm9pZCAwPT09ci5lbmQ/YTpNYXRoLm1pbihyLmVuZCxsKSwhZS5leHRlbmQmJmE+ciYmKGw9cixyPWEsYT1sKSxsPWNyKHQsYSk7dmFyIHU9Y3IodCxyKTtsJiZ1JiYoMSE9PWUucmFuZ2VDb3VudHx8ZS5hbmNob3JOb2RlIT09bC5ub2RlfHxlLmFuY2hvck9mZnNldCE9PWwub2Zmc2V0fHxlLmZvY3VzTm9kZSE9PXUubm9kZXx8ZS5mb2N1c09mZnNldCE9PXUub2Zmc2V0KSYmKChuPW4uY3JlYXRlUmFuZ2UoKSkuc2V0U3RhcnQobC5ub2RlLGwub2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGE+cj8oZS5hZGRSYW5nZShuKSxlLmV4dGVuZCh1Lm5vZGUsdS5vZmZzZXQpKToobi5zZXRFbmQodS5ub2RlLHUub2Zmc2V0KSxlLmFkZFJhbmdlKG4pKSl9Zm9yKG49W10sZT10O2U9ZS5wYXJlbnROb2RlOykxPT09ZS5ub2RlVHlwZSYmbi5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzJiZ0LmZvY3VzKCksdD0wO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19dmFyIGhyPWMmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZ3I9bnVsbCx2cj1udWxsLHlyPW51bGwsYnI9ITE7ZnVuY3Rpb24ga3IoZSxuLHQpe3ZhciByPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O2JyfHxudWxsPT1ncnx8Z3IhPT1LKHIpfHwoInNlbGVjdGlvblN0YXJ0ImluKHI9Z3IpJiZwcihyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZAp9OnI9e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0seXImJmlyKHlyLHIpfHwoeXI9ciwwPChyPSRyKHZyLCJvblNlbGVjdCIpKS5sZW5ndGgmJihuPW5ldyBjdCgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsbix0KSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnJ9KSxuLnRhcmdldD1ncikpKX1mdW5jdGlvbiB3cihlLG4pe3ZhciB0PXt9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09bi50b0xvd2VyQ2FzZSgpLHRbIldlYmtpdCIrZV09IndlYmtpdCIrbix0WyJNb3oiK2VdPSJtb3oiK24sdH12YXIgU3I9e2FuaW1hdGlvbmVuZDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOndyKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9uZW5kOndyKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx4cj17fSxFcj17fTtmdW5jdGlvbiBDcihlKXtpZih4cltlXSlyZXR1cm4geHJbZV07aWYoIVNyW2VdKXJldHVybiBlO3ZhciBuLHQ9U3JbZV07Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIEVyKXJldHVybiB4cltlXT10W25dO3JldHVybiBlfWMmJihFcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIFNyLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBTci50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciB6cj1DcigiYW5pbWF0aW9uZW5kIiksTnI9Q3IoImFuaW1hdGlvbml0ZXJhdGlvbiIpLF9yPUNyKCJhbmltYXRpb25zdGFydCIpLFByPUNyKCJ0cmFuc2l0aW9uZW5kIiksVHI9bmV3IE1hcCxMcj0iYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gTXIoZSxuKXtUci5zZXQoZSxuKSxpKG4sW2VdKX1mb3IodmFyIEZyPTA7RnI8THIubGVuZ3RoO0ZyKyspe3ZhciBScj1McltGcl07TXIoUnIudG9Mb3dlckNhc2UoKSwib24iKyhSclswXS50b1VwcGVyQ2FzZSgpK1JyLnNsaWNlKDEpKSl9TXIoenIsIm9uQW5pbWF0aW9uRW5kIiksTXIoTnIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIiksTXIoX3IsIm9uQW5pbWF0aW9uU3RhcnQiKSxNcigiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIiksTXIoImZvY3VzaW4iLCJvbkZvY3VzIiksTXIoImZvY3Vzb3V0Iiwib25CbHVyIiksTXIoUHIsIm9uVHJhbnNpdGlvbkVuZCIpLHMoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxzKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSkscygib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHMoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxpKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxpKCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksaSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksaSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpCjt2YXIgRHI9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLElyPW5ldyBTZXQoImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoRHIpKTtmdW5jdGlvbiBPcihlLG4sdCl7dmFyIHI9ZS50eXBlfHwidW5rbm93bi1ldmVudCI7ZS5jdXJyZW50VGFyZ2V0PXQsZnVuY3Rpb24oZSxuLHQscixsLHUsbyxpLHMpe2lmKEJlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxJZSl7aWYoIUllKXRocm93IEVycm9yKGEoMTk4KSk7dmFyIGM9T2U7SWU9ITEsT2U9bnVsbCxVZXx8KFVlPSEwLFZlPWMpfX0ocixuLHZvaWQgMCxlKSxlLmN1cnJlbnRUYXJnZXQ9bnVsbH1mdW5jdGlvbiBVcihlLG4pe249ISEoNCZuKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XSxsPXIuZXZlbnQ7cj1yLmxpc3RlbmVycztlOnt2YXIgYT12b2lkIDA7aWYobilmb3IodmFyIHU9ci5sZW5ndGgtMTswPD11O3UtLSl7dmFyIG89clt1XSxpPW8uaW5zdGFuY2Uscz1vLmN1cnJlbnRUYXJnZXQ7aWYobz1vLmxpc3RlbmVyLGkhPT1hJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtPcihsLG8scyksYT1pfWVsc2UgZm9yKHU9MDt1PHIubGVuZ3RoO3UrKyl7aWYoaT0obz1yW3VdKS5pbnN0YW5jZSxzPW8uY3VycmVudFRhcmdldCxvPW8ubGlzdGVuZXIsaSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO09yKGwsbyxzKSxhPWl9fX1pZihVZSl0aHJvdyBlPVZlLFVlPSExLFZlPW51bGwsZX1mdW5jdGlvbiBWcihlLG4pe3ZhciB0PW5baGxdO3ZvaWQgMD09PXQmJih0PW5baGxdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjt0LmhhcyhyKXx8KEhyKG4sZSwyLCExKSx0LmFkZChyKSl9ZnVuY3Rpb24gQXIoZSxuLHQpe3ZhciByPTA7biYmKHJ8PTQpLEhyKHQsZSxyLG4pfXZhciBCcj0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBXcihlKXtpZighZVtCcl0pe2VbQnJdPSEwLHUuZm9yRWFjaCgoZnVuY3Rpb24obil7InNlbGVjdGlvbmNoYW5nZSIhPT1uJiYoSXIuaGFzKG4pfHxBcihuLCExLGUpLEFyKG4sITAsZSkpfSkpO3ZhciBuPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O251bGw9PT1ufHxuW0JyXXx8KG5bQnJdPSEwLEFyKCJzZWxlY3Rpb25jaGFuZ2UiLCExLG4pKX19ZnVuY3Rpb24gSHIoZSxuLHQscil7c3dpdGNoKEduKG4pKXtjYXNlIDE6dmFyIGw9JG47YnJlYWs7Y2FzZSA0Omw9cW47YnJlYWs7ZGVmYXVsdDpsPUtufXQ9bC5iaW5kKG51bGwsbix0LGUpLGw9dm9pZCAwLCFGZXx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1uJiYid2hlZWwiIT09bnx8KGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIobix0LHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcihuLHQsITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKG4sdCx7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKG4sdCwhMSl9ZnVuY3Rpb24gUXIoZSxuLHQscixsKXt2YXIgYT1yO2lmKCEoMSZufHwyJm58fG51bGw9PT1yKSllOmZvcig7Oyl7aWYobnVsbD09PXIpcmV0dXJuO3ZhciB1PXIudGFnO2lmKDM9PT11fHw0PT09dSl7dmFyIG89ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihvPT09bHx8OD09PW8ubm9kZVR5cGUmJm8ucGFyZW50Tm9kZT09PWwpYnJlYWs7aWYoND09PXUpZm9yKHU9ci5yZXR1cm47bnVsbCE9PXU7KXt2YXIgaT11LnRhZztpZigoMz09PWl8fDQ9PT1pKSYmKChpPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pPT09bHx8OD09PWkubm9kZVR5cGUmJmkucGFyZW50Tm9kZT09PWwpKXJldHVybjt1PXUucmV0dXJufWZvcig7bnVsbCE9PW87KXtpZihudWxsPT09KHU9eWwobykpKXJldHVybjtpZig1PT09KGk9dS50YWcpfHw2PT09aSl7cj1hPXU7Y29udGludWUgZX1vPW8ucGFyZW50Tm9kZX19cj1yLnJldHVybn1MZSgoZnVuY3Rpb24oKXt2YXIgcj1hLGw9d2UodCksdT1bXTtlOnt2YXIgbz1Uci5nZXQoZSk7aWYodm9pZCAwIT09byl7dmFyIGk9Y3Qscz1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZigwPT09dHQodCkpYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmk9TnQ7YnJlYWs7Y2FzZSJmb2N1c2luIjpzPSJmb2N1cyIsaT1ndDticmVhaztjYXNlImZvY3Vzb3V0IjpzPSJibHVyIixpPWd0O2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmk9Z3Q7YnJlYWs7Y2FzZSJjbGljayI6aWYoMj09PXQuYnV0dG9uKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51IjppPW10O2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmk9aHQ7YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6aT1QdDticmVhaztjYXNlIHpyOmNhc2UgTnI6Y2FzZSBfcjppPXZ0O2JyZWFrO2Nhc2UgUHI6aT1UdDticmVhaztjYXNlInNjcm9sbCI6aT1kdDticmVhaztjYXNlIndoZWVsIjppPU10O2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOmk9YnQ7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOgpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmk9X3R9dmFyIGM9ISEoNCZuKSxmPSFjJiYic2Nyb2xsIj09PWUsZD1jP251bGwhPT1vP28rIkNhcHR1cmUiOm51bGw6bztjPVtdO2Zvcih2YXIgcCxtPXI7bnVsbCE9PW07KXt2YXIgaD0ocD1tKS5zdGF0ZU5vZGU7aWYoNT09PXAudGFnJiZudWxsIT09aCYmKHA9aCxudWxsIT09ZCYmKG51bGwhPShoPU1lKG0sZCkpJiZjLnB1c2goanIobSxoLHApKSkpLGYpYnJlYWs7bT1tLnJldHVybn0wPGMubGVuZ3RoJiYobz1uZXcgaShvLHMsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6byxsaXN0ZW5lcnM6Y30pKX19aWYoISg3Jm4pKXtpZihpPSJtb3VzZW91dCI9PT1lfHwicG9pbnRlcm91dCI9PT1lLCghKG89Im1vdXNlb3ZlciI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSl8fHQ9PT1rZXx8IShzPXQucmVsYXRlZFRhcmdldHx8dC5mcm9tRWxlbWVudCl8fCF5bChzKSYmIXNbbWxdKSYmKGl8fG8pJiYobz1sLndpbmRvdz09PWw/bDoobz1sLm93bmVyRG9jdW1lbnQpP28uZGVmYXVsdFZpZXd8fG8ucGFyZW50V2luZG93OndpbmRvdyxpPyhpPXIsbnVsbCE9PShzPShzPXQucmVsYXRlZFRhcmdldHx8dC50b0VsZW1lbnQpP3lsKHMpOm51bGwpJiYocyE9PShmPVdlKHMpKXx8NSE9PXMudGFnJiY2IT09cy50YWcpJiYocz1udWxsKSk6KGk9bnVsbCxzPXIpLGkhPT1zKSl7aWYoYz1tdCxoPSJvbk1vdXNlTGVhdmUiLGQ9Im9uTW91c2VFbnRlciIsbT0ibW91c2UiLCJwb2ludGVyb3V0IiE9PWUmJiJwb2ludGVyb3ZlciIhPT1lfHwoYz1fdCxoPSJvblBvaW50ZXJMZWF2ZSIsZD0ib25Qb2ludGVyRW50ZXIiLG09InBvaW50ZXIiKSxmPW51bGw9PWk/bzprbChpKSxwPW51bGw9PXM/bzprbChzKSwobz1uZXcgYyhoLG0rImxlYXZlIixpLHQsbCkpLnRhcmdldD1mLG8ucmVsYXRlZFRhcmdldD1wLGg9bnVsbCx5bChsKT09PXImJigoYz1uZXcgYyhkLG0rImVudGVyIixzLHQsbCkpLnRhcmdldD1wLGMucmVsYXRlZFRhcmdldD1mLGg9YyksZj1oLGkmJnMpZTp7Zm9yKGQ9cyxtPTAscD1jPWk7cDtwPXFyKHApKW0rKztmb3IocD0wLGg9ZDtoO2g9cXIoaCkpcCsrO2Zvcig7MDxtLXA7KWM9cXIoYyksbS0tO2Zvcig7MDxwLW07KWQ9cXIoZCkscC0tO2Zvcig7bS0tOyl7aWYoYz09PWR8fG51bGwhPT1kJiZjPT09ZC5hbHRlcm5hdGUpYnJlYWsgZTtjPXFyKGMpLGQ9cXIoZCl9Yz1udWxsfWVsc2UgYz1udWxsO251bGwhPT1pJiZLcih1LG8saSxjLCExKSxudWxsIT09cyYmbnVsbCE9PWYmJktyKHUsZixzLGMsITApfWlmKCJzZWxlY3QiPT09KGk9KG89cj9rbChyKTp3aW5kb3cpLm5vZGVOYW1lJiZvLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09aSYmImZpbGUiPT09by50eXBlKXZhciBnPVh0O2Vsc2UgaWYoUXQobykpaWYoR3QpZz11cjtlbHNle2c9bHI7dmFyIHY9cnJ9ZWxzZShpPW8ubm9kZU5hbWUpJiYiaW5wdXQiPT09aS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW8udHlwZXx8InJhZGlvIj09PW8udHlwZSkmJihnPWFyKTtzd2l0Y2goZyYmKGc9ZyhlLHIpKT9qdCh1LGcsdCxsKToodiYmdihlLG8sciksImZvY3Vzb3V0Ij09PWUmJih2PW8uX3dyYXBwZXJTdGF0ZSkmJnYuY29udHJvbGxlZCYmIm51bWJlciI9PT1vLnR5cGUmJmVlKG8sIm51bWJlciIsby52YWx1ZSkpLHY9cj9rbChyKTp3aW5kb3csZSl7Y2FzZSJmb2N1c2luIjooUXQodil8fCJ0cnVlIj09PXYuY29udGVudEVkaXRhYmxlKSYmKGdyPXYsdnI9cix5cj1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp5cj12cj1ncj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpicj0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6YnI9ITEsa3IodSx0LGwpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihocilicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmtyKHUsdCxsKX12YXIgeTtpZihSdCllOntzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgYj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBlO2Nhc2UiY29tcG9zaXRpb25lbmQiOmI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Yj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgZX1iPXZvaWQgMH1lbHNlIFd0P0F0KGUsdCkmJihiPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZSYmMjI5PT09dC5rZXlDb2RlJiYoYj0ib25Db21wb3NpdGlvblN0YXJ0Iik7YiYmKE90JiYia28iIT09dC5sb2NhbGUmJihXdHx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1iPyJvbkNvbXBvc2l0aW9uRW5kIj09PWImJld0JiYoeT1udCgpKTooSm49InZhbHVlImluKFpuPWwpP1puLnZhbHVlOlpuLnRleHRDb250ZW50LFd0PSEwKSksMDwodj0kcihyLGIpKS5sZW5ndGgmJihiPW5ldyBrdChiLGUsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk/Yi5kYXRhPXk6bnVsbCE9PSh5PUJ0KHQpKSYmKGIuZGF0YT15KSkpLCh5PUl0P2Z1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBCdChuKTtjYXNlImtleXByZXNzIjpyZXR1cm4gMzIhPT1uLndoaWNoP251bGw6KFZ0PSEwLFV0KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuKGU9bi5kYXRhKT09PVV0JiZWdD9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsdCk6ZnVuY3Rpb24oZSxuKXtpZihXdClyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IVJ0JiZBdChlLG4pPyhlPW50KCksZXQ9Sm49Wm49bnVsbCxXdD0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEobi5jdHJsS2V5fHxuLmFsdEtleXx8bi5tZXRhS2V5KXx8bi5jdHJsS2V5JiZuLmFsdEtleSl7aWYobi5jaGFyJiYxPG4uY2hhci5sZW5ndGgpcmV0dXJuIG4uY2hhcgo7aWYobi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShuLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gT3QmJiJrbyIhPT1uLmxvY2FsZT9udWxsOm4uZGF0YX19KGUsdCkpJiYoMDwocj0kcihyLCJvbkJlZm9yZUlucHV0IikpLmxlbmd0aCYmKGw9bmV3IGt0KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdCxsKSx1LnB1c2goe2V2ZW50OmwsbGlzdGVuZXJzOnJ9KSxsLmRhdGE9eSkpfVVyKHUsbil9KSl9ZnVuY3Rpb24ganIoZSxuLHQpe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOm4sY3VycmVudFRhcmdldDp0fX1mdW5jdGlvbiAkcihlLG4pe2Zvcih2YXIgdD1uKyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlOzU9PT1sLnRhZyYmbnVsbCE9PWEmJihsPWEsbnVsbCE9KGE9TWUoZSx0KSkmJnIudW5zaGlmdChqcihlLGEsbCkpLG51bGwhPShhPU1lKGUsbikpJiZyLnB1c2goanIoZSxhLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBxcihlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtkb3tlPWUucmV0dXJufXdoaWxlKGUmJjUhPT1lLnRhZyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gS3IoZSxuLHQscixsKXtmb3IodmFyIGE9bi5fcmVhY3ROYW1lLHU9W107bnVsbCE9PXQmJnQhPT1yOyl7dmFyIG89dCxpPW8uYWx0ZXJuYXRlLHM9by5zdGF0ZU5vZGU7aWYobnVsbCE9PWkmJmk9PT1yKWJyZWFrOzU9PT1vLnRhZyYmbnVsbCE9PXMmJihvPXMsbD9udWxsIT0oaT1NZSh0LGEpKSYmdS51bnNoaWZ0KGpyKHQsaSxvKSk6bHx8bnVsbCE9KGk9TWUodCxhKSkmJnUucHVzaChqcih0LGksbykpKSx0PXQucmV0dXJufTAhPT11Lmxlbmd0aCYmZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp1fSl9dmFyIFlyPS9cclxuPy9nLFhyPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gR3IoZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoWXIsIlxuIikucmVwbGFjZShYciwiIil9ZnVuY3Rpb24gWnIoZSxuLHQpe2lmKG49R3IobiksR3IoZSkhPT1uJiZ0KXRocm93IEVycm9yKGEoNDI1KSl9ZnVuY3Rpb24gSnIoKXt9dmFyIGVsPW51bGwsbmw9bnVsbDtmdW5jdGlvbiB0bChlLG4pe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiBuLmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIG4uY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBybD0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxsbD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsYWw9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsdWw9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PWFsP2Z1bmN0aW9uKGUpe3JldHVybiBhbC5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2gob2wpfTpybDtmdW5jdGlvbiBvbChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3Rocm93IGV9KSl9ZnVuY3Rpb24gaWwoZSxuKXt2YXIgdD1uLHI9MDtkb3t2YXIgbD10Lm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQodCksbCYmOD09PWwubm9kZVR5cGUpaWYoIi8kIj09PSh0PWwuZGF0YSkpe2lmKDA9PT1yKXJldHVybiBlLnJlbW92ZUNoaWxkKGwpLHZvaWQgSG4obik7ci0tfWVsc2UiJCIhPT10JiYiJD8iIT09dCYmIiQhIiE9PXR8fHIrKzt0PWx9d2hpbGUodCk7SG4obil9ZnVuY3Rpb24gc2woZSl7Zm9yKDtudWxsIT1lO2U9ZS5uZXh0U2libGluZyl7dmFyIG49ZS5ub2RlVHlwZTtpZigxPT09bnx8Mz09PW4pYnJlYWs7aWYoOD09PW4pe2lmKCIkIj09PShuPWUuZGF0YSl8fCIkISI9PT1ufHwiJD8iPT09bilicmVhaztpZigiLyQiPT09bilyZXR1cm4gbnVsbH19cmV0dXJuIGV9ZnVuY3Rpb24gY2woZSl7ZT1lLnByZXZpb3VzU2libGluZztmb3IodmFyIG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiJCI9PT10fHwiJCEiPT09dHx8IiQ/Ij09PXQpe2lmKDA9PT1uKXJldHVybiBlO24tLX1lbHNlIi8kIj09PXQmJm4rK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBmbD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxkbD0iX19yZWFjdEZpYmVyJCIrZmwscGw9Il9fcmVhY3RQcm9wcyQiK2ZsLG1sPSJfX3JlYWN0Q29udGFpbmVyJCIrZmwsaGw9Il9fcmVhY3RFdmVudHMkIitmbCxnbD0iX19yZWFjdExpc3RlbmVycyQiK2ZsLHZsPSJfX3JlYWN0SGFuZGxlcyQiK2ZsO2Z1bmN0aW9uIHlsKGUpe3ZhciBuPWVbZGxdO2lmKG4pcmV0dXJuIG47Zm9yKHZhciB0PWUucGFyZW50Tm9kZTt0Oyl7aWYobj10W21sXXx8dFtkbF0pe2lmKHQ9bi5hbHRlcm5hdGUsbnVsbCE9PW4uY2hpbGR8fG51bGwhPT10JiZudWxsIT09dC5jaGlsZClmb3IoZT1jbChlKTtudWxsIT09ZTspe2lmKHQ9ZVtkbF0pcmV0dXJuIHQ7ZT1jbChlKX1yZXR1cm4gbn10PShlPXQpLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYmwoZSl7cmV0dXJuIShlPWVbZGxdfHxlW21sXSl8fDUhPT1lLnRhZyYmNiE9PWUudGFnJiYxMyE9PWUudGFnJiYzIT09ZS50YWc/bnVsbDplfWZ1bmN0aW9uIGtsKGUpe2lmKDU9PT1lLnRhZ3x8Nj09PWUudGFnKXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihhKDMzKSl9ZnVuY3Rpb24gd2woZSl7cmV0dXJuIGVbcGxdfHxudWxsfXZhciBTbD1bXSx4bD0tMTtmdW5jdGlvbiBFbChlKXtyZXR1cm57Y3VycmVudDplfX1mdW5jdGlvbiBDbChlKXswPnhsfHwoZS5jdXJyZW50PVNsW3hsXSxTbFt4bF09bnVsbCx4bC0tKX1mdW5jdGlvbiB6bChlLG4pe3hsKyssU2xbeGxdPWUuY3VycmVudCxlLmN1cnJlbnQ9bn0KdmFyIE5sPXt9LF9sPUVsKE5sKSxQbD1FbCghMSksVGw9Tmw7ZnVuY3Rpb24gTGwoZSxuKXt2YXIgdD1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCF0KXJldHVybiBObDt2YXIgcj1lLnN0YXRlTm9kZTtpZihyJiZyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT1uKXJldHVybiByLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBsLGE9e307Zm9yKGwgaW4gdClhW2xdPW5bbF07cmV0dXJuIHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1uLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksYX1mdW5jdGlvbiBNbChlKXtyZXR1cm4gbnVsbCE9KGU9ZS5jaGlsZENvbnRleHRUeXBlcyl9ZnVuY3Rpb24gRmwoKXtDbChQbCksQ2woX2wpfWZ1bmN0aW9uIFJsKGUsbix0KXtpZihfbC5jdXJyZW50IT09TmwpdGhyb3cgRXJyb3IoYSgxNjgpKTt6bChfbCxuKSx6bChQbCx0KX1mdW5jdGlvbiBEbChlLG4sdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYobj1uLmNoaWxkQ29udGV4dFR5cGVzLCJmdW5jdGlvbiIhPXR5cGVvZiByLmdldENoaWxkQ29udGV4dClyZXR1cm4gdDtmb3IodmFyIGwgaW4gcj1yLmdldENoaWxkQ29udGV4dCgpKWlmKCEobCBpbiBuKSl0aHJvdyBFcnJvcihhKDEwOCxIKGUpfHwiVW5rbm93biIsbCkpO3JldHVybiBPKHt9LHQscil9ZnVuY3Rpb24gSWwoZSl7cmV0dXJuIGU9KGU9ZS5zdGF0ZU5vZGUpJiZlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxObCxUbD1fbC5jdXJyZW50LHpsKF9sLGUpLHpsKFBsLFBsLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIE9sKGUsbix0KXt2YXIgcj1lLnN0YXRlTm9kZTtpZighcil0aHJvdyBFcnJvcihhKDE2OSkpO3Q/KGU9RGwoZSxuLFRsKSxyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0PWUsQ2woUGwpLENsKF9sKSx6bChfbCxlKSk6Q2woUGwpLHpsKFBsLHQpfXZhciBVbD1udWxsLFZsPSExLEFsPSExO2Z1bmN0aW9uIEJsKGUpe251bGw9PT1VbD9VbD1bZV06VWwucHVzaChlKX1mdW5jdGlvbiBXbCgpe2lmKCFBbCYmbnVsbCE9PVVsKXtBbD0hMDt2YXIgZT0wLG49a247dHJ5e3ZhciB0PVVsO2Zvcihrbj0xO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO2Rve3I9cighMCl9d2hpbGUobnVsbCE9PXIpfVVsPW51bGwsVmw9ITF9Y2F0Y2gobil7dGhyb3cgbnVsbCE9PVVsJiYoVWw9VWwuc2xpY2UoZSsxKSkscWUoSmUsV2wpLG59ZmluYWxseXtrbj1uLEFsPSExfX1yZXR1cm4gbnVsbH12YXIgSGw9W10sUWw9MCxqbD1udWxsLCRsPTAscWw9W10sS2w9MCxZbD1udWxsLFhsPTEsR2w9IiI7ZnVuY3Rpb24gWmwoZSxuKXtIbFtRbCsrXT0kbCxIbFtRbCsrXT1qbCxqbD1lLCRsPW59ZnVuY3Rpb24gSmwoZSxuLHQpe3FsW0tsKytdPVhsLHFsW0tsKytdPUdsLHFsW0tsKytdPVlsLFlsPWU7dmFyIHI9WGw7ZT1HbDt2YXIgbD0zMi11bihyKS0xO3ImPX4oMTw8bCksdCs9MTt2YXIgYT0zMi11bihuKStsO2lmKDMwPGEpe3ZhciB1PWwtbCU1O2E9KHImKDE8PHUpLTEpLnRvU3RyaW5nKDMyKSxyPj49dSxsLT11LFhsPTE8PDMyLXVuKG4pK2x8dDw8bHxyLEdsPWErZX1lbHNlIFhsPTE8PGF8dDw8bHxyLEdsPWV9ZnVuY3Rpb24gZWEoZSl7bnVsbCE9PWUucmV0dXJuJiYoWmwoZSwxKSxKbChlLDEsMCkpfWZ1bmN0aW9uIG5hKGUpe2Zvcig7ZT09PWpsOylqbD1IbFstLVFsXSxIbFtRbF09bnVsbCwkbD1IbFstLVFsXSxIbFtRbF09bnVsbDtmb3IoO2U9PT1ZbDspWWw9cWxbLS1LbF0scWxbS2xdPW51bGwsR2w9cWxbLS1LbF0scWxbS2xdPW51bGwsWGw9cWxbLS1LbF0scWxbS2xdPW51bGx9dmFyIHRhPW51bGwscmE9bnVsbCxsYT0hMSxhYT1udWxsO2Z1bmN0aW9uIHVhKGUsbil7dmFyIHQ9THMoNSxudWxsLG51bGwsMCk7dC5lbGVtZW50VHlwZT0iREVMRVRFRCIsdC5zdGF0ZU5vZGU9bix0LnJldHVybj1lLG51bGw9PT0obj1lLmRlbGV0aW9ucyk/KGUuZGVsZXRpb25zPVt0XSxlLmZsYWdzfD0xNik6bi5wdXNoKHQpfWZ1bmN0aW9uIG9hKGUsbil7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHQ9ZS50eXBlO3JldHVybiBudWxsIT09KG49MSE9PW4ubm9kZVR5cGV8fHQudG9Mb3dlckNhc2UoKSE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOm4pJiYoZS5zdGF0ZU5vZGU9bix0YT1lLHJhPXNsKG4uZmlyc3RDaGlsZCksITApO2Nhc2UgNjpyZXR1cm4gbnVsbCE9PShuPSIiPT09ZS5wZW5kaW5nUHJvcHN8fDMhPT1uLm5vZGVUeXBlP251bGw6bikmJihlLnN0YXRlTm9kZT1uLHRhPWUscmE9bnVsbCwhMCk7Y2FzZSAxMzpyZXR1cm4gbnVsbCE9PShuPTghPT1uLm5vZGVUeXBlP251bGw6bikmJih0PW51bGwhPT1ZbD97aWQ6WGwsb3ZlcmZsb3c6R2x9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOm4sdHJlZUNvbnRleHQ6dCxyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sKHQ9THMoMTgsbnVsbCxudWxsLDApKS5zdGF0ZU5vZGU9bix0LnJldHVybj1lLGUuY2hpbGQ9dCx0YT1lLHJhPW51bGwsITApO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGlhKGUpe3JldHVybiEoISgxJmUubW9kZSl8fDEyOCZlLmZsYWdzKX1mdW5jdGlvbiBzYShlKXtpZihsYSl7dmFyIG49cmE7aWYobil7dmFyIHQ9bjtpZighb2EoZSxuKSl7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtuPXNsKHQubmV4dFNpYmxpbmcpO3ZhciByPXRhO24mJm9hKGUsbik/dWEocix0KTooZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsbGE9ITEsdGE9ZSl9fWVsc2V7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixsYT0hMSx0YT1lfX19ZnVuY3Rpb24gY2EoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWUmJjUhPT1lLnRhZyYmMyE9PWUudGFnJiYxMyE9PWUudGFnOyllPWUucmV0dXJuO3RhPWV9ZnVuY3Rpb24gZmEoZSl7aWYoZSE9PXRhKXJldHVybiExO2lmKCFsYSlyZXR1cm4gY2EoZSksbGE9ITAsITE7dmFyIG4KO2lmKChuPTMhPT1lLnRhZykmJiEobj01IT09ZS50YWcpJiYobj0iaGVhZCIhPT0obj1lLnR5cGUpJiYiYm9keSIhPT1uJiYhdGwoZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLG4mJihuPXJhKSl7aWYoaWEoZSkpdGhyb3cgZGEoKSxFcnJvcihhKDQxOCkpO2Zvcig7bjspdWEoZSxuKSxuPXNsKG4ubmV4dFNpYmxpbmcpfWlmKGNhKGUpLDEzPT09ZS50YWcpe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IoYSgzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiLyQiPT09dCl7aWYoMD09PW4pe3JhPXNsKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9bi0tfWVsc2UiJCIhPT10JiYiJCEiIT09dCYmIiQ/IiE9PXR8fG4rK31lPWUubmV4dFNpYmxpbmd9cmE9bnVsbH19ZWxzZSByYT10YT9zbChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBkYSgpe2Zvcih2YXIgZT1yYTtlOyllPXNsKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHBhKCl7cmE9dGE9bnVsbCxsYT0hMX1mdW5jdGlvbiBtYShlKXtudWxsPT09YWE/YWE9W2VdOmFhLnB1c2goZSl9dmFyIGhhPWsuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7ZnVuY3Rpb24gZ2EoZSxuKXtpZihlJiZlLmRlZmF1bHRQcm9wcyl7Zm9yKHZhciB0IGluIG49Tyh7fSxuKSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW5bdF0mJihuW3RdPWVbdF0pO3JldHVybiBufXJldHVybiBufXZhciB2YT1FbChudWxsKSx5YT1udWxsLGJhPW51bGwsa2E9bnVsbDtmdW5jdGlvbiB3YSgpe2thPWJhPXlhPW51bGx9ZnVuY3Rpb24gU2EoZSl7dmFyIG49dmEuY3VycmVudDtDbCh2YSksZS5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24geGEoZSxuLHQpe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJm4pIT09bj8oZS5jaGlsZExhbmVzfD1uLG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD1uKSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmbikhPT1uJiYoci5jaGlsZExhbmVzfD1uKSxlPT09dClicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBFYShlLG4pe3lhPWUsa2E9YmE9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJighIShlLmxhbmVzJm4pJiYoa289ITApLGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIENhKGUpe3ZhciBuPWUuX2N1cnJlbnRWYWx1ZTtpZihrYSE9PWUpaWYoZT17Y29udGV4dDplLG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1iYSl7aWYobnVsbD09PXlhKXRocm93IEVycm9yKGEoMzA4KSk7YmE9ZSx5YS5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmV9fWVsc2UgYmE9YmEubmV4dD1lO3JldHVybiBufXZhciB6YT1udWxsO2Z1bmN0aW9uIE5hKGUpe251bGw9PT16YT96YT1bZV06emEucHVzaChlKX1mdW5jdGlvbiBfYShlLG4sdCxyKXt2YXIgbD1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09bD8odC5uZXh0PXQsTmEobikpOih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxuLmludGVybGVhdmVkPXQsUGEoZSxyKX1mdW5jdGlvbiBQYShlLG4pe2UubGFuZXN8PW47dmFyIHQ9ZS5hbHRlcm5hdGU7Zm9yKG51bGwhPT10JiYodC5sYW5lc3w9biksdD1lLGU9ZS5yZXR1cm47bnVsbCE9PWU7KWUuY2hpbGRMYW5lc3w9bixudWxsIT09KHQ9ZS5hbHRlcm5hdGUpJiYodC5jaGlsZExhbmVzfD1uKSx0PWUsZT1lLnJldHVybjtyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlOm51bGx9dmFyIFRhPSExO2Z1bmN0aW9uIExhKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gTWEoZSxuKXtlPWUudXBkYXRlUXVldWUsbi51cGRhdGVRdWV1ZT09PWUmJihuLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGVmZmVjdHM6ZS5lZmZlY3RzfSl9ZnVuY3Rpb24gRmEoZSxuKXtyZXR1cm57ZXZlbnRUaW1lOmUsbGFuZTpuLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gUmEoZSxuLHQpe3ZhciByPWUudXBkYXRlUXVldWU7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYocj1yLnNoYXJlZCwyJl9pKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP24ubmV4dD1uOihuLm5leHQ9bC5uZXh0LGwubmV4dD1uKSxyLnBlbmRpbmc9bixQYShlLHQpfXJldHVybiBudWxsPT09KGw9ci5pbnRlcmxlYXZlZCk/KG4ubmV4dD1uLE5hKHIpKToobi5uZXh0PWwubmV4dCxsLm5leHQ9biksci5pbnRlcmxlYXZlZD1uLFBhKGUsdCl9ZnVuY3Rpb24gRGEoZSxuLHQpe2lmKG51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKSYmKG49bi5zaGFyZWQsNDE5NDI0MCZ0KSl7dmFyIHI9bi5sYW5lczt0fD1yJj1lLnBlbmRpbmdMYW5lcyxuLmxhbmVzPXQsYm4oZSx0KX19ZnVuY3Rpb24gSWEoZSxuKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJnQ9PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PSh0PXQuZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIHU9e2V2ZW50VGltZTp0LmV2ZW50VGltZSxsYW5lOnQubGFuZSx0YWc6dC50YWcscGF5bG9hZDp0LnBheWxvYWQsY2FsbGJhY2s6dC5jYWxsYmFjayxuZXh0Om51bGx9O251bGw9PT1hP2w9YT11OmE9YS5uZXh0PXUsdD10Lm5leHR9d2hpbGUobnVsbCE9PXQpO251bGw9PT1hP2w9YT1uOmE9YS5uZXh0PW59ZWxzZSBsPWE9bjtyZXR1cm4gdD17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsCnNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sdm9pZChlLnVwZGF0ZVF1ZXVlPXQpfW51bGw9PT0oZT10Lmxhc3RCYXNlVXBkYXRlKT90LmZpcnN0QmFzZVVwZGF0ZT1uOmUubmV4dD1uLHQubGFzdEJhc2VVcGRhdGU9bn1mdW5jdGlvbiBPYShlLG4sdCxyKXt2YXIgbD1lLnVwZGF0ZVF1ZXVlO1RhPSExO3ZhciBhPWwuZmlyc3RCYXNlVXBkYXRlLHU9bC5sYXN0QmFzZVVwZGF0ZSxvPWwuc2hhcmVkLnBlbmRpbmc7aWYobnVsbCE9PW8pe2wuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1vLHM9aS5uZXh0O2kubmV4dD1udWxsLG51bGw9PT11P2E9czp1Lm5leHQ9cyx1PWk7dmFyIGM9ZS5hbHRlcm5hdGU7bnVsbCE9PWMmJigobz0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT11JiYobnVsbD09PW8/Yy5maXJzdEJhc2VVcGRhdGU9czpvLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKHU9MCxjPXM9aT1udWxsLG89YTs7KXt2YXIgZD1vLmxhbmUscD1vLmV2ZW50VGltZTtpZigociZkKT09PWQpe251bGwhPT1jJiYoYz1jLm5leHQ9e2V2ZW50VGltZTpwLGxhbmU6MCx0YWc6by50YWcscGF5bG9hZDpvLnBheWxvYWQsY2FsbGJhY2s6by5jYWxsYmFjayxuZXh0Om51bGx9KTtlOnt2YXIgbT1lLGg9bztzd2l0Y2goZD1uLHA9dCxoLnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCkpe2Y9bS5jYWxsKHAsZixkKTticmVhayBlfWY9bTticmVhayBlO2Nhc2UgMzptLmZsYWdzPS02NTUzNyZtLmZsYWdzfDEyODtjYXNlIDA6aWYobnVsbD09KGQ9ImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKT9tLmNhbGwocCxmLGQpOm0pKWJyZWFrIGU7Zj1PKHt9LGYsZCk7YnJlYWsgZTtjYXNlIDI6VGE9ITB9fW51bGwhPT1vLmNhbGxiYWNrJiYwIT09by5sYW5lJiYoZS5mbGFnc3w9NjQsbnVsbD09PShkPWwuZWZmZWN0cyk/bC5lZmZlY3RzPVtvXTpkLnB1c2gobykpfWVsc2UgcD17ZXZlbnRUaW1lOnAsbGFuZTpkLHRhZzpvLnRhZyxwYXlsb2FkOm8ucGF5bG9hZCxjYWxsYmFjazpvLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PWM/KHM9Yz1wLGk9Zik6Yz1jLm5leHQ9cCx1fD1kO2lmKG51bGw9PT0obz1vLm5leHQpKXtpZihudWxsPT09KG89bC5zaGFyZWQucGVuZGluZykpYnJlYWs7bz0oZD1vKS5uZXh0LGQubmV4dD1udWxsLGwubGFzdEJhc2VVcGRhdGU9ZCxsLnNoYXJlZC5wZW5kaW5nPW51bGx9fWlmKG51bGw9PT1jJiYoaT1mKSxsLmJhc2VTdGF0ZT1pLGwuZmlyc3RCYXNlVXBkYXRlPXMsbC5sYXN0QmFzZVVwZGF0ZT1jLG51bGwhPT0obj1sLnNoYXJlZC5pbnRlcmxlYXZlZCkpe2w9bjtkb3t1fD1sLmxhbmUsbD1sLm5leHR9d2hpbGUobCE9PW4pfWVsc2UgbnVsbD09PWEmJihsLnNoYXJlZC5sYW5lcz0wKTtJaXw9dSxlLmxhbmVzPXUsZS5tZW1vaXplZFN0YXRlPWZ9fWZ1bmN0aW9uIFVhKGUsbix0KXtpZihlPW4uZWZmZWN0cyxuLmVmZmVjdHM9bnVsbCxudWxsIT09ZSlmb3Iobj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5jYWxsYmFjaztpZihudWxsIT09bCl7aWYoci5jYWxsYmFjaz1udWxsLHI9dCwiZnVuY3Rpb24iIT10eXBlb2YgbCl0aHJvdyBFcnJvcihhKDE5MSxsKSk7bC5jYWxsKHIpfX19dmFyIFZhPShuZXcgci5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gQWEoZSxuLHQscil7dD1udWxsPT0odD10KHIsbj1lLm1lbW9pemVkU3RhdGUpKT9uOk8oe30sbix0KSxlLm1lbW9pemVkU3RhdGU9dCwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPXQpfXZhciBCYT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbHMpJiZXZShlKT09PWV9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EucGF5bG9hZD1uLG51bGwhPXQmJihhLmNhbGxiYWNrPXQpLG51bGwhPT0obj1SYShlLGEsbCkpJiYodHMobixlLGwsciksRGEobixlLGwpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EudGFnPTEsYS5wYXlsb2FkPW4sbnVsbCE9dCYmKGEuY2FsbGJhY2s9dCksbnVsbCE9PShuPVJhKGUsYSxsKSkmJih0cyhuLGUsbCxyKSxEYShuLGUsbCkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciB0PWVzKCkscj1ucyhlKSxsPUZhKHQscik7bC50YWc9MixudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KG49UmEoZSxsLHIpKSYmKHRzKG4sZSxyLHQpLERhKG4sZSxyKSl9fTtmdW5jdGlvbiBXYShlLG4sdCxyLGwsYSx1KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSx1KTohbi5wcm90b3R5cGV8fCFuLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudHx8KCFpcih0LHIpfHwhaXIobCxhKSl9ZnVuY3Rpb24gSGEoZSxuLHQpe3ZhciByPSExLGw9TmwsYT1uLmNvbnRleHRUeXBlO3JldHVybiJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1DYShhKToobD1NbChuKT9UbDpfbC5jdXJyZW50LGE9KHI9bnVsbCE9KHI9bi5jb250ZXh0VHlwZXMpKT9MbChlLGwpOk5sKSxuPW5ldyBuKHQsYSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT1uLnN0YXRlJiZ2b2lkIDAhPT1uLnN0YXRlP24uc3RhdGU6bnVsbCxuLnVwZGF0ZXI9QmEsZS5zdGF0ZU5vZGU9bixuLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksbn1mdW5jdGlvbiBRYShlLG4sdCxyKXtlPW4uc3RhdGUsCiJmdW5jdGlvbiI9PXR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJm4uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh0LHIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHQsciksbi5zdGF0ZSE9PWUmJkJhLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpfWZ1bmN0aW9uIGphKGUsbix0LHIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucHJvcHM9dCxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxsLnJlZnM9VmEsTGEoZSk7dmFyIGE9bi5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2wuY29udGV4dD1DYShhKTooYT1NbChuKT9UbDpfbC5jdXJyZW50LGwuY29udGV4dD1MbChlLGEpKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YoYT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihBYShlLG4sYSx0KSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50fHwobj1sLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudFdpbGxNb3VudCYmbC5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxuIT09bC5zdGF0ZSYmQmEuZW5xdWV1ZVJlcGxhY2VTdGF0ZShsLGwuc3RhdGUsbnVsbCksT2EoZSx0LGwsciksbC5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50JiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gJGEoZSxuLHQpe2lmKG51bGwhPT0oZT10LnJlZikmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIGUpe2lmKHQuX293bmVyKXtpZih0PXQuX293bmVyKXtpZigxIT09dC50YWcpdGhyb3cgRXJyb3IoYSgzMDkpKTt2YXIgcj10LnN0YXRlTm9kZX1pZighcil0aHJvdyBFcnJvcihhKDE0NyxlKSk7dmFyIGw9cix1PSIiK2U7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09bi5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlZiYmbi5yZWYuX3N0cmluZ1JlZj09PXU/bi5yZWY6KG49ZnVuY3Rpb24oZSl7dmFyIG49bC5yZWZzO249PT1WYSYmKG49bC5yZWZzPXt9KSxudWxsPT09ZT9kZWxldGUgblt1XTpuW3VdPWV9LG4uX3N0cmluZ1JlZj11LG4pfWlmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcihhKDI4NCkpO2lmKCF0Ll9vd25lcil0aHJvdyBFcnJvcihhKDI5MCxlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcWEoZSxuKXt0aHJvdyBlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuKSxFcnJvcihhKDMxLCJbb2JqZWN0IE9iamVjdF0iPT09ZT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gS2EoZSl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gWWEoZSl7ZnVuY3Rpb24gbihuLHQpe2lmKGUpe3ZhciByPW4uZGVsZXRpb25zO251bGw9PT1yPyhuLmRlbGV0aW9ucz1bdF0sbi5mbGFnc3w9MTYpOnIucHVzaCh0KX19ZnVuY3Rpb24gdCh0LHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KW4odCxyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUsbil7Zm9yKGU9bmV3IE1hcDtudWxsIT09bjspbnVsbCE9PW4ua2V5P2Uuc2V0KG4ua2V5LG4pOmUuc2V0KG4uaW5kZXgsbiksbj1uLnNpYmxpbmc7cmV0dXJuIGV9ZnVuY3Rpb24gbChlLG4pe3JldHVybihlPUZzKGUsbikpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiB1KG4sdCxyKXtyZXR1cm4gbi5pbmRleD1yLGU/bnVsbCE9PShyPW4uYWx0ZXJuYXRlKT8ocj1yLmluZGV4KTx0PyhuLmZsYWdzfD0yLHQpOnI6KG4uZmxhZ3N8PTIsdCk6KG4uZmxhZ3N8PTEwNDg1NzYsdCl9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZSYmbnVsbD09PW4uYWx0ZXJuYXRlJiYobi5mbGFnc3w9Miksbn1mdW5jdGlvbiBpKGUsbix0LHIpe3JldHVybiBudWxsPT09bnx8NiE9PW4udGFnPygobj1Pcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gcyhlLG4sdCxyKXt2YXIgYT10LnR5cGU7cmV0dXJuIGE9PT14P2YoZSxuLHQucHJvcHMuY2hpbGRyZW4scix0LmtleSk6bnVsbCE9PW4mJihuLmVsZW1lbnRUeXBlPT09YXx8Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmYS4kJHR5cGVvZj09PU0mJkthKGEpPT09bi50eXBlKT8oKHI9bChuLHQucHJvcHMpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscik6KChyPVJzKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscil9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm4gbnVsbD09PW58fDQhPT1uLnRhZ3x8bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PXQuY29udGFpbmVySW5mb3x8bi5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT10LmltcGxlbWVudGF0aW9uPygobj1Vcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0LmNoaWxkcmVufHxbXSkpLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSxuLHQscixhKXtyZXR1cm4gbnVsbD09PW58fDchPT1uLnRhZz8oKG49RHModCxlLm1vZGUscixhKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gZChlLG4sdCl7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4obj1PcygiIituLGUubW9kZSx0KSkucmV0dXJuPWUsbjtpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXsKc3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4odD1ScyhuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSx0KSkucmVmPSRhKGUsbnVsbCxuKSx0LnJldHVybj1lLHQ7Y2FzZSBTOnJldHVybihuPVVzKG4sZS5tb2RlLHQpKS5yZXR1cm49ZSxuO2Nhc2UgTTpyZXR1cm4gZChlLCgwLG4uX2luaXQpKG4uX3BheWxvYWQpLHQpfWlmKG5lKG4pfHxEKG4pKXJldHVybihuPURzKG4sZS5tb2RlLHQsbnVsbCkpLnJldHVybj1lLG47cWEoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsbix0LHIpe3ZhciBsPW51bGwhPT1uP24ua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gbnVsbCE9PWw/bnVsbDppKGUsbiwiIit0LHIpO2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHc6cmV0dXJuIHQua2V5PT09bD9zKGUsbix0LHIpOm51bGw7Y2FzZSBTOnJldHVybiB0LmtleT09PWw/YyhlLG4sdCxyKTpudWxsO2Nhc2UgTTpyZXR1cm4gcChlLG4sKGw9dC5faW5pdCkodC5fcGF5bG9hZCkscil9aWYobmUodCl8fEQodCkpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLG4sdCxyLG51bGwpO3FhKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLG4sdCxyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIGkobixlPWUuZ2V0KHQpfHxudWxsLCIiK3IsbCk7aWYoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4gcyhuLGU9ZS5nZXQobnVsbD09PXIua2V5P3Q6ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBTOnJldHVybiBjKG4sZT1lLmdldChudWxsPT09ci5rZXk/dDpyLmtleSl8fG51bGwscixsKTtjYXNlIE06cmV0dXJuIG0oZSxuLHQsKDAsci5faW5pdCkoci5fcGF5bG9hZCksbCl9aWYobmUocil8fEQocikpcmV0dXJuIGYobixlPWUuZ2V0KHQpfHxudWxsLHIsbCxudWxsKTtxYShuLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGgobCxhLG8saSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9YSxoPWE9MCxnPW51bGw7bnVsbCE9PWYmJmg8by5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLG9baF0saSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJm4obCxmKSxhPXUodixhLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1vLmxlbmd0aClyZXR1cm4gdChsLGYpLGxhJiZabChsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxvLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxvW2hdLGkpKSYmKGE9dShmLGEsaCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIGxhJiZabChsLGgpLHN9Zm9yKGY9cihsLGYpO2g8by5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLG9baF0saSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZmLmRlbGV0ZShudWxsPT09Zy5rZXk/aDpnLmtleSksYT11KGcsYSxoKSxudWxsPT09Yz9zPWc6Yy5zaWJsaW5nPWcsYz1nKTtyZXR1cm4gZSYmZi5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gbihsLGUpfSkpLGxhJiZabChsLGgpLHN9ZnVuY3Rpb24gZyhsLG8saSxzKXt2YXIgYz1EKGkpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBjKXRocm93IEVycm9yKGEoMTUwKSk7aWYobnVsbD09KGk9Yy5jYWxsKGkpKSl0aHJvdyBFcnJvcihhKDE1MSkpO2Zvcih2YXIgZj1jPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJm4obCxoKSxvPXUoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gdChsLGgpLGxhJiZabChsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz11KHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gbGEmJlpsKGwsZyksY31mb3IoaD1yKGwsaCk7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLHMpKSYmKGUmJm51bGwhPT15LmFsdGVybmF0ZSYmaC5kZWxldGUobnVsbD09PXkua2V5P2c6eS5rZXkpLG89dSh5LG8sZyksbnVsbD09PWY/Yz15OmYuc2libGluZz15LGY9eSk7cmV0dXJuIGUmJmguZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4obCxlKX0pKSxsYSYmWmwobCxnKSxjfXJldHVybiBmdW5jdGlvbiBlKHIsYSx1LGkpe2lmKCJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXUmJnUudHlwZT09PXgmJm51bGw9PT11LmtleSYmKHU9dS5wcm9wcy5jaGlsZHJlbiksIm9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSl7c3dpdGNoKHUuJCR0eXBlb2Ype2Nhc2UgdzplOntmb3IodmFyIHM9dS5rZXksYz1hO251bGwhPT1jOyl7aWYoYy5rZXk9PT1zKXtpZigocz11LnR5cGUpPT09eCl7aWYoNz09PWMudGFnKXt0KHIsYy5zaWJsaW5nKSwoYT1sKGMsdS5wcm9wcy5jaGlsZHJlbikpLnJldHVybj1yLHI9YTticmVhayBlfX1lbHNlIGlmKGMuZWxlbWVudFR5cGU9PT1zfHwib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zJiZzLiQkdHlwZW9mPT09TSYmS2Eocyk9PT1jLnR5cGUpe3QocixjLnNpYmxpbmcpLChhPWwoYyx1LnByb3BzKSkucmVmPSRhKHIsYyx1KSxhLnJldHVybj1yLHI9YTticmVhayBlfXQocixjKTticmVha31uKHIsYyksYz1jLnNpYmxpbmd9dS50eXBlPT09eD8oKGE9RHModS5wcm9wcy5jaGlsZHJlbixyLm1vZGUsaSx1LmtleSkpLnJldHVybj1yLHI9YSk6KChpPVJzKHUudHlwZSx1LmtleSx1LnByb3BzLG51bGwsci5tb2RlLGkpKS5yZWY9JGEocixhLHUpLAppLnJldHVybj1yLHI9aSl9cmV0dXJuIG8ocik7Y2FzZSBTOmU6e2ZvcihjPXUua2V5O251bGwhPT1hOyl7aWYoYS5rZXk9PT1jKXtpZig0PT09YS50YWcmJmEuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT11LmNvbnRhaW5lckluZm8mJmEuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09dS5pbXBsZW1lbnRhdGlvbil7dChyLGEuc2libGluZyksKGE9bChhLHUuY2hpbGRyZW58fFtdKSkucmV0dXJuPXIscj1hO2JyZWFrIGV9dChyLGEpO2JyZWFrfW4ocixhKSxhPWEuc2libGluZ30oYT1Vcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hfXJldHVybiBvKHIpO2Nhc2UgTTpyZXR1cm4gZShyLGEsKGM9dS5faW5pdCkodS5fcGF5bG9hZCksaSl9aWYobmUodSkpcmV0dXJuIGgocixhLHUsaSk7aWYoRCh1KSlyZXR1cm4gZyhyLGEsdSxpKTtxYShyLHUpfXJldHVybiJzdHJpbmciPT10eXBlb2YgdSYmIiIhPT11fHwibnVtYmVyIj09dHlwZW9mIHU/KHU9IiIrdSxudWxsIT09YSYmNj09PWEudGFnPyh0KHIsYS5zaWJsaW5nKSwoYT1sKGEsdSkpLnJldHVybj1yLHI9YSk6KHQocixhKSwoYT1Pcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hKSxvKHIpKTp0KHIsYSl9fXZhciBYYT1ZYSghMCksR2E9WWEoITEpLFphPXt9LEphPUVsKFphKSxldT1FbChaYSksbnU9RWwoWmEpO2Z1bmN0aW9uIHR1KGUpe2lmKGU9PT1aYSl0aHJvdyBFcnJvcihhKDE3NCkpO3JldHVybiBlfWZ1bmN0aW9uIHJ1KGUsbil7c3dpdGNoKHpsKG51LG4pLHpsKGV1LGUpLHpsKEphLFphKSxlPW4ubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOm49KG49bi5kb2N1bWVudEVsZW1lbnQpP24ubmFtZXNwYWNlVVJJOmllKG51bGwsIiIpO2JyZWFrO2RlZmF1bHQ6bj1pZShuPShlPTg9PT1lP24ucGFyZW50Tm9kZTpuKS5uYW1lc3BhY2VVUkl8fG51bGwsZT1lLnRhZ05hbWUpfUNsKEphKSx6bChKYSxuKX1mdW5jdGlvbiBsdSgpe0NsKEphKSxDbChldSksQ2wobnUpfWZ1bmN0aW9uIGF1KGUpe3R1KG51LmN1cnJlbnQpO3ZhciBuPXR1KEphLmN1cnJlbnQpLHQ9aWUobixlLnR5cGUpO24hPT10JiYoemwoZXUsZSksemwoSmEsdCkpfWZ1bmN0aW9uIHV1KGUpe2V1LmN1cnJlbnQ9PT1lJiYoQ2woSmEpLENsKGV1KSl9dmFyIG91PUVsKDApO2Z1bmN0aW9uIGl1KGUpe2Zvcih2YXIgbj1lO251bGwhPT1uOyl7aWYoMTM9PT1uLnRhZyl7dmFyIHQ9bi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10JiYobnVsbD09PSh0PXQuZGVoeWRyYXRlZCl8fCIkPyI9PT10LmRhdGF8fCIkISI9PT10LmRhdGEpKXJldHVybiBufWVsc2UgaWYoMTk9PT1uLnRhZyYmdm9pZCAwIT09bi5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyKXtpZigxMjgmbi5mbGFncylyZXR1cm4gbn1lbHNlIGlmKG51bGwhPT1uLmNoaWxkKXtuLmNoaWxkLnJldHVybj1uLG49bi5jaGlsZDtjb250aW51ZX1pZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIHN1PVtdO2Z1bmN0aW9uIGN1KCl7Zm9yKHZhciBlPTA7ZTxzdS5sZW5ndGg7ZSsrKXN1W2VdLl93b3JrSW5Qcm9ncmVzc1ZlcnNpb25QcmltYXJ5PW51bGw7c3UubGVuZ3RoPTB9dmFyIGZ1PWsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixkdT1rLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLHB1PTAsbXU9bnVsbCxodT1udWxsLGd1PW51bGwsdnU9ITEseXU9ITEsYnU9MCxrdT0wO2Z1bmN0aW9uIHd1KCl7dGhyb3cgRXJyb3IoYSgzMjEpKX1mdW5jdGlvbiBTdShlLG4pe2lmKG51bGw9PT1uKXJldHVybiExO2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGgmJnQ8ZS5sZW5ndGg7dCsrKWlmKCFvcihlW3RdLG5bdF0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHh1KGUsbix0LHIsbCx1KXtpZihwdT11LG11PW4sbi5tZW1vaXplZFN0YXRlPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsLG4ubGFuZXM9MCxmdS5jdXJyZW50PW51bGw9PT1lfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlP3VvOm9vLGU9dChyLGwpLHl1KXt1PTA7ZG97aWYoeXU9ITEsYnU9MCwyNTw9dSl0aHJvdyBFcnJvcihhKDMwMSkpO3UrPTEsZ3U9aHU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsZnUuY3VycmVudD1pbyxlPXQocixsKX13aGlsZSh5dSl9aWYoZnUuY3VycmVudD1hbyxuPW51bGwhPT1odSYmbnVsbCE9PWh1Lm5leHQscHU9MCxndT1odT1tdT1udWxsLHZ1PSExLG4pdGhyb3cgRXJyb3IoYSgzMDApKTtyZXR1cm4gZX1mdW5jdGlvbiBFdSgpe3ZhciBlPTAhPT1idTtyZXR1cm4gYnU9MCxlfWZ1bmN0aW9uIEN1KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1ndT9tdS5tZW1vaXplZFN0YXRlPWd1PWU6Z3U9Z3UubmV4dD1lLGd1fWZ1bmN0aW9uIHp1KCl7aWYobnVsbD09PWh1KXt2YXIgZT1tdS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9aHUubmV4dDt2YXIgbj1udWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZTpndS5uZXh0O2lmKG51bGwhPT1uKWd1PW4saHU9ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKGEoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooaHU9ZSkubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6aHUuYmFzZVN0YXRlLGJhc2VRdWV1ZTpodS5iYXNlUXVldWUscXVldWU6aHUucXVldWUsbmV4dDpudWxsfSxudWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZT1ndT1lOmd1PWd1Lm5leHQ9ZX1yZXR1cm4gZ3V9ZnVuY3Rpb24gTnUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKGUpOm59ZnVuY3Rpb24gX3UoZSl7dmFyIG49enUoKSx0PW4ucXVldWU7aWYobnVsbD09PXQpdGhyb3cgRXJyb3IoYSgzMTEpKTt0Lmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgcj1odSxsPXIuYmFzZVF1ZXVlLHU9dC5wZW5kaW5nO2lmKG51bGwhPT11KXtpZihudWxsIT09bCl7dmFyIG89bC5uZXh0CjtsLm5leHQ9dS5uZXh0LHUubmV4dD1vfXIuYmFzZVF1ZXVlPWw9dSx0LnBlbmRpbmc9bnVsbH1pZihudWxsIT09bCl7dT1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgaT1vPW51bGwscz1udWxsLGM9dTtkb3t2YXIgZj1jLmxhbmU7aWYoKHB1JmYpPT09ZiludWxsIT09cyYmKHM9cy5uZXh0PXtsYW5lOjAsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTplKHIsYy5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6ZixhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09cz8oaT1zPWQsbz1yKTpzPXMubmV4dD1kLG11LmxhbmVzfD1mLElpfD1mfWM9Yy5uZXh0fXdoaWxlKG51bGwhPT1jJiZjIT09dSk7bnVsbD09PXM/bz1yOnMubmV4dD1pLG9yKHIsbi5tZW1vaXplZFN0YXRlKXx8KGtvPSEwKSxuLm1lbW9pemVkU3RhdGU9cixuLmJhc2VTdGF0ZT1vLG4uYmFzZVF1ZXVlPXMsdC5sYXN0UmVuZGVyZWRTdGF0ZT1yfWlmKG51bGwhPT0oZT10LmludGVybGVhdmVkKSl7bD1lO2Rve3U9bC5sYW5lLG11LmxhbmVzfD11LElpfD11LGw9bC5uZXh0fXdoaWxlKGwhPT1lKX1lbHNlIG51bGw9PT1sJiYodC5sYW5lcz0wKTtyZXR1cm5bbi5tZW1vaXplZFN0YXRlLHQuZGlzcGF0Y2hdfWZ1bmN0aW9uIFB1KGUpe3ZhciBuPXp1KCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGEoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9dC5kaXNwYXRjaCxsPXQucGVuZGluZyx1PW4ubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7dC5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG97dT1lKHUsby5hY3Rpb24pLG89by5uZXh0fXdoaWxlKG8hPT1sKTtvcih1LG4ubWVtb2l6ZWRTdGF0ZSl8fChrbz0hMCksbi5tZW1vaXplZFN0YXRlPXUsbnVsbD09PW4uYmFzZVF1ZXVlJiYobi5iYXNlU3RhdGU9dSksdC5sYXN0UmVuZGVyZWRTdGF0ZT11fXJldHVyblt1LHJdfWZ1bmN0aW9uIFR1KCl7fWZ1bmN0aW9uIEx1KGUsbil7dmFyIHQ9bXUscj16dSgpLGw9bigpLHU9IW9yKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZih1JiYoci5tZW1vaXplZFN0YXRlPWwsa289ITApLHI9ci5xdWV1ZSxIdShSdS5iaW5kKG51bGwsdCxyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PW58fHV8fG51bGwhPT1ndSYmMSZndS5tZW1vaXplZFN0YXRlLnRhZyl7aWYodC5mbGFnc3w9MjA0OCxVdSg5LEZ1LmJpbmQobnVsbCx0LHIsbCxuKSx2b2lkIDAsbnVsbCksbnVsbD09PVBpKXRocm93IEVycm9yKGEoMzQ5KSk7MzAmcHV8fE11KHQsbixsKX1yZXR1cm4gbH1mdW5jdGlvbiBNdShlLG4sdCl7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6bix2YWx1ZTp0fSxudWxsPT09KG49bXUudXBkYXRlUXVldWUpPyhuPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LG11LnVwZGF0ZVF1ZXVlPW4sbi5zdG9yZXM9W2VdKTpudWxsPT09KHQ9bi5zdG9yZXMpP24uc3RvcmVzPVtlXTp0LnB1c2goZSl9ZnVuY3Rpb24gRnUoZSxuLHQscil7bi52YWx1ZT10LG4uZ2V0U25hcHNob3Q9cixEdShuKSYmSXUoZSl9ZnVuY3Rpb24gUnUoZSxuLHQpe3JldHVybiB0KChmdW5jdGlvbigpe0R1KG4pJiZJdShlKX0pKX1mdW5jdGlvbiBEdShlKXt2YXIgbj1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIHQ9bigpO3JldHVybiFvcihlLHQpfWNhdGNoKGUpe3JldHVybiEwfX1mdW5jdGlvbiBJdShlKXt2YXIgbj1QYShlLDEpO251bGwhPT1uJiZ0cyhuLGUsMSwtMSl9ZnVuY3Rpb24gT3UoZSl7dmFyIG49Q3UoKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSgpKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9ZSxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpOdSxsYXN0UmVuZGVyZWRTdGF0ZTplfSxuLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPW5vLmJpbmQobnVsbCxtdSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIFV1KGUsbix0LHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXN0cm95OnQsZGVwczpyLG5leHQ6bnVsbH0sbnVsbD09PShuPW11LnVwZGF0ZVF1ZXVlKT8obj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtdS51cGRhdGVRdWV1ZT1uLG4ubGFzdEVmZmVjdD1lLm5leHQ9ZSk6bnVsbD09PSh0PW4ubGFzdEVmZmVjdCk/bi5sYXN0RWZmZWN0PWUubmV4dD1lOihyPXQubmV4dCx0Lm5leHQ9ZSxlLm5leHQ9cixuLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBWdSgpe3JldHVybiB6dSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQXUoZSxuLHQscil7dmFyIGw9Q3UoKTttdS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9VXUoMXxuLHQsdm9pZCAwLHZvaWQgMD09PXI/bnVsbDpyKX1mdW5jdGlvbiBCdShlLG4sdCxyKXt2YXIgbD16dSgpO3I9dm9pZCAwPT09cj9udWxsOnI7dmFyIGE9dm9pZCAwO2lmKG51bGwhPT1odSl7dmFyIHU9aHUubWVtb2l6ZWRTdGF0ZTtpZihhPXUuZGVzdHJveSxudWxsIT09ciYmU3Uocix1LmRlcHMpKXJldHVybiB2b2lkKGwubWVtb2l6ZWRTdGF0ZT1VdShuLHQsYSxyKSl9bXUuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPVV1KDF8bix0LGEscil9ZnVuY3Rpb24gV3UoZSxuKXtyZXR1cm4gQXUoODM5MDY1Niw4LGUsbil9ZnVuY3Rpb24gSHUoZSxuKXtyZXR1cm4gQnUoMjA0OCw4LGUsbil9ZnVuY3Rpb24gUXUoZSxuKXtyZXR1cm4gQnUoNCwyLGUsbil9ZnVuY3Rpb24ganUoZSxuKXtyZXR1cm4gQnUoNCw0LGUsbil9ZnVuY3Rpb24gJHUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj8oZT1lKCksbihlKSxmdW5jdGlvbigpe24obnVsbCl9KTpudWxsIT1uPyhlPWUoKSxuLmN1cnJlbnQ9ZSxmdW5jdGlvbigpe24uY3VycmVudD1udWxsfSk6dm9pZCAwfWZ1bmN0aW9uIHF1KGUsbix0KXsKcmV0dXJuIHQ9bnVsbCE9dD90LmNvbmNhdChbZV0pOm51bGwsQnUoNCw0LCR1LmJpbmQobnVsbCxuLGUpLHQpfWZ1bmN0aW9uIEt1KCl7fWZ1bmN0aW9uIFl1KGUsbil7dmFyIHQ9enUoKTtuPXZvaWQgMD09PW4/bnVsbDpuO3ZhciByPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1uJiZTdShuLHJbMV0pP3JbMF06KHQubWVtb2l6ZWRTdGF0ZT1bZSxuXSxlKX1mdW5jdGlvbiBYdShlLG4pe3ZhciB0PXp1KCk7bj12b2lkIDA9PT1uP251bGw6bjt2YXIgcj10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1yJiZudWxsIT09biYmU3UobixyWzFdKT9yWzBdOihlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZSl9ZnVuY3Rpb24gR3UoZSxuLHQpe3JldHVybiAyMSZwdT8ob3IodCxuKXx8KHQ9Z24oKSxtdS5sYW5lc3w9dCxJaXw9dCxlLmJhc2VTdGF0ZT0hMCksbik6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsa289ITApLGUubWVtb2l6ZWRTdGF0ZT10KX1mdW5jdGlvbiBadShlLG4pe3ZhciB0PWtuO2tuPTAhPT10JiY0PnQ/dDo0LGUoITApO3ZhciByPWR1LnRyYW5zaXRpb247ZHUudHJhbnNpdGlvbj17fTt0cnl7ZSghMSksbigpfWZpbmFsbHl7a249dCxkdS50cmFuc2l0aW9uPXJ9fWZ1bmN0aW9uIEp1KCl7cmV0dXJuIHp1KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBlbyhlLG4sdCl7dmFyIHI9bnMoZSk7aWYodD17bGFuZTpyLGFjdGlvbjp0LGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sdG8oZSkpcm8obix0KTtlbHNlIGlmKG51bGwhPT0odD1fYShlLG4sdCxyKSkpe3RzKHQsZSxyLGVzKCkpLGxvKHQsbixyKX19ZnVuY3Rpb24gbm8oZSxuLHQpe3ZhciByPW5zKGUpLGw9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHRvKGUpKXJvKG4sbCk7ZWxzZXt2YXIgYT1lLmFsdGVybmF0ZTtpZigwPT09ZS5sYW5lcyYmKG51bGw9PT1hfHwwPT09YS5sYW5lcykmJm51bGwhPT0oYT1uLmxhc3RSZW5kZXJlZFJlZHVjZXIpKXRyeXt2YXIgdT1uLmxhc3RSZW5kZXJlZFN0YXRlLG89YSh1LHQpO2lmKGwuaGFzRWFnZXJTdGF0ZT0hMCxsLmVhZ2VyU3RhdGU9byxvcihvLHUpKXt2YXIgaT1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09aT8obC5uZXh0PWwsTmEobikpOihsLm5leHQ9aS5uZXh0LGkubmV4dD1sKSx2b2lkKG4uaW50ZXJsZWF2ZWQ9bCl9fWNhdGNoKGUpe31udWxsIT09KHQ9X2EoZSxuLGwscikpJiYodHModCxlLHIsbD1lcygpKSxsbyh0LG4scikpfX1mdW5jdGlvbiB0byhlKXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PW11fHxudWxsIT09biYmbj09PW11fWZ1bmN0aW9uIHJvKGUsbil7eXU9dnU9ITA7dmFyIHQ9ZS5wZW5kaW5nO251bGw9PT10P24ubmV4dD1uOihuLm5leHQ9dC5uZXh0LHQubmV4dD1uKSxlLnBlbmRpbmc9bn1mdW5jdGlvbiBsbyhlLG4sdCl7aWYoNDE5NDI0MCZ0KXt2YXIgcj1uLmxhbmVzO3R8PXImPWUucGVuZGluZ0xhbmVzLG4ubGFuZXM9dCxibihlLHQpfX12YXIgYW89e3JlYWRDb250ZXh0OkNhLHVzZUNhbGxiYWNrOnd1LHVzZUNvbnRleHQ6d3UsdXNlRWZmZWN0Ond1LHVzZUltcGVyYXRpdmVIYW5kbGU6d3UsdXNlSW5zZXJ0aW9uRWZmZWN0Ond1LHVzZUxheW91dEVmZmVjdDp3dSx1c2VNZW1vOnd1LHVzZVJlZHVjZXI6d3UsdXNlUmVmOnd1LHVzZVN0YXRlOnd1LHVzZURlYnVnVmFsdWU6d3UsdXNlRGVmZXJyZWRWYWx1ZTp3dSx1c2VUcmFuc2l0aW9uOnd1LHVzZU11dGFibGVTb3VyY2U6d3UsdXNlU3luY0V4dGVybmFsU3RvcmU6d3UsdXNlSWQ6d3UsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSx1bz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQ3UoKS5tZW1vaXplZFN0YXRlPVtlLHZvaWQgMD09PW4/bnVsbDpuXSxlfSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpXdSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gdD1udWxsIT10P3QuY29uY2F0KFtlXSk6bnVsbCxBdSg0MTk0MzA4LDQsJHUuYmluZChudWxsLG4sZSksdCl9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLG4pe3JldHVybiBBdSg0MTk0MzA4LDQsZSxuKX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEF1KDQsMixlLG4pfSx1c2VNZW1vOmZ1bmN0aW9uKGUsbil7dmFyIHQ9Q3UoKTtyZXR1cm4gbj12b2lkIDA9PT1uP251bGw6bixlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLG4sdCl7dmFyIHI9Q3UoKTtyZXR1cm4gbj12b2lkIDAhPT10P3Qobik6bixyLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bixlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOm59LHIucXVldWU9ZSxlPWUuZGlzcGF0Y2g9ZW8uYmluZChudWxsLG11LGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXtyZXR1cm4gZT17Y3VycmVudDplfSxDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6T3UsdXNlRGVidWdWYWx1ZTpLdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPU91KCExKSxuPWVbMF07cmV0dXJuIGU9WnUuYmluZChudWxsLGVbMV0pLEN1KCkubWVtb2l6ZWRTdGF0ZT1lLFtuLGVdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLG4sdCl7dmFyIHI9bXUsbD1DdSgpO2lmKGxhKXtpZih2b2lkIDA9PT10KXRocm93IEVycm9yKGEoNDA3KSk7dD10KCl9ZWxzZXtpZih0PW4oKSxudWxsPT09UGkpdGhyb3cgRXJyb3IoYSgzNDkpKTszMCZwdXx8TXUocixuLHQpfWwubWVtb2l6ZWRTdGF0ZT10O3ZhciB1PXt2YWx1ZTp0LGdldFNuYXBzaG90Om59O3JldHVybiBsLnF1ZXVlPXUsCld1KFJ1LmJpbmQobnVsbCxyLHUsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LFV1KDksRnUuYmluZChudWxsLHIsdSx0LG4pLHZvaWQgMCxudWxsKSx0fSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPUN1KCksbj1QaS5pZGVudGlmaWVyUHJlZml4O2lmKGxhKXt2YXIgdD1HbDtuPSI6IituKyJSIisodD0oWGwmfigxPDwzMi11bihYbCktMSkpLnRvU3RyaW5nKDMyKSt0KSwwPCh0PWJ1KyspJiYobis9IkgiK3QudG9TdHJpbmcoMzIpKSxuKz0iOiJ9ZWxzZSBuPSI6IituKyJyIisodD1rdSsrKS50b1N0cmluZygzMikrIjoiO3JldHVybiBlLm1lbW9pemVkU3RhdGU9bn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxvbz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6WXUsdXNlQ29udGV4dDpDYSx1c2VFZmZlY3Q6SHUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpxdSx1c2VJbnNlcnRpb25FZmZlY3Q6UXUsdXNlTGF5b3V0RWZmZWN0Omp1LHVzZU1lbW86WHUsdXNlUmVkdWNlcjpfdSx1c2VSZWY6VnUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gX3UoTnUpfSx1c2VEZWJ1Z1ZhbHVlOkt1LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEd1KHp1KCksaHUubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3JldHVybltfdShOdSlbMF0senUoKS5tZW1vaXplZFN0YXRlXX0sdXNlTXV0YWJsZVNvdXJjZTpUdSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpMdSx1c2VJZDpKdSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LGlvPXtyZWFkQ29udGV4dDpDYSx1c2VDYWxsYmFjazpZdSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpIdSx1c2VJbXBlcmF0aXZlSGFuZGxlOnF1LHVzZUluc2VydGlvbkVmZmVjdDpRdSx1c2VMYXlvdXRFZmZlY3Q6anUsdXNlTWVtbzpYdSx1c2VSZWR1Y2VyOlB1LHVzZVJlZjpWdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQdShOdSl9LHVzZURlYnVnVmFsdWU6S3UsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXt2YXIgbj16dSgpO3JldHVybiBudWxsPT09aHU/bi5tZW1vaXplZFN0YXRlPWU6R3UobixodS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW1B1KE51KVswXSx6dSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOlR1LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkx1LHVzZUlkOkp1LHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gc28oZSxuKXt0cnl7dmFyIHQ9IiIscj1uO2Rve3QrPUIocikscj1yLnJldHVybn13aGlsZShyKTt2YXIgbD10fWNhdGNoKGUpe2w9IlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfXJldHVybnt2YWx1ZTplLHNvdXJjZTpuLHN0YWNrOmwsZGlnZXN0Om51bGx9fWZ1bmN0aW9uIGNvKGUsbix0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6bnVsbCxzdGFjazpudWxsIT10P3Q6bnVsbCxkaWdlc3Q6bnVsbCE9bj9uOm51bGx9fWZ1bmN0aW9uIGZvKGUsbil7dHJ5e2NvbnNvbGUuZXJyb3Iobi52YWx1ZSl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfX12YXIgcG89ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gbW8oZSxuLHQpeyh0PUZhKC0xLHQpKS50YWc9Myx0LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIHI9bi52YWx1ZTtyZXR1cm4gdC5jYWxsYmFjaz1mdW5jdGlvbigpe1FpfHwoUWk9ITAsamk9ciksZm8oMCxuKX0sdH1mdW5jdGlvbiBobyhlLG4sdCl7KHQ9RmEoLTEsdCkpLnRhZz0zO3ZhciByPWUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBsPW4udmFsdWU7dC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHIobCl9LHQuY2FsbGJhY2s9ZnVuY3Rpb24oKXtmbygwLG4pfX12YXIgYT1lLnN0YXRlTm9kZTtyZXR1cm4gbnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYodC5jYWxsYmFjaz1mdW5jdGlvbigpe2ZvKDAsbiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihudWxsPT09JGk/JGk9bmV3IFNldChbdGhpc10pOiRpLmFkZCh0aGlzKSk7dmFyIGU9bi5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pLHR9ZnVuY3Rpb24gZ28oZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyBwbzt2YXIgbD1uZXcgU2V0O3Iuc2V0KG4sbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldChuKSkmJihsPW5ldyBTZXQsci5zZXQobixsKSk7bC5oYXModCl8fChsLmFkZCh0KSxlPUNzLmJpbmQobnVsbCxlLG4sdCksbi50aGVuKGUsZSkpfWZ1bmN0aW9uIHZvKGUpe2Rve3ZhciBuO2lmKChuPTEzPT09ZS50YWcpJiYobj1udWxsPT09KG49ZS5tZW1vaXplZFN0YXRlKXx8bnVsbCE9PW4uZGVoeWRyYXRlZCksbilyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKG51bGwhPT1lKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiB5byhlLG4sdCxyLGwpe3JldHVybiAxJmUubW9kZT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sLGUpOihlPT09bj9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LHQuZmxhZ3N8PTEzMTA3Mix0LmZsYWdzJj0tNTI4MDUsMT09PXQudGFnJiYobnVsbD09PXQuYWx0ZXJuYXRlP3QudGFnPTE3Oigobj1GYSgtMSwxKSkudGFnPTIsUmEodCxuLDEpKSksdC5sYW5lc3w9MSksZSl9dmFyIGJvPWsuUmVhY3RDdXJyZW50T3duZXIsa289ITE7ZnVuY3Rpb24gd28oZSxuLHQscil7bi5jaGlsZD1udWxsPT09ZT9HYShuLG51bGwsdCxyKTpYYShuLGUuY2hpbGQsdCxyKX1mdW5jdGlvbiBTbyhlLG4sdCxyLGwpe3Q9dC5yZW5kZXI7dmFyIGE9bi5yZWY7cmV0dXJuIEVhKG4sbCkscj14dShlLG4sdCxyLGEsbCksdD1FdSgpLG51bGw9PT1lfHxrbz8obGEmJnQmJmVhKG4pLG4uZmxhZ3N8PTEsd28oZSxuLHIsbCksbi5jaGlsZCk6KG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSxuLmZsYWdzJj0tMjA1MywKZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiB4byhlLG4sdCxyLGwpe2lmKG51bGw9PT1lKXt2YXIgYT10LnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIGF8fE1zKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXQuY29tcGFyZXx8dm9pZCAwIT09dC5kZWZhdWx0UHJvcHM/KChlPVJzKHQudHlwZSxudWxsLHIsbixuLm1vZGUsbCkpLnJlZj1uLnJlZixlLnJldHVybj1uLG4uY2hpbGQ9ZSk6KG4udGFnPTE1LG4udHlwZT1hLEVvKGUsbixhLHIsbCkpfWlmKGE9ZS5jaGlsZCwhKGUubGFuZXMmbCkpe3ZhciB1PWEubWVtb2l6ZWRQcm9wcztpZigodD1udWxsIT09KHQ9dC5jb21wYXJlKT90OmlyKSh1LHIpJiZlLnJlZj09PW4ucmVmKXJldHVybiBRbyhlLG4sbCl9cmV0dXJuIG4uZmxhZ3N8PTEsKGU9RnMoYSxyKSkucmVmPW4ucmVmLGUucmV0dXJuPW4sbi5jaGlsZD1lfWZ1bmN0aW9uIEVvKGUsbix0LHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihpcihhLHIpJiZlLnJlZj09PW4ucmVmKXtpZihrbz0hMSxuLnBlbmRpbmdQcm9wcz1yPWEsIShlLmxhbmVzJmwpKXJldHVybiBuLmxhbmVzPWUubGFuZXMsUW8oZSxuLGwpOzEzMTA3MiZlLmZsYWdzJiYoa289ITApfX1yZXR1cm4gTm8oZSxuLHQscixsKX1mdW5jdGlvbiBDbyhlLG4sdCl7dmFyIHI9bi5wZW5kaW5nUHJvcHMsbD1yLmNoaWxkcmVuLGE9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGw7aWYoImhpZGRlbiI9PT1yLm1vZGUpaWYoMSZuLm1vZGUpe2lmKCEoMTA3Mzc0MTgyNCZ0KSlyZXR1cm4gZT1udWxsIT09YT9hLmJhc2VMYW5lc3x0OnQsbi5sYW5lcz1uLmNoaWxkTGFuZXM9MTA3Mzc0MTgyNCxuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczplLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LG4udXBkYXRlUXVldWU9bnVsbCx6bChGaSxNaSksTWl8PWUsbnVsbDtuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHI9bnVsbCE9PWE/YS5iYXNlTGFuZXM6dCx6bChGaSxNaSksTWl8PXJ9ZWxzZSBuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHpsKEZpLE1pKSxNaXw9dDtlbHNlIG51bGwhPT1hPyhyPWEuYmFzZUxhbmVzfHQsbi5tZW1vaXplZFN0YXRlPW51bGwpOnI9dCx6bChGaSxNaSksTWl8PXI7cmV0dXJuIHdvKGUsbixsLHQpLG4uY2hpbGR9ZnVuY3Rpb24gem8oZSxuKXt2YXIgdD1uLnJlZjsobnVsbD09PWUmJm51bGwhPT10fHxudWxsIT09ZSYmZS5yZWYhPT10KSYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBObyhlLG4sdCxyLGwpe3ZhciBhPU1sKHQpP1RsOl9sLmN1cnJlbnQ7cmV0dXJuIGE9TGwobixhKSxFYShuLGwpLHQ9eHUoZSxuLHQscixhLGwpLHI9RXUoKSxudWxsPT09ZXx8a28/KGxhJiZyJiZlYShuKSxuLmZsYWdzfD0xLHdvKGUsbix0LGwpLG4uY2hpbGQpOihuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbi5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiBfbyhlLG4sdCxyLGwpe2lmKE1sKHQpKXt2YXIgYT0hMDtJbChuKX1lbHNlIGE9ITE7aWYoRWEobixsKSxudWxsPT09bi5zdGF0ZU5vZGUpSG8oZSxuKSxIYShuLHQsciksamEobix0LHIsbCkscj0hMDtlbHNlIGlmKG51bGw9PT1lKXt2YXIgdT1uLnN0YXRlTm9kZSxvPW4ubWVtb2l6ZWRQcm9wczt1LnByb3BzPW87dmFyIGk9dS5jb250ZXh0LHM9dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zP3M9Q2Eocyk6cz1MbChuLHM9TWwodCk/VGw6X2wuY3VycmVudCk7dmFyIGM9dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsZj0iZnVuY3Rpb24iPT10eXBlb2YgY3x8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU7Znx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChvIT09cnx8aSE9PXMpJiZRYShuLHUscixzKSxUYT0hMTt2YXIgZD1uLm1lbW9pemVkU3RhdGU7dS5zdGF0ZT1kLE9hKG4scix1LGwpLGk9bi5tZW1vaXplZFN0YXRlLG8hPT1yfHxkIT09aXx8UGwuY3VycmVudHx8VGE/KCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoQWEobix0LGMsciksaT1uLm1lbW9pemVkU3RhdGUpLChvPVRhfHxXYShuLHQsbyxyLGQsaSxzKSk/KGZ8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudHx8KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudCYmdS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYobi5mbGFnc3w9NDE5NDMwOCksbi5tZW1vaXplZFByb3BzPXIsbi5tZW1vaXplZFN0YXRlPWkpLHUucHJvcHM9cix1LnN0YXRlPWksdS5jb250ZXh0PXMscj1vKTooImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle3U9bi5zdGF0ZU5vZGUsTWEoZSxuKSxvPW4ubWVtb2l6ZWRQcm9wcyxzPW4udHlwZT09PW4uZWxlbWVudFR5cGU/bzpnYShuLnR5cGUsbyksdS5wcm9wcz1zLGY9bi5wZW5kaW5nUHJvcHMsZD11LmNvbnRleHQsIm9iamVjdCI9PXR5cGVvZihpPXQuY29udGV4dFR5cGUpJiZudWxsIT09aT9pPUNhKGkpOmk9TGwobixpPU1sKHQpP1RsOl9sLmN1cnJlbnQpO3ZhciBwPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzCjsoYz0iZnVuY3Rpb24iPT10eXBlb2YgcHx8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09aSkmJlFhKG4sdSxyLGkpLFRhPSExLGQ9bi5tZW1vaXplZFN0YXRlLHUuc3RhdGU9ZCxPYShuLHIsdSxsKTt2YXIgbT1uLm1lbW9pemVkU3RhdGU7byE9PWZ8fGQhPT1tfHxQbC5jdXJyZW50fHxUYT8oImZ1bmN0aW9uIj09dHlwZW9mIHAmJihBYShuLHQscCxyKSxtPW4ubWVtb2l6ZWRTdGF0ZSksKHM9VGF8fFdhKG4sdCxzLHIsZCxtLGkpfHwhMSk/KGN8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLG0saSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSYmKG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYobi5mbGFnc3w9MTAyNCkpOigiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnREaWRVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fChuLmZsYWdzfD00KSwiZnVuY3Rpb24iIT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTEwMjQpLG4ubWVtb2l6ZWRQcm9wcz1yLG4ubWVtb2l6ZWRTdGF0ZT1tKSx1LnByb3BzPXIsdS5zdGF0ZT1tLHUuY29udGV4dD1pLHI9cyk6KCJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIFBvKGUsbix0LHIsYSxsKX1mdW5jdGlvbiBQbyhlLG4sdCxyLGwsYSl7em8oZSxuKTt2YXIgdT0hISgxMjgmbi5mbGFncyk7aWYoIXImJiF1KXJldHVybiBsJiZPbChuLHQsITEpLFFvKGUsbixhKTtyPW4uc3RhdGVOb2RlLGJvLmN1cnJlbnQ9bjt2YXIgbz11JiYiZnVuY3Rpb24iIT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpyLnJlbmRlcigpO3JldHVybiBuLmZsYWdzfD0xLG51bGwhPT1lJiZ1PyhuLmNoaWxkPVhhKG4sZS5jaGlsZCxudWxsLGEpLG4uY2hpbGQ9WGEobixudWxsLG8sYSkpOndvKGUsbixvLGEpLG4ubWVtb2l6ZWRTdGF0ZT1yLnN0YXRlLGwmJk9sKG4sdCwhMCksbi5jaGlsZH1mdW5jdGlvbiBUbyhlKXt2YXIgbj1lLnN0YXRlTm9kZTtuLnBlbmRpbmdDb250ZXh0P1JsKDAsbi5wZW5kaW5nQ29udGV4dCxuLnBlbmRpbmdDb250ZXh0IT09bi5jb250ZXh0KTpuLmNvbnRleHQmJlJsKDAsbi5jb250ZXh0LCExKSxydShlLG4uY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gTG8oZSxuLHQscixsKXtyZXR1cm4gcGEoKSxtYShsKSxuLmZsYWdzfD0yNTYsd28oZSxuLHQsciksbi5jaGlsZH12YXIgTW8sRm8sUm8sRG89e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBJbyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gT28oZSxuLHQpe3ZhciByLGw9bi5wZW5kaW5nUHJvcHMsdT1vdS5jdXJyZW50LG89ITEsaT0hISgxMjgmbi5mbGFncyk7aWYoKHI9aSl8fChyPShudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSkmJiEhKDImdSkpLHI/KG89ITAsbi5mbGFncyY9LTEyOSk6bnVsbCE9PWUmJm51bGw9PT1lLm1lbW9pemVkU3RhdGV8fCh1fD0xKSx6bChvdSwxJnUpLG51bGw9PT1lKXJldHVybiBzYShuKSxudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShlPWUuZGVoeWRyYXRlZCk/KDEmbi5tb2RlPyIkISI9PT1lLmRhdGE/bi5sYW5lcz04Om4ubGFuZXM9MTA3Mzc0MTgyNDpuLmxhbmVzPTEsbnVsbCk6KGk9bC5jaGlsZHJlbixlPWwuZmFsbGJhY2ssbz8obD1uLm1vZGUsbz1uLmNoaWxkLGk9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46aX0sMSZsfHxudWxsPT09bz9vPUlzKGksbCwwLG51bGwpOihvLmNoaWxkTGFuZXM9MCxvLnBlbmRpbmdQcm9wcz1pKSxlPURzKGUsbCx0LG51bGwpLG8ucmV0dXJuPW4sZS5yZXR1cm49bixvLnNpYmxpbmc9ZSxuLmNoaWxkPW8sbi5jaGlsZC5tZW1vaXplZFN0YXRlPUlvKHQpLG4ubWVtb2l6ZWRTdGF0ZT1EbyxlKTpVbyhuLGkpKTtpZihudWxsIT09KHU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShyPXUuZGVoeWRyYXRlZCkpcmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbCx1LG8pe2lmKHQpcmV0dXJuIDI1NiZuLmZsYWdzPyhuLmZsYWdzJj0tMjU3LFZvKGUsbixvLHI9Y28oRXJyb3IoYSg0MjIpKSkpKTpudWxsIT09bi5tZW1vaXplZFN0YXRlPyhuLmNoaWxkPWUuY2hpbGQsbi5mbGFnc3w9MTI4LG51bGwpOih1PXIuZmFsbGJhY2ssbD1uLm1vZGUscj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ci5jaGlsZHJlbn0sbCwwLG51bGwpLCh1PURzKHUsbCxvLG51bGwpKS5mbGFnc3w9MixyLnJldHVybj1uLHUucmV0dXJuPW4sci5zaWJsaW5nPXUsbi5jaGlsZD1yLDEmbi5tb2RlJiZYYShuLGUuY2hpbGQsbnVsbCxvKSxuLmNoaWxkLm1lbW9pemVkU3RhdGU9SW8obyksbi5tZW1vaXplZFN0YXRlPURvLHUpO2lmKCEoMSZuLm1vZGUpKXJldHVybiBWbyhlLG4sbyxudWxsKTtpZigiJCEiPT09bC5kYXRhKXsKaWYocj1sLm5leHRTaWJsaW5nJiZsLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGk9ci5kZ3N0O3JldHVybiByPWksVm8oZSxuLG8scj1jbyh1PUVycm9yKGEoNDE5KSkscix2b2lkIDApKX1pZihpPSEhKG8mZS5jaGlsZExhbmVzKSxrb3x8aSl7aWYobnVsbCE9PShyPVBpKSl7c3dpdGNoKG8mLW8pe2Nhc2UgNDpsPTI7YnJlYWs7Y2FzZSAxNjpsPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0Omw9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6bD0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDpsPTB9MCE9PShsPWwmKHIuc3VzcGVuZGVkTGFuZXN8byk/MDpsKSYmbCE9PXUucmV0cnlMYW5lJiYodS5yZXRyeUxhbmU9bCxQYShlLGwpLHRzKHIsZSxsLC0xKSl9cmV0dXJuIGhzKCksVm8oZSxuLG8scj1jbyhFcnJvcihhKDQyMSkpKSl9cmV0dXJuIiQ/Ij09PWwuZGF0YT8obi5mbGFnc3w9MTI4LG4uY2hpbGQ9ZS5jaGlsZCxuPU5zLmJpbmQobnVsbCxlKSxsLl9yZWFjdFJldHJ5PW4sbnVsbCk6KGU9dS50cmVlQ29udGV4dCxyYT1zbChsLm5leHRTaWJsaW5nKSx0YT1uLGxhPSEwLGFhPW51bGwsbnVsbCE9PWUmJihxbFtLbCsrXT1YbCxxbFtLbCsrXT1HbCxxbFtLbCsrXT1ZbCxYbD1lLmlkLEdsPWUub3ZlcmZsb3csWWw9biksbj1VbyhuLHIuY2hpbGRyZW4pLG4uZmxhZ3N8PTQwOTYsbil9KGUsbixpLGwscix1LHQpO2lmKG8pe289bC5mYWxsYmFjayxpPW4ubW9kZSxyPSh1PWUuY2hpbGQpLnNpYmxpbmc7dmFyIHM9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46bC5jaGlsZHJlbn07cmV0dXJuIDEmaXx8bi5jaGlsZD09PXU/KGw9RnModSxzKSkuc3VidHJlZUZsYWdzPTE0NjgwMDY0JnUuc3VidHJlZUZsYWdzOigobD1uLmNoaWxkKS5jaGlsZExhbmVzPTAsbC5wZW5kaW5nUHJvcHM9cyxuLmRlbGV0aW9ucz1udWxsKSxudWxsIT09cj9vPUZzKHIsbyk6KG89RHMobyxpLHQsbnVsbCkpLmZsYWdzfD0yLG8ucmV0dXJuPW4sbC5yZXR1cm49bixsLnNpYmxpbmc9byxuLmNoaWxkPWwsbD1vLG89bi5jaGlsZCxpPW51bGw9PT0oaT1lLmNoaWxkLm1lbW9pemVkU3RhdGUpP0lvKHQpOntiYXNlTGFuZXM6aS5iYXNlTGFuZXN8dCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczppLnRyYW5zaXRpb25zfSxvLm1lbW9pemVkU3RhdGU9aSxvLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzJn50LG4ubWVtb2l6ZWRTdGF0ZT1EbyxsfXJldHVybiBlPShvPWUuY2hpbGQpLnNpYmxpbmcsbD1GcyhvLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSksISgxJm4ubW9kZSkmJihsLmxhbmVzPXQpLGwucmV0dXJuPW4sbC5zaWJsaW5nPW51bGwsbnVsbCE9PWUmJihudWxsPT09KHQ9bi5kZWxldGlvbnMpPyhuLmRlbGV0aW9ucz1bZV0sbi5mbGFnc3w9MTYpOnQucHVzaChlKSksbi5jaGlsZD1sLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gVW8oZSxuKXtyZXR1cm4obj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bn0sZS5tb2RlLDAsbnVsbCkpLnJldHVybj1lLGUuY2hpbGQ9bn1mdW5jdGlvbiBWbyhlLG4sdCxyKXtyZXR1cm4gbnVsbCE9PXImJm1hKHIpLFhhKG4sZS5jaGlsZCxudWxsLHQpLChlPVVvKG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pKS5mbGFnc3w9MixuLm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEFvKGUsbix0KXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bikseGEoZS5yZXR1cm4sbix0KX1mdW5jdGlvbiBCbyhlLG4sdCxyLGwpe3ZhciBhPWUubWVtb2l6ZWRTdGF0ZTtudWxsPT09YT9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOm4scmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6dCx0YWlsTW9kZTpsfTooYS5pc0JhY2t3YXJkcz1uLGEucmVuZGVyaW5nPW51bGwsYS5yZW5kZXJpbmdTdGFydFRpbWU9MCxhLmxhc3Q9cixhLnRhaWw9dCxhLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIFdvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7aWYod28oZSxuLHIuY2hpbGRyZW4sdCksMiYocj1vdS5jdXJyZW50KSlyPTEmcnwyLG4uZmxhZ3N8PTEyODtlbHNle2lmKG51bGwhPT1lJiYxMjgmZS5mbGFncyllOmZvcihlPW4uY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJkFvKGUsdCxuKTtlbHNlIGlmKDE5PT09ZS50YWcpQW8oZSx0LG4pO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT1uKWJyZWFrIGU7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PW4pYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9ciY9MX1pZih6bChvdSxyKSwxJm4ubW9kZSlzd2l0Y2gobCl7Y2FzZSJmb3J3YXJkcyI6Zm9yKHQ9bi5jaGlsZCxsPW51bGw7bnVsbCE9PXQ7KW51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGw9PT1pdShlKSYmKGw9dCksdD10LnNpYmxpbmc7bnVsbD09PSh0PWwpPyhsPW4uY2hpbGQsbi5jaGlsZD1udWxsKToobD10LnNpYmxpbmcsdC5zaWJsaW5nPW51bGwpLEJvKG4sITEsbCx0LGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3IodD1udWxsLGw9bi5jaGlsZCxuLmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09aXUoZSkpe24uY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9dCx0PWwsbD1lfUJvKG4sITAsdCxudWxsLGEpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOgpCbyhuLCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6bi5tZW1vaXplZFN0YXRlPW51bGx9ZWxzZSBuLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBIbyhlLG4peyEoMSZuLm1vZGUpJiZudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsbi5hbHRlcm5hdGU9bnVsbCxuLmZsYWdzfD0yKX1mdW5jdGlvbiBRbyhlLG4sdCl7aWYobnVsbCE9PWUmJihuLmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksSWl8PW4ubGFuZXMsISh0Jm4uY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYobnVsbCE9PWUmJm4uY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKGEoMTUzKSk7aWYobnVsbCE9PW4uY2hpbGQpe2Zvcih0PUZzKGU9bi5jaGlsZCxlLnBlbmRpbmdQcm9wcyksbi5jaGlsZD10LHQucmV0dXJuPW47bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKHQ9dC5zaWJsaW5nPUZzKGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49bjt0LnNpYmxpbmc9bnVsbH1yZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBqbyhlLG4pe2lmKCFsYSlzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOm49ZS50YWlsO2Zvcih2YXIgdD1udWxsO251bGwhPT1uOyludWxsIT09bi5hbHRlcm5hdGUmJih0PW4pLG49bi5zaWJsaW5nO251bGw9PT10P2UudGFpbD1udWxsOnQuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjp0PWUudGFpbDtmb3IodmFyIHI9bnVsbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYocj10KSx0PXQuc2libGluZztudWxsPT09cj9ufHxudWxsPT09ZS50YWlsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6ci5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uICRvKGUpe3ZhciBuPW51bGwhPT1lLmFsdGVybmF0ZSYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLHQ9MCxyPTA7aWYobilmb3IodmFyIGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9MTQ2ODAwNjQmbC5zdWJ0cmVlRmxhZ3Mscnw9MTQ2ODAwNjQmbC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO2Vsc2UgZm9yKGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9bC5zdWJ0cmVlRmxhZ3Mscnw9bC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9dCxufWZ1bmN0aW9uIHFvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcztzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMjpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiAkbyhuKSxudWxsO2Nhc2UgMTpjYXNlIDE3OnJldHVybiBNbChuLnR5cGUpJiZGbCgpLCRvKG4pLG51bGw7Y2FzZSAzOnJldHVybiByPW4uc3RhdGVOb2RlLGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLG51bGwhPT1lJiZudWxsIT09ZS5jaGlsZHx8KGZhKG4pP24uZmxhZ3N8PTQ6bnVsbD09PWV8fGUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJiEoMjU2Jm4uZmxhZ3MpfHwobi5mbGFnc3w9MTAyNCxudWxsIT09YWEmJih1cyhhYSksYWE9bnVsbCkpKSwkbyhuKSxudWxsO2Nhc2UgNTp1dShuKTt2YXIgbD10dShudS5jdXJyZW50KTtpZih0PW4udHlwZSxudWxsIT09ZSYmbnVsbCE9bi5zdGF0ZU5vZGUpRm8oZSxuLHQsciksZS5yZWYhPT1uLnJlZiYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZihudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtyZXR1cm4gJG8obiksbnVsbH1pZihlPXR1KEphLmN1cnJlbnQpLGZhKG4pKXtyPW4uc3RhdGVOb2RlLHQ9bi50eXBlO3ZhciB1PW4ubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltkbF09bixyW3BsXT11LGU9ISEoMSZuLm1vZGUpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixyKSxWcigiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6VnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDxEci5sZW5ndGg7bCsrKVZyKERyW2xdLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlZyKCJlcnJvciIsciksVnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6VnIoInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6WChyLHUpLFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIXUubXVsdGlwbGV9LFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInRleHRhcmVhIjpsZShyLHUpLFZyKCJpbnZhbGlkIixyKX1mb3IodmFyIGkgaW4geWUodCx1KSxsPW51bGwsdSlpZih1Lmhhc093blByb3BlcnR5KGkpKXt2YXIgcz11W2ldOyJjaGlsZHJlbiI9PT1pPyJzdHJpbmciPT10eXBlb2Ygcz9yLnRleHRDb250ZW50IT09cyYmKCEwIT09dS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJlpyKHIudGV4dENvbnRlbnQscyxlKSxsPVsiY2hpbGRyZW4iLHNdKToibnVtYmVyIj09dHlwZW9mIHMmJnIudGV4dENvbnRlbnQhPT0iIitzJiYoITAhPT11LnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci50ZXh0Q29udGVudCxzLGUpLGw9WyJjaGlsZHJlbiIsIiIrc10pOm8uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPXMmJiJvblNjcm9sbCI9PT1pJiZWcigic2Nyb2xsIixyKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChyKSxKKHIsdSwhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChyKSx1ZShyKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09dHlwZW9mIHUub25DbGljayYmKHIub25jbGljaz1Kcil9cj1sLG4udXBkYXRlUXVldWU9cixudWxsIT09ciYmKG4uZmxhZ3N8PTQpfWVsc2V7Cmk9OT09PWwubm9kZVR5cGU/bDpsLm93bmVyRG9jdW1lbnQsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZSYmKGU9b2UodCkpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/InNjcmlwdCI9PT10PygoZT1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOiJzdHJpbmciPT10eXBlb2Ygci5pcz9lPWkuY3JlYXRlRWxlbWVudCh0LHtpczpyLmlzfSk6KGU9aS5jcmVhdGVFbGVtZW50KHQpLCJzZWxlY3QiPT09dCYmKGk9ZSxyLm11bHRpcGxlP2kubXVsdGlwbGU9ITA6ci5zaXplJiYoaS5zaXplPXIuc2l6ZSkpKTplPWkuY3JlYXRlRWxlbWVudE5TKGUsdCksZVtkbF09bixlW3BsXT1yLE1vKGUsbiksbi5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2goaT1iZSh0LHIpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixlKSxWcigiY2xvc2UiLGUpLGw9cjticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOlZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPERyLmxlbmd0aDtsKyspVnIoRHJbbF0sZSk7bD1yO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLGUpLGw9cjticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpWcigiZXJyb3IiLGUpLFZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJkZXRhaWxzIjpWcigidG9nZ2xlIixlKSxsPXI7YnJlYWs7Y2FzZSJpbnB1dCI6WChlLHIpLGw9WShlLHIpLFZyKCJpbnZhbGlkIixlKTticmVhaztjYXNlIm9wdGlvbiI6ZGVmYXVsdDpsPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxsPU8oe30scix7dmFsdWU6dm9pZCAwfSksVnIoImludmFsaWQiLGUpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmxlKGUsciksbD1yZShlLHIpLFZyKCJpbnZhbGlkIixlKX1mb3IodSBpbiB5ZSh0LGwpLHM9bClpZihzLmhhc093blByb3BlcnR5KHUpKXt2YXIgYz1zW3VdOyJzdHlsZSI9PT11P2dlKGUsYyk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXU/bnVsbCE9KGM9Yz9jLl9faHRtbDp2b2lkIDApJiZmZShlLGMpOiJjaGlsZHJlbiI9PT11PyJzdHJpbmciPT10eXBlb2YgYz8oInRleHRhcmVhIiE9PXR8fCIiIT09YykmJmRlKGUsYyk6Im51bWJlciI9PXR5cGVvZiBjJiZkZShlLCIiK2MpOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09dSYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT11JiYiYXV0b0ZvY3VzIiE9PXUmJihvLmhhc093blByb3BlcnR5KHUpP251bGwhPWMmJiJvblNjcm9sbCI9PT11JiZWcigic2Nyb2xsIixlKTpudWxsIT1jJiZiKGUsdSxjLGkpKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChlKSxKKGUsciwhMSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChlKSx1ZShlKTticmVhaztjYXNlIm9wdGlvbiI6bnVsbCE9ci52YWx1ZSYmZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIitRKHIudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIXIubXVsdGlwbGUsbnVsbCE9KHU9ci52YWx1ZSk/dGUoZSwhIXIubXVsdGlwbGUsdSwhMSk6bnVsbCE9ci5kZWZhdWx0VmFsdWUmJnRlKGUsISFyLm11bHRpcGxlLHIuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBsLm9uQ2xpY2smJihlLm9uY2xpY2s9SnIpfXN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnI9ISFyLmF1dG9Gb2N1czticmVhayBlO2Nhc2UiaW1nIjpyPSEwO2JyZWFrIGU7ZGVmYXVsdDpyPSExfX1yJiYobi5mbGFnc3w9NCl9bnVsbCE9PW4ucmVmJiYobi5mbGFnc3w9NTEyLG4uZmxhZ3N8PTIwOTcxNTIpfXJldHVybiAkbyhuKSxudWxsO2Nhc2UgNjppZihlJiZudWxsIT1uLnN0YXRlTm9kZSlSbygwLG4sZS5tZW1vaXplZFByb3BzLHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiByJiZudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtpZih0PXR1KG51LmN1cnJlbnQpLHR1KEphLmN1cnJlbnQpLGZhKG4pKXtpZihyPW4uc3RhdGVOb2RlLHQ9bi5tZW1vaXplZFByb3BzLHJbZGxdPW4sKHU9ci5ub2RlVmFsdWUhPT10KSYmbnVsbCE9PShlPXRhKSlzd2l0Y2goZS50YWcpe2Nhc2UgMzpacihyLm5vZGVWYWx1ZSx0LCEhKDEmZS5tb2RlKSk7YnJlYWs7Y2FzZSA1OiEwIT09ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci5ub2RlVmFsdWUsdCwhISgxJmUubW9kZSkpfXUmJihuLmZsYWdzfD00KX1lbHNlKHI9KDk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShyKSlbZGxdPW4sbi5zdGF0ZU5vZGU9cn1yZXR1cm4gJG8obiksbnVsbDtjYXNlIDEzOmlmKENsKG91KSxyPW4ubWVtb2l6ZWRTdGF0ZSxudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkKXtpZihsYSYmbnVsbCE9PXJhJiYxJm4ubW9kZSYmISgxMjgmbi5mbGFncykpZGEoKSxwYSgpLG4uZmxhZ3N8PTk4NTYwLHU9ITE7ZWxzZSBpZih1PWZhKG4pLG51bGwhPT1yJiZudWxsIT09ci5kZWh5ZHJhdGVkKXtpZihudWxsPT09ZSl7aWYoIXUpdGhyb3cgRXJyb3IoYSgzMTgpKTtpZighKHU9bnVsbCE9PSh1PW4ubWVtb2l6ZWRTdGF0ZSk/dS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKGEoMzE3KSk7dVtkbF09bn1lbHNlIHBhKCksISgxMjgmbi5mbGFncykmJihuLm1lbW9pemVkU3RhdGU9bnVsbCksbi5mbGFnc3w9NDskbyhuKSx1PSExfWVsc2UgbnVsbCE9PWFhJiYodXMoYWEpLGFhPW51bGwpLHU9ITA7aWYoIXUpcmV0dXJuIDY1NTM2Jm4uZmxhZ3M/bjpudWxsfXJldHVybiAxMjgmbi5mbGFncz8obi5sYW5lcz10LG4pOigocj1udWxsIT09cikhPT0obnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiZyJiYobi5jaGlsZC5mbGFnc3w9ODE5MiwKMSZuLm1vZGUmJihudWxsPT09ZXx8MSZvdS5jdXJyZW50PzA9PT1SaSYmKFJpPTMpOmhzKCkpKSxudWxsIT09bi51cGRhdGVRdWV1ZSYmKG4uZmxhZ3N8PTQpLCRvKG4pLG51bGwpO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsPT09ZSYmV3Iobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksJG8obiksbnVsbDtjYXNlIDEwOnJldHVybiBTYShuLnR5cGUuX2NvbnRleHQpLCRvKG4pLG51bGw7Y2FzZSAxOTppZihDbChvdSksbnVsbD09PSh1PW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuICRvKG4pLG51bGw7aWYocj0hISgxMjgmbi5mbGFncyksbnVsbD09PShpPXUucmVuZGVyaW5nKSlpZihyKWpvKHUsITEpO2Vsc2V7aWYoMCE9PVJpfHxudWxsIT09ZSYmMTI4JmUuZmxhZ3MpZm9yKGU9bi5jaGlsZDtudWxsIT09ZTspe2lmKG51bGwhPT0oaT1pdShlKSkpe2ZvcihuLmZsYWdzfD0xMjgsam8odSwhMSksbnVsbCE9PShyPWkudXBkYXRlUXVldWUpJiYobi51cGRhdGVRdWV1ZT1yLG4uZmxhZ3N8PTQpLG4uc3VidHJlZUZsYWdzPTAscj10LHQ9bi5jaGlsZDtudWxsIT09dDspZT1yLCh1PXQpLmZsYWdzJj0xNDY4MDA2NixudWxsPT09KGk9dS5hbHRlcm5hdGUpPyh1LmNoaWxkTGFuZXM9MCx1LmxhbmVzPWUsdS5jaGlsZD1udWxsLHUuc3VidHJlZUZsYWdzPTAsdS5tZW1vaXplZFByb3BzPW51bGwsdS5tZW1vaXplZFN0YXRlPW51bGwsdS51cGRhdGVRdWV1ZT1udWxsLHUuZGVwZW5kZW5jaWVzPW51bGwsdS5zdGF0ZU5vZGU9bnVsbCk6KHUuY2hpbGRMYW5lcz1pLmNoaWxkTGFuZXMsdS5sYW5lcz1pLmxhbmVzLHUuY2hpbGQ9aS5jaGlsZCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwsdS5tZW1vaXplZFByb3BzPWkubWVtb2l6ZWRQcm9wcyx1Lm1lbW9pemVkU3RhdGU9aS5tZW1vaXplZFN0YXRlLHUudXBkYXRlUXVldWU9aS51cGRhdGVRdWV1ZSx1LnR5cGU9aS50eXBlLGU9aS5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9bnVsbD09PWU/bnVsbDp7bGFuZXM6ZS5sYW5lcyxmaXJzdENvbnRleHQ6ZS5maXJzdENvbnRleHR9KSx0PXQuc2libGluZztyZXR1cm4gemwob3UsMSZvdS5jdXJyZW50fDIpLG4uY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXUudGFpbCYmR2UoKT5XaSYmKG4uZmxhZ3N8PTEyOCxyPSEwLGpvKHUsITEpLG4ubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighcilpZihudWxsIT09KGU9aXUoaSkpKXtpZihuLmZsYWdzfD0xMjgscj0hMCxudWxsIT09KHQ9ZS51cGRhdGVRdWV1ZSkmJihuLnVwZGF0ZVF1ZXVlPXQsbi5mbGFnc3w9NCksam8odSwhMCksbnVsbD09PXUudGFpbCYmImhpZGRlbiI9PT11LnRhaWxNb2RlJiYhaS5hbHRlcm5hdGUmJiFsYSlyZXR1cm4gJG8obiksbnVsbH1lbHNlIDIqR2UoKS11LnJlbmRlcmluZ1N0YXJ0VGltZT5XaSYmMTA3Mzc0MTgyNCE9PXQmJihuLmZsYWdzfD0xMjgscj0hMCxqbyh1LCExKSxuLmxhbmVzPTQxOTQzMDQpO3UuaXNCYWNrd2FyZHM/KGkuc2libGluZz1uLmNoaWxkLG4uY2hpbGQ9aSk6KG51bGwhPT0odD11Lmxhc3QpP3Quc2libGluZz1pOm4uY2hpbGQ9aSx1Lmxhc3Q9aSl9cmV0dXJuIG51bGwhPT11LnRhaWw/KG49dS50YWlsLHUucmVuZGVyaW5nPW4sdS50YWlsPW4uc2libGluZyx1LnJlbmRlcmluZ1N0YXJ0VGltZT1HZSgpLG4uc2libGluZz1udWxsLHQ9b3UuY3VycmVudCx6bChvdSxyPzEmdHwyOjEmdCksbik6KCRvKG4pLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gZnMoKSxyPW51bGwhPT1uLm1lbW9pemVkU3RhdGUsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPT1yJiYobi5mbGFnc3w9ODE5MiksciYmMSZuLm1vZGU/ISEoMTA3Mzc0MTgyNCZNaSkmJigkbyhuKSw2Jm4uc3VidHJlZUZsYWdzJiYobi5mbGFnc3w9ODE5MikpOiRvKG4pLG51bGw7Y2FzZSAyNDpjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKGEoMTU2LG4udGFnKSl9ZnVuY3Rpb24gS28oZSxuKXtzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMTpyZXR1cm4gTWwobi50eXBlKSYmRmwoKSw2NTUzNiYoZT1uLmZsYWdzKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDM6cmV0dXJuIGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLDY1NTM2JihlPW4uZmxhZ3MpJiYhKDEyOCZlKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDU6cmV0dXJuIHV1KG4pLG51bGw7Y2FzZSAxMzppZihDbChvdSksbnVsbCE9PShlPW4ubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT1lLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT1uLmFsdGVybmF0ZSl0aHJvdyBFcnJvcihhKDM0MCkpO3BhKCl9cmV0dXJuIDY1NTM2JihlPW4uZmxhZ3MpPyhuLmZsYWdzPS02NTUzNyZlfDEyOCxuKTpudWxsO2Nhc2UgMTk6cmV0dXJuIENsKG91KSxudWxsO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIFNhKG4udHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGZzKCksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1Nbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgdD1uLmNoaWxkO251bGwhPT10Oyl7aWYoNT09PXQudGFnfHw2PT09dC50YWcpZS5hcHBlbmRDaGlsZCh0LnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09dC50YWcmJm51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09bilicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09bilyZXR1cm47dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX0sRm89ZnVuY3Rpb24oZSxuLHQscil7dmFyIGw9ZS5tZW1vaXplZFByb3BzO2lmKGwhPT1yKXtlPW4uc3RhdGVOb2RlLHR1KEphLmN1cnJlbnQpO3ZhciBhLHU9bnVsbDtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6bD1ZKGUsbCkscj1ZKGUsciksdT1bXTticmVhaztjYXNlInNlbGVjdCI6bD1PKHt9LGwse3ZhbHVlOnZvaWQgMH0pLHI9Tyh7fSxyLHt2YWx1ZTp2b2lkIDB9KSx1PVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmw9cmUoZSxsKSxyPXJlKGUsciksdT1bXTticmVhawo7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2YgbC5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPUpyKX1mb3IoYyBpbiB5ZSh0LHIpLHQ9bnVsbCxsKWlmKCFyLmhhc093blByb3BlcnR5KGMpJiZsLmhhc093blByb3BlcnR5KGMpJiZudWxsIT1sW2NdKWlmKCJzdHlsZSI9PT1jKXt2YXIgaT1sW2NdO2ZvcihhIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmKHR8fCh0PXt9KSx0W2FdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PWMmJiJjaGlsZHJlbiIhPT1jJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PWMmJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09YyYmImF1dG9Gb2N1cyIhPT1jJiYoby5oYXNPd25Qcm9wZXJ0eShjKT91fHwodT1bXSk6KHU9dXx8W10pLnB1c2goYyxudWxsKSk7Zm9yKGMgaW4gcil7dmFyIHM9cltjXTtpZihpPW51bGwhPWw/bFtjXTp2b2lkIDAsci5oYXNPd25Qcm9wZXJ0eShjKSYmcyE9PWkmJihudWxsIT1zfHxudWxsIT1pKSlpZigic3R5bGUiPT09YylpZihpKXtmb3IoYSBpbiBpKSFpLmhhc093blByb3BlcnR5KGEpfHxzJiZzLmhhc093blByb3BlcnR5KGEpfHwodHx8KHQ9e30pLHRbYV09IiIpO2ZvcihhIGluIHMpcy5oYXNPd25Qcm9wZXJ0eShhKSYmaVthXSE9PXNbYV0mJih0fHwodD17fSksdFthXT1zW2FdKX1lbHNlIHR8fCh1fHwodT1bXSksdS5wdXNoKGMsdCkpLHQ9cztlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWM/KHM9cz9zLl9faHRtbDp2b2lkIDAsaT1pP2kuX19odG1sOnZvaWQgMCxudWxsIT1zJiZpIT09cyYmKHU9dXx8W10pLnB1c2goYyxzKSk6ImNoaWxkcmVuIj09PWM/InN0cmluZyIhPXR5cGVvZiBzJiYibnVtYmVyIiE9dHlwZW9mIHN8fCh1PXV8fFtdKS5wdXNoKGMsIiIrcyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1jJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PWMmJihvLmhhc093blByb3BlcnR5KGMpPyhudWxsIT1zJiYib25TY3JvbGwiPT09YyYmVnIoInNjcm9sbCIsZSksdXx8aT09PXN8fCh1PVtdKSk6KHU9dXx8W10pLnB1c2goYyxzKSl9dCYmKHU9dXx8W10pLnB1c2goInN0eWxlIix0KTt2YXIgYz11OyhuLnVwZGF0ZVF1ZXVlPWMpJiYobi5mbGFnc3w9NCl9fSxSbz1mdW5jdGlvbihlLG4sdCxyKXt0IT09ciYmKG4uZmxhZ3N8PTQpfTt2YXIgWW89ITEsWG89ITEsR289ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsWm89bnVsbDtmdW5jdGlvbiBKbyhlLG4pe3ZhciB0PWUucmVmO2lmKG51bGwhPT10KWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRyeXt0KG51bGwpfWNhdGNoKHQpe0VzKGUsbix0KX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGVpKGUsbix0KXt0cnl7dCgpfWNhdGNoKHQpe0VzKGUsbix0KX19dmFyIG5pPSExO2Z1bmN0aW9uIHRpKGUsbix0KXt2YXIgcj1uLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT0ocj1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBsPXI9ci5uZXh0O2Rve2lmKChsLnRhZyZlKT09PWUpe3ZhciBhPWwuZGVzdHJveTtsLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWEmJmVpKG4sdCxhKX1sPWwubmV4dH13aGlsZShsIT09cil9fWZ1bmN0aW9uIHJpKGUsbil7aWYobnVsbCE9PShuPW51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKT9uLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciB0PW49bi5uZXh0O2Rve2lmKCh0LnRhZyZlKT09PWUpe3ZhciByPXQuY3JlYXRlO3QuZGVzdHJveT1yKCl9dD10Lm5leHR9d2hpbGUodCE9PW4pfX1mdW5jdGlvbiBsaShlKXt2YXIgbj1lLnJlZjtpZihudWxsIT09bil7dmFyIHQ9ZS5zdGF0ZU5vZGU7ZS50YWcsZT10LCJmdW5jdGlvbiI9PXR5cGVvZiBuP24oZSk6bi5jdXJyZW50PWV9fWZ1bmN0aW9uIGFpKGUpe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiYoZS5hbHRlcm5hdGU9bnVsbCxhaShuKSksZS5jaGlsZD1udWxsLGUuZGVsZXRpb25zPW51bGwsZS5zaWJsaW5nPW51bGwsNT09PWUudGFnJiYobnVsbCE9PShuPWUuc3RhdGVOb2RlKSYmKGRlbGV0ZSBuW2RsXSxkZWxldGUgbltwbF0sZGVsZXRlIG5baGxdLGRlbGV0ZSBuW2dsXSxkZWxldGUgblt2bF0pKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfWZ1bmN0aW9uIHVpKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIG9pKGUpe2U6Zm9yKDs7KXtmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fHVpKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nOzUhPT1lLnRhZyYmNiE9PWUudGFnJiYxOCE9PWUudGFnOyl7aWYoMiZlLmZsYWdzKWNvbnRpbnVlIGU7aWYobnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSxuPzg9PT10Lm5vZGVUeXBlP3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxuKTp0Lmluc2VydEJlZm9yZShlLG4pOig4PT09dC5ub2RlVHlwZT8obj10LnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShlLHQpOihuPXQpLmFwcGVuZENoaWxkKGUpLG51bGwhPSh0PXQuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9SnIpKTtlbHNlIGlmKDQhPT1yJiZudWxsIT09KGU9ZS5jaGlsZCkpZm9yKGlpKGUsbix0KSxlPWUuc2libGluZztudWxsIT09ZTspaWkoZSxuLHQpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIHNpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSwKbj90Lmluc2VydEJlZm9yZShlLG4pOnQuYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZig0IT09ciYmbnVsbCE9PShlPWUuY2hpbGQpKWZvcihzaShlLG4sdCksZT1lLnNpYmxpbmc7bnVsbCE9PWU7KXNpKGUsbix0KSxlPWUuc2libGluZ312YXIgY2k9bnVsbCxmaT0hMTtmdW5jdGlvbiBkaShlLG4sdCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspcGkoZSxuLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHBpKGUsbix0KXtpZihhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXthbi5vbkNvbW1pdEZpYmVyVW5tb3VudChsbix0KX1jYXRjaChlKXt9c3dpdGNoKHQudGFnKXtjYXNlIDU6WG98fEpvKHQsbik7Y2FzZSA2OnZhciByPWNpLGw9Zmk7Y2k9bnVsbCxkaShlLG4sdCksZmk9bCxudWxsIT09KGNpPXIpJiYoZmk/KGU9Y2ksdD10LnN0YXRlTm9kZSw4PT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk6ZS5yZW1vdmVDaGlsZCh0KSk6Y2kucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDE4Om51bGwhPT1jaSYmKGZpPyhlPWNpLHQ9dC5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/aWwoZS5wYXJlbnROb2RlLHQpOjE9PT1lLm5vZGVUeXBlJiZpbChlLHQpLEhuKGUpKTppbChjaSx0LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWNpLGw9ZmksY2k9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxmaT0hMCxkaShlLG4sdCksY2k9cixmaT1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZighWG8mJihudWxsIT09KHI9dC51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKSl7bD1yPXIubmV4dDtkb3t2YXIgYT1sLHU9YS5kZXN0cm95O2E9YS50YWcsdm9pZCAwIT09dSYmKDImYXx8NCZhKSYmZWkodCxuLHUpLGw9bC5uZXh0fXdoaWxlKGwhPT1yKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAxOmlmKCFYbyYmKEpvKHQsbiksImZ1bmN0aW9uIj09dHlwZW9mKHI9dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ci5wcm9wcz10Lm1lbW9pemVkUHJvcHMsci5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsci5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGUpe0VzKHQsbixlKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAyMTpkaShlLG4sdCk7YnJlYWs7Y2FzZSAyMjoxJnQubW9kZT8oWG89KHI9WG8pfHxudWxsIT09dC5tZW1vaXplZFN0YXRlLGRpKGUsbix0KSxYbz1yKTpkaShlLG4sdCk7YnJlYWs7ZGVmYXVsdDpkaShlLG4sdCl9fWZ1bmN0aW9uIG1pKGUpe3ZhciBuPWUudXBkYXRlUXVldWU7aWYobnVsbCE9PW4pe2UudXBkYXRlUXVldWU9bnVsbDt2YXIgdD1lLnN0YXRlTm9kZTtudWxsPT09dCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IEdvKSxuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByPV9zLmJpbmQobnVsbCxlLG4pO3QuaGFzKG4pfHwodC5hZGQobiksbi50aGVuKHIscikpfSkpfX1mdW5jdGlvbiBoaShlLG4pe3ZhciB0PW4uZGVsZXRpb25zO2lmKG51bGwhPT10KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO3RyeXt2YXIgdT1lLG89bixpPW87ZTpmb3IoO251bGwhPT1pOyl7c3dpdGNoKGkudGFnKXtjYXNlIDU6Y2k9aS5zdGF0ZU5vZGUsZmk9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OmNpPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZmk9ITA7YnJlYWsgZX1pPWkucmV0dXJufWlmKG51bGw9PT1jaSl0aHJvdyBFcnJvcihhKDE2MCkpO3BpKHUsbyxsKSxjaT1udWxsLGZpPSExO3ZhciBzPWwuYWx0ZXJuYXRlO251bGwhPT1zJiYocy5yZXR1cm49bnVsbCksbC5yZXR1cm49bnVsbH1jYXRjaChlKXtFcyhsLG4sZSl9fWlmKDEyODU0Jm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWdpKG4sZSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gZ2koZSxuKXt2YXIgdD1lLmFsdGVybmF0ZSxyPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoaGkobixlKSx2aShlKSw0JnIpe3RyeXt0aSgzLGUsZS5yZXR1cm4pLHJpKDMsZSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX10cnl7dGkoNSxlLGUucmV0dXJuKX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDE6aGkobixlKSx2aShlKSw1MTImciYmbnVsbCE9PXQmJkpvKHQsdC5yZXR1cm4pO2JyZWFrO2Nhc2UgNTppZihoaShuLGUpLHZpKGUpLDUxMiZyJiZudWxsIT09dCYmSm8odCx0LnJldHVybiksMzImZS5mbGFncyl7dmFyIGw9ZS5zdGF0ZU5vZGU7dHJ5e2RlKGwsIiIpfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWlmKDQmciYmbnVsbCE9KGw9ZS5zdGF0ZU5vZGUpKXt2YXIgdT1lLm1lbW9pemVkUHJvcHMsbz1udWxsIT09dD90Lm1lbW9pemVkUHJvcHM6dSxpPWUudHlwZSxzPWUudXBkYXRlUXVldWU7aWYoZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT1zKXRyeXsiaW5wdXQiPT09aSYmInJhZGlvIj09PXUudHlwZSYmbnVsbCE9dS5uYW1lJiZHKGwsdSksYmUoaSxvKTt2YXIgYz1iZShpLHUpO2ZvcihvPTA7bzxzLmxlbmd0aDtvKz0yKXt2YXIgZj1zW29dLGQ9c1tvKzFdOyJzdHlsZSI9PT1mP2dlKGwsZCk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWY/ZmUobCxkKToiY2hpbGRyZW4iPT09Zj9kZShsLGQpOmIobCxmLGQsYyl9c3dpdGNoKGkpe2Nhc2UiaW5wdXQiOloobCx1KTticmVhaztjYXNlInRleHRhcmVhIjphZShsLHUpO2JyZWFrO2Nhc2Uic2VsZWN0Ijp2YXIgcD1sLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7bC5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhdS5tdWx0aXBsZTt2YXIgbT11LnZhbHVlO251bGwhPW0/dGUobCwhIXUubXVsdGlwbGUsbSwhMSk6cCE9PSEhdS5tdWx0aXBsZSYmKG51bGwhPXUuZGVmYXVsdFZhbHVlP3RlKGwsISF1Lm11bHRpcGxlLHUuZGVmYXVsdFZhbHVlLCEwKTp0ZShsLCEhdS5tdWx0aXBsZSx1Lm11bHRpcGxlP1tdOiIiLCExKSl9bFtwbF09dX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDY6aWYoaGkobixlKSx2aShlKSw0JnIpewppZihudWxsPT09ZS5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjIpKTtsPWUuc3RhdGVOb2RlLHU9ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT11fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMzppZihoaShuLGUpLHZpKGUpLDQmciYmbnVsbCE9PXQmJnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e0huKG4uY29udGFpbmVySW5mbyl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX1icmVhaztjYXNlIDQ6ZGVmYXVsdDpoaShuLGUpLHZpKGUpO2JyZWFrO2Nhc2UgMTM6aGkobixlKSx2aShlKSw4MTkyJihsPWUuY2hpbGQpLmZsYWdzJiYodT1udWxsIT09bC5tZW1vaXplZFN0YXRlLGwuc3RhdGVOb2RlLmlzSGlkZGVuPXUsIXV8fG51bGwhPT1sLmFsdGVybmF0ZSYmbnVsbCE9PWwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fChCaT1HZSgpKSksNCZyJiZtaShlKTticmVhaztjYXNlIDIyOmlmKGY9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUsMSZlLm1vZGU/KFhvPShjPVhvKXx8ZixoaShuLGUpLFhvPWMpOmhpKG4sZSksdmkoZSksODE5MiZyKXtpZihjPW51bGwhPT1lLm1lbW9pemVkU3RhdGUsKGUuc3RhdGVOb2RlLmlzSGlkZGVuPWMpJiYhZiYmMSZlLm1vZGUpZm9yKFpvPWUsZj1lLmNoaWxkO251bGwhPT1mOyl7Zm9yKGQ9Wm89ZjtudWxsIT09Wm87KXtzd2l0Y2gobT0ocD1abykuY2hpbGQscC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp0aSg0LHAscC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpKbyhwLHAucmV0dXJuKTt2YXIgaD1wLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaC5jb21wb25lbnRXaWxsVW5tb3VudCl7cj1wLHQ9cC5yZXR1cm47dHJ5e249cixoLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxoLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxoLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7RXMocix0LGUpfX1icmVhaztjYXNlIDU6Sm8ocCxwLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihudWxsIT09cC5tZW1vaXplZFN0YXRlKXt3aShkKTtjb250aW51ZX19bnVsbCE9PW0/KG0ucmV0dXJuPXAsWm89bSk6d2koZCl9Zj1mLnNpYmxpbmd9ZTpmb3IoZj1udWxsLGQ9ZTs7KXtpZig1PT09ZC50YWcpe2lmKG51bGw9PT1mKXtmPWQ7dHJ5e2w9ZC5zdGF0ZU5vZGUsYz8iZnVuY3Rpb24iPT10eXBlb2YodT1sLnN0eWxlKS5zZXRQcm9wZXJ0eT91LnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOnUuZGlzcGxheT0ibm9uZSI6KGk9ZC5zdGF0ZU5vZGUsbz1udWxsIT0ocz1kLm1lbW9pemVkUHJvcHMuc3R5bGUpJiZzLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/cy5kaXNwbGF5Om51bGwsaS5zdHlsZS5kaXNwbGF5PWhlKCJkaXNwbGF5IixvKSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX19fWVsc2UgaWYoNj09PWQudGFnKXtpZihudWxsPT09Zil0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPWM/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWVsc2UgaWYoKDIyIT09ZC50YWcmJjIzIT09ZC50YWd8fG51bGw9PT1kLm1lbW9pemVkU3RhdGV8fGQ9PT1lKSYmbnVsbCE9PWQuY2hpbGQpe2QuY2hpbGQucmV0dXJuPWQsZD1kLmNoaWxkO2NvbnRpbnVlfWlmKGQ9PT1lKWJyZWFrIGU7Zm9yKDtudWxsPT09ZC5zaWJsaW5nOyl7aWYobnVsbD09PWQucmV0dXJufHxkLnJldHVybj09PWUpYnJlYWsgZTtmPT09ZCYmKGY9bnVsbCksZD1kLnJldHVybn1mPT09ZCYmKGY9bnVsbCksZC5zaWJsaW5nLnJldHVybj1kLnJldHVybixkPWQuc2libGluZ319YnJlYWs7Y2FzZSAxOTpoaShuLGUpLHZpKGUpLDQmciYmbWkoZSk7Y2FzZSAyMTp9fWZ1bmN0aW9uIHZpKGUpe3ZhciBuPWUuZmxhZ3M7aWYoMiZuKXt0cnl7ZTp7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl7aWYodWkodCkpe3ZhciByPXQ7YnJlYWsgZX10PXQucmV0dXJufXRocm93IEVycm9yKGEoMTYwKSl9c3dpdGNoKHIudGFnKXtjYXNlIDU6dmFyIGw9ci5zdGF0ZU5vZGU7MzImci5mbGFncyYmKGRlKGwsIiIpLHIuZmxhZ3MmPS0zMyksc2koZSxvaShlKSxsKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB1PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWkoZSxvaShlKSx1KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMTYxKSl9fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9ZS5mbGFncyY9LTN9NDA5NiZuJiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIHlpKGUsbix0KXtabz1lLGJpKGUsbix0KX1mdW5jdGlvbiBiaShlLG4sdCl7Zm9yKHZhciByPSEhKDEmZS5tb2RlKTtudWxsIT09Wm87KXt2YXIgbD1abyxhPWwuY2hpbGQ7aWYoMjI9PT1sLnRhZyYmcil7dmFyIHU9bnVsbCE9PWwubWVtb2l6ZWRTdGF0ZXx8WW87aWYoIXUpe3ZhciBvPWwuYWx0ZXJuYXRlLGk9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGV8fFhvO289WW87dmFyIHM9WG87aWYoWW89dSwoWG89aSkmJiFzKWZvcihabz1sO251bGwhPT1abzspaT0odT1abykuY2hpbGQsMjI9PT11LnRhZyYmbnVsbCE9PXUubWVtb2l6ZWRTdGF0ZT9TaShsKTpudWxsIT09aT8oaS5yZXR1cm49dSxabz1pKTpTaShsKTtmb3IoO251bGwhPT1hOylabz1hLGJpKGEsbix0KSxhPWEuc2libGluZztabz1sLFlvPW8sWG89c31raShlKX1lbHNlIDg3NzImbC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1hPyhhLnJldHVybj1sLFpvPWEpOmtpKGUpfX1mdW5jdGlvbiBraShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKDg3NzImbi5mbGFncyl7dmFyIHQ9bi5hbHRlcm5hdGU7dHJ5e2lmKDg3NzImbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WG98fHJpKDUsbik7YnJlYWs7Y2FzZSAxOnZhciByPW4uc3RhdGVOb2RlO2lmKDQmbi5mbGFncyYmIVhvKWlmKG51bGw9PT10KXIuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBsPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOmdhKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpCjtyLmNvbXBvbmVudERpZFVwZGF0ZShsLHQubWVtb2l6ZWRTdGF0ZSxyLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgdT1uLnVwZGF0ZVF1ZXVlO251bGwhPT11JiZVYShuLHUscik7YnJlYWs7Y2FzZSAzOnZhciBvPW4udXBkYXRlUXVldWU7aWYobnVsbCE9PW8pe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgNTpjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX1VYShuLG8sdCl9YnJlYWs7Y2FzZSA1OnZhciBpPW4uc3RhdGVOb2RlO2lmKG51bGw9PT10JiY0Jm4uZmxhZ3Mpe3Q9aTt2YXIgcz1uLm1lbW9pemVkUHJvcHM7c3dpdGNoKG4udHlwZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpzLmF1dG9Gb2N1cyYmdC5mb2N1cygpO2JyZWFrO2Nhc2UiaW1nIjpzLnNyYyYmKHQuc3JjPXMuc3JjKX19YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTk6Y2FzZSAxNzpjYXNlIDIxOmNhc2UgMjI6Y2FzZSAyMzpjYXNlIDI1OmJyZWFrO2Nhc2UgMTM6aWYobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSl7dmFyIGM9bi5hbHRlcm5hdGU7aWYobnVsbCE9PWMpe3ZhciBmPWMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09Zil7dmFyIGQ9Zi5kZWh5ZHJhdGVkO251bGwhPT1kJiZIbihkKX19fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoYSgxNjMpKX1Yb3x8NTEyJm4uZmxhZ3MmJmxpKG4pfWNhdGNoKGUpe0VzKG4sbi5yZXR1cm4sZSl9fWlmKG49PT1lKXtabz1udWxsO2JyZWFrfWlmKG51bGwhPT0odD1uLnNpYmxpbmcpKXt0LnJldHVybj1uLnJldHVybixabz10O2JyZWFrfVpvPW4ucmV0dXJufX1mdW5jdGlvbiB3aShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKG49PT1lKXtabz1udWxsO2JyZWFrfXZhciB0PW4uc2libGluZztpZihudWxsIT09dCl7dC5yZXR1cm49bi5yZXR1cm4sWm89dDticmVha31abz1uLnJldHVybn19ZnVuY3Rpb24gU2koZSl7Zm9yKDtudWxsIT09Wm87KXt2YXIgbj1abzt0cnl7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciB0PW4ucmV0dXJuO3RyeXtyaSg0LG4pfWNhdGNoKGUpe0VzKG4sdCxlKX1icmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkTW91bnQpe3ZhciBsPW4ucmV0dXJuO3RyeXtyLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7RXMobixsLGUpfX12YXIgYT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobixhLGUpfWJyZWFrO2Nhc2UgNTp2YXIgdT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobix1LGUpfX19Y2F0Y2goZSl7RXMobixuLnJldHVybixlKX1pZihuPT09ZSl7Wm89bnVsbDticmVha312YXIgbz1uLnNpYmxpbmc7aWYobnVsbCE9PW8pe28ucmV0dXJuPW4ucmV0dXJuLFpvPW87YnJlYWt9Wm89bi5yZXR1cm59fXZhciB4aSxFaT1NYXRoLmNlaWwsQ2k9ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHppPWsuUmVhY3RDdXJyZW50T3duZXIsTmk9ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxfaT0wLFBpPW51bGwsVGk9bnVsbCxMaT0wLE1pPTAsRmk9RWwoMCksUmk9MCxEaT1udWxsLElpPTAsT2k9MCxVaT0wLFZpPW51bGwsQWk9bnVsbCxCaT0wLFdpPTEvMCxIaT1udWxsLFFpPSExLGppPW51bGwsJGk9bnVsbCxxaT0hMSxLaT1udWxsLFlpPTAsWGk9MCxHaT1udWxsLFppPS0xLEppPTA7ZnVuY3Rpb24gZXMoKXtyZXR1cm4gNiZfaT9HZSgpOi0xIT09Wmk/Wmk6Wmk9R2UoKX1mdW5jdGlvbiBucyhlKXtyZXR1cm4gMSZlLm1vZGU/MiZfaSYmMCE9PUxpP0xpJi1MaTpudWxsIT09aGEudHJhbnNpdGlvbj8oMD09PUppJiYoSmk9Z24oKSksSmkpOjAhPT0oZT1rbik/ZTplPXZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MTY6R24oZS50eXBlKToxfWZ1bmN0aW9uIHRzKGUsbix0LHIpe2lmKDUwPFhpKXRocm93IFhpPTAsR2k9bnVsbCxFcnJvcihhKDE4NSkpO3luKGUsdCxyKSwyJl9pJiZlPT09UGl8fChlPT09UGkmJighKDImX2kpJiYoT2l8PXQpLDQ9PT1SaSYmb3MoZSxMaSkpLHJzKGUsciksMT09PXQmJjA9PT1faSYmISgxJm4ubW9kZSkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSkpfWZ1bmN0aW9uIHJzKGUsbil7dmFyIHQ9ZS5jYWxsYmFja05vZGU7IWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT1lLnBlbmRpbmdMYW5lczswPGE7KXt2YXIgdT0zMS11bihhKSxvPTE8PHUsaT1sW3VdOy0xPT09aT9vJnQmJiEobyZyKXx8KGxbdV09bW4obyxuKSk6aTw9biYmKGUuZXhwaXJlZExhbmVzfD1vKSxhJj1+b319KGUsbik7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpbnVsbCE9PXQmJktlKHQpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihuPXImLXIsZS5jYWxsYmFja1ByaW9yaXR5IT09bil7aWYobnVsbCE9dCYmS2UodCksMT09PW4pMD09PWUudGFnP2Z1bmN0aW9uKGUpe1ZsPSEwLEJsKGUpfShpcy5iaW5kKG51bGwsZSkpOkJsKGlzLmJpbmQobnVsbCxlKSksdWwoKGZ1bmN0aW9uKCl7ISg2Jl9pKSYmV2woKX0pKSx0PW51bGw7ZWxzZXtzd2l0Y2god24ocikpe2Nhc2UgMTp0PUplO2JyZWFrO2Nhc2UgNDp0PWVuO2JyZWFrO2Nhc2UgMTY6ZGVmYXVsdDp0PW5uO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOnQ9cm59dD1Qcyh0LGxzLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PW4sZS5jYWxsYmFja05vZGU9dH19ZnVuY3Rpb24gbHMoZSxuKXtpZihaaT0tMSxKaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTt2YXIgdD1lLmNhbGxiYWNrTm9kZTtpZihTcygpJiZlLmNhbGxiYWNrTm9kZSE9PXQpcmV0dXJuIG51bGw7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpcmV0dXJuIG51bGw7aWYoMzAmcnx8ciZlLmV4cGlyZWRMYW5lc3x8biluPWdzKGUscik7ZWxzZXtuPXI7dmFyIGw9X2k7X2l8PTI7dmFyIHU9bXMoKQo7Zm9yKFBpPT09ZSYmTGk9PT1ufHwoSGk9bnVsbCxXaT1HZSgpKzUwMCxkcyhlLG4pKTs7KXRyeXt5cygpO2JyZWFrfWNhdGNoKG4pe3BzKGUsbil9d2EoKSxDaS5jdXJyZW50PXUsX2k9bCxudWxsIT09VGk/bj0wOihQaT1udWxsLExpPTAsbj1SaSl9aWYoMCE9PW4pe2lmKDI9PT1uJiYoMCE9PShsPWhuKGUpKSYmKHI9bCxuPWFzKGUsbCkpKSwxPT09bil0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7aWYoNj09PW4pb3MoZSxyKTtlbHNle2lmKGw9ZS5jdXJyZW50LmFsdGVybmF0ZSwhKDMwJnJ8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOzspe2lmKDE2Mzg0Jm4uZmxhZ3Mpe3ZhciB0PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXQmJm51bGwhPT0odD10LnN0b3JlcykpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBsPXRbcl0sYT1sLmdldFNuYXBzaG90O2w9bC52YWx1ZTt0cnl7aWYoIW9yKGEoKSxsKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX19fWlmKHQ9bi5jaGlsZCwxNjM4NCZuLnN1YnRyZWVGbGFncyYmbnVsbCE9PXQpdC5yZXR1cm49bixuPXQ7ZWxzZXtpZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4hMDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fXJldHVybiEwfShsKXx8KG49Z3MoZSxyKSwyPT09biYmKHU9aG4oZSksMCE9PXUmJihyPXUsbj1hcyhlLHUpKSksMSE9PW4pKSl0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7c3dpdGNoKGUuZmluaXNoZWRXb3JrPWwsZS5maW5pc2hlZExhbmVzPXIsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihhKDM0NSkpO2Nhc2UgMjpjYXNlIDU6d3MoZSxBaSxIaSk7YnJlYWs7Y2FzZSAzOmlmKG9zKGUsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChuPUJpKzUwMC1HZSgpKSl7aWYoMCE9PXBuKGUsMCkpYnJlYWs7aWYoKChsPWUuc3VzcGVuZGVkTGFuZXMpJnIpIT09cil7ZXMoKSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJmw7YnJlYWt9ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxuKTticmVha313cyhlLEFpLEhpKTticmVhaztjYXNlIDQ6aWYob3MoZSxyKSwoNDE5NDI0MCZyKT09PXIpYnJlYWs7Zm9yKG49ZS5ldmVudFRpbWVzLGw9LTE7MDxyOyl7dmFyIG89MzEtdW4ocik7dT0xPDxvLChvPW5bb10pPmwmJihsPW8pLHImPX51fWlmKHI9bCwxMDwocj0oMTIwPihyPUdlKCktcik/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCpFaShyLzE5NjApKS1yKSl7ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxyKTticmVha313cyhlLEFpLEhpKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzI5KSl9fX1yZXR1cm4gcnMoZSxHZSgpKSxlLmNhbGxiYWNrTm9kZT09PXQ/bHMuYmluZChudWxsLGUpOm51bGx9ZnVuY3Rpb24gYXMoZSxuKXt2YXIgdD1WaTtyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoZHMoZSxuKS5mbGFnc3w9MjU2KSwyIT09KGU9Z3MoZSxuKSkmJihuPUFpLEFpPXQsbnVsbCE9PW4mJnVzKG4pKSxlfWZ1bmN0aW9uIHVzKGUpe251bGw9PT1BaT9BaT1lOkFpLnB1c2guYXBwbHkoQWksZSl9ZnVuY3Rpb24gb3MoZSxuKXtmb3IobiY9flVpLG4mPX5PaSxlLnN1c3BlbmRlZExhbmVzfD1uLGUucGluZ2VkTGFuZXMmPX5uLGU9ZS5leHBpcmF0aW9uVGltZXM7MDxuOyl7dmFyIHQ9MzEtdW4obikscj0xPDx0O2VbdF09LTEsbiY9fnJ9fWZ1bmN0aW9uIGlzKGUpe2lmKDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTtTcygpO3ZhciBuPXBuKGUsMCk7aWYoISgxJm4pKXJldHVybiBycyhlLEdlKCkpLG51bGw7dmFyIHQ9Z3MoZSxuKTtpZigwIT09ZS50YWcmJjI9PT10KXt2YXIgcj1obihlKTswIT09ciYmKG49cix0PWFzKGUscikpfWlmKDE9PT10KXRocm93IHQ9RGksZHMoZSwwKSxvcyhlLG4pLHJzKGUsR2UoKSksdDtpZig2PT09dCl0aHJvdyBFcnJvcihhKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz1uLHdzKGUsQWksSGkpLHJzKGUsR2UoKSksbnVsbH1mdW5jdGlvbiBzcyhlLG4pe3ZhciB0PV9pO19pfD0xO3RyeXtyZXR1cm4gZShuKX1maW5hbGx5ezA9PT0oX2k9dCkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSl9fWZ1bmN0aW9uIGNzKGUpe251bGwhPT1LaSYmMD09PUtpLnRhZyYmISg2Jl9pKSYmU3MoKTt2YXIgbj1faTtfaXw9MTt2YXIgdD1OaS50cmFuc2l0aW9uLHI9a247dHJ5e2lmKE5pLnRyYW5zaXRpb249bnVsbCxrbj0xLGUpcmV0dXJuIGUoKX1maW5hbGx5e2tuPXIsTmkudHJhbnNpdGlvbj10LCEoNiYoX2k9bikpJiZXbCgpfX1mdW5jdGlvbiBmcygpe01pPUZpLmN1cnJlbnQsQ2woRmkpfWZ1bmN0aW9uIGRzKGUsbil7ZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MDt2YXIgdD1lLnRpbWVvdXRIYW5kbGU7aWYoLTEhPT10JiYoZS50aW1lb3V0SGFuZGxlPS0xLGxsKHQpKSxudWxsIT09VGkpZm9yKHQ9VGkucmV0dXJuO251bGwhPT10Oyl7dmFyIHI9dDtzd2l0Y2gobmEociksci50YWcpe2Nhc2UgMTpudWxsIT0ocj1yLnR5cGUuY2hpbGRDb250ZXh0VHlwZXMpJiZGbCgpO2JyZWFrO2Nhc2UgMzpsdSgpLENsKFBsKSxDbChfbCksY3UoKTticmVhaztjYXNlIDU6dXUocik7YnJlYWs7Y2FzZSA0Omx1KCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDE5OkNsKG91KTticmVhaztjYXNlIDEwOlNhKHIudHlwZS5fY29udGV4dCk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmZzKCl9dD10LnJldHVybn1pZihQaT1lLFRpPWU9RnMoZS5jdXJyZW50LG51bGwpLExpPU1pPW4sUmk9MCxEaT1udWxsLFVpPU9pPUlpPTAsQWk9Vmk9bnVsbCxudWxsIT09emEpe2ZvcihuPTA7bjx6YS5sZW5ndGg7bisrKWlmKG51bGwhPT0ocj0odD16YVtuXSkuaW50ZXJsZWF2ZWQpKXt0LmludGVybGVhdmVkPW51bGwKO3ZhciBsPXIubmV4dCxhPXQucGVuZGluZztpZihudWxsIT09YSl7dmFyIHU9YS5uZXh0O2EubmV4dD1sLHIubmV4dD11fXQucGVuZGluZz1yfXphPW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gcHMoZSxuKXtmb3IoOzspe3ZhciB0PVRpO3RyeXtpZih3YSgpLGZ1LmN1cnJlbnQ9YW8sdnUpe2Zvcih2YXIgcj1tdS5tZW1vaXplZFN0YXRlO251bGwhPT1yOyl7dmFyIGw9ci5xdWV1ZTtudWxsIT09bCYmKGwucGVuZGluZz1udWxsKSxyPXIubmV4dH12dT0hMX1pZihwdT0wLGd1PWh1PW11PW51bGwseXU9ITEsYnU9MCx6aS5jdXJyZW50PW51bGwsbnVsbD09PXR8fG51bGw9PT10LnJldHVybil7Umk9MSxEaT1uLFRpPW51bGw7YnJlYWt9ZTp7dmFyIHU9ZSxvPXQucmV0dXJuLGk9dCxzPW47aWYobj1MaSxpLmZsYWdzfD0zMjc2OCxudWxsIT09cyYmIm9iamVjdCI9PXR5cGVvZiBzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy50aGVuKXt2YXIgYz1zLGY9aSxkPWYudGFnO2lmKCEoMSZmLm1vZGV8fDAhPT1kJiYxMSE9PWQmJjE1IT09ZCkpe3ZhciBwPWYuYWx0ZXJuYXRlO3A/KGYudXBkYXRlUXVldWU9cC51cGRhdGVRdWV1ZSxmLm1lbW9pemVkU3RhdGU9cC5tZW1vaXplZFN0YXRlLGYubGFuZXM9cC5sYW5lcyk6KGYudXBkYXRlUXVldWU9bnVsbCxmLm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIG09dm8obyk7aWYobnVsbCE9PW0pe20uZmxhZ3MmPS0yNTcseW8obSxvLGksMCxuKSwxJm0ubW9kZSYmZ28odSxjLG4pLHM9Yzt2YXIgaD0obj1tKS51cGRhdGVRdWV1ZTtpZihudWxsPT09aCl7dmFyIGc9bmV3IFNldDtnLmFkZChzKSxuLnVwZGF0ZVF1ZXVlPWd9ZWxzZSBoLmFkZChzKTticmVhayBlfWlmKCEoMSZuKSl7Z28odSxjLG4pLGhzKCk7YnJlYWsgZX1zPUVycm9yKGEoNDI2KSl9ZWxzZSBpZihsYSYmMSZpLm1vZGUpe3ZhciB2PXZvKG8pO2lmKG51bGwhPT12KXshKDY1NTM2JnYuZmxhZ3MpJiYodi5mbGFnc3w9MjU2KSx5byh2LG8saSwwLG4pLG1hKHNvKHMsaSkpO2JyZWFrIGV9fXU9cz1zbyhzLGkpLDQhPT1SaSYmKFJpPTIpLG51bGw9PT1WaT9WaT1bdV06VmkucHVzaCh1KSx1PW87ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LG1vKDAscyxuKSk7YnJlYWsgZTtjYXNlIDE6aT1zO3ZhciB5PXUudHlwZSxiPXUuc3RhdGVOb2RlO2lmKCEoMTI4JnUuZmxhZ3N8fCJmdW5jdGlvbiIhPXR5cGVvZiB5LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciYmKG51bGw9PT1ifHwiZnVuY3Rpb24iIT10eXBlb2YgYi5jb21wb25lbnREaWRDYXRjaHx8bnVsbCE9PSRpJiYkaS5oYXMoYikpKSl7dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LGhvKHUsaSxuKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9a3ModCl9Y2F0Y2goZSl7bj1lLFRpPT09dCYmbnVsbCE9PXQmJihUaT10PXQucmV0dXJuKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gbXMoKXt2YXIgZT1DaS5jdXJyZW50O3JldHVybiBDaS5jdXJyZW50PWFvLG51bGw9PT1lP2FvOmV9ZnVuY3Rpb24gaHMoKXswIT09UmkmJjMhPT1SaSYmMiE9PVJpfHwoUmk9NCksbnVsbD09PVBpfHwhKDI2ODQzNTQ1NSZJaSkmJiEoMjY4NDM1NDU1Jk9pKXx8b3MoUGksTGkpfWZ1bmN0aW9uIGdzKGUsbil7dmFyIHQ9X2k7X2l8PTI7dmFyIHI9bXMoKTtmb3IoUGk9PT1lJiZMaT09PW58fChIaT1udWxsLGRzKGUsbikpOzspdHJ5e3ZzKCk7YnJlYWt9Y2F0Y2gobil7cHMoZSxuKX1pZih3YSgpLF9pPXQsQ2kuY3VycmVudD1yLG51bGwhPT1UaSl0aHJvdyBFcnJvcihhKDI2MSkpO3JldHVybiBQaT1udWxsLExpPTAsUml9ZnVuY3Rpb24gdnMoKXtmb3IoO251bGwhPT1UaTspYnMoVGkpfWZ1bmN0aW9uIHlzKCl7Zm9yKDtudWxsIT09VGkmJiFZZSgpOylicyhUaSl9ZnVuY3Rpb24gYnMoZSl7dmFyIG49eGkoZS5hbHRlcm5hdGUsZSxNaSk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT1uP2tzKGUpOlRpPW4semkuY3VycmVudD1udWxsfWZ1bmN0aW9uIGtzKGUpe3ZhciBuPWU7ZG97dmFyIHQ9bi5hbHRlcm5hdGU7aWYoZT1uLnJldHVybiwzMjc2OCZuLmZsYWdzKXtpZihudWxsIT09KHQ9S28odCxuKSkpcmV0dXJuIHQuZmxhZ3MmPTMyNzY3LHZvaWQoVGk9dCk7aWYobnVsbD09PWUpcmV0dXJuIFJpPTYsdm9pZChUaT1udWxsKTtlLmZsYWdzfD0zMjc2OCxlLnN1YnRyZWVGbGFncz0wLGUuZGVsZXRpb25zPW51bGx9ZWxzZSBpZihudWxsIT09KHQ9cW8odCxuLE1pKSkpcmV0dXJuIHZvaWQoVGk9dCk7aWYobnVsbCE9PShuPW4uc2libGluZykpcmV0dXJuIHZvaWQoVGk9bik7VGk9bj1lfXdoaWxlKG51bGwhPT1uKTswPT09UmkmJihSaT01KX1mdW5jdGlvbiB3cyhlLG4sdCl7dmFyIHI9a24sbD1OaS50cmFuc2l0aW9uO3RyeXtOaS50cmFuc2l0aW9uPW51bGwsa249MSxmdW5jdGlvbihlLG4sdCxyKXtkb3tTcygpfXdoaWxlKG51bGwhPT1LaSk7aWYoNiZfaSl0aHJvdyBFcnJvcihhKDMyNykpO3Q9ZS5maW5pc2hlZFdvcms7dmFyIGw9ZS5maW5pc2hlZExhbmVzO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZExhbmVzPTAsdD09PWUuY3VycmVudCl0aHJvdyBFcnJvcihhKDE3NykpO2UuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7dmFyIHU9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYoZnVuY3Rpb24oZSxuKXt2YXIgdD1lLnBlbmRpbmdMYW5lcyZ+bjtlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPW4sZS5tdXRhYmxlUmVhZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sbj1lLmVudGFuZ2xlbWVudHM7dmFyIHI9ZS5ldmVudFRpbWVzO2ZvcihlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciBsPTMxLXVuKHQpLGE9MTw8bDtuW2xdPTAscltsXT0tMSxlW2xdPS0xLHQmPX5hfX0oZSx1KSxlPT09UGkmJihUaT1QaT1udWxsLExpPTApLAohKDIwNjQmdC5zdWJ0cmVlRmxhZ3MpJiYhKDIwNjQmdC5mbGFncyl8fHFpfHwocWk9ITAsUHMobm4sKGZ1bmN0aW9uKCl7cmV0dXJuIFNzKCksbnVsbH0pKSksdT0hISgxNTk5MCZ0LmZsYWdzKSwhISgxNTk5MCZ0LnN1YnRyZWVGbGFncyl8fHUpe3U9TmkudHJhbnNpdGlvbixOaS50cmFuc2l0aW9uPW51bGw7dmFyIG89a247a249MTt2YXIgaT1faTtfaXw9NCx6aS5jdXJyZW50PW51bGwsZnVuY3Rpb24oZSxuKXtpZihlbD1qbixwcihlPWRyKCkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgdD17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dmFyIHI9KHQ9KHQ9ZS5vd25lckRvY3VtZW50KSYmdC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJnQuZ2V0U2VsZWN0aW9uKCk7aWYociYmMCE9PXIucmFuZ2VDb3VudCl7dD1yLmFuY2hvck5vZGU7dmFyIGw9ci5hbmNob3JPZmZzZXQsdT1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e3Qubm9kZVR5cGUsdS5ub2RlVHlwZX1jYXRjaChlKXt0PW51bGw7YnJlYWsgZX12YXIgbz0wLGk9LTEscz0tMSxjPTAsZj0wLGQ9ZSxwPW51bGw7bjpmb3IoOzspe2Zvcih2YXIgbTtkIT09dHx8MCE9PWwmJjMhPT1kLm5vZGVUeXBlfHwoaT1vK2wpLGQhPT11fHwwIT09ciYmMyE9PWQubm9kZVR5cGV8fChzPW8rciksMz09PWQubm9kZVR5cGUmJihvKz1kLm5vZGVWYWx1ZS5sZW5ndGgpLG51bGwhPT0obT1kLmZpcnN0Q2hpbGQpOylwPWQsZD1tO2Zvcig7Oyl7aWYoZD09PWUpYnJlYWsgbjtpZihwPT09dCYmKytjPT09bCYmKGk9bykscD09PXUmJisrZj09PXImJihzPW8pLG51bGwhPT0obT1kLm5leHRTaWJsaW5nKSlicmVhaztwPShkPXApLnBhcmVudE5vZGV9ZD1tfXQ9LTE9PT1pfHwtMT09PXM/bnVsbDp7c3RhcnQ6aSxlbmQ6c319ZWxzZSB0PW51bGx9dD10fHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSB0PW51bGw7Zm9yKG5sPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnR9LGpuPSExLFpvPW47bnVsbCE9PVpvOylpZihlPShuPVpvKS5jaGlsZCwxMDI4Jm4uc3VidHJlZUZsYWdzJiZudWxsIT09ZSllLnJldHVybj1uLFpvPWU7ZWxzZSBmb3IoO251bGwhPT1abzspe249Wm87dHJ5e3ZhciBoPW4uYWx0ZXJuYXRlO2lmKDEwMjQmbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDE6aWYobnVsbCE9PWgpe3ZhciBnPWgubWVtb2l6ZWRQcm9wcyx2PWgubWVtb2l6ZWRTdGF0ZSx5PW4uc3RhdGVOb2RlLGI9eS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShuLmVsZW1lbnRUeXBlPT09bi50eXBlP2c6Z2Eobi50eXBlLGcpLHYpO3kuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9Yn1icmVhaztjYXNlIDM6dmFyIGs9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09ay5ub2RlVHlwZT9rLnRleHRDb250ZW50PSIiOjk9PT1rLm5vZGVUeXBlJiZrLmRvY3VtZW50RWxlbWVudCYmay5yZW1vdmVDaGlsZChrLmRvY3VtZW50RWxlbWVudCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihhKDE2MykpfX1jYXRjaChlKXtFcyhuLG4ucmV0dXJuLGUpfWlmKG51bGwhPT0oZT1uLnNpYmxpbmcpKXtlLnJldHVybj1uLnJldHVybixabz1lO2JyZWFrfVpvPW4ucmV0dXJufWg9bmksbmk9ITF9KGUsdCksZ2kodCxlKSxtcihubCksam49ISFlbCxubD1lbD1udWxsLGUuY3VycmVudD10LHlpKHQsZSxsKSxYZSgpLF9pPWksa249byxOaS50cmFuc2l0aW9uPXV9ZWxzZSBlLmN1cnJlbnQ9dDtpZihxaSYmKHFpPSExLEtpPWUsWWk9bCksdT1lLnBlbmRpbmdMYW5lcywwPT09dSYmKCRpPW51bGwpLGZ1bmN0aW9uKGUpe2lmKGFuJiYiZnVuY3Rpb24iPT10eXBlb2YgYW4ub25Db21taXRGaWJlclJvb3QpdHJ5e2FuLm9uQ29tbWl0RmliZXJSb290KGxuLGUsdm9pZCAwLCEoMTI4Jn5lLmN1cnJlbnQuZmxhZ3MpKX1jYXRjaChlKXt9fSh0LnN0YXRlTm9kZSkscnMoZSxHZSgpKSxudWxsIT09bilmb3Iocj1lLm9uUmVjb3ZlcmFibGVFcnJvcix0PTA7dDxuLmxlbmd0aDt0KyspbD1uW3RdLHIobC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bC5zdGFjayxkaWdlc3Q6bC5kaWdlc3R9KTtpZihRaSl0aHJvdyBRaT0hMSxlPWppLGppPW51bGwsZTshISgxJllpKSYmMCE9PWUudGFnJiZTcygpLHU9ZS5wZW5kaW5nTGFuZXMsMSZ1P2U9PT1HaT9YaSsrOihYaT0wLEdpPWUpOlhpPTAsV2woKX0oZSxuLHQscil9ZmluYWxseXtOaS50cmFuc2l0aW9uPWwsa249cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcygpe2lmKG51bGwhPT1LaSl7dmFyIGU9d24oWWkpLG49TmkudHJhbnNpdGlvbix0PWtuO3RyeXtpZihOaS50cmFuc2l0aW9uPW51bGwsa249MTY+ZT8xNjplLG51bGw9PT1LaSl2YXIgcj0hMTtlbHNle2lmKGU9S2ksS2k9bnVsbCxZaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMzEpKTt2YXIgbD1faTtmb3IoX2l8PTQsWm89ZS5jdXJyZW50O251bGwhPT1abzspe3ZhciB1PVpvLG89dS5jaGlsZDtpZigxNiZaby5mbGFncyl7dmFyIGk9dS5kZWxldGlvbnM7aWYobnVsbCE9PWkpe2Zvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2Zvcihabz1jO251bGwhPT1abzspe3ZhciBmPVpvO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp0aSg4LGYsdSl9dmFyIGQ9Zi5jaGlsZDtpZihudWxsIT09ZClkLnJldHVybj1mLFpvPWQ7ZWxzZSBmb3IoO251bGwhPT1abzspe3ZhciBwPShmPVpvKS5zaWJsaW5nLG09Zi5yZXR1cm47aWYoYWkoZiksZj09PWMpe1pvPW51bGw7YnJlYWt9aWYobnVsbCE9PXApe3AucmV0dXJuPW0sWm89cDticmVha31abz1tfX19dmFyIGg9dS5hbHRlcm5hdGU7aWYobnVsbCE9PWgpe3ZhciBnPWguY2hpbGQ7aWYobnVsbCE9PWcpe2guY2hpbGQ9bnVsbDtkb3t2YXIgdj1nLnNpYmxpbmc7Zy5zaWJsaW5nPW51bGwsZz12fXdoaWxlKG51bGwhPT1nKX19Wm89dX19aWYoMjA2NCZ1LnN1YnRyZWVGbGFncyYmbnVsbCE9PW8pby5yZXR1cm49dSwKWm89bztlbHNlIGU6Zm9yKDtudWxsIT09Wm87KXtpZigyMDQ4Jih1PVpvKS5mbGFncylzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dGkoOSx1LHUucmV0dXJuKX12YXIgeT11LnNpYmxpbmc7aWYobnVsbCE9PXkpe3kucmV0dXJuPXUucmV0dXJuLFpvPXk7YnJlYWsgZX1abz11LnJldHVybn19dmFyIGI9ZS5jdXJyZW50O2Zvcihabz1iO251bGwhPT1abzspe3ZhciBrPShvPVpvKS5jaGlsZDtpZigyMDY0Jm8uc3VidHJlZUZsYWdzJiZudWxsIT09aylrLnJldHVybj1vLFpvPWs7ZWxzZSBlOmZvcihvPWI7bnVsbCE9PVpvOyl7aWYoMjA0OCYoaT1abykuZmxhZ3MpdHJ5e3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpyaSg5LGkpfX1jYXRjaChlKXtFcyhpLGkucmV0dXJuLGUpfWlmKGk9PT1vKXtabz1udWxsO2JyZWFrIGV9dmFyIHc9aS5zaWJsaW5nO2lmKG51bGwhPT13KXt3LnJldHVybj1pLnJldHVybixabz13O2JyZWFrIGV9Wm89aS5yZXR1cm59fWlmKF9pPWwsV2woKSxhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7YW4ub25Qb3N0Q29tbWl0RmliZXJSb290KGxuLGUpfWNhdGNoKGUpe31yPSEwfXJldHVybiByfWZpbmFsbHl7a249dCxOaS50cmFuc2l0aW9uPW59fXJldHVybiExfWZ1bmN0aW9uIHhzKGUsbix0KXtlPVJhKGUsbj1tbygwLG49c28odCxuKSwxKSwxKSxuPWVzKCksbnVsbCE9PWUmJih5bihlLDEsbikscnMoZSxuKSl9ZnVuY3Rpb24gRXMoZSxuLHQpe2lmKDM9PT1lLnRhZyl4cyhlLGUsdCk7ZWxzZSBmb3IoO251bGwhPT1uOyl7aWYoMz09PW4udGFnKXt4cyhuLGUsdCk7YnJlYWt9aWYoMT09PW4udGFnKXt2YXIgcj1uLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09JGl8fCEkaS5oYXMocikpKXtuPVJhKG4sZT1obyhuLGU9c28odCxlKSwxKSwxKSxlPWVzKCksbnVsbCE9PW4mJih5bihuLDEsZSkscnMobixlKSk7YnJlYWt9fW49bi5yZXR1cm59fWZ1bmN0aW9uIENzKGUsbix0KXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUobiksbj1lcygpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmdCxQaT09PWUmJihMaSZ0KT09PXQmJig0PT09Uml8fDM9PT1SaSYmKDEzMDAyMzQyNCZMaSk9PT1MaSYmNTAwPkdlKCktQmk/ZHMoZSwwKTpVaXw9dCkscnMoZSxuKX1mdW5jdGlvbiB6cyhlLG4pezA9PT1uJiYoMSZlLm1vZGU/KG49Zm4sISgxMzAwMjM0MjQmKGZuPDw9MSkpJiYoZm49NDE5NDMwNCkpOm49MSk7dmFyIHQ9ZXMoKTtudWxsIT09KGU9UGEoZSxuKSkmJih5bihlLG4sdCkscnMoZSx0KSl9ZnVuY3Rpb24gTnMoZSl7dmFyIG49ZS5tZW1vaXplZFN0YXRlLHQ9MDtudWxsIT09biYmKHQ9bi5yZXRyeUxhbmUpLHpzKGUsdCl9ZnVuY3Rpb24gX3MoZSxuKXt2YXIgdD0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKHQ9bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKG4pLHpzKGUsdCl9ZnVuY3Rpb24gUHMoZSxuKXtyZXR1cm4gcWUoZSxuKX1mdW5jdGlvbiBUcyhlLG4sdCxyKXt0aGlzLnRhZz1lLHRoaXMua2V5PXQsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz1uLHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1yLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBMcyhlLG4sdCxyKXtyZXR1cm4gbmV3IFRzKGUsbix0LHIpfWZ1bmN0aW9uIE1zKGUpe3JldHVybiEoIShlPWUucHJvdG90eXBlKXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gRnMoZSxuKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PXQ/KCh0PUxzKGUudGFnLG4sZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSx0LnR5cGU9ZS50eXBlLHQuc3RhdGVOb2RlPWUuc3RhdGVOb2RlLHQuYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9dCk6KHQucGVuZGluZ1Byb3BzPW4sdC50eXBlPWUudHlwZSx0LmZsYWdzPTAsdC5zdWJ0cmVlRmxhZ3M9MCx0LmRlbGV0aW9ucz1udWxsKSx0LmZsYWdzPTE0NjgwMDY0JmUuZmxhZ3MsdC5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyx0LmxhbmVzPWUubGFuZXMsdC5jaGlsZD1lLmNoaWxkLHQubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsdC5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSx0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbj1lLmRlcGVuZGVuY2llcyx0LmRlcGVuZGVuY2llcz1udWxsPT09bj9udWxsOntsYW5lczpuLmxhbmVzLGZpcnN0Q29udGV4dDpuLmZpcnN0Q29udGV4dH0sdC5zaWJsaW5nPWUuc2libGluZyx0LmluZGV4PWUuaW5kZXgsdC5yZWY9ZS5yZWYsdH1mdW5jdGlvbiBScyhlLG4sdCxyLGwsdSl7dmFyIG89MjtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpTXMoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89NTtlbHNlIGU6c3dpdGNoKGUpe2Nhc2UgeDpyZXR1cm4gRHModC5jaGlsZHJlbixsLHUsbik7Y2FzZSBFOm89OCxsfD04O2JyZWFrO2Nhc2UgQzpyZXR1cm4oZT1McygxMix0LG4sMnxsKSkuZWxlbWVudFR5cGU9QyxlLmxhbmVzPXUsZTtjYXNlIFA6cmV0dXJuKGU9THMoMTMsdCxuLGwpKS5lbGVtZW50VHlwZT1QLGUubGFuZXM9dSxlO2Nhc2UgVDoKcmV0dXJuKGU9THMoMTksdCxuLGwpKS5lbGVtZW50VHlwZT1ULGUubGFuZXM9dSxlO2Nhc2UgRjpyZXR1cm4gSXModCxsLHUsbik7ZGVmYXVsdDppZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHo6bz0xMDticmVhayBlO2Nhc2UgTjpvPTk7YnJlYWsgZTtjYXNlIF86bz0xMTticmVhayBlO2Nhc2UgTDpvPTE0O2JyZWFrIGU7Y2FzZSBNOm89MTYscj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoYSgxMzAsbnVsbD09ZT9lOnR5cGVvZiBlLCIiKSl9cmV0dXJuKG49THMobyx0LG4sbCkpLmVsZW1lbnRUeXBlPWUsbi50eXBlPXIsbi5sYW5lcz11LG59ZnVuY3Rpb24gRHMoZSxuLHQscil7cmV0dXJuKGU9THMoNyxlLHIsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBJcyhlLG4sdCxyKXtyZXR1cm4oZT1McygyMixlLHIsbikpLmVsZW1lbnRUeXBlPUYsZS5sYW5lcz10LGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBPcyhlLG4sdCl7cmV0dXJuKGU9THMoNixlLG51bGwsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBVcyhlLG4sdCl7cmV0dXJuKG49THMoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LG4pKS5sYW5lcz10LG4uc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSxufWZ1bmN0aW9uIFZzKGUsbix0LHIsbCl7dGhpcy50YWc9bix0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLmZpbmlzaGVkV29yaz10aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV2ZW50VGltZXM9dm4oMCksdGhpcy5leHBpcmF0aW9uVGltZXM9dm4oLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5maW5pc2hlZExhbmVzPXRoaXMubXV0YWJsZVJlYWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9dm4oMCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9bCx0aGlzLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9bnVsbH1mdW5jdGlvbiBBcyhlLG4sdCxyLGwsYSx1LG8saSl7cmV0dXJuIGU9bmV3IFZzKGUsbix0LG8saSksMT09PW4/KG49MSwhMD09PWEmJihufD04KSk6bj0wLGE9THMoMyxudWxsLG51bGwsbiksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6dCxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSxMYShhKSxlfWZ1bmN0aW9uIEJzKGUpe2lmKCFlKXJldHVybiBObDtlOntpZihXZShlPWUuX3JlYWN0SW50ZXJuYWxzKSE9PWV8fDEhPT1lLnRhZyl0aHJvdyBFcnJvcihhKDE3MCkpO3ZhciBuPWU7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6bj1uLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIGU7Y2FzZSAxOmlmKE1sKG4udHlwZSkpe249bi5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgZX19bj1uLnJldHVybn13aGlsZShudWxsIT09bik7dGhyb3cgRXJyb3IoYSgxNzEpKX1pZigxPT09ZS50YWcpe3ZhciB0PWUudHlwZTtpZihNbCh0KSlyZXR1cm4gRGwoZSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIFdzKGUsbix0LHIsbCxhLHUsbyxpKXtyZXR1cm4oZT1Bcyh0LHIsITAsZSwwLGEsMCxvLGkpKS5jb250ZXh0PUJzKG51bGwpLHQ9ZS5jdXJyZW50LChhPUZhKHI9ZXMoKSxsPW5zKHQpKSkuY2FsbGJhY2s9bnVsbCE9bj9uOm51bGwsUmEodCxhLGwpLGUuY3VycmVudC5sYW5lcz1sLHluKGUsbCxyKSxycyhlLHIpLGV9ZnVuY3Rpb24gSHMoZSxuLHQscil7dmFyIGw9bi5jdXJyZW50LGE9ZXMoKSx1PW5zKGwpO3JldHVybiB0PUJzKHQpLG51bGw9PT1uLmNvbnRleHQ/bi5jb250ZXh0PXQ6bi5wZW5kaW5nQ29udGV4dD10LChuPUZhKGEsdSkpLnBheWxvYWQ9e2VsZW1lbnQ6ZX0sbnVsbCE9PShyPXZvaWQgMD09PXI/bnVsbDpyKSYmKG4uY2FsbGJhY2s9ciksbnVsbCE9PShlPVJhKGwsbix1KSkmJih0cyhlLGwsdSxhKSxEYShlLGwsdSkpLHV9ZnVuY3Rpb24gUXMoZSl7cmV0dXJuKGU9ZS5jdXJyZW50KS5jaGlsZD8oZS5jaGlsZC50YWcsZS5jaGlsZC5zdGF0ZU5vZGUpOm51bGx9ZnVuY3Rpb24ganMoZSxuKXtpZihudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7dmFyIHQ9ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9MCE9PXQmJnQ8bj90Om59fWZ1bmN0aW9uICRzKGUsbil7anMoZSxuKSwoZT1lLmFsdGVybmF0ZSkmJmpzKGUsbil9eGk9ZnVuY3Rpb24oZSxuLHQpe2lmKG51bGwhPT1lKWlmKGUubWVtb2l6ZWRQcm9wcyE9PW4ucGVuZGluZ1Byb3BzfHxQbC5jdXJyZW50KWtvPSEwO2Vsc2V7aWYoIShlLmxhbmVzJnR8fDEyOCZuLmZsYWdzKSlyZXR1cm4ga289ITEsZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuLnRhZyl7Y2FzZSAzOlRvKG4pLHBhKCk7YnJlYWs7Y2FzZSA1OmF1KG4pO2JyZWFrO2Nhc2UgMTpNbChuLnR5cGUpJiZJbChuKTticmVhaztjYXNlIDQ6cnUobixuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPW4udHlwZS5fY29udGV4dCxsPW4ubWVtb2l6ZWRQcm9wcy52YWx1ZTt6bCh2YSxyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT1sO2JyZWFrO2Nhc2UgMTM6aWYobnVsbCE9PShyPW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuIG51bGwhPT1yLmRlaHlkcmF0ZWQ/KHpsKG91LDEmb3UuY3VycmVudCksbi5mbGFnc3w9MTI4LG51bGwpOnQmbi5jaGlsZC5jaGlsZExhbmVzP09vKGUsbix0KTooemwob3UsMSZvdS5jdXJyZW50KSwKbnVsbCE9PShlPVFvKGUsbix0KSk/ZS5zaWJsaW5nOm51bGwpO3psKG91LDEmb3UuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihyPSEhKHQmbi5jaGlsZExhbmVzKSwxMjgmZS5mbGFncyl7aWYocilyZXR1cm4gV28oZSxuLHQpO24uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9bi5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLHpsKG91LG91LmN1cnJlbnQpLHIpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBuLmxhbmVzPTAsQ28oZSxuLHQpfXJldHVybiBRbyhlLG4sdCl9KGUsbix0KTtrbz0hISgxMzEwNzImZS5mbGFncyl9ZWxzZSBrbz0hMSxsYSYmMTA0ODU3NiZuLmZsYWdzJiZKbChuLCRsLG4uaW5kZXgpO3N3aXRjaChuLmxhbmVzPTAsbi50YWcpe2Nhc2UgMjp2YXIgcj1uLnR5cGU7SG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzO3ZhciBsPUxsKG4sX2wuY3VycmVudCk7RWEobix0KSxsPXh1KG51bGwsbixyLGUsbCx0KTt2YXIgdT1FdSgpO3JldHVybiBuLmZsYWdzfD0xLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlbmRlciYmdm9pZCAwPT09bC4kJHR5cGVvZj8obi50YWc9MSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsTWwocik/KHU9ITAsSWwobikpOnU9ITEsbi5tZW1vaXplZFN0YXRlPW51bGwhPT1sLnN0YXRlJiZ2b2lkIDAhPT1sLnN0YXRlP2wuc3RhdGU6bnVsbCxMYShuKSxsLnVwZGF0ZXI9QmEsbi5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz1uLGphKG4scixlLHQpLG49UG8obnVsbCxuLHIsITAsdSx0KSk6KG4udGFnPTAsbGEmJnUmJmVhKG4pLHdvKG51bGwsbixsLHQpLG49bi5jaGlsZCksbjtjYXNlIDE2OnI9bi5lbGVtZW50VHlwZTtlOntzd2l0Y2goSG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzLHI9KGw9ci5faW5pdCkoci5fcGF5bG9hZCksbi50eXBlPXIsbD1uLnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gTXMoZSk/MTowO2lmKG51bGwhPWUpe2lmKChlPWUuJCR0eXBlb2YpPT09XylyZXR1cm4gMTE7aWYoZT09PUwpcmV0dXJuIDE0fXJldHVybiAyfShyKSxlPWdhKHIsZSksbCl7Y2FzZSAwOm49Tm8obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTpuPV9vKG51bGwsbixyLGUsdCk7YnJlYWsgZTtjYXNlIDExOm49U28obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTQ6bj14byhudWxsLG4scixnYShyLnR5cGUsZSksdCk7YnJlYWsgZX10aHJvdyBFcnJvcihhKDMwNixyLCIiKSl9cmV0dXJuIG47Y2FzZSAwOnJldHVybiByPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLE5vKGUsbixyLGw9bi5lbGVtZW50VHlwZT09PXI/bDpnYShyLGwpLHQpO2Nhc2UgMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxfbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDM6ZTp7aWYoVG8obiksbnVsbD09PWUpdGhyb3cgRXJyb3IoYSgzODcpKTtyPW4ucGVuZGluZ1Byb3BzLGw9KHU9bi5tZW1vaXplZFN0YXRlKS5lbGVtZW50LE1hKGUsbiksT2EobixyLG51bGwsdCk7dmFyIG89bi5tZW1vaXplZFN0YXRlO2lmKHI9by5lbGVtZW50LHUuaXNEZWh5ZHJhdGVkKXtpZih1PXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpvLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6by50cmFuc2l0aW9uc30sbi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSxuLm1lbW9pemVkU3RhdGU9dSwyNTYmbi5mbGFncyl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjMpKSxuKSk7YnJlYWsgZX1pZihyIT09bCl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjQpKSxuKSk7YnJlYWsgZX1mb3IocmE9c2wobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSx0YT1uLGxhPSEwLGFhPW51bGwsdD1HYShuLG51bGwscix0KSxuLmNoaWxkPXQ7dDspdC5mbGFncz0tMyZ0LmZsYWdzfDQwOTYsdD10LnNpYmxpbmd9ZWxzZXtpZihwYSgpLHI9PT1sKXtuPVFvKGUsbix0KTticmVhayBlfXdvKGUsbixyLHQpfW49bi5jaGlsZH1yZXR1cm4gbjtjYXNlIDU6cmV0dXJuIGF1KG4pLG51bGw9PT1lJiZzYShuKSxyPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLHU9bnVsbCE9PWU/ZS5tZW1vaXplZFByb3BzOm51bGwsbz1sLmNoaWxkcmVuLHRsKHIsbCk/bz1udWxsOm51bGwhPT11JiZ0bChyLHUpJiYobi5mbGFnc3w9MzIpLHpvKGUsbiksd28oZSxuLG8sdCksbi5jaGlsZDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZzYShuKSxudWxsO2Nhc2UgMTM6cmV0dXJuIE9vKGUsbix0KTtjYXNlIDQ6cmV0dXJuIHJ1KG4sbi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscj1uLnBlbmRpbmdQcm9wcyxudWxsPT09ZT9uLmNoaWxkPVhhKG4sbnVsbCxyLHQpOndvKGUsbixyLHQpLG4uY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxTbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDc6cmV0dXJuIHdvKGUsbixuLnBlbmRpbmdQcm9wcyx0KSxuLmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdCksbi5jaGlsZDtjYXNlIDEwOmU6e2lmKHI9bi50eXBlLl9jb250ZXh0LGw9bi5wZW5kaW5nUHJvcHMsdT1uLm1lbW9pemVkUHJvcHMsbz1sLnZhbHVlLHpsKHZhLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPW8sbnVsbCE9PXUpaWYob3IodS52YWx1ZSxvKSl7aWYodS5jaGlsZHJlbj09PWwuY2hpbGRyZW4mJiFQbC5jdXJyZW50KXtuPVFvKGUsbix0KTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9bi5jaGlsZCkmJih1LnJldHVybj1uKTtudWxsIT09dTspe3ZhciBpPXUuZGVwZW5kZW5jaWVzO2lmKG51bGwhPT1pKXtvPXUuY2hpbGQ7Zm9yKHZhciBzPWkuZmlyc3RDb250ZXh0O251bGwhPT1zOyl7aWYocy5jb250ZXh0PT09cil7CmlmKDE9PT11LnRhZyl7KHM9RmEoLTEsdCYtdCkpLnRhZz0yO3ZhciBjPXUudXBkYXRlUXVldWU7aWYobnVsbCE9PWMpe3ZhciBmPShjPWMuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1mP3MubmV4dD1zOihzLm5leHQ9Zi5uZXh0LGYubmV4dD1zKSxjLnBlbmRpbmc9c319dS5sYW5lc3w9dCxudWxsIT09KHM9dS5hbHRlcm5hdGUpJiYocy5sYW5lc3w9dCkseGEodS5yZXR1cm4sdCxuKSxpLmxhbmVzfD10O2JyZWFrfXM9cy5uZXh0fX1lbHNlIGlmKDEwPT09dS50YWcpbz11LnR5cGU9PT1uLnR5cGU/bnVsbDp1LmNoaWxkO2Vsc2UgaWYoMTg9PT11LnRhZyl7aWYobnVsbD09PShvPXUucmV0dXJuKSl0aHJvdyBFcnJvcihhKDM0MSkpO28ubGFuZXN8PXQsbnVsbCE9PShpPW8uYWx0ZXJuYXRlKSYmKGkubGFuZXN8PXQpLHhhKG8sdCxuKSxvPXUuc2libGluZ31lbHNlIG89dS5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj11O2Vsc2UgZm9yKG89dTtudWxsIT09bzspe2lmKG89PT1uKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PSh1PW8uc2libGluZykpe3UucmV0dXJuPW8ucmV0dXJuLG89dTticmVha31vPW8ucmV0dXJufXU9b313byhlLG4sbC5jaGlsZHJlbix0KSxuPW4uY2hpbGR9cmV0dXJuIG47Y2FzZSA5OnJldHVybiBsPW4udHlwZSxyPW4ucGVuZGluZ1Byb3BzLmNoaWxkcmVuLEVhKG4sdCkscj1yKGw9Q2EobCkpLG4uZmxhZ3N8PTEsd28oZSxuLHIsdCksbi5jaGlsZDtjYXNlIDE0OnJldHVybiBsPWdhKHI9bi50eXBlLG4ucGVuZGluZ1Byb3BzKSx4byhlLG4scixsPWdhKHIudHlwZSxsKSx0KTtjYXNlIDE1OnJldHVybiBFbyhlLG4sbi50eXBlLG4ucGVuZGluZ1Byb3BzLHQpO2Nhc2UgMTc6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmdhKHIsbCksSG8oZSxuKSxuLnRhZz0xLE1sKHIpPyhlPSEwLElsKG4pKTplPSExLEVhKG4sdCksSGEobixyLGwpLGphKG4scixsLHQpLFBvKG51bGwsbixyLCEwLGUsdCk7Y2FzZSAxOTpyZXR1cm4gV28oZSxuLHQpO2Nhc2UgMjI6cmV0dXJuIENvKGUsbix0KX10aHJvdyBFcnJvcihhKDE1NixuLnRhZykpfTt2YXIgcXM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIEtzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFlzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFhzKGUpe3JldHVybiEoIWV8fDEhPT1lLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlKX1mdW5jdGlvbiBHcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSYmKDghPT1lLm5vZGVUeXBlfHwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICIhPT1lLm5vZGVWYWx1ZSkpfWZ1bmN0aW9uIFpzKCl7fWZ1bmN0aW9uIEpzKGUsbix0LHIsbCl7dmFyIGE9dC5fcmVhY3RSb290Q29udGFpbmVyO2lmKGEpe3ZhciB1PWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBvPWw7bD1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO28uY2FsbChlKX19SHMobix1LGUsbCl9ZWxzZSB1PWZ1bmN0aW9uKGUsbix0LHIsbCl7aWYobCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBhPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO2EuY2FsbChlKX19dmFyIHU9V3MobixyLGUsMCxudWxsLCExLDAsIiIsWnMpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9dSxlW21sXT11LmN1cnJlbnQsV3IoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLGNzKCksdX1mb3IoO2w9ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKGkpO28uY2FsbChlKX19dmFyIGk9QXMoZSwwLCExLG51bGwsMCwhMSwwLCIiLFpzKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPWksZVttbF09aS5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxjcygoZnVuY3Rpb24oKXtIcyhuLGksdCxyKX0pKSxpfSh0LG4sZSxsLHIpO3JldHVybiBRcyh1KX1Zcy5wcm90b3R5cGUucmVuZGVyPUtzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1uKXRocm93IEVycm9yKGEoNDA5KSk7SHMoZSxuLG51bGwsbnVsbCl9LFlzLnByb3RvdHlwZS51bm1vdW50PUtzLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgbj1lLmNvbnRhaW5lckluZm87Y3MoKGZ1bmN0aW9uKCl7SHMobnVsbCxlLG51bGwsbnVsbCl9KSksblttbF09bnVsbH19LFlzLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgbj1DbigpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5Om59O2Zvcih2YXIgdD0wO3Q8Um4ubGVuZ3RoJiYwIT09biYmbjxSblt0XS5wcmlvcml0eTt0KyspO1JuLnNwbGljZSh0LDAsZSksMD09PXQmJlVuKGUpfX0sU249ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDM6dmFyIG49ZS5zdGF0ZU5vZGU7aWYobi5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgdD1kbihuLnBlbmRpbmdMYW5lcyk7MCE9PXQmJihibihuLDF8dCkscnMobixHZSgpKSwhKDYmX2kpJiYoV2k9R2UoKSs1MDAsV2woKSkpfWJyZWFrO2Nhc2UgMTM6Y3MoKGZ1bmN0aW9uKCl7dmFyIG49UGEoZSwxKTtpZihudWxsIT09bil7dmFyIHQ9ZXMoKTt0cyhuLGUsMSx0KX19KSksJHMoZSwxKX19LHhuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPVBhKGUsMTM0MjE3NzI4KTtpZihudWxsIT09bil0cyhuLGUsMTM0MjE3NzI4LGVzKCkpOyRzKGUsMTM0MjE3NzI4KX19LEVuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPW5zKGUpLHQ9UGEoZSxuKQo7aWYobnVsbCE9PXQpdHModCxlLG4sZXMoKSk7JHMoZSxuKX19LENuPWZ1bmN0aW9uKCl7cmV0dXJuIGtufSx6bj1mdW5jdGlvbihlLG4pe3ZhciB0PWtuO3RyeXtyZXR1cm4ga249ZSxuKCl9ZmluYWxseXtrbj10fX0sU2U9ZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuKXtjYXNlImlucHV0IjppZihaKGUsdCksbj10Lm5hbWUsInJhZGlvIj09PXQudHlwZSYmbnVsbCE9bil7Zm9yKHQ9ZTt0LnBhcmVudE5vZGU7KXQ9dC5wYXJlbnROb2RlO2Zvcih0PXQucXVlcnlTZWxlY3RvckFsbCgiaW5wdXRbbmFtZT0iK0pTT04uc3RyaW5naWZ5KCIiK24pKyddW3R5cGU9InJhZGlvIl0nKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9d2wocik7aWYoIWwpdGhyb3cgRXJyb3IoYSg5MCkpO3EociksWihyLGwpfX19YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YWUoZSx0KTticmVhaztjYXNlInNlbGVjdCI6bnVsbCE9KG49dC52YWx1ZSkmJnRlKGUsISF0Lm11bHRpcGxlLG4sITEpfX0sX2U9c3MsUGU9Y3M7dmFyIGVjPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltibCxrbCx3bCx6ZSxOZSxzc119LG5jPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTp5bCxidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTguMi4wIixyZW5kZXJlclBhY2thZ2VOYW1lOiJyZWFjdC1kb20ifSx0Yz17YnVuZGxlVHlwZTpuYy5idW5kbGVUeXBlLHZlcnNpb246bmMudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOm5jLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6bmMucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9amUoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOm5jLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlfHxmdW5jdGlvbigpe3JldHVybiBudWxsfSxmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6bnVsbCxzY2hlZHVsZVJlZnJlc2g6bnVsbCxzY2hlZHVsZVJvb3Q6bnVsbCxzZXRSZWZyZXNoSGFuZGxlcjpudWxsLGdldEN1cnJlbnRGaWJlcjpudWxsLHJlY29uY2lsZXJWZXJzaW9uOiIxOC4yLjAtbmV4dC05ZTNiNzcyYjgtMjAyMjA2MDgifTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIHJjPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighcmMuaXNEaXNhYmxlZCYmcmMuc3VwcG9ydHNGaWJlcil0cnl7bG49cmMuaW5qZWN0KHRjKSxhbj1yY31jYXRjaChjZSl7fX1uLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPWVjLG4uY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsbil7dmFyIHQ9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7aWYoIVhzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6UyxrZXk6bnVsbD09cj9udWxsOiIiK3IsY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOm4saW1wbGVtZW50YXRpb246dH19KGUsbixudWxsLHQpfSxuLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24oZSxuKXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSgyOTkpKTt2YXIgdD0hMSxyPSIiLGw9cXM7cmV0dXJuIG51bGwhPW4mJighMD09PW4udW5zdGFibGVfc3RyaWN0TW9kZSYmKHQ9ITApLHZvaWQgMCE9PW4uaWRlbnRpZmllclByZWZpeCYmKHI9bi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1uLm9uUmVjb3ZlcmFibGVFcnJvciYmKGw9bi5vblJlY292ZXJhYmxlRXJyb3IpKSxuPUFzKGUsMSwhMSxudWxsLDAsdCwwLHIsbCksZVttbF09bi5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxuZXcgS3Mobil9LG4uZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgbj1lLl9yZWFjdEludGVybmFscztpZih2b2lkIDA9PT1uKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZW5kZXIpdGhyb3cgRXJyb3IoYSgxODgpKTt0aHJvdyBlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcihhKDI2OCxlKSl9cmV0dXJuIGU9bnVsbD09PShlPWplKG4pKT9udWxsOmUuc3RhdGVOb2RlfSxuLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gY3MoZSl9LG4uaHlkcmF0ZT1mdW5jdGlvbihlLG4sdCl7aWYoIUdzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIEpzKG51bGwsZSxuLCEwLHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsbix0KXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSg0MDUpKTt2YXIgcj1udWxsIT10JiZ0Lmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLHU9IiIsbz1xcztpZihudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJih1PXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJihvPXQub25SZWNvdmVyYWJsZUVycm9yKSksbj1XcyhuLG51bGwsZSwxLG51bGwhPXQ/dDpudWxsLGwsMCx1LG8pLGVbbWxdPW4uY3VycmVudCxXcihlKSxyKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspbD0obD0odD1yW2VdKS5fZ2V0VmVyc2lvbikodC5fc291cmNlKSwKbnVsbD09bi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP24ubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bdCxsXTpuLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaCh0LGwpO3JldHVybiBuZXcgWXMobil9LG4ucmVuZGVyPWZ1bmN0aW9uKGUsbix0KXtpZighR3MobikpdGhyb3cgRXJyb3IoYSgyMDApKTtyZXR1cm4gSnMobnVsbCxlLG4sITEsdCl9LG4udW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighR3MoZSkpdGhyb3cgRXJyb3IoYSg0MCkpO3JldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYoY3MoKGZ1bmN0aW9uKCl7SnMobnVsbCxudWxsLGUsITEsKGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVttbF09bnVsbH0pKX0pKSwhMCl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9c3Msbi51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLG4sdCxyKXtpZighR3ModCkpdGhyb3cgRXJyb3IoYSgyMDApKTtpZihudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihhKDM4KSk7cmV0dXJuIEpzKGUsbix0LCExLHIpfSxuLnZlcnNpb249IjE4LjIuMC1uZXh0LTllM2I3NzJiOC0yMDIyMDYwOCJ9LDUwODIwNyhlLG4pe2Z1bmN0aW9uIHQoZSxuKXt2YXIgdD1lLmxlbmd0aDtlLnB1c2gobik7ZTpmb3IoOzA8dDspe3ZhciByPXQtMT4+PjEsbD1lW3JdO2lmKCEoMDxhKGwsbikpKWJyZWFrIGU7ZVtyXT1uLGVbdF09bCx0PXJ9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOmVbMF19ZnVuY3Rpb24gbChlKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIG49ZVswXSx0PWUucG9wKCk7aWYodCE9PW4pe2VbMF09dDtlOmZvcih2YXIgcj0wLGw9ZS5sZW5ndGgsdT1sPj4+MTtyPHU7KXt2YXIgbz0yKihyKzEpLTEsaT1lW29dLHM9bysxLGM9ZVtzXTtpZigwPmEoaSx0KSlzPGwmJjA+YShjLGkpPyhlW3JdPWMsZVtzXT10LHI9cyk6KGVbcl09aSxlW29dPXQscj1vKTtlbHNle2lmKCEoczxsJiYwPmEoYyx0KSkpYnJlYWsgZTtlW3JdPWMsZVtzXT10LHI9c319fXJldHVybiBufWZ1bmN0aW9uIGEoZSxuKXt2YXIgdD1lLnNvcnRJbmRleC1uLnNvcnRJbmRleDtyZXR1cm4gMCE9PXQ/dDplLmlkLW4uaWR9aWYoIm9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIHU9cGVyZm9ybWFuY2U7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ub3coKX19ZWxzZXt2YXIgbz1EYXRlLGk9by5ub3coKTtuLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBvLm5vdygpLWl9fXZhciBzPVtdLGM9W10sZj0xLGQ9bnVsbCxwPTMsbT0hMSxoPSExLGc9ITEsdj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwseT0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLGI9InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gayhlKXtmb3IodmFyIG49cihjKTtudWxsIT09bjspe2lmKG51bGw9PT1uLmNhbGxiYWNrKWwoYyk7ZWxzZXtpZighKG4uc3RhcnRUaW1lPD1lKSlicmVhaztsKGMpLG4uc29ydEluZGV4PW4uZXhwaXJhdGlvblRpbWUsdChzLG4pfW49cihjKX19ZnVuY3Rpb24gdyhlKXtpZihnPSExLGsoZSksIWgpaWYobnVsbCE9PXIocykpaD0hMCxGKFMpO2Vsc2V7dmFyIG49cihjKTtudWxsIT09biYmUih3LG4uc3RhcnRUaW1lLWUpfX1mdW5jdGlvbiBTKGUsdCl7aD0hMSxnJiYoZz0hMSx5KHopLHo9LTEpLG09ITA7dmFyIGE9cDt0cnl7Zm9yKGsodCksZD1yKHMpO251bGwhPT1kJiYoIShkLmV4cGlyYXRpb25UaW1lPnQpfHxlJiYhUCgpKTspe3ZhciB1PWQuY2FsbGJhY2s7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpe2QuY2FsbGJhY2s9bnVsbCxwPWQucHJpb3JpdHlMZXZlbDt2YXIgbz11KGQuZXhwaXJhdGlvblRpbWU8PXQpO3Q9bi51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2Ygbz9kLmNhbGxiYWNrPW86ZD09PXIocykmJmwocyksayh0KX1lbHNlIGwocyk7ZD1yKHMpfWlmKG51bGwhPT1kKXZhciBpPSEwO2Vsc2V7dmFyIGY9cihjKTtudWxsIT09ZiYmUih3LGYuc3RhcnRUaW1lLXQpLGk9ITF9cmV0dXJuIGl9ZmluYWxseXtkPW51bGwscD1hLG09ITF9fSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZyYmdm9pZCAwIT09bmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO3ZhciB4LEU9ITEsQz1udWxsLHo9LTEsTj01LF89LTE7ZnVuY3Rpb24gUCgpe3JldHVybiEobi51bnN0YWJsZV9ub3coKS1fPE4pfWZ1bmN0aW9uIFQoKXtpZihudWxsIT09Qyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtfPWU7dmFyIHQ9ITA7dHJ5e3Q9QyghMCxlKX1maW5hbGx5e3Q/eCgpOihFPSExLEM9bnVsbCl9fWVsc2UgRT0hMX1pZigiZnVuY3Rpb24iPT10eXBlb2YgYil4PWZ1bmN0aW9uKCl7YihUKX07ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsKXt2YXIgTD1uZXcgTWVzc2FnZUNoYW5uZWwsTT1MLnBvcnQyO0wucG9ydDEub25tZXNzYWdlPVQseD1mdW5jdGlvbigpe00ucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgeD1mdW5jdGlvbigpe3YoVCwwKX07ZnVuY3Rpb24gRihlKXtDPWUsRXx8KEU9ITAseCgpKX1mdW5jdGlvbiBSKGUsdCl7ej12KChmdW5jdGlvbigpe2Uobi51bnN0YWJsZV9ub3coKSl9KSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLApuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2h8fG18fChoPSEwLEYoUykpfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBwfSxuLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHIocyl9LG4udW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gocCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIG49MzticmVhaztkZWZhdWx0Om49cH12YXIgdD1wO3A9bjt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3A9dH19LG4udW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LG4udW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciB0PXA7cD1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7cD10fX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbCxhKXt2YXIgdT1uLnVuc3RhYmxlX25vdygpO3N3aXRjaCgib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2E9Im51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/dSthOnU6YT11LGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gZT17aWQ6ZisrLGNhbGxiYWNrOmwscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOm89YStvLHNvcnRJbmRleDotMX0sYT51PyhlLnNvcnRJbmRleD1hLHQoYyxlKSxudWxsPT09cihzKSYmZT09PXIoYykmJihnPyh5KHopLHo9LTEpOmc9ITAsUih3LGEtdSkpKTooZS5zb3J0SW5kZXg9byx0KHMsZSksaHx8bXx8KGg9ITAsRihTKSkpLGV9LG4udW5zdGFibGVfc2hvdWxkWWllbGQ9UCxuLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgbj1wO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXA7cD1uO3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtwPXR9fX19LDE4MjYxNChlLG4sdCl7ZS5leHBvcnRzPXQoNTA4MjA3KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9504.90377f7d5946cf3254f0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.842Z","timestamp":1785136901842,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9504.90377f7d5946cf3254f0.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1365\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1abe35b63c2490904270196a1015e4a0\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":4965,"size_decoded":1585,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4965), with no line terminators","md5":"a7c93739d7d8d58ba0894f0a27b2c682","sha1":"b48b0a418f53c6dbb761db96de6488ae85eb133e","sha256":"a965093d2af77ac0200f0ea479b8a52ee4ea68bca04e3e665e8de17120e5a57e","sha512":"14f6b7249ddd5e1f7132a9c9935bf3e702cc8735c81cfd3e2574cb38224ea2d416a7a876fc0472376db26d154f4909a69d75432d4073ad220212a6186da08d13","ssdeep":"48:wfElnMoEhjO3VOgXmhFhR60XBWjzfDnCzhHkvhtflWkvhtcnSnisnSnigtSnSnij:hi776O9lr8D8/t88YY8/K5ncbs6v2U","tlshash":"eca15b43b5c4ac747e42a6dc73fc62dcb2d1ac71ed0205d2d631ad628ccabf72091aa5","first_seen":"2026-07-16T13:40:49.666975Z","last_seen":"2026-08-10T05:01:44.156643Z","times_seen":473,"resource_available":false,"data":"Lnh4eHNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjB9Lnh4c21hbGwtQWZkNnQ0Wmp7LS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemU6MX0ueHNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjJ9LnNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjN9Lm1lZGl1bS1BZmQ2dDRaanstLXVpLWxpYi1wcml2YXRlLWNvdW50ZXItc2l6ZTo0fS5sYXJnZS1BZmQ2dDRaanstLXVpLWxpYi1wcml2YXRlLWNvdW50ZXItc2l6ZTo1fS54bGFyZ2UtQWZkNnQ0Wmp7LS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemU6Nn0uY291bnRlci1BZmQ2dDRaanthbGlnbi1pdGVtczpjZW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjpib3R0b207LS11aS1saWItc2l6ZS1kZWY6dmFyKC0tdWktbGliLWluLWNvdW50ZXItc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemUsNCkpOy0tdWktbGliLXNpemUtZGVmLXh4eHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDApICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAwKSkpOy0tdWktbGliLXNpemUtZGVmLXh4c21hbGw6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDEpKSk7LS11aS1saWItc2l6ZS1kZWYteHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDIpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSkpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTstLXVpLWxpYi1zaXplLWRlZi1sYXJnZTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA1KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkpKTstLXVpLWxpYi1zaXplLWRlZi14bGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNikgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpKSk7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjdweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqOXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoxMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMTJweCk7Zm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxNHB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjUwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo1MDApO2hlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjEwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjI0cHgpO2xpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxOHB4KTttaW4td2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSoxMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozLjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo3LjVweCk7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqM3B4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjMuNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjcuNXB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSozcHgpfS5jb2xvci1kYW5nZXItQWZkNnQ0Wmp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyKX0uY29sb3ItYWNjZW50LUFmZDZ0NFpqe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY291bnRlci1maWxsLWFjY2VudCk7Y29sb3I6dmFyKC0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudCl9LmNvbG9yLWFjY2VudC1saWdodC1BZmQ2dDRaantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQpO2NvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItY29udGVudC1hY2NlbnQtbGlnaHQpfS5jb2xvci1uZXV0cmFsLWJvbGQtQWZkNnQ0Wmp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbC1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtbmV1dHJhbC1ib2xkKX0uY29sb3ItbmV1dHJhbC1BZmQ2dDRaantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtbmV1dHJhbCl9LmJvcmRlckNvbG9yLXByaW1hcnktQWZkNnQ0Wmp7LS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1wcmltYXJ5OnNvbGlkIDJweCB2YXIoLS1jb2xvci1jb3VudGVyLWJvcmRlci1wcmltYXJ5KTtvdXRsaW5lOnZhcigtLXVpLWxpYi1jb3VudGVyLWJvcmRlci1vdXRsaW5lLXByaW1hcnkpfS5ib3JkZXJDb2xvci1zZWNvbmRhcnktQWZkNnQ0Wmp7LS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1zZWNvbmRhcnk6c29saWQgMnB4IHZhcigtLWNvbG9yLWNvdW50ZXItYm9yZGVyLXNlY29uZGFyeSk7b3V0bGluZTp2YXIoLS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1zZWNvbmRhcnkpfS5ib3JkZXJDb2xvci10ZXJ0aWFyeS1BZmQ2dDRaanstLXVpLWxpYi1jb3VudGVyLWJvcmRlci1vdXRsaW5lLXRlcnRpYXJ5OnNvbGlkIDJweCB2YXIoLS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeSk7b3V0bGluZTp2YXIoLS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS10ZXJ0aWFyeSl9LmRpc2FibGVkLUFmZDZ0NFpqe29wYWNpdHk6LjV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/loading.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:42.037Z","timestamp":1785136902037,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /translate_static/img/loading.gif HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: 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://huobiget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCIRYS.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.593Z","timestamp":1785136905593,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCIRYS.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30200.71da076fb0197e4d5953.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.317Z","timestamp":1785136900317,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30200.71da076fb0197e4d5953.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: c7a961bc63571eab590c6492a139f9d3\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":86,"size_decoded":870,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b02278d29b4e6fb9286fa4e3d93d2ce5","sha1":"0e3940c360032f59c0eb14248728f6b6d0c99cae","sha256":"6373ee883ff860f1955a9c73438e96ed35056eacf0fadb1c6ae58a57e31a5e34","sha512":"cf3ba4d72f48389a359a141bea634d0369e9ba9b4e796f108b6c71cd23e57123b60f7b390b1edba4debfc2e84ebd9bc8cefa9ab0ef5f5d70274f73ef0be4ac8c","ssdeep":"","tlshash":"ada012d2b4410450000501481120733bcab721c426940d0804c0bf2203464a19c78150","first_seen":"2026-01-13T13:30:16.848169Z","last_seen":"2026-08-10T05:01:44.287289Z","times_seen":2306,"resource_available":false,"data":"LmpzLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5qcy1uby1wb2ludGVyLWV2ZW50c3twb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"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/44911.fa61d2a274d4224434ca.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.345Z","timestamp":1785136900345,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44911.fa61d2a274d4224434ca.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 92c52a5dbdac3fa885cb0f6b0308f7f7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":21512,"size_decoded":7898,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"05e4055151a861bff8e38a76d25fa21b","sha1":"9f8bab99df4104fde7e4ce7e47379db991ae53a9","sha256":"1b602280ac3b82058c7577fff06841ffe0b4fb035b22d4aa046119a37ba46376","sha512":"003001c6510b718a9e57af8daa9fcf322e0f91dc14aa8c1397abe4328d8dcc7c27ac342595f1acc141b47b471420a8e8bd64536cbc0cc762c0bb7aedbed00596","ssdeep":"384:KlWkb+CeVhEy3dhGQZ5mvjqnGilhLgvmRA7R6VTc6w6DwuRGijR0WwnhbR8L+lct:KlWkNUNhGbjqGilhsvme16VTc6w6Dwuv","tlshash":"faa2618877c2f09a02d665da943b040bf33d1c9d25187464b391d8d96ebe56eb23bf38","first_seen":"2026-07-23T13:54:09.044064Z","last_seen":"2026-08-02T16:40:36.924172Z","times_seen":416,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0NDkxMV0sezM2MzI2OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHttb2JpbGV0b3VjaDooKT0+cixzZXRDbGFzc2VzOigpPT5zLHRvdWNoOigpPT5hfSk7dmFyIGk9big3Mzg0NTgpO2NvbnN0IHI9aS5tb2JpbGV0b3VjaCxhPWkudG91Y2g7ZnVuY3Rpb24gcygpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKGkudG91Y2g/ImZlYXR1cmUtdG91Y2giOiJmZWF0dXJlLW5vLXRvdWNoIixpLm1vYmlsZXRvdWNoPyJmZWF0dXJlLW1vYmlsZXRvdWNoIjoiZmVhdHVyZS1uby1tb2JpbGV0b3VjaCIpfX0sMzE4OTc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NoZWNrTW9iaWxlOigpPT5kLGFwcFZlcnNpb246KCk9PmYsY2hlY2tQYWdlVHlwZTooKT0+dixkZXNrdG9wQXBwVmVyc2lvbjooKT0+Yyxpc0Nocm9tZTooKT0+cCxpc0Rlc2t0b3BBcHA6KCk9Pm8saXNFZGdlOigpPT5tLGlzRkY6KCk9PmcsaXNMaW51eDooKT0+dSxpc01hYzooKT0+cyxpc1NhZmFyaTooKT0+Xyxpc1N5bXBob255RW1iZWQ6KCk9Pmwsb25Hb1BybzooKT0+YixvbldpZGdldDooKT0+ci5vbldpZGdldCxzdXBwb3J0VG91Y2g6KCk9Pmh9KTt2YXIgaT1uKDczODQ1OCkscj1uKDM3NzIyNik7Y29uc3QgYT13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtmdW5jdGlvbiBzKCl7cmV0dXJuIGkuaXNNYWN9ZnVuY3Rpb24gdSgpe3JldHVybiBpLmlzTGludXh9ZnVuY3Rpb24gbygpe3JldHVybi9UVkRlc2t0b3AvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfWZ1bmN0aW9uIGwoKXtyZXR1cm4gYS5pc1N5bXBob255fHwhMX1mdW5jdGlvbiBjKCl7Y29uc3QgZT1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9UVkRlc2t0b3BcLyhbXlxzXSspLyk7cmV0dXJuIGUmJmVbMV19ZnVuY3Rpb24gZigpe2NvbnN0IGU9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJhZGluZ1ZpZXdcLyhbXlxzXSspLyk7cmV0dXJuIGUmJmVbMV19Y29uc3QgZD17QW5kcm9pZDooKT0+aS5pc0FuZHJvaWQsQmxhY2tCZXJyeTooKT0+aS5pc0JsYWNrQmVycnksaU9TOigpPT5pLmlzSU9TLE9wZXJhOigpPT5pLmlzT3BlcmFNaW5pLGlzSVBhZDooKT0+aS5pc0lQYWQsYW55OigpPT5pLmlzQW55TW9iaWxlfTtmdW5jdGlvbiBoKCl7cmV0dXJuIGkubW9iaWxldG91Y2h8fGkudG91Y2h8fGkuaXNBbnlNb2JpbGV9ZnVuY3Rpb24gdihlKXtyZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoInBhZ2VfdHlwZSIpPT09ZX1hLmlzTW9iaWxlPWQsYS5vbldpZGdldD1yLm9uV2lkZ2V0O2NvbnN0IHA9aS5pc0Nocm9tZSxnPWkuaXNGRixtPWkuaXNFZGdlLF89aS5pc1NhZmFyaTtmdW5jdGlvbiBiKCl7cmV0dXJuIi9wcmljaW5nLyI9PT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9fSw5NjMwOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2dldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZTooKT0+cn0pO2NvbnN0IGk9e2FyX0FFOiJhciIsYnI6InB0IixkZV9ERToiZGUiLGNhX0VTOiJjYSIsaGVfSUw6ImhlIixpZF9JRDoiaWQiLGluOiJlbiIsa3I6ImtvIixtc19NWToibXMiLHN2X1NFOiJzdiIsdGhfVEg6InRoIix1azoiZW4iLHZpX1ZOOiJ2aSIsemhfQ046InpoLUhhbnMiLHpoX1RXOiJ6aC1IYW50Iix6aDoiemgtSGFucyIsaHVfSFU6Imh1LUhVIn07ZnVuY3Rpb24gcihlKXtyZXR1cm4gaVtlXXx8ZX19LDUyNzMyMyhlLHQsbil7dmFyIGk7IWZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7fXZhciBhPXIucHJvdG90eXBlLHM9dC5FdmVudEVtaXR0ZXI7ZnVuY3Rpb24gdShlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aDtuLS07KWlmKGVbbl0ubGlzdGVuZXI9PT10KXJldHVybiBuO3JldHVybi0xfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbZV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBsKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlfHxlIGluc3RhbmNlb2YgUmVnRXhwfHwhKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpJiZsKGUubGlzdGVuZXIpfWEuZ2V0TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0LG4saT10aGlzLl9nZXRFdmVudHMoKTtpZihlIGluc3RhbmNlb2YgUmVnRXhwKWZvcihuIGluIHQ9e30saSlpLmhhc093blByb3BlcnR5KG4pJiZlLnRlc3QobikmJih0W25dPWlbbl0pO2Vsc2UgdD1pW2VdfHwoaVtlXT1bXSk7cmV0dXJuIHR9LGEuZmxhdHRlbkxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdCxuPVtdO2Zvcih0PTA7dDxlLmxlbmd0aDt0Kz0xKW4ucHVzaChlW3RdLmxpc3RlbmVyKTtyZXR1cm4gbn0sYS5nZXRMaXN0ZW5lcnNBc09iamVjdD1mdW5jdGlvbihlKXt2YXIgdCxuPXRoaXMuZ2V0TGlzdGVuZXJzKGUpO3JldHVybiBuIGluc3RhbmNlb2YgQXJyYXkmJigodD17fSlbZV09biksdHx8bn0sYS5hZGRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe2lmKCFsKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImxpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBuLGk9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKSxyPSJvYmplY3QiPT10eXBlb2YgdDtmb3IobiBpbiBpKWkuaGFzT3duUHJvcGVydHkobikmJi0xPT09dShpW25dLHQpJiZpW25dLnB1c2gocj90OntsaXN0ZW5lcjp0LG9uY2U6ITF9KTtyZXR1cm4gdGhpc30sYS5vbj1vKCJhZGRMaXN0ZW5lciIpLGEuYWRkT25jZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIoZSx7bGlzdGVuZXI6dCxvbmNlOiEwfSl9LGEub25jZT1vKCJhZGRPbmNlTGlzdGVuZXIiKSxhLmRlZmluZUV2ZW50PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmdldExpc3RlbmVycyhlKSx0aGlzfSxhLmRlZmluZUV2ZW50cz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrPTEpdGhpcy5kZWZpbmVFdmVudChlW3RdKTtyZXR1cm4gdGhpc30sCmEucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLHI9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKTtmb3IoaSBpbiByKXIuaGFzT3duUHJvcGVydHkoaSkmJi0xIT09KG49dShyW2ldLHQpKSYmcltpXS5zcGxpY2UobiwxKTtyZXR1cm4gdGhpc30sYS5vZmY9bygicmVtb3ZlTGlzdGVuZXIiKSxhLmFkZExpc3RlbmVycz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1hbmlwdWxhdGVMaXN0ZW5lcnMoITEsZSx0KX0sYS5yZW1vdmVMaXN0ZW5lcnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYW5pcHVsYXRlTGlzdGVuZXJzKCEwLGUsdCl9LGEubWFuaXB1bGF0ZUxpc3RlbmVycz1mdW5jdGlvbihlLHQsbil7dmFyIGkscixhPWU/dGhpcy5yZW1vdmVMaXN0ZW5lcjp0aGlzLmFkZExpc3RlbmVyLHM9ZT90aGlzLnJlbW92ZUxpc3RlbmVyczp0aGlzLmFkZExpc3RlbmVycztpZigib2JqZWN0IiE9dHlwZW9mIHR8fHQgaW5zdGFuY2VvZiBSZWdFeHApZm9yKGk9bi5sZW5ndGg7aS0tOylhLmNhbGwodGhpcyx0LG5baV0pO2Vsc2UgZm9yKGkgaW4gdCl0Lmhhc093blByb3BlcnR5KGkpJiYocj10W2ldKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiByP2EuY2FsbCh0aGlzLGkscik6cy5jYWxsKHRoaXMsaSxyKSk7cmV0dXJuIHRoaXN9LGEucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj10eXBlb2YgZSxpPXRoaXMuX2dldEV2ZW50cygpO2lmKCJzdHJpbmciPT09bilkZWxldGUgaVtlXTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBSZWdFeHApZm9yKHQgaW4gaSlpLmhhc093blByb3BlcnR5KHQpJiZlLnRlc3QodCkmJmRlbGV0ZSBpW3RdO2Vsc2UgZGVsZXRlIHRoaXMuX2V2ZW50cztyZXR1cm4gdGhpc30sYS5yZW1vdmVBbGxMaXN0ZW5lcnM9bygicmVtb3ZlRXZlbnQiKSxhLmVtaXRFdmVudD1mdW5jdGlvbihlLHQpe3ZhciBuLGkscixhLHM9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKTtmb3IoYSBpbiBzKWlmKHMuaGFzT3duUHJvcGVydHkoYSkpZm9yKG49c1thXS5zbGljZSgwKSxyPTA7cjxuLmxlbmd0aDtyKyspITA9PT0oaT1uW3JdKS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsaS5saXN0ZW5lciksaS5saXN0ZW5lci5hcHBseSh0aGlzLHR8fFtdKT09PXRoaXMuX2dldE9uY2VSZXR1cm5WYWx1ZSgpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsaS5saXN0ZW5lcik7cmV0dXJuIHRoaXN9LGEudHJpZ2dlcj1vKCJlbWl0RXZlbnQiKSxhLmVtaXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiB0aGlzLmVtaXRFdmVudChlLHQpfSxhLnNldE9uY2VSZXR1cm5WYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fb25jZVJldHVyblZhbHVlPWUsdGhpc30sYS5fZ2V0T25jZVJldHVyblZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGFzT3duUHJvcGVydHkoIl9vbmNlUmV0dXJuVmFsdWUiKXx8dGhpcy5fb25jZVJldHVyblZhbHVlfSxhLl9nZXRFdmVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzPXt9KX0sci5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuRXZlbnRFbWl0dGVyPXMscn0sdm9pZCAwPT09KGk9ZnVuY3Rpb24oKXtyZXR1cm4gcn0uY2FsbCh0LG4sdCxlKSl8fChlLmV4cG9ydHM9aSl9KHRoaXN8fHt9KX0sOTE4Nzc5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NhbnZhc1JlbmRlcmluZ1RhcmdldDJEOigpPT5vLGJpbmRDYW52YXNFbGVtZW50Qml0bWFwU2l6ZVRvOigpPT5zLGVxdWFsU2l6ZXM6KCk9PmkuZXF1YWxTaXplcyxzaXplOigpPT5pLnNpemUsdHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQ6KCk9Pmx9KTt2YXIgaT1uKDc0Mjc5KSxyPW4oNzQzNDUxKSxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbil7dmFyIHI7dGhpcy5fY2FudmFzRWxlbWVudD1udWxsLHRoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzPVtdLHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU9bnVsbCx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz1bXSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1udWxsLHRoaXMuX2NhbnZhc0VsZW1lbnRSZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX2NhbnZhc0VsZW1lbnQ9ZSx0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZT0oMCxpLnNpemUpKHt3aWR0aDp0aGlzLl9jYW52YXNFbGVtZW50LmNsaWVudFdpZHRoLGhlaWdodDp0aGlzLl9jYW52YXNFbGVtZW50LmNsaWVudEhlaWdodH0pLHRoaXMuX3RyYW5zZm9ybUJpdG1hcFNpemU9bnVsbCE9dD90OmZ1bmN0aW9uKGUpe3JldHVybiBlfSx0aGlzLl9hbGxvd1Jlc2l6ZU9ic2VydmVyPW51bGw9PT0ocj1udWxsPT1uP3ZvaWQgMDpuLmFsbG93UmVzaXplT2JzZXJ2ZXIpfHx2b2lkIDA9PT1yfHxyLHRoaXMuX2Nob29zZUFuZEluaXRPYnNlcnZlcigpfXJldHVybiBlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dmFyIGUsdDtpZihudWxsPT09dGhpcy5fY2FudmFzRWxlbWVudCl0aHJvdyBuZXcgRXJyb3IoIk9iamVjdCBpcyBkaXNwb3NlZCIpO251bGw9PT0oZT10aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXIpfHx2b2lkIDA9PT1lfHxlLmRpc2Nvbm5lY3QoKSx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bnVsbCxudWxsPT09KHQ9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT10fHx0LmRpc3Bvc2UoKSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1udWxsLHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLmxlbmd0aD0wLHRoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLmxlbmd0aD0wLHRoaXMuX2NhbnZhc0VsZW1lbnQ9bnVsbH0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Iix7Z2V0OmZ1bmN0aW9uKCl7aWYobnVsbD09PXRoaXMuX2NhbnZhc0VsZW1lbnQpdGhyb3cgbmV3IEVycm9yKCJPYmplY3QgaXMgZGlzcG9zZWQiKQo7cmV0dXJuIHRoaXMuX2NhbnZhc0VsZW1lbnR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Q2xpZW50U2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImJpdG1hcFNpemUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMCxpLnNpemUpKHt3aWR0aDp0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGgsaGVpZ2h0OnRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHR9KX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5yZXNpemVDYW52YXNFbGVtZW50PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplPSgwLGkuc2l6ZSkoZSksdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLndpZHRoPSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCwicHgiKSx0aGlzLmNhbnZhc0VsZW1lbnQuc3R5bGUuaGVpZ2h0PSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS5oZWlnaHQsInB4IiksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX0sZS5wcm90b3R5cGUuc3Vic2NyaWJlQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMucHVzaChlKX0sZS5wcm90b3R5cGUudW5zdWJzY3JpYmVCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlKXt0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz10aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09ZX0pKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJzdWdnZXN0ZWRCaXRtYXBTaXplIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMucHVzaChlKX0sZS5wcm90b3R5cGUudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlKXt0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09ZX0pKX0sZS5wcm90b3R5cGUuYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplPWZ1bmN0aW9uKCl7aWYobnVsbCE9PXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemUpe3ZhciBlPXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZT1udWxsLHRoaXMuX3Jlc2l6ZUJpdG1hcChlKSx0aGlzLl9lbWl0U3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQoZSx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplKX19LGUucHJvdG90eXBlLl9yZXNpemVCaXRtYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5iaXRtYXBTaXplOygwLGkuZXF1YWxTaXplcykodCxlKXx8KHRoaXMuY2FudmFzRWxlbWVudC53aWR0aD1lLndpZHRoLHRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHQ9ZS5oZWlnaHQsdGhpcy5fZW1pdEJpdG1hcFNpemVDaGFuZ2VkKHQsZSkpfSxlLnByb3RvdHlwZS5fZW1pdEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpczt0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5mb3JFYWNoKChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYWxsKG4sZSx0KX0pKX0sZS5wcm90b3R5cGUuX3N1Z2dlc3ROZXdCaXRtYXBTaXplPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemUsbj0oMCxpLnNpemUpKHRoaXMuX3RyYW5zZm9ybUJpdG1hcFNpemUoZSx0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZSkpLHI9KDAsaS5lcXVhbFNpemVzKSh0aGlzLmJpdG1hcFNpemUsbik/bnVsbDpuO251bGw9PT10JiZudWxsPT09cnx8bnVsbCE9PXQmJm51bGwhPT1yJiYoMCxpLmVxdWFsU2l6ZXMpKHQscil8fCh0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplPXIsdGhpcy5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHQscikpfSxlLnByb3RvdHlwZS5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpczt0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5mb3JFYWNoKChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYWxsKG4sZSx0KX0pKX0sZS5wcm90b3R5cGUuX2Nob29zZUFuZEluaXRPYnNlcnZlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fYWxsb3dSZXNpemVPYnNlcnZlcj9uZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbihuKXtlKG4uZXZlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiJkZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplImluIGV9KSkpLHQuZGlzY29ubmVjdCgpfSkpO3Qub2JzZXJ2ZShkb2N1bWVudC5ib2R5LHtib3g6ImRldmljZS1waXhlbC1jb250ZW50LWJveCJ9KX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4hMX0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdD9lLl9pbml0UmVzaXplT2JzZXJ2ZXIoKTplLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUoKX0pKTp0aGlzLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUoKX0sZS5wcm90b3R5cGUuX2luaXREZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciB0PXUodGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJObyB3aW5kb3cgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYW52YXMiKQo7dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9KDAsci5jcmVhdGVPYnNlcnZhYmxlKSh0KSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9KSksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX19LGUucHJvdG90eXBlLl9pbnZhbGlkYXRlQml0bWFwU2l6ZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciBuPXUodGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbCE9PW4pe3ZhciByPW51bGwhPT0odD1udWxsPT09KGU9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnZhbHVlKSYmdm9pZCAwIT09dD90Om4uZGV2aWNlUGl4ZWxSYXRpbyxhPXRoaXMuX2NhbnZhc0VsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKSxzPXZvaWQgMCE9PWFbMF0/ZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxpLnNpemUpKHt3aWR0aDpNYXRoLnJvdW5kKGUubGVmdCp0K2Uud2lkdGgqdCktTWF0aC5yb3VuZChlLmxlZnQqdCksaGVpZ2h0Ok1hdGgucm91bmQoZS50b3AqdCtlLmhlaWdodCp0KS1NYXRoLnJvdW5kKGUudG9wKnQpfSl9KGFbMF0scik6KDAsaS5zaXplKSh7d2lkdGg6dGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUud2lkdGgqcixoZWlnaHQ6dGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUuaGVpZ2h0KnJ9KTt0aGlzLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZShzKX19fSxlLnByb3RvdHlwZS5faW5pdFJlc2l6ZU9ic2VydmVyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztudWxsIT09dGhpcy5fY2FudmFzRWxlbWVudCYmKHRoaXMuX2NhbnZhc0VsZW1lbnRSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0PT09ZS5fY2FudmFzRWxlbWVudH0pKTtpZihuJiZuLmRldmljZVBpeGVsQ29udGVudEJveFNpemUmJm4uZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXSl7dmFyIHI9bi5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplWzBdLGE9KDAsaS5zaXplKSh7d2lkdGg6ci5pbmxpbmVTaXplLGhlaWdodDpyLmJsb2NrU2l6ZX0pO2UuX3N1Z2dlc3ROZXdCaXRtYXBTaXplKGEpfX0pKSx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9jYW52YXNFbGVtZW50LHtib3g6ImRldmljZS1waXhlbC1jb250ZW50LWJveCJ9KSl9LGV9KCk7ZnVuY3Rpb24gcyhlLHQpe2lmKCJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3giPT09dC50eXBlKXJldHVybiBuZXcgYShlLHQudHJhbnNmb3JtLHQub3B0aW9ucyk7dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBiaW5kaW5nIHRhcmdldCIpfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld312YXIgbz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4pe2lmKDA9PT10LndpZHRofHwwPT09dC5oZWlnaHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiUmVuZGVyaW5nIHRhcmdldCBjb3VsZCBvbmx5IGJlIGNyZWF0ZWQgb24gYSBtZWRpYSB3aXRoIHBvc2l0aXZlIHdpZHRoIGFuZCBoZWlnaHQiKTtpZih0aGlzLl9tZWRpYVNpemU9dCwwPT09bi53aWR0aHx8MD09PW4uaGVpZ2h0KXRocm93IG5ldyBUeXBlRXJyb3IoIlJlbmRlcmluZyB0YXJnZXQgY291bGQgb25seSBiZSBjcmVhdGVkIHVzaW5nIGEgYml0bWFwIHdpdGggcG9zaXRpdmUgaW50ZWdlciB3aWR0aCBhbmQgaGVpZ2h0Iik7dGhpcy5fYml0bWFwU2l6ZT1uLHRoaXMuX2NvbnRleHQ9ZX1yZXR1cm4gZS5wcm90b3R5cGUudXNlTWVkaWFDb29yZGluYXRlU3BhY2U9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0aGlzLl9jb250ZXh0LnNhdmUoKSx0aGlzLl9jb250ZXh0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdGhpcy5fY29udGV4dC5zY2FsZSh0aGlzLl9ob3Jpem9udGFsUGl4ZWxSYXRpbyx0aGlzLl92ZXJ0aWNhbFBpeGVsUmF0aW8pLGUoe2NvbnRleHQ6dGhpcy5fY29udGV4dCxtZWRpYVNpemU6dGhpcy5fbWVkaWFTaXplfSl9ZmluYWxseXt0aGlzLl9jb250ZXh0LnJlc3RvcmUoKX19LGUucHJvdG90eXBlLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZT1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIHRoaXMuX2NvbnRleHQuc2F2ZSgpLHRoaXMuX2NvbnRleHQuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKSxlKHtjb250ZXh0OnRoaXMuX2NvbnRleHQsbWVkaWFTaXplOnRoaXMuX21lZGlhU2l6ZSxiaXRtYXBTaXplOnRoaXMuX2JpdG1hcFNpemUsaG9yaXpvbnRhbFBpeGVsUmF0aW86dGhpcy5faG9yaXpvbnRhbFBpeGVsUmF0aW8sdmVydGljYWxQaXhlbFJhdGlvOnRoaXMuX3ZlcnRpY2FsUGl4ZWxSYXRpb30pfWZpbmFsbHl7dGhpcy5fY29udGV4dC5yZXN0b3JlKCl9fSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsIl9ob3Jpem9udGFsUGl4ZWxSYXRpbyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaXRtYXBTaXplLndpZHRoL3RoaXMuX21lZGlhU2l6ZS53aWR0aH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsIl92ZXJ0aWNhbFBpeGVsUmF0aW8iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYml0bWFwU2l6ZS5oZWlnaHQvdGhpcy5fbWVkaWFTaXplLmhlaWdodH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlfSgpO2Z1bmN0aW9uIGwoZSx0KXt2YXIgbj1lLmNhbnZhc0VsZW1lbnRDbGllbnRTaXplO2lmKDA9PT1uLndpZHRofHwwPT09bi5oZWlnaHQpcmV0dXJuIG51bGw7dmFyIGk9ZS5iaXRtYXBTaXplO2lmKDA9PT1pLndpZHRofHwwPT09aS5oZWlnaHQpcmV0dXJuIG51bGw7dmFyIHI9ZS5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIix0KTtyZXR1cm4gbnVsbD09PXI/bnVsbDpuZXcgbyhyLG4saSl9fSw3OTgwOTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+aX0pCjtjb25zdCBpPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPS0xLGk9bnVsbD09ZT8wOmUubGVuZ3RoLHI9QXJyYXkoaSk7KytuPGk7KXJbbl09dChlW25dLG4sZSk7cmV0dXJuIHJ9fSw2NzkyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9Pml9KTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciByPS0xLGE9bnVsbD09ZT8wOmUubGVuZ3RoO2ZvcihpJiZhJiYobj1lWysrcl0pOysrcjxhOyluPXQobixlW3JdLHIsZSk7cmV0dXJuIG59fSwxOTMzODIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+YX0pO3ZhciBpPW4oMjQ1MDcpLHI9bigzOTI5MDgpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24obixpKXtpZihudWxsPT1uKXJldHVybiBuO2lmKCEoMCxyLmRlZmF1bHQpKG4pKXJldHVybiBlKG4saSk7Zm9yKHZhciBhPW4ubGVuZ3RoLHM9dD9hOi0xLHU9T2JqZWN0KG4pOyh0P3MtLTorK3M8YSkmJiExIT09aSh1W3NdLHMsdSk7KTtyZXR1cm4gbn19KGkuZGVmYXVsdCl9LDk4MTM2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5sfSk7dmFyIGk9big0NDg2MjYpLHI9big4NzI5OTkpLGE9big1MzE1NTcpLHM9bigyOTU2MzUpLHU9ci5kZWZhdWx0P3IuZGVmYXVsdC5pc0NvbmNhdFNwcmVhZGFibGU6dm9pZCAwO2NvbnN0IG89ZnVuY3Rpb24oZSl7cmV0dXJuKDAscy5kZWZhdWx0KShlKXx8KDAsYS5kZWZhdWx0KShlKXx8ISEodSYmZSYmZVt1XSl9O2NvbnN0IGw9ZnVuY3Rpb24gZSh0LG4scixhLHMpe3ZhciB1PS0xLGw9dC5sZW5ndGg7Zm9yKHJ8fChyPW8pLHN8fChzPVtdKTsrK3U8bDspe3ZhciBjPXRbdV07bj4wJiZyKGMpP24+MT9lKGMsbi0xLHIsYSxzKTooMCxpLmRlZmF1bHQpKHMsYyk6YXx8KHNbcy5sZW5ndGhdPWMpfXJldHVybiBzfX0sMjQ1MDcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+YX0pO3ZhciBpPW4oMjU4MjYpLHI9bigzMDkwODApO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSYmKDAsaS5kZWZhdWx0KShlLHQsci5kZWZhdWx0KX19LDk4MDQxNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5hfSk7dmFyIGk9bigyNjk2MjcpLHI9big3MzAxOSk7Y29uc3QgYT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLGE9KHQ9KDAsaS5kZWZhdWx0KSh0LGUpKS5sZW5ndGg7bnVsbCE9ZSYmbjxhOyllPWVbKDAsci5kZWZhdWx0KSh0W24rK10pXTtyZXR1cm4gbiYmbj09YT9lOnZvaWQgMH19LDMzNDQxMyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT53fSk7dmFyIGk9big4ODY1MTQpLHI9big4NzI4ODEpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0LG4sYSl7dmFyIHM9bi5sZW5ndGgsdT1zLG89IWE7aWYobnVsbD09ZSlyZXR1cm4hdTtmb3IoZT1PYmplY3QoZSk7cy0tOyl7dmFyIGw9bltzXTtpZihvJiZsWzJdP2xbMV0hPT1lW2xbMF1dOiEobFswXWluIGUpKXJldHVybiExfWZvcig7KytzPHU7KXt2YXIgYz0obD1uW3NdKVswXSxmPWVbY10sZD1sWzFdO2lmKG8mJmxbMl0pe2lmKHZvaWQgMD09PWYmJiEoYyBpbiBlKSlyZXR1cm4hMX1lbHNle3ZhciBoPW5ldyBpLmRlZmF1bHQ7aWYoYSl2YXIgdj1hKGYsZCxjLGUsdCxoKTtpZighKHZvaWQgMD09PXY/KDAsci5kZWZhdWx0KShkLGYsMyxhLGgpOnYpKXJldHVybiExfX1yZXR1cm4hMH07dmFyIHM9big4ODAxMTUpO2NvbnN0IHU9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PWUmJiEoMCxzLmRlZmF1bHQpKGUpfTt2YXIgbz1uKDMwOTA4MCk7Y29uc3QgbD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9KDAsby5kZWZhdWx0KShlKSxuPXQubGVuZ3RoO24tLTspe3ZhciBpPXRbbl0scj1lW2ldO3Rbbl09W2kscix1KHIpXX1yZXR1cm4gdH07Y29uc3QgYz1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbnVsbCE9biYmKG5bZV09PT10JiYodm9pZCAwIT09dHx8ZSBpbiBPYmplY3QobikpKX19O2NvbnN0IGY9ZnVuY3Rpb24oZSl7dmFyIHQ9bChlKTtyZXR1cm4gMT09dC5sZW5ndGgmJnRbMF1bMl0/Yyh0WzBdWzBdLHRbMF1bMV0pOmZ1bmN0aW9uKG4pe3JldHVybiBuPT09ZXx8YShuLGUsdCl9fTt2YXIgZD1uKDU1NDcxOCksaD1uKDIxODY2OSksdj1uKDk4ODk5MikscD1uKDczMDE5KTtjb25zdCBnPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsdi5kZWZhdWx0KShlKSYmdSh0KT9jKCgwLHAuZGVmYXVsdCkoZSksdCk6ZnVuY3Rpb24obil7dmFyIGk9KDAsZC5kZWZhdWx0KShuLGUpO3JldHVybiB2b2lkIDA9PT1pJiZpPT09dD8oMCxoLmRlZmF1bHQpKG4sZSk6KDAsci5kZWZhdWx0KSh0LGksMyl9fTt2YXIgbT1uKDIzMjg1NCksXz1uKDI5NTYzNSk7Y29uc3QgYj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbZV19fTt2YXIgej1uKDk4MDQxNik7Y29uc3QgUz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuKDAsei5kZWZhdWx0KSh0LGUpfX07Y29uc3QgeT1mdW5jdGlvbihlKXtyZXR1cm4oMCx2LmRlZmF1bHQpKGUpP2IoKDAscC5kZWZhdWx0KShlKSk6UyhlKX07Y29uc3Qgdz1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT9lOm51bGw9PWU/bS5kZWZhdWx0OiJvYmplY3QiPT10eXBlb2YgZT8oMCxfLmRlZmF1bHQpKGUpP2coZVswXSxlWzFdKTpmKGUpOnkoZSl9fSw2ODUxNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+c30pO3ZhciBpPW4oOTgwNDE2KSxyPW4oMjk3MTI0KSxhPW4oMjY5NjI3KTtjb25zdCBzPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHM9LTEsdT10Lmxlbmd0aCxvPXt9Oysrczx1Oyl7dmFyIGw9dFtzXSxjPSgwLGkuZGVmYXVsdCkoZSxsKTtuKGMsbCkmJigwLHIuZGVmYXVsdCkobywoMCxhLmRlZmF1bHQpKGwsZSksYyl9cmV0dXJuIG99fSwyOTcxMjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+b30pCjt2YXIgaT1uKDE2ODUzMykscj1uKDI2OTYyNyksYT1uKDkyMTE0Mykscz1uKDg4MDExNSksdT1uKDczMDE5KTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxuLG8pe2lmKCEoMCxzLmRlZmF1bHQpKGUpKXJldHVybiBlO2Zvcih2YXIgbD0tMSxjPSh0PSgwLHIuZGVmYXVsdCkodCxlKSkubGVuZ3RoLGY9Yy0xLGQ9ZTtudWxsIT1kJiYrK2w8Yzspe3ZhciBoPSgwLHUuZGVmYXVsdCkodFtsXSksdj1uO2lmKCJfX3Byb3RvX18iPT09aHx8ImNvbnN0cnVjdG9yIj09PWh8fCJwcm90b3R5cGUiPT09aClyZXR1cm4gZTtpZihsIT1mKXt2YXIgcD1kW2hdO3ZvaWQgMD09PSh2PW8/byhwLGgsZCk6dm9pZCAwKSYmKHY9KDAscy5kZWZhdWx0KShwKT9wOigwLGEuZGVmYXVsdCkodFtsKzFdKT9bXTp7fSl9KDAsaS5kZWZhdWx0KShkLGgsdiksZD1kW2hdfXJldHVybiBlfX0sNDkzNzE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9Pml9KTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuKXt2YXIgaT0tMSxyPWUubGVuZ3RoO3Q8MCYmKHQ9LXQ+cj8wOnIrdCksKG49bj5yP3I6bik8MCYmKG4rPXIpLHI9dD5uPzA6bi10Pj4+MCx0Pj4+PTA7Zm9yKHZhciBhPUFycmF5KHIpOysraTxyOylhW2ldPWVbaSt0XTtyZXR1cm4gYX19LDI0MjcwOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9bigyNjk2MjcpLHI9big5MjYwODgpLGE9big5ODA0MTYpLHM9big0OTM3MTgpO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5sZW5ndGg8Mj9lOigwLGEuZGVmYXVsdCkoZSwoMCxzLmRlZmF1bHQpKHQsMCwtMSkpfTt2YXIgbz1uKDczMDE5KSxsPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgYz1mdW5jdGlvbihlLHQpe3ZhciBuPS0xLGE9KHQ9KDAsaS5kZWZhdWx0KSh0LGUpKS5sZW5ndGg7aWYoIWEpcmV0dXJuITA7Zm9yKDsrK248YTspe3ZhciBzPSgwLG8uZGVmYXVsdCkodFtuXSk7aWYoIl9fcHJvdG9fXyI9PT1zJiYhbC5jYWxsKGUsIl9fcHJvdG9fXyIpKXJldHVybiExO2lmKCgiY29uc3RydWN0b3IiPT09c3x8InByb3RvdHlwZSI9PT1zKSYmbjxhLTEpcmV0dXJuITF9dmFyIGM9dShlLHQpO3JldHVybiBudWxsPT1jfHxkZWxldGUgY1soMCxvLmRlZmF1bHQpKCgwLHIuZGVmYXVsdCkodCkpXX19LDI2OTYyNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9bigyOTU2MzUpLHI9big5ODg5OTIpLGE9big2NjMwNDYpO3ZhciBzPS9bXi5bXF1dK3xcWyg/OigtP1xkKyg/OlwuXGQrKT8pfChbIiddKSgoPzooPyFcMilbXlxcXXxcXC4pKj8pXDIpXF18KD89KD86XC58XFtcXSkoPzpcLnxcW1xdfCQpKS9nLHU9L1xcKFxcKT8vZztjb25zdCBvPWZ1bmN0aW9uKGUpe3ZhciB0PSgwLGEuZGVmYXVsdCkoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIDUwMD09PW4uc2l6ZSYmbi5jbGVhcigpLGV9KSksbj10LmNhY2hlO3JldHVybiB0fSgoZnVuY3Rpb24oZSl7dmFyIHQ9W107cmV0dXJuIDQ2PT09ZS5jaGFyQ29kZUF0KDApJiZ0LnB1c2goIiIpLGUucmVwbGFjZShzLChmdW5jdGlvbihlLG4saSxyKXt0LnB1c2goaT9yLnJlcGxhY2UodSwiJDEiKTpufHxlKX0pKSx0fSkpO3ZhciBsPW4oMjU5NTQyKTtjb25zdCBjPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsaS5kZWZhdWx0KShlKT9lOigwLHIuZGVmYXVsdCkoZSx0KT9bZV06bygoMCxsLmRlZmF1bHQpKGUpKX19LDI2MDgwNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5zfSk7dmFyIGk9big0NzY2NCkscj1uKDM3MjAzNSksYT1uKDcwOTA1MSk7Y29uc3Qgcz1mdW5jdGlvbihlKXtyZXR1cm4oMCxhLmRlZmF1bHQpKCgwLHIuZGVmYXVsdCkoZSx2b2lkIDAsaS5kZWZhdWx0KSxlKyIiKX19LDk4ODk5MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT51fSk7dmFyIGk9bigyOTU2MzUpLHI9big3MTczMzIpLGE9L1wufFxbKD86W15bXF1dKnwoWyInXSkoPzooPyFcMSlbXlxcXXxcXC4pKj9cMSlcXS8scz0vXlx3KiQvO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtpZigoMCxpLmRlZmF1bHQpKGUpKXJldHVybiExO3ZhciBuPXR5cGVvZiBlO3JldHVybiEoIm51bWJlciIhPW4mJiJzeW1ib2wiIT1uJiYiYm9vbGVhbiIhPW4mJm51bGwhPWUmJiEoMCxyLmRlZmF1bHQpKGUpKXx8KHMudGVzdChlKXx8IWEudGVzdChlKXx8bnVsbCE9dCYmZSBpbiBPYmplY3QodCkpfX0sNzMwMTkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oNzE3MzMyKTtjb25zdCByPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZXx8KDAsaS5kZWZhdWx0KShlKSlyZXR1cm4gZTt2YXIgdD1lKyIiO3JldHVybiIwIj09dCYmMS9lPT0tMS8wPyItMCI6dH19LDQ0MTgwNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5yfSk7dmFyIGk9big0OTMwMTgpO2NvbnN0IHI9ZnVuY3Rpb24oZSl7cmV0dXJuKDAsaS5kZWZhdWx0KShlLDQpfX0sODc3ODU5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PmZ9KTt2YXIgaT1uKDMzNDQxMykscj1uKDM5MjkwOCksYT1uKDMwOTA4MCk7Y29uc3Qgcz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxuLHMpe3ZhciB1PU9iamVjdCh0KTtpZighKDAsci5kZWZhdWx0KSh0KSl7dmFyIG89KDAsaS5kZWZhdWx0KShuLDMpO3Q9KDAsYS5kZWZhdWx0KSh0KSxuPWZ1bmN0aW9uKGUpe3JldHVybiBvKHVbZV0sZSx1KX19dmFyIGw9ZSh0LG4scyk7cmV0dXJuIGw+LTE/dVtvP3RbbF06bF06dm9pZCAwfX07dmFyIHU9big2ODg5NjUpLG89big2OTIzNjkpLGw9TWF0aC5tYXgsYz1NYXRoLm1pbjtjb25zdCBmPXMoKGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1udWxsPT1lPzA6ZS5sZW5ndGg7aWYoIXIpcmV0dXJuLTE7dmFyIGE9ci0xO3JldHVybiB2b2lkIDAhPT1uJiYoYT0oMCxvLmRlZmF1bHQpKG4pLGE9bjwwP2wocithLDApOmMoYSxyLTEpKSwoMCx1LmRlZmF1bHQpKGUsKDAsaS5kZWZhdWx0KSh0LDMpLGEsITApfSkpfSw0NzY2NChlLHQsbil7CiJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oOTgxMzY1KTtjb25zdCByPWZ1bmN0aW9uKGUpe3JldHVybihudWxsPT1lPzA6ZS5sZW5ndGgpPygwLGkuZGVmYXVsdCkoZSwxKTpbXX19LDU1NDcxOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5yfSk7dmFyIGk9big5ODA0MTYpO2NvbnN0IHI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW51bGw9PWU/dm9pZCAwOigwLGkuZGVmYXVsdCkoZSx0KTtyZXR1cm4gdm9pZCAwPT09cj9uOnJ9fSwyMTg2NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+Zn0pO2NvbnN0IGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbCE9ZSYmdCBpbiBPYmplY3QoZSl9O3ZhciByPW4oMjY5NjI3KSxhPW4oNTMxNTU3KSxzPW4oMjk1NjM1KSx1PW4oOTIxMTQzKSxvPW4oOTkwNjA0KSxsPW4oNzMwMTkpO2NvbnN0IGM9ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgaT0tMSxjPSh0PSgwLHIuZGVmYXVsdCkodCxlKSkubGVuZ3RoLGY9ITE7KytpPGM7KXt2YXIgZD0oMCxsLmRlZmF1bHQpKHRbaV0pO2lmKCEoZj1udWxsIT1lJiZuKGUsZCkpKWJyZWFrO2U9ZVtkXX1yZXR1cm4gZnx8KytpIT1jP2Y6ISEoYz1udWxsPT1lPzA6ZS5sZW5ndGgpJiYoMCxvLmRlZmF1bHQpKGMpJiYoMCx1LmRlZmF1bHQpKGQsYykmJigoMCxzLmRlZmF1bHQpKGUpfHwoMCxhLmRlZmF1bHQpKGUpKX07Y29uc3QgZj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsIT1lJiZjKGUsdCxpKX19LDE0NDU1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5kfSk7dmFyIGk9big4MzA4NzUpLHI9big5Njk3ODUpLGE9big1MzE1NTcpLHM9bigyOTU2MzUpLHU9bigzOTI5MDgpLG89big2NTkwMTgpLGw9big2OTM5NDEpLGM9bigxNjUyNjcpLGY9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBkPWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuITA7aWYoKDAsdS5kZWZhdWx0KShlKSYmKCgwLHMuZGVmYXVsdCkoZSl8fCJzdHJpbmciPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUuc3BsaWNlfHwoMCxvLmRlZmF1bHQpKGUpfHwoMCxjLmRlZmF1bHQpKGUpfHwoMCxhLmRlZmF1bHQpKGUpKSlyZXR1cm4hZS5sZW5ndGg7dmFyIHQ9KDAsci5kZWZhdWx0KShlKTtpZigiW29iamVjdCBNYXBdIj09dHx8IltvYmplY3QgU2V0XSI9PXQpcmV0dXJuIWUuc2l6ZTtpZigoMCxsLmRlZmF1bHQpKGUpKXJldHVybiEoMCxpLmRlZmF1bHQpKGUpLmxlbmd0aDtmb3IodmFyIG4gaW4gZSlpZihmLmNhbGwoZSxuKSlyZXR1cm4hMTtyZXR1cm4hMH19LDkyNjA4OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5pfSk7Y29uc3QgaT1mdW5jdGlvbihlKXt2YXIgdD1udWxsPT1lPzA6ZS5sZW5ndGg7cmV0dXJuIHQ/ZVt0LTFdOnZvaWQgMH19LDk2NDcyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5kfSk7dmFyIGk9big3OTgwOTQpLHI9big0OTMwMTgpLGE9bigyNDI3MDgpLHM9bigyNjk2MjcpLHU9big2MTg1Nyksbz1uKDkzMTQzMyk7Y29uc3QgbD1mdW5jdGlvbihlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKGUpP3ZvaWQgMDplfTt2YXIgYz1uKDI2MDgwNiksZj1uKDk5MTU5OSk7Y29uc3QgZD0oMCxjLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe3ZhciBuPXt9O2lmKG51bGw9PWUpcmV0dXJuIG47dmFyIG89ITE7dD0oMCxpLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKHQpe3JldHVybiB0PSgwLHMuZGVmYXVsdCkodCxlKSxvfHwobz10Lmxlbmd0aD4xKSx0fSkpLCgwLHUuZGVmYXVsdCkoZSwoMCxmLmRlZmF1bHQpKGUpLG4pLG8mJihuPSgwLHIuZGVmYXVsdCkobiw3LGwpKTtmb3IodmFyIGM9dC5sZW5ndGg7Yy0tOykoMCxhLmRlZmF1bHQpKG4sdFtjXSk7cmV0dXJuIG59KSl9LDYzOTc4OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT51fSk7dmFyIGk9big3OTgwOTQpLHI9bigzMzQ0MTMpLGE9big2ODUxNTQpLHM9big5OTE1OTkpO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPSgwLGkuZGVmYXVsdCkoKDAscy5kZWZhdWx0KShlKSwoZnVuY3Rpb24oZSl7cmV0dXJuW2VdfSkpO3JldHVybiB0PSgwLHIuZGVmYXVsdCkodCksKDAsYS5kZWZhdWx0KShlLG4sKGZ1bmN0aW9uKGUsbil7cmV0dXJuIHQoZSxuWzBdKX0pKX19LDg2NDAzNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5vfSk7dmFyIGk9big2NzkyKSxyPW4oMTkzMzgyKSxhPW4oMzM0NDEzKTtjb25zdCBzPWZ1bmN0aW9uKGUsdCxuLGkscil7cmV0dXJuIHIoZSwoZnVuY3Rpb24oZSxyLGEpe249aT8oaT0hMSxlKTp0KG4sZSxyLGEpfSkpLG59O3ZhciB1PW4oMjk1NjM1KTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxuKXt2YXIgbz0oMCx1LmRlZmF1bHQpKGUpP2kuZGVmYXVsdDpzLGw9YXJndW1lbnRzLmxlbmd0aDwzO3JldHVybiBvKGUsKDAsYS5kZWZhdWx0KSh0LDQpLG4sbCxyLmRlZmF1bHQpfX0sMTA1OTcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1uKDI5NzEyNCk7Y29uc3Qgcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PWU/ZTooMCxpLmRlZmF1bHQpKGUsdCxuKX19LDI1OTU0MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9big4NzI5OTkpLHI9big3OTgwOTQpLGE9bigyOTU2MzUpLHM9big3MTczMzIpLHU9aS5kZWZhdWx0P2kuZGVmYXVsdC5wcm90b3R5cGU6dm9pZCAwLG89dT91LnRvU3RyaW5nOnZvaWQgMDtjb25zdCBsPWZ1bmN0aW9uIGUodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O2lmKCgwLGEuZGVmYXVsdCkodCkpcmV0dXJuKDAsci5kZWZhdWx0KSh0LGUpKyIiO2lmKCgwLHMuZGVmYXVsdCkodCkpcmV0dXJuIG8/by5jYWxsKHQpOiIiO3ZhciBuPXQrIiI7cmV0dXJuIjAiPT1uJiYxL3Q9PS0xLzA/Ii0wIjpufTtjb25zdCBjPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmwoZSl9fSwKOTE3MzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1uKDI0MjcwOCk7Y29uc3Qgcj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsPT1lfHwoMCxpLmRlZmF1bHQpKGUsdCl9fX1dKTs="}},"time_used":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/chart-widget-gui.13468e69e04a805f97cf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.395Z","timestamp":1785136901395,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-38e88\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 86fd2fd7d6c9b6d62a9e4fe5fdac0998\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":233096,"size_decoded":66241,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"4e35d66fb21ba281ba6dbf987ed9ad19","sha1":"73e3a494f412a84503c6bf08675879d8208fc592","sha256":"5653a56b0c05a5fd05b5142656859a2b962fa133463b10bef556248e9a874170","sha512":"b0ca5d7daa35d7d3028dceb3b720db89c3490e605c24bd22a4111fb473cc03df4111967e85c15c04ee5b3f778d6fb4827935324ad61a06e9280ae18ddff4cc7f","ssdeep":"3072:0LfPZKIwNAHqBrRysvaCGj4Re79+op3zathZRSEaigHKBRnE:kZKIIyOatj4Ip+oJza7Z3gH6E","tlshash":"f0344b677264783a61bb51ee08bb0503e71a6445b442407cf1bc9dde296dcc9b23af3e","first_seen":"2026-07-23T14:00:31.388594Z","last_seen":"2026-07-28T06:17:53.599251Z","times_seen":119,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NTU4OCw3NDM0MV0sezg1MzMzNihlLHQpe3ZhciBpLHMsbztzPVt0XSxpPWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgdD0wLGk9QXJyYXkoZS5sZW5ndGgpO3Q8ZS5sZW5ndGg7dCsrKWlbdF09ZVt0XTtyZXR1cm4gaX1yZXR1cm4gQXJyYXkuZnJvbShlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBzPXtnZXQgcGFzc2l2ZSgpe2k9ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwscyksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLHMpfXZhciBvPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksbj1bXSxhPSExLGw9LTEscj12b2lkIDAsZD12b2lkIDAsdT1mdW5jdGlvbihlKXtyZXR1cm4gbi5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4hKCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUoZSkpfSkpfSxjPWZ1bmN0aW9uKGUpe3ZhciB0PWV8fHdpbmRvdy5ldmVudDtyZXR1cm4hIXUodC50YXJnZXQpfHwxPHQudG91Y2hlcy5sZW5ndGh8fCh0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9ZCxkPXZvaWQgMCksdm9pZCAwIT09ciYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9cixyPXZvaWQgMCl9KSl9O2UuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSxzKXtpZihvKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKGUmJiFuLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQ9PT1lfSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6c3x8e319O249W10uY29uY2F0KHQobiksW2hdKSxlLm9udG91Y2hzdGFydD1mdW5jdGlvbihlKXsxPT09ZS50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGw9ZS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSxlLm9udG91Y2htb3ZlPWZ1bmN0aW9uKHQpe3ZhciBpLHMsbyxuOzE9PT10LnRhcmdldFRvdWNoZXMubGVuZ3RoJiYocz1lLG49KGk9dCkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWwsIXUoaS50YXJnZXQpJiYocyYmMD09PXMuc2Nyb2xsVG9wJiYwPG58fChvPXMpJiZvLnNjcm9sbEhlaWdodC1vLnNjcm9sbFRvcDw9by5jbGllbnRIZWlnaHQmJm48MD9jKGkpOmkuc3RvcFByb3BhZ2F0aW9uKCkpKX0sYXx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsYyxpP3twYXNzaXZlOiExfTp2b2lkIDApLGE9ITApfX1lbHNle189cyxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWQpe3ZhciBlPSEhXyYmITA9PT1fLnJlc2VydmVTY3JvbGxCYXJHYXAsdD13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ZSYmMDx0JiYoZD1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD10KyJweCIpfXZvaWQgMD09PXImJihyPWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIHA9e3RhcmdldEVsZW1lbnQ6ZSxvcHRpb25zOnN8fHt9fTtuPVtdLmNvbmNhdCh0KG4pLFtwXSl9dmFyIF99LGUuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtvPyhuLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCxlLnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxhJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixjLGk/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMSksbj1bXSxsPS0xKTooaCgpLG49W10pfSxlLmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSl7aWYobyl7aWYoIWUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7ZS5vbnRvdWNoc3RhcnQ9bnVsbCxlLm9udG91Y2htb3ZlPW51bGwsbj1uLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudCE9PWV9KSksYSYmMD09PW4ubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixjLGk/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMSl9ZWxzZSAxPT09bi5sZW5ndGgmJm5bMF0udGFyZ2V0RWxlbWVudD09PWU/KGgoKSxuPVtdKTpuPW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKX19LHZvaWQgMD09PShvPSJmdW5jdGlvbiI9PXR5cGVvZiBpP2kuYXBwbHkodCxzKTppKXx8KGUuZXhwb3J0cz1vKX0sODAzMjg3KGUpe2UuZXhwb3J0cz17ImRlZmF1bHQtZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UiOiIxMDBweCIsd3JhcDoid3JhcC1paWkxMThvTiIscG9zaXRpb25Cb3R0b206InBvc2l0aW9uQm90dG9tLWlpaTExOG9OIixiYWNrZHJvcDoiYmFja2Ryb3AtaWlpMTE4b04iLGRyYXdlcjoiZHJhd2VyLWlpaTExOG9OIiwKcG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sODU0NDUoZSl7ZS5leHBvcnRzPXtwaWxsczoicGlsbHMtSWVRd1BqY1oiLHByaW1hcnk6InByaW1hcnktSWVRd1BqY1oiLGdyYXk6ImdyYXktSWVRd1BqY1oiLHNlbGVjdGVkOiJzZWxlY3RlZC1JZVF3UGpjWiIsZ3JvdXBlZDoiZ3JvdXBlZC1JZVF3UGpjWiIsYWN0aXZlOiJhY3RpdmUtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVPblRvdWNoOiJkaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWiIsZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiJkaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1oiLHdpdGhHcm91cGVkOiJ3aXRoR3JvdXBlZC1JZVF3UGpjWiIsInF1aWV0LXByaW1hcnkiOiJxdWlldC1wcmltYXJ5LUllUXdQamNaIixncmVlbjoiZ3JlZW4tSWVRd1BqY1oiLHJlZDoicmVkLUllUXdQamNaIixibHVlOiJibHVlLUllUXdQamNaIixzZWNvbmRhcnk6InNlY29uZGFyeS1JZVF3UGpjWiIsZ2hvc3Q6Imdob3N0LUllUXdQamNaIn19LDM2NDgxNShlKXtlLmV4cG9ydHM9e2xpZ2h0QnV0dG9uOiJsaWdodEJ1dHRvbi1ralJmVGxmeCIsbGluazoibGluay1ralJmVGxmeCIsbHRyOiJsdHIta2pSZlRsZngiLHJ0bDoicnRsLWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTZweCI6InR5cG9ncmFwaHktcmVndWxhcjE2cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LW1lZGl1bTE2cHgiOiJ0eXBvZ3JhcGh5LW1lZGl1bTE2cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNHB4IjoidHlwb2dyYXBoeS1yZWd1bGFyMTRweC1ralJmVGxmeCIsInR5cG9ncmFwaHktc2VtaWJvbGQxNHB4IjoidHlwb2dyYXBoeS1zZW1pYm9sZDE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNnB4LWtqUmZUbGZ4Iixjb250ZW50OiJjb250ZW50LWtqUmZUbGZ4Iix2aXN1YWxseUhpZGRlbjoidmlzdWFsbHlIaWRkZW4ta2pSZlRsZngiLG5vd3JhcDoibm93cmFwLWtqUmZUbGZ4IixlbGxpcHNpc0NvbnRhaW5lcjoiZWxsaXBzaXNDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwQ29udGFpbmVyOiJ0ZXh0V3JhcENvbnRhaW5lci1ralJmVGxmeCIsdGV4dFdyYXBXaXRoRWxsaXBzaXM6InRleHRXcmFwV2l0aEVsbGlwc2lzLWtqUmZUbGZ4IixzbG90OiJzbG90LWtqUmZUbGZ4IixjYXJldDoiY2FyZXQta2pSZlRsZngiLGFjdGl2ZUNhcmV0OiJhY3RpdmVDYXJldC1ralJmVGxmeCIseHNtYWxsOiJ4c21hbGwta2pSZlRsZngiLHdpdGhTdGFydFNsb3Q6IndpdGhTdGFydFNsb3Qta2pSZlRsZngiLHdpdGhFbmRTbG90OiJ3aXRoRW5kU2xvdC1ralJmVGxmeCIsbm9Db250ZW50OiJub0NvbnRlbnQta2pSZlRsZngiLHdyYXA6IndyYXAta2pSZlRsZngiLHNtYWxsOiJzbWFsbC1ralJmVGxmeCIsbWVkaXVtOiJtZWRpdW0ta2pSZlRsZngifX0sNDAyMjUzKGUpe2UuZXhwb3J0cz17bmF2QnV0dG9uOiJuYXZCdXR0b24taGJTSlZ4a1EiLGxpbms6ImxpbmstaGJTSlZ4a1EiLGJhY2tncm91bmQ6ImJhY2tncm91bmQtaGJTSlZ4a1EiLGljb246Imljb24taGJTSlZ4a1EiLGZsaXBJY29uOiJmbGlwSWNvbi1oYlNKVnhrUSIsbGFyZ2U6ImxhcmdlLWhiU0pWeGtRIixwcmVzZXJ2ZVBhZGRpbmdzOiJwcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRIixtZWRpdW06Im1lZGl1bS1oYlNKVnhrUSIsc21hbGw6InNtYWxsLWhiU0pWeGtRIix4c21hbGw6InhzbWFsbC1oYlNKVnhrUSIseHhzbWFsbDoieHhzbWFsbC1oYlNKVnhrUSIsYmxlbmRNb2RlOiJibGVuZE1vZGUtaGJTSlZ4a1EiLHZpc3VhbGx5SGlkZGVuOiJ2aXN1YWxseUhpZGRlbi1oYlNKVnhrUSJ9fSw4NjAwMjUoZSl7ZS5leHBvcnRzPXtwYWlyOiJwYWlyLXh3R3NTWFIwIix4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjM6Inh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMCIseHh4eHNtYWxsOiJ4eHh4c21hbGwteHdHc1NYUjAiLHh4eHNtYWxsOiJ4eHhzbWFsbC14d0dzU1hSMCIseHhzbWFsbDoieHhzbWFsbC14d0dzU1hSMCIseHNtYWxsOiJ4c21hbGwteHdHc1NYUjAiLHNtYWxsOiJzbWFsbC14d0dzU1hSMCIsbWVkaXVtOiJtZWRpdW0teHdHc1NYUjAiLGxhcmdlOiJsYXJnZS14d0dzU1hSMCIseGxhcmdlOiJ4bGFyZ2UteHdHc1NYUjAiLHh4bGFyZ2U6Inh4bGFyZ2UteHdHc1NYUjAiLHh4eGxhcmdlOiJ4eHhsYXJnZS14d0dzU1hSMCIsbG9nbzoibG9nby14d0dzU1hSMCIsc2tlbGV0b246InNrZWxldG9uLXh3R3NTWFIwIixlbXB0eToiZW1wdHkteHdHc1NYUjAifX0sMTQwMDE3KGUpe2UuZXhwb3J0cz17bG9nbzoibG9nby1WQ05LdWJXcSIsaGlkZGVuOiJoaWRkZW4tVkNOS3ViV3EiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLVZDTkt1YldxIix4eHhzbWFsbDoieHh4c21hbGwtVkNOS3ViV3EiLHh4c21hbGw6Inh4c21hbGwtVkNOS3ViV3EiLHhzbWFsbDoieHNtYWxsLVZDTkt1YldxIixzbWFsbDoic21hbGwtVkNOS3ViV3EiLG1lZGl1bToibWVkaXVtLVZDTkt1YldxIixsYXJnZToibGFyZ2UtVkNOS3ViV3EiLHhsYXJnZToieGxhcmdlLVZDTkt1YldxIix4eGxhcmdlOiJ4eGxhcmdlLVZDTkt1YldxIix4eHhsYXJnZToieHh4bGFyZ2UtVkNOS3ViV3EiLHNrZWxldG9uOiJza2VsZXRvbi1WQ05LdWJXcSIsbGV0dGVyOiJsZXR0ZXItVkNOS3ViV3EifX0sMjAzMjczKGUpe2UuZXhwb3J0cz17c2NhbGFibGVJY29uOiJzY2FsYWJsZUljb24tY2oxYkFTZjcifX0sOTc1Mjg1KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1oY3QyeUp2SyIsYW5pbWF0ZWQ6ImFuaW1hdGVkLWhjdDJ5SnZLIixwdWxzYXRpb246InB1bHNhdGlvbi1oY3QyeUp2SyJ9fSw3MTAxNTYoZSl7ZS5leHBvcnRzPXt9fSw0MTc2ODYoZSl7ZS5leHBvcnRzPXtsZWdlbmRBY3Rpb25CdXR0b246ImxlZ2VuZEFjdGlvbkJ1dHRvbi1xM082enpJSCJ9fSw2NTc1NjAoZSl7ZS5leHBvcnRzPXttYXJnaW5sZWdlbmRob3JpejoiNHB4IiwKbGVnZW5kOiJsZWdlbmQtWVRGSUo2MmgiLGxlZ2VuZF93aXRoSGlkZGVuQWN0aW9uczoibGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIixpdGVtOiJpdGVtLVlURklKNjJoIixoaWRlSW52aXNpYmxlSG92ZXI6ImhpZGVJbnZpc2libGVIb3Zlci1ZVEZJSjYyaCIsYnV0dG9uOiJidXR0b24tWVRGSUo2MmgiLGJ1dHRvbnM6ImJ1dHRvbnMtWVRGSUo2MmgiLHdpdGhBY3Rpb246IndpdGhBY3Rpb24tWVRGSUo2MmgiLHNlbGVjdGVkOiJzZWxlY3RlZC1ZVEZJSjYyaCIsbGFzdDoibGFzdC1ZVEZJSjYyaCIsc3RhdHVzZXNXcmFwcGVyOiJzdGF0dXNlc1dyYXBwZXItWVRGSUo2MmgiLHN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXM6InN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXMtWVRGSUo2MmgiLHRleHQ6InRleHQtWVRGSUo2MmgiLG5vV3JhcFdyYXBwZXI6Im5vV3JhcFdyYXBwZXItWVRGSUo2MmgiLGNvbGxhcHNlZFNvdXJjZXNDb3VudGVyOiJjb2xsYXBzZWRTb3VyY2VzQ291bnRlci1ZVEZJSjYyaCIsbm9XcmFwOiJub1dyYXAtWVRGSUo2MmgiLHNlcmllczoic2VyaWVzLVlURklKNjJoIix2YWx1ZXNBZGRpdGlvbmFsV3JhcHBlcjoidmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2MmgiLHZhbHVlSXRlbToidmFsdWVJdGVtLVlURklKNjJoIixoaWRlVW5pcG9ydGFudFZhbHVlSXRlbXM6ImhpZGVVbmlwb3J0YW50VmFsdWVJdGVtcy1ZVEZJSjYyaCIsdW5pbXBvcnRhbnQ6InVuaW1wb3J0YW50LVlURklKNjJoIix2YWx1ZXNXcmFwcGVyOiJ2YWx1ZXNXcmFwcGVyLVlURklKNjJoIix3cmFwcGFibGU6IndyYXBwYWJsZS1ZVEZJSjYyaCIsZGlyZWN0aW9uQ29sdW1uOiJkaXJlY3Rpb25Db2x1bW4tWVRGSUo2MmgiLHRpdGxlc1dyYXBwZXI6InRpdGxlc1dyYXBwZXItWVRGSUo2MmgiLGxvZ29XcmFwcGVyOiJsb2dvV3JhcHBlci1ZVEZJSjYyaCIsYnV0dG9uc1dyYXBwZXI6ImJ1dHRvbnNXcmFwcGVyLVlURklKNjJoIixwYWlyQ29udGFpbmVyOiJwYWlyQ29udGFpbmVyLVlURklKNjJoIixsb2dvOiJsb2dvLVlURklKNjJoIixoaWRkZW46ImhpZGRlbi1ZVEZJSjYyaCIsbm9BY3Rpb25zOiJub0FjdGlvbnMtWVRGSUo2MmgiLHRpdGxlc0dyb3VwV3JhcHBlcjoidGl0bGVzR3JvdXBXcmFwcGVyLVlURklKNjJoIix0aXRsZVdyYXBwZXI6InRpdGxlV3JhcHBlci1ZVEZJSjYyaCIsdGl0bGU6InRpdGxlLVlURklKNjJoIix3aXRoRG90OiJ3aXRoRG90LVlURklKNjJoIix0aXRsZVdyYXBwZXJfX2FjdGl2ZToidGl0bGVXcmFwcGVyX19hY3RpdmUtWVRGSUo2MmgiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtWVRGSUo2MmgiLGRpc2FibGVkOiJkaXNhYmxlZC1ZVEZJSjYyaCIsZGlzYWJsZWRPbkludGVydmFsOiJkaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmgiLHdpdGhDdXN0b21UZXh0Q29sb3I6IndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmgiLHN0dWR5OiJzdHVkeS1ZVEZJSjYyaCIsbWFpblRpdGxlOiJtYWluVGl0bGUtWVRGSUo2MmgiLGlucHV0VGl0bGU6ImlucHV0VGl0bGUtWVRGSUo2MmgiLGhpZGVWYWx1ZXM6ImhpZGVWYWx1ZXMtWVRGSUo2MmgiLGhhczVCdXR0b25zOiJoYXM1QnV0dG9ucy1ZVEZJSjYyaCIsc3RheUluSG92ZXJlZE1vZGU6InN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoIix3aXRoVGFpbDoid2l0aFRhaWwtWVRGSUo2MmgiLGxvYWRlcjoibG9hZGVyLVlURklKNjJoIix2YWx1ZVZhbHVlOiJ2YWx1ZVZhbHVlLVlURklKNjJoIix2YWx1ZVRpdGxlOiJ2YWx1ZVRpdGxlLVlURklKNjJoIixkZXNjVGl0bGU6ImRlc2NUaXRsZS1ZVEZJSjYyaCIsaW50ZXJ2YWxUaXRsZToiaW50ZXJ2YWxUaXRsZS1ZVEZJSjYyaCIscHJvdmlkZXJUaXRsZToicHJvdmlkZXJUaXRsZS1ZVEZJSjYyaCIsZXhjaGFuZ2VUaXRsZToiZXhjaGFuZ2VUaXRsZS1ZVEZJSjYyaCIsc3R5bGVUaXRsZToic3R5bGVUaXRsZS1ZVEZJSjYyaCIscHJpY2VTb3VyY2VUaXRsZToicHJpY2VTb3VyY2VUaXRsZS1ZVEZJSjYyaCIsZmxhZ2dlZDoiZmxhZ2dlZC1ZVEZJSjYyaCIsbWVkaXVtOiJtZWRpdW0tWVRGSUo2MmgiLG1pbmltaXplZDoibWluaW1pemVkLVlURklKNjJoIixtaWNybzoibWljcm8tWVRGSUo2MmgiLGxpbmtlZDoibGlua2VkLVlURklKNjJoIixvbmx5T25lQnV0dG9uQ2FuQmVTdGljazoib25seU9uZUJ1dHRvbkNhbkJlU3RpY2stWVRGSUo2MmgiLHRvdWNoTW9kZToidG91Y2hNb2RlLVlURklKNjJoIixidXR0b25JY29uOiJidXR0b25JY29uLVlURklKNjJoIixidXR0b25fX2FjdGl2ZToiYnV0dG9uX19hY3RpdmUtWVRGSUo2MmgiLGZsYWc6ImZsYWctWVRGSUo2MmgiLGV5ZToiZXllLVlURklKNjJoIixleWVMb2FkaW5nOiJleWVMb2FkaW5nLVlURklKNjJoIiwiZXllLWFuaW1hdGlvbiI6ImV5ZS1hbmltYXRpb24tWVRGSUo2MmgiLGxpbmtpbmc6ImxpbmtpbmctWVRGSUo2MmgiLGludGVydmFsRXllOiJpbnRlcnZhbEV5ZS1ZVEZJSjYyaCIsbWFya2VyQ29udGFpbmVyOiJtYXJrZXJDb250YWluZXItWVRGSUo2MmgiLGZsYWdXcmFwcGVyOiJmbGFnV3JhcHBlci1ZVEZJSjYyaCIsc291cmNlc1dyYXBwZXI6InNvdXJjZXNXcmFwcGVyLVlURklKNjJoIixsZWdlbmRNYWluU291cmNlV3JhcHBlcjoibGVnZW5kTWFpblNvdXJjZVdyYXBwZXItWVRGSUo2MmgiLHNvdXJjZXM6InNvdXJjZXMtWVRGSUo2MmgiLHRvZ2dsZXJXcmFwcGVyOiJ0b2dnbGVyV3JhcHBlci1ZVEZJSjYyaCIsdG9nZ2xlcldyYXBwZXJfX2xvYWRlcjoidG9nZ2xlcldyYXBwZXJfX2xvYWRlci1ZVEZJSjYyaCIsdG9nZ2xlcjoidG9nZ2xlci1ZVEZJSjYyaCBwYW5lLWJ1dHRvbi1MY1lkbzJONiIsb25seU9uZVNvdXJjZVNob3duOiJvbmx5T25lU291cmNlU2hvd24tWVRGSUo2MmgiLGNvdW50ZXI6ImNvdW50ZXItWVRGSUo2MmgiLGljb25BcnJvdzoiaWNvbkFycm93LVlURklKNjJoIixvYmplY3RUcmVlOiJvYmplY3RUcmVlLVlURklKNjJoIixjbG9zZWQ6ImNsb3NlZC1ZVEZJSjYyaCIsc2F2ZUFycm93V2lkdGg6InNhdmVBcnJvd1dpZHRoLVlURklKNjJoIiwKb2JqZWN0c1RyZWVDYW5CZVNob3duOiJvYmplY3RzVHJlZUNhbkJlU2hvd24tWVRGSUo2MmgifX0sNDI2Mjc0KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1wYW5lLWNvbnRyb2xzLXBhZGRpbmciOiI0cHgiLGNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX21hcmdpbl90b3A6IjQiLGNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX2J1dHRvbl9zaXplOiIyMiIsY3NzX3ZhbHVlX3BhbmVfY29udHJvbHNfYnV0dG9uX3RvdWNoX3NpemU6IjIyIixwYW5lQ29udHJvbHM6InBhbmVDb250cm9scy1FeHp4OUlBWiIscGFuZUNvbnRyb2xzX2hpZGRlbjoicGFuZUNvbnRyb2xzX2hpZGRlbi1FeHp4OUlBWiIscGFuZUNvbnRyb2xzX2ZvcmNlSGlkZGVuOiJwYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4tRXh6eDlJQVoiLHBhbmVDb250cm9sc19yZW1vdmU6InBhbmVDb250cm9sc19yZW1vdmUtRXh6eDlJQVoiLGJ1dHRvbnM6ImJ1dHRvbnMtRXh6eDlJQVoiLGJ1dHRvbjoiYnV0dG9uLUV4eng5SUFaIixidXR0b25fYWN0aXZhdGVkOiJidXR0b25fYWN0aXZhdGVkLUV4eng5SUFaIix0b3VjaE1vZGU6InRvdWNoTW9kZS1FeHp4OUlBWiIsbWF4aW1pemU6Im1heGltaXplLUV4eng5SUFaIixjb2xsYXBzZToiY29sbGFwc2UtRXh6eDlJQVoiLCJtYXhpbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldCI6Im1heGltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaIiwibWF4aW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldCI6Im1heGltaXplLWFuaW1hdGlvbi1kb3duLWJyYWNrZXQtRXh6eDlJQVoiLG1pbmltaXplOiJtaW5pbWl6ZS1FeHp4OUlBWiIscmVzdG9yZToicmVzdG9yZS1FeHp4OUlBWiIsIm1pbmltaXplLWFuaW1hdGlvbi11cC1icmFja2V0IjoibWluaW1pemUtYW5pbWF0aW9uLXVwLWJyYWNrZXQtRXh6eDlJQVoiLCJtaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0IjoibWluaW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldC1FeHp4OUlBWiIsdXA6InVwLUV4eng5SUFaIixidXR0b25JY29uOiJidXR0b25JY29uLUV4eng5SUFaIiwidXAtYW5pbWF0aW9uIjoidXAtYW5pbWF0aW9uLUV4eng5SUFaIixkb3duOiJkb3duLUV4eng5SUFaIiwiZG93bi1hbmltYXRpb24iOiJkb3duLWFuaW1hdGlvbi1FeHp4OUlBWiJ9fSw3NzIwMjgoZSl7ZS5leHBvcnRzPXtibG9ja0hpZGRlbjoiYmxvY2tIaWRkZW4tTGNZZG8yTjYiLCJwYW5lLWJ1dHRvbiI6InBhbmUtYnV0dG9uLUxjWWRvMk42In19LDc1MTg2MyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtR2hEalh6QngiLGlucHV0OiJpbnB1dC1HaERqWHpCeCIsYm94OiJib3gtR2hEalh6QngiLGhvdmVyRG90OiJob3ZlckRvdC1HaERqWHpCeCIscmVkOiJyZWQtR2hEalh6QngiLGJsdWU6ImJsdWUtR2hEalh6QngiLGdyZWVuOiJncmVlbi1HaERqWHpCeCIsb3JhbmdlOiJvcmFuZ2UtR2hEalh6QngiLHB1cnBsZToicHVycGxlLUdoRGpYekJ4IixjeWFuOiJjeWFuLUdoRGpYekJ4IixwaW5rOiJwaW5rLUdoRGpYekJ4IixsYXJnZToibGFyZ2UtR2hEalh6QngiLHBpY2tlckRvdDoicGlja2VyRG90LUdoRGpYekJ4In19LDU1ODg3MyhlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXIteWZOYmd0Z04iLGJ1dHRvbnM6ImJ1dHRvbnMteWZOYmd0Z04iLGNvbG9yU2VsZWN0QnV0dG9uOiJjb2xvclNlbGVjdEJ1dHRvbi15Zk5iZ3RnTiJ9fSw1NTg5NzIoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLVZuZVFWb052IixzZWxlY3Rvcjoic2VsZWN0b3ItVm5lUVZvTnYiLGFycm93TGVmdDoiYXJyb3dMZWZ0LVZuZVFWb052Iixjb2xvclNlbGVjdEJ1dHRvbjoiY29sb3JTZWxlY3RCdXR0b24tVm5lUVZvTnYiLHBvcHVwOiJwb3B1cC1WbmVRVm9OdiJ9fSw5MTYyNihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tdlRtOE8wTE0iLGludGVyYWN0aXZlOiJpbnRlcmFjdGl2ZS12VG04TzBMTSIsaG92ZXJlZDoiaG92ZXJlZC12VG04TzBMTSIsZGlzYWJsZWQ6ImRpc2FibGVkLXZUbThPMExNIixhY3RpdmU6ImFjdGl2ZS12VG04TzBMTSIsc2hvcnRjdXQ6InNob3J0Y3V0LXZUbThPMExNIixub3JtYWw6Im5vcm1hbC12VG04TzBMTSIsYmlnOiJiaWctdlRtOE8wTE0iLGljb25DZWxsOiJpY29uQ2VsbC12VG04TzBMTSIsaWNvbjoiaWNvbi12VG04TzBMTSIsY29udGVudDoiY29udGVudC12VG04TzBMTSIsbGFiZWw6ImxhYmVsLXZUbThPMExNIixjaGVja2VkOiJjaGVja2VkLXZUbThPMExNIix0b29sYm94OiJ0b29sYm94LXZUbThPMExNIixzaG93VG9vbGJveE9uSG92ZXI6InNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTSIsYXJyb3dJY29uOiJhcnJvd0ljb24tdlRtOE8wTE0iLHN1Yk1lbnU6InN1Yk1lbnUtdlRtOE8wTE0iLGludmlzaWJsZUhvdGtleToiaW52aXNpYmxlSG90a2V5LXZUbThPMExNIn19LDEwNzk2NihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tZDlqTE9MclIiLGVtcHR5SWNvbnM6ImVtcHR5SWNvbnMtZDlqTE9MclIiLGxvYWRpbmc6ImxvYWRpbmctZDlqTE9MclIiLGRpc2FibGVkOiJkaXNhYmxlZC1kOWpMT0xyUiIsaW50ZXJhY3RpdmU6ImludGVyYWN0aXZlLWQ5akxPTHJSIixob3ZlcmVkOiJob3ZlcmVkLWQ5akxPTHJSIixub3JtYWw6Im5vcm1hbC1kOWpMT0xyUiIsYmlnOiJiaWctZDlqTE9MclIiLGljb246Imljb24tZDlqTE9MclIiLGxhYmVsOiJsYWJlbC1kOWpMT0xyUiIsdGl0bGU6InRpdGxlLWQ5akxPTHJSIixuZXN0ZWQ6Im5lc3RlZC1kOWpMT0xyUiIsc2hvcnRjdXQ6InNob3J0Y3V0LWQ5akxPTHJSIixyZW1vdmU6InJlbW92ZS1kOWpMT0xyUiJ9fSw5NTQ0NzgoZSl7ZS5leHBvcnRzPXtzZXBhcmF0b3I6InNlcGFyYXRvci1LSHR5TVRZRyJ9fSw4NjU1NjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZBcHBDb250ZXh0OigpPT5kLFRWQXBwQ29udGV4dFByb3ZpZGVyOigpPT5yfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgxMTUyOTMpLG49aSg5OTk1MSksYT1pKDExNzMxMyk7Y29uc3QgbD17aU9zOiJvbGQiLGFuZHJvaWQ6Im5ldyIsb2xkOiJvbGQiLG5ldzoibmV3Iixhbnk6ImFueSJ9O2Z1bmN0aW9uIHIoZSl7Y29uc3RbdF09KDAsCnMudXNlU3RhdGUpKHtpc09uTW9iaWxlQXBwUGFnZTplPT4oMCxhLmlzT25Nb2JpbGVBcHBQYWdlKShsW2VdKSxpc1J0bDooMCxvLmlzUnRsKSgpLGxvY2FsZTp3aW5kb3cubG9jYWxlLHJlbmRlck1vZGU6ZS5yZW5kZXJNb2RlPz8ibGVnYWN5In0pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQobi5BcHBDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0fSxlLmNoaWxkcmVuKX1jb25zdCBkPW4uQXBwQ29udGV4dH0sNTcxMzAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHtjcmVhdGVSZWFjdFJvb3Q6KCk9Pmx9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDEyOTM2NSksbj1pKDMzNjMzNCksYT1pKDg2NTU2MCk7ZnVuY3Rpb24gbChlLHQsaT0ibGVnYWN5Iil7Y29uc3QgbD1zLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTppfSxlKTtpZigibW9kZXJuIj09PWkpe2NvbnN0IGU9KDAsbi5jcmVhdGVSb290KSh0KTtyZXR1cm4gZS5yZW5kZXIobCkse3JlbmRlcih0KXtlLnJlbmRlcihzLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTppfSx0KSl9LHVubW91bnQoKXtlLnVubW91bnQoKX19fXJldHVybiBvLnJlbmRlcihsLHQpLHtyZW5kZXIoZSl7by5yZW5kZXIocy5jcmVhdGVFbGVtZW50KGEuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6aX0sZSksdCl9LHVubW91bnQoKXtvLnVubW91bnRDb21wb25lbnRBdE5vZGUodCl9fX19LDMxMzc3MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEcmF3ZXJDb250ZXh0OigpPT5hLERyYXdlck1hbmFnZXI6KCk9Pm59KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDk5NTY3OCk7Y2xhc3MgbiBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9pc0JvZHlGaXhlZD0hMSx0aGlzLl9hZGREcmF3ZXI9ZT0+e3RoaXMuc2V0U3RhdGUoKHQ9Pih7c3RhY2s6Wy4uLnQuc3RhY2ssZV19KSkpfSx0aGlzLl9yZW1vdmVEcmF3ZXI9ZT0+e3RoaXMuc2V0U3RhdGUoKHQ9Pih7c3RhY2s6dC5zdGFjay5maWx0ZXIoKHQ9PnQhPT1lKSl9KSkpfSx0aGlzLnN0YXRlPXtzdGFjazpbXX19Y29tcG9uZW50RGlkVXBkYXRlKGUsdCl7IXQuc3RhY2subGVuZ3RoJiZ0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmKCgwLG8ucmVxdWVzdE1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMCksdC5zdGFjay5sZW5ndGgmJiF0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigoMCxvLnJlbGVhc2VNb2RhbFNjcm9sbExvY2spKHdpbmRvdyksdGhpcy5faXNCb2R5Rml4ZWQ9ITEpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGgmJnRoaXMuX2lzQm9keUZpeGVkJiYoMCxvLnJlbGVhc2VNb2RhbFNjcm9sbExvY2spKHdpbmRvdyl9cmVuZGVyKCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTp7YWRkRHJhd2VyOnRoaXMuX2FkZERyYXdlcixyZW1vdmVEcmF3ZXI6dGhpcy5fcmVtb3ZlRHJhd2VyLGN1cnJlbnREcmF3ZXI6dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGg/dGhpcy5zdGF0ZS5zdGFja1t0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aC0xXTpudWxsfX0sdGhpcy5wcm9wcy5jaGlsZHJlbil9fWNvbnN0IGE9cy5jcmVhdGVDb250ZXh0KG51bGwpfSw5NjQyMTQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7RHJhd2VyOigpPT5ffSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg5MTQ0ODcpLG49aS5uKG8pLGE9aSgxMzg2MzgpLGw9aSg1ODU0OCkscj1pKDE1MDE1MCksZD1pKDMxMzc3MiksdT1pKDYzMjk5MiksYz1pKDU1ODAzMCksaD1pKDgwMzI4Nyk7dmFyIHA7ZnVuY3Rpb24gXyhlKXtjb25zdHtwb3NpdGlvbjp0PSJCb3R0b20iLG9uQ2xvc2U6aSxjaGlsZHJlbjpvLHJlZmVyZW5jZTpjLGNsYXNzTmFtZTpwLHRoZW1lOl89aH09ZSxtPSgwLGEuZW5zdXJlTm90TnVsbCkoKDAscy51c2VDb250ZXh0KShkLkRyYXdlckNvbnRleHQpKSxbYl09KDAscy51c2VTdGF0ZSkoKCgpPT4oMCxyLnJhbmRvbUhhc2gpKCkpKSx2PSgwLHMudXNlUmVmKShudWxsKSxmPSgwLHMudXNlQ29udGV4dCkodS5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGEuZW5zdXJlTm90TnVsbCkodi5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGYuc3Vic2NyaWJlKG0saSksbS5hZGREcmF3ZXIoYiksKCk9PnttLnJlbW92ZURyYXdlcihiKSxmLnVuc3Vic2NyaWJlKG0saSl9KSksW10pLHMuY3JlYXRlRWxlbWVudChsLlBvcnRhbCxudWxsLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmMsY2xhc3NOYW1lOm4oKShoLndyYXAsaFtgcG9zaXRpb24ke3R9YF0pfSxiPT09bS5jdXJyZW50RHJhd2VyJiZzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpoLmJhY2tkcm9wLG9uQ2xpY2s6aX0pLHMuY3JlYXRlRWxlbWVudChnLHtjbGFzc05hbWU6bigpKF8uZHJhd2VyLGhbYHBvc2l0aW9uJHt0fWBdLHApLHJlZjp2LCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LG8pKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KHB8fChwPXt9KSk7Y29uc3QgZz0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTppLC4uLm99PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChjLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKGguZHJhd2VyLGkpLHRhYkluZGV4Oi0xLHJlZjp0LC4uLm99KX0pKX0sNjMyOTkyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgyNzYwMTkpO2NvbnN0IG49cy5jcmVhdGVDb250ZXh0KG8uZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDk5OTUxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FwcENvbnRleHQ6KCk9PnN9KTtjb25zdCBzPSgwLGkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7CmlzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDEwNzU4NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gdHx8bnVsbD09ZXx8KCJzdHJpbmciPT10eXBlb2YgZXx8QXJyYXkuaXNBcnJheShlKSkmJjA9PT1lLmxlbmd0aH1pLmQodCx7aXNJY29uT25seTooKT0+c30pfSwyMjA3NjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7QnV0dG9uR3JvdXBDb250ZXh0OigpPT5zfSk7Y29uc3Qgcz1pKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCh7aXNJbkJ1dHRvbkdyb3VwOiExLGlzR3JvdXBQcmltYXJ5OiExfSl9LDMyODIxOShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt1c2VMaWdodEJ1dHRvbkNsYXNzZXM6KCk9PnV9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDMwOTkyMCksbD1pKDEwNzU4NSkscj1pKDUzMjAxMSksZD1pKDIyMDc2NCk7Y29uc3QgdT0oZSx0LGkpPT57Y29uc3Qgbz0oMCxzLnVzZUNvbnRleHQpKGEuQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCkse2NsYXNzTmFtZTp1LGlzU2VsZWN0ZWQ6YyxjaGlsZHJlbjpoLHNob3dDYXJldDpwLGZvcmNlRGlyZWN0aW9uOl8saWNvbk9ubHk6Zyxjb2xvcjptPSJncmF5Iix2YXJpYW50OmI9InByaW1hcnkiLHNpemU6dj0ibWVkaXVtIixlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpmPW8uZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsdHlwb2dyYXBoeTpTLGlzTGluazp5PSExLHRleHRXcmFwOncsaXNQaWxsczpDLGlzQWN0aXZlOkUsc3RhcnRTbG90OngsZW5kU2xvdDpMfT10LE09ZVtgdHlwb2dyYXBoeS0keygoZSx0LGkpPT57aWYoaSl7Y29uc3QgZT1pLnJlcGxhY2UoL15cRCsvZywiIik7cmV0dXJuIHQ/YHNlbWlib2xkJHtlfWA6aX1zd2l0Y2goZSl7Y2FzZSJ4c21hbGwiOnJldHVybiB0PyJzZW1pYm9sZDE0cHgiOiJyZWd1bGFyMTRweCI7Y2FzZSJzbWFsbCI6Y2FzZSJtZWRpdW0iOnJldHVybiB0PyJzZW1pYm9sZDE2cHgiOiJyZWd1bGFyMTZweCI7ZGVmYXVsdDpyZXR1cm4iIn19KSh2LGN8fEMsU3x8dm9pZCAwKX1gXSxUPSgwLHMudXNlQ29udGV4dCkoci5Db250cm9sR3JvdXBDb250ZXh0KSx7aXNJbkJ1dHRvbkdyb3VwOlYsaXNHcm91cFByaW1hcnk6a309KDAscy51c2VDb250ZXh0KShkLkJ1dHRvbkdyb3VwQ29udGV4dCk7cmV0dXJuIG4oKSh1LGUubGlnaHRCdXR0b24seSYmZS5saW5rLEUmJmUuYWN0aXZlLGMmJmUuc2VsZWN0ZWQsKDAsbC5pc0ljb25Pbmx5KShoLGcpJiZlLm5vQ29udGVudCwhIXgmJmUud2l0aFN0YXJ0U2xvdCwocHx8ISFMKSYmZS53aXRoRW5kU2xvdCxpJiZlLndpdGhHcm91cGVkLF8mJmVbX10sZVtrPyJwcmltYXJ5IjpiXSxlW2s/ImdyYXkiOm1dLGVbdl0sTSwhZiYmZS5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMsVC5pc0dyb3VwZWQmJmUuZ3JvdXBlZCx3JiZlLndyYXAsViYmZS5kaXNhYmxlQWN0aXZlT25Ub3VjaCxDJiZlLnBpbGxzKX19LDgzMDEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xpZ2h0QnV0dG9uQ29udGVudDooKT0+cH0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoOTE0NDg3KSxuPWkubihvKSxhPWkoNzcwMTQzKSxsPWkoMTA3NTg1KSxyPWkoMjczMzEwKSxkPWkoOTM1MSksdT1pLm4oZCksYz1pKDM2NDgxNSksaD1pLm4oYyk7ZnVuY3Rpb24gcChlKXtjb25zdHtzaG93Q2FyZXQ6dCxpY29uT25seTppLGVsbGlwc2lzOm89ITAsdGV4dFdyYXA6ZCx0b29sdGlwVGV4dDpjLGNoaWxkcmVuOnAsZW5kU2xvdDpfLHN0YXJ0U2xvdDpnLGlzQWN0aXZlQ2FyZXQ6bX09ZTtbXyx0XS5maWx0ZXIoKGU9PiEhZSkpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLGcmJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLnNsb3QsaCgpLnN0YXJ0U2xvdCl9LGcpLCEoMCxsLmlzSWNvbk9ubHkpKHAsaSkmJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLmNvbnRlbnQsIWQmJmgoKS5ub3dyYXAsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiLCJhcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbi1yZWN1cnNpdmVseSIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOmM/PygwLGEuZ2V0VGV4dEZvclRvb2x0aXApKHApfSxkfHxvP3MuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKSghZCYmbyYmaCgpLmVsbGlwc2lzQ29udGFpbmVyLGQmJmgoKS50ZXh0V3JhcENvbnRhaW5lcixkJiZvJiZoKCkudGV4dFdyYXBXaXRoRWxsaXBzaXMpfSxwKSxzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LHApKTpzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHAscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmgoKS52aXN1YWxseUhpZGRlbiwiYXJpYS1oaWRkZW4iOiEwfSxwKSkpLF8mJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLnNsb3QsaCgpLmVuZFNsb3QpfSxfKSx0JiYoZT0+cy5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOm4oKShoKCkuY2FyZXQsZSYmaCgpLmFjdGl2ZUNhcmV0KSxpY29uOnUoKX0pKShtKSl9fSw4NTQ4MjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TGlnaHRCdXR0b246KCk9Pmh9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDUzMjAxMSksbj1pKDMyODIxOSksYT1pKDgzMDEyKSxsPWkoMzQ1MTE2KSxyPWkoMzY0ODE1KSxkPWkubihyKSx1PWkoODU0NDUpLGM9aS5uKHUpO2Z1bmN0aW9uIGgoZSl7CmNvbnN0e2lzR3JvdXBlZDp0fT1zLnVzZUNvbnRleHQoby5Db250cm9sR3JvdXBDb250ZXh0KSx7cmVmZXJlbmNlOmksY2xhc3NOYW1lOnIsaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmgsaWNvbk9ubHk6cCxlbGxpcHNpczpfLHNob3dDYXJldDpnLGZvcmNlRGlyZWN0aW9uOm0sZW5kU2xvdDpiLHN0YXJ0U2xvdDp2LGNvbG9yOmYsdmFyaWFudDpTLHNpemU6eSxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczp3LHR5cG9ncmFwaHk6Qyx0ZXh0V3JhcDpFPSExLG1heExpbmVzOngsc3R5bGU6TD17fSxpc1BpbGxzOk0saXNBY3RpdmU6VCx0b29sdGlwVGV4dDpWLHJvbGU6ayxkYXRhUWFJZDpBLGFyaWFMYWJlbDpXLG5hbWU6SSxvbkZvY3VzOkIsb25CbHVyOkgsb25Nb3VzZUVudGVyOkQsb25Nb3VzZUxlYXZlOlAsb25Nb3VzZU92ZXI6Tixvbk1vdXNlT3V0OlIsb25DbGljazpPLG9uQW5pbWF0aW9uRW5kOkYsb25Qb2ludGVyT3Zlcjp6LG9uUG9pbnRlck91dDpqLG9uS2V5RG93bjpVLGF1dG9Gb2N1czpHLGlzQWN0aXZlQ2FyZXQ6WixpZDpKLGRpc2FibGVkOlksdGFiSW5kZXg6cSx2YWx1ZTokLHRpdGxlOlEsdHlwZTpLLC4uLlh9PWUsZWU9KDAsbC5maWx0ZXJEYXRhUHJvcHMpKFgpLHRlPSgwLGwuZmlsdGVyQXJpYVByb3BzKShYKSxpZT1FP3g/PzI6MSxzZT1pZT4wP3suLi5MLCItLXVpLWxpYi1saWdodC1idXR0b24tY29udGVudC1tYXgtbGluZXMiOmllfTpMO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse25hbWU6SSxvbkZvY3VzOkIsb25CbHVyOkgsb25Nb3VzZUVudGVyOkQsb25Nb3VzZUxlYXZlOlAsb25Nb3VzZU92ZXI6Tixvbk1vdXNlT3V0OlIsb25DbGljazpPLG9uQW5pbWF0aW9uRW5kOkYsb25Qb2ludGVyT3Zlcjp6LG9uUG9pbnRlck91dDpqLG9uS2V5RG93bjpVLGF1dG9Gb2N1czpHLGlkOkosZGlzYWJsZWQ6WSx0YWJJbmRleDpxLHZhbHVlOiQsdGl0bGU6USx0eXBlOkssImRhdGEtcWEtaWQiOkEsImFyaWEtbGFiZWwiOlcsLi4uZWUsLi4udGUsY2xhc3NOYW1lOigwLG4udXNlTGlnaHRCdXR0b25DbGFzc2VzKSh7Li4uYygpLC4uLmQoKX0se2NsYXNzTmFtZTpyLGlzU2VsZWN0ZWQ6dSxjaGlsZHJlbjpoLGljb25Pbmx5OnAsc2hvd0NhcmV0OmcsZm9yY2VEaXJlY3Rpb246bSxlbmRTbG90OmIsc3RhcnRTbG90OnYsY29sb3I6Zix2YXJpYW50OlMsc2l6ZTp5LGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOncsdHlwb2dyYXBoeTpDLHRleHRXcmFwOkUsaXNQaWxsczpNLGlzQWN0aXZlOlR9LHQpLHJlZjppLHN0eWxlOnNlLHJvbGU6a30scy5jcmVhdGVFbGVtZW50KGEuTGlnaHRCdXR0b25Db250ZW50LHtzaG93Q2FyZXQ6Zyxpc0FjdGl2ZUNhcmV0OmcmJihNfHxUfHx1fHxaKSxpY29uT25seTpwLGVsbGlwc2lzOl8sdGV4dFdyYXA6RSx0b29sdGlwVGV4dDpWLGVuZFNsb3Q6YixzdGFydFNsb3Q6dn0saCkpfX0sOTg2NjA5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse05hdkJ1dHRvbkNvbnRlbnQ6KCk9PmMsZ2V0TmF2QnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoOTE0NDg3KSxuPWkubihvKSxhPWkoNDgwOTcyKSxsPWkoNDAyMjUzKSxyPWkubihsKTtjb25zdCBkPXsiLS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYmxlbmRNaXhMaWdodCI6ImNvbG9yLWJ1cm4iLCItLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peERhcmsiOiJjb2xvci1kb2RnZSJ9O2Z1bmN0aW9uIHUoZSl7Y29uc3R7c2l6ZTp0PSJsYXJnZSIscHJlc2VydmVQYWRkaW5nczppLGlzTGluazpzLGZsaXBJY29uT25SdGw6byxibGVuZE1vZGU6YSxjbGFzc05hbWU6bH09ZTtyZXR1cm4gbigpKHIoKS5uYXZCdXR0b24scigpW3RdLGkmJnIoKS5wcmVzZXJ2ZVBhZGRpbmdzLG8mJnIoKS5mbGlwSWNvbixhJiZyKCkuYmxlbmRNb2RlLHMmJnIoKS5saW5rLGwpfWZ1bmN0aW9uIGMoZSl7Y29uc3R7Y2hpbGRyZW46dCxpY29uOmksYmxlbmRNb2RlOm99PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKS5iYWNrZ3JvdW5kLHN0eWxlOm8/ZDp2b2lkIDB9KSxzLmNyZWF0ZUVsZW1lbnQoYS5TY2FsYWJsZUljb24se2ljb246aSxjbGFzc05hbWU6cigpLmljb259KSx0JiZzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpLnZpc3VhbGx5SGlkZGVufSx0KSl9fSw4ODA4ODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TmF2QnV0dG9uOigpPT5ufSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg5ODY2MDkpO2NvbnN0IG49KDAscy5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtpY29uOmksdHlwZTpuPSJidXR0b24iLHByZXNlcnZlUGFkZGluZ3M6YSxmbGlwSWNvbk9uUnRsOmwsc2l6ZTpyLGJsZW5kTW9kZTpkLGFyaWFMYWJlbDp1LC4uLmN9PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Li4uYyxjbGFzc05hbWU6KDAsby5nZXROYXZCdXR0b25DbGFzc2VzKSh7Li4uZSxjaGlsZHJlbjp1fSkscmVmOnQsdHlwZTpufSxzLmNyZWF0ZUVsZW1lbnQoby5OYXZCdXR0b25Db250ZW50LHtpY29uOmksYmxlbmRNb2RlOmR9LHUpKX0pKTtuLmRpc3BsYXlOYW1lPSJOYXZCdXR0b24ifSw2Mjc4NDgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QmxvY2tTdHlsZUNsYXNzZXM6KCk9PnIsZ2V0TG9nb1N0eWxlQ2xhc3NlczooKT0+ZH0pO3ZhciBzPWkoOTE0NDg3KSxvPWkubihzKSxuPWkoMTM2NCksYT1pKDg2MDAyNSksbD1pLm4oYSk7ZnVuY3Rpb24gcihlLHQpe3JldHVybiBvKCkobCgpLnBhaXIsbCgpW2VdLHQpfWZ1bmN0aW9uIGQoZSx0PTIsaT0hMCl7cmV0dXJuIG8oKShsKCkubG9nbyxsKClbZV0sbCgpLnNrZWxldG9uLG4uc2tlbGV0b25UaGVtZS53cmFwcGVyLCFpJiZsKCkuZW1wdHksMT09PXQmJm8oKShuLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpKX19LDM4Nzc3NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDaXJjbGVMb2dvOigpPT5sLGhpZGRlbkNpcmNsZUxvZ29DbGFzczooKT0+YX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNzk0MTg3KSxuPWkoMTQwMDE3KQo7Y29uc3QgYT1pLm4obikoKS5oaWRkZW47ZnVuY3Rpb24gbChlKXtjb25zdCB0PSgwLG8uaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKSxbaSxuXT0oMCxzLnVzZVN0YXRlKSgwKSxhPSgwLHMudXNlUmVmKShudWxsKSxsPSgwLG8uZ2V0U3R5bGVDbGFzc2VzKShlLnNpemUsaSxlLmNsYXNzTmFtZSkscj1lLmFsdD8/ZS50aXRsZT8/IiIsZD10P3JbMF06ZS5wbGFjZWhvbGRlckxldHRlcjtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT5uKGEuY3VycmVudD8uY29tcGxldGU/PyF0PzI6MSkpLFt0XSksdCYmMyE9PWk/cy5jcmVhdGVFbGVtZW50KCJpbWciLHtyZWY6YSxjbGFzc05hbWU6bCxjcm9zc09yaWdpbjoiIixzcmM6ZS5sb2dvVXJsLGFsdDpyLHRpdGxlOmUudGl0bGUsbG9hZGluZzplLmxvYWRpbmcsb25Mb2FkOigpPT5uKDIpLG9uRXJyb3I6KCk9Pm4oMyksImFyaWEtbGFiZWwiOmVbImFyaWEtbGFiZWwiXSwiYXJpYS1oaWRkZW4iOmVbImFyaWEtaGlkZGVuIl19KTpzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bCx0aXRsZTplLnRpdGxlLCJhcmlhLWxhYmVsIjplWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjplWyJhcmlhLWhpZGRlbiJdfSxkKX19LDc5NDE4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PnIsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5kfSk7dmFyIHM9aSg5MTQ0ODcpLG89aS5uKHMpLG49aSgxMzY0KSxhPWkoMTQwMDE3KSxsPWkubihhKTtmdW5jdGlvbiByKGUsdD0yLGkpe3JldHVybiBvKCkobCgpLmxvZ28sbCgpW2VdLGksMD09PXR8fDE9PT10P28oKShuLnNrZWxldG9uVGhlbWUud3JhcHBlcixsKCkuc2tlbGV0b24pOmwoKS5sZXR0ZXIsMT09PXQmJm4uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gZChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sNTMyMDExKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRyb2xHcm91cENvbnRleHQ6KCk9Pm4sZGVmYXVsdENlbGxTdGF0ZTooKT0+b30pO3ZhciBzPWkoNzc5NDc0KTtjb25zdCBvPXtpc1RvcDohMCxpc1JpZ2h0OiEwLGlzQm90dG9tOiEwLGlzTGVmdDohMH0sbj1zLmNyZWF0ZUNvbnRleHQoe2lzR3JvdXBlZDohMSxjZWxsU3RhdGU6b30pfSwzMDk5MjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q3VzdG9tQmVoYXZpb3VyQ29udGV4dDooKT0+c30pO2NvbnN0IHM9KDAsaSg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczohMH0pO3MuZGlzcGxheU5hbWU9IkN1c3RvbUJlaGF2aW91ckNvbnRleHQifSw3ODc4OTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dXNlRnVuY3Rpb25hbFJlZk9iamVjdDooKT0+bn0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNjE2MzExKTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9KDAscy51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2NvbnN0IHQ9aT0+e2UoaSksdC5jdXJyZW50PWl9O3JldHVybiB0LmN1cnJlbnQ9bnVsbCx0fSgoZT0+e2wuY3VycmVudChlKX0pKSksW10pLGk9KDAscy51c2VSZWYpKG51bGwpLG49dD0+e2lmKG51bGw9PT10KXJldHVybiBhKGkuY3VycmVudCx0KSx2b2lkKGkuY3VycmVudD1udWxsKTtpLmN1cnJlbnQhPT1lJiYoaS5jdXJyZW50PWUsYShpLmN1cnJlbnQsdCkpfSxsPSgwLHMudXNlUmVmKShuKTtyZXR1cm4gbC5jdXJyZW50PW4sKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntpZihudWxsIT09dC5jdXJyZW50KXJldHVybiBsLmN1cnJlbnQodC5jdXJyZW50KSwoKT0+bC5jdXJyZW50KG51bGwpfSksW2VdKSx0fWZ1bmN0aW9uIGEoZSx0KXtudWxsIT09ZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6ZS5jdXJyZW50PXQpfX0sOTQ4NDUwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbW1vbkljb246KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6bix0aXRsZTphLGljb246bD0iIiwuLi5yfT1lLGQ9cix1PSEoIW8mJiFuKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6biwiYXJpYS1oaWRkZW4iOiF1LHJlZjp0LHJvbGU6ImltZyIsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpsfSxjbGFzc05hbWU6aSx0aXRsZTphLC4uLmR9KX0pKX0sMjczMzEwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0ljb246KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjppPSIiLHRpdGxlOm8sYXJpYUxhYmVsOm4sYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOmwsLi4ucn09ZSxkPSEhKG98fG58fGEpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLnIscmVmOnQsImFyaWEtbGFiZWwiOm4sImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOmx8fCFkLHRpdGxlOm8sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDppfX0pfSkpfSw0ODA5NzIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U2NhbGFibGVJY29uOigpPT5kfSk7dmFyIHM9aSg5MTQ0ODcpLG89aS5uKHMpLG49aSg3Nzk0NzQpLGE9aSg5NDg0NTApLGw9aSgyMDMyNzMpLHI9aS5uKGwpO2NvbnN0IGQ9bi5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTppLC4uLnN9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChhLkNvbW1vbkljb24sey4uLnMsY2xhc3NOYW1lOm8oKShpLHIoKS5zY2FsYWJsZUljb24pLHJlZjp0fSl9KSl9LDEzNjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c2tlbGV0b25UaGVtZTooKT0+b30pO3ZhciBzPWkoOTc1Mjg1KTtjb25zdCBvPWkubihzKSgpfSwxNDkzNjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U3dpdGNoR3JvdXA6KCk9Pm59KQo7dmFyIHM9aSg3Nzk0NzQpLG89aSg4Njk4NDIpO2NsYXNzIG4gZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fc3Vic2NyaXB0aW9ucz1uZXcgU2V0LHRoaXMuX2dldE5hbWU9KCk9PnRoaXMucHJvcHMubmFtZSx0aGlzLl9nZXRWYWx1ZXM9KCk9PnRoaXMucHJvcHMudmFsdWVzLHRoaXMuX2dldE9uQ2hhbmdlPSgpPT50aGlzLnByb3BzLm9uQ2hhbmdlLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoZSl9LHRoaXMuX3Vuc3Vic2NyaWJlPWU9Pnt0aGlzLl9zdWJzY3JpcHRpb25zLmRlbGV0ZShlKX0sdGhpcy5zdGF0ZT17c3dpdGNoR3JvdXBDb250ZXh0OntnZXROYW1lOnRoaXMuX2dldE5hbWUsZ2V0VmFsdWVzOnRoaXMuX2dldFZhbHVlcyxnZXRPbkNoYW5nZTp0aGlzLl9nZXRPbkNoYW5nZSxzdWJzY3JpYmU6dGhpcy5fc3Vic2NyaWJlLHVuc3Vic2NyaWJlOnRoaXMuX3Vuc3Vic2NyaWJlfX19cmVuZGVyKCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLlN3aXRjaEdyb3VwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpcy5zdGF0ZS5zd2l0Y2hHcm91cENvbnRleHR9LHRoaXMucHJvcHMuY2hpbGRyZW4pfWNvbXBvbmVudERpZFVwZGF0ZShlKXt0aGlzLl9ub3RpZnkodGhpcy5fZ2V0VXBkYXRlcyh0aGlzLnByb3BzLnZhbHVlcyxlLnZhbHVlcykpfV9ub3RpZnkoZSl7dGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKCh0PT50KGUpKSl9X2dldFVwZGF0ZXMoZSx0KXtyZXR1cm5bLi4udCwuLi5lXS5maWx0ZXIoKGk9PnQuaW5jbHVkZXMoaSk/IWUuaW5jbHVkZXMoaSk6ZS5pbmNsdWRlcyhpKSkpfX19LDM0NTExNihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIG4oZSxhKX1mdW5jdGlvbiBvKGUpe3JldHVybiBuKGUsbCl9ZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9T2JqZWN0LmVudHJpZXMoZSkuZmlsdGVyKHQpLHM9e307Zm9yKGNvbnN0W2UsdF1vZiBpKXNbZV09dDtyZXR1cm4gc31mdW5jdGlvbiBhKGUpe2NvbnN0W3QsaV09ZTtyZXR1cm4gMD09PXQuaW5kZXhPZigiZGF0YS0iKSYmInN0cmluZyI9PXR5cGVvZiBpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIDA9PT1lWzBdLmluZGV4T2YoImFyaWEtIil9ZnVuY3Rpb24gcihlLHQpe2NvbnN0IGk9cyhlKTtyZXR1cm4gdCYmKGlbImRhdGEtcWEtaWQiXT10KSxpfWkuZCh0LHtmaWx0ZXJBcmlhUHJvcHM6KCk9Pm8sZmlsdGVyQ2hlY2tlZERhdGFQcm9wczooKT0+cixmaWx0ZXJEYXRhUHJvcHM6KCk9PnMsZmlsdGVyUHJvcHM6KCk9Pm4saXNBcmlhQXR0cmlidXRlOigpPT5sLGlzRGF0YUF0dHJpYnV0ZTooKT0+YX0pfSw3NzAxNDMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0VGV4dEZvclRvb2x0aXA6KCk9PmF9KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1lPT4oMCxzLmlzVmFsaWRFbGVtZW50KShlKSYmQm9vbGVhbihlLnByb3BzLmNoaWxkcmVuKSxuPShlLHQ9ITApPT5udWxsPT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlfHwie30iPT09SlNPTi5zdHJpbmdpZnkoZSk/IiI6ZS50b1N0cmluZygpKyh0PyIgIjoiIiksYT1lPT5BcnJheS5pc0FycmF5KGUpfHwoMCxzLmlzVmFsaWRFbGVtZW50KShlKT9zLkNoaWxkcmVuLnRvQXJyYXkoZSkucmVkdWNlKCgoZSx0KT0+e2xldCBpPSIiO3JldHVybiBpPSgwLHMuaXNWYWxpZEVsZW1lbnQpKHQpJiZvKHQpP2EodC5wcm9wcy5jaGlsZHJlbik6KDAscy5pc1ZhbGlkRWxlbWVudCkodCkmJiFvKHQpPyIiOm4odCksZS5jb25jYXQoaSl9KSwiIikudHJpbSgpOm4oZSwhMSl9LDk2NDU5NChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHMoW2VdKX1pLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnN9KX0sOTczODA0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldEltYWdlOigpPT5ufSk7Y29uc3Qgcz1uZXcgTWFwO2Z1bmN0aW9uIG8oZSl7ZS5jcm9zc09yaWdpbj0iYW5vbnltb3VzIn1mdW5jdGlvbiBuKGUsdCxpPW8sbil7bGV0IGE9cy5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PWEmJihhPW5ldyBQcm9taXNlKCgoZSxzKT0+e2NvbnN0IG89bmV3IEltYWdlO28ub25sb2FkPSgpPT57ZShvKSxvLm9ubG9hZD1udWxsLG8ub25lcnJvcj1udWxsfSxvLm9uZXJyb3I9KCk9PntzKCksby5vbmxvYWQ9bnVsbCxvLm9uZXJyb3I9bnVsbH0saShvKSxvLnNyYz10LG4mJihuLm9uYWJvcnQ9KCk9PntzKCksby5vbmxvYWQ9bnVsbCxvLm9uZXJyb3I9bnVsbH0pfSkpLHMuc2V0KGUsYSkpLGF9fSw3OTAwNDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2hhbmdlRGVzY3JpcHRpb246KCk9PmQsY29udmVydFRvQ3VzdG9tU3ltYm9sTGlzdDooKT0+bCxjb252ZXJ0VG9NYXJrZWRTeW1ib2xMaXN0OigpPT5yfSk7dmFyIHM9aSgxMzg2MzgpLG89aSgzODQwMTcpLG49aSg1ODA1MjYpLGE9KGkoNjIxMjApLGkoOTYyMDgxKSxpKDMwNDM5OSkpO2koMTU1OTAwKSxpKDU2OTM5OCksaSg3ODgwMSk7ZnVuY3Rpb24gbChlKXtjb25zdCB0PWUuaWQsaT1lLm5hbWUse3N5bWJvbHM6cyxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLG4ubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybnt0eXBlOiJjdXN0b20iLGlkOnQsbmFtZTppLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sYWN0aXZlOmUuYWN0aXZlLHN5bWJvbHM6cyxzaGFyZWQ6ZS5zaGFyZWQsY29sbGFwc2VkU2VwYXJhdG9yczpvLHBlcnNpc3RlZFN0YXRlOmUsbWV0YTp7c2VydmVyX2lkOit0fX19ZnVuY3Rpb24gcihlKXtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkoZS5jb2xvcikse3N5bWJvbHM6aSxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLG4ubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybnt0eXBlOiJjb2xvcmVkIixpZDp0LApjb2xvcjp0LG5hbWU6ZS5uYW1lPz9udWxsLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sYWN0aXZlOmUuYWN0aXZlLHN5bWJvbHM6aSxzaGFyZWQ6ZS5zaGFyZWQsY29sbGFwc2VkU2VwYXJhdG9yczpvLHBlcnNpc3RlZFN0YXRlOmUsbWV0YTp7c2VydmVyX2lkOitlLmlkfX19ZnVuY3Rpb24gZChlLHQpe3JldHVybigwLG8uZmV0Y2gpKCgwLGEud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY3VzdG9tLyR7ZX0vdXBkYXRlX21ldGEvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7ZGVzY3JpcHRpb246dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihhLmhhbmRsZUpTT04pLnRoZW4obCl9fSw1ODA1MjYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0TG9jYWxMaXN0U3ltYm9sczooKT0+aCxsb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9sczooKT0+cixyZW1vdGVSZW5hbWVTZXBhcmF0b3JzOigpPT51LHJlbW90ZVN5bWJvbHNGb3JtTG9jYWxTdGF0ZTooKT0+ZCxzZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxvPWkoOTAxMDIyKSxuPWkoNzA1MDEyKSxhPWkoOTIyMjQ4KTtjb25zdCBsPW5ldyBSZWdFeHAoYF4ke28uU0VQQVJBVE9SX1BSRUZJWH0o4oGkKT8oLispJGApO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1bXSxpPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFsscyxuXT1lLm1hdGNoKGwpfHxbXTtpZihuKXtjb25zdCBlPWAke28uU0VQQVJBVE9SX1BSRUZJWH0ke259YDtzJiZpLnB1c2goZSksdC5wdXNoKGUpfWVsc2UgdC5wdXNoKGUpfSkpLHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczppfX1mdW5jdGlvbiBkKGUsdCl7Y29uc3QgaT1fKGUpO3JldHVybiB0Lm1hcCgoZT0+aT8uaGFzT3duUHJvcGVydHkoZSk/YyhlLGlbZV0pOmUpKX1mdW5jdGlvbiB1KGUsdCxpKXtjb25zdCBzPV8oZSk7aWYocz8uaGFzT3duUHJvcGVydHkoaSkpe2NvbnN0IGU9c1tpXTtyZXR1cm57b2xkU2VwYXJhdG9yOmModCxlKSxuZXdTZXBhcmF0b3I6YyhpLGUpfX1yZXR1cm57b2xkU2VwYXJhdG9yOnQsbmV3U2VwYXJhdG9yOml9fWZ1bmN0aW9uIGMoZSx0KXtjb25zdCBpPWUucmVwbGFjZShvLlNFUEFSQVRPUl9QUkVGSVgsIiIpLnJlcGxhY2UoIuKBpCIsIiIpO3JldHVybmAke28uU0VQQVJBVE9SX1BSRUZJWH0ke3Q/IuKBpCI6IiJ9JHtpfWB9ZnVuY3Rpb24gaChlKXtjb25zdCB0PXAoKTtyZXR1cm4oMCxzLmVuc3VyZURlZmluZWQpKHQubWFya2VkTGlzdHM/Lmxpc3RzLmJ5Q29sb3JbZV0/LnN5bWJvbHN8fHQuY3VzdG9tTGlzdHMubGlzdHMuYnlJZFtlXT8uc3ltYm9scyl9ZnVuY3Rpb24gcCgpe3JldHVybigwLG4uc2VydmljZSkoYS5TWU1CT0xfTElTVF9TRVJWSUNFKS5zdG9yZS5nZXRTdGF0ZSgpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIHAoKS5jb2xsYXBzZWRTZXBhcmF0b3JzW2VdfX0sNjIxMjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cGVuZGluZ09wZW5TZXBhcmF0b3JzOigpPT5zfSk7Y29uc3Qgcz1uZXcgU2V0fSw4Nzc0NDIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxvLG47aS5kKHQse1RpY2tlclR5cGU6KCk9PnN9KSxmdW5jdGlvbihlKXtlLlRpY2tlcj0idGlja2VyIixlLkRlc2NyaXB0aW9uPSJkZXNjcmlwdGlvbiJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5TeW1ib2xOYW1lPSJzaG9ydF9uYW1lIixlLkxhc3Q9Imxhc3RfcHJpY2UiLGUuQ2hhbmdlPSJjaGFuZ2UiLGUuQ2hhbmdlSW5QZXJjZW50cz0iY2hhbmdlX3BlcmNlbnQiLGUuVm9sdW1lPSJ2b2x1bWUiLGUuUHJlUG9zdE1hcmtldD0icmNocCIsZS5GbGFnPSJmbGFnIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlW2UuREVTQz0tMV09IkRFU0MiLGVbZS5BU0M9MV09IkFTQyJ9KG58fChuPXt9KSl9LDQ0MDcxNShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUNvbnRleHQ6KCk9PnN9KTtjb25zdCBzPWkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw1MjUxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0hpbnQ6KCk9Pmx9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDkxNjI2KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3RleHQ6dD0iIixjbGFzc05hbWU6aX09ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShhLnNob3J0Y3V0LGkpfSx0KX19LDcyMTE2NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUl0ZW06KCk9Pl99KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDI3MzMxMCksbD1pKDY0OTE2Nikscj1pKDc3OTEwOCksZD1pKDUyNTEpLHU9aSgzODA1NiksYz1pKDU4MDU5NiksaD1pKDQ2MjcwNCkscD1pKDEwNzk2Nik7ZnVuY3Rpb24gXyhlKXtjb25zdHtjbGFzc05hbWU6dCxpc1RpdGxlOmksaXNMb2FkaW5nOm8saXNIb3ZlcmVkOl8sYWN0aXZlOmcsY2hlY2thYmxlOm0sZGlzYWJsZWQ6YixjaGVja2VkOnYsaWNvbjpmLGljb25DaGVja2VkOlMsaGludDp5LHN1Ykl0ZW1zOncsbGFiZWw6QyxzdHlsZWRMYWJlbDpFLG9uQ2xpY2s6eCxjaGlsZHJlbjpMLHRvb2xib3g6TSxqc3hMYWJlbDpULHNpemU6Vj0ibm9ybWFsIn09ZSxrPSgwLHMudXNlQ29udGV4dCkoci5FbXB0eUljb25zQ29udGV4dCksQT0hIXcubGVuZ3RoO3JldHVybiBvP3MuY3JlYXRlRWxlbWVudCgibGkiLHtjbGFzc05hbWU6bigpKHQscC5pdGVtLHAubG9hZGluZyxwW1ZdKX0scy5jcmVhdGVFbGVtZW50KGwuTG9hZGVyLG51bGwpKTpzLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOm4oKSh0LHAuaXRlbSxwLmludGVyYWN0aXZlLGkmJnAudGl0bGUsYiYmcC5kaXNhYmxlZCxfJiZwLmhvdmVyZWQsZyYmcC5hY3RpdmUsayYmcC5lbXB0eUljb25zLHBbVl0pLG9uQ2xpY2s6eH0scy5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOm4oKShwLmljb24pLGljb246ZnVuY3Rpb24oKXsKaWYobSYmdilyZXR1cm4gU3x8Znx8dTtyZXR1cm4gZn0oKX0pLHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkocC5sYWJlbCl9LCFUJiZFP0UubWFwKCgoe3RleHQ6ZSwuLi50fSxpKT0+cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7a2V5Omksc3R5bGU6dH0sZSkpKTpUPz9DKSwhIU0mJnMuY3JlYXRlRWxlbWVudChhLkljb24se29uQ2xpY2s6ZnVuY3Rpb24oKXtNJiZNLmFjdGlvbigpfSxjbGFzc05hbWU6cC5yZW1vdmUsaWNvbjpofSksIUEmJnkmJnMuY3JlYXRlRWxlbWVudChkLkhpbnQse2NsYXNzTmFtZTpwLnNob3J0Y3V0LHRleHQ6eX0pLEEmJnMuY3JlYXRlRWxlbWVudChhLkljb24se2NsYXNzTmFtZTpwLm5lc3RlZCxpY29uOmN9KSxMKX19LDMyMzgzMChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUxpc3Q6KCk9Pl99KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDk1NDQ3OCk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJsaSIse2NsYXNzTmFtZTpvLnNlcGFyYXRvcn0pfXZhciBhPWkoNzIxMTY3KSxsPWkoNTY5Mzk4KSxyPWkoOTY0MjE0KSxkPWkoMjc2MDE5KTtjb25zdCB1PSgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImZvcmNlX2Rpc2FibGVfanN4X21lbnVfaXRlbXNfcmVuZGVyaW5nIik7ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXU/ZS5hY3Rpb246ZS5hY3Rpb24uY3VzdG9tKCk/P2UuYWN0aW9uLFtpLG9dPSgwLHMudXNlU3RhdGUpKCgoKT0+dC5nZXRTdGF0ZSgpKSksW24sbF09KDAscy51c2VTdGF0ZSkoITEpLGM9ISFpLnN1Ykl0ZW1zLmxlbmd0aCxoPWMmJm47cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KCk9Pm8odC5nZXRTdGF0ZSgpKTtyZXR1cm4gdC5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLGUpLCgpPT57dC5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsZSl9fSksW10pLHMuY3JlYXRlRWxlbWVudChhLkNvbnRleHRNZW51SXRlbSx7Li4uaSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKGkuZGlzYWJsZWR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoYylyZXR1cm4gdm9pZCBsKCEwKTtpLmRvTm90Q2xvc2VPbkNsaWNrfHwoMCxkLmdsb2JhbENsb3NlTWVudSkoKTt0LmV4ZWN1dGUoKX0saXNMb2FkaW5nOmkubG9hZGluZyxpc0hvdmVyZWQ6aH0saCYmcy5jcmVhdGVFbGVtZW50KHIuRHJhd2VyLHtvbkNsb3NlOnB9LHMuY3JlYXRlRWxlbWVudChfLHtpdGVtczppLnN1Ykl0ZW1zLHBhcmVudEFjdGlvbjp0LGNsb3NlTmVzdGVkOnB9KSkpO2Z1bmN0aW9uIHAoZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwoITEpfX12YXIgaD1pKDc3OTEwOCkscD1pKDMzNDU1MCk7ZnVuY3Rpb24gXyhlKXtjb25zdHtpdGVtczp0LHBhcmVudEFjdGlvbjppLGNsb3NlTmVzdGVkOm99PWUsbD0hQm9vbGVhbihpKSYmdC5ldmVyeSgoZT0+IUJvb2xlYW4oInNlcGFyYXRvciIhPT1lLnR5cGUmJihlLmdldFN0YXRlKCkuaWNvbnx8ZS5nZXRTdGF0ZSgpLmNoZWNrYWJsZSkpKSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChoLkVtcHR5SWNvbnNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpsfSxzLmNyZWF0ZUVsZW1lbnQoInVsIixudWxsLGkmJnMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVJdGVtLHtsYWJlbDppLmdldFN0YXRlKCkubGFiZWwsaXNUaXRsZTohMCxhY3RpdmU6ITEsZGlzYWJsZWQ6ITEsc3ViSXRlbXM6W10sY2hlY2thYmxlOiExLGNoZWNrZWQ6ITEsZG9Ob3RDbG9zZU9uQ2xpY2s6ITEsaWNvbjpwLG9uQ2xpY2s6b30pLHMuY3JlYXRlRWxlbWVudChuLG51bGwpKSx0Lm1hcCgoZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGMse2tleTplLmlkLGFjdGlvbjplfSk7Y2FzZSJzZXBhcmF0b3IiOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQobix7a2V5OmUuaWR9KX19KSkpKX19LDc3OTEwOChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtFbXB0eUljb25zQ29udGV4dDooKT0+c30pO2NvbnN0IHM9aSg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoITEpfSwzMjk2NjgoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztmdW5jdGlvbiBvKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSl9ZnVuY3Rpb24gbihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiKSl9aS5kKHQse2JlY29tZU1haW5FbGVtZW50OigpPT5vLGJlY29tZVNlY29uZGFyeUVsZW1lbnQ6KCk9Pm59KSxmdW5jdGlvbihlKXtlLk1haW5FbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixlLlNlY29uZGFyeUVsZW1lbnQ9InJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCJ9KHN8fChzPXt9KSl9LDk4MzYxNihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHttYXBLZXlDb2RlVG9EaXJlY3Rpb246KCk9PnUsbmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcjooKT0+YSxxdWVyeUZvY3VzYWJsZUVsZW1lbnRzOigpPT5yLHF1ZXJ5VGFiYmFibGVFbGVtZW50czooKT0+bCx1cGRhdGVUYWJJbmRleGVzOigpPT5kfSk7dmFyIHMsbz1pKDk2OTE2OCksbj1pKDY4MjM4MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPT09dD8wOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/LTE6MX1mdW5jdGlvbiBsKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKScpKS5maWx0ZXIoKDAsbi5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIHIoZSl7CnJldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbYXJpYS1kaXNhYmxlZD0iIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKScpKS5maWx0ZXIoKDAsbi5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIGQoKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIse2J1YmJsZXM6ITB9KSl9ZnVuY3Rpb24gdShlKXtjb25zdCB0PSgwLG8uaXNSdGwpKCk7c3dpdGNoKGUpe2Nhc2UgMzg6cmV0dXJuImJsb2NrUHJldiI7Y2FzZSA0MDpyZXR1cm4iYmxvY2tOZXh0IjtjYXNlIDM3OnJldHVybiB0PyJpbmxpbmVOZXh0IjoiaW5saW5lUHJldiI7Y2FzZSAzOTpyZXR1cm4gdD8iaW5saW5lUHJldiI6ImlubGluZU5leHQiO2RlZmF1bHQ6cmV0dXJuIG51bGx9fSFmdW5jdGlvbihlKXtlLkJsb2NrUHJldj0iYmxvY2tQcmV2IixlLkJsb2NrTmV4dD0iYmxvY2tOZXh0IixlLklubGluZVByZXY9ImlubGluZVByZXYiLGUuSW5saW5lTmV4dD0iaW5saW5lTmV4dCJ9KHN8fChzPXt9KSl9LDg1ODAzNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRBY3Rpb25zOigpPT5wfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgxODUyNzEpLG49aSg3MTIxMzQpLGE9aSg0MzE4MjMpLGw9aSg1MDkwNCkscj1pKDkxOTk4NSksZD1pKDY0MzkwMyksdT1pKDM4NjkzMSksYz1pKDYyMTkyNiksaD1pKDY3NDE5KTtmdW5jdGlvbiBwKGUsdCxwLF8pe2NvbnN0IGc9ZnVuY3Rpb24oZSx0LHIscCl7Y29uc3QgXz1vLnQobnVsbCx2b2lkIDAsaSgzMDgzOSkpLmZvcm1hdCh7c3ltYm9sOigwLGQuc2FmZVNob3J0TmFtZSkodCl9KSxnPWUuZ2V0U3ltYm9sQ29sb3IodCl8fHZvaWQgMCxtPXt9LGI9bi5MSVNUX0NPTE9SUy5tYXAoKGU9Pntjb25zdCB0PW5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5DaGFuZ2VGbGFnZ2VkR3JvdXBDb2xvciIsb3B0aW9uczp7bGFiZWw6KDAsaC5mbGFnZ2VkU3ltYm9sQ29sb3JOYW1lKShlKSxvbkV4ZWN1dGU6KCk9PnYoZSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ZT09PWd9fSk7cmV0dXJuIG1bZV09dCx0fSkpLHY9aT0+e3AoKSwoMCxjLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e3Iuc2V0Q29sb3IoaSksZS5zZXRTeW1ib2xzQ29sb3IoW3RdLHIuZ2V0Q29sb3IoKSksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiRmxhZyIpLG4uTElTVF9DT0xPUlMuZm9yRWFjaCgoZT0+e21bZV0udXBkYXRlKHtjaGVja2VkOmU9PT1yLmdldENvbG9yKCl9KX0pKX0pLHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9sc0NvbG9ycyIsc291cmNlOiJTZXQgc3ltYm9sIGNvbG9yIn0pfSxmPXtkb05vdENsb3NlT25DbGljazohMH07cmV0dXJuW25ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5GbGFnU3ltYm9sIixvcHRpb25zOntsYWJlbDpfLG9uRXhlY3V0ZTooKT0+dihyLmdldENvbG9yKCkpfX0pLG5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5DaGFuZ2VGbGFnZ2VkR3JvdXBDb2xvciIsb3B0aW9uczp7Li4uZixsYWJlbDpvLnQobnVsbCx2b2lkIDAsaSg5NjE2MTQpKSxzdWJJdGVtczpifSxjdXN0b21BY3Rpb25PcHRpb25zOnsuLi5mLGpzeExhYmVsOnMuY3JlYXRlRWxlbWVudChhLkxhYmVsQ29sb3JTZWxlY3Rvcix7dmFsdWU6ZyxvbkNoYW5nZTp2fSl9fSldfShlLHQscCxfKTtyZXR1cm4gbnVsbCE9PWUuZ2V0U3ltYm9sQ29sb3IodCkmJmcucHVzaChmdW5jdGlvbihlLHQpe3JldHVybiBuZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuVW5mbGFnU3ltYm9sIixvcHRpb25zOntsYWJlbDpvLnQobnVsbCx2b2lkIDAsaSg2OTIxKSkuZm9ybWF0KHtzeW1ib2w6KDAsZC5zYWZlU2hvcnROYW1lKSh0KX0pLG9uRXhlY3V0ZTooKT0+e2Uuc2V0U3ltYm9sc0NvbG9yKFt0XSxudWxsKSwoMCx1LnRyYWNrRXZlbnQpKCJXYXRjaGxpc3QiLCJDb250ZXh0IG1lbnUiLCJVbmZsYWciKX19fSl9KGUsdCkpLGcucHVzaChmdW5jdGlvbihlKXtyZXR1cm4gbmV3IGwuQWN0aW9uKHthY3Rpb25JZDoiV2F0Y2hsaXN0LlVuZmxhZ0FsbFN5bWJvbHMiLG9wdGlvbnM6e2xhYmVsOm8udChudWxsLHZvaWQgMCxpKDMzMjc1MykpLG9uRXhlY3V0ZTooKT0+eygwLHIuc2hvd1VuZmxhZ0FsbFN5bWJvbHNDb25maXJtKSgoKCk9PntlLmNsZWFyQWxsU3ltYm9sc0NvbG9yKCl9KSksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiVW5mbGFnIGFsbCIpfX19KX0oZSkpLGd9fSwzMDY2MDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q29sb3JTZWxlY3RvcjooKT0+eX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNzEyMTM0KSxuPWkoMjM1NzI0KSxhPWkoMTQ5MzY0KSxsPWkoOTgzNjE2KSxyPWkoMzI5NjY4KSxkPWkoOTE0NDg3KSx1PWkubihkKSxjPWkoNjU4NDYpLGg9aSgyNzMzMTApLHA9aSgxODUyNzEpLF89aSg0NDA3MTUpLGc9aSgxODIzMDgpLG09aSgyNzQ4NTEpLGI9aSgyMDMzMDkpLHY9aSg3NTE4NjMpO2NvbnN0IGY9KDAsYy5tYWtlU3dpdGNoR3JvdXBJdGVtKSgoZnVuY3Rpb24oZSl7Y29uc3R7Y2xhc3NOYW1lOnQsdmFsdWU6bj1vLkxpc3RDb2xvci5SZWQsbmFtZTphLGNoZWNrZWQ6bH09ZSxbcixkXT0oMCxnLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCksYz0oMCxzLnVzZUNvbnRleHQpKF8uQ29udGV4dE1lbnVDb250ZXh0KSxmPWM/LnR5cGU/PyJtZW51IixTPW47cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgibGFiZWwiLHtyZWY6cix0YWJJbmRleDpkLGNsYXNzTmFtZTp1KCkodCx2LndyYXAsImRyYXdlciI9PT1mJiZ2LmxhcmdlKSwiZGF0YS1jb2xvciI6Uyxyb2xlOiJtZW51aXRlbSIsImFyaWEtbGFiZWwiOnAudChudWxsLHtyZXBsYWNlOntjb2xvcjpTfX0saSg1MDY5MTUpKSwKImFyaWEtY2hlY2tlZCI6bH0scy5jcmVhdGVFbGVtZW50KCJpbnB1dCIse2NsYXNzTmFtZTp2LmlucHV0LHR5cGU6InJhZGlvIixuYW1lOmEsdmFsdWU6bixjaGVja2VkOmwsb25DaGFuZ2U6ZS5vbkNoYW5nZSxvbkNsaWNrOmw/ZnVuY3Rpb24oKXtlLm9uQ2xpY2tJZkNoZWNrZWQmJmUub25DbGlja0lmQ2hlY2tlZChuKX06dm9pZCAwfSkscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dSgpKHYuYm94LHZbU10sImRyYXdlciI9PT1mJiZ2LmxhcmdlKX0sbD9zLmNyZWF0ZUVsZW1lbnQoaC5JY29uLHtpY29uOm19KTpzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LnBpY2tlckRvdH0scy5jcmVhdGVFbGVtZW50KGguSWNvbix7Y2xhc3NOYW1lOnYuaG92ZXJEb3QsaWNvbjpifSkpKSl9KSksUz1bMzksMzcsMTMsMzIsMjddO2Z1bmN0aW9uIHkoZSl7Y29uc3R7YnV0dG9uQ2xhc3NOYW1lOnQsdmFsdWU6aSxvblNlbGVjdGVkQ2xpY2s6ZCxmcm9tS2V5Ym9hcmQ6dX09ZSxjPSgwLHMudXNlUmVmKShudWxsKSxoPSgwLHMudXNlQ2FsbGJhY2spKChlPT57aWYoIWMuY3VycmVudHx8ZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYoIVMuaW5jbHVkZXModCkpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKTtjb25zdCBzPSgwLGwucXVlcnlGb2N1c2FibGVFbGVtZW50cykoYy5jdXJyZW50KS5zb3J0KGwubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvciksYT1zLmZpbmRJbmRleCgoZT0+ZT09PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKTtpZigtMT09PWEpcmV0dXJuO2NvbnN0IGQ9c1thXTtsZXQgdTtzd2l0Y2godCl7Y2FzZSAxMzpjYXNlIDMyOl8oZC5kYXRhc2V0LmNvbG9yfHxvLkxpc3RDb2xvci5SZWQpO2JyZWFrO2Nhc2UgMjc6XyhpKX1zd2l0Y2goKDAsbC5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZU5leHQiOnU9c1thKzFdfHxzWzBdO2JyZWFrO2Nhc2UiaW5saW5lUHJldiI6dT1zW2EtMV18fHNbcy5sZW5ndGgtMV19dSBpbnN0YW5jZW9mIEhUTUxMYWJlbEVsZW1lbnQmJigoMCxyLmJlY29tZVNlY29uZGFyeUVsZW1lbnQpKGQpLCgwLHIuYmVjb21lTWFpbkVsZW1lbnQpKHUpLHUuZm9jdXMoKSl9KSxbXSk7KDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKCF1KXJldHVybjtjb25zdCBlPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsdD1jLmN1cnJlbnQ7aWYoIXQpcmV0dXJuO2NvbnN0W2ldPSgwLGwucXVlcnlGb2N1c2FibGVFbGVtZW50cykodCkuc29ydChsLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO3JldHVybiBpPygoMCxyLmJlY29tZU1haW5FbGVtZW50KShpKSxpLmZvY3VzKCksKCk9PntlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmUuZm9jdXMoKX0pOnZvaWQgMH0pLFtdKTtjb25zdCBwPW8uTElTVF9DT0xPUlMubWFwKCgoZSxpKT0+cy5jcmVhdGVFbGVtZW50KGYse2tleTppLGNsYXNzTmFtZTp0LG9uQ2xpY2tJZkNoZWNrZWQ6ZCx2YWx1ZTplfSkpKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJtZW51Iix7cmVmOmMsb25LZXlEb3duOmh9LHMuY3JlYXRlRWxlbWVudChhLlN3aXRjaEdyb3VwLHtuYW1lOiJjb2xvci1zZWxlY3RvciIsb25DaGFuZ2U6Xyx2YWx1ZXM6dm9pZCAwIT09aT9baV06W119LHApKTtmdW5jdGlvbiBfKHQpe2Uub25DaGFuZ2UmJnZvaWQgMCE9PXQmJmUub25DaGFuZ2UodCl9fX0sNjc0MTkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZmxhZ2dlZFN5bWJvbENvbG9yTmFtZTooKT0+bn0pO3ZhciBzPWkoNzEyMTM0KSxvPWkoMTg1MjcxKTtmdW5jdGlvbiBuKGUpe3N3aXRjaChlKXtjYXNlIHMuTGlzdENvbG9yLlJlZDpyZXR1cm4gby50KG51bGwsdm9pZCAwLGkoNjU1MDQyKSk7Y2FzZSBzLkxpc3RDb2xvci5HcmVlbjpyZXR1cm4gby50KG51bGwsdm9pZCAwLGkoNjgyNjY5KSk7Y2FzZSBzLkxpc3RDb2xvci5CbHVlOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2MzgxKSk7Y2FzZSBzLkxpc3RDb2xvci5PcmFuZ2U6cmV0dXJuIG8udChudWxsLHZvaWQgMCxpKDk3MTI4MykpO2Nhc2Ugcy5MaXN0Q29sb3IuUHVycGxlOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2NzA5MjMpKTtjYXNlIHMuTGlzdENvbG9yLkN5YW46cmV0dXJuIG8udChudWxsLHZvaWQgMCxpKDE0Njg0KSk7Y2FzZSBzLkxpc3RDb2xvci5QaW5rOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2NzY3NjgpKX19fSw0MzE4MjMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TGFiZWxDb2xvclNlbGVjdG9yOigpPT5sfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgzMDY2MDEpLG49aSg1MTg3NSksYT1pKDU1ODg3Myk7Y2xhc3MgbCBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtyZW5kZXIoKXtjb25zdHt2YWx1ZTplfT10aGlzLnByb3BzO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YS53cmFwcGVyfSxzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YS5idXR0b25zLG9uQ2xpY2s6bi5wcmV2ZW50RGVmYXVsdH0scy5jcmVhdGVFbGVtZW50KG8uQ29sb3JTZWxlY3Rvcix7YnV0dG9uQ2xhc3NOYW1lOmEuY29sb3JTZWxlY3RCdXR0b24sdmFsdWU6ZSxvbkNoYW5nZTp0aGlzLl9vbkNoYW5nZSxvblNlbGVjdGVkQ2xpY2s6dGhpcy5fb25DaGFuZ2V9KSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9vbkNoYW5nZT1lPT57dGhpcy5wcm9wcy5vbkNoYW5nZShlKX19fX0sODM0MTg4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BvcHVwQ29sb3JTZWxlY3RvcjooKT0+eX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNjA3ODMyKSxuPWkoNjA5NTI4KSxhPWkoNDA2MTEwKSxsPWkoMzEzNzcyKSxyPWkoOTY0MjE0KSxkPWkoMzIzODMwKSx1PWkoNDQwNzE1KSxjPWkoOTY5MTY4KSxoPWkoNTg1NDgpLHA9aSgzMDY2MDEpLF89aSgzNjMyNjkpLGc9aSg1NTg5NzIpO2NsYXNzIG0gZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29tcG9uZW50RGlkTW91bnQoKXsKZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiYoXy5tb2JpbGV0b3VjaD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaFN0YXJ0KToodGhpcy5wcm9wcy5lbGVtLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZSksZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMucHJvcHMuaGlkZSkpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmKF8ubW9iaWxldG91Y2g/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCk6dGhpcy5wcm9wcy5lbGVtJiYodGhpcy5wcm9wcy5lbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZSksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5wcm9wcy5oaWRlKSkpfXJlbmRlcigpe2NvbnN0IGU9e3RvcDowfTtpZih0aGlzLnByb3BzLmVsZW0pe2NvbnN0IHQ9dGhpcy5wcm9wcy5lbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2UudG9wPXQudG9wK3QuaGVpZ2h0LzIsKDAsYy5pc1J0bCkoKT9lLnJpZ2h0PXdpbmRvdy5pbm5lcldpZHRoLXQubGVmdDplLmxlZnQ9dC5sZWZ0K3Qud2lkdGh9ZWxzZSBlLmxlZnQ9MDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGguUG9ydGFsLG51bGwscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTplLGNsYXNzTmFtZTpnLnBvcHVwLHJlZjp0aGlzLl9zZXRQb3BVcEVsZW0sb25Nb3VzZUxlYXZlOl8ubW9iaWxldG91Y2g/dm9pZCAwOnRoaXMuX29uUG9wVXBNb3VzZUxlYXZlfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLndyYXBwZXJ9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcuc2VsZWN0b3J9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcuYXJyb3dMZWZ0fSkscy5jcmVhdGVFbGVtZW50KHAuQ29sb3JTZWxlY3Rvcix7YnV0dG9uQ2xhc3NOYW1lOmcuY29sb3JTZWxlY3RCdXR0b24sdmFsdWU6dGhpcy5wcm9wcy5jdXJyZW50Q29sb3IsZnJvbUtleWJvYXJkOnRoaXMucHJvcHMuZnJvbUtleWJvYXJkLG9uQ2hhbmdlOnRoaXMuX29uQ2hhbmdlfSkpKSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9wb3BVcEVsZW09bnVsbCx0aGlzLl9vbkNoYW5nZT1lPT57dGhpcy5wcm9wcy5vblNlbGVjdENvbG9yKGUpLHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblRhcmdldE1vdXNlTGVhdmU9ZT0+e2NvbnN0IHQ9ISFlLnJlbGF0ZWRUYXJnZXQubm9kZU5hbWUsaT1lLnJlbGF0ZWRUYXJnZXQ9PT10aGlzLl9wb3BVcEVsZW0scz10aGlzLl9wb3BVcEVsZW0mJnQmJnRoaXMuX3BvcFVwRWxlbS5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpO2l8fHN8fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblBvcFVwTW91c2VMZWF2ZT1lPT57Y29uc3QgdD0hIWUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldC5ub2RlTmFtZSxpPWUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldD09PXRoaXMucHJvcHMuZWxlbSxzPXQmJnRoaXMucHJvcHMuZWxlbS5jb250YWlucyhlLm5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQpO2l8fHN8fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblRvdWNoU3RhcnQ9ZT0+e2NvbnN0IHQ9ISFlLnRhcmdldC5ub2RlTmFtZSxpPWUudGFyZ2V0PT09dGhpcy5wcm9wcy5lbGVtLHM9ZS50YXJnZXQ9PT10aGlzLl9wb3BVcEVsZW0sbz10JiZ0aGlzLnByb3BzLmVsZW0uY29udGFpbnMoZS50YXJnZXQpLG49dGhpcy5fcG9wVXBFbGVtJiZ0JiZ0aGlzLl9wb3BVcEVsZW0uY29udGFpbnMoZS50YXJnZXQpO2l8fG98fHN8fG58fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9zZXRQb3BVcEVsZW09ZT0+e3RoaXMuX3BvcFVwRWxlbT1lfX19ZnVuY3Rpb24gYihlKXtjb25zdHthY3Rpb25zOnQsLi4uaX09ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGEuTWF0Y2hNZWRpYSx7cnVsZTpuLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwoZT0+ZSYmdD9zLmNyZWF0ZUVsZW1lbnQobC5EcmF3ZXJNYW5hZ2VyLG51bGwscy5jcmVhdGVFbGVtZW50KHUuQ29udGV4dE1lbnVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7dHlwZToiZHJhd2VyIn19LHMuY3JlYXRlRWxlbWVudChyLkRyYXdlcix7b25DbG9zZTppLmhpZGUscG9zaXRpb246IkJvdHRvbSJ9LHMuY3JlYXRlRWxlbWVudChkLkNvbnRleHRNZW51TGlzdCx7aXRlbXM6dH0pKSkpOnMuY3JlYXRlRWxlbWVudChtLHsuLi5pfSkpKX12YXIgdj1pKDU3MTMwMCk7bGV0IGY9bnVsbCxTPW51bGw7dmFyIHk7IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtmJiZTPy51bm1vdW50KCl9ZS5zaG93PWZ1bmN0aW9uKGUpe2Z8fChmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSx0KCksUz0oMCx2LmNyZWF0ZVJlYWN0Um9vdCkocy5jcmVhdGVFbGVtZW50KG8uU2xvdENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOmUubWFuYWdlcnx8bnVsbH0scy5jcmVhdGVFbGVtZW50KGIsey4uLmUsaGlkZTp0fSkpLGYpfSxlLmhpZGU9dH0oeXx8KHk9e30pKX0sMTI5MzMzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N5bWJvbE1hcmtlcjooKT0+dSxjcmVhdGVTeW1ib2xNYXJrZXJTdGFuZGFsb25lOigpPT5ofSk7aSg4MjkxODApO3ZhciBzPWkoODI5NzYzKSxvPWkoODMxNTI3KSxuPWkoODM0MTg4KSxhPWkoMjQzNjMxKSxsPWkoNjA5NTI4KSxyPWkoODU4MDM3KSxkPWkoNjIxOTI2KTtjbGFzcyB1e3VwZGF0ZVN1YnNjcmlwdGlvbigpe3RoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSl9YmluZFRvKGUsdCl7dGhpcy5fc2VydmljZS5vZmZTeW1ib2xDaGFuZ2UodGhpcy5fc3ltYm9sLHRoaXMuX29uQ2hhbmdlKSx0aGlzLl9zeW1ib2w9ZSx0aGlzLl91aW1hcmtlci5hcHBlbmRUbyh0KSwKdGhpcy5fc2V0U3RhdGUodGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcihlKSksdGhpcy5fc2VydmljZS5vblN5bWJvbENoYW5nZShlLHRoaXMuX29uQ2hhbmdlKX11bmJpbmQoKXt0aGlzLl9zZXJ2aWNlLm9mZlN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpLHRoaXMuX3VpbWFya2VyLmRldGFjaCgpfWdldEVsZW0oKXtyZXR1cm4gdGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpfWlzTWFya2VkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9jb2xvcn1zZXRDbGFzc05hbWUoZSl7dGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpLmNsYXNzTGlzdC5yZW1vdmUoLi4udGhpcy5fY2xhc3NlcyksdGhpcy5fY2xhc3Nlcz1lLnNwbGl0KCIgIikuZmlsdGVyKEJvb2xlYW4pLHRoaXMuX3VpbWFya2VyLmdldEVsZW0oKS5jbGFzc0xpc3QuYWRkKC4uLnRoaXMuX2NsYXNzZXMpfWRlc3Ryb3koKXt0aGlzLnVuYmluZCgpLGRlbGV0ZSB0aGlzLl91aW1hcmtlcixkZWxldGUgdGhpcy5fb3B0c310b2dnbGUoZSl7dGhpcy5fb25DbGljayhlKX1fc2V0U3RhdGUoZSl7Y29uc3QgdD10aGlzLmlzTWFya2VkKCk7dGhpcy5fY29sb3I9ZSxudWxsIT09dGhpcy5fY29sb3I/KHRoaXMuX3VpbWFya2VyLnNldENvbG9yKHRoaXMuX2NvbG9yKSx0aGlzLl9hZGRBY3RpdmVDbGFzc05hbWUoKSk6KHRoaXMuX3VpbWFya2VyLnJlbW92ZUNvbG9yKCksdGhpcy5fcmVtb3ZlQWN0aXZlQ2xhc3NOYW1lKCkpLHZvaWQgMCE9PXRoaXMuX29wdHMub25NYXJrZWRDaGFuZ2VkJiZ0IT09dGhpcy5pc01hcmtlZCgpJiZ0aGlzLl9vcHRzLm9uTWFya2VkQ2hhbmdlZCgpfV9hZGRBY3RpdmVDbGFzc05hbWUoKXt0aGlzLl9vcHRzLmFjdGl2ZUNsYXNzTmFtZSYmdGhpcy5fdWltYXJrZXIuYWRkQ2xhc3ModGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUpfV9yZW1vdmVBY3RpdmVDbGFzc05hbWUoKXt0aGlzLl9vcHRzLmFjdGl2ZUNsYXNzTmFtZSYmdGhpcy5fdWltYXJrZXIucmVtb3ZlQ2xhc3ModGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUpfWNvbnN0cnVjdG9yKGUpe3RoaXMuX3NlcnZpY2U9KDAsby5nZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZSkoKSx0aGlzLl9jb2xvck1hbmFnZXI9bmV3IGEuQ29sb3JNYW5hZ2VyKHtjb250ZXh0OmEuQ29sb3JDb250ZXh0LlN5bWJvbE1hcmtlcn0pLHRoaXMuX2NsYXNzZXM9W10sdGhpcy5fb25DbGljaz1lPT57ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9KCk9Pntjb25zdCB0PSgwLHIuZ2V0QWN0aW9ucykodGhpcy5fc2VydmljZSx0aGlzLl9zeW1ib2wsdGhpcy5fY29sb3JNYW5hZ2VyLG4uUG9wdXBDb2xvclNlbGVjdG9yLmhpZGUpLGk9dGhpcy5fY29sb3JNYW5hZ2VyLmdldENvbG9yKCkscz17ZWxlbTp0aGlzLl91aW1hcmtlci5nZXRFbGVtKCksY3VycmVudENvbG9yOmksb25TZWxlY3RDb2xvcjp0aGlzLl9vblNlbGVjdENvbG9yLGFjdGlvbnM6dCxtYW5hZ2VyOnRoaXMuX29wdHMubWFuYWdlcixmcm9tS2V5Ym9hcmQ6ZSBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnR9O3dpbmRvdy5tYXRjaE1lZGlhKGwuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwpLm1hdGNoZXM/bi5Qb3B1cENvbG9yU2VsZWN0b3Iuc2hvdyhzKTpudWxsPT09dGhpcy5fY29sb3I/KG4uUG9wdXBDb2xvclNlbGVjdG9yLnNob3cocyksdGhpcy5fc2VydmljZS5zZXRTeW1ib2xzQ29sb3IoW3RoaXMuX3N5bWJvbF0saSkpOihuLlBvcHVwQ29sb3JTZWxlY3Rvci5oaWRlKCksdGhpcy5fc2VydmljZS5zZXRTeW1ib2xzQ29sb3IoW3RoaXMuX3N5bWJvbF0sbnVsbCkpfSxpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkOygwLGQucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57aSYmKHRoaXMuX29wdHMub25DbGljaz90aGlzLl9vcHRzLm9uQ2xpY2sodGhpcy5fc3ltYm9sLHQpOnQoKSl9KSx7ZmVhdHVyZToiZmxhZ2dlZFN5bWJvbHNDb2xvcnMiLHNvdXJjZToiU2V0IHN5bWJvbCBjb2xvciJ9KX0sdGhpcy5fb25TZWxlY3RDb2xvcj1lPT57dGhpcy5fY29sb3JNYW5hZ2VyLnNldENvbG9yKGUpLHRoaXMuX3NlcnZpY2Uuc2V0U3ltYm9sc0NvbG9yKFt0aGlzLl9zeW1ib2xdLHRoaXMuX2NvbG9yTWFuYWdlci5nZXRDb2xvcigpKX0sdGhpcy5fb25EYmxDbGljaz1lPT57ZS5wcmV2ZW50RGVmYXVsdCgpfSx0aGlzLl9vbkNoYW5nZT0oKT0+e3RoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSl9LHRoaXMuX29wdHM9ZSx0aGlzLl9zeW1ib2w9ZS5zeW1ib2wsdGhpcy5fY29sb3I9ZS5jb2xvcnx8dGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcih0aGlzLl9zeW1ib2wpLHRoaXMuX3VpbWFya2VyPW5ldyBzLlVpTWFya2VyKHtjb2xvcjp0aGlzLl9jb2xvcixjb250YWluZXI6ZS5jb250YWluZXIsb25DbGljazp0aGlzLl9vbkNsaWNrLG9uRGJsQ2xpY2s6dGhpcy5fb25EYmxDbGljayxzcGVjaWFsSW1hZ2U6ZS5zcGVjaWFsSW1hZ2V9KSxlLmNsYXNzTmFtZSYmdGhpcy5zZXRDbGFzc05hbWUoZS5jbGFzc05hbWUpLG51bGwhPT10aGlzLl9jb2xvciYmdGhpcy5fYWRkQWN0aXZlQ2xhc3NOYW1lKCksdGhpcy5fc2VydmljZS5vblN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpfX1jbGFzcyBjIGV4dGVuZHMgdXtkZXN0cm95KCl7dGhpcy5fc2VydmljZS5vZmZJbml0KHRoaXMuX29uSW5pdCksc3VwZXIuZGVzdHJveSgpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX29uSW5pdD0oKT0+e3RoaXMudXBkYXRlU3Vic2NyaXB0aW9uKCl9LHRoaXMuX3NlcnZpY2Uub25Jbml0KHRoaXMuX29uSW5pdCl9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG5ldyBjKGUpfX0sNjE2MzExKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7ZnVuY3Rpb24gbyhlLHQpeygidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz9zLnVzZUVmZmVjdDpzLnVzZUxheW91dEVmZmVjdCkoZSx0KX19LDk0NzE2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQsewpNZXRhSW5mb0hlbHBlcjooKT0+dX0pO3ZhciBzPWkoMTM4NjM4KSxvPWkoMjIxMDYxKSxuPWkoNjAxODQxKSxhPWkoNjI4MDYpLGw9aSg3OTE0MjcpLHI9aSgyNTA0NjcpO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJNZXRhSW5mb0hlbHBlciIpO2NsYXNzIHV7Y29uc3RydWN0b3IoZSl7dGhpcy5fbWV0YUluZm89ZX1oYXNVc2VyRWRpdGFibGVJbnB1dHMoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8uaW5wdXRzLnNvbWUoYS51c2VyRWRpdGFibGVJbnB1dEZpbHRlcil9Z2V0VXNlckVkaXRhYmxlSW5wdXRzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLmlucHV0cy5maWx0ZXIoYS51c2VyRWRpdGFibGVJbnB1dEZpbHRlcil9aGFzVXNlckVkaXRhYmxlUHJvcGVydGllcygpe3JldHVybiBsLlN0dWR5TWV0YUluZm8uaXNTY3JpcHRTdHJhdGVneSh0aGlzLl9tZXRhSW5mbyl9aGFzVXNlckVkaXRhYmxlU3R5bGVzKGUpe2NvbnN0IHQ9dGhpcy5fbWV0YUluZm87cmV0dXJuIHQucGxvdHMubGVuZ3RoPjB8fHZvaWQgMCE9PXQuYmFuZHN8fHZvaWQgMCE9PXQuZmlsbGVkQXJlYXN8fGUodC5zaG9ydElkKXx8bC5TdHVkeU1ldGFJbmZvLmlzU2NyaXB0U3RyYXRlZ3kodGhpcy5fbWV0YUluZm8pfHxPYmplY3QudmFsdWVzKHQuZ3JhcGhpY3MpLnNvbWUoKGU9PnZvaWQgMCE9PWUpKX1nZXRVc2VyRWRpdGFibGVQbG90cygpe2NvbnN0IGU9bmV3IFNldCx0PXRoaXMuX21ldGFJbmZvO3JldHVybiB0LnBsb3RzLmZpbHRlcigoaT0+e2lmKCgwLHIuaXNDb2xvcmVyUGxvdCkoaSl8fCgwLHIuaXNUZXh0Q29sb3JlclBsb3QpKGkpfHwoMCxyLmlzRGF0YU9mZnNldFBsb3QpKGkpfHwoMCxyLmlzT2hsY0NvbG9yZXJQbG90KShpKXx8KDAsci5pc0FsZXJ0Q29uZGl0aW9uUGxvdCkoaSl8fCgwLHIuaXNEYXRhUGxvdCkoaSkpcmV0dXJuITE7aWYoKDAsci5pc09obGNQbG90KShpKSl7Y29uc3Qgbz1pLnRhcmdldDtpZihlLmhhcyhvKSlyZXR1cm4hMTtlLmFkZChvKTtjb25zdCBuPSgwLHMuZW5zdXJlRGVmaW5lZCkodC5vaGxjUGxvdHMpO3JldHVybiEoMCxzLmVuc3VyZURlZmluZWQpKG5bb10pLmlzSGlkZGVufXtjb25zdCBlPXQuc3R5bGVzP3Quc3R5bGVzW2kuaWRdOnZvaWQgMDtyZXR1cm4gdm9pZCAwPT09ZXx8IWUuaXNIaWRkZW59fSkpfWhhc1VzZXJFZGl0YWJsZU9wdGlvbnMoZSl7cmV0dXJuIHRoaXMuaGFzVXNlckVkaXRhYmxlSW5wdXRzKCl8fHRoaXMuaGFzVXNlckVkaXRhYmxlUHJvcGVydGllcygpfHx0aGlzLmhhc1VzZXJFZGl0YWJsZVN0eWxlcyhlKX1nZXRTdHJhdGVneVByb3BlcnRpZXMoKXtjb25zdCBlPXRoaXMuX21ldGFJbmZvLHQ9ZS5pbnB1dHMuZmlsdGVyKGEuaXNTdHJhdGVneUlucHV0KSxpPXsuLi5jfTtmb3IoY29uc3QgcyBvZiB0KXtjb25zdCB0PXMuaW50ZXJuYWxJRDtpW3RdPXMsYy5oYXNPd25Qcm9wZXJ0eSh0KXx8ZC5sb2dXYXJuKGBVbmtub3duIHN0cmF0ZWd5IGlucHV0IGludGVybmFsIGlkICR7dH0gaW4gJHtlLmZ1bGxJZH1gKX1yZXR1cm4oMCxuLmNsb25lKShpKX19Y29uc3QgYz17W2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5DdXJyZW5jeV06dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuQmFja3Rlc3RGaWxsTGltaXRzQXNzdW10aW9uXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5DYWxjT25FdmVyeVRpY2tdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNhbGNPbk9yZGVyRmlsbHNdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNhbGNPbkhpc3RvcnlCYXJdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNvbWlzc2lvblZhbHVlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5Db21pc3Npb25UeXBlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5Jbml0aWFsQ2FwaXRhbF06dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuUHlyYW1pZGluZ106dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuU2xpcHBhZ2VdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkRlZmF1bHRRVFlUeXBlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5EZWZhdWx0UVRZVmFsdWVdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELk1hcmdpbkxvbmddOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELk1hcmdpblNob3J0XTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5CYXJEZXRhbGl6YXRpb25dOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELlByb2Nlc3NPcmRlcnNPbkNsb3NlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5GaWxsT3JkZXJzT25TdGFuZGFyZE9ITENdOnZvaWQgMH19LDEyODgxNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtRdW90ZVNlc3Npb25TbmFwc2hvdGVyOigpPT5jfSk7dmFyIHM9aSg5NDgzODApLG89aSgxNTAxNTApLG49aSgyMTQ5ODcpLGE9aSgxMzg2MzgpLGw9aSgzNjc5NDYpLHI9aSg5NzA3NzQpLGQ9aSgzMDkwNTIpO2NvbnN0IHU9bmV3IE1hcChbWyJjaGFuZ2UiLCJjaCJdLFsibGFzdF9wcmljZSIsImxwIl0sWyJjaGFuZ2VfcGVyY2VudCIsImNocCJdLFsidXBkYXRlX21vZGVfc2Vjb25kcyIsbnVsbF1dKTtuZXcgTWFwKFtbImNoIiwiY2hhbmdlIl0sWyJscCIsImxhc3RfcHJpY2UiXSxbImNocCIsImNoYW5nZV9wZXJjZW50Il1dKTtjbGFzcyBje2NvbnN0cnVjdG9yKGUpe2lmKHRoaXMuX29uU3ltYm9sRGF0YT1uZXcgcy5EZWxlZ2F0ZSx0aGlzLl9pbmNvbXBsZXRlPW5ldyBTZXQsdGhpcy5fdXBkYXRlZEZpZWxkcz1uZXcgTWFwLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9iYXRjaGVyPW51bGwsdGhpcy5faGFuZGxlcj1lPT57c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkfHwodGhpcy5fY29ubmVjdGVkPSEwLAp0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PXIuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG8ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IGk9Yy5jYWNoZS5nZXQoZSk7cmV0dXJuIGkmJnRoaXMuX2lzU25hcHNob3RSZWFkeShpLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP2k6bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LGkpe2NvbnN0IHM9aT8uc2lnbmFsPz9udWxsLG89aT8uZnJlc2huZXNzLGw9dm9pZCAwIT09bz9EYXRlLm5vdygpLW86bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChpLG8pPT57aWYocyYmcy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHI9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxkKSxvKCgwLG4uY3JlYXRlQWJvcnRFcnJvcikoKSl9LGQ9KG89ZSk9PntpZihvIT09ZSlyZXR1cm47Y29uc3Qgbj1jLmNhY2hlLmdldChlKTtuJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobix7dGltZXN0YW1wOmwsc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGQpLHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixyKSxpKG4pKX07aWYoISgoKT0+e2NvbnN0IHM9Yy5jYWNoZS5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Y29uc3Qgbz0oMCxhLmVuc3VyZU5vdE51bGwpKGMuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDpsLHRpbWVzOm99KSYmKGkocyksITApfSkoKSYmKHM/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixyLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGQpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxpKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LGkpKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IGkgb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShpKSlyZXR1cm4hMTtyZXR1cm4hMH1faXNTbmFwc2hvdFJlYWR5KGUsdCl7Y29uc3R7ZmllbGRzOmksdGltZXN0YW1wOnMsdGltZXM6byxzeW1ib2w6bn09dDtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXN8fChudWxsIT09cyYmbz90aGlzLl9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsbyxpLHMpOm51bGwhPT1zJiZuP3RoaXMuX2lzQWxsRmllbGRzVXBkYXRlZChlLG4saSk6dGhpcy5faGFzQWxsRmllbGRzKGUsaSkpfV9pc0FsbEZpZWxkc1VwZGF0ZWQoZSx0LGkpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtjb25zdCBzPXRoaXMuX3VwZGF0ZWRGaWVsZHMuZ2V0KHQpO2lmKCFzfHwhcy5zaXplKXJldHVybiExO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpaWYoIXMuaGFzKGUpKXJldHVybiExO3JldHVybiEwfV9oYXNBbGxGaWVsZHMoZSx0KXtyZXR1cm4gYy5oYXNBbGxGaWVsZHMoZS52YWx1ZXMsQXJyYXkuZnJvbSh0KSl9X2lzQWxsRmllbGRzVXBUb0RhdGUoZSx0LGkscyl7aWYoImVycm9yIj09PWUuc3RhdHVzKXJldHVybiEwO2lmKCF0KXJldHVybiExO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpe2NvbnN0IGk9dC5nZXQoZSk7aWYoIXQuaGFzKGUpfHx2b2lkIDA9PT1pKXJldHVybiExO2lmKGk8cylyZXR1cm4hMX1yZXR1cm4hMH1faGFuZGxlQ29ubmVjdGVkKCl7aWYodGhpcy5fZmllbGRzLnNpemU+MCl7Y29uc3QgZT1bLi4udGhpcy5fZmllbGRzXS5mbGF0TWFwKChlPT57Y29uc3QgdD11LmdldChlKTtyZXR1cm4gbnVsbCE9PXQ/dD8/ZTpbXX0pKTt0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfXRoaXMuX2luY29tcGxldGUuc2l6ZT4wJiZ0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhbLi4udGhpcy5faW5jb21wbGV0ZV0pfV9oYW5kbGVDb21wbGV0ZURhdGEoZSl7Y29uc3QgdD1jLmNhY2hlLmdldChlKT8/e3N5bWJvbG5hbWU6ZSxzdGF0dXM6Im9rIix2YWx1ZXM6e319O2MuY2FjaGUudXBkYXRlKHQsdGhpcy5fZmllbGRzLCEwKSwKdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAsbC5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksYy5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLGk9KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscz1uZXcgU2V0KGkpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmcy5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxzKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1jLmNhY2hlPWQuUVVPVEVfRklFTERTX0NBQ0hFfSw2MjM1MTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUpe2xldCB0PW51bGw7cmV0dXJuKCk9PihudWxsPT09dCYmKHQ9ZSgpKSx0KX1pLmQodCx7bGF6eVZhbHVlOigpPT5zfSl9LDc4ODAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nlc3Npb25UaGVuTG9jYWw6KCk9PnMsc2Vzc2lvblRoZW5UdlNldHRpbmdzOigpPT5vfSk7dmFyIHM9e307aS5yKHMpLGkuZChzLHtnZXQ6KCk9PmIsbG9nZ2VyOigpPT5nLHNldDooKT0+bX0pO3ZhciBvPXt9O2kucihvKSxpLmQobyx7Z2V0OigpPT55LGxvZ2dlcjooKT0+ZixzZXQ6KCk9PlN9KTt2YXIgbj1pKDIyMTA2MSksYT1pKDkzMjM2NSk7aWYoNzk3OTU9PWkuail2YXIgbD1pKDIzNzM2OSk7aWYoNzk3OTU9PWkuail2YXIgcj1pKDc3NjE3Myk7dmFyIGQ9aSg4Mzk0MjYpLHU9aSg1NjkzOTgpO2NvbnN0IGM9KDAsbi5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7Y29uc3QgaD0oMCxkLmRlZmF1bHQpKCgoKT0+e3JldHVybiB2b2lkIDAhPT13aW5kb3cuVFZEP251bGwhPShlPXdpbmRvdy5UVkQuc2Vzc2lvblN0b3JhZ2UpJiYib2JqZWN0Ij09dHlwZW9mIGUmJiJnZXRJdGVtImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmdldEl0ZW0mJiJzZXRJdGVtImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnNldEl0ZW0mJigwLHUuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSIpP3dpbmRvdy5UVkQuc2Vzc2lvblN0b3JhZ2U6bnVsbDooMCx1LmlzRmVhdHVyZUVuYWJsZWQpKCJ1c2VfYnJvd3Nlcl9zZXNzaW9uX3N0b3JhZ2UiKT93aW5kb3cuc2Vzc2lvblN0b3JhZ2U6bnVsbDt2YXIgZX0pKTtmdW5jdGlvbiBwKGUsdCl7Y29uc3QgaT1oKCk7aWYobnVsbCE9PWkpdHJ5e2kuc2V0SXRlbShlLHQpfWNhdGNoKGUpe2M/LmxvZ1dhcm4oYHNlc3Npb25TdG9yYWdlLnNldEl0ZW0gZmFpbGVkLCBiZWNhdXNlIG9mIGV4Y2VwdGlvbjogJHsoMCxsLmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fWZ1bmN0aW9uIF8oZSl7Y29uc3QgdD1oKCk7cmV0dXJuIG51bGw9PT10P251bGw6dC5nZXRJdGVtKGUpfWNvbnN0IGc9KDAsbi5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7ZnVuY3Rpb24gbShlLHQpe3RyeXtjb25zdCBpPSgwLHIuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpO3AoZSxpKSxhLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oZSxpKX1jYXRjaChlKXtnPy5sb2dXYXJuKGBzZXNzaW9uVGhlbkxvY2FsLnNldCBmYWlsZWQ6ICR7KDAsbC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX1mdW5jdGlvbiBiKGUsdCxpKXt0cnl7cmV0dXJuKDAsci5wYXJzZVNldHRpbmdWYWx1ZSkoZnVuY3Rpb24oZSx0KXtsZXQgaT1fKGUpO251bGw9PT1pJiYoaT1hLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk/P3QscChlLGkpKTtyZXR1cm4gaX0oZSwoMCxyLnNldHRpbmdWYWx1ZVRvU3RyaW5nKSh0KSksaSl9Y2F0Y2goZSl7cmV0dXJuIGc/LmxvZ1dhcm4oYHNlc3Npb25UaGVuTG9jYWwuZ2V0IGlzIGFib3V0IHRvIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZSBkdWUgdG8gZXJyb3I6ICR7KDAsbC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApLHR9fXZhciB2PWkoOTMwNTY2KTtjb25zdCBmPSgwLG4uZ2V0TG9nZ2VyKSgiTGliLlNlc3Npb25TY29wZWRTZXR0aW5ncyIpO2Z1bmN0aW9uIFMoZSx0KXt0cnl7Y29uc3QgaT0oMCxyLnNldHRpbmdWYWx1ZVRvU3RyaW5nKSh0KTtwKGUsaSksdi5zZXRWYWx1ZShlLGkpfWNhdGNoKGUpe2Y/LmxvZ1dhcm4oYHNlc3Npb25UaGVuVHZTZXR0aW5ncy5zZXQgZmFpbGVkOiAkeygwLGwuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKX19ZnVuY3Rpb24geShlLHQsaSl7dHJ5e3JldHVybigwLHIucGFyc2VTZXR0aW5nVmFsdWUpKGZ1bmN0aW9uKGUsdCl7bGV0IGk9XyhlKTtudWxsPT09aSYmKGk9di5nZXRWYWx1ZShlKT8/dCxwKGUsaSkpO3JldHVybiBpfShlLCgwLHIuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpKSxpKX1jYXRjaChlKXtyZXR1cm4gZj8ubG9nV2Fybihgc2Vzc2lvblRoZW5UdlNldHRpbmdzLmdldCBpcyBhYm91dCB0byByZXR1cm4gdGhlIGRlZmF1bHQgdmFsdWUgZHVlIHRvIGVycm9yOiAkeygwLGwuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKSx0fX19LDc3NjE3MyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPUpTT04ucGFyc2UoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gaTtpZih0KGkpKXJldHVybiBpO3Rocm93IG5ldyBUeXBlRXJyb3IoIlBhcnNlZCB2YWx1ZSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCB2YWxpZGF0aW9uIHByZWRpY2F0ZSIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWkuZCh0LHtwYXJzZVNldHRpbmdWYWx1ZTooKT0+cyxzZXR0aW5nVmFsdWVUb1N0cmluZzooKT0+b30pfSwxODIzMDgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5hfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg3ODc4OTUpLG49aSg2MTYzMTEpCjtmdW5jdGlvbiBhKGUsdD1bXSl7Y29uc3RbaSxhXT0oMCxzLnVzZVN0YXRlKSghMSksbD0oMCxvLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGUpO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT1sLmN1cnJlbnQ7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHQ9ZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2Uicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCI6YSghMCk7YnJlYWs7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiOmEoITEpfX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsdCksZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiLHQpLCgpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCl9fSksdCksW2wsaT8wOi0xXX19LDkyOTQ4OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc1NlcGFyYXRvckl0ZW06KCk9Pm99KTt2YXIgcz1pKDkwMTAyMik7ZnVuY3Rpb24gbyhlKXtyZXR1cm4oMCxzLmlzU2VwYXJhdG9ySXRlbSkoZSl9fSwzMjA1NShlLHQsaSl7InVzZSBzdHJpY3QiO2kucih0KSxpLmQodCx7cmVzb2x2ZVN5bWJvbE5hbWU6KCk9PmQscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGw6KCk9PnUscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGxEaXN0aW5jdDooKT0+YyxzbmFwc2hvdGVyOigpPT5sfSk7dmFyIHM9aSgxMjg4MTQpLG89aSg2MjM1MTEpLG49aSg5Mjk0ODgpO2NvbnN0IGE9bmV3IFNldChbInByb19uYW1lIiwiYmFzZV9uYW1lIiwic2hvcnRfbmFtZSIsImRlc2NyaXB0aW9uIiwidHlwZSIsImV4Y2hhbmdlIiwidHlwZXNwZWNzIiwibGlzdGVkX2V4Y2hhbmdlIiwibGFzdF9wcmljZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwic3ltYm9sLXByaW1hcnluYW1lIiwibG9nb2lkIiwibG9nbyIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwic291cmNlLWxvZ29pZCIsInVwZGF0ZV9tb2RlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInByb19wZXJtIiwic291cmNlIiwic291cmNlMiIsInByaWNlc2NhbGUiLCJtaW5tb3YiLCJmcmFjdGlvbmFsIiwidmlzaWJsZS1wbG90cy1zZXQiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwidW5kZXJseWluZy1zeW1ib2wiXSksbD0oMCxvLmxhenlWYWx1ZSkoKCgpPT5uZXcgcy5RdW90ZVNlc3Npb25TbmFwc2hvdGVyKHtuYW1lOiJiYXNpYy1zeW1ib2wtcXVvdGVzIixmaWVsZHM6Wy4uLmFdLGFwaTp3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZX0pKSkscj1uZXcgU2V0KFsicHJvX25hbWUiXSk7YXN5bmMgZnVuY3Rpb24gZChlKXtyZXR1cm4oMCxuLmlzU2VwYXJhdG9ySXRlbSkoZSk/ZTpsKCkuZ2V0U25hcHNob3QoZSxyKS50aGVuKChlPT4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoZCkpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHUoZSkudGhlbigoZT0+Wy4uLm5ldyBTZXQoZSldKSl9fSw5ODYyNzUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvczooKT0+cixyZXNvbHZlTG9nb1VybHM6KCk9PmEscmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhOigpPT5sfSk7dmFyIHM9aSg2MDE4NDEpLG89aSg4NjIyMTMpO2NvbnN0IG49KDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gYShlLHQ9by5Mb2dvU2l6ZS5NZWRpdW0pe2NvbnN0IGk9ZS5sb2dvaWQscz1lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdLGE9ZVsiY3VycmVuY3ktbG9nb2lkIl0sbD1pJiZuLmdldFN5bWJvbExvZ29VcmwoaSx0KTtpZihsKXJldHVybltsXTtjb25zdCByPXMmJm4uZ2V0U3ltYm9sTG9nb1VybChzLHQpLGQ9YSYmbi5nZXRTeW1ib2xMb2dvVXJsKGEsdCk7cmV0dXJuIHImJmQ/W3IsZF06cj9bcl06ZD9bZF06W119ZnVuY3Rpb24gbChlLHQ9by5Mb2dvU2l6ZS5NZWRpdW0pe3JldHVybigicGFpciI9PT1lLnN0eWxlP1tlLmxvZ29pZCxlLmxvZ29pZDJdOltlLmxvZ29pZF0pLm1hcCgoZT0+bi5nZXRTeW1ib2xMb2dvVXJsKGUsdCkpKS5maWx0ZXIocy5ub3ROdWxsKX1mdW5jdGlvbiByKGUpe3JldHVybiAyIT09ZS5sZW5ndGg/ZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5zb21lKChlPT5kKGUpKSl9KGUpJiYhZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29tZSgoZT0+ZS5pbmNsdWRlcygiY291bnRyeSIpJiYhZChlKSkpfShlKT9lLmZpbHRlcigoZT0+IWQoZSkpKTplfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGUuaW5jbHVkZXMoImNvdW50cnkvVVMiKX19LDM2NDM1MChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZT09PXR9aS5kKHQse2NyZWF0ZVNlbGVjdG9yOigpPT5vfSk7dmFyIG89ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsaT1BcnJheSh0PjE/dC0xOjApLHM9MTtzPHQ7cysrKWlbcy0xXT1hcmd1bWVudHNbc107cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscz1BcnJheSh0KSxvPTA7bzx0O28rKylzW29dPWFyZ3VtZW50c1tvXTt2YXIgbj0wLGE9cy5wb3AoKSxsPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5LmlzQXJyYXkoZVswXSk/ZVswXTplO2lmKCF0LmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX0pKSl7dmFyIGk9dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX0pKS5qb2luKCIsICIpO3Rocm93IG5ldyBFcnJvcigiU2VsZWN0b3IgY3JlYXRvcnMgZXhwZWN0IGFsbCBpbnB1dC1zZWxlY3RvcnMgdG8gYmUgZnVuY3Rpb25zLCBpbnN0ZWFkIHJlY2VpdmVkIHRoZSBmb2xsb3dpbmcgdHlwZXM6IFsiK2krIl0iKX1yZXR1cm4gdH0ocykscj1lLmFwcGx5KHZvaWQgMCxbZnVuY3Rpb24oKXsKcmV0dXJuIG4rKyxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX1dLmNvbmNhdChpKSksZD1lKChmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PWwubGVuZ3RoLGk9MDtpPHQ7aSsrKWUucHVzaChsW2ldLmFwcGx5KG51bGwsYXJndW1lbnRzKSk7cmV0dXJuIHIuYXBwbHkobnVsbCxlKX0pKTtyZXR1cm4gZC5yZXN1bHRGdW5jPWEsZC5kZXBlbmRlbmNpZXM9bCxkLnJlY29tcHV0YXRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIG59LGQucmVzZXRSZWNvbXB1dGF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBuPTB9LGR9fSgoZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnMsaT1udWxsLG89bnVsbDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0LGkpe2lmKG51bGw9PT10fHxudWxsPT09aXx8dC5sZW5ndGghPT1pLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHM9dC5sZW5ndGgsbz0wO288cztvKyspaWYoIWUodFtvXSxpW29dKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxpLGFyZ3VtZW50cyl8fChvPWUuYXBwbHkobnVsbCxhcmd1bWVudHMpKSxpPWFyZ3VtZW50cyxvfX0pKX0sNjY2MzMyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRyb2xCYXJOYXZpZ2F0aW9uOigpPT5lZX0pO3ZhciBzPWkoMTM4NjM4KSxvPWkoMTg1MjcxKSxuPWkoMzYzMjY5KSxhPWkoOTMwMjMxKSxsPWkoOTUyOTAwKSxyPWkoOTIzMTc2KSxkPWkoOTY5MTY4KSx1PWkoNDQzNTU3KSxjPWkoNTUyMTQ1KSxoPWkoMzQ1MTUxKSxwPWkoMzE4OTc0KSxfPWkoMjM1NzI0KSxnPWkoMTI4OTk4KSxtPWkoMzg2OTMxKSxiPWkoNDk3MDE4KSx2PWkoMTIxNDc0KSxmPWkoNzMyMDM5KSxTPWkoNTQ5NzcwKSx5PWkoOTk3ODM0KSx3PWkoMjQ3MDMwKSxDPWkoNTczNTgyKSxFPWkoMzY4OTU0KSx4PWkoMjkxMjA5KSxMPWkoODM1NTUwKSxNPWkoNDMxODUpO2koNzEwMTU2KTtjb25zdCBUPSgwLF8uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoXy5Nb2RpZmllcnMuQWx0LCExKSxWPSgwLF8uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoXy5Nb2RpZmllcnMuU2hpZnQsITEpLGs9KDAsXy5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShfLk1vZGlmaWVycy5Nb2QsITEpLEE9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltULCJSIl0sdGV4dDoiezB9ICsgezF9In0pLFc9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltULCJDbGljayIsVCwiRW50ZXIiXSx0ZXh0OiJ7MH0gKyB7MX0sIHsyfSArIHszfSJ9KSxJPSgwLGguaG90S2V5U2VyaWFsaXplKSh7a2V5czpbRV0sdGV4dDoiezB9In0pLEI9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlt4XSx0ZXh0OiJ7MH0ifSksSD0oMCxoLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6W2ssTF0sdGV4dDoiezB9ICsgezF9In0pLEQ9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltrLE1dLHRleHQ6InswfSArIHsxfSJ9KSxQPSgwLGguaG90S2V5U2VyaWFsaXplKSh7a2V5czpbVCxWLHhdLHRleHQ6InswfSArIHsxfSArIHsyfSJ9KSxOPW8udChudWxsLHZvaWQgMCxpKDMxNDUzNCkpLFI9by50KG51bGwsdm9pZCAwLGkoNDg3ODc0KSksTz1vLnQobnVsbCx2b2lkIDAsaSg1NTEzMzIpKSxGPW8udChudWxsLHZvaWQgMCxpKDY3MTgwOSkpLHo9by50KG51bGwsdm9pZCAwLGkoMjQxNzIyKSksaj1vLnQobnVsbCx2b2lkIDAsaSg3MDgyMzMpKSxVPW8udChudWxsLHZvaWQgMCxpKDIwNzg0NSkpLEc9by50KG51bGwsdm9pZCAwLGkoNjYwODEwKSk7dmFyIFosSjshZnVuY3Rpb24oZSl7ZVtlLkJhclZpc2libGVEaXN0YW5jZT0xMDBdPSJCYXJWaXNpYmxlRGlzdGFuY2UiLGVbZS5CYWNrQnV0dG9uUmlnaHRNYXJnaW49MTRdPSJCYWNrQnV0dG9uUmlnaHRNYXJnaW4iLGVbZS5TaW5nbGVCdXR0b25XaWR0aD0zNl09IlNpbmdsZUJ1dHRvbldpZHRoIixlW2UuR3JvdXBNYXJnaW5zPTE0XT0iR3JvdXBNYXJnaW5zIixlW2UuR29Ub1JlYWx0aW1lQnV0dG9uV2lkdGg9NTBdPSJHb1RvUmVhbHRpbWVCdXR0b25XaWR0aCIsZVtlLkxlZnRNYXJnaW49NTBdPSJMZWZ0TWFyZ2luIixlW2UuVGltZUF4aXNNYWluUGFuZU1hcmdpbj0yN109IlRpbWVBeGlzTWFpblBhbmVNYXJnaW4iLGVbZS5QYW5lQ29udHJvbHNIZWlnaHQ9MjhdPSJQYW5lQ29udHJvbHNIZWlnaHQifShafHwoWj17fSkpLGZ1bmN0aW9uKGUpe2UuU2Nyb2xsTGVmdFJpZ2h0PSJqcy1idG4tZ3JvdXAtc2Nyb2xsIixlLlpvb21Jblpvb21PdXQ9ImpzLWJ0bi1ncm91cC16b29tIixlLk1heGltaXplPSJqcy1idG4tZ3JvdXAtbWF4aW1pemUiLGUuUmVzZXRTY2FsZT0ianMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIn0oSnx8KEo9e30pKQo7Y29uc3QgWT1gPGRpdiBjbGFzcz0iY29udHJvbC1iYXItd3JhcHBlciI+XG5cdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyIGNvbnRyb2wtYmFyLS1oaWRkZW4iPlxuXHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19ncm91cCBqcy1idG4tZ3JvdXAganMtYnRuLWdyb3VwLXpvb20iPlxuXHRcdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2J0biBjb250cm9sLWJhcl9fYnRuLS16b29tLW91dCBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7Tn0iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7RH0iPlxuXHRcdFx0XHQke3Z9XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tem9vbS1pbiBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7Un0iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7SH0iPlxuXHRcdFx0XHQke1N9XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPSJjb250cm9sLWJhcl9fZ3JvdXAganMtYnRuLWdyb3VwIGpzLWJ0bi1ncm91cC1tYXhpbWl6ZSI+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJjb250cm9sLWJhcl9fYnRuIGNvbnRyb2wtYmFyX19idG4tLW1heGltaXplIGFwcGx5LWNvbW1vbi10b29sdGlwIiBkYXRhLXRvb2x0aXAtaG90a2V5PSIke1d9Ij5cblx0XHRcdFx0JHt3fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2dyb3VwIGpzLWJ0bi1ncm91cCBqcy1idG4tZ3JvdXAtc2Nyb2xsIj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tbW92ZS1sZWZ0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHt6fSIgZGF0YS10b29sdGlwLWhvdGtleT0iJHtJfSI+XG5cdFx0XHRcdCR7Zn1cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2J0biBjb250cm9sLWJhcl9fYnRuLS1tb3ZlLXJpZ2h0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHtqfSIgZGF0YS10b29sdGlwLWhvdGtleT0iJHtCfSI+XG5cdFx0XHRcdCR7Zn1cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19ncm91cCBqcy1idG4tZ3JvdXAganMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tdHVybi1idXR0b24gY29udHJvbC1iYXJfX2J0bi0tYnRuLWhpZGRlbiBhcHBseS1jb21tb24tdG9vbHRpcCBqcy1idG4tcmVzZXQiIHRpdGxlPSIke1V9IiBkYXRhLXRvb2x0aXAtaG90a2V5PSIke0F9Ij5cblx0XHRcdFx0JHt5fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9kaXY+YCxxPWA8ZGl2IGNsYXNzPSJjb250cm9sLWJhci13cmFwcGVyIGNvbnRyb2wtYmFyLXdyYXBwZXItLWJhY2stcHJlc2VudCI+XG5cdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyIGNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tYnRuLWhpZGRlbiBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7R30iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7UH0iPlxuXHRcdCR7Q31cblx0PC9kaXY+XG48L2Rpdj5gLCQ9cC5DaGVja01vYmlsZS5hbnkoKSxRPSJjb250cm9sLWJhcl9fYnRuLS1idG4taGlkZGVuIixLPSJjb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWQiLFg9e3pvb21Jbk91dDohMCxtYXhpbWl6ZTohMCxzY3JvbGxMZWZ0UmlnaHQ6ITAscmVzZXRTY2FsZTohMCxnb1RvUmVhbHRpbWU6ITB9O2NsYXNzIGVle2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl93aWRnZXQ9KDAscy5lbnN1cmVOb3ROdWxsKSgoMCx1LnBhcnNlSHRtbCkoWSkucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyLXdyYXBwZXIiKSksdGhpcy5fY29udHJvbEJhcj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX3dpZGdldC5xdWVyeVNlbGVjdG9yKCIuY29udHJvbC1iYXIiKSksdGhpcy5fYmFjaz0oMCxzLmVuc3VyZU5vdE51bGwpKCgwLHUucGFyc2VIdG1sKShxKS5xdWVyeVNlbGVjdG9yKCIuY29udHJvbC1iYXItd3JhcHBlciIpKSx0aGlzLl9idG5Hcm91cHM9QXJyYXkuZnJvbSh0aGlzLl9jb250cm9sQmFyLnF1ZXJ5U2VsZWN0b3JBbGwoIi5qcy1idG4tZ3JvdXAiKSksdGhpcy5fdGFyZ2V0UGFuZVdpZGdldD1udWxsLHRoaXMuX2JhY2tCdXR0b25WaXNpYmxlPSExLHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ITEsdGhpcy5fYm91bmRNb3VzZUhhbmRsZXI9bnVsbCx0aGlzLl9jaGFydE1vZGVsPW51bGwsdGhpcy5fY29udHJvbEJhclZpc2libGU9ITEsdGhpcy5fcHJpY2VBeGlzQ2hhbmdlZD1udWxsLHRoaXMuX3Jlc2V0U2NhbGVzQXZhaWxhYmxlPW51bGwsdGhpcy5fcHJpY2VBeGlzTmFtZT0icmlnaHQiLHRoaXMuX3JhZklkPW51bGwsdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eT1udWxsLHRoaXMuX2JvdW5kVXBkYXRlTWF4aW1pemVCdXR0b25zVmlzaWJpbGl0eT10aGlzLl91cGRhdGVNYXhpbWl6ZUJ1dHRvbnNWaXNpYmlsaXR5LmJpbmQodGhpcyksdGhpcy5fYm91bmRUb2dnbGVGdWxsc2NyZWVuQnV0dG9ucz10aGlzLl90b2dnbGVGdWxsc2NyZWVuQnV0dG9ucy5iaW5kKHRoaXMpLHRoaXMuX3BhbmVXaWR0aD0wLHRoaXMuX2xlZnRQcmljZVNjYWxlV2lkdGg9MCx0aGlzLl9yaWdodFByaWNlU2NhbGVXaWR0aD0wLHRoaXMuX29uVmlzaWJpbGl0eVR5cGVDaGFuZ2U9ZT0+eyJhbHdheXNPbiI9PT1lfHwiYWx3YXlzT2ZmIj09PWU/KHRoaXMuX2NvbnRyb2xCYXJWaXNpYmxlPSJhbHdheXNPbiI9PT1lLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX2NvbnRyb2xzQmFyVmlzaWJpbGl0eUhhbmRsZXIsITEpLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9jb250cm9sc0JhclZpc2liaWxpdHlIYW5kbGVyLCExKSk6KHRoaXMuX2NvbnRyb2xCYXJWaXNpYmxlPSExLAp0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9jb250cm9sc0JhclZpc2liaWxpdHlIYW5kbGVyKSx0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fY29udHJvbHNCYXJWaXNpYmlsaXR5SGFuZGxlcikpLHRoaXMuX2NvbmZpZ3VyZUJhY2tCdXR0b25WaXNpYmlsaXR5KGUpLHRoaXMuX3VwZGF0ZUNvbnRyb2xCYXJWaXNpYmlsaXR5KCl9LHRoaXMuX3Zpc2liaWxpdHlCYWNrQnV0dG9uSGFuZGxlcj1lPT57Y29uc3QgdD10aGlzLl9jaGVja0lzUG9pbnRlck5lYXJCb3goZSx0aGlzLl9iYWNrLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTt2b2lkIDAhPT10JiZ0aGlzLl9iYWNrQnV0dG9uQ2FuQmVWaXNpYmxlIT09dCYmKHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9dCx0aGlzLl9zZXRSQUYoKSl9LHRoaXMuX2NvbnRyb2xzQmFyVmlzaWJpbGl0eUhhbmRsZXI9ZT0+e2NvbnN0IHQ9dGhpcy5fY2hlY2tJc1BvaW50ZXJOZWFyQm94KGUsdGhpcy5fY29udHJvbEJhci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7dm9pZCAwIT09dCYmdGhpcy5fY29udHJvbEJhclZpc2libGUhPT10JiYodGhpcy5fY29udHJvbEJhclZpc2libGU9dCx0aGlzLl9zZXRSQUYoKSl9LHRoaXMuX3VwZGF0ZUNvbnRyb2xCYXJWaXNpYmlsaXR5PSgpPT57dGhpcy5fY29udHJvbEJhci5jbGFzc0xpc3QudG9nZ2xlKCJjb250cm9sLWJhci0taGlkZGVuIiwhdGhpcy5fY29udHJvbEJhclZpc2libGUpfSx0aGlzLl9jaGFydD1lLHRoaXMuX3BhcmVudD10LHRoaXMuX29wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSxYLGkpLHRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcz10aGlzLl9pbml0R3JvdXBEZXNjcmlwdGlvbnMoKSx0aGlzLl9pbml0KCksdGhpcy5faW5pdEhhbmRsZXJzKCksdGhpcy51cGRhdGVQb3NpdGlvbigpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eSYmKHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkuZGVzdHJveSgpLHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHk9bnVsbCksbnVsbCE9PXRoaXMuX2JvdW5kTW91c2VIYW5kbGVyJiYodGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fYm91bmRNb3VzZUhhbmRsZXIsITEpLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9ib3VuZE1vdXNlSGFuZGxlciwhMSksdGhpcy5fYm91bmRNb3VzZUhhbmRsZXI9bnVsbCksbnVsbCE9PXRoaXMuX3ByaWNlQXhpc0NoYW5nZWQmJih0aGlzLl9wcmljZUF4aXNDaGFuZ2VkLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFja0J0blBvc2l0aW9uKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkPW51bGwpLGNsZWFySW50ZXJ2YWwodGhpcy5fY2hlY2tJbnRlcnZhbElkKSx0aGlzLl9yZXNldFNjYWxlc0F2YWlsYWJsZT8uZGVzdHJveSgpO2NvbnN0IGU9dGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZU1heGltaXplQnV0dG9uc1Zpc2liaWxpdHkpLGUuZnVsbHNjcmVlbi51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFRvZ2dsZUZ1bGxzY3JlZW5CdXR0b25zKSx0aGlzLl9jaGFydD1udWxsfXVwZGF0ZVBvc2l0aW9uKCl7Y29uc3QgZT10aGlzLl90YXJnZXRQYW5lV2lkZ2V0PXRoaXMuX2dldFRhcmdldFBhbmVXaWRnZXQoKTtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lLmdldEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCIuY2hhcnQtbWFya3VwLXRhYmxlIC5wYW5lIik7aWYobnVsbD09PXQpcmV0dXJuO3RoaXMuX3BhbmVXaWR0aD1lLndpZHRoKCksdGhpcy5fbGVmdFByaWNlU2NhbGVXaWR0aD10aGlzLl9jaGFydC5nZXRQcmljZUF4aXNNYXhXaWR0aEJ5TmFtZSgibGVmdCIpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZVdpZHRoPXRoaXMuX2NoYXJ0LmdldFByaWNlQXhpc01heFdpZHRoQnlOYW1lKCJyaWdodCIpO2NvbnN0IGk9dGhpcy5fcGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbS10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSt0aGlzLl9ib3R0b21NYXJnaW4oZSk7dGhpcy5fd2lkZ2V0LnN0eWxlLmJvdHRvbT1gJHtpfXB4YCx0aGlzLl9iYWNrLnN0eWxlLmJvdHRvbT1gJHtpfXB4YCx0aGlzLl91cGRhdGVCdG5Hcm91cFZpc2liaWxpdHkoKX1fZ2V0VGFyZ2V0UGFuZVdpZGdldCgpe2NvbnN0IGU9dGhpcy5fY2hhcnQubWF4aW1pemVkUGFuZVdpZGdldCgpO2lmKGUpcmV0dXJuIGU7Y29uc3QgdD1bLi4udGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKV0ucmV2ZXJzZSgpO2Zvcihjb25zdCBlIG9mIHQpaWYoZS5oZWlnaHQoKT49dGhpcy5fd2lkZ2V0LmNsaWVudEhlaWdodCsyOCt0aGlzLl9ib3R0b21NYXJnaW4oZSkpcmV0dXJuIGU7cmV0dXJuIG51bGx9X2JvdHRvbU1hcmdpbihlKXtyZXR1cm4gZS5jb250YWluc01haW5TZXJpZXMoKT8yNzowfV9pbml0KCl7aWYocC5DaGVja01vYmlsZS5hbnkoKSlmb3IoY29uc3QgZSBvZiB0aGlzLl9idG5Hcm91cHMpZS5jbGFzc0xpc3QuYWRkKCJqcy1oaWRkZW4iKTt0aGlzLl9idXR0b25zPXt6b29tSW46dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS16b29tLWluIiksem9vbU91dDp0aGlzLl93aWRnZXQucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyX19idG4tLXpvb20tb3V0IiksbW92ZUxlZnQ6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tb3ZlLWxlZnQiKSxtb3ZlUmlnaHQ6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tb3ZlLXJpZ2h0IiksdHVybjp0aGlzLl93aWRnZXQucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyX19idG4tLXR1cm4tYnV0dG9uIiksbWF4aW1pemU6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tYXhpbWl6ZSIpfSx0aGlzLl9wYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5fd2lkZ2V0KSwKdGhpcy5fcGFyZW50LmFwcGVuZENoaWxkKHRoaXMuX2JhY2spLHRoaXMuX3ByaWNlQXhpc05hbWU9KDAsZC5pc1J0bCkoKT8ibGVmdCI6InJpZ2h0Iix0aGlzLl9jaGFydC53aXRoTW9kZWwodGhpcywoKCk9Pnt0aGlzLl9jaGFydE1vZGVsPXRoaXMuX2NoYXJ0Lm1vZGVsKCksdGhpcy5faW5pdFZpc2liaWxpdHkoKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkPXRoaXMuX2NoYXJ0LmdldFByaWNlQXhpc1dpZHRoQ2hhbmdlZEJ5TmFtZSh0aGlzLl9wcmljZUF4aXNOYW1lKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhY2tCdG5Qb3NpdGlvbiksdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGU9dGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkuc3Bhd24oKSx0aGlzLl9yZXNldFNjYWxlc0F2YWlsYWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNCdXR0b25WaXNpYmlsaXR5LmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pO2NvbnN0IGU9dGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS5zdWJzY3JpYmUodGhpcy5fYm91bmRVcGRhdGVNYXhpbWl6ZUJ1dHRvbnNWaXNpYmlsaXR5KSxlLmZ1bGxzY3JlZW4uc3Vic2NyaWJlKHRoaXMuX2JvdW5kVG9nZ2xlRnVsbHNjcmVlbkJ1dHRvbnMse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3VwZGF0ZU1heGltaXplQnV0dG9uc1Zpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVCYWNrQnRuUG9zaXRpb24oKSx0aGlzLl9iYWNrLnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9Pnt0aGlzLl9jaGFydC5zY3JvbGxIZWxwZXIoKS5zY3JvbGxUb1JlYWx0aW1lKCEwLCgoKT0+dGhpcy5fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpKSl9KSl9KSl9X2luaXRIYW5kbGVycygpe2NvbnN0IGU9bi5tb2JpbGV0b3VjaD8idG91Y2hzdGFydCI6Im1vdXNlZG93biIsdD1uLm1vYmlsZXRvdWNoP1sidG91Y2hlbmQiXTpbIm1vdXNldXAiLCJtb3VzZW91dCJdO3RoaXMuX2J1dHRvbnMubW92ZUxlZnQuYWRkRXZlbnRMaXN0ZW5lcihlLChlPT57ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2NoYXJ0LnNjcm9sbEhlbHBlcigpLm1vdmVCeUJhcigxKSx0aGlzLl90cmFja0V2ZW50KCJNb3ZlIExlZnQiKX0pKSx0aGlzLl9idXR0b25zLm1vdmVSaWdodC5hZGRFdmVudExpc3RlbmVyKGUsKGU9PntlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fY2hhcnQuc2Nyb2xsSGVscGVyKCkubW92ZUJ5QmFyKC0xKSx0aGlzLl90cmFja0V2ZW50KCJNb3ZlIFJpZ2h0Iil9KSk7Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9idXR0b25zLm1vdmVMZWZ0LmFkZEV2ZW50TGlzdGVuZXIoZSwoKCk9PnRoaXMuX2NoYXJ0LnNjcm9sbEhlbHBlcigpLnN0b3BNb3ZlKCkpKSx0aGlzLl9idXR0b25zLm1vdmVSaWdodC5hZGRFdmVudExpc3RlbmVyKGUsKCgpPT50aGlzLl9jaGFydC5zY3JvbGxIZWxwZXIoKS5zdG9wTW92ZSgpKSk7dGhpcy5fYnV0dG9ucy50dXJuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZT0+e2UucHJldmVudERlZmF1bHQoKSx0aGlzLl9jaGFydC5HVUlSZXNldFNjYWxlcygpLHRoaXMuX3RyYWNrRXZlbnQoIlJlc2V0IHRvIERlZmF1bHQgU2V0dGluZ3MiKX0pKSx0aGlzLl9idXR0b25zLnpvb21PdXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChlPT57ZS5wcmV2ZW50RGVmYXVsdCgpLG51bGwhPT10aGlzLl9jaGFydE1vZGVsJiZ0aGlzLl9jaGFydE1vZGVsLnpvb21PdXQoKSx0aGlzLl90cmFja0V2ZW50KCJab29tIE91dCIpfSkpLHRoaXMuX2J1dHRvbnMuem9vbUluLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCYmdGhpcy5fY2hhcnRNb2RlbC56b29tSW4oKSx0aGlzLl90cmFja0V2ZW50KCJab29tIEluIil9KSksdGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9PntlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fY2hhcnQuc2V0QWN0aXZlKCEwKTt0aGlzLl9idXR0b25zLm1heGltaXplLmNsYXNzTGlzdC5jb250YWlucyhLKT8odGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkuZXhpdEZ1bGxzY3JlZW4oKSx0aGlzLl90cmFja0V2ZW50KCIgUmVzdG9yZSBDaGFydCIpKToodGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkucmVxdWVzdEZ1bGxzY3JlZW4oKSx0aGlzLl90cmFja0V2ZW50KCIgTWF4aW1pemUgQ2hhcnQiKSl9KSk7Y29uc3QgaT1lPT5lLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+ZS5wcmV2ZW50RGVmYXVsdCgpKSk7aSh0aGlzLl9idXR0b25zLm1vdmVMZWZ0KSxpKHRoaXMuX2J1dHRvbnMubW92ZVJpZ2h0KSxpKHRoaXMuX2J1dHRvbnMudHVybiksaSh0aGlzLl9idXR0b25zLnpvb21PdXQpLGkodGhpcy5fYnV0dG9ucy56b29tSW4pLGkodGhpcy5fYnV0dG9ucy5tYXhpbWl6ZSl9X2luaXRHcm91cERlc2NyaXB0aW9ucygpe3JldHVyblt7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohMSxhdmFpbGFibGU6dGhpcy5faXNNYXhpbWl6ZUJ1dHRvbkF2YWlsYWJsZS5iaW5kKHRoaXMpLGNsYXNzTmFtZToianMtYnRuLWdyb3VwLW1heGltaXplIixlbGVtZW50OnRoaXMuX2dldEJ0bkdyb3VwKCJqcy1idG4tZ3JvdXAtbWF4aW1pemUiKSx0b3RhbFdpZHRoOjUwfSx7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohMSxhdmFpbGFibGU6KCk9PnRoaXMuX29wdGlvbnMucmVzZXRTY2FsZSxjbGFzc05hbWU6ImpzLWJ0bi1ncm91cC1yZXNldC1zY2FsZSIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIiksdG90YWxXaWR0aDo1MH0se3Nob3VsZEJlSGlkZGVuT25Nb2JpbGU6ISgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIiksYXZhaWxhYmxlOigpPT50aGlzLl9vcHRpb25zLnpvb21Jbk91dCwKY2xhc3NOYW1lOiJqcy1idG4tZ3JvdXAtem9vbSIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXpvb20iKSx0b3RhbFdpZHRoOjg2fSx7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd196b29tX2FuZF9tb3ZlX2J1dHRvbnNfb25fdG91Y2giKSxhdmFpbGFibGU6KCk9PnRoaXMuX29wdGlvbnMuc2Nyb2xsTGVmdFJpZ2h0LGNsYXNzTmFtZToianMtYnRuLWdyb3VwLXNjcm9sbCIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXNjcm9sbCIpLHRvdGFsV2lkdGg6ODZ9XX1fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsfHwhdGhpcy5fb3B0aW9ucy5nb1RvUmVhbHRpbWUpcmV0dXJuO2NvbnN0IGU9dGhpcy5fYmFja0J1dHRvbkNhbkJlVmlzaWJsZSYmdGhpcy5fY2hhcnRNb2RlbC50aW1lU2NhbGUoKS5yaWdodE9mZnNldCgpPDA7ZSE9PXRoaXMuX2JhY2tCdXR0b25WaXNpYmxlJiYodGhpcy5fYmFja0J1dHRvblZpc2libGU9ZSx0aGlzLl9iYWNrLnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuIik/LmNsYXNzTGlzdC50b2dnbGUoUSwhdGhpcy5fYmFja0J1dHRvblZpc2libGUpKX1faW5pdFZpc2liaWxpdHkoKXt0aGlzLl92aXNpYmlsaXR5VHlwZVByb3BlcnR5PSgwLGwuY29tYmluZSkoKChlLHQpPT5udWxsIT09dD8iYWx3YXlzT2ZmIjplKSwoMCxjLmNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKSgoMCxyLmFjdHVhbEJlaGF2aW9yKSgpKS5vd25lcnNoaXAoKSwoMCxnLmdldFNlcmllc0Rpc3BsYXlFcnJvcldWKSgoMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwpLm1haW5TZXJpZXMoKSkub3duZXJzaGlwKCkpLHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkuc3Vic2NyaWJlKHRoaXMuX29uVmlzaWJpbGl0eVR5cGVDaGFuZ2Use2NhbGxXaXRoTGFzdDohMH0pfV9jb25maWd1cmVCYWNrQnV0dG9uVmlzaWJpbGl0eShlKXsiYWx3YXlzT2ZmIj09PWU/KGNsZWFySW50ZXJ2YWwodGhpcy5fY2hlY2tJbnRlcnZhbElkKSx0aGlzLl9jaGVja0ludGVydmFsSWQ9dm9pZCAwKTp0aGlzLl9jaGVja0ludGVydmFsSWQ9dGhpcy5fY2hlY2tJbnRlcnZhbElkPz9zZXRJbnRlcnZhbCgoKCk9PnRoaXMuX2NoZWNrQmFja0J1dHRvblZpc2liaWxpdHkoKSksMWUzKSxwLkNoZWNrTW9iaWxlLmFueSgpP3RoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ImFsd2F5c09mZiIhPT1lOiJhbHdheXNPbiI9PT1lfHwiYWx3YXlzT2ZmIj09PWU/KHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ImFsd2F5c09uIj09PWUsdGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyLCExKSx0aGlzLl9wYXJlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyLCExKSk6KHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ITEsdGhpcy5fcGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyKSx0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyKSksdGhpcy5fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpfV9jaGVja0lzUG9pbnRlck5lYXJCb3goZSx0KXtpZighKGUuYnV0dG9uc3x8bnVsbCE9PXRoaXMuX2NoYXJ0TW9kZWwmJnRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpKSl7aWYoIm1vdXNlbW92ZSI9PT1lLnR5cGUpe2NvbnN0IGk9MTAwLSh0aGlzLl90YXJnZXRQYW5lV2lkZ2V0P3RoaXMuX2JvdHRvbU1hcmdpbih0aGlzLl90YXJnZXRQYW5lV2lkZ2V0KTowKTtyZXR1cm4gZS5jbGllbnRYPj10LmxlZnQtMTAwJiZlLmNsaWVudFg8PXQucmlnaHQrMTAwJiZlLmNsaWVudFk+PXQudG9wLWkmJmUuY2xpZW50WTw9dC5ib3R0b20rMTAwfXJldHVybiExfX1fc2V0UkFGKCl7bnVsbD09PXRoaXMuX3JhZklkJiYodGhpcy5fcmFmSWQ9dGhpcy5fd2lkZ2V0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2NoZWNrQmFja0J1dHRvblZpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVDb250cm9sQmFyVmlzaWJpbGl0eSgpLHRoaXMuX3JhZklkPW51bGx9KSkpfV91cGRhdGVCYWNrQnRuUG9zaXRpb24oKXtpZigibGVmdCI9PT10aGlzLl9wcmljZUF4aXNOYW1lfHwicmlnaHQiPT09dGhpcy5fcHJpY2VBeGlzTmFtZSl7Y29uc3QgZT10aGlzLl9jaGFydC5nZXRQcmljZUF4aXNNYXhXaWR0aEJ5TmFtZSh0aGlzLl9wcmljZUF4aXNOYW1lKSsxNDtlJiYodGhpcy5fYmFjay5zdHlsZS5tYXJnaW5SaWdodD1gJHtlfXB4YCl9fV91cGRhdGVCdG5Hcm91cFZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX2xlZnRQcmljZVNjYWxlV2lkdGgrdGhpcy5fcGFuZVdpZHRoLHQ9KGUrdGhpcy5fcmlnaHRQcmljZVNjYWxlV2lkdGgpLzI7bGV0IGk9MipNYXRoLm1pbihlLXQsdC10aGlzLl9sZWZ0UHJpY2VTY2FsZVdpZHRoKS01MC01MCxzPSExO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcyl7ZS5lbm91Z2hTcGFjZUZvckdyb3VwPSExO2UuYXZhaWxhYmxlKCkmJighJHx8IWUuc2hvdWxkQmVIaWRkZW5Pbk1vYmlsZSkmJihpLT1lLnRvdGFsV2lkdGgsZS5lbm91Z2hTcGFjZUZvckdyb3VwPWk+PTAmJiFzLHM9c3x8IWUuZW5vdWdoU3BhY2VGb3JHcm91cCksIWUuZW5vdWdoU3BhY2VGb3JHcm91cCE9PWUuZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpJiZlLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhZS5lbm91Z2hTcGFjZUZvckdyb3VwKX10aGlzLl91cGRhdGVDb250cm9sQmFyUG9zaXRpb24oKX1fZ2V0QnRuR3JvdXAoZSl7cmV0dXJuKDAsCnMuZW5zdXJlRGVmaW5lZCkodGhpcy5fYnRuR3JvdXBzLmZpbmQoKHQ9PnQuY2xhc3NMaXN0LmNvbnRhaW5zKGUpKSkpfV91cGRhdGVDb250cm9sQmFyUG9zaXRpb24oKXtjb25zdCBlPXRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcy5yZWR1Y2UoKChlLHQpPT5lKyh0LmVub3VnaFNwYWNlRm9yR3JvdXA/dC50b3RhbFdpZHRoOjApKSwwKSx0PSh0aGlzLl9wYW5lV2lkdGgrdGhpcy5fbGVmdFByaWNlU2NhbGVXaWR0aCt0aGlzLl9yaWdodFByaWNlU2NhbGVXaWR0aCkvMi1NYXRoLmNlaWwoZS8yKTt0aGlzLl93aWRnZXQuc3R5bGUubGVmdD1gJHt0fXB4YH1fdXBkYXRlUmVzZXRTY2FsZXNCdXR0b25WaXNpYmlsaXR5KCl7aWYobnVsbD09PXRoaXMuX2NoYXJ0TW9kZWwpcmV0dXJuO2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKTt0aGlzLl9idXR0b25zLnR1cm4uY2xhc3NMaXN0LnRvZ2dsZShRLCFlKX1fdXBkYXRlTWF4aW1pemVCdXR0b25zVmlzaWJpbGl0eSgpe3RoaXMuX3VwZGF0ZUJ0bkdyb3VwVmlzaWJpbGl0eSgpfV90b2dnbGVGdWxsc2NyZWVuQnV0dG9ucygpe2NvbnN0IGU9dGhpcy5fY2hhcnQuaW5GdWxsc2NyZWVuKCk7dGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS5jbGFzc0xpc3QudG9nZ2xlKEssZSksdGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS50aXRsZT1lP0Y6T31faXNNYXhpbWl6ZUJ1dHRvbkF2YWlsYWJsZSgpe3JldHVybiEhdGhpcy5fb3B0aW9ucy5tYXhpbWl6ZSYmKCEhdGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkuZnVsbHNjcmVlbmFibGUudmFsdWUoKSYmIWIubWVkaWFTdGF0ZS5pc1Bob25lU2l6ZURldmljZSgpKX1fdHJhY2tFdmVudChlKXt0aGlzLl9jaGFydC5vbldpZGdldCgpfHwoMCxtLnRyYWNrRXZlbnQpKCJOYXZpZ2F0aW9uIGJ1dHRvbiIsZSl9fX0sMzA1NjQwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2ljb25zOigpPT5vfSk7dmFyIHM9aSg3ODMyNTQpO2NvbnN0IG89W3tpY29uOiLwn5S2IixsYWJlbDpzLnQobnVsbCx2b2lkIDAsaSg0NzkwNzgpKX0se2ljb246IvCfjYAiLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDc2MDUpKX0se2ljb246IvCfkqciLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDU3MzM0NykpfSx7aWNvbjoi4p2k77iPIixsYWJlbDpzLnQobnVsbCx2b2lkIDAsaSg2MTUyMjEpKX0se2ljb246IvCfkqkiLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDkyMzkwOSkpfV19LDY3MTgxOChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMZWdlbmRXaWRnZXQ6KCk9PmJzfSk7dmFyIHM9aSg5MTg3NzkpLG89aSg1ODcxNjgpLG49aSgxMzg2MzgpLGE9aSg2MDE4NDEpLGw9aSg5MzAyMzEpLHI9aSgyMzIzNjQpLGQ9aSg5NTI5MDApLHU9aSg5NDgzODApLGM9aSgxMzQ2NyksaD1pKDIzNTcyNCkscD1pKDkwMDg0MSksXz1pKDMxODk3NCk7ZnVuY3Rpb24gZyhlLHQpe251bGw9PT1lLmZpcnN0Q2hpbGQ/ZS50ZXh0Q29udGVudD10OmUuZmlyc3RDaGlsZC5ub2RlVmFsdWU9dH12YXIgbT1pKDMyOTY2OCksYj1pKDk4MzYxNiksdj1pKDgwMDIyNiksZj1pKDM0NDc4NSksUz1pKDc3OTQ3NCkseT1pKDEyOTM2NSksdz1pKDczNDgyKTtmdW5jdGlvbiBDKGUpe2NvbnN0e2NvbnRhaW5lcjp0LC4uLml9PWU7cmV0dXJuIHkucmVuZGVyKFMuY3JlYXRlRWxlbWVudCh3LlN0YXR1c2VzUGlsbCx7Li4uaX0pLHQpLCgpPT57eS51bm1vdW50Q29tcG9uZW50QXROb2RlKHQpLGUuc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrPy4oITApfX12YXIgRT1pKDM4NzIzMSkseD1pKDY2MzQpO2NvbnN0IEw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT80NDoyODt2YXIgTSxUOyFmdW5jdGlvbihlKXtlW2UuVGlueT0xXT0iVGlueSIsZVtlLlNtYWxsPTJdPSJTbWFsbCIsZVtlLk1lZGl1bT0zXT0iTWVkaXVtIixlW2UuTGFyZ2U9NF09IkxhcmdlIn0oTXx8KE09e30pKSxmdW5jdGlvbihlKXtlW2UuTm9JbnRlcnZhbEZvck11bHRpQ2hhcnQ9MV09Ik5vSW50ZXJ2YWxGb3JNdWx0aUNoYXJ0IixlW2UuTm9FeGNoYW5nZVByb3ZpZGVyQW5kSW50ZXJ2YWw9Ml09Ik5vRXhjaGFuZ2VQcm92aWRlckFuZEludGVydmFsIixlW2UuQWxsVmlzaWJsZT0zXT0iQWxsVmlzaWJsZSJ9KFR8fChUPXt9KSk7dmFyIFYsayxBPWkoNjQwMjkyKSxXPWkoOTU2MzY4KSxJPWkoNTgyNDc2KTshZnVuY3Rpb24oZSl7ZVtlLlNlcmllc1RpdGxlPTBdPSJTZXJpZXNUaXRsZSIsZVtlLlNlcmllc0Rlc2NyaXB0aW9uPTFdPSJTZXJpZXNEZXNjcmlwdGlvbiIsZVtlLlNlcmllc0ludGVydmFsPTJdPSJTZXJpZXNJbnRlcnZhbCIsZVtlLlNlcmllc1Byb3ZpZGVyPTNdPSJTZXJpZXNQcm92aWRlciIsZVtlLlNlcmllc0V4Y2hhbmdlPTRdPSJTZXJpZXNFeGNoYW5nZSIsZVtlLlNlcmllc1N0eWxlPTVdPSJTZXJpZXNTdHlsZSIsZVtlLlNlcmllc1ByaWNlU291cmNlPTZdPSJTZXJpZXNQcmljZVNvdXJjZSIsZVtlLkRhdGFTb3VyY2VUaXRsZT03XT0iRGF0YVNvdXJjZVRpdGxlIixlW2UuRGF0YVNvdXJjZVN5bWJvbFRpdGxlPThdPSJEYXRhU291cmNlU3ltYm9sVGl0bGUiLGVbZS5EYXRhU291cmNlRXh0cmFUaXRsZT05XT0iRGF0YVNvdXJjZUV4dHJhVGl0bGUiLGVbZS5EYXRhU291cmNlSW5wdXQ9MTBdPSJEYXRhU291cmNlSW5wdXQifShWfHwoVj17fSkpLGZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLkxhcmdlPSJsYXJnZSJ9KGt8fChrPXt9KSk7dmFyIEI9aSg0MDIwNDUpLEg9aSg4NDg5ODgpLEQ9aSg4NzM1NzMpLFA9aSgxODUyNzEpLE49aSg1NzA2MDMpLFI9aSgzODY5MzEpO2Z1bmN0aW9uIE8oZSl7KDAsUi50cmFja0V2ZW50KSgiR1VJIiwiTGVnZW5kIGFjdGlvbiIsZSl9dmFyIEY9aSg5NjkxNjgpLHo9aSg5NDM5NSk7ZnVuY3Rpb24gaihlKXtyZXR1cm4oMCxhLmlzT2JqZWN0KShlKSYmIml0ZW1zImluIGV9ZnVuY3Rpb24gVShlKXtyZXR1cm4gdm9pZCAwIT09ZT9ELnJlc2V0VHJhbnNwYXJlbmN5KGUpOmV9ZnVuY3Rpb24gRyhlKXtyZXR1cm4gZS5oYXNPd25Qcm9wZXJ0eSgidG91Y2hlcyIpfQpjb25zdCBaPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoInNob3cge3RpdGxlfSIsUC50KG51bGwsdm9pZCAwLGkoNzI1MDkpKSksSj1uZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJoaWRlIHt0aXRsZX0iLFAudChudWxsLHZvaWQgMCxpKDU4OTgxNSkpKSxZPVAudChudWxsLHZvaWQgMCxpKDg5NzMwOSkpLHE9UC50KG51bGwsdm9pZCAwLGkoNzY5MzkxKSk7Y2xhc3MgJHtjb25zdHJ1Y3RvcihlLHQsaSxzLG8pe3RoaXMuX3RpdGxlcz1uZXcgQi5XYXRjaGVkT2JqZWN0KFtdKSx0aGlzLl92YWx1ZXM9bmV3IHIuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9hY3Rpb25zPVtdLHRoaXMuX2xvYWRpbmc9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zeW1ib2xMb2dvVmlld01vZGVsPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX29uU2hvd1NldHRpbmdzQWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cz0oKT0+e3RoaXMuX2xvYWRpbmcuc2V0VmFsdWUodGhpcy5fc291cmNlLmlzTG9hZGluZygpKX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dCx0aGlzLl9vcHRpb25zPWksdGhpcy5fY2FsbGJhY2tzPXMsdGhpcy5fY29udGV4dE1lbnVPcHRpb25zPW8sdGhpcy5fZGlzYWJsZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldERpc2FibGVkU3RhdGUoKSksdGhpcy5fZGlzYWJsZWRPbkludGVydmFsPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREaXNhYmxlZE9uSW50ZXJ2YWxTdGF0ZSgpKSx0aGlzLl9zZWxlY3RlZD1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzVGl0bGVIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSksdGhpcy5faXNWYWx1ZXNIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldFZhbHVlc0hpZGRlblZhbHVlKCkpLHRoaXMuX2lzUm93SGlkZGVuPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRSb3dIaWRkZW5WYWx1ZSgpKSx0aGlzLl9pc0VkaXRhYmxlPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc0VkaXRhYmxlKCkpLCgwLGQuY29tYmluZSkoKChlLHQsaSk9Pih7fSkpLHRoaXMuX2lzVGl0bGVIaWRkZW4ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2lzVmFsdWVzSGlkZGVuLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9kaXNhYmxlZC53ZWFrUmVmZXJlbmNlKCkpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVSb3dWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSksdGhpcy5fdmFsdWVzLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9pc1ZhbHVlc0hpZGRlbi5zZXRWYWx1ZSh0aGlzLl9nZXRWYWx1ZXNIaWRkZW5WYWx1ZSgpKX0pKX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sTG9nb1ZpZXdNb2RlbC52YWx1ZSgpPy5kZXN0cm95KCksdGhpcy5fZGVzdHJveWVkPSEwfXRpdGxlcygpe3JldHVybiB0aGlzLl90aXRsZXMucmVhZG9ubHkoKX12YWx1ZXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzLnJlYWRvbmx5KCl9YWN0aW9ucygpe3JldHVybiB0aGlzLl9hY3Rpb25zfWRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkLnJlYWRvbmx5KCl9ZGlzYWJsZWRPbkludGVydmFsKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC5yZWFkb25seSgpfXNlbGVjdGVkKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkLnJlYWRvbmx5KCl9bG9hZGluZygpe3JldHVybiB0aGlzLl9sb2FkaW5nLnJlYWRvbmx5KCl9aXNUaXRsZUhpZGRlbigpe3JldHVybiB0aGlzLl9pc1RpdGxlSGlkZGVuLnJlYWRvbmx5KCl9aXNSb3dIaWRkZW4oKXtyZXR1cm4gdGhpcy5faXNSb3dIaWRkZW4ucmVhZG9ubHkoKX1pc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMuX2lzRWRpdGFibGUucmVhZG9ubHkoKX1zeW1ib2xMb2dvVmlld01vZGVsKCl7cmV0dXJuIHRoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWx9dXBkYXRlKCl7dGhpcy5fdXBkYXRlVGl0bGVzKCksdGhpcy5fdXBkYXRlVmFsdWVzKCksdGhpcy5fdXBkYXRlU3RhdGVzKCksdGhpcy5zeW1ib2xMb2dvVmlld01vZGVsKCk/LnZhbHVlKCk/LnVwZGF0ZSgpfW9uVG9nZ2xlRGlzYWJsZWQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudmlzaWJsZSx0PSFlLnZhbHVlKCk7dGhpcy5fbW9kZWwuc2V0UHJvcGVydHkoZSx0LCh0P1o6SikuZm9ybWF0KHt0aXRsZTpuZXcgTi5UcmFuc2xhdGVkU3RyaW5nKHRoaXMuX3NvdXJjZS5uYW1lKCksdGhpcy5fc291cmNlLnRpdGxlKHouVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKX0pKSxPKCh0PyJTaG93IjoiSGlkZSIpKyIgc291cmNlIil9YXN5bmMgb25TaG93U2V0dGluZ3MoZSx0KXtpZighdGhpcy5fc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpKXJldHVybjtjb25zdCBpPWV8fCJzZXR0aW5ncyI7dGhpcy5fb25TaG93U2V0dGluZ3NBYm9ydENvbnRyb2xsZXImJiF0aGlzLl9vblNob3dTZXR0aW5nc0Fib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCYmdGhpcy5fb25TaG93U2V0dGluZ3NBYm9ydENvbnRyb2xsZXIuYWJvcnQoaSk7Y29uc3Qgcz10aGlzLl9vblNob3dTZXR0aW5nc0Fib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyO3QmJnMuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9PntzLnNpZ25hbC5yZWFzb24hPT1pJiZ0KCl9KSx7b25jZTohMH0pO2NvbnN0IG89KCk9PnMuYWJvcnQoKTtPKCJTZXR0aW5ncyBmb3Igc291cmNlIiksdGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpO3RyeXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhbGxiYWNrcy5zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlKHRoaXMuX3NvdXJjZSxlKTt0JiYodC52aXNpYmxlKCkuc3Vic2NyaWJlKG8se29uY2U6ITB9KSxzLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT57dC52aXNpYmxlKCkudW5zdWJzY3JpYmUobyksdC5oaWRlKCl9KSx7b25jZTohMH0pKX1jYXRjaHtvKCl9fXNldFNvdXJjZVNlbGVjdGVkKCl7dGhpcy5fbW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PnsKZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHRoaXMuX3NvdXJjZSl9KSl9Y2hhcnRNb2RlbElkKCl7cmV0dXJuIHRoaXMuX21vZGVsLmlkKCl9YXN5bmMgX21vcmVBY3Rpb25IYW5kbGVyKGUsdCl7aWYoIXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlKWlmKGUucHJldmVudERlZmF1bHQoKSwhdGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlcnx8dGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCl7Y29uc3QgaT10aGlzLl9tb3JlQWN0aW9uQWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXI7aS5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHQse29uY2U6ITB9KTtjb25zdCBzPSgpPT5pLmFib3J0KCk7dGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpO3RyeXtjb25zdCB0PWF3YWl0IHRoaXMuX29uU2hvd01vcmVBY3Rpb25zKGUscyk7aS5zaWduYWwuYWJvcnRlZCYmdCYmdC5oaWRlKCl9Y2F0Y2h7cygpfX1lbHNlIHRoaXMuX21vcmVBY3Rpb25BYm9ydENvbnRyb2xsZXIuYWJvcnQoKX1fdXBkYXRlU3RhdGVzKCl7dGhpcy5fZGlzYWJsZWQuc2V0VmFsdWUodGhpcy5fZ2V0RGlzYWJsZWRTdGF0ZSgpKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWwuc2V0VmFsdWUodGhpcy5fZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKSksdGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUodGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpKSx0aGlzLl9pc0VkaXRhYmxlLnNldFZhbHVlKHRoaXMuX2dldElzRWRpdGFibGUoKSksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cygpfV9oYXNWYWx1ZXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzLnZhbHVlKCkubGVuZ3RoPjB9X2dldEV5ZVRpdGxlKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkLnZhbHVlKCk/WTpxfV9nZXRJc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS51c2VyRWRpdEVuYWJsZWQoKX1fZ2V0RGlzYWJsZWRTdGF0ZSgpe3JldHVybiF0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKX1fdXBkYXRlUm93VmlzaWJpbGl0aWVzKCl7dGhpcy5faXNSb3dIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0Um93SGlkZGVuVmFsdWUoKSl9X2dldFJvd0hpZGRlblZhbHVlKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlJiZ0aGlzLl9kaXNhYmxlZC52YWx1ZSgpfHx0aGlzLl9pc1RpdGxlSGlkZGVuLnZhbHVlKCkmJih0aGlzLl9pc1ZhbHVlc0hpZGRlbi52YWx1ZSgpfHx0aGlzLl9kaXNhYmxlZC52YWx1ZSgpKX1hc3luYyBfb25TaG93TW9yZUFjdGlvbnMoZSx0KXtyZXR1cm4gTygiU2hvdyBzb3VyY2UgY29udGV4dCBtZW51IiksdGhpcy5fY2FsbGJhY2tzLnNob3dDb250ZXh0TWVudUZvclNvdXJjZXMoW3RoaXMuX3NvdXJjZV0sdGhpcy5fY2FsY05ld1Bvc2l0aW9uKGUpLHsuLi50aGlzLl9jb250ZXh0TWVudU9wdGlvbnMsaXNLZXlib2FyZEV2ZW50OiFHKGUpJiYoMCxILmlzS2V5Ym9hcmRDbGljaykoZSl9LHtvcmlnaW46IkxlZ2VuZFByb3BlcnRpZXNDb250ZXh0TWVudSIsb25DbG9zZTp0fSl9X2NhbGNOZXdQb3NpdGlvbihlKXtsZXQgdD17fTtpZihHKGUpJiZlLnRvdWNoZXMubGVuZ3RoPjApdD17Y2xpZW50WDplLnRvdWNoZXNbMF0uY2xpZW50WCxjbGllbnRZOmUudG91Y2hlc1swXS5jbGllbnRZfTtlbHNlIGlmKG51bGwhPT1lLnRhcmdldCl7Y29uc3QgaT1lLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0PXtjbGllbnRYOigwLEYuaXNSdGwpKCk/aS5yaWdodDppLmxlZnQsY2xpZW50WTppLnRvcCtpLmhlaWdodCszfX1lbHNle2NvbnN0IGk9ZTt0PXtjbGllbnRYOmkuY2xpZW50WCxjbGllbnRZOmkuY2xpZW50WX19cmV0dXJuIHR9fXZhciBRPWkoNjQ5MTY2KSxLPWkoMzM2MzM0KSxYPWkoNzcyMDI4KTtjb25zdCBlZT0odGU9US5Mb2FkZXIsaWU9e3N0YXRpY1Bvc2l0aW9uOiEwLHNpemU6InNtYWxsIn0sKGUsdCk9PmZ1bmN0aW9uKGUsdCxpLHMpe2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLG49KDAsSy5jcmVhdGVSb290KShvKTtsKCExKTtjb25zdHtjbGFzc05hbWU6YX09cz8/e307cmV0dXJuIGEmJm8uY2xhc3NMaXN0LmFkZChhKSxuLnJlbmRlcigoMCxTLmNyZWF0ZUVsZW1lbnQpKHQsaSkpLGUmJnIoZSkse3RvZ2dsZVZpc2liaWxpdHk6bCxkZXN0cm95OmZ1bmN0aW9uKCl7bi51bm1vdW50KCl9LG1vdW50VG86cn07ZnVuY3Rpb24gbChlKXtvLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhZSl9ZnVuY3Rpb24gcihlKXtlLmFwcGVuZENoaWxkKG8pfX0oZSx0ZSxpZSx0KSk7dmFyIHRlLGllLHNlPWkoMTY3NTAyKSxvZT1pKDkxNDQ4NyksbmU9aS5uKG9lKSxhZT1pKDYyNzg0OCksbGU9aSg3OTQxODcpLHJlPWkoNjQzOTAzKSxkZT1pKDk3MzgwNCksdWU9aSgzODc3NzQpLGNlPWkoNjU3NTYwKTtjbGFzcyBoZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9sYXN0RHJhd25Mb2dvcz1bXSx0aGlzLl9sb2dvV3JhcHBlcj1udWxsLHRoaXMuX3BhaXJDb250YWluZXI9bnVsbCx0aGlzLl9wcmltYXJ5TG9nbz1udWxsLHRoaXMuX3NlY29uZGFyeUxvZ289bnVsbCx0aGlzLl9sb2dvQ29udGFpbmVyPW51bGwsdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPW51bGwsdGhpcy5fYWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsdGhpcy5fdXBkYXRlTG9nb1Zpc2liaWxpdHk9ZT0+e3RoaXMuX2xvZ29XcmFwcGVyJiZ0aGlzLl9sb2dvV3JhcHBlci5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGRlbiwhZSl9LHRoaXMuX3VwZGF0ZVN5bWJvbExvZ289YXN5bmMgZT0+e2lmKG51bGw9PT10aGlzLl9sb2dvV3JhcHBlciYmdGhpcy5fcmVuZGVyU3ltYm9sTG9nbygpLDAhPT10aGlzLl9sYXN0RHJhd25Mb2dvcy5sZW5ndGgmJjAhPT1lLmxlbmd0aCYmKDAsc2UuZGVmYXVsdCkodGhpcy5fbGFzdERyYXduTG9nb3MsZSkpcmV0dXJuO2NvbnN0IHQ9YXdhaXQoaT1lLHM9dGhpcy5fYWJvcnRDb250cm9sbGVyLnNpZ25hbCxQcm9taXNlLmFsbChpLm1hcCgoZT0+KDAsCmRlLmdldEltYWdlKShgc3ltYm9sX2xvZ29fJHtlfWAsZSxfZSxzKS50aGVuKChlPT5lLmNsb25lTm9kZSgpKSkpKSkpLmNhdGNoKCgoKT0+W10pKTt2YXIgaSxzO3N3aXRjaCh0Lmxlbmd0aCl7Y2FzZSAwOnRoaXMuX3BhaXJDb250YWluZXI/LmNsYXNzTGlzdC5hZGQoY2UuaGlkZGVuKSx0aGlzLl9sb2dvQ29udGFpbmVyPy5jbGFzc0xpc3QuYWRkKHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdGhpcy5fdXBkYXRlU3ltYm9sTGV0dGVyKCksdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPy5jbGFzc0xpc3QucmVtb3ZlKHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdGhpcy5fbGFzdERyYXduTG9nb3M9ZTticmVhaztjYXNlIDE6cGUodGhpcy5fbG9nb0NvbnRhaW5lcix0WzBdKSx0aGlzLl9wYWlyQ29udGFpbmVyPy5jbGFzc0xpc3QuYWRkKGNlLmhpZGRlbiksdGhpcy5fbG9nb0NvbnRhaW5lcj8uY2xhc3NMaXN0LnJlbW92ZSh1ZS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcj8uY2xhc3NMaXN0LmFkZCh1ZS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHRoaXMuX2xhc3REcmF3bkxvZ29zPWU7YnJlYWs7Y2FzZSAyOnBlKHRoaXMuX3ByaW1hcnlMb2dvLHRbMF0pLHBlKHRoaXMuX3NlY29uZGFyeUxvZ28sdFsxXSksdGhpcy5fcGFpckNvbnRhaW5lcj8uY2xhc3NMaXN0LnJlbW92ZShjZS5oaWRkZW4pLHRoaXMuX2xvZ29Db250YWluZXI/LmNsYXNzTGlzdC5hZGQodWUuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx0aGlzLl9zeW1ib2xMZXR0ZXJDb250YWluZXI/LmNsYXNzTGlzdC5hZGQodWUuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx0aGlzLl9sYXN0RHJhd25Mb2dvcz1lfX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9yZW5kZXJTeW1ib2xMb2dvKCksdGhpcy5fbG9nb1VybHM9ZS5zeW1ib2xMb2dvVXJscygpLnNwYXduKCksdGhpcy5fbG9nb1VybHMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ28se2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzTG9nb1Zpc2libGU9ZS5pc1N5bWJvbExvZ29WaXNpYmxlKCkuc3Bhd24oKSx0aGlzLl9pc0xvZ29WaXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMb2dvVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2xvZ29XcmFwcGVyPy5yZW1vdmUoKSx0aGlzLl9sb2dvV3JhcHBlcj1udWxsLHRoaXMuX3BhaXJDb250YWluZXI9bnVsbCx0aGlzLl9wcmltYXJ5TG9nbz1udWxsLHRoaXMuX3NlY29uZGFyeUxvZ289bnVsbCx0aGlzLl9sb2dvQ29udGFpbmVyPW51bGwsdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPW51bGwsdGhpcy5fbG9nb1VybHMuZGVzdHJveSgpLHRoaXMuX2lzTG9nb1Zpc2libGUuZGVzdHJveSgpLHRoaXMuX2Fib3J0Q29udHJvbGxlci5hYm9ydCgpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fbG9nb1dyYXBwZXJ9X3JlbmRlclN5bWJvbExvZ28oKXtpZighdGhpcy5fbG9nb1dyYXBwZXIpe2NvbnN0IGU9dGhpcy5fbG9nb1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5jbGFzc0xpc3QuYWRkKGNlLmxvZ29XcmFwcGVyKSxlLmRhdGFzZXQucWFJZD0ibGVnZW5kLWxvZ28td3JhcHBlciI7Y29uc3QgdD10aGlzLl9wYWlyQ29udGFpbmVyPWUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTt0LmNsYXNzTGlzdC5hZGQoY2UucGFpckNvbnRhaW5lcixjZS5oaWRkZW4pO2NvbnN0IGk9dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikpO2kuY2xhc3NOYW1lPSgwLGFlLmdldEJsb2NrU3R5bGVDbGFzc2VzKSgieHh4c21hbGwiKTsodGhpcy5fc2Vjb25kYXJ5TG9nbz1pLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGFlLmdldExvZ29TdHlsZUNsYXNzZXMpKCJ4eHhzbWFsbCIpLGNlLmxvZ28pOyh0aGlzLl9wcmltYXJ5TG9nbz1pLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGFlLmdldExvZ29TdHlsZUNsYXNzZXMpKCJ4eHhzbWFsbCIpLGNlLmxvZ28pOyh0aGlzLl9sb2dvQ29udGFpbmVyPWUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKSkuY2xhc3NOYW1lPW5lKCkoKDAsbGUuZ2V0U3R5bGVDbGFzc2VzKSgieHh4c21hbGwiKSxjZS5sb2dvLHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyk7KHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcj1lLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGxlLmdldFN0eWxlQ2xhc3NlcykoInh4eHNtYWxsIiksY2UubG9nbyksdGhpcy5fdXBkYXRlU3ltYm9sTGV0dGVyKCl9fV91cGRhdGVTeW1ib2xMZXR0ZXIoKXtpZih0aGlzLl9zeW1ib2xMZXR0ZXJDb250YWluZXIpe2NvbnN0IGU9KDAscmUuc2FmZVNob3J0TmFtZSkodGhpcy5fbW9kZWwuc3ltYm9sKCk/PyIiKVswXTtnKHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcixlKX19fWZ1bmN0aW9uIHBlKGUsdCl7ZSYmZS5yZXBsYWNlQ2hpbGRyZW4odCl9ZnVuY3Rpb24gX2UoZSl7ZS5jcm9zc09yaWdpbj0iIixlLmRlY29kaW5nPSJhc3luYyJ9Y29uc3QgZ2U9Xy5DaGVja01vYmlsZS5hbnkoKTtmdW5jdGlvbiBtZShlLHQpe2UuZGF0YXNldC5zdGF0dXM9dD8ibG9hZGluZyI6dm9pZCAwfWNvbnN0IGJlPSgwLEUubWVyZ2VUaGVtZXMpKHcuREVGQVVMVF9TVEFUVVNfUkVOREVSRVJfVEhFTUUse3N0YXR1c2VzV3JhcDpjZS5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzfSk7Y2xhc3MgdmV7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2VsPW51bGwsdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXI9bnVsbCx0aGlzLl90aXRsZXNXcmFwcGVyRWw9bnVsbCx0aGlzLl90aXRsZUNvbnRhaW5lcnM9W10sdGhpcy5fdGl0bGVFbGVtZW50cz1bXSx0aGlzLl92YWx1ZXNFbGVtZW50cz1bXSx0aGlzLl9hY3Rpb25zUGFyZW50RWw9bnVsbCwKdGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbD1udWxsLHRoaXMuX2FjdGlvbkVsZW1lbnRzPVtdLHRoaXMuX2FjY2Vzc2libGVUaXRsZUJ1dHRvbnM9W10sdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnM9W10sdGhpcy5fcm93TW9kZT00LHRoaXMuX3RpdGxlc01vZGU9Myx0aGlzLl9zdGF0dXNlc1dyYXBwZXI9bnVsbCx0aGlzLl9zdGF0dXNlc1dpZGdldFN0YXRlPW51bGwsdGhpcy5fbG9hZGVyPW51bGwsdGhpcy5fdmFsdWVzUGFyZW50RWw9bnVsbCx0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsPW51bGwsdGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPW51bGwsdGhpcy5fcmVzaXplT2JzZXJ2ZXI9bnVsbCx0aGlzLl9oaWRlSW52aXNpYmxlSG92ZXI9bnVsbCx0aGlzLl9oaWRlVmFsdWVzPW51bGwsdGhpcy5fYWxsQnV0dG9uc1dpZHRoPW51bGwsdGhpcy5fbGFzdFN0YXR1c2VzV3JhcHBlcldpZHRoPW51bGwsdGhpcy5fbGFzdEFjdGlvbnNXcmFwcGVyV2lkdGg9bnVsbCx0aGlzLl9zaG93QWN0aW9uc0hhbmRsZXI9bnVsbCx0aGlzLl9oaWRlQWN0aW9uc0hhbmRsZXI9bnVsbCx0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXI9bnVsbCx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcnM9W10sdGhpcy5fZGlzYWJsZVRpbWVvdXQ9bnVsbCx0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPW51bGwsdGhpcy5fdXBkYXRlRGlzYWJsZWRTdGF0ZT0oZT10aGlzLl9kaXNhYmxlZC52YWx1ZSgpKT0+e251bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoY2UuZGlzYWJsZWQsZSksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXRlKCksdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0VmlzaWJpbGl0eShlKSx0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoKCkpfSx0aGlzLl91cGRhdGVMb2FkaW5nU3RhdGU9KGU9dGhpcy5fbG9hZGluZy52YWx1ZSgpKT0+e2lmKG51bGwhPT10aGlzLl9lbCl7dGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5leWVMb2FkaW5nLGUmJiF0aGlzLl9kaXNhYmxlZC52YWx1ZSgpKSxtZSh0aGlzLl9lbCxlKX1udWxsIT09dGhpcy5fbG9hZGVyJiZ0aGlzLl9sb2FkZXIudG9nZ2xlVmlzaWJpbGl0eShlKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9LHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlcj1lPT57aWYodGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPy5kZXN0cm95KCksZSl7dGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPW5ldyBoZShlKTtjb25zdCB0PXRoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnZhbHVlKCkuZmluZEluZGV4KChlPT50aGlzLl9pc1RpdGxlV2l0aFN5bWJvbExvZ28oZSkpKTtpZigtMSE9PXQpe2NvbnN0IGU9dGhpcy5fdGl0bGVDb250YWluZXJzW3RdO2lmKGUpe2NvbnN0IHQ9dGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyLmdldEVsZW1lbnQoKTt0JiZlLmluc2VydEJlZm9yZSh0LGUuZmlyc3RDaGlsZCl9fX1lbHNlIHRoaXMuX3N5bWJvbExvZ29SZW5kZXJlcj1udWxsfSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhcmVudEVsPXQsdGhpcy5fZGlzYWJsZWQ9dGhpcy5fbW9kZWwuZGlzYWJsZWQoKS5zcGF3bigpLHRoaXMuX2Rpc2FibGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVEaXNhYmxlZFN0YXRlKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWw9dGhpcy5fbW9kZWwuZGlzYWJsZWRPbkludGVydmFsKCkuc3Bhd24oKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZURpc2FibGVkT25JbnRlcnZhbFN0YXRlLmJpbmQodGhpcykpLHRoaXMuX3NlbGVjdGVkPXRoaXMuX21vZGVsLnNlbGVjdGVkKCkuc3Bhd24oKSx0aGlzLl9zZWxlY3RlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2VsZWN0ZWRTdGF0ZS5iaW5kKHRoaXMpKSx0aGlzLl9sb2FkaW5nPXRoaXMuX21vZGVsLmxvYWRpbmcoKS5zcGF3bigpLHRoaXMuX2xvYWRpbmcuc3Vic2NyaWJlKGZ1bmN0aW9uKGUsdCl7bGV0IGk9MDtyZXR1cm4gcz0+e2NsZWFyVGltZW91dChpKSxzP2UoKTppPXNldFRpbWVvdXQoZSx0KX19KHRoaXMuX3VwZGF0ZUxvYWRpbmdTdGF0ZSw3MDApKSx0aGlzLl9pc1RpdGxlSGlkZGVuPXRoaXMuX21vZGVsLmlzVGl0bGVIaWRkZW4oKS5zcGF3bigpLHRoaXMuX2lzUm93SGlkZGVuPXRoaXMuX21vZGVsLmlzUm93SGlkZGVuKCkuc3Bhd24oKSx0aGlzLl9pc1RpdGxlSGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTaG93VGl0bGVzLmJpbmQodGhpcykpLHRoaXMuX2lzUm93SGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTaG93TGluZS5iaW5kKHRoaXMpKSx0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bj10aGlzLl9tb2RlbC50aXRsZXMoKS5zcGF3bigpLHRoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnN1YnNjcmliZSh0aGlzLl90aXRsZXNDb2xsZWN0aW9uQ2hhbmdlZC5iaW5kKHRoaXMpKSx0aGlzLl92YWx1ZXM9dGhpcy5fbW9kZWwudmFsdWVzKCkuc3Bhd24oKSx0aGlzLl92YWx1ZXMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZhbHVlcy5iaW5kKHRoaXMpKSx0aGlzLl9jcmVhdGVWYWx1ZXNTcGF3bnMoKSx0aGlzLl9hZGRWYWx1ZXNTcGF3bnNTdWJzY3JpcHRpb25zKCksZS5zeW1ib2xMb2dvVmlld01vZGVsKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlciksdGhpcy5fdXBkYXRlU3ltYm9sTG9nb1JlbmRlcmVyKGUuc3ltYm9sTG9nb1ZpZXdNb2RlbCgpLnZhbHVlKCkpLHRoaXMuX2FjdGlvbnNTcGF3bkFycmF5PXRoaXMuX21vZGVsLmFjdGlvbnMoKS5tYXAoKGU9Pih7dmlzaWJsZTplLnZpc2libGUuc3Bhd24oKSxhY3RpdmU6ZS5hY3RpdmU/LnNwYXduKCksdGl0bGU6dm9pZCAwPT09ZS50aXRsZT9udWxsOmUudGl0bGUuc3Bhd24oKX0pKSk7Zm9yKGxldCBlPTA7ZTx0aGlzLl9hY3Rpb25zU3Bhd25BcnJheS5sZW5ndGg7ZSsrKXtjb25zdHt2aXNpYmxlOnQsdGl0bGU6aSxhY3RpdmU6c309dGhpcy5fYWN0aW9uc1NwYXduQXJyYXlbZV07dC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWN0aW9uVmlzaWJpbGl0aWVzLmJpbmQodGhpcyxlKSksCnM/LnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZUFjdGlvbkFjdGl2ZVN0YXR1cyhlKSkpLGk/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVBY3Rpb25UaXRsZS5iaW5kKHRoaXMsZSkpfXRoaXMuX3dpdGhBY3Rpb25zPWkud2l0aEFjdGlvbnMsdGhpcy5faXNNdWx0aXBsZUxheW91dD1pLmlzTXVsdGlwbGVMYXlvdXQuc3Bhd24oKSx0aGlzLl9jdXN0b21UZXh0Q29sb3I9aS5jdXN0b21UZXh0Q29sb3Iuc3Bhd24oKSx0aGlzLl9jdXN0b21UZXh0Q29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUN1c3RvbVRleHRDb2xvci5iaW5kKHRoaXMpKSx0aGlzLl9yZW5kZXIoKSx0aGlzLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVTaG93VGl0bGVzKCksdGhpcy5fdXBkYXRlU2hvd1ZhbHVlcygpLHRoaXMuX3VwZGF0ZVNob3dMaW5lKCksdGhpcy5fbG9hZGVyPWVlKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fdmFsdWVzUGFyZW50RWwpLHtjbGFzc05hbWU6Y2UubG9hZGVyfSksdGhpcy5fd2l0aEFjdGlvbnMmJih0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPWkudG9nZ2xlSGlkZGVuQWN0aW9ucyx0aGlzLl9zaG93QWN0aW9uc0hhbmRsZXI9KDAsSS53cmFwSGFuZGxlcldpdGhQcmV2ZW50RXZlbnQpKHRoaXMuX3Nob3dBY3Rpb25zLmJpbmQodGhpcykpLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlcj0oMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5faGlkZUFjdGlvbnMuYmluZCh0aGlzKSksdGhpcy5fc2VsZWN0ZWRTb3VyY2VIYW5kbGVyPSgwLHguZGVmYXVsdFByZXZlbnRlZEhhbmRsZXIpKHRoaXMuX21vZGVsLnNldFNvdXJjZVNlbGVjdGVkLmJpbmQodGhpcy5fbW9kZWwpKSxudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYoZ2V8fCh0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyKSksdGhpcy5fbW91c2VFdmVudEhhbmRsZXJzLnB1c2gobmV3IHguTW91c2VFdmVudEhhbmRsZXIodGhpcy5fdGl0bGVzV3JhcHBlckVsLHttb3VzZURvdWJsZUNsaWNrRXZlbnQ6dGhpcy5fbW9kZWwub25TaG93U2V0dGluZ3MuYmluZCh0aGlzLl9tb2RlbCksZG91YmxlVGFwRXZlbnQ6dGhpcy5fbW9kZWwub25TaG93U2V0dGluZ3MuYmluZCh0aGlzLl9tb2RlbCksbW91c2VDbGlja0V2ZW50OnRoaXMuX3NlbGVjdGVkU291cmNlSGFuZGxlcix0YXBFdmVudDp0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXJ9KSkpLG51bGw9PT10aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsfHxudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxnZXx8KHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlciksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpKSl9ZGVzdHJveSgpe2lmKHRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnM9bnVsbCx0aGlzLl9kaXNhYmxlZC5kZXN0cm95KCksdGhpcy5fZGlzYWJsZWRPbkludGVydmFsLmRlc3Ryb3koKSx0aGlzLl9zZWxlY3RlZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5faXNUaXRsZUhpZGRlbi5kZXN0cm95KCksdGhpcy5faXNSb3dIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2N1c3RvbVRleHRDb2xvci5kZXN0cm95KCksdGhpcy5fbG9hZGVyPy5kZXN0cm95KCksdGhpcy5faXNNdWx0aXBsZUxheW91dC5kZXN0cm95KCksdGhpcy5fbW9kZWwuc3ltYm9sTG9nb1ZpZXdNb2RlbCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlciksdGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPy5kZXN0cm95KCksbnVsbCE9PXRoaXMuX2Rpc2FibGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fZGlzYWJsZVRpbWVvdXQpLHRoaXMuX2FjY2Vzc2libGVUaXRsZUJ1dHRvbnM9W10sdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnM9W10sdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSx0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3RpdGxlc1dyYXBwZXJFbCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fbW91c2VFdmVudEhhbmRsZXJzKWUuZGVzdHJveSgpO3RoaXMuX3RpdGxlQ29udGFpbmVycz1bXSx0aGlzLl90aXRsZUVsZW1lbnRzPVtdLHRoaXMuX3dpdGhBY3Rpb25zJiZudWxsIT09dGhpcy5fc2VsZWN0ZWRTb3VyY2VIYW5kbGVyJiZudWxsIT09dGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyJiZudWxsIT09dGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyJiYoZ2V8fCh0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyKSkpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbD1udWxsfWZvcihjb25zdCBlIG9mIHRoaXMuX2FjdGlvbnNTcGF3bkFycmF5KWUudmlzaWJsZS5kZXN0cm95KCksZS5hY3RpdmU/LmRlc3Ryb3koKSxlLnRpdGxlPy5kZXN0cm95KCk7aWYodGhpcy5fYWN0aW9uRWxlbWVudHM9W10sCm51bGwhPT10aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsJiYodGhpcy5fd2l0aEFjdGlvbnMmJm51bGwhPT10aGlzLl9zaG93QWN0aW9uc0hhbmRsZXImJm51bGwhPT10aGlzLl9oaWRlQWN0aW9uc0hhbmRsZXImJiFnZSYmKHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlcikpLHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWw9bnVsbCksdGhpcy5fYWN0aW9uc1BhcmVudEVsPW51bGwsdGhpcy5fcmVtb3ZlVmFsdWVzU3Bhd25zU3Vic2NyaXB0aW9ucygpLHRoaXMuX3ZhbHVlcy5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3ZhbHVlc1BhcmVudEVsJiYodGhpcy5fdmFsdWVzRWxlbWVudHM9W10sdGhpcy5fdmFsdWVzUGFyZW50RWw9bnVsbCksdGhpcy5faGlkZUludmlzaWJsZUhvdmVyPy5kZXN0cm95KCksdGhpcy5faGlkZVZhbHVlcz8uZGVzdHJveSgpLG51bGwhPT10aGlzLl9yZXNpemVPYnNlcnZlciYmKHRoaXMuX3Jlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZXNpemVPYnNlcnZlcj1udWxsKSxudWxsIT09dGhpcy5fZWwpe2NvbnN0IGU9dGhpcy5fZWwucGFyZW50Tm9kZTtlPy5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWw9bnVsbH19Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9lbH1nZXRIZWlnaHQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2VsP251bGw6MjR9dXBkYXRlTW9kZShlLHQpe3RoaXMuX3Jvd01vZGU9PT1lJiZ0aGlzLl90aXRsZXNNb2RlPT09dCYmbnVsbCE9PXRoaXMuX2FsbEJ1dHRvbnNXaWR0aHx8KHRoaXMuX3Jvd01vZGUhPT1lJiYodGhpcy5fcm93TW9kZT1lLHRoaXMuX3VwZGF0ZUFjdGlvbnNWaXNpYmlsaXRpZXNCeU1vZGUoKSksdGhpcy5fdGl0bGVzTW9kZSE9PXQmJih0aGlzLl90aXRsZXNNb2RlPXQsdGhpcy5fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCkpLHRoaXMuX3VwZGF0ZUFsbEJ1dHRvbnNXaWR0aCgpKX1hY2Nlc3NpYmxlQnV0dG9ucygpe3JldHVybiB0aGlzLl9pc1Jvd0hpZGRlbi52YWx1ZSgpP1tdOlsuLi50aGlzLl9hY2Nlc3NpYmxlVGl0bGVCdXR0b25zLC4uLnRoaXMuX2FjY2Vzc2libGVBY3Rpb25CdXR0b25zXS5maWx0ZXIoKGU9PiFlLmNsYXNzTGlzdC5jb250YWlucyhYLmJsb2NrSGlkZGVuKSkpfXNob3dBY3Rpb25zKCl7bnVsbD09PXRoaXMuX2VsfHx0aGlzLl9lbC5jbGFzc0xpc3QuY29udGFpbnMoY2Uud2l0aEFjdGlvbil8fHRoaXMuX3Nob3dBY3Rpb25zKCl9aGlkZUFjdGlvbnMoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5jb250YWlucyhjZS53aXRoQWN0aW9uKSYmdGhpcy5faGlkZUFjdGlvbnMoKX1fdXBkYXRlQWN0aW9uc1Zpc2liaWxpdGllc0J5TW9kZSgpe31fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCl7fV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJUaXRsZXMoKSx0aGlzLl9yZW5kZXJBY3Rpb25zKCksdGhpcy5fcmVuZGVyVmFsdWVzKCk7Y29uc3QgZT10aGlzLl9jdXN0b21UZXh0Q29sb3IudmFsdWUoKXx8IiI7dGhpcy5fZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS53aXRoQ3VzdG9tVGV4dENvbG9yLEJvb2xlYW4oZSkpLG1lKHRoaXMuX2VsLHRoaXMuX2xvYWRpbmcudmFsdWUoKSksdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIuY2xhc3NMaXN0LmFkZChjZS5ub1dyYXBXcmFwcGVyKSx0aGlzLl9maXJzdEJsb2NrV3JhcHBlci5hcHBlbmRDaGlsZCgoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RpdGxlc1dyYXBwZXJFbCkpLG51bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnRoaXMuX2ZpcnN0QmxvY2tXcmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fZWwuYXBwZW5kQ2hpbGQodGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIpLHRoaXMuX2VsLmFwcGVuZENoaWxkKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fdmFsdWVzUGFyZW50RWwpKSx0aGlzLl9wYXJlbnRFbC5hcHBlbmQodGhpcy5fZWwpfV9yZW5kZXJUaXRsZXMoKXtudWxsPT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbC5jbGFzc0xpc3QuYWRkKGNlLnRpdGxlc1dyYXBwZXIpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC10aXRsZXMiKTtmb3IoY29uc3QgZSBvZiB0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi52YWx1ZSgpKWooZSk/dGhpcy5fcmVuZGVyVGl0bGVzR3JvdXAoZSk6dGhpcy5fcmVuZGVyU2ltcGxlVGl0bGUoZSl9X3JlbmRlclRpdGxlc0dyb3VwKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc0xpc3QuYWRkKGNlLnRpdGxlc0dyb3VwV3JhcHBlciksZS5pdGVtcy5mb3JFYWNoKChlPT50aGlzLl9yZW5kZXJTaW1wbGVUaXRsZShlLHQpKSksKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl90aXRsZXNXcmFwcGVyRWwpLmFwcGVuZENoaWxkKHQpfV9yZW5kZXJTaW1wbGVUaXRsZShlLHQpe2NvbnN0e3RpdGxlOmksdG9vbHRpcDpzLGFjdGlvbjpvfT1lLGE9ISFvJiYoIV8uQ2hlY2tNb2JpbGUuYW55KCl8fG8uYWN0aW9uQWxsb3dlZE9uVG91Y2gpLGw9dGhpcy5fZ2V0QXR0cmlidXRlc0ZvclRpdGxlU3RhdGUoZSkscj1pPz8iIixkPXRoaXMuX2N1c3RvbVRleHRDb2xvci52YWx1ZSgpfHwiIix1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3UuY2xhc3NMaXN0LmFkZChjZS50aXRsZVdyYXBwZXIsY2Uud2l0aERvdCksdS5zdHlsZS5jb2xvcj1kLGw/LmNsYXNzTmFtZSYmdS5jbGFzc0xpc3QuYWRkKGwuY2xhc3NOYW1lKSwKdS5kYXRhc2V0LnFhSWQ9WyJ0aXRsZS13cmFwcGVyIixsPy5kYXRhUWFJZF0uam9pbigiICIpLnRyaW0oKSx2b2lkIDAhPT1zJiYodS5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHUuc2V0QXR0cmlidXRlKCJ0aXRsZSIscykpO2NvbnN0IGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhPyJidXR0b24iOiJkaXYiKTtpZihjLmNsYXNzTGlzdC5hZGQoY2UudGl0bGUpLHZvaWQgMCE9PW8pe3UuY2xhc3NMaXN0LmFkZChjZS53aXRoQWN0aW9uKTtjb25zdCBlPV8uQ2hlY2tNb2JpbGUuYW55KCkmJm8uYWN0aW9uQWxsb3dlZE9uVG91Y2gsdD10PT57IXRoaXMuX3NlbGVjdGVkLnZhbHVlKCkmJih0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXI/Lih0KSxlKXx8KHUuY2xhc3NMaXN0LmFkZChjZS50aXRsZVdyYXBwZXJfX2FjdGl2ZSksby5mbigoKCk9PnUuY2xhc3NMaXN0LnJlbW92ZShjZS50aXRsZVdyYXBwZXJfX2FjdGl2ZSkpKSxhJiZjLmJsdXIoKSl9O2lmKHRoaXMuX21vdXNlRXZlbnRIYW5kbGVycy5wdXNoKG5ldyB4Lk1vdXNlRXZlbnRIYW5kbGVyKHUse21vdXNlQ2xpY2tFdmVudDp0LHRhcEV2ZW50OmU/dDp2b2lkIDB9LHtpZ25vcmVDbGlja0FuZFRhcE9uRGJsQ2xpY2tPckRibFRhcDohMH0pKSxhKXtjb25zdCBlPWM7dGhpcy5fbWFrZUl0ZW1BY2Nlc3NpYmxlKGUsKCgpPT5vLmZuKCkpLHM/PyIiKSx0aGlzLl9hY2Nlc3NpYmxlVGl0bGVCdXR0b25zLnB1c2goZSl9fWlmKHIubGVuZ3RoPjA/Yy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyKSk6KHUuY2xhc3NMaXN0LmFkZChYLmJsb2NrSGlkZGVuKSxjLmNsYXNzTGlzdC5hZGQoWC5ibG9ja0hpZGRlbikpLHUuYXBwZW5kQ2hpbGQoYyksdGhpcy5faXNUaXRsZVdpdGhTeW1ib2xMb2dvKGUpKXtjb25zdCBlPXRoaXMuX3N5bWJvbExvZ29SZW5kZXJlcj8uZ2V0RWxlbWVudCgpO2UmJnUuaW5zZXJ0QmVmb3JlKGUsdS5maXJzdENoaWxkKX0odD8/KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl90aXRsZXNXcmFwcGVyRWwpKS5hcHBlbmRDaGlsZCh1KSx0aGlzLl90aXRsZUNvbnRhaW5lcnMucHVzaCh1KSx0aGlzLl90aXRsZUVsZW1lbnRzLnB1c2goYyl9X21ha2VJdGVtQWNjZXNzaWJsZShlLHQsaSl7IiIhPT1pJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsaSksZS50eXBlPSJidXR0b24iLGUuY2xhc3NMaXN0LmFkZChjZS5hY2Nlc3NpYmxlKSxlLnRhYkluZGV4PS0xO2NvbnN0IHM9dD0+e3N3aXRjaCh0LnR5cGUpe2Nhc2Uicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCI6ZS50YWJJbmRleD0wO2JyZWFrO2Nhc2Uicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IjplLnRhYkluZGV4PS0xfX07ZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixzKSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIscyksZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwoZT0+e2NvbnN0IGk9KDAsaC5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PWkmJjMyIT09aXx8KGUucHJldmVudERlZmF1bHQoKSx0KGUpKX0pKX1fcmVuZGVyQWN0aW9ucygpe2lmKCF0aGlzLl93aXRoQWN0aW9ucylyZXR1cm47bnVsbD09PXRoaXMuX2FjdGlvbnNQYXJlbnRFbCYmKHRoaXMuX2FjdGlvbnNQYXJlbnRFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9hY3Rpb25zUGFyZW50RWwuY2xhc3NMaXN0LmFkZChjZS5idXR0b25zV3JhcHBlciksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmRhdGFzZXQubmFtZT0iYWN0aW9ucyIsdGhpcy5fcGFyZW50RWwuYXBwZW5kKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQoY2UuYnV0dG9ucyksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmFwcGVuZENoaWxkKHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwpKTtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbCk7dGhpcy5fbW9kZWwuYWN0aW9ucygpLmZvckVhY2goKHQ9Pntjb25zdCBpPXZvaWQgMD09PXQuZGlzYWJsZUFjY2Vzc2liaWxpdHkscz17aWNvblNpemU6di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT8ibGFyZ2UiOiJzbWFsbCIsdGFnOmk/ImJ1dHRvbiI6ImRpdiIsYnV0dG9uQ2xhc3NOYW1lOmNlLmJ1dHRvbix3cmFwSWNvbkNsYXNzTmFtZTpjZS5idXR0b25JY29uLGhpZGRlbkNsYXNzTmFtZTpYLmJsb2NrSGlkZGVuLGJsdXJPbkNsaWNrOiEhaXx8dm9pZCAwfSxvPSgwLFcuY3JlYXRlQWN0aW9uRWxlbWVudCkodCxzKTtpZihpKXtjb25zdCBlPW87dGhpcy5fbWFrZUl0ZW1BY2Nlc3NpYmxlKGUsKGU9PnQuYWN0aW9uKGUpKSx0LnRpdGxlPy52YWx1ZSgpPz8iIiksdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnMucHVzaChlKX10aGlzLl9hY3Rpb25FbGVtZW50cy5wdXNoKG8pLGUuYXBwZW5kQ2hpbGQobyl9KSl9X2luaXRXcmFwcGVyc0lmTm90SW5pdGlhbGl6ZWQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3ZhbHVlc1BhcmVudEVsJiYodGhpcy5fdmFsdWVzUGFyZW50RWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fdmFsdWVzUGFyZW50RWwuY2xhc3NMaXN0LmFkZChjZS52YWx1ZXNXcmFwcGVyKSx0aGlzLl92YWx1ZXNQYXJlbnRFbC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1ub3QtYXZhaWxhYmxlLWNvbnRlbnQiLGAnJHtBLm5vdEF2YWlsYWJsZX0nYCksdGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQoY2UudmFsdWVzQWRkaXRpb25hbFdyYXBwZXIpLHRoaXMuX3ZhbHVlc1BhcmVudEVsLmFwcGVuZENoaWxkKHRoaXMuX3ZhbHVlc0FkZGl0aW9uYWxXcmFwcGVyRWwpKSwoMCwKbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsKX1faXNXaWR0aEJ1dHRvbnNNb2RlKCl7cmV0dXJuIG51bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmNsYXNzTGlzdC5jb250YWlucyhjZS53aXRoQWN0aW9uKXx8dGhpcy5fZGlzYWJsZWQudmFsdWUoKXx8dGhpcy5fc2VsZWN0ZWQudmFsdWUoKSl9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7cmV0dXJuITF9X3VwZGF0ZVN0YXRlcyhlKXt0aGlzLl91cGRhdGVEaXNhYmxlZFN0YXRlKCksdGhpcy5fdXBkYXRlRGlzYWJsZWRPbkludGVydmFsU3RhdGUoKSx0aGlzLl91cGRhdGVTZWxlY3RlZFN0YXRlKCksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXRlKCksZSYmdGhpcy5fY2xlYXJEaXNhYmxlU3RhdGUoKX1fdXBkYXRlVmFsdWVzSFRNTEVsSGFuZGxlcihlLHQpe2coKDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKSx0KSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X3VwZGF0ZVZhbHVlQ29sb3JIYW5kbGVyKGUsdD0iIil7KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKS5zdHlsZS5jb2xvcj10fV91cGRhdGVWYWx1ZVZpc2libGVIYW5kbGVyKGUsdCl7Y29uc3QgaT0oMCxuLmVuc3VyZSkodGhpcy5fdmFsdWVzRWxlbWVudHNbZV0udmFsdWUpLmNsb3Nlc3QoYC4ke2NlLnZhbHVlSXRlbX1gKTtudWxsIT09aSYmaS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIXQpLHRoaXMuX3VwZGF0ZVNob3dWYWx1ZXMoKX1fdXBkYXRlU2hvd0xpbmUoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0aGlzLl9pc1Jvd0hpZGRlbi52YWx1ZSgpKX1fdGl0bGVzQ29sbGVjdGlvbkNoYW5nZWQoKXtudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsLmlubmVySFRNTD0iIiksdGhpcy5fYWNjZXNzaWJsZVRpdGxlQnV0dG9ucz1bXSx0aGlzLl90aXRsZUNvbnRhaW5lcnM9W10sdGhpcy5fdGl0bGVFbGVtZW50cz1bXSx0aGlzLl9yZW5kZXJUaXRsZXMoKSx0aGlzLl91cGRhdGVUaXRsZXNWaXNpYmlsaXRpZXNCeU1vZGUoKX1fY3JlYXRlVmFsdWVzU3Bhd25zKCl7dGhpcy5fdmFsdWVzU3Bhd25BcnJheT10aGlzLl92YWx1ZXMudmFsdWUoKS5tYXAoKGU9Pih7dmFsdWU6ZS52YWx1ZS5zcGF3bigpLGNvbG9yOmUuY29sb3Iuc3Bhd24oKSx2aXNpYmxlOmUudmlzaWJsZS5zcGF3bigpLHRpdGxlOmUudGl0bGUuc3Bhd24oKX0pKSl9X3JlbW92ZVZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKXtmb3IoY29uc3QgZSBvZiB0aGlzLl92YWx1ZXNTcGF3bkFycmF5KWUudmFsdWUuZGVzdHJveSgpLGUuY29sb3IuZGVzdHJveSgpLGUudmlzaWJsZS5kZXN0cm95KCksZS50aXRsZS5kZXN0cm95KCk7dGhpcy5fdmFsdWVzU3Bhd25BcnJheT1bXX1fYWRkVmFsdWVzU3Bhd25zU3Vic2NyaXB0aW9ucygpe2ZvcihsZXQgZT0wO2U8dGhpcy5fdmFsdWVzU3Bhd25BcnJheS5sZW5ndGg7ZSsrKXtjb25zdCB0PXRoaXMuX3ZhbHVlc1NwYXduQXJyYXlbZV07dC52YWx1ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmFsdWVzSFRNTEVsSGFuZGxlci5iaW5kKHRoaXMsZSkpLHQuY29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZhbHVlQ29sb3JIYW5kbGVyLmJpbmQodGhpcyxlKSksdC52aXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVWYWx1ZVZpc2libGVIYW5kbGVyLmJpbmQodGhpcyxlKSksdC50aXRsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmFsdWVzVGl0bGVIVE1MRWxIYW5kbGVyLmJpbmQodGhpcyxlKSl9fV91cGRhdGVTaG93VmFsdWVzKCl7ZnVuY3Rpb24gZShlKXtpZighZSlyZXR1cm47Y29uc3QgdD1BcnJheS5mcm9tKGUuY2hpbGRyZW4pLmV2ZXJ5KChlPT5lLmNsYXNzTGlzdC5jb250YWlucyhYLmJsb2NrSGlkZGVuKSkpO2UuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLHQpfWUodGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbCksZSh0aGlzLl92YWx1ZXNQYXJlbnRFbCl9X2FkZFN0YXR1c2VzV2lkZ2V0KGUpe3RoaXMuX2hpZGVJbnZpc2libGVIb3Zlcj1lLnZpc2liaWxpdHkoKS5zcGF3bigpLHRoaXMuX2hpZGVJbnZpc2libGVIb3Zlci5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZUludmlzaWJsZUhvdmVyTW9kZS5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9oaWRlVmFsdWVzPSgwLGQuY29tYmluZSkoKChlLHQpPT5lfHx0KSxlLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSxlLmlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faGlkZVZhbHVlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZVZhbHVlc01vZGUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fc3RhdHVzZXNXcmFwcGVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3N0YXR1c2VzV3JhcHBlci5jbGFzc0xpc3QuYWRkKGNlLnN0YXR1c2VzV3JhcHBlciksdGhpcy5fc3RhdHVzZXNXcmFwcGVyLmRhdGFzZXQucWFJZD0ibGVnZW5kLXN0YXR1c2VzLXdyYXBwZXIiLHRoaXMuX3N0YXR1c2VzV2lkZ2V0U3RhdGU9ZSx0aGlzLl9kaXNhYmxlZC52YWx1ZSgpP3RoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT1DKHtjb250YWluZXI6dGhpcy5fc3RhdHVzZXNXcmFwcGVyLHN0YXR1c2VzOmUudmlzaWJsZU1vZGVscygpLHRvb2x0aXA6ZS50b29sdGlwKCksdGhlbWU6YmUsc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrOnRoaXMuX3Nob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjaygpfSk6KHRoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT8uKCksdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCksKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9maXJzdEJsb2NrV3JhcHBlcikuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRWaXNpYmlsaXR5KHRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLAp0aGlzLl9yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlclJlc3RyaWN0VGl0bGVXaWR0aC5iaW5kKHRoaXMpKSxudWxsIT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiZ0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fZWwmJnRoaXMuX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fZWwpfV91cGRhdGVUaXRsZU1heFdpZHRoKCl7aWYobnVsbD09PXRoaXMuX2VsfHxudWxsPT09dGhpcy5fdGl0bGVzV3JhcHBlckVsKXJldHVybjtjb25zdCBlPXRoaXMuX2FsbEJ1dHRvbnNXaWR0aHx8MCx0PSh0aGlzLl9sYXN0QWN0aW9uc1dyYXBwZXJXaWR0aHx8MCkrKHRoaXMuX2xhc3RTdGF0dXNlc1dyYXBwZXJXaWR0aHx8MCksaT10aGlzLl9pc1dpZHRoQnV0dG9uc01vZGUoKT9NYXRoLm1heChlLHQpOnQ7dGhpcy5fdGl0bGVzV3JhcHBlckVsLnN0eWxlLm1heFdpZHRoPWk+MD9gJHtNYXRoLmFicyh0aGlzLl9lbC5jbGllbnRXaWR0aC1pKX1weGA6IiJ9X3VwZGF0ZUFsbEJ1dHRvbnNXaWR0aCgpe3RoaXMuX2FsbEJ1dHRvbnNXaWR0aD10aGlzLl9nZXRCdXR0b25zQ291bnQoKSpMKzEsdGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aCgpfV9zaG93VG9vbHRpcE92ZXJyaWRlQ2FsbGJhY2soKXt9X3VwZGF0ZUhpZGVJbnZpc2libGVIb3Zlck1vZGUoZSl7bnVsbCE9PXRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGVJbnZpc2libGVIb3ZlcixlKX1fdXBkYXRlSGlkZVZhbHVlc01vZGUoZSl7bnVsbCE9PXRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGVWYWx1ZXMsZSl9X3Nob3dBY3Rpb25zKCl7aWYobnVsbD09PXRoaXMuX2VsfHwhdGhpcy5fd2l0aEFjdGlvbnMpcmV0dXJuO3RoaXMuX2VsLmNsYXNzTGlzdC5hZGQoY2Uud2l0aEFjdGlvbiksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9ucz8uKCEwKTtjb25zdCBlPXRoaXMuX3ZhbHVlc1BhcmVudEVsPy5vZmZzZXRUb3A9PT10aGlzLl90aXRsZXNXcmFwcGVyRWw/Lm9mZnNldFRvcDt0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLndpdGhUYWlsLGUpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKX1faGlkZUFjdGlvbnMoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX3dpdGhBY3Rpb25zJiYodGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShjZS53aXRoQWN0aW9uKSx0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPy4oITEpLG51bGwhPT10aGlzLl92YWx1ZXNQYXJlbnRFbCYmdGhpcy5fdmFsdWVzUGFyZW50RWwuY2xhc3NMaXN0LnJlbW92ZShjZS53aXRoVGFpbCksdGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aCgpKX1faGFuZGxlclJlc3RyaWN0VGl0bGVXaWR0aChlKXtpZihudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxudWxsPT09dGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIpcmV0dXJuO2xldCB0PW51bGwsaT0hMTtmb3IoY29uc3QgcyBvZiBlKXMudGFyZ2V0PT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiYodD1zLmNvbnRlbnRSZWN0LndpZHRoKSxzLnRhcmdldD09PXRoaXMuX2VsJiYoaT0hMCk7KHQhPT10aGlzLl9sYXN0QWN0aW9uc1dyYXBwZXJXaWR0aHx8aSkmJihudWxsIT09dCYmKHRoaXMuX2xhc3RBY3Rpb25zV3JhcHBlcldpZHRoPXQpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKSl9X2NsZWFyRGlzYWJsZVN0YXRlKCl7bnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShjZS5leWVMb2FkaW5nKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGNlLmRpc2FibGVkKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRWaXNpYmlsaXR5KHRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKSl9X3VwZGF0ZURpc2FibGVkT25JbnRlcnZhbFN0YXRlKCl7dGhpcy5fZWw/LmNsYXNzTGlzdC50b2dnbGUoY2UuZGlzYWJsZWRPbkludGVydmFsLHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC52YWx1ZSgpKX1fdXBkYXRlU2VsZWN0ZWRTdGF0ZSgpe251bGwhPT10aGlzLl9lbCYmdGhpcy5fd2l0aEFjdGlvbnMmJnRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoY2Uuc2VsZWN0ZWQsdGhpcy5fc2VsZWN0ZWQudmFsdWUoKSl9X3VwZGF0ZVNob3dUaXRsZXMoKXtudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0aGlzLl9pc1RpdGxlSGlkZGVuLnZhbHVlKCkpLG51bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnRoaXMuX2FjdGlvbnNQYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sdGhpcy5faXNUaXRsZUhpZGRlbi52YWx1ZSgpKSl9X3VwZGF0ZVZhbHVlcygpe3RoaXMuX3JlbW92ZVZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKSx0aGlzLl9jcmVhdGVWYWx1ZXNTcGF3bnMoKSxudWxsIT09dGhpcy5fdmFsdWVzUGFyZW50RWwmJm51bGwhPT10aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsJiYodGhpcy5fdmFsdWVzRWxlbWVudHM9W10sdGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbC5pbm5lckhUTUw9IiIpLHRoaXMuX3JlbmRlclZhbHVlcygpLHRoaXMuX2FkZFZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X3VwZGF0ZUFjdGlvblZpc2liaWxpdGllcyhlKXtudWxsIT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiZ0aGlzLl9hY3Rpb25zUGFyZW50RWwucXVlcnlTZWxlY3RvckFsbChgLiR7Y2UuYnV0dG9ufWApW2VdLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhdGhpcy5fYWN0aW9uc1NwYXduQXJyYXlbZV0udmlzaWJsZS52YWx1ZSgpKX1fdXBkYXRlQWN0aW9uVGl0bGUoZSl7Y29uc3QgdD10aGlzLl9hY3Rpb25zU3Bhd25BcnJheVtlXS50aXRsZTtpZihudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLl9hY3Rpb25zUGFyZW50RWwucXVlcnlTZWxlY3RvckFsbChgLiR7Y2UuYnV0dG9ufWApW2VdCjtpLnNldEF0dHJpYnV0ZSgidGl0bGUiLHQudmFsdWUoKSksaS5oYXNBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKSYmaS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQudmFsdWUoKSksaS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29tbW9uLXRvb2x0aXAtdXBkYXRlIikpfV91cGRhdGVBY3Rpb25BY3RpdmVTdGF0dXMoZSl7Y29uc3R7YWN0aXZlOnR9PXRoaXMuX2FjdGlvbnNTcGF3bkFycmF5W2VdO251bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnQmJnRoaXMuX2FjdGlvbnNQYXJlbnRFbC5xdWVyeVNlbGVjdG9yQWxsKGAuJHtjZS5idXR0b259YCkuZm9yRWFjaCgoKGkscyk9PntlPT09cyYmaS5jbGFzc0xpc3QudG9nZ2xlKGNlLmJ1dHRvbl9fYWN0aXZlLHQudmFsdWUoKSl9KSl9X3VwZGF0ZUN1c3RvbVRleHRDb2xvcigpe2NvbnN0IGU9dGhpcy5fY3VzdG9tVGV4dENvbG9yLnZhbHVlKCl8fCIiO2Zvcihjb25zdCB0IG9mIHRoaXMuX3RpdGxlQ29udGFpbmVycyludWxsIT09dCYmKHQuc3R5bGUuY29sb3I9ZSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ZhbHVlc1BhcmVudEVsKS5xdWVyeVNlbGVjdG9yQWxsKGAuJHtjZS52YWx1ZVRpdGxlfWApO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXRbaV0uc3R5bGUuY29sb3I9ZTsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLndpdGhDdXN0b21UZXh0Q29sb3IsQm9vbGVhbihlKSl9X3VwZGF0ZVN0YXR1c1dpZGdldFZpc2liaWxpdHkoZSl7bnVsbCE9PXRoaXMuX3N0YXR1c2VzV3JhcHBlciYmKGU/KHRoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT8uKCksdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCk6dGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9zdGF0dXNlc1dyYXBwZXIsc3RhdHVzZXM6dGhpcy5fc3RhdHVzZXNXaWRnZXRTdGF0ZT8udmlzaWJsZU1vZGVscygpPz9uZXcgci5XYXRjaGVkVmFsdWUoW10pLnJlYWRvbmx5KCksdG9vbHRpcDp0aGlzLl9zdGF0dXNlc1dpZGdldFN0YXRlPy50b29sdGlwKCk/P25ldyByLldhdGNoZWRWYWx1ZSgiIikucmVhZG9ubHkoKSx0aGVtZTpiZSxzaG93VG9vbHRpcE92ZXJyaWRlQ2FsbGJhY2s6dGhpcy5fc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrKCl9KSl9X2lzVGl0bGVXaXRoU3ltYm9sTG9nbyhlKXtyZXR1cm4gOD09PWUuaWR8fDA9PT1lLmlkfX1jb25zdCBmZT1fLmlzU2FmYXJpPyJjbGljayI6ImF1eGNsaWNrIjtjbGFzcyBTZSBleHRlbmRzIHZle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksdGhpcy5fd2hlZWxDbGlja0hhbmRsZXI9bnVsbCx0aGlzLl9jYW5VcGRhdGVSb3dWaXNpYmlsaXR5PSEwLHRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHk9dGhpcy5fbW9kZWwuZ2xvYmFsVmlzaWJpbGl0eSgpLnNwYXduKCksdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2hvd0xpbmUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5faGFzNUJ1dHRvbnM9dGhpcy5fbW9kZWwuaXNBYmxlU2hvd1NvdXJjZUNvZGUoKS5zcGF3bigpLHRoaXMuX2hhczVCdXR0b25zLnN1YnNjcmliZSh0aGlzLl91cGRhdGU1QnV0dG9uc1N0eWxlcy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl91cGRhdGVTdGF0ZXMoIXRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLGkuc3RhdHVzZXNXaWRnZXRTdGF0ZSYmdGhpcy5fYWRkU3RhdHVzZXNXaWRnZXQoaS5zdGF0dXNlc1dpZGdldFN0YXRlKSx0aGlzLl9zZWxlY3RlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aC5iaW5kKHRoaXMpKSxpLndpdGhBY3Rpb25zJiYodGhpcy5fd2hlZWxDbGlja0hhbmRsZXI9dGhpcy5fb25XaGVlbENsaWNrZWQuYmluZCh0aGlzKSxudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiZ0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcihmZSx0aGlzLl93aGVlbENsaWNrSGFuZGxlcikpfWRlc3Ryb3koKXt0aGlzLl9oYXM1QnV0dG9ucy5kZXN0cm95KCksdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eSYmdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eS5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3doZWVsQ2xpY2tIYW5kbGVyJiZudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiZ0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihmZSx0aGlzLl93aGVlbENsaWNrSGFuZGxlciksc3VwZXIuZGVzdHJveSgpfWFjY2Vzc2libGVCdXR0b25zKCl7cmV0dXJuIHRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHkudmFsdWUoKT9zdXBlci5hY2Nlc3NpYmxlQnV0dG9ucygpOltdfV91cGRhdGVBY3Rpb25zVmlzaWJpbGl0aWVzQnlNb2RlKCl7aWYoIXRoaXMuX3dpdGhBY3Rpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX21vZGVsLmFjdGlvbnMoKSx0PVtdO2xldCBpPVtdO2lmKDI9PT10aGlzLl9yb3dNb2RlfHwxPT09dGhpcy5fcm93TW9kZSllWzBdLnZpc2libGUudmFsdWUoKSYmdC5wdXNoKHRoaXMuX2FjdGlvbkVsZW1lbnRzWzBdKSxlW3RoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xXS52aXNpYmxlLnZhbHVlKCkmJnQucHVzaCh0aGlzLl9hY3Rpb25FbGVtZW50c1t0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMV0pLGk9dGhpcy5fYWN0aW9uRWxlbWVudHMuc2xpY2UoMSx0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMSk7ZWxzZSBmb3IobGV0IGk9MDtpPHRoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xO2krKyllW2ldLnZpc2libGUudmFsdWUoKSYmdC5wdXNoKHRoaXMuX2FjdGlvbkVsZW1lbnRzW2ldKTtpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLCEwKSkpLHQuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sITEpKSl9X3VwZGF0ZVRpdGxlc1Zpc2liaWxpdGllc0J5TW9kZSgpe3RoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnZhbHVlKCkuZm9yRWFjaCgoKGUsdCk9PntpZig5IT09ZS5pZClyZXR1cm4KO2NvbnN0IGk9dGhpcy5faXNUaXRsZUhpZGRlbkJ5TW9kZShlKTt0aGlzLl90aXRsZUNvbnRhaW5lcnNbdF0/LmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixpKSx0aGlzLl90aXRsZUVsZW1lbnRzW3RdPy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4saSl9KSl9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7cmV0dXJuIDk9PT1lLmlkPzMhPT10aGlzLl90aXRsZXNNb2RlOnN1cGVyLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGUpfV91cGRhdGVTaG93TGluZSgpe2lmKG51bGw9PT10aGlzLl9lbHx8IXRoaXMuX2NhblVwZGF0ZVJvd1Zpc2liaWxpdHkpcmV0dXJuO2NvbnN0IGU9IXRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHkudmFsdWUoKTtlP3RoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixlKTpzdXBlci5fdXBkYXRlU2hvd0xpbmUoKX1fZ2V0QnV0dG9uc0NvdW50KCl7cmV0dXJuIHRoaXMuX2FjdGlvbkVsZW1lbnRzLmZpbHRlcigoZT0+IWUuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pKSkubGVuZ3RofV9yZW5kZXIoKXtzdXBlci5fcmVuZGVyKCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKTtlLmNsYXNzTGlzdC5hZGQoY2UuaXRlbSxjZS5zdHVkeSksZS5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC1zb3VyY2UtaXRlbSIsZS5kYXRhc2V0LmVudGl0eUlkPXRoaXMuX21vZGVsLmdldFNvdXJjZSgpLmlkKCksZS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sYmFyIil9X2dldEF0dHJpYnV0ZXNGb3JUaXRsZVN0YXRlKGUpe3JldHVybiA3PT09ZS5pZHx8OD09PWUuaWR8fDk9PT1lLmlkP3tkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS10aXRsZSIsY2xhc3NOYW1lOmNlLm1haW5UaXRsZX06MTA9PT1lLmlkP3tkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1kZXNjcmlwdGlvbiIsY2xhc3NOYW1lOmNlLmlucHV0VGl0bGV9Om51bGx9X3JlbmRlclZhbHVlcygpe2NvbnN0IGU9dGhpcy5faW5pdFdyYXBwZXJzSWZOb3RJbml0aWFsaXplZCgpLHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmRhdGFzZXQudGVzdElkVmFsdWVUaXRsZT1pLnRpdGxlLnZhbHVlKCksdC5jbGFzc0xpc3QuYWRkKGNlLnZhbHVlSXRlbSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIWkudmlzaWJsZS52YWx1ZSgpKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZChjZS52YWx1ZVZhbHVlKSxzLnN0eWxlLmNvbG9yPWkuY29sb3IudmFsdWUoKXx8IiIscy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShpLnZhbHVlLnZhbHVlKCkpKTtjb25zdCBvPWkudGl0bGUudmFsdWUoKTt2b2lkIDAhPT1vJiYocy5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHMudGl0bGU9byksdC5hcHBlbmRDaGlsZChzKSx0aGlzLl92YWx1ZXNFbGVtZW50cy5wdXNoKHt2YWx1ZTpzfSksZS5hcHBlbmRDaGlsZCh0KX19X3VwZGF0ZVZhbHVlc1RpdGxlSFRNTEVsSGFuZGxlcihlLHQ9IiIpe2NvbnN0IGk9KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKTtpLmNsYXNzTGlzdC50b2dnbGUoImFwcGx5LWNvbW1vbi10b29sdGlwIiwwIT09dC5sZW5ndGgpLGkudGl0bGU9dH1fdXBkYXRlNUJ1dHRvbnNTdHlsZXMoZSl7bnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5oYXM1QnV0dG9ucyxlKSx0aGlzLl91cGRhdGVBbGxCdXR0b25zV2lkdGgoKSl9X29uV2hlZWxDbGlja2VkKGUpezE9PT1lLmJ1dHRvbiYmdGhpcy5fbW9kZWwub25SZW1vdmVTb3VyY2UoKX19dmFyIHllPWkoMTc5NzcxKTtjbGFzcyB3ZSBleHRlbmRzIHZle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksdGhpcy5fY2xpZW50SGVpZ2h0PW51bGwsdGhpcy5fdXBkYXRlTGlua2VkU3RhdGU9KCk9PnsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLmxpbmtlZCxCb29sZWFuKHRoaXMuX2xpbmtlZD8udmFsdWUoKSkpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKX0sdGhpcy5fZmxhZ2dlZD10aGlzLl9tb2RlbC5mbGFnZ2VkKCkuc3Bhd24oKSx0aGlzLl9mbGFnZ2VkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVGbGFnZ2VkU3RhdGUuYmluZCh0aGlzKSksdGhpcy5fbGlua2VkPXRoaXMuX21vZGVsLmxpbmtlZCgpLnNwYXduKCksdGhpcy5fdXBkYXRlTGlua2VkU3RhdGUmJnRoaXMuX2xpbmtlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2VkU3RhdGUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fdXBkYXRlU3RhdGVzKCksaS5zdGF0dXNlc1dpZGdldFN0YXRlJiZ0aGlzLl9hZGRTdGF0dXNlc1dpZGdldChpLnN0YXR1c2VzV2lkZ2V0U3RhdGUpLHRoaXMuX3NlbGVjdGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoLmJpbmQodGhpcykpfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCksdGhpcy5fZmxhZ2dlZD8uZGVzdHJveSgpLHRoaXMuX2xpbmtlZD8uZGVzdHJveSgpfWdldEhlaWdodCgpe3JldHVybiBudWxsPT09dGhpcy5fZWw/bnVsbDoobnVsbD09PXRoaXMuX2NsaWVudEhlaWdodCYmKHRoaXMuX2NsaWVudEhlaWdodD10aGlzLl9lbC5jbGllbnRIZWlnaHQsMD09PXRoaXMuX2NsaWVudEhlaWdodCYmKHRoaXMuX2NsaWVudEhlaWdodD1udWxsKSksdGhpcy5fY2xpZW50SGVpZ2h0KX1fdXBkYXRlQWN0aW9uc1Zpc2liaWxpdGllc0J5TW9kZSgpe2lmKCF0aGlzLl93aXRoQWN0aW9ucylyZXR1cm47Y29uc3QgZT1bXTtsZXQgdD1bXTtjb25zdCBpPXRoaXMuX21vZGVsLmFjdGlvbnMoKTtpZigxPT09dGhpcy5fcm93TW9kZSlpW3RoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xXS52aXNpYmxlLnZhbHVlKCkmJmUucHVzaCh0aGlzLl9hY3Rpb25FbGVtZW50c1t0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMV0pLAp0PXRoaXMuX2FjdGlvbkVsZW1lbnRzLnNsaWNlKDAsdGhpcy5fYWN0aW9uRWxlbWVudHMubGVuZ3RoLTEpO2Vsc2UgZm9yKGxldCB0PTA7dDx0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGg7dCsrKWlbdF0udmlzaWJsZS52YWx1ZSgpJiZlLnB1c2godGhpcy5fYWN0aW9uRWxlbWVudHNbdF0pO3QuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sITApKSksZS5mb3JFYWNoKChlPT5lLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhMSkpKX1fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCl7dGhpcy5faGlkZVRpdGxlQW5kSXRzQ29udGFpbmVySWZSZXF1aXJlZCgzKSx0aGlzLl9oaWRlVGl0bGVBbmRJdHNDb250YWluZXJJZlJlcXVpcmVkKDQpLHRoaXMuX2hpZGVUaXRsZUFuZEl0c0NvbnRhaW5lcklmUmVxdWlyZWQoMil9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7Y29uc3QgdD1lLmlkO3JldHVybiAyIT09dCYmMyE9PXQmJjQhPT10P3N1cGVyLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGUpOjI9PT10JiZ0aGlzLl9pc011bHRpcGxlTGF5b3V0LnZhbHVlKCk/MT09PXRoaXMuX3RpdGxlc01vZGU6MyE9PXRoaXMuX3RpdGxlc01vZGV9X2hpZGVUaXRsZUFuZEl0c0NvbnRhaW5lcklmUmVxdWlyZWQoZSl7Y29uc3QgdD10aGlzLl9nZXRUaXRsZUluZGV4QnlEYXRhTmFtZShlKTtpZigtMT09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5fdGl0bGVzU3RhdGVzU3Bhd24udmFsdWUoKVt0XSxzPXRoaXMuX3RpdGxlQ29udGFpbmVyc1t0XSxvPXRoaXMuX3RpdGxlRWxlbWVudHNbdF0sbj10aGlzLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGkpO3M/LmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixuKSxvPy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sbil9X2dldEJ1dHRvbnNDb3VudCgpe3JldHVybiAxPT09dGhpcy5fcm93TW9kZT8xOnRoaXMuX2FjdGlvbkVsZW1lbnRzLmZpbHRlcigoZT0+IWUuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pKSkubGVuZ3RofV9yZW5kZXIoKXtzdXBlci5fcmVuZGVyKCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKTtlLmNsYXNzTGlzdC5hZGQoY2UuaXRlbSxjZS5zZXJpZXMpLGUuY2xhc3NMaXN0LnRvZ2dsZShjZS5vbmx5T25lQnV0dG9uQ2FuQmVTdGljayx0aGlzLl9tb2RlbC5pc09uZUJ1dHRvbkNhbkJlU3RpY2soKSksZS5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC1zZXJpZXMtaXRlbSIsZS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sYmFyIil9X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVGbGFnZ2VkU3RhdGUoKSx0aGlzLl91cGRhdGVMaW5rZWRTdGF0ZT8uKCl9X3JlbmRlclZhbHVlcygpe2NvbnN0IGU9dGhpcy5faW5pdFdyYXBwZXJzSWZOb3RJbml0aWFsaXplZCgpLHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmRhdGFzZXQudGVzdElkVmFsdWVUaXRsZT1pLnRpdGxlLnZhbHVlKCksdC5jbGFzc0xpc3QuYWRkKGNlLnZhbHVlSXRlbSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIWkudmlzaWJsZS52YWx1ZSgpKSx0LmNsYXNzTGlzdC50b2dnbGUoY2UudW5pbXBvcnRhbnQsaS51bmltcG9ydGFudC52YWx1ZSgpKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG89aS50aXRsZS52YWx1ZSgpfHwiIixuPXRoaXMuX2N1c3RvbVRleHRDb2xvci52YWx1ZSgpfHwiIjtzLmNsYXNzTGlzdC5hZGQoY2UudmFsdWVUaXRsZSkscy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sMD09PW8ubGVuZ3RoKSxzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG8pKSxzLnN0eWxlLmNvbG9yPW4sdC5hcHBlbmRDaGlsZChzKTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuY2xhc3NMaXN0LmFkZChjZS52YWx1ZVZhbHVlKSxhLnN0eWxlLmNvbG9yPWkuY29sb3IudmFsdWUoKXx8IiIsYS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShpLnZhbHVlLnZhbHVlKCkpKSx0LmFwcGVuZENoaWxkKGEpLHRoaXMuX3ZhbHVlc0VsZW1lbnRzLnB1c2goe3RpdGxlOnMsdmFsdWU6YX0pLGUuYXBwZW5kQ2hpbGQodCl9fV9nZXRBdHRyaWJ1dGVzRm9yVGl0bGVTdGF0ZShlKXtzd2l0Y2goZS5pZCl7Y2FzZSAwOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS10aXRsZSIsY2xhc3NOYW1lOmNlLm1haW5UaXRsZX07Y2FzZSAxOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1kZXNjcmlwdGlvbiIsY2xhc3NOYW1lOmNlLmRlc2NUaXRsZX07Y2FzZSAyOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1pbnRlcnZhbCIsY2xhc3NOYW1lOmNlLmludGVydmFsVGl0bGV9O2Nhc2UgMzpyZXR1cm57ZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtcHJvdmlkZXIiLGNsYXNzTmFtZTpjZS5wcm92aWRlclRpdGxlfTtjYXNlIDQ6cmV0dXJue2RhdGFRYUlkOiJsZWdlbmQtc291cmNlLWV4Y2hhbmdlIixjbGFzc05hbWU6Y2UuZXhjaGFuZ2VUaXRsZX07Y2FzZSA1OnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1zdHlsZSIsY2xhc3NOYW1lOmNlLnN0eWxlVGl0bGV9O2Nhc2UgNjpyZXR1cm57ZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtcHJpY2Utc291cmNlIixjbGFzc05hbWU6Y2UucHJpY2VTb3VyY2VUaXRsZX19cmV0dXJuIG51bGx9X3VwZGF0ZVZhbHVlc1RpdGxlSFRNTEVsSGFuZGxlcihlLHQ9IiIpe2NvbnN0IGk9KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnRpdGxlKTtnKGksdCksaS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sMD09PXQubGVuZ3RoKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X2lzV2lkdGhCdXR0b25zTW9kZSgpewpyZXR1cm4gbnVsbCE9PXRoaXMuX2VsJiYodm9pZCAwIT09dGhpcy5fZmxhZ2dlZCYmQm9vbGVhbih0aGlzLl9mbGFnZ2VkLnZhbHVlKCkpfHx0aGlzLl9saW5rZWQ/LnZhbHVlKCl8fHN1cGVyLl9pc1dpZHRoQnV0dG9uc01vZGUoKSl9X3Nob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjaygpe2lmKCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfc2hvd19zZXJpZXNfc3RhdHVzZXNfdG9vbHRpcCIpKXJldHVybiBlPT57eWUuZW1pdCgidG9nZ2xlX3Nlcmllc19zdGF0dXNfdG9vbHRpcF9pbm5lciIsZSx0aGlzLl9tb2RlbC5jaGFydE1vZGVsSWQoKSl9fV91cGRhdGVGbGFnZ2VkU3RhdGUoKXtpZih2b2lkIDA9PT10aGlzLl9mbGFnZ2VkKXJldHVybjsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLmZsYWdnZWQsQm9vbGVhbih0aGlzLl9mbGFnZ2VkLnZhbHVlKCkpKSx0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoKCl9X2dldFRpdGxlSW5kZXhCeURhdGFOYW1lKGUpe3JldHVybiB0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi52YWx1ZSgpLmZpbmRJbmRleCgodD0+dC5pZD09PWUpKX19dmFyIENlLEVlPWkoNDcxNTE4KSx4ZT1pKDgyNDI0MiksTGU9aSg5NTI1NCksTWU9aSg0Njc1NDgpOyFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdD0wXT0iRGVmYXVsdCIsZVtlLk1pY3JvPTFdPSJNaWNybyJ9KENlfHwoQ2U9e30pKTtjb25zdCBUZT0oMCxFLm1lcmdlVGhlbWVzKSh3LkRFRkFVTFRfU1RBVFVTX1JFTkRFUkVSX1RIRU1FLHtzdGF0dXNlc1dyYXA6Y2Uuc3RhdHVzZXNXcmFwcGVyX19zdGF0dXNlc30pO2NsYXNzIFZle2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl93cmFwcGVyVG9nZ2VyPW51bGwsdGhpcy5fZWw9bnVsbCx0aGlzLl9jb3VudGVyRWw9bnVsbCx0aGlzLl9hcnJvd0ljb25FTD1udWxsLHRoaXMuX29iamVjdFRyZWVFbD1udWxsLHRoaXMuX2xvYWRlcj1lZShudWxsLHtjbGFzc05hbWU6Y2UudG9nZ2xlcldyYXBwZXJfX2xvYWRlcn0pLHRoaXMuX21vZGU9MCx0aGlzLl9hY2Nlc3NpYmxlQnV0dG9ucz1bXSx0aGlzLl9wYXJlbnRFbD1lLHRoaXMuX3RoZW1lZENvbG9yPXQuc3Bhd24oKSx0aGlzLl90aGVtZWRDb2xvci5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3IuYmluZCh0aGlzKSksdGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3I9aS5zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci5zcGF3bigpLHRoaXMuX3Nob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yLnN1YnNjcmliZSh0aGlzLl91cGRhdGVWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3NvdXJjZUNvdW50PWkudmlzaWJsZURhdGFTb3VyY2VDb3VudC5zcGF3bigpLHRoaXMuX3NvdXJjZUNvdW50LnN1YnNjcmliZSgoKCk9Pnt0aGlzLl91cGRhdGVTb3VyY2VDb3VudCgpLHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKX0pKSx0aGlzLl9pc1N0YXRlT3Blbj1pLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQuc3Bhd24oKSx0aGlzLl9pc1N0YXRlT3Blbi5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdXBkYXRlU3RhdGUoKSx0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCl9KSksdGhpcy5faXNNYWluUGFuZT1pLmlzTWFpblBhbmUuc3Bhd24oKSx0aGlzLl9pc01haW5QYW5lLnN1YnNjcmliZSh0aGlzLl91cGRhdGVPYmplY3RUcmVlVmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl9pc1BhbmVDb2xsYXBzZWQ9aS5pc1BhbmVDb2xsYXBzZWQuc3Bhd24oKSx0aGlzLl9pc1BhbmVDb2xsYXBzZWQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5fY29tYmluZWRTdGF0dXNXaWRnZXRFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGU9aS5jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGUsdGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHk9dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlLnZpc2liaWxpdHkoKS5zcGF3bigpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnN1YnNjcmliZSh0aGlzLl91cGRhdGVWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3JlbmRlcigpLHRoaXMuX3VwZGF0ZVN0YXRlKCksdGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpLHRoaXMuX3VwZGF0ZVRoZW1lZENvbG9yKHRoaXMuX3RoZW1lZENvbG9yLnZhbHVlKCkpLHRoaXMuX3VwZGF0ZU9iamVjdFRyZWVWaXNpYmlsaXR5KHRoaXMuX2lzTWFpblBhbmUudmFsdWUoKSksdGhpcy5faXNMb2FkZXJWaXNpYmxlPSgwLGQuY29tYmluZSkoKChlLHQpPT4hZSYmdFswXSksdGhpcy5faXNTdGF0ZU9wZW4ud2Vha1JlZmVyZW5jZSgpLGkuaGFzTG9hZGluZ0RhdGFTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faXNMb2FkZXJWaXNpYmxlLnN1YnNjcmliZSh0aGlzLl9sb2FkZXIudG9nZ2xlVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fdG9nZ2xlU3RhdGVIYW5kbGVyPWU9PntudWxsIT09dGhpcy5fZWwmJihlLmNhbmNlbGFibGUmJmUucHJldmVudERlZmF1bHQoKSxlIGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudHx8dGhpcy5fZWw/LmJsdXIoKSwxIT09dGhpcy5fbW9kZT9pLm9uQ29sbGFwc2VEYXRhU291cmNlcygpOmkub25TaG93T2JqZWN0c1RyZWVEaWFsb2coKSl9LG51bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl90b2dnbGVTdGF0ZUhhbmRsZXIpLHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl90b2dnbGVTdGF0ZUhhbmRsZXIpLHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpKSx0aGlzLl91cGRhdGVTb3VyY2VDb3VudCgpfWRlc3Ryb3koKXt0aGlzLl9pc0xvYWRlclZpc2libGUuZGVzdHJveSgpLHRoaXMuX2xvYWRlci5kZXN0cm95KCksdGhpcy5faXNQYW5lQ29sbGFwc2VkLmRlc3Ryb3koKSwKdGhpcy5fc291cmNlQ291bnQuZGVzdHJveSgpLHRoaXMuX2lzU3RhdGVPcGVuLmRlc3Ryb3koKSx0aGlzLl9zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci5kZXN0cm95KCksdGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuZGVzdHJveSgpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSxudWxsIT09dGhpcy5fb2JqZWN0VHJlZUVsJiYodGhpcy5fb2JqZWN0VHJlZUVsPW51bGwpLHRoaXMuX2Fycm93SWNvbkVMPW51bGwsdGhpcy5fY291bnRlckVsPW51bGwsbnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3RvZ2dsZVN0YXRlSGFuZGxlciksdGhpcy5fZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX3RvZ2dsZVN0YXRlSGFuZGxlciksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2VsPW51bGwpfWFjY2Vzc2libGVCdXR0b25zKCl7cmV0dXJuIG51bGw9PT10aGlzLl9lbHx8dGhpcy5fZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGNlLm9ubHlPbmVTb3VyY2VTaG93bikmJjEhPT10aGlzLl9tb2RlP1tdOnRoaXMuX2FjY2Vzc2libGVCdXR0b25zfXNldE1vZGUoZSl7dGhpcy5fbW9kZT1lPzE6MCx0aGlzLl91cGRhdGVUb29sdGlwKCl9X3JlbmRlcigpe3RoaXMuX3dyYXBwZXJUb2dnZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fd3JhcHBlclRvZ2dlci5jbGFzc0xpc3QuYWRkKGNlLnRvZ2dsZXJXcmFwcGVyKSx0aGlzLl93cmFwcGVyVG9nZ2VyLmRhdGFzZXQucWFJZD0ibGVnZW5kLXRvZ2dsZXItd3JhcHBlciIsdGhpcy5fZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIiksdGhpcy5fZWwuY2xhc3NOYW1lPWAke2NlLnRvZ2dsZXJ9IGFwcGx5LWNvbW1vbi10b29sdGlwYCx0aGlzLl9lbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC10b2dnbGVyIjtjb25zdCBlPXRoaXMuX2VsO2UudHlwZT0iYnV0dG9uIixlLmNsYXNzTGlzdC5hZGQoY2UuYWNjZXNzaWJsZSksZS50YWJJbmRleD0tMTtjb25zdCB0PXQ9PntpZihudWxsIT09ZSlzd2l0Y2godC50eXBlKXtjYXNlInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiOmUudGFiSW5kZXg9MDticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6ZS50YWJJbmRleD0tMX19O2UuYWRkRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsdCksZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiLHQpLGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGU9Pntjb25zdCB0PSgwLGguaGFzaEZyb21FdmVudCkoZSk7MTMhPT10JiYzMiE9PXR8fChlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fdG9nZ2xlU3RhdGVIYW5kbGVyKGUpKX0pKSx0aGlzLl9hY2Nlc3NpYmxlQnV0dG9ucy5wdXNoKGUpLHRoaXMuX2Fycm93SWNvbkVMPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2Fycm93SWNvbkVMLmNsYXNzTGlzdC5hZGQoY2UuaWNvbkFycm93KSx0aGlzLl9hcnJvd0ljb25FTC5pbm5lckhUTUw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT94ZTpFZSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9hcnJvd0ljb25FTCksdGhpcy5fb2JqZWN0VHJlZUVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX29iamVjdFRyZWVFbC5jbGFzc0xpc3QuYWRkKGNlLm9iamVjdFRyZWUpLHRoaXMuX29iamVjdFRyZWVFbC5pbm5lckhUTUw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT9NZTpMZSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9vYmplY3RUcmVlRWwpLHRoaXMuX2NvdW50ZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb3VudGVyRWwuY2xhc3NMaXN0LmFkZChjZS5jb3VudGVyKSx0aGlzLl9jb3VudGVyRWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKHRoaXMuX3NvdXJjZUNvdW50LnZhbHVlKCkpKSksdGhpcy5fZWwuYXBwZW5kQ2hpbGQodGhpcy5fY291bnRlckVsKSx0aGlzLl93cmFwcGVyVG9nZ2VyLmFwcGVuZENoaWxkKHRoaXMuX2VsKSx0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLmNsYXNzTGlzdC5hZGQoY2Uuc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLmRhdGFzZXQucWFJZD0ibGVnZW5kLXN0YXR1c2VzLXdyYXBwZXIiLHRoaXMuX3dyYXBwZXJUb2dnZXIuYXBwZW5kQ2hpbGQodGhpcy5fY29tYmluZWRTdGF0dXNXaWRnZXRFbCksIXRoaXMuX2lzU3RhdGVPcGVuLnZhbHVlKCkmJnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCk/dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k9Qyh7Y29udGFpbmVyOnRoaXMuX2NvbWJpbmVkU3RhdHVzV2lkZ2V0RWwsc3RhdHVzZXM6dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlLnZpc2libGVNb2RlbHMoKSx0b29sdGlwOnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZS50b29sdGlwKCksdGhlbWU6VGV9KToodGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCksdGhpcy5fcGFyZW50RWwuYXBwZW5kQ2hpbGQodGhpcy5fd3JhcHBlclRvZ2dlciksdGhpcy5fbG9hZGVyLm1vdW50VG8odGhpcy5fd3JhcHBlclRvZ2dlcil9X3VwZGF0ZVRoZW1lZENvbG9yKGUpe2lmKG51bGwhPT10aGlzLl9lbClpZihlLmxlbmd0aD4wKXtjb25zdFt0LGksc109KDAsYy5wYXJzZVJnYikoZSk7dGhpcy5fZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yPSgwLGMucmdiYVRvU3RyaW5nKShbdCxpLHMsKDAsYy5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoLjgpXSl9ZWxzZSB0aGlzLl9lbC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiYmFja2dyb3VuZC1jb2xvciIpfV91cGRhdGVTb3VyY2VDb3VudCgpe2NvbnN0IGU9dGhpcy5fc291cmNlQ291bnQudmFsdWUoKSx0PSgwLApuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvdW50ZXJFbCk7Zyh0LFN0cmluZyhlKSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sZTw9MSksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5zYXZlQXJyb3dXaWR0aCxlPD0xKX1fdXBkYXRlVmlzaWJpbGl0eSgpe2NvbnN0IGU9dGhpcy5fc291cmNlQ291bnQudmFsdWUoKSx0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZWwpLGk9MT09PWUmJiF0aGlzLl9zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci52YWx1ZSgpJiYodGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKXx8IXRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCkpLHM9ZTwxfHx0aGlzLl9pc1BhbmVDb2xsYXBzZWQudmFsdWUoKSYmKHRoaXMuX2lzTWFpblBhbmUudmFsdWUoKXx8dGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKSk7dC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sISFzKSx0LmNsYXNzTGlzdC50b2dnbGUoY2Uub25seU9uZVNvdXJjZVNob3duLGkpLHQuZGF0YXNldC5xYUlkPWBsZWdlbmQtdG9nZ2xlciR7cz8iIGhpZGRlbiI6IiJ9JHtpPyIgb25seS1vbmUtc291cmNlLXNob3duIjoiIn1gLCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fd3JhcHBlclRvZ2dlcikuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLGkpLCF0aGlzLl9pc1N0YXRlT3Blbi52YWx1ZSgpJiZ0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0VmlzaWJpbGl0eS52YWx1ZSgpP3RoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLHN0YXR1c2VzOnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmxlTW9kZWxzKCksdG9vbHRpcDp0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGUudG9vbHRpcCgpLHRoZW1lOlRlfSk6KHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSx0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0RGVzdHJveT12b2lkIDApfV91cGRhdGVTdGF0ZSgpe2NvbnN0IGU9IXRoaXMuX2lzU3RhdGVPcGVuLnZhbHVlKCk7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5jbG9zZWQsZSksdGhpcy5fdXBkYXRlVG9vbHRpcCgpLE8oKGU/IkhpZGUiOiJTaG93IikrIiBub3QgbWFpbiBzb3VyY2VzIil9X3Rvb2x0aXAoKXtpZigxPT09dGhpcy5fbW9kZSlyZXR1cm4gUC50KG51bGwse2NvbnRleHQ6IkxlZ2VuZCB0b2dnbGVyIGJ1dHRvbiB0b29sdGlwIn0saSgzMDUwNTUpKTtjb25zdCBlPXRoaXMuX3NvdXJjZUNvdW50LnZhbHVlKCksdD1QLnQobnVsbCx7cGx1cmFsOiJIaWRlIGluZGljYXRvcnMgbGVnZW5kIixjb3VudDplfSxpKDMzMjgyOCkpLHM9UC50KG51bGwse3BsdXJhbDoiU2hvdyBpbmRpY2F0b3JzIGxlZ2VuZCIsY291bnQ6ZX0saSg2OTI3MTIpKTtyZXR1cm4gdGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKT90OnN9X3VwZGF0ZVRvb2x0aXAoKXtpZihudWxsIT09dGhpcy5fZWwpe2NvbnN0IGU9dGhpcy5fdG9vbHRpcCgpO3RoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLGUpLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsZSksdGhpcy5fZWwuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIpKX19X3VwZGF0ZU9iamVjdFRyZWVWaXNpYmlsaXR5KGUpeygwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZWwpLmNsYXNzTGlzdC50b2dnbGUoY2Uub2JqZWN0c1RyZWVDYW5CZVNob3duLGUpfX12YXIga2U7IWZ1bmN0aW9uKGUpe2VbZS5NZWRpdW09MjIyXT0iTWVkaXVtIixlW2UuU21hbGw9MjA1XT0iU21hbGwiLGVbZS5UaW55PTEzM109IlRpbnkiLGVbZS5IaWRlVW5pbXBvcnRhbnRWYWx1ZXM9MjcyXT0iSGlkZVVuaW1wb3J0YW50VmFsdWVzIixlW2UuU2VyaWVzRGlyZWN0aW9uQ29sdW1uPTU0Ml09IlNlcmllc0RpcmVjdGlvbkNvbHVtbiIsZVtlLkhpZGVFeGNoYW5nZUludGV2YWxQcm92aWRlcj00NDJdPSJIaWRlRXhjaGFuZ2VJbnRldmFsUHJvdmlkZXIiLGVbZS5IaWRlSW50ZXJ2YWxNdWx0aUNoYXJ0PTE5Ml09IkhpZGVJbnRlcnZhbE11bHRpQ2hhcnQifShrZXx8KGtlPXt9KSk7Y29uc3QgQWU9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiKSxXZT1bMjcsOSwzNywzOSwzOCw0MF0sSWU9KDAsRS5tZXJnZVRoZW1lcykody5ERUZBVUxUX1NUQVRVU19SRU5ERVJFUl9USEVNRSx7c3RhdHVzZXNXcmFwOmNlLnN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXN9KTtjbGFzcyBCZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21vZGU9NCx0aGlzLl9yZW5kZXJUb2dnbGVyPW51bGwsdGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj1udWxsLHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnM9W10sdGhpcy5fcGFyZW50RWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fbWFpbkRhdGFTb3VyY2VFbD1udWxsLHRoaXMuX2RhdGFTb3VyY2VzRWw9bnVsbCx0aGlzLl9kYXRhU291cmNlc0FkZGl0aW9uYWxXcmFwcGVyRWw9bnVsbCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbD1udWxsLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWw9bnVsbCx0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwPW51bGwsdGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uQm91bmQ9dGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uLmJpbmQodGhpcyksdGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkQm91bmQ9dGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkLmJpbmQodGhpcyksdGhpcy5fZm9jdXNFdmVudEFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQ9bnVsbCx0aGlzLl9sb2FkZXI9ZWUobnVsbCx7Y2xhc3NOYW1lOmNlLmNvbGxhcHNlZFNvdXJjZXNDb3VudGVyfSksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9ucz1lPT57CnRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQmJihjbGVhclRpbWVvdXQodGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc1RpbWVvdXRJRCksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc1RpbWVvdXRJRD1udWxsKSxlP3RoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLGUpOnRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLGUpKSwxMDApfSx0aGlzLl9vcHRpb25zPWUsdGhpcy5fdG9nZ2xlck9wdGlvbnM9dCx0aGlzLl9pc1N0dWRpZXNMZWdlbmRIaWRkZW49ZS5pc1N0dWRpZXNMZWdlbmRIaWRkZW4uc3Bhd24oKSx0aGlzLl9pc1N0dWRpZXNMZWdlbmRIaWRkZW4uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5faXNBbGxMZWdlbmRIaWRkZW49ZS5pc0FsbExlZ2VuZEhpZGRlbi5zcGF3bigpLHRoaXMuX2lzQWxsTGVnZW5kSGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKSx0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lPWUuaGlkZUFsbEV4Y2VwdEZpcnN0TGluZS5zcGF3bigpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsbEhpZGRlbkV4ZXB0Rmlyc3RMaW5lLmJpbmQodGhpcykpLHRoaXMuX3RoZW1lZENvbG9yPWUudGhlbWVkQ29sb3Iuc3Bhd24oKSx0aGlzLl90aGVtZWRDb2xvci5zdWJzY3JpYmUodGhpcy5fc2V0Q3VzdG9tQmcuYmluZCh0aGlzKSksdGhpcy5fc2hvd0JhY2tncm91bmQ9ZS5zaG93QmFja2dyb3VuZC5zcGF3bigpLHRoaXMuX3Nob3dCYWNrZ3JvdW5kLnN1YnNjcmliZSh0aGlzLl9zZXRDdXN0b21CZy5iaW5kKHRoaXMpKSx0aGlzLl9iYWNrZ3JvdW5kVHJhbnNwYXJlbmN5PWUuYmFja2dyb3VuZFRyYW5zcGFyZW5jeS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRUcmFuc3BhcmVuY3kuc3Vic2NyaWJlKHRoaXMuX3NldEN1c3RvbUJnLmJpbmQodGhpcykpLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bj1lLmNvbGxhcHNlZERhdGFTb3VyY2VzQ291bnQuc3Bhd24oKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50U3Bhd24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudC5iaW5kKHRoaXMpKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZT1lLmNvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHk9dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmlsaXR5KCkuc3Bhd24oKSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuc3Vic2NyaWJlKCgoKT0+dGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc0NvdW50KHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bi52YWx1ZSgpKSkpLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyPXRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXAuYmluZCh0aGlzKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QuYWRkKGNlLmxlZ2VuZCksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5ub1dyYXAsIXYudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2Uubm9BY3Rpb25zLCF0aGlzLl9vcHRpb25zLndpdGhBY3Rpb25zKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLnRvdWNoTW9kZSx2LnRyYWNraW5nTW9kZUlzQXZhaWxhYmxlKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLndyYXBwYWJsZSwhdGhpcy5faGlkZUFsbEV4Y2VwdEZpcnN0TGluZS52YWx1ZSgpKSx0aGlzLl9wYXJlbnRFbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZCIsdGhpcy5fcGFyZW50RWwuc2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyIsInRydWUiKSx0aGlzLl9wYXJlbnRFbC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoIixgJHtMfXB4YCk7Y29uc3QgaT10PT57dC5wcmV2ZW50RGVmYXVsdCgpLGUuc2hvd0xlZ2VuZFdpZGdldENvbnRleHRNZW51KHQpfTt0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgeC5Nb3VzZUV2ZW50SGFuZGxlcih0aGlzLl9wYXJlbnRFbCx7Y29udGV4dE1lbnVFdmVudDppLHRvdWNoQ29udGV4dE1lbnVFdmVudDppfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsdGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uQm91bmQpLHRoaXMuX3BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2hhbmRsZUtleURvd24uYmluZCh0aGlzKSksdGhpcy5fb3B0aW9ucy5vbkxheW91dENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25MYXlvdXRDaGFuZ2VkKSx0aGlzLl9pc0xvYWRlclZpc2libGU9KDAsZC5jb21iaW5lKSgoZT0+ZVsxXSksZS5oYXNMb2FkaW5nRGF0YVNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9pc0xvYWRlclZpc2libGUuc3Vic2NyaWJlKHRoaXMuX2xvYWRlci50b2dnbGVWaXNpYmlsaXR5LHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5faXNMb2FkZXJWaXNpYmxlLmRlc3Ryb3koKSx0aGlzLl9sb2FkZXIuZGVzdHJveSgpLHRoaXMuX2ZvY3VzRXZlbnRBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7Y29uc3QgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2xldCB0PS0xCjtpZihCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiZlIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpe251bGwhPT10aGlzLl9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoZSkmJih0PSgwLGIucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShkb2N1bWVudC5ib2R5KS5pbmRleE9mKGUpKX1pZih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2lzU3R1ZGllc0xlZ2VuZEhpZGRlbi5kZXN0cm95KCksdGhpcy5faXNBbGxMZWdlbmRIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUuZGVzdHJveSgpLHRoaXMuX3RoZW1lZENvbG9yLmRlc3Ryb3koKSx0aGlzLl9zaG93QmFja2dyb3VuZC5kZXN0cm95KCksdGhpcy5fYmFja2dyb3VuZFRyYW5zcGFyZW5jeS5kZXN0cm95KCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNDb3VudFNwYXduLmRlc3Ryb3koKSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuZGVzdHJveSgpLHYudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUmJm51bGwhPT10aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCYmdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyKSx0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwJiZ0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwKCksbnVsbCE9PXRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCYmKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbC5pbm5lckhUTUw9IiIsdGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsPW51bGwpLG51bGwhPT10aGlzLl9kYXRhU291cmNlc0VsJiYodGhpcy5fZGF0YVNvdXJjZXNFbC5pbm5lckhUTUw9IiIsdGhpcy5fZGF0YVNvdXJjZXNFbD1udWxsKSx0aGlzLl90b2dnbGVyT3B0aW9ucy5pc0RhdGFTb3VyY2VzQ29sbGFwc2VkLnVuc3Vic2NyaWJlKHRoaXMuX29uSXNEYXRhU291cmNlc0NvbGxhcHNlZEJvdW5kKSxudWxsIT09dGhpcy5fcmVuZGVyVG9nZ2xlciYmKHRoaXMuX3JlbmRlclRvZ2dsZXIuZGVzdHJveSgpLHRoaXMuX3JlbmRlclRvZ2dsZXI9bnVsbCksbnVsbCE9PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJih0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyLmRlc3Ryb3koKSx0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPW51bGwpLDAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycyllLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzPVtdfWlmKHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9wYXJlbnRFbC5pbm5lckhUTUw9IiIsZGVsZXRlIHRoaXMuX3BhcmVudEVsLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHRoaXMuX29uS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGlvbkJvdW5kKSwtMSE9PXQpe2xldCBlO3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKTtjb25zdCBpPSgwLGIucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShkb2N1bWVudC5ib2R5KTtlPXQ9PT1pLmxlbmd0aD9pWzBdOmlbdF0sZSYmZS5mb2N1cygpfX1hZGRDdXN0b21XaWRnZXQoZSx0KXtpZigwPT09dC5ibG9jayl7dGhpcy5fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpO2NvbnN0IGk9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsKTsxPT09dC5wb3NpdGlvbiYmZS5yZW5kZXJUbyhpLGkuZmlyc3RDaGlsZCksMD09PXQucG9zaXRpb24mJmUucmVuZGVyVG8oaSl9aWYoMT09PXQuYmxvY2spe3RoaXMuX3JlbmRlckRhdGFTb3VyY2VzRWwoKTtjb25zdCBpPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKTsxPT09dC5wb3NpdGlvbiYmZS5yZW5kZXJUbyhpLGkuZmlyc3RDaGlsZCksMD09PXQucG9zaXRpb24mJmUucmVuZGVyVG8oaSl9fWZpcnN0VGl0bGUoKXtyZXR1cm4gdGhpcy5fcGFyZW50RWwuZmlyc3RFbGVtZW50Q2hpbGR9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9wYXJlbnRFbH11cGRhdGVNb2RlKGUpe2NvbnN0IHQ9QWUmJmU8MTMzPzE6ZTwyMDU/MjplPDIyMj8zOjQsaT1lPDE5Mj8xOmU8NDQyPzI6Mzt0aGlzLl9tb2RlPXQsbnVsbCE9PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJnRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIudXBkYXRlTW9kZSh0LGkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMpZS51cGRhdGVNb2RlKHQsaSk7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5tZWRpdW0sMz09PXQpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubWluaW1pemVkLDI9PT10KSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLm1pY3JvLDE9PT10KSxudWxsIT09dGhpcy5fcmVuZGVyVG9nZ2xlciYmdGhpcy5fcmVuZGVyVG9nZ2xlci5zZXRNb2RlKDE9PT10KTtjb25zdCBzPSF0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnZhbHVlKCkmJih2LnRyYWNraW5nTW9kZUlzQXZhaWxhYmxlfHxlPDU0Mik7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5kaXJlY3Rpb25Db2x1bW4scyksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5oaWRlVW5pcG9ydGFudFZhbHVlSXRlbXMsIV8uQ2hlY2tNb2JpbGUuYW55KCkmJmU8PTI3Mil9Z2V0TWFpblNvdXJjZUhlaWdodCgpe3JldHVybiBudWxsPT09dGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj8wOnRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIuZ2V0SGVpZ2h0KCl9Z2V0RGF0YVNvdXJjZUhlaWdodCgpewpyZXR1cm4gMD09PXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMubGVuZ3RoPzA6dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVyc1swXS5nZXRIZWlnaHQoKX1fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpe251bGw9PT10aGlzLl9tYWluRGF0YVNvdXJjZUVsJiYodGhpcy5fbWFpbkRhdGFTb3VyY2VFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9tYWluRGF0YVNvdXJjZUVsLmNsYXNzTGlzdC5hZGQoY2UubGVnZW5kTWFpblNvdXJjZVdyYXBwZXIpLHRoaXMuX3BhcmVudEVsLmluc2VydEJlZm9yZSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsLHRoaXMuX2RhdGFTb3VyY2VzRWwpKX1fcmVuZGVyRGF0YVNvdXJjZXNFbCgpe251bGw9PT10aGlzLl9kYXRhU291cmNlc0VsJiYodGhpcy5fZGF0YVNvdXJjZXNFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9kYXRhU291cmNlc0VsLmNsYXNzTGlzdC5hZGQoY2Uuc291cmNlc1dyYXBwZXIpLHRoaXMuX2RhdGFTb3VyY2VzRWwuZGF0YXNldC5xYUlkPSJsZWdlbmQtc291cmNlcy13cmFwcGVyIix0aGlzLl9yZW5kZXJUb2dnbGUodGhpcy5fZGF0YVNvdXJjZXNFbCksdGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbC5jbGFzc0xpc3QuYWRkKGNlLnNvdXJjZXMpLHRoaXMuX2RhdGFTb3VyY2VzRWwuYXBwZW5kQ2hpbGQodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKSx0aGlzLl9yZW5kZXJDb2xsYXBzZWRDb3VudGVyKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCksdGhpcy5fcGFyZW50RWwuYXBwZW5kQ2hpbGQodGhpcy5fZGF0YVNvdXJjZXNFbCkpfV9yZW5kZXJUb2dnbGUoZSl7dGhpcy5fb3B0aW9ucy5zaG93VG9nZ2xlQnV0dG9uJiYodGhpcy5fcmVuZGVyVG9nZ2xlcj1uZXcgVmUoZSx0aGlzLl9vcHRpb25zLnRoZW1lZENvbG9yLHRoaXMuX3RvZ2dsZXJPcHRpb25zKSl9X29uSXNEYXRhU291cmNlc0NvbGxhcHNlZChlKXtpZihlKXtjb25zdCBlPXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCk7aWYoMD09PWUuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSkubGVuZ3RoKXtjb25zdCB0PXRoaXMuX2dldFJvd1JlbmRlcmVyQnlDaGlsZChlWzBdKTt0JiZ0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZVswXSx0KX1yZXR1cm59aWYoMCE9PSh0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPy5hY2Nlc3NpYmxlQnV0dG9ucygpfHxbXSkuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSkubGVuZ3RoKXJldHVybjtjb25zdCB0PVtdO3RoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuZm9yRWFjaCgoZT0+dC5wdXNoKC4uLmUuYWNjZXNzaWJsZUJ1dHRvbnMoKSkpKTtjb25zdCBpPXQuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSk7aWYoMCE9PWkubGVuZ3RoKXt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyJiZ0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyLmFib3J0KCksaS5mb3JFYWNoKChlPT4oMCxtLmJlY29tZVNlY29uZGFyeUVsZW1lbnQpKGUpKSk7bGV0IGU9bnVsbCx0PW51bGw7aWYodGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcil7Y29uc3QgaT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyLmFjY2Vzc2libGVCdXR0b25zKCk7aS5sZW5ndGg+MCYmKGU9aVswXSx0PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIpfW51bGw9PT1lJiZ0aGlzLl9yZW5kZXJUb2dnbGVyJiYoZT10aGlzLl9yZW5kZXJUb2dnbGVyLmFjY2Vzc2libGVCdXR0b25zKClbMF0sdD10aGlzLl9yZW5kZXJUb2dnbGVyKSxlJiZ0JiZ0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZSx0KX19X3JlbmRlckNvbGxhcHNlZENvdW50ZXIoZSl7dGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuZGF0YXNldC5xYUlkPSJsZWdlbmQtY29sbGFwc2VkLXNvdXJjZXMtY291bnRlciIsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuY2xhc3NOYW1lPWAke2NlLml0ZW19ICR7Y2UubGFzdH1gLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwuY2xhc3NOYW1lPWAke2NlLnRleHR9IGFwcGx5LWNvbW1vbi10b29sdGlwYCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbC5hcHBlbmQodGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNFbCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNTdGF0dXNXaWRnZXRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2Uuc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQuZGF0YXNldC5xYUlkPSJsZWdlbmQtc3RhdHVzZXMtd3JhcHBlciIsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuYXBwZW5kQ2hpbGQodGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNTdGF0dXNXaWRnZXRFbGVtZW50KSxlLmFwcGVuZCh0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCksdi50cmFja2luZ01vZGVJc0F2YWlsYWJsZSYmdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyKTtjb25zdCB0PXRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bi52YWx1ZSgpO3RoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudCh0KSx0aGlzLl9sb2FkZXIubW91bnRUbyh0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCl9X3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXAoKXsoMCxmLnNob3dPbkVsZW1lbnQpKHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwsewp0ZXh0OnRoaXMuX29wdGlvbnMuY29sbGFwc2VkRGF0YVNvdXJjZXNUaXRsZS52YWx1ZSgpfSksdGhpcy5fYWRkT3V0c2lkZUV2ZW50Rm9ySGlkZVRvb2x0aXAoKX1fYWRkT3V0c2lkZUV2ZW50Rm9ySGlkZVRvb2x0aXAoKXtudWxsIT09dGhpcy5fb3V0c2lkZUV2ZW50Rm9yQ29sbGFwc2VkVG9vbHRpcCYmdGhpcy5fb3V0c2lkZUV2ZW50Rm9yQ29sbGFwc2VkVG9vbHRpcCgpLHRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXA9KDAscC5hZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcikobmV3IEN1c3RvbUV2ZW50KCJ0aW1lc3RhbXAiKS50aW1lU3RhbXAsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwsKCgpPT57bnVsbCE9PXRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXAmJnRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXAoKSwoMCxmLmhpZGUpKCl9KSx3aW5kb3cuZG9jdW1lbnQse3RvdWNoRW5kOiEwfSl9X3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudChlKXtpZihudWxsPT09dGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWx8fG51bGw9PT10aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0VsKXJldHVybjtjb25zdCB0PTA9PT1lO3RoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzV3JhcHBlckVsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0KSwhdCYmdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCk/dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQsc3RhdHVzZXM6dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmxlTW9kZWxzKCksdG9vbHRpcDp0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlLnRvb2x0aXAoKSx0aGVtZTpJZX0pOih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2NvbGxhcHNlZFN0YXR1c2VzV2lkZ2V0RGVzdHJveT12b2lkIDApLHR8fChnKHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwsYCske2V9YCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNFbC5zZXRBdHRyaWJ1dGUoInRpdGxlIix0aGlzLl9vcHRpb25zLmNvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUudmFsdWUoKSkpfV91cGRhdGVMZWdlbmRWaXNpYmlsaXR5KCl7bGV0IGU7Y29uc3QgdD1CZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiYodGhpcy5faXNBbGxMZWdlbmRIaWRkZW4udmFsdWUoKXx8dGhpcy5faXNTdHVkaWVzTGVnZW5kSGlkZGVuLnZhbHVlKCkpO2lmKHQpe2U9dGhpcy5fZ2V0QWxsQWNjZXNzaWJsZUJ1dHRvbnMoKS5maWx0ZXIoKGU9PmUudGFiSW5kZXg+PTApKVswXX1pZih0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sdGhpcy5faXNBbGxMZWdlbmRIaWRkZW4udmFsdWUoKSksbnVsbCE9PXRoaXMuX2RhdGFTb3VyY2VzRWwmJnRoaXMuX2RhdGFTb3VyY2VzRWwuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLHRoaXMuX2lzU3R1ZGllc0xlZ2VuZEhpZGRlbi52YWx1ZSgpKSx0KXtjb25zdCB0PXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCk7aWYoZSYmdC5pbmNsdWRlcyhlKSlyZXR1cm47aWYoZSYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShlKSwwIT09dC5sZW5ndGgpe2NvbnN0IGU9dGhpcy5fZ2V0Um93UmVuZGVyZXJCeUNoaWxkKHRbMF0pO2UmJnRoaXMuX21ha2VSb3dFbGVtZW50VGhlTWFpbk9uZSh0WzBdLGUpfX19X3VwZGF0ZUFsbEhpZGRlbkV4ZXB0Rmlyc3RMaW5lKCl7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS53cmFwcGFibGUsIXRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUudmFsdWUoKSl9X3NldEN1c3RvbUJnKCl7Y29uc3QgZT10aGlzLl9zaG93QmFja2dyb3VuZC52YWx1ZSgpLHQ9dGhpcy5fdGhlbWVkQ29sb3IudmFsdWUoKSxpPXRoaXMuX2JhY2tncm91bmRUcmFuc3BhcmVuY3kudmFsdWUoKTtsZXQgcz0iIjtpZihlKXtjb25zdFtlLG8sbl09KDAsYy5wYXJzZVJnYikodCk7cz0oMCxjLnJnYmFUb1N0cmluZykoW2UsbyxuLCgwLGMubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKDEtaS8xMDApXSl9dGhpcy5fcGFyZW50RWwuc3R5bGUuY29sb3I9c31fb25MYXlvdXRDaGFuZ2VkKGUpe2NvbnN0e25ld01haW5Tb3VyY2U6dCxyZW1vdmVkRGF0YVNvdXJjZXM6aSxhZGRlZERhdGFTb3VyY2VzOnMsbW92ZWREYXRhU291cmNlczpvfT1lLG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtsZXQgYT0tMSxsPS0xO2NvbnN0IHI9bnVsbD09PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJjA9PT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aDtpZihCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiZuIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpe2NvbnN0IGU9dGhpcy5fZ2V0Um93UmVuZGVyZXJzKCksbz1lLmZpbmQoKGU9PmUuYWNjZXNzaWJsZUJ1dHRvbnMoKS5pbmNsdWRlcyhuKSkpO2lmKHZvaWQgMCE9PW8pe2NvbnN0IHI9bz09PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJm51bGw9PT10LGQ9byBpbnN0YW5jZW9mIFNlJiZpLmluY2x1ZGVzKHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuaW5kZXhPZihvKSk7aWYocnx8ZCl7YT1lLmluZGV4T2Yobyk7Y29uc3Qgcj0oMCxiLnF1ZXJ5VGFiYmFibGVFbGVtZW50cykoZG9jdW1lbnQuYm9keSkuaW5kZXhPZihuKTtsPTAhPT1zLmxlbmd0aHx8KHZvaWQgMCE9PXR8fG51bGwhPT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyKSYmbnVsbCE9PXR8fGkubGVuZ3RoIT09dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5sZW5ndGgmJjAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aD9yKzE6cn19fQp2b2lkIDAhPT10JiYobnVsbCE9PXQ/dGhpcy5fYWRkTWFpbkRhdGFTb3VyY2UodC5tb2RlbCx0LnN0YXR1c2VzV2lkZ2V0U3RhdGUpOih0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPy5kZXN0cm95KCksdGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj1udWxsKSk7Y29uc3QgZD1bXTtpZihvLmZvckVhY2goKGU9PntkLnB1c2goe3JlbmRlcmVyOnRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbZS5vbGRJbmRleF0sbmV3SW5kZXg6ZS5uZXdJbmRleH0pfSkpLGQuc29ydCgoKGUsdCk9PmUubmV3SW5kZXgtdC5uZXdJbmRleCkpLGkuZm9yRWFjaCgoZT0+e3RoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuc3BsaWNlKGUsMSlbMF0uZGVzdHJveSgpfSkpLDAhPT1zLmxlbmd0aCYmKHRoaXMuX3JlbmRlckRhdGFTb3VyY2VzRWwoKSxzLmZvckVhY2goKGU9Pnt0aGlzLl9hZGREYXRhU291cmNlKGUubW9kZWwsZS5zdGF0dXNlc1dpZGdldFN0YXRlLGUuaW5kZXgpfSkpKSwwIT09ZC5sZW5ndGgmJih0aGlzLl9yZW5kZXJEYXRhU291cmNlc0VsKCksZC5mb3JFYWNoKChlPT57dGhpcy5fbW92ZURhdGFTb3VyY2UoZS5yZW5kZXJlcixlLm5ld0luZGV4KX0pKSksQmUuX3dhc0tleWJvYXJkTmF2aWdhdGlvbkFjdGl2YXRlZCYmciYmKG51bGwhPT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyfHx0aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCkmJndpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKSwtMSE9PWEpe2xldCBlLHQ7Y29uc3QgaT10aGlzLl9nZXRSb3dSZW5kZXJlcnMoKTtmb3IoO2E8aS5sZW5ndGg7KXtjb25zdCBzPWlbYV0sbz1zLmFjY2Vzc2libGVCdXR0b25zKCk7aWYoby5sZW5ndGg+MCl7ZT1vWzBdLHQ9czticmVha31hKyt9aWYoZSYmdCl0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQoZSx0KTtlbHNlIGlmKC0xIT09bCl7d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHtidWJibGVzOiEwfSkpO2NvbnN0IHQ9KDAsYi5xdWVyeVRhYmJhYmxlRWxlbWVudHMpKGRvY3VtZW50LmJvZHkpO2U9bD09PXQubGVuZ3RoP3RbMF06dFtsXSxlJiYobiYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShuKSxlLmZvY3VzKCkpfX19X2FkZE1haW5EYXRhU291cmNlKGUsdCl7dGhpcy5fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpLHRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXI9bmV3IHdlKGUsKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsKSx7d2l0aEFjdGlvbnM6dGhpcy5fb3B0aW9ucy53aXRoQWN0aW9ucyxjdXN0b21UZXh0Q29sb3I6dGhpcy5fb3B0aW9ucy5jdXN0b21UZXh0Q29sb3Isc3RhdHVzZXNXaWRnZXRTdGF0ZTp0LGlzTXVsdGlwbGVMYXlvdXQ6dGhpcy5fb3B0aW9ucy5pc011bHRpcGxlTGF5b3V0LHRvZ2dsZUhpZGRlbkFjdGlvbnM6dGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc30pLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKX1fYWRkRGF0YVNvdXJjZShlLHQsaSl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCksbz1uZXcgU2UoZSxzLHt3aXRoQWN0aW9uczp0aGlzLl9vcHRpb25zLndpdGhBY3Rpb25zLGN1c3RvbVRleHRDb2xvcjp0aGlzLl9vcHRpb25zLmN1c3RvbVRleHRDb2xvcixzdGF0dXNlc1dpZGdldFN0YXRlOnQsaXNNdWx0aXBsZUxheW91dDp0aGlzLl9vcHRpb25zLmlzTXVsdGlwbGVMYXlvdXQsdG9nZ2xlSGlkZGVuQWN0aW9uczp0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zfSksYT0oMCxuLmVuc3VyZU5vdE51bGwpKG8uZ2V0RWxlbWVudCgpKTtpZihudWxsIT09YSl7bGV0IGU9dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVyc1tpXTt2b2lkIDAhPT1lP3MuaW5zZXJ0QmVmb3JlKGEsZS5nZXRFbGVtZW50KCkpOihlPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbaS0xXSx2b2lkIDAhPT1lJiZzLmluc2VydEJlZm9yZShhLCgwLG4uZW5zdXJlTm90TnVsbCkoZS5nZXRFbGVtZW50KCkpLm5leHRTaWJsaW5nKSl9dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5zcGxpY2UoaSwwLG8pLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKX1fbW92ZURhdGFTb3VyY2UoZSx0KXtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuaW5kZXhPZihlKTtpZigtMT09PWl8fHQ9PT1pKXJldHVybjtjb25zdCBzPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKSxvPSgwLG4uZW5zdXJlTm90TnVsbCkoZS5nZXRFbGVtZW50KCkpO2xldCBhPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbdF07dm9pZCAwIT09YT9zLmluc2VydEJlZm9yZShvLGEuZ2V0RWxlbWVudCgpKTooYT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzW3QtMV0sdm9pZCAwIT09YSYmcy5pbnNlcnRCZWZvcmUobywoMCxuLmVuc3VyZU5vdE51bGwpKGEuZ2V0RWxlbWVudCgpKS5uZXh0U2libGluZykpLHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuc3BsaWNlKGksMSksdGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5zcGxpY2UodCwwLGUpfV9vbktleWJvYXJkTmF2aWdhdGlvbkFjdGl2YXRpb24oKXtCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkPSEwLHRoaXMuX3RvZ2dsZXJPcHRpb25zLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQudW5zdWJzY3JpYmUodGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkQm91bmQpLHRoaXMuX3RvZ2dsZXJPcHRpb25zLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQuc3Vic2NyaWJlKHRoaXMuX29uSXNEYXRhU291cmNlc0NvbGxhcHNlZEJvdW5kKTtjb25zdCBlPXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCksdD1lLmZpbHRlcigoZT0+ZS50YWJJbmRleD49MCkpO2lmKDA9PT10Lmxlbmd0aCl7Y29uc3RbdF09ZS5maWx0ZXIoKGU9PmUuaGFzQXR0cmlidXRlKCJ0YWJJbmRleCIpKSk7aWYodm9pZCAwPT09dClyZXR1cm4KO2NvbnN0IGk9dGhpcy5fZ2V0Um93UmVuZGVyZXJCeUNoaWxkKHQpO2lmKG51bGw9PT1pKXJldHVybjt0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUodCxpKX1pZih0Lmxlbmd0aD4xKXtjb25zdFssLi4uZV09dDtmb3IoY29uc3QgdCBvZiBlKSgwLG0uYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkodCl9fV9oYW5kbGVLZXlEb3duKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxoLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFXZS5pbmNsdWRlcyh0KSlyZXR1cm47Y29uc3QgaT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKCEoaSBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KSlyZXR1cm47Y29uc3Qgcz10aGlzLl9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoaSk7aWYobnVsbD09PXMpcmV0dXJuO2lmKDI3PT09dClyZXR1cm4gdm9pZCBpLmJsdXIoKTtjb25zdCBvPXMuYWNjZXNzaWJsZUJ1dHRvbnMoKSxuPW8uaW5kZXhPZihpKTtpZigwPT09by5sZW5ndGh8fC0xPT09bilyZXR1cm47Y29uc3QgYT10PT57ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9dGhpcy5fZ2V0Um93UmVuZGVyZXJzKCksbz1pLmluZGV4T2Yocyk7bGV0IG4sYSxsPSJibG9ja05leHQiPT09dD9vKzE6by0xO2Zvcig7bD49MCYmbDxpLmxlbmd0aDspe2NvbnN0IGU9aVtsXSxzPWUuYWNjZXNzaWJsZUJ1dHRvbnMoKTtpZigwIT09cy5sZW5ndGgpe249ZSxhPXM7YnJlYWt9bD0iYmxvY2tOZXh0Ij09PXQ/bCsxOmwtMX1uJiZhJiZ0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQoYVswXSxuKX0sbD0oMCxiLm1hcEtleUNvZGVUb0RpcmVjdGlvbikodCk7c3dpdGNoKGwpe2Nhc2UiaW5saW5lUHJldiI6ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2NoYW5nZUZvY3VzRWxlbWVudCgwIT09bj9vW24tMV06b1tvLmxlbmd0aC0xXSxzKTticmVhaztjYXNlImlubGluZU5leHQiOmUucHJldmVudERlZmF1bHQoKSx0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQobiE9PW8ubGVuZ3RoLTE/b1tuKzFdOm9bMF0scyk7YnJlYWs7Y2FzZSJibG9ja1ByZXYiOmNhc2UiYmxvY2tOZXh0IjphKGwpfX1fc3Vic2NyaWJlRWxlbWVudFRvRm9jdXNFdmVudHMoZSx0KXt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIiwoKCk9Pnt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsKGk9Pntjb25zdCBzPWkucmVsYXRlZFRhcmdldDtudWxsIT09cyYmcyBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50JiZ0LmFjY2Vzc2libGVCdXR0b25zKCkuaW5jbHVkZXMocyl8fCh0aGlzLl9zdWJzY3JpYmVFbGVtZW50VG9Gb2N1c0V2ZW50cyhlLHQpLHQgaW5zdGFuY2VvZiBWZXx8dC5oaWRlQWN0aW9ucygpKX0pLHtvbmNlOiEwLHNpZ25hbDp0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyLnNpZ25hbH0pLHRoaXMuX29wdGlvbnMub25MZWdlbmRSb3dGb2N1c2VkKCksdCBpbnN0YW5jZW9mIFZlfHx0LnNob3dBY3Rpb25zKCl9KSx7b25jZTohMCxzaWduYWw6dGhpcy5fZm9jdXNFdmVudEFib3J0Q29udHJvbGxlci5zaWduYWx9KX1fbWFrZVJvd0VsZW1lbnRUaGVNYWluT25lKGUsdCl7dGhpcy5fc3Vic2NyaWJlRWxlbWVudFRvRm9jdXNFdmVudHMoZSx0KSwoMCxtLmJlY29tZU1haW5FbGVtZW50KShlKX1fY2hhbmdlRm9jdXNFbGVtZW50KGUsdCl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSx0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZSx0KSxlLmZvY3VzKCl9X2dldFJvd1JlbmRlcmVycygpe2xldCBlPVtdO3JldHVybiB0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyJiZlLnB1c2godGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlciksdGhpcy5fZGF0YVNvdXJjZXNFbCYmIXRoaXMuX2RhdGFTb3VyY2VzRWwuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pJiYodGhpcy5fdG9nZ2xlck9wdGlvbnMuaXNEYXRhU291cmNlc0NvbGxhcHNlZC52YWx1ZSgpJiYxIT09dGhpcy5fbW9kZSYmKGU9ZS5jb25jYXQodGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycykpLHRoaXMuX3JlbmRlclRvZ2dsZXImJjAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCYmZS5wdXNoKHRoaXMuX3JlbmRlclRvZ2dsZXIpKSxlfV9nZXRBbGxBY2Nlc3NpYmxlQnV0dG9ucygpe2NvbnN0IGU9W107cmV0dXJuIHRoaXMuX2dldFJvd1JlbmRlcmVycygpLmZvckVhY2goKHQ9PntlLnB1c2goLi4udC5hY2Nlc3NpYmxlQnV0dG9ucygpKX0pKSxlfV9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoZSl7cmV0dXJuIHRoaXMuX2dldFJvd1JlbmRlcmVycygpLmZpbmQoKHQ9PnQuYWNjZXNzaWJsZUJ1dHRvbnMoKS5pbmNsdWRlcyhlKSkpPz9udWxsfX1CZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkPSExO3ZhciBIZT1pKDc0MTY5MCksRGU9aSgyNDE5NTYpLFBlPWkoNTUyMTQ1KSxOZT1pKDg2MjU3MiksUmU9aSg5OTQ1NDApLE9lPWkoMjg0ODMxKTtmdW5jdGlvbiBGZShlLHQpe2NvbnN0IGk9W107Zm9yKGNvbnN0IHMgb2YgdCl7aWYocy5oaWRkZW4pY29udGludWU7Y29uc3QgdD0oMCxPZS5jbGVhbikoU3RyaW5nKGVbcy5maWVsZF0/PyIiKSwhMCk7IiIhPT10JiZpLnB1c2goe3RpdGxlOnQsaWQ6cy5pZCx0b29sdGlwOnMudG9vbHRpcCxhY3Rpb246cy5hY3Rpb259KX1yZXR1cm4gaX12YXIgemU9aSgxMTczMTMpLGplPWkoMTI5MzMzKSxVZT1pKDMzMzQ1KSxHZT1pKDY3NzAxMCksWmU9aSgzMzMzMTIpLEplPWkoNTA5MDQpLFllPWkoMjUwNDM5KSxxZT1pKDMwNTY0MCksJGU9aSg0MTc2ODYpO2NsYXNzIFFle2NvbnN0cnVjdG9yKHtsaW5raW5nR3JvdXBJbmRleDplLGlzTGlua2luZ0F2YWlsYWJsZTp0LG9uQ2xpY2tIYW5kbGVyOnMsc2V0TGlua2luZ0dyb3VwSW5kZXg6b30pe3RoaXMuX2FjdGlvblZpc2libGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSwKdGhpcy5fYWN0aXZlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fbGlua2luZ01vZGVTdWJzY3JpcHRpb249ZT0+e2lmKG51bGw9PT1lKXJldHVybiB2b2lkKHRoaXMuX2xlZ2VuZEFjdGlvbkJ1dHRvbkVsZW0uaW5uZXJIVE1MPVVlKTtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO3Quc3JjPSgwLFplLmdldFR3ZW1vamlVcmwpKHFlLmljb25zW2VdLmljb24sInN2ZyIpLHQud2lkdGg9dC5oZWlnaHQ9MTgsdGhpcy5fbGVnZW5kQWN0aW9uQnV0dG9uRWxlbS5yZXBsYWNlQ2hpbGRyZW4odCl9LHRoaXMuX3NldExpbmtpbmdHcm91cEluZGV4SW1wbD1hc3luYyBlPT57dGhpcy5fc2V0TGlua2luZ0dyb3VwSW5kZXgoZT09PXRoaXMuX2xpbmtpbmdHcm91cEluZGV4LnZhbHVlKCk/bnVsbDplKSx0aGlzLl9hY3RpdmUudmFsdWUoKSYmWWUuQ29udGV4dE1lbnVNYW5hZ2VyLmhpZGVBbGwoKX0sdGhpcy5fc2hvd0NvbnRleHRNZW51PWFzeW5jIGU9PntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1lLmN1cnJlbnRUYXJnZXQ7aWYoISh0JiZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtpZih0aGlzLl9vbkNsaWNrSGFuZGxlcj8uKCksdGhpcy5fYWN0aXZlLnZhbHVlKCkpcmV0dXJuIHZvaWQgWWUuQ29udGV4dE1lbnVNYW5hZ2VyLmhpZGVBbGwoKTtjb25zdCBpPWF3YWl0IHRoaXMuX2dldEFjdGlvbnMoKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2NvbnN0e2xlZnQ6cyxib3R0b206b309dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthd2FpdCBZZS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoaSx7Y2xpZW50WDpzLGNsaWVudFk6b30se3JldHVybkZvY3VzOiEwLHRha2VGb2N1czohMCxpc0tleWJvYXJkRXZlbnQ6ISgidG91Y2hlcyJpbiBlKSYmKDAsSC5pc0tleWJvYXJkQ2xpY2spKGUpfSx7bWVudU5hbWU6IlN5bWJvbEludGVydmFsQ2hhcnRTeW5jaW5nTWVudSJ9LCgoKT0+dGhpcy5fYWN0aXZlLnNldFZhbHVlKCExKSkpLHRoaXMuX2FjdGl2ZS5zZXRWYWx1ZSghMCl9LHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PWUuc3Bhd24oKSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGU9dC5zcGF3bigpLHRoaXMuX29uQ2xpY2tIYW5kbGVyPXMsdGhpcy5fc2V0TGlua2luZ0dyb3VwSW5kZXg9bztjb25zdCBuPXRoaXMuX2xlZ2VuZEFjdGlvbkJ1dHRvbkVsZW09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO24uY2xhc3NOYW1lPSRlLmxlZ2VuZEFjdGlvbkJ1dHRvbix0aGlzLl9hY3Rpb249e2ljb246bix0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoUC50KG51bGwsdm9pZCAwLGkoNTQ2MzY5KSkpLGFjdGlvbjp0aGlzLl9zaG93Q29udGV4dE1lbnUsdmlzaWJsZTp0aGlzLl9hY3Rpb25WaXNpYmxlLnJlYWRvbmx5KCksYWN0aXZlOnRoaXMuX2FjdGl2ZS5yZWFkb25seSgpLGNsYXNzTmFtZTpjZS5saW5raW5nLGRhdGFRYUlkOiJsZWdlbmQtbGF5b3V0LWNoYXJ0LXN5bmMtYWN0aW9uIn0sdGhpcy5fbGlua2luZ0dyb3VwSW5kZXguc3Vic2NyaWJlKHRoaXMuX2xpbmtpbmdNb2RlU3Vic2NyaXB0aW9uLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGUuc3Vic2NyaWJlKChlPT50aGlzLl9hY3Rpb25WaXNpYmxlLnNldFZhbHVlKGUpKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2lzRGVzdHJveWVkPSEwLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LmRlc3Ryb3koKSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGUuZGVzdHJveSgpLHRoaXMuX2FjdGl2ZS52YWx1ZSgpJiZZZS5Db250ZXh0TWVudU1hbmFnZXIuaGlkZUFsbCgpfWdldEFjdGlvbigpe3JldHVybiB0aGlzLl9hY3Rpb259YXN5bmMgX2dldEFjdGlvbnMoKXtjb25zdFtlLHtMYXlvdXRDaGFydHNTeW5jQ29udGV4dE1lbnVUaXRsZTp0fSx7TGF5b3V0Q2hhcnRzU3luY0NvbnRleHRNZW51SXRlbTpzfV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oaS50LmJpbmQoaSw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbaS5lKDQ5Mzk0KSxpLmUoMjk1MzYpLGkuZSg1NjI1MiksaS5lKDg5NTU4KSxpLmUoNDQ0NjApLGkuZSg5NDU2MCksaS5lKDM0NjU0KV0pLnRoZW4oaS5iaW5kKGksNjA5OTUxKSksUHJvbWlzZS5hbGwoW2kuZSg0OTM5NCksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSg4OTU1OCksaS5lKDQ0NDYwKSxpLmUoOTQ1NjApLGkuZSgzNDY1NCldKS50aGVuKGkuYmluZChpLDg3MDI0NikpXSk7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuW107Y29uc3Qgbz1xZS5pY29ucy5tYXAoKCh7aWNvbjplfSx0KT0+bmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxpbmtpbmdHcm91cFN5bmMuQ2hhbmdlR3JvdXAiLG9wdGlvbnM6e2xhYmVsOmUsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dGhpcy5fbGlua2luZ0dyb3VwSW5kZXgudmFsdWUoKT09PXQsb25FeGVjdXRlOigpPT50aGlzLl9zZXRMaW5raW5nR3JvdXBJbmRleEltcGwodCl9fSkpKTt0aGlzLl9saW5raW5nR3JvdXBJbmRleC5zdWJzY3JpYmUoKGU9PntvLmZvckVhY2goKCh0LGkpPT57dC51cGRhdGUoe2NoZWNrZWQ6aT09PWV9KX0pKX0pKTtyZXR1cm5bbmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxpbmtpbmdHcm91cFN5bmMiLG9wdGlvbnM6e2ljb246R2UsbGFiZWw6UC50KG51bGwsdm9pZCAwLGkoNDIxMjEpKSxzdWJJdGVtczpvfSxjdXN0b21BY3Rpb25PcHRpb25zOntqc3hMYWJlbDplLmNyZWF0ZUVsZW1lbnQoZS5GcmFnbWVudCxudWxsLGUuY3JlYXRlRWxlbWVudCh0LG51bGwpLGUuY3JlYXRlRWxlbWVudChzLHthY3RpdmU6dGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsaWNvbnM6cWUuaWNvbnMsb25DbGljazp0aGlzLl9zZXRMaW5raW5nR3JvdXBJbmRleEltcGx9KSksZG9Ob3RDbG9zZU9uQ2xpY2s6ITAsbm9JbnRlcmFjdGl2ZTohMH19KV19fXZhciBLZT1pKDQ5MDIwNCksWGU9aSg5MzMxMTYpLGV0PWkoOTg2Mjc1KSx0dD1pKDYyMDM1NCksaXQ9aSg1MTcyOTMpCjtjb25zdCBzdD1uZXcgaXQuQ2lyY3VsYXJDYWNoZUJ1ZmZlcigxMDApO2NsYXNzIG90e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fc3ltYm9sTG9nb1VybHM9bmV3IHIuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9sb2dvRGF0YVVwZGF0ZWQ9KCk9Pntjb25zdCBlPXRoaXMuc3ltYm9sKCksdD10aGlzLl9sb2dvRGF0YS52YWx1ZSgpO3QmJmUmJnN0LnNldChlLHQpO2NvbnN0IGk9c3QuZ2V0KGUpO2k/dGhpcy5fc3ltYm9sTG9nb1VybHMuc2V0VmFsdWUoKDAsZXQucmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvcykoKDAsZXQucmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhKShpLHR0LkxvZ29TaXplLk1lZGl1bSkpKTp0aGlzLl9zeW1ib2xMb2dvVXJscy5zZXRWYWx1ZShbXSl9LHRoaXMuX2xvZ29Nb2RlbD1lLHRoaXMuX2lzTG9nb1Zpc2libGU9KDAsRGUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnQuc2hvd0xvZ28udmFsdWUoKSksdC5zaG93TG9nbyksdGhpcy5fbG9nb0RhdGE9dGhpcy5fbG9nb01vZGVsLmxvZ29EYXRhKCkuc3Bhd24oKSx0aGlzLl9sb2dvRGF0YS5zdWJzY3JpYmUodGhpcy5fbG9nb0RhdGFVcGRhdGVkLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5faXNMb2dvVmlzaWJsZS5kZXN0cm95KCksdGhpcy5fbG9nb01vZGVsLmRlc3Ryb3koKX1pc1N5bWJvbExvZ29WaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzTG9nb1Zpc2libGV9c3ltYm9sTG9nb1VybHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTG9nb1VybHN9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2xvZ29Nb2RlbC5zeW1ib2woKX11cGRhdGUoKXt0aGlzLl9sb2dvTW9kZWwudXBkYXRlKCl9fWZ1bmN0aW9uIG50KGUsdCl7cmV0dXJuIG5ldyBvdChlLHQpfXZhciBhdD1pKDE4NzA2MiksbHQ9aSgyMjEwNjEpO2NvbnN0IHJ0PSgwLGx0LmdldExvZ2dlcikoIkNoYXJ0LkxlZ2VuZFdpZGdldCIpO2NsYXNzIGR0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2xvZ29EYXRhPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9wcmV2U3ltYm9sPSIiLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3NvdXJjZS5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUXVvdGVTeW1ib2xEYXRhVXBkYXRlZCksdGhpcy51cGRhdGUoKX1kZXN0cm95KCl7dGhpcy5fc291cmNlLnF1b3Rlc1Byb3ZpZGVyKCkucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5zeW1ib2woKX1sb2dvRGF0YSgpe3JldHVybiB0aGlzLl9sb2dvRGF0YX11cGRhdGUoKXtjb25zdCBlPXRoaXMuc3ltYm9sKCk7dGhpcy5fcHJldlN5bWJvbCE9PWUmJih0aGlzLl9wcmV2U3ltYm9sPWUsdGhpcy5fb25Tb3VyY2VTeW1ib2xDaGFuZ2UoKSl9X29uUXVvdGVTeW1ib2xEYXRhVXBkYXRlZChlLHQpe2NvbnN0IGk9dC52YWx1ZXM7dGhpcy5fc291cmNlLnN5bWJvbFNhbWVBc0N1cnJlbnQoZS52YWx1ZXMucHJvX25hbWUpJiZ2b2lkIDAhPT1pLmxvZ28mJnRoaXMuX2xvZ29EYXRhLnNldFZhbHVlKGkubG9nbyl9YXN5bmMgX29uU291cmNlU3ltYm9sQ2hhbmdlKCl7Y29uc3QgZT10aGlzLnN5bWJvbCgpO2xldCB0PW51bGw7dHJ5e3RoaXMuX2xvZ29EYXRhLnNldFZhbHVlKG51bGwpLHQ9YXdhaXQgdGhpcy5fc291cmNlLnF1b3Rlc1Byb3ZpZGVyKCkucXVvdGVzU25hcHNob3QoZSl9Y2F0Y2goZSl7cnQubG9nV2FybihgUXVvdGUgc25hcHNob3QgZXJyb3I6ICR7ZX1gKX1maW5hbGx5e3RoaXMuc3ltYm9sKCk9PT1lJiYobnVsbD09PXQ/dGhpcy5fbG9nb0RhdGEuc2V0VmFsdWUobnVsbCwhMCk6dGhpcy5fbG9nb0RhdGEuc2V0VmFsdWUodC5sb2dvfHxudWxsKSl9fV9vblNvdXJjZVN5bWJvbFJlc29sdmVkKCl7MH19dmFyIHV0PWkoOTAzMDMxKSxjdD1pKDU1NjY0NiksaHQ9aSg4OTY5NDcpLHB0PWkoMTEzODEwKTtjb25zdCBfdD1QLnQobnVsbCx2b2lkIDAsaSgzOTQ5NDcpKSxndD1QLnQobnVsbCx2b2lkIDAsaSg3MDY0ODYpKSxtdD1QLnQobnVsbCx2b2lkIDAsaSgzNzUxNjUpKSxidD1QLnQobnVsbCx2b2lkIDAsaSgyNjY1KSksdnQ9UC50KG51bGwsdm9pZCAwLGkoNTk3NzcwKSksZnQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibGVnZW5kX2lucGxhY2VfZWRpdCIpLFN0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIikseXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9yZXNvbHV0aW9uX2luX2xlZ2VuZCIpLHd0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1hcmtlZF9zeW1ib2xzIiksQ3Q9IV8uQ2hlY2tNb2JpbGUuYW55KCksRXQ9ISgwLHplLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCIpO2NsYXNzIHh0IGV4dGVuZHMgJHtjb25zdHJ1Y3RvcihlLHQsaSxzLG8pe3N1cGVyKGUsdCxpLHMsbyksdGhpcy5fc3ltYm9sTWFya2VyPW51bGwsdGhpcy5fc3ltYm9sTWFya2VySWNvbj1udWxsLHRoaXMuX2ZsYWdnZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3N5bWJvbEFjdGlvbj1udWxsLHRoaXMuX3N5bWJvbEZvck1hcmtlcj1udWxsLHRoaXMuX2lzT25lQnV0dG9uQ2FuQmVTdGljaz0hMSx0aGlzLl9sYXlvdXRDaGFydFN5bmNMZWdlbmRSZW5kZXJlcj1udWxsLHRoaXMuX2lzQ2hhcnRMaW5rZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpLnNwYXduKCksQ3QmJih0aGlzLl9pc0xheW91dENoYXJ0U3luY1Zpc2libGU9KDAsZC5jb21iaW5lKSgoKGUsdCxpKT0+ZSYmKHR8fGkpKSx0aGlzLl9tb2RlbC5pc011bHRpcGxlTGF5b3V0KCkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKS5zeW1ib2wud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKS5pbnRlcnZhbC53ZWFrUmVmZXJlbmNlKCkpLAp0aGlzLl9pc0NoYXJ0TGlua2VkPSgwLGQuY29tYmluZSkoKChlLHQpPT50JiZudWxsIT09ZSksdGhpcy5fbW9kZWwubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpLndlYWtSZWZlcmVuY2UoKSwodGhpcy5faXNMYXlvdXRDaGFydFN5bmNWaXNpYmxlfHxuZXcgci5XYXRjaGVkVmFsdWUoITEpKS53ZWFrUmVmZXJlbmNlKCkpKSx0aGlzLl9jcmVhdGVBY3Rpb25zKCksdGhpcy5fdXBkYXRlU3ltYm9sTWFya2VyKCk7Y29uc3Qgbj10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3RoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWwuc2V0VmFsdWUobnQobmV3IGR0KHQpLG4pKSxuLnNob3dTZXJpZXNUaXRsZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9pc1RpdGxlSGlkZGVuLnNldFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSl9KSksdGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbj0oMCxEZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+IW4uc2hvd1ByaWNlU291cmNlLnZhbHVlKCkpLG4uc2hvd1ByaWNlU291cmNlKSx0aGlzLl92YWx1ZXNWaXNpYmxlUHJvcGVydHk9KDAsSGUuY29tYmluZVByb3BlcnR5KSgoKGUsdCxpLHMpPT5gJHtlfToke3R9OiR7aX06JHtzfWApLG4uc2hvd1Nlcmllc09ITEMud2Vha1JlZmVyZW5jZSgpLG4uc2hvd0JhckNoYW5nZS53ZWFrUmVmZXJlbmNlKCksbi5zaG93Vm9sdW1lLndlYWtSZWZlcmVuY2UoKSxuLnNob3dMYXN0RGF5Q2hhbmdlLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fdmFsdWVzVmlzaWJsZVByb3BlcnR5LnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMudXBkYXRlKCksdGhpcy5faXNWYWx1ZXNIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKSl9KSksdGhpcy51cGRhdGUoKSx0aGlzLl9zb3VyY2Uuc3RhdHVzV1YoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cyl9ZGVzdHJveSgpe0N0JiYodGhpcy5fbGF5b3V0Q2hhcnRTeW5jTGVnZW5kUmVuZGVyZXI/LmRlc3Ryb3koKSx0aGlzLl9pc0NoYXJ0TGlua2VkLmRlc3Ryb3koKSx0aGlzLl9pc0xheW91dENoYXJ0U3luY1Zpc2libGU/LmRlc3Ryb3koKSksc3VwZXIuZGVzdHJveSgpLHRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1Nlcmllc1RpdGxlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3NvdXJjZS5zdGF0dXNXVigpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxvYWRpbmdTdGF0dXMpLHRoaXMuX3ZhbHVlc1Zpc2libGVQcm9wZXJ0eS5kZXN0cm95KCksdGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbi5kZXN0cm95KCksdGhpcy5fc3ltYm9sTWFya2VyPy5kZXN0cm95KCl9ZmxhZ2dlZCgpe3JldHVybiB0aGlzLl9mbGFnZ2VkfWxpbmtlZCgpe3JldHVybiB0aGlzLl9pc0NoYXJ0TGlua2VkfWFzeW5jIG9uU2hvd1NldHRpbmdzKGUsdCl7dGhpcy5fc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpJiZhd2FpdCB0aGlzLl9jYWxsYmFja3Muc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMoYXQuVGFiTmFtZXMuc3ltYm9sKX1pc09uZUJ1dHRvbkNhbkJlU3RpY2soKXtyZXR1cm4gdGhpcy5faXNPbmVCdXR0b25DYW5CZVN0aWNrfV91cGRhdGVUaXRsZXMoKXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlLnN0YXR1c1ZpZXcoKSkuZ2V0U3BsaXRUaXRsZSgpLHQ9dGhpcy5fZ2V0Q2hhbmdlU3ltYm9sQ2FsbGJhY2soKSxpPXRoaXMuX2dldENoYW5nZVJlc29sdXRpb25DYWxsYmFjaygpLHM9dD97Zm46dCxhY3Rpb25BbGxvd2VkT25Ub3VjaDpFdH06dm9pZCAwLG89W3tmaWVsZDoidGl0bGUiLGlkOjAsdG9vbHRpcDp0P2J0OnZvaWQgMCxhY3Rpb246c30se2ZpZWxkOiJkZXNjcmlwdGlvbiIsaWQ6MSx0b29sdGlwOnQ/YnQ6dm9pZCAwLGFjdGlvbjpzfSx7ZmllbGQ6ImludGVydmFsIixpZDoyLHRvb2x0aXA6aT92dDp2b2lkIDAsYWN0aW9uOmk/e2ZuOmksYWN0aW9uQWxsb3dlZE9uVG91Y2g6ITF9OnZvaWQgMCxoaWRkZW46eXR9LHtmaWVsZDoicHJvdmlkZXIiLGlkOjN9LHtmaWVsZDoibGlzdGVkRXhjaGFuZ2UiLGlkOjR9LHtmaWVsZDoiY2hhcnRTdHlsZSIsaWQ6NX0se2ZpZWxkOiJwcmljZVNvdXJjZSIsaWQ6NixoaWRkZW46dGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbi52YWx1ZSgpfV07dGhpcy5fdGl0bGVzLnNldFZhbHVlKEZlKGUsbykpfV91cGRhdGVWYWx1ZXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5sZWdlbmRWaWV3KCksdD10aGlzLl92YWx1ZXMudmFsdWUoKSxpPWUubWFya2V0VGl0bGUoKSxzPWUubWFya2V0VGl0bGUoKS5sZW5ndGg+MCxvPWUuaXRlbXMoKTtpZigwPT09dC5sZW5ndGh8fHQubGVuZ3RoIT09by5sZW5ndGgrMSl7Y29uc3QgZT17dmFsdWU6bmV3IHIuV2F0Y2hlZFZhbHVlKCIiKSxjb2xvcjpuZXcgci5XYXRjaGVkVmFsdWUoIiIpLHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHMpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShpKSx1bmltcG9ydGFudDpuZXcgci5XYXRjaGVkVmFsdWUoITEpfSx0PW8ubWFwKChlPT4oe3ZhbHVlOm5ldyByLldhdGNoZWRWYWx1ZShlLnZhbHVlKCkpLGNvbG9yOm5ldyByLldhdGNoZWRWYWx1ZShVKGUuY29sb3IoKSkpLHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKGUudmlzaWJsZSgpKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoZS50aXRsZSgpKSx1bmltcG9ydGFudDpuZXcgci5XYXRjaGVkVmFsdWUoZS51bmltcG9ydGFudCgpKX0pKSk7dGhpcy5fdmFsdWVzLnNldFZhbHVlKFtlXS5jb25jYXQodCkpfWVsc2V7dFswXS50aXRsZS5zZXRWYWx1ZShpKSx0WzBdLnZpc2libGUuc2V0VmFsdWUocyk7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IGk9b1tlXTt0W2UrMV0udmFsdWUuc2V0VmFsdWUoaS52YWx1ZSgpKSx0W2UrMV0uY29sb3Iuc2V0VmFsdWUoVShpLmNvbG9yKCkpKSwKdFtlKzFdLnZpc2libGUuc2V0VmFsdWUoaS52aXNpYmxlKCkpLHRbZSsxXS50aXRsZS5zZXRWYWx1ZShpLnRpdGxlKCkpfX19X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKX1fZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKXtyZXR1cm4hMX1fZ2V0VGl0bGVIaWRkZW5WYWx1ZSgpe3JldHVybiF0aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNUaXRsZS52YWx1ZSgpfV9nZXRWYWx1ZXNIaWRkZW5WYWx1ZSgpe3JldHVybiF0aGlzLl9oYXNWYWx1ZXMoKXx8IXRoaXMuX3ZhbHVlc1Zpc2libGVQcm9wZXJ0eS52YWx1ZSgpLnNwbGl0KCI6Iikuc29tZSgoZT0+InRydWUiPT09ZSkpfV9nZXRDaGFuZ2VTeW1ib2xDYWxsYmFjaygpe2lmKGZ0JiYhKDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGlzYWJsZV9sZWdlbmRfaW5wbGFjZV9zeW1ib2xfY2hhbmdlIikpcmV0dXJuIHRoaXMuX2NoYW5nZVN5bWJvbENhbGxiYWNrfHw9YXN5bmMgZT0+e2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGk9dC5zeW1ib2woKSxzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnNob3J0TmFtZS52YWx1ZSgpLG89Im9wdGlvbiI9PT10LnN5bWJvbEluZm8oKT8udHlwZSxuPXQuc3ltYm9sSW5mbygpPy5wcm9fbmFtZTtsZXQgYT10LmlzU3ByZWFkKCk/aTpzfHxpfHwiIjtpZigoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpJiZvJiZuKXtjb25zdCBlPWF3YWl0KDAsS2UucmVzb2x2ZVVuZGVybHlpbmdTeW1ib2wpKG4pO2UmJihhPXt0eXBlOiJvcHRpb24iLHZhbHVlOm4sdW5kZXJseWluZzplfSl9KDAsUmUuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZTphLGVuYWJsZU9wdGlvbnNDaGFpbjooMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLG9uQ2xvc2U6ZSxzZWFyY2hUeXBlOiJjaGFydF9zdGF0dXNfbGluZSIsdHJhY2tSZXN1bHRzT3B0aW9uczp7dHJhY2tSZXN1bHRzOiEoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSxlbXB0eVNlYXJjaFR5cGU6ImVtcHR5X3Jlc3VsdF9fc3VwZXJjaGFydHMifX0pfX1fZ2V0Q2hhbmdlUmVzb2x1dGlvbkNhbGxiYWNrKCl7aWYoZnQmJiEoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkaXNhYmxlX2xlZ2VuZF9pbnBsYWNlX3Jlc29sdXRpb25fY2hhbmdlIikpcmV0dXJuIHRoaXMuX2NoYW5nZVJlc29sdXRpb25DYWxsYmFja3x8PWU9PnsoMCxOZS5zaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2dBc3luYykoe2luaXRWYWw6dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmludGVydmFsKCksc2VsZWN0T25Jbml0OiEwLG9uQ2xvc2U6ZX0pfX1fY3JlYXRlQWN0aW9ucygpe2lmKHd0JiZ0aGlzLl9vcHRpb25zLnN5bWJvbE1hcmtlckVuYWJsZWQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5jbGFzc0xpc3QuYWRkKGNlLm1hcmtlckNvbnRhaW5lciksdGhpcy5fc3ltYm9sTWFya2VySWNvbj1lLHRoaXMuX3N5bWJvbEFjdGlvbj17aWNvbjplLGFjdGlvbjp0aGlzLl9zeW1ib2xBY3Rpb25IYW5kbGVyLmJpbmQodGhpcyksdmlzaWJsZTpuZXcgci5XYXRjaGVkVmFsdWUoITApLGNsYXNzTmFtZTpjZS5mbGFnLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRNYXJrZXJUaXRsZSgpKSxkYXRhUWFJZDoibGVnZW5kLWZsYWctYWN0aW9uIn0sdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX3N5bWJvbEFjdGlvbil9aWYoQ3QmJnRoaXMuX2lzTGF5b3V0Q2hhcnRTeW5jVmlzaWJsZSYmKHRoaXMuX2xheW91dENoYXJ0U3luY0xlZ2VuZFJlbmRlcmVyPW5ldyBRZSh7bGlua2luZ0dyb3VwSW5kZXg6dGhpcy5fbW9kZWwubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpLnJlYWRvbmx5KCksc2V0TGlua2luZ0dyb3VwSW5kZXg6ZT0+dGhpcy5fbW9kZWwuc2V0TGlua2luZ0dyb3VwSW5kZXgoZSksaXNMaW5raW5nQXZhaWxhYmxlOnRoaXMuX2lzTGF5b3V0Q2hhcnRTeW5jVmlzaWJsZSxvbkNsaWNrSGFuZGxlcjooKT0+dGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpfSksdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX2xheW91dENoYXJ0U3luY0xlZ2VuZFJlbmRlcmVyLmdldEFjdGlvbigpKSksU3Qpe2NvbnN0IGU9KDAsUGUuY29udmVydFByb3BlcnR5VG9XYXRjaGVkVmFsdWUpKCgwLEhlLmNvbWJpbmVQcm9wZXJ0eSkoKGU9PiFlKSx0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUud2Vha1JlZmVyZW5jZSgpKSksdD17aWNvbjpuZXcgTWFwKFtbImxhcmdlIixjdF0sWyJzbWFsbCIsdXRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSh0aGlzLm9uVG9nZ2xlRGlzYWJsZWQuYmluZCh0aGlzKSksdmlzaWJsZTplLGNsYXNzTmFtZTpjZS5leWUsdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEV5ZVRpdGxlKCkpLGRhdGFRYUlkOiJsZWdlbmQtc2hvdy1oaWRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9kaXNhYmxlZC5zdWJzY3JpYmUoKCgpPT57dC50aXRsZT8uc2V0VmFsdWUodGhpcy5fZ2V0RXllVGl0bGUoKSl9KSl9e2NvbnN0IGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKTt0aGlzLl9hY3Rpb25zLnB1c2goe2ljb246bmV3IE1hcChbWyJsYXJnZSIscHRdLFsic21hbGwiLGh0XV0pLGFjdGlvbjp0PT57ZS5zZXRWYWx1ZSghMCksdGhpcy5fbW9yZUFjdGlvbkhhbmRsZXIodCwoKCk9PmUuc2V0VmFsdWUoITEpKSl9LHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKCEwKSxhY3RpdmU6ZS5yZWFkb25seSgpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShfdCksZGF0YVFhSWQ6ImxlZ2VuZC1tb3JlLWFjdGlvbiJ9KX19X2dldE1hcmtlclRpdGxlKCl7CnJldHVybiBudWxsIT09dGhpcy5fc3ltYm9sTWFya2VyP3RoaXMuX3N5bWJvbE1hcmtlci5pc01hcmtlZCgpP210Omd0OiIifV9zeW1ib2xBY3Rpb25IYW5kbGVyKGUpeygwLEkucHJldmVudERlZmF1bHQpKGUpLG51bGwhPT10aGlzLl9zeW1ib2xNYXJrZXImJih0aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKSxlIGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCYmdGhpcy5fc3ltYm9sTWFya2VyLnRvZ2dsZShlKSxPKCJDaGFuZ2UgZmxhZyBzdGF0ZSIpKX1fdXBkYXRlU3ltYm9sTWFya2VyKCl7aWYod3QmJnRoaXMuX29wdGlvbnMuc3ltYm9sTWFya2VyRW5hYmxlZCl7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEFjdGlvbiksdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbE1hcmtlckljb24pLGk9dGhpcy5fbW9kZWwubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5wcm9fbmFtZT8/dGhpcy5fbW9kZWwubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sKCk7dGhpcy5fc3ltYm9sTWFya2VyP3RoaXMuX3N5bWJvbEZvck1hcmtlciE9PWkmJih0aGlzLl9zeW1ib2xNYXJrZXIuYmluZFRvKGksdCksdGhpcy5fc3ltYm9sRm9yTWFya2VyPWkpOih0aGlzLl9zeW1ib2xNYXJrZXI9KDAsamUuY3JlYXRlU3ltYm9sTWFya2VyU3RhbmRhbG9uZSkoe3N5bWJvbDppLGNvbnRhaW5lcjp0LHNwZWNpYWxJbWFnZTpYZSxjbGFzc05hbWU6Y2UuZmxhZ1dyYXBwZXIsb25NYXJrZWRDaGFuZ2VkOigpPT50aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKX0pLHRoaXMuX3N5bWJvbEZvck1hcmtlcj1pKSx0aGlzLl9mbGFnZ2VkLnNldFZhbHVlKHRoaXMuX3N5bWJvbE1hcmtlci5pc01hcmtlZCgpKTsoMCxuLmVuc3VyZURlZmluZWQpKGUudGl0bGUpLnNldFZhbHVlKHRoaXMuX2dldE1hcmtlclRpdGxlKCkpfWVsc2UgdGhpcy5faXNPbmVCdXR0b25DYW5CZVN0aWNrPSEwfX12YXIgTHQ9aSg5NTY0MzcpLE10PWkoMjkxMTI5KSxUdD1pKDk0NzE2KSxWdD1pKDQ2MDU0NCksa3Q9aSg1NDA1ODgpO3ZhciBBdD1pKDYxNDM4MCksV3Q9aSgyMzczNjkpLEl0PWkoNTc3OTk2KSxCdD1pKDIzNDk2NCksSHQ9aSg3NDI0MTUpLER0PWkoNjk4NTkwKSxQdD1pKDE0NTA5MCksTnQ9aSg4NTI2NzMpLFJ0PWkoNTYzODg2KSxPdD1pKDcyMDUyNSk7Y29uc3QgRnQ9KDAsbHQuZ2V0TG9nZ2VyKSgiQ2hhcnQuTGVnZW5kV2lkZ2V0IiksenQ9UC50KG51bGwsdm9pZCAwLGkoNzMwNTg2KSksanQ9UC50KG51bGwsdm9pZCAwLGkoNzkzNDAyKSksVXQ9UC50KG51bGwsdm9pZCAwLGkoOTExMjYpKSxHdD1QLnQobnVsbCx2b2lkIDAsaSgzOTQ5NDcpKSxadD1QLnQobnVsbCx2b2lkIDAsaSgyODgyNDQpKSxKdD1QLnQobnVsbCx2b2lkIDAsaSgyNjY1KSksWXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiKSxxdD0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIpLCR0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIiksUXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZm9ybWF0X2J1dHRvbl9pbl9sZWdlbmQiKSxLdD0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIpLFh0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImxlZ2VuZF9pbnBsYWNlX2VkaXQiKSxlaT0hKDAsemUuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uYXRpdmVfc3ltYm9sX3NlYXJjaF9vbl90YXBfaW5fbGVnZW5kIik7Y2xhc3MgdGkgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKGUsdCxpLHMsbyl7c3VwZXIoZSx0LGkscyxvKSx0aGlzLl9lcnJvcj1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGVJbm5lcj1uZXcgci5XYXRjaGVkVmFsdWUoITEpLnNwYXduKCksdGhpcy5fcGluZUFjdGlvbj1udWxsLHRoaXMuX3BpbmVBY3Rpb25WaXNpYmxlPW51bGwsdGhpcy5fZ2xvYmFsVmlzaWJpbGl0eT1uZXcgci5XYXRjaGVkVmFsdWUoITApLHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29Nb2RlbCgpLHRoaXMuX2NyZWF0ZUFjdGlvbnMoKTtjb25zdCBuPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCksYT1bbi5zaG93U2VyaWVzVGl0bGUsbi5zaG93U3R1ZHlUaXRsZXNdO2Zvcihjb25zdCBlIG9mIGEpZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9pc1RpdGxlSGlkZGVuLnNldFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSl9KSk7Y29uc3QgbD1bbi5zaG93U2VyaWVzT0hMQyxuLnNob3dCYXJDaGFuZ2Usbi5zaG93U3R1ZHlWYWx1ZXMsbi5zaG93TGFzdERheUNoYW5nZSxuLnNob3dTZXJpZXNMZWdlbmRDbG9zZU9uTW9iaWxlXTtmb3IoY29uc3QgZSBvZiBsKWUuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5faXNWYWx1ZXNIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKSl9KSk7dGhpcy51cGRhdGUoKSx5ZS5zdWJzY3JpYmUoSXQuVFZfU0NSSVBUX0RFTEVURUQsdGhpcy51cGRhdGUsdGhpcyksdGhpcy5fdXBkYXRlQWJsZVNob3dTb3VyY2VDb2RlKCl9ZGVzdHJveSgpe3N1cGVyLmRlc3Ryb3koKTtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7ZS5zaG93U2VyaWVzVGl0bGUudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U3R1ZHlUaXRsZXMudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U2VyaWVzT0hMQy51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnNob3dCYXJDaGFuZ2UudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U3R1ZHlWYWx1ZXMudW5zdWJzY3JpYmVBbGwodGhpcyksCmUuc2hvd0xhc3REYXlDaGFuZ2UudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U2VyaWVzTGVnZW5kQ2xvc2VPbk1vYmlsZS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyLmRlc3Ryb3koKSx5ZS51bnN1YnNjcmliZShJdC5UVl9TQ1JJUFRfREVMRVRFRCx0aGlzLnVwZGF0ZSx0aGlzKX1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvci5yZWFkb25seSgpfWlzQWJsZVNob3dTb3VyY2VDb2RlKCl7cmV0dXJuIHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlfW9uUmVtb3ZlU291cmNlKCl7aWYodGhpcy5fc291cmNlLmlzVXNlckRlbGV0YWJsZSgpKXtpZigoMCxMdC5pc1N0dWR5KSh0aGlzLl9zb3VyY2UpJiZ0aGlzLl9zb3VyY2UuaGFzQ2hpbGRyZW4oKSl7Y29uc3QgZT10aGlzLl9zb3VyY2UuZ2V0QWxsQ2hpbGRyZW4oKS5tYXAoKGU9PmUubmFtZSghMCkpKTsoMCxNdC5zaG93RGVsZXRlU3R1ZHlUcmVlQ29uZmlybSkoZSx0aGlzLl9tb2RlbC5yZW1vdmVTb3VyY2UuYmluZCh0aGlzLl9tb2RlbCx0aGlzLl9zb3VyY2UsITEpKX1lbHNlIHRoaXMuX21vZGVsLnJlbW92ZVNvdXJjZSh0aGlzLl9zb3VyY2UsITEpO08oIlJlbW92ZSBzb3VyY2VzIil9fWFzeW5jIG9uU2hvd1NvdXJjZUNvZGUoKXt7Y29uc3QgZT10aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbD8uKCk/P1Byb21pc2UucmVzb2x2ZShudWxsKTtpZihlKXRyeXtjb25zdCB0PWF3YWl0IGU7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0Py5pc0FibGVTaG93U291cmNlQ29kZSgpLnZhbHVlKCkmJih0LnNob3dQaW5lU291cmNlQ29kZSgpLE8oIk9wZW4gc291cmNlIGNvZGUgZm9yIHBpbmUgc2NyaXB0cyIpKX1jYXRjaChlKXtGdC5sb2dFcnJvcihgJHtlfWApLCgwLEJ0LnNob3dXYXJuaW5nKSh7dGl0bGU6UC50KG51bGwsdm9pZCAwLGkoNDg3MjAwKSksdGV4dDpQLnQobnVsbCx2b2lkIDAsaSg2NDUyNjMpKSxidXR0b25UZXh0OlAudChudWxsLHZvaWQgMCxpKDExMTg5OCkpfSl9fX1zZXRHbG9iYWxWaXNpYmlsaXR5KGUpe3RoaXMuX2dsb2JhbFZpc2liaWxpdHkuc2V0VmFsdWUoZSl9Z2xvYmFsVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9nbG9iYWxWaXNpYmlsaXR5LnJlYWRvbmx5KCl9Z2V0RnVsbFRpdGxlKCl7cmV0dXJuIHRoaXMuX3RpdGxlcy52YWx1ZSgpLm1hcCgoZT0+aihlKT9lLml0ZW1zLm1hcCgoZT0+ZS50aXRsZSkpLmpvaW4oIiAiKTplLnRpdGxlKSkuam9pbigiICIpfWdldFNvdXJjZSgpe3JldHVybiB0aGlzLl9zb3VyY2V9X3VwZGF0ZVRpdGxlcygpe2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zb3VyY2Uuc3RhdHVzVmlldygpKSx0PWUuZ2V0U3BsaXRUaXRsZSgpLGk9W10scz10aGlzLl9nZXRDaGFuZ2VTeW1ib2xDYWxsYmFjaygpO2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IHM9KDAsT2UuY2xlYW4pKHRbMF0sITApOyIiIT09cyYmaS5wdXNoKHt0aXRsZTpzLGlkOjcsdG9vbHRpcDplLnRpdGxlVG9vbHRpcCgpfSl9ZWxzZSBpLnB1c2goLi4uZnVuY3Rpb24oZSx0KXtjb25zdHtjaGFuZ2VTeW1ib2xDYWxsYmFjazppLGNoYW5nZVN5bWJvbFRvb2x0aXA6cyx0aXRsZVRvb2x0aXA6byxpc05hdGl2ZVN5bWJvbFNlYXJjaE9uTW9iaWxlRW5hYmxlZDpufT10O3JldHVybiBGZShlLFt7ZmllbGQ6InRpdGxlIixpZDppPzg6Nyx0b29sdGlwOmk/czpvLGFjdGlvbjppP3tmbjppLGFjdGlvbkFsbG93ZWRPblRvdWNoOm59OnZvaWQgMH0se2ZpZWxkOiJsaXN0ZWRFeGNoYW5nZSIsaWQ6OX0se2ZpZWxkOiJwcmljZVNvdXJjZSIsaWQ6OX1dKX0odCx7Y2hhbmdlU3ltYm9sQ2FsbGJhY2s6cyxjaGFuZ2VTeW1ib2xUb29sdGlwOkp0LHRpdGxlVG9vbHRpcDplLnRpdGxlVG9vbHRpcCgpLGlzTmF0aXZlU3ltYm9sU2VhcmNoT25Nb2JpbGVFbmFibGVkOmVpfSkpO2NvbnN0IG89W107KGUuZ2V0SW5wdXRzVGl0bGVzKCk/P1tdKS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxPZS5jbGVhbikoZS52YWx1ZSwhMCk7IiIhPT10JiZvLnB1c2goe3RpdGxlOnQsdG9vbHRpcDplLnRpdGxlLGlkOjEwfSl9KSksMCE9PW8ubGVuZ3RoJiZpLnB1c2goe2lkOjEwLGl0ZW1zOm99KSx0aGlzLl90aXRsZXMuc2V0VmFsdWUoaSl9X3VwZGF0ZVZhbHVlcygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmxlZ2VuZFZpZXcoKTtpZihudWxsPT09ZSlyZXR1cm47aWYoMD09PWUuaXRlbXMoKS5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7aWYoMD09PXQubGVuZ3RoKXtjb25zdCB0PWUuaXRlbXMoKS5tYXAoKGU9Pih7dmFsdWU6bmV3IHIuV2F0Y2hlZFZhbHVlKGUudmFsdWUoKSksY29sb3I6bmV3IHIuV2F0Y2hlZFZhbHVlKFUoZS5jb2xvcigpKSksdmlzaWJsZTpuZXcgci5XYXRjaGVkVmFsdWUoZS52aXNpYmxlKCkpLHVuaW1wb3J0YW50Om5ldyByLldhdGNoZWRWYWx1ZShlLnVuaW1wb3J0YW50KCkpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShlLnRpdGxlKCkpfSkpKTt0aGlzLl92YWx1ZXMuc2V0VmFsdWUodCl9ZWxzZXtjb25zdCBpPWUuaXRlbXMoKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl7Y29uc3Qgcz10W2VdLG89aVtlXTtzLnZhbHVlLnNldFZhbHVlKG8udmFsdWUoKSkscy5jb2xvci5zZXRWYWx1ZShVKG8uY29sb3IoKSkpLHMudmlzaWJsZS5zZXRWYWx1ZShvLnZpc2libGUoKSkscy50aXRsZS5zZXRWYWx1ZShvLnRpdGxlKCkpfX19X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx2b2lkIDAhPT10aGlzLl9lcnJvciYmdGhpcy5fZXJyb3Iuc2V0VmFsdWUoQm9vbGVhbih0aGlzLl9zb3VyY2UuaXNGYWlsZWQoKSkpfV9nZXRUaXRsZUhpZGRlblZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9pc1N5bWJvbExpa2VTdHVkeSgpPyFlLnNob3dTZXJpZXNUaXRsZS52YWx1ZSgpOiFlLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpfQpfZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKXtyZXR1cm4hKCEoMCxMdC5pc1N0dWR5KSh0aGlzLl9zb3VyY2UpJiYhKDAsTHQuaXNTdHVkeVN0dWIpKHRoaXMuX3NvdXJjZSkpJiYhdGhpcy5fc291cmNlLmlzQWN0dWFsSW50ZXJ2YWwoKX1fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKXtpZighdGhpcy5faGFzVmFsdWVzKCkpcmV0dXJuITA7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9pc1N5bWJvbExpa2VTdHVkeSgpPyFlLnNob3dTZXJpZXNPSExDLnZhbHVlKCkmJiFlLnNob3dCYXJDaGFuZ2UudmFsdWUoKSYmIWUuc2hvd0xhc3REYXlDaGFuZ2UudmFsdWUoKTohZS5zaG93U3R1ZHlWYWx1ZXMudmFsdWUoKX1faXNTeW1ib2xMaWtlU3R1ZHkoKXtyZXR1cm4oMCxMdC5pc0NvbXBhcmVPck92ZXJsYXlTdHVkeSkodGhpcy5fc291cmNlKX1fZ2V0Q2hhbmdlU3ltYm9sQ2FsbGJhY2soKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtpZihYdCYmKDAsa3QuaXNTeW1ib2xTb3VyY2VXaXRoUXVvdGVzUHJvdmlkZXIpKGUpKXJldHVybiB0aGlzLl9jaGFuZ2VTeW1ib2xDYWxsYmFja3x8PWFzeW5jIHQ9Pntjb25zdCBpPWUuc3ltYm9sKCkscz1lLnN5bWJvbEluZm8oKSxvPSgwLHJlLnNhZmVTaG9ydE5hbWUpKGkpLG49InNwcmVhZCI9PT1zPy50eXBlLGE9Im9wdGlvbiI9PT1zPy50eXBlLHI9cz8ucHJvX25hbWU7bGV0IGQ9bj9pOm98fGl8fCIiO2lmKCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIikmJmEmJnIpe2NvbnN0IGU9YXdhaXQoMCxLZS5yZXNvbHZlVW5kZXJseWluZ1N5bWJvbCkocik7ZSYmKGQ9e3R5cGU6Im9wdGlvbiIsdmFsdWU6cix1bmRlcmx5aW5nOmV9KX10cnl7YXdhaXQobmV3IEF0LlN5bWJvbFNlYXJjaFVJKS5zaG93KHtzZXRTeW1ib2w6dD0+e3RoaXMuX21vZGVsLnNldFN5bWJvbChlLHQuc3ltYm9sKX0sZGlhbG9nVGl0bGU6SnQsZGVmYXVsdFZhbHVlOmQsZW5hYmxlT3B0aW9uc0NoYWluOigwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIiksc2hvd1NwcmVhZEFjdGlvbnM6KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19zcHJlYWRfb3BlcmF0b3JzIikmJigwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN0dWRpZXNfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIiksb25DbG9zZTp0LHNlYXJjaFR5cGU6ImNoYXJ0X3N0YXR1c19saW5lIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9fSl9Y2F0Y2goZSl7RnQubG9nRXJyb3IoYEFub3RoZXIgU3ltYm9sU2VhcmNoVUkgaXMgYWxyZWFkeSBvcGVuZWQgb3IgQ3VzdG9tVUkgcmVqZWN0ZWQgc3ltYm9sIHNlbGVjdGlvbiAkeygwLFd0LmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fX1hc3luYyBfdXBkYXRlQWJsZVNob3dTb3VyY2VDb2RlKCl7aWYoWXQmJnRoaXMuX29wdGlvbnMuY2FuU2hvd1NvdXJjZUNvZGUmJiF0aGlzLl9vcHRpb25zLnJlYWRPbmx5TW9kZSl7Y29uc3QgZT10aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbD8uKCk/P1Byb21pc2UucmVzb2x2ZShudWxsKTtpZihlKXtjb25zdCB0PWF3YWl0IGU7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyLmRlc3Ryb3koKSx0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyPXQ/LmlzQWJsZVNob3dTb3VyY2VDb2RlKCkuc3Bhd24oKT8/bmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5zcGF3bigpLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlSW5uZXIuc3Vic2NyaWJlKChlPT57dGhpcy5fdXBkYXRlVmlzaWJpbGl0eVBpbmVBY3Rpb24oZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSl9fX1fdXBkYXRlVmlzaWJpbGl0eVBpbmVBY3Rpb24oZSl7bnVsbCE9PXRoaXMuX3BpbmVBY3Rpb25WaXNpYmxlJiYodGhpcy5fcGluZUFjdGlvblZpc2libGUuc2V0VmFsdWUoZSksdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUuc2V0VmFsdWUoZSkpfV9jcmVhdGVBY3Rpb25zKCl7aWYoIXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlKXtpZih0aGlzLl9waW5lQWN0aW9uVmlzaWJsZT1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3BpbmVBY3Rpb249e2ljb246bmV3IE1hcChbWyJsYXJnZSIsTnRdLFsic21hbGwiLFB0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblNob3dTb3VyY2VDb2RlLmJpbmQodGhpcykpLGRpc2FibGVBY2Nlc3NpYmlsaXR5OiEwLHZpc2libGU6dGhpcy5fcGluZUFjdGlvblZpc2libGUucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoanQpLGRhdGFRYUlkOiJsZWdlbmQtcGluZS1hY3Rpb24ifSxxdCl7Y29uc3QgZT1uZXcgci5XYXRjaGVkVmFsdWUoIXRoaXMuX2dldERpc2FibGVkT25JbnRlcnZhbFN0YXRlKCkpLHQ9e2ljb246bmV3IE1hcChbWyJsYXJnZSIsY3RdLFsic21hbGwiLHV0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblRvZ2dsZURpc2FibGVkLmJpbmQodGhpcykpLHZpc2libGU6ZS5yZWFkb25seSgpLGNsYXNzTmFtZTpjZS5leWUsdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEV5ZVRpdGxlKCkpLGRhdGFRYUlkOiJsZWdlbmQtc2hvdy1oaWRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9kaXNhYmxlZC5zdWJzY3JpYmUoKCgpPT57dC50aXRsZT8uc2V0VmFsdWUodGhpcy5fZ2V0RXllVGl0bGUoKSl9KSk7e2NvbnN0IHQ9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSxpPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREaXNhYmxlZE9uSW50ZXJ2YWxTdGF0ZSgpKSxzPXsKaWNvbjpuZXcgTWFwKFtbImxhcmdlIixjdF0sWyJzbWFsbCIsdXRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSgoKCk9Pnt0LnNldFZhbHVlKCEwKSx0aGlzLm9uU2hvd1NldHRpbmdzKGF0LlRhYk5hbWVzLnZpc2liaWxpdHksKCgpPT50LnNldFZhbHVlKCExKSkpfSkpLGFjdGl2ZTp0LnJlYWRvbmx5KCksdmlzaWJsZTppLnJlYWRvbmx5KCksY2xhc3NOYW1lOmNlLmludGVydmFsRXllLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShadCksZGF0YVFhSWQ6ImxlZ2VuZC1pbnRlcnZhbC1zaG93LWhpZGUtYWN0aW9uIn07dGhpcy5fYWN0aW9ucy5wdXNoKHMpLHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC5zdWJzY3JpYmUoKHQ9PntpLnNldFZhbHVlKHQpLGUuc2V0VmFsdWUoIXQpfSkpfX1pZigkdCYmUXQmJighKDAsTHQuaXNTdHVkeSkodGhpcy5fc291cmNlKXx8bmV3IFR0Lk1ldGFJbmZvSGVscGVyKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpKS5oYXNVc2VyRWRpdGFibGVPcHRpb25zKFZ0LmlzQ3VzdG9tU3R1ZHkpKSl7Y29uc3QgZT1uZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0SXNFZGl0YWJsZSgpKSx0PW5ldyByLldhdGNoZWRWYWx1ZSghMSksaT17aWNvbjpuZXcgTWFwKFtbImxhcmdlIixEdF0sWyJzbWFsbCIsSHRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSgoKCk9Pnt0LnNldFZhbHVlKCEwKSx0aGlzLm9uU2hvd1NldHRpbmdzKHZvaWQgMCwoKCk9PnQuc2V0VmFsdWUoITEpKSl9KSksdmlzaWJsZTplLnJlYWRvbmx5KCksYWN0aXZlOnQucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoenQpLGRhdGFRYUlkOiJsZWdlbmQtc2V0dGluZ3MtYWN0aW9uIn07dGhpcy5fYWN0aW9ucy5wdXNoKGkpLHRoaXMuX2lzRWRpdGFibGUuc3Vic2NyaWJlKCh0PT57ZS5zZXRWYWx1ZSh0KX0pKX1pZigoKDAsTHQuaXNTdHVkeSkodGhpcy5fc291cmNlKXx8KDAsTHQuaXNTdHVkeVN0dWIpKHRoaXMuX3NvdXJjZSkpJiZZdCYmdGhpcy5fb3B0aW9ucy5jYW5TaG93U291cmNlQ29kZSYmdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX3BpbmVBY3Rpb24pLEt0KXtjb25zdCBlPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc0VkaXRhYmxlKCkpLHQ9e2ljb246bmV3IE1hcChbWyJsYXJnZSIsT3RdLFsic21hbGwiLFJ0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblJlbW92ZVNvdXJjZS5iaW5kKHRoaXMpKSx2aXNpYmxlOmUucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoVXQpLGRhdGFRYUlkOiJsZWdlbmQtZGVsZXRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9pc0VkaXRhYmxlLnN1YnNjcmliZSgodD0+e2Uuc2V0VmFsdWUodCl9KSl9e2NvbnN0IGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKTt0aGlzLl9hY3Rpb25zLnB1c2goe2ljb246bmV3IE1hcChbWyJsYXJnZSIscHRdLFsic21hbGwiLGh0XV0pLGFjdGlvbjp0PT57ZS5zZXRWYWx1ZSghMCksdGhpcy5fbW9yZUFjdGlvbkhhbmRsZXIodCwoKCk9PmUuc2V0VmFsdWUoITEpKSl9LHZpc2libGU6dGhpcy5faXNFZGl0YWJsZS5zcGF3bigpLGFjdGl2ZTplLnJlYWRvbmx5KCksdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKEd0KSxkYXRhUWFJZDoibGVnZW5kLW1vcmUtYWN0aW9uIn0pfX19X3VwZGF0ZVN5bWJvbExvZ29Nb2RlbCgpe2lmKHRoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWwudmFsdWUoKT8uZGVzdHJveSgpLCgwLGt0LmlzU3ltYm9sU291cmNlV2l0aFF1b3Rlc1Byb3ZpZGVyKSh0aGlzLl9zb3VyY2UpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCksdD1udChuZXcgZHQodGhpcy5fc291cmNlKSxlKTt0aGlzLl9zeW1ib2xMb2dvVmlld01vZGVsLnNldFZhbHVlKHQpfWVsc2UgdGhpcy5fc3ltYm9sTG9nb1ZpZXdNb2RlbC5zZXRWYWx1ZShudWxsKX19dmFyIGlpPWkoMTI4OTk4KSxzaT1pKDIxNDc3MSksb2k9aSg3NjI4NTEpLG5pPWkoMTY4NzcxKSxhaT1pKDQ3NzE1NSk7ZnVuY3Rpb24gbGkoZSx0LGkpe2Uuc2V0UHJvcGVydHkodCwhdC52YWx1ZSgpLGkpfWNvbnN0IHJpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgZGVzY3JpcHRpb24gdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoNTU1NjY2KSkpLGRpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBvcGVuIG1hcmtldCBzdGF0dXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMTc2MjQ5KSkpLHVpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBjaGFydCB2YWx1ZXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoNTY4NzMwKSkpLGNpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBsYXN0IGRheSBjaGFuZ2UgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMzM1NjgyKSkpLGhpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBiYXIgY2hhbmdlIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDM2Nzg2MCkpKSxwaT1uZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaW5kaWNhdG9yIHRpdGxlcyB2aXNpYmlsaXR5IixQLnQobnVsbCx2b2lkIDAsaSgzMjA0MjYpKSksX2k9bmV3IE4uVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGluZGljYXRvciBpbnB1dHMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMzM1MzMpKSksZ2k9bmV3IE4uVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGluZGljYXRvciB2YWx1ZXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMjE1MDI3KSkpLG1pPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSB2b2x1bWUgdmFsdWVzIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDUyMTY0KSkpLGJpPShuZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2Ugc3ltYm9sIGZpZWxkIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDY2ODE5MikpKSwKUC50KG51bGwsdm9pZCAwLGkoNjg3NjEpKSksdmk9UC50KG51bGwsdm9pZCAwLGkoMTY1MzQwKSksZmk9UC50KG51bGwsdm9pZCAwLGkoMjg4NTgwKSksU2k9UC50KG51bGwsdm9pZCAwLGkoNTI3MDIwKSkseWk9UC50KG51bGwsdm9pZCAwLGkoODk5NzkpKSx3aT1QLnQobnVsbCx2b2lkIDAsaSgyNDcwNjIpKSxDaT1QLnQobnVsbCx2b2lkIDAsaSg0NDMxOTIpKSxFaT1QLnQobnVsbCx2b2lkIDAsaSgyMDQ0ODgpKSx4aT1QLnQobnVsbCx2b2lkIDAsaSg5NzM5NzEpKSxMaT0oUC50KG51bGwsdm9pZCAwLGkoMjg4NzI1KSksKDAsb2kuYXBwZW5kRWxsaXBzaXMpKFAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSksTWk9KGUsdCk9PmU/ZS5kYXRhc2V0W3RdP2UuZGF0YXNldFt0XTplLnBhcmVudEVsZW1lbnQ/TWkoZS5wYXJlbnRFbGVtZW50LHQpOm51bGw6bnVsbDt2YXIgVGksVmk9aSg3OTQ5NSksa2k9aSg0NDE0NDApLEFpPWkoNjA0Mzg0KTshZnVuY3Rpb24oZSl7ZVtlLkxlZ2VuZD0wXT0iTGVnZW5kIixlW2UuSXRlbXM9MV09Ikl0ZW1zIn0oVGl8fChUaT17fSkpO3ZhciBXaT1pKDk3MDYzNSksSWk9aSg3ODM5NzgpLEJpPWkoNjQyNzgzKSxIaT1pKDM1MTE4MiksRGk9aSg4NjA1NDgpO2NvbnN0IFBpPVAudChudWxsLHZvaWQgMCxpKDkxOTEyMSkpLE5pPVAudChudWxsLHZvaWQgMCxpKDM2Mjk2KSksUmk9UC50KG51bGwsdm9pZCAwLGkoODc5NjYxKSksT2k9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLEJpXSxbIm1lZGl1bSIsSGldLFsibGFyZ2UiLEhpXV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksRmk9bmV3IE1hcChbWyEwLERpLmhhc0Vycm9yXSxbITEsbnVsbF1dKSx6aT1uZXcgTWFwKFtbITAsUGldLFshMSxudWxsXV0pLGppPW5ldyBNYXAoW1shMCxQaV0sWyExLG51bGxdXSksVWk9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKSJdLFshMSxudWxsXV0pLEdpPW5ldyBNYXAoW1shMCxbTmldXSxbITEsbnVsbF1dKSxaaT1uZXcgTWFwKFtbITAsW1JpXV0sWyExLG51bGxdXSk7ZnVuY3Rpb24gSmkoZSl7c3dpdGNoKGUpe2Nhc2UgMDpyZXR1cm4gR2k7Y2FzZSAxOnJldHVybiBaaTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBDb21iaW5lZFN0YXR1c1dpZGdldFR5cGUiKX19dmFyIFlpPWkoOTg5ODcyKSxxaT1pKDkxMzg0Myk7Y29uc3QgJGk9UC50KG51bGwsdm9pZCAwLGkoMjQzNTQxKSksUWk9UC50KG51bGwsdm9pZCAwLGkoNzk1MzMwKSksS2k9UC50KG51bGwsdm9pZCAwLGkoMzYxMDUpKSxYaT1uZXcgTWFwKFtbITAsbmV3IE1hcChbWyJzbWFsbCIsWWldLFsibWVkaXVtIixxaV0sWyJsYXJnZSIscWldXSldLFshMSxuZXcgTWFwKFtbInNtYWxsIiwiIl0sWyJtZWRpdW0iLCIiXSxbImxhcmdlIiwiIl1dKV1dKSxlcz1uZXcgTWFwKFtbITAsRGkudXBkYXRlQXZhaWxhYmxlXSxbITEsbnVsbF1dKSx0cz1uZXcgTWFwKFtbITAsJGldLFshMSxudWxsXV0pLGlzPW5ldyBNYXAoW1shMCwkaV0sWyExLG51bGxdXSksc3M9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbCkiXSxbITEsbnVsbF1dKSxvcz1uZXcgTWFwKFtbITAsW1FpXV0sWyExLG51bGxdXSksbnM9bmV3IE1hcChbWyEwLFtLaV1dLFshMSxudWxsXV0pO2Z1bmN0aW9uIGFzKGUpe3N3aXRjaChlKXtjYXNlIDA6cmV0dXJuIG9zO2Nhc2UgMTpyZXR1cm4gbnM7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gQ29tYmluZWRTdGF0dXNXaWRnZXRUeXBlIil9fWNsYXNzIGxzIGV4dGVuZHMgSWkuU3RhdHVzZXNXaWRnZXRTdGF0ZUJhc2V7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KSx0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cz1bXSx0aGlzLl9oYXNFcnJvclN0YXR1cz1udWxsLHRoaXMuX2hhc1VwZGF0ZVN0YXR1cz1udWxsLHRoaXMuX2hhc0Vycm9yVmlld01vZGVsPW51bGwsdGhpcy5faGFzVXBkYXRlVmlld01vZGVsPW51bGwsdGhpcy5fdXBkYXRlVmlzaWJpbGl0eT0oKT0+e2NvbnN0IGU9MD09PXRoaXMudmlzaWJsZU1vZGVscygpLnZhbHVlKCkubGVuZ3RoO3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoIWUpfSx0aGlzLl90eXBlPWV9ZGVzdHJveSgpe3RoaXMuX2hhc0Vycm9yVmlld01vZGVsPy5kZXN0cm95KCksdGhpcy5faGFzVXBkYXRlVmlld01vZGVsPy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfWFkZFN0YXR1c1dpZGdldChlKXt0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cy5wdXNoKGUpLHRoaXMuX3JlY3JlYXRlSGFzRXJyb3JTdGF0dXMoKSx0aGlzLl9yZWNyZWF0ZUhhc1VwZGF0ZVN0YXR1cygpLHRoaXMuX2NyZWF0ZVN0YXR1c2VzV2lkZ2V0U3RhdGVzKCl9Y2xlYXIoKXt0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cz1bXSx0aGlzLl9oYXNFcnJvclN0YXR1cz8uZGVzdHJveSgpLHRoaXMuX2hhc0Vycm9yU3RhdHVzPW51bGwsdGhpcy5faGFzVXBkYXRlU3RhdHVzPy5kZXN0cm95KCksdGhpcy5faGFzVXBkYXRlU3RhdHVzPW51bGwsdGhpcy5fY2xlYXJTdGF0dXNWaWV3TW9kZWxzKCksdGhpcy5faGFzRXJyb3JWaWV3TW9kZWw/LmRlc3Ryb3koKSx0aGlzLl9oYXNFcnJvclZpZXdNb2RlbD1udWxsLHRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbD1udWxsLHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLnNldFZhbHVlKFtdKX1hc3luYyBfY3JlYXRlU3RhdHVzZXNXaWRnZXRTdGF0ZXMoKXtjb25zdCBlPXRoaXMuX2hhc0Vycm9yU3RhdHVzO251bGwhPT1lJiYobnVsbD09PXRoaXMuX2hhc0Vycm9yVmlld01vZGVsPyh0aGlzLl9oYXNFcnJvclZpZXdNb2RlbD1uZXcgV2kuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbChlLHtjbGFzc05hbWVNYXA6RmksaHRtbE1hcDpKaSh0aGlzLl90eXBlKSxpY29uTWFwOk9pLHNpemU6dGhpcy5fc2l6ZSx0aXRsZUNvbG9yTWFwOlVpLHRpdGxlTWFwOmppLHRvb2x0aXBNYXA6eml9KSwKdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsLnZpc2libGUoKS5zcGF3bigpLG1vZGVsOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsfSkpOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsLnVwZGF0ZVN0YXR1cyhlKSk7Y29uc3QgdD10aGlzLl9oYXNVcGRhdGVTdGF0dXM7bnVsbCE9PXQmJihudWxsPT09dGhpcy5faGFzVXBkYXRlVmlld01vZGVsPyh0aGlzLl9oYXNVcGRhdGVWaWV3TW9kZWw9bmV3IFdpLkJvb2xlYW5TdGF0dXNWaWV3TW9kZWwodCx7Y2xhc3NOYW1lTWFwOmVzLGh0bWxNYXA6YXModGhpcy5fdHlwZSksaWNvbk1hcDpYaSxzaXplOnRoaXMuX3NpemUsdGl0bGVDb2xvck1hcDpzcyx0aXRsZU1hcDppcyx0b29sdGlwTWFwOnRzfSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbC52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDp0aGlzLl9oYXNVcGRhdGVWaWV3TW9kZWx9KSk6dGhpcy5faGFzVXBkYXRlVmlld01vZGVsLnVwZGF0ZVN0YXR1cyh0KSl9X3JlY3JlYXRlSGFzRXJyb3JTdGF0dXMoKXt0aGlzLl9oYXNFcnJvclN0YXR1cz8uZGVzdHJveSgpO2NvbnN0IGU9KDAsZC5jb21iaW5lKSgoZT0+dGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMubWFwKChlPT5lLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSkpKSxuZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5faGFzRXJyb3JTdGF0dXM9KDAsZC5hY2N1bXVsYXRlKSgoZT0+ZS5zb21lKChlPT5lKSkpLGUub3duZXJzaGlwKCkpfV9yZWNyZWF0ZUhhc1VwZGF0ZVN0YXR1cygpe3RoaXMuX2hhc1VwZGF0ZVN0YXR1cz8uZGVzdHJveSgpO2NvbnN0IGU9KDAsZC5jb21iaW5lKSgoZT0+dGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMubWFwKChlPT5lLmRhdGFVcGRhdGVkTW9kZVNob3duLndlYWtSZWZlcmVuY2UoKSkpKSxuZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5faGFzVXBkYXRlU3RhdHVzPSgwLGQuYWNjdW11bGF0ZSkoKGU9PmUuc29tZSgoZT0+ZSkpKSxlLm93bmVyc2hpcCgpKX19dmFyIHJzPWkoOTMwNTY2KSxkcz1pKDY2NTE4NyksdXM9aSgyODI3MTApO2NvbnN0IGNzPXtyZWFkT25seU1vZGU6ITEsY29udGV4dE1lbnU6e3NldHRpbmdzOiEwLG1haW5TZXJpZXM6ITAsc3R1ZGllczohMCxzaG93T3Blbk1hcmtldFN0YXR1czohMX0sc3ltYm9sTWFya2VyRW5hYmxlZDohMSxzaG93VG9nZ2xlQnV0dG9uOiEwLGNhblNob3dTb3VyY2VDb2RlOiExLHN0YXR1c2VzV2lkZ2V0czp7c291cmNlU3RhdHVzZXNFbmFibGVkOiExLHNvdXJjZVN0YXR1c2VzOntlcnJvclNvbHV0aW9uOiEwfSxtYXJrZXRTdGF0dXNFbmFibGVkOiExLG1hcmtldFN0YXR1czp7cHJlTWFya2V0U29sdXRpb246ITAscG9zdE1hcmtldFNvbHV0aW9uOiEwfSxkYXRhVXBkYXRlTW9kZUVuYWJsZWQ6ITEsZGF0YVVwZGF0ZU1vZGU6e3N1YnNjcmlwdGlvbkZ1bGxJbmZvOiEwfSxkYXRhUHJvYmxlbUVuYWJsZWQ6ITF9fTt2YXIgaHM7IWZ1bmN0aW9uKGUpe2UuVG9nZ2xlclN0YXRlU2V0dGluZ3NLZXk9ImxlZ2VuZC5pc1Zpc2liaWxpdHlUb2dnbGVkIixlW2UuVGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyTWF4U2l6ZT0xMzJdPSJUZXh0U291cmNlSXNBbHdheXNUaWNrZXJNYXhTaXplIn0oaHN8fChocz17fSkpO2NvbnN0IHBzPSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfbGVnZW5kX2J5X2RlZmF1bHQiKSxfcz0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJmdW5kYW1lbnRhbF93aWRnZXQiKSxncz0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJsZWdlbmRfY29udGV4dF9tZW51IiksbXM9cGFyc2VJbnQodXMuY3NzX3ZhbHVlX2NoYXJ0X2d1aV93cmFwcGVyX2NvbHVtbl9nYXApO2NsYXNzIGJze2NvbnN0cnVjdG9yKGUsdCxpLHMsbixsLGMsaCl7dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbD1udWxsLHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzPVtdLHRoaXMuX3NvdXJjZXNJZHM9W10sdGhpcy5fdmlzaWJsZURhdGFTb3VyY2VDb3VudD1uZXcgci5XYXRjaGVkVmFsdWUoMCksdGhpcy5fdGhlbWVkQ29sb3I9bmV3IHIuV2F0Y2hlZFZhbHVlKCIiKSx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuPW51bGwsdGhpcy5fZGF0YVNvdXJjZVJvd3NIaWRkZW49W10sdGhpcy5fY3VzdG9tV2lkZ2V0c1Zpc2liaWxpdGllcz1bXSx0aGlzLl9hbGxMZWdlbmRIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zdHVkaWVzTGVnZW5kSGlkZGVuPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3I9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9kYXRhU291cmNlc0xvYWRpbmdTdGF0dXNlcz1uZXcgci5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX2N1c3RvbVdpZGdldHNIZWlnaHRzPVtdLHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQ9bnVsbCx0aGlzLl9hdmFpbGFibGVIZWlnaHQ9MCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50PW5ldyByLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1RpdGxlPW5ldyByLldhdGNoZWRWYWx1ZSgiIiksdGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9bnVsbCx0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9W10sdGhpcy5fc3RhdHVzUHJvdmlkZXJzPW5ldyBNYXAsdGhpcy5fc2l6ZT1udWxsLHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3JpZXNNYXA9bmV3IE1hcCx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwPW5ldyBNYXAsdGhpcy5fbWFyZ2luPTAsdGhpcy5fbGF5b3V0Q2hhbmdlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhbmVXaWRnZXQ9dCx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKGNzKSxjKSwKdGhpcy5fY2FsbGJhY2tzPWgsdGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbHNPcHRpb25zPXtyZWFkT25seU1vZGU6dGhpcy5fb3B0aW9ucy5yZWFkT25seU1vZGUsc3ltYm9sTWFya2VyRW5hYmxlZDp0aGlzLl9vcHRpb25zLnN5bWJvbE1hcmtlckVuYWJsZWR9LHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzT3B0aW9ucz17Li4udGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbHNPcHRpb25zLGNhblNob3dTb3VyY2VDb2RlOnRoaXMuX29wdGlvbnMuY2FuU2hvd1NvdXJjZUNvZGV9LHRoaXMuX2JhY2tncm91bmRUaGVtZU5hbWU9aTtjb25zdCBwPXRoaXMuX3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKTtpZih0aGlzLl9pc0RhdGFTb3VyY2VzQ29sbGFwc2VkPW5ldyByLldhdGNoZWRWYWx1ZShwLnZhbHVlKCkpLHAuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5faXNEYXRhU291cmNlc0NvbGxhcHNlZC5zZXRWYWx1ZShwLnZhbHVlKCkpfSkpLHBzJiYhcnMuZ2V0Qm9vbCgibGVnZW5kLmlzVmlzaWJpbGl0eVRvZ2dsZWQiKSl7Y29uc3QgZT10aGlzLl9zaG93TGVnZW5kT3JpZ2luYWxQcm9wZXJ0eSgpO3RoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQ9dGhpcy5fc2V0TGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQuYmluZCh0aGlzKSxlLnNldFZhbHVlKCExKSxlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQpfWNvbnN0IF89bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCkpLGc9dGhpcy5fbW9kZWwubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7Zy5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci5zdWJzY3JpYmUodGhpcywoKCk9PntfLnNldFZhbHVlKHRoaXMuX2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCkpfSkpO2NvbnN0IG09Zy5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dCYWNrZ3JvdW5kLGI9bmV3IHIuV2F0Y2hlZFZhbHVlKG0udmFsdWUoKSk7bS5zdWJzY3JpYmUodGhpcywoKCk9PntiLnNldFZhbHVlKG0udmFsdWUoKSl9KSk7Y29uc3Qgdj1nLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZFRyYW5zcGFyZW5jeSxmPW5ldyByLldhdGNoZWRWYWx1ZSh2LnZhbHVlKCkpO3Yuc3Vic2NyaWJlKHRoaXMsKCgpPT57Zi5zZXRWYWx1ZSh2LnZhbHVlKCkpfSkpLHRoaXMuX2hpZGVOb3RNYWluU291cmNlcz1zLHRoaXMuX2hpZGVOb3RNYWluU291cmNlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGVnZW5kVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmU9bix0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnN1YnNjcmliZSh0aGlzLl91cGRhdGVDb2xsYXBzZWRTb3VyY2VzTW9kZS5iaW5kKHRoaXMpKSx0aGlzLl9oaWRlV2hvbGVMZWdlbmQ9bCx0aGlzLl9oaWRlV2hvbGVMZWdlbmQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdGllcy5iaW5kKHRoaXMpKSx0aGlzLl9pc1BhbmVNYWluPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc1BhbmVNYWluVmFsdWUoKSksdGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGVUaHJvdHRsZT0oMCxvLmRlZmF1bHQpKHRoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNNb2RlLmJpbmQodGhpcyksMTAwKSx0aGlzLl9pc1BhbmVNYWluLnN1YnNjcmliZSgoZT0+dGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3Iuc2V0VmFsdWUoZSkpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlPW5ldyBscygxLHRoaXMuX29wdGlvbnMuc3RhdHVzZXNXaWRnZXRzKSx0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZT1uZXcgbHMoMCx0aGlzLl9vcHRpb25zLnN0YXR1c2VzV2lkZ2V0cyksdGhpcy5faGFzTG9hZGluZ0RhdGFTb3VyY2VzPSgwLGQuYWNjdW11bGF0ZSkoKChlLHQpPT57Y29uc3QgaT1lLnNvbWUoQm9vbGVhbik7cmV0dXJuW2ksISFpJiZlLmluY2x1ZGVzKCEwLC10KV19KSx0aGlzLl9kYXRhU291cmNlc0xvYWRpbmdTdGF0dXNlcy53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNDb3VudC53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3JlbmRlcmVyPW5ldyBCZSh7aXNNdWx0aXBsZUxheW91dDp0aGlzLl9tb2RlbC5pc011bHRpcGxlTGF5b3V0KCksd2l0aEFjdGlvbnM6IXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlLHNob3dUb2dnbGVCdXR0b246dGhpcy5fb3B0aW9ucy5zaG93VG9nZ2xlQnV0dG9uLGlzU3R1ZGllc0xlZ2VuZEhpZGRlbjp0aGlzLl9zdHVkaWVzTGVnZW5kSGlkZGVuLnJlYWRvbmx5KCksaXNBbGxMZWdlbmRIaWRkZW46dGhpcy5fYWxsTGVnZW5kSGlkZGVuLnJlYWRvbmx5KCksY3VzdG9tVGV4dENvbG9yOl8ucmVhZG9ubHkoKSx0aGVtZWRDb2xvcjp0aGlzLl90aGVtZWRDb2xvci5yZWFkb25seSgpLHNob3dCYWNrZ3JvdW5kOmIucmVhZG9ubHkoKSxiYWNrZ3JvdW5kVHJhbnNwYXJlbmN5OmYucmVhZG9ubHkoKSxjb2xsYXBzZWREYXRhU291cmNlc0NvdW50OnRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnQucmVhZG9ubHkoKSxjb2xsYXBzZWREYXRhU291cmNlc1RpdGxlOnRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUucmVhZG9ubHkoKSxjb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGU6dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZSxzaG93TGVnZW5kV2lkZ2V0Q29udGV4dE1lbnU6dGhpcy5vblNob3dMZWdlbmRXaWRnZXRDb250ZXh0TWVudS5iaW5kKHRoaXMpLGhpZGVBbGxFeGNlcHRGaXJzdExpbmU6dGhpcy5faGlkZUFsbEV4Y2VwdEZpcnN0TGluZSxvbkxlZ2VuZFJvd0ZvY3VzZWQ6dGhpcy5fY2FsbGJhY2tzLm9uTGVnZW5kUm93Rm9jdXNlZCxvbkxheW91dENoYW5nZWQ6dGhpcy5fbGF5b3V0Q2hhbmdlZCxoYXNMb2FkaW5nRGF0YVNvdXJjZXM6dGhpcy5faGFzTG9hZGluZ0RhdGFTb3VyY2VzfSx7CnNob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yOnRoaXMuX3Nob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yLnJlYWRvbmx5KCksdmlzaWJsZURhdGFTb3VyY2VDb3VudDp0aGlzLl92aXNpYmxlRGF0YVNvdXJjZUNvdW50LnJlYWRvbmx5KCksaXNEYXRhU291cmNlc0NvbGxhcHNlZDp0aGlzLl9pc0RhdGFTb3VyY2VzQ29sbGFwc2VkLnJlYWRvbmx5KCksaGFzTG9hZGluZ0RhdGFTb3VyY2VzOnRoaXMuX2hhc0xvYWRpbmdEYXRhU291cmNlcyxpc01haW5QYW5lOnRoaXMuX2lzUGFuZU1haW4ucmVhZG9ubHkoKSxvbkNvbGxhcHNlRGF0YVNvdXJjZXM6dGhpcy5vbkNvbGxhcHNlRGF0YVNvdXJjZXMuYmluZCh0aGlzKSxvblNob3dPYmplY3RzVHJlZURpYWxvZzp0aGlzLl9jYWxsYmFja3Muc2hvd09iamVjdHNUcmVlRGlhbG9nLGlzUGFuZUNvbGxhcHNlZDp0aGlzLl9wYW5lV2lkZ2V0LnZpc3VhbGx5Q29sbGFwc2VkKCksY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlOnRoaXMuX3RvZ2dsZWRTdGF0dXNlc1dpZGdldFN0YXRlfSl9ZGVzdHJveSgpe3RoaXMuX2hhc0xvYWRpbmdEYXRhU291cmNlcy5kZXN0cm95KCksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZS5yZWxlYXNlKCksdGhpcy5faGlkZU5vdE1haW5Tb3VyY2VzLnJlbGVhc2UoKSx0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnJlbGVhc2UoKSx0aGlzLl9oaWRlV2hvbGVMZWdlbmQucmVsZWFzZSgpLHRoaXMuX3NvdXJjZXNJZHM9W10sbnVsbCE9PXRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwmJnRoaXMuX2Rlc3Ryb3lNYWluRGF0YVNvdXJjZSgpO2Zvcihjb25zdFssZV1vZiB0aGlzLl9zdGF0dXNQcm92aWRlcnMpZS5kZXN0cm95KCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMpZS5kZXN0cm95KCk7dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHM9W10sdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS5kZXN0cm95KCksdGhpcy5fdG9nZ2xlZFN0YXR1c2VzV2lkZ2V0U3RhdGUuZGVzdHJveSgpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcyllLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9W10sdGhpcy5fY2xlYXJTdWJzY3JpcHRpb25zKCk7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmtleXMoKSkpdGhpcy5fZGVzdHJveUN1c3RvbVdpZGdldEZyb21MYXllckJsb2NrKGUpO3RoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNNYXAuY2xlYXIoKSx0aGlzLl9yZW5kZXJlci5kZXN0cm95KCksZGVsZXRlIHRoaXMuX3JlbmRlcmVyLHRoaXMuX3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9zaG93TGVnZW5kT3JpZ2luYWxQcm9wZXJ0eSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpO2NvbnN0IGU9dGhpcy5fbW9kZWwubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7ZS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0JhY2tncm91bmQudW5zdWJzY3JpYmVBbGwodGhpcyksZS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmRUcmFuc3BhcmVuY3kudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fZGF0YVNvdXJjZXNMb2FkaW5nU3RhdHVzZXMuc2V0VmFsdWUoW10pfWFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl7Y29uc3QgaT10aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yaWVzTWFwLmdldCh0LmJsb2NrKXx8bmV3IE1hcCxzPWkuZ2V0KHQucG9zaXRpb24pfHxbXTtzLnB1c2goZSksaS5zZXQodC5wb3NpdGlvbixzKSx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yaWVzTWFwLnNldCh0LmJsb2NrLGkpLHRoaXMudXBkYXRlTGF5b3V0KCksdGhpcy5fdXBkYXRlQ3VzdG9tV2lkZ2V0TW9kZUJ5U2l6ZSgpfW9uU2hvd0xlZ2VuZFdpZGdldENvbnRleHRNZW51KGUsdCl7aWYodGhpcy5fb3B0aW9ucy5yZWFkT25seU1vZGV8fCFncylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7TygiU2hvdyBsZWdlbmQgY29udGV4dCBtZW51Iik7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20odGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5rZXlzKCkpKXtjb25zdCB0PSgwLG4uZW5zdXJlRGVmaW5lZCkodGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5nZXQoZSkpLHM9bmV3IE1hcDtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHQua2V5cygpKSl7Y29uc3QgaT0oMCxuLmVuc3VyZURlZmluZWQpKHQuZ2V0KGUpKSxvPXMuZ2V0KGUpfHxbXTtmb3IoY29uc3QgZSBvZiBpKW8ucHVzaCguLi5lLmNvbnRleHRNZW51QWN0aW9ucygpKTtzLnNldChlLG8pfWkuc2V0KGUscyl9cmV0dXJuIGZ1bmN0aW9uKGUsdCxpLHMsbyxuKXtjb25zdCBhPVtdLGw9cy5nZXQoMCk7aWYodm9pZCAwIT09bCl7Y29uc3QgZT1sLmdldCgxKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9Y29uc3Qgcj1lLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7YS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlU3ltYm9sVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U2VyaWVzVGl0bGUudmFsdWUoKSxsYWJlbDpiaSxzdGF0TmFtZToiU2hvdy9IaWRlIFN5bWJvbCIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd1Nlcmllc1RpdGxlLHJpKX19KSksdC5zaG93T3Blbk1hcmtldFN0YXR1cyYmIm1hcmtldCI9PT1lLm1haW5TZXJpZXMoKS5tYXJrZXRTdGF0dXNNb2RlbCgpLnN0YXR1cygpLnZhbHVlKCkmJiEoMCwKaWkuaXNFY29ub21pY1N5bWJvbCkoZS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpKSYmYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlT3Blbk1hcmtldFN0YXR1c1Zpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnNpLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkudmFsdWUoKSxsYWJlbDp2aSxzdGF0TmFtZToiU2hvdy9IaWRlIE9wZW4gbWFya2V0IHN0YXR1cyIsb25FeGVjdXRlOigpPT5saShlLHNpLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHksZGkpfX0pKSxhLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVPaGxjVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U2VyaWVzT0hMQy52YWx1ZSgpLGxhYmVsOmZpLHN0YXROYW1lOiJTaG93L0hpZGUgY2hhcnQgdmFsdWVzIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93U2VyaWVzT0hMQyx1aSl9fSkpO2NvbnN0IGQ9ZS5tYWluU2VyaWVzKCkuc3R5bGUoKSx1PTEyIT09ZCYmMjAhPT1kO2lmKHUmJiFuaS5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZSYmYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlQmFyQ2hhbmdlVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93QmFyQ2hhbmdlLnZhbHVlKCksbGFiZWw6eWksc3RhdE5hbWU6IlNob3cvSGlkZSBCYXIgQ2hhbmdlIFZhbHVlcyIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd0JhckNoYW5nZSxoaSl9fSkpLGEucHVzaChuZXcgSmUuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTGVnZW5kLlRvZ2dsZVZvbHVtZVZpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnIuc2hvd1ZvbHVtZS52YWx1ZSgpLGxhYmVsOndpLHN0YXROYW1lOiJTaG93L0hpZGUgVm9sdW1lIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93Vm9sdW1lLG1pKX19KSksdSYmKG5pLmxhc3REYXlDaGFuZ2VBdmFpbGFibGV8fG5pLmFsd2F5c1Nob3dMYXN0UHJpY2VBbmRMYXN0RGF5Q2hhbmdlKSl7Y29uc3QgdD1uaS5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZT9yLnNob3dCYXJDaGFuZ2U6ci5zaG93TGFzdERheUNoYW5nZTthLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVMYXN0RGF5Q2hhbmdlVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6dC52YWx1ZSgpLGxhYmVsOlNpLHN0YXROYW1lOiJTaG93L0hpZGUgTGFzdCBkYXkgY2hhbmdlIHZhbHVlcyIsb25FeGVjdXRlOigpPT5saShlLHQsY2kpfX0pKX1pZihhLnB1c2gobmV3IEplLlNlcGFyYXRvciksdm9pZCAwIT09bCl7Y29uc3QgZT1sLmdldCgwKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9Y29uc3QgYz1zLmdldCgxKTtpZih2b2lkIDAhPT1jKXtjb25zdCBlPWMuZ2V0KDEpO3ZvaWQgMCE9PWUmJmUubGVuZ3RoPjAmJihhLnB1c2goLi4uZSksYS5wdXNoKG5ldyBKZS5TZXBhcmF0b3IpKX1pZihlLm1vZGVsKCkucHJpY2VEYXRhU291cmNlcygpLnNvbWUoKGU9PiEoMCxrdC5pc1N5bWJvbFNvdXJjZSkoZSkmJmUuc2hvd0luT2JqZWN0VHJlZSgpKSkmJihhLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVJbmRpY2F0b3JUaXRsZXNWaXNpYmlsaXR5IixvcHRpb25zOntjaGVja2FibGU6ITAsY2hlY2tlZDpyLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpLGxhYmVsOkNpLHN0YXROYW1lOiJTaG93L0hpZGUgSW5kaWNhdG9yIFRpdGxlcyIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd1N0dWR5VGl0bGVzLHBpKX19KSksYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlSW5kaWNhdG9yQXJndW1lbnRzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U3R1ZHlBcmd1bWVudHMudmFsdWUoKSxsYWJlbDpFaSxzdGF0TmFtZToiU2hvdy9IaWRlIEluZGljYXRvciBBcmd1bWVudHMiLG9uRXhlY3V0ZTooKT0+bGkoZSxyLnNob3dTdHVkeUFyZ3VtZW50cyxfaSl9fSkpLGEucHVzaChuZXcgSmUuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTGVnZW5kLlRvZ2dsZUluZGljYXRvclZhbHVlc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnIuc2hvd1N0dWR5VmFsdWVzLnZhbHVlKCksbGFiZWw6eGksc3RhdE5hbWU6IlNob3cvSGlkZSBJbmRpY2F0b3IgVmFsdWVzIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93U3R1ZHlWYWx1ZXMsZ2kpfX0pKSksdm9pZCAwIT09Yyl7Y29uc3QgZT1jLmdldCgwKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9dC5zZXR0aW5ncyYmKGFbYS5sZW5ndGgtMV1pbnN0YW5jZW9mIEplLlNlcGFyYXRvcnx8YS5wdXNoKG5ldyBKZS5TZXBhcmF0b3IpLGEucHVzaChuZXcgYWkuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd0dlbmVyYWxTZXR0aW5ncy5MZWdlbmRUYWIiLG9wdGlvbnM6e2xhYmVsOkxpLGljb25JZDoiU2V0dGluZ3MiLHN0YXROYW1lOiJTZXR0aW5ncy4uLiIsb25FeGVjdXRlOigpPT5pKGF0LlRhYk5hbWVzLmxlZ2VuZCl9fSkpKTtjb25zdCBoPU1pKG8udGFyZ2V0LCJlbnRpdHlJZCIpLHA9e21lbnVOYW1lOiJMZWdlbmRQcm9wZXJ0aWVzQ29udGV4dE1lbnUiLGRldGFpbDp7dHlwZTpoPyJzdHVkeSI6InNlcmllcyIsaWQ6aD8/Il9zZXJpZXNJZCJ9fTtyZXR1cm4gWWUuQ29udGV4dE1lbnVNYW5hZ2VyLnNob3dNZW51KGEsbyx7c3RhdE5hbWU6IkxlZ2VuZENvbnRleHRNZW51In0scCxuKX0odGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudSx0aGlzLl9jYWxsYmFja3Muc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMsaSxlLHQpfQpvbkNvbGxhcHNlRGF0YVNvdXJjZXMoKXtjb25zdCBlPXRoaXMuX3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCk7ZS5zZXRWYWx1ZSghZS52YWx1ZSgpKX11cGRhdGVMYXlvdXQoKXtpZighdGhpcy5fcGFuZVdpZGdldC5oYXNTdGF0ZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXQuc3RhdGUoKS5zb3VyY2VzQnlHcm91cCgpLmxlZ2VuZFZpZXdTb3VyY2VzKCkuZmlsdGVyKChlPT5udWxsIT09ZS5zdGF0dXNWaWV3KCkmJmUuaXNEaXNwbGF5ZWRJbkxlZ2VuZCgpKSkucmV2ZXJzZSgpLHQ9dGhpcy5fc291cmNlc0lkcyxpPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPWUuaW5kZXhPZihpKTtsZXQgbztpZigtMSE9PXMpe2lmKGUuc3BsaWNlKHMsMSksIV9zJiZudWxsPT09dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbCl7Y29uc3QgZT1uZXcgeHQodGhpcy5fbW9kZWwsaSx0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsc09wdGlvbnMsdGhpcy5fY2FsbGJhY2tzLHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnUpO3RoaXMuX21haW5TZXJpZXNWaWV3TW9kZWw9ZTtjb25zdCB0PW5ldyBWaS5NYWluRGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGUodGhpcy5fc3RhdHVzU291cmNlQWRhcHRlcihpKSx0aGlzLl9tb2RlbCx0aGlzLl9vcHRpb25zLnN0YXR1c2VzV2lkZ2V0cyk7dGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9dCxvPXttb2RlbDplLHN0YXR1c2VzV2lkZ2V0U3RhdGU6dH19fWVsc2UgbnVsbCE9PXRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwmJihvPW51bGwsdGhpcy5fZGVzdHJveU1haW5EYXRhU291cmNlKCksdGhpcy5fZGVzdHJveUN1c3RvbVdpZGdldEZyb21MYXllckJsb2NrKDApKTtjb25zdCBhPWUubWFwKChlPT5lLmluc3RhbmNlSWQoKSkpO3RoaXMuX3NvdXJjZXNJZHM9YTtjb25zdCBsPVtdLHI9bmV3IE1hcCxkPVtdLHU9W10sYz10aGlzLl9kYXRhU291cmNlVmlld01vZGVscyxoPXRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcztsZXQgcD10Lmxlbmd0aC0xO2Zvcig7cD49MDspe2NvbnN0IGU9dFtwXSxpPWEuaW5kZXhPZihlKTtpZigtMT09PWkpe2wucHVzaChwKSxjW3BdLmRlc3Ryb3koKSxoW3BdLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX3N0YXR1c1Byb3ZpZGVycy5nZXQoZSk7dCYmKHQuZGVzdHJveSgpLHRoaXMuX3N0YXR1c1Byb3ZpZGVycy5kZWxldGUoZSkpfWVsc2UgcCE9PWkmJihyLnNldChlLHttb2RlbDpjW3BdLHN0YXR1c2VzV2lkZ2V0U3RhdGU6aFtwXX0pLGQucHVzaCh7b2xkSW5kZXg6cCxuZXdJbmRleDppfSkpO3AtLX1jb25zdCBfPVtdLGc9W107Zm9yKGxldCBpPTA7aTxhLmxlbmd0aDtpKyspe2NvbnN0IHM9YVtpXTtsZXQgbyxsO2lmKHIuaGFzKHMpKXtjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkoci5nZXQocykpO289ZS5tb2RlbCxsPWUuc3RhdHVzZXNXaWRnZXRTdGF0ZX1lbHNlIGlmKHRbaV09PT1zKW89Y1tpXSxsPWhbaV07ZWxzZXtjb25zdCB0PWVbaV07bz1uZXcgdGkodGhpcy5fbW9kZWwsdCx0aGlzLl9kYXRhU291cmNlVmlld01vZGVsc09wdGlvbnMsdGhpcy5fY2FsbGJhY2tzLHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnUpLGw9bmV3IGtpLkRhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlKHRoaXMuX3N0YXR1c1NvdXJjZUFkYXB0ZXIodCksdGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucy5zdGF0dXNlc1dpZGdldHMpLHUucHVzaCh7bW9kZWw6byxzdGF0dXNlc1dpZGdldFN0YXRlOmwsaW5kZXg6aX0pfV8ucHVzaChvKSxnLnB1c2gobCl9dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHM9Xyx0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9ZywwPT09dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMubGVuZ3RoJiZ0aGlzLl9kZXN0cm95Q3VzdG9tV2lkZ2V0RnJvbUxheWVyQmxvY2soMSksdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMubGVuZ3RoJiZ0aGlzLl9yZWNhbGN1bGF0ZUxvYWRpbmdEYXRhU291cmNlcygpLHRoaXMuX3JlY3JlYXRlU3Vic2NyaXB0aW9ucygpLHRoaXMuX2lzUGFuZU1haW4uc2V0VmFsdWUodGhpcy5fZ2V0SXNQYW5lTWFpblZhbHVlKCkpLHRoaXMudXBkYXRlKCk7Y29uc3QgbT1sLmxlbmd0aHx8dS5sZW5ndGh8fGQubGVuZ3RoO2lmKCh2b2lkIDAhPT1vfHxtKSYmdGhpcy5fbGF5b3V0Q2hhbmdlZC5maXJlKHtuZXdNYWluU291cmNlOm8scmVtb3ZlZERhdGFTb3VyY2VzOmwsYWRkZWREYXRhU291cmNlczp1LG1vdmVkRGF0YVNvdXJjZXM6ZH0pLC0xIT09cyYmdGhpcy5fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jaygwKSx0aGlzLl9kYXRhU291cmNlVmlld01vZGVscy5sZW5ndGg+MCYmdGhpcy5fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jaygxKSx0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlTaXplKCksbSl7dGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGUoKSx0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZS5jbGVhcigpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcyl0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZS5hZGRTdGF0dXNXaWRnZXQoZSl9fXVwZGF0ZSgpe251bGwhPT10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsJiZ0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsLnVwZGF0ZSgpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzKWUudXBkYXRlKCl9dXBkYXRlVGhlbWVkQ29sb3JzKGUpe251bGw9PT1lJiYoZT0oMCxkcy5nZXRTdGRUaGVtZWRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcy5iYWNrZ3JvdW5kIix0aGlzLl9iYWNrZ3JvdW5kVGhlbWVOYW1lLnZhbHVlKCkpKSx0aGlzLl90aGVtZWRDb2xvci5zZXRWYWx1ZShlfHwiIil9Zmlyc3RUaXRsZSgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5maXJzdFRpdGxlKCl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCl9YWRkTWFyZ2luKGUpe2lmKHRoaXMuX21hcmdpbj09PWUpcmV0dXJuO3RoaXMuX21hcmdpbj1lCjt0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCkuc3R5bGUubWF4V2lkdGg9MD09PXRoaXMuX21hcmdpbj8iIjpgY2FsYygxMDAlIC0gJHt0aGlzLl9tYXJnaW4rbXN9cHgpYCx0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlTaXplKCl9dXBkYXRlV2lkZ2V0TW9kZUJ5U2l6ZShlKXt0aGlzLl9zaXplPWUsdGhpcy5fdXBkYXRlV2lkZ2V0TW9kZUJ5U2l6ZSgpfV9zdGF0dXNTb3VyY2VBZGFwdGVyKGUpe2NvbnN0IHQ9ZS5pbnN0YW5jZUlkKCk7bGV0IGk9dGhpcy5fc3RhdHVzUHJvdmlkZXJzLmdldCh0KTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9ZSE9PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKT9uZXcgQWkuQ2hhcnRNb2RlbFN0YXR1c1NvdXJjZUFkYXB0ZXIoZSx0aGlzLl9tb2RlbC5tb2RlbCgpKTpuZXcgQWkuQ2hhcnRNb2RlbE1haW5TZXJpZXNTdGF0dXNTb3VyY2VBZGFwdGVyKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0aGlzLl9tb2RlbC5tb2RlbCgpKSx0aGlzLl9zdGF0dXNQcm92aWRlcnMuc2V0KHQsaSkpLGl9X3VwZGF0ZVdpZGdldE1vZGVCeVNpemUoKXt0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlXaWR0aCgpLHRoaXMuX3VwZGF0ZVdpZGdldE1vZGVCeUhlaWdodCgpLHRoaXMuX3VwZGF0ZUN1c3RvbVdpZGdldE1vZGVCeVNpemUoKX1fdXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoKXtpZihudWxsPT09dGhpcy5fc2l6ZSlyZXR1cm47Y29uc3QgZT10aGlzLl9hdmFpbGFibGVXaWR0aCgpO3RoaXMuX3JlbmRlcmVyLnVwZGF0ZU1vZGUoZSksdGhpcy5fcGFuZVdpZGdldC5oYXNTdGF0ZSgpJiZ0aGlzLl9wYW5lV2lkZ2V0LnN0YXRlKCkuY29udGFpbnNNYWluU2VyaWVzKCkmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zZXRUZXh0U291cmNlSXNBbHdheXNUaWNrZXJSZXN0cmljdGlvbkVuYWJsZWQoZTw9MTMyKX1fdXBkYXRlV2lkZ2V0TW9kZUJ5SGVpZ2h0KCl7bnVsbCE9PXRoaXMuX3NpemUmJih0aGlzLl9hdmFpbGFibGVIZWlnaHQ9LjgqdGhpcy5fc2l6ZS5oZWlnaHQsdGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGVUaHJvdHRsZSgpKX1fdXBkYXRlQ3VzdG9tV2lkZ2V0TW9kZUJ5U2l6ZSgpe2lmKG51bGw9PT10aGlzLl9zaXplKXJldHVybjtjb25zdCBlPSgwLHMuc2l6ZSkoe3dpZHRoOnRoaXMuX2F2YWlsYWJsZVdpZHRoKCksaGVpZ2h0OnRoaXMuX3NpemUuaGVpZ2h0fSk7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnZhbHVlcygpKSlmb3IoY29uc3QgaSBvZiBBcnJheS5mcm9tKHQudmFsdWVzKCkpKWZvcihjb25zdCB0IG9mIGkpdC51cGRhdGVXaWRnZXRNb2RlQnlTaXplKGUpfV9kZXN0cm95TWFpbkRhdGFTb3VyY2UoKXsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5TZXJpZXNTdGF0dXNlc1dpZGdldFN0YXRlKS5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9bnVsbDsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwpLmRlc3Ryb3koKSx0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsPW51bGx9X3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNNb2RlKCl7Y29uc3QgZT10aGlzLl9kYXRhU291cmNlVmlld01vZGVscy5sZW5ndGgsdD10aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnZhbHVlKCksaT1udWxsIT09dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbDtpZih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlLmNsZWFyKCksdGhpcy5fYXZhaWxhYmxlSGVpZ2h0PjAmJmU+Mil7Y29uc3Qgcz1OdW1iZXIodGhpcy5fcmVuZGVyZXIuZ2V0TWFpblNvdXJjZUhlaWdodCgpKSxvPXRoaXMuX3JlbmRlcmVyLmdldERhdGFTb3VyY2VIZWlnaHQoKSxuPXRoaXMuX2dldEN1c3RvbVdpZGdldHNIZWlnaHQoKTtpZihudWxsIT09byl7Y29uc3QgYT1NYXRoLmZsb29yKCh0aGlzLl9hdmFpbGFibGVIZWlnaHQtcy1uKS9vKSxsPU1hdGgubWF4KGEsMiktMTtpZihlPmwrMSl7bGV0IHM9IiI7Zm9yKGxldCBvPTA7bzxlO28rKyl7Y29uc3QgZT1vPGw7dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHNbb10uc2V0R2xvYmFsVmlzaWJpbGl0eShlJiYoIXR8fDA9PT1vJiYhaSkpLGV8fChzKz1gJHswPT09cy5sZW5ndGg/IiI6IiwgIn0ke3RoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzW29dLmdldEZ1bGxUaXRsZSgpfWAsdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS5hZGRTdGF0dXNXaWRnZXQodGhpcy5fZGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGVzW29dKSl9cmV0dXJuIHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUuc2V0VmFsdWUocyksdm9pZCB0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50LnNldFZhbHVlKGUtbCl9fX1mb3IobGV0IGU9MDtlPHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzLmxlbmd0aDsrK2UpdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHNbZV0uc2V0R2xvYmFsVmlzaWJpbGl0eSghdHx8MD09PWUmJiFpKTt0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50LnNldFZhbHVlKDApLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUuc2V0VmFsdWUoIiIpfV9nZXRDdXN0b21XaWRnZXRzSGVpZ2h0KCl7bGV0IGU9MDtmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNNYXAudmFsdWVzKCkpKWZvcihjb25zdCBpIG9mIEFycmF5LmZyb20odC52YWx1ZXMoKSkpZm9yKGNvbnN0IHQgb2YgaSllKz10LmhlaWdodCgpLnZhbHVlKCk7cmV0dXJuIGV9X2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci52YWx1ZSgpO2Zvcihjb25zdCB0IG9mKDAsZHMuZ2V0U3RkVGhlbWVOYW1lcykoKSlpZigoMCxkcy5pc1N0ZFRoZW1lZERlZmF1bHRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5zY2FsZXNQcm9wZXJ0aWVzLnRleHRDb2xvciIsZSx0KSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1fY2xlYXJTdWJzY3JpcHRpb25zKCl7Cm51bGwhPT10aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuJiYodGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbi5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbj1udWxsKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9kYXRhU291cmNlUm93c0hpZGRlbillLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlUm93c0hpZGRlbj1bXTtmb3IoY29uc3QgZSBvZiB0aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzKWUuZGVzdHJveSgpO3RoaXMuX2N1c3RvbVdpZGdldHNWaXNpYmlsaXRpZXM9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY3VzdG9tV2lkZ2V0c0hlaWdodHMpZS5kZXN0cm95KCk7dGhpcy5fY3VzdG9tV2lkZ2V0c0hlaWdodHM9W119X3JlY3JlYXRlU3Vic2NyaXB0aW9ucygpe3RoaXMuX2NsZWFyU3Vic2NyaXB0aW9ucygpLG51bGwhPT10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsJiYodGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbj10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsLmlzUm93SGlkZGVuKCkuc3Bhd24oKSx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzKXtjb25zdCB0PWUuaXNSb3dIaWRkZW4oKS5zcGF3bigpO3RoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLnB1c2godCksdC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmlzaWJsZURhdGFTb3VyY2VDb3VudC5iaW5kKHRoaXMpKSx0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSl9Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnZhbHVlcygpKSlmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKGUudmFsdWVzKCkpKWZvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9ZS52aXNpYmlsaXR5KCkuc3Bhd24oKTt0aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzLnB1c2godCksdC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGVnZW5kVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpO2NvbnN0IGk9ZS5oZWlnaHQoKS5zcGF3bigpO3RoaXMuX2N1c3RvbVdpZGdldHNIZWlnaHRzLnB1c2goaSksaS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGUuYmluZCh0aGlzKSl9dGhpcy5fdXBkYXRlVmlzaWJsZURhdGFTb3VyY2VDb3VudCgpLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdGllcygpfV9yZWNhbGN1bGF0ZUxvYWRpbmdEYXRhU291cmNlcygpe3RoaXMuX2RhdGFTb3VyY2VzTG9hZGluZ1N0YXR1c2VzLnNldFZhbHVlKHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzLm1hcCgoZT0+ZS5sb2FkaW5nKCkud2Vha1JlZmVyZW5jZSgpKSkpfV91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMoKXtpZih0aGlzLl9oaWRlV2hvbGVMZWdlbmQudmFsdWUoKSlyZXR1cm4gdm9pZCB0aGlzLl9hbGxMZWdlbmRIaWRkZW4uc2V0VmFsdWUoITApO2NvbnN0IGU9MCE9PXRoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLmxlbmd0aCYmdGhpcy5fZGF0YVNvdXJjZVJvd3NIaWRkZW4uZXZlcnkoKGU9PmUudmFsdWUoKSkpLHQ9dGhpcy5faGlkZU5vdE1haW5Tb3VyY2VzLnZhbHVlKCl8fGU7dGhpcy5fc3R1ZGllc0xlZ2VuZEhpZGRlbi5zZXRWYWx1ZSh0KTtjb25zdCBpPW51bGw9PT10aGlzLl9tYWluU2VyaWVzUm93SGlkZGVufHx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuLnZhbHVlKCkscz10aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzLnNvbWUoKGU9PmUudmFsdWUoKSkpO3RoaXMuX2FsbExlZ2VuZEhpZGRlbi5zZXRWYWx1ZShlJiZpJiYhcyl9X3VwZGF0ZVZpc2libGVEYXRhU291cmNlQ291bnQoKXtjb25zdCBlPXRoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLmZpbHRlcigoZT0+IWUudmFsdWUoKSkpLmxlbmd0aDt0aGlzLl92aXNpYmxlRGF0YVNvdXJjZUNvdW50LnNldFZhbHVlKGUpfV9zZXRMZWdlbmRWaXNpYmlsaXR5VG9nZ2xlZCgpe3JzLnNldFZhbHVlKCJsZWdlbmQuaXNWaXNpYmlsaXR5VG9nZ2xlZCIsITApO3RoaXMuX3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCkudW5zdWJzY3JpYmUodGhpcywoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQpKX1fZ2V0SXNQYW5lTWFpblZhbHVlKCl7cmV0dXJuIHRoaXMuX3BhbmVXaWRnZXQuY29udGFpbnNNYWluU2VyaWVzKCl9X3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fbW9kZWwubW9kZWwoKS5zaG93TGVnZW5kKCl9X3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZH1fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jayhlKXtjb25zdCB0PXRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3JpZXNNYXAuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5nZXQoZSl8fG5ldyBNYXA7bGV0IHM9ITE7Zm9yKGNvbnN0IG8gb2YgQXJyYXkuZnJvbSh0LmtleXMoKSkpe2NvbnN0IG49aS5nZXQobyl8fFtdLGE9dC5nZXQobyl8fFtdO2ZvcihsZXQgdD1uLmxlbmd0aDt0PGEubGVuZ3RoO3QrKyl7Y29uc3QgaT1hW3RdKHRoaXMuX21vZGVsLm1vZGVsKCksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZS5zcGF3bk93bmVyc2hpcCgpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUud2Vha1JlZmVyZW5jZSgpKTtuLnB1c2goaSksdGhpcy5fcmVuZGVyZXIuYWRkQ3VzdG9tV2lkZ2V0KGkse2Jsb2NrOmUscG9zaXRpb246b30pLHM9ITB9cyYmaS5zZXQobyxuKX1zJiZ0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnNldChlLGkpfV9kZXN0cm95Q3VzdG9tV2lkZ2V0RnJvbUxheWVyQmxvY2soZSl7Y29uc3QgdD10aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmdldChlKQo7aWYodm9pZCAwIT09dCl7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0LnZhbHVlcygpKSlmb3IoY29uc3QgdCBvZiBlKXQuZGVzdHJveSgpO3QuY2xlYXIoKSx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmRlbGV0ZShlKX19X2F2YWlsYWJsZVdpZHRoKCl7cmV0dXJuIG51bGw9PT10aGlzLl9zaXplPzA6TWF0aC5tYXgoMCx0aGlzLl9zaXplLndpZHRoLXRoaXMuX21hcmdpbi1tcyl9fX0sMjk3NzA3KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BhbmVDb250cm9sc1dpZGdldDooKT0+JH0pO3ZhciBzLG89aSgzODY5MzEpLG49aSgxODUyNzEpLGE9aSgyMzU3MjQpLGw9aSgyMzIzNjQpLHI9aSg5NTI5MDApLGQ9aSgyNTUwMzYpLHU9aSg5NTY0MzcpLGM9aSgxMzg2MzgpLGg9aSgxMzQ2NykscD1pKDk1NjM2OCksXz1pKDM2MzI2OSksZz1pKDgwMDIyNiksbT1pKDQyNjI3NCksYj1pKDc3MjAyOCk7IWZ1bmN0aW9uKGUpe2VbZS5Db250ZXh0TWVudU1vZGVXaWR0aFB0PTY2Ni42NV09IkNvbnRleHRNZW51TW9kZVdpZHRoUHQiLGVbZS5WaXNpYmxlTW9kZU1pbldpZHRoPTM1Nl09IlZpc2libGVNb2RlTWluV2lkdGgifShzfHwocz17fSkpO2NsYXNzIHZ7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX3BhcmVudEVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsPW51bGwsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cz17fSx0aGlzLl9hY3Rpb25zU3Bhd25zPXt9LHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyPW51bGwsdGhpcy5fbW91c2VPdmVyV2lkZ2V0PSExLHRoaXMuX3dyYXBFbD1lLHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyPXRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnQuYmluZCh0aGlzKSx0aGlzLl93cmFwRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fb25Nb3VzZUVudGVyTGVhdmVFdmVudEhhbmRsZXIpLHRoaXMuX3dyYXBFbC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciksdGhpcy5fYWN0aW9ucz10LHRoaXMuX2dsb2JhbFZpc2liaWxpdHk9aS5nbG9iYWxWaXNpYmlsaXR5LnNwYXduKCksdGhpcy5fZ2xvYmFsVmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl92aXNpYmlsaXR5VHlwZT1pLnZpc2liaWxpdHlUeXBlLnNwYXduKCksdGhpcy5fdmlzaWJpbGl0eVR5cGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVBhbmVDb250cm9sc1dpZGdldFZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQ9aS5zZXBhcmF0b3JTZWxlY3RlZC5zcGF3bigpLHRoaXMuX3NlcGFyYXRvclNlbGVjdGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQYW5lQ29udHJvbHNXaWRnZXRWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX21heGltaXplZD1pLm1heGltaXplZC5zcGF3bigpLHRoaXMuX21heGltaXplZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl9kb05vdFN3aXRjaFRvQ29udGV4dE1lbnVNb2RlPWkuZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZSx0aGlzLl90aGVtZWRDb2xvcj1pLnRoZW1lZENvbG9yLnNwYXduKCksdGhpcy5fdGhlbWVkQ29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVRoZW1lZENvbG9yLmJpbmQodGhpcykpO2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXModGhpcy5fYWN0aW9ucykpe2NvbnN0IGk9ZTt0aGlzLl9hY3Rpb25zU3Bhd25zW2ldPXt2aXNpYmxlOnQudmlzaWJsZS5zcGF3bigpLHRpdGxlOnZvaWQgMD09PXQudGl0bGU/bnVsbDp0LnRpdGxlLnNwYXduKCl9LHRoaXMuX2FjdGlvbnNTcGF3bnNbaV0udmlzaWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWN0aW9uVmlzaWJpbGl0aWVzLmJpbmQodGhpcyxpKSk7Y29uc3Qgcz10aGlzLl9hY3Rpb25zU3Bhd25zW2ldLnRpdGxlO251bGwhPT1zJiZzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBY3Rpb25UaXRsZS5iaW5kKHRoaXMsaSkpfXRoaXMuX3JlbmRlcigpLHRoaXMuX3VwZGF0ZVBhbmVDb250cm9sc1dpZGdldFZpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVUaGVtZWRDb2xvcih0aGlzLl90aGVtZWRDb2xvci52YWx1ZSgpKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKG0udG91Y2hNb2RlLGcudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUpLHRoaXMuX3BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+ZS5wcmV2ZW50RGVmYXVsdCgpKSksdGhpcy5fcGFyZW50RWwuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0aGlzLl93cmFwRWwubWF0Y2hlcygiOmhvdmVyIikmJnRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnQoe3R5cGU6Im1vdXNlZW50ZXIifSl9ZGVzdHJveSgpe3RoaXMuX3Zpc2liaWxpdHlUeXBlLmRlc3Ryb3koKSx0aGlzLl90aGVtZWRDb2xvci5kZXN0cm95KCksdGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQuZGVzdHJveSgpO2Zvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHRoaXMuX2FjdGlvbnNTcGF3bnMpKXtjb25zdCB0PWU7dGhpcy5fYWN0aW9uc1NwYXduc1t0XS52aXNpYmxlLmRlc3Ryb3koKTtjb25zdCBpPXRoaXMuX2FjdGlvbnNTcGF3bnNbdF0udGl0bGU7bnVsbCE9PWkmJmkuZGVzdHJveSgpfW51bGwhPT10aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciYmKHRoaXMuX3dyYXBFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIix0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciksdGhpcy5fd3JhcEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyKSx0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlcj1udWxsKSx0aGlzLl9wYXJlbnRFbC5yZW1vdmUoKSx0aGlzLl9wYXJlbnRFbC5pbm5lckhUTUw9IiIsCmRlbGV0ZSB0aGlzLl9wYXJlbnRFbH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX3BhcmVudEVsfWJvdHRvbVdpdGhNYXJnaW4oKXtjb25zdCBlPXRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC5jb250YWlucyhtLnRvdWNoTW9kZSk/TnVtYmVyKG0uY3NzX3ZhbHVlX3BhbmVfY29udHJvbHNfYnV0dG9uX3RvdWNoX3NpemUpOk51bWJlcihtLmNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX2J1dHRvbl9zaXplKTtyZXR1cm4gMipOdW1iZXIobS5jc3NfdmFsdWVfcGFuZV9jb250cm9sc19tYXJnaW5fdG9wKStlfXVwZGF0ZVdpZGdldE1vZGVCeVdpZHRoKGUpe2NvbnN0IHQ9IXRoaXMuX2RvTm90U3dpdGNoVG9Db250ZXh0TWVudU1vZGUudmFsdWUoKSYmZTwzNTYsaT0hdGhpcy5fZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZS52YWx1ZSgpJiZlPDY2Ni42NSxzPSgwLGMuZW5zdXJlTm90TnVsbCkodGhpcy5fbGlzdEFjdGlvbnNXcmFwcGVyRWwpLG89KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1vcmUpOygwLGMuZW5zdXJlTm90TnVsbCkodGhpcy5fcGFyZW50RWwpLmNsYXNzTGlzdC50b2dnbGUobS5wYW5lQ29udHJvbHNfcmVtb3ZlLHQpLHMuY2xhc3NMaXN0LnRvZ2dsZShiLmJsb2NrSGlkZGVuLGkpLG8uY2xhc3NMaXN0LnRvZ2dsZShiLmJsb2NrSGlkZGVuLCFpfHwhdGhpcy5fYWN0aW9ucy5tb3JlLnZpc2libGUudmFsdWUoKSl9X3JlbmRlcigpe3RoaXMuX3JlbmRlckFjdGlvbnMoKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QuYWRkKG0ucGFuZUNvbnRyb2xzKSx0aGlzLl93cmFwRWwuYXBwZW5kKHRoaXMuX3BhcmVudEVsKX1fcmVuZGVyQWN0aW9ucygpe251bGw9PT10aGlzLl9saXN0QWN0aW9uc1dyYXBwZXJFbCYmKHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQobS5idXR0b25zKSx0aGlzLl9wYXJlbnRFbC5hcHBlbmQodGhpcy5fbGlzdEFjdGlvbnNXcmFwcGVyRWwpKTtjb25zdCBlPXt0YWc6ImRpdiIsYnV0dG9uQ2xhc3NOYW1lOm0uYnV0dG9uLHdyYXBJY29uQ2xhc3NOYW1lOm0uYnV0dG9uSWNvbixoaWRkZW5DbGFzc05hbWU6Yi5ibG9ja0hpZGRlbn07dGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy51cD0oMCxwLmNyZWF0ZUFjdGlvbkVsZW1lbnQpKHRoaXMuX2FjdGlvbnMudXAsZSksdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5kb3duPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5kb3duLGUpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuY29sbGFwc2U9KDAscC5jcmVhdGVBY3Rpb25FbGVtZW50KSh0aGlzLl9hY3Rpb25zLmNvbGxhcHNlLGUpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMucmVzdG9yZT0oMCxwLmNyZWF0ZUFjdGlvbkVsZW1lbnQpKHRoaXMuX2FjdGlvbnMucmVzdG9yZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLmNsb3NlPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5jbG9zZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1heGltaXplPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5tYXhpbWl6ZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1pbmltaXplPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5taW5pbWl6ZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLnJlc3RvcmUuY2xhc3NMaXN0LmFkZChtLmJ1dHRvbl9hY3RpdmF0ZWQpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMubWluaW1pemUuY2xhc3NMaXN0LmFkZChtLmJ1dHRvbl9hY3RpdmF0ZWQpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsLmFwcGVuZCh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLnVwLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuZG93bix0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLmNsb3NlLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuY29sbGFwc2UsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5yZXN0b3JlLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMubWF4aW1pemUsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5taW5pbWl6ZSksdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5tb3JlPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5tb3JlLGUpLHRoaXMuX3BhcmVudEVsLmFwcGVuZCh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1vcmUpfV91cGRhdGVBY3Rpb25WaXNpYmlsaXRpZXMoZSx0KXsoMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHNbZV0pLmNsYXNzTGlzdC50b2dnbGUoYi5ibG9ja0hpZGRlbiwhdCl9X3VwZGF0ZUFjdGlvblRpdGxlKGUsdCl7KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzW2VdKS5zZXRBdHRyaWJ1dGUoInRpdGxlIix0KX1fb25Nb3VzZUVudGVyTGVhdmVFdmVudChlKXt0aGlzLl9tb3VzZU92ZXJXaWRnZXQ9Im1vdXNlZW50ZXIiPT09ZS50eXBlLCJ2aXNpYmxlT25Nb3VzZU92ZXIiPT09dGhpcy5fdmlzaWJpbGl0eVR5cGUudmFsdWUoKSYmdGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eSgpfV91cGRhdGVQYW5lQ29udHJvbHNXaWRnZXRWaXNpYmlsaXR5KCl7bGV0IGUsdD0hMTtzd2l0Y2godGhpcy5fdmlzaWJpbGl0eVR5cGUudmFsdWUoKSl7Y2FzZSJhbHdheXNPZmYiOmU9ITEsdD0hMDticmVhaztjYXNlImFsd2F5c09uIjplPXRoaXMuX2dsb2JhbFZpc2liaWxpdHkudmFsdWUoKTticmVhaztjYXNlInZpc2libGVPbk1vdXNlT3ZlciI6Y2FzZSJ2aXNpYmxlT25UYXBTZWxlY3Rpb24iOmU9dGhpcy5fZ2xvYmFsVmlzaWJpbGl0eS52YWx1ZSgpJiZ0aGlzLl9tb3VzZU92ZXJXaWRnZXR9dGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQudmFsdWUoKSYmInZpc2libGVPblRhcFNlbGVjdGlvbiI9PT10aGlzLl92aXNpYmlsaXR5VHlwZS52YWx1ZSgpJiYoZT0hMCksCnRoaXMuX21heGltaXplZC52YWx1ZSgpJiZfLm1vYmlsZXRvdWNoJiYoZT0hMCksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShtLnBhbmVDb250cm9sc19oaWRkZW4sIWUpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUobS5wYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4sIXRoaXMuX2dsb2JhbFZpc2liaWxpdHkudmFsdWUoKXx8dCl9X3VwZGF0ZVRoZW1lZENvbG9yKGUpe2lmKGUubGVuZ3RoPjApe2NvbnN0W3QsaSxzXT0oMCxoLnBhcnNlUmdiKShlKTt0aGlzLl9wYXJlbnRFbC5zdHlsZS5jb2xvcj0oMCxoLnJnYmFUb1N0cmluZykoW3QsaSxzLCgwLGgubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKC44KV0pfWVsc2UgdGhpcy5fcGFyZW50RWwuc3R5bGUucmVtb3ZlUHJvcGVydHkoImNvbG9yIil9fXZhciBmPWkoNTA5MDQpLFM9aSgyNTA0MzkpLHk9aSg2MTczMDMpLHc9aSg5NjIwNzIpLEM9aSgxNzcyNTUpLEU9aSg1MzY1MzMpLHg9aSgzNzU3MCksTD1pKDI5NjE2Myk7Y29uc3QgTT1uLnQobnVsbCx2b2lkIDAsaSgxNDg4NjUpKSxUPU0sVj0oMCxhLmh1bWFuUmVhZGFibGVNb2RpZmllcnMpKGEuTW9kaWZpZXJzLk1vZCkrTTt2YXIgaz1pKDY2NTE4NyksQT1pKDM0NTE1MSksVz1pKDI4NDA3NSksST1pKDgxMjk0OCksQj1pKDQyMzY0MyksSD1pKDUzODA5KSxEPWkoNzUxNTExKSxQPWkoODcyODM4KSxOPWkoNjQ4OTUpO2NvbnN0IFI9bi50KG51bGwsdm9pZCAwLGkoODMxOTg4KSksTz1uLnQobnVsbCx2b2lkIDAsaSgzMDU4ODIpKSxGPW4udChudWxsLHZvaWQgMCxpKDgxNDA1OCkpLHo9bi50KG51bGwsdm9pZCAwLGkoNTUwNTU5KSksaj1uLnQobnVsbCx2b2lkIDAsaSgyNjA1NDkpKSxVPW4udChudWxsLHZvaWQgMCxpKDg5MDA5KSksRz1uLnQobnVsbCx2b2lkIDAsaSgxNTk0NDMpKSxaPW4udChudWxsLHZvaWQgMCxpKDE0ODg2NSkpO3ZhciBKOyFmdW5jdGlvbihlKXtlLlBhbmVDbG9zZUJ1dHRvbj0icGFuZS1idXR0b24tY2xvc2UiLGUuUGFuZVVwQnV0dG9uPSJwYW5lLWJ1dHRvbi11cCIsZS5QYW5lRG93bkJ1dHRvbj0icGFuZS1idXR0b24tZG93biIsZS5QYW5lTWF4aW1pemVCdXR0b249InBhbmUtYnV0dG9uLW1heGltaXplIixlLlBhbmVNaW5pbWl6ZUJ1dHRvbj0icGFuZS1idXR0b24tbWluaW1pemUiLGUuUGFuZUNvbGxhcHNlQnV0dG9uPSJwYW5lLWJ1dHRvbi1jb2xsYXBzZSIsZS5QYW5lUmVzdG9yZUJ1dHRvbj0icGFuZS1idXR0b24tcmVzdG9yZSIsZS5QYW5lTW9yZUJ1dHRvbj0icGFuZS1idXR0b24tbW9yZSJ9KEp8fChKPXt9KSk7Y29uc3QgWT0oMCxBLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WyIiXSx0ZXh0Olp9KSxxPSgwLEEuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsYS5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShhLk1vZGlmaWVycy5Nb2QsITEpXSx0ZXh0OmB7MH0gKyAke1p9YH0pO2NsYXNzICR7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fYWN0aW9ucz17fSx0aGlzLl9tb3JlQ01TaG93bj0hMSx0aGlzLl90aGVtZWRDb2xvcj1uZXcgbC5XYXRjaGVkVmFsdWUoIiIpLHRoaXMuX21vZGVsPWUsdGhpcy5fcGFuZT10LHRoaXMuX2Nsb3NlQnV0dG9uVmlzaWJpbGl0eT1uZXcgbC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX3VwQnV0dG9uVmlzaWJpbGl0eT1uZXcgbC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0VXBCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX2Rvd25CdXR0b25WaXNpYmlsaXR5PW5ldyBsLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREb3duQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9tYXhpbWl6ZUJ1dHRvblZpc2liaWxpdHk9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHk9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldE1pbmltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9jb2xsYXBzZUJ1dHRvblZpc2liaWxpdHk9KDAsci5jb21iaW5lKSgoKGUsdCxpKT0+IWUmJiF0JiZpKSx0Lm1heGltaXplZCgpLndlYWtSZWZlcmVuY2UoKSx0LmNvbGxhcHNlZCgpLndlYWtSZWZlcmVuY2UoKSx0LmNvbGxhcHNpbmdBdmFpbGFibGUoKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3Jlc3RvcmVCdXR0b25WaXNpYmlsaXR5PSgwLHIuY29tYmluZSkoKChlLHQpPT4hZSYmdCksdC5tYXhpbWl6ZWQoKS53ZWFrUmVmZXJlbmNlKCksdC5jb2xsYXBzZWQoKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2NyZWF0ZUFjdGlvbnMoKSx0aGlzLl92aXNpYmlsaXR5VHlwZVByb3BlcnR5PSgwLGQuYWN0dWFsQmVoYXZpb3IpKCksdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoZT0+e3RoaXMuX3Zpc2liaWxpdHlUeXBlLnNldFZhbHVlKGUudmFsdWUoKSl9KSksdGhpcy5fdmlzaWJpbGl0eVR5cGU9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkudmFsdWUoKSksdGhpcy5faXNQYW5lTWF4aW1pemU9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldElzUGFuZU1heGltaXplVmFsdWUoKSksdGhpcy5faXNXaWRnZXRTaG93PW5ldyBsLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc1dpZGdldFNob3coKSksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZT1pLmJhY2tncm91bmRUaGVtZU5hbWUsdGhpcy5fcmVuZGVyZXI9bmV3IHYocyx0aGlzLl9hY3Rpb25zLHt2aXNpYmlsaXR5VHlwZTp0aGlzLl92aXNpYmlsaXR5VHlwZS5yZWFkb25seSgpLGdsb2JhbFZpc2liaWxpdHk6dGhpcy5faXNXaWRnZXRTaG93LnJlYWRvbmx5KCksZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZTp0aGlzLl9pc1BhbmVNYXhpbWl6ZS5yZWFkb25seSgpLHRoZW1lZENvbG9yOnRoaXMuX3RoZW1lZENvbG9yLnJlYWRvbmx5KCksc2VwYXJhdG9yU2VsZWN0ZWQ6aS5hbnlTZXBhcmF0b3JTZWxlY3RlZCxtYXhpbWl6ZWQ6dGhpcy5faXNQYW5lTWF4aW1pemUucmVhZG9ubHkoKX0pfWRlc3Ryb3koKXsKdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jb2xsYXBzZUJ1dHRvblZpc2liaWxpdHkuZGVzdHJveSgpLHRoaXMuX3Jlc3RvcmVCdXR0b25WaXNpYmlsaXR5LmRlc3Ryb3koKSx0aGlzLl9yZW5kZXJlci5kZXN0cm95KCl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCl9Ym90dG9tV2l0aE1hcmdpbigpe3JldHVybiB0aGlzLl9yZW5kZXJlci5ib3R0b21XaXRoTWFyZ2luKCl9YWN0aW9uKCl7cmV0dXJuIHRoaXMuX2FjdGlvbnN9dXBkYXRlKCl7dGhpcy5fdXBkYXRlQnV0dG9uc1Zpc2liaWxpdHkoKSx0aGlzLl9pc1BhbmVNYXhpbWl6ZS5zZXRWYWx1ZSh0aGlzLl9nZXRJc1BhbmVNYXhpbWl6ZVZhbHVlKCkpLHRoaXMuX2lzV2lkZ2V0U2hvdy5zZXRWYWx1ZSh0aGlzLl9nZXRJc1dpZGdldFNob3coKSl9dXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoZSl7dGhpcy5fcmVuZGVyZXIudXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoZSl9dXBkYXRlVGhlbWVkQ29sb3JzKGUpe251bGw9PT1lJiYoZT0oMCxrLmdldFN0ZFRoZW1lZFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiLHRoaXMuX2JhY2tncm91bmRUaGVtZU5hbWUudmFsdWUoKSkpLHRoaXMuX3RoZW1lZENvbG9yLnNldFZhbHVlKGV8fCIiKX1fdXBkYXRlQnV0dG9uc1Zpc2liaWxpdHkoKXt0aGlzLl9jbG9zZUJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX3VwQnV0dG9uVmlzaWJpbGl0eS5zZXRWYWx1ZSh0aGlzLl9nZXRVcEJ1dHRvblZpc2liaWxpdHkoKSksdGhpcy5fZG93bkJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0RG93bkJ1dHRvblZpc2liaWxpdHkoKSksdGhpcy5fbWF4aW1pemVCdXR0b25WaXNpYmlsaXR5LnNldFZhbHVlKHRoaXMuX2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0TWluaW1pemVCdXR0b25WaXNpYmlsaXR5KCkpfV9jcmVhdGVBY3Rpb25zKCl7dGhpcy5fYWN0aW9ucy51cD17aWNvbjpJLGFjdGlvbjp0aGlzLl9vblVwRG93bkJ1dHRvbi5iaW5kKHRoaXMsInVwIiksdmlzaWJsZTp0aGlzLl91cEJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKE8pLGNsYXNzTmFtZTptLnVwLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi11cCJ9LHRoaXMuX2FjdGlvbnMuZG93bj17aWNvbjpCLGFjdGlvbjp0aGlzLl9vblVwRG93bkJ1dHRvbi5iaW5kKHRoaXMsImRvd24iKSx2aXNpYmxlOnRoaXMuX2Rvd25CdXR0b25WaXNpYmlsaXR5LHRpdGxlOm5ldyBsLldhdGNoZWRWYWx1ZShGKSxjbGFzc05hbWU6bS5kb3duLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1kb3duIn0sdGhpcy5fYWN0aW9ucy5jbG9zZT17aWNvbjpXLGFjdGlvbjp0aGlzLl9vbkNsb3NlQnV0dG9uLmJpbmQodGhpcyksdmlzaWJsZTp0aGlzLl9jbG9zZUJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKFIpLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1jbG9zZSJ9LHRoaXMuX2FjdGlvbnMubWF4aW1pemU9e2ljb246SCxhY3Rpb246dGhpcy5fb25Ub2dnbGVNYXhpbWl6ZUJ1dHRvbi5iaW5kKHRoaXMsIk1heGltaXplIHBhbmUiKSx2aXNpYmxlOnRoaXMuX21heGltaXplQnV0dG9uVmlzaWJpbGl0eSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoeiksaG90S2V5VGl0bGU6WSxjbGFzc05hbWU6bS5tYXhpbWl6ZSxkYXRhUWFJZDoicGFuZS1idXR0b24tbWF4aW1pemUifSx0aGlzLl9hY3Rpb25zLm1pbmltaXplPXtpY29uOkgsYWN0aW9uOnRoaXMuX29uVG9nZ2xlTWF4aW1pemVCdXR0b24uYmluZCh0aGlzLCJNaW5pbWl6ZSBwYW5lIiksdmlzaWJsZTp0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKGopLGhvdEtleVRpdGxlOlksY2xhc3NOYW1lOm0ubWluaW1pemUsZGF0YVFhSWQ6InBhbmUtYnV0dG9uLW1pbmltaXplIn0sdGhpcy5fYWN0aW9ucy5jb2xsYXBzZT17aWNvbjpQLGFjdGlvbjp0aGlzLl9vblRvZ2dsZUNvbGxhcHNlQnV0dG9uLmJpbmQodGhpcywiQ29sbGFwc2UgcGFuZSIpLHZpc2libGU6dGhpcy5fY29sbGFwc2VCdXR0b25WaXNpYmlsaXR5LHRpdGxlOm5ldyBsLldhdGNoZWRWYWx1ZShVKSxob3RLZXlUaXRsZTpxLGNsYXNzTmFtZTptLmNvbGxhcHNlLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1jb2xsYXBzZSJ9LHRoaXMuX2FjdGlvbnMucmVzdG9yZT17aWNvbjpOLGFjdGlvbjp0aGlzLl9vblRvZ2dsZUNvbGxhcHNlQnV0dG9uLmJpbmQodGhpcywiUmVzdG9yZSBwYW5lIiksdmlzaWJsZTp0aGlzLl9yZXN0b3JlQnV0dG9uVmlzaWJpbGl0eSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoaiksaG90S2V5VGl0bGU6cSxjbGFzc05hbWU6bS5yZXN0b3JlLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1yZXN0b3JlIn0sdGhpcy5fYWN0aW9ucy5tb3JlPXtpY29uOkQsYWN0aW9uOnRoaXMuX3Nob3dCdXR0b25zSW5Db250ZXh0TWVudS5iaW5kKHRoaXMpLHZpc2libGU6bmV3IGwuV2F0Y2hlZFZhbHVlKCEwKSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoRyksZGF0YVFhSWQ6InBhbmUtYnV0dG9uLW1vcmUifX1fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCl7bGV0IGU9ITE7cmV0dXJuIHRoaXMuX3BhbmUuY29udGFpbnNNYWluU2VyaWVzKCl8fHRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKXx8KGU9dGhpcy5fcGFuZS5kYXRhU291cmNlcygpLnNvbWUoKGU9PigwLHUuaXNTdHVkeSkoZSkpKSksZX1fb25DbG9zZUJ1dHRvbigpe3RoaXMuX3RyYWNrRXZlbnQoIkRlbGV0ZSBwYW5lIik7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0aGlzLl9wYW5lKTt0aGlzLl9tb2RlbC5yZW1vdmVQYW5lKGUpfV9nZXRVcEJ1dHRvblZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX3BhbmUsdD10aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihlKQo7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkuY2FuTW92ZVBhbmVVcCh0KX1fZ2V0RG93bkJ1dHRvblZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3BhbmUpO3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLmNhbk1vdmVQYW5lRG93bihlKX1fb25VcERvd25CdXR0b24oZSl7dGhpcy5fdHJhY2tFdmVudChgTW92ZSBwYW5lICR7ZX1gKTtjb25zdCB0PXRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3BhbmUpO3RoaXMuX21vZGVsLnJlYXJyYW5nZVBhbmVzKHQsZSl9X2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkubGVuZ3RoPjEmJiF0aGlzLl9wYW5lLm1heGltaXplZCgpLnZhbHVlKCl9X2dldE1pbmltaXplQnV0dG9uVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkubGVuZ3RoPjEmJnRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKX1fb25Ub2dnbGVNYXhpbWl6ZUJ1dHRvbihlKXt0aGlzLl90cmFja0V2ZW50KGUpLHRoaXMuX21vZGVsLnRvZ2dsZU1heGltaXplZFBhbmUodGhpcy5fcGFuZSl9X29uVG9nZ2xlQ29sbGFwc2VCdXR0b24oZSl7dGhpcy5fdHJhY2tFdmVudChlKSx0aGlzLl9tb2RlbC50b2dnbGVDb2xsYXBzZWRQYW5lKHRoaXMuX3BhbmUpfV9zaG93QnV0dG9uc0luQ29udGV4dE1lbnUoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX21vcmVDTVNob3dufHxmdW5jdGlvbihlLHQsaSl7Y29uc3Qgcz1bXTtpZihlLm1heGltaXplLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5tYXhpbWl6ZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUubWF4aW1pemUuYWN0aW9uKTtzLnB1c2gobmV3IGYuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUGFuZUNvbnRyb2xzLk1heGltaXplUGFuZSIsb3B0aW9uczp7aWNvbjpFLGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiTWF4aW1pemUgUGFuZSIsc2hvcnRjdXRIaW50OlQsb25FeGVjdXRlOigpPT5pKCl9fSkpfWVsc2UgaWYoZS5taW5pbWl6ZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUubWluaW1pemUudGl0bGUpLGk9KDAsYy5lbnN1cmVOb3ROdWxsKShlLm1pbmltaXplLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5NaW5pbWl6ZVBhbmUiLG9wdGlvbnM6e2ljb246RSxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6Ik1pbmltaXplIFBhbmUiLHNob3J0Y3V0SGludDpULG9uRXhlY3V0ZTooKT0+aSgpfX0pKX1pZihlLmNvbGxhcHNlLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5jb2xsYXBzZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUuY29sbGFwc2UuYWN0aW9uKTtzLnB1c2gobmV3IGYuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUGFuZUNvbnRyb2xzLkNvbGxhcHNlUGFuZSIsb3B0aW9uczp7aWNvbjp4LGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiQ29sbGFwc2UgcGFuZSIsc2hvcnRjdXRIaW50OlYsb25FeGVjdXRlOigpPT5pKCl9fSkpfWlmKGUucmVzdG9yZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUucmVzdG9yZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUucmVzdG9yZS5hY3Rpb24pO3MucHVzaChuZXcgZi5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QYW5lQ29udHJvbHMuUmVzdG9yZVBhbmUiLG9wdGlvbnM6e2ljb246TCxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6IlJlc3RvcmUgcGFuZSIsc2hvcnRjdXRIaW50OlYsb25FeGVjdXRlOigpPT5pKCl9fSkpfWlmKGUudXAudmlzaWJsZS52YWx1ZSgpKXtjb25zdCB0PSgwLGMuZW5zdXJlKShlLnVwLnRpdGxlKSxpPSgwLGMuZW5zdXJlTm90TnVsbCkoZS51cC5hY3Rpb24pO3MucHVzaChuZXcgZi5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QYW5lQ29udHJvbHMuTW92ZVBhbmVVcCIsb3B0aW9uczp7aWNvbjp3LGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiTW92ZSBwYW5lIHVwIixvbkV4ZWN1dGU6KCk9PmkoKX19KSl9aWYoZS5kb3duLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5kb3duLnRpdGxlKSxpPSgwLGMuZW5zdXJlTm90TnVsbCkoZS5kb3duLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5Nb3ZlUGFuZURvd24iLG9wdGlvbnM6e2ljb246QyxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6Ik1vdmUgcGFuZSBkb3duIixvbkV4ZWN1dGU6KCk9PmkoKX19KSl9aWYoZS5jbG9zZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUuY2xvc2UudGl0bGUpLGk9KDAsYy5lbnN1cmVOb3ROdWxsKShlLmNsb3NlLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5EZWxldGVQYW5lIixvcHRpb25zOntpY29uOnksbGFiZWw6dC52YWx1ZSgpLHN0YXROYW1lOiJEZWxldGUgcGFuZSIsb25FeGVjdXRlOigpPT5pKCl9fSkpfWNvbnN0IG89KDAsYy5lbnN1cmVOb3ROdWxsKSh0LmN1cnJlbnRUYXJnZXQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBTLkNvbnRleHRNZW51TWFuYWdlci5zaG93TWVudShzLHtjbGllbnRYOm8ucmlnaHQsY2xpZW50WTpvLnRvcCtvLmhlaWdodCszLGF0dGFjaFRvWEJ5OiJyaWdodCJ9LHZvaWQgMCx2b2lkIDAsaSl9KHRoaXMuX2FjdGlvbnMsZSwoKCk9Pnt0aGlzLl9tb3JlQ01TaG93bj0hMX0pKS50aGVuKCgoKT0+e3RoaXMuX21vcmVDTVNob3duPSEwfSkpfV9nZXRJc1BhbmVNYXhpbWl6ZVZhbHVlKCl7cmV0dXJuIHRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKX1fZ2V0SXNXaWRnZXRTaG93KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5sZW5ndGg+MX1fdHJhY2tFdmVudChlKXsoMCxvLnRyYWNrRXZlbnQpKCJHVUkiLCJQYW5lIGFjdGlvbiIsZSl9fX0sOTU2MzY4KGUsdCxpKXsKInVzZSBzdHJpY3QiO2kuZCh0LHtjcmVhdGVBY3Rpb25FbGVtZW50OigpPT5sfSk7dmFyIHM9aSg2NzI1MTEpLG89aSgxMzg2MzgpLG49aSg2MDE4NDEpLGE9aSg1ODI0NzYpO2Z1bmN0aW9uIGwoZSx0KXtjb25zdHtidXR0b25DbGFzc05hbWU6aSx3cmFwSWNvbkNsYXNzTmFtZTpsLGhpZGRlbkNsYXNzTmFtZTpyLGljb25TaXplOmQsYmx1ck9uQ2xpY2s6dX09dCxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodC50YWcpO2MuY2xhc3NOYW1lPWksYy5jbGFzc0xpc3QudG9nZ2xlKHIsIWUudmlzaWJsZS52YWx1ZSgpKSxjLmRhdGFzZXQucWFJZD1lLmRhdGFRYUlkLHZvaWQgMCE9PWUuY2xhc3NOYW1lJiZjLmNsYXNzTGlzdC5hZGQoZS5jbGFzc05hbWUpLHZvaWQgMCE9PWUudGl0bGUmJihjLmNsYXNzTGlzdC5hZGQoImFwcGx5LWNvbW1vbi10b29sdGlwIiksYy5zZXRBdHRyaWJ1dGUoInRpdGxlIixlLnRpdGxlLnZhbHVlKCkpLHZvaWQgMCE9PWUuaG90S2V5VGl0bGUmJihjLmRhdGFzZXQudG9vbHRpcEhvdGtleT1lLmhvdEtleVRpdGxlKSksYy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsKDAsYS53cmFwSGFuZGxlcldpdGhQcmV2ZW50RXZlbnQpKGUuYWN0aW9uKSksYy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCh0PT57MD09PXQuYnV0dG9uJiYoZS5hY3Rpb24odCksdSYmYy5ibHVyKCkpfSkpO2NvbnN0IGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bGV0IHA7cmV0dXJuIGguY2xhc3NMaXN0LmFkZChsKSxwPSgwLHMuZGVmYXVsdCkoZS5pY29uKT9lLmljb24uZ2V0KCgwLG8uZW5zdXJlRGVmaW5lZCkoZCkpfHwiIjplLmljb24sKDAsbi5pc1N0cmluZykocCk/aC5pbm5lckhUTUw9cDpoLmFwcGVuZENoaWxkKHApLGMuYXBwZW5kQ2hpbGQoaCksY319LDQ2MDU0NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc0N1c3RvbVN0dWR5OigpPT5vfSk7Y29uc3Qgcz17TGluZWFyUmVncmVzc2lvbjohMCxQaXZvdFBvaW50c0hpZ2hMb3c6ITAsVmJQU2Vzc2lvbnM6ITAsVmJQU2Vzc2lvbnNSb3VnaERldGFpbGVkOiEwLFZiUFBlcmlvZGljOiEwLFZiUEF1dG9BbmNob3JlZDohMCxaaWdaYWc6ITAsVFBPUGVyaW9kaWM6ITAsVFBPU2Vzc2lvbnM6ITAsVmJQRml4ZWQ6ITAsUGl2b3RQb2ludHNTdGFuZGFyZDohMCxWYlBWaXNpYmxlOiEwLFZiUEFuY2hvcmVkOiEwfTtmdW5jdGlvbiBvKGUpe3JldHVybiBlIGluIHN9fSwzMzMzMTIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0VHdlbW9qaVVybDooKT0+b30pO3ZhciBzPWkoMjYwNjAzKTtmdW5jdGlvbiBvKGUsdCl7bGV0IGk9IiI7cmV0dXJuIHMuZGVmYXVsdC5wYXJzZShlLChlPT4oaT1zLmRlZmF1bHQuYmFzZSsoInN2ZyI9PT10P2BzdmcvJHtlfS5zdmdgOmA3Mng3Mi8ke2V9LnBuZ2ApLCExKSkpLGl9cy5kZWZhdWx0LmJhc2U9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3R3ZW1vamkvMTMuMC4xLyJ9LDMwOTgzNihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthZGRVdG1Ub1VybDooKT0+b30pO3ZhciBzPWkoNjAxNTg3KTtmdW5jdGlvbiBvKGUsdCl7aWYoIS8oW2EtekEtWjAtOS4tXSp0cmFkaW5ndmlldy5jb20pfGxvY2FsaG9zdC8udGVzdChlKSlyZXR1cm4gZTtjb25zdCBpPSgwLHMuYnVpbGRVdG1RdWVyeVN0cmluZykodCk7aWYoIiI9PT1pKXJldHVybiBlO2NvbnN0IG89ZS5pbmRleE9mKCI/Iiksbj1lLmluZGV4T2YoIiMiKSxhPS0xIT09bjtpZigtMSE9PW8mJighYXx8bzxuKSl7cmV0dXJuYCR7ZS5zbGljZSgwLG8pfT8ke2E/ZS5zbGljZShvKzEsbik6ZS5zbGljZShvKzEpfSYke2l9JHthP2Uuc2xpY2Uobik6IiJ9YH1pZihhKXtyZXR1cm5gJHtlLnNsaWNlKDAsbil9PyR7aX0ke2Uuc2xpY2Uobil9YH1yZXR1cm5gJHtlfT8ke2l9YH19LDYwMTU4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5yLGZpbHRlclV0bUluZm86KCk9PmF9KTt2YXIgcz1pKDQ5MjY3Nyksbz1pKDY0MTU5Myk7Y29uc3Qgbj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gYShlKXtjb25zdCB0PXt9O3JldHVybiBuLmZvckVhY2goKGk9Pntjb25zdCBzPWVbaV07InN0cmluZyI9PXR5cGVvZiBzJiYiIiE9PXMmJih0W2ldPSgwLG8uaHRtbEVzY2FwZSkocykpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IGk9KDAscy5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBpJiZ0PyI/IitpOml9ZnVuY3Rpb24gcihlKXtyZXR1cm4gbChhKCgwLHMuZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDkzNTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuOTIgNy44MyA5IDEyLjI5bDUuMDgtNC40Ni0xLTEuMTNMOSAxMC4yOWwtNC4wOS0zLjYtLjk5IDEuMTRaIi8+PC9zdmc+J30sNzMyMDM5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjgzIDMuOTIgMTIuMjggOWwtNC40NSA1LjA4LTEuMTMtMUwxMC4yOSA5bC0zLjYtNC4wOSAxLjE0LS45OVoiLz48L3N2Zz4nfSwxMjE0NzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDEwSDRWOC41aDEwVjEwWiIvPjwvc3ZnPid9LDU0OTc3MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTguMjUgMTMuNzV2LTkuNWgxLjV2OS41aC0xLjVaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMuNzUgOS43NWgtOS41di0xLjVoOS41djEuNVoiLz48L3N2Zz4nfSwyNDcwMzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0LjUgOFYzLjVIMTBWMmg2djZoLTEuNVptLTExIDJ2NC41SDhWMTZIMnYtNmgxLjVaIi8+PC9zdmc+J30sNTczNTgyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjQ1IDMuNSAxMi40OCA5bC01LjAzIDUuNDkgMS4xIDEuMDFMMTQuNTIgOSA4LjU1IDIuNDkgNy40NSAzLjVaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJtMy45MyA1Ljk5IDIuNTggMy0yLjU4IDMuMDIgMS4xNC45OCAzLjQyLTQtMy40Mi0zLjk4TDMuOTMgNloiLz48L3N2Zz4nfSw5OTc4MzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwIDYuMzhWOEw2IDUuNSAxMCAzdjEuODVBNS4yNSA1LjI1IDAgMSAxIDMuNzUgMTBhLjc1Ljc1IDAgMCAxIDEuNSAwQTMuNzUgMy43NSAwIDEgMCAxMCA2LjM4WiIvPjwvc3ZnPid9LDQ2MjcwNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgNGgzdjFoLTEuMDRsLS44OCA5LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZINi40MmExLjUgMS41IDAgMCAxLTEuNS0xLjM2TDQuMDUgNUgzVjRoM3YtLjVDNiAyLjY3IDYuNjcgMiA3LjUgMmgzYy44MyAwIDEuNS42NyAxLjUgMS41VjRaTTcuNSAzYS41LjUgMCAwIDAtLjUuNVY0aDR2LS41YS41LjUgMCAwIDAtLjUtLjVoLTNaTTUuMDUgNWwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTIuOTQgNWgtNy45WiIvPjwvc3ZnPid9LDMzMzQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMC4zMSA0LjEzIDguMyA2LjE0YS41LjUgMCAxIDEtLjctLjdsMi4xMy0yLjEyYTMuNSAzLjUgMCAxIDEgNC45NSA0Ljk1bC0yLjExIDIuMTFhLjUxLjUxIDAgMSAxLS43My0uNzJsMi0yYTIuNSAyLjUgMCAwIDAtMy41My0zLjUzWm0tMi4xNCA5LjMgMi4wMS0yYS41LjUgMCAwIDEgLjcuNjlsLTIuMTMgMi4xMkEzLjUgMy41IDAgMCAxIDMuOCA5LjI5bDIuMTEtMi4xMWEuNTEuNTEgMCAwIDEgLjcyLjcybC0yIDJhMi41IDIuNSAwIDAgMCAzLjU0IDMuNTRaTTExIDcuMDJhLjQ5LjQ5IDAgMCAwLS42OSAwTDcuNDcgOS44N2EuNDkuNDkgMCAwIDAgLjY4LjY5bDIuODYtMi44NmEuNDkuNDkgMCAwIDAgMC0uN1oiLz48L3N2Zz4nfSw2NzcwMTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1LjA4IDUuNzVhNS4wNyA1LjA3IDAgMCAxIDcuMTcgNy4xN2wtMy4yMyAzLjIzLS43LS43IDMuMjItMy4yNGE0LjA3IDQuMDcgMCAxIDAtNS43NS01Ljc1bC0zLjIzIDMuMjMtLjctLjcxIDMuMjItMy4yM1ptLTkuMzMgOS4zM2E1LjA3IDUuMDcgMCAxIDAgNy4xNyA3LjE3bDMuMjMtMy4yMy0uNy0uNy0zLjI0IDMuMjJhNC4wNyA0LjA3IDAgMSAxLTUuNzUtNS43NWwzLjIzLTMuMjMtLjcxLS43LTMuMjMgMy4yMlptMTAuNzctNC4zLTUuNzQgNS43NC43LjcgNS43NS01Ljc0LS43MS0uN1oiLz48L3N2Zz4nfSwyMDMzMDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00IDhhNCA0IDAgMSAwIDggMCA0IDQgMCAxIDAtOCAwIi8+PC9zdmc+J30sMjc0ODUxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDhhOCA4IDAgMSAwIDE2IDBBOCA4IDAgMSAwIDAgOHptMiAwYTYgNiAwIDEgMCAxMiAwQTYgNiAwIDEgMCAyIDh6bTIgMGE0IDQgMCAxIDAgOCAwIDQgNCAwIDEgMC04IDAiLz48L3N2Zz4nfSwzMzQ1NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE2LjUgMjBMMTEgMTQuNSAxNi41IDkiLz48L3N2Zz4nfSw1ODA1OTYoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggNWwzLjUgMy41TDggMTIiLz48L3N2Zz4nfSw1NTY2NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxnIGNsYXNzPSJub3JtYWwtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDE4Yy0zLjA3IDAtNi4yMS0xLjk1LTcuOTItNkM1Ljc4IDcuOTUgOC45MyA2IDEyIDZjMy4wOCAwIDYuMjIgMS45NSA3LjkyIDYtMS43IDQuMDUtNC44NCA2LTcuOTIgNlptOC45My02LjE5QzE5LjEgNy4zMSAxNS41OSA1IDEyIDVTNC45IDcuMzIgMy4wOCAxMS44TDMgMTJsLjA4LjE5QzQuODkgMTYuNjggOC40IDE5IDEyIDE5YzMuNiAwIDcuMTEtMi4zMiA4LjkzLTYuODFsLjA3LS4yLS4wNy0uMThaTTE0IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFptMSAwYTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFoiLz48L2c+PGcgY2xhc3M9ImNyb3NzZWQtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiAxOWE4LjQ3IDguNDcgMCAwIDEtMy44Ny0uOTVsLjc1LS43NWMxIC40NyAyLjA3LjcgMy4xMi43IDMuMDggMCA2LjIyLTEuOTUgNy45Mi02YTExLjE4IDExLjE4IDAgMCAwLTIuMjUtMy40OWwuNy0uN2ExMi4yOCAxMi4yOCAwIDAgMSAyLjU2IDRMMjEgMTJsLS4wNy4xOUMxOS4xIDE2LjY4IDE1LjU5IDE5IDEyIDE5Wm0tNy45Mi03Yy42IDEuNDIgMS4zNyAyLjU4IDIuMjYgMy40OWwtLjcuN2ExMi4yOCAxMi4yOCAwIDAgMS0yLjU2LTRsLS4wOC0uMi4wOC0uMThDNC44OSA3LjMxIDguNCA1IDEyIDVjMS4zMyAwIDIuNjUuMzIgMy44OC45NGwtLjc1Ljc1QTcuNDUgNy40NSAwIDAgMCAxMiA2QzguOTMgNiA1LjggNy45NiA0LjA4IDEyWk0xMiAxNWEzIDMgMCAwIDEtLjczLS4wOWwuOTItLjkyYTIgMiAwIDAgMCAxLjgtMS44bC45Mi0uOTJBMyAzIDAgMCAxIDEyIDE1Wm0tMi45MS0yLjI3LjkyLS45MUEyIDIgMCAwIDEgMTEuOCAxMGwuOTItLjkyYTMgMyAwIDAgMC0zLjY0IDMuNjRabTkuMDgtNy42Ni0xMy4xIDEzLjEuNzcuNzYgMTMuMDktMTMuMS0uNzYtLjc2WiIvPjwvZz48ZyBmaWxsPSJub25lIiBjbGFzcz0ibG9hZGluZy1leWUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMjAuNDYgMTJjLTMuNSA4LjY3LTEzLjQyIDguNjctMTYuOTIgMCAzLjUtOC42NyAxMy40Mi04LjY3IDE2LjkyIDBaIi8+PC9nPjxnIGZpbGw9Im5vbmUiIGNsYXNzPSJhbmltYXRlZC1sb2FkaW5nLWV5ZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNC41IDEyYTIuNSAyLjUgMCAxIDAtMi41IDIuNSIvPjwvZz48L3N2Zz4nfSw5MDMwMzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxnIGNsYXNzPSJub3JtYWwtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDlhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwWm0tMSAwYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNi45MSA4LjhDMTUuMzEgNC45OSAxMi4xOCAzIDkgMyA1LjgyIDMgMi43IDQuOTggMS4wOCA4LjhMMSA5bC4wOC4yQzIuNyAxMy4wMiA1LjgyIDE1IDkgMTVjMy4xOCAwIDYuMy0xLjk3IDcuOTEtNS44TDE3IDlsLS4wOS0uMlpNOSAxNGMtMi42OSAwLTUuNDItMS42My02LjkxLTUgMS40OS0zLjM3IDQuMjItNSA2LjktNSAyLjcgMCA1LjQzIDEuNjMgNi45MiA1LTEuNSAzLjM3LTQuMjMgNS02LjkxIDVaIi8+PC9nPjxnIGNsYXNzPSJjcm9zc2VkLWV5ZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy43IDE1IDE1IDMuN2wtLjctLjdMMyAxNC4zbC43LjdaTTkgM2MxLjA5IDAgMi4xNy4yMyAzLjE5LjdsLS43Ny43NkMxMC42NCA0LjE2IDkuODIgNCA5IDQgNi4zMSA0IDMuNTggNS42MyAyLjA4IDlhOS4zNSA5LjM1IDAgMCAwIDEuOTMgMi44N2wtLjcuN0ExMC40NCAxMC40NCAwIDAgMSAxLjA4IDkuMkwxIDlsLjA4LS4yQzIuNjkgNC45OSA1LjgyIDMgOSAzWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgNmEzIDMgMCAwIDEgLjc4LjFsLS45LjlBMiAyIDAgMCAwIDcgOC44N2wtLjkuOUEzIDMgMCAwIDEgOSA2Wk0xMS45IDguMjJsLS45LjlBMiAyIDAgMCAxIDkuMTMgMTFsLS45LjlhMyAzIDAgMCAwIDMuNjctMy42OFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE0Yy0uODIgMC0xLjY0LS4xNS0yLjQzLS40NWwtLjc2Ljc2YzEuMDIuNDYgMi4xLjcgMy4xOS43IDMuMTggMCA2LjMxLTEuOTggNy45Mi01LjgxTDE3IDlsLS4wOC0uMmExMC40NCAxMC40NCAwIDAgMC0yLjIzLTMuMzdsLS43LjdjLjc1Ljc2IDEuNDEgMS43MSAxLjkzIDIuODctMS41IDMuMzctNC4yMyA1LTYuOTIgNVoiLz48L2c+PGcgZmlsbD0ibm9uZSIgY2xhc3M9ImxvYWRpbmctZXllIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTE2LjQ1IDljLTMuMDggNy4zMy0xMS44MiA3LjMzLTE0LjkgMCAzLjA4LTcuMzMgMTEuODItNy4zMyAxNC45IDBaIi8+PC9nPjxnIGZpbGw9Im5vbmUiIGNsYXNzPSJhbmltYXRlZC1sb2FkaW5nLWV5ZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMS41IDlBMi41IDIuNSAwIDEgMCA5IDExLjUiLz48L2c+PC9zdmc+J30sMTEzODEwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNS41IDExYTEuNSAxLjUgMCAxIDAgMCAzIDEuNSAxLjUgMCAwIDAgMC0zWk0zIDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBabTkuNS0xLjVhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNaTTEwIDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBabTkuNS0xLjVhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNaTTE3IDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBaIi8+PC9zdmc+J30sODk2OTQ3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMgMTBhMSAxIDAgMSAwIDAtMiAxIDEgMCAwIDAgMCAyWm0wIDFhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0Wm02LTFhMSAxIDAgMSAwIDAtMiAxIDEgMCAwIDAgMCAyWm0wIDFhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0Wm03LTJhMSAxIDAgMSAxLTIgMCAxIDEgMCAwIDEgMiAwWm0xIDBhMiAyIDAgMSAxLTQgMCAyIDIgMCAwIDEgNCAwWiIvPjwvc3ZnPid9LDQ2NzU0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41NC44NGEuOC44IDAgMCAxIC45MiAwbDcuNSA1LjI1YS44LjggMCAwIDEgMCAxLjMybC03LjUgNS4yNWEuOC44IDAgMCAxLS45MiAwTDEuMDQgNy40YS44LjggMCAwIDEgMC0xLjMyTDguNTQuODR6TTIuOSA2Ljc1TDkgMTEuMDJsNi4xLTQuMjdMOSAyLjQ4IDIuOSA2Ljc1eiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTS44NCAxMC44YS44LjggMCAwIDEgMS4xMi0uMkw5IDE1LjUxbDcuMDQtNC45M2EuOC44IDAgMCAxIC45MiAxLjMybC03LjUgNS4yNWEuOC44IDAgMCAxLS45MiAwbC03LjUtNS4yNWEuOC44IDAgMCAxLS4yLTEuMTJ6Ii8+PC9zdmc+J30sOTUyNTQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMjMgMi41OGEuNS41IDAgMCAxIC41NCAwbDUuNSAzLjVhLjUuNSAwIDAgMSAwIC44NGwtNS41IDMuNWEuNS41IDAgMCAxLS41NCAwbC01LjUtMy41YS41LjUgMCAwIDEgMC0uODRsNS41LTMuNXpNMi45MyA2LjVMNy41IDkuNGw0LjU3LTIuOUw3LjUgMy42IDIuOTMgNi41eiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNTggOS4yM2EuNS41IDAgMCAxIC42OS0uMTVMNy41IDEyLjRsNS4yMy0zLjMzYS41LjUgMCAwIDEgLjU0Ljg0bC01LjUgMy41YS41LjUgMCAwIDEtLjU0IDBsLTUuNS0zLjVhLjUuNSAwIDAgMS0uMTUtLjY5eiIvPjwvc3ZnPid9LDg1MjY3MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNiA3LjVBMi41IDIuNSAwIDAgMSA4LjUgNUgxMHYxSDguNUM3LjY3IDYgNyA2LjY3IDcgNy41djEuMTVhMy41IDMuNSAwIDAgMS0xLjkzIDMuMTNsLS40NS4yMi40NS4yMkEzLjUgMy41IDAgMCAxIDcgMTUuMzV2MS4xNWMwIC44My42NyAxLjUgMS41IDEuNUgxMHYxSDguNUEyLjUgMi41IDAgMCAxIDYgMTYuNXYtMS4xNWEyLjUgMi41IDAgMCAwLTEuMzgtMi4yM2wtMS4zNC0uNjdhLjUuNSAwIDAgMSAwLS45bDEuMzQtLjY3QTIuNSAyLjUgMCAwIDAgNiA4LjY1VjcuNVpNMTUuNSA2SDE0VjVoMS41QTIuNSAyLjUgMCAwIDEgMTggNy41djEuMTVjMCAuOTQuNTQgMS44IDEuMzggMi4yM2wxLjM0LjY3YS41LjUgMCAwIDEgMCAuOWwtMS4zNC42N0EyLjUgMi41IDAgMCAwIDE4IDE1LjM1djEuMTVhMi41IDIuNSAwIDAgMS0yLjUgMi41SDE0di0xaDEuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEuMTVhMy41IDMuNSAwIDAgMSAxLjkzLTMuMTNsLjQ1LS4yMi0uNDUtLjIyQTMuNSAzLjUgMCAwIDEgMTcgOC42NVY3LjVjMC0uODMtLjY3LTEuNS0xLjUtMS41WiIvPjwvc3ZnPid9LDE0NTA5MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcgMTRINS41QTEuNSAxLjUgMCAwIDEgNCAxMi41di0xQTIuOSAyLjkgMCAwIDAgMi42NiA5bC4xOC0uMTNBMi45IDIuOSAwIDAgMCA0IDYuNVY1LjVDNCA0LjY3IDQuNjcgNCA1LjUgNEg3VjNINS41QTIuNSAyLjUgMCAwIDAgMyA1LjVWNi41YTEuOSAxLjkgMCAwIDEtLjc3IDEuNThjLS40Mi4zMi0uODQuNDMtLjg1LjQ0QzEuMyA4LjU0IDEgOC42NSAxIDlzLjMuNDYuMzguNDhjMCAwIC40My4xMi44NS40NC40LjMuNzcuOC43NyAxLjU4djFBMi41IDIuNSAwIDAgMCA1LjUgMTVIN3YtMVptNC0xMGgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjV2MUEyLjkgMi45IDAgMCAwIDE1LjM0IDlsLS4xOC4xM0EyLjkgMi45IDAgMCAwIDE0IDExLjVWMTIuNWMwIC44My0uNjcgMS41LTEuNSAxLjVIMTF2MWgxLjVhMi41IDIuNSAwIDAgMCAyLjUtMi41VjExLjVjMC0uNzkuMzgtMS4yNy43Ny0xLjU4LjQyLS4zMi44NC0uNDMuODUtLjQ0LjA4LS4wMi4zOC0uMTMuMzgtLjQ4cy0uMy0uNDYtLjM4LS40OGMwIDAtLjQzLS4xMi0uODUtLjQ0LS40LS4zLS43Ny0uOC0uNzctMS41OHYtMUEyLjUgMi41IDAgMCAwIDEyLjUgM0gxMXYxWiIvPjwvc3ZnPid9LDY5ODU5MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im01LjEyIDEyIDMtNmg3Ljc2bDMgNi0zIDZIOC4xMmwtMy02Wk03LjUgNWg5bDMuNSA3LTMuNSA3aC05TDQgMTJsMy41LTdabTYuNSA3YTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFptMSAwYTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFoiLz48L3N2Zz4nfSw3NDI0MTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMy4xIDkgMi4yOC01aDcuMjRsMi4yOCA1LTIuMjggNUg1LjM4TDMuMSA5Wm0xLjYzLTZoOC41NEwxNiA5bC0yLjczIDZINC43M0wyIDlsMi43My02Wm01Ljc3IDZhMS41IDEuNSAwIDEgMS0zIDAgMS41IDEuNSAwIDAgMSAzIDBabTEgMGEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMFoiLz48L3N2Zz4nfSw3MjA1MjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjUgNmEuNS41IDAgMCAwLS41LjVWN2g0di0uNWEuNS41IDAgMCAwLS41LS41aC0zWk0xNSA3aDN2MWgtMS4wNGwtLjg4IDkuNjRhMS41IDEuNSAwIDAgMS0xLjUgMS4zNkg5LjQyYTEuNSAxLjUgMCAwIDEtMS41LTEuMzZMNy4wNSA4SDZWN2gzdi0uNWMwLS44My42Ny0xLjUgMS41LTEuNWgzYy44MyAwIDEuNS42NyAxLjUgMS41VjdaTTguMDUgOGwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTUuOTQgOGgtNy45WiIvPjwvc3ZnPid9LDg3MjgzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMSAyIDcuNSA1IDQgMiIgY2xhc3M9ImJyYWNrZXQtdXAiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTQgMTNsMy41LTMgMy41IDMiIGNsYXNzPSJicmFja2V0LWRvd24iLz48L3N2Zz4nfSwzNzU3MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMC41MyAzLjczIDE0IDkuMzMgNy40NyAzLjczTTcuNDcgMjQuMjdsNi41MyAtNS42MCA2LjUzIDUuNjAiLz48L3N2Zz4nfSwxNzcyNTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDd2MTIuOTNsNS4xOC00LjMxLjY0Ljc2LTYuMzIgNS4yNy02LjMyLTUuMjcuNjQtLjc2TDEzIDE5LjkzVjdoMXoiLz48L3N2Zz4nfSw1MzY1MzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE5LjMyIDZIOC42OEEyLjY4IDIuNjggMCAwIDAgNiA4LjY4VjExaDFWOC42OEM3IDcuNzUgNy43NSA3IDguNjggN2gxMC42NGMuOTMgMCAxLjY4Ljc1IDEuNjggMS42OFYxMWgxVjguNjhDMjIgNy4yIDIwLjggNiAxOS4zMiA2ek03IDE5LjMyYzAgLjkzLjc1IDEuNjggMS42OCAxLjY4aDEwLjY0Yy45MyAwIDEuNjgtLjc1IDEuNjgtMS42OFYxN2gxdjIuMzJDMjIgMjAuOCAyMC44IDIyIDE5LjMyIDIySDguNjhBMi42OCAyLjY4IDAgMCAxIDYgMTkuMzJWMTdoMXYyLjMyeiIvPjwvc3ZnPid9LDI5NjE2MyhlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJtNy40NyA5LjMzIDYuNTMgLTUuNjBMMjAuNTMgOS4zM00yMC41MyAxOC42N2wtNi41MyA1LjYwTDcuNDcgMTguNjciLz48L3N2Zz4nfSw2MTczMDMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE4IDdoNXYxaC0yLjAxbC0xLjMzIDE0LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZIOS44NGExLjUgMS41IDAgMCAxLTEuNDktMS4zNkw3LjAxIDhINVY3aDVWNmMwLTEuMS45LTIgMi0yaDRhMiAyIDAgMCAxIDIgMnYxWm0tNi0yYTEgMSAwIDAgMC0xIDF2MWg2VjZhMSAxIDAgMCAwLTEtMWgtNFpNOC4wMiA4bDEuMzIgMTQuNTRhLjUuNSAwIDAgMCAuNS40Nmg4LjMzYS41LjUgMCAwIDAgLjUtLjQ2TDE5Ljk5IDhIOC4wMloiLz48L3N2Zz4nfSw5NjIwNzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNi4zNWw2LjMyIDUuMjctLjY0Ljc2TDE0IDguMDdWMjFoLTFWOC4wN2wtNS4xOCA0LjMxLS42NC0uNzYgNi4zMi01LjI3eiIvPjwvc3ZnPid9LDc1MTUxMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSI+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSIxMi43NSIgY3k9IjcuNSIgcj0iMS4yNSIvPjxjaXJjbGUgZmlsbD0iY3VycmVudENvbG9yIiBjeD0iNy41IiBjeT0iNy41IiByPSIxLjI1Ii8+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSIyLjI1IiBjeT0iNy41IiByPSIxLjI1Ii8+PC9zdmc+J30sNDIzNjQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMS44MyA4Ljg4bC0uNjYtLjc2TDggMTAuOVYzSDd2Ny45TDMuODMgOC4xMmwtLjY2Ljc2IDQuMzMgMy43OCA0LjMzLTMuNzh6Ii8+PC9zdmc+J30sNTM4MDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAxMkExLjUgMS41IDAgMCAxIDMgMTAuNVY5SDJ2MS41QTIuNSAyLjUgMCAwIDAgNC41IDEzaDZhMi41IDIuNSAwIDAgMCAyLjUtMi41VjloLTF2MS41YzAgLjgzLS42NyAxLjUtMS41IDEuNWgtNnoiIGNsYXNzPSJicmFja2V0LXVwIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNC41IDNDMy42NyAzIDMgMy42NyAzIDQuNVY2SDJWNC41QTIuNSAyLjUgMCAwIDEgNC41IDJoNkEyLjUgMi41IDAgMCAxIDEzIDQuNVY2aC0xVjQuNWMwLS44My0uNjctMS41LTEuNS0xLjVoLTZ6IiBjbGFzcz0iYnJhY2tldC1kb3duIi8+PC9zdmc+J30sNjQ4OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJtNCA1IDMuNS0zTDExIDUiIGNsYXNzPSJicmFja2V0LXVwIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMSAxMGwtMy41IDNMNCAxMCIgY2xhc3M9ImJyYWNrZXQtZG93biIvPjwvc3ZnPid9LDI4NDA3NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNi41IDJhLjUuNSAwIDAgMC0uNS41VjNoM3YtLjVhLjUuNSAwIDAgMC0uNS0uNWgtMlpNMTAgM2gzdjFoLTEuMDVsLS44NiA4LjY1QTEuNSAxLjUgMCAwIDEgOS41OSAxNEg1LjRhMS41IDEuNSAwIDAgMS0xLjQ5LTEuMzVMMy4wNSA0SDJWM2gzdi0uNUM1IDEuNjcgNS42NyAxIDYuNSAxaDJjLjgzIDAgMS41LjY3IDEuNSAxLjVWM1pNNC4wNSA0bC44NiA4LjU1YS41LjUgMCAwIDAgLjUuNDVIOS42YS41LjUgMCAwIDAgLjUtLjQ1TDEwLjk0IDRoLTYuOVoiLz48L3N2Zz4nfSw4MTI5NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExLjgzIDYuMTJsLS42Ni43Nkw4IDQuMVYxMkg3VjQuMUwzLjgzIDYuODhsLS42Ni0uNzZMNy41IDIuMzRsNC4zMyAzLjc4eiIvPjwvc3ZnPid9LDM4MDU2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNSIgZD0iTTcgMTVsNSA1TDIzIDkiLz48L3N2Zz4nfSw4MjQyNDIoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yLjQgNS40NmEuOC44IDAgMCAxIDEuMTQtLjA1TDggOS40Mmw0LjQ2LTQuMDFhLjguOCAwIDAgMSAxLjA4IDEuMThMOCAxMS41OCAyLjQ3IDYuNTlhLjguOCAwIDAgMS0uMDYtMS4xM3oiLz48L3N2Zz4nfSw0NzE1MTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuNSA1LjU4Yy4yNC0uMjguNjUtLjMuOTItLjA3TDcuNSA4LjE0bDMuMDgtMi42M2EuNjUuNjUgMCAxIDEgLjg0Ljk4TDcuNSA5Ljg2IDMuNTggNi40OWEuNjUuNjUgMCAwIDEtLjA3LS45MXoiLz48L3N2Zz4nfSw0MzE4NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNyA3IiB3aWR0aD0iNyIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgN0w3IDRINFYwSDNWNEgwTDMuNSA3WiIvPjwvc3ZnPid9LDM2ODk1NChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOSA3IiB3aWR0aD0iOSIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0uNSAzLjVMNCAwdjNoNXYxSDR2M3oiLz48L3N2Zz4nfSw5MzMxMTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyIDEyIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExLjU3IDBIMWExIDEgMCAwIDAtMSAxdjEwYTEgMSAwIDAgMCAxIDFoMTAuNTdhLjUuNSAwIDAgMCAuNDEtLjc4bC0zLjMtNC45NGEuNS41IDAgMCAxIDAtLjU2bDMuMy00Ljk0YS41LjUgMCAwIDAtLjQxLS43OHoiLz48L3N2Zz4nfSwyOTEyMDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDkgNyIgd2lkdGg9IjkiIGhlaWdodD0iNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDMuNUw1IDB2M0gwdjFoNXYzeiIvPjwvc3ZnPid9LDgzNTU1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNyA3IiB3aWR0aD0iNyIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgMEwwIDNoM3Y0aDFWM2gzTDMuNSAweiIvPjwvc3ZnPid9LDI2MDYwMyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtkZWZhdWx0OigpPT5zfSk7Y29uc3Qgcz1mdW5jdGlvbigpe3ZhciBlPXtiYXNlOiJodHRwczovL3R3ZW1vamkubWF4Y2RuLmNvbS92LzEzLjAuMS8iLGV4dDoiLnBuZyIsc2l6ZToiNzJ4NzIiLGNsYXNzTmFtZToiZW1vamkiLGNvbnZlcnQ6e2Zyb21Db2RlUG9pbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBlP3BhcnNlSW50KGUsMTYpOmU7aWYodDw2NTUzNilyZXR1cm4gbCh0KTtyZXR1cm4gbCg1NTI5NisoKHQtPTY1NTM2KT4+MTApLDU2MzIwKygxMDIzJnQpKX0sdG9Db2RlUG9pbnQ6Yn0sb25lcnJvcjpmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyKHRoaXMuYWx0LCExKSx0aGlzKX0scGFyc2U6ZnVuY3Rpb24odCxpKXtpJiYiZnVuY3Rpb24iIT10eXBlb2YgaXx8KGk9e2NhbGxiYWNrOml9KTtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiB0P3A6aCkodCx7Y2FsbGJhY2s6aS5jYWxsYmFja3x8ZCxhdHRyaWJ1dGVzOiJmdW5jdGlvbiI9PXR5cGVvZiBpLmF0dHJpYnV0ZXM/aS5hdHRyaWJ1dGVzOmcsYmFzZToic3RyaW5nIj09dHlwZW9mIGkuYmFzZT9pLmJhc2U6ZS5iYXNlLGV4dDppLmV4dHx8ZS5leHQsc2l6ZTppLmZvbGRlcnx8KHM9aS5zaXplfHxlLnNpemUsIm51bWJlciI9PXR5cGVvZiBzP3MrIngiK3M6cyksY2xhc3NOYW1lOmkuY2xhc3NOYW1lfHxlLmNsYXNzTmFtZSxvbmVycm9yOmkub25lcnJvcnx8ZS5vbmVycm9yfSk7dmFyIHN9LHJlcGxhY2U6bSx0ZXN0OmZ1bmN0aW9uKGUpe2kubGFzdEluZGV4PTA7dmFyIHQ9aS50ZXN0KGUpO3JldHVybiBpLmxhc3RJbmRleD0wLHR9fSx0PXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsIiciOiImIzM5OyIsJyInOiImcXVvdDsiCn0saT0vKD86XHVkODNkXHVkYzY4XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDF8XHVkODNkXHVkYzZiXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2Y1x1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNmRcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkW1x1ZGM2Yi1cdWRjNmRdKXwoPzpcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2VcdWRkZDEpKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT9cdTIwMGQoPzpcdTI2OTVcdWZlMGZ8XHUyNjk2XHVmZTBmfFx1MjcwOFx1ZmUwZnxcdWQ4M2NbXHVkZjNlXHVkZjczXHVkZjdjXHVkZjg0XHVkZjkzXHVkZmE0XHVkZmE4XHVkZmViXHVkZmVkXXxcdWQ4M2RbXHVkY2JiXHVkY2JjXHVkZDI3XHVkZDJjXHVkZTgwXHVkZTkyXXxcdWQ4M2VbXHVkZGFmLVx1ZGRiM1x1ZGRiY1x1ZGRiZF0pfCg/Olx1ZDgzY1tcdWRmY2JcdWRmY2NdfFx1ZDgzZFtcdWRkNzRcdWRkNzVdfFx1MjZmOSkoKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZmUwZilcdTIwMGRbXHUyNjQwXHUyNjQyXVx1ZmUwZil8KD86XHVkODNjW1x1ZGZjM1x1ZGZjNFx1ZGZjYV18XHVkODNkW1x1ZGM2ZVx1ZGM3MFx1ZGM3MVx1ZGM3M1x1ZGM3N1x1ZGM4MVx1ZGM4Mlx1ZGM4Nlx1ZGM4N1x1ZGU0NS1cdWRlNDdcdWRlNGJcdWRlNGRcdWRlNGVcdWRlYTNcdWRlYjQtXHVkZWI2XXxcdWQ4M2VbXHVkZDI2XHVkZDM1XHVkZDM3LVx1ZGQzOVx1ZGQzZFx1ZGQzZVx1ZGRiOFx1ZGRiOVx1ZGRjZC1cdWRkY2ZcdWRkZDYtXHVkZGRkXSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP1x1MjAwZFtcdTI2NDBcdTI2NDJdXHVmZTBmfCg/Olx1ZDgzZFx1ZGM2OFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFx1ZGM2OHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2NcdWRmZjNcdWZlMGZcdTIwMGRcdTI2YTdcdWZlMGZ8XHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHVkODNjXHVkZjA4fFx1ZDgzY1x1ZGZmNFx1MjAwZFx1MjYyMFx1ZmUwZnxcdWQ4M2RcdWRjMTVcdTIwMGRcdWQ4M2VcdWRkYmF8XHVkODNkXHVkYzNiXHUyMDBkXHUyNzQ0XHVmZTBmfFx1ZDgzZFx1ZGM0MVx1MjAwZFx1ZDgzZFx1ZGRlOHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNmZcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNkXHVkYzZmXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGQzY1x1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZGRlXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGRkZVx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkZGZcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZGRmXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZFx1ZGMwOFx1MjAwZFx1MmIxYil8WyMqMC05XVx1ZmUwZj9cdTIwZTN8KD86W8Kpwq5cdTIxMjJcdTI2NWZdXHVmZTBmKXwoPzpcdWQ4M2NbXHVkYzA0XHVkZDcwXHVkZDcxXHVkZDdlXHVkZDdmXHVkZTAyXHVkZTFhXHVkZTJmXHVkZTM3XHVkZjIxXHVkZjI0LVx1ZGYyY1x1ZGYzNlx1ZGY3ZFx1ZGY5Nlx1ZGY5N1x1ZGY5OS1cdWRmOWJcdWRmOWVcdWRmOWZcdWRmY2RcdWRmY2VcdWRmZDQtXHVkZmRmXHVkZmYzXHVkZmY1XHVkZmY3XXxcdWQ4M2RbXHVkYzNmXHVkYzQxXHVkY2ZkXHVkZDQ5XHVkZDRhXHVkZDZmXHVkZDcwXHVkZDczXHVkZDc2LVx1ZGQ3OVx1ZGQ4N1x1ZGQ4YS1cdWRkOGRcdWRkYTVcdWRkYThcdWRkYjFcdWRkYjJcdWRkYmNcdWRkYzItXHVkZGM0XHVkZGQxLVx1ZGRkM1x1ZGRkYy1cdWRkZGVcdWRkZTFcdWRkZTNcdWRkZThcdWRkZWZcdWRkZjNcdWRkZmFcdWRlY2JcdWRlY2QtXHVkZWNmXHVkZWUwLVx1ZGVlNVx1ZGVlOVx1ZGVmMFx1ZGVmM118W1x1MjAzY1x1MjA0OVx1MjEzOVx1MjE5NC1cdTIxOTlcdTIxYTlcdTIxYWFcdTIzMWFcdTIzMWJcdTIzMjhcdTIzY2ZcdTIzZWQtXHUyM2VmXHUyM2YxXHUyM2YyXHUyM2Y4LVx1MjNmYVx1MjRjMlx1MjVhYVx1MjVhYlx1MjViNlx1MjVjMFx1MjVmYi1cdTI1ZmVcdTI2MDAtXHUyNjA0XHUyNjBlXHUyNjExXHUyNjE0XHUyNjE1XHUyNjE4XHUyNjIwXHUyNjIyXHUyNjIzXHUyNjI2XHUyNjJhXHUyNjJlXHUyNjJmXHUyNjM4LVx1MjYzYVx1MjY0MFx1MjY0Mlx1MjY0OC1cdTI2NTNcdTI2NjBcdTI2NjNcdTI2NjVcdTI2NjZcdTI2NjhcdTI2N2JcdTI2N2ZcdTI2OTItXHUyNjk3XHUyNjk5XHUyNjliXHUyNjljXHUyNmEwXHUyNmExXHUyNmE3XHUyNmFhXHUyNmFiXHUyNmIwXHUyNmIxXHUyNmJkXHUyNmJlXHUyNmM0XHUyNmM1XHUyNmM4XHUyNmNmXHUyNmQxXHUyNmQzXHUyNmQ0XHUyNmU5XHUyNmVhXHUyNmYwLVx1MjZmNVx1MjZmOFx1MjZmYVx1MjZmZFx1MjcwMlx1MjcwOFx1MjcwOVx1MjcwZlx1MjcxMlx1MjcxNFx1MjcxNlx1MjcxZFx1MjcyMVx1MjczM1x1MjczNFx1Mjc0NFx1Mjc0N1x1Mjc1N1x1Mjc2M1x1Mjc2NFx1MjdhMVx1MjkzNFx1MjkzNVx1MmIwNS1cdTJiMDdcdTJiMWJcdTJiMWNcdTJiNTBcdTJiNTVcdTMwMzBcdTMwM2RcdTMyOTdcdTMyOTldKSg/Olx1ZmUwZnwoPyFcdWZlMGUpKXwoPzooPzpcdWQ4M2NbXHVkZmNiXHVkZmNjXXxcdWQ4M2RbXHVkZDc0XHVkZDc1XHVkZDkwXXxbXHUyNjFkXHUyNmY3XHUyNmY5XHUyNzBjXHUyNzBkXSkoPzpcdWZlMGZ8KD8hXHVmZTBlKSl8KD86XHVkODNjW1x1ZGY4NVx1ZGZjMi1cdWRmYzRcdWRmYzdcdWRmY2FdfFx1ZDgzZFtcdWRjNDJcdWRjNDNcdWRjNDYtXHVkYzUwXHVkYzY2LVx1ZGM2OVx1ZGM2ZVx1ZGM3MC1cdWRjNzhcdWRjN2NcdWRjODEtXHVkYzgzXHVkYzg1LVx1ZGM4N1x1ZGNhYVx1ZGQ3YVx1ZGQ5NVx1ZGQ5Nlx1ZGU0NS1cdWRlNDdcdWRlNGItXHVkZTRmXHVkZWEzXHVkZWI0LVx1ZGViNlx1ZGVjMFx1ZGVjY118XHVkODNlW1x1ZGQwY1x1ZGQwZlx1ZGQxOC1cdWRkMWNcdWRkMWVcdWRkMWZcdWRkMjZcdWRkMzAtXHVkZDM5XHVkZDNkXHVkZDNlXHVkZDc3XHVkZGI1XHVkZGI2XHVkZGI4XHVkZGI5XHVkZGJiXHVkZGNkLVx1ZGRjZlx1ZGRkMS1cdWRkZGRdfFtcdTI3MGFcdTI3MGJdKSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP3woPzpcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNjVcdWRiNDBcdWRjNmVcdWRiNDBcdWRjNjdcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzczXHVkYjQwXHVkYzYzXHVkYjQwXHVkYzc0XHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3N1x1ZGI0MFx1ZGM2Y1x1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRkZTZcdWQ4M2NbXHVkZGU4LVx1ZGRlY1x1ZGRlZVx1ZGRmMVx1ZGRmMlx1ZGRmNFx1ZGRmNi1cdWRkZmFcdWRkZmNcdWRkZmRcdWRkZmZdfFx1ZDgzY1x1ZGRlN1x1ZDgzY1tcdWRkZTZcdWRkZTdcdWRkZTktXHVkZGVmXHVkZGYxLVx1ZGRmNFx1ZGRmNi1cdWRkZjlcdWRkZmJcdWRkZmNcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRlOFx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZTlcdWRkZWItXHVkZGVlXHVkZGYwLVx1ZGRmNVx1ZGRmN1x1ZGRmYS1cdWRkZmZdfFx1ZDgzY1x1ZGRlOVx1ZDgzY1tcdWRkZWFcdWRkZWNcdWRkZWZcdWRkZjBcdWRkZjJcdWRkZjRcdWRkZmZdfFx1ZDgzY1x1ZGRlYVx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWFcdWRkZWNcdWRkZWRcdWRkZjctXHVkZGZhXXxcdWQ4M2NcdWRkZWJcdWQ4M2NbXHVkZGVlLVx1ZGRmMFx1ZGRmMlx1ZGRmNFx1ZGRmN118XHVkODNjXHVkZGVjXHVkODNjW1x1ZGRlNlx1ZGRlN1x1ZGRlOS1cdWRkZWVcdWRkZjEtXHVkZGYzXHVkZGY1LVx1ZGRmYVx1ZGRmY1x1ZGRmZV18XHVkODNjXHVkZGVkXHVkODNjW1x1ZGRmMFx1ZGRmMlx1ZGRmM1x1ZGRmN1x1ZGRmOVx1ZGRmYV18XHVkODNjXHVkZGVlXHVkODNjW1x1ZGRlOC1cdWRkZWFcdWRkZjEtXHVkZGY0XHVkZGY2LVx1ZGRmOV18XHVkODNjXHVkZGVmXHVkODNjW1x1ZGRlYVx1ZGRmMlx1ZGRmNFx1ZGRmNV18XHVkODNjXHVkZGYwXHVkODNjW1x1ZGRlYVx1ZGRlYy1cdWRkZWVcdWRkZjJcdWRkZjNcdWRkZjVcdWRkZjdcdWRkZmNcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRmMVx1ZDgzY1tcdWRkZTYtXHVkZGU4XHVkZGVlXHVkZGYwXHVkZGY3LVx1ZGRmYlx1ZGRmZV18XHVkODNjXHVkZGYyXHVkODNjW1x1ZGRlNlx1ZGRlOC1cdWRkZWRcdWRkZjAtXHVkZGZmXXxcdWQ4M2NcdWRkZjNcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhLVx1ZGRlY1x1ZGRlZVx1ZGRmMVx1ZGRmNFx1ZGRmNVx1ZGRmN1x1ZGRmYVx1ZGRmZl18XHVkODNjXHVkZGY0XHVkODNjXHVkZGYyfFx1ZDgzY1x1ZGRmNVx1ZDgzY1tcdWRkZTZcdWRkZWEtXHVkZGVkXHVkZGYwLVx1ZGRmM1x1ZGRmNy1cdWRkZjlcdWRkZmNcdWRkZmVdfFx1ZDgzY1x1ZGRmNlx1ZDgzY1x1ZGRlNnxcdWQ4M2NcdWRkZjdcdWQ4M2NbXHVkZGVhXHVkZGY0XHVkZGY4XHVkZGZhXHVkZGZjXXxcdWQ4M2NcdWRkZjhcdWQ4M2NbXHVkZGU2LVx1ZGRlYVx1ZGRlYy1cdWRkZjRcdWRkZjctXHVkZGY5XHVkZGZiXHVkZGZkLVx1ZGRmZl18XHVkODNjXHVkZGY5XHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlOVx1ZGRlYi1cdWRkZWRcdWRkZWYtXHVkZGY0XHVkZGY3XHVkZGY5XHVkZGZiXHVkZGZjXHVkZGZmXXxcdWQ4M2NcdWRkZmFcdWQ4M2NbXHVkZGU2XHVkZGVjXHVkZGYyXHVkZGYzXHVkZGY4XHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZmJcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhXHVkZGVjXHVkZGVlXHVkZGYzXHVkZGZhXXxcdWQ4M2NcdWRkZmNcdWQ4M2NbXHVkZGViXHVkZGY4XXxcdWQ4M2NcdWRkZmRcdWQ4M2NcdWRkZjB8XHVkODNjXHVkZGZlXHVkODNjW1x1ZGRlYVx1ZGRmOV18XHVkODNjXHVkZGZmXHVkODNjW1x1ZGRlNlx1ZGRmMlx1ZGRmY118XHVkODNjW1x1ZGNjZlx1ZGQ4ZVx1ZGQ5MS1cdWRkOWFcdWRkZTYtXHVkZGZmXHVkZTAxXHVkZTMyLVx1ZGUzNlx1ZGUzOC1cdWRlM2FcdWRlNTBcdWRlNTFcdWRmMDAtXHVkZjIwXHVkZjJkLVx1ZGYzNVx1ZGYzNy1cdWRmN2NcdWRmN2UtXHVkZjg0XHVkZjg2LVx1ZGY5M1x1ZGZhMC1cdWRmYzFcdWRmYzVcdWRmYzZcdWRmYzhcdWRmYzlcdWRmY2YtXHVkZmQzXHVkZmUwLVx1ZGZmMFx1ZGZmNFx1ZGZmOC1cdWRmZmZdfFx1ZDgzZFtcdWRjMDAtXHVkYzNlXHVkYzQwXHVkYzQ0XHVkYzQ1XHVkYzUxLVx1ZGM2NVx1ZGM2YVx1ZGM2Zlx1ZGM3OS1cdWRjN2JcdWRjN2QtXHVkYzgwXHVkYzg0XHVkYzg4LVx1ZGNhOVx1ZGNhYi1cdWRjZmNcdWRjZmYtXHVkZDNkXHVkZDRiLVx1ZGQ0ZVx1ZGQ1MC1cdWRkNjdcdWRkYTRcdWRkZmItXHVkZTQ0XHVkZTQ4LVx1ZGU0YVx1ZGU4MC1cdWRlYTJcdWRlYTQtXHVkZWIzXHVkZWI3LVx1ZGViZlx1ZGVjMS1cdWRlYzVcdWRlZDAtXHVkZWQyXHVkZWQ1LVx1ZGVkN1x1ZGVlYlx1ZGVlY1x1ZGVmNC1cdWRlZmNcdWRmZTAtXHVkZmViXXxcdWQ4M2VbXHVkZDBkXHVkZDBlXHVkZDEwLVx1ZGQxN1x1ZGQxZFx1ZGQyMC1cdWRkMjVcdWRkMjctXHVkZDJmXHVkZDNhXHVkZDNjXHVkZDNmLVx1ZGQ0NVx1ZGQ0Ny1cdWRkNzZcdWRkNzhcdWRkN2EtXHVkZGI0XHVkZGI3XHVkZGJhXHVkZGJjLVx1ZGRjYlx1ZGRkMFx1ZGRkZS1cdWRkZmZcdWRlNzAtXHVkZTc0XHVkZTc4LVx1ZGU3YVx1ZGU4MC1cdWRlODZcdWRlOTAtXHVkZWE4XHVkZWIwLVx1ZGViNlx1ZGVjMC1cdWRlYzJcdWRlZDAtXHVkZWQ2XXxbXHUyM2U5LVx1MjNlY1x1MjNmMFx1MjNmM1x1MjY3ZVx1MjZjZVx1MjcwNVx1MjcyOFx1Mjc0Y1x1Mjc0ZVx1Mjc1My1cdTI3NTVcdTI3OTUtXHUyNzk3XHUyN2IwXHUyN2JmXHVlNTBhXSl8XHVmZTBmL2cscz0vXHVGRTBGL2csbz1TdHJpbmcuZnJvbUNoYXJDb2RlKDgyMDUpLG49L1smPD4nIl0vZyxhPS9eKD86aWZyYW1lfG5vZnJhbWVzfG5vc2NyaXB0fHNjcmlwdHxzZWxlY3R8c3R5bGV8dGV4dGFyZWEpJC8sbD1TdHJpbmcuZnJvbUNoYXJDb2RlCjtyZXR1cm4gZTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQ/ZS5yZXBsYWNlKHMsIiIpOmUpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4iIi5jb25jYXQodC5iYXNlLHQuc2l6ZSwiLyIsZSx0LmV4dCl9ZnVuY3Rpb24gdShlLHQpe2Zvcih2YXIgaSxzLG89ZS5jaGlsZE5vZGVzLG49by5sZW5ndGg7bi0tOykzPT09KHM9KGk9b1tuXSkubm9kZVR5cGUpP3QucHVzaChpKToxIT09c3x8Im93bmVyU1ZHRWxlbWVudCJpbiBpfHxhLnRlc3QoaS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXx8dShpLHQpO3JldHVybiB0fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGIoZS5pbmRleE9mKG8pPDA/ZS5yZXBsYWNlKHMsIiIpOmUpfWZ1bmN0aW9uIGgoZSx0KXtmb3IodmFyIHMsbyxuLGEsbCxkLGgscCxfLGcsbSxiLHYsZj11KGUsW10pLFM9Zi5sZW5ndGg7Uy0tOyl7Zm9yKG49ITEsYT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZD0obD1mW1NdKS5ub2RlVmFsdWUscD0wO2g9aS5leGVjKGQpOyl7aWYoKF89aC5pbmRleCkhPT1wJiZhLmFwcGVuZENoaWxkKHIoZC5zbGljZShwLF8pLCEwKSksYj1jKG09aFswXSkscD1fK20ubGVuZ3RoLHY9dC5jYWxsYmFjayhiLHQpLGImJnYpe2ZvcihvIGluKGc9bmV3IEltYWdlKS5vbmVycm9yPXQub25lcnJvcixnLnNldEF0dHJpYnV0ZSgiZHJhZ2dhYmxlIiwiZmFsc2UiKSxzPXQuYXR0cmlidXRlcyhtLGIpKXMuaGFzT3duUHJvcGVydHkobykmJjAhPT1vLmluZGV4T2YoIm9uIikmJiFnLmhhc0F0dHJpYnV0ZShvKSYmZy5zZXRBdHRyaWJ1dGUobyxzW29dKTtnLmNsYXNzTmFtZT10LmNsYXNzTmFtZSxnLmFsdD1tLGcuc3JjPXYsbj0hMCxhLmFwcGVuZENoaWxkKGcpfWd8fGEuYXBwZW5kQ2hpbGQocihtLCExKSksZz1udWxsfW4mJihwPGQubGVuZ3RoJiZhLmFwcGVuZENoaWxkKHIoZC5zbGljZShwKSwhMCkpLGwucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoYSxsKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcChlLHQpe3JldHVybiBtKGUsKGZ1bmN0aW9uKGUpe3ZhciBpLHMsbz1lLGE9YyhlKSxsPXQuY2FsbGJhY2soYSx0KTtpZihhJiZsKXtmb3IocyBpbiBvPSI8aW1nICIuY29uY2F0KCdjbGFzcz0iJyx0LmNsYXNzTmFtZSwnIiAnLCdkcmFnZ2FibGU9ImZhbHNlIiAnLCdhbHQ9IicsZSwnIicsJyBzcmM9IicsbCwnIicpLGk9dC5hdHRyaWJ1dGVzKGUsYSkpaS5oYXNPd25Qcm9wZXJ0eShzKSYmMCE9PXMuaW5kZXhPZigib24iKSYmLTE9PT1vLmluZGV4T2YoIiAiK3MrIj0iKSYmKG89by5jb25jYXQoIiAiLHMsJz0iJyxpW3NdLnJlcGxhY2UobixfKSwnIicpKTtvPW8uY29uY2F0KCIvPiIpfXJldHVybiBvfSkpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIHRbZV19ZnVuY3Rpb24gZygpe3JldHVybiBudWxsfWZ1bmN0aW9uIG0oZSx0KXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoaSx0KX1mdW5jdGlvbiBiKGUsdCl7Zm9yKHZhciBpPVtdLHM9MCxvPTAsbj0wO248ZS5sZW5ndGg7KXM9ZS5jaGFyQ29kZUF0KG4rKyksbz8oaS5wdXNoKCg2NTUzNisoby01NTI5Njw8MTApKyhzLTU2MzIwKSkudG9TdHJpbmcoMTYpKSxvPTApOjU1Mjk2PD1zJiZzPD01NjMxOT9vPXM6aS5wdXNoKHMudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKHR8fCItIil9fSgpfX1dKTs="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/50316.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.537Z","timestamp":1785136901537,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/50316.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a43614c-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:25:16 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:11\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8f14357f5abc4abc639943f1f6343a28\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.40528.289cbeb8632c78beb058.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.727Z","timestamp":1785136901727,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.40528.289cbeb8632c78beb058.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-271\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bcffbd7f27f858fbe20e502cbb67d89e\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":625,"size_decoded":1094,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (625), with no line terminators","md5":"9cc57475f4bc0e83551677f01ccb8326","sha1":"7788d2091a21e10ce4b20002d0875d298f78abdf","sha256":"aa7b0b72c05e6c30b63168c1ba891445e1f0b8805b81cb23935b9223f1388695","sha512":"441f0b713c7694da019960f7436a51911c9fed2b5b0175690d67e8ed7cee4263fa6e48b0b551d23792bf6a38cae5f76b7a06562338a3c793337c2d3eaaa09765","ssdeep":"","tlshash":"34f0a233c10959303f15639473c566518169714fe39280575123b1e053c3ca8e4ceedd","first_seen":"2026-05-05T12:17:23.734679Z","last_seen":"2026-08-10T05:00:33.693328Z","times_seen":479,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MDUyOF0sezE0MzQxMihlKXtlLmV4cG9ydHM9WyJOb3QgYXBwbGljYWJsZSJdfSw0ODc3NjMoZSl7ZS5leHBvcnRzPVsiVHlwZSB0aGUgaW50ZXJ2YWwgbnVtYmVyIGZvciBtaW51dGUgY2hhcnRzIChpLmUuIDUgaWYgaXQgaXMgZ29pbmcgdG8gYmUgYSBmaXZlIG1pbnV0ZSBjaGFydCkuIE9yIG51bWJlciBwbHVzIGxldHRlciBmb3IgSCAoSG91cmx5KSwgRCAoRGFpbHkpLCBXIChXZWVrbHkpLCBNIChNb250aGx5KSBpbnRlcnZhbHMgKGkuZS4gRCBvciAySCkiXX0sMjEyMDUoZSl7ZS5leHBvcnRzPVsiVHlwZSB0aGUgaW50ZXJ2YWwgbnVtYmVyIGZvciBtaW51dGUgY2hhcnRzIChpLmUuIDUgaWYgaXQncyBnb2luZyB0byBiZSBhIGZpdmUgbWludXRlIGNoYXJ0KS4gT3IgbnVtYmVyIHBsdXMgbGV0dGVyIGZvciBvdGhlciBpbnRlcnZhbHM6IFMgZm9yIDEgc2Vjb25kIGNoYXJ0ICgxNVMgZm9yIDE1IHNlY29uZCBjaGFydCwgZXRjLiksIEggKEhvdXJseSksIEQgKERhaWx5KSwgVyAoV2Vla2x5KSwgTSAoTW9udGhseSkgaW50ZXJ2YWxzIChpLmUuIEQgb3IgMkgpIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/shell.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.052Z","timestamp":1785136902052,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /shell.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSOL.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.375Z","timestamp":1785136905375,"http_version":"HTTP/2","security_state":"secure","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 /crypto/XTVCSOL.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"4e7ffbe0158d6691280828b83a04be6a\"\r\nlast-modified: Fri, 26 Apr 2024 14:09:44 GMT\r\ncdn-cachedat: 08/14/2025 09:09:49\r\nx-amz-id-2: i9iofEtVq9BEtSfA9SnRXjv2axec3T64ks2+JF6fHWjeKRkbxN0FGf2QZ5lDr8TpEIFysEJ8/vg=\r\nx-amz-request-id: NKVPH09E6MHYS4PB\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 4e7ffbe0158d6691280828b83a04be6a\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7c9592fb9e77fe8d195d72d40669de8e\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSYRUP.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.525Z","timestamp":1785136905525,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSYRUP.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/img/pro.jpg","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.543Z","timestamp":1785136899543,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/pro.jpg HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/jpeg\r\nContent-Length: 22171\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":22171,"size_decoded":22383,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=12, height=200, bps=0, PhotometricInterpretation=RGB, orientation=upper-left, width=200], baseline, precision 8, 200x200, components 3","md5":"7351b54bad1c014788f7ce74afc5529d","sha1":"773a496ffe412cd88aac4bbc0c3618dd0915b31b","sha256":"180f57a059ec960723050e54487b8fc07aa7eac5bc8e0c9e81442a0cc165d55c","sha512":"0627c170d1f166ef587440c1e3f7de230acbef49a0dedd50c0ee3318be58602768452ddbef64bd9a4fd7874708f292635679ed4e67532d6d554403646dafcea0","ssdeep":"384:LhL7idCnXHsmOYNg70695xrViUHEGGADFBNv:V7f6YyR5xrlTvh","tlshash":"afa20731ae61ef13f9a1543807a5dbab921a2e1f47e723443c5dd60b3b63dc6289e502","first_seen":"2023-05-26T12:31:46Z","last_seen":"2026-08-07T05:09:44.496027Z","times_seen":88,"resource_available":false,"data":"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cm9wUmVjdExlZnRsb25nAAAAAAAAAA1jcm9wUmVjdFJpZ2h0bG9uZwAAAAAAAAALY3JvcFJlY3RUb3Bsb25nAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAABaOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgACOEJJTQQCAAAAAAAGAAAAAAAAOEJJTQQwAAAAAAADAQEBADhCSU0ELQAAAAAABgABAAAABjhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAAM7AAAABgAAAAAAAAAAAAAAyAAAAMgAAAADAHAAcgBvAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAADIAAAAyAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAyAAAAABSZ2h0bG9uZwAAAMgAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlw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IFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTgtMTAtMTZUMjE6MTA6MzIrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMDgtMTRUMTE6Mjc6NTMrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA4LTE0VDExOjI3OjUzKzAxOjAwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjM5MDIzYzE3LTY3ODItZDk0Ni1hYzI4LTNhYTIxMGQ0OWUxNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjc5MjVjMTBhLWQxN2YtMTFlOC1iYTQ0LWFmZmUxYjhkNjcwNiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmQ1MTg2MDI3LWE2MGYtYzM0Mi04M2I0LWRlMzc1NTI0ZDcwNCIgcGhvdG9zaG9wOkxlZ2FjeUlQVENEaWdlc3Q9IkNEQ0ZGQTdEQThDN0JFMDkwNTcwNzZBRUFGMDVDMzRFIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZDUxODYwMjctYTYwZi1jMzQyLTgzYjQtZGUzNzU1MjRkNzA0IiBzdEV2dDp3aGVuPSIyMDE4LTEwLTE2VDIxOjEwOjMyKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmI5MmZlN2U5LTM3ZjMtM2E0OS05NGM0LTU5MjdkMjQ4ODJiYyIgc3RFdnQ6d2hlbj0iMjAxOC0xMC0xNlQyMToxMDozMiswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozOTAyM2MxNy02NzgyLWQ5NDYtYWMyOC0zYWEyMTBkNDllMTUiIHN0RXZ0OndoZW49IjIwMTktMDgtMTRUMTE6Mjc6NTMrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+QjQ0NzJDRjJDRDREODYyMDFFNjNCREIzNTRGOEREQjQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOkM4MDgzRTA5RUM4RTExRTQ4MjU3RDY0MEM2NENFQjBEPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz7/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////7gAOQWRvYmUAZEAAAAAB/9sAhAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMDAQEBAQEBAQEBAQECAgECAgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwP/wAARCADIAMgDAREAAhEBAxEB/90ABAAZ/8QBogAAAAYCAwEAAAAAAAAAAAAABwgGBQQJAwoCAQALAQAABgMBAQEAAAAAAAAAAAAGBQQDBwIIAQkACgsQAAIBAwQBAwMCAwMDAgYJdQECAwQRBRIGIQcTIgAIMRRBMiMVCVFCFmEkMxdScYEYYpElQ6Gx8CY0cgoZwdE1J+FTNoLxkqJEVHNFRjdHYyhVVlcassLS4vJkg3SThGWjs8PT4yk4ZvN1Kjk6SElKWFlaZ2hpanZ3eHl6hYaHiImKlJWWl5iZmqSlpqeoqaq0tba3uLm6xMXGx8jJytTV1tfY2drk5ebn6Onq9PX29/j5+hEAAgEDAgQEAwUEBAQGBgVtAQIDEQQhEgUxBgAiE0FRBzJhFHEIQoEjkRVSoWIWMwmxJMHRQ3LwF+GCNCWSUxhjRPGisiY1GVQ2RWQnCnODk0Z0wtLi8lVldVY3hIWjs8PT4/MpGpSktMTU5PSVpbXF1eX1KEdXZjh2hpamtsbW5vZnd4eXp7fH1+f3SFhoeIiYqLjI2Oj4OUlZaXmJmam5ydnp+So6SlpqeoqaqrrK2ur6/9oADAMBAAIRAxEAPwDf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691//0N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+690XLtn5bfHXpKomxvYfae28ZnoVcttbGzTbh3TqQX8cm38BDkcnSu3488cS/4+/de6qa+Rn80XeuXzNNTfGfPQ4PajUTR5Gv3d1mINzw5BWQCbHT5ncGSx9VRVMZa3kxdPJCVH+cvce690QvPfLL5Q7lllkyvyA7S0zEl6fFbiO3aTnkqlJt2mxMCIPwAvHv3Xusu1flx8otmVtPXYTvrseU00gkjodxZr+92IlI+qVWL3NDlKeeF/7QGhj+GH19+690Ztv5oPyCTcWzt101Ft1avF4eowu/9qTNVS7A7BWKqjmw+4Mbjn8uc693VTU71EdTLSVdVSVJaItAyRBB7r3Vxfxj+Z/UfydoPssBVybU7FoqU1Ob6z3HUU65+liRV82QwlTGI6TdOBVzYVdJdo+PPFAxCn3Xujd+/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6//9Hf49+691737r3Xvfuvde9+691737r3Xvfuvde9+690G3bHbvXnSOzMhv3szctFtnbuPKwrNUlpa3J5CYN9ph8JjIBJXZnM1zKRFTU6PIwBYgIrMPde619/kx/Mg7b7omr9tdaS5Pp7rR3npwMbWCHsXdFG48WvO5+ikYbapKmMEmhxr+YK5WWqe2ge691XKkUcZlZFAeeRpZ5CS0tRM5LPNUzOWlqZ3Y3Z5GZ2PJJPv3Xuufv3Xuve/de697917r3v3Xup+JyuWwGXxW4dv5XI4HcGBrocng89hquXH5fD5GnYNFW46ugKy08y2sw5SRCUdWQlT7r3WxP8EvndF8gETqvtJqDFd0YvHSVlBkKWOOhxHZmHoI1NblcVRraLHbmxsdpMjjo/2/GTU0w8Pkjp/de6sy9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvdf//S3+Pfuvde9+691737r3Xvfuvde9+691737r3SJ7I7B2x1TsTdfY+86447bGzcLW5zMVKoJJvt6RLpS0kJZPuchXzskFPECDLPIiDlh7917rVB+Q/yF358luwqnfm9pZaKhpnqqbZGy4qlpsTsXATv6KGlQaYanP1sSq2TyGkSVMw0Lpp0ijX3XugL9+691737r3Xvfuvde9+691737r3Xvfuvde9+691PxWVyuCyeOzmDydfhc3h6tMhiMziquagymKr40eOOtx9dTPHUUlSkcrKHRgdLEfQke/de6GjbHyk+SmzshFk9v979nQzxzrUPT5fc9bunF1UqcgVuI3Q2Yx9TEb2KaACD+Pr7917q7b4P/P8Aj7+yKdU9rUOJ2521FQS1mAymIElLtvsaix8PkyLUFFUzTy4TdNBCpnqKDySxTQBpqdtCSRRe691Z37917r3v3Xuve/de697917r3v3Xuve/de697917r/9Pf49+691737r3Xvfuvde9+691737r3XvfuvdVy/wAzSHD1PRGNh3pviq2d17Fu7HV+fxW3KKHJb+7JzlBDUVGzuvtpU+QlhwdHFWZpBX5CtrfLFR01B5PEwDsvuvda2blWd2VDEjOxSIyeZooyxMcbTCOITPGlgzhEDEXCi9h7r3XH37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69054TPZzaubwu6dr5CXE7m2xl8fuHbuThYpJQZvE1C1ePqNQ5MJmTRMn0kgd0N1Yj37r3W390X2nju7eoOve1cXGtPBvXbOPy1TRLqIxuW0GlzmKuxZycXmaeenuTc+O5+vv3XuhX9+691737r3Xvfuvde9+691737r3Xvfuvdf/1N/j37r3Xvfuvde9+691737r3Xvfuvde9+691rSfzMO6qjtD5E1ux6KsaTaPSlO216GmR2+3n3rk4Kau3nlZImsDVUivTYxG/silmA/zjX917qvL37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdbAv8ovfE2Z6U7C2DUM7Hr7saeqoC7kiPE74xlPnUghUk6IY81DXkW41MR+PfuvdWx+/de697917r3v3Xuve/de697917r3v3Xuv/9Xf49+691737r3Xvfuvde9+691737r3UHJ5CDE43IZWqJFLjaGryFSV+ogo6eSpmI/xEcZ9+691pb5rcNbu7OZ7d2Smapr92Z/OborKhr6559xZWrzDSNqJbn73gH6Cw/Hv3Xum337r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdW6/wAn7Oywdpd27Y1MIMnsLaG4NNzpabDbhy+MLab21KmcAv8A0Pv3Xur8/fuvde9+691737r3Xvfuvde9+691737r3X//1t/j37r3Xvfuvde9+691737r3XvfuvdIPtRmTrDsd0JDrsPd7KQbEMu3siVIP4II9+691pi4v/i14v8A7VuP/wDcSH37r3U737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdWffyl6t4PklvClU+nIdO5hZB+D9lu7akyf7EGY/7f37r3WxV7917r3v3Xuve/de697917r3v3Xuve/de6//19/j37r3Xvfuvde9+691737r3XvfuvdMO6cW2c2xuPCqAWzGBy+LUMwVS2Qx9RSAMxICgmbkn6e/de60rKOB6SlgopQRLQRjHzXFv3sf/kU3H/LWA+/de6k+/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917qzf+U5C7fJbdNSLCGj6dz7VEhNljWo3Xs+KIux9KhnWwv9ffuvdbGPv3Xuve/de697917r3v3Xuve/de697917r/0N/j37r3Xvfuvde9+691737r3Xvfuvda0X8wb5N9gdmd3b46xx25M1gesOsc7PtCn2vhslWYqn3HuHEpGm4Nw7mkoJ4JsxbJSSUtHTSsaWCng1eMySu3v3Xuq9Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3WWOeoiSaOGqq6eOpjWKqjpquppUq4VdZVgrEp5Ylq4ElUOI5NSBwGA1AH37r3Von8tT5N7+233Hgejty7ly+4+uuwYMrRYGgz+RrMvPs/dmOx1Xm6F8FW10lTXQYjNUlBUQT0ZkNPHN4pYxH+4H917rYf8Afuvde9+691737r3Xvfuvde9+691//9Hf49+691737r3Xvfuvde9+691737r3WtF/Mn6GyPU/f2S7Ao6aR9j921VTubH1wBaPH74gp4Bu/AVMnGiWt8a5SlBAEkc06gnwN7917qvT37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Vpn8rLoXJb27brO8srSyRbN6pjyGJwNRIhEWc7EzWONJPFTFk0yQbU29kJJJ3U8VVbCv1RwPde62HPfuvde9+691737r3Xvfuvde9+691//S3+Pfuvde9+691737r3Xvfuvde9+690Xv5S9G435D9I7062qkiTMVVCcxsvJSKmvC74wqSVe2slG72EaGsH29RyNdHUTRnhz7917rUZUTLqjqYGpauF5KespXvrpK2nkaCspXJ+r01TG8ZP5K+/de65e/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917pxw+Fy25czhdtYCAVWe3LmcVt3B055WbL5zIU+LxquPqYRWVaF7c6AT7917rcB6Q6k250Z1Xszq3a8a/w7amIhpKit0aKjNZmcmrzufrjcs9dm8vNNUyEk2aTSPSAB7r3Qre/de697917r3v3Xuve/de697917r//09/j37r3Xvfuvde9+691737r3Xvfuvde9+691qv/ADq6HznSXyG3iY8LXLsbsnM5HfOwspS0FRLjJf45UNkNybajmgSdI8rgM7POTTswlajmhlVdBNvde6Jv/tj9CCDcEHkEEfUEe/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de69/xv/eOffuvdWD/y3Oic32j8hMBv+rw9cmwenZ5dz5HNVNLU01DW7z+1mpdqbfx9RLEsdZXUlRVNkalUuII6aMOVaZAfde62Yffuvde9+691737r3Xvfuvde9+691737r3X/1N/j37r3Xvfuvde9+691737r3Xvfuvde9+691FrKKkr4Hpq2nhqoJFkRo5o1kW0sUkEltQOlmhlZbix0sR+ffuvdaZ/YOz6nrzsHf2wKwFanZG9d0bWZTp4p8Pmaulx7DTddE2MWGRbcaHHv3Xukj7917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6XnVWy5ux+0+s+v4ATJvPf21MBJYkBaKqzFLLlpHYBtKQ4iCocm30X37r3W5NBTwUsSwU0ENPCgskMEaQxILk2SOMKi8n8D37r3Wb37r3Xvfuvde9+691737r3Xvfuvde9+691/9Xf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691rQfzOetzsX5SZLcdNAkOJ7Y2tiN403iRli/jmIRNrbmQsRpaoc0FFUuAb3qb/n37r3Ve3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917qxv+Vx1u+9Pk3/AHvqIfJieptnZTcDu8ReA7i3QJdsYCLXYolTHQSZKdb8jxAj8e/de62Tffuvde9+691737r3Xvfuvde9+691737r3Xvfuvdf/9bf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691WJ/NT6fl310HQdlYqmefOdLZz+8FX4hqkl2RnY4sPu9CiqXlTHn7PIkXsqULn/W917rXS9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv9iB/iSAB/iSeAPfuvdbIH8rjp6Xrz48HfeVpnp8/3VmjvIrKrpNDtChg/hGyKd45ANAqcdFLkRbj/AHIf7H37r3VlHv3Xuve/de697917r3v3Xuve/de697917r3v3Xuv/9ff49+691737r3Xvfuvde9+691737r3Xvfuvde9+69025nD4zcOHyuAzVHDkcPnMbXYfLY+oXVT12NyVLLRV1HOoILQ1NLMyMPyrH37r3Wod8g+lcx8eu4N5dUZUTy0uCq1rtpZSdSv8e2LlXml2vlkblJJo6WNqOr0s2mupJgT9PfuvdA17917r3v3Xuve/de697917r3v3Xuve/de697917ocfjd0fk/kV3NtDqyiSdMTkqhsvvjJQK3+4bYOIlgk3FVmQKyw1GSWWPHUpa16qsQjhWt7r3W3VjMbQYbG4/EYqkgoMXiqGkxuNoaZBHT0VBQwR0tHSU8Y4jgp6eJURfwoA9+691N9+691737r3Xvfuvde9+691737r3Xvfuvde9+691//0N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdEG+fPxK/2ZHrumz2z6amj7h66hrq3Z8khSnXdOIqRHNmth5CrNljjyv26TUEshMdNkY0JKRSzk+691rJOkkcksM0UtPPBNNTVNNOhjqKWqp5XgqaWojNzFUUtRG0ci/2XUj8e/de64+/de697917r3v3Xuve/de697917rlHHLNLDBBDLUVNTPBS0tNAoeeqq6qZKekpKdCVD1FVUyrHGCQC7AXH19+691s+fBD4mp8aOt58humGjqO3ewkocpvmrgZamPA0lPG74XYmMqxdZaLb61MjVMsdkq8hLNIC0Yh0+690er37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvdf/0d/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdIHtTfWP6x61352HlJooaHZm089uOVpmCpI+KxtRVU9OL8NJV1MaRIv8AadwPz7917rTTWWoqNdVWC1ZWSzV1b+f8urpnq6035vqqp3P+x9+691y9+691737r3Xvfuvde9+691737r3XFpZ6fTVUl/u6OSKuo7fX72hlSroyCOQRVQoffuvdbmHV+9qHsnrjYm/8AGzRzUW8tpYDckLxEFFOWxlNWTQ8cK9PPK0bD+yykfj37r3S69+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X//S3+Pfuvde9+691737r3Xvfuvde9+691737r3USur6HF0dRkMlWUmOoKSJpquurqiGko6WFP1S1FTUPHDDEv5ZmAHv3XuiBdxfzLvjZ1g9Zi9uZiv7f3PTGWH+GdeJT1mDhq4mAMOQ3pWy023IVIuSaaWskFv82bj37r3VT/yN/mIdnfInYW5OsKvZW19jbN3Dk8JVyth8vmMpuGbGYXJR5U4TL1lVDR42tpcnVUsBm8NPBpWMqNYYke691X/7917r3v3Xuve/de697917r3v3Xuve/de697917qwr46fzF+yvj3sPafV0exNs752VtaqzLJJkczlcRuj+F5bLVGWhxOMrYaatxVJBiHrJY4PNTzGSPSC0enn3XurW+nv5lXxp7Rejxmfztb1HueqMUP8ACuxo6fHYiarlNvDjt40k1TtmpUEixnnpZSP91jn37r3R+aKuoslSU9fjqylyFDVxLPS1tFURVVJUwuLpNT1MDyQzROPoysQffuvdSvfuvde9+691737r3Xvfuvde9+691737r3X/09/j37r3Xvfuvde9+691737r3SN352Hsbq/blbu7sPdeD2dtrHoWqcxn8hBj6QNod1p4DMwkq6yVUPjghV5pDwqk8e/de6qL7z/m1Y6mNZg/jvsw5uZfLAvYPYNNW4zCK3rj+5wmz4ZaTPZRRdZI5K6XHo1uY3U+/de6qS7V7z7i7wqzVdsdi7j3jCJZJoMFPUrjNo0LSWDCg2jiVo8FGAqgBpYpprDmQ+/de6CkAKAqgKqgKqqAFVRwFUCwAA/A9+69137917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de66IDBlYBlYFWVgGVlIsVZSCCCPwffuvdCx1V3t3J0dVLU9Udjbj2fT+ZJp8DDUrlNoVzxgqorto5ZKzBONLEFoooZrHhx7917q2no3+bXj6g0eE+RGyzhpSIoG3/15T1uSwzN6IzUZrZ1RLVZzGK3Mkj0M2QQfiNQPfuvdW57B7G2H2ntyj3d11u3Bby25XKPBlsBXw11MH0h2p6lYmM1FWRhhrgmWOaM8MoPv3Xulr7917r3v3Xuve/de697917r/9Tf49+691737r3XvfuvdV2/MD+YBsz49ff7D2JFjt/d0CJVnwzTudtbFFRCJaet3vW0kizGskjdXgxVOwrJkIaRqeJlkb3XutevtDtnsnurczbv7V3jld55xWk+x++ZafDYGGR3c0e2NvUxXE4CjXWeIY/M9/3ZZGux917oPffuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3S+6z7U7H6a3Mm8OrN4ZbZef1R/dy46RZsVm4Y3RxRbmwFT5MTuGhYoAUqIzIoH7ckbWYe691sIfD3+YJs75Atjuv+wYcfsLud42SlxqTOu1d+/bxeSaq2ZWVcrzwZNY0Z5sRUs1VGo1wvURhnT3XurGvfuvde9+691737r3X//V3+Pfuvde9+691XV/MD+YEnx62bTbE2DXQr3L2BQ1DYmpKR1C7F2sHko6/etVTvqSTIPOrU2JhkUxy1YeVw0dPIj+691rXySTTzVFVU1FTWVlbU1FdX11dUS1lfkMhWStPW5DIVtQz1FbX1tQ7SSyyMzu5JJ9+691w9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XJJJYZYKinnqaSqpKmnraKtoqiWkrqCuo5kqKKvoKynZKijrqKojWSGaNleN1BB9+691sm/y+fl/N8g9m1WwewK+KTuTr+hgfJ1ZSKnO+9qGVKPH7yp4I9MaZKCZlpctFGoSOqKTKFjqURPde6sZ9+691737r3X/1t/j37r3TLuTcGJ2nt7O7pz1WlBg9t4fJZ7MVsnKUmLxFHNX19Qw4JENLTs1vqbe/de60+e4e1c53j2jvbtncJmWu3pmJK2goZXZhg9s0q/abV29CCB44sRhI4lcWGqpeaQ+pyffuvdBv7917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917oSene1c30d2lsjtrANM1XsvMxVuRooXZP43teqH2e69vzBQ3kjyuDllCCx01KQuOUB9+691uD7ez2K3TgMJubBVaV+F3FicdnMRWx/wCbq8ZlqOGvoKlP6LNSzqw/PPv3Xunj37r3X//X3+PfuvdVufzSuzH2V8aJ9nUU4jynbm5sXsxkDMkp25SiTcW6njdLFVmx2KWkb+oq7fn37r3Wt17917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3XuvD37r3WyV/K57Mfe/xkotp1s4kynUm5Mrsco0jyT/3fk8W4NqySs31WPFZcUqWJsKS31Hv3XurHvfuvdf/2Q=="}},"time_used":890,"timings":{"blocked":798,"dns":0,"connect":0,"send":0,"wait":92,"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":"huobiget.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/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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.958Z","timestamp":1785136900958,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/38002.86d280feeabab698360b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 3697c0587d12a98092672cb1dbc02457\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1171,"size_decoded":1246,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1171), with no line terminators","md5":"c5625ab18e2e939c0e7a1aaf8335d885","sha1":"476f700790695056f483a7540cca9876b7ec9b44","sha256":"109dfa81449a46405b7bbad3bb1fe38d13168125084d9486a17269580fa11d1e","sha512":"b0d0814df65da6664845b9aa6212db20c3810f795432ea14ecfb6d89b44ed9dea6826d34c2c7d74e8042a33898c9eb1e143d41e0f9534c42b5a733a1bf91139d","ssdeep":"","tlshash":"ff21df02d15010d8a0ffb368edd1976e8329e0c7e52f09dda1692f75d2817782b6df41","first_seen":"2026-03-24T19:47:05.239918Z","last_seen":"2026-08-10T05:01:44.206742Z","times_seen":1984,"resource_available":false,"data":"LnNiLWlubmVyLXNoYWRvd3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvdHRvbTotMTBweDtib3gtc2hhZG93OjAgMCA1cHggIzAwMDAwMDI2O2hlaWdodDoxMHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xMTY2NjY2N3MgZWFzZSx0cmFuc2Zvcm0gLjExNjY2NjY3cyBlYXNlO3dpZHRoOjEwMCU7ei1pbmRleDo1fS5zYi1pbm5lci1zaGFkb3cudG9we2JveC1zaGFkb3c6MCAwIDVweCAjMDAwMDAwMjY7dG9wOi0xMHB4fS5zYi1pbm5lci1zaGFkb3cuaS1pbnZpc2libGV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KX0uc2ItaW5uZXItc2hhZG93LmktaW52aXNpYmxlLnRvcHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KX0uc2ItaW5uZXItc2hhZG93LmktaW52aXNpYmxle29wYWNpdHk6MH0uc2Itc2Nyb2xsYmFye2luc2V0LWlubGluZS1lbmQ6MXB4O29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7dG9wOjczcHg7dHJhbnNpdGlvbjpvcGFjaXR5IC4zczt3aWR0aDo3cHg7ei1pbmRleDoxfS5zYi1zY3JvbGxiYXIuYWN0aXZlLC5zYi1zY3JvbGxiYXIuYWN0aXZlLWFsd2F5c3tvcGFjaXR5OjF9LnNiLXNjcm9sbGJhcl9fY29udGVudC13cmFwcGVyLS1zY3JvbGwtaW5pdGVke3Bvc2l0aW9uOnJlbGF0aXZlfS5zYi1zY3JvbGxiYXJfX2NvbnRlbnQtLXNjcm9sbC1pbml0ZWR7cG9zaXRpb246YWJzb2x1dGV9LnNiLXNjcm9sbGJhci13cmFwe2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1lbmQ6MXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjZweDt6LWluZGV4OjF9LnNiLXNjcm9sbGJhci13cmFwIC5zYi1zY3JvbGxiYXJ7aW5zZXQtaW5saW5lLWVuZDowfS5zYi1zY3JvbGxiYXItYm9keXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXNiLXNjcm9sbGJhci1ib2R5LWJnKTtib3JkZXI6MDt3aWR0aDo2cHh9LmdyYXkgLnNiLXNjcm9sbGJhci1ib2R5e2JhY2tncm91bmQ6Izc1NzU3YTtib3JkZXItY29sb3I6Izc1NzU3YTtib3JkZXItcmFkaXVzOjNweH0uc2Itc2Nyb2xsYmFyLWJvdHRvbSwuc2Itc2Nyb2xsYmFyLXRvcHtkaXNwbGF5Om5vbmV9LmFjdGl2ZS1hbHdheXMuZ3JheSwuZ3JheXtvcGFjaXR5Oi41fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80207.3e5e7d68c875b367cad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.986Z","timestamp":1785136900986,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80207.3e5e7d68c875b367cad0.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a3a25bf-d2fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 23 Jun 2026 06:20:47 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/23/2026 10:37:07\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1678fcb03b34fd125ea40efc97e11018\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":54012,"size_decoded":13968,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (51870)","md5":"efb45a2a5e9dedce76162279dc170b0e","sha1":"38843307f1bc14de893dfe253b89aa9ec4532bfa","sha256":"c4adc1700ca5f8538ca44843bf76da33e0bc360cdf11ff0ddafbd8856c5bad4d","sha512":"3ef5908b8c8ed8de392171a9c51bbea83f11fdb7542f8fb58439589ee43db4b6785bdb1a3e71993950d28351eb79c5548d8567cfb5f4a5991ab3488d323d675e","ssdeep":"1536:guE5AIu9J3vqcJNT6FuEckfLVnddIwc99EkRIWEEPk2SYHj28kxu:DGxu95vqcHT6gT8VnddPgTRCEgYDDkxu","tlshash":"7f33a56091880f44656183d0bcff24602d9c3d5b4ab665bcde9f0d5b4e99ac83e3bd3a","first_seen":"2026-06-24T00:20:51.960912Z","last_seen":"2026-07-28T04:58:41.895229Z","times_seen":425,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODAyMDddLHszODAyMDcobCxpLG4pe24uZChpLHt0cmllc1RyYW5zbGF0ZVNjcmVlbmVyRGF0YTooKT0+dX0pO3ZhciB0PW4oMTg1MjcxKTtjb25zdCBlPW5ldyBNYXAoW1siQmFzaWMgTWF0ZXJpYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDAxMTY4KSldLFsiQ2FwaXRhbCBHb29kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk4NjU4OSkpXSxbIkNvbW1lcmNpYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0Mzc3MDEpKV0sWyJDb21tdW5pY2F0aW9ucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1ODE4KSldLFsiQ29uZ2xvbWVyYXRlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcyMTMzMykpXSxbIkNvbnN1bWVyIEN5Y2xpY2FsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTU5MjUyKSldLFsiQ29uc3VtZXIgQ3ljbGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ1Mzk1KSldLFsiQ29uc3VtZXIgRHVyYWJsZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTQ4NDMpKV0sWyJDb25zdW1lciBOb24tQ3ljbGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODMxODgyKSldLFsiQ29uc3VtZXIgTm9uLUR1cmFibGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU2NDc1KSldLFsiQ29uc3VtZXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTI4MDgpKV0sWyJDb25zdW1lci9Ob24tQ3ljbGljYWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjQ5KSldLFsiRGlzdHJpYnV0aW9uIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTcxMzQyKSldLFsiRWxlY3Ryb25pYyBUZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzU5NjE1KSldLFsiRW5lcmd5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI1NTQyKSldLFsiRW5lcmd5IE1pbmVyYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTYwMzg5KSldLFsiRmluYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MjE5MykpXSxbIkZpbmFuY2lhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyODQ3OSkpXSxbIkZpbmFuY2lhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNjkzMjUpKV0sWyJHb3Zlcm5tZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzgzMzE4KSldLFsiSGVhbHRoIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjIwNjAxKSldLFsiSGVhbHRoIFRlY2hub2xvZ3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTg0NTcpKV0sWyJIZWFsdGhjYXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODA2ODY3KSldLFsiSW5kdXN0cmlhbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5OTU2MCkpXSxbIkluZHVzdHJpYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTc4NTcyKSldLFsiTWlzY2VsbGFuZW91cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1NzAyMykpXSxbIk5vbi1FbmVyZ3kgTWluZXJhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTI1MzgpKV0sWyJQcm9jZXNzIEluZHVzdHJpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjA2OTgpKV0sWyJQcm9kdWNlciBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI3NjQwKSldLFsiUmV0YWlsIFRyYWRlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTkwMDY2KSldLFsiU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzcwNTkpKV0sWyJUZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjcxMDc5KSldLFsiVGVjaG5vbG9neSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY0MDk1MykpXSxbIlRlbGVjb21tdW5pY2F0aW9ucyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1MjU4NSkpXSxbIlRyYW5zcG9ydGF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY4MzkwKSldLFsiVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODkxMTM2KSldXSkKO2NvbnN0IG89bmV3IE1hcChbWyJFeG90aWMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODA4MzIpKV0sWyJNYWpvciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ0Nzc1MykpXSxbIk1pbm9yIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjA2OTgzKSldLFsiQWNjZXNzb3JpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzkwMjcpKV0sWyJBY2NvdW50aW5nICYgVGF4IFByZXBhcmF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjAzMjkyKSldLFsiQWRoZXNpdmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTgzMTApKV0sWyJBZHVsdCBFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gJiBCcm9hZGNhc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODcwNzUpKV0sWyJBZHVsdCBQcm9kdWN0cyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTA3ODQpKV0sWyJBZHZhbmNlZCBFbGVjdHJvbmljIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcwOTkzKSldLFsiQWR2YW5jZWQgTWVkaWNhbCBFcXVpcG1lbnQgJiBUZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjI5NjQwKSldLFsiQWR2YW5jZWQgTWVkaWNhbCBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk0MDMzKSldLFsiQWR2YW5jZWQgUG9seW1lciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU4MDM0MCkpXSxbIkFkdmVudHVyZSBTcG9ydHMgRmFjaWxpdGllcyAmIFNraSBSZXNvcnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzc1ODc2KSldLFsiQWR2ZXJ0aXNpbmcgJiBNYXJrZXRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjgzNjkpKV0sWyJBZHZlcnRpc2luZy9NYXJrZXRpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyODU2NzcpKV0sWyJBZHZlcnRpc2luZyBBZ2VuY3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjY4NjkpKV0sWyJBZXJvc3BhY2UgJiBEZWZlbnNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTMwOTY5KSldLFsiQWdyaWN1bHR1cmFsIEJpb3RlY2hub2xvZ3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODUxNTApKV0sWyJBZ3JpY3VsdHVyYWwgQ2hlbWljYWxzIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2Mjg3OCkpXSxbIkFncmljdWx0dXJhbCBDaGVtaWNhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTE2NzIpKV0sWyJBZ3JpY3VsdHVyYWwgQ29tbW9kaXRpZXMvTWlsbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYwMjY4MCkpXSxbIkFncmljdWx0dXJhbCBNYWNoaW5lcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0ODIxMDEpKV0sWyJBZ3JpY3VsdHVyZSBTdXBwb3J0IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg3MzkyKSldLFsiQWlyICYgR2FzIENvbXByZXNzb3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjA4OTY0KSldLFsiQWlyIEZyZWlnaHQgJiBDb3VyaWVyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODA3MDQyKSldLFsiQWlyIEZyZWlnaHQgJiBMb2dpc3RpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjQ4MTApKV0sWyJBaXIgRnJlaWdodCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcwNDg0NikpXSxbIkFpciBGcmVpZ2h0L0NvdXJpZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkwNDkzKSldLFsiQWlyIEZyZWlnaHQvRGVsaXZlcnkgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NjgzMzYpKV0sWyJBaXJjcmFmdCBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQ4MDkxKSldLFsiQWlyY3JhZnQgUGFydHMgTWFudWZhY3R1cmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcwMjE3MSkpXSxbIkFpcmxpbmUgQ2F0ZXJpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDgyNzYpKV0sWyJBaXJsaW5lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1MDQwMykpXSxbIkFpcnBvcnQgT3BlcmF0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzg2NDcwKSldLFsiQWlycG9ydCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMwMjMwMykpXSxbIkFsbCBPdGhlciBGb29kIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjIwMTYpKV0sWyJBbHRlcm5hdGl2ZSBNZWRpY2luZSBGYWNpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjEwMDgxKSldLFsiQWx0ZXJuYXRpdmUgTWVkaWNpbmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTQ1MDApKV0sWyJBbHRlcm5hdGl2ZSBQb3dlciBHZW5lcmF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTk1NzQ1KSldLFsiQWx1bWludW0gUm9sbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIwNzc3MSkpXSxbIkFsdW1pbnVtIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjY3OTkzKSldLFsiQW1idWxhbmNlICYgRW1lcmdlbmN5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzgxMDg4KSldLFsiQW11c2VtZW50IFBhcmtzIGFuZCBab29zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE5NTMpKV0sWyJBbmltYWwgQnJlZWRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NzM4MzQpKV0sWyJBbmltYWwgRmVlZCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2MDY4NCkpXSxbIkFuaW1hbCBTbGF1Z2h0ZXJpbmcgJiBQcm9jZXNzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQzODY2KSldLFsiQW50aXF1ZSBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzgwMzUwKSldLFsiQXBwYXJlbCAmIEFjY2Vzc29yaWVzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NTcyNSkpXSxbIkFwcGFyZWwgJiBBY2Nlc3NvcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0MTc4NykpXSxbIkFwcGFyZWwgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTI4MDkpKV0sWyJBcHBhcmVsL0Zvb3R3ZWFyIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI2NzM0KSldLFsiQXBwYXJlbC9Gb290d2VhciBSZXRhaWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MDI5ODQpKV0sWyJBcHBsaWFuY2UgJiBIb3VzZXdhcmUgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzAyNDQ3KSldLFsiQXBwbGlhbmNlcywgVG9vbHMgJiBIb3VzZXdhcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTE4NDApKV0sWyJBcHBsaWNhdGlvbiBTb2Z0d2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg0MjE1NCkpXSxbIkFxdWFjdWx0dXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTgxMjYwKSldLFsiQXJtcyAmIEFtbXVuaXRpb25zIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODY0NjUpKV0sWyJBdXRvICYgVHJ1Y2sgTWFudWZhY3R1cmVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyNTY2MikpXSxbIkF1dG8gJiBUcnVjayBQYXJ0cyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzU1NzkpKV0sWyJBdXRvICYgVHJ1Y2sgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODc4NzIzKSldLFsiQXV0byBDbGVhbmluZyBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1ODIzNSkpXSxbIkF1dG8gUGFydHM6IE9FTSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM3MDEyKSldLFsiQXV0byBWZWhpY2xlcywgUGFydHMgJiBTZXJ2aWNlIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5Njk3MikpXSxbIkF1dG8sIFRydWNrICYgTW90b3JjeWNsZSBQYXJ0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2MTk4MykpXSxbIkF1dG9tYXRpYyBWZW5kaW5nIE1hY2hpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDY1MjIyKSldLFsiQXV0b21vdGl2ZSBBZnRlcm1hcmtldCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU0MzE1NykpXSxbIkF1dG9tb2JpbGVzICYgTXVsdGkgVXRpbGl0eSBWZWhpY2xlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5ODY2MikpXSxbIkF1dG9tb3RpdmUgQWNjZXNzb3JpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNjk2NDYpKV0sWyJBdXRvbW90aXZlIEJhdHRlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE3NTc0NCkpXSxbIkF1dG9tb3RpdmUgQm9keSBQYXJ0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4NTU5MSkpXSxbIkF1dG9tb3RpdmUgUGFydHMgJiBBY2Nlc3NvcmllcyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NTcwODkpKV0sWyJBdXRvbW90aXZlIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTcyNTQpKV0sWyJCYWJ5IEZvb2QiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDg1NDkpKV0sWyJCYWxsICYgUm9sbGVyIEJlYXJpbmdzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjg4OTY5KSldLFsiQmFua3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0OTc4MzcpKV0sWyJCYW5xdWV0IEhhbGxzICYgQ2F0ZXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjQ1OTUpKV0sWyJCYXRocm9vbSBGaXh0dXJlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUzNTkwOCkpXSxbIkJhdHRlcmllcyAmIFVuaW50ZXJydXB0aWJsZSBQb3dlciBzdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY4ODU1MikpXSxbIkJhdXhpdGUgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDk4Mjg4KSldLFsiQmVhdXR5IFN1cHBseSBTaG9wIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjczMTQyKSldLFsiQmVlZiAmIFZlYWwgRmFybWluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUwMTE2KSldLFsiQmVlciwgV2luZSAmIExpcXVvciBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NDk2MzYpKV0sWyJCZXZlcmFnZXM6IEFsY29ob2xpYyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY1NzQ3MSkpXSxbIkJldmVyYWdlczogTm9uLUFsY29ob2xpYyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5Mzg4NSkpXSxbIkJldmVyYWdlcyAoUHJvZHVjdGlvbi9EaXN0cmlidXRpb24pIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkyODY2KSldLFsiQmljeWNsZSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk0NzM4KSldLFsiQmlvIERpYWdub3N0aWNzICYgVGVzdGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYzNTE1NykpXSxbIkJpbyBNZWRpY2FsIERldmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzIzMTYpKV0sWyJCaW8gVGhlcmFwZXV0aWMgRHJ1Z3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NDgyNDkpKV0sWyJCaW9kaWVzZWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTYyNikpXSxbIkJpb21hc3MgJiBCaW9nYXMgRnVlbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTcyMzkpKV0sWyJCaW9tZXRyaWMgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2Mzc0MDkpKV0sWyJCaW9waGFybWFjZXV0aWNhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNDU3NTMpKV0sWyJCaW90ZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTc5NDEzKSldLFsiQmlvdGVjaG5vbG9neSAmIE1lZGljYWwgUmVzZWFyY2giLCgpPT50LnQobnVsbCx2b2lkIDAsbig4OTIxNDMpKV0sWyJCaXJ0aCBDb250cm9sIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA0NzU3KSldLFsiQm9vayAmIE1hZ2F6aW5lIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk3NjM0NikpXSxbIkJvb2sgUHJpbnRpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDYyNDcpKV0sWyJCb29rIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTAxODIpKV0sWyJCb3R0bGVkIFdhdGVyICYgSWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTk2NzAwKSldLFsiQnJhbmRpbmcgJiBOYW1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjEzOTkpKV0sWyJCcmVhZCAmIEJha2VyeSBQcm9kdWN0IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODkxODApKV0sWyJCcmVha2Zhc3QgQ2VyZWFsIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDMwNDIpKV0sWyJCcmV3ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDgwNDEzKSldLFsiQnJvYWRjYXN0aW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1MTk2MykpXSxbIkJyb2FkY2FzdGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxODYxNikpXSxbIkJyb2tlcmFnZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYyODQ4MSkpXSxbIkJyb29tcywgQnJ1c2hlcyAmIER1c3RwYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU1MDc3KSldLFsiQnVpbGRlciBNZXJjaGFudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNjE3MTcpKV0sWyJCdWlsZGluZyBDb250cmFjdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4NjcxOSkpXSxbIkJ1aWxkaW5nIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjU3MjM0KSldLFsiQnVzaW5lc3MgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzI2NDcpKV0sWyJCdXNpbmVzcyBTdXBwb3J0IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTczNSkpXSxbIkJ1c2luZXNzIFN1cHBvcnQgU3VwcGxpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzAyOTkpKV0sWyJDYWJsZSBTZXJ2aWNlIFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxMjgyNikpXSxbIkNhYmxlL1NhdGVsbGl0ZSBUViIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxMjg4NykpXSxbIkNhZmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzI5ODMwKSldLFsiQ2FsbCBDZW50ZXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjQ4MzQpKV0sWyJDYXJib24gQ2FwdHVyZSAmIFN0b3JhZ2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNzUxMjEpKV0sWyJDYXJib25hdGVkIFNvZnQgRHJpbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzMwNTczKSldLFsiQ2FycGV0cyAmIEN1cnRhaW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzkxNzYpKV0sWyJDYXNpbm9zICYgR2FtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU4MjU2KSldLFsiQ2FzaW5vcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYwNjIwNykpXSxbIkNhc2lub3MvR2FtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODU3MzQ1KSldLFsiQ2FzdWFsdHkgSW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTEwNDY4KSldLFsiQ2F0YWxvZy9TcGVjaWFsdHkgRGlzdHJpYnV0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE1NzA1KSldLFsiQ2VsbHVsYXIgRmliZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNDM1MTgpKV0sWyJDZW1lbnQgJiBDb25jcmV0ZSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA4NDU2KSldLFsiQ2hhcnRlciAmIFByaXZhdGUgQWlyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk1NDQxKSldLFsiQ2hhcnRlciBCdXMgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTg0OTYpKV0sWyJDaGVtaWNhbHM6IEFncmljdWx0dXJhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0MDE5MSkpXSxbIkNoZW1pY2FsczogTWFqb3IgRGl2ZXJzaWZpZWQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzM3MikpXSxbIkNoZW1pY2FsczogU3BlY2lhbHR5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTYzMDU1KSldLFsiQ2hpbGQgQ2FyZSAmIEZhbWlseSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ0MTUyNikpXSxbIkNoaWxkcmVuICYgSW5mYW50cyBDbG90aGluZyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODY4NTgpKV0sWyJDaGlsZHJlbiAmIEluZmFudHMgQ2xvdGhpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3Mzg0MzIpKV0sWyJDaG9jb2xhdGUgJiBDb25mZWN0aW9uZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQ4OTA5KSldLFsiQ2lnYXJzICYgQ2lnYXJldHRlIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDM2ODcpKV0sWyJDaXZpbCBFbmdpbmVlcnMgJiBBcmNoaXRlY3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc0ODk1KSldLFsiQ2xlYW5pbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNjUxOTgpKV0sWyJDbGVhcmluZywgU2V0dGxlbWVudCAmIEN1c3RvZGlhbCBTZXJ2aWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjA0NDM3KSldLFsiQ2xvc2VkIEVuZCBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY4OTg0KSldLFsiQ2xvdWQgQ29tcHV0aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjk3NTM0KSldLFsiQ29hbCBNaW5pbmcgU3VwcG9ydCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxMDQpKV0sWyJDb2FsIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgzNTg5NCkpXSxbIkNvYWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODM3NDApKV0sWyJDb2ZmZWUgJiBUZWEiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjcwODQpKV0sWyJDb2ZmZWUsIFRlYSAmIENvY29hIEZhcm1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTUwMikpXSxbIkNva2UgQ29hbCBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MjM4MDkpKV0sWyJDb2xsZWN0aXZlIEludmVzdG1lbnQgRnVuZCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTg2NzMpKV0sWyJDb2xvcmluZyBBZ2VudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5MjY3OSkpXSxbIkNvbW1lcmNpYWwgQWlyY3JhZnQgTWFudWZhY3R1cmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQxNTY5KSldLFsiQ29tbWVyY2lhbCBCYW5rcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2NzU4MykpXSxbIkNvbW1lcmNpYWwgQnVpbGRpbmdzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg5MjM4KSldLFsiQ29tbWVyY2lhbCBEb2N1bWVudCBNYW5hZ2VtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODAyNTE5KSldLFsiQ29tbWVyY2lhbCBFcXVpcG1lbnQgUmVudGFsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjkyNTE2KSldLFsiQ29tbWVyY2lhbCBGaXNoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc5ODM1KSldLFsiQ29tbWVyY2lhbCBGb29kIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTM1MDcpKV0sWyJDb21tZXJjaWFsIExlYXNpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NDk1MTApKV0sWyJDb21tZXJjaWFsIExvYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDU4OTc5KSldLFsiQ29tbWVyY2lhbCBOdXJzZXJpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MjUxNjMpKV0sWyJDb21tZXJjaWFsIFByaW50aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY2NDAyKSldLFsiQ29tbWVyY2lhbCBQcmludGluZy9Gb3JtcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1NzkzNSkpXSxbIkNvbW1lcmNpYWwgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NDcyMzIpKV0sWyJDb21tb2RpdHkgQ2hlbWljYWxzIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1ODA4NSkpXSxbIkNvbW1vZGl0eSBDaGVtaWNhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTI5MTMpKV0sWyJDb21tdW5pY2F0aW9uICYgU2F0ZWxsaXRlIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY4NzUyKSldLFsiQ29tbXVuaWNhdGlvbnMgJiBOZXR3b3JraW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg1Njg4KSldLFsiQ29tbXV0ZXIgRmVycnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDUyMDkpKV0sWyJDb21tdXRpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTY2NjEpKV0sWyJDb21wdXRlciBDb21tdW5pY2F0aW9ucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYxNzI2MykpXSxbIkNvbXB1dGVyICYgRWxlY3Ryb25pY3MgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjI1MDI4KSldLFsiQ29tcHV0ZXIgSGFyZHdhcmUgJiBTb2Z0d2FyZSBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTI2NjUpKV0sWyJDb21wdXRlciBIYXJkd2FyZSBDb21wb25lbnQgQXNzZW1ibHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyODIyMTcpKV0sWyJDb21wdXRlciBIYXJkd2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2NTQyMikpXSxbIkNvbXB1dGVyIFBlcmlwaGVyYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzk0OTQpKV0sWyJDb21wdXRlciBQcm9jZXNzaW5nIEhhcmR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzI1ODMwKSldLFsiQ29tcHV0ZXIgUHJvZ3JhbW1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NzA3NCkpXSxbIkNvbnN1bWVyIFN1bmRyaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODQ3Mzk4KSldLFsiQ29tcHV0ZXIgVHJhaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4OTY0NSkpXSxbIkNvbmZlcmVuY2luZyBUb29scyAmIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMzA4MzMpKV0sWyJDb250YWluZXJzL1BhY2thZ2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ4NTM0OSkpXSxbIkNvbnRyYWN0IERyaWxsaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk2NTI1KSldLFsiQ29uc3RydWN0aW9uICYgRW5naW5lZXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MzU5NDcpKV0sWyJDb25zdHJ1Y3Rpb24gTWFjaGluZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjYyODE0KSldLFsiQ29uc3RydWN0aW9uIE1hdGVyaWFsIFByb2Nlc3NpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNzg1OTQpKV0sWyJDb25zdHJ1Y3Rpb24gTWF0ZXJpYWwgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTk2NykpXSxbIkNvbnN0cnVjdGlvbiBNYXRlcmlhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDE0ODIpKV0sWyJDb25zdHJ1Y3Rpb24gU3VwcGxpZXMgJiBGaXh0dXJlcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjY4MzkpKV0sWyJDb25zdHJ1Y3Rpb24gU3VwcGxpZXMgJiBGaXh0dXJlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyNDI3MykpXSxbIkNvbnN0cnVjdGlvbiBTdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NzQ1NCkpXSxbIkNvbnN1bWVyIENyZWRpdCBDYXJkcyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NzkwOCkpXSxbIkNvbnN1bWVyIERvY3VtZW50IE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzE5ODMpKV0sWyJDb25zdW1lciBFbGVjdHJvbmljIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkyNDM5MykpXSxbIkNvbnN1bWVyIEVsZWN0cm9uaWNzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU1NTA4OCkpXSxbIkNvbnN1bWVyIEVsZWN0cm9uaWNzL0FwcGxpYW5jZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjg0KSldLFsiQ29uc3VtZXIgR29vZHMgUmVudGFsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkwNzE2KSldLFsiQ29uc3VtZXIgTGVhc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NDY2NikpXSxbIkNvbnN1bWVyIExlbmRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMTkzOTMpKV0sWyJDb25zdW1lciBQdWJsaXNoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTY5MjkxKSldLFsiQ29uc3VtZXIgUmVwYWlyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzIyNTI5KSldLFsiQ29udGFpbmVyICYgUGFja2FnaW5nIE1hdGVyaWFsIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2OTQzNikpXSxbIkNvbnRlbnQgJiBTaXRlIE1hbmFnZW1lbnQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTc5MzQpKV0sWyJDb29raWUsIENyYWNrZXIgJiBQYXN0YSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzIzMjgyKSldLFsiQ29wcGVyIE9yZSAgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjIyNzU5KSldLFsiQ29weXJpZ2h0IE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjQ0MDYpKV0sWyJDb3Jwb3JhdGUgQWNjb3VudGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3MjIzOSkpXSxbIkNvcnBvcmF0ZSBGaW5hbmNpYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTA3NDMpKV0sWyJDb3NtZXRpY3MgJiBQZXJmdW1lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc0Mzc3OCkpXSxbIkNvdXJpZXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjUxNzgpKV0sWyJDcmFmdCAmIE1pY3JvIEJyZXdlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDk5ODIpKV0sWyJDcmVkaXQgVW5pb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDc0NzI4KSldLFsiQ3J1aXNlIExpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzU5NTMwKSldLFsiQ3V0bGVyeSAmIEZsYXR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTY1ODgzKSldLFsiRGFpcnkgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODkwMTUpKV0sWyJEYXRhIFByb2Nlc3NpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODQ3ODApKV0sWyJEZWVwIFNlYSBGcmVpZ2h0IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI0NDAzKSldLFsiRGVwYXJ0bWVudCBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTUxMDUpKV0sWyJEZXBhcnRtZW50L1NwZWNpYWx0eSBSZXRhaWwgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDM2OTcwKSldLFsiRGVzaWduIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzAyMjA2KSldLFsiRGlhZ25vc3RpYyAmIFRlc3RpbmcgU3Vic3RhbmNlcyBNYW51ZmFjdHVyZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTg4MTIxKSldLFsiRGlhZ25vc3RpYyAmIFRlc3RpbmcgU3Vic3RhbmNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU3ODU3MSkpXSxbIkRpYW1vbmQgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTUyMDg5KSldLFsiRGlnaXRhbCBNZWRpYSBBZ2VuY2llcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEzNzM3NykpXSxbIkRpZ2l0YWwgUHVibGlzaGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQzNjQ4MCkpXSxbIkRpcmVjdCBNYXJrZXRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTE0OTYpKV0sWyJEaXJlY3RvcnkgUHVibGlzaGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg2NTAzMSkpXSxbIkRpc2NvdW50IFN0b3JlcyB3aXRoIGdyb2NlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYzNzE4NCkpXSxbIkRpc2NvdW50IFN0b3JlcyB3aXRob3V0IGdyb2NlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5NTEyNCkpXSxbIkRpc2NvdW50IFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUxODExNykpXSxbIkRpc3BsYXkgU2NyZWVucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5OTgyNCkpXSxbIkRpc3RpbGxlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEzMDIwKSldLFsiRGlzdGlsbGVycyAmIFdpbmVyaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU4MDk1KSldLFsiRGl2ZXJzaWZpZWQgQ2hlbWljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODgyOTE5KSldLFsiRGl2ZXJzaWZpZWQgSW52ZXN0bWVudCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2OTE4NSkpXSxbIkRpdmVyc2lmaWVkIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzYwMDYpKV0sWyJEaXZlcnNpZmllZCBUcmFkaW5nICYgRGlzdHJpYnV0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTAzNzMxKSldLFsiRG9jdG9yJ3MgT2ZmaWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODMyNTYyKSldLFsiRG9sbHMgJiBTdHVmZmVkIFRveXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MjQ1NykpXSxbIkRvb3JzICYgV2luZG93IEZyYW1lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MjE0MykpXSxbIkRydWcgRGVsaXZlcnkgU3lzdGVtcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU2MTA2MCkpXSxbIkRydWcgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU5MjA2KSldLFsiRHJ1Z3N0b3JlIENoYWlucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5Njc3MikpXSxbIkUtY29tbWVyY2UgJiBBdWN0aW9uIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDcwMTA1KSldLFsiRWR1Y2F0aW9uICYgVHJhaW5pbmcgSW5mb3JtYXRpb24gUHJvdmlkZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjQzMDgyKSldLFsiRWR1Y2F0aW9uYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNDQyNjApKV0sWyJFbGVjdHJpYyBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNzQ3ODIpKV0sWyJFbGVjdHJpYyBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzg3MTcwKSldLFsiRWxlY3RyaWMgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODExODcwKSldLFsiRWxlY3RyaWMgVXRpbGl0aWVzOiBDZW50cmFsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzQ2NzExKSldLFsiRWxlY3RyaWNhbCAoQWx0ZXJuYXRpdmUpIFZlaGljbGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTk5MDE0KSldLFsiRWxlY3RyaWNhbCBDb21wb25lbnRzICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDYxMjI3KSldLFsiRWxlY3RyaWNhbCBNZWFzdXJpbmcgJiBUZXN0aW5nIEluc3RydW1lbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE2NTM3KSldLFsiRWxlY3RyaWNhbCBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYxNDQ0MCkpXSxbIkVsZWN0cm9uIFR1YmVzICYgSW5zdWxhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMTQ2NSkpXSxbIkVsZWN0cm9uaWMgQ29tcG9uZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY4NTYwKSldLFsiRWxlY3Ryb25pYyBDb21wb25lbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDQ5NDE5KSldLFsiRWxlY3Ryb25pYyBFcXVpcG1lbnQgJiBQYXJ0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1NDA0NykpXSxbIkVsZWN0cm9uaWMgRXF1aXBtZW50cyAmIFBhcnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzczMTQ0KSldLFsiRWxlY3Ryb25pYyBFcXVpcG1lbnQvSW5zdHJ1bWVudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTYzMTYpKV0sWyJFbGVjdHJvbmljIFByb2R1Y3Rpb24gRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk0NzM3KSldLFsiRWxlY3Ryb25pYyBSZXBhaXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NTQzMikpXSxbIkVsZWN0cm9uaWNzIERpc3RyaWJ1dG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwMjI0NykpXSxbIkVsZWN0cm9uaWNzL0FwcGxpYW5jZSBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NzcwMDkpKV0sWyJFbGVjdHJvbmljcy9BcHBsaWFuY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYwMDM3KSldLFsiRWxldmF0b3IgJiBDb252ZXlpbmcgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIyNDU5KSldLFsiRW1wbG95bWVudCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ4NTc5MCkpXSxbIkVuZXJneSBEcmlua3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNjc3NjApKV0sWyJFbmdpbmUgJiBQb3dlcnRyYWluIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTczMDQpKV0sWyJFbmdpbmVlcmluZyAmIENvbnN0cnVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMzI2MikpXSxbIkVudGVycHJpc2UgU29mdHdhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzQ0ODEpKV0sWyJFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gRXF1aXBtZW50ICYgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTg3NjcpKV0sWyJFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTgwMTEpKV0sWyJFbnZpcm9ubWVudGFsIEJpb3RlY2hub2xvZ3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMDUyMDkpKV0sWyJFbnZpcm9ubWVudGFsIENvbnN1bHRhbmN5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTgwNjcyKSldLFsiRW52aXJvbm1lbnRhbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMwNzAxNykpXSxbIkVudmlyb25tZW50YWwgU2VydmljZXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTAwOTApKV0sWyJFcG94eSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg3MzQwMykpXSxbIkV0aGFub2wgRnVlbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTA2MjMpKV0sWyJFeGNoYW5nZSBUcmFkZWQgRnVuZCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU0ODc1MykpXSxbIkV4Y2hhbmdlIFRyYWRlZCBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMjUzMikpXSxbIkV4ZWN1dGl2ZSBTZWFyY2ggU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTkzMTYpKV0sWyJFeGhpYml0aW9uICYgQ29uZmVyZW5jZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxOTE3NykpXSxbIkV4cGxvc2l2ZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTEyNTEpKV0sWyJGYWJyaWMgRHllaW5nICYgRmluaXNoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTgwNjU4KSldLFsiRmFjdG9yaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzUyNDMwKSldLFsiRmFzaGlvbiBFeWV3ZWFyIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzQ1NTE2KSldLFsiRmVydGlsaXplciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYzNjA2NCkpXSxbIkZpYmVyIE9wdGljIENhYmxlIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTQ4NSkpXSxbIkZpbmFuY2U6IENvbnN1bWVyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjY1OTA1KSldLFsiRmluYW5jZS9SZW50YWwvTGVhc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5MjI5NikpXSxbIkZpbmFuY2lhbCBDb25nbG9tZXJhdGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTAwMjQ3KSldLFsiRmluYW5jaWFsICYgQ29tbW9kaXR5IE1hcmtldCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MjA2NDIpKV0sWyJGaW5hbmNpYWwgSW5mb3JtYXRpb24gUHJvdmlkZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjE0NDMzKSldLFsiRmluYW5jaWFsIFB1Ymxpc2hpbmcvU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MzcyNjQpKV0sWyJGaW5hbmNpYWwgVGVjaG5vbG9neSAmIEluZnJhc3RydWN0dXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDQzNDk2KSldLFsiRmlzaGluZyAmIEZhcm1pbmcgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjE2MTg5KSldLFsiRmlzaGluZyAmIEZhcm1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMDE2OTUpKV0sWyJGbG9vciBDb3ZlcmluZyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0ODU0MjkpKV0sWyJGbG9vcmluZyAmIEludGVyaW9yIFRpbGUgTWFudWZhY3R1cmVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxODYyOCkpXSxbIkZsb3Jpc3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzg5NDg3KSldLFsiRmxvdXIgTWlsbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5ODIzNykpXSxbIkZsdWlkIFBvd2VyIEN5bGluZGVyICYgQWN0dWF0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDc1MjI1KSldLFsiRm9vZCBEaXN0cmlidXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MzI4NDcpKV0sWyJGb29kIEluZ3JlZGllbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDAzOTQzKSldLFsiRm9vZCBNYXJrZXRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTE0Mzg3KSldLFsiRm9vZCBQcm9jZXNzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQ2MDQzKSldLFsiRm9vZCBSZXRhaWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzE0MzQpKV0sWyJGb29kIFJldGFpbCAmIERpc3RyaWJ1dGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg2MzY2MSkpXSxbIkZvb2QgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTc2ODIyKSldLFsiRm9vZDogTWFqb3IgRGl2ZXJzaWZpZWQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTc3MDkpKV0sWyJGb29kOiBNZWF0L0Zpc2gvRGFpcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MjQ2ODUpKV0sWyJGb29kOiBTcGVjaWFsdHkvQ2FuZHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MzE4ODMpKV0sWyJGb290d2VhciBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTUwMzcpKV0sWyJGb290d2VhciBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NzMyOTUpKV0sWyJGb290d2VhciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5ODA1NykpXSxbIkZvcmVzdCAmIFdvb2QgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDgwMDgpKV0sWyJGb3Jlc3QgTnVyc2VyaWVzICYgR2F0aGVyaW5nIG9mIEZvcmVzdCBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2NDIzOSkpXSxbIkZvcmVzdCBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM0NDY1MykpXSxbIkZvcmVzdCBTdXBwb3J0ICYgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MzE4NzUpKV0sWyJGb3NzaWwgRnVlbCBFbGVjdHJpYyBVdGlsaXRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDk4MikpXSxbIkZvc3NpbCBGdWVsIElQUHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTM3MTEpKV0sWyJGcmVpZ2h0IExvZ2lzdGljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk2OTIzNykpXSxbIkZyZWlnaHQgVHJ1Y2tpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNDI3MDYpKV0sWyJGcm96ZW4gRm9vZCBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzgyOTY0KSldLFsiRnJ1aXQgJiBWZWdldGFibGUgUHJvY2Vzc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxNjYyKSldLFsiRnJ1aXQgRHJpbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzc0MjE2KSldLFsiRnVuZXJhbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4MTkxOSkpXSxbIkZ1cm5pdHVyZSBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4Mzg1KSldLFsiRnVybml0dXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjY2NjcxKSldLFsiR2FtYmxpbmcgJiBHYW1pbmcgTWFjaGluZSBNYW51ZmFjdHVyZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjIwMTU2KSldLFsiR2FtZXMsIFRveXMgJiBDaGlsZHJlbiBWZWhpY2xlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU4NDg0MSkpXSxbIkdhbWluZyBNYWNoaW5lIE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ4NTkzNSkpXSxbIkdhcyBEaXN0cmlidXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzc5OTYpKV0sWyJHYXMgRHJpbGxpbmcgLSBPbnNob3JlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI1MTExKSldLFsiR2Fzb2xpbmUgc3RhdGlvbnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjczMTYpKV0sWyJHZW5lcmFsIEVkdWNhdGlvbiBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1NTE3NykpXSxbIkdlbmVyYWwgR292ZXJubWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0MTk5NSkpXSxbIkdlbmVyaWMgUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzQ2MTQ2KSldLFsiR2VvcGh5c2ljYWwgU3VydmV5aW5nICYgTWFwcGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyNDEyMykpXSxbIkdpZnQsIE5vdmVsdHkgJiBTb3V2ZW5pciBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTMyNDEpKV0sWyJHbGFzcyBDb250YWluZXJzICYgUGFja2FnaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjM2MjIxKSldLFsiR2xhc3NlcywgU3BlY3RhY2xlcyAmIENvbnRhY3QgbGVuc2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjA5NDYxKSldLFsiR29sZCBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODM1KSldLFsiR29sZCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU2NTI5NCkpXSxbIkdvbGYgQ291cnNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5ODMyNSkpXSxbIkdyYWluIChDcm9wKSBQcm9kdWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzUwMjc3KSldLFsiR3JvdW5kIEZyZWlnaHQgJiBMb2dpc3RpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjkyOTEpKV0sWyJHdWlkZWQgVG91ciBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODQzMykpXSxbIkd5bXMsIEZpdG5lc3MgYW5kIFNwYSBDZW50ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzE3NzgxKSldLFsiSGFpciBBY2Nlc3NvcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEzNjk0NikpXSxbIkhhbGFsIEFuaW1hbCBTbGF1Z2h0ZXJpbmcgJiBQcm9jZXNzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI4NjQxKSldLFsiSGFuZGJhZ3MgJiBMdWdnYWdlIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE0NDAxKSldLFsiSGFuZGJhZ3MgJiBMdWdnYWdlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDY2NDc5KSldLFsiSGVhbHRoIEZvb2QgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTAwOTU2KSldLFsiSGVhbHRoIEluc3VyYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1MDA5MCkpXSxbIkhlYWx0aGNhcmUgRmFjaWxpdGllcyAmIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjkzMTg1KSldLFsiSGVhbHRoY2FyZSBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE2ODcyOCkpXSxbIkhlYXRpbmcsIFZlbnRpbGF0aW9uICYgQWlyIENvbmRpdGlvbmluZyBTeXN0ZW1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTM5OTIyKSldLFsiSGVhdnkgQnVzZXMgJiBDb2FjaGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYyOTgzKSldLFsiSGVhdnkgRWxlY3RyaWNhbCBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTgxMjcpKV0sWyJIZWF2eSBNYWNoaW5lcnkgJiBWZWhpY2xlcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTgwNDQpKV0sWyJIZWF2eSBNYWNoaW5lcnkgJiBWZWhpY2xlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4MTYwNCkpXSxbIkhlYXZ5IE1vdG9ycyAmIEdlbmVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTA1MikpXSxbIkhlYXZ5IFRydWNrcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5ODA2NykpXSxbIkhlZGdlIEZ1bmRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk4MzM2KSldLFsiSGlnaHdheSAmIEJyaWRnZSBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NzM3NjIpKV0sWyJIaWdod2F5IE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3Mjg4NikpXSxbIkhpZ2h3YXlzICYgUmFpbCBUcmFja3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTM3NzYpKV0sWyJIb2xkaW5nIENvbXBhbmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDczMDQ5NikpXSxbIkhvbWUgQXVkaW8iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzQxMDUpKV0sWyJIb21lIERlY29yIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI2NTQyKSldLFsiSG9tZSBGdXJuaXNoaW5ncyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTEyMDMpKV0sWyJIb21lIEZ1cm5pc2hpbmdzIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MTQ1MikpXSxbIkhvbWUgRnVybmlzaGluZ3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTc4NikpXSxbIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5Njc4MSkpXSxbIkhvbWUgSW1wcm92ZW1lbnQgQ2hhaW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTE2Mjg3KSldLFsiSG9tZSBJbXByb3ZlbWVudCBQcm9kdWN0cyAmIFNlcnZpY2VzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2MTE0NykpXSxbIkhvbWVidWlsZGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1MjcyNCkpXSxbIkhvcnNlICYgRG9nIFJhY2UgVHJhY2tzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ1OTI1KSldLFsiSG9zaWVyeSAmIFNvY2siLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjQ0MDIpKV0sWyJIb3NwaXRhbC9OdXJzaW5nIE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzODA5NDQpKV0sWyJIb3NwaXRhbGl0eSBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU0OTEzNykpXSxbIkhvc3BpdGFscywgQ2xpbmljcyAmIFByaW1hcnkgQ2FyZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3MjU0OCkpXSxbIkhvdGVscyAmIE1vdGVscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4MzYyMCkpXSxbIkhvdGVscywgTW90ZWxzICYgQ3J1aXNlIExpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzk5NzkxKSldLFsiSG90ZWxzL1Jlc29ydHMvQ3J1aXNlIGxpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTY0Mjc3KSldLFsiSG91c2Vob2xkIEFwcGxpYW5jZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTg2MDcpKV0sWyJIb3VzZWhvbGQgRWxlY3Ryb25pY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNzU0OTgpKV0sWyJIb3VzZWhvbGQgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTkyODkpKV0sWyJIb3VzZWhvbGQvUGVyc29uYWwgQ2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5MzcwNykpXSxbIkh1bWFuIFJlc291cmNlcyBDb25zdWx0aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk1OTk2KSldLFsiSHlkcm9nZW4gRnVlbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM0NzI0OSkpXSxbIkh5ZHJvcG93ZXIgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg3ODM3KSldLFsiSVQgU2VydmljZXMgJiBDb25zdWx0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc0NTQzKSldLFsiSW5kZXBlbmRlbnQgUG93ZXIgUHJvZHVjZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTcyMjk1KSldLFsiSW5kdXN0cmlhbCAgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTU4NzgpKV0sWyJJbmR1c3RyaWFsIEJpb3RlY2hub2xvZ3kgQ2hlbWljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjUwMTAzKSldLFsiSW5kdXN0cmlhbCBDbG90aGluZyAmIFVuaWZvcm1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODE3OTUxKSldLFsiSW5kdXN0cmlhbCBDb25nbG9tZXJhdGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTQ4MzEwKSldLFsiSW5kdXN0cmlhbCBFbGVjdHJpY2FsIFN3aXRjaGdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjI2NjgpKV0sWyJJbmR1c3RyaWFsIEdhcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyNjY3MCkpXSxbIkluZHVzdHJpYWwgTWFjaGluZXJ5ICYgRXF1aXBtZW50IFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc2Njc3NykpXSxbIkluZHVzdHJpYWwgTWFjaGluZXJ5ICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU3MzcxKSldLFsiSW5kdXN0cmlhbCBNYWNoaW5lcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0OTQ1ODgpKV0sWyJJbmR1c3RyaWFsIE1vdWxkcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NjI0NykpXSxbIkluZHVzdHJpYWwgUGFydHMgJiBDb21wb25lbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQxNjkpKV0sWyJJbmR1c3RyaWFsIFBsYW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTE3MjY0KSldLFsiSW5kdXN0cmlhbCBQcm9jZXNzIEZ1cm5hY2UgJiBPdmVucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMjA4MikpXSxbIkluZHVzdHJpYWwgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDgzNjEpKV0sWyJJbmR1c3RyaWFsIFJ1YmJlciBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDczNTcyMykpXSxbIkluZHVzdHJpYWwgU3BlY2lhbHRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTQzOTYpKV0sWyJJbmR1c3RyaWFsIFZhbHZlIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDkyNDkpKV0sWyJJbmZvcm1hdGlvbiBUZWNobm9sb2d5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk5MDgwKSldLFsiSW5sYW5kIFdhdGVyIEZyZWlnaHQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MjA4NCkpXSxbIklucHV0IERldmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MDM0NzQpKV0sWyJJbnN1cmFuY2UgLSBBdXRvbW9iaWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDY3NTUyKSldLFsiSW5zdXJhbmNlIEJyb2tlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzExNTYpKV0sWyJJbnN1cmFuY2UgQnJva2Vycy9TZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2NDY3MCkpXSxbIkludGVncmF0ZWQgIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcxNTEwNykpXSxbIkludGVncmF0ZWQgQ2lyY3VpdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODZlMykpXSxbIkludGVncmF0ZWQgTG9naXN0aWNzIE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQxNDg3MykpXSxbIkludGVncmF0ZWQgT2lsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYyMDQ1KSldLFsiSW50ZWdyYXRlZCBPaWwgJiBHYXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5OTkxMzEpKV0sWyJJbnRlZ3JhdGVkIFRlbGVjb21tdW5pY2F0aW9ucyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc0NTU5MCkpXSxbIkludGVyLWRlYWxlciBCcm9rZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTgwODMpKV0sWyJJbnRlcmlvciBEZXNpZ24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjc3MjIpKV0sWyJJbnRlcm5hdGlvbmFsIFRyYWRlIEZpbmFuY2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyNzQ1NikpXSxbIkludGVybmV0ICYgTWFpbCBPcmRlciBEZXBhcnRtZW50IFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyMDQ2NCkpXSxbIkludGVybmV0ICYgTWFpbCBPcmRlciBEaXNjb3VudCBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NzEyOTIpKV0sWyJJbnRlcm5ldCBHYW1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMDY4KSldLFsiSW50ZXJuZXQgUmV0YWlsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjc1MDEyKSldLFsiSW50ZXJuZXQgU2VjdXJpdHkgJiBUcmFuc2FjdGlvbnMgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTc5OTcpKV0sWyJJbnRlcm5ldCBTZXJ2aWNlIFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwNTU5MykpXSxbIkludGVybmV0IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjc0NzI5KSldLFsiSW50ZXJuZXQgU29mdHdhcmUvU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NjM1MjMpKV0sWyJJbnZlc3RtZW50IEJhbmtzL0Jyb2tlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NzM3MjQpKV0sWyJJbnZlc3RtZW50IEJhbmtlcnMvQnJva2Vycy9TZXJ2aWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg2OTE0KSldLFsiSW52ZXN0bWVudCBCYW5raW5nICYgQnJva2VyYWdlIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTEyNjU4KSldLFsiSW52ZXN0bWVudCBCYW5raW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDc1MTc0KSldLFsiSW52ZXN0bWVudCBNYW5hZ2VtZW50ICYgRnVuZCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTE5NjIpKV0sWyJJbnZlc3RtZW50IE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MDkyNzIpKV0sWyJJbnZlc3RtZW50IE1hbmFnZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzc5MDY1KSldLFsiSW52ZXN0bWVudCBTdXBwb3J0IFRvb2xzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzU2MTM2KSldLFsiSW52ZXN0bWVudCBUcnVzdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODQzMzIpKV0sWyJJbnZlc3RtZW50IFRydXN0cy9NdXR1YWwgRnVuZHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTU5NzIpKV0sWyJJcm9uIE9yZSBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MDk3OTQpKV0sWyJJcm9uLCBTdGVlbCBNaWxscyAmIEZvdW5kcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI2MzQyMSkpXSxbIkplYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTYxODQwKSldLFsiSmV3ZWxyeSAmIFdhdGNoIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ1NDk4MykpXSxbIkpld2VscnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjAyOTQpKV0sWyJKdXZlbmlsZSBGdXJuaXR1cmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2Njk2OTEpKV0sWyJLaXRjaGVuIEFwcGxpYW5jZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTcyNDIpKV0sWyJLaXRjaGVuIENhYmluZXRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDIyNjE5KSldLFsiS25pdHdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODE2NzkpKV0sWyJMTkcgVHJhbnNwb3J0YXRpb24gJiBTdG9yYWdlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODYzOTE2KSldLFsiTGFuZCBEaXZpc2lvbiAmIFN1YmRpdmlzaW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDU2NTM3KSldLFsiTGFwdG9wICYgRGVza3RvcCBDb21wdXRlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTIyNzMpKV0sWyJMYXNlciBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDk2NjYpKV0sWyJMYXVuZHJ5IFN1cHBsaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDcxOTgxKSldLFsiTGVhZCBPcmUgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDU4ODg4KSldLFsiTGVhdGhlciBHb29kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwODA0MykpXSxbIkxlZ2FsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODY2MTc2KSldLFsiTGVpc3VyZSAmIFJlY3JlYXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTIyNikpXSxbIkxlaXN1cmUgUHJvZHVjdHMgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjE0MzMwKSldLFsiTGlmZSAmIEhlYWx0aCBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0ODc2NjApKV0sWyJMaWZlICYgSGVhbHRoIFJlaW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDkzMjY4KSldLFsiTGlmZS9IZWFsdGggSW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQzMzY1KSldLFsiTGlmZSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5OTQxOTIpKV0sWyJMaWdodCBUcnVja3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3Mjg2NDkpKV0sWyJMaWdodGluZyBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTE2MzApKV0sWyJMaWdodGluZyBGaXh0dXJlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ3OTA5MSkpXSxbIkxpbmdlcmllIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjg0OTAxKSldLFsiTG9jYWwgQWdlbmNpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDM0MykpXSxbIkxvY29tb3RpdmUgRW5naW5lcyAmIFJvbGxpbmcgU3RvY2siLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTkxNzUpKV0sWyJMb2dnaW5nICYgU2F3bWlsbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5ODAyNDYpKV0sWyJMb3R0ZXJ5IE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDczODQwNykpXSxbIkx1eHVyeSBBY2Nlc3NvcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY3NTEwKSldLFsiTHV4dXJ5IENhciBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDA5MzU3KSldLFsiTWFjaGluZSBUb29scyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc0NTAwMykpXSxbIk1hZ2F6aW5lIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjc2MzMpKV0sWyJNYWludGVuYW5jZSAmIFJlcGFpciBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk4MDc4NikpXSxbIk1ham9yIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQzNzc0KSldLFsiTWFqb3IgUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE3NTc4KSldLFsiTWFqb3IgVGVsZWNvbW11bmljYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjczMTAzKSldLFsiTWFsdCBwcm9kdWNlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NDIzMTIpKV0sWyJNYW5hZ2VkIEhlYWx0aCBjYXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI5MzQ3KSldLFsiTWFuYWdlZCBIZWFsdGggQ2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxMTQ4MykpXSxbIk1hbmFnZW1lbnQgQ29uc3VsdGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyMjEwMikpXSxbIk1hcmluYXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzcxNTIpKV0sWyJNYXJpbmUgQ2FyZ28gSGFuZGxpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzU5OTQpKV0sWyJNYXJpbmUgRnJlaWdodCAmIExvZ2lzdGljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5MDM4OCkpXSxbIk1hcmluZSBMb2dpc3RpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NjQwOTkpKV0sWyJNYXJpbmUgUGFzc2VuZ2VyIFRyYW5zcG9ydGF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjk0ODQ5KSldLFsiTWFyaW5lIFBvcnQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTE0NTIpKV0sWyJNYXJpbmUgU2hpcHBpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDc1NjEpKV0sWyJNYXJrZXQgUmVzZWFyY2giLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NDE3NjEpKV0sWyJNYXJrZXRpbmcgQ29uc3VsdGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5NzM5MykpXSxbIk1lZGlhIEJ1eWluZyBBZ2VuY3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjYwMjApKV0sWyJNZWRpYSBDb25nbG9tZXJhdGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjUyMjAzKSldLFsiTWVkaWNhbCAmIERpYWdub3N0aWMgTGFib3JhdG9yaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDMyNjYyKSldLFsiTWVkaWNhbCBEZXZpY2VzICYgSW1wbGFudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzA1NTkpKV0sWyJNZWRpY2FsIERpYWdub3N0aWMgJiBUZXN0aW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY1OTk3MSkpXSxbIk1lZGljYWwgRGlzdHJpYnV0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTA3ODUpKV0sWyJNZWRpY2FsIEVxdWlwbWVudCBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzI4NTcpKV0sWyJNZWRpY2FsIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5MjIwMCkpXSxbIk1lZGljYWwgRXF1aXBtZW50LCBTdXBwbGllcyAmIERpc3RyaWJ1dGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcyMjU1NikpXSxbIk1lZGljYWwgSW1hZ2luZyBTeXN0ZW1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzcxNDU3KSldLFsiTWVkaWNhbCBNb25pdG9yaW5nIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NjY3NDgpKV0sWyJNZWRpY2FsIFByb3N0aGV0aWNzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzc3NzgpKV0sWyJNZWRpY2FsIFNvZnR3YXJlICYgVGVjaG5vbG9neSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQzMzI2NCkpXSxbIk1lZGljYWwgU3BlY2lhbHRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzYzMTYpKV0sWyJNZWRpY2FsIFN1cHBsaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYwNDMyKSldLFsiTWVkaWNhbC9OdXJzaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk5MTUwKSldLFsiTWVtb3J5IENoaXBzIChSQU0pIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjAzODMpKV0sWyJNZW4ncyBBcHBhcmVsIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5NjY0OSkpXSxbIk1lbidzIENsb3RoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzk2MTApKV0sWyJNZW4ncyBGb290d2VhciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5NjA4MikpXSxbIk1lcmNoYW50IEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA2NjYpKV0sWyJNZXRhbCBDb250YWluZXJzICYgUGFja2FnaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTA5MzcyKSldLFsiTWV0YWwgRmFicmljYXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzY3OTUpKV0sWyJNZXRhbCBNZXJjaGFudCBXaG9sZXNhbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU1OTc2MCkpXSxbIk1ldGFsIFNlcnZpY2UgQ2VudGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyOTU0MCkpXSxbIk1ldGFsbGljIFJvbGxpbmcgJiBEcmF3aW5nIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTYyNDI3KSldLFsiTWljcm9maW5hbmNpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDYyNjYpKV0sWyJNaW5pbmcgTWFjaGluZXJ5ICYgRXF1aXBtZW50IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MzgzMzApKV0sWyJNaW5pbmcgU3VwcG9ydCBBY3Rpdml0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDA0ODU2KSldLFsiTWluaW5nIFN1cHBvcnQgU2VydmljZXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTY4NDUpKV0sWyJNaXNjZWxsYW5lb3VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTU3MDIzKSldLFsiTWlzY2VsbGFuZW91cyBDb21tZXJjaWFsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTMyOTg0KSldLFsiTWlzY2VsbGFuZW91cyBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTQ3NzE0KSldLFsiTW9iaWxlIEFwcGxpY2F0aW9uIFNvZnR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjgyNTU3KSldLFsiTW9iaWxlIFBob25lIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYyNTQ1MykpXSxbIk1vYmlsZSBTeXN0ZW0gU29mdHdhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTAwMzMpKV0sWyJNb3J0Z2FnZSBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5ODE1NCkpXSxbIk1vdG9yIFZlaGljbGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzIwMDU4KSldLFsiTW90b3JjeWNsZSBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDgwMDQ1KSldLFsiTW90b3JjeWNsZSBQYXJ0cyAmIEFjY2Vzc29yaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIyNjIpKV0sWyJNb3RvcmN5Y2xlcyAmIFNjb290ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQyNjgpKV0sWyJNb3ZpZSBUaGVhdGVycyAmIE1vdmllIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTg1ODQ1KSldLFsiTW92aWUsIFRWIFByb2R1Y3Rpb24gJiBEaXN0cmlidXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTI5MzEpKV0sWyJNb3ZpZXMvRW50ZXJ0YWlubWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM3MDEwKSldLFsiTXVsdGlsaW5lIEluc3VyYW5jZSAmIEJyb2tlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzY1MTgpKV0sWyJNdWx0aWxpbmUgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTczMDczKSldLFsiTXVsdGktTGluZSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTM1NjEpKV0sWyJNdW5pY2lwYWxpdHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDc2NTEpKV0sWyJNdXNldW1zICYgSGlzdG9yaWMgUGxhY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjQ0NTQ1KSldLFsiTXVzaWMsIE11c2ljIFZpZGVvIFByb2R1Y3Rpb24gJiBEaXN0cmlidXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MjczNDApKV0sWyJNdXNpY2FsIEluc3RydW1lbnQgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA4NzY5KSldLFsiTXVzaWNhbCBJbnN0cnVtZW50cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcxNjY2OSkpXSxbIk11dHVhbCBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwMDAzKSldLFsiTmF0aW9uYWwgQWdlbmN5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTU2NDYyKSldLFsiTmF0aW9uYWwgQWdlbmNpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzEzMzQpKV0sWyJOYXR1cmFsIEZhYnJpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjgyMTEpKV0sWyJOYXR1cmFsIEdhcyBEaXN0cmlidXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDU1MzIpKV0sWyJOYXR1cmFsIEdhcyBFeHBsb3JhdGlvbiAmIFByb2R1Y3Rpb24gLSBPZmZzaG9yZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIzNzM0OSkpXSxbIk5hdHVyYWwgR2FzIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9uc2hvcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NTMwMzApKV0sWyJOYXR1cmFsIEdhcyBQaXBlbGluZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyNDk5OCkpXSxbIk5hdHVyYWwgR2FzIFV0aWxpdGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI1ODc4NSkpXSxbIk5ldHdvcmsgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzYzMDgzKSldLFsiTmV3IENhciBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjI5NTU2KSldLFsiTmV3cyBBZ2VuY2llcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1MjI4NSkpXSxbIk5ld3NwYXBlciAmIE1hZ2F6aW5lIFByaW50aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjIxMzcxKSldLFsiTmV3c3BhcGVyIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODY3KSldLFsiTmV3c3ByaW50IE1pbGxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODE5NDczKSldLFsiTmlja2VsIE9yZSBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDY4NTQpKV0sWyJOb24tQWxjb2hvbGljIEJldmVyYWdlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk4NzcxNSkpXSxbIk5vbi1QYXBlciBDb250YWluZXJzICYgUGFja2FnaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQyMjM1KSldLFsiTm9uLWZlcnJvdXMgTWV0YWwgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg5OTQwKSldLFsiTm9uLWZlcnJvdXMgTWV0YWwgUHJvY2Vzc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxOTU2NikpXSxbIk51Y2xlYXIgSVBQcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ0MjQxMykpXSxbIk51Y2xlYXIgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQ0ODU2KSldLFsiTnVyc2VyeSAmIEdhcmRlbiBDZW50ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA2NjcxKSldLFsiT2ZmaWNlIEVxdWlwbWVudCAmIFN1cHBsaWVzIFJlbnRhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQyNDg2MSkpXSxbIk9mZmljZSBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTM3NTI1KSldLFsiT2ZmaWNlIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyODc0KSldLFsiT2ZmaWNlIEVxdWlwbWVudC9TdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg0OTExOCkpXSxbIk9mZmljZSBGdXJuaXR1cmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTc3NDgpKV0sWyJPZmZpY2UgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5Mjc3MTIpKV0sWyJPZmZpY2UgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MzM5MTEpKV0sWyJPZmZpY2UgUmVhbCBFc3RhdGUgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MDYzNDkpKV0sWyJPZmZpY2UgU3VwcGxpZXMgJiBTdGF0aW9uZXJ5IFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk0MDExNSkpXSxbIk9mZmljZSBTdXBwbGllcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzk1MDcpKV0sWyJPZmZpY2UgU3VwcGxpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NTYzMikpXSxbIk9mZmljZSBUZWNobm9sb2d5IEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5MDM3MCkpXSxbIk9pbCAmIEdhcyBEcmlsbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY0NzQzOSkpXSxbIk9pbCAmIEdhcyBFeHBsb3JhdGlvbiBhbmQgUHJvZHVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE5NDQ1MCkpXSxbIk9pbCAmIEdhcyBQaXBlbGluZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyODM4ODUpKV0sWyJPaWwgJiBHYXMgUHJvZHVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5MTcpKV0sWyJPaWwgJiBHYXMgUmVmaW5pbmcgYW5kIE1hcmtldGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUwMzMxNykpXSxbIk9pbCAmIEdhcyBTdG9yYWdlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIyNDkzKSldLFsiT2lsICYgR2FzIFRyYW5zcG9ydGF0aW9uIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk2ODE5KSldLFsiT2lsIERyaWxsaW5nIC0gT2Zmc2hvcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNzk0OTcpKV0sWyJPaWwgRHJpbGxpbmcgLSBPbnNob3JlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk4MDUwKSldLFsiT2lsIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9mZnNob3JlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODU3OTE4KSldLFsiT2lsIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9uc2hvcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzcyMzApKV0sWyJPaWwgUGlwZWxpbmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjg4NzkpKV0sWyJPaWwgUmVmaW5pbmcvTWFya2V0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkyMDMyKSldLFsiT2lsIFJlbGF0ZWQgLSBTdXJ2ZXlpbmcgJiBNYXBwaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjY5MTU2KSldLFsiT2lsIFJlbGF0ZWQgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTYxNjE1KSldLFsiT2lsIFJlbGF0ZWQgU2VydmljZXMgYW5kIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMDUzKSldLFsiT2lsIFJlbGF0ZWQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NzMxNjcpKV0sWyJPaWxmaWVsZCBTZXJ2aWNlcy9FcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODU1NDYpKV0sWyJPbmxpbmUgSm9iIHBvcnRhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDAyMikpXSxbIk9wdGljYWwgR29vZHMgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY4NDAxKSldLFsiT3JnYW5pYyAmIEVjb2xvZ2ljYWxseSBQcm9kdWNlZCBGYWJyaWMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTMyMTgpKV0sWyJPcmdhbmljIEZlcnRpbGl6ZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMDE3MzEpKV0sWyJPdGhlciBDb25zdW1lciBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MzgwKSldLFsiT3RoZXIgQ29uc3VtZXIgU3BlY2lhbHRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MDc3NTApKV0sWyJPdGhlciBNZXRhbHMvTWluZXJhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDU4NzEpKV0sWyJPdGhlciBTcGVjaWFsdHkgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY2Nzg5KSldLFsiT3RoZXIgVHJhbnNwb3J0YXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTE1ODYpKV0sWyJPdXRkb29yIEFkdmVydGlzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDMwNzk4KSldLFsiT3V0c291cmNpbmcgJiBTdGFmZmluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3Nzk0MikpXSxbIlBhY2thZ2VkIFNvZnR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkxMjcxKSldLFsiUGFpbnQgJiBDb2F0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTYzODE3KSldLFsiUGFwZXIgTWlsbHMgJiBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4OTIzNSkpXSxbIlBhcGVyIFBhY2thZ2luZyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjY0NzcpKV0sWyJQYXBlciBQYWNrYWdpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDM0NDYpKV0sWyJQYXBlciBQcm9kdWN0IFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU5Mjg0KSldLFsiUGFwZXIgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NDk5NjApKV0sWyJQYXJraW5nIExvdCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTgzNTcpKV0sWyJQYXNzZW5nZXIgQ2FyIHJlbnRhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4NDMzOCkpXSxbIlBhc3NlbmdlciBUcmFuc3BvcnRhdGlvbiwgR3JvdW5kICYgU2VhIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjA3NDI3KSldLFsiUGVuc2lvbiBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4ODU2OCkpXSxbIlBlcnNvbmFsICYgQ2FyIExvYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTg3MzUyKSldLFsiUGVyc29uYWwgQ2FyZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1OTMzOCkpXSxbIlBlcnNvbmFsIExlZ2FsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzA1NjA0KSldLFsiUGVyc29uYWwgTXVzaWMgUGxheWVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1NjA2MCkpXSxbIlBlcnNvbmFsIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjUyNjczKSldLFsiUGVyc29uYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzIzOTkpKV0sWyJQZXJzb25uZWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MjcyNikpXSxbIlBlc3QgQ29udHJvbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NjkwMCkpXSxbIlBlc3RpY2lkZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU4NzYwMikpXSxbIlBldCAmIFBldCBTdXBwbGllcyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNDIwMTMpKV0sWyJQZXQgRm9vZCBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU5MDMxKSldLFsiUGV0cm9sZXVtIFByb2R1Y3QgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjcxOTIxKSldLFsiUGV0cm9sZXVtIFJlZmluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjg2Nzg3KSldLFsiUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjk5NzIzKSldLFsiUGhhcm1hY2V1dGljYWxzOiBHZW5lcmljIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzYxODQ5KSldLFsiUGhhcm1hY2V1dGljYWxzOiBNYWpvciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MjY0MykpXSxbIlBoYXJtYWNldXRpY2FsczogT3RoZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NDUxODApKV0sWyJQaG9uZXMgJiBIYW5kaGVsZCBEZXZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTMzMzMyKSldLFsiUGhvbmVzICYgU21hcnQgUGhvbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTIzNzY0KSldLFsiUGhvdG9ncmFwaGljIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgzMDc5NykpXSxbIlBob3Rvdm9sdGFpYyBTb2xhciBTeXN0ZW1zICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQ1NzYyKSldLFsiUGxhc3RpYyBDb250YWluZXIgJiBQYWNrYWdpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODkzOTMpKV0sWyJQbGFzdGljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwNTkzNCkpXSxbIlBsYXRpbnVtIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkzNjI2MCkpXSxbIlBsYXlzICYgQ29uY2VydCBQcm9kdWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzQwMDMpKV0sWyJQbHVtYmluZyBGaXh0dXJlcyAmIEZpdHRpbmdzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzg2NTYpKV0sWyJQb2ludCBvZiBTYWxlIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDkyKSldLFsiUG9ydCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTUxNjApKV0sWyJQb3J0IFdhcmVob3VzaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzU3MDYwKSldLFsiUG9ydGFibGUgTW90b3JzICYgR2VuZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NzQ0MykpXSxbIlBvcnRhYmxlIFNhdGVsbGl0ZSBOYXZpZ2F0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYyMjQzKSldLFsiUG91bHRyeSBGYXJtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjM1NDE1KSldLFsiUHJlY2lvdXMgTWV0YWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODY0MjEyKSldLFsiUHJlY2lvdXMgTWV0YWxzICYgTWluZXJhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNzYwODkpKV0sWyJQcmVmYWJyaWNhdGVkIEhvbWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODcxMDg4KSldLFsiUHJpbWFyeSBBbHVtaW51bSBQcm9kdWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjU1MzcpKV0sWyJQcml2YXRlIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjQzNzU2KSldLFsiUHJpdmF0ZSBFcXVpdHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5Nzk1MzIpKV0sWyJQcm9jZXNzb3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ4MzYpKV0sWyJQcm9mZXNzaW9uYWwgSW5mb3JtYXRpb24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTMzMzApKV0sWyJQcm9mZXNzaW9uYWwgU3BvcnRzIFZlbnVlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwNDAxNCkpXSxbIlByb2dyYW1taW5nIFNvZnR3YXJlICYgVGVzdGluZyBUb29scyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUzNDM5KSldLFsiUHJvcGVydHkgJiBDYXN1YWx0eSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzYwNjYpKV0sWyJQcm9wZXJ0eSAmIENhc3VhbHR5IFJlaW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk2MjMwKSldLFsiUHJvcGVydHkgSW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY0ODc3KSldLFsiUHJvcGVydHktQ2FzdWFsdHkgSW5zdXJlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTE2MTQpKV0sWyJQcm9wZXJ0eS9DYXN1YWx0eSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTY0NzcpKV0sWyJQcm92aW5jZS9TdGF0ZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc2NjkyKSldLFsiUHVibGljIFJlbGF0aW9ucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU2ODMwKSldLFsiUHVibGljIFNwb3J0IEZhY2lsaXRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODIwOTcpKV0sWyJQdWJsaXNoaW5nOiBCb29rcy9NYWdhemluZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMTMwNTYpKV0sWyJQdWJsaXNoaW5nOiBOZXdzcGFwZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzAwNDQyKSldLFsiUHVicywgQmFycyAmIE5pZ2h0IENsdWJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTMzNDYxKSldLFsiUHVscCBNaWxscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1Mjg1NikpXSxbIlB1bHAgJiBQYXBlciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2NzM2MSkpXSxbIlB1bXAgJiBQdW1waW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMTE3KSldLFsiUHVyaWZpY2F0aW9uICYgVHJlYXRtZW50IEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg0MDM4NikpXSxbIlF1aWNrIFNlcnZpY2UgUmVzdGF1cmFudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NDcyOTkpKV0sWyJSRklEIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjcwMjMpKV0sWyJSYWRpbyBCcm9hZGNhc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMTk4OTIpKV0sWyJSYWlsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjAwNTc2KSldLFsiUmFpbHJvYWRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY3MTQ3KSldLFsiUmFpbHdheSBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjY1NDcpKV0sWyJSYWlsd2F5IEZyZWlnaHQgT3BlcmF0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzE5NzEzKSldLFsiUmFyZSBFYXJ0aCBNaW5lcmFscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxODQpKV0sWyJSYXRpbmcgQWdlbmNpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjc3NTQpKV0sWyJSZWFkeS1NYWRlIE1lYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjEzOTUxKSldLFsiUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDEwNDUpKV0sWyJSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCAmIE9wZXJhdGlvbnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTIwMDQpKV0sWyJSZWFsIEVzdGF0ZSBJbnZlc3RtZW50IFRydXN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE0MjA4NikpXSxbIlJlYWwgRXN0YXRlIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzc2MzY1KSldLFsiUmVjcmVhdGlvbmFsIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTA1NzEpKV0sWyJSZWdpb25hbCBBaXJsaW5lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc2NjE2NSkpXSxbIlJlZ2lvbmFsIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzU4NjIzKSldLFsiUmVpbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzQ0NzcpKV0sWyJSZW5ld2FibGUgRW5lcmd5IEVxdWlwbWVudCAmIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc4OTMwKSldLFsiUmVuZXdhYmxlIEVuZXJneSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxOTYzOSkpXSxbIlJlbmV3YWJsZSBGdWVscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NDE3NCkpXSxbIlJlbmV3YWJsZSBJUFBzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg0OTkzKSldLFsiUmVuZXdhYmxlIFV0aWxpdGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MDA5MCkpXSxbIlJlc2lkZW50aWFsICBSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIwNjE0NCkpXSxbIlJlc2lkZW50aWFsICYgTG9uZyBUZXJtIENhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjIxODkpKV0sWyJSZXNpZGVudGlhbCBBcmNoaXRlY3R1cmFsICYgSW50ZXJpb3IgRGVzaWduIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTA5MDA3KSldLFsiUmVzaWRlbnRpYWwgQnVpbGRlcnMgLSBNdWx0aWZhbWlseSBIb21lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU3ODgxMikpXSxbIlJlc2lkZW50aWFsIEJ1aWxkZXJzIC0gU2luZ2xlIEhvbWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTgyNzk3KSldLFsiUmVzaWRlbnRpYWwgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjAyNjQpKV0sWyJSZXNpZGVudGlhbCBSZWFsIEVzdGF0ZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE0NTI4MSkpXSxbIlJlc29ydCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NDMxODEpKV0sWyJSZXN0YXVyYW50cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMzg4OSkpXSxbIlJlc3RhdXJhbnRzICYgQmFycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxNTIxMykpXSxbIlJldGFpbCAgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTI2MjApKV0sWyJSZXRhaWwgJiBNb3J0Z2FnZSBCYW5rcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5MjkyNikpXSxbIlJldGFpbCAtIERlcGFydG1lbnQgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTYxMjA1KSldLFsiUmV0YWlsIC0gRHJ1Z3Mgd2l0aCBHcm9jZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU5NzYxKSldLFsiUmV0YWlsIC0gRHJ1Z3Mgd2l0aG91dCBHcm9jZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjA5NzI4KSldLFsiUmV0YWlsIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTAxMTQwKSldLFsiUmV0YWlsIFJlYWwgRXN0YXRlIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA5NjI1KSldLFsiUmV0aXJlbWVudCBIb21lIEJ1aWxkZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE4ODkpKV0sWyJSb2NrIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5MTM5OSkpXSxbIlJvb2ZpbmcgU3VwcGxpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTIxMzUpKV0sWyJSdWJiZXIgUGxhbnRhdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MTk3MikpXSxbIlNhaWxpbmcgWWFjaHRzICYgTW90b3Jib2F0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyNzg2MSkpXSxbIlNhbGVzIFByb21vdGlvbnMgJiBFdmVudHMgTWFuYWdlbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIxOTcxNykpXSxbIlNhbml0YXJ5IFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjI3MzU1KSldLFsiU2F0ZWxsaXRlICBTeXN0ZW1zICYgQWNjZXNzb3JpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzQwNzQpKV0sWyJTYXRlbGxpdGUgU2VydmljZSBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NTkxMTYpKV0sWyJTYXZpbmdzIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzM0NTA3KSldLFsiU2NpZW50aWZpYyAmIFByZWNpc2lvbiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTg2MjgpKV0sWyJTY2llbnRpZmljICYgU3VwZXIgQ29tcHV0ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY2NzA0KSldLFsiU2VhLUJvcm5lIFRhbmtlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MDQ0MTIpKV0sWyJTZWFmb29kIFByb2R1Y3QgUHJlcGFyYXRpb24gJiBQYWNrYWdpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzI2NjkpKV0sWyJTZWFyY2ggRW5naW5lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5MjE2MikpXSxbIlNlY29uZGFyeSBTbWVsdGluZyAmIEFsbG95aW5nIG9mIEFsdW1pbnVtIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTc4NzM4KSldLFsiU2VjdXJpdGllcyAmIENvbW1vZGl0eSBFeGNoYW5nZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODYwMTUpKV0sWyJTZWN1cml0eSAmIFN1cnZlaWxsYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk0OTI2NSkpXSxbIlNlY3VyaXR5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTI3MjUyKSldLFsiU2VsZi1TdG9yYWdlIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTkyMjYpKV0sWyJTZW1pY29uZHVjdG9yIEVxdWlwbWVudCAmIFRlc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTIzODEpKV0sWyJTZW1pY29uZHVjdG9yIEVxdWlwbWVudCBXaG9sZXNhbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MzIwOSkpXSxbIlNlbWljb25kdWN0b3IgTWFjaGluZXJ5IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NDk0NTkpKV0sWyJTZW1pY29uZHVjdG9yIFRlc3RpbmcgRXF1aXBtZW50ICYgU2VydmljZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxNjg0NSkpXSxbIlNlbWljb25kdWN0b3IgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTUxMzQ2KSldLFsiU2VtaWNvbmR1Y3RvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NTUyODIpKV0sWyJTZW1pcHJlY2lvdXMgR2VtIFN0b25lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3MDc3NSkpXSxbIlNlcnZlciAmIERhdGFiYXNlIFNvZnR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjg2Mzg1KSldLFsiU2VydmVycyAmIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTUwOTYpKV0sWyJTZXJ2aWNlcyB0byB0aGUgSGVhbHRoIEluZHVzdHJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU0NDA4KSldLFsiU2V3YWdlIFRyZWF0bWVudCBGYWNpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA0MTM5KSldLFsiU2hlbGwgQ29tcGFuaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE4NjgpKV0sWyJTaGlwIFBhcnQgTWFudWZhY3R1cmVyIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTExODM2KSldLFsiU2hpcCBSZXBhaXJpbmcgJiBNYWludGFuYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5NDg5MSkpXSxbIlNoaXBidWlsZGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5OTgzMSkpXSxbIlNpZ25zICYgQWR2ZXJ0aXNpbmcgU3BlY2lhbHR5IFByb2R1Y2VycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyNTA3NykpXSxbIlNpbHZlciBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTYxMDMpKV0sWyJTbWFydCBHcmlkICYgRWxlY3RyaWNhbCBUcmFuc21pc3Npb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NzMzMTEpKV0sWyJTbWFydCBHcmlkICYgUG93ZXIgRGlzdHJpYnV0aW9uIENvbnN0cnVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4NDI3MCkpXSxbIlNuYWNrIEZvb2QgJiBOb24tY2hvY29sYXRlIENvbmZlY3Rpb25hcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MDg0NSkpXSxbIlNvY2lhbCBNZWRpYSAmIE5ldHdvcmtpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTgyMjIpKV0sWyJTb2Z0IEZ1cm5pc2hpbmcgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI0NTc4KSldLFsiU29mdHdhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTcxMDMpKV0sWyJTb3ZlcmVpZ24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODE5MzIpKV0sWyJTcGFjZWNyYWZ0IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTk3NjEpKV0sWyJTcGVjaWFsIEZvb2RzICYgV2VsYmVpbmcgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjY1NzApKV0sWyJTcGVjaWFsIEZvb2RzICYgV2VsbGJlaW5nIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA5NjEwKSldLFsiU3BlY2lhbGl6ZWQgQXZpYXRpb24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTc2MjkpKV0sWyJTcGVjaWFsaXplZCBQcmludGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY3ODEyNikpXSxbIlNwZWNpYWxpemVkIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzI0NTExKSldLFsiU3BlY2lhbHR5ICYgQWR2YW5jZWQgUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDM2NTQ5KSldLFsiU3BlY2lhbHR5IENoZW1pY2FscyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzE3ODYpKV0sWyJTcGVjaWFsdHkgQ2hlbWljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzkwOTY0KSldLFsiU3BlY2lhbHR5IEluc3VyYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIxMTI4NykpXSxbIlNwZWNpYWx0eSBJbnN1cmVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU1NTk3OSkpXSxbIlNwZWNpYWx0eSBNaW5pbmcgJiBNZXRhbHMgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzA1NTQ2KSldLFsiU3BlY2lhbHR5IE1pbmluZyAmIE1ldGFscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxODcwOCkpXSxbIlNwZWNpYWx0eSBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTUyODEpKV0sWyJTcGVjaWFsdHkgVGVsZWNvbW11bmljYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzQ1NjUzKSldLFsiU3BvcnRpbmcgJiBPdXRkb29yIEdvb2RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg1ODk5KSldLFsiU3BvcnRpbmcgR29vZHMgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ0NDk0KSldLFsiU3BvcnRzICYgT3V0ZG9vciBGb290d2VhciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIxMzk4NykpXSxbIlNwb3J0cyAmIE91dGRvb3JzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM3MjE3MykpXSxbIlNwb3J0c3dlYXIgJiBPdXRkb29ycyBDbG90aGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY0NjE0NCkpXSxbIlN0YXJjaCwgVmVnZXRhYmxlIEZhdCAmIE9pbCBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjkxNDU2KSldLFsiU3RhdGUgQWdlbmN5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQyMTg4KSldLFsiU3RhdGlvbmFyeSBGdWVsIENlbGxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzUxMDc0KSldLFsiU3RlYW0gJiBBaXItQ29uZGl0aW9uaW5nIFN1cHBseSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5ODYzOCkpXSxbIlN0ZWVsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTcyNzUzKSldLFsiU3RvcmFnZSBEZXZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzQ2MzMwKSldLFsiU3VnYXIgJiBBcnRpZmljaWFsIFN3ZWV0ZW5lcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjYxMDcpKV0sWyJTdWdhcmNhbmUgRmFybWluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMzNjk4OCkpXSxbIlN1cGVybWFya2V0cyAmIENvbnZlbmllbmNlIFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc4MDIyKSldLFsiU3VwcmFuYXRpb25hbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3NDM4NikpXSxbIlN3aXRjaGdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTYzMDcpKV0sWyJTeW50aGV0aWMgRmFicmljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ1NTU1MCkpXSxbIlN5c3RlbSBTb2Z0d2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU3MTcyNykpXSxbIlRWICYgVmlkZW8iLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzc3NDgpKV0sWyJUYWJsZXQgJiBOZXRib29rIENvbXB1dGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5OTEyMikpXSxbIlRhbm5pbmcgJiBTb2Z0ZW5pbmcgYWdlbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk3MzQ4KSldLFsiVGF4aSAmIExpbW91c2luZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4OTQ4KSldLFsiVGVjaG5vbG9neSBDb25zdWx0aW5nICYgT3V0c291cmNpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NjA1MTMpKV0sWyJUZWxlY29tbXVuaWNhdGlvbiBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTYxODUpKV0sWyJUZWxlY29tbXVuaWNhdGlvbnMgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzg5Njg5KSldLFsiVGVsZWNvbW11bmljYXRpb25zIE5ldHdvcmsgSW5mcmFzdHJ1Y3R1cmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODUxNjQpKV0sWyJUZWxlY29tbXVuaWNhdGlvbnMgUmVzZWxsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTczMjY3KSldLFsiVGVsZW1lZGljaW5lIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjU1ODIwKSldLFsiVGVsZXZpc2lvbiBCcm9hZGNhc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4Mjc5ODApKV0sWyJUZXN0aW5nICYgTWVhc3VyaW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMTM1NSkpXSxbIlRlc3RpbmcgTGFib3JhdG9yaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIxNzg2KSldLFsiVGVzdGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5MjU3NykpXSxbIlRleHRpbGVzICYgTGVhdGhlciBHb29kcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjA2NDcpKV0sWyJUZXh0aWxlcyAmIExlYXRoZXIgR29vZHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjM2NDQpKV0sWyJUZXh0aWxlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1MTk5MykpXSxbIlRoZWF0cmVzICYgUGVyZm9ybWluZyBBcnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE1NDEpKV0sWyJUaGVybWFsIFNvbGFyIFN5c3RlbXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTg0MjEpKV0sWyJUaWxlICYgUGF2aW5nIE1hdGVyaWFsIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODE1MSkpXSxbIlRpbWJlciBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3NTc1NSkpXSxbIlRpbWJlciBUcmFjdCBPcGVyYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzIwNykpXSxbIlRpcmUgJiBUdWJlIE1hbnVmYWN0dXJlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjAwNTMpKV0sWyJUaXJlIERlYWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMzUwMzMpKV0sWyJUaXJlIFJldHJlYWRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MjYwMDEpKV0sWyJUaXJlcyAmIFJ1YmJlciBQcm9kdWN0cyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNjIxMzMpKV0sWyJUaXJlcyAmIFJ1YmJlciBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0Mjc3NSkpXSxbIlRvYmFjY28iLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NzI5NzEpKV0sWyJUb29scyAmIEhhcmR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQ3MDgzKSldLFsiVG9vbHMgJiBIb3VzZXdhcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTE4MDkyKSldLFsiVG95cyAmIEdhbWVzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1MjgzMykpXSxbIlRveXMgJiBKdXZlbmlsZSBQcm9kdWN0cyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MjIzMjcpKV0sWyJUb3lzICYgSnV2ZW5pbGUgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTc4MDQpKV0sWyJUcmFkZSAmIEJ1c2luZXNzIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMzg4NjUpKV0sWyJUcmFuc2FjdGlvbiAmIFBheW1lbnQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTg2MCkpXSxbIlRyYW5zbGF0aW9uICYgSW50ZXJwcmV0YXRpb24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzMyNjkpKV0sWyJUcmF2ZWwgQWdlbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTMzNTkxKSldLFsiVHJ1Y2tpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MjEyMjUpKV0sWyJUcnVja3MvQ29uc3RydWN0aW9uL0Zhcm0gTWFjaGluZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDIxNjQ3KSldLFsiVHVyYmluZSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjg3NzI1KSldLFsiVW5jb252ZW50aW9uYWwgT2lsICYgR2FzIERyaWxsaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTM3ODg4KSldLFsiVW5jb252ZW50aW9uYWwgT2lsICYgR2FzIFByb2R1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjE5NzYpKV0sWyJVcmFuaXVtIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwNzQwNSkpXSxbIlVyYW5pdW0iLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjMxMzIpKV0sWyJVc2VkIENhciBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDg3MDA2KSldLFsiVXNlZCBNZXJjaGFuZGlzZSBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTI2MjcpKV0sWyJWT0lQIEVxdWlwbWVudCAmIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzI1MjMpKV0sWyJWT0lQIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk4MTEzKSldLFsiVmVnZXRhYmxlLCBGcnVpdCAmIE51dCBGYXJtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjEwNjgwKSldLFsiVmVuZGluZyBNYWNoaW5lIFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0OTY4NSkpXSxbIlZlbnR1cmUgQ2FwaXRhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4NjU4NikpXSxbIlZldGVyaW5hcnkgRHJ1Z3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjY3NCkpXSxbIlZldGVyaW5hcnkgTWVkaWNhbCBFcXVpcG1lbnQgJiBTdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYxOTQ5MCkpXSxbIlZldGVyaW5hcnkgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTEzODQpKV0sWyJXYWxscGFwZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTQxNzMpKV0sWyJXYXJlaG91c2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwNjM3OSkpXSxbIldhc3RlIE1hbmFnZW1lbnQsIERpc3Bvc2FsICYgUmVjeWNsaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDkzMzMzKSldLFsiV2FzdGUgdG8gRW5lcmd5IFN5c3RlbXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjEzMDEpKV0sWyJXYXRjaGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjMxMDUyKSldLFsiV2F0ZXIgJiBTZXdhZ2UgQ29uc3RydWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODYxNjU1KSldLFsiV2F0ZXIgU3VwcGx5ICYgSXJyaWdhdGlvbiBTeXN0ZW1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDM1OTgwKSldLFsiV2F0ZXIgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY5OTQ0KSldLFsiV2F2ZSBQb3dlciBFbmVyZ3kgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDA1Nzc5KSldLFsiV2VhbHRoIE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTU3NykpXSxbIldlbGRpbmcgJiBTb2xkZXJpbmcgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE0ODE2KSldLFsiV2hvbGVzYWxlIERpc3RyaWJ1dG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYwOTQ1NSkpXSxbIldpLUZpICYgV2ktTWF4IFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYyODk1KSldLFsiV2luZCBTeXN0ZW1zICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTk5Nzg4KSldLFsiV2luZXJpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MTM2NzUpKV0sWyJXaXJlZCBUZWxlY29tbXVuaWNhdGlvbnMgQ2FycmllcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDcxNjUpKV0sWyJXaXJlbGVzcyBUZWxlY29tIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTc4MzA1KSldLFsiV2lyZWxlc3MgVGVsZWNvbW11bmljYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODUzMTY0KSldLFsiV2lyZWxlc3MgVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTI1NzQzKSldLFsiV2lyZXMgJiBDYWJsZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDA4NDUpKV0sWyJXb21lbidzIEFwcGFyZWwgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQxNDA1KSldLFsiV29tZW4ncyBDbG90aGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUwMzcxMykpXSxbIldvbWVuJ3MgRm9vdHdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MzQwNzcpKV0sWyJXb29kIENvbnRhaW5lciAmIFBhY2thZ2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUyNDUzOSkpXSxbIldvb2QgUHJvZHVjdCBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDM2NDApKV0sWyJXb29kIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA2MDY1KSldLFsiWWFybiBHb29kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMwOTUyMykpXSxbIlppbmMgT3JlIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1MDIwNykpXV0pCjtmdW5jdGlvbiB1KGwpe2NvbnN0IGk9by5nZXQobCk7cmV0dXJuIHZvaWQgMCE9PWk/aSgpOmZ1bmN0aW9uKGwpe2NvbnN0IGk9ZS5nZXQobCk7cmV0dXJuIHZvaWQgMCE9PWk/aSgpOmx9KGwpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/60062.495444a7fac173fb28cd.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.251Z","timestamp":1785136901251,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/60062.495444a7fac173fb28cd.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 87\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-57\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 211d7434b67a80ce820efc260bb55633\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":87,"size_decoded":871,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"274893b786bd12b8da5e090fb307e32b","sha1":"21255ee94ceb3d1a0ee22982cf407e6e567093b4","sha256":"b86cb37cc4b27818ca22cc6d1618b286d3a8e8b04fbfea6a2f2d42101e5db23e","sha512":"b1c9690086309a24a4d9044af4b2936d25346e6cd8a6a8d3bc6831f844f1a44b08405dbeef9999998f66be34b01476894d9b38aa7933d3f6da6f3d8b207d266a","ssdeep":"","tlshash":"4eb012e13c1063344322806a444043ede1a4014825000e524431fc22cc1d80e363d518","first_seen":"2026-07-17T03:30:51.160472Z","last_seen":"2026-08-10T05:00:33.736043Z","times_seen":262,"resource_available":false,"data":"LnNjYWxhYmxlSWNvbi1jajFiQVNmNywuc2NhbGFibGVJY29uLWNqMWJBU2Y3IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/40835.76a1c7923a2c986be9ac.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.429Z","timestamp":1785136901429,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/40835.76a1c7923a2c986be9ac.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-100f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 31fe0632c7d73516aaf7bae36cb470b7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4111,"size_decoded":2063,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4111), with no line terminators","md5":"a6563141742b204a9593bab5b080de7e","sha1":"3f4c1b48e6a44190e1cc78662a5a045968b7f2c0","sha256":"953092909e4c16b8c1cf3e6aeb8c74f01719e08a67a32f223f4407bc30f28b48","sha512":"2093d4a5d1abb74ca9f78354930c29852daa55f3ed0089aba395758d6061f85d41310f06215e141e409b8e5533f6be5dc824ba5bcc72d9a84da0d022feda2f99","ssdeep":"96:ohOKQtBEBWcXTn0kPO+zjGHq41qiDis3nXi:ohOjkBWcXT0km+zjGD1qiDis3Xi","tlshash":"fe81df9772d06e75bd5259adbaac61ac7384dc35ed6300c7b120be3688c53fa0570c2d","first_seen":"2026-07-17T14:15:58.392302Z","last_seen":"2026-08-10T05:01:44.141872Z","times_seen":276,"resource_available":false,"data":"LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkpO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O3BhZGRpbmc6MDt0ZXh0LWFsaWduOnN0YXJ0O3dpZHRoOjEwMCV9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmFmdGVye2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCl9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6NHB4fS5jdXN0b21MaXN0SXRlbS05UTlGSHlybntvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46Zm9jdXN7b3V0bGluZTpub25lfS5jdXN0b21MaXN0SXRlbS05UTlGSHlybjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjF9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jbGlja2FibGUtOVE5Rkh5cm46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9ySG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KSl9fS53cmFwcGVyLUtVaXRzdHBKe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXB9LnByaW1hcnlUaXRsZVdyYXBwZXItS1VpdHN0cEp7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS10aXRsZVRleHRDb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSk7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo2cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSo4cHgpO21pbi1oZWlnaHQ6NDBweDtwYWRkaW5nLWJsb2NrOjhweCA4cHg7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMTBweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjE2cHgpIGNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjEycHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoyMHB4KTtyb3ctZ2FwOjJweDstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNpemU6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMyArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjQpOy0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplLHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNpemUsMykpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNnB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNjAwKTtsaW5lLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjI0cHgpfS5zZWNvbmRhcnlUaXRsZVdyYXBwZXItS1VpdHN0cEp7Y29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRpdGxlU2Vjb25kYXJ5VGV4dENvbG9yLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSk7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtyb3ctZ2FwOjA7dGV4dC1hbGlnbjpzdGFydDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjExcHg7Y29sdW1uLWdhcDo2cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bWluLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSoyNHB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMzJweCk7cGFkZGluZzowIGNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjhweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjE2cHgpO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uc2Vjb25kYXJ5VGl0bGVXcmFwcGVyLUtVaXRzdHBKIC50aXRsZS1LVWl0c3RwSnttaW4taGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMTZweCk7cGFkZGluZzpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjRweCkgMH0uY29udGVudC1LVWl0c3RwSnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlfS5sZWZ0LUtVaXRzdHBKe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6NHB4O3dpZHRoOjI4cHh9LndpdGhMZWZ0U2xvdC1LVWl0c3RwSntwYWRkaW5nLWJvdHRvbTo2cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqNHB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMTJweCk7cGFkZGluZy10b3A6NnB4fS50aXRsZS1LVWl0c3RwSntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNwYWNlLUtVaXRzdHBKe2ZsZXg6MX0uaWNvbi1LVWl0c3RwSntkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqLTFweCk7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSotMXB4KTt3aWR0aDoxOHB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/tradingview-copyright-data-impl.27f349a1d58483f27eaa.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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.769Z","timestamp":1785136901769,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/tradingview-copyright-data-impl.27f349a1d58483f27eaa.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 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-dc9\"\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: ce8a5d10bc140d2279c2e5e9c91098d1\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":3529,"size_decoded":2690,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (1999)","md5":"88cd75b972ac65ea66d51cca418cd69c","sha1":"f4df7f63194fb7a17442ba8c04e626440cdf7985","sha256":"c7c434bf3cf0f1b1f069cde14034f32a220711a98b1190aca13e5f5b85ad3971","sha512":"877ef0b222a370b5ebeef0a0b5ec62ae76954d81f00617c2c9a7f58e0c171a599cf35ae0ac615d4daec98634a6f67c438043e0b7342efc2dc6837666902e216c","ssdeep":"","tlshash":"1c712d9a2252a8cd2553d979cc3b05e5621fa8fc3a8f43e0f973cf30a0831d5a912928","first_seen":"2026-07-23T13:38:20.341671Z","last_seen":"2026-07-29T11:04:57.516744Z","times_seen":1718,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NzUwOV0sezg2NDI3NChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zLWhhbGYtdGltZSI6Ii4zcyAwcyBjdWJpYy1iZXppZXIoLjQsIC4wMSwgLjIyLCAxKSIsbGFiZWw6ImxhYmVsLWU5YzZkeWNWIixsb2dvV3JhcDoibG9nb1dyYXAtZTljNmR5Y1YiLHN2Z1RleHRXcmFwOiJzdmdUZXh0V3JhcC1lOWM2ZHljViIsbGFyZ2U6ImxhcmdlLWU5YzZkeWNWIn19LDcwNTc5MChlLHQsYyl7InVzZSBzdHJpY3QiO2MuZCh0LHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6KCk9PmF9KTt2YXIgaT1jKDkzNzc0NCkscj1jKDg2NDI3NCksbD1jKDk1OTk5MiksaD1jKDIxMjk2MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybnsuLi57aWNvbjpsLHN2Z1RleHQ6aH0sdGhlbWU6cix1cmw6KDAsaS5nZXRMb2NhbGl6ZWRUdkhvc3RXaXRoVXRtKShlLHQpfX19LDkzNzc0NChlLHQsYyl7InVzZSBzdHJpY3QiO2MuZCh0LHtnZXRMb2NhbGl6ZWRUdkhvc3RXaXRoVXRtOigpPT5sfSk7dmFyIGk9YygzNjQxODgpLHI9Yyg2MDE1ODcpO2Z1bmN0aW9uIGwoZSx0KXtjb25zdCBjPSgwLGkuZ2V0VFZIb3N0RnJvbUxvY2FsZSkoZXx8ImVuIiksbD10PygwLHIuYnVpbGRVdG1RdWVyeVN0cmluZykodCk6IiI7cmV0dXJuYGh0dHBzOi8vJHtjfSR7bD8iPyIrbDoiIn1gfX0sMzE5ODcyKGUsdCxjKXsidXNlIHN0cmljdCI7Yy5kKHQse2dldExvY2FsaXplZERvbWFpbjooKT0+cn0pO2NvbnN0IGk9e2FyX0FFOiJhciIsZGVfREU6ImRlIixlbjoid3d3IixlczoiZXMiLGNhX0VTOiJlcyIsZmFfSVI6Ind3dyIsZnI6ImZyIixoZV9JTDoiaWwiLGlkOiJpZCIsaW46ImluIixpdDoiaXQiLGphOiJqcCIsa3I6ImtyIixtc19NWToibXkiLHBsOiJwbCIsYnI6ImJyIixydToicnUiLHN2X1NFOiJzZSIsdGhfVEg6InRoIix0cjoidHIiLHVrOiJ1ayIsdmlfVk46InZuIix6aF9DTjoiY24iLHpoX1RXOiJ0dyJ9O2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGlbZV18fCJ3d3cifX0sMzY0MTg4KGUsdCxjKXsidXNlIHN0cmljdCI7Yy5kKHQse2dldFRWSG9zdEZyb21Mb2NhbGU6KCk9PnJ9KTt2YXIgaT1jKDMxOTg3Mik7ZnVuY3Rpb24gcihlKXtyZXR1cm4oMCxpLmdldExvY2FsaXplZERvbWFpbikoZSkrIi50cmFkaW5ndmlldy5jb20ifX0sOTU5OTkyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNyAxMCIgd2lkdGg9IjE3IiBoZWlnaHQ9IjEwIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjMTMxNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjQyIDkuMDRIOS40N2wzLjU2LTloMy45NGwtMy41NSA5Wk03IC4wNEgwdjNoNHY2aDN2LTlabTIuNSAzYTEuNSAxLjUgMCAxIDAgMC0zIDEuNSAxLjUgMCAwIDAgMCAzWiIvPjwvc3ZnPid9LDIxMjk2MShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDcxIDEzIiB3aWR0aD0iNzEiIGhlaWdodD0iMTMiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGQ9Ik01My4xIDJjMCAuNTctLjQ5IDEuMDMtMS4wOSAxLjAzLS41OCAwLTEuMDctLjQ2LTEuMDctMS4wMyAwLS41Ny41LTEuMDQgMS4wNy0xLjA0LjYgMCAxLjA4LjQ3IDEuMDggMS4wNFpNNTIuOSAxMGgtMS43NlYzLjY1aDEuNzZWMTBaTTI2LjQ3IDMuMDNjLjYgMCAxLjA4LS40NiAxLjA4LTEuMDMgMC0uNTctLjQ4LTEuMDMtMS4wOC0xLjAzLS41OCAwLTEuMDcuNDYtMS4wNyAxLjAzIDAgLjU3LjQ5IDEuMDMgMS4wNyAxLjAzWk0yNS41NyAxMGgxLjc0VjMuNWgtMS43NFYxMFpNNC4wNyAxMEgyLjMzVjIuNzRIMFYxaDYuNHYxLjc0SDQuMDZWMTBaTTguMTQgMTAgNi4zOSAxMFYzLjQ5aDEuNzV2MS4xYy4yLS41OC43Ny0xLjAyIDEuNDYtMS4wMmguMDJjLjE4IDAgLjM1IDAgLjU1LjA1djEuNjZhMi4zMyAyLjMzIDAgMCAwLS43Ni0uMTJjLS44IDAtMS4yNy41OC0xLjI3IDEuNTdWMTBaTTMwLjIyIDEwaC0xLjc1VjMuNWgxLjc1di41N2MuMzMtLjQ3Ljg5LS43IDEuNjktLjcgMS40OCAwIDIuMzcgMS4wNCAyLjM3IDIuNTlWMTBoLTEuNzRWNi40YzAtLjg2LS4zMy0xLjU1LTEuMDMtMS41NS0uNzggMC0xLjMuNTQtMS4zIDEuNjhWMTBaTTQ2Ljk1IDEwbDMuNi05aC0yLjAzTDQ2LjIgNy4yNyA0My41OCAxaC0yLjAzbDMuNjYgOWgxLjc0Wk02OC4yNSAxMGgtMS43bC0xLjE4LTMuNzVMNjQuMjEgMTBoLTEuN2wtMi4wOC02LjVoMS44M2wxLjE5IDQuMSAxLjI2LTQuMWgxLjMxbDEuMjggNC4xIDEuMTctNC4xaDEuODRMNjguMjUgMTBaIi8+PHBhdGggZmlsbD0iIzEzMTcyMiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4zMiAxMC4wMmMuODggMCAxLjUtLjQ0IDEuNzktLjg1VjEwaDEuNzlWMy41SDE1LjF2LjdhMi4yIDIuMiAwIDAgMC0xLjgtLjg1Yy0xLjcgMC0zIDEuNTQtMyAzLjM0IDAgMS44IDEuMyAzLjMzIDMgMy4zM1ptLjM3LTEuNmMtLjk3IDAtMS42MS0uNzItMS42MS0xLjczcy42NC0xLjc0IDEuNi0xLjc0Yy45OCAwIDEuNjIuNzMgMS42MiAxLjc0IDAgMS0uNjQgMS43NC0xLjYxIDEuNzRaTTIyLjY2IDkuMTdjLS4zLjQtLjkuODUtMS43OS44NS0xLjcgMC0zLTEuNTMtMy0zLjMzczEuMy0zLjM0IDMtMy4zNGMuODggMCAxLjUuNDUgMS44Ljg2VjFoMS43NHY5aC0xLjc1di0uODNabS0zLjAzLTIuNDhjMCAxIC42NCAxLjc0IDEuNjEgMS43NC45NyAwIDEuNjEtLjczIDEuNjEtMS43NHMtLjY0LTEuNzQtMS42LTEuNzRjLS45OCAwLTEuNjIuNzMtMS42MiAxLjc0Wk0zOC40OCAxMi42OGMxLjk2IDAgMy40Mi0xIDMuNDItMy4zVjMuNWgtMS44di43MmEyLjEgMi4xIDAgMCAwLTEuNzgtLjg2Yy0xLjY4IDAtMy4wMiAxLjQzLTMuMDIgMy4yNCAwIDEuNzkgMS4zNCAzLjMgMy4wMiAzLjNhMi4yIDIuMiAwIDAgMCAxLjc4LS45M3YuNDRjMCAxLjAyLS42IDEuNzUtMS42NCAxLjc1LS43MiAwLTEuNDMtLjI0LTItLjhsLS45NSAxLjMxYy43Mi43IDEuODYgMS4wMiAyLjk3IDEuMDJabS4yLTQuNDZhMS42IDEuNiAwIDAgMS0xLjYyLTEuNjNjMC0uOTkuNzUtMS42NCAxLjYzLTEuNjQuODggMCAxLjYyLjY1IDEuNjIgMS42NGExLjYgMS42IDAgMCAxLTEuNjIgMS42M1pNNjAuMyA4LjU2QTMuNDcgMy40NyAwIDAgMSA1Ny4zNSAxMGMtMS45IDAtMy4zOS0xLjMxLTMuMzktMy4zMyAwLTEuOSAxLjQyLTMuMzQgMy4zNy0zLjM0IDEuNjcgMCAzLjE0IDEuMDYgMy4xNCAzLjE1di4wOWMwIC4xNSAwIC4zNS0uMDIuNTZoLTQuNzljLjEuODYuODYgMS4yOCAxLjcgMS4yOC44MSAwIDEuMzYtLjM2IDEuNjUtLjgxbDEuMy45N1ptLTMuMDQtMy44Yy0uNjUgMC0xLjM4LjM0LTEuNTQgMS4xMmgyLjk5Yy0uMTUtLjc3LS44LTEuMTEtMS40NS0xLjExWiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/gen204?sl=en\u0026nca=te_ap\u0026client=te\u0026logld=vTE_20260722","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:42.034Z","timestamp":1785136902034,"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":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /gen204?sl=en\u0026nca=te_ap\u0026client=te\u0026logld=vTE_20260722 HTTP/1.1\r\nHost: translate.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: 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://huobiget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-type: image/gif; charset=utf-8\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 07:21:42 GMT\r\ncross-origin-resource-policy: cross-origin\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncontent-security-policy: require-trusted-types-for 'script';report-uri /_/TranslateApiHttp/cspreport, script-src 'nonce-Lt7Swm2ltXYljqLR0prbKA' 'unsafe-inline';object-src 'none';base-uri 'self';report-uri /_/TranslateApiHttp/cspreport;worker-src 'self'\r\ncross-origin-opener-policy: same-origin\r\naccept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64, Sec-CH-UA-Form-Factors, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version\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\nreporting-endpoints: default=\"/_/TranslateApiHttp/web-reports?context=eJzj4tDikmJw0JBiEOLmaOubc5lN4MGq2QFKSkn5hfElRYl5xTmJJanFqUVlqUXxRgZGZgbmRkZ6BsbxBQYA9fAR5A\"\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: __Secure-ENID=35.SE=Jew-YrH9gelwUoKSGOWV3joUWg7H_PKkQ_0aTAdp3I7XLajhteaPUrb_wQHqffa7ZFYBl4OgD3BvnyCX9V9E5aEa5Tp4KArzQ5cyDWUU2n2ulh-EI-pq27K1fL6IMBPupfn57Ex5U6ECy4vtDBHWx3EYwSs8ACbiu7-pYLQuABZCdhwQV2VYY0Q7zFebKawMIcRH8csTb1bsXwRu9jr_wWGoBlQJwxKCUD8DEm7PPpU; expires=Thu, 26-Aug-2027 23:40:00 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"image/gif; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget.time.is/?London_z716\u0026t=1785136900139","fqdn":"widget.time.is","domain":"time.is","tld":"is"},"ip":{"addr":"104.26.12.54","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.141Z","timestamp":1785136900141,"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":"time.is","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 00:17:11 GMT","end":"Thu, 08 Oct 2026 01:16:59 GMT"},"fingerprint":{"sha1":"EA:49:D4:B7:2D:1C:4C:62:2D:35:DF:49:C0:93:CE:C2:17:D0:81:85","sha256":"9A:B1:D1:52:BF:46:F7:B7:E8:9C:9F:DB:97:7A:2E:04:ED:94:31:75:B1:16:85:D3:A7:2A:A9:80:F4:55:0B:42"}}},"request":{"raw":"GET /?London_z716\u0026t=1785136900139 HTTP/1.1\r\nHost: widget.time.is\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://huobiget.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: cloudflare\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npragma: no-cache\r\ncache-control: no-cache\r\nexpires: Mon, 27 Jul 2026 07:21:40 +0000\r\ncf-cache-status: DYNAMIC\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=HwDmrDeGHF%2F3j0Qa8UZNUXVAt6%2FQPOn%2Bd80CqdWdpcJx%2F%2FP%2FOpacUJFT1%2BdV1aOuIUFLOeJSxCsxF4QG3EIw5z9u%2FiDZ%2FMXqlWeeXMpi9CrnmszOs6U3OrR33UuPPWMT\"}]}\r\ncontent-encoding: br\r\ncf-ray: a219e379ed6b5a0f-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":81,"size_decoded":702,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"523c74832e89e7bf3b9920a851cfbc58","sha1":"7f90919de5857efc2e71ed1e043b904802d50828","sha256":"eb4332345c0c9a4db5a2bc77faaccdc1e9cc84747c5c37bbc12ec3b4d64d706e","sha512":"f418d8384049f97e7a48372233b8baba781b0ae5d3ed656efa7d0a9b1a1686c7437b9829833676a9f13e101dedbb695e9b09c4c90a3662898a39d07bb4ae8fe0","ssdeep":"","tlshash":"cea00235d741058d6cd8135dc4265b2c96408fa8bbcd39650f1174d32ce55c7415d240","first_seen":"2026-07-27T07:22:35.500934Z","last_seen":"2026-07-27T07:22:35.500934Z","times_seen":1,"resource_available":true,"data":"dGltZV9pc193aWRnZXQuY2IoMTc4NTEzNjkwMDE1MiwxNzg1MTM2OTAwMTM5LFtbNjAsMTc5Mjg4OTk5OTk5OSwwLDAsMCwwLDAsMCwwXV0p"}},"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/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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.001Z","timestamp":1785136901001,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/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 07:21:41 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: 321b1e02f99cf16fe9d8685f510e0d6c\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2619,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-08-10T08:00:01.054563Z","times_seen":5279,"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":"s3-symbol-logo.tradingview.com/crypto/XTVCTRX.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.383Z","timestamp":1785136905383,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCTRX.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"806b2da490c65d461e525da3c0eb3b66\"\r\nlast-modified: Wed, 08 Sep 2021 09:05:10 GMT\r\ncdn-cachedat: 08/09/2025 14:33:50\r\nx-amz-id-2: n69AJKfQjDZJ5Fo6mPHkxgqHnP59lbTGLkHe3LV2VRt14V86jzQYmL2k4Xn0BWVt9i6sWrfxHTo=\r\nx-amz-request-id: TMBJSCPE67EBH9XG\r\nx-amz-meta-hash: 806b2da490c65d461e525da3c0eb3b66\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 08ca0fe82fcc263178ef7e6c09a866b7\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/css/magnific-popup.css","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.478Z","timestamp":1785136899478,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /css/magnific-popup.css HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/css\r\nContent-Length: 7859\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":7859,"size_decoded":8068,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"2aad777437b42bb818d737c73156ddb7","sha1":"6127d39b81eacab77cd834258e8f34747a793056","sha256":"44c0bc765e9c74b5e70366863a39b5db34f121c37b0b9e45ad2244c672820584","sha512":"f6eb432e3ee2ad220eb295f62c053090d8778e9fb74254e49aae248253d96bf3af18ebcafd1bda560a1e46ecf9d0c9d703ebad2debf2d2c5a2fbfc9b92eee0e2","ssdeep":"192:S+mS4tKnIQA5H2CqAEgmLioElcXC6Tikpc/gQMAGxW:dWROCz","tlshash":"7ff1fe59db112342c237dbb4dbe30719e71200639b0300abbfcd9a46affa5684661fd9","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-08-01T11:22:31.006628Z","times_seen":244,"resource_available":false,"data":"LyogTWFnbmlmaWMgUG9wdXAgQ1NTICovDQoNCi5tZnAtYmcgew0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICB6LWluZGV4OiAxMDQyOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIGJhY2tncm91bmQ6ICMwYjBiMGI7DQogICAgb3BhY2l0eTogMC44Ow0KfQ0KDQoubWZwLXdyYXAgew0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICB6LWluZGV4OiAxMDQzOw0KICAgIHBvc2l0aW9uOiBmaXhlZDsNCiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7DQogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQp9DQoNCi5tZnAtY29udGFpbmVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBsZWZ0OiAwOw0KICAgIHRvcDogMDsNCiAgICBwYWRkaW5nOiAwIDhweDsNCiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KfQ0KDQoubWZwLWNvbnRhaW5lcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICcnOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KDQoubWZwLWNvbnRlbnQgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICBtYXJnaW46IDAgYXV0bzsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIHotaW5kZXg6IDEwNDU7DQp9DQoNCi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsDQoubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY3Vyc29yOiBhdXRvOw0KfQ0KDQoubWZwLWFqYXgtY3VyIHsNCiAgICBjdXJzb3I6IHByb2dyZXNzOw0KfQ0KDQoubWZwLXpvb20tb3V0LWN1ciwNCi5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Ugew0KICAgIGN1cnNvcjogLW1vei16b29tLW91dDsNCiAgICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7DQogICAgY3Vyc29yOiB6b29tLW91dDsNCn0NCg0KLm1mcC16b29tIHsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47DQogICAgY3Vyc29yOiAtbW96LXpvb20taW47DQogICAgY3Vyc29yOiB6b29tLWluOw0KfQ0KDQoubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudCB7DQogICAgY3Vyc29yOiBhdXRvOw0KfQ0KDQoubWZwLWNsb3NlLA0KLm1mcC1hcnJvdywNCi5tZnAtcHJlbG9hZGVyLA0KLm1mcC1jb3VudGVyIHsNCiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgdXNlci1zZWxlY3Q6IG5vbmU7DQp9DQoNCi5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KDQoubWZwLWhpZGUgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCn0NCg0KLm1mcC1wcmVsb2FkZXIgew0KICAgIGNvbG9yOiAjQ0NDOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDUwJTsNCiAgICB3aWR0aDogYXV0bzsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbWFyZ2luLXRvcDogLTAuOGVtOw0KICAgIGxlZnQ6IDhweDsNCiAgICByaWdodDogOHB4Ow0KICAgIHotaW5kZXg6IDEwNDQ7DQp9DQoNCi5tZnAtcHJlbG9hZGVyIGEgew0KICAgIGNvbG9yOiAjQ0NDOw0KfQ0KDQoubWZwLXByZWxvYWRlciBhOmhvdmVyIHsNCiAgICBjb2xvcjogI0ZGRjsNCn0NCg0KLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KDQoubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KDQpidXR0b24ubWZwLWNsb3NlLA0KYnV0dG9uLm1mcC1hcnJvdyB7DQogICAgb3ZlcmZsb3c6IHZpc2libGU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMDsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgb3V0bGluZTogbm9uZTsNCiAgICBwYWRkaW5nOiAwOw0KICAgIHotaW5kZXg6IDEwNDY7DQogICAgYm94LXNoYWRvdzogbm9uZTsNCiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsNCn0NCg0KYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGJvcmRlcjogMDsNCn0NCg0KLm1mcC1jbG9zZSB7DQogICAgd2lkdGg6IDQ0cHg7DQogICAgaGVpZ2h0OiA0NHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0NHB4Ow0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICByaWdodDogMDsNCiAgICB0b3A6IDA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBvcGFjaXR5OiAwLjY1Ow0KICAgIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7DQogICAgY29sb3I6ICNGRkY7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtc2l6ZTogMjhweDsNCiAgICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7DQp9DQoNCi5tZnAtY2xvc2U6aG92ZXIsDQoubWZwLWNsb3NlOmZvY3VzIHsNCiAgICBvcGFjaXR5OiAxOw0KfQ0KDQoubWZwLWNsb3NlOmFjdGl2ZSB7DQogICAgdG9wOiAxcHg7DQp9DQoNCi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Ugew0KICAgIGNvbG9yOiAjMzMzOw0KfQ0KDQoubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLA0KLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Ugew0KICAgIGNvbG9yOiAjRkZGOw0KICAgIHJpZ2h0OiAtNnB4Ow0KICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgIHBhZGRpbmctcmlnaHQ6IDZweDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLm1mcC1jb3VudGVyIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIGNvbG9yOiAjQ0NDOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMThweDsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KfQ0KDQoubWZwLWFycm93IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgb3BhY2l0eTogMC42NTsNCiAgICBtYXJnaW46IDA7DQogICAgdG9wOiA1MCU7DQogICAgbWFyZ2luLXRvcDogLTU1cHg7DQogICAgcGFkZGluZzogMDsNCiAgICB3aWR0aDogOTBweDsNCiAgICBoZWlnaHQ6IDExMHB4Ow0KICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7DQp9DQoNCi5tZnAtYXJyb3c6YWN0aXZlIHsNCiAgICBtYXJnaW4tdG9wOiAtNTRweDsNCn0NCg0KLm1mcC1hcnJvdzpob3ZlciwNCi5tZnAtYXJyb3c6Zm9jdXMgew0KICAgIG9wYWNpdHk6IDE7DQp9DQoNCi5tZnAtYXJyb3c6YmVmb3JlLA0KLm1mcC1hcnJvdzphZnRlciB7DQogICAgY29udGVudDogJyc7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDA7DQogICAgaGVpZ2h0OiAwOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OiAwOw0KICAgIHRvcDogMDsNCiAgICBtYXJnaW4tdG9wOiAzNXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAzNXB4Ow0KICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50Ow0KfQ0KDQoubWZwLWFycm93OmFmdGVyIHsNCiAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4Ow0KICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7DQogICAgdG9wOiA4cHg7DQp9DQoNCi5tZnAtYXJyb3c6YmVmb3JlIHsNCiAgICBib3JkZXItdG9wLXdpZHRoOiAyMXB4Ow0KICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7DQogICAgb3BhY2l0eTogMC43Ow0KfQ0KDQoubWZwLWFycm93LWxlZnQgew0KICAgIGxlZnQ6IDA7DQp9DQoNCi5tZnAtYXJyb3ctbGVmdDphZnRlciB7DQogICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7DQogICAgbWFyZ2luLWxlZnQ6IDMxcHg7DQp9DQoNCi5tZnAtYXJyb3ctbGVmdDpiZWZvcmUgew0KICAgIG1hcmdpbi1sZWZ0OiAyNXB4Ow0KICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOw0KfQ0KDQoubWZwLWFycm93LXJpZ2h0IHsNCiAgICByaWdodDogMDsNCn0NCg0KLm1mcC1hcnJvdy1yaWdodDphZnRlciB7DQogICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjsNCiAgICBtYXJnaW4tbGVmdDogMzlweDsNCn0NCg0KLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUgew0KICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7DQp9DQoNCi5tZnAtaWZyYW1lLWhvbGRlciB7DQogICAgcGFkZGluZy10b3A6IDQwcHg7DQogICAgcGFkZGluZy1ib3R0b206IDQwcHg7DQp9DQoNCi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQgew0KICAgIGxpbmUtaGVpZ2h0OiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1heC13aWR0aDogOTAwcHg7DQp9DQoNCi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHsNCiAgICB0b3A6IC00MHB4Ow0KfQ0KDQoubWZwLWlmcmFtZS1zY2FsZXIgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7DQp9DQoNCi5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7DQogICAgYmFja2dyb3VuZDogIzAwMDsNCn0NCg0KLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqLw0KDQppbWcubWZwLWltZyB7DQogICAgd2lkdGg6IGF1dG87DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogYXV0bzsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBsaW5lLWhlaWdodDogMDsNCiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgIHBhZGRpbmc6IDQwcHggMCA0MHB4Ow0KICAgIG1hcmdpbjogMCBhdXRvOw0KfQ0KDQovKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi8NCg0KLm1mcC1maWd1cmUgew0KICAgIGxpbmUtaGVpZ2h0OiAwOw0KfQ0KDQoubWZwLWZpZ3VyZTphZnRlciB7DQogICAgY29udGVudDogJyc7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IDA7DQogICAgdG9wOiA0MHB4Ow0KICAgIGJvdHRvbTogNDBweDsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICByaWdodDogMDsNCiAgICB3aWR0aDogYXV0bzsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgei1pbmRleDogLTE7DQogICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7DQogICAgYmFja2dyb3VuZDogIzQ0NDsNCn0NCg0KLm1mcC1maWd1cmUgc21hbGwgew0KICAgIGNvbG9yOiAjQkRCREJEOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMTRweDsNCn0NCg0KLm1mcC1maWd1cmUgZmlndXJlIHsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5tZnAtYm90dG9tLWJhciB7DQogICAgbWFyZ2luLXRvcDogLTM2cHg7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMTAwJTsNCiAgICBsZWZ0OiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGN1cnNvcjogYXV0bzsNCn0NCg0KLm1mcC10aXRsZSB7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsaW5lLWhlaWdodDogMThweDsNCiAgICBjb2xvcjogI0YzRjNGMzsNCiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7DQogICAgcGFkZGluZy1yaWdodDogMzZweDsNCn0NCg0KLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQp9DQoNCi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KDQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwNCnNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7DQogICAgLyoqDQogICAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW4NCiAgICAgICAgICovDQogICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KICAgIH0NCiAgICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcgew0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgIH0NCiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmU6YWZ0ZXIgew0KICAgICAgICB0b3A6IDA7DQogICAgICAgIGJvdHRvbTogMDsNCiAgICB9DQogICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHsNCiAgICAgICAgZGlzcGxheTogaW5saW5lOw0KICAgICAgICBtYXJnaW4tbGVmdDogNXB4Ow0KICAgIH0NCiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyIHsNCiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOw0KICAgICAgICBib3R0b206IDA7DQogICAgICAgIG1hcmdpbjogMDsNCiAgICAgICAgdG9wOiBhdXRvOw0KICAgICAgICBwYWRkaW5nOiAzcHggNXB4Ow0KICAgICAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgfQ0KICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkgew0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgIH0NCiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHsNCiAgICAgICAgcmlnaHQ6IDVweDsNCiAgICAgICAgdG9wOiAzcHg7DQogICAgfQ0KICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHsNCiAgICAgICAgdG9wOiAwOw0KICAgICAgICByaWdodDogMDsNCiAgICAgICAgd2lkdGg6IDM1cHg7DQogICAgICAgIGhlaWdodDogMzVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7DQogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsNCiAgICAgICAgcG9zaXRpb246IGZpeGVkOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIHBhZGRpbmc6IDA7DQogICAgfQ0KfQ0KDQpAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkgew0KICAgIC5tZnAtYXJyb3cgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7DQogICAgfQ0KICAgIC5tZnAtYXJyb3ctbGVmdCB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMDsNCiAgICB9DQogICAgLm1mcC1hcnJvdy1yaWdodCB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsNCiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsNCiAgICB9DQogICAgLm1mcC1jb250YWluZXIgew0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDZweDsNCiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4Ow0KICAgIH0NCn0="}},"time_used":281,"timings":{"blocked":-1,"dns":0,"connect":92,"send":0,"wait":92,"receive":0,"ssl":97},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/team-1.jpg","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.538Z","timestamp":1785136899538,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/team-1.jpg HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/jpeg\r\nContent-Length: 23644\r\nConnection: keep-alive\r\nLast-Modified: Sun, 29 Sep 2024 18:36:45 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":23644,"size_decoded":23856,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 554x554, components 3","md5":"c80c2248a5682b576d180fa3d65b19eb","sha1":"c49f433be553fee2b6f794875379b26eb8557ef1","sha256":"9a348ff70ce367a1b407b87d7a1a636a30402e0d06b846337b7b689bb4d0c0dc","sha512":"c02e8c47066dc9899085f2e29b6e6e7aa006521dfaba4af2a0306e3b68545248096fb6e07b73d6ca8578692d20e00aafabde5cd8e342b8eb3b7bbcb1f0c1c9c8","ssdeep":"384:kil01HpUID2pWgC52zXQWu0mMdzlg5eeFjxjcZIyjl5Dbo5jfXLLhl:7W1J7CpyI8ImMZlg4e/jIdl5DbE/D","tlshash":"fbb2e0112db666a2cd5fac311387afbb960b507ef7669302e004d33692c54e590bd77c","first_seen":"2026-07-27T04:48:05.508156Z","last_seen":"2026-07-27T07:23:37.199372Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":800,"timings":{"blocked":704,"dns":0,"connect":0,"send":0,"wait":96,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.351Z","timestamp":1785136900351,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 535da6d129a42835dab3c3fff91a89b9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":33900,"size_decoded":11131,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-29T11:04:57.494393Z","times_seen":755,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ4MjVdLHs0MDIwNDUoZSx0LHMpe3MuZCh0LHtXYXRjaGVkT2JqZWN0OigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cygyMzIzNjQpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4oMCxyLmRlZXBFcXVhbHMpKGUsdClbMF19Y2xhc3MgbyBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdD1hKXtzdXBlcihlKSx0aGlzLl9jb21wYXJhdG9yPXR9c2V0VmFsdWUoZSx0KXshdCYmdGhpcy5fY29tcGFyYXRvcih0aGlzLnZhbHVlKCksZSl8fHN1cGVyLnNldFZhbHVlKGUsdCl9fX0sNjI0Njc4KGUsdCxzKXtzLmQodCx7RGF0ZUZvcm1hdHRlcjooKT0+YX0pO3ZhciByPXMoNDkxMTY1KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGU9Inl5eXktTU0tZGQiLHQ9ITEscz0iVVRDIil7dGhpcy5fZGF0ZUZvcm1hdEZ1bmM9dD8oMCxyLmdldERhdGVGb3JtYXRXaXRoV2Vla2RheSkoZSxzKTpyLmRhdGVGb3JtYXRGdW5jdGlvbnNbZV19Zm9ybWF0KGUpe3JldHVybiB0aGlzLl9kYXRlRm9ybWF0RnVuYyhlLCExKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdEZ1bmMoZSwhMCl9cGFyc2UoZSl7cmV0dXJuIiI9PT1lP3tyZXM6ITF9OntyZXM6ITAsdmFsdWU6ZX19fWNsYXNzIGF7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZT1uZXcgaShlLHQscyl9Zm9ybWF0KGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1wYXJzZShlKXtyZXR1cm4gYS5fY3VzdG9tRm9ybWF0dGVyP2EuX2N1c3RvbUZvcm1hdHRlci5wYXJzZShlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UucGFyc2UoZSl9c3RhdGljIHNldEN1c3RvbUZvcm1hdHRlcihlKXthLl9jdXN0b21Gb3JtYXR0ZXI9ZX19YS5fY3VzdG9tRm9ybWF0dGVyPW51bGx9LDgyNjE1NihlLHQscyl7cy5kKHQse0RhdGVUaW1lRm9ybWF0dGVyOigpPT5ufSk7dmFyIHI9cygyMzgxMDMpLGk9cyg2MjQ2NzgpLGE9cygyOTcxMTEpO2NvbnN0IG89e2RhdGVGb3JtYXQ6Inl5eXktTU0tZGQiLHdpdGhXZWVrZGF5OiExLHRpbWVGb3JtYXQ6ci5ob3VyTWludXRlU2Vjb25kRm9ybWF0LGRhdGVUaW1lU2VwYXJhdG9yOiIgIn07Y2xhc3Mgbntjb25zdHJ1Y3RvcihlPXt9KXtjb25zdCB0PU9iamVjdC5hc3NpZ24oe30sbyxlKTt0aGlzLl9kYXRlRm9ybWF0dGVyPW5ldyBpLkRhdGVGb3JtYXR0ZXIodC5kYXRlRm9ybWF0LHQud2l0aFdlZWtkYXksdC50aW1lem9uZSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgYS5UaW1lRm9ybWF0dGVyKHQudGltZUZvcm1hdCksdGhpcy5fc2VwYXJhdG9yPXQuZGF0ZVRpbWVTZXBhcmF0b3J9Zm9ybWF0KGUsdCl7Y29uc3Qgcz10Py5kYXRlVGltZVNlcGFyYXRvcj8/dGhpcy5fc2VwYXJhdG9yO3JldHVybmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KGUpfSR7c30ke3RoaXMuX3RpbWVGb3JtYXR0ZXIuZm9ybWF0KGUpfWB9Zm9ybWF0TG9jYWwoZSx0KXtjb25zdCBzPXQ/LmRhdGVUaW1lU2VwYXJhdG9yPz90aGlzLl9zZXBhcmF0b3I7cmV0dXJuYCR7dGhpcy5fZGF0ZUZvcm1hdHRlci5mb3JtYXRMb2NhbChlKX0ke3N9JHt0aGlzLl90aW1lRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpfWB9fX0sMjM4MTAzKGUsdCxzKXtzLmQodCx7aG91ck1pbnV0ZUZvcm1hdDooKT0+byxob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdDooKT0+aSxob3VyTWludXRlU2Vjb25kRm9ybWF0OigpPT5yLGhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdDooKT0+YSx0d2VsdmVIb3VyTWludXRlRm9ybWF0OigpPT5sLHR3ZWx2ZUhvdXJNaW51dGVOb25aZXJvU2Vjb25kRm9ybWF0OigpPT5kLHR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6KCk9Pm59KTtjb25zdCByPSIlaDolbTolcyIsaT0iJWg6JW06JXMrIixhPSIlaDolbTolcy4lc3MrIixvPSIlaDolbSIsbj0iJWg6JW06JXMgJWFtcG0iLGQ9IiVoOiVtOiVzKyAlYW1wbSIsbD0iJWg6JW0gJWFtcG0iO3ZhciBoOyFmdW5jdGlvbihlKXtlLlR3ZW50eUZvdXJIb3Vycz0iMjQtaG91cnMiLGUuVHdlbHZlSG91cnM9IjEyLWhvdXJzIn0oaHx8KGg9e30pKX0sMjk3MTExKGUsdCxzKXtzLmQodCx7VGltZUZvcm1hdHRlcjooKT0+b30pO3ZhciByPXMoMjM4MTAzKSxpPXMoODIyNDMxKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQ9ITEsdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycz1bXTtjb25zdCB0PWV8fHIuaG91ck1pbnV0ZVNlY29uZEZvcm1hdCxzPW5ldyBSZWdFeHAoIiVofCVtfCVzXFwrfCVzc1xcK3wlc3N8JWFtcG18JXMiLCJnIik7bGV0IGk9cy5leGVjKHQpLGE9MDtmb3IoO251bGwhPT1pOyl7Y29uc3QgZT1pWzBdOyIlYW1wbSI9PT1lJiYodGhpcy5faXNUd2VsdmVIb3Vyc0Zvcm1hdD0hMCk7Y29uc3Qgcj10LnN1YnN0cmluZyhhLGkuaW5kZXgpOyIiIT09ciYmdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycy5wdXNoKHIpLHRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnMucHVzaChlKSxhPWkuaW5kZXgrZS5sZW5ndGgsaT1zLmV4ZWModCl9fWZvcm1hdChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlLCEwKX1fZm9ybWF0VGltZShlLHQ9ITEpe2xldCBzPXQ/ZS5nZXRIb3VycygpOmUuZ2V0VVRDSG91cnMoKTtjb25zdCByPXQ/ZS5nZXRNaW51dGVzKCk6ZS5nZXRVVENNaW51dGVzKCksYT10P2UuZ2V0U2Vjb25kcygpOmUuZ2V0VVRDU2Vjb25kcygpLG89dD9lLmdldE1pbGxpc2Vjb25kcygpOmUuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7bGV0IG49IiIKO3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQmJihuPXM+PTEyPyJQTSI6IkFNIixzJT0xMixzPXN8fDEyKTtsZXQgZD0iIixsPSExO2ZvcihsZXQgZT10aGlzLl92YWx1ZXNBbmREZWxpbWl0ZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCB0PXRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnNbZV07bGV0IGg7c3dpdGNoKHQpe2Nhc2UiJWgiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykocywyKTticmVhaztjYXNlIiVtIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHIsMik7YnJlYWs7Y2FzZSIlcysiOjAhPT1hP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYSwyKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVzIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGEsMik7YnJlYWs7Y2FzZSIlc3MiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTticmVhaztjYXNlIiVzcysiOjAhPT1vP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVhbXBtIjpoPW47YnJlYWs7ZGVmYXVsdDppZihsKXtsPSExO2NvbnRpbnVlfWg9dH1kPWgrZH1yZXR1cm4gZH19Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlKXt0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2U9bmV3IGEoZSl9Zm9ybWF0KGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX3RpbWVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1zdGF0aWMgc2V0Q3VzdG9tRm9ybWF0dGVyKGUpe28uX2N1c3RvbUZvcm1hdHRlcj1lfX1vLl9jdXN0b21Gb3JtYXR0ZXI9bnVsbH0sNDU5OTk0KGUsdCxzKXtzLmQodCx7Q2hhcnRTZXNzaW9uOigpPT5jfSk7dmFyIHI9cyg5NDgzODApLGk9cygxMzg2MzgpLGE9cygyMzIzNjQpLG89cygyMjEwNjEpLG49cygxNTAxNTApO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJDaGFydEFwaS5BYnN0cmFjdFNlc3Npb24iKTt2YXIgbDshZnVuY3Rpb24oZSl7ZVtlLkRpc2Nvbm5lY3RlZD0wXT0iRGlzY29ubmVjdGVkIixlW2UuUmVnaXN0ZXJlZD0xXT0iUmVnaXN0ZXJlZCIsZVtlLkNvbm5lY3RlZD0yXT0iQ29ubmVjdGVkIn0obHx8KGw9e30pKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pc0Nvbm5lY3RlZD1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXRlPTAsdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExLHRoaXMuX3Nlc3Npb25JZD0iIix0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkPW5ldyByLkRlbGVnYXRlLHRoaXMuX2NoYXJ0QXBpPWUsdGhpcy5fc2Vzc2lvblByZWZpeD10LHRoaXMuX3Nob3VsZFJlY29ubmVjdEFmdGVyQ3JpdGljYWxFcnJvcj1zfWRlc3Ryb3koKXt0aGlzLl9sb2dOb3JtYWwoIkRlc3Ryb3lpbmcgc2Vzc2lvbiIpLHRoaXMuX2lzQ29ubmVjdGVkLnVuc3Vic2NyaWJlKCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5kZXN0cm95KCksZGVsZXRlIHRoaXMuX2NoYXJ0QXBpLHRoaXMuX2xvZ05vcm1hbCgiU2Vzc2lvbiBoYXMgYmVlbiBkZXN0cm95ZWQiKX1pc0Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9pc0Nvbm5lY3RlZH1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbklkfW9uU2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfWNvbm5lY3QoKXswPT09dGhpcy5fc3RhdGUmJigoMCxpLmFzc2VydCkoIXRoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbiwiQ2Fubm90IGNhbGwgY29ubmVjdCBiZWNhdXNlIGl0IGlzIGZvcmJpZGRlbiBhdCB0aGlzIG1vbWVudCIpLHRoaXMuX3NldFNlc3Npb25JZChgJHt0aGlzLl9zZXNzaW9uUHJlZml4fV8keygwLG4ucmFuZG9tSGFzaCkoKX1gKSx0aGlzLl9sb2dOb3JtYWwoIkNvbm5lY3Rpbmcgc2Vzc2lvbiAtIHdhaXQgdW50aWwgdHJhbnNwb3J0IHN0YXkgY29ubmVjdGVkIiksdGhpcy5fc3RhdGU9MSx0aGlzLl9jaGFydEFwaS5jcmVhdGVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCx0aGlzKSl9ZGlzY29ubmVjdCgpezAhPT10aGlzLl9zdGF0ZSYmKCgwLGkuYXNzZXJ0KSgiIiE9PXRoaXMuX3Nlc3Npb25JZCwic2Vzc2lvbklkIG11c3Qgbm90IGJlIGludmFsaWQiKSx0aGlzLl9sb2dOb3JtYWwoIkRpc2Nvbm5lY3Rpbmcgc2Vzc2lvbi4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9jaGFydEFwaS5jb25uZWN0ZWQoKSYmdGhpcy5fc2VuZFJlbW92ZVNlc3Npb24oKSx0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSkpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjpyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0QXBpQ29ubmVjdGVkKCk7Y2FzZSJkaXNjb25uZWN0ZWQiOnJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKTtjYXNlImNyaXRpY2FsX2Vycm9yIjpjb25zdCB0PVN0cmluZyhlLnBhcmFtc1swXSkscz1TdHJpbmcoZS5wYXJhbXNbMV0pO3JldHVybiB2b2lkIHRoaXMuX29uQ3JpdGljYWxFcnJvcih0LHMpfXRoaXMuX29uTWVzc2FnZShlKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLnNlcnZlclRpbWUoKX1fZ2V0Q2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGl9X2dlbmVyYXRlTG9nTWVzc2FnZShlKXtyZXR1cm5gWyR7dGhpcy5fc2Vzc2lvbklkfV0gJHtlfWB9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2xvZ0Vycm9yKGBDcml0aWNhbCBlcnJvci4gUmVhc29uPSR7ZX0sIGluZm89JHt0fS5gKSx0aGlzLl9mb3JiaWRDb25uZWN0V2hpbGUoKCgpPT57dGhpcy5fcHJvY2Vzc0Rlc3Ryb3lpbmdPblNlcnZlcigpfSkpLAp0aGlzLl9zaG91bGRSZWNvbm5lY3RBZnRlckNyaXRpY2FsRXJyb3I/KHRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yLi4uIiksdGhpcy5jb25uZWN0KCkpOnRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yIHNraXBwZWQiKX1fb25DaGFydEFwaUNvbm5lY3RlZCgpeygwLGkuYXNzZXJ0KSgxPT09dGhpcy5fc3RhdGUsIlNlc3Npb24gaXMgbm90IHJlZ2lzdGVyZWQiKSx0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBjb25uZWN0ZWQuIENyZWF0aW5nIHNlc3Npb24gb24gdGhlIHNlcnZlciIpLHRoaXMuX3NlbmRDcmVhdGVTZXNzaW9uKCksdGhpcy5fc3RhdGU9Mix0aGlzLl9pc0Nvbm5lY3RlZC5zZXRWYWx1ZSghMCl9X29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKXt0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBkaXNjb25uZWN0ZWQuIFJlY29ubmVjdGluZy4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSksdGhpcy5jb25uZWN0KCl9X3NldFNlc3Npb25JZChlKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25JZDt0aGlzLl9sb2dOb3JtYWwoYENoYW5naW5nIHNlc3Npb25JZDogb2xkPSR7dH0sIG5ldz0ke2V9YCksdGhpcy5fc2Vzc2lvbklkPWUsdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5maXJlKGUsdCl9X2xvZ05vcm1hbChlKXtkLmxvZ05vcm1hbCh0aGlzLl9nZW5lcmF0ZUxvZ01lc3NhZ2UoZSkpfV9sb2dFcnJvcihlKXtkLmxvZ0Vycm9yKHRoaXMuX2dlbmVyYXRlTG9nTWVzc2FnZShlKSl9X3Byb2Nlc3NEZXN0cm95aW5nT25TZXJ2ZXIoKXt0aGlzLl9zdGF0ZT0wLHRoaXMuX2lzQ29ubmVjdGVkLnNldFZhbHVlKCExKSx0aGlzLl9jaGFydEFwaS5yZW1vdmVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCksdGhpcy5fc2V0U2Vzc2lvbklkKCIiKX1fZm9yYmlkQ29ubmVjdFdoaWxlKGUpe3RoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbj0hMCxlKCksdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExfX1jbGFzcyBjIGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlLHQ9ITEpe3N1cGVyKGUsImNzIiwhMSksdGhpcy5fc2Vzc2lvbkRpc2FibGVkPSExLHRoaXMuX2hhbmRsZXI9bnVsbCx0aGlzLl9jcml0aWNhbEVycm9yPW5ldyByLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFJlc29sdmVNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXA9bmV3IE1hcCx0aGlzLl9kaXNhYmxlU3RhdGlzdGljcz10fWRlc3Ryb3koKXt0aGlzLl9jcml0aWNhbEVycm9yLmRlc3Ryb3koKSx0aGlzLl9oYW5kbGVyPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5jbGVhcigpLHN1cGVyLmRlc3Ryb3koKX1zd2l0Y2hUaW1lem9uZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zd2l0Y2hUaW1lem9uZSh0aGlzLnNlc3Npb25JZCgpLGUpfWRlZmF1bHRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmRlZmF1bHRSZXNvbHV0aW9ucygpfWF2YWlsYWJsZUN1cnJlbmNpZXMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVVbml0cygpfWF2YWlsYWJsZU1ldHJpY3MoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmF2YWlsYWJsZVByaWNlU291cmNlcyhlKX1yZXNvbHZlU3ltYm9sKGUsdCxzKXtpZih0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmhhcyh0KSl7Y29uc3RbZSxyXT10aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmdldCh0KTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLnB1c2gocyk6ci50aGVuKHMpLGV9e2NvbnN0IHI9W3NdO3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlc29sdmVTeW1ib2wodGhpcy5zZXNzaW9uSWQoKSxlLHQsKHM9PntpZigic3ltYm9sX2Vycm9yIj09PXMubWV0aG9kKXRoaXMuX3N5bWJvbFJlc29sdmVNYXAuZGVsZXRlKHQpO2Vsc2V7dGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxQcm9taXNlLnJlc29sdmUocyldKTtjb25zdFsscl09cy5wYXJhbXMsaT17cHJvX25hbWU6ci5wcm9fbmFtZSx0aWNrZXI6ci50aWNrZXJ9O3RoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQodCxpKSxpLnByb19uYW1lJiZ0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXAuc2V0KGkucHJvX25hbWUsaSksci5mdWxsX25hbWUmJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoci5mdWxsX25hbWUsaSksaS50aWNrZXImJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoaS50aWNrZXIsaSl9ci5mb3JFYWNoKChlPT5lKHMpKSl9KSksdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxyXSksZX19cmVxdWVzdEZpcnN0QmFyVGltZShlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdEZpcnN0QmFyVGltZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1sYXN0U3ltYm9sUmVzb2x2ZUluZm8oZSl7cmV0dXJuIHRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5nZXQoZSk/P251bGx9Y3JlYXRlU2VyaWVzKGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVNlcmllcyh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSxhLG8pfW1vZGlmeVNlcmllcyhlLHQscyxyLGksYSxvKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlLHQscyxyLGksYSxvKX1yZW1vdmVTZXJpZXMoZSl7cmV0dXJuISF0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmdGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZW1vdmVTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlKX1yZXF1ZXN0TW9yZURhdGEoZSx0LHMpewpyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEodGhpcy5zZXNzaW9uSWQoKSxlKTp0aGlzLl9nZXRDaGFydEFwaSgpLnJlcXVlc3RNb3JlRGF0YSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdE1vcmVUaWNrbWFya3ModGhpcy5zZXNzaW9uSWQoKSxlLHQscyl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKHRoaXMuc2Vzc2lvbklkKCksZSl9Y2FuQ3JlYXRlU3R1ZHkoZSx0KXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCl9Z2V0U3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkuZ2V0U3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWdldEZ1bmRhbWVudGFsQ291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldEZ1bmRhbWVudGFsQ291bnRlcih0aGlzLnNlc3Npb25JZCgpKX1nZXRDaGlsZFN0dWR5Q291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldENoaWxkU3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWNyZWF0ZVN0dWR5KGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEsbyl9bW9kaWZ5U3R1ZHkoZSx0LHMscixpKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSl9bm90aWZ5U3R1ZHkoZSx0LHMpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm5vdGlmeVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMpfXJlbW92ZVN0dWR5KGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlbW92ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSl9Y3JlYXRlUG9pbnRzZXQoZSx0LHMscixpLGEpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEpfW1vZGlmeVBvaW50c2V0KGUsdCxzLHIpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm1vZGlmeVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscil9cmVtb3ZlUG9pbnRzZXQoZSl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVtb3ZlUG9pbnRzZXQodGhpcy5zZXNzaW9uSWQoKSxlKX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxzLHIsaSxhLG8pe3RoaXMuX2dldENoYXJ0QXBpKCkuc2V0VmlzaWJsZVRpbWVSYW5nZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsITAsaSxhLHZvaWQgMCxvKX1jcml0aWNhbEVycm9yKCl7cmV0dXJuIHRoaXMuX2NyaXRpY2FsRXJyb3J9Y29ubmVjdChlPW51bGwpe251bGwhPT1lJiYodGhpcy5faGFuZGxlcj1lKSx0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmNsZWFyKCksc3VwZXIuY29ubmVjdCgpfXNldEhhbmRsZXIoZSl7dGhpcy5faGFuZGxlcj1lfWNvbm5lY3RlZCgpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmIXRoaXMuX3Nlc3Npb25EaXNhYmxlZH1kaXNhYmxlKCl7dGhpcy5fc2Vzc2lvbkRpc2FibGVkPSEwfWNoYXJ0QXBpKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCl9X3NlbmRDcmVhdGVTZXNzaW9uKCl7T2JqZWN0LmtleXModGhpcykuZm9yRWFjaCgoZT0+ey9eKHN8c3R8c3ltYm9sXylcZCskLy50ZXN0KGUpJiZkZWxldGUgdGhpc1tlXX0pKSx0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0Q3JlYXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpLHRoaXMuX2Rpc2FibGVTdGF0aXN0aWNzKX1fc2VuZFJlbW92ZVNlc3Npb24oKXt0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0RGVsZXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpKX1fb25NZXNzYWdlKGUpe3RoaXMuX2hhbmRsZXImJnRoaXMuX2hhbmRsZXIoZSl9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2NyaXRpY2FsRXJyb3IuZmlyZShlLHQpLHN1cGVyLl9vbkNyaXRpY2FsRXJyb3IoZSx0KX19fSw0NzU0NzgoZSx0LHMpe3MuZCh0LHtDb25mbGF0ZWRDaHVua3NCdWlsZGVyOigpPT5vfSk7dmFyIHI9cygxMzg2MzgpLGk9cygxOTg5MDEpO2NvbnN0IGE9W3tiYXJzVG9NZXJnZToxMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDN9LHtiYXJzVG9NZXJnZTozMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDF9LHtiYXJzVG9NZXJnZToxMDAsZm9yQmFyc3BhY2luZ0xhcmdlclRoZW46LjAwM30se2JhcnNUb01lcmdlOjUwMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjowfV07Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3Bsb3RzPWUsdGhpcy5fc3RhdGU9e2NodW5rczpuZXcgTWFwLHByaWNlU291cmNlOm51bGwscHJpY2VTb3VyY2VzUHJvdmlkZXI6dH0sdGhpcy5fc2V0RW1wdHlDb25mbGF0ZWRDaHVua3MoKX1jb25mbGF0ZWRDaHVua3MoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUucHJpY2VTb3VyY2Upe3RoaXMuX3N0YXRlLnByaWNlU291cmNlPXQ7Y29uc3QgZT10aGlzLl9wbG90cy5maXJzdCgpO2UmJih0aGlzLl9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpLHRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MoZSkpfWNvbnN0IHM9KDAsci5lbnN1cmVEZWZpbmVkKShhLmZpbmQoKHQ9PnQuZm9yQmFyc3BhY2luZ0xhcmdlclRoZW48PWUpKSk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKX1tZXJnZURhdGEoZSl7Y29uc3QgdD10aGlzLl9wbG90cy5zaXplKCkscz10aGlzLl9wbG90cy5tZXJnZShlKTtyZXR1cm4gcyYmbnVsbCE9PXRoaXMuX3N0YXRlLnByaWNlU291cmNlJiYodD09PXRoaXMuX3Bsb3RzLnNpemUoKSYmcy5pbmRleD09PXRoaXMuX3Bsb3RzLmxhc3RJbmRleCgpP3RoaXMuX3VwZGF0ZUxhdGVzdENodW5rcygpOnRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MocykpLHN9bW92ZURhdGEoZSl7CnRoaXMuX3Bsb3RzLm1vdmUoZSksdGhpcy5fcGxvdHMuc2l6ZSgpPjAmJnRoaXMuX2NsZWFyU3RhdGUoKX1jbGVhckRhdGEoKXt0aGlzLl9wbG90cy5jbGVhcigpLHRoaXMuX2NsZWFyU3RhdGUoKX1fcmVidWlsZENvbmZsYXRlZENodW5rcyhlKXtjb25zdCB0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPWUuaW5kZXgsbz10aGlzLl9zdGF0ZS5wcmljZVNvdXJjZXNQcm92aWRlcih0KSxuPShlLHQscyk9PntsZXQgcj1udWxsO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9byhpLnZhbHVlKTtyJiZpLmluZGV4LXIuc3RhcnRUaW1lPj1zLmJhcnNUb01lcmdlJiYodC5wdXNoKHIpLHI9bnVsbCkscj8oci5lbmRUaW1lPWkuaW5kZXgsci5oaWdoPU1hdGgubWF4KHIuaGlnaCxlKSxyLmxvdz1NYXRoLm1pbihyLmxvdyxlKSxyLmNsb3NlPWUpOnI9e3N0YXJ0VGltZTppLmluZGV4LGVuZFRpbWU6aS5pbmRleCxvcGVuOmUsaGlnaDplLGxvdzplLGNsb3NlOmV9fXImJnQucHVzaChyKX07YS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0YXRlLmNodW5rcy5nZXQoZS5iYXJzVG9NZXJnZSkpLGE9KDAsaS5sb3dlcmJvdW5kKSh0LHMsKChlLHQpPT5lLmVuZFRpbWU8dCkpO2lmKDA9PT1hJiZ0Lmxlbmd0aD4wKXtjb25zdCBzPXRbMF0uc3RhcnRUaW1lLTEsaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bsb3RzLmZpcnN0SW5kZXgoKSksYT10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyksbz1bXTtuKGEsbyxlKTtjb25zdCBkPW8uY29uY2F0KHQpO3RoaXMuX3N0YXRlLmNodW5rcy5zZXQoZS5iYXJzVG9NZXJnZSxkKX1lbHNle2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5sYXN0SW5kZXgoKSk7dC5zcGxpY2UoYSk7bGV0IGk9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5maXJzdEluZGV4KCkpO3QubGVuZ3RoJiYoaT10W3QubGVuZ3RoLTFdLmVuZFRpbWUrMSk7Y29uc3Qgbz10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyk7bihvLHQsZSl9fSkpfV91cGRhdGVMYXRlc3RDaHVua3MoKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcGxvdHMubGFzdCgpKSx0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlc1Byb3ZpZGVyKCJjbG9zZSIpO2EuZm9yRWFjaCgocz0+e2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKSxhPXQoZS52YWx1ZSksbz1pW2kubGVuZ3RoLTFdO28uaGlnaD1NYXRoLm1heChvLmhpZ2gsYSksby5sb3c9TWF0aC5taW4oby5sb3csYSksby5jbG9zZT1hLG8uZW5kVGltZT1lLmluZGV4fSkpfV9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpe2EuZm9yRWFjaCgoZT0+dGhpcy5fc3RhdGUuY2h1bmtzLnNldChlLmJhcnNUb01lcmdlLFtdKSkpfV9jbGVhclN0YXRlKCl7dGhpcy5fc3RhdGUuY2h1bmtzLmNsZWFyKCksdGhpcy5fc3RhdGUucHJpY2VTb3VyY2U9bnVsbH19fSw5MzYzMjYoZSx0LHMpe3ZhciByO3MuZCh0LHtQbG90Um93U2VhcmNoTW9kZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5OZWFyZXN0TGVmdD0tMV09Ik5lYXJlc3RMZWZ0IixlW2UuRXhhY3Q9MF09IkV4YWN0IixlW2UuTmVhcmVzdFJpZ2h0PTFdPSJOZWFyZXN0UmlnaHQifShyfHwocj17fSkpfSw3OTE1MjEoZSx0LHMpe3ZhciByO3MuZCh0LHtTeW1ib2xFcnJvclBlcm1pc3Npb25EZW5pZWRSZWFzb246KCk9PnIsaW52YWxpZFN5bWJvbDooKT0+YSxwZXJtaXNzaW9uRGVuaWVkOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5TeW1ib2w9InN5bWJvbCIsZS5Hcm91cFBlcm1pc3Npb249Imdyb3VwIn0ocnx8KHI9e30pKTtjb25zdCBpPSJwZXJtaXNzaW9uIGRlbmllZCIsYT0iaW52YWxpZCBzeW1ib2wifSw4NDg2MDEoZSx0LHMpe3MuZCh0LHtwYXJzZU5vblNlcmllc0VudmVsb3BlOigpPT5hfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg5OTU2NTUpO2Z1bmN0aW9uIGEoZSl7aWYoIiI9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZighKDAsci5pc09iamVjdCkodCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiTm9uLW9iamVjdCBjb250ZW50IGluIHRoZSBub24tc2VyaWVzIGVudmVsb3BlIik7aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwiaW5kZXhlc19yZXBsYWNlIikpcmV0dXJue25zRGF0YTp7aW5kZXhlc19yZXBsYWNlOiEwfSxwYXJzZWREYXRhOnR9O2NvbnN0IHM9e2luZGV4ZXNfcmVwbGFjZTohMX07aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwib2Zmc2V0cyIpJiYocy5vZmZzZXRzPXQub2Zmc2V0cyksKDAsci5oYXNQcm9wZXJ0eSkodCwiaXNVcGRhdGUiKSl7aWYoImJvb2xlYW4iIT10eXBlb2YgdC5pc1VwZGF0ZSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiAiaXNVcGRhdGUiIGZpZWxkJyk7cy5pc1VwZGF0ZT10LmlzVXBkYXRlfXJldHVybigwLHIuaGFzUHJvcGVydHkpKHQsImRhdGEiKSYmKHMuZGF0YT10LmRhdGEpLCgwLHIuaGFzUHJvcGVydHkpKHQsImdyYXBoaWNzQ21kcyIpJiYocy5ncmFwaGljc0NtZHM9KDAsaS52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKHQuZ3JhcGhpY3NDbWRzKSkse25zRGF0YTpzLHBhcnNlZERhdGE6dH19fSw1NTA5MDQoZSx0LHMpe3MuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhOigpPT5pfSk7dmFyIHI9cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKT8ubnNEYXRhPz9udWxsfX0sMTU2OTA4KGUsdCxzKXtzLmQodCx7REVGQVVMVF9OVU1CQVJTOigpPT5pLGluaXRpYWxSZXF1ZXN0T3B0aW9uc1RvTnVtQmFyczooKT0+YX0pO3ZhciByPXMoMTM4NjM4KTtjb25zdCBpPTMwMDtmdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0RGF0ZT9lLmVuZERhdGV8fGUuY291bnQ/ZS5lbmREYXRlP1siZnJvbV90byIsZS5zdGFydERhdGUsZS5lbmREYXRlXTpbImJhcl9jb3VudCIsZS5zdGFydERhdGUsKDAsCnIuZW5zdXJlKShlLmNvdW50KV06WyJmcm9tX3RvIixlLnN0YXJ0RGF0ZV06ZS5jb3VudHx8aX19LDg3MTAzNyhlLHQscyl7YXN5bmMgZnVuY3Rpb24gcihlLHQpe2lmKHZvaWQgMD09PWUpcmV0dXJue3Byb2plY3Rpb25QbG90czpbXSxib3hTaXplOm51bGx9O2lmKCIiPT09ZS5kfHwibm9jaGFuZ2UiPT09ZS5pbmRleGVzKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQgdChlLmQpO2lmKG51bGw9PT1zfHxzLmluZGV4ZXNfcmVwbGFjZSlyZXR1cm4gbnVsbDtjb25zdCByPWUuaW5kZXhlcyx7YmFyczppPVtdLHByaWNlOmEsYm94U2l6ZTpvLHJldmVyc2FsQW1vdW50Om59PXMuZGF0YTtyZXR1cm57bGFzdFByaWNlOmEscHJvamVjdGlvblBsb3RzOmkubWFwKChlPT57bGV0IHQ7cmV0dXJuImZhY3RvciJpbiBlP3Q9ZS5mYWN0b3I6ImFkZGl0aW9uYWxQcmljZSJpbiBlJiYodD1lLmFkZGl0aW9uYWxQcmljZSkse2luZGV4OnJbZS50aW1lXSx2YWx1ZTpbMCxlLm9wZW4sZS5oaWdoLGUubG93LGUuY2xvc2UsZS52b2x1bWUsdF19fSkpLHJldmVyc2FsQW1vdW50Om4sYm94U2l6ZTpvfX1zLmQodCx7cGFyc2VKYXBhbmVzZVByb2plY3Rpb25CYXJzOigpPT5yfSl9LDkzNTI0MChlLHQscyl7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PkN9KTt2YXIgcj1zKDEzODYzOCksaT1zKDYwMTg0MSksYT1zKDIyMTA2MSksbz1zKDI1NDY3Myksbj1zKDYxOTE2NSksZD1zKDc5MTUyMSksbD1zKDU1MDkwNCksaD1zKDE1NjkwOCksYz1zKDExMTk1MyksdT1zKDk0ODM4MCk7Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NyZWF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fbW9kaWZpZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fY2xlYXJlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9sb2FkaW5nPW5ldyB1LkRlbGVnYXRlLHRoaXMuX2NvbXBsZXRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9lcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xSZXNvbHZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fc3ltYm9sSW52YWxpZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jaGFydFR5cGVOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9iYXJSZWNlaXZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNUaW1lRnJhbWU9bmV3IHUuRGVsZWdhdGUsdGhpcy5fZGF0YVVwZGF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkPW5ldyB1LkRlbGVnYXRlfWRlc3Ryb3koKXt0aGlzLl9jcmVhdGVkLmRlc3Ryb3koKSx0aGlzLl9tb2RpZmllZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5fY29tcGxldGVkLmRlc3Ryb3koKSx0aGlzLl9lcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sRXJyb3IuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmRlc3Ryb3koKSx0aGlzLl9zZXJpZXNFcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW52YWxpZC5kZXN0cm95KCksdGhpcy5fc3ltYm9sTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9pbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZGVzdHJveSgpLHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fYmFyUmVjZWl2ZWQuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fZGF0YVVwZGF0ZWQuZGVzdHJveSgpLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZC5kZXN0cm95KCl9Y3JlYXRlZCgpe3JldHVybiB0aGlzLl9jcmVhdGVkfW1vZGlmaWVkKCl7cmV0dXJuIHRoaXMuX21vZGlmaWVkfWNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fY2xlYXJlZH1sb2FkaW5nKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZH1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvcn1zeW1ib2xFcnJvcigpe3JldHVybiB0aGlzLl9zeW1ib2xFcnJvcn1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZlZH1zZXJpZXNFcnJvcigpe3JldHVybiB0aGlzLl9zZXJpZXNFcnJvcn1zeW1ib2xJbnZhbGlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEludmFsaWR9c3ltYm9sTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbE5vdFBlcm1pdHRlZH1zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZH1jaGFydFR5cGVOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkfWludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX2ludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkfWludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZH1jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpewpyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9c2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZH10aWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9YmFyUmVjZWl2ZWQoKXtyZXR1cm4gdGhpcy5fYmFyUmVjZWl2ZWR9c2VyaWVzVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1RpbWVGcmFtZX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH11bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkfWZpcmVDb21wbGV0ZWQoZSl7dGhpcy5fY29tcGxldGVkLmZpcmUoZSl9ZmlyZUNyZWF0ZWQoZSl7dGhpcy5fY3JlYXRlZC5maXJlKGUpfWZpcmVNb2RpZmllZCgpe3RoaXMuX21vZGlmaWVkLmZpcmUoKX1maXJlQ2xlYXJlZCgpe3RoaXMuX2NsZWFyZWQuZmlyZSgpfWZpcmVMb2FkaW5nKGUpe3RoaXMuX2xvYWRpbmcuZmlyZShlKX1maXJlRXJyb3IoKXt0aGlzLl9lcnJvci5maXJlKCl9ZmlyZVN5bWJvbEVycm9yKGUpe3RoaXMuX3N5bWJvbEVycm9yLmZpcmUoZSksdGhpcy5maXJlRXJyb3IoKX1maXJlU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fc3ltYm9sUmVzb2x2ZWQuZmlyZShlKX1maXJlU2VyaWVzRXJyb3IoZSl7dGhpcy5fc2VyaWVzRXJyb3IuZmlyZShlKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVTeW1ib2xJbnZhbGlkKCl7dGhpcy5fc3ltYm9sSW52YWxpZC5maXJlKCl9ZmlyZVN5bWJvbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoZSl7dGhpcy5fc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlQ2hhcnRUeXBlTm90UGVybWl0dGVkKGUpe3RoaXMuX2NoYXJ0VHlwZU5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXt0aGlzLl9pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkLmZpcmUoKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVDdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZVNlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKCksdGhpcy5maXJlRXJyb3IoKX1maXJlVGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUJhclJlY2VpdmVkKGUpe3RoaXMuX2JhclJlY2VpdmVkLmZpcmUoZSl9ZmlyZVNlcmllc1RpbWVGcmFtZShlLHQscyxyLGkpe3RoaXMuX3Nlcmllc1RpbWVGcmFtZS5maXJlKGUsdCxzLHIsaSl9ZmlyZURhdGFVcGRhdGVkKGUsdCxzLHIsaSl7dGhpcy5fZGF0YVVwZGF0ZWQuZmlyZShlLHQscyxyLGkpfWZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXt0aGlzLl91bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQuZmlyZSgpfX12YXIgbT1zKDg3MTAzNykscD1zKDg1Mjk4MCkseT1zKDMyMjU1NCk7Y29uc3QgZz0veyhcdyspfS9nO2NvbnN0IGI9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXNEYXRhU291cmNlIik7dmFyIGY7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0yXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9M109IkFjdGl2ZSJ9KGZ8fChmPXt9KSk7bGV0IFM9MTtsZXQgdj0xO2Z1bmN0aW9uIEkoZSl7cmV0dXJuKDAsYy5leHRyYWN0RXh0ZW5kZWRTeW1ib2wpKGUpLnN5bWJvbH1jbGFzcyBDe2NvbnN0cnVjdG9yKGUsdCxzLHIpe3RoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIix0aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zPTAsdGhpcy5faW5zdGFuY2VJZD1udWxsLHRoaXMuX3N5bWJvbEluc3RhbmNlSWQ9bnVsbCx0aGlzLl9yZXNvbHV0aW9uPW51bGwsdGhpcy5fdGltZUZyYW1lPW51bGwsdGhpcy5fZGF0YT1uZXcgbi5TZXJpZXNEYXRhLHRoaXMuX2RhdGFFdmVudHM9bmV3IF8sdGhpcy5fc3RhdHVzPWYuSWRsZSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kT25NZXNzYWdlPXRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl90dXJuYXJvdW5kUHJlZml4PXQsdGhpcy5fY3JlYXRlU2VyaWVzUGFyYW1zPSgwLGguaW5pdGlhbFJlcXVlc3RPcHRpb25zVG9OdW1CYXJzKShzPz97Y291bnQ6aC5ERUZBVUxUX05VTUJBUlN9KSx0aGlzLl90aW1lRnJhbWU9cnx8bnVsbCx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKX1kZXN0cm95KCl7dGhpcy5zdG9wKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9kYXRhRXZlbnRzLmRlc3Ryb3koKX1jYW5Nb2RpZnlTZXJpZXMoZSx0KXtjb25zdCBzPSEoMCwKaS5kZWVwRXF1YWxzKSh0aGlzLl9leHRTeW1ib2wsZSlbMF0scj1udWxsPT09dGhpcy5fcmVzb2x1dGlvbnx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh0aGlzLl9yZXNvbHV0aW9uLHQpO3JldHVybiBzfHxyfW1vZGlmeVNlcmllcyhlLHQscz1udWxsLGE9ITEsbj1udWxsKXthJiYoYi5sb2dOb3JtYWwoIkR1ZSB0byBmb3JjZSBmbGFnIGNsZWFyaW5nIHN5bWJvbCAmIHJlc29sdXRpb24gdG8gZm9yY2UgcmUtcmVxdWVzdGluZyBkYXRhLiIpLHRoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX3Jlc29sdXRpb249bnVsbCk7Y29uc3QgZD1JKGUpLGw9IXRoaXMuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZCk7aWYobCYmKHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIiksdGhpcy5fZXh0U3ltYm9sJiYhbCl7Y29uc3QgdD1JKHRoaXMuX2V4dFN5bWJvbCk7KDAsYy5yZXBsYWNlRXh0ZW5kZWRTeW1ib2wpKGUsdCl9Y29uc3QgaD10aGlzLl9leHRTeW1ib2wsdT10aGlzLl9yZXNvbHV0aW9uO2lmKHRoaXMuX2V4dFN5bWJvbD1lLHRoaXMuX3Jlc29sdXRpb249dCxudWxsPT09dGhpcy5faW5zdGFuY2VJZClyZXR1cm4gdm9pZCh0aGlzLl90aW1lRnJhbWU9cyk7Y29uc3QgXz0hKDAsaS5kZWVwRXF1YWxzKShoLGUpWzBdO18mJigwLGMucmVwbGFjZUV4dGVuZGVkU3ltYm9sKSh0aGlzLl9leHRTeW1ib2wsZCk7Y29uc3QgbT1udWxsPT09dXx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh1LHQpOyhffHxtfHxudWxsIT09cykmJih0aGlzLl90aW1lRnJhbWU9bnVsbCwoX3x8bSkmJnRoaXMuX3R1cm5hcm91bmRDb3VudGVyKyssXyYmdGhpcy5fcmVzb2x2ZVN5bWJvbCgpLHRoaXMuX2dhdGV3YXkubW9kaWZ5U2VyaWVzKHRoaXMuX2luc3RhbmNlSWQsdGhpcy50dXJuYXJvdW5kKCksKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zeW1ib2xJbnN0YW5jZUlkKSx0aGlzLl9yZXNvbHV0aW9uLG4scyx0aGlzLl9ib3VuZE9uTWVzc2FnZSksdGhpcy5fZGF0YUV2ZW50cy5maXJlTW9kaWZpZWQoKSl9cmVxdWVzdE1vcmVEYXRhKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlRGF0YSh0aGlzLl9pbnN0YW5jZUlkLGUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpfXJlcXVlc3RNb3JlVGlja21hcmtzKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlVGlja21hcmtzKHRoaXMuX2luc3RhbmNlSWQsZSx0aGlzLl9ib3VuZE9uTWVzc2FnZSl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmdGhpcy5fZ2F0ZXdheS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1mLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09Zi5BY3RpdmV9cmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl9yZXNvbHV0aW9ufXN0YXJ0KCl7dGhpcy5pc1N0YXJ0ZWQoKT9iLmxvZ05vcm1hbCgic3RhcnQ6IGRhdGEgc291cmNlIGlzIGFscmVhZHkgc3RhcnRlZCwgbm90aGluZyB0byBkbyIpOigoMCxyLmFzc2VydCkobnVsbCE9PXRoaXMuX2V4dFN5bWJvbCwic3ltYm9sIG11c3QgYmUgc2V0IGJlZm9yZSBzdGFydCIpLCgwLHIuYXNzZXJ0KShudWxsIT09dGhpcy5fcmVzb2x1dGlvbiwicmVzb2x1dGlvbiBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQiKSx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkudmFsdWUoKT90aGlzLl9jcmVhdGVTZXJpZXMoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhmLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmKHRoaXMuX2dhdGV3YXkucmVtb3ZlU2VyaWVzKHRoaXMuX2luc3RhbmNlSWQpLHRoaXMuX2luc3RhbmNlSWQ9bnVsbCksdGhpcy5fc3ltYm9sSW5zdGFuY2VJZD1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuSWRsZSkpOmIubG9nTm9ybWFsKCJzdG9wOiBkYXRhIHNvdXJjZSBpcyBhbHJlYWR5IHN0b3BwZWQsIG5vdGhpbmcgdG8gZG8iKX1pbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlSWR9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfXNldFRpbWVmcmFtZShlKXt0aGlzLl90aW1lRnJhbWU9ZX1jbGVhckRhdGEoKXt0aGlzLmlzU3RhcnRlZCgpP3RoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9jbGVhckRhdGFJbXBsKCkpKTp0aGlzLl9jbGVhckRhdGFJbXBsKCl9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9kYXRhRXZlbnRzfXR1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1zeW1ib2xJbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluc3RhbmNlSWR9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2V4dFN5bWJvbH11cGRhdGVFeHRTeW1ib2woZSl7dGhpcy5fZXh0U3ltYm9sPWV9bW92ZURhdGEoZSl7cmV0dXJuIHRoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9kYXRhLm1vdmVEYXRhKGUpKSl9c2V0SW5pdGlhbFJlcXVlc3RPcHRpb25zKGUpe3RoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9KDAsaC5pbml0aWFsUmVxdWVzdE9wdGlvbnNUb051bUJhcnMpKGUpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiBudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYoMCx5LnN5bWJvbFNhbWVBc1Jlc29sdmVkKShlLEkodGhpcy5fZXh0U3ltYm9sKSx0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wpfXJlc29sdmVkU3ltYm9sKCl7cmV0dXJuIG51bGw9PT10aGlzLl9leHRTeW1ib2w/bnVsbDpJKHRoaXMuX2V4dFN5bWJvbCl9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1zdGF0aWMgc2V0U3ltYm9sRW5jb2RlcihlKXtDLl9lbmNvZGVTeW1ib2w9ZX1zdGF0aWMgc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKGUpe0MuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9ZX1fcmVzb2x2ZVN5bWJvbCgpewpudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYodGhpcy5fc3ltYm9sSW5zdGFuY2VJZD10aGlzLl9nYXRld2F5LnJlc29sdmVTeW1ib2woInNkc19zeW1fIitTKyssQy5fZW5jb2RlU3ltYm9sKHRoaXMuX2V4dFN5bWJvbCksdGhpcy5fYm91bmRPbk1lc3NhZ2UpKX1fY2xlYXJEYXRhSW1wbCgpe3RoaXMuX2RhdGEuY2xlYXIoKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVDbGVhcmVkKCl9X2NoYW5nZVN0YXR1c1RvKGUpeygwLHIuYXNzZXJ0KSh0aGlzLl9zdGF0dXMhPT1lLCJTb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHN0YXR1cyBzaG91bGQgYmUgZGlzdGluY3QiKSxiLmxvZ05vcm1hbChgU3RhdHVzIGNoYW5nZWQgZnJvbSAke2ZbdGhpcy5fc3RhdHVzXX0gdG8gJHtmW2VdfWApLHRoaXMuX3N0YXR1cz1lfV9jcmVhdGVTZXJpZXMoKXsoMCxyLmFzc2VydCkodGhpcy5fc3RhdHVzIT09Zi5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLHRoaXMuX2luc3RhbmNlSWQ9InNkc18iK3YrKyx0aGlzLl9yZXNvbHZlU3ltYm9sKCk7Y29uc3QgZT10aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zfHx0aGlzLl9jcmVhdGVTZXJpZXNQYXJhbXM7dGhpcy5fY3JlYXRlU2VyaWVzT3ZlcnJpZGRlblBhcmFtcyYmKHRoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9MCksdGhpcy5fZ2F0ZXdheS5jcmVhdGVTZXJpZXModGhpcy5faW5zdGFuY2VJZCx0aGlzLnR1cm5hcm91bmQoKSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEluc3RhbmNlSWQpLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcmVzb2x1dGlvbiksZSx0aGlzLl90aW1lRnJhbWUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpLHRoaXMuX3RpbWVGcmFtZT1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpLHRoaXMuX2RhdGFFdmVudHMuZmlyZUNyZWF0ZWQodGhpcy5faW5zdGFuY2VJZCl9X29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZChlKXtlP3RoaXMuX29uR2F0ZXdheUNvbm5lY3RlZCgpOnRoaXMuX29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpfV9vbkdhdGV3YXlDb25uZWN0ZWQoKXt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nQ29ubmVjdGlvbiYmdGhpcy5fY3JlYXRlU2VyaWVzKCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PWYuSWRsZSYmdGhpcy5fc3RhdHVzIT09Zi5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9pbnN0YW5jZUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5Bd2FpdGluZ0Nvbm5lY3Rpb24pKSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xfV9vbk1lc3NhZ2UoZSl7dGhpcy5fZW5xdWV1ZVVwZGF0ZSgoKCk9PnRoaXMuX29uTWVzc2FnZUltcGwoZSkpKX1hc3luYyBfb25NZXNzYWdlSW1wbChlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjp7Y29uc3RbdCxzXT1lLnBhcmFtcztpZih0IT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCl7bnVsbCE9PXRoaXMuX3N5bWJvbEluc3RhbmNlSWQmJmIubG9nTm9ybWFsKGBSZXNvbHZlIGZvciBvbGQgc3ltYm9sLCBleHBlY3RlZDogJHt0aGlzLl9zeW1ib2xJbnN0YW5jZUlkfSwgYWN0dWFsICR7ZS5wYXJhbXNbMF19YCk7YnJlYWt9dGhpcy5fb25TeW1ib2xSZXNvbHZlZChzKTticmVha31jYXNlInN5bWJvbF9lcnJvciI6aWYoZS5wYXJhbXNbMF0hPT10aGlzLl9zeW1ib2xJbnN0YW5jZUlkKXtudWxsIT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCYmYi5sb2dOb3JtYWwoYFN5bWJvbCBlcnJvciBmb3Igb2xkIHN5bWJvbCwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0sIGFjdHVhbCAke2UucGFyYW1zWzBdfWApO2JyZWFrfXRoaXMuX29uU3ltYm9sRXJyb3IoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjp7Y29uc3RbdCxzLHIsaSxhLG8sbl09ZS5wYXJhbXM7aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZCh0LHMpKXtiLmxvZ05vcm1hbChgVGltZSBmcmFtZSBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzVGltZUZyYW1lKHIsaSxhLG8sbik7YnJlYWt9Y2FzZSJzZXJpZXNfZXJyb3IiOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSl7Yi5sb2dOb3JtYWwoYFNlcmllcyBlcnJvciBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzRXJyb3IoZS5wYXJhbXNbMl0pO2JyZWFrfWNhc2Uic2VyaWVzX2xvYWRpbmciOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSlicmVhazt0aGlzLl9vblNlcmllc0xvYWRpbmcoZS50aW1lKTticmVha31jYXNlInNlcmllc19jb21wbGV0ZWQiOntjb25zdFt0LHMscixpXT1lLnBhcmFtcztpZighdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHQscikpe2IubG9nTm9ybWFsKGBTZXJpZXMgY29tcGxldGVkIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7dH0gKCR7cn0pYCk7YnJlYWt9dGhpcy5fb25TZXJpZXNDb21wbGV0ZWQocyxlLnRpbWUsaSk7YnJlYWt9Y2FzZSJkYXRhX3VwZGF0ZSI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy5jdXN0b21JZCxlLnBhcmFtcy50dXJuYXJvdW5kKSl7Yi5sb2dOb3JtYWwoYERhdGEgdXBkYXRlIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7ZS5wYXJhbXMuY3VzdG9tSWR9ICgke2UucGFyYW1zLnR1cm5hcm91bmR9KWApO2JyZWFrfQphd2FpdCB0aGlzLl9vbkRhdGFVcGRhdGUoZS5wYXJhbXMucGxvdHMsZS5wYXJhbXMubm9uc2VyaWVzLGUucGFyYW1zLmxhc3RCYXIpO2JyZWFrO2Nhc2UiY2xlYXJfZGF0YSI6e2lmKGUucGFyYW1zLnR1cm5hcm91bmQhPT10aGlzLnR1cm5hcm91bmQoKSl7Yi5sb2dOb3JtYWwoYENsZWFyIGRhdGEgZm9yIG9sZCBkYXRhLCBleHBlY3RlZDogJHt0aGlzLnR1cm5hcm91bmQoKX0sIGFjdHVhbCAke2UucGFyYW1zLnR1cm5hcm91bmR9YCk7YnJlYWt9Y29uc3QgdD10aGlzLl9kYXRhLmZpcnN0KCk7dGhpcy5fY2xlYXJEYXRhSW1wbCgpLHRoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHZvaWQgMCwhMSxudWxsLCExLHQpO2JyZWFrfX19X29uU2VyaWVzRXJyb3IoZSl7bGV0IHQscztpZigic3RyaW5nIj09dHlwZW9mIGUpcz17ZXJyb3I6ZX0sdD1lO2Vsc2UgaWYocz1lLGUuY3R4KXtjb25zdCBzPXt9O09iamVjdC5lbnRyaWVzKGUuY3R4KS5mb3JFYWNoKCgoW2UsdF0pPT57c1tlXT10LnRvU3RyaW5nKCl9KSksaT1lLmVycm9yLGE9cyx0PWkucmVwbGFjZShnLCgoZSx0KT0+dm9pZCAwIT09YVt0XT9hW3RdOmUpKX1lbHNlIHQ9ZS5lcnJvcjt2YXIgaSxhO2lmKHQuc3RhcnRzV2l0aCgic3R1ZHlfbm90X2F1dGg6Iikpe2NvbnN0IGU9dC5zcGxpdCgiOiIsMilbMV0uc3BsaXQoIkAiLDIpWzBdO2lmKFsiQmFyU2V0UmVua28iLCJCYXJTZXRQcmljZUJyZWFrIiwiQmFyU2V0S2FnaSIsIkJhclNldFBuRiJdLmluY2x1ZGVzKGUpKXRoaXMuX2RhdGFFdmVudHMuZmlyZUNoYXJ0VHlwZU5vdFBlcm1pdHRlZChlKTtlbHNle2lmKCJCYXJTZXRTcHJlYWQiPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCgpO2lmKCJCYXJTZXRSYW5nZSI9PT1lKXtjb25zdCBlPWAkeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fZXh0U3ltYm9sKS5pbnB1dHMucmFuZ2V9UmA7dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoZSl9fX1lbHNle2lmKHQuc3RhcnRzV2l0aCgidW5zdXBwb3J0ZWQiKSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKTsicmVzb2x1dGlvbl9ub3RfZW50aXRsZWQiPT09dD90aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCk6ImN1c3RvbV9yZXNvbHV0aW9uIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXNvbHV0aW9uKSk6InNlY29uZHNfbm90X2VudGl0bGVkIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlU2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCk6InRpY2tzX25vdF9lbnRpdGxlZCI9PT10JiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVUaWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl9dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzRXJyb3Iocyl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxzLHIsaSl7dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzVGltZUZyYW1lKGUsdCxzLHI/PyEwLGkpfV9vblN5bWJvbEVycm9yKGUpe2lmKGUucGFyYW1zWzFdPT09ZC5wZXJtaXNzaW9uRGVuaWVkKXN3aXRjaChlLnBhcmFtc1syXSl7Y2FzZSBkLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2w6dGhpcy5fZGF0YUV2ZW50cy5maXJlU3ltYm9sTm90UGVybWl0dGVkKGUucGFyYW1zWzNdKTticmVhaztjYXNlIGQuU3ltYm9sRXJyb3JQZXJtaXNzaW9uRGVuaWVkUmVhc29uLkdyb3VwUGVybWlzc2lvbjp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xHcm91cE5vdFBlcm1pdHRlZChlLnBhcmFtc1szXSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xOb3RQZXJtaXR0ZWQoZS5wYXJhbXNbMl0pfWVsc2UgZS5wYXJhbXNbMV09PT1kLmludmFsaWRTeW1ib2wmJnRoaXMuX2RhdGFFdmVudHMuZmlyZVN5bWJvbEludmFsaWQoKTt0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xFcnJvcihlLnBhcmFtc1sxXSl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPSgwLHIuZW5zdXJlTm90TnVsbCkoKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShDLl9leHRyYWN0U3ltYm9sTmFtZUZlYXR1cmVzZXRzLGUsIiIpKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xSZXNvbHZlZChlKX1hc3luYyBfb25EYXRhVXBkYXRlKGUsdCxzKXt0aGlzLl9vbkRhdGFVbnBhY2tlZChlLHMsYXdhaXQoMCxtLnBhcnNlSmFwYW5lc2VQcm9qZWN0aW9uQmFycykodCxDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXIpKX1fZW5xdWV1ZVVwZGF0ZShlKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbihlLGUpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQscyl7aWYodGhpcy5fc3RhdHVzPT09Zi5JZGxlKXJldHVybjt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nRmlyc3REYXRhVXBkYXRlJiYodGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5BY3RpdmUpLHRoaXMuX2NsZWFyRGF0YUltcGwoKSk7Y29uc3Qgcj10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCksaT10aGlzLl9kYXRhLmZpcnN0KCksYT10aGlzLl9kYXRhLmJhcnMoKS5maXJzdEluZGV4KCksbz10aGlzLl9kYXRhLm1lcmdlUmVndWxhckJhcnMoZSk7bnVsbCE9PXMmJih0aGlzLl9kYXRhLm5zQmFycygpLmNsZWFyKCksdGhpcy5fZGF0YS5uc0JhcnMoKS5tZXJnZShzLnByb2plY3Rpb25QbG90cyksdGhpcy5fZGF0YS5sYXN0UHJvamVjdGlvblByaWNlPXMubGFzdFByaWNlLG51bGwhPT1zLmJveFNpemUmJih0aGlzLl9kYXRhLmJveFNpemU9cy5ib3hTaXplKSx0aGlzLl9kYXRhLnJldmVyc2FsQW1vdW50PXMucmV2ZXJzYWxBbW91bnQpO2NvbnN0IG49bnVsbD09PWEsZD1ufHxudWxsIT09byYmby5pbmRleDxhO3RoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHQsZCxvLG4saSksCnIhPT10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCkmJm51bGwhPT1vJiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVCYXJSZWNlaXZlZChvKX1fb25TZXJpZXNMb2FkaW5nKGUpe3RoaXMuX2RhdGFFdmVudHMuZmlyZUxvYWRpbmcoZSl9X29uU2VyaWVzQ29tcGxldGVkKGUsdCxzKXt0aGlzLl9kYXRhRXZlbnRzLmZpcmVDb21wbGV0ZWQoe3VwZGF0ZU1vZGU6ZSx0aW1lOnQsZmxhZ3M6c30pfV9jaGVja1R1cm5hcm91bmQoZSx0KXtyZXR1cm4gdGhpcy5faW5zdGFuY2VJZD09PWUmJih2b2lkIDA9PT10fHx0PT09dGhpcy50dXJuYXJvdW5kKCkpfX1DLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9bC51bnBhY2tOb25TZXJpZXNEYXRhLEMuX2VuY29kZVN5bWJvbD1jLmVuY29kZUV4dGVuZGVkU3ltYm9sLEMuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9e3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOiExLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6ITEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOiExLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczohMX19LDEyMTQ3OShlLHQscyl7cy5kKHQse2dldFNlcnZlckludGVydmFsOigpPT5pfSk7dmFyIHI9cygyNTQ2NzMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuSW50ZXJ2YWwuaXNSYW5nZShlKT8iMSI6ZX19LDk5NTY1NShlLHQscyl7cy5kKHQse3ZhbGlkYXRlR3JhcGhpY3NDb21tYW5kczooKT0+YX0pO3ZhciByPXMoNjAxODQxKSxpPXMoMTM4NjM4KTtmdW5jdGlvbiBhKGUpe2lmKCEoMCxyLmlzT2JqZWN0KShlKSl0aHJvdyBuZXcgRXJyb3IoIkdyYXBoaWNzIGNvbW1hbmRzIHNob3VsZCBiZSB3cmFwcGVkIGluIGFuIG9iamVjdCIpO2lmKCgwLHIuaGFzUHJvcGVydHkpKGUsImNyZWF0ZSIpLCgwLHIuaGFzUHJvcGVydHkpKGUsImVyYXNlIikpe2NvbnN0IHQ9ZS5lcmFzZTsoMCxpLmFzc2VydCkoQXJyYXkuaXNBcnJheSh0KSwiQ29sbGVjdGlvbiBvZiBlcmFzZSBjb21tYW5kcyBzaG91bGQgYmUgYXJyYXkiKTtmb3IoY29uc3QgZSBvZiB0KXtpZighKDAsci5pc09iamVjdCkoZSl8fCEoMCxyLmhhc1Byb3BlcnR5KShlLCJhY3Rpb24iKSl0aHJvdyBuZXcgRXJyb3IoIkNvbW1hbmQgc2hvdWxkIGJlIGFuIG9iamVjdCB3aXRoICdhY3Rpb24nIHByb3BlcnR5Iik7KDAsaS5hc3NlcnQpKCJhbGwiPT09ZS5hY3Rpb258fCJvbmUiPT09ZS5hY3Rpb24sIkVyYXNlIGNvbW1hbmQgYWN0aW9uIHNob3VsZCBiZSAnYWxsJyBvciAnb25lJyIpfX1yZXR1cm4gZX19LDMyMjU1NChlLHQscyl7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuIGU9PT10fHxlPT09c31zLmQodCx7c3ltYm9sU2FtZUFzUmVzb2x2ZWQ6KCk9PnJ9KX0sODE0NTg5KGUsdCxzKXtzLmQodCx7SU5WQUxJRF9USU1FX1BPSU5UX0lOREVYOigpPT5yLFVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVg6KCk9Pml9KTtjb25zdCByPS0yZTYsaT0tMWU2fSw4NjY3NDgoZSx0LHMpe2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3Rbe2luZmxhdGVabGliOnQsaW5mbGF0ZVJhdzpyfSx7dW5wYWNrSW1wbDppfV09YXdhaXQgUHJvbWlzZS5hbGwoWyJmdW5jdGlvbiI9PXR5cGVvZiBEZWNvbXByZXNzaW9uU3RyZWFtP3MuZSgyMTI2MCkudGhlbihzLmJpbmQocyw3MzUwOTkpKTpQcm9taXNlLmFsbChbcy5lKDI0Njk4KSxzLmUoNjIyMzQpXSkudGhlbihzLmJpbmQocywyOTU4NzMpKSxzLmUoMjEyNjApLnRoZW4ocy5iaW5kKHMsMjk0NDgzKSldKTtyZXR1cm4gaSh0LHIsZSl9cy5kKHQse3VucGFjazooKT0+cn0pfSwxODk4NjMoZSx0LHMpe3MuZCh0LHtTcGlubmVyOigpPT5hfSk7cyg4NDU1NzcpO3ZhciByPXMoNDQzNTU3KSxpPXMoNTY3NDc5KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Nob3duPSExLHRoaXMuX2VsPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoZnVuY3Rpb24oZT0iIil7cmV0dXJuYDxkaXYgY2xhc3M9InR2LXNwaW5uZXIgJHtlfSIgcm9sZT0icHJvZ3Jlc3NiYXIiPjwvZGl2PmB9KCkpLHRoaXMuc2V0U2l6ZShpLnNwaW5uZXJTaXplTWFwW2V8fGkuREVGQVVMVF9TSVpFXSl9c3BpbihlKXtyZXR1cm4gdGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgidHYtc3Bpbm5lci0tc2hvd24iKSx2b2lkIDA9PT10aGlzLl9jb250YWluZXImJih0aGlzLl9jb250YWluZXI9ZSx2b2lkIDAhPT1lJiZlLmFwcGVuZENoaWxkKHRoaXMuX2VsKSksdGhpcy5fc2hvd249ITAsdGhpc31zdG9wKGUpe3JldHVybiBlJiZ2b2lkIDAhPT10aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoInR2LXNwaW5uZXItLXNob3duIiksdGhpcy5fc2hvd249ITEsdGhpc31zZXRTdHlsZShlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt2b2lkIDAhPT1zJiZ0aGlzLl9lbC5zdHlsZS5zZXRQcm9wZXJ0eSh0LHMpfSkpLHRoaXN9c3R5bGUoKXtyZXR1cm4gdGhpcy5fZWwuc3R5bGV9c2V0U2l6ZShlKXtjb25zdCB0PXZvaWQgMCE9PWU/YHR2LXNwaW5uZXItLXNpemVfJHtlfWA6IiI7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTmFtZT1gdHYtc3Bpbm5lciAke3R9ICR7dGhpcy5fc2hvd24/InR2LXNwaW5uZXItLXNob3duIjoiIn1gLHRoaXN9Z2V0RWwoKXtyZXR1cm4gdGhpcy5fZWx9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLGRlbGV0ZSB0aGlzLl9lbCxkZWxldGUgdGhpcy5fY29udGFpbmVyfX19LDIyNjkzNyhlLHQscyl7cy5kKHQse0FzeW5jUmVzb3VyY2VXcmFwcGVyOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTplfSx0aGlzLl9kZXN0cm95Rm49dCxlLnRoZW4oKGU9PntpZih0aGlzLl9kZXN0cm95ZWQpdGhpcy5fZGVzdHJveUZuPy4oZSk7ZWxzZXt0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT1lO2Zvcihjb25zdCB0IG9mIHRoaXMuX2NhbGxiYWNrcyl0KGUpfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX2NhbGxiYWNrcz1bXX0pKX0KZGVzdHJveSgpe3RoaXMuX3Jlc291cmNlLnJlc291cmNlJiZ0aGlzLl9kZXN0cm95Rm4/Lih0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZSksdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTpQcm9taXNlLnJlamVjdCgiUmVzb3VyY2UgaXMgZGVzdHJveWVkIikuY2F0Y2goKCgpPT57fSkpfSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fZGVzdHJveWVkPSEwfWNhbGxGdW5jdGlvbihlKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT9lKHRoaXMuX3Jlc291cmNlLnJlc291cmNlKTp0aGlzLl9jYWxsYmFja3MucHVzaChlKSl9Z2V0KCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZHx8IXRoaXMuX3Jlc291cmNlLnJlc291cmNlP251bGw6dGhpcy5fcmVzb3VyY2UucmVzb3VyY2V9cHJvbWlzZSgpe3JldHVybiB0aGlzLl9yZXNvdXJjZS5wZW5kaW5nUmVzb3VyY2V9fX19XSk7"}},"time_used":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.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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.950Z","timestamp":1785136900950,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51508.767219283c65f4d4ca6e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: e55dc0fbbba89337a046aa025d9c76e9\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2529,"size_decoded":1498,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2529), with no line terminators","md5":"76e3b34ef660092cb6ebcda4b1e8a0b0","sha1":"d997b9296e92721e4cfa8c5cd062150dd5a72d76","sha256":"1f4abc998292aaf8b21eb2933273369f5d7611063f098e70b47fbd27258859c0","sha512":"91d3087923640eeca24866262f097a03a730ca9ecbcab63c5851539144aca3fc7b28c2b2a340a3318f5a5f4149e8f995999a8ec0680a94a7780ac64e2ce591a3","ssdeep":"","tlshash":"6651481fb3fb1d212c234b0047d56e432330e5a315e36aece810d1ae9eda9de39b1285","first_seen":"2026-04-15T09:47:56.501715Z","last_seen":"2026-08-10T08:00:01.079939Z","times_seen":6095,"resource_available":false,"data":"LnR2LWRhdGEtbW9kZXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWV7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtZGF0YS1tb2RlLS1zbmFwc2hvdHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnR2LWRhdGEtbW9kZS0tZW5kb2ZkYXl7Y29sb3I6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS00MDApfS50di1kYXRhLW1vZGUtLWNvbm5lY3RpbmcsLnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLC50di1kYXRhLW1vZGUtLWludmFsaWQsLnR2LWRhdGEtbW9kZS0tbG9hZGluZ3t2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1kZWxheWVke2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLXRhcGV7Zm9udC1zaXplOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KX0udHYtZGF0YS1tb2RlLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci10YXBlOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci10aWNrZXItdGFwZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4O21hcmdpbi10b3A6NHB4O3ZlcnRpY2FsLWFsaWduOnRvcH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bWFyZ2luLWxlZnQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1uby1yZWFsdGltZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1kYXRhLW1vZGUtLWZvci1jaGFydHtmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1zdGFydDo2cHh9LnR2LWRhdGEtbW9kZS0tY29ubmVjdGluZy0tZm9yLWNoYXJ0LC50di1kYXRhLW1vZGUtLWxvYWRpbmctLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLS1mb3ItY2hhcnQsLnR2LWRhdGEtbW9kZS0taW52YWxpZC0tZm9yLWNoYXJ0e2NvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItY2hhcnR7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1jaGFydC50di1kYXRhLW1vZGUtLXJlcGxheXttYXJnaW4tbGVmdDowfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXItY2FyZHtkaXNwbGF5OmlubGluZTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtZGF0YS1tb2RlLS1mb3Itc3ltYm9sLXdpZGdldHtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtd2lkZ2V0LC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1jYXJke2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itd2F0Y2gtbGlzdHtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4O292ZXJmbG93OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtbW9kZS0tZm9yLXdhdGNoLWxpc3Q6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itd2F0Y2gtbGlzdHt2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxMnB4fS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtaW5mb3tkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXN5bWJvbC1pbmZve2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itc2NyZWVuZXJ7Zm9udC1zaXplOjEwcHh9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci1zY3JlZW5lcntkaXNwbGF5Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.987Z","timestamp":1785136900987,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 71470b16e593ec19591fbe0136658b8c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-08-10T05:01:44.30606Z","times_seen":1436,"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":"s3-symbol-logo.tradingview.com/crypto/XTVCXTZ.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.521Z","timestamp":1785136905521,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCXTZ.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCUSAT2.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.529Z","timestamp":1785136905529,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCUSAT2.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.984Z","timestamp":1785136900984,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: f1fe9be715884c8e036d49a2ebd97287\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-28T07:05:00.680835Z","times_seen":1734,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"snowplow-pixel.tradingview.com/com.tradingview/track","fqdn":"snowplow-pixel.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"35.162.147.20","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"beacon","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.881Z","timestamp":1785136901881,"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":"web-sp.tradingview.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 19 Apr 2026 00:00:00 GMT","end":"Mon, 02 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"9B:DF:03:4F:EB:00:80:CE:DB:C7:36:27:AE:14:79:24:3B:6C:A2:8E","sha256":"C2:A3:A5:DE:59:40:AC:09:73:08:A3:E6:2D:63:80:67:C0:F9:F7:0C:5B:A0:BC:5E:95:E4:01:FE:7C:E4:E0:AA"}}},"request":{"raw":"POST /com.tradingview/track HTTP/1.1\r\nHost: snowplow-pixel.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\nContent-Type: application/json\r\nContent-Length: 1640\r\nOrigin: https://www.tradingview-widget.com\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":1640,"data":"{\"schema\":\"iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4\",\"data\":[{\"e\":\"ue\",\"eid\":\"03949e92-a059-4f12-91c3-432adb91323c\",\"tv\":\"js-3.24.1\",\"tna\":\"tv_cf\",\"aid\":\"tradingview\",\"p\":\"web\",\"cookie\":\"1\",\"cs\":\"UTF-8\",\"lang\":\"en-US\",\"res\":\"1280x1024\",\"cd\":\"24\",\"dtm\":\"1785136901724\",\"ue_px\":\"eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy91bnN0cnVjdF9ldmVudC9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6eyJzY2hlbWEiOiJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRzX3dpdGhvdXRfd2Vic29ja2V0L2pzb25zY2hlbWEvMS0wLTAiLCJkYXRhIjp7Imhvc3QiOiJodW9iaWdldC5jb20iLCJwYXRoIjoiLyIsIndpZGdldF9pZCI6ImNyeXB0b21rdHNjcmVlbmVyIiwiZXZlbnRfbmFtZSI6InBhZ2VfdmlldyJ9fX0\",\"cx\":\"eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0wIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uc25vd3Bsb3dhbmFseXRpY3Muc25vd3Bsb3cvd2ViX3BhZ2UvanNvbnNjaGVtYS8xLTAtMCIsImRhdGEiOnsiaWQiOiJiZGUwNzE1Mi0xYjQ4LTQ4OTUtOTkzNC01MGE1ZmM2YWFlYmYifX1dfQ\",\"vp\":\"540x468\",\"ds\":\"540x468\",\"vid\":\"1\",\"sid\":\"e9181cfc-f30b-47bc-b081-f8b4edb7a96c\",\"refr\":\"https://huobiget.com/\",\"url\":\"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D\",\"stm\":\"1785136901725\"}]}"}},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:43 GMT\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-length: 2\r\nset-cookie: sp=5ed13cc5-1fad-43ad-8935-9af7aa8c6e27; Expires=Tue, 27 Jul 2027 07:21:43 GMT; Path=/; Secure; HttpOnly; SameSite=None\r\np3p: policyref=\"/w3c/p3p.xml\", CP=\"NOI DSP COR NID PSA OUR IND COM NAV STA\"\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\naccess-control-allow-credentials: true\r\nserver: akka-http/10.2.9\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Akka HTTP:10.2.9","description":"","website":"https://akka.io","common_platform_enumeration":"cpe:2.3:a:lightbend:akka_http:*:*:*:*:*:*:*:*","icon":"akka-http.png","categories":["Web frameworks","Web servers"]},{"name":"Snowplow Analytics","description":"Snowplow is an open-source behavioral data management platform for businesses.","website":"https://snowplowanalytics.com","common_platform_enumeration":"","icon":"Snowplow.svg","categories":["Analytics","IaaS"]},{"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":2,"size_decoded":581,"mime_type":"text/plain; charset=UTF-8","magic":"ASCII text, with no line terminators","md5":"444bcb3a3fcf8389296c49467f27e1d6","sha1":"7a85f4764bbd6daf1c3545efbbf0f279a6dc0beb","sha256":"2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df","sha512":"9fbbbb5a0f329f9782e2356fa41d89cf9b3694327c1a934d6af2a9df2d7f936ce83717fb513196a4ce5548471708cd7134c2ae99b3c357bcabb2eafc7b9b7570","ssdeep":"","tlshash":"c710000000000000300000000000000000000000000000000000000000000c0000c000","first_seen":"2023-03-08T02:32:37Z","last_seen":"2026-08-10T09:52:05.392205Z","times_seen":447138,"resource_available":true,"data":"b2s="}},"time_used":490,"timings":{"blocked":-1,"dns":0,"connect":162,"send":0,"wait":162,"receive":0,"ssl":166},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47201.4280aa0c3cf12cac9d6d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.885Z","timestamp":1785136901885,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/47201.4280aa0c3cf12cac9d6d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-3a0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 74876f830f56c52fa8d7a01e82995446\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":928,"size_decoded":1231,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (928), with no line terminators","md5":"54605d628ac900602ae36083dee3b441","sha1":"ca358793dd82a43278f12335674d256d92b49ad7","sha256":"3196d030409bb0320a5fae323a6210b652289760b0b3de4774d7a6fb6ef0f00e","sha512":"ad0740ba5a5400fb690d0b94d291463e7961d11b57ca38bccce61f1dcbd54fd95d7e6288efac1d46ce072b9b765e27820b6ed7bb94d12db613a20587c96b7d27","ssdeep":"","tlshash":"2811c2697250f778b562a89a6604b44c24c4d911054381eada63961dc4d32b70bb6fd8","first_seen":"2026-04-17T19:04:15.912861Z","last_seen":"2026-08-10T05:00:33.75683Z","times_seen":237,"resource_available":false,"data":"LnNlYXJjaC1sQU51YlNjMnthbGw6dW5zZXQ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDt3aWR0aDoxMDAlOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnNlYXJjaC1sQU51YlNjMjo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5pbnB1dENvbnRhaW5lci1sQU51YlNjMnthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDBweDtwYWRkaW5nOjZweCA4cHh9LmlucHV0Q29udGFpbmVyLWxBTnViU2MyOmZvY3VzLXdpdGhpbiAuc2VhcmNoSW5wdXRJY29uLWxBTnViU2Mye2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX0uYWN0aW9ucy1sQU51YlNjMnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5kaXZpZGVyLWxBTnViU2Mye21hcmdpbjowIDhweH0uc2VhcmNoSW5wdXRJY29uLWxBTnViU2Mye2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTtoZWlnaHQ6MjhweDttaW4td2lkdGg6MjhweDt3aWR0aDoyOHB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCUSDFF.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.479Z","timestamp":1785136905479,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCUSDFF.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCBABYL.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.570Z","timestamp":1785136905570,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCBABYL.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/66988.8458b6a0b6b6dab54ea4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.622Z","timestamp":1785136901622,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-1fd7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: df22c135c6c8b8dc79cae1bdf49bb212\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8151,"size_decoded":3735,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3064)","md5":"e8573dd152b6351a68d9431ffb61d357","sha1":"928cec3f4c876d4d701f3b8ae035b67e5e5bc22e","sha256":"02111defc5b8b61ff158655750e36cf18a318ecba45bd6410bd9397a5e380f2c","sha512":"21379f317449ebd372b6e4aed63443ec02937076567807d8da941855c0ae9b8b23c7fa923b3ac87cf6050146b69b4248aba05f8520df72587eb193f1b3010702","ssdeep":"192:Cm/zVycbWsCCMrRomnPpUeM+MYklUXFJmlp/aCiB86aECfSiRuve4w3qG9ytqv:Cew9CM1M+HZylQCiBTalfnuvBuqntqv","tlshash":"2df184a2b1a2a853677350fc5d75d823a5493809fc0846dcf1aeaadf284dd9c217ce7c","first_seen":"2026-07-20T16:56:18.385469Z","last_seen":"2026-07-28T06:17:53.435673Z","times_seen":97,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjY5ODhdLHs4NzcyMTcoZSx0LG8pe28uZCh0LHtBYnN0cmFjdEZpbGxlZEFyZWFQYW5lVmlldzooKT0+cH0pO3ZhciBpPW8oMTM4NjM4KSxsPW8oMTk4OTAxKSxyPW8oOTgzMzc4KSxuPW8oOTk1MjQwKSxhPW8oMTY4MjU4KSxzPW8oNTIxOTgzKTtmdW5jdGlvbiBkKGUsdCl7cmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDplfSwoKGUsbyk9Pih7dGltZVBvaW50SW5kZXg6byt0fSkpKX1mdW5jdGlvbiBjKGUsdCxvKXtsZXQgaSxsO2NvbnN0IHI9ZS5sZW5ndGg7Zm9yKGxldCBuPXQ7bj49MCYmbjxyO24rPW8pe2NvbnN0IHQ9ZVtuXTtpZih2b2lkIDA9PT1pJiZ2b2lkIDAhPT10LnBsb3QxVmFsdWUmJihpPW4pLHZvaWQgMD09PWwmJnZvaWQgMCE9PXQucGxvdDJWYWx1ZSYmKGw9biksdm9pZCAwIT09aSYmdm9pZCAwIT09bClyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiB1KGUpe3JldHVybiAwPT09ZS50eXBlP2Ake2UuY29sb3J9YDpgJHtlLmNvbG9yMX06JHtlLmNvbG9yMn06JHtlLmNvb3JkaW5hdGUxfToke2UuY29vcmRpbmF0ZTJ9YH1jb25zdCBoPXt0eXBlOjAsY29sb3I6IiJ9O2Z1bmN0aW9uIF8oZSl7cmV0dXJuW2EuTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lLGEuTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aEJyZWFrcyxhLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc10uaW5jbHVkZXMoZSl9Y2xhc3MgcHtjb25zdHJ1Y3RvcihlLHQsbyl7dGhpcy5faXNIbGluZUZpbGw9ITEsdGhpcy5fYmFuZEFLZXk9bnVsbCx0aGlzLl9iYW5kQktleT1udWxsLHRoaXMuX2NvbG9yUGxvdEluZGV4PW51bGwsdGhpcy5fYXJlYVJlbmRlcmVyPW5ldyBuLkFyZWFCYWNrZ3JvdW5kUmVuZGVyZXIsdGhpcy5fZGF0YUludmFsaWRhdGVkPW51bGwsdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMSx0aGlzLl9wbEluZGV4MT1udWxsLHRoaXMuX3BsSW5kZXgyPW51bGwsdGhpcy5faXRlbXM9W10sdGhpcy5fY29sb3JBcmVhcz1uZXcgbi5DYWNoZWRNYXAsdGhpcy5fZ2VuZXJhdGVDb2xvcj0oMCxyLmdlbmVyYXRlQ29sb3JDYWNoZWQpKCksdGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9bnVsbCx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2ZpbGxHYXBzPSEhbz8uZmlsbGdhcHMsdGhpcy5fZmlsbFRvSW50ZXJzZWN0aW9uPSEhbz8uZmlsbFRvSW50ZXJzZWN0aW9ufXVwZGF0ZShlKXtpZigiZ2xvYmFsLWNoYW5nZSI9PT1lLnR5cGUpcmV0dXJuIHRoaXMuX2RhdGFJbnZhbGlkYXRlZD0oMCxzLm1lcmdlRGF0YUludmFsaWRhdGlvbikodGhpcy5fZGF0YUludmFsaWRhdGVkLHt9KSx2b2lkKHRoaXMuX3ZpZXdwb3J0SW52YWxpZGF0ZWQ9ITApO2lmKCJkYXRhLXNvdXJjZS1jaGFuZ2UiIT09ZS50eXBlKXRoaXMuX3ZpZXdwb3J0SW52YWxpZGF0ZWQ9ITA7ZWxzZXtlLnNvdXJjZUlkPT09dGhpcy5fc291cmNlLmlkKCkmJih0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9KDAscy5tZXJnZURhdGFJbnZhbGlkYXRpb24pKHRoaXMuX2RhdGFJbnZhbGlkYXRlZCx7Zmlyc3RJbmRleDplLmZpcnN0VXBkYXRlZFRpbWVQb2ludEluZGV4LGNsZWFyRGF0YTplLmNsZWFyRGF0YX0pKX19cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fZGF0YUludmFsaWRhdGVkP3RoaXMuX3VwZGF0ZUltcGxGdWxsKHRoaXMuX2RhdGFJbnZhbGlkYXRlZCkmJih0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9bnVsbCx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExKTp0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMSksdGhpcy5fYXJlYVJlbmRlcmVyfV9taW5GaXJzdEJhckluZGV4KCl7cmV0dXJuLTEvMH1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpfV9maXJzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5maXJzdFZhbHVlKCl9X2NyZWF0ZUFyZWFCYWNrZ3JvdW5kSXRlbSgpe2lmKCF0aGlzLl9wbG90R2VvbWV0cnlDYWNoZSl7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcyx0PV8oZVt0aGlzLl9wbG90QUlkKCldLnBsb3R0eXBlLnZhbHVlKCkpLG89XyhlW3RoaXMuX3Bsb3RCSWQoKV0ucGxvdHR5cGUudmFsdWUoKSk7dGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9e3Bsb3QxSGFzU3RlcGxpbmVHZW9tZXRyeTp0LHBsb3QySGFzU3RlcGxpbmVHZW9tZXRyeTpvfX1yZXR1cm4gbmV3IG4uQXJlYUJhY2tncm91bmRJdGVtKHRoaXMuX3Bsb3RHZW9tZXRyeUNhY2hlLnBsb3QxSGFzU3RlcGxpbmVHZW9tZXRyeSx0aGlzLl9wbG90R2VvbWV0cnlDYWNoZS5wbG90Mkhhc1N0ZXBsaW5lR2VvbWV0cnkpfV9wbG90TmFtZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlLm1ldGFJbmZvKCkucGxvdHMubWFwKChlPT5lLmlkKSl9X3Bsb3RJbmRleDEoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3BsSW5kZXgxJiYodGhpcy5fcGxJbmRleDE9dGhpcy5fcGxvdE5hbWVzKCkuaW5kZXhPZih0aGlzLl9wbG90QUlkKCkpKzEpLHRoaXMuX3BsSW5kZXgxfV9wbG90SW5kZXgyKCl7cmV0dXJuIG51bGw9PT10aGlzLl9wbEluZGV4MiYmKHRoaXMuX3BsSW5kZXgyPXRoaXMuX3Bsb3ROYW1lcygpLmluZGV4T2YodGhpcy5fcGxvdEJJZCgpKSsxKSx0aGlzLl9wbEluZGV4Mn1fdXBkYXRlSW1wbEZ1bGwoZSl7aWYodGhpcy5fYXJlYVJlbmRlcmVyLnNldERhdGEobnVsbCksdGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9bnVsbCx0aGlzLl9kYXRhSW52YWxpZGF0ZWQ/LmNsZWFyRGF0YSYmKHRoaXMuX2l0ZW1zPVtdKSwhdGhpcy5fdmlzaWJsZSgpKXJldHVybiExO2lmKG51bGw9PT10aGlzLl9wcmljZVNjYWxlKCkpcmV0dXJuITE7aWYobnVsbD09PXRoaXMuX2ZpcnN0VmFsdWUoKSlyZXR1cm4hMTtjb25zdCB0PXRoaXMuX3NvdXJjZS5wbG90cygpLnBsb3R0YWJsZVJhbmdlKCksbz10LnNpemUoKTtpZigwPT09bylyZXR1cm4hMQo7Y29uc3Qgcj10aGlzLl9zb3VyY2Uub2Zmc2V0KHRoaXMuX3Bsb3RBSWQoKSksbj10aGlzLl9zb3VyY2Uub2Zmc2V0KHRoaXMuX3Bsb3RCSWQoKSksYT1NYXRoLm1pbihyLG4pLHM9TWF0aC5tYXgocixuKTtsZXQgYz1lLmZpcnN0SW5kZXg7Y29uc3QgdT1vKyhzLWEpKzEsaD10aGlzLl9wbG90SW5kZXgxKCksXz10aGlzLl9wbG90SW5kZXgyKCk7dSE9PXRoaXMuX2l0ZW1zLmxlbmd0aCYmKHZvaWQgMD09PWN8fDA9PT10aGlzLl9pdGVtcy5sZW5ndGh8fGM8dGhpcy5faXRlbXNbMF0udGltZVBvaW50SW5kZXgrYT8oYz12b2lkIDAsdGhpcy5faXRlbXM9ZCh1LDFlMTApKTp0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5jb25jYXQoZCh1LXRoaXMuX2l0ZW1zLmxlbmd0aCwxZTEwK3RoaXMuX2l0ZW1zLmxlbmd0aCkpKTtjb25zdCBwPXRoaXMuX2NvbG9yUGxvdEluZGV4LHY9dGhpcy5fdHJhbnNwYXJlbmN5KCksbT12b2lkIDA9PT1jP3QuZnVsbFJhbmdlSXRlcmF0b3IoKTp0LnJhbmdlSXRlcmF0b3IoYywoMCxpLmVuc3VyZU5vdE51bGwpKHQubGFzdEluZGV4KCkpKTtsZXQgST12b2lkIDAhPT1jPygwLGwubG93ZXJib3VuZCkodGhpcy5faXRlbXMsYythLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSktYTotYTtmb3IoY29uc3QgZSBvZiBtKXtjb25zdCB0PWUuaW5kZXgrcixvPWUuaW5kZXgrbixpPXRoaXMuX2l0ZW1zW0krcl0sbD10aGlzLl9pdGVtc1tJK25dO2lmKGkudGltZVBvaW50SW5kZXg9dCxsLnRpbWVQb2ludEluZGV4PW8sdGhpcy5faXNIbGluZUZpbGx8fChpLnBsb3QxVmFsdWU9ZS52YWx1ZVtoXT8/dm9pZCAwLGwucGxvdDJWYWx1ZT1lLnZhbHVlW19dPz92b2lkIDApLG51bGwhPT1wKXtjb25zdCB0PUkrYS0xO2lmKHQ+PTAmJnQ8dGhpcy5faXRlbXMubGVuZ3RoKXtjb25zdCBvPXRoaXMuX2l0ZW1zW3RdO2xldCBpO2k9MD09PXAudHlwZT97dHlwZTowLGNvbG9ySW5kZXhPclJnYmE6ZS52YWx1ZVtwLmNvbG9ySW5kZXhPclJnYmErMV19Ont0eXBlOjEsY29sb3JJbmRleE9yUmdiYTE6dm9pZCAwPT09cC5jb2xvckluZGV4T3JSZ2JhMT92b2lkIDA6ZS52YWx1ZVtwLmNvbG9ySW5kZXhPclJnYmExKzFdLGNvbG9ySW5kZXhPclJnYmEyOnZvaWQgMD09PXAuY29sb3JJbmRleE9yUmdiYTI/dm9pZCAwOmUudmFsdWVbcC5jb2xvckluZGV4T3JSZ2JhMisxXSx2YWx1ZTE6dm9pZCAwPT09cC52YWx1ZUluZGV4MT92b2lkIDA6ZS52YWx1ZVtwLnZhbHVlSW5kZXgxKzFdLHZhbHVlMjp2b2lkIDA9PT1wLnZhbHVlSW5kZXgyP3ZvaWQgMDplLnZhbHVlW3AudmFsdWVJbmRleDIrMV19O2NvbnN0IGw9by5jb2xvcj10aGlzLl9nZXRDb2xvckJ5UGxvdFZhbHVlKGkpPz92b2lkIDA7dm9pZCAwIT09bCYmKDE9PT1sLnR5cGU/KGwuY29sb3IxPWwuY29sb3IxJiZ0aGlzLl9nZW5lcmF0ZUNvbG9yKGwuY29sb3IxLHYpLGwuY29sb3IyPWwuY29sb3IyJiZ0aGlzLl9nZW5lcmF0ZUNvbG9yKGwuY29sb3IyLHYpKTpsLmNvbG9yPXRoaXMuX2dlbmVyYXRlQ29sb3IobC5jb2xvcix2KSl9fUkrPTF9cmV0dXJuIHRoaXMuX3VwZGF0ZUltcGxMaWdodCgpLCEwfV91cGRhdGVJbXBsTGlnaHQoKXtpZighdGhpcy5fdmlzaWJsZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUoKTtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD10aGlzLl9maXJzdFZhbHVlKCk7aWYobnVsbD09PXQpcmV0dXJuO2lmKDA9PT10aGlzLl9pdGVtcy5sZW5ndGgpcmV0dXJuO2xldCBvO2lmKHRoaXMuX2lzSGxpbmVGaWxsKXtjb25zdCBsPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYmFuZHNbKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9iYW5kQUtleSldLHI9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5iYW5kc1soMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JhbmRCS2V5KV07bz17bGV2ZWwxOmUucHJpY2VUb0Nvb3JkaW5hdGUobC52YWx1ZS52YWx1ZSgpLHQpLGxldmVsMjplLnByaWNlVG9Db29yZGluYXRlKHIudmFsdWUudmFsdWUoKSx0KX19Y29uc3Qgcj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxhPXIudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1hKXJldHVybjtjb25zdCBzPWUucHJpY2VUb0Nvb3JkaW5hdGVGbih0KSxkPXRoaXMuX3RyYW5zcGFyZW5jeSgpLF89dGhpcy5fbWluRmlyc3RCYXJJbmRleCgpLHA9TWF0aC5tYXgoXyxhLmZpcnN0QmFyKCkpLHY9KDAsbC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxwLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7aWYodj49dGhpcy5faXRlbXMubGVuZ3RoKXJldHVybjtjb25zdCBtPU1hdGgubWluKHRoaXMuX2l0ZW1zLmxlbmd0aC0xLCgwLGwubG93ZXJib3VuZCkodGhpcy5faXRlbXMsYS5sYXN0QmFyKCksKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKSk7bGV0IEksZjt0aGlzLl9pc0hsaW5lRmlsbD8oST1fPT09cD92Ok1hdGgubWF4KDAsdi0xKSxmPU1hdGgubWluKHRoaXMuX2l0ZW1zLmxlbmd0aC0xLG0rMSkpOihJPV89PT1wP3Y6Yyh0aGlzLl9pdGVtcyx2LTEsLTEpPz92LGY9Yyh0aGlzLl9pdGVtcyxtKzEsMSk/P20pO2NvbnN0IGc9dGhpcy5fY29sb3JBcmVhcztnLmludmFsaWRhdGVDYWNoZSgpO2xldCB4LHk9bnVsbCxDPW51bGwsYj1udWxsO2NvbnN0IFA9dGhpcy5fY29tbW9uQ29sb3IoKTtsZXQgQjsxPT09UC50eXBlPyhQLmNvb3JkaW5hdGUxPXMoUC52YWx1ZTEpLFAuY29vcmRpbmF0ZTI9cyhQLnZhbHVlMiksUC5jb2xvcjE9UC5jb2xvcjEmJnRoaXMuX2dlbmVyYXRlQ29sb3IoUC5jb2xvcjEsZCksUC5jb2xvcjI9UC5jb2xvcjImJnRoaXMuX2dlbmVyYXRlQ29sb3IoUC5jb2xvcjIsZCkpOlAuY29sb3I9dGhpcy5fZ2VuZXJhdGVDb2xvcihQLmNvbG9yLGQpO2xldCBTPTA9PT1JO2ZvcihsZXQgZT1JO2U8PWY7ZSs9MSl7Y29uc3QgdD10aGlzLl9pdGVtc1tlXSxpPXQudGltZVBvaW50SW5kZXg7bGV0IGwsYTshdGhpcy5fZmlsbEdhcHMmJnZvaWQgMCE9PUImJmktQj4xJiYoeT1udWxsKSx2b2lkIDAhPT1vPyhsPW8ubGV2ZWwxLAphPW8ubGV2ZWwyKToobD10LnBsb3QxQ29vcmRpbmF0ZT12b2lkIDA9PT10LnBsb3QxVmFsdWU/dm9pZCAwOnModC5wbG90MVZhbHVlKSxhPXQucGxvdDJDb29yZGluYXRlPXZvaWQgMD09PXQucGxvdDJWYWx1ZT92b2lkIDA6cyh0LnBsb3QyVmFsdWUpKTtjb25zdCBkPXQueENvb3JkaW5hdGU9ci5pbmRleFRvQ29vcmRpbmF0ZSh0LnRpbWVQb2ludEluZGV4KTtpZih0LmNvbG9yJiYxPT09dC5jb2xvci50eXBlJiYodC5jb2xvci5jb29yZGluYXRlMT1zKHQuY29sb3IudmFsdWUxKSx0LmNvbG9yLmNvb3JkaW5hdGUyPXModC5jb2xvci52YWx1ZTIpKSx0aGlzLl9maWxsR2Fwcz92b2lkIDAhPT1sfHx2b2lkIDAhPT1hOnZvaWQgMCE9PWwmJnZvaWQgMCE9PWEpe2NvbnN0IG89bnVsbCE9PXRoaXMuX2NvbG9yUGxvdEluZGV4P3QuY29sb3J8fGg6UDtpZihBPW8sIShudWxsPT09KHc9Yil8fG51bGw9PT1BP3c9PT1BOjA9PT13LnR5cGUmJjA9PT1BLnR5cGU/dy5jb2xvcj09PUEuY29sb3I6MT09PXcudHlwZSYmMT09PUEudHlwZSYmdy5jb2xvcjE9PT1BLmNvbG9yMSYmdy5jb2xvcjI9PT1BLmNvbG9yMiYmdy5jb29yZGluYXRlMT09PUEuY29vcmRpbmF0ZTEmJncuY29vcmRpbmF0ZTI9PT1BLmNvb3JkaW5hdGUyKXx8bnVsbD09PXkpe2lmKG51bGwhPT15JiYodm9pZCAwIT09bCYmKHkuYWRkUG9pbnRzMVBvaW50KGQsbCxTKSxTPSExKSx2b2lkIDAhPT1hJiZ5LmFkZFBvaW50czJQb2ludChkLGEpKSxlPT09Ziljb250aW51ZTtiPW87Y29uc3QgdD11KG8pLGk9Zy5nZXQodCk/P25ldyBuLkFyZWFCYWNrZ3JvdW5kSXRlbXNHcm91cChvKTtDPXkseT1pLm5ld0l0ZW0oKT8/dGhpcy5fY3JlYXRlQXJlYUJhY2tncm91bmRJdGVtKCksaS5wdXNoKHkpLGcuc2V0KHQsaSl9dm9pZCAwIT09bCYmKHkuYWRkUG9pbnRzMVBvaW50KGQsbCxTKSxTPSExKSx2b2lkIDAhPT1hJiZ5LmFkZFBvaW50czJQb2ludChkLGEpfWVsc2UgdGhpcy5fZmlsbEdhcHN8fChiPW51bGwseT1udWxsLEM9bnVsbCk7Qj1pLHg9dH12YXIgdyxBO2cuZGVsZXRlKHUoaCkpO2NvbnN0IFY9e2JhclNwYWNpbmc6dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLGNvbG9yQXJlYXM6Z307dGhpcy5fYXJlYVJlbmRlcmVyLnNldERhdGEoVil9fX0sMTY2OTg4KGUsdCxvKXtvLmQodCx7QXJlYUJhY2tncm91bmRQYW5lVmlldzooKT0+cn0pO3ZhciBpPW8oMTM4NjM4KSxsPW8oODc3MjE3KTtjbGFzcyByIGV4dGVuZHMgbC5BYnN0cmFjdEZpbGxlZEFyZWFQYW5lVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCl9X3Bsb3RBSWQoKXtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLmFyZWEpWzBdLm5hbWV9X3Bsb3RCSWQoKXtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLmFyZWEpWzFdLm5hbWV9X2NvbW1vbkNvbG9yKCl7cmV0dXJue3R5cGU6MCxjb2xvcjp0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmFyZWFCYWNrZ3JvdW5kLmJhY2tncm91bmRDb2xvci52YWx1ZSgpfX1fdHJhbnNwYXJlbmN5KCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYXJlYUJhY2tncm91bmQudHJhbnNwYXJlbmN5Py52YWx1ZSgpPz8wfV92aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYXJlYUJhY2tncm91bmQuZmlsbEJhY2tncm91bmQudmFsdWUoKX1fZ2V0Q29sb3JCeVBsb3RWYWx1ZShlKXtyZXR1cm4gdGhpcy5fY29tbW9uQ29sb3IoKX19fSw5ODMzNzgoZSx0LG8pe28uZCh0LHtnZW5lcmF0ZUNvbG9yQ2FjaGVkOigpPT5ufSk7dmFyIGk9byg2NjMwNDYpLGw9byg4NzM1NzMpLHI9byg1MTcyOTMpO2Z1bmN0aW9uIG4oZT0xZTMpe2NvbnN0IHQ9aS5kZWZhdWx0LkNhY2hlO2kuZGVmYXVsdC5DYWNoZT1yLkNpcmN1bGFyQ2FjaGVCdWZmZXIuYmluZChyLkNpcmN1bGFyQ2FjaGVCdWZmZXIsZSk7Y29uc3Qgbz0oMCxpLmRlZmF1bHQpKGwuZ2VuZXJhdGVDb2xvciwoKGUsdCxvKT0+YCR7ZX1fJHt0fV8ke299YCkpO3JldHVybiBpLmRlZmF1bHQuQ2FjaGU9dCxvfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-sheriff.tradingview-widget.com/sheriff/api/v1/rules/search?origin=https%3A%2F%2Fhuobiget.com","fqdn":"widget-sheriff.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"143.204.238.28","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.683Z","timestamp":1785136901683,"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":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sat, 27 Dec 2025 00:00:00 GMT","end":"Sun, 24 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"0A:93:73:BB:95:EC:D1:52:11:5B:CC:2D:92:43:D4:FD:5A:2E:BE:A4","sha256":"70:E8:96:A5:F6:09:13:92:CB:0D:3F:A5:37:C4:A1:0D:4A:F7:52:C0:C1:B6:21:DB:D5:92:33:3F:B5:7D:EE:0F"}}},"request":{"raw":"GET /sheriff/api/v1/rules/search?origin=https%3A%2F%2Fhuobiget.com HTTP/1.1\r\nHost: widget-sheriff.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\nx-amz-cf-pop: ARN53-P4\r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncache-control: public, max-age=3600, s-maxage=3600\r\nserver: tv\r\nvia: 443, 1.1 4c304736e6087956cb00821d710060a4.cloudfront.net (CloudFront)\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\ncross-origin-resource-policy: same-site\r\naccess-control-max-age: 86400\r\nvary: Origin\r\nx-cache: Hit from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: SwlmyGAelUsWcgiKOvpWMiNGLewh1bil2vFKiDrXAi2WYphXujAB1g==\r\n\r\n","headers":null,"cookies":null,"status_code":"204","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"]}],"data":{"size":0,"size_decoded":554,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":""}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":33,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/92393.fbb8c271bc4a0b751269.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.876Z","timestamp":1785136901876,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/92393.fbb8c271bc4a0b751269.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4e2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 124c4279796ec23d4ac30a2ad5e7a60a\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":1250,"size_decoded":1281,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1250), with no line terminators","md5":"44a088ea878be9ce5aba8c7f81e9689f","sha1":"ada9e67c39474bb0afa4cca99f793d6fa037703d","sha256":"9c6e69b8a3f0eeb5446efa6b4454704151bdfd2b988224abf442ff34c21a12b3","sha512":"eb51b789ac77ae0a0fd05bbb7fab8d16a1474adefa9ffb58c0cb76e42f9436f216d665f04b87d63e4b75867d4720e5c36eb0e85fe6d4a7f29b3ce134846d5298","ssdeep":"","tlshash":"042142d2533421b9f3f3c51b360af7865b02aa1be472368ce3d9aca450c32d216c8c02","first_seen":"2026-07-19T21:33:34.07639Z","last_seen":"2026-08-10T05:00:33.751177Z","times_seen":112,"resource_available":false,"data":"LmJ1dHRvbi1Pd2JHVnlhM3std2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudCk7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6aW5oZXJpdDtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0fS5idXR0b24tT3diR1Z5YTM6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tT3diR1Z5YTM6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1Pd2JHVnlhMzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYnV0dG9uLU93YkdWeWEzOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1Pd2JHVnlhMzpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1Pd2JHVnlhMzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLU93YkdWeWEzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6OHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLU93YkdWeWEzOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpO2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiAiO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCl9fS5idXR0b24tT3diR1Z5YTM6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQpfS50ZXh0LU93YkdWeWEze3Bvc2l0aW9uOnJlbGF0aXZlO3doaXRlLXNwYWNlOm5vd3JhcH0="}},"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":"huobiget.com/js/jquery.countdown.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.521Z","timestamp":1785136899521,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/jquery.countdown.min.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 7388\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":7388,"size_decoded":7604,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (459), with CRLF line terminators","md5":"440d5c30fb315bb0e6d04ee34c7496d3","sha1":"b238641648af7929e5ab81a7f10601a13d500900","sha256":"387e4ceaac3c13c791965a5c41bfdef9261dc2846db72495a91670c31c0cef95","sha512":"5d27b6b6078a2c2d735a66e04b15f13319d76464e25569bcdc39ebdbbc8e3ef6b7c11d8ef92602793ccb8b52b430f12fff5010d45a7d68acb2e53595990a8ced","ssdeep":"192:rQHrSpepF9zo3gbTr/oi+PWPrRxdJJCmhkgJ5NY9:rJpe/9zo3gb3/T+PWPrRxdJJCmhXJ09","tlshash":"17e1314eb3b11262657eb3255dae4014f236e71ff092445e38fc96c82f3246854bbeb8","first_seen":"2023-04-14T14:08:00Z","last_seen":"2026-08-09T04:43:01.296808Z","times_seen":61,"resource_available":true,"data":"LyohDQogKiBUaGUgRmluYWwgQ291bnRkb3duIGZvciBqUXVlcnkgdjIuMi4wIChodHRwOi8vaGlsaW9zLmdpdGh1Yi5pby9qUXVlcnkuY291bnRkb3duLykNCiAqIENvcHlyaWdodCAoYykgMjAxNiBFZHNvbiBIaWxpb3MNCiAqIA0KICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZg0KICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4NCiAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8NCiAqIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mDQogKiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sDQogKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoNCiAqIA0KICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsDQogKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLg0KICogDQogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUg0KICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MNCiAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUg0KICogQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSDQogKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTg0KICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4NCiAqLw0KISBmdW5jdGlvbihhKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgICJmdW5jdGlvbiIgPT0gdHlwZW9mIGRlZmluZSAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFsianF1ZXJ5Il0sIGEpIDogYShqUXVlcnkpDQp9KGZ1bmN0aW9uKGEpIHsNCiAgICAidXNlIHN0cmljdCI7DQoNCiAgICBmdW5jdGlvbiBiKGEpIHsNCiAgICAgICAgaWYgKGEgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gYTsNCiAgICAgICAgaWYgKFN0cmluZyhhKS5tYXRjaChnKSkgcmV0dXJuIFN0cmluZyhhKS5tYXRjaCgvXlswLTldKiQvKSAmJiAoYSA9IE51bWJlcihhKSksIFN0cmluZyhhKS5tYXRjaCgvXC0vKSAmJiAoYSA9IFN0cmluZyhhKS5yZXBsYWNlKC9cLS9nLCAiLyIpKSwgbmV3IERhdGUoYSk7DQogICAgICAgIHRocm93IG5ldyBFcnJvcigiQ291bGRuJ3QgY2FzdCBgIiArIGEgKyAiYCB0byBhIGRhdGUgb2JqZWN0LiIpDQogICAgfQ0KDQogICAgZnVuY3Rpb24gYyhhKSB7DQogICAgICAgIHZhciBiID0gYS50b1N0cmluZygpLnJlcGxhY2UoLyhbLj8qK14kW1xdXFwoKXt9fC1dKS9nLCAiXFwkMSIpOw0KICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChiKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGQoYSkgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24oYikgew0KICAgICAgICAgICAgdmFyIGQgPSBiLm1hdGNoKC8lKC18ISk/W0EtWl17MX0oOlteO10rOyk/L2dpKTsNCiAgICAgICAgICAgIGlmIChkKQ0KICAgICAgICAgICAgICAgIGZvciAodmFyIGYgPSAwLCBnID0gZC5sZW5ndGg7IGYgPCBnOyArK2YpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGggPSBkW2ZdLm1hdGNoKC8lKC18ISk/KFthLXpBLVpdezF9KSg6W147XSs7KT8vKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGogPSBjKGhbMF0pLA0KICAgICAgICAgICAgICAgICAgICAgICAgayA9IGhbMV0gfHwgIiIsDQogICAgICAgICAgICAgICAgICAgICAgICBsID0gaFszXSB8fCAiIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBudWxsOw0KICAgICAgICAgICAgICAgICAgICBoID0gaFsyXSwgaS5oYXNPd25Qcm9wZXJ0eShoKSAmJiAobSA9IGlbaF0sIG0gPSBOdW1iZXIoYVttXSkpLCBudWxsICE9PSBtICYmICgiISIgPT09IGsgJiYgKG0gPSBlKGwsIG0pKSwgIiIgPT09IGsgJiYgbSA8IDEwICYmIChtID0gIjAiICsgbS50b1N0cmluZygpKSwgYiA9IGIucmVwbGFjZShqLCBtLnRvU3RyaW5nKCkpKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBiID0gYi5yZXBsYWNlKC8lJS8sICIlIikNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGUoYSwgYikgew0KICAgICAgICB2YXIgYyA9ICJzIiwNCiAgICAgICAgICAgIGQgPSAiIjsNCiAgICAgICAgcmV0dXJuIGEgJiYgKGEgPSBhLnJlcGxhY2UoLyg6fDt8XHMpL2dpLCAiIikuc3BsaXQoL1wsLyksIDEgPT09IGEubGVuZ3RoID8gYyA9IGFbMF0gOiAoZCA9IGFbMF0sIGMgPSBhWzFdKSksIE1hdGguYWJzKGIpID4gMSA/IGMgOiBkDQogICAgfQ0KICAgIHZhciBmID0gW10sDQogICAgICAgIGcgPSBbXSwNCiAgICAgICAgaCA9IHsNCiAgICAgICAgICAgIHByZWNpc2lvbjogMTAwLA0KICAgICAgICAgICAgZWxhcHNlOiAhMSwNCiAgICAgICAgICAgIGRlZmVyOiAhMQ0KICAgICAgICB9Ow0KICAgIGcucHVzaCgvXlswLTldKiQvLnNvdXJjZSksIGcucHVzaCgvKFswLTldezEsMn1cLyl7Mn1bMC05XXs0fSggWzAtOV17MSwyfSg6WzAtOV17Mn0pezJ9KT8vLnNvdXJjZSksIGcucHVzaCgvWzAtOV17NH0oW1wvXC1dWzAtOV17MSwyfSl7Mn0oIFswLTldezEsMn0oOlswLTldezJ9KXsyfSk/Ly5zb3VyY2UpLCBnID0gbmV3IFJlZ0V4cChnLmpvaW4oInwiKSk7DQogICAgdmFyIGkgPSB7DQogICAgICAgICAgICBZOiAieWVhcnMiLA0KICAgICAgICAgICAgbTogIm1vbnRocyIsDQogICAgICAgICAgICBuOiAiZGF5c1RvTW9udGgiLA0KICAgICAgICAgICAgZDogImRheXNUb1dlZWsiLA0KICAgICAgICAgICAgdzogIndlZWtzIiwNCiAgICAgICAgICAgIFc6ICJ3ZWVrc1RvTW9udGgiLA0KICAgICAgICAgICAgSDogImhvdXJzIiwNCiAgICAgICAgICAgIE06ICJtaW51dGVzIiwNCiAgICAgICAgICAgIFM6ICJzZWNvbmRzIiwNCiAgICAgICAgICAgIEQ6ICJ0b3RhbERheXMiLA0KICAgICAgICAgICAgSTogInRvdGFsSG91cnMiLA0KICAgICAgICAgICAgTjogInRvdGFsTWludXRlcyIsDQogICAgICAgICAgICBUOiAidG90YWxTZWNvbmRzIg0KICAgICAgICB9LA0KICAgICAgICBqID0gZnVuY3Rpb24oYiwgYywgZCkgew0KICAgICAgICAgICAgdGhpcy5lbCA9IGIsIHRoaXMuJGVsID0gYShiKSwgdGhpcy5pbnRlcnZhbCA9IG51bGwsIHRoaXMub2Zmc2V0ID0ge30sIHRoaXMub3B0aW9ucyA9IGEuZXh0ZW5kKHt9LCBoKSwgdGhpcy5pbnN0YW5jZU51bWJlciA9IGYubGVuZ3RoLCBmLnB1c2godGhpcyksIHRoaXMuJGVsLmRhdGEoImNvdW50ZG93bi1pbnN0YW5jZSIsIHRoaXMuaW5zdGFuY2VOdW1iZXIpLCBkICYmICgiZnVuY3Rpb24iID09IHR5cGVvZiBkID8gKHRoaXMuJGVsLm9uKCJ1cGRhdGUuY291bnRkb3duIiwgZCksIHRoaXMuJGVsLm9uKCJzdG9wZWQuY291bnRkb3duIiwgZCksIHRoaXMuJGVsLm9uKCJmaW5pc2guY291bnRkb3duIiwgZCkpIDogdGhpcy5vcHRpb25zID0gYS5leHRlbmQoe30sIGgsIGQpKSwgdGhpcy5zZXRGaW5hbERhdGUoYyksIHRoaXMub3B0aW9ucy5kZWZlciA9PT0gITEgJiYgdGhpcy5zdGFydCgpDQogICAgICAgIH07DQogICAgYS5leHRlbmQoai5wcm90b3R5cGUsIHsNCiAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgbnVsbCAhPT0gdGhpcy5pbnRlcnZhbCAmJiBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpOw0KICAgICAgICAgICAgdmFyIGEgPSB0aGlzOw0KICAgICAgICAgICAgdGhpcy51cGRhdGUoKSwgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGEudXBkYXRlLmNhbGwoYSkNCiAgICAgICAgICAgIH0sIHRoaXMub3B0aW9ucy5wcmVjaXNpb24pDQogICAgICAgIH0sDQogICAgICAgIHN0b3A6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKSwgdGhpcy5pbnRlcnZhbCA9IG51bGwsIHRoaXMuZGlzcGF0Y2hFdmVudCgic3RvcGVkIikNCiAgICAgICAgfSwNCiAgICAgICAgdG9nZ2xlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHRoaXMuaW50ZXJ2YWwgPyB0aGlzLnN0b3AoKSA6IHRoaXMuc3RhcnQoKQ0KICAgICAgICB9LA0KICAgICAgICBwYXVzZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB0aGlzLnN0b3AoKQ0KICAgICAgICB9LA0KICAgICAgICByZXN1bWU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdGhpcy5zdGFydCgpDQogICAgICAgIH0sDQogICAgICAgIHJlbW92ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB0aGlzLnN0b3AuY2FsbCh0aGlzKSwgZlt0aGlzLmluc3RhbmNlTnVtYmVyXSA9IG51bGwsIGRlbGV0ZSB0aGlzLiRlbC5kYXRhKCkuY291bnRkb3duSW5zdGFuY2UNCiAgICAgICAgfSwNCiAgICAgICAgc2V0RmluYWxEYXRlOiBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICB0aGlzLmZpbmFsRGF0ZSA9IGIoYSkNCiAgICAgICAgfSwNCiAgICAgICAgdXBkYXRlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGlmICgwID09PSB0aGlzLiRlbC5jbG9zZXN0KCJodG1sIikubGVuZ3RoKSByZXR1cm4gdm9pZCB0aGlzLnJlbW92ZSgpOw0KICAgICAgICAgICAgdmFyIGIsIGMgPSB2b2lkIDAgIT09IGEuX2RhdGEodGhpcy5lbCwgImV2ZW50cyIpLA0KICAgICAgICAgICAgICAgIGQgPSBuZXcgRGF0ZTsNCiAgICAgICAgICAgIGIgPSB0aGlzLmZpbmFsRGF0ZS5nZXRUaW1lKCkgLSBkLmdldFRpbWUoKSwgYiA9IE1hdGguY2VpbChiIC8gMWUzKSwgYiA9ICF0aGlzLm9wdGlvbnMuZWxhcHNlICYmIGIgPCAwID8gMCA6IE1hdGguYWJzKGIpLCB0aGlzLnRvdGFsU2Vjc0xlZnQgIT09IGIgJiYgYyAmJiAodGhpcy50b3RhbFNlY3NMZWZ0ID0gYiwgdGhpcy5lbGFwc2VkID0gZCA+PSB0aGlzLmZpbmFsRGF0ZSwgdGhpcy5vZmZzZXQgPSB7DQogICAgICAgICAgICAgICAgc2Vjb25kczogdGhpcy50b3RhbFNlY3NMZWZ0ICUgNjAsDQogICAgICAgICAgICAgICAgbWludXRlczogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCkgJSA2MCwNCiAgICAgICAgICAgICAgICBob3VyczogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCAvIDYwKSAlIDI0LA0KICAgICAgICAgICAgICAgIGRheXM6IE1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0IC8gNjAgLyA2MCAvIDI0KSAlIDcsDQogICAgICAgICAgICAgICAgZGF5c1RvV2VlazogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCAvIDYwIC8gMjQpICUgNywNCiAgICAgICAgICAgICAgICBkYXlzVG9Nb250aDogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCAvIDYwIC8gMjQgJSAzMC40MzY4KSwNCiAgICAgICAgICAgICAgICB3ZWVrczogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCAvIDYwIC8gMjQgLyA3KSwNCiAgICAgICAgICAgICAgICB3ZWVrc1RvTW9udGg6IE1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0IC8gNjAgLyA2MCAvIDI0IC8gNykgJSA0LA0KICAgICAgICAgICAgICAgIG1vbnRoczogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCAvIDYwIC8gMjQgLyAzMC40MzY4KSwNCiAgICAgICAgICAgICAgICB5ZWFyczogTWF0aC5hYnModGhpcy5maW5hbERhdGUuZ2V0RnVsbFllYXIoKSAtIGQuZ2V0RnVsbFllYXIoKSksDQogICAgICAgICAgICAgICAgdG90YWxEYXlzOiBNYXRoLmZsb29yKHRoaXMudG90YWxTZWNzTGVmdCAvIDYwIC8gNjAgLyAyNCksDQogICAgICAgICAgICAgICAgdG90YWxIb3VyczogTWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQgLyA2MCAvIDYwKSwNCiAgICAgICAgICAgICAgICB0b3RhbE1pbnV0ZXM6IE1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0IC8gNjApLA0KICAgICAgICAgICAgICAgIHRvdGFsU2Vjb25kczogdGhpcy50b3RhbFNlY3NMZWZ0DQogICAgICAgICAgICB9LCB0aGlzLm9wdGlvbnMuZWxhcHNlIHx8IDAgIT09IHRoaXMudG90YWxTZWNzTGVmdCA/IHRoaXMuZGlzcGF0Y2hFdmVudCgidXBkYXRlIikgOiAodGhpcy5zdG9wKCksIHRoaXMuZGlzcGF0Y2hFdmVudCgiZmluaXNoIikpKQ0KICAgICAgICB9LA0KICAgICAgICBkaXNwYXRjaEV2ZW50OiBmdW5jdGlvbihiKSB7DQogICAgICAgICAgICB2YXIgYyA9IGEuRXZlbnQoYiArICIuY291bnRkb3duIik7DQogICAgICAgICAgICBjLmZpbmFsRGF0ZSA9IHRoaXMuZmluYWxEYXRlLCBjLmVsYXBzZWQgPSB0aGlzLmVsYXBzZWQsIGMub2Zmc2V0ID0gYS5leHRlbmQoe30sIHRoaXMub2Zmc2V0KSwgYy5zdHJmdGltZSA9IGQodGhpcy5vZmZzZXQpLCB0aGlzLiRlbC50cmlnZ2VyKGMpDQogICAgICAgIH0NCiAgICB9KSwgYS5mbi5jb3VudGRvd24gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDApOw0KICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGMgPSBhKHRoaXMpLmRhdGEoImNvdW50ZG93bi1pbnN0YW5jZSIpOw0KICAgICAgICAgICAgaWYgKHZvaWQgMCAhPT0gYykgew0KICAgICAgICAgICAgICAgIHZhciBkID0gZltjXSwNCiAgICAgICAgICAgICAgICAgICAgZSA9IGJbMF07DQogICAgICAgICAgICAgICAgai5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoZSkgPyBkW2VdLmFwcGx5KGQsIGIuc2xpY2UoMSkpIDogbnVsbCA9PT0gU3RyaW5nKGUpLm1hdGNoKC9eWyRBLVpfXVswLTlBLVpfJF0qJC9pKSA/IChkLnNldEZpbmFsRGF0ZS5jYWxsKGQsIGUpLCBkLnN0YXJ0KCkpIDogYS5lcnJvcigiTWV0aG9kICVzIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5jb3VudGRvd24iLnJlcGxhY2UoL1wlcy9naSwgZSkpDQogICAgICAgICAgICB9IGVsc2UgbmV3IGoodGhpcywgYlswXSwgYlsxXSkNCiAgICAgICAgfSkNCiAgICB9DQp9KTs="}},"time_used":666,"timings":{"blocked":574,"dns":0,"connect":0,"send":0,"wait":92,"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":"huobiget.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/70815.3ce6d6a2686e88907ab3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.306Z","timestamp":1785136901306,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70815.3ce6d6a2686e88907ab3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-78f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e9b4c1c3fb881e45a4316f6a8822b00b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1935,"size_decoded":1268,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1935), with no line terminators","md5":"c06f909e993de4f09740c91db132c846","sha1":"7451e42a4f8461d1b6ba321d93498b99b70a1fdc","sha256":"d93d3dc2b737c86807e6818e5a272cdd6db4f56183cd5371ae6816d4c4b320b0","sha512":"e12d20c672228965c13d1e62347a20f5886a1f324f6ef1c2f1a3b62720353d6e994b575e6e601cd69ace6edbafdb9306f1387431a676befb6169f3311c498129","ssdeep":"","tlshash":"ab41111aa5e8e673b827427dc308a27946e04d16ad0e5f9b7fddc00341c84e710765bf","first_seen":"2026-07-17T03:30:51.190808Z","last_seen":"2026-08-10T05:00:33.733124Z","times_seen":246,"resource_available":false,"data":"LndyYXBwZXItc1c4N3BRekt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDttaW4taGVpZ2h0OjE4cHg7bWluLXdpZHRoOjE4cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0uaW5wdXQtc1c4N3BRekt7Y3Vyc29yOmluaGVyaXQ7aW5zZXQ6MDttYXJnaW46MDtvcGFjaXR5OjA7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlfS5pbnB1dC1zVzg3cFF6Szpmb2N1cy12aXNpYmxlKy5mb2N1c091dGxpbmUtc1c4N3BRekt7Ym9yZGVyLXJhZGl1czoycHg7aW5zZXQ6MDtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO291dGxpbmUtb2Zmc2V0OjJweDtwb3NpdGlvbjphYnNvbHV0ZX0ucHJpbWFyeS1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItbWFyazp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcHBlci1zVzg3cFF6Szpob3Zlcjpub3QoLmRpc2FibGVkLXNXODdwUXpLKSAucHJpbWFyeS1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LndyYXBwZXItc1c4N3BReks6YWN0aXZlOm5vdCguZGlzYWJsZWQtc1c4N3BRekspIC5wcmltYXJ5LXNXODdwUXpLey0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW1lZGl1bSl9LmRhbmdlci1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveElucHV0LWNvbG9yLW1hcms6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXBwZXItc1c4N3BReks6aG92ZXI6bm90KC5kaXNhYmxlZC1zVzg3cFF6SykgLmRhbmdlci1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCl9fS53cmFwcGVyLXNXODdwUXpLOmFjdGl2ZTpub3QoLmRpc2FibGVkLXNXODdwUXpLKSAuZGFuZ2VyLXNXODdwUXpLey0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpfS52aWV3LXNXODdwUXpLe2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1ib3g6dmFyKC0tdWktbGliLWNoZWNrYm94LWNvbG9yLHZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94KSk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLW1hcms6dmFyKC0tdWktbGliLWNoZWNrYm94LW1hcmstY29sb3IsdmFyKC0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1tYXJrKSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCAVAX.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.450Z","timestamp":1785136905450,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCAVAX.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32632.596e5348a1538a18fd4e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.308Z","timestamp":1785136900308,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32632.596e5348a1538a18fd4e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: f87f7c4885f2c2865c4cd21795b1bba3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1276,"size_decoded":1216,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1276), with no line terminators","md5":"4dbd9186e797320373da6c5f9843030c","sha1":"23410205367378f1c6436025ba87050084b119a4","sha256":"7efe9b338dd4970e4b6ee84a711c1bb6cc65dad73322597e03c040abdb1fa38a","sha512":"a66b0365c81f21e82e8d510923718ce9c71b8aab5c59688e1d32283b9203b9d4b79e04b000fd34cc03234913be0c316407e1d1b9b4c6360478f73081d15595ef","ssdeep":"","tlshash":"3321dfe1e790187af8a38916a788de867158fa036713fd49f7daa80e4481d78113c34d","first_seen":"2026-07-16T13:40:49.72467Z","last_seen":"2026-08-10T05:01:44.268987Z","times_seen":1599,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdWdzMTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXVnczE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LXNwaW5uZXJ7YW5pbWF0aW9uOnR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtajRKbHJZVkggLjlzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXI6MCBzb2xpZCB2YXIoLS10di1zcGlubmVyLWNvbG9yLHZhcigtLWNvbG9yLWJyYW5kKSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Om5vbmU7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZX0udHYtc3Bpbm5lci0tc2hvd257ZGlzcGxheTpibG9ja30udHYtc3Bpbm5lci0tc2l6ZV94eHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gN3B4KTt0b3A6Y2FsYyg1MCUgLSA3cHgpO3dpZHRoOjEwcHh9LnR2LXNwaW5uZXItLXNpemVfeHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gOXB4KTt0b3A6Y2FsYyg1MCUgLSA5cHgpO3dpZHRoOjE0cHh9LnR2LXNwaW5uZXItLXNpemVfc21hbGx7Ym9yZGVyLXdpZHRoOjJweDtoZWlnaHQ6MjBweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAxMnB4KTt0b3A6Y2FsYyg1MCUgLSAxMnB4KTt3aWR0aDoyMHB4fS50di1zcGlubmVyLS1zaXplX21lZGl1bXtib3JkZXItd2lkdGg6M3B4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDE3cHgpO3RvcDpjYWxjKDUwJSAtIDE3cHgpO3dpZHRoOjI4cHh9LnR2LXNwaW5uZXItLXNpemVfbGFyZ2V7Ym9yZGVyLXdpZHRoOjRweDtoZWlnaHQ6NTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAzMnB4KTt0b3A6Y2FsYyg1MCUgLSAzMnB4KTt3aWR0aDo1NnB4fS50di1zcGlubmVyOmRpcihydGwpe2FuaW1hdGlvbjp0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKC0xdHVybil9fQ=="}},"time_used":101,"timings":{"blocked":-1,"dns":24,"connect":29,"send":0,"wait":11,"receive":-1,"ssl":24},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12385.78561ebdef05ce648b5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.272Z","timestamp":1785136901272,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12385.78561ebdef05ce648b5d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-d425\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ce2d25af07e40d29ab723b1b6d792265\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":54309,"size_decoded":5303,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (54309), with no line terminators","md5":"0c88f4a2822b7956fa6a494b66642d6b","sha1":"3d02fd6fb3670db4645274f9d9261007de2c2d4c","sha256":"34608d65050c9883ea16820ce35863032278a925ad8eb001a2b5fa65240fa0a6","sha512":"a3b3660c9b9d810cf9ca78bf392ecc0623bb244d94a7f4d7cabf1f8a56e4e640197527938f544c0d403050bd175789df4437808eec5503b5a7b07cc1a0b401b1","ssdeep":"768:DhiEt1AI8s3XbXbfLAP5xsxF6I00xXxrO/:Dhr8s3XbXbfLAP5xsxF6I00xXxrO/","tlshash":"063358abb6a1a7797b52637e5319f375b380ed7ae4733de3f050402410c69a704caa72","first_seen":"2026-07-16T13:40:49.677399Z","last_seen":"2026-08-10T05:01:44.414991Z","times_seen":726,"resource_available":false,"data":"LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYmcsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYm9yZGVyLHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXIpKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO21pbi13aWR0aDo0MHB4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1c3tvdXRsaW5lOm5vbmV9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDEwcHgpO2luc2V0LWlubGluZS1zdGFydDotNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01cHg7d2lkdGg6Y2FsYygxMDAlICsgMTBweCk7ei1pbmRleDoxfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0ubGlnaHRCdXR0b24ta2pSZlRsZngubGluay1ralJmVGxmeHtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubGlnaHRCdXR0b24ta2pSZlRsZngubHRyLWtqUmZUbGZ4e2RpcmVjdGlvbjpsdHJ9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnJ0bC1ralJmVGxmeHtkaXJlY3Rpb246cnRsfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4LC5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LW1lZGl1bTE2cHgta2pSZlRsZnh7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1yZWd1bGFyMTRweC1ralJmVGxmeCwubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE0cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNnB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5jb250ZW50LWtqUmZUbGZ4e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDowO3RleHQtYWxpZ246Y2VudGVyOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXgtd2lkdGg6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogOTk5OXB4ICsgbWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApKSAqIDBweCl9LnZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4e2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NjAwO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbn0ubm93cmFwLWtqUmZUbGZ4e2FsaWduLXNlbGY6YXV0bztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS5lbGxpcHNpc0NvbnRhaW5lci1ralJmVGxmeHtkaXNwbGF5OmluaGVyaXQ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0V3JhcENvbnRhaW5lci1ralJmVGxmeHttYXgtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykqdmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpKTtvdmVyZmxvdzpoaWRkZW47d29yZC13cmFwOmJyZWFrLXdvcmQ7dGV4dC1hbGlnbjpzdGFydDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRleHRXcmFwV2l0aEVsbGlwc2lzLWtqUmZUbGZ4e2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDp2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLWNvbnRlbnQtbWF4LWxpbmVzKTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO21heC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCkqdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykpfS5zbG90LWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uY2FyZXQta2pSZlRsZngsLnNsb3Qta2pSZlRsZng+c3Bhbltyb2xlPWltZ117ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowfS5jYXJldC1ralJmVGxmeHttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHg7bWluLWhlaWdodDoxOHB4O21pbi13aWR0aDoxOHB4fS5hY3RpdmVDYXJldC1ralJmVGxmeHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmFjdGl2ZUNhcmV0LWtqUmZUbGZ4OmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmNhcmV0LWtqUmZUbGZ4Om5vdCg6bGFzdC1jaGlsZCksLmNvbnRlbnQta2pSZlRsZng6bm90KDpsYXN0LWNoaWxkKSwuc2xvdC1ralJmVGxmeDpub3QoOmxhc3QtY2hpbGQpey0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXJnaW4taW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiA0cHggKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ueHNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS54c21hbGwta2pSZlRsZng6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxMHB4fS54c21hbGwta2pSZlRsZngud2l0aFN0YXJ0U2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDo3cHh9LnhzbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS54c21hbGwta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjRweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ueHNtYWxsLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoyOHB4fS54c21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDozNHB4O21pbi13aWR0aDozNHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS5zbWFsbC1ralJmVGxmeDphZnRlcntib3JkZXItcmFkaXVzOjEwcHh9LnNtYWxsLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC5ub0NvbnRlbnQta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MnB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoycHg7cGFkZGluZy1pbmxpbmUtZW5kOm1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksMnB4KTtwYWRkaW5nLWlubGluZS1zdGFydDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwycHgpfS5zbWFsbC1ralJmVGxmeC53cmFwLWtqUmZUbGZ4e2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MzRweH0uc21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9Lm1lZGl1bS1ralJmVGxmeHtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6NDBweDttaW4td2lkdGg6NDBweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLXN0YXJ0LWRlZmF1bHQ6MDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1ibG9jay1lbmQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTtwYWRkaW5nLWJsb2NrLWVuZDowO3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogbWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCwgdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ubWVkaXVtLWtqUmZUbGZ4OmFmdGVye2JvcmRlci1yYWRpdXM6MTJweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MTFweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhFbmRTbG90LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxMXB4fS5tZWRpdW0ta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjVweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NXB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ubWVkaXVtLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo0MHB4fS5tZWRpdW0ta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9fS5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWjphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpfS5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpfX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX19LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKX19fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcil9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCl9Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCl9fX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23624.d2390d17b1509b018826.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.420Z","timestamp":1785136901420,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23624.d2390d17b1509b018826.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1547\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: fc4dd695d16f69214ead55f837712614\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5447,"size_decoded":2078,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5447), with no line terminators","md5":"2c33d31c563e23c31e00293508a0185a","sha1":"a5929dabb129340cfe8b787016b307911e1a3454","sha256":"4ce18d9026cee0619db0fe37daf10d2562a6a41648d0baaf2fbabedd6997ad8f","sha512":"f18b23e71681a5a8a3059d3ca0acc71b714119f95515c18cfb29123816bbf4e158126f7a947ff798c18080ee07ba20b1af9d063e587477bf46de561078ce9fc7","ssdeep":"96:DP5k+VoSKKEKgnKzKvKzKLKIKLKIKhK2nZjBCmVcKEKpVcKEKPK2XIKvmK2XIKv+:9kingKuiuWTWTw2ZXnrnCOtOTLK54WSS","tlshash":"ffb1df88e1cf773e2a3bb9295308e1dc97076780ea421be5bf61e25625cdbc651f5c08","first_seen":"2026-07-16T13:40:49.85665Z","last_seen":"2026-08-10T05:01:44.335118Z","times_seen":582,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQU1UbDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1BTVRsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5pdGVtLU1pMF90NXVOe2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlcjowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpyb3cgbm93cmFwO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctYmxvY2s6MnB4IDJweDtwYWRkaW5nLWlubGluZTo4cHggMTBweDt0cmFuc2l0aW9uLXByb3BlcnR5Om5vbmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCV9Lml0ZW0tTWkwX3Q1dU4uaG92ZXJlZC1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1TjphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Tjpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLU1pMF90NXVOLmhvdmVyZWQtTWkwX3Q1dU57YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tTWkwX3Q1dU57b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9Lml0ZW0tTWkwX3Q1dU46Zm9jdXN7b3V0bGluZTpub25lfS5pdGVtLU1pMF90NXVOOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5pdGVtLU1pMF90NXVOOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlIC0gNHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6MnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpO3otaW5kZXg6MX0uaXRlbS1NaTBfdDV1Tjpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5pdGVtLU1pMF90NXVOOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaXRlbS1NaTBfdDV1Tjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uaXRlbS1NaTBfdDV1TjphZnRlcntib3JkZXItcmFkaXVzOjlweH0uaXRlbS1NaTBfdDV1TjphZnRlcixodG1sLnRoZW1lLWRhcmsgLml0ZW0tTWkwX3Q1dU46YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSl9Lml0ZW0tTWkwX3Q1dU4uaXNEaXNhYmxlZC1NaTBfdDV1TntjdXJzb3I6ZGVmYXVsdDtvcGFjaXR5Oi41fS5pdGVtLU1pMF90NXVOLmlzRGlzYWJsZWQtTWkwX3Q1dU4sLml0ZW0tTWkwX3Q1dU4uaXNEaXNhYmxlZC1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOLmlzRGlzYWJsZWQtTWkwX3Q1dU46aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1pbnZlcnNlKX0uaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1Tjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC5zaG9ydGN1dC1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TjphY3RpdmUgLnNob3J0Y3V0LU1pMF90NXVOe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1Tjpob3ZlciAuc2hvcnRjdXQtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU4sLml0ZW0tTWkwX3Q1dU4uaXNBY3RpdmUtTWkwX3Q1dU46YWN0aXZlIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOOmhvdmVyIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLU1pMF90NXVOOmJlZm9yZXtjb250ZW50OiIgIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4fS53aXRoSWNvbi1NaTBfdDV1TntwYWRkaW5nLWJvdHRvbTo2cHg7cGFkZGluZy10b3A6NnB4fS5yb3VuZC1pY29uLU1pMF90NXVOe2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OmhpZGRlbn0uaWNvbi1NaTBfdDV1Tiwuc3RhcnRTbG90LU1pMF90NXVOe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtZW5kOjZweDttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHh9Lmljb24tTWkwX3Q1dU4gc3Zne2Rpc3BsYXk6YmxvY2t9LmxhYmVsUm93LU1pMF90NXVOe2FsaWduLWl0ZW1zOmJhc2VsaW5lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleDowIDEgMTAwJTtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7cGFkZGluZy1pbmxpbmUtZW5kOjEycHh9LmxhYmVsUm93LU1pMF90NXVOOmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWxSb3ctTWkwX3Q1dU46bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6NHB4fS5sYWJlbC1NaTBfdDV1TntkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bzttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnNob3J0Y3V0LU1pMF90NXVOe2ZvbnQtc2l6ZToxMnB4O21hcmdpbi1pbmxpbmUtZW5kOjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjU4cHg7dGV4dC1hbGlnbjplbmR9Lml0ZW0tTWkwX3Q1dU4uaXRlbS1NaTBfdDV1Tjpub3QoLmlzQWN0aXZlLU1pMF90NXVOKSAuc2hvcnRjdXQtTWkwX3Q1dU57Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpKX0uaXRlbS1NaTBfdDV1Ti5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC5zaG9ydGN1dC1NaTBfdDV1Tntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dCx2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKSl9LnRvb2xib3gtTWkwX3Q1dU57YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5mZWF0dXJlLW5vLXRvdWNoIC50b29sYm94LU1pMF90NXVOLnNob3dPbkhvdmVyLU1pMF90NXVOe29wYWNpdHk6MH0udG9vbGJveC1NaTBfdDV1Tj46bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey50b29sYm94LU1pMF90NXVOPjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjhweH19LmRpc2Nsb3N1cmUtaXRlbS1jaXJjbGUtbG9nby1NaTBfdDV1TntmbGV4LXNocmluazowO21hcmdpbi1pbmxpbmUtZW5kOjZweH0uZmVhdHVyZS1uby10b3VjaCAuaXRlbS1NaTBfdDV1Tjpmb2N1cy12aXNpYmxlIC50b29sYm94LU1pMF90NXVOLnNob3dPbkZvY3VzLU1pMF90NXVOe29wYWNpdHk6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZlYXR1cmUtbm8tdG91Y2ggLml0ZW0tTWkwX3Q1dU46aG92ZXIgLnRvb2xib3gtTWkwX3Q1dU4uc2hvd09uSG92ZXItTWkwX3Q1dU57b3BhY2l0eToxfX0uZmVhdHVyZS1uby10b3VjaCAuaXRlbS1NaTBfdDV1TjpoYXMoOmZvY3VzLXZpc2libGUpIC50b29sYm94LU1pMF90NXVOLnNob3dPbkZvY3VzLU1pMF90NXVOe29wYWNpdHk6MX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83041.9c545f9868204c7700f2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.868Z","timestamp":1785136901868,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83041.9c545f9868204c7700f2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-8a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ca2d9b5e394957819b35c7ca37f59dcf\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":138,"size_decoded":890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"c3173b693b4fb2e1f5f6b77cfd60af3b","sha1":"a175181620523c8f8d34c629bd56a1366f38b718","sha256":"fe910ab647b1d1c45eaf208d85b6224b9ab6a4815880a67ab39d801af5e3d100","sha512":"55757fa16faa58c1bd2e6bf0cae13823977f47efc188dded627421ba751306f658f1aa2a880ce85cc5ab746ce99c7a3f62df4d1f2024e25614b2732afe7c9b8a","ssdeep":"","tlshash":"bdc08c224a033e0c8720daa0af301b5880c090528142408e80052a2b40c918a18b1788","first_seen":"2026-07-19T14:58:49.136091Z","last_seen":"2026-08-10T05:01:44.472407Z","times_seen":156,"resource_available":false,"data":"LndyYXAtalBJYU84SHV7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6MnB4O3dpZHRoOjI4cHh9"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47092.c57238934a2f7a36a0c0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.878Z","timestamp":1785136901878,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/47092.c57238934a2f7a36a0c0.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-b9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ff6aac870e97b887daba03697906accd\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":185,"size_decoded":890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"24e74681705029f86b9d87bedc027aa5","sha1":"fe1386df90ebe4f07b9dff456b94337a883095c2","sha256":"202296674a1e160a78b7c4b60243b3ee3e435038df80806234e5d0c7ba5a45de","sha512":"c796dea4f074dc6dc1ce415b6f58c1074ecef040f75963d77b501466b6c7d01c2df3dd3c2c6f8a0aafe54ae942c597af1ff7e5a4e44fb78d5a1cc675f07e3206","ssdeep":"","tlshash":"9dc0121255062d0ac4a756a27971259410705417ad336d3fe17c3b314daa6c9299e586","first_seen":"2026-07-19T21:33:33.838584Z","last_seen":"2026-08-10T05:00:33.778624Z","times_seen":113,"resource_available":false,"data":"LmludGVyc2VjdGlvblpvbmUtRUlWMl9SZDB7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MH0uaW50ZXJzZWN0aW9uRGV0ZWN0b3ItRUlWMl9SZDB7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQtRUlWMl9SZDB7aW5zZXQtaW5saW5lLXN0YXJ0OjB9LnJpZ2h0LUVJVjJfUmQwe2luc2V0LWlubGluZS1lbmQ6MH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCPEPE.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.480Z","timestamp":1785136905480,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCPEPE.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/css/style.css","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.491Z","timestamp":1785136899491,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /css/style.css HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/css\r\nContent-Length: 86033\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":86033,"size_decoded":86243,"mime_type":"text/css","magic":"assembler source, ASCII text","md5":"34ab911dbd0cf993926fef984fee4382","sha1":"92695c0c3a673032d5c2abf0a80bfc90c0467483","sha256":"978a9ecee9addd99287df8284c2c3dd9cb6aa917ed05d322b0e835f893e19579","sha512":"1945f738b8deba1f26991c0886b807344b7792ce33968dc3abf8b689aa6f5dad21454da3117db77ab1ce09e6c86d3bcfb1332d1c20e35f812f304739dab184f8","ssdeep":"1536:aIWLtVV8yuJyu1HkLYKy9ca5Dyu6Ep7LroD2/oRLApt:30LMca5OOpt","tlshash":"688395a55af30944b01bc5a86bee9314333c8053d51fcdacbb8e76448f4a79c91a7f89","first_seen":"2025-03-09T03:12:43.685148Z","last_seen":"2026-07-27T08:27:57.330211Z","times_seen":7,"resource_available":false,"data":"Lyo9PT09PT09PT09PT09PT09CiBUZW1wbGF0ZSBOYW1lOiBDb3Jwb3JYIENvcnBvcmF0ZSBhbmQgQnVzaW5lc3MgSFRNTCBUZW1wbGF0ZQogRGVzY3JpcHRpb246IEFsbCB0eXBlIG9mIGNvcnBvcmF0ZSBidXNpbmVzcyB3aXRoIG1hcmtldGluZyBhbmQgYWdlbmN5IHRlbXBsYXRlLgogVmVyc2lvbjogMS4wCiBBdXRob3I6IGh0dHBzOi8vdGhlbWVmb3Jlc3QubmV0L3VzZXIvdGhlbWV0YWdzCj09PT09PT09PT09PT09PT09PT09PT09Ki8KCi8qVEFCTEUgT0YgQ09OVEVOVFMqLwoKLyo9PT09PT09PT09PT09PT09PT09PT0KMDEuIFJFU0VUIENTUwowMi4gQkFTRSBUWVBPR1JBUEhZCjAzLiBQUkUgREVGSU5FIENMQVNTIENTUwowNC4gSEVBREVSIENTUwowNS4gSEVSTyBTRUNUSU9OIENTUwowNi4gQ0VPIE1FU1NBR0UgU0VDVElPTiBDU1MKMDcuIEZFQVRVUkUgU0VDVElPTiBDU1MKMDguIFBST0dSRVNTQkFSIENTUwowOS4gQ09SRSBJREVBIENTUwoxMC4gTUFJTiBTRVJWSUNFUyBDU1MKMTEuIFBPUlRGT0xJTyBDU1MKMTIuIEJMT0cgU0VDVElPTiBDU1MKMTMuIFdPUksgUFJPQ0VTUyBDU1MKMTQuIENPVU5URVIgU0VDVElPTiBDU1MKMTUuIFRBQlMgU0VDVElPTiBDU1MKMTYuIFRFQU0gU0VDVElPTiBDU1MKMTcuIFZJREVPIFBST01PIENTUwoxOC4gUFJPTU8gQkxPQ0sgV0lUSCBIT1ZFUiBCRyBJTUFHRQoxOS4gVEVTVElNT05JQUwgQ1NTCjIwLiBTVUJTQ1JJQkUgRk9STSBDU1MKMjEuIEFDQ09SRElPTiBGQVEgQ1NTCjIyLiBDT05URU5UIEJPWCBDU1MKMjMuIFBSSUNJTkcgQ1NTCjI0LiBTSU5HTEUgUEFHRSBIRUFERVIgQ1NTCjI1LiBDT05UQUNUIFVTIENTUwoyNi4gRk9PVEVSIENTUwoyNy4gUFJFTE9BREVSIENTUwoyOC4gQkxPRyBQQUdFIENTUwoyOS4gQkFDSyBUTyBUT1AgQ1NTCj09PT09PT09PT09PT09PT09PT09PT09Ki8KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJCSAgIDAxLiBSRVNFVCBDU1MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvCiAgIHYyLjAgfCAyMDExMDEyNgogICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKQoqLwoKaHRtbCwKYm9keSwKZGl2LApzcGFuLAphcHBsZXQsCm9iamVjdCwKaWZyYW1lLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApwLApibG9ja3F1b3RlLApwcmUsCmEsCmFiYnIsCmFjcm9ueW0sCmFkZHJlc3MsCmJpZywKY2l0ZSwKY29kZSwKZGVsLApkZm4sCmVtLAppbWcsCmlucywKa2JkLApxLApzLApzYW1wLApzbWFsbCwKc3RyaWtlLApzdHJvbmcsCnN1YiwKc3VwLAp0dCwKdmFyLApiLAp1LAppLApjZW50ZXIsCmRsLApkdCwKZGQsCm9sLAp1bCwKbGksCmZpZWxkc2V0LApmb3JtLApsYWJlbCwKbGVnZW5kLAp0YWJsZSwKY2FwdGlvbiwKdGJvZHksCnRmb290LAp0aGVhZCwKdHIsCnRoLAp0ZCwKYXJ0aWNsZSwKYXNpZGUsCmNhbnZhcywKZGV0YWlscywKZW1iZWQsCmZpZ3VyZSwKZmlnY2FwdGlvbiwKZm9vdGVyLApoZWFkZXIsCmhncm91cCwKbWVudSwKbmF2LApvdXRwdXQsCnJ1YnksCnNlY3Rpb24sCnN1bW1hcnksCnRpbWUsCm1hcmssCmF1ZGlvLAp2aWRlbyB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgYm9yZGVyOiAwOwogICAgZm9udC1zaXplOiAxMDAlOwogICAgZm9udDogaW5oZXJpdDsKICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQoKLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqLwoKYXJ0aWNsZSwKYXNpZGUsCmRldGFpbHMsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApoZWFkZXIsCmhncm91cCwKbWVudSwKbmF2LApzZWN0aW9uIHsKICAgIGRpc3BsYXk6IGJsb2NrOwp9Cgpib2R5IHsKICAgIGxpbmUtaGVpZ2h0OiAxOwp9CgpvbCwKdWwgewogICAgbGlzdC1zdHlsZTogbm9uZTsKfQoKYmxvY2txdW90ZSwKcSB7CiAgICBxdW90ZXM6IG5vbmU7Cn0KCmJsb2NrcXVvdGU6YmVmb3JlLApibG9ja3F1b3RlOmFmdGVyLApxOmJlZm9yZSwKcTphZnRlciB7CiAgICBjb250ZW50OiAnJzsKICAgIGNvbnRlbnQ6IG5vbmU7Cn0KCnRhYmxlIHsKICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICBib3JkZXItc3BhY2luZzogMDsKfQoKaHRtbCB7CiAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICBmb250LXNpemU6IDE1cHg7Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICAgMDIuIEJBU0UgVFlQT0dSQVBIWQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKYm9keSwKaDEsCi5oMSwKaDIsCi5oMiwKaDMsCi5oMywKaDQsCi5oNCwKaDUsCi5oNSwKaDYsCi5oNiwKcCwKLm5hdmJhciwKLmJyYW5kLAouYnRuLAouYnRuLXNpbXBsZSwKYSwKLnRkLW5hbWUsCnRkIHsKICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKfQoKYm9keSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwogICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxcmVtOwogICAgY29sb3I6ICM3MDcwNzA7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzU7Cn0KCnA6bm90KDpsYXN0LWNoaWxkKSB7CiAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07Cn0KCmgxLApoMiwKaDMsCmg0LApoNSB7CiAgICBtYXJnaW46IDAgMCAxcmVtOwogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsaW5lLWhlaWdodDogMS4yMTsKICAgIGNvbG9yOiBpbml0aWFsOwp9CgpoMSB7CiAgICBtYXJnaW4tdG9wOiAwOwogICAgZm9udC1zaXplOiAzLjA1MmVtOwp9CgpoMiB7CiAgICBmb250LXNpemU6IDIuNDQxZW07Cn0KCmgzIHsKICAgIGZvbnQtc2l6ZTogMS45NTNlbTsKfQoKaDQgewogICAgZm9udC1zaXplOiAxLjU2M2VtOwp9CgpoNSB7CiAgICBmb250LXNpemU6IDEuMjVlbTsKfQoKc21hbGwsCi50ZXh0X3NtYWxsIHsKICAgIGZvbnQtc2l6ZTogMC44ZW07Cn0KCnN0cm9uZywKYiB7CiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7CiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwp9CgouYmFkZ2UgewogICAgZGlzcGxheTogaW5saW5lOwogICAgcGFkZGluZzogMC4yMHJlbSAuNXJlbTsKICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OwogICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogNzclOwp9CgouYmFkZ2UtcGlsbCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAuODc1ZW07CiAgICBwYWRkaW5nLWxlZnQ6IC44NzVlbTsKICAgIGJvcmRlci1yYWRpdXM6IDUwcmVtOwp9CgouY3VzdG9tLXJhZGl1cyB7CiAgICBib3JkZXItcmFkaXVzOiAxNXB4Owp9CgovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAwMy4gUFJFIERFRklORSBDTEFTUyBDU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCi5wdGItMTAwIHsKICAgIHBhZGRpbmc6IDEwMHB4IDA7Cn0KCi5wdC0xMDAgewogICAgcGFkZGluZy10b3A6IDEwMHB4Owp9CgoucHQtMTY1IHsKICAgIHBhZGRpbmctdG9wOiAxNjVweDsKfQoKLnBiLTEwMCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7Cn0KCi5tdC0tMTY1IHsKICAgIG1hcmdpbi10b3A6IC0xNjVweCAhaW1wb3J0YW50Owp9CgouZ3JheS1saWdodC1iZyB7CiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2Owp9CgoucHJpbWFyeS1iZyB7CiAgICBiYWNrZ3JvdW5kOiAjMUEyQzc5Owp9Cgouc2Vjb25kYXJ5LWJnIHsKICAgIGJhY2tncm91bmQ6ICMwMDdjYzUKfQoKLmNvbG9yLXByaW1hcnkgewogICAgY29sb3I6ICMxQTJDNzk7Cn0KCi5jb2xvci1zZWNvbmRhcnkgewogICAgY29sb3I6ICMwMDdjYzU7Cn0KCi5ncmFkaWVudC1iZyB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNzVkZWcsICMxQTJDNzkgMTAlLCAjMDA3Y2M1KSAhaW1wb3J0YW50Owp9Cgoud2hpdGUtYmcgewogICAgYmFja2dyb3VuZDogI2ZmZmZmZjsKfQoKYSB7CiAgICBjb2xvcjogIzFBMkM3OTsKfQoKYTpob3ZlciB7CiAgICBjb2xvcjogIzAwN2NjNTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLmNvbG9yLTEgewogICAgY29sb3I6ICNmZjE2NGU7Cn0KCi5jb2xvci0xLWJnIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyMiwgNzgsIDAuMTUpOwp9CgouY29sb3ItMiB7CiAgICBjb2xvcjogIzAwN2NjNQp9CgouY29sb3ItMi1iZyB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0NSwgMzUsIDI1NSwgMC4xNSk7Cn0KCi5jb2xvci0zIHsKICAgIGNvbG9yOiAjMUEyQzc5Owp9CgouY29sb3ItMy1iZyB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDExNSwgMjM2LCAwLjE1KTsKfQoKLmNvbG9yLTQsCi5yYXR0aW5nLWNvbG9yIHsKICAgIGNvbG9yOiAjZmY3YzNmOwp9CgouY29sb3ItNC1iZyB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTI0LCA2MywgMC4xNSk7Cn0KCi5jb2xvci01LAouc3VjY2Vzcy1jb2xvciB7CiAgICBjb2xvcjogIzJlYmY2ZDsKfQoKLmNvbG9yLTUtYmcgewogICAgYmFja2dyb3VuZDogcmdiYSg0NiwgMTkxLCAxMDksIDAuMTUpOwp9CgouY29sb3ItNiB7CiAgICBjb2xvcjogI2YyNWM3ZjsKfQoKLmNvbG9yLTYtYmcgewogICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDkyLCAxMjcsIDAuMTUpOwp9CgouYW5pbWF0ZWQtYnRuIHsKICAgIHRyYW5zaXRpb246IGFsbCAuMjVzIGVhc2UtaW4tb3V0Owp9CgouYW5pbWF0ZWQtYnRuOmhvdmVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0zcHgpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtM3B4KTsKfQoKLm91dGxpbmUtYnRuLAouc2Vjb25kYXJ5LXNvbGlkLWJ0biwKLnByaW1hcnktc29saWQtYnRuLAouc29saWQtd2hpdGUtYnRuLAoub3V0bGluZS13aGl0ZS1idG4sCi5zZWNvbmRhcnktb3V0bGluZS1idG4gewogICAgcGFkZGluZzogMTJweCAzMHB4OwogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlLWluLW91dDsKfQoKLnByaW1hcnktc29saWQtYnRuIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMxQTJDNzk7CiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIC4xNSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMUEyQzc5LCAjMGUyMDZkKTsKICAgIGNvbG9yOiAjZmZmZmZmOwp9CgoucHJpbWFyeS1zb2xpZC1idG46aG92ZXIgewogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBjb2xvcjogIzFBMkM3OTsKfQoKLnNlY29uZGFyeS1zb2xpZC1idG4gewogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kOiAjMDA3Y2M1OwogICAgYm9yZGVyOiAxcHggc29saWQgIzAwN2NjNTsKfQoKLnNlY29uZGFyeS1zb2xpZC1idG46aG92ZXIgewogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBjb2xvcjogIzAwN2NjNTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi5zZWNvbmRhcnktb3V0bGluZS1idG4gewogICAgY29sb3I6ICMwMDdjYzU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA3Y2M1Cn0KCi5zZWNvbmRhcnktb3V0bGluZS1idG46aG92ZXIgewogICAgYmFja2dyb3VuZDogIzAwN2NjNTsKICAgIGNvbG9yOiAjZmZmZmZmOwp9Cgoub3V0bGluZS1idG4gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgY29sb3I6ICMxQTJDNzk7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMUEyQzc5Owp9Cgoub3V0bGluZS1idG46YWZ0ZXIgewogICAgY29udGVudDogIiAiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAtMXB4OwogICAgbGVmdDogLTFweDsKICAgIGJvdHRvbTogLTFweDsKICAgIHJpZ2h0OiAtMXB4OwogICAgei1pbmRleDogLTE7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNpdGlvbjogNDAwbXM7CiAgICB0ZXh0LXNoYWRvdzogMCAwLjVweCAwLjNweCByZ2JhKDAsIDAsIDAsIC4xKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMxQTJDNzksICMwZTIwNmQpOwp9Cgoub3V0bGluZS1idG46aG92ZXI6YWZ0ZXIgewogICAgb3BhY2l0eTogMTsKfQoKLm91dGxpbmUtYnRuOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzFBMkM3OSwgIzBlMjA2ZCk7Cn0KCi5wcmltYXJ5LWJnIGgxLAoucHJpbWFyeS1iZyBwIHsKICAgIGNvbG9yOiAjZmZmOwp9Cgouc29saWQtd2hpdGUtYnRuIHsKICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7CiAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7CiAgICBjb2xvcjogIzFBMkM3OTsKfQoKLnNvbGlkLXdoaXRlLWJ0bjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiAjZmZmZmZmOwp9Cgoub3V0bGluZS13aGl0ZS1idG4gewogICAgY29sb3I6ICNmZmZmZmY7CiAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7Cn0KCi5vdXRsaW5lLXdoaXRlLWJ0bjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwogICAgY29sb3I6ICMxQTJDNzk7Cn0KCi8qaWNvbiBzaXplKi8KCi5pY29uLXNtIHsKICAgIGZvbnQtc2l6ZTogMjVweDsKICAgIGxpbmUtaGVpZ2h0OiAyNXB4Owp9CgouaWNvbi1tZCB7CiAgICBmb250LXNpemU6IDQwcHg7CiAgICBsaW5lLWhlaWdodDogNDBweDsKfQoKLmljb24tbGcgewogICAgZm9udC1zaXplOiA1MHB4OwogICAgbGluZS1oZWlnaHQ6IDUwcHg7Cn0KCi8qZm9ybSBmaWVsZCBjc3MqLwoKLmZvcm0tY29udHJvbCB7CiAgICBib3JkZXItY29sb3I6ICNlYmViZWI7CiAgICBwYWRkaW5nOiAuNzVyZW0gMC44NXJlbTsKICAgIGhlaWdodDogY2FsYygyLjU2ZW0gKyAuNzVyZW0gKyAycHgpOwp9CgouZm9ybS1jb250cm9sOmZvY3VzIHsKICAgIG91dGxpbmU6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOwp9CgppbnB1dFt0eXBlXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwKdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsCnNlbGVjdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwKc2VsZWN0LmZvcm0tY29udHJvbC5oYXMtdmFsdWUgewogICAgY29sb3I6ICNiMWIxYjEgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMTNweDsKfQoKaW5wdXRbdHlwZV06LW1vei1wbGFjZWhvbGRlciwKdGV4dGFyZWE6LW1vei1wbGFjZWhvbGRlciwKc2VsZWN0Oi1tb3otcGxhY2Vob2xkZXIsCnNlbGVjdC5mb3JtLWNvbnRyb2wuaGFzLXZhbHVlIHsKICAgIC8qIEZpcmVmb3ggMTgtICovCiAgICBjb2xvcjogI2IxYjFiMTsKICAgIGZvbnQtc2l6ZTogMTNweDsKfQoKaW5wdXRbdHlwZV06Oi1tb3otcGxhY2Vob2xkZXIsCnRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyLApzZWxlY3Q6Oi1tb3otcGxhY2Vob2xkZXIsCnNlbGVjdC5mb3JtLWNvbnRyb2wuaGFzLXZhbHVlIHsKICAgIC8qIEZpcmVmb3ggMTkrICovCiAgICBjb2xvcjogI2IxYjFiMTsKICAgIGZvbnQtc2l6ZTogMTNweDsKfQoKaW5wdXRbdHlwZV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLAp0ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsCnNlbGVjdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsCnNlbGVjdC5mb3JtLWNvbnRyb2wuaGFzLXZhbHVlIHsKICAgIGNvbG9yOiAjYjFiMWIxOwogICAgZm9udC1zaXplOiAxM3B4Owp9CgpzZWxlY3QuZm9ybS1jb250cm9sLmhhcy12YWx1ZSB7CiAgICBoZWlnaHQ6IDUycHg7Cn0KCi5zZWN0aW9uLWhlYWRpbmcgaDIgc3BhbiB7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1zaXplOiAycmVtOwp9Cgouei1pbmRleCB7CiAgICB6LWluZGV4OiA5Owp9CgouaGVpZ2h0LWxnLTEwMHZoIHsKICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwp9CgpAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHsKICAgIC5oZWlnaHQtbGctMTAwdmggewogICAgICAgIGhlaWdodDogYXV0bzsKICAgIH0KfQoKLmN1c3RvbS1iYWRnZSB7CiAgICB0b3A6IDUlOwogICAgcmlnaHQ6IDglOwp9CgouaW1hZ2Utd3JhcCBpbWcgewogICAgZGlzcGxheTogYmxvY2s7Cn0KCi8qYXBwIGRvd25sb2FkIGJ0biovCgouYXBwLWRvd25sb2FkLWxpc3QgbGkgYSB7CiAgICBwYWRkaW5nOiAxMHB4IDIycHg7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxpbmUtaGVpZ2h0OiAxNXB4Owp9CgouZG93bmxvYWQtdGV4dCBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMTNweDsKfQoKLmRvd25sb2FkLXRleHQgaDUgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6IGluaGVyaXQ7Cn0KCi5hcHAtZG93bmxvYWQtbGlzdCBsaSBhOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMxQTJDNzk7CiAgICBjb2xvcjogI0ZGRkZGRjsKICAgIGJvcmRlci1jb2xvcjogIzFBMkM3OSAhaW1wb3J0YW50Owp9CgovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgIDA0LiBIRUFERVIgQ1NTCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCi5hZmZpeCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUEyQzc5OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBwYWRkaW5nIDAuNHMgZWFzZS1vdXQ7CiAgICAtbW96LXRyYW5zaXRpb246IHBhZGRpbmcgMC40cyBlYXNlLW91dDsKICAgIC1vLXRyYW5zaXRpb246IHBhZGRpbmcgMC40cyBlYXNlLW91dDsKICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC40cyBlYXNlLW91dDsKfQoKLypoZWFkZXIgdG9wYmFyKi8KCi50b3BiYXItdGV4dCB1bCBsaSB7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKfQoKLnRvcGJhci10ZXh0IHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkgewogICAgbWFyZ2luLXJpZ2h0OiAyMHB4Owp9CgoudG9wYmFyLXRleHQgdWwgbGkgc3Ryb25nIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KCi50b3BiYXItdGV4dCB1bCBsaSBhIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGNvbG9yOiBpbmhlcml0Owp9CgoudG9wYmFyLXRleHQgdWwgbGkgYTpob3ZlciB7CiAgICBjb2xvcjogIzAwN2NjNTsKfQoKLmdyYWRpZW50LWJnIC50b3BiYXItdGV4dCB1bCBsaSwKLmdyYWRpZW50LWJnIC50b3BiYXItdGV4dCB1bCBsaSBhIHsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgb3BhY2l0eTogMC44Owp9CgouZ3JhZGllbnQtYmcgLnRvcGJhci10ZXh0IHVsIGxpIGE6aG92ZXIgewogICAgb3BhY2l0eTogMTsKfQoKLnRvcGJhci10ZXh0IHVsIGxpIHNwYW4gewogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLndoaXRlLWJnLmFmZml4LAouY3VzdG9tLW5hdi5hZmZpeCB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7Cn0KCi5maXhlZC10b3AgewogICAgdG9wOiBhdXRvOwp9CgouZml4ZWQtdG9wLmFmZml4IHsKICAgIHRvcDogMDsKfQoKLndoaXRlLWJnLmN1c3RvbS1uYXYgdWwgbGkgYTpob3ZlciB7CiAgICBvcGFjaXR5OiAxOwp9CgouYmctdHJhbnNwYXJlbnQgdWwgbGkgYSB7CiAgICBjb2xvcjogI2ZmZmZmZjsKICAgIG9wYWNpdHk6IDAuNzsKfQoKLmJnLXRyYW5zcGFyZW50IHVsIGxpIGE6aG92ZXIsCi53aGl0ZS1iZy5hZmZpeCB1bCBsaSBhOmhvdmVyIHsKICAgIG9wYWNpdHk6IDE7Cn0KCi5iZy10cmFuc3BhcmVudC5hZmZpeCB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNzVkZWcsICMxQTJDNzkgMTAlLCAjMDA3Y2M1KSAhaW1wb3J0YW50Owp9CgoubmF2YmFyLXRvZ2dsZXIgewogICAgY29sb3I6ICNmZmZmZmY7Cn0KCi8qbWFpbiBtZW51IG5ldyBzdHlsZSovCgouaGVhZGVyIG5hdi5uYXZiYXIgewogICAgcGFkZGluZzogMC4zcmVtIDFyZW07CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0Owp9CgouaGVhZGVyIG5hdi5uYXZiYXIuYWZmaXggewogICAgcGFkZGluZzogMCAxcmVtOwp9CgoubmF2YmFyLWJyYW5kIHsKICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgIGhlaWdodDogYXV0bzsKICAgIG1hcmdpbi1ib3R0b206IC04cHg7Cn0KCi5tZW51IHsKICAgIGRpc3BsYXk6IGJsb2NrOwp9CgoubWVudSBsaSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5tZW51IGxpOmZpcnN0LWNoaWxkIHsKICAgIG1hcmdpbi1sZWZ0OiAwOwp9CgoubWVudSBsaSBhIHsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgcGFkZGluZzogMjBweCAxNXB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKICAgIGNvbG9yOiAjMzUzNTM1OwogICAgb3BhY2l0eTogMC44Owp9Cgoud2hpdGUtYmc+Lm1lbnUgbGkgYSB7CiAgICBjb2xvcjogIzA4MWQ0MyAhaW1wb3J0YW50Owp9CgoubWVudSBsaSBhOmhvdmVyLAoubWVudSBsaTpob3Zlcj5hIHsKICAgIG9wYWNpdHk6IDE7Cn0KCi5tZW51IHVsIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIG9wYWNpdHk6IDA7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgd2lkdGg6IDIwMHB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICB6LWluZGV4OiA5OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMjBweCk7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA0cHggMTBweCByZ2JhKDAsIDAsIDAsIC4xNSk7CiAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IHJnYmEoMCwgMCwgMCwgLjE1KTsKfQoKLm1lbnUgdWw6YWZ0ZXIgewogICAgYm90dG9tOiAxMDAlOwogICAgbGVmdDogMzVweDsKICAgIGNvbnRlbnQ6ICIgIjsKICAgIGhlaWdodDogMDsKICAgIHdpZHRoOiAwOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7CiAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsKICAgIGJvcmRlci13aWR0aDogOHB4OwogICAgbWFyZ2luLWxlZnQ6IC04cHg7Cn0KCi5tZW51IGxpIGEuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBsZWZ0OiAycHg7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9CgoubWVudSB1bCBsaSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZsb2F0OiBub25lOwogICAgYmFja2dyb3VuZDogbm9uZTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDA7Cn0KCi5tZW51IHVsIGxpIGEgewogICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7CiAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBjb2xvcjogIzQyNDE0MTsKICAgIHBhZGRpbmc6IDhweCAxNXB4OwogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKfQoKLm1lbnUgdWwgbGkgYTpob3ZlciwKLm1lbnUgdWwgbGk6aG92ZXI+YSB7CiAgICBjb2xvcjogI2ZmZmZmZjsKICAgIGJhY2tncm91bmQ6ICMxQTJDNzk7Cn0KCi5tZW51IHVsLnN1Yi1tZW51IGxpOmZpcnN0LWNoaWxkIGE6aG92ZXIsCi5tZW51IHVsLnN1Yi1tZW51IGxpOmxhc3QtY2hpbGQgdWwgbGk6Zmlyc3QtY2hpbGQgYTpob3ZlciB7CiAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsKfQoKLm1lbnUgdWwuc3ViLW1lbnUgbGk6bGFzdC1jaGlsZCBhOmhvdmVyLAoubWVudSB1bC5zdWItbWVudSBsaTpsYXN0LWNoaWxkIHVsIGxpOmxhc3QtY2hpbGQgYTpob3ZlciB7CiAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsKfQoKLm1lbnUgdWwuc3ViLW1lbnUgbGk6bGFzdC1jaGlsZCB1bCBsaSBhOmhvdmVyIHsKICAgIGJvcmRlci1yYWRpdXM6IDA7Cn0KCi5tZW51IGxpOmhvdmVyPnVsIHsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7Cn0KCi5tZW51IHVsIHVsIHsKICAgIGxlZnQ6IDIwMHB4OwogICAgdG9wOiAwOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDIwcHgsIDIwcHgpOwogICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7Cn0KCi5tZW51IHVsLnN1Yi1tZW51IHVsOmFmdGVyIHsKICAgIGxlZnQ6IC04cHg7CiAgICB0b3A6IDEwcHg7CiAgICBjb250ZW50OiAiICI7CiAgICBoZWlnaHQ6IDA7CiAgICB3aWR0aDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOwogICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlci13aWR0aDogOHB4Owp9CgoubWVudSBsaT51bCB1bDpob3ZlciB7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOwp9CgoucmVzcG9uc2l2ZS1tZW51IHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICB3aWR0aDogMTAwJTsKICAgIHBhZGRpbmc6IDIwcHggMTVweDsKICAgIGJhY2tncm91bmQ6ICMzNzQxNDc7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBmb250LXdlaWdodDogNjAwOwp9CgoucmVzcG9uc2l2ZS1tZW51OmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMzNzQxNDc7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAgIC5uYXZiYXIgewogICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg3NWRlZywgIzFBMkM3OSAxMCUsICMwMDdjYzUpICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZzogLjQ1cmVtIDFyZW0gIWltcG9ydGFudDsKICAgIH0KICAgIC5tZW51IGxpIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgIH0KICAgIC53aGl0ZS1iZy5hZmZpeCwKICAgIC5jdXN0b20tbmF2LmFmZml4LAogICAgLm5hdmJhci53aGl0ZS1iZyB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViOwogICAgfQogICAgLndoaXRlLWJnLmN1c3RvbS1uYXYgdWwgbGkgYSwKICAgIC5jdXN0b20tbmF2IHVsIGxpIGEgewogICAgICAgIGNvbG9yOiAjMDgxZDQzICFpbXBvcnRhbnQ7CiAgICB9CiAgICAud2hpdGUtYmcubmF2YmFyIC5uYXZiYXItdG9nZ2xlciBzcGFuIHsKICAgICAgICBjb2xvcjogIzFBMkM3OTsKICAgIH0KICAgIC5wdGItMTAwIHsKICAgICAgICBwYWRkaW5nOiA1NXB4IDA7CiAgICB9CiAgICAucHQtMTAwIHsKICAgICAgICBwYWRkaW5nLXRvcDogNTVweDsKICAgIH0KICAgIC5wYi0xMDAgewogICAgICAgIHBhZGRpbmctYm90dG9tOiA1NXB4OwogICAgfQogICAgLnB0LTE2NSB7CiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4OwogICAgfQogICAgLm10LS0xNjUgewogICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsKICAgIH0KICAgIC5oZXJvLWVxdWFsLWhlaWdodCB7CiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweCkgewogICAgLm1haW5XcmFwIHsKICAgICAgICB3aWR0aDogNzY4cHg7CiAgICB9CiAgICAubWVudSB1bCB7CiAgICAgICAgdG9wOiAzN3B4OwogICAgfQogICAgLm1lbnUgbGkgYSB7CiAgICAgICAgcGFkZGluZzogOHB4IDE1cHg7CiAgICB9CiAgICBhLmhvbWVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMzc0MTQ3OwogICAgfQp9CgpAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsKICAgIC5yZXNwb25zaXZlLW1lbnUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgfQogICAgLmhlYWRlciBuYXYubmF2YmFyIHsKICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTsKICAgIH0KICAgIC5tYWluV3JhcCB7CiAgICAgICAgd2lkdGg6IGF1dG87CiAgICAgICAgcGFkZGluZzogNTBweCAyMHB4OwogICAgfQogICAgbmF2IHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgIH0KICAgIC5tZW51IGxpIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW46IDA7CiAgICB9CiAgICAubWVudSBsaSBhIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTVweDsKICAgIH0KICAgIC5tZW51IGxpIGE6aG92ZXIsCiAgICAubWVudSBsaTpob3Zlcj5hIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMUEyQzc5OwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgfQogICAgLm1lbnUgdWwgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDsKICAgIH0KICAgIC5tZW51IGxpOmhvdmVyPnVsIHsKICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDsKICAgIH0KICAgIC5tZW51IHVsIHVsIHsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDsKICAgIH0KICAgIC5tZW51IGxpPnVsIHVsOmhvdmVyIHsKICAgICAgICB0cmFuc2Zvcm06IGluaXRpYWw7CiAgICB9Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgMDUuIEhFUk8gU0VDVElPTiBDU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLmhlcm8tZXF1YWwtaGVpZ2h0IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1pbi1oZWlnaHQ6IDcwMHB4OwogICAgLWpzLWRpc3BsYXk6IGZsZXg7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDEwMCU7Cn0KCi5oZXJvLWVxdWFsLWhlaWdodC5oZXJvLXRhYi1zbGlkZXIgewogICAgbWluLWhlaWdodDogNzAwcHggIWltcG9ydGFudDsKfQoKLnNoYXBlLWJvdHRvbSBpbWcuYm90dG9tLXNoYXBlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIGJvdHRvbTogLTJweDsKICAgIHotaW5kZXg6IDE7CiAgICB3aWR0aDogMTAwJTsKICAgIG1hcmdpbjogMCBhdXRvOwp9CgouaGVyby1iZy0xLAouaGVyby1iZy0yIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7Cn0KCi5oZXJvLWJnLTE6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWcvc2xpZGVyLWJnLTIuc3ZnIiluby1yZXBlYXQgY2VudGVyIGJvdHRvbSAvIGNvdmVyOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgcmlnaHQ6IDA7Cn0KCi5oZXJvLWJnLTI6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgYmFja2dyb3VuZDogdXJsKCIuLi9pbWcvc2xpZGVyLWJnLTEuc3ZnIiluby1yZXBlYXQgY2VudGVyIGJvdHRvbSAvIGNvdmVyOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgcmlnaHQ6IDA7Cn0KCi5oZXJvLXNsaWRlci1jb250ZW50IGgxIHsKICAgIGZvbnQtc2l6ZTogNTBweDsKICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKfQoKLnNsaWRlci1iZy1pbWFnZSwKLmdyYWRpZW50LW92ZXJsYXkgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDEwMCU7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLnNsaWRlci1iZy1pbWFnZTpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJyc7CiAgICBiYWNrZ3JvdW5kOiAjMDMwZDFlOwogICAgb3BhY2l0eTogMC42MDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKfQoKLmdyYWRpZW50LW92ZXJsYXk6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDc1ZGVnLCByZ2JhKDI2LCA0NCwgMTIxLCAwLjg4KSAxMCUsIHJnYmEoMCwgMTI0LCAxOTcsIDAuODgpKSAhaW1wb3J0YW50OwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwp9CgoudmlkZW8tc2VjdGlvbi13cmFwIC5iYWNrZ3JvdW5kLXZpZGVvLW92ZXJseSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDc1ZGVnLCByZ2JhKDI2LCA0NCwgMTIxLCAwLjc1KSAxMCUsIHJnYmEoMjMyLCA1LCAxMDIsIDAuODUpKSAhaW1wb3J0YW50Owp9CgouZ3JhZGllbnQtb3Zlcmx5LXJpZ2h0LWxpZ2h0LAouZ3JhZGllbnQtb3Zlcmx5LXJpZ2h0LWNvbG9yLAouZ3JhZGllbnQtb3Zlcmx5LWxlZnQsCi5ncmFkaWVudC1vdmVybHktYm90dG9tLAouZ3JhZGllbnQtb3Zlcmx5LXRvcCB7CiAgICB6LWluZGV4OiAxOwogICAgd2lkdGg6IDEwMCU7CiAgICBtaW4td2lkdGg6IDEwMCU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKfQoKLmdyYWRpZW50LW92ZXJseS1yaWdodC1saWdodDpiZWZvcmUsCi5ncmFkaWVudC1vdmVybHktcmlnaHQtY29sb3I6YmVmb3JlLAouZ3JhZGllbnQtb3Zlcmx5LWxlZnQ6YmVmb3JlLAouZ3JhZGllbnQtb3Zlcmx5LWJvdHRvbTpiZWZvcmUsCi5ncmFkaWVudC1vdmVybHktdG9wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIHotaW5kZXg6IC0xOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7Cn0KCi5ncmFkaWVudC1vdmVybHktcmlnaHQtbGlnaHQ6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAsICMxQTJDNzkpLCB0byh0cmFuc3BhcmVudCkpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmNGY0IDMwJSwgcmdiYSgyNiwgNDQsIDEyMSwgMC4xOCkgMTAwJSk7Cn0KCi5ncmFkaWVudC1vdmVybHktcmlnaHQtY29sb3I6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAsICMxQTJDNzkpLCB0byh0cmFuc3BhcmVudCkpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMUEyQzc5IDMwJSwgcmdiYSgyNiwgNDQsIDEyMSwgMC4xOCkgMTAwJSk7Cn0KCi5ncmFkaWVudC1vdmVybHktbGVmdDpiZWZvcmUgewogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCwgIzFBMkM3OSksIHRvKHRyYW5zcGFyZW50KSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgIzFBMkM3OSAzMCUsIHJnYmEoMjYsIDQ0LCAxMjEsIDAuMTgpIDEwMCUpOwp9CgouZ3JhZGllbnQtb3Zlcmx5LWJvdHRvbTpiZWZvcmUgewogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCwgIzFBMkM3OSksIHRvKHRyYW5zcGFyZW50KSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMUEyQzc5IDQ1JSwgcmdiYSgyNiwgNDQsIDEyMSwgMC4xOCkgMTAwJSk7Cn0KCi5ncmFkaWVudC1vdmVybHktdG9wOmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwLCAjMUEyQzc5KSwgdG8odHJhbnNwYXJlbnQpKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMxQTJDNzkgMzUlLCByZ2JhKDI2LCA0NCwgMTIxLCAwLjE4KSAxMDAlKTsKfQoKLypkb3QgaW5kaWNhdG9yIGNzcyovCgouZG90LWluZGljYXRvci1jZW50ZXIgLm93bC1kb3RzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogICAgYm90dG9tOiAxNXB4Owp9CgouZG90LWluZGljYXRvci1jZW50ZXIub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCBzcGFuIHsKICAgIHdpZHRoOiAzMHB4OwogICAgaGVpZ2h0OiA1cHg7Cn0KCi5kb3QtaW5kaWNhdG9yLWNlbnRlci5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLAouZG90LWluZGljYXRvci1jZW50ZXIub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHsKICAgIGJhY2tncm91bmQ6ICMxQTJDNzk7Cn0KCi5kb3QtaW5kaWNhdG9yLWNlbnRlci5vd2wtdGhlbWUgLm93bC1kb3RzIGJ1dHRvbi5vd2wtZG90OmZvY3VzIHsKICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsKfQoKLypjdXN0b20gZG90IHN0eWxlKi8KCi5jdXN0b20tZG90Lm93bC10aGVtZSAub3dsLWRvdHMsCi5jdXN0b20tYXJyb3cub3dsLXRoZW1lIC5vd2wtbmF2IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKLmN1c3RvbS1kb3QuZG90LXJpZ2h0LWNlbnRlci5vd2wtdGhlbWUgLm93bC1kb3RzIHsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgdG9wOiA0MCU7CiAgICByaWdodDogMTAlOwp9CgouY3VzdG9tLWRvdC5kb3QtYm90dG9tLWNlbnRlci5vd2wtdGhlbWUgLm93bC1kb3RzIHsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luOiAxMHB4IGF1dG87Cn0KCi5jdXN0b20tZG90LmRvdC1ib3R0b20tY2VudGVyLm93bC10aGVtZSAub3dsLWRvdHMgYnV0dG9uIHsKICAgIG1hcmdpbjogMCA0cHg7CiAgICBib3JkZXI6IDFweCBkYXNoZWQgIzFBMkM3OTsKfQoKLmN1c3RvbS1kb3QuZG90LXJpZ2h0LWNlbnRlci5vd2wtdGhlbWUgLm93bC1kb3RzIGJ1dHRvbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjZWJlYmViOwogICAgbWFyZ2luOiA2cHggMDsKfQoKLmN1c3RvbS1kb3QuY3VzdG9tLWRvdC0yLm93bC10aGVtZSAub3dsLWRvdHMgYnV0dG9uIHsKICAgIG1hcmdpbjogMCA0cHg7CiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2ViZWJlYjsKfQoKLmN1c3RvbS1kb3QuY3VzdG9tLWRvdC0yLm93bC10aGVtZSAub3dsLWRvdHMgewogICAgcmlnaHQ6IDE1cHg7CiAgICB0b3A6IGF1dG87CiAgICBib3R0b206IC0xMCU7Cn0KCi5jdXN0b20tZG90Lm93bC10aGVtZSAub3dsLWRvdHMgYnV0dG9uIHsKICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICBib3JkZXI6IDFweCBkYXNoZWQgIzFBMkM3OTsKICAgIG1hcmdpbjogMCA0cHg7Cn0KCi5jdXN0b20tZG90Lm93bC10aGVtZSAub3dsLWRvdHMgYnV0dG9uOmZvY3VzLAouY3VzdG9tLWFycm93Lm93bC10aGVtZSAub3dsLW5hdiBidXR0b246Zm9jdXMgewogICAgb3V0bGluZTogbm9uZTsKfQoKLmN1c3RvbS1kb3Qub3dsLXRoZW1lIC5vd2wtZG90cyBidXR0b24ub3dsLWRvdC5hY3RpdmUsCi5jdXN0b20tZG90Lm93bC10aGVtZSAub3dsLWRvdHMgYnV0dG9uLm93bC1kb3Qgc3BhbiB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwp9CgouY3VzdG9tLWRvdC5vd2wtdGhlbWUgLm93bC1kb3RzIGJ1dHRvbi5vd2wtZG90IHNwYW46aG92ZXIgewogICAgYmFja2dyb3VuZDogIzAwN2NjNTsKfQoKLmN1c3RvbS1kb3Qub3dsLXRoZW1lIC5vd2wtZG90cyBidXR0b24ub3dsLWRvdC5hY3RpdmUgc3BhbiB7CiAgICBiYWNrZ3JvdW5kOiAjMDA3Y2M1OwogICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsKfQoKLmN1c3RvbS1kb3Qub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCBzcGFuIHsKICAgIG1hcmdpbjogMnB4Owp9CgovKmN1c3RvbSBhcnJvdyovCgouY3VzdG9tLWFycm93Lm93bC10aGVtZSAub3dsLW5hdiBidXR0b24gewogICAgd2lkdGg6IDMwcHg7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjZWJlYmViOwogICAgbGluZS1oZWlnaHQ6IDI2cHg7Cn0KCi5jdXN0b20tYXJyb3cub3dsLXRoZW1lIC5vd2wtbmF2IGJ1dHRvbjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMDA3Y2M1OwogICAgYm9yZGVyLWNvbG9yOiAjMDA3Y2M1Owp9CgouY3VzdG9tLWFycm93Lm93bC10aGVtZSAub3dsLW5hdiBidXR0b246aG92ZXIgc3BhbiB7CiAgICBjb2xvcjogI2ZmZmZmZjsKfQoKLmN1c3RvbS1hcnJvdy5vd2wtdGhlbWUgLm93bC1uYXYgYnV0dG9uIHNwYW4gewogICAgZm9udC1zaXplOiAyNXB4OwogICAgY29sb3I6ICMwMDdjYzU7Cn0KCi5jdXN0b20tYXJyb3ctYm90dG9tLWNlbnRlci5vd2wtdGhlbWUgLm93bC1uYXYgewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW46IGF1dG87CiAgICBtYXJnaW4tdG9wOiA4cHg7Cn0KCi5jdXN0b20tYXJyb3ctbGVmdC1yaWdodC5vd2wtdGhlbWUgLm93bC1uYXYgewogICAgd2lkdGg6IDEwMCU7CiAgICB0b3A6IDI1JTsKfQoKLmN1c3RvbS1hcnJvdy1sZWZ0LXJpZ2h0Lm93bC10aGVtZSAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsCi5jdXN0b20tYXJyb3ctbGVmdC1yaWdodC5vd2wtdGhlbWUgLm93bC1uYXYgYnV0dG9uLm93bC1uZXh0IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKLmN1c3RvbS1hcnJvdy1sZWZ0LXJpZ2h0Lm93bC10aGVtZSAub3dsLW5hdiBidXR0b24ub3dsLXByZXYgewogICAgbGVmdDogLTM1cHg7Cn0KCi5jdXN0b20tYXJyb3ctbGVmdC1yaWdodC5vd2wtdGhlbWUgLm93bC1uYXYgYnV0dG9uLm93bC1uZXh0IHsKICAgIHJpZ2h0OiAtMzVweDsKfQoKLypoZWlnaGxpZ2h0IGZlYXR1cmUgbGlzdCovCgouaGlnaGxpZ2h0LWxpc3QgbGkgewogICAgYm9yZGVyOiAxcHggZGFzaGVkICNlYmViZWI7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAwLjc1cmVtOwogICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsKICAgIG1pbi13aWR0aDogMTMwcHg7Cn0KCi5oaWdobGlnaHQtbGlzdCBsaSBoNSB7CiAgICBmb250LXNpemU6IDMycHg7CiAgICBmb250LXdlaWdodDogNzAwOwp9CgouaGlnaGxpZ2h0LWxpc3QgbGkgaDYgewogICAgZm9udC1zaXplOiAxM3B4Owp9CgovKnNsaWRlciAqLwoKLmN1c3RvbS1pbmRpY2F0b3JzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogMDsKICAgIHotaW5kZXg6IDU7CiAgICB3aWR0aDogMTAwJTsKfQoKLmN1c3RvbS1pbmRpY2F0b3JzIGxpIHsKICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluOwp9CgouY3VzdG9tLWluZGljYXRvcnMgbGkgYnV0dG9uIHsKICAgIGJvcmRlcjogbm9uZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiAxLjVyZW07CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwOwogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbjsKICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7CiAgICBmb250LXdlaWdodDogNjAwOwp9CgouY3VzdG9tLWluZGljYXRvcnMgbGkuYWN0aXZlIGJ1dHRvbiB7CiAgICBiYWNrZ3JvdW5kOiAjMDA3Y2M1OwogICAgY29sb3I6ICNmZmZmZmY7Cn0KCi5jdXN0b20taW5kaWNhdG9ycyBsaS5hY3RpdmUgYnV0dG9uIHNwYW4gewogICAgY29sb3I6ICNmZmZmZmY7Cn0KCi5jdXN0b20taW5kaWNhdG9ycyBsaSBidXR0b246Zm9jdXMgewogICAgb3V0bGluZTogbm9uZTsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc1cHgpIHsKICAgIC5oZXJvLWVxdWFsLWhlaWdodC5oZXJvLXRhYi1zbGlkZXIgewogICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7CiAgICB9CiAgICAuY3VzdG9tLWluZGljYXRvcnMgbGkgewogICAgICAgIG1pbi13aWR0aDogYXV0bzsKICAgIH0KICAgIC5jdXN0b20taW5kaWNhdG9ycyBsaSBidXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweCA4cHg7CiAgICB9Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAwNi4gQ0VPIE1FU1NBR0UgU0VDVElPTiBDU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLmNlby1tZXNzYWdlLXdyYXAgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogYmxvY2s7Cn0KCi55ZWFyLWhpZ2hsaWdodC10ZXh0IGg0IHsKICAgIGZvbnQtc2l6ZTogMjVweDsKICAgIGxpbmUtaGVpZ2h0OiA2MHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIG1hcmdpbjogMDsKICAgIGJhY2tncm91bmQ6ICM3MjAyYmIgdXJsKCIuLi9pbWcveWVycy1iZy5qcGciKSBuby1yZXBlYXQ7CiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7Cn0KCi55ZWFyLWhpZ2hsaWdodC10ZXh0IGg0IHNwYW4gewogICAgZm9udC1zaXplOiAyMTVweDsKICAgIGxpbmUtaGVpZ2h0OiAyMjBweDsKfQoKLnllYXItaGlnaGxpZ2h0LXRleHQgaDQgc3ViIHsKICAgIGJhY2tncm91bmQ6ICMxQTJDNzkgdXJsKCIuLi9pbWcveWVycy1iZy5qcGciKSBuby1yZXBlYXQ7CiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bzsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHRvcDogLTZweDsKICAgIGZvbnQtc2l6ZTogMjVweDsKICAgIGxpbmUtaGVpZ2h0OiAyNXB4Owp9CgouY2VvLWltYWdlIHsKICAgIG1hcmdpbi10b3A6IDMwcHg7Cn0KCi8qY29yZSBzZXJ2aWNlcyBjc3MqLwoKLmNvcmUtc2VydmljZXMtc2luZ2xlIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbjsKfQoKLmNvcmUtc2VydmljZXMtc2luZ2xlIGEgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDE1cHg7CiAgICBib3R0b206IC0xNXB4OwogICAgY29sb3I6ICNmZmZmZmY7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogNDBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGxpbmUtaGVpZ2h0OiA0MHB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm94LXNoYWRvdzogMCA0cHggMTFweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7Cn0KCi5jb3JlLXNlcnZpY2VzLXNpbmdsZTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNzVkZWcsICMxQTJDNzkgMTAlLCAjMDA3Y2M1KTsKICAgIGNvbG9yOiAjZmZmOwp9CgouY29yZS1zZXJ2aWNlcy1zaW5nbGU6aG92ZXIgaDUsCi5jb3JlLXNlcnZpY2VzLXNpbmdsZTpob3ZlciBzcGFuIHsKICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7Cn0KCi5jb3JlLXNlcnZpY2VzLXNpbmdsZTpob3ZlciBhLAouY29yZS1zZXJ2aWNlcy1zaW5nbGU6aG92ZXIgYT5zcGFuIHsKICAgIGNvbG9yOiAjMUEyQzc5ICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwp9CgovKm91ciBzZXJ2aWNlcyBzdHlsZSB0d28qLwoKLnNlcnZpY2VzLWJsb2NrLXRocmVlPmEgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5zZXJ2aWNlcy1ibG9jay10aHJlZT5hOmJlZm9yZSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbnRlbnQ6ICIiOwogICAgd2lkdGg6IDklOwogICAgaGVpZ2h0OiAxNyU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IC0ycHg7CiAgICByaWdodDogLTJweDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMUEyQzc5OwogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzFBMkM3OTsKICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UgMHM7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UgMHM7Cn0KCi5zZXJ2aWNlcy1ibG9jay10aHJlZT5hOmFmdGVyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgY29udGVudDogIiI7CiAgICB3aWR0aDogOSU7CiAgICBoZWlnaHQ6IDE3JTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogLTJweDsKICAgIGxlZnQ6IC0ycHg7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzFBMkM3OTsKICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzFBMkM3OTsKICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UgMHM7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UgMHM7Cn0KCi5zZXJ2aWNlcy1ibG9jay10aHJlZSBhLAouc2VydmljZXMtYmxvY2stdGhyZWUgcCB7CiAgICBjb2xvcjogIzc1NzU3NTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLnNlcnZpY2VzLWJsb2NrLXRocmVlIHAgewogICAgbWFyZ2luLWJvdHRvbTogMDsKfQoKLnNlcnZpY2VzLWJsb2NrLXRocmVlPmE6aG92ZXIgewogICAgb3BhY2l0eTogMTsKICAgIGJvcmRlci1jb2xvcjogI2ViZWJlYjsKfQoKLnNlcnZpY2VzLWJsb2NrLXRocmVlPmE6aG92ZXI6YmVmb3JlLAouc2VydmljZXMtYmxvY2stdGhyZWU+YTpob3ZlcjphZnRlciB7CiAgICB3aWR0aDogOTUlOwogICAgaGVpZ2h0OiA5MCU7Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAwNy4gRkVBVFVSRSBTRUNUSU9OIENTUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgouaWNvbi1ib3gtbGVmdCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0Owp9CgouaWNvbi1ib3gtbGVmdCAuaWNvbi1ib3gtaWNvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBoZWlnaHQ6IDM4cHg7CiAgICB3aWR0aDogMzhweDsKICAgIGxlZnQ6IDA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiAzLjM3NXJlbTsKICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtOwp9CgouaWNvbi1ib3ggLmljb24tYm94LWljb24gewogICAgZm9udC1zaXplOiAyLjM3NXJlbTsKICAgIG1hcmdpbjogMCAwIDEwcHg7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0Owp9CgouaWNvbi1ib3g6aG92ZXIgLmljb24tYm94LWljb24gewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOwp9CgovKmZlYXR1cmUgYm94IGNzcyovCgouZmVhdHVyZXMtYm94IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwp9CgouZmVhdHVyZXMtYm94LWljb24gewogICAgZGlzcGxheTogdGFibGUtY2VsbDsKICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0KCi5mZWF0dXJlcy1ib3gtaWNvbiBpIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiA4MHB4OwogICAgaGVpZ2h0OiA4MHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgY29sb3I6ICMxQTJDNzk7CiAgICBmb250LXNpemU6IDUwcHg7CiAgICBwYWRkaW5nOiAxMHB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwp9CgouZmVhdHVyZXMtYm94LWNvbnRlbnQgewogICAgZGlzcGxheTogdGFibGUtY2VsbDsKICAgIHBhZGRpbmctbGVmdDogMjBweDsKfQoKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgIDA4LiBQUk9HUkVTU0JBUiBDU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLnByb2dyZXNzIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIGhlaWdodDogLjQ1cmVtOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGZvbnQtc2l6ZTogLjc1cmVtOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjsKICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7Cn0KCi5wcm9ncmVzcy1iYXIgewogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUEyQzc5OwogICAgdHJhbnNpdGlvbjogd2lkdGggLjZzIGVhc2U7Cn0KCi5wcm9ncmVzcy1pdGVtKy5wcm9ncmVzcy1pdGVtIHsKICAgIG1hcmdpbi10b3A6IDI0cHg7Cn0KCi5wcm9ncmVzcy1pdGVtIHsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KCi5wcm9ncmVzcy10aXRsZT5oNiB7CiAgICBmb250LXNpemU6IC45NTM3NXJlbTsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KCi8qcHJvZ3Jlc3NiYXIgYW5pbWF0aW9uKi8KCi5wcm9ncmVzcyBzcGFuIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgaGVpZ2h0OiAxMDAlOwp9CgoucHJvZ3Jlc3MtbGluZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUEyQzc5OwogICAgLXdlYmtpdC1hbmltYXRpb246IHByb2dyZXNzQmFyIDNzIGVhc2UtaW4tb3V0OwogICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOwogICAgLW1vei1hbmltYXRpb246IHByb2dyZXNzQmFyIDNzIGVhc2UtaW4tb3V0OwogICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3NCYXIgewogICAgMCUgewogICAgICAgIHdpZHRoOiAwOwogICAgfQogICAgMTAwJSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9Cn0KCkAtbW96LWtleWZyYW1lcyBwcm9ncmVzc0JhciB7CiAgICAwJSB7CiAgICAgICAgd2lkdGg6IDA7CiAgICB9CiAgICAxMDAlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KfQoKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgIDA5LiBDT1JFIElERUEgQ1NTCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCi5zd2l0Y2hhYmxlIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLmltYWdlYmxvY2stc2VjdGlvbiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwp9CgouaW1hZ2VibG9jay1zZWN0aW9uIC5pbWFnZWJsb2NrLXNlY3Rpb24taW1nIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGhlaWdodDogMTAwJTsKICAgIHRvcDogMDsKICAgIHotaW5kZXg6IDI7CiAgICBwYWRkaW5nOiAwOwp9Cgouc3dpdGNoYWJsZS5zd2l0Y2hhYmxlLWNvbnRlbnQgZGl2W2NsYXNzKj0nY29sLSddOmZpcnN0LWNoaWxkIHsKICAgIGZsb2F0OiByaWdodDsKICAgIHJpZ2h0OiAwOwogICAgbGVmdDogYXV0bzsKfQoKLnN3aXRjaGFibGU+ZGl2W2NsYXNzKj0nY29sLSddIHsKICAgIHBhZGRpbmc6IDA7Cn0KCi5iYWNrZ3JvdW5kLWltYWdlLWhvbGRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSAhaW1wb3J0YW50OwogICAgei1pbmRleDogMDsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGxpbmVhcjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgbGluZWFyOwogICAgb3BhY2l0eTogMDsKICAgIGJhY2tncm91bmQ6ICMyNTI1MjU7Cn0KCi5iYWNrZ3JvdW5kLWltYWdlLWhvbGRlcjpub3QoW2NsYXNzKj0nY29sLSddKSB7CiAgICB3aWR0aDogMTAwJTsKfQoKLnN3aXRjaGFibGUgZGl2W2NsYXNzKj0nY29sLSddOmZpcnN0LWNoaWxkIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgcmlnaHQ6IGF1dG87Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgewogICAgLnN3aXRjaGFibGUgLmltYWdlYmxvY2stc2VjdGlvbi1pbWdbY2xhc3MqPSdjb2wtJ10gewogICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7CiAgICB9Cn0KCi5zd2l0Y2hhYmxlPmRpdltjbGFzcyo9J2NvbC0nXSB7CiAgICBwYWRkaW5nOiAwOwp9CgpAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsKICAgIC5pbWFnZWJsb2NrLXNlY3Rpb24gLmltYWdlYmxvY2stc2VjdGlvbi1pbWcgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4taGVpZ2h0OiAxOC41NzE0Mjg1N2VtOwogICAgfQp9CgpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsKICAgIC5zd2l0Y2hhYmxlIC5jb250YWluZXI+LnJvdyB7CiAgICAgICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTsKICAgIH0KICAgIC5zd2l0Y2hhYmxlLnN3aXRjaGFibGUtY29udGVudCAuY29udGFpbmVyPi5yb3cgewogICAgICAgIGZsZXgtZmxvdzogcm93OwogICAgfQp9CgovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgIDEwLiBNQUlOIFNFUlZJQ0VTIENTUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgouc2VydmljZXMtc2luZ2xlIHsKICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW47Cn0KCi5zZXJ2aWNlcy1zaW5nbGUgYSB7CiAgICBjb2xvcjogI2ZmZmZmZjsKICAgIG9wYWNpdHk6IDAuODsKfQoKLnNlcnZpY2VzLXNpbmdsZTpob3ZlciBoNSwKLnNlcnZpY2VzLXNpbmdsZTpob3ZlciBzcGFuLAouc2VydmljZXMtc2luZ2xlOmhvdmVyIGEgewogICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsKICAgIG9wYWNpdHk6IDE7Cn0KCi5zZXJ2aWNlcy1zaW5nbGU6aG92ZXIgewogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbjsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg3NWRlZywgIzFBMkM3OSAxMCUsICMwMDdjYzUpOwogICAgY29sb3I6ICNmZmY7Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgMTEuIFBPUlRGT0xJTyBDU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLmZpbHRlci1idG4gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgcGFkZGluZzogNnB4IDIwcHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIG1hcmdpbi1yaWdodDogNXB4OwogICAgYm9yZGVyOiAxcHggZGFzaGVkICMxQTJDNzk7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7Cn0KCi5maWx0ZXItYnRuOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMxQTJDNzk7CiAgICBjb2xvcjogI2ZmZmZmZjsKfQoKYnV0dG9uLmZpbHRlci1idG46Zm9jdXMgewogICAgb3V0bGluZTogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKfQoKLm1peGl0dXAtY29udHJvbC1hY3RpdmUgewogICAgYmFja2dyb3VuZDogIzFBMkM3OTsKICAgIGNvbG9yOiAjZmZmZmZmOwp9CgoubWl4aXR1cC1jb250cm9sLWFjdGl2ZVtkYXRhLWZpbHRlcl06YWZ0ZXIgewogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cn0KCi5jb250cm9sW2RhdGEtZmlsdGVyXSsuY29udHJvbFtkYXRhLXNvcnRdIHsKICAgIG1hcmdpbi1sZWZ0OiAuODVyZW07Cn0KCi8qcG9ydGZvbGlvIGNvbnRhaW5lciovCgoucG9ydGZvbGlvLWNvbnRhaW5lciB7CiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5Owp9CgovKnBvcnRmb2xpbyBncmlkKi8KCi5wb3J0Zm9saW8taXRlbSwKLmdhcCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwp9CgoucG9ydGZvbGlvLWl0ZW0gewogICAgYmFja2dyb3VuZDogI2ViZWJlYjsKICAgIG1hcmdpbi10b3A6IDFyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi8qcG9ydGZvbGlvIGhvdmVyKi8KCi5wb3J0Zm9saW8td3JhcHBlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnBvcnRmb2xpby13cmFwcGVyIC5jb250ZW50LW92ZXJsYXkgewogICAgYmFja2dyb3VuZDogIzFBMkM3OTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMxQTJDNzkgMiUsICMwMDdjYzUgODIlKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzFBMkM3OSAyJSwgIzAwN2NjNSA4MiUpOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgYm90dG9tOiAwOwogICAgcmlnaHQ6IDA7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQgMHM7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKfQoKLnBvcnRmb2xpby13cmFwcGVyOmhvdmVyIC5jb250ZW50LW92ZXJsYXkgewogICAgb3BhY2l0eTogMC44Owp9CgoucG9ydGZvbGlvLXdyYXBwZXIgYSBpbWcgewogICAgZGlzcGxheTogYmxvY2s7Cn0KCi5jb250ZW50LWltYWdlIHsKICAgIHdpZHRoOiAxMDAlOwp9CgouY29udGVudC1kZXRhaWxzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmctbGVmdDogMWVtOwogICAgcGFkZGluZy1yaWdodDogMWVtOwogICAgd2lkdGg6IDEwMCU7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDUwJTsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKfQoKLnBvcnRmb2xpby13cmFwcGVyOmhvdmVyIC5jb250ZW50LWRldGFpbHMgewogICAgdG9wOiA1MCU7CiAgICBsZWZ0OiA1MCU7CiAgICBvcGFjaXR5OiAxOwp9CgouZmFkZUluLWJvdHRvbSB7CiAgICB0b3A6IDgwJTsKfQoKLmZhZGVJbi10b3AgewogICAgdG9wOiAyMCU7Cn0KCi5mYWRlSW4tbGVmdCB7CiAgICBsZWZ0OiAyMCU7Cn0KCi5mYWRlSW4tcmlnaHQgewogICAgbGVmdDogODAlOwp9CgovKnBvcnRmb2xpbyBncmlkIGJyYWNrIHBvaW50Ki8KCi8qIDIgQ29sdW1ucyAqLwoKLnBvcnRmb2xpby1pdGVtLAouZ2FwIHsKICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gKCgoMiAtIDEpICogMXJlbSkgLyAxKSk7Cn0KCi8qIDMgQ29sdW1ucyAqLwoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQxcHgpIHsKICAgIC5wb3J0Zm9saW8taXRlbSwKICAgIC5nYXAgewogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gKCgoMyAtIDEpICogMXJlbSkgLyAzKSk7CiAgICB9Cn0KCi8qIDQgQ29sdW1ucyAqLwoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYxcHgpIHsKICAgIC5wb3J0Zm9saW8taXRlbSwKICAgIC5nYXAgewogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gKCgoMyAtIDEpICogMXJlbSkgLyAzKSk7CiAgICB9Cn0KCi8qIDUgQ29sdW1ucyAqLwoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MXB4KSB7CiAgICAucG9ydGZvbGlvLWl0ZW0sCiAgICAuZ2FwIHsKICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtICgoKDMgLSAxKSAqIDFyZW0pIC8gMykpOwogICAgfQp9CgovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgIDEyLiBCTE9HIFNFQ1RJT04gQ1NTCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCi5zaW5nbGUtYmxvZy1jYXJkIHsKICAgIG1hcmdpbi1ib3R0b206IDI1cHg7Cn0KCi5zaW5nbGUtYmxvZy1jYXJkIHNwYW4uY2F0ZWdvcnkgewogICAgei1pbmRleDogMjsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDA7CiAgICBmb250LXNpemU6IDgwJTsKICAgIGJhY2tncm91bmQ6ICMxQTJDNzk7CiAgICBjb2xvcjogI2ZmZmZmZjsKICAgIHBhZGRpbmc6IDRweCAxNXB4Owp9CgouYXV0aG9yLWNvbnRlbnQgewogICAgcGFkZGluZy10b3A6IDZweDsKfQoKLmF1dGhvci1jb250ZW50IGEgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGluZS1oZWlnaHQ6IDEzcHg7Cn0KCi5hdXRob3ItY29udGVudCBzbWFsbCB7CiAgICBmb250LXNpemU6IDEycHg7Cn0KCi5ibG9nLWltZyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLmJsb2ctaW1nIGltZyB7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLmJsb2ctaW1nOmhvdmVyIHNwYW4uY2F0ZWdvcnkgewogICAgYmFja2dyb3VuZDogIzAwN2NjNTsKICAgIGNvbG9yOiAjZmZmZmZmOwp9CgoubWV0YS1saXN0IHsKICAgIG9wYWNpdHk6IDAuODsKICAgIGZvbnQtc2l6ZTogOTUlOwp9CgoubWV0YS1saXN0IGxpLmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7CiAgICBtYXJnaW4tcmlnaHQ6IDAuN3JlbTsKfQoKLnNpbmdsZS1ibG9nLWNhcmQgYSB7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKfQoKLnNpbmdsZS1ibG9nLWNhcmQgYSwKLnNpbmdsZS1ibG9nLWNhcmQgYTpob3ZlciB7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCmEuZGV0YWlsLWxpbmsgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgY29sb3I6ICM0OTUwNTc7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKfQoKYS5kZXRhaWwtbGluayBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IC4zczsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4zczsKICAgIGNvbG9yOiAjMUEyQzc5Owp9CgphLmRldGFpbC1saW5rOmhvdmVyIHsKICAgIGNvbG9yOiAjMDA3Y2M1Owp9CgphLmRldGFpbC1saW5rOmhvdmVyIHNwYW4gewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7CiAgICBtYXJnaW4tbGVmdDogOHB4Owp9CgovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgIDEzLiBXT1JLIFBST0NFU1MgQ1NTCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCi53b3JrLXByb2Nlc3MtbGlzdCB7CiAgICB3aWR0aDogMTAwJTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9Cgoud29yay1wcm9jZXNzLWxpc3QgbGkgewogICAgd2lkdGg6IDE4JTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi1yaWdodDogMDsKfQoKLndvcmstcHJvY2Vzcy1saXN0IGxpIHNwYW46YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgaGVpZ2h0OiA0cHg7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgd2lkdGg6IDEwMCU7CiAgICB0b3A6IDIwJTsKICAgIHotaW5kZXg6IC0xOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgYm9yZGVyOiAzcHggc29saWQgIzAwNWNiZjsKfQoKLndvcmstcHJvY2Vzcy1saXN0IGxpIHNwYW46YWZ0ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogJyc7CiAgICBoZWlnaHQ6IDRweDsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICB3aWR0aDogMTAwJTsKICAgIHRvcDogMjAlOwogICAgei1pbmRleDogLTE7CiAgICBsZWZ0OiAwOwogICAgcmlnaHQ6IDA7CiAgICBib3JkZXI6IDNweCBzb2xpZCAjMDA1Y2JmOwp9Cgoud29yay1wcm9jZXNzLWxpc3QgbGkgc3BhbiB7CiAgICB3aWR0aDogNTBweDsKICAgIGhlaWdodDogNTBweDsKICAgIGxpbmUtaGVpZ2h0OiA1MHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbjogYXV0bzsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIHotaW5kZXg6IDI7Cn0KCi8qd29yayBwcm9jZXNzIHNjcm9sbGluZyBzdHlsZSBjc3MqLwoKLnN0ZXAgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgcGFkZGluZzogNS42MjVyZW0gMjAlIDIwJSAwOwp9Cgouc3RlcC5zdGVwLWhpZ2hsaWdodDo6YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBib3JkZXItY29sb3I6ICNmZmY7CiAgICBjb2xvcjogIzAwMDsKfQoKLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIC5vd2wtc3RhZ2UgLm93bC1pdGVtIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDBzOwogICAgLW1vei10cmFuc2l0aW9uLWRlbGF5OiAwczsKICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzOwogICAgY291bnRlci1pbmNyZW1lbnQ6IG93bEl0ZW07Cn0KCi5zdGVwLXRpdGxlIHsKICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07Cn0KCi50ZXh0LXdoaXRlIC5zdGVwOjpiZWZvcmUgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICBjb2xvcjogI2ZmZjsKfQoKLnN0ZXA6aG92ZXI6OmJlZm9yZSwKLnN0ZXAuc3RlcC1oaWdobGlnaHQ6OmJlZm9yZSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTsKICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpOwogICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMjUpOwogICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMjUpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTsKICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7CiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29sb3I6ICMxQTJDNzk7Cn0KCi5zdGVwOjpiZWZvcmUgewogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMHM7CiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IDBzOwogICAgdHJhbnNpdGlvbi1kZWxheTogMHM7CiAgICBjb250ZW50OiBjb3VudGVyKG93bEl0ZW0sIGRlY2ltYWwpOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDMuNzVyZW07CiAgICBoZWlnaHQ6IDMuNzVyZW07CiAgICBsaW5lLWhlaWdodDogY2FsYygzLjc1cmVtIC0gLjI1cmVtKTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNWU1ZTU7CiAgICB6LWluZGV4OiAyMDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGZvbnQtc2l6ZTogMS41cmVtOwp9Cgoub3dsLWl0ZW06bm90KDpsYXN0LWNoaWxkKSAuc3RlcDo6YWZ0ZXIgewogICAgY29udGVudDogIiI7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMjlweDsKICAgIGxlZnQ6IDMuNzVyZW07CiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7CiAgICBoZWlnaHQ6IDJweDsKICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7CiAgICB6LWluZGV4OiAxMDsKfQoKLm93bC1jYXJvdXNlbC52aXNpYmxlIC5vd2wtc3RhZ2Utb3V0ZXIgewogICAgb3ZlcmZsb3c6IHZpc2libGU7Cn0KCi50ZXh0LXdoaXRlIC5zdGVwOjphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgIWltcG9ydGFudDsKfQoKLndvcmstcHJvY2Vzcy1jYXJvdXNlbCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLndvcmstcHJvY2Vzcy1jYXJvdXNlbCAub3dsLW5hdiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMDsKICAgIGJvdHRvbTogMDsKfQoKLndvcmstcHJvY2Vzcy1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLW5leHQsCi53b3JrLXByb2Nlc3MtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2IHsKICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsKICAgIGZvbnQtc2l6ZTogNDBweDsKICAgIGxpbmUtaGVpZ2h0OiA0NXB4OwogICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50Owp9CgovKndvcmsgcHJvY2VzcyBuZXcgc3R5bGUqLwoKLndvcmstcHJvY2Vzcy13cmFwIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLW1vei1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAtbW96LWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgIC1tb3otZmxleC13cmFwOiB3cmFwOwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgLW1vei1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAtbXMtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgIC1tb3otYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAtbXMtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKfQoKLnNpbmdsZS13b3JrLXByb2Nlc3MgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luOiAwIDE1cHggNjBweDsKICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMwcHgpOwp9Cgoud29yay1wcm9jZXNzLWljb24td3JhcCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMTAwcHg7CiAgICBoZWlnaHQ6IDEwMHB4OwogICAgbGluZS1oZWlnaHQ6IDEwMHB4Owp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogICAgLnNpbmdsZS13b3JrLXByb2Nlc3MgewogICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpOwogICAgfQogICAgLndvcmstcHJvY2Vzcy1kaXZpZGVyIHsKICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTQ1cHgpOwogICAgfQogICAgLnNpbmdsZS13b3JrLXByb2Nlc3M6bnRoLWNoaWxkKDJuKSAud29yay1wcm9jZXNzLWRpdmlkZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7CiAgICAuc2luZ2xlLXdvcmstcHJvY2VzcyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAzMHB4OwogICAgfQogICAgLndvcmstcHJvY2Vzcy1kaXZpZGVyIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQp9Cgoud29yay1wcm9jZXNzLWRpdmlkZXIgewogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNzM3NzhjLCAjNzM3NzhjIDQwJSwgdHJhbnNwYXJlbnQgNDAlLCB0cmFuc3BhcmVudCAxMDAlKTsKfQoKLnNpbmdsZS13b3JrLXByb2Nlc3MgLndvcmstcHJvY2Vzcy1kaXZpZGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IGF1dG87CiAgICB0b3A6IDQwcHg7CiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTMwcHgpOwogICAgaGVpZ2h0OiAxcHg7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM3Mzc3OEMsICM3Mzc3OEMgNDAlLCB0cmFuc3BhcmVudCA0MCUsIHRyYW5zcGFyZW50IDEwMCUpOwogICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDFweDsKfQoKLnNpbmdsZS13b3JrLXByb2Nlc3MgLndvcmstcHJvY2Vzcy1kaXZpZGVyOmFmdGVyIHsKICAgIGNvbnRlbnQ6ICdcZTYyOCc7CiAgICBmb250LWZhbWlseTogJ3RoZW1pZnknOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IC0zMHB4OwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICBmb250LXNpemU6IDIwcHg7Cn0KCi53b3JrLXByb2Nlc3MtaWNvbi13cmFwIGkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogNTAlOwogICAgdG9wOiA1MCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7Cn0KCi53b3JrLXByb2Nlc3MtaWNvbi13cmFwIC5wcm9jZXNzLXN0ZXAgewogICAgd2lkdGg6IDM1cHg7CiAgICBoZWlnaHQ6IDM1cHg7CiAgICBsaW5lLWhlaWdodDogMzVweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IC0xMHB4OwogICAgZm9udC1zaXplOiAxNnB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7Cn0KCi5zaW5nbGUtd29yay1wcm9jZXNzOmxhc3QtY2hpbGQgLndvcmstcHJvY2Vzcy1kaXZpZGVyIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAxNC4gQ09VTlRFUiBTRUNUSU9OIENTUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgouY291bnRlci13cmFwIHsKICAgIHdpZHRoOiAxMDAlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5jb3VudGVyLXdyYXAgewogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMDBweCwgMWZyKSk7Cn0KCi5jb3VudGVyLXdyYXAgbGkgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMzBweDsKfQoKLmNvdW50ZXItd3JhcCBsaTpsYXN0LWNoaWxkIHsKICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50Owp9CgouY291bnRlci13cmFwIC5zaW5nbGUtY291bnRlciB7CiAgICBtYXJnaW46IDA7Cn0KCi5zaW5nbGUtY291bnRlciB7CiAgICBtYXJnaW46IDE0cHggMDsKICAgIGJvcmRlcjogMXB4IGRhc2hlZDsKICAgIG1pbi13aWR0aDogMTc1cHg7Cn0KCi5zaW5nbGUtY291bnRlciBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMzVweDsKICAgIGxpbmUtaGVpZ2h0OiAzOHB4Owp9CgpAbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgewogICAgLnNpbmdsZS1jb3VudGVyIHsKICAgICAgICBtYXJnaW46IDA7CiAgICB9Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgMTUuIFRBQiBTRUNUSU9OIENTUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgouZmVhdHVyZS10YWJzLXdyYXAgewogICAgbWFyZ2luLXRvcDogMzBweDsKfQoKLmZlYXR1cmUtdGFicy1jZW50ZXIgewogICAgbWFyZ2luLWJvdHRvbTogMjVweDsKfQoKLmZlYXR1cmUtdGFicyBsaSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW46IDAgMTVweDsKfQoKLmZlYXR1cmUtdGFicyBsaTpmaXJzdC1jaGlsZCB7CiAgICBtYXJnaW4tbGVmdDogMDsKfQoKLmZlYXR1cmUtdGFicyBsaSBhIHsKICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAwIDZweDsKfQoKLmZlYXR1cmUtdGFicyBsaSBhLAouZmVhdHVyZS10YWJzIGxpIGEuYWN0aXZlIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Cn0KCi5mZWF0dXJlLXRhYnMgbGkgYSBoNiB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMjFweDsKICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7CiAgICBmb250LXdlaWdodDogNjAwOwp9CgouZmVhdHVyZS10YWJzIGxpIGE6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvbnRlbnQ6ICIiOwogICAgd2lkdGg6IDUwJTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjIpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjdzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSkgMHM7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjdzIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSkgMHM7CiAgICBoZWlnaHQ6IDJweDsKICAgIGJvdHRvbTogMDsKfQoKLmZlYXR1cmUtdGFicyBsaSBhLmFjdGl2ZTpiZWZvcmUgewogICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kOiAjMDA3Y2M1Owp9CgouZmVhdHVyZS10YWJzIGxpIGEuYWN0aXZlIHsKICAgIGNvbG9yOiAjMDA3Y2M1ICFpbXBvcnRhbnQ7Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgMTYuIFRFQU0gU0VDVElPTiBDU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLnRlYW0tMS13cmFwIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDE7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0Owp9CgoudGVhbS1zdHlsZS0yIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlY2VjZWM7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwp9CgoudGVhbS1pbWcgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnRlYW0taW1nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDQxLCAxMDMsIDIzMCwgMC43NSksIHJnYmEoNDgsIDkxLCAyMjgsIDAuNzUpLCByZ2JhKDU5LCA3OSwgMjI2LCAwLjgwKSwgcmdiYSg3MSwgNjQsIDIyMiwgMC44NSksIHJnYmEoODQsIDQ1LCAyMTYsIDAuOTUpKTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIG9wYWNpdHk6IDAuODsKICAgIHRvcDogNTAlOwogICAgbGVmdDogNTAlOwogICAgei1pbmRleDogMjsKICAgIHdpZHRoOiAwOwogICAgaGVpZ2h0OiAwOwogICAgcGFkZGluZzogMjUlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLCBvcGFjaXR5IC4zcyBlYXNlLW91dDsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZSwgb3BhY2l0eSAuM3MgZWFzZS1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlOwogICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7Cn0KCi50ZWFtLW92ZXJseS1jb250ZW50IHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIG9wYWNpdHk6IDA7CiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgcGFkZGluZy1sZWZ0OiAxMHB4OwogICAgcGFkZGluZy1yaWdodDogMTBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAzOwp9CgoudGVhbS0xLXdyYXA6aG92ZXIgLnRlYW0tb3Zlcmx5LWNvbnRlbnQgewogICAgb3BhY2l0eTogMTsKICAgIGhlaWdodDogMTAwJTsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBjdWJpYy1iZXppZXIoMC43MSwgMC4wNSwgMC4yOSwgMC45KSAwLjJzOwp9CgoudGVhbS0xLXdyYXA6aG92ZXIgLnRlYW0taW1nOmJlZm9yZSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSg0KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDQpOwogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzOwp9CgoudGVhbS1pbWcgaW1nIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbjsKfQoKLnRlYW0tMS13cmFwOmhvdmVyIC50ZWFtLWltZyBpbWcgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7Cn0KCi50ZWFtLW92ZXJseS1jb250ZW50IHVsIGxpIGEgewogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIHdpZHRoOiAzNXB4OwogICAgaGVpZ2h0OiAzNXB4OwogICAgbGluZS1oZWlnaHQ6IDI1cHg7CiAgICBwYWRkaW5nOiA1cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgIG1hcmdpbjogNHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIGNvbG9yOiAjNzU3NTc1Owp9CgoudGVhbS1vdmVybHktY29udGVudCB1bCBsaSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMUEyQzc5Owp9CgoudGVhbS1pbmZvIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiAxNXB4Owp9CgovKnRlYW0gdHdvIHN0eWxlIGNzcyovCgouc3RhZmYtbWVtYmVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwp9Cgouc3RhZmYtbWVtYmVyIGltZyB7CiAgICB3aWR0aDogMTAwJTsKfQoKLnN0YWZmLW1lbWJlciBoNSwKLnN0YWZmLW1lbWJlciBwLAouc3RhZmYtbWVtYmVyIHNwYW4gewogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsKICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgb3BhY2l0eTogMTsKfQoKLnN0YWZmLW1lbWJlciBoNSwKLnN0YWZmLW1lbWJlciBwLAouc3RhZmYtbWVtYmVyIHNwYW4gewogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsKICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgb3BhY2l0eTogMTsKfQoKLnN0YWZmLW1lbWJlciBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGNvbG9yOiAjNzU3NTc1OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Cgouc3RhZmYtbWVtYmVyIC5vdmVybGF5IHsKICAgIGJhY2tncm91bmQ6ICMxQTJDNzk7CiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMUEyQzc5IDIlLCAjMDA3Y2M1IDgyJSk7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMUEyQzc5IDIlLCAjMDA3Y2M1IDgyJSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMxQTJDNzkgMiUsICMwMDdjYzUgODIlKTsKICAgIGNvbG9yOiAjZmZmOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcGFkZGluZzogNDBweCAzMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKfQoKLnN0YWZmLW1lbWJlciAub3ZlcmxheSAudGVhY2hlci1xdW90ZSB7CiAgICBmb250LXNpemU6IDAuOXJlbTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsKICAgIG9wYWNpdHk6IDA7Cn0KCi5zdGFmZi1tZW1iZXIgLm92ZXJsYXkgLnRlYWNoZXItbmFtZSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW4tdG9wOiAxNXB4Owp9Cgouc3RhZmYtbWVtYmVyIC5vdmVybGF5IGg1IHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsKICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjFzOwogICAgdHJhbnNpdGlvbi1kZWxheTogMC4xczsKICAgIG9wYWNpdHk6IDA7Cn0KCi5zdGFmZi1tZW1iZXIgLm92ZXJsYXkgLnRlYWNoZXItZmllbGQgewogICAgZm9udC1zaXplOiAwLjlyZW07CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMC4yczsKICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7CiAgICBvcGFjaXR5OiAwOwp9Cgouc3RhZmYtbWVtYmVyIC5vdmVybGF5IHVsLnNvY2lhbCB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIG9wYWNpdHk6IDA7Cn0KCi5zdGFmZi1tZW1iZXIgLm92ZXJsYXkgdWwuc29jaWFsIGxpIHsKICAgIG1hcmdpbjogMDsKfQoKLnN0YWZmLW1lbWJlciAub3ZlcmxheSB1bC5zb2NpYWwgYSB7CiAgICBtYXJnaW46IDAgNXB4OwogICAgd2lkdGg6IDM1cHg7CiAgICBoZWlnaHQ6IDM1cHg7CiAgICBsaW5lLWhlaWdodDogMzVweDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLnN0YWZmLW1lbWJlciAub3ZlcmxheSB1bC5zb2NpYWwgbGkgYTpob3ZlciBzcGFuIHsKICAgIGNvbG9yOiAjMDA3Y2M1Owp9Cgouc3RhZmYtbWVtYmVyIC5vdmVybGF5IHVsLnNvY2lhbCB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIG9wYWNpdHk6IDA7Cn0KCi5zdGFmZi1tZW1iZXI6aG92ZXIgLnNvY2lhbCB7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuM3M7CiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOwp9Cgouc3RhZmYtbWVtYmVyIC5vdmVybGF5IC50ZWFjaGVyLXNlZS1wcm9maWxlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsKICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogICAgb3BhY2l0eTogMDsKfQoKLnN0YWZmLW1lbWJlcjpob3ZlciAub3ZlcmxheSB7CiAgICBvcGFjaXR5OiAwLjkwOwp9Cgouc3RhZmYtbWVtYmVyOmhvdmVyIC5vdmVybGF5IGg1LAouc3RhZmYtbWVtYmVyOmhvdmVyIC5vdmVybGF5IHAsCi5zdGFmZi1tZW1iZXI6aG92ZXIgLm92ZXJsYXkgc3BhbiwKLnN0YWZmLW1lbWJlcjpob3ZlciAub3ZlcmxheSB1bC5zb2NpYWwgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwp9CgoudGVhbS1zb2NpYWwtbGlzdCBsaSBhIHsKICAgIHBhZGRpbmc6IDVweDsKfQoKLnRlYW0tc29jaWFsLWxpc3QgbGkgc3BhbiB7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgMTcuIFZJREVPIFBST01PIENTUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgoudmlkZW8tcGxheS1pY29uIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICB0b3A6IDQwJTsKICAgIGxlZnQ6IC0xMCU7Cn0KCi52aWRlby1wbGF5LWljb24gc3BhbiB7CiAgICB3aWR0aDogODBweDsKICAgIGhlaWdodDogODBweDsKICAgIGxpbmUtaGVpZ2h0OiA4MHB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgZm9udC1zaXplOiAzMHB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjVzOwogICAgcGFkZGluZy1sZWZ0OiA1cHg7Cn0KCi5jb2xvci1iaXAgc3BhbiB7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogcmlwcGxlIDFzIGxpbmVhciBpbmZpbml0ZTsKICAgIGFuaW1hdGlvbjogcmlwcGxlIDFzIGxpbmVhciBpbmZpbml0ZTsKfQoKLndoaXRlLWJpcCBzcGFuIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiByaXBwbGUtd2hpdGUgMXMgbGluZWFyIGluZmluaXRlOwogICAgYW5pbWF0aW9uOiByaXBwbGUtd2hpdGUgMXMgbGluZWFyIGluZmluaXRlOwp9CgphLnZpZGVvLXBsYXktaWNvbi13aXRob3V0LWJpcDpob3ZlciBzcGFuIHsKICAgIGNvbG9yOiAjZmZmZmZmOwp9CgphLnZpZGVvLXBsYXktaWNvbiB7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKYS52aWRlby1wbGF5LWljb24td2l0aG91dC1iaXAgewogICAgYW5pbWF0aW9uOiBub25lOwp9CgphLnZpZGVvLXBsYXktaWNvbi13aXRob3V0LWJpcDpob3ZlciB7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogcmlwcGxlLXdoaXRlIDFzIGxpbmVhciBpbmZpbml0ZTsKICAgIGFuaW1hdGlvbjogcmlwcGxlLXdoaXRlIDFzIGxpbmVhciBpbmZpbml0ZTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjVzOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzFBMkM3OTsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJpcHBsZSB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNTAsIDEwMCwgMjQ1LCAuMTUpLCAwIDAgMCAyMHB4IHJnYmEoNTAsIDEwMCwgMjQ1LCAuMTUpLCAwIDAgMCA0MHB4IHJnYmEoNTAsIDEwMCwgMjQ1LCAuMTUpOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg1MCwgMTAwLCAyNDUsIC4xNSksIDAgMCAwIDIwcHggcmdiYSg1MCwgMTAwLCAyNDUsIC4xNSksIDAgMCAwIDQwcHggcmdiYSg1MCwgMTAwLCAyNDUsIC4xNSkKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMjBweCByZ2JhKDUwLCAxMDAsIDI0NSwgLjE1KSwgMCAwIDAgNDBweCByZ2JhKDUwLCAxMDAsIDI0NSwgLjE1KSwgMCAwIDAgNjBweCByZ2JhKDUwLCAxMDAsIDI0NSwgMCk7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMjBweCByZ2JhKDUwLCAxMDAsIDI0NSwgLjE1KSwgMCAwIDAgNDBweCByZ2JhKDUwLCAxMDAsIDI0NSwgLjE1KSwgMCAwIDAgNjBweCByZ2JhKDUwLCAxMDAsIDI0NSwgMCkKICAgIH0KfQoKQGtleWZyYW1lcyByaXBwbGUgewogICAgMCUgewogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDUwLCAxMDAsIDI0NSwgLjE1KSwgMCAwIDAgMjBweCByZ2JhKDUwLCAxMDAsIDI0NSwgLjE1KSwgMCAwIDAgNDBweCByZ2JhKDUwLCAxMDAsIDI0NSwgLjE1KTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNTAsIDEwMCwgMjQ1LCAuMTUpLCAwIDAgMCAyMHB4IHJnYmEoNTAsIDEwMCwgMjQ1LCAuMTUpLCAwIDAgMCA0MHB4IHJnYmEoNTAsIDEwMCwgMjQ1LCAuMTUpCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDIwcHggcmdiYSg1MCwgMTAwLCAyNDUsIC4xNSksIDAgMCAwIDQwcHggcmdiYSg1MCwgMTAwLCAyNDUsIC4xNSksIDAgMCAwIDYwcHggcmdiYSg1MCwgMTAwLCAyNDUsIDApOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDIwcHggcmdiYSg1MCwgMTAwLCAyNDUsIC4xNSksIDAgMCAwIDQwcHggcmdiYSg1MCwgMTAwLCAyNDUsIC4xNSksIDAgMCAwIDYwcHggcmdiYSg1MCwgMTAwLCAyNDUsIDApCiAgICB9Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByaXBwbGUtd2hpdGUgewogICAgMCUgewogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIDAgMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCAwIDAgMCAyMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgMCAwIDAgMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIDAgMCAwIDIwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpCiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCAwIDAgMCAyMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgMCAwIDAgMzBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCAwIDAgMCAyMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgMCAwIDAgMzBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApCiAgICB9Cn0KCkBrZXlmcmFtZXMgcmlwcGxlLXdoaXRlIHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCAwIDAgMCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgMCAwIDAgMjBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIDAgMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCAwIDAgMCAyMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKQogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgMCAwIDAgMjBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIDAgMCAwIDMwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgMCAwIDAgMjBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIDAgMCAwIDMwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwKQogICAgfQp9CgouYWJvdXQtaW1nLXdyYXAgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgouYWJvdXQtaW1nLXdyYXAgaW1nIHsKICAgIGRpc3BsYXk6IGJsb2NrOwp9CgovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgIDE4LiBQUk9NTyBCTE9DSyBXSVRIIEhPVkVSIEJHIElNQUdFCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCi5zaW5nbGUtcHJvbW8tYmxvY2sgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKfQoKLnByb21vLWhvdmVyLWJnLTE6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2Jsb2cvMS5qcGciKTsKfQoKLnByb21vLWhvdmVyLWJnLTI6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2Jsb2cvMi5qcGciKTsKfQoKLnByb21vLWhvdmVyLWJnLTM6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2Jsb2cvMy5qcGciKTsKfQoKLnByb21vLWhvdmVyLWJnLTQ6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2Jsb2cvNC5qcGciKTsKfQoKLnByb21vLWhvdmVyLWJnLTU6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2Jsb2cvNS5qcGciKTsKfQoKLnByb21vLWhvdmVyLWJnLTY6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2Jsb2cvNi5qcGciKTsKfQoKLnNpbmdsZS1wcm9tby1ibG9jazpiZWZvcmUgewogICAgdG9wOiA4MCU7CiAgICBvcGFjaXR5OiAwOwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcyg0MCUpOwogICAgZmlsdGVyOiBicmlnaHRuZXNzKDQwJSk7Cn0KCi5zaW5nbGUtcHJvbW8tYmxvY2s6YmVmb3JlLAouc2luZ2xlLXByb21vLWJsb2NrOmFmdGVyIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcmlnaHQ6IDA7CiAgICBsZWZ0OiAwOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IGluaGVyaXQ7CiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKfQoKLnNpbmdsZS1wcm9tby1ibG9jazphZnRlciB7CiAgICB6LWluZGV4OiAxOwogICAgdG9wOiAxMDAlOwogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDc1ZGVnLCByZ2JhKDI2LCA0NCwgMTIxLCAwLjc1KSAxMCUsIHJnYmEoMjMyLCA1LCAxMDIsIDAuODApKTsKfQoKLnNpbmdsZS1wcm9tby1ibG9jaz4qIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDM7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNjdweCksCnNjcmVlbiBhbmQgKGFueS1ob3ZlcjogaG92ZXIpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpLApub3QgYWxsLApub3QgYWxsLApub3QgYWxsIHsKICAgIC5zaW5nbGUtcHJvbW8tYmxvY2suaG92ZXItaW1hZ2U6aG92ZXI6YmVmb3JlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMTdzIGVhc2Utb3V0IDAuMThzOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE3cyBlYXNlLW91dCAwLjE4czsKICAgIH0KICAgIC5zaW5nbGUtcHJvbW8tYmxvY2suaG92ZXItaW1hZ2U6aG92ZXI6YmVmb3JlLAogICAgLnNpbmdsZS1wcm9tby1ibG9jay5ob3Zlci1pbWFnZTpob3ZlcjphZnRlciB7CiAgICAgICAgdG9wOiAwOwogICAgfQogICAgLnNpbmdsZS1wcm9tby1ibG9jay5ob3Zlci1pbWFnZTpob3ZlciAucHJvbW8tYmxvY2stY29udGVudCBoNSwKICAgIC5zaW5nbGUtcHJvbW8tYmxvY2suaG92ZXItaW1hZ2U6aG92ZXIgLnByb21vLWJsb2NrLWljb24gc3BhbiB7CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICB9CiAgICAuc2luZ2xlLXByb21vLWJsb2NrLmhvdmVyLWltYWdlOmhvdmVyIC5wcm9tby1ibG9jay1jb250ZW50IHAgewogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOwogICAgfQp9Cgoub3ZlcmxheS10b3AtaW1nIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogLTI3cHg7Cn0KCi5wcm9qZWN0LWluZm8tbGlzdCBsaSB7CiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMxQTJDNzk7CiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpOwp9CgoucHJvamVjdC1pbmZvLWxpc3QgbGkgYSB7CiAgICBjb2xvcjogIzcwNzA3MDsKfQoKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAxOS4gVEVTVElNT05JQUwgQ1NTCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCi50ZXN0aW1vbmlhbC1zaW5nbGUgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5jbGllbnQtaW5mbyBoNSB7CiAgICBmb250LXNpemU6IDE1cHg7Cn0KCi8qb3dsIGNhcm91c2VsIHNsaWRlciovCgoub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAuY2xpZW50LWltZyBpbWcgewogICAgd2lkdGg6IDYwcHg7CiAgICBkaXNwbGF5OiBpbml0aWFsOwp9CgouY2xpZW50LXJhdHRpbmctbGlzdCBsaTpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1yaWdodDogMDsKICAgIGxpbmUtaGVpZ2h0OiAxNHB4Owp9CgouY2xpZW50LXJhdHRpbmctbGlzdCBsaSBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKfQoKLyp0ZXN0aW1vbmlhbCBvbGQqLwoKLmJnLWxlZnQtc2hhcGUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouYmctbGVmdC1zaGFwZTpiZWZvcmUgewogICAgY29udGVudDogIiI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB6LWluZGV4OiAtMTsKICAgIHdpZHRoOiA1MCU7CiAgICBoZWlnaHQ6IDgwJTsKICAgIGxlZnQ6IDE1JTsKICAgIHRvcDogMjIlOwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWcvZ2xvYmUtYmcucG5nIik7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOwp9CgoudGVzdGltb25pYWwtd3JhcCB7CiAgICBwYWRkaW5nOiAzMHB4Owp9CgoudGVzdGltb25pYWwtd3JhcCBzcGFuLmljb24gewogICAgZm9udC1zaXplOiAzNXB4OwogICAgY29sb3I6ICMxQTJDNzk7Cn0KCi50ZXN0aW1vbmlhbC13cmFwIGJsb2NrcXVvdGUgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBoZWlnaHQ6IDEyN3B4OwogICAgLXdlYmtpdC1saW5lLWNsYW1wOiA0OwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIG1hcmdpbi1ib3R0b206IDA7Cn0KCi5jbGllbnQtc2F5IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLmNsaWVudC1zYXkgcCB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGhlaWdodDogMTEwcHg7CiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDQ7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGZsb2F0OiBsZWZ0Owp9CgouY2xpZW50LXNheSBwIHNwYW4gewogICAgZm9udC1zaXplOiAzMnB4OwogICAgY29sb3I6ICMxQTJDNzk7Cn0KCi5jbGllbnQtc2F5IGltZyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogNiUgIWltcG9ydGFudDsKICAgIGRpc3BsYXk6IGluaXRpYWwgIWltcG9ydGFudDsKICAgIHRvcDogNXB4OwogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Owp9CgouYXV0aG9yLWltZyB7CiAgICB3aWR0aDogNC40MjVyZW07CiAgICBoZWlnaHQ6IDQuNDI1cmVtOwogICAgbGluZS1oZWlnaHQ6IDQuNDI1cmVtOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsKfQoKLmRvdC1pbmRpY2F0b3Iub3dsLXRoZW1lIGJ1dHRvbi5vd2wtZG90IHNwYW4gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDEycHg7CiAgICBoZWlnaHQ6IDEycHg7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgYmFja2dyb3VuZDogI2Q4ZDhkODsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogICAgdHJhbnNpdGlvbjogMC4zczsKfQoKLmRvdC1pbmRpY2F0b3Iub3dsLXRoZW1lIGJ1dHRvbi5vd2wtZG90OmZvY3VzIHsKICAgIGJvcmRlcjogbm9uZTsKICAgIG91dGxpbmU6IG5vbmU7Cn0KCi5kb3QtaW5kaWNhdG9yLm93bC10aGVtZSBidXR0b24ub3dsLWRvdC5hY3RpdmUgc3BhbiB7CiAgICBiYWNrZ3JvdW5kOiAjNzIwMmJiOwogICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsKfQoKLnNjcmVlbi1jYXJvdXNlbC5kb3QtaW5kaWNhdG9yLm93bC10aGVtZSAub3dsLW5hdi5kaXNhYmxlZCsub3dsLWRvdHMgewogICAgbWFyZ2luLXRvcDogMjBweDsKfQoKLmFycm93LWluZGljYXRvci5vd2wtdGhlbWUgLm93bC1uYXYgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIG1hcmdpbi10b3A6IDRweDsKfQoKLmFycm93LWluZGljYXRvci5vd2wtdGhlbWUgLm93bC1uYXYgW2NsYXNzKj1vd2wtXSB7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogNDBweDsKICAgIG1hcmdpbjogMnB4OwogICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMTIsIDEyLCAxMiwgMC4xMik7CiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwp9CgouYXJyb3ctaW5kaWNhdG9yLm93bC10aGVtZSAub3dsLW5hdiBbY2xhc3MqPW93bC1dOmZvY3VzIHsKICAgIG91dGxpbmU6IG5vbmU7Cn0KCi5hcnJvdy1pbmRpY2F0b3Iub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLV0gc3BhbiB7CiAgICBmb250LXNpemU6IDIwcHg7CiAgICBsaW5lLWhlaWdodDogMjBweDsKICAgIGNvbG9yOiAjMUEyQzc5Owp9CgouYXJyb3ctaW5kaWNhdG9yLm93bC10aGVtZSAub3dsLW5hdiBbY2xhc3MqPW93bC1dOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMxQTJDNzkgIWltcG9ydGFudDsKfQoKLmFycm93LWluZGljYXRvci5vd2wtdGhlbWUgLm93bC1uYXYgW2NsYXNzKj1vd2wtXTpob3ZlciBzcGFuIHsKICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7Cn0KCi8qY2xpZW50IHNlY3Rpb24gY3NzKi8KCi5jbGllbnQtc2VjdGlvbi13cmFwIHVsIHsKICAgIGRpc3BsYXk6IGJsb2NrOwp9CgouY2xpZW50LXNlY3Rpb24td3JhcCB1bCBsaSB7CiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OwogICAgbWFyZ2luOiA1cHggMDsKfQoKLmNsaWVudC1zZWN0aW9uLXdyYXAgdWwgbGkgaW1nIHsKICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW47Cn0KCi5jbGllbnQtc2VjdGlvbi13cmFwIHVsIGxpIGltZzpob3ZlciB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjIpOwogICAgZmlsdGVyOiBub25lOwogICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgwJSk7Cn0KCi5jbGllbnQtc2VjdGlvbi13cmFwIHVsIGxpOmxhc3QtY2hpbGQgewogICAgcGFkZGluZy1yaWdodDogMDsKfQoKLnNpbmdsZS1jbGllbnQgewogICAgZGlzcGxheTogLW1zLWdyaWQ7CiAgICBkaXNwbGF5OiBncmlkOwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWdyaWQtY29sdW1uLWFsaWduOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7CiAgICB3aWR0aDogNjAlOwogICAgaGVpZ2h0OiBhdXRvOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuNXMgZWFzZS1pbjsKICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC41cyBlYXNlLWluOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBlYXNlLWluOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBlYXNlLWluLCAtd2Via2l0LXRyYW5zZm9ybSAuNXMgZWFzZS1pbjsKICAgIG1hcmdpbjogOHB4IGF1dG87Cn0KCi5zaW5nbGUtY2xpZW50IGltZyB7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgLXdlYmtpdC1maWx0ZXI6IG9wYWNpdHkoNTAlKTsKICAgIGZpbHRlcjogb3BhY2l0eSg5MCUpOwogICAgd2lkdGg6IDEwMCU7Cn0KCi5zaW5nbGUtY2xpZW50OmhvdmVyIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOwogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsKfQoKLnNpbmdsZS1jbGllbnQ6aG92ZXIgLmNsaWVudC1pbWcgewogICAgLXdlYmtpdC1maWx0ZXI6IG5vbmU7CiAgICBmaWx0ZXI6IG5vbmU7CiAgICBvcGFjaXR5OiAxOwp9Cgouc2hhcGUtaW1nIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDI7CiAgICB3aWR0aDogMTAwJTsKfQoKLnNoYXBlLWltZyBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBtYXgtd2lkdGg6IG5vbmU7CiAgICBoZWlnaHQ6IGF1dG87Cn0KCi5jbGllbnQtaW1nLWxpc3QgbGkuY2xpZW50LXRodW1iIGltZyB7CiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCAwIHJnYmEoMCwgMCwgMCwgLjIpOwogICAgYm9yZGVyOiA0cHggc29saWQgI2ZmZmZmZjsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKfQoKLmNsaWVudC1pbWctbGlzdCBsaS5jbGllbnQtdGh1bWIgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9CgouY2xpZW50LWltZy1saXN0IGxpLmNsaWVudC0xIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDE1JTsKICAgIHdpZHRoOiAxMjBweDsKICAgIGhlaWdodDogMTIwcHg7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogdGh1bWItc2NhbGUtdXAtb25lIDdzIGluZmluaXRlIGxpbmVhcjsKICAgIGFuaW1hdGlvbjogdGh1bWItc2NhbGUtdXAtb25lIDdzIGluZmluaXRlIGxpbmVhcjsKfQoKLmNsaWVudC1pbWctbGlzdCBsaS5jbGllbnQtMiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTIwcHg7CiAgICBoZWlnaHQ6IDEyMHB4OwogICAgcmlnaHQ6IDM1JTsKICAgIHRvcDogMDsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiB0aHVtYi1zY2FsZS11cC10d28gNnMgaW5maW5pdGUgbGluZWFyOwogICAgYW5pbWF0aW9uOiB0aHVtYi1zY2FsZS11cC10d28gNnMgaW5maW5pdGUgbGluZWFyOwp9CgouY2xpZW50LWltZy1saXN0IGxpLmNsaWVudC0zIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMzBweDsKICAgIGhlaWdodDogMTMwcHg7CiAgICB0b3A6IDA7CiAgICByaWdodDogNTBweDsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiB0aHVtYi1zY2FsZS11cC10aHJlZSA4cyBpbmZpbml0ZSBsaW5lYXI7CiAgICBhbmltYXRpb246IHRodW1iLXNjYWxlLXVwLXRocmVlIDhzIGluZmluaXRlIGxpbmVhcjsKfQoKLmNsaWVudC1pbWctbGlzdCBsaS5jbGllbnQtNCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTEwcHg7CiAgICBoZWlnaHQ6IDExMHB4OwogICAgdG9wOiAxMjVweDsKICAgIGxlZnQ6IDkwcHg7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogdGh1bWItc2NhbGUtdXAtb25lIDdzIGluZmluaXRlIGxpbmVhcjsKICAgIGFuaW1hdGlvbjogdGh1bWItc2NhbGUtdXAtb25lIDdzIGluZmluaXRlIGxpbmVhcjsKfQoKLmNsaWVudC1pbWctbGlzdCBsaS5jbGllbnQtNSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTYwcHg7CiAgICBoZWlnaHQ6IDE2MHB4OwogICAgbGVmdDogMzclOwogICAgdG9wOiA3MHB4OwogICAgLXdlYmtpdC1hbmltYXRpb246IHRodW1iLXNjYWxlLXVwLXRocmVlIDhzIGluZmluaXRlIGxpbmVhcjsKICAgIGFuaW1hdGlvbjogdGh1bWItc2NhbGUtdXAtdGhyZWUgOHMgaW5maW5pdGUgbGluZWFyOwp9CgouY2xpZW50LWltZy1saXN0IGxpLmNsaWVudC02IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMjBweDsKICAgIGhlaWdodDogMTIwcHg7CiAgICBsZWZ0OiAxODBweDsKICAgIHRvcDogMjAwcHg7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogdGh1bWItc2NhbGUtdXAtdHdvIDZzIGluZmluaXRlIGxpbmVhcjsKICAgIGFuaW1hdGlvbjogdGh1bWItc2NhbGUtdXAtdHdvIDZzIGluZmluaXRlIGxpbmVhcjsKfQoKLmNsaWVudC1pbWctbGlzdCBsaS5jbGllbnQtNyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDEzMHB4OwogICAgcmlnaHQ6IDExMHB4OwogICAgd2lkdGg6IDEwMHB4OwogICAgaGVpZ2h0OiAxMDBweDsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiB0aHVtYi1zY2FsZS11cC1vbmUgN3MgaW5maW5pdGUgbGluZWFyOwogICAgYW5pbWF0aW9uOiB0aHVtYi1zY2FsZS11cC1vbmUgN3MgaW5maW5pdGUgbGluZWFyOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgdGh1bWItdGh1bWItc2NhbGUtdXAtb25lIHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIH0KICAgIDQwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC41KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTsKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgfQp9CgpAa2V5ZnJhbWVzIHRodW1iLXNjYWxlLXVwLW9uZSB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICB9CiAgICA0MCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguNSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNSk7CiAgICB9CiAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIH0KfQoKQC13ZWJraXQta2V5ZnJhbWVzIHRodW1iLXNjYWxlLXVwLXR3byB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC41KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTsKICAgIH0KICAgIDQwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTsKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguNSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNSk7CiAgICB9Cn0KCkBrZXlmcmFtZXMgdGh1bWItc2NhbGUtdXAtdHdvIHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjUpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjUpOwogICAgfQogICAgNDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjgpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC41KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTsKICAgIH0KfQoKQC13ZWJraXQta2V5ZnJhbWVzIHRodW1iLXNjYWxlLXVwLXRocmVlIHsKICAgIDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjcpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjcpOwogICAgfQogICAgNDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjQpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjUpOwogICAgfQogICAgMTAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC43KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC43KTsKICAgIH0KfQoKQGtleWZyYW1lcyB0aHVtYi1zY2FsZS11cC10aHJlZSB7CiAgICAwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC43KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC43KTsKICAgIH0KICAgIDQwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC40KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTsKICAgIH0KICAgIDEwMCUgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguNyk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguNyk7CiAgICB9Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAyMC4gU1VCU0NSSUJFIEZPUk0gQ1NTCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCi5zdWJzY3JpYmUtZm9ybSAjZW1haWwgewogICAgYmFja2dyb3VuZDogI0ZERkNGQjsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgY29sb3I6ICM3MzczNzM7CiAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgdGV4dC1pbmRlbnQ6IDUlOwogICAgYm9yZGVyLXJhZGl1czogMzBweDsKfQoKLnN1YnNjcmliZS1mb3JtIGlucHV0LmJ1dHRvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogOHB4OwogICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgIHBhZGRpbmc6IGluaXRpYWw7CiAgICB0b3A6IDhweDsKICAgIGJvdHRvbTogOHB4OwogICAgd2lkdGg6IDMwJTsKfQoKLnN1YnNjcmliZS1mb3JtLWZvb3RlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC00MHB4OwogICAgd2lkdGg6IDEwMCU7Cn0KCi5zdWJzY3JpYmUtZm9ybS1mb290ZXIgaW5wdXQuZm9ybS1jb250cm9sIHsKICAgIHBhZGRpbmc6IDIuMDE3NXJlbSAxLjE1cmVtOwogICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjIyKTsKfQoKLnN1YnNjcmliZS1mb3JtLWZvb3RlciBpbnB1dC5idXR0b24gewogICAgYm9yZGVyLXJhZGl1czogNTBweDsKfQoKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgIDIxLiBBQ0NPUkRJT04gRkFRIENTUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgouYWNjb3JkaW9uLWZhcS5hY2NvcmRpb24+LmNhcmQgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLmFjY29yZGlvbi1mYXEuYWNjb3JkaW9uIC5jYXJkLWhlYWRlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwp9CgouYWNjb3JkaW9uLWZhcS5hY2NvcmRpb24gLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4zNzVyZW0gLSAxcHgpIGNhbGMoMC4zNzVyZW0gLSAxcHgpIDAgMDsKfQoKLmFjY29yZGlvbi1mYXEuYWNjb3JkaW9uIC5jYXJkLWhlYWRlciB7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VGRjJGNzsKfQoKLmFjY29yZGlvbi1mYXEuYWNjb3JkaW9uPi5jYXJkOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlci1yYWRpdXM6IDA7Cn0KCi5hY2NvcmRpb24tZmFxLmFjY29yZGlvbj4uY2FyZCAuY2FyZC1oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogLTFweDsKfQoKLmFjY29yZGlvbi1mYXEuYWNjb3JkaW9uPi5jYXJkIC5jYXJkLWhlYWRlciBoNiB7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKfQoKLmFjY29yZGlvbi1mYXEuYWNjb3JkaW9uIC5jYXJkLWhlYWRlclthcmlhLWV4cGFuZGVkPWZhbHNlXTphZnRlciB7CiAgICBjb250ZW50OiAiKyI7Cn0KCi5hY2NvcmRpb24tZmFxLmFjY29yZGlvbiAuY2FyZC1oZWFkZXJbYXJpYS1leHBhbmRlZD10cnVlXTphZnRlciB7CiAgICBjb250ZW50OiAiLSI7Cn0KCi5hY2NvcmRpb24tZmFxLmFjY29yZGlvbiAuY2FyZC1oZWFkZXI6YWZ0ZXIgewogICAgY29udGVudDogIisiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDEuNXJlbTsKICAgIHRvcDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAyMi4gQ09OVEVOVCBCT1ggQ1NTCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCi5zZXJ2aWNlLWJsb2NrLW9uZSAuaW5uZXItYm94IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwp9Cgouc2VydmljZS1ibG9jay1vbmUgLmlubmVyLWJveCAuaW1hZ2UtYm94IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICBiYWNrZ3JvdW5kOiAjMUEyQzc5OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnNlcnZpY2UtYmxvY2stb25lIC5pbm5lci1ib3ggLmltYWdlLWJveCBhIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDE7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi5zZXJ2aWNlLWJsb2NrLW9uZSAuaW5uZXItYm94IC5pbWFnZS1ib3ggaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlOwogICAgZGlzcGxheTogYmxvY2s7Cn0KCmZpZ3VyZSB7CiAgICBtYXJnaW46IDA7Cn0KCi5zZXJ2aWNlLWJsb2NrLW9uZSAuaW5uZXItYm94IC5jb250ZW50LWJveCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nOiAyOHB4IDMwcHggMzBweCAyNDBweDsKICAgIG1pbi1oZWlnaHQ6IDMwMHB4Owp9Cgouc2VydmljZS1ibG9jay1vbmUgLmlubmVyLWJveDpob3ZlciAuaW1hZ2UtYm94IGltZyB7CiAgICBvcGFjaXR5OiAwLjU7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwp9Cgouc2VydmljZS1ibG9jay1vbmUgLmlubmVyLWJveCAuY29udGVudC1ib3ggLmljb24tYm94IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGZvbnQtc2l6ZTogNTVweDsKICAgIGxpbmUtaGVpZ2h0OiA1NXB4OwogICAgY29sb3I6ICMwMDA7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgbWFyZ2luLWJvdHRvbTogMTdweDsKfQoKLnNlcnZpY2UtYmxvY2stb25lIC5pbm5lci1ib3ggLmNvbnRlbnQtYm94IC5saW5rLWJ0biBhIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLnNlcnZpY2UtYmxvY2stb25lIC5pbm5lci1ib3ggLmNvbnRlbnQtYm94IC5saW5rLWJ0biBpIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlOwp9Cgouc2VydmljZS1ibG9jay1vbmUgLmlubmVyLWJveCAuY29udGVudC1ib3ggLmxpbmstYnRuIGE6aG92ZXIgaSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwp9CgpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7CiAgICAuc2VydmljZS1ibG9jay1vbmUgLmlubmVyLWJveCAuaW1hZ2UtYm94IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CiAgICAuc2VydmljZS1ibG9jay1vbmUgLmlubmVyLWJveCAuaW1hZ2UtYm94IGEgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgfQogICAgLnNlcnZpY2Utc2VjdGlvbiAuc2VydmljZS1ibG9jay1vbmUgLmlubmVyLWJveCAuY29udGVudC1ib3ggewogICAgICAgIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7CiAgICB9CiAgICAuc2VydmljZS1ibG9jay1vbmUgLmlubmVyLWJveCAuY29udGVudC1ib3ggewogICAgICAgIHBhZGRpbmctbGVmdDogMzBweDsKICAgIH0KfQoKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAyMy4gUFJJQ0lORyBDU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLmNhcmQuc2luZ2xlLXByaWNpbmctcGFjayB7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlIDBzOwogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNlYmViZWI7CiAgICBib3JkZXI6IG5vbmU7CiAgICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KCi5jYXJkLnNpbmdsZS1wcmljaW5nLXBhY2s6aG92ZXIgewogICAgei1pbmRleDogMjsKICAgIGJvcmRlci1yYWRpdXM6IDFyZW0gIWltcG9ydGFudDsKfQoKLnNpbmdsZS1wcmljaW5nLXBhY2s6aG92ZXIgewogICAgYm94LXNoYWRvdzogMCAxcmVtIDNyZW0gcmdiYSgzMSwgNDUsIDYxLCAuMTI1KSAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTVweCk7CiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzFBMkM3OTsKfQoKLnNpbmdsZS1wcmljaW5nLXBhY2sgLmNhcmQtYm9keSB7CiAgICBjb2xvcjogcmdiKDEzMiwgMTQ2LCAxNjYpOwogICAgZmxleDogMSAxIGF1dG87CiAgICBwYWRkaW5nOiAxLjVyZW07Cn0KCi5wcmljaW5nLWhlYWRlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQoKLnByaWNpbmctaW1nIHsKICAgIHdpZHRoOiAxMjBweDsKICAgIGhlaWdodDogMTIwcHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBsaW5lLWhlaWdodDogMTIwcHg7CiAgICBtYXJnaW46IDAgYXV0bzsKfQoKLmZvbnQtd2VpZ2h0LWJvbGRlciB7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKfQoKLnByaWNpbmctaGVhZGVyOjphZnRlciB7CiAgICBjb250ZW50OiAiIjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDgwJTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDUwJTsKICAgIG1hcmdpbi1sZWZ0OiAtNDAlOwogICAgaGVpZ2h0OiAxcHg7CiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoYXQgY2VudGVyIGNlbnRlciwgcmdiKDIyMiwgMjI4LCAyMzkpIDBweCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA3NSUpOwp9CgoucHJpY2luZy1mZWF0dXJlLWxpc3QgbGkgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGluZS1oZWlnaHQ6IDI4cHg7Cn0KCi8qcHJpY2UgbmV3IHN0eWxlKi8KCi5wb3B1bGFyLXByaWNlIHsKICAgIGJveC1zaGFkb3c6IDAgMXJlbSAzcmVtIHJnYmEoMzEsIDQ1LCA2MSwgLjEyNSkgIWltcG9ydGFudDsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01cHgpOwogICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMxQTJDNzkgIWltcG9ydGFudDsKfQoKLnByaWNpbmctdmFsdWUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogYmxvY2s7Cn0KCi5wcmljaW5nLXZhbHVlLmNhcmQtZm9vdGVyIHsKICAgIGJvcmRlci1jb2xvcjogI2ViZWJlYjsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgoucHJpY2luZy12YWx1ZS5jYXJkLWZvb3Rlcjo6YWZ0ZXIgewogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMHM7CiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IDBzOwogICAgdHJhbnNpdGlvbi1kZWxheTogMHM7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA1MCU7CiAgICByaWdodDogMi44NzVyZW07CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbnRlbnQ6ICJcZTYyOCI7CiAgICBmb250LXNpemU6IDEuMzc1cmVtOwogICAgZm9udC1mYW1pbHk6ICJ0aGVtaWZ5IjsKfQoKLnByaWNpbmctdmFsdWUuY2FyZC1mb290ZXI6aG92ZXIgewogICAgYmFja2dyb3VuZDogIzFBMkM3OTsKICAgIGNvbG9yOiAjZmZmZmZmOwp9CgoucHJpY2luZy12YWx1ZS5jYXJkLWZvb3Rlcjpob3Zlcjo6YWZ0ZXIgewogICAgcmlnaHQ6IDEuODc1cmVtOwogICAgY29sb3I6IGluaGVyaXQ7Cn0KCi5wcmljaW5nLXZhbHVlIC5jYXJkLXByaWNlIHsKICAgIGZvbnQtc2l6ZTogMi41cmVtOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKfQoKYS5wcmljaW5nLXZhbHVlIHsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGNvbG9yOiAjNzU3NTc1Owp9CgovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgMjQuIFNJTkdMRSBQQUdFIEhFQURFUiBDU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTc2cHgpIHsKICAgIC5wYWdlLWhlYWRlci1jb250ZW50IHsKICAgICAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OwogICAgfQp9CgouY3VzdG9tLWJyZWFkY3J1bWIgb2wgewogICAgbWFyZ2luLWJvdHRvbTogMDsKfQoKLmN1c3RvbS1icmVhZGNydW1iIG9sIGxpIGEsCi5jdXN0b20tYnJlYWRjcnVtYiBvbCBsaS5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgb3BhY2l0eTogMC43Owp9CgouY3VzdG9tLWJyZWFkY3J1bWIgb2wgbGkgYTpob3ZlciB7CiAgICBvcGFjaXR5OiAxOwp9CgouY3VzdG9tLWJyZWFkY3J1bWIgb2wgbGkuYnJlYWRjcnVtYi1pdGVtIHsKICAgIHBhZGRpbmctbGVmdDogMDsKfQoKLmN1c3RvbS1icmVhZGNydW1iIC5icmVhZGNydW1iLWl0ZW0rLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHsKICAgIGZvbnQtZmFtaWx5OiB0aGVtaWZ5OwogICAgY29udGVudDogIlxlNjQ5IjsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgb3BhY2l0eTogMC43Owp9CgovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgIDI1LiBDT05UQUNUIFVTIENTUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgouc2luZ2xlLXByb21vLWNhcmQgewogICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlOwp9CgouY2FyZC5zaW5nbGUtcHJvbW8tY2FyZCB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWZmMmY3OwogICAgYm9yZGVyLXJhZGl1czogMXJlbTsKfQoKLnNpbmdsZS1wcm9tby1jYXJkIC5jYXJkLWJvZHkgewogICAgcGFkZGluZzogMS41cmVtOwp9Cgouc2luZ2xlLXByb21vLWhvdmVyOmhvdmVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsKICAgIGJveC1zaGFkb3c6IDAgMXJlbSAzcmVtIHJnYmEoMzEsIDQ1LCA2MSwgLjEyNSkgIWltcG9ydGFudDsKfQoKLmxpbmstY29sb3IgewogICAgY29sb3I6ICM3MDcwNzA7Cn0KCi5nb29nbGUtbWFwIHsKICAgIGhlaWdodDogMTAwJTsKICAgIG1hcmdpbi1ib3R0b206IC04cHg7Cn0KCi5nb29nbGUtbWFwIGlmcmFtZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGJvcmRlcjogMDsKICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoOTklKTsKICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwp9CgovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgMjYuIEZPT1RFUiBDU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLmZvb3Rlci10b3AgewogICAgcGFkZGluZzogNjVweCAwOwp9Cgouc2VjdXJpdHktaWNvbi1saXN0IGxpIHsKICAgIG1hcmdpbjogMCAxNXB4IDEycHggMDsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTY3cHgpIHsKICAgIC5mb290ZXItdG9wIHsKICAgICAgICBwYWRkaW5nOiA1MHB4IDA7CiAgICB9Cn0KCi5mb290ZXItbmF2LXdyYXAgaDQgewogICAgZm9udC1zaXplOiAxM3B4OwogICAgbWFyZ2luLWJvdHRvbTogMS40cmVtCn0KCi5mb290ZXItbmF2LXdyYXAgdWwgbGkgYSB7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBsaW5lLWhlaWdodDogMjRweDsKICAgIHBhZGRpbmc6IDNweCAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBvcGFjaXR5OiAwLjg7Cn0KCi5mb290ZXItbmF2LXdyYXAgdWwgbGkgYTpob3ZlciwKLmNvcHlyaWdodC10ZXh0IGE6aG92ZXIsCi5zb2NpYWwtbGlzdCBsaSBhOmhvdmVyIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi5wYXltZW50LW1ldGhvZCB1bCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KCi5wYXltZW50LW1ldGhvZCB1bCBsaSBpbWcgewogICAgbWF4LXdpZHRoOiA2MHB4Owp9CgoucGF5bWVudC1tZXRob2QgdWwgbGk6bGFzdC1jaGlsZCBpbWcgewogICAgbWFyZ2luLXJpZ2h0OiAwOwp9CgouY29weXJpZ2h0LXRleHQgewogICAgZm9udC1zaXplOiAxM3B4Owp9Cgouc29jaWFsLWxpc3QgbGkgYSB7CiAgICBwYWRkaW5nOiA2cHggMTBweDsKfQoKLmZvb3Rlci1uYXYtbGlzdCBsaSBhIHNwYW4gewogICAgZm9udC1zaXplOiAxMnB4OwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLmJvdHRvbS1zdGlja3ktZm9vdGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogMXB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDU1cHg7Cn0KCi5zb2NpYWwtbmF2IHVsIGxpIGEgewogICAgb3BhY2l0eTogMC44OwogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbjsKfQoKLnRvb2x0aXAtaG92ZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgoudG9vbHRpcC1ob3ZlciBhIHsKICAgIGRpc3BsYXk6IGJsb2NrOwp9CgoudG9vbHRpcC1pdGVtIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgY29sb3I6IHJnYig1MSwgNTEsIDUxKTsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGJvdHRvbTogOTAlOwogICAgbGVmdDogNTAlOwogICAgb3BhY2l0eTogMDsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICB6LWluZGV4OiA5OTk7CiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMikgMCA0cHggMTVweDsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMHB4LCAwcHgpOwogICAgcGFkZGluZzogMC40cmVtIDAuOHJlbTsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpIDBzOwp9CgoudG9vbHRpcC1pdGVtOmFmdGVyIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDA7CiAgICBoZWlnaHQ6IDBweDsKICAgIGJvdHRvbTogLTZweDsKICAgIGxlZnQ6IDUwJTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCByZ2IoMjU1LCAyNTUsIDI1NSk7CiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KCi50b29sdGlwLWhvdmVyOmhvdmVyIC50b29sdGlwLWl0ZW0gewogICAgb3BhY2l0eTogMTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICBib3R0b206IGNhbGMoMTAwJSArIDVweCk7Cn0KCi5nZXQtaW4tdG91Y2gtbGlzdCBsaSB7CiAgICBmb250LXNpemU6IDE0cHg7Cn0KCi5nZXQtaW4tdG91Y2gtbGlzdCBsaSBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMThweDsKfQoKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAyNy4gUFJFTE9BREVSIENTUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgojcHJlbG9hZGVyIHsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHotaW5kZXg6IDk5OTk7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwp9CgoubG9hZGVyMSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGxlZnQ6IDQ1JTsKICAgIHRvcDogNTAlOwp9CgoubG9hZGVyMSBzcGFuIHsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDEwcHg7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICBtYXJnaW46IDNweCAycHg7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogbG9hZGVyMSAwLjhzIGxpbmVhciBpbmZpbml0ZSBhbHRlcm5hdGU7CiAgICBhbmltYXRpb246IGxvYWRlcjEgMC44cyBsaW5lYXIgaW5maW5pdGUgYWx0ZXJuYXRlOwp9CgoubG9hZGVyMSBzcGFuOm50aC1jaGlsZCgxKSB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTFzOwogICAgYW5pbWF0aW9uLWRlbGF5OiAtMXM7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQxLCAxMDMsIDIzMCwgMC42KTsKfQoKLmxvYWRlcjEgc3BhbjpudGgtY2hpbGQoMikgewogICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjhzOwogICAgYW5pbWF0aW9uLWRlbGF5OiAtMC44czsKICAgIGJhY2tncm91bmQ6IHJnYmEoNDEsIDEwMywgMjMwLCAwLjgpOwp9CgoubG9hZGVyMSBzcGFuOm50aC1jaGlsZCgzKSB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuMjY2NjZzOwogICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4yNjY2NnM7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQxLCAxMDMsIDIzMCwgMSk7Cn0KCi5sb2FkZXIxIHNwYW46bnRoLWNoaWxkKDQpIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC44czsKICAgIGFuaW1hdGlvbi1kZWxheTogLTAuOHM7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQxLCAxMDMsIDIzMCwgMC44KTsKfQoKLmxvYWRlcjEgc3BhbjpudGgtY2hpbGQoNSkgewogICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0xczsKICAgIGFuaW1hdGlvbi1kZWxheTogLTFzOwogICAgYmFja2dyb3VuZDogcmdiYSg0MSwgMTAzLCAyMzAsIDAuNCk7Cn0KCkBrZXlmcmFtZXMgbG9hZGVyMSB7CiAgICBmcm9tIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApOwogICAgfQogICAgdG8gewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7CiAgICB9Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBsb2FkZXIxIHsKICAgIGZyb20gewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTsKICAgIH0KICAgIHRvIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7CiAgICB9Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgMjguIEJMT0cgUEFHRSBDU1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLnJvdy1wb3N0LXRodW1ibmFpbCAucG9zdCB7CiAgICBib3JkZXI6IDA7CiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDsKICAgIG1hcmdpbi1ib3R0b206IDI1cHg7Cn0KCi5wb3N0IHsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwOwogICAgcGFkZGluZzogMCAwIDM1cHg7CiAgICBtYXJnaW46IDAgMCA0NXB4Owp9CgoucG9zdC1wcmV2aWV3IHsKICAgIHBhZGRpbmctYm90dG9tOiA1cHg7CiAgICBib3JkZXItcmFkaXVzOiAuMTg3NXJlbTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7Cn0KCi5wb3N0LXByZXZpZXcgaW1nIHsKICAgIGJvcmRlci1yYWRpdXM6IC4xODc1cmVtOwogICAgd2lkdGg6IDEwMCU7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLnBvc3QtaGVhZGVyIHsKICAgIG1hcmdpbjogMTVweCAwIDIwcHg7Cn0KCi5wb3N0LWhlYWRlciAucG9zdC10aXRsZSB7CiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICBjb2xvcjogIzMzMzMzMzsKfQoKLnBvc3QtaGVhZGVyIC5wb3N0LXRpdGxlIGEgewogICAgY29sb3I6ICM1ZDVkNWQ7Cn0KCi5wb3N0LWhlYWRlciAucG9zdC10aXRsZSBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDA3Y2M1Owp9CgoucG9zdC1tZXRhIHsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBmb250LXNpemU6IC44MTI1cmVtOwogICAgcGFkZGluZzogMDsKICAgIG1hcmdpbjogMDsKfQoKLnBvc3QtbWV0YSBhLAoucG9zdC1tZXRhIGxpIHsKICAgIGNvbG9yOiAjNDk1MDU3OwogICAgb3BhY2l0eTogMC44Owp9CgoucG9zdC1tZXRhIGE6aG92ZXIgewogICAgY29sb3I6ICMwMDdjYzU7CiAgICBvcGFjaXR5OiAxOwp9CgoucG9zdC1tZXRhPmxpIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBhZGRpbmc6IDAgMTRweCAwIDA7CiAgICBtYXJnaW46IDAgMTRweCAwIDA7Cn0KCi5wb3N0LW1ldGE+bGk6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnLyc7CiAgICByaWdodDogLTVweDsKICAgIHRvcDogMDsKfQoKLnBvc3QtY29udGVudCBwIHsKICAgIG1hcmdpbi1ib3R0b206IDVweDsKfQoKLnBvc3QtbW9yZSBhIHNwYW4gewogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLnBvc3QtZm9vdGVyIHsKICAgIG1hcmdpbi10b3A6IDE1cHg7Cn0KCi8qYmxvZyBzaW5nbGUgY3NzKi8KCi5wb3N0LWNvbnRlbnQgYmxvY2txdW90ZSB7CiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNlYWVhZWE7CiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCA0MHB4OwogICAgbWFyZ2luOiA0MHB4IDA7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0Owp9CgoucG9zdC1jb250ZW50IGJsb2NrcXVvdGU6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiAjMDA3Y2M1Owp9CgouYmxvY2txdW90ZSB7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6ICMyMjI7Cn0KCi5wb3N0LWNvbnRlbnQgb2wgewogICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsOwp9CgoucG9zdC1jb250ZW50IHVsLAoucG9zdC1jb250ZW50IG9sIHsKICAgIG1hcmdpbjogMTVweCAwIDE1cHggNDBweDsKfQoKLypjb21tZW50cyBjc3MqLwoKLmNvbW1lbnQsCi5jb21tZW50LXNob3AgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7CiAgICBwYWRkaW5nOiAzMHB4IDAgMDsKfQoKLmNvbW1lbnQtYXV0aG9yLAouY29tbWVudC1hdXRob3Itc2hvcCB7CiAgICBtYXJnaW46IDVweCAwIDA7CiAgICBoZWlnaHQ6IDY0cHg7CiAgICB3aWR0aDogNjRweDsKICAgIGZsb2F0OiBsZWZ0Owp9CgouY29tbWVudC1ib2R5LAouY29tbWVudC1ib2R5LXNob3AgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgcGFkZGluZzogMCAwIDMwcHg7CiAgICBtYXJnaW46IDAgMCAwIDg1cHg7Cn0KCi5jb21tZW50LW1ldGEsCi5jb21tZW50LW1ldGEtc2hvcCB7CiAgICBtYXJnaW46IDAgMCAxNXB4Owp9CgouY29tbWVudC1tZXRhLWRhdGUgewogICAgZm9udC1zaXplOiAxM3B4Owp9CgouY2hpbGRyZW4+LmNvbW1lbnQsCi5jaGlsZHJlbj4uY29tbWVudC1zaG9wIHsKICAgIGJvcmRlcjogMDsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjBmMGYwOwogICAgbWFyZ2luLWxlZnQ6IDg1cHg7Cn0KCi5jb21tZW50LW1ldGEtYXV0aG9yIGEsCi5jb21tZW50LW1ldGEtYXV0aG9yLXNob3AgYSB7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6ICMyMjI7Cn0KCi5jb21tZW50LW1ldGEtZGF0ZSBhLAouY29tbWVudC1tZXRhLWRhdGUtc2hvcCBhIHsKICAgIGNvbG9yOiAjNzg4NDg3OwogICAgb3BhY2l0eTogLjY7Cn0KCi5jb21tZW50LW1ldGEtZGF0ZSBhOmhvdmVyLAouY29tbWVudC1tZXRhLWRhdGUgYTpmb2N1cywKLmNvbW1lbnQtbWV0YS1kYXRlLXNob3AgYTpob3ZlciwKLmNvbW1lbnQtbWV0YS1kYXRlLXNob3AgYTpmb2N1cyB7CiAgICBjb2xvcjogIzFBMkM3OTsKICAgIG9wYWNpdHk6IDE7Cn0KCi5jb21tZW50LXJlcGx5LAouY29tbWVudC1yZXBseS1zaG9wIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiAwOwogICAgZm9udC1zaXplOiAxM3B4Owp9CgouY29tbWVudC1yZXBseT5hLAouY29tbWVudC1yZXBseS1zaG9wPmEgewogICAgYmFja2dyb3VuZDogI2Y0ZjRmNDsKICAgIGJvcmRlci1yYWRpdXM6IC4xODc1cmVtOwogICAgcGFkZGluZzogNXB4IDE1cHg7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiAjMjIyOwp9CgouY29tbWVudC1yZXBseT5hOmhvdmVyLAouY29tbWVudC1yZXBseT5hOmZvY3VzLAouY29tbWVudC1yZXBseS1zaG9wPmE6aG92ZXIsCi5jb21tZW50LXJlcGx5LXNob3A+YTpmb2N1cyB7CiAgICBiYWNrZ3JvdW5kOiAjMDA3Y2M1OwogICAgOwogICAgY29sb3I6ICNmZmY7Cn0KCi5jb21tZW50LWxpc3QrLmNvbW1lbnQtcmVzcG9uZCwKLmNvbW1lbnQtbGlzdC1zaG9wKy5jb21tZW50LXJlc3BvbmQgewogICAgbWFyZ2luLXRvcDogMzBweDsKfQoKLypwYWdpbmF0aW9uKi8KCi5jdXN0b20tcGFnaW5hdGlvbi1uYXYgdWwgbGkgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Owp9CgouY3VzdG9tLXBhZ2luYXRpb24tbmF2IHVsIGxpOmZvY3VzLAouY3VzdG9tLXBhZ2luYXRpb24tbmF2IHVsIGxpIGE6Zm9jdXMgewogICAgb3V0bGluZTogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi5jdXN0b20tcGFnaW5hdGlvbi1uYXYgdWwgbGkgYS5wYWdlLWxpbmsgewogICAgd2lkdGg6IDM1cHg7CiAgICBoZWlnaHQ6IDM1cHg7CiAgICBsaW5lLWhlaWdodDogMzNweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICBwYWRkaW5nOiBpbmhlcml0OwogICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjb2xvcjogIzFBMkM3OTsKfQoKLmN1c3RvbS1wYWdpbmF0aW9uLW5hdiB1bCBsaSBhLnBhZ2UtbGluazpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjMDA3Y2M1OwogICAgY29sb3I6ICNGRkZGRkY7Cn0KCi5jdXN0b20tcGFnaW5hdGlvbi1uYXYgdWwgbGkucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmssCi5jdXN0b20tcGFnaW5hdGlvbi1uYXYgdWwgbGkucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQoKLmN1c3RvbS1wYWdpbmF0aW9uLW5hdiB1bCBsaS5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluazpob3ZlciwKLmN1c3RvbS1wYWdpbmF0aW9uLW5hdiB1bCBsaS5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rOmhvdmVyIHsKICAgIGNvbG9yOiAjMDA3Y2M1Owp9CgouY3VzdG9tLXBhZ2luYXRpb24tbmF2IHVsIGxpLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3Y2M1OwogICAgYm9yZGVyLWNvbG9yOiAjMDA3Y2M1Owp9CgovKmJsb2cgc2lkZWJhciovCgoud2lkZ2V0LXNlYXJjaCB7CiAgICBwYWRkaW5nOiAwOwogICAgYm9yZGVyOiAwOwp9Cgoud2lkZ2V0IHsKICAgIG1hcmdpbi1ib3R0b206IDUwcHg7Cn0KCi53aWRnZXQtc2VhcmNoIGZvcm0gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwp9Cgoud2lkZ2V0LXNlYXJjaCAuc2VhcmNoLWJ1dHRvbiB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlcjogbm9uZTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcmlnaHQ6IC44NzVyZW07CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0OwogICAgY29sb3I6ICNkZGQ7Cn0KCi53aWRnZXQtc2VhcmNoIC5zZWFyY2gtYnV0dG9uIHNwYW4gewogICAgZm9udC1zaXplOiAyMHB4OwogICAgbGluZS1oZWlnaHQ6IDMycHg7Cn0KCmJ1dHRvbiwKW3R5cGU9ImJ1dHRvbiJdLApbdHlwZT0icmVzZXQiXSwKW3R5cGU9InN1Ym1pdCJdIHsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOwp9Cgoud2lkZ2V0IC53aWRnZXQtdGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogMjRweDsKfQoKLndpZGdldCAud2lkZ2V0LXRpdGxlPmg2IHsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBtYXJnaW46IDA7CiAgICBjb2xvcjogIzc4ODQ4NzsKfQoKLndpZGdldCB1bCB7CiAgICBtYXJnaW4tYm90dG9tOiAwOwp9Cgoud2lkZ2V0LWNhdGVnb3JpZXMgdWwgbGk6Zmlyc3QtY2hpbGQsCi53aWRnZXQtcmVjZW50LWVudHJpZXMgdWwgbGk6Zmlyc3QtY2hpbGQsCi53aWRnZXQtcmVjZW50LWVudHJpZXMtY3VzdG9tIHVsIGxpOmZpcnN0LWNoaWxkIHsKICAgIHBhZGRpbmctdG9wOiAwOwp9Cgoud2lkZ2V0LWNhdGVnb3JpZXMgdWwgbGksCi53aWRnZXQtcmVjZW50LWVudHJpZXMgdWwgbGksCi53aWRnZXQtcmVjZW50LWVudHJpZXMtY3VzdG9tIHVsIGxpIHsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwOwogICAgcGFkZGluZzogMTBweCAwOwogICAgbWFyZ2luOiAwOwp9Cgoud2lkZ2V0IGEgewogICAgY29sb3I6ICM3ODg0ODc7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtc2l6ZTogMTRweDsKfQoKLndpZGdldCBhOmhvdmVyIHsKICAgIGNvbG9yOiAjMDA3Y2M1Owp9Cgoud2lkZ2V0LXJlY2VudC1lbnRyaWVzLWN1c3RvbSAud2kgewogICAgZmxvYXQ6IGxlZnQ7CiAgICB3aWR0aDogODBweDsKfQoKLndpZGdldC1yZWNlbnQtZW50cmllcy1jdXN0b20gLndiIHsKICAgIHBhZGRpbmctbGVmdDogMTZweDsKICAgIHdpZHRoOiAxMDAlOwp9Cgoud2lkZ2V0LXJlY2VudC1lbnRyaWVzLWN1c3RvbSAud2ksCi53aWRnZXQtcmVjZW50LWVudHJpZXMtY3VzdG9tIC53YiB7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgZGlzcGxheTogdGFibGUtY2VsbDsKfQoKLnBvc3QtZGF0ZSB7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBjb2xvcjogI2EzYTZhODsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luOiAwOwp9CgoudGFnLWNsb3VkPmEsCi5wb3N0LXRhZ3M+YSB7CiAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0OwogICAgYm9yZGVyLXJhZGl1czogLjE4NzVyZW07CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwYWRkaW5nOiA2cHggMTVweDsKICAgIG1hcmdpbjogNXB4IDhweCA1cHggMDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDsKICAgIGNvbG9yOiAjMjIyOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7Cn0KCi50YWctY2xvdWQ+YTpob3ZlciwKLnBvc3QtdGFncz5hOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMxQTJDNzk7CiAgICBjb2xvcjogI2ZmZjsKICAgIG9wYWNpdHk6IDE7Cn0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgMjkuIEJBQ0sgVE8gVE9QIENTUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgpidXR0b24uc2Nyb2xsLXRvcDpmb2N1cyB7CiAgICBvdXRsaW5lOiBub25lOwp9Cgouc2Nyb2xsLXRvcC5vcGVuIHsKICAgIGJvdHRvbTogMzBweDsKfQoKLnNjcm9sbC10b3AgewogICAgd2lkdGg6IDUwcHg7CiAgICBoZWlnaHQ6IDUwcHg7CiAgICBsaW5lLWhlaWdodDogNTBweDsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIGJvdHRvbTogMTA1JTsKICAgIHJpZ2h0OiA1MHB4OwogICAgZm9udC1zaXplOiAxNnB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgei1pbmRleDogOTk7CiAgICBjb2xvcjogI2ZmZmZmZjsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJhY2tncm91bmQ6ICMxQTJDNzk7CiAgICB0cmFuc2l0aW9uOiAxcyBlYXNlOwogICAgYm9yZGVyOiBub25lOwp9Cgouc2Nyb2xsLXRvcCBzcGFuIHsKICAgIGNvbG9yOiAjZmZmOwp9Cgouc2Nyb2xsLXRvcDphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB6LWluZGV4OiAtMTsKICAgIGNvbnRlbnQ6ICcnOwogICAgdG9wOiAxMDAlOwogICAgbGVmdDogNSU7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICB3aWR0aDogOTAlOwogICAgb3BhY2l0eTogMTsKICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgcmdiYSgwLCAwLCAwLCAwLjI1KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA4MCUpOwp9CgovKm5ldyBjc3MgbmV3IHVwZGF0ZSovCgouZnVsbC1zY3JlZW4gewogICAgbWluLWhlaWdodDogMTAwdmg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogMTAwJTsKICAgIHotaW5kZXg6IDE7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgZGlzcGxheTogZmxleDsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLmNvdW50ZG93bi13cmFwIGgyLAouY291bnRkb3duLXdyYXAgaDUgewogICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQoKLyo0MDQgcGFnZSovCgouZXJyb3ItY29udGVudCAubm90Zm91bmQtNDA0IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGhlaWdodDogMjgwcHg7CiAgICB6LWluZGV4OiAyOwogICAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoKLmVycm9yLWNvbnRlbnQgLm5vdGZvdW5kLTQwNCBoMSB7CiAgICBmb250LXNpemU6IDIzMHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIG1hcmdpbjogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAgIC5lcnJvci1jb250ZW50IC5ub3Rmb3VuZC00MDQgewogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CiAgICAuZXJyb3ItY29udGVudCAubm90Zm91bmQtNDA0IGgxIHsKICAgICAgICBmb250LXNpemU6IDgwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQp9CgovKmxvZ2luIGNzcyovCgoubG9naW4tc2lnbnVwLWNvbnRlbnQgewogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDEwMCU7CiAgICB6LWluZGV4OiAxOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KCi5sb2dpbi1zaWdudXAtd3JhcCBoMSB7CiAgICBmb250LXNpemU6IDM1cHg7Cn0KCi52aC0xMDAgewogICAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50Owp9CgouYmctY292ZXIgewogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7Cn0KCi5tbC1uMywKLm14LW4zIHsKICAgIG1hcmdpbi1sZWZ0OiAtLjk4cmVtICFpbXBvcnRhbnQ7Cn0KCi5zbWFsbCwKc21hbGwgewogICAgZm9udC1zaXplOiA5MCU7Cn0KCi5pbnB1dC1ncm91cC10ZXh0IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgcGFkZGluZzogLjVyZW0gLjc1cmVtOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGZvbnQtc2l6ZTogLjkzNzVyZW07CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIGNvbG9yOiAjOTVhYWM5OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDJkZGVjOwogICAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTsKfQoKLmZvcm0tY29udHJvbDpmb2N1cyB7CiAgICBib3JkZXItY29sb3I6ICMxQTJDNzk7Cn0KCi5idG4uYm9yZGVyLXJhZGl1cyB7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7Cn0KCi5sb2dpbi1zaWdudXAtZm9ybSAuZm9ybS1ncm91cCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5sb2dpbi1zaWdudXAtZm9ybSAuZm9ybS1ncm91cCBsYWJlbCB7CiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGZvbnQtc2l6ZTogOTAlOwp9CgoubG9naW4tc2lnbnVwLWZvcm0gLmZvcm0tZ3JvdXAgLmlucHV0LWdyb3VwLmlucHV0LWdyb3VwLW1lcmdlPi5mb3JtLWNvbnRyb2wgewogICAgdGV4dC1pbmRlbnQ6IDM1cHg7CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7CiAgICBoZWlnaHQ6IGNhbGMoMi42NWVtICsgLjc1cmVtICsgMnB4KTsKfQoKLmxvZ2luLXNpZ251cC1mb3JtIC5mb3JtLWdyb3VwIC5pbnB1dC1ncm91cC5pbnB1dC1ncm91cC1tZXJnZT4uZm9ybS1jb250cm9sOmZvY3VzIHsKICAgIHotaW5kZXg6IGluaGVyaXQ7Cn0KCi5pbnB1dC1pY29uIHsKICAgIGhlaWdodDogY2FsYygzLjRyZW0gKyAycHgpOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogMjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDQwcHg7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwp9CgouaW5wdXQtaWNvbiBzcGFuIHsKICAgIHBhZGRpbmc6IDE4cHggMTVweDsKICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzFBMkM3OTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGhlaWdodDogY2FsYygzLjRyZW0gKyAycHgpOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgY29sb3I6ICNhZmFmYWY7Cn0KCi8qbG9naW4gc2lnbnVwIG5ldyBzdHlsZSovCgoubG9naW4tc2lnbnVwLWNhcmQgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMjsKfQoKLmN1c3RvbS1jb250cm9sLWxhYmVsIHsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi5jdXN0b20tY29udHJvbC1sYWJlbCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgdmVydGljYWwtYWxpZ246IHRvcDsKfQoKLyp0ZXN0aW1vbmlhbCBhdXRob3IqLwoKLmF1dGhvci1pbmZvIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwp9CgovKnN1YnNjcmliZSBmb3JtIHR3byovCgouc3Vic2NyaWJlLWZvcm0tZm9vdGVyLnN1YnNjcmliZS1mb3JtLXR3byB7CiAgICB0b3A6IDA7Cn0="}},"time_used":600,"timings":{"blocked":323,"dns":0,"connect":0,"send":0,"wait":93,"receive":184,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCTHETA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.531Z","timestamp":1785136905531,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCTHETA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCDEEPB.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.542Z","timestamp":1785136905542,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCDEEPB.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/29296.b408f2822fa5b9569bac.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.247Z","timestamp":1785136901247,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/29296.b408f2822fa5b9569bac.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-18f6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8c7965cd04f315f967fc0e516128787a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6390,"size_decoded":2047,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6390), with no line terminators","md5":"957eadc9c9c17f6df0058d57c5f46abb","sha1":"ebd276baca6cb1f539b1d5d55c63086002fbb8a0","sha256":"3c1391b8c83795fd1a1e8dcd3782d384a51181899c0b980dbfc6395ebecea139","sha512":"deba4ca12f353c877b0d4ff15a6b5a54f9e9f70e7e52a7a40d58a010dc96c67ff4f35d259f3bf9376c3528af502bd784d7a4721cd8fe63c155520fc9cbda1148","ssdeep":"96:DyL+izWjN/vprafnnWuMY/XjioIJMpTRB+LGkn0R:CWj3SnWzY/XjTvB+LG3R","tlshash":"21d188da21d84cbe392aa1619f1e4ecd37481c365e026c8fbae778a305c1a7d02f555f","first_seen":"2026-07-17T03:30:51.144553Z","last_seen":"2026-08-10T05:00:33.692739Z","times_seen":268,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTEZsQTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fMi1MRmxBOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzMtTEZsQTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLV80LUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1fNS1MRmxBOiM3NDc0NzQ7LS1fNi1MRmxBOiM0MjQyNDJ9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1MRmxBOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fMi1MRmxBOnZhcigtLWNvbG9yLXdoaXRlKTstLV8zLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fNC1MRmxBOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzUtTEZsQTojNzQ3NDc0Oy0tXzYtTEZsQTojNDI0MjQyfS5uYXZCdXR0b24taGJTSlZ4a1F7Ym9yZGVyOm5vbmU7Ym94LXNpemluZzppbml0aWFsO2Rpc3BsYXk6ZmxleDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlOy0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZzojMDAwMDtiYWNrZ3JvdW5kOiMwMDAwO2NvbG9yOnZhcigtLXVpLWxpYi1pbi1uYXZCdXR0b24tY29sb3JDb250ZW50LHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JDb250ZW50KSl9Lm5hdkJ1dHRvbi1oYlNKVnhrUS5saW5rLWhiU0pWeGtRe2N1cnNvcjpwb2ludGVyfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubmF2QnV0dG9uLWhiU0pWeGtROmhvdmVyey0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tXzAtTEZsQSk7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzEtTEZsQSl9fS5uYXZCdXR0b24taGJTSlZ4a1E6YWN0aXZley0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tXzItTEZsQSk7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzMtTEZsQSl9Lm5hdkJ1dHRvbi1oYlNKVnhrUTpmb2N1cyAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5OmJsb2NrfS5uYXZCdXR0b24taGJTSlZ4a1E6Zm9jdXMtdmlzaWJsZSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5OmJsb2NrfS5uYXZCdXR0b24taGJTSlZ4a1E6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5Om5vbmV9Lm5hdkJ1dHRvbi1oYlNKVnhrUTpkaXNhYmxlZCwubmF2QnV0dG9uLWhiU0pWeGtRW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQ29udGVudDp2YXIoLS1fNC1MRmxBKTtjdXJzb3I6ZGVmYXVsdH0ubmF2QnV0dG9uLWhiU0pWeGtROmRpc2FibGVkIC5iYWNrZ3JvdW5kLWhiU0pWeGtRLC5uYXZCdXR0b24taGJTSlZ4a1FbYXJpYS1kaXNhYmxlZD10cnVlXSAuYmFja2dyb3VuZC1oYlNKVnhrUXtkaXNwbGF5Om5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1F7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tY29sb3JPdXRsaW5lRGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZX0uYmFja2dyb3VuZC1oYlNKVnhrUTpmb2N1c3tvdXRsaW5lOm5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1E6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1uYXZCdXR0b24tY29sb3JPdXRsaW5lLHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1jb2xvck91dGxpbmVEZWZhdWx0KSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9LmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWluLW5hdkJ1dHRvbi1jb2xvckJnLHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZykpO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtjb250ZW50OiIiO2luc2V0OjA7cG9zaXRpb246YWJzb2x1dGV9Lmljb24taGJTSlZ4a1F7ei1pbmRleDowfS5mbGlwSWNvbi1oYlNKVnhrUSwuZmxpcEljb24taGJTSlZ4a1Egc3Zne3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5mbGlwSWNvbi1oYlNKVnhrUSBzdmc6ZGlyKHJ0bCksLmZsaXBJY29uLWhiU0pWeGtROmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0ubGFyZ2UtaGJTSlZ4a1F7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6OHB4fS5sYXJnZS1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6OHB4fS5sYXJnZS1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpO2hlaWdodDpjYWxjKDEwMCUgKyAxNnB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LThweDt0b3A6LThweDt3aWR0aDpjYWxjKDEwMCUgKyAxNnB4KX0ubGFyZ2UtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ubGFyZ2UtaGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS5tZWRpdW0taGJTSlZ4a1F7aGVpZ2h0OjE4cHg7d2lkdGg6MThweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6OHB4fS5tZWRpdW0taGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUXtwYWRkaW5nOjhweH0ubWVkaXVtLWhiU0pWeGtRIC5iYWNrZ3JvdW5kLWhiU0pWeGtRe2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cyk7aGVpZ2h0OmNhbGMoMTAwJSArIDE2cHgpO2luc2V0LWlubGluZS1zdGFydDotOHB4O3RvcDotOHB4O3dpZHRoOmNhbGMoMTAwJSArIDE2cHgpfS5tZWRpdW0taGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ubWVkaXVtLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX0uc21hbGwtaGJTSlZ4a1F7aGVpZ2h0OjE0cHg7d2lkdGg6MTRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6NnB4fS5zbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6OHB4fS5zbWFsbC1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpO2hlaWdodDpjYWxjKDEwMCUgKyAxNnB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LThweDt0b3A6LThweDt3aWR0aDpjYWxjKDEwMCUgKyAxNnB4KX0uc21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0uc21hbGwtaGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS54c21hbGwtaGJTSlZ4a1F7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6OHB4Oy0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1czo0cHh9LnhzbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6NHB4fS54c21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7Ym9yZGVyLXJhZGl1czp2YXIoLS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYm9yZGVyUmFkaXVzKTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpfS54c21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ueHNtYWxsLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX0ueHhzbWFsbC1oYlNKVnhrUXtoZWlnaHQ6MTBweDt3aWR0aDoxMHB4Oy0tdWktbGliLW91dC1uYXZCdXR0b24tYmFzaWNPZmZzZXQ6NHB4Oy0tdWktbGliLW91dC1uYXZCdXR0b24tc2FmZU9mZnNldDo4cHg7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYm9yZGVyUmFkaXVzOjRweH0ueHhzbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6NHB4fS54eHNtYWxsLWhiU0pWeGtRIC5iYWNrZ3JvdW5kLWhiU0pWeGtRe2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cyk7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KX0ueHhzbWFsbC1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cykgKyA0cHgpfS54eHNtYWxsLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1E6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzUtTEZsQSl9fS5uYXZCdXR0b24taGJTSlZ4a1EuYmxlbmRNb2RlLWhiU0pWeGtROmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZzp2YXIoLS1fNi1MRmxBKX1bZGF0YS10aGVtZT1saWdodF0gLm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle21peC1ibGVuZC1tb2RlOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peExpZ2h0LG5vcm1hbCl9W2RhdGEtdGhlbWU9ZGFya10gLm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle21peC1ibGVuZC1tb2RlOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peERhcmssbm9ybWFsKX0udmlzdWFsbHlIaWRkZW4taGJTSlZ4a1F7Ym9yZGVyOjA7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2NsaXA6cmVjdCgwIDAgMCAwKTtvdmVyZmxvdzpoaWRkZW59"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9744.70b5126495f7adccaf2f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.866Z","timestamp":1785136901866,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9744.70b5126495f7adccaf2f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-24e5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f868239997ade20ca1673ba088ed7d09\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":9445,"size_decoded":2374,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9445), with no line terminators","md5":"e85054f61b2aae19eb5655a8b5753ccf","sha1":"adb2ce277cc485f09be120c0ae884d4b9154b140","sha256":"d7a8f00301eac644b8cac4b8ea7b0b04dbacddbc688774477d9e983a3557804a","sha512":"8e005752074215525bc16172bb9fcaf43c941243421c2f5189315000b76070bd45d1c97eaab71581d488e40e5871ea500899ad0811f59a24b82200d206d31161","ssdeep":"192:eYck2zebkPJJYrCkF9oCNkElJuBqr3i7h:aBJCrT9oIlJuBqji7h","tlshash":"0412cceb77506c7cb92b753a1b2c61e11bc09d3dba12efb7fe395c2901c27121099626","first_seen":"2026-07-19T21:33:33.835152Z","last_seen":"2026-08-10T05:00:33.731991Z","times_seen":114,"resource_available":false,"data":"LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04ze2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4OjAgMCBhdXRvO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLXJvdW5kVGFiLWNvbG9yLWJnLHZhcigtLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1yb3VuZFRhYi1jb2xvci1ib3JkZXIsdmFyKC0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYm9yZGVyKSk7Y29sb3I6dmFyKC0tdWktbGliLXJvdW5kVGFiLWNvbG9yLWNvbnRlbnQsdmFyKC0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItY29udGVudCkpO291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzpmb2N1c3tvdXRsaW5lOm5vbmV9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDEwcHgpO2luc2V0LWlubGluZS1zdGFydDotNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01cHg7d2lkdGg6Y2FsYygxMDAlICsgMTBweCk7ei1pbmRleDoxfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZGlzYWJsZUZvY3VzT3V0bGluZS1XYTZUbUdOMzphZnRlcntkaXNwbGF5Om5vbmV9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmVuYWJsZUN1cnNvclBvaW50ZXItV2E2VG1HTjN7Y3Vyc29yOnBvaW50ZXJ9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tdWktbGliLXJvdW5kVGFiLW1hcmdpbil9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmxhcmdlLVdhNlRtR04ze2JvcmRlci1yYWRpdXM6MjRweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMjNweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjM6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoyOHB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5sYXJnZS1XYTZUbUdOMy5pY29uT25seS1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMud2l0aFN0YXJ0SWNvbi1XYTZUbUdOM3twYWRkaW5nLWlubGluZS1zdGFydDoxNXB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5sYXJnZS1XYTZUbUdOMy5pY29uT25seS1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMud2l0aEVuZEljb24tV2E2VG1HTjN7cGFkZGluZy1pbmxpbmUtZW5kOjE1cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmxhcmdlLVdhNlRtR04zOm5vdCguaWNvbk9ubHktV2E2VG1HTjMpIC5zdGFydEljb25XcmFwLVdhNlRtR04ze21hcmdpbi1pbmxpbmUtZW5kOjRweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMgLmVuZEljb25XcmFwLVdhNlRtR04ze21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5zbWFsbC1XYTZUbUdOM3tib3JkZXItcmFkaXVzOjE3cHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowIDE1cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zOmFmdGVye2JvcmRlci1yYWRpdXM6MjFweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuc21hbGwtV2E2VG1HTjMuaWNvbk9ubHktV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zLndpdGhTdGFydEljb24tV2E2VG1HTjN7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTFweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuc21hbGwtV2E2VG1HTjMuaWNvbk9ubHktV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zLndpdGhFbmRJY29uLVdhNlRtR04ze3BhZGRpbmctaW5saW5lLWVuZDoxMXB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5zbWFsbC1XYTZUbUdOMzpub3QoLmljb25Pbmx5LVdhNlRtR04zKSAuc3RhcnRJY29uV3JhcC1XYTZUbUdOM3ttYXJnaW4taW5saW5lLWVuZDo0cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zIC5lbmRJY29uV3JhcC1XYTZUbUdOM3ttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04ze2JvcmRlci1yYWRpdXM6MTRweDtoZWlnaHQ6MjhweDtwYWRkaW5nOjAgMTFweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04zOmFmdGVye2JvcmRlci1yYWRpdXM6MThweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04zLmljb25Pbmx5LVdhNlRtR04zLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy54c21hbGwtV2E2VG1HTjMud2l0aFN0YXJ0SWNvbi1XYTZUbUdOM3twYWRkaW5nLWlubGluZS1zdGFydDo3cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOMy5pY29uT25seS1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04zLndpdGhFbmRJY29uLVdhNlRtR04ze3BhZGRpbmctaW5saW5lLWVuZDo3cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOMzpub3QoLmljb25Pbmx5LVdhNlRtR04zKSAuc3RhcnRJY29uV3JhcC1XYTZUbUdOM3ttYXJnaW4taW5saW5lLWVuZDo0cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOMyAuZW5kSWNvbldyYXAtV2E2VG1HTjN7bWFyZ2luLWlubGluZS1zdGFydDoycHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmxhcmdlLVdhNlRtR04ze2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04ze2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5zbWFsbC1XYTZUbUdOM3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDB9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOM3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjN7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucm91bmRUYWJCdXR0b24tV2E2VG1HTjMucHJpbWFyeS1XYTZUbUdOMzpob3Zlcjpub3QoLmRpc2FibGVkLVdhNlRtR04zKTpub3QoLnNlbGVjdGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX19LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjM6YWN0aXZlOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVdhNlRtR04zKTpub3QoLmRpc2FibGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zLnNlbGVjdGVkLVdhNlRtR04zLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zLnNlbGVjdGVkLVdhNlRtR04zOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVdhNlRtR04zKTpub3QoLmRpc2FibGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5naG9zdC1XYTZUbUdOM3stLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5naG9zdC1XYTZUbUdOMzpob3Zlcjpub3QoLmRpc2FibGVkLVdhNlRtR04zKTpub3QoLnNlbGVjdGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX19LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zOmFjdGl2ZTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1XYTZUbUdOMyk6bm90KC5kaXNhYmxlZC1XYTZUbUdOMyl7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjMuc2VsZWN0ZWQtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zLnNlbGVjdGVkLVdhNlRtR04zOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVdhNlRtR04zKTpub3QoLmRpc2FibGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eSk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zLmRpc2FibGVkLVdhNlRtR04zLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17Y3Vyc29yOmRlZmF1bHR9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjMuZGlzYWJsZWQtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjMuZGlzYWJsZWQtV2E2VG1HTjM6bGluaywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMucHJpbWFyeS1XYTZUbUdOMy5kaXNhYmxlZC1XYTZUbUdOMzp2aXNpdGVkLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjNbYXJpYS1kaXNhYmxlZD10cnVlXTpsaW5rLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV06dmlzaXRlZHstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5naG9zdC1XYTZUbUdOMy5kaXNhYmxlZC1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjNbYXJpYS1kaXNhYmxlZD10cnVlXXtjdXJzb3I6ZGVmYXVsdH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjMuZGlzYWJsZWQtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zLmRpc2FibGVkLVdhNlRtR04zOmxpbmssLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zLmRpc2FibGVkLVdhNlRtR04zOnZpc2l0ZWQsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV06bGluaywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjNbYXJpYS1kaXNhYmxlZD10cnVlXTp2aXNpdGVkey0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCl9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmZha2UtV2E2VG1HTjN7aW5zZXQtaW5saW5lLXN0YXJ0Oi05OTk5OTlweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTF9LmVuZEljb25XcmFwLVdhNlRtR04zLC5zdGFydEljb25XcmFwLVdhNlRtR04ze2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LWhlaWdodDoyOHB4O21heC13aWR0aDoyOHB4O21pbi1oZWlnaHQ6MThweDttaW4td2lkdGg6MThweH0uY2FyZXQtV2E2VG1HTjN7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlfS5zZWxlY3RlZC1XYTZUbUdOMyAuY2FyZXQtV2E2VG1HTjN7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5zZWxlY3RlZC1XYTZUbUdOMyAuY2FyZXQtV2E2VG1HTjM6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0udmlzdWFsbHlIaWRkZW4tV2E2VG1HTjN7Ym9yZGVyOjA7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2NsaXA6cmVjdCgwIDAgMCAwKTtvdmVyZmxvdzpoaWRkZW59LmNvbnRlbnQtV2E2VG1HTjN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCVIRTUAL.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.509Z","timestamp":1785136905509,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCVIRTUAL.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T07:21:37.965Z","timestamp":1785136897965,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: huobiget.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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:38 GMT\r\nContent-Type: text/html; charset=UTF-8\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nExpires: Thu, 19 Nov 1981 08:52:00 GMT\r\nCache-Control: no-store, no-cache, must-revalidate\r\nPragma: no-cache\r\nSet-Cookie: CameFrom=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0\nPHPSESSID=834e7239821674f591674561a712954b; path=/; domain=huobiget.com; HttpOnly\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"jQuery:3.4.1","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":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Popper","description":"Popper is a positioning engine, its purpose is to calculate the position of an element to make it possible to position it near a given reference element.","website":"https://popper.js.org","common_platform_enumeration":"","icon":"Popper.svg","categories":["Miscellaneous"]},{"name":"Magnific Popup","description":"Magnific Popup is a responsive lightbox \u0026 dialog script with focus on performance and providing best experience for user with any device.","website":"https://dimsemenov.com/plugins/magnific-popup/","common_platform_enumeration":"","icon":"Magnific Popup.png","categories":["JavaScript libraries"]},{"name":"WOW","description":"Reveal CSS animation as you scroll down a page.","website":"https://www.delac.io/WOW","common_platform_enumeration":"","icon":"","categories":["JavaScript frameworks","Web frameworks","JavaScript graphics"]},{"name":"OWL Carousel","description":"OWL Carousel is an enabled jQuery plugin that lets you create responsive carousel sliders.","website":"https://owlcarousel2.github.io/OwlCarousel2/","common_platform_enumeration":"","icon":"OWL Carousel.png","categories":["JavaScript libraries"]},{"name":"Mixitup","description":"A CSS3 and jQuery Filter \u0026 Sort Plugin.","website":"https://www.kunkalabs.com/mixitup/","common_platform_enumeration":"","icon":"kunkalabs.svg","categories":["JavaScript libraries"]},{"name":"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"]}],"data":{"size":85694,"size_decoded":86129,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (775)","md5":"dc93c4ca973102d3738f304151b47e2d","sha1":"3c3a04f89df74d4f549db86e5b6f62b0be154767","sha256":"bdbdabf8ab44446d290d9a4acd958ffcc78dfccad3e679b561ba9b958c3e8239","sha512":"66d38609385e1576930e88597eadb6a5add7bb20ccda2e8878869bb574d5c49f46ef3621e66b3dbf488612e7d4f723a719329068668925edcc6f7e6808b64777","ssdeep":"768:7KwG6nuhAX3oLLDmuuuuK0sP/7ngxoLNChyTuNhguSRrhZg70vKaSfqWeX9Zp1VA:7Kw8muuuuZs7N8mU5L702B5","tlshash":"4b834f25e8f2157b006390a66a756b0a7fd4d14bca1b8e487fac07cc1fc6d86d81376e","first_seen":"2026-07-27T04:48:05.226687Z","last_seen":"2026-07-27T07:23:37.188319Z","times_seen":3,"resource_available":false,"data":"PGRpdiBpZD0iZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50Ij48L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZ29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQoKSB7CiAgbmV3IGdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudCh7CiAgICBwYWdlTGFuZ3VhZ2U6ICdlbicKICB9LCAnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50Jyk7Cn0KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4JdmFyIHRyYW5zbGF0ZV9zcmMgPSAnZW4nOzwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbS90cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0Ij48L3NjcmlwdD4KCgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iPgoKPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBzaHJpbmstdG8tZml0PW5vIj4KCiAgICA8dGl0bGU+aHVvYmlnZXQuY29tPC90aXRsZT4KCiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iVHJhZGUsIEludmVzdCBDcnlwdG8sIFN0b2NrICYgQm9uZCI+CiAgICA8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9Imh1b2JpZ2V0LmNvbSI+CgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iaHVvYmlnZXQuY29tIiAvPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGUiIGNvbnRlbnQ9Imh1b2JpZ2V0LmNvbSIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iaHVvYmlnZXQuY29tIHwgVGhlIEJldHRlciBXYXkgdG8gVHJhZGUgJiBJbnZlc3QiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9Imh1b2JpZ2V0LmNvbSBpcyB0aGUgQmVzdCBPbmxpbmUgVHJhZGluZyBQbGF0Zm9ybSwgdW5saWtlIGFueSBvdGhlciwgZ3VhcmFudGVlcyBmaXggRGFpbHkgaW50ZXJlc3QgZm9yIGludmVzdG9ycyByZWdhcmRsZXNzIG9mIG1hcmtldCBjb25kaXRpb25zLiIgLz4KCiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL2h1b2JpZ2V0LmNvbSIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJUcmFkaW5nICYgSW52ZXN0bWVudCIgLz4KCiAgICAKCjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9odW9iaWdldC5jb20vaW1nL2hkLnBuZyIvPgoKPG1ldGEgcHJvcGVydHk9InR3aXR0ZXI6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vaHVvYmlnZXQuY29tL2ltZy9oZC5wbmciLz4KCgogICAgPCEtLSBDaHJvbWUsIEZpcmVmb3ggT1MgYW5kIE9wZXJhIC0tPgogICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMwMDdjYzUiIC8+CiAgICA8IS0tIFdpbmRvd3MgUGhvbmUgLS0+CiAgICA8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iIzAwN2NjNSI+CiAgICA8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLW5hdmJ1dHRvbi1jb2xvciIgY29udGVudD0iIzAwN2NjNSIgLz4KICAgIDwhLS0gaU9TIFNhZmFyaSAtLT4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLXN0YXR1cy1iYXItc3R5bGUiIGNvbnRlbnQ9IiMwMDdjYzUiIC8+CgoKCgogICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTgweDE4MCIgaHJlZj0iL2ltZy9mYXZpY29ucy9hcHBsZS10b3VjaC1pY29uLnBuZyI+CiAgICA8bGluayByZWw9Imljb24iIHR5cGU9ImltYWdlL3BuZyIgc2l6ZXM9IjMyeDMyIiBocmVmPSIvaW1nL2Zhdmljb25zL2Zhdmljb24tMzJ4MzIucG5nIj4KICAgIDxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMTZ4MTYiIGhyZWY9Ii9pbWcvZmF2aWNvbnMvZmF2aWNvbi0xNngxNi5wbmciPgogICAgPGxpbmsgcmVsPSJtYW5pZmVzdCIgaHJlZj0iL2ltZy9mYXZpY29ucy9zaXRlLndlYm1hbmlmZXN0Ij4KICAgIDxsaW5rIHJlbD0ibWFzay1pY29uIiBocmVmPSIvaW1nL2Zhdmljb25zL3NhZmFyaS1waW5uZWQtdGFiLnN2ZyIgY29sb3I9IiM1YmJhZDUiPgoKCgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU1vbnRzZXJyYXQ6NDAwLDUwMCw2MDAsNzAwJTdDT3BlbitTYW5zOjQwMCw2MDAmYW1wO2Rpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9ib290c3RyYXAubWluLmNzcyI+CgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3MvbWFnbmlmaWMtcG9wdXAuY3NzIj4KCiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy90aGVtaWZ5LWljb25zLmNzcyI+CgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3MvYWxsLm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL2FuaW1hdGUubWluLmNzcyI+CgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3MvanF1ZXJ5Lm1iLllUUGxheWVyLm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL293bC5jYXJvdXNlbC5taW4uY3NzIj4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL293bC50aGVtZS5kZWZhdWx0Lm1pbi5jc3MiPgoKICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL3N0eWxlLmNzcyI+CgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJjc3MvcmVzcG9uc2l2ZS5jc3MiPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9ub3JtYWxpemUvNS4wLjAvbm9ybWFsaXplLm1pbi5jc3MiPgogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBocmVmPSdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2ljb24/ZmFtaWx5PU1hdGVyaWFsK0ljb25zJz4KICAgIAogICAgPHN0eWxlPgogICAgICAgIC5sZWFkIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogMzAwOwogICAgICAgIH0KCiAgICAgICAgc3BhbiB7fQoKICAgICAgICAuYnRuLWN1c3RvbSB7CiAgICAgICAgICAgIGNvbG9yOiAjYmRjM2M3OwogICAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiZGMzYzc7CiAgICAgICAgfQoKICAgICAgICAuYnRuLWN1c3RvbTpob3ZlciB7CiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmOwogICAgICAgIH0KCiAgICAgICAgI3ByaWNpbmctdGFibGUgewogICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDsKICAgICAgICB9CgogICAgICAgIC5wcmljaW5nIHsKICAgICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgICAgICBmb250LWZhbWlseTogJ1JvYm90Jywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC5wcmljaW5nIC5wcmljaW5nLXRhYmxlIHsKICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7CiAgICAgICAgfQoKICAgICAgICAucHJpY2luZyAucHJpY2luZy10YWJsZSAucHJpY2luZy1oZWFkZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwZTE3NDY7CiAgICAgICAgICAgIHBhZGRpbmc6IDIycHggMjJweDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4OwogICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAucHJpY2luZyAucHJpY2luZy10YWJsZSAucHJpY2luZy1oZWFkZXIgLnByaWNpbmctdGl0bGUgewogICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgfQoKICAgICAgICAucHJpY2luZyAucHJpY2luZy10YWJsZSAucHJpY2luZy1oZWFkZXIgLnByaWNpbmctcmF0ZSB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzBweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLnByaWNpbmcgLnByaWNpbmctdGFibGUgLnByaWNpbmctaGVhZGVyIC5wcmljaW5nLXJhdGUgc3VwIHsKICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHRvcDogLTMwcHg7CiAgICAgICAgICAgIGNvbG9yOiAjYmRjM2M3OwogICAgICAgIH0KCiAgICAgICAgLnByaWNpbmcgLnByaWNpbmctdGFibGUgLnByaWNpbmctaGVhZGVyIC5wcmljaW5nLXJhdGUgc3BhbiB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgY29sb3I6ICNiZGMzYzc7CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgfQoKICAgICAgICAucHJpY2luZyAucHJpY2luZy1saXN0IHsKICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDQwcHggMDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBlMTc0NjsKICAgICAgICB9CgogICAgICAgIC5wcmljaW5nIC5wcmljaW5nLWxpc3QgdWwgewogICAgICAgICAgICBwYWRkaW5nOiAwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOwogICAgICAgICAgICBtYXJnaW46IDBweCBhdXRvOwogICAgICAgIH0KCiAgICAgICAgLnByaWNpbmcgLnByaWNpbmctbGlzdCB1bCBsaSB7CiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUFFQ0VCOwogICAgICAgICAgICBjb2xvcjogI2JkYzNjNzsKICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDsKICAgICAgICB9CgogICAgICAgIC5wcmljaW5nIC5wcmljaW5nLWxpc3QgdWwgbGk6bGFzdC1jaGlsZCB7CiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5wcmljaW5nIC5wcmljaW5nLWxpc3QgdWwgbGkgaSB7CiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgfQoKICAgICAgICAucHJpY2luZyAucHJpY2luZy1saXN0IHVsIGxpIHNwYW4gewogICAgICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICB9CgoKCgogICAgICAgIC5jYWgyIHsKICAgICAgICAgICAgY29sb3I6ICMwOTk4ZWM7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQoKICAgICAgICAuY2FoMjo6YWZ0ZXIgewogICAgICAgICAgICBjb250ZW50OiAiIjsKICAgICAgICAgICAgd2lkdGg6IDEwMHB4OwogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDk5OGVjOwogICAgICAgICAgICBsZWZ0OiAwOwogICAgICAgICAgICByaWdodDogMDsKICAgICAgICAgICAgYm90dG9tOiAtMjBweDsKICAgICAgICB9CgogICAgICAgIC5jYXJvdXNlbF90ZXN0IHsKICAgICAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG87CiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDsKICAgICAgICB9CgogICAgICAgIC5jYXJvdXNlbF90ZXN0IC5pdGVtIHsKICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQoKICAgICAgICAuY2Fyb3VzZWxfdGVzdCAubWVkaWEgaW1nIHsKICAgICAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICB9CgogICAgICAgIC5jYXJvdXNlbF90ZXN0IC50ZXN0aW1vbmlhbCB7CiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDEwcHg7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CgogICAgICAgIC5jYXJvdXNlbF90ZXN0IC5vdmVydmlldyBiIHsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgY29sb3I6ICMwOTk4ZWM7CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogICAgICAgICAgICAubWVfdGFibGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLnJlbS1ob21lIHsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlyZW0gMCA1cmVtIDA7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgICAgICAgICAgICAgICAucmVtLWhvbWUgewogICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZyZW0gMCA1cmVtIDA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8qIEhpZGUgc2Nyb2xsYmFyIGZvciBJRSBhbmQgRWRnZSAqLwogICAgICAgICAgICAubWUtdGFibGUgewogICAgICAgICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC5tZV9pY29uIHsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgfQoKICAgICAgICAudG9rZW5fcnRpbmZvIHsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IC04MHB4OwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDE1cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgICAgICB9CgogICAgICAgIC50b2tlbl9ydF92YWx1ZSB7CiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweDsKICAgICAgICB9CgogICAgICAgIC5tZV9iaWcgewogICAgICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50OwogICAgICAgIH0KCiAgICAgICAgLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICAuYmFkZ2UgewogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4OwogICAgICAgICAgICBwYWRkaW5nOiAwLjJyZW0gMXJlbTsKICAgICAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5wcmljaW5nLXJhdGUgc3VwIHsKICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGxlZnQ6IC0yMHB4OwogICAgICAgICAgICB0b3A6IC0zMHB4OwogICAgICAgIH0KCiAgICAgICAgLnByaWNpbmctcmF0ZSBzcGFuIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBjb2xvcjogIzcwNzA3MDsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgICAgcmlnaHQ6IC02MDBweDsKICAgICAgICB9CgogICAgICAgIC5wcmljaW5nLXJhdGUgewogICAgICAgICAgICBmb250LXNpemU6IDcwcHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGNvbG9yOiAjMWEyYzc5OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CgogICAgPC9zdHlsZT4KCgoKICAgIDxzdHlsZT4KICAgICAgICAubWdtIHsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4OwogICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgICAgIHotaW5kZXg6IDkwOwogICAgICAgICAgICBib3R0b206IDgwcHg7CiAgICAgICAgICAgIGxlZnQ6IDUwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjdweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAxM3B4IDBweCByZ2JhKDAsIDAsIDAsIC4zKTsKICAgICAgICB9CgogICAgICAgIC5tZ20gYSB7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICBjb2xvcjogI2YyZDUxNjsKICAgICAgICB9CgogICAgICAgIC5tZ20gYSwKICAgICAgICAubWdtIGE6YWN0aXZlIHsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlOwogICAgICAgICAgICBjb2xvcjogI2YyZDUxNjsKICAgICAgICB9CgogICAgPC9zdHlsZT4KCgogICAgPGRpdiBjbGFzcz0ibWdtIG5vdGlmaWNhdGlvbiIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyBvcGFjaXR5OiAxOyIgaWQ9Im5vdGlmaWNhdGlvbi0xIj4KICAgICAgICA8IS0tPGRpdiBjbGFzcz0idHh0IiBzdHlsZT0iY29sb3I6YmxhY2s7Ij5CcmlhbiBmcm9tIDxiPk1hbGRpdmVzPC9iPiBqdXN0IFdpdGhkcmV3IDxzdHJvbmcgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApOyIgb25jbGljaz0iamF2YXNjcmlwdDp2b2lkKDApOyI+JDIsMDAwIDwvc3Ryb25nPjwvZGl2Pi0tPgogICAgICAgIDxkaXYgY2xhc3M9InR4dCIgc3R5bGU9ImNvbG9yOmJsYWNrOyI+PC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIFRlbXBsYXRlIEpTIEZpbGVzIC0tPgogICAgPHNjcmlwdD4KICAgICAgICB2YXIgbGlzdENvdW50cmllcyA9IFsnVW5pdGVkIEtpbmdkb20nLCAnVVNBJywgJ0dlcm1hbnknLCAnRnJhbmNlJywgJ0l0YWx5JywgJ1VTQScsICdBdXN0cmFsaWEnLCAnTGVzb3RobycsICdDYW5hZGEnLCAnQXJnZW50aW5hJywgJ1NhdWRpIEFyYWJpYScsICdNZXhpY28nLCAnS2VueWEnLCAnTWFsZGl2ZXMnLCAnVmVuZXp1ZWxhJywgJ1NvdXRoIEFmcmljYScsICdTd2VkZW4nLCAnSW5kaWEnLCAnTm9yd2F5JywgJ0J1bGdhcmlhJywgJ1Bha2lzdGFuJywgJ1VuaXRlZCBLaW5nZG9tJywgJ1NwYWluJywgJ0dyZWVjZScsICdDdWJhJywgJ1NvdXRoIEFmcmljYScsICdQb3J0dWdhbCcsICdBdXN0cmlhJywgJ0luZG9uZXNpYScsICdQYW5hbWEnLCAnVVNBJywgJ0JyYXppbCcsICdOZXRoZXJsYW5kcycsICdTd2l0emVybGFuZCcsICdCZWxnaXVtJywgJ0lzcmFlbCcsICdDeXBydXMnXTsKICAgICAgICB2YXIgbGlzdFBsYW5zID0gWyckNTAwJywgJyQxNTAwJywgJyQxMDAwJywgJyQxMCwwMDAnLCAnJDIsMDAwJywgJyQzMDAwJywgJyQ0MDAwJywgJyQ2MDAnLCAnJDcwMCcsICckMjUwMCcsICckMTIwLDAwMCcsICckMjMwLDYwMCcsICckMTkwLDMyMCcsICckMzMxLDEwNCcsICckMTg3LDkwMScsICckMzcxLDE4MicsICckMTExLDAwMicsICckMTUwLDUwMCcsICckOTAsNDAxJywgJyQ2MCwwMDAnLCAnJDM5MCwxMDAnLCAnJDQxMCw3MDAnLCAnJDUwMCwxMDAnLCAnJDU3MCw0MDAnLCAnJDU5MCw0MTAnLCAnJDQxMCwyMDAnLCAnJDYyMCwwMDAnXTsKICAgICAgICB2YXIgbGlzdG5hbWVzID0gWydNYXJjIFNtaXRoJywgJ01hcmNvIFZlcnJhdHRpJywgJ0VtaWxpYSBSdWRpZ2VyJywgJ0FudG9uaW8gQ29udGUnLCAnTGluYSBNYXJ6b3VraScsICdNaWNoZWFsIEN5YW4gJywgJ0phbmUgTW9yaXNvbicsICdXaWxsaWFtcyBCbGFrZScsICdKYW1lcyBNaWxsZXInLCAnRGFuIFNwZW5jZXInLCAnSmFjayBEcmV3JywgJ1ZpY3RvciBPcmlzJywgJ1N1a29tb3knLCAnTm9yYmUnLCAnT2xpdmlhJywgJ0FsaXNvbicsICdSYXF1ZWwnLCAnTGlzYScsICdEYXZpZCcsICdNYXJpYScsICdNYXJ5JywgJ0dyYXknLCAnVG9ueScsICdBa2FzaCcsICdEaXJrJywgJ0dpbGJlcnQnLCAnTWlrZScsICdKZW5uaWZlcicsICdMb25nd2VpJ107CiAgICAgICAgdmFyIGNob29zZSA9IFsnV2l0aGRyZXcnLCAnRGVwb3NpdGVkJ107CiAgICAgICAgaW50ZXJ2YWwgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoMjUwMDAgLSA4MDAwICsgMSkgKyA4MDAwKTsKICAgICAgICB2YXIgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOwoKICAgICAgICBmdW5jdGlvbiByZXF1ZXN0KCkgewogICAgICAgICAgICBjbGVhckludGVydmFsKHJ1bik7CiAgICAgICAgICAgIGludGVydmFsID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDI1MDAwIC0gODAwMCArIDEpICsgODAwMCk7CiAgICAgICAgICAgIHZhciBjb3VudHJ5ID0gbGlzdENvdW50cmllc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBsaXN0Q291bnRyaWVzLmxlbmd0aCldOwogICAgICAgICAgICB2YXIgU29tZW9uZSA9IGxpc3RuYW1lc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBsaXN0bmFtZXMubGVuZ3RoKV07CiAgICAgICAgICAgIHZhciBjaG9vc2UxID0gY2hvb3NlW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNob29zZS5sZW5ndGgpXTsKICAgICAgICAgICAgdmFyIHBsYW4gPSBsaXN0UGxhbnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbGlzdFBsYW5zLmxlbmd0aCldOwogICAgICAgICAgICB2YXIgbXNnID0gU29tZW9uZSArICcgZnJvbSA8Yj4gJyArIGNvdW50cnkgKyAnIDwvYj4ganVzdCAnICsgY2hvb3NlMSArICcgPHN0cm9uZyBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJqYXZhc2NyaXB0OnZvaWQoMCk7Ij4nICsgcGxhbiArICcgPC9zdHJvbmc+JzsKICAgICAgICAgICAgJCgiLm1nbSAudHh0IikuaHRtbChtc2cpOwogICAgICAgICAgICAkKCIubWdtIikuc3RvcCh0cnVlKS5mYWRlSW4oMik7CiAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgJCgiLm1nbSIpLnN0b3AodHJ1ZSkuZmFkZU91dCgxMDApOwogICAgICAgICAgICB9LCA4MDAwKTsKICAgICAgICAgICAgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOwogICAgICAgIH0KCiAgICA8L3NjcmlwdD4KCgoKCgoKPC9oZWFkPgoKCgoKPGJvZHk+CgoKCiAgIDwhLS0gVHJhZGluZ1ZpZXcgV2lkZ2V0IEJFR0lOIC0tPgo8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIj4KICA8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyX193aWRnZXQiPjwvZGl2PgogIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS9tYXJrZXRzLz91dG1fc291cmNlPXd3dy50cmFkaW5ndmlldy5jb20mYW1wO3V0bV9tZWRpdW09d2lkZ2V0X25ldyZhbXA7dXRtX2NhbXBhaWduPXRpY2tlci10YXBlIiByZWw9Im5vb3BlbmVyIG5vZm9sbG93IiB0YXJnZXQ9Il9ibGFuayI+PHNwYW4gY2xhc3M9ImJsdWUtdGV4dCI+VGlja2VyIHRhcGU8L3NwYW4+PC9hPjxzcGFuIGNsYXNzPSJ0cmFkZW1hcmsiPiBieSBUcmFkaW5nVmlldzwvc3Bhbj48L2Rpdj4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9leHRlcm5hbC1lbWJlZGRpbmcvZW1iZWQtd2lkZ2V0LXRpY2tlci10YXBlLmpzIiBhc3luYz4KICB7CiAgICAic3ltYm9scyI6IFsKICAgICAgewogICAgICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgICAgICJwcm9OYW1lIjogIlRVUlFVT0lTRTpTSEVMTCIKICAgICAgfSwKICAgICAgewogICAgICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgICAgICJwcm9OYW1lIjogIlRVUlFVT0lTRTpCQVJDTCIKICAgICAgfSwKICAgICAgewogICAgICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgICAgICJwcm9OYW1lIjogIlRVUlFVT0lTRTpSUkwiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICAgICAicHJvTmFtZSI6ICJUVVJRVU9JU0U6QlBMIgogICAgICB9LAogICAgICB7CiAgICAgICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAgICAgInByb05hbWUiOiAiVFVSUVVPSVNFOkJUTCIKICAgICAgfSwKICAgICAgewogICAgICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgICAgICJwcm9OYW1lIjogIlRVUlFVT0lTRTpUU0NPTCIKICAgICAgfSwKICAgICAgewogICAgICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgICAgICJwcm9OYW1lIjogIlRVUlFVT0lTRTpCQVRTTCIKICAgICAgfSwKICAgICAgewogICAgICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgICAgICJwcm9OYW1lIjogIlRVUlFVT0lTRTpVTFZSTCIKICAgICAgfQogICAgXSwKICAgICJzaG93U3ltYm9sTG9nbyI6IHRydWUsCiAgICAiY29sb3JUaGVtZSI6ICJsaWdodCIsCiAgICAiaXNUcmFuc3BhcmVudCI6IGZhbHNlLAogICAgImRpc3BsYXlNb2RlIjogInJlZ3VsYXIiLAogICAgImxvY2FsZSI6ICJlbiIKICB9CiAgPC9zY3JpcHQ+CjwvZGl2Pgo8IS0tIFRyYWRpbmdWaWV3IFdpZGdldCBFTkQgLS0+CgogICAgPCEtLTxkaXYgaWQ9InByZWxvYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGVyMSI+CiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+LS0+CiAgICA8aGVhZGVyIGNsYXNzPSJoZWFkZXIiPgoKICAgICAgICA8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBmaXhlZC10b3AgYmctdHJhbnNwYXJlbnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdmJhci1icmFuZCIgaHJlZj0iP2E9aG9tZSI+CiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltZy9sb2dvLnBuZyIgc3R5bGU9ImhlaWdodDogMzBweDsiIGFsdD0ibG9nbyIgY2xhc3M9ImltZy1mbHVpZCIgLz4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdmJhci10b2dnbGVyIiB0eXBlPSJidXR0b24iIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYXZiYXJTdXBwb3J0ZWRDb250ZW50IiBhcmlhLWNvbnRyb2xzPSJuYXZiYXJTdXBwb3J0ZWRDb250ZW50IiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1sYWJlbD0iVG9nZ2xlIG5hdmlnYXRpb24iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aS1tZW51Ij48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSBoLWF1dG8iIGlkPSJuYXZiYXJTdXBwb3J0ZWRDb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdmJhci1uYXYgbWwtYXV0byBtZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWhvbWUiPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWFib3V0Ij5BYm91dCBVczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+IFNlcnZpY2VzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzdWItbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXNlcnZpY2VzIj5Gb3JleDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zZXJ2aWNlcyI+QWdyaWN1bHR1cmU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9c2VydmljZXMiPk9pbCBhbmQgR2FzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXNlcnZpY2VzIj5SZWFsIEVzdGF0ZTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zZXJ2aWNlcyI+UmV0aXJlbWVudCBhbmQgSW5zdXJhbmNlIFNlcnZpY2VzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXNlcnZpY2VzIj5TdG9ja3M8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1wbGFucyI+SW52ZXN0bWVudCBQbGFuczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9ZmFxIj5GQVFzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zdXBwb3J0Ij5HZXQgU3VwcG9ydDwvYT48L2xpPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIHN0eWxlPSJvcGFjaXR5OiAxOyIgaHJlZj0iP2E9c2lnbnVwIiBjbGFzcz0iYnRuIGJ0bi1zbSBidG4tc3VjY2VzcyBwLTIgbWItMiI+Q3JlYXRlIE5ldyBBY2NvdW50PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBzdHlsZT0ib3BhY2l0eTogMTsiIGhyZWY9Ij9hPWxvZ2luIiBjbGFzcz0iYnRuIG91dGxpbmUtd2hpdGUtYnRuIHAtMiI+R28gdG8geW91ciBBY2NvdW50PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9uYXY+CiAgICA8L2hlYWRlcj4KCgo8ZGl2IGNsYXNzPSJtYWluIj4KICAgIDxzZWN0aW9uIGNsYXNzPSJoZXJvLWVxdWFsLWhlaWdodCBwdC0xNjUgcGItMTAwIGdyYWRpZW50LW92ZXJseS1yaWdodC1jb2xvciIgc3R5bGU9ImJhY2tncm91bmQ6IHVybCgnaW1nL2hlcm8tYmc1LmpwZycpbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb3ZlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ncm93Jz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiI+CgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3dsLWNhcm91c2VsIG93bC10aGVtZSBoZXJvLWNvbnRlbnQtc2xpZGVyIGN1c3RvbS1kb3QgY3VzdG9tLWRvdC0yIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggY29sLWxnLTcgY29sLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imhlcm8tY29udGVudC13cmFwIHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXVwcGVyY2FzZSI+PHNwYW4gaWQ9Ik15Q2xvY2tEaXNwbGF5Ij48L3NwYW4+IDxiIHN0eWxlPSJjb2xvcjogI2Y0OTkxNzsiPjxhIGhyZWY9Imh0dHBzOi8vdGltZS5pcy9Mb25kb24iIGlkPSJ0aW1lX2lzX2xpbmsiPjwvYT48c3BhbiBpZD0iTG9uZG9uX3o3MTYiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgc3JjPSIvL3dpZGdldC50aW1lLmlzL2VuLmpzIj48L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZV9pc193aWRnZXQuaW5pdCh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvbmRvbl96NzE2OiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogIkRBVEUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZV9mb3JtYXQ6ICJtbnVtIC0gZG51bSAtIHllYXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPjwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LXdoaXRlIj5QUkVNSVVNIENMT1VEIE1JTklORyA8c3BhbiBjbGFzcz0idGV4dC1wcmltYXJ5Ij5JTlZFU1RNRU5UIFBMQVRGT1JNPC9zcGFuPjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImxlYWQiPmh1b2JpZ2V0LmNvbSBpcyBhIHJlbGlhYmxlIHRyYWRpbmcgYW5kIG1pbmluZyBpbnZlc3RtZW50IHBsYXRmb3JtIGluIGNyeXB0b2N1cnJlbmN5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGx5aW5nIHlvdXIgaW52ZXN0bWVudHMgaW4gbm8gdGltZS4gVW5saWtlIGFueSBvdGhlciBjb21wYW55LCBodW9iaWdldC5jb20gb2ZmZXJzIHNhZmUgYW5kIGx1Y3JhdGl2ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZlc3RtZW50cyByZWdhcmRsZXNzIG9mIG1hcmtldCBjb25kaXRpb25zLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3QtdW5zdHlsZWQgdGVjaC1mZWF0dXJlLWxpc3QgdGV4dC13aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0icHktMSI+PHNwYW4gY2xhc3M9InRpLWNoZWNrLWJveCBtci0yIGNvbG9yLXNlY29uZGFyeSI+PC9zcGFuPjxzdHJvbmc+UGF5bWVudDwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InB5LTEiPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Ryb25nPlNlY3VyaXR5PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIaWdoIFRlY2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJweS0xIj48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHN0cm9uZz5Db3Jwb3JhdGU8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh1b2JpZ2V0LmNvbSBHbG9iYWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJweS0xIj48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHN0cm9uZz5JbnN1cmVkPC9zdHJvbmc+IEFJSUNPIEluc3VyYW5jZSBJbnRlcm5hdGlvbmFsPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbi1idG5zIG10LTQiPgoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9ImJ0biBzZWNvbmRhcnktc29saWQtYnRuIG1yLTMiPlNpZ24gVXA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWxvZ2luIiBjbGFzcz0iYnRuIG91dGxpbmUtd2hpdGUtYnRuIj5Mb2dpbjwvYT4KCgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggY29sLWxnLTcgY29sLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imhlcm8tY29udGVudC13cmFwIHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXVwcGVyY2FzZSI+PGIgc3R5bGU9ImNvbG9yOiAjZjQ5OTE3OyI+IDEgQlRDIFVTRDwvYj4gPHNwYW4gY2xhc3M9ImJpdENvaW4iPmxvYWRpbmcuLjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LXdoaXRlIj5PVVIgRk9DVVMgT04gQ1JZUFRPQ1VSUkVOQ1k8L3NwYW4+PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibGVhZCI+SGF2aW5nIGVtZXJnZWQgYXMgYSBkaWdpdGFsIGFsdGVybmF0aXZlIHRvIG1vcmUgdHJhZGl0aW9uYWwgbWV0aG9kcyBvZiBleGNoYW5nZSBsaWtlIGNhc2ggb3IgY3JlZGl0IGNhcmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcnlwdG9ncmFwaGljIG9yIGNyeXB0b2N1cnJlbmNpZXMgaGF2ZSBhbHNvIGdlbmVyYXRlZCBhbHRlcm5hdGl2ZSBwb2ludHMgb2Ygdmlldy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LXVuc3R5bGVkIHRlY2gtZmVhdHVyZS1saXN0IHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InB5LTEiPjxzcGFuIGNsYXNzPSJ0aS1jb250cm9sLWZvcndhcmQgbXItMiI+PC9zcGFuPjxzdHJvbmc+SW5kaXZpZHVhbCBPd25lcnNoaXA8L3N0cm9uZz48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InB5LTEiPjxzcGFuIGNsYXNzPSJ0aS1jb250cm9sLWZvcndhcmQgbXItMiI+PC9zcGFuPjxzdHJvbmc+U3Ryb25nIFNlY3VyaXR5PC9zdHJvbmc+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJweS0xIj48c3BhbiBjbGFzcz0idGktY29udHJvbC1mb3J3YXJkIG1yLTIiPjwvc3Bhbj48c3Ryb25nPkVhc2llciBJbnRlcm5hdGlvbmFsIFRyYWRlPC9zdHJvbmc+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJweS0xIj48c3BhbiBjbGFzcz0idGktY29udHJvbC1mb3J3YXJkIG1yLTIiPjwvc3Bhbj48c3Ryb25nPkdyZWF0ZXIgQWNjZXNzIHRvIENyZWRpdDwvc3Ryb25nPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0icHktMSI+PHNwYW4gY2xhc3M9InRpLWNvbnRyb2wtZm9yd2FyZCBtci0yIj48L3NwYW4+PHN0cm9uZz5Nb3JlIENvbmZpZGVudGlhbCBUcmFuc2FjdGlvbnM8L3N0cm9uZz48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uLWJ0bnMgbXQtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWFib3V0IiBjbGFzcz0iYnRuIGJ0bi1ibG9jayBzZWNvbmRhcnktc29saWQtYnRuIj5MZWFybiBNb3JlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gY2xhc3M9InByb21vLXNlY3Rpb24gcHQtMTAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLWxnLTQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpbmdsZS1wcm9tby1ibG9jayBwLTMgcm91bmRlZCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9tby1ibG9jay1pY29uIG1yLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZhcyBmYS1icmFpbiBpY29uLW1kIGNvbG9yLXByaW1hcnkiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb21vLWJsb2NrLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlNURUFEWSBHUk9XVEg8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+aHVvYmlnZXQuY29tIGlzIGEgc2FmZSBhbmQgc2VjdXJlIHBsYXRmb3JtIHRoYXQgZW5zdXJlcyBzdGVhZHkgZ3Jvd3RoIG9uIHlvdXIgaW52ZXN0bWVudHMgd2l0aCBkYWlseSByZXR1cm5zIG9uIGFuIG9uZ29pbmcgYmFzaXMgd2l0aCBubyBodXN0bGUgYW5kIHdpdGggYW4gaW5zdGFudCBwYXltZW50IDI0LzcuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLWxnLTQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpbmdsZS1wcm9tby1ibG9jayBwLTMgcm91bmRlZCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9tby1ibG9jay1pY29uIG1yLTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZhcyBmYS1iZXppZXItY3VydmUgaWNvbi1tZCBjb2xvci1wcmltYXJ5Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9tby1ibG9jay1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5SRUxJQUJMRSBTWVNURU08L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+aHVvYmlnZXQuY29tIGlzIGJhY2tlZCBieSBhIHRlYW0gb2YgcHJvZmVzc2lvbmFscywgZXhwZXJ0cywgYW5kIHNwZWNpYWxpc3RzIGluIHRoZSB0cmFkaW5nIG1hcmtldCwgcHJvdmlkaW5nIDI0LzcgZ3VpZGFuY2UgYW5kIHN1cHBvcnQgdG8gdGhlIHVzZXJzIGVuc3VyaW5nIGEgcmVsaWFibGUgc3lzdGVtLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbC1sZy00Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaW5nbGUtcHJvbW8tYmxvY2sgcC0zIHJvdW5kZWQgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvbW8tYmxvY2staWNvbiBtci00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmYXMgZmEtbGlmZS1yaW5nIGljb24tbWQgY29sb3ItcHJpbWFyeSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvbW8tYmxvY2stY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+TUFYSU1VTSBFRkZJQ0lFTkNZPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBtb3N0IGFkdmFuY2VkIGludGVsbGlnZW50IG1vbml0b3JpbmcgdGVjaG5vbG9neSB3aXRoIGEgaGlnaCBsZXZlbCBvZiBwcm9mZXNzaW9uYWxpc20gb2YgaHVvYmlnZXQuY29tIHByb3ZpZGVzIHNhZmUgcmV0dXJucyBvbiB5b3VyIGludmVzdG1lbnRzLCBlbnN1cmluZyBtYXhpbXVtIGVmZmljaWVuY3kuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJhYm91dC11cy1zZWN0aW9uIHB0Yi0xMDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiBjb2wtbGctNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJvdXQtaW1nLXdyYXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2Fib3V0LXVzLmpwZyIgYWx0PSJ2aWRlbyIgY2xhc3M9ImltZy1mbHVpZCByb3VuZGVkIHNoYWRvdy1zbSI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiBjb2wtbGctNSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJvdXQtY29udGVudC1yaWdodCBtYi1tZC00IG1iLWxnLTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+QWJvdXQgVXM8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5odW9iaWdldC5jb20gaXMgb25lIG9mIHRoZSBtb3N0IHJlbGlhYmxlIGFuZCBmYXN0ZXN0LWdyb3dpbmcgdHJhZGluZyBhbmQgaW52ZXN0bWVudCBwbGF0Zm9ybSwgZXN0YWJsaXNoZWQgYnkgYSB0ZWFtIG9mIHByb2Zlc3Npb25hbCB0cmFkZXJzIGZvY3VzaW5nIG9uIGNyeXB0byB0cmFkaW5nIG92ZXIgbXVsdGlwbGUgZXhjaGFuZ2VzIGFuZCBtYXJrZXRzLCBndWFyYW50ZWVpbmcgZGVjZW50IHByb2ZpdHMgZXZlbiB0byBpbnZlc3RvcnMgd2l0aCB6ZXJvIGtub3dsZWRnZSBvZiBjcnlwdG9jdXJyZW5jeSB0cmFkaW5nLiBodW9iaWdldC5jb20gaXMgb25lIG9mIHRoZSBmYXN0ZXN0LWdyb3dpbmcgdHJhZGluZyBjb21wYW5pZXMsIEhlYWRxdWFydGVyZWQgaW4gTG9uZG9uLCB3aXRoIGJyYW5jaGVzIGxvY2F0ZWQgaW4gb3RoZXIgcGFydHMgb2YgdGhlIHdvcmxkLiBPdXIgcHJvZ3JhbSwgdW5saWtlIGFueSBvdGhlciwgZ3VhcmFudGVlcyBmaXggRGFpbHkgaW50ZXJlc3QgZm9yIGludmVzdG9ycyByZWdhcmRsZXNzIG9mIHRoZSBtYXJrZXQgY29uZGl0aW9ucy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24tYnRucyBtdC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWFib3V0IiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5Ij5SZWFkIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS10YWJzLXdyYXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2LXRhYnMgbWItMyBib3JkZXItYm90dG9tLTAgZmVhdHVyZS10YWJzIiBkYXRhLXRhYnM9InRhYnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBhY3RpdmUiIGhyZWY9IiNmZWF0dXJlLXRhYi0yIiBkYXRhLXRvZ2dsZT0idGFiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0ibWItMCI+T3VyIE1pc3Npb248L2g2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIiIGhyZWY9IiNmZWF0dXJlLXRhYi0zIiBkYXRhLXRvZ2dsZT0idGFiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0ibWItMCI+T3VyIFZpc2lvbjwvaDY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50IGZlYXR1cmUtdGFiLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1wYW5lIGFjdGl2ZSIgaWQ9ImZlYXR1cmUtdGFiLTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgZ29hbCBvZiBodW9iaWdldC5jb20gaXMgdG8gcHJvdmlkZSBpdHMgdXNlcnMgd2l0aCBhIHVuaXF1ZSwgc2FmZSwgYW5kIHNlY3VyZSBwbGF0Zm9ybSBmb3IgdGhlaXIgaW52ZXN0bWVudHMgaW4gdGhlIGZpZWxkIG9mIGNyeXB0b2N1cnJlbmN5LiBUaGlzIGlzIHdoeSB3ZSBoYXZlIHVzZWQgYSBjdXR0aW5nLWVkZ2UgcGxhdGZvcm0gd2l0aCBleHRlbnNpdmUgaW5mcmFzdHJ1Y3R1cmUgaW50ZW5kZWQgdG8gbWFrZSB0aGluZ3MgbW9yZSBjb252ZW5pZW50LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+RHVlIHRvIHRoaXMgdGVjaG5vbG9neSwgb3VyIHBsYXRmb3JtIGlzIGFibGUgdG8gbWFrZSBpdCBwb3NzaWJsZSBvZiBwcm92aWRpbmcgcmVhbCBhbmQgc3RlYWR5IHByb2ZpdHMgb24gYW4gb25nb2luZyBkYWlseSBiYXNpcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLXBhbmUiIGlkPSJmZWF0dXJlLXRhYi0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+QXQgaHVvYmlnZXQuY29tLCB3ZSBjb21taXQgdG8gYW5kIG9mZmVyIGNsaWVudHMgb2YgYWxsIGxldmVscyBvZiBleHBlcmllbmNlIHRoZSBvcHBvcnR1bml0eSB0byBnZXQgcmljaCBhbmQgYmUgc3VjY2Vzc2Z1bCBpbiB0cmFkaW5nIENyeXB0bywgRm9yZXgsIGFuZCBvdGhlciBhc3NldHMuIFRoYXQncyB3aHkgd2UgYWx3YXlzIHRyeSB0byBleHBhbmQgb3VyIHRlY2huaWNhbCBjYXBhYmlsaXRpZXMgYW5kIGZpbmFuY2lhbCB0dXJub3ZlciB3aXRoIHRoZSBoZWxwIG9mIEFTSUMgbWluZXJzIHdobyBoYXZlIGhhbmRzLW9uIGd1YXJhbnRlZWluZyBwcm9maXQgYnkgZ2VuZXJhdGluZyBjcnlwdG9jdXJyZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHVvYmlnZXQuY29tIGVudmlzaW9ucyB3aWRlbmluZyB0aGUgcG9vbCBvZiBpbnZlc3RvcnMgYnkgZW5nYWdpbmcgaW4gc3RyYXRlZ2ljIG1pbmluZyBhbmQgdHJhZGluZyBvZiBjcnlwdG9jdXJyZW5jaWVzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJhYm91dC11cy1zZWN0aW9uIHB0Yi0xMDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiBjb2wtbGctNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJvdXQtaW1nLXdyYXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL2NhcmQucG5nIiBhbHQ9InZpZGVvIiBjbGFzcz0iaW1nLWZsdWlkIHJvdW5kZWQgc2hhZG93LXNtIj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIGNvbC1sZy01Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dC1jb250ZW50LXJpZ2h0IG1iLW1kLTQgbWItbGctMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5odW9iaWdldC5jb20gQ2FyZDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlNwaWNlIHVwIHlvdXIgcGF5bWVudCBleHBlcmllbmNlISBHZXQgeW91ciBtdWx0aWN1cnJlbmN5IGh1b2JpZ2V0LmNvbSBDYXJkICYgcGVyc29uYWwgYWNjb3VudCBmb3IgZmFzdCAmIHJlbGlhYmxlIGdsb2JhbCB0cmFuc2FjdGlvbnMuIFdlIGFpbSB0byBmaWxsIGEgZ2FwIGluIHRoZSB0cmFkaXRpb25hbCBmaW5hbmNpYWwgc3lzdGVtIHRoYXQgaGFzIGxlZnQgbWFueSB3aXRob3V0IGFjY2VzcyB0byBlc3NlbnRpYWwgYmFua2luZyBwcm9kdWN0cy4gQWNjb3JkaW5nIHRvIGEgMjAxNyBzdXJ2ZXkgYnkgdGhlIEZESUMsIDI1IHBlcmNlbnQgb2YgVS5TLiBob3VzZWhvbGRzIGFyZSB1bmJhbmtlZCBvciB1bmRlcmJhbmtlZCwgd2hpbGUgZ2xvYmFsIG51bWJlcnMgaGF2ZSByZWFjaGVkIGEgc3RhZ2dlcmluZyAxLjcgYmlsbGlvbiwgYWNjb3JkaW5nIHRvIGRhdGEgcmVsZWFzZWQgYnkgdGhlIFdvcmxkIEJhbmsuIFRocm91Z2ggQmxvY2tDYXJkLCBodW9iaWdldC5jb20gaW52ZXN0b3JzIGNhbiBoYXZlIGEgdmlydHVhbCBjYXJkIGlzc3VlZCB0byB0aGVtIHdoaWxlIGEgcGh5c2ljYWwgY2FyZCBpcyBzaGlwcGVkIHRvIHRoZW0uIFRoZSBjYXJkIGhhcyBhIG1pbmltdW0gb2YgJDEwMDAgYmFsYW5jZSBuZWVkZWQuIEl0IGNhbiBiZSB1c2VkIGF0IG92ZXIgNDUgbWlsbGlvbiBtZXJjaGFudHMgYW5kIEFUTXMg4oCTIGFueXdoZXJlIGluIHRoZSB3b3JsZCB3aGVyZSBtYWpvciBjcmVkaXQgY2FyZHMgYXJlIGFjY2VwdGVkLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0iZmVhdHVyZS1jb250ZW50LXR3byBwdGItMTAwIGdyYXktbGlnaHQtYmciPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmcgdGV4dC1jZW50ZXIgbWItNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5XaHkgVXM/PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImxlYWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVyZSBhcmUgc29tZSBvZiB0aGUgbWFueSBmZWF0dXJlcyB0aGF0IGRlZmluZSBvdXIgdW5pcXVlbmVzcy4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtZmVhdHVyZS1saXN0IHAtNCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aS1oZWFkcGhvbmUtYWx0IGljb24tc20gZC1ibG9jayBjb2xvci1zZWNvbmRhcnkgbWItMyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9Im1iLTIiPjI0LzcgU3VwcG9ydDwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk91ciBjdXN0b21lciBjYXJlIHNlcnZpY2UgaXMgYWx3YXlzIGF2YWlsYWJsZSAyNC83IHRvIGF0dGVuZCB0byB5b3UgYW5kIGFsc28gb2ZmZXJzIHByb2ZpdGFibGUgYWR2aWNlIG9uIHRoZSBiZXN0IGludmVzdG1lbnQgcHJvZ3JhbXMuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1mZWF0dXJlLWxpc3QgcC00IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpLWtleSBpY29uLXNtIGQtYmxvY2sgY29sb3Itc2Vjb25kYXJ5IG1iLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJtYi0yIj5TZWN1cmVkIFRyYW5zYWN0aW9uczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPllvdXIgZmluYW5jaWFsIGZ1dHVyZSBpcyBoaWdobHkgYXNzdXJlZCBhbmQgc2VjdXJlZCB0aHJvdWdoIG91ciBtdWx0aXBsZSBpbnZlc3RtZW50IHBhY2thZ2VzIHRoYXQgYXJlIHN1aXRhYmxlIGZvciBldmVyeSBjbGFzcy4gSW5zdGFudCBwYXltZW50IDI0LzcuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1mZWF0dXJlLWxpc3QgcC00IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpLWxvY2sgaWNvbi1zbSBkLWJsb2NrIGNvbG9yLXNlY29uZGFyeSBtYi0zIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0ibWItMiI+U3Ryb25nIFNlY3VyaXR5PC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+U2VjdXJpbmcgeW91ciBmdW5kcyBpcyBvdXIgcHJpb3JpdHkuIE91ciBzeXN0ZW0gaXMgZW5jcnlwdGVkIGFuZCBwcm90ZWN0ZWQgd2l0aCBDb21vZG8gU1NMIFNlY3VyaXR5LCBTU0wKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY3J5cHRpb24sIGFuZCBERG9TIHByb3RlY3Rpb24uPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1mZWF0dXJlLWxpc3QgcC00IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpLXJlbG9hZCBpY29uLXNtIGQtYmxvY2sgY29sb3Itc2Vjb25kYXJ5IG1iLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJtYi0yIj5RdWljayBSZXR1cm5zPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHN5c3RlbSBydW5zIG9uIGhpZ2hseSBlbmNyeXB0ZWQgYWxnb3JpdGhtcyB0byBwcm90ZWN0IGFuZCBzZWN1cmUgb3VyIHVzZXIgYWNjb3VudHMuIFdlIGhhdmUgZXhwZXJpZW5jZWQgc2VjdXJpdHkgZXhwZXJ0cyB3aG8gYXJlIGNvbnN0YW50bHkgZml4aW5nIHRocmVhdHMuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1mZWF0dXJlLWxpc3QgcC00IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpLXdvcmxkIGljb24tc20gZC1ibG9jayBjb2xvci1zZWNvbmRhcnkgbWItMyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9Im1iLTIiPk91ciBLbm93bGVkZ2U8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgdGVhbSBvZiB0ZWNobmljaWFucyBhbmQgdGhlIGNvbXBhbnkncyBmaW5hbmNpYWwgZGVwYXJ0bWVudCBhcmUgZm9jdXNlZCBvbiBndWlkaW5nIHlvdSBvbiBjcnlwdG9jdXJyZW5jeSB0cmFkaW5nIG92ZXIgbXVsdGlwbGUgRXhjaGFuZ2VzIGFuZCBtYXJrZXRzLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtZmVhdHVyZS1saXN0IHAtNCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aS10aG91Z2h0IGljb24tc20gZC1ibG9jayBjb2xvci1zZWNvbmRhcnkgbWItMyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9Im1iLTIiPk91ciBFeHBlcmllbmNlPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgYXJlIGEgdGVhbSBvZiBwcm9mZXNzaW9uYWwgdHJhZGVycyBpbiBGb3JleCwgQ3J5cHRvIHRyYWRpbmcsIGFuZCByZWFsIGVzdGF0ZS4gV2Uga25vdyBob3cgdG8gZ3JhYiBhIHByb2ZpdCBhbmQgcHJvdmlkZSB5b3Ugd2l0aCBhbGwgcG9zc2libGUgd2F5cyB0byBlYXJuIG1vbmV5LjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGNsYXNzPSJwcmljaW5nLXNlY3Rpb24gcHRiLTEwMCBncmF5LWxpZ2h0LWJnIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtOCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIHRleHQtY2VudGVyIG1iLTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+SW52ZXN0bWVudCBQbGFuczwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJsZWFkIj5XZSB1bmRlcnN0YW5kIHRoZSBuZWVkcyBvZiBvdXIgY3VzdG9tZXJzIHZlcnkgbXVjaCB0aGF0IG91ciBpbnZlc3RtZW50IHBsYW5zIGNvdmVyIHRoZSB3aWRlc3QgcmFuZ2Ugb2YgYmVuZWZpdHMuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KCgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kIG1iLTQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgdGV4dC1jZW50ZXIgc2luZ2xlLXByaWNpbmctcGFjayI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB0LTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PkJBU0lDIFBMQU48L2g1PjxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1zdWNjZXNzIj5JbnZlc3RtZW50PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIgcHktNCBib3JkZXItMCBwcmljaW5nLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoMSB0ZXh0LWNlbnRlciBtYi0wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icHJpY2luZy1yYXRlIj4xMCA8c3VwPiU8L3N1cD48c3Bhbj4xMiBIb3VyKHMpPC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5IGJnLXRyYW5zcGFyZW50IGFmZml4IHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LXVuc3R5bGVkIHRleHQtbGVmdCB0ZXh0LXNtIG1iLTQgcHJpY2luZy1mZWF0dXJlLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHNwYW4+TWluPC9zcGFuPjxiIGNsYXNzPSJmbG9hdC1yaWdodCI+VVNEIDUwLjAwPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Bhbj5NYXg8L3NwYW4+PGIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij5VU0QgNDk5LjAwPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Bhbj5Qcm9maXQ8L3NwYW4+PGIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij4xMCAlPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Bhbj5SZWZlcnJhbCBCb251czwvc3Bhbj48YiBjbGFzcz0iZmxvYXQtcmlnaHQiPjUgJTwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHNwYW4+RHVyYXRpb248L3NwYW4+PGIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij4xMiBIb3VyKHMpPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9ZGVwb3NpdCIgY2xhc3M9ImJ0biBvdXRsaW5lLXdoaXRlLWJ0biBwLTIiPkdldCBTdGFydGVkIE5vdzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kIG1iLTQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgdGV4dC1jZW50ZXIgc2luZ2xlLXByaWNpbmctcGFjayI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB0LTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PkFEVkFOQ0VEIFBMQU48L2g1PjxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1zdWNjZXNzIj5JbnZlc3RtZW50PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIgcHktNCBib3JkZXItMCBwcmljaW5nLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoMSB0ZXh0LWNlbnRlciBtYi0wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icHJpY2luZy1yYXRlIj4xNSA8c3VwPiU8L3N1cD48c3Bhbj4yNCBIb3VyKHMpPC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5IGJnLXRyYW5zcGFyZW50IGFmZml4IHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LXVuc3R5bGVkIHRleHQtbGVmdCB0ZXh0LXNtIG1iLTQgcHJpY2luZy1mZWF0dXJlLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHNwYW4+TWluPC9zcGFuPjxiIGNsYXNzPSJmbG9hdC1yaWdodCI+VVNEIDUwMC4wMDwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHNwYW4+TWF4PC9zcGFuPjxiIGNsYXNzPSJmbG9hdC1yaWdodCI+VVNEIDEsOTk5LjAwPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Bhbj5Qcm9maXQ8L3NwYW4+PGIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij4xNSAlPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Bhbj5SZWZlcnJhbCBCb251czwvc3Bhbj48YiBjbGFzcz0iZmxvYXQtcmlnaHQiPjUgJTwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHNwYW4+RHVyYXRpb248L3NwYW4+PGIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij4xIERheShzKTwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWRlcG9zaXQiIGNsYXNzPSJidG4gb3V0bGluZS13aGl0ZS1idG4gcC0yIj5HZXQgU3RhcnRlZCBOb3c8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZCBtYi00Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHRleHQtY2VudGVyIHNpbmdsZS1wcmljaW5nLXBhY2siPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5HT0xEIFBMQU48L2g1PjxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1zdWNjZXNzIj5JbnZlc3RtZW50PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIgcHktNCBib3JkZXItMCBwcmljaW5nLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoMSB0ZXh0LWNlbnRlciBtYi0wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icHJpY2luZy1yYXRlIj4zMCA8c3VwPiU8L3N1cD48c3Bhbj40OCBIb3VyKHMpPC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5IGJnLXRyYW5zcGFyZW50IGFmZml4IHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LXVuc3R5bGVkIHRleHQtbGVmdCB0ZXh0LXNtIG1iLTQgcHJpY2luZy1mZWF0dXJlLWxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHNwYW4+TWluPC9zcGFuPjxiIGNsYXNzPSJmbG9hdC1yaWdodCI+VVNEIDIsMDAwLjAwPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Bhbj5NYXg8L3NwYW4+PGIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij5VU0QgMTAsMDAwLjAwPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Bhbj5Qcm9maXQ8L3NwYW4+PGIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij4zMCAlPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Bhbj5SZWZlcnJhbCBCb251czwvc3Bhbj48YiBjbGFzcz0iZmxvYXQtcmlnaHQiPjUgJTwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHNwYW4+RHVyYXRpb248L3NwYW4+PGIgY2xhc3M9ImZsb2F0LXJpZ2h0Ij40OCBIb3VyKHMpPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9ZGVwb3NpdCIgY2xhc3M9ImJ0biBvdXRsaW5lLXdoaXRlLWJ0biBwLTIiPkdldCBTdGFydGVkIE5vdzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCjwhLS0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZCBtYi00Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHRleHQtY2VudGVyIHNpbmdsZS1wcmljaW5nLXBhY2siPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5ESUFNT05EIFBMQU48L2g1PjxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1zdWNjZXNzIj5JbnZlc3RtZW50PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIgcHktNCBib3JkZXItMCBwcmljaW5nLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoMSB0ZXh0LWNlbnRlciBtYi0wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icHJpY2luZy1yYXRlIj4xMDAgPHN1cD4lPC9zdXA+PHNwYW4+NDggSG91cihzKTwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSBiZy10cmFuc3BhcmVudCBhZmZpeCB0ZXh0LXdoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdC11bnN0eWxlZCB0ZXh0LWxlZnQgdGV4dC1zbSBtYi00IHByaWNpbmctZmVhdHVyZS1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRpLWNoZWNrLWJveCBtci0yIGNvbG9yLXNlY29uZGFyeSI+PC9zcGFuPjxzcGFuPk1pbjwvc3Bhbj48YiBjbGFzcz0iZmxvYXQtcmlnaHQiPlVTRCA1LDAwMC4wMDwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHNwYW4+TWF4PC9zcGFuPjxiIGNsYXNzPSJmbG9hdC1yaWdodCI+VVNEIDEwMCwwMDAuMDA8L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRpLWNoZWNrLWJveCBtci0yIGNvbG9yLXNlY29uZGFyeSI+PC9zcGFuPjxzcGFuPlByb2ZpdDwvc3Bhbj48YiBjbGFzcz0iZmxvYXQtcmlnaHQiPjEwMCAlPC9iPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Bhbj5SZWZlcnJhbCBCb251czwvc3Bhbj48YiBjbGFzcz0iZmxvYXQtcmlnaHQiPjEwICU8L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRpLWNoZWNrLWJveCBtci0yIGNvbG9yLXNlY29uZGFyeSI+PC9zcGFuPjxzcGFuPkR1cmF0aW9uPC9zcGFuPjxiIGNsYXNzPSJmbG9hdC1yaWdodCI+MiBEYXkocyk8L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1kZXBvc2l0IiBjbGFzcz0iYnRuIG91dGxpbmUtd2hpdGUtYnRuIHAtMiI+R2V0IFN0YXJ0ZWQgTm93PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgotLT4KCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24tYnRucyBtdC0zIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXBsYW5zIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIj5WaWV3IEFsbCBQbGFuczwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPHNlY3Rpb24gY2xhc3M9ImNhbGwtdG8tYWN0aW9uIHB0LTUgcGItNSBncmFkaWVudC1vdmVybGF5IiBzdHlsZT0iYmFja2dyb3VuZDogdXJsKCdpbWcvc2xpZGVyLWltZy0zLmpwZycpbm8tcmVwZWF0IHRvcCBjZW50ZXIgLyBjb3ZlciBmaXhlZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGp1c3RpZnktY29udGVudC1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggY29sLWxnLTgiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbGwtdG8tYWN0aW9uLWNvbnRlbnQgdGV4dC13aGl0ZSB0ZXh0LWNlbnRlciBtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LXdoaXRlIG1iLTEiPkEgU3VtbWFyeSBvZiBPdXIgSm91cm5leTwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJsZWFkIj5XZSBoYXZlIG92ZXIgdGhlIHllYXJzIGdhdGhlcmVkIGxvYWRzIG9mIGV4cGVyaWVuY2VzIHRoYXQgaGF2ZSBjb25zZXF1ZW50bHkgYm9vc3RlZCBvdXIgcG9ydGZvbGlvIGluIHRoZSB3b3JsZCBvZiBmaW5hbmNpYWwgc2VydmljZXMuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpbmdsZS1jb3VudGVyIHJvdW5kZWQgcC00IHRleHQtY2VudGVyIHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGktdXNlciBpY29uLW1kIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibWItMCB0ZXh0LXdoaXRlIj41MTQ1MDA8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5BY3RpdmUgVXNlcnMrPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctMyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2luZ2xlLWNvdW50ZXIgcm91bmRlZCBwLTQgdGV4dC1jZW50ZXIgdGV4dC13aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aS10aW1lIGljb24tbWQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJtYi0wIHRleHQtd2hpdGUiPjgwNzwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlJ1bm5pbmcgRGF5czwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpbmdsZS1jb3VudGVyIHJvdW5kZWQgcC00IHRleHQtY2VudGVyIHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGktY3VwIGljb24tbWQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJtYi0wIHRleHQtd2hpdGUiPjExMDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkF3YXJkIFdvbjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpbmdsZS1jb3VudGVyIHJvdW5kZWQgcC00IHRleHQtY2VudGVyIHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGktd29ybGQgaWNvbi1tZCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im1iLTAgdGV4dC13aGl0ZSI+MTUyPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPHA+R2xvYmFsIFByZXNlbmNlPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPHNlY3Rpb24gY2xhc3M9ImFib3V0LXVzLXNlY3Rpb24gcHRiLTEwMCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIgY29sLWxnLTUiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLXByb21vLWNvbnRlbnQgbWItbWQtNCBtYi1sZy0wIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyPldlIFRha2UgQWR2YW50YWdlIE9mIFByb3ZlbiBTb2x1dGlvbnM8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5XZSBmb2N1cyBvbiB0aGUgZnV0dXJlIGFuZCBjb250aW51b3VzIGltcHJvdmVtZW50IHRvIHByb3ZpZGUgb3VyIGNsaWVudHMgd2l0aCBpbm5vdmF0aXZlIG1lY2hhbmlzbXMgaW4gdGhlIGluZHVzdHJ5LgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdC11bnN0eWxlZCB0ZWNoLWZlYXR1cmUtbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InB5LTEiPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Ryb25nPlNlY3VyaXR5PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlnaCBUZWNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJweS0xIj48c3BhbiBjbGFzcz0idGktY2hlY2stYm94IG1yLTIgY29sb3Itc2Vjb25kYXJ5Ij48L3NwYW4+PHN0cm9uZz5Db3Jwb3JhdGU8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbHVlYmFjayBHbG9iYWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InB5LTEiPjxzcGFuIGNsYXNzPSJ0aS1jaGVjay1ib3ggbXItMiBjb2xvci1zZWNvbmRhcnkiPjwvc3Bhbj48c3Ryb25nPkluc3VyZWQ8L3N0cm9uZz4gQUlJQ08gSW5zdXJhbmNlIEFtZXJpY2FuIEludGVybmF0aW9uYWw8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbXQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY291bnRlci1zaW5nbGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9Im1iLTAgY29sb3Itc2Vjb25kYXJ5Ij5VU0QgNy40Qis8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkRlcG9zaXRzPC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3VudGVyLXNpbmdsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0ibWItMCBjb2xvci1zZWNvbmRhcnkiPlVTRCA1LjJCKzwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+V2l0aGRyYXdhbDwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24tYnRucyBtdC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNlcnZpY2VzIiBjbGFzcz0iYnRuIHByaW1hcnktc29saWQtYnRuIG1yLTIiPlZpZXcgT3VyIFNlcnZpY2VzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9c3VwcG9ydCIgY2xhc3M9ImJ0biBvdXRsaW5lLWJ0biI+Q29udGFjdCBVczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiBjb2wtbGctNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBib3JkZXItMCBzaGFkb3ctc20gdGV4dC13aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvYWJvdXQtMS5qcGciIGFsdD0idmlkZW8iIGNsYXNzPSJpbWctZmx1aWQgcm91bmRlZCBzaGFkb3ctc20iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWltZy1vdmVybGF5IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9R2MyZW4zbkh4QTQiIGNsYXNzPSJwb3B1cC15b3V0dWJlIHZpZGVvLXBsYXktaWNvbiBjb2xvci1iaXAgc2hhZG93Ij48c3BhbiBjbGFzcz0idGktY29udHJvbC1wbGF5Ij48L3NwYW4+IDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0id29yay1wcm9jZXNzLW5ldyBwdGItMTAwIGdyYXktbGlnaHQtYmciPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC05IGNvbC1sZy04Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmcgdGV4dC1jZW50ZXIgbWItNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5PdXIgUHJvY2VzcyBpcyBTaW1wbGUgYW5kIFNob3J0PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImxlYWQiPkRpc3RpbmN0aXZlbHkgZ3JvdyB0byBnbyBmb3J3YXJkIG1hbnVmYWN0dXJlZCBwcm9kdWN0cyBhbmQgb3B0aW1hbCBuZXR3b3Jrcy4gRW50aHVzaWFzdGljYWxseSBkaXNzZW1pbmF0ZSBvdXRzb3VyY2luZyB0aHJvdWdoIHJldm9sdXRpb25hcnkuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b3JrLXByb2Nlc3Mtd3JhcCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpbmdsZS13b3JrLXByb2Nlc3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id29yay1wcm9jZXNzLWljb24td3JhcCBzZWNvbmRhcnktYmcgcm91bmRlZC1jaXJjbGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJ0aS11c2VyIGljb24tbWQgdGV4dC13aGl0ZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9jZXNzLXN0ZXAgcHJpbWFyeS1iZyB0ZXh0LXdoaXRlIHNoYWRvdy1zbSI+MTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id29yay1wcm9jZXNzLWNvbnRlbnQgbXQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlNpZ24gVXA8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNsaWNrIG9uIHRoZSByZWdpc3RyYXRpb24gYnV0dG9uIHRvIGdldCBhIG5ldyBhY2NvdW50LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2luZ2xlLXdvcmstcHJvY2VzcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b3JrLXByb2Nlc3MtaWNvbi13cmFwIHNlY29uZGFyeS1iZyByb3VuZGVkLWNpcmNsZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9InRpLXNldHRpbmdzIGljb24tbWQgdGV4dC13aGl0ZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9jZXNzLXN0ZXAgcHJpbWFyeS1iZyB0ZXh0LXdoaXRlIHNoYWRvdy1zbSI+Mjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id29yay1wcm9jZXNzLWNvbnRlbnQgbXQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlNldCBVcCBZb3VyIFdhbGxldDwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+TG9naW4gdG8geW91ciBhY2NvdW50IHRvIGFkZCBuZXcgd2FsbGV0PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaW5nbGUtd29yay1wcm9jZXNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndvcmstcHJvY2Vzcy1pY29uLXdyYXAgc2Vjb25kYXJ5LWJnIHJvdW5kZWQtY2lyY2xlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0idGktcGVuY2lsLWFsdCBpY29uLW1kIHRleHQtd2hpdGUiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvY2Vzcy1zdGVwIHByaW1hcnktYmcgdGV4dC13aGl0ZSBzaGFkb3ctc20iPjM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndvcmstcHJvY2Vzcy1jb250ZW50IG10LTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5NYWtlIEEgRGVwb3NpdDwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+TWFrZSBhIGRlcG9zaXQgZnJvbSBhbnkgb2Ygb3VyIHBsYW5zIGNvbnZlbmllbnQgZm9yIHlvdS4gPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaW5nbGUtd29yay1wcm9jZXNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndvcmstcHJvY2Vzcy1pY29uLXdyYXAgc2Vjb25kYXJ5LWJnIHJvdW5kZWQtY2lyY2xlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0idGktd2FsbGV0IGljb24tbWQgdGV4dC13aGl0ZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9jZXNzLXN0ZXAgcHJpbWFyeS1iZyB0ZXh0LXdoaXRlIHNoYWRvdy1zbSI+NDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id29yay1wcm9jZXNzLWNvbnRlbnQgbXQtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1Pk1ha2UgV2l0aGRyYXdhbDwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2l0aGRyYXcgeW91ciBlYXJuaW5ncyBhbnl0aW1lIG9yIHJlaW52ZXN0IHRvIGVhcm4gbW9yZS4gPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDxzZWN0aW9uIGNsYXNzPSJ0ZWFtLXR3by1zZWN0aW9uIHB0Yi0xMDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1sZy04Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmcgdGV4dC1jZW50ZXIgbWItNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5NZWV0IG91ciBsb3ZlbHkgdGVhbTwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJsZWFkIj5EaXN0aW5jdGl2ZWx5IGdyb3cgZ28gZm9yd2FyZCBtYW51ZmFjdHVyZWQgcHJvZHVjdHMgYW5kIG9wdGltYWwgbmV0d29ya3MuIEdsb2JhbGx5IGFkbWluaXN0cmF0ZSAyNC83IGludGVyZmFjZXMgYW5kIGVuZC10by1lbmQgcGxhdGZvcm1zLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFmZi1tZW1iZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIGdyYXktbGlnaHQtYmcgdGV4dC1jZW50ZXIgYm9yZGVyLTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltZy90ZWFtLTEuanBnIiBhbHQ9InRlYW0gaW1hZ2UiIGNsYXNzPSJjYXJkLWltZy10b3AiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9InRlYWNoZXIgbWItMCI+TWljaGFlbCBIaWxsPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Ccm9rZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXkgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXktaW5uZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhZmYtbWVtYmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBncmF5LWxpZ2h0LWJnIHRleHQtY2VudGVyIGJvcmRlci0wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvdGVhbS0zLmpwZyIgYWx0PSJ0ZWFtIGltYWdlIiBjbGFzcz0iY2FyZC1pbWctdG9wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJ0ZWFjaGVyIG1iLTAiPktlbHkgUm95PC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Ccm9rZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXkgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGFmZi1tZW1iZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIGdyYXktbGlnaHQtYmcgdGV4dC1jZW50ZXIgYm9yZGVyLTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltZy90ZWFtLTguanBnIiBhbHQ9InRlYW0gaW1hZ2UiIGNsYXNzPSJpbWctZmx1aWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9InRlYWNoZXIgbWItMCI+TGVvbiBMaSBGb3JkPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Gb3VuZGVyICYgQ0VPPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDxzZWN0aW9uIGNsYXNzPSJvdXItYmxvZy1zZWN0aW9uIHB0LTIgcGItNSBncmF5LWxpZ2h0LWJnIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTgiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyBtYi01Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyPk91ciBTZXJ2aWNlczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2luZ2xlLWJsb2ctY2FyZCBjYXJkIGJvcmRlci0wIHNoYWRvdy1zbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsb2ctaW1nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeSBwb3NpdGlvbi1hYnNvbHV0ZSI+Rm9yZXg8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1nL3NlcnYvZm9yZXguanBnIiBjbGFzcz0iY2FyZC1pbWctdG9wIHBvc2l0aW9uLXJlbGF0aXZlIGltZy1mbHVpZCIgYWx0PSJibG9nIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY2FyZC10ZXh0Ij48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8IS0tICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpbmdsZS1ibG9nLWNhcmQgY2FyZCBib3JkZXItMCBzaGFkb3ctc20iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJibG9nLWltZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnkgcG9zaXRpb24tYWJzb2x1dGUiPkFncmljdWx0dXJlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltZy9zZXJ2L2FncmljLmpwZyIgY2xhc3M9ImNhcmQtaW1nLXRvcCBwb3NpdGlvbi1yZWxhdGl2ZSBpbWctZmx1aWQiIGFsdD0iYmxvZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNhcmQtdGV4dCI+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpbmdsZS1ibG9nLWNhcmQgY2FyZCBib3JkZXItMCBzaGFkb3ctc20iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJibG9nLWltZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnkgcG9zaXRpb24tYWJzb2x1dGUiPk9pbCBBbmQgR2FzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltZy9zZXJ2L29pbC5qcGciIGNsYXNzPSJjYXJkLWltZy10b3AgcG9zaXRpb24tcmVsYXRpdmUgaW1nLWZsdWlkIiBhbHQ9ImJsb2ciPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjYXJkLXRleHQiPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+LS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbi1idG5zIG10LTMgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9c2VydmljZXMiIGNsYXNzPSJidG4gdGV4dC1jZW50ZXIgYnRuLXByaW1hcnkiPlZpZXcgQWxsIFNlcnZpY2VzPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxzZWN0aW9uIGlkPSJkb3dubG9hZCIgY2xhc3M9InZpZGVvLXByb21vIHB0Yi0xMDAiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiIHN0eWxlPSJoZWlnaHQ6IDUwMHB4OyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXJfX3dpZGdldCI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LmNvbS9tYXJrZXRzL2NyeXB0b2N1cnJlbmNpZXMvcHJpY2VzLWFsbC8iIHJlbD0ibm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48c3BhbiBjbGFzcz0iYmx1ZS10ZXh0Ij5DcnlwdG9jdXJyZW5jeSBNYXJrZXRzPC9zcGFuPjwvYT4gYnkgVHJhZGluZ1ZpZXc8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vZXh0ZXJuYWwtZW1iZWRkaW5nL2VtYmVkLXdpZGdldC1zY3JlZW5lci5qcyIgYXN5bmM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndpZHRoIjogIjEwMCUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoZWlnaHQiOiAiMTAwJSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRDb2x1bW4iOiAib3ZlcnZpZXciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JlZW5lcl90eXBlIjogImNyeXB0b19ta3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNwbGF5Q3VycmVuY3kiOiAiVVNEIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3JUaGVtZSI6ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsZSI6ICJlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzVHJhbnNwYXJlbnQiOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTUiIHN0eWxlPSJoZWlnaHQ6IDUwMHB4OyI+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJ0cmFkaW5ndmlld180ZWVhNiIgc3R5bGU9ImhlaWdodDogNTAwcHg7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tL3N5bWJvbHMvTkFTREFRLUFBUEwvIiByZWw9Im5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PHNwYW4gY2xhc3M9ImJsdWUtdGV4dCI+QUFQTCBDaGFydDwvc3Bhbj48L2E+IGJ5IFRyYWRpbmdWaWV3PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL3R2LmpzIj48L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRyYWRpbmdWaWV3LndpZGdldCh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1dG9zaXplIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3ltYm9sIjogIk5BU0RBUTpBQVBMIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW50ZXJ2YWwiOiAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWV6b25lIjogIkV0Yy9VVEMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVtZSI6ICJsaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0eWxlIjogIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb2NhbGUiOiAiZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b29sYmFyX2JnIjogIiNmMWYzZjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbmFibGVfcHVibGlzaGluZyI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGxvd19zeW1ib2xfY2hhbmdlIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29udGFpbmVyX2lkIjogInRyYWRpbmd2aWV3XzRlZWE2IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8c2VjdGlvbiBjbGFzcz0idGVzdGltb25pYWwtc2VjdGlvbiBwdGItMTAwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtOSBjb2wtbGctOCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIG1iLTUgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+V2hhdCBPdXIgQ2xpZW50cyBTYXkgQWJvdXQgVXM8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibGVhZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXIgZXhwZXJ0aXNlIGluIGZpbmFuY2lhbCBzZXJ2aWNlcyBoYXMgYmV0dGVyZWQgdGhlIGxpdmVzIG9mIG91ciBjbGllbnRzLCBhbmQgdGhlaXIgdGVzdGltb255IGhhcyBlbmNvdXJhZ2VkIHVzIGdyZWF0bHkuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC1sZy00Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1zaW5nbGUgc2hhZG93LXNtIGdyYXktbGlnaHQtYmcgcm91bmRlZCBwLTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YmxvY2txdW90ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh1b2JpZ2V0LmNvbSBpcyBvbmUgb2YgdGhlIGJlc3QgcGVyZm9ybWluZyBmdW5kIG1hbmFnZW1lbnQgY29tcGFueSA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaWVudC1pbWcgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBwdC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvcHJvLmpwZyIgYWx0PSJjbGllbnQiIHdpZHRoPSI1MCIgY2xhc3M9ImltZy1mbHVpZCByb3VuZGVkLWNpcmNsZSBzaGFkb3ctc20gbXItMyIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGllbnQtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0ibWItMCI+UmFiaXUgTWFlc2hhbDwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0ibWItMCI+SW52ZXN0b3I8L3NtYWxsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtc2luZ2xlIHNoYWRvdy1zbSBncmF5LWxpZ2h0LWJnIHJvdW5kZWQgcC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHJlbWFya2FibHkgb25lIG9mIHRoZSBiZXN0IEludmVzdG1lbnRzIEkgaGF2ZSBtYWRlIHRoaXMgeWVhciA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaWVudC1pbWcgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBwdC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvcHJvLmpwZyIgYWx0PSJjbGllbnQiIHdpZHRoPSI1MCIgY2xhc3M9ImltZy1mbHVpZCByb3VuZGVkLWNpcmNsZSBzaGFkb3ctc20gbXItMyIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGllbnQtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0ibWItMCI+SnVuZmVuZyBsdWthczwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0ibWItMCI+SW52ZXN0b3I8L3NtYWxsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBjb2wtbGctNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtc2luZ2xlIHNoYWRvdy1zbSBncmF5LWxpZ2h0LWJnIHJvdW5kZWQgcC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBZb3VyIHZlcnkgaW1wcmVzc2l2ZSBmaW5hbmNpYWwgc2VydmljZXMgYW5kIHRvcCBjdXN0b21lciBzdXBwb3J0IGFyZSB0b3Bub3RjaCA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaWVudC1pbWcgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBwdC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvcHJvLmpwZyIgYWx0PSJjbGllbnQiIHdpZHRoPSI1MCIgY2xhc3M9ImltZy1mbHVpZCByb3VuZGVkLWNpcmNsZSBzaGFkb3ctc20gbXItMyIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGllbnQtaW5mbyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0ibWItMCI+Tm9yYSBGcmV5YTwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0ibWItMCI+SW52ZXN0b3I8L3NtYWxsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKPC9kaXY+CgoKCgo8ZGl2IGNsYXNzPSJjbGllbnQtc2VjdGlvbiBncmF5LWxpZ2h0LWJnIiBzdHlsZT0icGFkZGluZzogMTBweCAwcHg7Ij4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgogICAgICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3dsLWNhcm91c2VsIG93bC10aGVtZSBjbGllbnRzLWNhcm91c2VsIGRvdC1pbmRpY2F0b3IiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gc2luZ2xlLWNsaWVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvY2xpZW50cy1sb2dvLTAxLnBuZyIgYWx0PSJjbGllbnQgbG9nbyIgY2xhc3M9ImNsaWVudC1pbWciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gc2luZ2xlLWNsaWVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvY2xpZW50cy1sb2dvLTAyLnBuZyIgYWx0PSJjbGllbnQgbG9nbyIgY2xhc3M9ImNsaWVudC1pbWciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gc2luZ2xlLWNsaWVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvY2xpZW50cy1sb2dvLTAzLnBuZyIgYWx0PSJjbGllbnQgbG9nbyIgY2xhc3M9ImNsaWVudC1pbWciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gc2luZ2xlLWNsaWVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvY2xpZW50cy1sb2dvLTA0LnBuZyIgYWx0PSJjbGllbnQgbG9nbyIgY2xhc3M9ImNsaWVudC1pbWciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gc2luZ2xlLWNsaWVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvY2xpZW50cy1sb2dvLTA1LnBuZyIgYWx0PSJjbGllbnQgbG9nbyIgY2xhc3M9ImNsaWVudC1pbWciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gc2luZ2xlLWNsaWVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvY2xpZW50cy1sb2dvLTA2LnBuZyIgYWx0PSJjbGllbnQgbG9nbyIgY2xhc3M9ImNsaWVudC1pbWciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gc2luZ2xlLWNsaWVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvY2xpZW50cy1sb2dvLTA3LnBuZyIgYWx0PSJjbGllbnQgbG9nbyIgY2xhc3M9ImNsaWVudC1pbWciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0gc2luZ2xlLWNsaWVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWcvY2xpZW50cy1sb2dvLTA4LnBuZyIgYWx0PSJjbGllbnQgbG9nbyIgY2xhc3M9ImNsaWVudC1pbWciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgIDwvZGl2Pgo8L2Rpdj4KPCEtLSBTbWFydHN1cHAgTGl2ZSBDaGF0IHNjcmlwdCAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgX3NtYXJ0c3VwcCA9IF9zbWFydHN1cHAgfHwge307Cl9zbWFydHN1cHAua2V5ID0gJzIxNDQ3ZWNhMmQ0OWEwYzQ1OWIwY2Q5ODFhOTMwZmU1ZGQ3MDA4MGUnOwp3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgewogIHZhciBzLGMsbz1zbWFydHN1cHA9ZnVuY3Rpb24oKXsgby5fLnB1c2goYXJndW1lbnRzKX07by5fPVtdOwogIHM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07Yz1kLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7CiAgYy5zcmM9J2h0dHBzOi8vd3d3LnNtYXJ0c3VwcGNoYXQuY29tL2xvYWRlci5qcz8nO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxzKTsKfSkoZG9jdW1lbnQpOwo8L3NjcmlwdD4KCjxmb290ZXIgY2xhc3M9ImZvb3Rlci1zZWN0aW9uIj4KCiAgICA8ZGl2IGNsYXNzPSJmb290ZXItdG9wIGdyYWRpZW50LWJnIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTkiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBmb290ZXItdG9wLXdyYXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMyBjb2wtc20tNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItbmF2LXdyYXAgdGV4dC13aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LXdoaXRlIj5RVUlDSyBMSU5LUzwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgZmxleC1jb2x1bW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iP2E9c2lnbnVwIj5TaWduIFVwPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iP2E9bG9naW4iPkxvZ2luPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iP2E9cGxhbnMiPkludmVzdG1lbnQgUGxhbnM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSI/YT1idXktYnRjIj5XaGVyZSB0byBCdXkgQml0Y29pbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSJodHRwczovL2ZpbmQtYW5kLXVwZGF0ZS5jb21wYW55LWluZm9ybWF0aW9uLnNlcnZpY2UuZ292LnVrL2NvbXBhbnkvMTI2MTQ5OTkiPkNlcnRpZmljYXRpb248L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMgY29sLXNtLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLW5hdi13cmFwIHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSI+Q09NUEFOWTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgZmxleC1jb2x1bW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iP2E9aG9tZSI+SG9tZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Ij9hPWFib3V0Ij5BYm91dCBVczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Ij9hPXNlcnZpY2VzIj5PdXIgU2VydmljZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSI/YT1mYXEiPkZBUXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMgY29sLXNtLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLW5hdi13cmFwIHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSI+TEVHQUw8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IGZsZXgtY29sdW1uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Ij9hPWxlZ2FsIj5MZWdhbCBJbmZvcm1hdGlvbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Ij9hPXByaXZhY3kiPlByaXZhY3kgUG9saWN5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iP2E9c3VwcG9ydCI+UmVwb3J0IEFidXNlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iP2E9cnVsZXMiPlRlcm1zIG9mIFNlcnZpY2U8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMgY29sLXNtLTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLW5hdi13cmFwIHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSI+U1VQUE9SVDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXYgZmxleC1jb2x1bW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iP2E9c3VwcG9ydCI+Q29udGFjdDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Ij9hPWFib3V0Ij5Lbm93bGVkZ2UgQmFzZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Ij9hPWZhcSI+RkFRczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Ij9hPWhvbWUiPlN5c3RlbSBTdGF0dXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBmb290ZXItdG9wLXdyYXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLW5hdi13cmFwIHRleHQtd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSI+R0VUIElOIFRPVUNIPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImdldC1pbi10b3VjaC1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHB5LTIiPjxzcGFuIGNsYXNzPSJmYXMgZmEtbWFwLW1hcmtlci1hbHQgbXItMiI+PC9zcGFuPlBPIEJveCA2MDEsIDYwMSBBcGFydG1lbnQgNjAxLCAyOSBOZXcgQmFpbGV5IFN0cmVldCwgU2FsZm9yZCwgTWFuY2hlc3RlciwgVW5pdGVkIEtpbmdkb20sIE0zIDVHTiA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcHktMiI+PHNwYW4gY2xhc3M9ImZhcyBmYS1lbnZlbG9wZSBtci0yIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9udCBzdHlsZT0idGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSI+PGEgaHJlZj0ibWFpbHRvOmluZm9AaHVvYmlnZXQuY29tIiBjbGFzcz0ibGluay1jb2xvciI+aW5mb0BodW9iaWdldC5jb208L2E+PC9mb250PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPGxpIGNsYXNzPSJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHB5LTIiPjxzcGFuIGNsYXNzPSJmYXMgZmEtcGhvbmUtYWx0IG1yLTIiPjwvc3Bhbj4gICs0NDcgQUxMVVJFRklOPC9saT4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgoKICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ib3R0b20gZ3JheS1saWdodC1iZyBweS0yIG1iLTUiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTUgY29sLWxnLTUiPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb3B5cmlnaHQtdGV4dCBwYi0wIG1iLTAiPkNvcHlyaWdodHMgwqkgMjAyNi4gQWxsCiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0cyByZXNlcnZlZAogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1ob21lIiB0YXJnZXQ9Il9ibGFuayI+aHVvYmlnZXQuY29tPC9hPgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTcgY29sLWxnLTYgZC1ub25lIGQtbWQtYmxvY2sgZC1sZy1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic29jaWFsLW5hdiB0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LXVuc3R5bGVkIHNvY2lhbC1saXN0IG1iLTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJsaXN0LWlubGluZS1pdGVtIHRvb2x0aXAtaG92ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZmFjZWJvb2suY29tIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InJvdW5kZWQiPjxzcGFuIGNsYXNzPSJ0aS1mYWNlYm9vayI+PC9zcGFuPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sdGlwLWl0ZW0iPkZhY2Vib29rPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJsaXN0LWlubGluZS1pdGVtIHRvb2x0aXAtaG92ZXIiPjxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0icm91bmRlZCI+PHNwYW4gY2xhc3M9InRpLXR3aXR0ZXIiPjwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbHRpcC1pdGVtIj5Ud2l0dGVyPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJsaXN0LWlubGluZS1pdGVtIHRvb2x0aXAtaG92ZXIiPjxhIGhyZWY9Imh0dHA6Ly9saW5rZWRpbi5jb20iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0icm91bmRlZCI+PHNwYW4gY2xhc3M9InRpLWxpbmtlZGluIj48L3NwYW4+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2x0aXAtaXRlbSI+TGlua2VkaW48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Imxpc3QtaW5saW5lLWl0ZW0gdG9vbHRpcC1ob3ZlciI+PGEgaHJlZj0iaHR0cHM6Ly9pbnN0YWdyYW0uY29tIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InJvdW5kZWQiPjxzcGFuIGNsYXNzPSJ0aS1pbnN0YWdyYW0iPjwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbHRpcC1pdGVtIj5JbnN0YWdyYW08L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCjwvZm9vdGVyPgoKCjxidXR0b24gY2xhc3M9InNjcm9sbC10b3Agc2Nyb2xsLXRvLXRhcmdldCIgZGF0YS10YXJnZXQ9Imh0bWwiPgogICAgPHNwYW4gY2xhc3M9InRpLWFuZ2xlLXVwIj48L3NwYW4+CjwvYnV0dG9uPgoKCgo8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LTMuNC4xLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0IHNyYz0ianMvcG9wcGVyLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0IHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0IHNyYz0ianMvanF1ZXJ5Lm1hZ25pZmljLXBvcHVwLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LmVhc2luZy5taW4uanMiPjwvc2NyaXB0PgoKPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS5tYi5ZVFBsYXllci5taW4uanMiPjwvc2NyaXB0PgoKPHNjcmlwdCBzcmM9ImpzL21peGl0dXAubWluLmpzIj48L3NjcmlwdD4KCjxzY3JpcHQgc3JjPSJqcy93b3cubWluLmpzIj48L3NjcmlwdD4KCjxzY3JpcHQgc3JjPSJqcy9vd2wuY2Fyb3VzZWwubWluLmpzIj48L3NjcmlwdD4KCjxzY3JpcHQgc3JjPSJqcy9qcXVlcnkuY291bnRkb3duLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0IHNyYz0ianMvc2NyaXB0cy5qcyI+PC9zY3JpcHQ+Cgo8c2NyaXB0PgogICAgZnVuY3Rpb24gc2hvd1RpbWUoKSB7CiAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwogICAgICAgIHZhciBoID0gZGF0ZS5nZXRIb3VycygpOyAvLyAwIC0gMjMKICAgICAgICB2YXIgbSA9IGRhdGUuZ2V0TWludXRlcygpOyAvLyAwIC0gNTkKICAgICAgICB2YXIgcyA9IGRhdGUuZ2V0U2Vjb25kcygpOyAvLyAwIC0gNTkKICAgICAgICB2YXIgc2Vzc2lvbiA9ICJBTSI7CgogICAgICAgIGlmIChoID09PSAwKSB7CiAgICAgICAgICAgIGggPSAxMjsKICAgICAgICB9CgogICAgICAgIGlmIChoID4gMTIpIHsKICAgICAgICAgICAgaCA9IGggLSAxMjsKICAgICAgICAgICAgc2Vzc2lvbiA9ICJQTSI7CiAgICAgICAgfQoKICAgICAgICBoID0gKGggPCAxMCkgPyAiMCIgKyBoIDogaDsKICAgICAgICBtID0gKG0gPCAxMCkgPyAiMCIgKyBtIDogbTsKICAgICAgICBzID0gKHMgPCAxMCkgPyAiMCIgKyBzIDogczsKCiAgICAgICAgdmFyIHRpbWUgPSBoICsgIjoiICsgbSArICI6IiArIHMgKyAiICIgKyBzZXNzaW9uOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJNeUNsb2NrRGlzcGxheSIpLmlubmVyVGV4dCA9IHRpbWU7CiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk15Q2xvY2tEaXNwbGF5IikudGV4dENvbnRlbnQgPSB0aW1lOwoKICAgICAgICBzZXRUaW1lb3V0KHNob3dUaW1lLCAxMDAwKTsKCiAgICB9CgogICAgc2hvd1RpbWUoKTsKCjwvc2NyaXB0PgoKCgoKCgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAvLy8vIEdldCB0aGUgQ3J5cHRvQ3VycmVuY3kgSW5mb3JtYXRpb24gZnJvbSB0aGUgQVBJCiAgICBqUXVlcnkuYWpheCh7CiAgICAgICAgdXJsOiAiaHR0cHM6Ly9taW4tYXBpLmNyeXB0b2NvbXBhcmUuY29tL2RhdGEvcHJpY2VtdWx0aWZ1bGwiLAogICAgICAgIGRhdGE6ICJmc3ltcz1CVEMsRVRILERBU0gsTFRDLFhSUCxYTVIsQkNILFhMTSZ0c3ltcz1VU0QiLAogICAgICAgIGRhdGFUeXBlOiAnanNvbicsCiAgICB9KS5kb25lKGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAvLyBjb25zb2xlLmxvZyggIkJUQyA6ICIgKyBkYXRhLlJBVy5CVEMuVVNELkNIQU5HRVBDVERBWSArICIsIEVUSCA6ICIgKyBkYXRhLlJBVy5FVEguVVNELkNIQU5HRVBDVERBWSArICIsIERBU0ggOiAiICsgZGF0YS5SQVcuREFTSC5VU0QuQ0hBTkdFUENUREFZICsgIiwgTFRDIDogIiArIGRhdGEuUkFXLkxUQy5VU0QuQ0hBTkdFUENUREFZICsgIiwgWFJQIDogIiArIGRhdGEuUkFXLlhSUC5VU0QuQ0hBTkdFUENUREFZICk7CiAgICAgICAgLy8JY29uc29sZS5sb2coICJCVEMgOiAiICsgcGFyc2VGbG9hdChkYXRhLlJBVy5CVEMuVVNELkNIQU5HRVBDVERBWSkudG9GaXhlZCgyKSArICIsIEVUSCA6ICIgKyBwYXJzZUZsb2F0KGRhdGEuUkFXLkVUSC5VU0QuQ0hBTkdFUENUREFZKS50b0ZpeGVkKDIpICsgIiwgREFTSCA6ICIgKyBwYXJzZUZsb2F0KGRhdGEuUkFXLkRBU0guVVNELkNIQU5HRVBDVERBWSkudG9GaXhlZCgyKSArICIsIExUQyA6ICIgKyBwYXJzZUZsb2F0KGRhdGEuUkFXLkxUQy5VU0QuQ0hBTkdFUENUREFZKS50b0ZpeGVkKDIpICsgIiwgWFJQIDogIiArIHBhcnNlRmxvYXQoZGF0YS5SQVcuWFJQLlVTRC5DSEFOR0VQQ1REQVkpLnRvRml4ZWQoMikgKTsKCiAgICAgICAgalF1ZXJ5KCIuZGFzaENvaW4iKS5odG1sKCckJyArIGRhdGEuUkFXLkRBU0guVVNELlBSSUNFKTsKICAgICAgICBqUXVlcnkoIi5ldGhDb2luIikuaHRtbCgnJCcgKyBkYXRhLlJBVy5FVEguVVNELlBSSUNFKTsKICAgICAgICBqUXVlcnkoIi5iaXRDb2luIikuaHRtbCgnJCcgKyBkYXRhLlJBVy5CVEMuVVNELlBSSUNFKTsKICAgICAgICBqUXVlcnkoIi5saXRlQ29pbiIpLmh0bWwoJyQnICsgZGF0YS5SQVcuTFRDLlVTRC5QUklDRSk7CiAgICAgICAgalF1ZXJ5KCIueHJwQ29pbiIpLmh0bWwoJyQnICsgZGF0YS5SQVcuWFJQLlVTRC5QUklDRSk7CiAgICAgICAgalF1ZXJ5KCIueG1yQ29pbiIpLmh0bWwoJyQnICsgZGF0YS5SQVcuWE1SLlVTRC5QUklDRSk7CiAgICAgICAgalF1ZXJ5KCIuYmNoQ29pbiIpLmh0bWwoJyQnICsgZGF0YS5SQVcuQkNILlVTRC5QUklDRSk7CiAgICAgICAgalF1ZXJ5KCIueGxtQ29pbiIpLmh0bWwoJyQnICsgZGF0YS5SQVcuWExNLlVTRC5QUklDRSk7CgogICAgICAgIHZhciBkYXNoID0gcGFyc2VGbG9hdChkYXRhLlJBVy5EQVNILlVTRC5DSEFOR0VQQ1REQVkpLnRvRml4ZWQoMik7CiAgICAgICAgdmFyIGV0aCA9IHBhcnNlRmxvYXQoZGF0YS5SQVcuRVRILlVTRC5DSEFOR0VQQ1REQVkpLnRvRml4ZWQoMik7CiAgICAgICAgdmFyIGJ0YyA9IHBhcnNlRmxvYXQoZGF0YS5SQVcuQlRDLlVTRC5DSEFOR0VQQ1REQVkpLnRvRml4ZWQoMik7CiAgICAgICAgdmFyIHVzZCA9IHBhcnNlRmxvYXQoZGF0YS5SQVcuTFRDLlVTRC5DSEFOR0VQQ1REQVkpLnRvRml4ZWQoMik7CiAgICAgICAgdmFyIHhycCA9IHBhcnNlRmxvYXQoZGF0YS5SQVcuWFJQLlVTRC5DSEFOR0VQQ1REQVkpLnRvRml4ZWQoMik7CiAgICAgICAgdmFyIHhtciA9IHBhcnNlRmxvYXQoZGF0YS5SQVcuWE1SLlVTRC5DSEFOR0VQQ1REQVkpLnRvRml4ZWQoMik7CiAgICAgICAgdmFyIGJjaCA9IHBhcnNlRmxvYXQoZGF0YS5SQVcuQkNILlVTRC5DSEFOR0VQQ1REQVkpLnRvRml4ZWQoMik7CiAgICAgICAgdmFyIHhsbSA9IHBhcnNlRmxvYXQoZGF0YS5SQVcuWExNLlVTRC5DSEFOR0VQQ1REQVkpLnRvRml4ZWQoMik7CgogICAgICAgIGlmIChkYXNoID49IDApIGpRdWVyeSgiLmRhc2hDb2luX2NoYW5nZSIpLmFkZENsYXNzKCJncmVlbnVwIik7CiAgICAgICAgZWxzZSBqUXVlcnkoIi5kYXNoQ29pbl9jaGFuZ2UiKS5hZGRDbGFzcygicHVycGxlZG93biIpOwogICAgICAgIGlmIChldGggPj0gMCkgalF1ZXJ5KCIuZXRoQ29pbl9jaGFuZ2UiKS5hZGRDbGFzcygiZ3JlZW51cCIpOwogICAgICAgIGVsc2UgalF1ZXJ5KCIuZXRoQ29pbl9jaGFuZ2UiKS5hZGRDbGFzcygicHVycGxlZG93biIpOwogICAgICAgIGlmIChidGMgPj0gMCkgalF1ZXJ5KCIuYml0Q29pbl9jaGFuZ2UiKS5hZGRDbGFzcygiZ3JlZW51cCIpOwogICAgICAgIGVsc2UgalF1ZXJ5KCIuYml0Q29pbl9jaGFuZ2UiKS5hZGRDbGFzcygicHVycGxlZG93biIpOwogICAgICAgIGlmICh1c2QgPj0gMCkgalF1ZXJ5KCIubGl0ZUNvaW5fY2hhbmdlIikuYWRkQ2xhc3MoImdyZWVudXAiKTsKICAgICAgICBlbHNlIGpRdWVyeSgiLmxpdGVDb2luX2NoYW5nZSIpLmFkZENsYXNzKCJwdXJwbGVkb3duIik7CiAgICAgICAgaWYgKHhycCA+PSAwKSBqUXVlcnkoIi54cnBDb2luX2NoYW5nZSIpLmFkZENsYXNzKCJncmVlbnVwIik7CiAgICAgICAgZWxzZSBqUXVlcnkoIi54cnBDb2luX2NoYW5nZSIpLmFkZENsYXNzKCJwdXJwbGVkb3duIik7CiAgICAgICAgaWYgKHhtciA+PSAwKSBqUXVlcnkoIi54bXJDb2luX2NoYW5nZSIpLmFkZENsYXNzKCJncmVlbnVwIik7CiAgICAgICAgZWxzZSBqUXVlcnkoIi54bXJDb2luX2NoYW5nZSIpLmFkZENsYXNzKCJwdXJwbGVkb3duIik7CiAgICAgICAgMQogICAgICAgIGlmIChiY2ggPj0gMCkgalF1ZXJ5KCIuYmNoQ29pbl9jaGFuZ2UiKS5hZGRDbGFzcygiZ3JlZW51cCIpOwogICAgICAgIGVsc2UgalF1ZXJ5KCIuYmNoQ29pbl9jaGFuZ2UiKS5hZGRDbGFzcygicHVycGxlZG93biIpOwogICAgICAgIGlmICh4bG0gPj0gMCkgalF1ZXJ5KCIueGxtQ29pbl9jaGFuZ2UiKS5hZGRDbGFzcygiZ3JlZW51cCIpOwogICAgICAgIGVsc2UgalF1ZXJ5KCIueGxtQ29pbl9jaGFuZ2UiKS5hZGRDbGFzcygicHVycGxlZG93biIpOwoKICAgICAgICBqUXVlcnkoIi5kYXNoQ29pbl9jaGFuZ2UiKS5odG1sKGRhc2ggKyAiJSIpOwogICAgICAgIGpRdWVyeSgiLmV0aENvaW5fY2hhbmdlIikuaHRtbChldGggKyAiJSIpOwogICAgICAgIGpRdWVyeSgiLmJpdENvaW5fY2hhbmdlIikuaHRtbChidGMgKyAiJSIpOwogICAgICAgIGpRdWVyeSgiLmxpdGVDb2luX2NoYW5nZSIpLmh0bWwodXNkICsgIiUiKTsKICAgICAgICBqUXVlcnkoIi54cnBDb2luX2NoYW5nZSIpLmh0bWwoeHJwICsgIiUiKTsKICAgICAgICBqUXVlcnkoIi54bXJDb2luX2NoYW5nZSIpLmh0bWwoeG1yICsgIiUiKTsKICAgICAgICBqUXVlcnkoIi5iY2hDb2luX2NoYW5nZSIpLmh0bWwoYmNoICsgIiUiKTsKICAgICAgICBqUXVlcnkoIi54bG1Db2luX2NoYW5nZSIpLmh0bWwoYmNoICsgIiUiKTsKCiAgICAgICAgLy8gVk9MVU1FIElORk9STUFUSU9OCiAgICAgICAgalF1ZXJ5KCIuZGFzaENvaW5fdm9sdW1lIikuaHRtbCgnJCcgKyBkYXRhLlJBVy5EQVNILlVTRC5WT0xVTUUyNEhPVVIudG9GaXhlZCgyKSk7CiAgICAgICAgalF1ZXJ5KCIuZXRoQ29pbl92b2x1bWUiKS5odG1sKCckJyArIGRhdGEuUkFXLkVUSC5VU0QuVk9MVU1FMjRIT1VSLnRvRml4ZWQoMikpOwogICAgICAgIGpRdWVyeSgiLmJpdENvaW5fdm9sdW1lIikuaHRtbCgnJCcgKyBkYXRhLlJBVy5CVEMuVVNELlZPTFVNRTI0SE9VUi50b0ZpeGVkKDIpKTsKICAgICAgICBqUXVlcnkoIi5saXRlQ29pbl92b2x1bWUiKS5odG1sKCckJyArIGRhdGEuUkFXLkxUQy5VU0QuVk9MVU1FMjRIT1VSLnRvRml4ZWQoMikpOwogICAgICAgIGpRdWVyeSgiLnhycENvaW5fdm9sdW1lIikuaHRtbCgnJCcgKyBkYXRhLlJBVy5YUlAuVVNELlZPTFVNRTI0SE9VUi50b0ZpeGVkKDIpKTsKICAgICAgICBqUXVlcnkoIi54bXJDb2luX3ZvbHVtZSIpLmh0bWwoJyQnICsgZGF0YS5SQVcuWE1SLlVTRC5WT0xVTUUyNEhPVVIudG9GaXhlZCgyKSk7CiAgICAgICAgalF1ZXJ5KCIuYmNoQ29pbl92b2x1bWUiKS5odG1sKCckJyArIGRhdGEuUkFXLkJDSC5VU0QuVk9MVU1FMjRIT1VSLnRvRml4ZWQoMikpOwogICAgICAgIGpRdWVyeSgiLnhsbUNvaW5fdm9sdW1lIikuaHRtbCgnJCcgKyBkYXRhLlJBVy5YTE0uVVNELlZPTFVNRTI0SE9VUi50b0ZpeGVkKDIpKTsKCgoKCgoKICAgIH0pOwoKPC9zY3JpcHQ+CgoKCgoKCjxzdHlsZT4KICAgIGRpdiNjb252ZXl0aGlzLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OwogICAgICAgIGxlZnQ6IDEwMHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgYm90dG9tOiAwcHggIWltcG9ydGFudDsKICAgIH0KCjwvc3R5bGU+Cgo8IS0tIENvbnZleVRoaXMgYnV0dG9uOiAtLT4KPCEtLTxkaXYgaWQ9ImNvbnZleXRoaXMtd3JhcHBlci1tYWluIiBjbGFzcz0nZC1ub25lJz48YSBocmVmPSJodHRwczovL3d3dy5jb252ZXl0aGlzLmNvbSIgY2xhc3M9ImNvbnZleXRoaXMtbm8tdHJhbnNsYXRlIG5vdHJhbnNsYXRlIiB0aXRsZT0iQ29udmV5VGhpcyI+Q29udmV5VGhpczwvYT48L2Rpdj4KPHNjcmlwdCBzcmM9Ii8vczIuY29udmV5dGhpcy5jb20vamF2YXNjcmlwdENsYXNzaWMvMS9jb252ZXl0aGlzLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vczIuY29udmV5dGhpcy5jb20vamF2YXNjcmlwdENsYXNzaWMvMS90cmFuc2xhdGUuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oZSkgewogICAgICAgIGNvbnZleXRoaXMuaW5pdCh7CiAgICAgICAgICAgIHNvdXJjZV9sYW5ndWFnZV9pZDogNzAzLAogICAgICAgICAgICBsYW5ndWFnZXM6IFt7CiAgICAgICAgICAgICAgICAiaWQiOiAiNzAzIiwKICAgICAgICAgICAgICAgICJhY3RpdmUiOiB0cnVlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MTUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MTQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3OTUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3OTQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3OTMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3OTIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3OTEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MTMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3OTAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3ODkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3ODgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MTIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3ODciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3ODYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3ODUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3ODQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3ODMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3ODIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3ODEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3ODAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NzkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NzgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NzciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NzYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3OTciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NzUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NzQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MTEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MTAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MDkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NzMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NzIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MDgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NzEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NzAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NjkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NjgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NjciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NjYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NjUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MDciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NjQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NjMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NjIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NjEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NjAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NTkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NTgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NTciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NTYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NTUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NTQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NTMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NTIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NTEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NTAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NDkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NDgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MDUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NDciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MDQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NDYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NDUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NDQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NDMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NDIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NDEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3NDAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MzkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MDMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MzgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MzciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MDIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MzYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MzUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MzQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MDEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MDAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MzMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MzIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MzEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MzAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MjkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MjgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3OTkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MjciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MjYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MjUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MjQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MjMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MjIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MjEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MjAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3OTgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3OTYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MTkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI4MDYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MTgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MTciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MTYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MTUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MTQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MTMiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MTIiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MTEiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MTAiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MDkiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MDgiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MDciLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MDYiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MDUiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJpZCI6ICI3MDQiLAogICAgICAgICAgICAgICAgImFjdGl2ZSI6IGZhbHNlCiAgICAgICAgICAgIH1dCiAgICAgICAgfSkKICAgIH0pOwoKPC9zY3JpcHQ+LS0+Cgo8IS0tIEVuZCBDb252ZXlUaGlzIGJ1dHRvbiBjb2RlLiAtLT4KCgoKCgoKCjwvYm9keT4KCjwvaHRtbD4="}},"time_used":1213,"timings":{"blocked":-1,"dns":3,"connect":93,"send":0,"wait":923,"receive":95,"ssl":98},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.948Z","timestamp":1785136900948,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15932.2a70d397c34f2e9de94f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 8ad4d1e0949a3cec2f57c8940624cd58\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":895,"size_decoded":1168,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (895), with no line terminators","md5":"61ab7674e7397acc0fbdbd8b60e6843d","sha1":"fcd3f559f2622c63283e4bc9c57d10811df0e449","sha256":"6612bc0b7ab79c16fbd208e005ce64f38027f232bd2fc73621c14c2401cc1abb","sha512":"25a6b08a102f5c8bd5cd31c69e9e714962ab697d5d0b27c3d6ee50b77232d869dc271761eda4f53d91748de07f2e4798911326e27fef8995b5be37d735ab9188","ssdeep":"","tlshash":"3811293871a06d2c7312ee3c17686c8c795da26ca6835eceead07128479f2cc26720a0","first_seen":"2026-03-24T10:46:27.428699Z","last_seen":"2026-08-10T08:00:01.058131Z","times_seen":5646,"resource_available":false,"data":"LnR2LWVtYmVkLXdpZGdldC13cmFwcGVye2JhY2tncm91bmQ6IzAwMDA7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjEwMCU7d2lkdGg6MH0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2hlYWRlcntmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDozNHB4O3RleHQtYWxpZ246Y2VudGVyfS50di1lbWJlZC13aWRnZXQtd3JhcHBlcl9faGVhZGVyIHN2Z3toZWlnaHQ6MTVweDttYXJnaW4taW5saW5lLWVuZDo1cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3A7d2lkdGg6MjZweH0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2xvZ28tbGluaywudHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2xvZ28tbGluazp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHl7YmFja2dyb3VuZDp2YXIoLS10di13aWRnZXQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1iZy1wcmltYXJ5KSk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LnR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1vdmVyZmxvd19hdXRve292ZXJmbG93OmF1dG99aHRtbC5pcy10cmFuc3BhcmVudCAudHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHl7YmFja2dyb3VuZDojMDAwMH1odG1sLmlzLXRyYW5zcGFyZW50IC50di1lbWJlZC13aWRnZXQtd3JhcHBlcl9fYm9keTpub3QoLnR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1ib3JkZXItb24tdHJhbnNwYXJlbnQpe2JvcmRlci13aWR0aDowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.003Z","timestamp":1785136901003,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/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 07:21:41 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: fe02558bcc759670794c82592032833b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-08-10T08:00:01.050623Z","times_seen":3721,"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/68725.df46d140ffcce5cbedbf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.366Z","timestamp":1785136901366,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/68725.df46d140ffcce5cbedbf.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6e6d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f62ffa2e849885fbe176aca8ea03955d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":28269,"size_decoded":10427,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"301a8f4008180f5ddc683901defaec4d","sha1":"892a96df9fffdbee70f8c3c701e4681b6c4466dc","sha256":"89111fb1ee14c800a44c510278977f64ce50a38e074b3bbaa2f494193ed42cf6","sha512":"86dc50bd47044f799fa90bbb6725d83f782e87021fb6097ab0304ab1db8cbcd8c660f107d780b2c01c6e18fa7d03b5cf55d686e28c12ee3c4fd4a25d406379db","ssdeep":"768:5CNMfr3mWAwSatuyEJEIVVij9+Dpo27SU21KP3:IQPA+wVojcDa27SUh","tlshash":"f5c20964b2a8343541d7825bd4794a03f2356c85b00352adf66e2cde1f9e88d33aaf39","first_seen":"2026-07-23T14:00:31.748932Z","last_seen":"2026-07-28T06:17:53.533777Z","times_seen":122,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTYwOSw2ODcyNV0sezQ0ODQxMSh0KXt0LmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLUdIVUg2XzFYIixyb3VuZGVkOiJyb3VuZGVkLUdIVUg2XzFYIixzaGFkb3dlZDoic2hhZG93ZWQtR0hVSDZfMVgiLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tR0hVSDZfMVgiLGRhcmtlcjoiZGFya2VyLUdIVUg2XzFYIixiYWNrZHJvcDoiYmFja2Ryb3AtR0hVSDZfMVgifX0sMTQ1OTg1KHQpe3QuZXhwb3J0cz17YmxvY2tJY29uOiJibG9ja0ljb24tZ3ZPUVZpVjcifX0sNzk1NDY1KHQpe3QuZXhwb3J0cz17d3JhcDoid3JhcC1ZWnc4UlhlaSIsdWlNYXJrZXI6InVpTWFya2VyLVladzhSWGVpIixyZWQ6InJlZC1ZWnc4UlhlaSIsYmx1ZToiYmx1ZS1ZWnc4UlhlaSIsZ3JlZW46ImdyZWVuLVladzhSWGVpIixvcmFuZ2U6Im9yYW5nZS1ZWnc4UlhlaSIscHVycGxlOiJwdXJwbGUtWVp3OFJYZWkiLGN5YW46ImN5YW4tWVp3OFJYZWkiLHBpbms6InBpbmstWVp3OFJYZWkiLHVpTWFya2VyX19zbWFsbDoidWlNYXJrZXJfX3NtYWxsLVladzhSWGVpIn19LDE3NTg2Myh0KXt0LmV4cG9ydHM9eyJ0YWJsZXQtbm9ybWFsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA3NjhweCkiLCJ0b29sdGlwLW9mZnNldCI6IjIwcHgiLGRpYWxvZzoiZGlhbG9nLXF5Q3cwUGFOIixkcmFnZ2luZzoiZHJhZ2dpbmctcXlDdzBQYU4iLG1vYmlsZToibW9iaWxlLXF5Q3cwUGFOIixmdWxsc2NyZWVuOiJmdWxsc2NyZWVuLXF5Q3cwUGFOIixkaWFsb2dBbmltYXRlZEFwcGVhcmFuY2U6ImRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZS1xeUN3MFBhTiIsZGlhbG9nQW5pbWF0aW9uOiJkaWFsb2dBbmltYXRpb24tcXlDdzBQYU4iLGRpYWxvZ1Rvb2x0aXA6ImRpYWxvZ1Rvb2x0aXAtcXlDdzBQYU4ifX0sOTIzNTEzKHQpe3QuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItekxWbTZCNHQiLGNvbnRlbnQ6ImNvbnRlbnQtekxWbTZCNHQiLGFycm93SG9sZGVyOiJhcnJvd0hvbGRlci16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWxvdyI6ImFycm93SG9sZGVyLS1iZWxvdy16TFZtNkI0dCIsImFycm93SG9sZGVyLS1hYm92ZSI6ImFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWZvcmUiOiJhcnJvd0hvbGRlci0tYmVmb3JlLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFmdGVyIjoiYXJyb3dIb2xkZXItLWFmdGVyLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFib3ZlLWZpeCI6ImFycm93SG9sZGVyLS1hYm92ZS1maXgtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgiOiJhcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWZ0ZXItbHRyLWZpeCI6ImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4LXpMVm02QjR0IixsYWJlbDoibGFiZWwtekxWbTZCNHQiLGNsb3NlQnV0dG9uOiJjbG9zZUJ1dHRvbi16TFZtNkI0dCJ9fSw0OTA4OTModCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UG9wdXBDb250ZXh0OigpPT5pfSk7Y29uc3QgaT1zKDc3OTQ3NCkuY3JlYXRlQ29udGV4dChudWxsKX0sOTkxMDY2KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0RpYWxvZzooKT0+ZH0pO3ZhciBpPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxuPXMubihvKSxhPXMoNjA3ODMyKSxyPXMoOTAzNDIpLGw9cygzNDUxMTYpLGg9cyg0NDg0MTEpLGM9cy5uKGgpO2NsYXNzIGQgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX21hbmFnZXI9bmV3IHIuT3ZlcmxhcE1hbmFnZXIsdGhpcy5faGFuZGxlU2xvdD10PT57dGhpcy5fbWFuYWdlci5zZXRDb250YWluZXIodCl9fXJlbmRlcigpe2NvbnN0e3JvdW5kZWQ6dD0hMCxzaGFkb3dlZDplPSEwLGZ1bGxzY3JlZW46cz0hMSxkYXJrZXI6bz0hMSxjbGFzc05hbWU6cixiYWNrZHJvcDpoLGNvbnRhaW5lclRhYkluZGV4OmQ9LTF9PXRoaXMucHJvcHMsdT1uKCkocixjKCkuZGlhbG9nLHQmJmMoKS5yb3VuZGVkLGUmJmMoKS5zaGFkb3dlZCxzJiZjKCkuZnVsbHNjcmVlbixvJiZjKCkuZGFya2VyKSxwPSgwLGwuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSxtPXRoaXMucHJvcHMuc3R5bGU/ey4uLnRoaXMuX2NyZWF0ZVN0eWxlcygpLC4uLnRoaXMucHJvcHMuc3R5bGV9OnRoaXMuX2NyZWF0ZVN0eWxlcygpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChhLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLl9tYW5hZ2VyfSxoJiZpLmNyZWF0ZUVsZW1lbnQoImRpdiIse29uQ2xpY2s6dGhpcy5wcm9wcy5vbkNsaWNrQmFja2Ryb3AsY2xhc3NOYW1lOmMoKS5iYWNrZHJvcH0pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4ucCxjbGFzc05hbWU6dSxzdHlsZTptLHJlZjp0aGlzLnByb3BzLnJlZmVyZW5jZSxvbkZvY3VzOnRoaXMucHJvcHMub25Gb2N1cyxvbk1vdXNlRG93bjp0aGlzLnByb3BzLm9uTW91c2VEb3duLG9uTW91c2VVcDp0aGlzLnByb3BzLm9uTW91c2VVcCxvbkNsaWNrOnRoaXMucHJvcHMub25DbGljayxvbktleURvd246dGhpcy5wcm9wcy5vbktleURvd24sdGFiSW5kZXg6ZCwiYXJpYS1sYWJlbCI6dGhpcy5wcm9wcy5jb250YWluZXJBcmlhTGFiZWx9LHRoaXMucHJvcHMuY2hpbGRyZW4pKSxpLmNyZWF0ZUVsZW1lbnQoYS5TbG90LHtyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKX1fY3JlYXRlU3R5bGVzKCl7Y29uc3R7Ym90dG9tOnQsbGVmdDplLHdpZHRoOnMscmlnaHQ6aSx0b3A6byx6SW5kZXg6bixoZWlnaHQ6YX09dGhpcy5wcm9wcztyZXR1cm57Ym90dG9tOnQsbGVmdDplLHJpZ2h0OmksdG9wOm8sekluZGV4Om4sbWF4V2lkdGg6cyxoZWlnaHQ6YX19fX0sMjE3Mjc0KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Jsb2NrSWNvbjooKT0+aH0pO3ZhciBpPXMoOTE0NDg3KSxvPXMubihpKSxuPXMoNzc5NDc0KSxhPXMoOTQ4NDUwKSxyPXMoMTQ1OTg1KSxsPXMubihyKQo7Y29uc3QgaD1uLmZvcndhcmRSZWYoKCh0LGUpPT57Y29uc3R7Y2xhc3NOYW1lOnMsaWNvbjppLGFyaWFMYWJlbDpyLGFyaWFMYWJlbGxlZGJ5OmgsdGl0bGU6YywuLi5kfT10LHU9ZDtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuQ29tbW9uSWNvbix7Y2xhc3NOYW1lOm8oKShzLGwoKS5ibG9ja0ljb24pLHJlZjplLGljb246aSxhcmlhTGFiZWw6cixhcmlhTGFiZWxsZWRieTpoLHRpdGxlOmMsLi4udX0pfSkpfSw4MzE1MjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLnIoZSkscy5kKGUse01hcmtlZFN5bWJvbHNMaXN0U2VydmljZTooKT0+ZCxnZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZTooKT0+dX0pO3ZhciBpPXMoODM5NDI2KSxvPXMoMTg1MjcxKSxuPXMoNzEyMTM0KSxhPXMoNTAwNTE0KSxyPXMoMjM0OTY0KSxsPXMoMjQzNjMxKSxoPXMoNzcwNzU1KSxjPXMoMzEzMzAwKTtjbGFzcyBke2dldFN5bWJvbHNCeUNvbG9yKHQpe3JldHVybiB0aGlzLl9tb2RlbC5nZXRTeW1ib2xzQnlDb2xvcih0KX1zZXRTeW1ib2xzQ29sb3IodCxlKXswIT09dC5sZW5ndGgmJnRoaXMuX3J1bldpdGhTeW5jKCgoKT0+e3RoaXMuX21vZGVsLnNldFN5bWJvbHNDb2xvcih0LGUpfSkpfWdldFN5bWJvbENvbG9yKHQpe3JldHVybiB0aGlzLl9tb2RlbC5nZXRTeW1ib2xDb2xvcih0KX1tYXJrTWFueSh0KXt0aGlzLl9ydW5XaXRoU3luYygoKCk9Pnt0aGlzLl9tb2RlbC5tYXJrTWFueSh0KX0pKX1jbGVhckFsbFN5bWJvbHNDb2xvcigpe3RoaXMuX3J1bldpdGhTeW5jKCgoKT0+e3RoaXMuX21vZGVsLmNsZWFyQWxsU3ltYm9sc0NvbG9yKCl9KSl9YWRqdXN0U3ltYm9sc0NvbG9ycyh0KXtjb25zdCBlPW5ldyBsLkNvbG9yTWFuYWdlcih7Y29udGV4dDpsLkNvbG9yQ29udGV4dC5TeW1ib2xNYXJrZXJ9KSxzPSF0Lm1hcCgodD0+dGhpcy5nZXRTeW1ib2xDb2xvcih0KSkpLmluY2x1ZGVzKG51bGwpO3RoaXMuc2V0U3ltYm9sc0NvbG9yKHQscz9udWxsOmUuZ2V0Q29sb3IoKSl9b25TeW1ib2xDaGFuZ2UodCxlKXtjb25zdCBzPXRoaXMuX3N5bWJvbENoYW5nZUhhbmRsZXJzLmdldCh0KTtzP3MucHVzaChlKTp0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5zZXQodCxbZV0pfW9mZlN5bWJvbENoYW5nZSh0LGUpe2NvbnN0IHM9dGhpcy5fc3ltYm9sQ2hhbmdlSGFuZGxlcnMuZ2V0KHQpO2lmKHMpe2NvbnN0IGk9cy5maWx0ZXIoKHQ9PnQhPT1lKSk7aS5sZW5ndGg+MD90aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5zZXQodCxpKTp0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5kZWxldGUodCl9fW9uTGlzdENoYW5nZSh0KXt0aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnMucHVzaCh0KX1vZmZMaXN0Q2hhbmdlKHQpe3RoaXMuX2xpc3RDaGFuZ2VIYW5kbGVycz10aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnMuZmlsdGVyKChlPT5lIT09dCkpfW9uSW5pdCh0KXt0aGlzLl9pbml0SGFuZGxlcnMucHVzaCh0KX1vZmZJbml0KHQpe3RoaXMuX2luaXRIYW5kbGVycz10aGlzLl9pbml0SGFuZGxlcnMuZmlsdGVyKChlPT5lIT09dCkpfWRlc3Ryb3koKXt0aGlzLl9tb2RlbC5kZXN0cm95KCksdGhpcy5fdW5zdWJzY3JpYmVMb2dpblN0YXRlQ2hhbmdlKCl9aXNJbml0ZWQoKXtyZXR1cm4gdGhpcy5faW5pdGVkfV9zdWJzY3JpYmVMb2dpblN0YXRlQ2hhbmdlKCl7d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSl9X3Vuc3Vic2NyaWJlTG9naW5TdGF0ZUNoYW5nZSgpe3dpbmRvdy5sb2dpblN0YXRlQ2hhbmdlJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSl9X3N5bmNTeW1ib2xzKCl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpe3RoaXMuX3N5bmM9dGhpcy5fbW9kZWwuc3luY1N5bWJvbHMoKTtjb25zdCB0PSgpPT57dGhpcy5fc3luYz1udWxsLHRoaXMuX2luaXRlZD0hMH07cmV0dXJuIHRoaXMuX3N5bmMudGhlbih0KS5jYXRjaCh0KX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9Y29uc3RydWN0b3IodCl7dGhpcy5fc3ltYm9sQ2hhbmdlSGFuZGxlcnM9bmV3IE1hcCx0aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnM9W10sdGhpcy5faW5pdEhhbmRsZXJzPVtdLHRoaXMuX3N5bmM9bnVsbCx0aGlzLl9pbml0ZWQ9ITEsdGhpcy5faGFuZGxlQ2hhbmdlPSh0LGUpPT57aWYodC5saXN0cyE9PWUubGlzdHMpe3RoaXMuX2xpc3RDaGFuZ2VIYW5kbGVycy5mb3JFYWNoKChzPT57dHJ5e3ModCxlKX1jYXRjaHt9fSkpO2Zvcihjb25zdFtzLGldb2YgQXJyYXkuZnJvbSh0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5lbnRyaWVzKCkpKXtjb25zdCBvPSgwLG4uZ2V0U3ltYm9sQ29sb3IpKHQscyksYT0oMCxuLmdldFN5bWJvbENvbG9yKShlLHMpO28hPT1hJiZpLmZvckVhY2goKHQ9Pnt0cnl7dChvLGEpfWNhdGNoe319KSl9fX0sdGhpcy5fb25Mb2dpblN0YXRlQ2hhbmdlPSgpPT57bGV0IHQ7dGhpcy5fbW9kZWwuY2xvc2VDb25uZWN0aW9uKCksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KHRoaXMuX21vZGVsLmNvbm5lY3QoKSx0PXRoaXMuX3N5bmNTeW1ib2xzKCkpOih0aGlzLl9tb2RlbC5hbm9ueW1pemUoKSx0aGlzLl9pbml0ZWQ9ITEsdD1Qcm9taXNlLnJlc29sdmUoKSksdC50aGVuKHRoaXMuX2ZpcmVJbml0KX0sdGhpcy5fZmlyZUluaXQ9KCk9Pnt0aGlzLl9pbml0SGFuZGxlcnMuZm9yRWFjaCgodD0+dCgpKSl9LHRoaXMuX3J1bldpdGhTeW5jPXQ9Pnt0aGlzLl9zeW5jP3RoaXMuX3N5bmMudGhlbih0KTp0KCl9LHRoaXMuX2hhbmRsZVJlc3RyaWN0ZWRDb2xvcj0oKT0+eygwLGgub3BlblBheXdhbGwpKHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9scyJ9KX0sdGhpcy5faGFuZGxlTGltaXQ9KCk9PnsoMCxjLmdldFdhdGNobGlzdFN5bWJvbHNMaW1pdCkoKTxjLk1BWF9XQVRDSExJU1RfTEVOR1RIPygwLGgub3BlblBheXdhbGwpKHtmZWF0dXJlOiJ3YXRjaGxpc3RTeW1ib2xzIn0pOigwLHIuc2hvd1dhcm5pbmcpKHsKdGl0bGU6by50KG51bGwsdm9pZCAwLHMoODQxNzk5KSksdGV4dDpvLnQobnVsbCx7cmVwbGFjZTp7bGltaXQ6U3RyaW5nKGMuTUFYX1dBVENITElTVF9MRU5HVEgpfX0scyg4NjA3MjIpKX0sbnVsbCl9LHRoaXMuX21vZGVsPW5ldyBhLk1hcmtlZFN5bWJvbHNMaXN0TW9kZWwoe2FwaTp0P3QuYXBpOnZvaWQgMCxxdW90ZVNlc3Npb246dD90LnF1b3RlU2Vzc2lvbjp2b2lkIDAsb25DaGFuZ2U6dGhpcy5faGFuZGxlQ2hhbmdlLGxpbWl0OnQ/LmxpbWl0LG9uTGltaXQ6dGhpcy5faGFuZGxlTGltaXQsb25SZXN0cmljdGVkQ29sb3I6dGhpcy5faGFuZGxlUmVzdHJpY3RlZENvbG9yLGNvbG9yczp0Py5jb2xvcnMsZXZlbnQ6Im1hcmtlZC1zeW1ib2xzIn0pLHRoaXMuX3N1YnNjcmliZUxvZ2luU3RhdGVDaGFuZ2UoKSx0aGlzLl9zeW5jU3ltYm9scygpLnRoZW4odGhpcy5fZmlyZUluaXQpfX1jb25zdCB1PSgwLGkuZGVmYXVsdCkoKCgpPT5uZXcgZCkpfSw4Mjk3NjModCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7VWlNYXJrZXI6KCk9Pmh9KTt2YXIgaT1zKDcxMjEzNCksbz1zKDM2MzI2OSksbj1zKDkxNDQ4NyksYT1zLm4obikscj1zKDg1MjUzMSksbD1zKDc5NTQ2NSk7Y2xhc3MgaHtzZXRDb2xvcih0KXt0aGlzLnJlbW92ZUNvbG9yKCksdGhpcy5hZGRDbGFzcyhsW3RdKX1yZW1vdmVDb2xvcigpe3RoaXMuX2VsZW0uY2xhc3NMaXN0LnJlbW92ZShsW2kuTGlzdENvbG9yLlJlZF0sbFtpLkxpc3RDb2xvci5PcmFuZ2VdLGxbaS5MaXN0Q29sb3IuUHVycGxlXSxsW2kuTGlzdENvbG9yLkdyZWVuXSxsW2kuTGlzdENvbG9yLkJsdWVdLGxbaS5MaXN0Q29sb3IuQ3lhbl0sbFtpLkxpc3RDb2xvci5QaW5rXSl9YWRkQ2xhc3ModCl7dGhpcy5fZWxlbS5jbGFzc0xpc3QuYWRkKHQpfXJlbW92ZUNsYXNzKHQpe3RoaXMuX2VsZW0uY2xhc3NMaXN0LnJlbW92ZSh0KX1nZXRFbGVtKCl7cmV0dXJuIHRoaXMuX2VsZW19YXBwZW5kVG8odCl7dGhpcy5kZXRhY2goKSx0aGlzLl9jb250YWluZXI9dCx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbSksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX1kZXRhY2goKXt0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVycygpLHRoaXMuX2NvbnRhaW5lciYmKHRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbGVtKSxkZWxldGUgdGhpcy5fY29udGFpbmVyKX1fcmVuZGVyKHQpe2NvbnN0IGU9YSgpKGwudWlNYXJrZXIse1t0LmNsYXNzTmFtZV06Qm9vbGVhbih0LmNsYXNzTmFtZSksW2xbdC5jb2xvcl1dOkJvb2xlYW4odC5jb2xvcil9KSxzPXQuc3BlY2lhbEltYWdlfHxyLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGkuY2xhc3NOYW1lPWUsaS5pbm5lckhUTUw9cyx0aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChpKSxpfV9hZGRFdmVudExpc3RlbmVycygpe2lmKHRoaXMuX29wdHMub25DbGljayl7Y29uc3QgdD1vLm1vYmlsZXRvdWNoPyJ0b3VjaHN0YXJ0IjoiY2xpY2siO3RoaXMuX2VsZW0uYWRkRXZlbnRMaXN0ZW5lcih0LHRoaXMuX29uQ2xpY2spfXRoaXMuX29wdHMub25EYmxDbGljayYmdGhpcy5fZWxlbS5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25EYmxDbGljayl9X3JlbW92ZUV2ZW50TGlzdGVuZXJzKCl7aWYodGhpcy5fb3B0cy5vbkNsaWNrKXtjb25zdCB0PW8ubW9iaWxldG91Y2g/InRvdWNoc3RhcnQiOiJjbGljayI7dGhpcy5fZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKHQsdGhpcy5fb25DbGljayl9dGhpcy5fb3B0cy5vbkRibENsaWNrJiZ0aGlzLl9lbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRibGNsaWNrIix0aGlzLl9vbkRibENsaWNrKX1jb25zdHJ1Y3Rvcih0KXt0aGlzLl9vbkNsaWNrPXQ9Pnt0aGlzLl9vcHRzLm9uQ2xpY2smJnRoaXMuX29wdHMub25DbGljayh0KX0sdGhpcy5fb25EYmxDbGljaz10PT57dGhpcy5fb3B0cy5vbkRibENsaWNrJiZ0aGlzLl9vcHRzLm9uRGJsQ2xpY2sodCl9LHRoaXMuX2NvbnRhaW5lcj10LmNvbnRhaW5lcix0aGlzLl9vcHRzPXQsdGhpcy5fZWxlbT10aGlzLl9yZW5kZXIodCksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX19fSw0NDM4MjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7Z2V0Q29sb3JlZExpc3RUaXRsZTooKT0+bixnZXRTb3J0QnlDb2xvckNvbXBhcmF0b3I6KCk9PnIsbWFrZU1hcmtlZExpc3RGcm9tUmVjb3JkOigpPT5hfSk7dmFyIGk9cyg3MTIxMzQpLG89cyg3ODMyNTQpO2Z1bmN0aW9uIG4odCl7cmV0dXJue1tpLkxpc3RDb2xvci5SZWRdOm8udChudWxsLHZvaWQgMCxzKDE2NTUwMSkpLFtpLkxpc3RDb2xvci5HcmVlbl06by50KG51bGwsdm9pZCAwLHMoNDU5NDAyKSksW2kuTGlzdENvbG9yLk9yYW5nZV06by50KG51bGwsdm9pZCAwLHMoNTA2MzMwKSksW2kuTGlzdENvbG9yLlB1cnBsZV06by50KG51bGwsdm9pZCAwLHMoOTA3ODc0KSksW2kuTGlzdENvbG9yLkJsdWVdOm8udChudWxsLHZvaWQgMCxzKDU3MzgwNykpLFtpLkxpc3RDb2xvci5DeWFuXTpvLnQobnVsbCx2b2lkIDAscyg4MzkzOTApKSxbaS5MaXN0Q29sb3IuUGlua106by50KG51bGwsdm9pZCAwLHMoOTQxOTg2KSl9W3RdfWZ1bmN0aW9uIGEodCl7cmV0dXJue3R5cGU6ImNvbG9yZWQiLGlkOnQuY29sb3IsY29sb3I6dC5jb2xvcixzeW1ib2xzOnQuc3ltYm9scyxuYW1lOnQubmFtZXx8bih0LmNvbG9yKSxkZXNjcmlwdGlvbjp0LmRlc2NyaXB0aW9uLHNoYXJlZDp0LnNoYXJlZCxwZXJzaXN0ZWRTdGF0ZTp0LnBlcnNpc3RlZFN0YXRlfX1mdW5jdGlvbiByKHQpe2NvbnN0IGU9LTE9PT10Py0xLzA6MS8wO3JldHVybihzLGkpPT57Y29uc3Qgbz1sKHMsZSksbj1sKGksZSk7cmV0dXJuIG89PT1uPzA6dCooby1uKX19ZnVuY3Rpb24gbCh0LGUpe3JldHVybiBudWxsPT09dD9lOmkuTElTVF9DT0xPUlMuaW5kZXhPZih0KX19LDc0NTY1NCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtxdW90ZVNlc3Npb25BZGFwdGVyczooKT0+ZH0pCjt2YXIgaT1zKDEzODYzOCksbz1zKDE1OTUxMyksbj1zKDM0NDEwMyksYT1zKDEwMTcxMikscj1zKDQ5ODY1MSksbD1zKDQ3OTM0KSxoPXMoOTI5NDg4KTtjbGFzcyBje2NvbnN0cnVjdG9yKHQsZSxzPSJ3YXRjaGxpc3QiKXt0aGlzLl9zeW1ib2xEYXRhSGFuZGxlcnM9bmV3IE1hcCx0aGlzLl9mYXN0U3ltYm9scz1uZXcgU2V0LHRoaXMuX3N1YnNjcmliZWRTeW1ib2xzPW5ldyBTZXQsdGhpcy5fc3Vic2NyaXB0aW9uU2V0PW5ldyBTZXQsdGhpcy5fY2FuY2VsU3Vic2NyaXB0aW9uU2V0PW5ldyBTZXQsdGhpcy5fcXVvdGVTZXNzaW9uRGF0YUhhbmRsZXI9dD0+e2NvbnN0IGU9KDAsaS5lbnN1cmVEZWZpbmVkKSh0LnN5bWJvbG5hbWUpLHtmaWx0ZXJlZDpzLGtlZXBTdWJzY3JpcHRpb246b309dGhpcy5fYXBwbHlEYXRhRmlsdGVycyh0KTtvfHx0aGlzLl91bnN1YnNjcmliZVN5bWJvbHMoW2VdKSx0aGlzLl9zZXRTeW1ib2xEYXRhQ2FjaGUoZSxzKTtjb25zdCBuPXRoaXMuX3N5bWJvbERhdGFIYW5kbGVycy5nZXQoZSk7biYmbihzKX0sdGhpcy5fY2xpZW50SWQ9dCx0aGlzLl9xdW90ZVNlc3Npb249KDAsby5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkocyksdGhpcy5fbGFzdFN5bWJvbERhdGE9ZXx8bmV3IE1hcH1kZXN0cm95KCl7Y29uc3QgdD1BcnJheS5mcm9tKHRoaXMuX3N1YnNjcmliZWRTeW1ib2xzKTt0aGlzLl91bnN1YnNjcmliZVN5bWJvbHModCl9YWRkRmFzdFN5bWJvbCh0KXt0aGlzLl9mYXN0U3ltYm9scy5oYXModCl8fCF0aGlzLl9zdWJzY3JpYmVkU3ltYm9scy5oYXModCl8fCgwLGguaXNTZXBhcmF0b3JJdGVtKSh0KXx8KHRoaXMuX2Zhc3RTeW1ib2xzLmFkZCh0KSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpKX1yZW1vdmVGYXN0U3ltYm9sKHQpe3RoaXMuX2Zhc3RTeW1ib2xzLmhhcyh0KSYmKHRoaXMuX2Zhc3RTeW1ib2xzLmRlbGV0ZSh0KSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpKX1hZGRTeW1ib2xEYXRhSGFuZGxlcih0LGUpeygwLGguaXNTZXBhcmF0b3JJdGVtKSh0KXx8dGhpcy5fc3ltYm9sRGF0YUhhbmRsZXJzLnNldCh0LGUpfXJlbW92ZVN5bWJvbERhdGFIYW5kbGVyKHQpe3RoaXMuX3N5bWJvbERhdGFIYW5kbGVycy5kZWxldGUodCl9YWRkVG9TdWJzY3JpcHRpb25TZXQodCl7dC5mb3JFYWNoKCh0PT57KDAsaC5pc1NlcGFyYXRvckl0ZW0pKHQpfHx0aGlzLl9zdWJzY3JpcHRpb25TZXQuYWRkKHQpfSkpfWNsZWFyU3Vic2NyaXB0aW9uU2V0KCl7dGhpcy5fc3Vic2NyaXB0aW9uU2V0LmNsZWFyKCl9YWRkVG9DYW5jZWxTdWJzY3JpcHRpb25TZXQodCl7dC5mb3JFYWNoKCh0PT57KDAsaC5pc1NlcGFyYXRvckl0ZW0pKHQpfHx0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQuYWRkKHQpfSkpfWNvbW1pdFN1YnNjcmlwdGlvbkNoYW5nZXMoKXtBcnJheS5mcm9tKHRoaXMuX3N1YnNjcmlwdGlvblNldCkuZm9yRWFjaCgodD0+e3RoaXMuX2NhbmNlbFN1YnNjcmlwdGlvblNldC5oYXModCkmJih0aGlzLl9zdWJzY3JpcHRpb25TZXQuZGVsZXRlKHQpLHRoaXMuX2NhbmNlbFN1YnNjcmlwdGlvblNldC5kZWxldGUodCkpfSkpLHRoaXMuX3N1YnNjcmliZVN5bWJvbHMoQXJyYXkuZnJvbSh0aGlzLl9zdWJzY3JpcHRpb25TZXQpKSx0aGlzLl9zdWJzY3JpcHRpb25TZXQuY2xlYXIoKSx0aGlzLl91bnN1YnNjcmliZVN5bWJvbHMoQXJyYXkuZnJvbSh0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQpKSx0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQuY2xlYXIoKSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpfWdldExhc3RTeW1ib2xEYXRhKHQpe3JldHVybiB0aGlzLl9sYXN0U3ltYm9sRGF0YS5nZXQodCl9X3N1YnNjcmliZVN5bWJvbHModCl7dGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCx0LHRoaXMuX3F1b3RlU2Vzc2lvbkRhdGFIYW5kbGVyKSx0LmZvckVhY2goKHQ9PnRoaXMuX3N1YnNjcmliZWRTeW1ib2xzLmFkZCh0KSkpfV91bnN1YnNjcmliZVN5bWJvbHModCl7dGhpcy5fcXVvdGVTZXNzaW9uLnVuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHQsdGhpcy5fcXVvdGVTZXNzaW9uRGF0YUhhbmRsZXIpLHQuZm9yRWFjaCgodD0+e3RoaXMuX3N1YnNjcmliZWRTeW1ib2xzLmRlbGV0ZSh0KX0pKX1fc2V0U3ltYm9sRGF0YUNhY2hlKHQsZSl7Y29uc3Qgcz10aGlzLl9sYXN0U3ltYm9sRGF0YS5nZXQodCk/LnZhbHVlc3x8e307dGhpcy5fbGFzdFN5bWJvbERhdGEuc2V0KHQsey4uLmUsdmFsdWVzOnsuLi5zLC4uLmUudmFsdWVzfX0pfV9hcHBseURhdGFGaWx0ZXJzKHQpe3tjb25zdCBlPSgpPT4oMCxsLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIikscz10PT4oey4uLnQsc3RhdHVzOiJzZl9kYXRhIix2YWx1ZXM6e319KTtpZigodD0+KDAsYS5pc1NmUXVvdGVEYXRhKSh0KXx8KDAsci5pc0lEQ0V4Y2hhbmdlKSgoMCxuLmdldEV4Y2hhbmdlKSgoMCxpLmVuc3VyZURlZmluZWQpKHQuc3ltYm9sbmFtZSkpLCEwKSkodCkmJiFlKCkpcmV0dXJue2ZpbHRlcmVkOnModCksa2VlcFN1YnNjcmlwdGlvbjohMX19cmV0dXJue2ZpbHRlcmVkOnQsa2VlcFN1YnNjcmlwdGlvbjohMH19fWNvbnN0IGQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fYWRhcHRlcnNNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sRGF0YT1uZXcgTWFwfWRlc3Ryb3koKXt0aGlzLl9hZGFwdGVyc01hcC5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpfSkpLHRoaXMuX2xhc3RTeW1ib2xEYXRhLmNsZWFyKCl9Z2V0KHQsZT0id2F0Y2hsaXN0Iil7bGV0IHM7Y29uc3QgaT10aGlzLl9hZGFwdGVyc01hcC5nZXQodCk7aWYoaSl7Y29uc3Qgbz1pLmdldChlKTtvP3M9bzoocz1uZXcgYyh0LHRoaXMuX2xhc3RTeW1ib2xEYXRhLGUpLGkuc2V0KGUscykpfWVsc2V7CnM9bmV3IGModCx0aGlzLl9sYXN0U3ltYm9sRGF0YSxlKTtjb25zdCBpPW5ldyBNYXA7aS5zZXQoZSxzKSx0aGlzLl9hZGFwdGVyc01hcC5zZXQodCxpKX1yZXR1cm4gc319fSw5OTU2ODIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7RHJhZ0hhbmRsZXI6KCk9Pm99KTt2YXIgaT1zKDUzMTkyOCk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcih0LGUscz17Ym91bmRCeVNjcmVlbjohMH0pe3RoaXMuX2RyYWc9bnVsbCx0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITEsdGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0PXQ9PntpZigwIT09dC5idXR0b258fHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3QucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpO2NvbnN0IGU9KDAsaS5jbGFtcFBvc2l0aW9uKSgoMCxpLnBvc2l0aW9uRnJvbU1vdXNlRXZlbnQpKHQpKTt0aGlzLl9kcmFnU3RhcnQoZSl9LHRoaXMuX29uVG91Y2hEcmFnU3RhcnQ9dD0+e2lmKHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3RoaXMuX2NhbkJlVG91Y2hDbGljaz0hMCx0LnByZXZlbnREZWZhdWx0KCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaERyYWdNb3ZlLHtwYXNzaXZlOiExfSk7Y29uc3QgZT0oMCxpLmNsYW1wUG9zaXRpb24pKCgwLGkucG9zaXRpb25Gcm9tVG91Y2hFdmVudCkodCkpO3RoaXMuX2RyYWdTdGFydChlKX0sdGhpcy5fb25Nb3VzZURyYWdFbmQ9dD0+e3QudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSYmdGhpcy5faGVhZGVyLmNvbnRhaW5zKHQudGFyZ2V0KSYmdC5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3VzZURyYWdNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlRHJhZ0VuZCksdGhpcy5fb25EcmFnU3RvcCgpfSx0aGlzLl9vblRvdWNoRHJhZ0VuZD10PT57dGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaERyYWdNb3ZlKSx0aGlzLl9vbkRyYWdTdG9wKCksdGhpcy5fY2FuQmVUb3VjaENsaWNrJiYodGhpcy5fY2FuQmVUb3VjaENsaWNrPSExLCgwLGkuc2ltdWxhdGVDbGljaykodC50YXJnZXQpKX0sdGhpcy5fb25Nb3VzZURyYWdNb3ZlPXQ9Pntjb25zdCBlPSgwLGkuY2xhbXBQb3NpdGlvbikoKDAsaS5wb3NpdGlvbkZyb21Nb3VzZUV2ZW50KSh0KSk7dGhpcy5fZHJhZ01vdmUoZSl9LHRoaXMuX29uVG91Y2hEcmFnTW92ZT10PT57dGhpcy5fY2FuQmVUb3VjaENsaWNrPSExLHQucHJldmVudERlZmF1bHQoKTtjb25zdCBlPSgwLGkuY2xhbXBQb3NpdGlvbikoKDAsaS5wb3NpdGlvbkZyb21Ub3VjaEV2ZW50KSh0KSk7dGhpcy5fZHJhZ01vdmUoZSl9LHRoaXMuX29uRHJhZ1N0b3A9KCk9Pnt0aGlzLl9kcmFnPW51bGwsdGhpcy5faGVhZGVyLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5fb3B0aW9ucy5vbkRyYWdFbmQmJnRoaXMuX29wdGlvbnMub25EcmFnRW5kKCl9LHRoaXMuX2RpYWxvZz10LHRoaXMuX2hlYWRlcj1lLHRoaXMuX29wdGlvbnM9cyx0aGlzLl9oZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0KSx0aGlzLl9oZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaERyYWdTdGFydCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRHJhZ0VuZCl9ZGVzdHJveSgpe251bGwhPT10aGlzLl9mcmFtZSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fZnJhbWUpLHRoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX29uTW91c2VEcmFnU3RhcnQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuX29uTW91c2VEcmFnRW5kKSx0aGlzLl9oZWFkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaERyYWdTdGFydCksdGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRHJhZ0VuZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fb25Nb3VzZURyYWdFbmQpfXVwZGF0ZU9wdGlvbnModCl7dGhpcy5fb3B0aW9ucz10fV9kcmFnU3RhcnQodCl7Y29uc3QgZT10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5fZHJhZz17c3RhcnRYOnQueCxzdGFydFk6dC55LGZpbmlzaFg6dC54LGZpbmlzaFk6dC55LGRpYWxvZ1g6ZS5sZWZ0LGRpYWxvZ1k6ZS50b3B9O2NvbnN0IHM9TWF0aC5yb3VuZChlLmxlZnQpLGk9TWF0aC5yb3VuZChlLnRvcCk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7c31weCwgJHtpfXB4KWAsdGhpcy5faGVhZGVyLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksdGhpcy5fb3B0aW9ucy5vbkRyYWdTdGFydCYmdGhpcy5fb3B0aW9ucy5vbkRyYWdTdGFydCgpfV9kcmFnTW92ZSh0KXtpZih0aGlzLl9kcmFnKXtpZih0aGlzLl9kcmFnLmZpbmlzaFg9dC54LHRoaXMuX2RyYWcuZmluaXNoWT10LnksbnVsbCE9PXRoaXMuX2ZyYW1lKXJldHVybjt0aGlzLl9mcmFtZT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57aWYodGhpcy5fZHJhZyl7Y29uc3QgZT10LngtdGhpcy5fZHJhZy5zdGFydFgscz10LnktdGhpcy5fZHJhZy5zdGFydFk7dGhpcy5fbW92ZURpYWxvZyh0aGlzLl9kcmFnLmRpYWxvZ1grZSx0aGlzLl9kcmFnLmRpYWxvZ1krcyl9dGhpcy5fZnJhbWU9bnVsbH0pKX19X21vdmVEaWFsb2codCxlKXsKY29uc3Qgcz10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse2JvdW5kQnlTY3JlZW46b309dGhpcy5fb3B0aW9ucyxuPSgwLGkuY2xhbXBTZWdtZW50KSh0LHMud2lkdGgsbz8wOi0xLzAsbz93aW5kb3cuaW5uZXJXaWR0aDoxLzApLGE9KDAsaS5jbGFtcFNlZ21lbnQpKGUscy5oZWlnaHQsbz8wOi0xLzAsbz93aW5kb3cuaW5uZXJIZWlnaHQ6MS8wKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYH1faXNUYXJnZXROb0RyYWdnYWJsZSh0KXtyZXR1cm4gdC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50JiZudWxsIT09dC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtZGlzYWJsZS1kcmFnXSIpfX19LDU4NTgyMSh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtQb3B1cERpYWxvZzooKT0+TH0pO3ZhciBpPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxuPXMubihvKSxhPXMoMTM4NjM4KSxyPXMoOTkxMDY2KSxsPXMoNzE4NTUzKSxoPXMoOTMwMjMxKSxjPXMoNjU5ODc4KSxkPXMoOTk1NjgyKSx1PXMoNTMxOTI4KTtjb25zdCBwPXt2ZXJ0aWNhbDowfTtjbGFzcyBte2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9pc0Z1bGxzY3JlZW49ITEsdGhpcy5faGFuZGxlUmVzaXplPSgpPT57bnVsbD09PXRoaXMuX2ZyYW1lJiYodGhpcy5fZnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMucmVjYWxjdWxhdGVCb3VuZHMoKSx0aGlzLl9mcmFtZT1udWxsfSkpKX0sdGhpcy5fZGlhbG9nPXQsdGhpcy5fZ3VhcmQ9ZS5ndWFyZHx8cCx0aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbj1lLmNhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uLHRoaXMuX2luaXRpYWxIZWlnaHQ9dC5zdHlsZS5oZWlnaHQsd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5faGFuZGxlUmVzaXplKX11cGRhdGVPcHRpb25zKHQpe3RoaXMuX2d1YXJkPXQuZ3VhcmR8fHAsdGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb249dC5jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbn1zZXRGdWxsc2NyZWVuKHQpe3RoaXMuX2lzRnVsbHNjcmVlbiE9PXQmJih0aGlzLl9pc0Z1bGxzY3JlZW49dCx0aGlzLnJlY2FsY3VsYXRlQm91bmRzKCkpfWNlbnRlckFuZEZpdCgpe2NvbnN0e3g6dCx5OmV9PXRoaXMuZ2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpLHM9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpLGk9dGhpcy5fY2FsY0RpYWxvZ0hlaWdodCgpO2lmKHM9PT1pKWlmKHRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uKXtjb25zdHtsZWZ0OnQsdG9wOmV9PXRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uKHRoaXMuX2RpYWxvZyxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy5fZ3VhcmQpO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgfWVsc2UgdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD1pKyJweCI7dGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHt0fXB4LCAke2V9cHgpYH1nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCl7Y29uc3R7Y2xpZW50V2lkdGg6dCxjbGllbnRIZWlnaHQ6ZX09dGhpcy5fZ2V0Q2xpZW50RGltZW5zaW9ucygpLHM9dGhpcy5fY2FsY0RpYWxvZ0hlaWdodCgpLGk9dC8yLXRoaXMuX2RpYWxvZy5jbGllbnRXaWR0aC8yLG89ZS8yLXMvMit0aGlzLl9nZXRUb3BPZmZzZXQoKTtyZXR1cm57eDpNYXRoLnJvdW5kKGkpLHk6TWF0aC5yb3VuZChvKX19cmVjYWxjdWxhdGVCb3VuZHMoKXtjb25zdHtjbGllbnRXaWR0aDp0LGNsaWVudEhlaWdodDplfT10aGlzLl9nZXRDbGllbnREaW1lbnNpb25zKCkse3ZlcnRpY2FsOnN9PXRoaXMuX2d1YXJkLGk9dGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb24/Lih0aGlzLl9kaWFsb2cse2NsaWVudFdpZHRoOnQsY2xpZW50SGVpZ2h0OmV9LHt2ZXJ0aWNhbDpzfSk7aWYodGhpcy5faXNGdWxsc2NyZWVuKXtpZih0aGlzLl9kaWFsb2cuc3R5bGUudG9wPSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS5sZWZ0PSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD0iMTAwJSIsdGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT0ibm9uZSIsaSl7Y29uc3R7bGVmdDp0LHRvcDplLHdpZHRoOnMsaGVpZ2h0Om99PWk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7TWF0aC5yb3VuZCh0KX1weCwgJHtNYXRoLnJvdW5kKGUpfXB4KWAscyYmKHRoaXMuX2RpYWxvZy5zdHlsZS53aWR0aD1gJHtzfXB4YCx0aGlzLl9kaWFsb2cuc3R5bGUubWluV2lkdGg9InVuc2V0IiksbyYmKHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9YCR7b31weGAsdGhpcy5fZGlhbG9nLnN0eWxlLm1pbkhlaWdodD0idW5zZXQiKX19ZWxzZSBpZihpKXtjb25zdHtsZWZ0OnQsdG9wOmV9PWk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7TWF0aC5yb3VuZCh0KX1weCwgJHtNYXRoLnJvdW5kKGUpfXB4KWB9ZWxzZXt0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9IiIsdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD0iIjtjb25zdCBpPXRoaXMuX2RpYWxvZy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPWUtMipzLG49KDAsdS5jbGFtcFNlZ21lbnQpKGkubGVmdCxpLndpZHRoLDAsdCksYT0oMCx1LmNsYW1wU2VnbWVudCkoaS50b3AsaS5oZWlnaHQscyxlKTt0aGlzLl9kaWFsb2cuc3R5bGUudG9wPSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS5sZWZ0PSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQobil9cHgsICR7TWF0aC5yb3VuZChhKX1weClgLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9bzxpLmhlaWdodD9vKyJweCI6dGhpcy5faW5pdGlhbEhlaWdodH19CmRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9oYW5kbGVSZXNpemUpLG51bGwhPT10aGlzLl9mcmFtZSYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9mcmFtZT1udWxsKX1fZ2V0Q2xpZW50RGltZW5zaW9ucygpe3JldHVybntjbGllbnRIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxjbGllbnRXaWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh9fV9nZXRUb3BPZmZzZXQoKXtyZXR1cm4gMH1fY2FsY0RpYWxvZ0hlaWdodCgpe2NvbnN0IHQ9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpO3JldHVybiB0PHRoaXMuX2RpYWxvZy5jbGllbnRIZWlnaHQ/dDp0aGlzLl9kaWFsb2cuY2xpZW50SGVpZ2h0fV9jYWxjQXZhaWxhYmxlSGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKS5jbGllbnRIZWlnaHQtMip0aGlzLl9ndWFyZC52ZXJ0aWNhbH19dmFyIF89cyg1ODU0OCksZz1zKDQ5MDg5MyksYj1zKDg3MjUxOCkseT1zKDMzMjY2MCksZj1zKDExNzMxMyksUz1zKDMzNzM2Mik7dmFyIHY9cyg2OTIyNjYpLEM9cygxNDc5MDEpLHc9cygxNzU4NjMpO2NvbnN0IEQ9d1sidG9vbHRpcC1vZmZzZXQiXSxFPSgwLGguaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVtYmVkX3Jlc2l6ZXJfb3ZlcnJpZGVzIik/Y2xhc3MgZXh0ZW5kcyBte2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCxlKSx0aGlzLl9lbmFibGVkPSgwLGguaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVtYmVkX3Jlc2l6ZXJfb3ZlcnJpZGVzIil9X2dldENsaWVudERpbWVuc2lvbnMoKXtjb25zdCB0PXN1cGVyLl9nZXRDbGllbnREaW1lbnNpb25zKCk7aWYodGhpcy5fZW5hYmxlZCl7Y29uc3QgZT1TLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5kYXRhKCk7ZSYmKHQuY2xpZW50SGVpZ2h0PWUuaGVpZ2h0KX1yZXR1cm4gdH1fZ2V0VG9wT2Zmc2V0KCl7aWYodGhpcy5fZW5hYmxlZCl7Y29uc3QgdD1TLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5kYXRhKCk7aWYodClyZXR1cm4gdC50b3B9cmV0dXJuIHN1cGVyLl9nZXRUb3BPZmZzZXQoKX19Om07Y2xhc3MgeCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9jbGVhblVwRnVuY3Rpb25zPVtdLHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50PW51bGwsdGhpcy5fZXZlbnREaXNwYXRjaGVyPW5ldyB5LkRpYWxvZ0V2ZW50RGlzcGF0Y2hlcix0aGlzLl9oYW5kbGVEaWFsb2dSZWY9dD0+e2NvbnN0e3JlZmVyZW5jZTplfT10aGlzLnByb3BzO3RoaXMuX2RpYWxvZz10LCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6bnVsbCE9ZSYmKGUuY3VycmVudD10KX0sdGhpcy5faGFuZGxlRm9jdXM9KCk9Pnt0aGlzLl9tb3ZlVG9Ub3AoKX0sdGhpcy5faGFuZGxlTW91c2VEb3duPXQ9Pnt0aGlzLl9tb3ZlVG9Ub3AoKX0sdGhpcy5faGFuZGxlVG91Y2hTdGFydD10PT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuc3RhdGU9e2NhbkZpdFRvb2x0aXA6ITF9LHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9cmVuZGVyKCl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChnLlBvcHVwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpc30saS5jcmVhdGVFbGVtZW50KGwuT3V0c2lkZUV2ZW50LHttb3VzZURvd246ITAsdG91Y2hTdGFydDohMCxoYW5kbGVyOnRoaXMucHJvcHMub25DbGlja091dHNpZGV9LCh0PT5pLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjp0LCJkYXRhLW91dHNpZGUtYm91bmRhcnktZm9yIjp0aGlzLnByb3BzLm5hbWUsb25Gb2N1czp0aGlzLl9oYW5kbGVGb2N1cyxvbk1vdXNlRG93bjp0aGlzLl9oYW5kbGVNb3VzZURvd24sb25Ub3VjaFN0YXJ0OnRoaXMuX2hhbmRsZVRvdWNoU3RhcnQsImRhdGEtZGlhbG9nLW5hbWUiOnRoaXMucHJvcHNbImRhdGEtZGlhbG9nLW5hbWUiXSwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIiwiZGF0YS1xYS1pZCI6KDAsQy5kYXRhUWFJZHMpKCJ1aS1saWItUG9wdXBEaWFsb2ciLHRoaXMucHJvcHMuZGF0YVFhSWQpfSxpLmNyZWF0ZUVsZW1lbnQoci5EaWFsb2cse3N0eWxlOnRoaXMuX2FwcGx5QW5pbWF0aW9uQ1NTVmFyaWFibGVzKCksLi4udGhpcy5wcm9wcyxyZWZlcmVuY2U6dGhpcy5faGFuZGxlRGlhbG9nUmVmLGNsYXNzTmFtZTpuKCkody5kaWFsb2csKDAsZi5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYhdGhpcy5wcm9wcy5ub01vYmlsZUFwcFNoYWRvd3MmJncubW9iaWxlLHRoaXMucHJvcHMuZnVsbHNjcmVlbiYmdy5mdWxsc2NyZWVuLHRoaXMucHJvcHMuY2xhc3NOYW1lKX0sdGhpcy5wcm9wcy5kaWFsb2dUb29sdGlwJiZ0aGlzLnN0YXRlLmNhbkZpdFRvb2x0aXAmJmkuY3JlYXRlRWxlbWVudCh2LlRvb2x0aXBXaWRnZXQse2NsYXNzTmFtZTp3LmRpYWxvZ1Rvb2x0aXB9LHRoaXMucHJvcHMuZGlhbG9nVG9vbHRpcCksdGhpcy5wcm9wcy5jaGlsZHJlbikpKSkpfWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZHJhZ2dhYmxlOnQsYm91bmRCeVNjcmVlbjplLG9uRHJhZ1N0YXJ0OnN9PXRoaXMucHJvcHMsaT0oMCxhLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RpYWxvZyk7aWYodGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctb3BlbiIpLHQpe2NvbnN0IHQ9aS5xdWVyeVNlbGVjdG9yKCJbZGF0YS1kcmFnZy1hcmVhXSIpO2lmKHQmJnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7Y29uc3Qgbz1uZXcgZC5EcmFnSGFuZGxlcihpLHQse2JvdW5kQnlTY3JlZW46Qm9vbGVhbihlKSxvbkRyYWdTdGFydDpzfSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+by5kZXN0cm95KCkpKSx0aGlzLl9kcmFnPW99fXRoaXMucHJvcHMuYXV0b2ZvY3VzJiYhaS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmaS5mb2N1cygpLAoodGhpcy5faXNGdWxsU2NyZWVuKCl8fHRoaXMucHJvcHMuZml4ZWRCb2R5KSYmKDAsYi5zZXRGaXhlZEJvZHlTdGF0ZSkoITApO2NvbnN0e2d1YXJkOm8sY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246bn09dGhpcy5wcm9wcztpZih0aGlzLnByb3BzLnJlc2l6ZUhhbmRsZXIpdGhpcy5fcmVzaXplPXRoaXMucHJvcHMucmVzaXplSGFuZGxlcjtlbHNle2NvbnN0IHQ9bmV3IEUoaSx7Z3VhcmQ6byxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjpufSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+dC5kZXN0cm95KCkpKSx0aGlzLl9yZXNpemU9dH1pZih0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpLHRoaXMucHJvcHMuaXNBbmltYXRpb25FbmFibGVkJiZ0aGlzLnByb3BzLmdyb3dQb2ludCYmdGhpcy5fYXBwbHlBcHBlYXJhbmNlQW5pbWF0aW9uKHRoaXMucHJvcHMuZ3Jvd1BvaW50KSx0aGlzLnByb3BzLmNlbnRlcmVkT25Nb3VudCYmdGhpcy5fcmVzaXplLmNlbnRlckFuZEZpdCgpLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXAmJnRoaXMuX2hhbmRsZVRvb2x0aXBGaXQoKSx0aGlzLnByb3BzLnNob3VsZEZvcmNlRm9jdXMpe2lmKHRoaXMucHJvcHMub25Gb3JjZUZvY3VzKXJldHVybiB2b2lkIHRoaXMucHJvcHMub25Gb3JjZUZvY3VzKGkpO2kuZm9jdXMoKX1pZighaS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSl7Y29uc3QgdD0oMCx1LmZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudCkoaSk7dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0LmZvY3VzKCl9fWNvbXBvbmVudERpZFVwZGF0ZSh0KXtjb25zdCBlPXQuZnVsbHNjcmVlbjtpZih0aGlzLl9yZXNpemUpe2NvbnN0e2d1YXJkOnQsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246ZX09dGhpcy5wcm9wczt0aGlzLl9yZXNpemUudXBkYXRlT3B0aW9ucyh7Z3VhcmQ6dCxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjplfSksdGhpcy5fcmVzaXplLnNldEZ1bGxzY3JlZW4odGhpcy5faXNGdWxsU2NyZWVuKCkpfWlmKHRoaXMuX2RyYWcmJnRoaXMuX2RyYWcudXBkYXRlT3B0aW9ucyh7Ym91bmRCeVNjcmVlbjpCb29sZWFuKHRoaXMucHJvcHMuYm91bmRCeVNjcmVlbiksb25EcmFnU3RhcnQ6dGhpcy5wcm9wcy5vbkRyYWdTdGFydH0pLHQuZnVsbHNjcmVlbiE9PXRoaXMucHJvcHMuZnVsbHNjcmVlbil7Y29uc3QgdD10aGlzLnByb3BzLmZ1bGxzY3JlZW47dCYmIWU/dGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpOiF0JiZlJiZ0aGlzLl9ldmVudERpc3BhdGNoZXIuZGlzcGF0Y2goImRpYWxvZy1mdWxsc2NyZWVuLW9mZiIpfX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2lmKHRoaXMucHJvcHMuc2hvdWxkUmV0dXJuRm9jdXMmJnRoaXMuX3ByZXZBY3RpdmVFbGVtZW50JiZkb2N1bWVudC5ib2R5LmNvbnRhaW5zKHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50KSYmKG51bGw9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50fHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keXx8dGhpcy5fZGlhbG9nPy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkpdHJ5e3NldFRpbWVvdXQoKCgpPT57dGhpcy5fcHJldkFjdGl2ZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX0pKX1jYXRjaHt9Zm9yKGNvbnN0IHQgb2YgdGhpcy5fY2xlYW5VcEZ1bmN0aW9ucyl0KCk7KHRoaXMuX2lzRnVsbFNjcmVlbigpfHx0aGlzLnByb3BzLmZpeGVkQm9keSkmJigwLGIuc2V0Rml4ZWRCb2R5U3RhdGUpKCExKSx0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vZmYiKSx0aGlzLl9ldmVudERpc3BhdGNoZXIuZGlzcGF0Y2goImRpYWxvZy1jbG9zZSIpfWZvY3VzKCl7dGhpcy5fZGlhbG9nJiZ0aGlzLl9kaWFsb2cuZm9jdXMoKX1jZW50ZXJBbmRGaXQoKXt0aGlzLl9yZXNpemUmJnRoaXMuX3Jlc2l6ZS5jZW50ZXJBbmRGaXQoKX1yZWNhbGN1bGF0ZUJvdW5kcygpe3RoaXMuX3Jlc2l6ZSYmdGhpcy5fcmVzaXplLnJlY2FsY3VsYXRlQm91bmRzKCl9X21vdmVUb1RvcCgpe3RoaXMucHJvcHMuaXNaSW5kZXhGaXhlZHx8bnVsbCE9PXRoaXMuY29udGV4dCYmdGhpcy5jb250ZXh0Lm1vdmVUb1RvcCgpfV9hcHBseUFuaW1hdGlvbkNTU1ZhcmlhYmxlcygpe3JldHVybnsiLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFgiOm51bGwsIi0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRZIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFgiOm51bGwsIi0tYW5pbWF0aW9uVHJhbnNsYXRlRW5kWSI6bnVsbH19X2FwcGx5QXBwZWFyYW5jZUFuaW1hdGlvbih0KXtpZih0aGlzLl9yZXNpemUmJnRoaXMuX2RpYWxvZyl7Y29uc3R7eDplLHk6c309dCx7eDppLHk6b309dGhpcy5fcmVzaXplLmdldERpYWxvZ3NUb3BMZWZ0Q29vcmRpbmF0ZXMoKTt0aGlzLl9kaWFsb2cuc3R5bGUuc2V0UHJvcGVydHkoIi0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYIixgJHtlfXB4YCksdGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WSIsYCR7c31weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYIixgJHtpfXB4YCksdGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFkiLGAke299cHhgKSx0aGlzLl9kaWFsb2cuY2xhc3NMaXN0LmFkZCh3LmRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZSl9fV9oYW5kbGVUb29sdGlwRml0KCl7aWYodGhpcy5fcmVzaXplKXtjb25zdCB0PXRoaXMuX3Jlc2l6ZS5nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCkueS1wYXJzZUludChEKT49MDt0aGlzLnNldFN0YXRlKHtjYW5GaXRUb29sdGlwOnR9KX19X2lzRnVsbFNjcmVlbigpewpyZXR1cm4gQm9vbGVhbih0aGlzLnByb3BzLmZ1bGxzY3JlZW4pfX14LmNvbnRleHRUeXBlPV8uUG9ydGFsQ29udGV4dCx4LmRlZmF1bHRQcm9wcz17Ym91bmRCeVNjcmVlbjohMCxkcmFnZ2FibGU6ITAsY2VudGVyZWRPbk1vdW50OiEwLHNob3VsZFJldHVybkZvY3VzOiEwfTtjb25zdCBMPSgwLGMubWFrZU92ZXJsYXBhYmxlKSh4LCEwKX0sNTMxOTI4KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse2NsYW1wUG9zaXRpb246KCk9PnIsY2xhbXBTZWdtZW50OigpPT5hLGZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudDooKT0+ZCxwb3NpdGlvbkZyb21Nb3VzZUV2ZW50OigpPT5oLHBvc2l0aW9uRnJvbVRvdWNoRXZlbnQ6KCk9PmMsc2ltdWxhdGVDbGljazooKT0+bH0pO3ZhciBpLG89cyg2NDA3NDQpLG49cyg2ODIzODEpO2Z1bmN0aW9uIGEodCxlLHMsaSl7cmV0dXJuIHQrZT5pJiYodD1pLWUpLHQ8cyYmKHQ9cyksdH1mdW5jdGlvbiByKHQpe3JldHVybnt4OigwLG8uY2xhbXApKHQueCwyMCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgtMjApLHk6KDAsby5jbGFtcCkodC55LDIwLHdpbmRvdy5pbm5lckhlaWdodC0yMCl9fWZ1bmN0aW9uIGwodCl7aWYodCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIlNWR0V2ZW50cyIpO2UuaW5pdEV2ZW50KCJjbGljayIsITAsITApLHQuZGlzcGF0Y2hFdmVudChlKX10IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQuY2xpY2soKX1mdW5jdGlvbiBoKHQpe3JldHVybnt4OnQuY2xpZW50WCx5OnQuY2xpZW50WX19ZnVuY3Rpb24gYyh0KXtyZXR1cm57eDp0LnRvdWNoZXNbMF0uY2xpZW50WCx5OnQudG91Y2hlc1swXS5jbGllbnRZfX1mdW5jdGlvbiBkKHQpe2NvbnN0IGU9dC5xdWVyeVNlbGVjdG9yKCJbYXV0b2ZvY3VzXTpub3QoW2Rpc2FibGVkXSkiKTtpZihlKXJldHVybiBlO2lmKHQudGFiSW5kZXg+PTApcmV0dXJuIHQ7Y29uc3Qgcz0oMCxuLmdldEFjdGl2ZUVsZW1lbnRTZWxlY3RvcnMpKCksaT1BcnJheS5mcm9tKHQucXVlcnlTZWxlY3RvckFsbChzKSkuZmlsdGVyKCgwLG4uY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKHQpKTtsZXQgbz1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksYT1udWxsO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBlPWlbdF0scz1lLmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKTtpZihudWxsIT09cyl7Y29uc3QgdD1wYXJzZUludChzLDEwKTshaXNOYU4odCkmJnQ+byYmKG89dCxhPWUpfX1yZXR1cm4gYX0hZnVuY3Rpb24odCl7dFt0Lk1vdXNlR3VhcmRab25lPTIwXT0iTW91c2VHdWFyZFpvbmUifShpfHwoaT17fSkpfSw5MTEzMjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7ZXh0cmFjdFRhYlBhdGg6KCk9PmIsZ2V0U3ltYm9sUGFnZVBhdGg6KCk9PmgsbWFrZVN5bWJvbENoYXJ0VXJsOigpPT5nLG1ha2VTeW1ib2xQYWdlVXJsOigpPT5ffSk7cyg5NjM5MDApO3ZhciBpPXMoMzA5ODM2KSxvPXMoMjQxOTM3KSxuPXMoODUxNDU4KSxhPXMoMTU2ODI5KTtjb25zdCByPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBsKHQpe2NvbnN0IGU9ey4uLnR9O2lmKCJzcHJlYWQiPT09ZS50eXBlfHwiZXhwcmVzc2lvbiI9PT1lLnR5cGUpe2NvbnN0IHQ9ZS5zaG9ydE5hbWUmJmMoZS5zaG9ydE5hbWUpLHM9ZS5wcm9OYW1lJiZjKGUucHJvTmFtZSk7ZS50eXBlPXZvaWQgMCxlLnNob3J0TmFtZT10LGUucHJvTmFtZT1zfXJldHVybiBlfWZ1bmN0aW9uIGgodCxlKXtjb25zdCBzPWwodCk7cmV0dXJuIHUocChzLGUpLGQocykpfWZ1bmN0aW9uIGModCl7cmV0dXJuKDAsbi50b2tlbml6ZSkodCkuZmluZCgodD0+InN5bWJvbCI9PT10LnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gZCh0KXtjb25zdCBlPXtzaG9ydE5hbWU6dC5zaG9ydE5hbWUsZXhjaGFuZ2U6dC5leGNoYW5nZSxwcm9OYW1lOnQucHJvTmFtZSx0eXBlOnQudHlwZSx0eXBlc3BlY3M6dC50eXBlc3BlY3Mscm9vdDp0LnJvb3R9O3JldHVybiBlLnByb05hbWUmJmUucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW2UuZXhjaGFuZ2UsZS5zaG9ydE5hbWVdPWUucHJvTmFtZS5zcGxpdCgiOiIpKSxlfWZ1bmN0aW9uIHUodCxlKXtjb25zdCBzPWVuY29kZVVSSUNvbXBvbmVudChlLnNob3J0TmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KGUuZXhjaGFuZ2V8fCIiKSxvPWVuY29kZVVSSUNvbXBvbmVudChlLnByb05hbWV8fCIiKSxuPWVuY29kZVVSSUNvbXBvbmVudChlLnJvb3R8fCIiKTtyZXR1cm4gdC5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLGkpLnJlcGxhY2UoInt0dnN5bWJvbH0iLHMpLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLG8pLnJlcGxhY2UoInt0dnJvb3R9IixuKX1mdW5jdGlvbiBwKHQsZT0iIil7Y29uc3Qgcz1kKHQpLHt0eXBlOmksdHlwZXNwZWNzOm8sc2hvcnROYW1lOm4scHJvTmFtZTpsLGV4Y2hhbmdlOmgscm9vdDpjfT1zO3JldHVybiB2b2lkIDA9PT1uJiZ2b2lkIDA9PT1sPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOmwmJnIuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7ZX1gOml8fG8/ImNvbW1vZGl0eSI9PT1pJiZvJiZvLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohY3x8IW98fCJmdXR1cmVzIiE9PWl8fG8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmbj8uZW5kc1dpdGgoIjEhIil8fG8uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9oJiYoImZvcmV4Ij09PWl8fG8mJigwLAphLmhhc0NyeXB0b1R5cGVzcGVjKShvKSk/Ii9zeW1ib2xzL3t0dnN5bWJvbH0vP2V4Y2hhbmdlPXt0dmV4Y2hhbmdlfSI6aD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dmV4Y2hhbmdlfS17dHZyb290fTEhLyR7ZX0/Y29udHJhY3Q9e3R2c3ltYm9sfWA6aD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHtlfWB9ZnVuY3Rpb24gbSh0LGUscyxuKXtjb25zdCBhPSh3aW5kb3cubG9jYWxlX2RvbWFpbnM/KDAsby5kZXRlcm1pbmVCYXNlVXJsKSh3aW5kb3cubG9jYWxlX2RvbWFpbnMsbik6d2luZG93LmxvY2F0aW9uLm9yaWdpbikrdSh0LGQobChlKSkpO3JldHVybiBzPygwLGkuYWRkVXRtVG9VcmwpKGEscyk6YX1mdW5jdGlvbiBfKHQsZSxzLGkpe2NvbnN0IG89bCh0KTtyZXR1cm4gbShwKG8saSksbyxlLHMpfWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gbSgiL2NoYXJ0Lz9zeW1ib2w9e3R2cHJvc3ltYm9sfSIsdCxlKX1mdW5jdGlvbiBiKHQsZSl7Y29uc3Qgcz1oKHtwcm9OYW1lOnR9KTtyZXR1cm4gZS5zdGFydHNXaXRoKHMpP2UucmVwbGFjZShzLnNsaWNlKDAscy5sZW5ndGgtMSksIiIpOm51bGx9fSw4MDY2OTModCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjcwNyA5bDQuNjQ3LTQuNjQ2LS43MDctLjcwOEw5IDguMjkzIDQuMzU0IDMuNjQ2bC0uNzA4LjcwOEw4LjI5MyA5bC00LjY0NyA0LjY0Ni43MDguNzA4TDkgOS43MDdsNC42NDYgNC42NDcuNzA4LS43MDdMOS43MDcgOXoiLz48L3N2Zz4nfSw4NTI1MzEodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE0IDEyIiB3aWR0aD0iMTQiIGhlaWdodD0iMTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgZm9jdXNhYmxlPSJmYWxzZSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PHBhdGggZD0iTTE0IDEybC00LTYgNC02SDB2MTJ6Ii8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCAR.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.536Z","timestamp":1785136905536,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCAR.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/js/popper.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.509Z","timestamp":1785136899509,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/popper.min.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 37178\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":37178,"size_decoded":37395,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (639), with CRLF line terminators","md5":"ecc23df98e6d7a92eec9a4726c39f0ad","sha1":"676ec2e4a4fd08c7280f65f816d13aa47410c943","sha256":"718a9f1f7c899d8a61ebe7e335a1ba9f367c3151345eefeecae9750063d58faf","sha512":"00ddc052fa6bad18bc8dc4e2e6b577608303e48863244415e478caa62d178af51a34e364bd50642579ae3e8f5ae043543d8fa4e73a475a313dc29f864e31ed9b","ssdeep":"768:52rY8yiLQAFHPGc/k83IYRFEyF0bdidHtANhDR0MGiXVi+RrJR1+dAOr+fCSO7DP:aTcCHPTkURF4didN2hVhVXV+d6C/emZt","tlshash":"33f22f8c6ad171758637f37ad92fc909f336163b1286900239bca1951f71d6092bafec","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-08-01T11:22:30.993838Z","times_seen":251,"resource_available":true,"data":"LyoNCiBDb3B5cmlnaHQgKEMpIEZlZGVyaWNvIFppdm9sbyAyMDE5DQogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlIChsaWNlbnNlIHRlcm1zIGFyZSBhdCBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUKS4NCiAqLw0KKGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAnb2JqZWN0JyA9PSB0eXBlb2YgZXhwb3J0cyAmJiAndW5kZWZpbmVkJyAhPSB0eXBlb2YgbW9kdWxlID8gbW9kdWxlLmV4cG9ydHMgPSB0KCkgOiAnZnVuY3Rpb24nID09IHR5cGVvZiBkZWZpbmUgJiYgZGVmaW5lLmFtZCA/IGRlZmluZSh0KSA6IGUuUG9wcGVyID0gdCgpDQp9KSh0aGlzLCBmdW5jdGlvbigpIHsNCiAgICAndXNlIHN0cmljdCc7DQoNCiAgICBmdW5jdGlvbiBlKGUpIHsNCiAgICAgICAgcmV0dXJuIGUgJiYgJ1tvYmplY3QgRnVuY3Rpb25dJyA9PT0ge30udG9TdHJpbmcuY2FsbChlKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHQoZSwgdCkgew0KICAgICAgICBpZiAoMSAhPT0gZS5ub2RlVHlwZSkgcmV0dXJuIFtdOw0KICAgICAgICB2YXIgbyA9IGUub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldywNCiAgICAgICAgICAgIG4gPSBvLmdldENvbXB1dGVkU3R5bGUoZSwgbnVsbCk7DQogICAgICAgIHJldHVybiB0ID8gblt0XSA6IG4NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBvKGUpIHsNCiAgICAgICAgcmV0dXJuICdIVE1MJyA9PT0gZS5ub2RlTmFtZSA/IGUgOiBlLnBhcmVudE5vZGUgfHwgZS5ob3N0DQogICAgfQ0KDQogICAgZnVuY3Rpb24gbihlKSB7DQogICAgICAgIGlmICghZSkgcmV0dXJuIGRvY3VtZW50LmJvZHk7DQogICAgICAgIHN3aXRjaCAoZS5ub2RlTmFtZSkgew0KICAgICAgICAgICAgY2FzZSAnSFRNTCc6DQogICAgICAgICAgICBjYXNlICdCT0RZJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gZS5vd25lckRvY3VtZW50LmJvZHk7DQogICAgICAgICAgICBjYXNlICcjZG9jdW1lbnQnOg0KICAgICAgICAgICAgICAgIHJldHVybiBlLmJvZHk7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGkgPSB0KGUpLA0KICAgICAgICAgICAgciA9IGkub3ZlcmZsb3csDQogICAgICAgICAgICBwID0gaS5vdmVyZmxvd1gsDQogICAgICAgICAgICBzID0gaS5vdmVyZmxvd1k7DQogICAgICAgIHJldHVybiAvKGF1dG98c2Nyb2xsfG92ZXJsYXkpLy50ZXN0KHIgKyBzICsgcCkgPyBlIDogbihvKGUpKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHIoZSkgew0KICAgICAgICByZXR1cm4gMTEgPT09IGUgPyBwZSA6IDEwID09PSBlID8gc2UgOiBwZSB8fCBzZQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHAoZSkgew0KICAgICAgICBpZiAoIWUpIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7DQogICAgICAgIGZvciAodmFyIG8gPSByKDEwKSA/IGRvY3VtZW50LmJvZHkgOiBudWxsLCBuID0gZS5vZmZzZXRQYXJlbnQgfHwgbnVsbDsgbiA9PT0gbyAmJiBlLm5leHRFbGVtZW50U2libGluZzspIG4gPSAoZSA9IGUubmV4dEVsZW1lbnRTaWJsaW5nKS5vZmZzZXRQYXJlbnQ7DQogICAgICAgIHZhciBpID0gbiAmJiBuLm5vZGVOYW1lOw0KICAgICAgICByZXR1cm4gaSAmJiAnQk9EWScgIT09IGkgJiYgJ0hUTUwnICE9PSBpID8gLTEgIT09IFsnVEgnLCAnVEQnLCAnVEFCTEUnXS5pbmRleE9mKG4ubm9kZU5hbWUpICYmICdzdGF0aWMnID09PSB0KG4sICdwb3NpdGlvbicpID8gcChuKSA6IG4gOiBlID8gZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudA0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHMoZSkgew0KICAgICAgICB2YXIgdCA9IGUubm9kZU5hbWU7DQogICAgICAgIHJldHVybiAnQk9EWScgIT09IHQgJiYgKCdIVE1MJyA9PT0gdCB8fCBwKGUuZmlyc3RFbGVtZW50Q2hpbGQpID09PSBlKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGQoZSkgew0KICAgICAgICByZXR1cm4gbnVsbCA9PT0gZS5wYXJlbnROb2RlID8gZSA6IGQoZS5wYXJlbnROb2RlKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGEoZSwgdCkgew0KICAgICAgICBpZiAoIWUgfHwgIWUubm9kZVR5cGUgfHwgIXQgfHwgIXQubm9kZVR5cGUpIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7DQogICAgICAgIHZhciBvID0gZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HLA0KICAgICAgICAgICAgbiA9IG8gPyBlIDogdCwNCiAgICAgICAgICAgIGkgPSBvID8gdCA6IGUsDQogICAgICAgICAgICByID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsNCiAgICAgICAgci5zZXRTdGFydChuLCAwKSwgci5zZXRFbmQoaSwgMCk7DQogICAgICAgIHZhciBsID0gci5jb21tb25BbmNlc3RvckNvbnRhaW5lcjsNCiAgICAgICAgaWYgKGUgIT09IGwgJiYgdCAhPT0gbCB8fCBuLmNvbnRhaW5zKGkpKSByZXR1cm4gcyhsKSA/IGwgOiBwKGwpOw0KICAgICAgICB2YXIgZiA9IGQoZSk7DQogICAgICAgIHJldHVybiBmLmhvc3QgPyBhKGYuaG9zdCwgdCkgOiBhKGUsIGQodCkuaG9zdCkNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBsKGUpIHsNCiAgICAgICAgdmFyIHQgPSAxIDwgYXJndW1lbnRzLmxlbmd0aCAmJiB2b2lkIDAgIT09IGFyZ3VtZW50c1sxXSA/IGFyZ3VtZW50c1sxXSA6ICd0b3AnLA0KICAgICAgICAgICAgbyA9ICd0b3AnID09PSB0ID8gJ3Njcm9sbFRvcCcgOiAnc2Nyb2xsTGVmdCcsDQogICAgICAgICAgICBuID0gZS5ub2RlTmFtZTsNCiAgICAgICAgaWYgKCdCT0RZJyA9PT0gbiB8fCAnSFRNTCcgPT09IG4pIHsNCiAgICAgICAgICAgIHZhciBpID0gZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwNCiAgICAgICAgICAgICAgICByID0gZS5vd25lckRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQgfHwgaTsNCiAgICAgICAgICAgIHJldHVybiByW29dDQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGVbb10NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBmKGUsIHQpIHsNCiAgICAgICAgdmFyIG8gPSAyIDwgYXJndW1lbnRzLmxlbmd0aCAmJiB2b2lkIDAgIT09IGFyZ3VtZW50c1syXSAmJiBhcmd1bWVudHNbMl0sDQogICAgICAgICAgICBuID0gbCh0LCAndG9wJyksDQogICAgICAgICAgICBpID0gbCh0LCAnbGVmdCcpLA0KICAgICAgICAgICAgciA9IG8gPyAtMSA6IDE7DQogICAgICAgIHJldHVybiBlLnRvcCArPSBuICogciwgZS5ib3R0b20gKz0gbiAqIHIsIGUubGVmdCArPSBpICogciwgZS5yaWdodCArPSBpICogciwgZQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIG0oZSwgdCkgew0KICAgICAgICB2YXIgbyA9ICd4JyA9PT0gdCA/ICdMZWZ0JyA6ICdUb3AnLA0KICAgICAgICAgICAgbiA9ICdMZWZ0JyA9PSBvID8gJ1JpZ2h0JyA6ICdCb3R0b20nOw0KICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChlWydib3JkZXInICsgbyArICdXaWR0aCddLCAxMCkgKyBwYXJzZUZsb2F0KGVbJ2JvcmRlcicgKyBuICsgJ1dpZHRoJ10sIDEwKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGgoZSwgdCwgbywgbikgew0KICAgICAgICByZXR1cm4gZWUodFsnb2Zmc2V0JyArIGVdLCB0WydzY3JvbGwnICsgZV0sIG9bJ2NsaWVudCcgKyBlXSwgb1snb2Zmc2V0JyArIGVdLCBvWydzY3JvbGwnICsgZV0sIHIoMTApID8gcGFyc2VJbnQob1snb2Zmc2V0JyArIGVdKSArIHBhcnNlSW50KG5bJ21hcmdpbicgKyAoJ0hlaWdodCcgPT09IGUgPyAnVG9wJyA6ICdMZWZ0JyldKSArIHBhcnNlSW50KG5bJ21hcmdpbicgKyAoJ0hlaWdodCcgPT09IGUgPyAnQm90dG9tJyA6ICdSaWdodCcpXSkgOiAwKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGMoZSkgew0KICAgICAgICB2YXIgdCA9IGUuYm9keSwNCiAgICAgICAgICAgIG8gPSBlLmRvY3VtZW50RWxlbWVudCwNCiAgICAgICAgICAgIG4gPSByKDEwKSAmJiBnZXRDb21wdXRlZFN0eWxlKG8pOw0KICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgaGVpZ2h0OiBoKCdIZWlnaHQnLCB0LCBvLCBuKSwNCiAgICAgICAgICAgIHdpZHRoOiBoKCdXaWR0aCcsIHQsIG8sIG4pDQogICAgICAgIH0NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBnKGUpIHsNCiAgICAgICAgcmV0dXJuIGZlKHt9LCBlLCB7DQogICAgICAgICAgICByaWdodDogZS5sZWZ0ICsgZS53aWR0aCwNCiAgICAgICAgICAgIGJvdHRvbTogZS50b3AgKyBlLmhlaWdodA0KICAgICAgICB9KQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHUoZSkgew0KICAgICAgICB2YXIgbyA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgaWYgKHIoMTApKSB7DQogICAgICAgICAgICAgICAgbyA9IGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7DQogICAgICAgICAgICAgICAgdmFyIG4gPSBsKGUsICd0b3AnKSwNCiAgICAgICAgICAgICAgICAgICAgaSA9IGwoZSwgJ2xlZnQnKTsNCiAgICAgICAgICAgICAgICBvLnRvcCArPSBuLCBvLmxlZnQgKz0gaSwgby5ib3R0b20gKz0gbiwgby5yaWdodCArPSBpDQogICAgICAgICAgICB9IGVsc2UgbyA9IGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkNCiAgICAgICAgfSBjYXRjaCAodCkge30NCiAgICAgICAgdmFyIHAgPSB7DQogICAgICAgICAgICAgICAgbGVmdDogby5sZWZ0LA0KICAgICAgICAgICAgICAgIHRvcDogby50b3AsDQogICAgICAgICAgICAgICAgd2lkdGg6IG8ucmlnaHQgLSBvLmxlZnQsDQogICAgICAgICAgICAgICAgaGVpZ2h0OiBvLmJvdHRvbSAtIG8udG9wDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgcyA9ICdIVE1MJyA9PT0gZS5ub2RlTmFtZSA/IGMoZS5vd25lckRvY3VtZW50KSA6IHt9LA0KICAgICAgICAgICAgZCA9IHMud2lkdGggfHwgZS5jbGllbnRXaWR0aCB8fCBwLnJpZ2h0IC0gcC5sZWZ0LA0KICAgICAgICAgICAgYSA9IHMuaGVpZ2h0IHx8IGUuY2xpZW50SGVpZ2h0IHx8IHAuYm90dG9tIC0gcC50b3AsDQogICAgICAgICAgICBmID0gZS5vZmZzZXRXaWR0aCAtIGQsDQogICAgICAgICAgICBoID0gZS5vZmZzZXRIZWlnaHQgLSBhOw0KICAgICAgICBpZiAoZiB8fCBoKSB7DQogICAgICAgICAgICB2YXIgdSA9IHQoZSk7DQogICAgICAgICAgICBmIC09IG0odSwgJ3gnKSwgaCAtPSBtKHUsICd5JyksIHAud2lkdGggLT0gZiwgcC5oZWlnaHQgLT0gaA0KICAgICAgICB9DQogICAgICAgIHJldHVybiBnKHApDQogICAgfQ0KDQogICAgZnVuY3Rpb24gYihlLCBvKSB7DQogICAgICAgIHZhciBpID0gMiA8IGFyZ3VtZW50cy5sZW5ndGggJiYgdm9pZCAwICE9PSBhcmd1bWVudHNbMl0gJiYgYXJndW1lbnRzWzJdLA0KICAgICAgICAgICAgcCA9IHIoMTApLA0KICAgICAgICAgICAgcyA9ICdIVE1MJyA9PT0gby5ub2RlTmFtZSwNCiAgICAgICAgICAgIGQgPSB1KGUpLA0KICAgICAgICAgICAgYSA9IHUobyksDQogICAgICAgICAgICBsID0gbihlKSwNCiAgICAgICAgICAgIG0gPSB0KG8pLA0KICAgICAgICAgICAgaCA9IHBhcnNlRmxvYXQobS5ib3JkZXJUb3BXaWR0aCwgMTApLA0KICAgICAgICAgICAgYyA9IHBhcnNlRmxvYXQobS5ib3JkZXJMZWZ0V2lkdGgsIDEwKTsNCiAgICAgICAgaSAmJiBzICYmIChhLnRvcCA9IGVlKGEudG9wLCAwKSwgYS5sZWZ0ID0gZWUoYS5sZWZ0LCAwKSk7DQogICAgICAgIHZhciBiID0gZyh7DQogICAgICAgICAgICB0b3A6IGQudG9wIC0gYS50b3AgLSBoLA0KICAgICAgICAgICAgbGVmdDogZC5sZWZ0IC0gYS5sZWZ0IC0gYywNCiAgICAgICAgICAgIHdpZHRoOiBkLndpZHRoLA0KICAgICAgICAgICAgaGVpZ2h0OiBkLmhlaWdodA0KICAgICAgICB9KTsNCiAgICAgICAgaWYgKGIubWFyZ2luVG9wID0gMCwgYi5tYXJnaW5MZWZ0ID0gMCwgIXAgJiYgcykgew0KICAgICAgICAgICAgdmFyIHcgPSBwYXJzZUZsb2F0KG0ubWFyZ2luVG9wLCAxMCksDQogICAgICAgICAgICAgICAgeSA9IHBhcnNlRmxvYXQobS5tYXJnaW5MZWZ0LCAxMCk7DQogICAgICAgICAgICBiLnRvcCAtPSBoIC0gdywgYi5ib3R0b20gLT0gaCAtIHcsIGIubGVmdCAtPSBjIC0geSwgYi5yaWdodCAtPSBjIC0geSwgYi5tYXJnaW5Ub3AgPSB3LCBiLm1hcmdpbkxlZnQgPSB5DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIChwICYmICFpID8gby5jb250YWlucyhsKSA6IG8gPT09IGwgJiYgJ0JPRFknICE9PSBsLm5vZGVOYW1lKSAmJiAoYiA9IGYoYiwgbykpLCBiDQogICAgfQ0KDQogICAgZnVuY3Rpb24gdyhlKSB7DQogICAgICAgIHZhciB0ID0gMSA8IGFyZ3VtZW50cy5sZW5ndGggJiYgdm9pZCAwICE9PSBhcmd1bWVudHNbMV0gJiYgYXJndW1lbnRzWzFdLA0KICAgICAgICAgICAgbyA9IGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsDQogICAgICAgICAgICBuID0gYihlLCBvKSwNCiAgICAgICAgICAgIGkgPSBlZShvLmNsaWVudFdpZHRoLCB3aW5kb3cuaW5uZXJXaWR0aCB8fCAwKSwNCiAgICAgICAgICAgIHIgPSBlZShvLmNsaWVudEhlaWdodCwgd2luZG93LmlubmVySGVpZ2h0IHx8IDApLA0KICAgICAgICAgICAgcCA9IHQgPyAwIDogbChvKSwNCiAgICAgICAgICAgIHMgPSB0ID8gMCA6IGwobywgJ2xlZnQnKSwNCiAgICAgICAgICAgIGQgPSB7DQogICAgICAgICAgICAgICAgdG9wOiBwIC0gbi50b3AgKyBuLm1hcmdpblRvcCwNCiAgICAgICAgICAgICAgICBsZWZ0OiBzIC0gbi5sZWZ0ICsgbi5tYXJnaW5MZWZ0LA0KICAgICAgICAgICAgICAgIHdpZHRoOiBpLA0KICAgICAgICAgICAgICAgIGhlaWdodDogcg0KICAgICAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIGcoZCkNCiAgICB9DQoNCiAgICBmdW5jdGlvbiB5KGUpIHsNCiAgICAgICAgdmFyIG4gPSBlLm5vZGVOYW1lOw0KICAgICAgICBpZiAoJ0JPRFknID09PSBuIHx8ICdIVE1MJyA9PT0gbikgcmV0dXJuICExOw0KICAgICAgICBpZiAoJ2ZpeGVkJyA9PT0gdChlLCAncG9zaXRpb24nKSkgcmV0dXJuICEwOw0KICAgICAgICB2YXIgaSA9IG8oZSk7DQogICAgICAgIHJldHVybiAhIWkgJiYgeShpKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEUoZSkgew0KICAgICAgICBpZiAoIWUgfHwgIWUucGFyZW50RWxlbWVudCB8fCByKCkpIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7DQogICAgICAgIGZvciAodmFyIG8gPSBlLnBhcmVudEVsZW1lbnQ7IG8gJiYgJ25vbmUnID09PSB0KG8sICd0cmFuc2Zvcm0nKTspIG8gPSBvLnBhcmVudEVsZW1lbnQ7DQogICAgICAgIHJldHVybiBvIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudA0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHYoZSwgdCwgaSwgcikgew0KICAgICAgICB2YXIgcCA9IDQgPCBhcmd1bWVudHMubGVuZ3RoICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzRdICYmIGFyZ3VtZW50c1s0XSwNCiAgICAgICAgICAgIHMgPSB7DQogICAgICAgICAgICAgICAgdG9wOiAwLA0KICAgICAgICAgICAgICAgIGxlZnQ6IDANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBkID0gcCA/IEUoZSkgOiBhKGUsIHQpOw0KICAgICAgICBpZiAoJ3ZpZXdwb3J0JyA9PT0gcikgcyA9IHcoZCwgcCk7DQogICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgdmFyIGw7DQogICAgICAgICAgICAnc2Nyb2xsUGFyZW50JyA9PT0gciA/IChsID0gbihvKHQpKSwgJ0JPRFknID09PSBsLm5vZGVOYW1lICYmIChsID0gZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkpIDogJ3dpbmRvdycgPT09IHIgPyBsID0gZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA6IGwgPSByOw0KICAgICAgICAgICAgdmFyIGYgPSBiKGwsIGQsIHApOw0KICAgICAgICAgICAgaWYgKCdIVE1MJyA9PT0gbC5ub2RlTmFtZSAmJiAheShkKSkgew0KICAgICAgICAgICAgICAgIHZhciBtID0gYyhlLm93bmVyRG9jdW1lbnQpLA0KICAgICAgICAgICAgICAgICAgICBoID0gbS5oZWlnaHQsDQogICAgICAgICAgICAgICAgICAgIGcgPSBtLndpZHRoOw0KICAgICAgICAgICAgICAgIHMudG9wICs9IGYudG9wIC0gZi5tYXJnaW5Ub3AsIHMuYm90dG9tID0gaCArIGYudG9wLCBzLmxlZnQgKz0gZi5sZWZ0IC0gZi5tYXJnaW5MZWZ0LCBzLnJpZ2h0ID0gZyArIGYubGVmdA0KICAgICAgICAgICAgfSBlbHNlIHMgPSBmDQogICAgICAgIH0NCiAgICAgICAgaSA9IGkgfHwgMDsNCiAgICAgICAgdmFyIHUgPSAnbnVtYmVyJyA9PSB0eXBlb2YgaTsNCiAgICAgICAgcmV0dXJuIHMubGVmdCArPSB1ID8gaSA6IGkubGVmdCB8fCAwLCBzLnRvcCArPSB1ID8gaSA6IGkudG9wIHx8IDAsIHMucmlnaHQgLT0gdSA/IGkgOiBpLnJpZ2h0IHx8IDAsIHMuYm90dG9tIC09IHUgPyBpIDogaS5ib3R0b20gfHwgMCwgcw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHgoZSkgew0KICAgICAgICB2YXIgdCA9IGUud2lkdGgsDQogICAgICAgICAgICBvID0gZS5oZWlnaHQ7DQogICAgICAgIHJldHVybiB0ICogbw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIE8oZSwgdCwgbywgbiwgaSkgew0KICAgICAgICB2YXIgciA9IDUgPCBhcmd1bWVudHMubGVuZ3RoICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzVdID8gYXJndW1lbnRzWzVdIDogMDsNCiAgICAgICAgaWYgKC0xID09PSBlLmluZGV4T2YoJ2F1dG8nKSkgcmV0dXJuIGU7DQogICAgICAgIHZhciBwID0gdihvLCBuLCByLCBpKSwNCiAgICAgICAgICAgIHMgPSB7DQogICAgICAgICAgICAgICAgdG9wOiB7DQogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBwLndpZHRoLA0KICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHQudG9wIC0gcC50b3ANCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHJpZ2h0OiB7DQogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBwLnJpZ2h0IC0gdC5yaWdodCwNCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBwLmhlaWdodA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgYm90dG9tOiB7DQogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBwLndpZHRoLA0KICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHAuYm90dG9tIC0gdC5ib3R0b20NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGxlZnQ6IHsNCiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHQubGVmdCAtIHAubGVmdCwNCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBwLmhlaWdodA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBkID0gT2JqZWN0LmtleXMocykubWFwKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmUoew0KICAgICAgICAgICAgICAgICAgICBrZXk6IGUNCiAgICAgICAgICAgICAgICB9LCBzW2VdLCB7DQogICAgICAgICAgICAgICAgICAgIGFyZWE6IHgoc1tlXSkNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSkuc29ydChmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHQuYXJlYSAtIGUuYXJlYQ0KICAgICAgICAgICAgfSksDQogICAgICAgICAgICBhID0gZC5maWx0ZXIoZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHZhciB0ID0gZS53aWR0aCwNCiAgICAgICAgICAgICAgICAgICAgbiA9IGUuaGVpZ2h0Ow0KICAgICAgICAgICAgICAgIHJldHVybiB0ID49IG8uY2xpZW50V2lkdGggJiYgbiA+PSBvLmNsaWVudEhlaWdodA0KICAgICAgICAgICAgfSksDQogICAgICAgICAgICBsID0gMCA8IGEubGVuZ3RoID8gYVswXS5rZXkgOiBkWzBdLmtleSwNCiAgICAgICAgICAgIGYgPSBlLnNwbGl0KCctJylbMV07DQogICAgICAgIHJldHVybiBsICsgKGYgPyAnLScgKyBmIDogJycpDQogICAgfQ0KDQogICAgZnVuY3Rpb24gTChlLCB0LCBvKSB7DQogICAgICAgIHZhciBuID0gMyA8IGFyZ3VtZW50cy5sZW5ndGggJiYgdm9pZCAwICE9PSBhcmd1bWVudHNbM10gPyBhcmd1bWVudHNbM10gOiBudWxsLA0KICAgICAgICAgICAgaSA9IG4gPyBFKHQpIDogYSh0LCBvKTsNCiAgICAgICAgcmV0dXJuIGIobywgaSwgbikNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBTKGUpIHsNCiAgICAgICAgdmFyIHQgPSBlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcsDQogICAgICAgICAgICBvID0gdC5nZXRDb21wdXRlZFN0eWxlKGUpLA0KICAgICAgICAgICAgbiA9IHBhcnNlRmxvYXQoby5tYXJnaW5Ub3AgfHwgMCkgKyBwYXJzZUZsb2F0KG8ubWFyZ2luQm90dG9tIHx8IDApLA0KICAgICAgICAgICAgaSA9IHBhcnNlRmxvYXQoby5tYXJnaW5MZWZ0IHx8IDApICsgcGFyc2VGbG9hdChvLm1hcmdpblJpZ2h0IHx8IDApLA0KICAgICAgICAgICAgciA9IHsNCiAgICAgICAgICAgICAgICB3aWR0aDogZS5vZmZzZXRXaWR0aCArIGksDQogICAgICAgICAgICAgICAgaGVpZ2h0OiBlLm9mZnNldEhlaWdodCArIG4NCiAgICAgICAgICAgIH07DQogICAgICAgIHJldHVybiByDQogICAgfQ0KDQogICAgZnVuY3Rpb24gVChlKSB7DQogICAgICAgIHZhciB0ID0gew0KICAgICAgICAgICAgbGVmdDogJ3JpZ2h0JywNCiAgICAgICAgICAgIHJpZ2h0OiAnbGVmdCcsDQogICAgICAgICAgICBib3R0b206ICd0b3AnLA0KICAgICAgICAgICAgdG9wOiAnYm90dG9tJw0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gZS5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRbZV0NCiAgICAgICAgfSkNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBEKGUsIHQsIG8pIHsNCiAgICAgICAgbyA9IG8uc3BsaXQoJy0nKVswXTsNCiAgICAgICAgdmFyIG4gPSBTKGUpLA0KICAgICAgICAgICAgaSA9IHsNCiAgICAgICAgICAgICAgICB3aWR0aDogbi53aWR0aCwNCiAgICAgICAgICAgICAgICBoZWlnaHQ6IG4uaGVpZ2h0DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgciA9IC0xICE9PSBbJ3JpZ2h0JywgJ2xlZnQnXS5pbmRleE9mKG8pLA0KICAgICAgICAgICAgcCA9IHIgPyAndG9wJyA6ICdsZWZ0JywNCiAgICAgICAgICAgIHMgPSByID8gJ2xlZnQnIDogJ3RvcCcsDQogICAgICAgICAgICBkID0gciA/ICdoZWlnaHQnIDogJ3dpZHRoJywNCiAgICAgICAgICAgIGEgPSByID8gJ3dpZHRoJyA6ICdoZWlnaHQnOw0KICAgICAgICByZXR1cm4gaVtwXSA9IHRbcF0gKyB0W2RdIC8gMiAtIG5bZF0gLyAyLCBpW3NdID0gbyA9PT0gcyA/IHRbc10gLSBuW2FdIDogdFtUKHMpXSwgaQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEMoZSwgdCkgew0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbmQgPyBlLmZpbmQodCkgOiBlLmZpbHRlcih0KVswXQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIE4oZSwgdCwgbykgew0KICAgICAgICBpZiAoQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCkgcmV0dXJuIGUuZmluZEluZGV4KGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlW3RdID09PSBvDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbiA9IEMoZSwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIGVbdF0gPT09IG8NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBlLmluZGV4T2YobikNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBQKHQsIG8sIG4pIHsNCiAgICAgICAgdmFyIGkgPSB2b2lkIDAgPT09IG4gPyB0IDogdC5zbGljZSgwLCBOKHQsICduYW1lJywgbikpOw0KICAgICAgICByZXR1cm4gaS5mb3JFYWNoKGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHRbJ2Z1bmN0aW9uJ10gJiYgY29uc29sZS53YXJuKCdgbW9kaWZpZXIuZnVuY3Rpb25gIGlzIGRlcHJlY2F0ZWQsIHVzZSBgbW9kaWZpZXIuZm5gIScpOw0KICAgICAgICAgICAgdmFyIG4gPSB0WydmdW5jdGlvbiddIHx8IHQuZm47DQogICAgICAgICAgICB0LmVuYWJsZWQgJiYgZShuKSAmJiAoby5vZmZzZXRzLnBvcHBlciA9IGcoby5vZmZzZXRzLnBvcHBlciksIG8ub2Zmc2V0cy5yZWZlcmVuY2UgPSBnKG8ub2Zmc2V0cy5yZWZlcmVuY2UpLCBvID0gbihvLCB0KSkNCiAgICAgICAgfSksIG8NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBrKCkgew0KICAgICAgICBpZiAoIXRoaXMuc3RhdGUuaXNEZXN0cm95ZWQpIHsNCiAgICAgICAgICAgIHZhciBlID0gew0KICAgICAgICAgICAgICAgIGluc3RhbmNlOiB0aGlzLA0KICAgICAgICAgICAgICAgIHN0eWxlczoge30sDQogICAgICAgICAgICAgICAgYXJyb3dTdHlsZXM6IHt9LA0KICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHt9LA0KICAgICAgICAgICAgICAgIGZsaXBwZWQ6ICExLA0KICAgICAgICAgICAgICAgIG9mZnNldHM6IHt9DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgZS5vZmZzZXRzLnJlZmVyZW5jZSA9IEwodGhpcy5zdGF0ZSwgdGhpcy5wb3BwZXIsIHRoaXMucmVmZXJlbmNlLCB0aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZCksIGUucGxhY2VtZW50ID0gTyh0aGlzLm9wdGlvbnMucGxhY2VtZW50LCBlLm9mZnNldHMucmVmZXJlbmNlLCB0aGlzLnBvcHBlciwgdGhpcy5yZWZlcmVuY2UsIHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCwgdGhpcy5vcHRpb25zLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpLCBlLm9yaWdpbmFsUGxhY2VtZW50ID0gZS5wbGFjZW1lbnQsIGUucG9zaXRpb25GaXhlZCA9IHRoaXMub3B0aW9ucy5wb3NpdGlvbkZpeGVkLCBlLm9mZnNldHMucG9wcGVyID0gRCh0aGlzLnBvcHBlciwgZS5vZmZzZXRzLnJlZmVyZW5jZSwgZS5wbGFjZW1lbnQpLCBlLm9mZnNldHMucG9wcGVyLnBvc2l0aW9uID0gdGhpcy5vcHRpb25zLnBvc2l0aW9uRml4ZWQgPyAnZml4ZWQnIDogJ2Fic29sdXRlJywgZSA9IFAodGhpcy5tb2RpZmllcnMsIGUpLCB0aGlzLnN0YXRlLmlzQ3JlYXRlZCA/IHRoaXMub3B0aW9ucy5vblVwZGF0ZShlKSA6ICh0aGlzLnN0YXRlLmlzQ3JlYXRlZCA9ICEwLCB0aGlzLm9wdGlvbnMub25DcmVhdGUoZSkpDQogICAgICAgIH0NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBXKGUsIHQpIHsNCiAgICAgICAgcmV0dXJuIGUuc29tZShmdW5jdGlvbihlKSB7DQogICAgICAgICAgICB2YXIgbyA9IGUubmFtZSwNCiAgICAgICAgICAgICAgICBuID0gZS5lbmFibGVkOw0KICAgICAgICAgICAgcmV0dXJuIG4gJiYgbyA9PT0gdA0KICAgICAgICB9KQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEgoZSkgew0KICAgICAgICBmb3IgKHZhciB0ID0gWyExLCAnbXMnLCAnV2Via2l0JywgJ01veicsICdPJ10sIG8gPSBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgZS5zbGljZSgxKSwgbiA9IDA7IG4gPCB0Lmxlbmd0aDsgbisrKSB7DQogICAgICAgICAgICB2YXIgaSA9IHRbbl0sDQogICAgICAgICAgICAgICAgciA9IGkgPyAnJyArIGkgKyBvIDogZTsNCiAgICAgICAgICAgIGlmICgndW5kZWZpbmVkJyAhPSB0eXBlb2YgZG9jdW1lbnQuYm9keS5zdHlsZVtyXSkgcmV0dXJuIHINCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gbnVsbA0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEIoKSB7DQogICAgICAgIHJldHVybiB0aGlzLnN0YXRlLmlzRGVzdHJveWVkID0gITAsIFcodGhpcy5tb2RpZmllcnMsICdhcHBseVN0eWxlJykgJiYgKHRoaXMucG9wcGVyLnJlbW92ZUF0dHJpYnV0ZSgneC1wbGFjZW1lbnQnKSwgdGhpcy5wb3BwZXIuc3R5bGUucG9zaXRpb24gPSAnJywgdGhpcy5wb3BwZXIuc3R5bGUudG9wID0gJycsIHRoaXMucG9wcGVyLnN0eWxlLmxlZnQgPSAnJywgdGhpcy5wb3BwZXIuc3R5bGUucmlnaHQgPSAnJywgdGhpcy5wb3BwZXIuc3R5bGUuYm90dG9tID0gJycsIHRoaXMucG9wcGVyLnN0eWxlLndpbGxDaGFuZ2UgPSAnJywgdGhpcy5wb3BwZXIuc3R5bGVbSCgndHJhbnNmb3JtJyldID0gJycpLCB0aGlzLmRpc2FibGVFdmVudExpc3RlbmVycygpLCB0aGlzLm9wdGlvbnMucmVtb3ZlT25EZXN0cm95ICYmIHRoaXMucG9wcGVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5wb3BwZXIpLCB0aGlzDQogICAgfQ0KDQogICAgZnVuY3Rpb24gQShlKSB7DQogICAgICAgIHZhciB0ID0gZS5vd25lckRvY3VtZW50Ow0KICAgICAgICByZXR1cm4gdCA/IHQuZGVmYXVsdFZpZXcgOiB3aW5kb3cNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBNKGUsIHQsIG8sIGkpIHsNCiAgICAgICAgdmFyIHIgPSAnQk9EWScgPT09IGUubm9kZU5hbWUsDQogICAgICAgICAgICBwID0gciA/IGUub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyA6IGU7DQogICAgICAgIHAuYWRkRXZlbnRMaXN0ZW5lcih0LCBvLCB7DQogICAgICAgICAgICBwYXNzaXZlOiAhMA0KICAgICAgICB9KSwgciB8fCBNKG4ocC5wYXJlbnROb2RlKSwgdCwgbywgaSksIGkucHVzaChwKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEYoZSwgdCwgbywgaSkgew0KICAgICAgICBvLnVwZGF0ZUJvdW5kID0gaSwgQShlKS5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvLnVwZGF0ZUJvdW5kLCB7DQogICAgICAgICAgICBwYXNzaXZlOiAhMA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHIgPSBuKGUpOw0KICAgICAgICByZXR1cm4gTShyLCAnc2Nyb2xsJywgby51cGRhdGVCb3VuZCwgby5zY3JvbGxQYXJlbnRzKSwgby5zY3JvbGxFbGVtZW50ID0gciwgby5ldmVudHNFbmFibGVkID0gITAsIG8NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBJKCkgew0KICAgICAgICB0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQgfHwgKHRoaXMuc3RhdGUgPSBGKHRoaXMucmVmZXJlbmNlLCB0aGlzLm9wdGlvbnMsIHRoaXMuc3RhdGUsIHRoaXMuc2NoZWR1bGVVcGRhdGUpKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIFIoZSwgdCkgew0KICAgICAgICByZXR1cm4gQShlKS5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0LnVwZGF0ZUJvdW5kKSwgdC5zY3JvbGxQYXJlbnRzLmZvckVhY2goZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgZS5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0LnVwZGF0ZUJvdW5kKQ0KICAgICAgICB9KSwgdC51cGRhdGVCb3VuZCA9IG51bGwsIHQuc2Nyb2xsUGFyZW50cyA9IFtdLCB0LnNjcm9sbEVsZW1lbnQgPSBudWxsLCB0LmV2ZW50c0VuYWJsZWQgPSAhMSwgdA0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIFUoKSB7DQogICAgICAgIHRoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZCAmJiAoY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5zY2hlZHVsZVVwZGF0ZSksIHRoaXMuc3RhdGUgPSBSKHRoaXMucmVmZXJlbmNlLCB0aGlzLnN0YXRlKSkNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBZKGUpIHsNCiAgICAgICAgcmV0dXJuICcnICE9PSBlICYmICFpc05hTihwYXJzZUZsb2F0KGUpKSAmJiBpc0Zpbml0ZShlKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGooZSwgdCkgew0KICAgICAgICBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGZ1bmN0aW9uKG8pIHsNCiAgICAgICAgICAgIHZhciBuID0gJyc7IC0gMSAhPT0gWyd3aWR0aCcsICdoZWlnaHQnLCAndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J10uaW5kZXhPZihvKSAmJiBZKHRbb10pICYmIChuID0gJ3B4JyksIGUuc3R5bGVbb10gPSB0W29dICsgbg0KICAgICAgICB9KQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIFYoZSwgdCkgew0KICAgICAgICBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGZ1bmN0aW9uKG8pIHsNCiAgICAgICAgICAgIHZhciBuID0gdFtvXTsNCiAgICAgICAgICAgICExID09PSBuID8gZS5yZW1vdmVBdHRyaWJ1dGUobykgOiBlLnNldEF0dHJpYnV0ZShvLCB0W29dKQ0KICAgICAgICB9KQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHEoZSwgdCkgew0KICAgICAgICB2YXIgbyA9IGUub2Zmc2V0cywNCiAgICAgICAgICAgIG4gPSBvLnBvcHBlciwNCiAgICAgICAgICAgIGkgPSBvLnJlZmVyZW5jZSwNCiAgICAgICAgICAgIHIgPSAkLA0KICAgICAgICAgICAgcCA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHMgPSByKGkud2lkdGgpLA0KICAgICAgICAgICAgZCA9IHIobi53aWR0aCksDQogICAgICAgICAgICBhID0gLTEgIT09IFsnbGVmdCcsICdyaWdodCddLmluZGV4T2YoZS5wbGFjZW1lbnQpLA0KICAgICAgICAgICAgbCA9IC0xICE9PSBlLnBsYWNlbWVudC5pbmRleE9mKCctJyksDQogICAgICAgICAgICBmID0gdCA/IGEgfHwgbCB8fCBzICUgMiA9PSBkICUgMiA/IHIgOiBaIDogcCwNCiAgICAgICAgICAgIG0gPSB0ID8gciA6IHA7DQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgICBsZWZ0OiBmKDEgPT0gcyAlIDIgJiYgMSA9PSBkICUgMiAmJiAhbCAmJiB0ID8gbi5sZWZ0IC0gMSA6IG4ubGVmdCksDQogICAgICAgICAgICB0b3A6IG0obi50b3ApLA0KICAgICAgICAgICAgYm90dG9tOiBtKG4uYm90dG9tKSwNCiAgICAgICAgICAgIHJpZ2h0OiBmKG4ucmlnaHQpDQogICAgICAgIH0NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBLKGUsIHQsIG8pIHsNCiAgICAgICAgdmFyIG4gPSBDKGUsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgbyA9IGUubmFtZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gbyA9PT0gdA0KICAgICAgICAgICAgfSksDQogICAgICAgICAgICBpID0gISFuICYmIGUuc29tZShmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUubmFtZSA9PT0gbyAmJiBlLmVuYWJsZWQgJiYgZS5vcmRlciA8IG4ub3JkZXINCiAgICAgICAgICAgIH0pOw0KICAgICAgICBpZiAoIWkpIHsNCiAgICAgICAgICAgIHZhciByID0gJ2AnICsgdCArICdgJzsNCiAgICAgICAgICAgIGNvbnNvbGUud2FybignYCcgKyBvICsgJ2AnICsgJyBtb2RpZmllciBpcyByZXF1aXJlZCBieSAnICsgciArICcgbW9kaWZpZXIgaW4gb3JkZXIgdG8gd29yaywgYmUgc3VyZSB0byBpbmNsdWRlIGl0IGJlZm9yZSAnICsgciArICchJykNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gaQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHooZSkgew0KICAgICAgICByZXR1cm4gJ2VuZCcgPT09IGUgPyAnc3RhcnQnIDogJ3N0YXJ0JyA9PT0gZSA/ICdlbmQnIDogZQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEcoZSkgew0KICAgICAgICB2YXIgdCA9IDEgPCBhcmd1bWVudHMubGVuZ3RoICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzFdICYmIGFyZ3VtZW50c1sxXSwNCiAgICAgICAgICAgIG8gPSBjZS5pbmRleE9mKGUpLA0KICAgICAgICAgICAgbiA9IGNlLnNsaWNlKG8gKyAxKS5jb25jYXQoY2Uuc2xpY2UoMCwgbykpOw0KICAgICAgICByZXR1cm4gdCA/IG4ucmV2ZXJzZSgpIDogbg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIF8oZSwgdCwgbywgbikgew0KICAgICAgICB2YXIgaSA9IGUubWF0Y2goLygoPzpcLXxcKyk/XGQqXC4/XGQqKSguKikvKSwNCiAgICAgICAgICAgIHIgPSAraVsxXSwNCiAgICAgICAgICAgIHAgPSBpWzJdOw0KICAgICAgICBpZiAoIXIpIHJldHVybiBlOw0KICAgICAgICBpZiAoMCA9PT0gcC5pbmRleE9mKCclJykpIHsNCiAgICAgICAgICAgIHZhciBzOw0KICAgICAgICAgICAgc3dpdGNoIChwKSB7DQogICAgICAgICAgICAgICAgY2FzZSAnJXAnOg0KICAgICAgICAgICAgICAgICAgICBzID0gbzsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAnJSc6DQogICAgICAgICAgICAgICAgY2FzZSAnJXInOg0KICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICAgICAgICAgIHMgPSBuOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIGQgPSBnKHMpOw0KICAgICAgICAgICAgcmV0dXJuIGRbdF0gLyAxMDAgKiByDQogICAgICAgIH0NCiAgICAgICAgaWYgKCd2aCcgPT09IHAgfHwgJ3Z3JyA9PT0gcCkgew0KICAgICAgICAgICAgdmFyIGE7DQogICAgICAgICAgICByZXR1cm4gYSA9ICd2aCcgPT09IHAgPyBlZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0LCB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgMCkgOiBlZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsIHdpbmRvdy5pbm5lcldpZHRoIHx8IDApLCBhIC8gMTAwICogcg0KICAgICAgICB9DQogICAgICAgIHJldHVybiByDQogICAgfQ0KDQogICAgZnVuY3Rpb24gWChlLCB0LCBvLCBuKSB7DQogICAgICAgIHZhciBpID0gWzAsIDBdLA0KICAgICAgICAgICAgciA9IC0xICE9PSBbJ3JpZ2h0JywgJ2xlZnQnXS5pbmRleE9mKG4pLA0KICAgICAgICAgICAgcCA9IGUuc3BsaXQoLyhcK3xcLSkvKS5tYXAoZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlLnRyaW0oKQ0KICAgICAgICAgICAgfSksDQogICAgICAgICAgICBzID0gcC5pbmRleE9mKEMocCwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiAtMSAhPT0gZS5zZWFyY2goLyx8XHMvKQ0KICAgICAgICAgICAgfSkpOw0KICAgICAgICBwW3NdICYmIC0xID09PSBwW3NdLmluZGV4T2YoJywnKSAmJiBjb25zb2xlLndhcm4oJ09mZnNldHMgc2VwYXJhdGVkIGJ5IHdoaXRlIHNwYWNlKHMpIGFyZSBkZXByZWNhdGVkLCB1c2UgYSBjb21tYSAoLCkgaW5zdGVhZC4nKTsNCiAgICAgICAgdmFyIGQgPSAvXHMqLFxzKnxccysvLA0KICAgICAgICAgICAgYSA9IC0xID09PSBzID8gW3BdIDogW3Auc2xpY2UoMCwgcykuY29uY2F0KFtwW3NdLnNwbGl0KGQpWzBdXSksIFtwW3NdLnNwbGl0KGQpWzFdXS5jb25jYXQocC5zbGljZShzICsgMSkpXTsNCiAgICAgICAgcmV0dXJuIGEgPSBhLm1hcChmdW5jdGlvbihlLCBuKSB7DQogICAgICAgICAgICB2YXIgaSA9ICgxID09PSBuID8gIXIgOiByKSA/ICdoZWlnaHQnIDogJ3dpZHRoJywNCiAgICAgICAgICAgICAgICBwID0gITE7DQogICAgICAgICAgICByZXR1cm4gZS5yZWR1Y2UoZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAnJyA9PT0gZVtlLmxlbmd0aCAtIDFdICYmIC0xICE9PSBbJysnLCAnLSddLmluZGV4T2YodCkgPyAoZVtlLmxlbmd0aCAtIDFdID0gdCwgcCA9ICEwLCBlKSA6IHAgPyAoZVtlLmxlbmd0aCAtIDFdICs9IHQsIHAgPSAhMSwgZSkgOiBlLmNvbmNhdCh0KQ0KICAgICAgICAgICAgfSwgW10pLm1hcChmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIF8oZSwgaSwgdCwgbykNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0pLCBhLmZvckVhY2goZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgZS5mb3JFYWNoKGZ1bmN0aW9uKG8sIG4pIHsNCiAgICAgICAgICAgICAgICBZKG8pICYmIChpW3RdICs9IG8gKiAoJy0nID09PSBlW24gLSAxXSA/IC0xIDogMSkpDQogICAgICAgICAgICB9KQ0KICAgICAgICB9KSwgaQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIEooZSwgdCkgew0KICAgICAgICB2YXIgbywgbiA9IHQub2Zmc2V0LA0KICAgICAgICAgICAgaSA9IGUucGxhY2VtZW50LA0KICAgICAgICAgICAgciA9IGUub2Zmc2V0cywNCiAgICAgICAgICAgIHAgPSByLnBvcHBlciwNCiAgICAgICAgICAgIHMgPSByLnJlZmVyZW5jZSwNCiAgICAgICAgICAgIGQgPSBpLnNwbGl0KCctJylbMF07DQogICAgICAgIHJldHVybiBvID0gWSgrbikgPyBbK24sIDBdIDogWChuLCBwLCBzLCBkKSwgJ2xlZnQnID09PSBkID8gKHAudG9wICs9IG9bMF0sIHAubGVmdCAtPSBvWzFdKSA6ICdyaWdodCcgPT09IGQgPyAocC50b3AgKz0gb1swXSwgcC5sZWZ0ICs9IG9bMV0pIDogJ3RvcCcgPT09IGQgPyAocC5sZWZ0ICs9IG9bMF0sIHAudG9wIC09IG9bMV0pIDogJ2JvdHRvbScgPT09IGQgJiYgKHAubGVmdCArPSBvWzBdLCBwLnRvcCArPSBvWzFdKSwgZS5wb3BwZXIgPSBwLCBlDQogICAgfQ0KICAgIGZvciAodmFyIFEgPSBNYXRoLm1pbiwgWiA9IE1hdGguZmxvb3IsICQgPSBNYXRoLnJvdW5kLCBlZSA9IE1hdGgubWF4LCB0ZSA9ICd1bmRlZmluZWQnICE9IHR5cGVvZiB3aW5kb3cgJiYgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIGRvY3VtZW50LCBvZSA9IFsnRWRnZScsICdUcmlkZW50JywgJ0ZpcmVmb3gnXSwgbmUgPSAwLCBpZSA9IDA7IGllIDwgb2UubGVuZ3RoOyBpZSArPSAxKQ0KICAgICAgICBpZiAodGUgJiYgMCA8PSBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2Yob2VbaWVdKSkgew0KICAgICAgICAgICAgbmUgPSAxOw0KICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgfQ0KICAgIHZhciBpID0gdGUgJiYgd2luZG93LlByb21pc2UsDQogICAgICAgIHJlID0gaSA/IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHZhciB0ID0gITE7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdCB8fCAodCA9ICEwLCB3aW5kb3cuUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdCA9ICExLCBlKCkNCiAgICAgICAgICAgICAgICB9KSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSA6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHZhciB0ID0gITE7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdCB8fCAodCA9ICEwLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB0ID0gITEsIGUoKQ0KICAgICAgICAgICAgICAgIH0sIG5lKSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgcGUgPSB0ZSAmJiAhISh3aW5kb3cuTVNJbnB1dE1ldGhvZENvbnRleHQgJiYgZG9jdW1lbnQuZG9jdW1lbnRNb2RlKSwNCiAgICAgICAgc2UgPSB0ZSAmJiAvTVNJRSAxMC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSwNCiAgICAgICAgZGUgPSBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICBpZiAoIShlIGluc3RhbmNlb2YgdCkpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbicpDQogICAgICAgIH0sDQogICAgICAgIGFlID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBlKGUsIHQpIHsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciBvLCBuID0gMDsgbiA8IHQubGVuZ3RoOyBuKyspIG8gPSB0W25dLCBvLmVudW1lcmFibGUgPSBvLmVudW1lcmFibGUgfHwgITEsIG8uY29uZmlndXJhYmxlID0gITAsICd2YWx1ZScgaW4gbyAmJiAoby53cml0YWJsZSA9ICEwKSwgT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIG8ua2V5LCBvKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHQsIG8sIG4pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gbyAmJiBlKHQucHJvdG90eXBlLCBvKSwgbiAmJiBlKHQsIG4pLCB0DQogICAgICAgICAgICB9DQogICAgICAgIH0oKSwNCiAgICAgICAgbGUgPSBmdW5jdGlvbihlLCB0LCBvKSB7DQogICAgICAgICAgICByZXR1cm4gdCBpbiBlID8gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIHQsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogbywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAhMCwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAhMA0KICAgICAgICAgICAgfSkgOiBlW3RdID0gbywgZQ0KICAgICAgICB9LA0KICAgICAgICBmZSA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgZm9yICh2YXIgdCwgbyA9IDE7IG8gPCBhcmd1bWVudHMubGVuZ3RoOyBvKyspDQogICAgICAgICAgICAgICAgZm9yICh2YXIgbiBpbiB0ID0gYXJndW1lbnRzW29dLCB0KSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwgbikgJiYgKGVbbl0gPSB0W25dKTsNCiAgICAgICAgICAgIHJldHVybiBlDQogICAgICAgIH0sDQogICAgICAgIG1lID0gdGUgJiYgL0ZpcmVmb3gvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLA0KICAgICAgICBoZSA9IFsnYXV0by1zdGFydCcsICdhdXRvJywgJ2F1dG8tZW5kJywgJ3RvcC1zdGFydCcsICd0b3AnLCAndG9wLWVuZCcsICdyaWdodC1zdGFydCcsICdyaWdodCcsICdyaWdodC1lbmQnLCAnYm90dG9tLWVuZCcsICdib3R0b20nLCAnYm90dG9tLXN0YXJ0JywgJ2xlZnQtZW5kJywgJ2xlZnQnLCAnbGVmdC1zdGFydCddLA0KICAgICAgICBjZSA9IGhlLnNsaWNlKDMpLA0KICAgICAgICBnZSA9IHsNCiAgICAgICAgICAgIEZMSVA6ICdmbGlwJywNCiAgICAgICAgICAgIENMT0NLV0lTRTogJ2Nsb2Nrd2lzZScsDQogICAgICAgICAgICBDT1VOVEVSQ0xPQ0tXSVNFOiAnY291bnRlcmNsb2Nrd2lzZScNCiAgICAgICAgfSwNCiAgICAgICAgdWUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHQobywgbikgew0KICAgICAgICAgICAgICAgIHZhciBpID0gdGhpcywNCiAgICAgICAgICAgICAgICAgICAgciA9IDIgPCBhcmd1bWVudHMubGVuZ3RoICYmIHZvaWQgMCAhPT0gYXJndW1lbnRzWzJdID8gYXJndW1lbnRzWzJdIDoge307DQogICAgICAgICAgICAgICAgZGUodGhpcywgdCksIHRoaXMuc2NoZWR1bGVVcGRhdGUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShpLnVwZGF0ZSkNCiAgICAgICAgICAgICAgICB9LCB0aGlzLnVwZGF0ZSA9IHJlKHRoaXMudXBkYXRlLmJpbmQodGhpcykpLCB0aGlzLm9wdGlvbnMgPSBmZSh7fSwgdC5EZWZhdWx0cywgciksIHRoaXMuc3RhdGUgPSB7DQogICAgICAgICAgICAgICAgICAgIGlzRGVzdHJveWVkOiAhMSwNCiAgICAgICAgICAgICAgICAgICAgaXNDcmVhdGVkOiAhMSwNCiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsUGFyZW50czogW10NCiAgICAgICAgICAgICAgICB9LCB0aGlzLnJlZmVyZW5jZSA9IG8gJiYgby5qcXVlcnkgPyBvWzBdIDogbywgdGhpcy5wb3BwZXIgPSBuICYmIG4uanF1ZXJ5ID8gblswXSA6IG4sIHRoaXMub3B0aW9ucy5tb2RpZmllcnMgPSB7fSwgT2JqZWN0LmtleXMoZmUoe30sIHQuRGVmYXVsdHMubW9kaWZpZXJzLCByLm1vZGlmaWVycykpLmZvckVhY2goZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICBpLm9wdGlvbnMubW9kaWZpZXJzW2VdID0gZmUoe30sIHQuRGVmYXVsdHMubW9kaWZpZXJzW2VdIHx8IHt9LCByLm1vZGlmaWVycyA/IHIubW9kaWZpZXJzW2VdIDoge30pDQogICAgICAgICAgICAgICAgfSksIHRoaXMubW9kaWZpZXJzID0gT2JqZWN0LmtleXModGhpcy5vcHRpb25zLm1vZGlmaWVycykubWFwKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGUNCiAgICAgICAgICAgICAgICAgICAgfSwgaS5vcHRpb25zLm1vZGlmaWVyc1tlXSkNCiAgICAgICAgICAgICAgICB9KS5zb3J0KGZ1bmN0aW9uKGUsIHQpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUub3JkZXIgLSB0Lm9yZGVyDQogICAgICAgICAgICAgICAgfSksIHRoaXMubW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICB0LmVuYWJsZWQgJiYgZSh0Lm9uTG9hZCkgJiYgdC5vbkxvYWQoaS5yZWZlcmVuY2UsIGkucG9wcGVyLCBpLm9wdGlvbnMsIHQsIGkuc3RhdGUpDQogICAgICAgICAgICAgICAgfSksIHRoaXMudXBkYXRlKCk7DQogICAgICAgICAgICAgICAgdmFyIHAgPSB0aGlzLm9wdGlvbnMuZXZlbnRzRW5hYmxlZDsNCiAgICAgICAgICAgICAgICBwICYmIHRoaXMuZW5hYmxlRXZlbnRMaXN0ZW5lcnMoKSwgdGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkID0gcA0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFlKHQsIFt7DQogICAgICAgICAgICAgICAga2V5OiAndXBkYXRlJywNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrLmNhbGwodGhpcykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAnZGVzdHJveScsDQogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gQi5jYWxsKHRoaXMpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogJ2VuYWJsZUV2ZW50TGlzdGVuZXJzJywNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBJLmNhbGwodGhpcykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAnZGlzYWJsZUV2ZW50TGlzdGVuZXJzJywNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBVLmNhbGwodGhpcykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9XSksIHQNCiAgICAgICAgfSgpOw0KICAgIHJldHVybiB1ZS5VdGlscyA9ICgndW5kZWZpbmVkJyA9PSB0eXBlb2Ygd2luZG93ID8gZ2xvYmFsIDogd2luZG93KS5Qb3BwZXJVdGlscywgdWUucGxhY2VtZW50cyA9IGhlLCB1ZS5EZWZhdWx0cyA9IHsNCiAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJywNCiAgICAgICAgcG9zaXRpb25GaXhlZDogITEsDQogICAgICAgIGV2ZW50c0VuYWJsZWQ6ICEwLA0KICAgICAgICByZW1vdmVPbkRlc3Ryb3k6ICExLA0KICAgICAgICBvbkNyZWF0ZTogZnVuY3Rpb24oKSB7fSwNCiAgICAgICAgb25VcGRhdGU6IGZ1bmN0aW9uKCkge30sDQogICAgICAgIG1vZGlmaWVyczogew0KICAgICAgICAgICAgc2hpZnQ6IHsNCiAgICAgICAgICAgICAgICBvcmRlcjogMTAwLA0KICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLA0KICAgICAgICAgICAgICAgIGZuOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZS5wbGFjZW1lbnQsDQogICAgICAgICAgICAgICAgICAgICAgICBvID0gdC5zcGxpdCgnLScpWzBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHQuc3BsaXQoJy0nKVsxXTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKG4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpID0gZS5vZmZzZXRzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBpLnJlZmVyZW5jZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID0gaS5wb3BwZXIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcyA9IC0xICE9PSBbJ2JvdHRvbScsICd0b3AnXS5pbmRleE9mKG8pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQgPSBzID8gJ2xlZnQnIDogJ3RvcCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYSA9IHMgPyAnd2lkdGgnIDogJ2hlaWdodCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbCA9IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGxlKHt9LCBkLCByW2RdKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBsZSh7fSwgZCwgcltkXSArIHJbYV0gLSBwW2FdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgICAgICAgICBlLm9mZnNldHMucG9wcGVyID0gZmUoe30sIHAsIGxbbl0pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgb2Zmc2V0OiB7DQogICAgICAgICAgICAgICAgb3JkZXI6IDIwMCwNCiAgICAgICAgICAgICAgICBlbmFibGVkOiAhMCwNCiAgICAgICAgICAgICAgICBmbjogSiwNCiAgICAgICAgICAgICAgICBvZmZzZXQ6IDANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBwcmV2ZW50T3ZlcmZsb3c6IHsNCiAgICAgICAgICAgICAgICBvcmRlcjogMzAwLA0KICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLA0KICAgICAgICAgICAgICAgIGZuOiBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBvID0gdC5ib3VuZGFyaWVzRWxlbWVudCB8fCBwKGUuaW5zdGFuY2UucG9wcGVyKTsNCiAgICAgICAgICAgICAgICAgICAgZS5pbnN0YW5jZS5yZWZlcmVuY2UgPT09IG8gJiYgKG8gPSBwKG8pKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBIKCd0cmFuc2Zvcm0nKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBlLmluc3RhbmNlLnBvcHBlci5zdHlsZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBpLnRvcCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBpLmxlZnQsDQogICAgICAgICAgICAgICAgICAgICAgICBkID0gaVtuXTsNCiAgICAgICAgICAgICAgICAgICAgaS50b3AgPSAnJywgaS5sZWZ0ID0gJycsIGlbbl0gPSAnJzsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSB2KGUuaW5zdGFuY2UucG9wcGVyLCBlLmluc3RhbmNlLnJlZmVyZW5jZSwgdC5wYWRkaW5nLCBvLCBlLnBvc2l0aW9uRml4ZWQpOw0KICAgICAgICAgICAgICAgICAgICBpLnRvcCA9IHIsIGkubGVmdCA9IHMsIGlbbl0gPSBkLCB0LmJvdW5kYXJpZXMgPSBhOw0KICAgICAgICAgICAgICAgICAgICB2YXIgbCA9IHQucHJpb3JpdHksDQogICAgICAgICAgICAgICAgICAgICAgICBmID0gZS5vZmZzZXRzLnBvcHBlciwNCiAgICAgICAgICAgICAgICAgICAgICAgIG0gPSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbyA9IGZbZV07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmW2VdIDwgYVtlXSAmJiAhdC5lc2NhcGVXaXRoUmVmZXJlbmNlICYmIChvID0gZWUoZltlXSwgYVtlXSkpLCBsZSh7fSwgZSwgbykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbyA9ICdyaWdodCcgPT09IGUgPyAnbGVmdCcgOiAndG9wJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4gPSBmW29dOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZltlXSA+IGFbZV0gJiYgIXQuZXNjYXBlV2l0aFJlZmVyZW5jZSAmJiAobiA9IFEoZltvXSwgYVtlXSAtICgncmlnaHQnID09PSBlID8gZi53aWR0aCA6IGYuaGVpZ2h0KSkpLCBsZSh7fSwgbywgbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbC5mb3JFYWNoKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gLTEgPT09IFsnbGVmdCcsICd0b3AnXS5pbmRleE9mKGUpID8gJ3NlY29uZGFyeScgOiAncHJpbWFyeSc7DQogICAgICAgICAgICAgICAgICAgICAgICBmID0gZmUoe30sIGYsIG1bdF0oZSkpDQogICAgICAgICAgICAgICAgICAgIH0pLCBlLm9mZnNldHMucG9wcGVyID0gZiwgZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgcHJpb3JpdHk6IFsnbGVmdCcsICdyaWdodCcsICd0b3AnLCAnYm90dG9tJ10sDQogICAgICAgICAgICAgICAgcGFkZGluZzogNSwNCiAgICAgICAgICAgICAgICBib3VuZGFyaWVzRWxlbWVudDogJ3Njcm9sbFBhcmVudCcNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBrZWVwVG9nZXRoZXI6IHsNCiAgICAgICAgICAgICAgICBvcmRlcjogNDAwLA0KICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLA0KICAgICAgICAgICAgICAgIGZuOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZS5vZmZzZXRzLA0KICAgICAgICAgICAgICAgICAgICAgICAgbyA9IHQucG9wcGVyLA0KICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHQucmVmZXJlbmNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGUucGxhY2VtZW50LnNwbGl0KCctJylbMF0sDQogICAgICAgICAgICAgICAgICAgICAgICByID0gWiwNCiAgICAgICAgICAgICAgICAgICAgICAgIHAgPSAtMSAhPT0gWyd0b3AnLCAnYm90dG9tJ10uaW5kZXhPZihpKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBwID8gJ3JpZ2h0JyA6ICdib3R0b20nLA0KICAgICAgICAgICAgICAgICAgICAgICAgZCA9IHAgPyAnbGVmdCcgOiAndG9wJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBwID8gJ3dpZHRoJyA6ICdoZWlnaHQnOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gb1tzXSA8IHIobltkXSkgJiYgKGUub2Zmc2V0cy5wb3BwZXJbZF0gPSByKG5bZF0pIC0gb1thXSksIG9bZF0gPiByKG5bc10pICYmIChlLm9mZnNldHMucG9wcGVyW2RdID0gcihuW3NdKSksIGUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYXJyb3c6IHsNCiAgICAgICAgICAgICAgICBvcmRlcjogNTAwLA0KICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLA0KICAgICAgICAgICAgICAgIGZuOiBmdW5jdGlvbihlLCBvKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBuOw0KICAgICAgICAgICAgICAgICAgICBpZiAoIUsoZS5pbnN0YW5jZS5tb2RpZmllcnMsICdhcnJvdycsICdrZWVwVG9nZXRoZXInKSkgcmV0dXJuIGU7DQogICAgICAgICAgICAgICAgICAgIHZhciBpID0gby5lbGVtZW50Ow0KICAgICAgICAgICAgICAgICAgICBpZiAoJ3N0cmluZycgPT0gdHlwZW9mIGkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID0gZS5pbnN0YW5jZS5wb3BwZXIucXVlcnlTZWxlY3RvcihpKSwgIWkpIHJldHVybiBlOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFlLmluc3RhbmNlLnBvcHBlci5jb250YWlucyhpKSkgcmV0dXJuIGNvbnNvbGUud2FybignV0FSTklORzogYGFycm93LmVsZW1lbnRgIG11c3QgYmUgY2hpbGQgb2YgaXRzIHBvcHBlciBlbGVtZW50IScpLCBlOw0KICAgICAgICAgICAgICAgICAgICB2YXIgciA9IGUucGxhY2VtZW50LnNwbGl0KCctJylbMF0sDQogICAgICAgICAgICAgICAgICAgICAgICBwID0gZS5vZmZzZXRzLA0KICAgICAgICAgICAgICAgICAgICAgICAgcyA9IHAucG9wcGVyLA0KICAgICAgICAgICAgICAgICAgICAgICAgZCA9IHAucmVmZXJlbmNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgYSA9IC0xICE9PSBbJ2xlZnQnLCAncmlnaHQnXS5pbmRleE9mKHIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgbCA9IGEgPyAnaGVpZ2h0JyA6ICd3aWR0aCcsDQogICAgICAgICAgICAgICAgICAgICAgICBmID0gYSA/ICdUb3AnIDogJ0xlZnQnLA0KICAgICAgICAgICAgICAgICAgICAgICAgbSA9IGYudG9Mb3dlckNhc2UoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGggPSBhID8gJ2xlZnQnIDogJ3RvcCcsDQogICAgICAgICAgICAgICAgICAgICAgICBjID0gYSA/ICdib3R0b20nIDogJ3JpZ2h0JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHUgPSBTKGkpW2xdOw0KICAgICAgICAgICAgICAgICAgICBkW2NdIC0gdSA8IHNbbV0gJiYgKGUub2Zmc2V0cy5wb3BwZXJbbV0gLT0gc1ttXSAtIChkW2NdIC0gdSkpLCBkW21dICsgdSA+IHNbY10gJiYgKGUub2Zmc2V0cy5wb3BwZXJbbV0gKz0gZFttXSArIHUgLSBzW2NdKSwgZS5vZmZzZXRzLnBvcHBlciA9IGcoZS5vZmZzZXRzLnBvcHBlcik7DQogICAgICAgICAgICAgICAgICAgIHZhciBiID0gZFttXSArIGRbbF0gLyAyIC0gdSAvIDIsDQogICAgICAgICAgICAgICAgICAgICAgICB3ID0gdChlLmluc3RhbmNlLnBvcHBlciksDQogICAgICAgICAgICAgICAgICAgICAgICB5ID0gcGFyc2VGbG9hdCh3WydtYXJnaW4nICsgZl0sIDEwKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIEUgPSBwYXJzZUZsb2F0KHdbJ2JvcmRlcicgKyBmICsgJ1dpZHRoJ10sIDEwKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHYgPSBiIC0gZS5vZmZzZXRzLnBvcHBlclttXSAtIHkgLSBFOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdiA9IGVlKFEoc1tsXSAtIHUsIHYpLCAwKSwgZS5hcnJvd0VsZW1lbnQgPSBpLCBlLm9mZnNldHMuYXJyb3cgPSAobiA9IHt9LCBsZShuLCBtLCAkKHYpKSwgbGUobiwgaCwgJycpLCBuKSwgZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZWxlbWVudDogJ1t4LWFycm93XScNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBmbGlwOiB7DQogICAgICAgICAgICAgICAgb3JkZXI6IDYwMCwNCiAgICAgICAgICAgICAgICBlbmFibGVkOiAhMCwNCiAgICAgICAgICAgICAgICBmbjogZnVuY3Rpb24oZSwgdCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoVyhlLmluc3RhbmNlLm1vZGlmaWVycywgJ2lubmVyJykpIHJldHVybiBlOw0KICAgICAgICAgICAgICAgICAgICBpZiAoZS5mbGlwcGVkICYmIGUucGxhY2VtZW50ID09PSBlLm9yaWdpbmFsUGxhY2VtZW50KSByZXR1cm4gZTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSB2KGUuaW5zdGFuY2UucG9wcGVyLCBlLmluc3RhbmNlLnJlZmVyZW5jZSwgdC5wYWRkaW5nLCB0LmJvdW5kYXJpZXNFbGVtZW50LCBlLnBvc2l0aW9uRml4ZWQpLA0KICAgICAgICAgICAgICAgICAgICAgICAgbiA9IGUucGxhY2VtZW50LnNwbGl0KCctJylbMF0sDQogICAgICAgICAgICAgICAgICAgICAgICBpID0gVChuKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBlLnBsYWNlbWVudC5zcGxpdCgnLScpWzFdIHx8ICcnLA0KICAgICAgICAgICAgICAgICAgICAgICAgcCA9IFtdOw0KICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHQuYmVoYXZpb3IpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgZ2UuRkxJUDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID0gW24sIGldOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBnZS5DTE9DS1dJU0U6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcCA9IEcobik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICBjYXNlIGdlLkNPVU5URVJDTE9DS1dJU0U6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcCA9IEcobiwgITApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID0gdC5iZWhhdmlvcjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gcC5mb3JFYWNoKGZ1bmN0aW9uKHMsIGQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuICE9PSBzIHx8IHAubGVuZ3RoID09PSBkICsgMSkgcmV0dXJuIGU7DQogICAgICAgICAgICAgICAgICAgICAgICBuID0gZS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXSwgaSA9IFQobik7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgYSA9IGUub2Zmc2V0cy5wb3BwZXIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbCA9IGUub2Zmc2V0cy5yZWZlcmVuY2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZiA9IFosDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbSA9ICdsZWZ0JyA9PT0gbiAmJiBmKGEucmlnaHQpID4gZihsLmxlZnQpIHx8ICdyaWdodCcgPT09IG4gJiYgZihhLmxlZnQpIDwgZihsLnJpZ2h0KSB8fCAndG9wJyA9PT0gbiAmJiBmKGEuYm90dG9tKSA+IGYobC50b3ApIHx8ICdib3R0b20nID09PSBuICYmIGYoYS50b3ApIDwgZihsLmJvdHRvbSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaCA9IGYoYS5sZWZ0KSA8IGYoby5sZWZ0KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjID0gZihhLnJpZ2h0KSA+IGYoby5yaWdodCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZyA9IGYoYS50b3ApIDwgZihvLnRvcCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdSA9IGYoYS5ib3R0b20pID4gZihvLmJvdHRvbSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYiA9ICdsZWZ0JyA9PT0gbiAmJiBoIHx8ICdyaWdodCcgPT09IG4gJiYgYyB8fCAndG9wJyA9PT0gbiAmJiBnIHx8ICdib3R0b20nID09PSBuICYmIHUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdyA9IC0xICE9PSBbJ3RvcCcsICdib3R0b20nXS5pbmRleE9mKG4pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkgPSAhIXQuZmxpcFZhcmlhdGlvbnMgJiYgKHcgJiYgJ3N0YXJ0JyA9PT0gciAmJiBoIHx8IHcgJiYgJ2VuZCcgPT09IHIgJiYgYyB8fCAhdyAmJiAnc3RhcnQnID09PSByICYmIGcgfHwgIXcgJiYgJ2VuZCcgPT09IHIgJiYgdSk7DQogICAgICAgICAgICAgICAgICAgICAgICAobSB8fCBiIHx8IHkpICYmIChlLmZsaXBwZWQgPSAhMCwgKG0gfHwgYikgJiYgKG4gPSBwW2QgKyAxXSksIHkgJiYgKHIgPSB6KHIpKSwgZS5wbGFjZW1lbnQgPSBuICsgKHIgPyAnLScgKyByIDogJycpLCBlLm9mZnNldHMucG9wcGVyID0gZmUoe30sIGUub2Zmc2V0cy5wb3BwZXIsIEQoZS5pbnN0YW5jZS5wb3BwZXIsIGUub2Zmc2V0cy5yZWZlcmVuY2UsIGUucGxhY2VtZW50KSksIGUgPSBQKGUuaW5zdGFuY2UubW9kaWZpZXJzLCBlLCAnZmxpcCcpKQ0KICAgICAgICAgICAgICAgICAgICB9KSwgZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdmbGlwJywNCiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1LA0KICAgICAgICAgICAgICAgIGJvdW5kYXJpZXNFbGVtZW50OiAndmlld3BvcnQnDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgaW5uZXI6IHsNCiAgICAgICAgICAgICAgICBvcmRlcjogNzAwLA0KICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICExLA0KICAgICAgICAgICAgICAgIGZuOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZS5wbGFjZW1lbnQsDQogICAgICAgICAgICAgICAgICAgICAgICBvID0gdC5zcGxpdCgnLScpWzBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgbiA9IGUub2Zmc2V0cywNCiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBuLnBvcHBlciwNCiAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBuLnJlZmVyZW5jZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHAgPSAtMSAhPT0gWydsZWZ0JywgJ3JpZ2h0J10uaW5kZXhPZihvKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHMgPSAtMSA9PT0gWyd0b3AnLCAnbGVmdCddLmluZGV4T2Yobyk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBpW3AgPyAnbGVmdCcgOiAndG9wJ10gPSByW29dIC0gKHMgPyBpW3AgPyAnd2lkdGgnIDogJ2hlaWdodCddIDogMCksIGUucGxhY2VtZW50ID0gVCh0KSwgZS5vZmZzZXRzLnBvcHBlciA9IGcoaSksIGUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgaGlkZTogew0KICAgICAgICAgICAgICAgIG9yZGVyOiA4MDAsDQogICAgICAgICAgICAgICAgZW5hYmxlZDogITAsDQogICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCFLKGUuaW5zdGFuY2UubW9kaWZpZXJzLCAnaGlkZScsICdwcmV2ZW50T3ZlcmZsb3cnKSkgcmV0dXJuIGU7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZS5vZmZzZXRzLnJlZmVyZW5jZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBDKGUuaW5zdGFuY2UubW9kaWZpZXJzLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdwcmV2ZW50T3ZlcmZsb3cnID09PSBlLm5hbWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmJvdW5kYXJpZXM7DQogICAgICAgICAgICAgICAgICAgIGlmICh0LmJvdHRvbSA8IG8udG9wIHx8IHQubGVmdCA+IG8ucmlnaHQgfHwgdC50b3AgPiBvLmJvdHRvbSB8fCB0LnJpZ2h0IDwgby5sZWZ0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoITAgPT09IGUuaGlkZSkgcmV0dXJuIGU7DQogICAgICAgICAgICAgICAgICAgICAgICBlLmhpZGUgPSAhMCwgZS5hdHRyaWJ1dGVzWyd4LW91dC1vZi1ib3VuZGFyaWVzJ10gPSAnJw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCExID09PSBlLmhpZGUpIHJldHVybiBlOw0KICAgICAgICAgICAgICAgICAgICAgICAgZS5oaWRlID0gITEsIGUuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddID0gITENCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb21wdXRlU3R5bGU6IHsNCiAgICAgICAgICAgICAgICBvcmRlcjogODUwLA0KICAgICAgICAgICAgICAgIGVuYWJsZWQ6ICEwLA0KICAgICAgICAgICAgICAgIGZuOiBmdW5jdGlvbihlLCB0KSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBvID0gdC54LA0KICAgICAgICAgICAgICAgICAgICAgICAgbiA9IHQueSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBlLm9mZnNldHMucG9wcGVyLA0KICAgICAgICAgICAgICAgICAgICAgICAgciA9IEMoZS5pbnN0YW5jZS5tb2RpZmllcnMsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2FwcGx5U3R5bGUnID09PSBlLm5hbWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmdwdUFjY2VsZXJhdGlvbjsNCiAgICAgICAgICAgICAgICAgICAgdm9pZCAwICE9PSByICYmIGNvbnNvbGUud2FybignV0FSTklORzogYGdwdUFjY2VsZXJhdGlvbmAgb3B0aW9uIG1vdmVkIHRvIGBjb21wdXRlU3R5bGVgIG1vZGlmaWVyIGFuZCB3aWxsIG5vdCBiZSBzdXBwb3J0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFBvcHBlci5qcyEnKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHMsIGQsIGEgPSB2b2lkIDAgPT09IHIgPyB0LmdwdUFjY2VsZXJhdGlvbiA6IHIsDQogICAgICAgICAgICAgICAgICAgICAgICBsID0gcChlLmluc3RhbmNlLnBvcHBlciksDQogICAgICAgICAgICAgICAgICAgICAgICBmID0gdShsKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG0gPSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGkucG9zaXRpb24NCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBoID0gcShlLCAyID4gd2luZG93LmRldmljZVBpeGVsUmF0aW8gfHwgIW1lKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGMgPSAnYm90dG9tJyA9PT0gbyA/ICd0b3AnIDogJ2JvdHRvbScsDQogICAgICAgICAgICAgICAgICAgICAgICBnID0gJ3JpZ2h0JyA9PT0gbiA/ICdsZWZ0JyA6ICdyaWdodCcsDQogICAgICAgICAgICAgICAgICAgICAgICBiID0gSCgndHJhbnNmb3JtJyk7DQogICAgICAgICAgICAgICAgICAgIGlmIChkID0gJ2JvdHRvbScgPT0gYyA/ICdIVE1MJyA9PT0gbC5ub2RlTmFtZSA/IC1sLmNsaWVudEhlaWdodCArIGguYm90dG9tIDogLWYuaGVpZ2h0ICsgaC5ib3R0b20gOiBoLnRvcCwgcyA9ICdyaWdodCcgPT0gZyA/ICdIVE1MJyA9PT0gbC5ub2RlTmFtZSA/IC1sLmNsaWVudFdpZHRoICsgaC5yaWdodCA6IC1mLndpZHRoICsgaC5yaWdodCA6IGgubGVmdCwgYSAmJiBiKSBtW2JdID0gJ3RyYW5zbGF0ZTNkKCcgKyBzICsgJ3B4LCAnICsgZCArICdweCwgMCknLCBtW2NdID0gMCwgbVtnXSA9IDAsIG0ud2lsbENoYW5nZSA9ICd0cmFuc2Zvcm0nOw0KICAgICAgICAgICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3ID0gJ2JvdHRvbScgPT0gYyA/IC0xIDogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ID0gJ3JpZ2h0JyA9PSBnID8gLTEgOiAxOw0KICAgICAgICAgICAgICAgICAgICAgICAgbVtjXSA9IGQgKiB3LCBtW2ddID0gcyAqIHksIG0ud2lsbENoYW5nZSA9IGMgKyAnLCAnICsgZw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIHZhciBFID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgIngtcGxhY2VtZW50IjogZS5wbGFjZW1lbnQNCiAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuYXR0cmlidXRlcyA9IGZlKHt9LCBFLCBlLmF0dHJpYnV0ZXMpLCBlLnN0eWxlcyA9IGZlKHt9LCBtLCBlLnN0eWxlcyksIGUuYXJyb3dTdHlsZXMgPSBmZSh7fSwgZS5vZmZzZXRzLmFycm93LCBlLmFycm93U3R5bGVzKSwgZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZ3B1QWNjZWxlcmF0aW9uOiAhMCwNCiAgICAgICAgICAgICAgICB4OiAnYm90dG9tJywNCiAgICAgICAgICAgICAgICB5OiAncmlnaHQnDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYXBwbHlTdHlsZTogew0KICAgICAgICAgICAgICAgIG9yZGVyOiA5MDAsDQogICAgICAgICAgICAgICAgZW5hYmxlZDogITAsDQogICAgICAgICAgICAgICAgZm46IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGooZS5pbnN0YW5jZS5wb3BwZXIsIGUuc3R5bGVzKSwgVihlLmluc3RhbmNlLnBvcHBlciwgZS5hdHRyaWJ1dGVzKSwgZS5hcnJvd0VsZW1lbnQgJiYgT2JqZWN0LmtleXMoZS5hcnJvd1N0eWxlcykubGVuZ3RoICYmIGooZS5hcnJvd0VsZW1lbnQsIGUuYXJyb3dTdHlsZXMpLCBlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBvbkxvYWQ6IGZ1bmN0aW9uKGUsIHQsIG8sIG4sIGkpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHIgPSBMKGksIHQsIGUsIG8ucG9zaXRpb25GaXhlZCksDQogICAgICAgICAgICAgICAgICAgICAgICBwID0gTyhvLnBsYWNlbWVudCwgciwgdCwgZSwgby5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCwgby5tb2RpZmllcnMuZmxpcC5wYWRkaW5nKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQuc2V0QXR0cmlidXRlKCd4LXBsYWNlbWVudCcsIHApLCBqKHQsIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBvLnBvc2l0aW9uRml4ZWQgPyAnZml4ZWQnIDogJ2Fic29sdXRlJw0KICAgICAgICAgICAgICAgICAgICB9KSwgbw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZ3B1QWNjZWxlcmF0aW9uOiB2b2lkIDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0sIHVlDQp9KTs="}},"time_used":501,"timings":{"blocked":315,"dns":0,"connect":0,"send":0,"wait":93,"receive":93,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/css/bootstrap.min.css","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.477Z","timestamp":1785136899477,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /css/bootstrap.min.css HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/css\r\nContent-Length: 213764\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":213764,"size_decoded":213975,"mime_type":"text/css","magic":"ASCII text, with very long lines (566), with CRLF line terminators","md5":"b2cfe21e4903d4fc9ee508a459d01b72","sha1":"b07a6fd1f60f16ca9e32aed65e7b71ffe9630211","sha256":"7baa314363c5e78d92493667f8707378a875de142358168cce0c7a8523870d62","sha512":"6495627f4462ff93f8f86d8a584114dd58edd5b1c7acb16b828909d00a7bc021711cbc9de8e007946c6f5c928b8131eddccc70de8667c061a5f7f1da8d67b4cf","ssdeep":"1536:BQLz5JZGAN8eO9tgFrocYU7R8cMdd3jN0oE5aQFCHiv00EOR3rXP1bJG3xKJBIrE:mwE8e9n8G6uLBwupgBregZrE","tlshash":"9f24551ae95121065973cb7c53e17765ffba0167ca0186aa7ede73008ff97d08922e8c","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-07-27T12:35:10.443381Z","times_seen":60,"resource_available":false,"data":"LyohDQogKiBCb290c3RyYXAgdjQuMy4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKQ0KICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUaGUgQm9vdHN0cmFwIEF1dGhvcnMNCiAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLg0KICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSkNCiAqLw0KDQo6cm9vdCB7DQogICAgLS1ibHVlOiAjMDA3YmZmOw0KICAgIC0taW5kaWdvOiAjNjYxMGYyOw0KICAgIC0tcHVycGxlOiAjNmY0MmMxOw0KICAgIC0tcGluazogI2U4M2U4YzsNCiAgICAtLXJlZDogI2RjMzU0NTsNCiAgICAtLW9yYW5nZTogI2ZkN2UxNDsNCiAgICAtLXllbGxvdzogI2ZmYzEwNzsNCiAgICAtLWdyZWVuOiAjMjhhNzQ1Ow0KICAgIC0tdGVhbDogIzIwYzk5NzsNCiAgICAtLWN5YW46ICMxN2EyYjg7DQogICAgLS13aGl0ZTogI2ZmZjsNCiAgICAtLWdyYXk6ICM2Yzc1N2Q7DQogICAgLS1ncmF5LWRhcms6ICMzNDNhNDA7DQogICAgLS1wcmltYXJ5OiAjMDA3YmZmOw0KICAgIC0tc2Vjb25kYXJ5OiAjNmM3NTdkOw0KICAgIC0tc3VjY2VzczogIzI4YTc0NTsNCiAgICAtLWluZm86ICMxN2EyYjg7DQogICAgLS13YXJuaW5nOiAjZmZjMTA3Ow0KICAgIC0tZGFuZ2VyOiAjZGMzNTQ1Ow0KICAgIC0tbGlnaHQ6ICNmOGY5ZmE7DQogICAgLS1kYXJrOiAjMzQzYTQwOw0KICAgIC0tYnJlYWtwb2ludC14czogMDsNCiAgICAtLWJyZWFrcG9pbnQtc206IDU3NnB4Ow0KICAgIC0tYnJlYWtwb2ludC1tZDogNzY4cHg7DQogICAgLS1icmVha3BvaW50LWxnOiA5OTJweDsNCiAgICAtLWJyZWFrcG9pbnQteGw6IDEyMDBweDsNCiAgICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBBcmlhbCwgIk5vdG8gU2FucyIsIHNhbnMtc2VyaWYsICJBcHBsZSBDb2xvciBFbW9qaSIsICJTZWdvZSBVSSBFbW9qaSIsICJTZWdvZSBVSSBTeW1ib2wiLCAiTm90byBDb2xvciBFbW9qaSI7DQogICAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgIkxpYmVyYXRpb24gTW9ubyIsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZQ0KfQ0KDQoqLA0KOjphZnRlciwNCjo6YmVmb3JlIHsNCiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94DQp9DQoNCmh0bWwgew0KICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjE1Ow0KICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsNCiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50DQp9DQoNCmFydGljbGUsDQphc2lkZSwNCmZpZ2NhcHRpb24sDQpmaWd1cmUsDQpmb290ZXIsDQpoZWFkZXIsDQpoZ3JvdXAsDQptYWluLA0KbmF2LA0Kc2VjdGlvbiB7DQogICAgZGlzcGxheTogYmxvY2sNCn0NCg0KYm9keSB7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsIFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgQXJpYWwsICJOb3RvIFNhbnMiLCBzYW5zLXNlcmlmLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiU2Vnb2UgVUkgRW1vamkiLCAiU2Vnb2UgVUkgU3ltYm9sIiwgIk5vdG8gQ29sb3IgRW1vamkiOw0KICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmDQp9DQoNClt0YWJpbmRleD0iLTEiXTpmb2N1cyB7DQogICAgb3V0bGluZTogMCAhaW1wb3J0YW50DQp9DQoNCmhyIHsNCiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsNCiAgICBoZWlnaHQ6IDA7DQogICAgb3ZlcmZsb3c6IHZpc2libGUNCn0NCg0KaDEsDQpoMiwNCmgzLA0KaDQsDQpoNSwNCmg2IHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IC41cmVtDQp9DQoNCnAgew0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMXJlbQ0KfQ0KDQphYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdLA0KYWJiclt0aXRsZV0gew0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOw0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsNCiAgICBjdXJzb3I6IGhlbHA7DQogICAgYm9yZGVyLWJvdHRvbTogMDsNCiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsNCiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmUNCn0NCg0KYWRkcmVzcyB7DQogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQNCn0NCg0KZGwsDQpvbCwNCnVsIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDFyZW0NCn0NCg0Kb2wgb2wsDQpvbCB1bCwNCnVsIG9sLA0KdWwgdWwgew0KICAgIG1hcmdpbi1ib3R0b206IDANCn0NCg0KZHQgew0KICAgIGZvbnQtd2VpZ2h0OiA3MDANCn0NCg0KZGQgew0KICAgIG1hcmdpbi1ib3R0b206IC41cmVtOw0KICAgIG1hcmdpbi1sZWZ0OiAwDQp9DQoNCmJsb2NrcXVvdGUgew0KICAgIG1hcmdpbjogMCAwIDFyZW0NCn0NCg0KYiwNCnN0cm9uZyB7DQogICAgZm9udC13ZWlnaHQ6IGJvbGRlcg0KfQ0KDQpzbWFsbCB7DQogICAgZm9udC1zaXplOiA4MCUNCn0NCg0Kc3ViLA0Kc3VwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZm9udC1zaXplOiA3NSU7DQogICAgbGluZS1oZWlnaHQ6IDA7DQogICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lDQp9DQoNCnN1YiB7DQogICAgYm90dG9tOiAtLjI1ZW0NCn0NCg0Kc3VwIHsNCiAgICB0b3A6IC0uNWVtDQp9DQoNCmEgew0KICAgIGNvbG9yOiAjMDA3YmZmOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudA0KfQ0KDQphOmhvdmVyIHsNCiAgICBjb2xvcjogIzAwNTZiMzsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZQ0KfQ0KDQphOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKSB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lDQp9DQoNCmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3VzLA0KYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6aG92ZXIgew0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZQ0KfQ0KDQphOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7DQogICAgb3V0bGluZTogMA0KfQ0KDQpjb2RlLA0Ka2JkLA0KcHJlLA0Kc2FtcCB7DQogICAgZm9udC1mYW1pbHk6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgIkxpYmVyYXRpb24gTW9ubyIsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZTsNCiAgICBmb250LXNpemU6IDFlbQ0KfQ0KDQpwcmUgew0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsNCiAgICBvdmVyZmxvdzogYXV0bw0KfQ0KDQpmaWd1cmUgew0KICAgIG1hcmdpbjogMCAwIDFyZW0NCn0NCg0KaW1nIHsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIGJvcmRlci1zdHlsZTogbm9uZQ0KfQ0KDQpzdmcgew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZQ0KfQ0KDQp0YWJsZSB7DQogICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZQ0KfQ0KDQpjYXB0aW9uIHsNCiAgICBwYWRkaW5nLXRvcDogLjc1cmVtOw0KICAgIHBhZGRpbmctYm90dG9tOiAuNzVyZW07DQogICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbQ0KfQ0KDQp0aCB7DQogICAgdGV4dC1hbGlnbjogaW5oZXJpdA0KfQ0KDQpsYWJlbCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG1hcmdpbi1ib3R0b206IC41cmVtDQp9DQoNCmJ1dHRvbiB7DQogICAgYm9yZGVyLXJhZGl1czogMA0KfQ0KDQpidXR0b246Zm9jdXMgew0KICAgIG91dGxpbmU6IDFweCBkb3R0ZWQ7DQogICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yDQp9DQoNCmJ1dHRvbiwNCmlucHV0LA0Kb3B0Z3JvdXAsDQpzZWxlY3QsDQp0ZXh0YXJlYSB7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0Ow0KICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsNCiAgICBsaW5lLWhlaWdodDogaW5oZXJpdA0KfQ0KDQpidXR0b24sDQppbnB1dCB7DQogICAgb3ZlcmZsb3c6IHZpc2libGUNCn0NCg0KYnV0dG9uLA0Kc2VsZWN0IHsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZQ0KfQ0KDQpzZWxlY3Qgew0KICAgIHdvcmQtd3JhcDogbm9ybWFsDQp9DQoNClt0eXBlPWJ1dHRvbl0sDQpbdHlwZT1yZXNldF0sDQpbdHlwZT1zdWJtaXRdLA0KYnV0dG9uIHsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbg0KfQ0KDQpbdHlwZT1idXR0b25dOm5vdCg6ZGlzYWJsZWQpLA0KW3R5cGU9cmVzZXRdOm5vdCg6ZGlzYWJsZWQpLA0KW3R5cGU9c3VibWl0XTpub3QoOmRpc2FibGVkKSwNCmJ1dHRvbjpub3QoOmRpc2FibGVkKSB7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoNClt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsDQpbdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsDQpbdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyLA0KYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGJvcmRlci1zdHlsZTogbm9uZQ0KfQ0KDQppbnB1dFt0eXBlPWNoZWNrYm94XSwNCmlucHV0W3R5cGU9cmFkaW9dIHsNCiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgIHBhZGRpbmc6IDANCn0NCg0KaW5wdXRbdHlwZT1kYXRlXSwNCmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLA0KaW5wdXRbdHlwZT1tb250aF0sDQppbnB1dFt0eXBlPXRpbWVdIHsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3gNCn0NCg0KdGV4dGFyZWEgew0KICAgIG92ZXJmbG93OiBhdXRvOw0KICAgIHJlc2l6ZTogdmVydGljYWwNCn0NCg0KZmllbGRzZXQgew0KICAgIG1pbi13aWR0aDogMDsNCiAgICBwYWRkaW5nOiAwOw0KICAgIG1hcmdpbjogMDsNCiAgICBib3JkZXI6IDANCn0NCg0KbGVnZW5kIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsNCiAgICBmb250LXNpemU6IDEuNXJlbTsNCiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsDQp9DQoNCnByb2dyZXNzIHsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUNCn0NCg0KW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwNClt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24gew0KICAgIGhlaWdodDogYXV0bw0KfQ0KDQpbdHlwZT1zZWFyY2hdIHsNCiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUNCn0NCg0KW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7DQogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lDQp9DQoNCjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24gew0KICAgIGZvbnQ6IGluaGVyaXQ7DQogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b24NCn0NCg0Kb3V0cHV0IHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sNCn0NCg0Kc3VtbWFyeSB7DQogICAgZGlzcGxheTogbGlzdC1pdGVtOw0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KDQp0ZW1wbGF0ZSB7DQogICAgZGlzcGxheTogbm9uZQ0KfQ0KDQpbaGlkZGVuXSB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50DQp9DQoNCi5oMSwNCi5oMiwNCi5oMywNCi5oNCwNCi5oNSwNCi5oNiwNCmgxLA0KaDIsDQpoMywNCmg0LA0KaDUsDQpoNiB7DQogICAgbWFyZ2luLWJvdHRvbTogLjVyZW07DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBsaW5lLWhlaWdodDogMS4yDQp9DQoNCi5oMSwNCmgxIHsNCiAgICBmb250LXNpemU6IDIuNXJlbQ0KfQ0KDQouaDIsDQpoMiB7DQogICAgZm9udC1zaXplOiAycmVtDQp9DQoNCi5oMywNCmgzIHsNCiAgICBmb250LXNpemU6IDEuNzVyZW0NCn0NCg0KLmg0LA0KaDQgew0KICAgIGZvbnQtc2l6ZTogMS41cmVtDQp9DQoNCi5oNSwNCmg1IHsNCiAgICBmb250LXNpemU6IDEuMjVyZW0NCn0NCg0KLmg2LA0KaDYgew0KICAgIGZvbnQtc2l6ZTogMXJlbQ0KfQ0KDQoubGVhZCB7DQogICAgZm9udC1zaXplOiAxLjI1cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiAzMDANCn0NCg0KLmRpc3BsYXktMSB7DQogICAgZm9udC1zaXplOiA2cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgbGluZS1oZWlnaHQ6IDEuMg0KfQ0KDQouZGlzcGxheS0yIHsNCiAgICBmb250LXNpemU6IDUuNXJlbTsNCiAgICBmb250LXdlaWdodDogMzAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjINCn0NCg0KLmRpc3BsYXktMyB7DQogICAgZm9udC1zaXplOiA0LjVyZW07DQogICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICBsaW5lLWhlaWdodDogMS4yDQp9DQoNCi5kaXNwbGF5LTQgew0KICAgIGZvbnQtc2l6ZTogMy41cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgbGluZS1oZWlnaHQ6IDEuMg0KfQ0KDQpociB7DQogICAgbWFyZ2luLXRvcDogMXJlbTsNCiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KICAgIGJvcmRlcjogMDsNCiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMSkNCn0NCg0KLnNtYWxsLA0Kc21hbGwgew0KICAgIGZvbnQtc2l6ZTogODAlOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDANCn0NCg0KLm1hcmssDQptYXJrIHsNCiAgICBwYWRkaW5nOiAuMmVtOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTMNCn0NCg0KLmxpc3QtdW5zdHlsZWQgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBsaXN0LXN0eWxlOiBub25lDQp9DQoNCi5saXN0LWlubGluZSB7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmUNCn0NCg0KLmxpc3QtaW5saW5lLWl0ZW0gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaw0KfQ0KDQoubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHsNCiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtDQp9DQoNCi5pbml0aWFsaXNtIHsNCiAgICBmb250LXNpemU6IDkwJTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlDQp9DQoNCi5ibG9ja3F1b3RlIHsNCiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KICAgIGZvbnQtc2l6ZTogMS4yNXJlbQ0KfQ0KDQouYmxvY2txdW90ZS1mb290ZXIgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGZvbnQtc2l6ZTogODAlOw0KICAgIGNvbG9yOiAjNmM3NTdkDQp9DQoNCi5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDIwMTRcMDBBMCINCn0NCg0KLmltZy1mbHVpZCB7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogYXV0bw0KfQ0KDQouaW1nLXRodW1ibmFpbCB7DQogICAgcGFkZGluZzogLjI1cmVtOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogYXV0bw0KfQ0KDQouZmlndXJlIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sNCn0NCg0KLmZpZ3VyZS1pbWcgew0KICAgIG1hcmdpbi1ib3R0b206IC41cmVtOw0KICAgIGxpbmUtaGVpZ2h0OiAxDQp9DQoNCi5maWd1cmUtY2FwdGlvbiB7DQogICAgZm9udC1zaXplOiA5MCU7DQogICAgY29sb3I6ICM2Yzc1N2QNCn0NCg0KY29kZSB7DQogICAgZm9udC1zaXplOiA4Ny41JTsNCiAgICBjb2xvcjogI2U4M2U4YzsNCiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkDQp9DQoNCmE+Y29kZSB7DQogICAgY29sb3I6IGluaGVyaXQNCn0NCg0Ka2JkIHsNCiAgICBwYWRkaW5nOiAuMnJlbSAuNHJlbTsNCiAgICBmb250LXNpemU6IDg3LjUlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7DQogICAgYm9yZGVyLXJhZGl1czogLjJyZW0NCn0NCg0Ka2JkIGtiZCB7DQogICAgcGFkZGluZzogMDsNCiAgICBmb250LXNpemU6IDEwMCU7DQogICAgZm9udC13ZWlnaHQ6IDcwMA0KfQ0KDQpwcmUgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGZvbnQtc2l6ZTogODcuNSU7DQogICAgY29sb3I6ICMyMTI1MjkNCn0NCg0KcHJlIGNvZGUgew0KICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgICB3b3JkLWJyZWFrOiBub3JtYWwNCn0NCg0KLnByZS1zY3JvbGxhYmxlIHsNCiAgICBtYXgtaGVpZ2h0OiAzNDBweDsNCiAgICBvdmVyZmxvdy15OiBzY3JvbGwNCn0NCg0KLmNvbnRhaW5lciB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICAgIG1hcmdpbi1sZWZ0OiBhdXRvDQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7DQogICAgLmNvbnRhaW5lciB7DQogICAgICAgIG1heC13aWR0aDogNTQwcHgNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7DQogICAgLmNvbnRhaW5lciB7DQogICAgICAgIG1heC13aWR0aDogNzIwcHgNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7DQogICAgLmNvbnRhaW5lciB7DQogICAgICAgIG1heC13aWR0aDogOTYwcHgNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgew0KICAgIC5jb250YWluZXIgew0KICAgICAgICBtYXgtd2lkdGg6IDExNDBweA0KICAgIH0NCn0NCg0KLmNvbnRhaW5lci1mbHVpZCB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICAgIG1hcmdpbi1sZWZ0OiBhdXRvDQp9DQoNCi5yb3cgew0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgICBmbGV4LXdyYXA6IHdyYXA7DQogICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsNCiAgICBtYXJnaW4tbGVmdDogLTE1cHgNCn0NCg0KLm5vLWd1dHRlcnMgew0KICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICBtYXJnaW4tbGVmdDogMA0KfQ0KDQoubm8tZ3V0dGVycz4uY29sLA0KLm5vLWd1dHRlcnM+W2NsYXNzKj1jb2wtXSB7DQogICAgcGFkZGluZy1yaWdodDogMDsNCiAgICBwYWRkaW5nLWxlZnQ6IDANCn0NCg0KLmNvbCwNCi5jb2wtMSwNCi5jb2wtMTAsDQouY29sLTExLA0KLmNvbC0xMiwNCi5jb2wtMiwNCi5jb2wtMywNCi5jb2wtNCwNCi5jb2wtNSwNCi5jb2wtNiwNCi5jb2wtNywNCi5jb2wtOCwNCi5jb2wtOSwNCi5jb2wtYXV0bywNCi5jb2wtbGcsDQouY29sLWxnLTEsDQouY29sLWxnLTEwLA0KLmNvbC1sZy0xMSwNCi5jb2wtbGctMTIsDQouY29sLWxnLTIsDQouY29sLWxnLTMsDQouY29sLWxnLTQsDQouY29sLWxnLTUsDQouY29sLWxnLTYsDQouY29sLWxnLTcsDQouY29sLWxnLTgsDQouY29sLWxnLTksDQouY29sLWxnLWF1dG8sDQouY29sLW1kLA0KLmNvbC1tZC0xLA0KLmNvbC1tZC0xMCwNCi5jb2wtbWQtMTEsDQouY29sLW1kLTEyLA0KLmNvbC1tZC0yLA0KLmNvbC1tZC0zLA0KLmNvbC1tZC00LA0KLmNvbC1tZC01LA0KLmNvbC1tZC02LA0KLmNvbC1tZC03LA0KLmNvbC1tZC04LA0KLmNvbC1tZC05LA0KLmNvbC1tZC1hdXRvLA0KLmNvbC1zbSwNCi5jb2wtc20tMSwNCi5jb2wtc20tMTAsDQouY29sLXNtLTExLA0KLmNvbC1zbS0xMiwNCi5jb2wtc20tMiwNCi5jb2wtc20tMywNCi5jb2wtc20tNCwNCi5jb2wtc20tNSwNCi5jb2wtc20tNiwNCi5jb2wtc20tNywNCi5jb2wtc20tOCwNCi5jb2wtc20tOSwNCi5jb2wtc20tYXV0bywNCi5jb2wteGwsDQouY29sLXhsLTEsDQouY29sLXhsLTEwLA0KLmNvbC14bC0xMSwNCi5jb2wteGwtMTIsDQouY29sLXhsLTIsDQouY29sLXhsLTMsDQouY29sLXhsLTQsDQouY29sLXhsLTUsDQouY29sLXhsLTYsDQouY29sLXhsLTcsDQouY29sLXhsLTgsDQouY29sLXhsLTksDQouY29sLXhsLWF1dG8gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweA0KfQ0KDQouY29sIHsNCiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDsNCiAgICBmbGV4LWJhc2lzOiAwOw0KICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxOw0KICAgIGZsZXgtZ3JvdzogMTsNCiAgICBtYXgtd2lkdGg6IDEwMCUNCn0NCg0KLmNvbC1hdXRvIHsNCiAgICAtbXMtZmxleDogMCAwIGF1dG87DQogICAgZmxleDogMCAwIGF1dG87DQogICAgd2lkdGg6IGF1dG87DQogICAgbWF4LXdpZHRoOiAxMDAlDQp9DQoNCi5jb2wtMSB7DQogICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzMyU7DQogICAgZmxleDogMCAwIDguMzMzMzMzJTsNCiAgICBtYXgtd2lkdGg6IDguMzMzMzMzJQ0KfQ0KDQouY29sLTIgew0KICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjY3JTsNCiAgICBmbGV4OiAwIDAgMTYuNjY2NjY3JTsNCiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NyUNCn0NCg0KLmNvbC0zIHsNCiAgICAtbXMtZmxleDogMCAwIDI1JTsNCiAgICBmbGV4OiAwIDAgMjUlOw0KICAgIG1heC13aWR0aDogMjUlDQp9DQoNCi5jb2wtNCB7DQogICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMzMlOw0KICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlOw0KICAgIG1heC13aWR0aDogMzMuMzMzMzMzJQ0KfQ0KDQouY29sLTUgew0KICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjY3JTsNCiAgICBmbGV4OiAwIDAgNDEuNjY2NjY3JTsNCiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NyUNCn0NCg0KLmNvbC02IHsNCiAgICAtbXMtZmxleDogMCAwIDUwJTsNCiAgICBmbGV4OiAwIDAgNTAlOw0KICAgIG1heC13aWR0aDogNTAlDQp9DQoNCi5jb2wtNyB7DQogICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMzMlOw0KICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMlOw0KICAgIG1heC13aWR0aDogNTguMzMzMzMzJQ0KfQ0KDQouY29sLTggew0KICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjY3JTsNCiAgICBmbGV4OiAwIDAgNjYuNjY2NjY3JTsNCiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NyUNCn0NCg0KLmNvbC05IHsNCiAgICAtbXMtZmxleDogMCAwIDc1JTsNCiAgICBmbGV4OiAwIDAgNzUlOw0KICAgIG1heC13aWR0aDogNzUlDQp9DQoNCi5jb2wtMTAgew0KICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMzJTsNCiAgICBmbGV4OiAwIDAgODMuMzMzMzMzJTsNCiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMyUNCn0NCg0KLmNvbC0xMSB7DQogICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NjclOw0KICAgIGZsZXg6IDAgMCA5MS42NjY2NjclOw0KICAgIG1heC13aWR0aDogOTEuNjY2NjY3JQ0KfQ0KDQouY29sLTEyIHsNCiAgICAtbXMtZmxleDogMCAwIDEwMCU7DQogICAgZmxleDogMCAwIDEwMCU7DQogICAgbWF4LXdpZHRoOiAxMDAlDQp9DQoNCi5vcmRlci1maXJzdCB7DQogICAgLW1zLWZsZXgtb3JkZXI6IC0xOw0KICAgIG9yZGVyOiAtMQ0KfQ0KDQoub3JkZXItbGFzdCB7DQogICAgLW1zLWZsZXgtb3JkZXI6IDEzOw0KICAgIG9yZGVyOiAxMw0KfQ0KDQoub3JkZXItMCB7DQogICAgLW1zLWZsZXgtb3JkZXI6IDA7DQogICAgb3JkZXI6IDANCn0NCg0KLm9yZGVyLTEgew0KICAgIC1tcy1mbGV4LW9yZGVyOiAxOw0KICAgIG9yZGVyOiAxDQp9DQoNCi5vcmRlci0yIHsNCiAgICAtbXMtZmxleC1vcmRlcjogMjsNCiAgICBvcmRlcjogMg0KfQ0KDQoub3JkZXItMyB7DQogICAgLW1zLWZsZXgtb3JkZXI6IDM7DQogICAgb3JkZXI6IDMNCn0NCg0KLm9yZGVyLTQgew0KICAgIC1tcy1mbGV4LW9yZGVyOiA0Ow0KICAgIG9yZGVyOiA0DQp9DQoNCi5vcmRlci01IHsNCiAgICAtbXMtZmxleC1vcmRlcjogNTsNCiAgICBvcmRlcjogNQ0KfQ0KDQoub3JkZXItNiB7DQogICAgLW1zLWZsZXgtb3JkZXI6IDY7DQogICAgb3JkZXI6IDYNCn0NCg0KLm9yZGVyLTcgew0KICAgIC1tcy1mbGV4LW9yZGVyOiA3Ow0KICAgIG9yZGVyOiA3DQp9DQoNCi5vcmRlci04IHsNCiAgICAtbXMtZmxleC1vcmRlcjogODsNCiAgICBvcmRlcjogOA0KfQ0KDQoub3JkZXItOSB7DQogICAgLW1zLWZsZXgtb3JkZXI6IDk7DQogICAgb3JkZXI6IDkNCn0NCg0KLm9yZGVyLTEwIHsNCiAgICAtbXMtZmxleC1vcmRlcjogMTA7DQogICAgb3JkZXI6IDEwDQp9DQoNCi5vcmRlci0xMSB7DQogICAgLW1zLWZsZXgtb3JkZXI6IDExOw0KICAgIG9yZGVyOiAxMQ0KfQ0KDQoub3JkZXItMTIgew0KICAgIC1tcy1mbGV4LW9yZGVyOiAxMjsNCiAgICBvcmRlcjogMTINCn0NCg0KLm9mZnNldC0xIHsNCiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMlDQp9DQoNCi5vZmZzZXQtMiB7DQogICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NyUNCn0NCg0KLm9mZnNldC0zIHsNCiAgICBtYXJnaW4tbGVmdDogMjUlDQp9DQoNCi5vZmZzZXQtNCB7DQogICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMyUNCn0NCg0KLm9mZnNldC01IHsNCiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY3JQ0KfQ0KDQoub2Zmc2V0LTYgew0KICAgIG1hcmdpbi1sZWZ0OiA1MCUNCn0NCg0KLm9mZnNldC03IHsNCiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzJQ0KfQ0KDQoub2Zmc2V0LTggew0KICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjclDQp9DQoNCi5vZmZzZXQtOSB7DQogICAgbWFyZ2luLWxlZnQ6IDc1JQ0KfQ0KDQoub2Zmc2V0LTEwIHsNCiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzJQ0KfQ0KDQoub2Zmc2V0LTExIHsNCiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY3JQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5jb2wtc20gew0KICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDsNCiAgICAgICAgZmxleC1iYXNpczogMDsNCiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7DQogICAgICAgIGZsZXgtZ3JvdzogMTsNCiAgICAgICAgbWF4LXdpZHRoOiAxMDAlDQogICAgfQ0KICAgIC5jb2wtc20tYXV0byB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bzsNCiAgICAgICAgZmxleDogMCAwIGF1dG87DQogICAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCUNCiAgICB9DQogICAgLmNvbC1zbS0xIHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzMyU7DQogICAgICAgIGZsZXg6IDAgMCA4LjMzMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogOC4zMzMzMzMlDQogICAgfQ0KICAgIC5jb2wtc20tMiB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjY3JTsNCiAgICAgICAgZmxleDogMCAwIDE2LjY2NjY2NyU7DQogICAgICAgIG1heC13aWR0aDogMTYuNjY2NjY3JQ0KICAgIH0NCiAgICAuY29sLXNtLTMgew0KICAgICAgICAtbXMtZmxleDogMCAwIDI1JTsNCiAgICAgICAgZmxleDogMCAwIDI1JTsNCiAgICAgICAgbWF4LXdpZHRoOiAyNSUNCiAgICB9DQogICAgLmNvbC1zbS00IHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMzMlOw0KICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTsNCiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlDQogICAgfQ0KICAgIC5jb2wtc20tNSB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjY3JTsNCiAgICAgICAgZmxleDogMCAwIDQxLjY2NjY2NyU7DQogICAgICAgIG1heC13aWR0aDogNDEuNjY2NjY3JQ0KICAgIH0NCiAgICAuY29sLXNtLTYgew0KICAgICAgICAtbXMtZmxleDogMCAwIDUwJTsNCiAgICAgICAgZmxleDogMCAwIDUwJTsNCiAgICAgICAgbWF4LXdpZHRoOiA1MCUNCiAgICB9DQogICAgLmNvbC1zbS03IHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMzMlOw0KICAgICAgICBmbGV4OiAwIDAgNTguMzMzMzMzJTsNCiAgICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMlDQogICAgfQ0KICAgIC5jb2wtc20tOCB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjY3JTsNCiAgICAgICAgZmxleDogMCAwIDY2LjY2NjY2NyU7DQogICAgICAgIG1heC13aWR0aDogNjYuNjY2NjY3JQ0KICAgIH0NCiAgICAuY29sLXNtLTkgew0KICAgICAgICAtbXMtZmxleDogMCAwIDc1JTsNCiAgICAgICAgZmxleDogMCAwIDc1JTsNCiAgICAgICAgbWF4LXdpZHRoOiA3NSUNCiAgICB9DQogICAgLmNvbC1zbS0xMCB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMzJTsNCiAgICAgICAgZmxleDogMCAwIDgzLjMzMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogODMuMzMzMzMzJQ0KICAgIH0NCiAgICAuY29sLXNtLTExIHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NjclOw0KICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjY3JTsNCiAgICAgICAgbWF4LXdpZHRoOiA5MS42NjY2NjclDQogICAgfQ0KICAgIC5jb2wtc20tMTIgew0KICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7DQogICAgICAgIGZsZXg6IDAgMCAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCUNCiAgICB9DQogICAgLm9yZGVyLXNtLWZpcnN0IHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IC0xOw0KICAgICAgICBvcmRlcjogLTENCiAgICB9DQogICAgLm9yZGVyLXNtLWxhc3Qgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMTM7DQogICAgICAgIG9yZGVyOiAxMw0KICAgIH0NCiAgICAub3JkZXItc20tMCB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAwOw0KICAgICAgICBvcmRlcjogMA0KICAgIH0NCiAgICAub3JkZXItc20tMSB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxOw0KICAgICAgICBvcmRlcjogMQ0KICAgIH0NCiAgICAub3JkZXItc20tMiB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyOw0KICAgICAgICBvcmRlcjogMg0KICAgIH0NCiAgICAub3JkZXItc20tMyB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAzOw0KICAgICAgICBvcmRlcjogMw0KICAgIH0NCiAgICAub3JkZXItc20tNCB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA0Ow0KICAgICAgICBvcmRlcjogNA0KICAgIH0NCiAgICAub3JkZXItc20tNSB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA1Ow0KICAgICAgICBvcmRlcjogNQ0KICAgIH0NCiAgICAub3JkZXItc20tNiB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA2Ow0KICAgICAgICBvcmRlcjogNg0KICAgIH0NCiAgICAub3JkZXItc20tNyB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA3Ow0KICAgICAgICBvcmRlcjogNw0KICAgIH0NCiAgICAub3JkZXItc20tOCB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA4Ow0KICAgICAgICBvcmRlcjogOA0KICAgIH0NCiAgICAub3JkZXItc20tOSB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiA5Ow0KICAgICAgICBvcmRlcjogOQ0KICAgIH0NCiAgICAub3JkZXItc20tMTAgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMTA7DQogICAgICAgIG9yZGVyOiAxMA0KICAgIH0NCiAgICAub3JkZXItc20tMTEgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMTE7DQogICAgICAgIG9yZGVyOiAxMQ0KICAgIH0NCiAgICAub3JkZXItc20tMTIgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMTI7DQogICAgICAgIG9yZGVyOiAxMg0KICAgIH0NCiAgICAub2Zmc2V0LXNtLTAgew0KICAgICAgICBtYXJnaW4tbGVmdDogMA0KICAgIH0NCiAgICAub2Zmc2V0LXNtLTEgew0KICAgICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMlDQogICAgfQ0KICAgIC5vZmZzZXQtc20tMiB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjclDQogICAgfQ0KICAgIC5vZmZzZXQtc20tMyB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAyNSUNCiAgICB9DQogICAgLm9mZnNldC1zbS00IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMyUNCiAgICB9DQogICAgLm9mZnNldC1zbS01IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NyUNCiAgICB9DQogICAgLm9mZnNldC1zbS02IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDUwJQ0KICAgIH0NCiAgICAub2Zmc2V0LXNtLTcgew0KICAgICAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzJQ0KICAgIH0NCiAgICAub2Zmc2V0LXNtLTggew0KICAgICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY3JQ0KICAgIH0NCiAgICAub2Zmc2V0LXNtLTkgew0KICAgICAgICBtYXJnaW4tbGVmdDogNzUlDQogICAgfQ0KICAgIC5vZmZzZXQtc20tMTAgew0KICAgICAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzJQ0KICAgIH0NCiAgICAub2Zmc2V0LXNtLTExIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NyUNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7DQogICAgLmNvbC1tZCB7DQogICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwOw0KICAgICAgICBmbGV4LWJhc2lzOiAwOw0KICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTsNCiAgICAgICAgZmxleC1ncm93OiAxOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCUNCiAgICB9DQogICAgLmNvbC1tZC1hdXRvIHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCBhdXRvOw0KICAgICAgICBmbGV4OiAwIDAgYXV0bzsNCiAgICAgICAgd2lkdGg6IGF1dG87DQogICAgICAgIG1heC13aWR0aDogMTAwJQ0KICAgIH0NCiAgICAuY29sLW1kLTEgew0KICAgICAgICAtbXMtZmxleDogMCAwIDguMzMzMzMzJTsNCiAgICAgICAgZmxleDogMCAwIDguMzMzMzMzJTsNCiAgICAgICAgbWF4LXdpZHRoOiA4LjMzMzMzMyUNCiAgICB9DQogICAgLmNvbC1tZC0yIHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NjclOw0KICAgICAgICBmbGV4OiAwIDAgMTYuNjY2NjY3JTsNCiAgICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NjclDQogICAgfQ0KICAgIC5jb2wtbWQtMyB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgMjUlOw0KICAgICAgICBmbGV4OiAwIDAgMjUlOw0KICAgICAgICBtYXgtd2lkdGg6IDI1JQ0KICAgIH0NCiAgICAuY29sLW1kLTQgew0KICAgICAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzMyU7DQogICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlOw0KICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyUNCiAgICB9DQogICAgLmNvbC1tZC01IHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NjclOw0KICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjY3JTsNCiAgICAgICAgbWF4LXdpZHRoOiA0MS42NjY2NjclDQogICAgfQ0KICAgIC5jb2wtbWQtNiB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlOw0KICAgICAgICBmbGV4OiAwIDAgNTAlOw0KICAgICAgICBtYXgtd2lkdGg6IDUwJQ0KICAgIH0NCiAgICAuY29sLW1kLTcgew0KICAgICAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzMyU7DQogICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMlOw0KICAgICAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMyUNCiAgICB9DQogICAgLmNvbC1tZC04IHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NjclOw0KICAgICAgICBmbGV4OiAwIDAgNjYuNjY2NjY3JTsNCiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NjclDQogICAgfQ0KICAgIC5jb2wtbWQtOSB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgNzUlOw0KICAgICAgICBmbGV4OiAwIDAgNzUlOw0KICAgICAgICBtYXgtd2lkdGg6IDc1JQ0KICAgIH0NCiAgICAuY29sLW1kLTEwIHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMzMlOw0KICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMzJTsNCiAgICAgICAgbWF4LXdpZHRoOiA4My4zMzMzMzMlDQogICAgfQ0KICAgIC5jb2wtbWQtMTEgew0KICAgICAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY2NyU7DQogICAgICAgIGZsZXg6IDAgMCA5MS42NjY2NjclOw0KICAgICAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NyUNCiAgICB9DQogICAgLmNvbC1tZC0xMiB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTsNCiAgICAgICAgZmxleDogMCAwIDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJQ0KICAgIH0NCiAgICAub3JkZXItbWQtZmlyc3Qgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogLTE7DQogICAgICAgIG9yZGVyOiAtMQ0KICAgIH0NCiAgICAub3JkZXItbWQtbGFzdCB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMzsNCiAgICAgICAgb3JkZXI6IDEzDQogICAgfQ0KICAgIC5vcmRlci1tZC0wIHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDA7DQogICAgICAgIG9yZGVyOiAwDQogICAgfQ0KICAgIC5vcmRlci1tZC0xIHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7DQogICAgICAgIG9yZGVyOiAxDQogICAgfQ0KICAgIC5vcmRlci1tZC0yIHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7DQogICAgICAgIG9yZGVyOiAyDQogICAgfQ0KICAgIC5vcmRlci1tZC0zIHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDM7DQogICAgICAgIG9yZGVyOiAzDQogICAgfQ0KICAgIC5vcmRlci1tZC00IHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDQ7DQogICAgICAgIG9yZGVyOiA0DQogICAgfQ0KICAgIC5vcmRlci1tZC01IHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDU7DQogICAgICAgIG9yZGVyOiA1DQogICAgfQ0KICAgIC5vcmRlci1tZC02IHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDY7DQogICAgICAgIG9yZGVyOiA2DQogICAgfQ0KICAgIC5vcmRlci1tZC03IHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDc7DQogICAgICAgIG9yZGVyOiA3DQogICAgfQ0KICAgIC5vcmRlci1tZC04IHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDg7DQogICAgICAgIG9yZGVyOiA4DQogICAgfQ0KICAgIC5vcmRlci1tZC05IHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDk7DQogICAgICAgIG9yZGVyOiA5DQogICAgfQ0KICAgIC5vcmRlci1tZC0xMCB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMDsNCiAgICAgICAgb3JkZXI6IDEwDQogICAgfQ0KICAgIC5vcmRlci1tZC0xMSB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMTsNCiAgICAgICAgb3JkZXI6IDExDQogICAgfQ0KICAgIC5vcmRlci1tZC0xMiB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMjsNCiAgICAgICAgb3JkZXI6IDEyDQogICAgfQ0KICAgIC5vZmZzZXQtbWQtMCB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAwDQogICAgfQ0KICAgIC5vZmZzZXQtbWQtMSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMyUNCiAgICB9DQogICAgLm9mZnNldC1tZC0yIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NyUNCiAgICB9DQogICAgLm9mZnNldC1tZC0zIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1JQ0KICAgIH0NCiAgICAub2Zmc2V0LW1kLTQgew0KICAgICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzJQ0KICAgIH0NCiAgICAub2Zmc2V0LW1kLTUgew0KICAgICAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY3JQ0KICAgIH0NCiAgICAub2Zmc2V0LW1kLTYgew0KICAgICAgICBtYXJnaW4tbGVmdDogNTAlDQogICAgfQ0KICAgIC5vZmZzZXQtbWQtNyB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMlDQogICAgfQ0KICAgIC5vZmZzZXQtbWQtOCB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjclDQogICAgfQ0KICAgIC5vZmZzZXQtbWQtOSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA3NSUNCiAgICB9DQogICAgLm9mZnNldC1tZC0xMCB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMlDQogICAgfQ0KICAgIC5vZmZzZXQtbWQtMTEgew0KICAgICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY3JQ0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsNCiAgICAuY29sLWxnIHsNCiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7DQogICAgICAgIGZsZXgtYmFzaXM6IDA7DQogICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxOw0KICAgICAgICBmbGV4LWdyb3c6IDE7DQogICAgICAgIG1heC13aWR0aDogMTAwJQ0KICAgIH0NCiAgICAuY29sLWxnLWF1dG8gew0KICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87DQogICAgICAgIGZsZXg6IDAgMCBhdXRvOw0KICAgICAgICB3aWR0aDogYXV0bzsNCiAgICAgICAgbWF4LXdpZHRoOiAxMDAlDQogICAgfQ0KICAgIC5jb2wtbGctMSB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMzMlOw0KICAgICAgICBmbGV4OiAwIDAgOC4zMzMzMzMlOw0KICAgICAgICBtYXgtd2lkdGg6IDguMzMzMzMzJQ0KICAgIH0NCiAgICAuY29sLWxnLTIgew0KICAgICAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY2NyU7DQogICAgICAgIGZsZXg6IDAgMCAxNi42NjY2NjclOw0KICAgICAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NyUNCiAgICB9DQogICAgLmNvbC1sZy0zIHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCAyNSU7DQogICAgICAgIGZsZXg6IDAgMCAyNSU7DQogICAgICAgIG1heC13aWR0aDogMjUlDQogICAgfQ0KICAgIC5jb2wtbGctNCB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMzJTsNCiAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMzJQ0KICAgIH0NCiAgICAuY29sLWxnLTUgew0KICAgICAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY2NyU7DQogICAgICAgIGZsZXg6IDAgMCA0MS42NjY2NjclOw0KICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NyUNCiAgICB9DQogICAgLmNvbC1sZy02IHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7DQogICAgICAgIGZsZXg6IDAgMCA1MCU7DQogICAgICAgIG1heC13aWR0aDogNTAlDQogICAgfQ0KICAgIC5jb2wtbGctNyB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMzJTsNCiAgICAgICAgZmxleDogMCAwIDU4LjMzMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogNTguMzMzMzMzJQ0KICAgIH0NCiAgICAuY29sLWxnLTggew0KICAgICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY2NyU7DQogICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NjclOw0KICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NyUNCiAgICB9DQogICAgLmNvbC1sZy05IHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCA3NSU7DQogICAgICAgIGZsZXg6IDAgMCA3NSU7DQogICAgICAgIG1heC13aWR0aDogNzUlDQogICAgfQ0KICAgIC5jb2wtbGctMTAgew0KICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzMyU7DQogICAgICAgIGZsZXg6IDAgMCA4My4zMzMzMzMlOw0KICAgICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMyUNCiAgICB9DQogICAgLmNvbC1sZy0xMSB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjY3JTsNCiAgICAgICAgZmxleDogMCAwIDkxLjY2NjY2NyU7DQogICAgICAgIG1heC13aWR0aDogOTEuNjY2NjY3JQ0KICAgIH0NCiAgICAuY29sLWxnLTEyIHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlOw0KICAgICAgICBmbGV4OiAwIDAgMTAwJTsNCiAgICAgICAgbWF4LXdpZHRoOiAxMDAlDQogICAgfQ0KICAgIC5vcmRlci1sZy1maXJzdCB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTsNCiAgICAgICAgb3JkZXI6IC0xDQogICAgfQ0KICAgIC5vcmRlci1sZy1sYXN0IHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEzOw0KICAgICAgICBvcmRlcjogMTMNCiAgICB9DQogICAgLm9yZGVyLWxnLTAgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMDsNCiAgICAgICAgb3JkZXI6IDANCiAgICB9DQogICAgLm9yZGVyLWxnLTEgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMTsNCiAgICAgICAgb3JkZXI6IDENCiAgICB9DQogICAgLm9yZGVyLWxnLTIgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMjsNCiAgICAgICAgb3JkZXI6IDINCiAgICB9DQogICAgLm9yZGVyLWxnLTMgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMzsNCiAgICAgICAgb3JkZXI6IDMNCiAgICB9DQogICAgLm9yZGVyLWxnLTQgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogNDsNCiAgICAgICAgb3JkZXI6IDQNCiAgICB9DQogICAgLm9yZGVyLWxnLTUgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogNTsNCiAgICAgICAgb3JkZXI6IDUNCiAgICB9DQogICAgLm9yZGVyLWxnLTYgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogNjsNCiAgICAgICAgb3JkZXI6IDYNCiAgICB9DQogICAgLm9yZGVyLWxnLTcgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogNzsNCiAgICAgICAgb3JkZXI6IDcNCiAgICB9DQogICAgLm9yZGVyLWxnLTggew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogODsNCiAgICAgICAgb3JkZXI6IDgNCiAgICB9DQogICAgLm9yZGVyLWxnLTkgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogOTsNCiAgICAgICAgb3JkZXI6IDkNCiAgICB9DQogICAgLm9yZGVyLWxnLTEwIHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEwOw0KICAgICAgICBvcmRlcjogMTANCiAgICB9DQogICAgLm9yZGVyLWxnLTExIHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDExOw0KICAgICAgICBvcmRlcjogMTENCiAgICB9DQogICAgLm9yZGVyLWxnLTEyIHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEyOw0KICAgICAgICBvcmRlcjogMTINCiAgICB9DQogICAgLm9mZnNldC1sZy0wIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDANCiAgICB9DQogICAgLm9mZnNldC1sZy0xIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzJQ0KICAgIH0NCiAgICAub2Zmc2V0LWxnLTIgew0KICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY3JQ0KICAgIH0NCiAgICAub2Zmc2V0LWxnLTMgew0KICAgICAgICBtYXJnaW4tbGVmdDogMjUlDQogICAgfQ0KICAgIC5vZmZzZXQtbGctNCB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMlDQogICAgfQ0KICAgIC5vZmZzZXQtbGctNSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjclDQogICAgfQ0KICAgIC5vZmZzZXQtbGctNiB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA1MCUNCiAgICB9DQogICAgLm9mZnNldC1sZy03IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMyUNCiAgICB9DQogICAgLm9mZnNldC1sZy04IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NyUNCiAgICB9DQogICAgLm9mZnNldC1sZy05IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDc1JQ0KICAgIH0NCiAgICAub2Zmc2V0LWxnLTEwIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMyUNCiAgICB9DQogICAgLm9mZnNldC1sZy0xMSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjclDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpIHsNCiAgICAuY29sLXhsIHsNCiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7DQogICAgICAgIGZsZXgtYmFzaXM6IDA7DQogICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxOw0KICAgICAgICBmbGV4LWdyb3c6IDE7DQogICAgICAgIG1heC13aWR0aDogMTAwJQ0KICAgIH0NCiAgICAuY29sLXhsLWF1dG8gew0KICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87DQogICAgICAgIGZsZXg6IDAgMCBhdXRvOw0KICAgICAgICB3aWR0aDogYXV0bzsNCiAgICAgICAgbWF4LXdpZHRoOiAxMDAlDQogICAgfQ0KICAgIC5jb2wteGwtMSB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMzMlOw0KICAgICAgICBmbGV4OiAwIDAgOC4zMzMzMzMlOw0KICAgICAgICBtYXgtd2lkdGg6IDguMzMzMzMzJQ0KICAgIH0NCiAgICAuY29sLXhsLTIgew0KICAgICAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY2NyU7DQogICAgICAgIGZsZXg6IDAgMCAxNi42NjY2NjclOw0KICAgICAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NyUNCiAgICB9DQogICAgLmNvbC14bC0zIHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCAyNSU7DQogICAgICAgIGZsZXg6IDAgMCAyNSU7DQogICAgICAgIG1heC13aWR0aDogMjUlDQogICAgfQ0KICAgIC5jb2wteGwtNCB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMzJTsNCiAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMzJQ0KICAgIH0NCiAgICAuY29sLXhsLTUgew0KICAgICAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY2NyU7DQogICAgICAgIGZsZXg6IDAgMCA0MS42NjY2NjclOw0KICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NyUNCiAgICB9DQogICAgLmNvbC14bC02IHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7DQogICAgICAgIGZsZXg6IDAgMCA1MCU7DQogICAgICAgIG1heC13aWR0aDogNTAlDQogICAgfQ0KICAgIC5jb2wteGwtNyB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMzJTsNCiAgICAgICAgZmxleDogMCAwIDU4LjMzMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogNTguMzMzMzMzJQ0KICAgIH0NCiAgICAuY29sLXhsLTggew0KICAgICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY2NyU7DQogICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NjclOw0KICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NyUNCiAgICB9DQogICAgLmNvbC14bC05IHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCA3NSU7DQogICAgICAgIGZsZXg6IDAgMCA3NSU7DQogICAgICAgIG1heC13aWR0aDogNzUlDQogICAgfQ0KICAgIC5jb2wteGwtMTAgew0KICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzMyU7DQogICAgICAgIGZsZXg6IDAgMCA4My4zMzMzMzMlOw0KICAgICAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMyUNCiAgICB9DQogICAgLmNvbC14bC0xMSB7DQogICAgICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjY3JTsNCiAgICAgICAgZmxleDogMCAwIDkxLjY2NjY2NyU7DQogICAgICAgIG1heC13aWR0aDogOTEuNjY2NjY3JQ0KICAgIH0NCiAgICAuY29sLXhsLTEyIHsNCiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlOw0KICAgICAgICBmbGV4OiAwIDAgMTAwJTsNCiAgICAgICAgbWF4LXdpZHRoOiAxMDAlDQogICAgfQ0KICAgIC5vcmRlci14bC1maXJzdCB7DQogICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTsNCiAgICAgICAgb3JkZXI6IC0xDQogICAgfQ0KICAgIC5vcmRlci14bC1sYXN0IHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEzOw0KICAgICAgICBvcmRlcjogMTMNCiAgICB9DQogICAgLm9yZGVyLXhsLTAgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMDsNCiAgICAgICAgb3JkZXI6IDANCiAgICB9DQogICAgLm9yZGVyLXhsLTEgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMTsNCiAgICAgICAgb3JkZXI6IDENCiAgICB9DQogICAgLm9yZGVyLXhsLTIgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMjsNCiAgICAgICAgb3JkZXI6IDINCiAgICB9DQogICAgLm9yZGVyLXhsLTMgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogMzsNCiAgICAgICAgb3JkZXI6IDMNCiAgICB9DQogICAgLm9yZGVyLXhsLTQgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogNDsNCiAgICAgICAgb3JkZXI6IDQNCiAgICB9DQogICAgLm9yZGVyLXhsLTUgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogNTsNCiAgICAgICAgb3JkZXI6IDUNCiAgICB9DQogICAgLm9yZGVyLXhsLTYgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogNjsNCiAgICAgICAgb3JkZXI6IDYNCiAgICB9DQogICAgLm9yZGVyLXhsLTcgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogNzsNCiAgICAgICAgb3JkZXI6IDcNCiAgICB9DQogICAgLm9yZGVyLXhsLTggew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogODsNCiAgICAgICAgb3JkZXI6IDgNCiAgICB9DQogICAgLm9yZGVyLXhsLTkgew0KICAgICAgICAtbXMtZmxleC1vcmRlcjogOTsNCiAgICAgICAgb3JkZXI6IDkNCiAgICB9DQogICAgLm9yZGVyLXhsLTEwIHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEwOw0KICAgICAgICBvcmRlcjogMTANCiAgICB9DQogICAgLm9yZGVyLXhsLTExIHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDExOw0KICAgICAgICBvcmRlcjogMTENCiAgICB9DQogICAgLm9yZGVyLXhsLTEyIHsNCiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEyOw0KICAgICAgICBvcmRlcjogMTINCiAgICB9DQogICAgLm9mZnNldC14bC0wIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDANCiAgICB9DQogICAgLm9mZnNldC14bC0xIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzJQ0KICAgIH0NCiAgICAub2Zmc2V0LXhsLTIgew0KICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY3JQ0KICAgIH0NCiAgICAub2Zmc2V0LXhsLTMgew0KICAgICAgICBtYXJnaW4tbGVmdDogMjUlDQogICAgfQ0KICAgIC5vZmZzZXQteGwtNCB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMlDQogICAgfQ0KICAgIC5vZmZzZXQteGwtNSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjclDQogICAgfQ0KICAgIC5vZmZzZXQteGwtNiB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA1MCUNCiAgICB9DQogICAgLm9mZnNldC14bC03IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMyUNCiAgICB9DQogICAgLm9mZnNldC14bC04IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NyUNCiAgICB9DQogICAgLm9mZnNldC14bC05IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDc1JQ0KICAgIH0NCiAgICAub2Zmc2V0LXhsLTEwIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMyUNCiAgICB9DQogICAgLm9mZnNldC14bC0xMSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjclDQogICAgfQ0KfQ0KDQoudGFibGUgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbi1ib3R0b206IDFyZW07DQogICAgY29sb3I6ICMyMTI1MjkNCn0NCg0KLnRhYmxlIHRkLA0KLnRhYmxlIHRoIHsNCiAgICBwYWRkaW5nOiAuNzVyZW07DQogICAgdmVydGljYWwtYWxpZ246IHRvcDsNCiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZTJlNg0KfQ0KDQoudGFibGUgdGhlYWQgdGggew0KICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207DQogICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZWUyZTYNCn0NCg0KLnRhYmxlIHRib2R5K3Rib2R5IHsNCiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2RlZTJlNg0KfQ0KDQoudGFibGUtc20gdGQsDQoudGFibGUtc20gdGggew0KICAgIHBhZGRpbmc6IC4zcmVtDQp9DQoNCi50YWJsZS1ib3JkZXJlZCB7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNg0KfQ0KDQoudGFibGUtYm9yZGVyZWQgdGQsDQoudGFibGUtYm9yZGVyZWQgdGggew0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTYNCn0NCg0KLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRkLA0KLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRoIHsNCiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHgNCn0NCg0KLnRhYmxlLWJvcmRlcmxlc3MgdGJvZHkrdGJvZHksDQoudGFibGUtYm9yZGVybGVzcyB0ZCwNCi50YWJsZS1ib3JkZXJsZXNzIHRoLA0KLnRhYmxlLWJvcmRlcmxlc3MgdGhlYWQgdGggew0KICAgIGJvcmRlcjogMA0KfQ0KDQoudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4wNSkNCn0NCg0KLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHsNCiAgICBjb2xvcjogIzIxMjUyOTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4wNzUpDQp9DQoNCi50YWJsZS1wcmltYXJ5LA0KLnRhYmxlLXByaW1hcnk+dGQsDQoudGFibGUtcHJpbWFyeT50aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2I4ZGFmZg0KfQ0KDQoudGFibGUtcHJpbWFyeSB0Ym9keSt0Ym9keSwNCi50YWJsZS1wcmltYXJ5IHRkLA0KLnRhYmxlLXByaW1hcnkgdGgsDQoudGFibGUtcHJpbWFyeSB0aGVhZCB0aCB7DQogICAgYm9yZGVyLWNvbG9yOiAjN2FiYWZmDQp9DQoNCi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzlmY2RmZg0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXI+dGQsDQoudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXI+dGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmYNCn0NCg0KLnRhYmxlLXNlY29uZGFyeSwNCi50YWJsZS1zZWNvbmRhcnk+dGQsDQoudGFibGUtc2Vjb25kYXJ5PnRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiDQp9DQoNCi50YWJsZS1zZWNvbmRhcnkgdGJvZHkrdGJvZHksDQoudGFibGUtc2Vjb25kYXJ5IHRkLA0KLnRhYmxlLXNlY29uZGFyeSB0aCwNCi50YWJsZS1zZWNvbmRhcnkgdGhlYWQgdGggew0KICAgIGJvcmRlci1jb2xvcjogI2IzYjdiYg0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZg0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3Zlcj50ZCwNCi50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyPnRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjYmNmDQp9DQoNCi50YWJsZS1zdWNjZXNzLA0KLnRhYmxlLXN1Y2Nlc3M+dGQsDQoudGFibGUtc3VjY2Vzcz50aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2MzZTZjYg0KfQ0KDQoudGFibGUtc3VjY2VzcyB0Ym9keSt0Ym9keSwNCi50YWJsZS1zdWNjZXNzIHRkLA0KLnRhYmxlLXN1Y2Nlc3MgdGgsDQoudGFibGUtc3VjY2VzcyB0aGVhZCB0aCB7DQogICAgYm9yZGVyLWNvbG9yOiAjOGZkMTllDQp9DQoNCi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYg0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXI+dGQsDQoudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXI+dGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNiMWRmYmINCn0NCg0KLnRhYmxlLWluZm8sDQoudGFibGUtaW5mbz50ZCwNCi50YWJsZS1pbmZvPnRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmVlNWViDQp9DQoNCi50YWJsZS1pbmZvIHRib2R5K3Rib2R5LA0KLnRhYmxlLWluZm8gdGQsDQoudGFibGUtaW5mbyB0aCwNCi50YWJsZS1pbmZvIHRoZWFkIHRoIHsNCiAgICBib3JkZXItY29sb3I6ICM4NmNmZGENCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJkZGU1DQp9DQoNCi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3Zlcj50ZCwNCi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3Zlcj50aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNQ0KfQ0KDQoudGFibGUtd2FybmluZywNCi50YWJsZS13YXJuaW5nPnRkLA0KLnRhYmxlLXdhcm5pbmc+dGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYmENCn0NCg0KLnRhYmxlLXdhcm5pbmcgdGJvZHkrdGJvZHksDQoudGFibGUtd2FybmluZyB0ZCwNCi50YWJsZS13YXJuaW5nIHRoLA0KLnRhYmxlLXdhcm5pbmcgdGhlYWQgdGggew0KICAgIGJvcmRlci1jb2xvcjogI2ZmZGY3ZQ0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmU4YTENCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyPnRkLA0KLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyPnRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExDQp9DQoNCi50YWJsZS1kYW5nZXIsDQoudGFibGUtZGFuZ2VyPnRkLA0KLnRhYmxlLWRhbmdlcj50aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1YzZjYg0KfQ0KDQoudGFibGUtZGFuZ2VyIHRib2R5K3Rib2R5LA0KLnRhYmxlLWRhbmdlciB0ZCwNCi50YWJsZS1kYW5nZXIgdGgsDQoudGFibGUtZGFuZ2VyIHRoZWFkIHRoIHsNCiAgICBib3JkZXItY29sb3I6ICNlZDk2OWUNCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjcNCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXI+dGQsDQoudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3Zlcj50aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNw0KfQ0KDQoudGFibGUtbGlnaHQsDQoudGFibGUtbGlnaHQ+dGQsDQoudGFibGUtbGlnaHQ+dGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmUNCn0NCg0KLnRhYmxlLWxpZ2h0IHRib2R5K3Rib2R5LA0KLnRhYmxlLWxpZ2h0IHRkLA0KLnRhYmxlLWxpZ2h0IHRoLA0KLnRhYmxlLWxpZ2h0IHRoZWFkIHRoIHsNCiAgICBib3JkZXItY29sb3I6ICNmYmZjZmMNCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNmNg0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyPnRkLA0KLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3Zlcj50aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNmNg0KfQ0KDQoudGFibGUtZGFyaywNCi50YWJsZS1kYXJrPnRkLA0KLnRhYmxlLWRhcms+dGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNjNmM4Y2ENCn0NCg0KLnRhYmxlLWRhcmsgdGJvZHkrdGJvZHksDQoudGFibGUtZGFyayB0ZCwNCi50YWJsZS1kYXJrIHRoLA0KLnRhYmxlLWRhcmsgdGhlYWQgdGggew0KICAgIGJvcmRlci1jb2xvcjogIzk1OTk5Yw0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmUNCn0NCg0KLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyPnRkLA0KLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyPnRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlDQp9DQoNCi50YWJsZS1hY3RpdmUsDQoudGFibGUtYWN0aXZlPnRkLA0KLnRhYmxlLWFjdGl2ZT50aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMDc1KQ0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMDc1KQ0KfQ0KDQoudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3Zlcj50ZCwNCi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyPnRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4wNzUpDQp9DQoNCi50YWJsZSAudGhlYWQtZGFyayB0aCB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDsNCiAgICBib3JkZXItY29sb3I6ICM0NTRkNTUNCn0NCg0KLnRhYmxlIC50aGVhZC1saWdodCB0aCB7DQogICAgY29sb3I6ICM0OTUwNTc7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsNCiAgICBib3JkZXItY29sb3I6ICNkZWUyZTYNCn0NCg0KLnRhYmxlLWRhcmsgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDANCn0NCg0KLnRhYmxlLWRhcmsgdGQsDQoudGFibGUtZGFyayB0aCwNCi50YWJsZS1kYXJrIHRoZWFkIHRoIHsNCiAgICBib3JkZXItY29sb3I6ICM0NTRkNTUNCn0NCg0KLnRhYmxlLWRhcmsudGFibGUtYm9yZGVyZWQgew0KICAgIGJvcmRlcjogMA0KfQ0KDQoudGFibGUtZGFyay50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkgew0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KQ0KfQ0KDQoudGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDc1KQ0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDo1NzUuOThweCkgew0KICAgIC50YWJsZS1yZXNwb25zaXZlLXNtIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBvdmVyZmxvdy14OiBhdXRvOw0KICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2gNCiAgICB9DQogICAgLnRhYmxlLXJlc3BvbnNpdmUtc20+LnRhYmxlLWJvcmRlcmVkIHsNCiAgICAgICAgYm9yZGVyOiAwDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDo3NjcuOThweCkgew0KICAgIC50YWJsZS1yZXNwb25zaXZlLW1kIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBvdmVyZmxvdy14OiBhdXRvOw0KICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2gNCiAgICB9DQogICAgLnRhYmxlLXJlc3BvbnNpdmUtbWQ+LnRhYmxlLWJvcmRlcmVkIHsNCiAgICAgICAgYm9yZGVyOiAwDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDo5OTEuOThweCkgew0KICAgIC50YWJsZS1yZXNwb25zaXZlLWxnIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBvdmVyZmxvdy14OiBhdXRvOw0KICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2gNCiAgICB9DQogICAgLnRhYmxlLXJlc3BvbnNpdmUtbGc+LnRhYmxlLWJvcmRlcmVkIHsNCiAgICAgICAgYm9yZGVyOiAwDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDoxMTk5Ljk4cHgpIHsNCiAgICAudGFibGUtcmVzcG9uc2l2ZS14bCB7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsNCiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoDQogICAgfQ0KICAgIC50YWJsZS1yZXNwb25zaXZlLXhsPi50YWJsZS1ib3JkZXJlZCB7DQogICAgICAgIGJvcmRlcjogMA0KICAgIH0NCn0NCg0KLnRhYmxlLXJlc3BvbnNpdmUgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG92ZXJmbG93LXg6IGF1dG87DQogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoDQp9DQoNCi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZCB7DQogICAgYm9yZGVyOiAwDQp9DQoNCi5mb3JtLWNvbnRyb2wgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogY2FsYygxLjVlbSArIC43NXJlbSArIDJweCk7DQogICAgcGFkZGluZzogLjM3NXJlbSAuNzVyZW07DQogICAgZm9udC1zaXplOiAxcmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBjb2xvcjogIzQ5NTA1NzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07DQogICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dA0KfQ0KDQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKSB7DQogICAgLmZvcm0tY29udHJvbCB7DQogICAgICAgIHRyYW5zaXRpb246IG5vbmUNCiAgICB9DQp9DQoNCi5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQgew0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMA0KfQ0KDQouZm9ybS1jb250cm9sOmZvY3VzIHsNCiAgICBjb2xvcjogIzQ5NTA1NzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1jb2xvcjogIzgwYmRmZjsNCiAgICBvdXRsaW5lOiAwOw0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIC4yNSkNCn0NCg0KLmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7DQogICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgb3BhY2l0eTogMQ0KfQ0KDQouZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHsNCiAgICBjb2xvcjogIzZjNzU3ZDsNCiAgICBvcGFjaXR5OiAxDQp9DQoNCi5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsNCiAgICBjb2xvcjogIzZjNzU3ZDsNCiAgICBvcGFjaXR5OiAxDQp9DQoNCi5mb3JtLWNvbnRyb2w6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7DQogICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgb3BhY2l0eTogMQ0KfQ0KDQouZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7DQogICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgb3BhY2l0eTogMQ0KfQ0KDQouZm9ybS1jb250cm9sOmRpc2FibGVkLA0KLmZvcm0tY29udHJvbFtyZWFkb25seV0gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7DQogICAgb3BhY2l0eTogMQ0KfQ0KDQpzZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWUgew0KICAgIGNvbG9yOiAjNDk1MDU3Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYNCn0NCg0KLmZvcm0tY29udHJvbC1maWxlLA0KLmZvcm0tY29udHJvbC1yYW5nZSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCUNCn0NCg0KLmNvbC1mb3JtLWxhYmVsIHsNCiAgICBwYWRkaW5nLXRvcDogY2FsYyguMzc1cmVtICsgMXB4KTsNCiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyguMzc1cmVtICsgMXB4KTsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsNCiAgICBsaW5lLWhlaWdodDogMS41DQp9DQoNCi5jb2wtZm9ybS1sYWJlbC1sZyB7DQogICAgcGFkZGluZy10b3A6IGNhbGMoLjVyZW0gKyAxcHgpOw0KICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKC41cmVtICsgMXB4KTsNCiAgICBmb250LXNpemU6IDEuMjVyZW07DQogICAgbGluZS1oZWlnaHQ6IDEuNQ0KfQ0KDQouY29sLWZvcm0tbGFiZWwtc20gew0KICAgIHBhZGRpbmctdG9wOiBjYWxjKC4yNXJlbSArIDFweCk7DQogICAgcGFkZGluZy1ib3R0b206IGNhbGMoLjI1cmVtICsgMXB4KTsNCiAgICBmb250LXNpemU6IC44NzVyZW07DQogICAgbGluZS1oZWlnaHQ6IDEuNQ0KfQ0KDQouZm9ybS1jb250cm9sLXBsYWludGV4dCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZy10b3A6IC4zNzVyZW07DQogICAgcGFkZGluZy1ib3R0b206IC4zNzVyZW07DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGNvbG9yOiAjMjEyNTI5Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHggMA0KfQ0KDQouZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtbGcsDQouZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtc20gew0KICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogICAgcGFkZGluZy1sZWZ0OiAwDQp9DQoNCi5mb3JtLWNvbnRyb2wtc20gew0KICAgIGhlaWdodDogY2FsYygxLjVlbSArIC41cmVtICsgMnB4KTsNCiAgICBwYWRkaW5nOiAuMjVyZW0gLjVyZW07DQogICAgZm9udC1zaXplOiAuODc1cmVtOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogICAgYm9yZGVyLXJhZGl1czogLjJyZW0NCn0NCg0KLmZvcm0tY29udHJvbC1sZyB7DQogICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7DQogICAgcGFkZGluZzogLjVyZW0gMXJlbTsNCiAgICBmb250LXNpemU6IDEuMjVyZW07DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBib3JkZXItcmFkaXVzOiAuM3JlbQ0KfQ0KDQpzZWxlY3QuZm9ybS1jb250cm9sW211bHRpcGxlXSwNCnNlbGVjdC5mb3JtLWNvbnRyb2xbc2l6ZV0gew0KICAgIGhlaWdodDogYXV0bw0KfQ0KDQp0ZXh0YXJlYS5mb3JtLWNvbnRyb2wgew0KICAgIGhlaWdodDogYXV0bw0KfQ0KDQouZm9ybS1ncm91cCB7DQogICAgbWFyZ2luLWJvdHRvbTogMXJlbQ0KfQ0KDQouZm9ybS10ZXh0IHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tdG9wOiAuMjVyZW0NCn0NCg0KLmZvcm0tcm93IHsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7DQogICAgZmxleC13cmFwOiB3cmFwOw0KICAgIG1hcmdpbi1yaWdodDogLTVweDsNCiAgICBtYXJnaW4tbGVmdDogLTVweA0KfQ0KDQouZm9ybS1yb3c+LmNvbCwNCi5mb3JtLXJvdz5bY2xhc3MqPWNvbC1dIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7DQogICAgcGFkZGluZy1sZWZ0OiA1cHgNCn0NCg0KLmZvcm0tY2hlY2sgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW0NCn0NCg0KLmZvcm0tY2hlY2staW5wdXQgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBtYXJnaW4tdG9wOiAuM3JlbTsNCiAgICBtYXJnaW4tbGVmdDogLTEuMjVyZW0NCn0NCg0KLmZvcm0tY2hlY2staW5wdXQ6ZGlzYWJsZWR+LmZvcm0tY2hlY2stbGFiZWwgew0KICAgIGNvbG9yOiAjNmM3NTdkDQp9DQoNCi5mb3JtLWNoZWNrLWxhYmVsIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwDQp9DQoNCi5mb3JtLWNoZWNrLWlubGluZSB7DQogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGlubGluZS1mbGV4Ow0KICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbWFyZ2luLXJpZ2h0OiAuNzVyZW0NCn0NCg0KLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHsNCiAgICBwb3NpdGlvbjogc3RhdGljOw0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLXJpZ2h0OiAuMzEyNXJlbTsNCiAgICBtYXJnaW4tbGVmdDogMA0KfQ0KDQoudmFsaWQtZmVlZGJhY2sgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLXRvcDogLjI1cmVtOw0KICAgIGZvbnQtc2l6ZTogODAlOw0KICAgIGNvbG9yOiAjMjhhNzQ1DQp9DQoNCi52YWxpZC10b29sdGlwIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAxMDAlOw0KICAgIHotaW5kZXg6IDU7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogLjI1cmVtIC41cmVtOw0KICAgIG1hcmdpbi10b3A6IC4xcmVtOw0KICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDAsIDE2NywgNjksIC45KTsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0NCn0NCg0KLmZvcm0tY29udHJvbC5pcy12YWxpZCwNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQgew0KICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NTsNCiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNWVtICsgLjc1cmVtKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzMjhhNzQ1JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlIik7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSk7DQogICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKC43NWVtICsgLjM3NXJlbSkgY2FsYyguNzVlbSArIC4zNzVyZW0pDQp9DQoNCi5mb3JtLWNvbnRyb2wuaXMtdmFsaWQ6Zm9jdXMsDQoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkOmZvY3VzIHsNCiAgICBib3JkZXItY29sb3I6ICMyOGE3NDU7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgLjI1KQ0KfQ0KDQouZm9ybS1jb250cm9sLmlzLXZhbGlkfi52YWxpZC1mZWVkYmFjaywNCi5mb3JtLWNvbnRyb2wuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsDQoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkfi52YWxpZC1mZWVkYmFjaywNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWR+LnZhbGlkLXRvb2x0aXAgew0KICAgIGRpc3BsYXk6IGJsb2NrDQp9DQoNCi53YXMtdmFsaWRhdGVkIHRleHRhcmVhLmZvcm0tY29udHJvbDp2YWxpZCwNCnRleHRhcmVhLmZvcm0tY29udHJvbC5pcy12YWxpZCB7DQogICAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIC43NXJlbSk7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoLjM3NWVtICsgLjE4NzVyZW0pIHJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0pDQp9DQoNCi5jdXN0b20tc2VsZWN0LmlzLXZhbGlkLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQgew0KICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NTsNCiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxZW0gKyAuNzVyZW0pICogMyAvIDQgKyAxLjc1cmVtKTsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nJTIzMzQzYTQwJyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlIikgbm8tcmVwZWF0IHJpZ2h0IC43NXJlbSBjZW50ZXIvOHB4IDEwcHgsIHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMyOGE3NDUnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2UiKSAjZmZmIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMS43NXJlbS9jYWxjKC43NWVtICsgLjM3NXJlbSkgY2FsYyguNzVlbSArIC4zNzVyZW0pDQp9DQoNCi5jdXN0b20tc2VsZWN0LmlzLXZhbGlkOmZvY3VzLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQ6Zm9jdXMgew0KICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NTsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAuMjUpDQp9DQoNCi5jdXN0b20tc2VsZWN0LmlzLXZhbGlkfi52YWxpZC1mZWVkYmFjaywNCi5jdXN0b20tc2VsZWN0LmlzLXZhbGlkfi52YWxpZC10b29sdGlwLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWR+LnZhbGlkLXRvb2x0aXAgew0KICAgIGRpc3BsYXk6IGJsb2NrDQp9DQoNCi5mb3JtLWNvbnRyb2wtZmlsZS5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssDQouZm9ybS1jb250cm9sLWZpbGUuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsDQoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sLWZpbGU6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLA0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbC1maWxlOnZhbGlkfi52YWxpZC10b29sdGlwIHsNCiAgICBkaXNwbGF5OiBibG9jaw0KfQ0KDQouZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4uZm9ybS1jaGVjay1sYWJlbCwNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkfi5mb3JtLWNoZWNrLWxhYmVsIHsNCiAgICBjb2xvcjogIzI4YTc0NQ0KfQ0KDQouZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssDQouZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkfi52YWxpZC1mZWVkYmFjaywNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkfi52YWxpZC10b29sdGlwIHsNCiAgICBkaXNwbGF5OiBibG9jaw0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbCB7DQogICAgY29sb3I6ICMyOGE3NDUNCn0NCg0KLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgICBib3JkZXItY29sb3I6ICMyOGE3NDUNCn0NCg0KLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkfi52YWxpZC1mZWVkYmFjaywNCi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWR+LnZhbGlkLXRvb2x0aXAgew0KICAgIGRpc3BsYXk6IGJsb2NrDQp9DQoNCi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICAgIGJvcmRlci1jb2xvcjogIzM0Y2U1NzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzRjZTU3DQp9DQoNCi5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgLjI1KQ0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1czpub3QoOmNoZWNrZWQpfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgICBib3JkZXItY29sb3I6ICMyOGE3NDUNCn0NCg0KLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCwNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWwgew0KICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NQ0KfQ0KDQouY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLA0KLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi52YWxpZC10b29sdGlwLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkfi52YWxpZC1mZWVkYmFjaywNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZH4udmFsaWQtdG9vbHRpcCB7DQogICAgZGlzcGxheTogYmxvY2sNCn0NCg0KLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkOmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbCwNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwgew0KICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NTsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAuMjUpDQp9DQoNCi5pbnZhbGlkLWZlZWRiYWNrIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbi10b3A6IC4yNXJlbTsNCiAgICBmb250LXNpemU6IDgwJTsNCiAgICBjb2xvcjogI2RjMzU0NQ0KfQ0KDQouaW52YWxpZC10b29sdGlwIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAxMDAlOw0KICAgIHotaW5kZXg6IDU7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogLjI1cmVtIC41cmVtOw0KICAgIG1hcmdpbi10b3A6IC4xcmVtOw0KICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIwLCA1MywgNjksIC45KTsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0NCn0NCg0KLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkLA0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkIHsNCiAgICBib3JkZXItY29sb3I6ICNkYzM1NDU7DQogICAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIC43NXJlbSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZGMzNTQ1JyB2aWV3Qm94PSctMiAtMiA3IDcnJTNlJTNjcGF0aCBzdHJva2U9JyUyM2RjMzU0NScgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNlJTNjY2lyY2xlIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNlJTNjL3N2ZyUzRSIpOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IGNhbGMoLjM3NWVtICsgLjE4NzVyZW0pOw0KICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYyguNzVlbSArIC4zNzVyZW0pIGNhbGMoLjc1ZW0gKyAuMzc1cmVtKQ0KfQ0KDQouZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMsDQoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQ6Zm9jdXMgew0KICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAuMjUpDQp9DQoNCi5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywNCi5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLA0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLA0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAgew0KICAgIGRpc3BsYXk6IGJsb2NrDQp9DQoNCi53YXMtdmFsaWRhdGVkIHRleHRhcmVhLmZvcm0tY29udHJvbDppbnZhbGlkLA0KdGV4dGFyZWEuZm9ybS1jb250cm9sLmlzLWludmFsaWQgew0KICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAuNzVyZW0pOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjYWxjKC4zNzVlbSArIC4xODc1cmVtKSByaWdodCBjYWxjKC4zNzVlbSArIC4xODc1cmVtKQ0KfQ0KDQouY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCB7DQogICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1Ow0KICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDFlbSArIC43NXJlbSkgKiAzIC8gNCArIDEuNzVyZW0pOw0KICAgIGJhY2tncm91bmQ6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2UiKSBuby1yZXBlYXQgcmlnaHQgLjc1cmVtIGNlbnRlci84cHggMTBweCwgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZGMzNTQ1JyB2aWV3Qm94PSctMiAtMiA3IDcnJTNlJTNjcGF0aCBzdHJva2U9JyUyM2RjMzU0NScgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNlJTNjY2lyY2xlIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM2UlM2NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNlJTNjL3N2ZyUzRSIpICNmZmYgbm8tcmVwZWF0IGNlbnRlciByaWdodCAxLjc1cmVtL2NhbGMoLjc1ZW0gKyAuMzc1cmVtKSBjYWxjKC43NWVtICsgLjM3NXJlbSkNCn0NCg0KLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZDpmb2N1cywNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQ6Zm9jdXMgew0KICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAuMjUpDQp9DQoNCi5jdXN0b20tc2VsZWN0LmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssDQouY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZH4uaW52YWxpZC10b29sdGlwIHsNCiAgICBkaXNwbGF5OiBibG9jaw0KfQ0KDQouZm9ybS1jb250cm9sLWZpbGUuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywNCi5mb3JtLWNvbnRyb2wtZmlsZS5pcy1pbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsDQoud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sLWZpbGU6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAgew0KICAgIGRpc3BsYXk6IGJsb2NrDQp9DQoNCi5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWR+LmZvcm0tY2hlY2stbGFiZWwsDQoud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkfi5mb3JtLWNoZWNrLWxhYmVsIHsNCiAgICBjb2xvcjogI2RjMzU0NQ0KfQ0KDQouZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLA0KLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLA0KLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywNCi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWR+LmludmFsaWQtdG9vbHRpcCB7DQogICAgZGlzcGxheTogYmxvY2sNCn0NCg0KLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsIHsNCiAgICBjb2xvcjogI2RjMzU0NQ0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgICBib3JkZXItY29sb3I6ICNkYzM1NDUNCn0NCg0KLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uaW52YWxpZC10b29sdGlwIHsNCiAgICBkaXNwbGF5OiBibG9jaw0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogICAgYm9yZGVyLWNvbG9yOiAjZTQ2MDZkOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlNDYwNmQNCn0NCg0KLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Zm9jdXN+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsDQoud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgLjI1KQ0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpmb2N1czpub3QoOmNoZWNrZWQpfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1DQp9DQoNCi5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCwNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCB7DQogICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1DQp9DQoNCi5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLA0KLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwNCi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWR+LmludmFsaWQtdG9vbHRpcCB7DQogICAgZGlzcGxheTogYmxvY2sNCn0NCg0KLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVsLA0KLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVsIHsNCiAgICBib3JkZXItY29sb3I6ICNkYzM1NDU7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgLjI1KQ0KfQ0KDQouZm9ybS1pbmxpbmUgew0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7DQogICAgZmxleC1mbG93OiByb3cgd3JhcDsNCiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOw0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXINCn0NCg0KLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHsNCiAgICB3aWR0aDogMTAwJQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5mb3JtLWlubGluZSBsYWJlbCB7DQogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOw0KICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7DQogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuZm9ybS1ncm91cCB7DQogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87DQogICAgICAgIGZsZXg6IDAgMCBhdXRvOw0KICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgd3JhcDsNCiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMA0KICAgIH0NCiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbCB7DQogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgd2lkdGg6IGF1dG87DQogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHsNCiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrDQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuY3VzdG9tLXNlbGVjdCwNCiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHsNCiAgICAgICAgd2lkdGg6IGF1dG8NCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHsNCiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDANCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDsNCiAgICAgICAgZmxleC1zaHJpbms6IDA7DQogICAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICAgIG1hcmdpbi1yaWdodDogLjI1cmVtOw0KICAgICAgICBtYXJnaW4tbGVmdDogMA0KICAgIH0NCiAgICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sIHsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOw0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcg0KICAgIH0NCiAgICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sLWxhYmVsIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMA0KICAgIH0NCn0NCg0KLmJ0biB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOw0KICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsNCiAgICB1c2VyLXNlbGVjdDogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICBwYWRkaW5nOiAuMzc1cmVtIC43NXJlbTsNCiAgICBmb250LXNpemU6IDFyZW07DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07DQogICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0DQp9DQoNCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpIHsNCiAgICAuYnRuIHsNCiAgICAgICAgdHJhbnNpdGlvbjogbm9uZQ0KICAgIH0NCn0NCg0KLmJ0bjpob3ZlciB7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lDQp9DQoNCi5idG4uZm9jdXMsDQouYnRuOmZvY3VzIHsNCiAgICBvdXRsaW5lOiAwOw0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIC4yNSkNCn0NCg0KLmJ0bi5kaXNhYmxlZCwNCi5idG46ZGlzYWJsZWQgew0KICAgIG9wYWNpdHk6IC42NQ0KfQ0KDQphLmJ0bi5kaXNhYmxlZCwNCmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHsNCiAgICBwb2ludGVyLWV2ZW50czogbm9uZQ0KfQ0KDQouYnRuLXByaW1hcnkgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7DQogICAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmDQp9DQoNCi5idG4tcHJpbWFyeTpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjlkOTsNCiAgICBib3JkZXItY29sb3I6ICMwMDYyY2MNCn0NCg0KLmJ0bi1wcmltYXJ5LmZvY3VzLA0KLmJ0bi1wcmltYXJ5OmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDM4LCAxNDMsIDI1NSwgLjUpDQp9DQoNCi5idG4tcHJpbWFyeS5kaXNhYmxlZCwNCi5idG4tcHJpbWFyeTpkaXNhYmxlZCB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCiAgICBib3JkZXItY29sb3I6ICMwMDdiZmYNCn0NCg0KLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsDQouc2hvdz4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MmNjOw0KICAgIGJvcmRlci1jb2xvcjogIzAwNWNiZg0KfQ0KDQouYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywNCi5zaG93Pi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMzgsIDE0MywgMjU1LCAuNSkNCn0NCg0KLmJ0bi1zZWNvbmRhcnkgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7DQogICAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkDQp9DQoNCi5idG4tc2Vjb25kYXJ5OmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWE2MjY4Ow0KICAgIGJvcmRlci1jb2xvcjogIzU0NWI2Mg0KfQ0KDQouYnRuLXNlY29uZGFyeS5mb2N1cywNCi5idG4tc2Vjb25kYXJ5OmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDEzMCwgMTM4LCAxNDUsIC41KQ0KfQ0KDQouYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwNCi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkOw0KICAgIGJvcmRlci1jb2xvcjogIzZjNzU3ZA0KfQ0KDQouYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsDQouc2hvdz4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjI7DQogICAgYm9yZGVyLWNvbG9yOiAjNGU1NTViDQp9DQoNCi5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywNCi5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywNCi5zaG93Pi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgxMzAsIDEzOCwgMTQ1LCAuNSkNCn0NCg0KLmJ0bi1zdWNjZXNzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1Ow0KICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NQ0KfQ0KDQouYnRuLXN1Y2Nlc3M6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTg4Mzg7DQogICAgYm9yZGVyLWNvbG9yOiAjMWU3ZTM0DQp9DQoNCi5idG4tc3VjY2Vzcy5mb2N1cywNCi5idG4tc3VjY2Vzczpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg3MiwgMTgwLCA5NywgLjUpDQp9DQoNCi5idG4tc3VjY2Vzcy5kaXNhYmxlZCwNCi5idG4tc3VjY2VzczpkaXNhYmxlZCB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTsNCiAgICBib3JkZXItY29sb3I6ICMyOGE3NDUNCn0NCg0KLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsDQouc2hvdz4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0Ow0KICAgIGJvcmRlci1jb2xvcjogIzFjNzQzMA0KfQ0KDQouYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywNCi5zaG93Pi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoNzIsIDE4MCwgOTcsIC41KQ0KfQ0KDQouYnRuLWluZm8gew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7DQogICAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4DQp9DQoNCi5idG4taW5mbzpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzEzODQ5NjsNCiAgICBib3JkZXItY29sb3I6ICMxMTdhOGINCn0NCg0KLmJ0bi1pbmZvLmZvY3VzLA0KLmJ0bi1pbmZvOmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDU4LCAxNzYsIDE5NSwgLjUpDQp9DQoNCi5idG4taW5mby5kaXNhYmxlZCwNCi5idG4taW5mbzpkaXNhYmxlZCB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODsNCiAgICBib3JkZXItY29sb3I6ICMxN2EyYjgNCn0NCg0KLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsDQouc2hvdz4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiOw0KICAgIGJvcmRlci1jb2xvcjogIzEwNzA3Zg0KfQ0KDQouYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywNCi5zaG93Pi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoNTgsIDE3NiwgMTk1LCAuNSkNCn0NCg0KLmJ0bi13YXJuaW5nIHsNCiAgICBjb2xvcjogIzIxMjUyOTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3Ow0KICAgIGJvcmRlci1jb2xvcjogI2ZmYzEwNw0KfQ0KDQouYnRuLXdhcm5pbmc6aG92ZXIgew0KICAgIGNvbG9yOiAjMjEyNTI5Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGE4MDA7DQogICAgYm9yZGVyLWNvbG9yOiAjZDM5ZTAwDQp9DQoNCi5idG4td2FybmluZy5mb2N1cywNCi5idG4td2FybmluZzpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyMjIsIDE3MCwgMTIsIC41KQ0KfQ0KDQouYnRuLXdhcm5pbmcuZGlzYWJsZWQsDQouYnRuLXdhcm5pbmc6ZGlzYWJsZWQgew0KICAgIGNvbG9yOiAjMjEyNTI5Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7DQogICAgYm9yZGVyLWNvbG9yOiAjZmZjMTA3DQp9DQoNCi5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLA0KLnNob3c+LmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMDsNCiAgICBib3JkZXItY29sb3I6ICNjNjk1MDANCn0NCg0KLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywNCi5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsDQouc2hvdz4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDIyMiwgMTcwLCAxMiwgLjUpDQp9DQoNCi5idG4tZGFuZ2VyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzNTQ1Ow0KICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NQ0KfQ0KDQouYnRuLWRhbmdlcjpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M4MjMzMzsNCiAgICBib3JkZXItY29sb3I6ICNiZDIxMzANCn0NCg0KLmJ0bi1kYW5nZXIuZm9jdXMsDQouYnRuLWRhbmdlcjpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyMjUsIDgzLCA5NywgLjUpDQp9DQoNCi5idG4tZGFuZ2VyLmRpc2FibGVkLA0KLmJ0bi1kYW5nZXI6ZGlzYWJsZWQgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7DQogICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1DQp9DQoNCi5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwNCi5zaG93Pi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2JkMjEzMDsNCiAgICBib3JkZXItY29sb3I6ICNiMjFmMmQNCn0NCg0KLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLA0KLnNob3c+LmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDIyNSwgODMsIDk3LCAuNSkNCn0NCg0KLmJ0bi1saWdodCB7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTsNCiAgICBib3JkZXItY29sb3I6ICNmOGY5ZmENCn0NCg0KLmJ0bi1saWdodDpob3ZlciB7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTZlYTsNCiAgICBib3JkZXItY29sb3I6ICNkYWUwZTUNCn0NCg0KLmJ0bi1saWdodC5mb2N1cywNCi5idG4tbGlnaHQ6Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMjE2LCAyMTcsIDIxOSwgLjUpDQp9DQoNCi5idG4tbGlnaHQuZGlzYWJsZWQsDQouYnRuLWxpZ2h0OmRpc2FibGVkIHsNCiAgICBjb2xvcjogIzIxMjUyOTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOw0KICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYQ0KfQ0KDQouYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLA0KLnNob3c+LmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGUgew0KICAgIGNvbG9yOiAjMjEyNTI5Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWUwZTU7DQogICAgYm9yZGVyLWNvbG9yOiAjZDNkOWRmDQp9DQoNCi5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsDQouc2hvdz4uYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyMTYsIDIxNywgMjE5LCAuNSkNCn0NCg0KLmJ0bi1kYXJrIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwOw0KICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MA0KfQ0KDQouYnRuLWRhcms6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzI3MmI7DQogICAgYm9yZGVyLWNvbG9yOiAjMWQyMTI0DQp9DQoNCi5idG4tZGFyay5mb2N1cywNCi5idG4tZGFyazpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg4MiwgODgsIDkzLCAuNSkNCn0NCg0KLmJ0bi1kYXJrLmRpc2FibGVkLA0KLmJ0bi1kYXJrOmRpc2FibGVkIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwOw0KICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MA0KfQ0KDQouYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLA0KLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwNCi5zaG93Pi5idG4tZGFyay5kcm9wZG93bi10b2dnbGUgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQ7DQogICAgYm9yZGVyLWNvbG9yOiAjMTcxYTFkDQp9DQoNCi5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsDQouYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLA0KLnNob3c+LmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg4MiwgODgsIDkzLCAuNSkNCn0NCg0KLmJ0bi1vdXRsaW5lLXByaW1hcnkgew0KICAgIGNvbG9yOiAjMDA3YmZmOw0KICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZg0KfQ0KDQouYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCiAgICBib3JkZXItY29sb3I6ICMwMDdiZmYNCn0NCg0KLmJ0bi1vdXRsaW5lLXByaW1hcnkuZm9jdXMsDQouYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgLjUpDQp9DQoNCi5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLA0KLmJ0bi1vdXRsaW5lLXByaW1hcnk6ZGlzYWJsZWQgew0KICAgIGNvbG9yOiAjMDA3YmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50DQp9DQoNCi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwNCi5zaG93Pi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCiAgICBib3JkZXItY29sb3I6ICMwMDdiZmYNCn0NCg0KLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLA0KLnNob3c+LmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAuNSkNCn0NCg0KLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7DQogICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkDQp9DQoNCi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7DQogICAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkDQp9DQoNCi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMsDQouYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIC41KQ0KfQ0KDQouYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkLA0KLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpkaXNhYmxlZCB7DQogICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQNCn0NCg0KLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwNCi5zaG93Pi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkOw0KICAgIGJvcmRlci1jb2xvcjogIzZjNzU3ZA0KfQ0KDQouYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywNCi5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLA0KLnNob3c+LmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgLjUpDQp9DQoNCi5idG4tb3V0bGluZS1zdWNjZXNzIHsNCiAgICBjb2xvcjogIzI4YTc0NTsNCiAgICBib3JkZXItY29sb3I6ICMyOGE3NDUNCn0NCg0KLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7DQogICAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1DQp9DQoNCi5idG4tb3V0bGluZS1zdWNjZXNzLmZvY3VzLA0KLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIC41KQ0KfQ0KDQouYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZCwNCi5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVkIHsNCiAgICBjb2xvcjogIzI4YTc0NTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudA0KfQ0KDQouYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsDQouYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsDQouc2hvdz4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7DQogICAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1DQp9DQoNCi5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywNCi5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywNCi5zaG93Pi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgLjUpDQp9DQoNCi5idG4tb3V0bGluZS1pbmZvIHsNCiAgICBjb2xvcjogIzE3YTJiODsNCiAgICBib3JkZXItY29sb3I6ICMxN2EyYjgNCn0NCg0KLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7DQogICAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4DQp9DQoNCi5idG4tb3V0bGluZS1pbmZvLmZvY3VzLA0KLmJ0bi1vdXRsaW5lLWluZm86Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAuNSkNCn0NCg0KLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQsDQouYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZCB7DQogICAgY29sb3I6ICMxN2EyYjg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQNCn0NCg0KLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLA0KLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLA0KLnNob3c+LmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4Ow0KICAgIGJvcmRlci1jb2xvcjogIzE3YTJiOA0KfQ0KDQouYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsDQouYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsDQouc2hvdz4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAuNSkNCn0NCg0KLmJ0bi1vdXRsaW5lLXdhcm5pbmcgew0KICAgIGNvbG9yOiAjZmZjMTA3Ow0KICAgIGJvcmRlci1jb2xvcjogI2ZmYzEwNw0KfQ0KDQouYnRuLW91dGxpbmUtd2FybmluZzpob3ZlciB7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNzsNCiAgICBib3JkZXItY29sb3I6ICNmZmMxMDcNCn0NCg0KLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZm9jdXMsDQouYnRuLW91dGxpbmUtd2FybmluZzpmb2N1cyB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgLjUpDQp9DQoNCi5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLA0KLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQgew0KICAgIGNvbG9yOiAjZmZjMTA3Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50DQp9DQoNCi5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwNCi5zaG93Pi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNzsNCiAgICBib3JkZXItY29sb3I6ICNmZmMxMDcNCn0NCg0KLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLA0KLnNob3c+LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAuNSkNCn0NCg0KLmJ0bi1vdXRsaW5lLWRhbmdlciB7DQogICAgY29sb3I6ICNkYzM1NDU7DQogICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1DQp9DQoNCi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7DQogICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1DQp9DQoNCi5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMsDQouYnRuLW91dGxpbmUtZGFuZ2VyOmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAuNSkNCn0NCg0KLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZCwNCi5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQgew0KICAgIGNvbG9yOiAjZGMzNTQ1Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50DQp9DQoNCi5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLA0KLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsDQouc2hvdz4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTsNCiAgICBib3JkZXItY29sb3I6ICNkYzM1NDUNCn0NCg0KLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsDQouYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywNCi5zaG93Pi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAuNSkNCn0NCg0KLmJ0bi1vdXRsaW5lLWxpZ2h0IHsNCiAgICBjb2xvcjogI2Y4ZjlmYTsNCiAgICBib3JkZXItY29sb3I6ICNmOGY5ZmENCn0NCg0KLmJ0bi1vdXRsaW5lLWxpZ2h0OmhvdmVyIHsNCiAgICBjb2xvcjogIzIxMjUyOTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOw0KICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYQ0KfQ0KDQouYnRuLW91dGxpbmUtbGlnaHQuZm9jdXMsDQouYnRuLW91dGxpbmUtbGlnaHQ6Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgLjUpDQp9DQoNCi5idG4tb3V0bGluZS1saWdodC5kaXNhYmxlZCwNCi5idG4tb3V0bGluZS1saWdodDpkaXNhYmxlZCB7DQogICAgY29sb3I6ICNmOGY5ZmE7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQNCn0NCg0KLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsDQouc2hvdz4uYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBjb2xvcjogIzIxMjUyOTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOw0KICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYQ0KfQ0KDQouYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywNCi5zaG93Pi5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgLjUpDQp9DQoNCi5idG4tb3V0bGluZS1kYXJrIHsNCiAgICBjb2xvcjogIzM0M2E0MDsNCiAgICBib3JkZXItY29sb3I6ICMzNDNhNDANCn0NCg0KLmJ0bi1vdXRsaW5lLWRhcms6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7DQogICAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwDQp9DQoNCi5idG4tb3V0bGluZS1kYXJrLmZvY3VzLA0KLmJ0bi1vdXRsaW5lLWRhcms6Zm9jdXMgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgLjUpDQp9DQoNCi5idG4tb3V0bGluZS1kYXJrLmRpc2FibGVkLA0KLmJ0bi1vdXRsaW5lLWRhcms6ZGlzYWJsZWQgew0KICAgIGNvbG9yOiAjMzQzYTQwOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50DQp9DQoNCi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwNCi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwNCi5zaG93Pi5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDsNCiAgICBib3JkZXItY29sb3I6ICMzNDNhNDANCn0NCg0KLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLA0KLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLA0KLnNob3c+LmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIC41KQ0KfQ0KDQouYnRuLWxpbmsgew0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgY29sb3I6ICMwMDdiZmY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lDQp9DQoNCi5idG4tbGluazpob3ZlciB7DQogICAgY29sb3I6ICMwMDU2YjM7DQogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUNCn0NCg0KLmJ0bi1saW5rLmZvY3VzLA0KLmJ0bi1saW5rOmZvY3VzIHsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCiAgICBib3gtc2hhZG93OiBub25lDQp9DQoNCi5idG4tbGluay5kaXNhYmxlZCwNCi5idG4tbGluazpkaXNhYmxlZCB7DQogICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmUNCn0NCg0KLmJ0bi1ncm91cC1sZz4uYnRuLA0KLmJ0bi1sZyB7DQogICAgcGFkZGluZzogLjVyZW0gMXJlbTsNCiAgICBmb250LXNpemU6IDEuMjVyZW07DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBib3JkZXItcmFkaXVzOiAuM3JlbQ0KfQ0KDQouYnRuLWdyb3VwLXNtPi5idG4sDQouYnRuLXNtIHsNCiAgICBwYWRkaW5nOiAuMjVyZW0gLjVyZW07DQogICAgZm9udC1zaXplOiAuODc1cmVtOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogICAgYm9yZGVyLXJhZGl1czogLjJyZW0NCn0NCg0KLmJ0bi1ibG9jayB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCUNCn0NCg0KLmJ0bi1ibG9jaysuYnRuLWJsb2NrIHsNCiAgICBtYXJnaW4tdG9wOiAuNXJlbQ0KfQ0KDQppbnB1dFt0eXBlPWJ1dHRvbl0uYnRuLWJsb2NrLA0KaW5wdXRbdHlwZT1yZXNldF0uYnRuLWJsb2NrLA0KaW5wdXRbdHlwZT1zdWJtaXRdLmJ0bi1ibG9jayB7DQogICAgd2lkdGg6IDEwMCUNCn0NCg0KLmZhZGUgew0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBsaW5lYXINCn0NCg0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgew0KICAgIC5mYWRlIHsNCiAgICAgICAgdHJhbnNpdGlvbjogbm9uZQ0KICAgIH0NCn0NCg0KLmZhZGU6bm90KC5zaG93KSB7DQogICAgb3BhY2l0eTogMA0KfQ0KDQouY29sbGFwc2U6bm90KC5zaG93KSB7DQogICAgZGlzcGxheTogbm9uZQ0KfQ0KDQouY29sbGFwc2luZyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGhlaWdodDogMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHRyYW5zaXRpb246IGhlaWdodCAuMzVzIGVhc2UNCn0NCg0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgew0KICAgIC5jb2xsYXBzaW5nIHsNCiAgICAgICAgdHJhbnNpdGlvbjogbm9uZQ0KICAgIH0NCn0NCg0KLmRyb3Bkb3duLA0KLmRyb3BsZWZ0LA0KLmRyb3ByaWdodCwNCi5kcm9wdXAgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZQ0KfQ0KDQouZHJvcGRvd24tdG9nZ2xlIHsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwDQp9DQoNCi5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbWFyZ2luLWxlZnQ6IC4yNTVlbTsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogLjI1NWVtOw0KICAgIGNvbnRlbnQ6ICIiOw0KICAgIGJvcmRlci10b3A6IC4zZW0gc29saWQ7DQogICAgYm9yZGVyLXJpZ2h0OiAuM2VtIHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1ib3R0b206IDA7DQogICAgYm9yZGVyLWxlZnQ6IC4zZW0gc29saWQgdHJhbnNwYXJlbnQNCn0NCg0KLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIgew0KICAgIG1hcmdpbi1sZWZ0OiAwDQp9DQoNCi5kcm9wZG93bi1tZW51IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAxMDAlOw0KICAgIGxlZnQ6IDA7DQogICAgei1pbmRleDogMTAwMDsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIG1pbi13aWR0aDogMTByZW07DQogICAgcGFkZGluZzogLjVyZW0gMDsNCiAgICBtYXJnaW46IC4xMjVyZW0gMCAwOw0KICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICBjb2xvcjogIzIxMjUyOTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjE1KTsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0NCn0NCg0KLmRyb3Bkb3duLW1lbnUtbGVmdCB7DQogICAgcmlnaHQ6IGF1dG87DQogICAgbGVmdDogMA0KfQ0KDQouZHJvcGRvd24tbWVudS1yaWdodCB7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogYXV0bw0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5kcm9wZG93bi1tZW51LXNtLWxlZnQgew0KICAgICAgICByaWdodDogYXV0bzsNCiAgICAgICAgbGVmdDogMA0KICAgIH0NCiAgICAuZHJvcGRvd24tbWVudS1zbS1yaWdodCB7DQogICAgICAgIHJpZ2h0OiAwOw0KICAgICAgICBsZWZ0OiBhdXRvDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgew0KICAgIC5kcm9wZG93bi1tZW51LW1kLWxlZnQgew0KICAgICAgICByaWdodDogYXV0bzsNCiAgICAgICAgbGVmdDogMA0KICAgIH0NCiAgICAuZHJvcGRvd24tbWVudS1tZC1yaWdodCB7DQogICAgICAgIHJpZ2h0OiAwOw0KICAgICAgICBsZWZ0OiBhdXRvDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgew0KICAgIC5kcm9wZG93bi1tZW51LWxnLWxlZnQgew0KICAgICAgICByaWdodDogYXV0bzsNCiAgICAgICAgbGVmdDogMA0KICAgIH0NCiAgICAuZHJvcGRvd24tbWVudS1sZy1yaWdodCB7DQogICAgICAgIHJpZ2h0OiAwOw0KICAgICAgICBsZWZ0OiBhdXRvDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpIHsNCiAgICAuZHJvcGRvd24tbWVudS14bC1sZWZ0IHsNCiAgICAgICAgcmlnaHQ6IGF1dG87DQogICAgICAgIGxlZnQ6IDANCiAgICB9DQogICAgLmRyb3Bkb3duLW1lbnUteGwtcmlnaHQgew0KICAgICAgICByaWdodDogMDsNCiAgICAgICAgbGVmdDogYXV0bw0KICAgIH0NCn0NCg0KLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7DQogICAgdG9wOiBhdXRvOw0KICAgIGJvdHRvbTogMTAwJTsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IC4xMjVyZW0NCn0NCg0KLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG1hcmdpbi1sZWZ0OiAuMjU1ZW07DQogICAgdmVydGljYWwtYWxpZ246IC4yNTVlbTsNCiAgICBjb250ZW50OiAiIjsNCiAgICBib3JkZXItdG9wOiAwOw0KICAgIGJvcmRlci1yaWdodDogLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItYm90dG9tOiAuM2VtIHNvbGlkOw0KICAgIGJvcmRlci1sZWZ0OiAuM2VtIHNvbGlkIHRyYW5zcGFyZW50DQp9DQoNCi5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIgew0KICAgIG1hcmdpbi1sZWZ0OiAwDQp9DQoNCi5kcm9wcmlnaHQgLmRyb3Bkb3duLW1lbnUgew0KICAgIHRvcDogMDsNCiAgICByaWdodDogYXV0bzsNCiAgICBsZWZ0OiAxMDAlOw0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLWxlZnQ6IC4xMjVyZW0NCn0NCg0KLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG1hcmdpbi1sZWZ0OiAuMjU1ZW07DQogICAgdmVydGljYWwtYWxpZ246IC4yNTVlbTsNCiAgICBjb250ZW50OiAiIjsNCiAgICBib3JkZXItdG9wOiAuM2VtIHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yaWdodDogMDsNCiAgICBib3JkZXItYm90dG9tOiAuM2VtIHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1sZWZ0OiAuM2VtIHNvbGlkDQp9DQoNCi5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIgew0KICAgIG1hcmdpbi1sZWZ0OiAwDQp9DQoNCi5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIgew0KICAgIHZlcnRpY2FsLWFsaWduOiAwDQp9DQoNCi5kcm9wbGVmdCAuZHJvcGRvd24tbWVudSB7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAxMDAlOw0KICAgIGxlZnQ6IGF1dG87DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tcmlnaHQ6IC4xMjVyZW0NCn0NCg0KLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbWFyZ2luLWxlZnQ6IC4yNTVlbTsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogLjI1NWVtOw0KICAgIGNvbnRlbnQ6ICIiDQp9DQoNCi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7DQogICAgZGlzcGxheTogbm9uZQ0KfQ0KDQouZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbWFyZ2luLXJpZ2h0OiAuMjU1ZW07DQogICAgdmVydGljYWwtYWxpZ246IC4yNTVlbTsNCiAgICBjb250ZW50OiAiIjsNCiAgICBib3JkZXItdG9wOiAuM2VtIHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yaWdodDogLjNlbSBzb2xpZDsNCiAgICBib3JkZXItYm90dG9tOiAuM2VtIHNvbGlkIHRyYW5zcGFyZW50DQp9DQoNCi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7DQogICAgbWFyZ2luLWxlZnQ6IDANCn0NCg0KLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7DQogICAgdmVydGljYWwtYWxpZ246IDANCn0NCg0KLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePWJvdHRvbV0sDQouZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49bGVmdF0sDQouZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49cmlnaHRdLA0KLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePXRvcF0gew0KICAgIHJpZ2h0OiBhdXRvOw0KICAgIGJvdHRvbTogYXV0bw0KfQ0KDQouZHJvcGRvd24tZGl2aWRlciB7DQogICAgaGVpZ2h0OiAwOw0KICAgIG1hcmdpbjogLjVyZW0gMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllY2VmDQp9DQoNCi5kcm9wZG93bi1pdGVtIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAuMjVyZW0gMS41cmVtOw0KICAgIGNsZWFyOiBib3RoOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgdGV4dC1hbGlnbjogaW5oZXJpdDsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMA0KfQ0KDQouZHJvcGRvd24taXRlbTpmb2N1cywNCi5kcm9wZG93bi1pdGVtOmhvdmVyIHsNCiAgICBjb2xvcjogIzE2MTgxYjsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYQ0KfQ0KDQouZHJvcGRvd24taXRlbS5hY3RpdmUsDQouZHJvcGRvd24taXRlbTphY3RpdmUgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmDQp9DQoNCi5kcm9wZG93bi1pdGVtLmRpc2FibGVkLA0KLmRyb3Bkb3duLWl0ZW06ZGlzYWJsZWQgew0KICAgIGNvbG9yOiAjNmM3NTdkOw0KICAgIHBvaW50ZXItZXZlbnRzOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50DQp9DQoNCi5kcm9wZG93bi1tZW51LnNob3cgew0KICAgIGRpc3BsYXk6IGJsb2NrDQp9DQoNCi5kcm9wZG93bi1oZWFkZXIgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IC41cmVtIDEuNXJlbTsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsNCiAgICBjb2xvcjogIzZjNzU3ZDsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwDQp9DQoNCi5kcm9wZG93bi1pdGVtLXRleHQgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IC4yNXJlbSAxLjVyZW07DQogICAgY29sb3I6ICMyMTI1MjkNCn0NCg0KLmJ0bi1ncm91cCwNCi5idG4tZ3JvdXAtdmVydGljYWwgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7DQogICAgZGlzcGxheTogaW5saW5lLWZsZXg7DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZQ0KfQ0KDQouYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4sDQouYnRuLWdyb3VwPi5idG4gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAtbXMtZmxleDogMSAxIGF1dG87DQogICAgZmxleDogMSAxIGF1dG8NCn0NCg0KLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmhvdmVyLA0KLmJ0bi1ncm91cD4uYnRuOmhvdmVyIHsNCiAgICB6LWluZGV4OiAxDQp9DQoNCi5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi5hY3RpdmUsDQouYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46YWN0aXZlLA0KLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmZvY3VzLA0KLmJ0bi1ncm91cD4uYnRuLmFjdGl2ZSwNCi5idG4tZ3JvdXA+LmJ0bjphY3RpdmUsDQouYnRuLWdyb3VwPi5idG46Zm9jdXMgew0KICAgIHotaW5kZXg6IDENCn0NCg0KLmJ0bi10b29sYmFyIHsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7DQogICAgZmxleC13cmFwOiB3cmFwOw0KICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0Ow0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydA0KfQ0KDQouYnRuLXRvb2xiYXIgLmlucHV0LWdyb3VwIHsNCiAgICB3aWR0aDogYXV0bw0KfQ0KDQouYnRuLWdyb3VwPi5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCksDQouYnRuLWdyb3VwPi5idG46bm90KDpmaXJzdC1jaGlsZCkgew0KICAgIG1hcmdpbi1sZWZ0OiAtMXB4DQp9DQoNCi5idG4tZ3JvdXA+LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sDQouYnRuLWdyb3VwPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwDQp9DQoNCi5idG4tZ3JvdXA+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLA0KLmJ0bi1ncm91cD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDANCn0NCg0KLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7DQogICAgcGFkZGluZy1yaWdodDogLjU2MjVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAuNTYyNXJlbQ0KfQ0KDQouZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwNCi5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YWZ0ZXIsDQouZHJvcHVwIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHsNCiAgICBtYXJnaW4tbGVmdDogMA0KfQ0KDQouZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YmVmb3JlIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDANCn0NCg0KLmJ0bi1ncm91cC1zbT4uYnRuKy5kcm9wZG93bi10b2dnbGUtc3BsaXQsDQouYnRuLXNtKy5kcm9wZG93bi10b2dnbGUtc3BsaXQgew0KICAgIHBhZGRpbmctcmlnaHQ6IC4zNzVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAuMzc1cmVtDQp9DQoNCi5idG4tZ3JvdXAtbGc+LmJ0bisuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LA0KLmJ0bi1sZysuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAuNzVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAuNzVyZW0NCn0NCg0KLmJ0bi1ncm91cC12ZXJ0aWNhbCB7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7DQogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7DQogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyDQp9DQoNCi5idG4tZ3JvdXAtdmVydGljYWw+LmJ0biwNCi5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cCB7DQogICAgd2lkdGg6IDEwMCUNCn0NCg0KLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpLA0KLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpIHsNCiAgICBtYXJnaW4tdG9wOiAtMXB4DQp9DQoNCi5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sDQouYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkgew0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDANCn0NCg0KLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sDQouYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bm90KDpmaXJzdC1jaGlsZCkgew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDANCn0NCg0KLmJ0bi1ncm91cC10b2dnbGU+LmJ0biwNCi5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0biB7DQogICAgbWFyZ2luLWJvdHRvbTogMA0KfQ0KDQouYnRuLWdyb3VwLXRvZ2dsZT4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLA0KLmJ0bi1ncm91cC10b2dnbGU+LmJ0biBpbnB1dFt0eXBlPXJhZGlvXSwNCi5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSwNCi5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0biBpbnB1dFt0eXBlPXJhZGlvXSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmUNCn0NCg0KLmlucHV0LWdyb3VwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtbXMtZmxleC13cmFwOiB3cmFwOw0KICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDsNCiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsNCiAgICB3aWR0aDogMTAwJQ0KfQ0KDQouaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlLA0KLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0LA0KLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wsDQouaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbC1wbGFpbnRleHQgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAtbXMtZmxleDogMSAxIGF1dG87DQogICAgZmxleDogMSAxIGF1dG87DQogICAgd2lkdGg6IDElOw0KICAgIG1hcmdpbi1ib3R0b206IDANCn0NCg0KLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSsuY3VzdG9tLWZpbGUsDQouaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlKy5jdXN0b20tc2VsZWN0LA0KLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSsuZm9ybS1jb250cm9sLA0KLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0Ky5jdXN0b20tZmlsZSwNCi5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCsuY3VzdG9tLXNlbGVjdCwNCi5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCsuZm9ybS1jb250cm9sLA0KLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wrLmN1c3RvbS1maWxlLA0KLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wrLmN1c3RvbS1zZWxlY3QsDQouaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbCsuZm9ybS1jb250cm9sLA0KLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0Ky5jdXN0b20tZmlsZSwNCi5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sLXBsYWludGV4dCsuY3VzdG9tLXNlbGVjdCwNCi5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sLXBsYWludGV4dCsuZm9ybS1jb250cm9sIHsNCiAgICBtYXJnaW4tbGVmdDogLTFweA0KfQ0KDQouaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwsDQouaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3Q6Zm9jdXMsDQouaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbDpmb2N1cyB7DQogICAgei1pbmRleDogMw0KfQ0KDQouaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7DQogICAgei1pbmRleDogNA0KfQ0KDQouaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSwNCi5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCkgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwDQp9DQoNCi5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSwNCi5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDANCn0NCg0KLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSB7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOw0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXINCn0NCg0KLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCwNCi5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMA0KfQ0KDQouaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwDQp9DQoNCi5pbnB1dC1ncm91cC1hcHBlbmQsDQouaW5wdXQtZ3JvdXAtcHJlcGVuZCB7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleA0KfQ0KDQouaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4sDQouaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMg0KfQ0KDQouaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG46Zm9jdXMsDQouaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuOmZvY3VzIHsNCiAgICB6LWluZGV4OiAzDQp9DQoNCi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0bisuYnRuLA0KLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuKy5pbnB1dC1ncm91cC10ZXh0LA0KLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuYnRuLA0KLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuaW5wdXQtZ3JvdXAtdGV4dCwNCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4rLmJ0biwNCi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4rLmlucHV0LWdyb3VwLXRleHQsDQouaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuYnRuLA0KLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQrLmlucHV0LWdyb3VwLXRleHQgew0KICAgIG1hcmdpbi1sZWZ0OiAtMXB4DQp9DQoNCi5pbnB1dC1ncm91cC1wcmVwZW5kIHsNCiAgICBtYXJnaW4tcmlnaHQ6IC0xcHgNCn0NCg0KLmlucHV0LWdyb3VwLWFwcGVuZCB7DQogICAgbWFyZ2luLWxlZnQ6IC0xcHgNCn0NCg0KLmlucHV0LWdyb3VwLXRleHQgew0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgZm9udC1zaXplOiAxcmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBjb2xvcjogIzQ5NTA1NzsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7DQogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtDQp9DQoNCi5pbnB1dC1ncm91cC10ZXh0IGlucHV0W3R5cGU9Y2hlY2tib3hdLA0KLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1yYWRpb10gew0KICAgIG1hcmdpbi10b3A6IDANCn0NCg0KLmlucHV0LWdyb3VwLWxnPi5jdXN0b20tc2VsZWN0LA0KLmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSB7DQogICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCkNCn0NCg0KLmlucHV0LWdyb3VwLWxnPi5jdXN0b20tc2VsZWN0LA0KLmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2wsDQouaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLA0KLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmlucHV0LWdyb3VwLXRleHQsDQouaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmJ0biwNCi5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCB7DQogICAgcGFkZGluZzogLjVyZW0gMXJlbTsNCiAgICBmb250LXNpemU6IDEuMjVyZW07DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBib3JkZXItcmFkaXVzOiAuM3JlbQ0KfQ0KDQouaW5wdXQtZ3JvdXAtc20+LmN1c3RvbS1zZWxlY3QsDQouaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpIHsNCiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAuNXJlbSArIDJweCkNCn0NCg0KLmlucHV0LWdyb3VwLXNtPi5jdXN0b20tc2VsZWN0LA0KLmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wsDQouaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLA0KLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmlucHV0LWdyb3VwLXRleHQsDQouaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmJ0biwNCi5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCB7DQogICAgcGFkZGluZzogLjI1cmVtIC41cmVtOw0KICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtDQp9DQoNCi5pbnB1dC1ncm91cC1sZz4uY3VzdG9tLXNlbGVjdCwNCi5pbnB1dC1ncm91cC1zbT4uY3VzdG9tLXNlbGVjdCB7DQogICAgcGFkZGluZy1yaWdodDogMS43NXJlbQ0KfQ0KDQouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksDQouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkPi5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCksDQouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpPi5idG4sDQouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpPi5pbnB1dC1ncm91cC10ZXh0LA0KLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sDQouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmlucHV0LWdyb3VwLXRleHQgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwDQp9DQoNCi5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5idG4sDQouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCwNCi5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLA0KLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkPi5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpLA0KLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sDQouaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCk+LmlucHV0LWdyb3VwLXRleHQgew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMA0KfQ0KDQouY3VzdG9tLWNvbnRyb2wgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtaW4taGVpZ2h0OiAxLjVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0NCn0NCg0KLmN1c3RvbS1jb250cm9sLWlubGluZSB7DQogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGlubGluZS1mbGV4Ow0KICAgIG1hcmdpbi1yaWdodDogMXJlbQ0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB6LWluZGV4OiAtMTsNCiAgICBvcGFjaXR5OiAwDQp9DQoNCi5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZg0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Zm9jdXN+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIC4yNSkNCn0NCg0KLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3VzOm5vdCg6Y2hlY2tlZCl+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICAgIGJvcmRlci1jb2xvcjogIzgwYmRmZg0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQ6bm90KDpkaXNhYmxlZCk6YWN0aXZlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmOw0KICAgIGJvcmRlci1jb2xvcjogI2IzZDdmZg0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsIHsNCiAgICBjb2xvcjogIzZjNzU3ZA0KfQ0KDQouY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWYNCn0NCg0KLmN1c3RvbS1jb250cm9sLWxhYmVsIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wDQp9DQoNCi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAuMjVyZW07DQogICAgbGVmdDogLTEuNXJlbTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMXJlbTsNCiAgICBoZWlnaHQ6IDFyZW07DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogICAgY29udGVudDogIiI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXI6ICNhZGI1YmQgc29saWQgMXB4DQp9DQoNCi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IC4yNXJlbTsNCiAgICBsZWZ0OiAtMS41cmVtOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAxcmVtOw0KICAgIGhlaWdodDogMXJlbTsNCiAgICBjb250ZW50OiAiIjsNCiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlLzUwJSA1MCUNCn0NCg0KLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtDQp9DQoNCi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzZSUzYy9zdmclM2UiKQ0KfQ0KDQouY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZg0KfQ0KDQouY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNlJTNjcGF0aCBzdHJva2U9JyUyM2ZmZicgZD0nTTAgMmg0Jy8lM2UlM2Mvc3ZnJTNlIikNCn0NCg0KLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgLjUpDQp9DQoNCi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmluZGV0ZXJtaW5hdGV+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIC41KQ0KfQ0KDQouY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgICBib3JkZXItcmFkaXVzOiA1MCUNCn0NCg0KLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyUyM2ZmZicvJTNlJTNjL3N2ZyUzZSIpDQp9DQoNCi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIC41KQ0KfQ0KDQouY3VzdG9tLXN3aXRjaCB7DQogICAgcGFkZGluZy1sZWZ0OiAyLjI1cmVtDQp9DQoNCi5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHsNCiAgICBsZWZ0OiAtMi4yNXJlbTsNCiAgICB3aWR0aDogMS43NXJlbTsNCiAgICBwb2ludGVyLWV2ZW50czogYWxsOw0KICAgIGJvcmRlci1yYWRpdXM6IC41cmVtDQp9DQoNCi5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgew0KICAgIHRvcDogY2FsYyguMjVyZW0gKyAycHgpOw0KICAgIGxlZnQ6IGNhbGMoLTIuMjVyZW0gKyAycHgpOw0KICAgIHdpZHRoOiBjYWxjKDFyZW0gLSA0cHgpOw0KICAgIGhlaWdodDogY2FsYygxcmVtIC0gNHB4KTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkOw0KICAgIGJvcmRlci1yYWRpdXM6IC41cmVtOw0KICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCwgLXdlYmtpdC10cmFuc2Zvcm0gLjE1cyBlYXNlLWluLW91dDsNCiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0Ow0KICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIC4xNXMgZWFzZS1pbi1vdXQNCn0NCg0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgew0KICAgIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIgew0KICAgICAgICB0cmFuc2l0aW9uOiBub25lDQogICAgfQ0KfQ0KDQouY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC43NXJlbSk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC43NXJlbSkNCn0NCg0KLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUgew0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIC41KQ0KfQ0KDQouY3VzdG9tLXNlbGVjdCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogY2FsYygxLjVlbSArIC43NXJlbSArIDJweCk7DQogICAgcGFkZGluZzogLjM3NXJlbSAxLjc1cmVtIC4zNzVyZW0gLjc1cmVtOw0KICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogICAgY29sb3I6ICM0OTUwNTc7DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nJTIzMzQzYTQwJyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlIikgbm8tcmVwZWF0IHJpZ2h0IC43NXJlbSBjZW50ZXIvOHB4IDEwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhOw0KICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQogICAgLW1vei1hcHBlYXJhbmNlOiBub25lOw0KICAgIGFwcGVhcmFuY2U6IG5vbmUNCn0NCg0KLmN1c3RvbS1zZWxlY3Q6Zm9jdXMgew0KICAgIGJvcmRlci1jb2xvcjogIzgwYmRmZjsNCiAgICBvdXRsaW5lOiAwOw0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIC4yNSkNCn0NCg0KLmN1c3RvbS1zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZSB7DQogICAgY29sb3I6ICM0OTUwNTc7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZg0KfQ0KDQouY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sDQouY3VzdG9tLXNlbGVjdFtzaXplXTpub3QoW3NpemU9IjEiXSkgew0KICAgIGhlaWdodDogYXV0bzsNCiAgICBwYWRkaW5nLXJpZ2h0OiAuNzVyZW07DQogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZQ0KfQ0KDQouY3VzdG9tLXNlbGVjdDpkaXNhYmxlZCB7DQogICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZg0KfQ0KDQouY3VzdG9tLXNlbGVjdDo6LW1zLWV4cGFuZCB7DQogICAgZGlzcGxheTogbm9uZQ0KfQ0KDQouY3VzdG9tLXNlbGVjdC1zbSB7DQogICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgLjVyZW0gKyAycHgpOw0KICAgIHBhZGRpbmctdG9wOiAuMjVyZW07DQogICAgcGFkZGluZy1ib3R0b206IC4yNXJlbTsNCiAgICBwYWRkaW5nLWxlZnQ6IC41cmVtOw0KICAgIGZvbnQtc2l6ZTogLjg3NXJlbQ0KfQ0KDQouY3VzdG9tLXNlbGVjdC1sZyB7DQogICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7DQogICAgcGFkZGluZy10b3A6IC41cmVtOw0KICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTsNCiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07DQogICAgZm9udC1zaXplOiAxLjI1cmVtDQp9DQoNCi5jdXN0b20tZmlsZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAuNzVyZW0gKyAycHgpOw0KICAgIG1hcmdpbi1ib3R0b206IDANCn0NCg0KLmN1c3RvbS1maWxlLWlucHV0IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMjsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAuNzVyZW0gKyAycHgpOw0KICAgIG1hcmdpbjogMDsNCiAgICBvcGFjaXR5OiAwDQp9DQoNCi5jdXN0b20tZmlsZS1pbnB1dDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwgew0KICAgIGJvcmRlci1jb2xvcjogIzgwYmRmZjsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAuMjUpDQp9DQoNCi5jdXN0b20tZmlsZS1pbnB1dDpkaXNhYmxlZH4uY3VzdG9tLWZpbGUtbGFiZWwgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWYNCn0NCg0KLmN1c3RvbS1maWxlLWlucHV0OmxhbmcoZW4pfi5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICJCcm93c2UiDQp9DQoNCi5jdXN0b20tZmlsZS1pbnB1dH4uY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7DQogICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSkNCn0NCg0KLmN1c3RvbS1maWxlLWxhYmVsIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IDA7DQogICAgei1pbmRleDogMTsNCiAgICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAuNzVyZW0gKyAycHgpOw0KICAgIHBhZGRpbmc6IC4zNzVyZW0gLjc1cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBjb2xvcjogIzQ5NTA1NzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7DQogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtDQp9DQoNCi5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgcmlnaHQ6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIHotaW5kZXg6IDM7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgLjc1cmVtKTsNCiAgICBwYWRkaW5nOiAuMzc1cmVtIC43NXJlbTsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGNvbG9yOiAjNDk1MDU3Ow0KICAgIGNvbnRlbnQ6ICJCcm93c2UiOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7DQogICAgYm9yZGVyLWxlZnQ6IGluaGVyaXQ7DQogICAgYm9yZGVyLXJhZGl1czogMCAuMjVyZW0gLjI1cmVtIDANCn0NCg0KLmN1c3RvbS1yYW5nZSB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiBjYWxjKDFyZW0gKyAuNHJlbSk7DQogICAgcGFkZGluZzogMDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQogICAgLW1vei1hcHBlYXJhbmNlOiBub25lOw0KICAgIGFwcGVhcmFuY2U6IG5vbmUNCn0NCg0KLmN1c3RvbS1yYW5nZTpmb2N1cyB7DQogICAgb3V0bGluZTogMA0KfQ0KDQouY3VzdG9tLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci10aHVtYiB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIC4yNSkNCn0NCg0KLmN1c3RvbS1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10aHVtYiB7DQogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIC4yNSkNCn0NCg0KLmN1c3RvbS1yYW5nZTpmb2N1czo6LW1zLXRodW1iIHsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgLjI1KQ0KfQ0KDQouY3VzdG9tLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHsNCiAgICBib3JkZXI6IDANCn0NCg0KLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIgew0KICAgIHdpZHRoOiAxcmVtOw0KICAgIGhlaWdodDogMXJlbTsNCiAgICBtYXJnaW4tdG9wOiAtLjI1cmVtOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7DQogICAgYm9yZGVyOiAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDFyZW07DQogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0Ow0KICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsNCiAgICBhcHBlYXJhbmNlOiBub25lDQp9DQoNCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpIHsNCiAgICAuY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7DQogICAgICAgIHRyYW5zaXRpb246IG5vbmUNCiAgICB9DQp9DQoNCi5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmFjdGl2ZSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDdmZg0KfQ0KDQouY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAuNXJlbTsNCiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWUyZTY7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItcmFkaXVzOiAxcmVtDQp9DQoNCi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIgew0KICAgIHdpZHRoOiAxcmVtOw0KICAgIGhlaWdodDogMXJlbTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOw0KICAgIGJvcmRlcjogMDsNCiAgICBib3JkZXItcmFkaXVzOiAxcmVtOw0KICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDsNCiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7DQogICAgYXBwZWFyYW5jZTogbm9uZQ0KfQ0KDQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKSB7DQogICAgLmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7DQogICAgICAgIHRyYW5zaXRpb246IG5vbmUNCiAgICB9DQp9DQoNCi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWI6YWN0aXZlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkN2ZmDQp9DQoNCi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogLjVyZW07DQogICAgY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJhZGl1czogMXJlbQ0KfQ0KDQouY3VzdG9tLXJhbmdlOjotbXMtdGh1bWIgew0KICAgIHdpZHRoOiAxcmVtOw0KICAgIGhlaWdodDogMXJlbTsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1yaWdodDogLjJyZW07DQogICAgbWFyZ2luLWxlZnQ6IC4ycmVtOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7DQogICAgYm9yZGVyOiAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDFyZW07DQogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0Ow0KICAgIGFwcGVhcmFuY2U6IG5vbmUNCn0NCg0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgew0KICAgIC5jdXN0b20tcmFuZ2U6Oi1tcy10aHVtYiB7DQogICAgICAgIHRyYW5zaXRpb246IG5vbmUNCiAgICB9DQp9DQoNCi5jdXN0b20tcmFuZ2U6Oi1tcy10aHVtYjphY3RpdmUgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2Q3ZmYNCn0NCg0KLmN1c3RvbS1yYW5nZTo6LW1zLXRyYWNrIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IC41cmVtOw0KICAgIGNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItd2lkdGg6IC41cmVtDQp9DQoNCi5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLWxvd2VyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2Ow0KICAgIGJvcmRlci1yYWRpdXM6IDFyZW0NCn0NCg0KLmN1c3RvbS1yYW5nZTo6LW1zLWZpbGwtdXBwZXIgew0KICAgIG1hcmdpbi1yaWdodDogMTVweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2Ow0KICAgIGJvcmRlci1yYWRpdXM6IDFyZW0NCn0NCg0KLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQNCn0NCg0KLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sgew0KICAgIGN1cnNvcjogZGVmYXVsdA0KfQ0KDQouY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbW96LXJhbmdlLXRodW1iIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkDQp9DQoNCi5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdHJhY2sgew0KICAgIGN1cnNvcjogZGVmYXVsdA0KfQ0KDQouY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbXMtdGh1bWIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQNCn0NCg0KLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsDQouY3VzdG9tLWZpbGUtbGFiZWwsDQouY3VzdG9tLXNlbGVjdCB7DQogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0DQp9DQoNCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpIHsNCiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwNCiAgICAuY3VzdG9tLWZpbGUtbGFiZWwsDQogICAgLmN1c3RvbS1zZWxlY3Qgew0KICAgICAgICB0cmFuc2l0aW9uOiBub25lDQogICAgfQ0KfQ0KDQoubmF2IHsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7DQogICAgZmxleC13cmFwOiB3cmFwOw0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmUNCn0NCg0KLm5hdi1saW5rIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtDQp9DQoNCi5uYXYtbGluazpmb2N1cywNCi5uYXYtbGluazpob3ZlciB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lDQp9DQoNCi5uYXYtbGluay5kaXNhYmxlZCB7DQogICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogICAgY3Vyc29yOiBkZWZhdWx0DQp9DQoNCi5uYXYtdGFicyB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTYNCn0NCg0KLm5hdi10YWJzIC5uYXYtaXRlbSB7DQogICAgbWFyZ2luLWJvdHRvbTogLTFweA0KfQ0KDQoubmF2LXRhYnMgLm5hdi1saW5rIHsNCiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMjVyZW07DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IC4yNXJlbQ0KfQ0KDQoubmF2LXRhYnMgLm5hdi1saW5rOmZvY3VzLA0KLm5hdi10YWJzIC5uYXYtbGluazpob3ZlciB7DQogICAgYm9yZGVyLWNvbG9yOiAjZTllY2VmICNlOWVjZWYgI2RlZTJlNg0KfQ0KDQoubmF2LXRhYnMgLm5hdi1saW5rLmRpc2FibGVkIHsNCiAgICBjb2xvcjogIzZjNzU3ZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50DQp9DQoNCi5uYXYtdGFicyAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmssDQoubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7DQogICAgY29sb3I6ICM0OTUwNTc7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXItY29sb3I6ICNkZWUyZTYgI2RlZTJlNiAjZmZmDQp9DQoNCi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7DQogICAgbWFyZ2luLXRvcDogLTFweDsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwDQp9DQoNCi5uYXYtcGlsbHMgLm5hdi1saW5rIHsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0NCn0NCg0KLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLA0KLm5hdi1waWxscyAuc2hvdz4ubmF2LWxpbmsgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmYNCn0NCg0KLm5hdi1maWxsIC5uYXYtaXRlbSB7DQogICAgLW1zLWZsZXg6IDEgMSBhdXRvOw0KICAgIGZsZXg6IDEgMSBhdXRvOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KDQoubmF2LWp1c3RpZmllZCAubmF2LWl0ZW0gew0KICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwOw0KICAgIGZsZXgtYmFzaXM6IDA7DQogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7DQogICAgZmxleC1ncm93OiAxOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KDQoudGFiLWNvbnRlbnQ+LnRhYi1wYW5lIHsNCiAgICBkaXNwbGF5OiBub25lDQp9DQoNCi50YWItY29udGVudD4uYWN0aXZlIHsNCiAgICBkaXNwbGF5OiBibG9jaw0KfQ0KDQoubmF2YmFyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtbXMtZmxleC13cmFwOiB3cmFwOw0KICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOw0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgcGFkZGluZzogLjVyZW0gMXJlbQ0KfQ0KDQoubmF2YmFyPi5jb250YWluZXIsDQoubmF2YmFyPi5jb250YWluZXItZmx1aWQgew0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgICBmbGV4LXdyYXA6IHdyYXA7DQogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuDQp9DQoNCi5uYXZiYXItYnJhbmQgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBwYWRkaW5nLXRvcDogLjMxMjVyZW07DQogICAgcGFkZGluZy1ib3R0b206IC4zMTI1cmVtOw0KICAgIG1hcmdpbi1yaWdodDogMXJlbTsNCiAgICBmb250LXNpemU6IDEuMjVyZW07DQogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcA0KfQ0KDQoubmF2YmFyLWJyYW5kOmZvY3VzLA0KLm5hdmJhci1icmFuZDpob3ZlciB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lDQp9DQoNCi5uYXZiYXItbmF2IHsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgbGlzdC1zdHlsZTogbm9uZQ0KfQ0KDQoubmF2YmFyLW5hdiAubmF2LWxpbmsgew0KICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogICAgcGFkZGluZy1sZWZ0OiAwDQp9DQoNCi5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsNCiAgICBwb3NpdGlvbjogc3RhdGljOw0KICAgIGZsb2F0OiBub25lDQp9DQoNCi5uYXZiYXItdGV4dCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHBhZGRpbmctdG9wOiAuNXJlbTsNCiAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW0NCn0NCg0KLm5hdmJhci1jb2xsYXBzZSB7DQogICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwMCU7DQogICAgZmxleC1iYXNpczogMTAwJTsNCiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTsNCiAgICBmbGV4LWdyb3c6IDE7DQogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyDQp9DQoNCi5uYXZiYXItdG9nZ2xlciB7DQogICAgcGFkZGluZzogLjI1cmVtIC43NXJlbTsNCiAgICBmb250LXNpemU6IDEuMjVyZW07DQogICAgbGluZS1oZWlnaHQ6IDE7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtDQp9DQoNCi5uYXZiYXItdG9nZ2xlcjpmb2N1cywNCi5uYXZiYXItdG9nZ2xlcjpob3ZlciB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lDQp9DQoNCi5uYXZiYXItdG9nZ2xlci1pY29uIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDEuNWVtOw0KICAgIGhlaWdodDogMS41ZW07DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICBjb250ZW50OiAiIjsNCiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJQ0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDo1NzUuOThweCkgew0KICAgIC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXIsDQogICAgLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1mbHVpZCB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogICAgICAgIHBhZGRpbmctbGVmdDogMA0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsNCiAgICAubmF2YmFyLWV4cGFuZC1zbSB7DQogICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7DQogICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsNCiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7DQogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydA0KICAgIH0NCiAgICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiB7DQogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93Ow0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93DQogICAgfQ0KICAgIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHsNCiAgICAgICAgcG9zaXRpb246IGFic29sdXRlDQogICAgfQ0KICAgIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5uYXYtbGluayB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtOw0KICAgICAgICBwYWRkaW5nLWxlZnQ6IC41cmVtDQogICAgfQ0KICAgIC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXIsDQogICAgLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1mbHVpZCB7DQogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsNCiAgICAgICAgZmxleC13cmFwOiBub3dyYXANCiAgICB9DQogICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1jb2xsYXBzZSB7DQogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsNCiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87DQogICAgICAgIGZsZXgtYmFzaXM6IGF1dG8NCiAgICB9DQogICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci10b2dnbGVyIHsNCiAgICAgICAgZGlzcGxheTogbm9uZQ0KICAgIH0NCn0NCg0KQG1lZGlhIChtYXgtd2lkdGg6NzY3Ljk4cHgpIHsNCiAgICAubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLA0KICAgIC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItZmx1aWQgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDANCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7DQogICAgLm5hdmJhci1leHBhbmQtbWQgew0KICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgbm93cmFwOw0KICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7DQogICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0Ow0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQNCiAgICB9DQogICAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgew0KICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdw0KICAgIH0NCiAgICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7DQogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZQ0KICAgIH0NCiAgICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAubmF2LWxpbmsgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbQ0KICAgIH0NCiAgICAubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLA0KICAgIC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItZmx1aWQgew0KICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7DQogICAgICAgIGZsZXgtd3JhcDogbm93cmFwDQogICAgfQ0KICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItY29sbGFwc2Ugew0KICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50Ow0KICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7DQogICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvOw0KICAgICAgICBmbGV4LWJhc2lzOiBhdXRvDQogICAgfQ0KICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItdG9nZ2xlciB7DQogICAgICAgIGRpc3BsYXk6IG5vbmUNCiAgICB9DQp9DQoNCkBtZWRpYSAobWF4LXdpZHRoOjk5MS45OHB4KSB7DQogICAgLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lciwNCiAgICAubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLWZsdWlkIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogMDsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAwDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgew0KICAgIC5uYXZiYXItZXhwYW5kLWxnIHsNCiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDsNCiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwOw0KICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0DQogICAgfQ0KICAgIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IHsNCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cNCiAgICB9DQogICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUgew0KICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUNCiAgICB9DQogICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07DQogICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW0NCiAgICB9DQogICAgLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lciwNCiAgICAubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLWZsdWlkIHsNCiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwOw0KICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcA0KICAgIH0NCiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLWNvbGxhcHNlIHsNCiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Ow0KICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bzsNCiAgICAgICAgZmxleC1iYXNpczogYXV0bw0KICAgIH0NCiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXIgew0KICAgICAgICBkaXNwbGF5OiBub25lDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1heC13aWR0aDoxMTk5Ljk4cHgpIHsNCiAgICAubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLA0KICAgIC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXItZmx1aWQgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDANCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgew0KICAgIC5uYXZiYXItZXhwYW5kLXhsIHsNCiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDsNCiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwOw0KICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0DQogICAgfQ0KICAgIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IHsNCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cNCiAgICB9DQogICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUgew0KICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUNCiAgICB9DQogICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07DQogICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW0NCiAgICB9DQogICAgLm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwNCiAgICAubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWZsdWlkIHsNCiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwOw0KICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcA0KICAgIH0NCiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNlIHsNCiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Ow0KICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bzsNCiAgICAgICAgZmxleC1iYXNpczogYXV0bw0KICAgIH0NCiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLXRvZ2dsZXIgew0KICAgICAgICBkaXNwbGF5OiBub25lDQogICAgfQ0KfQ0KDQoubmF2YmFyLWV4cGFuZCB7DQogICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDsNCiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7DQogICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7DQogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0DQp9DQoNCi5uYXZiYXItZXhwYW5kPi5jb250YWluZXIsDQoubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLWZsdWlkIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KICAgIHBhZGRpbmctbGVmdDogMA0KfQ0KDQoubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiB7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7DQogICAgZmxleC1kaXJlY3Rpb246IHJvdw0KfQ0KDQoubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7DQogICAgcG9zaXRpb246IGFic29sdXRlDQp9DQoNCi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7DQogICAgcGFkZGluZy1yaWdodDogLjVyZW07DQogICAgcGFkZGluZy1sZWZ0OiAuNXJlbQ0KfQ0KDQoubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLA0KLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1mbHVpZCB7DQogICAgLW1zLWZsZXgtd3JhcDogbm93cmFwOw0KICAgIGZsZXgtd3JhcDogbm93cmFwDQp9DQoNCi5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2Ugew0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Ow0KICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvOw0KICAgIGZsZXgtYmFzaXM6IGF1dG8NCn0NCg0KLm5hdmJhci1leHBhbmQgLm5hdmJhci10b2dnbGVyIHsNCiAgICBkaXNwbGF5OiBub25lDQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZCB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjkpDQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpmb2N1cywNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjkpDQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuNSkNCn0NCg0KLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMsDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjcpDQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuMykNCn0NCg0KLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuYWN0aXZlPi5uYXYtbGluaywNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwNCi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5zaG93Pi5uYXYtbGluayB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjkpDQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKQ0KfQ0KDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlci1pY29uIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9J3JnYmEoMCwgMCwgMCwgMC41KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2UiKQ0KfQ0KDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjUpDQp9DQoNCi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGEgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC45KQ0KfQ0KDQoubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhOmZvY3VzLA0KLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjkpDQp9DQoNCi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kIHsNCiAgICBjb2xvcjogI2ZmZg0KfQ0KDQoubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpmb2N1cywNCi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZg0KfQ0KDQoubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSkNCn0NCg0KLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywNCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43NSkNCn0NCg0KLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI1KQ0KfQ0KDQoubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLmFjdGl2ZT4ubmF2LWxpbmssDQoubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwNCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdywNCi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuc2hvdz4ubmF2LWxpbmsgew0KICAgIGNvbG9yOiAjZmZmDQp9DQoNCi5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpDQp9DQoNCi5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXItaWNvbiB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlIikNCn0NCg0KLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpDQp9DQoNCi5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYSB7DQogICAgY29sb3I6ICNmZmYNCn0NCg0KLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzLA0KLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZg0KfQ0KDQouY2FyZCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICBtaW4td2lkdGg6IDA7DQogICAgd29yZC13cmFwOiBicmVhay13b3JkOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjEyNSk7DQogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtDQp9DQoNCi5jYXJkPmhyIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgbWFyZ2luLWxlZnQ6IDANCn0NCg0KLmNhcmQ+Lmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjI1cmVtOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMjVyZW0NCn0NCg0KLmNhcmQ+Lmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQgew0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMjVyZW07DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI1cmVtDQp9DQoNCi5jYXJkLWJvZHkgew0KICAgIC1tcy1mbGV4OiAxIDEgYXV0bzsNCiAgICBmbGV4OiAxIDEgYXV0bzsNCiAgICBwYWRkaW5nOiAxLjI1cmVtDQp9DQoNCi5jYXJkLXRpdGxlIHsNCiAgICBtYXJnaW4tYm90dG9tOiAuNzVyZW0NCn0NCg0KLmNhcmQtc3VidGl0bGUgew0KICAgIG1hcmdpbi10b3A6IC0uMzc1cmVtOw0KICAgIG1hcmdpbi1ib3R0b206IDANCn0NCg0KLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwDQp9DQoNCi5jYXJkLWxpbms6aG92ZXIgew0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZQ0KfQ0KDQouY2FyZC1saW5rKy5jYXJkLWxpbmsgew0KICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtDQp9DQoNCi5jYXJkLWhlYWRlciB7DQogICAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4wMyk7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjEyNSkNCn0NCg0KLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCkgY2FsYyguMjVyZW0gLSAxcHgpIDAgMA0KfQ0KDQouY2FyZC1oZWFkZXIrLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcDogMA0KfQ0KDQouY2FyZC1mb290ZXIgew0KICAgIHBhZGRpbmc6IC43NXJlbSAxLjI1cmVtOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjAzKTsNCiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTI1KQ0KfQ0KDQouY2FyZC1mb290ZXI6bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIGNhbGMoLjI1cmVtIC0gMXB4KSBjYWxjKC4yNXJlbSAtIDFweCkNCn0NCg0KLmNhcmQtaGVhZGVyLXRhYnMgew0KICAgIG1hcmdpbi1yaWdodDogLS42MjVyZW07DQogICAgbWFyZ2luLWJvdHRvbTogLS43NXJlbTsNCiAgICBtYXJnaW4tbGVmdDogLS42MjVyZW07DQogICAgYm9yZGVyLWJvdHRvbTogMA0KfQ0KDQouY2FyZC1oZWFkZXItcGlsbHMgew0KICAgIG1hcmdpbi1yaWdodDogLS42MjVyZW07DQogICAgbWFyZ2luLWxlZnQ6IC0uNjI1cmVtDQp9DQoNCi5jYXJkLWltZy1vdmVybGF5IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHBhZGRpbmc6IDEuMjVyZW0NCn0NCg0KLmNhcmQtaW1nIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBib3JkZXItcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCkNCn0NCg0KLmNhcmQtaW1nLXRvcCB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyguMjVyZW0gLSAxcHgpOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCkNCn0NCg0KLmNhcmQtaW1nLWJvdHRvbSB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoLjI1cmVtIC0gMXB4KTsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKC4yNXJlbSAtIDFweCkNCn0NCg0KLmNhcmQtZGVjayB7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uDQp9DQoNCi5jYXJkLWRlY2sgLmNhcmQgew0KICAgIG1hcmdpbi1ib3R0b206IDE1cHgNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsNCiAgICAuY2FyZC1kZWNrIHsNCiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7DQogICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7DQogICAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweA0KICAgIH0NCiAgICAuY2FyZC1kZWNrIC5jYXJkIHsNCiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICAgIC1tcy1mbGV4OiAxIDAgMCU7DQogICAgICAgIGZsZXg6IDEgMCAwJTsNCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHgNCiAgICB9DQp9DQoNCi5jYXJkLWdyb3VwIHsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4NCn0NCg0KLmNhcmQtZ3JvdXA+LmNhcmQgew0KICAgIG1hcmdpbi1ib3R0b206IDE1cHgNCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6NTc2cHgpIHsNCiAgICAuY2FyZC1ncm91cCB7DQogICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwOw0KICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwDQogICAgfQ0KICAgIC5jYXJkLWdyb3VwPi5jYXJkIHsNCiAgICAgICAgLW1zLWZsZXg6IDEgMCAwJTsNCiAgICAgICAgZmxleDogMSAwIDAlOw0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgfQ0KICAgIC5jYXJkLWdyb3VwPi5jYXJkKy5jYXJkIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgICAgIGJvcmRlci1sZWZ0OiAwDQogICAgfQ0KICAgIC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgew0KICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDANCiAgICB9DQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1oZWFkZXIsDQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1pbWctdG9wIHsNCiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDANCiAgICB9DQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1mb290ZXIsDQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tIHsNCiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDANCiAgICB9DQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgew0KICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwDQogICAgfQ0KICAgIC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWhlYWRlciwNCiAgICAuY2FyZC1ncm91cD4uY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1pbWctdG9wIHsNCiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMA0KICAgIH0NCiAgICAuY2FyZC1ncm91cD4uY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1mb290ZXIsDQogICAgLmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbSB7DQogICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDANCiAgICB9DQp9DQoNCi5jYXJkLWNvbHVtbnMgLmNhcmQgew0KICAgIG1hcmdpbi1ib3R0b206IC43NXJlbQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5jYXJkLWNvbHVtbnMgew0KICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMzsNCiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDM7DQogICAgICAgIGNvbHVtbi1jb3VudDogMzsNCiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAxLjI1cmVtOw0KICAgICAgICAtbW96LWNvbHVtbi1nYXA6IDEuMjVyZW07DQogICAgICAgIGNvbHVtbi1nYXA6IDEuMjVyZW07DQogICAgICAgIG9ycGhhbnM6IDE7DQogICAgICAgIHdpZG93czogMQ0KICAgIH0NCiAgICAuY2FyZC1jb2x1bW5zIC5jYXJkIHsNCiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgICAgICB3aWR0aDogMTAwJQ0KICAgIH0NCn0NCg0KLmFjY29yZGlvbj4uY2FyZCB7DQogICAgb3ZlcmZsb3c6IGhpZGRlbg0KfQ0KDQouYWNjb3JkaW9uPi5jYXJkOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItcmFkaXVzOiAwDQp9DQoNCi5hY2NvcmRpb24+LmNhcmQ6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkgew0KICAgIGJvcmRlci1ib3R0b206IDA7DQogICAgYm9yZGVyLXJhZGl1czogMA0KfQ0KDQouYWNjb3JkaW9uPi5jYXJkOmZpcnN0LW9mLXR5cGUgew0KICAgIGJvcmRlci1ib3R0b206IDA7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMA0KfQ0KDQouYWNjb3JkaW9uPi5jYXJkOmxhc3Qtb2YtdHlwZSB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMA0KfQ0KDQouYWNjb3JkaW9uPi5jYXJkIC5jYXJkLWhlYWRlciB7DQogICAgbWFyZ2luLWJvdHRvbTogLTFweA0KfQ0KDQouYnJlYWRjcnVtYiB7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtbXMtZmxleC13cmFwOiB3cmFwOw0KICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICBwYWRkaW5nOiAuNzVyZW0gMXJlbTsNCiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0NCn0NCg0KLmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVtIHsNCiAgICBwYWRkaW5nLWxlZnQ6IC41cmVtDQp9DQoNCi5icmVhZGNydW1iLWl0ZW0rLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZy1yaWdodDogLjVyZW07DQogICAgY29sb3I6ICM2Yzc1N2Q7DQogICAgY29udGVudDogIi8iDQp9DQoNCi5icmVhZGNydW1iLWl0ZW0rLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZQ0KfQ0KDQouYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lDQp9DQoNCi5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHsNCiAgICBjb2xvcjogIzZjNzU3ZA0KfQ0KDQoucGFnaW5hdGlvbiB7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0NCn0NCg0KLnBhZ2UtbGluayB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTsNCiAgICBtYXJnaW4tbGVmdDogLTFweDsNCiAgICBsaW5lLWhlaWdodDogMS4yNTsNCiAgICBjb2xvcjogIzAwN2JmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTYNCn0NCg0KLnBhZ2UtbGluazpob3ZlciB7DQogICAgei1pbmRleDogMjsNCiAgICBjb2xvcjogIzAwNTZiMzsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjsNCiAgICBib3JkZXItY29sb3I6ICNkZWUyZTYNCn0NCg0KLnBhZ2UtbGluazpmb2N1cyB7DQogICAgei1pbmRleDogMjsNCiAgICBvdXRsaW5lOiAwOw0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIC4yNSkNCn0NCg0KLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMjVyZW07DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI1cmVtDQp9DQoNCi5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI1cmVtOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMjVyZW0NCn0NCg0KLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7DQogICAgei1pbmRleDogMTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOw0KICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZg0KfQ0KDQoucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmsgew0KICAgIGNvbG9yOiAjNmM3NTdkOw0KICAgIHBvaW50ZXItZXZlbnRzOiBub25lOw0KICAgIGN1cnNvcjogYXV0bzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1jb2xvcjogI2RlZTJlNg0KfQ0KDQoucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHsNCiAgICBwYWRkaW5nOiAuNzVyZW0gMS41cmVtOw0KICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsNCiAgICBsaW5lLWhlaWdodDogMS41DQp9DQoNCi5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjNyZW07DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjNyZW0NCn0NCg0KLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuM3JlbTsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjNyZW0NCn0NCg0KLnBhZ2luYXRpb24tc20gLnBhZ2UtbGluayB7DQogICAgcGFkZGluZzogLjI1cmVtIC41cmVtOw0KICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsNCiAgICBsaW5lLWhlaWdodDogMS41DQp9DQoNCi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjJyZW07DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjJyZW0NCn0NCg0KLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMnJlbTsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjJyZW0NCn0NCg0KLmJhZGdlIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZzogLjI1ZW0gLjRlbTsNCiAgICBmb250LXNpemU6IDc1JTsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07DQogICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0DQp9DQoNCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpIHsNCiAgICAuYmFkZ2Ugew0KICAgICAgICB0cmFuc2l0aW9uOiBub25lDQogICAgfQ0KfQ0KDQphLmJhZGdlOmZvY3VzLA0KYS5iYWRnZTpob3ZlciB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lDQp9DQoNCi5iYWRnZTplbXB0eSB7DQogICAgZGlzcGxheTogbm9uZQ0KfQ0KDQouYnRuIC5iYWRnZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHRvcDogLTFweA0KfQ0KDQouYmFkZ2UtcGlsbCB7DQogICAgcGFkZGluZy1yaWdodDogLjZlbTsNCiAgICBwYWRkaW5nLWxlZnQ6IC42ZW07DQogICAgYm9yZGVyLXJhZGl1czogMTByZW0NCn0NCg0KLmJhZGdlLXByaW1hcnkgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmYNCn0NCg0KYS5iYWRnZS1wcmltYXJ5OmZvY3VzLA0KYS5iYWRnZS1wcmltYXJ5OmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MmNjDQp9DQoNCmEuYmFkZ2UtcHJpbWFyeS5mb2N1cywNCmEuYmFkZ2UtcHJpbWFyeTpmb2N1cyB7DQogICAgb3V0bGluZTogMDsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAuNSkNCn0NCg0KLmJhZGdlLXNlY29uZGFyeSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZA0KfQ0KDQphLmJhZGdlLXNlY29uZGFyeTpmb2N1cywNCmEuYmFkZ2Utc2Vjb25kYXJ5OmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyDQp9DQoNCmEuYmFkZ2Utc2Vjb25kYXJ5LmZvY3VzLA0KYS5iYWRnZS1zZWNvbmRhcnk6Zm9jdXMgew0KICAgIG91dGxpbmU6IDA7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAuNSkNCn0NCg0KLmJhZGdlLXN1Y2Nlc3Mgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDUNCn0NCg0KYS5iYWRnZS1zdWNjZXNzOmZvY3VzLA0KYS5iYWRnZS1zdWNjZXNzOmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0DQp9DQoNCmEuYmFkZ2Utc3VjY2Vzcy5mb2N1cywNCmEuYmFkZ2Utc3VjY2Vzczpmb2N1cyB7DQogICAgb3V0bGluZTogMDsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAuNSkNCn0NCg0KLmJhZGdlLWluZm8gew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjgNCn0NCg0KYS5iYWRnZS1pbmZvOmZvY3VzLA0KYS5iYWRnZS1pbmZvOmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiDQp9DQoNCmEuYmFkZ2UtaW5mby5mb2N1cywNCmEuYmFkZ2UtaW5mbzpmb2N1cyB7DQogICAgb3V0bGluZTogMDsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgLjUpDQp9DQoNCi5iYWRnZS13YXJuaW5nIHsNCiAgICBjb2xvcjogIzIxMjUyOTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3DQp9DQoNCmEuYmFkZ2Utd2FybmluZzpmb2N1cywNCmEuYmFkZ2Utd2FybmluZzpob3ZlciB7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMA0KfQ0KDQphLmJhZGdlLXdhcm5pbmcuZm9jdXMsDQphLmJhZGdlLXdhcm5pbmc6Zm9jdXMgew0KICAgIG91dGxpbmU6IDA7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgLjUpDQp9DQoNCi5iYWRnZS1kYW5nZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDUNCn0NCg0KYS5iYWRnZS1kYW5nZXI6Zm9jdXMsDQphLmJhZGdlLWRhbmdlcjpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2JkMjEzMA0KfQ0KDQphLmJhZGdlLWRhbmdlci5mb2N1cywNCmEuYmFkZ2UtZGFuZ2VyOmZvY3VzIHsNCiAgICBvdXRsaW5lOiAwOw0KICAgIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIC41KQ0KfQ0KDQouYmFkZ2UtbGlnaHQgew0KICAgIGNvbG9yOiAjMjEyNTI5Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmENCn0NCg0KYS5iYWRnZS1saWdodDpmb2N1cywNCmEuYmFkZ2UtbGlnaHQ6aG92ZXIgew0KICAgIGNvbG9yOiAjMjEyNTI5Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWUwZTUNCn0NCg0KYS5iYWRnZS1saWdodC5mb2N1cywNCmEuYmFkZ2UtbGlnaHQ6Zm9jdXMgew0KICAgIG91dGxpbmU6IDA7DQogICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAuNSkNCn0NCg0KLmJhZGdlLWRhcmsgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDANCn0NCg0KYS5iYWRnZS1kYXJrOmZvY3VzLA0KYS5iYWRnZS1kYXJrOmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0DQp9DQoNCmEuYmFkZ2UtZGFyay5mb2N1cywNCmEuYmFkZ2UtZGFyazpmb2N1cyB7DQogICAgb3V0bGluZTogMDsNCiAgICBib3gtc2hhZG93OiAwIDAgMCAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIC41KQ0KfQ0KDQouanVtYm90cm9uIHsNCiAgICBwYWRkaW5nOiAycmVtIDFyZW07DQogICAgbWFyZ2luLWJvdHRvbTogMnJlbTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOw0KICAgIGJvcmRlci1yYWRpdXM6IC4zcmVtDQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7DQogICAgLmp1bWJvdHJvbiB7DQogICAgICAgIHBhZGRpbmc6IDRyZW0gMnJlbQ0KICAgIH0NCn0NCg0KLmp1bWJvdHJvbi1mbHVpZCB7DQogICAgcGFkZGluZy1yaWdodDogMDsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgYm9yZGVyLXJhZGl1czogMA0KfQ0KDQouYWxlcnQgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBwYWRkaW5nOiAuNzVyZW0gMS4yNXJlbTsNCiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbQ0KfQ0KDQouYWxlcnQtaGVhZGluZyB7DQogICAgY29sb3I6IGluaGVyaXQNCn0NCg0KLmFsZXJ0LWxpbmsgew0KICAgIGZvbnQtd2VpZ2h0OiA3MDANCn0NCg0KLmFsZXJ0LWRpc21pc3NpYmxlIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtDQp9DQoNCi5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2Ugew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgcmlnaHQ6IDA7DQogICAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07DQogICAgY29sb3I6IGluaGVyaXQNCn0NCg0KLmFsZXJ0LXByaW1hcnkgew0KICAgIGNvbG9yOiAjMDA0MDg1Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2U1ZmY7DQogICAgYm9yZGVyLWNvbG9yOiAjYjhkYWZmDQp9DQoNCi5hbGVydC1wcmltYXJ5IGhyIHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjOWZjZGZmDQp9DQoNCi5hbGVydC1wcmltYXJ5IC5hbGVydC1saW5rIHsNCiAgICBjb2xvcjogIzAwMjc1Mg0KfQ0KDQouYWxlcnQtc2Vjb25kYXJ5IHsNCiAgICBjb2xvcjogIzM4M2Q0MTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlM2U1Ow0KICAgIGJvcmRlci1jb2xvcjogI2Q2ZDhkYg0KfQ0KDQouYWxlcnQtc2Vjb25kYXJ5IGhyIHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjYzhjYmNmDQp9DQoNCi5hbGVydC1zZWNvbmRhcnkgLmFsZXJ0LWxpbmsgew0KICAgIGNvbG9yOiAjMjAyMzI2DQp9DQoNCi5hbGVydC1zdWNjZXNzIHsNCiAgICBjb2xvcjogIzE1NTcyNDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRlZGRhOw0KICAgIGJvcmRlci1jb2xvcjogI2MzZTZjYg0KfQ0KDQouYWxlcnQtc3VjY2VzcyBociB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2IxZGZiYg0KfQ0KDQouYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7DQogICAgY29sb3I6ICMwYjJlMTMNCn0NCg0KLmFsZXJ0LWluZm8gew0KICAgIGNvbG9yOiAjMGM1NDYwOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkMWVjZjE7DQogICAgYm9yZGVyLWNvbG9yOiAjYmVlNWViDQp9DQoNCi5hbGVydC1pbmZvIGhyIHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjYWJkZGU1DQp9DQoNCi5hbGVydC1pbmZvIC5hbGVydC1saW5rIHsNCiAgICBjb2xvcjogIzA2MmMzMw0KfQ0KDQouYWxlcnQtd2FybmluZyB7DQogICAgY29sb3I6ICM4NTY0MDQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDsNCiAgICBib3JkZXItY29sb3I6ICNmZmVlYmENCn0NCg0KLmFsZXJ0LXdhcm5pbmcgaHIgew0KICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmU4YTENCn0NCg0KLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmsgew0KICAgIGNvbG9yOiAjNTMzZjAzDQp9DQoNCi5hbGVydC1kYW5nZXIgew0KICAgIGNvbG9yOiAjNzIxYzI0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGE7DQogICAgYm9yZGVyLWNvbG9yOiAjZjVjNmNiDQp9DQoNCi5hbGVydC1kYW5nZXIgaHIgew0KICAgIGJvcmRlci10b3AtY29sb3I6ICNmMWIwYjcNCn0NCg0KLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7DQogICAgY29sb3I6ICM0OTEyMTcNCn0NCg0KLmFsZXJ0LWxpZ2h0IHsNCiAgICBjb2xvcjogIzgxODE4MjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOw0KICAgIGJvcmRlci1jb2xvcjogI2ZkZmRmZQ0KfQ0KDQouYWxlcnQtbGlnaHQgaHIgew0KICAgIGJvcmRlci10b3AtY29sb3I6ICNlY2VjZjYNCn0NCg0KLmFsZXJ0LWxpZ2h0IC5hbGVydC1saW5rIHsNCiAgICBjb2xvcjogIzY4Njg2OA0KfQ0KDQouYWxlcnQtZGFyayB7DQogICAgY29sb3I6ICMxYjFlMjE7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkOTsNCiAgICBib3JkZXItY29sb3I6ICNjNmM4Y2ENCn0NCg0KLmFsZXJ0LWRhcmsgaHIgew0KICAgIGJvcmRlci10b3AtY29sb3I6ICNiOWJiYmUNCn0NCg0KLmFsZXJ0LWRhcmsgLmFsZXJ0LWxpbmsgew0KICAgIGNvbG9yOiAjMDQwNTA1DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7DQogICAgZnJvbSB7DQogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMA0KICAgIH0NCiAgICB0byB7DQogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMA0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7DQogICAgZnJvbSB7DQogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMA0KICAgIH0NCiAgICB0byB7DQogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMA0KICAgIH0NCn0NCg0KLnByb2dyZXNzIHsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGhlaWdodDogMXJlbTsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGZvbnQtc2l6ZTogLjc1cmVtOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7DQogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtDQp9DQoNCi5wcm9ncmVzcy1iYXIgew0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsNCiAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNnMgZWFzZQ0KfQ0KDQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKSB7DQogICAgLnByb2dyZXNzLWJhciB7DQogICAgICAgIHRyYW5zaXRpb246IG5vbmUNCiAgICB9DQp9DQoNCi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW0NCn0NCg0KLnByb2dyZXNzLWJhci1hbmltYXRlZCB7DQogICAgLXdlYmtpdC1hbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDFzIGxpbmVhciBpbmZpbml0ZTsNCiAgICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDFzIGxpbmVhciBpbmZpbml0ZQ0KfQ0KDQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKSB7DQogICAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7DQogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lOw0KICAgICAgICBhbmltYXRpb246IG5vbmUNCiAgICB9DQp9DQoNCi5tZWRpYSB7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7DQogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQNCn0NCg0KLm1lZGlhLWJvZHkgew0KICAgIC1tcy1mbGV4OiAxOw0KICAgIGZsZXg6IDENCn0NCg0KLmxpc3QtZ3JvdXAgew0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMA0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICM0OTUwNTc7DQogICAgdGV4dC1hbGlnbjogaW5oZXJpdA0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywNCi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyIHsNCiAgICB6LWluZGV4OiAxOw0KICAgIGNvbG9yOiAjNDk1MDU3Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhDQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmFjdGl2ZSB7DQogICAgY29sb3I6ICMyMTI1Mjk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZg0KfQ0KDQoubGlzdC1ncm91cC1pdGVtIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07DQogICAgbWFyZ2luLWJvdHRvbTogLTFweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjEyNSkNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjI1cmVtOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMjVyZW0NCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMjVyZW07DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI1cmVtDQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsDQoubGlzdC1ncm91cC1pdGVtOmRpc2FibGVkIHsNCiAgICBjb2xvcjogIzZjNzU3ZDsNCiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmDQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHsNCiAgICB6LWluZGV4OiAyOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7DQogICAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmDQp9DQoNCi5saXN0LWdyb3VwLWhvcml6b250YWwgew0KICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiByb3cNCn0NCg0KLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCAubGlzdC1ncm91cC1pdGVtIHsNCiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMA0KfQ0KDQoubGlzdC1ncm91cC1ob3Jpem9udGFsIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQgew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4yNXJlbTsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMjVyZW07DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDANCn0NCg0KLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQgew0KICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI1cmVtOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuMjVyZW07DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMA0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gew0KICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdw0KICAgIH0NCiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIC5saXN0LWdyb3VwLWl0ZW0gew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDANCiAgICB9DQogICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsNCiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjI1cmVtOw0KICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMjVyZW07DQogICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwDQogICAgfQ0KICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI1cmVtOw0KICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjI1cmVtOw0KICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgew0KICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgew0KICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdw0KICAgIH0NCiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kIC5saXN0LWdyb3VwLWl0ZW0gew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDANCiAgICB9DQogICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsNCiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjI1cmVtOw0KICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMjVyZW07DQogICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwDQogICAgfQ0KICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI1cmVtOw0KICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjI1cmVtOw0KICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgew0KICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgew0KICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdw0KICAgIH0NCiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnIC5saXN0LWdyb3VwLWl0ZW0gew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDANCiAgICB9DQogICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsNCiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjI1cmVtOw0KICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMjVyZW07DQogICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwDQogICAgfQ0KICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI1cmVtOw0KICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjI1cmVtOw0KICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwDQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpIHsNCiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsIHsNCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cNCiAgICB9DQogICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCAubGlzdC1ncm91cC1pdGVtIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4Ow0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgfQ0KICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4yNXJlbTsNCiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI1cmVtOw0KICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMA0KICAgIH0NCiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7DQogICAgICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IC4yNXJlbTsNCiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC4yNXJlbTsNCiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMA0KICAgIH0NCn0NCg0KLmxpc3QtZ3JvdXAtZmx1c2ggLmxpc3QtZ3JvdXAtaXRlbSB7DQogICAgYm9yZGVyLXJpZ2h0OiAwOw0KICAgIGJvcmRlci1sZWZ0OiAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDANCn0NCg0KLmxpc3QtZ3JvdXAtZmx1c2ggLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHsNCiAgICBtYXJnaW4tYm90dG9tOiAtMXB4DQp9DQoNCi5saXN0LWdyb3VwLWZsdXNoOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQgew0KICAgIGJvcmRlci10b3A6IDANCn0NCg0KLmxpc3QtZ3JvdXAtZmx1c2g6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgYm9yZGVyLWJvdHRvbTogMA0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLXByaW1hcnkgew0KICAgIGNvbG9yOiAjMDA0MDg1Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNiOGRhZmYNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsDQoubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciB7DQogICAgY29sb3I6ICMwMDQwODU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzlmY2RmZg0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQwODU7DQogICAgYm9yZGVyLWNvbG9yOiAjMDA0MDg1DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5IHsNCiAgICBjb2xvcjogIzM4M2Q0MTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiDQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsDQoubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyIHsNCiAgICBjb2xvcjogIzM4M2Q0MTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjYmNmDQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzZDQxOw0KICAgIGJvcmRlci1jb2xvcjogIzM4M2Q0MQ0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mgew0KICAgIGNvbG9yOiAjMTU1NzI0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNjM2U2Y2INCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsDQoubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciB7DQogICAgY29sb3I6ICMxNTU3MjQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYg0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTU3MjQ7DQogICAgYm9yZGVyLWNvbG9yOiAjMTU1NzI0DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7DQogICAgY29sb3I6ICMwYzU0NjA7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2JlZTVlYg0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywNCi5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyIHsNCiAgICBjb2xvcjogIzBjNTQ2MDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJkZGU1DQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzBjNTQ2MDsNCiAgICBib3JkZXItY29sb3I6ICMwYzU0NjANCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHsNCiAgICBjb2xvcjogIzg1NjQwNDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWJhDQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLA0KLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIgew0KICAgIGNvbG9yOiAjODU2NDA0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmU4YTENCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU2NDA0Ow0KICAgIGJvcmRlci1jb2xvcjogIzg1NjQwNA0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7DQogICAgY29sb3I6ICM3MjFjMjQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1YzZjYg0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLA0KLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciB7DQogICAgY29sb3I6ICM3MjFjMjQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNw0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzcyMWMyNDsNCiAgICBib3JkZXItY29sb3I6ICM3MjFjMjQNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1saWdodCB7DQogICAgY29sb3I6ICM4MTgxODI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZQ0KfQ0KDQoubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsDQoubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIgew0KICAgIGNvbG9yOiAjODE4MTgyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjYNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzgxODE4MjsNCiAgICBib3JkZXItY29sb3I6ICM4MTgxODINCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1kYXJrIHsNCiAgICBjb2xvcjogIzFiMWUyMTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjOGNhDQp9DQoNCi5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLA0KLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIgew0KICAgIGNvbG9yOiAjMWIxZTIxOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmUNCn0NCg0KLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxZTIxOw0KICAgIGJvcmRlci1jb2xvcjogIzFiMWUyMQ0KfQ0KDQouY2xvc2Ugew0KICAgIGZsb2F0OiByaWdodDsNCiAgICBmb250LXNpemU6IDEuNXJlbTsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICAgIGNvbG9yOiAjMDAwOw0KICAgIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7DQogICAgb3BhY2l0eTogLjUNCn0NCg0KLmNsb3NlOmhvdmVyIHsNCiAgICBjb2xvcjogIzAwMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUNCn0NCg0KLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzLA0KLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmhvdmVyIHsNCiAgICBvcGFjaXR5OiAuNzUNCn0NCg0KYnV0dG9uLmNsb3NlIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMDsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQogICAgLW1vei1hcHBlYXJhbmNlOiBub25lOw0KICAgIGFwcGVhcmFuY2U6IG5vbmUNCn0NCg0KYS5jbG9zZS5kaXNhYmxlZCB7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmUNCn0NCg0KLnRvYXN0IHsNCiAgICBtYXgtd2lkdGg6IDM1MHB4Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgZm9udC1zaXplOiAuODc1cmVtOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjg1KTsNCiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjEpOw0KICAgIGJveC1zaGFkb3c6IDAgLjI1cmVtIC43NXJlbSByZ2JhKDAsIDAsIDAsIC4xKTsNCiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsNCiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7DQogICAgb3BhY2l0eTogMDsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0NCn0NCg0KLnRvYXN0Om5vdCg6bGFzdC1jaGlsZCkgew0KICAgIG1hcmdpbi1ib3R0b206IC43NXJlbQ0KfQ0KDQoudG9hc3Quc2hvd2luZyB7DQogICAgb3BhY2l0eTogMQ0KfQ0KDQoudG9hc3Quc2hvdyB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgb3BhY2l0eTogMQ0KfQ0KDQoudG9hc3QuaGlkZSB7DQogICAgZGlzcGxheTogbm9uZQ0KfQ0KDQoudG9hc3QtaGVhZGVyIHsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBwYWRkaW5nOiAuMjVyZW0gLjc1cmVtOw0KICAgIGNvbG9yOiAjNmM3NTdkOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjg1KTsNCiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4wNSkNCn0NCg0KLnRvYXN0LWJvZHkgew0KICAgIHBhZGRpbmc6IC43NXJlbQ0KfQ0KDQoubW9kYWwtb3BlbiB7DQogICAgb3ZlcmZsb3c6IGhpZGRlbg0KfQ0KDQoubW9kYWwtb3BlbiAubW9kYWwgew0KICAgIG92ZXJmbG93LXg6IGhpZGRlbjsNCiAgICBvdmVyZmxvdy15OiBhdXRvDQp9DQoNCi5tb2RhbCB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHotaW5kZXg6IDEwNTA7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBvdXRsaW5lOiAwDQp9DQoNCi5tb2RhbC1kaWFsb2cgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB3aWR0aDogYXV0bzsNCiAgICBtYXJnaW46IC41cmVtOw0KICAgIHBvaW50ZXItZXZlbnRzOiBub25lDQp9DQoNCi5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cgew0KICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDsNCiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Ow0KICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTBweCkNCn0NCg0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgew0KICAgIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cgew0KICAgICAgICB0cmFuc2l0aW9uOiBub25lDQogICAgfQ0KfQ0KDQoubW9kYWwuc2hvdyAubW9kYWwtZGlhbG9nIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmUNCn0NCg0KLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHsNCiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pDQp9DQoNCi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudCB7DQogICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDFyZW0pOw0KICAgIG92ZXJmbG93OiBoaWRkZW4NCn0NCg0KLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1mb290ZXIsDQoubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWhlYWRlciB7DQogICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7DQogICAgZmxleC1zaHJpbms6IDANCn0NCg0KLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1ib2R5IHsNCiAgICBvdmVyZmxvdy15OiBhdXRvDQp9DQoNCi5tb2RhbC1kaWFsb2ctY2VudGVyZWQgew0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pDQp9DQoNCi5tb2RhbC1kaWFsb2ctY2VudGVyZWQ6OmJlZm9yZSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMXJlbSk7DQogICAgY29udGVudDogIiINCn0NCg0KLm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgaGVpZ2h0OiAxMDAlDQp9DQoNCi5tb2RhbC1kaWFsb2ctY2VudGVyZWQubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWNvbnRlbnQgew0KICAgIG1heC1oZWlnaHQ6IG5vbmUNCn0NCg0KLm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZTo6YmVmb3JlIHsNCiAgICBjb250ZW50OiBub25lDQp9DQoNCi5tb2RhbC1jb250ZW50IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsNCiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4yKTsNCiAgICBib3JkZXItcmFkaXVzOiAuM3JlbTsNCiAgICBvdXRsaW5lOiAwDQp9DQoNCi5tb2RhbC1iYWNrZHJvcCB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHotaW5kZXg6IDEwNDA7DQogICAgd2lkdGg6IDEwMHZ3Ow0KICAgIGhlaWdodDogMTAwdmg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMA0KfQ0KDQoubW9kYWwtYmFja2Ryb3AuZmFkZSB7DQogICAgb3BhY2l0eTogMA0KfQ0KDQoubW9kYWwtYmFja2Ryb3Auc2hvdyB7DQogICAgb3BhY2l0eTogLjUNCn0NCg0KLm1vZGFsLWhlYWRlciB7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7DQogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7DQogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgcGFkZGluZzogMXJlbSAxcmVtOw0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2Ow0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC4zcmVtOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuM3JlbQ0KfQ0KDQoubW9kYWwtaGVhZGVyIC5jbG9zZSB7DQogICAgcGFkZGluZzogMXJlbSAxcmVtOw0KICAgIG1hcmdpbjogLTFyZW0gLTFyZW0gLTFyZW0gYXV0bw0KfQ0KDQoubW9kYWwtdGl0bGUgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNQ0KfQ0KDQoubW9kYWwtYm9keSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIC1tcy1mbGV4OiAxIDEgYXV0bzsNCiAgICBmbGV4OiAxIDEgYXV0bzsNCiAgICBwYWRkaW5nOiAxcmVtDQp9DQoNCi5tb2RhbC1mb290ZXIgew0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIC1tcy1mbGV4LXBhY2s6IGVuZDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOw0KICAgIHBhZGRpbmc6IDFyZW07DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWUyZTY7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC4zcmVtOw0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC4zcmVtDQp9DQoNCi5tb2RhbC1mb290ZXI+Om5vdCg6Zmlyc3QtY2hpbGQpIHsNCiAgICBtYXJnaW4tbGVmdDogLjI1cmVtDQp9DQoNCi5tb2RhbC1mb290ZXI+Om5vdCg6bGFzdC1jaGlsZCkgew0KICAgIG1hcmdpbi1yaWdodDogLjI1cmVtDQp9DQoNCi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogLTk5OTlweDsNCiAgICB3aWR0aDogNTBweDsNCiAgICBoZWlnaHQ6IDUwcHg7DQogICAgb3ZlcmZsb3c6IHNjcm9sbA0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5tb2RhbC1kaWFsb2cgew0KICAgICAgICBtYXgtd2lkdGg6IDUwMHB4Ow0KICAgICAgICBtYXJnaW46IDEuNzVyZW0gYXV0bw0KICAgIH0NCiAgICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgew0KICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjVyZW0pDQogICAgfQ0KICAgIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudCB7DQogICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzLjVyZW0pDQogICAgfQ0KICAgIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQgew0KICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjVyZW0pDQogICAgfQ0KICAgIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQ6OmJlZm9yZSB7DQogICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDMuNXJlbSkNCiAgICB9DQogICAgLm1vZGFsLXNtIHsNCiAgICAgICAgbWF4LXdpZHRoOiAzMDBweA0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsNCiAgICAubW9kYWwtbGcsDQogICAgLm1vZGFsLXhsIHsNCiAgICAgICAgbWF4LXdpZHRoOiA4MDBweA0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KSB7DQogICAgLm1vZGFsLXhsIHsNCiAgICAgICAgbWF4LXdpZHRoOiAxMTQwcHgNCiAgICB9DQp9DQoNCi50b29sdGlwIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgei1pbmRleDogMTA3MDsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW46IDA7DQogICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBBcmlhbCwgIk5vdG8gU2FucyIsIHNhbnMtc2VyaWYsICJBcHBsZSBDb2xvciBFbW9qaSIsICJTZWdvZSBVSSBFbW9qaSIsICJTZWdvZSBVSSBTeW1ib2wiLCAiTm90byBDb2xvciBFbW9qaSI7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIHRleHQtYWxpZ246IHN0YXJ0Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsNCiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOw0KICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsNCiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDsNCiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KICAgIGxpbmUtYnJlYWs6IGF1dG87DQogICAgZm9udC1zaXplOiAuODc1cmVtOw0KICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsNCiAgICBvcGFjaXR5OiAwDQp9DQoNCi50b29sdGlwLnNob3cgew0KICAgIG9wYWNpdHk6IC45DQp9DQoNCi50b29sdGlwIC5hcnJvdyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAuOHJlbTsNCiAgICBoZWlnaHQ6IC40cmVtDQp9DQoNCi50b29sdGlwIC5hcnJvdzo6YmVmb3JlIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgY29udGVudDogIiI7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkDQp9DQoNCi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXRvcF0sDQouYnMtdG9vbHRpcC10b3Agew0KICAgIHBhZGRpbmc6IC40cmVtIDANCn0NCg0KLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3csDQouYnMtdG9vbHRpcC10b3AgLmFycm93IHsNCiAgICBib3R0b206IDANCn0NCg0KLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmJlZm9yZSwNCi5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZSB7DQogICAgdG9wOiAwOw0KICAgIGJvcmRlci13aWR0aDogLjRyZW0gLjRyZW0gMDsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwDQp9DQoNCi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSwNCi5icy10b29sdGlwLXJpZ2h0IHsNCiAgICBwYWRkaW5nOiAwIC40cmVtDQp9DQoNCi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSAuYXJyb3csDQouYnMtdG9vbHRpcC1yaWdodCAuYXJyb3cgew0KICAgIGxlZnQ6IDA7DQogICAgd2lkdGg6IC40cmVtOw0KICAgIGhlaWdodDogLjhyZW0NCn0NCg0KLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YmVmb3JlLA0KLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUgew0KICAgIHJpZ2h0OiAwOw0KICAgIGJvcmRlci13aWR0aDogLjRyZW0gLjRyZW0gLjRyZW0gMDsNCiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDANCn0NCg0KLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSwNCi5icy10b29sdGlwLWJvdHRvbSB7DQogICAgcGFkZGluZzogLjRyZW0gMA0KfQ0KDQouYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdywNCi5icy10b29sdGlwLWJvdHRvbSAuYXJyb3cgew0KICAgIHRvcDogMA0KfQ0KDQouYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdzo6YmVmb3JlLA0KLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlIHsNCiAgICBib3R0b206IDA7DQogICAgYm9yZGVyLXdpZHRoOiAwIC40cmVtIC40cmVtOw0KICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDANCn0NCg0KLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49bGVmdF0sDQouYnMtdG9vbHRpcC1sZWZ0IHsNCiAgICBwYWRkaW5nOiAwIC40cmVtDQp9DQoNCi5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdywNCi5icy10b29sdGlwLWxlZnQgLmFycm93IHsNCiAgICByaWdodDogMDsNCiAgICB3aWR0aDogLjRyZW07DQogICAgaGVpZ2h0OiAuOHJlbQ0KfQ0KDQouYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmJlZm9yZSwNCi5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUgew0KICAgIGxlZnQ6IDA7DQogICAgYm9yZGVyLXdpZHRoOiAuNHJlbSAwIC40cmVtIC40cmVtOw0KICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwDQp9DQoNCi50b29sdGlwLWlubmVyIHsNCiAgICBtYXgtd2lkdGg6IDIwMHB4Ow0KICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsNCiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW0NCn0NCg0KLnBvcG92ZXIgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsNCiAgICB6LWluZGV4OiAxMDYwOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG1heC13aWR0aDogMjc2cHg7DQogICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBBcmlhbCwgIk5vdG8gU2FucyIsIHNhbnMtc2VyaWYsICJBcHBsZSBDb2xvciBFbW9qaSIsICJTZWdvZSBVSSBFbW9qaSIsICJTZWdvZSBVSSBTeW1ib2wiLCAiTm90byBDb2xvciBFbW9qaSI7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIHRleHQtYWxpZ246IHN0YXJ0Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsNCiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOw0KICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsNCiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDsNCiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KICAgIGxpbmUtYnJlYWs6IGF1dG87DQogICAgZm9udC1zaXplOiAuODc1cmVtOw0KICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMik7DQogICAgYm9yZGVyLXJhZGl1czogLjNyZW0NCn0NCg0KLnBvcG92ZXIgLmFycm93IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDFyZW07DQogICAgaGVpZ2h0OiAuNXJlbTsNCiAgICBtYXJnaW46IDAgLjNyZW0NCn0NCg0KLnBvcG92ZXIgLmFycm93OjphZnRlciwNCi5wb3BvdmVyIC5hcnJvdzo6YmVmb3JlIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgY29udGVudDogIiI7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkDQp9DQoNCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0sDQouYnMtcG9wb3Zlci10b3Agew0KICAgIG1hcmdpbi1ib3R0b206IC41cmVtDQp9DQoNCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0+LmFycm93LA0KLmJzLXBvcG92ZXItdG9wPi5hcnJvdyB7DQogICAgYm90dG9tOiBjYWxjKCguNXJlbSArIDFweCkgKiAtMSkNCn0NCg0KLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXT4uYXJyb3c6OmJlZm9yZSwNCi5icy1wb3BvdmVyLXRvcD4uYXJyb3c6OmJlZm9yZSB7DQogICAgYm90dG9tOiAwOw0KICAgIGJvcmRlci13aWR0aDogLjVyZW0gLjVyZW0gMDsNCiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSkNCn0NCg0KLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXT4uYXJyb3c6OmFmdGVyLA0KLmJzLXBvcG92ZXItdG9wPi5hcnJvdzo6YWZ0ZXIgew0KICAgIGJvdHRvbTogMXB4Ow0KICAgIGJvcmRlci13aWR0aDogLjVyZW0gLjVyZW0gMDsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmDQp9DQoNCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSwNCi5icy1wb3BvdmVyLXJpZ2h0IHsNCiAgICBtYXJnaW4tbGVmdDogLjVyZW0NCn0NCg0KLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdPi5hcnJvdywNCi5icy1wb3BvdmVyLXJpZ2h0Pi5hcnJvdyB7DQogICAgbGVmdDogY2FsYygoLjVyZW0gKyAxcHgpICogLTEpOw0KICAgIHdpZHRoOiAuNXJlbTsNCiAgICBoZWlnaHQ6IDFyZW07DQogICAgbWFyZ2luOiAuM3JlbSAwDQp9DQoNCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XT4uYXJyb3c6OmJlZm9yZSwNCi5icy1wb3BvdmVyLXJpZ2h0Pi5hcnJvdzo6YmVmb3JlIHsNCiAgICBsZWZ0OiAwOw0KICAgIGJvcmRlci13aWR0aDogLjVyZW0gLjVyZW0gLjVyZW0gMDsNCiAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KQ0KfQ0KDQouYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0+LmFycm93OjphZnRlciwNCi5icy1wb3BvdmVyLXJpZ2h0Pi5hcnJvdzo6YWZ0ZXIgew0KICAgIGxlZnQ6IDFweDsNCiAgICBib3JkZXItd2lkdGg6IC41cmVtIC41cmVtIC41cmVtIDA7DQogICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmDQp9DQoNCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0sDQouYnMtcG9wb3Zlci1ib3R0b20gew0KICAgIG1hcmdpbi10b3A6IC41cmVtDQp9DQoNCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0+LmFycm93LA0KLmJzLXBvcG92ZXItYm90dG9tPi5hcnJvdyB7DQogICAgdG9wOiBjYWxjKCguNXJlbSArIDFweCkgKiAtMSkNCn0NCg0KLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXT4uYXJyb3c6OmJlZm9yZSwNCi5icy1wb3BvdmVyLWJvdHRvbT4uYXJyb3c6OmJlZm9yZSB7DQogICAgdG9wOiAwOw0KICAgIGJvcmRlci13aWR0aDogMCAuNXJlbSAuNXJlbSAuNXJlbTsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSkNCn0NCg0KLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXT4uYXJyb3c6OmFmdGVyLA0KLmJzLXBvcG92ZXItYm90dG9tPi5hcnJvdzo6YWZ0ZXIgew0KICAgIHRvcDogMXB4Ow0KICAgIGJvcmRlci13aWR0aDogMCAuNXJlbSAuNXJlbSAuNXJlbTsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmDQp9DQoNCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUsDQouYnMtcG9wb3Zlci1ib3R0b20gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogNTAlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAxcmVtOw0KICAgIG1hcmdpbi1sZWZ0OiAtLjVyZW07DQogICAgY29udGVudDogIiI7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmN2Y3ZjcNCn0NCg0KLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0sDQouYnMtcG9wb3Zlci1sZWZ0IHsNCiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtDQp9DQoNCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdPi5hcnJvdywNCi5icy1wb3BvdmVyLWxlZnQ+LmFycm93IHsNCiAgICByaWdodDogY2FsYygoLjVyZW0gKyAxcHgpICogLTEpOw0KICAgIHdpZHRoOiAuNXJlbTsNCiAgICBoZWlnaHQ6IDFyZW07DQogICAgbWFyZ2luOiAuM3JlbSAwDQp9DQoNCi5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdPi5hcnJvdzo6YmVmb3JlLA0KLmJzLXBvcG92ZXItbGVmdD4uYXJyb3c6OmJlZm9yZSB7DQogICAgcmlnaHQ6IDA7DQogICAgYm9yZGVyLXdpZHRoOiAuNXJlbSAwIC41cmVtIC41cmVtOw0KICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSkNCn0NCg0KLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0+LmFycm93OjphZnRlciwNCi5icy1wb3BvdmVyLWxlZnQ+LmFycm93OjphZnRlciB7DQogICAgcmlnaHQ6IDFweDsNCiAgICBib3JkZXItd2lkdGg6IC41cmVtIDAgLjVyZW0gLjVyZW07DQogICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmYNCn0NCg0KLnBvcG92ZXItaGVhZGVyIHsNCiAgICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBmb250LXNpemU6IDFyZW07DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKC4zcmVtIC0gMXB4KTsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyguM3JlbSAtIDFweCkNCn0NCg0KLnBvcG92ZXItaGVhZGVyOmVtcHR5IHsNCiAgICBkaXNwbGF5OiBub25lDQp9DQoNCi5wb3BvdmVyLWJvZHkgew0KICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTsNCiAgICBjb2xvcjogIzIxMjUyOQ0KfQ0KDQouY2Fyb3VzZWwgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZQ0KfQ0KDQouY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7DQogICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7DQogICAgdG91Y2gtYWN0aW9uOiBwYW4teQ0KfQ0KDQouY2Fyb3VzZWwtaW5uZXIgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBvdmVyZmxvdzogaGlkZGVuDQp9DQoNCi5jYXJvdXNlbC1pbm5lcjo6YWZ0ZXIgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGNsZWFyOiBib3RoOw0KICAgIGNvbnRlbnQ6ICIiDQp9DQoNCi5jYXJvdXNlbC1pdGVtIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlOw0KICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7DQogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDsNCiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0LCAtd2Via2l0LXRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQNCn0NCg0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkgew0KICAgIC5jYXJvdXNlbC1pdGVtIHsNCiAgICAgICAgdHJhbnNpdGlvbjogbm9uZQ0KICAgIH0NCn0NCg0KLmNhcm91c2VsLWl0ZW0tbmV4dCwNCi5jYXJvdXNlbC1pdGVtLXByZXYsDQouY2Fyb3VzZWwtaXRlbS5hY3RpdmUgew0KICAgIGRpc3BsYXk6IGJsb2NrDQp9DQoNCi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCwNCi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkNCn0NCg0KLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsDQouY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCkgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpDQp9DQoNCi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lDQp9DQoNCi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LA0KLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0LA0KLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlIHsNCiAgICB6LWluZGV4OiAxOw0KICAgIG9wYWNpdHk6IDENCn0NCg0KLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsDQouY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgew0KICAgIHotaW5kZXg6IDA7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2l0aW9uOiAwcyAuNnMgb3BhY2l0eQ0KfQ0KDQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKSB7DQogICAgLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsDQogICAgLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHsNCiAgICAgICAgdHJhbnNpdGlvbjogbm9uZQ0KICAgIH0NCn0NCg0KLmNhcm91c2VsLWNvbnRyb2wtbmV4dCwNCi5jYXJvdXNlbC1jb250cm9sLXByZXYgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIHotaW5kZXg6IDE7DQogICAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOw0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHdpZHRoOiAxNSU7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIG9wYWNpdHk6IC41Ow0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlDQp9DQoNCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpIHsNCiAgICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LA0KICAgIC5jYXJvdXNlbC1jb250cm9sLXByZXYgew0KICAgICAgICB0cmFuc2l0aW9uOiBub25lDQogICAgfQ0KfQ0KDQouY2Fyb3VzZWwtY29udHJvbC1uZXh0OmZvY3VzLA0KLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpob3ZlciwNCi5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsDQouY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgb3V0bGluZTogMDsNCiAgICBvcGFjaXR5OiAuOQ0KfQ0KDQouY2Fyb3VzZWwtY29udHJvbC1wcmV2IHsNCiAgICBsZWZ0OiAwDQp9DQoNCi5jYXJvdXNlbC1jb250cm9sLW5leHQgew0KICAgIHJpZ2h0OiAwDQp9DQoNCi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiwNCi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHdpZHRoOiAyMHB4Ow0KICAgIGhlaWdodDogMjBweDsNCiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlLzEwMCUgMTAwJQ0KfQ0KDQouY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24gew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzZSUzYy9zdmclM2UiKQ0KfQ0KDQouY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24gew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzZSUzYy9zdmclM2UiKQ0KfQ0KDQouY2Fyb3VzZWwtaW5kaWNhdG9ycyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHJpZ2h0OiAwOw0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHotaW5kZXg6IDE1Ow0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBtYXJnaW4tcmlnaHQ6IDE1JTsNCiAgICBtYXJnaW4tbGVmdDogMTUlOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmUNCn0NCg0KLmNhcm91c2VsLWluZGljYXRvcnMgbGkgew0KICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Ow0KICAgIC1tcy1mbGV4OiAwIDEgYXV0bzsNCiAgICBmbGV4OiAwIDEgYXV0bzsNCiAgICB3aWR0aDogMzBweDsNCiAgICBoZWlnaHQ6IDNweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDNweDsNCiAgICBtYXJnaW4tbGVmdDogM3B4Ow0KICAgIHRleHQtaW5kZW50OiAtOTk5cHg7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsNCiAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgb3BhY2l0eTogLjU7DQogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMgZWFzZQ0KfQ0KDQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKSB7DQogICAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkgew0KICAgICAgICB0cmFuc2l0aW9uOiBub25lDQogICAgfQ0KfQ0KDQouY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZlIHsNCiAgICBvcGFjaXR5OiAxDQp9DQoNCi5jYXJvdXNlbC1jYXB0aW9uIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgcmlnaHQ6IDE1JTsNCiAgICBib3R0b206IDIwcHg7DQogICAgbGVmdDogMTUlOw0KICAgIHotaW5kZXg6IDEwOw0KICAgIHBhZGRpbmctdG9wOiAyMHB4Ow0KICAgIHBhZGRpbmctYm90dG9tOiAyMHB4Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIgew0KICAgIHRvIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOw0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpDQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHsNCiAgICB0byB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsNCiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKQ0KICAgIH0NCn0NCg0KLnNwaW5uZXItYm9yZGVyIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDJyZW07DQogICAgaGVpZ2h0OiAycmVtOw0KICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTsNCiAgICBib3JkZXI6IC4yNWVtIHNvbGlkIGN1cnJlbnRDb2xvcjsNCiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7DQogICAgYW5pbWF0aW9uOiBzcGlubmVyLWJvcmRlciAuNzVzIGxpbmVhciBpbmZpbml0ZQ0KfQ0KDQouc3Bpbm5lci1ib3JkZXItc20gew0KICAgIHdpZHRoOiAxcmVtOw0KICAgIGhlaWdodDogMXJlbTsNCiAgICBib3JkZXItd2lkdGg6IC4yZW0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7DQogICAgMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkNCiAgICB9DQogICAgNTAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCn0NCg0KQGtleWZyYW1lcyBzcGlubmVyLWdyb3cgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApDQogICAgfQ0KICAgIDUwJSB7DQogICAgICAgIG9wYWNpdHk6IDENCiAgICB9DQp9DQoNCi5zcGlubmVyLWdyb3cgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogMnJlbTsNCiAgICBoZWlnaHQ6IDJyZW07DQogICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tOw0KICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjsNCiAgICBib3JkZXItcmFkaXVzOiA1MCU7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3Bpbm5lci1ncm93IC43NXMgbGluZWFyIGluZmluaXRlOw0KICAgIGFuaW1hdGlvbjogc3Bpbm5lci1ncm93IC43NXMgbGluZWFyIGluZmluaXRlDQp9DQoNCi5zcGlubmVyLWdyb3ctc20gew0KICAgIHdpZHRoOiAxcmVtOw0KICAgIGhlaWdodDogMXJlbQ0KfQ0KDQouYWxpZ24tYmFzZWxpbmUgew0KICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50DQp9DQoNCi5hbGlnbi10b3Agew0KICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudA0KfQ0KDQouYWxpZ24tbWlkZGxlIHsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQNCn0NCg0KLmFsaWduLWJvdHRvbSB7DQogICAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50DQp9DQoNCi5hbGlnbi10ZXh0LWJvdHRvbSB7DQogICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQNCn0NCg0KLmFsaWduLXRleHQtdG9wIHsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudA0KfQ0KDQouYmctcHJpbWFyeSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZiAhaW1wb3J0YW50DQp9DQoNCmEuYmctcHJpbWFyeTpmb2N1cywNCmEuYmctcHJpbWFyeTpob3ZlciwNCmJ1dHRvbi5iZy1wcmltYXJ5OmZvY3VzLA0KYnV0dG9uLmJnLXByaW1hcnk6aG92ZXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYyY2MgIWltcG9ydGFudA0KfQ0KDQouYmctc2Vjb25kYXJ5IHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQNCn0NCg0KYS5iZy1zZWNvbmRhcnk6Zm9jdXMsDQphLmJnLXNlY29uZGFyeTpob3ZlciwNCmJ1dHRvbi5iZy1zZWNvbmRhcnk6Zm9jdXMsDQpidXR0b24uYmctc2Vjb25kYXJ5OmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyICFpbXBvcnRhbnQNCn0NCg0KLmJnLXN1Y2Nlc3Mgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDUgIWltcG9ydGFudA0KfQ0KDQphLmJnLXN1Y2Nlc3M6Zm9jdXMsDQphLmJnLXN1Y2Nlc3M6aG92ZXIsDQpidXR0b24uYmctc3VjY2Vzczpmb2N1cywNCmJ1dHRvbi5iZy1zdWNjZXNzOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0ICFpbXBvcnRhbnQNCn0NCg0KLmJnLWluZm8gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjggIWltcG9ydGFudA0KfQ0KDQphLmJnLWluZm86Zm9jdXMsDQphLmJnLWluZm86aG92ZXIsDQpidXR0b24uYmctaW5mbzpmb2N1cywNCmJ1dHRvbi5iZy1pbmZvOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiICFpbXBvcnRhbnQNCn0NCg0KLmJnLXdhcm5pbmcgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDcgIWltcG9ydGFudA0KfQ0KDQphLmJnLXdhcm5pbmc6Zm9jdXMsDQphLmJnLXdhcm5pbmc6aG92ZXIsDQpidXR0b24uYmctd2FybmluZzpmb2N1cywNCmJ1dHRvbi5iZy13YXJuaW5nOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwICFpbXBvcnRhbnQNCn0NCg0KLmJnLWRhbmdlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50DQp9DQoNCmEuYmctZGFuZ2VyOmZvY3VzLA0KYS5iZy1kYW5nZXI6aG92ZXIsDQpidXR0b24uYmctZGFuZ2VyOmZvY3VzLA0KYnV0dG9uLmJnLWRhbmdlcjpob3ZlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2JkMjEzMCAhaW1wb3J0YW50DQp9DQoNCi5iZy1saWdodCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50DQp9DQoNCmEuYmctbGlnaHQ6Zm9jdXMsDQphLmJnLWxpZ2h0OmhvdmVyLA0KYnV0dG9uLmJnLWxpZ2h0OmZvY3VzLA0KYnV0dG9uLmJnLWxpZ2h0OmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlMGU1ICFpbXBvcnRhbnQNCn0NCg0KLmJnLWRhcmsgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDAgIWltcG9ydGFudA0KfQ0KDQphLmJnLWRhcms6Zm9jdXMsDQphLmJnLWRhcms6aG92ZXIsDQpidXR0b24uYmctZGFyazpmb2N1cywNCmJ1dHRvbi5iZy1kYXJrOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0ICFpbXBvcnRhbnQNCn0NCg0KLmJnLXdoaXRlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQNCn0NCg0KLmJnLXRyYW5zcGFyZW50IHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50DQp9DQoNCi5ib3JkZXIgew0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudA0KfQ0KDQouYm9yZGVyLXRvcCB7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudA0KfQ0KDQouYm9yZGVyLXJpZ2h0IHsNCiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQNCn0NCg0KLmJvcmRlci1ib3R0b20gew0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQNCn0NCg0KLmJvcmRlci1sZWZ0IHsNCiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudA0KfQ0KDQouYm9yZGVyLTAgew0KICAgIGJvcmRlcjogMCAhaW1wb3J0YW50DQp9DQoNCi5ib3JkZXItdG9wLTAgew0KICAgIGJvcmRlci10b3A6IDAgIWltcG9ydGFudA0KfQ0KDQouYm9yZGVyLXJpZ2h0LTAgew0KICAgIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50DQp9DQoNCi5ib3JkZXItYm90dG9tLTAgew0KICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudA0KfQ0KDQouYm9yZGVyLWxlZnQtMCB7DQogICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudA0KfQ0KDQouYm9yZGVyLXByaW1hcnkgew0KICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZiAhaW1wb3J0YW50DQp9DQoNCi5ib3JkZXItc2Vjb25kYXJ5IHsNCiAgICBib3JkZXItY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudA0KfQ0KDQouYm9yZGVyLXN1Y2Nlc3Mgew0KICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NSAhaW1wb3J0YW50DQp9DQoNCi5ib3JkZXItaW5mbyB7DQogICAgYm9yZGVyLWNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQNCn0NCg0KLmJvcmRlci13YXJuaW5nIHsNCiAgICBib3JkZXItY29sb3I6ICNmZmMxMDcgIWltcG9ydGFudA0KfQ0KDQouYm9yZGVyLWRhbmdlciB7DQogICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQNCn0NCg0KLmJvcmRlci1saWdodCB7DQogICAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQNCn0NCg0KLmJvcmRlci1kYXJrIHsNCiAgICBib3JkZXItY29sb3I6ICMzNDNhNDAgIWltcG9ydGFudA0KfQ0KDQouYm9yZGVyLXdoaXRlIHsNCiAgICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudA0KfQ0KDQoucm91bmRlZC1zbSB7DQogICAgYm9yZGVyLXJhZGl1czogLjJyZW0gIWltcG9ydGFudA0KfQ0KDQoucm91bmRlZCB7DQogICAgYm9yZGVyLXJhZGl1czogLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLnJvdW5kZWQtdG9wIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMjVyZW0gIWltcG9ydGFudDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLnJvdW5kZWQtcmlnaHQgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMjVyZW0gIWltcG9ydGFudDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLnJvdW5kZWQtYm90dG9tIHsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjI1cmVtICFpbXBvcnRhbnQ7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLnJvdW5kZWQtbGVmdCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjI1cmVtICFpbXBvcnRhbnQ7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLnJvdW5kZWQtbGcgew0KICAgIGJvcmRlci1yYWRpdXM6IC4zcmVtICFpbXBvcnRhbnQNCn0NCg0KLnJvdW5kZWQtY2lyY2xlIHsNCiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudA0KfQ0KDQoucm91bmRlZC1waWxsIHsNCiAgICBib3JkZXItcmFkaXVzOiA1MHJlbSAhaW1wb3J0YW50DQp9DQoNCi5yb3VuZGVkLTAgew0KICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudA0KfQ0KDQouY2xlYXJmaXg6OmFmdGVyIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBjbGVhcjogYm90aDsNCiAgICBjb250ZW50OiAiIg0KfQ0KDQouZC1ub25lIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQNCn0NCg0KLmQtaW5saW5lIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudA0KfQ0KDQouZC1pbmxpbmUtYmxvY2sgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50DQp9DQoNCi5kLWJsb2NrIHsNCiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50DQp9DQoNCi5kLXRhYmxlIHsNCiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50DQp9DQoNCi5kLXRhYmxlLXJvdyB7DQogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQNCn0NCg0KLmQtdGFibGUtY2VsbCB7DQogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50DQp9DQoNCi5kLWZsZXggew0KICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50DQp9DQoNCi5kLWlubGluZS1mbGV4IHsNCiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7DQogICAgLmQtc20tbm9uZSB7DQogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC1zbS1pbmxpbmUgew0KICAgICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC1zbS1pbmxpbmUtYmxvY2sgew0KICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC1zbS1ibG9jayB7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQtc20tdGFibGUgew0KICAgICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLXNtLXRhYmxlLXJvdyB7DQogICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLXNtLXRhYmxlLWNlbGwgew0KICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQtc20tZmxleCB7DQogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC1zbS1pbmxpbmUtZmxleCB7DQogICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50Ow0KICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgew0KICAgIC5kLW1kLW5vbmUgew0KICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQtbWQtaW5saW5lIHsNCiAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQtbWQtaW5saW5lLWJsb2NrIHsNCiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQtbWQtYmxvY2sgew0KICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLW1kLXRhYmxlIHsNCiAgICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC1tZC10YWJsZS1yb3cgew0KICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC1tZC10YWJsZS1jZWxsIHsNCiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLW1kLWZsZXggew0KICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50Ow0KICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQtbWQtaW5saW5lLWZsZXggew0KICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudA0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsNCiAgICAuZC1sZy1ub25lIHsNCiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLWxnLWlubGluZSB7DQogICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLWxnLWlubGluZS1ibG9jayB7DQogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLWxnLWJsb2NrIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC1sZy10YWJsZSB7DQogICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQtbGctdGFibGUtcm93IHsNCiAgICAgICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQtbGctdGFibGUtY2VsbCB7DQogICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC1sZy1mbGV4IHsNCiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLWxnLWlubGluZS1mbGV4IHsNCiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgew0KICAgIC5kLXhsLW5vbmUgew0KICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQteGwtaW5saW5lIHsNCiAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQteGwtaW5saW5lLWJsb2NrIHsNCiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQteGwtYmxvY2sgew0KICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLXhsLXRhYmxlIHsNCiAgICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC14bC10YWJsZS1yb3cgew0KICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC14bC10YWJsZS1jZWxsIHsNCiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLXhsLWZsZXggew0KICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50Ow0KICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQteGwtaW5saW5lLWZsZXggew0KICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudA0KICAgIH0NCn0NCg0KQG1lZGlhIHByaW50IHsNCiAgICAuZC1wcmludC1ub25lIHsNCiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLXByaW50LWlubGluZSB7DQogICAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLXByaW50LWlubGluZS1ibG9jayB7DQogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLXByaW50LWJsb2NrIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC1wcmludC10YWJsZSB7DQogICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQtcHJpbnQtdGFibGUtcm93IHsNCiAgICAgICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmQtcHJpbnQtdGFibGUtY2VsbCB7DQogICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZC1wcmludC1mbGV4IHsNCiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDsNCiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5kLXByaW50LWlubGluZS1mbGV4IHsNCiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7DQogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQNCiAgICB9DQp9DQoNCi5lbWJlZC1yZXNwb25zaXZlIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuDQp9DQoNCi5lbWJlZC1yZXNwb25zaXZlOjpiZWZvcmUgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGNvbnRlbnQ6ICIiDQp9DQoNCi5lbWJlZC1yZXNwb25zaXZlIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sDQouZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZCwNCi5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSwNCi5lbWJlZC1yZXNwb25zaXZlIG9iamVjdCwNCi5lbWJlZC1yZXNwb25zaXZlIHZpZGVvIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwOw0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBib3JkZXI6IDANCn0NCg0KLmVtYmVkLXJlc3BvbnNpdmUtMjFieTk6OmJlZm9yZSB7DQogICAgcGFkZGluZy10b3A6IDQyLjg1NzE0MyUNCn0NCg0KLmVtYmVkLXJlc3BvbnNpdmUtMTZieTk6OmJlZm9yZSB7DQogICAgcGFkZGluZy10b3A6IDU2LjI1JQ0KfQ0KDQouZW1iZWQtcmVzcG9uc2l2ZS00YnkzOjpiZWZvcmUgew0KICAgIHBhZGRpbmctdG9wOiA3NSUNCn0NCg0KLmVtYmVkLXJlc3BvbnNpdmUtMWJ5MTo6YmVmb3JlIHsNCiAgICBwYWRkaW5nLXRvcDogMTAwJQ0KfQ0KDQouZmxleC1yb3cgew0KICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7DQogICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50DQp9DQoNCi5mbGV4LWNvbHVtbiB7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQNCn0NCg0KLmZsZXgtcm93LXJldmVyc2Ugew0KICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsNCiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudA0KfQ0KDQouZmxleC1jb2x1bW4tcmV2ZXJzZSB7DQogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50DQp9DQoNCi5mbGV4LXdyYXAgew0KICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsNCiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudA0KfQ0KDQouZmxleC1ub3dyYXAgew0KICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50Ow0KICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQNCn0NCg0KLmZsZXgtd3JhcC1yZXZlcnNlIHsNCiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsNCiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50DQp9DQoNCi5mbGV4LWZpbGwgew0KICAgIC1tcy1mbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50Ow0KICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQNCn0NCg0KLmZsZXgtZ3Jvdy0wIHsNCiAgICAtbXMtZmxleC1wb3NpdGl2ZTogMCAhaW1wb3J0YW50Ow0KICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50DQp9DQoNCi5mbGV4LWdyb3ctMSB7DQogICAgLW1zLWZsZXgtcG9zaXRpdmU6IDEgIWltcG9ydGFudDsNCiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudA0KfQ0KDQouZmxleC1zaHJpbmstMCB7DQogICAgLW1zLWZsZXgtbmVnYXRpdmU6IDAgIWltcG9ydGFudDsNCiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50DQp9DQoNCi5mbGV4LXNocmluay0xIHsNCiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMSAhaW1wb3J0YW50Ow0KICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQNCn0NCg0KLmp1c3RpZnktY29udGVudC1zdGFydCB7DQogICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudA0KfQ0KDQouanVzdGlmeS1jb250ZW50LWVuZCB7DQogICAgLW1zLWZsZXgtcGFjazogZW5kICFpbXBvcnRhbnQ7DQogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50DQp9DQoNCi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHsNCiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50DQp9DQoNCi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7DQogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50DQp9DQoNCi5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHsNCiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudA0KfQ0KDQouYWxpZ24taXRlbXMtc3RhcnQgew0KICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQNCn0NCg0KLmFsaWduLWl0ZW1zLWVuZCB7DQogICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50Ow0KICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50DQp9DQoNCi5hbGlnbi1pdGVtcy1jZW50ZXIgew0KICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQNCn0NCg0KLmFsaWduLWl0ZW1zLWJhc2VsaW5lIHsNCiAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudA0KfQ0KDQouYWxpZ24taXRlbXMtc3RyZXRjaCB7DQogICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50DQp9DQoNCi5hbGlnbi1jb250ZW50LXN0YXJ0IHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50DQp9DQoNCi5hbGlnbi1jb250ZW50LWVuZCB7DQogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50DQp9DQoNCi5hbGlnbi1jb250ZW50LWNlbnRlciB7DQogICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudA0KfQ0KDQouYWxpZ24tY29udGVudC1iZXR3ZWVuIHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQNCn0NCg0KLmFsaWduLWNvbnRlbnQtYXJvdW5kIHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudA0KfQ0KDQouYWxpZ24tY29udGVudC1zdHJldGNoIHsNCiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQNCn0NCg0KLmFsaWduLXNlbGYtYXV0byB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYXV0byAhaW1wb3J0YW50Ow0KICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudA0KfQ0KDQouYWxpZ24tc2VsZi1zdGFydCB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQNCn0NCg0KLmFsaWduLXNlbGYtZW5kIHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDsNCiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50DQp9DQoNCi5hbGlnbi1zZWxmLWNlbnRlciB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQNCn0NCg0KLmFsaWduLXNlbGYtYmFzZWxpbmUgew0KICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudA0KfQ0KDQouYWxpZ24tc2VsZi1zdHJldGNoIHsNCiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7DQogICAgLmZsZXgtc20tcm93IHsNCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LXNtLWNvbHVtbiB7DQogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1zbS1yb3ctcmV2ZXJzZSB7DQogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtc20tY29sdW1uLXJldmVyc2Ugew0KICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LXNtLXdyYXAgew0KICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LXNtLW5vd3JhcCB7DQogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LXNtLXdyYXAtcmV2ZXJzZSB7DQogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LXNtLWZpbGwgew0KICAgICAgICAtbXMtZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1zbS1ncm93LTAgew0KICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMCAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1zbS1ncm93LTEgew0KICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMSAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1zbS1zaHJpbmstMCB7DQogICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtc20tc2hyaW5rLTEgew0KICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMSAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtc20tc3RhcnQgew0KICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuanVzdGlmeS1jb250ZW50LXNtLWVuZCB7DQogICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50Ow0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmp1c3RpZnktY29udGVudC1zbS1jZW50ZXIgew0KICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudA0KICAgIH0NCiAgICAuanVzdGlmeS1jb250ZW50LXNtLWJldHdlZW4gew0KICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7DQogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtc20tYXJvdW5kIHsNCiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50Ow0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1pdGVtcy1zbS1zdGFydCB7DQogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1pdGVtcy1zbS1lbmQgew0KICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1pdGVtcy1zbS1jZW50ZXIgew0KICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24taXRlbXMtc20tYmFzZWxpbmUgew0KICAgICAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWl0ZW1zLXNtLXN0cmV0Y2ggew0KICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1jb250ZW50LXNtLXN0YXJ0IHsNCiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWNvbnRlbnQtc20tZW5kIHsNCiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tY29udGVudC1zbS1jZW50ZXIgew0KICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tY29udGVudC1zbS1iZXR3ZWVuIHsNCiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tY29udGVudC1zbS1hcm91bmQgew0KICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWNvbnRlbnQtc20tc3RyZXRjaCB7DQogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLXNlbGYtc20tYXV0byB7DQogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1zZWxmLXNtLXN0YXJ0IHsNCiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1zZWxmLXNtLWVuZCB7DQogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZCAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1zZWxmLXNtLWNlbnRlciB7DQogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tc2VsZi1zbS1iYXNlbGluZSB7DQogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLXNlbGYtc20tc3RyZXRjaCB7DQogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgew0KICAgIC5mbGV4LW1kLXJvdyB7DQogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1tZC1jb2x1bW4gew0KICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtbWQtcm93LXJldmVyc2Ugew0KICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LW1kLWNvbHVtbi1yZXZlcnNlIHsNCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1tZC13cmFwIHsNCiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1tZC1ub3dyYXAgew0KICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1tZC13cmFwLXJldmVyc2Ugew0KICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1tZC1maWxsIHsNCiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtbWQtZ3Jvdy0wIHsNCiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDAgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtbWQtZ3Jvdy0xIHsNCiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDEgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtbWQtc2hyaW5rLTAgew0KICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMCAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LW1kLXNocmluay0xIHsNCiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDEgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudA0KICAgIH0NCiAgICAuanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0IHsNCiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmp1c3RpZnktY29udGVudC1tZC1lbmQgew0KICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVyIHsNCiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmp1c3RpZnktY29udGVudC1tZC1iZXR3ZWVuIHsNCiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudA0KICAgIH0NCiAgICAuanVzdGlmeS1jb250ZW50LW1kLWFyb3VuZCB7DQogICAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24taXRlbXMtbWQtc3RhcnQgew0KICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24taXRlbXMtbWQtZW5kIHsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWl0ZW1zLW1kLWJhc2VsaW5lIHsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1pdGVtcy1tZC1zdHJldGNoIHsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7DQogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7DQogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWNvbnRlbnQtbWQtY2VudGVyIHsNCiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWNvbnRlbnQtbWQtYmV0d2VlbiB7DQogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWNvbnRlbnQtbWQtYXJvdW5kIHsNCiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2ggew0KICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1zZWxmLW1kLWF1dG8gew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tc2VsZi1tZC1zdGFydCB7DQogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tc2VsZi1tZC1lbmQgew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tc2VsZi1tZC1jZW50ZXIgew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLXNlbGYtbWQtYmFzZWxpbmUgew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1zZWxmLW1kLXN0cmV0Y2ggew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudA0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsNCiAgICAuZmxleC1sZy1yb3cgew0KICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtbGctY29sdW1uIHsNCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LWxnLXJvdy1yZXZlcnNlIHsNCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1sZy1jb2x1bW4tcmV2ZXJzZSB7DQogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtbGctd3JhcCB7DQogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtbGctbm93cmFwIHsNCiAgICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtbGctd3JhcC1yZXZlcnNlIHsNCiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgtbGctZmlsbCB7DQogICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LWxnLWdyb3ctMCB7DQogICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LWxnLWdyb3ctMSB7DQogICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LWxnLXNocmluay0wIHsNCiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDAgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC1sZy1zaHJpbmstMSB7DQogICAgICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmp1c3RpZnktY29udGVudC1sZy1zdGFydCB7DQogICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtbGctZW5kIHsNCiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kICFpbXBvcnRhbnQ7DQogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuanVzdGlmeS1jb250ZW50LWxnLWNlbnRlciB7DQogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7DQogICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmp1c3RpZnktY29udGVudC1sZy1hcm91bmQgew0KICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7DQogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWl0ZW1zLWxnLXN0YXJ0IHsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWl0ZW1zLWxnLWVuZCB7DQogICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWl0ZW1zLWxnLWNlbnRlciB7DQogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1pdGVtcy1sZy1iYXNlbGluZSB7DQogICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24taXRlbXMtbGctc3RyZXRjaCB7DQogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWNvbnRlbnQtbGctc3RhcnQgew0KICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tY29udGVudC1sZy1lbmQgew0KICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1jb250ZW50LWxnLWNlbnRlciB7DQogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1jb250ZW50LWxnLWJldHdlZW4gew0KICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1jb250ZW50LWxnLWFyb3VuZCB7DQogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tY29udGVudC1sZy1zdHJldGNoIHsNCiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tc2VsZi1sZy1hdXRvIHsNCiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLXNlbGYtbGctc3RhcnQgew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLXNlbGYtbGctZW5kIHsNCiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLXNlbGYtbGctY2VudGVyIHsNCiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1zZWxmLWxnLWJhc2VsaW5lIHsNCiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tc2VsZi1sZy1zdHJldGNoIHsNCiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgew0KICAgIC5mbGV4LXhsLXJvdyB7DQogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC14bC1jb2x1bW4gew0KICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgteGwtcm93LXJldmVyc2Ugew0KICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LXhsLWNvbHVtbi1yZXZlcnNlIHsNCiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC14bC13cmFwIHsNCiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC14bC1ub3dyYXAgew0KICAgICAgICAtbXMtZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC14bC13cmFwLXJldmVyc2Ugew0KICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxleC14bC1maWxsIHsNCiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgteGwtZ3Jvdy0wIHsNCiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDAgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgteGwtZ3Jvdy0xIHsNCiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDEgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsZXgteGwtc2hyaW5rLTAgew0KICAgICAgICAtbXMtZmxleC1uZWdhdGl2ZTogMCAhaW1wb3J0YW50Ow0KICAgICAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbGV4LXhsLXNocmluay0xIHsNCiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDEgIWltcG9ydGFudDsNCiAgICAgICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudA0KICAgIH0NCiAgICAuanVzdGlmeS1jb250ZW50LXhsLXN0YXJ0IHsNCiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmp1c3RpZnktY29udGVudC14bC1lbmQgew0KICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5qdXN0aWZ5LWNvbnRlbnQteGwtY2VudGVyIHsNCiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmp1c3RpZnktY29udGVudC14bC1iZXR3ZWVuIHsNCiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudA0KICAgIH0NCiAgICAuanVzdGlmeS1jb250ZW50LXhsLWFyb3VuZCB7DQogICAgICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24taXRlbXMteGwtc3RhcnQgew0KICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24taXRlbXMteGwtZW5kIHsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24taXRlbXMteGwtY2VudGVyIHsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5lIHsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1pdGVtcy14bC1zdHJldGNoIHsNCiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tY29udGVudC14bC1zdGFydCB7DQogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1jb250ZW50LXhsLWVuZCB7DQogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWNvbnRlbnQteGwtY2VudGVyIHsNCiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWNvbnRlbnQteGwtYmV0d2VlbiB7DQogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLWNvbnRlbnQteGwtYXJvdW5kIHsNCiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1jb250ZW50LXhsLXN0cmV0Y2ggew0KICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1zZWxmLXhsLWF1dG8gew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tc2VsZi14bC1zdGFydCB7DQogICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tc2VsZi14bC1lbmQgew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuYWxpZ24tc2VsZi14bC1jZW50ZXIgew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmFsaWduLXNlbGYteGwtYmFzZWxpbmUgew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50Ow0KICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5hbGlnbi1zZWxmLXhsLXN0cmV0Y2ggew0KICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7DQogICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudA0KICAgIH0NCn0NCg0KLmZsb2F0LWxlZnQgew0KICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQNCn0NCg0KLmZsb2F0LXJpZ2h0IHsNCiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudA0KfQ0KDQouZmxvYXQtbm9uZSB7DQogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudA0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo1NzZweCkgew0KICAgIC5mbG9hdC1zbS1sZWZ0IHsNCiAgICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxvYXQtc20tcmlnaHQgew0KICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudA0KICAgIH0NCiAgICAuZmxvYXQtc20tbm9uZSB7DQogICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7DQogICAgLmZsb2F0LW1kLWxlZnQgew0KICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbG9hdC1tZC1yaWdodCB7DQogICAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5mbG9hdC1tZC1ub25lIHsNCiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudA0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsNCiAgICAuZmxvYXQtbGctbGVmdCB7DQogICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsb2F0LWxnLXJpZ2h0IHsNCiAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsb2F0LWxnLW5vbmUgew0KICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpIHsNCiAgICAuZmxvYXQteGwtbGVmdCB7DQogICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsb2F0LXhsLXJpZ2h0IHsNCiAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmZsb2F0LXhsLW5vbmUgew0KICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50DQogICAgfQ0KfQ0KDQoub3ZlcmZsb3ctYXV0byB7DQogICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudA0KfQ0KDQoub3ZlcmZsb3ctaGlkZGVuIHsNCiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQNCn0NCg0KLnBvc2l0aW9uLXN0YXRpYyB7DQogICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50DQp9DQoNCi5wb3NpdGlvbi1yZWxhdGl2ZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQNCn0NCg0KLnBvc2l0aW9uLWFic29sdXRlIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudA0KfQ0KDQoucG9zaXRpb24tZml4ZWQgew0KICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50DQp9DQoNCi5wb3NpdGlvbi1zdGlja3kgew0KICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSAhaW1wb3J0YW50Ow0KICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudA0KfQ0KDQouZml4ZWQtdG9wIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IDA7DQogICAgei1pbmRleDogMTAzMA0KfQ0KDQouZml4ZWQtYm90dG9tIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgcmlnaHQ6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgei1pbmRleDogMTAzMA0KfQ0KDQpAc3VwcG9ydHMgKChwb3NpdGlvbjotd2Via2l0LXN0aWNreSkgb3IgKHBvc2l0aW9uOnN0aWNreSkpIHsNCiAgICAuc3RpY2t5LXRvcCB7DQogICAgICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsNCiAgICAgICAgcG9zaXRpb246IHN0aWNreTsNCiAgICAgICAgdG9wOiAwOw0KICAgICAgICB6LWluZGV4OiAxMDIwDQogICAgfQ0KfQ0KDQouc3Itb25seSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHdpZHRoOiAxcHg7DQogICAgaGVpZ2h0OiAxcHg7DQogICAgcGFkZGluZzogMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICBib3JkZXI6IDANCn0NCg0KLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwNCi5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7DQogICAgcG9zaXRpb246IHN0YXRpYzsNCiAgICB3aWR0aDogYXV0bzsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgb3ZlcmZsb3c6IHZpc2libGU7DQogICAgY2xpcDogYXV0bzsNCiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsDQp9DQoNCi5zaGFkb3ctc20gew0KICAgIGJveC1zaGFkb3c6IDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgwLCAwLCAwLCAuMDc1KSAhaW1wb3J0YW50DQp9DQoNCi5zaGFkb3cgew0KICAgIGJveC1zaGFkb3c6IDAgLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIC4xNSkgIWltcG9ydGFudA0KfQ0KDQouc2hhZG93LWxnIHsNCiAgICBib3gtc2hhZG93OiAwIDFyZW0gM3JlbSByZ2JhKDAsIDAsIDAsIC4xNzUpICFpbXBvcnRhbnQNCn0NCg0KLnNoYWRvdy1ub25lIHsNCiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQNCn0NCg0KLnctMjUgew0KICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudA0KfQ0KDQoudy01MCB7DQogICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50DQp9DQoNCi53LTc1IHsNCiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQNCn0NCg0KLnctMTAwIHsNCiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50DQp9DQoNCi53LWF1dG8gew0KICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQNCn0NCg0KLmgtMjUgew0KICAgIGhlaWdodDogMjUlICFpbXBvcnRhbnQNCn0NCg0KLmgtNTAgew0KICAgIGhlaWdodDogNTAlICFpbXBvcnRhbnQNCn0NCg0KLmgtNzUgew0KICAgIGhlaWdodDogNzUlICFpbXBvcnRhbnQNCn0NCg0KLmgtMTAwIHsNCiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudA0KfQ0KDQouaC1hdXRvIHsNCiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudA0KfQ0KDQoubXctMTAwIHsNCiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudA0KfQ0KDQoubWgtMTAwIHsNCiAgICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQNCn0NCg0KLm1pbi12dy0xMDAgew0KICAgIG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudA0KfQ0KDQoubWluLXZoLTEwMCB7DQogICAgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudA0KfQ0KDQoudnctMTAwIHsNCiAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudA0KfQ0KDQoudmgtMTAwIHsNCiAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQNCn0NCg0KLnN0cmV0Y2hlZC1saW5rOjphZnRlciB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMDsNCiAgICByaWdodDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB6LWluZGV4OiAxOw0KICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOw0KICAgIGNvbnRlbnQ6ICIiOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkNCn0NCg0KLm0tMCB7DQogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQNCn0NCg0KLm10LTAsDQoubXktMCB7DQogICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50DQp9DQoNCi5tci0wLA0KLm14LTAgew0KICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50DQp9DQoNCi5tYi0wLA0KLm15LTAgew0KICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudA0KfQ0KDQoubWwtMCwNCi5teC0wIHsNCiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50DQp9DQoNCi5tLTEgew0KICAgIG1hcmdpbjogLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLm10LTEsDQoubXktMSB7DQogICAgbWFyZ2luLXRvcDogLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLm1yLTEsDQoubXgtMSB7DQogICAgbWFyZ2luLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubWItMSwNCi5teS0xIHsNCiAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubWwtMSwNCi5teC0xIHsNCiAgICBtYXJnaW4tbGVmdDogLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLm0tMiB7DQogICAgbWFyZ2luOiAuNXJlbSAhaW1wb3J0YW50DQp9DQoNCi5tdC0yLA0KLm15LTIgew0KICAgIG1hcmdpbi10b3A6IC41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm1yLTIsDQoubXgtMiB7DQogICAgbWFyZ2luLXJpZ2h0OiAuNXJlbSAhaW1wb3J0YW50DQp9DQoNCi5tYi0yLA0KLm15LTIgew0KICAgIG1hcmdpbi1ib3R0b206IC41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm1sLTIsDQoubXgtMiB7DQogICAgbWFyZ2luLWxlZnQ6IC41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm0tMyB7DQogICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQNCn0NCg0KLm10LTMsDQoubXktMyB7DQogICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50DQp9DQoNCi5tci0zLA0KLm14LTMgew0KICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50DQp9DQoNCi5tYi0zLA0KLm15LTMgew0KICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudA0KfQ0KDQoubWwtMywNCi5teC0zIHsNCiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50DQp9DQoNCi5tLTQgew0KICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm10LTQsDQoubXktNCB7DQogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm1yLTQsDQoubXgtNCB7DQogICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubWItNCwNCi5teS00IHsNCiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubWwtNCwNCi5teC00IHsNCiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm0tNSB7DQogICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQNCn0NCg0KLm10LTUsDQoubXktNSB7DQogICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50DQp9DQoNCi5tci01LA0KLm14LTUgew0KICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50DQp9DQoNCi5tYi01LA0KLm15LTUgew0KICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudA0KfQ0KDQoubWwtNSwNCi5teC01IHsNCiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50DQp9DQoNCi5wLTAgew0KICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudA0KfQ0KDQoucHQtMCwNCi5weS0wIHsNCiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50DQp9DQoNCi5wci0wLA0KLnB4LTAgew0KICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudA0KfQ0KDQoucGItMCwNCi5weS0wIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50DQp9DQoNCi5wbC0wLA0KLnB4LTAgew0KICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50DQp9DQoNCi5wLTEgew0KICAgIHBhZGRpbmc6IC4yNXJlbSAhaW1wb3J0YW50DQp9DQoNCi5wdC0xLA0KLnB5LTEgew0KICAgIHBhZGRpbmctdG9wOiAuMjVyZW0gIWltcG9ydGFudA0KfQ0KDQoucHItMSwNCi5weC0xIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudA0KfQ0KDQoucGItMSwNCi5weS0xIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLnBsLTEsDQoucHgtMSB7DQogICAgcGFkZGluZy1sZWZ0OiAuMjVyZW0gIWltcG9ydGFudA0KfQ0KDQoucC0yIHsNCiAgICBwYWRkaW5nOiAuNXJlbSAhaW1wb3J0YW50DQp9DQoNCi5wdC0yLA0KLnB5LTIgew0KICAgIHBhZGRpbmctdG9wOiAuNXJlbSAhaW1wb3J0YW50DQp9DQoNCi5wci0yLA0KLnB4LTIgew0KICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQNCn0NCg0KLnBiLTIsDQoucHktMiB7DQogICAgcGFkZGluZy1ib3R0b206IC41cmVtICFpbXBvcnRhbnQNCn0NCg0KLnBsLTIsDQoucHgtMiB7DQogICAgcGFkZGluZy1sZWZ0OiAuNXJlbSAhaW1wb3J0YW50DQp9DQoNCi5wLTMgew0KICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudA0KfQ0KDQoucHQtMywNCi5weS0zIHsNCiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50DQp9DQoNCi5wci0zLA0KLnB4LTMgew0KICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudA0KfQ0KDQoucGItMywNCi5weS0zIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50DQp9DQoNCi5wbC0zLA0KLnB4LTMgew0KICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50DQp9DQoNCi5wLTQgew0KICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50DQp9DQoNCi5wdC00LA0KLnB5LTQgew0KICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudA0KfQ0KDQoucHItNCwNCi5weC00IHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudA0KfQ0KDQoucGItNCwNCi5weS00IHsNCiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQNCn0NCg0KLnBsLTQsDQoucHgtNCB7DQogICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudA0KfQ0KDQoucC01IHsNCiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQNCn0NCg0KLnB0LTUsDQoucHktNSB7DQogICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudA0KfQ0KDQoucHItNSwNCi5weC01IHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQNCn0NCg0KLnBiLTUsDQoucHktNSB7DQogICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudA0KfQ0KDQoucGwtNSwNCi5weC01IHsNCiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudA0KfQ0KDQoubS1uMSB7DQogICAgbWFyZ2luOiAtLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLm10LW4xLA0KLm15LW4xIHsNCiAgICBtYXJnaW4tdG9wOiAtLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLm1yLW4xLA0KLm14LW4xIHsNCiAgICBtYXJnaW4tcmlnaHQ6IC0uMjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubWItbjEsDQoubXktbjEgew0KICAgIG1hcmdpbi1ib3R0b206IC0uMjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubWwtbjEsDQoubXgtbjEgew0KICAgIG1hcmdpbi1sZWZ0OiAtLjI1cmVtICFpbXBvcnRhbnQNCn0NCg0KLm0tbjIgew0KICAgIG1hcmdpbjogLS41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm10LW4yLA0KLm15LW4yIHsNCiAgICBtYXJnaW4tdG9wOiAtLjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubXItbjIsDQoubXgtbjIgew0KICAgIG1hcmdpbi1yaWdodDogLS41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm1iLW4yLA0KLm15LW4yIHsNCiAgICBtYXJnaW4tYm90dG9tOiAtLjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubWwtbjIsDQoubXgtbjIgew0KICAgIG1hcmdpbi1sZWZ0OiAtLjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubS1uMyB7DQogICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50DQp9DQoNCi5tdC1uMywNCi5teS1uMyB7DQogICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudA0KfQ0KDQoubXItbjMsDQoubXgtbjMgew0KICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudA0KfQ0KDQoubWItbjMsDQoubXktbjMgew0KICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQNCn0NCg0KLm1sLW4zLA0KLm14LW4zIHsNCiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudA0KfQ0KDQoubS1uNCB7DQogICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm10LW40LA0KLm15LW40IHsNCiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm1yLW40LA0KLm14LW40IHsNCiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubWItbjQsDQoubXktbjQgew0KICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudA0KfQ0KDQoubWwtbjQsDQoubXgtbjQgew0KICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQNCn0NCg0KLm0tbjUgew0KICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudA0KfQ0KDQoubXQtbjUsDQoubXktbjUgew0KICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQNCn0NCg0KLm1yLW41LA0KLm14LW41IHsNCiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQNCn0NCg0KLm1iLW41LA0KLm15LW41IHsNCiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50DQp9DQoNCi5tbC1uNSwNCi5teC1uNSB7DQogICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQNCn0NCg0KLm0tYXV0byB7DQogICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQNCn0NCg0KLm10LWF1dG8sDQoubXktYXV0byB7DQogICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50DQp9DQoNCi5tci1hdXRvLA0KLm14LWF1dG8gew0KICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50DQp9DQoNCi5tYi1hdXRvLA0KLm15LWF1dG8gew0KICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudA0KfQ0KDQoubWwtYXV0bywNCi5teC1hdXRvIHsNCiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7DQogICAgLm0tc20tMCB7DQogICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1zbS0wLA0KICAgIC5teS1zbS0wIHsNCiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1zbS0wLA0KICAgIC5teC1zbS0wIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLXNtLTAsDQogICAgLm15LXNtLTAgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLXNtLTAsDQogICAgLm14LXNtLTAgew0KICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLXNtLTEgew0KICAgICAgICBtYXJnaW46IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1zbS0xLA0KICAgIC5teS1zbS0xIHsNCiAgICAgICAgbWFyZ2luLXRvcDogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLXNtLTEsDQogICAgLm14LXNtLTEgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1zbS0xLA0KICAgIC5teS1zbS0xIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLXNtLTEsDQogICAgLm14LXNtLTEgew0KICAgICAgICBtYXJnaW4tbGVmdDogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tc20tMiB7DQogICAgICAgIG1hcmdpbjogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtc20tMiwNCiAgICAubXktc20tMiB7DQogICAgICAgIG1hcmdpbi10b3A6IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLXNtLTIsDQogICAgLm14LXNtLTIgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLXNtLTIsDQogICAgLm15LXNtLTIgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1zbS0yLA0KICAgIC5teC1zbS0yIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tc20tMyB7DQogICAgICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1zbS0zLA0KICAgIC5teS1zbS0zIHsNCiAgICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1zbS0zLA0KICAgIC5teC1zbS0zIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLXNtLTMsDQogICAgLm15LXNtLTMgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLXNtLTMsDQogICAgLm14LXNtLTMgew0KICAgICAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLXNtLTQgew0KICAgICAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1zbS00LA0KICAgIC5teS1zbS00IHsNCiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLXNtLTQsDQogICAgLm14LXNtLTQgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1zbS00LA0KICAgIC5teS1zbS00IHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLXNtLTQsDQogICAgLm14LXNtLTQgew0KICAgICAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tc20tNSB7DQogICAgICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1zbS01LA0KICAgIC5teS1zbS01IHsNCiAgICAgICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1zbS01LA0KICAgIC5teC1zbS01IHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLXNtLTUsDQogICAgLm15LXNtLTUgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLXNtLTUsDQogICAgLm14LXNtLTUgew0KICAgICAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wLXNtLTAgew0KICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnB0LXNtLTAsDQogICAgLnB5LXNtLTAgew0KICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wci1zbS0wLA0KICAgIC5weC1zbS0wIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wYi1zbS0wLA0KICAgIC5weS1zbS0wIHsNCiAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAucGwtc20tMCwNCiAgICAucHgtc20tMCB7DQogICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wLXNtLTEgew0KICAgICAgICBwYWRkaW5nOiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHQtc20tMSwNCiAgICAucHktc20tMSB7DQogICAgICAgIHBhZGRpbmctdG9wOiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHItc20tMSwNCiAgICAucHgtc20tMSB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wYi1zbS0xLA0KICAgIC5weS1zbS0xIHsNCiAgICAgICAgcGFkZGluZy1ib3R0b206IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wbC1zbS0xLA0KICAgIC5weC1zbS0xIHsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucC1zbS0yIHsNCiAgICAgICAgcGFkZGluZzogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHQtc20tMiwNCiAgICAucHktc20tMiB7DQogICAgICAgIHBhZGRpbmctdG9wOiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wci1zbS0yLA0KICAgIC5weC1zbS0yIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGItc20tMiwNCiAgICAucHktc20tMiB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wbC1zbS0yLA0KICAgIC5weC1zbS0yIHsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wLXNtLTMgew0KICAgICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnB0LXNtLTMsDQogICAgLnB5LXNtLTMgew0KICAgICAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wci1zbS0zLA0KICAgIC5weC1zbS0zIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wYi1zbS0zLA0KICAgIC5weS1zbS0zIHsNCiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGwtc20tMywNCiAgICAucHgtc20tMyB7DQogICAgICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wLXNtLTQgew0KICAgICAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHQtc20tNCwNCiAgICAucHktc20tNCB7DQogICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHItc20tNCwNCiAgICAucHgtc20tNCB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wYi1zbS00LA0KICAgIC5weS1zbS00IHsNCiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wbC1zbS00LA0KICAgIC5weC1zbS00IHsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucC1zbS01IHsNCiAgICAgICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wdC1zbS01LA0KICAgIC5weS1zbS01IHsNCiAgICAgICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHItc20tNSwNCiAgICAucHgtc20tNSB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGItc20tNSwNCiAgICAucHktc20tNSB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBsLXNtLTUsDQogICAgLnB4LXNtLTUgew0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1zbS1uMSB7DQogICAgICAgIG1hcmdpbjogLS4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1zbS1uMSwNCiAgICAubXktc20tbjEgew0KICAgICAgICBtYXJnaW4tdG9wOiAtLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLXNtLW4xLA0KICAgIC5teC1zbS1uMSB7DQogICAgICAgIG1hcmdpbi1yaWdodDogLS4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1zbS1uMSwNCiAgICAubXktc20tbjEgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAtLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLXNtLW4xLA0KICAgIC5teC1zbS1uMSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAtLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tc20tbjIgew0KICAgICAgICBtYXJnaW46IC0uNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1zbS1uMiwNCiAgICAubXktc20tbjIgew0KICAgICAgICBtYXJnaW4tdG9wOiAtLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItc20tbjIsDQogICAgLm14LXNtLW4yIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItc20tbjIsDQogICAgLm15LXNtLW4yIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLXNtLW4yLA0KICAgIC5teC1zbS1uMiB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAtLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1zbS1uMyB7DQogICAgICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtc20tbjMsDQogICAgLm15LXNtLW4zIHsNCiAgICAgICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItc20tbjMsDQogICAgLm14LXNtLW4zIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1zbS1uMywNCiAgICAubXktc20tbjMgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1zbS1uMywNCiAgICAubXgtc20tbjMgew0KICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1zbS1uNCB7DQogICAgICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1zbS1uNCwNCiAgICAubXktc20tbjQgew0KICAgICAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLXNtLW40LA0KICAgIC5teC1zbS1uNCB7DQogICAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1zbS1uNCwNCiAgICAubXktc20tbjQgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLXNtLW40LA0KICAgIC5teC1zbS1uNCB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tc20tbjUgew0KICAgICAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LXNtLW41LA0KICAgIC5teS1zbS1uNSB7DQogICAgICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLXNtLW41LA0KICAgIC5teC1zbS1uNSB7DQogICAgICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItc20tbjUsDQogICAgLm15LXNtLW41IHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtc20tbjUsDQogICAgLm14LXNtLW41IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tc20tYXV0byB7DQogICAgICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1zbS1hdXRvLA0KICAgIC5teS1zbS1hdXRvIHsNCiAgICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1zbS1hdXRvLA0KICAgIC5teC1zbS1hdXRvIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLXNtLWF1dG8sDQogICAgLm15LXNtLWF1dG8gew0KICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLXNtLWF1dG8sDQogICAgLm14LXNtLWF1dG8gew0KICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50DQogICAgfQ0KfQ0KDQpAbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgew0KICAgIC5tLW1kLTAgew0KICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtbWQtMCwNCiAgICAubXktbWQtMCB7DQogICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItbWQtMCwNCiAgICAubXgtbWQtMCB7DQogICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1tZC0wLA0KICAgIC5teS1tZC0wIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1tZC0wLA0KICAgIC5teC1tZC0wIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1tZC0xIHsNCiAgICAgICAgbWFyZ2luOiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtbWQtMSwNCiAgICAubXktbWQtMSB7DQogICAgICAgIG1hcmdpbi10b3A6IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1tZC0xLA0KICAgIC5teC1tZC0xIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItbWQtMSwNCiAgICAubXktbWQtMSB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1tZC0xLA0KICAgIC5teC1tZC0xIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLW1kLTIgew0KICAgICAgICBtYXJnaW46IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LW1kLTIsDQogICAgLm15LW1kLTIgew0KICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1tZC0yLA0KICAgIC5teC1tZC0yIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1tZC0yLA0KICAgIC5teS1tZC0yIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbWQtMiwNCiAgICAubXgtbWQtMiB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLW1kLTMgew0KICAgICAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtbWQtMywNCiAgICAubXktbWQtMyB7DQogICAgICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItbWQtMywNCiAgICAubXgtbWQtMyB7DQogICAgICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1tZC0zLA0KICAgIC5teS1tZC0zIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1tZC0zLA0KICAgIC5teC1tZC0zIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1tZC00IHsNCiAgICAgICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtbWQtNCwNCiAgICAubXktbWQtNCB7DQogICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1tZC00LA0KICAgIC5teC1tZC00IHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItbWQtNCwNCiAgICAubXktbWQtNCB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1tZC00LA0KICAgIC5teC1tZC00IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLW1kLTUgew0KICAgICAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtbWQtNSwNCiAgICAubXktbWQtNSB7DQogICAgICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItbWQtNSwNCiAgICAubXgtbWQtNSB7DQogICAgICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1tZC01LA0KICAgIC5teS1tZC01IHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1tZC01LA0KICAgIC5teC1tZC01IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucC1tZC0wIHsNCiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wdC1tZC0wLA0KICAgIC5weS1tZC0wIHsNCiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAucHItbWQtMCwNCiAgICAucHgtbWQtMCB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAucGItbWQtMCwNCiAgICAucHktbWQtMCB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBsLW1kLTAsDQogICAgLnB4LW1kLTAgew0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAucC1tZC0xIHsNCiAgICAgICAgcGFkZGluZzogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnB0LW1kLTEsDQogICAgLnB5LW1kLTEgew0KICAgICAgICBwYWRkaW5nLXRvcDogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnByLW1kLTEsDQogICAgLnB4LW1kLTEgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGItbWQtMSwNCiAgICAucHktbWQtMSB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGwtbWQtMSwNCiAgICAucHgtbWQtMSB7DQogICAgICAgIHBhZGRpbmctbGVmdDogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnAtbWQtMiB7DQogICAgICAgIHBhZGRpbmc6IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnB0LW1kLTIsDQogICAgLnB5LW1kLTIgew0KICAgICAgICBwYWRkaW5nLXRvcDogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHItbWQtMiwNCiAgICAucHgtbWQtMiB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBiLW1kLTIsDQogICAgLnB5LW1kLTIgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGwtbWQtMiwNCiAgICAucHgtbWQtMiB7DQogICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucC1tZC0zIHsNCiAgICAgICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wdC1tZC0zLA0KICAgIC5weS1tZC0zIHsNCiAgICAgICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHItbWQtMywNCiAgICAucHgtbWQtMyB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGItbWQtMywNCiAgICAucHktbWQtMyB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBsLW1kLTMsDQogICAgLnB4LW1kLTMgew0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucC1tZC00IHsNCiAgICAgICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnB0LW1kLTQsDQogICAgLnB5LW1kLTQgew0KICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnByLW1kLTQsDQogICAgLnB4LW1kLTQgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGItbWQtNCwNCiAgICAucHktbWQtNCB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGwtbWQtNCwNCiAgICAucHgtbWQtNCB7DQogICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnAtbWQtNSB7DQogICAgICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHQtbWQtNSwNCiAgICAucHktbWQtNSB7DQogICAgICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnByLW1kLTUsDQogICAgLnB4LW1kLTUgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBiLW1kLTUsDQogICAgLnB5LW1kLTUgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wbC1tZC01LA0KICAgIC5weC1tZC01IHsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tbWQtbjEgew0KICAgICAgICBtYXJnaW46IC0uMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtbWQtbjEsDQogICAgLm15LW1kLW4xIHsNCiAgICAgICAgbWFyZ2luLXRvcDogLS4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1tZC1uMSwNCiAgICAubXgtbWQtbjEgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0uMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItbWQtbjEsDQogICAgLm15LW1kLW4xIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLS4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1tZC1uMSwNCiAgICAubXgtbWQtbjEgew0KICAgICAgICBtYXJnaW4tbGVmdDogLS4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLW1kLW4yIHsNCiAgICAgICAgbWFyZ2luOiAtLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtbWQtbjIsDQogICAgLm15LW1kLW4yIHsNCiAgICAgICAgbWFyZ2luLXRvcDogLS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLW1kLW4yLA0KICAgIC5teC1tZC1uMiB7DQogICAgICAgIG1hcmdpbi1yaWdodDogLS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLW1kLW4yLA0KICAgIC5teS1tZC1uMiB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IC0uNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1tZC1uMiwNCiAgICAubXgtbWQtbjIgew0KICAgICAgICBtYXJnaW4tbGVmdDogLS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tbWQtbjMgew0KICAgICAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LW1kLW4zLA0KICAgIC5teS1tZC1uMyB7DQogICAgICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLW1kLW4zLA0KICAgIC5teC1tZC1uMyB7DQogICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItbWQtbjMsDQogICAgLm15LW1kLW4zIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbWQtbjMsDQogICAgLm14LW1kLW4zIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tbWQtbjQgew0KICAgICAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtbWQtbjQsDQogICAgLm15LW1kLW40IHsNCiAgICAgICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1tZC1uNCwNCiAgICAubXgtbWQtbjQgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItbWQtbjQsDQogICAgLm15LW1kLW40IHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1tZC1uNCwNCiAgICAubXgtbWQtbjQgew0KICAgICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLW1kLW41IHsNCiAgICAgICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1tZC1uNSwNCiAgICAubXktbWQtbjUgew0KICAgICAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1tZC1uNSwNCiAgICAubXgtbWQtbjUgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLW1kLW41LA0KICAgIC5teS1tZC1uNSB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLW1kLW41LA0KICAgIC5teC1tZC1uNSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLW1kLWF1dG8gew0KICAgICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtbWQtYXV0bywNCiAgICAubXktbWQtYXV0byB7DQogICAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItbWQtYXV0bywNCiAgICAubXgtbWQtYXV0byB7DQogICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1tZC1hdXRvLA0KICAgIC5teS1tZC1hdXRvIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1tZC1hdXRvLA0KICAgIC5teC1tZC1hdXRvIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudA0KICAgIH0NCn0NCg0KQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHsNCiAgICAubS1sZy0wIHsNCiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LWxnLTAsDQogICAgLm15LWxnLTAgew0KICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLWxnLTAsDQogICAgLm14LWxnLTAgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItbGctMCwNCiAgICAubXktbGctMCB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbGctMCwNCiAgICAubXgtbGctMCB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tbGctMSB7DQogICAgICAgIG1hcmdpbjogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LWxnLTEsDQogICAgLm15LWxnLTEgew0KICAgICAgICBtYXJnaW4tdG9wOiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItbGctMSwNCiAgICAubXgtbGctMSB7DQogICAgICAgIG1hcmdpbi1yaWdodDogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLWxnLTEsDQogICAgLm15LWxnLTEgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbGctMSwNCiAgICAubXgtbGctMSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1sZy0yIHsNCiAgICAgICAgbWFyZ2luOiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1sZy0yLA0KICAgIC5teS1sZy0yIHsNCiAgICAgICAgbWFyZ2luLXRvcDogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItbGctMiwNCiAgICAubXgtbGctMiB7DQogICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItbGctMiwNCiAgICAubXktbGctMiB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLWxnLTIsDQogICAgLm14LWxnLTIgew0KICAgICAgICBtYXJnaW4tbGVmdDogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1sZy0zIHsNCiAgICAgICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LWxnLTMsDQogICAgLm15LWxnLTMgew0KICAgICAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLWxnLTMsDQogICAgLm14LWxnLTMgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItbGctMywNCiAgICAubXktbGctMyB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbGctMywNCiAgICAubXgtbGctMyB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0tbGctNCB7DQogICAgICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LWxnLTQsDQogICAgLm15LWxnLTQgew0KICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItbGctNCwNCiAgICAubXgtbGctNCB7DQogICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLWxnLTQsDQogICAgLm15LWxnLTQgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbGctNCwNCiAgICAubXgtbGctNCB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1sZy01IHsNCiAgICAgICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LWxnLTUsDQogICAgLm15LWxnLTUgew0KICAgICAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLWxnLTUsDQogICAgLm14LWxnLTUgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItbGctNSwNCiAgICAubXktbGctNSB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbGctNSwNCiAgICAubXgtbGctNSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnAtbGctMCB7DQogICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAucHQtbGctMCwNCiAgICAucHktbGctMCB7DQogICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnByLWxnLTAsDQogICAgLnB4LWxnLTAgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBiLWxnLTAsDQogICAgLnB5LWxnLTAgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wbC1sZy0wLA0KICAgIC5weC1sZy0wIHsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnAtbGctMSB7DQogICAgICAgIHBhZGRpbmc6IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wdC1sZy0xLA0KICAgIC5weS1sZy0xIHsNCiAgICAgICAgcGFkZGluZy10b3A6IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wci1sZy0xLA0KICAgIC5weC1sZy0xIHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBiLWxnLTEsDQogICAgLnB5LWxnLTEgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBsLWxnLTEsDQogICAgLnB4LWxnLTEgew0KICAgICAgICBwYWRkaW5nLWxlZnQ6IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wLWxnLTIgew0KICAgICAgICBwYWRkaW5nOiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wdC1sZy0yLA0KICAgIC5weS1sZy0yIHsNCiAgICAgICAgcGFkZGluZy10b3A6IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnByLWxnLTIsDQogICAgLnB4LWxnLTIgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wYi1sZy0yLA0KICAgIC5weS1sZy0yIHsNCiAgICAgICAgcGFkZGluZy1ib3R0b206IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBsLWxnLTIsDQogICAgLnB4LWxnLTIgew0KICAgICAgICBwYWRkaW5nLWxlZnQ6IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnAtbGctMyB7DQogICAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHQtbGctMywNCiAgICAucHktbGctMyB7DQogICAgICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnByLWxnLTMsDQogICAgLnB4LWxnLTMgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBiLWxnLTMsDQogICAgLnB5LWxnLTMgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wbC1sZy0zLA0KICAgIC5weC1sZy0zIHsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnAtbGctNCB7DQogICAgICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wdC1sZy00LA0KICAgIC5weS1sZy00IHsNCiAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wci1sZy00LA0KICAgIC5weC1sZy00IHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBiLWxnLTQsDQogICAgLnB5LWxnLTQgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBsLWxnLTQsDQogICAgLnB4LWxnLTQgew0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wLWxnLTUgew0KICAgICAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnB0LWxnLTUsDQogICAgLnB5LWxnLTUgew0KICAgICAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wci1sZy01LA0KICAgIC5weC1sZy01IHsNCiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wYi1sZy01LA0KICAgIC5weS1sZy01IHsNCiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGwtbGctNSwNCiAgICAucHgtbGctNSB7DQogICAgICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLWxnLW4xIHsNCiAgICAgICAgbWFyZ2luOiAtLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LWxnLW4xLA0KICAgIC5teS1sZy1uMSB7DQogICAgICAgIG1hcmdpbi10b3A6IC0uMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItbGctbjEsDQogICAgLm14LWxnLW4xIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLWxnLW4xLA0KICAgIC5teS1sZy1uMSB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IC0uMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbGctbjEsDQogICAgLm14LWxnLW4xIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IC0uMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1sZy1uMiB7DQogICAgICAgIG1hcmdpbjogLS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LWxnLW4yLA0KICAgIC5teS1sZy1uMiB7DQogICAgICAgIG1hcmdpbi10b3A6IC0uNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1sZy1uMiwNCiAgICAubXgtbGctbjIgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0uNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1sZy1uMiwNCiAgICAubXktbGctbjIgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAtLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbGctbjIsDQogICAgLm14LWxnLW4yIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IC0uNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLWxnLW4zIHsNCiAgICAgICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC1sZy1uMywNCiAgICAubXktbGctbjMgew0KICAgICAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci1sZy1uMywNCiAgICAubXgtbGctbjMgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLWxnLW4zLA0KICAgIC5teS1sZy1uMyB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLWxnLW4zLA0KICAgIC5teC1sZy1uMyB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLWxnLW40IHsNCiAgICAgICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LWxnLW40LA0KICAgIC5teS1sZy1uNCB7DQogICAgICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItbGctbjQsDQogICAgLm14LWxnLW40IHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLWxnLW40LA0KICAgIC5teS1sZy1uNCB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbGctbjQsDQogICAgLm14LWxnLW40IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1sZy1uNSB7DQogICAgICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQtbGctbjUsDQogICAgLm15LWxnLW41IHsNCiAgICAgICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXItbGctbjUsDQogICAgLm14LWxnLW41IHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi1sZy1uNSwNCiAgICAubXktbGctbjUgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC1sZy1uNSwNCiAgICAubXgtbGctbjUgew0KICAgICAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS1sZy1hdXRvIHsNCiAgICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LWxnLWF1dG8sDQogICAgLm15LWxnLWF1dG8gew0KICAgICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLWxnLWF1dG8sDQogICAgLm14LWxnLWF1dG8gew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWItbGctYXV0bywNCiAgICAubXktbGctYXV0byB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwtbGctYXV0bywNCiAgICAubXgtbGctYXV0byB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgew0KICAgIC5tLXhsLTAgew0KICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQteGwtMCwNCiAgICAubXkteGwtMCB7DQogICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAubXIteGwtMCwNCiAgICAubXgteGwtMCB7DQogICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi14bC0wLA0KICAgIC5teS14bC0wIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC14bC0wLA0KICAgIC5teC14bC0wIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAubS14bC0xIHsNCiAgICAgICAgbWFyZ2luOiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQteGwtMSwNCiAgICAubXkteGwtMSB7DQogICAgICAgIG1hcmdpbi10b3A6IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci14bC0xLA0KICAgIC5teC14bC0xIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWIteGwtMSwNCiAgICAubXkteGwtMSB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC14bC0xLA0KICAgIC5teC14bC0xIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IC4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLXhsLTIgew0KICAgICAgICBtYXJnaW46IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LXhsLTIsDQogICAgLm15LXhsLTIgew0KICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci14bC0yLA0KICAgIC5teC14bC0yIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi14bC0yLA0KICAgIC5teS14bC0yIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwteGwtMiwNCiAgICAubXgteGwtMiB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLXhsLTMgew0KICAgICAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQteGwtMywNCiAgICAubXkteGwtMyB7DQogICAgICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXIteGwtMywNCiAgICAubXgteGwtMyB7DQogICAgICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi14bC0zLA0KICAgIC5teS14bC0zIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC14bC0zLA0KICAgIC5teC14bC0zIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubS14bC00IHsNCiAgICAgICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQteGwtNCwNCiAgICAubXkteGwtNCB7DQogICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci14bC00LA0KICAgIC5teC14bC00IHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWIteGwtNCwNCiAgICAubXkteGwtNCB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC14bC00LA0KICAgIC5teC14bC00IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLXhsLTUgew0KICAgICAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQteGwtNSwNCiAgICAubXkteGwtNSB7DQogICAgICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXIteGwtNSwNCiAgICAubXgteGwtNSB7DQogICAgICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi14bC01LA0KICAgIC5teS14bC01IHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC14bC01LA0KICAgIC5teC14bC01IHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucC14bC0wIHsNCiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wdC14bC0wLA0KICAgIC5weS14bC0wIHsNCiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAucHIteGwtMCwNCiAgICAucHgteGwtMCB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAucGIteGwtMCwNCiAgICAucHkteGwtMCB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBsLXhsLTAsDQogICAgLnB4LXhsLTAgew0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudA0KICAgIH0NCiAgICAucC14bC0xIHsNCiAgICAgICAgcGFkZGluZzogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnB0LXhsLTEsDQogICAgLnB5LXhsLTEgew0KICAgICAgICBwYWRkaW5nLXRvcDogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnByLXhsLTEsDQogICAgLnB4LXhsLTEgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGIteGwtMSwNCiAgICAucHkteGwtMSB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiAuMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGwteGwtMSwNCiAgICAucHgteGwtMSB7DQogICAgICAgIHBhZGRpbmctbGVmdDogLjI1cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnAteGwtMiB7DQogICAgICAgIHBhZGRpbmc6IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnB0LXhsLTIsDQogICAgLnB5LXhsLTIgew0KICAgICAgICBwYWRkaW5nLXRvcDogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHIteGwtMiwNCiAgICAucHgteGwtMiB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBiLXhsLTIsDQogICAgLnB5LXhsLTIgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGwteGwtMiwNCiAgICAucHgteGwtMiB7DQogICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucC14bC0zIHsNCiAgICAgICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wdC14bC0zLA0KICAgIC5weS14bC0zIHsNCiAgICAgICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHIteGwtMywNCiAgICAucHgteGwtMyB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGIteGwtMywNCiAgICAucHkteGwtMyB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBsLXhsLTMsDQogICAgLnB4LXhsLTMgew0KICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucC14bC00IHsNCiAgICAgICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnB0LXhsLTQsDQogICAgLnB5LXhsLTQgew0KICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnByLXhsLTQsDQogICAgLnB4LXhsLTQgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGIteGwtNCwNCiAgICAucHkteGwtNCB7DQogICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucGwteGwtNCwNCiAgICAucHgteGwtNCB7DQogICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnAteGwtNSB7DQogICAgICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAucHQteGwtNSwNCiAgICAucHkteGwtNSB7DQogICAgICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnByLXhsLTUsDQogICAgLnB4LXhsLTUgew0KICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnBiLXhsLTUsDQogICAgLnB5LXhsLTUgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5wbC14bC01LA0KICAgIC5weC14bC01IHsNCiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0teGwtbjEgew0KICAgICAgICBtYXJnaW46IC0uMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQteGwtbjEsDQogICAgLm15LXhsLW4xIHsNCiAgICAgICAgbWFyZ2luLXRvcDogLS4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci14bC1uMSwNCiAgICAubXgteGwtbjEgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0uMjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWIteGwtbjEsDQogICAgLm15LXhsLW4xIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLS4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC14bC1uMSwNCiAgICAubXgteGwtbjEgew0KICAgICAgICBtYXJnaW4tbGVmdDogLS4yNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLXhsLW4yIHsNCiAgICAgICAgbWFyZ2luOiAtLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQteGwtbjIsDQogICAgLm15LXhsLW4yIHsNCiAgICAgICAgbWFyZ2luLXRvcDogLS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLXhsLW4yLA0KICAgIC5teC14bC1uMiB7DQogICAgICAgIG1hcmdpbi1yaWdodDogLS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLXhsLW4yLA0KICAgIC5teS14bC1uMiB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IC0uNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC14bC1uMiwNCiAgICAubXgteGwtbjIgew0KICAgICAgICBtYXJnaW4tbGVmdDogLS41cmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0teGwtbjMgew0KICAgICAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm10LXhsLW4zLA0KICAgIC5teS14bC1uMyB7DQogICAgICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1yLXhsLW4zLA0KICAgIC5teC14bC1uMyB7DQogICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWIteGwtbjMsDQogICAgLm15LXhsLW4zIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWwteGwtbjMsDQogICAgLm14LXhsLW4zIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm0teGwtbjQgew0KICAgICAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQteGwtbjQsDQogICAgLm15LXhsLW40IHsNCiAgICAgICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci14bC1uNCwNCiAgICAubXgteGwtbjQgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudA0KICAgIH0NCiAgICAubWIteGwtbjQsDQogICAgLm15LXhsLW40IHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC14bC1uNCwNCiAgICAubXgteGwtbjQgew0KICAgICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLXhsLW41IHsNCiAgICAgICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tdC14bC1uNSwNCiAgICAubXkteGwtbjUgew0KICAgICAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tci14bC1uNSwNCiAgICAubXgteGwtbjUgew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1iLXhsLW41LA0KICAgIC5teS14bC1uNSB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQNCiAgICB9DQogICAgLm1sLXhsLW41LA0KICAgIC5teC14bC1uNSB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tLXhsLWF1dG8gew0KICAgICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXQteGwtYXV0bywNCiAgICAubXkteGwtYXV0byB7DQogICAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudA0KICAgIH0NCiAgICAubXIteGwtYXV0bywNCiAgICAubXgteGwtYXV0byB7DQogICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tYi14bC1hdXRvLA0KICAgIC5teS14bC1hdXRvIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50DQogICAgfQ0KICAgIC5tbC14bC1hdXRvLA0KICAgIC5teC14bC1hdXRvIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudA0KICAgIH0NCn0NCg0KLnRleHQtbW9ub3NwYWNlIHsNCiAgICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAiTGliZXJhdGlvbiBNb25vIiwgIkNvdXJpZXIgTmV3IiwgbW9ub3NwYWNlICFpbXBvcnRhbnQNCn0NCg0KLnRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50DQp9DQoNCi50ZXh0LXdyYXAgew0KICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudA0KfQ0KDQoudGV4dC1ub3dyYXAgew0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudA0KfQ0KDQoudGV4dC10cnVuY2F0ZSB7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwDQp9DQoNCi50ZXh0LWxlZnQgew0KICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudA0KfQ0KDQoudGV4dC1yaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudA0KfQ0KDQoudGV4dC1jZW50ZXIgew0KICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjU3NnB4KSB7DQogICAgLnRleHQtc20tbGVmdCB7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudA0KICAgIH0NCiAgICAudGV4dC1zbS1yaWdodCB7DQogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRleHQtc20tY2VudGVyIHsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7DQogICAgLnRleHQtbWQtbGVmdCB7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudA0KICAgIH0NCiAgICAudGV4dC1tZC1yaWdodCB7DQogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRleHQtbWQtY2VudGVyIHsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7DQogICAgLnRleHQtbGctbGVmdCB7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudA0KICAgIH0NCiAgICAudGV4dC1sZy1yaWdodCB7DQogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRleHQtbGctY2VudGVyIHsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQNCiAgICB9DQp9DQoNCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgew0KICAgIC50ZXh0LXhsLWxlZnQgew0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRleHQteGwtcmlnaHQgew0KICAgICAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC50ZXh0LXhsLWNlbnRlciB7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50DQogICAgfQ0KfQ0KDQoudGV4dC1sb3dlcmNhc2Ugew0KICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudA0KfQ0KDQoudGV4dC11cHBlcmNhc2Ugew0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudA0KfQ0KDQoudGV4dC1jYXBpdGFsaXplIHsNCiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50DQp9DQoNCi5mb250LXdlaWdodC1saWdodCB7DQogICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50DQp9DQoNCi5mb250LXdlaWdodC1saWdodGVyIHsNCiAgICBmb250LXdlaWdodDogbGlnaHRlciAhaW1wb3J0YW50DQp9DQoNCi5mb250LXdlaWdodC1ub3JtYWwgew0KICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudA0KfQ0KDQouZm9udC13ZWlnaHQtYm9sZCB7DQogICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50DQp9DQoNCi5mb250LXdlaWdodC1ib2xkZXIgew0KICAgIGZvbnQtd2VpZ2h0OiBib2xkZXIgIWltcG9ydGFudA0KfQ0KDQouZm9udC1pdGFsaWMgew0KICAgIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50DQp9DQoNCi50ZXh0LXdoaXRlIHsNCiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50DQp9DQoNCi50ZXh0LXByaW1hcnkgew0KICAgIGNvbG9yOiAjMDA3YmZmICFpbXBvcnRhbnQNCn0NCg0KYS50ZXh0LXByaW1hcnk6Zm9jdXMsDQphLnRleHQtcHJpbWFyeTpob3ZlciB7DQogICAgY29sb3I6ICMwMDU2YjMgIWltcG9ydGFudA0KfQ0KDQoudGV4dC1zZWNvbmRhcnkgew0KICAgIGNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQNCn0NCg0KYS50ZXh0LXNlY29uZGFyeTpmb2N1cywNCmEudGV4dC1zZWNvbmRhcnk6aG92ZXIgew0KICAgIGNvbG9yOiAjNDk0ZjU0ICFpbXBvcnRhbnQNCn0NCg0KLnRleHQtc3VjY2VzcyB7DQogICAgY29sb3I6ICMyOGE3NDUgIWltcG9ydGFudA0KfQ0KDQphLnRleHQtc3VjY2Vzczpmb2N1cywNCmEudGV4dC1zdWNjZXNzOmhvdmVyIHsNCiAgICBjb2xvcjogIzE5NjkyYyAhaW1wb3J0YW50DQp9DQoNCi50ZXh0LWluZm8gew0KICAgIGNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQNCn0NCg0KYS50ZXh0LWluZm86Zm9jdXMsDQphLnRleHQtaW5mbzpob3ZlciB7DQogICAgY29sb3I6ICMwZjY2NzQgIWltcG9ydGFudA0KfQ0KDQoudGV4dC13YXJuaW5nIHsNCiAgICBjb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50DQp9DQoNCmEudGV4dC13YXJuaW5nOmZvY3VzLA0KYS50ZXh0LXdhcm5pbmc6aG92ZXIgew0KICAgIGNvbG9yOiAjYmE4YjAwICFpbXBvcnRhbnQNCn0NCg0KLnRleHQtZGFuZ2VyIHsNCiAgICBjb2xvcjogI2RjMzU0NSAhaW1wb3J0YW50DQp9DQoNCmEudGV4dC1kYW5nZXI6Zm9jdXMsDQphLnRleHQtZGFuZ2VyOmhvdmVyIHsNCiAgICBjb2xvcjogI2E3MWQyYSAhaW1wb3J0YW50DQp9DQoNCi50ZXh0LWxpZ2h0IHsNCiAgICBjb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50DQp9DQoNCmEudGV4dC1saWdodDpmb2N1cywNCmEudGV4dC1saWdodDpob3ZlciB7DQogICAgY29sb3I6ICNjYmQzZGEgIWltcG9ydGFudA0KfQ0KDQoudGV4dC1kYXJrIHsNCiAgICBjb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50DQp9DQoNCmEudGV4dC1kYXJrOmZvY3VzLA0KYS50ZXh0LWRhcms6aG92ZXIgew0KICAgIGNvbG9yOiAjMTIxNDE2ICFpbXBvcnRhbnQNCn0NCg0KLnRleHQtYm9keSB7DQogICAgY29sb3I6ICMyMTI1MjkgIWltcG9ydGFudA0KfQ0KDQoudGV4dC1tdXRlZCB7DQogICAgY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudA0KfQ0KDQoudGV4dC1ibGFjay01MCB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjUpICFpbXBvcnRhbnQNCn0NCg0KLnRleHQtd2hpdGUtNTAgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KSAhaW1wb3J0YW50DQp9DQoNCi50ZXh0LWhpZGUgew0KICAgIGZvbnQ6IDAvMCBhOw0KICAgIGNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXI6IDANCn0NCg0KLnRleHQtZGVjb3JhdGlvbi1ub25lIHsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudA0KfQ0KDQoudGV4dC1icmVhayB7DQogICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50Ow0KICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudA0KfQ0KDQoudGV4dC1yZXNldCB7DQogICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudA0KfQ0KDQoudmlzaWJsZSB7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50DQp9DQoNCi5pbnZpc2libGUgew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50DQp9DQoNCkBtZWRpYSBwcmludCB7DQogICAgKiwNCiAgICA6OmFmdGVyLA0KICAgIDo6YmVmb3JlIHsNCiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50DQogICAgfQ0KICAgIGE6bm90KC5idG4pIHsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUNCiAgICB9DQogICAgYWJiclt0aXRsZV06OmFmdGVyIHsNCiAgICAgICAgY29udGVudDogIiAoIiBhdHRyKHRpdGxlKSAiKSINCiAgICB9DQogICAgcHJlIHsNCiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQNCiAgICB9DQogICAgYmxvY2txdW90ZSwNCiAgICBwcmUgew0KICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWRiNWJkOw0KICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQNCiAgICB9DQogICAgdGhlYWQgew0KICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXANCiAgICB9DQogICAgaW1nLA0KICAgIHRyIHsNCiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkDQogICAgfQ0KICAgIGgyLA0KICAgIGgzLA0KICAgIHAgew0KICAgICAgICBvcnBoYW5zOiAzOw0KICAgICAgICB3aWRvd3M6IDMNCiAgICB9DQogICAgaDIsDQogICAgaDMgew0KICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZA0KICAgIH0NCiAgICBAcGFnZSB7DQogICAgICAgIHNpemU6IGEzDQogICAgfQ0KICAgIGJvZHkgew0KICAgICAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLmNvbnRhaW5lciB7DQogICAgICAgIG1pbi13aWR0aDogOTkycHggIWltcG9ydGFudA0KICAgIH0NCiAgICAubmF2YmFyIHsNCiAgICAgICAgZGlzcGxheTogbm9uZQ0KICAgIH0NCiAgICAuYmFkZ2Ugew0KICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwDQogICAgfQ0KICAgIC50YWJsZSB7DQogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudA0KICAgIH0NCiAgICAudGFibGUgdGQsDQogICAgLnRhYmxlIHRoIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50DQogICAgfQ0KICAgIC50YWJsZS1ib3JkZXJlZCB0ZCwNCiAgICAudGFibGUtYm9yZGVyZWQgdGggew0KICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRhYmxlLWRhcmsgew0KICAgICAgICBjb2xvcjogaW5oZXJpdA0KICAgIH0NCiAgICAudGFibGUtZGFyayB0Ym9keSt0Ym9keSwNCiAgICAudGFibGUtZGFyayB0ZCwNCiAgICAudGFibGUtZGFyayB0aCwNCiAgICAudGFibGUtZGFyayB0aGVhZCB0aCB7DQogICAgICAgIGJvcmRlci1jb2xvcjogI2RlZTJlNg0KICAgIH0NCiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGggew0KICAgICAgICBjb2xvcjogaW5oZXJpdDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2DQogICAgfQ0KfQ0KDQovKiMgc291cmNlTWFwcGluZ1VSTD1ib290c3RyYXAubWluLmNzcy5tYXAgKi8="}},"time_used":282,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":95,"receive":187,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.945Z","timestamp":1785136900945,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3905.682e89ef2dc4c70423c6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 2b579aa11a69bb9ddeb11357b9831b34\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-08-10T08:00:01.067343Z","times_seen":7360,"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/68579.c01874ae93fcee94b388.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.883Z","timestamp":1785136901883,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/68579.c01874ae93fcee94b388.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2a1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:04:00\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 35124cef29229f8edb56f7725643c0fb\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":10783,"size_decoded":2690,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (10783), with no line terminators","md5":"fa7f8fb2c882b86ce2297d5ec8f8c3c7","sha1":"7dcc4c932f65d8e4a4f494adfd8b07ffc516474d","sha256":"55a37e974c0ac5f66b82653439edbb40d4dee8124dd99c20e4ac3ebe71fb8b1a","sha512":"e3066a983701dbede5a2ca78ea4e2772cf475dd653f0abcea2f4361bcebf6af3e7f15be3601d1e9d13cb51435e38e2ddd68801a0e79192a3811394a95495b136","ssdeep":"48:aXKwKDRwKhJ+wKrq+hYy9F9ChMdYny9F9Cvq5OfG9i9EMdYny9599cYny9F9Xvje:aXk1yubv92vhg+nmMKTzU3VSIfnmM55A","tlshash":"4022324c51c8ed3a3c2745f6f31c96fe11649ca8db261edbb6ed782a04c17f101b961a","first_seen":"2026-07-19T21:33:34.112713Z","last_seen":"2026-08-10T05:00:33.70717Z","times_seen":112,"resource_available":false,"data":"LndyYXBwZXItZVRmR0RhRXJ7bWF4LXdpZHRoOjEwMCU7d2lkdGg6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC13aWR0aCxhdXRvKX0uc3RyZXRjaC1lVGZHRGFFcnstLXVpLWxpYi1wcml2YXRlLXBpbGwtd2lkdGg6MTAwJX0uZGlzYWJsZWQtZVRmR0RhRXJ7b3BhY2l0eTouNX0uc3F1YXJlLWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXM6NnB4fS54c21hbGwtZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLWhlaWdodDoyOHB4O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0ueHNtYWxsLWVUZkdEYUVyLnJvdW5kLWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXM6MTRweH0uc21hbGwtZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLWhlaWdodDozNHB4O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uc21hbGwtZVRmR0RhRXIucm91bmQtZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1czoxN3B4fS5tZWRpdW0tZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLWhlaWdodDo0MHB4O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0ubWVkaXVtLWVUZkdEYUVyLnJvdW5kLWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXM6MjBweH0ucHJpbWFyeS1lVGZHRGFFcnstLXVpLWxpYi1wcml2YXRlLXBpbGwtYm9yZGVyOm5vbmU7LS11aS1saWItcHJpdmF0ZS1waWxsLWRlZmF1bHQtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1ob3Zlci1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kaXZpZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXByaXZhdGUtcGlsbC10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0uc2Vjb25kYXJ5LWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kZWZhdWx0LWJhY2tncm91bmQ6IzAwMDA7LS11aS1saWItcHJpdmF0ZS1waWxsLWhvdmVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtYWN0aXZlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtYWN0aXZlLXRleHQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LnRlcnRpYXJ5LWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXI6bm9uZTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGVmYXVsdC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtaG92ZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKX0ucXVhcnRlcmx5LWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kZWZhdWx0LWJhY2tncm91bmQ6IzAwMDA7LS11aS1saWItcHJpdmF0ZS1waWxsLWhvdmVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtYWN0aXZlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS5naG9zdC1lVGZHRGFFcnstLXVpLWxpYi1wcml2YXRlLXBpbGwtYm9yZGVyOm5vbmU7LS11aS1saWItcHJpdmF0ZS1waWxsLWRlZmF1bHQtYmFja2dyb3VuZDojMDAwMDstLXVpLWxpYi1wcml2YXRlLXBpbGwtaG92ZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kaXZpZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0ucGlsbC1lVGZHRGFFcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtZGVmYXVsdC1iYWNrZ3JvdW5kKTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKTtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXRleHQpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1oZWlnaHQpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21heC13aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtd2lkdGgsZml0LWNvbnRlbnQpfS5waWxsLWVUZkdEYUVyOmJlZm9yZXtib3JkZXI6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIgIjtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDowfUBrZXlmcmFtZXMgcGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWFmdGVyLWludHJvLWVUZkdEYUVyezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWFmdGVyLWVUZkdEYUVyezAle29wYWNpdHk6MX01MCV7b3BhY2l0eTo0MCV9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHBpbGwtZm9jdXMtb3V0bGluZS1ibGlua2luZy1mb3JlZ3JvdW5kLWVUZkdEYUVyezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjMwJX19QGtleWZyYW1lcyBwaWxsLWZvY3VzLW91dGxpbmUtaGlnaGxpZ2h0aW5nLWFuaW1hdGlvbi1mb3JlZ3JvdW5kLWVUZkdEYUVyezAle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7b3BhY2l0eTowfTguNSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7b3BhY2l0eTozMCV9NDguNSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDtvcGFjaXR5OjMwJX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcGlsbC1mb2N1cy1vdXRsaW5lLWhpZ2hsaWdodGluZy1hbmltYXRpb24tYWZ0ZXItZVRmR0RhRXJ7MCV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDtvcGFjaXR5OjB9OC41JXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjtvcGFjaXR5OjF9MjguNSV7b3BhY2l0eTo0MCV9NDguNSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX0uYmxpbmtBbmltYXRpb24tZVRmR0RhRXJ7cG9zaXRpb246cmVsYXRpdmV9LmJsaW5rQW5pbWF0aW9uLWVUZkdEYUVyOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykgKyA0cHgpO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtkaXNwbGF5OmJsb2NrO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5ibGlua0FuaW1hdGlvbi1lVGZHRGFFci5ibGlua2luZy1lVGZHRGFFcjphZnRlcnthbmltYXRpb246cGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWFmdGVyLWludHJvLWVUZkdEYUVyIC4ycyBlYXNlLW91dCBmb3J3YXJkcyxwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItZVRmR0RhRXIgLjdzIGxpbmVhciAuMnMgaW5maW5pdGV9LmJsaW5rQW5pbWF0aW9uLWVUZkdEYUVyLmJsaW5raW5nLWVUZkdEYUVyIC5ibGlua0ZvcmVncm91bmQtZVRmR0RhRXJ7YW5pbWF0aW9uOnBpbGwtZm9jdXMtb3V0bGluZS1ibGlua2luZy1mb3JlZ3JvdW5kLWVUZkdEYUVyIC4ycyBlYXNlLW91dCBmb3J3YXJkc30uYmxpbmtBbmltYXRpb24tZVRmR0RhRXIuaGlnaGxpZ2h0aW5nLWVUZkdEYUVyOmFmdGVye2FuaW1hdGlvbi1kdXJhdGlvbjoxLjc1czthbmltYXRpb24tbmFtZTpwaWxsLWZvY3VzLW91dGxpbmUtaGlnaGxpZ2h0aW5nLWFuaW1hdGlvbi1hZnRlci1lVGZHRGFFcn0uYmxpbmtBbmltYXRpb24tZVRmR0RhRXIuaGlnaGxpZ2h0aW5nLWVUZkdEYUVyIC5ibGlua0ZvcmVncm91bmQtZVRmR0RhRXJ7YW5pbWF0aW9uLWR1cmF0aW9uOjEuNzVzO2FuaW1hdGlvbi1uYW1lOnBpbGwtZm9jdXMtb3V0bGluZS1oaWdobGlnaHRpbmctYW5pbWF0aW9uLWZvcmVncm91bmQtZVRmR0RhRXJ9LmJsaW5rRm9yZWdyb3VuZC1lVGZHRGFFcntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSArIDJweCk7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0ycHg7d2lkdGg6Y2FsYygxMDAlICsgNHB4KTt6LWluZGV4OjEwfS5hY3RpdmVBcmVhLXh6QXRGbWxFey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O292ZXJmbG93OnZpc2libGU7cGFkZGluZzowO3RleHQtYWxpZ246c3RhcnQ7LS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZExlZnQ6MTstLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kUmlnaHQ6MTtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kTGVmdCkpIGNhbGModmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kUmlnaHQpKSBjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSk7ZmxleC1iYXNpczpjb250ZW50O2hlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO291dGxpbmU6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpub3dyYXA7ei1pbmRleDozfS5hY3RpdmVBcmVhLXh6QXRGbWxFOm5vdCg6bnRoLWNoaWxkKDIpKXstLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kTGVmdDowfS5hY3RpdmVBcmVhLXh6QXRGbWxFOm5vdCg6bGFzdC1jaGlsZCl7LS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0OjA7Ym9yZGVyLWlubGluZS1lbmQ6MXB4IHNvbGlkIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcil9LmFjdGl2ZUFyZWEteHpBdEZtbEU6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRSaWdodCkpfS5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0ubm9TdHJldGNoLXh6QXRGbWxFe2ZsZXgtZ3JvdzowO2ZsZXgtc2hyaW5rOjB9LnN0cmV0Y2gteHpBdEZtbEV7ZmxleC1ncm93OjE7ZmxleC1zaHJpbms6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmFjdGl2ZUFyZWEteHpBdEZtbEUuaGFzQ2xpY2tMaXN0ZW5lci14ekF0Rm1sRTpub3QoLmRpc2FibGVkLXh6QXRGbWxFKTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtaG92ZXItYmFja2dyb3VuZCl9fS5hY3RpdmVBcmVhLXh6QXRGbWxFLmhhc0NsaWNrTGlzdGVuZXIteHpBdEZtbEU6bm90KC5kaXNhYmxlZC14ekF0Rm1sRSkuc2VsZWN0ZWQteHpBdEZtbEUsLmFjdGl2ZUFyZWEteHpBdEZtbEUuaGFzQ2xpY2tMaXN0ZW5lci14ekF0Rm1sRTpub3QoLmRpc2FibGVkLXh6QXRGbWxFKTpub3QoLnNlbGVjdGVkLXh6QXRGbWxFKTphY3RpdmV7YmFja2dyb3VuZDp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS1iYWNrZ3JvdW5kKX0uYWN0aXZlQXJlYS14ekF0Rm1sRTpmb2N1cy12aXNpYmxlPi5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0uYWN0aXZlQXJlYS14ekF0Rm1sRTpmb2N1cy12aXNpYmxlPi5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRTphZnRlcntib3JkZXItcmFkaXVzOmNhbGMoKDRweCArIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSkqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZExlZnQpKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxO3otaW5kZXg6NH0uYWN0aXZlQXJlYS14ekF0Rm1sRTpmb2N1cy12aXNpYmxlPi5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRTphZnRlcjpkaXIocnRsKXtib3JkZXItcmFkaXVzOmNhbGMoKDRweCArIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSkqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRSaWdodCkpIGNhbGMoKDRweCArIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSkqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZExlZnQpKSBjYWxjKCg0cHggKyB2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykpKnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kUmlnaHQpKX0uY2hpbGRyZW4teHpBdEZtbEV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJX0ubGF5b3V0RXF1aWxhdGVyYWwtcGo4ckpWaFp7YWxpZ24taXRlbXM6Y2VudGVyO2FzcGVjdC1yYXRpbzoxO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDowfS5wcmltYXJ5VGV4dC1EWGNvQ1YySntjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXRleHQpO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ucHJpbWFyeVRleHQtRFhjb0NWMko6ZW1wdHl7ZGlzcGxheTpub25lfS5hY3RpdmVUZXh0LWNuMEduT0Jke292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uYWN0aXZlVGV4dC1jbjBHbk9CZDplbXB0eXtkaXNwbGF5Om5vbmV9LmFjdGl2ZVRleHQtY24wR25PQmR7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dCk7Zm9udC13ZWlnaHQ6NjAwfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/barclays.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.051Z","timestamp":1785136902051,"http_version":"HTTP/2","security_state":"secure","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 /barclays.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=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 07:21:42 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"6b38e99931cb38c4c5982f8b8b6d0c62\"\r\nlast-modified: Wed, 08 Sep 2021 08:56:33 GMT\r\ncdn-cachedat: 08/14/2025 09:16:50\r\nx-amz-id-2: wX/Z9Rpv5n1p5bksRr0tMkUN4ugAnglCU7+DmFZScekAOpJbbloDUQFd9aN9+LBipZK7GseEebY=\r\nx-amz-request-id: QEEZBAXAH70SX1R7\r\nx-amz-meta-hash: 6b38e99931cb38c4c5982f8b8b6d0c62\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dc0ebc86e99f66d60fdb2aaf167c676f\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":2554,"size_decoded":2116,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (2554), with no line terminators","md5":"6b38e99931cb38c4c5982f8b8b6d0c62","sha1":"f9df7e426924a0bafd4abfe8fcdacdccc5fd5a70","sha256":"6fd67c262fb4a14b4fbcf13ecd69512f4b896cea1c5562720829ae1b779d4bc7","sha512":"fa94bbef65266f3b2feb556844dce5a1371e9ddd5aa83a49eb573a48d3d3af13f2fce4f140783e1e3eb3c8f5d0fac085e7d124162dc5eddd412cccc3be003079","ssdeep":"","tlshash":"35512f8992b0835ffad8d62e8779fd95400f306778b189866f5fcf48e08d9883e60464","first_seen":"2025-11-11T01:58:30.299718Z","last_seen":"2026-07-27T07:23:37.172071Z","times_seen":8,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXIpIiBkPSJNMCAwaDE4djE4SDB6Ii8+PHBhdGggZD0iTTEzLjYzMyA2LjE4MWEyLjIxNCAyLjIxNCAwIDAwLS41NDEtLjY3Ljg0OC44NDggMCAwMC0uNDM0LS4yMDIgMS45MzkgMS45MzkgMCAwMC0uNDMzLS4wNjdoLS4wMzZjLS4xOCAwLS41NDIuMDMzLS43NTkuMzAyLS4xMDguMS0uMTQ0LjI2OC0uMTA4LjQzNi4wMzYuMTM0LjEwOC4yMzUuMjUzLjI2OCAwIDAgLjAzNiAwIC4xMDguMDM0LS4wMzYgMC0uMDcyLjA2Ny0uMDcyLjA2Ny0uMDcyLjEtLjI1My4yNjgtLjc1OS4yNjhoLS4wMzZjLS4yNTIgMC0uNDctLjA2Ny0uNzIyLS4zNjktLjE0NC0uMjAxLS4yNTMtLjUwMy0uMjUzLTEuMDQgMC0uMjY4LS4wMzYtLjUwMy0uMTA4LS42NzFhLjU0My41NDMgMCAwMC0uMjUzLS4zMDJjLS4wNzItLjA2Ny0uMTgtLjEtLjMyNS0uMTM0QzkuMDExIDQgOC43OTUgNCA4LjYxNCA0Yy0uMjE3IDAtLjMyNi4wMzQtLjM5OC4xMzQgMCAwIDAgLjAzNC0uMDM2LjAzNGgtLjE0NGMtLjEwOSAwLS4yMTcuMDMzLS4zMjUuMDMzYS45NzkuOTc5IDAgMDAtLjQ3LjIwMi42MDkuNjA5IDAgMDAtLjE4LjI2OGMtLjAzNi4xIDAgLjE2OC4wMzYuMjAxIDAgMCAwIC4wMzQuMDM2LjAzNC4wNzItLjA2Ny4xOC0uMS4zNjEtLjEuMjE3IDAgLjU0Mi4xLjY1LjI2OC4xNDQuMjM1LjEwOC40MDMuMDcyLjYzNy0uMDcyLjU3LS4zMjUuODczLS43OTQuOTRoLS4yNTNjLS4zNjEgMC0uNjE0LS4xLS43MjItLjMwMi0uMDczLS4wNjctLjA3My0uMS0uMDczLS4xcy4wMzcgMCAuMDczLS4wMzRjLjE0NC0uMDY3LjIxNi0uMTM0LjI1Mi0uMjY5YS41MDUuNTA1IDAgMDAtLjEwOC0uNDM2Yy0uMTgtLjE2OC0uNDMzLS4yNjgtLjc1OC0uMjY4LS4xOCAwLS4zMjUuMDMzLS40MzQuMDY3LS40MzMuMS0uNzU4LjM2OS0xLjAxLjg3MmEzLjM2IDMuMzYgMCAwMC0uMzYyIDEuMjc1IDcuMSA3LjEgMCAwMDAgMS4yNDJjLjA3Mi42MDQuMTguOTczLjMyNSAxLjM0Mi4xNDUuNDAzLjM2MS43NzIuNTc4IDEuMTA4LjA3Mi4xMzQuMTA4LjIwMS4xNDQuMjM1YS40Ny40NyAwIDAwLjEwOS0uMTM1IDUuNzUgNS43NSAwIDAwLjM5Ny0uNDdjLjEwOC0uMDY3LjIxNy0uMjY4LjI4OS0uNDAybC4wMzYtLjA2Ny4wNzIuMDY3YS4yOTUuMjk1IDAgMDEuMTA5LjIzNWMwIC4xLS4wMzcuMjAxLS4wNzMuNDAyLS4wNzIuMjAyLS4xOC40Ny0uMzI1LjY3MiAwIC4wMzMtLjAzNi4wNjctLjAzNi4wNjctLjA3Mi4xMzQtLjEwOC4yMDEtLjA3Mi4yMzVhLjQ2Ni40NjYgMCAwMC4yNTMtLjEzNWMuMTA4LS4wNjcuMzYtLjI2OC42ODYtLjcwNC4yNTMtLjMwMi40MzMtLjYzOC42MTQtMS4wMDdsLjAzNi0uMDY3LjA3Mi4wMzNjLjAzNiAwIC4wNzIuMDM0LjA3Mi4wNjguMDM3LjA2Ny4wMzcuMTM0LjAzNy4yMzQtLjAzNy4yMzUtLjE4MS41Ny0uMjkuODA2LS4xOC40MDItLjU0MS44NzItLjc5NCAxLjIwOCAwIDAtLjA3Mi4wNjctLjA3Mi4xYS40NzcuNDc3IDAgMDAuMTQ0LjEwMWwuMTA5LjA2N2MuMzYuMjY5LjY4Ni41MDQgMS4xMi43MDUuMzI0LjE2OCAxLjAxLjUwMyAxLjQ0NC42MDQuNDMzLS4xIDEuMTItLjQzNiAxLjQ0NC0uNjA0YTguNzMgOC43MyAwIDAwMS4xMi0uNzA1bC4xMDgtLjA2N2MuMDcyLS4wMzMuMTA4LS4xLjE0NS0uMSAwIDAtLjAzNy0uMDM0LS4wMzctLjA2OGwtLjAzNi0uMDMzYy0uMjUyLS4zMzYtLjYxNC0uODA2LS43OTQtMS4yMDgtLjEwOS0uMjM1LS4yNTMtLjYwNC0uMjg5LS44MDYgMC0uMSAwLS4xNjcuMDM2LS4yMzUgMC0uMDMzLjAzNi0uMDMzLjA3Mi0uMDY3LjAzNi0uMDMzLjA3Mi0uMDMzLjA3Mi0uMDMzbC4wMzcuMDY3Yy4xOC4zNy4zOTcuNjcxLjYxNCAxLjAwNy4zMjUuNDM2LjU3Ny42MzcuNjg2LjcwNC4xMDguMDY3LjIxNi4xMzUuMjUyLjEzNWguMDM3Yy4wMzYtLjAzNCAwLS4xMDEtLjA3My0uMjM1IDAtLjAzNC0uMDM2LS4wNjctLjAzNi0uMDY3YTMuNjc1IDMuNjc1IDAgMDEtLjMyNS0uNjcyYy0uMDcyLS4yLS4xMDgtLjMwMi0uMTA4LS40MDIgMC0uMS4wMzYtLjIwMi4xMDgtLjIzNWwuMDcyLS4wMzQuMDM3LjA2N2MuMDcyLjEzNS4yMTYuMzM2LjI1Mi40MDMuMDczLjEuMzI1LjM3LjM5OC40N2wuMTA4LjFjLjAzNi0uMDMzLjA3Mi0uMS4xNDUtLjJ2LS4wMzRhOC4yOCA4LjI4IDAgMDAuNTc3LTEuMTA4IDUuMzggNS4zOCAwIDAwLjMyNS0xLjM0MmMuMDM2LS4zNy4wNzItLjc3MiAwLTEuMjQyIDAtLjQ3LS4xMDgtLjk0LS4zMjUtMS4yNzV6IiBmaWxsPSIjZmZmIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iMS41OTMiIHkxPSI0LjI2OCIgeDI9IjE1LjI0IiB5Mj0iMTUuODE2IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzIwQzRGNCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAwNkU5OCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjwvc3ZnPg=="}},"time_used":279,"timings":{"blocked":-1,"dns":28,"connect":35,"send":0,"wait":213,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCDASH.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.507Z","timestamp":1785136905507,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCDASH.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSPKS.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.567Z","timestamp":1785136905567,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSPKS.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49518.081f9637b94ee62a6e6f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.306Z","timestamp":1785136900306,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49518.081f9637b94ee62a6e6f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 67da2c84a8d8331b0a23393bad1ad8cf\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5353,"size_decoded":1929,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5353), with no line terminators","md5":"d7a9f60b8ae2b7f3ca613c9e5b32c1be","sha1":"96edacc2eaf0e2cf90be1c863bcdf71fce951db7","sha256":"62105e79933d1412be7816bc118e665a99e90c3d846b5e3282d35372ec43018a","sha512":"be8a4d2d71a8547c7dd2aa502370f205f86911c5def4816629a2da7cd82f3786e92dd78ecc49e89a9af136891ed67fb875ef4fcddcc07ccc31b5f51d430f4da3","ssdeep":"48:DVGIKVGI0GIKZGIpGIoVGIRGIqGIuGIjVGI0QVGIZGITZGI0LGI06GIHGI8GI/G7:D81CWQbawWxrGn5W+orw57Ur6Mpk98","tlshash":"12b1f676e8201aa675ba5a192380fad45034d022bf219ffff3c568168dcf1c6789381d","first_seen":"2026-03-24T10:46:27.490841Z","last_seen":"2026-08-10T05:01:44.092741Z","times_seen":1909,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzMtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV80LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNS02YW5NOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fNy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzgtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLV85LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzEtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8yLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzQtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV81LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzctNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV84LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fOS02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLWNoZWNrYm94ey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0udHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6NTAlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6bm9uZX19LnR2LWNvbnRyb2wtY2hlY2tib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtY29udHJvbC1jaGVja2JveC0tbm93cmFwLC50di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXR7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtib3JkZXItcmFkaXVzOjNweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzAtNmFuTSk7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1jaGVja2JveF9fYm94IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEycHg7c3Ryb2tlOiMwMDAwO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2l0aW9uOnN0cm9rZSAuMzVzIGVhc2UgMW1zLHRyYW5zZm9ybSAuMzVzIGVhc2UgMW1zfS50di1jb250cm9sLWNoZWNrYm94X19sYWJlbHttYXJnaW4taW5saW5lLWVuZDoxMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLXR3by1saW5lc3t3aWR0aDoxNTVweH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsLS1saWwtbGluZS1oZWlnaHR7bGluZS1oZWlnaHQ6MTZweDttYXgtd2lkdGg6ODAlO21pbi13aWR0aDo0NSV9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsKy50di1jb250cm9sLWNoZWNrYm94e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtY29udHJvbC1jaGVja2JveCsudHYtY29udHJvbC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDFleCAtIDI4cHgpfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWNoZWNrYm94OmhvdmVyIC50di1jb250cm9sLWNoZWNrYm94X19ib3h7d2lsbC1jaGFuZ2U6YmFja2dyb3VuZC1jb2xvcn19LnR2LWNvbnRyb2wtY2hlY2tib3g6YWN0aXZlIC50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3JlLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sYm9yZGVyLXJhZGl1c31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzEtNmFuTSk7d2lsbC1jaGFuZ2U6Ym9yZGVyLWNvbG9yfX0udHYtY29udHJvbC1jaGVja2JveDphY3RpdmUgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzItNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLWNoZWNrYm94X19ib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzQtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveCBzdmd7c3Ryb2tlOnZhcigtLV81LTZhbk0pO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLWRlbGF5Ojg3LjVtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTt3aWxsLWNoYW5nZTpzdHJva2UsdHJhbnNmb3JtfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1jaGVja2JveDpob3ZlciAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94e2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzctNmFuTSl9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzktNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0W2Rpc2FibGVkXSsudHYtY29udHJvbC1jaGVja2JveF9fYm94e29wYWNpdHk6LjV9LnR2LWNvbnRyb2wtY2hlY2tib3guaS1lcnJvciAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfQ=="}},"time_used":104,"timings":{"blocked":-1,"dns":26,"connect":30,"send":0,"wait":11,"receive":-1,"ssl":25},"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.000Z","timestamp":1785136901000,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.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 07:21:40 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: dfa0e23e9a3101f80f829ace622818f9\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":2513,"size_decoded":1834,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (2511), with no line terminators","md5":"df08a1dd70ffac4f28fcc3d7dbbe08a4","sha1":"7ccdbd9c3c329f4aa7c79c73e2bb3943ea45ebef","sha256":"db9d406f4660f93fca8338121e3f490d121c0d8c145adf7b5255109dd254fc22","sha512":"ddbd2ec7971bce16527fb401f1a3a6162efc2a827a9684ba05c3c7a2453eac89da95cba33f9f32fce00d8e36547421b0446718bda2cf81251f62240f8a342978","ssdeep":"","tlshash":"3d512127d020d5f22f73ca08b792edd675f072a111f2e8da7b4a6f65c25bc5018395b4","first_seen":"2026-07-23T13:38:20.437954Z","last_seen":"2026-07-29T06:16:42.770761Z","times_seen":1336,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNzg1OSwzNzg2NSw0MDI0MCw0NzAzMCw1NzE4NCw1NzI5MSw5NDM4OF0sezU1ODQxMihlKXtlLmV4cG9ydHM9WyIlIG9mIEdEUCJdfSw0Njg0NjAoZSl7ZS5leHBvcnRzPVsiJSBvZiBwYXIiXX0sNDQ1MDUoZSl7ZS5leHBvcnRzPVsiRGlzYy4geWllbGQsICUiXX0sODU5OTk0KGUpe2UuZXhwb3J0cz1bIkMiXX0sODkyMzYzKGUpe2UuZXhwb3J0cz1bIkQiXX0sMzk0NTAxKGUpe2UuZXhwb3J0cz1bIkQiXX0sNTcwOTM5KGUpe2UuZXhwb3J0cz1bIkUiXX0sMzk0OTIxKGUpe2UuZXhwb3J0cz1bIkYiXX0sODY2NDQoZSl7ZS5leHBvcnRzPVsiUiJdfSw3NTY0NTcoZSl7ZS5leHBvcnRzPVsiUiJdfSwyNTczMjYoZSl7ZS5leHBvcnRzPVsiUyJdfSw1NTIxNShlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSw2ODUxMDQoZSl7ZS5leHBvcnRzPVsiSG9saWRheSJdfSw2Mzg0MDUoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sODk3NTkxKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sMjc0NDE1KGUpe2UuZXhwb3J0cz1bIkxvYWRpbmciXX0sNzAyNzg4KGUpe2UuZXhwb3J0cz1bIk1hcmtldCBvcGVuIl19LDkxNDU3MihlKXtlLmV4cG9ydHM9WyJNYXJrZXQgY2xvc2VkIl19LDg2NzQ1NShlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCJdfSw5MTg4NDIoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCJdfSwzODQ1OTcoZSl7ZS5leHBvcnRzPVsiQ0ZEIl19LDY1NTIzNShlKXtlLmV4cG9ydHM9WyJDcnlwdG8iXX0sMzUwMTQ2KGUpe2UuZXhwb3J0cz1bIkFsbCJdfSw3NjU0NDAoZSl7ZS5leHBvcnRzPVsiQm9uZHMiXX0sNTQ4MzIyKGUpe2UuZXhwb3J0cz1bIkVjb25vbXkiXX0sOTc5OTcoZSl7ZS5leHBvcnRzPVsiRm9yZXgiXX0sNTA1MDc5KGUpe2UuZXhwb3J0cz1bIkZ1dHVyZXMiXX0sNTY0OTE3KGUpe2UuZXhwb3J0cz1bIkZ1bmRzIl19LDkyNzQxMShlKXtlLmV4cG9ydHM9WyJJbmRpY2VzIl19LDc5NjAwKGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMiXX0sNTU1NTEwKGUpe2UuZXhwb3J0cz1bIlN0b2NrcyJdfSw1NzA2MihlKXtlLmV4cG9ydHM9WyJOL0EiXX0sMTExOTc2KGUpe2UuZXhwb3J0cz1bIjEgeWVhciJdfSwzMjgwMzAoZSl7ZS5leHBvcnRzPVsiMyBtb250aHMiXX0sMTk0MTk0KGUpe2UuZXhwb3J0cz1bIkNvbm5lY3RpbmciXX0sODY4ODEwKGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSBtb250aC4iXX0sOTEzOTU1KGUpe2UuZXhwb3J0cz1bIkJpbGxlZCBldmVyeSB5ZWFyLiJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw2MDE3NjQoZSl7ZS5leHBvcnRzPVsiRW5kIG9mIERheSJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwzMjgzMTMoZSl7ZS5leHBvcnRzPVsiSW5zdHJ1bWVudCBpcyBub3QgYWxsb3dlZCJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sODUwMjk4KGUpe2UuZXhwb3J0cz1bIlNlY29uZCBmcmFjdGlvbiBwYXJ0IGlzIGludmFsaWQuIl19LDk5MjM2MihlKXtlLmV4cG9ydHM9WyJTdHVkaWVzIGxpbWl0IGV4Y2VlZGVkOiB7bnVtYmVyfSBzdHVkaWVzIHBlciBsYXlvdXQuXG5QbGVhc2UsIHJlbW92ZSBzb21lIHN0dWRpZXMuIl19LDYxNjE4KGUpe2UuZXhwb3J0cz1bIlByaWNlIGZvcm1hdCBpcyBpbnZhbGlkLiJdfSw4MTQ2MShlKXtlLmV4cG9ydHM9WyJRdW90ZXMgYXJlIGRlbGF5ZWQgYnkge251bWJlcn0gbWluIl19LDc5MDUyNChlKXtlLmV4cG9ydHM9WyJRdW90ZXMgYXJlIGRlbGF5ZWQgYnkge251bWJlcn0gbWluIGFuZCB1cGRhdGVkIGV2ZXJ5IDMwIHNlY29uZHMiXX0sODgzOTI4KGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSJdfSw5NzcyNyhlKXtlLmV4cG9ydHM9WyJSZXBsYXkgTW9kZSJdfSw5MzcwMTcoZSl7ZS5leHBvcnRzPVsiV2FybmluZyJdfSw3ODg0NDQoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24gVHJhZGluZ1ZpZXciXX0sNTE3ODU5KGUpe2UuZXhwb3J0cz1bIlZpc2l0IFRyYWRpbmdWaWV3IOKAlCBmaW5hbmNpYWwgY2hhcnRpbmcgcGxhdGZvcm0gYW5kIHRyYWRpbmcgY29tbXVuaXR5Il19LDcyMTExOChlKXtlLmV4cG9ydHM9WyJhbm51YWxseSJdfSw2NTM2OShlKXtlLmV4cG9ydHM9WyJiaWxsZWQgbW9udGhseSJdfSwyNjAxOTMoZSl7ZS5leHBvcnRzPVsiYmlsbGVkIGFubnVhbGx5Il19LDU1NjU2OChlKXtlLmV4cG9ydHM9WyJtb250aGx5Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sODM1OChlKXtlLmV4cG9ydHM9WyJ0cmlhbCJdfSwxNTM3NjYoZSl7ZS5leHBvcnRzPVsie3Byb1BsYW5OYW1lfSBUcmlhbCJdfSwzMjM0ODUoZSl7ZS5leHBvcnRzPVsibW9udGgiLCJtb250aHMiXX0sNDQyNjY2KGUpe2UuZXhwb3J0cz1bInllYXIiLCJ5ZWFycyJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43792.e1bd06112404f0901a66.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.318Z","timestamp":1785136901318,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43792.e1bd06112404f0901a66.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-fa2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 03a49fd9f0d5f27ffc945dda684fe552\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4002,"size_decoded":1797,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4002), with no line terminators","md5":"132394741fdf9302124f840e6c3a925d","sha1":"59267f8b0edd10201baaabda8807c79d9b9c3642","sha256":"8157f6ce008ce1e225eb1af407cc0fa0cff8f6155386f2da7e90a74c37091048","sha512":"63359d8ac07c4cd882722bc630255d64b699f4f548c64e2558f6d95f25c6e75f0b5645fee034885862797dfedaf95df80c12f73ec2d41c159177c19470c40f6d","ssdeep":"","tlshash":"bd819cbcea50d8770d5fa63e0398d06c3994b213ee26ab57ffa0d10144d7be6419a70e","first_seen":"2026-07-22T16:00:00.457602Z","last_seen":"2026-07-28T06:17:53.444639Z","times_seen":386,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUk00Xzp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1STTRfOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzItUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzMtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzQtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fNS1STTRfOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi0zMDApOy0tXzYtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV83LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzgtUk00Xzp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTkwMCk7LS1fOS1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xMC1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xMS1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzEyLVJNNF86dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTMtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTQtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1STTRfOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEtUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yLVJNNF86dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zLVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV80LVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzUtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV82LVJNNF86dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTYwMCk7LS1fNy1STTRfOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV84LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzktUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1fMTAtUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTcwMCk7LS1fMTEtUk00Xzp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLV8xMi1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE3MDApOy0tXzEzLVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApOy0tXzE0LVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay00MDApfS53cmFwLUdoRGpYekJ4e2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmV9LndyYXAtR2hEalh6Qng6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ud3JhcC1HaERqWHpCeDpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LndyYXAtR2hEalh6QnggLmlucHV0LUdoRGpYekJ4e2N1cnNvcjpwb2ludGVyO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1HaERqWHpCeCAuaW5wdXQtR2hEalh6Qng6aG92ZXI6bm90KDpjaGVja2VkKSsuYm94LUdoRGpYekJ4IC5ob3ZlckRvdC1HaERqWHpCeHtkaXNwbGF5OmJsb2NrfX0uYm94LUdoRGpYekJ4e2hlaWdodDoxNnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTZweH0uYm94LUdoRGpYekJ4LnJlZC1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMS1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5yZWQtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzItUk00Xyl9fS5ib3gtR2hEalh6QnguYmx1ZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5ibHVlLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV80LVJNNF8pfX0uYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4e2NvbG9yOnZhcigtLV81LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV82LVJNNF8pfX0uYm94LUdoRGpYekJ4Lm9yYW5nZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fNy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5vcmFuZ2UtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzgtUk00Xyl9fS5ib3gtR2hEalh6QngucHVycGxlLUdoRGpYekJ4e2NvbG9yOnZhcigtLV85LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LnB1cnBsZS1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTAtUk00Xyl9fS5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTEtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTItUk00Xyl9fS5ib3gtR2hEalh6QngucGluay1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTMtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QngucGluay1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTQtUk00Xyl9fS5ib3gtR2hEalh6QngubGFyZ2UtR2hEalh6Qnh7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ucGlja2VyRG90LUdoRGpYekJ4e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmhvdmVyRG90LUdoRGpYekJ4e2NvbG9yOnZhcigtLV8wLVJNNF8pO2Rpc3BsYXk6bm9uZTtvcGFjaXR5Oi41fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXlNSEM6dmFyKC0tY29sb3Itd2hpdGUpfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteU1IQzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0ud3JhcHBlci1WbmVRVm9OdntwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZTo2cHggMTBweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnZ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteU1IQyk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmlubGluZS1mbGV4O3BhZGRpbmc6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052e2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDotMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDoxMnB4fS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052OmFmdGVye2JhY2tncm91bmQ6dmFyKC0tXzAteU1IQyk7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo5cHg7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7d2lkdGg6MTJweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnYgLmFycm93TGVmdC1WbmVRVm9OdjphZnRlcjpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9LmNvbG9yU2VsZWN0QnV0dG9uLVZuZVFWb052e3BhZGRpbmc6NHB4fS5wb3B1cC1WbmVRVm9Odntwb3NpdGlvbjpmaXhlZDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt6LWluZGV4OjEwMDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCGRAM.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.443Z","timestamp":1785136905443,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCGRAM.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSUI.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.448Z","timestamp":1785136905448,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSUI.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCMOODENG.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.596Z","timestamp":1785136905596,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCMOODENG.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/js/mixitup.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.518Z","timestamp":1785136899518,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/mixitup.min.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 121918\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":121918,"size_decoded":122136,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (997), with CRLF line terminators","md5":"c6277129ec6fe65cb8fd5aa6df3813d7","sha1":"085520055bafb1cbf69fb95071ca4d92cf6a6ad3","sha256":"9fa7277299b7a3b4fe70ef6ade6691d04b9ee5d3cfaaa4a728fd77a48a54e6f8","sha512":"87df288f653fa3102d5611afbcabfe50d2f6b0a8657b09024660d329c6684be15354e40978408607901c370d1d26af281f5cfc80f817f409e6bc34d87b7ba25a","ssdeep":"1536:9O1y42iuBCUsMsS765wA0Rd5zGUEFZXp4lx1tVZPO/mHSbo22iCm1QrMEcpnJQZ5:H4DCCKO5wfKetEl1QjcpnJQYHs","tlshash":"a2c3b6453ae43ab689b37326992e8f40f63583ab274244577e3c54584f7bc0416bbfb8","first_seen":"2023-05-27T06:34:22Z","last_seen":"2026-08-01T11:22:31.044027Z","times_seen":248,"resource_available":true,"data":"LyoqIQ0KICogTWl4SXRVcCB2My4zLjENCiAqIEEgaGlnaC1wZXJmb3JtYW5jZSwgZGVwZW5kZW5jeS1mcmVlIGxpYnJhcnkgZm9yIGFuaW1hdGVkIGZpbHRlcmluZywgc29ydGluZyBhbmQgbW9yZQ0KICogQnVpbGQgOTRlMGZiZjYtY2QwYi00OTg3LWIzYzAtMTRiNTliNjdiOGEwDQogKg0KICogQGNvcHlyaWdodCBDb3B5cmlnaHQgMjAxNC0yMDE4IEt1bmthTGFicyBMaW1pdGVkLg0KICogQGF1dGhvciAgICBLdW5rYUxhYnMgTGltaXRlZC4NCiAqIEBsaW5rICAgICAgaHR0cHM6Ly93d3cua3Vua2FsYWJzLmNvbS9taXhpdHVwLw0KICoNCiAqIEBsaWNlbnNlICAgQ29tbWVyY2lhbCB1c2UgcmVxdWlyZXMgYSBjb21tZXJjaWFsIGxpY2Vuc2UuDQogKiAgICAgICAgICAgIGh0dHBzOi8vd3d3Lmt1bmthbGFicy5jb20vbWl4aXR1cC9saWNlbnNlcy8NCiAqDQogKiAgICAgICAgICAgIE5vbi1jb21tZXJjaWFsIHVzZSBwZXJtaXR0ZWQgdW5kZXIgc2FtZSB0ZXJtcyBhcyBDQyBCWS1OQyAzLjAgbGljZW5zZS4NCiAqICAgICAgICAgICAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktbmMvMy4wLw0KICovDQohIGZ1bmN0aW9uKHQpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgdmFyIGUgPSBudWxsLA0KICAgICAgICBuID0gbnVsbDsNCiAgICAhIGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgZSA9IFsid2Via2l0IiwgIm1veiIsICJvIiwgIm1zIl0sDQogICAgICAgICAgICBuID0gdC5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSwNCiAgICAgICAgICAgIGEgPSAtMTsNCiAgICAgICAgZm9yIChhID0gMDsgYSA8IGUubGVuZ3RoICYmICF0LnJlcXVlc3RBbmltYXRpb25GcmFtZTsgYSsrKSB0LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IHRbZVthXSArICJSZXF1ZXN0QW5pbWF0aW9uRnJhbWUiXTsNCiAgICAgICAgInVuZGVmaW5lZCIgPT0gdHlwZW9mIG4ubmV4dEVsZW1lbnRTaWJsaW5nICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LkVsZW1lbnQucHJvdG90eXBlLCAibmV4dEVsZW1lbnRTaWJsaW5nIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIHQgPSB0aGlzLm5leHRTaWJsaW5nOyB0Oykgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDEgPT09IHQubm9kZVR5cGUpIHJldHVybiB0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgdCA9IHQubmV4dFNpYmxpbmcNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgIHQubWF0Y2hlcyA9IHQubWF0Y2hlcyB8fCB0Lm1hY2hlc1NlbGVjdG9yIHx8IHQubW96TWF0Y2hlc1NlbGVjdG9yIHx8IHQubXNNYXRjaGVzU2VsZWN0b3IgfHwgdC5vTWF0Y2hlc1NlbGVjdG9yIHx8IHQud2Via2l0TWF0Y2hlc1NlbGVjdG9yIHx8IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwodGhpcy5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCksIHRoaXMpID4gLTENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KHQuRWxlbWVudC5wcm90b3R5cGUpLCBPYmplY3Qua2V5cyB8fCAoT2JqZWN0LmtleXMgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgdCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksDQogICAgICAgICAgICAgICAgICAgIGUgPSAhMSwNCiAgICAgICAgICAgICAgICAgICAgbiA9IFtdLA0KICAgICAgICAgICAgICAgICAgICBhID0gLTE7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgPSAhew0KICAgICAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IG51bGwNCiAgICAgICAgICAgICAgICAgICAgfS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgidG9TdHJpbmciKSwgbiA9IFsidG9TdHJpbmciLCAidG9Mb2NhbGVTdHJpbmciLCAidmFsdWVPZiIsICJoYXNPd25Qcm9wZXJ0eSIsICJpc1Byb3RvdHlwZU9mIiwgInByb3BlcnR5SXNFbnVtZXJhYmxlIiwgImNvbnN0cnVjdG9yIl0sIGEgPSBuLmxlbmd0aCwNCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oaSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSBbXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gIiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcyA9IC0xOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCJvYmplY3QiICE9IHR5cGVvZiBpICYmICgiZnVuY3Rpb24iICE9IHR5cGVvZiBpIHx8IG51bGwgPT09IGkpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3Qua2V5cyBjYWxsZWQgb24gbm9uLW9iamVjdCIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChyIGluIGkpIHQuY2FsbChpLCByKSAmJiBvLnB1c2gocik7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHMgPSAwOyBzIDwgYTsgcysrKSB0LmNhbGwoaSwgbltzXSkgJiYgby5wdXNoKG5bc10pOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG8NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSgpKSwgQXJyYXkuaXNBcnJheSB8fCAoQXJyYXkuaXNBcnJheSA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIltvYmplY3QgQXJyYXldIiA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpDQogICAgICAgICAgICB9KSwgImZ1bmN0aW9uIiAhPSB0eXBlb2YgT2JqZWN0LmNyZWF0ZSAmJiAoT2JqZWN0LmNyZWF0ZSA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IGZ1bmN0aW9uKCkge307DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKG4sIGEpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKG4gIT09IE9iamVjdChuKSAmJiBudWxsICE9PSBuKSB0aHJvdyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYW4gb2JqZWN0LCBvciBudWxsIik7DQogICAgICAgICAgICAgICAgICAgIGUucHJvdG90eXBlID0gbiB8fCB7fTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSBuZXcgZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUucHJvdG90eXBlID0gbnVsbCwgYSAhPT0gdCAmJiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhpLCBhKSwgbnVsbCA9PT0gbiAmJiAoaS5fX3Byb3RvX18gPSBudWxsKSwgaQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0oKSksIFN0cmluZy5wcm90b3R5cGUudHJpbSB8fCAoU3RyaW5nLnByb3RvdHlwZS50cmltID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVwbGFjZSgvXltcc1x1RkVGRlx4QTBdK3xbXHNcdUZFRkZceEEwXSskL2csICIiKQ0KICAgICAgICAgICAgfSksIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHx8IChBcnJheS5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSwgbiwgYSwgaTsNCiAgICAgICAgICAgICAgICBpZiAobnVsbCA9PT0gdGhpcykgdGhyb3cgbmV3IFR5cGVFcnJvcjsNCiAgICAgICAgICAgICAgICBpZiAoYSA9IE9iamVjdCh0aGlzKSwgaSA9IGEubGVuZ3RoID4+PiAwLCAwID09PSBpKSByZXR1cm4gLTE7DQogICAgICAgICAgICAgICAgaWYgKGUgPSAwLCBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiAoZSA9IE51bWJlcihhcmd1bWVudHNbMV0pLCBlICE9PSBlID8gZSA9IDAgOiAwICE9PSBlICYmIGUgIT09IDEgLyAwICYmIGUgIT09IC0oMSAvIDApICYmIChlID0gKGUgPiAwIHx8IC0xKSAqIE1hdGguZmxvb3IoTWF0aC5hYnMoZSkpKSksIGUgPj0gaSkgcmV0dXJuIC0xOw0KICAgICAgICAgICAgICAgIGZvciAobiA9IGUgPj0gMCA/IGUgOiBNYXRoLm1heChpIC0gTWF0aC5hYnMoZSksIDApOyBuIDwgaTsgbisrKQ0KICAgICAgICAgICAgICAgICAgICBpZiAobiBpbiBhICYmIGFbbl0gPT09IHQpIHJldHVybiBuOw0KICAgICAgICAgICAgICAgIHJldHVybiAtMQ0KICAgICAgICAgICAgfSksIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHx8IChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSwgbiwgYSwgaTsNCiAgICAgICAgICAgICAgICBpZiAoImZ1bmN0aW9uIiAhPSB0eXBlb2YgdGhpcykgdGhyb3cgbmV3IFR5cGVFcnJvcjsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSksIG4gPSB0aGlzLCBhID0gZnVuY3Rpb24oKSB7fSwgaSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbi5hcHBseSh0aGlzIGluc3RhbmNlb2YgYSA/IHRoaXMgOiB0LCBlLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKSkNCiAgICAgICAgICAgICAgICB9LCB0aGlzLnByb3RvdHlwZSAmJiAoYS5wcm90b3R5cGUgPSB0aGlzLnByb3RvdHlwZSksIGkucHJvdG90eXBlID0gbmV3IGEsIGkNCiAgICAgICAgICAgIH0pLCB0LkVsZW1lbnQucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQgfHwgKHQuRWxlbWVudC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudCA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maXJlRXZlbnQoIm9uIiArIHQudHlwZSwgdCkNCiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fQ0KICAgICAgICAgICAgfSkNCiAgICB9KCksIGUgPSBmdW5jdGlvbihhLCBpLCBvKSB7DQogICAgICAgIHZhciByID0gbnVsbCwNCiAgICAgICAgICAgIHMgPSAhMSwNCiAgICAgICAgICAgIGwgPSBudWxsLA0KICAgICAgICAgICAgYyA9IG51bGwsDQogICAgICAgICAgICB1ID0gbnVsbCwNCiAgICAgICAgICAgIGYgPSBudWxsLA0KICAgICAgICAgICAgaCA9IFtdLA0KICAgICAgICAgICAgZCA9ICIiLA0KICAgICAgICAgICAgbSA9IFtdLA0KICAgICAgICAgICAgZyA9IC0xOw0KICAgICAgICBpZiAodSA9IG8gfHwgdC5kb2N1bWVudCwgKHMgPSBhcmd1bWVudHNbM10pICYmIChzID0gImJvb2xlYW4iID09IHR5cGVvZiBzKSwgInN0cmluZyIgPT0gdHlwZW9mIGEpIG0gPSB1LnF1ZXJ5U2VsZWN0b3JBbGwoYSk7DQogICAgICAgIGVsc2UgaWYgKGEgJiYgIm9iamVjdCIgPT0gdHlwZW9mIGEgJiYgbi5pc0VsZW1lbnQoYSwgdSkpIG0gPSBbYV07DQogICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgaWYgKCFhIHx8ICJvYmplY3QiICE9IHR5cGVvZiBhIHx8ICFhLmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKGUubWVzc2FnZXMuZXJyb3JGYWN0b3J5SW52YWxpZENvbnRhaW5lcigpKTsNCiAgICAgICAgICAgIG0gPSBhDQogICAgICAgIH0NCiAgICAgICAgaWYgKG0ubGVuZ3RoIDwgMSkgdGhyb3cgbmV3IEVycm9yKGUubWVzc2FnZXMuZXJyb3JGYWN0b3J5Q29udGFpbmVyTm90Rm91bmQoKSk7DQogICAgICAgIGZvciAoZyA9IDA7DQogICAgICAgICAgICAociA9IG1bZ10pICYmICghKGcgPiAwKSB8fCBzKTsgZysrKSByLmlkID8gZCA9IHIuaWQgOiAoZCA9ICJNaXhJdFVwIiArIG4ucmFuZG9tSGV4KCksIHIuaWQgPSBkKSwgZS5pbnN0YW5jZXNbZF0gaW5zdGFuY2VvZiBlLk1peGVyID8gKGwgPSBlLmluc3RhbmNlc1tkXSwgKCFpIHx8IGkgJiYgaS5kZWJ1ZyAmJiBpLmRlYnVnLnNob3dXYXJuaW5ncyAhPT0gITEpICYmIGNvbnNvbGUud2FybihlLm1lc3NhZ2VzLndhcm5pbmdGYWN0b3J5UHJlZXhpc3RpbmdJbnN0YW5jZSgpKSkgOiAobCA9IG5ldyBlLk1peGVyLCBsLmF0dGFjaChyLCB1LCBkLCBpKSwgZS5pbnN0YW5jZXNbZF0gPSBsKSwgYyA9IG5ldyBlLkZhY2FkZShsKSwgaSAmJiBpLmRlYnVnICYmIGkuZGVidWcuZW5hYmxlID8gaC5wdXNoKGwpIDogaC5wdXNoKGMpOw0KICAgICAgICByZXR1cm4gZiA9IHMgPyBuZXcgZS5Db2xsZWN0aW9uKGgpIDogaFswXQ0KICAgIH0sIGUudXNlID0gZnVuY3Rpb24odCkgew0KICAgICAgICBlLkJhc2UucHJvdG90eXBlLmNhbGxBY3Rpb25zLmNhbGwoZSwgImJlZm9yZVVzZSIsIGFyZ3VtZW50cyksICJmdW5jdGlvbiIgPT0gdHlwZW9mIHQgJiYgIm1peGl0dXAtZXh0ZW5zaW9uIiA9PT0gdC5UWVBFID8gInVuZGVmaW5lZCIgPT0gdHlwZW9mIGUuZXh0ZW5zaW9uc1t0Lk5BTUVdICYmICh0KGUpLCBlLmV4dGVuc2lvbnNbdC5OQU1FXSA9IHQpIDogdC5mbiAmJiB0LmZuLmpxdWVyeSAmJiAoZS5saWJyYXJpZXMuJCA9IHQpLCBlLkJhc2UucHJvdG90eXBlLmNhbGxBY3Rpb25zLmNhbGwoZSwgImFmdGVyVXNlIiwgYXJndW1lbnRzKQ0KICAgIH0sIGUuaW5zdGFuY2VzID0ge30sIGUuZXh0ZW5zaW9ucyA9IHt9LCBlLmxpYnJhcmllcyA9IHt9LCBuID0gew0KICAgICAgICBoYXNDbGFzczogZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgcmV0dXJuICEhdC5jbGFzc05hbWUubWF0Y2gobmV3IFJlZ0V4cCgiKFxcc3xeKSIgKyBlICsgIihcXHN8JCkiKSkNCiAgICAgICAgfSwNCiAgICAgICAgYWRkQ2xhc3M6IGZ1bmN0aW9uKHQsIGUpIHsNCiAgICAgICAgICAgIHRoaXMuaGFzQ2xhc3ModCwgZSkgfHwgKHQuY2xhc3NOYW1lICs9IHQuY2xhc3NOYW1lID8gIiAiICsgZSA6IGUpDQogICAgICAgIH0sDQogICAgICAgIHJlbW92ZUNsYXNzOiBmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICBpZiAodGhpcy5oYXNDbGFzcyh0LCBlKSkgew0KICAgICAgICAgICAgICAgIHZhciBuID0gbmV3IFJlZ0V4cCgiKFxcc3xeKSIgKyBlICsgIihcXHN8JCkiKTsNCiAgICAgICAgICAgICAgICB0LmNsYXNzTmFtZSA9IHQuY2xhc3NOYW1lLnJlcGxhY2UobiwgIiAiKS50cmltKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgZXh0ZW5kOiBmdW5jdGlvbih0LCBlLCBuLCBhKSB7DQogICAgICAgICAgICB2YXIgaSA9IFtdLA0KICAgICAgICAgICAgICAgIG8gPSAiIiwNCiAgICAgICAgICAgICAgICByID0gLTE7DQogICAgICAgICAgICBuID0gbiB8fCAhMSwgYSA9IGEgfHwgITE7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGUpKQ0KICAgICAgICAgICAgICAgICAgICBmb3IgKHIgPSAwOyByIDwgZS5sZW5ndGg7IHIrKykgaS5wdXNoKHIpOw0KICAgICAgICAgICAgICAgIGVsc2UgZSAmJiAoaSA9IE9iamVjdC5rZXlzKGUpKTsNCiAgICAgICAgICAgICAgICBmb3IgKHIgPSAwOyByIDwgaS5sZW5ndGg7IHIrKykgbyA9IGlbcl0sICFuIHx8ICJvYmplY3QiICE9IHR5cGVvZiBlW29dIHx8IHRoaXMuaXNFbGVtZW50KGVbb10pID8gdFtvXSA9IGVbb10gOiBBcnJheS5pc0FycmF5KGVbb10pID8gKHRbb10gfHwgKHRbb10gPSBbXSksIHRoaXMuZXh0ZW5kKHRbb10sIGVbb10sIG4sIGEpKSA6ICh0W29dIHx8ICh0W29dID0ge30pLCB0aGlzLmV4dGVuZCh0W29dLCBlW29dLCBuLCBhKSkNCiAgICAgICAgICAgIH0gY2F0Y2ggKHMpIHsNCiAgICAgICAgICAgICAgICBpZiAoIWEpIHRocm93IHM7DQogICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFeHRlbmRFcnJvcihzLCB0KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHQNCiAgICAgICAgfSwNCiAgICAgICAgaGFuZGxlRXh0ZW5kRXJyb3I6IGZ1bmN0aW9uKHQsIG4pIHsNCiAgICAgICAgICAgIHZhciBhID0gL3Byb3BlcnR5ICI/KFx3KikiP1ssOl0gb2JqZWN0L2ksDQogICAgICAgICAgICAgICAgaSA9IG51bGwsDQogICAgICAgICAgICAgICAgbyA9ICIiLA0KICAgICAgICAgICAgICAgIHIgPSAiIiwNCiAgICAgICAgICAgICAgICBzID0gIiIsDQogICAgICAgICAgICAgICAgbCA9ICIiLA0KICAgICAgICAgICAgICAgIGMgPSAiIiwNCiAgICAgICAgICAgICAgICB1ID0gLTEsDQogICAgICAgICAgICAgICAgZiA9IC0xOw0KICAgICAgICAgICAgaWYgKHQgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgKGkgPSBhLmV4ZWModC5tZXNzYWdlKSkpIHsNCiAgICAgICAgICAgICAgICBvID0gaVsxXTsNCiAgICAgICAgICAgICAgICBmb3IgKGMgaW4gbikgew0KICAgICAgICAgICAgICAgICAgICBmb3IgKGYgPSAwOyBmIDwgby5sZW5ndGggJiYgby5jaGFyQXQoZikgPT09IGMuY2hhckF0KGYpOykgZisrOw0KICAgICAgICAgICAgICAgICAgICBmID4gdSAmJiAodSA9IGYsIGwgPSBjKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB0aHJvdyB1ID4gMSAmJiAocyA9IGUubWVzc2FnZXMuZXJyb3JDb25maWdJbnZhbGlkUHJvcGVydHlTdWdnZXN0aW9uKHsNCiAgICAgICAgICAgICAgICAgICAgcHJvYmFibGVNYXRjaDogbA0KICAgICAgICAgICAgICAgIH0pKSwgciA9IGUubWVzc2FnZXMuZXJyb3JDb25maWdJbnZhbGlkUHJvcGVydHkoew0KICAgICAgICAgICAgICAgICAgICBlcnJvbmVvdXM6IG8sDQogICAgICAgICAgICAgICAgICAgIHN1Z2dlc3Rpb246IHMNCiAgICAgICAgICAgICAgICB9KSwgbmV3IFR5cGVFcnJvcihyKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdGhyb3cgdA0KICAgICAgICB9LA0KICAgICAgICB0ZW1wbGF0ZTogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgZm9yICh2YXIgZSA9IC9cJHsoW1x3XSopfS9nLCBuID0ge30sIGEgPSBudWxsOyBhID0gZS5leGVjKHQpOykgblthWzFdXSA9IG5ldyBSZWdFeHAoIlxcJHsiICsgYVsxXSArICJ9IiwgImciKTsNCiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgdmFyIGEgPSAiIiwNCiAgICAgICAgICAgICAgICAgICAgaSA9IHQ7DQogICAgICAgICAgICAgICAgZSA9IGUgfHwge307DQogICAgICAgICAgICAgICAgZm9yIChhIGluIG4pIGkgPSBpLnJlcGxhY2UoblthXSwgInVuZGVmaW5lZCIgIT0gdHlwZW9mIGVbYV0gPyBlW2FdIDogIiIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBpDQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIG9uOiBmdW5jdGlvbihlLCBuLCBhLCBpKSB7DQogICAgICAgICAgICBlICYmIChlLmFkZEV2ZW50TGlzdGVuZXIgPyBlLmFkZEV2ZW50TGlzdGVuZXIobiwgYSwgaSkgOiBlLmF0dGFjaEV2ZW50ICYmIChlWyJlIiArIG4gKyBhXSA9IGEsIGVbbiArIGFdID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZVsiZSIgKyBuICsgYV0odC5ldmVudCkNCiAgICAgICAgICAgIH0sIGUuYXR0YWNoRXZlbnQoIm9uIiArIG4sIGVbbiArIGFdKSkpDQogICAgICAgIH0sDQogICAgICAgIG9mZjogZnVuY3Rpb24odCwgZSwgbikgew0KICAgICAgICAgICAgdCAmJiAodC5yZW1vdmVFdmVudExpc3RlbmVyID8gdC5yZW1vdmVFdmVudExpc3RlbmVyKGUsIG4sICExKSA6IHQuZGV0YWNoRXZlbnQgJiYgKHQuZGV0YWNoRXZlbnQoIm9uIiArIGUsIHRbZSArIG5dKSwgdFtlICsgbl0gPSBudWxsKSkNCiAgICAgICAgfSwNCiAgICAgICAgZ2V0Q3VzdG9tRXZlbnQ6IGZ1bmN0aW9uKGUsIG4sIGEpIHsNCiAgICAgICAgICAgIHZhciBpID0gbnVsbDsNCiAgICAgICAgICAgIHJldHVybiBhID0gYSB8fCB0LmRvY3VtZW50LCAiZnVuY3Rpb24iID09IHR5cGVvZiB0LkN1c3RvbUV2ZW50ID8gaSA9IG5ldyB0LkN1c3RvbUV2ZW50KGUsIHsNCiAgICAgICAgICAgICAgICBkZXRhaWw6IG4sDQogICAgICAgICAgICAgICAgYnViYmxlczogITAsDQogICAgICAgICAgICAgICAgY2FuY2VsYWJsZTogITANCiAgICAgICAgICAgIH0pIDogImZ1bmN0aW9uIiA9PSB0eXBlb2YgYS5jcmVhdGVFdmVudCA/IChpID0gYS5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSwgaS5pbml0Q3VzdG9tRXZlbnQoZSwgITAsICEwLCBuKSkgOiAoaSA9IGEuY3JlYXRlRXZlbnRPYmplY3QoKSwgaS50eXBlID0gZSwgaS5yZXR1cm5WYWx1ZSA9ICExLCBpLmNhbmNlbEJ1YmJsZSA9ICExLCBpLmRldGFpbCA9IG4pLCBpDQogICAgICAgIH0sDQogICAgICAgIGdldE9yaWdpbmFsRXZlbnQ6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHJldHVybiB0LnRvdWNoZXMgJiYgdC50b3VjaGVzLmxlbmd0aCA/IHQudG91Y2hlc1swXSA6IHQuY2hhbmdlZFRvdWNoZXMgJiYgdC5jaGFuZ2VkVG91Y2hlcy5sZW5ndGggPyB0LmNoYW5nZWRUb3VjaGVzWzBdIDogdA0KICAgICAgICB9LA0KICAgICAgICBpbmRleDogZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgZm9yICh2YXIgbiA9IDA7IG51bGwgIT09ICh0ID0gdC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKTspIGUgJiYgIXQubWF0Y2hlcyhlKSB8fCArK247DQogICAgICAgICAgICByZXR1cm4gbg0KICAgICAgICB9LA0KICAgICAgICBjYW1lbENhc2U6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHJldHVybiB0LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvKFtfLV1bYS16XSkvZywgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0LnRvVXBwZXJDYXNlKCkucmVwbGFjZSgvW18tXS8sICIiKQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgcGFzY2FsQ2FzZTogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgcmV0dXJuICh0ID0gdGhpcy5jYW1lbENhc2UodCkpLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdC5zbGljZSgxKQ0KICAgICAgICB9LA0KICAgICAgICBkYXNoQ2FzZTogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgcmV0dXJuIHQucmVwbGFjZSgvKFtBLVpdKS9nLCAiLSQxIikucmVwbGFjZSgvXi0vLCAiIikudG9Mb3dlckNhc2UoKQ0KICAgICAgICB9LA0KICAgICAgICBpc0VsZW1lbnQ6IGZ1bmN0aW9uKGUsIG4pIHsNCiAgICAgICAgICAgIHJldHVybiBuID0gbiB8fCB0LmRvY3VtZW50LCAhISh0LkhUTUxFbGVtZW50ICYmIGUgaW5zdGFuY2VvZiB0LkhUTUxFbGVtZW50KSB8fCAoISEobi5kZWZhdWx0VmlldyAmJiBuLmRlZmF1bHRWaWV3LkhUTUxFbGVtZW50ICYmIGUgaW5zdGFuY2VvZiBuLmRlZmF1bHRWaWV3LkhUTUxFbGVtZW50KSB8fCBudWxsICE9PSBlICYmIDEgPT09IGUubm9kZVR5cGUgJiYgInN0cmluZyIgPT0gdHlwZW9mIGUubm9kZU5hbWUpDQogICAgICAgIH0sDQogICAgICAgIGNyZWF0ZUVsZW1lbnQ6IGZ1bmN0aW9uKGUsIG4pIHsNCiAgICAgICAgICAgIHZhciBhID0gbnVsbCwNCiAgICAgICAgICAgICAgICBpID0gbnVsbDsNCiAgICAgICAgICAgIGZvciAobiA9IG4gfHwgdC5kb2N1bWVudCwgYSA9IG4uY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLCBpID0gbi5jcmVhdGVFbGVtZW50KCJkaXYiKSwgaS5pbm5lckhUTUwgPSBlLnRyaW0oKTsgaS5maXJzdENoaWxkOykgYS5hcHBlbmRDaGlsZChpLmZpcnN0Q2hpbGQpOw0KICAgICAgICAgICAgcmV0dXJuIGENCiAgICAgICAgfSwNCiAgICAgICAgcmVtb3ZlV2hpdGVzcGFjZTogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgZm9yICh2YXIgZTsgdCAmJiAiI3RleHQiID09PSB0Lm5vZGVOYW1lOykgZSA9IHQsIHQgPSB0LnByZXZpb3VzU2libGluZywgZS5wYXJlbnRFbGVtZW50ICYmIGUucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChlKQ0KICAgICAgICB9LA0KICAgICAgICBpc0VxdWFsQXJyYXk6IGZ1bmN0aW9uKHQsIGUpIHsNCiAgICAgICAgICAgIHZhciBuID0gdC5sZW5ndGg7DQogICAgICAgICAgICBpZiAobiAhPT0gZS5sZW5ndGgpIHJldHVybiAhMTsNCiAgICAgICAgICAgIGZvciAoOyBuLS07KQ0KICAgICAgICAgICAgICAgIGlmICh0W25dICE9PSBlW25dKSByZXR1cm4gITE7DQogICAgICAgICAgICByZXR1cm4gITANCiAgICAgICAgfSwNCiAgICAgICAgZGVlcEVxdWFsczogZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgdmFyIG47DQogICAgICAgICAgICBpZiAoIm9iamVjdCIgPT0gdHlwZW9mIHQgJiYgdCAmJiAib2JqZWN0IiA9PSB0eXBlb2YgZSAmJiBlKSB7DQogICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHQpLmxlbmd0aCAhPT0gT2JqZWN0LmtleXMoZSkubGVuZ3RoKSByZXR1cm4gITE7DQogICAgICAgICAgICAgICAgZm9yIChuIGluIHQpDQogICAgICAgICAgICAgICAgICAgIGlmICghZS5oYXNPd25Qcm9wZXJ0eShuKSB8fCAhdGhpcy5kZWVwRXF1YWxzKHRbbl0sIGVbbl0pKSByZXR1cm4gITENCiAgICAgICAgICAgIH0gZWxzZSBpZiAodCAhPT0gZSkgcmV0dXJuICExOw0KICAgICAgICAgICAgcmV0dXJuICEwDQogICAgICAgIH0sDQogICAgICAgIGFycmF5U2h1ZmZsZTogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgZm9yICh2YXIgZSA9IHQuc2xpY2UoKSwgbiA9IGUubGVuZ3RoLCBhID0gbiwgaSA9IC0xLCBvID0gW107IGEtLTspIGkgPSB+fihNYXRoLnJhbmRvbSgpICogbiksIG8gPSBlW2FdLCBlW2FdID0gZVtpXSwgZVtpXSA9IG87DQogICAgICAgICAgICByZXR1cm4gZQ0KICAgICAgICB9LA0KICAgICAgICBhcnJheUZyb21MaXN0OiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSwgbjsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpDQogICAgICAgICAgICB9IGNhdGNoIChhKSB7DQogICAgICAgICAgICAgICAgZm9yIChlID0gW10sIG4gPSAwOyBuIDwgdC5sZW5ndGg7IG4rKykgZS5wdXNoKHRbbl0pOw0KICAgICAgICAgICAgICAgIHJldHVybiBlDQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIGRlYm91bmNlOiBmdW5jdGlvbih0LCBlLCBuKSB7DQogICAgICAgICAgICB2YXIgYTsNCiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgaSA9IHRoaXMsDQogICAgICAgICAgICAgICAgICAgIG8gPSBhcmd1bWVudHMsDQogICAgICAgICAgICAgICAgICAgIHIgPSBuICYmICFhLA0KICAgICAgICAgICAgICAgICAgICBzID0gbnVsbDsNCiAgICAgICAgICAgICAgICBzID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIGEgPSBudWxsLCBuIHx8IHQuYXBwbHkoaSwgbykNCiAgICAgICAgICAgICAgICB9LCBjbGVhclRpbWVvdXQoYSksIGEgPSBzZXRUaW1lb3V0KHMsIGUpLCByICYmIHQuYXBwbHkoaSwgbykNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgcG9zaXRpb246IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIGZvciAodmFyIGUgPSAwLCBuID0gMCwgYSA9IHQ7IHQ7KSBlIC09IHQuc2Nyb2xsTGVmdCwgbiAtPSB0LnNjcm9sbFRvcCwgdCA9PT0gYSAmJiAoZSArPSB0Lm9mZnNldExlZnQsIG4gKz0gdC5vZmZzZXRUb3AsIGEgPSB0Lm9mZnNldFBhcmVudCksIHQgPSB0LnBhcmVudEVsZW1lbnQ7DQogICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgIHg6IGUsDQogICAgICAgICAgICAgICAgeTogbg0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBnZXRIeXBvdGVudXNlOiBmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICB2YXIgbiA9IHQueCAtIGUueCwNCiAgICAgICAgICAgICAgICBhID0gdC55IC0gZS55Ow0KICAgICAgICAgICAgcmV0dXJuIG4gPSBuIDwgMCA/IG4gKiAtMSA6IG4sIGEgPSBhIDwgMCA/IGEgKiAtMSA6IGEsIE1hdGguc3FydChNYXRoLnBvdyhuLCAyKSArIE1hdGgucG93KGEsIDIpKQ0KICAgICAgICB9LA0KICAgICAgICBnZXRJbnRlcnNlY3Rpb25SYXRpbzogZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgdmFyIG4gPSB0LndpZHRoICogdC5oZWlnaHQsDQogICAgICAgICAgICAgICAgYSA9IC0xLA0KICAgICAgICAgICAgICAgIGkgPSAtMSwNCiAgICAgICAgICAgICAgICBvID0gLTEsDQogICAgICAgICAgICAgICAgciA9IC0xOw0KICAgICAgICAgICAgcmV0dXJuIGEgPSBNYXRoLm1heCgwLCBNYXRoLm1pbih0LmxlZnQgKyB0LndpZHRoLCBlLmxlZnQgKyBlLndpZHRoKSAtIE1hdGgubWF4KHQubGVmdCwgZS5sZWZ0KSksIGkgPSBNYXRoLm1heCgwLCBNYXRoLm1pbih0LnRvcCArIHQuaGVpZ2h0LCBlLnRvcCArIGUuaGVpZ2h0KSAtIE1hdGgubWF4KHQudG9wLCBlLnRvcCkpLCBvID0gaSAqIGEsIHIgPSBvIC8gbg0KICAgICAgICB9LA0KICAgICAgICBjbG9zZXN0UGFyZW50OiBmdW5jdGlvbihlLCBuLCBhLCBpKSB7DQogICAgICAgICAgICB2YXIgbyA9IGUucGFyZW50Tm9kZTsNCiAgICAgICAgICAgIGlmIChpID0gaSB8fCB0LmRvY3VtZW50LCBhICYmIGUubWF0Y2hlcyhuKSkgcmV0dXJuIGU7DQogICAgICAgICAgICBmb3IgKDsgbyAmJiBvICE9IGkuYm9keTspIHsNCiAgICAgICAgICAgICAgICBpZiAoby5tYXRjaGVzICYmIG8ubWF0Y2hlcyhuKSkgcmV0dXJuIG87DQogICAgICAgICAgICAgICAgaWYgKCFvLnBhcmVudE5vZGUpIHJldHVybiBudWxsOw0KICAgICAgICAgICAgICAgIG8gPSBvLnBhcmVudE5vZGUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBudWxsDQogICAgICAgIH0sDQogICAgICAgIGNoaWxkcmVuOiBmdW5jdGlvbihlLCBuLCBhKSB7DQogICAgICAgICAgICB2YXIgaSA9IFtdLA0KICAgICAgICAgICAgICAgIG8gPSAiIjsNCiAgICAgICAgICAgIHJldHVybiBhID0gYSB8fCB0LmRvYywgZSAmJiAoZS5pZCB8fCAobyA9ICJUZW1wIiArIHRoaXMucmFuZG9tSGV4S2V5KCksIGUuaWQgPSBvKSwgaSA9IGEucXVlcnlTZWxlY3RvckFsbCgiIyIgKyBlLmlkICsgIiA+ICIgKyBuKSwgbyAmJiBlLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKSksIGkNCiAgICAgICAgfSwNCiAgICAgICAgY2xlYW46IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBlID0gW10sDQogICAgICAgICAgICAgICAgbiA9IC0xOw0KICAgICAgICAgICAgZm9yIChuID0gMDsgbiA8IHQubGVuZ3RoOyBuKyspICIiICE9PSB0W25dICYmIGUucHVzaCh0W25dKTsNCiAgICAgICAgICAgIHJldHVybiBlDQogICAgICAgIH0sDQogICAgICAgIGRlZmVyOiBmdW5jdGlvbihuKSB7DQogICAgICAgICAgICB2YXIgYSA9IG51bGwsDQogICAgICAgICAgICAgICAgaSA9IG51bGwsDQogICAgICAgICAgICAgICAgbyA9IG51bGw7DQogICAgICAgICAgICByZXR1cm4gaSA9IG5ldyB0aGlzLkRlZmVycmVkLCBlLmZlYXR1cmVzLmhhcy5wcm9taXNlcyA/IGkucHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQsIGUpIHsNCiAgICAgICAgICAgICAgICBpLnJlc29sdmUgPSB0LCBpLnJlamVjdCA9IGUNCiAgICAgICAgICAgIH0pIDogKG8gPSB0LmpRdWVyeSB8fCBuLiQpICYmICJmdW5jdGlvbiIgPT0gdHlwZW9mIG8uRGVmZXJyZWQgPyAoYSA9IG8uRGVmZXJyZWQoKSwgaS5wcm9taXNlID0gYS5wcm9taXNlKCksIGkucmVzb2x2ZSA9IGEucmVzb2x2ZSwgaS5yZWplY3QgPSBhLnJlamVjdCkgOiB0LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKGUubWVzc2FnZXMud2FybmluZ05vUHJvbWlzZUltcGxlbWVudGF0aW9uKCkpLCBpDQogICAgICAgIH0sDQogICAgICAgIGFsbDogZnVuY3Rpb24obiwgYSkgew0KICAgICAgICAgICAgdmFyIGkgPSBudWxsOw0KICAgICAgICAgICAgcmV0dXJuIGUuZmVhdHVyZXMuaGFzLnByb21pc2VzID8gUHJvbWlzZS5hbGwobikgOiAoaSA9IHQualF1ZXJ5IHx8IGEuJCkgJiYgImZ1bmN0aW9uIiA9PSB0eXBlb2YgaS53aGVuID8gaS53aGVuLmFwcGx5KGksIG4pLmRvbmUoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50cw0KICAgICAgICAgICAgfSkgOiAodC5jb25zb2xlICYmIGNvbnNvbGUud2FybihlLm1lc3NhZ2VzLndhcm5pbmdOb1Byb21pc2VJbXBsZW1lbnRhdGlvbigpKSwgW10pDQogICAgICAgIH0sDQogICAgICAgIGdldFByZWZpeDogZnVuY3Rpb24odCwgZSwgYSkgew0KICAgICAgICAgICAgdmFyIGkgPSAtMSwNCiAgICAgICAgICAgICAgICBvID0gIiI7DQogICAgICAgICAgICBpZiAobi5kYXNoQ2FzZShlKSBpbiB0LnN0eWxlKSByZXR1cm4gIiI7DQogICAgICAgICAgICBmb3IgKGkgPSAwOyBvID0gYVtpXTsgaSsrKQ0KICAgICAgICAgICAgICAgIGlmIChvICsgZSBpbiB0LnN0eWxlKSByZXR1cm4gby50b0xvd2VyQ2FzZSgpOw0KICAgICAgICAgICAgcmV0dXJuICJ1bnN1cHBvcnRlZCINCiAgICAgICAgfSwNCiAgICAgICAgcmFuZG9tSGV4OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiAoIjAwMDAwIiArICgxNjc3NzIxNiAqIE1hdGgucmFuZG9tKCkgPDwgMCkudG9TdHJpbmcoMTYpKS5zdWJzdHIoLTYpLnRvVXBwZXJDYXNlKCkNCiAgICAgICAgfSwNCiAgICAgICAgZ2V0RG9jdW1lbnRTdGF0ZTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgPSAib2JqZWN0IiA9PSB0eXBlb2YgZS5ib2R5ID8gZSA6IHQuZG9jdW1lbnQsIHsNCiAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IHQucGFnZVlPZmZzZXQsDQogICAgICAgICAgICAgICAgc2Nyb2xsTGVmdDogdC5wYWdlWE9mZnNldCwNCiAgICAgICAgICAgICAgICBkb2NIZWlnaHQ6IGUuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCwNCiAgICAgICAgICAgICAgICBkb2NXaWR0aDogZS5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsV2lkdGgsDQogICAgICAgICAgICAgICAgdmlld3BvcnRIZWlnaHQ6IGUuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCwNCiAgICAgICAgICAgICAgICB2aWV3cG9ydFdpZHRoOiBlLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aA0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBiaW5kOiBmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUuYXBwbHkodCwgYXJndW1lbnRzKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBpc1Zpc2libGU6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHZhciBuID0gbnVsbDsNCiAgICAgICAgICAgIHJldHVybiAhIWUub2Zmc2V0UGFyZW50IHx8IChuID0gdC5nZXRDb21wdXRlZFN0eWxlKGUpLCAiZml4ZWQiID09PSBuLnBvc2l0aW9uICYmICJoaWRkZW4iICE9PSBuLnZpc2liaWxpdHkgJiYgIjAiICE9PSBuLm9wYWNpdHkpDQogICAgICAgIH0sDQogICAgICAgIHNlYWw6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICJmdW5jdGlvbiIgPT0gdHlwZW9mIE9iamVjdC5zZWFsICYmIE9iamVjdC5zZWFsKHQpDQogICAgICAgIH0sDQogICAgICAgIGZyZWV6ZTogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgImZ1bmN0aW9uIiA9PSB0eXBlb2YgT2JqZWN0LmZyZWV6ZSAmJiBPYmplY3QuZnJlZXplKHQpDQogICAgICAgIH0sDQogICAgICAgIGNvbXBhcmVWZXJzaW9uczogZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgdmFyIG4gPSB0LnNwbGl0KCIuIiksDQogICAgICAgICAgICAgICAgYSA9IGUuc3BsaXQoIi4iKSwNCiAgICAgICAgICAgICAgICBpID0gLTEsDQogICAgICAgICAgICAgICAgbyA9IC0xLA0KICAgICAgICAgICAgICAgIHIgPSAtMTsNCiAgICAgICAgICAgIGZvciAociA9IDA7IHIgPCBuLmxlbmd0aDsgcisrKSB7DQogICAgICAgICAgICAgICAgaWYgKGkgPSBwYXJzZUludChuW3JdLnJlcGxhY2UoL1teXGQuXS9nLCAiIikpLCBvID0gcGFyc2VJbnQoYVtyXS5yZXBsYWNlKC9bXlxkLl0vZywgIiIpIHx8IDApLCBvIDwgaSkgcmV0dXJuICExOw0KICAgICAgICAgICAgICAgIGlmIChvID4gaSkgcmV0dXJuICEwDQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gITANCiAgICAgICAgfSwNCiAgICAgICAgRGVmZXJyZWQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdGhpcy5wcm9taXNlID0gbnVsbCwgdGhpcy5yZXNvbHZlID0gbnVsbCwgdGhpcy5yZWplY3QgPSBudWxsLCB0aGlzLmlkID0gbi5yYW5kb21IZXgoKQ0KICAgICAgICB9LA0KICAgICAgICBpc0VtcHR5T2JqZWN0OiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSA9ICIiOw0KICAgICAgICAgICAgaWYgKCJmdW5jdGlvbiIgPT0gdHlwZW9mIE9iamVjdC5rZXlzKSByZXR1cm4gMCA9PT0gT2JqZWN0LmtleXModCkubGVuZ3RoOw0KICAgICAgICAgICAgZm9yIChlIGluIHQpDQogICAgICAgICAgICAgICAgaWYgKHQuaGFzT3duUHJvcGVydHkoZSkpIHJldHVybiAhMTsNCiAgICAgICAgICAgIHJldHVybiAhMA0KICAgICAgICB9LA0KICAgICAgICBnZXRDbGFzc25hbWU6IGZ1bmN0aW9uKHQsIGUsIG4pIHsNCiAgICAgICAgICAgIHZhciBhID0gIiI7DQogICAgICAgICAgICByZXR1cm4gYSArPSB0LmJsb2NrLCBhLmxlbmd0aCAmJiAoYSArPSB0LmRlbGluZWF0b3JFbGVtZW50KSwgYSArPSB0WyJlbGVtZW50IiArIHRoaXMucGFzY2FsQ2FzZShlKV0sIG4gPyAoYS5sZW5ndGggJiYgKGEgKz0gdC5kZWxpbmVhdG9yTW9kaWZpZXIpLCBhICs9IG4pIDogYQ0KICAgICAgICB9LA0KICAgICAgICBnZXRQcm9wZXJ0eTogZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgdmFyIG4gPSBlLnNwbGl0KCIuIiksDQogICAgICAgICAgICAgICAgYSA9IG51bGwsDQogICAgICAgICAgICAgICAgaSA9ICIiLA0KICAgICAgICAgICAgICAgIG8gPSAwOw0KICAgICAgICAgICAgaWYgKCFlKSByZXR1cm4gdDsNCiAgICAgICAgICAgIGZvciAoYSA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQgPyB0W2ldIDogbnVsbA0KICAgICAgICAgICAgICAgIH07IG8gPCBuLmxlbmd0aDspIGkgPSBuW29dLCB0ID0gYSh0KSwgbysrOw0KICAgICAgICAgICAgcmV0dXJuICJ1bmRlZmluZWQiICE9IHR5cGVvZiB0ID8gdCA6IG51bGwNCiAgICAgICAgfQ0KICAgIH0sIGUuaCA9IG4sIGUuQmFzZSA9IGZ1bmN0aW9uKCkge30sIGUuQmFzZS5wcm90b3R5cGUgPSB7DQogICAgICAgIGNvbnN0cnVjdG9yOiBlLkJhc2UsDQogICAgICAgIGNhbGxBY3Rpb25zOiBmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IGEuY29uc3RydWN0b3IuYWN0aW9uc1t0XSwNCiAgICAgICAgICAgICAgICBvID0gIiI7DQogICAgICAgICAgICBpZiAoaSAmJiAhbi5pc0VtcHR5T2JqZWN0KGkpKQ0KICAgICAgICAgICAgICAgIGZvciAobyBpbiBpKSBpW29dLmFwcGx5KGEsIGUpDQogICAgICAgIH0sDQogICAgICAgIGNhbGxGaWx0ZXJzOiBmdW5jdGlvbih0LCBlLCBhKSB7DQogICAgICAgICAgICB2YXIgaSA9IHRoaXMsDQogICAgICAgICAgICAgICAgbyA9IGkuY29uc3RydWN0b3IuZmlsdGVyc1t0XSwNCiAgICAgICAgICAgICAgICByID0gZSwNCiAgICAgICAgICAgICAgICBzID0gIiI7DQogICAgICAgICAgICBpZiAoIW8gfHwgbi5pc0VtcHR5T2JqZWN0KG8pKSByZXR1cm4gcjsNCiAgICAgICAgICAgIGEgPSBhIHx8IFtdOw0KICAgICAgICAgICAgZm9yIChzIGluIG8pIGEgPSBuLmFycmF5RnJvbUxpc3QoYSksIGEudW5zaGlmdChyKSwgciA9IG9bc10uYXBwbHkoaSwgYSk7DQogICAgICAgICAgICByZXR1cm4gcg0KICAgICAgICB9DQogICAgfSwgZS5CYXNlU3RhdGljID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHRoaXMuYWN0aW9ucyA9IHt9LCB0aGlzLmZpbHRlcnMgPSB7fSwgdGhpcy5leHRlbmQgPSBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICBuLmV4dGVuZCh0aGlzLnByb3RvdHlwZSwgdCkNCiAgICAgICAgfSwgdGhpcy5yZWdpc3RlckFjdGlvbiA9IGZ1bmN0aW9uKHQsIGUsIG4pIHsNCiAgICAgICAgICAgICh0aGlzLmFjdGlvbnNbdF0gPSB0aGlzLmFjdGlvbnNbdF0gfHwge30pW2VdID0gbg0KICAgICAgICB9LCB0aGlzLnJlZ2lzdGVyRmlsdGVyID0gZnVuY3Rpb24odCwgZSwgbikgew0KICAgICAgICAgICAgKHRoaXMuZmlsdGVyc1t0XSA9IHRoaXMuZmlsdGVyc1t0XSB8fCB7fSlbZV0gPSBuDQogICAgICAgIH0NCiAgICB9LCBlLkZlYXR1cmVzID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5ib3hTaXppbmdQcmVmaXggPSAiIiwgdGhpcy50cmFuc2Zvcm1QcmVmaXggPSAiIiwgdGhpcy50cmFuc2l0aW9uUHJlZml4ID0gIiIsIHRoaXMuYm94U2l6aW5nUHJlZml4ID0gIiIsIHRoaXMudHJhbnNmb3JtUHJvcCA9ICIiLCB0aGlzLnRyYW5zZm9ybVJ1bGUgPSAiIiwgdGhpcy50cmFuc2l0aW9uUHJvcCA9ICIiLCB0aGlzLnBlcnNwZWN0aXZlUHJvcCA9ICIiLCB0aGlzLnBlcnNwZWN0aXZlT3JpZ2luUHJvcCA9ICIiLCB0aGlzLmhhcyA9IG5ldyBlLkhhcywgdGhpcy5jYW5hcnkgPSBudWxsLCB0aGlzLkJPWF9TSVpJTkdfUFJPUCA9ICJib3hTaXppbmciLCB0aGlzLlRSQU5TSVRJT05fUFJPUCA9ICJ0cmFuc2l0aW9uIiwgdGhpcy5UUkFOU0ZPUk1fUFJPUCA9ICJ0cmFuc2Zvcm0iLCB0aGlzLlBFUlNQRUNUSVZFX1BST1AgPSAicGVyc3BlY3RpdmUiLCB0aGlzLlBFUlNQRUNUSVZFX09SSUdJTl9QUk9QID0gInBlcnNwZWN0aXZlT3JpZ2luIiwgdGhpcy5WRU5ET1JTID0gWyJXZWJraXQiLCAibW96IiwgIk8iLCAibXMiXSwgdGhpcy5UV0VFTkFCTEUgPSBbIm9wYWNpdHkiLCAid2lkdGgiLCAiaGVpZ2h0IiwgIm1hcmdpblJpZ2h0IiwgIm1hcmdpbkJvdHRvbSIsICJ4IiwgInkiLCAic2NhbGUiLCAidHJhbnNsYXRlWCIsICJ0cmFuc2xhdGVZIiwgInRyYW5zbGF0ZVoiLCAicm90YXRlWCIsICJyb3RhdGVZIiwgInJvdGF0ZVoiXSwgdGhpcy5jYWxsQWN0aW9ucygiYWZ0ZXJDb25zdHJ1Y3QiKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuRmVhdHVyZXMpLCBlLkZlYXR1cmVzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIG4uZXh0ZW5kKGUuRmVhdHVyZXMucHJvdG90eXBlLCB7DQogICAgICAgIGNvbnN0cnVjdG9yOiBlLkZlYXR1cmVzLA0KICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpczsNCiAgICAgICAgICAgIHQuY2FsbEFjdGlvbnMoImJlZm9yZUluaXQiLCBhcmd1bWVudHMpLCB0LmNhbmFyeSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCB0LnNldFByZWZpeGVzKCksIHQucnVuVGVzdHMoKSwgdC5jYWxsQWN0aW9ucygiYmVmb3JlSW5pdCIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgcnVuVGVzdHM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzOw0KICAgICAgICAgICAgZS5jYWxsQWN0aW9ucygiYmVmb3JlUnVuVGVzdHMiLCBhcmd1bWVudHMpLCBlLmhhcy5wcm9taXNlcyA9ICJmdW5jdGlvbiIgPT0gdHlwZW9mIHQuUHJvbWlzZSwgZS5oYXMudHJhbnNpdGlvbnMgPSAidW5zdXBwb3J0ZWQiICE9PSBlLnRyYW5zaXRpb25QcmVmaXgsIGUuY2FsbEFjdGlvbnMoImFmdGVyUnVuVGVzdHMiLCBhcmd1bWVudHMpLCBuLmZyZWV6ZShlLmhhcykNCiAgICAgICAgfSwNCiAgICAgICAgc2V0UHJlZml4ZXM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzOw0KICAgICAgICAgICAgdC5jYWxsQWN0aW9ucygiYmVmb3JlU2V0UHJlZml4ZXMiLCBhcmd1bWVudHMpLCB0LnRyYW5zaXRpb25QcmVmaXggPSBuLmdldFByZWZpeCh0LmNhbmFyeSwgIlRyYW5zaXRpb24iLCB0LlZFTkRPUlMpLCB0LnRyYW5zZm9ybVByZWZpeCA9IG4uZ2V0UHJlZml4KHQuY2FuYXJ5LCAiVHJhbnNmb3JtIiwgdC5WRU5ET1JTKSwgdC5ib3hTaXppbmdQcmVmaXggPSBuLmdldFByZWZpeCh0LmNhbmFyeSwgIkJveFNpemluZyIsIHQuVkVORE9SUyksIHQuYm94U2l6aW5nUHJvcCA9IHQuYm94U2l6aW5nUHJlZml4ID8gdC5ib3hTaXppbmdQcmVmaXggKyBuLnBhc2NhbENhc2UodC5CT1hfU0laSU5HX1BST1ApIDogdC5CT1hfU0laSU5HX1BST1AsIHQudHJhbnNpdGlvblByb3AgPSB0LnRyYW5zaXRpb25QcmVmaXggPyB0LnRyYW5zaXRpb25QcmVmaXggKyBuLnBhc2NhbENhc2UodC5UUkFOU0lUSU9OX1BST1ApIDogdC5UUkFOU0lUSU9OX1BST1AsIHQudHJhbnNmb3JtUHJvcCA9IHQudHJhbnNmb3JtUHJlZml4ID8gdC50cmFuc2Zvcm1QcmVmaXggKyBuLnBhc2NhbENhc2UodC5UUkFOU0ZPUk1fUFJPUCkgOiB0LlRSQU5TRk9STV9QUk9QLCB0LnRyYW5zZm9ybVJ1bGUgPSB0LnRyYW5zZm9ybVByZWZpeCA/ICItIiArIHQudHJhbnNmb3JtUHJlZml4ICsgIi0iICsgdC5UUkFOU0ZPUk1fUFJPUCA6IHQuVFJBTlNGT1JNX1BST1AsIHQucGVyc3BlY3RpdmVQcm9wID0gdC50cmFuc2Zvcm1QcmVmaXggPyB0LnRyYW5zZm9ybVByZWZpeCArIG4ucGFzY2FsQ2FzZSh0LlBFUlNQRUNUSVZFX1BST1ApIDogdC5QRVJTUEVDVElWRV9QUk9QLCB0LnBlcnNwZWN0aXZlT3JpZ2luUHJvcCA9IHQudHJhbnNmb3JtUHJlZml4ID8gdC50cmFuc2Zvcm1QcmVmaXggKyBuLnBhc2NhbENhc2UodC5QRVJTUEVDVElWRV9PUklHSU5fUFJPUCkgOiB0LlBFUlNQRUNUSVZFX09SSUdJTl9QUk9QLCB0LmNhbGxBY3Rpb25zKCJhZnRlclNldFByZWZpeGVzIiwgYXJndW1lbnRzKQ0KICAgICAgICB9DQogICAgfSksIGUuSGFzID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHRoaXMudHJhbnNpdGlvbnMgPSAhMSwgdGhpcy5wcm9taXNlcyA9ICExLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLmZlYXR1cmVzID0gbmV3IGUuRmVhdHVyZXMsIGUuZmVhdHVyZXMuaW5pdCgpLCBlLkNvbmZpZ0FuaW1hdGlvbiA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMuZW5hYmxlID0gITAsIHRoaXMuZWZmZWN0cyA9ICJmYWRlIHNjYWxlIiwgdGhpcy5lZmZlY3RzSW4gPSAiIiwgdGhpcy5lZmZlY3RzT3V0ID0gIiIsIHRoaXMuZHVyYXRpb24gPSA2MDAsIHRoaXMuZWFzaW5nID0gImVhc2UiLCB0aGlzLmFwcGx5UGVyc3BlY3RpdmUgPSAhMCwgdGhpcy5wZXJzcGVjdGl2ZURpc3RhbmNlID0gIjMwMDBweCIsIHRoaXMucGVyc3BlY3RpdmVPcmlnaW4gPSAiNTAlIDUwJSIsIHRoaXMucXVldWUgPSAhMCwgdGhpcy5xdWV1ZUxpbWl0ID0gMywgdGhpcy5hbmltYXRlUmVzaXplQ29udGFpbmVyID0gITAsIHRoaXMuYW5pbWF0ZVJlc2l6ZVRhcmdldHMgPSAhMSwgdGhpcy5zdGFnZ2VyU2VxdWVuY2UgPSBudWxsLCB0aGlzLnJldmVyc2VPdXQgPSAhMSwgdGhpcy5udWRnZSA9ICEwLCB0aGlzLmNsYW1wSGVpZ2h0ID0gITAsIHRoaXMuY2xhbXBXaWR0aCA9ICEwLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkNvbmZpZ0FuaW1hdGlvbiksIGUuQ29uZmlnQW5pbWF0aW9uLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuQ29uZmlnQW5pbWF0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuQ29uZmlnQW5pbWF0aW9uLCBlLkNvbmZpZ0JlaGF2aW9yID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5saXZlU29ydCA9ICExLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkNvbmZpZ0JlaGF2aW9yKSwgZS5Db25maWdCZWhhdmlvci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBlLkNvbmZpZ0JlaGF2aW9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuQ29uZmlnQmVoYXZpb3IsIGUuQ29uZmlnQ2FsbGJhY2tzID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5vbk1peFN0YXJ0ID0gbnVsbCwgdGhpcy5vbk1peEJ1c3kgPSBudWxsLCB0aGlzLm9uTWl4RW5kID0gbnVsbCwgdGhpcy5vbk1peEZhaWwgPSBudWxsLCB0aGlzLm9uTWl4Q2xpY2sgPSBudWxsLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkNvbmZpZ0NhbGxiYWNrcyksIGUuQ29uZmlnQ2FsbGJhY2tzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuQ29uZmlnQ2FsbGJhY2tzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuQ29uZmlnQ2FsbGJhY2tzLCBlLkNvbmZpZ0NvbnRyb2xzID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5lbmFibGUgPSAhMCwgdGhpcy5saXZlID0gITEsIHRoaXMuc2NvcGUgPSAiZ2xvYmFsIiwgdGhpcy50b2dnbGVMb2dpYyA9ICJvciIsIHRoaXMudG9nZ2xlRGVmYXVsdCA9ICJhbGwiLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkNvbmZpZ0NvbnRyb2xzKSwgZS5Db25maWdDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBlLkNvbmZpZ0NvbnRyb2xzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuQ29uZmlnQ29udHJvbHMsIGUuQ29uZmlnQ2xhc3NOYW1lcyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMuYmxvY2sgPSAibWl4aXR1cCIsIHRoaXMuZWxlbWVudENvbnRhaW5lciA9ICJjb250YWluZXIiLCB0aGlzLmVsZW1lbnRGaWx0ZXIgPSAiY29udHJvbCIsIHRoaXMuZWxlbWVudFNvcnQgPSAiY29udHJvbCIsIHRoaXMuZWxlbWVudE11bHRpbWl4ID0gImNvbnRyb2wiLCB0aGlzLmVsZW1lbnRUb2dnbGUgPSAiY29udHJvbCIsIHRoaXMubW9kaWZpZXJBY3RpdmUgPSAiYWN0aXZlIiwgdGhpcy5tb2RpZmllckRpc2FibGVkID0gImRpc2FibGVkIiwgdGhpcy5tb2RpZmllckZhaWxlZCA9ICJmYWlsZWQiLCB0aGlzLmRlbGluZWF0b3JFbGVtZW50ID0gIi0iLCB0aGlzLmRlbGluZWF0b3JNb2RpZmllciA9ICItIiwgdGhpcy5jYWxsQWN0aW9ucygiYWZ0ZXJDb25zdHJ1Y3QiKSwgbi5zZWFsKHRoaXMpDQogICAgfSwgZS5CYXNlU3RhdGljLmNhbGwoZS5Db25maWdDbGFzc05hbWVzKSwgZS5Db25maWdDbGFzc05hbWVzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuQ29uZmlnQ2xhc3NOYW1lcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBlLkNvbmZpZ0NsYXNzTmFtZXMsIGUuQ29uZmlnRGF0YSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMudWlkS2V5ID0gIiIsIHRoaXMuZGlydHlDaGVjayA9ICExLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkNvbmZpZ0RhdGEpLCBlLkNvbmZpZ0RhdGEucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5Db25maWdEYXRhLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuQ29uZmlnRGF0YSwgZS5Db25maWdEZWJ1ZyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMuZW5hYmxlID0gITEsIHRoaXMuc2hvd1dhcm5pbmdzID0gITAsIHRoaXMuZmF1eEFzeW5jID0gITEsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuQ29uZmlnRGVidWcpLCBlLkNvbmZpZ0RlYnVnLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuQ29uZmlnRGVidWcucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5Db25maWdEZWJ1ZywgZS5Db25maWdMYXlvdXQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLmFsbG93TmVzdGVkVGFyZ2V0cyA9ICEwLCB0aGlzLmNvbnRhaW5lckNsYXNzTmFtZSA9ICIiLCB0aGlzLnNpYmxpbmdCZWZvcmUgPSBudWxsLCB0aGlzLnNpYmxpbmdBZnRlciA9IG51bGwsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuQ29uZmlnTGF5b3V0KSwgZS5Db25maWdMYXlvdXQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5Db25maWdMYXlvdXQucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5Db25maWdMYXlvdXQsIGUuQ29uZmlnTG9hZCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMuZmlsdGVyID0gImFsbCIsIHRoaXMuc29ydCA9ICJkZWZhdWx0OmFzYyIsIHRoaXMuZGF0YXNldCA9IG51bGwsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuQ29uZmlnTG9hZCksIGUuQ29uZmlnTG9hZC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBlLkNvbmZpZ0xvYWQucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5Db25maWdMb2FkLCBlLkNvbmZpZ1NlbGVjdG9ycyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMudGFyZ2V0ID0gIi5taXgiLCB0aGlzLmNvbnRyb2wgPSAiIiwgdGhpcy5jYWxsQWN0aW9ucygiYWZ0ZXJDb25zdHJ1Y3QiKSwgbi5zZWFsKHRoaXMpDQogICAgfSwgZS5CYXNlU3RhdGljLmNhbGwoZS5Db25maWdTZWxlY3RvcnMpLCBlLkNvbmZpZ1NlbGVjdG9ycy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBlLkNvbmZpZ1NlbGVjdG9ycy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBlLkNvbmZpZ1NlbGVjdG9ycywgZS5Db25maWdSZW5kZXIgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLnRhcmdldCA9IG51bGwsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuQ29uZmlnUmVuZGVyKSwgZS5Db25maWdSZW5kZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5Db25maWdSZW5kZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5Db25maWdSZW5kZXIsIGUuQ29uZmlnVGVtcGxhdGVzID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5jYWxsQWN0aW9ucygiYWZ0ZXJDb25zdHJ1Y3QiKSwgbi5zZWFsKHRoaXMpDQogICAgfSwgZS5CYXNlU3RhdGljLmNhbGwoZS5Db25maWdUZW1wbGF0ZXMpLCBlLkNvbmZpZ1RlbXBsYXRlcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBlLkNvbmZpZ1RlbXBsYXRlcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBlLkNvbmZpZ1RlbXBsYXRlcywgZS5Db25maWcgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLmFuaW1hdGlvbiA9IG5ldyBlLkNvbmZpZ0FuaW1hdGlvbiwgdGhpcy5iZWhhdmlvciA9IG5ldyBlLkNvbmZpZ0JlaGF2aW9yLCB0aGlzLmNhbGxiYWNrcyA9IG5ldyBlLkNvbmZpZ0NhbGxiYWNrcywgdGhpcy5jb250cm9scyA9IG5ldyBlLkNvbmZpZ0NvbnRyb2xzLCB0aGlzLmNsYXNzTmFtZXMgPSBuZXcgZS5Db25maWdDbGFzc05hbWVzLCB0aGlzLmRhdGEgPSBuZXcgZS5Db25maWdEYXRhLCB0aGlzLmRlYnVnID0gbmV3IGUuQ29uZmlnRGVidWcsIHRoaXMubGF5b3V0ID0gbmV3IGUuQ29uZmlnTGF5b3V0LCB0aGlzLmxvYWQgPSBuZXcgZS5Db25maWdMb2FkLCB0aGlzLnNlbGVjdG9ycyA9IG5ldyBlLkNvbmZpZ1NlbGVjdG9ycywgdGhpcy5yZW5kZXIgPSBuZXcgZS5Db25maWdSZW5kZXIsIHRoaXMudGVtcGxhdGVzID0gbmV3IGUuQ29uZmlnVGVtcGxhdGVzLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkNvbmZpZyksIGUuQ29uZmlnLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuQ29uZmlnLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuQ29uZmlnLCBlLk1peGVyRG9tID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5kb2N1bWVudCA9IG51bGwsIHRoaXMuYm9keSA9IG51bGwsIHRoaXMuY29udGFpbmVyID0gbnVsbCwgdGhpcy5wYXJlbnQgPSBudWxsLCB0aGlzLnRhcmdldHMgPSBbXSwgdGhpcy5jYWxsQWN0aW9ucygiYWZ0ZXJDb25zdHJ1Y3QiKSwgbi5zZWFsKHRoaXMpDQogICAgfSwgZS5CYXNlU3RhdGljLmNhbGwoZS5NaXhlckRvbSksIGUuTWl4ZXJEb20ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5NaXhlckRvbS5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBlLk1peGVyRG9tLCBlLlVpQ2xhc3NOYW1lcyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMuYmFzZSA9ICIiLCB0aGlzLmFjdGl2ZSA9ICIiLCB0aGlzLmRpc2FibGVkID0gIiIsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuVWlDbGFzc05hbWVzKSwgZS5VaUNsYXNzTmFtZXMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5VaUNsYXNzTmFtZXMucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5VaUNsYXNzTmFtZXMsIGUuQ29tbWFuZERhdGFzZXQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLmRhdGFzZXQgPSBudWxsLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkNvbW1hbmREYXRhc2V0KSwgZS5Db21tYW5kRGF0YXNldC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBlLkNvbW1hbmREYXRhc2V0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuQ29tbWFuZERhdGFzZXQsIGUuQ29tbWFuZE11bHRpbWl4ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5maWx0ZXIgPSBudWxsLCB0aGlzLnNvcnQgPSBudWxsLCB0aGlzLmluc2VydCA9IG51bGwsIHRoaXMucmVtb3ZlID0gbnVsbCwgdGhpcy5jaGFuZ2VMYXlvdXQgPSBudWxsLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkNvbW1hbmRNdWx0aW1peCksIGUuQ29tbWFuZE11bHRpbWl4LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuQ29tbWFuZE11bHRpbWl4LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuQ29tbWFuZE11bHRpbWl4LCBlLkNvbW1hbmRGaWx0ZXIgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLnNlbGVjdG9yID0gIiIsIHRoaXMuY29sbGVjdGlvbiA9IG51bGwsIHRoaXMuYWN0aW9uID0gInNob3ciLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkNvbW1hbmRGaWx0ZXIpLCBlLkNvbW1hbmRGaWx0ZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5Db21tYW5kRmlsdGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuQ29tbWFuZEZpbHRlciwgZS5Db21tYW5kU29ydCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMuc29ydFN0cmluZyA9ICIiLCB0aGlzLmF0dHJpYnV0ZSA9ICIiLCB0aGlzLm9yZGVyID0gImFzYyIsIHRoaXMuY29sbGVjdGlvbiA9IG51bGwsIHRoaXMubmV4dCA9IG51bGwsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuQ29tbWFuZFNvcnQpLCBlLkNvbW1hbmRTb3J0LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuQ29tbWFuZFNvcnQucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5Db21tYW5kU29ydCwgZS5Db21tYW5kSW5zZXJ0ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5pbmRleCA9IDAsIHRoaXMuY29sbGVjdGlvbiA9IFtdLCB0aGlzLnBvc2l0aW9uID0gImJlZm9yZSIsIHRoaXMuc2libGluZyA9IG51bGwsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuQ29tbWFuZEluc2VydCksIGUuQ29tbWFuZEluc2VydC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBlLkNvbW1hbmRJbnNlcnQucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5Db21tYW5kSW5zZXJ0LCBlLkNvbW1hbmRSZW1vdmUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLnRhcmdldHMgPSBbXSwgdGhpcy5jb2xsZWN0aW9uID0gW10sIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuQ29tbWFuZFJlbW92ZSksIGUuQ29tbWFuZFJlbW92ZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBlLkNvbW1hbmRSZW1vdmUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5Db21tYW5kUmVtb3ZlLCBlLkNvbW1hbmRDaGFuZ2VMYXlvdXQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLmNvbnRhaW5lckNsYXNzTmFtZSA9ICIiLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkNvbW1hbmRDaGFuZ2VMYXlvdXQpLCBlLkNvbW1hbmRDaGFuZ2VMYXlvdXQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5Db21tYW5kQ2hhbmdlTGF5b3V0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuQ29tbWFuZENoYW5nZUxheW91dCwgZS5Db250cm9sRGVmaW5pdGlvbiA9IGZ1bmN0aW9uKHQsIGEsIGksIG8pIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLnR5cGUgPSB0LCB0aGlzLnNlbGVjdG9yID0gYSwgdGhpcy5saXZlID0gaSB8fCAhMSwgdGhpcy5wYXJlbnQgPSBvIHx8ICIiLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLmZyZWV6ZSh0aGlzKSwgbi5zZWFsKHRoaXMpDQogICAgfSwgZS5CYXNlU3RhdGljLmNhbGwoZS5Db250cm9sRGVmaW5pdGlvbiksIGUuQ29udHJvbERlZmluaXRpb24ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5Db250cm9sRGVmaW5pdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBlLkNvbnRyb2xEZWZpbml0aW9uLCBlLmNvbnRyb2xEZWZpbml0aW9ucyA9IFtdLCBlLmNvbnRyb2xEZWZpbml0aW9ucy5wdXNoKG5ldyBlLkNvbnRyb2xEZWZpbml0aW9uKCJtdWx0aW1peCIsICJbZGF0YS1maWx0ZXJdW2RhdGEtc29ydF0iKSksIGUuY29udHJvbERlZmluaXRpb25zLnB1c2gobmV3IGUuQ29udHJvbERlZmluaXRpb24oImZpbHRlciIsICJbZGF0YS1maWx0ZXJdIikpLCBlLmNvbnRyb2xEZWZpbml0aW9ucy5wdXNoKG5ldyBlLkNvbnRyb2xEZWZpbml0aW9uKCJzb3J0IiwgIltkYXRhLXNvcnRdIikpLCBlLmNvbnRyb2xEZWZpbml0aW9ucy5wdXNoKG5ldyBlLkNvbnRyb2xEZWZpbml0aW9uKCJ0b2dnbGUiLCAiW2RhdGEtdG9nZ2xlXSIpKSwgZS5Db250cm9sID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5lbCA9IG51bGwsIHRoaXMuc2VsZWN0b3IgPSAiIiwgdGhpcy5ib3VuZCA9IFtdLCB0aGlzLnBlbmRpbmcgPSAtMSwgdGhpcy50eXBlID0gIiIsIHRoaXMuc3RhdHVzID0gImluYWN0aXZlIiwgdGhpcy5maWx0ZXIgPSAiIiwgdGhpcy5zb3J0ID0gIiIsIHRoaXMuY2FuRGlzYWJsZSA9ICExLCB0aGlzLmhhbmRsZXIgPSBudWxsLCB0aGlzLmNsYXNzTmFtZXMgPSBuZXcgZS5VaUNsYXNzTmFtZXMsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuQ29udHJvbCksIGUuQ29udHJvbC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBuLmV4dGVuZChlLkNvbnRyb2wucHJvdG90eXBlLCB7DQogICAgICAgIGNvbnN0cnVjdG9yOiBlLkNvbnRyb2wsDQogICAgICAgIGluaXQ6IGZ1bmN0aW9uKHQsIG4sIGEpIHsNCiAgICAgICAgICAgIHZhciBpID0gdGhpczsNCiAgICAgICAgICAgIGlmICh0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVJbml0IiwgYXJndW1lbnRzKSwgaS5lbCA9IHQsIGkudHlwZSA9IG4sIGkuc2VsZWN0b3IgPSBhLCBpLnNlbGVjdG9yKSBpLnN0YXR1cyA9ICJsaXZlIjsNCiAgICAgICAgICAgIGVsc2Ugc3dpdGNoIChpLmNhbkRpc2FibGUgPSAiYm9vbGVhbiIgPT0gdHlwZW9mIGkuZWwuZGlzYWJsZSwgaS50eXBlKSB7DQogICAgICAgICAgICAgICAgY2FzZSAiZmlsdGVyIjoNCiAgICAgICAgICAgICAgICAgICAgaS5maWx0ZXIgPSBpLmVsLmdldEF0dHJpYnV0ZSgiZGF0YS1maWx0ZXIiKTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAidG9nZ2xlIjoNCiAgICAgICAgICAgICAgICAgICAgaS5maWx0ZXIgPSBpLmVsLmdldEF0dHJpYnV0ZSgiZGF0YS10b2dnbGUiKTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAic29ydCI6DQogICAgICAgICAgICAgICAgICAgIGkuc29ydCA9IGkuZWwuZ2V0QXR0cmlidXRlKCJkYXRhLXNvcnQiKTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAibXVsdGltaXgiOg0KICAgICAgICAgICAgICAgICAgICBpLmZpbHRlciA9IGkuZWwuZ2V0QXR0cmlidXRlKCJkYXRhLWZpbHRlciIpLCBpLnNvcnQgPSBpLmVsLmdldEF0dHJpYnV0ZSgiZGF0YS1zb3J0IikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGkuYmluZENsaWNrKCksIGUuY29udHJvbHMucHVzaChpKSwgdGhpcy5jYWxsQWN0aW9ucygiYWZ0ZXJJbml0IiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBpc0JvdW5kOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSA9IHRoaXMsDQogICAgICAgICAgICAgICAgbiA9ICExOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUlzQm91bmQiLCBhcmd1bWVudHMpLCBuID0gZS5ib3VuZC5pbmRleE9mKHQpID4gLTEsIGUuY2FsbEZpbHRlcnMoImFmdGVySXNCb3VuZCIsIG4sIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgYWRkQmluZGluZzogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzOw0KICAgICAgICAgICAgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQWRkQmluZGluZyIsIGFyZ3VtZW50cyksIGUuaXNCb3VuZCgpIHx8IGUuYm91bmQucHVzaCh0KSwgdGhpcy5jYWxsQWN0aW9ucygiYWZ0ZXJBZGRCaW5kaW5nIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICByZW1vdmVCaW5kaW5nOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgbiA9IHRoaXMsDQogICAgICAgICAgICAgICAgYSA9IC0xOw0KICAgICAgICAgICAgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlUmVtb3ZlQmluZGluZyIsIGFyZ3VtZW50cyksIChhID0gbi5ib3VuZC5pbmRleE9mKHQpKSA+IC0xICYmIG4uYm91bmQuc3BsaWNlKGEsIDEpLCBuLmJvdW5kLmxlbmd0aCA8IDEgJiYgKG4udW5iaW5kQ2xpY2soKSwgYSA9IGUuY29udHJvbHMuaW5kZXhPZihuKSwgZS5jb250cm9scy5zcGxpY2UoYSwgMSksICJhY3RpdmUiID09PSBuLnN0YXR1cyAmJiBuLnJlbmRlclN0YXR1cyhuLmVsLCAiaW5hY3RpdmUiKSksIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyUmVtb3ZlQmluZGluZyIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgYmluZENsaWNrOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpczsNCiAgICAgICAgICAgIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUJpbmRDbGljayIsIGFyZ3VtZW50cyksIHQuaGFuZGxlciA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB0LmhhbmRsZUNsaWNrKGUpDQogICAgICAgICAgICB9LCBuLm9uKHQuZWwsICJjbGljayIsIHQuaGFuZGxlciksIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQmluZENsaWNrIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICB1bmJpbmRDbGljazogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdCA9IHRoaXM7DQogICAgICAgICAgICB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVVbmJpbmRDbGljayIsIGFyZ3VtZW50cyksIG4ub2ZmKHQuZWwsICJjbGljayIsIHQuaGFuZGxlciksIHQuaGFuZGxlciA9IG51bGwsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyVW5iaW5kQ2xpY2siLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGhhbmRsZUNsaWNrOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IG51bGwsDQogICAgICAgICAgICAgICAgbyA9IG51bGwsDQogICAgICAgICAgICAgICAgciA9ICExLA0KICAgICAgICAgICAgICAgIHMgPSB2b2lkIDAsDQogICAgICAgICAgICAgICAgbCA9IHt9LA0KICAgICAgICAgICAgICAgIGMgPSBudWxsLA0KICAgICAgICAgICAgICAgIHUgPSBbXSwNCiAgICAgICAgICAgICAgICBmID0gLTE7DQogICAgICAgICAgICBpZiAodGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlSGFuZGxlQ2xpY2siLCBhcmd1bWVudHMpLCB0aGlzLnBlbmRpbmcgPSAwLCBvID0gYS5ib3VuZFswXSwgaSA9IGEuc2VsZWN0b3IgPyBuLmNsb3Nlc3RQYXJlbnQodC50YXJnZXQsIG8uY29uZmlnLnNlbGVjdG9ycy5jb250cm9sICsgYS5zZWxlY3RvciwgITAsIG8uZG9tLmRvY3VtZW50KSA6IGEuZWwsICFpKSByZXR1cm4gdm9pZCBhLmNhbGxBY3Rpb25zKCJhZnRlckhhbmRsZUNsaWNrIiwgYXJndW1lbnRzKTsNCiAgICAgICAgICAgIHN3aXRjaCAoYS50eXBlKSB7DQogICAgICAgICAgICAgICAgY2FzZSAiZmlsdGVyIjoNCiAgICAgICAgICAgICAgICAgICAgbC5maWx0ZXIgPSBhLmZpbHRlciB8fCBpLmdldEF0dHJpYnV0ZSgiZGF0YS1maWx0ZXIiKTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAic29ydCI6DQogICAgICAgICAgICAgICAgICAgIGwuc29ydCA9IGEuc29ydCB8fCBpLmdldEF0dHJpYnV0ZSgiZGF0YS1zb3J0Iik7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgIm11bHRpbWl4IjoNCiAgICAgICAgICAgICAgICAgICAgbC5maWx0ZXIgPSBhLmZpbHRlciB8fCBpLmdldEF0dHJpYnV0ZSgiZGF0YS1maWx0ZXIiKSwgbC5zb3J0ID0gYS5zb3J0IHx8IGkuZ2V0QXR0cmlidXRlKCJkYXRhLXNvcnQiKTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAidG9nZ2xlIjoNCiAgICAgICAgICAgICAgICAgICAgbC5maWx0ZXIgPSBhLmZpbHRlciB8fCBpLmdldEF0dHJpYnV0ZSgiZGF0YS10b2dnbGUiKSwgciA9ICJsaXZlIiA9PT0gYS5zdGF0dXMgPyBuLmhhc0NsYXNzKGksIGEuY2xhc3NOYW1lcy5hY3RpdmUpIDogImFjdGl2ZSIgPT09IGEuc3RhdHVzDQogICAgICAgICAgICB9DQogICAgICAgICAgICBmb3IgKGYgPSAwOyBmIDwgYS5ib3VuZC5sZW5ndGg7IGYrKykgYyA9IG5ldyBlLkNvbW1hbmRNdWx0aW1peCwgbi5leHRlbmQoYywgbCksIHUucHVzaChjKTsNCiAgICAgICAgICAgIGZvciAodSA9IGEuY2FsbEZpbHRlcnMoImNvbW1hbmRzSGFuZGxlQ2xpY2siLCB1LCBhcmd1bWVudHMpLCBhLnBlbmRpbmcgPSBhLmJvdW5kLmxlbmd0aCwgZiA9IDA7IG8gPSBhLmJvdW5kW2ZdOyBmKyspIGwgPSB1W2ZdLCBsICYmIChvLmxhc3RDbGlja2VkIHx8IChvLmxhc3RDbGlja2VkID0gaSksIGUuZXZlbnRzLmZpcmUoIm1peENsaWNrIiwgby5kb20uY29udGFpbmVyLCB7DQogICAgICAgICAgICAgICAgc3RhdGU6IG8uc3RhdGUsDQogICAgICAgICAgICAgICAgaW5zdGFuY2U6IG8sDQogICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogdCwNCiAgICAgICAgICAgICAgICBjb250cm9sOiBvLmxhc3RDbGlja2VkDQogICAgICAgICAgICB9LCBvLmRvbS5kb2N1bWVudCksICJmdW5jdGlvbiIgPT0gdHlwZW9mIG8uY29uZmlnLmNhbGxiYWNrcy5vbk1peENsaWNrICYmIChzID0gby5jb25maWcuY2FsbGJhY2tzLm9uTWl4Q2xpY2suY2FsbChvLmxhc3RDbGlja2VkLCBvLnN0YXRlLCB0LCBvKSwgcyA9PT0gITEpIHx8ICgidG9nZ2xlIiA9PT0gYS50eXBlID8gciA/IG8udG9nZ2xlT2ZmKGwuZmlsdGVyKSA6IG8udG9nZ2xlT24obC5maWx0ZXIpIDogby5tdWx0aW1peChsKSkpOw0KICAgICAgICAgICAgdGhpcy5jYWxsQWN0aW9ucygiYWZ0ZXJIYW5kbGVDbGljayIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgdXBkYXRlOiBmdW5jdGlvbih0LCBuKSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IG5ldyBlLkNvbW1hbmRNdWx0aW1peDsNCiAgICAgICAgICAgIGEuY2FsbEFjdGlvbnMoImJlZm9yZVVwZGF0ZSIsIGFyZ3VtZW50cyksIGEucGVuZGluZy0tLCBhLnBlbmRpbmcgPSBNYXRoLm1heCgwLCBhLnBlbmRpbmcpLCBhLnBlbmRpbmcgPiAwIHx8ICgibGl2ZSIgPT09IGEuc3RhdHVzID8gYS51cGRhdGVMaXZlKHQsIG4pIDogKGkuc29ydCA9IGEuc29ydCwgaS5maWx0ZXIgPSBhLmZpbHRlciwgYS5jYWxsRmlsdGVycygiYWN0aW9uc1VwZGF0ZSIsIGksIGFyZ3VtZW50cyksIGEucGFyc2VTdGF0dXNDaGFuZ2UoYS5lbCwgdCwgaSwgbikpLCBhLmNhbGxBY3Rpb25zKCJhZnRlclVwZGF0ZSIsIGFyZ3VtZW50cykpDQogICAgICAgIH0sDQogICAgICAgIHVwZGF0ZUxpdmU6IGZ1bmN0aW9uKHQsIG4pIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gbnVsbCwNCiAgICAgICAgICAgICAgICBvID0gbnVsbCwNCiAgICAgICAgICAgICAgICByID0gbnVsbCwNCiAgICAgICAgICAgICAgICBzID0gLTE7DQogICAgICAgICAgICBpZiAoYS5jYWxsQWN0aW9ucygiYmVmb3JlVXBkYXRlTGl2ZSIsIGFyZ3VtZW50cyksIGEuZWwpIHsNCiAgICAgICAgICAgICAgICBmb3IgKGkgPSBhLmVsLnF1ZXJ5U2VsZWN0b3JBbGwoYS5zZWxlY3RvciksIHMgPSAwOyByID0gaVtzXTsgcysrKSB7DQogICAgICAgICAgICAgICAgICAgIHN3aXRjaCAobyA9IG5ldyBlLkNvbW1hbmRNdWx0aW1peCwgYS50eXBlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJmaWx0ZXIiOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8uZmlsdGVyID0gci5nZXRBdHRyaWJ1dGUoImRhdGEtZmlsdGVyIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJzb3J0IjoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLnNvcnQgPSByLmdldEF0dHJpYnV0ZSgiZGF0YS1zb3J0Iik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJtdWx0aW1peCI6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgby5maWx0ZXIgPSByLmdldEF0dHJpYnV0ZSgiZGF0YS1maWx0ZXIiKSwgby5zb3J0ID0gci5nZXRBdHRyaWJ1dGUoImRhdGEtc29ydCIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAidG9nZ2xlIjoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLmZpbHRlciA9IHIuZ2V0QXR0cmlidXRlKCJkYXRhLXRvZ2dsZSIpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgbyA9IGEuY2FsbEZpbHRlcnMoImFjdGlvbnNVcGRhdGVMaXZlIiwgbywgYXJndW1lbnRzKSwgYS5wYXJzZVN0YXR1c0NoYW5nZShyLCB0LCBvLCBuKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBhLmNhbGxBY3Rpb25zKCJhZnRlclVwZGF0ZUxpdmUiLCBhcmd1bWVudHMpDQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIHBhcnNlU3RhdHVzQ2hhbmdlOiBmdW5jdGlvbih0LCBlLCBuLCBhKSB7DQogICAgICAgICAgICB2YXIgaSA9IHRoaXMsDQogICAgICAgICAgICAgICAgbyA9ICIiLA0KICAgICAgICAgICAgICAgIHIgPSAiIiwNCiAgICAgICAgICAgICAgICBzID0gLTE7DQogICAgICAgICAgICBzd2l0Y2ggKGkuY2FsbEFjdGlvbnMoImJlZm9yZVBhcnNlU3RhdHVzQ2hhbmdlIiwgYXJndW1lbnRzKSwgaS50eXBlKSB7DQogICAgICAgICAgICAgICAgY2FzZSAiZmlsdGVyIjoNCiAgICAgICAgICAgICAgICAgICAgZS5maWx0ZXIgPT09IG4uZmlsdGVyID8gaS5yZW5kZXJTdGF0dXModCwgImFjdGl2ZSIpIDogaS5yZW5kZXJTdGF0dXModCwgImluYWN0aXZlIik7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgIm11bHRpbWl4IjoNCiAgICAgICAgICAgICAgICAgICAgZS5zb3J0ID09PSBuLnNvcnQgJiYgZS5maWx0ZXIgPT09IG4uZmlsdGVyID8gaS5yZW5kZXJTdGF0dXModCwgImFjdGl2ZSIpIDogaS5yZW5kZXJTdGF0dXModCwgImluYWN0aXZlIik7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgInNvcnQiOg0KICAgICAgICAgICAgICAgICAgICBlLnNvcnQubWF0Y2goLzphc2MvZykgJiYgKG8gPSBlLnNvcnQucmVwbGFjZSgvOmFzYy9nLCAiIikpLCBlLnNvcnQgPT09IG4uc29ydCB8fCBvID09PSBuLnNvcnQgPyBpLnJlbmRlclN0YXR1cyh0LCAiYWN0aXZlIikgOiBpLnJlbmRlclN0YXR1cyh0LCAiaW5hY3RpdmUiKTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAidG9nZ2xlIjoNCiAgICAgICAgICAgICAgICAgICAgZm9yIChhLmxlbmd0aCA8IDEgJiYgaS5yZW5kZXJTdGF0dXModCwgImluYWN0aXZlIiksIGUuZmlsdGVyID09PSBuLmZpbHRlciAmJiBpLnJlbmRlclN0YXR1cyh0LCAiYWN0aXZlIiksIHMgPSAwOyBzIDwgYS5sZW5ndGg7IHMrKykgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPSBhW3NdLCByID09PSBuLmZpbHRlcikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkucmVuZGVyU3RhdHVzKHQsICJhY3RpdmUiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaS5yZW5kZXJTdGF0dXModCwgImluYWN0aXZlIikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaS5jYWxsQWN0aW9ucygiYWZ0ZXJQYXJzZVN0YXR1c0NoYW5nZSIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgcmVuZGVyU3RhdHVzOiBmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXM7DQogICAgICAgICAgICBzd2l0Y2ggKGEuY2FsbEFjdGlvbnMoImJlZm9yZVJlbmRlclN0YXR1cyIsIGFyZ3VtZW50cyksIGUpIHsNCiAgICAgICAgICAgICAgICBjYXNlICJhY3RpdmUiOg0KICAgICAgICAgICAgICAgICAgICBuLmFkZENsYXNzKHQsIGEuY2xhc3NOYW1lcy5hY3RpdmUpLCBuLnJlbW92ZUNsYXNzKHQsIGEuY2xhc3NOYW1lcy5kaXNhYmxlZCksIGEuY2FuRGlzYWJsZSAmJiAoYS5lbC5kaXNhYmxlZCA9ICExKTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAiaW5hY3RpdmUiOg0KICAgICAgICAgICAgICAgICAgICBuLnJlbW92ZUNsYXNzKHQsIGEuY2xhc3NOYW1lcy5hY3RpdmUpLCBuLnJlbW92ZUNsYXNzKHQsIGEuY2xhc3NOYW1lcy5kaXNhYmxlZCksIGEuY2FuRGlzYWJsZSAmJiAoYS5lbC5kaXNhYmxlZCA9ICExKTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAiZGlzYWJsZWQiOg0KICAgICAgICAgICAgICAgICAgICBhLmNhbkRpc2FibGUgJiYgKGEuZWwuZGlzYWJsZWQgPSAhMCksIG4uYWRkQ2xhc3ModCwgYS5jbGFzc05hbWVzLmRpc2FibGVkKSwgbi5yZW1vdmVDbGFzcyh0LCBhLmNsYXNzTmFtZXMuYWN0aXZlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgImxpdmUiICE9PSBhLnN0YXR1cyAmJiAoYS5zdGF0dXMgPSBlKSwgYS5jYWxsQWN0aW9ucygiYWZ0ZXJSZW5kZXJTdGF0dXMiLCBhcmd1bWVudHMpDQogICAgICAgIH0NCiAgICB9KSwgZS5jb250cm9scyA9IFtdLCBlLlN0eWxlRGF0YSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMueCA9IDAsIHRoaXMueSA9IDAsIHRoaXMudG9wID0gMCwgdGhpcy5yaWdodCA9IDAsIHRoaXMuYm90dG9tID0gMCwgdGhpcy5sZWZ0ID0gMCwgdGhpcy53aWR0aCA9IDAsIHRoaXMuaGVpZ2h0ID0gMCwgdGhpcy5tYXJnaW5SaWdodCA9IDAsIHRoaXMubWFyZ2luQm90dG9tID0gMCwgdGhpcy5vcGFjaXR5ID0gMCwgdGhpcy5zY2FsZSA9IG5ldyBlLlRyYW5zZm9ybURhdGEsIHRoaXMudHJhbnNsYXRlWCA9IG5ldyBlLlRyYW5zZm9ybURhdGEsIHRoaXMudHJhbnNsYXRlWSA9IG5ldyBlLlRyYW5zZm9ybURhdGEsIHRoaXMudHJhbnNsYXRlWiA9IG5ldyBlLlRyYW5zZm9ybURhdGEsIHRoaXMucm90YXRlWCA9IG5ldyBlLlRyYW5zZm9ybURhdGEsIHRoaXMucm90YXRlWSA9IG5ldyBlLlRyYW5zZm9ybURhdGEsIHRoaXMucm90YXRlWiA9IG5ldyBlLlRyYW5zZm9ybURhdGEsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuU3R5bGVEYXRhKSwgZS5TdHlsZURhdGEucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5TdHlsZURhdGEucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5TdHlsZURhdGEsIGUuVHJhbnNmb3JtRGF0YSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMudmFsdWUgPSAwLCB0aGlzLnVuaXQgPSAiIiwgdGhpcy5jYWxsQWN0aW9ucygiYWZ0ZXJDb25zdHJ1Y3QiKSwgbi5zZWFsKHRoaXMpDQogICAgfSwgZS5CYXNlU3RhdGljLmNhbGwoZS5UcmFuc2Zvcm1EYXRhKSwgZS5UcmFuc2Zvcm1EYXRhLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuVHJhbnNmb3JtRGF0YS5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBlLlRyYW5zZm9ybURhdGEsIGUuVHJhbnNmb3JtRGVmYXVsdHMgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZS5TdHlsZURhdGEuYXBwbHkodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLnNjYWxlLnZhbHVlID0gLjAxLCB0aGlzLnNjYWxlLnVuaXQgPSAiIiwgdGhpcy50cmFuc2xhdGVYLnZhbHVlID0gMjAsIHRoaXMudHJhbnNsYXRlWC51bml0ID0gInB4IiwgdGhpcy50cmFuc2xhdGVZLnZhbHVlID0gMjAsIHRoaXMudHJhbnNsYXRlWS51bml0ID0gInB4IiwgdGhpcy50cmFuc2xhdGVaLnZhbHVlID0gMjAsIHRoaXMudHJhbnNsYXRlWi51bml0ID0gInB4IiwgdGhpcy5yb3RhdGVYLnZhbHVlID0gOTAsIHRoaXMucm90YXRlWC51bml0ID0gImRlZyIsIHRoaXMucm90YXRlWS52YWx1ZSA9IDkwLCB0aGlzLnJvdGF0ZVkudW5pdCA9ICJkZWciLCB0aGlzLnJvdGF0ZVgudmFsdWUgPSA5MCwgdGhpcy5yb3RhdGVYLnVuaXQgPSAiZGVnIiwgdGhpcy5yb3RhdGVaLnZhbHVlID0gMTgwLCB0aGlzLnJvdGF0ZVoudW5pdCA9ICJkZWciLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLlRyYW5zZm9ybURlZmF1bHRzKSwgZS5UcmFuc2Zvcm1EZWZhdWx0cy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuU3R5bGVEYXRhLnByb3RvdHlwZSksIGUuVHJhbnNmb3JtRGVmYXVsdHMucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5UcmFuc2Zvcm1EZWZhdWx0cywgZS50cmFuc2Zvcm1EZWZhdWx0cyA9IG5ldyBlLlRyYW5zZm9ybURlZmF1bHRzLCBlLkV2ZW50RGV0YWlsID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHRoaXMuc3RhdGUgPSBudWxsLCB0aGlzLmZ1dHVyZVN0YXRlID0gbnVsbCwgdGhpcy5pbnN0YW5jZSA9IG51bGwsIHRoaXMub3JpZ2luYWxFdmVudCA9IG51bGwNCiAgICB9LCBlLkV2ZW50cyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICBlLkJhc2UuY2FsbCh0aGlzKSwgdGhpcy5jYWxsQWN0aW9ucygiYmVmb3JlQ29uc3RydWN0IiksIHRoaXMubWl4U3RhcnQgPSBudWxsLCB0aGlzLm1peEJ1c3kgPSBudWxsLCB0aGlzLm1peEVuZCA9IG51bGwsIHRoaXMubWl4RmFpbCA9IG51bGwsIHRoaXMubWl4Q2xpY2sgPSBudWxsLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkV2ZW50cyksIGUuRXZlbnRzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuRXZlbnRzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuRXZlbnRzLCBlLkV2ZW50cy5wcm90b3R5cGUuZmlyZSA9IGZ1bmN0aW9uKHQsIGEsIGksIG8pIHsNCiAgICAgICAgdmFyIHIgPSB0aGlzLA0KICAgICAgICAgICAgcyA9IG51bGwsDQogICAgICAgICAgICBsID0gbmV3IGUuRXZlbnREZXRhaWw7DQogICAgICAgIGlmIChyLmNhbGxBY3Rpb25zKCJiZWZvcmVGaXJlIiwgYXJndW1lbnRzKSwgInVuZGVmaW5lZCIgPT0gdHlwZW9mIHJbdF0pIHRocm93IG5ldyBFcnJvcignRXZlbnQgdHlwZSAiJyArIHQgKyAnIiBub3QgZm91bmQuJyk7DQogICAgICAgIGwuc3RhdGUgPSBuZXcgZS5TdGF0ZSwgbi5leHRlbmQobC5zdGF0ZSwgaS5zdGF0ZSksIGkuZnV0dXJlU3RhdGUgJiYgKGwuZnV0dXJlU3RhdGUgPSBuZXcgZS5TdGF0ZSwgbi5leHRlbmQobC5mdXR1cmVTdGF0ZSwgaS5mdXR1cmVTdGF0ZSkpLCBsLmluc3RhbmNlID0gaS5pbnN0YW5jZSwgaS5vcmlnaW5hbEV2ZW50ICYmIChsLm9yaWdpbmFsRXZlbnQgPSBpLm9yaWdpbmFsRXZlbnQpLCBzID0gbi5nZXRDdXN0b21FdmVudCh0LCBsLCBvKSwgci5jYWxsRmlsdGVycygiZXZlbnRGaXJlIiwgcywgYXJndW1lbnRzKSwgYS5kaXNwYXRjaEV2ZW50KHMpDQogICAgfSwgZS5ldmVudHMgPSBuZXcgZS5FdmVudHMsIGUuUXVldWVJdGVtID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5hcmdzID0gW10sIHRoaXMuaW5zdHJ1Y3Rpb24gPSBudWxsLCB0aGlzLnRyaWdnZXJFbGVtZW50ID0gbnVsbCwgdGhpcy5kZWZlcnJlZCA9IG51bGwsIHRoaXMuaXNUb2dnbGluZyA9ICExLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLlF1ZXVlSXRlbSksIGUuUXVldWVJdGVtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuUXVldWVJdGVtLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuUXVldWVJdGVtLCBlLk1peGVyID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5jb25maWcgPSBuZXcgZS5Db25maWcsIHRoaXMuaWQgPSAiIiwgdGhpcy5pc0J1c3kgPSAhMSwgdGhpcy5pc1RvZ2dsaW5nID0gITEsIHRoaXMuaW5jUGFkZGluZyA9ICEwLCB0aGlzLmNvbnRyb2xzID0gW10sIHRoaXMudGFyZ2V0cyA9IFtdLCB0aGlzLm9yaWdPcmRlciA9IFtdLCB0aGlzLmNhY2hlID0ge30sIHRoaXMudG9nZ2xlQXJyYXkgPSBbXSwgdGhpcy50YXJnZXRzTW92ZWQgPSAwLCB0aGlzLnRhcmdldHNJbW1vdmFibGUgPSAwLCB0aGlzLnRhcmdldHNCb3VuZCA9IDAsIHRoaXMudGFyZ2V0c0RvbmUgPSAwLCB0aGlzLnN0YWdnZXJEdXJhdGlvbiA9IDAsIHRoaXMuZWZmZWN0c0luID0gbnVsbCwgdGhpcy5lZmZlY3RzT3V0ID0gbnVsbCwgdGhpcy50cmFuc2Zvcm1JbiA9IFtdLCB0aGlzLnRyYW5zZm9ybU91dCA9IFtdLCB0aGlzLnF1ZXVlID0gW10sIHRoaXMuc3RhdGUgPSBudWxsLCB0aGlzLmxhc3RPcGVyYXRpb24gPSBudWxsLA0KICAgICAgICAgICAgdGhpcy5sYXN0Q2xpY2tlZCA9IG51bGwsIHRoaXMudXNlckNhbGxiYWNrID0gbnVsbCwgdGhpcy51c2VyRGVmZXJyZWQgPSBudWxsLCB0aGlzLmRvbSA9IG5ldyBlLk1peGVyRG9tLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLk1peGVyKSwgZS5NaXhlci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBuLmV4dGVuZChlLk1peGVyLnByb3RvdHlwZSwgew0KICAgICAgICBjb25zdHJ1Y3RvcjogZS5NaXhlciwNCiAgICAgICAgYXR0YWNoOiBmdW5jdGlvbihhLCBpLCBvLCByKSB7DQogICAgICAgICAgICB2YXIgcyA9IHRoaXMsDQogICAgICAgICAgICAgICAgbCA9IG51bGwsDQogICAgICAgICAgICAgICAgYyA9IC0xOw0KICAgICAgICAgICAgZm9yIChzLmNhbGxBY3Rpb25zKCJiZWZvcmVBdHRhY2giLCBhcmd1bWVudHMpLCBzLmlkID0gbywgciAmJiBuLmV4dGVuZChzLmNvbmZpZywgciwgITAsICEwKSwgcy5zYW5pdGl6ZUNvbmZpZygpLCBzLmNhY2hlRG9tKGEsIGkpLCBzLmNvbmZpZy5sYXlvdXQuY29udGFpbmVyQ2xhc3NOYW1lICYmIG4uYWRkQ2xhc3Mocy5kb20uY29udGFpbmVyLCBzLmNvbmZpZy5sYXlvdXQuY29udGFpbmVyQ2xhc3NOYW1lKSwgZS5mZWF0dXJlcy5oYXMudHJhbnNpdGlvbnMgfHwgKHMuY29uZmlnLmFuaW1hdGlvbi5lbmFibGUgPSAhMSksICJ1bmRlZmluZWQiID09IHR5cGVvZiB0LmNvbnNvbGUgJiYgKHMuY29uZmlnLmRlYnVnLnNob3dXYXJuaW5ncyA9ICExKSwgcy5jb25maWcuZGF0YS51aWRLZXkgJiYgKHMuY29uZmlnLmNvbnRyb2xzLmVuYWJsZSA9ICExKSwgcy5pbmRleFRhcmdldHMoKSwgcy5zdGF0ZSA9IHMuZ2V0SW5pdGlhbFN0YXRlKCksIGMgPSAwOyBsID0gcy5sYXN0T3BlcmF0aW9uLnRvSGlkZVtjXTsgYysrKSBsLmhpZGUoKTsNCiAgICAgICAgICAgIHMuY29uZmlnLmNvbnRyb2xzLmVuYWJsZSAmJiAocy5pbml0Q29udHJvbHMoKSwgcy5idWlsZFRvZ2dsZUFycmF5KG51bGwsIHMuc3RhdGUpLCBzLnVwZGF0ZUNvbnRyb2xzKHsNCiAgICAgICAgICAgICAgICBmaWx0ZXI6IHMuc3RhdGUuYWN0aXZlRmlsdGVyLA0KICAgICAgICAgICAgICAgIHNvcnQ6IHMuc3RhdGUuYWN0aXZlU29ydA0KICAgICAgICAgICAgfSkpLCBzLnBhcnNlRWZmZWN0cygpLCBzLmNhbGxBY3Rpb25zKCJhZnRlckF0dGFjaCIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgc2FuaXRpemVDb25maWc6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzOw0KICAgICAgICAgICAgdC5jYWxsQWN0aW9ucygiYmVmb3JlU2FuaXRpemVDb25maWciLCBhcmd1bWVudHMpLCB0LmNvbmZpZy5jb250cm9scy5zY29wZSA9IHQuY29uZmlnLmNvbnRyb2xzLnNjb3BlLnRvTG93ZXJDYXNlKCkudHJpbSgpLCB0LmNvbmZpZy5jb250cm9scy50b2dnbGVMb2dpYyA9IHQuY29uZmlnLmNvbnRyb2xzLnRvZ2dsZUxvZ2ljLnRvTG93ZXJDYXNlKCkudHJpbSgpLCB0LmNvbmZpZy5jb250cm9scy50b2dnbGVEZWZhdWx0ID0gdC5jb25maWcuY29udHJvbHMudG9nZ2xlRGVmYXVsdC50b0xvd2VyQ2FzZSgpLnRyaW0oKSwgdC5jb25maWcuYW5pbWF0aW9uLmVmZmVjdHMgPSB0LmNvbmZpZy5hbmltYXRpb24uZWZmZWN0cy50cmltKCksIHQuY2FsbEFjdGlvbnMoImFmdGVyU2FuaXRpemVDb25maWciLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGdldEluaXRpYWxTdGF0ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdCA9IHRoaXMsDQogICAgICAgICAgICAgICAgbiA9IG5ldyBlLlN0YXRlLA0KICAgICAgICAgICAgICAgIGEgPSBuZXcgZS5PcGVyYXRpb247DQogICAgICAgICAgICBpZiAodC5jYWxsQWN0aW9ucygiYmVmb3JlR2V0SW5pdGlhbFN0YXRlIiwgYXJndW1lbnRzKSwgbi5hY3RpdmVDb250YWluZXJDbGFzc05hbWUgPSB0LmNvbmZpZy5sYXlvdXQuY29udGFpbmVyQ2xhc3NOYW1lLCB0LmNvbmZpZy5sb2FkLmRhdGFzZXQpIHsNCiAgICAgICAgICAgICAgICBpZiAoIXQuY29uZmlnLmRhdGEudWlkS2V5IHx8ICJzdHJpbmciICE9IHR5cGVvZiB0LmNvbmZpZy5kYXRhLnVpZEtleSkgdGhyb3cgbmV3IFR5cGVFcnJvcihlLm1lc3NhZ2VzLmVycm9yQ29uZmlnRGF0YVVpZEtleU5vdFNldCgpKTsNCiAgICAgICAgICAgICAgICBhLnN0YXJ0RGF0YXNldCA9IGEubmV3RGF0YXNldCA9IG4uYWN0aXZlRGF0YXNldCA9IHQuY29uZmlnLmxvYWQuZGF0YXNldC5zbGljZSgpLCBhLnN0YXJ0Q29udGFpbmVyQ2xhc3NOYW1lID0gYS5uZXdDb250YWluZXJDbGFzc05hbWUgPSBuLmFjdGl2ZUNvbnRhaW5lckNsYXNzTmFtZSwgYS5zaG93ID0gdC50YXJnZXRzLnNsaWNlKCksIG4gPSB0LmNhbGxGaWx0ZXJzKCJzdGF0ZUdldEluaXRpYWxTdGF0ZSIsIG4sIGFyZ3VtZW50cykNCiAgICAgICAgICAgIH0gZWxzZSBuLmFjdGl2ZUZpbHRlciA9IHQucGFyc2VGaWx0ZXJBcmdzKFt0LmNvbmZpZy5sb2FkLmZpbHRlcl0pLmNvbW1hbmQsIG4uYWN0aXZlU29ydCA9IHQucGFyc2VTb3J0QXJncyhbdC5jb25maWcubG9hZC5zb3J0XSkuY29tbWFuZCwgbi50b3RhbFRhcmdldHMgPSB0LnRhcmdldHMubGVuZ3RoLCBuID0gdC5jYWxsRmlsdGVycygic3RhdGVHZXRJbml0aWFsU3RhdGUiLCBuLCBhcmd1bWVudHMpLCBuLmFjdGl2ZVNvcnQuY29sbGVjdGlvbiB8fCBuLmFjdGl2ZVNvcnQuYXR0cmlidXRlIHx8ICJyYW5kb20iID09PSBuLmFjdGl2ZVNvcnQub3JkZXIgfHwgImRlc2MiID09PSBuLmFjdGl2ZVNvcnQub3JkZXIgPyAoYS5uZXdTb3J0ID0gbi5hY3RpdmVTb3J0LCB0LnNvcnRPcGVyYXRpb24oYSksIHQucHJpbnRTb3J0KCExLCBhKSwgdC50YXJnZXRzID0gYS5uZXdPcmRlcikgOiBhLnN0YXJ0T3JkZXIgPSBhLm5ld09yZGVyID0gdC50YXJnZXRzLCBhLnN0YXJ0RmlsdGVyID0gYS5uZXdGaWx0ZXIgPSBuLmFjdGl2ZUZpbHRlciwgYS5zdGFydFNvcnQgPSBhLm5ld1NvcnQgPSBuLmFjdGl2ZVNvcnQsIGEuc3RhcnRDb250YWluZXJDbGFzc05hbWUgPSBhLm5ld0NvbnRhaW5lckNsYXNzTmFtZSA9IG4uYWN0aXZlQ29udGFpbmVyQ2xhc3NOYW1lLCAiYWxsIiA9PT0gYS5uZXdGaWx0ZXIuc2VsZWN0b3IgPyBhLm5ld0ZpbHRlci5zZWxlY3RvciA9IHQuY29uZmlnLnNlbGVjdG9ycy50YXJnZXQgOiAibm9uZSIgPT09IGEubmV3RmlsdGVyLnNlbGVjdG9yICYmIChhLm5ld0ZpbHRlci5zZWxlY3RvciA9ICIiKTsNCiAgICAgICAgICAgIHJldHVybiBhID0gdC5jYWxsRmlsdGVycygib3BlcmF0aW9uR2V0SW5pdGlhbFN0YXRlIiwgYSwgW25dKSwgdC5sYXN0T3BlcmF0aW9uID0gYSwgYS5uZXdGaWx0ZXIgJiYgdC5maWx0ZXJPcGVyYXRpb24oYSksIG4gPSB0LmJ1aWxkU3RhdGUoYSkNCiAgICAgICAgfSwNCiAgICAgICAgY2FjaGVEb206IGZ1bmN0aW9uKHQsIGUpIHsNCiAgICAgICAgICAgIHZhciBuID0gdGhpczsNCiAgICAgICAgICAgIG4uY2FsbEFjdGlvbnMoImJlZm9yZUNhY2hlRG9tIiwgYXJndW1lbnRzKSwgbi5kb20uZG9jdW1lbnQgPSBlLCBuLmRvbS5ib2R5ID0gbi5kb20uZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYm9keSIpLCBuLmRvbS5jb250YWluZXIgPSB0LCBuLmRvbS5wYXJlbnQgPSB0LCBuLmNhbGxBY3Rpb25zKCJhZnRlckNhY2hlRG9tIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBpbmRleFRhcmdldHM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGEgPSBudWxsLA0KICAgICAgICAgICAgICAgIGkgPSBudWxsLA0KICAgICAgICAgICAgICAgIG8gPSBudWxsLA0KICAgICAgICAgICAgICAgIHIgPSAtMTsNCiAgICAgICAgICAgIGlmICh0LmNhbGxBY3Rpb25zKCJiZWZvcmVJbmRleFRhcmdldHMiLCBhcmd1bWVudHMpLCB0LmRvbS50YXJnZXRzID0gdC5jb25maWcubGF5b3V0LmFsbG93TmVzdGVkVGFyZ2V0cyA/IHQuZG9tLmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKHQuY29uZmlnLnNlbGVjdG9ycy50YXJnZXQpIDogbi5jaGlsZHJlbih0LmRvbS5jb250YWluZXIsIHQuY29uZmlnLnNlbGVjdG9ycy50YXJnZXQsIHQuZG9tLmRvY3VtZW50KSwgdC5kb20udGFyZ2V0cyA9IG4uYXJyYXlGcm9tTGlzdCh0LmRvbS50YXJnZXRzKSwgdC50YXJnZXRzID0gW10sIChvID0gdC5jb25maWcubG9hZC5kYXRhc2V0KSAmJiBvLmxlbmd0aCAhPT0gdC5kb20udGFyZ2V0cy5sZW5ndGgpIHRocm93IG5ldyBFcnJvcihlLm1lc3NhZ2VzLmVycm9yRGF0YXNldFByZXJlbmRlcmVkTWlzbWF0Y2goKSk7DQogICAgICAgICAgICBpZiAodC5kb20udGFyZ2V0cy5sZW5ndGgpIHsNCiAgICAgICAgICAgICAgICBmb3IgKHIgPSAwOyBpID0gdC5kb20udGFyZ2V0c1tyXTsgcisrKSBhID0gbmV3IGUuVGFyZ2V0LCBhLmluaXQoaSwgdCwgbyA/IG9bcl0gOiB2b2lkIDApLCBhLmlzSW5Eb20gPSAhMCwgdC50YXJnZXRzLnB1c2goYSk7DQogICAgICAgICAgICAgICAgdC5kb20ucGFyZW50ID0gdC5kb20udGFyZ2V0c1swXS5wYXJlbnRFbGVtZW50ID09PSB0LmRvbS5jb250YWluZXIgPyB0LmRvbS5jb250YWluZXIgOiB0LmRvbS50YXJnZXRzWzBdLnBhcmVudEVsZW1lbnQNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHQub3JpZ09yZGVyID0gdC50YXJnZXRzLCB0LmNhbGxBY3Rpb25zKCJhZnRlckluZGV4VGFyZ2V0cyIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgaW5pdENvbnRyb2xzOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpcywNCiAgICAgICAgICAgICAgICBuID0gIiIsDQogICAgICAgICAgICAgICAgYSA9IG51bGwsDQogICAgICAgICAgICAgICAgaSA9IG51bGwsDQogICAgICAgICAgICAgICAgbyA9IG51bGwsDQogICAgICAgICAgICAgICAgciA9IG51bGwsDQogICAgICAgICAgICAgICAgcyA9IG51bGwsDQogICAgICAgICAgICAgICAgbCA9IC0xLA0KICAgICAgICAgICAgICAgIGMgPSAtMTsNCiAgICAgICAgICAgIHN3aXRjaCAodC5jYWxsQWN0aW9ucygiYmVmb3JlSW5pdENvbnRyb2xzIiwgYXJndW1lbnRzKSwgdC5jb25maWcuY29udHJvbHMuc2NvcGUpIHsNCiAgICAgICAgICAgICAgICBjYXNlICJsb2NhbCI6DQogICAgICAgICAgICAgICAgICAgIG8gPSB0LmRvbS5jb250YWluZXI7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgImdsb2JhbCI6DQogICAgICAgICAgICAgICAgICAgIG8gPSB0LmRvbS5kb2N1bWVudDsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGUubWVzc2FnZXMuZXJyb3JDb25maWdJbnZhbGlkQ29udHJvbHNTY29wZSgpKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZm9yIChsID0gMDsgbiA9IGUuY29udHJvbERlZmluaXRpb25zW2xdOyBsKyspDQogICAgICAgICAgICAgICAgaWYgKHQuY29uZmlnLmNvbnRyb2xzLmxpdmUgfHwgbi5saXZlKSB7DQogICAgICAgICAgICAgICAgICAgIGlmIChuLnBhcmVudCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPSB0LmRvbVtuLnBhcmVudF0sICFyIHx8IHIubGVuZ3RoIDwgMCkgY29udGludWU7DQogICAgICAgICAgICAgICAgICAgICAgICAibnVtYmVyIiAhPSB0eXBlb2Ygci5sZW5ndGggJiYgKHIgPSBbcl0pDQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSByID0gW29dOw0KICAgICAgICAgICAgICAgICAgICBmb3IgKGMgPSAwOyBpID0gcltjXTsgYysrKSBzID0gdC5nZXRDb250cm9sKGksIG4udHlwZSwgbi5zZWxlY3RvciksIHQuY29udHJvbHMucHVzaChzKQ0KICAgICAgICAgICAgICAgIH0gZWxzZQ0KICAgICAgICAgICAgICAgICAgICBmb3IgKGEgPSBvLnF1ZXJ5U2VsZWN0b3JBbGwodC5jb25maWcuc2VsZWN0b3JzLmNvbnRyb2wgKyBuLnNlbGVjdG9yKSwgYyA9IDA7IGkgPSBhW2NdOyBjKyspIHMgPSB0LmdldENvbnRyb2woaSwgbi50eXBlLCAiIiksIHMgJiYgdC5jb250cm9scy5wdXNoKHMpOw0KICAgICAgICAgICAgdC5jYWxsQWN0aW9ucygiYWZ0ZXJJbml0Q29udHJvbHMiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGdldENvbnRyb2w6IGZ1bmN0aW9uKHQsIGEsIGkpIHsNCiAgICAgICAgICAgIHZhciBvID0gdGhpcywNCiAgICAgICAgICAgICAgICByID0gbnVsbCwNCiAgICAgICAgICAgICAgICBzID0gLTE7DQogICAgICAgICAgICBpZiAoby5jYWxsQWN0aW9ucygiYmVmb3JlR2V0Q29udHJvbCIsIGFyZ3VtZW50cyksICFpKQ0KICAgICAgICAgICAgICAgIGZvciAocyA9IDA7IHIgPSBlLmNvbnRyb2xzW3NdOyBzKyspIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHIuZWwgPT09IHQgJiYgci5pc0JvdW5kKG8pKSByZXR1cm4gby5jYWxsRmlsdGVycygiY29udHJvbEdldENvbnRyb2wiLCBudWxsLCBhcmd1bWVudHMpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoci5lbCA9PT0gdCAmJiByLnR5cGUgPT09IGEgJiYgci5zZWxlY3RvciA9PT0gaSkgcmV0dXJuIHIuYWRkQmluZGluZyhvKSwgby5jYWxsRmlsdGVycygiY29udHJvbEdldENvbnRyb2wiLCByLCBhcmd1bWVudHMpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHIgPSBuZXcgZS5Db250cm9sLCByLmluaXQodCwgYSwgaSksIHIuY2xhc3NOYW1lcy5iYXNlID0gbi5nZXRDbGFzc25hbWUoby5jb25maWcuY2xhc3NOYW1lcywgYSksIHIuY2xhc3NOYW1lcy5hY3RpdmUgPSBuLmdldENsYXNzbmFtZShvLmNvbmZpZy5jbGFzc05hbWVzLCBhLCBvLmNvbmZpZy5jbGFzc05hbWVzLm1vZGlmaWVyQWN0aXZlKSwgci5jbGFzc05hbWVzLmRpc2FibGVkID0gbi5nZXRDbGFzc25hbWUoby5jb25maWcuY2xhc3NOYW1lcywgYSwgby5jb25maWcuY2xhc3NOYW1lcy5tb2RpZmllckRpc2FibGVkKSwgci5hZGRCaW5kaW5nKG8pLCBvLmNhbGxGaWx0ZXJzKCJjb250cm9sR2V0Q29udHJvbCIsIHIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgZ2V0VG9nZ2xlU2VsZWN0b3I6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGUgPSAib3IiID09PSB0LmNvbmZpZy5jb250cm9scy50b2dnbGVMb2dpYyA/ICIsICIgOiAiIiwNCiAgICAgICAgICAgICAgICBhID0gIiI7DQogICAgICAgICAgICByZXR1cm4gdC5jYWxsQWN0aW9ucygiYmVmb3JlR2V0VG9nZ2xlU2VsZWN0b3IiLCBhcmd1bWVudHMpLCB0LnRvZ2dsZUFycmF5ID0gbi5jbGVhbih0LnRvZ2dsZUFycmF5KSwgYSA9IHQudG9nZ2xlQXJyYXkuam9pbihlKSwgIiIgPT09IGEgJiYgKGEgPSB0LmNvbmZpZy5jb250cm9scy50b2dnbGVEZWZhdWx0KSwgdC5jYWxsRmlsdGVycygic2VsZWN0b3JHZXRUb2dnbGVTZWxlY3RvciIsIGEsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgYnVpbGRUb2dnbGVBcnJheTogZnVuY3Rpb24odCwgZSkgew0KICAgICAgICAgICAgdmFyIGEgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGkgPSAiIjsNCiAgICAgICAgICAgIGlmIChhLmNhbGxBY3Rpb25zKCJiZWZvcmVCdWlsZFRvZ2dsZUFycmF5IiwgYXJndW1lbnRzKSwgdCAmJiB0LmZpbHRlcikgaSA9IHQuZmlsdGVyLnNlbGVjdG9yLnJlcGxhY2UoL1xzL2csICIiKTsNCiAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgIGlmICghZSkgcmV0dXJuOw0KICAgICAgICAgICAgICAgIGkgPSBlLmFjdGl2ZUZpbHRlci5zZWxlY3Rvci5yZXBsYWNlKC9ccy9nLCAiIikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGkgIT09IGEuY29uZmlnLnNlbGVjdG9ycy50YXJnZXQgJiYgImFsbCIgIT09IGkgfHwgKGkgPSAiIiksICJvciIgPT09IGEuY29uZmlnLmNvbnRyb2xzLnRvZ2dsZUxvZ2ljID8gYS50b2dnbGVBcnJheSA9IGkuc3BsaXQoIiwiKSA6IGEudG9nZ2xlQXJyYXkgPSBhLnNwbGl0Q29tcG91bmRTZWxlY3RvcihpKSwgYS50b2dnbGVBcnJheSA9IG4uY2xlYW4oYS50b2dnbGVBcnJheSksIGEuY2FsbEFjdGlvbnMoImFmdGVyQnVpbGRUb2dnbGVBcnJheSIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgc3BsaXRDb21wb3VuZFNlbGVjdG9yOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSA9IHQuc3BsaXQoLyhbXC5cW10pL2cpLA0KICAgICAgICAgICAgICAgIG4gPSBbXSwNCiAgICAgICAgICAgICAgICBhID0gIiIsDQogICAgICAgICAgICAgICAgaSA9IC0xOw0KICAgICAgICAgICAgZm9yICgiIiA9PT0gZVswXSAmJiBlLnNoaWZ0KCksIGkgPSAwOyBpIDwgZS5sZW5ndGg7IGkrKykgaSAlIDIgPT09IDAgJiYgKGEgPSAiIiksIGEgKz0gZVtpXSwgaSAlIDIgIT09IDAgJiYgbi5wdXNoKGEpOw0KICAgICAgICAgICAgcmV0dXJuIG4NCiAgICAgICAgfSwNCiAgICAgICAgdXBkYXRlQ29udHJvbHM6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gbnVsbCwNCiAgICAgICAgICAgICAgICBvID0gbmV3IGUuQ29tbWFuZE11bHRpbWl4LA0KICAgICAgICAgICAgICAgIHIgPSAtMTsNCiAgICAgICAgICAgIGZvciAoYS5jYWxsQWN0aW9ucygiYmVmb3JlVXBkYXRlQ29udHJvbHMiLCBhcmd1bWVudHMpLCB0LmZpbHRlciA/IG8uZmlsdGVyID0gdC5maWx0ZXIuc2VsZWN0b3IgOiBvLmZpbHRlciA9IGEuc3RhdGUuYWN0aXZlRmlsdGVyLnNlbGVjdG9yLCB0LnNvcnQgPyBvLnNvcnQgPSBhLmJ1aWxkU29ydFN0cmluZyh0LnNvcnQpIDogby5zb3J0ID0gYS5idWlsZFNvcnRTdHJpbmcoYS5zdGF0ZS5hY3RpdmVTb3J0KSwgby5maWx0ZXIgPT09IGEuY29uZmlnLnNlbGVjdG9ycy50YXJnZXQgJiYgKG8uZmlsdGVyID0gImFsbCIpLCAiIiA9PT0gby5maWx0ZXIgJiYgKG8uZmlsdGVyID0gIm5vbmUiKSwgbi5mcmVlemUobyksIHIgPSAwOyBpID0gYS5jb250cm9sc1tyXTsgcisrKSBpLnVwZGF0ZShvLCBhLnRvZ2dsZUFycmF5KTsNCiAgICAgICAgICAgIGEuY2FsbEFjdGlvbnMoImFmdGVyVXBkYXRlQ29udHJvbHMiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGJ1aWxkU29ydFN0cmluZzogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzLA0KICAgICAgICAgICAgICAgIG4gPSAiIjsNCiAgICAgICAgICAgIHJldHVybiBuICs9IHQuc29ydFN0cmluZywgdC5uZXh0ICYmIChuICs9ICIgIiArIGUuYnVpbGRTb3J0U3RyaW5nKHQubmV4dCkpLCBuDQogICAgICAgIH0sDQogICAgICAgIGluc2VydFRhcmdldHM6IGZ1bmN0aW9uKHQsIGEpIHsNCiAgICAgICAgICAgIHZhciBpID0gdGhpcywNCiAgICAgICAgICAgICAgICBvID0gbnVsbCwNCiAgICAgICAgICAgICAgICByID0gLTEsDQogICAgICAgICAgICAgICAgcyA9IG51bGwsDQogICAgICAgICAgICAgICAgbCA9IG51bGwsDQogICAgICAgICAgICAgICAgYyA9IG51bGwsDQogICAgICAgICAgICAgICAgdSA9IC0xOw0KICAgICAgICAgICAgaWYgKGkuY2FsbEFjdGlvbnMoImJlZm9yZUluc2VydFRhcmdldHMiLCBhcmd1bWVudHMpLCAidW5kZWZpbmVkIiA9PSB0eXBlb2YgdC5pbmRleCAmJiAodC5pbmRleCA9IDApLCBvID0gaS5nZXROZXh0U2libGluZyh0LmluZGV4LCB0LnNpYmxpbmcsIHQucG9zaXRpb24pLCBzID0gaS5kb20uZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLCByID0gbyA/IG4uaW5kZXgobywgaS5jb25maWcuc2VsZWN0b3JzLnRhcmdldCkgOiBpLnRhcmdldHMubGVuZ3RoLCB0LmNvbGxlY3Rpb24pIHsNCiAgICAgICAgICAgICAgICBmb3IgKHUgPSAwOyBjID0gdC5jb2xsZWN0aW9uW3VdOyB1KyspIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGkuZG9tLnRhcmdldHMuaW5kZXhPZihjKSA+IC0xKSB0aHJvdyBuZXcgRXJyb3IoZS5tZXNzYWdlcy5lcnJvckluc2VydFByZWV4aXN0aW5nRWxlbWVudCgpKTsNCiAgICAgICAgICAgICAgICAgICAgYy5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiLCBzLmFwcGVuZENoaWxkKGMpLCBzLmFwcGVuZENoaWxkKGkuZG9tLmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIikpLCBuLmlzRWxlbWVudChjLCBpLmRvbS5kb2N1bWVudCkgJiYgYy5tYXRjaGVzKGkuY29uZmlnLnNlbGVjdG9ycy50YXJnZXQpICYmIChsID0gbmV3IGUuVGFyZ2V0LCBsLmluaXQoYywgaSksIGwuaXNJbkRvbSA9ICEwLCBpLnRhcmdldHMuc3BsaWNlKHIsIDAsIGwpLCByKyspDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGkuZG9tLnBhcmVudC5pbnNlcnRCZWZvcmUocywgbykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGEuc3RhcnRPcmRlciA9IGkub3JpZ09yZGVyID0gaS50YXJnZXRzLCBpLmNhbGxBY3Rpb25zKCJhZnRlckluc2VydFRhcmdldHMiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGdldE5leHRTaWJsaW5nOiBmdW5jdGlvbih0LCBlLCBuKSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IG51bGw7DQogICAgICAgICAgICByZXR1cm4gdCA9IE1hdGgubWF4KHQsIDApLCBlICYmICJiZWZvcmUiID09PSBuID8gaSA9IGUgOiBlICYmICJhZnRlciIgPT09IG4gPyBpID0gZS5uZXh0RWxlbWVudFNpYmxpbmcgfHwgbnVsbCA6IGEudGFyZ2V0cy5sZW5ndGggPiAwICYmICJ1bmRlZmluZWQiICE9IHR5cGVvZiB0ID8gaSA9IHQgPCBhLnRhcmdldHMubGVuZ3RoIHx8ICFhLnRhcmdldHMubGVuZ3RoID8gYS50YXJnZXRzW3RdLmRvbS5lbCA6IGEudGFyZ2V0c1thLnRhcmdldHMubGVuZ3RoIC0gMV0uZG9tLmVsLm5leHRFbGVtZW50U2libGluZyA6IDAgPT09IGEudGFyZ2V0cy5sZW5ndGggJiYgYS5kb20ucGFyZW50LmNoaWxkcmVuLmxlbmd0aCA+IDAgJiYgKGEuY29uZmlnLmxheW91dC5zaWJsaW5nQWZ0ZXIgPyBpID0gYS5jb25maWcubGF5b3V0LnNpYmxpbmdBZnRlciA6IGEuY29uZmlnLmxheW91dC5zaWJsaW5nQmVmb3JlID8gaSA9IGEuY29uZmlnLmxheW91dC5zaWJsaW5nQmVmb3JlLm5leHRFbGVtZW50U2libGluZyA6IGEuZG9tLnBhcmVudC5jaGlsZHJlblswXSksIGEuY2FsbEZpbHRlcnMoImVsZW1lbnRHZXROZXh0U2libGluZyIsIGksIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgZmlsdGVyT3BlcmF0aW9uOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSA9IHRoaXMsDQogICAgICAgICAgICAgICAgbiA9ICExLA0KICAgICAgICAgICAgICAgIGEgPSAtMSwNCiAgICAgICAgICAgICAgICBpID0gIiIsDQogICAgICAgICAgICAgICAgbyA9IG51bGwsDQogICAgICAgICAgICAgICAgciA9IC0xOw0KICAgICAgICAgICAgZm9yIChlLmNhbGxBY3Rpb25zKCJiZWZvcmVGaWx0ZXJPcGVyYXRpb24iLCBhcmd1bWVudHMpLCBpID0gdC5uZXdGaWx0ZXIuYWN0aW9uLCByID0gMDsgbyA9IHQubmV3T3JkZXJbcl07IHIrKykgbiA9IHQubmV3RmlsdGVyLmNvbGxlY3Rpb24gPyB0Lm5ld0ZpbHRlci5jb2xsZWN0aW9uLmluZGV4T2Yoby5kb20uZWwpID4gLTEgOiAiIiAhPT0gdC5uZXdGaWx0ZXIuc2VsZWN0b3IgJiYgby5kb20uZWwubWF0Y2hlcyh0Lm5ld0ZpbHRlci5zZWxlY3RvciksIGUuZXZhbHVhdGVIaWRlU2hvdyhuLCBvLCBpLCB0KTsNCiAgICAgICAgICAgIGlmICh0LnRvUmVtb3ZlLmxlbmd0aCkNCiAgICAgICAgICAgICAgICBmb3IgKHIgPSAwOyBvID0gdC5zaG93W3JdOyByKyspIHQudG9SZW1vdmUuaW5kZXhPZihvKSA+IC0xICYmICh0LnNob3cuc3BsaWNlKHIsIDEpLCAoYSA9IHQudG9TaG93LmluZGV4T2YobykpID4gLTEgJiYgdC50b1Nob3cuc3BsaWNlKGEsIDEpLCB0LnRvSGlkZS5wdXNoKG8pLCB0LmhpZGUucHVzaChvKSwgci0tKTsNCiAgICAgICAgICAgIHQubWF0Y2hpbmcgPSB0LnNob3cuc2xpY2UoKSwgMCA9PT0gdC5zaG93Lmxlbmd0aCAmJiAiIiAhPT0gdC5uZXdGaWx0ZXIuc2VsZWN0b3IgJiYgMCAhPT0gZS50YXJnZXRzLmxlbmd0aCAmJiAodC5oYXNGYWlsZWQgPSAhMCksIGUuY2FsbEFjdGlvbnMoImFmdGVyRmlsdGVyT3BlcmF0aW9uIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBldmFsdWF0ZUhpZGVTaG93OiBmdW5jdGlvbih0LCBlLCBuLCBhKSB7DQogICAgICAgICAgICB2YXIgaSA9IHRoaXMsDQogICAgICAgICAgICAgICAgbyA9ICExLA0KICAgICAgICAgICAgICAgIHIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpOw0KICAgICAgICAgICAgbyA9IGkuY2FsbEZpbHRlcnMoInRlc3RSZXN1bHRFdmFsdWF0ZUhpZGVTaG93IiwgdCwgciksIGkuY2FsbEFjdGlvbnMoImJlZm9yZUV2YWx1YXRlSGlkZVNob3ciLCBhcmd1bWVudHMpLCBvID09PSAhMCAmJiAic2hvdyIgPT09IG4gfHwgbyA9PT0gITEgJiYgImhpZGUiID09PSBuID8gKGEuc2hvdy5wdXNoKGUpLCAhZS5pc1Nob3duICYmIGEudG9TaG93LnB1c2goZSkpIDogKGEuaGlkZS5wdXNoKGUpLCBlLmlzU2hvd24gJiYgYS50b0hpZGUucHVzaChlKSksIGkuY2FsbEFjdGlvbnMoImFmdGVyRXZhbHVhdGVIaWRlU2hvdyIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgc29ydE9wZXJhdGlvbjogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGEgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGkgPSBbXSwNCiAgICAgICAgICAgICAgICBvID0gbnVsbCwNCiAgICAgICAgICAgICAgICByID0gbnVsbCwNCiAgICAgICAgICAgICAgICBzID0gLTE7DQogICAgICAgICAgICBpZiAoYS5jYWxsQWN0aW9ucygiYmVmb3JlU29ydE9wZXJhdGlvbiIsIGFyZ3VtZW50cyksIHQuc3RhcnRPcmRlciA9IGEudGFyZ2V0cywgdC5uZXdTb3J0LmNvbGxlY3Rpb24pIHsNCiAgICAgICAgICAgICAgICBmb3IgKGkgPSBbXSwgcyA9IDA7IHIgPSB0Lm5ld1NvcnQuY29sbGVjdGlvbltzXTsgcysrKSB7DQogICAgICAgICAgICAgICAgICAgIGlmIChhLmRvbS50YXJnZXRzLmluZGV4T2YocikgPCAwKSB0aHJvdyBuZXcgRXJyb3IoZS5tZXNzYWdlcy5lcnJvclNvcnROb25FeGlzdGVudEVsZW1lbnQoKSk7DQogICAgICAgICAgICAgICAgICAgIG8gPSBuZXcgZS5UYXJnZXQsIG8uaW5pdChyLCBhKSwgby5pc0luRG9tID0gITAsIGkucHVzaChvKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB0Lm5ld09yZGVyID0gaQ0KICAgICAgICAgICAgfSBlbHNlICJyYW5kb20iID09PSB0Lm5ld1NvcnQub3JkZXIgPyB0Lm5ld09yZGVyID0gbi5hcnJheVNodWZmbGUodC5zdGFydE9yZGVyKSA6ICIiID09PSB0Lm5ld1NvcnQuYXR0cmlidXRlID8gKHQubmV3T3JkZXIgPSBhLm9yaWdPcmRlci5zbGljZSgpLCAiZGVzYyIgPT09IHQubmV3U29ydC5vcmRlciAmJiB0Lm5ld09yZGVyLnJldmVyc2UoKSkgOiAodC5uZXdPcmRlciA9IHQuc3RhcnRPcmRlci5zbGljZSgpLCB0Lm5ld09yZGVyLnNvcnQoZnVuY3Rpb24oZSwgbikgew0KICAgICAgICAgICAgICAgIHJldHVybiBhLmNvbXBhcmUoZSwgbiwgdC5uZXdTb3J0KQ0KICAgICAgICAgICAgfSkpOw0KICAgICAgICAgICAgbi5pc0VxdWFsQXJyYXkodC5uZXdPcmRlciwgdC5zdGFydE9yZGVyKSAmJiAodC53aWxsU29ydCA9ICExKSwgYS5jYWxsQWN0aW9ucygiYWZ0ZXJTb3J0T3BlcmF0aW9uIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBjb21wYXJlOiBmdW5jdGlvbih0LCBlLCBuKSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IG4ub3JkZXIsDQogICAgICAgICAgICAgICAgbyA9IGEuZ2V0QXR0cmlidXRlVmFsdWUodCwgbi5hdHRyaWJ1dGUpLA0KICAgICAgICAgICAgICAgIHIgPSBhLmdldEF0dHJpYnV0ZVZhbHVlKGUsIG4uYXR0cmlidXRlKTsNCiAgICAgICAgICAgIHJldHVybiBpc05hTigxICogbykgfHwgaXNOYU4oMSAqIHIpID8gKG8gPSBvLnRvTG93ZXJDYXNlKCksIHIgPSByLnRvTG93ZXJDYXNlKCkpIDogKG8gPSAxICogbywgciA9IDEgKiByKSwgbyA8IHIgPyAiYXNjIiA9PT0gaSA/IC0xIDogMSA6IG8gPiByID8gImFzYyIgPT09IGkgPyAxIDogLTEgOiBvID09PSByICYmIG4ubmV4dCA/IGEuY29tcGFyZSh0LCBlLCBuLm5leHQpIDogMA0KICAgICAgICB9LA0KICAgICAgICBnZXRBdHRyaWJ1dGVWYWx1ZTogZnVuY3Rpb24odCwgbikgew0KICAgICAgICAgICAgdmFyIGEgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGkgPSAiIjsNCiAgICAgICAgICAgIHJldHVybiBpID0gdC5kb20uZWwuZ2V0QXR0cmlidXRlKCJkYXRhLSIgKyBuKSwgbnVsbCA9PT0gaSAmJiBhLmNvbmZpZy5kZWJ1Zy5zaG93V2FybmluZ3MgJiYgY29uc29sZS53YXJuKGUubWVzc2FnZXMud2FybmluZ0luY29uc2lzdGVudFNvcnRpbmdBdHRyaWJ1dGVzKHsNCiAgICAgICAgICAgICAgICBhdHRyaWJ1dGU6ICJkYXRhLSIgKyBuDQogICAgICAgICAgICB9KSksIGEuY2FsbEZpbHRlcnMoInZhbHVlR2V0QXR0cmlidXRlVmFsdWUiLCBpIHx8IDAsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgcHJpbnRTb3J0OiBmdW5jdGlvbihlLCBhKSB7DQogICAgICAgICAgICB2YXIgaSA9IHRoaXMsDQogICAgICAgICAgICAgICAgbyA9IGUgPyBhLm5ld09yZGVyIDogYS5zdGFydE9yZGVyLA0KICAgICAgICAgICAgICAgIHIgPSBlID8gYS5zdGFydE9yZGVyIDogYS5uZXdPcmRlciwNCiAgICAgICAgICAgICAgICBzID0gby5sZW5ndGggPyBvW28ubGVuZ3RoIC0gMV0uZG9tLmVsLm5leHRFbGVtZW50U2libGluZyA6IG51bGwsDQogICAgICAgICAgICAgICAgbCA9IHQuZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLA0KICAgICAgICAgICAgICAgIGMgPSBudWxsLA0KICAgICAgICAgICAgICAgIHUgPSBudWxsLA0KICAgICAgICAgICAgICAgIGYgPSBudWxsLA0KICAgICAgICAgICAgICAgIGggPSAtMTsNCiAgICAgICAgICAgIGZvciAoaS5jYWxsQWN0aW9ucygiYmVmb3JlUHJpbnRTb3J0IiwgYXJndW1lbnRzKSwgaCA9IDA7IHUgPSBvW2hdOyBoKyspIGYgPSB1LmRvbS5lbCwgImFic29sdXRlIiAhPT0gZi5zdHlsZS5wb3NpdGlvbiAmJiAobi5yZW1vdmVXaGl0ZXNwYWNlKGYucHJldmlvdXNTaWJsaW5nKSwgZi5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGYpKTsNCiAgICAgICAgICAgIGZvciAoYyA9IHMgPyBzLnByZXZpb3VzU2libGluZyA6IGkuZG9tLnBhcmVudC5sYXN0Q2hpbGQsIGMgJiYgIiN0ZXh0IiA9PT0gYy5ub2RlTmFtZSAmJiBuLnJlbW92ZVdoaXRlc3BhY2UoYyksIGggPSAwOyB1ID0gcltoXTsgaCsrKSBmID0gdS5kb20uZWwsIG4uaXNFbGVtZW50KGwubGFzdENoaWxkKSAmJiBsLmFwcGVuZENoaWxkKHQuZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKSksIGwuYXBwZW5kQ2hpbGQoZik7DQogICAgICAgICAgICBpLmRvbS5wYXJlbnQuZmlyc3RDaGlsZCAmJiBpLmRvbS5wYXJlbnQuZmlyc3RDaGlsZCAhPT0gcyAmJiBsLmluc2VydEJlZm9yZSh0LmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIiksIGwuY2hpbGROb2Rlc1swXSksIHMgPyAobC5hcHBlbmRDaGlsZCh0LmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIikpLCBpLmRvbS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGwsIHMpKSA6IGkuZG9tLnBhcmVudC5hcHBlbmRDaGlsZChsKSwgaS5jYWxsQWN0aW9ucygiYWZ0ZXJQcmludFNvcnQiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIHBhcnNlU29ydFN0cmluZzogZnVuY3Rpb24odCwgYSkgew0KICAgICAgICAgICAgdmFyIGkgPSB0aGlzLA0KICAgICAgICAgICAgICAgIG8gPSB0LnNwbGl0KCIgIiksDQogICAgICAgICAgICAgICAgciA9IGEsDQogICAgICAgICAgICAgICAgcyA9IFtdLA0KICAgICAgICAgICAgICAgIGwgPSAtMTsNCiAgICAgICAgICAgIGZvciAobCA9IDA7IGwgPCBvLmxlbmd0aDsgbCsrKSB7DQogICAgICAgICAgICAgICAgc3dpdGNoIChzID0gb1tsXS5zcGxpdCgiOiIpLCByLnNvcnRTdHJpbmcgPSBvW2xdLCByLmF0dHJpYnV0ZSA9IG4uZGFzaENhc2Uoc1swXSksIHIub3JkZXIgPSBzWzFdIHx8ICJhc2MiLCByLmF0dHJpYnV0ZSkgew0KICAgICAgICAgICAgICAgICAgICBjYXNlICJkZWZhdWx0IjoNCiAgICAgICAgICAgICAgICAgICAgICAgIHIuYXR0cmlidXRlID0gIiI7DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAicmFuZG9tIjoNCiAgICAgICAgICAgICAgICAgICAgICAgIHIuYXR0cmlidXRlID0gIiIsIHIub3JkZXIgPSAicmFuZG9tIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoIXIuYXR0cmlidXRlIHx8ICJyYW5kb20iID09PSByLm9yZGVyKSBicmVhazsNCiAgICAgICAgICAgICAgICBsIDwgby5sZW5ndGggLSAxICYmIChyLm5leHQgPSBuZXcgZS5Db21tYW5kU29ydCwgbi5mcmVlemUociksIHIgPSByLm5leHQpDQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gaS5jYWxsRmlsdGVycygiY29tbWFuZHNQYXJzZVNvcnQiLCBhLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIHBhcnNlRWZmZWN0czogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdCA9IHRoaXMsDQogICAgICAgICAgICAgICAgbiA9ICIiLA0KICAgICAgICAgICAgICAgIGEgPSB0LmNvbmZpZy5hbmltYXRpb24uZWZmZWN0c0luIHx8IHQuY29uZmlnLmFuaW1hdGlvbi5lZmZlY3RzLA0KICAgICAgICAgICAgICAgIGkgPSB0LmNvbmZpZy5hbmltYXRpb24uZWZmZWN0c091dCB8fCB0LmNvbmZpZy5hbmltYXRpb24uZWZmZWN0czsNCiAgICAgICAgICAgIHQuY2FsbEFjdGlvbnMoImJlZm9yZVBhcnNlRWZmZWN0cyIsIGFyZ3VtZW50cyksIHQuZWZmZWN0c0luID0gbmV3IGUuU3R5bGVEYXRhLCB0LmVmZmVjdHNPdXQgPSBuZXcgZS5TdHlsZURhdGEsIHQudHJhbnNmb3JtSW4gPSBbXSwgdC50cmFuc2Zvcm1PdXQgPSBbXSwgdC5lZmZlY3RzSW4ub3BhY2l0eSA9IHQuZWZmZWN0c091dC5vcGFjaXR5ID0gMSwgdC5wYXJzZUVmZmVjdCgiZmFkZSIsIGEsIHQuZWZmZWN0c0luLCB0LnRyYW5zZm9ybUluKSwgdC5wYXJzZUVmZmVjdCgiZmFkZSIsIGksIHQuZWZmZWN0c091dCwgdC50cmFuc2Zvcm1PdXQsICEwKTsNCiAgICAgICAgICAgIGZvciAobiBpbiBlLnRyYW5zZm9ybURlZmF1bHRzKSBlLnRyYW5zZm9ybURlZmF1bHRzW25dIGluc3RhbmNlb2YgZS5UcmFuc2Zvcm1EYXRhICYmICh0LnBhcnNlRWZmZWN0KG4sIGEsIHQuZWZmZWN0c0luLCB0LnRyYW5zZm9ybUluKSwgdC5wYXJzZUVmZmVjdChuLCBpLCB0LmVmZmVjdHNPdXQsIHQudHJhbnNmb3JtT3V0LCAhMCkpOw0KICAgICAgICAgICAgdC5wYXJzZUVmZmVjdCgic3RhZ2dlciIsIGEsIHQuZWZmZWN0c0luLCB0LnRyYW5zZm9ybUluKSwgdC5wYXJzZUVmZmVjdCgic3RhZ2dlciIsIGksIHQuZWZmZWN0c091dCwgdC50cmFuc2Zvcm1PdXQsICEwKSwgdC5jYWxsQWN0aW9ucygiYWZ0ZXJQYXJzZUVmZmVjdHMiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIHBhcnNlRWZmZWN0OiBmdW5jdGlvbih0LCBuLCBhLCBpLCBvKSB7DQogICAgICAgICAgICB2YXIgciA9IHRoaXMsDQogICAgICAgICAgICAgICAgcyA9IC9cKChbXildKylcKS8sDQogICAgICAgICAgICAgICAgbCA9IC0xLA0KICAgICAgICAgICAgICAgIGMgPSAiIiwNCiAgICAgICAgICAgICAgICB1ID0gW10sDQogICAgICAgICAgICAgICAgZiA9ICIiLA0KICAgICAgICAgICAgICAgIGggPSBbIiUiLCAicHgiLCAiZW0iLCAicmVtIiwgInZoIiwgInZ3IiwgImRlZyJdLA0KICAgICAgICAgICAgICAgIGQgPSAiIiwNCiAgICAgICAgICAgICAgICBtID0gLTE7DQogICAgICAgICAgICBpZiAoci5jYWxsQWN0aW9ucygiYmVmb3JlUGFyc2VFZmZlY3QiLCBhcmd1bWVudHMpLCAic3RyaW5nIiAhPSB0eXBlb2YgbikgdGhyb3cgbmV3IFR5cGVFcnJvcihlLm1lc3NhZ2VzLmVycm9yQ29uZmlnSW52YWxpZEFuaW1hdGlvbkVmZmVjdHMoKSk7DQogICAgICAgICAgICBpZiAobi5pbmRleE9mKHQpIDwgMCkgcmV0dXJuIHZvaWQoInN0YWdnZXIiID09PSB0ICYmIChyLnN0YWdnZXJEdXJhdGlvbiA9IDApKTsNCiAgICAgICAgICAgIHN3aXRjaCAobCA9IG4uaW5kZXhPZih0ICsgIigiKSwgbCA+IC0xICYmIChjID0gbi5zdWJzdHJpbmcobCksIHUgPSBzLmV4ZWMoYyksIGYgPSB1WzFdKSwgdCkgew0KICAgICAgICAgICAgICAgIGNhc2UgImZhZGUiOg0KICAgICAgICAgICAgICAgICAgICBhLm9wYWNpdHkgPSBmID8gcGFyc2VGbG9hdChmKSA6IDA7DQogICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgIGNhc2UgInN0YWdnZXIiOg0KICAgICAgICAgICAgICAgICAgICByLnN0YWdnZXJEdXJhdGlvbiA9IGYgPyBwYXJzZUZsb2F0KGYpIDogMTAwOw0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgICAgICBpZiAobyAmJiByLmNvbmZpZy5hbmltYXRpb24ucmV2ZXJzZU91dCAmJiAic2NhbGUiICE9PSB0ID8gYVt0XS52YWx1ZSA9IChmID8gcGFyc2VGbG9hdChmKSA6IGUudHJhbnNmb3JtRGVmYXVsdHNbdF0udmFsdWUpICogLTEgOiBhW3RdLnZhbHVlID0gZiA/IHBhcnNlRmxvYXQoZikgOiBlLnRyYW5zZm9ybURlZmF1bHRzW3RdLnZhbHVlLCBmKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKG0gPSAwOyBkID0gaFttXTsgbSsrKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmLmluZGV4T2YoZCkgPiAtMSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhW3RdLnVuaXQgPSBkOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGFbdF0udW5pdCA9IGUudHJhbnNmb3JtRGVmYXVsdHNbdF0udW5pdDsNCiAgICAgICAgICAgICAgICAgICAgaS5wdXNoKHQgKyAiKCIgKyBhW3RdLnZhbHVlICsgYVt0XS51bml0ICsgIikiKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgci5jYWxsQWN0aW9ucygiYWZ0ZXJQYXJzZUVmZmVjdCIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgYnVpbGRTdGF0ZTogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIG4gPSB0aGlzLA0KICAgICAgICAgICAgICAgIGEgPSBuZXcgZS5TdGF0ZSwNCiAgICAgICAgICAgICAgICBpID0gbnVsbCwNCiAgICAgICAgICAgICAgICBvID0gLTE7DQogICAgICAgICAgICBmb3IgKG4uY2FsbEFjdGlvbnMoImJlZm9yZUJ1aWxkU3RhdGUiLCBhcmd1bWVudHMpLCBvID0gMDsgaSA9IG4udGFyZ2V0c1tvXTsgbysrKSghdC50b1JlbW92ZS5sZW5ndGggfHwgdC50b1JlbW92ZS5pbmRleE9mKGkpIDwgMCkgJiYgYS50YXJnZXRzLnB1c2goaS5kb20uZWwpOw0KICAgICAgICAgICAgZm9yIChvID0gMDsgaSA9IHQubWF0Y2hpbmdbb107IG8rKykgYS5tYXRjaGluZy5wdXNoKGkuZG9tLmVsKTsNCiAgICAgICAgICAgIGZvciAobyA9IDA7IGkgPSB0LnNob3dbb107IG8rKykgYS5zaG93LnB1c2goaS5kb20uZWwpOw0KICAgICAgICAgICAgZm9yIChvID0gMDsgaSA9IHQuaGlkZVtvXTsgbysrKSghdC50b1JlbW92ZS5sZW5ndGggfHwgdC50b1JlbW92ZS5pbmRleE9mKGkpIDwgMCkgJiYgYS5oaWRlLnB1c2goaS5kb20uZWwpOw0KICAgICAgICAgICAgcmV0dXJuIGEuaWQgPSBuLmlkLCBhLmNvbnRhaW5lciA9IG4uZG9tLmNvbnRhaW5lciwgYS5hY3RpdmVGaWx0ZXIgPSB0Lm5ld0ZpbHRlciwgYS5hY3RpdmVTb3J0ID0gdC5uZXdTb3J0LCBhLmFjdGl2ZURhdGFzZXQgPSB0Lm5ld0RhdGFzZXQsIGEuYWN0aXZlQ29udGFpbmVyQ2xhc3NOYW1lID0gdC5uZXdDb250YWluZXJDbGFzc05hbWUsIGEuaGFzRmFpbGVkID0gdC5oYXNGYWlsZWQsIGEudG90YWxUYXJnZXRzID0gbi50YXJnZXRzLmxlbmd0aCwgYS50b3RhbFNob3cgPSB0LnNob3cubGVuZ3RoLCBhLnRvdGFsSGlkZSA9IHQuaGlkZS5sZW5ndGgsIGEudG90YWxNYXRjaGluZyA9IHQubWF0Y2hpbmcubGVuZ3RoLCBhLnRyaWdnZXJFbGVtZW50ID0gdC50cmlnZ2VyRWxlbWVudCwgbi5jYWxsRmlsdGVycygic3RhdGVCdWlsZFN0YXRlIiwgYSwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBnb01peDogZnVuY3Rpb24oYSwgaSkgew0KICAgICAgICAgICAgdmFyIG8gPSB0aGlzLA0KICAgICAgICAgICAgICAgIHIgPSBudWxsOw0KICAgICAgICAgICAgcmV0dXJuIG8uY2FsbEFjdGlvbnMoImJlZm9yZUdvTWl4IiwgYXJndW1lbnRzKSwgby5jb25maWcuYW5pbWF0aW9uLmR1cmF0aW9uICYmIG8uY29uZmlnLmFuaW1hdGlvbi5lZmZlY3RzICYmIG4uaXNWaXNpYmxlKG8uZG9tLmNvbnRhaW5lcikgfHwgKGEgPSAhMSksIGkudG9TaG93Lmxlbmd0aCB8fCBpLnRvSGlkZS5sZW5ndGggfHwgaS53aWxsU29ydCB8fCBpLndpbGxDaGFuZ2VMYXlvdXQgfHwgKGEgPSAhMSksIGkuc3RhcnRTdGF0ZS5zaG93Lmxlbmd0aCB8fCBpLnNob3cubGVuZ3RoIHx8IChhID0gITEpLCBlLmV2ZW50cy5maXJlKCJtaXhTdGFydCIsIG8uZG9tLmNvbnRhaW5lciwgew0KICAgICAgICAgICAgICAgIHN0YXRlOiBpLnN0YXJ0U3RhdGUsDQogICAgICAgICAgICAgICAgZnV0dXJlU3RhdGU6IGkubmV3U3RhdGUsDQogICAgICAgICAgICAgICAgaW5zdGFuY2U6IG8NCiAgICAgICAgICAgIH0sIG8uZG9tLmRvY3VtZW50KSwgImZ1bmN0aW9uIiA9PSB0eXBlb2Ygby5jb25maWcuY2FsbGJhY2tzLm9uTWl4U3RhcnQgJiYgby5jb25maWcuY2FsbGJhY2tzLm9uTWl4U3RhcnQuY2FsbChvLmRvbS5jb250YWluZXIsIGkuc3RhcnRTdGF0ZSwgaS5uZXdTdGF0ZSwgbyksIG4ucmVtb3ZlQ2xhc3Moby5kb20uY29udGFpbmVyLCBuLmdldENsYXNzbmFtZShvLmNvbmZpZy5jbGFzc05hbWVzLCAiY29udGFpbmVyIiwgby5jb25maWcuY2xhc3NOYW1lcy5tb2RpZmllckZhaWxlZCkpLCByID0gby51c2VyRGVmZXJyZWQgPyBvLnVzZXJEZWZlcnJlZCA6IG8udXNlckRlZmVycmVkID0gbi5kZWZlcihlLmxpYnJhcmllcyksIG8uaXNCdXN5ID0gITAsIGEgJiYgZS5mZWF0dXJlcy5oYXMudHJhbnNpdGlvbnMgPyAodC5wYWdlWU9mZnNldCAhPT0gaS5kb2NTdGF0ZS5zY3JvbGxUb3AgJiYgdC5zY3JvbGxUbyhpLmRvY1N0YXRlLnNjcm9sbExlZnQsIGkuZG9jU3RhdGUuc2Nyb2xsVG9wKSwgby5jb25maWcuYW5pbWF0aW9uLmFwcGx5UGVyc3BlY3RpdmUgJiYgKG8uZG9tLnBhcmVudC5zdHlsZVtlLmZlYXR1cmVzLnBlcnNwZWN0aXZlUHJvcF0gPSBvLmNvbmZpZy5hbmltYXRpb24ucGVyc3BlY3RpdmVEaXN0YW5jZSwgby5kb20ucGFyZW50LnN0eWxlW2UuZmVhdHVyZXMucGVyc3BlY3RpdmVPcmlnaW5Qcm9wXSA9IG8uY29uZmlnLmFuaW1hdGlvbi5wZXJzcGVjdGl2ZU9yaWdpbiksIG8uY29uZmlnLmFuaW1hdGlvbi5hbmltYXRlUmVzaXplQ29udGFpbmVyICYmIGkuc3RhcnRIZWlnaHQgIT09IGkubmV3SGVpZ2h0ICYmIGkudmlld3BvcnREZWx0YVkgIT09IGkuc3RhcnRIZWlnaHQgLSBpLm5ld0hlaWdodCAmJiAoby5kb20ucGFyZW50LnN0eWxlLmhlaWdodCA9IGkuc3RhcnRIZWlnaHQgKyAicHgiKSwgby5jb25maWcuYW5pbWF0aW9uLmFuaW1hdGVSZXNpemVDb250YWluZXIgJiYgaS5zdGFydFdpZHRoICE9PSBpLm5ld1dpZHRoICYmIGkudmlld3BvcnREZWx0YVggIT09IGkuc3RhcnRXaWR0aCAtIGkubmV3V2lkdGggJiYgKG8uZG9tLnBhcmVudC5zdHlsZS53aWR0aCA9IGkuc3RhcnRXaWR0aCArICJweCIpLCBpLnN0YXJ0SGVpZ2h0ID09PSBpLm5ld0hlaWdodCAmJiAoby5kb20ucGFyZW50LnN0eWxlLmhlaWdodCA9IGkuc3RhcnRIZWlnaHQgKyAicHgiKSwgaS5zdGFydFdpZHRoID09PSBpLm5ld1dpZHRoICYmIChvLmRvbS5wYXJlbnQuc3R5bGUud2lkdGggPSBpLnN0YXJ0V2lkdGggKyAicHgiKSwgaS5zdGFydEhlaWdodCA9PT0gaS5uZXdIZWlnaHQgJiYgaS5zdGFydFdpZHRoID09PSBpLm5ld1dpZHRoICYmIChvLmRvbS5wYXJlbnQuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIiksIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBvLm1vdmVUYXJnZXRzKGkpDQogICAgICAgICAgICB9KSwgby5jYWxsRmlsdGVycygicHJvbWlzZUdvTWl4Iiwgci5wcm9taXNlLCBhcmd1bWVudHMpKSA6IChvLmNvbmZpZy5kZWJ1Zy5mYXV4QXN5bmMgPyBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIG8uY2xlYW5VcChpKQ0KICAgICAgICAgICAgfSwgby5jb25maWcuYW5pbWF0aW9uLmR1cmF0aW9uKSA6IG8uY2xlYW5VcChpKSwgby5jYWxsRmlsdGVycygicHJvbWlzZUdvTWl4Iiwgci5wcm9taXNlLCBhcmd1bWVudHMpKQ0KICAgICAgICB9LA0KICAgICAgICBnZXRTdGFydE1peERhdGE6IGZ1bmN0aW9uKG4pIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gdC5nZXRDb21wdXRlZFN0eWxlKGEuZG9tLnBhcmVudCksDQogICAgICAgICAgICAgICAgbyA9IGEuZG9tLnBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwNCiAgICAgICAgICAgICAgICByID0gbnVsbCwNCiAgICAgICAgICAgICAgICBzID0ge30sDQogICAgICAgICAgICAgICAgbCA9IC0xLA0KICAgICAgICAgICAgICAgIGMgPSBpW2UuZmVhdHVyZXMuYm94U2l6aW5nUHJvcF07DQogICAgICAgICAgICBmb3IgKGEuaW5jUGFkZGluZyA9ICJib3JkZXItYm94IiA9PT0gYywgYS5jYWxsQWN0aW9ucygiYmVmb3JlR2V0U3RhcnRNaXhEYXRhIiwgYXJndW1lbnRzKSwgbCA9IDA7IHIgPSBuLnNob3dbbF07IGwrKykgcyA9IHIuZ2V0UG9zRGF0YSgpLCBuLnNob3dQb3NEYXRhW2xdID0gew0KICAgICAgICAgICAgICAgIHN0YXJ0UG9zRGF0YTogcw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIGZvciAobCA9IDA7IHIgPSBuLnRvSGlkZVtsXTsgbCsrKSBzID0gci5nZXRQb3NEYXRhKCksIG4udG9IaWRlUG9zRGF0YVtsXSA9IHsNCiAgICAgICAgICAgICAgICBzdGFydFBvc0RhdGE6IHMNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICBuLnN0YXJ0WCA9IG8ubGVmdCwgbi5zdGFydFkgPSBvLnRvcCwgbi5zdGFydEhlaWdodCA9IGEuaW5jUGFkZGluZyA/IG8uaGVpZ2h0IDogby5oZWlnaHQgLSBwYXJzZUZsb2F0KGkucGFkZGluZ1RvcCkgLSBwYXJzZUZsb2F0KGkucGFkZGluZ0JvdHRvbSkgLSBwYXJzZUZsb2F0KGkuYm9yZGVyVG9wKSAtIHBhcnNlRmxvYXQoaS5ib3JkZXJCb3R0b20pLCBuLnN0YXJ0V2lkdGggPSBhLmluY1BhZGRpbmcgPyBvLndpZHRoIDogby53aWR0aCAtIHBhcnNlRmxvYXQoaS5wYWRkaW5nTGVmdCkgLSBwYXJzZUZsb2F0KGkucGFkZGluZ1JpZ2h0KSAtIHBhcnNlRmxvYXQoaS5ib3JkZXJMZWZ0KSAtIHBhcnNlRmxvYXQoaS5ib3JkZXJSaWdodCksIGEuY2FsbEFjdGlvbnMoImFmdGVyR2V0U3RhcnRNaXhEYXRhIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBzZXRJbnRlcjogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGEgPSBudWxsLA0KICAgICAgICAgICAgICAgIGkgPSAtMTsNCiAgICAgICAgICAgIGZvciAoZS5jYWxsQWN0aW9ucygiYmVmb3JlU2V0SW50ZXIiLCBhcmd1bWVudHMpLCBlLmNvbmZpZy5hbmltYXRpb24uY2xhbXBIZWlnaHQgJiYgKGUuZG9tLnBhcmVudC5zdHlsZS5oZWlnaHQgPSB0LnN0YXJ0SGVpZ2h0ICsgInB4IiwgZS5kb20ucGFyZW50LnN0eWxlLm92ZXJmbG93ID0gImhpZGRlbiIpLCBlLmNvbmZpZy5hbmltYXRpb24uY2xhbXBXaWR0aCAmJiAoZS5kb20ucGFyZW50LnN0eWxlLndpZHRoID0gdC5zdGFydFdpZHRoICsgInB4IiwgZS5kb20ucGFyZW50LnN0eWxlLm92ZXJmbG93ID0gImhpZGRlbiIpLCBpID0gMDsgYSA9IHQudG9TaG93W2ldOyBpKyspIGEuc2hvdygpOw0KICAgICAgICAgICAgdC53aWxsQ2hhbmdlTGF5b3V0ICYmIChuLnJlbW92ZUNsYXNzKGUuZG9tLmNvbnRhaW5lciwgdC5zdGFydENvbnRhaW5lckNsYXNzTmFtZSksIG4uYWRkQ2xhc3MoZS5kb20uY29udGFpbmVyLCB0Lm5ld0NvbnRhaW5lckNsYXNzTmFtZSkpLCBlLmNhbGxBY3Rpb25zKCJhZnRlclNldEludGVyIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBnZXRJbnRlck1peERhdGE6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBlID0gdGhpcywNCiAgICAgICAgICAgICAgICBuID0gbnVsbCwNCiAgICAgICAgICAgICAgICBhID0gLTE7DQogICAgICAgICAgICBmb3IgKGUuY2FsbEFjdGlvbnMoImJlZm9yZUdldEludGVyTWl4RGF0YSIsIGFyZ3VtZW50cyksIGEgPSAwOyBuID0gdC5zaG93W2FdOyBhKyspIHQuc2hvd1Bvc0RhdGFbYV0uaW50ZXJQb3NEYXRhID0gbi5nZXRQb3NEYXRhKCk7DQogICAgICAgICAgICBmb3IgKGEgPSAwOyBuID0gdC50b0hpZGVbYV07IGErKykgdC50b0hpZGVQb3NEYXRhW2FdLmludGVyUG9zRGF0YSA9IG4uZ2V0UG9zRGF0YSgpOw0KICAgICAgICAgICAgZS5jYWxsQWN0aW9ucygiYWZ0ZXJHZXRJbnRlck1peERhdGEiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIHNldEZpbmFsOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSA9IHRoaXMsDQogICAgICAgICAgICAgICAgbiA9IG51bGwsDQogICAgICAgICAgICAgICAgYSA9IC0xOw0KICAgICAgICAgICAgZm9yIChlLmNhbGxBY3Rpb25zKCJiZWZvcmVTZXRGaW5hbCIsIGFyZ3VtZW50cyksIHQud2lsbFNvcnQgJiYgZS5wcmludFNvcnQoITEsIHQpLCBhID0gMDsgbiA9IHQudG9IaWRlW2FdOyBhKyspIG4uaGlkZSgpOw0KICAgICAgICAgICAgZS5jYWxsQWN0aW9ucygiYWZ0ZXJTZXRGaW5hbCIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgZ2V0RmluYWxNaXhEYXRhOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IG51bGwsDQogICAgICAgICAgICAgICAgbyA9IG51bGwsDQogICAgICAgICAgICAgICAgciA9IG51bGwsDQogICAgICAgICAgICAgICAgcyA9IC0xOw0KICAgICAgICAgICAgZm9yIChhLmNhbGxBY3Rpb25zKCJiZWZvcmVHZXRGaW5hbE1peERhdGEiLCBhcmd1bWVudHMpLCBzID0gMDsgciA9IGUuc2hvd1tzXTsgcysrKSBlLnNob3dQb3NEYXRhW3NdLmZpbmFsUG9zRGF0YSA9IHIuZ2V0UG9zRGF0YSgpOw0KICAgICAgICAgICAgZm9yIChzID0gMDsgciA9IGUudG9IaWRlW3NdOyBzKyspIGUudG9IaWRlUG9zRGF0YVtzXS5maW5hbFBvc0RhdGEgPSByLmdldFBvc0RhdGEoKTsNCiAgICAgICAgICAgIGZvciAoKGEuY29uZmlnLmFuaW1hdGlvbi5jbGFtcEhlaWdodCB8fCBhLmNvbmZpZy5hbmltYXRpb24uY2xhbXBXaWR0aCkgJiYgKGEuZG9tLnBhcmVudC5zdHlsZS5oZWlnaHQgPSBhLmRvbS5wYXJlbnQuc3R5bGUud2lkdGggPSBhLmRvbS5wYXJlbnQuc3R5bGUub3ZlcmZsb3cgPSAiIiksIGEuaW5jUGFkZGluZyB8fCAoaSA9IHQuZ2V0Q29tcHV0ZWRTdHlsZShhLmRvbS5wYXJlbnQpKSwgbyA9IGEuZG9tLnBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwgZS5uZXdYID0gby5sZWZ0LCBlLm5ld1kgPSBvLnRvcCwgZS5uZXdIZWlnaHQgPSBhLmluY1BhZGRpbmcgPyBvLmhlaWdodCA6IG8uaGVpZ2h0IC0gcGFyc2VGbG9hdChpLnBhZGRpbmdUb3ApIC0gcGFyc2VGbG9hdChpLnBhZGRpbmdCb3R0b20pIC0gcGFyc2VGbG9hdChpLmJvcmRlclRvcCkgLSBwYXJzZUZsb2F0KGkuYm9yZGVyQm90dG9tKSwgZS5uZXdXaWR0aCA9IGEuaW5jUGFkZGluZyA/IG8ud2lkdGggOiBvLndpZHRoIC0gcGFyc2VGbG9hdChpLnBhZGRpbmdMZWZ0KSAtIHBhcnNlRmxvYXQoaS5wYWRkaW5nUmlnaHQpIC0gcGFyc2VGbG9hdChpLmJvcmRlckxlZnQpIC0gcGFyc2VGbG9hdChpLmJvcmRlclJpZ2h0KSwgZS52aWV3cG9ydERlbHRhWCA9IGUuZG9jU3RhdGUudmlld3BvcnRXaWR0aCAtIHRoaXMuZG9tLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCwgZS52aWV3cG9ydERlbHRhWSA9IGUuZG9jU3RhdGUudmlld3BvcnRIZWlnaHQgLSB0aGlzLmRvbS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0LCBlLndpbGxTb3J0ICYmIGEucHJpbnRTb3J0KCEwLCBlKSwgcyA9IDA7IHIgPSBlLnRvU2hvd1tzXTsgcysrKSByLmhpZGUoKTsNCiAgICAgICAgICAgIGZvciAocyA9IDA7IHIgPSBlLnRvSGlkZVtzXTsgcysrKSByLnNob3coKTsNCiAgICAgICAgICAgIGUud2lsbENoYW5nZUxheW91dCAmJiAobi5yZW1vdmVDbGFzcyhhLmRvbS5jb250YWluZXIsIGUubmV3Q29udGFpbmVyQ2xhc3NOYW1lKSwgbi5hZGRDbGFzcyhhLmRvbS5jb250YWluZXIsIGEuY29uZmlnLmxheW91dC5jb250YWluZXJDbGFzc05hbWUpKSwgYS5jYWxsQWN0aW9ucygiYWZ0ZXJHZXRGaW5hbE1peERhdGEiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGdldFR3ZWVuRGF0YTogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIG4gPSB0aGlzLA0KICAgICAgICAgICAgICAgIGEgPSBudWxsLA0KICAgICAgICAgICAgICAgIGkgPSBudWxsLA0KICAgICAgICAgICAgICAgIG8gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhuLmVmZmVjdHNJbiksDQogICAgICAgICAgICAgICAgciA9ICIiLA0KICAgICAgICAgICAgICAgIHMgPSBudWxsLA0KICAgICAgICAgICAgICAgIGwgPSAtMSwNCiAgICAgICAgICAgICAgICBjID0gLTEsDQogICAgICAgICAgICAgICAgdSA9IC0xLA0KICAgICAgICAgICAgICAgIGYgPSAtMTsNCiAgICAgICAgICAgIGZvciAobi5jYWxsQWN0aW9ucygiYmVmb3JlR2V0VHdlZW5EYXRhIiwgYXJndW1lbnRzKSwgdSA9IDA7IGEgPSB0LnNob3dbdV07IHUrKykNCiAgICAgICAgICAgICAgICBmb3IgKGkgPSB0LnNob3dQb3NEYXRhW3VdLCBpLnBvc0luID0gbmV3IGUuU3R5bGVEYXRhLCBpLnBvc091dCA9IG5ldyBlLlN0eWxlRGF0YSwgaS50d2VlbkRhdGEgPSBuZXcgZS5TdHlsZURhdGEsIGEuaXNTaG93biA/IChpLnBvc0luLnggPSBpLnN0YXJ0UG9zRGF0YS54IC0gaS5pbnRlclBvc0RhdGEueCwgaS5wb3NJbi55ID0gaS5zdGFydFBvc0RhdGEueSAtIGkuaW50ZXJQb3NEYXRhLnkpIDogaS5wb3NJbi54ID0gaS5wb3NJbi55ID0gMCwgaS5wb3NPdXQueCA9IGkuZmluYWxQb3NEYXRhLnggLSBpLmludGVyUG9zRGF0YS54LCBpLnBvc091dC55ID0gaS5maW5hbFBvc0RhdGEueSAtIGkuaW50ZXJQb3NEYXRhLnksIGkucG9zSW4ub3BhY2l0eSA9IGEuaXNTaG93biA/IDEgOiBuLmVmZmVjdHNJbi5vcGFjaXR5LCBpLnBvc091dC5vcGFjaXR5ID0gMSwgaS50d2VlbkRhdGEub3BhY2l0eSA9IGkucG9zT3V0Lm9wYWNpdHkgLSBpLnBvc0luLm9wYWNpdHksIGEuaXNTaG93biB8fCBuLmNvbmZpZy5hbmltYXRpb24ubnVkZ2UgfHwgKGkucG9zSW4ueCA9IGkucG9zT3V0LngsIGkucG9zSW4ueSA9IGkucG9zT3V0LnkpLCBpLnR3ZWVuRGF0YS54ID0gaS5wb3NPdXQueCAtIGkucG9zSW4ueCwgaS50d2VlbkRhdGEueSA9IGkucG9zT3V0LnkgLSBpLnBvc0luLnksIG4uY29uZmlnLmFuaW1hdGlvbi5hbmltYXRlUmVzaXplVGFyZ2V0cyAmJiAoaS5wb3NJbi53aWR0aCA9IGkuc3RhcnRQb3NEYXRhLndpZHRoLCBpLnBvc0luLmhlaWdodCA9IGkuc3RhcnRQb3NEYXRhLmhlaWdodCwgbCA9IChpLnN0YXJ0UG9zRGF0YS53aWR0aCB8fCBpLmZpbmFsUG9zRGF0YS53aWR0aCkgLSBpLmludGVyUG9zRGF0YS53aWR0aCwgaS5wb3NJbi5tYXJnaW5SaWdodCA9IGkuc3RhcnRQb3NEYXRhLm1hcmdpblJpZ2h0IC0gbCwgYyA9IChpLnN0YXJ0UG9zRGF0YS5oZWlnaHQgfHwgaS5maW5hbFBvc0RhdGEuaGVpZ2h0KSAtIGkuaW50ZXJQb3NEYXRhLmhlaWdodCwgaS5wb3NJbi5tYXJnaW5Cb3R0b20gPSBpLnN0YXJ0UG9zRGF0YS5tYXJnaW5Cb3R0b20gLSBjLCBpLnBvc091dC53aWR0aCA9IGkuZmluYWxQb3NEYXRhLndpZHRoLCBpLnBvc091dC5oZWlnaHQgPSBpLmZpbmFsUG9zRGF0YS5oZWlnaHQsIGwgPSAoaS5maW5hbFBvc0RhdGEud2lkdGggfHwgaS5zdGFydFBvc0RhdGEud2lkdGgpIC0gaS5pbnRlclBvc0RhdGEud2lkdGgsIGkucG9zT3V0Lm1hcmdpblJpZ2h0ID0gaS5maW5hbFBvc0RhdGEubWFyZ2luUmlnaHQgLSBsLCBjID0gKGkuZmluYWxQb3NEYXRhLmhlaWdodCB8fCBpLnN0YXJ0UG9zRGF0YS5oZWlnaHQpIC0gaS5pbnRlclBvc0RhdGEuaGVpZ2h0LCBpLnBvc091dC5tYXJnaW5Cb3R0b20gPSBpLmZpbmFsUG9zRGF0YS5tYXJnaW5Cb3R0b20gLSBjLCBpLnR3ZWVuRGF0YS53aWR0aCA9IGkucG9zT3V0LndpZHRoIC0gaS5wb3NJbi53aWR0aCwgaS50d2VlbkRhdGEuaGVpZ2h0ID0gaS5wb3NPdXQuaGVpZ2h0IC0gaS5wb3NJbi5oZWlnaHQsIGkudHdlZW5EYXRhLm1hcmdpblJpZ2h0ID0gaS5wb3NPdXQubWFyZ2luUmlnaHQgLSBpLnBvc0luLm1hcmdpblJpZ2h0LCBpLnR3ZWVuRGF0YS5tYXJnaW5Cb3R0b20gPSBpLnBvc091dC5tYXJnaW5Cb3R0b20gLSBpLnBvc0luLm1hcmdpbkJvdHRvbSksIGYgPSAwOyByID0gb1tmXTsgZisrKSBzID0gbi5lZmZlY3RzSW5bcl0sIHMgaW5zdGFuY2VvZiBlLlRyYW5zZm9ybURhdGEgJiYgcy52YWx1ZSAmJiAoaS5wb3NJbltyXS52YWx1ZSA9IHMudmFsdWUsIGkucG9zT3V0W3JdLnZhbHVlID0gMCwgaS50d2VlbkRhdGFbcl0udmFsdWUgPSBpLnBvc091dFtyXS52YWx1ZSAtIGkucG9zSW5bcl0udmFsdWUsIGkucG9zSW5bcl0udW5pdCA9IGkucG9zT3V0W3JdLnVuaXQgPSBpLnR3ZWVuRGF0YVtyXS51bml0ID0gcy51bml0KTsNCiAgICAgICAgICAgIGZvciAodSA9IDA7IGEgPSB0LnRvSGlkZVt1XTsgdSsrKQ0KICAgICAgICAgICAgICAgIGZvciAoaSA9IHQudG9IaWRlUG9zRGF0YVt1XSwgaS5wb3NJbiA9IG5ldyBlLlN0eWxlRGF0YSwgaS5wb3NPdXQgPSBuZXcgZS5TdHlsZURhdGEsIGkudHdlZW5EYXRhID0gbmV3IGUuU3R5bGVEYXRhLCBpLnBvc0luLnggPSBhLmlzU2hvd24gPyBpLnN0YXJ0UG9zRGF0YS54IC0gaS5pbnRlclBvc0RhdGEueCA6IDAsIGkucG9zSW4ueSA9IGEuaXNTaG93biA/IGkuc3RhcnRQb3NEYXRhLnkgLSBpLmludGVyUG9zRGF0YS55IDogMCwgaS5wb3NPdXQueCA9IG4uY29uZmlnLmFuaW1hdGlvbi5udWRnZSA/IDAgOiBpLnBvc0luLngsIGkucG9zT3V0LnkgPSBuLmNvbmZpZy5hbmltYXRpb24ubnVkZ2UgPyAwIDogaS5wb3NJbi55LCBpLnR3ZWVuRGF0YS54ID0gaS5wb3NPdXQueCAtIGkucG9zSW4ueCwgaS50d2VlbkRhdGEueSA9IGkucG9zT3V0LnkgLSBpLnBvc0luLnksIG4uY29uZmlnLmFuaW1hdGlvbi5hbmltYXRlUmVzaXplVGFyZ2V0cyAmJiAoaS5wb3NJbi53aWR0aCA9IGkuc3RhcnRQb3NEYXRhLndpZHRoLCBpLnBvc0luLmhlaWdodCA9IGkuc3RhcnRQb3NEYXRhLmhlaWdodCwgbCA9IGkuc3RhcnRQb3NEYXRhLndpZHRoIC0gaS5pbnRlclBvc0RhdGEud2lkdGgsIGkucG9zSW4ubWFyZ2luUmlnaHQgPSBpLnN0YXJ0UG9zRGF0YS5tYXJnaW5SaWdodCAtIGwsIGMgPSBpLnN0YXJ0UG9zRGF0YS5oZWlnaHQgLSBpLmludGVyUG9zRGF0YS5oZWlnaHQsIGkucG9zSW4ubWFyZ2luQm90dG9tID0gaS5zdGFydFBvc0RhdGEubWFyZ2luQm90dG9tIC0gYyksIGkucG9zSW4ub3BhY2l0eSA9IDEsIGkucG9zT3V0Lm9wYWNpdHkgPSBuLmVmZmVjdHNPdXQub3BhY2l0eSwgaS50d2VlbkRhdGEub3BhY2l0eSA9IGkucG9zT3V0Lm9wYWNpdHkgLSBpLnBvc0luLm9wYWNpdHksIGYgPSAwOyByID0gb1tmXTsgZisrKSBzID0gbi5lZmZlY3RzT3V0W3JdLCBzIGluc3RhbmNlb2YgZS5UcmFuc2Zvcm1EYXRhICYmIHMudmFsdWUgJiYgKGkucG9zSW5bcl0udmFsdWUgPSAwLCBpLnBvc091dFtyXS52YWx1ZSA9IHMudmFsdWUsIGkudHdlZW5EYXRhW3JdLnZhbHVlID0gaS5wb3NPdXRbcl0udmFsdWUgLSBpLnBvc0luW3JdLnZhbHVlLCBpLnBvc0luW3JdLnVuaXQgPSBpLnBvc091dFtyXS51bml0ID0gaS50d2VlbkRhdGFbcl0udW5pdCA9IHMudW5pdCk7DQogICAgICAgICAgICBuLmNhbGxBY3Rpb25zKCJhZnRlckdldFR3ZWVuRGF0YSIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgbW92ZVRhcmdldHM6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gbnVsbCwNCiAgICAgICAgICAgICAgICBvID0gbnVsbCwNCiAgICAgICAgICAgICAgICByID0gbnVsbCwNCiAgICAgICAgICAgICAgICBzID0gIiIsDQogICAgICAgICAgICAgICAgbCA9ICExLA0KICAgICAgICAgICAgICAgIGMgPSAtMSwNCiAgICAgICAgICAgICAgICB1ID0gLTEsDQogICAgICAgICAgICAgICAgZiA9IGEuY2hlY2tQcm9ncmVzcy5iaW5kKGEpOw0KICAgICAgICAgICAgZm9yIChhLmNhbGxBY3Rpb25zKCJiZWZvcmVNb3ZlVGFyZ2V0cyIsIGFyZ3VtZW50cyksIHUgPSAwOyBpID0gdC5zaG93W3VdOyB1KyspIG8gPSBuZXcgZS5JTW92ZURhdGEsIHIgPSB0LnNob3dQb3NEYXRhW3VdLCBzID0gaS5pc1Nob3duID8gIm5vbmUiIDogInNob3ciLCBsID0gYS53aWxsVHJhbnNpdGlvbihzLCB0Lmhhc0VmZmVjdCwgci5wb3NJbiwgci5wb3NPdXQpLCBsICYmIGMrKywgaS5zaG93KCksIG8ucG9zSW4gPSByLnBvc0luLCBvLnBvc091dCA9IHIucG9zT3V0LCBvLnN0YXR1c0NoYW5nZSA9IHMsIG8uc3RhZ2dlckluZGV4ID0gYywgby5vcGVyYXRpb24gPSB0LCBvLmNhbGxiYWNrID0gbCA/IGYgOiBudWxsLCBpLm1vdmUobyk7DQogICAgICAgICAgICBmb3IgKHUgPSAwOyBpID0gdC50b0hpZGVbdV07IHUrKykgciA9IHQudG9IaWRlUG9zRGF0YVt1XSwgbyA9IG5ldyBlLklNb3ZlRGF0YSwgcyA9ICJoaWRlIiwgbCA9IGEud2lsbFRyYW5zaXRpb24ocywgci5wb3NJbiwgci5wb3NPdXQpLCBvLnBvc0luID0gci5wb3NJbiwgby5wb3NPdXQgPSByLnBvc091dCwgby5zdGF0dXNDaGFuZ2UgPSBzLCBvLnN0YWdnZXJJbmRleCA9IHUsIG8ub3BlcmF0aW9uID0gdCwgby5jYWxsYmFjayA9IGwgPyBmIDogbnVsbCwgaS5tb3ZlKG8pOw0KICAgICAgICAgICAgYS5jb25maWcuYW5pbWF0aW9uLmFuaW1hdGVSZXNpemVDb250YWluZXIgJiYgKGEuZG9tLnBhcmVudC5zdHlsZVtlLmZlYXR1cmVzLnRyYW5zaXRpb25Qcm9wXSA9ICJoZWlnaHQgIiArIGEuY29uZmlnLmFuaW1hdGlvbi5kdXJhdGlvbiArICJtcyBlYXNlLCB3aWR0aCAiICsgYS5jb25maWcuYW5pbWF0aW9uLmR1cmF0aW9uICsgIm1zIGVhc2UgIiwgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHQuc3RhcnRIZWlnaHQgIT09IHQubmV3SGVpZ2h0ICYmIHQudmlld3BvcnREZWx0YVkgIT09IHQuc3RhcnRIZWlnaHQgLSB0Lm5ld0hlaWdodCAmJiAoYS5kb20ucGFyZW50LnN0eWxlLmhlaWdodCA9IHQubmV3SGVpZ2h0ICsgInB4IiksIHQuc3RhcnRXaWR0aCAhPT0gdC5uZXdXaWR0aCAmJiB0LnZpZXdwb3J0RGVsdGFYICE9PSB0LnN0YXJ0V2lkdGggLSB0Lm5ld1dpZHRoICYmIChhLmRvbS5wYXJlbnQuc3R5bGUud2lkdGggPSB0Lm5ld1dpZHRoICsgInB4IikNCiAgICAgICAgICAgIH0pKSwgdC53aWxsQ2hhbmdlTGF5b3V0ICYmIChuLnJlbW92ZUNsYXNzKGEuZG9tLmNvbnRhaW5lciwgYS5jb25maWcubGF5b3V0LkNvbnRhaW5lckNsYXNzTmFtZSksIG4uYWRkQ2xhc3MoYS5kb20uY29udGFpbmVyLCB0Lm5ld0NvbnRhaW5lckNsYXNzTmFtZSkpLCBhLmNhbGxBY3Rpb25zKCJhZnRlck1vdmVUYXJnZXRzIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBoYXNFZmZlY3Q6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGUgPSBbInNjYWxlIiwgInRyYW5zbGF0ZVgiLCAidHJhbnNsYXRlWSIsICJ0cmFuc2xhdGVaIiwgInJvdGF0ZVgiLCAicm90YXRlWSIsICJyb3RhdGVaIl0sDQogICAgICAgICAgICAgICAgbiA9ICIiLA0KICAgICAgICAgICAgICAgIGEgPSBudWxsLA0KICAgICAgICAgICAgICAgIGkgPSAhMSwNCiAgICAgICAgICAgICAgICBvID0gLTEsDQogICAgICAgICAgICAgICAgciA9IC0xOw0KICAgICAgICAgICAgaWYgKDEgIT09IHQuZWZmZWN0c0luLm9wYWNpdHkpIHJldHVybiB0LmNhbGxGaWx0ZXJzKCJyZXN1bHRIYXNFZmZlY3QiLCAhMCwgYXJndW1lbnRzKTsNCiAgICAgICAgICAgIGZvciAociA9IDA7IG4gPSBlW3JdOyByKyspDQogICAgICAgICAgICAgICAgaWYgKGEgPSB0LmVmZmVjdHNJbltuXSwgbyA9ICJ1bmRlZmluZWQiICE9PSBhLnZhbHVlID8gYS52YWx1ZSA6IGEsIDAgIT09IG8pIHsNCiAgICAgICAgICAgICAgICAgICAgaSA9ICEwOw0KICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0LmNhbGxGaWx0ZXJzKCJyZXN1bHRIYXNFZmZlY3QiLCBpLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIHdpbGxUcmFuc2l0aW9uOiBmdW5jdGlvbih0LCBlLCBhLCBpKSB7DQogICAgICAgICAgICB2YXIgbyA9IHRoaXMsDQogICAgICAgICAgICAgICAgciA9ICExOw0KICAgICAgICAgICAgcmV0dXJuIHIgPSAhIW4uaXNWaXNpYmxlKG8uZG9tLmNvbnRhaW5lcikgJiYgKCEhKCJub25lIiAhPT0gdCAmJiBlIHx8IGEueCAhPT0gaS54IHx8IGEueSAhPT0gaS55KSB8fCAhIW8uY29uZmlnLmFuaW1hdGlvbi5hbmltYXRlUmVzaXplVGFyZ2V0cyAmJiAoYS53aWR0aCAhPT0gaS53aWR0aCB8fCBhLmhlaWdodCAhPT0gaS5oZWlnaHQgfHwgYS5tYXJnaW5SaWdodCAhPT0gaS5tYXJnaW5SaWdodCB8fCBhLm1hcmdpblRvcCAhPT0gaS5tYXJnaW5Ub3ApKSwgby5jYWxsRmlsdGVycygicmVzdWx0V2lsbFRyYW5zaXRpb24iLCByLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGNoZWNrUHJvZ3Jlc3M6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBlID0gdGhpczsNCiAgICAgICAgICAgIGUudGFyZ2V0c0RvbmUrKywgZS50YXJnZXRzQm91bmQgPT09IGUudGFyZ2V0c0RvbmUgJiYgZS5jbGVhblVwKHQpDQogICAgICAgIH0sDQogICAgICAgIGNsZWFuVXA6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gbnVsbCwNCiAgICAgICAgICAgICAgICBvID0gbnVsbCwNCiAgICAgICAgICAgICAgICByID0gbnVsbCwNCiAgICAgICAgICAgICAgICBzID0gbnVsbCwNCiAgICAgICAgICAgICAgICBsID0gLTE7DQogICAgICAgICAgICBmb3IgKGEuY2FsbEFjdGlvbnMoImJlZm9yZUNsZWFuVXAiLCBhcmd1bWVudHMpLCBhLnRhcmdldHNNb3ZlZCA9IGEudGFyZ2V0c0ltbW92YWJsZSA9IGEudGFyZ2V0c0JvdW5kID0gYS50YXJnZXRzRG9uZSA9IDAsIGwgPSAwOyBpID0gdC5zaG93W2xdOyBsKyspIGkuY2xlYW5VcCgpLCBpLnNob3coKTsNCiAgICAgICAgICAgIGZvciAobCA9IDA7IGkgPSB0LnRvSGlkZVtsXTsgbCsrKSBpLmNsZWFuVXAoKSwgaS5oaWRlKCk7DQogICAgICAgICAgICBpZiAodC53aWxsU29ydCAmJiBhLnByaW50U29ydCghMSwgdCksIGEuZG9tLnBhcmVudC5zdHlsZVtlLmZlYXR1cmVzLnRyYW5zaXRpb25Qcm9wXSA9IGEuZG9tLnBhcmVudC5zdHlsZS5oZWlnaHQgPSBhLmRvbS5wYXJlbnQuc3R5bGUud2lkdGggPSBhLmRvbS5wYXJlbnQuc3R5bGUub3ZlcmZsb3cgPSBhLmRvbS5wYXJlbnQuc3R5bGVbZS5mZWF0dXJlcy5wZXJzcGVjdGl2ZVByb3BdID0gYS5kb20ucGFyZW50LnN0eWxlW2UuZmVhdHVyZXMucGVyc3BlY3RpdmVPcmlnaW5Qcm9wXSA9ICIiLCB0LndpbGxDaGFuZ2VMYXlvdXQgJiYgKG4ucmVtb3ZlQ2xhc3MoYS5kb20uY29udGFpbmVyLCB0LnN0YXJ0Q29udGFpbmVyQ2xhc3NOYW1lKSwgbi5hZGRDbGFzcyhhLmRvbS5jb250YWluZXIsIHQubmV3Q29udGFpbmVyQ2xhc3NOYW1lKSksIHQudG9SZW1vdmUubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgZm9yIChsID0gMDsgaSA9IGEudGFyZ2V0c1tsXTsgbCsrKSB0LnRvUmVtb3ZlLmluZGV4T2YoaSkgPiAtMSAmJiAoKG8gPSBpLmRvbS5lbC5wcmV2aW91c1NpYmxpbmcpICYmICIjdGV4dCIgPT09IG8ubm9kZU5hbWUgJiYgKHIgPSBpLmRvbS5lbC5uZXh0U2libGluZykgJiYgIiN0ZXh0IiA9PT0gci5ub2RlTmFtZSAmJiBuLnJlbW92ZVdoaXRlc3BhY2UobyksIHQud2lsbFNvcnQgfHwgYS5kb20ucGFyZW50LnJlbW92ZUNoaWxkKGkuZG9tLmVsKSwgYS50YXJnZXRzLnNwbGljZShsLCAxKSwgaS5pc0luRG9tID0gITEsIGwtLSk7DQogICAgICAgICAgICAgICAgYS5vcmlnT3JkZXIgPSBhLnRhcmdldHMNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHQud2lsbFNvcnQgJiYgKGEudGFyZ2V0cyA9IHQubmV3T3JkZXIpLCBhLnN0YXRlID0gdC5uZXdTdGF0ZSwgYS5sYXN0T3BlcmF0aW9uID0gdCwgYS5kb20udGFyZ2V0cyA9IGEuc3RhdGUudGFyZ2V0cywgZS5ldmVudHMuZmlyZSgibWl4RW5kIiwgYS5kb20uY29udGFpbmVyLCB7DQogICAgICAgICAgICAgICAgc3RhdGU6IGEuc3RhdGUsDQogICAgICAgICAgICAgICAgaW5zdGFuY2U6IGENCiAgICAgICAgICAgIH0sIGEuZG9tLmRvY3VtZW50KSwgImZ1bmN0aW9uIiA9PSB0eXBlb2YgYS5jb25maWcuY2FsbGJhY2tzLm9uTWl4RW5kICYmIGEuY29uZmlnLmNhbGxiYWNrcy5vbk1peEVuZC5jYWxsKGEuZG9tLmNvbnRhaW5lciwgYS5zdGF0ZSwgYSksIHQuaGFzRmFpbGVkICYmIChlLmV2ZW50cy5maXJlKCJtaXhGYWlsIiwgYS5kb20uY29udGFpbmVyLCB7DQogICAgICAgICAgICAgICAgc3RhdGU6IGEuc3RhdGUsDQogICAgICAgICAgICAgICAgaW5zdGFuY2U6IGENCiAgICAgICAgICAgIH0sIGEuZG9tLmRvY3VtZW50KSwgImZ1bmN0aW9uIiA9PSB0eXBlb2YgYS5jb25maWcuY2FsbGJhY2tzLm9uTWl4RmFpbCAmJiBhLmNvbmZpZy5jYWxsYmFja3Mub25NaXhGYWlsLmNhbGwoYS5kb20uY29udGFpbmVyLCBhLnN0YXRlLCBhKSwgbi5hZGRDbGFzcyhhLmRvbS5jb250YWluZXIsIG4uZ2V0Q2xhc3NuYW1lKGEuY29uZmlnLmNsYXNzTmFtZXMsICJjb250YWluZXIiLCBhLmNvbmZpZy5jbGFzc05hbWVzLm1vZGlmaWVyRmFpbGVkKSkpLCAiZnVuY3Rpb24iID09IHR5cGVvZiBhLnVzZXJDYWxsYmFjayAmJiBhLnVzZXJDYWxsYmFjay5jYWxsKGEuZG9tLmNvbnRhaW5lciwgYS5zdGF0ZSwgYSksICJmdW5jdGlvbiIgPT0gdHlwZW9mIGEudXNlckRlZmVycmVkLnJlc29sdmUgJiYgYS51c2VyRGVmZXJyZWQucmVzb2x2ZShhLnN0YXRlKSwgYS51c2VyQ2FsbGJhY2sgPSBudWxsLCBhLnVzZXJEZWZlcnJlZCA9IG51bGwsIGEubGFzdENsaWNrZWQgPSBudWxsLCBhLmlzVG9nZ2xpbmcgPSAhMSwgYS5pc0J1c3kgPSAhMSwgYS5xdWV1ZS5sZW5ndGggJiYgKGEuY2FsbEFjdGlvbnMoImJlZm9yZVJlYWRRdWV1ZUNsZWFuVXAiLCBhcmd1bWVudHMpLCBzID0gYS5xdWV1ZS5zaGlmdCgpLCBhLnVzZXJEZWZlcnJlZCA9IHMuZGVmZXJyZWQsIGEuaXNUb2dnbGluZyA9IHMuaXNUb2dnbGluZywgYS5sYXN0Q2xpY2tlZCA9IHMudHJpZ2dlckVsZW1lbnQsIHMuaW5zdHJ1Y3Rpb24uY29tbWFuZCBpbnN0YW5jZW9mIGUuQ29tbWFuZE11bHRpbWl4ID8gYS5tdWx0aW1peC5hcHBseShhLCBzLmFyZ3MpIDogYS5kYXRhc2V0LmFwcGx5KGEsIHMuYXJncykpLCBhLmNhbGxBY3Rpb25zKCJhZnRlckNsZWFuVXAiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIHBhcnNlTXVsdGltaXhBcmdzOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IG5ldyBlLlVzZXJJbnN0cnVjdGlvbiwNCiAgICAgICAgICAgICAgICBvID0gbnVsbCwNCiAgICAgICAgICAgICAgICByID0gLTE7DQogICAgICAgICAgICBmb3IgKGkuYW5pbWF0ZSA9IGEuY29uZmlnLmFuaW1hdGlvbi5lbmFibGUsIGkuY29tbWFuZCA9IG5ldyBlLkNvbW1hbmRNdWx0aW1peCwgciA9IDA7IHIgPCB0Lmxlbmd0aDsgcisrKSBvID0gdFtyXSwgbnVsbCAhPT0gbyAmJiAoIm9iamVjdCIgPT0gdHlwZW9mIG8gPyBuLmV4dGVuZChpLmNvbW1hbmQsIG8pIDogImJvb2xlYW4iID09IHR5cGVvZiBvID8gaS5hbmltYXRlID0gbyA6ICJmdW5jdGlvbiIgPT0gdHlwZW9mIG8gJiYgKGkuY2FsbGJhY2sgPSBvKSk7DQogICAgICAgICAgICByZXR1cm4gIWkuY29tbWFuZC5pbnNlcnQgfHwgaS5jb21tYW5kLmluc2VydCBpbnN0YW5jZW9mIGUuQ29tbWFuZEluc2VydCB8fCAoaS5jb21tYW5kLmluc2VydCA9IGEucGFyc2VJbnNlcnRBcmdzKFtpLmNvbW1hbmQuaW5zZXJ0XSkuY29tbWFuZCksICFpLmNvbW1hbmQucmVtb3ZlIHx8IGkuY29tbWFuZC5yZW1vdmUgaW5zdGFuY2VvZiBlLkNvbW1hbmRSZW1vdmUgfHwgKGkuY29tbWFuZC5yZW1vdmUgPSBhLnBhcnNlUmVtb3ZlQXJncyhbaS5jb21tYW5kLnJlbW92ZV0pLmNvbW1hbmQpLCAhaS5jb21tYW5kLmZpbHRlciB8fCBpLmNvbW1hbmQuZmlsdGVyIGluc3RhbmNlb2YgZS5Db21tYW5kRmlsdGVyIHx8IChpLmNvbW1hbmQuZmlsdGVyID0gYS5wYXJzZUZpbHRlckFyZ3MoW2kuY29tbWFuZC5maWx0ZXJdKS5jb21tYW5kKSwgIWkuY29tbWFuZC5zb3J0IHx8IGkuY29tbWFuZC5zb3J0IGluc3RhbmNlb2YgZS5Db21tYW5kU29ydCB8fCAoaS5jb21tYW5kLnNvcnQgPSBhLnBhcnNlU29ydEFyZ3MoW2kuY29tbWFuZC5zb3J0XSkuY29tbWFuZCksICFpLmNvbW1hbmQuY2hhbmdlTGF5b3V0IHx8IGkuY29tbWFuZC5jaGFuZ2VMYXlvdXQgaW5zdGFuY2VvZiBlLkNvbW1hbmRDaGFuZ2VMYXlvdXQgfHwgKGkuY29tbWFuZC5jaGFuZ2VMYXlvdXQgPSBhLnBhcnNlQ2hhbmdlTGF5b3V0QXJncyhbaS5jb21tYW5kLmNoYW5nZUxheW91dF0pLmNvbW1hbmQpLCBpID0gYS5jYWxsRmlsdGVycygiaW5zdHJ1Y3Rpb25QYXJzZU11bHRpbWl4QXJncyIsIGksIGFyZ3VtZW50cyksIG4uZnJlZXplKGkpLCBpDQogICAgICAgIH0sDQogICAgICAgIHBhcnNlRmlsdGVyQXJnczogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGEgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGkgPSBuZXcgZS5Vc2VySW5zdHJ1Y3Rpb24sDQogICAgICAgICAgICAgICAgbyA9IG51bGwsDQogICAgICAgICAgICAgICAgciA9IC0xOw0KICAgICAgICAgICAgZm9yIChpLmFuaW1hdGUgPSBhLmNvbmZpZy5hbmltYXRpb24uZW5hYmxlLCBpLmNvbW1hbmQgPSBuZXcgZS5Db21tYW5kRmlsdGVyLCByID0gMDsgciA8IHQubGVuZ3RoOyByKyspIG8gPSB0W3JdLCAic3RyaW5nIiA9PSB0eXBlb2YgbyA/IGkuY29tbWFuZC5zZWxlY3RvciA9IG8gOiBudWxsID09PSBvID8gaS5jb21tYW5kLmNvbGxlY3Rpb24gPSBbXSA6ICJvYmplY3QiID09IHR5cGVvZiBvICYmIG4uaXNFbGVtZW50KG8sIGEuZG9tLmRvY3VtZW50KSA/IGkuY29tbWFuZC5jb2xsZWN0aW9uID0gW29dIDogIm9iamVjdCIgPT0gdHlwZW9mIG8gJiYgInVuZGVmaW5lZCIgIT0gdHlwZW9mIG8ubGVuZ3RoID8gaS5jb21tYW5kLmNvbGxlY3Rpb24gPSBuLmFycmF5RnJvbUxpc3QobykgOiAib2JqZWN0IiA9PSB0eXBlb2YgbyA/IG4uZXh0ZW5kKGkuY29tbWFuZCwgbykgOiAiYm9vbGVhbiIgPT0gdHlwZW9mIG8gPyBpLmFuaW1hdGUgPSBvIDogImZ1bmN0aW9uIiA9PSB0eXBlb2YgbyAmJiAoaS5jYWxsYmFjayA9IG8pOw0KICAgICAgICAgICAgaWYgKGkuY29tbWFuZC5zZWxlY3RvciAmJiBpLmNvbW1hbmQuY29sbGVjdGlvbikgdGhyb3cgbmV3IEVycm9yKGUubWVzc2FnZXMuZXJyb3JGaWx0ZXJJbnZhbGlkQXJndW1lbnRzKCkpOw0KICAgICAgICAgICAgcmV0dXJuIGkgPSBhLmNhbGxGaWx0ZXJzKCJpbnN0cnVjdGlvblBhcnNlRmlsdGVyQXJncyIsIGksIGFyZ3VtZW50cyksIG4uZnJlZXplKGkpLCBpDQogICAgICAgIH0sDQogICAgICAgIHBhcnNlU29ydEFyZ3M6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gbmV3IGUuVXNlckluc3RydWN0aW9uLA0KICAgICAgICAgICAgICAgIG8gPSBudWxsLA0KICAgICAgICAgICAgICAgIHIgPSAiIiwNCiAgICAgICAgICAgICAgICBzID0gLTE7DQogICAgICAgICAgICBmb3IgKGkuYW5pbWF0ZSA9IGEuY29uZmlnLmFuaW1hdGlvbi5lbmFibGUsIGkuY29tbWFuZCA9IG5ldyBlLkNvbW1hbmRTb3J0LCBzID0gMDsgcyA8IHQubGVuZ3RoOyBzKyspDQogICAgICAgICAgICAgICAgaWYgKG8gPSB0W3NdLCBudWxsICE9PSBvKSBzd2l0Y2ggKHR5cGVvZiBvKSB7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgInN0cmluZyI6DQogICAgICAgICAgICAgICAgICAgICAgICByID0gbzsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICBjYXNlICJvYmplY3QiOg0KICAgICAgICAgICAgICAgICAgICAgICAgby5sZW5ndGggJiYgKGkuY29tbWFuZC5jb2xsZWN0aW9uID0gbi5hcnJheUZyb21MaXN0KG8pKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICBjYXNlICJib29sZWFuIjoNCiAgICAgICAgICAgICAgICAgICAgICAgIGkuYW5pbWF0ZSA9IG87DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAiZnVuY3Rpb24iOg0KICAgICAgICAgICAgICAgICAgICAgICAgaS5jYWxsYmFjayA9IG8NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gciAmJiAoaS5jb21tYW5kID0gYS5wYXJzZVNvcnRTdHJpbmcociwgaS5jb21tYW5kKSksIGkgPSBhLmNhbGxGaWx0ZXJzKCJpbnN0cnVjdGlvblBhcnNlU29ydEFyZ3MiLCBpLCBhcmd1bWVudHMpLCBuLmZyZWV6ZShpKSwgaQ0KICAgICAgICB9LA0KICAgICAgICBwYXJzZUluc2VydEFyZ3M6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gbmV3IGUuVXNlckluc3RydWN0aW9uLA0KICAgICAgICAgICAgICAgIG8gPSBudWxsLA0KICAgICAgICAgICAgICAgIHIgPSAtMTsNCiAgICAgICAgICAgIGZvciAoaS5hbmltYXRlID0gYS5jb25maWcuYW5pbWF0aW9uLmVuYWJsZSwgaS5jb21tYW5kID0gbmV3IGUuQ29tbWFuZEluc2VydCwgciA9IDA7IHIgPCB0Lmxlbmd0aDsgcisrKSBvID0gdFtyXSwgbnVsbCAhPT0gbyAmJiAoIm51bWJlciIgPT0gdHlwZW9mIG8gPyBpLmNvbW1hbmQuaW5kZXggPSBvIDogInN0cmluZyIgPT0gdHlwZW9mIG8gJiYgWyJiZWZvcmUiLCAiYWZ0ZXIiXS5pbmRleE9mKG8pID4gLTEgPyBpLmNvbW1hbmQucG9zaXRpb24gPSBvIDogInN0cmluZyIgPT0gdHlwZW9mIG8gPyBpLmNvbW1hbmQuY29sbGVjdGlvbiA9IG4uYXJyYXlGcm9tTGlzdChuLmNyZWF0ZUVsZW1lbnQobykuY2hpbGROb2RlcykgOiAib2JqZWN0IiA9PSB0eXBlb2YgbyAmJiBuLmlzRWxlbWVudChvLCBhLmRvbS5kb2N1bWVudCkgPyBpLmNvbW1hbmQuY29sbGVjdGlvbi5sZW5ndGggPyBpLmNvbW1hbmQuc2libGluZyA9IG8gOiBpLmNvbW1hbmQuY29sbGVjdGlvbiA9IFtvXSA6ICJvYmplY3QiID09IHR5cGVvZiBvICYmIG8ubGVuZ3RoID8gaS5jb21tYW5kLmNvbGxlY3Rpb24ubGVuZ3RoID8gaS5jb21tYW5kLnNpYmxpbmcgPSBvWzBdIDogaS5jb21tYW5kLmNvbGxlY3Rpb24gPSBvIDogIm9iamVjdCIgPT0gdHlwZW9mIG8gJiYgby5jaGlsZE5vZGVzICYmIG8uY2hpbGROb2Rlcy5sZW5ndGggPyBpLmNvbW1hbmQuY29sbGVjdGlvbi5sZW5ndGggPyBpLmNvbW1hbmQuc2libGluZyA9IG8uY2hpbGROb2Rlc1swXSA6IGkuY29tbWFuZC5jb2xsZWN0aW9uID0gbi5hcnJheUZyb21MaXN0KG8uY2hpbGROb2RlcykgOiAib2JqZWN0IiA9PSB0eXBlb2YgbyA/IG4uZXh0ZW5kKGkuY29tbWFuZCwgbykgOiAiYm9vbGVhbiIgPT0gdHlwZW9mIG8gPyBpLmFuaW1hdGUgPSBvIDogImZ1bmN0aW9uIiA9PSB0eXBlb2YgbyAmJiAoaS5jYWxsYmFjayA9IG8pKTsNCiAgICAgICAgICAgIGlmIChpLmNvbW1hbmQuaW5kZXggJiYgaS5jb21tYW5kLnNpYmxpbmcpIHRocm93IG5ldyBFcnJvcihlLm1lc3NhZ2VzLmVycm9ySW5zZXJ0SW52YWxpZEFyZ3VtZW50cygpKTsNCiAgICAgICAgICAgIHJldHVybiAhaS5jb21tYW5kLmNvbGxlY3Rpb24ubGVuZ3RoICYmIGEuY29uZmlnLmRlYnVnLnNob3dXYXJuaW5ncyAmJiBjb25zb2xlLndhcm4oZS5tZXNzYWdlcy53YXJuaW5nSW5zZXJ0Tm9FbGVtZW50cygpKSwgaSA9IGEuY2FsbEZpbHRlcnMoImluc3RydWN0aW9uUGFyc2VJbnNlcnRBcmdzIiwgaSwgYXJndW1lbnRzKSwgbi5mcmVlemUoaSksIGkNCiAgICAgICAgfSwNCiAgICAgICAgcGFyc2VSZW1vdmVBcmdzOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IG5ldyBlLlVzZXJJbnN0cnVjdGlvbiwNCiAgICAgICAgICAgICAgICBvID0gbnVsbCwNCiAgICAgICAgICAgICAgICByID0gbnVsbCwNCiAgICAgICAgICAgICAgICBzID0gLTE7DQogICAgICAgICAgICBmb3IgKGkuYW5pbWF0ZSA9IGEuY29uZmlnLmFuaW1hdGlvbi5lbmFibGUsIGkuY29tbWFuZCA9IG5ldyBlLkNvbW1hbmRSZW1vdmUsIHMgPSAwOyBzIDwgdC5sZW5ndGg7IHMrKykNCiAgICAgICAgICAgICAgICBpZiAociA9IHRbc10sIG51bGwgIT09IHIpIHN3aXRjaCAodHlwZW9mIHIpIHsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAibnVtYmVyIjoNCiAgICAgICAgICAgICAgICAgICAgICAgIGEudGFyZ2V0c1tyXSAmJiAoaS5jb21tYW5kLnRhcmdldHNbMF0gPSBhLnRhcmdldHNbcl0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgInN0cmluZyI6DQogICAgICAgICAgICAgICAgICAgICAgICBpLmNvbW1hbmQuY29sbGVjdGlvbiA9IG4uYXJyYXlGcm9tTGlzdChhLmRvbS5wYXJlbnQucXVlcnlTZWxlY3RvckFsbChyKSk7DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAib2JqZWN0IjoNCiAgICAgICAgICAgICAgICAgICAgICAgIHIgJiYgci5sZW5ndGggPyBpLmNvbW1hbmQuY29sbGVjdGlvbiA9IHIgOiBuLmlzRWxlbWVudChyLCBhLmRvbS5kb2N1bWVudCkgPyBpLmNvbW1hbmQuY29sbGVjdGlvbiA9IFtyXSA6IG4uZXh0ZW5kKGkuY29tbWFuZCwgcik7DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAiYm9vbGVhbiI6DQogICAgICAgICAgICAgICAgICAgICAgICBpLmFuaW1hdGUgPSByOw0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgImZ1bmN0aW9uIjoNCiAgICAgICAgICAgICAgICAgICAgICAgIGkuY2FsbGJhY2sgPSByDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGkuY29tbWFuZC5jb2xsZWN0aW9uLmxlbmd0aCkNCiAgICAgICAgICAgICAgICBmb3IgKHMgPSAwOyBvID0gYS50YXJnZXRzW3NdOyBzKyspIGkuY29tbWFuZC5jb2xsZWN0aW9uLmluZGV4T2Yoby5kb20uZWwpID4gLTEgJiYgaS5jb21tYW5kLnRhcmdldHMucHVzaChvKTsNCiAgICAgICAgICAgIHJldHVybiAhaS5jb21tYW5kLnRhcmdldHMubGVuZ3RoICYmIGEuY29uZmlnLmRlYnVnLnNob3dXYXJuaW5ncyAmJiBjb25zb2xlLndhcm4oZS5tZXNzYWdlcy53YXJuaW5nUmVtb3ZlTm9FbGVtZW50cygpKSwgbi5mcmVlemUoaSksIGkNCiAgICAgICAgfSwNCiAgICAgICAgcGFyc2VEYXRhc2V0QXJnczogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGEgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGkgPSBuZXcgZS5Vc2VySW5zdHJ1Y3Rpb24sDQogICAgICAgICAgICAgICAgbyA9IG51bGwsDQogICAgICAgICAgICAgICAgciA9IC0xOw0KICAgICAgICAgICAgZm9yIChpLmFuaW1hdGUgPSBhLmNvbmZpZy5hbmltYXRpb24uZW5hYmxlLCBpLmNvbW1hbmQgPSBuZXcgZS5Db21tYW5kRGF0YXNldCwgciA9IDA7IHIgPCB0Lmxlbmd0aDsgcisrKQ0KICAgICAgICAgICAgICAgIGlmIChvID0gdFtyXSwgbnVsbCAhPT0gbykgc3dpdGNoICh0eXBlb2Ygbykgew0KICAgICAgICAgICAgICAgICAgICBjYXNlICJvYmplY3QiOg0KICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShvKSB8fCAibnVtYmVyIiA9PSB0eXBlb2Ygby5sZW5ndGggPyBpLmNvbW1hbmQuZGF0YXNldCA9IG8gOiBuLmV4dGVuZChpLmNvbW1hbmQsIG8pOw0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgImJvb2xlYW4iOg0KICAgICAgICAgICAgICAgICAgICAgICAgaS5hbmltYXRlID0gbzsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICBjYXNlICJmdW5jdGlvbiI6DQogICAgICAgICAgICAgICAgICAgICAgICBpLmNhbGxiYWNrID0gbw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBuLmZyZWV6ZShpKSwgaQ0KICAgICAgICB9LA0KICAgICAgICBwYXJzZUNoYW5nZUxheW91dEFyZ3M6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gbmV3IGUuVXNlckluc3RydWN0aW9uLA0KICAgICAgICAgICAgICAgIG8gPSBudWxsLA0KICAgICAgICAgICAgICAgIHIgPSAtMTsNCiAgICAgICAgICAgIGZvciAoaS5hbmltYXRlID0gYS5jb25maWcuYW5pbWF0aW9uLmVuYWJsZSwgaS5jb21tYW5kID0gbmV3IGUuQ29tbWFuZENoYW5nZUxheW91dCwgciA9IDA7IHIgPCB0Lmxlbmd0aDsgcisrKQ0KICAgICAgICAgICAgICAgIGlmIChvID0gdFtyXSwgbnVsbCAhPT0gbykgc3dpdGNoICh0eXBlb2Ygbykgew0KICAgICAgICAgICAgICAgICAgICBjYXNlICJzdHJpbmciOg0KICAgICAgICAgICAgICAgICAgICAgICAgaS5jb21tYW5kLmNvbnRhaW5lckNsYXNzTmFtZSA9IG87DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAib2JqZWN0IjoNCiAgICAgICAgICAgICAgICAgICAgICAgIG4uZXh0ZW5kKGkuY29tbWFuZCwgbyk7DQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAiYm9vbGVhbiI6DQogICAgICAgICAgICAgICAgICAgICAgICBpLmFuaW1hdGUgPSBvOw0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgImZ1bmN0aW9uIjoNCiAgICAgICAgICAgICAgICAgICAgICAgIGkuY2FsbGJhY2sgPSBvDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIG4uZnJlZXplKGkpLCBpDQogICAgICAgIH0sDQogICAgICAgIHF1ZXVlTWl4OiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IG51bGwsDQogICAgICAgICAgICAgICAgbyA9ICIiOw0KICAgICAgICAgICAgcmV0dXJuIGEuY2FsbEFjdGlvbnMoImJlZm9yZVF1ZXVlTWl4IiwgYXJndW1lbnRzKSwgaSA9IG4uZGVmZXIoZS5saWJyYXJpZXMpLCBhLmNvbmZpZy5hbmltYXRpb24ucXVldWUgJiYgYS5xdWV1ZS5sZW5ndGggPCBhLmNvbmZpZy5hbmltYXRpb24ucXVldWVMaW1pdCA/ICh0LmRlZmVycmVkID0gaSwgYS5xdWV1ZS5wdXNoKHQpLCBhLmNvbmZpZy5jb250cm9scy5lbmFibGUgJiYgKGEuaXNUb2dnbGluZyA/IChhLmJ1aWxkVG9nZ2xlQXJyYXkodC5pbnN0cnVjdGlvbi5jb21tYW5kKSwgbyA9IGEuZ2V0VG9nZ2xlU2VsZWN0b3IoKSwgYS51cGRhdGVDb250cm9scyh7DQogICAgICAgICAgICAgICAgICAgIGZpbHRlcjogew0KICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6IG8NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pKSA6IGEudXBkYXRlQ29udHJvbHModC5pbnN0cnVjdGlvbi5jb21tYW5kKSkpIDogKGEuY29uZmlnLmRlYnVnLnNob3dXYXJuaW5ncyAmJiBjb25zb2xlLndhcm4oZS5tZXNzYWdlcy53YXJuaW5nTXVsdGltaXhJbnN0YW5jZVF1ZXVlRnVsbCgpKSwgaS5yZXNvbHZlKGEuc3RhdGUpLCBlLmV2ZW50cy5maXJlKCJtaXhCdXN5IiwgYS5kb20uY29udGFpbmVyLCB7DQogICAgICAgICAgICAgICAgICAgIHN0YXRlOiBhLnN0YXRlLA0KICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZTogYQ0KICAgICAgICAgICAgICAgIH0sIGEuZG9tLmRvY3VtZW50KSwgImZ1bmN0aW9uIiA9PSB0eXBlb2YgYS5jb25maWcuY2FsbGJhY2tzLm9uTWl4QnVzeSAmJiBhLmNvbmZpZy5jYWxsYmFja3Mub25NaXhCdXN5LmNhbGwoYS5kb20uY29udGFpbmVyLCBhLnN0YXRlLCBhKSksDQogICAgICAgICAgICAgICAgYS5jYWxsRmlsdGVycygicHJvbWlzZVF1ZXVlTWl4IiwgaS5wcm9taXNlLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGdldERhdGFPcGVyYXRpb246IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gbmV3IGUuT3BlcmF0aW9uLA0KICAgICAgICAgICAgICAgIG8gPSBbXTsNCiAgICAgICAgICAgIGlmIChpID0gYS5jYWxsRmlsdGVycygib3BlcmF0aW9uVW5tYXBwZWRHZXREYXRhT3BlcmF0aW9uIiwgaSwgYXJndW1lbnRzKSwgYS5kb20udGFyZ2V0cy5sZW5ndGggJiYgIShvID0gYS5zdGF0ZS5hY3RpdmVEYXRhc2V0IHx8IFtdKS5sZW5ndGgpIHRocm93IG5ldyBFcnJvcihlLm1lc3NhZ2VzLmVycm9yRGF0YXNldE5vdFNldCgpKTsNCiAgICAgICAgICAgIHJldHVybiBpLmlkID0gbi5yYW5kb21IZXgoKSwgaS5zdGFydFN0YXRlID0gYS5zdGF0ZSwgaS5zdGFydERhdGFzZXQgPSBvLCBpLm5ld0RhdGFzZXQgPSB0LnNsaWNlKCksIGEuZGlmZkRhdGFzZXRzKGkpLCBpLnN0YXJ0T3JkZXIgPSBhLnRhcmdldHMsIGkubmV3T3JkZXIgPSBpLnNob3csIGEuY29uZmlnLmFuaW1hdGlvbi5lbmFibGUgJiYgKGEuZ2V0U3RhcnRNaXhEYXRhKGkpLCBhLnNldEludGVyKGkpLCBpLmRvY1N0YXRlID0gbi5nZXREb2N1bWVudFN0YXRlKGEuZG9tLmRvY3VtZW50KSwgYS5nZXRJbnRlck1peERhdGEoaSksIGEuc2V0RmluYWwoaSksIGEuZ2V0RmluYWxNaXhEYXRhKGkpLCBhLnBhcnNlRWZmZWN0cygpLCBpLmhhc0VmZmVjdCA9IGEuaGFzRWZmZWN0KCksIGEuZ2V0VHdlZW5EYXRhKGkpKSwgYS50YXJnZXRzID0gaS5zaG93LnNsaWNlKCksIGkubmV3U3RhdGUgPSBhLmJ1aWxkU3RhdGUoaSksIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGEudGFyZ2V0cywgaS50b1JlbW92ZSksIGkgPSBhLmNhbGxGaWx0ZXJzKCJvcGVyYXRpb25NYXBwZWRHZXREYXRhT3BlcmF0aW9uIiwgaSwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBkaWZmRGF0YXNldHM6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gW10sDQogICAgICAgICAgICAgICAgbyA9IFtdLA0KICAgICAgICAgICAgICAgIHIgPSBbXSwNCiAgICAgICAgICAgICAgICBzID0gbnVsbCwNCiAgICAgICAgICAgICAgICBsID0gbnVsbCwNCiAgICAgICAgICAgICAgICBjID0gbnVsbCwNCiAgICAgICAgICAgICAgICB1ID0gbnVsbCwNCiAgICAgICAgICAgICAgICBmID0gbnVsbCwNCiAgICAgICAgICAgICAgICBoID0ge30sDQogICAgICAgICAgICAgICAgZCA9ICIiLA0KICAgICAgICAgICAgICAgIG0gPSAtMTsNCiAgICAgICAgICAgIGZvciAoYS5jYWxsQWN0aW9ucygiYmVmb3JlRGlmZkRhdGFzZXRzIiwgYXJndW1lbnRzKSwgbSA9IDA7IHMgPSB0Lm5ld0RhdGFzZXRbbV07IG0rKykgew0KICAgICAgICAgICAgICAgIGlmICgidW5kZWZpbmVkIiA9PSB0eXBlb2YoZCA9IHNbYS5jb25maWcuZGF0YS51aWRLZXldKSB8fCBkLnRvU3RyaW5nKCkubGVuZ3RoIDwgMSkgdGhyb3cgbmV3IFR5cGVFcnJvcihlLm1lc3NhZ2VzLmVycm9yRGF0YXNldEludmFsaWRVaWRLZXkoew0KICAgICAgICAgICAgICAgICAgICB1aWRLZXk6IGEuY29uZmlnLmRhdGEudWlkS2V5DQogICAgICAgICAgICAgICAgfSkpOw0KICAgICAgICAgICAgICAgIGlmIChoW2RdKSB0aHJvdyBuZXcgRXJyb3IoZS5tZXNzYWdlcy5lcnJvckRhdGFzZXREdXBsaWNhdGVVaWQoew0KICAgICAgICAgICAgICAgICAgICB1aWQ6IGQNCiAgICAgICAgICAgICAgICB9KSk7DQogICAgICAgICAgICAgICAgaFtkXSA9ICEwLCAobCA9IGEuY2FjaGVbZF0pIGluc3RhbmNlb2YgZS5UYXJnZXQgPyAoYS5jb25maWcuZGF0YS5kaXJ0eUNoZWNrICYmICFuLmRlZXBFcXVhbHMocywgbC5kYXRhKSAmJiAoYyA9IGwucmVuZGVyKHMpLCBsLmRhdGEgPSBzLCBjICE9PSBsLmRvbS5lbCAmJiAobC5pc0luRG9tICYmIChsLnVuYmluZEV2ZW50cygpLCBhLmRvbS5wYXJlbnQucmVwbGFjZUNoaWxkKGMsIGwuZG9tLmVsKSksIGwuaXNTaG93biB8fCAoYy5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiKSwgbC5kb20uZWwgPSBjLCBsLmlzSW5Eb20gJiYgbC5iaW5kRXZlbnRzKCkpKSwgYyA9IGwuZG9tLmVsKSA6IChsID0gbmV3IGUuVGFyZ2V0LCBsLmluaXQobnVsbCwgYSwgcyksIGwuaGlkZSgpKSwgbC5pc0luRG9tID8gKGYgPSBsLmRvbS5lbC5uZXh0RWxlbWVudFNpYmxpbmcsIG8ucHVzaChkKSwgdSAmJiAodS5sYXN0RWxlbWVudENoaWxkICYmIHUuYXBwZW5kQ2hpbGQoYS5kb20uZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKSksIGEuaW5zZXJ0RGF0YXNldEZyYWcodSwgbC5kb20uZWwsIHIpLCB1ID0gbnVsbCkpIDogKHUgfHwgKHUgPSBhLmRvbS5kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkpLCB1Lmxhc3RFbGVtZW50Q2hpbGQgJiYgdS5hcHBlbmRDaGlsZChhLmRvbS5kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpKSwgdS5hcHBlbmRDaGlsZChsLmRvbS5lbCksIGwuaXNJbkRvbSA9ICEwLCBsLnVuYmluZEV2ZW50cygpLCBsLmJpbmRFdmVudHMoKSwgbC5oaWRlKCksIHQudG9TaG93LnB1c2gobCksIHIucHVzaChsKSksIHQuc2hvdy5wdXNoKGwpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBmb3IgKHUgJiYgKGYgPSBmIHx8IGEuY29uZmlnLmxheW91dC5zaWJsaW5nQWZ0ZXIsIGYgJiYgdS5hcHBlbmRDaGlsZChhLmRvbS5kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpKSwgYS5pbnNlcnREYXRhc2V0RnJhZyh1LCBmLCByKSksIG0gPSAwOyBzID0gdC5zdGFydERhdGFzZXRbbV07IG0rKykgZCA9IHNbYS5jb25maWcuZGF0YS51aWRLZXldLCBsID0gYS5jYWNoZVtkXSwgdC5zaG93LmluZGV4T2YobCkgPCAwID8gKHQuaGlkZS5wdXNoKGwpLCB0LnRvSGlkZS5wdXNoKGwpLCB0LnRvUmVtb3ZlLnB1c2gobCkpIDogaS5wdXNoKGQpOw0KICAgICAgICAgICAgbi5pc0VxdWFsQXJyYXkoaSwgbykgfHwgKHQud2lsbFNvcnQgPSAhMCksIGEuY2FsbEFjdGlvbnMoImFmdGVyRGlmZkRhdGFzZXRzIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBpbnNlcnREYXRhc2V0RnJhZzogZnVuY3Rpb24odCwgZSwgYSkgew0KICAgICAgICAgICAgdmFyIGkgPSB0aGlzLA0KICAgICAgICAgICAgICAgIG8gPSBlID8gbi5hcnJheUZyb21MaXN0KGkuZG9tLnBhcmVudC5jaGlsZHJlbikuaW5kZXhPZihlKSA6IGkudGFyZ2V0cy5sZW5ndGg7DQogICAgICAgICAgICBmb3IgKGkuZG9tLnBhcmVudC5pbnNlcnRCZWZvcmUodCwgZSk7IGEubGVuZ3RoOykgaS50YXJnZXRzLnNwbGljZShvLCAwLCBhLnNoaWZ0KCkpLCBvKysNCiAgICAgICAgfSwNCiAgICAgICAgd2lsbFNvcnQ6IGZ1bmN0aW9uKHQsIGUpIHsNCiAgICAgICAgICAgIHZhciBuID0gdGhpcywNCiAgICAgICAgICAgICAgICBhID0gITE7DQogICAgICAgICAgICByZXR1cm4gYSA9ICEhKG4uY29uZmlnLmJlaGF2aW9yLmxpdmVTb3J0IHx8ICJyYW5kb20iID09PSB0Lm9yZGVyIHx8IHQuYXR0cmlidXRlICE9PSBlLmF0dHJpYnV0ZSB8fCB0Lm9yZGVyICE9PSBlLm9yZGVyIHx8IHQuY29sbGVjdGlvbiAhPT0gZS5jb2xsZWN0aW9uIHx8IG51bGwgPT09IHQubmV4dCAmJiBlLm5leHQgfHwgdC5uZXh0ICYmIG51bGwgPT09IGUubmV4dCkgfHwgISghdC5uZXh0IHx8ICFlLm5leHQpICYmIG4ud2lsbFNvcnQodC5uZXh0LCBlLm5leHQpLCBuLmNhbGxGaWx0ZXJzKCJyZXN1bHRXaWxsU29ydCIsIGEsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgc2hvdzogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdCA9IHRoaXM7DQogICAgICAgICAgICByZXR1cm4gdC5maWx0ZXIoImFsbCIpDQogICAgICAgIH0sDQogICAgICAgIGhpZGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzOw0KICAgICAgICAgICAgcmV0dXJuIHQuZmlsdGVyKCJub25lIikNCiAgICAgICAgfSwNCiAgICAgICAgaXNNaXhpbmc6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzOw0KICAgICAgICAgICAgcmV0dXJuIHQuaXNCdXN5DQogICAgICAgIH0sDQogICAgICAgIGZpbHRlcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdCA9IHRoaXMsDQogICAgICAgICAgICAgICAgZSA9IHQucGFyc2VGaWx0ZXJBcmdzKGFyZ3VtZW50cyk7DQogICAgICAgICAgICByZXR1cm4gdC5tdWx0aW1peCh7DQogICAgICAgICAgICAgICAgZmlsdGVyOiBlLmNvbW1hbmQNCiAgICAgICAgICAgIH0sIGUuYW5pbWF0ZSwgZS5jYWxsYmFjaykNCiAgICAgICAgfSwNCiAgICAgICAgdG9nZ2xlT246IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGUgPSB0LnBhcnNlRmlsdGVyQXJncyhhcmd1bWVudHMpLA0KICAgICAgICAgICAgICAgIG4gPSBlLmNvbW1hbmQuc2VsZWN0b3IsDQogICAgICAgICAgICAgICAgYSA9ICIiOw0KICAgICAgICAgICAgcmV0dXJuIHQuaXNUb2dnbGluZyA9ICEwLCB0LnRvZ2dsZUFycmF5LmluZGV4T2YobikgPCAwICYmIHQudG9nZ2xlQXJyYXkucHVzaChuKSwgYSA9IHQuZ2V0VG9nZ2xlU2VsZWN0b3IoKSwgdC5tdWx0aW1peCh7DQogICAgICAgICAgICAgICAgZmlsdGVyOiBhDQogICAgICAgICAgICB9LCBlLmFuaW1hdGUsIGUuY2FsbGJhY2spDQogICAgICAgIH0sDQogICAgICAgIHRvZ2dsZU9mZjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdCA9IHRoaXMsDQogICAgICAgICAgICAgICAgZSA9IHQucGFyc2VGaWx0ZXJBcmdzKGFyZ3VtZW50cyksDQogICAgICAgICAgICAgICAgbiA9IGUuY29tbWFuZC5zZWxlY3RvciwNCiAgICAgICAgICAgICAgICBhID0gdC50b2dnbGVBcnJheS5pbmRleE9mKG4pLA0KICAgICAgICAgICAgICAgIGkgPSAiIjsNCiAgICAgICAgICAgIHJldHVybiB0LmlzVG9nZ2xpbmcgPSAhMCwgYSA+IC0xICYmIHQudG9nZ2xlQXJyYXkuc3BsaWNlKGEsIDEpLCBpID0gdC5nZXRUb2dnbGVTZWxlY3RvcigpLCB0Lm11bHRpbWl4KHsNCiAgICAgICAgICAgICAgICBmaWx0ZXI6IGkNCiAgICAgICAgICAgIH0sIGUuYW5pbWF0ZSwgZS5jYWxsYmFjaykNCiAgICAgICAgfSwNCiAgICAgICAgc29ydDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdCA9IHRoaXMsDQogICAgICAgICAgICAgICAgZSA9IHQucGFyc2VTb3J0QXJncyhhcmd1bWVudHMpOw0KICAgICAgICAgICAgcmV0dXJuIHQubXVsdGltaXgoew0KICAgICAgICAgICAgICAgIHNvcnQ6IGUuY29tbWFuZA0KICAgICAgICAgICAgfSwgZS5hbmltYXRlLCBlLmNhbGxiYWNrKQ0KICAgICAgICB9LA0KICAgICAgICBjaGFuZ2VMYXlvdXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGUgPSB0LnBhcnNlQ2hhbmdlTGF5b3V0QXJncyhhcmd1bWVudHMpOw0KICAgICAgICAgICAgcmV0dXJuIHQubXVsdGltaXgoew0KICAgICAgICAgICAgICAgIGNoYW5nZUxheW91dDogZS5jb21tYW5kDQogICAgICAgICAgICB9LCBlLmFuaW1hdGUsIGUuY2FsbGJhY2spDQogICAgICAgIH0sDQogICAgICAgIGRhdGFzZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIG4gPSB0LnBhcnNlRGF0YXNldEFyZ3MoYXJndW1lbnRzKSwNCiAgICAgICAgICAgICAgICBhID0gbnVsbCwNCiAgICAgICAgICAgICAgICBpID0gbnVsbCwNCiAgICAgICAgICAgICAgICBvID0gITE7DQogICAgICAgICAgICByZXR1cm4gdC5jYWxsQWN0aW9ucygiYmVmb3JlRGF0YXNldCIsIGFyZ3VtZW50cyksIHQuaXNCdXN5ID8gKGkgPSBuZXcgZS5RdWV1ZUl0ZW0sIGkuYXJncyA9IGFyZ3VtZW50cywgaS5pbnN0cnVjdGlvbiA9IG4sIHQucXVldWVNaXgoaSkpIDogKG4uY2FsbGJhY2sgJiYgKHQudXNlckNhbGxiYWNrID0gbi5jYWxsYmFjayksIG8gPSBuLmFuaW1hdGUgXiB0LmNvbmZpZy5hbmltYXRpb24uZW5hYmxlID8gbi5hbmltYXRlIDogdC5jb25maWcuYW5pbWF0aW9uLmVuYWJsZSwgYSA9IHQuZ2V0RGF0YU9wZXJhdGlvbihuLmNvbW1hbmQuZGF0YXNldCksIHQuZ29NaXgobywgYSkpDQogICAgICAgIH0sDQogICAgICAgIG11bHRpbWl4OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpcywNCiAgICAgICAgICAgICAgICBuID0gbnVsbCwNCiAgICAgICAgICAgICAgICBhID0gITEsDQogICAgICAgICAgICAgICAgaSA9IG51bGwsDQogICAgICAgICAgICAgICAgbyA9IHQucGFyc2VNdWx0aW1peEFyZ3MoYXJndW1lbnRzKTsNCiAgICAgICAgICAgIHJldHVybiB0LmNhbGxBY3Rpb25zKCJiZWZvcmVNdWx0aW1peCIsIGFyZ3VtZW50cyksIHQuaXNCdXN5ID8gKGkgPSBuZXcgZS5RdWV1ZUl0ZW0sIGkuYXJncyA9IGFyZ3VtZW50cywgaS5pbnN0cnVjdGlvbiA9IG8sIGkudHJpZ2dlckVsZW1lbnQgPSB0Lmxhc3RDbGlja2VkLCBpLmlzVG9nZ2xpbmcgPSB0LmlzVG9nZ2xpbmcsIHQucXVldWVNaXgoaSkpIDogKG4gPSB0LmdldE9wZXJhdGlvbihvLmNvbW1hbmQpLCB0LmNvbmZpZy5jb250cm9scy5lbmFibGUgJiYgKG8uY29tbWFuZC5maWx0ZXIgJiYgIXQuaXNUb2dnbGluZyAmJiAodC50b2dnbGVBcnJheS5sZW5ndGggPSAwLCB0LmJ1aWxkVG9nZ2xlQXJyYXkobi5jb21tYW5kKSksIHQucXVldWUubGVuZ3RoIDwgMSAmJiB0LnVwZGF0ZUNvbnRyb2xzKG4uY29tbWFuZCkpLCBvLmNhbGxiYWNrICYmICh0LnVzZXJDYWxsYmFjayA9IG8uY2FsbGJhY2spLCBhID0gby5hbmltYXRlIF4gdC5jb25maWcuYW5pbWF0aW9uLmVuYWJsZSA/IG8uYW5pbWF0ZSA6IHQuY29uZmlnLmFuaW1hdGlvbi5lbmFibGUsIHQuY2FsbEZpbHRlcnMoIm9wZXJhdGlvbk11bHRpbWl4IiwgbiwgYXJndW1lbnRzKSwgdC5nb01peChhLCBuKSkNCiAgICAgICAgfSwNCiAgICAgICAgZ2V0T3BlcmF0aW9uOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IHQuc29ydCwNCiAgICAgICAgICAgICAgICBvID0gdC5maWx0ZXIsDQogICAgICAgICAgICAgICAgciA9IHQuY2hhbmdlTGF5b3V0LA0KICAgICAgICAgICAgICAgIHMgPSB0LnJlbW92ZSwNCiAgICAgICAgICAgICAgICBsID0gdC5pbnNlcnQsDQogICAgICAgICAgICAgICAgYyA9IG5ldyBlLk9wZXJhdGlvbjsNCiAgICAgICAgICAgIHJldHVybiBjID0gYS5jYWxsRmlsdGVycygib3BlcmF0aW9uVW5tYXBwZWRHZXRPcGVyYXRpb24iLCBjLCBhcmd1bWVudHMpLCBjLmlkID0gbi5yYW5kb21IZXgoKSwgYy5jb21tYW5kID0gdCwgYy5zdGFydFN0YXRlID0gYS5zdGF0ZSwgYy50cmlnZ2VyRWxlbWVudCA9IGEubGFzdENsaWNrZWQsIGEuaXNCdXN5ID8gKGEuY29uZmlnLmRlYnVnLnNob3dXYXJuaW5ncyAmJiBjb25zb2xlLndhcm4oZS5tZXNzYWdlcy53YXJuaW5nR2V0T3BlcmF0aW9uSW5zdGFuY2VCdXN5KCkpLCBudWxsKSA6IChsICYmIGEuaW5zZXJ0VGFyZ2V0cyhsLCBjKSwgcyAmJiAoYy50b1JlbW92ZSA9IHMudGFyZ2V0cyksIGMuc3RhcnRTb3J0ID0gYy5uZXdTb3J0ID0gYy5zdGFydFN0YXRlLmFjdGl2ZVNvcnQsIGMuc3RhcnRPcmRlciA9IGMubmV3T3JkZXIgPSBhLnRhcmdldHMsIGkgJiYgKGMuc3RhcnRTb3J0ID0gYy5zdGFydFN0YXRlLmFjdGl2ZVNvcnQsIGMubmV3U29ydCA9IGksIGMud2lsbFNvcnQgPSBhLndpbGxTb3J0KGksIGMuc3RhcnRTdGF0ZS5hY3RpdmVTb3J0KSwgYy53aWxsU29ydCAmJiBhLnNvcnRPcGVyYXRpb24oYykpLCBjLnN0YXJ0RmlsdGVyID0gYy5zdGFydFN0YXRlLmFjdGl2ZUZpbHRlciwgbyA/IGMubmV3RmlsdGVyID0gbyA6IGMubmV3RmlsdGVyID0gbi5leHRlbmQobmV3IGUuQ29tbWFuZEZpbHRlciwgYy5zdGFydEZpbHRlciksICJhbGwiID09PSBjLm5ld0ZpbHRlci5zZWxlY3RvciA/IGMubmV3RmlsdGVyLnNlbGVjdG9yID0gYS5jb25maWcuc2VsZWN0b3JzLnRhcmdldCA6ICJub25lIiA9PT0gYy5uZXdGaWx0ZXIuc2VsZWN0b3IgJiYgKGMubmV3RmlsdGVyLnNlbGVjdG9yID0gIiIpLCBhLmZpbHRlck9wZXJhdGlvbihjKSwgYy5zdGFydENvbnRhaW5lckNsYXNzTmFtZSA9IGMuc3RhcnRTdGF0ZS5hY3RpdmVDb250YWluZXJDbGFzc05hbWUsIHIgPyAoYy5uZXdDb250YWluZXJDbGFzc05hbWUgPSByLmNvbnRhaW5lckNsYXNzTmFtZSwgYy5uZXdDb250YWluZXJDbGFzc05hbWUgIT09IGMuc3RhcnRDb250YWluZXJDbGFzc05hbWUgJiYgKGMud2lsbENoYW5nZUxheW91dCA9ICEwKSkgOiBjLm5ld0NvbnRhaW5lckNsYXNzTmFtZSA9IGMuc3RhcnRDb250YWluZXJDbGFzc05hbWUsIGEuY29uZmlnLmFuaW1hdGlvbi5lbmFibGUgJiYgKGEuZ2V0U3RhcnRNaXhEYXRhKGMpLCBhLnNldEludGVyKGMpLCBjLmRvY1N0YXRlID0gbi5nZXREb2N1bWVudFN0YXRlKGEuZG9tLmRvY3VtZW50KSwgYS5nZXRJbnRlck1peERhdGEoYyksIGEuc2V0RmluYWwoYyksIGEuZ2V0RmluYWxNaXhEYXRhKGMpLCBhLnBhcnNlRWZmZWN0cygpLCBjLmhhc0VmZmVjdCA9IGEuaGFzRWZmZWN0KCksIGEuZ2V0VHdlZW5EYXRhKGMpKSwgYy53aWxsU29ydCAmJiAoYS50YXJnZXRzID0gYy5uZXdPcmRlciksIGMubmV3U3RhdGUgPSBhLmJ1aWxkU3RhdGUoYyksIGEuY2FsbEZpbHRlcnMoIm9wZXJhdGlvbk1hcHBlZEdldE9wZXJhdGlvbiIsIGMsIGFyZ3VtZW50cykpDQogICAgICAgIH0sDQogICAgICAgIHR3ZWVuOiBmdW5jdGlvbih0LCBlKSB7DQogICAgICAgICAgICB2YXIgbiA9IG51bGwsDQogICAgICAgICAgICAgICAgYSA9IG51bGwsDQogICAgICAgICAgICAgICAgaSA9IC0xLA0KICAgICAgICAgICAgICAgIG8gPSAtMTsNCiAgICAgICAgICAgIGZvciAoZSA9IE1hdGgubWluKGUsIDEpLCBlID0gTWF0aC5tYXgoZSwgMCksIG8gPSAwOyBuID0gdC5zaG93W29dOyBvKyspIGEgPSB0LnNob3dQb3NEYXRhW29dLCBuLmFwcGx5VHdlZW4oYSwgZSk7DQogICAgICAgICAgICBmb3IgKG8gPSAwOyBuID0gdC5oaWRlW29dOyBvKyspIG4uaXNTaG93biAmJiBuLmhpZGUoKSwgKGkgPSB0LnRvSGlkZS5pbmRleE9mKG4pKSA+IC0xICYmIChhID0gdC50b0hpZGVQb3NEYXRhW2ldLCBuLmlzU2hvd24gfHwgbi5zaG93KCksIG4uYXBwbHlUd2VlbihhLCBlKSkNCiAgICAgICAgfSwNCiAgICAgICAgaW5zZXJ0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpcywNCiAgICAgICAgICAgICAgICBlID0gdC5wYXJzZUluc2VydEFyZ3MoYXJndW1lbnRzKTsNCiAgICAgICAgICAgIHJldHVybiB0Lm11bHRpbWl4KHsNCiAgICAgICAgICAgICAgICBpbnNlcnQ6IGUuY29tbWFuZA0KICAgICAgICAgICAgfSwgZS5hbmltYXRlLCBlLmNhbGxiYWNrKQ0KICAgICAgICB9LA0KICAgICAgICBpbnNlcnRCZWZvcmU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGUgPSB0LnBhcnNlSW5zZXJ0QXJncyhhcmd1bWVudHMpOw0KICAgICAgICAgICAgcmV0dXJuIHQuaW5zZXJ0KGUuY29tbWFuZC5jb2xsZWN0aW9uLCAiYmVmb3JlIiwgZS5jb21tYW5kLnNpYmxpbmcsIGUuYW5pbWF0ZSwgZS5jYWxsYmFjaykNCiAgICAgICAgfSwNCiAgICAgICAgaW5zZXJ0QWZ0ZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGUgPSB0LnBhcnNlSW5zZXJ0QXJncyhhcmd1bWVudHMpOw0KICAgICAgICAgICAgcmV0dXJuIHQuaW5zZXJ0KGUuY29tbWFuZC5jb2xsZWN0aW9uLCAiYWZ0ZXIiLCBlLmNvbW1hbmQuc2libGluZywgZS5hbmltYXRlLCBlLmNhbGxiYWNrKQ0KICAgICAgICB9LA0KICAgICAgICBwcmVwZW5kOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpcywNCiAgICAgICAgICAgICAgICBlID0gdC5wYXJzZUluc2VydEFyZ3MoYXJndW1lbnRzKTsNCiAgICAgICAgICAgIHJldHVybiB0Lmluc2VydCgwLCBlLmNvbW1hbmQuY29sbGVjdGlvbiwgZS5hbmltYXRlLCBlLmNhbGxiYWNrKQ0KICAgICAgICB9LA0KICAgICAgICBhcHBlbmQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGUgPSB0LnBhcnNlSW5zZXJ0QXJncyhhcmd1bWVudHMpOw0KICAgICAgICAgICAgcmV0dXJuIHQuaW5zZXJ0KHQuc3RhdGUudG90YWxUYXJnZXRzLCBlLmNvbW1hbmQuY29sbGVjdGlvbiwgZS5hbmltYXRlLCBlLmNhbGxiYWNrKQ0KICAgICAgICB9LA0KICAgICAgICByZW1vdmU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGUgPSB0LnBhcnNlUmVtb3ZlQXJncyhhcmd1bWVudHMpOw0KICAgICAgICAgICAgcmV0dXJuIHQubXVsdGltaXgoew0KICAgICAgICAgICAgICAgIHJlbW92ZTogZS5jb21tYW5kDQogICAgICAgICAgICB9LCBlLmFuaW1hdGUsIGUuY2FsbGJhY2spDQogICAgICAgIH0sDQogICAgICAgIGdldENvbmZpZzogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGEgPSBudWxsOw0KICAgICAgICAgICAgcmV0dXJuIGEgPSB0ID8gbi5nZXRQcm9wZXJ0eShlLmNvbmZpZywgdCkgOiBlLmNvbmZpZywgZS5jYWxsRmlsdGVycygidmFsdWVHZXRDb25maWciLCBhLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGNvbmZpZ3VyZTogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzOw0KICAgICAgICAgICAgZS5jYWxsQWN0aW9ucygiYmVmb3JlQ29uZmlndXJlIiwgYXJndW1lbnRzKSwgbi5leHRlbmQoZS5jb25maWcsIHQsICEwLCAhMCksIGUuY2FsbEFjdGlvbnMoImFmdGVyQ29uZmlndXJlIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBnZXRTdGF0ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdCA9IHRoaXMsDQogICAgICAgICAgICAgICAgYSA9IG51bGw7DQogICAgICAgICAgICByZXR1cm4gYSA9IG5ldyBlLlN0YXRlLCBuLmV4dGVuZChhLCB0LnN0YXRlKSwgbi5mcmVlemUoYSksIHQuY2FsbEZpbHRlcnMoInN0YXRlR2V0U3RhdGUiLCBhLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGZvcmNlUmVmcmVzaDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdCA9IHRoaXM7DQogICAgICAgICAgICB0LmluZGV4VGFyZ2V0cygpDQogICAgICAgIH0sDQogICAgICAgIGZvcmNlUmVuZGVyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpcywNCiAgICAgICAgICAgICAgICBlID0gbnVsbCwNCiAgICAgICAgICAgICAgICBuID0gbnVsbCwNCiAgICAgICAgICAgICAgICBhID0gIiI7DQogICAgICAgICAgICBmb3IgKGEgaW4gdC5jYWNoZSkgZSA9IHQuY2FjaGVbYV0sIG4gPSBlLnJlbmRlcihlLmRhdGEpLCBuICE9PSBlLmRvbS5lbCAmJiAoZS5pc0luRG9tICYmIChlLnVuYmluZEV2ZW50cygpLCB0LmRvbS5wYXJlbnQucmVwbGFjZUNoaWxkKG4sIGUuZG9tLmVsKSksIGUuaXNTaG93biB8fCAobi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiKSwgZS5kb20uZWwgPSBuLCBlLmlzSW5Eb20gJiYgZS5iaW5kRXZlbnRzKCkpOw0KICAgICAgICAgICAgdC5zdGF0ZSA9IHQuYnVpbGRTdGF0ZSh0Lmxhc3RPcGVyYXRpb24pDQogICAgICAgIH0sDQogICAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBuID0gdGhpcywNCiAgICAgICAgICAgICAgICBhID0gbnVsbCwNCiAgICAgICAgICAgICAgICBpID0gbnVsbCwNCiAgICAgICAgICAgICAgICBvID0gMDsNCiAgICAgICAgICAgIGZvciAobi5jYWxsQWN0aW9ucygiYmVmb3JlRGVzdHJveSIsIGFyZ3VtZW50cyksIG8gPSAwOyBhID0gbi5jb250cm9sc1tvXTsgbysrKSBhLnJlbW92ZUJpbmRpbmcobik7DQogICAgICAgICAgICBmb3IgKG8gPSAwOyBpID0gbi50YXJnZXRzW29dOyBvKyspIHQgJiYgaS5zaG93KCksIGkudW5iaW5kRXZlbnRzKCk7DQogICAgICAgICAgICBuLmRvbS5jb250YWluZXIuaWQubWF0Y2goL15NaXhJdFVwLykgJiYgbi5kb20uY29udGFpbmVyLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKSwgZGVsZXRlIGUuaW5zdGFuY2VzW24uaWRdLCBuLmNhbGxBY3Rpb25zKCJhZnRlckRlc3Ryb3kiLCBhcmd1bWVudHMpDQogICAgICAgIH0NCiAgICB9KSwgZS5JTW92ZURhdGEgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLnBvc0luID0gbnVsbCwgdGhpcy5wb3NPdXQgPSBudWxsLCB0aGlzLm9wZXJhdGlvbiA9IG51bGwsIHRoaXMuY2FsbGJhY2sgPSBudWxsLCB0aGlzLnN0YXR1c0NoYW5nZSA9ICIiLCB0aGlzLmR1cmF0aW9uID0gLTEsIHRoaXMuc3RhZ2dlckluZGV4ID0gLTEsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuSU1vdmVEYXRhKSwgZS5JTW92ZURhdGEucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5JTW92ZURhdGEucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5JTW92ZURhdGEsIGUuVGFyZ2V0RG9tID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5lbCA9IG51bGwsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuVGFyZ2V0RG9tKSwgZS5UYXJnZXREb20ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5UYXJnZXREb20ucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5UYXJnZXREb20sIGUuVGFyZ2V0ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5pZCA9ICIiLCB0aGlzLnNvcnRTdHJpbmcgPSAiIiwgdGhpcy5taXhlciA9IG51bGwsIHRoaXMuY2FsbGJhY2sgPSBudWxsLCB0aGlzLmlzU2hvd24gPSAhMSwgdGhpcy5pc0JvdW5kID0gITEsIHRoaXMuaXNFeGNsdWRlZCA9ICExLCB0aGlzLmlzSW5Eb20gPSAhMSwgdGhpcy5oYW5kbGVyID0gbnVsbCwgdGhpcy5vcGVyYXRpb24gPSBudWxsLCB0aGlzLmRhdGEgPSBudWxsLCB0aGlzLmRvbSA9IG5ldyBlLlRhcmdldERvbSwgdGhpcy5jYWxsQWN0aW9ucygiYWZ0ZXJDb25zdHJ1Y3QiKSwgbi5zZWFsKHRoaXMpDQogICAgfSwgZS5CYXNlU3RhdGljLmNhbGwoZS5UYXJnZXQpLCBlLlRhcmdldC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBuLmV4dGVuZChlLlRhcmdldC5wcm90b3R5cGUsIHsNCiAgICAgICAgY29uc3RydWN0b3I6IGUuVGFyZ2V0LA0KICAgICAgICBpbml0OiBmdW5jdGlvbih0LCBuLCBhKSB7DQogICAgICAgICAgICB2YXIgaSA9IHRoaXMsDQogICAgICAgICAgICAgICAgbyA9ICIiOw0KICAgICAgICAgICAgaWYgKGkuY2FsbEFjdGlvbnMoImJlZm9yZUluaXQiLCBhcmd1bWVudHMpLCBpLm1peGVyID0gbiwgdCB8fCAodCA9IGkucmVuZGVyKGEpKSwgaS5jYWNoZURvbSh0KSwgaS5iaW5kRXZlbnRzKCksICJub25lIiAhPT0gaS5kb20uZWwuc3R5bGUuZGlzcGxheSAmJiAoaS5pc1Nob3duID0gITApLCBhICYmIG4uY29uZmlnLmRhdGEudWlkS2V5KSB7DQogICAgICAgICAgICAgICAgaWYgKCJ1bmRlZmluZWQiID09IHR5cGVvZihvID0gYVtuLmNvbmZpZy5kYXRhLnVpZEtleV0pIHx8IG8udG9TdHJpbmcoKS5sZW5ndGggPCAxKSB0aHJvdyBuZXcgVHlwZUVycm9yKGUubWVzc2FnZXMuZXJyb3JEYXRhc2V0SW52YWxpZFVpZEtleSh7DQogICAgICAgICAgICAgICAgICAgIHVpZEtleTogbi5jb25maWcuZGF0YS51aWRLZXkNCiAgICAgICAgICAgICAgICB9KSk7DQogICAgICAgICAgICAgICAgaS5pZCA9IG8sIGkuZGF0YSA9IGEsIG4uY2FjaGVbb10gPSBpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBpLmNhbGxBY3Rpb25zKCJhZnRlckluaXQiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIHJlbmRlcjogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGEgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGkgPSBudWxsLA0KICAgICAgICAgICAgICAgIG8gPSBudWxsLA0KICAgICAgICAgICAgICAgIHIgPSBudWxsLA0KICAgICAgICAgICAgICAgIHMgPSAiIjsNCiAgICAgICAgICAgIGlmIChhLmNhbGxBY3Rpb25zKCJiZWZvcmVSZW5kZXIiLCBhcmd1bWVudHMpLCBpID0gYS5jYWxsRmlsdGVycygicmVuZGVyUmVuZGVyIiwgYS5taXhlci5jb25maWcucmVuZGVyLnRhcmdldCwgYXJndW1lbnRzKSwgImZ1bmN0aW9uIiAhPSB0eXBlb2YgaSkgdGhyb3cgbmV3IFR5cGVFcnJvcihlLm1lc3NhZ2VzLmVycm9yRGF0YXNldFJlbmRlcmVyTm90U2V0KCkpOw0KICAgICAgICAgICAgcmV0dXJuIHMgPSBpKHQpLCBzICYmICJvYmplY3QiID09IHR5cGVvZiBzICYmIG4uaXNFbGVtZW50KHMpID8gbyA9IHMgOiAic3RyaW5nIiA9PSB0eXBlb2YgcyAmJiAociA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLCByLmlubmVySFRNTCA9IHMsIG8gPSByLmZpcnN0RWxlbWVudENoaWxkKSwgYS5jYWxsRmlsdGVycygiZWxSZW5kZXIiLCBvLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGNhY2hlRG9tOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSA9IHRoaXM7DQogICAgICAgICAgICBlLmNhbGxBY3Rpb25zKCJiZWZvcmVDYWNoZURvbSIsIGFyZ3VtZW50cyksIGUuZG9tLmVsID0gdCwgZS5jYWxsQWN0aW9ucygiYWZ0ZXJDYWNoZURvbSIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgZ2V0U29ydFN0cmluZzogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzLA0KICAgICAgICAgICAgICAgIG4gPSBlLmRvbS5lbC5nZXRBdHRyaWJ1dGUoImRhdGEtIiArIHQpIHx8ICIiOw0KICAgICAgICAgICAgZS5jYWxsQWN0aW9ucygiYmVmb3JlR2V0U29ydFN0cmluZyIsIGFyZ3VtZW50cyksIG4gPSBpc05hTigxICogbikgPyBuLnRvTG93ZXJDYXNlKCkgOiAxICogbiwgZS5zb3J0U3RyaW5nID0gbiwgZS5jYWxsQWN0aW9ucygiYWZ0ZXJHZXRTb3J0U3RyaW5nIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBzaG93OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpczsNCiAgICAgICAgICAgIHQuY2FsbEFjdGlvbnMoImJlZm9yZVNob3ciLCBhcmd1bWVudHMpLCB0LmlzU2hvd24gfHwgKHQuZG9tLmVsLnN0eWxlLmRpc3BsYXkgPSAiIiwgdC5pc1Nob3duID0gITApLCB0LmNhbGxBY3Rpb25zKCJhZnRlclNob3ciLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGhpZGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzOw0KICAgICAgICAgICAgdC5jYWxsQWN0aW9ucygiYmVmb3JlSGlkZSIsIGFyZ3VtZW50cyksIHQuaXNTaG93biAmJiAodC5kb20uZWwuc3R5bGUuZGlzcGxheSA9ICJub25lIiwgdC5pc1Nob3duID0gITEpLCB0LmNhbGxBY3Rpb25zKCJhZnRlckhpZGUiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIG1vdmU6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBlID0gdGhpczsNCiAgICAgICAgICAgIGUuY2FsbEFjdGlvbnMoImJlZm9yZU1vdmUiLCBhcmd1bWVudHMpLCBlLmlzRXhjbHVkZWQgfHwgZS5taXhlci50YXJnZXRzTW92ZWQrKywgZS5hcHBseVN0eWxlc0luKHQpLCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZS5hcHBseVN0eWxlc091dCh0KQ0KICAgICAgICAgICAgfSksIGUuY2FsbEFjdGlvbnMoImFmdGVyTW92ZSIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgYXBwbHlUd2VlbjogZnVuY3Rpb24odCwgbikgew0KICAgICAgICAgICAgdmFyIGEgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGkgPSAiIiwNCiAgICAgICAgICAgICAgICBvID0gbnVsbCwNCiAgICAgICAgICAgICAgICByID0gdC5wb3NJbiwNCiAgICAgICAgICAgICAgICBzID0gW10sDQogICAgICAgICAgICAgICAgbCA9IG5ldyBlLlN0eWxlRGF0YSwNCiAgICAgICAgICAgICAgICBjID0gLTE7DQogICAgICAgICAgICBmb3IgKGEuY2FsbEFjdGlvbnMoImJlZm9yZUFwcGx5VHdlZW4iLCBhcmd1bWVudHMpLCBsLnggPSByLngsIGwueSA9IHIueSwgMCA9PT0gbiA/IGEuaGlkZSgpIDogYS5pc1Nob3duIHx8IGEuc2hvdygpLCBjID0gMDsgaSA9IGUuZmVhdHVyZXMuVFdFRU5BQkxFW2NdOyBjKyspDQogICAgICAgICAgICAgICAgaWYgKG8gPSB0LnR3ZWVuRGF0YVtpXSwgIngiID09PSBpKSB7DQogICAgICAgICAgICAgICAgICAgIGlmICghbykgY29udGludWU7DQogICAgICAgICAgICAgICAgICAgIGwueCA9IHIueCArIG8gKiBuDQogICAgICAgICAgICAgICAgfSBlbHNlIGlmICgieSIgPT09IGkpIHsNCiAgICAgICAgICAgICAgICBpZiAoIW8pIGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgIGwueSA9IHIueSArIG8gKiBuDQogICAgICAgICAgICB9IGVsc2UgaWYgKG8gaW5zdGFuY2VvZiBlLlRyYW5zZm9ybURhdGEpIHsNCiAgICAgICAgICAgICAgICBpZiAoIW8udmFsdWUpIGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgIGxbaV0udmFsdWUgPSByW2ldLnZhbHVlICsgby52YWx1ZSAqIG4sIGxbaV0udW5pdCA9IG8udW5pdCwgcy5wdXNoKGkgKyAiKCIgKyBsW2ldLnZhbHVlICsgby51bml0ICsgIikiKQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBpZiAoIW8pIGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgIGxbaV0gPSByW2ldICsgbyAqIG4sIGEuZG9tLmVsLnN0eWxlW2ldID0gbFtpXQ0KICAgICAgICAgICAgfShsLnggfHwgbC55KSAmJiBzLnVuc2hpZnQoInRyYW5zbGF0ZSgiICsgbC54ICsgInB4LCAiICsgbC55ICsgInB4KSIpLCBzLmxlbmd0aCAmJiAoYS5kb20uZWwuc3R5bGVbZS5mZWF0dXJlcy50cmFuc2Zvcm1Qcm9wXSA9IHMuam9pbigiICIpKSwgYS5jYWxsQWN0aW9ucygiYWZ0ZXJBcHBseVR3ZWVuIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBhcHBseVN0eWxlc0luOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgbiA9IHRoaXMsDQogICAgICAgICAgICAgICAgYSA9IHQucG9zSW4sDQogICAgICAgICAgICAgICAgaSA9IDEgIT09IG4ubWl4ZXIuZWZmZWN0c0luLm9wYWNpdHksDQogICAgICAgICAgICAgICAgbyA9IFtdOw0KICAgICAgICAgICAgbi5jYWxsQWN0aW9ucygiYmVmb3JlQXBwbHlTdHlsZXNJbiIsIGFyZ3VtZW50cyksIG8ucHVzaCgidHJhbnNsYXRlKCIgKyBhLnggKyAicHgsICIgKyBhLnkgKyAicHgpIiksIG4ubWl4ZXIuY29uZmlnLmFuaW1hdGlvbi5hbmltYXRlUmVzaXplVGFyZ2V0cyAmJiAoInNob3ciICE9PSB0LnN0YXR1c0NoYW5nZSAmJiAobi5kb20uZWwuc3R5bGUud2lkdGggPSBhLndpZHRoICsgInB4Iiwgbi5kb20uZWwuc3R5bGUuaGVpZ2h0ID0gYS5oZWlnaHQgKyAicHgiKSwgbi5kb20uZWwuc3R5bGUubWFyZ2luUmlnaHQgPSBhLm1hcmdpblJpZ2h0ICsgInB4Iiwgbi5kb20uZWwuc3R5bGUubWFyZ2luQm90dG9tID0gYS5tYXJnaW5Cb3R0b20gKyAicHgiKSwgaSAmJiAobi5kb20uZWwuc3R5bGUub3BhY2l0eSA9IGEub3BhY2l0eSksICJzaG93IiA9PT0gdC5zdGF0dXNDaGFuZ2UgJiYgKG8gPSBvLmNvbmNhdChuLm1peGVyLnRyYW5zZm9ybUluKSksIG4uZG9tLmVsLnN0eWxlW2UuZmVhdHVyZXMudHJhbnNmb3JtUHJvcF0gPSBvLmpvaW4oIiAiKSwgbi5jYWxsQWN0aW9ucygiYWZ0ZXJBcHBseVN0eWxlc0luIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBhcHBseVN0eWxlc091dDogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIG4gPSB0aGlzLA0KICAgICAgICAgICAgICAgIGEgPSBbXSwNCiAgICAgICAgICAgICAgICBpID0gW10sDQogICAgICAgICAgICAgICAgbyA9IG4ubWl4ZXIuY29uZmlnLmFuaW1hdGlvbi5hbmltYXRlUmVzaXplVGFyZ2V0cywNCiAgICAgICAgICAgICAgICByID0gInVuZGVmaW5lZCIgIT0gdHlwZW9mIG4ubWl4ZXIuZWZmZWN0c0luLm9wYWNpdHk7DQogICAgICAgICAgICBpZiAobi5jYWxsQWN0aW9ucygiYmVmb3JlQXBwbHlTdHlsZXNPdXQiLCBhcmd1bWVudHMpLCBhLnB1c2gobi53cml0ZVRyYW5zaXRpb25SdWxlKGUuZmVhdHVyZXMudHJhbnNmb3JtUnVsZSwgdC5zdGFnZ2VySW5kZXgpKSwgIm5vbmUiICE9PSB0LnN0YXR1c0NoYW5nZSAmJiBhLnB1c2gobi53cml0ZVRyYW5zaXRpb25SdWxlKCJvcGFjaXR5IiwgdC5zdGFnZ2VySW5kZXgsIHQuZHVyYXRpb24pKSwgbyAmJiAoYS5wdXNoKG4ud3JpdGVUcmFuc2l0aW9uUnVsZSgid2lkdGgiLCB0LnN0YWdnZXJJbmRleCwgdC5kdXJhdGlvbikpLCBhLnB1c2gobi53cml0ZVRyYW5zaXRpb25SdWxlKCJoZWlnaHQiLCB0LnN0YWdnZXJJbmRleCwgdC5kdXJhdGlvbikpLCBhLnB1c2gobi53cml0ZVRyYW5zaXRpb25SdWxlKCJtYXJnaW4iLCB0LnN0YWdnZXJJbmRleCwgdC5kdXJhdGlvbikpKSwgIXQuY2FsbGJhY2spIHJldHVybiBuLm1peGVyLnRhcmdldHNJbW1vdmFibGUrKywgdm9pZChuLm1peGVyLnRhcmdldHNNb3ZlZCA9PT0gbi5taXhlci50YXJnZXRzSW1tb3ZhYmxlICYmIG4ubWl4ZXIuY2xlYW5VcCh0Lm9wZXJhdGlvbikpOw0KICAgICAgICAgICAgc3dpdGNoIChuLm9wZXJhdGlvbiA9IHQub3BlcmF0aW9uLCBuLmNhbGxiYWNrID0gdC5jYWxsYmFjaywgIW4uaXNFeGNsdWRlZCAmJiBuLm1peGVyLnRhcmdldHNCb3VuZCsrLCBuLmlzQm91bmQgPSAhMCwgbi5hcHBseVRyYW5zaXRpb24oYSksIG8gJiYgdC5wb3NPdXQud2lkdGggPiAwICYmIHQucG9zT3V0LmhlaWdodCA+IDAgJiYgKG4uZG9tLmVsLnN0eWxlLndpZHRoID0gdC5wb3NPdXQud2lkdGggKyAicHgiLCBuLmRvbS5lbC5zdHlsZS5oZWlnaHQgPSB0LnBvc091dC5oZWlnaHQgKyAicHgiLCBuLmRvbS5lbC5zdHlsZS5tYXJnaW5SaWdodCA9IHQucG9zT3V0Lm1hcmdpblJpZ2h0ICsgInB4Iiwgbi5kb20uZWwuc3R5bGUubWFyZ2luQm90dG9tID0gdC5wb3NPdXQubWFyZ2luQm90dG9tICsgInB4IiksIG4ubWl4ZXIuY29uZmlnLmFuaW1hdGlvbi5udWRnZSB8fCAiaGlkZSIgIT09IHQuc3RhdHVzQ2hhbmdlIHx8IGkucHVzaCgidHJhbnNsYXRlKCIgKyB0LnBvc091dC54ICsgInB4LCAiICsgdC5wb3NPdXQueSArICJweCkiKSwgdC5zdGF0dXNDaGFuZ2UpIHsNCiAgICAgICAgICAgICAgICBjYXNlICJoaWRlIjoNCiAgICAgICAgICAgICAgICAgICAgciAmJiAobi5kb20uZWwuc3R5bGUub3BhY2l0eSA9IG4ubWl4ZXIuZWZmZWN0c091dC5vcGFjaXR5KSwgaSA9IGkuY29uY2F0KG4ubWl4ZXIudHJhbnNmb3JtT3V0KTsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgY2FzZSAic2hvdyI6DQogICAgICAgICAgICAgICAgICAgIHIgJiYgKG4uZG9tLmVsLnN0eWxlLm9wYWNpdHkgPSAxKQ0KICAgICAgICAgICAgfShuLm1peGVyLmNvbmZpZy5hbmltYXRpb24ubnVkZ2UgfHwgIW4ubWl4ZXIuY29uZmlnLmFuaW1hdGlvbi5udWRnZSAmJiAiaGlkZSIgIT09IHQuc3RhdHVzQ2hhbmdlKSAmJiBpLnB1c2goInRyYW5zbGF0ZSgiICsgdC5wb3NPdXQueCArICJweCwgIiArIHQucG9zT3V0LnkgKyAicHgpIiksIG4uZG9tLmVsLnN0eWxlW2UuZmVhdHVyZXMudHJhbnNmb3JtUHJvcF0gPSBpLmpvaW4oIiAiKSwgbi5jYWxsQWN0aW9ucygiYWZ0ZXJBcHBseVN0eWxlc091dCIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgd3JpdGVUcmFuc2l0aW9uUnVsZTogZnVuY3Rpb24odCwgZSwgbikgew0KICAgICAgICAgICAgdmFyIGEgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGkgPSBhLmdldERlbGF5KGUpLA0KICAgICAgICAgICAgICAgIG8gPSAiIjsNCiAgICAgICAgICAgIHJldHVybiBvID0gdCArICIgIiArIChuID4gMCA/IG4gOiBhLm1peGVyLmNvbmZpZy5hbmltYXRpb24uZHVyYXRpb24pICsgIm1zICIgKyBpICsgIm1zICIgKyAoIm9wYWNpdHkiID09PSB0ID8gImxpbmVhciIgOiBhLm1peGVyLmNvbmZpZy5hbmltYXRpb24uZWFzaW5nKSwgYS5jYWxsRmlsdGVycygicnVsZVdyaXRlVHJhbnNpdGlvblJ1bGUiLCBvLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGdldERlbGF5OiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSA9IHRoaXMsDQogICAgICAgICAgICAgICAgbiA9IC0xOw0KICAgICAgICAgICAgcmV0dXJuICJmdW5jdGlvbiIgPT0gdHlwZW9mIGUubWl4ZXIuY29uZmlnLmFuaW1hdGlvbi5zdGFnZ2VyU2VxdWVuY2UgJiYgKHQgPSBlLm1peGVyLmNvbmZpZy5hbmltYXRpb24uc3RhZ2dlclNlcXVlbmNlLmNhbGwoZSwgdCwgZS5zdGF0ZSkpLCBuID0gZS5taXhlci5zdGFnZ2VyRHVyYXRpb24gPyB0ICogZS5taXhlci5zdGFnZ2VyRHVyYXRpb24gOiAwLCBlLmNhbGxGaWx0ZXJzKCJkZWxheUdldERlbGF5IiwgbiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBhcHBseVRyYW5zaXRpb246IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBuID0gdGhpcywNCiAgICAgICAgICAgICAgICBhID0gdC5qb2luKCIsICIpOw0KICAgICAgICAgICAgbi5jYWxsQWN0aW9ucygiYmVmb3JlQXBwbHlUcmFuc2l0aW9uIiwgYXJndW1lbnRzKSwgbi5kb20uZWwuc3R5bGVbZS5mZWF0dXJlcy50cmFuc2l0aW9uUHJvcF0gPSBhLCBuLmNhbGxBY3Rpb25zKCJhZnRlckFwcGx5VHJhbnNpdGlvbiIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgaGFuZGxlVHJhbnNpdGlvbkVuZDogZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0aGlzLA0KICAgICAgICAgICAgICAgIG4gPSB0LnByb3BlcnR5TmFtZSwNCiAgICAgICAgICAgICAgICBhID0gZS5taXhlci5jb25maWcuYW5pbWF0aW9uLmFuaW1hdGVSZXNpemVUYXJnZXRzOw0KICAgICAgICAgICAgZS5jYWxsQWN0aW9ucygiYmVmb3JlSGFuZGxlVHJhbnNpdGlvbkVuZCIsIGFyZ3VtZW50cyksIGUuaXNCb3VuZCAmJiB0LnRhcmdldC5tYXRjaGVzKGUubWl4ZXIuY29uZmlnLnNlbGVjdG9ycy50YXJnZXQpICYmIChuLmluZGV4T2YoInRyYW5zZm9ybSIpID4gLTEgfHwgbi5pbmRleE9mKCJvcGFjaXR5IikgPiAtMSB8fCBhICYmIG4uaW5kZXhPZigiaGVpZ2h0IikgPiAtMSB8fCBhICYmIG4uaW5kZXhPZigid2lkdGgiKSA+IC0xIHx8IGEgJiYgbi5pbmRleE9mKCJtYXJnaW4iKSA+IC0xKSAmJiAoZS5jYWxsYmFjay5jYWxsKGUsIGUub3BlcmF0aW9uKSwgZS5pc0JvdW5kID0gITEsIGUuY2FsbGJhY2sgPSBudWxsLCBlLm9wZXJhdGlvbiA9IG51bGwpLCBlLmNhbGxBY3Rpb25zKCJhZnRlckhhbmRsZVRyYW5zaXRpb25FbmQiLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGV2ZW50QnVzOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICB2YXIgZSA9IHRoaXM7DQogICAgICAgICAgICBzd2l0Y2ggKGUuY2FsbEFjdGlvbnMoImJlZm9yZUV2ZW50QnVzIiwgYXJndW1lbnRzKSwgdC50eXBlKSB7DQogICAgICAgICAgICAgICAgY2FzZSAid2Via2l0VHJhbnNpdGlvbkVuZCI6DQogICAgICAgICAgICAgICAgY2FzZSAidHJhbnNpdGlvbmVuZCI6DQogICAgICAgICAgICAgICAgICAgIGUuaGFuZGxlVHJhbnNpdGlvbkVuZCh0KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZS5jYWxsQWN0aW9ucygiYWZ0ZXJFdmVudEJ1cyIsIGFyZ3VtZW50cykNCiAgICAgICAgfSwNCiAgICAgICAgdW5iaW5kRXZlbnRzOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpczsNCiAgICAgICAgICAgIHQuY2FsbEFjdGlvbnMoImJlZm9yZVVuYmluZEV2ZW50cyIsIGFyZ3VtZW50cyksIG4ub2ZmKHQuZG9tLmVsLCAid2Via2l0VHJhbnNpdGlvbkVuZCIsIHQuaGFuZGxlciksIG4ub2ZmKHQuZG9tLmVsLCAidHJhbnNpdGlvbmVuZCIsIHQuaGFuZGxlciksIHQuY2FsbEFjdGlvbnMoImFmdGVyVW5iaW5kRXZlbnRzIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBiaW5kRXZlbnRzOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gdGhpcywNCiAgICAgICAgICAgICAgICBhID0gIiI7DQogICAgICAgICAgICB0LmNhbGxBY3Rpb25zKCJiZWZvcmVCaW5kRXZlbnRzIiwgYXJndW1lbnRzKSwgYSA9ICJ3ZWJraXQiID09PSBlLmZlYXR1cmVzLnRyYW5zaXRpb25QcmVmaXggPyAid2Via2l0VHJhbnNpdGlvbkVuZCIgOiAidHJhbnNpdGlvbmVuZCIsIHQuaGFuZGxlciA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdC5ldmVudEJ1cyhlKQ0KICAgICAgICAgICAgfSwgbi5vbih0LmRvbS5lbCwgYSwgdC5oYW5kbGVyKSwgdC5jYWxsQWN0aW9ucygiYWZ0ZXJCaW5kRXZlbnRzIiwgYXJndW1lbnRzKQ0KICAgICAgICB9LA0KICAgICAgICBnZXRQb3NEYXRhOiBmdW5jdGlvbihuKSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMsDQogICAgICAgICAgICAgICAgaSA9IHt9LA0KICAgICAgICAgICAgICAgIG8gPSBudWxsLA0KICAgICAgICAgICAgICAgIHIgPSBuZXcgZS5TdHlsZURhdGE7DQogICAgICAgICAgICByZXR1cm4gYS5jYWxsQWN0aW9ucygiYmVmb3JlR2V0UG9zRGF0YSIsIGFyZ3VtZW50cyksIHIueCA9IGEuZG9tLmVsLm9mZnNldExlZnQsIHIueSA9IGEuZG9tLmVsLm9mZnNldFRvcCwgKGEubWl4ZXIuY29uZmlnLmFuaW1hdGlvbi5hbmltYXRlUmVzaXplVGFyZ2V0cyB8fCBuKSAmJiAobyA9IGEuZG9tLmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLCByLnRvcCA9IG8udG9wLCByLnJpZ2h0ID0gby5yaWdodCwgci5ib3R0b20gPSBvLmJvdHRvbSwgci5sZWZ0ID0gby5sZWZ0LCByLndpZHRoID0gby53aWR0aCwgci5oZWlnaHQgPSBvLmhlaWdodCksIGEubWl4ZXIuY29uZmlnLmFuaW1hdGlvbi5hbmltYXRlUmVzaXplVGFyZ2V0cyAmJiAoaSA9IHQuZ2V0Q29tcHV0ZWRTdHlsZShhLmRvbS5lbCksIHIubWFyZ2luQm90dG9tID0gcGFyc2VGbG9hdChpLm1hcmdpbkJvdHRvbSksIHIubWFyZ2luUmlnaHQgPSBwYXJzZUZsb2F0KGkubWFyZ2luUmlnaHQpKSwgYS5jYWxsRmlsdGVycygicG9zRGF0YUdldFBvc0RhdGEiLCByLCBhcmd1bWVudHMpDQogICAgICAgIH0sDQogICAgICAgIGNsZWFuVXA6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSB0aGlzOw0KICAgICAgICAgICAgdC5jYWxsQWN0aW9ucygiYmVmb3JlQ2xlYW5VcCIsIGFyZ3VtZW50cyksIHQuZG9tLmVsLnN0eWxlW2UuZmVhdHVyZXMudHJhbnNmb3JtUHJvcF0gPSAiIiwgdC5kb20uZWwuc3R5bGVbZS5mZWF0dXJlcy50cmFuc2l0aW9uUHJvcF0gPSAiIiwgdC5kb20uZWwuc3R5bGUub3BhY2l0eSA9ICIiLCB0Lm1peGVyLmNvbmZpZy5hbmltYXRpb24uYW5pbWF0ZVJlc2l6ZVRhcmdldHMgJiYgKHQuZG9tLmVsLnN0eWxlLndpZHRoID0gIiIsIHQuZG9tLmVsLnN0eWxlLmhlaWdodCA9ICIiLCB0LmRvbS5lbC5zdHlsZS5tYXJnaW5SaWdodCA9ICIiLCB0LmRvbS5lbC5zdHlsZS5tYXJnaW5Cb3R0b20gPSAiIiksIHQuY2FsbEFjdGlvbnMoImFmdGVyQ2xlYW5VcCIsIGFyZ3VtZW50cykNCiAgICAgICAgfQ0KICAgIH0pLCBlLkNvbGxlY3Rpb24gPSBmdW5jdGlvbih0KSB7DQogICAgICAgIHZhciBlID0gbnVsbCwNCiAgICAgICAgICAgIGEgPSAtMTsNCiAgICAgICAgZm9yICh0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgYSA9IDA7IGUgPSB0W2FdOyBhKyspIHRoaXNbYV0gPSBlOw0KICAgICAgICB0aGlzLmxlbmd0aCA9IHQubGVuZ3RoLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLmZyZWV6ZSh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuQ29sbGVjdGlvbiksIGUuQ29sbGVjdGlvbi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGUuQmFzZS5wcm90b3R5cGUpLCBuLmV4dGVuZChlLkNvbGxlY3Rpb24ucHJvdG90eXBlLCB7DQogICAgICAgIGNvbnN0cnVjdG9yOiBlLkNvbGxlY3Rpb24sDQogICAgICAgIG1peGl0dXA6IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgIHZhciBhID0gdGhpcywNCiAgICAgICAgICAgICAgICBpID0gbnVsbCwNCiAgICAgICAgICAgICAgICBvID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSwNCiAgICAgICAgICAgICAgICByID0gW10sDQogICAgICAgICAgICAgICAgcyA9IC0xOw0KICAgICAgICAgICAgZm9yICh0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVNaXhpdHVwIiksIG8uc2hpZnQoKSwgcyA9IDA7IGkgPSBhW3NdOyBzKyspIHIucHVzaChpW3RdLmFwcGx5KGksIG8pKTsNCiAgICAgICAgICAgIHJldHVybiBhLmNhbGxGaWx0ZXJzKCJwcm9taXNlTWl4aXR1cCIsIG4uYWxsKHIsIGUubGlicmFyaWVzKSwgYXJndW1lbnRzKQ0KICAgICAgICB9DQogICAgfSksIGUuT3BlcmF0aW9uID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5pZCA9ICIiLCB0aGlzLmFyZ3MgPSBbXSwgdGhpcy5jb21tYW5kID0gbnVsbCwgdGhpcy5zaG93UG9zRGF0YSA9IFtdLCB0aGlzLnRvSGlkZVBvc0RhdGEgPSBbXSwgdGhpcy5zdGFydFN0YXRlID0gbnVsbCwgdGhpcy5uZXdTdGF0ZSA9IG51bGwsIHRoaXMuZG9jU3RhdGUgPSBudWxsLCB0aGlzLndpbGxTb3J0ID0gITEsIHRoaXMud2lsbENoYW5nZUxheW91dCA9ICExLCB0aGlzLmhhc0VmZmVjdCA9ICExLCB0aGlzLmhhc0ZhaWxlZCA9ICExLCB0aGlzLnRyaWdnZXJFbGVtZW50ID0gbnVsbCwgdGhpcy5zaG93ID0gW10sIHRoaXMuaGlkZSA9IFtdLCB0aGlzLm1hdGNoaW5nID0gW10sIHRoaXMudG9TaG93ID0gW10sIHRoaXMudG9IaWRlID0gW10sIHRoaXMudG9Nb3ZlID0gW10sIHRoaXMudG9SZW1vdmUgPSBbXSwgdGhpcy5zdGFydE9yZGVyID0gW10sIHRoaXMubmV3T3JkZXIgPSBbXSwgdGhpcy5zdGFydFNvcnQgPSBudWxsLCB0aGlzLm5ld1NvcnQgPSBudWxsLCB0aGlzLnN0YXJ0RmlsdGVyID0gbnVsbCwgdGhpcy5uZXdGaWx0ZXIgPSBudWxsLCB0aGlzLnN0YXJ0RGF0YXNldCA9IG51bGwsIHRoaXMubmV3RGF0YXNldCA9IG51bGwsIHRoaXMudmlld3BvcnREZWx0YVggPSAwLCB0aGlzLnZpZXdwb3J0RGVsdGFZID0gMCwgdGhpcy5zdGFydFggPSAwLCB0aGlzLnN0YXJ0WSA9IDAsIHRoaXMuc3RhcnRIZWlnaHQgPSAwLCB0aGlzLnN0YXJ0V2lkdGggPSAwLCB0aGlzLm5ld1ggPSAwLCB0aGlzLm5ld1kgPSAwLCB0aGlzLm5ld0hlaWdodCA9IDAsIHRoaXMubmV3V2lkdGggPSAwLCB0aGlzLnN0YXJ0Q29udGFpbmVyQ2xhc3NOYW1lID0gIiIsIHRoaXMuc3RhcnREaXNwbGF5ID0gIiIsIHRoaXMubmV3Q29udGFpbmVyQ2xhc3NOYW1lID0gIiIsIHRoaXMubmV3RGlzcGxheSA9ICIiLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLk9wZXJhdGlvbiksIGUuT3BlcmF0aW9uLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuT3BlcmF0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuT3BlcmF0aW9uLCBlLlN0YXRlID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5pZCA9ICIiLCB0aGlzLmFjdGl2ZUZpbHRlciA9IG51bGwsIHRoaXMuYWN0aXZlU29ydCA9IG51bGwsIHRoaXMuYWN0aXZlQ29udGFpbmVyQ2xhc3NOYW1lID0gIiIsIHRoaXMuY29udGFpbmVyID0gbnVsbCwgdGhpcy50YXJnZXRzID0gW10sIHRoaXMuaGlkZSA9IFtdLCB0aGlzLnNob3cgPSBbXSwgdGhpcy5tYXRjaGluZyA9IFtdLCB0aGlzLnRvdGFsVGFyZ2V0cyA9IC0xLCB0aGlzLnRvdGFsU2hvdyA9IC0xLCB0aGlzLnRvdGFsSGlkZSA9IC0xLCB0aGlzLnRvdGFsTWF0Y2hpbmcgPSAtMSwgdGhpcy5oYXNGYWlsZWQgPSAhMSwgdGhpcy50cmlnZ2VyRWxlbWVudCA9IG51bGwsIHRoaXMuYWN0aXZlRGF0YXNldCA9IG51bGwsIHRoaXMuY2FsbEFjdGlvbnMoImFmdGVyQ29uc3RydWN0IiksIG4uc2VhbCh0aGlzKQ0KICAgIH0sIGUuQmFzZVN0YXRpYy5jYWxsKGUuU3RhdGUpLCBlLlN0YXRlLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuU3RhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZS5TdGF0ZSwgZS5Vc2VySW5zdHJ1Y3Rpb24gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIpLCB0aGlzLmNvbW1hbmQgPSB7fSwgdGhpcy5hbmltYXRlID0gITEsIHRoaXMuY2FsbGJhY2sgPSBudWxsLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLlVzZXJJbnN0cnVjdGlvbiksIGUuVXNlckluc3RydWN0aW9uLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuVXNlckluc3RydWN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuVXNlckluc3RydWN0aW9uLCBlLk1lc3NhZ2VzID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGUuQmFzZS5jYWxsKHRoaXMpLCB0aGlzLmNhbGxBY3Rpb25zKCJiZWZvcmVDb25zdHJ1Y3QiKSwgdGhpcy5FUlJPUl9GQUNUT1JZX0lOVkFMSURfQ09OVEFJTkVSID0gIltNaXhJdFVwXSBBbiBpbnZhbGlkIHNlbGVjdG9yIG9yIGVsZW1lbnQgcmVmZXJlbmNlIHdhcyBwYXNzZWQgdG8gdGhlIG1peGl0dXAgZmFjdG9yeSBmdW5jdGlvbiIsIHRoaXMuRVJST1JfRkFDVE9SWV9DT05UQUlORVJfTk9UX0ZPVU5EID0gIltNaXhJdFVwXSBUaGUgcHJvdmlkZWQgc2VsZWN0b3IgeWllbGRlZCBubyBjb250YWluZXIgZWxlbWVudCIsIHRoaXMuRVJST1JfQ09ORklHX0lOVkFMSURfQU5JTUFUSU9OX0VGRkVDVFMgPSAiW01peEl0VXBdIEludmFsaWQgdmFsdWUgZm9yIGBhbmltYXRpb24uZWZmZWN0c2AiLCB0aGlzLkVSUk9SX0NPTkZJR19JTlZBTElEX0NPTlRST0xTX1NDT1BFID0gIltNaXhJdFVwXSBJbnZhbGlkIHZhbHVlIGZvciBgY29udHJvbHMuc2NvcGVgIiwgdGhpcy5FUlJPUl9DT05GSUdfSU5WQUxJRF9QUk9QRVJUWSA9ICdbTWl4aXRVcF0gSW52YWxpZCBjb25maWd1cmF0aW9uIG9iamVjdCBwcm9wZXJ0eSAiJHtlcnJvbmVvdXN9IiR7c3VnZ2VzdGlvbn0nLCB0aGlzLkVSUk9SX0NPTkZJR19JTlZBTElEX1BST1BFUlRZX1NVR0dFU1RJT04gPSAnLiBEaWQgeW91IG1lYW4gIiR7cHJvYmFibGVNYXRjaH0iPycsIHRoaXMuRVJST1JfQ09ORklHX0RBVEFfVUlEX0tFWV9OT1RfU0VUID0gIltNaXhJdFVwXSBUbyB1c2UgdGhlIGRhdGFzZXQgQVBJLCBhIFVJRCBrZXkgbXVzdCBiZSBzcGVjaWZpZWQgdXNpbmcgYGRhdGEudWlkS2V5YCIsIHRoaXMuRVJST1JfREFUQVNFVF9JTlZBTElEX1VJRF9LRVkgPSAnW01peEl0VXBdIFRoZSBzcGVjaWZpZWQgVUlEIGtleSAiJHt1aWRLZXl9IiBpcyBub3QgcHJlc2VudCBvbiBvbmUgb3IgbW9yZSBkYXRhc2V0IGl0ZW1zJywgdGhpcy5FUlJPUl9EQVRBU0VUX0RVUExJQ0FURV9VSUQgPSAnW01peEl0VXBdIFRoZSBVSUQgIiR7dWlkfSIgd2FzIGZvdW5kIG9uIHR3byBvciBtb3JlIGRhdGFzZXQgaXRlbXMuIFVJRHMgbXVzdCBiZSB1bmlxdWUuJywgdGhpcy5FUlJPUl9JTlNFUlRfSU5WQUxJRF9BUkdVTUVOVFMgPSAiW01peEl0VXBdIFBsZWFzZSBwcm92aWRlciBlaXRoZXIgYW4gaW5kZXggb3IgYSBzaWJsaW5nIGFuZCBwb3NpdGlvbiB0byBpbnNlcnQsIG5vdCBib3RoIiwgdGhpcy5FUlJPUl9JTlNFUlRfUFJFRVhJU1RJTkdfRUxFTUVOVCA9ICJbTWl4SXRVcF0gQW4gZWxlbWVudCB0byBiZSBpbnNlcnRlZCBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgY29udGFpbmVyIiwgdGhpcy5FUlJPUl9GSUxURVJfSU5WQUxJRF9BUkdVTUVOVFMgPSAiW01peEl0VXBdIFBsZWFzZSBwcm92aWRlIGVpdGhlciBhIHNlbGVjdG9yIG9yIGNvbGxlY3Rpb24gYC5maWx0ZXIoKWAsIG5vdCBib3RoIiwgdGhpcy5FUlJPUl9EQVRBU0VUX05PVF9TRVQgPSAiW01peEl0VXBdIFRvIHVzZSB0aGUgZGF0YXNldCBBUEkgd2l0aCBwcmUtcmVuZGVyZWQgdGFyZ2V0cywgYSBzdGFydGluZyBkYXRhc2V0IG11c3QgYmUgc2V0IHVzaW5nIGBsb2FkLmRhdGFzZXRgIiwgdGhpcy5FUlJPUl9EQVRBU0VUX1BSRVJFTkRFUkVEX01JU01BVENIID0gIltNaXhJdFVwXSBgbG9hZC5kYXRhc2V0YCBkb2VzIG5vdCBtYXRjaCBwcmUtcmVuZGVyZWQgdGFyZ2V0cyIsIHRoaXMuRVJST1JfREFUQVNFVF9SRU5ERVJFUl9OT1RfU0VUID0gIltNaXhJdFVwXSBUbyBpbnNlcnQgYW4gZWxlbWVudCB2aWEgdGhlIGRhdGFzZXQgQVBJLCBhIHRhcmdldCByZW5kZXJlciBmdW5jdGlvbiBtdXN0IGJlIHByb3ZpZGVkIHRvIGByZW5kZXIudGFyZ2V0YCIsIHRoaXMuRVJST1JfU09SVF9OT05fRVhJU1RFTlRfRUxFTUVOVCA9ICJbTWl4SXRVcF0gQW4gZWxlbWVudCB0byBiZSBzb3J0ZWQgZG9lcyBub3QgYWxyZWFkeSBleGlzdCBpbiB0aGUgY29udGFpbmVyIiwgdGhpcy5XQVJOSU5HX0ZBQ1RPUllfUFJFRVhJU1RJTkdfSU5TVEFOQ0UgPSAiW01peEl0VXBdIFdBUk5JTkc6IFRoaXMgZWxlbWVudCBhbHJlYWR5IGhhcyBhbiBhY3RpdmUgTWl4SXRVcCBpbnN0YW5jZS4gVGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHdpbGwgYmUgaWdub3JlZC4gSWYgeW91IHdpc2ggdG8gcGVyZm9ybSBhZGRpdGlvbmFsIG1ldGhvZHMgb24gdGhpcyBpbnN0YW5jZSwgcGxlYXNlIGNyZWF0ZSBhIHJlZmVyZW5jZS4iLCB0aGlzLldBUk5JTkdfSU5TRVJUX05PX0VMRU1FTlRTID0gIltNaXhJdFVwXSBXQVJOSU5HOiBObyB2YWxpZCBlbGVtZW50cyB3ZXJlIHBhc3NlZCB0byBgLmluc2VydCgpYCIsIHRoaXMuV0FSTklOR19SRU1PVkVfTk9fRUxFTUVOVFMgPSAiW01peEl0VXBdIFdBUk5JTkc6IE5vIHZhbGlkIGVsZW1lbnRzIHdlcmUgcGFzc2VkIHRvIGAucmVtb3ZlKClgIiwgdGhpcy5XQVJOSU5HX01VTFRJTUlYX0lOU1RBTkNFX1FVRVVFX0ZVTEwgPSAiW01peEl0VXBdIFdBUk5JTkc6IEFuIG9wZXJhdGlvbiB3YXMgcmVxdWVzdGVkIGJ1dCB0aGUgTWl4SXRVcCBpbnN0YW5jZSB3YXMgYnVzeS4gVGhlIG9wZXJhdGlvbiB3YXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcXVldWUgaXMgZnVsbCBvciBxdWV1aW5nIGlzIGRpc2FibGVkLiIsIHRoaXMuV0FSTklOR19HRVRfT1BFUkFUSU9OX0lOU1RBTkNFX0JVU1kgPSAiW01peEl0VXBdIFdBUk5JTkc6IE9wZXJhdGlvbnMgY2FuIGJlIGJlIGNyZWF0ZWQgd2hpbGUgdGhlIE1peEl0VXAgaW5zdGFuY2UgaXMgYnVzeS4iLCB0aGlzLldBUk5JTkdfTk9fUFJPTUlTRV9JTVBMRU1FTlRBVElPTiA9ICJbTWl4SXRVcF0gV0FSTklORzogTm8gUHJvbWlzZSBpbXBsZW1lbnRhdGlvbnMgY291bGQgYmUgZm91bmQuIElmIHlvdSB3aXNoIHRvIHVzZSBwcm9taXNlcyB3aXRoIE1peEl0VXAgcGxlYXNlIGluc3RhbGwgYW4gRVM2IFByb21pc2UgcG9seWZpbGwuIiwgdGhpcy5XQVJOSU5HX0lOQ09OU0lTVEVOVF9TT1JUSU5HX0FUVFJJQlVURVMgPSAnW01peEl0VXBdIFdBUk5JTkc6IFRoZSByZXF1ZXN0ZWQgc29ydGluZyBkYXRhIGF0dHJpYnV0ZSAiJHthdHRyaWJ1dGV9IiB3YXMgbm90IHByZXNlbnQgb24gb25lIG9yIG1vcmUgdGFyZ2V0IGVsZW1lbnRzIHdoaWNoIG1heSBwcm9kdWN0IHVuZXhwZWN0ZWQgc29ydCBvdXRwdXQnLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIpLCB0aGlzLmNvbXBpbGVUZW1wbGF0ZXMoKSwgbi5zZWFsKHRoaXMpDQogICAgfSwgZS5CYXNlU3RhdGljLmNhbGwoZS5NZXNzYWdlcyksIGUuTWVzc2FnZXMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShlLkJhc2UucHJvdG90eXBlKSwgZS5NZXNzYWdlcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBlLk1lc3NhZ2VzLCBlLk1lc3NhZ2VzLnByb3RvdHlwZS5jb21waWxlVGVtcGxhdGVzID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciB0ID0gIiIsDQogICAgICAgICAgICBlID0gIiI7DQogICAgICAgIGZvciAodCBpbiB0aGlzKSAic3RyaW5nIiA9PSB0eXBlb2YoZSA9IHRoaXNbdF0pICYmICh0aGlzW24uY2FtZWxDYXNlKHQpXSA9IG4udGVtcGxhdGUoZSkpDQogICAgfSwgZS5tZXNzYWdlcyA9IG5ldyBlLk1lc3NhZ2VzLCBlLkZhY2FkZSA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgZS5CYXNlLmNhbGwodGhpcyksIHRoaXMuY2FsbEFjdGlvbnMoImJlZm9yZUNvbnN0cnVjdCIsIGFyZ3VtZW50cyksIHRoaXMuY29uZmlndXJlID0gdC5jb25maWd1cmUuYmluZCh0KSwgdGhpcy5zaG93ID0gdC5zaG93LmJpbmQodCksIHRoaXMuaGlkZSA9IHQuaGlkZS5iaW5kKHQpLCB0aGlzLmZpbHRlciA9IHQuZmlsdGVyLmJpbmQodCksIHRoaXMudG9nZ2xlT24gPSB0LnRvZ2dsZU9uLmJpbmQodCksIHRoaXMudG9nZ2xlT2ZmID0gdC50b2dnbGVPZmYuYmluZCh0KSwgdGhpcy5zb3J0ID0gdC5zb3J0LmJpbmQodCksIHRoaXMuY2hhbmdlTGF5b3V0ID0gdC5jaGFuZ2VMYXlvdXQuYmluZCh0KSwgdGhpcy5tdWx0aW1peCA9IHQubXVsdGltaXguYmluZCh0KSwgdGhpcy5kYXRhc2V0ID0gdC5kYXRhc2V0LmJpbmQodCksIHRoaXMudHdlZW4gPSB0LnR3ZWVuLmJpbmQodCksIHRoaXMuaW5zZXJ0ID0gdC5pbnNlcnQuYmluZCh0KSwgdGhpcy5pbnNlcnRCZWZvcmUgPSB0Lmluc2VydEJlZm9yZS5iaW5kKHQpLCB0aGlzLmluc2VydEFmdGVyID0gdC5pbnNlcnRBZnRlci5iaW5kKHQpLCB0aGlzLnByZXBlbmQgPSB0LnByZXBlbmQuYmluZCh0KSwgdGhpcy5hcHBlbmQgPSB0LmFwcGVuZC5iaW5kKHQpLCB0aGlzLnJlbW92ZSA9IHQucmVtb3ZlLmJpbmQodCksIHRoaXMuZGVzdHJveSA9IHQuZGVzdHJveS5iaW5kKHQpLCB0aGlzLmZvcmNlUmVmcmVzaCA9IHQuZm9yY2VSZWZyZXNoLmJpbmQodCksIHRoaXMuZm9yY2VSZW5kZXIgPSB0LmZvcmNlUmVuZGVyLmJpbmQodCksIHRoaXMuaXNNaXhpbmcgPSB0LmlzTWl4aW5nLmJpbmQodCksIHRoaXMuZ2V0T3BlcmF0aW9uID0gdC5nZXRPcGVyYXRpb24uYmluZCh0KSwgdGhpcy5nZXRDb25maWcgPSB0LmdldENvbmZpZy5iaW5kKHQpLCB0aGlzLmdldFN0YXRlID0gdC5nZXRTdGF0ZS5iaW5kKHQpLCB0aGlzLmNhbGxBY3Rpb25zKCJhZnRlckNvbnN0cnVjdCIsIGFyZ3VtZW50cyksIG4uZnJlZXplKHRoaXMpLCBuLnNlYWwodGhpcykNCiAgICB9LCBlLkJhc2VTdGF0aWMuY2FsbChlLkZhY2FkZSksIGUuRmFjYWRlLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoZS5CYXNlLnByb3RvdHlwZSksIGUuRmFjYWRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGUuRmFjYWRlLCAib2JqZWN0IiA9PSB0eXBlb2YgZXhwb3J0cyAmJiAib2JqZWN0IiA9PSB0eXBlb2YgbW9kdWxlID8gbW9kdWxlLmV4cG9ydHMgPSBlIDogImZ1bmN0aW9uIiA9PSB0eXBlb2YgZGVmaW5lICYmIGRlZmluZS5hbWQgPyBkZWZpbmUoZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiBlDQogICAgfSkgOiAidW5kZWZpbmVkIiAhPSB0eXBlb2YgdC5taXhpdHVwICYmICJmdW5jdGlvbiIgPT0gdHlwZW9mIHQubWl4aXR1cCB8fCAodC5taXhpdHVwID0gZSksIGUuQmFzZVN0YXRpYy5jYWxsKGUuY29uc3RydWN0b3IpLCBlLk5BTUUgPSAibWl4aXR1cCIsIGUuQ09SRV9WRVJTSU9OID0gIjMuMy4xIg0KfSh3aW5kb3cpOw=="}},"time_used":682,"timings":{"blocked":494,"dns":0,"connect":0,"send":0,"wait":93,"receive":95,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/embed_advanced_chart.6d07e4fd8e3f2785cf25.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.387Z","timestamp":1785136900387,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 1616ffc0b15c90243f2d5fca621ed7bf\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":307359,"size_decoded":95622,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"ff08c213214941a305e07e2e0aecf577","sha1":"cdefa4d26a111dfe184184912992dfdcfb77f002","sha256":"484233793afe63cd2f9df537c6819b1489f21625d4d0ee9ed41ad56b71117b59","sha512":"c787b5e2bdf2f3a3eb2d122f888029d3317c0a1366c56e6cd295c5e8cbb2a4ca7cb624ef86de5ce26f6f5ca73b2ec98c925506b5e39cd6c8e42424ca470e7ab1","ssdeep":"6144:eetdrmSRezirtVcbkZ0PVvoxvNvyc4441G8/BSGTees55hok0Otik21pcV:eetdrts+0PNofvB41G8/BSGieKhCOtiQ","tlshash":"68645d91b2957ca663e740e6947a0103a72918c67802536cf7bc8dce270dd8d7276fbe","first_seen":"2026-07-24T11:36:47.992194Z","last_seen":"2026-07-28T06:17:53.368675Z","times_seen":205,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjk2NSw3NzAzOCw4MDkzOSw4NTQzNF0sezY2ODI5NihlKXtlLmV4cG9ydHM9e319LDg2MDU0OChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtc21hbGwtc2l6ZSI6IjE4cHgiLCJjc3MtdmFsdWUtbWVkaXVtLXNpemUiOiIyMnB4IiwiY3NzLXZhbHVlLWxhcmdlLXNpemUiOiIyOHB4IiwiY3NzLXZhbHVlLWJvcmRlci1yYWRpdXMtc21hbGwtc2l6ZSI6IjlweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1zaXplIjoiMTFweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLWxhcmdlLXNpemUiOiI4cHgiLHN0YXR1c2VzV3JhcDoic3RhdHVzZXNXcmFwLVVSSWpFQjk4IixzbWFsbDoic21hbGwtVVJJakVCOTgiLG1lZGl1bToibWVkaXVtLVVSSWpFQjk4IixsYXJnZToibGFyZ2UtVVJJakVCOTgiLGJsaW5raW5nOiJibGlua2luZy1VUklqRUI5OCIsc3RhdHVzSXRlbToic3RhdHVzSXRlbS1VUklqRUI5OCIsImJsaW5raW5nLWFuaW1hdGlvbiI6ImJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OCIsbWFya2V0U3RhdHVzT3BlbjoibWFya2V0U3RhdHVzT3Blbi1VUklqRUI5OCIsbWFya2V0U3RhdHVzQ2xvc2U6Im1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4IixtYXJrZXRTdGF0dXNQcmU6Im1hcmtldFN0YXR1c1ByZS1VUklqRUI5OCIsbWFya2V0U3RhdHVzUG9zdDoibWFya2V0U3RhdHVzUG9zdC1VUklqRUI5OCIsbWFya2V0U3RhdHVzT3Zlcm5pZ2h0OiJtYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTgiLG1hcmtldFN0YXR1c0hvbGlkYXk6Im1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTgiLG1hcmtldFN0YXR1c0RlbGlzdGVkOiJtYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5OCIsbWFya2V0U3RhdHVzRXhwaXJlZDoibWFya2V0U3RhdHVzRXhwaXJlZC1VUklqRUI5OCIsbWFya2V0U3RhdHVzQ3VzdG9tOiJtYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTgiLGludmFsaWRTeW1ib2w6ImludmFsaWRTeW1ib2wtVVJJakVCOTgiLGFjdGl2ZVN0cmF0ZWd5OiJhY3RpdmVTdHJhdGVneS1VUklqRUI5OCIsYWxlcnQ6ImFsZXJ0LVVSSWpFQjk4IixhbGVydEl0ZW1zQ29udGFpbmVyOiJhbGVydEl0ZW1zQ29udGFpbmVyLVVSSWpFQjk4IixhbGVydEl0ZW06ImFsZXJ0SXRlbS1VUklqRUI5OCIscmVwbGF5TW9kZUF1dG9QbGF5OiJyZXBsYXlNb2RlQXV0b1BsYXktVVJJakVCOTgiLHJlcGxheU1vZGVQYXVzZToicmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4IixyZXBsYXlNb2RlUG9pbnRTZWxlY3Q6InJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5OCIsImJsaW5raW5nLWFuaW1hdGlvbi1jdXN0b20iOiJibGlua2luZy1hbmltYXRpb24tY3VzdG9tLVVSSWpFQjk4Iixub3RBY2N1cmF0ZToibm90QWNjdXJhdGUtVVJJakVCOTgiLG9wZW5lZEluUGluZUVkaXRvcjoib3BlbmVkSW5QaW5lRWRpdG9yLVVSSWpFQjk4IixvcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvcjoib3BlbmVkSW5EZXRhY2hlZFBpbmVFZGl0b3ItVVJJakVCOTgiLGRlbGF5OiJkZWxheS1VUklqRUI5OCIsZW9kOiJlb2QtVVJJakVCOTgiLGRhdGFQcm9ibGVtSGlnaDoiZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4IixkYXRhUHJvYmxlbUxvdzoiZGF0YVByb2JsZW1Mb3ctVVJJakVCOTgiLGhhc0Vycm9yOiJoYXNFcnJvci1VUklqRUI5OCIsdXBkYXRlQXZhaWxhYmxlOiJ1cGRhdGVBdmFpbGFibGUtVVJJakVCOTgifX0sMTE0MDY4KGUpe2UuZXhwb3J0cz17ImNvbW1vbi10b29sdGlwIjoiY29tbW9uLXRvb2x0aXAtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0taGlkZGVuIjoiY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsIjoiY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZmFydGhlciI6ImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLXZlcnRpY2FsIjoiY29tbW9uLXRvb2x0aXAtLXZlcnRpY2FsLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtZmFydGhlciI6ImNvbW1vbi10b29sdGlwLWZhcnRoZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCI6ImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHkiOiJjb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIjoiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2J1dHRvbiI6ImNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkIjoiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ciOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVmb3JlIjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleS1FSkJEOTZ6WCIsCiJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX25hcnJvdyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jayI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay0tZGl2aWRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dCI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fcGx1cy1zaWduIjoiY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WCJ9fSwxMjQzMjcoZSl7ZS5leHBvcnRzPXt9fSwzMjA0MDMoZSx0KXsidXNlIHN0cmljdCI7dmFyIHMsaT0hKCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93fHwhd2luZG93LmRvY3VtZW50fHwhd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO2Z1bmN0aW9uIG4oKXtpZihzKXJldHVybiBzO2lmKCFpfHwhd2luZG93LmRvY3VtZW50LmJvZHkpcmV0dXJuImluZGV0ZXJtaW5hdGUiO3ZhciBlPXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiQUJDRCIpKSxlLmRpcj0icnRsIixlLnN0eWxlLmZvbnRTaXplPSIxNHB4IixlLnN0eWxlLndpZHRoPSI0cHgiLGUuc3R5bGUuaGVpZ2h0PSIxcHgiLGUuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixlLnN0eWxlLnRvcD0iLTEwMDBweCIsZS5zdHlsZS5vdmVyZmxvdz0ic2Nyb2xsIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHM9InJldmVyc2UiLGUuc2Nyb2xsTGVmdD4wP3M9ImRlZmF1bHQiOihlLnNjcm9sbExlZnQ9MSwwPT09ZS5zY3JvbGxMZWZ0JiYocz0ibmVnYXRpdmUiKSksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlKSxzfXQuZGV0ZWN0U2Nyb2xsVHlwZT1uLHQuZ2V0Tm9ybWFsaXplZFNjcm9sbExlZnQ9ZnVuY3Rpb24oZSx0KXt2YXIgcz1lLnNjcm9sbExlZnQ7aWYoInJ0bCIhPT10KXJldHVybiBzO3ZhciBpPW4oKTtpZigiaW5kZXRlcm1pbmF0ZSI9PT1pKXJldHVybiBOdW1iZXIuTmFOO3N3aXRjaChpKXtjYXNlIm5lZ2F0aXZlIjpyZXR1cm4gZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoK3M7Y2FzZSJyZXZlcnNlIjpyZXR1cm4gZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoLXN9cmV0dXJuIHN9fSw0NDM3NzYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzKDEyNDMyNykscyg5MjY0MTUpLHMoMjc3MDI5KSxzKDIyMjk4NikscygzMTQxMzMpO3ZhciBpPXMoMzE4OTc0KSxuPShzKDQyOTY2KSxzKDgyOTE4MCkscyg3MjI1NzEpLHMoMjg0NDg0KSxzKDU2OTgxOSkscyg1NjkzOTgpLHMoOTMyMzY1KSxzKDg0Mjk4Mykscyg5MzA1NjYpKSxyPShzKDIzMzM5OSkscygxMzg2MzgpKSxvPXMoOTMwMjMxKTsoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpJiZuLnN5bmModm9pZCAwKTt2YXIgYT1zKDc5NDgxMiksbD1zKDc4MzI1NCksdT1zKDk4ODc3NiksYz1zKDI4NjQxMyksZD1zKDk1MTQ2OSksaD1zKDY4Mjc3OSkscD1zKDIyNTI5OCksbT1zKDM0NDEwMyksXz1zLm4obSksZz1zKDkwNjU5MykseT1zLm4oZyksZj1zKDE1OTUxMyksdj1zKDEyODk5OCksYj1zKDI1NDY3MyksUz1zKDQ2NTEzNyk7ZnVuY3Rpb24gdygpe3JldHVybiBQcm9taXNlLmFsbChbcy5lKDk4MTExKSxzLmUoMjA1OTApLHMuZSg5MzA2NildKS50aGVuKHMuYmluZChzLDM4MTg1MCkpfXZhciBQPXMoMjMyMzY0KTtjbGFzcyBUe2NvbnN0cnVjdG9yKCl7dGhpcy5fdmlzaWJpbGl0eT1uZXcgUC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzRmlyc3RTaG93PSEwLHRoaXMuX2RpYWxvZ1Byb21pc2U9bnVsbCx0aGlzLl9kaWFsb2c9bnVsbH12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2liaWxpdHkucmVhZG9ubHkoKX1zaG93KGUsdCxzKXt0aGlzLl9pc0ZpcnN0U2hvdyYmKHRoaXMuX2lzRmlyc3RTaG93PSExLHRoaXMuX29uRmlyc3RTaG93KCkpO2NvbnN0IGk9QXJyYXkuaXNBcnJheShlKT9lOltdLG49QXJyYXkuaXNBcnJheShlKT92b2lkIDA6ZTtudWxsPT09dGhpcy5fZGlhbG9nJiZ0aGlzLl9yZXF1ZXN0RGlhbG9nKGksdCxzLG4pLHRoaXMuX2RpYWxvZz8ub3BlbihpLHZvaWQgMCx0LHMsbil9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfWdldERpYWxvZygpe3JldHVybiB0aGlzLl9kaWFsb2d9cmVzZXRBbGxQYWdlcygpe3RoaXMuX2RpYWxvZz8ucmVzZXRBbGxTdHVkaWVzKCl9X29uRmlyc3RTaG93KCl7fV9vbkRpYWxvZ0hpZGRlbigpe31fcmVxdWVzdERpYWxvZyhlLHQscyxpKXtyZXR1cm4gbnVsbD09PXRoaXMuX2RpYWxvZ1Byb21pc2UmJih0aGlzLl9kaWFsb2dQcm9taXNlPXRoaXMuX2NyZWF0ZURpYWxvZygpLnRoZW4oKG49Pnt0aGlzLl9kaWFsb2c9bix0aGlzLl9kaWFsb2cudmlzaWJsZSgpLnN1YnNjcmliZSgoZT0+e3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoZSksZXx8dGhpcy5fb25EaWFsb2dIaWRkZW4oKX0pKSx0aGlzLl9kaWFsb2cub3BlbihlLHZvaWQgMCx0LHMsaSl9KSkpLHRoaXMuX2RpYWxvZ1Byb21pc2V9fWNsYXNzIEMgZXh0ZW5kcyBUe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9pbnNlcnRTdHVkeVNlcnZpY2U9ZSx0aGlzLl9vcHRpb25zPXR9YXN5bmMgX2NyZWF0ZURpYWxvZygpewpyZXR1cm4gbmV3KChhd2FpdCBQcm9taXNlLmFsbChbcy5lKDU5ODI5KSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg5NDk0OCkscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDcyNjY2KSxzLmUoMTAzODUpLHMuZSg1MjA2NSkscy5lKDY2MDUpLHMuZSgzMjE3Nikscy5lKDcxNDgyKSxzLmUoODg2NDEpLHMuZSg3MDY1Nikscy5lKDM5MTYpLHMuZSg2ODk2NCkscy5lKDQyNzIxKSxzLmUoMTc3NTEpLHMuZSgyOTMxNSkscy5lKDE0NjU3KSxzLmUoNTExODQpLHMuZSgzMjM4Nykscy5lKDM5NjA5KSxzLmUoMTY5NDkpXSkudGhlbihzLmJpbmQocyw4ODUyMTgpKSkuU3R1ZHlUZWNobmljYWxzU2VhcmNoRGlhbG9nKSh0aGlzLl9pbnNlcnRTdHVkeVNlcnZpY2UsdGhpcy5fb3B0aW9ucyl9fXZhciBFPXMoNjAxODQxKSxJPXMoNjc4Mjg1KSxMPXMoMzY4MTEwKSxNPXMoNDczMzE4KSxEPXMoODY3ODMxKTthc3luYyBmdW5jdGlvbiB4KGUsdCxzLGkpe2NvbnN0IG49ZS5tb2RlbCgpLm1vZGVsKCkuaW5zZXJ0U3R1ZHlTdHViKHQscyxpKTtyZXR1cm4gbi5zZXRTdGF0dXMoe3R5cGU6RC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZyxzdGFydFRpbWU6RGF0ZS5ub3coKX0pLG59Y2xhc3MgUntjb25zdHJ1Y3RvcihlKXt0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249ZX1hc3luYyBpbnNlcnRTdHVkeShlKXtjb25zdCB0PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0e2Rlc2NyaXB0b3I6cyxpbnNlcnRpb25JbmZvOmkscGFyZW50SWRzOm49W10sc3ltYm9sOnIsb25JbnNlcnRTdGFydDpvfT1lLGE9aS5zdHViVGl0bGU/PyIiLGw9YXdhaXQoMCxNLndhaXRGb3JNb2RlbCkodCk7aWYoaS5pc0Z1bmRhbWVudGFsKXtjb25zdCBlPXZvaWQgMCE9PXI/ZnVuY3Rpb24oZSl7cmV0dXJuKHQscyxpKT0+e2NvbnN0IG49e30scj1pLnN5bWJvbElucHV0SWQoKTtyZXR1cm4gciYmKG5bcl09ZSkse2lucHV0czpuLHBhcmVudFNvdXJjZXM6W119fX0ocik6dm9pZCAwLG49YXdhaXQgeCh0LGEsITEscyksbD1hd2FpdCB0LnJlcGxhY2VTdHViQnlTdHVkeShuLHMsW10saSxlLG8pO3JldHVybiBsPy5tZXRhSW5mbygpPz9udWxsfWNvbnN0IHU9bi5tYXAoKGU9PmwuZ2V0U3R1ZHlCeUlkKGUpKSkuZmlsdGVyKEUubm90TnVsbCk7aWYodm9pZCAwIT09aS5pc092ZXJsYXkmJiJwaW5lIj09PXMudHlwZSl7Y29uc3QgZT1hd2FpdCB4KHQsYSxpLmlzT3ZlcmxheSxzKSxuPWF3YWl0IHQucmVwbGFjZVN0dWJCeVN0dWR5KGUscyx1LGksdm9pZCAwLG8pO3JldHVybiBuPy5tZXRhSW5mbygpPz9udWxsfWlmKCJqYXZhIj09PXMudHlwZSl7Y29uc3QgZT0oMCxMLnRyeUZpbmRTdHVkeUxpbmVUb29sTmFtZUJ5U3R1ZHlJZCkocy5zdHVkeUlkKTtpZihudWxsIT09ZSlyZXR1cm4gYXdhaXQoMCxMLmluaXRMaW5lVG9vbCkoZSksSS50b29sLnNldFZhbHVlKGUpLG51bGx9Y29uc3QgYz1hd2FpdCB0Lmluc2VydFN0dWR5KHMsdSxpLHZvaWQgMCxvKTtyZXR1cm4gYz8ubWV0YUluZm8oKT8/bnVsbH1nZXRTdHVkeU9uU3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFyV2lkZ2V0TW9kZWwoKS52YWx1ZSgpPy5tb2RlbCgpLmNoYXJ0QXBpKCkuZ2V0Q2hpbGRTdHVkeUNvdW50ZXIoKT8/MH1nZXRGdW5kYW1lbnRhbFN0dWRpZXNDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFyV2lkZ2V0TW9kZWwoKS52YWx1ZSgpPy5tb2RlbCgpLmNoYXJ0QXBpKCkuZ2V0RnVuZGFtZW50YWxDb3VudGVyKCk/PzB9Z2V0U3R1ZGllc0NvdW50ZXIoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFjdGl2ZUNoYXJXaWRnZXRNb2RlbCgpLnZhbHVlKCk/Lm1vZGVsKCkuY2hhcnRBcGkoKS5nZXRTdHVkeUNvdW50ZXIoKT8/MH19dmFyIGs9cyg3NTk5NzApLFY9cyg2NjUxODcpLEE9cygyMDA2NjYpLEY9cyg3Mzg0NTgpLEI9cygzMDg4MTApLE89cygxOTYwNDkpLE49cyg4MDI1ODYpO2NvbnN0IFc9ezg6W0IudGltZUZyYW1lcy55dGQsQi50aW1lRnJhbWVzWyIxMm0iXSxCLnRpbWVGcmFtZXNbIjYwbSJdLEIudGltZUZyYW1lcy5hbGxdLDM6W0IudGltZUZyYW1lc1siMWQiXSxCLnRpbWVGcmFtZXNbIjVkIl0sQi50aW1lRnJhbWVzWyIxbSJdLEIudGltZUZyYW1lc1siM20iXSxCLnRpbWVGcmFtZXNbIjZtIl0sQi50aW1lRnJhbWVzLnl0ZCxCLnRpbWVGcmFtZXNbIjEybSJdLEIudGltZUZyYW1lc1siNjBtIl0sQi50aW1lRnJhbWVzLmFsbF19LFU9bmV3IE1hcChbWyIxRCIsKDAsTi5nZXRGcm9tRm9yRGF5KSgxKV0sWyI1RCIsKDAsTi5nZXRGcm9tRm9yRGF5KSg1KV0sWyI3RCIsKDAsTi5nZXRGcm9tRm9yRGF5KSg3KV0sWyIxTSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSgxKV0sWyIzTSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSgzKV0sWyI2TSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSg2KV0sWyIxMk0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgxKV0sWyIyNE0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgyKV0sWyIzNk0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgzKV0sWyI2ME0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSg1KV0sWyJZVEQiLCgwLE4uZ2V0U3RhcnRPZlRoZVllYXIpKCldLFsiTEFTVFNFU1NJT04iLCgwLE4uZ2V0RnJvbUZvckRheSkoMSldLFsiQUxMIiwtMS8wXV0pO2Z1bmN0aW9uIHooZSx0LHM9LTEvMCl7bGV0IGk7bnVsbCE9PWU/aT0oV1szXXx8W10pLmZpbHRlcigodD0+bnVsbD09PSgwLE8uZ2V0UmVzb2x1dGlvblVuc3VwcG9ydGVkUmVhc29uKShlLHQudGFyZ2V0UmVzb2x1dGlvbikpKTooOT09PXQmJih0PTMpLDY9PT10JiYodD04KSxpPVdbdF18fFtdKTtjb25zdCBuPVtdO2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7ZSsrKXtjb25zdCB0PWlbZV07aWYobi5wdXNoKHQpLCgwLApyLmVuc3VyZURlZmluZWQpKFUuZ2V0KHQudmFsdWUudmFsdWUpKTxzKWJyZWFrfXJldHVybiBuLmxlbmd0aCYmIkFMTCIhPT1uW24ubGVuZ3RoLTFdLnZhbHVlLnZhbHVlJiYobltuLmxlbmd0aC0xXT17Li4ubltuLmxlbmd0aC0xXSx0ZXh0OkIudGltZUZyYW1lcy5hbGwudGV4dCx2YWx1ZTp7Li4ubltuLmxlbmd0aC0xXS52YWx1ZSx2YWx1ZTpCLnRpbWVGcmFtZXMuYWxsLnZhbHVlLnZhbHVlfX0pLG59ZnVuY3Rpb24gSChlLHQscyl7Y29uc3QgaT17bmFtZTplLGZyYW1lRWxlbWVudElkOnQsZGF0YTpzfTt3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKGksIioiKX1mdW5jdGlvbiBqKGUsdCl7ZnVuY3Rpb24gcyhzKXtzLmRhdGEmJnMuZGF0YS5uYW1lJiZzLmRhdGEubmFtZT09PWUmJnQocy5kYXRhLmRhdGEpfXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9fXZhciAkLHE7ZnVuY3Rpb24gSyhlKXtyZXR1cm4ic2Vla2luZ2FscGhhIj09PWV8fCJzbWFydGxhYi1jdXN0b20iPT09ZT9Qcm9taXNlLmFsbChbcy5lKDk0MjQ0KSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg1NjI1Mikscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzA2NTYpLHMuZSg3MTkwMSkscy5lKDgxMjQ3KSxzLmUoOTA5NjApLHMuZSgyMzY2OSkscy5lKDgxMTA3KSxzLmUoNDIzMDEpLHMuZSg2NzkyNSkscy5lKDMyODU3KSxzLmUoMzUzNDIpLHMuZSgyMzI1NCkscy5lKDQyMDMzKSxzLmUoODY5OTcpLHMuZSg5ODUwOSkscy5lKDI3NjY1KSxzLmUoMzI0MjcpLHMuZSg2NzY4NSkscy5lKDQ2NzU2KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDk5MzA5KSxzLmUoNjk2OTcpLHMuZSg1MzI5Nykscy5lKDM4MDg2KSxzLmUoMjYxMTgpLHMuZSg1ODA4KSxzLmUoMzQxNyldKS50aGVuKHMuYmluZChzLDM0MTcpKToiY21lIj09PWU/UHJvbWlzZS5hbGwoW3MuZSgxMjA4MCkscy5lKDg0MzA2KSxzLmUoNDY5MDcpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSg1MTg0KSxzLmUoNTYyNTIpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSg4NjQyMykscy5lKDM3NTEzKSxzLmUoNDA4MzUpLHMuZSgxNzA4Nykscy5lKDkzNDIxKSxzLmUoNzg2NTIpLHMuZSg3MTQxNCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSg4OTIwNCkscy5lKDg5NTU4KSxzLmUoMTAzNjYpLHMuZSg2OTg2MSkscy5lKDIwMikscy5lKDcyNTEyKSxzLmUoNTUwMTEpLHMuZSgxNTYzNCkscy5lKDcwNjU2KSxzLmUoNzE5MDEpLHMuZSg4MTI0Nykscy5lKDkwOTYwKSxzLmUoMjM2NjkpLHMuZSg4MTEwNykscy5lKDQyMzAxKSxzLmUoNjc5MjUpLHMuZSgzMjg1Nykscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg0MjAzMykscy5lKDg2OTk3KSxzLmUoOTg1MDkpLHMuZSgyNzY2NSkscy5lKDMyNDI3KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDk5MzA5KSxzLmUoNjk2OTcpLHMuZSg1MzI5Nykscy5lKDM4MDg2KSxzLmUoMjYxMTgpLHMuZSg1ODA4KSxzLmUoNTAwNzcpXSkudGhlbihzLmJpbmQocywxNTAwNzcpKTpQcm9taXNlLmFsbChbcy5lKDk5MTI0KSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg1NjI1Mikscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzA2NTYpLHMuZSg3MTkwMSkscy5lKDgxMjQ3KSxzLmUoOTA5NjApLHMuZSgyMzY2OSkscy5lKDgxMTA3KSxzLmUoNDIzMDEpLHMuZSg2NzkyNSkscy5lKDMyODU3KSxzLmUoMzUzNDIpLHMuZSgyMzI1NCkscy5lKDQyMDMzKSxzLmUoODY5OTcpLHMuZSg5ODUwOSkscy5lKDI3NjY1KSxzLmUoMzI0MjcpLHMuZSg2NzY4NSkscy5lKDMyMzg3KSxzLmUoMjM3NDMpLHMuZSg5OTMwOSkscy5lKDY5Njk3KSxzLmUoNTMyOTcpLHMuZSgzODA4Nikscy5lKDI2MTE4KSxzLmUoNTgwOCkscy5lKDM5MTY2KV0pLnRoZW4ocy5iaW5kKHMsOTM5MTY2KSl9IWZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlNldFN5bWJvbD0ic2V0LXN5bWJvbCIsZS5TZXRJbnRlcnZhbD0ic2V0LWludGVydmFsIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfSgkfHwoJD17fSkpLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlN5bWJvbENsaWNrPSJ0di13aWRnZXQtc3ltYm9sLWNsaWNrIixlLldpZGdldExvYWQ9InR2LXdpZGdldC1sb2FkIixlLldpZGdldFJlYWR5PSJ0di13aWRnZXQtcmVhZHkiLGUuUmVzaXplSWZyYW1lPSJ0di13aWRnZXQtcmVzaXplLWlmcmFtZSIsZS5Ob0RhdGE9InR2LXdpZGdldC1uby1kYXRhIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfShxfHwocT17fSkpO3ZhciBZPXMoMTg1MjcxKSxHPXMoODYwNDQyKSxKPXMoMjM1NzI0KQo7Y29uc3QgWD1bIkxpbmVUb29sVHJlbmRMaW5lIiwiTGluZVRvb2xSYXkiLCJMaW5lVG9vbEluZm9MaW5lIiwiTGluZVRvb2xFeHRlbmRlZCIsIkxpbmVUb29sUmVncmVzc2lvblRyZW5kIiwiTGluZVRvb2xSb3RhdGVkUmVjdGFuZ2xlIiwiTGluZVRvb2xQYXJhbGxlbENoYW5uZWwiLCJMaW5lVG9vbEZsYXRCb3R0b20iLCJMaW5lVG9vbERpc2pvaW50QW5nbGUiLCJMaW5lVG9vbFBpdGNoZm9yayIsIkxpbmVUb29sU2NoaWZmUGl0Y2hmb3JrIiwiTGluZVRvb2xTY2hpZmZQaXRjaGZvcmsyIiwiTGluZVRvb2xJbnNpZGVQaXRjaGZvcmsiLCJMaW5lVG9vbFZlcnRMaW5lIiwiTGluZVRvb2xDcm9zc0xpbmUiLCJMaW5lVG9vbEhvcnpMaW5lIiwiTGluZVRvb2xIb3J6UmF5IiwiTGluZVRvb2xUcmVuZEFuZ2xlIl07ZnVuY3Rpb24gUShlLHQ9ITEsYT0hMSl7aWYoISgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInBvcHVwX2hpbnRzIikpcmV0dXJuKCk9Pnt9O2NvbnN0IGw9ZS5nZXRDb250YWluZXIoKTtsZXQgdT1udWxsLGM9bnVsbCxkPW51bGw7cmV0dXJuIEkudG9vbC5zdWJzY3JpYmUoaCksSS5jcmVhdGVkTGluZVRvb2wuc3Vic2NyaWJlKG51bGwscCksSS5maW5pc2hlZExpbmVUb29sLnN1YnNjcmliZShudWxsLG0pLGUubGF5b3V0U2l6ZXNDaGFuZ2VkKCkuc3Vic2NyaWJlKF8pLHR8fGkuQ2hlY2tNb2JpbGUuYW55KCl8fCF5KCJoaW50LnN0YXJ0Rm9jdXNlZFpvb20iKXx8KGQ9ZnVuY3Rpb24oZSx0KXtsZXQgcz0hMTtjb25zdCBpPW49PntuPyhzJiZ0KG4pLGUub25ab29tKCkudW5zdWJzY3JpYmUobnVsbCxpKSk6c3x8KHQobikscz0hMCl9O3JldHVybiBlLm9uWm9vbSgpLnN1YnNjcmliZShudWxsLGkpLCgpPT5lLm9uWm9vbSgpLnVuc3Vic2NyaWJlKG51bGwsaSl9KGUsKGZ1bmN0aW9uKGUpe2lmKCF5KCJoaW50LnN0YXJ0Rm9jdXNlZFpvb20iKSlyZXR1cm47aWYoZSljJiYoZD1udWxsLGYoImhpbnQuc3RhcnRGb2N1c2VkWm9vbSIpKTtlbHNle2coWS50KG51bGwsdm9pZCAwLHMoNDc1Mjk5KSkuZm9ybWF0KHtrZXk6KDAsSi5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShKLk1vZGlmaWVycy5Nb2QsITEpfSksImhpbnQuc3RhcnRGb2N1c2VkWm9vbSIpfX0pKSksKCk9PntJLnRvb2wudW5zdWJzY3JpYmUoaCksSS5jcmVhdGVkTGluZVRvb2wudW5zdWJzY3JpYmUobnVsbCxwKSxJLmZpbmlzaGVkTGluZVRvb2wudW5zdWJzY3JpYmUobnVsbCxtKSxlLmxheW91dFNpemVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKF8pLGQ/LigpfTtmdW5jdGlvbiBoKCl7Y29uc3QgdD1JLnRvb2wudmFsdWUoKSxuPWkuQ2hlY2tNb2JpbGUuYW55KCk7aWYodT8uaGlkZSgpLCFuJiYoMCxJLnRvb2xJc0RlbW9uc3RyYXRpb24pKHQpJiZ5KCJoaW50LmRlbW9uc3RyYXRpb25DdXJzb3JTZWxlY3RlZCIpKXtyZXR1cm4gdm9pZCBnKFkudChudWxsLHZvaWQgMCxzKDU4MjMwMykpLmZvcm1hdCh7a2V5OigwLEouaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoSi5Nb2RpZmllcnMuQWx0LCExKX0pLCJoaW50LmRlbW9uc3RyYXRpb25DdXJzb3JTZWxlY3RlZCIpfWlmKGEmJm4mJihyPXQsWC5pbmNsdWRlcyhyKSkpcmV0dXJuIHZvaWQgYXN5bmMgZnVuY3Rpb24odCl7e2NvbnN0IGk9KCk9PigwLEkucmVzZXRUb0N1cnNvcikoITApO2lmKHUpdS5zaG93KHQsaSk7ZWxzZXtjb25zdCBuPWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMjcxNzQpLHMuZSg1MTg0KSxzLmUoNTE4Nikscy5lKDMyMzg3KSxzLmUoMjE3NjYpXSkudGhlbihzLmJpbmQocywzNTIzNzYpKTt1PW5ldyBuLkRyYXdpbmdIaW50c1JlbmRlcmVyKGUpLHQ9PT1JLnRvb2wudmFsdWUoKSYmdS5zaG93KHQsaSl9fX0odCk7dmFyIHI7aWYoIkxpbmVUb29sVGV4dEFic29sdXRlIj09PXQmJnkoImhpbnQuYW5jaG9yZWRUZXh0V2lsbEJlUmVtb3ZlZCIpKXJldHVybiB2b2lkIGcoWS50KG51bGwsdm9pZCAwLHMoOTQ0NzA4KSksImhpbnQuYW5jaG9yZWRUZXh0V2lsbEJlUmVtb3ZlZCIpO2lmKCF5KCJoaW50LnRvdWNoUGFpbnRpbmciKSlyZXR1cm47Y29uc3Qgbz0oMCxHLmlzTGluZVRvb2xEcmF3V2l0aG91dFBvaW50cykodCk7ISgwLEcuaXNTdHVkeUxpbmVUb29sTmFtZSkodCl8fCJMaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZCI9PT10fHxvfHxuPygwLEcuaXNMaW5lVG9vbE5hbWUpKHQpJiYhKDAsRy5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKSh0KSYmIW8mJm4/ZyhZLnQobnVsbCx2b2lkIDAscyg3MzA5MzUpKSwiaGludC50b3VjaFBhaW50aW5nIik6YyYmYy5oaWRlKCk6ZyhZLnQobnVsbCx2b2lkIDAscygxNjE1MjgpKSwiaGludC50b3VjaFBhaW50aW5nIil9ZnVuY3Rpb24gcCgpe2NvbnN0IGU9SS50b29sLnZhbHVlKCk7IkxpbmVUb29sUGF0aCI9PT1lJiZ5KCJoaW50LmZpbmlzaEJ1aWxkUGF0aEJ5RGJsQ2xpY2siKT9nKFkudChudWxsLHZvaWQgMCxzKDY0MTE2MSkpLCJoaW50LmZpbmlzaEJ1aWxkUGF0aEJ5RGJsQ2xpY2siKToiTGluZVRvb2xQb2x5bGluZSI9PT1lJiZ5KCJoaW50LmZpbmlzaEJ1aWxkUG9seWxpbmVCeURibENsaWNrIikmJmcoWS50KG51bGwsdm9pZCAwLHMoNTgwOTg1KSksImhpbnQuZmluaXNoQnVpbGRQb2x5bGluZUJ5RGJsQ2xpY2siKX1mdW5jdGlvbiBtKCl7aWYoYyl7Y29uc3QgZT1JLnRvb2wudmFsdWUoKTsiTGluZVRvb2xQYXRoIj09PWU/ZigiaGludC5maW5pc2hCdWlsZFBhdGhCeURibENsaWNrIik6IkxpbmVUb29sUG9seWxpbmUiPT09ZSYmZigiaGludC5maW5pc2hCdWlsZFBvbHlsaW5lQnlEYmxDbGljayIpfX1mdW5jdGlvbiBfKCl7aWYoIXkoImhpbnQuc3RhcnRSZXNpemluZ0NoYXJ0SW5MYXlvdXQiKSlyZXR1cm47ZyhpLkNoZWNrTW9iaWxlLmFueSgpP1kudChudWxsLHZvaWQgMCxzKDEzNzE0OSkpOlkudChudWxsLHZvaWQgMCxzKDI5NjQ3MSkpLCJoaW50LnN0YXJ0UmVzaXppbmdDaGFydEluTGF5b3V0Iil9ZnVuY3Rpb24gZyhlLHQpe2lmKGMpYy5zaG93KGUsZi5iaW5kKG51bGwsdCkpO2Vsc2V7Y29uc3QgaT1JLnRvb2wudmFsdWUoKQo7UHJvbWlzZS5hbGwoW3MuZSgxMzQ5Mikscy5lKDQxODExKSxzLmUoMzIzODcpLHMuZSg3NzU4OCldKS50aGVuKHMuYmluZChzLDEyNDAxNikpLnRoZW4oKHM9PntjPW5ldyBzLkNoYXJ0RXZlbnRIaW50UmVuZGVyZXIobCksaT09PUkudG9vbC52YWx1ZSgpJiZjLnNob3coZSxmLmJpbmQobnVsbCx0KSl9KSl9fWZ1bmN0aW9uIHkoZSl7cmV0dXJuIUJvb2xlYW4obi5nZXRCb29sKGUpKX1mdW5jdGlvbiBmKGUpe24uc2V0VmFsdWUoZSwhMCx7Zm9yY2VGbHVzaDohMH0pLCgwLHIuZW5zdXJlTm90TnVsbCkoYykuZGVzdHJveSgpLG51bGwhPT1kJiZkKCksYz1udWxsfX12YXIgWj1zKDE3OTc3MSk7ZnVuY3Rpb24gZWUoZSx0KXtjb25zdCBpPVkudChudWxsLHZvaWQgMCxzKDIyMjkpKS5mb3JtYXQoe2Vtb2ppOiLwn5GNIn0pLG49WS50KG51bGwsdm9pZCAwLHMoMzg4NzcwKSkuZm9ybWF0KHtlbW9qaToi8J+RjSJ9KSxvPVkudChudWxsLHZvaWQgMCxzKDgzNDgyMikpLmZvcm1hdCh7ZW1vamk6IvCfkY0ifSk7Wi5vbigib25TZXJ2ZXJTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShpKSksbnVsbCksWi5vbigib25DbGllbnRTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShuKSksbnVsbCksWi5vbigib25TZXJ2ZXJTY3JlZW5zaG90RW1iZWRDb2RlQ29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShvKSksbnVsbCk7bGV0IGE9bnVsbDtjb25zdCBsPWUuZ2V0Q29udGFpbmVyKCk7ZnVuY3Rpb24gdShlKXthP2Euc2hvdyhlKTpQcm9taXNlLmFsbChbcy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NDA1NCkscy5lKDI0NjAzKSxzLmUoMzIzODcpLHMuZSg0MzE4MCldKS50aGVuKHMuYmluZChzLDQwMTY3MSkpLnRoZW4oKHM9PnthfHwoYT1uZXcgcy5DaGFydFNjcmVlbnNob3RIaW50UmVuZGVyZXIoKDAsci5lbnN1cmVOb3ROdWxsKShsKSx7Ym90dG9tUGFkZGluZzp0LnNlcmllc0NvbnRyb2xCYXJFbmFibGVkfSksYS5zaG93KGUpKX0pKX19dmFyIHRlPXMoNzA1MDEyKSxzZT1zKDUwODc0Nyk7Y2xhc3MgaWV7Y29uc3RydWN0b3IoZT1bXSl7dGhpcy5fbGlzdD17aWQ6IkRFRkFVTFRfU0lOR0xFX1dBVENITElTVCIsdHlwZToiY3VzdG9tIixuYW1lOmwudChudWxsLHZvaWQgMCxzKDM5Nzc4OCkpLGRlc2NyaXB0aW9uOm51bGwsc3ltYm9sczpbLi4uZV0sc2hhcmVkOiExLHBlcnNpc3RlZFN0YXRlOm51bGx9fWdldEN1c3RvbVdhdGNoTGlzdHMoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFt0aGlzLl9saXN0XSl9Z2V0U3ltYm9scyhlKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3Quc3ltYm9scyl9Y3JlYXRlV2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cHV0V2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cmVtb3ZlV2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cmVuYW1lV2F0Y2hMaXN0KGUsdCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1yZXBsYWNlU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9saXN0LnN5bWJvbHM9Wy4uLnRdLFByb21pc2UucmVzb2x2ZSh0aGlzLl9saXN0LnN5bWJvbHMpfWFkZFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fbGlzdC5zeW1ib2xzLnB1c2goLi4udCksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3Quc3ltYm9scyl9cmVtb3ZlU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9saXN0LnN5bWJvbHM9dGhpcy5fbGlzdC5zeW1ib2xzLmZpbHRlcigoZT0+IXQuaW5jbHVkZXMoZSkpKSxQcm9taXNlLnJlc29sdmUodGhpcy5fbGlzdC5zeW1ib2xzKX1zZXRBY3RpdmUoZSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9saXN0KX1nZXRBY3RpdmUoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3QpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1nZXRDdXN0b21XYXRjaGxpc3QoZSl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1yZW5hbWVTZXBhcmF0b3IoZSx0LHMpe3JldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9fXZhciBuZT1zKDE1MDE1MCkscmU9cyg5NDgzODApO2NvbnN0IG9lPW5ldyByZS5EZWxlZ2F0ZSxhZT1uZXcgcmUuRGVsZWdhdGUsbGU9bmV3IHJlLkRlbGVnYXRlLHVlPW5ldyByZS5EZWxlZ2F0ZSxjZT1uZXcgcmUuRGVsZWdhdGU7dmFyIGRlPXMoNTgwNTI2KSxoZT1zKDYyMTIwKTtjbGFzcyBwZXtjb25zdHJ1Y3RvcihlPVtdLHQ9bil7aWYodGhpcy5fbGlzdHM9e30sdGhpcy5fYWN0aXZlTGlzdFNldHRpbmdzS2V5PSJ3aWRnZXRiYXIud2lkZ2V0LndhdGNobGlzdCIsKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidHJhZGluZ190ZXJtaW5hbCIpJiYodGhpcy5fYWN0aXZlTGlzdFNldHRpbmdzS2V5Kz0idGVybWluYWwiKSx0aGlzLl9zZXR0aW5ncz10LHRoaXMuX3NldHRpbmdzLm9uU3luYy5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVMaXN0cyksdGhpcy5fdXBkYXRlTGlzdHMoKSwwPT09T2JqZWN0LmtleXModGhpcy5fbGlzdHMpLmxlbmd0aCl7Y29uc3QgdD10aGlzLl9jcmVhdGVMaXN0KHt0aXRsZTp0aGlzLl9waWNrVGl0bGUoKSxzeW1ib2xzOlsuLi5lXX0sITApO3RoaXMuc2V0QWN0aXZlKHtpZDp0LmlkLHR5cGU6ImN1c3RvbSJ9KX19ZGVzdHJveSgpe3RoaXMuX3NldHRpbmdzLm9uU3luYy51bnN1YnNjcmliZUFsbCh0aGlzKX1nZXRDdXN0b21XYXRjaExpc3RzKCl7dGhpcy5fdXBkYXRlTGlzdHMoKTtjb25zdCBlPVtdO3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl9saXN0cykuZm9yRWFjaCgodD0+e2NvbnN0IHM9dGhpcy5fZ2V0TGlzdCh0KTtzJiZlLnB1c2godGhpcy5fdG9TeW1ib2xMaXN0KHMpKX0pKSxQcm9taXNlLnJlc29sdmUoZSl9Y3JlYXRlV2F0Y2hMaXN0KGUpe2NvbnN0IHQ9ISgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndhdGNobGlzdF9jcm9zc190YWJfc3luYyIpLHM9dGhpcy5fY3JlYXRlTGlzdCh7aWQ6ZS5pZCx0aXRsZTplLm5hbWV8fHRoaXMuX3BpY2tUaXRsZSgpLApzeW1ib2xzOmUuc3ltYm9sc3x8W119LHQpO3JldHVybiBsZS5maXJlKHMuaWQsWy4uLnMuc3ltYm9sc10pLFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QocykpfXB1dFdhdGNoTGlzdChlKXt0aGlzLl91cGRhdGVMaXN0cygpO2NvbnN0IHQ9dGhpcy5fZ2V0TGlzdChlLmlkKSxzPXQ/LnRpdGxlLGk9ZS5uYW1lLG49e2lkOmUuaWQsc3ltYm9sczooMCxkZS5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKGUuaWQsZS5zeW1ib2xzKSx0aXRsZTplLm5hbWV9O3JldHVybiB0aGlzLnNhdmVMaXN0KG4pLHZvaWQgMCE9PXMmJnMhPT1pJiZjZS5maXJlKGUuaWQscyxpKSxudWxsIT09dD9vZS5maXJlKGUuaWQpOmxlLmZpcmUoZS5pZCxlLnN5bWJvbHMpLFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QobikpfXJlbW92ZVdhdGNoTGlzdChlKXtjb25zdHtpZDp0fT1lO3JldHVybiB0aGlzLl9zZXR0aW5ncy5yZW1vdmUoYHNhdmVkd2F0Y2guJHt0fWAse2ZvcmNlRmx1c2g6ITB9KSxkZWxldGUgdGhpcy5fbGlzdHNbdF0sdWUuZmlyZSh0KSxQcm9taXNlLnJlc29sdmUoKX1yZW5hbWVXYXRjaExpc3QoZSx0KXt0aGlzLl91cGRhdGVMaXN0cygpO2NvbnN0e25hbWU6c309ZTtlLm5hbWU9dDtjb25zdCBpPXRoaXMuX2dldExpc3QoZS5pZCk7cmV0dXJuIHRoaXMuc2F2ZUxpc3Qoe2lkOmUuaWQsc3ltYm9sczppP2kuc3ltYm9sczplLnN5bWJvbHMsdGl0bGU6dH0pLGNlLmZpcmUoZS5pZCxzLHQpLFByb21pc2UucmVzb2x2ZShudWxsKX1yZXBsYWNlU3ltYm9scyhlLHQpe2NvbnN0IHM9dGhpcy5fZ2V0TGlzdChlLmlkKTtyZXR1cm4gbnVsbD09PXN8fChzLnN5bWJvbHM9KDAsZGUucmVtb3RlU3ltYm9sc0Zvcm1Mb2NhbFN0YXRlKShlLmlkLHQpLGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5kZWxldGUoZS5pZCksdGhpcy5zYXZlTGlzdChzKSxvZS5maXJlKGUuaWQpKSxQcm9taXNlLnJlc29sdmUobnVsbCl9YWRkU3ltYm9scyhlLHQpe2lmKGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZS5pZCkpe2NvbnN0IHQ9KDAsZGUuZ2V0TG9jYWxMaXN0U3ltYm9scykoZS5pZCk7cmV0dXJuIHRoaXMucmVwbGFjZVN5bWJvbHMoZSx0KS50aGVuKCgoKT0+Wy4uLnRdKSl9Y29uc3Qgcz10aGlzLl9nZXRMaXN0KGUuaWQpO3JldHVybiBudWxsPT09cz9Qcm9taXNlLnJlc29sdmUoW10pOihzLnN5bWJvbHMucHVzaCguLi50KSx0aGlzLnNhdmVMaXN0KHMpLG9lLmZpcmUoZS5pZCksUHJvbWlzZS5yZXNvbHZlKFsuLi5zLnN5bWJvbHNdKSl9cmVtb3ZlU3ltYm9scyhlLHQpe2lmKGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZS5pZCkpe2NvbnN0IHQ9KDAsZGUuZ2V0TG9jYWxMaXN0U3ltYm9scykoZS5pZCk7cmV0dXJuIHRoaXMucmVwbGFjZVN5bWJvbHMoZSx0KS50aGVuKCgoKT0+Wy4uLnRdKSl9Y29uc3Qgcz10aGlzLl9nZXRMaXN0KGUuaWQpO2lmKG51bGw9PT1zKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IGk9bmV3IFNldCh0KTtyZXR1cm4gcy5zeW1ib2xzPXMuc3ltYm9scy5maWx0ZXIoKGU9PiFpLmhhcyhlKSYmIWkuaGFzKCgwLGRlLnNlcGFyYXRvclJlbW90ZVJlcHJlc2VudGF0aW9uKShlLCExKSkpKSx0aGlzLnNhdmVMaXN0KHMpLG9lLmZpcmUoZS5pZCksUHJvbWlzZS5yZXNvbHZlKFsuLi5zLnN5bWJvbHNdKX1zZXRBY3RpdmUoZSl7cmV0dXJuIHRoaXMuX3NldHRpbmdzLnNldFZhbHVlKHRoaXMuX2FjdGl2ZUxpc3RTZXR0aW5nc0tleSxlLmlkKSxhZS5maXJlKCksUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldEFjdGl2ZSgpe2NvbnN0IGU9dGhpcy5fZ2V0QWN0aXZlKCk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QoZSkpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1yZW5hbWVTZXBhcmF0b3IoZSx0LHMpe3RoaXMuX3VwZGF0ZUxpc3RzKCk7Y29uc3QgaT10aGlzLl9nZXRMaXN0KGUpO2lmKG51bGw9PT1pKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7Y29uc3R7b2xkU2VwYXJhdG9yOm4sbmV3U2VwYXJhdG9yOnJ9PSgwLGRlLnJlbW90ZVJlbmFtZVNlcGFyYXRvcnMpKGUsdCxzKSxvPWkuc3ltYm9scy5pbmRleE9mKG4pO3JldHVybi0xPT09b3x8KGkuc3ltYm9sc1tvXT1yLHRoaXMuc2F2ZUxpc3QoaSksb2UuZmlyZShlKSksUHJvbWlzZS5yZXNvbHZlKG51bGwpfXNhdmVMaXN0KGUsdD0hMSl7Y29uc3Qgcz17c3ltYm9sczplLnN5bWJvbHMsdGl0bGU6U3RyaW5nKGUudGl0bGUpfTt0aGlzLl9zZXR0aW5ncy5zZXRKU09OKGBzYXZlZHdhdGNoLiR7ZS5pZH1gLHMse2ZvcmNlRmx1c2g6ITAsc2tpcENyb3NzV2luZG93RXZlbnQ6dH0pLHRoaXMuX2xpc3RzW2UuaWRdPXN9Z2V0Q3VzdG9tV2F0Y2hsaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9X2NyZWF0ZUxpc3QoZSx0PSExKXtjb25zdCBzPXtpZDplLmlkPz8oMCxuZS5yYW5kb21IYXNoKSgpLHN5bWJvbHM6ZS5zeW1ib2xzLHRpdGxlOmUudGl0bGV9O3JldHVybiB0aGlzLnNhdmVMaXN0KHMsdCksc31fZ2V0TGlzdChlKXtpZih0aGlzLl91cGRhdGVMaXN0cygpLHRoaXMuX2xpc3RzLmhhc093blByb3BlcnR5KGUpKXtjb25zdCB0PXRoaXMuX2xpc3RzW2VdO3JldHVybntpZDplLHN5bWJvbHM6dC5zeW1ib2xzLnNsaWNlKCksdGl0bGU6dC50aXRsZX19cmV0dXJuIG51bGx9X3RvU3ltYm9sTGlzdChlKXtjb25zdHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczpzfT0oMCxkZS5sb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9scykoZS5zeW1ib2xzKTtyZXR1cm57dHlwZToiY3VzdG9tIixpZDplLmlkLG5hbWU6ZS50aXRsZSxkZXNjcmlwdGlvbjpudWxsLHN5bWJvbHM6dCxzaGFyZWQ6ITEsY29sbGFwc2VkU2VwYXJhdG9yczpzLHBlcnNpc3RlZFN0YXRlOm51bGx9fV91cGRhdGVMaXN0cygpe3RoaXMuX2xpc3RzPXt9O3RoaXMuX3NldHRpbmdzLmtleXMoKS5mb3JFYWNoKChlPT57Y29uc3QgdD0vXnNhdmVkd2F0Y2hcLiguKikkLy5leGVjKGUpO2lmKCF0KXJldHVybgo7Y29uc3Qgcz10WzFdLGk9dGhpcy5fc2V0dGluZ3MuZ2V0SlNPTihlLG51bGwpO2kmJihpLnN5bWJvbHN8fChpLnN5bWJvbHM9W10pLHRoaXMuX2xpc3RzW3NdPWkpfSkpfV9nZXRBY3RpdmUoKXtjb25zdCBlPXRoaXMuX3NldHRpbmdzLmdldFZhbHVlKHRoaXMuX2FjdGl2ZUxpc3RTZXR0aW5nc0tleSksW3Qsc109T2JqZWN0LmVudHJpZXModGhpcy5fbGlzdHMpWzBdLGk9e2lkOnQsLi4uc307cmV0dXJuIHZvaWQgMCE9PWUmJnRoaXMuX2dldExpc3QoZSl8fGl9X3BpY2tUaXRsZSgpe3RoaXMuX3VwZGF0ZUxpc3RzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9saXN0cykubWFwKChlPT50aGlzLl9saXN0c1tlXS50aXRsZSkpO2ZvcihsZXQgdD0xOzt0Kyspe2NvbnN0IGk9bC50KG51bGwsdm9pZCAwLHMoMzk3Nzg4KSkrKHQ+MT9gICgke3R9KWA6IiIpO2lmKC0xPT09ZS5pbmRleE9mKGkpKXJldHVybiBpfX19dmFyIG1lPXMoOTU4NTAwKTtjbGFzcyBfZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2N1bWVudD1lLHRoaXMuaXNGdWxsc2NyZWVuPW5ldyBQLldhdGNoZWRWYWx1ZTtjb25zdCB0PSgpPT57Y29uc3QgZT1bImZ1bGxzY3JlZW5FbGVtZW50Iiwid2Via2l0RnVsbHNjcmVlbkVsZW1lbnQiLCJtb3pGdWxsc2NyZWVuRWxlbWVudCIsIm1vekZ1bGxTY3JlZW5FbGVtZW50IiwibXNGdWxsc2NyZWVuRWxlbWVudCJdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtjb25zdCBzPWVbdF07aWYocyBpbiB0aGlzLl9kb2N1bWVudCl7dGhpcy5pc0Z1bGxzY3JlZW4uc2V0VmFsdWUoISF0aGlzLl9kb2N1bWVudFtzXSk7YnJlYWt9fX07dCgpO2Zvcihjb25zdCBzIG9mWyJmdWxsc2NyZWVuY2hhbmdlIiwid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5jaGFuZ2UiLCJNU0Z1bGxzY3JlZW5DaGFuZ2UiXSllLmFkZEV2ZW50TGlzdGVuZXIocyx0LCExKX1lbnRlcigpe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2Zvcihjb25zdCB0IG9mWyJyZXF1ZXN0RnVsbHNjcmVlbiIsIm1velJlcXVlc3RGdWxsU2NyZWVuIiwid2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4iLCJtc1JlcXVlc3RGdWxsc2NyZWVuIl0paWYoImZ1bmN0aW9uIj09dHlwZW9mIGVbdF0pe2VbdF0oKTticmVha310aGlzLmlzRnVsbHNjcmVlbi5zZXRWYWx1ZSghMCl9ZXhpdCgpe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQ7Zm9yKGNvbnN0IHQgb2ZbImV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1vekV4aXRGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCJtc0V4aXRGdWxsc2NyZWVuIl0paWYoImZ1bmN0aW9uIj09dHlwZW9mIGVbdF0pe2VbdF0oKTticmVha310aGlzLmlzRnVsbHNjcmVlbi5zZXRWYWx1ZSghMSl9fWNsYXNzIGdle2NvbnN0cnVjdG9yKGUpe3RoaXMuaXNGdWxsc2NyZWVuPW5ldyBQLldhdGNoZWRWYWx1ZSx0aGlzLl9oYW5kbGVFeGl0PWU9PnsyNyE9PSgwLEouaGFzaEZyb21FdmVudCkoZSl8fGUuZGVmYXVsdFByZXZlbnRlZHx8KGUucHJldmVudERlZmF1bHQoKSx0aGlzLmV4aXQoKSl9LHRoaXMuX2VsZW1lbnQ9ZX1lbnRlcigpe3RoaXMuaXNGdWxsc2NyZWVuLnNldFZhbHVlKCEwKSxaLmVtaXQoIm9uSW50ZXJuYWxGdWxsc2NyZWVuU2hvdyIpLHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlRXhpdCl9ZXhpdCgpe3RoaXMuaXNGdWxsc2NyZWVuLnNldFZhbHVlKCExKSxaLmVtaXQoIm9uSW50ZXJuYWxGdWxsc2NyZWVuSGlkZSIpLHRoaXMuX2VsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlRXhpdCl9fXZhciB5ZSxmZT1zKDMxNzQ2MiksdmU9cygxMTczMTMpOyFmdW5jdGlvbihlKXtlLlF1aXJrcz0icXVpcmtzIixlLlZpc3VhbD0idmlzdWFsIn0oeWV8fCh5ZT17fSkpO2Z1bmN0aW9uIGJlKGUsdCl7bGV0IHM9MDtmb3IoY29uc3R7bWluOmksbWF4Om59b2YgdCl7aWYoZTxpfHxuPGkpY29udGludWU7Y29uc3QgdD1NYXRoLm1pbihlLG4pO2lmKHM9TWF0aC5tYXgocyx0KSxlPT09cylicmVha31yZXR1cm4gc31mdW5jdGlvbiBTZShlKXtjb25zdCB0PVtdO2lmKHZvaWQgMD09PWUpcmV0dXJuW107QXJyYXkuaXNBcnJheShlKXx8KGU9W2VdKTtmb3IoY29uc3QgcyBvZiBlKXtsZXQgZSxpO2lzRmluaXRlKHMpP2U9aT1OdW1iZXIocyk6KGU9K3MubWluLGk9K3MubWF4KSwoZTwwfHxpc05hTihlKSkmJihlPTApLGlzTmFOKGkpJiYoaT0xLzApLGU8PWkmJmk+MCYmdC5wdXNoKHttaW46ZSxtYXg6aX0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLm1pbi10Lm1pbnx8ZS5tYXgtdC5tYXgpKSx0fWZ1bmN0aW9uIHdlKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9ZS5sZW5ndGg7cy0tOyl7aWYoZVtzXS5taW4hPT10W3NdLm1pbilyZXR1cm4hMTtpZihlW3NdLm1heCE9PXRbc10ubWF4KXJldHVybiExfXJldHVybiEwfXZhciBQZT1zKDY1NzI0NSk7Y29uc3QgVGU9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibm9fbWluX2NoYXJ0X3dpZHRoIik7dmFyIENlOyFmdW5jdGlvbihlKXtlW2UuTWluQ2hhcnRIZWlnaHQ9MzAwXT0iTWluQ2hhcnRIZWlnaHQiLGVbZS5NaW5DaGFydFdpZHRoPTMwMF09Ik1pbkNoYXJ0V2lkdGgiLGVbZS5EZWZhdWx0T2Zmc2V0PTRdPSJEZWZhdWx0T2Zmc2V0IixlW2UuVGhpbk9mZnNldD0xXT0iVGhpbk9mZnNldCIsZVtlLlRvcFRvb2xiYXJNYXJnaW49MF09IlRvcFRvb2xiYXJNYXJnaW4ifShDZXx8KENlPXt9KSk7Y29uc3QgRWU9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiYnlwYXNzX2NoYXJ0X2hlaWdodF9jaGVjayIpO2Z1bmN0aW9uIEllKGUpe2NvbnN0IHQ9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSIpLHM9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2luX2Z1bGxzY3JlZW5fbW9kZSIpO3JldHVybiJjZW50ZXIiPT09ZXx8ImxlZnQiPT09ZSYmdHx8InRvcCI9PT1lJiZzfHwiYW5hbHlzaXMiPT09ZX0KY29uc3QgTGU9Wy4uLnoobnVsbCwzKV07TGUuc3BsaWNlKDcsMCxCLnRpbWVGcmFtZXNbIjI0bSJdKTt2YXIgTWU9cyg2MzI0NDQpLERlPXMoMjI3ODI1KSx4ZT1zKDYzOTExMyk7Y29uc3QgUmU9e3doaXRlbGFiZWw6ITAscGVybWlzc2lvbk92ZXJyaWRlczohMCxsaW5rQ2FwdHVyaW5nQWxsb3dlZDohMCxzeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2U6ITAsc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlczohMH07dmFyIGtlPXMoNDMzNzM1KSxWZT1zKDQwMDE4MSk7dmFyIEFlPXMoODkwODM1KSxGZT1zKDk1MjkwMCksQmU9cyg3ODQ1MTMpO2NsYXNzIE9le2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdmlld3M9bmV3IE1hcCx0aGlzLl92aWV3UmVxdWVzdElkPW51bGwsdGhpcy5fZ2V0Q29udGV4dD1lLHRoaXMuX29uVmlld0NoYW5nZWQ9dH1oYXNWaWV3KGUpe3JldHVybiB0aGlzLl92aWV3cy5oYXMoZSl9cmVnaXN0ZXJWaWV3KGUsdCl7dGhpcy5fdmlld3Muc2V0KGUsdCl9c2hvd1ZpZXcoZSx0KXtpZihudWxsPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9vblZpZXdDaGFuZ2VkKG51bGwpOygwLHIuYXNzZXJ0KSh0aGlzLmhhc1ZpZXcoZSksYEFuYWx5c2lzIHZpZXcgd2l0aCBhIG5hbWUgIiR7ZX0iIGlzIG5vdCByZWdpc3RlcmVkIWApO2NvbnN0IHM9dGhpcy5fdmlld1JlcXVlc3RJZD0oMCxuZS5yYW5kb21IYXNoKSgpOygwLHIuZW5zdXJlKSh0aGlzLl92aWV3cy5nZXQoZSkpKHQpLnRoZW4oKHQ9PntpZih0aGlzLl92aWV3UmVxdWVzdElkIT09cylyZXR1cm47Y29uc3QgaT10aGlzLl9nZXRDb250ZXh0KGUpO3Quc2V0Q29udGV4dChpKSx0aGlzLl9vblZpZXdDaGFuZ2VkKGUpLHQuc2V0Q2xvc2VBY3Rpb24oKCgpPT57dGhpcy5fb25WaWV3Q2hhbmdlZChudWxsKX0pKSx0LnNob3coKX0pKX19dmFyIE5lPXMoMjk2MjYyKTtjbGFzcyBXZSBleHRlbmRzIE5lLkRpYWxvZ1JlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9yZXF1ZXN0SWQ9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fWFzeW5jIHNob3coZSl7Y29uc3QgdD10aGlzLl9yZXF1ZXN0SWQ9KDAsbmUucmFuZG9tSGFzaCkoKSxzPWF3YWl0IHRoaXMucHJlcGFyZShlKTt0PT09dGhpcy5fcmVxdWVzdElkJiZzLnNob3coKX1oaWRlKCl7dGhpcy5fZGlhbG9nPy5oaWRlKCl9cHJlcGFyZShlKXtyZXR1cm4gdGhpcy5fbG9hZChlKX1hc3luYyBfbG9hZChlKXtjb25zdCB0PWF3YWl0IHRoaXMuX3JlbmRlcmVyKCk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPW5ldyB0KGUpLHRoaXMuX2RpYWxvZy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nfX1sZXQgVWU7Y2xhc3MgemUgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gVWU/Pz1uZXcgemUsVWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7Q2hhcnRUYWJsZVZpZXdEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDIwMzM3KSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoMTE0NjEpLHMuZSgyNDU4MSkscy5lKDk2NTg3KSxzLmUoMjc1MTcpLHMuZSg5ODA4NCkscy5lKDcwODE1KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoOTM0MTYpLHMuZSg2NTcpLHMuZSg2MDcwKSxzLmUoNzY2NSkscy5lKDUyOTIwKSxzLmUoNjI2MDApLHMuZSg3NTIxNykscy5lKDk4Njk2KSxzLmUoNzQ2MzYpLHMuZSg3MTk5MSkscy5lKDQ5OTk3KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDY2MjM1KSxzLmUoMzY5MzgpLHMuZSg2NzkzMCkscy5lKDQ2NjUwKV0pLnRoZW4ocy5iaW5kKHMsNDA2MTgzKSk7cmV0dXJuIGV9fXZhciBIZT1zKDMwODM4OCksamU9cyg3MzEwOTEpLCRlPXMoMzUzODEpO2xldCBxZSxLZSxZZSxHZSxKZSxYZSxRZTtjbGFzcyBaZSBleHRlbmRzIFdle2FzeW5jIHByZXBhcmUoZSl7Y29uc3QgdD1lPy5zeW1ib2w/ZS5zeW1ib2w6cC5saW5raW5nLnByb1N5bWJvbC52YWx1ZSgpO2lmKGU/LnNuYXBzaG90KXtjb25zdHtzbmFwc2hvdDpzfT1lO3JldHVybiBzdXBlci5wcmVwYXJlKHsuLi5lLHN5bWJvbDp0LC4uLnMsZXhjaGFuZ2U6cy5saXN0ZWRfZXhjaGFuZ2V9KX17Y29uc3QgaT1hc3luYygpPT57Y29uc3R7c25hcHNob3RlcjplfT1hd2FpdCBzLmUoNzExODUpLnRoZW4ocy5iaW5kKHMsMzIwNTUpKTtyZXR1cm4gZSgpLmdldFNuYXBzaG90KHQsbmV3IFNldCgkZS5URUNITklDQUxTX1FTX0ZJRUxEUykpfSxbLG5dPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLl9yZW5kZXJlcigpLGkoKV0pO3JldHVybiJlcnJvciI9PT1uLnN0YXR1cz9zdXBlci5wcmVwYXJlKHsuLi5lLHN5bWJvbDp0fSk6c3VwZXIucHJlcGFyZSh7Li4uZSxzeW1ib2w6dCwuLi5uLnZhbHVlcyxleGNoYW5nZTpuLnZhbHVlcy5saXN0ZWRfZXhjaGFuZ2V9KX19YXN5bmMgY2FuQmVTaG93bihlKXtjb25zdCB0PWV8fHAubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKTtpZighdClyZXR1cm4hMTtjb25zdCBpPW5ldyBTZXQoWy4uLiRlLlRFQ0hOSUNBTFNfUVNfRklFTERTLCJkZXNjcmlwdGlvbiJdKSxuPWF3YWl0KGFzeW5jKCk9Pntjb25zdHtzbmFwc2hvdGVyOmV9PWF3YWl0IHMuZSg3NDM0MSkudGhlbihzLmJpbmQocywzMjA1NSkpO3JldHVybiBlKCkuZ2V0U25hcHNob3QodCxpKX0pKCk7aWYoImVycm9yIj09PW4uc3RhdHVzKXJldHVybiExO2NvbnN0e3ZhbHVlczp7dHlwZTpyLGxpc3RlZF9leGNoYW5nZTpvLGRlc2NyaXB0aW9uOmF9fT1uO2lmKCFqZS5TWU1CT0xfVFlQRV9CTEFDS19MSVNULmhhcyhyKSl0cnl7Y29uc3QgZT1hd2FpdCgwLApIZS5nZXRTeW1ib2xEYXRhKShudWxsLHQsWyJSZWNvbW1lbmQuQWxsIl0pO3JldHVybiBCb29sZWFuKGUmJjAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJmEmJm8mJnIpfWNhdGNoKGUpe3JldHVybiExfXJldHVybiExfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBxZXx8KHFlPW5ldyBaZSkscWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7VGVjaG5pY2Fsc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNDAxNTcpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSgyMzYyNCkscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSgyNzUxNykscy5lKDk1MDQpLHMuZSg5ODA4NCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoOTE4NTUpLHMuZSg2MDcwKSxzLmUoNTgwNTEpLHMuZSgzNzc2Nykscy5lKDI2MTAwKSxzLmUoOWUzKSxzLmUoMzY5ODYpLHMuZSgyNzA4NSkscy5lKDg2MDg3KSxzLmUoMzIzODcpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzQ5NjIpXSkudGhlbihzLmJpbmQocywxOTUwNTApKTtyZXR1cm4gZX19Y2xhc3MgZXQgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gS2V8fChLZT1uZXcgZXQpLEtlfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0ZpbmFuY2lhbHNEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDU0ODYpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNTIzOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDM3NzQ2KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1MTg0KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoMzc1MTMpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDEwMzg1KSxzLmUoNTIwNjUpLHMuZSg0NzYzMikscy5lKDY2MDUpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg3MTQxNCkscy5lKDY1Nykscy5lKDU3MzAwKSxzLmUoOTE4NTUpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDE5NTEzKSxzLmUoODg2NDEpLHMuZSg0MDg2Nykscy5lKDUwODAwKSxzLmUoNzY2NSkscy5lKDI3MzM3KSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDIwMjcxKSxzLmUoMTg0NDIpLHMuZSg0NzA5Mikscy5lKDc2MzI5KSxzLmUoMzkxNikscy5lKDY4OTY0KSxzLmUoMjEyNDUpLHMuZSg1Njg5KSxzLmUoMjU1NjIpLHMuZSgyOTM0OCkscy5lKDg4Mzg1KSxzLmUoMTc4NjUpLHMuZSgyODkzNikscy5lKDE4Njc0KSxzLmUoMTI1MjcpLHMuZSgyNTExKSxzLmUoODA3NjEpLHMuZSgxNTM4Mykscy5lKDQwOTAyKSxzLmUoMTI0MTIpLHMuZSgzMjM4Nykscy5lKDQ0NzgwKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzc1NzgpLHMuZSg4MzkzNSkscy5lKDM5NjA2KSxzLmUoMjg4NjQpLHMuZSgzNzI1OSkscy5lKDE5MjYxKSxzLmUoMjU0ODIpLHMuZSg3NjI3NCldKS50aGVuKHMuYmluZChzLDI4ODUyMikpO3JldHVybiBlfX1jbGFzcyB0dCBleHRlbmRzIFdle3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBZZXx8KFllPW5ldyB0dCksWWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7U2Vhc29uYWxzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg2MTk1MCkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg5NDk0OCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDU2MjUyKSxzLmUoODM0ODgpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDQwODM1KSxzLmUoOTgwODQpLHMuZSg5MzQyMSkscy5lKDc4NjUyKSxzLmUoNDk1ODgpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg2NTcpLHMuZSgzNTc5NCkscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NjYwKSxzLmUoMjE1ODEpLHMuZSgxODQ0Mikscy5lKDU2MDMpLHMuZSgxNDY0MCkscy5lKDYxNDEzKSxzLmUoMTYzOTkpLHMuZSg0NTI0Mikscy5lKDU5ODMwKSxzLmUoODQyMjQpLHMuZSg0MzkxOSkscy5lKDMyMzg3KSxzLmUoNzgzMTIpLHMuZSg0NDc4MCkscy5lKDIzNzQzKSxzLmUoNjYyMzUpLHMuZSg4MzE1NCkscy5lKDcwOTU3KSxzLmUoMzg0NDkpXSkudGhlbihzLmJpbmQocyw5NDc3OTMpKTtyZXR1cm4gZX19Y2xhc3Mgc3QgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gR2V8fChHZT1uZXcgc3QpLEdlfWFzeW5jIF9yZW5kZXJlcigpewpjb25zdHtBbmFseXNpc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTQ5MjYpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoODM0ODgpLHMuZSgxOTU5NSkscy5lKDE5Nzg3KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDk2NTg3KSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDM3NTEzKSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSg5ODA4NCkscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg3MTQxNCkscy5lKDY1Nykscy5lKDMyNzQ4KSxzLmUoOTE4NTUpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDE5NTEzKSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDIwMjcxKSxzLmUoNDcwOTIpLHMuZSg1NjAzKSxzLmUoNzYzMjkpLHMuZSgzOTE2KSxzLmUoMjEyNDUpLHMuZSgyNTU2Mikscy5lKDgwNzgyKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDI5MzQ4KSxzLmUoNzM4Nykscy5lKDg4Mzg1KSxzLmUoMTc4NjUpLHMuZSg0NzAyMSkscy5lKDYzMDMzKSxzLmUoMTg2NzQpLHMuZSgxMjUyNykscy5lKDYzNzIzKSxzLmUoMTQ2OTcpLHMuZSg1MDc0Mykscy5lKDcwMjU1KSxzLmUoODE4MTgpLHMuZSg0MDkwMikscy5lKDc4MTgyKSxzLmUoMzIzODcpLHMuZSg3ODMxMikscy5lKDQ0NzgwKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzc1NzgpLHMuZSg4MzE1NCkscy5lKDgzOTM1KSxzLmUoMzk2MDYpLHMuZSgzNzEwNikscy5lKDI4ODY0KSxzLmUoMTkyNjEpLHMuZSg3Njc1NSkscy5lKDk5OTM2KSxzLmUoMTUxNjApXSkudGhlbihzLmJpbmQocyw5MTE3MykpO3JldHVybiBlfX1jbGFzcyBpdCBleHRlbmRzIFdle2FzeW5jIGNhbkJlU2hvd24oZSl7Y29uc3QgdD1lfHxwLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCksaT1uZXcgU2V0KFsicmVjb21tZW5kYXRpb25fbWFyayIsInByb19uYW1lIl0pLG49YXdhaXQoYXN5bmMoKT0+e2NvbnN0e3NuYXBzaG90ZXI6ZX09YXdhaXQgcy5lKDY1NjQ2KS50aGVuKHMuYmluZChzLDgwNDI4OCkpO3JldHVybiBlKCkuZ2V0U25hcHNob3QodCxpKX0pKCk7cmV0dXJuISgiZXJyb3IiPT09bi5zdGF0dXN8fCFuLnZhbHVlcy5yZWNvbW1lbmRhdGlvbl9tYXJrKX1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gSmV8fChKZT1uZXcgaXQpLEplfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0ZvcmVjYXN0RGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg5ODM4Mykscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDk4MDg0KSxzLmUoNDk1ODgpLHMuZSg0NzYzMikscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSg0MzMyNSkscy5lKDE0NjI1KSxzLmUoNzE0MTQpLHMuZSg2NTcpLHMuZSgzMjE3Nikscy5lKDYwNzApLHMuZSg5NzQ0KSxzLmUoMzc3NjcpLHMuZSgxOTUxMykscy5lKDMwMzczKSxzLmUoMTg0NDIpLHMuZSg0NzA5Mikscy5lKDM5MTYpLHMuZSgyMTI0NSkscy5lKDI1NTYyKSxzLmUoMjYxMDApLHMuZSg5ZTMpLHMuZSgxNzg2NSkscy5lKDE4Njc0KSxzLmUoNzM5NjApLHMuZSg4MDc2MSkscy5lKDg3NzIxKSxzLmUoMzIzODcpLHMuZSg0NDc4MCkscy5lKDQyMjg4KSxzLmUoNjYyMzUpLHMuZSg3NzU3OCkscy5lKDgzOTM1KSxzLmUoMzk2MDYpLHMuZSgyODg2NCkscy5lKDI1NDgyKSxzLmUoNzQ1MjMpXSkudGhlbihzLmJpbmQocyw3NTMxMjgpKTtyZXR1cm4gZX19Y2xhc3MgbnQgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gWGV8fChYZT1uZXcgbnQpLFhlfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0Rlcml2YXRpdmVzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSgzMzE3Nikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDEyMzg1KSxzLmUoOTQ5NDgpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoMjQ1ODEpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDY1Nykscy5lKDMyNzQ4KSxzLmUoMTY3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDMwMzczKSxzLmUoMjE1ODEpLHMuZSg1NjAzKSxzLmUoMjEyNDUpLHMuZSg1Njg5KSxzLmUoODA3ODIpLHMuZSg1NzI1NCkscy5lKDczODcpLHMuZSgxMjUyNykscy5lKDUwNzQzKSxzLmUoOTYzNTIpLHMuZSgxNTM4Mykscy5lKDU4MDQzKSxzLmUoMzIzODcpLHMuZSg3ODMxMikscy5lKDY2MjM1KSxzLmUoODMxNTQpLHMuZSg3Njc1NSkscy5lKDk0ODIyKV0pLnRoZW4ocy5iaW5kKHMsNzE4NzY0KSk7cmV0dXJuIGV9fWNsYXNzIHJ0IGV4dGVuZHMgV2V7c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIFFlfHwoUWU9bmV3IHJ0KSxRZX1hc3luYyBfcmVuZGVyZXIoKXsKY29uc3R7T3B0aW9uc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTQ1KSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSgyNDU4MSkscy5lKDk2NTg3KSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDQwODM1KSxzLmUoOTgwODQpLHMuZSg5MzQyMSkscy5lKDc4NjUyKSxzLmUoNDk1ODgpLHMuZSg0NzYzMikscy5lKDc0MzgxKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDQzMzI1KSxzLmUoMTQ2MjUpLHMuZSgxNTUyNikscy5lKDY1Nykscy5lKDU3MzAwKSxzLmUoMTY3Nikscy5lKDkxODU1KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDgzMDQxKSxzLmUoNTE2ODIpLHMuZSgyMDIpLHMuZSg5NzY2MCkscy5lKDMzMTIwKSxzLmUoMzk3ODYpLHMuZSg1NTMzNikscy5lKDYwODIpLHMuZSgxODQ0Mikscy5lKDQ3MDkyKSxzLmUoMjc3MzYpLHMuZSg5MDMzMCkscy5lKDI1Njk4KSxzLmUoMjMzMSkscy5lKDY4NTc5KSxzLmUoNDc1NTEpLHMuZSg0NzU3OSkscy5lKDg3NjczKSxzLmUoMjAwODUpLHMuZSg0NzQ1Nykscy5lKDMyMzg3KSxzLmUoNzgzMTIpLHMuZSg0NDc4MCkscy5lKDIzNzQzKSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDcyMTEpLHMuZSg1NzA5Mykscy5lKDY3ODUzKSxzLmUoNDg2NTIpLHMuZSgyODQ0Mikscy5lKDM0OTU0KV0pLnRoZW4ocy5iaW5kKHMsNTI4NTY2KSk7cmV0dXJuIGV9fXZhciBvdD1zKDgzOTQyNik7Y2xhc3MgYXQgZXh0ZW5kcyBXZXtwcmVwYXJlKGUpe2NvbnN0IHQ9ZT8uc3ltYm9sP2Uuc3ltYm9sOnAubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKTtyZXR1cm4gc3VwZXIucHJlcGFyZSh7Li4uZSxzeW1ib2w6dH0pfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0Vjb25vbXlJbmRpY2F0b3JEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDEyNjYzKSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDI0NTgxKSxzLmUoOTY1ODcpLHMuZSgyNzUxNykscy5lKDM3NTEzKSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDcwODE1KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoMTU1MjYpLHMuZSg5MzQxNikscy5lKDY1Nykscy5lKDUyNjgwKSxzLmUoNjA3MCkscy5lKDk0MDU0KSxzLmUoMzk3ODYpLHMuZSg1NTMzNikscy5lKDE4NDQyKSxzLmUoMTQ2NDApLHMuZSg4MDc4Mikscy5lKDY5ODA5KSxzLmUoNDUyNDIpLHMuZSg4MTgxOCkscy5lKDk2MzUyKSxzLmUoMjU4OTUpLHMuZSg4NDIyNCkscy5lKDI0NjAzKSxzLmUoMjc2OTYpLHMuZSgzMjM4Nykscy5lKDc4MzEyKSxzLmUoNDQ3ODApLHMuZSgyMzc0Mykscy5lKDY2MjM1KSxzLmUoNzIxMSkscy5lKDcwOTU3KSxzLmUoMTAzMjIpLHMuZSgxMTMwNCldKS50aGVuKHMuYmluZChzLDM0NTY4MCkpO3JldHVybiBlfX1jb25zdCBsdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyBhdCkpO2NsYXNzIHV0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7U3RvY2tCb25kc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTE1MjYpLHMuZSg0MjUzNSkscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDMyODE2KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSgxNzA4Nykscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSg5MTg1NSkscy5lKDEyMDUxKSxzLmUoMzIxNzYpLHMuZSg0MzY0NCkscy5lKDYwNzApLHMuZSg1ODA1MSkscy5lKDcxNDgyKSxzLmUoNTIwOTUpLHMuZSg0NDAzMSkscy5lKDIxNTgxKSxzLmUoODkwNDQpLHMuZSg0Mzc5Mikscy5lKDc4NDA0KSxzLmUoNTYwMykscy5lKDYxNDEzKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDMwNzg5KSxzLmUoNzExOTApLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDE0ODg5KSxzLmUoNDIyMTIpLHMuZSg2ODcyNSkscy5lKDgwMjA3KSxzLmUoODMxNTQpLHMuZSg2MTQ5NSkscy5lKDE5Nzc2KSxzLmUoNjQ4OSldKS50aGVuKHMuYmluZChzLDc2MDgzOSkpO3JldHVybiBlfX1jb25zdCBjdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyB1dCkpO2NsYXNzIGR0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7CmNvbnN0e0RvY3VtZW50c0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNjk4MTIpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1MTg0KSxzLmUoODM0ODgpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoMjQ1ODEpLHMuZSg5NjU4Nykscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDk4MDg0KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSgxNTUyNikscy5lKDcxNDE0KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDE2NzYpLHMuZSg2MDcwKSxzLmUoOTc0NCkscy5lKDgzMDQxKSxzLmUoMTk1MTMpLHMuZSg3MTUyOCkscy5lKDU1MzM2KSxzLmUoOTIzOTMpLHMuZSgyNjU5Mikscy5lKDYzMTAwKSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDQyMjg4KSxzLmUoNjYyMzUpLHMuZSg3NzU3OCkscy5lKDg5NDYpLHMuZSg1ODQxOCldKS50aGVuKHMuYmluZChzLDUyNjY4MikpO3JldHVybiBlfX1jb25zdCBodD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyBkdCkpO2NsYXNzIHB0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7TmV3c0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNDY4MzEpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSgyNzUxNykscy5lKDk1MDQpLHMuZSg3MjY2Nikscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoMzI3NDgpLHMuZSg5MTg1NSkscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDQ1MzY4KSxzLmUoMjAyNzEpLHMuZSg1MTg4MCkscy5lKDE4NDcyKSxzLmUoMjU4MDkpLHMuZSgxNzY5Mykscy5lKDgyMjcxKSxzLmUoMjI0NjQpLHMuZSg3NjY2NCkscy5lKDQ5MjkpLHMuZSg3MTM1MCkscy5lKDMyMzg3KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDk3NjQ3KSxzLmUoMjE0MjYpLHMuZSgxNTM5NCkscy5lKDQ3NTc3KV0pLnRoZW4ocy5iaW5kKHMsOTgyNDc0KSk7cmV0dXJuIGV9fWNvbnN0IG10PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IHB0KSk7Y2xhc3MgX3QgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtFdGZzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSgxMTUyNikscy5lKDIxMDgwKSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTM0OTIpLHMuZSgzNzc0Nikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDE3MDg3KSxzLmUoNzI2NjYpLHMuZSg5ODA4NCkscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg2NTcpLHMuZSg1MjY4MCkscy5lKDkxODU1KSxzLmUoMTIwNTEpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDU4MDUxKSxzLmUoNzE0ODIpLHMuZSg1MjA5NSkscy5lKDQ0MDMxKSxzLmUoMjE1ODEpLHMuZSg4OTA0NCkscy5lKDQzNzkyKSxzLmUoNzg0MDQpLHMuZSg1NjAzKSxzLmUoNjE0MTMpLHMuZSg1NzI1NCkscy5lKDE2Mzk5KSxzLmUoMzA3ODkpLHMuZSg3MDI4MCkscy5lKDMyMzg3KSxzLmUoMzA2OTkpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoMTQ4ODkpLHMuZSg0MjIxMikscy5lKDY4NzI1KSxzLmUoODAyMDcpLHMuZSg4MzE1NCkscy5lKDYxNDk1KSxzLmUoMTk3NzYpLHMuZSg4MjA4KV0pLnRoZW4ocy5iaW5kKHMsNjY4NDgwKSk7cmV0dXJuIGV9fWNvbnN0IGd0PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IF90KSk7Y2xhc3MgeXQgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtGb3J3YXJkQ3VydmVEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDE0OTkxKSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDU2MjUyKSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDk4MDg0KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNDM2NDQpLHMuZSg2MDcwKSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDU2MDMpLHMuZSg1Njg5KSxzLmUoNjE0MTMpLHMuZSg5OTk0NCkscy5lKDUzMjI4KSxzLmUoMzIzODcpLHMuZSg2NjIzNSkscy5lKDgzMTU0KSxzLmUoODUxMDgpLHMuZSg2ODUxOSldKS50aGVuKHMuYmluZChzLDgzMjM0NSkpO3JldHVybiBlfX1jb25zdCBmdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyB5dCkpO2xldCB2dDtjbGFzcyBidCBleHRlbmRzIFdle3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB2dHx8KHZ0PW5ldyBidCksdnR9YXN5bmMgX3JlbmRlcmVyKCl7CmNvbnN0e0JvbmRZaWVsZEN1cnZlRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg1NDkwNCkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg5NDk0OCkscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg5ODA4NCkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDY1Nykscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDMwMzczKSxzLmUoMjE1ODEpLHMuZSg1NjAzKSxzLmUoNTY4OSkscy5lKDYxNDEzKSxzLmUoOTk5NDQpLHMuZSg2OTE4NSkscy5lKDMyMzg3KSxzLmUoNjYyMzUpLHMuZSg4MzE1NCkscy5lKDg1MTA4KSxzLmUoMzcyMTMpXSkudGhlbihzLmJpbmQocyw0OTU3MTYpKTtyZXR1cm4gZX19Y2xhc3MgU3QgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtDb250cmFjdHNEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDExNTI2KSxzLmUoMzkzNykscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDMyODE2KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSgxNzA4Nykscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSg5MTg1NSkscy5lKDEyMDUxKSxzLmUoMzIxNzYpLHMuZSg0MzY0NCkscy5lKDYwNzApLHMuZSg1ODA1MSkscy5lKDcxNDgyKSxzLmUoNTIwOTUpLHMuZSg0NDAzMSkscy5lKDIxNTgxKSxzLmUoODkwNDQpLHMuZSg0Mzc5Mikscy5lKDc4NDA0KSxzLmUoNTYwMykscy5lKDYxNDEzKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDMwNzg5KSxzLmUoODc0OTgpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDE0ODg5KSxzLmUoNDIyMTIpLHMuZSg2ODcyNSkscy5lKDgwMjA3KSxzLmUoODMxNTQpLHMuZSg2MTQ5NSkscy5lKDE5Nzc2KSxzLmUoMzQ1NTUpXSkudGhlbihzLmJpbmQocyw3MDYwNTMpKTtyZXR1cm4gZX19Y29uc3Qgd3Q9KDAsb3QuZGVmYXVsdCkoKCgpPT5uZXcgU3QpKTtjbGFzcyBQdCBleHRlbmRzIFdle2FzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0NvbW11bml0eURpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMzcwOTEpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDI0NTgxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDk4MDg0KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg3NDM4MSkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDE1NTI2KSxzLmUoNzE0MTQpLHMuZSg2NTcpLHMuZSg1NzMwMCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSgzMjc0OCkscy5lKDE2NzYpLHMuZSg2MDcwKSxzLmUoOTc0NCkscy5lKDgzMDQxKSxzLmUoNzE0ODIpLHMuZSgzNzc2Nykscy5lKDE5NTEzKSxzLmUoOTc2NjApLHMuZSg3MTUyOCkscy5lKDk0MDU0KSxzLmUoNDUzNjgpLHMuZSg0NDc3KSxzLmUoNTUzMzYpLHMuZSg3NjY1KSxzLmUoOTIzOTMpLHMuZSgxODQ0Mikscy5lKDkxNjc4KSxzLmUoNjk3NDcpLHMuZSgzODg2OCkscy5lKDE2NDIxKSxzLmUoMTQ2NDApLHMuZSg0MDQyKSxzLmUoMjIxNDQpLHMuZSg4MzUyOSkscy5lKDU5ODMwKSxzLmUoNTk0MzcpLHMuZSg3MDc1Nikscy5lKDc0NTYpLHMuZSg2Mjg5Mikscy5lKDI2NTkyKSxzLmUoNzQyMzMpLHMuZSg3MTk5MSkscy5lKDEyNjY2KSxzLmUoNjg2ODYpLHMuZSgzMjM4Nykscy5lKDgxODY4KSxzLmUoNDMyMykscy5lKDIzNzQzKSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDc3NTc4KSxzLmUoODk0Nikscy5lKDMwNDIxKSxzLmUoMjk4NDQpLHMuZSg5NjA3OCkscy5lKDk0MDg1KV0pLnRoZW4ocy5iaW5kKHMsNDU0OTM2KSk7cmV0dXJuIGV9fWNvbnN0IFR0PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IFB0KSk7dmFyIEN0PXMoODczNzk0KSxFdD1zKDQzMzUzNCk7cyg2NjgyOTYpO2NvbnN0IEl0PXdpbmRvdy5pbml0RGF0YSxMdD13aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsTXQ9ZnVuY3Rpb24oZSx0PVtdLHMpe3JldHVybiBmdW5jdGlvbihlLHQscyxpPVtdLG4pe2NvbnN0IHI9cy5zbGljZSgxKSxvPWRlY29kZVVSSUNvbXBvbmVudChyKTtsZXQgYT17fTt0cnl7IiIhPT1vJiYoYT1KU09OLnBhcnNlKG8pLHZvaWQgMCE9PW4mJm4oZSxhKSxPYmplY3Qua2V5cyhhKS5mb3JFYWNoKChlPT57KFJlW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGFbZV19KSkpfWNhdGNoKGUpe2E9e30sY29uc29sZS53YXJuKCJIYXNoIHBhcmFtcyBwYXJzaW5nIGVycm9yISBIYXNoIHBhcmFtcyBpZ25vcmVkLiIpfWNvbnN0IGw9dC5zbGljZSgxKSx1PXQuaW5jbHVkZXMoIiUiKT9kZWNvZGVVUklDb21wb25lbnQobCk6dCxjPW5ldyBVUkxTZWFyY2hQYXJhbXModSk7bGV0IGQ9e307dHJ5e2MuZm9yRWFjaCgoKGUsdCk9PntpLmluY2x1ZGVzKHQpfHwoZFt0XT1lKX0pKSx2b2lkIDAhPT1uJiZuKGUsZCl9Y2F0Y2goZSl7ZD17fSwKY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGEsZCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxzKX0oTHQpO3RyeXshYXN5bmMgZnVuY3Rpb24oZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxWZS5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYygiaWdsdTpjb20udHJhZGluZ3ZpZXcvd2lkZ2V0X2xvYWRfbWV0YV9pbmZvL2pzb25zY2hlbWEvMS0wLTAiLGUpfSh7d2lkZ2V0X2lkOiJhZHZhbmNlZC1jaGFydCIsc3ltYm9sczpKU09OLnN0cmluZ2lmeShbTXQuc3ltYm9sXSksY3VzdG9tZXI6TXQuY3VzdG9tZXJ9KX1jYXRjaHt9Y29uc3QgRHQ9dm9pZCAwIT09TXQuZXh0ZW5kZWRfaG91cnM/YXMoTXQuZXh0ZW5kZWRfaG91cnMpPyJleHRlbmRlZCI6InJlZ3VsYXIiOnZvaWQgMCE9PUx0LmRlZl9leHRlbmRlZF9ob3Vycz9hcyhMdC5kZWZfZXh0ZW5kZWRfaG91cnMpPyJleHRlbmRlZCI6InJlZ3VsYXIiOkx0LmRlZl9zZXNzaW9uX2lkO2NvbnN0IHh0PUx0LmN1c3RvbWVyLFJ0PUx0LmN1c3RvbWVyUmVhZGFibGVOYW1lLGt0PU10LnJhbmdlfHxMdC5kZWZfcmFuZ2UsVnQ9YXMoTXQud2l0aGRhdGVyYW5nZXM/P0x0LmRlZl93aXRoZGF0ZXJhbmdlcyksQXQ9YXMoTXQuc2F2ZV9pbWFnZT8/SXQuZGVmX3NhdmVfaW1hZ2UsITApO2xldCBGdDsodm9pZCAwPT09TXQuYWxsb3dfc3ltYm9sX2NoYW5nZT9hcyhMdC5kZWZfaGlkZV9zeW1ib2xfZWRpdCk6IWFzKE10LmFsbG93X3N5bWJvbF9jaGFuZ2UpKSYmKCgwLG8uc2V0RW5hYmxlZCkoImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwhMSksKDAsby5zZXRFbmFibGVkKSgiZGlzYWJsZV9sZWdlbmRfaW5wbGFjZV9zeW1ib2xfY2hhbmdlIiwhMCksKDAsby5zZXRFbmFibGVkKSgic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwhMSkpLCgwLG8uc2V0RW5hYmxlZCkoImhlYWRlcl9zY3JlZW5zaG90IixCb29sZWFuKEF0KSksImJvdmVzcGEiPT09eHQmJigoMCxvLmRpc2FibGUpKCJoZWFkZXJfc2V0dGluZ3MiKSxGdD1be3N5bWJvbDoiSUJPViIsdGl0bGU6IkJvdmVzcGEgSW5kZXgifSx7c3ltYm9sOiJJQlhYIix0aXRsZToiQnJhemlsIDEwMCBJbmRleCJ9LHtzeW1ib2w6IklCWEwiLHRpdGxlOiJCcmF6aWwgNTAgSW5kZXgifSx7c3ltYm9sOiJJQlJBIix0aXRsZToiQnJhemlsIEJyb2FkLUJhc2VkIEluZGV4In0se3N5bWJvbDoiSUdDWCIsdGl0bGU6IlNwZWNpYWwgQ29ycG9yYXRlIEdvdmVybmFuY2UgU3RvY2sgSW5kZXgifSx7c3ltYm9sOiJJVEFHIix0aXRsZToiU3BlY2lhbCBUYWctQWxvbmcgU3RvY2sgSW5kZXgifSx7c3ltYm9sOiJJR05NIix0aXRsZToiTm92byBNZXJjYWRvIENvcnBvcmF0ZSBHb3Zlcm5hbmNlIEVxdWl0eSBJbmRleCJ9XSksd2luZG93LnBybz1uZXcgYy5Qcm8od2luZG93LnNob3BDb25mKTtsZXQgQnQ9TXQuc3ltYm9sfHxMdC5kZWZfc3ltYm9sfHwoMCxoLmdldERlZmF1bHRTeW1ib2wpKCk7ImNtZSI9PT1NdC5zeW1ib2xvZ3kmJihCdD0oZT0+e2NvbnN0IHQ9bmV3KF8oKS5TeW1ib2xUb2tlbikoZSk7aWYoIXQucm9vdCgpKXJldHVybiBlO2NvbnN0IHM9ZC5DTUVUb1RWU3ltYm9sb2d5QWRhcHRlci5jb252ZXJ0U3ltYm9sRGF0YVRvVFYodC5yb290KCksdC5leGNoYW5nZSgpLE10LnZlbnVlPz8iIik7cmV0dXJuIm9rIiE9PXMuc3RhdHVzP2U6KHMuZGF0YS5zeW1ib2wmJnQucm9vdChzLmRhdGEuc3ltYm9sKSxzLmRhdGEuZXhjaGFuZ2UmJnQuZXhjaGFuZ2Uocy5kYXRhLmV4Y2hhbmdlKSx0LnRvU3RyaW5nKCkpfSkoQnQpKTtjb25zdCBPdD15KCkocGFyZW50KSxOdD1bXTtsZXQgV3QsVXQ9W107aWYoTXQud2F0Y2hsaXN0JiYoVXQ9KEFycmF5LmlzQXJyYXkoTXQud2F0Y2hsaXN0KT9NdC53YXRjaGxpc3Q6TXQud2F0Y2hsaXN0LnNwbGl0KC9ceDFmLykpLm1hcCgoZT0+ZS50cmltKCkpKS5maWx0ZXIoQm9vbGVhbikpLFV0Lmxlbmd0aHx8TXQuZWRpdGFibGV3YXRjaGxpc3Qpe2NvbnN0IGU9e3R5cGU6IndhdGNobGlzdCIscHJvcGVydGllczp7bGlzdDpVdH19O2UucmVhZG9ubHk9IU10LmVkaXRhYmxld2F0Y2hsaXN0LE10LmVkaXRhYmxld2F0Y2hsaXN0PyhlLmRhdGE9e2hpZGVUaXRsZUJ1dHRvbjohMH0sZS5zZXR0aW5nc0tleT0ib253aWRnZXQud2F0Y2hsaXN0IixlLnVuQXV0aEVkaXRhYmxlPSEwLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IHBlKGUpOygwLHRlLnJlZ2lzdGVyU2VydmljZSkoc2UuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UsdCl9KFV0KSk6ZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgaWUoZSk7KDAsdGUucmVnaXN0ZXJTZXJ2aWNlKShzZS5TWU1CT0xfTElTVF9SRVBPU0lUT1JZX0JBQ0tFTkRfU0VSVklDRSx0KX0oVXQpLE50LnB1c2goZSl9YXMoTXQuZGV0YWlscykmJk50LnB1c2goe3R5cGU6ImRldGFpbCJ9KSx2b2lkIDAhPT1NdC53aWRnZXRiYXJfd2lkdGgmJihXdD0rTXQud2lkZ2V0YmFyX3dpZHRoKSwoIVd0fHwhaXNGaW5pdGUoV3QpfHxXdDwyMDApJiYoV3Q9MjAwKTtjb25zdCB6dD1OdC5sZW5ndGg/W3tuYW1lOiJiYXNlIix0aXRsZTpsLnQobnVsbCx2b2lkIDAscyg3MTYwNjYpKSxpY29uOkN0LHdpZGdldHM6TnQubWFwKChlPT5lKSl9XTpbXTtNdC5ob3RsaXN0JiZ6dC5wdXNoKHtuYW1lOiJob3RsaXN0Iix0aXRsZTpsLnQobnVsbCx2b2lkIDAscyg4MjEyNDgpKSxpY29uOkV0LHdpZGdldHM6W3t0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoidm9sdW1lX2dhaW5lcnMifX19LHt0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoicGVyY2VudF9jaGFuZ2VfZ2FpbmVycyJ9fX0sewp0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoicGVyY2VudF9jaGFuZ2VfbG9vc2VycyJ9fX1dfSk7Y29uc3QgSHQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdXBkYXRlRG9jdW1lbnRIZWlnaHQ9ZT0+eyJ2aXN1YWwiPT09dGhpcy5fdmlld3BvcnRUeXBlJiZ0aGlzLl93aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLGAke2V9cHhgLCJpbXBvcnRhbnQiKX0sdGhpcy5fd2luZG93PWUsdGhpcy5fZnVsbHNjcmVlbkFwaT10P25ldyBnZShlLmRvY3VtZW50LmJvZHkpOm5ldyBfZShlLmRvY3VtZW50KSx0aGlzLl92aWV3cG9ydFR5cGU9aS5DaGVja01vYmlsZS5pT1MoKSYmISgwLHZlLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJnRoaXMuX3dpbmRvdy52aXN1YWxWaWV3cG9ydD8idmlzdWFsIjoicXVpcmtzIiwidmlzdWFsIj09PXRoaXMuX3ZpZXdwb3J0VHlwZT90aGlzLl92aWV3cG9ydD0oMCxyLmVuc3VyZSkodGhpcy5fd2luZG93LnZpc3VhbFZpZXdwb3J0KTp0aGlzLl92aWV3cG9ydD10aGlzLl93aW5kb3c7Y29uc3Qgcz10aGlzLl9sYXlvdXRTaXplU2Vuc29yPXRoaXMuX3dpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtzLmlkPSJsYXlvdXQtc2l6ZS1zZW5zb3IiLHMuc3R5bGUucG9zaXRpb249ImZpeGVkIixzLnN0eWxlLnRvcD0iMCIscy5zdHlsZS5sZWZ0PSIwIixzLnN0eWxlLnJpZ2h0PSIwIixzLnN0eWxlLmJvdHRvbT0iMCIscy5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixzLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsdGhpcy5faW5pdEZ1bGxzY3JlZW4oKX1hbGxvY2F0ZSgpe3RoaXMuZnJlZSgpO2NvbnN0IGU9dGhpcy5fd2luZG93LmRvY3VtZW50LHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTGlzdC5hZGQoImpzLXJvb3RyZXNpemVyX19jb250ZW50cyIpLHQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0LnN0eWxlLndpZHRoPSIxMDAlIix0LnN0eWxlLmhlaWdodD0iMTAwJSIsZS5ib2R5Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsdCksZS5ib2R5Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsdGhpcy5fbGF5b3V0U2l6ZVNlbnNvciksdGhpcy5fdmlzaWJpbGl0eUFwaT1uZXcgZmUuVmlzaWJpbGl0eUFwaSh0aGlzLl93aW5kb3cuZG9jdW1lbnQpO2NvbnN0IHM9e2FsaXZlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksZnVsbHNjcmVlbmFibGU6bmV3IFAuV2F0Y2hlZFZhbHVlKCEwKSxjb250YWluZXI6bmV3IFAuV2F0Y2hlZFZhbHVlKHQpLHdpZHRoOm5ldyBQLldhdGNoZWRWYWx1ZSxoZWlnaHQ6bmV3IFAuV2F0Y2hlZFZhbHVlLGF2YWlsV2lkdGg6bmV3IFAuV2F0Y2hlZFZhbHVlLGF2YWlsSGVpZ2h0Om5ldyBQLldhdGNoZWRWYWx1ZSx2aXNpYmxlOnRoaXMuX3Zpc2liaWxpdHlBcGkuaXNWaXNpYmxlLGZ1bGxzY3JlZW46dGhpcy5fZnVsbHNjcmVlbkFwaS5pc0Z1bGxzY3JlZW4scmVtb3ZlOigpPT57cy5hbGl2ZS5zZXRWYWx1ZSghMSl9LGF0dGFjaDooKT0+e3MuYWxpdmUuc2V0VmFsdWUoITEpLHRoaXMuX3dpbmRvdy5jbG9zZSgpfSxyZXF1ZXN0RnVsbHNjcmVlbjooKT0+e3RoaXMuX3JlcXVlc3RGdWxsc2NyZWVuKCl9LGV4aXRGdWxsc2NyZWVuOigpPT57dGhpcy5fZXhpdEZ1bGxzY3JlZW4oKX19O3JldHVybiBzLmFsaXZlLnN1YnNjcmliZSgoZT0+e2V8fHMhPT10aGlzLl9hcmVhfHx0aGlzLmZyZWUoKX0pKSx0aGlzLl9hcmVhPXMsdGhpcy5fcmVzaXplSGFuZGxlcj0oKT0+e2NvbnN0IGU9dGhpcy5fd2lkdGgocyl8fDgwMCx0PXRoaXMuX2hlaWdodChzKXx8NjAwO3MuYXZhaWxIZWlnaHQuc2V0VmFsdWUodCkscy5hdmFpbFdpZHRoLnNldFZhbHVlKGUpLHMuaGVpZ2h0LnNldFZhbHVlKHQpLHMud2lkdGguc2V0VmFsdWUoZSl9LHRoaXMuX2FyZWEuaGVpZ2h0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVEb2N1bWVudEhlaWdodCx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fcmVzaXplSGFuZGxlcigpLHRoaXMuX3ZpZXdwb3J0LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplSGFuZGxlciksbmV3IG1lLlJlc2l6ZXJEZXRhY2hlclN0YXRlKHMpLmJyaWRnZSgpfWZyZWUoKXtpZih0aGlzLl9yZXNpemVIYW5kbGVyJiYodGhpcy5fdmlld3BvcnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9yZXNpemVIYW5kbGVyKSx0aGlzLl9yZXNpemVIYW5kbGVyPXZvaWQgMCksdGhpcy5fdmlzaWJpbGl0eUFwaSYmKHRoaXMuX3Zpc2liaWxpdHlBcGkuZGVzdHJveSgpLHRoaXMuX3Zpc2liaWxpdHlBcGk9dm9pZCAwKSx0aGlzLl9hcmVhKXtjb25zdCBlPXRoaXMuX2FyZWE7dGhpcy5fYXJlYT12b2lkIDAsZS5oZWlnaHQudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRG9jdW1lbnRIZWlnaHQpLGUuYWxpdmUuc2V0VmFsdWUoITEpO2NvbnN0IHQ9ZS5jb250YWluZXIudmFsdWUoKSxzPXQ/LnBhcmVudEVsZW1lbnQ7cyYmKHMucmVtb3ZlQ2hpbGQodCkscy5yZW1vdmVDaGlsZCh0aGlzLl9sYXlvdXRTaXplU2Vuc29yKSl9fV9oZWlnaHQoZSl7aWYoInZpc3VhbCI9PT10aGlzLl92aWV3cG9ydFR5cGUpcmV0dXJuIHRoaXMuX2xheW91dFNpemVTZW5zb3IuY2xpZW50SGVpZ2h0O3JldHVybiBlLmNvbnRhaW5lci52YWx1ZSgpLmNsaWVudEhlaWdodH1fd2lkdGgoZSl7cmV0dXJuIGUuY29udGFpbmVyLnZhbHVlKCkuY2xpZW50V2lkdGh9X3JlcXVlc3RGdWxsc2NyZWVuKCl7dGhpcy5fZnVsbHNjcmVlbkFwaS5lbnRlcigpfV9leGl0RnVsbHNjcmVlbigpe3RoaXMuX2Z1bGxzY3JlZW5BcGkuZXhpdCgpfV9pbml0RnVsbHNjcmVlbigpe3RoaXMuX2Z1bGxzY3JlZW5BcGkuaXNGdWxsc2NyZWVuLnN1YnNjcmliZSgoZT0+e3RoaXMuX3Jlc2l6ZUhhbmRsZXImJnRoaXMuX3Jlc2l6ZUhhbmRsZXIoKX0pKX19KHdpbmRvdyksanQ9bmV3IGNsYXNzewpjb25zdHJ1Y3RvcihlKXt0aGlzLl9wcm9jZXNzVmlzaWJpbGl0eT1lPT57Y29uc3QgdD1lLmNvbnRhaW5lci52YWx1ZSgpO3JldHVybiB0aGlzLmFmZmVjdHNMYXlvdXQoZS5uYW1lKT8odCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLCExKSwhMCk6KHQmJnQuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhMCksITEpfSx0aGlzLl9zZXRXaWR0aD0oZSx0LHMpPT57bGV0IGk9czt0aGlzLl9mdWxsc2NyZWVuQXJlYSE9PWUubmFtZSYmKGUuYXZhaWxXaWR0aC5zZXRWYWx1ZShzKSxlLmNhbk5lZ290aWF0ZS53aWR0aCYmKGk9YmUocyxlLm5lZ290aWF0aW9ucy53aWR0aCkpKSx0fHwoaT0wKTtjb25zdCBuPWUuY29udGFpbmVyLnZhbHVlKCk7cmV0dXJuIG4mJnQmJihuLnN0eWxlLndpZHRoPWkrInB4IiksZS53aWR0aC5zZXRWYWx1ZShpKSxpfSx0aGlzLl9zZXRIZWlnaHQ9KGUsdCxzKT0+e2xldCBpPXM7dGhpcy5fZnVsbHNjcmVlbkFyZWEhPT1lLm5hbWUmJihlLmF2YWlsSGVpZ2h0LnNldFZhbHVlKHMpLGUuY2FuTmVnb3RpYXRlLmhlaWdodCYmKGk9YmUocyxlLm5lZ290aWF0aW9ucy5oZWlnaHQpKSksdHx8KGk9MCk7Y29uc3Qgbj1lLmNvbnRhaW5lci52YWx1ZSgpO3JldHVybiBuJiZ0JiYobi5zdHlsZS5oZWlnaHQ9aSsicHgiKSxlLmhlaWdodC5zZXRWYWx1ZShpKSxpfTtjb25zdCB0PWUuY29udGFpbmVyLnZhbHVlKCk7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJicmlkZ2UuY29udGFpbmVyLnZhbHVlKCkgbXVzdCBiZSBhbiBlbGVtZW50Iik7dGhpcy5fY29udGFpbmVyPXQsdGhpcy5fYXZhaWxhYmxlQXJlYXM9WyJsZWZ0IiwidHJhZGluZ3BhbmVsIiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJjZW50ZXIiLCJ0b3BsZWZ0IiwiZXh0cmF0b3AiLCJhbmFseXNpcyJdLHRoaXMuX2FyZWFzPXt9LHRoaXMuX2JyaWRnZT1lLHRoaXMuX3dpZHRoPWUud2lkdGgsdGhpcy5faGVpZ2h0PWUuaGVpZ2h0LHRoaXMuX3dpZHRoLnN1YnNjcmliZSgoKCk9PnRoaXMucmVjYWxjdWxhdGUoKSkpLHRoaXMuX2hlaWdodC5zdWJzY3JpYmUoKCgpPT50aGlzLnJlY2FsY3VsYXRlKCkpKSx0aGlzLl9icmlkZ2UudmlzaWJsZS5zdWJzY3JpYmUoKCgpPT50aGlzLl91cGRhdGVWaXNpYmlsaXR5KCkpKSx0aGlzLl9icmlkZ2UuZnVsbHNjcmVlbi5zdWJzY3JpYmUoKCgpPT50aGlzLl9vblBhcmVudEZ1bGxzY3JlZW5DaGFuZ2UoKSkpLHRoaXMucmVjYWxjdWxhdGUoKX1hbGxvY2F0ZShlKXtjb25zdCB0PWUmJmUuYXJlYU5hbWU7aWYoLTE9PT10aGlzLl9hdmFpbGFibGVBcmVhcy5pbmRleE9mKHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biBvcHRpb25zLmFyZWFOYW1lIik7dGhpcy5mcmVlKHQpO2NvbnN0IHM9dGhpcy5fY3JlYXRlRE9NKHQpLGk9e25hbWU6dCxjYW5OZWdvdGlhdGU6e3dpZHRoOiJsZWZ0Ij09PXR8fCJyaWdodCI9PT10fHwidHJhZGluZ3BhbmVsIj09PXR8fCJ0b3BsZWZ0Ij09PXQsaGVpZ2h0OiJ0b3AiPT09dHx8ImJvdHRvbSI9PT10fHwidG9wbGVmdCI9PT10fHwiZXh0cmF0b3AiPT09dH0sbmVnb3RpYXRpb25zOnt3aWR0aDpbXSxoZWlnaHQ6W119LHJlbW92ZTooKT0+e2Zvcihjb25zdCBlIGluIHRoaXMuX2FyZWFzKXRoaXMuX2FyZWFzW2VdPT09aSYmdGhpcy5mcmVlKGUpfSxuZWdvdGlhdGVXaWR0aDplPT57aWYoIWkuY2FuTmVnb3RpYXRlLndpZHRoKXJldHVybjtjb25zdCB0PVNlKGUpO3dlKGkubmVnb3RpYXRpb25zLndpZHRoLHQpfHwoaS5uZWdvdGlhdGlvbnMud2lkdGg9dCx0aGlzLnJlY2FsY3VsYXRlKCkpfSxuZWdvdGlhdGVIZWlnaHQ6ZT0+e2lmKCFpLmNhbk5lZ290aWF0ZS5oZWlnaHQpcmV0dXJuO2NvbnN0IHQ9U2UoZSk7d2UoaS5uZWdvdGlhdGlvbnMuaGVpZ2h0LHQpfHwoaS5uZWdvdGlhdGlvbnMuaGVpZ2h0PXQsdGhpcy5yZWNhbGN1bGF0ZSgpKX0scmVxdWVzdEZ1bGxzY3JlZW46KCk9Pnt0aGlzLl9mdWxsc2NyZWVuQXJlYXx8KCJyaWdodCIhPT10JiYiY2VudGVyIiE9PXR8fCh0aGlzLl9mdWxsc2NyZWVuQXJlYT10KSwiY2VudGVyIj09PXQmJnRoaXMuX2JyaWRnZS5yZXF1ZXN0RnVsbHNjcmVlbigpLHRoaXMuX3VwZGF0ZUZ1bGxzY3JlZW4oKSl9LGV4aXRGdWxsc2NyZWVuOigpPT57dD09PXRoaXMuX2Z1bGxzY3JlZW5BcmVhJiYodGhpcy5fZnVsbHNjcmVlbkFyZWE9dm9pZCAwLCJjZW50ZXIiPT09dCYmdGhpcy5fYnJpZGdlLmV4aXRGdWxsc2NyZWVuKCksdGhpcy5fdXBkYXRlRnVsbHNjcmVlbigpKX0sd2lkdGg6bmV3IFAuV2F0Y2hlZFZhbHVlLGhlaWdodDpuZXcgUC5XYXRjaGVkVmFsdWUsYXZhaWxXaWR0aDpuZXcgUC5XYXRjaGVkVmFsdWUsYXZhaWxIZWlnaHQ6bmV3IFAuV2F0Y2hlZFZhbHVlLGFsaXZlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksY29udGFpbmVyOm5ldyBQLldhdGNoZWRWYWx1ZShzKSx2aXNpYmxlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksZnVsbHNjcmVlbjpuZXcgUC5XYXRjaGVkVmFsdWUoITEpLGZ1bGxzY3JlZW5hYmxlOm5ldyBQLldhdGNoZWRWYWx1ZSgicmlnaHQiPT09dHx8ImNlbnRlciI9PT10KSxyZFN0YXRlOm5ldyBtZS5SZXNpemVyRGV0YWNoZXJTdGF0ZX07cmV0dXJuIGkucmRTdGF0ZS5wdXNoT3duZXIoaSksdGhpcy5fYXJlYXNbdF09aSxpLnJkU3RhdGUub3duZXIuc3Vic2NyaWJlKChlPT57Y29uc3Qgcz1pLmNvbnRhaW5lci52YWx1ZSgpO2lmKGUhPT1pKXMmJihzLmlubmVySFRNTD0iIixzLnBhcmVudEVsZW1lbnQmJnMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChzKSk7ZWxzZXtsZXQgZT1udWxsO2ZvcihsZXQgcz10aGlzLl9hdmFpbGFibGVBcmVhcy5pbmRleE9mKHQpO3MtLTspe2NvbnN0IHQ9dGhpcy5fYXZhaWxhYmxlQXJlYXNbc107aWYodGhpcy5hZmZlY3RzTGF5b3V0KHQpKXtlPXRoaXMuX2FyZWFzW3RdLmNvbnRhaW5lci52YWx1ZSgpO2JyZWFrfX1zJiYoZSYmcy5wYXJlbnRFbGVtZW50P3MuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJhZnRlcmVuZCIsZSk6dGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHMpKX10aGlzLnJlY2FsY3VsYXRlKCl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksCmkucmRTdGF0ZS5icmlkZ2UoKX1mcmVlKGUpe2NvbnN0IHQ9dGhpcy5fYXJlYXNbZV07aWYoIXQpcmV0dXJuO3RoaXMuX2FyZWFzW2VdPXZvaWQgMDtjb25zdCBzPXQuY29udGFpbmVyLnZhbHVlKCk7cyYmcy5wYXJlbnRFbGVtZW50JiZzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQocyksdC5hbGl2ZS5zZXRWYWx1ZSghMSl9cmVjYWxjdWxhdGUoKXtjb25zdCBlPXt9O3RoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuPWU7Y29uc3QgdD10aGlzLl9hcmVhcy50b3BsZWZ0LHM9dGhpcy5fYXJlYXMubGVmdCxpPXRoaXMuX2FyZWFzLnRyYWRpbmdwYW5lbCxuPXRoaXMuX2FyZWFzLnJpZ2h0LHI9dGhpcy5fYXJlYXMudG9wLG89dGhpcy5fYXJlYXMuYm90dG9tLGE9dGhpcy5fYXJlYXMuY2VudGVyLGw9dGhpcy5fYXJlYXMuZXh0cmF0b3AsdT10aGlzLl9hcmVhcy5hbmFseXNpcyxjPXRoaXMuX3dpZHRoLnZhbHVlKCksZD10aGlzLl9oZWlnaHQudmFsdWUoKTtsZXQgaD0wLHA9MCxtPTAsXz0wLGc9MCx5PTAsZj0wLHY9MDtpZihlPT09dGhpcy5fcmVjYWxjU2luZ2xlUnVuVG9rZW4mJmwpe2NvbnN0IGU9dGhpcy5fcHJvY2Vzc1Zpc2liaWxpdHkobCk7dj10aGlzLl9zZXRIZWlnaHQobCxlLGQpLHRoaXMuX3NldFdpZHRoKGwsZSxjKX1pZihlPT09dGhpcy5fcmVjYWxjU2luZ2xlUnVuVG9rZW4mJnQpe2NvbnN0IGU9dGhpcy5fcHJvY2Vzc1Zpc2liaWxpdHkodCk7Zj10aGlzLl9zZXRIZWlnaHQodCxlLGQpLHk9dGhpcy5fc2V0V2lkdGgodCxlLGMpO2NvbnN0IHM9dC5jb250YWluZXIudmFsdWUoKTtlJiZzJiYocy5zdHlsZS50b3A9disicHgiKX1sZXQgYj0wO2lmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmcil7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eShyKSx0PXIuY29udGFpbmVyLnZhbHVlKCk7ZSYmdCYmKHQuc3R5bGUubGVmdD15KyJweCIsdC5zdHlsZS50b3A9disicHgiKTtjb25zdCBzPWMteTt0aGlzLl9zZXRXaWR0aChyLGUscyksaD10aGlzLl9zZXRIZWlnaHQocixlLGQpLGgmJihiPTEpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmcyl7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eShzKSx0PU1hdGgubWF4KGYsaCk7bT10aGlzLl9zZXRXaWR0aChzLGUsYyksbSYmKG0rPTQpLG0mJjE9PT1iJiYoYj00KTtjb25zdCBpPXMuY29udGFpbmVyLnZhbHVlKCk7ZSYmaSYmKGkuc3R5bGUudG9wPXQrditiKyJweCIpLHRoaXMuX3NldEhlaWdodChzLGUsZC10LXYtYil9aWYoZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZpKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KGkpO2xldCB0PWMtbTtUZXx8KHQtPTMwMCksZz10aGlzLl9zZXRXaWR0aChpLGUsdCksZyYmMT09PWImJihiPTQpLHRoaXMuX3NldEhlaWdodChpLGUsZC12LWgtYil9aWYoZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZuKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KG4pO2xldCB0PWMtbS1nO1RlfHwodC09MzAwKSxfPXRoaXMuX3NldFdpZHRoKG4sZSx0KSxfJiYxPT09YiYmKGI9NCksdGhpcy5fc2V0SGVpZ2h0KG4sZSxkLXYtaC1iKTtjb25zdCBzPW4uY29udGFpbmVyLnZhbHVlKCk7ZSYmcyYmKHMuc3R5bGUudG9wPWgrditiKyJweCIpfWNvbnN0IFM9ZytfLHc9Uz80OjA7bGV0IFA9MCxUPWMtbS1nLV8tdztjb25zdCBDPUJvb2xlYW4oZ3x8IVMpO2lmKCFfJiZnJiYoVCs9NCksZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZvKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KG8pLHQ9by5jb250YWluZXIudmFsdWUoKTtlJiZ0JiYodC5zdHlsZS5sZWZ0PW0rInB4Iix0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCFtKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIixDKSksdGhpcy5fc2V0V2lkdGgobyxlLFQpO2NvbnN0IHM9ZC12O1A9TWF0aC5taW4oMzAwLHMtMCk7Y29uc3QgaT10aGlzLl9zZXRIZWlnaHQobyxlLHMtMCk7cD0wPT09aT8wOmkrNH1jb25zdCBFPUJvb2xlYW4oaCYmKG18fFMpKTtpZih0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgibGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyIsRSksUGUuc2V0TmV3QmxhY2tDb2xvciYmdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoImJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIiwhMCksZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZhKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KGEpLHQ9YS5jb250YWluZXIudmFsdWUoKTtlJiZ0JiYodC5zdHlsZS5sZWZ0PW0rInB4Iix0LnN0eWxlLnRvcD1oK3YrYisicHgiLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsIXB8fCFtKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzIixDfHwhcCksdC5jbGFzc0xpc3QudG9nZ2xlKCJuby1ib3JkZXItdG9wLWxlZnQtcmFkaXVzIixCb29sZWFuKCFtJiZTKSksdC5jbGFzc0xpc3QudG9nZ2xlKCJuby1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyIsQykpLHRoaXMuX3NldFdpZHRoKGEsZSxUKTtjb25zdCBzPWQtaC1wLXYtYjt0aGlzLl9zZXRIZWlnaHQoYSxlLE1hdGgubWF4KHMsUCkpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmdSl7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eSh1KSx0PXUuY29udGFpbmVyLnZhbHVlKCk7ZSYmdCYmKHQuc3R5bGUubGVmdD0iMHB4Iix0LnN0eWxlLnRvcD1oK3YrYisicHgiLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsITApLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLEN8fCFwKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCEwKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIixDKSk7Y29uc3Qgcz1jLV8tdwo7dGhpcy5fc2V0V2lkdGgodSxlLHMpO2NvbnN0IGk9ZC1oLXYtYjt0aGlzLl9zZXRIZWlnaHQodSxlLGkpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmaSYmdGhpcy5hZmZlY3RzTGF5b3V0KCJ0cmFkaW5ncGFuZWwiKSl7Y29uc3QgZT1pLmNvbnRhaW5lci52YWx1ZSgpO2UmJihlLnN0eWxlLnJpZ2h0PWcmJl8/YCR7Xys0fXB4YDpgJHtffXB4YCxlLnN0eWxlLnRvcD12K2grYisicHgiLGUuc3R5bGUuYm9yZGVyVG9wUmlnaHRSYWRpdXM9RSYmXz8iNHB4IjoiMHB4Iil9ZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZ0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCl9YWZmZWN0c0xheW91dChlKXtjb25zdCB0PXRoaXMuX2FyZWFzW2VdO2lmKCF0KXJldHVybiExO2lmKHQucmRTdGF0ZS5vd25lci52YWx1ZSgpIT09dClyZXR1cm4hMTtpZih0aGlzLl9mdWxsc2NyZWVuQXJlYSYmdGhpcy5fZnVsbHNjcmVlbkFyZWEhPT1lKXJldHVybiBJZShlKTtpZih0aGlzLl93aWR0aC52YWx1ZSgpPD01Njd8fHRoaXMuX2hlaWdodC52YWx1ZSgpPD00NDUmJiFFZSl7aWYoIVsiY2VudGVyIiwidG9wIiwibGVmdCIsInRvcGxlZnQiLCJleHRyYXRvcCIsImFuYWx5c2lzIl0uaW5jbHVkZXMoZSkpcmV0dXJuITF9cmV0dXJuITB9X3VwZGF0ZVZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX2JyaWRnZS52aXNpYmxlLnZhbHVlKCk7Zm9yKGxldCB0PTA7dDx0aGlzLl9hdmFpbGFibGVBcmVhcy5sZW5ndGg7dCsrKXtjb25zdCBzPXRoaXMuX2F2YWlsYWJsZUFyZWFzW3RdLGk9dGhpcy5fYXJlYXNbc107aSYmKGUmJnRoaXMuYWZmZWN0c0xheW91dChzKT9pLnZpc2libGUuc2V0VmFsdWUoITApOmkudmlzaWJsZS5zZXRWYWx1ZSghMSkpfX1fb25QYXJlbnRGdWxsc2NyZWVuQ2hhbmdlKCl7dGhpcy5fYnJpZGdlLmZ1bGxzY3JlZW4udmFsdWUoKXx8KHRoaXMuX2Z1bGxzY3JlZW5BcmVhPXZvaWQgMCx0aGlzLl91cGRhdGVGdWxsc2NyZWVuKCkpfV91cGRhdGVGdWxsc2NyZWVuKCl7Y29uc3QgZT12b2lkIDAhPT10aGlzLl9mdWxsc2NyZWVuQXJlYTtmb3IobGV0IHQ9MDt0PHRoaXMuX2F2YWlsYWJsZUFyZWFzLmxlbmd0aDt0Kyspe2NvbnN0IHM9dGhpcy5fYXZhaWxhYmxlQXJlYXNbdF0saT10aGlzLl9hcmVhc1tzXTtpZighaSljb250aW51ZTtpZihzPT09dGhpcy5fZnVsbHNjcmVlbkFyZWEpe2kuZnVsbHNjcmVlbi5zZXRWYWx1ZSghMCk7Y29udGludWV9aS5mdWxsc2NyZWVuLnNldFZhbHVlKCExKTtjb25zdCBuPWkuY29udGFpbmVyLnZhbHVlKCk7biYmbi5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLGUmJiFJZShzKSl9dGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpLHRoaXMucmVjYWxjdWxhdGUoKX1fY3JlYXRlRE9NKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuY2xhc3NMaXN0LmFkZCgibGF5b3V0X19hcmVhLS0iK2UpLHQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIiwidHJhZGluZ3BhbmVsIj09PWUmJih0LnN0eWxlLmJvcmRlclRvcFJpZ2h0UmFkaXVzPSI0cHgiKSwiYm90dG9tIj09PWU/dC5zdHlsZS5ib3R0b209IjAiOnQuc3R5bGUudG9wPSIwIiwicmlnaHQiPT09ZXx8InRyYWRpbmdwYW5lbCI9PT1lP3Quc3R5bGUucmlnaHQ9IjAiOnQuc3R5bGUubGVmdD0iMCIsdH19KEh0LmFsbG9jYXRlKCkpLCR0PWFzKE10LmhpZGVfdG9wX3Rvb2xiYXIpP251bGw6anQuYWxsb2NhdGUoe2FyZWFOYW1lOiJ0b3AifSkscXQ9dm9pZCAwPT09TXQuaGlkZV9zaWRlX3Rvb2xiYXJ8fCtNdC5oaWRlX3NpZGVfdG9vbGJhcj9udWxsOmp0LmFsbG9jYXRlKHthcmVhTmFtZToibGVmdCJ9KSxLdD1qdC5hbGxvY2F0ZSh7YXJlYU5hbWU6ImNlbnRlciJ9KSxZdD16dC5sZW5ndGg/anQuYWxsb2NhdGUoe2FyZWFOYW1lOiJyaWdodCJ9KTpudWxsLEd0PW5ldyBjbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9hbmFseXNpc1BhbmVsVmlzaWJpbGl0eT1uZXcgUC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2FuYWx5c2lzVmlld1NldD1uZXcgT2UoKGU9Pih7bGF5b3V0OnRoaXMscm9vdDp0aGlzLl9hbmFseXNpc0FyZWEuY29udGFpbmVyLnZhbHVlKCksaGVhZGVyOiJ3b3Jrc3BhY2UifSkpLChlPT5CZS5hY3R1YWxDb250ZW50LnNldFZhbHVlKGUpKSksdGhpcy5fY2hhcnRSZXNpemVyPWUsdGhpcy5fYW5hbHlzaXNBcmVhPXRoaXMuX2NoYXJ0UmVzaXplci5hbGxvY2F0ZSh7YXJlYU5hbWU6ImFuYWx5c2lzIn0pLHRoaXMuX2NhblNob3dGbG9hdGluZ1Rvb2xiYXJzPSgwLEZlLmNvbWJpbmUpKChlPT5udWxsPT09ZSksQmUuYWN0dWFsQ29udGVudC53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2FuYWx5c2lzUGFuZWxWaXNpYmlsaXR5LnN1YnNjcmliZSgoZT0+e3RoaXMuX2FuYWx5c2lzQXJlYS5jb250YWluZXIudmFsdWUoKS5zdHlsZS5kaXNwbGF5PWU/ImdyaWQiOiJub25lIn0pLHtjYWxsV2l0aExhc3Q6ITB9KSxCZS5hY3R1YWxDb250ZW50LnN1YnNjcmliZSgoZT0+e3RoaXMuX2FuYWx5c2lzUGFuZWxWaXNpYmlsaXR5LnNldFZhbHVlKG51bGwhPT1lKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX1hbmFseXNpc1BhbmVsVmlzaWJsZSgpe3JldHVybiB0aGlzLl9hbmFseXNpc1BhbmVsVmlzaWJpbGl0eX1jYW5TaG93RmxvYXRpbmdUb29sYmFycygpe3JldHVybiB0aGlzLl9jYW5TaG93RmxvYXRpbmdUb29sYmFyc31yZWdpc3RlckFuYWx5c2lzVmlldyhlLHQpe3RoaXMuX2FuYWx5c2lzVmlld1NldC5yZWdpc3RlclZpZXcoZSx0KX1oYXNBbmFseXNpc1ZpZXcoZSl7cmV0dXJuIHRoaXMuX2FuYWx5c2lzVmlld1NldC5oYXNWaWV3KGUpfXNob3dBbmFseXNpc1ZpZXcoZSx0KXt0aGlzLl9hbmFseXNpc1ZpZXdTZXQuc2hvd1ZpZXcoZSx0KX19KGp0KTtpZihmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7ZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZmluYW5jaWFscyIsKGFzeW5jIGU9PmV0LmdldEluc3RhbmNlKCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoInRlY2huaWNhbHMiLChhc3luYyBlPT5aZS5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSwKZS5yZWdpc3RlckFuYWx5c2lzVmlldygic2Vhc29uYWxzIiwoYXN5bmMgZT0+dHQuZ2V0SW5zdGFuY2UoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiYW5hbHlzaXMiLChhc3luYyBlPT5zdC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJmb3JlY2FzdCIsKGFzeW5jIGU9Pml0LmdldEluc3RhbmNlKCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoIm9wdGlvbnMiLChhc3luYyBlPT5ydC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJlY29ub215LWluZGljYXRvcnMiLChhc3luYyBlPT5sdCgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJib25kcyIsKGFzeW5jIGU9PmN0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoImRvY3VtZW50cyIsKGFzeW5jIGU9Pmh0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoIm5ld3MiLChhc3luYyBlPT5tdCgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJldGZzIiwoYXN5bmMgZT0+Z3QoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZm9yd2FyZC1jdXJ2ZSIsKGFzeW5jIGU9PmZ0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoInlpZWxkLWN1cnZlIiwoYXN5bmMgZT0+YnQuZ2V0SW5zdGFuY2UoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiY29udHJhY3RzIiwoYXN5bmMgZT0+d3QoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiY29tbXVuaXR5IiwoYXN5bmMgZT0+VHQoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZGVyaXZhdGl2ZXMiLChhc3luYyBlPT5udC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKX0pKGUpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoImNoYXJ0LXRhYmxlLXZpZXciLChhc3luYyBlPT56ZS5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKX0oR3QpLEFlLmN1cnJlbnRMYXlvdXQuc2V0VmFsdWUoR3QpLCgwLHhlLnNldFN1cHBvcnRQb3J0YWxQcm9ibGVtc0hvc3QpKE10LnN1cHBvcnRfaG9zdD8/IiIpLGt0KXtjb25zdCBlPShKdD1rdCxMZS5maW5kKChlPT5lLnZhbHVlLnZhbHVlPT09SnQpKSk7ZSYmKE10LnJhbmdlPWt0LE10LmludGVydmFsPWUudGFyZ2V0UmVzb2x1dGlvbil9dmFyIEp0O2xldCBYdCxRdDtYdD12b2lkIDA9PT1NdC5pbnRlcnZhbD92b2lkIDA9PT1NdC5zdHlsZT9MdC5kZWZfaW50ZXJ2YWw/PyIxIjooMCxTLmdldERlZmF1bHRSZXNvbHV0aW9uKSgoMCx2LmlzUmFuZ2VTdHlsZSkocGFyc2VJbnQoTXQuc3R5bGUpKSk6TXQuaW50ZXJ2YWwsUXQ9dm9pZCAwPT09TXQuc3R5bGU/dm9pZCAwPT09TXQuaW50ZXJ2YWw/THQuZGVmX3N0eWxlPz8xOigwLHYuZ2V0RGVmYXVsdFN0eWxlKShiLkludGVydmFsLmlzUmFuZ2UoTXQuaW50ZXJ2YWwpKTpwYXJzZUludChNdC5zdHlsZSk7Y29uc3QgWnQ9d2luZG93LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1uZXcgdS5DaGFydFdpZGdldENvbGxlY3Rpb24oe3Jlc2l6ZXJCcmlkZ2U6S3QscGFkZGluZzo1LGVkZ2U6TnVtYmVyKE10LnBhZGRpbmcpfHwwLHB1Ymxpc2hlZENoYXJ0c0VuYWJsZWQ6ITEsc2F2ZUNoYXJ0RW5hYmxlZDohMSxleHRlcm5hbFNlcnZpY2VzOnt0cmFkaW5nOnt0cmFkZWRDb250ZXh0TGlua2luZzpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCksdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZTpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCksdHJhZGluZ0ZlYXR1cmVGbGFnc1NlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHNlbGxCdXlCdXR0b25zVmlzaWJpbGl0eVNlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHRyYWRpbmdCcm9rZXJTZXJ2aWNlOm5ldyBQLldhdGNoZWRWYWx1ZShudWxsKSx0cmFkaW5nQ2hhcnRDb250ZXh0TWVudVNlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHRyYWRpbmdQbGFjZU9yZGVyU2VydmljZTpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCl9fSx3aWRnZXRPcHRpb25zOntvbldpZGdldDohMCx1c2VVc2VyQ2hhcnRQcmVmZXJlbmNlczohYXMoTXQuZG9Ob3RTdG9yZVNldHRpbmdzLCExKSxhZGRUb1dhdGNobGlzdEVuYWJsZWQ6ITEscHJvcGVydHlQYWdlc0VuYWJsZWQ6ITEsY2hhcnRFdmVudHNFbmFibGVkOiExLG5ld3NOb3RpZmljYXRpb25zRW5hYmxlZDohMSxlc2RFbmFibGVkOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVzZG9ud2lkZ2V0Iiksc291cmNlU3RhdHVzZXNXaWRnZXQ6e2Vycm9yU29sdXRpb246ITF9LG1hcmtldFN0YXR1c1dpZGdldEVuYWJsZWQ6ITAsY2hhcnRXYXJuaW5nV2lkZ2V0OntzdWJzY3JpcHRpb25GdWxsSW5mbzohMX0sd2lkZ2V0Q3VzdG9tZXI6eHQsY3VzdG9tZXJSZWFkYWJsZU5hbWU6UnQsaGlkZUlkZWFzOiEwLGNvbnRyb2xCYXJFbmFibGVkOiEwLGFkZFZvbHVtZTohYXMoTXQuaGlkZV92b2x1bWUpLG11dGVTZXNzaW9uRXJyb3JzOiEoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJyZWZlcnJhbF9wcm9ncmFtX2Zvcl93aWRnZXRfb3duZXJzIiksZGVmU3ltYm9sOkJ0LGRlZkludGVydmFsOlh0LGRlZlN0eWxlOlF0LGRlZlNlc3Npb25JZDpEdCx0aW1lem9uZTpNdC50aW1lem9uZXx8THQuZGVmX3RpbWV6b25lLGRlZlRpbWVmcmFtZTprdCxpc0RyYXdpbmdUb29sYmFyVmlzaWJsZTprLmlzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlLHdhdGVybWFya0VuYWJsZWQ6ITAscGFuZUNvbnRleHRNZW51RW5hYmxlZDohMSxjb21wYXJlU3ltYm9sczpGdCx0aW1lU2NhbGVXaWRnZXQ6e2NvbnRleHRNZW51RW5hYmxlZDohMSx0aW1lem9uZU1lbnVFbmFibGVkOiExfSx0aW1lU2NhbGU6e3ByZXNlcnZlQmFyU3BhY2luZzohMCxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiExfSxsZWdlbmRXaWRnZXRFbmFibGVkOiFhcyhNdC5oaWRlX2xlZ2VuZCksbGVnZW5kV2lkZ2V0Ontjb250ZXh0TWVudTp7c2V0dGluZ3M6ITEsZnVuZGFtZW50YWxzOiExLApzaG93T3Blbk1hcmtldFN0YXR1czohMH19LGdvVG9EYXRlRW5hYmxlZDohMSxoYW5kbGVTY3JvbGw6e3ZlcnRUb3VjaERyYWc6YXMoTXQudmVydHRvdWNoZHJhZyksaG9yelRvdWNoRHJhZzphcyhNdC5ob3J6dG91Y2hkcmFnLCEwKX0saGFuZGxlU2NhbGU6e21vdXNlV2hlZWw6ImludmVzdG9wZWRpYSIhPT14dCYmImV1cmV4IiE9PXh0fSxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiEwLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMH0sc2VyaWVzQ29udHJvbEJhckVuYWJsZWQ6ISFWdCxzZXJpZXNDb250cm9sQmFyOnt0aW1lRnJhbWVzV2lkZ2V0RW5hYmxlZDohMCx0aW1lRnJhbWVzV2lkZ2V0Ontnb1RvRGF0ZUVuYWJsZWQ6ITEsYXZhaWxhYmxlVGltZUZyYW1lczp6fSx0aW1lV2lkZ2V0RW5hYmxlZDohMCx0aW1lV2lkZ2V0Ont0aW1lem9uZU1lbnVFbmFibGVkOiExfSxhZGp1c3RGb3JEaXZpZGVuZHNCdXR0b25FbmFibGVkOiEwLHNlc3Npb25JZEJ1dHRvbkVuYWJsZWQ6Qm9vbGVhbihEdCksYmFja0FkanVzdG1lbnRCdXR0b25FbmFibGVkOiExLHNldHRsZW1lbnRBc0Nsb3NlQnV0dG9uRW5hYmxlZDohMSxwZXJjZW50YWdlU2NhbGVCdXR0b25FbmFibGVkOiExLGxvZ1NjYWxlQnV0dG9uRW5hYmxlZDohMSxhdXRvU2NhbGVCdXR0b25FbmFibGVkOiExLGxheW91dEZ1bGxzY3JlZW5CdXR0b25FbmFibGVkOiEwLG1vYmlsZUNoYW5nZUxheW91dEVuYWJsZWQ6ITF9LG1vYmlsZUZvcmNlQ2hhcnRNYXhpbWl6ZUVuYWJsZWQ6ITF9KTtsZXQgZXM9ITE7WnQub25BYm91dFRvQmVEZXN0cm95ZWQuc3Vic2NyaWJlKG51bGwsKCgpPT57ZXM9ITB9KSwhMCksTXQuc3R1ZGllc19vdmVycmlkZXMmJlp0LmFwcGx5U3R1ZGllc092ZXJyaWRlcyhKU09OLnBhcnNlKE10LnN0dWRpZXNfb3ZlcnJpZGVzKSksUHJvbWlzZS5hbGwoW3MuZSg4OTYxOCkscy5lKDgwNjM5KSxzLmUoNDk4ODMpXSkudGhlbihzLmJpbmQocyw5MDg0NTQpKS50aGVuKChlPT57ZS5hZGRCcmFuZGluZ1NvdXJjZShadCl9KSk7Y29uc3QgdHM9WnQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTtpZih3aW5kb3cuY2hhcnRXaWRnZXQ9dHMsIVp0LnJlYWRPbmx5KCkpe2NvbnN0IGU9bmV3IFIoWnQpO3dpbmRvdy5zdHVkeU1hcmtldD1uZXcgQyhlLHtvbldpZGdldDohMH0pfWxldCBzcztpZihwLmxpbmtpbmcuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKFp0KSxIKHEuTmFtZXMuV2lkZ2V0TG9hZCxNdC5mcmFtZUVsZW1lbnRJZHx8bnVsbCx2b2lkIDApLE10LnRoZW1lKXtjb25zdCBlPU10LnRoZW1lLnRvTG93ZXJDYXNlKCk7aWYoVi50aGVtZXNbZV0peygwLEEuc2V0VGhlbWUpKGUpO2NvbnN0IHQ9Vi5nZXRTdGRUaGVtZShlKTt0JiZ0LmNvbnRlbnQmJihzcz10LmNvbnRlbnQsTXQuc3R5bGUmJihzcy5tYWluU291cmNlUHJvcGVydGllcy5zdHlsZT1wYXJzZUludChNdC5zdHlsZSkpLCgwLGEuYXBwbHlEZWZhdWx0c092ZXJyaWRlcykoc3Mse21haW5TZXJpZXNQcm9wZXJ0aWVzOiJtYWluU291cmNlUHJvcGVydGllcyJ9LCEwKSl9fWxldCBpcz0hMSxucz0hMTtmdW5jdGlvbiBycyhlKXtyZXR1cm4oMCxNZS5pc1BpbmVJZFN0cmluZykoZSk/e3R5cGU6InBpbmUiLHBpbmVJZDplfTp7dHlwZToiamF2YSIsc3R1ZHlJZDplfX1mdW5jdGlvbiBvcygpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5sb2FkaW5nLWluZGljYXRvciIpLmZvckVhY2goKGU9PntlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJihlLnN0eWxlLmRpc3BsYXk9Im5vbmUiKX0pKX1mdW5jdGlvbiBhcyhlLHQ9ITEpe3JldHVybiExPT09ZXx8ITA9PT1lP2U6IjEiPT09ZXx8MT09PWV8fCJ0cnVlIj09PWV8fCIwIiE9PWUmJjAhPT1lJiYiZmFsc2UiIT09ZSYmdH10cy53aXRoTW9kZWwobnVsbCwoZnVuY3Rpb24oKXtjb25zdCBlPXRzLm1vZGVsKCkubWFpblNlcmllcygpO3RzLmFwcGx5T3ZlcnJpZGVzKHsibWFpblNlcmllc1Byb3BlcnRpZXMuc2hvd0NvdW50ZG93biI6ITF9KSxzcyYmdHMubW9kZWwoKS5tb2RlbCgpLnJlc3RvcmVUaGVtZShzcywhMSksTXQuYmFja2dyb3VuZENvbG9yJiZ0cy5hcHBseU92ZXJyaWRlcyh7InBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiOk10LmJhY2tncm91bmRDb2xvciwicGFuZVByb3BlcnRpZXMuYmFja2dyb3VuZFR5cGUiOkRlLkNvbG9yVHlwZS5Tb2xpZH0pLE10LmdyaWRDb2xvciYmdHMuYXBwbHlPdmVycmlkZXMoeyJwYW5lUHJvcGVydGllcy52ZXJ0R3JpZFByb3BlcnRpZXMuY29sb3IiOk10LmdyaWRDb2xvciwicGFuZVByb3BlcnRpZXMuaG9yekdyaWRQcm9wZXJ0aWVzLmNvbG9yIjpNdC5ncmlkQ29sb3J9KSxhc3luYyBmdW5jdGlvbihlKXtpZighZSlyZXR1cm47dHJ5e2NvbnN0IHQ9InN0cmluZyI9PXR5cGVvZiBlP0pTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUpKTplO2lmKCFBcnJheS5pc0FycmF5KHQpfHwwPT09dC5sZW5ndGgpcmV0dXJuO2NvbnN0IHM9dHMubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3QgaT10W2VdO2lmKGkuc3ltYm9sJiZpLnBvc2l0aW9uJiZrZS5Db21wYXJlT3B0aW9uW2kucG9zaXRpb25dKXN3aXRjaChpLnBvc2l0aW9uKXtjYXNlIlNhbWVTY2FsZSI6dHMuYWRkQ29tcGFyZUFzT3ZlcmxheShpLnN5bWJvbCwhMSxzLmlzWWllbGQoKSk7YnJlYWs7Y2FzZSJOZXdQcmljZVNjYWxlIjp0cy5hZGRPdmVybGF5U3R1ZHkoaS5zeW1ib2wsITApO2JyZWFrO2Nhc2UiTmV3UGFuZSI6dHMuYWRkT3ZlcmxheVN0dWR5KGkuc3ltYm9sLCExKX19fWNhdGNoKGUpe3JldHVybn19KE10LmNvbXBhcmVTeW1ib2xzKSxlLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZShlLCgoKT0+eyFmdW5jdGlvbihlLHQpe2lmKCF0KXJldHVybjtjb25zdCBzPWUubW9kZWwoKS5tb2RlbCgpLGk9eHQ/MjA6NTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCJzdHJpbmciPT10eXBlb2YgdD90OkpTT04uc3RyaW5naWZ5KHQpKTtlLnNsaWNlKDAsaSkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9cy5jcmVhdGVTdHVkeUluc2VydGVyKHJzKGUuaWQpKQo7dC5zZXRGb3JjZU92ZXJsYXkoZS5vdmVybGF5KSx0Lmluc2VydCgoKCk9PlByb21pc2UucmVzb2x2ZSh7aW5wdXRzOmUuaW5wdXRzLHBhcmVudFNvdXJjZXM6W119KSkpfSkpfWNhdGNoKGUpeygoQXJyYXkuaXNBcnJheSh0KT90OnQuc3BsaXQoL1x4MWYvKSl8fFtdKS5zbGljZSgwLGkpLmZvckVhY2goKGU9PntzLmNyZWF0ZVN0dWR5SW5zZXJ0ZXIocnMoZSkpLmluc2VydCgpfSkpfX0od2luZG93LmNoYXJ0V2lkZ2V0LE10LnN0dWRpZXMpfSksITApLGUuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3NzJiZvcygpLFEmJiFpcyYmKFEoWnQsITApLGlzPSEwKSxlZSYmIW5zJiYoZWUoWnQse3Nlcmllc0NvbnRyb2xCYXJFbmFibGVkOiEhVnR9KSxucz0hMCl9KSksZS5kYXRhRXZlbnRzKCkuc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntIKHEuTmFtZXMuTm9EYXRhLE10LmZyYW1lRWxlbWVudElkfHxudWxsLHZvaWQgMCl9KSl9KSkscXQmJihhc3luYygpPT57CmNvbnN0W2UsdCx7RHJhd2luZ1Rvb2xiYXI6aX0se0xpbmVUb29sUHJvcGVydGllc1dpZGdldDpufV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLnQuYmluZChzLDc3OTQ3NCwxOSkpLFByb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLnQuYmluZChzLDEyOTM2NSwxOSkpLFByb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLmJpbmQocyw1OTM5MjcpKSxQcm9taXNlLmFsbChbcy5lKDU0ODUyKSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTM0OTIpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSg1MTg0KSxzLmUoNjc3OTkpLHMuZSgyNDU4MSkscy5lKDg2NDIzKSxzLmUoNDA4MzUpLHMuZSgxNzA4Nykscy5lKDc4NjUyKSxzLmUoNzA4MTUpLHMuZSg3MTQxNCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSg4OTIwNCkscy5lKDg5NTU4KSxzLmUoMTAzNjYpLHMuZSg2OTg2MSkscy5lKDIwMikscy5lKDcyNTEyKSxzLmUoNTUwMTEpLHMuZSgxNTYzNCkscy5lKDc1MzA0KSxzLmUoNTIwOTUpLHMuZSg3MDY1Nikscy5lKDQ0MDMxKSxzLmUoNzE5MDEpLHMuZSg0MDkxNCkscy5lKDgxMjQ3KSxzLmUoMjM2NjkpLHMuZSgzODQ3OSkscy5lKDIwNTY0KSxzLmUoNjc5MjUpLHMuZSgzNTM0Mikscy5lKDIzMjU0KSxzLmUoNjY0Nykscy5lKDg2OTk3KSxzLmUoNzkyNykscy5lKDc5NzkxKSxzLmUoMzUwNzMpLHMuZSg1MDMxNikscy5lKDM1Mzk5KSxzLmUoMzIzODcpLHMuZSg4MDkxNSkscy5lKDE4NTEyKSxzLmUoMzUzOTApLHMuZSgzODA4Nikscy5lKDc2MDMzKSxzLmUoMjYxMTgpLHMuZSgyMDMzMSkscy5lKDQyOTM0KV0pLnRoZW4ocy5iaW5kKHMsMjQ3MjEyKSldKTtlc3x8KHQucmVuZGVyKGUuY3JlYXRlRWxlbWVudChpLHtjaGFydFdpZGdldENvbGxlY3Rpb246WnQscmVzaXplckJyaWRnZTpxdCxzY3JlZW5zaG90QnV0dG9uOiJjbWUiPT09eHR9KSxxdC5jb250YWluZXIudmFsdWUoKSksd2luZG93LmxpbmVUb29sUHJvcGVydGllc1Rvb2xiYXI9bmV3IG4oWnQpKX0pKCksJHQmJihhc3luYygpPT57CmNvbnN0W2UsdCxpLHtIZWFkZXJUb29sYmFyOm59XT1hd2FpdCBQcm9taXNlLmFsbChbSyh4dCksUHJvbWlzZS5hbGwoW3MuZSgxNjE5Mykscy5lKDUwMzE2KSxzLmUoODM2NzUpLHMuZSgzMjM4Nykscy5lKDQzOTI2KV0pLnRoZW4ocy50LmJpbmQocyw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbcy5lKDE2MTkzKSxzLmUoNTAzMTYpLHMuZSg4MzY3NSkscy5lKDMyMzg3KSxzLmUoNDM5MjYpXSkudGhlbihzLnQuYmluZChzLDEyOTM2NSwxOSkpLFByb21pc2UuYWxsKFtzLmUoMTYxOTMpLHMuZSg1MDMxNikscy5lKDgzNjc1KSxzLmUoMzIzODcpLHMuZSg0MzkyNildKS50aGVuKHMuYmluZChzLDUyMzgwMSkpXSkscj1hd2FpdCBlLmdldFRvb2xTZXQoKSxvPUYubW9iaWxldG91Y2g/WyJmdWxsIl06dm9pZCAwO2kucmVuZGVyKHQuY3JlYXRlRWxlbWVudChuLHt0b29sczpyLGNoYXJ0QXBpSW5zdGFuY2U6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsYXZhaWxhYmxlVGltZUZyYW1lczp6LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpadCxpZGVhczohMSxyZXNpemVyQnJpZGdlOiR0LHBvcHVwQnV0dG9uOmFzKE10LnNob3dfcG9wdXBfYnV0dG9uKSxzdHVkeU1hcmtldDp3aW5kb3cuc3R1ZHlNYXJrZXQsd2luZG93TWVzc2FnZVNlcnZpY2U6T3QsaXNGdW5kYW1lbnRhbDohMSxhbGxvd2VkTW9kZXM6b30pLCR0LmNvbnRhaW5lci52YWx1ZSgpKX0pKCksWXQmJihhc3luYygpPT57Y29uc3Rbe1dpZGdldEJhcjplfSx7Y29uZmlndXJhdGlvbjp0fV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UuYWxsKFtzLmUoOTU1NSkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NTA0KSxzLmUoNTUwMTEpLHMuZSg3NTMwNCkscy5lKDc5NzkxKSxzLmUoODU1MTEpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoODE3NTApLHMuZSg1NjM4MildKS50aGVuKHMuYmluZChzLDUyMDYyMSkpLFByb21pc2UuYWxsKFtzLmUoOTU1NSkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NTA0KSxzLmUoNTUwMTEpLHMuZSg3NTMwNCkscy5lKDc5NzkxKSxzLmUoODU1MTEpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoODE3NTApLHMuZSg1NjM4MildKS50aGVuKHMuYmluZChzLDM2OTI3MSkpXSk7enQuZm9yRWFjaCgoZT0+e2Uud2lkZ2V0cz1lLndpZGdldHM/LmZpbHRlcigoZT0+ISh2b2lkIDAhPT1lLmlzRW5hYmxlZCYmIWUuaXNFbmFibGVkKSkpfSkpO3dpbmRvdy53aWRnZXRiYXI9bmV3IGUoe3Jlc2l6ZXJCcmlkZ2U6WXQsYWZmZWN0c0xheW91dDooKT0+anQuYWZmZWN0c0xheW91dCgicmlnaHQiKSxyZWFkb25seTohMCxzdGF0ZTp7d2lkdGg6V3QscGFnZXM6enR9LHNob3dDbG9zZUJ1dHRvbjohMCxjb25maWd1cmF0aW9uOigpPT50KHtjaGFydEFwaUluc3RhbmNlOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSksbW9kZWxzOigpPT5bXX0pfSkoKSx0cy5vbkRpc2Nvbm5lY3RlZCgpLnN1YnNjcmliZShudWxsLChlPT57dmFyIHQ7b3MoKSxlJiYodD0oKT0+e3dpbmRvdy5DaGFydEFwaUluc3RhbmNlLmRpc2Nvbm5lY3QoKSxzZXRUaW1lb3V0KCgoKT0+e3dpbmRvdy5DaGFydEFwaUluc3RhbmNlLmNvbm5lY3QoKSx0cy5yZWNvbm5lY3QoKX0pLDUwMCl9LHcoKS50aGVuKChlPT5lLnNob3dDcml0aWNhbEVycm9yTWVzc2FnZSh0KSkpKX0pKSx0cy5vblJlY29ubmVjdEJhaWxvdXQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt2YXIgZTtlPSgpPT57c2V0VGltZW91dCgoKCk9Pnt3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb25uZWN0KCl9KSwwKX0sdygpLnRoZW4oKHQ9PnQuc2hvd0Rpc2Nvbm5lY3RlZE1lc3NhZ2UoZSkpKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudHYtY29udGVudCIpLmZvckVhY2goKGU9PntlLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCYmZS50YXJnZXQubWF0Y2hlcygiaW5wdXQsIHRleHRhcmVhIil8fGUucHJldmVudERlZmF1bHQoKX0pKX0pKSxNdC53aG90cmFkZXMmJigwLG8uc2V0RW5hYmxlZCkoIndob3RyYWRlc19hdXRoX29ubHkiLCEwKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubG9hZGluZy1pbmRpY2F0b3IiKS5mb3JFYWNoKChlPT57ZS5yZW1vdmUoKX0pKSwoKCk9PntsZXQgZTtjb25zdCB0PXQ9Pnt2b2lkIDAhPT1lJiYoMCxmLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgic2ltcGxlIikudW5zdWJzY3JpYmUoIndpZGdldFF1b3RlTGlzdGVuZXIiLGUpLGU9dCwoMCxmLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgic2ltcGxlIikuc3Vic2NyaWJlKCJ3aWRnZXRRdW90ZUxpc3RlbmVyIix0LChlPT57Y29uc3QgdD1lLnZhbHVlcyxzPVsiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJsYXN0X3ByaWNlIiwib3JpZ2luYWxfbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImRlc2NyaXB0aW9uIiwidm9sdW1lIl0saT17fTtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1zW2VdO2lmKCF0Lmhhc093blByb3BlcnR5KG4pKXJldHVybjtpW25dPXRbbl19aS52b2x1bWU9MWUxMDA9PT10LnZvbHVtZT92b2lkIDA6dC52b2x1bWUsT3QucG9zdChwYXJlbnQsInF1b3RlVXBkYXRlIixpKX0pKX07dHMud2l0aE1vZGVsKG51bGwsKCgpPT57Y29uc3QgZT10cy5tb2RlbCgpLm1haW5TZXJpZXMoKTtlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zeW1ib2wuc3Vic2NyaWJlKGUsKGU9Pnt0KGUudmFsdWUoKSksInRlbGVncmFtIj09PXh0JiZPdC5wb3N0KHBhcmVudCwic3ltYm9sQ2hhbmdlZCIsZS52YWx1ZSgpKX0pKX0pKSxPdC5vbigicXVvdGVTdWJzY3JpYmUiLCgoKT0+e2NvbnN0IGU9dHMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpO3QoZSl9KSksT3Qub24oImltYWdlQ2FudmFzIiwoKGUsdCk9PntadC5jbGllbnRTbmFwc2hvdCgpLnRoZW4oKGU9Pnt0cnl7dCh7ZGF0YVVybDplLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIiksd2lkdGg6ZS53aWR0aCxoZWlnaHQ6ZS5oZWlnaHR9KX1jYXRjaHt0KCl9fSkpLmNhdGNoKCgoKT0+e3QoKX0pKX0pKSwKT3Qub24oInN5bWJvbEluZm8iLCgoZSx0KT0+e2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0cy5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpLGk9dHMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCk7dCh7bmFtZTpzLm5hbWUsZXhjaGFuZ2U6cy5leGNoYW5nZSxkZXNjcmlwdGlvbjpzLmRlc2NyaXB0aW9uLHR5cGU6cy50eXBlLGludGVydmFsOml9KX0pKSxPdC5vbigid2lkZ2V0UmVhZHkiLCgoZSx0KT0+e3RzLndpdGhNb2RlbChudWxsLCgoKT0+e2xldCBlO3RzLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKT90KCk6KGU9KCk9Pnt0KCksdHMubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUobnVsbCxlKX0sdHMubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKG51bGwsZSkpfSkpfSkpLGooJC5OYW1lcy5TZXRTeW1ib2wsKGU9PntlJiZlLnN5bWJvbCYmWnQuc2V0U3ltYm9sKGUuc3ltYm9sKX0pKSxqKCQuTmFtZXMuU2V0SW50ZXJ2YWwsKGU9PntlJiZlLmludGVydmFsJiZadC5zZXRSZXNvbHV0aW9uKGUuaW50ZXJ2YWwpfSkpfSkoKSx3aW5kb3cuYXBwbHlTdHVkaWVzT3ZlcnJpZGVzPWU9PntlJiZ3aW5kb3cuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFwcGx5U3R1ZGllc092ZXJyaWRlcyhlKX19LDkzMDIzMShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkaXNhYmxlOigpPT51LGlzRmVhdHVyZXNldEVuYWJsZWQ6KCk9PmEsc2V0RW5hYmxlZDooKT0+bH0pO3ZhciBpPXMoNjM1MTgpO2NvbnN0IG49bmV3IE1hcCxyPW5ldyBNYXAsbz1uZXcgU2V0O2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD1uLmdldChlKTtpZih2b2lkIDAhPT10KXJldHVybiB0O2NvbnN0IHM9ci5nZXQoZSk7cmV0dXJuISFzJiZzLnNvbWUoYSl9ZnVuY3Rpb24gbChlLHQpe24uc2V0KFN0cmluZyhlKSxCb29sZWFuKHQpKX1mdW5jdGlvbiB1KGUpe2woZSwhMSl9IWZ1bmN0aW9uKCl7Zm9yKGNvbnN0W2UsdF1vZiBPYmplY3QuZW50cmllcyhpKSlpZihvLmFkZChlKSwic3Vic2V0cyJpbiB0KWZvcihjb25zdCBzIG9mIHQuc3Vic2V0cyl7by5hZGQocyk7bGV0IHQ9ci5nZXQocyk7dm9pZCAwPT09dCYmKHQ9W10sci5zZXQocyx0KSksdC5wdXNoKGUpfX0oKSwib2JqZWN0Ij09dHlwZW9mIF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRGlzYWJsZWRGZWF0dXJlc2V0cykmJl9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMuZm9yRWFjaCh1KSwib2JqZWN0Ij09dHlwZW9mIF9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyYmQXJyYXkuaXNBcnJheShfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bChlLCEwKX0pKX0sNzkyNjEyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldEZyZXNoSW5pdERhdGE6KCk9PnUsZ2V0SW5pdERhdGE6KCk9PmwsdXBkYXRlSW5pdERhdGE6KCk9PmF9KTt2YXIgaT1zKDEzODYzOCk7Y29uc3Qgbj0oMCxzKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiQ29tbW9uLkluaXREYXRhIikscj13aW5kb3cuaW5pdERhdGF8fHt9O2Z1bmN0aW9uIG8oKXshZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdztlLmluaXREYXRhJiZlLmluaXREYXRhIT09ciYmKE9iamVjdC5hc3NpZ24ocixlLmluaXREYXRhKSxlLmluaXREYXRhPXIpfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IHM9ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLGkuZW5zdXJlTm90TnVsbCkocy50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24ocixlKX1jYXRjaChlKXtuLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxpLmVuc3VyZU5vdE51bGwpKHMucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQocyl9fWNvbnN0IHQ9ci5jb250ZW50O3QmJnIuc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLnIuc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtvKCl9ZnVuY3Rpb24gbCgpe3JldHVybiByfWZ1bmN0aW9uIHUoKXtyZXR1cm4gbygpLHJ9fSwyNjk1MzEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Q2hhbm5lbE11bHRpcGxleGVyOigpPT5pfSk7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMuX2hhbmRsZXJzPXt9LHRoaXMuX3NwZWNpYWxIYW5kbGVycz17fX1vbihlLHQpe2NvbnN0IHM9dGhpcy5faXNTcGVjaWFsQ2hhbm5lbChlKT90aGlzLl9zcGVjaWFsSGFuZGxlcnM6dGhpcy5faGFuZGxlcnM7c1tlXXx8KHNbZV09W10pLHNbZV0ucHVzaCh0KX1vZmYoZSx0KXtjb25zdCBzPXRoaXMuX2lzU3BlY2lhbENoYW5uZWwoZSk/dGhpcy5fc3BlY2lhbEhhbmRsZXJzOnRoaXMuX2hhbmRsZXJzO2lmKCEoZSBpbiBzKSlyZXR1cm47aWYodm9pZCAwPT09dClyZXR1cm4gdm9pZCBkZWxldGUgc1tlXTtjb25zdCBpPXNbZV0uaW5kZXhPZih0KTtpPj0wJiZzW2VdLnNwbGljZShpLDEpfWVtaXQoZSx0LHMsaSl7dGhpcy5faGFuZGxlcnNbc10mJnRoaXMuX2hhbmRsZXJzW3NdLmZvckVhY2goKG49PntuKGUsdCxzLGkpfSkpO2Zvcihjb25zdCBuIG9mIE9iamVjdC5rZXlzKHRoaXMuX3NwZWNpYWxIYW5kbGVycykpe2NvbnN0IHI9Il4iK24ucmVwbGFjZSgvXCovZywiLio/IikrIiQiO25ldyBSZWdFeHAocikudGVzdChzKSYmdGhpcy5fc3BlY2lhbEhhbmRsZXJzW25dLmZvckVhY2goKG49PntuKGUsdCxzLGkpfSkpfX1faXNTcGVjaWFsQ2hhbm5lbChlKXtyZXR1cm4vXCovLnRlc3QoZSl9fX0sNjE1NzY5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse011bHRpcGxleGVyU3RhdGU6KCk9Pmx9KQo7dmFyIGk9cyg5NDgzODApLG49cygxNTAxNTApLHI9cyg3Njg3NjApLG89cygxNTI2OTkpLGE9cyg4NDg4NTUpO2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9pZD0oMCxuLmd1aWQpKCksdGhpcy5fc3RhdGU9e1t0aGlzLl9pZF06e319LHRoaXMuX3hFdmVudFByZWZpeD0ibXVsdGlwbGV4ZXItc3RhdGUtIix0aGlzLl94RXZlbnRDcmVhdGVUYWI9dGhpcy5feEV2ZW50UHJlZml4KyJjcmVhdGUtbmV3LXRhYiIsdGhpcy5feEV2ZW50U2hhcmVTdGF0ZT10aGlzLl94RXZlbnRQcmVmaXgrInNoYXJlLXN0YXRlIix0aGlzLl9sb2NrTmFtZT0idGFiX2Rlc3RydWN0aW9uIix0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlPW5ldyBpLkRlbGVnYXRlLHRoaXMuX2NyZWF0ZWRMb2Nrcz17fSx0aGlzLl9sb2NrRW5hYmxlZD0oMCxhLndlYkxvY2tFbmFibGVkKSgpLHRoaXMuX2xvY2tQcm9taXNlPSgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX2xvY2tDcmVhdGVkPSgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX29uVGFiQ3JlYXRlQ2I9bnVsbCx0aGlzLl9vblRhYkNyZWF0ZT1lPT57dGhpcy5fb25UYWJDcmVhdGVDYiYmdGhpcy5fb25UYWJDcmVhdGVDYigpO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9zdGF0ZVt0XT17fSx0aGlzLl9zaGFyZVN0YXRlKCksdGhpcy5fcmVxdWVzdFRhYlJlbW92ZUxvY2sodCl9LHRoaXMuX3NoYXJlU3RhdGU9YXN5bmMoKT0+e2F3YWl0IHRoaXMuX2xvY2tDcmVhdGVkLnByb21pc2U7Y29uc3QgZT1KU09OLnN0cmluZ2lmeShbdGhpcy5faWQsdGhpcy5fc3RhdGVbdGhpcy5faWRdXSk7by5UVlhXaW5kb3dFdmVudHMuZW1pdCh0aGlzLl94RXZlbnRTaGFyZVN0YXRlLGUpfSx0aGlzLl9yZXF1ZXN0VGFiUmVtb3ZlTG9jaz1lPT57IXRoaXMuX2NyZWF0ZWRMb2Nrc1tlXSYmdGhpcy5fbG9ja0VuYWJsZWQmJih0aGlzLl9jcmVhdGVkTG9ja3NbZV09MSxuYXZpZ2F0b3IubG9ja3MucmVxdWVzdChgJHt0aGlzLl9sb2NrTmFtZX1fJHtlfWAsKGFzeW5jKCk9Pntjb25zdCB0PXRoaXMuX3N0YXRlW2VdfHx7fTt0aGlzLl9jb21wYXJlVGFiU3RhdGUoZSx7fSx0LCJhZGQiKSx0aGlzLl9jb21wYXJlVGFiU3RhdGUoZSx0LHt9LCJyZW1vdmUiKSxkZWxldGUgdGhpcy5fc3RhdGVbZV0sZGVsZXRlIHRoaXMuX2NyZWF0ZWRMb2Nrc1tlXX0pKSl9LHRoaXMuX29uU2hhcmVTdGF0ZUZyb21PdGhlcj1lPT57Y29uc3RbdCxzXT1KU09OLnBhcnNlKGUpLGk9dGhpcy5fc3RhdGVbdF18fHt9O3RoaXMuX2NvbXBhcmVUYWJTdGF0ZSh0LHMsaSwiYWRkIiksdGhpcy5fY29tcGFyZVRhYlN0YXRlKHQsaSxzLCJyZW1vdmUiKSx0aGlzLl9zdGF0ZVt0XT1zLHRoaXMuX3JlcXVlc3RUYWJSZW1vdmVMb2NrKHQpfSx0aGlzLl9yZW1vdmVDaGFubmVsPShlLHQpPT57ZGVsZXRlIHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXVt0XSx0aGlzLl9pc0xpc3RlbkJ5QW5vdGhlclRhYihlLHQpfHx0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlLmZpcmUoInJlbW92ZSIsZSx0KTswPT09T2JqZWN0LmtleXModGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdKS5sZW5ndGgmJmRlbGV0ZSB0aGlzLl9zdGF0ZVt0aGlzLl9pZF1bZV19LG8uVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudENyZWF0ZVRhYix0aGlzLl9vblRhYkNyZWF0ZSksby5UVlhXaW5kb3dFdmVudHMub24odGhpcy5feEV2ZW50U2hhcmVTdGF0ZSx0aGlzLl9vblNoYXJlU3RhdGVGcm9tT3RoZXIpLHRoaXMuX2xvY2tFbmFibGVkP25hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGAke3RoaXMuX2xvY2tOYW1lfV8ke3RoaXMuX2lkfWAsKGFzeW5jKCk9PihvLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudENyZWF0ZVRhYixKU09OLnN0cmluZ2lmeSh0aGlzLl9pZCkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+dGhpcy5fbG9ja1Byb21pc2UucmVzb2x2ZSgpKSksdGhpcy5fbG9ja0NyZWF0ZWQucmVzb2x2ZSgpLHRoaXMuX2xvY2tQcm9taXNlLnByb21pc2UpKSk6dGhpcy5fbG9ja0NyZWF0ZWQucmVzb2x2ZSgpfWFkZENoYW5uZWwoZSx0KXt0aGlzLl9pc05vdEVtcHR5KGUsdCk/dGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdKys6KHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXXx8KHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXT17fSksdGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdPTEpLHRoaXMuX2lzTGlzdGVuQnlBbm90aGVyVGFiKGUsdCl8fHRoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUuZmlyZSgiYWRkIixlLHQpLHRoaXMuX3NoYXJlU3RhdGUoKX1yZW1vdmVDaGFubmVsKGUsdCl7dGhpcy5faXNFeGlzdChlLHQpJiYodGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdLS0sdGhpcy5faXNOb3RFbXB0eShlLHQpfHx0aGlzLl9yZW1vdmVDaGFubmVsKGUsdCksdGhpcy5fc2hhcmVTdGF0ZSgpKX1jb2xsZWN0UHVzaFN0cmVhbUNoYW5uZWxzKGUpe2NvbnN0IHQ9bmV3IFNldDtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fc3RhdGUpLmZvckVhY2goKHM9Pntjb25zdCBpPXRoaXMuX3N0YXRlW3NdW2VdO3RoaXMuX3N0YXRlW3NdW2VdJiZPYmplY3Qua2V5cyhpKS5mb3JFYWNoKChlPT50LmFkZChlKSkpfSkpLEFycmF5LmZyb20odCl9b25TdGF0ZUNoYW5nZShlKXt0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlLnN1YnNjcmliZShudWxsLGUpfW9mZlN0YXRlQ2hhbmdlKGUpe3RoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUudW5zdWJzY3JpYmUobnVsbCxlKX1vblRhYkNyZWF0ZShlKXt0aGlzLl9vblRhYkNyZWF0ZUNiPWV9X2lzRXhpc3QoZSx0LHM9dGhpcy5faWQpe3JldHVybiB2b2lkIDAhPT10aGlzLl9zdGF0ZVtzXSYmdm9pZCAwIT09dGhpcy5fc3RhdGVbc11bZV0mJnZvaWQgMCE9PXRoaXMuX3N0YXRlW3NdW2VdW3RdfV9pc05vdEVtcHR5KGUsdCxzPXRoaXMuX2lkKXtyZXR1cm4gdGhpcy5faXNFeGlzdChlLHQscykmJnRoaXMuX3N0YXRlW3NdW2VdW3RdPjB9X2NvbXBhcmVUYWJTdGF0ZShlLHQscyxpKXtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChuPT57Ck9iamVjdC5rZXlzKHRbbl0pLmZvckVhY2goKHQ9Pnt0aGlzLl9pc0xpc3RlbkJ5QW5vdGhlclRhYihuLHQsZSl8fHNbbl0mJnNbbl1bdF18fHRoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUuZmlyZShpLG4sdCl9KSl9KSl9X2lzTGlzdGVuQnlBbm90aGVyVGFiKGUsdCxzPXRoaXMuX2lkKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fc3RhdGUpLnNvbWUoKGk9PmkhPT1zJiZ0aGlzLl9pc05vdEVtcHR5KGUsdCxpKSkpfX19LDIyNDQwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtQdXNoU3RyZWFtOigpPT5fLFRyYW5zcG9ydFR5cGU6KCk9Pm0sbG9nZ2VyU3Vic3lzdGVtSWQ6KCk9Pmh9KTt2YXIgaT1zKDEzODYzOCksbj1zKDIyMTA2MSkscj1zKDgwOTk5Myksbz1zKDYzMjY4NiksYT1zKDI5NTYyNik7Y29uc3QgbD0oMCxuLmdldExvZ2dlcikoIlBlcnNpc3RlbnRXZWJzb2NrZXRUcmFuc3BvcnQiKTtjbGFzcyB1IGV4dGVuZHMgYS5QZXJzaXN0ZW50VHJhbnNwb3J0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSxsLHQpfXNlbmRNZXNzYWdlKGUpe3RoaXMuX2Nvbm5lY3Rpb25TdGF0dXMudmFsdWUoKT09PW8uQ29ubmVjdGlvblN0YXR1cy5PcGVuP3RoaXMuX3NvY2tldD90aGlzLl9zb2NrZXQuc2VuZChlKTpsLmxvZ0Vycm9yKCJTb21ldGhpbmcgd2VudCB3cm9uZyAtIGNvZGUgMHgzIik6bC5sb2dXYXJuKCJBdHRlbXB0IHRvIHNlbmQgbWVzc2FnZSBidXQgY29ubmVjdGlvbiBpcyBub3Qgb3BlbmVkIil9X2NyZWF0ZU5hdGl2ZVRyYW5zcG9ydChlKXtjb25zdCB0PW5ldyBXZWJTb2NrZXQoZSx0aGlzLl9jb25uZWN0aW9uT3B0aW9ucz8ucHJvdG9jb2xzKTtyZXR1cm4gdC5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5fc29ja2V0RXJyb3JIYW5kbGVyKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIix0aGlzLl9zb2NrZXRDbG9zZUhhbmRsZXIpLHQuYWRkRXZlbnRMaXN0ZW5lcigib3BlbiIsdGhpcy5fc29ja2V0T3BlbkhhbmRsZXIpLHQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fc29ja2V0TWVzc2FnZUhhbmRsZXIpLHR9X2Rpc2Nvbm5lY3RUcmFuc3BvcnQoKXtpZihudWxsPT09dGhpcy5fc29ja2V0KXJldHVybjt0aGlzLl9zb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuX3NvY2tldEVycm9ySGFuZGxlciksdGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsb3NlIix0aGlzLl9zb2NrZXRDbG9zZUhhbmRsZXIpLHRoaXMuX3NvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKCJvcGVuIix0aGlzLl9zb2NrZXRPcGVuSGFuZGxlciksdGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3NvY2tldE1lc3NhZ2VIYW5kbGVyKSx0aGlzLl9yZW1vdmVPbk9mZmxpbmVMaXN0ZW5lcigpO2NvbnN0IGU9dGhpcy5fc29ja2V0O3RoaXMuX3NvY2tldD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXMuc2V0VmFsdWUoby5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZCksZS5yZWFkeVN0YXRlIT09V2ViU29ja2V0LkNMT1NFRCYmZS5jbG9zZSgpfX12YXIgYz1zKDE1Njg1MCk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9xdWV1ZT1bXSx0aGlzLl9pc1dvcmtpbmc9ITEsdGhpcy5fb25SZXNvbHZlPSgpPT57dGhpcy5fcXVldWUubGVuZ3RoPjAmJnRoaXMuX2NyZWF0ZVByb21pc2UodGhpcy5fcXVldWVbMF0pfSx0aGlzLl9sb2dnZXI9ZX1lbnF1ZXVlKGUpe3RoaXMuX2xvZ2dlci5sb2dOb3JtYWwoYEFkZGluZyBjaGFubmVsIGluIHN0YWNrLiBRdWV1ZSBzaXplOiAke3RoaXMuX3F1ZXVlLmxlbmd0aH1gKSx0aGlzLl9pc1dvcmtpbmd8fHRoaXMuX2NyZWF0ZVByb21pc2UoZSksdGhpcy5fcXVldWUucHVzaChlKX1fY3JlYXRlUHJvbWlzZShlKXt0aGlzLl9pc1dvcmtpbmc9ITAsdGhpcy5fd3JhcChlKS50aGVuKHRoaXMuX29uUmVzb2x2ZSl9X3dyYXAoZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT57ZSgpLmNhdGNoKChlPT50aGlzLl9sb2dnZXIubG9nTm9ybWFsKGBFcnJvciB3aGVuIHRyeWluZyBoYW5kbGluZyBjaGFubmVsOiAke2UubWVzc2FnZX1gKSkpLmZpbmFsbHkoKCgpPT57dGhpcy5faXNXb3JraW5nPSExLHRoaXMuX3F1ZXVlLnNoaWZ0KCksdCgpfSkpfSkpfX1jb25zdCBoPSJQdXNoU3RyZWFtIixwPSgwLG4uZ2V0TG9nZ2VyKShoKTt2YXIgbTshZnVuY3Rpb24oZSl7ZVtlLkV2ZW50U291cmNlPTBdPSJFdmVudFNvdXJjZSIsZVtlLldlYlNvY2tldD0xXT0iV2ViU29ja2V0In0obXx8KG09e30pKTtjbGFzcyBfe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fY2hhbm5lbHM9W10sdGhpcy5fcXVldWU9bmV3IGQocCksdGhpcy5fdHJhbnNwb3J0PXQudHJhbnNwb3J0VHlwZT09PW0uRXZlbnRTb3VyY2U/bmV3IHIuUGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0KHRoaXMuX29uUHVzaFN0cmVhbU1lc3NhZ2UuYmluZCh0aGlzKSk6bmV3IHUodGhpcy5fb25QdXNoU3RyZWFtTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uUHVzaFN0cmVhbUNsb3NlLmJpbmQodGhpcykpLHRoaXMuX3NldHRpbmdzPXQsdGhpcy5fbWVzc2FnZUhhbmRsZXI9ZX1hZGRDaGFubmVsKGUpe3RoaXMuX3F1ZXVlLmVucXVldWUoKCgpPT50aGlzLl9hZGRDaGFubmVsKGUpKSl9cmVtb3ZlQ2hhbm5lbChlKXt0aGlzLl9xdWV1ZS5lbnF1ZXVlKCgoKT0+dGhpcy5fcmVtb3ZlQ2hhbm5lbChlKSkpfWdldENoYW5uZWxzKCl7cmV0dXJuIHRoaXMuX2NoYW5uZWxzfWhhc0NoYW5uZWwoZSl7cmV0dXJuLTEhPT10aGlzLl9jaGFubmVscy5pbmRleE9mKGUpfWNvbm5lY3Rpb25TdGF0dXMoKXtyZXR1cm4gdGhpcy5fdHJhbnNwb3J0LmNvbm5lY3Rpb25TdGF0dXMoKX1yZWNvbm5lY3RFdmVudCgpe3JldHVybiB0aGlzLl90cmFuc3BvcnQuc3VjY2Vzc1JlY29ubmVjdFJlYWNoZWRFdmVudCgpfWNvbm5lY3QoKXsoMCxpLmFzc2VydCkoMCE9PXRoaXMuX2NoYW5uZWxzLmxlbmd0aCwiVGhlcmUgaXMgbm8gY2hhbm5lbHMiKSx0aGlzLl90cmFuc3BvcnQuY29ubmVjdCgpfWRpc2Nvbm5lY3QoKXsKdGhpcy5fdHJhbnNwb3J0LmRpc2Nvbm5lY3QoKX1nZXRMb2dzKGUpe3JldHVybigwLG4uZ2V0UmF3TG9nSGlzdG9yeSkoZSxoKX1hc3luYyBfYWRkQ2hhbm5lbChlKXsoMCxpLmFzc2VydCkoIXRoaXMuaGFzQ2hhbm5lbChlKSxgQ2hhbm5lbCB3aXRoIG5hbWUgJHtlfSBoYXMgYWxyZWFkeSBiZWVuIHN1YnNjcmliZWRgKSxwLmxvZ05vcm1hbChgQWRkaW5nIGNoYW5uZWwgJHtlfWApLHRoaXMuX2NoYW5uZWxzLnB1c2goZSk7Y29uc3R7bWF4U2l6ZTp0fT10aGlzLl9zZXR0aW5ncztyZXR1cm4gdm9pZCAwIT09dCYmdGhpcy5fY2hhbm5lbHMubGVuZ3RoPnQmJih0aGlzLl9jaGFubmVscz10aGlzLl9jaGFubmVscy5zbGljZSh0aGlzLl9jaGFubmVscy5sZW5ndGgtdCkpLHRoaXMuX3RyYW5zcG9ydC5zZXRVcmwodGhpcy5fZ2VuZXJhdGVVcmwoKSl9YXN5bmMgX3JlbW92ZUNoYW5uZWwoZSl7Y29uc3QgdD10aGlzLl9jaGFubmVscy5pbmRleE9mKGUpO3JldHVybigwLGkuYXNzZXJ0KSgtMSE9PXQsYFRoZXJlIGlzIG5vIGNoYW5uZWwgd2l0aCBuYW1lICR7ZX1gKSxwLmxvZ05vcm1hbChgUmVtb3ZpbmcgY2hhbm5lbCAke2V9YCksdGhpcy5fY2hhbm5lbHMuc3BsaWNlKHQsMSksdGhpcy5fdHJhbnNwb3J0LnNldFVybCh0aGlzLl9nZW5lcmF0ZVVybCgpKX1fb25QdXNoU3RyZWFtTWVzc2FnZShlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJXcm9uZyBtZXNzYWdlIHR5cGUsIGV4cGVjdGVkIHN0cmluZyIpO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9zZXR0aW5ncy50ZWxlbWV0cnlFbmFibGVkKCkmJnRoaXMuX2hhbmRsZUJhc2ljVGVsZW1ldHJ5KHQpO2NvbnN0IHM9dC5pZCxpPXQuY2hhbm5lbDstMj09PXM/cC5sb2dXYXJuKCJSZWNlaXZlZCB1bmV4cGVjdGVkIG1lc3NhZ2U6IGFib3V0IHJlbW92ZWQgdGhlIGNoYW5uZWwiKTpzPjAmJihwLmxvZ0RlYnVnKGBSZWNlaXZlZCBtZXNzYWdlOiBpZD0iJHtzfSIgY2hhbm5lbD0iJHtpfSJgKSx0aGlzLl9tZXNzYWdlSGFuZGxlcih0LnRleHQscyxpKSl9X2hhbmRsZUJhc2ljVGVsZW1ldHJ5KGUpe3RyeXtjb25zdCB0PSJ0cmFkaW5nIixzPWUudGV4dC5jb250ZW50Ll90cyxpPWUudGV4dC5jb250ZW50Ll9ydHMsbj1EYXRlLm5vdygpO2lmKHMpe2NvbnN0IGU9bi1zO2U+MCYmZTwzNmU1JiYoYy50ZWxlbWV0cnkuc2VuZFJlcG9ydCh0LCJzZXJ2aWNlMmNsaWVudF90aW1lIix7dmFsdWU6ZX0pLGkmJmMudGVsZW1ldHJ5LnNlbmRSZXBvcnQodCwibmdpbngyY2xpZW50X3RpbWUiLHt2YWx1ZTpuLWl9KSl9fWNhdGNoKGUpe319X29uUHVzaFN0cmVhbUNsb3NlKGUpezEwMDU9PT1lLmNvZGUmJmMudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2NvZGVfMTAwNSIpfV9nZW5lcmF0ZVVybCgpe2NvbnN0IGU9dGhpcy5fY2hhbm5lbHMuam9pbigiLyIpO3JldHVybiBwLmxvZ05vcm1hbChgR2VuZXJhdGUgcHVzaHN0cmVhbSB1cmwgLSAke2V9YCksYCR7dGhpcy5fc2V0dGluZ3MudXJsfS8ke3RoaXMuX3NldHRpbmdzLnVybFBhdGh9LyR7ZX1gfX19LDg0ODg1NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt3ZWJMb2NrRW5hYmxlZDooKT0+bn0pO3ZhciBpPXMoNzM4NDU4KTtmdW5jdGlvbiBuKCl7cmV0dXJuIWkuaXNJT1MmJiFpLmlzSVBhZCYmdm9pZCAwIT09bmF2aWdhdG9yLmxvY2tzfX0sOTMwNTY2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtkZWZhdWx0OigpPT5KLGdldEJvb2w6KCk9PlYsZ2V0RmxvYXQ6KCk9PkEsZ2V0SW50OigpPT5GLGdldEpTT046KCk9PlIsZ2V0VmFsdWU6KCk9Pngsa2V5czooKT0+TixrZXlzTWFzazooKT0+Vyxsb2FkZWQ6KCk9PkssbG9hZGVkTW9kZWw6KCk9Plksb25TeW5jOigpPT5qLHJlbW92ZTooKT0+ayxzZXRKU09OOigpPT5PLHNldFNldHRpbmdzQWRhcHRlcjooKT0+cSxzZXRWYWx1ZTooKT0+QixzeW5jOigpPT4kfSk7dmFyIGk9cyg5NDgzODApLG49cygyMjEwNjEpLHI9cyg1NDA1NzgpLG89cyg5MzAyMzEpLGE9cyg1NjkzOTgpLGw9cyg5MDk3OTgpLHU9cygzNzcyMjYpLGM9cygzODQwMTcpLGQ9cygxNTI2OTkpLGg9cyg5MzIzNjUpO3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2NvbnN0IHA9WyJzLnRyYWRpbmd2aWV3LmNvbSIsImJldGFjZG4udHJhZGluZ3ZpZXcuY29tIl0sbT0oKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiKSwibG9jYWwiPT09d2luZG93LmVudmlyb25tZW50PzVlMzoxMmU0KSxfPSgwLHUub25XaWRnZXQpKCk/InRyYWRpbmd2aWV3LXdpZGdldCI6InRyYWRpbmd2aWV3IixnPV8rIi4iO2xldCB5LGYsdixiPSExLFM9bnVsbCx3PXt9LFA9W107Y29uc3QgVD1bL153aWRnZXRiYXJcLndpZGdldFwud2F0Y2hsaXN0LisvLC8uK3F1aWNrcyQvLC9ed2lkZ2V0YmFyXC5sYXlvdXQtc2V0dGluZ3MkLywvXkNoYXJ0U2lkZVRvb2xiYXJXaWRnZXRcLnZpc2libGUkLywvXm9ud2lkZ2V0XC53YXRjaGxpc3QkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzJC8sL15jaGFydFwuZmF2b3JpdGVEcmF3aW5nc1Bvc2l0aW9uJC8sL15jaGFydFwuZmF2b3JpdGVMaWJyYXJ5SW5kaWNhdG9ycyQvLC9ebG9hZENoYXJ0RGlhbG9nLmZhdm9yaXRlcyQvLC9eQ2hhcnRGYXZvcml0ZURyYXdpbmdUb29sYmFyV2lkZ2V0XC52aXNpYmxlLywvXnRyYWRpbmdcLmNoYXJ0XC5wcm90ZXJ0eSQvLC9edHJhZGluZ19mbG9hdGluZ190b29sYmFyXC5wb3NpdGlvbiQvLC9edHJhZGluZ1wub3JkZXJXaWRnZXRNb2RlXC4vLC9ec3ltYm9sV2F0ZXJtYXJrJC8sL15waW5lcmVmZXJlbmNlXC5zaXplJC8sL15waW5lcmVmZXJlbmNlXC5wb3NpdGlvbiQvLC9eaGludFwuKy8sL15DaGFydERyYXdpbmdUb29sYmFyV2lkZ2V0XC52aXNpYmxlL107Y29uc3QgQz0oKT0+IShTfHx3aW5kb3cuaXNfYXV0aGVudGljYXRlZCksRT1lPT5nK2UsST0oMCxuLmdldExvZ2dlcikoIkxpYi5UVlNldHRpbmdzIiksTD1lPT57aWYoYnx8dilyZXR1cm47aWYoKDAsCmEuaXNGZWF0dXJlRW5hYmxlZCkoImRpc2FibGVfc2F2ZV9zZXR0aW5ncyIpKXJldHVybiB2b2lkIEk/LmxvZ1dhcm4oIlNldHRpbmdzIGZsYXNoaW5nIGhhcyBiZWVuIHNraXBwZWQgYmVjYXVzZSBvZiBkaXNhYmxlX3NhdmVfc2V0dGluZ3MgZmVhdHVyZXRvZ2dsZSIpO2lmKCgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpKXJldHVybjtpZihDKCkpcmV0dXJuO2lmKDA9PT1QLmxlbmd0aClyZXR1cm47Y29uc3QgdD1QO1A9W107Y29uc3Qgcz17fTtmb3IobGV0IGU9dC5sZW5ndGg7ZS0tOyl7Y29uc3QgaT10W2VdO3NbaV09d1tpXT8/bnVsbH1jb25zdCBpPW5ldyBGb3JtRGF0YTtpLmFwcGVuZCgiZGVsdGEiLEpTT04uc3RyaW5naWZ5KHMpKSxlJiZuYXZpZ2F0b3Iuc2VuZEJlYWNvbj9uYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL3NhdmVzZXR0aW5ncy8iLGkpOigwLGMuZmV0Y2gpKCIvc2F2ZXNldHRpbmdzLyIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLGJvZHk6aX0pLnRoZW4oKHM9PntpZihzLm9rfHwoUD1QLmNvbmNhdCh0KSksWzQyOSw1MDNdLmluY2x1ZGVzKHMuc3RhdHVzKSl7Y29uc3QgdD0xZTMqKyhzLmhlYWRlcnMuZ2V0KCJyZXRyeS1hZnRlciIpfHwwKXx8M2U1O3Y9c2V0VGltZW91dCgoKCk9Pnt2PXZvaWQgMCxMKGUpfSksdCl9fSkpLmNhdGNoKCgoKT0+e1A9UC5jb25jYXQodCl9KSl9LE09KCk9Pnt5PXZvaWQgMCxQLmxlbmd0aCYmTCgpfSxEPShlLHQ9e30pPT57aWYoUyludWxsPT13W2VdP1MucmVtb3ZlVmFsdWUoZSk6Uy5zZXRWYWx1ZShlLHdbZV0pO2Vsc2UgaWYoQygpKXRyeXtudWxsPT13W2VdP2guVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShFKGUpKTpoLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oRShlKSx3W2VdKX1jYXRjaChlKXt9ZWxzZSBQLnB1c2goZSkseXx8KHk9c2V0VGltZW91dChNLG0pKTt0LnNraXBDcm9zc1dpbmRvd0V2ZW50fHxkLlRWWFdpbmRvd0V2ZW50cy5lbWl0KCJzZXR0aW5ncyIsSlNPTi5zdHJpbmdpZnkoe2tleTplLHZhbHVlOndbZV19KSl9O2Z1bmN0aW9uIHgoZSx0KXtjb25zdCBzPXdbZV07cmV0dXJuIHM/P3R9ZnVuY3Rpb24gUihlLHQpe2NvbnN0IHM9eChlKTtpZihudWxsPT1zKXJldHVybiB0O3RyeXtyZXR1cm4gSlNPTi5wYXJzZShzKX1jYXRjaChzKXtyZXR1cm4gayhlKSx0fX1mdW5jdGlvbiBrKGUsdD17fSl7cmV0dXJuIG51bGwhPXdbZV0mJihkZWxldGUgd1tlXSxEKGUpKSx0LmZvcmNlRmx1c2gmJkwoKSxHfWZ1bmN0aW9uIFYoZSx0KXtjb25zdCBzPXgoZSk7cmV0dXJuIG51bGw9PXM/dDohKCFzfHwiZmFsc2UiPT09c3x8MD09K3MpfWZ1bmN0aW9uIEEoZSx0KXtjb25zdCBzPXgoZSk7aWYobnVsbD09cylyZXR1cm4gdDtjb25zdCBpPXBhcnNlRmxvYXQocyk7aWYoIWlzRmluaXRlKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyInK3MrJyIgaXMgbm90IGZsb2F0IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIGl9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IHM9eChlKTtpZihudWxsPT1zKXJldHVybiB0O2NvbnN0IGk9cGFyc2VJbnQocywxMCk7aWYoIWlzRmluaXRlKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyInK3MrJyIgaXMgbm90IGludCAoa2V5OiAiJytlKyciKScpO3JldHVybiBpfWZ1bmN0aW9uIEIoZSx0LHM9e30pe2NvbnN0IGk9IiIrdDtyZXR1cm4gd1tlXSE9PWkmJih3W2VdPWksRChlLHMpKSxzLmZvcmNlRmx1c2gmJiFmJiYoZj1zZXRUaW1lb3V0KCgoKT0+e2Y9dm9pZCAwLEwoKX0pLDEwKSksR31mdW5jdGlvbiBPKGUsdCxzKXtyZXR1cm4gQihlLEpTT04uc3RyaW5naWZ5KHQpLHMpLEd9ZnVuY3Rpb24gTigpe3JldHVybiBPYmplY3Qua2V5cyh3KX1mdW5jdGlvbiBXKGUpe2NvbnN0IHQ9TigpLHM9W10saT1uZXcgUmVnRXhwKCJeIisoMCxyLnJlZ0V4cEVzY2FwZSkoZSkucmVwbGFjZSgvXFxcKlxcXCovZ2ksIi4rIikucmVwbGFjZSgvXFxcKi9naSwiW14uXSsiKSsiJCIsImdpIik7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0paS50ZXN0KHRbZV0pJiZzLnB1c2godFtlXSksaS5sYXN0SW5kZXg9MDtyZXR1cm4gc31kLlRWWFdpbmRvd0V2ZW50cy5vbigic2V0dGluZ3MiLChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUpO251bGw9PXQudmFsdWU/ZGVsZXRlIHdbdC5rZXldOndbdC5rZXldPXQudmFsdWV9KSk7Y29uc3QgVT1lPT57Zm9yKGxldCB0PTA7dDxULmxlbmd0aDsrK3QpaWYoVFt0XS5leGVjKGUpKXJldHVybiEwO3JldHVybiExfSx6PWU9PmUuc3Vic3RyaW5nKDAsZy5sZW5ndGgpPT09ZyxIPWU9Pnt3PXt9O2NvbnN0IHQ9MD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aDt0fHwoZT0+e09iamVjdC5rZXlzKGUpLmZvckVhY2goKHQ9Pnt3W3RdPWVbdF0rIiJ9KSl9KShlKSwoZT0+e2ZvcihsZXQgdD1oLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBzPWguVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO3MmJnoocykmJihlJiZCKHMuc3Vic3RyaW5nKGcubGVuZ3RoKSxoLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocykpLGguVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShzKSl9fSkodCl9LGo9bmV3IGkuRGVsZWdhdGU7ZnVuY3Rpb24gJChlKXtudWxsIT09ZT8oUz9IKFMuaW5pdGlhbFNldHRpbmdzfHx7fSk6QygpPygoKCk9PntpZighKDAsdS5vbldpZGdldCkoKXx8IXAuaW5jbHVkZXMod2luZG93LmxvY2F0aW9uLmhvc3QpKXJldHVybjtjb25zdCBlPSJ0cmFkaW5ndmlldy4iO2ZvcihsZXQgdD1oLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBzPWguVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKDA9PT1zLmluZGV4T2YoZSkpe2NvbnN0IHQ9cy5yZXBsYWNlKGUsXysiLiIpO2guVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0LGguVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShzKSksaC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHMpfX19KSgpLCgoKT0+e3c9e307Y29uc3QgZT0hKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2F2ZV9jaGFydF9wcm9wZXJ0aWVzX3RvX2xvY2FsX3N0b3JhZ2UiKTtmb3IobGV0IHQ9aC5UVkxvY2FsU3RvcmFnZS5sZW5ndGg7dC0tOyl7CmNvbnN0IHM9aC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoIXN8fCF6KHMpKWNvbnRpbnVlO2NvbnN0IGk9cy5zdWJzdHJpbmcoZy5sZW5ndGgpO2UmJiFVKGkpfHwod1tpXT1oLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocykpfX0pKCkpOkgoZXx8e30pLGouZmlyZSgpKTpiPSEwfWZ1bmN0aW9uIHEoZSl7Uz1lfWNvbnN0IEs9ITEsWT0hMSxHPXtsb2FkZWQ6Syxsb2FkZWRNb2RlbDpZLGdldFZhbHVlOngsZ2V0SlNPTjpSLGdldEJvb2w6VixnZXRGbG9hdDpBLGdldEludDpGLHNldFZhbHVlOkIsc2V0SlNPTjpPLHJlbW92ZTprLGtleXM6TixrZXlzTWFzazpXLHN5bmM6JCxvblN5bmM6aixzZXRTZXR0aW5nc0FkYXB0ZXI6cX0sSj1HO3dpbmRvdy5UVlNldHRpbmdzPUcsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCgpPT57ImhpZGRlbiIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJiEwIT09ZG9jdW1lbnQuaGlkZGVufHxMKCl9KSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwoKCk9PntMKCEwKX0pKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIiwoKCk9PntMKCEwKX0pKSxsLmZsdXNoRGVsZWdhdGUuc3Vic2NyaWJlKG51bGwsKCgpPT57TCgpfSkpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdHtjbGVhck9sZFNldHRpbmdzOmV9PWF3YWl0IHMuZSgzNTk4MCkudGhlbihzLmJpbmQocyw3NTQxODUpKTtlKCl9KSwzZTQpfSw3MDA4MDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVDRU1CRVI6KCk9PlMsRklSU1RfREFZX09GX1dFRUs6KCk9PnAsRlJJREFZOigpPT5kLEpBTlVBUlk6KCk9Pl8sSlVMWTooKT0+ZixMQVNUX0RBWV9PRl9XRUVLOigpPT5tLE1BUkNIOigpPT5nLE1BWTooKT0+eSxNT05EQVk6KCk9PmEsTk9WRU1CRVI6KCk9PmIsU0FUVVJEQVk6KCk9PmgsU0VQVEVNQkVSOigpPT52LFNVTkRBWTooKT0+byxUSFVSU0RBWTooKT0+YyxUVUVTREFZOigpPT5sLFdFRE5FU0RBWTooKT0+dSxhZGRfZGF0ZTooKT0+QSxhZGRfbWludXRlczooKT0+RixjYWxfdG9fdXRjOigpPT5HLGNsb25lOigpPT5PLGRheXNfcGVyX3llYXI6KCk9PlcsZ2V0X2NhbDooKT0+cSxnZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXM6KCk9PkssZ2V0X2NhbF91dGM6KCk9PlksZ2V0X2RheV9vZl9tb250aDooKT0+TSxnZXRfZGF5X29mX3dlZWs6KCk9PkQsZ2V0X2RheV9vZl95ZWFyOigpPT54LGdldF9kYXlzX2luX21vbnRoOigpPT5OLGdldF9ob3VyczooKT0+SSxnZXRfbWludXRlczooKT0+TCxnZXRfbWludXRlc19mcm9tX21pZG5pZ2h0OigpPT5SLGdldF9taW51dGVzX3dpdGhfaG91cnM6KCk9PmssZ2V0X21vbnRoOigpPT5FLGdldF90aW1lem9uZTooKT0+SixnZXRfeWVhcjooKT0+Qyxpc19sZWFwX3llYXI6KCk9PlUsbWlsbGlzZWNvbmRzUGVyRGF5OigpPT5ULG1pbnV0ZXNQZXJEYXk6KCk9PncsbWludXRlc1BlcldlZWs6KCk9PlAsc2V0X2htczooKT0+VixzZXRfc2Vjb25kczooKT0+Qix0aW1lX3NlY29uZHM6KCk9PnosdGltZV9zZWNvbmRzX2RpZmY6KCk9PkgsdXRjX3RvX2NhbDooKT0+aix1dGNfdG9fY2FsX3RzOigpPT4kfSk7dmFyIGk9cyg3MTIxODEpO2NvbnN0IG49ezA6MCwxOjMxLDI6NTksMzo5MCw0OjEyMCw1OjE1MSw2OjE4MSw3OjIxMiw4OjI0Myw5OjI3MywxMDozMDQsMTE6MzM0fTtjbGFzcyBye2NvbnN0cnVjdG9yKGUpe3RoaXMuX2ludmFsaWQ9ITEsdGhpcy5fbmFtZT1lO2xldCB0PWkudHpEYXRhPy5bZV0/P251bGw7IXQmJlgmJih0PVguaW5zdGFuY2UoKS5nZXRUaW1lem9uZURhdGEoZSkpLHR8fCh0PXt0aW1lOltdLG9mZnNldDpbXX0sdGhpcy5faW52YWxpZD0hMCksdC50aW1lLmxlbmd0aCE9PXQub2Zmc2V0Lmxlbmd0aCYmKHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKTtjb25zdCBzPXQ7aWYoIXMudGltZV91dGMpe2NvbnN0IGU9dC50aW1lLGk9dC5vZmZzZXQsbj1lLmxlbmd0aCxyPW5ldyBBcnJheShuKTtmb3IobGV0IHQ9MDt0PG47dCsrKWVbdF0qPTFlMyxpW3RdKj0xZTMsclt0XT1lW3RdLWlbdF07cy50aW1lX3V0Yz1yfXRoaXMudHo9c31vZmZzZXRfdXRjKGUpe3JldHVybiByLm9mZnNldCh0aGlzLnR6LnRpbWVfdXRjLHRoaXMudHoub2Zmc2V0LGUpfW9mZnNldF9sb2MoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZSx0aGlzLnR6Lm9mZnNldCxlKX1uYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9aXNfdmFsaWQoKXtyZXR1cm4hdGhpcy5faW52YWxpZH1jb3JyZWN0aW9uX2xvYyhlKXtjb25zdCB0PXRoaXMudHoudGltZSxzPXRoaXMudHoub2Zmc2V0LGk9USh0LGUpO2lmKGk8MSlyZXR1cm4gMDtjb25zdCBuPXNbaV0tc1tpLTFdO2lmKG4+MCl7aWYoZS10W2ktMV08PW4pcmV0dXJuIG59cmV0dXJuIDB9c3RhdGljIG9mZnNldChlLHQscyl7Y29uc3QgaT1RKGUscyk7cmV0dXJuLTE9PT1pPzA6dFtpXX19Y29uc3Qgbz0xLGE9MixsPTMsdT00LGM9NSxkPTYsaD03LHA9byxtPWgsXz0wLGc9Mix5PTQsZj02LHY9OCxiPTEwLFM9MTEsdz0xNDQwLFA9MTAwODAsVD04NjRlNTtmdW5jdGlvbiBDKGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCl9ZnVuY3Rpb24gRShlKXtyZXR1cm4gZS5nZXRVVENNb250aCgpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuIGUuZ2V0VVRDSG91cnMoKX1mdW5jdGlvbiBMKGUpe3JldHVybiBlLmdldFVUQ01pbnV0ZXMoKX1mdW5jdGlvbiBNKGUpe3JldHVybiBlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBEKGUpe3JldHVybiBlLmdldFVUQ0RheSgpKzF9ZnVuY3Rpb24geChlKXtjb25zdCB0PWUuZ2V0VVRDTW9udGgoKTtsZXQgcz1uW3RdO3JldHVybiB0Pl8rMSYmVShlLmdldFVUQ0Z1bGxZZWFyKCkpJiYocys9MSkscytlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBSKGUpe3JldHVybiA2MCpJKGUpK0woZSl9ZnVuY3Rpb24gayhlKXtyZXR1cm4gUihlKX1mdW5jdGlvbiBWKGUsdCxzLGksbixyKXtlLnNldFVUQ0hvdXJzKHQpLGUuc2V0VVRDTWludXRlcyhzKSxlLnNldFVUQ1NlY29uZHMoaSksZS5zZXRVVENNaWxsaXNlY29uZHMobiksCnZvaWQgMCE9PXImJmZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1lLmdldFRpbWUoKSxpPXQuY29ycmVjdGlvbl9sb2Mocyk7ZS5zZXRUaW1lKHMraSl9KGUscil9ZnVuY3Rpb24gQShlLHQpe2Uuc2V0VGltZShlLmdldFRpbWUoKSt0KlQpfWZ1bmN0aW9uIEYoZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrNjAqdCoxZTMpfWZ1bmN0aW9uIEIoZSx0KXtjb25zdCBzPTg2NDAwLGk9dCVzPDA/LTE6MCxuPU1hdGgudHJ1bmModC9zKStpLHI9dC1uKnMsbz1NYXRoLnRydW5jKHIvMzYwMCksYT1NYXRoLnRydW5jKHIlMzYwMC82MCk7VihlLG8sYSxyLTM2MDAqby02MCphLDApLEEoZSxuKX1mdW5jdGlvbiBPKGUpe3JldHVybiBuZXcgRGF0ZShlLmdldFRpbWUoKSl9ZnVuY3Rpb24gTihlLHQpe2xldCBzO3N3aXRjaChlKXtjYXNlIDA6Y2FzZSAyOmNhc2UgNDpjYXNlIDY6Y2FzZSA3OmNhc2UgOTpjYXNlIDExOnM9MzE7YnJlYWs7Y2FzZSAxOnM9MjgsVSh0KSYmcysrO2JyZWFrO2RlZmF1bHQ6cz0zMH1yZXR1cm4gc31mdW5jdGlvbiBXKGUpe3JldHVybiBVKGUpPzM2NjozNjV9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZSU0PT0wJiYoZSUxMDAhPTB8fGUlNDAwPT0wKX1mdW5jdGlvbiB6KGUpe3JldHVybiAxZTMqZX1mdW5jdGlvbiBIKGUsdCl7cmV0dXJuIGVlKGUpLWVlKHQpfWZ1bmN0aW9uIGooZSx0KXtyZXR1cm4gbmV3IERhdGUoJChlLHQpKX1mdW5jdGlvbiAkKGUsdCl7cmV0dXJuIHQrZS5vZmZzZXRfdXRjKHQpfWZ1bmN0aW9uIHEoZSx0LHMsaSxuLHIsbyl7Y29uc3QgYT1uZXcgRGF0ZShEYXRlLlVUQyh0LHMsaSxufHwwLHJ8fDAsb3x8MCkpLGw9ZS5vZmZzZXRfdXRjKCthKTtyZXR1cm4gbmV3IERhdGUoYS52YWx1ZU9mKCktbCl9ZnVuY3Rpb24gSyhlLHQpe3JldHVybiBuZXcgRGF0ZSh0K2Uub2Zmc2V0X3V0Yyh0KSl9ZnVuY3Rpb24gWShlLHQscyxpPTAsbj0wLHI9MCl7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKGUsdCxzLGksbixyKSl9ZnVuY3Rpb24gRyhlLHQscyl7bGV0IGk9dC5nZXRUaW1lKCk7cyYmKGkrPWUuY29ycmVjdGlvbl9sb2MoaSkpO3JldHVybiBpLWUub2Zmc2V0X2xvYyhpKX1mdW5jdGlvbiBKKGUpe3JldHVybiBuZXcgcihlKX1sZXQgWDtmdW5jdGlvbiBRKGUsdCl7Y29uc3Qgcz1lLmxlbmd0aDtpZigwPT09cylyZXR1cm4tMTtpZihpc05hTih0KSl0aHJvdyBFcnJvcigiS2V5IGlzIE5hTiIpO2xldCBpPTAsbj1zLTEscj1aKChpK24pLzIpO2Zvcig7Oyl7aWYoZVtyXT50KXtpZihuPXItMSxuPGkpcmV0dXJuIHJ9ZWxzZSBpZihpPXIrMSxuPGkpcmV0dXJuIHI8cy0xP3IrMTotMTtyPVooKGkrbikvMil9fWZ1bmN0aW9uIFooZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSl9ZnVuY3Rpb24gZWUoZSl7cmV0dXJuIGU8MD9aKGUvMWUzKS0oZSUxZTMhPTA/MTowKTpaKGUvMWUzKX19LDc3OTM4OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtBY3Rpb25Hcm91cDooKT0+bn0pO3ZhciBpPXMoOTkyODAzKTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWN0aW9ucz1uZXcgTWFwLHRoaXMuX21hbmFnZXI9ZSx0aGlzLm9yZGVyPXQ/Lm9yZGVyPz8wLHRoaXMubW9kYWw9ISghdHx8IXQubW9kYWwpLHQmJih0aGlzLmRlc2M9dC5kZXNjKSx0JiZ0LmlzRGlzYWJsZWQ/ImZ1bmN0aW9uIj09dHlwZW9mIHQuaXNEaXNhYmxlZD90aGlzLmlzRGlzYWJsZWQ9dC5pc0Rpc2FibGVkOnRoaXMuaXNEaXNhYmxlZD0oKT0+ITA6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMSx0aGlzLl9tYW5hZ2VyLnJlZ2lzdGVyR3JvdXAodGhpcyl9YWRkKGUpe2xldCB0PXRoaXMuX2FjdGlvbnMuZ2V0KGUuaG90a2V5KTt0fHwodD1bXSx0aGlzLl9hY3Rpb25zLnNldChlLmhvdGtleSx0KSk7Y29uc3Qgcz1uZXcgaS5BY3Rpb24odGhpcyxlKTtyZXR1cm4gdC5wdXNoKHMpLHN9cmVtb3ZlKGUpe2NvbnN0IHQ9dGhpcy5fYWN0aW9ucy5nZXQoZS5ob3RrZXkpO2lmKCF0KXJldHVybjtjb25zdCBzPXQuZmluZEluZGV4KCh0PT50PT09ZSkpO3M+PTAmJigxPT09dC5sZW5ndGg/dGhpcy5fYWN0aW9ucy5kZWxldGUoZS5ob3RrZXkpOnQuc3BsaWNlKHMsMSkpfWhhbmRsZUhvdGtleShlLHQpe2NvbnN0IHM9dGhpcy5fYWN0aW9ucy5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Zm9yKGNvbnN0IGkgb2YgcylpZigoIWkuZWxlbWVudHx8dC50YXJnZXQmJmkuZWxlbWVudC5jb250YWlucyh0LnRhcmdldCkpJiYhaS5pc0Rpc2FibGVkKHQpKXJldHVybiB0LnJlcGVhdCYmIWkuaXNSZXBlYXRBY2NlcHRlZHx8KGkuaGFuZGxlcih0KSx0aGlzLl9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSkpLHQucHJldmVudERlZmF1bHQoKSwhMDtyZXR1cm4hMX1wcm9tb3RlKCl7dGhpcy5fbWFuYWdlci5wcm9tb3RlR3JvdXAodGhpcyl9ZGVzdHJveSgpe2Zvcihjb25zdFssZV1vZiB0aGlzLl9hY3Rpb25zKWZvcihjb25zdCB0IG9mIGUpdC5kZXN0cm95KCk7dGhpcy5fYWN0aW9ucy5jbGVhcigpLHRoaXMuX21hbmFnZXIudW5yZWdpc3Rlckdyb3VwKHRoaXMpfXN0YXRpYyBzZXRNYXRjaGVkSG90a2V5SGFuZGxlcihlKXtuLl9tYXRjaGVkSG90a2V5SGFuZGxlcj1lfV9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSl7bi5fbWF0Y2hlZEhvdGtleUhhbmRsZXImJm4uX21hdGNoZWRIb3RrZXlIYW5kbGVyKGUpfX19LDI5MTM0MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtBY3Rpb25NYW5hZ2VyOigpPT5sfSk7dmFyIGk9cygyMzIzNjQpLG49cygyMzU3MjQpLHI9cyg3MjEzNjkpLG89cyg2OTYyMDgpO2NsYXNzIGEgZXh0ZW5kcyBpLldhdGNoZWRWYWx1ZXtzZXRWYWx1ZShlLHQpe2NvbnN0IHM9dGhpcy52YWx1ZSgpOyh0fHx2b2lkIDA9PT1zfHxzLmNvZGUhPT1lLmNvZGV8fHMubW9kaWZpZXJzIT09ZS5tb2RpZmllcnMpJiZzdXBlci5zZXRWYWx1ZShlKX19Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1bXSx0aGlzLl9wcmVzc2VkS2V5cz1uZXcgaS5XYXRjaGVkVmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlPW5ldyBhKG5ldyBvLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwKSksCnRoaXMuX2tleURvd25MaXN0ZW5lcj1lPT57aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYodGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUodCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnNldFZhbHVlKG5ldyBvLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgoMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSksZS5jb2RlKSksISgwLHIuaXNOYXRpdmVVSUludGVyYWN0aW9uKSh0LGUudGFyZ2V0KSlmb3IobGV0IHM9dGhpcy5fZ3JvdXBzLmxlbmd0aDtzLS0gPjA7KXtjb25zdCBpPXRoaXMuX2dyb3Vwc1tzXTtpZighaS5pc0Rpc2FibGVkKCkpe2lmKGkuaGFuZGxlSG90a2V5KHQsZSkpcmV0dXJuO2lmKGkubW9kYWwpcmV0dXJufX19LHRoaXMuX2tleVVwTGlzdGVuZXI9ZT0+e2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKTt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSh0KSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IG8uS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKSwiIikpfSx0aGlzLl9ibHVyRXZlbnQ9KCk9Pnt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSgwKSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IG8uS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKDAsIiIpKX0sdGhpcy5fbW91c2VFdmVudD1lPT57Y29uc3QgdD0oMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSkscz0yNTUmKHRoaXMuX3ByZXNzZWRLZXlzLnZhbHVlKCk/PzApO3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKHR8cyl9fWxpc3RlbihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2tleURvd25MaXN0ZW5lciksZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fa2V5VXBMaXN0ZW5lciksZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9ibHVyRXZlbnQpLGUuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9tb3VzZUV2ZW50KX11bmxpc3RlbihlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2tleURvd25MaXN0ZW5lciksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fa2V5VXBMaXN0ZW5lciksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9ibHVyRXZlbnQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9tb3VzZUV2ZW50KX1yZWdpc3Rlckdyb3VwKGUpe3RoaXMuX2dyb3Vwcy5wdXNoKGUpLHRoaXMuc29ydEdyb3VwcygpfXVucmVnaXN0ZXJHcm91cChlKXtmb3IobGV0IHQ9dGhpcy5fZ3JvdXBzLmxlbmd0aDt0LS07KXRoaXMuX2dyb3Vwc1t0XT09PWUmJnRoaXMuX2dyb3Vwcy5zcGxpY2UodCwxKX1wcm9tb3RlR3JvdXAoZSl7Y29uc3QgdD10aGlzLl9nZXRNb2RhbE9yZGVyRXBvY2goKSxzPXUoZSx0KTtsZXQgaT10aGlzLl9ncm91cHMuZmluZEluZGV4KChlPT51KGUsdCk9PT1zKSksbj0wO2Zvcig7aTx0aGlzLl9ncm91cHMubGVuZ3RoJiZ1KHRoaXMuX2dyb3Vwc1tpXSx0KT09PXM7KXtjb25zdCByPXRoaXMuX2dyb3Vwc1tpXTtyPT09ZT9uPTE6dShyLHQpPT09cyYmKHRoaXMuX2dyb3Vwc1tpLW5dPXIpLGkrK310aGlzLl9ncm91cHNbaS1uXT1lfXByZXNzZWRLZXlzKCl7cmV0dXJuIHRoaXMuX3ByZXNzZWRLZXlzLnJlYWRvbmx5KCl9a2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCl7cmV0dXJuIHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5yZWFkb25seSgpfXNvcnRHcm91cHMoKXtjb25zdCBlPXRoaXMuX2dldE1vZGFsT3JkZXJFcG9jaCgpO3RoaXMuX2dyb3Vwcy5zb3J0KCgodCxzKT0+dShzLGUpLXUodCxlKSkpfV9nZXRNaW5PcmRlcigpe3JldHVybiB0aGlzLl9ncm91cHMucmVkdWNlKCgoZSx0KT0+TWF0aC5taW4oZSx0Lm9yZGVyKSksMCl9X2dldE1vZGFsT3JkZXJFcG9jaCgpe3JldHVybi0yKihNYXRoLmFicyh0aGlzLl9nZXRNaW5PcmRlcigpKS0xKX19ZnVuY3Rpb24gdShlLHQpe3JldHVybiBlLm9yZGVyKyhlLm1vZGFsP3Q6MCl9fSw5OTI4MDMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7QWN0aW9uOigpPT5pfSk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2dyb3VwPWU7Y29uc3R7aG90a2V5OnMsaGFuZGxlcjppLGRlc2M6bixpc0Rpc2FibGVkOnIsZWxlbWVudDpvPW51bGwsaXNSZXBlYXRBY2NlcHRlZDphPSExfT10O3RoaXMuaG90a2V5PXMsdGhpcy5oYW5kbGVyPWksdGhpcy5kZXNjPW4sdGhpcy5lbGVtZW50PW8sdGhpcy5pc1JlcGVhdEFjY2VwdGVkPWEsdGhpcy5pc0Rpc2FibGVkPXI/ImZ1bmN0aW9uIj09dHlwZW9mIHI/cjooKT0+ITA6KCk9PiExfWRlc3Ryb3koKXt0aGlzLl9ncm91cCYmKHRoaXMuX2dyb3VwLnJlbW92ZSh0aGlzKSx0aGlzLl9ncm91cD1udWxsKX19fSw2OTYyMDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7S2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlOigpPT5ufSk7dmFyIGk9cygyMzU3MjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSx0KXt0aGlzLm1vZGlmaWVycz1lLHRoaXMuY29kZT10fWFsdE9yT3B0aW9uQ29kZSgpe3JldHVybiJBbHRMZWZ0Ij09PXRoaXMuY29kZXx8IkFsdFJpZ2h0Ij09PXRoaXMuY29kZX1jb250cm9sT3JNZXRhQ29kZSgpe3JldHVybiBpLmlzTWFjS2V5Ym9hcmQ/Ik1ldGFMZWZ0Ij09PXRoaXMuY29kZXx8Ik1ldGFSaWdodCI9PT10aGlzLmNvZGV8fCJPU0xlZnQiPT09dGhpcy5jb2RlfHwiT1NSaWdodCI9PT10aGlzLmNvZGU6IkNvbnRyb2xMZWZ0Ij09PXRoaXMuY29kZXx8IkNvbnRyb2xSaWdodCI9PT10aGlzLmNvZGV9fX0sNjY1MTQ1KGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIGk7cy5kKHQse01lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlOigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLlVzZUxhc3RTZXNzaW9uPTBdPSJVc2VMYXN0U2Vzc2lvbiIsZVtlLlVzZTFEPTFdPSJVc2UxRCIsZVtlLlVzZUxhc3RTZXNzaW9uQW5kMUQ9Ml09IlVzZUxhc3RTZXNzaW9uQW5kMUQifShpfHwoaT17fSkpfSwKODAyNTg2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldERheVJlc29sdXRpb25UaW1lRnJhbWVPcHRpb25zOigpPT5jLGdldEZyb21Gb3JEYXk6KCk9PmEsZ2V0RnJvbUZvck1vbnRoc0FnbzooKT0+cixnZXRGcm9tRm9yWWVhcnNBZ286KCk9Pm8sZ2V0TWVkaXVtVGltZUZyYW1lT3B0aW9uczooKT0+ZCxnZXRNaW5pVGltZUZyYW1lT3B0aW9uczooKT0+dSxnZXRTdGFydE9mVGhlWWVhcjooKT0+bH0pO3ZhciBpPXMoNjY1MTQ1KSxuPXMoNjkzNTAwKTtmdW5jdGlvbiByKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0TW9udGgodC5nZXRNb250aCgpLWUpLE1hdGgudHJ1bmModC52YWx1ZU9mKCkvMWUzKX1mdW5jdGlvbiBvKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpLWUpLE1hdGgudHJ1bmModC52YWx1ZU9mKCkvMWUzKX1mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0RGF0ZSh0LmdldERhdGUoKS1lKSxNYXRoLnRydW5jKHQudmFsdWVPZigpLzFlMyl9ZnVuY3Rpb24gbCgpe3JldHVybiBNYXRoLnRydW5jKG5ldyBEYXRlKChuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSwwLDEpLnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxuLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bygxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFNIixmcm9tOm8oNSl9LHsuLi50LmFsbH1dfWZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxuLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjZtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cig2KX0sey4uLnQueXRkLHRhcmdldFJlc29sdXRpb246IjFEIixmcm9tOnIoNil9LHsuLi50WyIxMm0iXSxmcm9tOm8oMSl9XX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9KDAsbi5nZXRUaW1lRnJhbWVzKSgpLHM9W107cmV0dXJuIGUhPT1pLk1lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlLlVzZTFEJiZzLnB1c2goey4uLnQubGFzdHNlc3Npb259KSxlIT09aS5NZWRpdW1UaW1lRnJhbWVPcHRpb25zTW9kZS5Vc2VMYXN0U2Vzc2lvbiYmcy5wdXNoKHsuLi50WyIxZCJdfSksWy4uLnMsey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiNjAiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMTIwIixmcm9tOnIoMyl9LHsuLi50WyIxMm0iXSxmcm9tOm8oMSl9LHsuLi50WyI2MG0iXSx0YXJnZXRSZXNvbHV0aW9uOiIxVyIsZnJvbTpvKDUpfSx7Li4udC5hbGx9XX19LDY5MzUwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRUaW1lRnJhbWVzOigpPT5yfSk7dmFyIGk9cyg3ODMyNTQpLG49cygyMTU3MzApO2Z1bmN0aW9uIHIoZSl7cmV0dXJueyIxZCI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoOTM4MTAwKSksdmFsdWU6e3ZhbHVlOiIxRCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMUQiXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsbi5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9LCI1ZCI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoODI4NTUpKSx2YWx1ZTp7dmFsdWU6IjVEIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyI1RCJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjUiKSxkZXNjcmlwdGlvbjooMCxuLmRheXNTdHJpbmdMaXRlcmFsKSg1KX0sIjF3Ijp7dGV4dDppLnQobnVsbCx2b2lkIDAscyg0OTIxMzUpKSx2YWx1ZTp7dmFsdWU6IjdEIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyI1VyJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjE1IiksZGVzY3JpcHRpb246KDAsbi53ZWVrc1N0cmluZ0xpdGVyYWwpKDEpfSwiMW0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDgzMjczMykpLHZhbHVlOnt2YWx1ZToiMU0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjFNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMzAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDEpfSwiM20iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDgxOTA3OCkpLHZhbHVlOnt2YWx1ZToiM00iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjNNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiNjAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDMpfSwiNm0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDY4MDc2KSksdmFsdWU6e3ZhbHVlOiI2TSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNk0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxMjAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDYpfSwiMTJtIjp7dGV4dDppLnQobnVsbCx2b2lkIDAscyg3NzAzMDMpKSx2YWx1ZTp7dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMTJNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjooMCxuLnllYXJzU3RyaW5nTGl0ZXJhbCkoMSl9LCIyNG0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDkzNDc3NykpLHZhbHVlOnt2YWx1ZToiMjRNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIyNE0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLG4ueWVhcnNTdHJpbmdMaXRlcmFsKSgyKX0sIjM2bSI6ewp0ZXh0OmkudChudWxsLHZvaWQgMCxzKDI3MjA5OCkpLHZhbHVlOnt2YWx1ZToiMzZNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzNk0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLG4ueWVhcnNTdHJpbmdMaXRlcmFsKSgzKX0sIjYwbSI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoNDQ2NTYwKSksdmFsdWU6e3ZhbHVlOiI2ME0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjYwTSJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFXIiksZGVzY3JpcHRpb246KDAsbi55ZWFyc1N0cmluZ0xpdGVyYWwpKDUpfSwiMTIwbSI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoOTk1MDY2KSksdmFsdWU6e3ZhbHVlOiIxMjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxMjBNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMU0iKSxkZXNjcmlwdGlvbjooMCxuLnllYXJzU3RyaW5nTGl0ZXJhbCkoMTApfSx5dGQ6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoNDIyMzY5KSksdmFsdWU6e3ZhbHVlOiJZVEQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5ZVEQ/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjppLnQobnVsbCx2b2lkIDAscyg0ODU0MjApKX0sYWxsOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDIzMzY5MCkpLHZhbHVlOnt2YWx1ZToiQUxMIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uQUxMPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFNIil9LGxhc3RzZXNzaW9uOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiTEFTVFNFU1NJT04iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5MQVNUU0VTU0lPTj8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsbi5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9fX19LDIxNTczMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkYXlzU3RyaW5nTGl0ZXJhbDooKT0+byxob3Vyc1N0cmluZ0xpdGVyYWw6KCk9PnIsbWludXRlc1N0cmluZ0xpdGVyYWw6KCk9Pm4sbW9udGhzU3RyaW5nTGl0ZXJhbDooKT0+bCxzdHJpbmdBc1Jlc29sdXRpb246KCk9PmMsd2Vla3NTdHJpbmdMaXRlcmFsOigpPT5hLHllYXJzU3RyaW5nTGl0ZXJhbDooKT0+dX0pO3ZhciBpPXMoNzgzMjU0KTtjb25zdCBuPWU9PmkudChudWxsLHtwbHVyYWw6IntzdHJ9IG1pbnV0ZXMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNDM5MCkpLHI9ZT0+aS50KG51bGwse3BsdXJhbDoie3N0cn0gaG91cnMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoMjEwNTc0KSksbz1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSBkYXlzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxzKDEwMzAzMCkpLGE9ZT0+aS50KG51bGwse3BsdXJhbDoie3N0cn0gd2Vla3MiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNjQ0NjI1KSksbD1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSBtb250aHMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNjk0NjE3KSksdT1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSB5ZWFycyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scygyMTY0MDIpKSxjPWU9PmV9LDMwODgxMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt0aW1lRnJhbWVzOigpPT5pfSk7Y29uc3QgaT0oMCxzKDY5MzUwMCkuZ2V0VGltZUZyYW1lcykoKX0sODQ0MzAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2Zvcm1hdFN5bWJvbEFuZFJlc29sdXRpb246KCk9PmkuZm9ybWF0U3ltYm9sQW5kUmVzb2x1dGlvbixmb3JtYXRTeW1ib2xTdHJpbmc6KCk9PmkuZm9ybWF0U3ltYm9sU3RyaW5nLGZvcm1hdFdhdGNobGlzdFRpdGxlOigpPT5uLmZvcm1hdFdhdGNobGlzdFRpdGxlfSk7cygxNjI1OCk7dmFyIGk9cygyNjExNTQpLG49cyg0ODUxNzkpfSw5NjI3MzcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Zm9ybWF0U3R1ZHlFcnJvcjooKT0+cix0cmllc1RyYW5zbGF0ZUVycm9yOigpPT5ufSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGEuZ2V0KGUpfHxlfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUuZm9ybWF0KHtib2xkSGlnaGxpZ2h0U3RhcnQ6IjxiPiIsYm9sZEhpZ2hsaWdodEVuZDoiPC9iPiJ9KX0KY29uc3Qgbz1bWyJZb3UgY2Fubm90IHNlZSB0aGlzIHBpdm90IHRpbWVmcmFtZSBvbiB0aGlzIHJlc29sdXRpb24iLGkudChudWxsLHZvaWQgMCxzKDI5OTE4OCkpXSxbIlRoZSBkYXRhIHZlbmRvciBkb2Vzbid0IHByb3ZpZGUgdm9sdW1lIGRhdGEgZm9yIHRoaXMgc3ltYm9sLiIsaS50KG51bGwsdm9pZCAwLHMoODIzMTY2KSldLFsnSGlzdG9ncmFtIGlzIHRvbyBsYXJnZSwgcGxlYXNlIGluY3JlYXNlICJSb3cgU2l6ZSIgaW5wdXQuJyxpLnQobnVsbCx2b2lkIDAscyg2NjA2MDkpKV0sWyJIaXN0b2dyYW0gaXMgdG9vIGxhcmdlLCBwbGVhc2UgcmVkdWNlICdSb3cgU2l6ZScgaW5wdXQuIixpLnQobnVsbCx2b2lkIDAscygzMzMwOSkpXSxbJ0hpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSAiVGlja3MgUGVyIFJvdyIgaW5wdXQuJyxpLnQobnVsbCx2b2lkIDAscyg0NjkyMCkpXSxbIlRoaXMgc2NyaXB0IGlzIGludml0ZS1vbmx5LiBUbyByZXF1ZXN0IGFjY2VzcywgcGxlYXNlIGNvbnRhY3QgaXRzIGF1dGhvci4iLGkudChudWxsLHZvaWQgMCxzKDQ4NzY5NSkpXSxbIlZvbHVtZSBQcm9maWxlIGluZGljYXRvciBhdmFpbGFibGUgb25seSBvbiBvdXIgdXBncmFkZWQgcGxhbnMuIixpLnQobnVsbCx2b2lkIDAscygzMzI1ODcpKV0sWyJWT0xVTUVfQklTVF9NSVhFRCIsaS50KG51bGwsdm9pZCAwLHMoNDk3NjQyKSldLFsiUnVudGltZSBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNzMwNjM4KSldLFsiQWNjZXNzIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg1NDIyKSldLFsiVXNlci1kZWZpbmVkIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg0MjA0NDkpKV0sWyJDb21waWxhdGlvbiBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNjk3ODgxKSldLFsiTWV0cmljIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg3ODkyOTEpKV0sWyJVcGdyYWRlIHRvIHVubG9jayBmb3JlY2FzdCBtZXRyaWNzIixpLnQobnVsbCx2b2lkIDAscyg5MjM5MTIpKV0sWyJHZXQgYWNjZXNzIHRvIGZvcmVjYXN0IG1ldHJpY3Mgd2l0aCBhbiB1cGdyYWRlZCBwbGFuLiIsaS50KG51bGwsdm9pZCAwLHMoMTc3ODU0KSldLFsiVGhlcmUncyBubyBkYXRhIGZvciB5b3VyIHNlbGVjdGVkIHBlcmlvZCBhbmQgY2hhcnQgdGltZWZyYW1lLiIsaS50KG51bGwsdm9pZCAwLHMoNzEyMTg2KSldLFsiVGhlIHJlcXVlc3QgdG9vayB0b28gbG9uZyB0byBwcm9jZXNzLiBFbnN1cmUgeW91IGhhdmUgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbi4gSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCB0cnkgZGVjcmVhc2luZyB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ZWQgdGltZSBpbnRlcnZhbC4iLGkudChudWxsLHZvaWQgMCxzKDE4MjAyMCkpXSxbIlVuZXhwZWN0ZWQgZXJyb3IgaW4gRGVlcCBCYWNrdGVzdGluZyBtb2RlLiBDb250YWN0IHN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIixpLnQobnVsbCx2b2lkIDAscyg5MzI4KSldLFsiY2hlY2sgc3R1ZHkgdW5leHBlY3RlZCBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNDAwMzIwKSldLFsiVG8gY2FsY3VsYXRlIHRoZSBWV0FQIGluZGljYXRvciwgbW9yZSBkYXRhIGlzIG5lZWRlZC4gWm9vbSBvdXQgb3Igc2Nyb2xsIGxlZnQgdG8gbG9hZCBtb3JlIGhpc3RvcmljYWwgZGF0YS4iLGkudChudWxsLHZvaWQgMCxzKDc1MzAyNCkpXSxbIlZXQVAgaXMgd2FpdGluZyBmb3IgbW9yZSBkYXRhIixpLnQobnVsbCx2b2lkIDAscygzNjQ3MzYpKV0sWyJUaGUgYmFyIG1hZ25pZmllciBpcyBvbmx5IGF2YWlsYWJsZSB0byB0aGUgUHJlbWl1bSBwbGFuIG9yIGhpZ2hlci4iLGkudChudWxsLHZvaWQgMCxzKDI4MDYyKSldLFsiU3RyYXRlZ3kgY2FsY3VsYXRpb24gb24gZWFjaCBoaXN0b3JpY2FsIHRpY2sgaXMgYXZhaWxhYmxlIHRvIFByZW1pdW0gYW5kIFVsdGltYXRlIHBsYW5zIG9ubHkuIFVwZ3JhZGUgeW91ciBwbGFuIHRvIGFjY2VzcyB0aGlzIGZlYXR1cmUuIixpLnQobnVsbCx2b2lkIDAscygxMjMyMTkpKV1dLGE9bmV3IE1hcChvKX0sMjQ2ODkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKCl7cmV0dXJuIFByb21pc2UuYWxsKFtzLmUoMjc4MjApLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNTIzOTYpLHMuZSg2MDA2Mikscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg0MDQyKSxzLmUoMjU1NTQpLHMuZSg5OTQ0OCkscy5lKDMyMzg3KSxzLmUoMzk2MDkpLHMuZSg5MTA3KV0pLnRoZW4ocy5iaW5kKHMsNTg3MzU0KSl9cy5kKHQse2ltcG9ydFBvcHVwUmVuZGVyOigpPT5pfSl9LDE0NzgwNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjbG9zZUN1cnJlbnRQdWJsaWNhdGlvblZpZXdQb3B1cDooKT0+YSxnZXRQdWJsaWNhdGlvblR5cGU6KCk9Pm4uZ2V0UHVibGljYXRpb25UeXBlLG9wZW5QdWJsaWNhdGlvblZpZXdQb3B1cDooKT0+dSxwcmVsb2FkUHVibGljYXRpb25WaWV3UG9wdXA6KCk9Pmx9KTt2YXIgaT1zKDI0Njg5KSxuPXMoNjg2NTEzKTtsZXQgcj0hMTthc3luYyBmdW5jdGlvbiBvKCl7cmV0dXJuIHI9ITAsUHJvbWlzZS5hbGwoW3MuZSgzNDI4NCkscy5lKDEyMzg1KSxzLmUoMzMxMCkscy5lKDMzNjcpLHMuZSg2NjQ3MildKS50aGVuKHMuYmluZChzLDQzNTM4MCkpfWFzeW5jIGZ1bmN0aW9uIGEoKXtpZighcilyZXR1cm47Y29uc3QgZT1hd2FpdCBvKCk7YXdhaXQgZS5jbG9zZUN1cnJlbnRQdWJsaWNhdGlvblZpZXdQb3B1cCgpfWFzeW5jIGZ1bmN0aW9uIGwoZSl7bygpLCgwLGkuaW1wb3J0UG9wdXBSZW5kZXIpKCksKDAsbi5pbXBvcnRFbnRyeUNvbXBvbmVudCkoZSl9YXN5bmMgZnVuY3Rpb24gdShlKXtyZXR1cm4oYXdhaXQgbygpKS5vcGVuUHVibGljYXRpb25WaWV3UG9wdXAoZSl9fSwyMTYxMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7aWYobnVsbCE9ZSYmImJvb2xlYW4iIT10eXBlb2YgZSYmIWlzTmFOKE51bWJlcihlKSkpcmV0dXJuIE51bWJlcihlKX1mdW5jdGlvbiBuKGUpe2lmKG51bGwhPWUmJiJudW1iZXIiIT10eXBlb2YgZSYmImJvb2xlYW4iIT10eXBlb2YgZSlyZXR1cm4gU3RyaW5nKGUpfXMuZCh0LHsKdG9OdW1iZXJPclVuZGVmaW5lZDooKT0+aSx0b1N0cmluZ09yVW5kZWZpbmVkOigpPT5ufSl9LDMyNjA0OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtCYWRSZXF1ZXN0RXJyb3JSZXNwb25zZTooKT0+bn0pO3ZhciBpPXMoMTMzODc0KTtjbGFzcyBuIGV4dGVuZHMgaS5FcnJvclJlc3BvbnNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iQmFkUmVxdWVzdEVycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1lLmVycm9yOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fX0sMTMzODc0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0Vycm9yUmVzcG9uc2U6KCk9Pml9KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3N0YXR1cz1lLnN0YXR1cyx0aGlzLl9zdGF0dXNUZXh0PWUuc3RhdHVzVGV4dHx8IiJ9Z2V0SW5mbygpe3JldHVybntuYW1lOnRoaXMubmFtZSxzdGF0dXM6dGhpcy5fc3RhdHVzLHN0YXR1c1RleHQ6dGhpcy5fc3RhdHVzVGV4dCxtZXNzYWdlOnRoaXMubWVzc2FnZX19fX0sMzA4Mzg4KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldFN5bWJvbERhdGE6KCk9Pmx9KTt2YXIgaT1zKDM4NDAxNyksbj1zKDIxNjA3OSkscj1zKDMyNjA0OCksbz1zKDE1ODc2MyksYT1zKDc3MDgyNSk7ZnVuY3Rpb24gbChlLHQscyxsLHU9ITAsYz0hMSl7Y29uc3QgZD1zLmpvaW4oIiwiKSxoPSgwLG4uZ2V0U3ltYm9sRGF0YVVybCkodCxkLGwsdSxjKSxwPXtzaWduYWw6ZSxtZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9fTtyZXR1cm4oMCxpLmZldGNoKShoLHAse2xvZ09uRXJyb3JTdGF0dXM6ITF9KS50aGVuKChlPT57aWYoNDAwPT09ZS5zdGF0dXMpe2NvbnN0e3N0YXR1czp0LHN0YXR1c1RleHQ6c309ZTtyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+e2NvbnN0IGk9ZS5lcnJtc2c7dGhyb3cgbmV3IHIuQmFkUmVxdWVzdEVycm9yUmVzcG9uc2Uoe3N0YXR1czp0LHN0YXR1c1RleHQ6cyxlcnJvcjppfSl9KSl9aWYoNDA0PT09ZS5zdGF0dXMpe2NvbnN0e3N0YXR1czp0LHN0YXR1c1RleHQ6c309ZTtyZXR1cm4gZS5qc29uKCkudGhlbigoaT0+e2lmKCJzeW1ib2xfbm90X2V4aXN0cyI9PT1pLmNvZGUpe2NvbnN0IGU9aS5lcnJtc2c7dGhyb3cgbmV3IGEuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSh7c3RhdHVzOnQsc3RhdHVzVGV4dDpzLGVycm9yOmV9KX10aHJvdyBuZXcgby5IdHRwRXJyb3JSZXNwb25zZShlKX0pKX1pZihlLm9rKXJldHVybiBlLmpzb24oKS50aGVuKChlPT5lKSk7dGhyb3cgbmV3IG8uSHR0cEVycm9yUmVzcG9uc2UoZSl9KSl9fSwxNTg3NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7SHR0cEVycm9yUmVzcG9uc2U6KCk9Pm59KTt2YXIgaT1zKDEzMzg3NCk7Y2xhc3MgbiBleHRlbmRzIGkuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9Ikh0dHBFcnJvclJlc3BvbnNlIix0aGlzLl9zdGF0dXM+PTIwMCYmdGhpcy5fc3RhdHVzPDMwMD90aGlzLm1lc3NhZ2U9YEh0dHAgZmFpbHVyZSBkdXJpbmcgcGFyc2luZyBmb3IgJHtlLnVybHx8Iih1bmtub3duIHVybCkifWA6dGhpcy5tZXNzYWdlPWBIdHRwIGZhaWx1cmUgcmVzcG9uc2UgZm9yICR7ZS51cmx8fCIodW5rbm93biB1cmwpIn06ICR7ZS5zdGF0dXN9ICR7ZS5zdGF0dXNUZXh0fWB9fX0sNzcwODI1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1N5bWJvbERvZXNOb3RFeGlzdEVycm9yUmVzcG9uc2U6KCk9Pm59KTt2YXIgaT1zKDEzMzg3NCk7Y2xhc3MgbiBleHRlbmRzIGkuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9IlN5bWJvbERvZXNOb3RFeGlzdEVycm9yIix0aGlzLm1lc3NhZ2U9ZS5lcnJvcnx8InN5bWJvbCBkb2VzIG5vdCBleGlzdCJ9fX0sMjE2MDc5KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe3JldHVybiB3aW5kb3cuU0NSRUVORVJfSE9TVHx8Imh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20ifWZ1bmN0aW9uIG4oZSx0KXtjb25zdCBzPWkoKTtyZXR1cm4gdD9gJHtzfS8ke3R9L2A6MT09PWUubGVuZ3RoP2Ake3N9LyR7ZVswXX0vYDpgJHtzfS9nbG9iYWwvYH1mdW5jdGlvbiByKGUsdCxzLG4scil7Y29uc3Qgbz1pKCksYT17c3ltYm9sOmUsZmllbGRzOnR9O24mJihhLm5vXzQwND0idHJ1ZSIpLHImJihhLnByaWNlX2NvbnZlcnNpb249ImRpc2FibGVkIikscyYmKGFbImxhYmVsLXByb2R1Y3QiXT1zKTtjb25zdCBsPW5ldyBVUkwoYCR7b30vc3ltYm9sYCk7cmV0dXJuIE9iamVjdC5rZXlzKGEpLmZvckVhY2goKGU9PntsLnNlYXJjaFBhcmFtcy5hcHBlbmQoZSxhW2VdKX0pKSxsLnRvU3RyaW5nKCl9ZnVuY3Rpb24gbyhlLHQpe3JldHVybmAke2koKX0vZW51bT9pZD0ke2V9Jmxhbmc9JHt0fHx3aW5kb3cubGFuZ3VhZ2V8fCJlbiJ9YH1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuYCR7aSgpfS9lbnVtL29yZGVyZWQ/aWQ9JHtlfSZsYW5nPSR7dHx8d2luZG93Lmxhbmd1YWdlfHwiZW4ifWB9cy5kKHQse2dldEJhY2tlbmRVcmw6KCk9Pm4sZ2V0RW51bU9yZGVyZWRSZWdpc3RyeVVybDooKT0+YSxnZXRFbnVtUmVnaXN0cnlVcmw6KCk9Pm8sZ2V0U3ltYm9sRGF0YVVybDooKT0+cn0pfSw2NDEwMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse2NyZWF0ZU5vdGljZURpYWxvZzooKT0+bixzaG93Tm90aWNlRGlhbG9nOigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7cmV0dXJuKGF3YWl0IFByb21pc2UuYWxsKFtzLmUoODcyMzgpLHMuZSg1NDY4MSkscy5lKDMxODM3KSxzLmUoMjA5NzEpLHMuZSg0OTUxOCkscy5lKDc1MzA0KSxzLmUoMzgwMDIpLHMuZSg3MDM2NCkscy5lKDg5MTk1KSxzLmUoNzUwNCkscy5lKDQ2NjAwKSxzLmUoMTA3MDQpXSkudGhlbihzLmJpbmQocywyMzU3MikpKS5jcmVhdGVEaWFsb2coe3dpZHRoOjQwMCxkZXN0cm95T25DbG9zZTohMCx0aXRsZTppLnQobnVsbCx2b2lkIDAscyg1NjE2MDApKSwKY29udGVudDppLnQobnVsbCx2b2lkIDAscyg3MjM2MykpLGNvbnRlbnRXcmFwVGVtcGxhdGU6JzxkaXYgY2xhc3M9InR2LWRpYWxvZ19fc2VjdGlvbiB0di1kaWFsb2dfX3NlY3Rpb24tLW5vLWJvcmRlciI+PGRpdiBjbGFzcz0idHYtdGV4dCI+PHA+PC9wPjwvZGl2PjwvZGl2PicsYWN0aW9uc1dyYXBUZW1wbGF0ZTonPGRpdiBjbGFzcz0idHYtZGlhbG9nX19zZWN0aW9uIHR2LWRpYWxvZ19fc2VjdGlvbi0tYWN0aW9ucyB0di1kaWFsb2dfX3NlY3Rpb24tLW5vLWJvcmRlciI+JyxhY3Rpb25zOlt7bmFtZToib2siLHR5cGU6InByaW1hcnkiLHRleHQ6aS50KG51bGwsdm9pZCAwLHMoMjA4MDc4KSksbWV0aG9kOiJjbG9zZSIsa2V5OlsxMywzMl19XSwuLi5lfSl9ZnVuY3Rpb24gcihlKXtuKGUpLnRoZW4oKGU9PmUub3BlbigpKSl9fSw1MDg3NDcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0U6KCk9Pml9KTtjb25zdCBpPSgwLHMoNDczMDY4KS5jcmVhdGVTZXJ2aWNlRGVzY3JpcHRvcikoIlN5bWJvbExpc3RSZXBvc2l0b3J5QmFja2VuZCIpfSw1ODA1MjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0TG9jYWxMaXN0U3ltYm9sczooKT0+aCxsb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9sczooKT0+bCxyZW1vdGVSZW5hbWVTZXBhcmF0b3JzOigpPT5jLHJlbW90ZVN5bWJvbHNGb3JtTG9jYWxTdGF0ZTooKT0+dSxzZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbjooKT0+ZH0pO3ZhciBpPXMoMTM4NjM4KSxuPXMoOTAxMDIyKSxyPXMoNzA1MDEyKSxvPXMoOTIyMjQ4KTtjb25zdCBhPW5ldyBSZWdFeHAoYF4ke24uU0VQQVJBVE9SX1BSRUZJWH0o4oGkKT8oLispJGApO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD1bXSxzPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFssaSxyXT1lLm1hdGNoKGEpfHxbXTtpZihyKXtjb25zdCBlPWAke24uU0VQQVJBVE9SX1BSRUZJWH0ke3J9YDtpJiZzLnB1c2goZSksdC5wdXNoKGUpfWVsc2UgdC5wdXNoKGUpfSkpLHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczpzfX1mdW5jdGlvbiB1KGUsdCl7Y29uc3Qgcz1tKGUpO3JldHVybiB0Lm1hcCgoZT0+cz8uaGFzT3duUHJvcGVydHkoZSk/ZChlLHNbZV0pOmUpKX1mdW5jdGlvbiBjKGUsdCxzKXtjb25zdCBpPW0oZSk7aWYoaT8uaGFzT3duUHJvcGVydHkocykpe2NvbnN0IGU9aVtzXTtyZXR1cm57b2xkU2VwYXJhdG9yOmQodCxlKSxuZXdTZXBhcmF0b3I6ZChzLGUpfX1yZXR1cm57b2xkU2VwYXJhdG9yOnQsbmV3U2VwYXJhdG9yOnN9fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBzPWUucmVwbGFjZShuLlNFUEFSQVRPUl9QUkVGSVgsIiIpLnJlcGxhY2UoIuKBpCIsIiIpO3JldHVybmAke24uU0VQQVJBVE9SX1BSRUZJWH0ke3Q/IuKBpCI6IiJ9JHtzfWB9ZnVuY3Rpb24gaChlKXtjb25zdCB0PXAoKTtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHQubWFya2VkTGlzdHM/Lmxpc3RzLmJ5Q29sb3JbZV0/LnN5bWJvbHN8fHQuY3VzdG9tTGlzdHMubGlzdHMuYnlJZFtlXT8uc3ltYm9scyl9ZnVuY3Rpb24gcCgpe3JldHVybigwLHIuc2VydmljZSkoby5TWU1CT0xfTElTVF9TRVJWSUNFKS5zdG9yZS5nZXRTdGF0ZSgpfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIHAoKS5jb2xsYXBzZWRTZXBhcmF0b3JzW2VdfX0sNjIxMjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cGVuZGluZ09wZW5TZXBhcmF0b3JzOigpPT5pfSk7Y29uc3QgaT1uZXcgU2V0fSw0MzM3MzUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7cy5kKHQse0NvbXBhcmVPcHRpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlW2UuU2FtZVBjdFNjYWxlPTBdPSJTYW1lUGN0U2NhbGUiLGVbZS5OZXdQcmljZVNjYWxlPTFdPSJOZXdQcmljZVNjYWxlIixlW2UuTmV3UGFuZT0yXT0iTmV3UGFuZSIsZVtlLlNhbWVTY2FsZT0zXT0iU2FtZVNjYWxlIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLlN5bWJvbFNlYXJjaD0ic3ltYm9sU2VhcmNoIixlLldhdGNobGlzdD0id2F0Y2hsaXN0IixlLkV4Y2hhbmdlPSJleGNoYW5nZSIsZS5Db21wYXJlPSJjb21wYXJlIixlLk9wdGlvbnM9Im9wdGlvbnMifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2UuRml4ZWQ9ImZpeGVkIixlLkF1dG89ImF1dG8ifShyfHwocj17fSkpfSwzNTM4MShlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtURUNITklDQUxTX1FTX0ZJRUxEUzooKT0+bixURUNITklDQUxTX1NDUkVFTkVSX0NPTFVNTlM6KCk9PnUscmVxdWlyZWRNQUNvbHVtbnM6KCk9PmEscmVxdWlyZWRPc2NDb2x1bW5zOigpPT5vLHJlcXVpcmVkUGl2b3RzQ29sdW1uczooKT0+bCxyZXF1aXJlZFJlY29tbWVuZENvbHVtbnM6KCk9PnJ9KSxmdW5jdGlvbihlKXtlLlR5cGU9InR5cGUiLGUuTGlzdGVkRXhjaGFuZ2U9Imxpc3RlZF9leGNoYW5nZSIsZS5QcmljZXNjYWxlPSJwcmljZXNjYWxlIixlLlR5cGVzcGVjcz0idHlwZXNwZWNzIixlLlByb05hbWU9InByb19uYW1lIixlLlNob3J0TmFtZT0ic2hvcnRfbmFtZSJ9KGl8fChpPXt9KSkKO2NvbnN0IG49WyJ0eXBlIiwibGlzdGVkX2V4Y2hhbmdlIiwicHJpY2VzY2FsZSIsInR5cGVzcGVjcyIsInByb19uYW1lIiwic2hvcnRfbmFtZSJdLHI9WyJSZWNvbW1lbmQuT3RoZXIiLCJSZWNvbW1lbmQuQWxsIiwiUmVjb21tZW5kLk1BIl0sbz1bIlJTSSIsIlN0b2NoLksiLCJDQ0kyMCIsIkFEWCIsIkFPIiwiTW9tIiwiTUFDRC5tYWNkIiwiU3RvY2guUlNJLksiLCJXLlIiLCJCQlBvd2VyIiwiVU8iXSxhPVsiRU1BMTAiLCJTTUExMCIsIkVNQTIwIiwiU01BMjAiLCJFTUEzMCIsIlNNQTMwIiwiRU1BNTAiLCJTTUE1MCIsIkVNQTEwMCIsIlNNQTEwMCIsIkVNQTIwMCIsIlNNQTIwMCIsIkljaGltb2t1LkJMaW5lIiwiVldNQSIsIkh1bGxNQTkiXSxsPVsiUGl2b3QuTS5DbGFzc2ljLlIzIiwiUGl2b3QuTS5DbGFzc2ljLlIyIiwiUGl2b3QuTS5DbGFzc2ljLlIxIiwiUGl2b3QuTS5DbGFzc2ljLk1pZGRsZSIsIlBpdm90Lk0uQ2xhc3NpYy5TMSIsIlBpdm90Lk0uQ2xhc3NpYy5TMiIsIlBpdm90Lk0uQ2xhc3NpYy5TMyIsIlBpdm90Lk0uRmlib25hY2NpLlIzIiwiUGl2b3QuTS5GaWJvbmFjY2kuUjIiLCJQaXZvdC5NLkZpYm9uYWNjaS5SMSIsIlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZSIsIlBpdm90Lk0uRmlib25hY2NpLlMxIiwiUGl2b3QuTS5GaWJvbmFjY2kuUzIiLCJQaXZvdC5NLkZpYm9uYWNjaS5TMyIsIlBpdm90Lk0uQ2FtYXJpbGxhLlIzIiwiUGl2b3QuTS5DYW1hcmlsbGEuUjIiLCJQaXZvdC5NLkNhbWFyaWxsYS5SMSIsIlBpdm90Lk0uQ2FtYXJpbGxhLk1pZGRsZSIsIlBpdm90Lk0uQ2FtYXJpbGxhLlMxIiwiUGl2b3QuTS5DYW1hcmlsbGEuUzIiLCJQaXZvdC5NLkNhbWFyaWxsYS5TMyIsIlBpdm90Lk0uV29vZGllLlIzIiwiUGl2b3QuTS5Xb29kaWUuUjIiLCJQaXZvdC5NLldvb2RpZS5SMSIsIlBpdm90Lk0uV29vZGllLk1pZGRsZSIsIlBpdm90Lk0uV29vZGllLlMxIiwiUGl2b3QuTS5Xb29kaWUuUzIiLCJQaXZvdC5NLldvb2RpZS5TMyIsIlBpdm90Lk0uRGVtYXJrLlIxIiwiUGl2b3QuTS5EZW1hcmsuTWlkZGxlIiwiUGl2b3QuTS5EZW1hcmsuUzEiXSx1PVsuLi5yLC4uLm8sLi4uYSwuLi5sXX0sNzU5OTcwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2lzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlOigpPT5sfSk7dmFyIGk9cyg5MzA1NjYpLG49cyg5MzAyMzEpLHI9cygyMzIzNjQpO2NvbnN0IG89ISgwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfbGVmdF90b29sYmFyX2J5X2RlZmF1bHQiKSxhPWkuZ2V0Qm9vbCgiQ2hhcnREcmF3aW5nVG9vbGJhcldpZGdldC52aXNpYmxlIixvKSxsPW5ldyByLldhdGNoZWRWYWx1ZShhKX0sODkwODM1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2N1cnJlbnRMYXlvdXQ6KCk9Pml9KTtjb25zdCBpPW5ldyhzKDIzMjM2NCkuV2F0Y2hlZFZhbHVlKShudWxsKX0sMTk4OTAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2NhbGN1bGF0ZU1pbk1heDooKT0+Qyxjb2xsZWN0QWxsUGF0aHM6KCk9Pk0sY29tcGFyZVR3b0NvbGxlY3Rpb25zQnlJZHM6KCk9PmIsZmluZEZpcnN0OigpPT5mLGluZGV4T2Y6KCk9PnYsaW50ZXJzZWN0OigpPT5fLGpvaW46KCk9PmcsbG93ZXJib3VuZDooKT0+bCxsb3dlcmJvdW5kRXh0OigpPT5hLG1hcEVudHJpZXNHZW5lcmF0b3I6KCk9PncsbWluTWF4OigpPT5ULG1vdmVBZnRlcjooKT0+cCxtb3ZlQmVmb3JlOigpPT5tLG1vdmVUb0hlYWQ6KCk9PmgsbmVzdGVkTWFwR2VuZXJhdG9yOigpPT5QLHJlbW92ZUVtcHR5T2JqZWN0c0Zyb21SZWNvcmRJbnBsYWNlOigpPT5JLHJlbW92ZUl0ZW1Gcm9tQXJyYXk6KCk9PnkscmV2ZXJ0UmVjb3JkOigpPT5ELHN1YnRyYWN0OigpPT5kLHN1bTooKT0+Uyx1cHBlcmJvdW5kOigpPT5jfSk7dmFyIGk9cygxNDQ1NTUpLG49cyg4ODAxMTUpLHI9cygxMzg2MzgpO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm4gZTx0fWZ1bmN0aW9uIGEoZSx0LHMsaSxuKXtsZXQgcj1uLWk7Zm9yKDswPHI7KXtjb25zdCBuPXI+PjEsbz1pK247cyhlKG8pLHQpPyhpPW8rMSxyLT1uKzEpOnI9bn1yZXR1cm4gaX1mdW5jdGlvbiBsKGUsdCxzLGk9MCxuPWUubGVuZ3RoKXtyZXR1cm4gYSgodD0+ZVt0XSksdCxzLGksbil9ZnVuY3Rpb24gdShlLHQscz0wLGk9ZS5sZW5ndGgpe3JldHVybiBsKGUsdCxvLHMsaSl9ZnVuY3Rpb24gYyhlLHQscyxpPTAsbj1lLmxlbmd0aCl7bGV0IHI9bi1pO2Zvcig7MDxyOyl7Y29uc3Qgbj1yPj4xLG89aStuO3ModCxlW29dKT9yPW46KGk9bysxLHItPW4rMSl9cmV0dXJuIGl9ZnVuY3Rpb24gZChlLHQpe3JldHVybiBlLmZpbHRlcigoZT0+IXQuaW5jbHVkZXMoZSkpKX1mdW5jdGlvbiBoKGUsdCl7Y29uc3Qgcz1lLmluZGV4T2YodCk7cmV0dXJuIHM8MD9lLnNsaWNlKCk6W3RdLmNvbmNhdChlLnNsaWNlKDAscykpLmNvbmNhdChlLnNsaWNlKHMrMSkpfWZ1bmN0aW9uIHAoZSx0LHMpe2NvbnN0IGk9bmV3IFNldCh0KSxuPVtdLHI9W10sbz1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoZSx0KT0+e2kuaGFzKGUpP3IucHVzaChlKToobi5wdXNoKGUpLG8ucHVzaCh0KSl9KSkscz1zPGUubGVuZ3RoLTE/dShvLHMrMSk6bi5sZW5ndGgsbi5zcGxpY2UocywwLC4uLnIpLHtuZXdJdGVtczpuLG1vdmVkSXRlbXNTdGFydEluZGV4OnN9fWZ1bmN0aW9uIG0oZSx0LHMpe2NvbnN0IGk9bmV3IFNldCh0KSxuPVtdLHI9W10sbz1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoZSx0KT0+e2kuaGFzKGUpP3IucHVzaChlKToobi5wdXNoKGUpLG8ucHVzaCh0KSl9KSkscz1zPD1lLmxlbmd0aC0xP3UobyxzKTpuLmxlbmd0aCxuLnNwbGljZShzLDAsLi4ucikse25ld0l0ZW1zOm4sbW92ZWRJdGVtc1N0YXJ0SW5kZXg6c319ZnVuY3Rpb24gXyhlLHQpe2NvbnN0IHM9bmV3IFNldDtyZXR1cm4gZS5mb3JFYWNoKChlPT57dC5oYXMoZSkmJnMuYWRkKGUpfSkpLHN9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IHM9bmV3IFNldChlKTtyZXR1cm4gdC5mb3JFYWNoKChlPT5zLmFkZChlKSkpLHN9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5pbmRleE9mKHQpOygwLApyLmFzc2VydCkoLTEhPT1zLCJJdGVtIGlzIG5vdCBmb3VuZCIpLGUuc3BsaWNlKHMsMSl9ZnVuY3Rpb24gZihlLHQpe2Zvcihjb25zdCBzIG9mIGUpaWYodChzKSlyZXR1cm4gcztyZXR1cm4gbnVsbH1mdW5jdGlvbiB2KGUsdCl7Zm9yKGxldCBzPTA7czxlLmxlbmd0aDtzKyspaWYodChlW3NdKSlyZXR1cm4gcztyZXR1cm4tMX1mdW5jdGlvbiBiKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcylpZihlW3NdLmlkKCkhPT10W3NdLmlkKCkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gUyhlKXtyZXR1cm4gZS5yZWR1Y2UoKChlLHQpPT5lK3QpLDApfWZ1bmN0aW9uKncoZSl7Zm9yKGNvbnN0W3Qsc11vZiBlKXlpZWxkW3Qsc119ZnVuY3Rpb24qUChlLHQpe2Zvcihjb25zdFtzLGldb2YgZSlpZih2b2lkIDA9PT10KWZvcihjb25zdFssZV1vZiBpKXlpZWxkW3MsZV07ZWxzZXtjb25zdCBlPWkuZ2V0KHQpO3ZvaWQgMCE9PWUmJih5aWVsZFtzLGVdKX19ZnVuY3Rpb24gVChlKXtyZXR1cm5bTWF0aC5taW4oLi4uZSksTWF0aC5tYXgoLi4uZSldfWZ1bmN0aW9uIEMoZSx0KXtyZXR1cm4gVChlLm1hcCh0KSl9ZnVuY3Rpb24gRShlKXtmb3IobGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtLSlBcnJheS5pc0FycmF5KGVbdF0pPyhFKGVbdF0pLCgwLGkuZGVmYXVsdCkoZVt0XSkmJmUuc3BsaWNlKHQsMSkpOigwLG4uZGVmYXVsdCkoZVt0XSkmJihJKGVbdF0pLCgwLGkuZGVmYXVsdCkoZVt0XSkmJmUuc3BsaWNlKHQsMSkpfWZ1bmN0aW9uIEkoZSl7Y29uc3QgdD1PYmplY3Qua2V5cyhlKTtmb3IoY29uc3QgcyBvZiB0KUFycmF5LmlzQXJyYXkoZVtzXSk/KEUoZVtzXSksKDAsaS5kZWZhdWx0KShlW3NdKSYmZGVsZXRlIGVbc10pOigwLG4uZGVmYXVsdCkoZVtzXSkmJihJKGVbc10pLCgwLGkuZGVmYXVsdCkoZVtzXSkmJmRlbGV0ZSBlW3NdKTtyZXR1cm4gZX1mdW5jdGlvbiBMKGUsdCxzKXtjb25zdCBpPU9iamVjdC5rZXlzKGUpO2Zvcihjb25zdCByIG9mIGkpe2NvbnN0IGk9dD9gJHt0fS4ke3J9YDpyOygwLG4uZGVmYXVsdCkoZVtyXSk/TChlW3JdLGkscyk6cy5wdXNoKGkpfX1mdW5jdGlvbiBNKGUpe2NvbnN0IHQ9W107cmV0dXJuIEwoZSwiIix0KSx0fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLnJlZHVjZSgoKGUsW3Qsc10pPT4oZVtzXT10LGUpKSx7fSl9fSw4MTUzNTQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2xldCB0PWU7Y29uc3Qgcz0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHMpLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLHMpLCgpPT57dD1udWxsfX1zLmQodCx7Y2FsbFdoZW5PbmxpbmU6KCk9Pml9KX0sMTE1MjkzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RldGVjdEF1dG9EaXJlY3Rpb246KCk9PncsZm9yY2VMVFJTdHI6KCk9PnAsZm9yY2VMVFJTdHJTc3I6KCk9Pm0sZm9yY2VSVExNYXJrc1N0cjooKT0+ZCxmb3JjZVJUTFN0cjooKT0+ZyxnZXRMVFJTY3JvbGxMZWZ0OigpPT55LGdldExUUlNjcm9sbExlZnRPZmZzZXQ6KCk9PmYsaXNSdGw6KCk9Pm8sc2V0RG9jdW1lbnREaXJHZXR0ZXI6KCk9PnIsc3RhcnRXaXRoTFRSOigpPT5oLHN0cmlwTFRSTWFya3M6KCk9PmMsc3RyaXBMVFJTdHJTc3I6KCk9Pl99KTt2YXIgaT1zKDMyMDQwMyk7bGV0IG49KCk9Pm51bGw7ZnVuY3Rpb24gcihlKXtuPWV9Y29uc3Qgbz0oKT0+InJ0bCI9PT1mdW5jdGlvbigpe2NvbnN0IGU9bigpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcigiRG9jdW1lbnQgZGlyZWN0aW9uIGdldHRlciBpcyBub3Qgc2V0LCBjYWxsIHNldERvY3VtZW50RGlyR2V0dGVyIHRvIHNldCBpdCIpO3JldHVybiBlfSgpLGE9IuKAqiIsbD0i4oCsIix1PW5ldyBSZWdFeHAoIuKAjnzigI984oCqfOKAq3zigKwiLCJnIik7ZnVuY3Rpb24gYyhlKXtyZXR1cm4iIiE9PWUmJm8oKSYmbnVsbCE9ZT9lLnJlcGxhY2UodSwiIik6ZX1mdW5jdGlvbiBkKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigI8iK2UrIuKAjiI6ZX1mdW5jdGlvbiBoKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigI4iK2U6ZX1mdW5jdGlvbiBwKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lP2ErZStsOmV9ZnVuY3Rpb24gbShlKXtyZXR1cm4gYStlK2x9ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS5zdGFydHNXaXRoKGEpJiZlLmVuZHNXaXRoKGwpP2Uuc2xpY2UoMSwtMSk6ZX1mdW5jdGlvbiBnKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigKsiK2UrbDplfWZ1bmN0aW9uIHkoZSl7cmV0dXJuKDAsaS5nZXROb3JtYWxpemVkU2Nyb2xsTGVmdCkoZSwicnRsIil9ZnVuY3Rpb24gZihlLHQpe2NvbnN0IHM9KDAsaS5kZXRlY3RTY3JvbGxUeXBlKSgpO2lmKCJpbmRldGVybWluYXRlIj09PXMpcmV0dXJuIDA7c3dpdGNoKHMpe2Nhc2UibmVnYXRpdmUiOnQ9ZS5jbGllbnRXaWR0aC1lLnNjcm9sbFdpZHRoK3Q7YnJlYWs7Y2FzZSJyZXZlcnNlIjp0PWUuc2Nyb2xsV2lkdGgtZS5jbGllbnRXaWR0aC10fXJldHVybiB0fXZhciB2OyFmdW5jdGlvbihlKXtlLkxUUj0ibHRyIixlLlJUTD0icnRsIixlLlVOS05PV049IiJ9KHZ8fCh2PXt9KSk7Y29uc3QgYj0vW15cdTAwMDAtXHUwMDQwXHUwMDVCLVx1MDA2MFx1MDA3Qi1cdTAwQkZcdTAwRDdcdTAwRjdcdTAyQjktXHUwMkZGXHUyMDAwLVx1MjAwRVx1MjAxMC1cdTIwMjlcdTIwMkNcdTIwMkYtXHUyQkZGXS8sUz0vW1x1MDU5MC1cdTA3RkZcdTIwMEZcdTIwMkJcdTIwMkVcdUZCMUQtXHVGREZEXHVGRTcwLVx1RkVGQ10vO2Z1bmN0aW9uIHcoZSl7Y29uc3QgdD1iLmV4ZWMoZSk7cmV0dXJuIHQ/Uy50ZXN0KHRbMF0pPyJydGwiOiJsdHIiOiIifX0sNzA1MDEyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2hhc1NlcnZpY2U6KCk9PnUscmVnaXN0ZXJTZXJ2aWNlOigpPT5hLHNlcnZpY2U6KCk9PmMsdW5yZWdpc3RlclNlcnZpY2U6KCk9Pmwsd2FpdFNlcnZpY2VSZWdpc3RlcmVkOigpPT5kfSk7dmFyIGk9cyg3Njg3NjApLG49cygyMzIzNjQpCjtjb25zdCByPXt9LG89bmV3IE1hcDtmdW5jdGlvbiBhKGUsdCl7aWYodShlKSl0aHJvdyBuZXcgRXJyb3IoIlNlcnZpY2UgYWxyZWFkeSByZWdpc3RlcmVkIik7aChlKS5zZXRWYWx1ZSh0KTtjb25zdCBzPW8uZ2V0KGUpO3ZvaWQgMCE9PXMmJihvLmRlbGV0ZShlKSxzLnJlc29sdmUodCkpfWZ1bmN0aW9uIGwoZSl7aWYoIXUoZSkpdGhyb3cgbmV3IEVycm9yKCJTZXJ2aWNlIG5vdCBmb3VuZCIpO2goZSkuc2V0VmFsdWUobnVsbCl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gbnVsbCE9PWgoZSkudmFsdWUoKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9aChlKS52YWx1ZSgpO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiU2VydmljZUxvY2F0b3I6IFNlcnZpY2UgIitlKyIgbm90IGZvdW5kIik7cmV0dXJuIHR9ZnVuY3Rpb24gZChlKXtpZih1KGUpKXJldHVybiBQcm9taXNlLnJlc29sdmUoYyhlKSk7bGV0IHQ9by5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PXQmJih0PSgwLGkuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLG8uc2V0KGUsdCkpLHQucHJvbWlzZX1mdW5jdGlvbiBoKGUpe2xldCB0PXJbZV07cmV0dXJuIHR8fCh0PW5ldyBuLldhdGNoZWRWYWx1ZShudWxsKSxyW2VdPXQpLHR9fSw0OTExNjUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7YXZhaWxhYmxlRGF0ZUZvcm1hdHM6KCk9PmIsZGF0ZUZvcm1hdEZ1bmN0aW9uczooKT0+ZixkZWZhdWx0RGF0ZUZvcm1hdDooKT0+dyxnZXREYXRlRm9ybWF0V2l0aFdlZWtkYXk6KCk9PnYseXl5eTooKT0+eX0pO3ZhciBpPXMoNzgzMjU0KSxuPXMoODIyNDMxKSxyPXMoODU2MzI0KTtjb25zdCBvPXsxOigpPT5pLnQobnVsbCx2b2lkIDAscyg2NTczNzQpKSwyOigpPT5pLnQobnVsbCx2b2lkIDAscyg2MTczNDEpKSwzOigpPT5pLnQobnVsbCx2b2lkIDAscygxMDMzMDUpKSw0OigpPT5pLnQobnVsbCx2b2lkIDAscyg1MjY3ODUpKSw1OigpPT5pLnQobnVsbCx7Y29udGV4dDoic2hvcnQifSxzKDczNDc1MCkpLDY6KCk9PmkudChudWxsLHZvaWQgMCxzKDg3NzQ1KSksNzooKT0+aS50KG51bGwsdm9pZCAwLHMoMTgzOTU5KSksODooKT0+aS50KG51bGwsdm9pZCAwLHMoOTM3NjIpKSw5OigpPT5pLnQobnVsbCx2b2lkIDAscygxNzg0NjkpKSwxMDooKT0+aS50KG51bGwsdm9pZCAwLHMoNzI4MzM3KSksMTE6KCk9PmkudChudWxsLHZvaWQgMCxzKDY0NjU0NSkpLDEyOigpPT5pLnQobnVsbCx2b2lkIDAscyg3NjkwMzYpKX0sYT17MTooKT0+aS50KG51bGwsdm9pZCAwLHMoODk3NjcpKSwyOigpPT5pLnQobnVsbCx2b2lkIDAscyg5NDg5MjMpKSwzOigpPT5pLnQobnVsbCx2b2lkIDAscygzNjc5MzUpKSw0OigpPT5pLnQobnVsbCx2b2lkIDAscygxNzU1MDcpKX0sbD0oZSx0KT0+KHQ/ZS5nZXRNb250aCgpOmUuZ2V0VVRDTW9udGgoKSkrMSx1PShlLHQpPT50P2UuZ2V0RGF0ZSgpOmUuZ2V0VVRDRGF0ZSgpLGM9KGUsdCk9PnQ/ZS5nZXRGdWxsWWVhcigpOmUuZ2V0VVRDRnVsbFllYXIoKSxkPShlLHQpPT5lLnRvTG9jYWxlRGF0ZVN0cmluZygoMCxyLmdldExhbmd1YWdlKSgpPygwLHIubWFwTGFuZ3VhZ2VDb2RlKSgoMCxyLmdldExhbmd1YWdlKSgpKTp2b2lkIDAse3dlZWtkYXk6InNob3J0Iix0aW1lWm9uZToibG9jYWwiPT09dD92b2lkIDA6dH0pLGg9KGUsdCk9PmFbKChlLHQpPT5NYXRoLmZsb29yKChsKGUsdCktMSkvMykrMSkoZSx0KV0oKSxwPShlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh1KGUsdCksMiksbT0oZSx0KT0+b1tsKGUsdCldKCksXz0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobChlLHQpLDIpLGc9KGUsdCk9PigwLG4ubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGMoZSx0KSUxMDAsMikseT0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYyhlLHQpLDQpLGY9eyJxcSAneXkiOihlLHQpPT5gJHtoKGUsdCl9ICcke2coZSx0KX1gLCJxcSB5eXl5IjooZSx0KT0+YCR7aChlLHQpfSAke3koZSx0KX1gLCJkZCBNTU0gJ3l5IjooZSx0KT0+YCR7cChlLHQpfSAke20oZSx0KX0gJyR7ZyhlLHQpfWAsIk1NTSAneXkiOihlLHQpPT5gJHttKGUsdCl9ICcke2coZSx0KX1gLCJNTU0gZGQsIHl5eXkiOihlLHQpPT5gJHttKGUsdCl9ICR7cChlLHQpfSwgJHt5KGUsdCl9YCwiTU1NIGQsIHl5eXkiOihlLHQpPT5gJHttKGUsdCl9ICR7KChlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh1KGUsdCksMCkpKGUsdCl9LCAke3koZSx0KX1gLCJNTU0geXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHt5KGUsdCl9YCwiTU1NIGRkIjooZSx0KT0+YCR7bShlLHQpfSAke3AoZSx0KX1gLCJkZCBNTU0iOihlLHQpPT5gJHtwKGUsdCl9ICR7bShlLHQpfWAsInl5eXktTU0tZGQiOihlLHQpPT5gJHt5KGUsdCl9LSR7XyhlLHQpfS0ke3AoZSx0KX1gLCJ5eS1NTS1kZCI6KGUsdCk9PmAke2coZSx0KX0tJHtfKGUsdCl9LSR7cChlLHQpfWAsInl5L01NL2RkIjooZSx0KT0+YCR7ZyhlLHQpfS8ke18oZSx0KX0vJHtwKGUsdCl9YCwieXl5eS9NTS9kZCI6KGUsdCk9PmAke3koZSx0KX0vJHtfKGUsdCl9LyR7cChlLHQpfWAsImRkLU1NLXl5eXkiOihlLHQpPT5gJHtwKGUsdCl9LSR7XyhlLHQpfS0ke3koZSx0KX1gLCJkZC1NTS15eSI6KGUsdCk9PmAke3AoZSx0KX0tJHtfKGUsdCl9LSR7ZyhlLHQpfWAsImRkL01NL3l5IjooZSx0KT0+YCR7cChlLHQpfS8ke18oZSx0KX0vJHtnKGUsdCl9YCwiZGQvTU0veXl5eSI6KGUsdCk9PmAke3AoZSx0KX0vJHtfKGUsdCl9LyR7eShlLHQpfWAsIk1NL2RkL3l5IjooZSx0KT0+YCR7XyhlLHQpfS8ke3AoZSx0KX0vJHtnKGUsdCl9YCwiTU0vZGQveXl5eSI6KGUsdCk9PmAke18oZSx0KX0vJHtwKGUsdCl9LyR7eShlLHQpfWB9O2Z1bmN0aW9uIHYoZSx0KXtyZXR1cm4iamEiPT09KDAsci5nZXRMYW5ndWFnZSkoKT8ocyxpKT0+YCR7ZltlXShzLGkpfSAoJHtkKHMsdCl9KWA6KHMsaSk9PmAke2Qocyx0KX0gJHtmW2VdKHMsaSl9YH0KY29uc3QgYj1PYmplY3Qua2V5cyhmKSxTPVsiamEiLCJrbyIsInpoIiwiemhfVFciXSx3PSgpPT5TLmluY2x1ZGVzKCgwLHIuZ2V0TGFuZ3VhZ2UpKCkpPyJ5eXl5LU1NLWRkIjoiZGQgTU1NICd5eSJ9LDYzMjY4NihlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtDb25uZWN0aW9uU3RhdHVzOigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLkNsb3NlZD0wXT0iQ2xvc2VkIixlW2UuQ29ubmVjdGluZz0xXT0iQ29ubmVjdGluZyIsZVtlLk9wZW49Ml09Ik9wZW4ifShpfHwoaT17fSkpfSw4MDk5OTMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0OigpPT5hfSk7dmFyIGk9cygyMjEwNjEpLG49cyg2MzI2ODYpLHI9cygyOTU2MjYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJQZXJzaXN0ZW50V2Vic29ja2V0VHJhbnNwb3J0Iik7Y2xhc3MgYSBleHRlbmRzIHIuUGVyc2lzdGVudFRyYW5zcG9ydHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLG8pLHRoaXMuX3NwZWNpYWxpemVkRXJyb3JIYW5kbGVyQm91bmQ9dGhpcy5fc3BlY2lhbGl6ZWRFcnJvckhhbmRsZXIuYmluZCh0aGlzKX1fY3JlYXRlTmF0aXZlVHJhbnNwb3J0KGUpe2NvbnN0IHQ9bmV3IEV2ZW50U291cmNlKGUse3dpdGhDcmVkZW50aWFsczohMH0pO3JldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzLl9zcGVjaWFsaXplZEVycm9ySGFuZGxlckJvdW5kKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm9wZW4iLHRoaXMuX3NvY2tldE9wZW5IYW5kbGVyKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3NvY2tldE1lc3NhZ2VIYW5kbGVyKSx0fV9kaXNjb25uZWN0VHJhbnNwb3J0KCl7aWYobnVsbD09PXRoaXMuX3NvY2tldClyZXR1cm47dGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzLl9zcGVjaWFsaXplZEVycm9ySGFuZGxlckJvdW5kKSx0aGlzLl9zb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3BlbiIsdGhpcy5fc29ja2V0T3BlbkhhbmRsZXIpLHRoaXMuX3NvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9zb2NrZXRNZXNzYWdlSGFuZGxlciksdGhpcy5fcmVtb3ZlT25PZmZsaW5lTGlzdGVuZXIoKTtjb25zdCBlPXRoaXMuX3NvY2tldDt0aGlzLl9zb2NrZXQ9bnVsbCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKG4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLGUucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5DTE9TRUQmJmUuY2xvc2UoKX1fc3BlY2lhbGl6ZWRFcnJvckhhbmRsZXIoZSl7ZS5ldmVudFBoYXNlPT09RXZlbnRTb3VyY2UuQ0xPU0VEP3RoaXMuX3NvY2tldENsb3NlSGFuZGxlcihlKTp0aGlzLl9zb2NrZXRFcnJvckhhbmRsZXIoKX19fSwyOTU2MjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGVyc2lzdGVudFRyYW5zcG9ydDooKT0+dX0pO3ZhciBpLG49cyg4MTUzNTQpLHI9cygyMzIzNjQpLG89cyg5NDgzODApLGE9cygyMTQ5ODcpLGw9cyg2MzI2ODYpOyFmdW5jdGlvbihlKXtlW2UuTm9ybWFsPTMwMF09Ik5vcm1hbCIsZVtlLlRvb01hbnlSZWNvbm5lY3RzPTVlM109IlRvb01hbnlSZWNvbm5lY3RzIn0oaXx8KGk9e30pKTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl91cmw9IiIsdGhpcy5fc29ja2V0PW51bGwsdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXM9bmV3IHIuV2F0Y2hlZFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLHRoaXMuX3NvY2tldENsb3NlSGFuZGxlcj10aGlzLl9vbkNsb3NlQ2FsbGJhY2suYmluZCh0aGlzKSx0aGlzLl9zb2NrZXRFcnJvckhhbmRsZXI9dGhpcy5fb25FcnJvckNhbGxiYWNrLmJpbmQodGhpcyksdGhpcy5fc29ja2V0T3BlbkhhbmRsZXI9dGhpcy5fb25PcGVuQ2FsbGJhY2suYmluZCh0aGlzKSx0aGlzLl9zb2NrZXRNZXNzYWdlSGFuZGxlcj10aGlzLl9vbk1lc3NhZ2VDYWxsYmFjay5iaW5kKHRoaXMpLHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlPW5ldyBvLkRlbGVnYXRlLHRoaXMuX3N1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnREZWxlZ2F0ZT1uZXcgby5EZWxlZ2F0ZSx0aGlzLl9zaG91bGRSZWNvbm5lY3Q9ITAsdGhpcy5fbWF4UmVjb25uZWN0Q291bnQ9bnVsbCx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0SWQ9MCx0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fdHJ5UmVjb25uZWN0PSgpPT57aWYodGhpcy5fZGlzY29ubmVjdCgpLHRoaXMuX3Nob3VsZFJlY29ubmVjdCl7Y29uc3QgZT10aGlzLl9nZXRSZWNvbm5lY3RUaW1lb3V0KCk7dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChgU2xlZXBpbmcgc29tZSB0aW1lIGJlZm9yZSByZWNvbm5lY3QgJHtlfW1zYCksdGhpcy5fcmVjb25uZWN0VGltZW91dElkPXNldFRpbWVvdXQodGhpcy5fdHJ5UmVjb25uZWN0SW1wbC5iaW5kKHRoaXMpLGUpfWVsc2UgdGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiU2tpcCByZWNvbm5lY3RpbmcgYmVjYXVzZSBvZiBzaG91bGRSZWNvbm5lY3Qgc3RhdGUiKX0sdGhpcy5fb25PZmZsaW5lSGFuZGxlcj0oKT0+e3RoaXMuX3JlbW92ZU9uT2ZmbGluZUxpc3RlbmVyKCksdGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb2ZmbGluZSAtIHRyeWluZyB0byByZWNvbm5lY3QiKSx0aGlzLl90cnlSZWNvbm5lY3QoKX0sdGhpcy5fbG9nZ2VyPXQsdGhpcy5fbWVzc2FnZUhhbmRsZXI9ZSx0aGlzLl9jbG9zZUhhbmRsZXI9cyx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIiwoKCk9Pnt0LmxvZ05vcm1hbCgiVW5sb2FkIGV2ZW50IGNvbWVzIC0gZGlzY29ubmVjdGluZyB3aXRob3V0IHJlY29ubmVjdCBhZnRlciB0aGF0Li4uIiksdGhpcy5fc2hvdWxkUmVjb25uZWN0PSExLHRoaXMuX2Rpc2Nvbm5lY3QoKX0pLCExKX1zZXRVcmwoZSx0KXtpZih0aGlzLl91cmw9PT1lKXJldHVybiBQcm9taXNlLnJlc29sdmUoKQo7Y29uc3Qgcz10aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkO3JldHVybiBzJiZ0aGlzLl9kaXNjb25uZWN0KCksdGhpcy5fdXJsPWUsdGhpcy5fY29ubmVjdGlvbk9wdGlvbnM9dCxzP3RoaXMuY29ubmVjdCgpOlByb21pc2UucmVzb2x2ZSgpfXVybCgpe3JldHVybiB0aGlzLl91cmx9Y29ubmVjdCgpe3JldHVybiB0aGlzLl9jb25uZWN0SW1wbCgpfXNldE1heFJlY29ubmVjdENvdW50KGUpe3RoaXMuX21heFJlY29ubmVjdENvdW50PWV9Y29ubmVjdGlvblN0YXR1cygpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnJlYWRvbmx5KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3Nob3VsZFJlY29ubmVjdD0hMSx0aGlzLl9kaXNjb25uZWN0KCl9bWF4UmVjb25uZWN0UmVhY2hlZEV2ZW50KCl7cmV0dXJuIHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlfXN1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnQoKXtyZXR1cm4gdGhpcy5fc3VjY2Vzc1JlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlfWFzeW5jIF9wcmVwYXJlUGFyYW1zRm9yQ29ubmVjdGlvbihlKXt9X2Rpc2Nvbm5lY3QoKXt0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpLHRoaXMuX2Nvbm5lY3RBYm9ydENvbnRyb2xsZXI9bnVsbCxjbGVhclRpbWVvdXQodGhpcy5fcmVjb25uZWN0VGltZW91dElkKSx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0SWQ9MCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkP3RoaXMuX3NvY2tldD8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChgQ2xvc2luZyBjb25uZWN0aW9uIHRvOiAke3RoaXMuX3NvY2tldC51cmx9LCBjdXJyZW50U3RhdHVzOiAke2wuQ29ubmVjdGlvblN0YXR1c1t0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCldfWApLHRoaXMuX2Rpc2Nvbm5lY3RUcmFuc3BvcnQoKSk6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiRGlzY29ubmVjdGluZyB3aXRob3V0IHNvY2tldCAtIHByb2JhYmx5IHdpdGhpbiBwcmVwYXJpbmcsIGl0IHNob3VsZCBiZSBhbHJlYWR5IHNjaGVkdWxlZCBmb3IgYWJvcnRpbmciKTp0aGlzLl9sb2dnZXIubG9nTm9ybWFsKCJBdHRlbXB0IHRvIGNsb3NlIGNvbm5lY3Rpb24gYnV0IGl0IGlzIGNsb3NlZCBhbHJlYWR5Iil9X29uRXJyb3JDYWxsYmFjaygpe3RoaXMuX2xvZ2dlci5sb2dJbmZvKCJDb25uZWN0aW9uIGlzIGNsb3NlZCBieSBlcnJvciIpLHRoaXMuX3RyeVJlY29ubmVjdCgpfV9vbkNsb3NlQ2FsbGJhY2soZSl7dGhpcy5fbG9nZ2VyLmxvZ0luZm8oYENvbm5lY3Rpb24gaXMgY2xvc2VkIC0gY29kZT0ke2UuY29kZX0gbXNnPSR7ZS5yZWFzb259YCksdGhpcy5fY2xvc2VIYW5kbGVyPy4oZSksdGhpcy5fdHJ5UmVjb25uZWN0KCl9X3RyeVJlY29ubmVjdEltcGwoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21heFJlY29ubmVjdENvdW50JiZ0aGlzLl9yZWNvbm5lY3RDb3VudD09PXRoaXMuX21heFJlY29ubmVjdENvdW50Pyh0aGlzLl9sb2dnZXIubG9nV2FybigiTWF4aW11bSBhdHRlbXB0cyB0byByZWNvbm5lY3QgdG8gd2Vic29ja2V0IHJlYWNoZWQiKSx2b2lkIHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlLmZpcmUoKSk6KHRoaXMuX3JlY29ubmVjdENvdW50Kz0xLHRoaXMuX2xvZ2dlci5sb2dJbmZvKGBSZWNvbm5lY3RpbmcgY291bnQ6ICR7dGhpcy5fcmVjb25uZWN0Q291bnR9YCksbmF2aWdhdG9yLm9uTGluZT8odGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHZvaWQgdGhpcy5jb25uZWN0KCkpOih0aGlzLl9sb2dnZXIubG9nSW5mbygiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHZvaWQodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49KDAsbi5jYWxsV2hlbk9ubGluZSkoKCgpPT57dGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLmNvbm5lY3QoKX0pKSkpKX1fb25PcGVuQ2FsbGJhY2soKXt0aGlzLl9sb2dnZXIubG9nTm9ybWFsKCJDb25uZWN0aW9uIG9wZW5lZCIpLHRoaXMuX3JlY29ubmVjdENvdW50PjAmJnRoaXMuX3N1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnREZWxlZ2F0ZS5maXJlKCksdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5PcGVuKX1fb25NZXNzYWdlQ2FsbGJhY2soZSl7dGhpcy5fbWVzc2FnZUhhbmRsZXIoZS5kYXRhKX1fZ2V0UmVjb25uZWN0VGltZW91dCgpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudDw1PzMwMDo1ZTN9X3NldE9uT2ZmbGluZUxpc3RlbmVyKCl7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuX29uT2ZmbGluZUhhbmRsZXIpfV9yZW1vdmVPbk9mZmxpbmVMaXN0ZW5lcigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvZmZsaW5lIix0aGlzLl9vbk9mZmxpbmVIYW5kbGVyKX1hc3luYyBfY29ubmVjdEltcGwoKXtpZih0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoIkF0dGVtcHQgdG8gb3BlbiBjb25uZWN0aW9uIGJ1dCBpdCBpcyBub3QgY2xvc2VkIik7dGhpcy5fc29ja2V0JiYodGhpcy5fbG9nZ2VyLmxvZ0Vycm9yKCJTb21ldGhpbmcgd2VudCB3cm9uZyAtIGNvZGUgMHgyIiksdGhpcy5kaXNjb25uZWN0KCkpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuJiYodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsKSx0aGlzLl9sb2dnZXIubG9nTm9ybWFsKGBDb25uZWN0aW5nIHRvICR7dGhpcy5fdXJsfWApLHRoaXMuX3Nob3VsZFJlY29ubmVjdD0hMCx0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIKO2NvbnN0IGU9dGhpcy5fY29ubmVjdEFib3J0Q29udHJvbGxlci5zaWduYWw7dHJ5e2lmKHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXMuc2V0VmFsdWUobC5Db25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpLGF3YWl0IHRoaXMuX3ByZXBhcmVQYXJhbXNGb3JDb25uZWN0aW9uKGUpLGUuYWJvcnRlZCl0aHJvdygwLGEuY3JlYXRlQWJvcnRFcnJvcikoKTt0aGlzLl9zb2NrZXQ9dGhpcy5fY3JlYXRlTmF0aXZlVHJhbnNwb3J0KHRoaXMuX3VybCksdGhpcy5fc2V0T25PZmZsaW5lTGlzdGVuZXIoKX1jYXRjaChlKXt0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLCgwLGEuc2tpcEFib3J0RXJyb3IpKGUpfWZpbmFsbHl7dGhpcy5fY29ubmVjdEFib3J0Q29udHJvbGxlcj1udWxsfX19fSw5MDEwMjIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U0VQQVJBVE9SX1BSRUZJWDooKT0+aSxpc1NlcGFyYXRvckl0ZW06KCk9Pm59KTtjb25zdCBpPSIjIyMiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aChpKX19LDY0MTU5MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjYXBpdGFsaXplRmlyc3RMZXR0ZXJJbldvcmQ6KCk9Pm0sZGVjb2RlSFRNTEVudGl0aWVzOigpPT51LGVuY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+XyxodG1sRXNjYXBlOigpPT5kLHJlbW92ZVNwYWNlczooKT0+cCxyZW1vdmVUYWdzOigpPT5ofSk7Y29uc3QgaT0vWzwiJyY+XS9nLG49ZT0+YCYjJHtlLmNoYXJDb2RlQXQoMCl9O2Ascj17IiZsdDsiOiI8IiwiJmd0OyI6Ij4iLCImcXVvdDsiOiciJywiJmFwb3M7IjoiJyIsIiZhbXA7IjoiJiIsIiYjNjA7IjoiPCIsIiYjNjI7IjoiPiIsIiYjMzQ7IjonIicsIiYjMzk7IjoiJyIsIiYjMDM5OyI6IiciLCImIzM4OyI6IiYifSxvPU9iamVjdC5hc3NpZ24oe30sLi4uT2JqZWN0LmVudHJpZXMocikubWFwKCgoW2UsdF0pPT4oe1t0XTplfSkpKSksYT1uZXcgUmVnRXhwKE9iamVjdC5rZXlzKHIpLmpvaW4oInwiKSwiZyIpLGw9bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhvKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiB1KGUpe3JldHVybiBlLnJlcGxhY2UoYSwoZT0+cltlXXx8ZSkpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUucmVwbGFjZShsLChlPT5vW2VdfHxlKSl9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS5yZXBsYWNlKGksbil9ZnVuY3Rpb24gaChlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC8oPChbXj5dKyk+KS9naSwiIil9ZnVuY3Rpb24gcChlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC9ccysvZywiIil9ZnVuY3Rpb24gbShlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC9cYlx3L2csKGU9PmUudG9VcHBlckNhc2UoKSkpfWZ1bmN0aW9uIF8oZSl7Y29uc3QgdD1JbnRsLlNlZ21lbnRlcjtpZih0KXtjb25zdCBzPW5ldyB0KHZvaWQgMCx7Z3JhbnVsYXJpdHk6ImdyYXBoZW1lIn0pLFt7c2VnbWVudDppfT17c2VnbWVudDpudWxsfV09cy5zZWdtZW50KGUpO3JldHVybiBpPy50b1VwcGVyQ2FzZSgpPz9udWxsfXtjb25zdCB0PWUuY29kZVBvaW50QXQoMCk7cmV0dXJuIHQ/U3RyaW5nLmZyb21Db2RlUG9pbnQodCkudG9VcHBlckNhc2UoKTpudWxsfX19LDExMTk1MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtERUZBVUxUX0FESlVTVE1FTlQ6KCk9PnIsREVGQVVMVF9TRVNTSU9OOigpPT5uLERFRkFVTFRfU0VUVExFTUVOVF9BU19DTE9TRTooKT0+byxjb21wYXJlU3ltYm9sczooKT0+YixkZWNvZGVFeHRlbmRlZFN5bWJvbDooKT0+ZyxlbmNvZGVFeHRlbmRlZFN5bWJvbDooKT0+YSxlbmNvZGVFeHRlbmRlZFN5bWJvbFN0cnVjdHVyYWw6KCk9PnAsZXh0cmFjdEV4dGVuZGVkU3ltYm9sOigpPT5mLGdldEV4dGVuZGVkU3ltYm9sOigpPT5fLGlzRW5jb2RlZEV4dGVuZGVkU3ltYm9sOigpPT5tLGlzUmVwbGF5U3ltYm9sOigpPT5oLGlzU3R1ZHlTeW1ib2w6KCk9PmMscmVwbGFjZUV4dGVuZGVkU3ltYm9sOigpPT5TLHN5bWJvbFdpdGhvdXRQcmVmaXg6KCk9PncsdW53cmFwU2ltcGxlU3ltYm9sOigpPT55fSk7dmFyIGk9cyg2MDE4NDEpO2NvbnN0IG49InJlZ3VsYXIiLHI9InNwbGl0cyIsbz0hMDtmdW5jdGlvbiBhKGUpe3JldHVybiI9IitKU09OLnN0cmluZ2lmeShsKGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBPYmplY3Qua2V5cyhlKS5zb3J0KCkucmVkdWNlKCgodCxzKT0+KCJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGVbc10pP3Rbc109bChlW3NdKTp0W3NdPWVbc10sdCkpLHt9KX1mdW5jdGlvbiB1KGUpe3JldHVybigwLGkuaXNTdHJpbmcpKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIXUoZSkmJiJpbnB1dHMiaW4gZX1mdW5jdGlvbiBkKGUpe3JldHVybiF1KGUpJiYicmVwbGF5ImluIGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIXUoZSkmJmQoZS5zeW1ib2wpfShlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBjKGUpfHxoKGUpfHxlLnNlc3Npb258fGUuYWRqdXN0bWVudHx8ZVsiY3VycmVuY3ktaWQiXXx8ZVsidW5pdC1pZCJdfHxlLm1ldHJpYz9hKGUpOmUuc3ltYm9sfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIj0iPT09ZVswXX1mdW5jdGlvbiBfKGUpe3JldHVybiB1KGUpP2coZSk6ZX1mdW5jdGlvbiBnKGUpe2lmKCFtKGUpKXJldHVybntzeW1ib2w6ZX07dHJ5e3JldHVybiBKU09OLnBhcnNlKGUuc2xpY2UoMSkpfWNhdGNoKHQpe3JldHVybntzeW1ib2w6ZX19fWZ1bmN0aW9uIHkoZSl7cmV0dXJuIHUoZSk/ZTp5KGUuc3ltYm9sKX1mdW5jdGlvbiBmKGUpe2lmKHUoZSkpcmV0dXJue3N5bWJvbDplfTtsZXQgdD1lO2Zvcig7IXUodC5zeW1ib2wpOyl0PXQuc3ltYm9sO3JldHVybiB0fWNvbnN0IHY9WyJzeW1ib2wiLCJzZXNzaW9uIiwidW5pdC1pZCIsImN1cnJlbmN5LWlkIiwibWV0cmljIiwiYWRqdXN0bWVudCIsImJhY2thZGp1c3RtZW50Iiwic2V0dGxlbWVudC1hcy1jbG9zZSJdO2Z1bmN0aW9uIGIoZSx0KXtyZXR1cm4gdi5ldmVyeSgocz0+ZVtzXT09PXRbc10pKX0KZnVuY3Rpb24gUyhlLHQpe2xldCBzPWU7Zm9yKDshdShzLnN5bWJvbCk7KXM9cy5zeW1ib2w7cy5zeW1ib2w9dH1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnNwbGl0KCI6Iikuc2xpY2UoLTEpLnBvcCgpPz9lfX0sMzY3OTQ2KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtpZih2b2lkIDA9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5tYXRjaCgvKGRlbGF5ZWRfc3RyZWFtaW5nKV8oXGQrKS8pO3JldHVybiBudWxsPT09dD9udWxsOnttb2RlOnRbMV0saW50ZXJ2YWw6cGFyc2VJbnQodFsyXSl9fWZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1pKGUudXBkYXRlX21vZGUpO3JldHVybiBudWxsPT09dHx8KGUudXBkYXRlX21vZGU9dC5tb2RlLGUudXBkYXRlX21vZGVfc2Vjb25kcz10LmludGVydmFsKSxlfXMuZCh0LHtub3JtYWxpemVVcGRhdGVNb2RlOigpPT5uLHBhcnNlVXBkYXRlTW9kZTooKT0+aX0pfSwzNTYzODAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0VG9vbHRpcERhdGE6KCk9Pm4sc2V0VG9vbHRpcERhdGE6KCk9PnJ9KTtjb25zdCBpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIG4oZSx0KXtjb25zdCBzPWkuZ2V0KGUpO3JldHVybiBzIGluc3RhbmNlb2YgRnVuY3Rpb24/cyh0KTpzJiZzW3RdfWZ1bmN0aW9uIHIoZSx0LHMpe2lmKHMgaW5zdGFuY2VvZiBGdW5jdGlvbilyZXR1cm4gdm9pZCBpLnNldChlLHMpO2NvbnN0IG49aS5nZXQoZSkscj12b2lkIDA9PT1ufHxuIGluc3RhbmNlb2YgRnVuY3Rpb24/e306bjtyW3RdPXMsaS5zZXQoZSxyKX19LDQ5MDM3OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXREYXRhRnJvbVRhcmdldDooKT0+XyxnZXRUb29sdGlwOigpPT5nLGhpZGVUb29sdGlwOigpPT52LHNldFN0eWxlOigpPT55LHNob3dUb29sdGlwOigpPT5mLHVwZGF0ZVRvb2x0aXBUZXh0RnJvbVRhcmdldDooKT0+bX0pO3ZhciBpLG49cygxMzg2MzgpLHI9cyg0NDM1NTcpLG89cyg5NjkxNjgpLGE9KHMoODI5MTgwKSxzKDUxODc1KSksbD1zKDY0MDc0NCksdT1zKDMxODk3NCksYz1zKDY4NjY1MCksZD1zKDM1NjM4MCksaD1zKDM0NTE1MSkscD1zKDExNDA2OCk7ZnVuY3Rpb24gbShlKXtjb25zdCB0PWUuaGFzQXR0cmlidXRlKCJkYXRhLXRvb2x0aXAiKT9lLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwIik6ZS5nZXRBdHRyaWJ1dGUoInRpdGxlIik7cmV0dXJuIHQmJigoMCxkLnNldFRvb2x0aXBEYXRhKShlLCJ0ZXh0Iix0KSxlLnJlbW92ZUF0dHJpYnV0ZSgidGl0bGUiKSksKDAsZC5nZXRUb29sdGlwRGF0YSkoZSwidGV4dCIpfHwiIn1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9bShlKSxzPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT17aDpzLmhlaWdodCx3OnMud2lkdGgseDpzLmxlZnQseTpzLnRvcH0sbj1lLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2xvci10aGVtZSIpfHwiIixyPWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1odG1sIiksbz1wYXJzZUludChlLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWRlbGF5Iil8fCIiKSxhPXBhcnNlSW50KGUuZ2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtZGVib3VuY2UiKXx8IiIpO2xldCBsPXt0eXBlOiJub25lIn07cmV0dXJuIHQmJihsPXt0eXBlOnI/Imh0bWwiOiJ0ZXh0IixkYXRhOnR9KSx7YWJvdmU6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLWFib3ZlIiksYmVsb3c6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLWJlbG93Iiksb3RsOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1vdGwiKSxvdHI6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLW90ciIpLHZlcnRpY2FsOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC12ZXJ0aWNhbCIpLGhvdGtleTplLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWhvdGtleSIpLG5hcnJvdzplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtbmFycm93Iiksd2lkZTplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtd2lkZSIpLGNvbG9yVGhlbWU6bix0b29sdGlwRGVsYXk6byx0b29sdGlwRGVib3VuY2U6YSxyZWN0OmksY29udGVudDpsLHRhcmdldDplfX1mdW5jdGlvbiBnKGUpe2NvbnN0IHQ9KDAsbi5lbnN1cmVOb3ROdWxsKShUKS5jbG9uZU5vZGUoITApLHM9SSh0KSx7Y29udGVudDppfT1lO3N3aXRjaChpLnR5cGUpe2Nhc2UiZWxlbWVudCI6cy5pbm5lckhUTUw9IiIscy5hcHBlbmRDaGlsZChpLmRhdGEpO2JyZWFrO2Nhc2UiaHRtbCI6cy5pbm5lckhUTUw9aS5kYXRhO2JyZWFrO2Nhc2UidGV4dCI6aWYoZS5ob3RrZXkpe2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKShFKS5jbG9uZU5vZGUoITApO2UuaW5uZXJUZXh0PWkuZGF0YSxzLmFwcGVuZENoaWxkKGUpfWVsc2Ugcy5pbm5lclRleHQ9aS5kYXRhfWlmKGUuaG90a2V5KXtjb25zdCB0PSJub25lIiE9PWkudHlwZSxyPSgwLG4uZW5zdXJlTm90TnVsbCkoQykuY2xvbmVOb2RlKCEwKSxvPSgwLGguaG90S2V5RGVzZXJpYWxpemUpKGUuaG90a2V5KSxhPW8ua2V5cy5tYXAoKGU9PmA8c3BhbiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJ1dHRvbiJdfSI+JHtlfTwvc3Bhbj5gKSk7ci5pbm5lckhUTUw9ZnVuY3Rpb24oZSx0KXtjb25zdCBzPS97XGR9fHtob3RrZXlfXGR9L2dpO3JldHVybiBlLnJlcGxhY2UocywoZT0+e2NvbnN0IHM9TnVtYmVyKGUubWF0Y2goL1xkLykpO3JldHVybiB0W3NdfSkpfShvLnRleHQsYSkucmVwbGFjZSgvXHNcK1xzL2csYDxzcGFuIGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19wbHVzLXNpZ24iXX0iPis8L3NwYW4+YCkscy5jbGFzc0xpc3QuYWRkKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSJdKSx0JiZyLmNsYXNzTGlzdC5hZGQocFsiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay0tZGl2aWRlciJdKSxzLmFwcGVuZENoaWxkKHIpfXJldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IixhLnByZXZlbnREZWZhdWx0KSx0fWZ1bmN0aW9uIHkoZSx0KXsKY29uc3Qgcz10LnJlY3Q7aWYoIXMpcmV0dXJuOygwLGMuc2V0VG9vbHRpcENvbG9yVGhlbWUpKGUsdC5jb2xvclRoZW1lfHwiZGVmYXVsdCIpO2NvbnN0IGk9SShlKSxuPWUucXVlcnlTZWxlY3RvcihgLiR7cFsiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXIiXX1gKTt0LmFkZENsYXNzJiZlLmNsYXNzTGlzdC5hZGQodC5hZGRDbGFzcyksdC5hZGRCb2R5Q2xhc3MmJmkuY2xhc3NMaXN0LmFkZCh0LmFkZEJvZHlDbGFzcyksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlIl0sQm9vbGVhbih0LndpZGUpKSxpLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLXBhZGRpbmciXSxCb29sZWFuKHQubm9QYWRkaW5nKSksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ciXSxCb29sZWFuKHQubmFycm93KSksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zIl0sITApLGkuc3R5bGUubGVmdD1iKDApLGkuc3R5bGUud2lkdGg9YihpLmNsaWVudFdpZHRoKyhCb29sZWFuKHQubm9QYWRkaW5nKT8wOjIpKTtjb25zdCByPWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgsYT11LkNoZWNrTW9iaWxlLmlPUygpfHx1LkNoZWNrTW9iaWxlLkFuZHJvaWQoKXx8KDAsdS5zdXBwb3J0VG91Y2gpKCkmJigwLHUuaXNNYWMpKCk/d2luZG93LmlubmVySGVpZ2h0OmRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0LGQ9dC52ZXJ0aWNhbCxoPXQuZXh0ZW5kTWFyZ2lufHxkJiZzLnc8MjB8fCFkJiZzLmg8MjA7ZS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyIl0saCksZS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS12ZXJ0aWNhbCJdLGQpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0taG9yaXpvbnRhbCJdLCFkKTtjb25zdCBtPWZ1bmN0aW9uKGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoYC4ke3BbImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIl19YCl9KGUpLF89ZS5vZmZzZXRIZWlnaHQ7aWYoZCl7Y29uc3QgdT0xMCxjPWEtMTAsZD0xMixoPXUrZCxnPWMtZCx5PSgwLGwuY2xhbXApKHMueStzLmgvMixoLGcpLV8vMixmPXkrXztlLnN0eWxlLmxlZnQ9YihzLngrcy53KSxlLnN0eWxlLnRvcD1iKHkpLHk8dT9pLnN0eWxlLnRvcD1uLnN0eWxlLnRvcD1iKHUteSk6Zj5jJiYoaS5zdHlsZS50b3A9bi5zdHlsZS50b3A9YihjLWYpKTtjb25zdHtyaWdodDp2fT0oZS5xdWVyeVNlbGVjdG9yKCI6bGFzdC1jaGlsZCIpfHxpKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxTPXYrMTA+cjtlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZCJdLFMpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCJdLCFTKTtsZXQgdz1TPyJhZnRlciI6ImJlZm9yZSI7KDAsby5pc1J0bCkoKT8odz10Lm90cj8iYWZ0ZXIiOncsdz10Lm90bD8iYmVmb3JlIjp3KToodz10Lm90cj8iYmVmb3JlIjp3LHc9dC5vdGw/ImFmdGVyIjp3KSxtLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZSJdLCJiZWZvcmUiPT09dyksbS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciJdLCJhZnRlciI9PT13KSwiYWZ0ZXIiPT09dyYmKGUuc3R5bGUubGVmdD0iYXV0byIsZS5zdHlsZS5yaWdodD1iKHItcy54KSl9ZWxzZXtjb25zdCBvPXMueC0oaS5vZmZzZXRXaWR0aC1zLncpLzIsbD1yLWUub2Zmc2V0V2lkdGgtMjA8PTA/KHItZS5vZmZzZXRXaWR0aCkvMjoxMCx1PXItbC1lLm9mZnNldFdpZHRoLGM9TWF0aC5tYXgobCxNYXRoLm1pbihvLHUpKTtlLnN0eWxlLmxlZnQ9YihjKTtjb25zdCBkPXU8bztlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZCJdLGQpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCJdLCFkKTtjb25zdCBoPWZ1bmN0aW9uKGUsdCxzLGkpe2lmKGUuYWJvdmUpcmV0dXJuIEwodCxpKT8iYWJvdmUiOiJiZWxvdyI7aWYoZS5iZWxvdylyZXR1cm4gZnVuY3Rpb24oZSx0LHMpe3JldHVybiBzLnkrcy5oK3QrMTA8ZX0odCxzLGkpPyJiZWxvdyI6ImFib3ZlIjtyZXR1cm4gTChzLGkpPyJhYm92ZSI6ImJlbG93In0odCxhLF8scyk7ImFib3ZlIj09PWg/ZS5zdHlsZS5ib3R0b209YihhLXMueSk6ZS5zdHlsZS50b3A9YihzLnkrcy5oKSxtLmNsYXNzTGlzdC5hZGQoImFib3ZlIj09PWg/cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFib3ZlIl06cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93Il0pO2NvbnN0e2xlZnQ6Z309aS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtsZXQgeT1NYXRoLnRydW5jKHMueCtzLncvMi0oZytpLmNsaWVudFdpZHRoLzIpKTtlLnN0eWxlLmxlZnQ9YihjK3kpLGUuc3R5bGUud2lkdGg9YihpLmNsaWVudFdpZHRoK24uY2xpZW50V2lkdGgpLHk9ZD9NYXRoLm1heCgwLHkpOk1hdGgubWluKDAseSksbi5zdHlsZS5sZWZ0PWIoLXkpLGkuc3R5bGUubGVmdD1iKC15KX19ZnVuY3Rpb24gZihlKXtlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWhpZGRlbiJdLCExKX1mdW5jdGlvbiB2KGUpe2UuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0taGlkZGVuIl0sITApfWZ1bmN0aW9uIGIoZSl7cmV0dXJuYCR7TWF0aC5mbG9vcihlKX1weGB9IWZ1bmN0aW9uKGUpe2VbZS5WaWV3cG9ydFBhZGRpbmc9MTBdPSJWaWV3cG9ydFBhZGRpbmcifShpfHwoaT17fSkpCjtjb25zdCBTPWBcblx0PGRpdiBpZD0iY29tbW9uLXRvb2x0aXAtd3JhcHBlciIgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXAiXX0iPlxuXHRcdDxkaXYgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXIiXX0iID5cblx0XHRcdDxkaXYgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX2JvZHkiXX0ganMtdG9vbHRpcC1ib2R5Ij48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIl19Ij48L2Rpdj5cblx0PC9kaXY+XG5gLHc9YFxuXHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2siXX0iPjwvZGl2PlxuYCxQPWBcblx0PGRpdiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQiXX0iPjwvZGl2PlxuYCxUPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoUyksQz0oMCxyLnBhcnNlSHRtbEVsZW1lbnQpKHcpLEU9KDAsci5wYXJzZUh0bWxFbGVtZW50KShQKTtmdW5jdGlvbiBJKGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoYC4ke3BbImNvbW1vbi10b29sdGlwX19ib2R5Il19YCl9ZnVuY3Rpb24gTChlLHQpe3JldHVybiAxMCtlPHQueX19LDE2Nzg5NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtlbXB0eTooKT0+byxzZXRUb29sdGlwOigpPT5hfSk7Y29uc3QgaT0idG9vbHRpcC1yb290LWVsZW1lbnQiO2xldCBuO2Z1bmN0aW9uIHIoKXtjb25zdCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGkpO2U/bj1lOihuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4uaWQ9aSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG4pKX1mdW5jdGlvbiBvKCl7biYmKG4uaW5uZXJIVE1MPSIiKX1mdW5jdGlvbiBhKGUpe28oKSxufHxyKCksbi5hcHBlbmRDaGlsZChlKX0iaW50ZXJhY3RpdmUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9yKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIscil9LDY1ODk5NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjbGVhclNjaGVkdWxlOigpPT5vLHNjaGVkdWxlSGlkZTooKT0+bCxzY2hlZHVsZVJlbW92ZTooKT0+YSxzY2hlZHVsZVJlbmRlcjooKT0+dX0pO2xldCBpPTAsbj0wLHI9MDtmdW5jdGlvbiBvKCl7Y2xlYXJUaW1lb3V0KGkpLGNsZWFyVGltZW91dChuKSxjbGVhclRpbWVvdXQocil9ZnVuY3Rpb24gYShlLHQpe3I9c2V0VGltZW91dChlLHQpfWZ1bmN0aW9uIGwoZSx0KXtuPXNldFRpbWVvdXQoZSx0KX1mdW5jdGlvbiB1KGUsdCl7aT1zZXRUaW1lb3V0KGUsdCl9fSw2ODY2NTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c2V0VG9vbHRpcENvbG9yVGhlbWU6KCk9PnJ9KTtjb25zdCBpPXtkZWZhdWx0OiIiLHdoaXRlOiJ0aGVtZS13aGl0ZSIsY2hhcnQ6InRoZW1lLWNoYXJ0IixuZXdzOiJ0aGVtZS1uZXdzIiwicm91bmQtc2hhZG93IjoidGhlbWUtcm91bmQtc2hhZG93In0sbj1PYmplY3Qua2V5cyhpKTtmdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1uLmluY2x1ZGVzKHQpP2lbdF06IiI7ZS5jbGFzc0xpc3QucmVtb3ZlKC4uLm4ubWFwKChlPT5pW2VdKSkuZmlsdGVyKChlPT4hIWUpKSkscyYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKHMpJiZlLmNsYXNzTGlzdC5hZGQocyl9fSw3MzEwOTEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U1lNQk9MX1RZUEVfQkxBQ0tfTElTVDooKT0+aX0pO2NvbnN0IGk9bmV3IFNldChbInNwcmVhZCIsImVjb25vbWljIl0pfSw0NzkzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjYW5VcGdyYWRlUGxhbjooKT0+aCxlbmFibGVkOigpPT51LGdldENvbmZpZzooKT0+ZCxnZXRQcm9kdWN0RmVhdHVyZXNDb25maWc6KCk9PmMsZ2V0UHJvZHVjdElkOigpPT5sfSk7dmFyIGk9cygxMzg2MzgpLG49cyg1MDI1ODcpLHI9cygxMjc3MTEpLG89cygzMTg5NzQpLGE9cygyMTIyMjkpO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9d2luZG93LnVzZXI7InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy51c2VyJiYodD13aW5kb3cudXNlciksZSYmKHQ9ZSk7bGV0IHM9dD8ucHJvX3BsYW58fCJmcmVlIjtyZXR1cm4iZnJlZSIhPT1zJiYhKDAsYS5pc1RyaWFsUHJvZHVjdCkocyl8fChzPSgwLGEuZ2V0UHJvZHVjdEZvclRyaWFsKShzKSksc31mdW5jdGlvbiB1KGUsdCxzKXtsZXQgaT13aW5kb3cudXNlcjtzJiYoaT1zKTtjb25zdCBuPWQoZSx0LGkpO2lmKCFuKXJldHVybiExO2lmKG4uZGlzYWJsZV9vbl90cmlhbCYmKCFpfHxpLmlzX3RyaWFsKSlyZXR1cm4hMTtjb25zdCByPW4uZGlzYWJsZV9vbl9saXRlX3BsYW47aWYociYmaS5pc19saXRlX3BsYW4pe2lmKCJhbGwiPT09cilyZXR1cm4hMTtpZigiZXhjbHVkZV9tb2JpbGUiPT09ciYmIW8uQ2hlY2tNb2JpbGUuYW55KCkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PW5bZV07cmV0dXJuIHQ/dC5leHRlbmRzP09iamVjdC5hc3NpZ24oe30sYyh0LmV4dGVuZHMpLHQpOnQ6bnVsbH1mdW5jdGlvbiBkKGUsdCxzKXtsZXQgaT1jKHR8fChsKHMpPz8iIikpO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IG49d2luZG93LlRyYWRpbmdWaWV3Py53aWRnZXRDdXN0b21lcjtyZXR1cm4gbiYmcltuXSYmKGk9T2JqZWN0LmFzc2lnbih7fSxpLHJbbl0pKSxpJiZpW2VdfHxudWxsfWZ1bmN0aW9uIGgoKXtjb25zdCBlPWQoIkJBQ0tFTkRfQ09OTkVDVElPTlMiKT8ubGltaXQ/PzAsdD0oMCxpLmVuc3VyZURlZmluZWQpKHdpbmRvdy5wcm8pLHM9dC5nZXRQcm9kdWN0c0J5VHlwZSh0LlBST0RVQ1RfVFlQRVMucHJvX3BsYW4pO2Zvcihjb25zdCB0IG9mIHMpaWYoKGQoIkJBQ0tFTkRfQ09OTkVDVElPTlMiLCgwLGkuZW5zdXJlRGVmaW5lZCkodC5pZCkpPy5saW1pdD8/MCk+ZSlyZXR1cm4hMDtyZXR1cm4hMX19LDYzMTYzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5vLGdldEluaXREYXRhOigpPT5yLHVwZGF0ZUluaXREYXRhOigpPT5ufSk7dmFyIGk9cyg3OTI2MTIpO2Z1bmN0aW9uIG4oKXsoMCxpLnVwZGF0ZUluaXREYXRhKSgpfQpmdW5jdGlvbiByKCl7cmV0dXJuKDAsaS5nZXRJbml0RGF0YSkoKX1mdW5jdGlvbiBvKCl7cmV0dXJuKDAsaS5nZXRGcmVzaEluaXREYXRhKSgpfX0sNjMyNDQ0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZT09PW4oZSl9ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUuaW5kZXhPZigiJCIpLHM9ZS5pbmRleE9mKCJAIik7cmV0dXJuIHQ8MCYmcz49MD9udWxsOmUuc3Vic3RyaW5nKE1hdGgubWF4KHQrMSwwKSxzPj0wP3M6ZS5sZW5ndGgpfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiUFVCOyIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiVVNFUjsiKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIlNURDsiKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLmluY2x1ZGVzKCJDYW5kbGVzdGljayUxUGF0dGVybiUxIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCJFREdSXyIpfXMuZCh0LHtleHRyYWN0UGluZUlkOigpPT5uLGlzQ2FuZGxlU3RpY2tJZDooKT0+bCxpc0N1c3RvbVBpbmVJZDooKT0+byxpc0VkZ3JQaW5lSWQ6KCk9PnUsaXNQaW5lSWRTdHJpbmc6KCk9PmksaXNQdWJsaXNoZWRQaW5lSWQ6KCk9PnIsaXNTdGFuZGFyZFBpbmVJZDooKT0+YX0pfSw5MzE1OTIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGluZUtpbmQ6KCk9Pm4uUGluZUtpbmQsU2V2ZXJpdHk6KCk9PmkuU2V2ZXJpdHksaXNTY3JpcHRMaWJyYXJ5OigpPT5vLGlzU2NyaXB0U3RyYXRlZ3k6KCk9PnJ9KTt2YXIgaT1zKDYxMjMxKSxuPXMoMTY0MTU2KTtmdW5jdGlvbiByKGUpe3JldHVybiBlLmtpbmQ9PT1uLlBpbmVLaW5kLlN0cmF0ZWd5fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUua2luZD09PW4uUGluZUtpbmQuTGlicmFyeX19LDM2ODMxMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtQaW5lS2luZDooKT0+ZC5QaW5lS2luZCxjb252ZXJ0U2NyaXB0OigpPT52LGRlbGV0ZVBpbmU6KCk9PkQsZ2V0TGFzdFZlcnNpb246KCk9PmssZ2V0UGluZUZhY2FkZVVybDooKT0+by5nZXRQaW5lRmFjYWRlVXJsLGdldFBpbmVTb3VyY2VDb2RlOigpPT5JLGdldFZlcnNpb25zOigpPT5SLGlzQXV0aFRvR2V0UGluZVNvdXJjZUNvZGU6KCk9PkUsaXNBdXRoVG9Xcml0ZVBpbmVTY3JpcHQ6KCk9PkMsaXNTY3JpcHRMaWJyYXJ5OigpPT5kLmlzU2NyaXB0TGlicmFyeSxpc1NjcmlwdFN0cmF0ZWd5OigpPT5kLmlzU2NyaXB0U3RyYXRlZ3kscGFyc2VTY3JpcHRUaXRsZUFzeW5jOigpPT5ULHJlbmFtZVBpbmU6KCk9PngscmVuYW1lVmVyc2lvbjooKT0+VixyZXF1ZXN0QnVpbHRpblNjcmlwdHM6KCk9Pk0scmVxdWVzdFVzZXJTY3JpcHRzOigpPT5MLHNhdmVOZXc6KCk9Pncsc2F2ZU5ld0RyYWZ0OigpPT5TLHNhdmVOZXh0OigpPT5QLHNhdmVOZXh0RHJhZnQ6KCk9PmIsdHJhbnNsYXRlU2NyaXB0QXN5bmM6KCk9PmYsdHJhbnNsYXRlU2NyaXB0QXN5bmMyOigpPT55fSk7dmFyIGk9cygyMjEwNjEpLG49cygzODY5MzEpLHI9cyg0MDY4OTIpLG89cygzNzEwNyksYT1zKDYzMjQ0NCksbD1zKDU3Nzk5NiksdT1zKDY3MTAxOSksYz1zKDY5NzcwNSksZD1zKDkzMTU5Mik7cyg1NjM2MjQpO2NvbnN0IGg9KDAsaS5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5WZXJzaW9uaW5nIikscD1uZXcgci5SZXF1ZXN0Q2FjaGUsbT1uZXcgci5SZXF1ZXN0Q2FjaGUsXz1uZXcgci5TaW5nbGVSZXF1ZXN0Q2FjaGU7KDAsby5hcHBseUdsb2JhbFNjcmlwdExpc3RlbmVycykocCxtLF8pO2NvbnN0IGc9e307ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9YCR7ZX0tJHt0fWA7bGV0IGk9Z1tzXTtyZXR1cm4gaXx8KGk9YXN5bmMgZnVuY3Rpb24oZSx0KXsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnRyYW5zbGF0ZVNjcmlwdCIpO3RyeXtjb25zdCBzPWF3YWl0KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOmB0cmFuc2xhdGUvJHtlfS8ke3R9YH0pLGk9KDAsby5oYW5kbGVUcmFuc2xhdGVSZXN1bHQpKHMpOygwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS50cmFuc2xhdGVTY3JpcHRBc3luYzIiLGkubWV0YUluZm8pO3JldHVybit0PDAmJihwLmRlbGV0ZShlKSxtLmRlbGV0ZShlKSxfLmNsZWFyKCksKDAsby5vbkxlZ2FjeVNjcmlwdFByb2NlZWQpKGkubWV0YUluZm8pKSxpfWNhdGNoKGUpe3Rocm93IGV9fShlLHQpLmNhdGNoKChlPT57dGhyb3cgZGVsZXRlIGdbc10sZX0pKSxnW3NdPWkpLGl9YXN5bmMgZnVuY3Rpb24gZihlLHQscz17fSxpPSExKXtyZXR1cm4oMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnRyYW5zbGF0ZVNjcmlwdCIpLCgwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOmB0cmFuc2xhdGVfc291cmNlLyR7dH1gLHVybFBhcmFtczp7aXNfcGluZV9leDppfSxkYXRhOntzb3VyY2U6ZSxpbnB1dHM6SlNPTi5zdHJpbmdpZnkocyl9fSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsby5oYW5kbGVUcmFuc2xhdGVSZXN1bHQpKGUpO3JldHVybigwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS50cmFuc2xhdGVTY3JpcHRBc3luYyIsdC5tZXRhSW5mbyksdH0pKX1mdW5jdGlvbiB2KGUsdCl7cmV0dXJuKDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6ImNvbnZlcnQiLGRhdGE6e3NvdXJjZTplLHZlcnNpb25fdG86U3RyaW5nKHQpfX0pLnRoZW4oKGU9PntpZihlLnJlYXNvbjI/LmVycm9ycz8ubGVuZ3RoKXRocm93IGUucmVhc29uMjtpZihlLnJlYXNvbil0aHJvdyBlLnJlYXNvbjtyZXR1cm4oMCxvLmhhbmRsZVJlc3VsdCkoZSl9KSl9ZnVuY3Rpb24gYihlLHQscyxpPSExKXtpZigoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnNhdmVOZXh0RHJhZnQiKSwhdClyZXR1cm4gUHJvbWlzZS5yZWplY3QobC5FTVBUWV9TT1VSQ0VfQ09ERSk7KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMCk7Y29uc3Qgcj0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgc2F2ZS9uZXh0X2RyYWZ0LyR7ZX1gLAp1cmxQYXJhbXM6e2FsbG93X2NyZWF0ZV9uZXc6aX0sZGF0YTp7c291cmNlOnR9fSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsby5oYW5kbGVTYXZlUmVzdWx0KShlKTtyZXR1cm4oMCxjLmxvZ1BpbmVNZXRhSW5mb0lzc3VlcykoIlBpbmUuc2F2ZU5leHREcmFmdCIsdC5tZXRhSW5mbyksdH0pKTtyZXR1cm4gci5maW5hbGx5KCgoKT0+KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMSkpKSxyfWZ1bmN0aW9uIFMoZSl7cmV0dXJuKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV3RHJhZnQiKSxlPygwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOiJzYXZlL25ld19kcmFmdCIsdXJsUGFyYW1zOnthbGxvd191c2VfZXhpc3RpbmdfZHJhZnQ6ITB9LGRhdGE6e3NvdXJjZTplfX0pLnRoZW4oKGU9Pntjb25zdCB0PSgwLG8uaGFuZGxlU2F2ZVJlc3VsdCkoZSk7cmV0dXJuKDAsYy5sb2dQaW5lTWV0YUluZm9Jc3N1ZXMpKCJQaW5lLnNhdmVOZXdEcmFmdCIsdC5tZXRhSW5mbyksdH0pKTpQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKX1mdW5jdGlvbiB3KHtzY3JpcHRTb3VyY2U6ZSxzY3JpcHROYW1lOnQsYWxsb3dPdmVyd3JpdGU6cyxjdXJyZW50VmVyc2lvbjppfSl7aWYoKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV3IiksIWUpcmV0dXJuIFByb21pc2UucmVqZWN0KGwuRU1QVFlfU09VUkNFX0NPREUpO2NvbnN0IHI9e25hbWU6dH07cmV0dXJuIHMmJihyLmFsbG93X292ZXJ3cml0ZT0hMCksKDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6InNhdmUvbmV3Iix1cmxQYXJhbXM6cixkYXRhOntzb3VyY2U6ZX19KS50aGVuKChlPT57Xy5jbGVhcigpO2NvbnN0IHQ9KDAsby5oYW5kbGVTYXZlUmVzdWx0KShlKTtyZXR1cm4oMCxjLmxvZ1BpbmVNZXRhSW5mb0lzc3VlcykoIlBpbmUuc2F2ZU5ldyIsdC5tZXRhSW5mbyksKDAsby5vbk1vZGlmeVNjcmlwdCkodC5tZXRhSW5mbyxpLCF0LnN1Y2Nlc3MsdC5jb21waWxlRXJyb3JzLmVycm9ycyksdH0pKX1mdW5jdGlvbiBQKHtzY3JpcHRJZFBhcnQ6ZSxzY3JpcHRTb3VyY2U6dCxjdXJyU2NyaXB0VmVyc2lvbjpzLGlzTGVnYWN5U2NyaXB0Omksc2NyaXB0TmFtZTpyfSl7aWYoKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV4dCIpLCF0KXJldHVybiBQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKTtjb25zdCBhPXthbGxvd19jcmVhdGVfbmV3Oml9LGQ9e3NvdXJjZTp0fTtyZXR1cm4gdm9pZCAwIT09ciYmKGEubmFtZT1yKSwoMCxvLm9uTW9kaWZ5U2NyaXB0QWN0aXZlQ2hhbmdlZCkoZSxzLCEwKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgc2F2ZS9uZXh0LyR7ZX1gLHVybFBhcmFtczphLGRhdGE6ZH0pLnRoZW4oKGU9PntfLmNsZWFyKCk7Y29uc3QgdD0oMCxvLmhhbmRsZVNhdmVSZXN1bHQpKGUpO3JldHVybigwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS5zYXZlTmV4dCIsdC5tZXRhSW5mbyksKDAsby5vbk1vZGlmeVNjcmlwdCkodC5tZXRhSW5mbyxzLCF0LnN1Y2Nlc3MsdC5jb21waWxlRXJyb3JzLmVycm9ycyksdH0pKS5maW5hbGx5KCgoKT0+KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMSkpKX1mdW5jdGlvbiBUKGUpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucGFyc2VTY3JpcHRUaXRsZSIpLGU/KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6InBhcnNlX3RpdGxlIixkYXRhOntzb3VyY2U6ZX19KS50aGVuKChlPT4oMCxvLmhhbmRsZVJlc3VsdCkoZSkpKTpQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKX1mdW5jdGlvbiBDKGUpe2lmKCgwLGEuaXNDdXN0b21QaW5lSWQpKGUpKXJldHVybiBQcm9taXNlLnJlc29sdmUoITApO2NvbnN0IHQ9bS5nZXQoZSk7aWYodClyZXR1cm4gdDsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmlzQXV0aFRvV3JpdGVQaW5lU2NyaXB0Iik7Y29uc3Qgcz0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGlzX2F1dGhfdG9fd3JpdGUvJHtlfWB9KTtyZXR1cm4gbS5zZXQoZSxzKSxzfWZ1bmN0aW9uIEUoZSx0KXtjb25zdCBzPXAuZ2V0KGUpO2lmKHMpcmV0dXJuIHM7KDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5pc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlIik7Y29uc3QgaT0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGlzX2F1dGhfdG9fZ2V0LyR7ZX0vJHt0fWB9KTtyZXR1cm4gcC5zZXQoZSxpKSxpfWZ1bmN0aW9uIEkoZSx0LHMpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIuZ2V0UGluZVNvdXJjZUNvZGUiKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGdldC8ke2V9LyR7dH1gLHVybFBhcmFtczp7bm9fNHh4OnN9fSl9ZnVuY3Rpb24gTCgpe2lmKCgwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVxdWVzdFVzZXJTY3JpcHRzIiksIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IGU9Xy5nZXQoKTtpZihlKXJldHVybiBlO2NvbnN0IHQ9KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOiJsaXN0Iix1cmxQYXJhbXM6e2ZpbHRlcjoic2F2ZWQifX0pO3JldHVybiBfLnJlc2V0KHQpLHR9YXN5bmMgZnVuY3Rpb24gTSgpeygwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVxdWVzdEJ1aWx0aW5TY3JpcHRzIik7dHJ5e2gubG9nTm9ybWFsKCJSZXF1ZXN0IGJ1aWx0LWluIHNjcmlwdHMiKTtjb25zdCBlPWF3YWl0KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOiJsaXN0Iix1cmxQYXJhbXM6e2ZpbHRlcjoic3RhbmRhcmQifX0pO3JldHVybiBoLmxvZ05vcm1hbCgiUmVxdWVzdCBidWlsdC1pbiBzY3JpcHRzIGZpbmlzaGVkIiksZX1jYXRjaChlKXsKdGhyb3cgaC5sb2dXYXJuKCJSZXF1ZXN0IGJ1aWx0LWluIHNjcmlwdHMgZmluaXNoZWQgd2l0aCBmYWlsIiksZX19ZnVuY3Rpb24gRChlKXtyZXR1cm4oMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmRlbGV0ZVBpbmUiKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgZGVsZXRlLyR7ZX1gfSkudGhlbigodD0+KHAuZGVsZXRlKGUpLG0uZGVsZXRlKGUpLF8uY2xlYXIoKSwoMCxvLm9uRGVsZXRlU2NyaXB0KShlKSx0KSkpfWZ1bmN0aW9uIHgoZSx0LHM9ITEpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVuYW1lUGluZSIpLCgwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOmByZW5hbWUvJHt0fWAsdXJsUGFyYW1zOntuYW1lOmUsZm9yY2U6c319KS50aGVuKChzPT4oXy5jbGVhcigpLCgwLG8ub25SZW5hbWVTY3JpcHQpKHQsZSkscykpKX1hc3luYyBmdW5jdGlvbiBSKGUsdCl7KDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5nZXRWZXJzaW9ucyIpO3RyeXtoLmxvZ05vcm1hbCgiUmVxdWVzdCBzY3JpcHQgdmVyc2lvbnMiKTtyZXR1cm4gYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiR0VUIix1cmxQYXRoOmB2ZXJzaW9ucy8ke2V9YCx1cmxQYXJhbXM6e2xpbWl0OnQ/U3RyaW5nKHQpOnZvaWQgMH19KX1jYXRjaChlKXtyZXR1cm4gaC5sb2dXYXJuKCJSZXF1ZXN0IHNjcmlwdCB2ZXJzaW9ucyBmaW5pc2hlZCB3aXRoIGZhaWwiKSxbXX19YXN5bmMgZnVuY3Rpb24gayhlKXsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmdldExhc3RWZXJzaW9ucyIpO3RyeXtoLmxvZ05vcm1hbCgiUmVxdWVzdCB0aGUgbGFzdCBzY3JpcHQgdmVyc2lvbnMiKTtyZXR1cm4oYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiR0VUIix1cmxQYXRoOmB2ZXJzaW9ucy8ke2V9L2xhc3RgfSkpWzBdPz9udWxsfWNhdGNoKGUpe3JldHVybiBoLmxvZ1dhcm4oIlJlcXVlc3Qgc2NyaXB0IHZlcnNpb25zIGZpbmlzaGVkIHdpdGggZmFpbCIpLG51bGx9fWFzeW5jIGZ1bmN0aW9uIFYoZSx0LHMpe3RyeXtoLmxvZ05vcm1hbChgUmVuYW1lIHNjcmlwdCB2ZXJzaW9uICR7dH1gKTtyZXR1cm4gYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUFVUIix1cmxQYXRoOmBuYW1lLyR7ZX0vJHt0fWAsdXJsUGFyYW1zOntuYW1lOnM/PyIifX0pfWNhdGNoKGUpe3JldHVybiBoLmxvZ1dhcm4oIlJlbmFtZSBzY3JpcHQgdmVyc2lvbiBmaW5pc2hlZCB3aXRoIGZhaWwiKSxudWxsfX19LDkwNjU5MyhlLHQscyl7InVzZSBzdHJpY3QiO2NvbnN0e2lzRmVhdHVyZXNldEVuYWJsZWQ6aX09cyg5MzAyMzEpO3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O3ZhciBuLHIsbyxhLGwsdSxjLGQ9KHI9T2JqZWN0LmNyZWF0ZShudWxsKSxvPU9iamVjdC5jcmVhdGUobnVsbCksYT1PYmplY3QuY3JlYXRlKG51bGwpLGw9MCx1PTAsYz0iVHJhZGluZ1ZpZXciLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGZ1bmN0aW9uKGUpe3ZhciB0O3RyeXt0PUpTT04ucGFyc2UoZS5kYXRhKSxpKCJjaGFydGluZ19saWJyYXJ5X2RlYnVnX21vZGUiKSYmY29uc29sZS5sb2coYCR7KG5ldyBEYXRlKS50b0lTT1N0cmluZygpfSBQb3N0TWVzc2FnZTogaW5jb21pbmcgbWVzc2FnZTogYCtKU09OLnN0cmluZ2lmeSh0KSl9Y2F0Y2goZSl7cmV0dXJufWlmKHQmJnQucHJvdmlkZXImJnQucHJvdmlkZXI9PT1jKWlmKCJnZXQiPT09dC50eXBlKXtpZighb1t0Lm5hbWVdKXJldHVybjtvW3QubmFtZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY2FsbCh0LHQuZGF0YSwoZnVuY3Rpb24oZSl7dmFyIHM9e2lkOnQuaWQsdHlwZToib24iLG5hbWU6dC5uYW1lLGNsaWVudF9pZDp0LmNsaWVudF9pZCxkYXRhOmUscHJvdmlkZXI6Y307bi5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShzKSwiKiIpfSkpfSkpfWVsc2UgaWYoIm9uIj09PXQudHlwZSlyW3QuY2xpZW50X2lkXSYmclt0LmNsaWVudF9pZF1bdC5pZF0mJihyW3QuY2xpZW50X2lkXVt0LmlkXS5jYWxsKHQsdC5kYXRhKSxkZWxldGUgclt0LmNsaWVudF9pZF1bdC5pZF0pO2Vsc2UgaWYoInBvc3QiPT09dC50eXBlKXtpZighb1t0Lm5hbWVdKXJldHVybjtvW3QubmFtZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY2FsbCh0LHQuZGF0YSwoZnVuY3Rpb24oKXt9KSl9KSl9fSkpLGZ1bmN0aW9uKGUsdCl7clt0XT1PYmplY3QuY3JlYXRlKG51bGwpLGFbdF09ZSxuPWU7dmFyIHM9IiI7cmV0dXJue29uOmZ1bmN0aW9uKGUsdCxzKXtvW2VdJiZzfHwob1tlXT1bXSksb1tlXS5wdXNoKHQpfSxnZXQ6ZnVuY3Rpb24oZSxzLGkpe3ZhciBuPXtpZDpsKyssdHlwZToiZ2V0IixuYW1lOmUsY2xpZW50X2lkOnQsZGF0YTpzLHByb3ZpZGVyOmN9O3JbdF1bbi5pZF09aSxhW3RdLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KG4pLCIqIil9LHBvc3Q6ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPXtpZDp1KyssdHlwZToicG9zdCIsbmFtZTp0LGNsaWVudF9pZDpzLGRhdGE6aSxwcm92aWRlcjpjfTtlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5wb3N0TWVzc2FnZSYmZS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShuKSwiKiIpfSxzZXRDbGllbnRJZDpmdW5jdGlvbihlKXtzPWV9fX0pO2UuZXhwb3J0cz1kfSw0MDAxODEoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNzA2NDQpLHMuZSg5NTIwNyldKS50aGVuKHMuYmluZChzLDQ3NzE1MCkpO3JldHVybiBlKCl9cy5kKHQse2dldFRyYWNrZXI6KCk9Pml9KX0sMTU2ODI5KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gbihlLHQpewpyZXR1cm4ic3RvY2siPT09ZSYmdC5pbmNsdWRlcygicmlnaHQiKXx8InJpZ2h0Ij09PWV9ZnVuY3Rpb24gcihlLHQpe3JldHVybiBvKGUsdCl8fCJzdG9jayI9PT1lJiZ0LmluY2x1ZGVzKCJmdW5kIikmJnQuaW5jbHVkZXMoImV0ZiIpfHwic3RydWN0dXJlZCI9PT1lJiZ0LmluY2x1ZGVzKCJldG4iKX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuImZ1bmQiPT09ZSYmdC5pbmNsdWRlcygibXV0dWFsIil9KGUsdCl8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoImV0ZiIpfWZ1bmN0aW9uIGEoZSl7cmV0dXJuImJvbmQiPT09ZX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuImJvbmQiPT09ZSYmdC5pbmNsdWRlcygiY29ycG9yYXRlIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4iZWNvbm9taWMiPT09ZX1mdW5jdGlvbiBjKGUpe3JldHVybiJvcHRpb24iPT09ZX1mdW5jdGlvbiBkKGUpe3JldHVybiJkZXgiPT09ZT8uY2VudHJhbGl6YXRpb259ZnVuY3Rpb24gaChlKXtyZXR1cm4ic3ByZWFkIj09PWV9ZnVuY3Rpb24gcChlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfWZ1bmN0aW9uIG0oZSl7cmV0dXJuImZvcmV4Ij09PWV9ZnVuY3Rpb24gXyhlLHQscyl7cmV0dXJuIGkodCkmJiJzcG90Ij09PWUmJiJVU0QiPT09c31mdW5jdGlvbiBnKGUsdCl7cmV0dXJuInNwb3QiPT09ZSYmdC5pbmNsdWRlcygiY3J5cHRvYXNzZXQiKX1mdW5jdGlvbiB5KGUsdCl7cmV0dXJuIEJvb2xlYW4oImJvbmQiPT09ZSYmdC5pbmNsdWRlcygiZ292ZXJubWVudCIpJiZ0LmluY2x1ZGVzKCJiZW5jaG1hcmsiKSl9ZnVuY3Rpb24gZihlLHQpe3JldHVybiBCb29sZWFuKCJib25kIj09PWUmJnQuaW5jbHVkZXMoImdvdmVybm1lbnQiKSYmIXQuaW5jbHVkZXMoImJlbmNobWFyayIpKX1mdW5jdGlvbiB2KGUpe3JldHVybiBCb29sZWFuKGUudHlwZXNwZWNzPy5pbmNsdWRlcygieWllbGQiKSl9ZnVuY3Rpb24gYihlLHQpe3JldHVybiJzdG9jayI9PT1lJiZ0LmluY2x1ZGVzKCJjb21tb24iKXx8InN0b2NrIj09PWUmJnQuaW5jbHVkZXMoInByZWZlcnJlZCIpfHwic3RvY2siPT09ZSYmdC5pbmNsdWRlcygiZm9yd2FyZCIpfHwic3RvY2siPT09ZSYmdC5pbmNsdWRlcygiYm9udXMiKXx8InN0b2NrIj09PWUmJnQuaW5jbHVkZXMoImNmZCIpfHwiZnVuZCI9PT1lJiZ0LmluY2x1ZGVzKCJ1bml0Iil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoInRydXN0Iil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoInJlaXQiKXx8ImZ1bmQiPT09ZSYmdC5pbmNsdWRlcygiZXRuIil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoImNsb3NlZGVuZCIpfHwiYm9uZCI9PT1lJiZ0LmluY2x1ZGVzKCJjb252ZXJ0aWJsZSIpfHwiZHIiPT09ZXx8IndhcnJhbnQiPT09ZXx8InN0cnVjdHVyZWQiPT09ZSYmIXQuaW5jbHVkZXMoImV0biIpfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIGU/LmluY2x1ZGVzKCJkaXNjb250aW51ZWQiKT8/ITF9ZnVuY3Rpb24gdyhlLHQ9W10pe3JldHVybiBiKGUsdCkmJnQuaW5jbHVkZXMoInByZS1pcG8iKX1zLmQodCx7aGFzQ3J5cHRvVHlwZXNwZWM6KCk9PmksaXNCb25kOigpPT5hLGlzQ29ycG9yYXRlQm9uZDooKT0+bCxpc0NyeXB0b1Nwb3RVc2Q6KCk9Pl8saXNDcnlwdG9hc3NldFNwb3Q6KCk9PmcsaXNEZXg6KCk9PmQsaXNFY29ub21pY1N5bWJvbDooKT0+dSxpc0V0ZjooKT0+cixpc0ZvcmV4U3ltYm9sOigpPT5tLGlzRnVuZEV0ZjooKT0+byxpc0Z1dHVyZXM6KCk9PnAsaXNHb3Zlcm5tZW50QmVuY2htYXJrQm9uZDooKT0+eSxpc0dvdmVybm1lbnRPbmx5Qm9uZDooKT0+Zixpc09wdGlvbjooKT0+Yyxpc1ByZUlwbzooKT0+dyxpc1JpZ2h0OigpPT5uLGlzU3ByZWFkOigpPT5oLGlzU3RvY2tzU3ltYm9sOigpPT5iLGlzU3ltYm9sRGVsaXN0ZWQ6KCk9PlMsaXNZaWVsZDooKT0+dn0pfSw3Mjg1NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkYXJrVGhlbWU6KCk9PnUsZ2V0U3RkQ2hhcnRUaGVtZTooKT0+ZCxnZXRTdGRUaGVtZU5hbWVzOigpPT5jLGxpZ2h0VGhlbWU6KCk9PmwsdHJhbnNsYXRlVGhlbWVOYW1lOigpPT5ofSk7dmFyIGk9cygxODUyNzEpLG49cyg2MDE4NDEpLHI9cyg3MTY3NjgpLG89cyg5ODQ0MjYpLGE9cyg4MTA0MSk7bGV0IGw9KDAsbi5jbG9uZSkoci5saWdodCksdT0oMCxuLmNsb25lKShvLmRhcmspO2Z1bmN0aW9uIGMoKXtyZXR1cm5bYS5TdGRUaGVtZS5MaWdodCxhLlN0ZFRoZW1lLkRhcmtdfWZ1bmN0aW9uIGQoZSl7cmV0dXJuKDAsbi5jbG9uZSkoZT09PWEuU3RkVGhlbWUuTGlnaHQ/bDplPT09YS5TdGRUaGVtZS5EYXJrP3U6dm9pZCAwKX1mdW5jdGlvbiBoKGUpe3JldHVybntbYS5TdGRUaGVtZS5MaWdodF06aS50KG51bGwse2NvbnRleHQ6ImNvbG9yVGhlbWVOYW1lIn0scygyNDcxNjcpKSxbYS5TdGRUaGVtZS5EYXJrXTppLnQobnVsbCx7Y29udGV4dDoiY29sb3JUaGVtZU5hbWUifSxzKDk0NTM2MikpfVtlXXx8ZX19LDc4NDUxMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHthY3R1YWxDb250ZW50OigpPT5yfSk7dmFyIGksbj1zKDIzMjM2NCk7IWZ1bmN0aW9uKGUpe2UuRmluYW5jaWFscz0iZmluYW5jaWFscyIsZS5Eb2N1bWVudHM9ImRvY3VtZW50cyIsZS5OZXdzPSJuZXdzIixlLklkZWFzPSJpZGVhcyIsZS5TZWFzb25hbHM9InNlYXNvbmFscyIsZS5BbmFseXNpcz0iYW5hbHlzaXMiLGUuVGVjaG5pY2Fscz0idGVjaG5pY2FscyIsZS5Gb3JlY2FzdD0iZm9yZWNhc3QiLGUuRm9yd2FyZEN1cnZlPSJmb3J3YXJkLWN1cnZlIixlLkNvbnRyYWN0cz0iY29udHJhY3RzIixlLllpZWxkQ3VydmU9InlpZWxkLWN1cnZlIixlLkVjb25vbXlJbmRpY2F0b3JzPSJlY29ub215LWluZGljYXRvcnMiLGUuT3B0aW9ucz0ib3B0aW9ucyIsZS5Cb25kcz0iYm9uZHMiLGUuRXRmcz0iZXRmcyIsZS5DaGFydFRhYmxlVmlldz0iY2hhcnQtdGFibGUtdmlldyIsZS5Db21tdW5pdHk9ImNvbW11bml0eSIsZS5EZXJpdmF0aXZlcz0iZGVyaXZhdGl2ZXMifShpfHwoaT17fSkpO2NvbnN0IHI9bmV3IG4uV2F0Y2hlZFZhbHVlKG51bGwpfSw3NDQ1MzQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7CmdldEhpZGVPcHRpb25zOigpPT5kLGdldFNhdmVkSGlkZU1vZGU6KCk9Pm0sdG9nZ2xlSGlkZU1vZGU6KCk9PnAsdG9nZ2xlSGlkZU9wdGlvbnM6KCk9Pmh9KTt2YXIgaT1zKDEzODYzOCksbj1zKDQxMTQwNykscj1zKDE4NTI3MSksbz1zKDkzMDU2NiksYT1zKDY3ODI4NSksbD1zKDg0NDM0NCk7bGV0IHU9bnVsbDtmdW5jdGlvbiBjKGUsdCl7bGV0IHM9ITE7cmV0dXJuKCk9PntpZihzKXJldHVybjtzPSEwO2NvbnN0IG49bSgpLHI9ZnVuY3Rpb24oZSl7aWYoImFsbCI9PT1lKXJldHVybiBfKCk7Y29uc3QgdD0oMCxpLmVuc3VyZURlZmluZWQpKGQoKS5nZXQoZSkpLHM9KDAsaS5lbnN1cmVEZWZpbmVkKSh0LmdldEJveGVkVmFsdWUpKCkudmFsdWUoKTtyZXR1cm4gdC5pbnZlcnRlZD8hczpzfShlKTtpZigiYWxsIj09PW58fG49PT1lKXtpZigiYWxsIj09PW4pZm9yKGNvbnN0IGUgb2YoMCxpLmVuc3VyZU5vdE51bGwpKHUpLnZhbHVlcygpKWUhPT10JiZlLmdldEJveGVkVmFsdWUmJmUuZ2V0Qm94ZWRWYWx1ZSgpLnNldFZhbHVlKGUuaW52ZXJ0ZWQ/IXI6cik7bC5oaWRlU3RhdGVDaGFuZ2UuZmlyZSh7aGlkZU1vZGU6bixpc0FjdGl2ZTpyfSl9cz0hMX19ZnVuY3Rpb24gZCgpe2lmKG51bGwhPT11KXJldHVybiB1O2NvbnN0IGU9e2xhYmVsOnIudChudWxsLHZvaWQgMCxzKDE1NzIxMCkpLGRhdGFOYW1lOiJoaWRlLWRyYXdpbmctdG9vbHMiLHRvb2x0aXA6e2FjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg2NDkzNzMpKSxpbmFjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg4MDk5MzkpKX0sZ2V0Qm94ZWRWYWx1ZTooKT0+KDAsYS5oaWRlQWxsRHJhd2luZ3MpKCksdHJhY2tMYWJlbDoiaGlkZSBkcmF3aW5ncyJ9LHQ9e2xhYmVsOnIudChudWxsLHZvaWQgMCxzKDgwNzg4MCkpLGRhdGFOYW1lOiJoaWRlLWluZGljYXRvcnMiLHRvb2x0aXA6e2FjdGl2ZTpyLnQobnVsbCx2b2lkIDAscygyMDYzNzkpKSxpbmFjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg1MzkzNDkpKX0sZ2V0Qm94ZWRWYWx1ZTooKT0+KDAsYS5oaWRlQWxsSW5kaWNhdG9ycykoKSx0cmFja0xhYmVsOiJoaWRlIGluZGljYXRvcnMifTt1PW5ldyBNYXAoW1siZHJhd2luZ3MiLGVdLFsiaW5kaWNhdG9ycyIsdF1dKSwoMCxhLmhpZGVBbGxEcmF3aW5ncykoKS5zdWJzY3JpYmUobnVsbCxjKCJkcmF3aW5ncyIsZSkpLCgwLGEuaGlkZUFsbEluZGljYXRvcnMpKCkuc3Vic2NyaWJlKG51bGwsYygiaW5kaWNhdG9ycyIsdCkpO2NvbnN0IGk9KDAsbi50cmFkaW5nU2VydmljZSkoKTtpZihpKXtjb25zdCBlPXtsYWJlbDpyLnQobnVsbCx2b2lkIDAscyg3NjI5ODgpKSxkYXRhTmFtZToiaGlkZS1wb3NpdGlvbnMtYW5kLW9yZGVycyIsdG9vbHRpcDp7YWN0aXZlOnIudChudWxsLHZvaWQgMCxzKDc3NjA2MykpLGluYWN0aXZlOnIudChudWxsLHZvaWQgMCxzKDg0NjQxMykpfSxnZXRCb3hlZFZhbHVlOigpPT5pLnNob3dUcmFkZWRTb3VyY2VzLGludmVydGVkOiEwLHRyYWNrTGFiZWw6ImhpZGUgcG9zaXRpb25zIn07dS5zZXQoInBvc2l0aW9ucyIsZSksaS5zaG93VHJhZGVkU291cmNlcy5zdWJzY3JpYmUoYygicG9zaXRpb25zIixlKSl9Y29uc3Qgbz17bGFiZWw6ci50KG51bGwsdm9pZCAwLHMoODI0OTkzKSksZGF0YU5hbWU6ImhpZGUtYWxsIix0b29sdGlwOnthY3RpdmU6aT9yLnQobnVsbCx2b2lkIDAscyg0MjA2MjQpKTpyLnQobnVsbCx2b2lkIDAscyg4MTg3NjMpKSxpbmFjdGl2ZTppP3IudChudWxsLHZvaWQgMCxzKDg2NjMzMCkpOnIudChudWxsLHZvaWQgMCxzKDgwMDM0OSkpfSx0cmFja0xhYmVsOiJoaWRlIGFsbCJ9O3JldHVybiB1LnNldCgiYWxsIixvKSx1fWZ1bmN0aW9uIGgoZSl7ZygoKHQscyxpKT0+e2NvbnN0IG49aS5nZXRCb3hlZFZhbHVlPy4oKTtuJiZuLnNldFZhbHVlKGkuaW52ZXJ0ZWQ/IWU6ZSl9KSl9ZnVuY3Rpb24gcChlKXtlP28uc2V0VmFsdWUoIkNoYXJ0VG9vbHNIaWRlTW9kZSIsZSk6ZT1tKCk7Y29uc3QgdD1fKCk7bGV0IHM9IXQ7cmV0dXJuImFsbCI9PT1lPyhnKCgoZSx0LGkpPT57ZS5zZXRWYWx1ZShpLmludmVydGVkPyFzOnMpfSkpLGwuaGlkZVN0YXRlQ2hhbmdlLmZpcmUoe2hpZGVNb2RlOmUsaXNBY3RpdmU6c30pLHMpOihnKCgoaSxuLHIpPT57Y29uc3Qgbz1yLmludmVydGVkO2lmKG49PT1lKXtjb25zdCBlPXQ/IW86IWkudmFsdWUoKTtpLnNldFZhbHVlKGUpLHM9bz8hZTplfWVsc2UgaS5zZXRWYWx1ZShCb29sZWFuKG8pKX0pKSxsLmhpZGVTdGF0ZUNoYW5nZS5maXJlKHtoaWRlTW9kZTplLGlzQWN0aXZlOnN9KSxzKX1mdW5jdGlvbiBtKCl7Y29uc3QgZT1vLmdldFZhbHVlKCJDaGFydFRvb2xzSGlkZU1vZGUiLCJkcmF3aW5ncyIpO3JldHVybiBkKCkuaGFzKGUpP2U6ImRyYXdpbmdzIn1mdW5jdGlvbiBfKCl7bGV0IGU9ITA7cmV0dXJuIGcoKCh0LHMsaSk9Pntjb25zdCBuPXQudmFsdWUoKTtlPWUmJihpLmludmVydGVkPyFuOm4pfSkpLGV9ZnVuY3Rpb24gZyhlKXtkKCkuZm9yRWFjaCgoKHQscyk9Pntjb25zdCBpPXQuZ2V0Qm94ZWRWYWx1ZT8uKCk7aSYmZShpLHMsdCl9KSl9fSw4OTkyMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0Q2hhcnRUaW1lem9uZU9mZnNldE1zOigpPT5yLGdldENoYXJ0VGltZXpvbmVPZmZzZXRTZWM6KCk9Pm8sZ2V0VGltZXpvbmVOYW1lOigpPT5ufSk7dmFyIGk9cyg3MDA4MDkpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1lLm1vZGVsKCkudGltZXpvbmUoKTtpZigiZXhjaGFuZ2UiIT09dClyZXR1cm4gdDtjb25zdCBzPWUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO3JldHVybiBzPy50aW1lem9uZX1mdW5jdGlvbiByKGUsdCl7aWYodm9pZCAwPT09dClyZXR1cm4gMDtyZXR1cm4oMCxpLmdldF90aW1lem9uZSkodCkub2Zmc2V0X3V0YyhlKX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIHIoMWUzKmUsdCkvMWUzfX0sMTUzNTgyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2NhblNob3dOZXdTeW1ib2xTZWFyY2g6KCk9PmwsZ2V0Q3VycmVudExvY2FsZUluZm9Db3VudHJ5OigpPT51LGlzTW9iaWxlOigpPT5vLGlzUGxhdGZvcm1Nb2JpbGU6KCk9PmF9KQo7dmFyIGk9cygxMTczMTMpLG49cyg5MzAyMzEpLHI9cygzMTg5NzQpO2Z1bmN0aW9uIG8oKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA2MDJweCkgYW5kIChtaW4taGVpZ2h0OiA0NDVweCkiKS5tYXRjaGVzO3JldHVybiByLkNoZWNrTW9iaWxlLmFueSgpJiYhZX1mdW5jdGlvbiBhKCl7cmV0dXJuISgwLGkuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmbygpfWZ1bmN0aW9uIGwoKXtyZXR1cm4hKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJiEoMCxpLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil9ZnVuY3Rpb24gdSgpe3JldHVybiB3aW5kb3cuaW5pdERhdGE/LmN1cnJlbnRMb2NhbGVJbmZvPy5mbGFnLnRvVXBwZXJDYXNlKCl9fSw0MDA0MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRDaGFydFdpZGdldEFwaVRpbWVDb252ZXJ0ZXI6KCk9Pmx9KTt2YXIgaT1zKDEzODYzOCksbj1zKDkzMDIzMSkscj1zKDcwNjg4NCk7Y29uc3Qgbz0oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbmRfb2ZfcGVyaW9kX3RpbWVzY2FsZV9tYXJrcyIpLGE9KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2Vjb25kYXJ5X3Nlcmllc19leHRlbmRfdGltZV9zY2FsZSIpO2Z1bmN0aW9uIGwoZSx0LHMpe3JldHVybiBuZXcgYyhmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSt0LnNlc3Npb24rdC50aW1lem9uZSsodC5jb3JyZWN0aW9uc3x8IiIpKyh0LnNlc3Npb25faG9saWRheXN8fCIiKX0oZSx0KTtsZXQgaT11LmdldChzKTt2b2lkIDA9PT1pJiYoaT0oMCxyLmNyZWF0ZUR3bUFsaWduZXIpKGUsdCksdS5zZXQocyxpKSk7cmV0dXJuIGl9KGUsdCkscyl9Y29uc3QgdT1uZXcgTWFwO2NsYXNzIGN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9kd21BbGlnbmVyPWUsdGhpcy5fY2hhcnRNb2RlbD10fWNvbnZlcnRQdWJsaWNUaW1lVG9JbnRlcm5hbFRpbWUoZSl7cmV0dXJuIG51bGwhPT10aGlzLl9kd21BbGlnbmVyP3RoaXMuX2R3bUFsaWduZXIudGltZVRvU2Vzc2lvblN0YXJ0KDFlMyplKS8xZTM6ZX1jb252ZXJ0SW50ZXJuYWxUaW1lVG9QdWJsaWNUaW1lKGUpe3JldHVybiBudWxsIT09dGhpcy5fZHdtQWxpZ25lcj90aGlzLl9kd21BbGlnbmVyLnRpbWVUb0V4Y2hhbmdlVHJhZGluZ0RheSgxZTMqZSkvMWUzOmV9Y29udmVydFRpbWVQb2ludEluZGV4VG9QdWJsaWNUaW1lKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC50aW1lU2NhbGUoKTtpZih0LmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgcz1vP2Z1bmN0aW9uKGUsdCl7Y29uc3Qgcz1lLmluZGV4VG9Vc2VyVGltZSh0KTtpZihudWxsPT09cylyZXR1cm4gbnVsbDtyZXR1cm4gcy5nZXRUaW1lKCkvMWUzfSh0LGUpOnRoaXMuY29udmVydFRpbWVQb2ludEluZGV4VG9JbnRlcm5hbFRpbWUoZSk7aWYobnVsbCE9PXMpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuYmFycygpLGk9dC5jb250YWlucyhlKSxuPXQuZmlyc3RJbmRleCgpLHI9dC5sYXN0SW5kZXgoKTshaSYmKG51bGwhPT1uJiZudWxsIT09ciYmbjw9ZSYmZTw9cikmJmF8fChzPXRoaXMuY29udmVydEludGVybmFsVGltZVRvUHVibGljVGltZShzKSl9cmV0dXJuIHN9Y29udmVydFRpbWVQb2ludEluZGV4VG9JbnRlcm5hbFRpbWUoZSl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpO2lmKHQuaXNFbXB0eSgpKXJldHVybiBudWxsO2NvbnN0IHM9dC5wb2ludHMoKSx7Zmlyc3RJbmRleDpuLGxhc3RJbmRleDpyfT0oMCxpLmVuc3VyZU5vdE51bGwpKHMucmFuZ2UoKS52YWx1ZSgpKTtsZXQgbz1udWxsO2lmKG48PWUmJmU8PXIpbz1zLnZhbHVlQXQoZSk7ZWxzZSBpZihlPnIpe2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7aWYobnVsbCE9PXMpe2NvbnN0IG49KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmluZGV4VG9UaW1lUG9pbnQocikpO289cy5wcm9qZWN0VGltZShuLGUtcil9fXJldHVybiBudWxsIT09byYmTnVtYmVyLmlzRmluaXRlKG8pP286bnVsbH19fSw0NzMzMTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7d2FpdEZvck1vZGVsOigpPT5pfSk7Y29uc3QgaT1lPT5uZXcgUHJvbWlzZSgodD0+e2Uud2l0aE1vZGVsKG51bGwsKCgpPT57dChlLm1vZGVsKCkubW9kZWwoKSl9KSl9KSl9LDI3NzI1NyhlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtNb3VzZUV2ZW50SGFuZGxlckRlbGF5OigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLlJlc2V0Q2xpY2s9NTAwXT0iUmVzZXRDbGljayIsZVtlLkxvbmdUYXA9MzMzXT0iTG9uZ1RhcCIsZVtlLlByZXZlbnRGaXJlc1RvdWNoRXZlbnRzPTUwMF09IlByZXZlbnRGaXJlc1RvdWNoRXZlbnRzIn0oaXx8KGk9e30pKX0sNjYzNChlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7TW91c2VFdmVudEhhbmRsZXI6KCk9PmYsTW91c2VFdmVudEhhbmRsZXJEZWxheTooKT0+aS5Nb3VzZUV2ZW50SGFuZGxlckRlbGF5LGRlZmF1bHRQcmV2ZW50ZWRIYW5kbGVyOigpPT5nLGdldENsaWNrUG9zaXRpb246KCk9Pm0saWdub3JlQ2xpY2tPclRhcE9uRGJsQ2xpY2tPckRibFRhcEhhbmRsZXJzOigpPT55LGlzVG91Y2hNb3VzZUV2ZW50OigpPT5ffSk7dmFyIGk9cygyNzcyNTcpLG49cyg4Mzk0MjYpLHI9cygxMzg2MzgpLG89cyg2MDE4NDEpLGE9cygzMTg5NzQpLGw9cyg1ODI0NzYpLHU9cyg2NzAyMTQpO2xldCBjPTI7Y29uc3QgZD1hLmlzU2FmYXJpPyJjbGljayI6ImF1eGNsaWNrIjt2YXIgaDshZnVuY3Rpb24oZSl7ZVtlLkNhbmNlbENsaWNrTWFuaGF0dGFuRGlzdGFuY2U9NV09IkNhbmNlbENsaWNrTWFuaGF0dGFuRGlzdGFuY2UiLGVbZS5DYW5jZWxUYXBNYW5oYXR0YW5EaXN0YW5jZT01XT0iQ2FuY2VsVGFwTWFuaGF0dGFuRGlzdGFuY2UiLGVbZS5Eb3VibGVDbGlja01hbmhhdHRhbkRpc3RhbmNlPTVdPSJEb3VibGVDbGlja01hbmhhdHRhbkRpc3RhbmNlIixlW2UuRG91YmxlVGFwTWFuaGF0dGFuRGlzdGFuY2U9MzBdPSJEb3VibGVUYXBNYW5oYXR0YW5EaXN0YW5jZSIKfShofHwoaD17fSkpO2NvbnN0IHA9e3RyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMSx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITEsaWdub3JlQ2xpY2tBbmRUYXBPbkRibENsaWNrT3JEYmxUYXA6ITF9O2Z1bmN0aW9uIG0oZSl7aWYoXyhlKSlyZXR1cm57eDplLmNsaWVudFgseTplLmNsaWVudFl9O2lmKCJ0b3VjaGVzImluKHQ9ZSkmJnZvaWQgMCE9PXQudG91Y2hlcyl7aWYoMT09PWUudG91Y2hlcy5sZW5ndGgpe2NvbnN0IHQ9KDAsci5lbnN1cmVOb3ROdWxsKShlLnRhcmdldCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz1lLnRvdWNoZXNbMF07cmV0dXJue3g6cy5jbGllbnRYLXQubGVmdCx5OnMuY2xpZW50WS10LnRvcH19cmV0dXJuIG51bGx9dmFyIHQ7cmV0dXJue3g6ZS5vZmZzZXRYLHk6ZS5vZmZzZXRZfX1mdW5jdGlvbiBfKGUpe3JldHVybiJpc1RvdWNoImluIGUmJiJzdHlsdXMiaW4gZX1mdW5jdGlvbiBnKGUpe3JldHVybiB0PT57dC5wcmV2ZW50RGVmYXVsdCgpLGUodCl9fWZ1bmN0aW9uIHkoZSx0KXtsZXQgcz0hMTtyZXR1cm57Y2xpY2tPclRhcDooLi4uaSk9Pnt0Py4oKT9lLmNsaWNrT3JUYXAoLi4uaSk6KHM9ITEsc2V0VGltZW91dCgoKCk9PiFzJiZlLmNsaWNrT3JUYXAoLi4uaSkpLDUwMSkpfSxkb3VibGVDbGlja09yRG91YmxlVGFwOiguLi50KT0+e3M9ITAsZS5kb3VibGVDbGlja09yRG91YmxlVGFwPy4oLi4udCl9fX1jbGFzcyBme2NvbnN0cnVjdG9yKGUsdCxzKXtpZih0aGlzLl9jbGlja0NvdW50PTAsdGhpcy5fY2xpY2tUaW1lb3V0SWQ9bnVsbCx0aGlzLl9jbGlja1Bvc2l0aW9uPXt4Ok51bWJlci5ORUdBVElWRV9JTkZJTklUWSx5Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX0sdGhpcy5fdGFwQ291bnQ9MCx0aGlzLl90YXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl90YXBQb3NpdGlvbj17eDpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkseTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9LHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl9sb25nVGFwQWN0aXZlPSExLHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl90b3VjaE1vdmVTdGFydFBvc2l0aW9uPW51bGwsdGhpcy5fdG91Y2hNb3ZlRXhjZWVkZWRNYW5oYXR0YW5EaXN0YW5jZT0hMSx0aGlzLl9jYW5jZWxDbGljaz0hMSx0aGlzLl9jYW5jZWxUYXA9ITEsdGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHM9bnVsbCx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVUb3VjaEV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlTW9iaWxlU2FmYXJpRXZlbnRzPW51bGwsdGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmU9bnVsbCx0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPW51bGwsdGhpcy5fdW5zdWJzY3JpYmVQaW5jaEV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cz1udWxsLHRoaXMuX3BpbmNoSW5mbz1udWxsLHRoaXMuX3BpbmNoUHJldmVudGVkPSExLHRoaXMuX3ByZXZlbnRUb3VjaERyYWdQcm9jZXNzPSExLHRoaXMuX21vdXNlUHJlc3NlZD0hMSx0aGlzLl9sYXN0VG91Y2hFdmVudFRpbWVTdGFtcD0wLHRoaXMuX2FjdGl2ZVRvdWNoSWQ9bnVsbCx0aGlzLl9hY2NlcHRNb3VzZUxlYXZlPSFhLkNoZWNrTW9iaWxlLmlPUygpLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwPWU9Pnt0aGlzLl9tb3VzZVVwSGFuZGxlcihlKX0sdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljaz1lPT57aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSl7Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7aWYoKyt0aGlzLl90YXBDb3VudCx0aGlzLl90YXBUaW1lb3V0SWQmJnRoaXMuX3RhcENvdW50PjEpe2NvbnN0e21hbmhhdHRhbkRpc3RhbmNlOnN9PXRoaXMuX3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGIoZSksdGhpcy5fdGFwUG9zaXRpb24pO3M8MzAmJiF0aGlzLl9jYW5jZWxUYXAmJnRoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHQsdGhpcy5faGFuZGxlcnMuZG91YmxlVGFwRXZlbnQpLHRoaXMuX3Jlc2V0VGFwVGltZW91dCgpfX1lbHNle2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO2lmKCsrdGhpcy5fY2xpY2tDb3VudCx0aGlzLl9jbGlja1RpbWVvdXRJZCYmdGhpcy5fY2xpY2tDb3VudD4xKXtjb25zdHttYW5oYXR0YW5EaXN0YW5jZTpzfT10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKGUpLHRoaXMuX2NsaWNrUG9zaXRpb24pO3M8NSYmIXRoaXMuX2NhbmNlbENsaWNrJiZ0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0LHRoaXMuX2hhbmRsZXJzLm1vdXNlRG91YmxlQ2xpY2tFdmVudCksdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKX19fSx0aGlzLl90YXJnZXQ9ZSx0aGlzLl9vcHRpb25zPSgwLG8ubWVyZ2UpKCgwLG8uY2xvbmUpKHApLHN8fHt9KSx0aGlzLl9vcHRpb25zLmlnbm9yZUNsaWNrQW5kVGFwT25EYmxDbGlja09yRGJsVGFwKXtpZih0Lm1vdXNlQ2xpY2tFdmVudCYmdC5tb3VzZURvdWJsZUNsaWNrRXZlbnQpe2NvbnN0IGU9eSh7Y2xpY2tPclRhcDp0Lm1vdXNlQ2xpY2tFdmVudC5iaW5kKHQpLGRvdWJsZUNsaWNrT3JEb3VibGVUYXA6dC5tb3VzZURvdWJsZUNsaWNrRXZlbnQuYmluZCh0KX0pO3QubW91c2VDbGlja0V2ZW50PWUuY2xpY2tPclRhcCx0Lm1vdXNlRG91YmxlQ2xpY2tFdmVudD1lLmRvdWJsZUNsaWNrT3JEb3VibGVUYXB9aWYodC50YXBFdmVudCYmdC5kb3VibGVUYXBFdmVudCl7Y29uc3QgZT15KHtjbGlja09yVGFwOnQudGFwRXZlbnQuYmluZCh0KSxkb3VibGVDbGlja09yRG91YmxlVGFwOnQuZG91YmxlVGFwRXZlbnQuYmluZCh0KX0pO3QudGFwRXZlbnQ9ZS5jbGlja09yVGFwLHQuZG91YmxlVGFwRXZlbnQ9ZS5kb3VibGVDbGlja09yRG91YmxlVGFwfX10aGlzLl9oYW5kbGVycz10LHRoaXMuX2luaXQoKX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlT3V0c2lkZU1vdXNlRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHMoKSwKdGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlT3V0c2lkZVRvdWNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlVG91Y2hFdmVudHMoKSx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVUb3VjaEV2ZW50cz1udWxsKSxudWxsIT09dGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJih0aGlzLl91bnN1YnNjcmliZU1vdXNlbW92ZSgpLHRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlPW51bGwpLG51bGwhPT10aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzKCksdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHMoKSx0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cz1udWxsKSxudWxsIT09dGhpcy5fdW5zdWJzY3JpYmVNb2JpbGVTYWZhcmlFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZU1vYmlsZVNhZmFyaUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlTW9iaWxlU2FmYXJpRXZlbnRzPW51bGwpLG51bGwhPT10aGlzLl91bnN1YnNjcmliZVBpbmNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVQaW5jaEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUGluY2hFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cz1udWxsKSx0aGlzLl9jbGVhckxvbmdUYXBUaW1lb3V0KCksdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKX1fbW91c2VFbnRlckhhbmRsZXIoZSl7dGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJnRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlKCk7Y29uc3QgdD10aGlzLl9tb3VzZU1vdmVIYW5kbGVyLmJpbmQodGhpcyk7aWYodGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmU9KCk9Pnt0aGlzLl90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0KX0sdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdCksdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQocyx0aGlzLl9oYW5kbGVycy5tb3VzZUVudGVyRXZlbnQpLHRoaXMuX2FjY2VwdE1vdXNlTGVhdmU9ITB9X3Jlc2V0Q2xpY2tUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX2NsaWNrVGltZW91dElkJiZjbGVhclRpbWVvdXQodGhpcy5fY2xpY2tUaW1lb3V0SWQpLHRoaXMuX2NsaWNrQ291bnQ9MCx0aGlzLl9jbGlja1RpbWVvdXRJZD1udWxsLHRoaXMuX2NsaWNrUG9zaXRpb249e3g6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZfX1fcmVzZXRUYXBUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RhcFRpbWVvdXRJZCYmY2xlYXJUaW1lb3V0KHRoaXMuX3RhcFRpbWVvdXRJZCksdGhpcy5fdGFwQ291bnQ9MCx0aGlzLl90YXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl90YXBQb3NpdGlvbj17eDpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkseTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9fV9tb3VzZU1vdmVIYW5kbGVyKGUpe2lmKHRoaXMuX21vdXNlUHJlc3NlZHx8bnVsbCE9PXRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb24pcmV0dXJuO2lmKHRoaXMuX2ZpcmVzVG91Y2hFdmVudHMoZSkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VNb3ZlRXZlbnQpLHRoaXMuX2FjY2VwdE1vdXNlTGVhdmU9ITB9X3RvdWNoTW92ZUhhbmRsZXIoZSl7Y29uc3QgdD1QKGUuY2hhbmdlZFRvdWNoZXMsKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3RpdmVUb3VjaElkKSk7aWYobnVsbD09PXQpcmV0dXJuO2lmKHRoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksbnVsbCE9PXRoaXMuX3BpbmNoSW5mbylyZXR1cm47aWYodGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3MpcmV0dXJuO3RoaXMuX3BpbmNoUHJldmVudGVkPSEwO2NvbnN0IHM9dGhpcy5fdG91Y2hNb3VzZU1vdmVXaXRoRG93bkluZm8oYih0KSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb24pKSx7eE9mZnNldDppLHlPZmZzZXQ6bixtYW5oYXR0YW5EaXN0YW5jZTpvfT1zO2lmKHRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2V8fCEobzw1KSl7aWYoIXRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2Upe2NvbnN0IGU9LjUqaSx0PXRoaXMuX29wdGlvbnMuc2hvdWxkQWxsb3dUb3VjaERyYWc/LigpPz8hMSxzPW4+PWUmJighdGhpcy5fb3B0aW9ucy50cmVhdFZlcnRUb3VjaERyYWdBc1BhZ2VTY3JvbGx8fHQpLHI9ZT5uJiYoIXRoaXMuX29wdGlvbnMudHJlYXRIb3J6VG91Y2hEcmFnQXNQYWdlU2Nyb2xsfHx0KTtzfHxyfHwodGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3M9ITApLHRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2U9ITAsdGhpcy5fY2FuY2VsVGFwPSEwLHRoaXMuX2NsZWFyTG9uZ1RhcFRpbWVvdXQoKSx0aGlzLl9yZXNldFRhcFRpbWVvdXQoKX1pZighdGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3Mpe2NvbnN0IHM9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUsdCk7dGhpcy5fcHJvY2Vzc1RvdWNoRXZlbnQocyx0aGlzLl9oYW5kbGVycy50b3VjaE1vdmVFdmVudCksKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fX1fbW91c2VNb3ZlV2l0aERvd25IYW5kbGVyKGUpe2lmKDAhPT1lLmJ1dHRvbilyZXR1cm47Y29uc3QgdD10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKGUpLCgwLApyLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb24pKSx7bWFuaGF0dGFuRGlzdGFuY2U6c309dDtpZihzPj01JiYodGhpcy5fY2FuY2VsQ2xpY2s9ITAsdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKSksdGhpcy5fY2FuY2VsQ2xpY2spe2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMucHJlc3NlZE1vdXNlTW92ZUV2ZW50KX19X3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGUsdCl7Y29uc3Qgcz1NYXRoLmFicyh0LngtZS54KSxpPU1hdGguYWJzKHQueS1lLnkpO3JldHVybnt4T2Zmc2V0OnMseU9mZnNldDppLG1hbmhhdHRhbkRpc3RhbmNlOnMraX19X3RvdWNoRW5kSGFuZGxlcihlKXtsZXQgdD1QKGUuY2hhbmdlZFRvdWNoZXMsKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3RpdmVUb3VjaElkKSk7aWYobnVsbD09PXQmJjA9PT1lLnRvdWNoZXMubGVuZ3RoJiYodD1lLmNoYW5nZWRUb3VjaGVzWzBdKSxudWxsPT09dClyZXR1cm47dGhpcy5fYWN0aXZlVG91Y2hJZD1udWxsLHRoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksdGhpcy5fY2xlYXJMb25nVGFwVGltZW91dCgpLHRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzKCksdGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHM9bnVsbCk7Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSx0KTtpZih0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLnRvdWNoRW5kRXZlbnQpLCsrdGhpcy5fdGFwQ291bnQsdGhpcy5fdGFwVGltZW91dElkJiZ0aGlzLl90YXBDb3VudD4xKXtjb25zdHttYW5oYXR0YW5EaXN0YW5jZTplfT10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKHQpLHRoaXMuX3RhcFBvc2l0aW9uKTtlPDMwJiYhdGhpcy5fY2FuY2VsVGFwJiZ0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLmRvdWJsZVRhcEV2ZW50KSx0aGlzLl9yZXNldFRhcFRpbWVvdXQoKX1lbHNlIHRoaXMuX2NhbmNlbFRhcHx8KHRoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHMsdGhpcy5faGFuZGxlcnMudGFwRXZlbnQpLHRoaXMuX2hhbmRsZXJzLnRhcEV2ZW50JiYoMCxsLnByZXZlbnREZWZhdWx0KShlKSk7MD09PXRoaXMuX3RhcENvdW50JiYoMCxsLnByZXZlbnREZWZhdWx0KShlKSwwPT09ZS50b3VjaGVzLmxlbmd0aCYmdGhpcy5fbG9uZ1RhcEFjdGl2ZSYmKHRoaXMuX2xvbmdUYXBBY3RpdmU9ITEsKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSkpfV90b3VjaENhbmNlbEhhbmRsZXIoZSl7dGhpcy5fdG91Y2hFbmRIYW5kbGVyKGUpfV9tb3VzZVVwSGFuZGxlcihlKXtpZigwIT09ZS5idXR0b24pcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO2lmKHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl9tb3VzZVByZXNzZWQ9ITEsdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzPW51bGwpLGEuaXNGRil7dGhpcy5fdGFyZ2V0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwKX1pZighdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlpZih0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0LHRoaXMuX2hhbmRsZXJzLm1vdXNlVXBFdmVudCksKyt0aGlzLl9jbGlja0NvdW50LHRoaXMuX2NsaWNrVGltZW91dElkJiZ0aGlzLl9jbGlja0NvdW50PjEpe2NvbnN0e21hbmhhdHRhbkRpc3RhbmNlOnN9PXRoaXMuX3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGIoZSksdGhpcy5fY2xpY2tQb3NpdGlvbik7czw1JiYhdGhpcy5fY2FuY2VsQ2xpY2smJnRoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VEb3VibGVDbGlja0V2ZW50KSx0aGlzLl9yZXNldENsaWNrVGltZW91dCgpfWVsc2UgdGhpcy5fY2FuY2VsQ2xpY2t8fHRoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VDbGlja0V2ZW50KX1fY2xlYXJMb25nVGFwVGltZW91dCgpe251bGwhPT10aGlzLl9sb25nVGFwVGltZW91dElkJiYoY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQpLHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9bnVsbCl9X3RvdWNoU3RhcnRIYW5kbGVyKGUpe2lmKG51bGwhPT10aGlzLl9hY3RpdmVUb3VjaElkKXJldHVybiB0aGlzLl9jbGVhckxvbmdUYXBUaW1lb3V0KCksdm9pZCB0aGlzLl9yZXNldFRhcFRpbWVvdXQoKTtjb25zdCB0PWUuY2hhbmdlZFRvdWNoZXNbMF07dGhpcy5fYWN0aXZlVG91Y2hJZD10LmlkZW50aWZpZXIsdGhpcy5fbGFzdFRvdWNoRXZlbnRUaW1lU3RhbXA9dyhlKTtjb25zdCBzPXRoaXMuX3RhcmdldC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDt0aGlzLl9jYW5jZWxUYXA9ITEsdGhpcy5fdG91Y2hNb3ZlRXhjZWVkZWRNYW5oYXR0YW5EaXN0YW5jZT0hMSx0aGlzLl9wcmV2ZW50VG91Y2hEcmFnUHJvY2Vzcz0hMSx0aGlzLl90b3VjaE1vdmVTdGFydFBvc2l0aW9uPWIodCksdGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPW51bGwpO3tjb25zdCB0PXRoaXMuX3RvdWNoTW92ZUhhbmRsZXIuYmluZCh0aGlzKSxpPXRoaXMuX3RvdWNoRW5kSGFuZGxlci5iaW5kKHRoaXMpO3RoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPSgpPT57cy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHQpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGkpfSxzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdCx7cGFzc2l2ZTohMX0pLApzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixpLHtwYXNzaXZlOiExfSksdGhpcy5fY2xlYXJMb25nVGFwVGltZW91dCgpLHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9c2V0VGltZW91dCh0aGlzLl9sb25nVGFwSGFuZGxlci5iaW5kKHRoaXMsZSksMzMzKX1jb25zdCBpPXRoaXMuX21ha2VDb21wYXRFdmVudChlLHQpO3RoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KGksdGhpcy5faGFuZGxlcnMudG91Y2hTdGFydEV2ZW50KSx0aGlzLl90YXBUaW1lb3V0SWR8fCh0aGlzLl90YXBDb3VudD0wLHRoaXMuX3RhcFRpbWVvdXRJZD1zZXRUaW1lb3V0KHRoaXMuX3Jlc2V0VGFwVGltZW91dC5iaW5kKHRoaXMpLDUwMCksdGhpcy5fdGFwUG9zaXRpb249Yih0KSl9X3doZWVsQ2xpY2tIYW5kbGVyKGUpe2lmKDEhPT1lLmJ1dHRvbilyZXR1cm47aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQodCx0aGlzLl9oYW5kbGVycy53aGVlbENsaWNrRXZlbnQpfV9tb3VzZURvd25IYW5kbGVyKGUpe2lmKDAhPT1lLmJ1dHRvbilyZXR1cm47Y29uc3QgdD10aGlzLl90YXJnZXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7YS5pc0ZGJiZ0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwKSx0aGlzLl9jYW5jZWxDbGljaz0hMSx0aGlzLl9tb3VzZU1vdmVTdGFydFBvc2l0aW9uPWIoZSksdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzPW51bGwpO3tjb25zdCBlPXRoaXMuX21vdXNlTW92ZVdpdGhEb3duSGFuZGxlci5iaW5kKHRoaXMpLHM9dGhpcy5fbW91c2VVcEhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cz0oKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHMpfSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZSksdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixzKX1pZih0aGlzLl9tb3VzZVByZXNzZWQ9ITAsdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQocyx0aGlzLl9oYW5kbGVycy5tb3VzZURvd25FdmVudCksdGhpcy5fY2xpY2tUaW1lb3V0SWR8fCh0aGlzLl9jbGlja0NvdW50PTAsdGhpcy5fY2xpY2tUaW1lb3V0SWQ9c2V0VGltZW91dCh0aGlzLl9yZXNldENsaWNrVGltZW91dC5iaW5kKHRoaXMpLDUwMCksdGhpcy5fY2xpY2tQb3NpdGlvbj1iKGUpKX1faW5pdCgpe2NvbnN0IGU9dGhpcy5fbW91c2VFbnRlckhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsZSk7Y29uc3QgdD10aGlzLl90b3VjaENhbmNlbEhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLHQpO3tjb25zdCBlPXRoaXMuX3RhcmdldC5vd25lckRvY3VtZW50LHQ9ZT0+IWUudGFyZ2V0fHwhdGhpcy5fdGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSxzPWU9PntpZighdChlKSlyZXR1cm47Y29uc3Qgcz1lLmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksdGhpcy5fcHJvY2Vzc1RvdWNoRXZlbnQodGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUscyksdGhpcy5faGFuZGxlcnMudG91Y2hTdGFydE91dHNpZGVFdmVudCl9LGk9ZT0+e3QoZSkmJiF0aGlzLl9maXJlc1RvdWNoRXZlbnRzKGUpJiZ0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSksdGhpcy5faGFuZGxlcnMubW91c2VEb3duT3V0c2lkZUV2ZW50KX07dGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlVG91Y2hFdmVudHM9KCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMpfSx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVNb3VzZUV2ZW50cz0oKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixpKX0sZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGkpLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIscyx7cGFzc2l2ZTohMH0pfWEuQ2hlY2tNb2JpbGUuaU9TKCkmJih0aGlzLl91bnN1YnNjcmliZU1vYmlsZVNhZmFyaUV2ZW50cz0oKT0+e3RoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljayl9LHRoaXMuX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljaykpO2NvbnN0IHM9dGhpcy5fbW91c2VMZWF2ZUhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIscyk7Y29uc3QgaT10aGlzLl9jb250ZXh0TWVudUhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGkpO2NvbnN0IG49dGhpcy5fdG91Y2hTdGFydEhhbmRsZXIuYmluZCh0aGlzKTtsZXQgcjt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbix7cGFzc2l2ZTohMH0pLGEuaXNDaHJvbWUmJihyPWU9PntpZigxPT09ZS5idXR0b24pcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSwhMX0sdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIscikpO2NvbnN0IG89dGhpcy5fbW91c2VEb3duSGFuZGxlci5iaW5kKHRoaXMpO3RoaXMuX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8pO2NvbnN0IGw9dGhpcy5fd2hlZWxDbGlja0hhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihkLGwpO2NvbnN0IHU9KCk9Pnt9Cjt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix1LHtwYXNzaXZlOiExfSksdGhpcy5fdW5zdWJzY3JpYmVUYXJnZXRFbGVtZW50RXZlbnRzPSgpPT57dGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHMpLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsaSksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG4pLHImJnRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHIpLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8pLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKGQsbCksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdSl9LHRoaXMuX2luaXRQaW5jaCgpfV9pbml0UGluY2goKXtpZih2b2lkIDA9PT10aGlzLl9oYW5kbGVycy5waW5jaFN0YXJ0RXZlbnQmJnZvaWQgMD09PXRoaXMuX2hhbmRsZXJzLnBpbmNoRXZlbnQmJnZvaWQgMD09PXRoaXMuX2hhbmRsZXJzLnBpbmNoRW5kRXZlbnQpcmV0dXJuO2NvbnN0IGU9ZT0+dGhpcy5fY2hlY2tQaW5jaFN0YXRlKGUudG91Y2hlcyk7dGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGUse3Bhc3NpdmU6ITB9KTtjb25zdCB0PWU9PntpZihudWxsPT09dGhpcy5fcGluY2hJbmZvKXJldHVybjtjb25zdCB0PVAoZS50b3VjaGVzLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aXZlVG91Y2hJZCkpLHM9UChlLnRvdWNoZXMsdGhpcy5fcGluY2hJbmZvLnNlY29uZFRvdWNoSWQpO2lmKHQmJnMmJnZvaWQgMCE9PXRoaXMuX2hhbmRsZXJzLnBpbmNoRXZlbnQpe2NvbnN0e3N0YXJ0UGluY2hEaXN0YW5jZTppLHN0YXJ0UGluY2hNaWRkbGVQb2ludDpufT10aGlzLl9waW5jaEluZm8scj1TKHQscykvaSxvPXYodGhpcy5fdGFyZ2V0KTt0aGlzLl9oYW5kbGVycy5waW5jaEV2ZW50KG4se3g6dC5jbGllbnRYLW8ubGVmdCx5OnQuY2xpZW50WS1vLnRvcH0se3g6cy5jbGllbnRYLW8ubGVmdCx5OnMuY2xpZW50WS1vLnRvcH0sciksKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0LHtwYXNzaXZlOiExfSk7Y29uc3Qgcz1lPT50aGlzLl9jaGVja1BpbmNoU3RhdGUoZS50b3VjaGVzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMpLHRoaXMuX3Vuc3Vic2NyaWJlUGluY2hFdmVudHM9KCk9Pnt0aGlzLl90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZSksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdCksdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixzKX19X2NoZWNrUGluY2hTdGF0ZShlKXsxPT09ZS5sZW5ndGgmJih0aGlzLl9waW5jaFByZXZlbnRlZD0hMSksMiE9PWUubGVuZ3RofHx0aGlzLl9waW5jaFByZXZlbnRlZHx8dGhpcy5fbG9uZ1RhcEFjdGl2ZT90aGlzLl9zdG9wUGluY2goKTp0aGlzLl9zdGFydFBpbmNoKGUpfV9zdGFydFBpbmNoKGUpe2lmKHZvaWQgMCE9PXRoaXMuX2hhbmRsZXJzLnBpbmNoU3RhcnRFdmVudCYmbnVsbD09PXRoaXMuX3BpbmNoSW5mbyl7Y29uc3QgdD12KHRoaXMuX3RhcmdldCk7bGV0IHMsaTtlWzBdLmlkZW50aWZpZXI9PT10aGlzLl9hY3RpdmVUb3VjaElkPyhzPWVbMF0saT1lWzFdKToocz1lWzFdLGk9ZVswXSk7Y29uc3Qgbj17eDpzLmNsaWVudFgtdC5sZWZ0LHk6cy5jbGllbnRZLXQudG9wfSxyPXt4OmkuY2xpZW50WC10LmxlZnQseTppLmNsaWVudFktdC50b3B9LG89e3g6KG4ueCtyLngpLzIseToobi55K3IueSkvMn07dGhpcy5faGFuZGxlcnMucGluY2hTdGFydEV2ZW50KG8sbixyLHtib3RoUG9pbnRzT25UYXJnZXRFbGVtZW50OnRoaXMuX3RhcmdldC5jb250YWlucyhpLnRhcmdldCl9KSYmKHRoaXMuX3BpbmNoSW5mbz17c3RhcnRQaW5jaERpc3RhbmNlOlMocyxpKSxzdGFydFBpbmNoTWlkZGxlUG9pbnQ6byxzZWNvbmRUb3VjaElkOmkuaWRlbnRpZmllcn0pfXRoaXMuX2NsZWFyTG9uZ1RhcFRpbWVvdXQoKX1fc3RvcFBpbmNoKCl7bnVsbCE9PXRoaXMuX3BpbmNoSW5mbyYmKHRoaXMuX3BpbmNoSW5mbz1udWxsLHRoaXMuX2hhbmRsZXJzLnBpbmNoRW5kRXZlbnQ/LigpKX1fbW91c2VMZWF2ZUhhbmRsZXIoZSl7aWYodGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJnRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlKCksdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47aWYoIXRoaXMuX2FjY2VwdE1vdXNlTGVhdmUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VMZWF2ZUV2ZW50KSx0aGlzLl9hY2NlcHRNb3VzZUxlYXZlPSFhLkNoZWNrTW9iaWxlLmlPUygpfV9sb25nVGFwSGFuZGxlcihlKXtjb25zdCB0PVAoZS50b3VjaGVzLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aXZlVG91Y2hJZCkpO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPXRoaXMuX21ha2VDb21wYXRFdmVudChlLHQpO3RoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHMsdGhpcy5faGFuZGxlcnMubG9uZ1RhcEV2ZW50KSx0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLnRvdWNoQ29udGV4dE1lbnVFdmVudCksdGhpcy5fY2FuY2VsVGFwPSEwLHRoaXMuX2xvbmdUYXBBY3RpdmU9ITB9X2NvbnRleHRNZW51SGFuZGxlcihlKXtpZigoMCxsLnByZXZlbnREZWZhdWx0KShlKSxudWxsIT09dGhpcy5fdG91Y2hNb3ZlU3RhcnRQb3NpdGlvbilyZXR1cm47aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQodCx0aGlzLl9oYW5kbGVycy5jb250ZXh0TWVudUV2ZW50KSx0aGlzLl9jYW5jZWxDbGljaz0hMH1fZmlyZXNUb3VjaEV2ZW50cyhlKXsKcmV0dXJuIGUuc291cmNlQ2FwYWJpbGl0aWVzJiZ2b2lkIDAhPT1lLnNvdXJjZUNhcGFiaWxpdGllcy5maXJlc1RvdWNoRXZlbnRzP2Uuc291cmNlQ2FwYWJpbGl0aWVzLmZpcmVzVG91Y2hFdmVudHM6dyhlKTx0aGlzLl9sYXN0VG91Y2hFdmVudFRpbWVTdGFtcCs1MDB9X3Byb2Nlc3NUb3VjaEV2ZW50KGUsdCl7KDAsdS5zZXRMYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKShlKSx0JiZ0LmNhbGwodGhpcy5faGFuZGxlcnMsZSl9X3Byb2Nlc3NNb3VzZUV2ZW50KGUsdCl7d2luZG93LlRWRCYmKCJtb3VzZWVudGVyIj09PWUuc3JjVHlwZXx8Im1vdXNlbW92ZSI9PT1lLnNyY1R5cGUpJiZjPjA/Yy0tOigibW91c2VsZWF2ZSIhPT1lLnNyY1R5cGUmJigwLHUuc2V0TGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoZSksdCYmdC5jYWxsKHRoaXMuX2hhbmRsZXJzLGUpKX1fbWFrZUNvbXBhdEV2ZW50KGUsdCl7Y29uc3Qgcz10fHxlLGk9dD92b2lkIDA6ZS5idXR0b25zLHI9KDAsbi5kZWZhdWx0KSgoKCk9PnRoaXMuX3RhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH0pKTtyZXR1cm57Y2xpZW50WDpzLmNsaWVudFgsY2xpZW50WTpzLmNsaWVudFkscGFnZVg6cy5wYWdlWCxwYWdlWTpzLnBhZ2VZLHNjcmVlblg6cy5zY3JlZW5YLHNjcmVlblk6cy5zY3JlZW5ZLGdldCBsb2NhbFgoKXtyZXR1cm4gcy5jbGllbnRYLXIoKS5sZWZ0fSxnZXQgbG9jYWxZKCl7cmV0dXJuIHMuY2xpZW50WS1yKCkudG9wfSxjdHJsS2V5OmUuY3RybEtleSxhbHRLZXk6ZS5hbHRLZXksc2hpZnRLZXk6ZS5zaGlmdEtleSxtZXRhS2V5OmUubWV0YUtleSxidXR0b25zOmksaXNUb3VjaDohZS50eXBlLnN0YXJ0c1dpdGgoIm1vdXNlIikmJiJjb250ZXh0bWVudSIhPT1lLnR5cGUmJiJjbGljayIhPT1lLnR5cGUsc3R5bHVzOiJzdHlsdXMiPT09dD8udG91Y2hUeXBlLHNyY1R5cGU6ZS50eXBlLHRhcmdldDpzLnRhcmdldCx2aWV3OmUudmlldyxwcmV2ZW50RGVmYXVsdDooKT0+eyJ0b3VjaHN0YXJ0IiE9PWUudHlwZSYmKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fX19ZnVuY3Rpb24gdihlKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH19ZnVuY3Rpb24gYihlKXtyZXR1cm57eDplLnBhZ2VYLHk6ZS5wYWdlWX19ZnVuY3Rpb24gUyhlLHQpe2NvbnN0IHM9ZS5jbGllbnRYLXQuY2xpZW50WCxpPWUuY2xpZW50WS10LmNsaWVudFk7cmV0dXJuIE1hdGguc3FydChzKnMraSppKX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnRpbWVTdGFtcHx8cGVyZm9ybWFuY2Uubm93KCl9ZnVuY3Rpb24gUChlLHQpe2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7KytzKWlmKGVbc10uaWRlbnRpZmllcj09PXQpcmV0dXJuIGVbc107cmV0dXJuIG51bGx9fSw3NDU5OTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse2FkZFN5bWJvbERpYWxvZ0hhc09wZW5lZEtleTooKT0+byxzaG93QWRkU3ltYm9sRGlhbG9nOigpPT5hfSk7dmFyIGk9cyg2MjE5MjYpLG49cyg4MjQ0NzgpLHI9cygxNzk3NzEpO2NvbnN0IG89ImFkZFN5bWJvbERpYWxvZ0hhc09wZW5lZEtleSI7ZnVuY3Rpb24gYShlKXsoMCxpLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+eygwLG4uc2hvd1dhdGNoTGlzdHNEaWFsb2cpKHthZGRTeW1ib2xzOmUsb25PcGVuOmx9KX0pLHtmZWF0dXJlOiJ3YXRjaExpc3QiLHNvdXJjZToiYWRkIHN5bWJvbCB0byB3YXRjaGxpc3QifSl9ZnVuY3Rpb24gbCgpe3IuZW1pdChvKX19LDcwNjg4NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjcmVhdGVEd21BbGlnbmVyOigpPT5kLGNyZWF0ZVRpbWVUb0JhclRpbWVBbGlnbmVyOigpPT5ofSk7dmFyIGk9cyg3MDA4MDkpLG49cygyNTQ2NzMpLHI9cyg2NDI3MTkpLG89cyg3NzE3OTUpO2NvbnN0IGE9bmV3IHIuU2Vzc2lvbkluZm8oIkV0Yy9VVEMiLCIwMDAwLTAwMDA6MTIzNDU2NyIpO3ZhciBsPXMoOTMwMjMxKTtmdW5jdGlvbiB1KCl7cmV0dXJuISgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfcmVzb2x1dGlvbl9yZWJ1aWxkIil9Y29uc3QgYz1uZXcgTWFwO2Z1bmN0aW9uIGQoZSx0KXtjb25zdCBzPXUoKSxsPWAke3N9fCR7ZX18JHt0LnRpbWV6b25lfXwke3Quc2Vzc2lvbn18JHt0LnNlc3Npb25faG9saWRheXM/PyIifXwke3QuY29ycmVjdGlvbnM/PyIifWA7bGV0IGQ9Yy5nZXQobCk7cmV0dXJuIHZvaWQgMD09PWQmJihkPWZ1bmN0aW9uKGUsdCxzKXtpZighZXx8IW4uSW50ZXJ2YWwuaXNEV00odCkpcmV0dXJuIG51bGw7Y29uc3QgbD1uZXcgci5TZXNzaW9uSW5mbyhzLnRpbWV6b25lLHMuc2Vzc2lvbixzLnNlc3Npb25faG9saWRheXMscy5jb3JyZWN0aW9ucyksdT0oMCxvLm5ld0JhckJ1aWxkZXIpKHQsbCxhKTtyZXR1cm57dGltZVRvU2Vzc2lvblN0YXJ0OmU9PnUudHJhZGluZ0RheVRvU2Vzc2lvblN0YXJ0KGUpLHRpbWVUb0V4Y2hhbmdlVHJhZGluZ0RheTplPT57Y29uc3QgdD0oMCxpLnV0Y190b19jYWwpKGwudGltZXpvbmUsZSkscz1sLnNwZWMuY29ycmVjdFRyYWRpbmdEYXkodCk7cmV0dXJuKDAsaS5zZXRfaG1zKShzLDAsMCwwLDAsKDAsaS5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpLHMuZ2V0VGltZSgpfX19KHMsZSx0KSxjLnNldChsLGQpKSxkfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0LHMpe2lmKCFlKXJldHVybiBlPT5lO2NvbnN0IGk9bmV3IHIuU2Vzc2lvbkluZm8ocy50aW1lem9uZSxzLnNlc3Npb24scy5zZXNzaW9uX2hvbGlkYXlzLHMuY29ycmVjdGlvbnMpLG49KDAsby5uZXdCYXJCdWlsZGVyKSh0LGksaSwhMSk7cmV0dXJuIGU9Pm4uYWxpZ25UaW1lSWZQb3NzaWJsZShlKX0odSgpLGUsdCl9fSw5NzQ2NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7RGVmYXVsdFByb3BlcnR5OigpPT5OLGFsbG93U2F2aW5nRGVmYXVsdHM6KCk9Pk0sY2xlYW5VcFN0YXRlS2V5czooKT0+RSxjcmVhdGVEZWZhdWx0c1N0YXRlOigpPT5JLGV4dHJhY3RBbGxQcm9wZXJ0aWVzS2V5czooKT0+RCxleHRyYWN0U3RhdGU6KCk9PlIsZXh0cmFjdFRoZW1lZENvbG9yczooKT0+a30pCjt2YXIgaT1zKDIwMzY4MSksbj1zKDc0MDE2Mikscj1zKDkxNzM3MSksbz1zKDU1NDcxOCksYT1zKDEwNTk3MCksbD1zKDg2NDAzNiksdT1zKDE2NzUwMiksYz1zKDE0NDU1NSksZD1zKDg4MDExNSksaD1zKDMwNDIyMSkscD1zKDEzODYzOCksbT1zKDEzNDY3KSxfPXMoMjIxMDYxKSxnPXMoNDI1NjU5KSx5PXMoODEwNDEpLGY9cygyMDA2NjYpLHY9cyg0NTM5NjgpLGI9cyg5NDgzODApLFM9cyg5MjUyODIpLHc9cygxMDk0MjkpLFA9KHMoNzk0ODEyKSxzKDc2ODI5MikpO2NvbnN0IFQ9KDAsXy5nZXRMb2dnZXIpKCJUaGVtZWREZWZhdWx0cyIpO2Z1bmN0aW9uIEMoZSl7cmV0dXJuIGUudmFsdWUoKT09PXkuU3RkVGhlbWUuRGFyaz95LlN0ZFRoZW1lLkRhcms6eS5TdGRUaGVtZS5MaWdodH1mdW5jdGlvbiBFKGUsdCxzKXtmb3IoY29uc3QgaSBvZiB0KWlmKCgwLHIuZGVmYXVsdCkoZSxpKSxzKXtjb25zdCB0PWkuc3BsaXQoIi4iKTtmb3IodC5wb3AoKTt0Lmxlbmd0aDspe2NvbnN0IHM9KDAsby5kZWZhdWx0KShlLHQpO2lmKCEoMCxkLmRlZmF1bHQpKHMpfHwwIT09T2JqZWN0LmtleXMocykubGVuZ3RoKWJyZWFrOygwLHIuZGVmYXVsdCkoZSx0KSx0LnBvcCgpfX19ZnVuY3Rpb24gSShlLHQscyl7dC5zdGFydHNXaXRoKCJzdHVkeV8iKSYmVC5sb2dFcnJvcigiY3JlYXRlRGVmYXVsdHNTdGF0ZTogc2hvdWxkIG5vdCBjYWxsIHRoaXMgZm9yIHN0dWRpZXMiKTtjb25zdCByPXt9LG89KDAsaS5kZWZhdWx0KSgoZT93LmRlZmF1bHRzOncuZmFjdG9yeURlZmF1bHRzKSh0KSk7cmV0dXJuIEUobyxzKSwoMCxuLmRlZmF1bHQpKHIsbykscn1sZXQgTD0hMTtmdW5jdGlvbiBNKGUpe0w9ZX1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgcz1PYmplY3Qua2V5cyhlKSxpPVtdO3JldHVybiBzLmZvckVhY2goKHM9Pntjb25zdCBuPWVbc107aWYoKDAsZC5kZWZhdWx0KShuKSl7RChuKS5mb3JFYWNoKChlPT5pLnB1c2goYCR7c30uJHtlfWApKSl9ZWxzZSB0Py5oYXMocyl8fGkucHVzaChzKX0pKSxpfWZ1bmN0aW9uIHgoZSx0LHM9IiIpe2lmKDE9PT10Lmxlbmd0aCYmIioiPT09dFswXSlyZXR1cm4gZTtjb25zdCBpPXt9O2Zvcihjb25zdCBuIG9mIHQpe2NvbnN0IHI9bi5zcGxpdCgiLiIpLG89clswXSxhPWVbb10sbD0iIj09PXM/bzpgJHtzfS4ke299YDtpZihlLmhhc093blByb3BlcnR5KG8pKWlmKHIubGVuZ3RoPjEpe2lmKCEoMCxkLmRlZmF1bHQpKGEpKXtULmxvZ0Vycm9yKGBwYXRoICR7bH0gbXVzdCBiZSBhbiBvYmplY3QsIGJ1dCBpdCBpcyBhIHByaW1pdGl2ZWApO2NvbnRpbnVlfXtjb25zdCBlPXQuZmlsdGVyKChlPT5lLnN0YXJ0c1dpdGgoYCR7b30uYCkpKS5tYXAoKGU9PmUuc3BsaXQoIi4iKS5zbGljZSgxKS5qb2luKCIuIikpKTtpW29dPXgoYSxlLGwpfX1lbHNle2lmKCgwLGQuZGVmYXVsdCkoYSkpe1QubG9nRXJyb3IoYHBhdGggJHtsfSBtdXN0IGJlIGEgcHJpbWl0aXZlLCBidXQgaXQgaXMgYW4gb2JqZWN0YCk7Y29udGludWV9aVtvXT1hfX1yZXR1cm4gaX1mdW5jdGlvbiBSKGUsdCxzKXtpZighZSlyZXR1cm57fTtsZXQgaT1lO3JldHVybiB0JiYoaT14KGUsdCkpLHMmJkUoaSxzLCEwKSxpfWZ1bmN0aW9uIGsoZSx0KXtjb25zdCBzPUQoZSksaT1bXTtmb3IoY29uc3QgbiBvZiBzKXtjb25zdCBzPSgwLG8uZGVmYXVsdCkoZSxuKSxyPSgwLG8uZGVmYXVsdCkodCxuKTsoMCxwLmFzc2VydCkodm9pZCAwIT09cyxgTGlnaHQgdGhlbWUgdmFsdWUgZm9yICR7bn0gaXMgdW5kZWZpbmVkYCksKDAscC5hc3NlcnQpKHZvaWQgMCE9PXIsYERhcmsgdGhlbWUgdmFsdWUgZm9yICR7bn0gaXMgdW5kZWZpbmVkYCksaS5wdXNoKHtwYXRoOm4sY29sb3JzOltzLHJdfSl9cmV0dXJuIGl9ZnVuY3Rpb24gVihlLHQpe2UuaW5jbHVkZXModCl8fGUucHVzaCh0KX1mdW5jdGlvbiBBKGUsdCl7Y29uc3Qgcz1lLmluZGV4T2YodCk7LTEhPT1zJiZlLnNwbGljZShzLDEpfWZ1bmN0aW9uIEYoZSx0KXtjb25zdCBzPSgwLGwuZGVmYXVsdCkoZSwoKGUscyxpKT0+e2lmKHZvaWQgMD09PXRbaV0pcmV0dXJuIGU7aWYoISgwLHUuZGVmYXVsdCkocyx0W2ldKSlpZigoMCxkLmRlZmF1bHQpKHMpJiYoMCxkLmRlZmF1bHQpKHRbaV0pKXtjb25zdCBuPUYocyx0W2ldKTt2b2lkIDAhPT1uJiYoZVtpXT1uKX1lbHNlIGVbaV09cztyZXR1cm4gZX0pLHt9KTtyZXR1cm4oMCxjLmRlZmF1bHQpKHMpP3ZvaWQgMDpzfWZ1bmN0aW9uIEIoZSl7cmV0dXJuIGU9PT15LlN0ZFRoZW1lLkRhcms/MTowfWZ1bmN0aW9uIE8oZSx0KXtpZihlPT09dClyZXR1cm4hMDtpZih0eXBlb2YgZSE9dHlwZW9mIHQpcmV0dXJuITE7aWYoISgwLGguZGVmYXVsdCkoZSl8fCEoMCxoLmRlZmF1bHQpKHQpKXJldHVybiExO2NvbnN0IHM9KDAsbS50cnlQYXJzZVJnYmEpKGUpLGk9KDAsbS50cnlQYXJzZVJnYmEpKHQpO3JldHVybiEoIXN8fCFpKSYmISEoMCxnLmNvbG9yc0FyZUNsb3NlRW5vdWdoKShlLHQpfWNsYXNzIE4gZXh0ZW5kcyBQLlByb3BlcnR5e2NvbnN0cnVjdG9yKGUpe2NvbnN0e2RlZmF1bHROYW1lOnQsbm9uVGhlbWVkRGVmYXVsdHNLZXlzOnMsdGhlbWVkRGVmYXVsdHNLZXlzOmksZXhjbHVkZWREZWZhdWx0c0tleXM6cj1bXSx0aGVtZWRDb2xvcnM6byxyZXBsYWNlVGhlbWVkQ29sb3JzT25UaGVtZUNoYW5nZTphPSExLGFsbFN0YXRlS2V5czpsLGV4Y2x1ZGVkU3RhdGVLZXlzOnU9W10sZXhjbHVkZWRUZW1wbGF0ZUtleXM6Yz1bXSxzdGF0ZTpkLHVzZVVzZXJQcmVmZXJlbmNlczpoPSEwLHNhdmVOb25EZWZhdWx0VXNlclByZWZlcmVuY2VzT25seTptPSExLGlnbm9yZUFsbG93U2F2aW5nRGVmYXVsdHM6Xz0hMSxhbHdheXNTYXZlRGVmYXVsdEtleXM6Zz1bInZlcnNpb24iXSxzYXZlRGVmYXVsdHNDb25zdW1lcjpQPXcuc2F2ZURlZmF1bHRzLGZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyOlQ9KCk9PkkoITEsdCxbXSksc2NoZW1hOkU9KDAsUy5jcmVhdGVQcm9wZXJ0eVNjaGVtYSkoVCgpKSx0aGVtZTpMPWYud2F0Y2hlZFRoZW1lLnNwYXduT3duZXJzaGlwKCl9PWU7c3VwZXIodm9pZCAwLEUpLHRoaXMuX3RoZW1lZENvbG9ycz1bXSwKdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50PW5ldyBiLkRlbGVnYXRlLHRoaXMuX3JlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlPSExLHRoaXMuX2ZvcmJpZFNhdmluZ0RlZmF1bHRzPSExLHRoaXMuX2RlZmF1bHROYW1lPXQsdGhpcy5fdXNlVXNlclByZWZlcmVuY2VzPWgsdGhpcy5fc2F2ZU5vbkRlZmF1bHRVc2VyUHJlZmVyZW5jZXNPbmx5PW0sdGhpcy5faWdub3JlQWxsb3dTYXZpbmdEZWZhdWx0cz1fLHRoaXMuX3NhdmVEZWZhdWx0c0NvbnN1bWVyPVAsdGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXI9VCx0aGlzLl9hbGxTdGF0ZUtleXM9bCx0aGlzLl9leGNsdWRlZFN0YXRlS2V5cz11LHRoaXMuX25vblRoZW1lZERlZmF1bHRzS2V5cz1zLHRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cz1pLHRoaXMuX2FsbERlZmF1bHRzS2V5cz1zfHxpP1suLi5zPz9bXSwuLi5pPz9bXV06dm9pZCAwLHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzPXIsdGhpcy5fZXhjbHVkZWRUZW1wbGF0ZUtleXM9Yyx0aGlzLl90aGVtZWRDb2xvcnM9byx0aGlzLl9hbHdheXNTYXZlRGVmYXVsdEtleXM9ZywoMCxwLmFzc2VydCkodm9pZCAwPT09dGhpcy5fYWxsRGVmYXVsdHNLZXlzfHwwPT09dGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMubGVuZ3RoLCJEZWZhdWx0cyBrZXlzIGFuZCBleGNsdWRlZCBkZWZhdWx0cyBrZXlzIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUiKSwoMCxwLmFzc2VydCkodm9pZCAwPT09dGhpcy5fYWxsU3RhdGVLZXlzfHwwPT09dGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMubGVuZ3RoLCJTdGF0ZSBrZXlzIGFuZCBleGNsdWRlZCBzdGF0ZSBrZXlzIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUiKSx0aGlzLl90aGVtZT1MO2NvbnN0IE09Qyh0aGlzLl90aGVtZSk7dGhpcy5tZXJnZSgoMCxuLmRlZmF1bHQpKHRoaXMuX2ZhY3RvcnlEZWZhdWx0c0ZvclRoZW1lKCgwLHYuaXNTdGRUaGVtZU5hbWUpKE0pP006eS5TdGRUaGVtZS5MaWdodCksdGhpcy5fdXNlclNldHRpbmdzKCksUihkLGwsdSkpKSxvJiZhJiZ0aGlzLnNldFRoZW1lZENvbG9ycyhvKSx0aGlzLl9yZXN0b3JlRmFjdG9yeURlZmF1bHRzRXZlbnQ9bmV3IGIuRGVsZWdhdGV9ZGVzdHJveSgpe3RoaXMuX3RoZW1lPy5yZWxlYXNlKCksdGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWU/LigpLHN1cGVyLmRlc3Ryb3koKX1hcHBseVRlbXBsYXRlKGUsdCl7dGhpcy5tZXJnZUFuZEZpcmUoUigoMCxuLmRlZmF1bHQpKCgwLGkuZGVmYXVsdCkodCksZSksdGhpcy5fYWxsU3RhdGVLZXlzLHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzKSl9cHJlZmVyZW5jZXMoKXtyZXR1cm4gUih0aGlzLnN0YXRlKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSx0aGlzLl9hbGxEZWZhdWx0c0tleXMpfXRlbXBsYXRlKCl7cmV0dXJuIFIodGhpcy5zdGF0ZSh2b2lkIDAsNCksdm9pZCAwLHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzKX1tZXJnZVByZWZlcmVuY2VzKGUpe3RoaXMubWVyZ2VBbmRGaXJlKFIoZSx0aGlzLl9hbGxEZWZhdWx0c0tleXMsdGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMpKX1hZGRFeGNsdWRlZEtleShlLHQpezEmdCYmVih0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyxlKSwyJnQmJlYodGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMsZSksNCZ0JiZWKHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzLGUpfXJlbW92ZUV4Y2x1ZGVkS2V5KGUsdCl7MSZ0JiZBKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzLGUpLDImdCYmQSh0aGlzLl9leGNsdWRlZFN0YXRlS2V5cyxlKX1yZXN0b3JlRmFjdG9yeURlZmF1bHRzKCl7Y29uc3QgZT10aGlzLmZhY3RvcnlEZWZhdWx0cygpO0UoZSx0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyksdGhpcy5tZXJnZUFuZEZpcmUoZSksdGhpcy5fZGVmYXVsdE5hbWUuc3RhcnRzV2l0aCgic3R1ZHlfIikmJiF0aGlzLl9kZWZhdWx0TmFtZS5zdGFydHNXaXRoKCJzdHVkeV9WYlBGaXhlZCIpfHx0aGlzLl9zYXZlRGVmYXVsdHNDb25zdW1lcih0aGlzLl9kZWZhdWx0TmFtZSksdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50LmZpcmUoKX1vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKXtyZXR1cm4gdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50fXNhdmVEZWZhdWx0cygpe2lmKCF0aGlzLl91c2VVc2VyUHJlZmVyZW5jZXN8fHRoaXMuX2ZvcmJpZFNhdmluZ0RlZmF1bHRzKXJldHVybjtsZXQgZTtpZih0aGlzLl9zYXZlTm9uRGVmYXVsdFVzZXJQcmVmZXJlbmNlc09ubHkpe2NvbnN0IHQ9dGhpcy5zdGF0ZSh0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cykscz10aGlzLmZhY3RvcnlEZWZhdWx0cygpO2lmKGU9RihSKHQsdGhpcy5fbm9uVGhlbWVkRGVmYXVsdHNLZXlzKSxSKHMsdGhpcy5fbm9uVGhlbWVkRGVmYXVsdHNLZXlzLHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSksdGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzLmxlbmd0aCl7Y29uc3Qgcz1SKHQsdGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzKTtlPWU/P3t9LCgwLG4uZGVmYXVsdCkoZSxzKX1jb25zdCBpPXRoaXMudGhlbWVEZWZhdWx0cyhDKHRoaXMuX3RoZW1lKSkscj10aGlzLnRoZW1lU3RhdGUoKSxvPUYocixpKTsoMCxjLmRlZmF1bHQpKG8pfHwoZT1lPz97fSwoMCxuLmRlZmF1bHQpKGUscikpfWVsc2UgZT10aGlzLnByZWZlcmVuY2VzKCk7dGhpcy5fc2F2ZURlZmF1bHRzQ29uc3VtZXIodGhpcy5fZGVmYXVsdE5hbWUsZSl9dGhlbWVEZWZhdWx0cyhlKXtpZih0aGlzLl90aGVtZWRDb2xvcnMpcmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz17fSxpPUIodCk7Zm9yKGNvbnN0e3BhdGg6dCxjb2xvcnM6bn1vZiBlKSgwLGEuZGVmYXVsdCkocyx0LG5baV0pO3JldHVybiBzfSh0aGlzLl90aGVtZWRDb2xvcnMsZT09PXkuU3RkVGhlbWUuRGFyaz95LlN0ZFRoZW1lLkRhcms6eS5TdGRUaGVtZS5MaWdodCk7cmV0dXJuIFIodGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXIoKSx0aGlzLl90aGVtZWREZWZhdWx0c0tleXMsdGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMpfQpmYWN0b3J5RGVmYXVsdHMoKXtyZXR1cm4gdGhpcy5fZmFjdG9yeURlZmF1bHRzRm9yVGhlbWUoQyh0aGlzLl90aGVtZSkpfXRoZW1lU3RhdGUoKXtjb25zdCBlPXN1cGVyLnN0YXRlKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSx0PXRoaXMuX3RoZW1lZENvbG9ycztyZXR1cm4gUihlLHQ/dC5tYXAoKGU9PmUucGF0aCkpOnRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cyl9YWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChlKXsoMCxwLmFzc2VydCkoISF0aGlzLl90aGVtZWRDb2xvcnMsIlRoaXMgbWV0aG9kIHNob3VsZCBub3QgYmUgY2FsbGVkIGlmIHRoZW1lZCBjb2xvcnMgYXJlIG5vdCBzZXQiKTtyZXR1cm4gZnVuY3Rpb24oZSx0LHM9W10pe2Zvcihjb25zdCBpIG9mIHMpe2NvbnN0IHM9aS5wYXRoO2lmKCFPKCgwLG8uZGVmYXVsdCkoZSxzKSwoMCxvLmRlZmF1bHQpKHQscykpKXJldHVybiExfXJldHVybiEwfSh0aGlzLnRoZW1lU3RhdGUoKSx0aGlzLnRoZW1lRGVmYXVsdHMoZSksdGhpcy5fdGhlbWVkQ29sb3JzKX1jbG9uZShlKXtyZXR1cm4gbmV3IE4odGhpcy5fb3B0aW9ucygpKX1zZXRUaGVtZWRDb2xvcnMoZSl7aWYodGhpcy5fdGhlbWVkQ29sb3JzPWUsdm9pZCAwPT09dGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWUpe2NvbnN0IGU9KCk9Pnt0aGlzLl91cGRhdGVUaGVtZWRDb2xvcnMoITEpfTt0aGlzLl90aGVtZS5zdWJzY3JpYmUoZSksdGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWU9KCk9PnRoaXMuX3RoZW1lLnVuc3Vic2NyaWJlKGUpfXRoaXMuX3VwZGF0ZVRoZW1lZENvbG9ycyghMCl9YXBwbHlEZWZhdWx0VGhlbWVkUHJvcGVydGllcyhlKXt0aGlzLl90aGVtZWRDb2xvcnMmJnRoaXMubWVyZ2VBbmRGaXJlKHRoaXMudGhlbWVEZWZhdWx0cyhlKSl9c3RhdGUoZSx0KXtyZXR1cm4gUihzdXBlci5zdGF0ZShbLi4udGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMsLi4uZT8/W11dLHQpLHRoaXMuX2FsbFN0YXRlS2V5cyl9ZnVsbFN0YXRlKCl7cmV0dXJuIHN1cGVyLnN0YXRlKCl9X3VwZGF0ZVRoZW1lZENvbG9ycyhlKXtpZighdGhpcy5fdGhlbWVkQ29sb3JzKXJldHVybjtjb25zdCB0PUModGhpcy5fdGhlbWUpLHM9dD09PXkuU3RkVGhlbWUuTGlnaHQ/eS5TdGRUaGVtZS5EYXJrOnkuU3RkVGhlbWUuTGlnaHQ7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fdGhlbWVkQ29sb3JzKXtjb25zdCBuPSgwLHAuZW5zdXJlRGVmaW5lZCkodGhpcy5jaGlsZEJ5UGF0aChpLnBhdGgpKSxyPWkuY29sb3JzW0IocyldOygiIj09PW4udmFsdWUoKXx8IWUmJk8obi52YWx1ZSgpLHIpKSYmbi5zZXRWYWx1ZShpLmNvbG9yc1tCKHQpXSl9fV91c2VyU2V0dGluZ3MoKXtpZighdGhpcy5fdXNlVXNlclByZWZlcmVuY2VzKXJldHVybjtjb25zdCBlPUkoITAsdGhpcy5fZGVmYXVsdE5hbWUsW10pO2lmKCFlKXJldHVybjtyZXR1cm4gUigoMCxTLmV4dHJhY3RTdGF0ZVdpdGhTY2hlbWEpKGUsdGhpcy5fc2NoZW1hLDEpLHRoaXMuX2FsbERlZmF1bHRzS2V5cyx0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyl9X29wdGlvbnMoKXtyZXR1cm57ZGVmYXVsdE5hbWU6dGhpcy5fZGVmYXVsdE5hbWUsZmFjdG9yeURlZmF1bHRzU3VwcGxpZXI6dGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXIsc3RhdGU6dGhpcy5zdGF0ZSgpLG5vblRoZW1lZERlZmF1bHRzS2V5czp0aGlzLl9ub25UaGVtZWREZWZhdWx0c0tleXMsdGhlbWVkRGVmYXVsdHNLZXlzOnRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cyxleGNsdWRlZERlZmF1bHRzS2V5czp0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyx0aGVtZWRDb2xvcnM6dGhpcy5fdGhlbWVkQ29sb3JzLHJlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlOnRoaXMuX3JlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlLGFsbFN0YXRlS2V5czp0aGlzLl9hbGxTdGF0ZUtleXMsZXhjbHVkZWRTdGF0ZUtleXM6dGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMsZXhjbHVkZWRUZW1wbGF0ZUtleXM6dGhpcy5fZXhjbHVkZWRUZW1wbGF0ZUtleXMsdXNlVXNlclByZWZlcmVuY2VzOnRoaXMuX3VzZVVzZXJQcmVmZXJlbmNlcyxzYXZlTm9uRGVmYXVsdFVzZXJQcmVmZXJlbmNlc09ubHk6dGhpcy5fc2F2ZU5vbkRlZmF1bHRVc2VyUHJlZmVyZW5jZXNPbmx5LGlnbm9yZUFsbG93U2F2aW5nRGVmYXVsdHM6dGhpcy5faWdub3JlQWxsb3dTYXZpbmdEZWZhdWx0cyxzYXZlRGVmYXVsdHNDb25zdW1lcjp0aGlzLl9zYXZlRGVmYXVsdHNDb25zdW1lcixhbHdheXNTYXZlRGVmYXVsdEtleXM6dGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzLHRoZW1lOnRoaXMuX3RoZW1lLnNwYXduT3duZXJzaGlwKCl9fV9jaGlsZENoYW5nZWQoZSx0KXtzdXBlci5fY2hpbGRDaGFuZ2VkKGUsdCksdGhpcy5fcHJvcGVydHlBZmZlY3RzRGVmYXVsdHModCkmJnRoaXMuc2F2ZURlZmF1bHRzKCl9X2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHMoZSl7dGhpcy5fZm9yYmlkU2F2aW5nRGVmYXVsdHM9ITAsc3VwZXIuX2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHMoZSksdGhpcy5fZm9yYmlkU2F2aW5nRGVmYXVsdHM9ITEsZS5zb21lKChlPT50aGlzLl9wcm9wZXJ0eUFmZmVjdHNEZWZhdWx0cyhlLnBhdGhUb1Jvb3RQcm9wZXJ0eSgpKSkpJiZ0aGlzLnNhdmVEZWZhdWx0cygpfV9mYWN0b3J5RGVmYXVsdHNGb3JUaGVtZShlKXtyZXR1cm4oMCxuLmRlZmF1bHQpKHRoaXMuX2ZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyKCksdGhpcy50aGVtZURlZmF1bHRzKGUpKX1fcHJvcGVydHlBZmZlY3RzRGVmYXVsdHMoZSl7CnJldHVybih0aGlzLl9pZ25vcmVBbGxvd1NhdmluZ0RlZmF1bHRzfHxMKSYmIXRoaXMuX2RlZmF1bHROYW1lLnN0YXJ0c1dpdGgoInJlcGxheVN0dWR5U3RyYXRlZ3kiKSYmKCF0aGlzLl9kZWZhdWx0TmFtZS5zdGFydHNXaXRoKCJzdHVkeV8iKXx8dGhpcy5fZGVmYXVsdE5hbWUuc3RhcnRzV2l0aCgic3R1ZHlfVmJQRml4ZWQiKSkmJih0aGlzLl9hbGxEZWZhdWx0c0tleXMmJnRoaXMuX2FsbERlZmF1bHRzS2V5cy5pbmNsdWRlcyhlKXx8IXRoaXMuX2FsbERlZmF1bHRzS2V5cyYmIXRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzPy5pbmNsdWRlcyhlKSkmJigwLFAuaXNQcmltaXRpdmVUeXBlKSh0aGlzLmNoaWxkQnlQYXRoKGUpPy52YWx1ZSgpKX19fSwxMDk0MjkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXJ7Y2xvbmU6aSxtZXJnZTpufT1zKDYwMTg0MSkscj1zKDkzMDUwNikuUGxEaXNwbGF5O2NvbnN0e2dldFN0ZENoYXJ0VGhlbWU6b309cyg3Mjg1NCkse0RFRkFVTFRfVEhFTUU6YX09cyg2NjUxODcpLGw9cyg1MDc2MDQpLmNvbG9yczt2YXIgdT1zKDkzMDUwNikuVHJhZGVkR3JvdXBIb3Jpem9udGFsQWxpZ25tZW50LGM9cygxNjgyNTgpLlNUVURZUExPVERJU1BMQVlUQVJHRVQsZD1zKDQ2NTc3NyksaD1zKDIyNjQ3NykuUHJpY2VBeGlzTGFzdFZhbHVlTW9kZSxwPXMoNDkyMzgxKS5NYWduZXRNb2RlLG09cygyMjc4MjUpLkNvbG9yVHlwZTtjb25zdCBfPXMoMzk4ODk5KS5ERUZBVUxUX0xJTkVfVE9PTF9MSU5FX1dJRFRIO3ZhciBnPXMoOTYxODMxKS5zZXNzaW9uc1ByZWZlcmVuY2VzRGVmYXVsdCx5PXMoNzA5NDYpLmF4aXNMYWJlbEJhY2tncm91bmRDb2xvcixmPXMoNTE4Nzk1KS5tYWluU2VyaWVzUHJvcGVydGllcztjb25zdHtkZWZhdWx0c0FzSXM6dixhcHBseURlZmF1bHRzT3ZlcnJpZGVzOmIsYXBwbHlEZWZhdWx0T3ZlcnJpZGVzVG9MaW5ldG9vbHM6U309cyg3OTQ4MTIpLHtMSU5FU1RZTEVfU09MSUQ6dyxMSU5FU1RZTEVfRE9UVEVEOlAsTElORVNUWUxFX0RBU0hFRDpUfT1zKDI2MDY5KSx7Y29sb3JXaGl0ZTpDLGNvbG9yVHZCbHVlNTAwOkUsY29sb3JUdkJsdWU1MDBBbHBoYTMwOkksY29sb3JUdkJsdWU1MDBBbHBoYTI1OkwsY29sb3JUdkJsdWU1MDBBbHBoYTIwOk0sY29sb3JEZWVwQmx1ZTUwMDpELGNvbG9yU2t5Qmx1ZTUwMDp4LGNvbG9yUmlwZVJlZDUwMDpSLGNvbG9yUmlwZVJlZDUwMEFscGhhMzA6ayxjb2xvclJpcGVSZWQ1MDBBbHBoYTIwOlYsY29sb3JHcmFwZXNQdXJwbGU1MDBBbHBoYTA6QSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhNzA6Rixjb2xvckJlcnJ5UGluazUwMDpCLGNvbG9yTWludHlHcmVlbjUwMDpPLGNvbG9ySWd1YW5hR3JlZW41MDA6Tixjb2xvclRhbk9yYW5nZTUwMDpXLGNvbG9yQ29sZEdyYXkxNTA6VSxjb2xvckNvbGRHcmF5NTAwOnosY29sb3JDb2xkR3JheTkwMDpILGNvbG9yQ29sZEdyYXk3NTA6an09bDt2YXIgJD1mdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlLHQscyxpKXtjb25zdCBuPXtjb2VmZjplLGNvbG9yOnQsdmlzaWJsZTpzfTtyZXR1cm4gaSYmKG4udGV4dD0iIiksbn0scz1mdW5jdGlvbihlLHQscyxpLG4pe3JldHVybntjb2VmZjplLGNvbG9yOnQsdmlzaWJsZTpzLGxpbmVzdHlsZTp2b2lkIDA9PT1pP3c6aSxsaW5ld2lkdGg6dm9pZCAwPT09bj9fOm59fTtpZih2b2lkIDA9PT1UcmFkaW5nVmlldy5kZWZhdWx0UHJvcGVydGllcyl7dmFyIHY7c3dpdGNoKHdpbmRvdy5sb2NhbGUpe2Nhc2UiYXJfQUUiOnY9IkFzaWEvRHViYWkiO2JyZWFrO2Nhc2UiYXUiOnY9IkF1c3RyYWxpYS9TeWRuZXkiO2JyZWFrO2Nhc2UiYnIiOnY9IkFtZXJpY2EvU2FvX1BhdWxvIjticmVhaztjYXNlImNhIjp2PSJBbWVyaWNhL1Rvcm9udG8iO2JyZWFrO2Nhc2UiZGVfREUiOmNhc2UiaXQiOnY9IkV1cm9wZS9CZXJsaW4iO2JyZWFrO2Nhc2UiZXMiOnY9IkV1cm9wZS9NYWRyaWQiO2JyZWFrO2Nhc2UiaGVfSUwiOmNhc2UidHIiOnY9IkV1cm9wZS9BdGhlbnMiO2JyZWFrO2Nhc2UiaHVfSFUiOmNhc2UicGwiOnY9IkV1cm9wZS9XYXJzYXciO2JyZWFrO2Nhc2UiaWQiOmNhc2UidGhfVEgiOmNhc2UidmlfVk4iOnY9IkFzaWEvQmFuZ2tvayI7YnJlYWs7Y2FzZSJpbiI6dj0iQXNpYS9Lb2xrYXRhIjticmVhaztjYXNlImphIjpjYXNlImtyIjp2PSJBc2lhL1Rva3lvIjticmVhaztjYXNlIm1zX01ZIjp2PSJBc2lhL1NpbmdhcG9yZSI7YnJlYWs7Y2FzZSJydSI6dj0iRXVyb3BlL01vc2NvdyI7YnJlYWs7Y2FzZSJ1ayI6dj0iRXVyb3BlL0xvbmRvbiI7YnJlYWs7Y2FzZSJ6aF9DTiI6Y2FzZSJ6aF9UVyI6dj0iQXNpYS9TaGFuZ2hhaSI7YnJlYWs7ZGVmYXVsdDp2PSJFdGMvVVRDIn1jb25zdCBlPW8oYSk7VHJhZGluZ1ZpZXcuZGVmYXVsdFByb3BlcnRpZXM9e2NoYXJ0cHJvcGVydGllczpuKHt0aW1lem9uZTp2LHByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWU6ImF1dG8iLGluYWN0aXZpdHlHYXBzOiExLHBhbmVQcm9wZXJ0aWVzOntiYWNrZ3JvdW5kVHlwZTptLlNvbGlkLHZlcnRHcmlkUHJvcGVydGllczp7c3R5bGU6UCx2aXNpYmxlOiEwfSxob3J6R3JpZFByb3BlcnRpZXM6e3N0eWxlOlAsdmlzaWJsZTohMH0sY3Jvc3NIYWlyUHJvcGVydGllczp7c3R5bGU6VCx0cmFuc3BhcmVuY3k6MCx3aWR0aDoxfSx0b3BNYXJnaW46MTAsYm90dG9tTWFyZ2luOjgsYXhpc1Byb3BlcnRpZXM6e2F1dG9TY2FsZTohMCxhdXRvU2NhbGVEaXNhYmxlZDohMSxsb2NrU2NhbGU6ITEscGVyY2VudGFnZTohMSxwZXJjZW50YWdlRGlzYWJsZWQ6ITEsaW5kZXhlZFRvMTAwOiExLGxvZzohMSxsb2dEaXNhYmxlZDohMSxhbGlnbkxhYmVsczohMCxpc0ludmVydGVkOiExfSxsZWdlbmRQcm9wZXJ0aWVzOntzaG93U3R1ZHlBcmd1bWVudHM6ITAsc2hvd1N0dWR5VGl0bGVzOiEwLHNob3dTdHVkeVZhbHVlczohMCxzaG93U2VyaWVzVGl0bGU6ITAsc2hvd1Nlcmllc09ITEM6ITAsc2hvd0xlZ2VuZDohMCxzaG93TGFzdERheUNoYW5nZTohMSxzaG93QmFyQ2hhbmdlOiEwLHNob3dWb2x1bWU6ITEsc2hvd0JhY2tncm91bmQ6ITAsc2hvd1ByaWNlU291cmNlOiEwLApiYWNrZ3JvdW5kVHJhbnNwYXJlbmN5OjUwLHNob3dMb2dvOiEwLHNob3dUcmFkaW5nQnV0dG9uczohMCxzaG93VHJhZGluZ0J1dHRvbnNNb2JpbGU6ITAsc2hvd1Nlcmllc0xlZ2VuZENsb3NlT25Nb2JpbGU6ITAsYmFyQ2hhbmdlVXBDb2xvcjpPLGJhckNoYW5nZURvd25Db2xvcjpSLHVzZUJhckNoYW5nZUN1c3RvbUNvbG9yczohMX0sc2VwYXJhdG9yQ29sb3I6VX0sc2NhbGVzUHJvcGVydGllczp7Zm9udFNpemU6MTIsc2NhbGVTZXJpZXNPbmx5OiExLHNob3dTZXJpZXNMYXN0VmFsdWU6ITAsc2VyaWVzTGFzdFZhbHVlTW9kZTpoLkxhc3RWYWx1ZUFjY29yZGluZ1RvU2NhbGUsc2hvd1Nlcmllc1ByZXZDbG9zZVZhbHVlOiExLHNob3dTdHVkeUxhc3RWYWx1ZTohMCxzaG93U3ltYm9sTGFiZWxzOiExLHNob3dTdHVkeVBsb3RMYWJlbHM6ITEsc2hvd0JpZEFza0xhYmVsczohMSxzaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWw6ITAsc2hvd0Z1bmRhbWVudGFsTmFtZUxhYmVsOiExLHNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZTohMCxiYXJTcGFjaW5nOmQuREVGQVVMVF9CQVJfU1BBQ0lORyxheGlzSGlnaGxpZ2h0Q29sb3I6TCxheGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbjp5LmNvbW1vbixheGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckFjdGl2ZTp5LmFjdGl2ZSxzaG93UHJpY2VTY2FsZUNyb3NzaGFpckxhYmVsOiEwLHNob3dUaW1lU2NhbGVDcm9zc2hhaXJMYWJlbDohMCxjcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodDpILGNyb3NzaGFpckxhYmVsQmdDb2xvckRhcms6aixzYXZlTGVmdEVkZ2U6ITF9LG1haW5TZXJpZXNQcm9wZXJ0aWVzOm4oZixlLmNvbnRlbnQubWFpblNvdXJjZVByb3BlcnRpZXMpLGNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllczp7dmlzaWJsZTohMCxmdXR1cmVPbmx5OiEwLGJyZWFrczp7Y29sb3I6IiM1NTU1NTUiLHZpc2libGU6ITEsc3R5bGU6VCx3aWR0aDoxfX0sdHJhZGluZ1Byb3BlcnRpZXM6e3Nob3dQb3NpdGlvbnM6ITAscG9zaXRpb25QTDp7dmlzaWJpbGl0eTohMCxkaXNwbGF5OnIuTW9uZXl9LGJyYWNrZXRzUEw6e3Zpc2liaWxpdHk6ITAsZGlzcGxheTpyLk1vbmV5fSxwb3NpdGlvbkFuZEJyYWNrZXRzUEw6ITAsc2hvd1Byb2plY3RNYXJrZXRPcmRlcjohMCxzaG93T3JkZXJzOiEwLHNob3dFeGVjdXRpb25zOiEwLHNob3dFeGVjdXRpb25zTGFiZWxzOiExLHNob3dSZXZlcnNlOiEwLGhvcml6b250YWxBbGlnbm1lbnQ6dS5SaWdodCxleHRlbmRMZWZ0OiEwLGxpbmVMZW5ndGg6NSxsaW5lV2lkdGg6MSxsaW5lU3R5bGU6d30sdm9sdW1lUGFuZVNpemU6ImxhcmdlIn0sZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcyksc2Vzc2lvbnM6bihnLGUuY29udGVudC5zZXNzaW9ucyksZHJhd2luZ3M6e21hZ25ldDohMSxtYWduZXRTbmFwc1RvSW5kaWNhdG9yczohMSxtYWduZXRNb2RlOnAuV2Vha01hZ25ldCxzdGF5SW5EcmF3aW5nTW9kZTohMSxkcmF3T25BbGxDaGFydHM6ITAsZHJhd09uQWxsQ2hhcnRzTW9kZToxfSxsaW5ldG9vbGV4ZWN1dGlvbjp7ZGlyZWN0aW9uOiJidXkiLGFycm93SGVpZ2h0OjgsYXJyb3dTcGFjaW5nOjEsYXJyb3dCdXlDb2xvcjoiIzQwOTRlOCIsYXJyb3dTZWxsQ29sb3I6IiNlNzU2NTYiLHRleHQ6IiIsdGV4dENvbG9yOmwuY29sb3JCbGFjayx0ZXh0VHJhbnNwYXJlbmN5OjAsZm9udEZhbWlseToiVmVyZGFuYSIsZm9udFNpemU6MTAsZm9udEJvbGQ6ITEsZm9udEl0YWxpYzohMSx0b29sdGlwOiIifSxsaW5ldG9vbGJhbGxvb246e2NvbG9yOkMsYmFja2dyb3VuZENvbG9yOkYsYm9yZGVyQ29sb3I6QSxmb250c2l6ZToxNCx0cmFuc3BhcmVuY3k6MzB9LGxpbmV0b29sY29tbWVudDp7Y29sb3I6QyxiYWNrZ3JvdW5kQ29sb3I6RSxib3JkZXJDb2xvcjpFLGZvbnRzaXplOjE2LHRyYW5zcGFyZW5jeTowfSxsaW5ldG9vbGVsbGlwc2U6e2NvbG9yOlIsZmlsbEJhY2tncm91bmQ6ITAsYmFja2dyb3VuZENvbG9yOlYsdHJhbnNwYXJlbmN5OjUwLGxpbmV3aWR0aDpfLHRleHRDb2xvcjpSLGZvbnRTaXplOjE0LGJvbGQ6ITEsaXRhbGljOiExfSxsaW5ldG9vbHBhcmFsbGVsY2hhbm5lbDp7bGluZWNvbG9yOkUsbGluZXdpZHRoOl8sbGluZXN0eWxlOncsZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMSxmaWxsQmFja2dyb3VuZDohMCxiYWNrZ3JvdW5kQ29sb3I6TSx0cmFuc3BhcmVuY3k6MjAsc2hvd01pZGxpbmU6ITAsbWlkbGluZWNvbG9yOkUsbWlkbGluZXdpZHRoOjEsbWlkbGluZXN0eWxlOlQsbGFiZWxWaXNpYmxlOiExLGxhYmVsSG9yekFsaWduOiJsZWZ0IixsYWJlbFZlcnRBbGlnbjoiYm90dG9tIixsYWJlbFRleHRDb2xvcjpFLGxhYmVsRm9udFNpemU6MTQsbGFiZWxCb2xkOiExLGxhYmVsSXRhbGljOiExfSxsaW5ldG9vbGZpYnNwZWVkcmVzaXN0YW5jZWZhbjp7ZmlsbEJhY2tncm91bmQ6ITAsdHJhbnNwYXJlbmN5OjgwLGdyaWQ6e2NvbG9yOiJyZ2JhKDIxLCA1NiwgMTUzLCAwLjgpIixsaW5ld2lkdGg6MSxsaW5lc3R5bGU6dyx2aXNpYmxlOiEwfSxsaW5ld2lkdGg6XyxsaW5lc3R5bGU6dyxzaG93VG9wTGFiZWxzOiEwLHNob3dCb3R0b21MYWJlbHM6ITAsc2hvd0xlZnRMYWJlbHM6ITAsc2hvd1JpZ2h0TGFiZWxzOiEwLHJldmVyc2U6ITEsaGxldmVsMTp0KDAseiwhMCksaGxldmVsMjp0KC4yNSxXLCEwKSxobGV2ZWwzOnQoLjM4Mix4LCEwKSxobGV2ZWw0OnQoLjUsTiwhMCksaGxldmVsNTp0KC42MTgsTywhMCksaGxldmVsNjp0KC43NSxFLCEwKSxobGV2ZWw3OnQoMSx6LCEwKSx2bGV2ZWwxOnQoMCx6LCEwKSx2bGV2ZWwyOnQoLjI1LFcsITApLHZsZXZlbDM6dCguMzgyLHgsITApLHZsZXZlbDQ6dCguNSxOLCEwKSx2bGV2ZWw1OnQoLjYxOCxPLCEwKSx2bGV2ZWw2OnQoLjc1LEUsITApLHZsZXZlbDc6dCgxLHosITApfSxsaW5ldG9vbGZpYndlZGdlOntzaG93Q29lZmZzOiEwLGZpbGxCYWNrZ3JvdW5kOiEwLHRyYW5zcGFyZW5jeTo4MCx0cmVuZGxpbmU6e3Zpc2libGU6ITAsY29sb3I6IiM4MDgwODAiLGxpbmV3aWR0aDpfLGxpbmVzdHlsZTp3fSxsZXZlbDE6cyguMjM2LFIsITApLApsZXZlbDI6cyguMzgyLFcsITApLGxldmVsMzpzKC41LE4sITApLGxldmVsNDpzKC42MTgsTywhMCksbGV2ZWw1OnMoLjc4Nix4LCEwKSxsZXZlbDY6cygxLHosITApLGxldmVsNzpzKDEuNjE4LEUsITEpLGxldmVsODpzKDIuNjE4LFIsITEpLGxldmVsOTpzKDMuNjE4LEQsITEpLGxldmVsMTA6cyg0LjIzNixCLCExKSxsZXZlbDExOnMoNC42MTgsQiwhMSl9LGxpbmV0b29sZmlic3BlZWRyZXNpc3RhbmNlYXJjczp7c2hvd0NvZWZmczohMCxmaWxsQmFja2dyb3VuZDohMCx0cmFuc3BhcmVuY3k6ODAsZnVsbENpcmNsZXM6ITEsdHJlbmRsaW5lOnt2aXNpYmxlOiEwLGNvbG9yOnosbGluZXdpZHRoOl8sbGluZXN0eWxlOlR9LGxldmVsMTpzKC4yMzYsUiwhMCksbGV2ZWwyOnMoLjM4MixXLCEwKSxsZXZlbDM6cyguNSxPLCEwKSxsZXZlbDQ6cyguNjE4LE4sITApLGxldmVsNTpzKC43ODYseCwhMCksbGV2ZWw2OnMoMSx6LCEwKSxsZXZlbDc6cygxLjYxOCxFLCEwKSxsZXZlbDg6cygyLjYxOCxCLCEwKSxsZXZlbDk6cygzLjYxOCxFLCEwKSxsZXZlbDEwOnMoNC4yMzYsQiwhMCksbGV2ZWwxMTpzKDQuNjE4LFIsITApfSxsaW5ldG9vbHJlZ3Jlc3Npb250cmVuZDp7bGluZXdpZHRoOjEsbGluZXN0eWxlOncsc3R5bGVzOnt1cExpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6SSxsaW5lc3R5bGU6dyxsaW5ld2lkdGg6X30sZG93bkxpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6SSxsaW5lc3R5bGU6dyxsaW5ld2lkdGg6X30sYmFzZUxpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6ayxsaW5lc3R5bGU6VCxsaW5ld2lkdGg6MX0sZXh0ZW5kTGluZXM6ITEsc2hvd1BlYXJzb25zOiEwLHRyYW5zcGFyZW5jeTo3MH19fSxiKFRyYWRpbmdWaWV3LmRlZmF1bHRQcm9wZXJ0aWVzLmNoYXJ0cHJvcGVydGllcyksUygpfWZvcih2YXIgJD1lLnNwbGl0KCIuIikscT1UcmFkaW5nVmlldy5kZWZhdWx0UHJvcGVydGllcyxLPTA7SzwkLmxlbmd0aDtLKyspcSYmKHE9cVskW0tdXSk7cmV0dXJuIG51bGwhPXE/aShxKTp7fX07ZnVuY3Rpb24gcShlKXtyZXR1cm4gdihlLCQpfVRyYWRpbmdWaWV3LnNhdmVEZWZhdWx0cz1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQ/VFZTZXR0aW5ncy5yZW1vdmUoZSk6VFZTZXR0aW5ncy5zZXRKU09OKGUsdCl9LFRyYWRpbmdWaWV3LmZhY3RvcnlEZWZhdWx0cz0kLHdpbmRvdy5kZWZhdWx0cz1xLHQuZGVmYXVsdHM9cSx0LmZhY3RvcnlEZWZhdWx0cz0kLHQuc2F2ZURlZmF1bHRzPVRyYWRpbmdWaWV3LnNhdmVEZWZhdWx0c30sNDY4NTM4KGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIGksbjtzLmQodCx7RHJhd2luZ1N5bmNNb2RlOigpPT5pLFNlbGVjdFBvaW50TW9kZTooKT0+bn0pLGZ1bmN0aW9uKGUpe2VbZS5MYXlvdXQ9MV09IkxheW91dCIsZVtlLkdsb2JhbD0yXT0iR2xvYmFsIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLlJlcGxheT0xXT0iUmVwbGF5IixlW2UuU3R1ZHk9Ml09IlN0dWR5In0obnx8KG49e30pKX0sNjc4Mjg1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtEcmF3aW5nU3luY01vZGU6KCk9PmkuRHJhd2luZ1N5bmNNb2RlLFNlbGVjdFBvaW50TW9kZTooKT0+aS5TZWxlY3RQb2ludE1vZGUsYWN0aXZlUG9pbnRTZWxlY3Rpb25Nb2RlOigpPT5aLGFsaWduVG80NURlZ3JlZXM6KCk9Pk1lLGJhclRpbWVzVW5kZXJDdXJzb3I6KCk9PnRlLGJlZW5TZXRMaW5lVG9vbExhc3RQb2ludDooKT0+VyxjYW5jZWxMaW5lVG9vbDooKT0+b2UsY2FuY2VsbGVkTGluZVRvb2w6KCk9Pk4sY2hhbmdlTGluZVN0eWxlOigpPT5nZSxjaGFuZ2VMaW5lVG9vbDooKT0+aGUsY2hhbmdlZExpbmVTdHlsZTooKT0+RyxjaGFuZ2VkTGluZVRvb2w6KCk9PiQsY29udGludWVMaW5lVG9vbDooKT0+cmUsY29udGludWVkTGluZVRvb2w6KCk9Pk8sY29waWVkTGluZVRvb2w6KCk9PkosY29weUxpbmVUb29sOigpPT55ZSxjcmVhdGVMaW5lVG9vbDooKT0+bmUsY3JlYXRlZExpbmVUb29sOigpPT5CLGNyb3NzaGFpckxvY2s6KCk9PkksY3Vyc29yVG9vbDooKT0+UixkcmF3T25BbGxDaGFydHM6KCk9PkRlLGRyYXdPbkFsbENoYXJ0c01vZGU6KCk9PnhlLGVtb2ppVG9vbDooKT0+RCxmaW5pc2hDaGFuZ2luZ0xpbmVUb29sOigpPT5wZSxmaW5pc2hMaW5lVG9vbDooKT0+X2UsZmluaXNoTW92aW5nTGluZVRvb2w6KCk9PmNlLGZpbmlzaGVkQ2hhbmdpbmdMaW5lVG9vbDooKT0+cSxmaW5pc2hlZExpbmVUb29sOigpPT5ZLGZpbmlzaGVkTW92aW5nTGluZVRvb2w6KCk9PkgsaGlkZUFsbERyYXdpbmdzOigpPT5DZSxoaWRlQWxsSW5kaWNhdG9yczooKT0+RWUsaGlkZU1hcmtzT25CYXJzOigpPT5MZSxpY29uVG9vbDooKT0+TSxpbml0OigpPT53ZSxpc0RpcmVjdGlvbmFsTW92ZW1lbnRBY3RpdmU6KCk9PkYsaXNTdHVkeUVkaXRpbmdOb3c6KCk9PmVlLGlzVG9vbENyZWF0aW5nTm93OigpPT5rLGlzVG9vbEVkaXRpbmdOb3c6KCk9PlYsaXNUb29sTW92aW5nTm93OigpPT5BLGxvY2tEcmF3aW5nczooKT0+SWUsbW92ZUxpbmVUb29sOigpPT51ZSxtb3ZlZExpbmVUb29sOigpPT56LHByb3BlcnRpZXM6KCk9PlRlLHJlbW92ZUxpbmVUb29sOigpPT5tZSxyZW1vdmVkTGluZVRvb2w6KCk9PksscmVzZXRUb0N1cnNvcjooKT0+dixyZXN0b3JlTGluZVRvb2w6KCk9PmZlLHJlc3RvcmVMaW5lVG9vbFN0YXRlOigpPT52ZSxyZXN0b3JlZExpbmVUb29sOigpPT5YLHJlc3RvcmVkTGluZVRvb2xTdGF0ZTooKT0+USxydW5PbkRyYXdpbmdTdGF0ZVJlYWR5OigpPT5QZSxzZXRMaW5lVG9vbExhc3RQb2ludDooKT0+YWUsc3RhcnRDaGFuZ2luZ0xpbmVUb29sOigpPT5kZSxzdGFydE1vdmluZ0xpbmVUb29sOigpPT5sZSxzdGFydGVkQ2hhbmdpbmdMaW5lVG9vbDooKT0+aixzdGFydGVkTW92aW5nTGluZVRvb2w6KCk9PlUsc3RpY2tlclRvb2w6KCk9PngsdG9vbDooKT0+TCx0b29sSXNDdXJzb3I6KCk9Pl8sdG9vbElzRGVtb25zdHJhdGlvbjooKT0+eSx0b29sSXNFcmFzZXI6KCk9PmcsdG9vbElzTWVhc3VyZTooKT0+Zix0cnlTZWxlY3RMaW5lVG9vbDooKT0+Yn0pCjt2YXIgaT1zKDQ2ODUzOCksbj1zKDEzODYzOCkscj1zKDM3ODA4KSxvPXMoOTc0NjYzKSxhPXMoMjMyMzY0KSxsPXMoNDAyMDQ1KSx1PXMoOTQ4MzgwKSxjPXMoOTMwNTY2KSxkPXMoMTc5NzcxKSxoPXMoMzg2OTMxKSxwPXMoNTU2NjUxKTtjb25zdCBtPW5ldyBTZXQoWyJjdXJzb3IiLCJhcnJvdyIsImRvdCIsInBlcmZvcm1hbmNlIiwiZGVtb25zdHJhdGlvbiJdKTtmdW5jdGlvbiBfKGUpe3JldHVybiBtLmhhcyhlKX1mdW5jdGlvbiBnKGUpe3JldHVybiJlcmFzZXIiPT09ZX1mdW5jdGlvbiB5KGUpe3JldHVybiJkZW1vbnN0cmF0aW9uIj09PWV9ZnVuY3Rpb24gZihlKXtyZXR1cm4ibWVhc3VyZSI9PT1lfWZ1bmN0aW9uIHYoZT0hMSl7aWYoIWUmJlMpe2lmKFMuY2hpbGRzKCkuc3RheUluRHJhd2luZ01vZGUudmFsdWUoKSlyZXR1cm59TC5zZXRWYWx1ZShSLnZhbHVlKCkpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuISEoMCxwLmVuc3VyZURyYXdpbmdTZWxlY3RBbGxvd2VkKShlKSYmKEwuc2V0VmFsdWUoZSksITApfWxldCBTPW51bGwsdz1udWxsLFA9bnVsbCxUPW51bGwsQz1udWxsLEU9bnVsbDtjb25zdCBJPW5ldyBsLldhdGNoZWRPYmplY3QobnVsbCksTD1uZXcgYS5XYXRjaGVkVmFsdWUsTT1uZXcgYS5XYXRjaGVkVmFsdWUsRD1uZXcgYS5XYXRjaGVkVmFsdWUseD1uZXcgYS5XYXRjaGVkVmFsdWUsUj1uZXcgYS5XYXRjaGVkVmFsdWUsaz1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLFY9bmV3IGEuV2F0Y2hlZFZhbHVlKCExKSxBPW5ldyBhLldhdGNoZWRWYWx1ZSghMSksRj1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLEI9bmV3IHUuRGVsZWdhdGUsTz1uZXcgdS5EZWxlZ2F0ZSxOPW5ldyB1LkRlbGVnYXRlLFc9bmV3IHUuRGVsZWdhdGUsVT1uZXcgdS5EZWxlZ2F0ZSx6PW5ldyB1LkRlbGVnYXRlLEg9bmV3IHUuRGVsZWdhdGUsaj1uZXcgdS5EZWxlZ2F0ZSwkPW5ldyB1LkRlbGVnYXRlLHE9bmV3IHUuRGVsZWdhdGUsSz1uZXcgdS5EZWxlZ2F0ZSxZPW5ldyB1LkRlbGVnYXRlLEc9bmV3IHUuRGVsZWdhdGUsSj1uZXcgdS5EZWxlZ2F0ZSxYPW5ldyB1LkRlbGVnYXRlLFE9bmV3IHUuRGVsZWdhdGUsWj1uZXcgYS5XYXRjaGVkVmFsdWUoaS5TZWxlY3RQb2ludE1vZGUuTm9uZSksZWU9bmV3IGEuV2F0Y2hlZFZhbHVlKCExKSx0ZT1uZXcgTWFwO2Z1bmN0aW9uIHNlKGUsdCl7Y29uc3Qgcz10fHx7dmFsdWU6ITF9O3JldHVybiB0PT57cy52YWx1ZXx8KHMudmFsdWU9ITAsZS5maXJlKHQpLHMudmFsdWU9ITEpfX1jb25zdCBpZT17dmFsdWU6ITF9LG5lPXNlKEIsaWUpLHJlPXNlKE8saWUpLG9lPXNlKE4saWUpLGFlPXNlKFcsaWUpLGxlPXNlKFUpLHVlPXNlKHopLGNlPXNlKEgpLGRlPXNlKGopLGhlPXNlKCQpLHBlPXNlKHEpLG1lPXNlKEspLF9lPXNlKFkpLGdlPXNlKEcsaWUpLHllPXNlKEosaWUpLGZlPXNlKFgpLHZlPXNlKFEpO2xldCBiZT0hMSxTZT1bXTtmdW5jdGlvbiB3ZSgpe2lmKGJlKXJldHVybjtjb25zdCBlPWMuZ2V0VmFsdWUoImNoYXJ0LmN1cnNvclByZWZlcmVuY2UiLCJjdXJzb3IiKTtMLnNldFZhbHVlKF8oZSk/ZToiY3Vyc29yIiksTC5zdWJzY3JpYmUoKGU9PntfKGUpP1Iuc2V0VmFsdWUoZSk6ZyhlKSYmKDAsaC50cmFja0V2ZW50KSgiQ2hhcnQgY3Vyc29ycyIsZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksUi5zdWJzY3JpYmUoKGU9PnsoMCxoLnRyYWNrRXZlbnQpKCJDaGFydCBjdXJzb3JzIixlKSxlJiYicGVyZm9ybWFuY2UiIT09ZSYmIXkoZSkmJmMuc2V0VmFsdWUoImNoYXJ0LmN1cnNvclByZWZlcmVuY2UiLGUpfSkpLFM9bmV3IG8uRGVmYXVsdFByb3BlcnR5KHtkZWZhdWx0TmFtZToiZHJhd2luZ3MifSksdz0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksUD0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksVD0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksQz0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghYy5nZXRCb29sKCJCYXJzTWFya3NDb250YWluZXIudmlzaWJpbGUiLCEwKSksRT0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksTC5zdWJzY3JpYmUoKGU9PnsoMCxkLmVtaXQpKCJvblNlbGVjdGVkTGluZVRvb2xDaGFuZ2VkIil9KSksYmU9ITAsU2UuZm9yRWFjaCgoZT0+ZSgpKSksU2U9W119ZnVuY3Rpb24gUGUoZSl7YmU/ZSgpOlNlLnB1c2goZSl9ZnVuY3Rpb24gVGUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKFMpfWZ1bmN0aW9uIENlKCl7cmV0dXJuKDAsbi5lbnN1cmVOb3ROdWxsKSh3KX1mdW5jdGlvbiBFZSgpe3JldHVybigwLG4uZW5zdXJlTm90TnVsbCkoUCl9ZnVuY3Rpb24gSWUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKFQpfWZ1bmN0aW9uIExlKCl7cmV0dXJuKDAsbi5lbnN1cmVOb3ROdWxsKShDKX1mdW5jdGlvbiBNZSgpe3JldHVybigwLG4uZW5zdXJlTm90TnVsbCkoRSl9ZnVuY3Rpb24gRGUoKXtyZXR1cm4gVGUoKS5jaGlsZHMoKS5kcmF3T25BbGxDaGFydHN9ZnVuY3Rpb24geGUoKXtyZXR1cm4gVGUoKS5jaGlsZHMoKS5kcmF3T25BbGxDaGFydHNNb2RlfX0sOTQzOTUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7cy5kKHQse1RpdGxlRGlzcGxheVRhcmdldDooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5BZnRlck1haW5TZXJpZXM9MF09IkFmdGVyTWFpblNlcmllcyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLklkbGU9MF09IklkbGUiLGVbZS5Qcm9jZXNzaW5nPTFdPSJQcm9jZXNzaW5nIixlW2UuQWN0aXZlPTJdPSJBY3RpdmUiLGVbZS5TdG9wcGVkPTNdPSJTdG9wcGVkIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlW2UuRGF0YVdpbmRvdz0xXT0iRGF0YVdpbmRvdyIsZVtlLlN0YXR1c0xpbmU9Ml09IlN0YXR1c0xpbmUiLGVbZS5BbGVydHM9M109IkFsZXJ0cyJ9KHJ8fChyPXt9KSl9LDIxNDc1MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb2xsZWN0aWJsZUNvbG9yUHJvcGVydHlEaXJlY3RXcmFwcGVyOigpPT5hLENvbGxlY3RpYmxlQ29sb3JQcm9wZXJ0eVVuZG9XcmFwcGVyOigpPT5vfSk7dmFyIGk9cygxMzg2MzgpLG49cyg3NjgyOTIpCjtjbGFzcyByIGV4dGVuZHMgbi5Qcm9wZXJ0eXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2xpc3RlbmVyc01hcHBlcnM9W10sdGhpcy5faXNQcm9jZXNzPSExLHRoaXMuX2Jhc2VQcm9wZXJ0eT1lfWRlc3Ryb3koKXt0aGlzLl9iYXNlUHJvcGVydHkuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX12YWx1ZSgpe2NvbnN0IGU9dGhpcy5fYmFzZVByb3BlcnR5LnZhbHVlKCk7cmV0dXJuIm1peGVkIj09PWU/IiI6ZX12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX2Jhc2VQcm9wZXJ0eS52aXNpYmxlKCl9c2V0VmFsdWUoZSl7dGhpcy5faXNQcm9jZXNzPSEwLHRoaXMuX2Jhc2VQcm9wZXJ0eS5zZXRWYWx1ZSgiIj09PWU/Im1peGVkIjplLHZvaWQgMCx7YXBwbHlWYWx1ZTp0aGlzLl9hcHBseVZhbHVlLmJpbmQodGhpcyl9KSx0aGlzLl9pc1Byb2Nlc3M9ITEsdGhpcy5fbGlzdGVuZXJzTWFwcGVycy5mb3JFYWNoKChlPT57ZS5tZXRob2QuY2FsbChlLm9iaix0aGlzLCIiKX0pKX1zdWJzY3JpYmUoZSx0KXtjb25zdCBzPXM9Pnt0aGlzLl9pc1Byb2Nlc3N8fHQuY2FsbChlLHRoaXMsIiIpfSxpPXtvYmo6ZSxtZXRob2Q6dCxjYWxsYmFjazpzfTt0aGlzLl9saXN0ZW5lcnNNYXBwZXJzLnB1c2goaSksdGhpcy5fYmFzZVByb3BlcnR5LnN1YnNjcmliZShlLHMpfXVuc3Vic2NyaWJlKGUsdCl7Y29uc3Qgcz0oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX2xpc3RlbmVyc01hcHBlcnMuZmluZCgocz0+cy5vYmo9PT1lJiZzLm1ldGhvZD09PXQpKT8uY2FsbGJhY2spO3RoaXMuX2Jhc2VQcm9wZXJ0eS51bnN1YnNjcmliZShlLHMpfXVuc3Vic2NyaWJlQWxsKGUpe3RoaXMuX2Jhc2VQcm9wZXJ0eS51bnN1YnNjcmliZUFsbChlKX19Y2xhc3MgbyBleHRlbmRzIHJ7Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUpLHRoaXMuX3Byb3BlcnR5QXBwbGllcj10LHRoaXMuX3VuZG9UZXh0PXN9X2FwcGx5VmFsdWUoZSx0KXt0aGlzLl9wcm9wZXJ0eUFwcGxpZXIuc2V0UHJvcGVydHkoZSx0LHRoaXMuX3VuZG9UZXh0KX19Y2xhc3MgYSBleHRlbmRzIHJ7X2FwcGx5VmFsdWUoZSx0KXtlLnNldFZhbHVlKHQpfX19LDg4MTkyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2lzTGluZVRvb2w6KCk9PnIsaXNTdHVkeUxpbmVUb29sOigpPT5vfSk7dmFyIGk9cyg2MDE4NDEpLG49cyg4NjA0NDIpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKDAsaS5pc09iamVjdCkoZSkmJiJpc0xpbmVUb29sImluIGUmJmUuaXNMaW5lVG9vbH1mdW5jdGlvbiBvKGUpe3JldHVybiByKGUpJiYoMCxuLmlzU3R1ZHlMaW5lVG9vbE5hbWUpKGUudG9vbG5hbWUpfX0sNzA3OTYzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0xpbmVUb29sQ29sbGVjdGVkUHJvcGVydHk6KCk9PnUsTGluZVRvb2xDb2xvcnNQcm9wZXJ0eTooKT0+ZCxMaW5lVG9vbFdpZHRoc1Byb3BlcnR5OigpPT5jLE11bHRpcGxlTGluZUNvbG9yc1Byb3BlcnR5OigpPT5tLE11bHRpcGxlTGluZVdpZHRoc1Byb3BlcnR5OigpPT5wfSk7dmFyIGk9cygyMjEwNjEpLG49cygxMzEyOTQpLHI9cyg2MzY5MTIpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDaGFydC5MaW5lVG9vbENvbGxlY3RlZFByb3BlcnR5Iik7Y2xhc3MgYXthcHBseVZhbHVlKGUsdCl7ZS5zZXRWYWx1ZSh0KX19Y2xhc3MgbCBleHRlbmRzIHIuUHJvcGVydHlCYXNle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9wcm9wZXJ0aWVzPWUsZS5mb3JFYWNoKCgoZSx0KT0+ZS5zdWJzY3JpYmUodGhpcywoKGUscyk9Pnt0aGlzLl9saXN0ZW5lcnMuZmlyZSh0aGlzLGAke3R9LiR7c31gKX0pKSkpLHRoaXMuX3Nob3dJZlByb3BlcnR5PXR9dmlzaWJsZSgpe3JldHVybiF0aGlzLl9zaG93SWZQcm9wZXJ0eXx8dGhpcy5fc2hvd0lmUHJvcGVydHk/LnZhbHVlKCl9dmFsdWUoKXtpZigwPT09dGhpcy5fcHJvcGVydGllcy5sZW5ndGgpcmV0dXJuIG8ubG9nRXJyb3IoIkluY29ycmVjdCBjYWxsLCBzaG91bGQgbm90IHJlcXVlc3QgdmFsdWUgb2YgMCBwcm9wZXJ0aWVzIiksIm1peGVkIjtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXNbMF0udmFsdWUoKTtyZXR1cm4gMT09PXRoaXMuX3Byb3BlcnRpZXMubGVuZ3RofHx0aGlzLl9wcm9wZXJ0aWVzLmV2ZXJ5KCh0PT50LnZhbHVlKCk9PT1lKSk/ZToibWl4ZWQifXNldFZhbHVlU2lsZW50bHkoZSl7Im1peGVkIiE9PWUmJnRoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgodD0+dC5zZXRWYWx1ZVNpbGVudGx5KGUpKSl9aGFzQ2hpbGQoZSl7Y29uc3QgdD1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4odCkmJnQ+PTAmJnQ8dGhpcy5fcHJvcGVydGllcy5sZW5ndGh9Y2hpbGRDb3VudCgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmxlbmd0aH1jaGlsZE5hbWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMubWFwKCgoZSx0KT0+dC50b1N0cmluZygpKSl9Y2hpbGQoZSl7Y29uc3QgdD1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4odCkmJnQ+PTAmJnQ8dGhpcy5fcHJvcGVydGllcy5sZW5ndGg/dGhpcy5fcHJvcGVydGllc1t0XTp2b2lkIDB9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgoZT0+ZS51bnN1YnNjcmliZUFsbCh0aGlzKSkpLHRoaXMuX2xpc3RlbmVycy5kZXN0cm95KCl9c3RvcmVTdGF0ZUlmVW5kZWZpbmVkKCl7cmV0dXJuITB9d2Vha1JlZmVyZW5jZSgpe3JldHVybigwLG4ud2Vha1JlZmVyZW5jZSkodGhpcyl9b3duZXJzaGlwKCl7cmV0dXJuKDAsbi5vd25lcnNoaXApKHRoaXMpfX1jbGFzcyB1IGV4dGVuZHMgbHtzZXRWYWx1ZShlLHQscyl7aWYoIm1peGVkIj09PWUpcmV0dXJuO2NvbnN0IGk9cz8/bmV3IGE7dGhpcy5fcHJvcGVydGllcy5mb3JFYWNoKCh0PT5pLmFwcGx5VmFsdWUodCxlKSkpfX1jbGFzcyBjIGV4dGVuZHMgdXt9Y2xhc3MgZCBleHRlbmRzIHV7Zmlyc3RDb2xvcigpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzWzBdLnZhbHVlKCl9fWNsYXNzIGggZXh0ZW5kcyBse3NldFZhbHVlKGUsdCxzKXtpZigibWl4ZWQiPT09ZSlyZXR1cm47Y29uc3QgaT1zPz9uZXcgYQo7dGhpcy5fcHJvcGVydGllcy5mb3JFYWNoKCh0PT50LnNldFZhbHVlKGUsdm9pZCAwLGkpKSl9fWNsYXNzIHAgZXh0ZW5kcyBoe31jbGFzcyBtIGV4dGVuZHMgaHt9fSw1MjkxNjUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7bGluZVRvb2xzU3R1ZHlJZHM6KCk9Pml9KTtjb25zdCBpPXtMaW5lVG9vbEFuY2hvcmVkVldBUDoiQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsTGluZVRvb2xSZWdyZXNzaW9uVHJlbmQ6IlJlZ3Jlc3Npb25UcmVuZEB0di1iYXNpY3N0dWRpZXMiLExpbmVUb29sRml4ZWRSYW5nZVZvbHVtZVByb2ZpbGU6IlZiUEZpeGVkQHR2LWJhc2ljc3R1ZGllcyIsTGluZVRvb2xWYlBGaXhlZDoiVmJQRml4ZWRAdHYtdm9sdW1lYnlwcmljZSJ9O3tjb25zdCBlPXtMaW5lVG9vbEFuY2hvcmVkVm9sdW1lUHJvZmlsZToiVmJQQW5jaG9yZWRAdHYtYmFzaWNzdHVkaWVzIn07Zm9yKGNvbnN0W3Qsc11vZiBPYmplY3QuZW50cmllcyhlKSlpW3RdPXN9fSwzNjgxMTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y2xvbmVMaW5lVG9vbDooKT0+TyxjcmVhdGVMaW5lVG9vbDooKT0+TCxjcmVhdGVMaW5lVG9vbFByb3BlcnRpZXM6KCk9PkQsY3JlYXRlU3R1ZHlMaW5lVG9vbFByb3BlcnRpZXM6KCk9PngsZW5zdXJlQWxsTGluZVRvb2xzTG9hZGVkRm9yTGF5b3V0OigpPT5FLGluaXRBbGxMaW5lVG9vbHNGcm9tQ29udGVudDooKT0+SSxpbml0TGluZVRvb2w6KCk9PncsaXNCcnVzaEJhc2VkTGluZVRvb2w6KCk9PmssaXNFZGl0YWJsZVRleHRMaW5lVG9vbDooKT0+Rixpc0xpbmVUb29sOigpPT5mLmlzTGluZVRvb2wsaXNUcmFkaW5nOigpPT5WLHByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlOigpPT5NLHNldE5ld1Rvb2xQcm9wZXJ0aWVzOigpPT5iLHN1cHBvcnRzUGhhbnRvbU1vZGU6KCk9PlIsdHJ5RmluZFN0dWR5TGluZVRvb2xOYW1lQnlTdHVkeUlkOigpPT5CLHVuc2V0TmV3VG9vbFByb3BlcnRpZXM6KCk9PlN9KTt2YXIgaT1zKDg4MDExNSksbj1zKDEzODYzOCkscj1zKDczNjUzMSksbz1zKDIyMTA2MSksYT1zKDQ3NzMpLGw9cyg2OTE3OTUpLHU9cyg2Nzc5NTgpLGM9cygxMjg5OTgpLGQ9cyg4NjA0NDIpLGg9cyg1MjkxNjUpLHA9cyg0NTY4NjIpLG09cyg4NTYxOTYpLF89cygzNTUxMjMpLGc9cygzMjk2NjYpLHk9cyg2MDU4NzcpLGY9cyg4ODE5Mik7bGV0IHY9bnVsbDtmdW5jdGlvbiBiKGUsdCxzKXtyZXR1cm4gbnVsbCE9PXYmJnYudG9vbD09PWUmJnYudG9vbERhdGE9PT10fHwoUyghMCksdj17cHJvcGVydGllczpEKHMuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxlLCFzLnJlYWRPbmx5KCkpLHRvb2w6ZSx0b29sRGF0YTp0fSksdi5wcm9wZXJ0aWVzfWZ1bmN0aW9uIFMoZSl7ZSYmdj8ucHJvcGVydGllcy5kZXN0cm95KCksdj1udWxsfWFzeW5jIGZ1bmN0aW9uIHcoZSl7YXdhaXQoMCxnLmxvYWRNZXRhSW5mb0ZvckxpbmV0b29sSWZSZXF1aXJlZCkoZSk7Y29uc3QgdD0oMCxnLmFzTGluZVRvb2xOYW1lKShlKTsoMCxnLmlzTGluZVRvb2xMb2FkZWQpKHQpfHwoMCxkLmlzTGluZVRvb2xOYW1lKSh0KSYmYXdhaXQoMCxnLmxvYWRMaW5lVG9vbCkodCl9ZnVuY3Rpb24gUChlLHQpe2NvbnN0IHM9ImNoYXJ0cyJpbiBlP2UuY2hhcnRzOltlXTtmb3IoY29uc3QgZSBvZiBzKXtmb3IoY29uc3QgcyBvZiBlLnBhbmVzKWZvcihjb25zdCBlIG9mIHMuc291cmNlcyl0KCgwLHkuZ2V0TGluZVRvb2xUeXBlRnJvbVN0YXRlKShlKSk7ZS5saW5lVG9vbHNHcm91cHM/Lmdyb3Vwcy5mb3JFYWNoKChlPT57ZS50b29scy5mb3JFYWNoKChlPT50KGUpKSl9KSl9fWNsYXNzIFQgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGBGYWlsZWQgdG8gbG9hZCBsaW5lIHRvb2w6ICR7ZX1gKSx0aGlzLm5hbWU9IkxpbmVUb29sTG9hZEVycm9yIix0aGlzLnRvb2xOYW1lPWUsdGhpcy5vcmlnaW5hbEVycm9yPXR9fWNvbnN0IEM9KDAsby5nZXRMb2dnZXIpKCJMaW5lVG9vbHNTeW5jaHJvbml6ZXIiKTthc3luYyBmdW5jdGlvbiBFKGUpe2NvbnN0IHQ9bmV3IFNldCxzPWU9PnsoMCxnLmlzQXN5bmNHZW5lcmljTGluZVRvb2xOYW1lKShlKSYmdC5hZGQoZSl9O2Zvcihjb25zdCB0IG9mIGUpUCh0LHMpO2NvbnN0IGk9Wy4uLnRdLG49KGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChpLm1hcCgoZT0+KDAsZy5lbnN1cmVMaW5lVG9vbExvYWRlZCkoZSkuY2F0Y2goKHQ9Pnt0aHJvdyBuZXcgVChlLHQpfSkpKSkpKS5maWx0ZXIoKGU9PiJyZWplY3RlZCI9PT1lLnN0YXR1cykpO24ubGVuZ3RoPjAmJm4uZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5yZWFzb247Qy5sb2dFcnJvcihgRmFpbGVkIHRvIGxvYWQgbGluZSB0b29sOiAke3QudG9vbE5hbWV9YCl9KSl9YXN5bmMgZnVuY3Rpb24gSShlKXtpZighZSlyZXR1cm47Y29uc3QgdD1uZXcgU2V0O1AoZSwoZT0+eygwLGQuaXNMaW5lVG9vbE5hbWUpKGUpJiZ0LmFkZChlKX0pKSxhd2FpdCBQcm9taXNlLmFsbChBcnJheS5mcm9tKHQpLm1hcCgoZT0+dyhlKSkpKX1mdW5jdGlvbiBMKGUsdCxzLGkscixvLGEpeygwLG4uYXNzZXJ0KSgoMCxkLmlzTGluZVRvb2xOYW1lKShlKSwiVW5rbm93biBsaW5lIHRvb2w6ICIrZSk7Y29uc3QgbD0oMCxnLmFzTGluZVRvb2xOYW1lKShlKTtsZXQgdTtpZigoMCxuLmFzc2VydCkoKDAsZy5pc0xpbmVUb29sTG9hZGVkKShsKSxgTGluZSB0b29sICR7bH0gaXMgbm90IGxvYWRlZGApLHJ8fHN8fG51bGw9PT12fHx2LnRvb2whPT1lfHwocz12LnByb3BlcnRpZXMsUyghMSkpLCgwLGcuaXNBc3luY1N0dWR5TGluZVRvb2xOYW1lKShsKSl7dT1uZXcoKDAsZy5nZXRMb2FkZWRMaW5lVG9vbCkobCkpKHQscywoMCxuLmVuc3VyZURlZmluZWQpKGkpLHIsbyl9ZWxzZXt1PW5ldygoMCxnLmdldExvYWRlZExpbmVUb29sKShsKSkodCxzLHIsbyl9cmV0dXJuIHUudG9vbG5hbWU9ZSxTKCEwKSx2b2lkIDAhPT1hJiYoMCxtLnNob3VsZEFmZmVjdFVzZXIpKCJEcmF3aW5nQ3JlYXRpb25zIixfLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLApwLnRyYWNrQ2hhcnREcmF3aW5nQ3JlYXRpb24pKGUsYSksdX1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHQuc3ltYm9sU291cmNlKCkpLGk9cy5zeW1ib2xJbmZvKCkscj10LmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKSxvPXQudW5pdE9yaWdpblNvdXJjZSgpLnZhbHVlKCksYT1pPygwLGMuZXh0cmFjdExpbmVUb29sU3ltYm9sRnJvbVN5bWJvbEluZm8pKGkscy5zeW1ib2woKSk6cy5zeW1ib2woKTtlLmNoaWxkcygpLnN5bWJvbC5zZXRWYWx1ZShhKSxzLm1vZGVsKCkuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpJiZyLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KCkmJmUuY2hpbGRzKCkuY3VycmVuY3lJZC5zZXRWYWx1ZShyLmN1cnJlbmN5KCkpLHMubW9kZWwoKS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSYmby5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkmJmUuY2hpbGRzKCkudW5pdElkLnNldFZhbHVlKG8udW5pdCgpKSxzLm1vZGVsKCkubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSYmZS5jaGlsZHMoKS5tZXRyaWNJZC5zZXRWYWx1ZShzLm1vZGVsKCkubWFpblNlcmllcygpLm1ldHJpYygpPz8icHJpY2UiKSxlLmNoaWxkcygpLnN5bWJvbFN0YXRlVmVyc2lvbi5zZXRWYWx1ZSgyKSxlLmNoaWxkcygpLnpPcmRlclZlcnNpb24uc2V0VmFsdWUoMil9ZnVuY3Rpb24gRChlLHQscyxpKXsoMCxuLmFzc2VydCkoKDAsZC5pc0xpbmVUb29sTmFtZSkodCksYCR7dH0gc2hvdWxkIGJlIG5hbWUgb2YgdGhlIGxpbmUgdG9vbGApO2NvbnN0IHI9KDAsZy5hc0xpbmVUb29sTmFtZSkodCk7aWYoKDAsbi5hc3NlcnQpKCgwLGcuaXNMaW5lVG9vbExvYWRlZCkociksYExpbmUgdG9vbCAke3J9IGlzIG5vdCBsb2FkZWRgKSwoMCxnLmlzQXN5bmNTdHVkeUxpbmVUb29sTmFtZSkocikpe3JldHVybigwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKHIpLmNyZWF0ZVByb3BlcnRpZXMoZSxpKX1yZXR1cm4oMCxnLmdldExvYWRlZExpbmVUb29sKShyKS5jcmVhdGVQcm9wZXJ0aWVzKGUsaSxzKX1mdW5jdGlvbiB4KGUsdCxzLGkscixvKXsoMCxuLmFzc2VydCkoKDAsZC5pc1N0dWR5TGluZVRvb2xOYW1lKSh0KSxgJHt0fSBzaG91bGQgYmUgbmFtZSBvZiB0aGUgc3R1ZHkgbGluZSB0b29sYCk7Y29uc3QgYT0oMCxnLmFzTGluZVRvb2xOYW1lKSh0KTtpZigoMCxnLmlzQXN5bmNTdHVkeUxpbmVUb29sTmFtZSkoYSkpe3JldHVybigwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKGEpLmNyZWF0ZVByb3BlcnRpZXNGcm9tU3R1ZHlNZXRhSW5mb0FuZFN0YXRlKHMsaSxyLG8sZSl9dGhyb3cgbmV3IEVycm9yKGBQcm9wZXJ0eSBjcmVhdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIHN0dWR5IGxpbmUgdG9vbCAke3R9YCl9ZnVuY3Rpb24gUihlKXsoMCxuLmFzc2VydCkoKDAsZC5pc0xpbmVUb29sTmFtZSkoZSksYCR7ZX0gc2hvdWxkIGJlIG5hbWUgb2YgdGhlIGxpbmUgdG9vbGApO2NvbnN0IHQ9KDAsZy5hc0xpbmVUb29sTmFtZSkoZSk7KDAsbi5hc3NlcnQpKCgwLGcuaXNMaW5lVG9vbExvYWRlZCkodCksYExpbmUgdG9vbCAke3R9IGlzIG5vdCBsb2FkZWRgKTtjb25zdCBzPSgwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKHQpO3JldHVybiB2b2lkIDAhPT1zJiZCb29sZWFuKHMuc3VwcG9ydFBoYW50b21Nb2RlKX1mdW5jdGlvbiBrKGUpe3JldHVybiBlIGluc3RhbmNlb2YgbC5MaW5lRGF0YVNvdXJjZSYmKDAsZC5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShlLnRvb2xuYW1lKX1mdW5jdGlvbiBWKGUpe3JldHVybiBlIGluc3RhbmNlb2YgdS5MaW5lVG9vbFRyYWRpbmd9Y29uc3QgQT1bImVkaXRhYmxlVGV4dFN0eWxlIiwiZWRpdGFibGVUZXh0IiwiZWRpdGFibGVUZXh0UHJvcGVydGllcyJdO2Z1bmN0aW9uIEYoZSl7cmV0dXJuKDAsaS5kZWZhdWx0KShlKSYmQS5ldmVyeSgodD0+dCBpbiBlKSl9ZnVuY3Rpb24gQihlKXtsZXQgdD1udWxsO3JldHVybiBlPT09aC5saW5lVG9vbHNTdHVkeUlkcy5MaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZD90PSJMaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZCI6ZT09PWgubGluZVRvb2xzU3R1ZHlJZHMuTGluZVRvb2xWYlBGaXhlZD90PSJMaW5lVG9vbFZiUEZpeGVkIjplPT09aC5saW5lVG9vbHNTdHVkeUlkcy5MaW5lVG9vbEZpeGVkUmFuZ2VWb2x1bWVQcm9maWxlJiYodD0iTGluZVRvb2xGaXhlZFJhbmdlVm9sdW1lUHJvZmlsZSIpLHR9ZnVuY3Rpb24gTyhlLHQscyxpLG8pe2NvbnN0IGw9dC50b29sbmFtZSx1PXQucHJvcGVydGllcygpLnN0YXRlKCk7dS5pbnRlcnZhbHNWaXNpYmlsaXRpZXM9KDAsYS5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKHU/LmludGVydmFsc1Zpc2liaWxpdGllcyk7Y29uc3QgYz1EKGUuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSx0LnRvb2xuYW1lLCFlLnJlYWRPbmx5KCksdSk7Yy5jaGlsZHMoKS52aXNpYmxlLnNldFZhbHVlKCEwKTtjb25zdCBkPSgwLG4uZW5zdXJlTm90TnVsbCkodC5vd25lclNvdXJjZSgpKSxoPUwobCxlLGMsbnVsbCx2b2lkIDAsdm9pZCAwLG8pO3ZvaWQgMCE9PWkmJmguc2V0SWQoaSksaC5zdXBwb3J0c1RhcmdldFNpZ25hdHVyZSgpJiZudWxsIT09ZC5zaWduYXR1cmUoKS52YWx1ZSgpP2guc2V0VGFyZ2V0U2lnbmF0dXJlKGQuc2lnbmF0dXJlKCkudmFsdWUoKSk6aC5zZXRPd25lclNvdXJjZShkKSxoLnRvb2xuYW1lPWw7Y29uc3QgcD1oLmNsb25lUG9zaXRpb25PZmZzZXQoKTtpZih0LmlzRml4ZWQoKSl7Y29uc3QgZT0oMCxuLmVuc3VyZURlZmluZWQpKHQuZml4ZWRQb2ludCgpKSxpPXM/ZS5hZGQobmV3IHIuUG9pbnQocC54Q29vcmRPZmZzZXQscC55Q29vcmRPZmZzZXQpKTplO2guYWRkRml4ZWRQb2ludChpKX1jb25zdCBtPXQubm9ybWFsaXplZFBvaW50cygpLF89cz9mdW5jdGlvbihlLHQscyl7Y29uc3QgaT0oMCxuLmVuc3VyZU5vdE51bGwpKHQucHJpY2VTY2FsZSgpKSxyPSgwLG4uZW5zdXJlTm90TnVsbCkodC5maXJzdFZhbHVlKCkpO3JldHVybiBlLm1hcCgoZT0+ewpjb25zdCB0PWUucHJpY2Usbj1pLnByaWNlVG9Db29yZGluYXRlKHQscikrcy55Q29vcmRPZmZzZXQsbz1pLmNvb3JkaW5hdGVUb1ByaWNlKG4sciksYT1lLmludGVydmFsO3JldHVybnt0aW1lX3Q6ZS50aW1lX3QscHJpY2U6byxvZmZzZXQ6ZS5vZmZzZXQrcy5iYXJPZmZzZXQsaW50ZXJ2YWw6YX19KSl9KG0sZCxwKTptLGc9dC5wb2ludHMoKTtyZXR1cm4gaC5yZXN0b3JlUG9pbnRzKF8sZyksaC5jbG9uZURhdGEmJmguY2xvbmVEYXRhKHQpLGgucmVjYWxjdWxhdGVTdGF0ZUJ5RGF0YSYmaC5yZWNhbGN1bGF0ZVN0YXRlQnlEYXRhKCksaH19LDgyODg1NyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHttYWduZXRFbmFibGVkOigpPT5nLG1hZ25ldE1vZGU6KCk9PnksbWFnbmV0U25hcHNUb0luZGljYXRvcnM6KCk9PmYsc2V0SXNNYWduZXRFbmFibGVkOigpPT52LHNldE1hZ25ldE1vZGU6KCk9PmIsc2V0TWFnbmV0U25hcHNUb0luZGljYXRvcnM6KCk9PlN9KTt2YXIgaT1zKDIzMjM2NCksbj1zKDk3NDY2Mykscj1zKDQ5MjM4MSksbz1zKDY3ODI4NSksYT1zKDg2MDQ0MiksbD1zKDQ2NDgzNSk7Y29uc3QgdT1uZXcgaS5XYXRjaGVkVmFsdWUoITEpLGM9bmV3IGkuV2F0Y2hlZFZhbHVlKHIuTWFnbmV0TW9kZS5XZWFrTWFnbmV0KSxkPW5ldyBpLldhdGNoZWRWYWx1ZSghMSksaD0oMCxsLm1vZGlmaWVyUHJlc3NlZCkoKSxwPSgwLGwuc2hpZnRQcmVzc2VkKSgpO2Z1bmN0aW9uIG0oKXtjb25zdCBlPWgudmFsdWUoKTtpZihwLnZhbHVlKCkmJihvLmlzVG9vbEVkaXRpbmdOb3cudmFsdWUoKXx8by5pc1Rvb2xDcmVhdGluZ05vdy52YWx1ZSgpKSlyZXR1cm4gdm9pZCB1LnNldFZhbHVlKCExKTtsZXQgdCxzO2lmKG8uYWN0aXZlUG9pbnRTZWxlY3Rpb25Nb2RlLnZhbHVlKCk9PT1vLlNlbGVjdFBvaW50TW9kZS5SZXBsYXkpdD1zPSExO2Vsc2V7Y29uc3QgaT1vLnRvb2wudmFsdWUoKSxuPW8uaXNTdHVkeUVkaXRpbmdOb3cudmFsdWUoKXx8by5hY3RpdmVQb2ludFNlbGVjdGlvbk1vZGUudmFsdWUoKT09PW8uU2VsZWN0UG9pbnRNb2RlLlN0dWR5O3Q9ZSYmKCgwLGEuaXNMaW5lVG9vbE5hbWUpKGkpfHxvLmlzVG9vbEVkaXRpbmdOb3cudmFsdWUoKXx8KDAsby50b29sSXNNZWFzdXJlKShpKXx8bikscz0oMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnZhbHVlKCl9Yy5zZXRWYWx1ZSghcyYmdD9yLk1hZ25ldE1vZGUuU3Ryb25nTWFnbmV0OigwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRNb2RlLnZhbHVlKCkpLHUuc2V0VmFsdWUodD8hczpzKX1mdW5jdGlvbiBfKCl7ZC5zZXRWYWx1ZSgoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0U25hcHNUb0luZGljYXRvcnMudmFsdWUoKSl9ZnVuY3Rpb24gZygpe3JldHVybiB1fWZ1bmN0aW9uIHkoKXtyZXR1cm4gY31mdW5jdGlvbiBmKCl7cmV0dXJuIGR9ZnVuY3Rpb24gdihlKXsoMCxuLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSwoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnNldFZhbHVlKGUpLCgwLG4uYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfWZ1bmN0aW9uIGIoZSl7KDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCksKDAsby5wcm9wZXJ0aWVzKSgpLmNoaWxkcygpLm1hZ25ldE1vZGUuc2V0VmFsdWUoZSksKDAsby5wcm9wZXJ0aWVzKSgpLmNoaWxkcygpLm1hZ25ldC5zZXRWYWx1ZSghMCksKDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSl9ZnVuY3Rpb24gUyhlKXsoMCxuLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSwoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0U25hcHNUb0luZGljYXRvcnMuc2V0VmFsdWUoZSksKDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSl9KDAsby5ydW5PbkRyYXdpbmdTdGF0ZVJlYWR5KSgoKCk9PnsoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnN1YnNjcmliZShudWxsLG0pLCgwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRNb2RlLnN1YnNjcmliZShudWxsLG0pLCgwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRTbmFwc1RvSW5kaWNhdG9ycy5zdWJzY3JpYmUobnVsbCxfKSxoLnN1YnNjcmliZShtKSxwLnN1YnNjcmliZShtKSxvLnRvb2wuc3Vic2NyaWJlKG0pLG8uaXNUb29sRWRpdGluZ05vdy5zdWJzY3JpYmUobSksbSgpLF8oKX0pKX0sNjk5NTUwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3Rlc1Byb3ZpZGVyOigpPT5sfSk7dmFyIGk9cygyMzIzNjQpLG49cyg0MDIwNDUpLHI9cygxNTk1MTMpLG89cyg5NDgzODApLGE9cygxNTAxNTApO2NsYXNzIGx7Y29uc3RydWN0b3IoZT0iZnVsbCIsdCl7dGhpcy5fcXVvdGVzPW5ldyBuLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWQ9IiIsdGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzVXBkYXRlPW5ldyBvLkRlbGVnYXRlLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZD1uZXcgby5EZWxlZ2F0ZSx0aGlzLl9jb21wbGV0ZWQ9bmV3IGkuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aXBsZXhlclR5cGU9ZSx0aGlzLl9oaWJlcm5hdGVkPXQsdGhpcy5faGliZXJuYXRlZD8uc3Vic2NyaWJlKChlPT57ZT90aGlzLnBhdXNlKCk6dGhpcy5yZXN1bWUoKX0pKX1zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCE9PWUmJih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2w9bnVsbCx0aGlzLl9xdW90ZVNlc3Npb25DbGllbnRJZHx8KHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkPSJzZXJpZXMtIisoMCxhLmd1aWQpKCkpLHRoaXMuX3Vuc3Vic2NyaWJlUXVvdGVTZXNzaW9uKCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPWUsdGhpcy5fcXVvdGVTeW1ib2xDaGFuZ2VkLmZpcmUoKSxlJiZ0aGlzLl9zdWJzY3JpYmVRdW90ZVNlc3Npb24oZSkpfXN5bWJvbCgpe3JldHVybiB0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2x9cXVvdGVzVXBkYXRlKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc1VwZGF0ZX0KcXVvdGVTeW1ib2xDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZH1xdW90ZXMoKXtyZXR1cm4gdGhpcy5fcXVvdGVzLnJlYWRvbmx5KCl9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZC5yZWFkb25seSgpfWFzeW5jIHF1b3Rlc1NuYXBzaG90KGUpe3JldHVybigwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKS5zbmFwc2hvdChlKX1pc1BhdXNlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sfXBhdXNlKCl7bnVsbD09PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD10aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wsdGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSl9cmVzdW1lKCl7bnVsbCE9PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3N1YnNjcmliZVF1b3RlU2Vzc2lvbih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2wpLHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD1udWxsKX1kZXN0cm95KCl7dGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSx0aGlzLl9oaWJlcm5hdGVkPy5yZWxlYXNlKCl9X29uVXBkYXRlKGUsdCl7dGhpcy5fcXVvdGVzLnNldFZhbHVlKGU/LnZhbHVlcz8/bnVsbCksdCYmdC52YWx1ZXMmJnRoaXMuX3F1b3Rlc1VwZGF0ZS5maXJlKGUsdCksdm9pZCAwIT09ZS5jb21wbGV0ZSYmdGhpcy5fY29tcGxldGVkLnNldFZhbHVlKCEwKX1fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLCgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKHRoaXMuX211bHRpcGxleGVyVHlwZSkuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCx0aGlzLl9vblVwZGF0ZS5iaW5kKHRoaXMpKX1fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wmJigoMCxyLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSh0aGlzLl9tdWx0aXBsZXhlclR5cGUpLnVuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzLnNldFZhbHVlKG51bGwpLHRoaXMuX2NvbXBsZXRlZC5zZXRWYWx1ZSghMSkpfX19LDQ2NTEzNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjb21wYXJlUmVzb2x1dGlvbnM6KCk9Pm0uY29tcGFyZVJlc29sdXRpb25zLGNvbnZlcnRSZXNvbHV0aW9uc0Zyb21TZXR0aW5nczooKT0+SSxmb3JtYXREaXJlY3Rpb25hbFJlc29sdXRpb246KCk9PkIsZ2V0QXBwbGljYWJsZUludGVydmFsRm9yRnJlcXVlbmN5OigpPT5tLmdldEFwcGxpY2FibGVJbnRlcnZhbEZvckZyZXF1ZW5jeSxnZXREZWZhdWx0UmVzb2x1dGlvbjooKT0+dyxnZXRNYXhSZXNvbHV0aW9uVmFsdWU6KCk9PkUsZ2V0UmVzb2x1dGlvbkJ5Q2hhcnRTdHlsZTooKT0+UCxnZXRUcmFuc2xhdGVkUmVzb2x1dGlvbjooKT0+RCxnZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsOigpPT54LGludGVydmFsSXNTdXBwb3J0ZWQ6KCk9PkYsaXNBdmFpbGFibGU6KCk9PmIsaXNJbnRlcnZhbEVuYWJsZWQ6KCk9PkEsaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkOigpPT5ULGlzU2Vjb25kc0VuYWJsZWQ6KCk9PmssbWVyZ2VSZXNvbHV0aW9uczooKT0+TCxub3JtYWxpemVJbnRlcnZhbFN0cmluZzooKT0+dixzZXRMYXN0VXNlZFJlc29sdXRpb246KCk9PlMsc29ydFJlc29sdXRpb25zOigpPT5NfSk7dmFyIGk9cyg2MDE4NDEpLG49cyg5MzAyMzEpLHI9cygxODUyNzEpLG89cygyNTQ2NzMpLGE9cygxMjg5OTgpLGw9cyg5MzA1NjYpLHU9cyg1NjkzOTgpLGM9cygyMjUyOTgpLGQ9cygxNzY4NTEpLGg9cyg5NjkxNjgpLHA9cyg2MTk5OTIpLG09cyg3MDg1OSk7Y29uc3QgXz1bMSw1LDEwLDE1LDMwLDQ1XSxnPVsxLDEwLDEwMCwxZTNdLHk9KDAsdS5pc0ZlYXR1cmVFbmFibGVkKSgiY3VzdG9tX3RpY2tzIik7dmFyIGY7ZnVuY3Rpb24gdihlKXtyZXR1cm4gby5JbnRlcnZhbC5wYXJzZShlKS52YWx1ZSgpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1vLkludGVydmFsLnBhcnNlKGUpO2lmKHQuaXNSYW5nZSgpKXJldHVybiBjLmxpbmtpbmcucmFuZ2UudmFsdWUoKTtpZighKDAscC5pc1RpY2tzRW5hYmxlZCkoKSYmdC5pc1RpY2tzKCkpcmV0dXJuITE7Y29uc3Qgcz10LnZhbHVlKCksaT1jLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24udmFsdWUoKTtpZih2b2lkIDAhPT1pJiYoMCxtLmNvbXBhcmVSZXNvbHV0aW9ucykocyxpKTwwKXJldHVybiExO2NvbnN0IG49Yy5saW5raW5nLnN1cHBvcnRlZFJlc29sdXRpb25zLnZhbHVlKCk7cmV0dXJuIHZvaWQgMCE9PW4/dm9pZCAwIT09bi5maW5kKChlPT52KGUpPT09cykpOnQuaXNUaWNrcygpP0Jvb2xlYW4oYy5saW5raW5nLnRpY2tzLnZhbHVlKCkpOnQuaXNJbnRyYWRheSgpP0Jvb2xlYW4oYy5saW5raW5nLmludHJhZGF5LnZhbHVlKCkpOnQuaXNEV00oKX1mdW5jdGlvbiBTKGUpe28uSW50ZXJ2YWwuaXNWYWxpZChlKSYmKG8uSW50ZXJ2YWwuaXNSYW5nZShlKT9sLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFJhbmdlUmVzb2x1dGlvbiIsZSk6bC5zZXRWYWx1ZSgiY2hhcnQubGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uIixlKSl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4gZT8iMTAwUiI6IjFEIn1mdW5jdGlvbiBQKGUsdCxzKXtjb25zdCBpPWEuaXNSYW5nZVN0eWxlKGUpLG49by5JbnRlcnZhbC5pc1JhbmdlKHQpO3JldHVybiFpJiZuP2Z1bmN0aW9uKGUpe2NvbnN0IHQ9bC5nZXRWYWx1ZSgiY2hhcnQubGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uIik7aWYodm9pZCAwIT09dCYmby5JbnRlcnZhbC5pc1RpbWVCYXNlZCh0KSlyZXR1cm4gdDtsZXQgcz0iMUQiO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9by5JbnRlcnZhbC5wYXJzZSh0KTtpZihlLmlzVGltZUJhc2VkKCkpe2NvbnN0IHQ9ZS52YWx1ZSgpCjtpZigiMUQiPT09dClyZXR1cm4gdDtzPXR9fXJldHVybiBzfShzKTppJiYhbj9mdW5jdGlvbihlKXtjb25zdCB0PWwuZ2V0VmFsdWUoImNoYXJ0Lmxhc3RVc2VkUmFuZ2VSZXNvbHV0aW9uIik7aWYodm9pZCAwIT09dCYmby5JbnRlcnZhbC5pc1JhbmdlKHQpKXJldHVybiB0O2xldCBzPSIxMDBSIjtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPW8uSW50ZXJ2YWwucGFyc2UodCk7aWYoZS5pc1JhbmdlKCkpe2NvbnN0IHQ9ZS52YWx1ZSgpO2lmKCIxMDBSIj09PXQpcmV0dXJuIHQ7cz10fX1yZXR1cm4gc30ocyk6dH1mdW5jdGlvbiBUKGUpe2NvbnN0e2ludGVydmFsOnQsZ3VpUmVzb2x1dGlvbktpbmQ6c309by5JbnRlcnZhbC5wYXJzZUV4dChlKTtpZighdC5pc1ZhbGlkKCkpcmV0dXJuITE7Y29uc3QgaT10Lm11bHRpcGxpZXIoKTtpZihzPT09by5SZXNvbHV0aW9uS2luZC5TZWNvbmRzKXJldHVybiBfLmluY2x1ZGVzKGkpO2lmKCgwLHAuaXNUaWNrc0VuYWJsZWQpKCkmJnM9PT1vLlJlc29sdXRpb25LaW5kLlRpY2tzKXJldHVybiEheXx8Zy5pbmNsdWRlcyhpKTtyZXR1cm4ocz09PW8uU3BlY2lhbFJlc29sdXRpb25LaW5kLkhvdXJzP2kvNjA6aSk8PUMocyl9ZnVuY3Rpb24gQyhlKXtjb25zdCB0PW0ubWF4UmVzb2x1dGlvblZhbHVlc1tlXTtyZXR1cm4gTnVtYmVyLmlzTmFOKHQpPzE6dH1mdW5jdGlvbiBFKGUpe3JldHVybiBDKG8uSW50ZXJ2YWwucGFyc2VFeHQoZSkuZ3VpUmVzb2x1dGlvbktpbmQpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZTpPYmplY3Qua2V5cyhlKS5tYXAoby5JbnRlcnZhbC5ub3JtYWxpemUpLmZpbHRlcihpLm5vdE51bGwpfWZ1bmN0aW9uIEwoLi4uZSl7bGV0IHQ9W10uY29uY2F0KC4uLmUpO3JldHVybiB0PSgwLGQudW5pcSkodC5maWx0ZXIoVCkubWFwKHYpKSxNKHQpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIGUuc29ydChtLmNvbXBhcmVSZXNvbHV0aW9ucyl9ZnVuY3Rpb24gRChlKXtjb25zdHttdWx0aXBsaWVyOnQsc2hvcnRLaW5kOnN9PXgoZSk7cmV0dXJuYCR7dH0ke3N9YH1mdW5jdGlvbiB4KGUsdCl7Y29uc3Qgcz1vLkludGVydmFsLnBhcnNlKGUpO2xldCBpPXMubXVsdGlwbGllcigpLG49cy5raW5kKCk7aWYoIXMuaXNWYWxpZCgpKXtpZih0KXJldHVybiBudWxsO3Rocm93IG5ldyBUeXBlRXJyb3IoYENhbid0IHRyYW5zbGF0ZSBpbnZhbGlkIGludGVydmFsOiAke2V9YCl9cmV0dXJuIHMuaXNNaW51dGVIb3VycygpJiYoaT1NYXRoLmZsb29yKGkvNjApLG49by5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnMpLHttdWx0aXBsaWVyOmkudG9TdHJpbmcoKSxzaG9ydEtpbmQ6UihuKSxoaW50OmAke2l9ICR7UihuLGkpfWAsbWF5T21pdE11bHRpcGxpZXI6cy5pc0RXTSgpJiYxPT09aSxtYXlPbWl0U2hvcnRLaW5kOnMuaXNNaW51dGVzKCkmJiFzLmlzTWludXRlSG91cnMoKX19ZnVuY3Rpb24gUihlLHQpe2lmKCF0KXJldHVybntbby5SZXNvbHV0aW9uS2luZC5JbnZhbGlkXToiIixbby5SZXNvbHV0aW9uS2luZC5UaWNrc106ci50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0scygyMTgwMzYpKSxbby5SZXNvbHV0aW9uS2luZC5TZWNvbmRzXTpyLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxzKDM5MDgwOSkpLFtvLlJlc29sdXRpb25LaW5kLk1pbnV0ZXNdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoNjE4NCkpLFtvLlNwZWNpYWxSZXNvbHV0aW9uS2luZC5Ib3Vyc106ci50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0scygyNDA3MykpLFtvLlJlc29sdXRpb25LaW5kLkRheXNdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMTkxNDMyKSksW28uUmVzb2x1dGlvbktpbmQuV2Vla3NdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMzIzNTcwKSksW28uUmVzb2x1dGlvbktpbmQuTW9udGhzXTpyLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxzKDg4OTEwKSksW28uUmVzb2x1dGlvbktpbmQuUmFuZ2VdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMjgxMTA3KSl9W2VdO3N3aXRjaChlKXtjYXNlIG8uUmVzb2x1dGlvbktpbmQuVGlja3M6cmV0dXJuIHIudChudWxsLHtwbHVyYWw6InRpY2tzIixjb3VudDp0fSxzKDUwNjQ0NykpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5EYXlzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJkYXlzIixjb3VudDp0fSxzKDc0MzAwMikpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5XZWVrczpyZXR1cm4gci50KG51bGwse3BsdXJhbDoid2Vla3MiLGNvdW50OnR9LHMoMzg4MTA1KSk7Y2FzZSBvLlJlc29sdXRpb25LaW5kLk1vbnRoczpyZXR1cm4gci50KG51bGwse3BsdXJhbDoibW9udGhzIixjb3VudDp0fSxzKDMyMzQ4NSkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5TZWNvbmRzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJzZWNvbmRzIixjb3VudDp0fSxzKDY2NTUzMCkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5NaW51dGVzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJtaW51dGVzIixjb3VudDp0fSxzKDExMzY0MikpO2Nhc2Ugby5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnM6cmV0dXJuIHIudChudWxsLHtwbHVyYWw6ImhvdXJzIixjb3VudDp0fSxzKDQxOTExNCkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5SYW5nZTpyZXR1cm4gci50KG51bGwse3BsdXJhbDoicmFuZ2VzIixjb3VudDp0fSxzKDYxNjQ5KSk7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gaygpe3JldHVybiEwfWZ1bmN0aW9uIFYoZSl7cmV0dXJuISghKDAscC5pc1RpY2tzRW5hYmxlZCkoKSYmZS5pc1RpY2tzKCkpfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIFYoby5JbnRlcnZhbC5wYXJzZShlKSl9ZnVuY3Rpb24gRihlKXtpZigoMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiKSl7Y29uc3QgdD1vLkludGVydmFsLm5vcm1hbGl6ZShlKTtyZXR1cm4gbnVsbCE9PXQmJmIodCl9e2NvbnN0IHQ9by5JbnRlcnZhbC5wYXJzZShlKQo7aWYoIXQuaXNWYWxpZCgpfHwhVih0KSlyZXR1cm4hMTtpZighKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3VzdG9tX3Jlc29sdXRpb25zIikpe2NvbnN0IHQ9by5JbnRlcnZhbC5ub3JtYWxpemUoZSkscz13aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5kZWZhdWx0UmVzb2x1dGlvbnMoKS5maWx0ZXIoQSk7aWYoIXR8fC0xPT09cy5pbmRleE9mKHQpKXJldHVybiExfWNvbnN0IHM9Yy5saW5raW5nLmRhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnZhbHVlKCk7aWYodm9pZCAwIT09cyYmKDAsbS5nZXRBcHBsaWNhYmxlSW50ZXJ2YWxGb3JGcmVxdWVuY3kpKHMsdC52YWx1ZSgpKSE9PXQudmFsdWUoKSlyZXR1cm4hMTtpZih0LmlzUmFuZ2UoKSlyZXR1cm4gYy5saW5raW5nLnJhbmdlLnZhbHVlKCk7aWYodC5pc1RpY2tzKCkpcmV0dXJuIGMubGlua2luZy50aWNrcy52YWx1ZSgpO2lmKHQuaXNJbnRyYWRheSgpKXJldHVybiBjLmxpbmtpbmcuaW50cmFkYXkudmFsdWUoKTt7Y29uc3QgZT1jLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMudmFsdWUoKTtyZXR1cm4hZXx8ZS5pbmNsdWRlcyh0LnZhbHVlKCkpfX19ZnVuY3Rpb24gQihlKXtyZXR1cm4oMCxoLmlzUnRsKSgpPyIgIisoMCxoLmZvcmNlUlRMU3RyKSgiICwiK2UpOiIsICIrZX0hZnVuY3Rpb24oZSl7ZS5DdXN0b21Vc2VyUmVzb2x1dGlvbnNLZXk9IkludGVydmFsV2lkZ2V0LmludGVydmFscyIsZS5MYXN0VXNlZFJhbmdlUmVzb2x1dGlvbktleT0iY2hhcnQubGFzdFVzZWRSYW5nZVJlc29sdXRpb24iLGUuTGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uS2V5PSJjaGFydC5sYXN0VXNlZFRpbWVCYXNlZFJlc29sdXRpb24iLGUuRGVmYXVsdFJhbmdlUmVzb2x1dGlvbj0iMTAwUiIsZS5EZWZhdWx0VGltZUJhc2VkUmVzb2x1dGlvbj0iMUQifShmfHwoZj17fSkpfSw2MzY5NjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U2VyaWVzOigpPT52dH0pO3ZhciBpPXMoMTY3NTAyKSxuPXMoMTM4NjM4KSxyPXMoMjMyMzY0KSxvPXMoOTUyOTAwKSxhPXMoNjAxODQxKSxsPXMoOTQ4MzgwKSx1PXMoMjIxMDYxKSxjPXMoMjU0NjczKSxkPXMoODU3MTUxKSxoPXMoOTM2MzI2KSxwPXMoMTIxNDc5KSxtPXMoMzg2OTMxKSxfPXMoMTc5NzcxKSxnPXMoOTMwMjMxKSx5PXMoNzY4NzYwKSxmPXMoNTQyMzQ5KSx2PXMoOTMwNTA2KSxiPXMoNjE5MTY1KSxTPXMoNjM1NTA5KSx3PXMoNzY4MjkyKSxQPXMoMTI4OTk4KSxUPXMoMzE0OTE0KSxDPXMoNjgyODIyKSxFPXMoNzU1NjI3KSxJPXMoNzk4MzgpLEw9cygyNTc4MSksTT1zKDYyNjc1NiksRD1zKDU0NjU3NSkseD1zKDE1Mjc2NiksUj1zKDM3Njc5Nyksaz1zKDYwOTA0MSksVj1zKDgyNzY5OCksQT1zKDY5OTU1MCksRj1zKDM1NzIxOSksQj1zKDY0NTI4NSksTz1zKDU2OTg0NiksTj1zKDk0NzM4MiksVz1zKDE1Njg1MCksVT1zKDY4MzkwMiksej1zKDE3MjMwNCksSD1zKDQ4Mzc4Myksaj1zKDkxMTQzMCksJD1zKDQ5MDM5OSkscT1zKDY1NTU4NCksSz1zKDY4NTU1NSksWT1zKDI5MzQ0NyksRz1zKDg5MTQ0MSksSj1zKDU2OTM5OCksWD1zKDIyNjkzNyksUT1zKDI3NTc0MiksWj1zKDk3Mzk3KSxlZT1zKDY4MjgwNiksdGU9cyg3MzkzNjMpLHNlPXMoNDE3MjkpLGllPXMoNDk5Njk1KSxuZT1zKDk2OTQpLHJlPXMoODY2OTUwKSxvZT1zKDM3NjY0NSksYWU9cygzMjI0NjApLGxlPXMoODUzMjQ1KSx1ZT1zKDIzNDg2NiksY2U9cyg4OTQ2OTcpLGRlPXMoMjA2NTcwKSxoZT1zKDQwNzc5OSkscGU9cyg2MTU2NzMpLG1lPXMoMjM0OTMyKSxfZT1zKDQ5MDQ0NiksZ2U9cyg0Njg3NzQpLHllPXMoODM3MjAzKSxmZT1zKDk2NjQwNCksdmU9cyg0NjUxMzcpLGJlPXMoMzQ3MDQyKSxTZT1zKDgwNjgxOCksd2U9cygxNTc4NTMpLFBlPXMoMTY4NzcxKSxUZT1zKDM2MDIzOCksQ2U9cyg3NDgyMTApLEVlPXMoNTQ5NjEzKSxJZT1zKDEzMDkxNSksTGU9cygzMTg5NzQpLE1lPXMoMzExNjE5KSxEZT1zKDI3MzE4NykseGU9cygzMjA2NjUpLFJlPXMoNjMyNTM1KSxrZT1zKDIyODI1MSksVmU9cyg3MzQ0NzkpLEFlPXMoNjU2NDA5KSxGZT1zKDY5Nzc5OSksQmU9cyg2NTkyOTEpLE9lPXMoMTk2MDQ5KSxOZT1zKDIxNzAxNiksV2U9cyg5ODE4NTMpLFVlPXMoMzY0NzgyKSx6ZT1zKDM1ODA4OCksSGU9cyg0NTk2NzMpLGplPXMoNDE2MzUpLCRlPXMoOTU2NDM3KSxxZT0ocygyNTAzMzQpLHMoMTU2ODI5KSksS2U9cyg2OTk2NjgpLFllPXMoNzA0NTcyKSxHZT1zKDg2NjczMSksSmU9cyg4Njc4MzEpLFhlPXMoMjQxOTU2KSxRZT1zKDE4OTgwMCksWmU9cygyMjc4MjUpLGV0PXMoNzkzODYyKSx0dD1zKDQ4OTAzMSksc3Q9cyg5NjkxNjgpLGl0PXMoMjA1NjIyKSxudD1zKDcyMzUyNSk7Y29uc3QgcnQ9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicHJpY2Vfc2NhbGVfYWx3YXlzX2xhc3RfYmFyX3ZhbHVlIiksb3Q9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGlzcGxheV9kYXRhX21vZGUiKSxhdD0hKDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iKSxsdD0oMCxnLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3ByaWNlX3NjYWxlX2dsb2JhbF9sYXN0X2Jhcl92YWx1ZSIpLHV0PSgwLGcuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm5vX2JhcnNfc3RhdHVzIiksY3Q9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRpbmdfbGlicmFyeV9kZWJ1Z19tb2RlIiksZHQ9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRfc3R5bGVfaGlsb19sYXN0X3ByaWNlIiksaHQ9KDAsdS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXMiKSxwdD1QZS5sYXN0RGF5Q2hhbmdlQXZhaWxhYmxlJiZMZS5DaGVja01vYmlsZS5hbnkoKXx8UGUuYWx3YXlzU2hvd0xhc3RQcmljZUFuZExhc3REYXlDaGFuZ2U7bGV0IG10PSExO2NvbnN0IF90PXtjb3VudGRvd25FbmFibGVkOiEwLGxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWQ6ITB9O2Z1bmN0aW9uIGd0KGUsdCxzKXtyZXR1cm4gdm9pZCAwPT09dD9udWxsOmAke2V9PSR7dH0gKCR7cz8iY2hhbmdlZCI6InVuY2hhbmdlZCJ9KWB9ZnVuY3Rpb24geXQoZSl7CmNvbnN0IHQ9ZS5zdGF0ZSgpO3JldHVybiB0LmRhdGEuZm9yRWFjaCgoZT0+ZS52YWx1ZS5zcGxpY2UoNywxKSkpLHR9ZnVuY3Rpb24gZnQoZSl7Y29uc3R7c2VyaWVzU3RhdHVzOnQsYWRkaXRpb25hbFN0dWR5U3RhdHVzOnN9PWU7aWYoSS5zZXJpZXNMb2FkaW5nU3RhdHVzZXMuaGFzKHQpKXJldHVybiAyO2lmKHMpe2lmKDQhPT10JiZzLnR5cGU9PT1KZS5TdHVkeVN0YXR1c1R5cGUuRXJyb3IpcmV0dXJuIDEzO2lmKEkuc2VyaWVzUmVhZHlTdGF0dXNlcy5oYXModCkmJihzLnR5cGU9PT1KZS5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZ3x8cy50eXBlPT09SmUuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZCkpcmV0dXJuIDJ9cmV0dXJuIHR9Y2xhc3MgdnQgZXh0ZW5kcyBmLlByaWNlRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlLHQsdSxkKXtzdXBlcihlLCJfc2VyaWVzSWQiKSx0aGlzLmlzU2VyaWVzPSEwLHRoaXMucmVxdWVzdGluZ1N0eWxlSXNOb3RTdXBwb3J0ZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5yZXF1ZXN0aW5nU3R5bGVTdXBwb3J0UmVjb3ZlcmVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3BhbmVWaWV3PW51bGwsdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3PW51bGwsdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz1udWxsLHRoaXMuX3dhdGVybGluZVZpZXc9bnVsbCx0aGlzLl9wcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fZ290b0RhdGVWaWV3PW51bGwsdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz1udWxsLHRoaXMuX3ByaWNlU3RlcD1udWxsLHRoaXMuX3N5bWJvbEluZm89bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KCExKSx0aGlzLl9pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KCExKSx0aGlzLl9pc0JhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHk9bmV3IHcuUHJvcGVydHkoITApLHRoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eT1uZXcgdy5Qcm9wZXJ0eSghMCksdGhpcy5faGlnaExvd1ByaWNlQ2FjaGU9bmV3IE1hcCx0aGlzLl9hdmVyYWdlUHJpY2VDYWNoZT1uZXcgTWFwLHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXc9bnVsbCx0aGlzLl9wcmljZVNjYWxlQWJvdXRUb0JlQ2hhbmdlZD1uZXcgbC5EZWxlZ2F0ZSx0aGlzLl9vblJlc3RhcnRlZD1uZXcgbC5EZWxlZ2F0ZSx0aGlzLl9vblN0YXR1c0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5faW50ZXJ2YWxDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3Nlc3Npb25JZENoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fcmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlPSEwLHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3PW5ldyBtZS5MYXN0UHJpY2VDaXJjbGVQYW5lVmlldyh0aGlzKSx0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fZGF0YVBvd2VyZWRCeT1udWxsLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZT1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fc3luY01vZGVsPW51bGwsdGhpcy5fZGF0YT1udWxsLHRoaXMuX2xhc3RDb21wbGV0ZUZsYWdzPW51bGwsdGhpcy5fYmFyQ29sb3JlckNhY2hlPW51bGwsdGhpcy5fcXVvdGVzTGFzdFNwbGl0cz1uZXcgci5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fb3ZlcnJpZGRlbkxhc3RTcGxpdHM9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2xhc3RTcGxpdHM9KDAsby5jb21iaW5lKSgoKGUsdCk9PnR8fGUpLHRoaXMuX3F1b3Rlc0xhc3RTcGxpdHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX292ZXJyaWRkZW5MYXN0U3BsaXRzLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fYm94U2l6ZVZhbHVlPW5ldyByLldhdGNoZWRWYWx1ZSx0aGlzLl9iYXNlPTEwMCx0aGlzLl9wb2ludFZhbHVlPTEsdGhpcy5fZm9ybWF0dGluZ0RlcHM9bnVsbCx0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyPW5ldyBFLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOnRoaXMuX2Jhc2V9KSx0aGlzLl9mb3JtYXR0ZXI9bmV3IEUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dGhpcy5fYmFzZX0pLHRoaXMuX2lnbm9yZU1pbk1vdmVGb3JtYXR0ZXI9bmV3IEUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dGhpcy5fYmFzZX0pLHRoaXMuX2lnbm9yZU1pbk1vdmVQcmljZVN0ZXA9bnVsbCx0aGlzLl9sYXN0QmFyQ2xvc2VUaW1lPW51bGwsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZD10aGlzLl9vblNlc3Npb25JZFByb3BlcnR5Q2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2lnbm9yZVNlc3Npb25JZFByb3h5UHJvcGVydHlDaGFuZ2VzPSExLHRoaXMuX3JlYWxpZ25MaW5lVG9vbHNCb3VuZD10aGlzLl9yZWFsaWduTGluZVRvb2xzLmJpbmQodGhpcyksdGhpcy5fdGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyUmVzdHJpY3Rpb25FbmFibGVkPSExLHRoaXMuX2xhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZT0hMSx0aGlzLl9jdXJyZW50U2Vzc2lvbj0ib3V0X29mX3Nlc3Npb24iLHRoaXMuX29uU3R5bGVDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX29ic29sZXRlWk9yZGVyPTAsdGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPW51bGwsdGhpcy5fc2VyaWVzQWx3YXlzRmFsc2VIaWJlcm5hdGVkVlc9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwLHRoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXI9ITEsdGhpcy5fZ290b0RhdGVSZXN1bHRDbGVhcmVkPSExLHRoaXMuX2VuZE9mRGF0YVBhbmVWaWV3PW51bGwsdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1udWxsLHRoaXMuX3BlbmRpbmdUaW1lUmFuZ2U9bnVsbCx0aGlzLl9yZXBsYXlTdWJzY3JpYmVyPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSwKdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX2lzUmVwbGF5UmVzb2x1dGlvbkF2YWlsYWJsZUZvclVzZXI9bnVsbCx0aGlzLl9vbkluUmVwbGF5U3RhdGVDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX29uUmVwbGF5U3Vic2NyaWJlclNlcmllc01vZGlmaWVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXk9bmV3IGwuRGVsZWdhdGUsdGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3Nlcmllc0xvYWRlZD0hMSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITEsdGhpcy5fc3RhdHVzPW5ldyByLldhdGNoZWRWYWx1ZSh7c2VyaWVzU3RhdHVzOjB9KSx0aGlzLl9wcmV2UmVxdWVzdGVkSW50ZXJ2YWw9IiIsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGU9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyPW51bGwsdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQ9KDAseS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzPW51bGwsdGhpcy5fc3R1ZHlCaW5kaW5ncz1udWxsLHRoaXMuX2xpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wPW5ldyBaLkdyYWRpZW50Q29sb3JDYWNoZSx0aGlzLl9zYXZlZExlZnRFZGdlPW51bGwsdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2U9bnVsbCx0aGlzLl9zeW1ib2xTb3VyY2VXVj1uZXcgci5XYXRjaGVkVmFsdWUodGhpcyksdGhpcy5fY3VycmVuY3lPcmlnaW5Tb3VyY2U9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMpLHRoaXMuX3VuaXRPcmlnaW5Tb3VyY2U9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMpLHRoaXMuX3VwZGF0ZVRpbWVTY2FsZVRpbWVQb2ludFdlaWdodHM9KCk9Pnt0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5zZXRUaW1lUG9pbnRXZWlnaHRzKDE5PT09dGhpcy5zdHlsZSgpP3RoaXMuX3ZvbHVtZVBvaW50V2VpZ2h0czpudWxsKX07Y29uc3QgaD10LmNoaWxkcygpLHA9aC5pbnRlcnZhbDt0aGlzLl9pbnRlcnZhbE9iaj1uZXcgci5XYXRjaGVkVmFsdWUoYy5JbnRlcnZhbC5wYXJzZShwLnZhbHVlKCkpKSxwLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW50ZXJ2YWxPYmouc2V0VmFsdWUoYy5JbnRlcnZhbC5wYXJzZShwLnZhbHVlKCkpKSkpLHRoaXMuX3Nlcmllc1N0YXR1cz0oMCxvLmNvbWJpbmUpKGZ0LHRoaXMuX3N0YXR1cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3N0dWR5QmluZGluZ3M9bmV3IEcuU2VyaWVzU3R1ZGllc0JpbmRpbmdzKHRoaXMpLHRoaXMuX3N0dWR5QmluZGluZ3Mub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57Y29uc3QgZT10aGlzLnN0YXR1cygpLHQ9dGhpcy5fc3RhdHVzLnZhbHVlKCkscz10aGlzLl9zdHVkeUJpbmRpbmdzPy5zdGF0dXMoKTtzPy50eXBlIT09SmUuU3R1ZHlTdGF0dXNUeXBlLkVycm9yfHx0aGlzLmlzRmFpbGVkKCl8fCh0aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U9KDAsSmUuY29udmVydFN0dWR5U3RhdHVzVG9TdHJpbmcpKHMpKSx0aGlzLl91cGRhdGVTdGF0dXMoey4uLnRoaXMuX3N0YXR1cy52YWx1ZSgpLGFkZGl0aW9uYWxTdHVkeVN0YXR1czpzfSksdGhpcy5zdGF0dXMoKSE9PWUmJih0aGlzLl9zdGF0dXNWaWV3LnVwZGF0ZSgpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSksKDAsaS5kZWZhdWx0KSh0LHRoaXMuX3N0YXR1cyl8fHRoaXMuX29uU3RhdHVzQ2hhbmdlZC5maXJlKCl9KSksdGhpcy5fc2VyaWVzU291cmNlPW5ldyB5ZS5TZXJpZXNEYXRhU291cmNlKGUuY2hhcnRBcGkoKSwicyIsZCk7Y29uc3QgXz10aGlzLl9zZXJpZXNTb3VyY2UuZGF0YUV2ZW50cygpO18uc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKSxfLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xFcnJvciksXy5zZXJpZXNUaW1lRnJhbWUoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc1RpbWVGcmFtZSksXy5zZXJpZXNFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2VyaWVzRXJyb3IpLF8ubG9hZGluZygpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2VyaWVzTG9hZGluZyksXy5jb21wbGV0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc0NvbXBsZXRlZCksXy5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YVVwZGF0ZWQpLF8uYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkJhclJlY2VpdmVkKSxfLnVuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkKSxfLmNsZWFyZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc0RhdGFDbGVhcmVkKSx0aGlzLl9xdW90ZXNQcm92aWRlcj1uZXcgQS5RdW90ZXNQcm92aWRlcih2b2lkIDAsZS5jb2xsYXBzZWQoKS5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXNVcGRhdGUoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblF1b3Rlc1VwZGF0ZSksdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYmluZFRvU2VyaWVzUHJvcGVydGllcyh0KSx0aGlzLl9wcm9wZXJ0aWVzPXQsaC5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSxoLnVuaXRJZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblVuaXRDaGFuZ2VkKSxoLm1ldHJpY0lkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTWV0cmljQ2hhbmdlZCksaC50aW1lZnJhbWUuc3Vic2NyaWJlKHRoaXMsdGhpcy5jaGFuZ2VUaW1lRnJhbWUpLHQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Qcm9wZXJ0aWVzQ2hhbmdlZCksdGhpcy5fc2Vzc2lvbklkUHJveHlQcm9wZXJ0eT1uZXcgdy5Qcm9wZXJ0eShoLnNlc3Npb25JZC52YWx1ZSgpKSxoLnNlc3Npb25JZC5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3VwZGF0ZVNlc3Npb25JZFByb3h5UHJvcGVydHkoKSkpLAp0aGlzLl9zZXNzaW9uSWRQcm94eVByb3BlcnR5LnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2Vzc2lvbklkUHJveHlQcm9wZXJ0eUNoYW5nZWQpLHRoaXMuX3N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5PW5ldyB3LlByb3BlcnR5LHRoaXMuX3JlY2FsY1N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5KCksaC5zdGF0dXNWaWV3U3R5bGUuY2hpbGRzKCkuc3ltYm9sVGV4dFNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9yZWNhbGNTeW1ib2xUZXh0U291cmNlUHJveHlQcm9wZXJ0eSksdGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLmxpZ2h0VXBkYXRlKCkpKSx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKF90KSx1KSx0aGlzLl9wcmV2Q2hhcnRTdHlsZT1oLnN0eWxlLnZhbHVlKCksdGhpcy5fcHJpY2VBeGlzVmlldz1uZXcgRi5TZXJpZXNQcmljZUF4aXNWaWV3KHRoaXMsZSx7YWx3YXlzU2hvd0dsb2JhbExhc3Q6IWx0LHNob3dDb3VudGRvd246dS5jb3VudGRvd25FbmFibGVkfSk7bGV0IGY9bnVsbDtydHx8bHR8fChmPW5ldyBGLlNlcmllc1ByaWNlQXhpc1ZpZXcodGhpcyxlLHt2aXNpYmxlT25IaXN0b3J5T25seTohMCxzaG93U3ltYm9sTGFiZWw6ITEsc2hvd0NvdW50ZG93bjohMSxhbHdheXNTaG93R2xvYmFsTGFzdDohMSx1c2VTb2xpZEJvZHlDb2xvcjohMX0pKSx0aGlzLl9wcmljZUxpbmVQcmljZUF4aXNWaWV3PW5ldyBuZS5TZXJpZXNQcmljZUxpbmVBeGlzVmlldyh0aGlzKSx0aGlzLl9wcmljZUxpbmVBeGlzVmlld3M9W3RoaXMuX3ByaWNlTGluZVByaWNlQXhpc1ZpZXddLHRoaXMuX3Byb2plY3Rpb25QcmljZUF4aXNWaWV3PW5ldyByZS5Qcm9qZWN0aW9uU2VyaWVzUHJpY2VBeGlzVmlldyh0aGlzLGUse3Nob3dDb3VudGRvd246dS5jb3VudGRvd25FbmFibGVkfSksdGhpcy5fcHJpY2VBeGlzVmlld3M9W3RoaXMuX3ByaWNlQXhpc1ZpZXcsdGhpcy5fcHJvamVjdGlvblByaWNlQXhpc1ZpZXddLG51bGwhPT1mJiZ0aGlzLl9wcmljZUF4aXNWaWV3cy5wdXNoKGYpLHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXc9bmV3IHRlLlByZXZDbG9zZVNlcmllc1ByaWNlQXhpc1ZpZXcodGhpcyxlKSx0aGlzLl9wcmljZUF4aXNWaWV3cy51bnNoaWZ0KHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXcpLHRoaXMuX3ByZXZDbG9zZVByaWNlTGluZVZpZXc9bmV3IHNlLlNlcmllc1ByZXZDbG9zZVByaWNlTGluZVBhbmVWaWV3KHRoaXMpLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3PW5ldyBvZS5QYW5lUHJpY2VBeGlzVmlldyh0aGlzLl9wcmljZUF4aXNWaWV3LHRoaXMsZSksdGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXc9bnVsbCE9PWY/bmV3IG9lLlBhbmVQcmljZUF4aXNWaWV3KGYsdGhpcyxlKTpudWxsLHRoaXMuX3Byb2plY3Rpb25QYW5lUHJpY2VBeGlzVmlldz1uZXcgb2UuUGFuZVByaWNlQXhpc1ZpZXcodGhpcy5fcHJvamVjdGlvblByaWNlQXhpc1ZpZXcsdGhpcyxlKSx0aGlzLl9sYWJlbFBhbmVWaWV3cz1bdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXcsdGhpcy5fcHJvamVjdGlvblBhbmVQcmljZUF4aXNWaWV3XSxudWxsIT09dGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXcmJnRoaXMuX2xhYmVsUGFuZVZpZXdzLnB1c2godGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXcpLHRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3M9W10sdGhpcy5fYXZlcmFnZVBhbmVWaWV3cz1bXSx0aGlzLl9jcmVhdGVIaWdoTG93QXZnVmlld3MoKSx0aGlzLl9zdWJzY3JpYmVSZXN0YXJ0VG9TZXNzaW9uSWRDaGFuZ2UoKSxoLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKSx0aGlzLl91cGRhdGVMYXN0UHJpY2VBbmltYXRpb25BY3RpdmUoKSxoLm1pblRpY2suc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Gb3JtYXR0ZXJQcm9wc0NoYW5nZWQpLHRoaXMuX2RhdGFXaW5kb3dWaWV3PW5ldyBnZS5TZXJpZXNEYXRhV2luZG93Vmlldyh0aGlzLGUpLHRoaXMuX2xlZ2VuZFZpZXc9bmV3IE0uU2VyaWVzTGVnZW5kVmlldyh0aGlzLGUpLHRoaXMuX3N0YXR1c1ZpZXc9bmV3IEwuU2VyaWVzU3RhdHVzVmlldyh0aGlzLGguc3RhdHVzVmlld1N0eWxlKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3PW5ldyBldC5TZXJpZXNDaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoZSksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWw9bmV3IEQuTWFya2V0U3RhdHVzTW9kZWwodGhpcy5fcXVvdGVzUHJvdmlkZXIpLHRoaXMuX2RhdGFVcGRhdGVkTW9kZU1vZGVsPW90P25ldyBrLkRhdGFVcGRhdGVkTW9kZU1vZGVsKHRoaXMuX3N5bWJvbEluZm8uc3Bhd24oKS5vd25lcnNoaXAoKSx0aGlzLl9zZXJpZXNTdGF0dXMuc3Bhd24oKS5vd25lcnNoaXAoKSwoMCxYZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5fbGFzdENvbXBsZXRlRmxhZ3M/LnJ0X3VwZGF0ZV9wZXJpb2QpLF8uY29tcGxldGVkKCkpLm93bmVyc2hpcCgpKTpudWxsLHRoaXMuX2RhdGFQcm9ibGVtTW9kZWw9bmV3IFYuRGF0YVByb2JsZW1Nb2RlbCh0aGlzLl9xdW90ZXNQcm92aWRlcix0aGlzLl9zeW1ib2xJbmZvLnNwYXduKCkub3duZXJzaGlwKCkpLGguYmFja0FkanVzdG1lbnQuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5yZXN0YXJ0KCl9KSksaC5zZXR0bGVtZW50QXNDbG9zZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLmlzRFdNKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMucmVzdGFydCgpfSkpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSx0aGlzLl9pbnRlcnZhbENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSx0aGlzLl9pbnRlcnZhbENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9jaGVja0NoYXJ0U3R5bGUoKSkpLCgwLApnLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKXx8UHJvbWlzZS5hbGwoW3MuZSg3MzExKSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSgxMjA1MSkscy5lKDM4MjYyKSxzLmUoNzQyNzMpLHMuZSgzMjM4Nykscy5lKDM5NjA5KSxzLmUoOTE4MzMpXSkudGhlbihzLmJpbmQocywzMDA4MjgpKS50aGVuKChlPT57dGhpcy5fZW5kT2ZEYXRhUGFuZVZpZXc9bmV3IGUuRW5kT2ZEYXRhTG9sbGlwb3BQYW5lVmlldyh0aGlzKX0pKSx0aGlzLl9zdHVkeUJpbmRpbmdzPy5zeW5jU3R1ZHkodGhpcy5zdHlsZSgpKSx0aGlzLl9hbGlhc1N5bWJvbEluZm89KDAsTy5jcmVhdGVBbGlhc1N5bWJvbEluZm9XVikodGhpcy5fc3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCkpLHRoaXMuX2FsaWFzU3ltYm9sSW5mby5zdWJzY3JpYmUoKCgpPT50aGlzLl9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpKSksJC5hbGVydHNBdmFpbGFibGUmJnRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZUJvdW5kKSwhKDAsSi5pc0ZlYXR1cmVFbmFibGVkKSgiZGVsYXlfc3RhdHVzX29uX2xhc3RfYmFyIil8fHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fHRoaXMuX21vZGVsLmlzU25hcHNob3QoKXx8dGhpcy5fc3ltYm9sSW5mby5zdWJzY3JpYmUoKGU9PntpZigoMCxQLmdldFN5bWJvbERlbGF5U2Vjb25kcykoZSk+MCl7aWYodGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldylyZXR1cm47dGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1uZXcgWC5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDI3MjkyKSxzLmUoMTI0NDgpXSkudGhlbihzLmJpbmQocywxMDA4MjApKS50aGVuKCgoe0RlbGF5U3RhdHVzUGFuZVZpZXc6ZX0pPT5uZXcgZSh0aGlzKSkpLChlPT57ZS5kZXN0cm95KCksdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1udWxsfSkpfWVsc2UgdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz8uZGVzdHJveSgpfSkpLHRoaXMuY3JlYXRlUGFuZVZpZXcoKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZEV4Y2x1ZGVkS2V5KCJ2aXNpYmxlIiwxKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZEV4Y2x1ZGVkS2V5KCJjdXJyZW5jeUlkIiwxKSx0aGlzLl9mdXR1cmVCYXJzUGFuZVZpZXc9bnVsbCx0aGlzLl9wcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz1uZXcgR2UuU2VyaWVzSG9yaXpvbnRhbEJhc2VMaW5lUGFuZVZpZXcodGhpcyk7Zm9yKGNvbnN0WyxlXW9mIE9iamVjdC5lbnRyaWVzKEkuU1RZTEVfU0hPUlRfTkFNRVMpKXRoaXMuX3Byb3BlcnRpZXMuY2hpbGQoYCR7ZX1TdHlsZWApPy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCkpKTtjb25zdCB2PWgucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCk7di5ib3hTaXplLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLHYuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi53aWNrcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLHYuc291cmNlcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLGgucGJTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkubGIuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoNykpKTtjb25zdCBiPWgua2FnaVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtiLnJldmVyc2FsQW1vdW50LnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSksYi5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg1KSkpLGIuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSksYi5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSk7Y29uc3QgUz1oLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtTLmJveFNpemUuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoNikpKSxTLnJldmVyc2FsQW1vdW50LnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5zb3VyY2VzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg2KSkpLFMuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5vbmVTdGVwQmFja0J1aWxkaW5nLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksaC5yYW5nZVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5waGFudG9tQmFycy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcygxMSkpKSx0aGlzLl9pc0RXTVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KHRoaXMuaXNEV00oKSksCnRoaXMuX29uUmVzdGFydGVkLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faXNEV01Qcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLmlzRFdNKCkpKSksaC5kaXZpZGVuZHNBZGp1c3RtZW50Py5zdWJzY3JpYmUodGhpcywoKCk9Pntjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkoaC5kaXZpZGVuZHNBZGp1c3RtZW50KS52YWx1ZSgpOygwLG0udHJhY2tFdmVudCkoIkRpdmlkZW5kcyBhZGp1c3QiLCEwPT09ZT8iT24iOiJPZmYiKSx0aGlzLnJlc3RhcnQoKX0pKSx0aGlzLl9kYXRhUG93ZXJlZEJ5PW51bGwsaC5zaG93Q291bnRkb3duLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2hvd0NvdW50ZG93bkNoYW5nZWQpLHRoaXMuX29uU2hvd0NvdW50ZG93bkNoYW5nZWQoaC5zaG93Q291bnRkb3duKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLGgubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLmxpbmVXaXRoTWFya2Vyc1N0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguYXJlYVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguY29sdW1uU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGgudHBvU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5faXNJblJlcGxheT0oMCxvLmNvbWJpbmUpKChlPT5udWxsIT09ZSksdGhpcy5fcmVwbGF5U3Vic2NyaWJlci53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBRZS5TZXJpZXNWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5fbGVnZW5kVmFsdWVzUHJvdmlkZXI9bmV3IGxlLlNlcmllc0xlZ2VuZFZhbHVlc1Byb3ZpZGVyKHRoaXMsdGhpcy5tb2RlbCgpKSx0aGlzLl90YWJsZVZpZXdWYWx1ZXNQcm92aWRlcj1uZXcgaXQuU2VyaWVzVGFibGVWaWV3VmFsdWVzUHJvdmlkZXIodGhpcyx0aGlzLm1vZGVsKCkpLHRoaXMuX2RhdGFXaW5kb3dWYWx1ZXNQcm92aWRlcj1uZXcgUWUuU2VyaWVzVmFsdWVzUHJvdmlkZXIodGhpcyx0aGlzLm1vZGVsKCkpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBRZS5TZXJpZXNWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcj1uZXcgdWUuU2VyaWVzQ2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5faXNVbml0T3JpZ2luLnNldFZhbHVlKCEwKTtjb25zdCBUPSgpPT57Y29uc3QgdD10aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCkscz0oMCxQLnN5bWJvbFVuaXQpKHQsZS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk7bnVsbCE9PXQmJm51bGwhPT1zP3RoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZSh7dW5pdE9yaWdpbk5hbWU6dGhpcy5wcm9TeW1ib2woKSxjb252ZXJ0aWJsZUdyb3VwczooMCxudC51bml0Q29udmVydGlibGVHcm91cHMpKHQscyx0aGlzLl9hdmFpbGFibGVVbml0cy52YWx1ZSgpKSxpc0NvbnZlcnRlZFRvT3RoZXJVbml0OigwLFAuaXNDb252ZXJ0ZWRUb090aGVyVW5pdCkodCxlLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxvcmlnaW5hbFVuaXQ6KDAsUC5zeW1ib2xPcmlnaW5hbFVuaXQpKHQsZS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSksY3VycmVudFVuaXQ6c30pOnRoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZShudWxsKX07dGhpcy5fYXZhaWxhYmxlVW5pdHM9ZS5hdmFpbGFibGVVbml0cygpLnNwYXduKCksdGhpcy5fc3ltYm9sSW5mby5zdWJzY3JpYmUoKCgpPT57Y29uc3QgZT10aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCksdD0oMCxQLnN5bWJvbEN1cnJlbmN5KShlKTtudWxsIT09ZSYmbnVsbCE9PXQ/dGhpcy5fY3VycmVuY3lNZXRhRGF0YS5zZXRWYWx1ZSh7b3JpZ2luYWxDdXJyZW5jeTooMCxQLnN5bWJvbE9yaWdpbmFsQ3VycmVuY3kpKGUpLGN1cnJlbnRDdXJyZW5jeTp0LGJhc2VDdXJyZW5jeTooMCxQLnN5bWJvbEJhc2VDdXJyZW5jeSkoZSksaXNDdXJyZW5jeUNvbnZlcnRpYmxlOigwLFAuc3ltYm9sQ3VycmVuY3lDb252ZXJ0aWJsZSkoZSksaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3k6KDAsUC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSkoZSksY3VycmVuY3lPcmlnaW5OYW1lOnRoaXMucHJvU3ltYm9sKCl9KTp0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSkpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKFQpLHRoaXMuX2F2YWlsYWJsZVVuaXRzLnN1YnNjcmliZShUKX1zZXRJZChlKXtzdXBlci5zZXRJZChlKSwoMCxRLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgU2V0IHNlcmllcyBJZCB0byAke2V9YCx1LkxPR0xFVkVMLklORk8sImNoYXJ0LnNlcmllcyIpfXN1cHBvcnRzQ29uZmxhdGVkQ2h1bmtzKCl7cmV0dXJuITB9Y29uZmxhdGVkQ2h1bmtzKGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLmNvbmZsYXRlZENodW5rcyhlLHQpfXNlcmllc0Vycm9yTWVzc2FnZSgpe2NvbnN0e3Nlcmllc1N0YXR1czplLGFkZGl0aW9uYWxTdHVkeVN0YXR1czp0fT10aGlzLl9zdGF0dXMudmFsdWUoKQo7cmV0dXJuIHRoaXMuaXNGYWlsZWQoKT90aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U6SS5zZXJpZXNMb2FkaW5nU3RhdHVzZXMuaGFzKGUpP251bGw6dD8udHlwZT09PUplLlN0dWR5U3RhdHVzVHlwZS5FcnJvcj8oMCxKZS5jb252ZXJ0U3R1ZHlTdGF0dXNUb1N0cmluZykoe3R5cGU6SmUuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246dC5lcnJvckRlc2NyaXB0aW9ufSwhMCk6bnVsbH1kZXN0cm95KCl7dGhpcy5fbGFzdFNwbGl0cy5kZXN0cm95KCksdGhpcy5fc2VyaWVzU3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXNVcGRhdGUoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9xdW90ZXNQcm92aWRlci5kZXN0cm95KCksdGhpcy5jbGVhckdvdG9EYXRlUmVzdWx0KCksdGhpcy5fbGVnZW5kVmlldy5kZXN0cm95KCksdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldy5kZXN0cm95KCksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuZGVzdHJveSgpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5vbkFsaWFzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2FsaWFzU3ltYm9sSW5mbz8ucmVsZWFzZSgpLHRoaXMuX3N0dWR5QmluZGluZ3M/LmRlc3Ryb3koKSx0aGlzLl9kYXRhVXBkYXRlZE1vZGVNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2RhdGFQcm9ibGVtTW9kZWwuZGVzdHJveSgpLHRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXc/LmRlc3Ryb3koKSx0aGlzLl9wYW5lVmlldyYmdGhpcy5fcGFuZVZpZXcuZGVzdHJveSYmdGhpcy5fcGFuZVZpZXcuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1NvdXJjZS5kZXN0cm95KCksdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl91bnN1YnNjcmliZVJlc3RhcnRUb1Nlc3Npb25JZENoYW5nZSgpLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXkuZGVzdHJveSgpLHRoaXMuX29uVGltZUZyYW1lQXBwbGllZC5kZXN0cm95KCksdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQucmVzb2x2ZSgpLHRoaXMuX3Byb3BlcnRpZXMuZGVzdHJveSgpLHRoaXMuX2lzSW5SZXBsYXkuZGVzdHJveSgpLHRoaXMuX2F2YWlsYWJsZVVuaXRzLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUudW5zdWJzY3JpYmUodGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSwkLmFsZXJ0c0F2YWlsYWJsZSYmdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsZXJ0Q3JlYXRpb25BdmFpbGFibGVCb3VuZCksdGhpcy5faW50ZXJ2YWxDaGFuZ2VkLmRlc3Ryb3koKSxudWxsIT09dGhpcy5fY291bnRkb3duVXBkYXRlVGltZXImJih0aGlzLl9tb2RlbC5jbGVhckludGVydmFsKHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyKSx0aGlzLl9jb3VudGRvd25VcGRhdGVUaW1lcj1udWxsKSxzdXBlci5kZXN0cm95KCl9YmFyQ29sb3Jlcigpe2lmKHRoaXMuX2JhckNvbG9yZXJDYWNoZSlyZXR1cm4gdGhpcy5fYmFyQ29sb3JlckNhY2hlO2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lcygpO2ZvcihsZXQgcz10Lmxlbmd0aC0xO3M+PTA7cy0tKXtjb25zdCBpPXRbc10uZGF0YVNvdXJjZXMoKS5maWx0ZXIoJGUuaXNTdHVkeSkuZmlsdGVyKChlPT5lLmhhc0JhckNvbG9yZXIoKSYmIWUuaXNTb3VyY2VIaWRkZW4oKSkpLnNvcnQoKChlLHQpPT5lLnpvcmRlcigpLXQuem9yZGVyKCkpKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKGlbdF0uYmFyQ29sb3JlcigpKTtudWxsPT09ZT9lPXM6ZS5wdXNoQmFja0JhckNvbG9yZXIocyl9fXJldHVybiBudWxsPT09ZT9lPW5ldyBqZS5TZXJpZXNCYXJDb2xvcmVyKHRoaXMpOmUucHVzaEJhY2tCYXJDb2xvcmVyKG5ldyBqZS5TZXJpZXNCYXJDb2xvcmVyKHRoaXMpKSx0aGlzLl9iYXJDb2xvcmVyQ2FjaGU9ZSxlfWNyZWF0ZVBhbmVWaWV3KCl7dGhpcy5fcGFuZVZpZXc9bnVsbCx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW51bGwsdGhpcy5fd2F0ZXJsaW5lVmlldz1udWxsLHRoaXMuX3ByaWNlTGluZVZpZXc9dGhpcy5oYXNDbG9zZVByaWNlKCk/bmV3IGJlLlNlcmllc1ByaWNlTGluZVBhbmVWaWV3KHRoaXMpOm51bGw7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk7c3dpdGNoKGUpe2Nhc2UgMDp0aGlzLl9wYW5lVmlldz1uZXcgRGUuU2VyaWVzQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTc6Y2FzZSAxOTpjYXNlIDE6dGhpcy5fcGFuZVZpZXc9bmV3IHhlLlNlcmllc0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsLDE9PT1lfHwxOT09PWU/MTouMik7YnJlYWs7Y2FzZSAyOmNhc2UgMTg6Y2FzZSAxNDpjYXNlIDE1OnRoaXMuX3BhbmVWaWV3PW5ldyBSZS5TZXJpZXNMaW5lUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSAzOnRoaXMuX3BhbmVWaWV3PW5ldyBrZS5TZXJpZXNBcmVhUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSAxNjp0aGlzLl9wYW5lVmlldz1uZXcgVmUuU2VyaWVzSExDQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgODp0aGlzLl9wYW5lVmlldz1uZXcgQWUuU2VyaWVzSGVpa2VuQXNoaVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgOTp0aGlzLl9wYW5lVmlldz1uZXcgRmUuU2VyaWVzSG9sbG93Q2FuZGxlc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTM6dGhpcy5fcGFuZVZpZXc9bmV3IE1lLlNlcmllc0NvbHVtbnNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDEwOnt0aGlzLl9wYW5lVmlldz1uZXcgQmUuU2VyaWVzQmFzZWxpbmVQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKQo7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCk7dGhpcy5fd2F0ZXJsaW5lVmlldz1uZXcgU2UuU2VyaWVzV2F0ZXJsaW5lUGFuZVZpZXcoe3BhbmVIZWlnaHQ6KCk9PnRoaXMucHJpY2VTY2FsZSgpLmhlaWdodCgpLGNvbG9yOigpPT5lLmJhc2VsaW5lQ29sb3IudmFsdWUoKSxiYXNlTGV2ZWxQZXJjZW50YWdlOigpPT5lLmJhc2VMZXZlbFBlcmNlbnRhZ2UudmFsdWUoKX0pO2JyZWFrfWNhc2UgMTI6dGhpcy5fcGFuZVZpZXc9bmV3IHdlLlNlcmllc0hpTG9QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDIxOnRoaXMuX3BhbmVWaWV3PW5ldyB0dC5TZXJpZXNITENCYXJzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCl9c3dpdGNoKGUpe2Nhc2UgNDp0aGlzLl9wYW5lVmlldz1uZXcgVGUuU2VyaWVzUmVua29QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBUZS5TZXJpZXNQcm9qZWN0aW9uUmVua29QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDc6dGhpcy5fcGFuZVZpZXc9bmV3IENlLlNlcmllc1ByaWNlQnJlYWtQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBDZS5TZXJpZXNQcm9qZWN0aW9uUHJpY2VCcmVha1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgNTp0aGlzLl9wYW5lVmlldz1uZXcgRWUuU2VyaWVzS2FnaVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpLHRoaXMuX3Byb2plY3Rpb25CYXJzUGFuZVZpZXc9bmV3IEVlLlNlcmllc1Byb2plY3Rpb25LYWdpUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSA2OnRoaXMuX3BhbmVWaWV3PW5ldyBJZS5TZXJpZXNQbkZQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBJZS5TZXJpZXNQcm9qZWN0aW9uUG5GUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCl9aWYoMTE9PT1lJiYodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5yYW5nZVN0eWxlLmNoaWxkcygpLmJhclN0eWxlLnZhbHVlKCk9PT1LZS5SYW5nZUJhclN0eWxlLkJhcnM/KHRoaXMuX3BhbmVWaWV3PW5ldyBEZS5TZXJpZXNCYXJzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCksdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz1uZXcgaWUuU2VyaWVzUHJvamVjdGlvblJhbmdlQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpKToodGhpcy5fcGFuZVZpZXc9bmV3IHhlLlNlcmllc0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBpZS5TZXJpZXNQcm9qZWN0aW9uUmFuZ2VDYW5kbGVzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCkpKSwyMD09PWUmJih0aGlzLl9wYW5lVmlldz1ZLkVtcHR5UGFuZVZpZXcuaW5zdGFuY2UoKSksbnVsbD09PXRoaXMuX3BhbmVWaWV3KXRocm93IEVycm9yKCJVbmtub3duIGNoYXJ0IHN0eWxlIGFzc2lnbmVkOiAiK2UpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc316b3JkZXIoKXtyZXR1cm4gMH1xdW90ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9xdW90ZXNQcm92aWRlcn1jdXJyZW50U2Vzc2lvbigpe3JldHVybiB0aGlzLl9jdXJyZW50U2Vzc2lvbn1zeW5jTW9kZWwoKXtpZighdGhpcy5fc3luY01vZGVsKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpLHQ9dGhpcy5pbnRlcnZhbCgpO2lmKCFlfHwhdClyZXR1cm4gbnVsbDt0aGlzLl9zeW5jTW9kZWw9bmV3IFIuU3luY01vZGVsKGUsdCl9cmV0dXJuIHRoaXMuX3N5bmNNb2RlbH1sYWJlbFBhbmVWaWV3cygpe3JldHVybiB0aGlzLl9sYWJlbFBhbmVWaWV3c310b3BQYW5lVmlld3MoKXtjb25zdCBlPVtdO2lmKG51bGwhPT10aGlzLl9nb3RvRGF0ZVZpZXcmJmUucHVzaCh0aGlzLl9nb3RvRGF0ZVZpZXcpLHRoaXMuX2xhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSl7Y29uc3QgdD10aGlzLl9saW5lU3R5bGVMYXN0UHJpY2VDaXJjbGVQYW5lVmlldzt0LmFuaW1hdGlvbkFjdGl2ZSgpJiZzZXRUaW1lb3V0KCgoKT0+dGhpcy5fbW9kZWwuaW52YWxpZGF0ZShfZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKSksMCksdC5pbnZhbGlkYXRlU3RhZ2UoKSxlLnB1c2godCl9cmV0dXJuIDAhPT1lLmxlbmd0aD9lOm51bGx9cGFuZVZpZXdzKGUpe2lmKCF0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJiF0aGlzLl93YXNDb21wbGV0ZWRCZWZvcmUoKSlyZXR1cm4gbnVsbDtjb25zdCB0PWU9PT10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpLHM9dD9bKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9iYXNlSG9yaXpvbnRhbExpbmVWaWV3KSwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3BhbmVWaWV3KV06W107aWYocy5wdXNoKC4uLnRoaXMuX3N0dWR5QmluZGluZ3M/LnBhbmVWaWV3cyhlKT8/W10pLHQpe2lmKDE3IT09dGhpcy5zdHlsZSgpJiZ0aGlzLl9kZWxheVN0YXR1c1BhbmVWaWV3KXtjb25zdCBlPXRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXcuZ2V0KCk7ZSYmKGUuc2V0QmFyc1Byb3ZpZGVyKHRoaXMuX3Byb2plY3Rpb25CYXJzUGFuZVZpZXcpLHMucHVzaChlKSl9dGhpcy5fZW5kT2ZEYXRhUGFuZVZpZXcmJnMucHVzaCh0aGlzLl9lbmRPZkRhdGFQYW5lVmlldyksdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3JiZzLnB1c2godGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3KSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3JiZzLnB1c2godGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldyksbnVsbCE9PXRoaXMuX3dhdGVybGluZVZpZXcmJnMucHVzaCh0aGlzLl93YXRlcmxpbmVWaWV3KSxzLnB1c2goKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3KSksbnVsbCE9PXRoaXMuX3ByaWNlTGluZVZpZXcmJnMucHVzaCh0aGlzLl9wcmljZUxpbmVWaWV3KSwKd2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nJiZ0aGlzLl9sYXN0UHJpY2VBbmltYXRpb25BY3RpdmUmJih0aGlzLl9saW5lU3R5bGVMYXN0UHJpY2VDaXJjbGVQYW5lVmlldy5zdG9wQW5pbWF0aW9uKCkscy5wdXNoKHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3KSkscy5wdXNoKC4uLnRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3MpLHMucHVzaCguLi50aGlzLl9hdmVyYWdlUGFuZVZpZXdzKX1yZXR1cm4gc313aWRnZXRTaWRlQXJlYVZpZXdzKGUpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy53aWRnZXRTaWRlQXJlYVZpZXdzKGUpPz9udWxsfXByaWNlQXhpc1ZpZXdzKGUsdCl7cmV0dXJuIGUuZmluZFRhcmdldFByaWNlQXhpc1ZpZXdzKHRoaXMsdCx0aGlzLl9wcmljZUF4aXNWaWV3cyx0aGlzLl9wcmljZUxpbmVBeGlzVmlld3MpfWNsZWFySGlnaExvd1ByaWNlQ2FjaGUoKXt0aGlzLl9oaWdoTG93UHJpY2VDYWNoZS5jbGVhcigpfWNsZWFyQXZlcmFnZVByaWNlQ2FjaGUoKXt0aGlzLl9hdmVyYWdlUHJpY2VDYWNoZS5jbGVhcigpfXByaWNlU2NhbGUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ByaWNlU2NhbGUpfXNldFByaWNlU2NhbGUoZSl7dGhpcy5fcHJpY2VTY2FsZSE9PWUmJih0aGlzLl9wcmljZVNjYWxlQWJvdXRUb0JlQ2hhbmdlZC5maXJlKCksdGhpcy5fcHJpY2VTY2FsZT1lLHRoaXMuX3Byb3BlcnRpZXMucmVtb3ZlUHJvcGVydHkoInByaWNlQXhpc1Byb3BlcnRpZXMiKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZENoaWxkKCJwcmljZUF4aXNQcm9wZXJ0aWVzIixlLnByb3BlcnRpZXMoKSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wcmljZUF4aXNQcm9wZXJ0aWVzLmZpcmVDaGFuZ2VkKCksKDAsXy5lbWl0KSgic2VyaWVzX2V2ZW50IiwicHJpY2Vfc2NhbGVfY2hhbmdlZCIpLHRoaXMuX3ByaWNlU2NhbGVDaGFuZ2VkLmZpcmUoZSkpfXByaWNlU2NhbGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVDaGFuZ2VkfXByaWNlU2NhbGVBYm91dFRvQmVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVBYm91dFRvQmVDaGFuZ2VkfWFwcGx5UHJlZmVyZW5jZXMoZSl7Y29uc3QgdD0oMCxhLmNsb25lKShlKTt0aGlzLnByaWNlU2NhbGUoKS5zZXRNb2RlKHthdXRvU2NhbGU6dC5wcmljZUF4aXNQcm9wZXJ0aWVzLmF1dG9TY2FsZSxwZXJjZW50YWdlOnQucHJpY2VBeGlzUHJvcGVydGllcy5wZXJjZW50YWdlLGxvZzp0LnByaWNlQXhpc1Byb3BlcnRpZXMubG9nLGxvY2tTY2FsZTp0LnByaWNlQXhpc1Byb3BlcnRpZXMubG9ja1NjYWxlfSksdGhpcy5zZXRDaGFydFN0eWxlV2l0aEludGVydmFsSWZOZWVkZWQodC5zdHlsZSk7Y29uc3R7c3R5bGU6cyxpbnRlcnZhbDppLC4uLm59PXQ7dGhpcy5fcHJvcGVydGllcy5tZXJnZVByZWZlcmVuY2VzKG4pLHRoaXMuX3Byb3BlcnRpZXMuc2F2ZURlZmF1bHRzKCksdGhpcy5jcmVhdGVQYW5lVmlldygpLHRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCl9ZGlzY29ubmVjdCgpe3RoaXMuX3N0dWR5QmluZGluZ3M/LnN0b3AoKSx0aGlzLl9zZXJpZXNTb3VyY2Uuc3RvcCgpLHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fdXBkYXRlU3RhdHVzKHsuLi50aGlzLl9zdGF0dXMudmFsdWUoKSxzZXJpZXNTdGF0dXM6MH0pfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl9aXNDb21wbGV0ZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzQ29tcGxldGVkfXJlc3RhcnQoZSl7aWYoNT09PXRoaXMuX3N0YXR1cy52YWx1ZSgpLnNlcmllc1N0YXR1cylyZXR1cm47bGV0IHQ9bnVsbDt0aGlzLl9wZW5kaW5nVGltZVJhbmdlJiYodD10aGlzLl9wZW5kaW5nVGltZVJhbmdlLHRoaXMuX3Nlcmllc1NvdXJjZS5pc1N0YXJ0ZWQoKXx8KHRoaXMuX3Nlcmllc1NvdXJjZS5zZXRUaW1lZnJhbWUodCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1udWxsKSk7Y29uc3Qgcz10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCksaT0oMCxwLmdldFNlcnZlckludGVydmFsKShzKSxuPXRoaXMuX2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpO3RoaXMuX3Nlcmllc1NvdXJjZS5jYW5Nb2RpZnlTZXJpZXMobixpKT8odGhpcy5fc2VyaWVzTG9hZGVkPSExLHRoaXMuX3Nlcmllc0NvbXBsZXRlZD0hMSx0aGlzLl9sYXN0Q29tcGxldGVGbGFncz1udWxsLHRoaXMuX29uUmVzdGFydGVkLmZpcmUoKSx0aGlzLl9zZXRTdGF0dXMoMSksdGhpcy5fdXBkYXRlU3ltYm9sSW5mbyhudWxsKSxjLkludGVydmFsLmlzRXF1YWwocyx0aGlzLl9wcmV2UmVxdWVzdGVkSW50ZXJ2YWwpfHx0aGlzLl9ub3RpZnlJbnRlcnZhbENoYW5nZWQocyksZXx8dGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpLHRoaXMuX29uQmVmb3JlTW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCkscyksdGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkLmZpcmUodCksdGhpcy5fZGF0YT1udWxsLHRoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0KSx0aGlzLl9zZXJpZXNTb3VyY2UubW9kaWZ5U2VyaWVzKG4saSx0KSx0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl8fHRoaXMuX3Nlcmllc1NvdXJjZS5zdGFydCgpLHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbD10aGlzLmludGVydmFsKCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1udWxsLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RhcnQoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpKTp0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl8fCh0aGlzLl91cGRhdGVTeW1ib2xJbmZvKG51bGwpLHRoaXMuX3Nlcmllc1NvdXJjZS5zdGFydCgpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RhcnQoKSl9aXNTeW1ib2xJbnZhbGlkKCl7cmV0dXJuIDQ9PT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXN9CmdldFN5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCgpKX1nZXRBbGVydFN5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLmFjdHVhbFN5bWJvbCgpLCEwLCEwKSl9Z2V0QWxlcnRQcm9TeW1ib2xTdHJpbmcoKXtyZXR1cm4oMCxoZS5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QodGhpcy5wcm9TeW1ib2woKSwhMCwhMCkpfWdldFF1b3Rlc1N5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldEV4dGVuZGVkU3ltYm9sT2JqZWN0KHtza2lwTWV0cmljOiEwfSkpfWludmFsaWRhdGVCYXJTdHlsZXNDYWNoZShlKXtodC5sb2dEZWJ1ZygiSW52YWxpZGF0ZSBzdHlsZSBjYWNoZSBzdGFydGluZyBmcm9tICIrZSksdGhpcy5fY2xlYXJTdHlsZVBsb3QodGhpcy5iYXJzKCksZSksdGhpcy5fY2xlYXJTdHlsZVBsb3QodGhpcy5uc0JhcnMoKSl9aXNMb2FkaW5nKCl7cmV0dXJuIEkuc2VyaWVzTG9hZGluZ1N0YXR1c2VzLmhhcyh0aGlzLnN0YXR1c1dWKCkudmFsdWUoKSl9aXNGYWlsZWQoKXtjb25zdCBlPXRoaXMuc3RhdHVzKCk7cmV0dXJuIDEyPT09ZXx8ND09PWV8fDEwPT09ZXx8MTQ9PT1lfHwxMz09PWV9aXNTdGF0dXNFcnJvcigpe3JldHVybiAxMj09PXRoaXMuc3RhdHVzKCl9dW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUucmVhZG9ubHkoKX1hY3R1YWxTeW1ib2woKXtyZXR1cm4oMCxQLmFjdHVhbFN5bWJvbCkodGhpcy5zeW1ib2xJbmZvKCksdGhpcy5zeW1ib2woKSl9cHJvU3ltYm9sKCl7cmV0dXJuKDAsUC5wcm9TeW1ib2wpKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMuc3ltYm9sKCkpfW9uU3R5bGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uU3R5bGVDaGFuZ2VkfXN0eWxlKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCl9c2V0U3R5bGUoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3N0eWxlOmV9KX1pc1JhbmdlQmFzZWRTdHlsZSgpe3JldHVybigwLFAuaXNSYW5nZUJhc2VkU3R5bGUpKHRoaXMuc3R5bGUoKSl9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4gdGhpcy5zeW1ib2woKT09PWV8fCgwLGRlLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiB0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/dGhpcy5zeW1ib2xTYW1lQXNDdXJyZW50KGUpOnRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKX1zdGF0dXMoKXtyZXR1cm4gdGhpcy5fc2VyaWVzU3RhdHVzLnZhbHVlKCl9c3RhdHVzV1YoKXtyZXR1cm4gdGhpcy5fc2VyaWVzU3RhdHVzfWNvbXBvc2l0ZVN0YXR1c1ZXKCl7cmV0dXJuIHRoaXMuX3N0YXR1c31zeW1ib2woKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCl9c3ltYm9sT3JBbGlhcygpe2NvbnN0IGU9dGhpcy5zeW1ib2woKSx0PXRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5nZXRBbGlhc0J5UHJvTmFtZShlKTtyZXR1cm4gdD8uYWxpYXNOYW1lPz9lfXN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sfXNlcmllc1NvdXJjZSgpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2V9c3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCl9YWxpYXNTeW1ib2xJbmZvKCl7cmV0dXJuKHRoaXMuX2FsaWFzU3ltYm9sSW5mbz8/dGhpcy5fc3ltYm9sSW5mbykudmFsdWUoKX1zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mby5yZWFkb25seSgpfWxhc3RTcGxpdHMoKXtyZXR1cm4gdGhpcy5fbGFzdFNwbGl0c31vdmVycmlkZUxhc3RTcGxpdHMoZSl7dGhpcy5fb3ZlcnJpZGRlbkxhc3RTcGxpdHMuc2V0VmFsdWUoZSl9c3ltYm9sUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKX1zeW1ib2xSZXNvbHZpbmdBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlfXN5bWJvbEhpYmVybmF0ZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzQWx3YXlzRmFsc2VIaWJlcm5hdGVkVld9Z2V0U3ltYm9sTmFtZSgpe3JldHVybiB0aGlzLnN5bWJvbEluZm8oKT8ubmFtZT8/IiJ9Zmlyc3RWYWx1ZSgpe2NvbnN0IGU9dGhpcy5maXJzdEJhcigpO3JldHVybiBudWxsPT09ZT9udWxsOnRoaXMuX2JhckZ1bmN0aW9uKGUsMCl9Zmlyc3RCYXIoKXtjb25zdCBlPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmZpcnN0QmFyKCkscz10aGlzLmRhdGEoKS5zZWFyY2godCxoLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCk7cmV0dXJuIG51bGwhPT1zP3MudmFsdWU6bnVsbH1mb3JtYXR0ZXIoZT0hMCl7cmV0dXJuIGU/dGhpcy5fZm9ybWF0dGVyOnRoaXMuX2lnbm9yZU1pbk1vdmVGb3JtYXR0ZXJ9ZGVmYXVsdEZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyfXByaWNlU3RlcChlPSEwKXtyZXR1cm4gZT90aGlzLl9wcmljZVN0ZXA6dGhpcy5faWdub3JlTWluTW92ZVByaWNlU3RlcH1iYXJzKCl7cmV0dXJuIHRoaXMuZGF0YSgpLmJhcnMoKX1uc0JhcnMoKXtyZXR1cm4gdGhpcy5kYXRhKCkubnNCYXJzKCl9aW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudmFsdWUoKX1zZXRJbnRlcnZhbChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6ZX0pfWludGVydmFsT2JqKCl7CnJldHVybiB0aGlzLl9pbnRlcnZhbE9iai5yZWFkb25seSgpfXByZXZDbG9zZSgpe2NvbnN0IGU9dGhpcy5wcmljZVNjYWxlKCk7aWYoZS5pc0VtcHR5KCl8fHRoaXMuZGF0YSgpLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMucXVvdGVzKCkscz10aGlzLmZpcnN0VmFsdWUoKTtpZihudWxsPT09dHx8bnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3QgaT10LnByZXZfY2xvc2VfcHJpY2U7cmV0dXJuIHZvaWQgMD09PWk/bnVsbDp7Y29vcmRpbmF0ZTplLnByaWNlVG9Db29yZGluYXRlKGkscyksZm9ybWF0dGVkUHJpY2VQZXJjZW50YWdlOmUuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGkscyx7c2lnblBvc2l0aXZlOiEwfSksZm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTplLmZvcm1hdFByaWNlQWJzb2x1dGUoaSksZm9ybWF0dGVkUHJpY2VJbmRleGVkVG8xMDA6ZS5mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChpLHMpfX1wcmljZUxpbmVDb2xvcihlKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VMaW5lQ29sb3IudmFsdWUoKXx8ZX1oYXNDbG9zZVByaWNlKCl7cmV0dXJuIGR0fHwxMiE9PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCl9bGFzdFZhbHVlRGF0YShlLHQscyl7Y29uc3QgaT17bm9EYXRhOiEwfSxuPXRoaXMucHJpY2VTY2FsZSgpO2lmKHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fG4uaXNFbXB0eSgpfHx0aGlzLmRhdGEoKS5pc0VtcHR5KCkpcmV0dXJuIGk7Y29uc3Qgcj10aGlzLm1vZGVsKCkudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG89dGhpcy5maXJzdFZhbHVlKCk7aWYobnVsbD09PXJ8fG51bGw9PT1vKXJldHVybiBpO2xldCBhLGw7aWYodCl7Y29uc3QgZT10aGlzLmRhdGEoKS5iYXJzKCkubGFzdCgpO2lmKG51bGw9PT1lKXJldHVybiBpO2E9ZS52YWx1ZSxsPWUuaW5kZXh9ZWxzZXtjb25zdCBlPXRoaXMuZGF0YSgpLmJhcnMoKS5zZWFyY2goci5sYXN0QmFyKCksaC5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYobnVsbD09PWUpcmV0dXJuIGk7YT1lLnZhbHVlLGw9ZS5pbmRleH1jb25zdCB1PSh2b2lkIDAhPT1lP2FbZV06dGhpcy5fYmFyRnVuY3Rpb24oYSwyKSk/P05hTixjPXRoaXMuYmFyQ29sb3JlcigpLmJhclN0eWxlKGwsITEpLGQ9bi5wcmljZVRvQ29vcmRpbmF0ZSh1LG8pLHA9ey4uLm4uZ2V0Rm9ybWF0dGVkVmFsdWVzKHUsbywhMCksbm9EYXRhOiExLGNvbG9yOmMuYmFyQ29sb3IsY29vcmRpbmF0ZTpkLGluZGV4Omx9O3JldHVybiBzJiYocC5wcmljZT11KSxwfWlzRFdNKCl7cmV0dXJuIHRoaXMuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzRFdNKCl9aXNQdWxzZSgpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7cmV0dXJuIG51bGwhPT1lJiYoZS5yZXNvbHV0aW9ucz8/W10pLmxlbmd0aD4wfWRhdGEoKXtyZXR1cm4gdGhpcy5fZGF0YT8/dGhpcy5fc2VyaWVzU291cmNlLmRhdGEoKX1jbGVhckRhdGEoKXsoMCxuLmFzc2VydCkobnVsbD09PXRoaXMuX2RhdGEsIkNhbm5vdCBjbGVhciBsb2FkZWQgZGF0YSIpLHRoaXMuX3N0dWR5QmluZGluZ3M/LmNsZWFyRGF0YSgpLHRoaXMuX3Nlcmllc1NvdXJjZS5jbGVhckRhdGEoKX1uZWFyZXN0RGF0YShlLHQpe3JldHVybiB0aGlzLmRhdGEoKS5zZWFyY2goZSx0KT8/dm9pZCAwfW5lYXJlc3RJbmRleChlLHQpe3JldHVybiB0aGlzLm5lYXJlc3REYXRhKGUsdCk/LmluZGV4fW5lYXJlc3RWYWx1ZShlLHQscyl7Y29uc3QgaT10aGlzLm5lYXJlc3REYXRhKGUscyk7cmV0dXJuIGk/LnZhbHVlW3RdPz92b2lkIDB9b25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkfW9uSW50ZXJ2YWxDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2ludGVydmFsQ2hhbmdlZH1vblN0YXR1c0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25TdGF0dXNDaGFuZ2VkfW9uUmVzdGFydGVkKCl7cmV0dXJuIHRoaXMuX29uUmVzdGFydGVkfWZpeExhc3RCYXIoZSl7aWYoIXRoaXMuX2Z1dHVyZUJhcnNQYW5lVmlldyl7Y29uc3QgdD10aGlzLmJhcnMoKS5sYXN0SW5kZXgoKTt0JiYodGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3PW5ldyBqLkZ1dHVyZUJhcnNQYW5lVmlldyh0aGlzLm1vZGVsKCkudGltZVNjYWxlKCksdGhpcyx0LGUpKX19cmVxdWVzdE1vcmVEYXRhKGUpe2lmKCFJLnNlcmllc1JlYWR5U3RhdHVzZXMuaGFzKHRoaXMuX3N0YXR1cy52YWx1ZSgpLnNlcmllc1N0YXR1cykpcmV0dXJuO2lmKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuO2lmKDA9PT10aGlzLmJhcnMoKS5zaXplKCkpcmV0dXJuO2NvbnN0IHM9dC5sYXN0QmFyKCktKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLmRhdGEoKS5sYXN0KCkpLmluZGV4O2lmKHRoaXMuX3ByZWRpY3RCYXJzPHMmJih0aGlzLl9wcmVkaWN0QmFycz1zLHRoaXMuX3Nlcmllc1NvdXJjZS5yZXF1ZXN0TW9yZVRpY2ttYXJrcyhzKSksIXRoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSlyZXR1cm47Y29uc3QgaT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSkscj1lfHxNYXRoLm1heChpLXQuZmlyc3RCYXIoKSxpLSh0aGlzLl9zdHVkeUJpbmRpbmdzPy5yZXF1ZXN0TW9yZURhdGFJbmRleCgpPz9pKSk7aWYocjw9MClyZXR1cm47aWYoIU51bWJlci5pc0Zpbml0ZShyKSlyZXR1cm4gdm9pZCBodC5sb2dXYXJuKCJyZXF1ZXN0TW9yZURhdGE6IGludmFsaWQgYmFyIGNvdW50OiAiK3IrIiwgdmlzaWJsZSBiYXJzOiBbIit0LmZpcnN0QmFyKCkrIiwgIit0Lmxhc3RCYXIoKSsiXSwgbGFzdCBpbmRleDogIisoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZGF0YSgpLmxhc3QoKSkuaW5kZXgrIiwgcHJlZGljdGVkIGJhcnM6ICIrdGhpcy5fcHJlZGljdEJhcnMrIiwgcmVxdWlyZWQgYmFyczoiK2UpO3RoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZT0hMQo7Y29uc3Qgbz10aGlzLl9jb2xvck9uUHJldkJhcigpPzI6MDt0aGlzLl9zZXJpZXNTb3VyY2UucmVxdWVzdE1vcmVEYXRhKHIrbyksdGhpcy5fc2V0U3RhdHVzKDIpfWlzTmVlZFJlc3RhcnQoZSl7cmV0dXJuIDUhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMmJih2b2lkIDA9PT1lJiYoZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpKSwoMCxQLnN0eWxlQ2hhbmdlUmVxdWlyZXNSZXN0YXJ0KSh0aGlzLl9wcmV2Q2hhcnRTdHlsZSxlKSl9aXNTdHlsZVN1cHBvcnRlZChlKXtyZXR1cm4hdGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKXx8KDAsUC5pc1N0eWxlU3VwcG9ydGVkRm9yUmVwbGF5KShlKX1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2Vzc2lvbklkLnZhbHVlKCl9c2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfXByaWNlUmFuZ2UoZSl7Y29uc3QgdD10aGlzLl9wcmljZVNjYWxlO2lmKHRoaXMuZGF0YSgpLmlzRW1wdHkoKXx8IXQpcmV0dXJuIG51bGw7Y29uc3R7c3RhcnRUaW1lUG9pbnQ6cyxlbmRUaW1lUG9pbnQ6aX09ZTtpZih0LmlzTG9ja1NjYWxlKCkpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllc1NjYWxlUmF0aW8oKTtpZihudWxsIT09ZSl7Y29uc3Qgcz10LmludGVybmFsSGVpZ2h0KCkvKHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCkvZSkscj0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZGF0YSgpLnNlYXJjaChpLGguUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpKS52YWx1ZSxvPSgoMCxuLmVuc3VyZSkoclsyXSkrKDAsbi5lbnN1cmUpKHJbM10pKS8yO3JldHVybiBuZXcgUy5QcmljZVJhbmdlKG8tLjUqcyxvKy41KnMpfX1jb25zdCByPXRoaXMucHJpY2VTb3VyY2UoKTtsZXQgbyxhLGw7aWYobnVsbCE9PXI/KG89dGhpcy5kYXRhKCkuYmFycygpLm1pbk1heE9uUmFuZ2VDYWNoZWQocyxpLFt7bmFtZTpyLG9mZnNldDowfV0pLGE9dGhpcy5kYXRhKCkubnNCYXJzKCkubWluTWF4T25SYW5nZUNhY2hlZChzLGksW3tuYW1lOnIsb2Zmc2V0OjB9XSkpOihvPXRoaXMuZGF0YSgpLmJhcnMoKS5taW5NYXhPblJhbmdlQ2FjaGVkKHMsaSxbe25hbWU6ImxvdyIsb2Zmc2V0OjB9LHtuYW1lOiJoaWdoIixvZmZzZXQ6MH1dKSxhPXRoaXMuZGF0YSgpLm5zQmFycygpLm1pbk1heE9uUmFuZ2UocyxpLFt7bmFtZToibG93IixvZmZzZXQ6MH0se25hbWU6ImhpZ2giLG9mZnNldDowfV0pKSxvPSgwLGQubWVyZ2VNaW5NYXgpKG8sYSksbnVsbD09PW8pbD1uZXcgUy5QcmljZVJhbmdlKC0uNSwuNSk7ZWxzZSBpZihvLm1pbj09PW8ubWF4KXtjb25zdCBlPTUvKHRoaXMuc3ltYm9sSW5mbygpPy5wcmljZXNjYWxlPz8xMDApO2w9bmV3IFMuUHJpY2VSYW5nZShvLm1pbi1lLG8ubWF4K2UpfWVsc2UgbD1uZXcgUy5QcmljZVJhbmdlKG8ubWluLG8ubWF4KTtyZXR1cm4gdC5pc0xvZygpP25ldyBTLlByaWNlUmFuZ2UodC5wcmljZVRvTG9naWNhbChsLm1pblZhbHVlKCkpLHQucHJpY2VUb0xvZ2ljYWwobC5tYXhWYWx1ZSgpKSk6bH1hdXRvU2NhbGVJbmZvKGUpe2xldCB0PXtyYW5nZTp0aGlzLnByaWNlUmFuZ2Uoey4uLmUsc2NhbGVTZXJpZXNPbmx5OiEwfSksdG9wUGl4ZWxNYXJnaW46dGhpcy5fcGFuZVZpZXc/LnRvcFBpeGVsTWFyZ2luPy4oKSxib3R0b21QaXhlbE1hcmdpbjp0aGlzLl9wYW5lVmlldz8uYm90dG9tUGl4ZWxNYXJnaW4/LigpfTtpZighZS5zY2FsZVNlcmllc09ubHkpe2NvbnN0IHM9dGhpcy5fbW9kZWwuYWxsU3R1ZGllcygpLmZpbHRlcigoZT0+ZS5pc1Zpc2libGUoKSkpLGk9KGUsdCk9PnZvaWQgMD09PWU/dDp2b2lkIDA9PT10P2U6TWF0aC5tYXgoZSx0KSxuPXMubWFwKCh0PT50LmF1dG9TY2FsZUluZm8oey4uLmUsZm9yY2VPdmVybGF5T25seTohMH0pKSk7dGhpcy5fc3R1ZHlCaW5kaW5ncyYmbi5wdXNoKC4uLnRoaXMuX3N0dWR5QmluZGluZ3MuYXV0b1NjYWxlSW5mb3MoZSkpO2NvbnN0IHI9KGUsdCk9Pih7cmFuZ2U6ZS5yYW5nZT90LnJhbmdlP2UucmFuZ2UubWVyZ2UodC5yYW5nZSk6ZS5yYW5nZTp0LnJhbmdlLHRvcFBpeGVsTWFyZ2luOmkoZS50b3BQaXhlbE1hcmdpbix0LnRvcFBpeGVsTWFyZ2luKSxib3R0b21QaXhlbE1hcmdpbjppKGUuYm90dG9tUGl4ZWxNYXJnaW4sdC5ib3R0b21QaXhlbE1hcmdpbil9KTt0PW4ucmVkdWNlKHIsdCl9cmV0dXJuIHR9b25DaGFydFN0eWxlQ2hhbmdlZCgpe2lmKHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5pc05lZWRSZXN0YXJ0KCkpe3RoaXMuZGF0YSgpLmNsZWFyKCk7Y29uc3QgZT0oMCxQLmlzU3R5bGVTdXBwb3J0ZWRGb3JSZXBsYXkpKHRoaXMuc3R5bGUoKSk7dGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKSYmIWUmJnRoaXMuX3JlbW92ZVJlcGxheVN1YnNjcmliZXIoKSx0aGlzLl9zYXZlTGVmdEVkZ2VJZlJlcXVpcmVkKCExKXx8dGhpcy5tb2RlbCgpLnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoITEpLHRoaXMucmVzdGFydChlKX1jb25zdCBlPXRoaXMucHJvcGVydGllcygpO3RoaXMuX3ByZXZDaGFydFN0eWxlIT09ZS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpJiZ0aGlzLl9zdHVkeUJpbmRpbmdzPy5zeW5jU3R1ZHkodGhpcy5zdHlsZSgpKSx0aGlzLl9wcmV2Q2hhcnRTdHlsZT1lLmNoaWxkcygpLnN0eWxlLnZhbHVlKCksdGhpcy5fb25TdHlsZUNoYW5nZWQuZmlyZShlLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkpLHRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCksdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI/Lm9yaWdpbmFsU3R5bGUhPT10aGlzLnN0eWxlKCkmJih0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKSx0aGlzLl91cGRhdGVUaW1lU2NhbGVUaW1lUG9pbnRXZWlnaHRzKCl9c2V0Q2hhcnRTdHlsZVdpdGhJbnRlcnZhbElmTmVlZGVkKGUsdCl7Y29uc3Qgcz10aGlzLmludGVydmFsKCksaT10Pz8oMCwKdmUuZ2V0UmVzb2x1dGlvbkJ5Q2hhcnRTdHlsZSkoZSxzLHRoaXMuX21vZGVsLmRlZmF1bHRSZXNvbHV0aW9ucygpKSxuPWMuSW50ZXJ2YWwuaXNFcXVhbChpLHMpO3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDpuP3ZvaWQgMDppLHN0eWxlOmV9KX1nZXRJbnB1dHNQcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkKGAke3RoaXMuZ2V0U3R5bGVTaG9ydE5hbWUoKX1TdHlsZWApO3JldHVybiBlPy5jaGlsZHMoKS5pbnB1dHM/P25ldyB3LlByb3BlcnR5fWdldElucHV0c0luZm9Qcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9zdHVkeUJpbmRpbmdzPy5nZXRJbnB1dHNJbmZvUHJvcGVydGllcygpO2lmKGUpcmV0dXJuIGU7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkKGAke3RoaXMuZ2V0U3R5bGVTaG9ydE5hbWUoKX1TdHlsZWApO3JldHVybiB0Py5jaGlsZHMoKS5pbnB1dEluZm8/P25ldyB3LlByb3BlcnR5fWdldFNvdXJjZUljb24oKXtyZXR1cm57dHlwZToibG9hZFN2ZyIsc3ZnSWQ6YHNlcmllcy4ke3RoaXMuc3R5bGUoKX1gfX1vblNvdXJjZUljb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uU3R5bGVDaGFuZ2VkfXB1cmdlU3ltYm9sSW5mbygpe3RoaXMuX3N5bWJvbEluZm8uc2V0VmFsdWUobnVsbCksdGhpcy5fcXVvdGVzTGFzdFNwbGl0cy5zZXRWYWx1ZShudWxsKX1pZEZvckFsZXJ0KCl7cmV0dXJuKDAsVS5nZXRTZXJpZXNJZEZvckFsZXJ0KSh0aGlzLmdldEFsZXJ0U3ltYm9sU3RyaW5nKCksdGhpcy5pbnRlcnZhbCgpKX1oYXNTdGF0ZUZvckFsZXJ0KCl7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm4gc3VwZXIuaGFzU3RhdGVGb3JBbGVydCgpJiYhKDAsUC5pc0Vjb25vbWljU3ltYm9sKShlKSYmISgwLFAuaXNNZXRyaWNBY3RpdmUpKGUpfXN0YXRlRm9yQWxlcnQoKXtjb25zdCBlPXRoaXMuaWRGb3JBbGVydCgpLHQ9ei5Gb3JtYXR0ZXJzU2VyaWFsaXplci5zZXJpYWxpemUodGhpcy5fZm9ybWF0dGVyKTtsZXQgcztjb25zdCBpPXRoaXMuaXNEV00oKT9DLlN1YnNlc3Npb25JZC5SZWd1bGFyOnRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCkscj10aGlzLnN5bWJvbEluZm8oKTtpZihyJiZyLnN1YnNlc3Npb25zJiZyLnN1YnNlc3Npb25zLmxlbmd0aD4xKXtjb25zdCBlPXIuc3Vic2Vzc2lvbnM/LmZpbmQoKGU9PmUuaWQ9PT1pKSk7ZSYmKHM9KDAsSC50cmFuc2xhdGVTZXNzaW9uRXh0ZW5kZWREZXNjcmlwdGlvbikoZS5kZXNjcmlwdGlvbixyLnR5cGUpKX1jb25zdCBvPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO3JldHVybntpZDplLHR5cGU6Ik1haW5TZXJpZXMiLGFjdHVhbFN5bWJvbDp0aGlzLmFjdHVhbFN5bWJvbCgpLHN5bWJvbFN0cmluZzp0aGlzLmdldEFsZXJ0U3ltYm9sU3RyaW5nKCksaW50ZXJ2YWw6dGhpcy5pbnRlcnZhbCgpLHN0eWxlOm8uc3R5bGUudmFsdWUoKSxzdHlsZUlucHV0czp0aGlzLmdldElucHV0c1Byb3BlcnRpZXMoKS5zdGF0ZSgpLHNlc3Npb25JZDppLHNlc3Npb25EZXNjcmlwdGlvbjpzLGRpdmlkZW5kc0FkanVzdG1lbnQ6KDAsbi5lbnN1cmVEZWZpbmVkKShvLmRpdmlkZW5kc0FkanVzdG1lbnQpLnZhbHVlKCksYm94U2l6ZTp0aGlzLmRhdGEoKS5ib3hTaXplLHJldmVyc2FsQW1vdW50OnRoaXMuZGF0YSgpLnJldmVyc2FsQW1vdW50LGlzU3ByZWFkOnRoaXMuaXNTcHJlYWQoKSxmb3JtYXR0ZXI6dH19YXN5bmMgc3RhdGVGb3JBbGVydEFzeW5jKCl7cmV0dXJuIHRoaXMuc3RhdGVGb3JBbGVydCgpfXN0eWxlU3R1ZHlJbmZvcygpe2xldCBlPXtoYVN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoOCwhMCkpfSxyZW5rb1N0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNCwhMCkpfSxwYlN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNywhMCkpfSxrYWdpU3R5bGU6e3N0dWR5SWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSgoMCxQLmNoYXJ0U3R5bGVTdHVkeUlkKSg1LCEwKSl9LHBuZlN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNiwhMCkpfSxyYW5nZVN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMTEsITApKX19O3JldHVybiBlPXsuLi5lLHZvbEZvb3RwcmludFN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMTcsITApKX0sdHBvU3R5bGU6e3N0dWR5SWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSgoMCxQLmNoYXJ0U3R5bGVTdHVkeUlkKSgxOCwhMCx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnRwb1N0eWxlLmNoaWxkcygpLmlucHV0cy5zdGF0ZSgpKSl9LHN2cFN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMjAsITApKX19LGV9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2UuZGF0YUV2ZW50cygpfWlzU3ByZWFkKCl7cmV0dXJuInNwcmVhZCI9PT10aGlzLnN5bWJvbEluZm8oKT8udHlwZX1pc1lpZWxkKCl7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbCE9PWUmJigwLHFlLmlzWWllbGQpKGUpfWRpdmlkZW5kc0FkanVzdG1lbnRQcm9wZXJ0eSgpe3JldHVybigwLG4uZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5kaXZpZGVuZHNBZGp1c3RtZW50KX1zZXNzaW9uSWRQcm94eVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX3Nlc3Npb25JZFByb3h5UHJvcGVydHl9c3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHl9c2V0VGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyUmVzdHJpY3Rpb25FbmFibGVkKGUpe3RoaXMuX3RleHRTb3VyY2VJc0Fsd2F5c1RpY2tlclJlc3RyaWN0aW9uRW5hYmxlZD1lLAp0aGlzLl9yZWNhbGNTeW1ib2xUZXh0U291cmNlUHJveHlQcm9wZXJ0eSgpfWlzRFdNUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5faXNEV01Qcm9wZXJ0eX1pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eX1pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX2lzT3Zlcm5pZ2h0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHl9aXNTZXR0bGVtZW50QXNDbG9zZUZvcmJpZGRlblByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eX1pc0JhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5faXNCYWNrQWRqdXN0bWVudEZvcmJpZGRlblByb3BlcnR5fWdldFN0eWxlU2hvcnROYW1lKCl7Y29uc3QgZT10aGlzLnN0eWxlKCksdD1JLlNUWUxFX1NIT1JUX05BTUVTW2VdO3JldHVybigwLG4uYXNzZXJ0KSghIXQsYE1pc3NlZCBzaG9ydCBuYW1lIGZvciBzdHlsZSAke2V9YCksdH1pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlKCl7dGhpcy5fYmFyQ29sb3JlckNhY2hlPW51bGwsdGhpcy5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUoKX1wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5KCl7cmV0dXJuIHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXl9b25UaW1lRnJhbWVBcHBsaWVkKCl7cmV0dXJuIHRoaXMuX29uVGltZUZyYW1lQXBwbGllZH1vbkluUmVwbGF5U3RhdGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uSW5SZXBsYXlTdGF0ZUNoYW5nZWR9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLl9vblJlcGxheVN1YnNjcmliZXJTZXJpZXNNb2RpZmllZH1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld31jaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYWN0aXZlU3R1ZHkoKT8uY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3Py4oKT8/dGhpcy5fZmxvYXRpbmdUb29sdGlwVmlld31zdGF0dXNWaWV3KCl7cmV0dXJuIGF0P3RoaXMuX3N0YXR1c1ZpZXc6bnVsbH1sZWdlbmRWaWV3KCl7cmV0dXJuIHRoaXMuX2xlZ2VuZFZpZXd9bWFya2V0U3RhdHVzTW9kZWwoKXtyZXR1cm4gdGhpcy5fbWFya2V0U3RhdHVzTW9kZWx9aXNNYWluU2VyaWVzKCl7cmV0dXJuITB9ZGF0YVVwZGF0ZWRNb2RlTW9kZWwoKXtyZXR1cm4gdGhpcy5fZGF0YVVwZGF0ZWRNb2RlTW9kZWx9ZGF0YVByb2JsZW1Nb2RlbCgpe3JldHVybiB0aGlzLl9kYXRhUHJvYmxlbU1vZGVsfXNldERlZmF1bHRUaW1lZnJhbWUoZSl7dGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1lfWxvYWREYXRhVG8oZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCk7dGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkLmZpcmUoZSksdGhpcy5fc2VyaWVzU291cmNlLm1vZGlmeVNlcmllcyh0aGlzLl9nZXRSZXNvbHZpbmdTeW1ib2xPYmplY3QoKSwoMCxwLmdldFNlcnZlckludGVydmFsKSh0KSxlKX1pc0luUmVwbGF5KCl7cmV0dXJuIHRoaXMuX2lzSW5SZXBsYXl9cXVvdGVzKCl7cmV0dXJuIHRoaXMuZGF0YSgpLmlzRW1wdHkoKT9udWxsOnRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3RlcygpLnZhbHVlKCl9YmFzZSgpe3JldHVybiB0aGlzLl9iYXNlfXBvaW50VmFsdWUoKXtyZXR1cm4gdGhpcy5fcG9pbnRWYWx1ZX1iYXJDbG9zZVRpbWUoKXtyZXR1cm4gdGhpcy5fbGFzdEJhckNsb3NlVGltZX1wcmljZVNvdXJjZSgpe2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3N3aXRjaCh0LnN0eWxlLnZhbHVlKCkpe2Nhc2UgMjplPXQubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCk7YnJlYWs7Y2FzZSAxODplPXQudHBvU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDE0OmU9dC5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2JyZWFrO2Nhc2UgMTU6ZT10LnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDM6ZT10LmFyZWFTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2JyZWFrO2Nhc2UgMTA6ZT10LmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDEzOmU9dC5jb2x1bW5TdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpfXJldHVybiBlfWxpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGUpe2xldCB0O3N3aXRjaCh0aGlzLnN0eWxlKCkpe2Nhc2UgMjp0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmxpbmVTdHlsZS5jaGlsZHMoKTticmVhaztjYXNlIDE0OnQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCk7YnJlYWs7Y2FzZSAxNTp0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCk7YnJlYWs7ZGVmYXVsdDp0PW51bGx9cmV0dXJuIHQ/dC5jb2xvclR5cGU/LnZhbHVlKCk9PT1aZS5Db2xvclR5cGUuU29saWQ/dC5jb2xvci52YWx1ZSgpOnRoaXMuX2xpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wLmdyYWRpZW50Q29sb3IoKDAsbi5lbnN1cmVEZWZpbmVkKSh0LmdyYWRpZW50U3RhcnRDb2xvcikudmFsdWUoKSwoMCxuLmVuc3VyZURlZmluZWQpKHQuZ3JhZGllbnRFbmRDb2xvcikudmFsdWUoKSxlKTpudWxsfXVwZGF0ZUFsbFZpZXdzKGUpe3RoaXMuX3N0dWR5QmluZGluZ3M/LnVwZGF0ZUFsbFZpZXdzKGUpLHRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXc/LmdldCgpPy51cGRhdGUoZSksImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9wYW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX2RhdGFXaW5kb3dWaWV3LnVwZGF0ZSgpLHRoaXMuX2xlZ2VuZFZpZXcudXBkYXRlKCksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKSwKdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldy51cGRhdGUoZSksdGhpcy5fYXZlcmFnZVBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fcHJpY2VMaW5lQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX3dhdGVybGluZVZpZXc/LnVwZGF0ZShlKSx0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fcHJpY2VMaW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX2dvdG9EYXRlVmlldz8udXBkYXRlKGUpLHRoaXMuX2VuZE9mRGF0YVBhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX21vZGVsLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKT8udXBkYXRlQWxsVmlld3MoZSksdGhpcy5fbW9kZWwucmVwbGF5U3R1ZHlTdHJhdGVneSgpLnZhbHVlKCk/LnVwZGF0ZUFsbFZpZXdzKGUpLHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3LnVwZGF0ZShlKSl9c3R5bGVTdHVkeUluZm8oZSl7cmV0dXJuIHRoaXMuc3R5bGVTdHVkeUluZm9zKClbZV19YmFyRnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFyRnVuY3Rpb259cHJlY29tcHV0ZWRCYXJTdHlsZShlKXtyZXR1cm4gdGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZ2V0KGUpfXNldFByZWNvbXB1dGVkQmFyU3R5bGUoZSx0KXt0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcy5zZXQoZSx0KX1zeW1ib2xQYXJhbXMoKXtyZXR1cm4oMCxkZS5zeW1ib2xQYXJhbXMpKHRoaXMpfWNvbXBhcmVTeW1ib2xQYXJhbXMoZSl7cmV0dXJuKDAsZGUuY29tcGFyZVN5bWJvbFBhcmFtcykodGhpcyxlLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpfXNldFN5bWJvbFBhcmFtcyhlKXtjb25zdHtzeW1ib2w6dCxjdXJyZW5jeTpzLHVuaXQ6aSxtZXRyaWM6cixzdHlsZTpvLGludGVydmFsOmEsc2Vzc2lvbjpsfT1lLHtzeW1ib2xDaGFuZ2VkOnUsaW50ZXJ2YWxDaGFuZ2VkOmMsY3VycmVuY3lDaGFuZ2VkOmQsdW5pdENoYW5nZWQ6aCxtZXRyaWNDaGFuZ2VkOnAsc3R5bGVDaGFuZ2VkOm0sc2Vzc2lvbkNoYW5nZWQ6X309dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKGUpLGc9W2d0KCJzeW1ib2wiLHQsdSksZ3QoImludGVydmFsIixhLGMpLGd0KCJjdXJyZW5jeSIscyxkKSxndCgidW5pdCIsaSxoKSxndCgibWV0cmljIixyLHApLGd0KCJzdHlsZSIsbyxtKSxndCgic2Vzc2lvbiIsbCxfKV0uZmlsdGVyKChlPT5udWxsIT09ZSkpLmpvaW4oIjsgIik7aHQubG9nSW5mbyhgQXBwbHlpbmcgc2VyaWVzIHN5bWJvbCBwYXJhbXM6ICR7Z31gKTtjb25zdCB5PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO3ZvaWQgMCE9PXQmJnkuc3ltYm9sLnNldFZhbHVlKHQpLHZvaWQgMCE9PXMmJnkuY3VycmVuY3lJZC5zZXRWYWx1ZShzKSx2b2lkIDAhPT1pJiZ5LnVuaXRJZC5zZXRWYWx1ZShpKSx2b2lkIDAhPT1yJiZwJiYoeS5tZXRyaWNJZC5zZXRWYWx1ZShyKSxudWxsIT09ciYmKDAsUC5zZXRMYXN0VXNlZE1ldHJpYykocikpLGMmJnkuaW50ZXJ2YWwuc2V0VmFsdWUoKDAsbi5lbnN1cmVEZWZpbmVkKShhKSksdm9pZCAwIT09byYmbSYmeS5zdHlsZS5zZXRWYWx1ZShvKTtsZXQgZj0hMTt2b2lkIDAhPT1sJiZfJiYoeS5zZXNzaW9uSWQuc2V0VmFsdWUobCksZj0hdGhpcy5pc0RXTSgpKSxtJiYoZnx8PXRoaXMuaXNOZWVkUmVzdGFydCgpLHRoaXMub25DaGFydFN0eWxlQ2hhbmdlZCgpKTtsZXQgdj1Qcm9taXNlLnJlc29sdmUoKTtyZXR1cm4hZiYmKHV8fGN8fGR8fGh8fHApJiYodj10aGlzLl9hcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoe3N5bWJvbENoYW5nZWQ6dSxjdXJyZW5jeUNoYW5nZWQ6ZCx1bml0Q2hhbmdlZDpoLG1ldHJpY0NoYW5nZWQ6cCxpbnRlcnZhbENoYW5nZWQ6YyxzdHlsZUNoYW5nZWQ6bX0pKSwodXx8ZHx8aHx8cCkmJnRoaXMubW9kZWwoKS5jaGVja0xpbmVUb29sQW5kR3JvdXBTZWxlY3Rpb24oKSx2fXNldFN5bWJvbChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7c3ltYm9sOmV9KX1jdXJyZW5jeSgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnZhbHVlKCl8fG51bGx9c2V0Q3VycmVuY3koZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe2N1cnJlbmN5OmV9KX1jdXJyZW5jeU9yaWdpblNvdXJjZSgpe3JldHVybiB0aGlzLl9jdXJyZW5jeU9yaWdpblNvdXJjZS5yZWFkb25seSgpfXNldE1ldHJpYyhlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7bWV0cmljOmV9KX11bml0KCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnVuaXRJZC52YWx1ZSgpfHxudWxsfXNldFVuaXQoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3VuaXQ6ZX0pfXVuaXRPcmlnaW5Tb3VyY2UoKXtyZXR1cm4gdGhpcy5fdW5pdE9yaWdpblNvdXJjZS5yZWFkb25seSgpfW1lYXN1cmVVbml0SWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xJbmZvKCk/Lm1ldHJpY3M/bnVsbDooMCxQLm1lYXN1cmVVbml0SWQpKHRoaXMuc3ltYm9sSW5mbygpKX1tZXRyaWMoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubWV0cmljSWQudmFsdWUoKXx8bnVsbH12YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbdF0/P251bGx9c3ltYm9sU291cmNlKCl7cmV0dXJuIHRoaXN9c3ltYm9sU291cmNlV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlV1YucmVhZG9ubHkoKX1iYXJzUHJvdmlkZXIoKXtyZXR1cm4gdGhpc310aXRsZShlKXtyZXR1cm4gdGhpcy5zeW1ib2xUaXRsZShlKX1uYW1lKCl7CnJldHVybiB0aGlzLnN5bWJvbFRpdGxlKFllLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lKX1zeW1ib2xUaXRsZShlLHQscyl7bGV0IGk9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCk7Y29uc3Qgbj10aGlzLmFsaWFzU3ltYm9sSW5mbygpO2lmKG51bGwhPT1uJiYoaT0oMCxQLnN5bWJvbFRpdGxlKShuLHQpKSxzKXJldHVybiBpO2xldCByPSgwLHBlLnRyYW5zbGF0ZWRJbnRlcnZhbFN0cmluZykodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudmFsdWUoKSk7cmV0dXJuIGU9PT1ZZS5UaXRsZURpc3BsYXlUYXJnZXQuRGF0YVdpbmRvdyYmKHI9KDAsc3QuZm9yY2VSVExTdHIpKHIpKSxgJHtpfSwgJHtyfWB9c2V0T2Jzb2xldGVaT3JkZXIoZSl7dGhpcy5fb2Jzb2xldGVaT3JkZXI9ZX1vYnNvbGV0ZVpPcmRlcigpe3JldHVybiB0aGlzLl9vYnNvbGV0ZVpPcmRlcn12YWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl92YWx1ZXNQcm92aWRlcn1sZWdlbmRWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy5sZWdlbmRWYWx1ZXNQcm92aWRlcigpPz90aGlzLl9sZWdlbmRWYWx1ZXNQcm92aWRlcn10YWJsZVZpZXdWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy50YWJsZVZpZXdWYWx1ZXNQcm92aWRlcigpPz90aGlzLl90YWJsZVZpZXdWYWx1ZXNQcm92aWRlcn1kYXRhV2luZG93VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uZGF0YVdpbmRvd1ZhbHVlc1Byb3ZpZGVyKCk/P3RoaXMuX2RhdGFXaW5kb3dWYWx1ZXNQcm92aWRlcn1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX3N0dWR5QmluZGluZ3M/LmFjdGl2ZVN0dWR5KCk/LmNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKT8/dGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcn1zdGF0dXNQcm92aWRlcihlKXtyZXR1cm4gbmV3IGNlLlNlcmllc1N0YXR1c1Byb3ZpZGVyKHRoaXMsdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLGUpfW1vdmVJdGVtKGUsdCxzKXtpZigxMD09PXRoaXMuc3R5bGUoKSYmMD09PXQpe2NvbnN0IHQ9dGhpcy5wcmljZVNjYWxlKCkscz10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5iYXNlbGluZVN0eWxlLGk9dC5oZWlnaHQoKSxuPTEwMC1lLnkvaSoxMDAscj1uPDA/MDpNYXRoLnJvdW5kKDEwKm4pLzEwO3MuY2hpbGRzKCkuYmFzZUxldmVsUGVyY2VudGFnZS5zZXRWYWx1ZShNYXRoLm1heChNYXRoLm1pbihyLDEwMCksMCkpfX1yZXJlcXVlc3REYXRhKCl7dGhpcy5fYXBwbHlTeW1ib2xQYXJhbXNDaGFuZ2VzKHtmb3JjZTohMH0pfXN3aXRjaFRvUmVwbGF5KGUsdCxzKXt0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnNldFZhbHVlKGUpLHRoaXMuX2lzUmVwbGF5UmVzb2x1dGlvbkF2YWlsYWJsZUZvclVzZXI9dCx0aGlzLl9vbkluUmVwbGF5U3RhdGVDaGFuZ2VkLmZpcmUoKSxlLm9uU2VyaWVzTW9kaWZpZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX29uUmVwbGF5U3Vic2NyaWJlclNlcmllc01vZGlmaWVkLmZpcmUoKSkpLGUubW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnRlcnZhbC52YWx1ZSgpLHMpLHRoaXMucmVyZXF1ZXN0RGF0YSgpfXN3aXRjaFRvUmVhbHRpbWUoKXt0aGlzLmlzSW5SZXBsYXkoKS52YWx1ZSgpJiYodGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpLHRoaXMucmVyZXF1ZXN0RGF0YSgpKX1hc3luYyBjYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3tpZighdGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKSlyZXR1cm4hMDtjb25zdCB0PSJjaGFuZ2VSZXNvbHV0aW9uIjtpZighKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKShlKSlyZXR1cm4gdGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDMsdCksITE7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3JlcGxheVN1YnNjcmliZXIudmFsdWUoKSksaT1hd2FpdCBzLmNhbkNoYW5nZVN5bWJvbFBhcmFtcyh0aGlzLmdldFN5bWJvbFN0cmluZygpLGUpO3JldHVybiBpLnJlc3x8dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpIT09c3x8dGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDIsdCksaS5yZXN9fWFzeW5jIGNhbkNoYW5nZVN5bWJvbChlKXt7aWYoIXRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpcmV0dXJue3Jlc3VsdDohMH07Y29uc3QgdD10aGlzLl9nZXRFeHRlbmRlZFN5bWJvbE9iamVjdCh7b3ZlcnJpZGRlblN5bWJvbDplfSk7ZGVsZXRlIHRbImN1cnJlbmN5LWlkIl0sZGVsZXRlIHRbInVuaXQtaWQiXTtjb25zdCBzPSgwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHQpLGk9ImNoYW5nZVN5bWJvbCI7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e2NvbnN0IHI9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCkpO3RoaXMuX21vZGVsLmNoYXJ0QXBpKCkucmVzb2x2ZVN5bWJvbCgoMCxCLm1ha2VOZXh0U3ltYm9sSWQpKCkscywobz0+e2lmKHRoaXMuX3JlcGxheVN1YnNjcmliZXIudmFsdWUoKSE9PXImJnQobmV3IEVycm9yKCJSZXBsYXkgc3Vic2NyaWJlciBjaGFuZ2VkIikpLCJzeW1ib2xfZXJyb3IiPT09by5tZXRob2QpdGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDAsaSksZSh7cmVzdWx0OiExLHJlYXNvbjowfSk7ZWxzZSBpZihvLnBhcmFtc1sxXS5pc19yZXBsYXlhYmxlKXtjb25zdCBvPXRoaXMuaW50ZXJ2YWwoKTsoMCwKbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKShvKT9yLmNhbkNoYW5nZVN5bWJvbFBhcmFtcyhzLG8pLnRoZW4oKHM9Pih0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCkhPT1yJiZ0KG5ldyBFcnJvcigiUmVwbGF5IHN1YnNjcmliZXIgY2hhbmdlZCIpKSxzLnJlcz9lKHtyZXN1bHQ6ITB9KToodGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDIsaSksZSh7cmVzdWx0OiExLHJlYXNvbjoyfSkpKSkpOih0aGlzLl9wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5LmZpcmUoMyxpKSxlKHtyZXN1bHQ6ITEscmVhc29uOjN9KSl9ZWxzZSB0aGlzLl9wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5LmZpcmUoMSxpKSxlKHtyZXN1bHQ6ITEscmVhc29uOjF9KX0pKX0pKX19cmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZX1zZXJpZXNMb2FkZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzTG9hZGVkfWVuZE9mRGF0YSgpe3JldHVybiB2b2lkIDAhPT10aGlzLl9sYXN0Q29tcGxldGVGbGFncz8uZGF0YV9jb21wbGV0ZWR9ZW5kT2ZEYXRhVHlwZSgpe3JldHVybiB0aGlzLl9sYXN0Q29tcGxldGVGbGFncz8uZGF0YV9jb21wbGV0ZWQ/P251bGx9ZGF0YVBvd2VyZWRCeSgpe3JldHVybiB0aGlzLl9kYXRhUG93ZXJlZEJ5fWJveFNpemVWYWx1ZSgpe3JldHVybiB0aGlzLl9ib3hTaXplVmFsdWV9aXNVc2VyRGVsZXRhYmxlKCl7cmV0dXJuITF9Y2hhbmdlVGltZUZyYW1lKCl7KDAsbS50cmFja0V2ZW50KSgiR1VJIiwiQ2hhbmdlIHRpbWVmcmFtZSIpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdGFnc0NoYW5nZWR9c3RhdGUoZSl7Y29uc3QgdD10aGlzLm9ic29sZXRlWk9yZGVyKCk7bGV0IHM9e3R5cGU6Ik1haW5TZXJpZXMiLGlkOnRoaXMuaWQoKSx6b3JkZXI6dCwuLi50aGlzLnN0eWxlU3R1ZHlJbmZvcygpLGZvcm1hdHRpbmdEZXBzOnRoaXMuX2Zvcm1hdHRpbmdEZXBzLHN0dWR5QmluZGluZ3M6dGhpcy5fc3R1ZHlCaW5kaW5ncz8uc3RhdGUoISFlKX07Y29uc3QgaT10aGlzLnByb3BlcnRpZXMoKS5zdGF0ZSh2b2lkIDAsMik7aWYoaS5zeW1ib2w9KDAsUC5zeW1ib2xUb1NhdmVJblN0YXRlKSh0aGlzLnN5bWJvbEluZm8oKT8/dGhpcy5fbW9kZWwuY2hhcnRBcGkoKS5sYXN0U3ltYm9sUmVzb2x2ZUluZm8oaS5zeW1ib2wpLGkuc3ltYm9sKSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKXx8KGkudW5pdElkPW51bGwpLHMuc3RhdGU9aSxlKXtsZXQgZT10aGlzLmJhcnMoKTtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZShlLDApO251bGwhPT10JiYoZT1lLnJhbmdlKHQuZmlyc3RCYXIoKSx0Lmxhc3RCYXIoKSkpLHM9ey4uLnMsYmFyczp5dChlKSxuc0JhcnM6eXQodGhpcy5uc0JhcnMoKSksc3ltYm9sSW5mbzp0aGlzLnN5bWJvbEluZm8oKSxydFByaWNlOnRoaXMuZGF0YSgpLmxhc3RQcm9qZWN0aW9uUHJpY2UsYm94U2l6ZTp0aGlzLmRhdGEoKS5ib3hTaXplLHJldmVyc2FsQW1vdW50OnRoaXMuZGF0YSgpLnJldmVyc2FsQW1vdW50fX1yZXR1cm4gc31yZXN0b3JlU3RhdGUoZSx0LHMpe3QmJnRoaXMuX3NldFN0YXR1cyg1KSwhdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmUuc3RhdGUmJmRlbGV0ZSBlLnN0YXRlLnVuaXRJZCxlLnN0YXRlJiZjLkludGVydmFsLmlzUmFuZ2UoZS5zdGF0ZS5pbnRlcnZhbCkmJihlLnN0YXRlLnN0eWxlPTExKTtjb25zdCBpPWUuc3RhdGU7aWYodm9pZCAwIT09aSl7Y29uc3QgZT1pLnN0eWxlLHQ9Sy5jaGFydFN0eWxlUGVybWlzc2lvbnMuZ2V0KGUpO3QmJiF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJihpLnN0eWxlPTIsKDAscS5ydW5PckdvUHJvV2l0aG91dFN5bmMpKCgoKT0+e2kuc3R5bGU9ZX0pLHQuZmVhdHVyZSx7ZmVhdHVyZTp0LmZlYXR1cmVOYW1lfSkpfWlmKHRoaXMuX3Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuc3RhdGUpLG51bGwhPT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLm1ldHJpY0lkLnZhbHVlKCl8fHN8fHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkubWV0cmljSWQuc2V0VmFsdWUoInByaWNlIiksdGhpcy5fcHJldkNoYXJ0U3R5bGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSx0aGlzLmNyZWF0ZVBhbmVWaWV3KCksdCl7Y29uc3QgdD1lO3RoaXMucmVzdG9yZURhdGEodC5iYXJzLHQubnNCYXJzLHQuc3ltYm9sSW5mbyx0LnJ0UHJpY2UsdC5ib3hTaXplLHQucmV2ZXJzYWxBbW91bnQpfWUuZm9ybWF0dGluZ0RlcHMmJih0aGlzLl9mb3JtYXR0aW5nRGVwcz1lLmZvcm1hdHRpbmdEZXBzLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCkpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RvcmVTdGF0ZShlLnN0dWR5QmluZGluZ3M/P3t9LHQpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnN5bmNTdHVkeSh0aGlzLnN0eWxlKCkpfXJlc3RvcmVEYXRhKGUsdCxzLGksbixyKXt0aGlzLl91cGRhdGVTdGF0dXMoe3Nlcmllc1N0YXR1czo1fSksdGhpcy5fZGF0YT1uZXcgYi5TZXJpZXNEYXRhLHRoaXMuX2RhdGEuYmFycygpLnJlc3RvcmVTdGF0ZShlKSx0aGlzLl9kYXRhLm5zQmFycygpLnJlc3RvcmVTdGF0ZSh0KSx0aGlzLl91cGRhdGVTeW1ib2xJbmZvKHMpLHRoaXMuX2RhdGEubGFzdFByb2plY3Rpb25QcmljZT1pLHRoaXMuX2RhdGEuYm94U2l6ZT1uO2NvbnN0IG89dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7bnx8KDY9PT1vLnN0eWxlLnZhbHVlKCk/dGhpcy5fZGF0YS5ib3hTaXplPW8ucG5mU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLmJveFNpemUudmFsdWUoKTo0PT09by5zdHlsZS52YWx1ZSgpJiYodGhpcy5fZGF0YS5ib3hTaXplPW8ucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuYm94U2l6ZS52YWx1ZSgpKSksdGhpcy5fZGF0YS5yZXZlcnNhbEFtb3VudD1yLApyfHw1PT09by5zdHlsZS52YWx1ZSgpJiYodGhpcy5fZGF0YS5yZXZlcnNhbEFtb3VudD1vLmthZ2lTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkucmV2ZXJzYWxBbW91bnQudmFsdWUoKSl9YXN5bmMgc2V0R290b0RhdGVSZXN1bHQoZSx0KXt0aGlzLl9nb3RvRGF0ZVJlc3VsdENsZWFyZWQ9ITE7Y29uc3QgaT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDU1MzgpLHMuZSg4ODM1OCldKS50aGVuKHMuYmluZChzLDcwOTA2NykpO3RoaXMuX2dvdG9EYXRlUmVzdWx0Q2xlYXJlZHx8KHRoaXMuX2dvdG9EYXRlVmlldz1uZXcgaS5Hb3RvRGF0ZVZpZXcodGhpcyxlLHQpLHRoaXMuX2dvdG9EYXRlVmlldy5kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKHRoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSl9Y2xlYXJHb3RvRGF0ZVJlc3VsdCgpe3RoaXMuX2dvdG9EYXRlVmlldz1udWxsLHRoaXMuX2dvdG9EYXRlUmVzdWx0Q2xlYXJlZD0hMH1kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKGUpe3RoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXI9ZSx0aGlzLl9nb3RvRGF0ZVZpZXc/LmRvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIoZSl9ZGF0YVVwZGF0ZWQoKXtyZXR1cm4gdGhpcy5kYXRhRXZlbnRzKCkuZGF0YVVwZGF0ZWQoKX1tb3ZlRGF0YShlKXtjb25zdCB0PXRoaXMuX3Nlcmllc1NvdXJjZS5tb3ZlRGF0YShlKTtudWxsIT09dGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzJiZ0aGlzLl92b2x1bWVQb2ludFdlaWdodHMubW92ZURhdGEoZSksdGhpcy5fc3R1ZHlCaW5kaW5ncz8ubW92ZURhdGEoZSksdC50aGVuKCgoKT0+e3RoaXMuX2lzRGVzdHJveWVkfHx0aGlzLmJhcnMoKS5pc0VtcHR5KCl8fHRoaXMuX29uSW5kZXhEaWZmc0FwcGxpZWQoZSl9KSl9YXN5bmMgc2VyaWVzQ3JlYXRlZCgpe2NvbnN0IGU9dGhpcy5fc2VyaWVzU291cmNlLmluc3RhbmNlSWQoKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PWF3YWl0IFByb21pc2UucmFjZShbdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQucHJvbWlzZS50aGVuKCgoKT0+e30pKSx0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/UHJvbWlzZS5yZXNvbHZlKG51bGwpOm5ldyBQcm9taXNlKChlPT57dGhpcy5kYXRhRXZlbnRzKCkuY3JlYXRlZCgpLnN1YnNjcmliZSh0aGlzLGUsITApfSkpXSk7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgRXJyb3IoIlNlcmllcyBoYXMgYmVlbiBkZXN0cm95ZWQiKTtyZXR1cm4gdH1hY3RpdmVTdHVkeUJpbmRpbmcoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYWN0aXZlU3R1ZHkoKT8/bnVsbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIlNlcmllc0NvbnRleHRNZW51In1fdXBkYXRlQmFyRnVuY3Rpb24oKXt0aGlzLl9iYXJGdW5jdGlvbj0oMCxIZS5iYXJGdW5jdGlvbkJ5U3R5bGUpKHRoaXMuc3R5bGUoKSx0aGlzLnByaWNlU291cmNlKCkpfV91cGRhdGVTZXNzaW9uSWRQcm94eVByb3BlcnR5KGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zZXNzaW9uSWQudmFsdWUoKTtsZXQgcz10O2lmKGUpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihzPWUuc3Vic2Vzc2lvbl9pZHx8dCl9dGhpcy5faWdub3JlU2Vzc2lvbklkUHJveHlQcm9wZXJ0eUNoYW5nZXM9ITAsdGhpcy5fc2Vzc2lvbklkUHJveHlQcm9wZXJ0eS5zZXRWYWx1ZShzKSx0aGlzLl9pZ25vcmVTZXNzaW9uSWRQcm94eVByb3BlcnR5Q2hhbmdlcz0hMX1fb25TZXNzaW9uSWRQcm94eVByb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX2lnbm9yZVNlc3Npb25JZFByb3h5UHJvcGVydHlDaGFuZ2VzfHx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNlc3Npb25JZC5zZXRWYWx1ZSh0aGlzLl9zZXNzaW9uSWRQcm94eVByb3BlcnR5LnZhbHVlKCkpLHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpfV9vblN5bWJvbFJlc29sdmVkKGUpe3RoaXMuX3Nlcmllc0Vycm9yTWVzc2FnZT1udWxsLHRoaXMuX3VwZGF0ZVN5bWJvbEluZm8oZSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fCgoMCxtLnRyYWNrRXZlbnQpKCJTeW1ib2wiLGUubGlzdGVkX2V4Y2hhbmdlLGUubmFtZSksKDAsbS50cmFja0V2ZW50KSgiU3ltYm9sIFR5cGUiLGUudHlwZSxlLmxpc3RlZF9leGNoYW5nZSkpO2NvbnN0IHQ9ZS5taW5tb3YvZS5wcmljZXNjYWxlLHM9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7ND09PXMuc3R5bGUudmFsdWUoKSYmcy5yZW5rb1N0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5ib3hTaXplLnZhbHVlKCk8dD9zLnJlbmtvU3R5bGUuY2hpbGRzKCkuaW5wdXRzLm1lcmdlKHtib3hTaXplOnR9KTo2PT09cy5zdHlsZS52YWx1ZSgpJiZzLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5ib3hTaXplLnZhbHVlKCk8dD9zLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5tZXJnZSh7Ym94U2l6ZTp0fSk6NT09PXMuc3R5bGUudmFsdWUoKSYmcy5rYWdpU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnJldmVyc2FsQW1vdW50LnZhbHVlKCk8dCYmcy5rYWdpU3R5bGUuY2hpbGRzKCkuaW5wdXRzLm1lcmdlKHtyZXZlcnNhbEFtb3VudDp0fSksdGhpcy5fY2hlY2tDaGFydFN0eWxlKCksdGhpcy5fZm9ybWF0dGluZ0RlcHM9e2Zvcm1hdDplLmZvcm1hdCxwcmljZXNjYWxlOmUucHJpY2VzY2FsZSxtaW5tb3Y6ZS5taW5tb3YsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWlubW92ZTI6ZS5taW5tb3ZlMix2YXJpYWJsZV90aWNrX3NpemU6ZS52YXJpYWJsZV90aWNrX3NpemV9LHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpfV9vblN5bWJvbEVycm9yKGUpe3RoaXMuX3NldFN0YXR1cyg0KSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNob3J0TmFtZS5zZXRWYWx1ZSh0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpKSx0aGlzLl9tb2RlbC5jbGVhckFsbFN0dWRpZXMoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLApmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX3NlbmRUZWxlbWV0cnlDb3VudGVyKCJzeW1ib2xfZXJyb3IiLHRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKGUsITEpKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfV9zZW5kVGVsZW1ldHJ5Q291bnRlcihlLHQpe3ZvaWQgMD09PXQmJih0PXRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCkpO2NvbnN0IHM9T2JqZWN0LmFzc2lnbih7Y291bnQ6MX0se2FkZGl0aW9uYWw6dH0pO1cudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLHMpfV9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YShlLHQpe3Q9dm9pZCAwPT09dHx8dDtjb25zdCBzPXtzeW1ib2w6dGhpcy5hY3R1YWxTeW1ib2woKX07cmV0dXJuIHQmJihzLnJlc29sdXRpb249dGhpcy5pbnRlcnZhbCgpKSx2b2lkIDAhPT1lJiYocy5yZWFzb249ZSksc31fb25TZXJpZXNUaW1lRnJhbWUoZSx0LHMsaSxuKXtjb25zdCByPSgwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKHRoaXMuc3R5bGUoKSk/ZSsuNTplO2xldCBvPXQ7aWYodm9pZCAwPT09biludWxsIT09cyYmInBlcmlvZC1iYWNrIiE9PXMudHlwZXx8KG8rPXRoaXMuX21vZGVsLnN0dWR5QXdhcmVEZWZhdWx0UmlnaHRPZmZzZXQoKSk7ZWxzZSBpZihuLmFwcGx5RGVmYXVsdFJpZ2h0TWFyZ2luKW8rPXRoaXMuX21vZGVsLnN0dWR5QXdhcmVEZWZhdWx0UmlnaHRPZmZzZXQoKTtlbHNlIGlmKG4ucGVyY2VudFJpZ2h0TWFyZ2luKXtjb25zdCBlPXQtcisxLHM9TWF0aC5tYXgoMCxNYXRoLm1pbiguOTksbi5wZXJjZW50UmlnaHRNYXJnaW4vMTAwKSk7bys9cyplLygxLXMpfXRoaXMuX21vZGVsLnNldFRpbWVWaWV3cG9ydChyLG8pfV9vblNlcmllc0Vycm9yKGUpe2xldCB0PWUuZXJyb3I7Y29uc3Qgcz1lLmN0eDtpZihzKXtjb25zdCBlPXt9O09iamVjdC5rZXlzKHMpLmZvckVhY2goKHQ9PntlW3RdPXNbdF0udG9TdHJpbmcoKX0pKSx0PXQuZm9ybWF0KGUpfWN0JiZodC5sb2dOb3JtYWwoIkVycm9yIHJlYXNvbjogIit0KSx0aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U9dDtjb25zdCBpPSgwLE5lLmRldGVybWluZVNlcmllc0Vycm9yU3RhdHVzKSh7aGFzRGV0YWlsZWRFcnJvck1hcHBpbmc6ITAsZXJyb3JNZXNzYWdlOnQsbm9CYXJzU3RhdHVzQXZhaWxhYmxlOnV0LGhhc1N5bWJvbEluZm86ISF0aGlzLnN5bWJvbEluZm8oKX0pO3RoaXMuX3NldFN0YXR1cyhpKSx0aGlzLl9zZXJpZXNMb2FkZWQ9ITAsdGhpcy5fc2VuZFRlbGVtZXRyeUNvdW50ZXIoInNlcmllc19lcnJvciIsdGhpcy5fZ2V0VGVsZW1ldHJ5QWRkaXRpb25hbERhdGEodCkpLHRoaXMuX2VuYWJsZVByaWNlUmFuZ2VSZWFkeSgpfV9vblNlcmllc0xvYWRpbmcoZSl7dGhpcy5fc2V0U3RhdHVzKDIpfV9vbkRhdGFVcGRhdGVkKGUsdCxzLGkscil7dCYmciYmdGhpcy5fY29sb3JPblByZXZCYXIoKSYmdGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZGVsZXRlKHIudmFsdWUpO2NvbnN0IG89dGhpcy5zeW1ib2xJbmZvKCk7aWYoaSYmbyl7bGV0IGU9MCx0PTA7aWYoKDAsUC5oYXNWb2x1bWUpKG8pKWZvcihjb25zdCBzIG9mIHRoaXMuYmFycygpLmZ1bGxSYW5nZUl0ZXJhdG9yKCkpe2NvbnN0IGk9cy52YWx1ZVs1XTswIT09aSYmKGUrPWksdCs9MSl9dGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzPXQ+MD9uZXcgZWUuVm9sdW1lQmFzZWRUaW1lUG9pbnRXZWlnaHRzKGUvdCk6bnVsbCx0aGlzLl91cGRhdGVUaW1lU2NhbGVUaW1lUG9pbnRXZWlnaHRzKCl9aWYobnVsbCE9PXRoaXMuX3ZvbHVtZVBvaW50V2VpZ2h0cyl7Y29uc3QgZT10P3RoaXMuYmFycygpLmZ1bGxSYW5nZUl0ZXJhdG9yKCk6cz90aGlzLmJhcnMoKS5yYW5nZUl0ZXJhdG9yKHMuaW5kZXgsKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLmJhcnMoKS5sYXN0SW5kZXgoKSkpOm51bGw7aWYobnVsbCE9PWUpZm9yKGNvbnN0IHQgb2YgZSl0aGlzLl92b2x1bWVQb2ludFdlaWdodHMuc2V0Vm9sdW1lKHQuaW5kZXgsdC52YWx1ZVs1XSl9dD90aGlzLl9yZXF1ZXN0TW9yZURhdGFBdmFpbGFibGU9ITA6dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZ0aGlzLl9zZXJpZXNMb2FkZWQmJnRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3LnVwZGF0ZSgoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbGFzdEJhckNsb3NlVGltZT1lJiZlLmNsb3NlVGltZXx8bnVsbCx0aGlzLl9ib3hTaXplVmFsdWUuc2V0VmFsdWUodGhpcy5kYXRhKCkuYm94U2l6ZSksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKTtjb25zdCBhPXRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSxsPXRoaXMuYmFycygpLmxhc3RJbmRleCgpO251bGwhPT1hJiZudWxsIT09bD90aGlzLl9kYXRhUmFuZ2VVcGRhdGVkLmZpcmUoe3R5cGU6InBhcnRpYWwiLHN0YXJ0SW5kZXg6cz8uaW5kZXg/P2EsZW5kSW5kZXg6dD9yPy5pbmRleD8/bDpsfSk6dGhpcy5fZGF0YVJhbmdlVXBkYXRlZC5maXJlKHt0eXBlOiJmdWxsIn0pLHRoaXMuY2xlYXJBdmVyYWdlUHJpY2VDYWNoZSgpLHRoaXMuY2xlYXJIaWdoTG93UHJpY2VDYWNoZSgpO2NvbnN0IHU9dGhpcy5tb2RlbCgpLGM9KDAsbi5lbnN1cmVOb3ROdWxsKSh1LnBhbmVGb3JTb3VyY2UodGhpcykpO3UucmVjYWxjdWxhdGVQYW5lKGMsKDAsZmUuc291cmNlQ2hhbmdlRXZlbnQpKHtzb3VyY2VJZDp0aGlzLmlkKCkscmVhbHRpbWU6IXQsZmlyc3RVcGRhdGVkVGltZVBvaW50SW5kZXg6cz8uaW5kZXg/P3ZvaWQgMH0pKSx1LnVwZGF0ZVNvdXJjZSh0aGlzKX1fcGxvdHNEYXRhUmFuZ2UoKXtjb25zdCBlPXRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSx0PXRoaXMuYmFycygpLmxhc3RJbmRleCgpO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/W2UsdF06bnVsbH1fc2V0U3RhdHVzKGUpe2NvbnN0IHQ9ey4uLnRoaXMuX3N0YXR1cy52YWx1ZSgpLHNlcmllc1N0YXR1czplfTt0aGlzLl91cGRhdGVTdGF0dXModCksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKSwKdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSx0aGlzLl9vblN0YXR1c0NoYW5nZWQuZmlyZSgpfV9vbkJhclJlY2VpdmVkKGUpe3RoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5EYXRhVXBkYXRlKX1fb25VbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZ2V0U3RhdGVGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24oKSk7dGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPWUucmVhc29uLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblN0YXRlLnNldFZhbHVlKGUpLHRoaXMuX3NldFN0YXR1cygxNCksdGhpcy5fc2VyaWVzTG9hZGVkPSEwLHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkucG9pbnRzKCkuY2xlYXIoKSx0aGlzLl9lbmFibGVQcmljZVJhbmdlUmVhZHkoKX1fZ2V0U3RhdGVGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24oKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5pbnRlcnZhbCgpLHM9KDAsT2UuZ2V0UmVzb2x1dGlvblVuc3VwcG9ydGVkUmVhc29uKShlLHQpO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IGk9ITA7cmV0dXJuKDAsVWUuYnVpbGRVbnN1cHBvcnRlZFJlc29sdXRpb25TdGF0ZSkoe3N5bWJvbEluZm86ZSxyZXNvbHV0aW9uOnQscmVhc29uOnMsaGFzUmVzb2x1dGlvblBvbGljeTppLGlzSW50ZXJuYWxEYXRhRmVlZDohMCxkZWZhdWx0UmVzb2x1dGlvbnM6dGhpcy5fbW9kZWwuZGVmYXVsdFJlc29sdXRpb25zKCksaXNBdXRoZW50aWNhdGVkOiEhd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsaXNQcm86ISF3aW5kb3cudXNlcj8uaXNfcHJvfSl9X3JlY3JlYXRlRm9ybWF0dGVyKCl7e2NvbnN0IGU9KDAsemUuY3JlYXRlU2VyaWVzRm9ybWF0dGVycykoe2Zvcm1hdHRpbmdEZXBzOnRoaXMuX2Zvcm1hdHRpbmdEZXBzLGFsaWFzRm9ybWF0dGluZ0RlcHM6dGhpcy5hbGlhc1N5bWJvbEluZm8oKSxzeW1ib2xGb3JtYXR0aW5nRGVwczp0aGlzLnN5bWJvbEluZm8oKSxtaW5UaWNrOnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKX0pO3RoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9ZS5kZWZhdWx0Rm9ybWF0dGVyLHRoaXMuX2Zvcm1hdHRlcj1lLmZvcm1hdHRlcix0aGlzLl9pZ25vcmVNaW5Nb3ZlRm9ybWF0dGVyPWUuaWdub3JlTWluTW92ZUZvcm1hdHRlcn10aGlzLl9wcmljZVNjYWxlPy51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKX1fcmVjcmVhdGVQcmljZVN0ZXAoKXtjb25zdHtwcmljZVN0ZXA6ZSxpZ25vcmVNaW5Nb3ZlUHJpY2VTdGVwOnR9PSgwLHplLmNhbGN1bGF0ZVByaWNlU3RlcHMpKHRoaXMuc3ltYm9sSW5mbygpKTt0aGlzLl9pZ25vcmVNaW5Nb3ZlUHJpY2VTdGVwPXQsdGhpcy5fcHJpY2VTdGVwIT09ZSYmKHRoaXMuX3ByaWNlU3RlcD1lLHRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpKX1fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcigpLHRoaXMuX3JlY3JlYXRlUHJpY2VTdGVwKCl9X29uUXVvdGVzVXBkYXRlKGUsdCl7e2NvbnN0IHM9dm9pZCAwIT09dC52YWx1ZXMuY2hhbmdlfHx2b2lkIDAhPT10LnZhbHVlcy5jaGFuZ2VfcGVyY2VudDtzJiZwdCYmdGhpcy5fbGVnZW5kVmlldy51cGRhdGUoKTtjb25zdCBpPXZvaWQgMCE9PXQudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U7aSYmKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fcHJldkNsb3NlUHJpY2VMaW5lVmlldykudXBkYXRlKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXcpLnVwZGF0ZSgoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSkpLChzfHxpKSYmdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSx0aGlzLl9xdW90ZXNMYXN0U3BsaXRzLnNldFZhbHVlKGUudmFsdWVzLmxhc3Rfc3BsaXRzPz9udWxsKX12b2lkIDAhPT1lLnZhbHVlcy5jdXJyZW50X3Nlc3Npb24mJmUudmFsdWVzLmN1cnJlbnRfc2Vzc2lvbiE9PXRoaXMuX2N1cnJlbnRTZXNzaW9uJiYodGhpcy5fY3VycmVudFNlc3Npb249ZS52YWx1ZXMuY3VycmVudF9zZXNzaW9uLHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpKX1fdXBkYXRlSXNOb25SZWd1bGFyTWFya2V0UHJpY2VzRm9yYmlkZGVuUHJvcGVydGllcygpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7e2NvbnN0IHQ9KDAsUC5zeW1ib2xIYXNQcmVPclBvc3RNYXJrZXQpKGUpJiYodGhpcy5pc0RXTSgpfHwhIWUmJigwLFAuaXNSZWd1bGFyU2Vzc2lvbklkKSh0aGlzLnNlc3Npb25JZFByb3h5UHJvcGVydHkoKS52YWx1ZSgpLGUpKTt0aGlzLl9pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eS5zZXRWYWx1ZSh0KX17Y29uc3QgdD0hdGhpcy5pc0RXTSgpJiYoMCxKLmlzRmVhdHVyZUVuYWJsZWQpKCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIikmJigwLFAuc3ltYm9sSGFzTmlnaHRNYXJrZXQpKGUpJiYhIWUmJiEoMCxQLmlzU3RvY2syNGhTZXNzaW9uSWQpKHRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCkpJiYhKDAsUC5pc1JlZ3VsYXJTZXNzaW9uSWQpKHRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCksZSk7dGhpcy5faXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eS5zZXRWYWx1ZSh0KX19X3VwZGF0ZVNldHRsZW1lbnRBc0Nsb3NlRm9yYmlkZGVuUHJvcGVydHkoKXtjb25zdCBlPXRoaXMuaXNEV00oKSYmQm9vbGVhbih0aGlzLnN5bWJvbEluZm8oKT8uaGFzX3NldHRsZW1lbnQpO3RoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eS5zZXRWYWx1ZSghZSl9X3VwZGF0ZUJhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKXsKY29uc3QgZT1Cb29sZWFuKHRoaXMuc3ltYm9sSW5mbygpPy5oYXNfYmFja2FkanVzdG1lbnQpO3RoaXMuX2lzQmFja0FkanVzdG1lbnRGb3JiaWRkZW5Qcm9wZXJ0eS5zZXRWYWx1ZSghZSl9X3JlbW92ZVJlcGxheVN1YnNjcmliZXIoKXt7aWYoIXRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpO3RoaXMuX3JlcGxheVN1YnNjcmliZXIuc2V0VmFsdWUobnVsbCksdGhpcy5faXNSZXBsYXlSZXNvbHV0aW9uQXZhaWxhYmxlRm9yVXNlcj1udWxsLHRoaXMuX29uSW5SZXBsYXlTdGF0ZUNoYW5nZWQuZmlyZSgpLGU/Lm9uU2VyaWVzTW9kaWZpZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlPy5kZXN0cm95KCl9fV9nZXRTeW1ib2xGb3JBcGkoKXtyZXR1cm4gdGhpcy5zeW1ib2woKX1fZ2V0U3ltYm9sT2JqZWN0KGUsdCxzKXtjb25zdCBpPXRoaXMuX2dldEV4dGVuZGVkU3ltYm9sT2JqZWN0KHtvdmVycmlkZGVuU3ltYm9sOmUsc2tpcFNhdmVkTWV0cmljOnMsZG9Ob3RBZGRVbnN1cHBvcnRlZE9uQ3VycmVudFN5bWJvbEZpZWxkczp0fSksbj10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpO2lmKEkuU1lNQk9MX1NUUklOR19EQVRBLmhhc093blByb3BlcnR5KG4pJiYhSS5jaGFydFN0eWxlc1dpdGhBdHRhY2hlZFN0dWRpZXMuaW5jbHVkZXMobikpe3JldHVybntzeW1ib2w6aSx0eXBlOnRoaXMuc3R5bGVTdHVkeUluZm8odGhpcy5nZXRTdHlsZVNob3J0TmFtZSgpKyJTdHlsZSIpLnN0dWR5SWQrIiEiLGlucHV0czp0aGlzLmdldElucHV0c1Byb3BlcnRpZXMoKS5zdGF0ZSgpfX1yZXR1cm4gaX1fZ2V0RXh0ZW5kZWRTeW1ib2xPYmplY3QoZT17fSl7Y29uc3R7b3ZlcnJpZGRlblN5bWJvbDp0LHNraXBNZXRyaWM6cyxza2lwU2F2ZWRNZXRyaWM6aSxkb05vdEFkZFVuc3VwcG9ydGVkT25DdXJyZW50U3ltYm9sRmllbGRzOnJ9PWUsbz17c3ltYm9sOnQ/P3RoaXMuX2dldFN5bWJvbEZvckFwaSgpfSxhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLGw9dGhpcy5jdXJyZW5jeSgpO251bGwhPT1sJiYob1siY3VycmVuY3ktaWQiXT1sKTtjb25zdCB1PXRoaXMudW5pdCgpO2lmKHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09dSYmKG9bInVuaXQtaWQiXT11KSx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpJiYhcyl7bGV0IGU9dGhpcy5tZXRyaWMoKTtpfHxudWxsIT09ZXx8bnVsbCE9PXRoaXMuc3ltYm9sSW5mbygpfHwoZT0oMCxQLmdldExhc3RVc2VkTWV0cmljKSgpKSxudWxsIT09ZSYmKG8ubWV0cmljPWUpfXRoaXMuaXNEV00oKXx8KG8uc2Vzc2lvbj1hLnNlc3Npb25JZC52YWx1ZSgpKTt7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKSx0PWU/LmFsbG93ZWRfYWRqdXN0bWVudD8/Im5vbmUiLHM9ImFueSI9PT10fHwiZGl2aWRlbmRzIj09PXQsaT0iYW55Ij09PXR8fCJzcGxpdHMiPT09dDtyP2E/LmRpdmlkZW5kc0FkanVzdG1lbnQ/LnZhbHVlKCkmJnM/by5hZGp1c3RtZW50PSJkaXZpZGVuZHMiOmkmJihvLmFkanVzdG1lbnQ9InNwbGl0cyIpOm8uYWRqdXN0bWVudD0oMCxuLmVuc3VyZURlZmluZWQpKGEuZGl2aWRlbmRzQWRqdXN0bWVudCkudmFsdWUoKT8iZGl2aWRlbmRzIjoic3BsaXRzIiwhYS5iYWNrQWRqdXN0bWVudC52YWx1ZSgpfHxyJiYhZT8uaGFzX2JhY2thZGp1c3RtZW50fHwoby5iYWNrYWRqdXN0bWVudD0iZGVmYXVsdCIpLGEuc2V0dGxlbWVudEFzQ2xvc2UudmFsdWUoKXx8ciYmIWU/Lmhhc19zZXR0bGVtZW50fHwob1sic2V0dGxlbWVudC1hcy1jbG9zZSJdPSExKX1yZXR1cm4gb31fY2hlY2tDaGFydFN0eWxlKCl7Y29uc3QgZT10aGlzLnN0eWxlKCk7KDAsUC5pc0Nsb3NlQmFzZWRTeW1ib2wpKHRoaXMuc3ltYm9sSW5mbygpKXx8dGhpcy5pbnRlcnZhbE9iaigpLnZhbHVlKCkuaXMxVGljaygpPygwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpfHwodGhpcy5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5maXJlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KToiaGxjIj09PXRoaXMuc3ltYm9sSW5mbygpPy52aXNpYmxlX3Bsb3RzX3NldD8oMCxQLmlzSExDQmFzZWRTdHlsZSkoZSl8fCgwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpfHwodGhpcy5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5maXJlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KTpudWxsIT09dGhpcy5fc3R5bGVUb1JlY292ZXImJih0aGlzLnJlcXVlc3RpbmdTdHlsZVN1cHBvcnRSZWNvdmVyZWQuZmlyZSh0aGlzLl9zdHlsZVRvUmVjb3Zlci5vcmlnaW5hbFN0eWxlKSx0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKX1fdXBkYXRlU3ltYm9sSW5mbyhlKXtpZihlKXtjb25zdCB0PXRoaXMuX2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpLHM9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKSxuPSgwLFAuc3ltYm9sQ3VycmVuY3kpKGUpLHI9KDAsUC5zeW1ib2xVbml0KShlLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxvPSgwLFAuc3ltYm9sTWV0cmljKShlLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpOyJhbHdheXNPZmYiPT09KDAseC5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKXx8bj09PXMuY3VycmVuY3lJZC52YWx1ZSgpJiZyPT09cy51bml0SWQudmFsdWUoKXx8dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpO2NvbnN0IGE9biE9PXMuY3VycmVuY3lJZC52YWx1ZSgpLGw9ciE9PXMudW5pdElkLnZhbHVlKCksdT1vIT09cy5tZXRyaWNJZC52YWx1ZSgpO3MuY3VycmVuY3lJZC5zZXRWYWx1ZVNpbGVudGx5KG4pLHMudW5pdElkLnNldFZhbHVlU2lsZW50bHkocikscy5tZXRyaWNJZC5zZXRWYWx1ZVNpbGVudGx5KG8pLHRoaXMuX3N5bWJvbEluZm8uc2V0VmFsdWUoZSksCnMuc2hvcnROYW1lLnNldFZhbHVlKGUubmFtZSk7Y29uc3QgYz0oMCxULmV4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm8pKGUsdGhpcy5zeW1ib2woKSk7YyYmcy5zeW1ib2wuc2V0VmFsdWUoYyksYSYmcy5jdXJyZW5jeUlkLmZpcmVDaGFuZ2VkKCksbCYmcy51bml0SWQuZmlyZUNoYW5nZWQoKSx1JiZzLm1ldHJpY0lkLmZpcmVDaGFuZ2VkKCk7Y29uc3QgZD10aGlzLl9nZXRSZXNvbHZpbmdTeW1ib2xPYmplY3QoKSxoPXRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2woKTsoMCxpLmRlZmF1bHQpKHQsaCkmJiEoMCxpLmRlZmF1bHQpKGQsaCkmJnRoaXMuX3Nlcmllc1NvdXJjZS51cGRhdGVFeHRTeW1ib2woZCksdGhpcy5fdXBkYXRlU2Vzc2lvbklkUHJveHlQcm9wZXJ0eSghMCl9ZWxzZSB0aGlzLl9zeW1ib2xJbmZvLnNldFZhbHVlKG51bGwpO2NvbnN0IHQ9dGhpcy5hbGlhc1N5bWJvbEluZm8oKTt0aGlzLl9iYXNlPXQ/dC5wcmljZXNjYWxlL3QubWlubW92OjEwMCx0aGlzLl9wb2ludFZhbHVlPWUmJmUucG9pbnR2YWx1ZXx8MTtjb25zdCBzPXRoaXMuZ2V0UXVvdGVzU3ltYm9sU3RyaW5nKCk7cyE9PXRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnN5bWJvbCgpJiZ0aGlzLl9xdW90ZXNMYXN0U3BsaXRzLnNldFZhbHVlKG51bGwpLHRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnNldFF1b3Rlc1Nlc3Npb25TeW1ib2wocyksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuc2V0U3ltYm9sSW5mbyhlKSxlJiZ0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLHRoaXMuX3N0YXR1c1ZpZXcudXBkYXRlKCksdGhpcy5wcmljZVNjYWxlKCkudXBkYXRlRm9ybWF0dGVyKCksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlLnNldFZhbHVlKCFlKSx0aGlzLl91cGRhdGVJc05vblJlZ3VsYXJNYXJrZXRQcmljZXNGb3JiaWRkZW5Qcm9wZXJ0aWVzKCksdGhpcy5fZGF0YVBvd2VyZWRCeT0oMCxOLmdldERhdGFWZW5kb3JTdHJpbmcpKGUpLHRoaXMuX3VwZGF0ZUJhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKSx0aGlzLl91cGRhdGVTZXR0bGVtZW50QXNDbG9zZUZvcmJpZGRlblByb3BlcnR5KCl9X2NyZWF0ZUhpZ2hMb3dBdmdWaWV3cygpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaGlnaExvd0F2Z1ByaWNlLHQ9dGhpcy5fZ2V0SGlnaExvd1ByaWNlLmJpbmQodGhpcykscz0oMCxhZS5jcmVhdGVIaWdoTG93Vmlld3MpKHRoaXMuX21vZGVsLHRoaXMsZSx0KTt0aGlzLl9oaWdoTG93QXZnUGFuZVZpZXdzLnB1c2goLi4ucy5wYW5lVmlld3MpLHRoaXMuX2xhYmVsUGFuZVZpZXdzLnB1c2goLi4ucy5wYW5lUHJpY2VBeGlzVmlld3MpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLnB1c2goLi4ucy5wcmljZUF4aXNWaWV3cyksdGhpcy5fcHJpY2VMaW5lQXhpc1ZpZXdzLnB1c2goLi4ucy5wcmljZUxpbmVBeGlzVmlld3MpfV9jcmVhdGVBdmVyYWdlVmlld3MoKXt9X2dldEhpZ2hMb3dQcmljZShlKXtpZighdGhpcy5faGlnaExvd1ByaWNlQ2FjaGUuaGFzKGUpKXtjb25zdCBlPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtjb25zdCB0PWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gZS5taW5NYXhPblJhbmdlQ2FjaGVkKHQscyxbe25hbWU6ImxvdyIsb2Zmc2V0OjB9LHtuYW1lOiJoaWdoIixvZmZzZXQ6MH1dKX0odGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxlLmZpcnN0QmFyKCksZS5sYXN0QmFyKCkpO2lmKG51bGw9PT10KXJldHVybiBudWxsO3RoaXMuX2hpZ2hMb3dQcmljZUNhY2hlLnNldCgxLHQubWluKSx0aGlzLl9oaWdoTG93UHJpY2VDYWNoZS5zZXQoMCx0Lm1heCl9cmV0dXJuIHRoaXMuX2hpZ2hMb3dQcmljZUNhY2hlLmdldChlKX1fZ2V0QXZlcmFnZVByaWNlKGUpe3JldHVybiBudWxsfV91cGRhdGVDb21wbGV0ZVN0YXR1c01vZGUoZSl7c3dpdGNoKGU9InB1bHNlZCI9PT1lPyJkZWxheWVkIjplKXtjYXNlInN0cmVhbWluZyI6dGhpcy5fc2V0U3RhdHVzKDMpO2JyZWFrO2Nhc2UiZW5kb2ZkYXkiOnRoaXMuX3NldFN0YXR1cyg2KTticmVhaztjYXNlImRlbGF5ZWQiOnRoaXMuX3NldFN0YXR1cyg4KTticmVhaztjYXNlInJlcGxheSI6dGhpcy5fc2V0U3RhdHVzKDExKX1lLm1hdGNoKC9kZWxheWVkX3N0cmVhbWluZy8pJiZ0aGlzLl9zZXRTdGF0dXMoOSl9X29uU2VyaWVzQ29tcGxldGVkKGUpe2lmKDE0PT09dGhpcy5fc3RhdHVzLnZhbHVlKCkuc2VyaWVzU3RhdHVzKXJldHVybjt0aGlzLl9zZW5kVGVsZW1ldHJ5Q291bnRlcigic2VyaWVzX2xvYWRlZCIsdGhpcy5fZ2V0VGVsZW1ldHJ5QWRkaXRpb25hbERhdGEoKSksdGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPW51bGwsdGhpcy5fdXBkYXRlQ29tcGxldGVTdGF0dXNNb2RlKGUudXBkYXRlTW9kZSksdGhpcy5fbGFzdENvbXBsZXRlRmxhZ3M9ZS5mbGFncz8/bnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzKSk7dC5yZWNhbGN1bGF0ZVByaWNlU2NhbGUodGhpcy5wcmljZVNjYWxlKCksKDAsZmUuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpO2NvbnN0IGk9X2UuSW52YWxpZGF0aW9uTWFzay5mdWxsKCk7aWYobnVsbCE9PXRoaXMuX21vZGVsLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpJiZpLmxvY2tWaXNpYmxlVGltZVJhbmdlT25SZXNpemUoKSx0aGlzLl9tb2RlbC5pbnZhbGlkYXRlKGkpLCF0aGlzLnByaWNlU2NhbGUoKS5pc0xvY2tTY2FsZSgpfHx0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0aGlzLl9zZXJpZXNMb2FkZWR8fCh0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuY29ycmVjdE9mZnNldCgpLHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5jb3JyZWN0QmFyU3BhY2luZygpLHRoaXMubW9kZWwoKS5yZXNldFByaWNlU2NhbGUodCx0aGlzLnByaWNlU2NhbGUoKSkpLHRoaXMuX3Nlcmllc0xvYWRlZD0hMCx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITAsCnRoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNDb21wbGV0ZWQpLHRoaXMubW9kZWwoKS5yZWNhbGNTdHVkeUJhc2VkTGluZVRvb2xzKCksIW10KXttdD0hMDsoMCxzKDc2MDA5OCkudHJhY2tUaW1pbmcpKCJDaGFydCIsIlRpbWUgdG8gc2VyaWVzIix3aW5kb3cucGVyZm9ybWFuY2Uubm93KCkpfWlmKHRoaXMucmVxdWVzdE1vcmVEYXRhKCksbnVsbCE9PXRoaXMuX3NhdmVkTGVmdEVkZ2UmJjIhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMpe2NvbnN0IGU9MWUzKnRoaXMuX3NhdmVkTGVmdEVkZ2UsdD10aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZTtzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX21vZGVsLnN5bmNUaW1lV2l0aE1vZGVsKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5zeW5jTW9kZWwoKSkuc3luY1NvdXJjZVRhcmdldCgpLGUse3RhcmdldFBvaW50QWxpZ25tZW50OiJsZWZ0IixhbGlnbklmVGFyZ2V0UG9pbnRJc1Zpc2libGU6ITAsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6ITF9KS50aGVuKCgoKT0+e3Q/LnJlc29sdmUoKX0pKS5jYXRjaCgoKCk9Pnt9KSl9KSwwKSx0aGlzLl9zYXZlZExlZnRFZGdlPW51bGwsdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2U9bnVsbH10aGlzLl9lbmFibGVQcmljZVJhbmdlUmVhZHkoKX1fb25TZXJpZXNEYXRhQ2xlYXJlZCgpe3RoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToiZnVsbCJ9KX1fbm90aWZ5SW50ZXJ2YWxDaGFuZ2VkKGUpe2NvbnN0IHQ9e3RpbWVmcmFtZTp0aGlzLl9wZW5kaW5nVGltZVJhbmdlPz92b2lkIDB9O3RoaXMuX2ludGVydmFsQ2hhbmdlZC5maXJlKGUsdCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT10LnRpbWVmcmFtZT8/bnVsbH1fb25DdXJyZW5jeUNoYW5nZWQoKXt0aGlzLl9jdXJyZW5jeUNoYW5nZWQuZmlyZSgpfV9vblVuaXRDaGFuZ2VkKCl7dGhpcy5fdW5pdENoYW5nZWQuZmlyZSgpfV9vbk1ldHJpY0NoYW5nZWQoKXt0aGlzLl9tZXRyaWNDaGFuZ2VkLmZpcmUoKX1fc2F2ZUxlZnRFZGdlSWZSZXF1aXJlZChlLHQ9bnVsbCl7aWYodGhpcy5fc2F2ZWRMZWZ0RWRnZT1udWxsLCF0JiYhZSYmdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2F2ZUxlZnRFZGdlLnZhbHVlKCkpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWUuaXNFbXB0eSgpKXtsZXQgdD1lLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKT8uZmlyc3RCYXIoKTtpZih2b2lkIDAhPT10KXtjb25zdCBzPXRoaXMuX3Nlcmllc1NvdXJjZS5kYXRhKCk/LmJhcnMoKS5maXJzdCgpO3JldHVybiBudWxsIT1zJiYodD1NYXRoLm1heCh0LHMuaW5kZXgpKSx0aGlzLl9zYXZlZExlZnRFZGdlPWUuaW5kZXhUb1RpbWVQb2ludCh0KSx0aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZT0oMCx5LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSwhMH19fXJldHVybiExfWFzeW5jIF9wcm9jZXNzUmVwbGF5T25BcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoZSx0KXtpZih0aGlzLmlzSW5SZXBsYXkoKS52YWx1ZSgpKXtjb25zdCBzPSgpPT50aGlzLl9yZW1vdmVSZXBsYXlTdWJzY3JpYmVyKCk7ZSYmKGMuSW50ZXJ2YWwuaXNSYW5nZSh0KT9zKCk6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKSh0KT9hd2FpdCB0aGlzLmNhbkNoYW5nZVJlc29sdXRpb24odCl8fHMoKToocygpLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXkuZmlyZSgzLCJjaGFuZ2VSZXNvbHV0aW9uIikpKX19YXN5bmMgX2FwcGx5U3ltYm9sUGFyYW1zQ2hhbmdlcyhlKXt0aGlzLl9sYXN0Q29tcGxldGVGbGFncz1udWxsLHRoaXMuY2xlYXJHb3RvRGF0ZVJlc3VsdCgpO2NvbnN0IHQ9dGhpcy5pbnRlcnZhbCgpLHM9dGhpcy5jdXJyZW5jeSgpLGk9dGhpcy51bml0KCksbj10aGlzLm1ldHJpYygpO2MuSW50ZXJ2YWwuaXNSYW5nZSh0KSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5yYW5nZVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5yYW5nZS5zZXRWYWx1ZShjLkludGVydmFsLnBhcnNlKHQpLm11bHRpcGxpZXIoKSk7Y29uc3R7c3ltYm9sQ2hhbmdlZDpyLGludGVydmFsQ2hhbmdlZDpvLGN1cnJlbmN5Q2hhbmdlZDphLHVuaXRDaGFuZ2VkOmwsbWV0cmljQ2hhbmdlZDp1LGZvcmNlOmR9PWUsaD1vJiZjLkludGVydmFsLnBhcnNlKHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbCkuaXNEV00oKSE9PWMuSW50ZXJ2YWwucGFyc2UodCkuaXNEV00oKTtpZigobnVsbCE9PXMmJmF8fG51bGwhPT1pJiZsfHxudWxsIT09biYmdSkmJnRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7KG51bGw9PT1lfHxudWxsIT09cyYmZS5vcmlnaW5hbF9jdXJyZW5jeV9pZCE9PXN8fG51bGwhPT1pJiZlLm9yaWdpbmFsX3VuaXRfaWQhPT1pKSYmdGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpfWlmKHRoaXMuX3N5bmNNb2RlbD1udWxsLHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbD10LDUhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMmJighdGhpcy5fc2VyaWVzU291cmNlLmlzU3RhcnRlZCgpfHxyfHxhfHxsfHx1fHxoKSYmdGhpcy5fdXBkYXRlU3ltYm9sSW5mbyhudWxsKSx0aGlzLl9wcm9jZXNzUmVwbGF5T25BcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoISFvLHQpLDU9PT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMpcmV0dXJuIHZvaWQgdGhpcy5fcmVhbGlnbkxpbmVUb29scygpO3RoaXMuX3NldFN0YXR1cygxKSx0aGlzLl91cGRhdGVJc05vblJlZ3VsYXJNYXJrZXRQcmljZXNGb3JiaWRkZW5Qcm9wZXJ0aWVzKCksdGhpcy5fdXBkYXRlQmFja0FkanVzdG1lbnRGb3JiaWRkZW5Qcm9wZXJ0eSgpLHRoaXMuX3VwZGF0ZVNldHRsZW1lbnRBc0Nsb3NlRm9yYmlkZGVuUHJvcGVydHkoKSx0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWQuZmlyZSgpLApvJiZ0aGlzLl9ub3RpZnlJbnRlcnZhbENoYW5nZWQodCksdGhpcy5fb25SZXN0YXJ0ZWQuZmlyZSgpLHRoaXMuX3Nlcmllc0xvYWRlZD0hMSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITEsdGhpcy5fbGluZVN0eWxlTGFzdFByaWNlQ2lyY2xlUGFuZVZpZXcuc3RvcEFuaW1hdGlvbigpO2xldCBtPW51bGw7dGhpcy5fcGVuZGluZ1RpbWVSYW5nZSYmKG09dGhpcy5fcGVuZGluZ1RpbWVSYW5nZSx0aGlzLl9wZW5kaW5nVGltZVJhbmdlPW51bGwpLHRoaXMuX29uVGltZUZyYW1lQXBwbGllZC5maXJlKG0pLHRoaXMuX29uQmVmb3JlTW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCksdCk7Y29uc3QgXz10aGlzLl9zaG91bGREZWZpbmVOdW1iZXJPZkJhcnNGb3JNb2RpZnlTZXJpZXMoZSkmJnRoaXMuX3Zpc2libGVCYXJzQ291bnQoKXx8bnVsbDt0aGlzLm1vZGVsKCkucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyh2LlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU2VyaWVzUmVzdGFydCksdGhpcy5fc2F2ZUxlZnRFZGdlSWZSZXF1aXJlZCghIXIsbSksdGhpcy5fZGF0YT1udWxsLHRoaXMuX3Nlcmllc1NvdXJjZS5tb2RpZnlTZXJpZXModGhpcy5fZ2V0UmVzb2x2aW5nU3ltYm9sT2JqZWN0KCksKDAscC5nZXRTZXJ2ZXJJbnRlcnZhbCkodCksbSxkLF8pLHRoaXMuX3Nlcmllc1NvdXJjZS5pc1N0YXJ0ZWQoKXx8KHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fc2VyaWVzU291cmNlLnN0YXJ0KCkpLChyfHxhfHxsKSYmdGhpcy5kaXNhYmxlUHJpY2VSYW5nZVJlYWR5KCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSx0aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZSYmYXdhaXQgdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2UucHJvbWlzZX1fcmVhbGlnbkxpbmVUb29scygpe3RoaXMubW9kZWwoKS5yZWFsaWduTGluZVRvb2xzKCl9YXN5bmMgX29uQmVmb3JlTW9kaWZ5U2VyaWVzKGUsdCl7Y29uc3Qgcz10aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCk7cz8ubW9kaWZ5U2VyaWVzKGUsdCl9X2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpe2xldCBlPXRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLl9zeW1ib2xGb3JSZXNvbHZlKCkpO2NvbnN0IHQ9dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpO3JldHVybiB0JiYoZT10LmdlbmVyYXRlUmVwbGF5U3ltYm9sKGUpKSxlfV9vblNlc3Npb25JZFByb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX3Nlc3Npb25JZENoYW5nZWQuZmlyZSgpLHRoaXMuaXNEV00oKXx8KHRoaXMuX3NhdmVMZWZ0RWRnZUlmUmVxdWlyZWQoITEpLHRoaXMucmVzdGFydCghMCksdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKCkpLHRoaXMuX3N5bmNNb2RlbD1udWxsfV9zdWJzY3JpYmVSZXN0YXJ0VG9TZXNzaW9uSWRDaGFuZ2UoKXt0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zZXNzaW9uSWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZCl9X3Vuc3Vic2NyaWJlUmVzdGFydFRvU2Vzc2lvbklkQ2hhbmdlKCl7dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2Vzc2lvbklkLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZCl9X3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpe2lmKCF0aGlzLl9vcHRpb25zLmxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWR8fCgwLGcuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfcHVsc2VfYW5pbWF0aW9uIikpcmV0dXJuO2NvbnN0IGU9dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlLHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkscz10aGlzLnN5bWJvbEluZm8oKTt0aGlzLl9sYXN0UHJpY2VBbmltYXRpb25BY3RpdmU9KDAsV2UuaXNMYXN0UHJpY2VBbmltYXRpb25BY3RpdmUpKHtzdHlsZTp0LnN0eWxlLnZhbHVlKCksdmlzaWJsZTp0LnZpc2libGUudmFsdWUoKSxpc1NuYXBzaG90OnRoaXMuX21vZGVsLmlzU25hcHNob3QoKSxoYXNTeW1ib2xJbmZvOiEhcyxpc1JlZ3VsYXJTZXNzaW9uOiFzfHwoMCxQLmlzUmVndWxhclNlc3Npb25JZCkodGhpcy5zZXNzaW9uSWRQcm94eVByb3BlcnR5KCkudmFsdWUoKSxzKSxpc0RXTTp0aGlzLmlzRFdNKCksY3VycmVudFNlc3Npb246dGhpcy5jdXJyZW50U2Vzc2lvbigpfSksdGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZlIT09dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZ0aGlzLm1vZGVsKCkuaW52YWxpZGF0ZShfZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKX1fb25Qcm9wZXJ0aWVzQ2hhbmdlZChlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7aWYoZT09PXQuc3ltYm9sfHxlPT09dC5pbnRlcnZhbHx8ZT09PXQudGltZWZyYW1lKXJldHVybjtjb25zdCBzPXRoaXMuX2lkLnZhbHVlKCk7dGhpcy5fdGFnc0NoYW5nZWQuZmlyZSgpLHRoaXMuY3JlYXRlUGFuZVZpZXcoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KShzKSksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSwoMCxfLmVtaXQpKCJzZXJpZXNfcHJvcGVydGllc19jaGFuZ2VkIixzKX1fcmVjYWxjU3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKXt0aGlzLl90ZXh0U291cmNlSXNBbHdheXNUaWNrZXJSZXN0cmljdGlvbkVuYWJsZWQ/dGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkuc2V0VmFsdWUoInRpY2tlciIpOnRoaXMuX3N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5LnNldFZhbHVlKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLmNoaWxkcygpLnN5bWJvbFRleHRTb3VyY2UudmFsdWUoKSl9X2NsZWFyU3R5bGVQbG90KGUsdCl7aWYoMD09PWUuc2l6ZSgpKXJldHVybjtpZih2b2lkIDA9PT10JiZlIT09dGhpcy5uc0JhcnMoKSlyZXR1cm4gdm9pZCh0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcz1uZXcgV2Vha01hcCkKO2NvbnN0IHM9dD8/KDAsbi5lbnN1cmVOb3ROdWxsKShlLmZpcnN0SW5kZXgoKSksaT0oMCxuLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpKzE7ZS5yYW5nZShzLGkpLmVhY2goKChlLHQpPT4odGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZGVsZXRlKHQpLCExKSkpfV92aXNpYmxlQmFyc0NvdW50KCl7Y29uc3QgZT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7cmV0dXJuIGU/LmNvdW50KCl9X3N5bWJvbEZvclJlc29sdmUoKXtjb25zdCBlPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKT90aGlzLl9zZXJpZXNTb3VyY2UucmVzb2x2ZWRTeW1ib2woKT8/ZTplfV9zaG91bGREZWZpbmVOdW1iZXJPZkJhcnNGb3JNb2RpZnlTZXJpZXMoZSl7cmV0dXJuITF9X29uU2hvd0NvdW50ZG93bkNoYW5nZWQoZSl7ZS52YWx1ZSgpP3RoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyPXRoaXMuX21vZGVsLnNldEludGVydmFsKCgoKT0+e3RoaXMuX3ByaWNlQXhpc1ZpZXcudXBkYXRlQ291bnRkb3duPy4oKSx0aGlzLl9wcm9qZWN0aW9uUHJpY2VBeGlzVmlldy51cGRhdGVDb3VudGRvd24/LigpfSksNTAwKTpudWxsIT09dGhpcy5fY291bnRkb3duVXBkYXRlVGltZXImJih0aGlzLl9tb2RlbC5jbGVhckludGVydmFsKHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyKSx0aGlzLl9jb3VudGRvd25VcGRhdGVUaW1lcj1udWxsKX1fb25Gb3JtYXR0ZXJQcm9wc0NoYW5nZWQoKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcigpLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX1fdXBkYXRlU3RhdHVzKGUpezE0IT09ZS5zZXJpZXNTdGF0dXMmJnRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblN0YXRlLnNldFZhbHVlKG51bGwpLHRoaXMuX3N0YXR1cy5zZXRWYWx1ZShlKX1fd2FzQ29tcGxldGVkQmVmb3JlKCl7cmV0dXJuIHRoaXMuaXNDb21wbGV0ZWQoKSYmKHRoaXMuX3N0dWR5QmluZGluZ3M/Lndhc0NvbXBsZXRlZEJlZm9yZSgpPz8hMCl9X2NvbG9yT25QcmV2QmFyKCl7Y29uc3QgZT1uZXcgTWFwKFtbMSwiY2FuZGxlU3R5bGUiXSxbMCwiYmFyU3R5bGUiXSxbMTksInZvbENhbmRsZXNTdHlsZSJdLFs4LCJoYVN0eWxlIl0sWzEzLCJjb2x1bW5TdHlsZSJdXSk7ZS5zZXQoMTcsInZvbEZvb3RwcmludFN0eWxlIik7Y29uc3QgdD1lLmdldCh0aGlzLnN0eWxlKCkpO3JldHVybiEhdCYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKVt0XS5jaGlsZHMoKS5iYXJDb2xvcnNPblByZXZDbG9zZS52YWx1ZSgpfV9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoZSl7dGhpcy5zdHlsZSgpPT09ZSYmdGhpcy5yZXN0YXJ0KCl9fX0sODM3MjAzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PmkuU2VyaWVzRGF0YVNvdXJjZX0pO3ZhciBpPXMoOTM1MjQwKSxuPXMoMTExOTUzKSxyPXMoODU2NTYpLG89cyg5MzAyMzEpO2kuU2VyaWVzRGF0YVNvdXJjZS5zZXROb25TZXJpZXNEYXRhVW5wYWNrZXIoci51bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZCksaS5TZXJpZXNEYXRhU291cmNlLnNldFN5bWJvbEVuY29kZXIobi5lbmNvZGVFeHRlbmRlZFN5bWJvbFN0cnVjdHVyYWwpLGkuU2VyaWVzRGF0YVNvdXJjZS5zZXRFeHRyYWN0U3ltYm9sRmVhdHVyZXNldHMoe3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiKSxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0aW5nX2xpYnJhcnlfc2luZ2xlX3N5bWJvbF9yZXF1ZXN0IiksdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVzZV90aWNrZXJfb25fc3ltYm9sX2luZm9fdXBkYXRlIiksdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIil9KX0sNDM3NzQ5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHthcHBseURlZmF1bHRDb2xvcnNUb1Byb3BzU3RhdGU6KCk9PngsYmxhY2tsaXN0ZWRQcm9wZXJ0aWVzOigpPT5rLHByZXBhcmVTdHVkeVByb3BlcnRpZXM6KCk9PlIscHJlcGFyZVN0dWR5UHJvcGVydGllc0ZvckxvYWRDaGFydDooKT0+VCxwcmVwYXJlU3R1ZHlQcm9wc1N0YXRlRm9yTG9hZENoYXJ0OigpPT5DLHN0dWR5R2VuZXJhbFByb3BzU3RhdGU6KCk9Pkksc3R1ZHlQcm9wc0V4Y2x1ZGVEZWZhdWx0c0tleXM6KCk9PlZ9KTt2YXIgaT1zKDc0MDE2Miksbj1zKDYwMTg0MSkscj1zKDIyMTA2MSksbz1zKDc5MTQyNyksYT1zKDUwNTU2KSxsPXMoMjYwNjkpLHU9cyg1MDk1NDQpLGM9cyg5NTA1NTQpLGQ9cyg4NzUzMDEpLGg9cygzNjQ0NjYpLHA9cygxNjgyNTgpLG09cyg4NzExOTQpLF89cyg1NTQ5MDQpO2NvbnN0IGc9KDAsci5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeSIpLHk9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksZj0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKSx2PSgwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpLGI9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksUz0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTUwMCIpLHc9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksUD0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKTtmdW5jdGlvbiBUKGUsdCxzLGksbixyKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHMsaSxuLHIsbyl7Y29uc3QgYT1DKGUsdCxzLGkscik7cmV0dXJuIEEodHx8ZSxuLGEsbywhMCl9KGUsdCxzLGksby5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShlKSxuLHIpfWZ1bmN0aW9uIEMoZSx0LHMscixhKXsKZS52ZXJzaW9uJiZzLnZlcnNpb24mJmUudmVyc2lvbiE9PXMudmVyc2lvbiYmZy5sb2dXYXJuKCJTZXJpYWxpemVkIG1ldGFJbmZvIHZlcnNpb24gIitlLnZlcnNpb24rIiBpcyBub3QgZXF1YWwgdG8gdGhlIHNhdmVkIHN0YXRlIHZlcnNpb24gIitzLnZlcnNpb24pO2NvbnN0IGw9dHx8ZSxjPSgwLG4uY2xvbmUpKGwuZGVmYXVsdHMpPz97fSxkPW8uU3R1ZHlNZXRhSW5mby5nZXRTdHVkeVByb3BlcnR5Um9vdE5hbWUobCksaD1vLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lKGUpO2xldCBwPUkoKTtyZXR1cm4oMCxpLmRlZmF1bHQpKHAsRShlKSksdCYmKDAsaS5kZWZhdWx0KShwLEUodCkpLCgwLGkuZGVmYXVsdCkocCwoMCxuLmNsb25lKShlLmRlZmF1bHRzKSksKDAsaS5kZWZhdWx0KShwLGMpLCgwLGkuZGVmYXVsdCkocCwoMCx1LnN0dWR5RmFjdG9yeURlZmF1bHRzKShkKSksKDAsaS5kZWZhdWx0KShwLCgwLHUuc3R1ZHlGYWN0b3J5RGVmYXVsdHMpKGgpKSwoMCxpLmRlZmF1bHQpKHAsTChsLHIsZCkpLCgwLGkuZGVmYXVsdCkocCxMKGUscixoKSksdCYmbnVsbCE9dC5fc2VydmVyTWV0YUluZm9WZXJzaW9uJiZudWxsIT1lLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24mJnQuaXNQaW5lKCkmJmUuaXNQaW5lKCkmJnQuX3NlcnZlck1ldGFJbmZvVmVyc2lvbj5lLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24/KDAsXy5tZXJnZVNlcmlhbGl6ZWRTdGF0ZVJlbWFwcGluZ0lucHV0c0J5TmFtZSkocCxzLGUsdCk6KDAsaS5kZWZhdWx0KShwLHMpLHgocCxsKSxwPXIudXBkYXRlU3R1ZHlTdGF0ZShwLGUsdCksdm9pZCAwIT09YSYmdCYmKHA9YShzLHAsZSx0KSksby5TdHVkeU1ldGFJbmZvLnZlcnNpb25PZihsKT49MSYmKDAsaS5kZWZhdWx0KShwLE0oYyxwKSkscH1mdW5jdGlvbiBFKGUpe2NvbnN0IHQ9e307aWYoZS5wbG90cylmb3IobGV0IHM9MDtzPGUucGxvdHMubGVuZ3RoO3MrKyl7Y29uc3QgaT1lLnBsb3RzW3NdLHI9aS5pZDtpZigoMCxwLmlzQ29sb3JlclBsb3QpKGkpKWNvbnRpbnVlO2NvbnN0IG89e2Rpc3BsYXk6cC5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LkFsbCxjb2xvcjp5LGxpbmVzdHlsZTpsLkxJTkVTVFlMRV9TT0xJRCxsaW5ld2lkdGg6MixwbG90dHlwZTpwLkxpbmVTdHVkeVBsb3RTdHlsZS5MaW5lLHRyYWNrUHJpY2U6ITF9OygwLHAuaXNCYXJDb2xvcmVyUGxvdCkoaSkmJihvLnRyYW5zcGFyZW5jeT0wKSxvLnBsb3R0eXBlPWkudHlwZSxvLnRpdGxlPXIsdFtyXT0oMCxuLmNsb25lKShvKX1yZXR1cm57c3R5bGVzOnR9fWZ1bmN0aW9uIEkoKXtjb25zdCBlPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlEZWZhdWx0cykoInN0dWR5IikpO3JldHVybiBlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxuLmNsb25lKShkLmludGVydmFsc1Zpc2liaWxpdGllc0RlZmF1bHRzKSxlfWZ1bmN0aW9uIEwoZSx0LHMpe2xldCBpPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlEZWZhdWx0cykocyx0KSk7cmV0dXJuIk92ZXJsYXkiIT09ZS5zaG9ydElkJiYiQ29tcGFyZSIhPT1lLnNob3J0SWR8fChpLmN1cnJlbmN5SWQ9bnVsbCxpLnVuaXRJZD1udWxsKSxlLmlzVFZTY3JpcHQmJmUuVFZTY3JpcHRTb3VyY2VDb2RlIT09aS5UVlNjcmlwdFNvdXJjZUNvZGUmJihpPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlGYWN0b3J5RGVmYXVsdHMpKHMpKSksaX1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgcz17fTtyZXR1cm4gYy5TdHVkeVZlcnNpb25pbmcubWVyZ2VJbnB1dHNPYmpQYXJ0KHMsZS5pbnB1dHM/P3t9KSxjLlN0dWR5VmVyc2lvbmluZy5tZXJnZUlucHV0c09ialBhcnQocyx0LmlucHV0cykse2lucHV0czpzfX1mdW5jdGlvbiBEKGUsdCxzLHIpe2lmKG8uU3R1ZHlNZXRhSW5mby52ZXJzaW9uT2YoZSk8MSl0aHJvdyBuZXcgRXJyb3IoIlRoaXMgZnVuY3Rpb24gY2Fubm90IHdvcmsgd2l0aCBtZXRhaW5mbyBvZiB0aGUgb2xkIGZvcm1hdCB2ZXJzaW9uLiBSZXF1aXJlZCBmb3JtYXQgdmVyc2lvbiA+PSAxIik7Y29uc3QgYT1vLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lKGUpLGw9KDAsbi5jbG9uZSkoZS5kZWZhdWx0cyksYz0oMCx1LnN0dWR5RmFjdG9yeURlZmF1bHRzKShhKSxkPUkoKTtpZigoMCxpLmRlZmF1bHQpKGQsRShlKSksKDAsaS5kZWZhdWx0KShkLGwpLCgwLGkuZGVmYXVsdCkoZCxjKSwoMCxpLmRlZmF1bHQpKGQsTChlLHIsYSkpLCgwLGkuZGVmYXVsdCkoZCx0KSwoMCxpLmRlZmF1bHQpKGQsTShsLGQpKSx4KGQsZSksbnVsbCE9PXMpe2NvbnN0IHQ9cy5tb2RlbCgpLnN0dWRpZXNDb2xvclJvdGF0b3JGYWN0b3J5KCkuZ2V0Q29sb3JSb3RhdG9yKGUpO251bGwhPT10JiYoIk92ZXJsYXlAdHYtYmFzaWNzdHVkaWVzIj09PWUuaWQ/ZC5saW5lU3R5bGUuY29sb3I9dC5nZXRDb2xvcihkLmxpbmVTdHlsZS5jb2xvcixjLmxpbmVTdHlsZS5jb2xvcj09PWQubGluZVN0eWxlLmNvbG9yKTooMCxpLmRlZmF1bHQpKGQsZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgcyBvZiBPYmplY3Qua2V5cyhlLnN0eWxlcykpe2NvbnN0IGk9ZS5zdHlsZXNbc107aWYoKDAsbi5pc09iamVjdCkoaSkmJiJjb2xvciJpbiBpKXtjb25zdCBlPWkuY29sb3I7aS5jb2xvcj10LmdldENvbG9yKGUpfX1yZXR1cm4gZX0oZCx0KSkpfXJldHVybiByLnVwZGF0ZVN0dWR5SW5wdXRzSWZOZWVkZWQoZCxkLnZlcnNpb24/P2UudmVyc2lvbixlKSxkfWZ1bmN0aW9uIHgoZSx0KXtpZih0LnBsb3RzJiZlLnN0eWxlcylmb3IobGV0IHM9MDtzPHQucGxvdHMubGVuZ3RoO3MrKyl7Y29uc3QgaT10LnBsb3RzW3NdLG49aS5pZDtpZigoMCxwLmlzTGluZVBsb3QpKGkpKXtjb25zdCB0PWUuc3R5bGVzW25dO3QmJm51bGw9PT10LmNvbG9yJiYodC5jb2xvcj15KX1lbHNlIGlmKCgwLHAuaXNTaGFwZXNQbG90KShpKSl7Y29uc3QgdD1lLnN0eWxlc1tuXTt0JiYobnVsbD09PXQuY29sb3ImJih0LmNvbG9yPWYpLG51bGw9PT10LnRleHRDb2xvciYmKHQudGV4dENvbG9yPWIpKX1lbHNlIGlmKCgwLHAuaXNDaGFyc1Bsb3QpKGkpKXtjb25zdCB0PWUuc3R5bGVzW25dO3QmJihudWxsPT09dC5jb2xvciYmKHQuY29sb3I9dyksCm51bGw9PT10LnRleHRDb2xvciYmKHQudGV4dENvbG9yPVApKX1lbHNlIGlmKCgwLHAuaXNPaGxjUGxvdCkoaSkpe2NvbnN0IHQ9ZS5vaGxjUGxvdHM/LltpLnRhcmdldF07dCYmbnVsbD09PXQuY29sb3ImJih0LmNvbG9yPXYpfX1pZihlLmJhbmRzKWZvcihsZXQgdD0wO3Q8ZS5iYW5kcy5sZW5ndGg7Kyt0KXtjb25zdCBzPWUuYmFuZHNbdF07bnVsbD09PXMuY29sb3ImJihzLmNvbG9yPVMpfX1mdW5jdGlvbiBSKGUsdCxzLGkscil7cmV0dXJuIGZ1bmN0aW9uKGUsdCxzLGkscixhKXtjb25zdCBsPUQoZSx0LHMsaSksdT1vLlN0dWR5TWV0YUluZm8uZ2V0U291cmNlSW5wdXRJZHMoZSk7cmV0dXJuIHUuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBzPWwuaW5wdXRzW2VdO3Q8YS5sZW5ndGg/bC5pbnB1dHNbZV09YCR7YVt0XS5pZCgpfSQwYDooMCxuLmlzU3RyaW5nKShzKSYmcy5pbmNsdWRlcygiJCIpJiYobC5pbnB1dHNbZV09ImNsb3NlIil9KSksQShlLHIsbCl9KGUsdCxzLGksby5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShlKSxyKX1jb25zdCBrPVsiaWQiLCJkZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uX2xvY2FsaXplZCIsInNob3J0RGVzY3JpcHRpb24iLCJfbWV0YWluZm9WZXJzaW9uIiwiaXNfcHJpY2Vfc3R1ZHkiLCJpc19oaWRkZW5fc3R1ZHkiLCJwcmljZVNjYWxlIiwiZnVsbElkIiwic2hvcnRJZCIsInNjcmlwdElkUGFydCIsInBhY2thZ2VJZCIsInByb2R1Y3RJZCIsImlzVFZTY3JpcHRTdHViIiwiZGVmYXVsdHMiLCJzeW1ib2xTb3VyY2UiLCJoaXN0b3J5Q2FsY3VsYXRpb25NYXlDaGFuZ2UiLCJmb3JtYXQiLCJsaW5rZWRUb1NlcmllcyIsImlzVFZMaWJyYXJ5IiwiZG9jcyIsImV4cG9ydHMiLCJleHBvcnRUeXBlcyIsImV4dHJhIiwidXNlc1ByaXZhdGVMaWIiLCJmaW5hbmNpYWxQZXJpb2QiLCJncm91cGluZ0tleSIsInBpbmUiLCJpc1JHQiIsImlzVFZTY3JpcHQiLCJUVlNjcmlwdE1ldGFJbmZvRXhwcnMiLCJ1c2VQbG90c1pPcmRlciIsImlzVFZTY3JpcHRTdHJhdGVneSIsIlRWU2NyaXB0U291cmNlQ29kZSIsImxvb2thaGVhZEZ1dHVyZURhdGEiLCJoYXNBbGVydEZ1bmN0aW9uIiwiZGVmYXVsdFN0cmF0ZWd5QWxlcnRNZXNzYWdlIiwidGFncyIsImNhbkJlQ2hpbGQiLCJjYW5Ob3RCZUNoaWxkIiwiX3NlcnZlck1ldGFJbmZvVmVyc2lvbiIsIndhcm5pbmdzIl07ZnVuY3Rpb24gVihlKXtjb25zdCB0PVsidmlzaWJsZSIsInByZWNpc2lvbiIsIm1pblRpY2siLCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiLCJpbnB1dHMuZmlyc3RfdmlzaWJsZV9iYXJfdGltZSIsImlucHV0cy5sYXN0X3Zpc2libGVfYmFyX3RpbWUiLCJpbnB1dHMuc3Vic2NyaWJlUmVhbHRpbWUiXTtmb3IobGV0IHM9MDtzPGUuaW5wdXRzLmxlbmd0aDsrK3Mpe2NvbnN0IGk9ZS5pbnB1dHNbc107aS5pc0hpZGRlbiYmKHQucHVzaChgaW5wdXRzLiR7c31gKSx0LnB1c2goYGlucHV0cy4ke2kuaWR9YCkpfXJldHVybiB0fWZ1bmN0aW9uIEEoZSx0LHMsaSxuKXtmb3IoY29uc3QgZSBvZiBrKWRlbGV0ZSBzW2VdO2NvbnN0IHI9bmV3IG0uU3R1ZHlEZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOnQsc3RhdGU6cyxleGNsdWRlZERlZmF1bHRzS2V5czpWKGUpLGV4Y2x1ZGVkU3RhdGVLZXlzOlsidmVyc2lvbiJdLHRoZW1lOml9KTtyLnJlbW92ZVByb3BlcnR5KCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiKSxyLmFkZENoaWxkKCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiLG5ldyBoLkludGVydmFsc1Zpc2liaWxpdGllc1Byb3BlcnR5KHMmJnMuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSksIlBpdm90UG9pbnRzU3RhbmRhcmRAdHYtYmFzaWNzdHVkaWVzIiE9PWUuaWQmJiJQaXZvdFBvaW50c0hpZ2hMb3dAdHYtYmFzaWNzdHVkaWVzIiE9PWUuaWR8fCFyLmhhc0NoaWxkKCJmb250Iil8fHIucmVtb3ZlUHJvcGVydHkoImZvbnQiKTtjb25zdCBhPW8uU3R1ZHlNZXRhSW5mby52ZXJzaW9uT2YoZSk7cmV0dXJuIHIuaGFzQ2hpbGQoInZlcnNpb24iKT9yLmNoaWxkcygpLnZlcnNpb24/LnNldFZhbHVlKGEpOnIuYWRkUHJvcGVydHkoInZlcnNpb24iLGEpLGUuVFZTY3JpcHRNZXRhSW5mb0V4cHJzJiYhbiYmci5hZGRQcm9wZXJ0eSgicGF0Y2hNZXRhSW5mb0RlZmF1bHRzIiwhMCkscn19LDg3MjM0MyhlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0PSJzaGlmdCIscyl7cmV0dXJue3N0dWR5Q29uc3RydWN0b3JBc3luY0dldHRlcjplLGNvbG9yUm90YXRpb25Nb2RlOnQsY29sb3JSb3RhdGlvbkNvbXBhcmF0b3I6c319cy5kKHQse2FkZFN0dWR5SW5mb1RvTWFwOigpPT5yLGNyZWF0ZVN0dWR5SW5mbzooKT0+aSxnZXRTdHVkeUNsYXNzTmFtZTooKT0+YSxnZXRTdHVkeUluZm9CeU5hbWU6KCk9Pm99KTtjb25zdCBuPW5ldyBNYXA7ZnVuY3Rpb24gcihlLHQpe24uc2V0KGUsdCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbi5nZXQoZSl9ZnVuY3Rpb24gYShlKXtmb3IoY29uc3RbdCxzXW9mIG4uZW50cmllcygpKWlmKHMuc3R1ZHlDb25zdHJ1Y3Rvcj09PWUpcmV0dXJuIHQ7cmV0dXJuIG51bGx9fSw2MDUyNTcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7ZW1wdHlQaW5lSWQ6KCk9Pl8uZW1wdHlQaW5lSWQsaXNTdHVkeURlc2NyaXB0b3I6KCk9Pl8uaXNTdHVkeURlc2NyaXB0b3Isc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnk6KCk9PnZ9KTt2YXIgaT1zKDgzOTQyNiksbj1zKDE4NTI3MSkscj1zKDEzODYzOCksbz1zKDIyMTA2MSksYT1zKDc5MTQyNyksbD1zKDI3NDM5OSksdT1zKDg3NDMwNiksYz1zKDk1MDU1NCksZD1zKDM2MjI4OSksaD1zKDM2ODMxMikscD1zKDMwOTM2MCksbT1zKDc2ODc2MCksXz1zKDQ2MDM2MCk7Y29uc3QgZz0oMCxvLmdldExvZ2dlcikoIkNoYXJ0LlN0dWRpZXMuU3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkiLHtjb2xvcjoiIzYwNiJ9KTtjbGFzcyB5e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzUmVhZHk9ITEsdGhpcy5fc3R1ZHlWZXJzaW9uaW5nPW51bGwsdGhpcy5fcmF3U3R1ZGllc01ldGFJbmZvPVtdLHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZT1udWxsLAp0aGlzLl9qYXZhU3R1ZGllc01ldGFJbmZvPVtdLHRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlPVtdLHRoaXMuX2NvbXBpbGVFcnJvcnM9bmV3IFdlYWtNYXAsdGhpcy5fc3R1ZGllc01pZ3JhdGlvbnM9W10sdGhpcy5fY2hhcnRBcGk9ZX1hc3luYyByZXF1ZXN0TWV0YUluZm8oKXtpZihudWxsPT09dGhpcy5fcmF3U3R1ZGllc01ldGFJbmZvRGVmZXJyZWRQcm9taXNlKXt0aGlzLl9yYXdTdHVkaWVzTWV0YUluZm9EZWZlcnJlZFByb21pc2U9KDAsbS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCk7Y29uc3QgZT1hd2FpdCB0aGlzLl9jaGFydEFwaS5yZXF1ZXN0TWV0YWRhdGEoKSx0PWUucGFyYW1zWzFdLm1ldGFpbmZvLnNsaWNlKCk7e2NvbnN0IHM9ZS5wYXJhbXNbMV0ubWlncmF0aW9ucy5zbGljZSgpO3RoaXMuX3Byb2Nlc3NTaXRlTWV0YUluZm8odCxzKX10aGlzLl9zdHVkeVZlcnNpb25pbmc9bmV3IGMuU3R1ZHlWZXJzaW9uaW5nKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8sdGhpcy5fc3R1ZGllc01pZ3JhdGlvbnMpLHRoaXMuX3JlcXVlc3RGaW5pc2hlZCgpLHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZS5yZXNvbHZlKHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbyl9cmV0dXJuIHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZS5wcm9taXNlfWFzeW5jIGZpbmRCeUlkKGUpe3RoaXMuX2lzUmVhZHl8fGF3YWl0IHRoaXMucmVxdWVzdE1ldGFJbmZvKCk7Y29uc3QgdD10aGlzLl9maW5kU3R1ZHlNZXRhSW5mbyhlKTtpZihudWxsIT09dCl7Y29uc3QgZT10aGlzLl9jb21waWxlRXJyb3JzLmdldCh0KTtyZXR1cm4gZT9Qcm9taXNlLnJlamVjdChlKTpQcm9taXNlLnJlc29sdmUodCl9cmV0dXJuInBpbmUiPT09ZS50eXBlP3RoaXMuX2NvbXBpbGVQaW5lKGUpOlByb21pc2UucmVqZWN0KGB1bmV4cGVjdGVkIHN0dWR5IGlkPSR7ZS5zdHVkeUlkfSB3aXRoIHR5cGU9JHtlLnR5cGV9YCl9ZmluZEJ5SWRTeW5jKGUpe3JldHVybiB0aGlzLl9maW5kU3R1ZHlNZXRhSW5mbyhlKX1pc1JlYWR5KCl7cmV0dXJuIHRoaXMuX2lzUmVhZHl9YXN5bmMgZmluZEFsbEphdmFTdHVkaWVzKCl7cmV0dXJuIHRoaXMuX2lzUmVhZHl8fGF3YWl0IHRoaXMucmVxdWVzdE1ldGFJbmZvKCksdGhpcy5famF2YVN0dWRpZXNNZXRhSW5mb31zdHVkeVZlcnNpb25pbmcoKXtyZXR1cm4oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0dWR5VmVyc2lvbmluZyl9Z2V0SW50ZXJuYWxNZXRhSW5mb0FycmF5KCl7cmV0dXJuIHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm99YWRkUGluZU1ldGFJbmZvKGUsdCl7Y29uc3Qgcz1mKHRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlLGUpO3JldHVybiB0JiYoIUFycmF5LmlzQXJyYXkodCl8fHQubGVuZ3RoPjApJiYodD1BcnJheS5pc0FycmF5KHQpP25ldyBwLlBpbmVDb21waWxlRmFpbEVycm9ySW1wbCh7d2FybmluZ3M6W10sZXJyb3JzOnR9LGUpOnQsdGhpcy5fY29tcGlsZUVycm9ycy5zZXQocyx0KSksc31hc3luYyBnZXRMYXRlc3RNZXRhSW5mb0ZvclBpbmVTdHVkeShlLHQpe2NvbnN0IHM9YXdhaXQoMCxoLnJlcXVlc3RVc2VyU2NyaXB0cykoKTtsZXQgaTtpZihzKXtjb25zdCBuPXMuZmluZCgodD0+dC5zY3JpcHRJZFBhcnQ9PT1lKSk7aWYobil7Y29uc3QgZT11LlZlcnNpb24ucGFyc2UodCkscz11LlZlcnNpb24ucGFyc2Uobi52ZXJzaW9uKTtlLmlzTGVzcyhzKSYmKGk9bi52ZXJzaW9uKX19aWYodm9pZCAwIT09aSl7Y29uc3QgdD17dHlwZToicGluZSIscGluZUlkOmUscGluZVZlcnNpb246aX07cmV0dXJuIHRoaXMuZmluZEJ5SWQodCl9cmV0dXJuIG51bGx9X3Byb2Nlc3NNaWdyYXRpb25zKGUpe3RoaXMuX3N0dWRpZXNNaWdyYXRpb25zPVtdO2ZvcihsZXQgdD0wO2UmJnQ8ZS5sZW5ndGg7dCsrKXRoaXMuX3N0dWRpZXNNaWdyYXRpb25zLnB1c2goZVt0XSl9X3Byb2Nlc3NTaXRlTWV0YUluZm8oZSx0KXtmb3IoY29uc3QgdCBvZiBlKWMuU3R1ZHlWZXJzaW9uaW5nLnZlcmlmeUlucHV0c01heFZhbHVlKHQpLChpPXQpLmRlc2NyaXB0aW9uX2xvY2FsaXplZD1uLnQoaS5kZXNjcmlwdGlvbix7Y29udGV4dDoic3R1ZHkifSxzKDg4NDY5MykpO3ZhciBpO3RoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbz1lLHRoaXMuX3Byb2Nlc3NNaWdyYXRpb25zKHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbylmKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8sZSk7KDAsZC5vdmVycmlkZVN0dWR5RGVmYXVsdHMpKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8pfV9wcm9jZXNzTGlicmFyeU1ldGFJbmZvKGUpe31fcmVxdWVzdEZpbmlzaGVkKCl7dGhpcy5faXNSZWFkeT0hMH1fZmluZFN0dWR5TWV0YUluZm8oZSl7cmV0dXJuImphdmEiPT09ZS50eXBlPygoMCxyLmFzc2VydCkoMCE9PXRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8ubGVuZ3RoLCJKYXZhIHN0dWRpZXMgbWV0YWluZm8gc2hvdWxkIGJlIGRlZmluZSBoZXJlIiksdGhpcy5famF2YVN0dWRpZXNNZXRhSW5mby5maW5kKCh0PT50LmlkPT09ZS5zdHVkeUlkKSl8fG51bGwpOnRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlLmZpbmQoKHQ9PnQuc2NyaXB0SWRQYXJ0PT09ZS5waW5lSWQmJih2b2lkIDA9PT1lLnBpbmVWZXJzaW9ufHwoMCxyLmVuc3VyZURlZmluZWQpKHQucGluZSkudmVyc2lvbj09PWUucGluZVZlcnNpb24pKSl8fG51bGx9X2NvbXBpbGVQaW5lKGUpe2cubG9nTm9ybWFsKGBDb21waWxpbmcgJHtlLnBpbmVJZH0gc2NyaXB0YCk7Y29uc3QgdD0oMCxoLnRyYW5zbGF0ZVNjcmlwdEFzeW5jMikoZS5waW5lSWQsZS5waW5lVmVyc2lvbnx8Imxhc3QiKS50aGVuKCgoe21ldGFJbmZvOnQsY29tcGlsZUVycm9yczpzfSk9PihnLmxvZ05vcm1hbChgQ29tcGlsaW5nICR7ZS5waW5lSWR9IGlzIHN1Y2Nlc3NmdWxgKSx0aGlzLmFkZFBpbmVNZXRhSW5mbygoMCxyLmVuc3VyZURlZmluZWQpKHQpLHMuZXJyb3JzKSkpKTtyZXR1cm4gdC5jYXRjaCgodD0+e3QgaW5zdGFuY2VvZiBwLlBpbmVDb21waWxlRmFpbEVycm9ySW1wbCYmdGhpcy5hZGRQaW5lTWV0YUluZm8odC5tZXRhSW5mbyx0KSwKZy5sb2dOb3JtYWwoYENvbXBpbGluZyAke2UucGluZUlkfSBpcyBmYWlsZWRgKX0pKSx0fX1mdW5jdGlvbiBmKGUsdCl7Y29uc3Qgcz1uZXcgYS5TdHVkeU1ldGFJbmZvKHQpLnN0YXRlKCk7KDAsbC5taWdyYXRlTWV0YUluZm9BbmRQcm9wU3RhdGUpKHMpO2NvbnN0IGk9bmV3IGEuU3R1ZHlNZXRhSW5mbyhzKTtsZXQgbj0hMDtjb25zdCByPWUuZmluZEluZGV4KChlPT5lLmlkPT09aS5pZCkpO2lmKC0xPT09cillLnB1c2goaSk7ZWxzZXtjb25zdCB0PWVbcl0scz12b2lkIDAhPT10LnBpbmU/dS5WZXJzaW9uLnBhcnNlKHQucGluZS52ZXJzaW9uKTpudWxsLG89dm9pZCAwIT09aS5waW5lP3UuVmVyc2lvbi5wYXJzZShpLnBpbmUudmVyc2lvbik6bnVsbDtudWxsPT09b3x8bnVsbD09PXN8fG8uaXNHcmVhdGVyT3JFcXVhbChzKT8oKDAsZC5yZW1vdmVTdHVkeURlZmF1bHRzKSh0KSxlW3JdPWkpOm49ITF9cmV0dXJuIG4mJigwLGQuY3JlYXRlU3R1ZHlEZWZhdWx0cykoaSksaX1jb25zdCB2PSgwLGkuZGVmYXVsdCkoKCgpPT5uZXcgeSh3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZSkpKX0sODIyNzI2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1RleHRXaWR0aENhY2hlOigpPT5yLGdldE1pblRleHRNZXRyaWNzOigpPT5ufSk7dmFyIGk9cyg1MTcyOTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJue3dpZHRoOmUud2lkdGgsYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQ6ZS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCxhY3R1YWxCb3VuZGluZ0JveERlc2NlbnQ6ZS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQsZm9udEJvdW5kaW5nQm94QXNjZW50OmUuZm9udEJvdW5kaW5nQm94QXNjZW50LGZvbnRCb3VuZGluZ0JveERlc2NlbnQ6ZS5mb250Qm91bmRpbmdCb3hEZXNjZW50fX1jbGFzcyBye2NvbnN0cnVjdG9yKGU9MTUwKXt0aGlzLl9mb250U3R5bGU9IiIsdGhpcy5fY2FjaGU9bmV3IGkuQ2lyY3VsYXJDYWNoZUJ1ZmZlcihlLDEuNSl9cmVzZXQoKXt0aGlzLl9jYWNoZS5jbGVhcigpfW1lYXN1cmVUZXh0KGUsdCxzKXtsZXQgaT10O3JldHVybiBzPy5tb25vJiYoaT10LnJlcGxhY2UoL1xkL2csIjAiKSksdGhpcy5nZXRNZXRyaWNzKGUsaSkud2lkdGh9eU1pZENvcnJlY3Rpb24oZSx0KXtjb25zdCBzPXRoaXMuZ2V0TWV0cmljcyhlLHQpO3JldHVybiB2b2lkIDAhPT1zLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50JiZ2b2lkIDAhPT1zLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudD8ocy5hY3R1YWxCb3VuZGluZ0JveEFzY2VudC1zLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCkvMjowfWdldE1ldHJpY3MoZSx0KXtlLmZvbnQhPT10aGlzLl9mb250U3R5bGUmJih0aGlzLnJlc2V0KCksdGhpcy5fZm9udFN0eWxlPWUuZm9udCk7Y29uc3Qgcz10aGlzLl9jYWNoZS5nZXQodCk7aWYodm9pZCAwIT09cylyZXR1cm4gcztjb25zdCBpPWUudGV4dEJhc2VsaW5lO2UudGV4dEJhc2VsaW5lPSJtaWRkbGUiO2NvbnN0IHI9bihlLm1lYXN1cmVUZXh0KHQpKTtyZXR1cm4gZS50ZXh0QmFzZWxpbmU9aSwwPT09ci53aWR0aCYmdC5sZW5ndGh8fHRoaXMuX2NhY2hlLnNldCh0LHIpLHJ9fX0sNjM5MTEzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3NldFN1cHBvcnRQb3J0YWxQcm9ibGVtc0hvc3Q6KCk9Pm4sc3VwcG9ydFBvcnRhbFByb2JsZW1zSG9zdDooKT0+aX0pO2xldCBpPSIiO2Z1bmN0aW9uIG4oZSl7aT1lfX0sNzcwNzU1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5QYXl3YWxsOigpPT5vfSk7dmFyIGk9cyg5MzAyMzEpLG49cyg5OTk2NDApLHI9cyg0Mzg1MzkpO3MoMzAwMjg2KTthc3luYyBmdW5jdGlvbiBvKGUsdD17fSl7aWYobi5wYXl3YWxsTW9iaWxlSW50ZXJjZXB0b3IuaXNIaWRkZW5GZWF0dXJlKGUuZmVhdHVyZSkpcmV0dXJuIHZvaWQgbi5wYXl3YWxsTW9iaWxlSW50ZXJjZXB0b3IuaW52b2tlKGUuZmVhdHVyZSk7aWYoKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpKXJldHVybigwLHIuc2hvd0dvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nKSh7ZmVhdHVyZTplLmZlYXR1cmV9KTtjb25zdHtwYXl3YWxsczpvfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDg0NjkzKSxzLmUoNDk2ODQpLHMuZSgyOTI5Nikscy5lKDYwMDYyKSxzLmUoMjAzNTQpLHMuZSg1MTg0KSxzLmUoMTEyMTgpLHMuZSg3MjY2Nikscy5lKDMyNjMyKSxzLmUoNTA2MjIpLHMuZSgzMzIyMSkscy5lKDU5MzUwKSxzLmUoMzMyMykscy5lKDM4MjYyKSxzLmUoODc0NzQpLHMuZSgzMjM4Nykscy5lKDc1NDg5KSxzLmUoNjg3NDEpLHMuZSg3MDU5MCkscy5lKDg2MDAxKV0pLnRoZW4ocy5iaW5kKHMsODE3ODE2KSk7by5vcGVuKGUsdCl9fSw2NTcyNDUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c2V0TmV3QmxhY2tDb2xvcjooKT0+aX0pO2NvbnN0IGk9KDAscyg1NjkzOTgpLmlzRmVhdHVyZUVuYWJsZWQpKCJzZXRfbmV3X2JsYWNrX2NvbG9yIil9LDk1MTQ2OShlKXsidXNlIHN0cmljdCI7dmFyIHQ9e30scz17WENCVDoiQ0JPVCIsWE5ZTToiTllNRVgiLFhDTUU6IkNNRSIsWENFQzoiQ09NRVgifTt0LmNvbnZlcnRTeW1ib2xEYXRhVG9UVj1mdW5jdGlvbihlLHQsaSl7cmV0dXJuIGk9Mj09PWl8fCJmbG9vciI9PT1pfHwicGl0Ij09PWk/IlBJVCI6IkdCWCIsdCYmc1t0XT97c3RhdHVzOiJvayIsZGF0YTp7c3ltYm9sOmUsZXhjaGFuZ2U6c1t0XSsiXyIraX19OntzdGF0dXM6ImVycm9yIixkYXRhOiJFeGNoYW5nZSBgIit0KyJgIGlzIG5vdCBzdXBwb3J0ZWQifX0sZS5leHBvcnRzPXR9LDUyODM5NihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7Z2V0VHJhbnNsYXRlZFN5bWJvbERlc2NyaXB0aW9uOigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1gIyR7ZX0tc3ltYm9sLWRlc2NyaXB0aW9uYCxuPWkudCh0LHZvaWQgMCxzKDI1ODY2NykpO3JldHVybiBuPT09dD9udWxsOm59ZnVuY3Rpb24gcihlKXtpZih2b2lkIDAhPT1lLnByb19uYW1lKXtjb25zdCB0PW4oZS5wcm9fbmFtZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQKO2lmKHZvaWQgMCE9PWUuc2hvcnRfbmFtZSl7Y29uc3QgdD1uKGUuc2hvcnRfbmFtZSk7aWYobnVsbCE9PXQpcmV0dXJuIHR9fXJldHVybiJlbiIhPT1lLmxhbmd1YWdlJiZ2b2lkIDAhPT1lLmxvY2FsX2Rlc2NyaXB0aW9uJiZlLmxhbmd1YWdlPT09d2luZG93Lmxhbmd1YWdlfHwiZW4iPT09ZS5sYW5ndWFnZSYmdm9pZCAwIT09ZS5sb2NhbF9kZXNjcmlwdGlvbiYmZS5sYW5ndWFnZT09PXdpbmRvdy5sYW5ndWFnZT9lLmxvY2FsX2Rlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb258fCIifX0sNzQ5ODE0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQpe3R8fCh0PXt9KSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9e2NtcDp0fSk7dmFyIHM9dC5zcGFjZXx8IiI7Im51bWJlciI9PXR5cGVvZiBzJiYocz1BcnJheShzKzEpLmpvaW4oIiAiKSk7dmFyIGksbz0iYm9vbGVhbiI9PXR5cGVvZiB0LmN5Y2xlcyYmdC5jeWNsZXMsYT10LnJlcGxhY2VyfHxmdW5jdGlvbihlLHQpe3JldHVybiB0fSxsPXQuY21wJiYoaT10LmNtcCxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxzKXt2YXIgbj17a2V5OnQsdmFsdWU6ZVt0XX0scj17a2V5OnMsdmFsdWU6ZVtzXX07cmV0dXJuIGkobixyKX19KSx1PVtdO3JldHVybiBmdW5jdGlvbiBlKHQsaSxjLGQpe3ZhciBoPXM/IlxuIituZXcgQXJyYXkoZCsxKS5qb2luKHMpOiIiLHA9cz8iOiAiOiI6IjtpZihjJiZjLnRvSlNPTiYmImZ1bmN0aW9uIj09dHlwZW9mIGMudG9KU09OJiYoYz1jLnRvSlNPTigpKSx2b2lkIDAhPT0oYz1hLmNhbGwodCxpLGMpKSl7aWYoIm9iamVjdCIhPXR5cGVvZiBjfHxudWxsPT09YylyZXR1cm4gSlNPTi5zdHJpbmdpZnkoYyk7aWYobihjKSl7Zm9yKHZhciBtPVtdLF89MDtfPGMubGVuZ3RoO18rKyl7dmFyIGc9ZShjLF8sY1tfXSxkKzEpfHxKU09OLnN0cmluZ2lmeShudWxsKTttLnB1c2goaCtzK2cpfXJldHVybiJbIittLmpvaW4oIiwiKStoKyJdIn1pZigtMSE9PXUuaW5kZXhPZihjKSl7aWYobylyZXR1cm4gSlNPTi5zdHJpbmdpZnkoIl9fY3ljbGVfXyIpO3Rocm93IG5ldyBUeXBlRXJyb3IoIkNvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04iKX11LnB1c2goYyk7dmFyIHk9cihjKS5zb3J0KGwmJmwoYykpO2ZvcihtPVtdLF89MDtfPHkubGVuZ3RoO18rKyl7dmFyIGY9ZShjLGk9eVtfXSxjW2ldLGQrMSk7aWYoZil7dmFyIHY9SlNPTi5zdHJpbmdpZnkoaSkrcCtmO20ucHVzaChoK3Mrdil9fXJldHVybiB1LnNwbGljZSh1LmluZGV4T2YoYyksMSksInsiK20uam9pbigiLCIpK2grIn0ifX0oeyIiOmV9LCIiLGUsMCl9cy5kKHQse3NvcnRlZFN0cmluZ2lmeTooKT0+aX0pO3ZhciBuPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT17fS50b1N0cmluZy5jYWxsKGUpfSxyPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5fHxmdW5jdGlvbigpe3JldHVybiEwfSxzPVtdO2Zvcih2YXIgaSBpbiBlKXQuY2FsbChlLGkpJiZzLnB1c2goaSk7cmV0dXJuIHN9fSwxMTM1NjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cHJlcGFyZUN1cnJlbmN5Rm9yRGlzcGxheTooKT0+cixwcmVwYXJlQ3VycmVuY3lWYWx1ZTooKT0+bn0pO3ZhciBpPXMoMTg1MjcxKTtmdW5jdGlvbiBuKGUpe2xldCB0PVtdO2NvbnN0IG49ZnVuY3Rpb24oZSl7c3dpdGNoKGUpe2Nhc2UiUENUIjpjYXNlIlBDVFBBUiI6cmV0dXJuIiUiO2Nhc2UiUENUR0RQIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDU1ODQxMikpO2Nhc2UiREVHQyI6cmV0dXJuIuKEgyI7ZGVmYXVsdDpyZXR1cm4gZX19KGUuY3VycmVuY3lfY29kZXx8ZS52YWx1ZV91bml0X2lkfHwiIik7c3dpdGNoKGUubWVhc3VyZSl7Y2FzZSJwcmljZSI6Y2FzZSJ1bml0Ijp0PVtuLGUudW5pdF9pZF07YnJlYWs7ZGVmYXVsdDp0PVtuXX1yZXR1cm4gdC5maWx0ZXIoQm9vbGVhbikuam9pbigi4oCJL+KAiSIpfWZ1bmN0aW9uIHIoZSx0KXtyZXR1cm4iJSI9PT10JiZ2b2lkIDAhPT1lP3t2YWx1ZTpgJHtlfSVgLGN1cnJlbmN5OnZvaWQgMH06e3ZhbHVlOmUsY3VycmVuY3k6dHx8dm9pZCAwfX19LDQzMzUzNChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0IDQ0IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMjkuNDggMTUuMzJjLS4xNi0uMTQtLjQtLjA3LS40OC4xM2E2LjA1IDYuMDUgMCAwIDEtMi4zOCAzLjEzIDYuMTYgNi4xNiAwIDAgMS0uOC40MmMtLjA2LjAzLS4xNC0uMDMtLjEzLS4xYTE5LjQ1IDE5LjQ1IDAgMCAwIC4wOC0uOXYtLjFjLjM4LTUuOTEtMi40My05LjEzLTQuNTktMTAuNDFhNy40IDcuNCAwIDAgMC0uNzktLjRjLS4xLS4wNS0uMjEuMTMtLjIuMjRhNS43IDUuNyAwIDAgMS0uMDQuNzN2LjAxYy0uMjcgMi40OS0yLjIyIDQuMjktNC4yMSA2LjE0LTEuNjMgMS41LTMuMjkgMy4wNS00LjExIDUuMDJhMTAuNDggMTAuNDggMCAwIDAtLjgzIDQuMDZBMTAuOSAxMC45IDAgMCAwIDIwLjE3IDM0Yy45NS0uNTkgMS4zNC0xLjgyIDEuMzMtMy4wNCAwLS4zNS0uMDQtLjctLjExLTEuMDMuMjggMCAuNjguMTQgMS4wNy40MUEzLjM2IDMuMzYgMCAwIDEgMjMuODMgMzQgMTAuODkgMTAuODkgMCAwIDAgMzMgMjMuMjljMC0zLjE1LTEuMzYtNS45OC0zLjUyLTcuOTdabS00LjU2IDE3LjRjNC4xLTEuMjMgNy4wOC01IDcuMDgtOS40MyAwLTIuNS0uOTQtNC43OC0yLjUtNi41MmE2LjQzIDYuNDMgMCAwIDEtMy4yNyAzLjE0bS0xLjMgMTIuODFhNC4zIDQuMyAwIDAgMC0yLjItMy4zOWMtLjQtLjIzLS44OC0uNC0xLjM0LS40aC0xLjIybC4yNCAxLjJjLjEzLjYyLjEyIDEuMy0uMDMgMS44Ni0uMS40MS0uMjcuNzMtLjQ4Ljk0QTkuOSA5LjkgMCAwIDEgMTIgMjMuM2MwLTEuMy4yNy0yLjUzLjc1LTMuNjcuNDItMSAxLjEtMS45MSAxLjk1LTIuODEuNi0uNjQgMS4yMy0xLjIzIDEuOS0xLjg0bC44Ny0uODJjMS41Ny0xLjUgMy4yLTMuMjIgMy42MS01LjU0IDEuOSAxLjM0IDQuMjkgNC40NCAzLjYxIDEwLjE2LS4wOS43OC43IDEuNTIgMS41NSAxLjE0Ii8+PC9zdmc+J30sODczNzk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NCA0NCIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yOCAxNkgxNnYxaDEydi0xWk0yOCAyMEgxNnYxaDEydi0xWk0xNiAyNGgxMnYxSDE2di0xWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMjIgMzAtMTAgNFYxMmExIDEgMCAwIDEgMS0xaDE4YTEgMSAwIDAgMSAxIDF2MjJsLTEwLTRabS05IDIuNTJWMTJoMTh2MjAuNTJsLTktMy42LTkgMy42WiIvPjwvc3ZnPid9LDgwOTQzNihlKXsidXNlIHN0cmljdCIKO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImR1ciI6IjM1MG1zIiwiZHVyLWZhc3QiOiI2MG1zIiwiZWFzZS1pbi1saWtlIjoiY3ViaWMtYmV6aWVyKDAuMzMsIDAsIDAuMTEsIDEpIiwiZWFzZS1vdXQtbGlrZSI6ImN1YmljLWJlemllcigwLjg5LCAwLCAwLjY3LCAxKSIsInNpemUtZmVlZC1pdGVtLXdpZHRoIjoiNDgwcHgiLCJzaXplLWZlZWQtaGlkZW50IjoiMjBweCIsInNpemUtZmVlZC12aWRlbnQiOiIyMHB4Iiwic2l6ZS1iYXNlLWluZGVudCI6IjRweCIsInNpemUtbGF5b3V0LXNtYWxsLWhvcnpwYWRkaW5nIjoiMTJweCIsInNpemUtbGF5b3V0LWhvcnpwYWRkaW5nIjoiMjBweCIsInNpemUtZHJhd2luZ3MtdG9vbGJhci1pdGVtLWhlaWdodCI6IjM4cHgiLCJzaXplLWhlYWRlci1saW5raW5kZW50IjoiMTVweCIsInNpemUtaGVhZGVyLWhlaWdodCI6IjY0cHgiLCJzaXplLW5hdi1oZWFkZXItaGVpZ2h0IjoiNThweCIsInNpemUtc3RpY2t5LXN5bWJvbC1oZWFkZXItaGVpZ2h0IjoiNjRweCIsInNpemUtZGlhbG9nLWZpeGVkLWhlYWRlci1oZWlnaHQiOiI3MnB4Iiwic2l6ZS1zaXRlLXdpZGdldC1wYWRkaW5nIjoiMjBweCIsInNpemUtc2l0ZS13aWRnZXQtcGFkZGluZy10YWJsZXQiOiIxMnB4Iiwic2l6ZS1jb2xsYXBzZS10YWJzLWhlaWdodCI6IjU2cHgiLCJzaXplLW5vLXNjcm9sbC1jaG9pY2VyLWhlaWdodCI6IjU2cHgiLCJzaXplLW1haW4tY2hhcnQtYXJlYS1pbmRlbnQiOiI0cHgiLCJzaXplLW1haW4tY2hhcnQtYXJlYS1yYWRpdXMiOiIwIiwic2l6ZS1zZWFyY2hiYXItaGVpZ2h0IjoiODBweCIsInNpemUtc2VhcmNoYmFyLWhlaWdodC10YWJsZXQiOiI1NHB4Iiwic2l6ZS1zZWFyY2hiYXItYnRuLXdpZHRoLXRhYmxldCI6IjY2cHgiLCJzaXplLWNvbnRlbnQtdG9wLXZpbmRlbnQiOiI0OHB4Iiwic2l6ZS1sYXlvdXQtd2lkdGgiOiIxMDIwcHgiLCJzaXplLWxheW91dC13aWR0aC13aWRlIjoiMTUyMHB4Iiwic2l6ZS1jaGVja2JveC1zaWRlIjoiMThweCIsInNpemUtY2hlY2tib3gtY2xpY2stZXhwYW5kIjoiMTBweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLXhzbWFsbCI6IjE5cHgiLCJzaXplLWNvbnRyb2wtaW5wdXQtaGVpZ2h0LS1zbWFsbCI6IjI3cHgiLCJzaXplLWNvbnRyb2wtaW5wdXQtaGVpZ2h0IjoiMzRweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLWxhcmdlIjoiNDhweCIsInNpemUtY29udHJvbC1pbnB1dC1wYWRkaW5nLWhvcnoiOiIxMnB4Iiwic2l6ZS10YWJzLWhvcnotaW5kZW50IjoiMTZweCIsInNpemUtYXZhdGFyLWJvcmRlci1yYWRpdXMiOiIzcHgiLCJzaXplLWNoYXJ0LXZpZXctc3BhY2luZyI6IjI1cHgiLCJzaXplLWNoYXJ0LXZpZXctc3BhY2luZy10YWJsZXQiOiIyMHB4IiwicmFkaXVzLWVtYmVkLXdpZGdldC13cmFwcGVyIjoiM3B4IiwidHlwb2dyYXBoeS1wbGF0Zm9ybS1yZWd1bGFyLTE2cHgtbGluZS1oZWlnaHQiOiIyNHB4IiwidHlwb2dyYXBoeS1wbGF0Zm9ybS1yZWd1bGFyLTE4cHgtbGluZS1oZWlnaHQiOiIyOHB4IiwibWVkaWEtbm90ZWJvb2siOiJhbGwgYW5kIChtYXgtd2lkdGg6IDE1MzBweCkiLCJtZWRpYS10YWJsZXQiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDEwMTlweCkiLCJtZWRpYS1waG9uZSI6ImFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIiwibWVkaWEtcGhvbmUtdmVydGljYWwiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSIsIm1lZGlhLWV4dHJlbWUtdGhpbiI6ImFsbCBhbmQgKG1heC13aWR0aDogMzI5cHgpIiwibWVkaWEtc2hvdy1kcmF3ZXIiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDU2N3B4KSIsIm1lZGlhLW1mLWxlZ2FjeS1waG9uZS12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMzMwcHgpIiwibWVkaWEtbWYtbGVnYWN5LXBob25lIjoiYWxsIGFuZCAobWluLXdpZHRoOiA0ODBweCkiLCJtZWRpYS1tZi1sZWdhY3ktbm90ZWJvb2siOiJhbGwgYW5kIChtaW4td2lkdGg6IDEwMjBweCkiLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDE0ODBweCkiLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTUzMXB4KSIsIm1lZGlhLW1mLXBob25lLXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiAzMjBweCkiLCJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtaW4td2lkdGg6IDU2OHB4KSIsIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1pbi13aWR0aDogNzY4cHgpIiwibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSIsIm1lZGlhLW1mLWxhcHRvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSIsIm1lZGlhLW1mLWRlc2t0b3AtbWVkaXVtIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1sYXJnZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSIsIm1lZGlhLW1mLWRlc2t0b3AtZXh0cmEtbGFyZ2UiOiJhbGwgYW5kIChtaW4td2lkdGg6IDI1NjBweCkiLCJjb250YWluZXItdGFibGV0IjoiKG1heC13aWR0aDogMTAxOXB4KSIsImNvbnRhaW5lci1waG9uZSI6IihtYXgtd2lkdGg6IDc2N3B4KSIsImNvbnRhaW5lci1waG9uZS12ZXJ0aWNhbCI6IihtYXgtd2lkdGg6IDQ3OXB4KSIsImNvbnRhaW5lci1tZi1waG9uZS12ZXJ0aWNhbCI6IihtaW4td2lkdGg6IDMwMHB4KSIsImNvbnRhaW5lci1tZi1waG9uZS1sYW5kc2NhcGUiOiIobWluLXdpZHRoOiA1NDhweCkiLCJjb250YWluZXItbWYtdGFibGV0LXZlcnRpY2FsIjoiKG1pbi13aWR0aDogNzAycHgpIiwiY29udGFpbmVyLW1mLXRhYmxldC1sYW5kc2NhcGUiOiIobWluLXdpZHRoOiA5NThweCkiLCJjb250YWluZXItbWYtbGFwdG9wIjoiKG1pbi13aWR0aDogMTIxNHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLW1lZGl1bSI6IihtaW4td2lkdGg6IDEzNzRweCkiLCJjb250YWluZXItbWYtZGVza3RvcC1sYXJnZSI6IihtaW4td2lkdGg6IDE4NTRweCkiLCJjb250YWluZXItbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6IihtaW4td2lkdGg6IDI0OTRweCkiLCJtZWRpYS1sYXB0b3AiOiJhbGwgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkiLCJtZWRpYS1sYXB0b3AtYW5kLWRlc2t0b3AtbWVkaXVtIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIiwibWVkaWEtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpIGFuZCAobWF4LWRldmljZS1oZWlnaHQ6IDgxMnB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIiwibWVkaWEtcGhvbmUtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWF4LWhlaWdodDogNDQwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLCJtZWRpYS13aWRnZXRiYXItYnJlYWtwb2ludCI6ImFsbCBhbmQgKG1heC13aWR0aDogMTA2NHB4KSIsInotaW5kZXgtY29udGVudC1wYWdlIjoxLCJ6LWluZGV4LWNoYXJ0LWxlZ2VuZCI6Niwiei1pbmRleC1jaGFydC1yaWdodC1jb3JuZXItY29udHJvbHMiOjcsInotaW5kZXgtbG9hZGluZy1zY3JlZW4iOjgsInotaW5kZXgtZHJvcGRvd24iOjk5LCJ6LWluZGV4LXRvb2xiYXItcG9wdXAtbWVudSI6MTAwLCJ6LWluZGV4LXRvb2x0aXAiOjEwMDAsInotaW5kZXgtdXNlci1saW5rLXBvcHVwIjo5MDAsInotaW5kZXgtc3RpY2t5LXNlYXJjaC1iYXIiOjEwMSwiei1pbmRleC1yZXNpemFibGUtZHJhd2VyIjo4MDAsInotaW5kZXgtZnVsbHNjcmVlbiI6MTAyLCJkaXNhYmxlZC1zdGF0ZS1vcGFjaXR5IjowLjUsInNpemUtZ2FwLW1pbmltdW0iOiIyMHB4Iiwic2l6ZS1nYXAtbWVkaXVtIjoiNDBweCIsInNpemUtZ2FwLW1heGltdW0iOiIxMDBweCJ9JykKfX0sZT0+e2UuTygwLFs3NzAzOF0sKCgpPT57Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XS5tYXAoZS5FKX0pLDUpO2UuTygwLFs1ODY2Nyw2MjM1MSw5NTExNCwzOTA1LDU0NjgxLDMxODM3LDUxNTA4LDQ5NTE4LDMyNjMyLDg0MDgsOTk1MjcsMTE0MDksMzAyMDAsNTI4NDIsODg5MDYsMTM4MDksODU1MTAsMzM3MzUsMTMxNDgsNDkyNjUsOTk4MjcsNTYyNTgsNTM2MjcsMzQ2NzgsNDQ5MTEsNjU4NjIsNTEwMzEsMzU1Miw5NDgyNSwxMjE4MSw2OTM0LDk1MjQ0LDU1OTY5LDkzNDI2LDYzMTYwLDk3NDcyLDU5NDY1XSwoKCk9PntyZXR1cm4gdD00NDM3NzYsZShlLnM9dCk7dmFyIHR9KSk7ZS5PKCl9XSk7"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/17087.a5eaeb30f7d269f97b41.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.942Z","timestamp":1785136900942,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/17087.a5eaeb30f7d269f97b41.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-42b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 99ba69b7d416e72160727d1ee262ab37\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1067,"size_decoded":1275,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1067), with no line terminators","md5":"aea2379787588b2971ae93e1d08d1a76","sha1":"53a871c666693bc64ceee27711d27c2da35b8e8c","sha256":"3f0a48597dbd15d013833ffec5807ed9172b4072ca308dd16df1be793bcb6f34","sha512":"596f5b4924bfab46ac651687876c9a32ee13e028d0057c8165ce38a28d0049e29f55a5ea96f247401e43f0a6f2a6c054ea0b6e8eadca7d7ba33b29c3145d0cf1","ssdeep":"","tlshash":"6a111f148180f63dbd23f22087a0578a3279745199976e9eed0de17141cfbf52ba5cdc","first_seen":"2026-07-16T20:48:56.383088Z","last_seen":"2026-08-10T05:01:44.348616Z","times_seen":596,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbEhsRzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWxIbEc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LndyYXAtaWlpMTE4b057Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt6LWluZGV4OjB9LndyYXAtaWlpMTE4b04ucG9zaXRpb25Cb3R0b20taWlpMTE4b057YWxpZ24taXRlbXM6ZmxleC1lbmR9LmJhY2tkcm9wLWlpaTExOG9Oe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtbEhsRyk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6Ljc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmRyYXdlci1paWkxMThvTntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjZweCAwOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO3otaW5kZXg6MX0uZHJhd2VyLWlpaTExOG9OLnBvc2l0aW9uTGVmdC1paWkxMThvTnttYXJnaW4taW5saW5lLWVuZDo0MHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSA0MHB4KTttaW4td2lkdGg6MjYwcHh9LmRyYXdlci1paWkxMThvTi5wb3NpdGlvbkJvdHRvbS1paWkxMThvTntib3JkZXItc3RhcnQtZW5kLXJhZGl1czo2cHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czo2cHg7ZmxleC1iYXNpczoxMDAlO21hcmdpbi10b3A6dmFyKC0tZHJhd2VyLW1hcmdpbi10b3AtZGlzdGFuY2UsMTAwcHgpO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gdmFyKC0tZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UsIDEwMHB4KSk7b3ZlcmZsb3c6YXV0b30uZHJhd2VyLWlpaTExOG9OOmZvY3Vze291dGxpbmU6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.016Z","timestamp":1785136901016,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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 07:21:41 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: 75d1348c0bddfb0bd43c44c6ae778278\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":7907,"size_decoded":4450,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3062)","md5":"7d505e8048a3d56a7c35fec43b942e28","sha1":"7cc8e3f14d3c2bc72667a4b341a18173ba08360e","sha256":"3c8a6537a973cf0adf27e43d6727b986d50fc12ac3b1bf62528b892270b5a901","sha512":"42ecf81a5c530657c264164cdace5abb238353df391c16cb5f4eb18c3d4eea154e934f76f113c9fe8c77cd66d8e6038b288ce213c22f225e959c5b61f6221849","ssdeep":"192:OlOIsbRrYGv5JJjaqRSPoi35z6e5WyoEH6R+0332JtcIKidzTnM:OlOIs1BnJjaq+oCm1GH6etcFidzTM","tlshash":"44f1b89870c9b07653c60867f0735488f23c2550788e89a0f298dcf63ab285ed267f9d","first_seen":"2026-07-23T13:38:20.472499Z","last_seen":"2026-07-31T08:20:24.716776Z","times_seen":1541,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMjAwNjFdLHszMjA0MDMoZSx0KXt2YXIgbixvPSEoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fCF3aW5kb3cuZG9jdW1lbnR8fCF3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7ZnVuY3Rpb24gcigpe2lmKG4pcmV0dXJuIG47aWYoIW98fCF3aW5kb3cuZG9jdW1lbnQuYm9keSlyZXR1cm4iaW5kZXRlcm1pbmF0ZSI7dmFyIGU9d2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJBQkNEIikpLGUuZGlyPSJydGwiLGUuc3R5bGUuZm9udFNpemU9IjE0cHgiLGUuc3R5bGUud2lkdGg9IjRweCIsZS5zdHlsZS5oZWlnaHQ9IjFweCIsZS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGUuc3R5bGUudG9wPSItMTAwMHB4IixlLnN0eWxlLm92ZXJmbG93PSJzY3JvbGwiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSksbj0icmV2ZXJzZSIsZS5zY3JvbGxMZWZ0PjA/bj0iZGVmYXVsdCI6KGUuc2Nyb2xsTGVmdD0xLDA9PT1lLnNjcm9sbExlZnQmJihuPSJuZWdhdGl2ZSIpKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUpLG59fSwzODQwMTcoZSx0LG4pe24uZCh0LHtmZXRjaDooKT0+c30pO3ZhciBvPW4oMjIxMDYxKTtuKDMwMDI4Nik7Y29uc3Qgcj0oMCxvLmdldExvZ2dlcikoIkZldGNoIik7ZnVuY3Rpb24gcyhlLHQsbj17fSl7e2NvbnN0e2xvZ09uRXJyb3JTdGF0dXM6bz0hMCxsb2dCb2R5T25FcnJvcjpzPSExfT1uO3Q9dHx8e30sZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBVUkwoZSxkb2N1bWVudC5iYXNlVVJJKS5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW59KGUpJiYodC5oZWFkZXJzP3QuaGVhZGVycyBpbnN0YW5jZW9mIEhlYWRlcnN8fCh0LmhlYWRlcnM9bmV3IEhlYWRlcnModC5oZWFkZXJzKSk6dC5oZWFkZXJzPW5ldyBIZWFkZXJzLHdpbmRvdy5sb2NhbGUmJnQuaGVhZGVycy5zZXQoIlgtTGFuZ3VhZ2UiLHdpbmRvdy5sb2NhbGUpLHQuaGVhZGVycy5zZXQoIlgtUmVxdWVzdGVkLVdpdGgiLCJYTUxIdHRwUmVxdWVzdCIpKSx2b2lkIDA9PT10LmNyZWRlbnRpYWxzJiYodC5jcmVkZW50aWFscz0ic2FtZS1vcmlnaW4iKTtjb25zdCBpPXdpbmRvdy5mZXRjaChlLHQpO3JldHVybiBpLnRoZW4oKG49PntpZighbi5vayYmbyl7bGV0IG89IiI7dC5tZXRob2QmJihvKz1gJHt0Lm1ldGhvZC50b1VwcGVyQ2FzZSgpfSBgKSxvKz1lLG8rPWAuIFN0YXR1cyAke24uc3RhdHVzfWAsbi5zdGF0dXNUZXh0JiYobys9YC4gJHtuLnN0YXR1c1RleHR9YCksbi5oZWFkZXJzLnZpYSYmKG8rPWAuIFZpYTogJHtuLmhlYWRlcnMudmlhfWApLHMmJiJzdHJpbmciPT10eXBlb2YgdC5ib2R5JiYobys9YC4gQm9keTogJHt0LmJvZHkuc2xpY2UoMCwxMDI0KX1gKSxyLmxvZ0Vycm9yKG8pfXJldHVybiBufSksKG49PntpZihuJiYiQWJvcnRFcnJvciI9PT1uLm5hbWUpcmV0dXJuO2xldCBvPSIiO3QubWV0aG9kJiYobys9YCR7dC5tZXRob2QudG9VcHBlckNhc2UoKX0gYCksbys9ZSxuYXZpZ2F0b3Iub25MaW5lP28rPWAuICR7U3RyaW5nKG4pfWA6bys9Ii4gVXNlciBpcyBvZmZsaW5lLiIsci5sb2dFcnJvcihvKX0pKSxpfX19LDI0NzkwMShlLHQsbil7dmFyIG87bi5kKHQse1N0ZFRoZW1lOigpPT5vfSksZnVuY3Rpb24oZSl7ZS5MaWdodD0ibGlnaHQiLGUuRGFyaz0iZGFyayJ9KG98fChvPXt9KSl9LDcyMTM2OShlLHQsbil7bi5kKHQse2lzTmF0aXZlVUlJbnRlcmFjdGlvbjooKT0+c30pO3ZhciBvPW4oMjM1NzI0KTtmdW5jdGlvbiByKGUpe2lmKCJJTlBVVCI9PT1lLnRhZ05hbWUpe2NvbnN0IHQ9ZS50eXBlO3JldHVybiJ0ZXh0Ij09PXR8fCJlbWFpbCI9PT10fHwibnVtYmVyIj09PXR8fCJwYXNzd29yZCI9PT10fHwic2VhcmNoIj09PXR8fCJ0ZWwiPT09dHx8InVybCI9PT10fXJldHVybiJURVhUQVJFQSI9PT1lLnRhZ05hbWV8fGUuaXNDb250ZW50RWRpdGFibGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IG49MjU1JmU7aWYoMjc9PT1ufHxuPj4+ND09NylyZXR1cm4hMTtzd2l0Y2goZV5uKXtjYXNlIG8uTW9kaWZpZXJzLkFsdDpyZXR1cm4oMzg9PT1ufHw0MD09PW4pJiYiU0VMRUNUIj09PXQudGFnTmFtZXx8cih0KTtjYXNlIG8uTW9kaWZpZXJzLkFsdCtvLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gcih0KTtjYXNlIG8uTW9kaWZpZXJzLk1vZDppZig2Nz09PW58fCFvLmlzTWFjS2V5Ym9hcmQmJjQ1PT09bil7Y29uc3QgZT10Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtpZihlJiYhZS5pc0NvbGxhcHNlZClyZXR1cm4hMH1yZXR1cm4gcih0KTtjYXNlIG8uTW9kaWZpZXJzLk1vZCtvLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gbj49MzMmJm48PTQwJiZyKHQpO2Nhc2Ugby5Nb2RpZmllcnMuU2hpZnQ6Y2FzZSAwOnJldHVybiA5PT09bj8hKCF0Lm93bmVyRG9jdW1lbnR8fHQ9PT10Lm93bmVyRG9jdW1lbnQuYm9keXx8dD09PXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOighZnVuY3Rpb24oZSl7aWYoIkJVVFRPTiI9PT1lLnRhZ05hbWUpcmV0dXJuITA7aWYoIklOUFVUIj09PWUudGFnTmFtZSl7Y29uc3QgdD1lLnR5cGU7aWYoInN1Ym1pdCI9PT10fHwiYnV0dG9uIj09PXR8fCJyZXNldCI9PT10fHwiY2hlY2tib3giPT09dHx8InJhZGlvIj09PXQpcmV0dXJuITB9cmV0dXJuITF9KHQpfHwxMz09PW58fDMyPT09bnx8OT09PW4pJiYoImZvcm0iaW4gdHx8dC5pc0NvbnRlbnRFZGl0YWJsZSl9cmV0dXJuITF9fSw1MDU1NihlLHQsbil7bi5kKHQse2NvbG9yc1BhbGV0dGU6KCk9PmR9KTt2YXIgbz1uKDMxNzY2Mykscj1uKDg2NzUyMikscz1uKDEzODYzOCk7Y29uc3QgaT17Li4ubywuLi5yfSxhPXt9LGM9T2JqZWN0LmtleXMoaSkubGVuZ3RoLGw9L14jKChbYS1mMC05XXsyfSl7Miw0fXxbYS1mMC05XXszfSkkL2k7ZnVuY3Rpb24gdShlLHQ9W10sbj1pKXtjb25zdCBvPW5bZV0KO2lmKCFvKXJldHVybiBudWxsO2lmKGwudGVzdChvKSlyZXR1cm4gbztjb25zdCByPW87cmV0dXJuIHQucHVzaChlKSwtMSE9PXQuaW5kZXhPZihyKT8oY29uc29sZS53YXJuKCJDb2xvcnMgZGVmaW5pdGlvbnMgY3ljbGVkIiksbyk6dC5sZW5ndGg+Yz8oY29uc29sZS53YXJuKCJUb28gbWFueSB2YXJpYWJsZXMtbGluayBpbiBIRVgtY29sb3Igc2VhcmNoOiAiK3RbMF0pLG51bGwpOnUocix0LG4pfU9iamVjdC5rZXlzKGkpLmZvckVhY2goKGU9Pntjb25zdCB0PXUoZSk7YVtlXT0oMCxzLmVuc3VyZU5vdE51bGwpKHQpfSkpO2NvbnN0IGQ9YX0sMjE4ODE0KGUsdCxuKXtuLmQodCx7Y29sb3I6KCk9Pm99KTtjb25zdCBvPXtibGFjazcwOiIjNEE0QTRBIixibGFjazgwOiIjNTM1MzUzIn19LDEzODYzOChlLHQsbil7ZnVuY3Rpb24gbyhlLHQpe2lmKCFlKXRocm93IG5ldyBFcnJvcigiQXNzZXJ0aW9uIGZhaWxlZCIrKHQ/YDogJHt0fWA6IiIpKX1mdW5jdGlvbiByKGUsdCl7aWYodm9pZCAwPT09ZSl0aHJvdyBuZXcgRXJyb3IoYCR7dD8/IlZhbHVlIn0gaXMgdW5kZWZpbmVkYCk7cmV0dXJuIGV9ZnVuY3Rpb24gcyhlLHQpe2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcihgJHt0Pz8iVmFsdWUifSBpcyBudWxsYCk7cmV0dXJuIGV9bi5kKHQse2Fzc2VydDooKT0+byxlbnN1cmVEZWZpbmVkOigpPT5yLGVuc3VyZU5vdE51bGw6KCk9PnN9KX0sODU2MzI0KGUsdCxuKXtuLmQodCx7Z2V0TGFuZ3VhZ2U6KCk9PnMscmVnaXN0ZXJMYW5ndWFnZUNvZGVNYXBwZXI6KCk9PmEscmVnaXN0ZXJMYW5ndWFnZUdldHRlcjooKT0+cn0pO2xldCBvPW51bGw7ZnVuY3Rpb24gcihlKXtvPWV9ZnVuY3Rpb24gcygpe2lmKCFvKXRocm93IG5ldyBFcnJvcigiTGFuZ3VhZ2UgZ2V0dGVyIG5vdCByZWdpc3RlcmVkLiBDYWxsIHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXIoKSBmaXJzdC4iKTtyZXR1cm4gbygpfWxldCBpPWU9PmU7ZnVuY3Rpb24gYShlKXtpPWV9fSw3NzMwODgoZSx0LG4pe3ZhciBvO2Z1bmN0aW9uIHIoZSx0PSExKXtpZigicGVyaW9kLWJhY2siPT09ZS50eXBlKXtsZXQgbj1lLnZhbHVlO3JldHVybiB0JiYiWVREIiE9PW4mJiJEIj09PW4uc2xpY2UoLTEpJiYobj1uLnNsaWNlKDAsLTEpKSxufXJldHVybiJyLCIrZS5mcm9tKyI6IitlLnRvfWZ1bmN0aW9uIHMoZSl7Y29uc3QgdD0vciwoXGQrKTooXGQrKS8uZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/e2Zyb206TnVtYmVyKHRbMV0pLHRvOk51bWJlcih0WzJdKSx0eXBlOiJ0aW1lLXJhbmdlIn06e3ZhbHVlOmUsdHlwZToicGVyaW9kLWJhY2sifX1uLmQodCx7Y29udmVydFN0clRvVGltZUZyYW1lOigpPT5zLGNvbnZlcnRUaW1lRnJhbWVUb1N0cjooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuUGVyaW9kQmFjaz0icGVyaW9kLWJhY2siLGUuVGltZVJhbmdlPSJ0aW1lLXJhbmdlIn0ob3x8KG89e30pKX0sODEwNDEoZSx0LG4pe24uZCh0LHtTdGRUaGVtZTooKT0+by5TdGRUaGVtZX0pO3ZhciBvPW4oMjQ3OTAxKX0sOTExMzI3KGUsdCxuKXtuLmQodCx7bWFrZVN5bWJvbFBhZ2VVcmw6KCk9PmcsbWFrZVRlbXBsYXRlU3ltYm9sVXJsOigpPT5wfSk7big5NjM5MDApO3ZhciBvPW4oMzA5ODM2KSxyPW4oMjQxOTM3KSxzPW4oNzMwNjQ1KSxpPW4oODUxNDU4KSxhPW4oMTU2ODI5KTtjb25zdCBjPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBsKGUpe2NvbnN0IHQ9ey4uLmV9O2lmKCJzcHJlYWQiPT09dC50eXBlfHwiZXhwcmVzc2lvbiI9PT10LnR5cGUpe2NvbnN0IGU9dC5zaG9ydE5hbWUmJnUodC5zaG9ydE5hbWUpLG49dC5wcm9OYW1lJiZ1KHQucHJvTmFtZSk7dC50eXBlPXZvaWQgMCx0LnNob3J0TmFtZT1lLHQucHJvTmFtZT1ufXJldHVybiB0fWZ1bmN0aW9uIHUoZSl7cmV0dXJuKDAsaS50b2tlbml6ZSkoZSkuZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gZChlKXtjb25zdCB0PXtzaG9ydE5hbWU6ZS5zaG9ydE5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSxwcm9OYW1lOmUucHJvTmFtZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3Mscm9vdDplLnJvb3R9O3JldHVybiB0LnByb05hbWUmJnQucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW3QuZXhjaGFuZ2UsdC5zaG9ydE5hbWVdPXQucHJvTmFtZS5zcGxpdCgiOiIpKSx0fWZ1bmN0aW9uIG0oZSx0KXtjb25zdCBuPWVuY29kZVVSSUNvbXBvbmVudCh0LnNob3J0TmFtZXx8IiIpLG89ZW5jb2RlVVJJQ29tcG9uZW50KHQuZXhjaGFuZ2V8fCIiKSxyPWVuY29kZVVSSUNvbXBvbmVudCh0LnByb05hbWV8fCIiKSxzPWVuY29kZVVSSUNvbXBvbmVudCh0LnJvb3R8fCIiKTtyZXR1cm4gZS5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLG8pLnJlcGxhY2UoInt0dnN5bWJvbH0iLG4pLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLHIpLnJlcGxhY2UoInt0dnJvb3R9IixzKX1mdW5jdGlvbiBmKGUsdD0iIil7Y29uc3Qgbj1kKGUpLHt0eXBlOm8sdHlwZXNwZWNzOnIsc2hvcnROYW1lOnMscHJvTmFtZTppLGV4Y2hhbmdlOmwscm9vdDp1fT1uO3JldHVybiB2b2lkIDA9PT1zJiZ2b2lkIDA9PT1pPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOmkmJmMuaGFzKGkpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOm98fHI/ImNvbW1vZGl0eSI9PT1vJiZyJiZyLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohdXx8IXJ8fCJmdXR1cmVzIiE9PW98fHIuaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmcz8uZW5kc1dpdGgoIjEhIil8fHIuaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9sJiYoImZvcmV4Ij09PW98fHImJigwLAphLmhhc0NyeXB0b1R5cGVzcGVjKShyKSk/Ii9zeW1ib2xzL3t0dnN5bWJvbH0vP2V4Y2hhbmdlPXt0dmV4Y2hhbmdlfSI6bD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHt0fWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHt0fWA6YC9zeW1ib2xzL3t0dmV4Y2hhbmdlfS17dHZyb290fTEhLyR7dH0/Y29udHJhY3Q9e3R2c3ltYm9sfWA6bD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHt0fWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHt0fWB9ZnVuY3Rpb24gcChlLHQpe2xldCBuPWU7aWYoIS97dHZzeW1ib2x9fHt0dmV4Y2hhbmdlfXx7dHZwcm9zeW1ib2x9Ly50ZXN0KGUpKXtsZXQgbz0idHZwcm9zeW1ib2wiO3ZvaWQgMD09PXQucHJvTmFtZSYmKG89InR2c3ltYm9sIiksbj1gJHtlfT90dndpZGdldHN5bWJvbD17JHtvfX1gfWNvbnN0IG89bShuLGQobCh0KSkpO2lmKCEoMCxzLmlzU2FmZVVybCkobykpdGhyb3cgbmV3IEVycm9yKGBUaGUgc3ltYm9sIFVSTCAke299IGlzIG5vdCBhbGxvd2VkLmApO3JldHVybiBvfWZ1bmN0aW9uIGgoZSx0LG4scyl7Y29uc3QgaT0od2luZG93LmxvY2FsZV9kb21haW5zPygwLHIuZGV0ZXJtaW5lQmFzZVVybCkod2luZG93LmxvY2FsZV9kb21haW5zLHMpOndpbmRvdy5sb2NhdGlvbi5vcmlnaW4pK20oZSxkKGwodCkpKTtyZXR1cm4gbj8oMCxvLmFkZFV0bVRvVXJsKShpLG4pOml9ZnVuY3Rpb24gZyhlLHQsbixvKXtjb25zdCByPWwoZSk7cmV0dXJuIGgoZihyLG8pLHIsdCxuKX19LDQ0MzU1NyhlLHQsbil7bi5kKHQse3BhcnNlSHRtbEVsZW1lbnQ6KCk9PnN9KTtjb25zdCBvPW5ldyBXZWFrTWFwO3ZhciByO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBuPWZ1bmN0aW9uKGUsdCl7bGV0IG4scjtyZXR1cm4gbj1udWxsPT10P2RvY3VtZW50LmRvY3VtZW50RWxlbWVudDo5PT09dC5ub2RlVHlwZT90LmRvY3VtZW50RWxlbWVudDp0LG8mJihyPW8uZ2V0KG4pKSxyfHwocj1uLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxyLnNlbGVjdE5vZGVDb250ZW50cyhuKSxvJiZvLnNldChuLHIpKSxyLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChlKX0oZSx0KSxyPW4uZmlyc3RFbGVtZW50Q2hpbGQ7cmV0dXJuIG51bGwhPT1yJiZuLnJlbW92ZUNoaWxkKHIpLHJ9IWZ1bmN0aW9uKGUpe2VbZS5FbGVtZW50PTFdPSJFbGVtZW50IixlW2UuRG9jdW1lbnQ9OV09IkRvY3VtZW50In0ocnx8KHI9e30pKX0sMzA5ODM2KGUsdCxuKXtuLmQodCx7YWRkVXRtVG9Vcmw6KCk9PnJ9KTt2YXIgbz1uKDYwMTU4Nyk7ZnVuY3Rpb24gcihlLHQpe2lmKCEvKFthLXpBLVowLTkuLV0qdHJhZGluZ3ZpZXcuY29tKXxsb2NhbGhvc3QvLnRlc3QoZSkpcmV0dXJuIGU7Y29uc3Qgbj0oMCxvLmJ1aWxkVXRtUXVlcnlTdHJpbmcpKHQpO2lmKCIiPT09bilyZXR1cm4gZTtjb25zdCByPWUuaW5kZXhPZigiPyIpLHM9ZS5pbmRleE9mKCIjIiksaT0tMSE9PXM7aWYoLTEhPT1yJiYoIWl8fHI8cykpe3JldHVybmAke2Uuc2xpY2UoMCxyKX0/JHtpP2Uuc2xpY2UocisxLHMpOmUuc2xpY2UocisxKX0mJHtufSR7aT9lLnNsaWNlKHMpOiIifWB9aWYoaSl7cmV0dXJuYCR7ZS5zbGljZSgwLHMpfT8ke259JHtlLnNsaWNlKHMpfWB9cmV0dXJuYCR7ZX0/JHtufWB9fSw2MDE1ODcoZSx0LG4pe24uZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5hLGZpbHRlclV0bUluZm86KCk9Pml9KTt2YXIgbz1uKDQ5MjY3Nykscj1uKDY0MTU5Myk7Y29uc3Qgcz1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gaShlKXtjb25zdCB0PXt9O3JldHVybiBzLmZvckVhY2goKG49Pntjb25zdCBvPWVbbl07InN0cmluZyI9PXR5cGVvZiBvJiYiIiE9PW8mJih0W25dPSgwLHIuaHRtbEVzY2FwZSkobykpfSkpLHR9ZnVuY3Rpb24gYShlLHQ9ITEpe2NvbnN0IG49KDAsby5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBuJiZ0PyI/IituOm59fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23669.a61971d84257c346bd5f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.473Z","timestamp":1785136901473,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23669.a61971d84257c346bd5f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-aa8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dbd0a34622ae6c3a17cb8dd10365549a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2728,"size_decoded":1649,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2728), with no line terminators","md5":"da3d6d05d2dc6bb0ff4b03eeae50a509","sha1":"971568eb9afbac7c18c9ca16e66bdf625523fedb","sha256":"7d4afa2f45d8b837f2049b2c41340a236d2c063efdfb60095bdd1e9bc5db27f2","sha512":"ca319be4af9c386f0b41df40efa6885fa6ebc3e8b804d6d26179b1f08f0e676aaf47163b09510a6848c93a02a544cc3319d21e4d3bc7761ee6244fd052c90d6a","ssdeep":"","tlshash":"4751fcc8a3587817a61b713dd78892ccd125a863fc980addfc62f190c3da7e0d7a9854","first_seen":"2026-06-30T21:57:43.387896Z","last_seen":"2026-07-28T06:17:53.47016Z","times_seen":229,"resource_available":false,"data":"LndyYXBwZXItcTU0VHd5Q097YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLWJsb2NrOjZweCAycHg7cGFkZGluZy1pbmxpbmU6MTJweCAxMHB4O3doaXRlLXNwYWNlOm5vd3JhcH0ud3JhcHBlci1xNTRUd3lDTy5ob3ZlcmVkLXE1NFR3eUNPLC53cmFwcGVyLXE1NFR3eUNPOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey53cmFwcGVyLXE1NFR3eUNPOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX19LndyYXBwZXItcTU0VHd5Q08uaG92ZXJlZC1xNTRUd3lDT3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXBwZXItcTU0VHd5Q086aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9fS53cmFwcGVyLXE1NFR3eUNPOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpKX0ud3JhcHBlci1xNTRUd3lDTzpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyMHB4fS53cmFwcGVyLXE1NFR3eUNPIC5zd2l0Y2hXcmFwLXE1NFR3eUNPe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LndyYXBwZXItcTU0VHd5Q08ud2l0aEljb24tcTU0VHd5Q08gLmxhYmVsUm93LXE1NFR3eUNPe3BhZGRpbmc6MH0uaWNvbi1xNTRUd3lDTywud3JhcHBlci1xNTRUd3lDTy53aXRoSWNvbi1xNTRUd3lDTyAubGFiZWwtcTU0VHd5Q08sLndyYXBwZXItcTU0VHd5Q08ud2l0aEljb24tcTU0VHd5Q08gLnN3aXRjaFdyYXAtcTU0VHd5Q097YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjhweH0uaWNvbi1xNTRUd3lDT3tqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtZW5kOjZweDt3aWR0aDoyOHB4fS5pY29uLXE1NFR3eUNPIHN2Z3tkaXNwbGF5OmJsb2NrfS5sYWJlbFJvdy1xNTRUd3lDT3tmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MnB4IDAgNnB4fS5sYWJlbC1xNTRUd3lDT3tmb250LXNpemU6MTRweDttYXJnaW4taW5saW5lLWVuZDoxMnB4O292ZXJmbG93OmhpZGRlbn0ubGFiZWxfZGlzYWJsZWQtcTU0VHd5Q097b3BhY2l0eTouNX0ubGFiZWxIaW50LXE1NFR3eUNPe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Y29udGFpbjpjb250ZW50O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tdG9wOjA7bWF4LWhlaWdodDowO29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4yNXMgZWFzZS1pbixtYXJnaW4tdG9wIC4yNXMgZWFzZS1pbixvcGFjaXR5IC4zNXMgbGluZWFyO3doaXRlLXNwYWNlOm5vcm1hbH0ubGFiZWxPbi1xNTRUd3lDTysubGFiZWxIaW50LXE1NFR3eUNPe21hcmdpbi10b3A6NHB4O21heC1oZWlnaHQ6MzRweDtvcGFjaXR5OjE7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4ycyBlYXNlLW91dCxtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCxvcGFjaXR5IC4zNXMgbGluZWFyfS5hY2Nlc3NpYmxlLXE1NFR3eUNPe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2Nlc3NpYmxlLXE1NFR3eUNPOmZvY3Vze291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlLXE1NFR3eUNPOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2JvcmRlci1yYWRpdXM6NnB4fQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://pushstream.tradingview.com/message-pipe-ws/public","fqdn":"pushstream.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.204","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.697Z","timestamp":1785136901697,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Wed, 18 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"96:06:76:35:9F:2C:2D:1C:89:55:E8:92:7C:4F:4B:FD:E9:F6:FF:1A","sha256":"BC:FA:33:CE:19:85:7A:43:44:BA:17:CE:87:15:42:E2:02:0C:7A:4E:83:42:1F:58:8F:59:B4:20:BF:4B:35:00"}}},"request":{"raw":"GET /message-pipe-ws/public HTTP/1.1\r\nHost: pushstream.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-WebSocket-Version: 13\r\nOrigin: https://s.tradingview.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: eSxsrO/GsX4FToRjQuV/Mw==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: same-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 101 Switching Protocols\r\nExpires: Thu, 01 Jan 1970 00:00:01 GMT\r\nCache-Control: no-cache, no-store, must-revalidate\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: bOruCSBH9+fD4AAb2jp5BrJSVQo=\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":221,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":""}},"time_used":203,"timings":{"blocked":-1,"dns":65,"connect":86,"send":0,"wait":24,"receive":0,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/54681.a717110e6749f307ed6d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.298Z","timestamp":1785136900298,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/54681.a717110e6749f307ed6d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: c651fd8cfa05895e39dec2986ee8b7c0\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":350,"size_decoded":952,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (350), with no line terminators","md5":"f2e28dcef513e7329db6a3a69720bb48","sha1":"d2b0bc2f96723e3d74402c72a78a9a449405c692","sha256":"b2adba47f3ef9121bd8fb32842dcca6edcc4b9e36084de7724ef7244f6b03640","sha512":"97e9c6797a664f80308677fd34c5ddaafe0f74b206038c67761074bc9062d4439f8bd8aaae50193cd70d06f3baa8f30eb1fad236115eb4cda845f8dc922c1e2f","ssdeep":"","tlshash":"60e08cc3f0c6000444a341329c00b738fdaf98588b836ea4805e77304b166cf3b30dae","first_seen":"2026-05-13T13:23:52.95015Z","last_seen":"2026-08-10T05:01:44.135623Z","times_seen":2607,"resource_available":false,"data":"LmktaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmktaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVuIWltcG9ydGFudH0uaS1hbGlnbl9sZWZ0e3RleHQtYWxpZ246c3RhcnQhaW1wb3J0YW50fS5pLWFsaWduX3JpZ2h0e3RleHQtYWxpZ246ZW5kIWltcG9ydGFudH0uaS1hbGlnbl9jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fS5pLWZsb2F0X2xlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0uaS1mbG9hdF9yaWdodHtmbG9hdDppbmxpbmUtZW5kIWltcG9ydGFudH0uaS1mbG9hdF9ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fS5pLW5vLWJyZWFre3doaXRlLXNwYWNlOm5vd3JhcH0="}},"time_used":124,"timings":{"blocked":-1,"dns":34,"connect":37,"send":0,"wait":12,"receive":-1,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.326Z","timestamp":1785136900326,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: ede40581b77bdd73c03eb8f1eb8b967c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27626,"size_decoded":6249,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3069)","md5":"c37495f6ca72950f28ad5a6a79a0bab4","sha1":"b23429fd2dea7f2557a8a68545083949759c3ad4","sha256":"b4511e0c850bde295127e6af14148f016b9aea35ea705cdf3106a5a1edbd93b8","sha512":"ddee6e0c9cd60676d9195e2fb635982af76e72cf188acf0f42ba7ac648dbd5acc579a186a2c51fb5ac9d5e758c5289ab285ea4e80694b19f70a1715a5707b77c","ssdeep":"384:L+x0EMPsBRgXD2PTmdN2/5dQ1tHSJm/BtU:L7E2NJuJmI","tlshash":"2cc2c007cd96b099f3f6e24e0eb4d50c2cb453495270d702be868e289ae5ee69d2f315","first_seen":"2026-05-05T10:36:04.872376Z","last_seen":"2026-08-07T05:09:59.550994Z","times_seen":4614,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODY2N10sezI1ODY2NyhvKXtvLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxvLmV4cG9ydHNbIiNBQVBMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXBwbGUgSW5jIl0sby5leHBvcnRzWyIjQU1FWDpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nod2FiIFNob3J0LVRlcm0gVS5TLiBUcmVhc3VyeSBFVEYiXSxvLmV4cG9ydHNbIiNBTUVYOlNIWUctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFyZXMgMC01IFlFQVIgSGlnaCBZaWVsZCBDb3Jwb3JhdGUgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNBU1g6WEFGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYQVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIEFsbCBBdXN0cmFsaWFuIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYSk8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FVRENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyL0NhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0FVRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxvLmV4cG9ydHNbIiNBVURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0FVRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjQVVEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQVVEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JDQkE6SU1WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIE1FUlZBTCBJbmRleCJdLG8uZXhwb3J0c1siI0JDSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIEV1cm8iXSxvLmV4cG9ydHNbIiNCQ0hVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENhc2ggLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JFTEVYOkJFTEVYMTUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUxFWCAxNSBJbmRleCJdLG8uZXhwb3J0c1siI0JJU1Q6WFUxMDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCSVNUIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0JJVE1FWDpYQlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUU6SUJDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLG8uZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJPVi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJvdmVzcGEgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCUkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQnJhc2lsIEluZGV4Il0sby5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQlhMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJhemlsIDUwIEluZGV4Il0sby5leHBvcnRzWyIjQk1WOkNULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgU1gyMCBSVCJdLG8uZXhwb3J0c1siI0JNVjpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRm9yZCBNb3RvciBDb21wYW55Il0sby5leHBvcnRzWyIjQk1WOk1FLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0JNViBJUEMgSW5kZXgiXSxvLmV4cG9ydHNbIiNCUkxKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWxpYW4gUmVhbCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JTRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJVEkgTHRkIl0sby5leHBvcnRzWyIjQlNFOlNFTlNFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCBCU0UgU2Vuc2V4IEluZGV4Il0sby5leHBvcnRzWyIjQlRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjQlRDQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUQ0NOWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNCVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gRXVybyJdLG8uZXhwb3J0c1siI0JUQ0dCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjQlRDSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JUQ0tSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjQlRDUExOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI0JUQ1JVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQlRDVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFRoYWkgQmFodCJdLG8uZXhwb3J0c1siI0JUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gR29sZCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQlZMOlNQQkxQR1BULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gQlZMIFBlcnUgR2VuZXJhbCBJbmRleCAoUEVOKSJdLG8uZXhwb3J0c1siI0JWU1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgQm92ZXNwYSBJbmRleCJdLApvLmV4cG9ydHNbIiNDQURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDQURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0NCT0U6T0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0NCT0U6VklYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVm9sYXRpbGl0eSBTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjQ0JPVDpaQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVC1Cb25kIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3JuIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpNMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3liZWFuIE1lYWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6Wk4xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjEwIFllYXIgVC1Ob3RlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPYXQgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjMwIERheSBGZWRlcmFsIEZ1bmRzIEludGVyZXN0IFJhdGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJpY2UgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WEsxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gTWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0JPVF9NSU5JOlhXMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXaGVhdCBNaW5pIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBEb3cgSm9uZXMgKCQ1KSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0hGSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDSEZVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQ01FOkJUQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDTUUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpDQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnV0dGVyIEZ1dHVyZXMtQ2FzaCAoQ29udGludW91czogQ3VycmVudCBjb250cmFjdCBpbiBmcm9udCkiXSxvLmV4cG9ydHNbIiNDTUU6R0YxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZlZWRlciBDYXR0bGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpIRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGVhbiBIb2dzIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUU6TEUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdmUgQ2F0dGxlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUVfTUlOSTpFNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOkVTMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6SjcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOk5RMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOQVNEQVEgMTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6UlRZMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLU1pbmkgUnVzc2VsbCAyMDAwIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBRVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbml1bSBFdXJvcGVhbiBQcmVtaXVtIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBVVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbnVtIE1XIFUuUy4gVHJhbnNhY3Rpb24gUHJlbWl1bSBQbGF0dHMgKDI1TVQpIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpHQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6SEcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6U0kxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIENvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIChNaW5pKSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCAoTWluaSkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NPUFBFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIl0sby5leHBvcnRzWyIjQ09STlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29ybiJdLG8uZXhwb3J0c1siI0NPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ290dG9uIl0sby5leHBvcnRzWyIjQ1JZUFRPQ0FQOlRPVEFMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ3J5cHRvIFRvdGFsIE1hcmtldCBDYXAsICQiXSxvLmV4cG9ydHNbIiNERk06REZNR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJERk0gSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tcG9zaXRlIEF2ZXJhZ2UgSW5kZXgiXSwKby5leHBvcnRzWyIjREo6REpDSUFHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQWdyaWN1bHR1cmUgQ2FwcGVkIENvbXBvbmVudCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lDQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQ29jb2EiXSxvLmV4cG9ydHNbIiNESjpESkNJRU4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEVuZXJneSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR29sZCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR3JhaW5zIl0sby5leHBvcnRzWyIjREo6REpDSUlLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBOaWNrZWwiXSxvLmV4cG9ydHNbIiNESjpESkNJS0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvZmZlZSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lTQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggU3VnYXIiXSxvLmV4cG9ydHNbIiNESjpESkNJU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFNpbHZlciJdLG8uZXhwb3J0c1siI0RKOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVHJhbnNwb3J0YXRpb24gQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI0RKOkRKVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVdGlsaXR5IEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlVTQ0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVS5TLiBDb2FsIEluZGV4Il0sby5leHBvcnRzWyIjRUdYOkVHWDMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRUdYIDMwIEluZGV4Il0sby5leHBvcnRzWyIjRVRDQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNFVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0VUSEJUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQml0Y29pbiJdLG8uZXhwb3J0c1siI0VUSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUSEdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQnJpdGlzaCBQb3VuZCJdLG8uZXhwb3J0c1siI0VUSEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjRVRIS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjRVRIVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNFVEhVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sby5leHBvcnRzWyIjRVVSQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVSQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjRVVSQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0VVUkNIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0VVUkdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjRVVSSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0VVUk5PSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOb3J3ZWdpYW4gS3JvbmUiXSxvLmV4cG9ydHNbIiNFVVJOWkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjRVVST05FWFQ6QUVYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQUVYIEluZGV4Il0sby5leHBvcnRzWyIjRVVST05FWFQ6QkVMMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUwgMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJPTkVYVDpQWDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDQUMgNDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0VVUlJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxvLmV4cG9ydHNbIiNFVVJTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gU3dlZGlzaCBLcm9uYSJdLG8uZXhwb3J0c1siI0VVUlRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBUdXJraXNoIExpcmEiXSxvLmV4cG9ydHNbIiNFVVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNFVVNUWDUwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBTdG94eCA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0ZPUkVYQ09NOlVTMjAwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIFNtYWxsIENhcCAyMDAwIl0sCm8uZXhwb3J0c1siI0ZSQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sby5leHBvcnRzWyIjRlJFRDpHRFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHcm9zcyBEb21lc3RpYyBQcm9kdWN0LCAxIERlY2ltYWwiXSxvLmV4cG9ydHNbIiNGUkVEOlBPUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRvdGFsIFBvcHVsYXRpb246IEFsbCBBZ2VzIEluY2x1ZGluZyBBcm1lZCBGb3JjZXMgT3ZlcnNlYXMiXSxvLmV4cG9ydHNbIiNGUkVEOlVOUkFURS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNpdmlsaWFuIFVuZW1wbG95bWVudCBSYXRlIl0sby5leHBvcnRzWyIjRlRTRU1ZWDpGQk1LTENJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSBCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sby5leHBvcnRzWyIjRldCOktUMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktleSBUcm9uaWMgQ29y0YAuIl0sby5leHBvcnRzWyIjRlg6QVVTMjAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBJbmRleCJdLG8uZXhwb3J0c1siI0ZYOlVTMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sby5leHBvcnRzWyIjR0JQQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjR0JQQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0dCUENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0dCUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBFdXJvIl0sby5leHBvcnRzWyIjR0JQSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0dCUE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHQlBQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUG9saXNoIFpsb3R5Il0sby5leHBvcnRzWyIjR0JQUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIFJ1c3NpYW4gUnVibGUiXSxvLmV4cG9ydHNbIiNHQlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHRVIzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLG8uZXhwb3J0c1siI0dPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLG8uZXhwb3J0c1siI0dPT0dMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEEiXSxvLmV4cG9ydHNbIiNHUFc6QUNHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWNhdXRvZ2F6Il0sby5leHBvcnRzWyIjR1BXOldJRzIwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV0lHMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNIU0k6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjSUNFVVM6RFgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNJRFg6Q09NUE9TSVRFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSURYIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOkhTQ0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgQ2hpbmEgRW50ZXJwcmlzZXMgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpKS1NFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFrYXJ0YSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpLTFNFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1JQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQiBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1PWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6U1RJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU1RJIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6VFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOlhMWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFuZ2hhaSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJT1RVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJT1RBIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNKUE4yMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNKUFlLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjSlBZUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0pQWVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTEtPSC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxVS09JTCJdLG8uZXhwb3J0c1siI0xTRTpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nob2xpdW0gR3JvdXAgUGxjIE9yZCAxUCJdLG8uZXhwb3J0c1siI0xUQ0JSTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxvLmV4cG9ydHNbIiNMVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNMVENVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTFVOQVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkx1bmEgLyBVLlMuIERvbGxhciJdLApvLmV4cG9ydHNbIiNNT0VYOkJSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmVudCBPaWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6R0FaUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdBWlBST00iXSxvLmV4cG9ydHNbIiNNT0VYOklNT0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTU9FWCBSdXNzaWEgSW5kZXgiXSxvLmV4cG9ydHNbIiNNT0VYOk1HTlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNQUdOSVQiXSxvLmV4cG9ydHNbIiNNT0VYOk1JQ0VYSU5ERVhDRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sby5leHBvcnRzWyIjTU9FWDpNWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlDRVggSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6TVgyIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNNT0VYOlJJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6UlRTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJUUyBJbmRleCJdLG8uZXhwb3J0c1siI01PRVg6UlVBTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVuaXRlZCBDb21wYW55IFJVU0FMIFBMQyJdLG8uZXhwb3J0c1siI01PRVg6U0JFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNCRVJCQU5LIl0sby5leHBvcnRzWyIjTU9FWDpWVEJSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVlRCIl0sby5leHBvcnRzWyIjTVNGVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pY3Jvc29mdCBDb3JwLiJdLG8uZXhwb3J0c1siI05BUzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBDYXNoIENGRCJdLG8uZXhwb3J0c1siI05BU0RBUTpBTUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBZHZhbmNlZCBNaWNybyBEZXZpY2VzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpHT09HLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEMiXSxvLmV4cG9ydHNbIiNOQVNEQVE6R09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLG8uZXhwb3J0c1siI05BU0RBUTpIR1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIEhvdXNpbmcgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROklFRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgNy0xMCBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sby5leHBvcnRzWyIjTkFTREFROklFSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMy03IFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRlcmlzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpJWElDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmFzZGFxIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpMQ0lELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVjaWQgR3JvdXAsIEluYy4iXSxvLmV4cG9ydHNbIiNOQVNEQVE6TEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMYW5kcycgRW5kIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpORFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROk9TWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggT2lsIFNlcnZpY2UgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlNIWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMS0zIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6U09YLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGhpbGFkZWxwaGlhIFNlbWljb25kdWN0b3IgSW5kZXgiXSxvLmV4cG9ydHNbIiNOQVNEQVE6VExULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAyMCsgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLG8uZXhwb3J0c1siI05BU0RBUTpVVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIFV0aWxpdHkgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlhBVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggR29sZCBhbmQgU2lsdmVyIFNlY3RvciBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpaUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpzY2FsZXIgSW5jIl0sby5leHBvcnRzWyIjTkVPVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTkVPIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNOR0FTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmF0dXJhbCBHYXMgKEhlbnJ5IEh1YikiXSxvLmV4cG9ydHNbIiNOS1ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOU0U6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWFuIFRlbGVwaG9uZSBJbmR1c3RyaWVzIExpbWl0ZWQiXSxvLmV4cG9ydHNbIiNOU0U6TklGVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOaWZ0eSA1MCBJbmRleCJdLG8uZXhwb3J0c1siI05ZTUVYOkFFWjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgRXRoYW5vbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6Q0oxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvY29hIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpDTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGlnaHQgQ3J1ZGUgT2lsIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpITzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgSGFyYm9yIFVMU0QgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOktUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb2ZmZWUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOk5HMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBhbGxhZGl1bSBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEwxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIEZ1dHVyZXMiXSwKby5leHBvcnRzWyIjTllNRVg6UkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJCT0IgR2Fzb2xpbmUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOlRUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3R0b24gRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYX01JTkk6UUcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIExpZ2h0IENydWRlIE9pbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRVTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIEdhc29saW5lIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWVNFOkJBQkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbGliYWJhIEdyb3VwIEhvbGRpbmdzIEx0ZC4iXSxvLmV4cG9ydHNbIiNOWVNFOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGT1JEIE1UUiBDTyBERUwiXSxvLmV4cG9ydHNbIiNOWVNFOkhFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGF3YWlpYW4gRWxlY3RyaWMgSW5kdXN0cmllcyJdLG8uZXhwb3J0c1siI05ZU0U6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlBCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBFVFJPTEVPIEJSQVNJTEVJUk8gU0EgUEVUUk9CUiJdLG8uZXhwb3J0c1siI05ZU0U6WEFYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQU1FWCBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlhNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQVJDQSBNYWpvciBNYXJrZXQgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWkRKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNOWkRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI05aWDpBTExDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL05aWCBBbGwgSW5kZXggKENhcGl0YWwgSW5kZXgpIl0sby5leHBvcnRzWyIjTlpYOk5aNTBHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gTlpYIDUwIEluZGV4IEdyb3NzIl0sby5leHBvcnRzWyIjT0FOREE6TkFUR0FTVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBOYXR1cmFsIEdhcyJdLG8uZXhwb3J0c1siI09BTkRBOlNQWDUwMFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPQU5EQTpYQ1VVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENvcHBlciAoVVMkIC8gbGIpIl0sby5leHBvcnRzWyIjT01YQ09QOk9NWEMyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBDb3BlbmhhZ2VuIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YQ09QOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvdXcgJiBDbyBBL1MiXSxvLmV4cG9ydHNbIiNPTVhIRVg6T01YSDI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIEhlbHNpbmtpIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YUlNFOk9NWFJHSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBSaWdhIEdyb3NzIEluZGV4Il0sby5leHBvcnRzWyIjT01YU1RPOk9NWFMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBTdG9ja2hvbG0gMzAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhUU0U6T01YVEdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFRhbGxpbm4gR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhWU0U6T01YVkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFZpbG5pdXMgR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPVEM6SUhSTUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIE1TQ0kgSmFwYW4gU0hTIl0sby5leHBvcnRzWyIjUVNFOkdOUkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJRRSBJbmRleCJdLG8uZXhwb3J0c1siI1JUUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NpYW4gUlRTIEluZGV4Il0sby5leHBvcnRzWyIjUlVTU0VMTDpSVUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDMwMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNSVVNTRUxMOlJVSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMTAwMCBJbmRleCJdLG8uZXhwb3J0c1siI1JVU1NFTEw6UlVULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAyMDAwIEluZGV4Il0sby5leHBvcnRzWyIjU0VUOkdDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2xvYmFsIENvbm5lY3Rpb25zIFB1YmxpYyBDb21wYW55Il0sby5leHBvcnRzWyIjU0lYOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxvLmV4cG9ydHNbIiNTSVg6U01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sby5leHBvcnRzWyIjU09MVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU29sYW5hIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNTT1lCTlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU295YmVhbnMiXSxvLmV4cG9ydHNbIiNTUDpPRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BHU0NJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEdvbGRtYW4gU2FjaHMgQ29tbW9kaXR5IEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1NQOlNWWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgVmFsdWUgSW5kZXgiXSxvLmV4cG9ydHNbIiNTUFg1MDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1VHQVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFN1Z2FyIl0sCm8uZXhwb3J0c1siI1NaU0U6Mzk5MDAxLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hlbnpoZW4gQ29tcG9uZW50IEluZGV4Il0sby5leHBvcnRzWyIjVEFEQVdVTDoyMzcwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlkZGxlIEVhc3QgU3BlY2lhbGl6ZWQgQ2FibGVzIENvLiJdLG8uZXhwb3J0c1siI1RBREFXVUw6VEFTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhZGF3dWwgQWxsIFNoYXJlcyBJbmRleCJdLG8uZXhwb3J0c1siI1RBU0U6VEEzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRBLTM1IEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRTWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9UU1ggQ29tcG9zaXRlIEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRYNjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIDYwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkFVMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpBVTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkFYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkJYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6Q0ExMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNhbmFkaWFuIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkNBMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpDQUM0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpDTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpDTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNoaW5hIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6Q1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRFMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHZXJtYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpERTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkRFVTMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RFhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTcGFpbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkVVQlVORC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQnVuZCJdLG8uZXhwb3J0c1siI1RWQzpFWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkZSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGcmFuY2UgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpGUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkZUTUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlsYW5vIEl0YWxpYSBCb3JzYSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpHQjAyLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAyIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpHT0xELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBHb2xkIChVUyQgLyBPWikiXSxvLmV4cG9ydHNbIiNUVkM6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOklCRVgzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCRVggMzUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6SUQwMy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDMgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SUQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklEMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOklUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRhbHkgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLApvLmV4cG9ydHNbIiNUVkM6SVhJQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpKUDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpKUDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktPU1BJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgQ29tcG9zaXRlIFN0b2NrIFByaWNlIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLb3JlYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOktSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpNWTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWFsYXlzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpNWTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TkRYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5JMjI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gMjI1IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5MMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXRoZXJsYW5kcyBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpOTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6TloxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOk5aMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQQUxMQURJVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBhbGxhZGl1bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBMMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlBMQVRJTlVNLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQbGF0aW51bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOlBUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9ydHVnYWwgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpTQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU291dGggQWZyaWNhIFRvcCA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTSUxWRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFNpbHZlciAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlNQWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6U1NNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIE1hcmtldCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTdHJhaXRzIFRpbWVzIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYNUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlRSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUdXJrZXkgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpUUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlVLT0lMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBCcmVudCBDcnVkZSBPaWwiXSxvLmV4cG9ydHNbIiNUVkM6VUtYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlVTMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVMwMlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMwNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzA1WS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpVUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMzAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdUSSBDcnVkZSBPaWwiXSwKby5leHBvcnRzWyIjVFZDOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpaWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sby5leHBvcnRzWyIjVFdTRTpUQUlFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBDYXBpdGFsaXphdGlvbiBXZWlnaHRlZCBTdG9jayBJbmRleCJdLG8uZXhwb3J0c1siI1RXVFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUd2l0dGVyIEluYyJdLG8uZXhwb3J0c1siI1VLMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSAxMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNVS09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChCcmVudCkiXSxvLmV4cG9ydHNbIiNVTklVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbmlzd2FwIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI1VTREFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjVVNEQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDYW5hZGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sby5leHBvcnRzWyIjVVNEQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNVU0RES0stc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIERhbmlzaCBLcm9uZSJdLG8uZXhwb3J0c1siI1VTREVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRXVybyJdLG8uZXhwb3J0c1siI1VTREdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG91bmQgU3RlcmxpbmciXSxvLmV4cG9ydHNbIiNVU0RIS0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEhvbmcgS29uZyBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RIVUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEh1bmdhcmlhbiBGb3JpbnQiXSxvLmV4cG9ydHNbIiNVU0RJRFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1cGlhaCJdLG8uZXhwb3J0c1siI1VTRElMUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSXNyYWVsaSBTaGVrZWwiXSxvLmV4cG9ydHNbIiNVU0RJTlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEluZGlhbiBSdXBlZSJdLG8uZXhwb3J0c1siI1VTREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjVVNES1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBLb3JlYW4iXSxvLmV4cG9ydHNbIiNVU0RNWE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIE1leGljYW4gUGVzbyJdLG8uZXhwb3J0c1siI1VTRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEUEhQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQaGlsaXBwaW5lIHBlc28iXSxvLmV4cG9ydHNbIiNVU0RQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI1VTRFJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI1VTRFJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUgVE9NIl0sby5leHBvcnRzWyIjVVNEU0VLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTd2VkaXNoIEtyb25hIl0sby5leHBvcnRzWyIjVVNEU0dELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTaW5nYXBvcmUgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNVU0RUUlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFR1cmtpc2ggTGlyYSJdLG8uZXhwb3J0c1siI1VTRFpBUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU291dGggQWZyaWNhbiBSYW5kIl0sby5leHBvcnRzWyIjVVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoV1RJKSJdLG8uZXhwb3J0c1siI1dIRUFUVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBXaGVhdCJdLG8uZXhwb3J0c1siI1hBR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEFVVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBTcG90IC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYQlRDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEVUUjpEQVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxvLmV4cG9ydHNbIiNYTVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNb25lcm8gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI1hQRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIl0sCm8uZXhwb3J0c1siI1hQVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYUlBCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBCaXRjb2luIl0sby5leHBvcnRzWyIjWFJQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gRXVybyJdLG8uZXhwb3J0c1siI1hSUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWkVDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWmNhc2ggLyBVLlMuIERvbGxhciJdfX1dKTs="}},"time_used":55,"timings":{"blocked":-1,"dns":3,"connect":1,"send":0,"wait":10,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/34678.4a992aa150d8eda5f29c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.344Z","timestamp":1785136900344,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/34678.4a992aa150d8eda5f29c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 2dfce2b7087d19f89c247000af4ec58e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10099,"size_decoded":5459,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"64083c0234bda2342afde952ad595ff1","sha1":"9de336bb851649fef34561583d096a3859314ba7","sha256":"c466ce31a3b07b166d26cf6a472c415df8a148dce9df6e232151349a72e1d8fc","sha512":"a269c9660021311bb08ba6849fe621cd4162f40400e6946e2623373ecbc7e741a5ef06b7b05041d0f49c0350603fbe5e6fa62ea47a82a5fcaef9a6270014c765","ssdeep":"192:AJfFriQ107DuXc1MatsfICpyxjb9yQaAKM2pRZPu+uFRMVIMLC:AJfFrF46cTmxygQaM2pRZP6FuqMLC","tlshash":"5622b68832f1f0e643e368e440ab0406f139690a544eb5a4e396e2d36d75fc5c1bbfe6","first_seen":"2026-07-23T13:54:09.149892Z","last_seen":"2026-08-10T05:01:09.71101Z","times_seen":497,"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":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/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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.938Z","timestamp":1785136900938,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/46907.c5af8aa7b5082b1875a5.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 9f0b33a0e4305abbb76fa6eefc4dce31\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1724,"size_decoded":1396,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1724), with no line terminators","md5":"8212d60d44748bb18233778e23b8f7b2","sha1":"35debdd9067ec06aa3648e5d7a9cddde39873397","sha256":"cc31664050fc2b670129f7e7d1a11bda8d20efa47a713598bbb96d4da6e297ba","sha512":"3f0235fe9fb761707020a01990077cf65fd4d774216e7d49fe218ea8e4ffa73a0d3d662536e662eb978f3d790446e7ee75ab139468bc6a0371653a48512aa994","ssdeep":"","tlshash":"d931cc75936ad2387a770b376241558a3199f64773730239e680bda881e16ba3b333c4","first_seen":"2026-07-16T11:36:17.893966Z","last_seen":"2026-08-03T09:16:28.399983Z","times_seen":2410,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQUVROTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUFFUTk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LndyYXBwZXItaGN0MnlKdkt7Y29sb3I6dmFyKC0tXzAtQUVROSl9LmFuaW1hdGVkLWhjdDJ5SnZLe2FuaW1hdGlvbjoxcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGUgbm9uZSBydW5uaW5nO2FuaW1hdGlvbi1uYW1lOnB1bHNhdGlvbi1oY3QyeUp2S31Aa2V5ZnJhbWVzIHB1bHNhdGlvbi1oY3QyeUp2S3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTouNH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX19ycTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1fX3JxOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtX19ycTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8xLV9fcnE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmxvZ28tVkNOS3ViV3F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9nby1WQ05LdWJXcTpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLV9fcnEpfS5oaWRkZW4tVkNOS3ViV3F7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlfS54eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3F7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEycHg7bGluZS1oZWlnaHQ6MTBweDttaW4td2lkdGg6MTJweDt3aWR0aDoxMnB4fS54eHhzbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTFweDtoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoxOHB4O3dpZHRoOjE4cHh9Lnh4c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt3aWR0aDoyMHB4fS54c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjRweDt3aWR0aDoyNHB4fS5zbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTRweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoyOHB4O3dpZHRoOjI4cHh9Lm1lZGl1bS1WQ05LdWJXcXtmb250LXNpemU6MTZweDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDozNnB4O3dpZHRoOjM2cHh9LmxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToyNHB4O2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjMycHg7bWluLXdpZHRoOjQ4cHg7d2lkdGg6NDhweH0ueGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZTo0MHB4O2hlaWdodDo1NnB4O2xpbmUtaGVpZ2h0OjQwcHg7bWluLXdpZHRoOjU2cHg7d2lkdGg6NTZweH0ueHhsYXJnZS1WQ05LdWJXcXtmb250LXNpemU6ODBweDtoZWlnaHQ6MTEycHg7bGluZS1oZWlnaHQ6ODBweDttaW4td2lkdGg6MTEycHg7d2lkdGg6MTEycHh9Lnh4eGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToxNjBweDtoZWlnaHQ6MTY4cHg7bGluZS1oZWlnaHQ6MTYwcHg7bWluLXdpZHRoOjE2OHB4O3dpZHRoOjE2OHB4fS5za2VsZXRvbi1WQ05LdWJXcXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubGV0dGVyLVZDTkt1Yldxe2NvbG9yOnZhcigtLV8wLV9fcnEpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/57093.26600c93b6171d99b700.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.902Z","timestamp":1785136901902,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/57093.26600c93b6171d99b700.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6c86\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b96ae81cb4d3e646692bf0e6aa8b7d0c\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":27782,"size_decoded":11281,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"4a5c4beebe509ac3027b79744b905303","sha1":"7eea8e87ac7a5ed1631873659a90a89e9a2cf256","sha256":"212519cc555451f5eb9173d72cf1b953de12bd91b643471be5673492e5fd4df0","sha512":"0c8c00ea4bf02423fb14f74c67dae3bb80ee82ec07ec85b67af6c9a158458956589e013607b8a608b44a881e754cd710e6ebfaf8a8037aab14d3877b9ba6d90f","ssdeep":"768:3KHYGd+QIbZ15yDJjyD272qzGJOeK6+ZJT:64fDbLoRT","tlshash":"5bc2fa867011b1ad92e789d681bf055de33f396c384d4d70f2b8d8cc69a7958e326e0e","first_seen":"2026-07-23T14:00:31.452652Z","last_seen":"2026-07-28T04:48:50.494068Z","times_seen":59,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1NzA5Myw2NDY0NF0sezkxNDQ4NyhlLHQpe3ZhciBuOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07aWYobil7dmFyIGE9dHlwZW9mIG47aWYoInN0cmluZyI9PT1hfHwibnVtYmVyIj09PWEpZS5wdXNoKG4pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGgpe3ZhciBpPW8uYXBwbHkobnVsbCxuKTtpJiZlLnB1c2goaSl9ZWxzZSBpZigib2JqZWN0Ij09PWEpZm9yKHZhciBsIGluIG4pci5jYWxsKG4sbCkmJm5bbF0mJmUucHVzaChsKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShuPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0oKX0sNjg3OTUzKGUpe2UuZXhwb3J0cz17ZGl2aWRlcjoiZGl2aWRlci1Db0EyZDVDNyIsIm9yaWVudGF0aW9uLWhvcml6b250YWwiOiJvcmllbnRhdGlvbi1ob3Jpem9udGFsLUNvQTJkNUM3Iiwib3JpZW50YXRpb24tdmVydGljYWwiOiJvcmllbnRhdGlvbi12ZXJ0aWNhbC1Db0EyZDVDNyIsImZpdC1jb250ZW50IjoiZml0LWNvbnRlbnQtQ29BMmQ1QzciLCJzaXplLXhzbWFsbCI6InNpemUteHNtYWxsLUNvQTJkNUM3Iiwic2l6ZS1zbWFsbCI6InNpemUtc21hbGwtQ29BMmQ1QzciLCJzaXplLW1lZGl1bSI6InNpemUtbWVkaXVtLUNvQTJkNUM3Iiwic2l6ZS1sYXJnZSI6InNpemUtbGFyZ2UtQ29BMmQ1QzciLCJzaXplLXhsYXJnZSI6InNpemUteGxhcmdlLUNvQTJkNUM3Iiwic2l6ZS14eGxhcmdlIjoic2l6ZS14eGxhcmdlLUNvQTJkNUM3IiwidHlwZS1wcmltYXJ5IjoidHlwZS1wcmltYXJ5LUNvQTJkNUM3IiwidHlwZS1zZWNvbmRhcnkiOiJ0eXBlLXNlY29uZGFyeS1Db0EyZDVDNyJ9fSw5OTQ1KGUpe2UuZXhwb3J0cz17ZGVmYXVsdDoiZGVmYXVsdC1HWkx5a05RUCIsZGFuZ2VyOiJkYW5nZXItR1pMeWtOUVAiLHdhcm5pbmc6Indhcm5pbmctR1pMeWtOUVAiLHN1Y2Nlc3M6InN1Y2Nlc3MtR1pMeWtOUVAiLG5ldXRyYWw6Im5ldXRyYWwtR1pMeWtOUVAiLCJuZXV0cmFsLWxpZ2h0IjoibmV1dHJhbC1saWdodC1HWkx5a05RUCIsc21hbGw6InNtYWxsLUdaTHlrTlFQIixtZWRpdW06Im1lZGl1bS1HWkx5a05RUCIsbGFyZ2U6ImxhcmdlLUdaTHlrTlFQIixpY29uV3JhcHBlcjoiaWNvbldyYXBwZXItR1pMeWtOUVAiLGljb246Imljb24tR1pMeWtOUVAifX0sNzU1ODU1KGUpe2UuZXhwb3J0cz17bGF5b3V0RXF1aWxhdGVyYWw6ImxheW91dEVxdWlsYXRlcmFsLXBqOHJKVmhaIn19LDY5Njc3MyhlKXtlLmV4cG9ydHM9e2FjdGl2ZUFyZWE6ImFjdGl2ZUFyZWEteHpBdEZtbEUiLGFjdGl2ZUFyZWFDb250ZW50OiJhY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRSIsbm9TdHJldGNoOiJub1N0cmV0Y2gteHpBdEZtbEUiLHN0cmV0Y2g6InN0cmV0Y2gteHpBdEZtbEUiLGhhc0NsaWNrTGlzdGVuZXI6Imhhc0NsaWNrTGlzdGVuZXIteHpBdEZtbEUiLGRpc2FibGVkOiJkaXNhYmxlZC14ekF0Rm1sRSIsc2VsZWN0ZWQ6InNlbGVjdGVkLXh6QXRGbWxFIixjaGlsZHJlbjoiY2hpbGRyZW4teHpBdEZtbEUifX0sMTMyNTAzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1lVGZHRGFFciIsc3RyZXRjaDoic3RyZXRjaC1lVGZHRGFFciIsZGlzYWJsZWQ6ImRpc2FibGVkLWVUZkdEYUVyIixzcXVhcmU6InNxdWFyZS1lVGZHRGFFciIseHNtYWxsOiJ4c21hbGwtZVRmR0RhRXIiLHJvdW5kOiJyb3VuZC1lVGZHRGFFciIsc21hbGw6InNtYWxsLWVUZkdEYUVyIixtZWRpdW06Im1lZGl1bS1lVGZHRGFFciIscHJpbWFyeToicHJpbWFyeS1lVGZHRGFFciIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktZVRmR0RhRXIiLHRlcnRpYXJ5OiJ0ZXJ0aWFyeS1lVGZHRGFFciIscXVhcnRlcmx5OiJxdWFydGVybHktZVRmR0RhRXIiLGdob3N0OiJnaG9zdC1lVGZHRGFFciIscGlsbDoicGlsbC1lVGZHRGFFciIsYmxpbmtBbmltYXRpb246ImJsaW5rQW5pbWF0aW9uLWVUZkdEYUVyIixibGlua2luZzoiYmxpbmtpbmctZVRmR0RhRXIiLCJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItaW50cm8iOiJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItaW50cm8tZVRmR0RhRXIiLCJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXIiOiJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItZVRmR0RhRXIiLGJsaW5rRm9yZWdyb3VuZDoiYmxpbmtGb3JlZ3JvdW5kLWVUZkdEYUVyIiwicGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWZvcmVncm91bmQiOiJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctZm9yZWdyb3VuZC1lVGZHRGFFciIsaGlnaGxpZ2h0aW5nOiJoaWdobGlnaHRpbmctZVRmR0RhRXIiLCJwaWxsLWZvY3VzLW91dGxpbmUtaGlnaGxpZ2h0aW5nLWFuaW1hdGlvbi1hZnRlciI6InBpbGwtZm9jdXMtb3V0bGluZS1oaWdobGlnaHRpbmctYW5pbWF0aW9uLWFmdGVyLWVUZkdEYUVyIiwicGlsbC1mb2N1cy1vdXRsaW5lLWhpZ2hsaWdodGluZy1hbmltYXRpb24tZm9yZWdyb3VuZCI6InBpbGwtZm9jdXMtb3V0bGluZS1oaWdobGlnaHRpbmctYW5pbWF0aW9uLWZvcmVncm91bmQtZVRmR0RhRXIifX0sODMxMTgxKGUpe2UuZXhwb3J0cz17YWN0aXZlVGV4dDoiYWN0aXZlVGV4dC1jbjBHbk9CZCJ9fSw1NDAxMDcoZSl7ZS5leHBvcnRzPXtwcmltYXJ5VGV4dDoicHJpbWFyeVRleHQtRFhjb0NWMkoifX0sODY4MzkxKGUpe2UuZXhwb3J0cz17ZmxvYXRpbmdBcnJvdzoiZmxvYXRpbmdBcnJvdy1jMU9zSFB0WSIsYm90dG9tOiJib3R0b20tYzFPc0hQdFkiLCJib3R0b20tbGVmdCI6ImJvdHRvbS1sZWZ0LWMxT3NIUHRZIiwiYm90dG9tLXJpZ2h0IjoiYm90dG9tLXJpZ2h0LWMxT3NIUHRZIix0b3A6InRvcC1jMU9zSFB0WSIsCiJ0b3AtbGVmdCI6InRvcC1sZWZ0LWMxT3NIUHRZIiwidG9wLXJpZ2h0IjoidG9wLXJpZ2h0LWMxT3NIUHRZIixsZWZ0OiJsZWZ0LWMxT3NIUHRZIiwibGVmdC10b3AiOiJsZWZ0LXRvcC1jMU9zSFB0WSIsImxlZnQtYm90dG9tIjoibGVmdC1ib3R0b20tYzFPc0hQdFkiLHJpZ2h0OiJyaWdodC1jMU9zSFB0WSIsInJpZ2h0LXRvcCI6InJpZ2h0LXRvcC1jMU9zSFB0WSIsInJpZ2h0LWJvdHRvbSI6InJpZ2h0LWJvdHRvbS1jMU9zSFB0WSJ9fSwyMzI2NShlKXtlLmV4cG9ydHM9e2VuZFNsb3RXcmFwcGVyOiJlbmRTbG90V3JhcHBlci1IeU5qSFNEVyIsZGl2aWRlcjoiZGl2aWRlci1IeU5qSFNEVyIsZW5kU2xvdENvbnRlbnQ6ImVuZFNsb3RDb250ZW50LUh5TmpIU0RXIix0b29sdGlwQmFzZVdyYXBwZXI6InRvb2x0aXBCYXNlV3JhcHBlci1IeU5qSFNEVyIsdHJhbnNwYXJlbnQ6InRyYW5zcGFyZW50LUh5TmpIU0RXIixvcGFxdWU6Im9wYXF1ZS1IeU5qSFNEVyIsZGlzYWJsZUludGVyYWN0aXZlOiJkaXNhYmxlSW50ZXJhY3RpdmUtSHlOakhTRFciLHRvb2x0aXBCYXNlOiJ0b29sdGlwQmFzZS1IeU5qSFNEVyIsY29udGVudFdyYXBwZXI6ImNvbnRlbnRXcmFwcGVyLUh5TmpIU0RXIixjb250ZW50OiJjb250ZW50LUh5TmpIU0RXIn19LDk2NjQ2NShlKXtlLmV4cG9ydHM9e3Rvb2x0aXBTdGF0ZWxlc3M6InRvb2x0aXBTdGF0ZWxlc3Mta3dzNXFlZFcifX0sNDUzNzgyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RpdmlkZXI6KCk9PnN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksYT1uLm4obyksaT1uKDY4Nzk1MyksbD1uLm4oaSk7ZnVuY3Rpb24gcyhlKXtjb25zdHtjbGFzc05hbWU6dCx0eXBlOm49InNlY29uZGFyeSIsc2l6ZTpvPSJzbWFsbCIsb3JpZW50YXRpb246aT0iaG9yaXpvbnRhbCIsZml0Q29udGVudDpzPSExfT1lLGM9YSgpKHQsbCgpLmRpdmlkZXIsbCgpW2BzaXplLSR7b31gXSxsKClbYHR5cGUtJHtufWBdLGwoKVtgb3JpZW50YXRpb24tJHtpfWBdLHMmJmwoKVsiZml0LWNvbnRlbnQiXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiaHIiLHtjbGFzc05hbWU6YywiYXJpYS1vcmllbnRhdGlvbiI6aX0pfX0sMTQ1OTg0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZvY3VzOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSx0KXtjb25zdFtuLG9dPSgwLHIudXNlU3RhdGUpKCExKTsoMCxyLnVzZUVmZmVjdCkoKCgpPT57dCYmbiYmbyghMSl9KSxbdCxuXSk7Y29uc3QgYT17b25Gb2N1czooMCxyLnVzZUNhbGxiYWNrKSgoZnVuY3Rpb24odCl7dm9pZCAwIT09ZSYmZS5jdXJyZW50IT09dC50YXJnZXR8fG8oITApfSksW2VdKSxvbkJsdXI6KDAsci51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKHQpe3ZvaWQgMCE9PWUmJmUuY3VycmVudCE9PXQudGFyZ2V0fHxvKCExKX0pLFtlXSl9O3JldHVybltuLGFdfX0sMjkwMjQzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVNhZmVNb2JpbGVUb3VjaDooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzM4NDU4KTtmdW5jdGlvbiBhKCl7Y29uc3RbZSx0XT0oMCxyLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAsci51c2VFZmZlY3QpKCgoKT0+e3Qoby5tb2JpbGV0b3VjaCl9KSxbXSksZX19LDExOTc1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+TCxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+U30pO3ZhciByLG89big3Nzk0NzQpLGE9big5MTQ0ODcpLGk9bi5uKGEpLGw9bigzNDUxMTYpLHM9bigyNzMzMTApLGM9big3ODU5OTUpLHU9bi5uKGMpLGY9big1MjcyMTkpLHA9bi5uKGYpLGQ9big2NzMwNjUpLG09bi5uKGQpLGg9big0MDAwNDYpLGc9bi5uKGgpLHY9big5OTQ1KSx5PW4ubih2KTshZnVuY3Rpb24oZSl7ZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIn0ocnx8KHI9e30pKTtjb25zdCBFPSJzbWFsbCI7dmFyIGIsQzshZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIixlLldhcm5pbmc9Indhcm5pbmciLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5OZXV0cmFsPSJuZXV0cmFsIixlLk5ldXRyYWxMaWdodD0ibmV1dHJhbC1saWdodCJ9KGJ8fChiPXt9KSksZnVuY3Rpb24oZSl7ZS5JbmZvPSJpbmZvIixlLlF1ZXN0aW9uPSJxdWVzdGlvbiIsZS5DaGVjaz0iY2hlY2siLGUuRXhjbGFtYXRpb249ImV4Y2xhbWF0aW9uIn0oQ3x8KEM9e30pKTtjb25zdCBUPXtpbmZvOnAoKSxxdWVzdGlvbjp1KCksY2hlY2s6bSgpLGV4Y2xhbWF0aW9uOmcoKX0sXz1vLmZvcndhcmRSZWYoKChlLHQpPT5vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5lLHJlZjp0LGNsYXNzTmFtZTppKCkoZS5jbGFzc05hbWUseSgpWyJuby1hY3RpdmUtc3RhdGUiXSl9KSkpLEw9by5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246bj0iZXhjbGFtYXRpb24iLGludGVudDpyPSJkZWZhdWx0IixhcmlhTGFiZWw6YSx0b29sdGlwOmMsY2xhc3NOYW1lOnUscmVuZGVyQ29tcG9uZW50OmY9Xyx0YWJJbmRleDpwPTAsc2l6ZTpkPUUsb25Gb2N1czptLG9uQmx1cjpoLG9uQ2xpY2s6ZywuLi52fT1lLGI9VFtuXT8/bjtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGYse2NsYXNzTmFtZTppKCkodSx5KCkuaWNvbldyYXBwZXIseSgpW3JdLHkoKVtkXSksdGl0bGU6YyxyZWY6dCx0YWJJbmRleDpwLG9uRm9jdXM6bSxvbkJsdXI6aCxvbkNsaWNrOmcsLi4uKDAsbC5maWx0ZXJEYXRhUHJvcHMpKHYpfSxvLmNyZWF0ZUVsZW1lbnQocy5JY29uLHsiYXJpYS1oaWRkZW4iOiFhLCJhcmlhLWxhYmVsIjphLGljb246YixjbGFzc05hbWU6eSgpLmljb259KSl9KSk7ZnVuY3Rpb24gUyhlKXtjb25zdHtpY29uOnQ9ImV4Y2xhbWF0aW9uIixpbnRlbnQ6bj0iZGVmYXVsdCIsc2l6ZTpyPUUsb25DbGljazphLG9uTW91c2VFbnRlcjpsLG9uTW91c2VMZWF2ZTpjLG9uRm9jdXM6dSxvbkJsdXI6ZixyZWZlcmVuY2U6cCxhcmlhTGFiZWw6ZH09ZSxtPVRbdF0/P3Q7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7CmNsYXNzTmFtZTppKCkoeSgpLmljb25XcmFwcGVyLHkoKVtuXSx5KClbcl0pLHJlZjpwLG9uQ2xpY2s6YSxvbk1vdXNlRW50ZXI6bCxvbk1vdXNlTGVhdmU6YyxvbkZvY3VzOnUsb25CbHVyOmYsImFyaWEtbGFiZWwiOmR9LG8uY3JlYXRlRWxlbWVudChzLkljb24se2ljb246bSxjbGFzc05hbWU6eSgpLmljb259KSl9fSw4NjUwOTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVG9vbHRpcDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oMjkwMjQzKSxhPW4oNzg3ODk1KTtmdW5jdGlvbiBpKGUsdD1udWxsKXtjb25zdHtzaG93VG9vbHRpcDpuLGhpZGVUb29sdGlwOmksb25DbGljazpsLGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOnM9ITF9PWUsYz0oMCxhLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHQpLHU9KDAsby51c2VTYWZlTW9iaWxlVG91Y2gpKCksZj11JiZzP3ZvaWQgMDplLnRvb2x0aXA7KDAsci51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KCk9PmkmJmkoKTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLCEwKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLCEwKX0pLFtjLGldKTtyZXR1cm57b25CbHVyOigwLHIudXNlQ2FsbGJhY2spKChlPT57aSYmaSgpfSksW2ldKSxvbkZvY3VzOigwLHIudXNlQ2FsbGJhY2spKChlPT57IWUudGFyZ2V0Lm1hdGNoZXMoIjpob3ZlciIpJiZuJiZlLnRhcmdldC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpJiZuKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjIwMH0pfSksW25dKSxvbkNsaWNrOigwLHIudXNlQ2FsbGJhY2spKChlPT57dSYmYz8uY3VycmVudD8uZm9jdXMoKSxsJiZsKGUpfSksW2wsYyx1XSksdG9vbHRpcDpmLGNsYXNzTmFtZTp2b2lkIDAhPT1mPyJhcHBseS1jb21tb24tdG9vbHRpcCI6dm9pZCAwLHJlZjpjfX19LDQ2NzY1MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQaWxsQWN0aXZlQXJlYTooKT0+Z30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxhPW4ubihvKSxpPW4oNjM3NTY0KSxsPW4oMTUzMTU0KSxzPW4oNzg3ODk1KSxjPW4oMTUzNzI4KSx1PW4oMjMyNjc2KSxmPW4oMzQ1MTE2KSxwPW4oMTQ3OTAxKSxkPW4oNjk2NzczKSxtPW4ubihkKTtjb25zdCBoPSJwaWxsLWFjdGl2ZS1hcmVhLSI7ZnVuY3Rpb24gZyhlKXtjb25zdCB0PSgwLHIudXNlUmVmKShudWxsKSx7dG9vbHRpcDpuLGFyaWFMYWJlbDpvLGNoaWxkcmVuOmQsaXNTZWxlY3RlZDpnLG9uQ2xpY2s6dixvbktleURvd246eSxhcmlhQ29udHJvbHM6RSxhcmlhSGFzcG9wdXA6YixhcmlhRXhwYW5kZWQ6QyxkYXRhUWFJZDpULHRvb2x0aXBQbGFjZW1lbnQ6Xz1baS5Ub29sdGlwUGxhY2VtZW50cy5Ub3AsaS5Ub29sdGlwUGxhY2VtZW50cy5Cb3R0b21dLHJlZmVyZW5jZTpMPXQsc3RyZXRjaDpTPSExLC4uLkF9PWUsUD0oMCxmLmZpbHRlckRhdGFQcm9wcykoQSksdz0oMCxzLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKEwpLHtkaXNhYmxlZDprfT0oMCxyLnVzZUNvbnRleHQpKHUuUGlsbEludGVybmFsQ29udGV4dCkseD0oMCxyLnVzZUlkKSgpLHtvcGVuOk8sY2xvc2U6Tix2aXNpYmxlOlJ9PSgwLGMudXNlVG9vbHRpcFN0YXRlKSh7b3BlbkRlbGF5OjUwMCxjbG9zZURlbGF5OjB9KSxJPSgwLHIudXNlUmVmKSghMSksRD0oMCxyLnVzZVJlZikoITEpLEc9KDAsci51c2VSZWYpKCExKSxIPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9SS5jdXJyZW50LHQ9RC5jdXJyZW50O2V8fHQ/TygpOk4oKX0pLFtPLE5dKSxGPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e0kuY3VycmVudD0hMCxIKCl9KSxbSF0pLEI9KDAsci51c2VDYWxsYmFjaykoKCgpPT57SS5jdXJyZW50PSExLEgoKX0pLFtIXSksTT0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntJLmN1cnJlbnQ9ITEsRC5jdXJyZW50PSExLEgoKX0pLFtIXSksej12b2lkIDAhPT12JiYhazsoMCxyLnVzZUVmZmVjdCkoKCgpPT57IXomJkcuY3VycmVudCYmKEcuY3VycmVudD0hMSxELmN1cnJlbnQ9ITEpfSksW3pdKTtjb25zdCBqPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9dy5jdXJyZW50O2UmJmUubWF0Y2hlcygiOmZvY3VzLXZpc2libGUiKSYmKEQuY3VycmVudD0hMCxHLmN1cnJlbnQ9ITAsSCgpKX0pLFt3LEhdKSxXPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e0cuY3VycmVudD0hMSxELmN1cnJlbnQ9ITEsSCgpfSksW0hdKSwkPXY/ImJ1dHRvbiI6ImRpdiI7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChyLkZyYWdtZW50LG51bGwsbiYmci5jcmVhdGVFbGVtZW50KGwuVG9vbHRpcFN0YXRlbGVzcyx7aWQ6eCxvcGVuOlIsb25DbG9zZTpOLGFuY2hvcjp3LGNvbnRlbnQ6bixpc1J0bDohMSxwbGFjZW1lbnQ6XyxoYXNBcnJvdzohMCxkYXRhUWFJZDooMCxwLmRhdGFRYUlkcykoYCR7cC5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9JHtofXRvb2x0aXBgLFQpfSksci5jcmVhdGVFbGVtZW50KCQse2lkOmUuaWQsImFyaWEtZGVzY3JpYmVkYnkiOm4/eDp2b2lkIDAsImFyaWEtbGFiZWwiOm8sImFyaWEtY29udHJvbHMiOkUsImFyaWEtaGFzcG9wdXAiOmIsImFyaWEtZXhwYW5kZWQiOkMsImFyaWEtZGlzYWJsZWQiOno/azp2b2lkIDAscmVmOncsY2xhc3NOYW1lOmEoKShrJiZtKCkuZGlzYWJsZWQsbSgpLmFjdGl2ZUFyZWEsZyYmbSgpLnNlbGVjdGVkLFM/bSgpLnN0cmV0Y2g6bSgpLm5vU3RyZXRjaCx2JiZtKCkuaGFzQ2xpY2tMaXN0ZW5lciksb25DbGljazp6P3Y6dm9pZCAwLG9uS2V5RG93bjp6P3k6dm9pZCAwLG9uTW91c2VFbnRlcjpGLG9uTW91c2VEb3duOk0sb25Nb3VzZUxlYXZlOkIsb25Gb2N1czpqLG9uQmx1cjpXLHRhYkluZGV4Ono/MDotMSwiZGF0YS1xYS1pZCI6KDAscC5kYXRhUWFJZHMpKGAke3AuVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfSR7aH1idXR0b25gLFQpLC4uLlB9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm0oKS5hY3RpdmVBcmVhQ29udGVudH0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bSgpLmNoaWxkcmVufSxkKSkpKX19LDg5NjgzMShlLHQsbil7CiJ1c2Ugc3RyaWN0IjtuLmQodCx7UGlsbExheW91dEVxdWlsYXRlcmFsOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big3NTU4NTUpLGE9bi5uKG8pO2NvbnN0IGk9ZnVuY3Rpb24oZSl7Y29uc3R7Y2hpbGRyZW46dH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLmxheW91dEVxdWlsYXRlcmFsfSx0KX19LDIzMjY3NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQaWxsOigpPT5wLFBpbGxJbnRlcm5hbENvbnRleHQ6KCk9PmZ9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksYT1uLm4obyksaT1uKDE1MDI2MyksbD1uKDg2NTk3Mikscz1uKDc4Nzg5NSksYz1uKDEzMjUwMyksdT1uLm4oYyk7Y29uc3QgZj0oMCxyLmNyZWF0ZUNvbnRleHQpKHtkaXNhYmxlZDohMX0pO2Z1bmN0aW9uIHAoZSl7Y29uc3R7c2l6ZTp0PWkuREVGQVVMVF9QSUxMX1NJWkUsdHlwZTpuPWkuREVGQVVMVF9QSUxMX1RZUEUsc2hhcGU6bz1pLkRFRkFVTFRfUElMTF9TSEFQRX09KDAsci51c2VDb250ZXh0KShsLlBpbGxDb250ZXh0KSxjPWUudHlwZT8/bix7b25Gb2N1czpwfT0oMCxyLnVzZUNvbnRleHQpKGwuUGlsbHNTY3JvbGxDb250ZXh0KSxkPSgwLHIudXNlUmVmKShudWxsKSx7YmxpbmtpbmdTdGF0ZTptPWkuREVGQVVMVF9QSUxMX0JMSU5LSU5HX1NUQVRFLGNoaWxkcmVuOmgscmVmZXJlbmNlOmc9ZCxkaXNhYmxlZDp2LGlkOnksc3RyZXRjaDpFLGRhdGFRYUlkOmJ9PWUsQz0oMCxzLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGcpLFQ9KDAsci51c2VNZW1vKSgoKCk9Pih7ZGlzYWJsZWQ6dj8/ITF9KSksW3ZdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGYuUHJvdmlkZXIse3ZhbHVlOlR9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOkMsaWQ6eSxjbGFzc05hbWU6YSgpKHUoKS53cmFwcGVyLHUoKVt0XSx1KClbb10sRSYmdSgpLnN0cmV0Y2gpLG9uRm9jdXM6cCwiZGF0YS1xYS1pZCI6Yn0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKHUoKS5waWxsLHUoKVtjXSx1KCkuYmxpbmtBbmltYXRpb24sdSgpW21dLHYmJnUoKS5kaXNhYmxlZCl9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnUoKS5ibGlua0ZvcmVncm91bmR9KSxoKSkpfX0sMjEwOTgwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BpbGxBY3RpdmVUZXh0OigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGE9bi5uKG8pLGk9big4MzExODEpLGw9bi5uKGkpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKShsKCkuYWN0aXZlVGV4dCxlLmNsYXNzTmFtZSl9LGUuY2hpbGRyZW4pfX0sMjQ2MzUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BpbGxQcmltYXJ5VGV4dDooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxhPW4ubihvKSxpPW4oNTQwMTA3KSxsPW4ubihpKTtmdW5jdGlvbiBzKGUpe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkobCgpLnByaW1hcnlUZXh0LGUuY2xhc3NOYW1lKX0sZS5jaGlsZHJlbil9fSw4NjU5NzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UGlsbENvbnRleHQ6KCk9PmEsUGlsbHNTY3JvbGxDb250ZXh0OigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89bigxNTAyNjMpO2NvbnN0IGE9KDAsci5jcmVhdGVDb250ZXh0KSh7c2l6ZTpvLkRFRkFVTFRfUElMTF9TSVpFLHR5cGU6by5ERUZBVUxUX1BJTExfVFlQRSxzaGFwZTpvLkRFRkFVTFRfUElMTF9TSEFQRX0pLGk9KDAsci5jcmVhdGVDb250ZXh0KSh7fSl9LDE1MDI2MyhlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByLG8sYSxpO24uZCh0LHtERUZBVUxUX1BJTExfQkxJTktJTkdfU1RBVEU6KCk9PnUsREVGQVVMVF9QSUxMX1NIQVBFOigpPT5sLERFRkFVTFRfUElMTF9TSVpFOigpPT5jLERFRkFVTFRfUElMTF9UWVBFOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5QcmltYXJ5PSJwcmltYXJ5IixlLlNlY29uZGFyeT0ic2Vjb25kYXJ5IixlLlRlcnRpYXJ5PSJ0ZXJ0aWFyeSIsZS5RdWFydGVybHk9InF1YXJ0ZXJseSIsZS5HaG9zdD0iZ2hvc3QifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuTWVkaXVtPSJtZWRpdW0iLGUuU21hbGw9InNtYWxsIixlLlhTbWFsbD0ieHNtYWxsIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLkJsaW5raW5nPSJibGlua2luZyIsZS5IaWdobGlnaHRpbmc9ImhpZ2hsaWdodGluZyIsZS5Ob3RCbGlua2luZz0ibm90QmxpbmtpbmcifShhfHwoYT17fSkpLGZ1bmN0aW9uKGUpe2UuU3F1YXJlPSJzcXVhcmUiLGUuUm91bmQ9InJvdW5kIn0oaXx8KGk9e30pKTtjb25zdCBsPSJzcXVhcmUiLHM9InNlY29uZGFyeSIsYz0ic21hbGwiLHU9Im5vdEJsaW5raW5nIn0sOTM4MjQyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU5lc3RlZFBvcG92ZXJPcGVuU3RhdGU6KCk9PmwsdXNlT25DbG9zZVBvcG92ZXI6KCk9Pm8sdXNlUm9vdFBvcG92ZXJPcGVuU3RhdGU6KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCk7ZnVuY3Rpb24gbyhlLHQpe3JldHVybigwLHIudXNlQ2FsbGJhY2spKChuPT57dCgpLG4mJmUuY3VycmVudD8uZm9jdXMoKX0pLFtlLHRdKX1mdW5jdGlvbiBhKGUpe2NvbnN0W3Qsbl09KDAsci51c2VTdGF0ZSkoITEpLGE9KDAsci51c2VDYWxsYmFjaykoKCgpPT57bighMSl9KSxbXSk7cmV0dXJue2lzT3Blbjp0LG9uT3BlbjooMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntuKCEwKX0pLFtdKSxvbkNsb3NlOm8oZSxhKX19Y29uc3QgaT1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGUsdCl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSghMSksYT0oMCxyLnVzZUNhbGxiYWNrKSgoKG4scj0iY3VycmVudExldmVsIik9PntvKCExKSwiYWxsTGV2ZWxzIj09PXI/dChuLHIpOm4mJmUuY3VycmVudD8uZm9jdXMoKX0pLFtlLHRdKTsoMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1pLmdldCh0KT8/bmV3IFNldDtyZXR1cm4gZS5hZGQoYSksaS5zZXQodCxlKSwoKT0+e2NvbnN0IGU9aS5nZXQodCk7ZSYmKGUuZGVsZXRlKGEpLAowPT09ZS5zaXplJiZpLmRlbGV0ZSh0KSl9fSksW2EsdF0pO3JldHVybntpc09wZW46bixvbk9wZW46KDAsci51c2VDYWxsYmFjaykoKCgpPT57Y29uc3QgZT1pLmdldCh0KTtpZihlKWZvcihjb25zdCB0IG9mIGUpdCE9PWEmJnQoITEsImN1cnJlbnRMZXZlbCIpO28oITApfSksW3QsYV0pLG9uQ2xvc2U6YX19fSw3MzM2MTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlRGVmYXVsdEJ1dHRvbkFuY2hvclByb3BzOigpPT5sfSk7dmFyIHI9big3Nzk0NzQpLG89big3ODc4OTUpLGE9big5MzgyNDIpLGk9big2Mzg1ODUpO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD0oMCxyLnVzZVJlZikoKSxuPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCkse2lzT3BlbjpsLG9uT3BlbjpzLG9uQ2xvc2U6Y309KDAsYS51c2VSb290UG9wb3Zlck9wZW5TdGF0ZSkobiksdT0oMCxyLnVzZUlkKSgpLGY9ZT8uYW5jaG9ySWQ/P3UscD0oMCxyLnVzZUlkKSgpLGQ9KDAsaS51c2VPcGVuUG9wb3Zlck9uQW5jaG9yS2V5RG93bikoe2lzT3BlbjpsLG9uT3BlbjpzLG9wZW5PbkVudGVyOmU/Lm9wZW5PbkVudGVyLG9wZW5PbkFycm93OmU/Lm9wZW5PbkFycm93fSksbT0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PmMoITAsImFsbExldmVscyIpKSxbY10pO3JldHVybnthbmNob3JCdXR0b25SZWY6bixpc09wZW46bCxvbk9wZW46cyxvbkNsb3NlOmMsYW5jaG9ySWQ6Zixjb250ZW50SWQ6cCxoYW5kbGVBbmNob3JDbGljazpsP206cyxoYW5kbGVBbmNob3JLZXlEb3duOmR9fX0sNjM4NTg1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU9wZW5Qb3BvdmVyT25BbmNob3JLZXlEb3duOigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89bigyMzU3MjQpO2NvbnN0IGE9bmV3IFNldChbMzJdKSxpPW5ldyBTZXQoWzQwLDM4XSksbD1uZXcgU2V0KFsxM10pO2Z1bmN0aW9uIHMoZSl7Y29uc3R7aXNPcGVuOnQsb25PcGVuOm4sb3Blbk9uRW50ZXI6cz0hMCxvcGVuT25BcnJvdzpjPSEwLG9wZW5PblNwYWNlOnU9ITB9PWU7cmV0dXJuKDAsci51c2VDYWxsYmFjaykoKGU9Pntjb25zdCByPSgwLG8uaGFzaEZyb21FdmVudCkoZSk7IXQmJihzJiZsLmhhcyhyKXx8YyYmaS5oYXMocil8fHUmJmEuaGFzKHIpKSYmKG4oKSxlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSl9KSxbdCxuLHNdKX19LDg1NzAzOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sdGlwQmFzZTooKT0+bX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxhPW4ubihvKSxpPW4oNDUzNzgyKSxsPW4oODY4MzkxKSxzPW4ubihsKTtjb25zdCBjPSh7cGxhY2VtZW50OmUsLi4udH0pPT5yLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkocygpLmZsb2F0aW5nQXJyb3csZSYmcygpW2VdKSwuLi50fSk7dmFyIHU9big2Mzc1NjQpLGY9bigyMzI2NSkscD1uLm4oZik7ZnVuY3Rpb24gZCh7Y29udGVudDplLGlzUnRsOnR9KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKShwKCkuZW5kU2xvdFdyYXBwZXIsdCYmcCgpLmVuZFNsb3RSdGwpfSxyLmNyZWF0ZUVsZW1lbnQoaS5EaXZpZGVyLHtjbGFzc05hbWU6cCgpLmRpdmlkZXIsb3JpZW50YXRpb246InZlcnRpY2FsIix0eXBlOiJzZWNvbmRhcnkiLHNpemU6InhzbWFsbCJ9KSxyLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpKHAoKS5lbmRTbG90Q29udGVudCx0JiZwKCkuZW5kU2xvdENvbnRlbnRSdGwpfSxlKSl9ZnVuY3Rpb24gbSh7aWQ6ZSxjb250ZW50OnQsZW5kU2xvdDpuLGhhc0Fycm93Om89ITAsaXNSdGw6aT0hMSxwbGFjZW1lbnQ6bD11LlRvb2x0aXBQbGFjZW1lbnRzLlRvcCxkaXNhYmxlSW50ZXJhY3RpdmU6cz0hMSx0cmFuc3BhcmVudDpmLC4uLm19KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDplLHJvbGU6InRvb2x0aXAiLGNsYXNzTmFtZTphKCkocCgpLnRvb2x0aXBCYXNlV3JhcHBlcixzJiZwKCkuZGlzYWJsZUludGVyYWN0aXZlLGY/cCgpLnRyYW5zcGFyZW50OnAoKS5vcGFxdWUpfSxvJiZyLmNyZWF0ZUVsZW1lbnQoYyx7Li4ubSxwbGFjZW1lbnQ6bH0pLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnAoKS50b29sdGlwQmFzZX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKHAoKS5jb250ZW50V3JhcHBlcixpJiZwKCkuY29udGVudFJ0bCl9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnAoKS5jb250ZW50fSx0KSxuJiZyLmNyZWF0ZUVsZW1lbnQoZCx7Y29udGVudDpuLGlzUnRsOml9KSkpKX19LDE1MzE1NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sdGlwU3RhdGVsZXNzOigpPT55fSk7dmFyIHI9big3Nzk0NzQpLG89big2NDA1MTMpLGE9big1NjI5OCksaT1uKDQ0MDQ0NiksbD1uKDMwNjI4Nykscz1uKDI4NjMxMCksYz1uKDg5NTkyMSksdT1uKDc4Nzg5NSksZj1uKDg1NzAzOCkscD1uKDYzNzU2NCksZD1uKDk2NjQ2NSksbT1uLm4oZCk7ZnVuY3Rpb24gaChlKXtyZXR1cm5bey4uLmUsb3ZlcmZsb3dIb3Jpem9udGFsOntraW5kOiJzbGlkZU92ZXJmbG93IixhbmNob3JTYWZlU3BhY2U6OCxwb3NpdGlvbmVyU2FmZVNwYWNlOjE0fSxvdmVyZmxvd1ZlcnRpY2FsOiJrZWVwTm9uRml0dGluZyJ9XX1mdW5jdGlvbiBnKGUpe3JldHVyblt7Li4uZSxvdmVyZmxvd0hvcml6b250YWw6ImtlZXBOb25GaXR0aW5nIixvdmVyZmxvd1ZlcnRpY2FsOntraW5kOiJzbGlkZU92ZXJmbG93IixhbmNob3JTYWZlU3BhY2U6OCxwb3NpdGlvbmVyU2FmZVNwYWNlOjEyfX1dfWNvbnN0IHY9eyJib3R0b20tbGVmdCI6aChvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVCksYm90dG9tOmgoby5QTEFDRU1FTlRfQk9UVE9NX0FMSUdOX0NFTlRFUiksImJvdHRvbS1yaWdodCI6aChvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQpLCJ0b3AtbGVmdCI6aChvLlBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVCksdG9wOmgoby5QTEFDRU1FTlRfVE9QX0FMSUdOX0NFTlRFUiksInRvcC1yaWdodCI6aChvLlBMQUNFTUVOVF9UT1BfQUxJR05fUklHSFQpLAoicmlnaHQtdG9wIjpnKG8uUExBQ0VNRU5UX1JJR0hUX0FMSUdOX1RPUCkscmlnaHQ6ZyhvLlBMQUNFTUVOVF9SSUdIVF9BTElHTl9DRU5URVIpLCJyaWdodC1ib3R0b20iOmcoby5QTEFDRU1FTlRfUklHSFRfQUxJR05fQk9UVE9NKSwibGVmdC10b3AiOmcoby5QTEFDRU1FTlRfTEVGVF9BTElHTl9UT1ApLGxlZnQ6ZyhvLlBMQUNFTUVOVF9MRUZUX0FMSUdOX0NFTlRFUiksImxlZnQtYm90dG9tIjpnKG8uUExBQ0VNRU5UX0xFRlRfQUxJR05fQk9UVE9NKX0seT0oMCxhLmlnbm9yZU9uU1NSKSgoZnVuY3Rpb24oZSl7Y29uc3R7YW5jaG9yOnQsb3BlbjpuLGlkOm8sY29udGVudDphLGVuZFNsb3Q6cCxoYXNBcnJvdzpkPSEwLGlzUnRsOmg9ITEsb25DbG9zZTpnLHBsYWNlbWVudDp5PUUsb2Zmc2V0OmI9MCxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpDPSExLGRpc2FibGVJbnRlcmFjdGl2ZTpULGRhdGFRYUlkOl8sZ2V0Um9vdFJlY3Q6TCxmb3JjZURpc2FibGVUcmFuc3BhcmVuY3k6U309ZSxbQSxQXT0oMCxyLnVzZVN0YXRlKSghUyksdz1kPzQ6YixrPSgwLHUudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoKDAsci51c2VSZWYpKG51bGwpKSx4PSgwLHIudXNlTWVtbykoKCgpPT4oKGUsdCk9PihBcnJheS5pc0FycmF5KGUpP2U6W2VdKS5mbGF0TWFwKChlPT4oKGUsdCk9PmUubWFwKChlPT57Y29uc3Qgbj17dG9wOnt4OjAseTotdH0scmlnaHQ6e3g6dCx5OjB9LGJvdHRvbTp7eDowLHk6dH0sbGVmdDp7eDotdCx5OjB9fTtyZXR1cm4gZS5uYW1lPy5zcGxpdCgiLSIpWzBdP3suLi5lLG9mZnNldDpuW2UubmFtZS5zcGxpdCgiLSIpWzBdXX06ZX0pKSkodltlXSx0KSkpKSh5LHcpKSxbdyx5XSksW08sTl09ci51c2VTdGF0ZSh2b2lkIDApLFI9KDAsci51c2VDYWxsYmFjaykoKGU9PntPPy5uYW1lIT09ZT8ubmFtZSYmbiYmKE4oZSksUCghMSkpfSksW24sTz8ubmFtZV0pOygwLHIudXNlRWZmZWN0KSgoKCk9PntufHwoTih2b2lkIDApLFAoITApKX0pLFtuXSk7Y29uc3QgST0oMCxsLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKG4pLEQ9KDAsaS51c2VDbG9zZVJlcG9zaXRpb25PblNjcm9sbE91dHNpZGUpKG4sQyxnLHQpLEc9KDAsci51c2VNZW1vKSgoKCk9PltJLERdKSxbRCxJXSksSD0oMCxjLnVzZVJlZlJlY3QpKHQsbixHKTtpZighSClyZXR1cm4gbnVsbDtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHMuUmVjdGFuZ2xlUG9zaXRpb25lcix7cGxhY2VtZW50UnVsZXM6eCxpc09wZW46bix3aWR0aDpbXSxoZWlnaHQ6W10sYW5jaG9yZWRBdDpILGlzUnRsOmgscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6ayxvblBsYWNlbWVudFJ1bGVTZWxlY3RlZDpSLGRhdGFRYUlkOl8sZ2V0Um9vdFJlY3Q6TCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6bSgpLnRvb2x0aXBTdGF0ZWxlc3N9LHIuY3JlYXRlRWxlbWVudChmLlRvb2x0aXBCYXNlLHtpZDpvLGNvbnRlbnQ6YSxlbmRTbG90OnAsaGFzQXJyb3c6ZCxpc1J0bDpoLHBsYWNlbWVudDpPPy5uYW1lLGRpc2FibGVJbnRlcmFjdGl2ZTpULHRyYW5zcGFyZW50OkF9KSl9KSksRT1bcC5Ub29sdGlwUGxhY2VtZW50cy5Ub3AscC5Ub29sdGlwUGxhY2VtZW50cy5Cb3R0b20scC5Ub29sdGlwUGxhY2VtZW50cy5MZWZ0LHAuVG9vbHRpcFBsYWNlbWVudHMuUmlnaHRdfSw2Mzc1NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7VG9vbHRpcFBsYWNlbWVudHM6KCk9PnJ9KSxmdW5jdGlvbihlKXtlLlRvcExlZnQ9InRvcC1sZWZ0IixlLlRvcD0idG9wIixlLlRvcFJpZ2h0PSJ0b3AtcmlnaHQiLGUuQm90dG9tTGVmdD0iYm90dG9tLWxlZnQiLGUuQm90dG9tPSJib3R0b20iLGUuQm90dG9tUmlnaHQ9ImJvdHRvbS1yaWdodCIsZS5SaWdodFRvcD0icmlnaHQtdG9wIixlLlJpZ2h0PSJyaWdodCIsZS5SaWdodEJvdHRvbT0icmlnaHQtYm90dG9tIixlLkxlZnRUb3A9ImxlZnQtdG9wIixlLkxlZnQ9ImxlZnQiLGUuTGVmdEJvdHRvbT0ibGVmdC1ib3R0b20ifShyfHwocj17fSkpfSwxNTM3MjgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVG9vbHRpcFN0YXRlOigpPT5hfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSl7dm9pZCAwIT09ZS5jdXJyZW50JiYoY2xlYXJUaW1lb3V0KGUuY3VycmVudCksZS5jdXJyZW50PXZvaWQgMCl9ZnVuY3Rpb24gYShlKXtjb25zdHtvcGVuRGVsYXk6dD0wLGNsb3NlRGVsYXk6bj0wfT1lLFthLGldPSgwLHIudXNlU3RhdGUpKCExKSxsPSgwLHIudXNlUmVmKSgpLHM9KDAsci51c2VDYWxsYmFjaykoKGU9PntvKGwpO2NvbnN0IHI9ZT90Om47cj4wP2wuY3VycmVudD13aW5kb3cuc2V0VGltZW91dCgoKCk9PntpKGUpLGwuY3VycmVudD12b2lkIDB9KSxyKTppKGUpfSksW3Qsbl0pLGM9KDAsci51c2VDYWxsYmFjaykoKCgpPT5zKCEwKSksW3NdKSx1PSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+cyghMSkpLFtzXSksZj0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PnMoIWEpKSxbYSxzXSkscD0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntvKGwpLGkoITEpfSksW10pO3JldHVybigwLHIudXNlRWZmZWN0KSgoKCk9PigpPT57byhsKX0pLFtdKSx7dmlzaWJsZTphLG9wZW46YyxjbG9zZTp1LHRvZ2dsZTpmLGNsb3NlSW5zdGFudGx5OnB9fX0sMTQxNzA1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4iIj09PWU/IiI6ZVswXS50b1VwcGVyQ2FzZSgpK2Uuc3Vic3RyaW5nKDEpfW4uZCh0LHtjYXBpdGFsaXplOigpPT5yfSl9LDMxNDcyMChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7Y29uc3R7cGFkZGluZ1RvcDp0LHBhZGRpbmdCb3R0b206bn09d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSk7cmV0dXJuW3Qsbl0ucmVkdWNlKCgoZSx0KT0+ZS1OdW1iZXIoKHR8fCIiKS5yZXBsYWNlKCJweCIsIiIpKSksZS5jbGllbnRIZWlnaHQpfWZ1bmN0aW9uIG8oZSx0PSExKXtjb25zdCBuPWdldENvbXB1dGVkU3R5bGUoZSkscj1bbi5oZWlnaHRdCjtyZXR1cm4iYm9yZGVyLWJveCIhPT1uLmJveFNpemluZyYmci5wdXNoKG4ucGFkZGluZ1RvcCxuLnBhZGRpbmdCb3R0b20sbi5ib3JkZXJUb3BXaWR0aCxuLmJvcmRlckJvdHRvbVdpZHRoKSx0JiZyLnB1c2gobi5tYXJnaW5Ub3Asbi5tYXJnaW5Cb3R0b20pLHIucmVkdWNlKCgoZSx0KT0+ZSsocGFyc2VGbG9hdCh0KXx8MCkpLDApfWZ1bmN0aW9uIGEoZSx0PSExKXtjb25zdCBuPWdldENvbXB1dGVkU3R5bGUoZSkscj1bbi53aWR0aF07cmV0dXJuImJvcmRlci1ib3giIT09bi5ib3hTaXppbmcmJnIucHVzaChuLnBhZGRpbmdMZWZ0LG4ucGFkZGluZ1JpZ2h0LG4uYm9yZGVyTGVmdFdpZHRoLG4uYm9yZGVyUmlnaHRXaWR0aCksdCYmci5wdXNoKG4ubWFyZ2luTGVmdCxuLm1hcmdpblJpZ2h0KSxyLnJlZHVjZSgoKGUsdCk9PmUrKHBhcnNlRmxvYXQodCl8fDApKSwwKX1uLmQodCx7Y29udGVudEhlaWdodDooKT0+cixvdXRlckhlaWdodDooKT0+byxvdXRlcldpZHRoOigpPT5hfSl9LDc4Mjk1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVBcmlhQXR0cmlidXRlc1Byb3BzOigpPT5vfSk7dmFyIHI9bigxNDE3MDUpO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPXt9O2Zvcihjb25zdCBvIG9mIE9iamVjdC5lbnRyaWVzKHQpKW5bImNhbWVsQ2FzZSI9PT1lPyJhcmlhIisoMCxyLmNhcGl0YWxpemUpKG9bMF0pOiJhcmlhLSIrb1swXV09b1sxXTtyZXR1cm4gbn19LDM5MTE1MihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm57W2VdOnR9fW4uZCh0LHtjcmVhdGVSZWZQcm9wOigpPT5yfSl9LDMzNjMzNChlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oMTI5MzY1KTt0LmNyZWF0ZVJvb3Q9ci5jcmVhdGVSb290LHIuaHlkcmF0ZVJvb3R9LDEyOTM2NShlLHQsbil7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9big1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHI9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLHM9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGM9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZj1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIikscD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksZD1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LGg9T2JqZWN0LmFzc2lnbixnPXt9O2Z1bmN0aW9uIHYoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8bX1mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIEUoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8bX12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHkucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBiPUUucHJvdG90eXBlPW5ldyB5O2IuY29uc3RydWN0b3I9RSxoKGIsdi5wcm90b3R5cGUpLGIuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIEM9QXJyYXkuaXNBcnJheSxUPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksXz17Y3VycmVudDpudWxsfSxMPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gUyhlLHQscil7dmFyIG8sYT17fSxpPW51bGwsbD1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihsPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKGk9IiIrdC5rZXkpLHQpVC5jYWxsKHQsbykmJiFMLmhhc093blByb3BlcnR5KG8pJiYoYVtvXT10W29dKTt2YXIgcz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXMpYS5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxzKXtmb3IodmFyIGM9QXJyYXkocyksdT0wO3U8czt1KyspY1t1XT1hcmd1bWVudHNbdSsyXTthLmNoaWxkcmVuPWN9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gcz1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1hW29dJiYoYVtvXT1zW29dKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OmkscmVmOmwscHJvcHM6YSxfb3duZXI6Xy5jdXJyZW50fX1mdW5jdGlvbiBBKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBQPS9cLysvZztmdW5jdGlvbiB3KGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifQo7cmV0dXJuIiQiK2UucmVwbGFjZSgvWz06XS9nLChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pKX0oIiIrZS5rZXkpOnQudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIGsoZSx0LG8sYSxpKXt2YXIgbD10eXBlb2YgZTsidW5kZWZpbmVkIiE9PWwmJiJib29sZWFuIiE9PWx8fChlPW51bGwpO3ZhciBzPSExO2lmKG51bGw9PT1lKXM9ITA7ZWxzZSBzd2l0Y2gobCl7Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjpzPSEwO2JyZWFrO2Nhc2Uib2JqZWN0Ijpzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBuOmNhc2UgcjpzPSEwfX1pZihzKXJldHVybiBpPWkocz1lKSxlPSIiPT09YT8iLiIrdyhzLDApOmEsQyhpKT8obz0iIixudWxsIT1lJiYobz1lLnJlcGxhY2UoUCwiJCYvIikrIi8iKSxrKGksdCxvLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKSk6bnVsbCE9aSYmKEEoaSkmJihpPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5OnQscmVmOmUucmVmLHByb3BzOmUucHJvcHMsX293bmVyOmUuX293bmVyfX0oaSxvKyghaS5rZXl8fHMmJnMua2V5PT09aS5rZXk/IiI6KCIiK2kua2V5KS5yZXBsYWNlKFAsIiQmLyIpKyIvIikrZSkpLHQucHVzaChpKSksMTtpZihzPTAsYT0iIj09PWE/Ii4iOmErIjoiLEMoZSkpZm9yKHZhciBjPTA7YzxlLmxlbmd0aDtjKyspe3ZhciB1PWErdyhsPWVbY10sYyk7cys9ayhsLHQsbyx1LGkpfWVsc2UgaWYodT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPWQmJmVbZF18fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgdSlmb3IoZT11LmNhbGwoZSksYz0wOyEobD1lLm5leHQoKSkuZG9uZTspcys9ayhsPWwudmFsdWUsdCxvLHU9YSt3KGwsYysrKSxpKTtlbHNlIGlmKCJvYmplY3QiPT09bCl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gc31mdW5jdGlvbiB4KGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLG89MDtyZXR1cm4gayhlLHIsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLG8rKyl9KSkscn1mdW5jdGlvbiBPKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIE49e2N1cnJlbnQ6bnVsbH0sUj17dHJhbnNpdGlvbjpudWxsfSxJPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOk4sUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6UixSZWFjdEN1cnJlbnRPd25lcjpffTt0LkNoaWxkcmVuPXttYXA6eCxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXt4KGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4geChlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiB4KGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighQShlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPWksdC5QdXJlQ29tcG9uZW50PUUsdC5TdHJpY3RNb2RlPWEsdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9SSx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscil7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89aCh7fSxlLnByb3BzKSxhPWUua2V5LGk9ZS5yZWYsbD1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYsbD1fLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBzPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGMgaW4gdClULmNhbGwodCxjKSYmIUwuaGFzT3duUHJvcGVydHkoYykmJihvW2NdPXZvaWQgMD09PXRbY10mJnZvaWQgMCE9PXM/c1tjXTp0W2NdKX12YXIgYz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWMpby5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxjKXtzPUFycmF5KGMpO2Zvcih2YXIgdT0wO3U8Yzt1Kyspc1t1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPXN9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5OmEscmVmOmkscHJvcHM6byxfb3duZXI6bH19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6cyxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bCxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1TLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1TLmJpbmQobnVsbCxlKQo7cmV0dXJuIHQudHlwZT1lLHR9LHQuY3JlYXRlUmVmPWZ1bmN0aW9uKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19LHQuZm9yd2FyZFJlZj1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6YyxyZW5kZXI6ZX19LHQuaXNWYWxpZEVsZW1lbnQ9QSx0Lmxhenk9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnAsX3BheWxvYWQ6e19zdGF0dXM6LTEsX3Jlc3VsdDplfSxfaW5pdDpPfX0sdC5tZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOmYsdHlwZTplLGNvbXBhcmU6dm9pZCAwPT09dD9udWxsOnR9fSx0LnN0YXJ0VHJhbnNpdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1SLnRyYW5zaXRpb247Ui50cmFuc2l0aW9uPXt9O3RyeXtlKCl9ZmluYWxseXtSLnRyYW5zaXRpb249dH19LHQudW5zdGFibGVfYWN0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoImFjdCguLi4pIGlzIG5vdCBzdXBwb3J0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgb2YgUmVhY3QuIil9LHQudXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZUNhbGxiYWNrKGUsdCl9LHQudXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gTi5jdXJyZW50LnVzZUNvbnRleHQoZSl9LHQudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sdC51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBOLmN1cnJlbnQudXNlRGVmZXJyZWRWYWx1ZShlKX0sdC51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIE4uY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBOLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE4uY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gTi5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LG4pfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gTi5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gTi5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gTi5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIE4uY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sNjczMDY1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptNC05Ljk3TDExLjkgNiA4LjMgOS44MiA2LjEgNy40NiA0Ljk5IDguNSA4LjMyIDEyIDEzIDcuMDNaIi8+PC9zdmc+J30sNDAwMDQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlpNOSA0Yy0uNzkgMC0xLjM4LjctMS4yNSAxLjQ4bC42NyA0LjAzYS41OS41OSAwIDAgMCAxLjE2IDBsLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAwIDkgNFptMCA4YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMloiLz48L3N2Zz4nfSw1MjcyMTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptMS0xMmExIDEgMCAxIDEtMiAwIDEgMSAwIDAgMSAyIDBaTTguNSA5LjVIN1Y4aDN2Nkg4LjVWOS41WiIvPjwvc3ZnPid9LDc4NTk5NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabS0xLTRhMSAxIDAgMSAwIDIgMCAxIDEgMCAwIDAtMiAwWm0yLjgzLTMuNTJjLS40OS40My0uOTcuODUtMS4wNiAxLjUySDguMjZjLjA4LTEuMTguNzQtMS42OSAxLjMyLTIuMTMuNDktLjM4LjkyLS43MS45Mi0xLjM3QzEwLjUgNi42NyA5LjgyIDYgOSA2cy0xLjUuNjctMS41IDEuNVY4SDZ2LS41YTMgMyAwIDEgMSA2IDBjMCAuOTYtLjYgMS40OC0xLjE3IDEuOThaIi8+PC9zdmc+J30sMjczNjc3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xNi40NyA3LjQ3IDEuMDYgMS4wNkwxMi4wNiAxNGw1LjQ3IDUuNDctMS4wNiAxLjA2TDkuOTQgMTRsNi41My02LjUzWiIvPjwvc3ZnPid9LDc4NjI2OChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTE0LjA3OCA3LjgyNy0uOTktMS4xMjhMOSAxMC4yOSA0LjkxMSA2LjdsLS45OSAxLjEyOEw5IDEyLjI4NXoiLz48L3N2Zz4nfSw4NTY3NzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bmFub2lkOigpPT5yfSk7bGV0IHI9KGU9MjEpPT5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KGUpKS5yZWR1Y2UoKChlLHQpPT5lKz0odCY9NjMpPDM2P3QudG9TdHJpbmcoMzYpOnQ8NjI/KHQtMjYpLnRvU3RyaW5nKDM2KS50b1VwcGVyQ2FzZSgpOnQ+NjI/Ii0iOiJfIiksIiIpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/te_bk.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:42.227Z","timestamp":1785136902227,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/te_bk.gif HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: 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://huobiget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 848\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:11:17 GMT\r\nexpires: Fri, 23 Jul 2027 10:11:17 GMT\r\ncache-control: public, max-age=31536000\r\nage: 335425\r\nlast-modified: Sun, 25 Jun 2023 02:58:00 GMT\r\ncontent-type: image/gif\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":848,"size_decoded":1507,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 59","md5":"daf9b48977041ac85a62dc9b7c16b38d","sha1":"049dcb061470572d06fd83b287ebd1d96e6bb870","sha256":"cb1fd0e051209c32622e91cdeda967e50d80a184b185ac6a656a807986e8eb75","sha512":"99f5f27990b6b5559c751a92c04037f5d42e848a966893484af66d3f66828c29a2dddc8788d7dd4cd835e8ab6d834e74fb3eaa4e2cd72d55b2813d7aab990af2","ssdeep":"","tlshash":"1c018c0cc8700a19e3422fb0ca5b6e0429675b465d88b20fb6aa22c27d04ba48049b1c","first_seen":"2023-04-05T23:29:53Z","last_seen":"2026-08-10T08:28:41.090703Z","times_seen":11490,"resource_available":false,"data":"R0lGODlhAQA7APcAANfX19/f3+Hh4eLi4uTk5Obm5ujo6Orq6uvr6+3t7e7u7uTv++bw++fw/Ojx/Ory/O30/O71/fHx8fP4/fT5/fb6/vj7/vr8/vz9//7+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAQA7AAAINQAzCBxIUCCGCwgtVFhIYcKECA8jQHgw8UEDBg4aLGCwIIOEjyAlKEiA4ICBAgQGCAgQAEBAADs="}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/translate_a/element.js?cb=googleTranslateElementInit","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.472Z","timestamp":1785136899472,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /translate_a/element.js?cb=googleTranslateElementInit HTTP/1.1\r\nHost: translate.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/javascript; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 07:21:39 GMT\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":75427,"size_decoded":27153,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2543)","md5":"7caee5334c5c4934bcda1ce615f50b08","sha1":"e30db3277098371b3c740159bb18656d4a865033","sha256":"6d17efa27992fe6a37e9064e83a6cbd97576e9bcc1dd861cc5a0f373c54d6007","sha512":"e834d96e9ce7d0a8fccb8c3888a45c3e0349a17fbef0eb7a570a6eb173f2473b9eb0f4e2ba096899e75e30fbd46d25348b27b7bcecd974cbd25fa2627baaf546","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECi9wNWF0:XDD4U6KKZgtBgtCij0","tlshash":"0273b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf594d453bf7d","first_seen":"2026-07-27T07:00:57.382728Z","last_seen":"2026-07-27T08:00:33.965588Z","times_seen":143,"resource_available":true,"data":"CiAgICAvLyBnby9tc3Mtc2V0dXAjNy1sb2FkLXRoZS1qcy1vci1jc3MtZnJvbS15b3VyLWluaXRpYWwtcGFnZQogICAgaWYoIXdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSkgewogICAgICBjb25zdCBfRHVtcEV4Y2VwdGlvbiA9IHdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSB8fCBmdW5jdGlvbihlKSB7CiAgICAgICAgdGhyb3cgZTsKICAgICAgfTsKICAgICAgd2luZG93WydfRHVtcEV4Y2VwdGlvbiddID0gX0R1bXBFeGNlcHRpb247CiAgICB9CiAgInVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKXy5fRl90b2dnbGVzX2luaXRpYWxpemU9ZnVuY3Rpb24oYSl7KHR5cGVvZiBnbG9iYWxUaGlzIT09InVuZGVmaW5lZCI/Z2xvYmFsVGhpczp0eXBlb2Ygc2VsZiE9PSJ1bmRlZmluZWQiP3NlbGY6dGhpcykuX0ZfdG9nZ2xlc19kZWZhdWx0X3RyPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4NzAwODAwNCwgMHgwLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwp2YXIgYWEsY2EsZmEsamEscmEseGEsQmEsRGEsRmEsR2EsSWEsWWEsYmIsZmIsZ2IsamIsa2IsbmIscGIscWIsc2IsdWIsdmIsQWIsQmIsRmIsSWIsSmIsTWIsTmIsT2IsUWIsU2IseixSYixVYixZYixaYixhYyxiYzthYT1mdW5jdGlvbihhLGIpe2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsYWEpO2Vsc2V7dmFyIGM9RXJyb3IoKS5zdGFjaztjJiYodGhpcy5zdGFjaz1jKX1hJiYodGhpcy5tZXNzYWdlPVN0cmluZyhhKSk7YiE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Yil9O2NhPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIlcyIpO2Zvcih2YXIgYz0iIixkPWEubGVuZ3RoLTEsZT0wO2U8ZDtlKyspYys9YVtlXSsoZTxiLmxlbmd0aD9iW2VdOiIlcyIpO2FhLmNhbGwodGhpcyxjK2FbZF0pfTtmYT1mdW5jdGlvbihhKXtpZihfLmRhKWEoXy5kYSk7ZWxzZXt2YXIgYjsoKGI9ZWEpIT1udWxsP2I6ZWE9W10pLnB1c2goYSl9fTsKamE9ZnVuY3Rpb24oKXshXy5kYSYmXy5oYSYmXy5pYSgpO3JldHVybiBfLmRhfTtfLmlhPWZ1bmN0aW9uKCl7Xy5kYT1fLmhhKCk7dmFyIGE7KGE9ZWEpPT1udWxsfHxhLmZvckVhY2goZmEpO2VhPXZvaWQgMH07Xy5sYT1mdW5jdGlvbihhKXtfLmRhJiZrYShhKX07Xy5tYT1mdW5jdGlvbigpe18uZGEmJl8uZGEubWQoKX07Xy5vYT1mdW5jdGlvbihhLGIpe2IuaGFzT3duUHJvcGVydHkoImRpc3BsYXlOYW1lIil8fChiLmRpc3BsYXlOYW1lPWEudG9TdHJpbmcoKSk7YltuYV09YX07Xy5wYT1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07cmE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz1hcmd1bWVudHMubGVuZ3RoO2I8YzsrK2Ipe3ZhciBkPWFyZ3VtZW50c1tiXTtfLnFhKGQpP3JhLmFwcGx5KG51bGwsZCk6Xy5wYShkKX19O18udT1mdW5jdGlvbigpe3RoaXMucWE9dGhpcy5xYTt0aGlzLlc9dGhpcy5XfTsKXy50YT1mdW5jdGlvbihhLGIpe3JldHVybiBzYShhLGIpPj0wfTtfLnVhPWZ1bmN0aW9uKGEsYil7Xy50YShhLGIpfHxhLnB1c2goYil9O18udmE9ZnVuY3Rpb24oYSxiKXtiPXNhKGEsYik7dmFyIGM7KGM9Yj49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhLGIsMSk7cmV0dXJuIGN9O18ud2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGg7aWYoYj4wKXtmb3IodmFyIGM9QXJyYXkoYiksZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt4YT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihfLnFhKGQpKXt2YXIgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IodmFyIGc9MDtnPGY7ZysrKWFbZStnXT1kW2ddfWVsc2UgYS5wdXNoKGQpfX07CkJhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9MCxkPXt9O2M8YS5sZW5ndGg7KXt2YXIgZT1hW2MrK10sZj1fLnlhKGUpPyJvIisoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsemEpJiZlW3phXXx8KGVbemFdPSsrQWEpKToodHlwZW9mIGUpLmNoYXJBdCgwKStlO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLGYpfHwoZFtmXT0hMCxhW2IrK109ZSl9YS5sZW5ndGg9Yn07Xy5DYT1mdW5jdGlvbihhLGIpe3RoaXMud2lkdGg9YTt0aGlzLmhlaWdodD1ifTtEYT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYyBpbiBhKWlmKGIuY2FsbCh2b2lkIDAsYVtjXSxjLGEpKXJldHVybiEwO3JldHVybiExfTsKRmE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZCxlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7ZD1hcmd1bWVudHNbZV07Zm9yKGMgaW4gZClhW2NdPWRbY107Zm9yKHZhciBmPTA7ZjxFYS5sZW5ndGg7ZisrKWM9RWFbZl0sT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGQsYykmJihhW2NdPWRbY10pfX07R2E9ZnVuY3Rpb24oYSl7cmV0dXJue3ZhbHVlT2Y6YX0udmFsdWVPZigpfTtJYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIUhhKXJldHVybiBhO3RyeXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4gY307YT1IYS5jcmVhdGVQb2xpY3koImdvb2cjaHRtbCIse2NyZWF0ZUhUTUw6YixjcmVhdGVTY3JpcHQ6YixjcmVhdGVTY3JpcHRVUkw6Yn0pfWNhdGNoKGMpe31yZXR1cm4gYX07Xy5LYT1mdW5jdGlvbigpe0phPT09dm9pZCAwJiYoSmE9SWEoKSk7cmV0dXJuIEphfTsKXy5NYT1mdW5jdGlvbihhKXt2YXIgYj1fLkthKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLkxhKGEpfTtfLk5hPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkxhKXJldHVybiBhLmc7dGhyb3cgRXJyb3IoInQiKTt9O18uT2E9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ZG9jdW1lbnQ6Yjt2YXIgYyxkO2I9KGQ9KGM9YikucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOmQuY2FsbChjLGErIltub25jZV0iKTtyZXR1cm4gYj09bnVsbD8iIjpiLm5vbmNlfHxiLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18uUWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5LYSgpO2E9Yj9iLmNyZWF0ZVNjcmlwdChhKTphO3JldHVybiBuZXcgXy5QYShhKX07Xy5SYT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTsKXy5TYT1mdW5jdGlvbihhLGIpe2Euc3JjPV8uTmEoYik7KGI9Xy5PYSgic2NyaXB0IixhLm93bmVyRG9jdW1lbnQpKSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixiKX07Xy5UYT1mdW5jdGlvbigpe3ZhciBhPV8udi5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTtfLnc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoKS5pbmRleE9mKGEpIT0tMX07Xy5XYT1mdW5jdGlvbigpe3JldHVybiBfLlVhPyEhXy5WYSYmXy5WYS5icmFuZHMubGVuZ3RoPjA6ITF9O18uWGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5XYSgpPyExOl8udygiT3BlcmEiKX07WWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5VYT8hIV8uVmEmJiEhXy5WYS5wbGF0Zm9ybTohMX07Xy5aYT1mdW5jdGlvbigpe3JldHVybiBfLncoImlQaG9uZSIpJiYhXy53KCJpUG9kIikmJiFfLncoImlQYWQiKX07Xy4kYT1mdW5jdGlvbigpe3JldHVybiBfLlphKCl8fF8udygiaVBhZCIpfHxfLncoImlQb2QiKX07Cl8uYWI9ZnVuY3Rpb24oKXtyZXR1cm4gWWEoKT9fLlZhLnBsYXRmb3JtPT09Im1hY09TIjpfLncoIk1hY2ludG9zaCIpfTtiYj1mdW5jdGlvbigpe3RoaXMuaWQ9ImIifTtfLmRiPWZ1bmN0aW9uKGEsYil7Y2IuY2FsbCh0aGlzLGE/YS50eXBlOiIiKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MDt0aGlzLmtleT0iIjt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT0hMTt0aGlzLnN0YXRlPW51bGw7dGhpcy5wb2ludGVySWQ9MDt0aGlzLnBvaW50ZXJUeXBlPSIiO3RoaXMudGltZVN0YW1wPTA7dGhpcy5nPW51bGw7YSYmdGhpcy5pbml0KGEsYil9OwpmYj1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMubGlzdGVuZXI9YTt0aGlzLnByb3h5PW51bGw7dGhpcy5zcmM9Yjt0aGlzLnR5cGU9Yzt0aGlzLmNhcHR1cmU9ISFkO3RoaXMuVmM9ZTt0aGlzLmtleT0rK2ViO3RoaXMub2M9dGhpcy5IYz0hMX07Z2I9ZnVuY3Rpb24oYSl7dGhpcy5zcmM9YTt0aGlzLmc9e307dGhpcy5oPTB9O18uaGI9ZnVuY3Rpb24oKXtfLnUuY2FsbCh0aGlzKTt0aGlzLlFhPW5ldyBnYih0aGlzKTt0aGlzLldnPXRoaXM7dGhpcy5mZD1udWxsfTtqYj1mdW5jdGlvbihhKXtfLmhiLmNhbGwodGhpcyk7dGhpcy5nPWF8fHdpbmRvdzt0aGlzLmg9Xy54KHRoaXMuZywicmVzaXplIix0aGlzLmwsITEsdGhpcyk7dGhpcy5qPV8uaWIodGhpcy5nfHx3aW5kb3cpfTsKa2I9ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuaD1hP2EuZy5kZWZhdWx0Vmlldzp3aW5kb3c7dGhpcy5vPXRoaXMuaC5kZXZpY2VQaXhlbFJhdGlvPj0xLjU/MjoxO3RoaXMuaj0oMCxfLnkpKHRoaXMuQSx0aGlzKTt0aGlzLmw9bnVsbDsodGhpcy5nPXRoaXMuaC5tYXRjaE1lZGlhP3RoaXMuaC5tYXRjaE1lZGlhKCIobWluLXJlc29sdXRpb246IDEuNWRwcHgpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIik6bnVsbCkmJnR5cGVvZiB0aGlzLmcuYWRkTGlzdGVuZXIhPT0iZnVuY3Rpb24iJiZ0eXBlb2YgdGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIhPT0iZnVuY3Rpb24iJiYodGhpcy5nPW51bGwpfTsKbmI9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLm89YTtpZihiKXtpZih0aGlzLmwpdGhyb3cgRXJyb3IoIngiKTt0aGlzLmw9Yjt0aGlzLmg9Xy5sYihiKTt0aGlzLmc9bmV3IGpiKF8ubWIoYikpO3RoaXMuZy5uZCh0aGlzLm8uaCgpKTt0aGlzLmo9bmV3IGtiKHRoaXMuaCk7dGhpcy5qLnN0YXJ0KCl9fTtwYj1mdW5jdGlvbihhKXthPWEuSGQuY2hhckNvZGVBdChhLkJiKyspO3JldHVybiBvYlthXX07cWI9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPTA7ZG97dmFyIGQ9cGIoYSk7Ynw9KGQmMzEpPDxjO2MrPTV9d2hpbGUoZCYzMik7cmV0dXJuIGI8MD9iKzQyOTQ5NjcyOTY6Yn07Xy5yYj1mdW5jdGlvbihhKXtfLnYuc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX07c2I9ZnVuY3Rpb24oYSxiKXt0aGlzLmc9YTt0aGlzLmg9Yn07CnViPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5sPWE7dGhpcy5BPWI7dGhpcy5qPXRiP251bGw6W107dGhpcy5oPXRiP251bGw6W107dGhpcy5vPXRiP251bGw6W107dGhpcy5CPSExfTt2Yj1mdW5jdGlvbigpe3RoaXMuTz10aGlzLnFhPW51bGx9O0FiPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9d2IucmVtb3ZlKCk7KXt0cnl7YS5nLmNhbGwoYS5zY29wZSl9Y2F0Y2goYil7Xy5yYihiKX14Yih5YixhKX16Yj0hMX07QmI9ZnVuY3Rpb24oKXt0aGlzLkI9W107dGhpcy5vPXRoaXMuaD0hMTt0aGlzLmw9dm9pZCAwO3RoaXMuRz10aGlzLlc9dGhpcy5EPSExO3RoaXMuQz0wO3RoaXMuaj1udWxsO3RoaXMuQT0wfTtfLkNiPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5FYj1mdW5jdGlvbihhLGIpe2lmKGEpe2E9YS5zcGxpdCgiJiIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLmluZGV4T2YoIj0iKSxlPW51bGw7aWYoZD49MCl7dmFyIGY9YVtjXS5zdWJzdHJpbmcoMCxkKTtlPWFbY10uc3Vic3RyaW5nKGQrMSl9ZWxzZSBmPWFbY107YihmLGU/Xy5EYihlKToiIil9fX07RmI9ZnVuY3Rpb24oYSxiLGMpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspRmIoYSxTdHJpbmcoYltkXSksYyk7ZWxzZSBiIT1udWxsJiZjLnB1c2goYSsoYj09PSIiPyIiOiI9IitfLkdiKGIpKSl9O18uSGI9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPXt9fTtJYj1mdW5jdGlvbigpe307SmI9ZnVuY3Rpb24oKXt9O18uTGI9ZnVuY3Rpb24oYSl7YT1fLktiKGEpO3JldHVybiBfLk1hKGEpfTsKXy5LYj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PW51bGw/Im51bGwiOmE9PT12b2lkIDA/InVuZGVmaW5lZCI6YX07TWI9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbigpe307Yi5wcm90b3R5cGU9YTtyZXR1cm4gbmV3IGJ9O05iPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWMudmFsdWU7cmV0dXJuIGF9OwpPYj1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoImEiKTt9O18uUGI9T2IodGhpcyk7UWI9IkludDggVWludDggVWludDhDbGFtcGVkIEludDE2IFVpbnQxNiBJbnQzMiBVaW50MzIgRmxvYXQzMiBGbG9hdDY0Ii5zcGxpdCgiICIpO18uUGIuQmlnSW50NjRBcnJheSYmKFFiLnB1c2goIkJpZ0ludDY0IiksUWIucHVzaCgiQmlnVWludDY0IikpO1NiPWZ1bmN0aW9uKGEsYil7aWYoYilmb3IodmFyIGM9MDtjPFFiLmxlbmd0aDtjKyspUmIoUWJbY10rIkFycmF5LnByb3RvdHlwZS4iK2EsYil9Owp6PWZ1bmN0aW9uKGEsYil7YiYmUmIoYSxiKX07UmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlBiO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmTmIoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTsKXy5UYj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtmdW5jdGlvbiBjKCl7fW5ldyBjO1JlZmxlY3QuY29uc3RydWN0KGMsW10sZnVuY3Rpb24oKXt9KTtyZXR1cm4gbmV3IGMgaW5zdGFuY2VvZiBjfWlmKHR5cGVvZiBSZWZsZWN0IT0idW5kZWZpbmVkIiYmUmVmbGVjdC5jb25zdHJ1Y3Qpe2lmKGEoKSlyZXR1cm4gUmVmbGVjdC5jb25zdHJ1Y3Q7dmFyIGI9UmVmbGVjdC5jb25zdHJ1Y3Q7cmV0dXJuIGZ1bmN0aW9uKGMsZCxlKXtjPWIoYyxkKTtlJiZSZWZsZWN0LnNldFByb3RvdHlwZU9mKGMsZS5wcm90b3R5cGUpO3JldHVybiBjfX1yZXR1cm4gZnVuY3Rpb24oYyxkLGUpe2U9PT12b2lkIDAmJihlPWMpO2U9TWIoZS5wcm90b3R5cGV8fE9iamVjdC5wcm90b3R5cGUpO3JldHVybiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjLGUsZCl8fGV9fSgpOwppZih0eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mPT0iZnVuY3Rpb24iKVViPU9iamVjdC5zZXRQcm90b3R5cGVPZjtlbHNle3ZhciBWYjthOnt2YXIgV2I9e2E6ITB9LFhiPXt9O3RyeXtYYi5fX3Byb3RvX189V2I7VmI9WGIuYTticmVhayBhfWNhdGNoKGEpe31WYj0hMX1VYj1WYj9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoImJgIithKTtyZXR1cm4gYX06bnVsbH1ZYj1VYjsKXy5CPWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9TWIoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYoWWIpWWIoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPSJwcm90b3R5cGUiKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLmVhPWIucHJvdG90eXBlfTtaYj1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX07Cl8uQz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6WmIoYSl9O3Rocm93IEVycm9yKCJjYCIrU3RyaW5nKGEpKTt9O18uJGI9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgQXJyYXkpKXthPV8uQyhhKTtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTthPWN9cmV0dXJuIGF9O2FjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTsKYmM9dHlwZW9mIE9iamVjdC5hc3NpZ249PSJmdW5jdGlvbiI/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbihhLGIpe2lmKGE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiZCIpO2E9T2JqZWN0KGEpO2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihkKWZvcih2YXIgZSBpbiBkKWFjKGQsZSkmJihhW2VdPWRbZV0pfXJldHVybiBhfTt6KCJPYmplY3QuYXNzaWduIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8YmN9KTtfLmNjPWZ1bmN0aW9uKGEpe2lmKCEoYSBpbnN0YW5jZW9mIE9iamVjdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZWAiK2EpO307Xy5GPWZ1bmN0aW9uKCl7dGhpcy5HPSExO3RoaXMuQT1udWxsO3RoaXMuaj12b2lkIDA7dGhpcy5nPTE7dGhpcy5vPXRoaXMuQz0wO3RoaXMuVz10aGlzLmw9bnVsbH07Xy5GLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTsKXy5GLnByb3RvdHlwZS5nZXROZXh0QWRkcmVzc0pzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O18uRi5wcm90b3R5cGUuZ2V0WWllbGRSZXN1bHRKc2M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qfTtfLkYucHJvdG90eXBlLnJldHVybj1mdW5jdGlvbihhKXt0aGlzLmw9e3JldHVybjphfTt0aGlzLmc9dGhpcy5vfTtfLkYucHJvdG90eXBlWyJyZXR1cm4iXT1fLkYucHJvdG90eXBlLnJldHVybjtfLkYucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7dGhpcy5sPXt4YTphfTt0aGlzLmc9dGhpcy5vfTtfLkYucHJvdG90eXBlLmp1bXBUaHJvdWdoRmluYWxseUJsb2Nrcz1fLkYucHJvdG90eXBlLlI7Xy5GLnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWI7cmV0dXJue3ZhbHVlOmF9fTtfLkYucHJvdG90eXBlLnlpZWxkPV8uRi5wcm90b3R5cGUuaDsKXy5GLnByb3RvdHlwZS5UPWZ1bmN0aW9uKGEsYil7YT1fLkMoYSk7dmFyIGM9YS5uZXh0KCk7Xy5jYyhjKTtpZihjLmRvbmUpdGhpcy5qPWMudmFsdWUsdGhpcy5nPWI7ZWxzZSByZXR1cm4gdGhpcy5BPWEsdGhpcy5oKGMudmFsdWUsYil9O18uRi5wcm90b3R5cGUueWllbGRBbGw9Xy5GLnByb3RvdHlwZS5UO18uRi5wcm90b3R5cGUueGE9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9O18uRi5wcm90b3R5cGUuanVtcFRvPV8uRi5wcm90b3R5cGUueGE7Xy5GLnByb3RvdHlwZS5CPWZ1bmN0aW9uKCl7dGhpcy5nPTB9O18uRi5wcm90b3R5cGUuanVtcFRvRW5kPV8uRi5wcm90b3R5cGUuQjtfLkYucHJvdG90eXBlLkY9ZnVuY3Rpb24oYSxiKXt0aGlzLkM9YTtiIT12b2lkIDAmJih0aGlzLm89Yil9O18uRi5wcm90b3R5cGUuc2V0Q2F0Y2hGaW5hbGx5QmxvY2tzPV8uRi5wcm90b3R5cGUuRjtfLkYucHJvdG90eXBlLlA9ZnVuY3Rpb24oYSl7dGhpcy5DPTA7dGhpcy5vPWF8fDB9OwpfLkYucHJvdG90eXBlLnNldEZpbmFsbHlCbG9jaz1fLkYucHJvdG90eXBlLlA7Xy5GLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5DPWJ8fDB9O18uRi5wcm90b3R5cGUubGVhdmVUcnlCbG9jaz1fLkYucHJvdG90eXBlLks7Xy5GLnByb3RvdHlwZS5EPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfHwwO2E9dGhpcy5sLmJmO3RoaXMubD1udWxsO3JldHVybiBhfTtfLkYucHJvdG90eXBlLmVudGVyQ2F0Y2hCbG9jaz1fLkYucHJvdG90eXBlLkQ7Xy5GLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGEsYixjKXtjP3RoaXMuV1tjXT10aGlzLmw6dGhpcy5XPVt0aGlzLmxdO3RoaXMuQz1hfHwwO3RoaXMubz1ifHwwfTtfLkYucHJvdG90eXBlLmVudGVyRmluYWxseUJsb2NrPV8uRi5wcm90b3R5cGUuTDsKXy5GLnByb3RvdHlwZS5xYT1mdW5jdGlvbihhLGIpe2I9dGhpcy5XLnNwbGljZShifHwwKVswXTsoYj10aGlzLmw9dGhpcy5sfHxiKT9iLkNmP3RoaXMuZz10aGlzLkN8fHRoaXMubzpiLnhhIT12b2lkIDAmJnRoaXMubzxiLnhhPyh0aGlzLmc9Yi54YSx0aGlzLmw9bnVsbCk6dGhpcy5nPXRoaXMubzp0aGlzLmc9YX07Xy5GLnByb3RvdHlwZS5sZWF2ZUZpbmFsbHlCbG9jaz1fLkYucHJvdG90eXBlLnFhO18uRi5wcm90b3R5cGUuTz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGRjKGEpfTtfLkYucHJvdG90eXBlLmZvckluPV8uRi5wcm90b3R5cGUuTzt2YXIgZGM9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5nPVtdO2Zvcih2YXIgYiBpbiBhKXRoaXMuZy5wdXNoKGIpO3RoaXMuZy5yZXZlcnNlKCl9O2RjLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmcubGVuZ3RoPjA7KXt2YXIgYT10aGlzLmcucG9wKCk7aWYoYSBpbiB0aGlzLmopcmV0dXJuIGF9cmV0dXJuIG51bGx9OwpkYy5wcm90b3R5cGUuZ2V0TmV4dD1kYy5wcm90b3R5cGUuaDtfLmVjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPU51bWJlcih0aGlzKSxiPVtdLGM9YTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWJbYy1hXT1hcmd1bWVudHNbY107cmV0dXJuIGJ9O3ooImdsb2JhbFRoaXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxfLlBifSk7eigiUmVmbGVjdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTp7fX0pO3ooIlJlZmxlY3QuY29uc3RydWN0IixmdW5jdGlvbigpe3JldHVybiBfLlRifSk7eigiUmVmbGVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpZYj9mdW5jdGlvbihiLGMpe3RyeXtyZXR1cm4gWWIoYixjKSwhMH1jYXRjaChkKXtyZXR1cm4hMX19Om51bGx9KTsKeigiU3ltYm9sIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGYsZyl7dGhpcy5nPWY7TmIodGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfTtiLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O3ZhciBjPSJqc2NvbXBfc3ltYm9sXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCkrIl8iLGQ9MCxlPWZ1bmN0aW9uKGYpe2lmKHRoaXMgaW5zdGFuY2VvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImciKTtyZXR1cm4gbmV3IGIoYysoZnx8IiIpKyJfIitkKyssZil9O3JldHVybiBlfSk7eigiU3ltYm9sLml0ZXJhdG9yIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKCJoIik7TmIoQXJyYXkucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBmYyhaYih0aGlzKSl9fSk7cmV0dXJuIGF9KTsKdmFyIGZjPWZ1bmN0aW9uKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfTsKeigiUHJvbWlzZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3RoaXMuZz1udWxsfWZ1bmN0aW9uIGMoZyl7cmV0dXJuIGcgaW5zdGFuY2VvZiBlP2c6bmV3IGUoZnVuY3Rpb24oaCl7aChnKX0pfWlmKGEpcmV0dXJuIGE7Yi5wcm90b3R5cGUuaD1mdW5jdGlvbihnKXtpZih0aGlzLmc9PW51bGwpe3RoaXMuZz1bXTt2YXIgaD10aGlzO3RoaXMuaihmdW5jdGlvbigpe2gubygpfSl9dGhpcy5nLnB1c2goZyl9O3ZhciBkPV8uUGIuc2V0VGltZW91dDtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGcpe2QoZywwKX07Yi5wcm90b3R5cGUubz1mdW5jdGlvbigpe2Zvcig7dGhpcy5nJiZ0aGlzLmcubGVuZ3RoOyl7dmFyIGc9dGhpcy5nO3RoaXMuZz1bXTtmb3IodmFyIGg9MDtoPGcubGVuZ3RoOysraCl7dmFyIGs9Z1toXTtnW2hdPW51bGw7dHJ5e2soKX1jYXRjaChsKXt0aGlzLmwobCl9fX10aGlzLmc9bnVsbH07Yi5wcm90b3R5cGUubD1mdW5jdGlvbihnKXt0aGlzLmooZnVuY3Rpb24oKXt0aHJvdyBnOwp9KX07dmFyIGU9ZnVuY3Rpb24oZyl7dGhpcy5nPTA7dGhpcy5qPXZvaWQgMDt0aGlzLmg9W107dGhpcy5CPSExO3ZhciBoPXRoaXMubCgpO3RyeXtnKGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtlLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhsKXtyZXR1cm4gZnVuY3Rpb24obil7a3x8KGs9ITAsbC5jYWxsKGgsbikpfX12YXIgaD10aGlzLGs9ITE7cmV0dXJue3Jlc29sdmU6Zyh0aGlzLkkpLHJlamVjdDpnKHRoaXMubyl9fTtlLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGcpe2lmKGc9PT10aGlzKXRoaXMubyhuZXcgVHlwZUVycm9yKCJpIikpO2Vsc2UgaWYoZyBpbnN0YW5jZW9mIGUpdGhpcy5LKGcpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGcpe2Nhc2UgIm9iamVjdCI6dmFyIGg9ZyE9bnVsbDticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjpoPSEwO2JyZWFrIGE7ZGVmYXVsdDpoPSExfWg/dGhpcy5HKGcpOnRoaXMuQShnKX19O2UucHJvdG90eXBlLkc9CmZ1bmN0aW9uKGcpe3ZhciBoPXZvaWQgMDt0cnl7aD1nLnRoZW59Y2F0Y2goayl7dGhpcy5vKGspO3JldHVybn10eXBlb2YgaD09ImZ1bmN0aW9uIj90aGlzLkwoaCxnKTp0aGlzLkEoZyl9O2UucHJvdG90eXBlLm89ZnVuY3Rpb24oZyl7dGhpcy5DKDIsZyl9O2UucHJvdG90eXBlLkE9ZnVuY3Rpb24oZyl7dGhpcy5DKDEsZyl9O2UucHJvdG90eXBlLkM9ZnVuY3Rpb24oZyxoKXtpZih0aGlzLmchPTApdGhyb3cgRXJyb3IoImpgIitnKyJgIitoKyJgIit0aGlzLmcpO3RoaXMuZz1nO3RoaXMuaj1oO3RoaXMuZz09PTImJnRoaXMuVygpO3RoaXMuRCgpfTtlLnByb3RvdHlwZS5XPWZ1bmN0aW9uKCl7dmFyIGc9dGhpcztkKGZ1bmN0aW9uKCl7aWYoZy5GKCkpe3ZhciBoPV8uUGIuY29uc29sZTt0eXBlb2YgaCE9PSJ1bmRlZmluZWQiJiZoLmVycm9yKGcuail9fSwxKX07ZS5wcm90b3R5cGUuRj1mdW5jdGlvbigpe2lmKHRoaXMuQilyZXR1cm4hMTt2YXIgZz1fLlBiLkN1c3RvbUV2ZW50LApoPV8uUGIuRXZlbnQsaz1fLlBiLmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGs9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgZz09PSJmdW5jdGlvbiI/Zz1uZXcgZygidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBoPT09ImZ1bmN0aW9uIj9nPW5ldyBoKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGc9Xy5QYi5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxnLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxnKSk7Zy5wcm9taXNlPXRoaXM7Zy5yZWFzb249dGhpcy5qO3JldHVybiBrKGcpfTtlLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7aWYodGhpcy5oIT1udWxsKXtmb3IodmFyIGc9MDtnPHRoaXMuaC5sZW5ndGg7KytnKWYuaCh0aGlzLmhbZ10pO3RoaXMuaD1udWxsfX07dmFyIGY9bmV3IGI7ZS5wcm90b3R5cGUuSz1mdW5jdGlvbihnKXt2YXIgaD10aGlzLmwoKTtnLkljKGgucmVzb2x2ZSwKaC5yZWplY3QpfTtlLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGcsaCl7dmFyIGs9dGhpcy5sKCk7dHJ5e2cuY2FsbChoLGsucmVzb2x2ZSxrLnJlamVjdCl9Y2F0Y2gobCl7ay5yZWplY3QobCl9fTtlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gayhwLHIpe3JldHVybiB0eXBlb2YgcD09ImZ1bmN0aW9uIj9mdW5jdGlvbih0KXt0cnl7bChwKHQpKX1jYXRjaChBKXtuKEEpfX06cn12YXIgbCxuLHE9bmV3IGUoZnVuY3Rpb24ocCxyKXtsPXA7bj1yfSk7dGhpcy5JYyhrKGcsbCksayhoLG4pKTtyZXR1cm4gcX07ZS5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oZyl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsZyl9O2UucHJvdG90eXBlLkljPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gaygpe3N3aXRjaChsLmcpe2Nhc2UgMTpnKGwuaik7YnJlYWs7Y2FzZSAyOmgobC5qKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJrYCIrbC5nKTt9fXZhciBsPXRoaXM7dGhpcy5oPT0KbnVsbD9mLmgoayk6dGhpcy5oLnB1c2goayk7dGhpcy5CPSEwfTtlLnJlc29sdmU9YztlLnJlamVjdD1mdW5jdGlvbihnKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oaCxrKXtrKGcpfSl9O2UucmFjZT1mdW5jdGlvbihnKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oaCxrKXtmb3IodmFyIGw9Xy5DKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKWMobi52YWx1ZSkuSWMoaCxrKX0pfTtlLmFsbD1mdW5jdGlvbihnKXt2YXIgaD1fLkMoZyksaz1oLm5leHQoKTtyZXR1cm4gay5kb25lP2MoW10pOm5ldyBlKGZ1bmN0aW9uKGwsbil7ZnVuY3Rpb24gcSh0KXtyZXR1cm4gZnVuY3Rpb24oQSl7cFt0XT1BO3ItLTtyPT0wJiZsKHApfX12YXIgcD1bXSxyPTA7ZG8gcC5wdXNoKHZvaWQgMCkscisrLGMoay52YWx1ZSkuSWMocShwLmxlbmd0aC0xKSxuKSxrPWgubmV4dCgpO3doaWxlKCFrLmRvbmUpfSl9O3JldHVybiBlfSk7CnZhciBoYz1mdW5jdGlvbihhLGIsYyl7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJsYCIrYyk7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCl0aHJvdyBuZXcgVHlwZUVycm9yKCJtYCIrYyk7cmV0dXJuIGErIiJ9O3ooIlN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPWhjKHRoaXMsYiwic3RhcnRzV2l0aCIpLGU9ZC5sZW5ndGgsZj1iLmxlbmd0aDtjPU1hdGgubWF4KDAsTWF0aC5taW4oY3wwLGQubGVuZ3RoKSk7Zm9yKHZhciBnPTA7ZzxmJiZjPGU7KWlmKGRbYysrXSE9YltnKytdKXJldHVybiExO3JldHVybiBnPj1mfX0pO3ooIk9iamVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fFlifSk7eigiU3ltYm9sLmRpc3Bvc2UiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6U3ltYm9sKCJuIil9KTsKeigiV2Vha01hcCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBjKGspe3ZhciBsPXR5cGVvZiBrO3JldHVybiBsPT09Im9iamVjdCImJmshPT1udWxsfHxsPT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBkKGspe2lmKCFhYyhrLGYpKXt2YXIgbD1uZXcgYjtOYihrLGYse3ZhbHVlOmx9KX19ZnVuY3Rpb24gZShrKXt2YXIgbD1PYmplY3Rba107bCYmKE9iamVjdFtrXT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgYilyZXR1cm4gbjtPYmplY3QuaXNFeHRlbnNpYmxlKG4pJiZkKG4pO3JldHVybiBsKG4pfSl9aWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgaz1PYmplY3Quc2VhbCh7fSksbD1PYmplY3Quc2VhbCh7fSksbj1uZXcgYShbW2ssMl0sW2wsM11dKTtpZihuLmdldChrKSE9Mnx8bi5nZXQobCkhPTMpcmV0dXJuITE7bi5kZWxldGUoayk7bi5zZXQobCw0KTtyZXR1cm4hbi5oYXMoaykmJm4uZ2V0KGwpPT00fWNhdGNoKHEpe3JldHVybiExfX0oKSlyZXR1cm4gYTsKdmFyIGY9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtlKCJmcmVlemUiKTtlKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2UoInNlYWwiKTt2YXIgZz0wLGg9ZnVuY3Rpb24oayl7dGhpcy5nPShnKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYoayl7az1fLkMoayk7Zm9yKHZhciBsOyEobD1rLm5leHQoKSkuZG9uZTspbD1sLnZhbHVlLHRoaXMuc2V0KGxbMF0sbFsxXSl9fTtoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oayxsKXtpZighYyhrKSl0aHJvdyBFcnJvcigibyIpO2Qoayk7aWYoIWFjKGssZikpdGhyb3cgRXJyb3IoInBgIitrKTtrW2ZdW3RoaXMuZ109bDtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZhYyhrLGYpP2tbZl1bdGhpcy5nXTp2b2lkIDB9O2gucHJvdG90eXBlLmhhcz1mdW5jdGlvbihrKXtyZXR1cm4gYyhrKSYmYWMoayxmKSYmYWMoa1tmXSx0aGlzLmcpfTtoLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oayl7cmV0dXJuIGMoaykmJgphYyhrLGYpJiZhYyhrW2ZdLHRoaXMuZyk/ZGVsZXRlIGtbZl1bdGhpcy5nXTohMX07cmV0dXJuIGh9KTsKeigiTWFwIixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGg9T2JqZWN0LnNlYWwoe3g6NH0pLGs9bmV3IGEoXy5DKFtbaCwicyJdXSkpO2lmKGsuZ2V0KGgpIT0icyJ8fGsuc2l6ZSE9MXx8ay5nZXQoe3g6NH0pfHxrLnNldCh7eDo0fSwidCIpIT1rfHxrLnNpemUhPTIpcmV0dXJuITE7dmFyIGw9ay5lbnRyaWVzKCksbj1sLm5leHQoKTtpZihuLmRvbmV8fG4udmFsdWVbMF0hPWh8fG4udmFsdWVbMV0hPSJzIilyZXR1cm4hMTtuPWwubmV4dCgpO3JldHVybiBuLmRvbmV8fG4udmFsdWVbMF0ueCE9NHx8bi52YWx1ZVsxXSE9InQifHwhbC5uZXh0KCkuZG9uZT8hMTohMH1jYXRjaChxKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dmFyIGI9bmV3IFdlYWtNYXAsYz1mdW5jdGlvbihoKXt0aGlzWzBdPXt9O3RoaXNbMV09CmYoKTt0aGlzLnNpemU9MDtpZihoKXtoPV8uQyhoKTtmb3IodmFyIGs7IShrPWgubmV4dCgpKS5kb25lOylrPWsudmFsdWUsdGhpcy5zZXQoa1swXSxrWzFdKX19O2MucHJvdG90eXBlLnNldD1mdW5jdGlvbihoLGspe2g9aD09PTA/MDpoO3ZhciBsPWQodGhpcyxoKTtsLmxpc3R8fChsLmxpc3Q9dGhpc1swXVtsLmlkXT1bXSk7bC5lbnRyeT9sLmVudHJ5LnZhbHVlPWs6KGwuZW50cnk9e25leHQ6dGhpc1sxXSxiYjp0aGlzWzFdLmJiLGhlYWQ6dGhpc1sxXSxrZXk6aCx2YWx1ZTprfSxsLmxpc3QucHVzaChsLmVudHJ5KSx0aGlzWzFdLmJiLm5leHQ9bC5lbnRyeSx0aGlzWzFdLmJiPWwuZW50cnksdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTtjLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oaCl7aD1kKHRoaXMsaCk7cmV0dXJuIGguZW50cnkmJmgubGlzdD8oaC5saXN0LnNwbGljZShoLmluZGV4LDEpLGgubGlzdC5sZW5ndGh8fGRlbGV0ZSB0aGlzWzBdW2guaWRdLGguZW50cnkuYmIubmV4dD0KaC5lbnRyeS5uZXh0LGguZW50cnkubmV4dC5iYj1oLmVudHJ5LmJiLGguZW50cnkuaGVhZD1udWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07Yy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzWzBdPXt9O3RoaXNbMV09dGhpc1sxXS5iYj1mKCk7dGhpcy5zaXplPTB9O2MucHJvdG90eXBlLmhhcz1mdW5jdGlvbihoKXtyZXR1cm4hIWQodGhpcyxoKS5lbnRyeX07Yy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGgpe3JldHVybihoPWQodGhpcyxoKS5lbnRyeSkmJmgudmFsdWV9O2MucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gZSh0aGlzLGZ1bmN0aW9uKGgpe3JldHVybltoLmtleSxoLnZhbHVlXX0pfTtjLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC5rZXl9KX07Yy5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC52YWx1ZX0pfTtjLnByb3RvdHlwZS5mb3JFYWNoPQpmdW5jdGlvbihoLGspe2Zvcih2YXIgbD10aGlzLmVudHJpZXMoKSxuOyEobj1sLm5leHQoKSkuZG9uZTspbj1uLnZhbHVlLGguY2FsbChrLG5bMV0sblswXSx0aGlzKX07Yy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1jLnByb3RvdHlwZS5lbnRyaWVzO3ZhciBkPWZ1bmN0aW9uKGgsayl7dmFyIGw9ayYmdHlwZW9mIGs7bD09Im9iamVjdCJ8fGw9PSJmdW5jdGlvbiI/Yi5oYXMoayk/bD1iLmdldChrKToobD0iIisgKytnLGIuc2V0KGssbCkpOmw9InBfIitrO3ZhciBuPWhbMF1bbF07aWYobiYmYWMoaFswXSxsKSlmb3IoaD0wO2g8bi5sZW5ndGg7aCsrKXt2YXIgcT1uW2hdO2lmKGshPT1rJiZxLmtleSE9PXEua2V5fHxrPT09cS5rZXkpcmV0dXJue2lkOmwsbGlzdDpuLGluZGV4OmgsZW50cnk6cX19cmV0dXJue2lkOmwsbGlzdDpuLGluZGV4Oi0xLGVudHJ5OnZvaWQgMH19LGU9ZnVuY3Rpb24oaCxrKXt2YXIgbD1oWzFdO3JldHVybiBmYyhmdW5jdGlvbigpe2lmKGwpe2Zvcig7bC5oZWFkIT0KaFsxXTspbD1sLmJiO2Zvcig7bC5uZXh0IT1sLmhlYWQ7KXJldHVybiBsPWwubmV4dCx7ZG9uZTohMSx2YWx1ZTprKGwpfTtsPW51bGx9cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX0pfSxmPWZ1bmN0aW9uKCl7dmFyIGg9e307cmV0dXJuIGguYmI9aC5uZXh0PWguaGVhZD1ofSxnPTA7cmV0dXJuIGN9KTsKeigiU2V0IixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGM9T2JqZWN0LnNlYWwoe3g6NH0pLGQ9bmV3IGEoXy5DKFtjXSkpO2lmKCFkLmhhcyhjKXx8ZC5zaXplIT0xfHxkLmFkZChjKSE9ZHx8ZC5zaXplIT0xfHxkLmFkZCh7eDo0fSkhPWR8fGQuc2l6ZSE9MilyZXR1cm4hMTt2YXIgZT1kLmVudHJpZXMoKSxmPWUubmV4dCgpO2lmKGYuZG9uZXx8Zi52YWx1ZVswXSE9Y3x8Zi52YWx1ZVsxXSE9YylyZXR1cm4hMTtmPWUubmV4dCgpO3JldHVybiBmLmRvbmV8fGYudmFsdWVbMF09PWN8fGYudmFsdWVbMF0ueCE9NHx8Zi52YWx1ZVsxXSE9Zi52YWx1ZVswXT8hMTplLm5leHQoKS5kb25lfWNhdGNoKGcpe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihjKXt0aGlzLmc9bmV3IE1hcDtpZihjKXtjPQpfLkMoYyk7Zm9yKHZhciBkOyEoZD1jLm5leHQoKSkuZG9uZTspdGhpcy5hZGQoZC52YWx1ZSl9dGhpcy5zaXplPXRoaXMuZy5zaXplfTtiLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYyl7Yz1jPT09MD8wOmM7dGhpcy5nLnNldChjLGMpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZTtyZXR1cm4gdGhpc307Yi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGMpe2M9dGhpcy5nLmRlbGV0ZShjKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGN9O2IucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5nLmNsZWFyKCk7dGhpcy5zaXplPTB9O2IucHJvdG90eXBlLmhhcz1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5nLmhhcyhjKX07Yi5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuZW50cmllcygpfTtiLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtiLnByb3RvdHlwZS5rZXlzPWIucHJvdG90eXBlLnZhbHVlczsKYi5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1iLnByb3RvdHlwZS52YWx1ZXM7Yi5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihjLGQpe3ZhciBlPXRoaXM7dGhpcy5nLmZvckVhY2goZnVuY3Rpb24oZil7cmV0dXJuIGMuY2FsbChkLGYsZixlKX0pfTtyZXR1cm4gYn0pO3ZhciBpYz1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBTdHJpbmcmJihhKz0iIik7dmFyIGM9MCxkPSExLGU9e25leHQ6ZnVuY3Rpb24oKXtpZighZCYmYzxhLmxlbmd0aCl7dmFyIGY9YysrO3JldHVybnt2YWx1ZTpiKGYsYVtmXSksZG9uZTohMX19ZD0hMDtyZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fX07ZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBlfTt6KCJBcnJheS5wcm90b3R5cGUuZW50cmllcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBpYyh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuW2IsY119KX19KTsKeigiQXJyYXkucHJvdG90eXBlLmtleXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXtyZXR1cm4gaWModGhpcyxmdW5jdGlvbihiKXtyZXR1cm4gYn0pfX0pO3ooIlN0cmluZy5wcm90b3R5cGUuZW5kc1dpdGgiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD1oYyh0aGlzLGIsImVuZHNXaXRoIik7Yz09PXZvaWQgMCYmKGM9ZC5sZW5ndGgpO2M9TWF0aC5tYXgoMCxNYXRoLm1pbihjfDAsZC5sZW5ndGgpKTtmb3IodmFyIGU9Yi5sZW5ndGg7ZT4wJiZjPjA7KWlmKGRbLS1jXSE9YlstLWVdKXJldHVybiExO3JldHVybiBlPD0wfX0pO3ooIk51bWJlci5pc0Zpbml0ZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGIhPT0ibnVtYmVyIj8hMTohaXNOYU4oYikmJmIhPT1JbmZpbml0eSYmYiE9PS1JbmZpbml0eX19KTsKeigiQXJyYXkucHJvdG90eXBlLmZpbmQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXthOnt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7Zm9yKHZhciBlPWQubGVuZ3RoLGY9MDtmPGU7ZisrKXt2YXIgZz1kW2ZdO2lmKGIuY2FsbChjLGcsZixkKSl7Yj1nO2JyZWFrIGF9fWI9dm9pZCAwfXJldHVybiBifX0pO3ooIk9iamVjdC5lbnRyaWVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilhYyhiLGQpJiZjLnB1c2goW2QsYltkXV0pO3JldHVybiBjfX0pOwp6KCJBcnJheS5mcm9tIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyxkKXtjPWMhPW51bGw/YzpmdW5jdGlvbihoKXtyZXR1cm4gaH07dmFyIGU9W10sZj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07aWYodHlwZW9mIGY9PSJmdW5jdGlvbiIpe2I9Zi5jYWxsKGIpO2Zvcih2YXIgZz0wOyEoZj1iLm5leHQoKSkuZG9uZTspZS5wdXNoKGMuY2FsbChkLGYudmFsdWUsZysrKSl9ZWxzZSBmb3IoZj1iLmxlbmd0aCxnPTA7ZzxmO2crKyllLnB1c2goYy5jYWxsKGQsYltnXSxnKSk7cmV0dXJuIGV9fSk7eigiQXJyYXkucHJvdG90eXBlLnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBpYyh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGN9KX19KTsKeigiT2JqZWN0LnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGIpYWMoYixkKSYmYy5wdXNoKGJbZF0pO3JldHVybiBjfX0pO3ooIk9iamVjdC5pcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBiPT09Yz9iIT09MHx8MS9iPT09MS9jOmIhPT1iJiZjIT09Y319KTt6KCJBcnJheS5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7dmFyIGU9ZC5sZW5ndGg7Yz1jfHwwO2ZvcihjPDAmJihjPU1hdGgubWF4KGMrZSwwKSk7YzxlO2MrKyl7dmFyIGY9ZFtjXTtpZihmPT09Ynx8T2JqZWN0LmlzKGYsYikpcmV0dXJuITB9cmV0dXJuITF9fSk7CnooIlN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4gaGModGhpcyxiLCJpbmNsdWRlcyIpLmluZGV4T2YoYixjfHwwKSE9PS0xfX0pO3ooIk51bWJlci5NQVhfU0FGRV9JTlRFR0VSIixmdW5jdGlvbigpe3JldHVybiA5MDA3MTk5MjU0NzQwOTkxfSk7eigiTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIiLGZ1bmN0aW9uKCl7cmV0dXJuLTkwMDcxOTkyNTQ3NDA5OTF9KTt6KCJOdW1iZXIuaXNJbnRlZ2VyIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYik/Yj09PU1hdGguZmxvb3IoYik6ITF9fSk7eigiTnVtYmVyLmlzU2FmZUludGVnZXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoYikmJk1hdGguYWJzKGIpPD1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUn19KTsKeigiT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybltdfX0pO3ooIk1hdGgudHJ1bmMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI9PT1JbmZpbml0eXx8Yj09PS1JbmZpbml0eXx8Yj09PTApcmV0dXJuIGI7dmFyIGM9TWF0aC5mbG9vcihNYXRoLmFicyhiKSk7cmV0dXJuIGI8MD8tYzpjfX0pO3ooIk51bWJlci5pc05hTiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGI9PT0ibnVtYmVyIiYmaXNOYU4oYil9fSk7CnooIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2lmKGIgaW5zdGFuY2VvZiBSZWdFeHAmJiFiLmdsb2JhbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJxIik7cmV0dXJuIGIgaW5zdGFuY2VvZiBSZWdFeHA/dGhpcy5yZXBsYWNlKGIsYyk6dGhpcy5yZXBsYWNlKG5ldyBSZWdFeHAoU3RyaW5nKGIpLnJlcGxhY2UoLyhbLSgpXFtcXXt9Kz8qLiRcXnwsOiM8IVxcXSkvZywiXFwkMSIpLnJlcGxhY2UoL1x4MDgvZywiXFx4MDgiKSwiZyIpLGMpfX0pOwp6KCJBcnJheS5wcm90b3R5cGUuZmxhdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtiPWI9PT12b2lkIDA/MTpiO3ZhciBjPVtdO0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGhpcyxmdW5jdGlvbihkKXtBcnJheS5pc0FycmF5KGQpJiZiPjA/KGQ9QXJyYXkucHJvdG90eXBlLmZsYXQuY2FsbChkLGItMSksYy5wdXNoLmFwcGx5KGMsZCkpOmMucHVzaChkKX0pO3JldHVybiBjfX0pO3ooIlByb21pc2UucHJvdG90eXBlLmZpbmFsbHkiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBjfSl9LGZ1bmN0aW9uKGMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYigpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX0pfX0pOwp6KCJBcnJheS5wcm90b3R5cGUuZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7dmFyIGU9dGhpcy5sZW5ndGh8fDA7YzwwJiYoYz1NYXRoLm1heCgwLGUrYykpO2lmKGQ9PW51bGx8fGQ+ZSlkPWU7ZD1OdW1iZXIoZCk7ZDwwJiYoZD1NYXRoLm1heCgwLGUrZCkpO2ZvcihjPU51bWJlcihjfHwwKTtjPGQ7YysrKXRoaXNbY109YjtyZXR1cm4gdGhpc319KTtTYigiZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpBcnJheS5wcm90b3R5cGUuZmlsbH0pO18uX0R1bXBFeGNlcHRpb249d2luZG93Ll9EdW1wRXhjZXB0aW9ufHxmdW5jdGlvbihhKXt0aHJvdyBhO307d2luZG93Ll9EdW1wRXhjZXB0aW9uPV8uX0R1bXBFeGNlcHRpb247dmFyIGpjLGxjLG1jLG5jLHphLEFhLHBjLHFjO2pjPWpjfHx7fTtfLnY9dGhpc3x8c2VsZjtsYz1mdW5jdGlvbihhLGIpe3ZhciBjPV8ua2MoIldJWl9nbG9iYWxfZGF0YS5veE4zbmIiKTthPWMmJmNbYV07cmV0dXJuIGEhPW51bGw/YTpifTttYz1fLnYuX0ZfdG9nZ2xlc19kZWZhdWx0X3RyfHxbXTtuYz1mdW5jdGlvbigpe307bmMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O18ua2M9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udjtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy5vYz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtyZXR1cm4gYiE9Im9iamVjdCI/YjphP0FycmF5LmlzQXJyYXkoYSk/ImFycmF5IjpiOiJudWxsIn07Xy5xYT1mdW5jdGlvbihhKXt2YXIgYj1fLm9jKGEpO3JldHVybiBiPT0iYXJyYXkifHxiPT0ib2JqZWN0IiYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIn07Cl8ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTt6YT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtBYT0wO3BjPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5jYWxsLmFwcGx5KGEuYmluZCxhcmd1bWVudHMpfTtxYz1mdW5jdGlvbihhLGIsYyl7aWYoIWEpdGhyb3cgRXJyb3IoKTtpZihhcmd1bWVudHMubGVuZ3RoPjIpe3ZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO0FycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGUsZCk7cmV0dXJuIGEuYXBwbHkoYixlKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYixhcmd1bWVudHMpfX07Cl8ueT1mdW5jdGlvbihhLGIsYyl7Xy55PUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiZGdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoIm5hdGl2ZSBjb2RlIikhPS0xP3BjOnFjO3JldHVybiBfLnkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtfLnJjPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBjPV8udixkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07Cl8uRz1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5lYT1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EuTWs9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTtfLkcoYWEsRXJyb3IpO2FhLnByb3RvdHlwZS5uYW1lPSJDdXN0b21FcnJvciI7dmFyIHNjO18uRyhjYSxhYSk7Y2EucHJvdG90eXBlLm5hbWU9IkFzc2VydGlvbkVycm9yIjt2YXIgZWE7dmFyIHRjPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5nPWJ8fG51bGx9O3RjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciB1Yz1uZXcgdGMoIm43M3F3ZiIsIm43M3F3ZiIpO3ZhciBuYT1TeW1ib2woInMiKTtfLnUucHJvdG90eXBlLnFhPSExO18udS5wcm90b3R5cGUucWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xYX07Xy51LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5xYXx8KHRoaXMucWE9ITAsdGhpcy5NKCkpfTtfLnUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLnUucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtpZih0aGlzLlcpZm9yKDt0aGlzLlcubGVuZ3RoOyl0aGlzLlcuc2hpZnQoKSgpfTt2YXIgc2Esd2M7c2E9QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiB0eXBlb2YgYiE9PSJzdHJpbmcifHxiLmxlbmd0aCE9MT8tMTphLmluZGV4T2YoYiwwKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihjIGluIGEmJmFbY109PT1iKXJldHVybiBjO3JldHVybi0xfTtfLnZjPUFycmF5LnByb3RvdHlwZS5mb3JFYWNoP2Z1bmN0aW9uKGEsYil7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5sZW5ndGgsZD10eXBlb2YgYT09PSJzdHJpbmciP2Euc3BsaXQoIiIpOmEsZT0wO2U8YztlKyspZSBpbiBkJiZiLmNhbGwodm9pZCAwLGRbZV0sZSxhKX07CndjPUFycmF5LnByb3RvdHlwZS5yZWR1Y2U/ZnVuY3Rpb24oYSxiLGMpe0FycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhLGIsYyl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jOygwLF8udmMpKGEsZnVuY3Rpb24oZSxmKXtkPWIuY2FsbCh2b2lkIDAsZCxlLGYsYSl9KX07Xy54Yz1BcnJheS5wcm90b3R5cGUuc29tZT9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YSxlPTA7ZTxjO2UrKylpZihlIGluIGQmJmIuY2FsbCh2b2lkIDAsZFtlXSxlLGEpKXJldHVybiEwO3JldHVybiExfTtfLnljPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O18uQ2EucHJvdG90eXBlLmFzcGVjdFJhdGlvPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2lkdGgvdGhpcy5oZWlnaHR9O18uQ2EucHJvdG90eXBlLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLkNhLnByb3RvdHlwZS5mbG9vcj1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5DYS5wcm90b3R5cGUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O3ZhciBFYTtFYT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO18uemM9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCBpbiBhKWIuY2FsbChjLGFbZF0sZCxhKX07Xy5BYz1TdHJpbmcucHJvdG90eXBlLnRyaW0/ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHJpbSgpfTpmdW5jdGlvbihhKXtyZXR1cm4vXltcc1x4YTBdKihbXHNcU10qPylbXHNceGEwXSokLy5leGVjKGEpWzFdfTt2YXIgQmM9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsSGE9QmMsSmE7Xy5MYT1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5MYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLkNjPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBVUkw9PT0iZnVuY3Rpb24ifSk7Xy5EYz1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5EYy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLkVjPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLkRjKEJjP0JjLmVtcHR5SFRNTDoiIil9KTtfLlBhPWZ1bmN0aW9uKGEpe3RoaXMuZz1hfTtfLlBhLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcrIiJ9O18uR2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYSkpfTtfLkRiPWZ1bmN0aW9uKGEpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYS5yZXBsYWNlKC9cKy9nLCIgIikpfTt2YXIgRmM9ISEobWNbMF0+PjI1JjEpLEdjPSEhKG1jWzBdPj4yMCYxKSxIYz0hIShtY1swXT4+MjcmMSksSWM9ISEobWNbMF0mODE5MiksSmM9ISEobWNbMF0+PjE5JjEpLEtjPSEhKG1jWzBdPj4xNyYxKSxMYz0hIShtY1swXT4+MTgmMSk7dmFyIHRiLE5jLE9jO18uVWE9RmM/SGM6bGMoNjEwNDAxMzAxLCExKTtfLk1jPUZjP0djfHwhSWM6bGMoNzQ4NDAyMTQ3LCEwKTt0Yj1GYz9KYzpsYyg5MTk0NDQ4MjQsITEpO05jPUZjP0tjOmxjKDkyODg3NTM5OCwhMSk7T2M9RmM/TGM6bGMoNjgzNzQ5MjAxLCExKTt2YXIgUGM7UGM9Xy52Lm5hdmlnYXRvcjtfLlZhPVBjP1BjLnVzZXJBZ2VudERhdGF8fG51bGw6bnVsbDtfLlFjPWZ1bmN0aW9uKGEpe18uUWNbIiAiXShhKTtyZXR1cm4gYX07Xy5RY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgZWQ7Xy5SYz1fLlhhKCk7Xy5TYz1fLldhKCk/ITE6Xy53KCJUcmlkZW50Iil8fF8udygiTVNJRSIpO18uVGM9Xy53KCJFZGdlIik7Xy5VYz1fLncoIkdlY2tvIikmJiEoXy5UYSgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikhPS0xJiYhXy53KCJFZGdlIikpJiYhKF8udygiVHJpZGVudCIpfHxfLncoIk1TSUUiKSkmJiFfLncoIkVkZ2UiKTtfLlZjPV8uVGEoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIV8udygiRWRnZSIpO18uV2M9Xy5WYyYmXy53KCJNb2JpbGUiKTtfLlljPV8uYWIoKTtfLlpjPVlhKCk/Xy5WYS5wbGF0Zm9ybT09PSJXaW5kb3dzIjpfLncoIldpbmRvd3MiKTtfLiRjPVlhKCk/Xy5WYS5wbGF0Zm9ybT09PSJBbmRyb2lkIjpfLncoIkFuZHJvaWQiKTtfLmFkPV8uWmEoKTtfLmJkPV8udygiaVBhZCIpO18uY2Q9Xy53KCJpUG9kIik7Xy5kZD1fLiRhKCk7CmE6e3ZhciBmZD0iIixnZD1mdW5jdGlvbigpe3ZhciBhPV8uVGEoKTtpZihfLlVjKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoYSk7aWYoXy5UYylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKGEpO2lmKF8uU2MpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKGEpO2lmKF8uVmMpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoYSk7aWYoXy5SYylyZXR1cm4vKD86VmVyc2lvbilbIFwvXT8oXFMrKS8uZXhlYyhhKX0oKTtnZCYmKGZkPWdkP2dkWzFdOiIiKTtpZihfLlNjKXt2YXIgaGQsaWQ9Xy52LmRvY3VtZW50O2hkPWlkP2lkLmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoaGQhPW51bGwmJmhkPnBhcnNlRmxvYXQoZmQpKXtlZD1TdHJpbmcoaGQpO2JyZWFrIGF9fWVkPWZkfV8uamQ9ZWQ7dmFyIGtkPSJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIiksCmxkPVtbIkEiLG5ldyBNYXAoW1siaHJlZiIse3VhOjd9XV0pXSxbIkFSRUEiLG5ldyBNYXAoW1siaHJlZiIse3VhOjd9XV0pXSxbIkxJTksiLG5ldyBNYXAoW1siaHJlZiIse3VhOjUsY29uZGl0aW9uczpuZXcgTWFwKFtbInJlbCIsbmV3IFNldCgiYWx0ZXJuYXRlIGF1dGhvciBib29rbWFyayBjYW5vbmljYWwgY2l0ZSBoZWxwIGljb24gbGljZW5zZSBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpKV1dKX1dXSldLFsiU09VUkNFIixuZXcgTWFwKFtbInNyYyIse3VhOjV9XSxbInNyY3NldCIse3VhOjZ9XV0pXSxbIklNRyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV0sWyJzcmNzZXQiLHt1YTo2fV1dKV0sWyJWSURFTyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV1dKV0sWyJBVURJTyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV1dKV1dLG1kPSJ0aXRsZSBhcmlhLWF0b21pYyBhcmlhLWF1dG9jb21wbGV0ZSBhcmlhLWJ1c3kgYXJpYS1jaGVja2VkIGFyaWEtY3VycmVudCBhcmlhLWRpc2FibGVkIGFyaWEtZHJvcGVmZmVjdCBhcmlhLWV4cGFuZGVkIGFyaWEtaGFzcG9wdXAgYXJpYS1oaWRkZW4gYXJpYS1pbnZhbGlkIGFyaWEtbGFiZWwgYXJpYS1sZXZlbCBhcmlhLWxpdmUgYXJpYS1tdWx0aWxpbmUgYXJpYS1tdWx0aXNlbGVjdGFibGUgYXJpYS1vcmllbnRhdGlvbiBhcmlhLXBvc2luc2V0IGFyaWEtcHJlc3NlZCBhcmlhLXJlYWRvbmx5IGFyaWEtcmVsZXZhbnQgYXJpYS1yZXF1aXJlZCBhcmlhLXNlbGVjdGVkIGFyaWEtc2V0c2l6ZSBhcmlhLXNvcnQgYXJpYS12YWx1ZW1heCBhcmlhLXZhbHVlbWluIGFyaWEtdmFsdWVub3cgYXJpYS12YWx1ZXRleHQgYWx0IGFsaWduIGF1dG9jYXBpdGFsaXplIGF1dG9jb21wbGV0ZSBhdXRvY29ycmVjdCBhdXRvZm9jdXMgYXV0b3BsYXkgYmdjb2xvciBib3JkZXIgY2VsbHBhZGRpbmcgY2VsbHNwYWNpbmcgY2hlY2tlZCBjaXRlIGNvbG9yIGNvbHMgY29sc3BhbiBjb250cm9scyBjb250cm9sc2xpc3QgY29vcmRzIGNyb3Nzb3JpZ2luIGRhdGV0aW1lIGRpc2FibGVkIGRvd25sb2FkIGRyYWdnYWJsZSBlbmN0eXBlIGZhY2UgZm9ybWVuY3R5cGUgZnJhbWVib3JkZXIgaGVpZ2h0IGhyZWZsYW5nIGhpZGRlbiBpbmVydCBpc21hcCBsYWJlbCBsYW5nIGxvb3AgbWF4IG1heGxlbmd0aCBtZWRpYSBtaW5sZW5ndGggbWluIG11bHRpcGxlIG11dGVkIG5vbmNlIG9wZW4gcGxheXNpbmxpbmUgcGxhY2Vob2xkZXIgcHJlbG9hZCByZWwgcmVxdWlyZWQgcmV2ZXJzZWQgcm9sZSByb3dzIHJvd3NwYW4gc2VsZWN0ZWQgc2hhcGUgc2l6ZSBzaXplcyBzbG90IHNwYW4gc3BlbGxjaGVjayBzdGFydCBzdGVwIHN1bW1hcnkgdHJhbnNsYXRlIHR5cGUgdXNlbWFwIHZhbGlnbiB2YWx1ZSB3aWR0aCB3cmFwIGl0ZW1zY29wZSBpdGVtdHlwZSBpdGVtaWQgaXRlbXByb3AgaXRlbXJlZiIuc3BsaXQoIiAiKSwKbmQ9W1siZGlyIix7dWE6Myxjb25kaXRpb25zOkdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1siZGlyIixuZXcgU2V0KFsiYXV0byIsImx0ciIsInJ0bCJdKV1dKX0pfV0sWyJhc3luYyIse3VhOjMsY29uZGl0aW9uczpHYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImFzeW5jIixuZXcgU2V0KFsiYXN5bmMiXSldXSl9KX1dLFsibG9hZGluZyIse3VhOjMsY29uZGl0aW9uczpHYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImxvYWRpbmciLG5ldyBTZXQoWyJlYWdlciIsImxhenkiXSldXSl9KX1dLFsicG9zdGVyIix7dWE6NX1dLFsidGFyZ2V0Iix7dWE6Myxjb25kaXRpb25zOkdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1sidGFyZ2V0IixuZXcgU2V0KFsiX3NlbGYiLCJfYmxhbmsiXSldXSl9KX1dXSxvZD1uZXcgZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoWyJkYXRhLSIsImFyaWEtIl0pLGU9bmV3IE1hcChsZCk7dGhpcy5qPWE7dGhpcy5nPQplO3RoaXMubD1iO3RoaXMubz1jO3RoaXMuaD1kfShuZXcgU2V0KEdhKGZ1bmN0aW9uKCl7cmV0dXJuIGtkLmNvbmNhdCgiU1RZTEUgVElUTEUgSU5QVVQgVEVYVEFSRUEgQlVUVE9OIExBQkVMIi5zcGxpdCgiICIpKX0pKSxuZXcgU2V0KEdhKGZ1bmN0aW9uKCl7cmV0dXJuIG1kLmNvbmNhdChbImNsYXNzIiwiaWQiLCJ0YWJpbmRleCIsImNvbnRlbnRlZGl0YWJsZSIsIm5hbWUiXSl9KSksbmV3IE1hcChHYShmdW5jdGlvbigpe3JldHVybiBuZC5jb25jYXQoW1sic3R5bGUiLHt1YToxfV1dKX0pKSk7dmFyIHBkPWZ1bmN0aW9uKCl7dGhpcy5nPW9kfTtwZC5wcm90b3R5cGUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpfTtfLnFkPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBwZH0pO3ZhciB2ZCx1ZCx4ZDtfLmxiPWZ1bmN0aW9uKGEpe3JldHVybiBhP25ldyBfLnJkKF8uc2QoYSkpOnNjfHwoc2M9bmV3IF8ucmQpfTtfLnRkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyI/YS5nZXRFbGVtZW50QnlJZChiKTpifTt2ZD1mdW5jdGlvbihhLGIpe18uemMoYixmdW5jdGlvbihjLGQpe2Q9PSJzdHlsZSI/YS5zdHlsZS5jc3NUZXh0PWM6ZD09ImNsYXNzIj9hLmNsYXNzTmFtZT1jOmQ9PSJmb3IiP2EuaHRtbEZvcj1jOnVkLmhhc093blByb3BlcnR5KGQpP2Euc2V0QXR0cmlidXRlKHVkW2RdLGMpOmQubGFzdEluZGV4T2YoImFyaWEtIiwwKT09MHx8ZC5sYXN0SW5kZXhPZigiZGF0YS0iLDApPT0wP2Euc2V0QXR0cmlidXRlKGQsYyk6YVtkXT1jfSl9Owp1ZD17Y2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNvbHNwYW46ImNvbFNwYW4iLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsaGVpZ2h0OiJoZWlnaHQiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixub25jZToibm9uY2UiLHJvbGU6InJvbGUiLHJvd3NwYW46InJvd1NwYW4iLHR5cGU6InR5cGUiLHVzZW1hcDoidXNlTWFwIix2YWxpZ246InZBbGlnbiIsd2lkdGg6IndpZHRoIn07Xy5pYj1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLkNhKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLm1iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKXy55ZD1mdW5jdGlvbihhLGIpe3ZhciBjPWJbMV0sZD1fLndkKGEsU3RyaW5nKGJbMF0pKTtjJiYodHlwZW9mIGM9PT0ic3RyaW5nIj9kLmNsYXNzTmFtZT1jOkFycmF5LmlzQXJyYXkoYyk/ZC5jbGFzc05hbWU9Yy5qb2luKCIgIik6dmQoZCxjKSk7Yi5sZW5ndGg+MiYmeGQoYSxkLGIsMik7cmV0dXJuIGR9Owp4ZD1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGgpe2gmJmIuYXBwZW5kQ2hpbGQodHlwZW9mIGg9PT0ic3RyaW5nIj9hLmNyZWF0ZVRleHROb2RlKGgpOmgpfWZvcig7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPWNbZF07aWYoIV8ucWEoZil8fF8ueWEoZikmJmYubm9kZVR5cGU+MCllKGYpO2Vsc2V7YTp7aWYoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIil7aWYoXy55YShmKSl7dmFyIGc9dHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uInx8dHlwZW9mIGYuaXRlbT09InN0cmluZyI7YnJlYWsgYX1pZih0eXBlb2YgZj09PSJmdW5jdGlvbiIpe2c9dHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIjticmVhayBhfX1nPSExfV8udmMoZz9fLndhKGYpOmYsZSl9fX07Xy53ZD1mdW5jdGlvbihhLGIpe2I9U3RyaW5nKGIpO2EuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGIpfTsKXy56ZD1mdW5jdGlvbihhKXtmb3IodmFyIGI7Yj1hLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYil9O18uQWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEucGFyZW50Tm9kZT9hLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk6bnVsbH07Xy5CZD1mdW5jdGlvbihhLGIpe2lmKCFhfHwhYilyZXR1cm4hMTtpZihhLmNvbnRhaW5zJiZiLm5vZGVUeXBlPT0xKXJldHVybiBhPT1ifHxhLmNvbnRhaW5zKGIpO2lmKHR5cGVvZiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIilyZXR1cm4gYT09Ynx8ISEoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSYxNik7Zm9yKDtiJiZhIT1iOyliPWIucGFyZW50Tm9kZTtyZXR1cm4gYj09YX07Xy5zZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Cl8uQ2Q9ZnVuY3Rpb24oYSxiKXtpZigidGV4dENvbnRlbnQiaW4gYSlhLnRleHRDb250ZW50PWI7ZWxzZSBpZihhLm5vZGVUeXBlPT0zKWEuZGF0YT1TdHJpbmcoYik7ZWxzZSBpZihhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09Myl7Zm9yKDthLmxhc3RDaGlsZCE9YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGEubGFzdENoaWxkKTthLmZpcnN0Q2hpbGQuZGF0YT1TdHJpbmcoYil9ZWxzZSBfLnpkKGEpLGEuYXBwZW5kQ2hpbGQoXy5zZChhKS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYikpKX07Xy5yZD1mdW5jdGlvbihhKXt0aGlzLmc9YXx8Xy52LmRvY3VtZW50fHxkb2N1bWVudH07Xy5tPV8ucmQucHJvdG90eXBlO18ubS5IPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKHRoaXMuZyxhKX07Xy5tLmRqPV8ucmQucHJvdG90eXBlLkg7Xy5tLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fHRoaXMuZykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGEpKX07Cl8ubS5TPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy55ZCh0aGlzLmcsYXJndW1lbnRzKX07Xy5tLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ud2QodGhpcy5nLGEpfTtfLm0uY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpfTtfLm0uYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSxiKXthLmFwcGVuZENoaWxkKGIpfTtfLm0uYXBwZW5kPWZ1bmN0aW9uKGEsYil7eGQoXy5zZChhKSxhLGFyZ3VtZW50cywxKX07Xy5tLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8ubS5pZT1fLnpkO18ubS5yZW1vdmVOb2RlPV8uQWQ7Xy5tLmNvbnRhaW5zPV8uQmQ7Xy5tLlNiPV8uQ2Q7YmIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWR9O3ZhciBjYj1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT1hIGluc3RhbmNlb2YgYmI/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMuaD0hMX07Y2IucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuaD0hMH07Y2IucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwfTt2YXIgRGQ9ZnVuY3Rpb24oKXtpZighXy52LmFkZEV2ZW50TGlzdGVuZXJ8fCFPYmplY3QuZGVmaW5lUHJvcGVydHkpcmV0dXJuITE7dmFyIGE9ITEsYj1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXthPSEwfX0pO3RyeXt2YXIgYz1mdW5jdGlvbigpe307Xy52LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYik7Xy52LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYil9Y2F0Y2goZCl7fXJldHVybiBhfSgpO18uRyhfLmRiLGNiKTsKXy5kYi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMudHlwZT1hLnR5cGUsZD1hLmNoYW5nZWRUb3VjaGVzJiZhLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9hLmNoYW5nZWRUb3VjaGVzWzBdOm51bGw7dGhpcy50YXJnZXQ9YS50YXJnZXR8fGEuc3JjRWxlbWVudDt0aGlzLmN1cnJlbnRUYXJnZXQ9YjtiPWEucmVsYXRlZFRhcmdldDtifHwoYz09Im1vdXNlb3ZlciI/Yj1hLmZyb21FbGVtZW50OmM9PSJtb3VzZW91dCImJihiPWEudG9FbGVtZW50KSk7dGhpcy5yZWxhdGVkVGFyZ2V0PWI7ZD8odGhpcy5jbGllbnRYPWQuY2xpZW50WCE9PXZvaWQgMD9kLmNsaWVudFg6ZC5wYWdlWCx0aGlzLmNsaWVudFk9ZC5jbGllbnRZIT09dm9pZCAwP2QuY2xpZW50WTpkLnBhZ2VZLHRoaXMuc2NyZWVuWD1kLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWQuc2NyZWVuWXx8MCk6KHRoaXMub2Zmc2V0WD1fLlZjfHxhLm9mZnNldFghPT12b2lkIDA/YS5vZmZzZXRYOmEubGF5ZXJYLAp0aGlzLm9mZnNldFk9Xy5WY3x8YS5vZmZzZXRZIT09dm9pZCAwP2Eub2Zmc2V0WTphLmxheWVyWSx0aGlzLmNsaWVudFg9YS5jbGllbnRYIT09dm9pZCAwP2EuY2xpZW50WDphLnBhZ2VYLHRoaXMuY2xpZW50WT1hLmNsaWVudFkhPT12b2lkIDA/YS5jbGllbnRZOmEucGFnZVksdGhpcy5zY3JlZW5YPWEuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9YS5zY3JlZW5ZfHwwKTt0aGlzLmJ1dHRvbj1hLmJ1dHRvbjt0aGlzLmtleUNvZGU9YS5rZXlDb2RlfHwwO3RoaXMua2V5PWEua2V5fHwiIjt0aGlzLmNoYXJDb2RlPWEuY2hhckNvZGV8fChjPT0ia2V5cHJlc3MiP2Eua2V5Q29kZTowKTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuYWx0S2V5PWEuYWx0S2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMucG9pbnRlcklkPWEucG9pbnRlcklkfHwwO3RoaXMucG9pbnRlclR5cGU9YS5wb2ludGVyVHlwZTt0aGlzLnN0YXRlPWEuc3RhdGU7CnRoaXMudGltZVN0YW1wPWEudGltZVN0YW1wO3RoaXMuZz1hO2EuZGVmYXVsdFByZXZlbnRlZCYmXy5kYi5lYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpfTtfLmRiLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtfLmRiLmVhLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMuZy5zdG9wUHJvcGFnYXRpb24/dGhpcy5nLnN0b3BQcm9wYWdhdGlvbigpOnRoaXMuZy5jYW5jZWxCdWJibGU9ITB9O18uZGIucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7Xy5kYi5lYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuZzthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgRWQ9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKSxGZD1mdW5jdGlvbihhKXtyZXR1cm4hKCFhfHwhYVtFZF0pfTt2YXIgZWI9MDt2YXIgR2Q9ZnVuY3Rpb24oYSl7YS5vYz0hMDthLmxpc3RlbmVyPW51bGw7YS5wcm94eT1udWxsO2Euc3JjPW51bGw7YS5WYz1udWxsfTtnYi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5nW2ZdO2F8fChhPXRoaXMuZ1tmXT1bXSx0aGlzLmgrKyk7dmFyIGc9SGQoYSxiLGQsZSk7Zz4tMT8oYj1hW2ddLGN8fChiLkhjPSExKSk6KGI9bmV3IGZiKGIsdGhpcy5zcmMsZiwhIWQsZSksYi5IYz1jLGEucHVzaChiKSk7cmV0dXJuIGJ9O2diLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLnRvU3RyaW5nKCk7aWYoIShhIGluIHRoaXMuZykpcmV0dXJuITE7dmFyIGU9dGhpcy5nW2FdO2I9SGQoZSxiLGMsZCk7cmV0dXJuIGI+LTE/KEdkKGVbYl0pLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChlLGIsMSksZS5sZW5ndGg9PTAmJihkZWxldGUgdGhpcy5nW2FdLHRoaXMuaC0tKSwhMCk6ITF9Owp2YXIgSWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnR5cGU7YyBpbiBhLmcmJl8udmEoYS5nW2NdLGIpJiYoR2QoYiksYS5nW2NdLmxlbmd0aD09MCYmKGRlbGV0ZSBhLmdbY10sYS5oLS0pKX07Z2IucHJvdG90eXBlLmpjPWZ1bmN0aW9uKGEsYixjLGQpe2E9dGhpcy5nW2EudG9TdHJpbmcoKV07dmFyIGU9LTE7YSYmKGU9SGQoYSxiLGMsZCkpO3JldHVybiBlPi0xP2FbZV06bnVsbH07Z2IucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YSE9PXZvaWQgMCxkPWM/YS50b1N0cmluZygpOiIiLGU9YiE9PXZvaWQgMDtyZXR1cm4gRGEodGhpcy5nLGZ1bmN0aW9uKGYpe2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7KytnKWlmKCEoYyYmZltnXS50eXBlIT1kfHxlJiZmW2ddLmNhcHR1cmUhPWIpKXJldHVybiEwO3JldHVybiExfSl9Owp2YXIgSGQ9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlPTA7ZTxhLmxlbmd0aDsrK2Upe3ZhciBmPWFbZV07aWYoIWYub2MmJmYubGlzdGVuZXI9PWImJmYuY2FwdHVyZT09ISFjJiZmLlZjPT1kKXJldHVybiBlfXJldHVybi0xfTt2YXIgSmQsS2QsTWQsUGQsUmQsU2QsVGQsUWQsV2QsT2Q7SmQ9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCk7S2Q9e307TWQ9MDtfLng9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkJiZkLm9uY2UpcmV0dXJuIF8uTmQoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKylfLngoYSxiW2ZdLGMsZCxlKTtyZXR1cm4gbnVsbH1jPU9kKGMpO3JldHVybiBGZChhKT9hLk4oYixjLF8ueWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlBkKGEsYixjLCExLGQsZSl9OwpQZD1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoInYiKTt2YXIgZz1fLnlhKGUpPyEhZS5jYXB0dXJlOiEhZSxoPVFkKGEpO2h8fChhW0pkXT1oPW5ldyBnYihhKSk7Yz1oLmFkZChiLGMsZCxnLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1SZCgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpRGR8fChlPWcpLGU9PT12b2lkIDAmJihlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYi50b1N0cmluZygpLGQsZSk7ZWxzZSBpZihhLmF0dGFjaEV2ZW50KWEuYXR0YWNoRXZlbnQoU2QoYi50b1N0cmluZygpKSxkKTtlbHNlIGlmKGEuYWRkTGlzdGVuZXImJmEucmVtb3ZlTGlzdGVuZXIpYS5hZGRMaXN0ZW5lcihkKTtlbHNlIHRocm93IEVycm9yKCJ3Iik7TWQrKztyZXR1cm4gY307UmQ9ZnVuY3Rpb24oKXt2YXIgYT1UZCxiPWZ1bmN0aW9uKGMpe3JldHVybiBhLmNhbGwoYi5zcmMsYi5saXN0ZW5lcixjKX07cmV0dXJuIGJ9OwpfLk5kPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoQXJyYXkuaXNBcnJheShiKSl7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspXy5OZChhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9T2QoYyk7cmV0dXJuIEZkKGEpP2EuYWUoYixjLF8ueWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlBkKGEsYixjLCEwLGQsZSl9O18uVWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8uVWQoYSxiW2ZdLGMsZCxlKTtlbHNlIGQ9Xy55YShkKT8hIWQuY2FwdHVyZTohIWQsYz1PZChjKSxGZChhKT9hLnljKGIsYyxkLGUpOmEmJihhPVFkKGEpKSYmKGI9YS5qYyhiLGMsZCxlKSkmJl8uVmQoYil9OwpfLlZkPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLm9jKXt2YXIgYj1hLnNyYztpZihGZChiKSlJZChiLlFhLGEpO2Vsc2V7dmFyIGM9YS50eXBlLGQ9YS5wcm94eTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCxhLmNhcHR1cmUpOmIuZGV0YWNoRXZlbnQ/Yi5kZXRhY2hFdmVudChTZChjKSxkKTpiLmFkZExpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyKGQpO01kLS07KGM9UWQoYikpPyhJZChjLGEpLGMuaD09MCYmKGMuc3JjPW51bGwsYltKZF09bnVsbCkpOkdkKGEpfX19O1NkPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluIEtkP0tkW2FdOktkW2FdPSJvbiIrYX07VGQ9ZnVuY3Rpb24oYSxiKXtpZihhLm9jKWE9ITA7ZWxzZXtiPW5ldyBfLmRiKGIsdGhpcyk7dmFyIGM9YS5saXN0ZW5lcixkPWEuVmN8fGEuc3JjO2EuSGMmJl8uVmQoYSk7YT1jLmNhbGwoZCxiKX1yZXR1cm4gYX07ClFkPWZ1bmN0aW9uKGEpe2E9YVtKZF07cmV0dXJuIGEgaW5zdGFuY2VvZiBnYj9hOm51bGx9O1dkPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7T2Q9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbV2RdfHwoYVtXZF09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtXZF19O18uRyhfLmhiLF8udSk7Xy5oYi5wcm90b3R5cGVbRWRdPSEwO18ubT1fLmhiLnByb3RvdHlwZTtfLm0ubmQ9ZnVuY3Rpb24oYSl7dGhpcy5mZD1hfTtfLm0uYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtfLngodGhpcyxhLGIsYyxkKX07Xy5tLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5VZCh0aGlzLGEsYixjLGQpfTsKXy5tLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLmZkO2lmKGMpZm9yKGI9W107YztjPWMuZmQpYi5wdXNoKGMpO2M9dGhpcy5XZzt2YXIgZD1hLnR5cGV8fGE7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilhPW5ldyBjYihhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIGNiKWEudGFyZ2V0PWEudGFyZ2V0fHxjO2Vsc2V7dmFyIGU9YTthPW5ldyBjYihkLGMpO0ZhKGEsZSl9ZT0hMDt2YXIgZjtpZihiKWZvcihmPWIubGVuZ3RoLTE7IWEuaCYmZj49MDtmLS0pe3ZhciBnPWEuY3VycmVudFRhcmdldD1iW2ZdO2U9WGQoZyxkLCEwLGEpJiZlfWEuaHx8KGc9YS5jdXJyZW50VGFyZ2V0PWMsZT1YZChnLGQsITAsYSkmJmUsYS5ofHwoZT1YZChnLGQsITEsYSkmJmUpKTtpZihiKWZvcihmPTA7IWEuaCYmZjxiLmxlbmd0aDtmKyspZz1hLmN1cnJlbnRUYXJnZXQ9YltmXSxlPVhkKGcsZCwhMSxhKSYmZTtyZXR1cm4gZX07Cl8ubS5NPWZ1bmN0aW9uKCl7Xy5oYi5lYS5NLmNhbGwodGhpcyk7aWYodGhpcy5RYSl7dmFyIGE9dGhpcy5RYSxiPTAsYztmb3IoYyBpbiBhLmcpe2Zvcih2YXIgZD1hLmdbY10sZT0wO2U8ZC5sZW5ndGg7ZSsrKSsrYixHZChkW2VdKTtkZWxldGUgYS5nW2NdO2EuaC0tfX10aGlzLmZkPW51bGx9O18ubS5OPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlFhLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLm0uYWU9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuUWEuYWRkKFN0cmluZyhhKSxiLCEwLGMsZCl9O18ubS55Yz1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5RYS5yZW1vdmUoU3RyaW5nKGEpLGIsYyxkKX07CnZhciBYZD1mdW5jdGlvbihhLGIsYyxkKXtiPWEuUWEuZ1tTdHJpbmcoYildO2lmKCFiKXJldHVybiEwO2I9Yi5jb25jYXQoKTtmb3IodmFyIGU9ITAsZj0wO2Y8Yi5sZW5ndGg7KytmKXt2YXIgZz1iW2ZdO2lmKGcmJiFnLm9jJiZnLmNhcHR1cmU9PWMpe3ZhciBoPWcubGlzdGVuZXIsaz1nLlZjfHxnLnNyYztnLkhjJiZJZChhLlFhLGcpO2U9aC5jYWxsKGssZCkhPT0hMSYmZX19cmV0dXJuIGUmJiFkLmRlZmF1bHRQcmV2ZW50ZWR9O18uaGIucHJvdG90eXBlLmpjPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlFhLmpjKFN0cmluZyhhKSxiLGMsZCl9O18uaGIucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuUWEuaGFzTGlzdGVuZXIoYSE9PXZvaWQgMD9TdHJpbmcoYSk6dm9pZCAwLGIpfTtfLkcoamIsXy5oYik7amIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtqYi5lYS5NLmNhbGwodGhpcyk7dGhpcy5oJiYoXy5WZCh0aGlzLmgpLHRoaXMuaD1udWxsKTt0aGlzLmo9dGhpcy5nPW51bGx9O2piLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dmFyIGE9Xy5pYih0aGlzLmd8fHdpbmRvdyk7Xy55YyhhLHRoaXMuail8fCh0aGlzLmo9YSx0aGlzLmRpc3BhdGNoRXZlbnQoInJlc2l6ZSIpKX07Xy5HKGtiLF8uaGIpO2tiLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5nJiYodHlwZW9mIHRoaXMuZy5hZGRFdmVudExpc3RlbmVyPT09ImZ1bmN0aW9uIj8odGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5qKSx0aGlzLmw9ZnVuY3Rpb24oKXthLmcucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhLmopfSk6KHRoaXMuZy5hZGRMaXN0ZW5lcih0aGlzLmopLHRoaXMubD1mdW5jdGlvbigpe2EuZy5yZW1vdmVMaXN0ZW5lcihhLmopfSkpfTtrYi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5kZXZpY2VQaXhlbFJhdGlvPj0xLjU/MjoxO3RoaXMubyE9YSYmKHRoaXMubz1hLHRoaXMuZGlzcGF0Y2hFdmVudCgiYSIpKX07a2IucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmwmJnRoaXMubCgpO2tiLmVhLk0uY2FsbCh0aGlzKX07Xy5HKG5iLF8udSk7bmIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmg9dGhpcy5sPW51bGw7dGhpcy5nJiYodGhpcy5nLmRpc3Bvc2UoKSx0aGlzLmc9bnVsbCk7Xy5wYSh0aGlzLmopO3RoaXMuaj1udWxsfTtfLm9hKHVjLG5iKTt2YXIgb2I9bmV3IFVpbnQ4QXJyYXkoMTIzKSxZZD0hMTt2YXIgWmQ9W107bmM9bmN8fHt9O3ZhciAkZD1mdW5jdGlvbigpe18udS5jYWxsKHRoaXMpfTtfLkcoJGQsXy51KTskZC5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe307c2IucHJvdG90eXBlLmV4ZWN1dGU9ZnVuY3Rpb24oYSl7dGhpcy5nJiYodGhpcy5nLmNhbGwodGhpcy5ofHxudWxsLGEpLHRoaXMuZz10aGlzLmg9bnVsbCl9O3NiLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuaD10aGlzLmc9bnVsbH07bmMuR2U9c2I7Xy5HKHViLF8udSk7dWIucHJvdG90eXBlLkM9JGQ7dWIucHJvdG90eXBlLmc9bnVsbDt1Yi5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfTt2YXIgYWU9ZnVuY3Rpb24oYSxiLGMpe2Euanx8KGEuaj1bXSk7YS5qLnB1c2gobmV3IG5jLkdlKGIsYykpfSxiZT1mdW5jdGlvbihhLGIpe2EuaHx8KGEuaD1bXSk7YS5oLnB1c2gobmV3IG5jLkdlKGIsdm9pZCAwKSl9O3ViLnByb3RvdHlwZS5tZD1mdW5jdGlvbigpe3RoaXMuZz1uZXcgJGR9O3ViLnByb3RvdHlwZS5vbkxvYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRoaXMuQztiLmluaXRpYWxpemUoYSgpKTt0aGlzLmc9YjtpZih0aGlzLm8mJihiPWNlKHRoaXMubyxhKCkpKSlyZXR1cm4gYjtpZih0aGlzLmomJihhPWNlKHRoaXMuaixhKCkpKSlyZXR1cm4gYTt0aGlzLmgmJih0aGlzLmgubGVuZ3RoPTApO3JldHVybiBudWxsfTsKdWIucHJvdG90eXBlLmZlPWZ1bmN0aW9uKGEpe3RoaXMuaCYmKGE9Y2UodGhpcy5oLGEpKSYmXy5yYihFcnJvcigieWAiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuaiYmKHRoaXMuai5sZW5ndGg9MCl9O3ZhciBjZT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspdHJ5e2FbZF0uZXhlY3V0ZShiKX1jYXRjaChlKXtfLnJiKGUpLGMucHVzaChlKX1hLmxlbmd0aD0wO3JldHVybiBjLmxlbmd0aD9jOm51bGx9O3ViLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dWIuZWEuTS5jYWxsKHRoaXMpO18ucGEodGhpcy5nKX07bmMuRmU9dWI7dmFyIGRlPXtFUlJPUjoiZXJyb3IiLElETEU6ImlkbGUiLGxnOiJhY3RpdmUiLElnOiJ1c2VySWRsZSIsSGc6InVzZXJBY3RpdmUifTtfLm09dmIucHJvdG90eXBlO18ubS5YZj1mdW5jdGlvbigpe307Xy5tLnFlPWZ1bmN0aW9uKCl7fTtfLm0uamU9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiQSIpO307Xy5tLmtmPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWF9O18ubS5zZT1mdW5jdGlvbihhKXt0aGlzLnFhPWF9O18ubS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiExfTtfLm0uRGY9ZnVuY3Rpb24oKXtyZXR1cm4hMX07dmFyIGVlPXR5cGVvZiBBc3luY0NvbnRleHQhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEFzeW5jQ29udGV4dC5TbmFwc2hvdD09PSJmdW5jdGlvbiI/ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpfTpmdW5jdGlvbihhKXtyZXR1cm4gYX07dmFyIGZlPWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5qPWI7dGhpcy5oPTA7dGhpcy5nPW51bGx9O2ZlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtpZih0aGlzLmg+MCl7dGhpcy5oLS07dmFyIGE9dGhpcy5nO3RoaXMuZz1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMubCgpO3JldHVybiBhfTt2YXIgeGI9ZnVuY3Rpb24oYSxiKXthLmooYik7YS5oPDEwMCYmKGEuaCsrLGIubmV4dD1hLmcsYS5nPWIpfTt2YXIgZ2U9ZnVuY3Rpb24oKXt0aGlzLmg9dGhpcy5nPW51bGx9O2dlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz15Yi5nZXQoKTtjLnNldChhLGIpO3RoaXMuaD90aGlzLmgubmV4dD1jOnRoaXMuZz1jO3RoaXMuaD1jfTtnZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIGE9bnVsbDt0aGlzLmcmJihhPXRoaXMuZyx0aGlzLmc9dGhpcy5nLm5leHQsdGhpcy5nfHwodGhpcy5oPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX07dmFyIHliPW5ldyBmZShmdW5jdGlvbigpe3JldHVybiBuZXcgaGV9LGZ1bmN0aW9uKGEpe3JldHVybiBhLnJlc2V0KCl9KSxoZT1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZz1udWxsfTtoZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5zY29wZT1iO3RoaXMubmV4dD1udWxsfTsKaGUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5nPW51bGx9O3ZhciBpZSx6Yj0hMSx3Yj1uZXcgZ2Usa2U9ZnVuY3Rpb24oYSxiKXtpZXx8amUoKTt6Ynx8KGllKCksemI9ITApO3diLmFkZChhLGIpfSxqZT1mdW5jdGlvbigpe3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO2llPWZ1bmN0aW9uKCl7YS50aGVuKEFiKX19O18ubGU9ZnVuY3Rpb24oKXt9O3ZhciBtZT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt0cnl7cmV0dXJuISFhLiRnb29nX1RoZW5hYmxlfWNhdGNoKGIpe3JldHVybiExfX07dmFyIHBlLEFlLHllLHdlO18ub2U9ZnVuY3Rpb24oYSl7dGhpcy5nPTA7dGhpcy5CPXZvaWQgMDt0aGlzLmw9dGhpcy5oPXRoaXMuaj1udWxsO3RoaXMubz10aGlzLkE9ITE7aWYoYSE9Xy5sZSl0cnl7dmFyIGI9dGhpczthLmNhbGwodm9pZCAwLGZ1bmN0aW9uKGMpe18ubmUoYiwyLGMpfSxmdW5jdGlvbihjKXtfLm5lKGIsMyxjKX0pfWNhdGNoKGMpe18ubmUodGhpcywzLGMpfX07cGU9ZnVuY3Rpb24oKXt0aGlzLm5leHQ9dGhpcy5qPXRoaXMuaD10aGlzLmw9dGhpcy5nPW51bGw7dGhpcy5vPSExfTtwZS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy5oPXRoaXMubD10aGlzLmc9bnVsbDt0aGlzLm89ITF9O3ZhciBxZT1uZXcgZmUoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHBlfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KSxyZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cWUuZ2V0KCk7ZC5sPWE7ZC5oPWI7ZC5qPWM7cmV0dXJuIGR9OwpfLm9lLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gc2UodGhpcyxlZSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSxlZSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy5vZS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7Xy5vZS5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe3JldHVybiBzZSh0aGlzLG51bGwsZWUoYSksYil9O18ub2UucHJvdG90eXBlLmNhdGNoPV8ub2UucHJvdG90eXBlLkM7Xy5vZS5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZz09MCl7dmFyIGI9bmV3IHVlKGEpO2tlKGZ1bmN0aW9uKCl7dmUodGhpcyxiKX0sdGhpcyl9fTsKdmFyIHZlPWZ1bmN0aW9uKGEsYil7aWYoYS5nPT0wKWlmKGEuail7dmFyIGM9YS5qO2lmKGMuaCl7Zm9yKHZhciBkPTAsZT1udWxsLGY9bnVsbCxnPWMuaDtnJiYoZy5vfHwoZCsrLGcuZz09YSYmKGU9ZyksIShlJiZkPjEpKSk7Zz1nLm5leHQpZXx8KGY9Zyk7ZSYmKGMuZz09MCYmZD09MT92ZShjLGIpOihmPyhkPWYsZC5uZXh0PT1jLmwmJihjLmw9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTp3ZShjKSx4ZShjLGUsMyxiKSkpfWEuaj1udWxsfWVsc2UgXy5uZShhLDMsYil9LHplPWZ1bmN0aW9uKGEsYil7YS5ofHxhLmchPTImJmEuZyE9M3x8eWUoYSk7YS5sP2EubC5uZXh0PWI6YS5oPWI7YS5sPWJ9LHNlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXJlKG51bGwsbnVsbCxudWxsKTtlLmc9bmV3IF8ub2UoZnVuY3Rpb24oZixnKXtlLmw9Yj9mdW5jdGlvbihoKXt0cnl7dmFyIGs9Yi5jYWxsKGQsaCk7ZihrKX1jYXRjaChsKXtnKGwpfX06ZjtlLmg9Yz9mdW5jdGlvbihoKXt0cnl7dmFyIGs9CmMuY2FsbChkLGgpO2s9PT12b2lkIDAmJmggaW5zdGFuY2VvZiB1ZT9nKGgpOmYoayl9Y2F0Y2gobCl7ZyhsKX19Omd9KTtlLmcuaj1hO3plKGEsZSk7cmV0dXJuIGUuZ307Xy5vZS5wcm90b3R5cGUuRj1mdW5jdGlvbihhKXt0aGlzLmc9MDtfLm5lKHRoaXMsMixhKX07Xy5vZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhKXt0aGlzLmc9MDtfLm5lKHRoaXMsMyxhKX07Cl8ubmU9ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZz09MCl7YT09PWMmJihiPTMsYz1uZXcgVHlwZUVycm9yKCJCIikpO2EuZz0xO2E6e3ZhciBkPWMsZT1hLkYsZj1hLkc7aWYoZCBpbnN0YW5jZW9mIF8ub2Upe3plKGQscmUoZXx8Xy5sZSxmfHxudWxsLGEpKTt2YXIgZz0hMH1lbHNlIGlmKG1lKGQpKWQudGhlbihlLGYsYSksZz0hMDtlbHNle2lmKF8ueWEoZCkpdHJ5e3ZhciBoPWQudGhlbjtpZih0eXBlb2YgaD09PSJmdW5jdGlvbiIpe0FlKGQsaCxlLGYsYSk7Zz0hMDticmVhayBhfX1jYXRjaChrKXtmLmNhbGwoYSxrKTtnPSEwO2JyZWFrIGF9Zz0hMX19Z3x8KGEuQj1jLGEuZz1iLGEuaj1udWxsLHllKGEpLGIhPTN8fGMgaW5zdGFuY2VvZiB1ZXx8QmUoYSxjKSl9fTtBZT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSExLGc9ZnVuY3Rpb24oayl7Znx8KGY9ITAsYy5jYWxsKGUsaykpfSxoPWZ1bmN0aW9uKGspe2Z8fChmPSEwLGQuY2FsbChlLGspKX07dHJ5e2IuY2FsbChhLGcsaCl9Y2F0Y2goayl7aChrKX19Owp5ZT1mdW5jdGlvbihhKXthLkF8fChhLkE9ITAsa2UoYS5ELGEpKX07d2U9ZnVuY3Rpb24oYSl7dmFyIGI9bnVsbDthLmgmJihiPWEuaCxhLmg9Yi5uZXh0LGIubmV4dD1udWxsKTthLmh8fChhLmw9bnVsbCk7cmV0dXJuIGJ9O18ub2UucHJvdG90eXBlLkQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT13ZSh0aGlzKTspeGUodGhpcyxhLHRoaXMuZyx0aGlzLkIpO3RoaXMuQT0hMX07CnZhciB4ZT1mdW5jdGlvbihhLGIsYyxkKXtpZihjPT0zJiZiLmgmJiFiLm8pZm9yKDthJiZhLm87YT1hLmopYS5vPSExO2lmKGIuZyliLmcuaj1udWxsLENlKGIsYyxkKTtlbHNlIHRyeXtiLm8/Yi5sLmNhbGwoYi5qKTpDZShiLGMsZCl9Y2F0Y2goZSl7RmUuY2FsbChudWxsLGUpfXhiKHFlLGIpfSxDZT1mdW5jdGlvbihhLGIsYyl7Yj09Mj9hLmwuY2FsbChhLmosYyk6YS5oJiZhLmguY2FsbChhLmosYyl9LEJlPWZ1bmN0aW9uKGEsYil7YS5vPSEwO2tlKGZ1bmN0aW9uKCl7YS5vJiZGZS5jYWxsKG51bGwsYil9KX0sRmU9Xy5yYix1ZT1mdW5jdGlvbihhKXthYS5jYWxsKHRoaXMsYSl9O18uRyh1ZSxhYSk7dWUucHJvdG90eXBlLm5hbWU9ImNhbmNlbCI7QmIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbihhKXtpZih0aGlzLmgpdGhpcy5sIGluc3RhbmNlb2YgQmImJnRoaXMubC5jYW5jZWwoKTtlbHNle2lmKHRoaXMuail7dmFyIGI9dGhpcy5qO2RlbGV0ZSB0aGlzLmo7YT9iLmNhbmNlbChhKTooYi5BLS0sYi5BPD0wJiZiLmNhbmNlbCgpKX10aGlzLkc9ITA7dGhpcy5ofHx0aGlzLkYobmV3IEdlKHRoaXMpKX19O0JiLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEsYil7dGhpcy5EPSExO0hlKHRoaXMsYSxiKX07dmFyIEhlPWZ1bmN0aW9uKGEsYixjKXthLmg9ITA7YS5sPWM7YS5vPSFiO0llKGEpfSxLZT1mdW5jdGlvbihhKXtpZihhLmgpe2lmKCFhLkcpdGhyb3cgbmV3IEplKGEpO2EuRz0hMX19O0JiLnByb3RvdHlwZS5nPWZ1bmN0aW9uKGEpe0tlKHRoaXMpO0hlKHRoaXMsITAsYSl9O0JiLnByb3RvdHlwZS5GPWZ1bmN0aW9uKGEpe0tlKHRoaXMpO0hlKHRoaXMsITEsYSl9Owp2YXIgTWU9ZnVuY3Rpb24oYSxiLGMpe0xlKGEsYixudWxsLGMpfSxOZT1mdW5jdGlvbihhLGIsYyl7TGUoYSxudWxsLGIsYyl9LExlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuaDtlfHwoYj09PWM/Yj1jPWVlKGIpOihiPWVlKGIpLGM9ZWUoYykpKTthLkIucHVzaChbYixjLGRdKTtlJiZJZShhKX07QmIucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1uZXcgXy5vZShmdW5jdGlvbihnLGgpe2U9ZztkPWh9KTtMZSh0aGlzLGUsZnVuY3Rpb24oZyl7ZyBpbnN0YW5jZW9mIEdlP2YuY2FuY2VsKCk6ZChnKTtyZXR1cm4gT2V9LHRoaXMpO3JldHVybiBmLnRoZW4oYSxiLGMpfTtCYi5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIFBlPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIEJiP01lKGEsKDAsXy55KShiLkssYikpOk1lKGEsZnVuY3Rpb24oKXtyZXR1cm4gYn0pfTsKQmIucHJvdG90eXBlLks9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJiO0xlKHRoaXMsYi5nLGIuRixiKTthJiYoYi5qPXRoaXMsdGhpcy5BKyspO3JldHVybiBifTsKdmFyIFFlPWZ1bmN0aW9uKGEpe3JldHVybiBfLnhjKGEuQixmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9LE9lPXt9LEllPWZ1bmN0aW9uKGEpe2lmKGEuQyYmYS5oJiZRZShhKSl7dmFyIGI9YS5DLGM9UmVbYl07YyYmKF8udi5jbGVhclRpbWVvdXQoYy5nKSxkZWxldGUgUmVbYl0pO2EuQz0wfWEuaiYmKGEuai5BLS0sZGVsZXRlIGEuaik7Yj1hLmw7Zm9yKHZhciBkPWM9ITE7YS5CLmxlbmd0aCYmIWEuRDspe3ZhciBlPWEuQi5zaGlmdCgpLGY9ZVswXSxnPWVbMV07ZT1lWzJdO2lmKGY9YS5vP2c6Zil0cnl7dmFyIGg9Zi5jYWxsKGV8fG51bGwsYik7aD09PU9lJiYoaD12b2lkIDApO2ghPT12b2lkIDAmJihhLm89YS5vJiYoaD09Ynx8aCBpbnN0YW5jZW9mIEVycm9yKSxhLmw9Yj1oKTtpZihtZShiKXx8dHlwZW9mIF8udi5Qcm9taXNlPT09ImZ1bmN0aW9uIiYmYiBpbnN0YW5jZW9mIF8udi5Qcm9taXNlKWQ9ITAsYS5EPSEwfWNhdGNoKGspe2I9CmssYS5vPSEwLFFlKGEpfHwoYz0hMCl9fWEubD1iO2QmJihoPSgwLF8ueSkoYS5JLGEsITApLGQ9KDAsXy55KShhLkksYSwhMSksYiBpbnN0YW5jZW9mIEJiPyhMZShiLGgsZCksYi5XPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IFNlKGIpLFJlW2IuZ109YixhLkM9Yi5nKX0sSmU9ZnVuY3Rpb24oKXthYS5jYWxsKHRoaXMpfTtfLkcoSmUsYWEpO0plLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCBoYXMgYWxyZWFkeSBmaXJlZCI7SmUucHJvdG90eXBlLm5hbWU9IkFscmVhZHlDYWxsZWRFcnJvciI7dmFyIEdlPWZ1bmN0aW9uKCl7YWEuY2FsbCh0aGlzKX07Xy5HKEdlLGFhKTtHZS5wcm90b3R5cGUubWVzc2FnZT0iRGVmZXJyZWQgd2FzIGNhbmNlbGVkIjtHZS5wcm90b3R5cGUubmFtZT0iQ2FuY2VsZWRFcnJvciI7dmFyIFNlPWZ1bmN0aW9uKGEpe3RoaXMuZz1fLnYuc2V0VGltZW91dCgoMCxfLnkpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLmg9YX07ClNlLnByb3RvdHlwZS50aHJvd0Vycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIFJlW3RoaXMuZ107dGhyb3cgdGhpcy5oO307dmFyIFJlPXt9O3ZhciBUZT1mdW5jdGlvbihhLGIsYyxkLGUpe2M9RXJyb3IuY2FsbCh0aGlzKTt0aGlzLm1lc3NhZ2U9Yy5tZXNzYWdlOyJzdGFjayJpbiBjJiYodGhpcy5zdGFjaz1jLnN0YWNrKTt0aGlzLm5hbWU9Ik1vZHVsZUxvYWRGYWlsdXJlIjt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1iO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9O18uQihUZSxFcnJvcik7VGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIFVlKHRoaXMpKyIgKCIrKHRoaXMuc3RhdHVzIT12b2lkIDA/dGhpcy5zdGF0dXM6Ij8iKSsiKSJ9Owp2YXIgVWU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEudHlwZSl7Y2FzZSBUZS5nLkplOnJldHVybiJVbmF1dGhvcml6ZWQiO2Nhc2UgVGUuZy5CZTpyZXR1cm4iQ29uc2VjdXRpdmUgbG9hZCBmYWlsdXJlcyI7Y2FzZSBUZS5nLlRJTUVPVVQ6cmV0dXJuIlRpbWVkIG91dCI7Y2FzZSBUZS5nLkhlOnJldHVybiJPdXQgb2YgZGF0ZSBtb2R1bGUgaWQiO2Nhc2UgVGUuZy50ZDpyZXR1cm4iSW5pdCBlcnJvciI7ZGVmYXVsdDpyZXR1cm4iVW5rbm93biBmYWlsdXJlIHR5cGUgIithLnR5cGV9fTtuYy5GYT1UZTtuYy5GYS5nPXtKZTowLEJlOjEsVElNRU9VVDoyLEhlOjMsdGQ6NH07dmFyIFZlPWZ1bmN0aW9uKCl7dmIuY2FsbCh0aGlzKTt0aGlzLkk9bnVsbDt0aGlzLmc9bmV3IE1hcDt0aGlzLm89bmV3IFNldDt0aGlzLkE9W107dGhpcy5DPW5ldyBTZXQ7dGhpcy5qPVtdO3RoaXMuQj1uZXcgU2V0O3RoaXMuaD1OYz9uZXcgTWFwOnt9O3RoaXMuSz1uZXcgTWFwO3RoaXMubD10aGlzLkQ9bmV3IG5jLkZlKFtdLCIiKTt0aGlzLkw9bnVsbDt0aGlzLkY9bmV3IEJiO3RoaXMuUj10aGlzLlQ9dGhpcy5QPXRoaXMuVz0hMX07Xy5HKFZlLHZiKTt2YXIgV2U9ZnVuY3Rpb24oYSxiKXthYS5jYWxsKHRoaXMsIkVycm9yIGxvYWRpbmcgIithKyI6ICIrYil9O18uRyhXZSxhYSk7VmUucHJvdG90eXBlLlhmPWZ1bmN0aW9uKGEpe3RoaXMuVz1hfTsKVmUucHJvdG90eXBlLnFlPWZ1bmN0aW9uKGEsYil7aWYoISh0aGlzIGluc3RhbmNlb2YgVmUpKXRoaXMucWUoYSxiKTtlbHNlIGlmKHR5cGVvZiBhPT09InN0cmluZyIpe2lmKGEuc3RhcnRzV2l0aCgiZCQiKSl7YT1hLnN1YnN0cmluZygyKTtmb3IodmFyIGM9W10sZD0wLGU9YS5pbmRleE9mKCIvIiksZj0wLGc9ITEsaD0wOzspe3ZhciBrPWc/YS5zdWJzdHJpbmcoZik6YS5zdWJzdHJpbmcoZixlKTtpZihrLmxlbmd0aD09PTApZCsrLGY9InN5IitkLnRvU3RyaW5nKDM2KSxrPVtdO2Vsc2V7dmFyIGw9ay5pbmRleE9mKCI6Iik7aWYobDwwKWY9ayxrPVtdO2Vsc2UgaWYobD09PWsubGVuZ3RoLTEpZj1rLnN1YnN0cmluZygwLGwpLGs9QXJyYXkoY1toLTFdKTtlbHNle2Y9ay5zdWJzdHJpbmcoMCxsKTtrPWsuc3Vic3RyaW5nKGwrMSkuc3BsaXQoIiwiKTtsPWg7Zm9yKHZhciBuPTA7bjxrLmxlbmd0aDtuKyspbC09a1tuXS5sZW5ndGg9PT0wPzE6TnVtYmVyKGtbbl0pLGtbbl09Y1tsXX1sPQowO2lmKGYubGVuZ3RoPT09MClsPTE7ZWxzZSBpZihmLmNoYXJBdCgwKT09PSIrInx8Zi5jaGFyQXQoMCk9PT0iLSIpbD1OdW1iZXIoZik7bCE9PTAmJihkKz1sLGY9InN5IitkLnRvU3RyaW5nKDM2KSl9Yy5wdXNoKGYpO1hlKHRoaXMsZixrKTtpZihnKWJyZWFrO2Y9ZSsxO2U9YS5pbmRleE9mKCIvIixmKTtlPT09LTEmJihnPSEwKTtoKyt9dGhpcy5JPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpWWUodGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7aD1hW2RdLnNwbGl0KCI6Iik7ZT1oWzBdO2c9W107aWYoaFsxXSlmb3IoZz1oWzFdLnNwbGl0KCIsIiksaD0wO2g8Zy5sZW5ndGg7aCsrKWdbaF09Y1twYXJzZUludChnW2hdLDM2KV07Yy5wdXNoKGUpO1hlKHRoaXMsZSxnKX10aGlzLkk9Y31pZihiJiZiLmxlbmd0aCl7YT1fLkMoYik7Zm9yKGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKXRoaXMuby5hZGQoYy52YWx1ZSk7CnRoaXMuTD1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5GLmh8fHRoaXMuRi5nKCk7T2JqZWN0LmZyZWV6ZSh0aGlzLkkpO1plKHRoaXMpfX07CnZhciBZZT1mdW5jdGlvbihhLGIpe2lmKCFZZCl7Zm9yKHZhciBjPTA7Yzw2NDtjKyspb2JbIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJDb2RlQXQoYyldPWM7WWQ9ITB9dmFyIGQ9e0hkOmIsQmI6Mn07cWIoZCk7dmFyIGU9cWIoZCksZj1xYihkKSsxO2I9QXJyYXkoZSk7Yz1BcnJheShlKTt2YXIgZz1BcnJheShlKTtmPUFycmF5KGYpO3ZhciBoPTAsaz0wLGw9ZC5IZCxuPWQuQmI7ZC5CYj1kLkhkLmluZGV4T2YoInwiLGQuQmIpKzE7Zm9yKHZhciBxPTA7cTxlO3ErKyl7dmFyIHA9cWIoZCkscj1wJjIsdD1wJjE7cD4+Pj0yO3Q/KGgrPXA+Pj4xXi0ocCYxKSxwPSJzeSIraC50b1N0cmluZygzNikpOih0PW4sbis9cCxwPWwuc3Vic3RyaW5nKHQsbikpO2JbcV09cDtyJiYoZltrKytdPXApfWZba109IiI7ZC5CYisrO2s9ZSYtMjtoPWUmMTtmb3IobD0wO2w8aztsKz0yKW49cGIoZCksZ1tsXT1uJjcsZ1tsKwoxXT1uPj4+MyY3O2gmJihoPXBiKGQpLGdba109aCY3KTtkLkJiKys7Zm9yKGs9MDtrPGU7aysrKWdba109PT03JiYoZ1trXT1xYihkKSk7ZC5CYisrO2ZvcihoPWs9MDtoPGU7aCsrKXtsPWdbaF07bj1sPT09MD9aZDpBcnJheShsKTtjW2hdPW47cT1rO2ZvcihyPTA7cjxsO3IrKylxLT1xYihkKSxuW3JdPWZbcV07ZltrXT09PWJbaF0mJmsrK31mb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKVhlKGEsYltkXSxjW2RdKTthLkk9Yn07VmUucHJvdG90eXBlLmplPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5oIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmguZ2V0KGEpO2MmJihjLmRlbGV0ZShiKSxjLnNpemU9PT0wJiZ0aGlzLmguZGVsZXRlKGEpKX1lbHNlIGlmKHRoaXMuaFthXSl7ZGVsZXRlIHRoaXMuaFthXVtiXTtmb3IoYyBpbiB0aGlzLmhbYV0pcmV0dXJuO2RlbGV0ZSB0aGlzLmhbYV19fTtWZS5wcm90b3R5cGUuc2U9ZnVuY3Rpb24oYSl7VmUuZWEuc2UuY2FsbCh0aGlzLGEpO1plKHRoaXMpfTsKVmUucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5zaXplPjB9O1ZlLnByb3RvdHlwZS5EZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIuc2l6ZT4wfTsKdmFyIGFmPWZ1bmN0aW9uKGEpe3ZhciBiPWEuUCxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoJGUoYSxjP2RlLmxnOmRlLklETEUpLGEuUD1jKTtiPWEuRGYoKTtiIT1hLlQmJigkZShhLGI/ZGUuSGc6ZGUuSWcpLGEuVD1iKX0sWGU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZy5nZXQoYik7ZD9kLmw9YzphLmcuc2V0KGIsbmV3IG5jLkZlKGMsYikpfSxkZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZT17fTtiPV8uQyhuZXcgU2V0KGIpKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5nLmdldChmKTtpZighZyl0aHJvdyBFcnJvcigiQ2AiK2YpO3ZhciBoPW5ldyBCYjtlW2ZdPWg7Zy5nP2guZyhhLnFhKTooYmYoYSxmLGcsISFjLGgpLGNmKGEsZil8fGQucHVzaChmKSl9ZC5sZW5ndGg+MCYmKGEuby5zaXplPT09MD9hLkcoZCk6KGEuai5wdXNoKGQpLGFmKGEpKSk7cmV0dXJuIGV9LGJmPWZ1bmN0aW9uKGEsYixjLGQsZSl7YWUoYywKZS5nLGUpO2JlKGMsZnVuY3Rpb24oZil7ZS5GKG5ldyBXZShiLGYpKX0pO2NmKGEsYik/ZCYmKGEuQi5hZGQoYiksYWYoYSkpOmQmJmEuQi5hZGQoYil9OwpWZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcztiPWI9PT12b2lkIDA/MDpiO3ZhciBlPWVmKHRoaXMsYSk7dGhpcy5vPW5ldyBTZXQoZSk7dGhpcy5BPXRoaXMuVz9hOl8ud2EoZSk7YWYodGhpcyk7aWYoZS5sZW5ndGghPT0wKXthPV8uQyhlKTtmb3IodmFyIGY9YS5uZXh0KCk7IWYuZG9uZTtmPWEubmV4dCgpKXRoaXMuQy5hZGQoZi52YWx1ZSk7YT10aGlzLk87aWYoIWEpdGhyb3cgRXJyb3IoIkQiKTtpZigodGhpcy5oIGluc3RhbmNlb2YgTWFwP3RoaXMuaC5zaXplPjA6T2JqZWN0LmtleXModGhpcy5oKS5sZW5ndGg+MCkmJiFhLkkpdGhyb3cgRXJyb3IoIkUiKTtmZihhLF8ud2EoZSksdGhpcy5nLHtqaDp0aGlzLmgsZmU6ZnVuY3Rpb24oZyxoLGspe3JldHVybiBnZihkLGQuQSxlLGchPW51bGw/Zzp2b2lkIDAsaCxiLCEhayl9LEZpOigwLF8ueSkodGhpcy5sYSx0aGlzKSxtaDohIWN9KX19Owp2YXIgaGY9ZnVuY3Rpb24oYSl7dGhpcy5oPWE7dGhpcy5qPW5ldyBTZXQ7dGhpcy5nPVtdfSxqZj1mdW5jdGlvbihhLGIpe2lmKCFhLmouaGFzKGIpJiYoYS5qLmFkZChiKSwhYS5oLkMuaGFzKGIpKSl7dmFyIGM9YS5oLmcuZ2V0KGIpO2lmKGMmJiFjLmcpe2M9Yy5sO2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKWpmKGEsY1tkXSk7YS5nLnB1c2goYil9fX0sZWY9ZnVuY3Rpb24oYSxiKXtiPWIuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBhLmcuZ2V0KGUpLmc/KF8udi5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIEVycm9yKCJGYCIrZSl9LDApLCExKTohMH0pO2lmKE9jKXt2YXIgYz1uZXcgaGYoYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspamYoYyxiW2RdKTtjPWMuZ31lbHNle2M9W107Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyljPWMuY29uY2F0KGtmKGEsYltkXSkpO0JhKGMpfXJldHVybiFhLlcmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEuaj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS5qKSwKW2JdKTpjfSxrZj1mdW5jdGlvbihhLGIpe2lmKE9jKXJldHVybiBhPW5ldyBoZihhKSxqZihhLGIpLGEuZzt2YXIgYz1bXTthLkMuaGFzKGIpfHxjLnB1c2goYik7Yj1bYl07Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWEuZy5nZXQoYltkXSkubCxmPWUubGVuZ3RoLTE7Zj49MDtmLS0pe3ZhciBnPWVbZl07YS5nLmdldChnKS5nfHxhLkMuaGFzKGcpfHwoYy5wdXNoKGcpLGIucHVzaChnKSl9Yy5yZXZlcnNlKCk7QmEoYyk7cmV0dXJuIGN9LFplPWZ1bmN0aW9uKGEpe2lmKGEubD09YS5EKXthLmw9bnVsbDt2YXIgYj1hLkQub25Mb2FkKCgwLF8ueSkoYS5rZixhKSk7YiYmYi5sZW5ndGgmJmxmKGEsbmV3IG5jLkZhKG5jLkZhLmcudGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpO2FmKGEpfX07ClZlLnByb3RvdHlwZS5tZD1mdW5jdGlvbigpe2lmKHRoaXMubCl7dmFyIGE9dGhpcy5sLlJhKCksYj1bXTtpZih0aGlzLmggaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuaC5nZXQoYSk7aWYoYyl7Yz1fLkMoQXJyYXkuZnJvbShjKSk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7ZD1kLnZhbHVlO3ZhciBlPXRoaXMuZy5nZXQoZCk7ZSYmIWUuZyYmKHRoaXMuamUoYSxkKSxiLnB1c2goZCkpfWRmKHRoaXMsYil9fWVsc2UgaWYodGhpcy5oW2FdKXtjPV8uQyhPYmplY3Qua2V5cyh0aGlzLmhbYV0pKTtmb3IoZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZD1kLnZhbHVlLChlPXRoaXMuZy5nZXQoZCkpJiYhZS5nJiYodGhpcy5qZShhLGQpLGIucHVzaChkKSk7ZGYodGhpcyxiKX10aGlzLnFiKCl8fCgoYj10aGlzLmcuZ2V0KGEpLm9uTG9hZCgoMCxfLnkpKHRoaXMua2YsdGhpcykpKSYmYi5sZW5ndGgmJmxmKHRoaXMsbmV3IG5jLkZhKG5jLkZhLmcudGQsCnZvaWQgMCx2b2lkIDAsdm9pZCAwLGJbMF0pKSx0aGlzLkIuZGVsZXRlKGEpLHRoaXMuby5kZWxldGUoYSksdGhpcy5vLnNpemUhPT0wfHxtZih0aGlzKSx0aGlzLkwmJmE9PXRoaXMuTCYmKHRoaXMuRi5ofHx0aGlzLkYuZygpKSxhZih0aGlzKSx0aGlzLmw9bnVsbCl9fTt2YXIgY2Y9ZnVuY3Rpb24oYSxiKXtpZihhLm8uaGFzKGIpKXJldHVybiEwO2Zvcih2YXIgYz0wO2M8YS5qLmxlbmd0aDtjKyspaWYoXy50YShhLmpbY10sYikpcmV0dXJuITA7cmV0dXJuITF9O1ZlLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGRmKHRoaXMsW2FdLGIpW2FdfTsKdmFyIGthPWZ1bmN0aW9uKGEpe3ZhciBiPV8uZGE7Yi5sJiZiLmwuUmEoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIiYmKGIubWQoKSxiLmcuZGVsZXRlKCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikpO3ZhciBjPWIuZy5nZXQoYSk7YyYmbmYoYixjLmx8fFtdLGZ1bmN0aW9uKGQpe2QubWQoKTtiLm8uZGVsZXRlKGQuUmEoKSl9LGZ1bmN0aW9uKGQpe3JldHVybiFkLmd9LG5ldyBTZXQpO2IubD1iLmcuZ2V0KGEpO2IubCYmKGIubC5CPSEwKX0sZ2Y9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9KGc9PT12b2lkIDA/MDpnKT8wOihmPT09dm9pZCAwPzA6ZikrMTtmPV8ud2EoYyk7YS5BPWI7Yz1fLkMoYyk7Zm9yKGc9Yy5uZXh0KCk7IWcuZG9uZTtnPWMubmV4dCgpKWEuQy5kZWxldGUoZy52YWx1ZSk7aWYoZD09NDAxKWxmKGEsbmV3IG5jLkZhKG5jLkZhLmcuSmUsZCkpLGEuai5sZW5ndGg9MDtlbHNlIGlmKGQ9PTQxMClvZihhLG5ldyBuYy5GYShuYy5GYS5nLkhlLApkKSksbWYoYSk7ZWxzZSBpZihoPj0zKW9mKGEsbmV3IG5jLkZhKG5jLkZhLmcuQmUsZCxmLGUpKSxtZihhKTtlbHNle3ZhciBrPWQ9PTgwMDF8fCExOyhkPU1hdGgucG93KGgsMikqNUUzKT9fLnYuc2V0VGltZW91dChmdW5jdGlvbigpe2EuRyhiLGgsayl9LGQpOmEuRyhiLGgsayl9fTtWZS5wcm90b3R5cGUubGE9ZnVuY3Rpb24oKXtvZih0aGlzLG5ldyBuYy5GYShuYy5GYS5nLlRJTUVPVVQpKTttZih0aGlzKX07CnZhciBvZj1mdW5jdGlvbihhLGIpe2EuQS5sZW5ndGg+MT9hLmo9YS5BLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS5qKTpsZihhLGIpfSxsZj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuQTthLm8uY2xlYXIoKTtmb3IodmFyIGQ9W10sZT0wO2U8YS5qLmxlbmd0aDtlKyspe3ZhciBmPWEualtlXS5maWx0ZXIoZnVuY3Rpb24oayl7dmFyIGw9a2YodGhpcyxrKTtyZXR1cm4gXy54YyhjLGZ1bmN0aW9uKG4pe3JldHVybiBfLnRhKGwsbil9KX0sYSk7eGEoZCxmKX1mb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKV8udWEoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS5qLmxlbmd0aDtmKyspXy52YShhLmpbZl0sZFtlXSk7YS5CLmRlbGV0ZShkW2VdKX1pZihlPWEuSy5nZXQoZGUuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspZm9yKHZhciBnPWVbZl0saD0wO2g8ZC5sZW5ndGg7aCsrKWcoZGUuRVJST1IsZFtoXSxiKTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKShlPQphLmcuZ2V0KGNbZF0pKSYmZS5mZShiKTthLkEubGVuZ3RoPTA7YWYoYSl9LG1mPWZ1bmN0aW9uKGEpe2Zvcig7YS5qLmxlbmd0aDspe3ZhciBiPWEuai5zaGlmdCgpLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hdGhpcy5nLmdldChjKS5nfSxhKTtpZihiLmxlbmd0aD4wKXthLkcoYik7cmV0dXJufX1hZihhKX0sJGU9ZnVuY3Rpb24oYSxiKXthPWEuSy5nZXQoYik7Zm9yKHZhciBjPTA7YSYmYzxhLmxlbmd0aDtjKyspYVtjXShiKX0sbmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uQyhiKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5nLmdldChmKTshZS5oYXMoZikmJmQoZykmJihlLmFkZChmKSxuZihhLGcubHx8W10sYyxkLGUpLGMoZykpfX07ClZlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7cmEoQXJyYXkuZnJvbSh0aGlzLmcudmFsdWVzKCkpLHRoaXMuRCk7dGhpcy5nLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5BPVtdO3RoaXMuQi5jbGVhcigpO3RoaXMuaj1bXTt0aGlzLksuY2xlYXIoKTt0aGlzLlI9ITB9O1ZlLnByb3RvdHlwZS5xYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJ9O18uaGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFZlfTt2YXIgcGY9W10scWY9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXtkJiZ3YyhkLGZ1bmN0aW9uKGUsZil7ZVtmLmlkXT0hMDtyZXR1cm4gZX0sYy5KaSl9dmFyIGM9e0ppOnt9LGluZGV4OnBmLmxlbmd0aCxWbDphfTtiKGEubGQpO2IoYS5qbSk7cGYucHVzaChjKTthLmxkJiZfLnZjKGEubGQsZnVuY3Rpb24oZCl7dmFyIGU9ZC5pZDtlIGluc3RhbmNlb2YgdGMmJmQubW9kdWxlJiYoZS5nPWQubW9kdWxlKX0pfTtxZih7bGQ6W3tpZDp1YyxMYjpuYixtdWx0aXBsZTohMH1dfSk7Xy5yZj1SZWdFeHAoIl4oPzooW146Lz8jLl0rKTopPyg/Oi8vKD86KFteXFxcXC8/I10qKUApPyhbXlxcXFwvPyNdKj8pKD86OihbMC05XSspKT8oPz1bXFxcXC8/I118JCkpPyhbXj8jXSspPyg/OlxcPyhbXiNdKikpPyg/OiMoW1xcc1xcU10qKSk/JCIpO3ZhciBzZj17fTt2YXIgdGY9bmV3IHRjKCJNcEp3WmMiLCJNcEp3WmMiKTtfLnVmPW5ldyB0YygiVVVKcVZlIiwiVVVKcVZlIik7dmFyIHZmPW5ldyBiYix3Zj1mdW5jdGlvbihhLGIsYyl7Y2IuY2FsbCh0aGlzLGEsYik7dGhpcy5ub2RlPWI7dGhpcy5raW5kPWN9O18uQih3ZixjYik7Xy54Zj1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO18ueWY9ZnVuY3Rpb24oYSxiKXtifHxfLmxiKCk7dGhpcy5oPWF8fG51bGx9O18ueWYucHJvdG90eXBlLmthPWZ1bmN0aW9uKGEsYil7YT1hKGJ8fHt9LHRoaXMuaD90aGlzLmguZ2V0RGF0YSgpOnt9KTt0aGlzLmcobnVsbCwiZnVuY3Rpb24iPT10eXBlb2YgXy56ZiYmYSBpbnN0YW5jZW9mIF8uemY/YS5aYjpudWxsKTtyZXR1cm4gU3RyaW5nKGEpfTtfLnlmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7fTt2YXIgQWY9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5oPXRoaXMuZy5nKF8udWYpfTtBZi5wcm90b3R5cGUuZ2V0RGF0YT1mdW5jdGlvbigpe3RoaXMuZy5xYigpfHwodGhpcy5oPXRoaXMuZy5nKF8udWYpKTtyZXR1cm4gdGhpcy5oP3RoaXMuaC5qKCk6e319O3ZhciBCZj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgQWYoYSk7Xy55Zi5jYWxsKHRoaXMsYixhLmdldCh1YykuaCk7dGhpcy5qPW5ldyBfLmhiO3RoaXMubD1ifTtfLkIoQmYsXy55Zik7QmYucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLmdldERhdGEoKX07QmYucHJvdG90eXBlLmc9ZnVuY3Rpb24oYSxiKXtfLnlmLnByb3RvdHlwZS5nLmNhbGwodGhpcyxhLGIpO3RoaXMuai5kaXNwYXRjaEV2ZW50KG5ldyB3Zih2ZixhLGIpKX07Xy5vYSh0ZixCZik7cWYoe2xkOlt7aWQ6dGYsTGI6QmYsbXVsdGlwbGU6ITB9XX0pO3ZhciBDZj1mdW5jdGlvbihhLGIpe3RoaXMuZGVmYXVsdFZhbHVlPWE7dGhpcy50eXBlPWI7dGhpcy52YWx1ZT1hfTtDZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O0NmLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSl7dGhpcy52YWx1ZT1hfTt2YXIgRGY9ZnVuY3Rpb24oYSl7Q2YuY2FsbCh0aGlzLGEsImIiKX07Xy5CKERmLENmKTtEZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O3ZhciBFZj1mdW5jdGlvbigpe3RoaXMuZz17fTt0aGlzLmo9IiI7dGhpcy5oPXt9fTtFZi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmorRmYodGhpcyk7dmFyIGI9dGhpcy5oO3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilGYihkLGJbZF0sYyk7Yj1jLmpvaW4oIiYiKTtjPSIiO2IhPSIiJiYoYz0iPyIrYik7cmV0dXJuIGErY307CnZhciBIZj1mdW5jdGlvbihhKXthPUdmKGEsIm1kIik7cmV0dXJuISFhJiZhIT09IjAifSxGZj1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPWZ1bmN0aW9uKGQpe2EuZ1tkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EuZ1tkXSl9O0hmKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5nfHxJZihhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuZy5leGNtfHxhLmcuZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksR2YoYSwiYnIiKSE9IjEiJiZHZihhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLEdmKGEsInJiIik9PSIxIiYmYygicmIiKSxHZihhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLEpmKGEpIT09IiImJgpjKCJ3dCIpLGMoImdzc21vZHVsZXNldHByb3RvIiksYygidWpnIiksYygic3AiKSxjKCJpY2hjIiksYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9LEdmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuZ1tiXT9hLmdbYl06bnVsbH0sSWY9ZnVuY3Rpb24oYSxiLGMpe2M/YS5nW2JdPWM6ZGVsZXRlIGEuZ1tiXX0sSmY9ZnVuY3Rpb24oYSl7c3dpdGNoKEdmKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fSxNZj1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9S2YoYSksZD1uZXcgRWYsZT1jLm1hdGNoKF8ucmYpWzVdO18uemMoTGYsZnVuY3Rpb24oZyl7dmFyIGg9ZS5tYXRjaCgiLyIrZysiPShbXi9dKykiKTtoJiZJZihkLGcsaFsxXSl9KTsKdmFyIGY9IiI7Zj1hLmluZGV4T2YoIl8vc3MvIikhPS0xPyJfL3NzLyI6Il8vanMvIjtkLmo9YS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpO2lmKCFiKXJldHVybiBkOyhhPWMubWF0Y2goXy5yZilbNl18fG51bGwpJiZfLkViKGEsZnVuY3Rpb24oZyxoKXtkLmhbZ109aH0pO3JldHVybiBkfSxLZj1mdW5jdGlvbihhKXtyZXR1cm4gYS5zdGFydHNXaXRoKCJodHRwczovL3ViZXJwcm94eS1wZW4tcmVkaXJlY3QuY29ycC5nb29nbGUuY29tL3ViZXJwcm94eS9wZW4/dXJsPSIpP2Euc3Vic3RyKDY1KTphfSxMZj17Wmo6ImsiLHFqOiJjayIsVGo6Im0iLERqOiJleG0iLEJqOiJleGNtIixlajoiYW0iLGZqOiJhbWMiLFJqOiJtbSIsWWo6InJ0IixNajoiZCIsQ2o6ImVkIixqazoic3YiLHNqOiJkZW9iIixtajoiY2IiLG9qOiJjY2IiLG5qOiJjYmkiLGdrOiJycyIsYWs6InNkY2giLE5qOiJpbSIsdGo6ImRnIix6ajoiYnIiLHlqOiJici1kIixBajoicmIiLEJrOiJ6cyIsQWs6Ind0IiwKRWo6ImVlIixpazoic20iLFNqOiJtZCIsSmo6Imdzc21vZHVsZXNldHByb3RvIix5azoidWpnIix4azoic3AiLExqOiJpY2hjIixmazoic2xrIix2ajoiZHRpIix1ajoiZGJ3aCIsT2o6ImljIn0sTmY9UmVnRXhwKCJeW2EtekEtWjAtOS1fKl0rJCIpO18uRyhfLkhiLF8udSk7dmFyIE9mPVtdO18uSGIucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIFBmKHRoaXMsYSxiLGMsZCl9O3ZhciBQZj1mdW5jdGlvbihhLGIsYyxkLGUsZil7QXJyYXkuaXNBcnJheShjKXx8KGMmJihPZlswXT1jLnRvU3RyaW5nKCkpLGM9T2YpO2Zvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKXt2YXIgaD1fLngoYixjW2ddLGR8fGEuaGFuZGxlRXZlbnQsZXx8ITEsZnx8YS5ofHxhKTtpZighaClicmVhazthLmdbaC5rZXldPWh9cmV0dXJuIGF9O18uSGIucHJvdG90eXBlLmFlPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBRZih0aGlzLGEsYixjLGQpfTsKdmFyIFFmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihBcnJheS5pc0FycmF5KGMpKWZvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKVFmKGEsYixjW2ddLGQsZSxmKTtlbHNle2I9Xy5OZChiLGMsZHx8YS5oYW5kbGVFdmVudCxlLGZ8fGEuaHx8YSk7aWYoIWIpcmV0dXJuIGE7YS5nW2Iua2V5XT1ifXJldHVybiBhfTtfLkhiLnByb3RvdHlwZS55Yz1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspdGhpcy55YyhhLGJbZl0sYyxkLGUpO2Vsc2UgYz1jfHx0aGlzLmhhbmRsZUV2ZW50LGQ9Xy55YShkKT8hIWQuY2FwdHVyZTohIWQsZT1lfHx0aGlzLmh8fHRoaXMsYz1PZChjKSxkPSEhZCxiPUZkKGEpP2EuamMoYixjLGQsZSk6YT8oYT1RZChhKSk/YS5qYyhiLGMsZCxlKTpudWxsOm51bGwsYiYmKF8uVmQoYiksZGVsZXRlIHRoaXMuZ1tiLmtleV0pO3JldHVybiB0aGlzfTsKXy5SZj1mdW5jdGlvbihhKXtfLnpjKGEuZyxmdW5jdGlvbihiLGMpe3RoaXMuZy5oYXNPd25Qcm9wZXJ0eShjKSYmXy5WZChiKX0sYSk7YS5nPXt9fTtfLkhiLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5IYi5lYS5NLmNhbGwodGhpcyk7Xy5SZih0aGlzKX07Xy5IYi5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTiIpO307dmFyIFNmLFRmPWZ1bmN0aW9uKCl7fTtfLkcoVGYsSWIpO1RmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07U2Y9bmV3IFRmO18uRyhKYixJYik7SmIucHJvdG90eXBlLmc9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoIndpdGhDcmVkZW50aWFscyJpbiBhKXJldHVybiBhO2lmKHR5cGVvZiBYRG9tYWluUmVxdWVzdCE9InVuZGVmaW5lZCIpcmV0dXJuIG5ldyBVZjt0aHJvdyBFcnJvcigiTyIpO307dmFyIFVmPWZ1bmN0aW9uKCl7dGhpcy5nPW5ldyBYRG9tYWluUmVxdWVzdDt0aGlzLnJlYWR5U3RhdGU9MDt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMucmVzcG9uc2VUeXBlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuc3RhdHVzPS0xO3RoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLmcub25sb2FkPSgwLF8ueSkodGhpcy5QaCx0aGlzKTt0aGlzLmcub25lcnJvcj0oMCxfLnkpKHRoaXMuRGUsdGhpcyk7dGhpcy5nLm9ucHJvZ3Jlc3M9KDAsXy55KSh0aGlzLlNoLHRoaXMpO3RoaXMuZy5vbnRpbWVvdXQ9KDAsXy55KSh0aGlzLldoLHRoaXMpfTtfLm09VWYucHJvdG90eXBlOwpfLm0ub3Blbj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCYmIWMpdGhyb3cgRXJyb3IoIlAiKTt0aGlzLmcub3BlbihhLGIpfTtfLm0uc2VuZD1mdW5jdGlvbihhKXtpZihhKWlmKHR5cGVvZiBhPT0ic3RyaW5nIil0aGlzLmcuc2VuZChhKTtlbHNlIHRocm93IEVycm9yKCJRIik7ZWxzZSB0aGlzLmcuc2VuZCgpfTtfLm0uYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLmcuYWJvcnQoKX07Xy5tLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24oKXt9O18ubS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbihhKXtyZXR1cm4gYS50b0xvd2VyQ2FzZSgpPT0iY29udGVudC10eXBlIj90aGlzLmcuY29udGVudFR5cGU6IiJ9O18ubS5QaD1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTIwMDt0aGlzLnJlc3BvbnNlVGV4dD10aGlzLmcucmVzcG9uc2VUZXh0O1ZmKHRoaXMsNCl9O18ubS5EZT1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTUwMDt0aGlzLnJlc3BvbnNlVGV4dD0iIjtWZih0aGlzLDQpfTsKXy5tLldoPWZ1bmN0aW9uKCl7dGhpcy5EZSgpfTtfLm0uU2g9ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cz0yMDA7VmYodGhpcywxKX07dmFyIFZmPWZ1bmN0aW9uKGEsYil7YS5yZWFkeVN0YXRlPWI7aWYoYS5vbnJlYWR5c3RhdGVjaGFuZ2UpYS5vbnJlYWR5c3RhdGVjaGFuZ2UoKX07VWYucHJvdG90eXBlLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe3JldHVybiJjb250ZW50LXR5cGU6ICIrdGhpcy5nLmNvbnRlbnRUeXBlfTt2YXIgWGYsWWY7Xy5XZj1mdW5jdGlvbihhKXtfLmhiLmNhbGwodGhpcyk7dGhpcy5oZWFkZXJzPW5ldyBNYXA7dGhpcy5LPWF8fG51bGw7dGhpcy5oPSExO3RoaXMuZz1udWxsO3RoaXMuQT0iIjt0aGlzLmo9dGhpcy5GPXRoaXMubz10aGlzLkQ9ITE7dGhpcy5CPTA7dGhpcy5sPW51bGw7dGhpcy5JPSIiO3RoaXMuQz0hMX07Xy5HKF8uV2YsXy5oYik7WGY9L15odHRwcz8kL2k7WWY9WyJQT1NUIiwiUFVUIl07Xy5aZj1bXTtfLldmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCk7Xy52YShfLlpmLHRoaXMpfTsKXy5XZi5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhLGIsYyxkKXtpZih0aGlzLmcpdGhyb3cgRXJyb3IoIlNgIit0aGlzLkErImAiK2EpO2I9Yj9iLnRvVXBwZXJDYXNlKCk6IkdFVCI7dGhpcy5BPWE7dGhpcy5EPSExO3RoaXMuaD0hMDt0aGlzLmc9dGhpcy5LP3RoaXMuSy5nKCk6U2YuZygpO3RoaXMuZy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZWUoKDAsXy55KSh0aGlzLkcsdGhpcykpO3RyeXt0aGlzLkY9ITAsdGhpcy5nLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuRj0hMX1jYXRjaChnKXskZih0aGlzKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKXtlPV8uQyhkLmtleXMoKSk7Zm9yKHZhciBmPWUubmV4dCgpOyFmLmRvbmU7Zj0KZS5uZXh0KCkpZj1mLnZhbHVlLGMuc2V0KGYsZC5nZXQoZikpfWVsc2UgdGhyb3cgRXJyb3IoIlRgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmdW5jdGlvbihnKXtyZXR1cm4iY29udGVudC10eXBlIj09Zy50b0xvd2VyQ2FzZSgpfSk7ZT1fLnYuRm9ybURhdGEmJmEgaW5zdGFuY2VvZiBfLnYuRm9ybURhdGE7IV8udGEoWWYsYil8fGR8fGV8fGMuc2V0KCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCIpO2I9Xy5DKGMpO2ZvcihkPWIubmV4dCgpOyFkLmRvbmU7ZD1iLm5leHQoKSljPV8uQyhkLnZhbHVlKSxkPWMubmV4dCgpLnZhbHVlLGM9Yy5uZXh0KCkudmFsdWUsdGhpcy5nLnNldFJlcXVlc3RIZWFkZXIoZCxjKTt0aGlzLkkmJih0aGlzLmcucmVzcG9uc2VUeXBlPXRoaXMuSSk7IndpdGhDcmVkZW50aWFscyJpbiB0aGlzLmcmJnRoaXMuZy53aXRoQ3JlZGVudGlhbHMhPT10aGlzLkMmJgoodGhpcy5nLndpdGhDcmVkZW50aWFscz10aGlzLkMpO3RyeXt0aGlzLmwmJihjbGVhclRpbWVvdXQodGhpcy5sKSx0aGlzLmw9bnVsbCksdGhpcy5CPjAmJih0aGlzLmw9c2V0VGltZW91dCh0aGlzLlIuYmluZCh0aGlzKSx0aGlzLkIpKSx0aGlzLm89ITAsdGhpcy5nLnNlbmQoYSksdGhpcy5vPSExfWNhdGNoKGcpeyRmKHRoaXMpfX07Xy5XZi5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3R5cGVvZiBqYyE9InVuZGVmaW5lZCImJnRoaXMuZyYmKHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTt2YXIgJGY9ZnVuY3Rpb24oYSl7YS5oPSExO2EuZyYmKGEuaj0hMCxhLmcuYWJvcnQoKSxhLmo9ITEpO2RnKGEpO2VnKGEpfSxkZz1mdW5jdGlvbihhKXthLkR8fChhLkQ9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9OwpfLldmLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuZyYmdGhpcy5oJiYodGhpcy5oPSExLHRoaXMuaj0hMCx0aGlzLmcuYWJvcnQoKSx0aGlzLmo9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxlZyh0aGlzKSl9O18uV2YucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmgmJih0aGlzLmg9ITEsdGhpcy5qPSEwLHRoaXMuZy5hYm9ydCgpLHRoaXMuaj0hMSksZWcodGhpcywhMCkpO18uV2YuZWEuTS5jYWxsKHRoaXMpfTtfLldmLnByb3RvdHlwZS5HPWZ1bmN0aW9uKCl7dGhpcy5xYigpfHwodGhpcy5GfHx0aGlzLm98fHRoaXMuaj9mZyh0aGlzKTp0aGlzLk8oKSl9O18uV2YucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtmZyh0aGlzKX07CnZhciBmZz1mdW5jdGlvbihhKXtpZihhLmgmJnR5cGVvZiBqYyE9InVuZGVmaW5lZCIpaWYoYS5vJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPT00KXNldFRpbWVvdXQoYS5HLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSwoYS5nP2EuZy5yZWFkeVN0YXRlOjApPT00KXthLmg9ITE7dHJ5e18uZ2coYSk/KGEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKSk6ZGcoYSl9ZmluYWxseXtlZyhhKX19fSxlZz1mdW5jdGlvbihhLGIpe2lmKGEuZyl7YS5sJiYoY2xlYXJUaW1lb3V0KGEubCksYS5sPW51bGwpO3ZhciBjPWEuZzthLmc9bnVsbDtifHxhLmRpc3BhdGNoRXZlbnQoInJlYWR5Iik7dHJ5e2Mub25yZWFkeXN0YXRlY2hhbmdlPW51bGx9Y2F0Y2goZCl7fX19O18uV2YucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLmd9OwpfLmdnPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaGcoYSk7YTpzd2l0Y2goYil7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnZhciBjPSEwO2JyZWFrIGE7ZGVmYXVsdDpjPSExfWlmKCFjKXtpZihiPWI9PT0wKWE9U3RyaW5nKGEuQSkubWF0Y2goXy5yZilbMV18fG51bGwsIWEmJl8udi5zZWxmJiZfLnYuc2VsZi5sb2NhdGlvbiYmKGE9Xy52LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpLGI9IVhmLnRlc3QoYT9hLnRvTG93ZXJDYXNlKCk6IiIpO2M9Yn1yZXR1cm4gY307Xy5oZz1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEuZz9hLmcucmVhZHlTdGF0ZTowKT4yP2EuZy5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTtfLmlnPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nP2EuZy5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goYil7cmV0dXJuIiJ9fTt2YXIga2c9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dGhpcy5GPWE7dGhpcy5CPU1mKGEpO3RoaXMubD10aGlzLm89bnVsbDt0aGlzLkk9ITA7dGhpcy5oPW5ldyBfLkhiKHRoaXMpO3RoaXMuRz1bXTt0aGlzLkE9bmV3IFNldDt0aGlzLmc9W107dGhpcy5LPW5ldyBqZzt0aGlzLmo9W107dGhpcy5DPSExO2E9KDAsXy55KSh0aGlzLkQsdGhpcyk7c2YudmVyc2lvbj1hfTtfLkIoa2csXy51KTsKdmFyIGxnPWZ1bmN0aW9uKGEsYil7YS5nLmxlbmd0aCYmUGUoYixhLmdbYS5nLmxlbmd0aC0xXSk7YS5nLnB1c2goYik7TWUoYixmdW5jdGlvbigpe18udmEodGhpcy5nLGIpfSxhKX0sZmY9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZD09PXZvaWQgMD97fTpkO3ZhciBmPWUuamg7ZD1lLm1oO3ZhciBnPWUuZmU7ZT1lLkZpO2I9bWcoYSxiLGMsZixkKTtuZyhhLGIsZyxlLGQpfSxtZz1mdW5jdGlvbihhLGIsYyxkLGUpe2Q9ZD09PXZvaWQgMD9OYz9uZXcgTWFwOnt9OmQ7dmFyIGY9W107b2coYSxiLGMsZCxlPT09dm9pZCAwPyExOmUsZnVuY3Rpb24oZyl7Zi5wdXNoKGcuUmEoKSl9KTtyZXR1cm4gZn0sb2c9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Zz1nPT09dm9pZCAwP3t9Omc7Yj1fLkMoYik7Zm9yKHZhciBoPWIubmV4dCgpOyFoLmRvbmU7aD1iLm5leHQoKSl7dmFyIGs9aC52YWx1ZTtoPWMuZ2V0KGspOyFlJiYoYS5BLmhhcyhrKXx8aC5nKXx8Z1trXXx8KGdba109ITAsaz1kIGluc3RhbmNlb2YKTWFwPyhrPWQuZ2V0KGspKT9BcnJheS5mcm9tKGspOltdOmRba10/T2JqZWN0LmtleXMoZFtrXSk6W10sb2coYSxoLmwuY29uY2F0KGspLGMsZCxlLGYsZyksZihoKSl9fSxuZz1mdW5jdGlvbihhLGIsYyxkLGUpe2U9ZT09PXZvaWQgMD8hMTplO3ZhciBmPVtdLGc9bmV3IEJiO2I9W2JdO2Zvcih2YXIgaD1mdW5jdGlvbihxLHApe2Zvcih2YXIgcj1bXSx0PTAsQT1NYXRoLmZsb29yKHEubGVuZ3RoL3ApKzEsRD0wO0Q8cDtEKyspe3ZhciBFPShEKzEpKkE7ci5wdXNoKHEuc2xpY2UodCxFKSk7dD1FfXJldHVybiByfSxrPWIuc2hpZnQoKTtrOyl7dmFyIGw9cGcoYSxrLCEhZSwhMCk7aWYobC5sZW5ndGg8PTJFMyl7aWYoaz1yZyhhLGssZSkpZi5wdXNoKGspLFBlKGcsay5nKX1lbHNlIGI9aChrLE1hdGguY2VpbChsLmxlbmd0aC8yRTMpKS5jb25jYXQoYik7az1iLnNoaWZ0KCl9dmFyIG49bmV3IEJiO2xnKGEsbik7TWUobixmdW5jdGlvbigpe3JldHVybiBzZyhhLGYsYyxkKX0pO05lKG4sCmZ1bmN0aW9uKCl7dmFyIHE9bmV3IHRnO3Euaj0hMDtxLmg9LTE7c2codGhpcyxbcV0sYyxkKX0sYSk7TWUoZyxmdW5jdGlvbigpe3JldHVybiBuLmcoKX0pO2cuZygpfSxyZz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cGcoYSxiLCEoYz09PXZvaWQgMHx8IWMpKTthLkcucHVzaChkKTtiPV8uQyhiKTtmb3IoYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5BLmFkZChjLnZhbHVlKTtpZihhLkMpYT1fLndkKGRvY3VtZW50LCJTQ1JJUFQiKSxfLlNhKGEsXy5MYihkKSksYS50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLGEuYXN5bmM9ITEsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtlbHNle3ZhciBlPW5ldyB0ZyxmPW5ldyBfLldmKGEuai5sZW5ndGg+MD9uZXcgSmI6dm9pZCAwKTthLmguTihmLCJzdWNjZXNzIiwoMCxfLnkpKGUuQixlLGYpKTthLmguTihmLCJlcnJvciIsKDAsXy55KShlLkEsZSxmKSk7YS5oLk4oZiwidGltZW91dCIsKDAsXy55KShlLkMsZSkpO1BmKGEuaCwKZiwicmVhZHkiLGYuZGlzcG9zZSwhMSxmKTtmLkI9M0U0O3VnKGEuSyxmdW5jdGlvbigpe2Yuc2VuZChkKTtyZXR1cm4gZS5nfSk7cmV0dXJuIGV9cmV0dXJuIG51bGx9LHNnPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT0hMSxmLGc9ITEsaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgaz1iW2hdO2lmKCFmJiZrLmope2U9ITA7Zj1rLmg7YnJlYWt9ZWxzZSBrLmwmJihnPSEwKX1oPV8ud2EoYS5nKTsoZXx8ZykmJmYhPS0xJiYoYS5nLmxlbmd0aD0wKTtpZihlKWMmJmMoZik7ZWxzZSBpZihnKWQmJmQoKTtlbHNlIGZvcihhPTA7YTxiLmxlbmd0aDthKyspZD1iW2FdLHZnKGQubyxkLkNhKXx8YyYmYyg4MDAxKTsoZXx8ZykmJmYhPS0xJiZfLnZjKGgsZnVuY3Rpb24obCl7bC5jYW5jZWwoKX0pfTtrZy5wcm90b3R5cGUuTT1mdW5jdGlvbigpe3RoaXMuaC5kaXNwb3NlKCk7ZGVsZXRlIHNmLnZlcnNpb247Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyl9OwprZy5wcm90b3R5cGUuRD1mdW5jdGlvbigpe3JldHVybiBHZih0aGlzLkIsImsiKX07CnZhciBwZz1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT1fLkNiKGEuRi5tYXRjaChfLnJmKVszXXx8bnVsbCk7aWYoYS5qLmxlbmd0aD4wJiYhXy50YShhLmosZSkmJmUhPW51bGwmJndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSE9ZSl0aHJvdyBFcnJvcigiV2AiK2UpO3ZhciBmPWEuQjtlPW5ldyBFZjtlLmc9T2JqZWN0LmFzc2lnbih7fSxmLmcpO2Uuaj1mLmo7ZS5oPU9iamVjdC5hc3NpZ24oe30sZi5oKTtkZWxldGUgZS5nLm07ZGVsZXRlIGUuZy5leG07ZGVsZXRlIGUuZy5lZDtpZihiKXtmPV8uQyhiKTtmb3IodmFyIGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWlmKGc9Zy52YWx1ZSwhTmYudGVzdChnKSl0aHJvdyBFcnJvcigiTWAiK2cpO31JZihlLCJtIixiLmpvaW4oIiwiKSk7YS5vJiYoSWYoZSwiY2siLGEubyksYS5sJiZJZihlLCJycyIsYS5sKSk7SWYoZSwiZCIsIjAiKTtjJiYoZS5oLnp4PU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoKMjE0NzQ4MzY0OCkudG9TdHJpbmcoMzYpK01hdGguYWJzKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMTQ3NDgzNjQ4KV5EYXRlLm5vdygpKS50b1N0cmluZygzNikpO2E9ZS50b1N0cmluZygpO2QmJmEubGFzdEluZGV4T2YoIi8iLDApPT0wJiYoZT1kb2N1bWVudC5sb2NhdGlvbi5ocmVmLm1hdGNoKF8ucmYpLGQ9ZVsxXSxiPWVbMl0sYz1lWzNdLGU9ZVs0XSxmPSIiLGQmJihmKz1kKyI6IiksYyYmKGYrPSIvLyIsYiYmKGYrPWIrIkAiKSxmKz1jLGUmJihmKz0iOiIrZSkpLGE9ZithKTtyZXR1cm4gYX0sdmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtpZihhLmxlbmd0aD4xJiZhLmNoYXJBdChhLmxlbmd0aC0xKT09PSJcbiIpe3ZhciBkPWEubGFzdEluZGV4T2YoIlxuIixhLmxlbmd0aC0yKTtkPj0wJiYoYz1hLnN1YnN0cmluZyhkKzEsYS5sZW5ndGgtMSkpfWQ9Yy5sZW5ndGgtMTE7aWYoZD49MCYmYy5pbmRleE9mKCJHb29nbGUgSW5jLiIsZCk9PWR8fGMubGFzdEluZGV4T2YoIi8vIyBzb3VyY2VNYXBwaW5nVVJMPSIsCjApPT0wKXRyeXtjPXdpbmRvdzthPWErIlxyXG4vLyMgc291cmNlVVJMPSIrYjthPV8uS2IoYSk7dmFyIGU9Xy5RYShhKTt2YXIgZj1fLlJhKGUpO2MuZXZhbChmKT09PWYmJmMuZXZhbChmLnRvU3RyaW5nKCkpfWNhdGNoKGcpe3JldHVybiExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9LHdnPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ2IoYS5tYXRjaChfLnJmKVs1XXx8bnVsbCl8fCIiO2I9Xy5DYihLZihiKS5tYXRjaChfLnJmKVs1XXx8bnVsbCk7cmV0dXJuKGI9PT1udWxsPzA6UmVnRXhwKCIoL18vanMvKXwoL18vc3MvKSIsImciKS50ZXN0KGIpJiYvXC9rPS8udGVzdChiKSk/YTpudWxsfSx0Zz1mdW5jdGlvbigpe3RoaXMuZz1uZXcgQmI7dGhpcy5DYT10aGlzLm89IiI7dGhpcy5qPSExO3RoaXMuaD0wO3RoaXMubD0hMX07dGcucHJvdG90eXBlLkI9ZnVuY3Rpb24oYSl7dGhpcy5vPV8uaWcoYSk7dGhpcy5DYT1TdHJpbmcoYS5BKTt0aGlzLmcuZygpfTsKdGcucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSl7dGhpcy5qPSEwO3RoaXMuaD1fLmhnKGEpO3RoaXMuZy5nKCl9O3RnLnByb3RvdHlwZS5DPWZ1bmN0aW9uKCl7dGhpcy5sPSEwO3RoaXMuZy5nKCl9O3ZhciBqZz1mdW5jdGlvbigpe3RoaXMuZz0wO3RoaXMuaD1bXX0sdWc9ZnVuY3Rpb24oYSxiKXthLmgucHVzaChiKTt4ZyhhKX0seGc9ZnVuY3Rpb24oYSl7Zm9yKDthLmc8NSYmYS5oLmxlbmd0aDspeWcoYSxhLmguc2hpZnQoKSl9LHlnPWZ1bmN0aW9uKGEsYil7YS5nKys7TWUoYigpLGZ1bmN0aW9uKCl7dGhpcy5nLS07eGcodGhpcyl9LGEpfTt2YXIgemc9bmV3IERmKCExKSxBZz1kb2N1bWVudC5sb2NhdGlvbi5ocmVmOwpxZih7ZmxhZ3M6e2RtbDp6Z30saW5pdGlhbGl6ZTpmdW5jdGlvbihhKXt2YXIgYj16Zy5nZXQoKSxjPSIiLGQ9IiI7d2luZG93JiZ3aW5kb3cuX0ZfY3NzUm93S2V5JiYoYz13aW5kb3cuX0ZfY3NzUm93S2V5LHdpbmRvdy5fRl9jb21iaW5lZFNpZ25hdHVyZSYmKGQ9d2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlKSk7aWYoYyYmdHlwZW9mIHdpbmRvdy5fRl9pbnN0YWxsQ3NzIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiVSIpO3ZhciBlLGY9Xy52Ll9GX2pzVXJsO2YmJihlPXdnKGYpKTshZSYmKGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhc2UtanMiKSkmJihlPWYuc3JjP2Yuc3JjOmYuZ2V0QXR0cmlidXRlKCJocmVmIiksZT13ZyhlKSk7ZXx8KGU9d2coQWcpKTtlfHwoZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksZT13ZyhlW2UubGVuZ3RoLTFdLnNyYykpO2lmKCFlKXRocm93IEVycm9yKCJWIik7ZT1uZXcga2coZSk7YyYmKGUubz1jKTsKZCYmKGUubD1kKTtlLkM9YjtiPWphKCk7Yi5PPWU7Yi5YZighMCk7Yj1qYSgpO2Iuc2UoYSk7YS5qKGIpfX0pOwpfLl9Nb2R1bGVNYW5hZ2VyX2luaXRpYWxpemU9ZnVuY3Rpb24oYSxiKXtpZighXy5kYSl7aWYoIV8uaGEpcmV0dXJuO18uaWEoKX1fLmRhLnFlKGEsYil9OwpfLl9Nb2R1bGVNYW5hZ2VyX2luaXRpYWxpemUoJ2IvbjczcXdmL1VVSnFWZS9NcEp3WmMvZWxfY29uZi9lbF9tYWluX2Nzcy9zeTEvc3kyOjYvc3kzOjcvc3k0OjYvZWxfbWFpbjo1LDgsOS9jb3JzcHJveHkvd2Vic2l0ZV9lcnJvci9uYXZpZ2F0aW9udWk6Ny9waGlzaGluZ19wcm90ZWN0aW9uOjgvX3N0YW06OScsWydlbF9jb25mJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmxhKCJlbF9jb25mIik7CnZhciBDZztfLl9leHBvcnRWZXJzaW9uPWZ1bmN0aW9uKGEpe18ucmMoImdvb2dsZS50cmFuc2xhdGUudiIsYSl9O18uX2dldENhbGxiYWNrRnVuY3Rpb249ZnVuY3Rpb24oYSl7cmV0dXJuIF8ua2MoYSl9O0NnPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07Ynx8KGI9ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImhlYWQiKSkpO2IuYXBwZW5kQ2hpbGQoYSl9O18uX2xvYWRKcz1mdW5jdGlvbihhKXt2YXIgYj1fLndkKGRvY3VtZW50LCJTQ1JJUFQiKTtiLnR5cGU9InRleHQvamF2YXNjcmlwdCI7Yi5jaGFyc2V0PSJVVEYtOCI7Xy5TYShiLF8uTGIoYSkpO0NnKGIpfTsKXy5fbG9hZENzcz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi50eXBlPSJ0ZXh0L2NzcyI7Yi5yZWw9InN0eWxlc2hlZXQiO2IuY2hhcnNldD0iVVRGLTgiO2IuaHJlZj1hO0NnKGIpfTtfLl9pc05TPWZ1bmN0aW9uKGEpe2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgYj13aW5kb3csYz0wO2M8YS5sZW5ndGg7KytjKWlmKCEoYj1iW2FbY11dKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5fc2V0dXBOUz1mdW5jdGlvbihhKXthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyliLmhhc093blByb3BlcnR5P2IuaGFzT3duUHJvcGVydHkoYVtjXSk/Yj1iW2FbY11dOmI9YlthW2NdXT17fTpiPWJbYVtjXV18fChiW2FbY11dPXt9KTtyZXR1cm4gYn07Xy5yYygiX2V4cG9ydFZlcnNpb24iLF8uX2V4cG9ydFZlcnNpb24pO18ucmMoIl9nZXRDYWxsYmFja0Z1bmN0aW9uIixfLl9nZXRDYWxsYmFja0Z1bmN0aW9uKTsKXy5yYygiX2xvYWRKcyIsXy5fbG9hZEpzKTtfLnJjKCJfbG9hZENzcyIsXy5fbG9hZENzcyk7Xy5yYygiX2lzTlMiLF8uX2lzTlMpO18ucmMoIl9zZXR1cE5TIixfLl9zZXR1cE5TKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmdHlwZW9mIGRvY3VtZW50LnJlYWR5U3RhdGU9PSJ1bmRlZmluZWQiJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5yZWFkeVN0YXRlPSJjb21wbGV0ZSJ9LCExKTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCgovLyMgc291cmNlVVJMPS9fL3RyYW5zbGF0ZV9odHRwL18vanMvaz10cmFuc2xhdGVfaHR0cC50ci5uby5zY3JuWTZRMl95dy5PL2FtPUJJQUFCdy9kPTEvcnM9QU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1dy9tPWVsX2NvbmYKICAgIC8vIENvbmZpZ3VyZSBDb25zdGFudHMKICAgIChmdW5jdGlvbigpewogICAgICBsZXQgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSBuZXcgRGF0ZSgpOwogICAgICBpZiAoX2lzTlMoJ2dvb2dsZS50cmFuc2xhdGUuRWxlbWVudCcpKXtyZXR1cm59CgogICAgICAoZnVuY3Rpb24oKXsKICAgICAgICBjb25zdCBjPV9zZXR1cE5TKCdnb29nbGUudHJhbnNsYXRlLl9jb25zdCcpOwoKICAgICAgICBjLl9jZXN0ID0gZ3RDb25zdEV2YWxTdGFydFRpbWU7CiAgICAgICAgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSB1bmRlZmluZWQ7IC8vIGhpZGUgdGhpcyBldmFsIHN0YXJ0IHRpbWUgY29uc3RhbnQKICBjLl9jbD0nbm8nOyBjLl9jdWM9J2dvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0JzsgYy5fY2VmPSdceDViMCwxLDAsXHg1Ylx4MjJlc19lblx4MjIsXHgyMmVuX3poXHgyMixceDIyZW5fZGVceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2VzXHgyMixceDIyZGVfZW5ceDIyXHg1ZCxudWxsLFx4NWIwLDMsMTAwLFx4NWJceDIyZW5faGlceDIyLFx4MjJoaV9lblx4MjIsXHgyMmVuX2VzXHgyMixceDIyZXNfZW5ceDIyLFx4MjJlbl9kZVx4MjIsXHgyMmRlX2VuXHgyMixceDIyZW5femhceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2FyXHgyMixceDIyZW5faWRceDIyXHg1ZFx4NWQsMCwxLDBceDVkJzsgYy5fY2FjPScnOyBjLl9jYW09Jyc7IGMuX2NlbnY9J3Byb2QnO2MuX2NsbD0nSU5GTyc7IGMuX2NnYWs9Jyc7IGMuX2N0a2s9JzQ5NTg3MS42MDk4NTYxMzknOyBjb25zdCBoPSd0cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBvcGg9J3RyYW5zbGF0ZS1wYS5nb29nbGVhcGlzLmNvbSc7IGNvbnN0IHM9J2h0dHBzJysnOi8vJzsgYy5fcGFoPWg7IGMuX3Bhcz1zOyBjb25zdCBiPXMrJ3RyYW5zbGF0ZS5nb29nbGVhcGlzLmNvbSc7IGNvbnN0IHN0YXRpY1BhdGggPSAnL3RyYW5zbGF0ZV9zdGF0aWMvJzsgYy5fcGNpPWIrc3RhdGljUGF0aCsnaW1nL3RlX2N0cmwzLmdpZic7IGMuX3BtaT1iK3N0YXRpY1BhdGgrJ2ltZy9taW5pX2dvb2dsZS5wbmcnOyBjLl9wYmk9YitzdGF0aWNQYXRoKydpbWcvdGVfYmsuZ2lmJzsgYy5fcGxpPWIrc3RhdGljUGF0aCsnaW1nL2xvYWRpbmcuZ2lmJzsgYy5fcHM9J2h0dHBzOlwvXC93d3cuZ3N0YXRpYy5jb21cL19cL3RyYW5zbGF0ZV9odHRwXC9fXC9zc1wva1x4M2R0cmFuc2xhdGVfaHR0cC50ci5CN0RpaDlKeWpudy5MLkY0Lk9cL2FtXHgzZEJJQUFCd1wvZFx4M2QwXC9yc1x4M2RBTjhTUGZwQzA0dnJyelFYZ3NfVENNNUV0cnV3ZlB6TnRRXC9tXHgzZGVsX21haW5fY3NzJzsgYy5fcGxsYT1vcGgrJ1wvdjFcL3N1cHBvcnRlZExhbmd1YWdlcyc7IGMuX3B1aD0ndHJhbnNsYXRlLmdvb2dsZS5jb20nO2MuX2NuYWw9e307X2xvYWRDc3MoYy5fcHMpOyBfbG9hZEpzKCdodHRwczpcL1wvdHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvanNcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIubm8uc2Nyblk2UTJfeXcuT1wvYW1ceDNkQklBQUJ3XC9kXHgzZDFcL2V4bVx4M2RlbF9jb25mXC9lZFx4M2QxXC9yc1x4M2RBTjhTUGZxMUtsVUZxZWlGdkJNdWRkdXpHdGIzOVFXWHV3XC9tXHgzZGVsX21haW4nKTtfZXhwb3J0VmVyc2lvbignVEVfMjAyNjA3MjInKTsKICAgICAgICB9KSgpOwogICAgICB9KSgpOwogIA=="}},"time_used":174,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":114,"receive":0,"ssl":41},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.333Z","timestamp":1785136900333,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 2e5d89cdab1097afd6c7da4c44891ed5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1786,"size_decoded":1551,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (1784), with no line terminators","md5":"b387ba60284a5ea232d8b146d9a92222","sha1":"b0e7409a69216356392ad22b0802cfb4f3264701","sha256":"ede33045a90b91e44e7924729039086ba1b6c0c80af85a0270d6bfbd73b16016","sha512":"edb4fe9a9cef5244ac53909f955bd5b705ae3d7c47b9b1f9a4324774d86b8c6bd769cc14e2ed495e65651937070330be7df4571f581c873e655b1782f152180d","ssdeep":"","tlshash":"b731f01bf01032e9aff2a232725aec70bc1474d810f3c5c95ab7b716da17e6c4976688","first_seen":"2026-07-23T13:54:09.147041Z","last_seen":"2026-08-10T05:01:09.721755Z","times_seen":493,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NTExNF0sezgxOTA3OCh0KXt0LmV4cG9ydHM9WyIzTSJdfSwyNzIwOTgodCl7dC5leHBvcnRzPVsiM1kiXX0sOTk1MDY2KHQpe3QuZXhwb3J0cz1bIjEwWSJdfSw4MzI3MzModCl7dC5leHBvcnRzPVsiMU0iXX0sOTM4MTAwKHQpe3QuZXhwb3J0cz1bIjFEIl19LDQ5MjEzNSh0KXt0LmV4cG9ydHM9WyIxVyJdfSw3NzAzMDModCl7dC5leHBvcnRzPVsiMVkiXX0sOTM0Nzc3KHQpe3QuZXhwb3J0cz1bIjJZIl19LDgyODU1KHQpe3QuZXhwb3J0cz1bIjVEIl19LDQ0NjU2MCh0KXt0LmV4cG9ydHM9WyI1WSJdfSw2ODA3Nih0KXt0LmV4cG9ydHM9WyI2TSJdfSwzODg3NzAodCl7dC5leHBvcnRzPVsiQ2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDgzNDgyMih0KXt0LmV4cG9ydHM9WyJDaGFydCBpbWFnZSBlbWJlZCBjb2RlIGNvcGllZCB0byBjbGlwYm9hcmQge2Vtb2ppfSJdfSwxNjE1MjgodCl7dC5leHBvcnRzPVsiQ2xpY2sgdG8gc2V0IGEgcG9pbnQiXX0sMjMzNjkwKHQpe3QuZXhwb3J0cz1bIkFsbCJdfSwyOTY0NzEodCl7dC5leHBvcnRzPVsiRG91YmxlLWNsaWNrIGFueSBlZGdlIHRvIHJlc2V0IGxheW91dCBncmlkIl19LDY0MTE2MSh0KXt0LmV4cG9ydHM9WyJEb3VibGUtY2xpY2sgdG8gZmluaXNoIHBhdGgiXX0sNTgwOTg1KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS1jbGljayB0byBmaW5pc2ggcG9seWxpbmUiXX0sMTM3MTQ5KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS10YXAgYW55IGVkZ2UgdG8gcmVzZXQgbGF5b3V0IGdyaWQiXX0sODIxMjQ4KHQpe3QuZXhwb3J0cz1bIkhvdGxpc3RzIl19LDU4MjMwMyh0KXt0LmV4cG9ydHM9WyJIb2xkIHtrZXl9IGZvciB0ZW1wb3JhcnkgZHJhd2luZyJdfSw5NDQ3MDgodCl7dC5leHBvcnRzPVsiSGVhZHMgdXAg4oCUIHRoZSBhbmNob3JlZCB0ZXh0IHRvb2wgd2lsbCBiZSByZW1vdmVkIHNvb24uIFVzZSB0aGUgdGV4dCB0b29sIHdpdGggdGhlIGFuY2hvciBvcHRpb24gc3dpdGNoZWQgb24gdG8gZ2V0IHRoZSBzYW1lIHJlc3VsdHMuIl19LDIyMjkodCl7dC5leHBvcnRzPVsiTGluayB0byB0aGUgY2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDczMDkzNSh0KXt0LmV4cG9ydHM9WyJNb3ZlIHRoZSBwb2ludCB0byBwb3NpdGlvbiB0aGUgYW5jaG9yIHRoZW4gdGFwIHRvIHBsYWNlIl19LDQ3NTI5OSh0KXt0LmV4cG9ydHM9WyJQcmVzcyBhbmQgaG9sZCB7a2V5fSB3aGlsZSB6b29taW5nIHRvIG1haW50YWluIHRoZSBjaGFydCBwb3NpdGlvbiJdfSwzOTc3ODgodCl7dC5leHBvcnRzPVsiV2F0Y2hsaXN0Il19LDcxNjA2Nih0KXt0LmV4cG9ydHM9WyJXaWRnZXRzIl19LDQyMjM2OSh0KXt0LmV4cG9ydHM9WyJZVEQiXX0sNDg1NDIwKHQpe3QuZXhwb3J0cz1bIlllYXIgdG8gZGF0ZSJdfSwxMDMwMzAodCl7dC5leHBvcnRzPVsie3N0cn0gZGF5Iiwie3N0cn0gZGF5cyJdfSwyMTA1NzQodCl7dC5leHBvcnRzPVsie3N0cn0gaG91ciIsIntzdHJ9IGhvdXJzIl19LDY5NDYxNyh0KXt0LmV4cG9ydHM9WyJ7c3RyfSBtb250aCIsIntzdHJ9IG1vbnRocyJdfSw0MzkwKHQpe3QuZXhwb3J0cz1bIntzdHJ9IG1pbnV0ZSIsIntzdHJ9IG1pbnV0ZXMiXX0sNjQ0NjI1KHQpe3QuZXhwb3J0cz1bIntzdHJ9IHdlZWsiLCJ7c3RyfSB3ZWVrcyJdfSwyMTY0MDIodCl7dC5leHBvcnRzPVsie3N0cn0geWVhciIsIntzdHJ9IHllYXJzIl19fV0pOw=="}},"time_used":53,"timings":{"blocked":-1,"dns":0,"connect":6,"send":0,"wait":12,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32176.7c57c98933b8cfd3f8e7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.865Z","timestamp":1785136901865,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32176.7c57c98933b8cfd3f8e7.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 47\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-2f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bf84f621563e04ea7584f9c92b24ca71\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":47,"size_decoded":831,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"285050ec431662602ebff1a7403d840d","sha1":"e46274ce870b7b93f851b2764c3f0d6dca88cbfe","sha256":"e7051ebd49847be7a2594441481b75d8893d862ca965a4b10ef38bd60fcaf512","sha512":"2d5d3c21c502edac88ccc711982ef21cd411a476d72776ad784c143b582646a57b9eb034d9f364c322df558128497a522f08998f24c3835b07483eb7cd29b19d","ssdeep":"","tlshash":"b8900284aa2099524912905e13c8d05debc45dc016810fb2a514415454d15d31082110","first_seen":"2026-07-19T21:33:33.874532Z","last_seen":"2026-08-10T05:00:33.743169Z","times_seen":113,"resource_available":false,"data":"LmhpZ2hsaWdodGVkLVVzVHFua0wwe2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0="}},"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/12051.b84be781bb90d457f1df.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.310Z","timestamp":1785136901310,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12051.b84be781bb90d457f1df.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-f5c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:47\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5c095343e15d99bf7066cf9c657fcc3c\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3932,"size_decoded":2008,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3932), with no line terminators","md5":"923aec057d9cd07c2b7095d0f0623ab1","sha1":"56133c4d03d776c8b524b16f542979b74c9aabdd","sha256":"c485c2114f00991ad09dc545efb6038c9d6baba075a6b0061cd701a5db18564f","sha512":"5af06adfb2af9bd155bc54b0328570122ab87794daf957844689e7732085ff42a82e33065dc68e14d9a7e075e3f3872b91143d34c8921db369258920f7f9ffe7","ssdeep":"","tlshash":"f6812192b160f1babc6749395fe2b13831109c73c30254bafa51177a8dc1ffa0ae7255","first_seen":"2026-03-31T21:43:22.9655Z","last_seen":"2026-08-10T05:00:33.779913Z","times_seen":677,"resource_available":false,"data":"LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYXttYXJnaW46MCA2cHg7bWluLXdpZHRoOjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5hY3Rpb25CdXR0b24tazUzdmV4UGE6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYXttYXJnaW46NnB4IDB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYTpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaGlkZGVuVGl0bGUtazUzdmV4UGF7dmlzaWJpbGl0eTpoaWRkZW59LnBvcHVwRGlhbG9nLUIwMlVVVU4ze21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gMjBweCk7bWF4LXdpZHRoOjQ4MHB4O3dpZHRoOmNhbGMoMTAwJSAtIDIwcHgpfS53cmFwLUIwMlVVVU4ze2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW59Lm1haW4tQjAyVVVVTjN7Y29sb3I6dmFyKC0tY29sb3ItdG9vbGJhci1pbnRlcmFjdGl2ZS1lbGVtZW50LXRleHQtbm9ybWFsKTtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWJsb2NrOjQwcHggNDBweDttYXJnaW4taW5saW5lOjQwcHggMDttaW4td2lkdGg6MH0ubWFpbi1CMDJVVVVOMy5zbWFsbC1CMDJVVVVOM3ttYXJnaW4tYmxvY2s6MjBweCAyMHB4O21hcmdpbi1pbmxpbmU6MjBweCAwfS50aXRsZS1CMDJVVVVOM3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjIwcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7bWFyZ2luLWJvdHRvbTo4cHg7d2lkdGg6Y2FsYygxMDAlIC0gOXB4KTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRpdGxlLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze3dpZHRoOmNhbGMoMTAwJSAtIDI5cHgpfS5jb250ZW50LUIwMlVVVU4ze2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7bWluLWhlaWdodDoxNDVweDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO21hcmdpbjowIC00MHB4O21pbi1oZWlnaHQ6MDtwYWRkaW5nOjhweCA0MHB4fUBtZWRpYSAobWF4LWhlaWdodDoyOTBweCl7LmNvbnRlbnQtQjAyVVVVTjN7bWluLWhlaWdodDphdXRvfX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuY29udGVudC1CMDJVVVVOM3tzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5jb250ZW50LUIwMlVVVU4zOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0uY29udGVudC1CMDJVVVVOMzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uY29udGVudC1CMDJVVVVOMzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5jb250ZW50LUIwMlVVVU4zOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5jb250ZW50LUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze21hcmdpbjowIC0yMHB4O3BhZGRpbmc6OHB4IDIwcHh9LmNvbnRlbnQtQjAyVVVVTjMuaHRtbC1CMDJVVVVOM3tkaXNwbGF5OmJsb2NrfS5jb250ZW50LUIwMlVVVU4zIGE6bm90KC5yZXZpZXdDb250ZW50IGEpLC5jb250ZW50LUIwMlVVVU4zIGE6bm90KC5yZXZpZXdDb250ZW50IGEpOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udGVudC1CMDJVVVVOMyBhOm5vdCgucmV2aWV3Q29udGVudCBhKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0uY29udGVudC1CMDJVVVVOMyBhOm5vdCgucmV2aWV3Q29udGVudCBhKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LmZvb3Rlci1CMDJVVVVOM3tkaXNwbGF5OmZsZXg7ZmxleDpub25lO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O21hcmdpbi10b3A6MTZweH0uZm9vdGVyLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uY2xvc2UtQjAyVVVVTjN7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbCk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ibG9jazo4cHggMDttYXJnaW4taW5saW5lOi0ycHggOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2xvc2UtQjAyVVVVTjM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX19LmNsb3NlLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze21hcmdpbi1pbmxpbmUtc3RhcnQ6LTIycHh9Lm1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbi1CMDJVVVVOM3ttYXJnaW4taW5saW5lLWVuZDo0MHB4fS5tYXJnaW5XaXRob3V0Q2xvc2VCdXR0b24tQjAyVVVVTjMuc21hbGwtQjAyVVVVTjN7bWFyZ2luLWlubGluZS1lbmQ6MjBweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate-pa.googleapis.com/v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback","fqdn":"translate-pa.googleapis.com","domain":"translate-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.117.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"moz-nullprincipal:{769aa009-b0d8-47b0-a524-b4e1020bdeb4}?https://huobiget.com","date":"2026-07-27T07:21:41.799Z","timestamp":1785136901799,"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":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:20 GMT","end":"Mon, 21 Sep 2026 08:39:19 GMT"},"fingerprint":{"sha1":"2A:E6:04:0E:76:A4:02:27:67:28:31:4D:E5:61:19:26:CA:0E:32:84","sha256":"D4:ED:C4:F8:DB:31:8A:2D:35:15:01:14:C0:49:CB:47:FF:5B:CC:17:14:82:63:9B:A8:6F:61:4D:AA:E5:96:94"}}},"request":{"raw":"GET /v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback HTTP/1.1\r\nHost: translate-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncross-origin-resource-policy: cross-origin\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\nserver: ESF\r\ncontent-length: 2635\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: NID=533=WrxWGQPTywDHe1GCG13h4bPub3jQjYJbh3kLc-FrTm8L1N5nYe3C8-0wgCAMoAHr-KM2OK3MksJYLSnEnQqT2b37KraSpohh7gs2_hcq6Fx__KA0razR-aaEdDldKpX3f4dC7Mf2ClHQ7O0sdMh4B6y0rftrxEV4lE-kx1d2zB67J7jhfo-7N0iE4NodB4yCoo7ogqC3CT2RiV18Crh1TotCr9EgaxA0; expires=Tue, 26-Jan-2027 07:21:41 GMT; path=/; domain=.translate-pa.googleapis.com; HttpOnly\r\nexpires: Mon, 27 Jul 2026 07:21:41 GMT\r\ncache-control: private\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":31482,"size_decoded":3502,"mime_type":"text/javascript; charset=UTF-8","magic":"Unicode text, UTF-8 text","md5":"91115de97ad1a90076e130223cdd90ad","sha1":"f3ad22e4fa892dfbff0d083bc0465fc3a2240317","sha256":"816e9881b1955d8beff3011d93481dad4c4de71bbd80b50ac267e7e45d4c3bad","sha512":"fbca69c3431240ab374b9ccfb06d76074059cdfe2f153743b292020271a8a3a36885189594a97fd74b43249b1f6359af62dfd0731e7b50e024f37faebdccf620","ssdeep":"192:Z6STcB9aqiD0+52DdKXrWryLxizUSTcB9aqdD0+52DdKXrWryLxG:JTcbaU3KXiMxidTcbah3KXiMxG","tlshash":"d0e267bae8b50d9b6a5e65b416fa2a03306041db4edc3c053b1c1e4c6fdec1e6c7169e","first_seen":"2025-09-02T05:12:23.753308Z","last_seen":"2026-08-10T08:43:29.027904Z","times_seen":9697,"resource_available":true,"data":"Ly8gQVBJIGNhbGxiYWNrCmNhbGxiYWNrKHsKICAic291cmNlTGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXV0byIsCiAgICAgICJuYW1lIjogIkdqZW5ramVubiBzcHLDpWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWIiLAogICAgICAibmFtZSI6ICJhYmtoYXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNlIiwKICAgICAgIm5hbWUiOiAiYWNlaG5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2giLAogICAgICAibmFtZSI6ICJhY2hvbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWEiLAogICAgICAibmFtZSI6ICJhZmFyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFmIiwKICAgICAgIm5hbWUiOiAiYWZyaWthYW5zIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNxIiwKICAgICAgIm5hbWUiOiAiYWxiYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbHoiLAogICAgICAibmFtZSI6ICJhbHVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFtIiwKICAgICAgIm5hbWUiOiAiYW1oYXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXIiLAogICAgICAibmFtZSI6ICJhcmFiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh5IiwKICAgICAgIm5hbWUiOiAiYXJtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheiIsCiAgICAgICJuYW1lIjogImFzZXJiYWpkc2phbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFzIiwKICAgICAgIm5hbWUiOiAiYXNzYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhdiIsCiAgICAgICJuYW1lIjogImF2YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXdhIiwKICAgICAgIm5hbWUiOiAiYXdhZGhpIgogICAgfSwKICAgIHsKICAgICAibGFuZ3VhZ2UiOiAiYXkiLAogICAgICAibmFtZSI6ICJheW1hcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFuIiwKICAgICAgIm5hbWUiOiAiYmFsaW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYWwiLAogICAgICAibmFtZSI6ICJiYWx1dHNqaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibSIsCiAgICAgICJuYW1lIjogImJhbWJhcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmNpIiwKICAgICAgIm5hbWUiOiAiYmFvdWzDqSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYSIsCiAgICAgICJuYW1lIjogImJhc2praXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldSIsCiAgICAgICJuYW1lIjogImJhc2tpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnR4IiwKICAgICAgIm5hbWUiOiAiYmF0YWsga2FybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHMiLAogICAgICAibmFtZSI6ICJiYXRhayBzaW1hbHVuZ3VuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJiYyIsCiAgICAgICJuYW1lIjogImJhdGFrIHRvYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVtIiwKICAgICAgIm5hbWUiOiAiYmVtYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm4iLAogICAgICAibmFtZSI6ICJiZW5nYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJldyIsCiAgICAgICJuYW1lIjogImJldGF3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaG8iLAogICAgICAibmFtZSI6ICJiaG9qcHVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaWsiLAogICAgICAibmFtZSI6ICJiaWtvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJicyIsCiAgICAgICJuYW1lIjogImJvc25pc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnIiLAogICAgICAibmFtZSI6ICJicmV0b25zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZyIsCiAgICAgICJuYW1lIjogImJ1bGdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ1YSIsCiAgICAgICJuYW1lIjogImJ1cmphdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJteSIsCiAgICAgICJuYW1lIjogImJ1cm1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZWIiLAogICAgICAibmFtZSI6ICJjZWJ1YW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoIiwKICAgICAgIm5hbWUiOiAiY2hhbW9ycm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnkiLAogICAgICAibmFtZSI6ICJjaGljaGV3YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkYSIsCiAgICAgICJuYW1lIjogImRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhLUFGIiwKICAgICAgIm5hbWUiOiAiZGFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkdiIsCiAgICAgICJuYW1lIjogImRoaXZlaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGluIiwKICAgICAgIm5hbWUiOiAiZGlua2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG9pIiwKICAgICAgIm5hbWUiOiAiZG9ncmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG92IiwKICAgICAgIm5hbWUiOiAiZG9tYmUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHl1IiwKICAgICAgIm5hbWUiOiAiRHl1bGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHoiLAogICAgICAibmFtZSI6ICJkem9uZ2toYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbiIsCiAgICAgICJuYW1lIjogImVuZ2Vsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZW8iLAogICAgICAibmFtZSI6ICJlc3BlcmFudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXQiLAogICAgICAibmFtZSI6ICJlc3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZWUiLAogICAgICAibmFtZSI6ICJld2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEiLAogICAgICAibmFtZSI6ICJmYXJzaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmaiIsCiAgICAgICJuYW1lIjogImZpamlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZpIiwKICAgICAgIm5hbWUiOiAiZmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm9uIiwKICAgICAgIm5hbWUiOiAiZm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyIiwKICAgICAgIm5hbWUiOiAiZnJhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyLUNBIiwKICAgICAgIm5hbWUiOiAiRnJhbnNrIChDYW5hZGEpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ5IiwKICAgICAgIm5hbWUiOiAiZnJpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmdXIiLAogICAgICAibmFtZSI6ICJmcml1bGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmZiIsCiAgICAgICJuYW1lIjogImZ1bGZ1bGRlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvIiwKICAgICAgIm5hbWUiOiAiZsOmcsO4eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdsIiwKICAgICAgIm5hbWUiOiAiZ2FsaXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2EiLAogICAgICAibmFtZSI6ICJnZW9yZ2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbCIsCiAgICAgICJuYW1lIjogImdyZXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImduIiwKICAgICAgIm5hbWUiOiAiZ3VhcmFuw60iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3UiLAogICAgICAibmFtZSI6ICJndWphcmF0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYWEiLAogICAgICAibmFtZSI6ICJnYWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY25oIiwKICAgICAgIm5hbWUiOiAiaGFraGEgY2hpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoYSIsCiAgICAgICJuYW1lIjogImhhdXNhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhdyIsCiAgICAgICJuYW1lIjogImhhd2FpaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml3IiwKICAgICAgIm5hbWUiOiAiaGVicmFpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGlsIiwKICAgICAgIm5hbWUiOiAiaGlsaWdheW5vbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaSIsCiAgICAgICJuYW1lIjogImhpbmRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhtbiIsCiAgICAgICJuYW1lIjogImhtb25nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyeCIsCiAgICAgICJuYW1lIjogImh1bnNyaWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmUiLAogICAgICAibmFtZSI6ICJodml0ZXJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWJhIiwKICAgICAgIm5hbWUiOiAiaWJhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZyIsCiAgICAgICJuYW1lIjogImlnYm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWxvIiwKICAgICAgIm5hbWUiOiAiaWxva2FubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZCIsCiAgICAgICJuYW1lIjogImluZG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUtTGF0biIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUiLAogICAgICAibmFtZSI6ICJJbnVrdGl0dXQgKHN0YXZlbHNlKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYSIsCiAgICAgICJuYW1lIjogImlyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXMiLAogICAgICAibmFtZSI6ICJpc2xhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdCIsCiAgICAgICJuYW1lIjogIml0YWxpZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYWgiLAogICAgICAibmFtZSI6ICJqYWt1dGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYW0iLAogICAgICAibmFtZSI6ICJqYW1haWNhbnNrIHBhdG9pcyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYSIsCiAgICAgICJuYW1lIjogImphcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAianciLAogICAgICAibmFtZSI6ICJqYXZhbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlpIiwKICAgICAgIm5hbWUiOiAiamlkZGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYWMiLAogICAgICAibmFtZSI6ICJqaW5ncG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieW8iLAogICAgICAibmFtZSI6ICJqb3J1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2wiLAogICAgICAibmFtZSI6ICJrYWxhYWxsaXN1dCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbiIsCiAgICAgICJuYW1lIjogImthbm5hZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVlIiwKICAgICAgIm5hbWUiOiAia2FudG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3IiLAogICAgICAibmFtZSI6ICJrYW51cmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFtIiwKICAgICAgIm5hbWUiOiAia2FwYW1wYW5nYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2siLAogICAgICAibmFtZSI6ICJrYXNha2hpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2EiLAogICAgICAibmFtZSI6ICJrYXRhbGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2VrIiwKICAgICAgIm5hbWUiOiAia2VrY2hpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtoYSIsCiAgICAgICJuYW1lIjogImtoYXNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImttIiwKICAgICAgIm5hbWUiOiAia2htZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2dnIiwKICAgICAgIm5hbWUiOiAia2lnYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZyIsCiAgICAgICJuYW1lIjogImtpa29uZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemgtQ04iLAogICAgICAibmFtZSI6ICJraW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydyIsCiAgICAgICJuYW1lIjogImtpbnlhcndhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt5IiwKICAgICAgIm5hbWUiOiAia2lyZ2lzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJuIiwKICAgICAgIm5hbWUiOiAia2lydW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdHUiLAogICAgICAibmFtZSI6ICJraXR1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHJwIiwKICAgICAgIm5hbWUiOiAia29rYm9yb2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3YiLAogICAgICAibmFtZSI6ICJrb21pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdvbSIsCiAgICAgICJuYW1lIjogImtvbmthbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia28iLAogICAgICAibmFtZSI6ICJrb3JlYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbyIsCiAgICAgICJuYW1lIjogImtvcnNpa2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHQiLAogICAgICAibmFtZSI6ICJrcmVvbCAoSGFpdGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNycyIsCiAgICAgICJuYW1lIjogImtyZW9sIChTZXljaGVsbGVuZSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JoIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChreXJpbGxpc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaC1MYXRuIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrcmkiLAogICAgICAibmFtZSI6ICJrcmlvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyIiwKICAgICAgIm5hbWUiOiAia3JvYXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3UiLAogICAgICAibmFtZSI6ICJrdXJkaXNrIChrdXJtYW5qaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2tiIiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoc29yYW5pKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbyIsCiAgICAgICJuYW1lIjogImxhb3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHRnIiwKICAgICAgIm5hbWUiOiAibGF0Z2FsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxhIiwKICAgICAgIm5hbWUiOiAibGF0aW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHYiLAogICAgICAibmFtZSI6ICJsYXR2aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpaiIsCiAgICAgICJuYW1lIjogImxpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpIiwKICAgICAgIm5hbWUiOiAibGltYnVyZ3NrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxuIiwKICAgICAgIm5hbWUiOiAibGluZ2FsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdCIsCiAgICAgICJuYW1lIjogImxpdGF1aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxtbyIsCiAgICAgICJuYW1lIjogImxvbWJhcmRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGciLAogICAgICAibmFtZSI6ICJsdWdhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1byIsCiAgICAgICJuYW1lIjogImx1byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYiIsCiAgICAgICJuYW1lIjogImx1eGVtYm91cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZyIsCiAgICAgICJuYW1lIjogIm1hZGFnYXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hZCIsCiAgICAgICJuYW1lIjogIm1hZHVyZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFpIiwKICAgICAgIm5hbWUiOiAibWFpdGhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFrIiwKICAgICAgIm5hbWUiOiAiTWFrYXNzYXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWsiLAogICAgICAibmFtZSI6ICJtYWtlZG9uc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWwiLAogICAgICAibmFtZSI6ICJtYWxheWFsYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMiLAogICAgICAibmFtZSI6ICJtYWxheWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtcy1BcmFiIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2sgKGphd2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm10IiwKICAgICAgIm5hbWUiOiAibWFsdGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hbSIsCiAgICAgICJuYW1lIjogIm1hbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndiIsCiAgICAgICJuYW1lIjogIm1hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pIiwKICAgICAgIm5hbWUiOiAibWFvcmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXIiLAogICAgICAibmFtZSI6ICJtYXJhdGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1oIiwKICAgICAgIm5hbWUiOiAibWFyc2hhbGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtd3IiLAogICAgICAibmFtZSI6ICJtYXJ3YWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1mZSIsCiAgICAgICJuYW1lIjogIm1hdXJpdGlzayBrcmVvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbmktTXRlaSIsCiAgICAgICJuYW1lIjogIm1laXRlaWxvbiAobWFuaXB1cmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pbiIsCiAgICAgICJuYW1lIjogIm1pbmFuZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdXMiLAogICAgICAibmFtZSI6ICJtaXpvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1uIiwKICAgICAgIm5hbWUiOiAibW9uZ29sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmhlIiwKICAgICAgIm5hbWUiOiAibmFodWF0bCAow7hzdGxpZ2UgSHVhc3RlY2EpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5kYy1aVyIsCiAgICAgICJuYW1lIjogIm5kYXUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnIiLAogICAgICAibmFtZSI6ICJuZGViZWxlIChzw7hyKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubCIsCiAgICAgICJuYW1lIjogIm5lZGVybGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5ldyIsCiAgICAgICJuYW1lIjogIk5lcGFsIGJoYXNhIChuZXdhcmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5lIiwKICAgICAgIm5hbWUiOiAibmVwYWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibS1Oa29vIiwKICAgICAgIm5hbWUiOiAiTktvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5vIiwKICAgICAgIm5hbWUiOiAibm9yc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnVzIiwKICAgICAgIm5hbWUiOiAibnVlciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvYyIsCiAgICAgICJuYW1lIjogIm9rc2l0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvciIsCiAgICAgICJuYW1lIjogIm9yaXlhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9tIiwKICAgICAgIm5hbWUiOiAib3JvbW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3MiLAogICAgICAibmFtZSI6ICJvc3NldGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYWciLAogICAgICAibmFtZSI6ICJwYW5nYXNpbmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhIiwKICAgICAgIm5hbWUiOiAiUGFuamFiaSAoZ3VybXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhLUFyYWIiLAogICAgICAibmFtZSI6ICJwYW5qYWJpIChzaGFobXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhcCIsCiAgICAgICJuYW1lIjogInBhcGlhbWVudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHMiLAogICAgICAibmFtZSI6ICJwYXNodG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGwiLAogICAgICAibmFtZSI6ICJwb2xzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChCcmFzaWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInB0LVBUIiwKICAgICAgIm5hbWUiOiAicG9ydHVnaXNpc2sgKFBvcnR1Z2FsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJxdSIsCiAgICAgICJuYW1lIjogInF1ZWNodWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm9tIiwKICAgICAgIm5hbWUiOiAicm9tYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvIiwKICAgICAgIm5hbWUiOiAicnVtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydSIsCiAgICAgICJuYW1lIjogInJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2UiLAogICAgICAibmFtZSI6ICJzYW1pc2sgKG5vcmQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNtIiwKICAgICAgIm5hbWUiOiAic2Ftb2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2ciLAogICAgICAibmFtZSI6ICJzYW5nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYSIsCiAgICAgICJuYW1lIjogInNhbnNrcml0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdC1MYXRuIiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2F0IiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAob2wgY2hpa2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN6bCIsCiAgICAgICJuYW1lIjogInNjaGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuc28iLAogICAgICAibmFtZSI6ICJzZXBlZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3IiLAogICAgICAibmFtZSI6ICJzZXJiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNobiIsCiAgICAgICJuYW1lIjogInNoYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic24iLAogICAgICAibmFtZSI6ICJzaG9uYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzY24iLAogICAgICAibmFtZSI6ICJzaWNpbGlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNkIiwKICAgICAgIm5hbWUiOiAic2luZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNpIiwKICAgICAgIm5hbWUiOiAic2luZ2FsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2QiLAogICAgICAibmFtZSI6ICJza290c2sgZ8OmbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzayIsCiAgICAgICJuYW1lIjogInNsb3Zha2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbCIsCiAgICAgICJuYW1lIjogInNsb3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNvIiwKICAgICAgIm5hbWUiOiAic29tYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN0IiwKICAgICAgIm5hbWUiOiAic290aG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXMiLAogICAgICAibmFtZSI6ICJzcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3UiLAogICAgICAibmFtZSI6ICJzdW5kYW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdXMiLAogICAgICAibmFtZSI6ICJzdXN1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN2IiwKICAgICAgIm5hbWUiOiAic3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN3IiwKICAgICAgIm5hbWUiOiAic3dhaGlsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcyIsCiAgICAgICJuYW1lIjogInN3YXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRnIiwKICAgICAgIm5hbWUiOiAidGFkc2ppa2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0bCIsCiAgICAgICJuYW1lIjogInRhZ2Fsb2ciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHkiLAogICAgICAibmFtZSI6ICJ0YWhpdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXItTGF0biIsCiAgICAgICJuYW1lIjogInRhbWF6aWdodCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXIiLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQgKHRpZmluYWdoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0YSIsCiAgICAgICJuYW1lIjogInRhbWlsIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR0IiwKICAgICAgIm5hbWUiOiAidGF0YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGUiLAogICAgICAibmFtZSI6ICJ0ZWx1Z3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGV0IiwKICAgICAgIm5hbWUiOiAidGV0dW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGgiLAogICAgICAibmFtZSI6ICJ0aGFpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJvIiwKICAgICAgIm5hbWUiOiAidGliZXRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpIiwKICAgICAgIm5hbWUiOiAidGlncmluamEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGl2IiwKICAgICAgIm5hbWUiOiAidGl2IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRwaSIsCiAgICAgICJuYW1lIjogInRvayBwaXNpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0byIsCiAgICAgICJuYW1lIjogInRvbmdhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1YSIsCiAgICAgICJuYW1lIjogInRzaGlsdWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNzIiwKICAgICAgIm5hbWUiOiAidHNqZWtraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlIiwKICAgICAgIm5hbWUiOiAidHNqZXRzamVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2hrIiwKICAgICAgIm5hbWUiOiAidHNqdWt0c2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3YiLAogICAgICAibmFtZSI6ICJ0c2p1dmFzamlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cyIsCiAgICAgICJuYW1lIjogInRzb25nYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0biIsCiAgICAgICJuYW1lIjogInRzd2FuYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0Y3kiLAogICAgICAibmFtZSI6ICJ0dWx1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR1bSIsCiAgICAgICJuYW1lIjogInR1bWJ1a2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGsiLAogICAgICAibmFtZSI6ICJ0dXJrbWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHl2IiwKICAgICAgIm5hbWUiOiAidHV2aW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhayIsCiAgICAgICJuYW1lIjogInR3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ciIsCiAgICAgICJuYW1lIjogInR5cmtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGUiLAogICAgICAibmFtZSI6ICJ0eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVkbSIsCiAgICAgICJuYW1lIjogInVkbXVydGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZyIsCiAgICAgICJuYW1lIjogInVpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVrIiwKICAgICAgIm5hbWUiOiAidWtyYWluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHUiLAogICAgICAibmFtZSI6ICJ1bmdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVyIiwKICAgICAgIm5hbWUiOiAidXJkdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1eiIsCiAgICAgICJuYW1lIjogInVzYmVraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlIiwKICAgICAgIm5hbWUiOiAidmVuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmVjIiwKICAgICAgIm5hbWUiOiAidmVuZXRpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2aSIsCiAgICAgICJuYW1lIjogInZpZXRuYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjeSIsCiAgICAgICJuYW1lIjogIndhbGlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndhciIsCiAgICAgICJuYW1lIjogIndhcmF5LXdhcmF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndvIiwKICAgICAgIm5hbWUiOiAid29sb2YiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieGgiLAogICAgICAibmFtZSI6ICJ4aG9zYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWEiLAogICAgICAibmFtZSI6ICJ5dWthdGFuc2sgbWF5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6YXAiLAogICAgICAibmFtZSI6ICJ6YXBvdGVjIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInp1IiwKICAgICAgIm5hbWUiOiAienVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaG0iLAogICAgICAibmFtZSI6ICLDuHN0bWFyaXNrIgogICAgfQogIF0sCiAgInRhcmdldExhbmd1YWdlcyI6IFsKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFiIiwKICAgICAgIm5hbWUiOiAiYWJraGFzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFjZSIsCiAgICAgICJuYW1lIjogImFjZWhuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNoIiwKICAgICAgIm5hbWUiOiAiYWNob2xpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFhIiwKICAgICAgIm5hbWUiOiAiYWZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhZiIsCiAgICAgICJuYW1lIjogImFmcmlrYWFucyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcSIsCiAgICAgICJuYW1lIjogImFsYmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWx6IiwKICAgICAgIm5hbWUiOiAiYWx1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbSIsCiAgICAgICJuYW1lIjogImFtaGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFyIiwKICAgICAgIm5hbWUiOiAiYXJhYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoeSIsCiAgICAgICJuYW1lIjogImFybWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXoiLAogICAgICAibmFtZSI6ICJhc2VyYmFqZHNqYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhcyIsCiAgICAgICJuYW1lIjogImFzc2FtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXYiLAogICAgICAibmFtZSI6ICJhdmFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF3YSIsCiAgICAgICJuYW1lIjogImF3YWRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheSIsCiAgICAgICJuYW1lIjogImF5bWFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYW4iLAogICAgICAibmFtZSI6ICJiYWxpbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhbCIsCiAgICAgICJuYW1lIjogImJhbHV0c2ppIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtIiwKICAgICAgIm5hbWUiOiAiYmFtYmFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiY2kiLAogICAgICAibmFtZSI6ICJiYW91bMOpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhIiwKICAgICAgIm5hbWUiOiAiYmFzamtpcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImV1IiwKICAgICAgIm5hbWUiOiAiYmFza2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHgiLAogICAgICAibmFtZSI6ICJiYXRhayBrYXJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ0cyIsCiAgICAgICJuYW1lIjogImJhdGFrIHNpbWFsdW5ndW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmJjIiwKICAgICAgIm5hbWUiOiAiYmF0YWsgdG9iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZW0iLAogICAgICAibmFtZSI6ICJiZW1iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibiIsCiAgICAgICJuYW1lIjogImJlbmdhbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmV3IiwKICAgICAgIm5hbWUiOiAiYmV0YXdpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJobyIsCiAgICAgICJuYW1lIjogImJob2pwdXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJpayIsCiAgICAgICJuYW1lIjogImJpa29sIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJzIiwKICAgICAgIm5hbWUiOiAiYm9zbmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiciIsCiAgICAgICJuYW1lIjogImJyZXRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJnIiwKICAgICAgIm5hbWUiOiAiYnVsZ2Fyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnVhIiwKICAgICAgIm5hbWUiOiAiYnVyamF0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm15IiwKICAgICAgIm5hbWUiOiAiYnVybWVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlYiIsCiAgICAgICJuYW1lIjogImNlYnVhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2giLAogICAgICAibmFtZSI6ICJjaGFtb3JybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJueSIsCiAgICAgICJuYW1lIjogImNoaWNoZXdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRhIiwKICAgICAgIm5hbWUiOiAiZGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEtQUYiLAogICAgICAibmFtZSI6ICJkYXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR2IiwKICAgICAgIm5hbWUiOiAiZGhpdmVoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkaW4iLAogICAgICAibmFtZSI6ICJkaW5rYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb2kiLAogICAgICAibmFtZSI6ICJkb2dyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb3YiLAogICAgICAibmFtZSI6ICJkb21iZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeXUiLAogICAgICAibmFtZSI6ICJEeXVsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeiIsCiAgICAgICJuYW1lIjogImR6b25na2hhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVuIiwKICAgICAgIm5hbWUiOiAiZW5nZWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbyIsCiAgICAgICJuYW1lIjogImVzcGVyYW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldCIsCiAgICAgICJuYW1lIjogImVzdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlZSIsCiAgICAgICJuYW1lIjogImV3ZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmYSIsCiAgICAgICJuYW1lIjogImZhcnNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZqIiwKICAgICAgIm5hbWUiOiAiZmlqaWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmkiLAogICAgICAibmFtZSI6ICJmaW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmb24iLAogICAgICAibmFtZSI6ICJmb24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnIiLAogICAgICAibmFtZSI6ICJmcmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnItQ0EiLAogICAgICAibmFtZSI6ICJGcmFuc2sgKENhbmFkYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnkiLAogICAgICAibmFtZSI6ICJmcmlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ1ciIsCiAgICAgICJuYW1lIjogImZyaXVsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZmIiwKICAgICAgIm5hbWUiOiAiZnVsZnVsZGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm8iLAogICAgICAibmFtZSI6ICJmw6Zyw7h5c2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2wiLAogICAgICAibmFtZSI6ICJnYWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYSIsCiAgICAgICJuYW1lIjogImdlb3JnaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVsIiwKICAgICAgIm5hbWUiOiAiZ3Jlc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ24iLAogICAgICAibmFtZSI6ICJndWFyYW7DrSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndSIsCiAgICAgICJuYW1lIjogImd1amFyYXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhYSIsCiAgICAgICJuYW1lIjogImdhYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbmgiLAogICAgICAibmFtZSI6ICJoYWtoYSBjaGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhIiwKICAgICAgIm5hbWUiOiAiaGF1c2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGF3IiwKICAgICAgIm5hbWUiOiAiaGF3YWlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXciLAogICAgICAibmFtZSI6ICJoZWJyYWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaWwiLAogICAgICAibmFtZSI6ICJoaWxpZ2F5bm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhpIiwKICAgICAgIm5hbWUiOiAiaGluZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaG1uIiwKICAgICAgIm5hbWUiOiAiaG1vbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHJ4IiwKICAgICAgIm5hbWUiOiAiaHVuc3JpayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZSIsCiAgICAgICJuYW1lIjogImh2aXRlcnVzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpYmEiLAogICAgICAibmFtZSI6ICJpYmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlnIiwKICAgICAgIm5hbWUiOiAiaWdibyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpbG8iLAogICAgICAibmFtZSI6ICJpbG9rYW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlkIiwKICAgICAgIm5hbWUiOiAiaW5kb25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdS1MYXRuIiwKICAgICAgIm5hbWUiOiAiSW51a3RpdHV0IChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdSIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAoc3RhdmVsc2UpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhIiwKICAgICAgIm5hbWUiOiAiaXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpcyIsCiAgICAgICJuYW1lIjogImlzbGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml0IiwKICAgICAgIm5hbWUiOiAiaXRhbGllbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhaCIsCiAgICAgICJuYW1lIjogImpha3V0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphbSIsCiAgICAgICJuYW1lIjogImphbWFpY2Fuc2sgcGF0b2lzIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphIiwKICAgICAgIm5hbWUiOiAiamFwYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqdyIsCiAgICAgICJuYW1lIjogImphdmFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieWkiLAogICAgICAibmFtZSI6ICJqaWRkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImthYyIsCiAgICAgICJuYW1lIjogImppbmdwbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5byIsCiAgICAgICJuYW1lIjogImpvcnViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbCIsCiAgICAgICJuYW1lIjogImthbGFhbGxpc3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtuIiwKICAgICAgIm5hbWUiOiAia2FubmFkYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWUiLAogICAgICAibmFtZSI6ICJrYW50b25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrciIsCiAgICAgICJuYW1lIjogImthbnVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYW0iLAogICAgICAibmFtZSI6ICJrYXBhbXBhbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrayIsCiAgICAgICJuYW1lIjogImthc2FraGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjYSIsCiAgICAgICJuYW1lIjogImthdGFsYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZWsiLAogICAgICAibmFtZSI6ICJrZWtjaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2hhIiwKICAgICAgIm5hbWUiOiAia2hhc2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia20iLAogICAgICAibmFtZSI6ICJraG1lciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZ2ciLAogICAgICAibmFtZSI6ICJraWdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtnIiwKICAgICAgIm5hbWUiOiAia2lrb25nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6aC1DTiIsCiAgICAgICJuYW1lIjogImtpbmVzaXNrIChmb3JlbmtsZXQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLVRXIiwKICAgICAgIm5hbWUiOiAia2luZXNpc2sgKHRyYWRpc2pvbmVsbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnciLAogICAgICAibmFtZSI6ICJraW55YXJ3YW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJreSIsCiAgICAgICJuYW1lIjogImtpcmdpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybiIsCiAgICAgICJuYW1lIjogImtpcnVuZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3R1IiwKICAgICAgIm5hbWUiOiAia2l0dWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRycCIsCiAgICAgICJuYW1lIjogImtva2Jvcm9rIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt2IiwKICAgICAgIm5hbWUiOiAia29taSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnb20iLAogICAgICAibmFtZSI6ICJrb25rYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtvIiwKICAgICAgIm5hbWUiOiAia29yZWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY28iLAogICAgICAibmFtZSI6ICJrb3JzaWthbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh0IiwKICAgICAgIm5hbWUiOiAia3Jlb2wgKEhhaXRpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcnMiLAogICAgICAibmFtZSI6ICJrcmVvbCAoU2V5Y2hlbGxlbmUpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaCIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAoa3lyaWxsaXNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgtTGF0biIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3JpIiwKICAgICAgIm5hbWUiOiAia3JpbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJociIsCiAgICAgICJuYW1lIjogImtyb2F0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt1IiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoa3VybWFuamkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNrYiIsCiAgICAgICJuYW1lIjogImt1cmRpc2sgKHNvcmFuaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG8iLAogICAgICAibmFtZSI6ICJsYW90aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0ZyIsCiAgICAgICJuYW1lIjogImxhdGdhbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYSIsCiAgICAgICJuYW1lIjogImxhdGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx2IiwKICAgICAgIm5hbWUiOiAibGF0dmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaWoiLAogICAgICAibmFtZSI6ICJsaWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaSIsCiAgICAgICJuYW1lIjogImxpbWJ1cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbiIsCiAgICAgICJuYW1lIjogImxpbmdhbGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHQiLAogICAgICAibmFtZSI6ICJsaXRhdWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbW8iLAogICAgICAibmFtZSI6ICJsb21iYXJkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxnIiwKICAgICAgIm5hbWUiOiAibHVnYW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdW8iLAogICAgICAibmFtZSI6ICJsdW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGIiLAogICAgICAibmFtZSI6ICJsdXhlbWJvdXJnc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWciLAogICAgICAibmFtZSI6ICJtYWRhZ2Fzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWQiLAogICAgICAibmFtZSI6ICJtYWR1cmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1haSIsCiAgICAgICJuYW1lIjogIm1haXRoaWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hayIsCiAgICAgICJuYW1lIjogIk1ha2Fzc2FyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1rIiwKICAgICAgIm5hbWUiOiAibWFrZWRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1sIiwKICAgICAgIm5hbWUiOiAibWFsYXlhbGFtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMtQXJhYiIsCiAgICAgICJuYW1lIjogIm1hbGF5aXNrIChqYXdpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtdCIsCiAgICAgICJuYW1lIjogIm1hbHRlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYW0iLAogICAgICAibmFtZSI6ICJtYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3YiLAogICAgICAibmFtZSI6ICJtYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaSIsCiAgICAgICJuYW1lIjogIm1hb3JpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1yIiwKICAgICAgIm5hbWUiOiAibWFyYXRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaCIsCiAgICAgICJuYW1lIjogIm1hcnNoYWxsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXdyIiwKICAgICAgIm5hbWUiOiAibWFyd2FkaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZmUiLAogICAgICAibmFtZSI6ICJtYXVyaXRpc2sga3Jlb2wiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibW5pLU10ZWkiLAogICAgICAibmFtZSI6ICJtZWl0ZWlsb24gKG1hbmlwdXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaW4iLAogICAgICAibmFtZSI6ICJtaW5hbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVzIiwKICAgICAgIm5hbWUiOiAibWl6byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbiIsCiAgICAgICJuYW1lIjogIm1vbmdvbHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5oZSIsCiAgICAgICJuYW1lIjogIm5haHVhdGwgKMO4c3RsaWdlIEh1YXN0ZWNhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZGMtWlciLAogICAgICAibmFtZSI6ICJuZGF1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5yIiwKICAgICAgIm5hbWUiOiAibmRlYmVsZSAoc8O4cikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmwiLAogICAgICAibmFtZSI6ICJuZWRlcmxhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZXciLAogICAgICAibmFtZSI6ICJOZXBhbCBiaGFzYSAobmV3YXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZSIsCiAgICAgICJuYW1lIjogIm5lcGFsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm0tTmtvbyIsCiAgICAgICJuYW1lIjogIk5LbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubyIsCiAgICAgICJuYW1lIjogIm5vcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm51cyIsCiAgICAgICJuYW1lIjogIm51ZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib2MiLAogICAgICAibmFtZSI6ICJva3NpdGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3IiLAogICAgICAibmFtZSI6ICJvcml5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvbSIsCiAgICAgICJuYW1lIjogIm9yb21vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9zIiwKICAgICAgIm5hbWUiOiAib3NzZXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFnIiwKICAgICAgIm5hbWUiOiAicGFuZ2FzaW5hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYSIsCiAgICAgICJuYW1lIjogIlBhbmphYmkgKGd1cm11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYS1BcmFiIiwKICAgICAgIm5hbWUiOiAicGFuamFiaSAoc2hhaG11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYXAiLAogICAgICAibmFtZSI6ICJwYXBpYW1lbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBzIiwKICAgICAgIm5hbWUiOiAicGFzaHRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBsIiwKICAgICAgIm5hbWUiOiAicG9sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQiLAogICAgICAibmFtZSI6ICJwb3J0dWdpc2lzayAoQnJhc2lsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdC1QVCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChQb3J0dWdhbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicXUiLAogICAgICAibmFtZSI6ICJxdWVjaHVhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvbSIsCiAgICAgICJuYW1lIjogInJvbWFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybyIsCiAgICAgICJuYW1lIjogInJ1bWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnUiLAogICAgICAibmFtZSI6ICJydXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNlIiwKICAgICAgIm5hbWUiOiAic2FtaXNrIChub3JkKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbSIsCiAgICAgICJuYW1lIjogInNhbW9hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNnIiwKICAgICAgIm5hbWUiOiAic2FuZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2EiLAogICAgICAibmFtZSI6ICJzYW5za3JpdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQtTGF0biIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKGxhdGluc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdCIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKG9sIGNoaWtpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzemwiLAogICAgICAibmFtZSI6ICJzY2hsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnNvIiwKICAgICAgIm5hbWUiOiAic2VwZWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNyIiwKICAgICAgIm5hbWUiOiAic2VyYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaG4iLAogICAgICAibmFtZSI6ICJzaGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNuIiwKICAgICAgIm5hbWUiOiAic2hvbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2NuIiwKICAgICAgIm5hbWUiOiAic2ljaWxpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzZCIsCiAgICAgICJuYW1lIjogInNpbmRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaSIsCiAgICAgICJuYW1lIjogInNpbmdhbGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdkIiwKICAgICAgIm5hbWUiOiAic2tvdHNrIGfDpmxpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2siLAogICAgICAibmFtZSI6ICJzbG92YWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2wiLAogICAgICAibmFtZSI6ICJzbG92ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbyIsCiAgICAgICJuYW1lIjogInNvbWFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdCIsCiAgICAgICJuYW1lIjogInNvdGhvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVzIiwKICAgICAgIm5hbWUiOiAic3BhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1IiwKICAgICAgIm5hbWUiOiAic3VuZGFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3VzIiwKICAgICAgIm5hbWUiOiAic3VzdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdiIsCiAgICAgICJuYW1lIjogInN2ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdyIsCiAgICAgICJuYW1lIjogInN3YWhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3MiLAogICAgICAibmFtZSI6ICJzd2F0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZyIsCiAgICAgICJuYW1lIjogInRhZHNqaWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGwiLAogICAgICAibmFtZSI6ICJ0YWdhbG9nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5IiwKICAgICAgIm5hbWUiOiAidGFoaXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyLUxhdG4iLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyIiwKICAgICAgIm5hbWUiOiAidGFtYXppZ2h0ICh0aWZpbmFnaCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGEiLAogICAgICAibmFtZSI6ICJ0YW1pbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dCIsCiAgICAgICJuYW1lIjogInRhdGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRlIiwKICAgICAgIm5hbWUiOiAidGVsdWd1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRldCIsCiAgICAgICJuYW1lIjogInRldHVtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRoIiwKICAgICAgIm5hbWUiOiAidGhhaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibyIsCiAgICAgICJuYW1lIjogInRpYmV0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aSIsCiAgICAgICJuYW1lIjogInRpZ3JpbmphIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpdiIsCiAgICAgICJuYW1lIjogInRpdiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cGkiLAogICAgICAibmFtZSI6ICJ0b2sgcGlzaW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG8iLAogICAgICAibmFtZSI6ICJ0b25nYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdWEiLAogICAgICAibmFtZSI6ICJ0c2hpbHViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcyIsCiAgICAgICJuYW1lIjogInRzamVra2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZSIsCiAgICAgICJuYW1lIjogInRzamV0c2plbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoayIsCiAgICAgICJuYW1lIjogInRzanVrdHNqaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN2IiwKICAgICAgIm5hbWUiOiAidHNqdXZhc2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHMiLAogICAgICAibmFtZSI6ICJ0c29uZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG4iLAogICAgICAibmFtZSI6ICJ0c3dhbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGN5IiwKICAgICAgIm5hbWUiOiAidHVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dW0iLAogICAgICAibmFtZSI6ICJ0dW1idWthIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRrIiwKICAgICAgIm5hbWUiOiAidHVya21lbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5diIsCiAgICAgICJuYW1lIjogInR1dmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWsiLAogICAgICAibmFtZSI6ICJ0d2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHIiLAogICAgICAibmFtZSI6ICJ0eXJraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRlIiwKICAgICAgIm5hbWUiOiAidHlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZG0iLAogICAgICAibmFtZSI6ICJ1ZG11cnRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWciLAogICAgICAibmFtZSI6ICJ1aWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ayIsCiAgICAgICJuYW1lIjogInVrcmFpbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh1IiwKICAgICAgIm5hbWUiOiAidW5nYXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ciIsCiAgICAgICJuYW1lIjogInVyZHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidXoiLAogICAgICAibmFtZSI6ICJ1c2Jla2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2ZSIsCiAgICAgICJuYW1lIjogInZlbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlYyIsCiAgICAgICJuYW1lIjogInZlbmV0aWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmkiLAogICAgICAibmFtZSI6ICJ2aWV0bmFtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3kiLAogICAgICAibmFtZSI6ICJ3YWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3YXIiLAogICAgICAibmFtZSI6ICJ3YXJheS13YXJheSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3byIsCiAgICAgICJuYW1lIjogIndvbG9mIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInhoIiwKICAgICAgIm5hbWUiOiAieGhvc2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVhIiwKICAgICAgIm5hbWUiOiAieXVrYXRhbnNrIG1heWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemFwIiwKICAgICAgIm5hbWUiOiAiemFwb3RlYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6dSIsCiAgICAgICJuYW1lIjogInp1bHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2htIiwKICAgICAgIm5hbWUiOiAiw7hzdG1hcmlzayIKICAgIH0KICBdCn0KKTs="}},"time_used":60,"timings":{"blocked":-1,"dns":2,"connect":8,"send":0,"wait":27,"receive":0,"ssl":22},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52509.40659470e51b065d5139.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.899Z","timestamp":1785136901899,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52509.40659470e51b065d5139.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-c6e6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 19c3d93ea970e9c69025640db59d401c\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":50918,"size_decoded":15407,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13726)","md5":"b7af9caf2d203689250c618a39d39029","sha1":"54e22965aaf8dd894b275b582cc30705d69821ad","sha256":"2600de068f623019889e62254b9834e05e70d376b307a4ad6b859f23cdcc8f8a","sha512":"3ef3adc84c046249eb8338da914e3af339fc2a92d8f0ae731d3b82dfc79a838b32bb4601581fb9d42f1ad5dece74230ddca8b9193f7acb1a023a1892cc8633eb","ssdeep":"1536:p5+ejeWbrN0Y4NT7JDMclwUYGZTw7yhLrLl1wrFMl:p5+ejDbrSY497JDMclwUYGZTw7yhLrL5","tlshash":"4833a36890d52d392df542f540ab2010e8ade8974d9610a6efef4dbf4940ac9b13ed3f","first_seen":"2026-07-23T14:00:31.718819Z","last_seen":"2026-07-28T04:48:50.487518Z","times_seen":59,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTI1MDldLHs5NzMwNDEoZSx0LGEpe2EuZCh0LHt0cmllc1RyYW5zbGF0ZUNvdW50cmllTmFtZTooKT0+aX0pO3ZhciBvPWEoMTg1MjcxKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bi5nZXQoZSk7cmV0dXJuIHZvaWQgMCE9PXQ/dCgpOmV9CmNvbnN0IG49bmV3IE1hcChbWyJBZnJpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2NTAzNDQpKV0sWyJBbWVyaWNhcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk5MTQ2NCkpXSxbIkFzaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2ODkxODIpKV0sWyJFdXJvcGUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTIzNjcpKV0sWyJQYWNpZmljIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTkwNTc1KSldLFsiTWlkZGxlIEVhc3QiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2ODU3NTEpKV0sWyJBZmdoYW5pc3RhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk5MzEwMSkpXSxbIsOFbGFuZCBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTA2NTU0KSldLFsiQWxhbmQgSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkwNjU1NCkpXSxbIkFsYmFuaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODAwMjUpKV0sWyJBbGdlcmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjk2MTgxKSldLFsiQW1lcmljYW4gU2Ftb2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMDQ1NTMpKV0sWyJBbmRvcnJhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTY1MjEzKSldLFsiQW5nb2xhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzc3MjApKV0sWyJBbmd1aWxsYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg1NDkwMikpXSxbIkFudGFyY3RpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyOTc1NzApKV0sWyJBbnRpZ3VhIGFuZCBCYXJidWRhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzQ1ODkpXSxbIkFyZ2VudGluYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg1NzU4NykpXSxbIkFybWVuaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3Nzk5NTIpKV0sWyJBcnViYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDExNDc1NikpXSxbIkF1c3RyYWxpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3OTIzMykpXSxbIkF1c3RyaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMzgyNzgpKV0sWyJBemVyYmFpamFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDY4MTcpKV0sWyJCYWhhbWFzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzM1MjU5KSldLFsiQmFocmFpbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU3ODY2NSkpXSxbIkJhbmdsYWRlc2giLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NTIwMTUpKV0sWyJCYXJiYWRvcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDgyOTM4NykpXSxbIkJlbGFydXMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1MjM1NTIpKV0sWyJCZWxnaXVtIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODMzMjQpKV0sWyJCZWxpemUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3ODc3MDEpKV0sWyJCZW5pbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU4ODg0OCkpXSxbIkJlcm11ZGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMTQ3MzcpKV0sWyJCaHV0YW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODQ0NDIpKV0sWyJCb2xpdmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTMxMzA0KSldLFsiQm9uYWlyZSwgU2ludCBFdXN0YXRpdXMgYW5kIFNhYmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NTcyMzUpKV0sWyJCb3NuaWEgYW5kIEhlcnplZ292aW5hIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTcwNjkxKSldLFsiQm90c3dhbmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0MjUzNzgpKV0sWyJCb3V2ZXQgSXNsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzMwNzYzKSldLFsiQnJhemlsIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjEyOTY3KSldLFsiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzQ0MjQ2KSldLFsiQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY1MzM0MCkpXSxbIkJydW5laSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDM5MTkwNikpXSxbIkJ1bGdhcmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzE0MDMxKSldLFsiQnVya2luYSBGYXNvIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTk4Mjk3KSldLFsiQnVydW5kaSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc1ODIyKSldLFsiQ2FibyBWZXJkZSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYwMTA5NykpXSxbIkNhbWJvZGlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTU1NDg5KSldLFsiQ2FtZXJvb24iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NzcwMjgpKV0sWyJDYW5hZGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNTE4OSkpXSxbIkNheW1hbiBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjQxMDI2KSldLFsiQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzc0NzgpKV0sWyJDaGFkIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDgzNTUpKV0sWyJDaGlsZSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkwNDMzOCkpXSxbIkNoaW5hIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjAyNTE5KSldLFsiQ2hyaXN0bWFzIElzbGFuZCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk1NjQ2NCkpXSxbIkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzI1NzMyKSldLFsiQ29sb21iaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMzU4NjcpKV0sWyJDb21vcm9zIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDg0MTM2KSldLFsiQ29uZ28iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NjQ4NTgpKV0sWyJDb25nbyAodGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlKSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3MTU1OCkpXSxbIkNvb2sgSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcwODg1OSkpXSxbIkN1cmFjYW8iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1ODk0MTcpKV0sWyJDb3N0YSBSaWNhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjY4ODQ0KSldLFsiQ8O0dGUgZCdJdm9pcmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0OTg3NjIpKV0sWyJDcm9hdGlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDA3NCkpXSxbIkN1YmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3NjkxNDApKV0sWyJDdXJhw6dhbyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk0NTE3MSkpXSxbIkN5cHJ1cyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYzNDczNykpXSxbIkN6ZWNoaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyNjE5OTApKV0sWyJDemVjaCBSZXB1YmxpYyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDEyOTgwOCkpXSxbIkRlbm1hcmsiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NTI1MDEpKV0sWyJEamlib3V0aSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDUwNzc5OCkpXSxbIkRvbWluaWNhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTk0MzI2KSldLFsiRG9taW5pY2FuIFJlcHVibGljIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODE4NjA0KSldLFsiRWN1YWRvciIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQxMzM5NykpXSxbIkVneXB0IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzM3NDM3KSldLFsiRWwgU2FsdmFkb3IiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4ODA4NzIpKV0sWyJFcXVhdG9yaWFsIEd1aW5lYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc0NjUyNCkpXSxbIkVyaXRyZWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MzA4NzMpKV0sWyJFc3RvbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTQxMjApKV0sWyJGYWxrbGFuZCBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTkzNDc1KSldLFsiRXN3YXRpbmkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4OTgzMDMpKV0sWyJFdGhpb3BpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMzMTkxKSldLFsiRXVyb3BlYW4gVW5pb24iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1MzUxNDYpKV0sWyJGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcykiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2MDc3MjMpKV0sWyJGYXJvZSBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDUyNDg3KSldLFsiRmlqaSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDE1MjQwOSkpXSxbIkZpbmxhbmQiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NzY0NTQpKV0sWyJGcmFuY2UiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMzYyMzgpKV0sWyJGcmVuY2ggR3VpYW5hIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTc2MDc5KSldLFsiRnJlbmNoIFBvbHluZXNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg2MzgyNSkpXSxbIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMyODYwNykpXSxbIkdhYm9uIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzY3NjkwKSldLFsiR2FtYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzA4Nzg1KSldLFsiR2VvcmdpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5NTk1MSkpXSxbIkdlcm1hbnkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NjY2OTgpKV0sWyJHaGFuYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ5ODY3OSkpXSxbIkdpYnJhbHRhciIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc3MTAxNykpXSxbIkdyZWVjZSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5MzI4OSkpXSxbIkdyZWVubGFuZCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMxODM5OSkpXSxbIkdyZW5hZGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5MzIwODYpKV0sWyJHdWFkZWxvdXBlIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTY0ODc3KSldLFsiR3VhbSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU0NDMyNSkpXSxbIkd1YXRlbWFsYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg3NzQ4NykpXSxbIkd1ZXJuc2V5IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDA4OTE2KSldLFsiR3VpbmVhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDM2NDU1KSldLFsiR3VpbmVhLUJpc3NhdSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMwODIyOSkpXSxbIkd1eWFuYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI0MjExNikpXSxbIkhhaXRpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODk0NzA5KSldLFsiSGVhcmQgSXNsYW5kIGFuZCBNY0RvbmFsZCBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjM2MTIzKSldLFsiSG9seSBTZWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMjc0OSkpXSxbIkhvbmR1cmFzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjAyODE2KSldLFsiSG9uZyBLb25nIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDYzNzc5KSldLFsiSHVuZ2FyeSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY2MTM2NikpXSxbIkljZWxhbmQiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NDAxODgpKV0sWyJJbmRpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDM3MjUyMCkpXSxbIkluZG9uZXNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDgwMjk3NSkpXSxbIklyYXEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzNzE3NDYpKV0sWyJJcmVsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzExNTI3KSldLFsiSXNsZSBvZiBNYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMDc4MjUpKV0sWyJJc3JhZWwiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MDMzNTQpKV0sWyJJdGFseSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg5ODE2MykpXSxbIkphbWFpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNjM1KSldLFsiSmFwYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMDAwNjgpKV0sWyJKZXJzZXkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMTg1OTgpKV0sWyJKb3JkYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1ODMwMDkpKV0sWyJLYXpha2hzdGFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjc3NTYwKSldLFsiS2VueWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MTQ5NjYpKV0sWyJLaXJpYmF0aSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ0NjI5MykpXSxbIktvc292byIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY3Njg2KSldLFsiS3V3YWl0IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzk1MTMwKSldLFsiS3lyZ3l6c3RhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ1ODY2MCkpXSxbIkxhb3MiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1OTExODApKV0sWyJMYXR2aWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODI3NzMpKV0sWyJMZWJhbm9uIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTQ1NjEzKSldLFsiTGVzb3RobyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY1MzM5NSkpXSxbIkxpYmVyaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2NjIxKSldLFsiTGlieWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NTUzNTIpKV0sWyJMaWVjaHRlbnN0ZWluIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzg2NjY3KSldLFsiTGl0aHVhbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODkyMTAwKSldLFsiTHV4ZW1ib3VyZyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk3NTQ0NykpXSxbIk1hY2F1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTMyMjY5KSldLFsiTWFjYW8iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMDcwNjIpKV0sWyJNYWNlZG9uaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NTkxMDgpKV0sWyJNYWRhZ2FzY2FyIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjYwMTg4KSldLFsiTWFsYXdpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjQ1OTQ4KSldLFsiTWFsYXlzaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2Mjc5NjcpKV0sWyJNYWxkaXZlcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMzMTYxNSkpXSxbIk1hbGkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2MjM0NjUpKV0sWyJNYWx0YSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU2MzIzNykpXSxbIk1hcnNoYWxsIElzbGFuZHMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0Nzc4NDMpKV0sWyJNYXJ0aW5pcXVlIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTM1MTUyKSldLFsiTWF1cml0YW5pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY2Nzk5NikpXSxbIk1hdXJpdGl1cyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDE1MDA1NCkpXSxbIk1heW90dGUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0ODMxNDkpKV0sWyJNZXhpY28iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NjU3MDApKV0sWyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI5MTA5OCkpXSxbIk1vbGRvdmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMjEzMzYpKV0sWyJNb25hY28iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMDg5MDQpKV0sWyJNb25nb2xpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkxMzcwOSkpXSxbIk1vbnRlbmVncm8iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MzkzNjUpKV0sWyJNb250c2VycmF0IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzMzMjYyKSldLFsiTW9yb2NjbyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcyMTQzMykpXSxbIk1vemFtYmlxdWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMDAwMjYpKV0sWyJNeWFubWFyIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjM5NDMpKV0sWyJOYW1pYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTcwNjE4KSldLFsiTmF1cnUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NzM0MzcpKV0sWyJOZXBhbCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ3MTI4OCkpXSxbIk5ldGhlcmxhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjE2ODYyKSldLFsiTmV3IENhbGVkb25pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI0OTU4OCkpXSxbIk5ldyBaZWFsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDIxNikpXSxbIk5pY2FyYWd1YSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYyMzQ0MCkpXSxbIk5pZ2VyIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTkyMTg5KSldLFsiTmlnZXJpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg0OTg2OCkpXSxbIk5pdWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5MDc0NzApKV0sWyJOb3Jmb2xrIElzbGFuZCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk2NzQxMikpXSxbIk5vcnRoIE1hY2Vkb25pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcyOTc4MikpXSxbIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYxMjU1NykpXSxbIk5vcndheSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg0NTUyMykpXSxbIk9tYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODUyOTMpKV0sWyJQYWtpc3RhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg0NDQzNikpXSxbIlBhbGF1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzk4NDc2KSldLFsiUGFsZXN0aW5lLCBTdGF0ZSBvZiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY5ODA4MykpXSxbIlBhbmFtYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDEwMDcyOSkpXSxbIlBhcHVhIE5ldyBHdWluZWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MjU2OTcpKV0sWyJQYXJhZ3VheSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQyMDEzNSkpXSxbIlBlcnUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NTExMTEpKV0sWyJQaGlsaXBwaW5lcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYxMzY0NykpXSxbIlBpdGNhaXJuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzg0MzgyKSldLFsiUG9sYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTY4NjA5KSldLFsiUG9ydHVnYWwiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzOTg5NCkpXSxbIlB1ZXJ0byBSaWNvIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODQzMzI3KSldLFsiUWF0YXIiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5MzM3NTMpKV0sWyJSw6l1bmlvbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg3MjY4MCkpXSxbIkxhIFJldW5pb24iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NzI2ODApKV0sWyJSb21hbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTA1OTQ1KSldLFsiUnVzc2lhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTM0ODgzKSldLFsiUnVzc2lhbiBGZWRlcmF0aW9uIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzkwNTk4KSldLFsiU0lOVCBNQUFSVEVOIChEVVRDSCBQQVJUKSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5NTAyMSkpXSxbIlJ3YW5kYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc1ODI5NykpXSxbIlNhaW50IEJhcnRow6lsZW15IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTk5NDgzKSldLFsiU2FpbnQgSGVsZW5hLCBBc2NlbnNpb24gYW5kIFRyaXN0YW4gZGEgQ3VuaGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTU4MzUpKV0sWyJTYWludCBLaXR0cyBhbmQgTmV2aXMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NzY5NzUpKV0sWyJTYWludCBMdWNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI1ODMxMSkpXSxbIlNhaW50IE1hcnRpbiAoRnJlbmNoIHBhcnQpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDI1MDY0KSldLFsiU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5NzAzNSkpXSxbIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjIyNjEzKSldLFsiU2Ftb2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1OTg5NjMpKV0sWyJTYW4gTWFyaW5vIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTk5NzYyKSldLFsiU2FvIFRvbWUgYW5kIFByaW5jaXBlIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjc5MzgyKSldLFsiU2F1ZGkgQXJhYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzYxNTIzKSldLFsiU2VuZWdhbCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDIyNDI4OSkpXSxbIlNlcmJpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcxODUyOSkpXSxbIlNleWNoZWxsZXMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0MjA4MjEpKV0sWyJTaWVycmEgTGVvbmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNjQ5OTIpKV0sWyJTaW5nYXBvcmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2NDM3OTUpKV0sWyJTaW50IE1hYXJ0ZW4gKER1dGNoIHBhcnQpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzM2NDApKV0sWyJTbG92YWtpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI2MzQzMikpXSxbIlNsb3ZlbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzIxODIxKSldLFsiU29sb21vbiBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTgxNzgpKV0sWyJTb21hbGlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjAwNTcpKV0sWyJTb3V0aCBBZnJpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMTAwODIpKV0sWyJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ0Nzg1NCkpXSxbIlNvdXRoIEtvcmVhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTg3NzUyKSldLFsiU291dGggU3VkYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NTcxODYpKV0sWyJTcGFpbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc4ODMyMSkpXSxbIlNyaSBMYW5rYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDgwNDc2NikpXSxbIlN1ZGFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTc0NDA0KSldLFsiU3VyaW5hbWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MTg4MzcpKV0sWyJTdmFsYmFyZCBhbmQgSmFuIE1heWVuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTczOTE1KSldLFsiU3dlZGVuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzY5OTYzKSldLFsiU3dpdHplcmxhbmQiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MzM5NzEpKV0sWyJTeXJpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3NDQ4NSkpXSxbIlRhaXdhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3MzE1NykpXSxbIlRhamlraXN0YW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5Njg0NTgpKV0sWyJUYW56YW5pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ5ODE4MykpXSxbIlRoYWlsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTUzMDQ0KSldLFsiVGltb3ItTGVzdGUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MDMwNTEpKV0sWyJUb2dvIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODMyNDQ4KSldLFsiVG9rZWxhdSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDEwNDE3NykpXSxbIlRvbmdhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjUwNTU1KSldLFsiVHJpbmlkYWQgYW5kIFRvYmFnbyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMxNDg3KSldLFsiVHVuaXNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY3NzU5KSldLFsiVHVya2V5IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjMxODEwKSldLFsiVHVya21lbmlzdGFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzM1NjgzKSldLFsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTcwNjI0KSldLFsiVHV2YWx1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDMwMTM0KSldLFsiVS5TLiBWaXJnaW4gSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQzMTM3NykpXSxbIlVBRSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDE2MzExMCkpXSxbIlVTQSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMwMTExNykpXSxbIlVnYW5kYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU4ODY5MykpXSxbIlVrcmFpbmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMTc0NzUpKV0sWyJVbml0ZWQgQXJhYiBFbWlyYXRlcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI0OTA5MSkpXSxbIlVuaXRlZCBLaW5nZG9tIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjgyNzMpKV0sWyJVbml0ZWQgU3RhdGVzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTY3OTQxKSldLFsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzM2Nzk5KSldLFsiVXJ1Z3VheSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkyODU1MykpXSxbIlVTQSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMwMTExNykpXSxbIlV6YmVraXN0YW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3ODM5NzApKV0sWyJWYW51YXR1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDE2MjU3KSldLFsiVmVuZXp1ZWxhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjQzNTAzKSldLFsiVmlldG5hbSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg1MjIxKSldLFsiVmlyZ2luIElzbGFuZHMgKEJyaXRpc2gpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDIzMjA2KSldLFsiVmlyZ2luIElzbGFuZHMgKFUuUy4pIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzAxMjI5KSldLFsiV2FsbGlzIGFuZCBGdXR1bmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1OTA1MDUpKV0sWyJXZXN0ZXJuIFNhaGFyYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg4MTI3NykpXSxbIlllbWVuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDA5Mzg0KSldLFsiWmFtYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODY3MzkzKSldLFsiWmltYmFid2UiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTkxNTUpKV1dKQp9LDEyMjMwNyhlLHQsYSl7YS5yKHQpLGEuZCh0LHthZGRPclVwZGF0ZVN5bWJvbExpc3Q6KCk9PnUsaW5pdFdpZGdldDooKT0+cyxyZW1vdmVTeW1ib2xMaXN0OigpPT5kLHNlbGVjdEFsbFN5bWJvbHM6KCk9PmMsc2VsZWN0SG90bGlzdDooKT0+cCxzZWxlY3ROZXh0QXZhaWxhYmxlU3ltYm9sOigpPT5pLHNldFN5bWJvbExpc3RzOigpPT5tLHNob3dDb250ZXh0TWVudTooKT0+bix1cGRhdGVBY3RpdmVMaXN0OigpPT5oLHVwZGF0ZUJ1bGtQb3NpdGlvbnM6KCk9PmcsdXBkYXRlUG9zaXRpb246KCk9PlMsdXBkYXRlV2lkZ2V0OigpPT5yLHVwZGF0ZVdpZGdldE9wdGlvbnM6KCk9Pmx9KTt2YXIgbz1hKDQxMTM1Nyk7Y29uc3QgaT0oZSx0LGEsaSk9Pih7dHlwZTpvLlNFTEVDVF9ORVhUX0FWQUlMQUJMRV9TWU1CT0wsd2lkZ2V0SWQ6ZSxjdXJyZW50U3ltYm9sOnQsa2V5Ym9hcmRBY3Rpb246YSxjYW5jZWxTZXRPbkNoYXJ0Oml9KSxuPShlLHQsYSxpKT0+KHt0eXBlOm8uU0hPV19DT05URVhUX01FTlUsc3ltYm9sOnQscG9zaXRpb246dihhKSx3aWRnZXRJZDplLHNpemU6aX0pLHM9KGUsdCxhLGkpPT4oe3R5cGU6by5JTklUX1dJREdFVCxvcHRpb25zOmksaWQ6ZSxjb2x1bW5zOmEsdGlja2VyVHlwZTp0fSkscj0oZSx0KT0+KHt0eXBlOm8uVVBEQVRFX1dJREdFVCx3aWRnZXRJZDplLHdpZGdldDp0fSksbD0oZSx0KT0+KHt0eXBlOm8uVVBEQVRFX1dJREdFVF9PUFRJT05TLHdpZGdldElkOmUsb3B0aW9uczp0fSksYz1lPT4oe3R5cGU6by5TRUxFQ1RfQUxMX1NZTUJPTFMsd2lkZ2V0SWQ6ZX0pLHU9ZT0+KHt0eXBlOm8uQUREX09SX1VQREFURV9TWU1CT0xfTElTVCxzeW1ib2xMaXN0OmV9KSxkPWU9Pih7dHlwZTpvLlJFTU9WRV9TWU1CT0xfTElTVCxpZDplfSksbT1lPT4oe3R5cGU6by5TRVRfU1lNQk9MX0xJU1RTLHN5bWJvbExpc3RzOmV9KSxwPShlLHQsYSxpPSExLG49ITEpPT4oe3R5cGU6by5TRUxFQ1RfSE9UTElTVCx3aWRnZXRJZDplLGV4Y2hhbmdlOnQsZ3JvdXA6YSxza2lwVXBkYXRlV2lkZ2V0Omksc2tpcEFkZE9yVXBkYXRlTGlzdDpufSksUz0oZSx0KT0+KHt0eXBlOm8uVVBEQVRFX1BPU0lUSU9OUyxzeW1ib2w6ZSxwb3NpdGlvbjp0fSksZz1lPT4oe3R5cGU6by5VUERBVEVfQlVMS19QT1NJVElPTlMsbWFwOmV9KSxoPWU9Pih7dHlwZTpvLlVQREFURV9BQ1RJVkVfTElTVCx0b2tlbjplfSk7ZnVuY3Rpb24gdihlKXtjb25zdCB0PWUudG91Y2hlcz8ubWFwKChlPT4oe2NsaWVudFg6ZS5jbGllbnRYLGNsaWVudFk6ZS5jbGllbnRZfSkpKTtyZXR1cm57Y2xpZW50WDplLmNsaWVudFgsY2xpZW50WTplLmNsaWVudFksdG91Y2hlczp0LGF0dGFjaFRvWEJ5OmUuYXR0YWNoVG9YQnksYXR0YWNoVG9ZQnk6ZS5hdHRhY2hUb1lCeSxib3g6ZS5ib3h9fX0sNzQxOTI0KGUsdCxhKXthLmQodCx7U0VUX0lTX0FVVEhFTlRJQ0FURUQ6KCk9PnMsYXV0aFJlZHVjZXI6KCk9Pmwsd2F0Y2hBdXRoOigpPT5jfSk7dmFyIG89YSg4OTQ0OCksaT1hKDYxNDgyNSksbj1hKDIzMDIxMSk7Y29uc3Qgcz0iQVVUSF9fU0VUX0lTX0FVVEhFTlRJQ0FURUQiO2Z1bmN0aW9uIHIoZSl7cmV0dXJue3R5cGU6cyxpc0F1dGhlbnRpY2F0ZWQ6ZX19ZnVuY3Rpb24gbChlPUJvb2xlYW4od2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpLHQpe3JldHVybiB0LnR5cGU9PT1zP3QuaXNBdXRoZW50aWNhdGVkOmV9ZnVuY3Rpb24qYygpe2NvbnN0IGU9KDAsby5ldmVudENoYW5uZWwpKChlPT57Y29uc3QgdD17fTtyZXR1cm4gd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHQsKCgpPT5lKHdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSkpLCgpPT53aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZUFsbCh0KX0pKTt0cnl7Zm9yKDs7KXtjb25zdCB0PXlpZWxkKDAsaS50YWtlKShlKTt5aWVsZCgwLGkucHV0KSgoMCxuLnNldHVwKSh7bGlzdHM6W10sdGltZXN0YW1wOkRhdGUubm93KCksc2lsZW50OiEwfSkpLHlpZWxkKDAsaS5wdXQpKHIodCkpfX1maW5hbGx5e2UuY2xvc2UoKX19fSw3MzAzNTUoZSx0LGEpe2EuZCh0LHtjb2xsYXBzZWRTZXBhcmF0b3JzU2VsZWN0b3I6KCk9PmwsZGlzcGxheVN5bWJvbHNTZWxlY3RvcjooKT0+bSxkaXNwbGF5U3ltYm9sc1RvQWN0dWFsU2VsZWN0b3I6KCk9PnAsZ2V0Q3VycmVudFZpZXdhYmxlQ29sbGFwc2VkU2VwYXJhdG9yc1NlbGVjdG9yOigpPT5jLHNlcGFyYXRvcklzQ29sbGFwc2VkQnlMaXN0SWRTZWxlY3RvcjooKT0+ZCxzZXBhcmF0b3JJc0NvbGxhcHNlZFNlbGVjdG9yOigpPT51LHN5bWJvbHNUb1NlcGFyYXRvckNoaWxkcmVuTWFwOigpPT5nfSk7dmFyIG89YSgzNjQzNTApLGk9YSgxMzg2MzgpLG49YSgzNjYyNjIpLHM9YSg5MTk5ODUpO2NvbnN0IHI9KGUsdCxhKT0+YTtmdW5jdGlvbiBsKGUpe3JldHVybiBlLmNvbGxhcHNlZFNlcGFyYXRvcnN9Y29uc3QgYz0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbbCxuLmdldEN1cnJlbnRWaWV3YWJsZUxpc3RCeVdpZGdldElkXSwoKGUsdCk9PnQmJiJob3QiIT09dC50eXBlP3suLi5lW3QuaWRdfTp7fSkpLHU9KDAsby5jcmVhdGVTZWxlY3RvcikoW2Mscl0sKChlLHQpPT5oKGUsdCkpKSxkPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFtsLChlLHQpPT50LHJdLCgoZSx0LGEpPT5oKHsuLi5lW3RdfSxhKSkpLG09KCgwLG8uY3JlYXRlU2VsZWN0b3IpKFtsLG4uZ2V0R2xvYmFsQWN0aXZlU3ltYm9sTGlzdF0sKChlLHQpPT50P1ModCx7Li4uZVt0LmlkXX0pOltdKSksKDAsby5jcmVhdGVTZWxlY3RvcikoW24uZ2V0Q3VycmVudFZpZXdhYmxlTGlzdEJ5V2lkZ2V0SWQsY10sUykpLHA9KDAsby5jcmVhdGVTZWxlY3RvcikoW24uZ2V0Q3VycmVudFZpZXdhYmxlTGlzdEJ5V2lkZ2V0SWQsYyxyXSwoKGUsdCxhKT0+e2lmKCFlfHwiaG90Ij09PWUudHlwZSlyZXR1cm5bXTtjb25zdHtzeW1ib2xzOm99PWUsaT1nKG8pLG49W107cmV0dXJuIGEuZm9yRWFjaCgoZT0+e24ucHVzaChlKTtjb25zdCBhPWkuZ2V0KGUpLG89aCh0LGUpO2EmJm8mJm4ucHVzaCguLi5hKX0pKSxufSkpO2Z1bmN0aW9uIFMoZSx0KXtpZighZSlyZXR1cm5bXQo7Y29uc3R7c3ltYm9sczphfT1lLG89W107bGV0IGk9ITA7cmV0dXJuIGEuZm9yRWFjaCgoZT0+e2NvbnN0IGE9KDAscy5pc1ZhbGlkU2VwYXJhdG9ySXRlbSkoZSk7KGl8fGEpJiZvLnB1c2goZSksYSYmKGk9IWgodCxlKSl9KSksb31mdW5jdGlvbiBnKGUpe2NvbnN0IHQ9bmV3IE1hcDtsZXQgYT0iIjtyZXR1cm4gZS5mb3JFYWNoKChlPT57KDAscy5pc1ZhbGlkU2VwYXJhdG9ySXRlbSkoZSk/KGE9ZSx0LnNldChhLFtdKSk6YSYmKDAsaS5lbnN1cmVEZWZpbmVkKSh0LmdldChhKSkucHVzaChlKX0pKSx0fWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4hIWUuaGFzT3duUHJvcGVydHkodCkmJmVbdF19fSwxNjIzMzUoZSx0LGEpe2EuZCh0LHtjcmVhdGVDcm9zc1RhYlN5bmNNaWRkbGV3YXJlOigpPT5tLHJlZHVjZXI6KCk9PmQsc2V0U2VwYXJhdG9yc0NvbGxhcHNlOigpPT51fSk7dmFyIG89YSgxMzA2OTkpLGk9YSg0MzMyMCksbj1hKDIzMDIxMSkscz1hKDcxMjEzNCk7Y29uc3Qgcj0iY29sbGFwc2VkLXNlcGFyYXRvcnMtc3RhdGUtZXh0ZW5zaW9uIixsPXtbcl06e319LGM9KDAsby5jcmVhdGVTbGljZSkoe25hbWU6ImNvbGxhcHNlZC1zZXBhcmF0b3JzIixpbml0aWFsU3RhdGU6bCxyZWR1Y2Vyczp7c2V0U2VwYXJhdG9yc0NvbGxhcHNlOihlLHQpPT57Y29uc3R7bGlzdElkOmEsdmFsdWVzOm8sYWN0aW9uVGltZXN0YW1wOml9PXQucGF5bG9hZDtUKGUsYSksdm9pZCAwIT09aSYmZVtyXVthXS5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pfHwoT2JqZWN0LmVudHJpZXMobykuZm9yRWFjaCgoKFt0LG9dKT0+cChlLGEsdCxvKSkpLHZvaWQgMCE9PWkmJihlW3JdW2FdLmxhc3RDaGFuZ2VUaW1lc3RhbXA9aSkpfX0sZXh0cmFSZWR1Y2VyczplPT57ZS5hZGRDYXNlKG4uc2V0dXAsUyksZS5hZGRDYXNlKHMuc2V0dXAsZyksZS5hZGRDYXNlKG4ucHV0LCgoZSx0KT0+e2NvbnN0e2FjdGlvblRpbWVzdGFtcDphLGNvbGxhcHNlZFNlcGFyYXRvcnM6byxpZDppfT10LnBheWxvYWQ7aChlLHtpZDppLGNvbGxhcHNlZFNlcGFyYXRvcnM6byxsYXN0Q2hhbmdlVGltZXN0YW1wOmF9LGEpfSkpLGUuYWRkQ2FzZShzLnJlbmFtZVNlcGFyYXRvciwoKGUsdCk9Pntjb25zdHtjb2xvcjphLHNlcGFyYXRvcjpvLG5hbWU6aX09dC5wYXlsb2FkO0Jvb2xlYW4oZVthXT8uW29dKSYmcChlLGEsaSwhMCl9KSl9fSkse3NldFNlcGFyYXRvcnNDb2xsYXBzZTp1fT1jLmFjdGlvbnMse3JlZHVjZXI6ZH09YztmdW5jdGlvbiBtKGUsdCxhPWMpe3JldHVybigwLGkuY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZSkoe2lkOmUsY2hhbm5lbDp0LGV2ZW50OiJjb2xsYXBzZWQtc2VwYXJhdG9ycy1jcm9zcy10YWItc3luYyIsZmlsdGVyOmU9PmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuYWN0aW9ucy5zZXRTZXBhcmF0b3JzQ29sbGFwc2UubWF0Y2goZSl9KGUsYSl9KX1mdW5jdGlvbiBwKGUsdCxhLG8peyFmdW5jdGlvbihlLHQpe2UuaGFzT3duUHJvcGVydHkodCl8fChlW3RdPXt9KX0oZSx0KSxvP2VbdF1bYV09bzpkZWxldGUgZVt0XVthXX1mdW5jdGlvbiBTKGUsdCl7Y29uc3R7bGlzdHM6YX09dC5wYXlsb2FkO2EuZm9yRWFjaCgodD0+aChlLHQsdC5sYXN0Q2hhbmdlVGltZXN0YW1wKSkpfWZ1bmN0aW9uIGcoZSx0KXtjb25zdHtsaXN0czphfT10LnBheWxvYWQ7YS5mb3JFYWNoKCh0PT52KGUsdCkpKX1mdW5jdGlvbiBoKGUsdCxhKXt2KGUsdCxhKX1mdW5jdGlvbiB2KGUsdCxhKXtjb25zdCBvPWZ1bmN0aW9uKGUpe3JldHVybiBlLmhhc093blByb3BlcnR5KCJjb2xvciIpfSh0KT90LmNvbG9yOnQuaWQse2NvbGxhcHNlZFNlcGFyYXRvcnM6aX09dDtUKGUsbyksdm9pZCAwIT09YSYmZVtyXVtvXS5sYXN0Q2hhbmdlVGltZXN0YW1wPj1hfHwoZVtvXT17fSxpPy5mb3JFYWNoKCh0PT57ZVtvXVt0XT0hMH0pKSx2b2lkIDAhPT1hJiYoZVtyXVtvXS5sYXN0Q2hhbmdlVGltZXN0YW1wPWEpKX1mdW5jdGlvbiBUKGUsdCl7ZVtyXS5oYXNPd25Qcm9wZXJ0eSh0KXx8KGVbcl1bdF09e2xhc3RDaGFuZ2VUaW1lc3RhbXA6MH0pfX0sNDExMzU3KGUsdCxhKXthLmQodCx7QUREX09SX1VQREFURV9TWU1CT0xfTElTVDooKT0+bSxJTklUX1dJREdFVDooKT0+cixSRU1PVkVfU1lNQk9MX0xJU1Q6KCk9PlMsU0VMRUNUX0FMTF9TWU1CT0xTOigpPT5kLFNFTEVDVF9IT1RMSVNUOigpPT5nLFNFTEVDVF9ORVhUX0FWQUlMQUJMRV9TWU1CT0w6KCk9PmksU0VUX1NZTUJPTF9MSVNUUzooKT0+cCxTSE9XX0NPTlRFWFRfTUVOVTooKT0+bCxVUERBVEVfQUNUSVZFX0xJU1Q6KCk9PmgsVVBEQVRFX0JVTEtfUE9TSVRJT05TOigpPT5zLFVQREFURV9QT1NJVElPTlM6KCk9Pm4sVVBEQVRFX1dJREdFVDooKT0+YyxVUERBVEVfV0lER0VUX09QVElPTlM6KCk9PnV9KTtjb25zdCBvPSgwLGEoMzYzNTI2KS5jcmVhdGVBY3Rpb25UeXBlRmFjdG9yeSkoIldBVENITElTVFMiKSxpPW8oIlNFTEVDVF9ORVhUX0FWQUlMQUJMRV9TWU1CT0wiKSxuPW8oIlVQREFURV9QT1NJVElPTlMiKSxzPW8oIlVQREFURV9CVUxLX1BPU0lUSU9OUyIpLHI9bygiSU5JVF9XSURHRVQiKSxsPW8oIlNIT1dfQ09OVEVYVF9NRU5VIiksYz1vKCJVUERBVEVfV0lER0VUIiksdT1vKCJVUERBVEVfV0lER0VUX09QVElPTlMiKSxkPW8oIlNFTEVDVF9BTExfU1lNQk9MUyIpLG09bygiQUREX09SX1VQREFURV9TWU1CT0xfTElTVCIpLHA9bygiU0VUX1NZTUJPTF9MSVNUUyIpLFM9bygiUkVNT1ZFX1NZTUJPTF9MSVNUIiksZz1vKCJTRUxFQ1RfSE9UTElTVCIpLGg9bygiVVBEQVRFX0FDVElWRV9MSVNUIil9LDU0ODEwMyhlLHQsYSl7YS5kKHQse2Nyb3NzdGFiTW9ub3RvbmljVGltZXN0YW1wOigpPT5yfSk7dmFyIG89YSgyMjEwNjEpLGk9YSg5MzIzNjUpO2NvbnN0IG49KDAsby5nZXRMb2dnZXIpKCJDcm9zc3RhYk1vbm90b25pY0Nsb2NrIik7bGV0IHM9ITE7ZnVuY3Rpb24gcigpe2NvbnN0IGU9TnVtYmVyKGkuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgibGFzdC1jcm9zc3RhYi1tb25vdG9uaWMtdGltZXN0YW1wIikpfHwwLHQ9RGF0ZS5ub3coKSxhPWU8dD90OmUrMQo7cmV0dXJuIXMmJmUtdD44NjRlNSYmKG4ubG9nRXJyb3IoYFRoZSBsYXN0IHJlY29yZGVkIHRpbWVzdGFtcCAke2V9IG9jY3VycmVkIG1vcmUgdGhhbiBvbmUgZGF5IGluIHRoZSBmdXR1cmUuYCkscz0hMCksaS5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKCJsYXN0LWNyb3NzdGFiLW1vbm90b25pYy10aW1lc3RhbXAiLFN0cmluZyhhKSksYX19LDY0NTkzMyhlLHQsYSl7ZnVuY3Rpb24gbyhlKXtyZXR1cm57dHlwZToiY3VzdG9tIixpZDplLmlkLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sc3ltYm9sczplLnN5bWJvbHMsc2hhcmVkOmUuc2hhcmVkLHBlcnNpc3RlZFN0YXRlOmUucGVyc2lzdGVkU3RhdGV9fWZ1bmN0aW9uIGkoZSl7cmV0dXJuImN1c3RvbSI9PT1lLnR5cGV9YS5kKHQse2lzQ3VzdG9tTGlzdDooKT0+aSxtYWtlQ3VzdG9tTGlzdEZyb21SZWNvcmQ6KCk9Pm99KX0sOTc5NTc5KGUsdCxhKXthLmQodCx7Y3JlYXRlU3ltYm9sTGlzdElkOigpPT5uLGlzSG90TGlzdElkOigpPT5pfSk7Y29uc3Qgbz0iIyMjSE9UIyMjIjtmdW5jdGlvbiBpKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmMD09PWUuaW5kZXhPZihvKX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIG8rYCR7ZX0uJHt0fWB9fSw4NzEwMjEoZSx0LGEpe2EuZCh0LHtnZXRIb3RsaXN0QnlJZDooKT0+bixob3RMaXN0c1NlbGVjdG9yOigpPT5pfSk7dmFyIG89YSgzNjQzNTApO2NvbnN0IGk9ZT0+ZS5ob3RMaXN0cz8ubGlzdHM/P251bGwsbj0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbaSwoZSx0KT0+dF0sKChlLHQpPT5lP2VbdF06bnVsbCkpfSw3Nzk5MzkoZSx0LGEpe2Eucih0KSxhLmQodCx7YWRkV2F0Y2hsaXN0U3ltYm9sc1RodW5rOigpPT5GLGNyZWF0ZVdhdGNobGlzdFRodW5rOigpPT53LGdldEFjdGl2ZVdhdGNobGlzdFRodW5rOigpPT5KLGdldEN1c3RvbVdhdGNobGlzdHNUaHVuazooKT0+UCxwZXJzaXN0U2VwYXJhdG9yc0NvbGxhcHNlVGh1bms6KCk9PlgscHV0Q3VzdG9tV2F0Y2hsaXN0c1RodW5rOigpPT56LHJlbW92ZVdhdGNobGlzdFN5bWJvbHNUaHVuazooKT0+VixyZW1vdmVXYXRjaGxpc3RUaHVuazooKT0+VyxyZW5hbWVTZXBhcmF0b3JUaHVuazooKT0+SyxyZW5hbWVXYXRjaGxpc3RUaHVuazooKT0+RCxyZXBsYWNlV2F0Y2hsaXN0U3ltYm9sc1RodW5rOigpPT5VLHNhdmVDb2xsYXBzZWRTZXBhcmF0b3JzVGh1bms6KCk9Pkgsc2V0QWN0aXZlV2F0Y2hsaXN0VGh1bms6KCk9Plksc3ltYm9sTGlzdFJlcG9zaXRvcnlTYWdhOigpPT54LHZhbGlkYXRlV2F0Y2hMaXN0U3ltYm9sczooKT0+Qn0pO3ZhciBvPWEoNjE0ODI1KSxpPWEoMjMwMjExKSxuPWEoOTMwMjMxKSxzPWEoNzgzMjU0KSxyPWEoNzA1MDEyKSxsPWEoNTA4NzQ3KSxjPWEoMTIyMzA3KSx1PWEoMjIxMDYxKSxkPWEoMjM0OTY0KSxtPWEoMjE0OTg3KSxwPWEoMzY2MjYyKSxTPWEoNTE5NTE1KSxnPWEoNDc3NTg3KTtmdW5jdGlvbipoKCl7Zm9yKHlpZWxkKDAsby5wdXQpKCgwLGcuYXNBY3Rpb24pKEoobnVsbCkpKTs7KXt5aWVsZCgwLG8udGFrZSkoW2kucmVtb3ZlLGkuc2V0dXBdKTtjb25zdCBlPXlpZWxkKDAsby5zZWxlY3QpKCk7bnVsbD09PSgwLHAuZ2V0Q3VycmVudFZpZXdhYmxlTGlzdEJ5V2lkZ2V0SWQpKGUsUy5XQVRDSExJU1RfV0lER0VUX0lEKSYmKHlpZWxkKDAsby5wdXQpKCgwLGcuYXNBY3Rpb24pKEoobnVsbCkpKSl9fXZhciB2PWEoNjQ1OTMzKSxUPWEoNTQ4MTAzKSxFPWEoNzQxOTI0KSx5PWEoODMxNTI3KSxBPWEoMzIwNTUpLGs9YSgzODQwMTcpLGI9YSg5NjIwODEpLEw9YSgzMDQzOTkpLEk9YSg1ODA1MjYpO3ZhciBDPWEoNzcwNzU1KSxmPWEoNzYwMzkwKSxSPWEoMzEzMzAwKSxOPWEoNzMwMzU1KSxNPWEoMTYyMzM1KTtjb25zdCBfPSgwLHUuZ2V0TG9nZ2VyKSgiUGxhdGZvcm0uTW9kZWwuU3ltYm9sTGlzdHMiKTtmdW5jdGlvbip4KCl7eWllbGQoMCxvLmZvcmspKEUud2F0Y2hBdXRoKSwoMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKXx8KHlpZWxkKDAsby5mb3JrKShoKSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9PnsoMCxBLnJlc29sdmVTeW1ib2xOYW1lRm9yQWxsRGlzdGluY3QpKGUpLnRoZW4oKGU9Pnt0KGUpfSkpfSkpfWZ1bmN0aW9uIE8oZSx0LG8peygwLGQuc2hvd1dhcm5pbmcpKHt0aXRsZTp0fHxzLnQobnVsbCx2b2lkIDAsYSgzODIwMjUpKSx0ZXh0OmV9LG8pfWZ1bmN0aW9uIHcoZSl7Y29uc3QgdD0oMCxyLnNlcnZpY2UpKGwuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UpO3JldHVybiBhc3luYyhhLG8pPT57dHJ5e2NvbnN0IG89KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKSxuPWF3YWl0IHQuY3JlYXRlV2F0Y2hMaXN0KGUpO3JldHVybiBudWxsPT09bj9udWxsOihhKCgwLGkuY3JlYXRlKSh7aWQ6bi5pZCxuYW1lOm4ubmFtZSxzeW1ib2xzOm4uc3ltYm9scyxwZXJzaXN0ZWRTdGF0ZTpuLnBlcnNpc3RlZFN0YXRlLGFjdGlvblRpbWVzdGFtcDpvfSkpLG4uaWQpfWNhdGNoKGUpe3JldHVybiJBcGlFcnJvcjpwbGFuX3N5bWJvbHNfbGltaXRfcmVhY2hlZCI9PT1lLm5hbWU/KCgwLEMub3BlblBheXdhbGwpKHtmZWF0dXJlOiJ3YXRjaGxpc3RTeW1ib2xzIn0pLG51bGwpOihPKGUubWVzc2FnZSksbnVsbCl9fX1jb25zdCBQPSgwLG0ucmVzcGVjdExhdGVzdCkoKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMoYSxvKT0+e3RyeXtjb25zdCBvPSgwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCksbj1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLHQuZ2V0Q3VzdG9tV2F0Y2hMaXN0cygpKSxzPURhdGUubm93KCk7YSgoMCxpLnNldHVwKSh7bGlzdHM6bi5tYXAoKGU9Pih7aWQ6ZS5pZCxuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHN5bWJvbHM6ZS5zeW1ib2xzLHNoYXJlZDplLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOmUuY29sbGFwc2VkU2VwYXJhdG9ycyx0aW1lc3RhbXA6cywKcGVyc2lzdGVkU3RhdGU6ZS5wZXJzaXN0ZWRTdGF0ZSxsYXN0Q2hhbmdlVGltZXN0YW1wOm99KSkpLHRpbWVzdGFtcDpzfSkpfWNhdGNoKGUpeygwLG0uc2tpcEFib3J0RXJyb3IpKGUpfX19KSk7ZnVuY3Rpb24geihlLHQpe2NvbnN0IGE9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobyxuKT0+e3RyeXtjb25zdCBuPSgwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCkscz1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLGEucHV0V2F0Y2hMaXN0KHQpKTtvKCgwLGkucHV0KSh7aWQ6cy5pZCxuYW1lOnMubmFtZSxkZXNjcmlwdGlvbjpzLmRlc2NyaXB0aW9uLHN5bWJvbHM6cy5zeW1ib2xzLHNoYXJlZDpzLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOnMuY29sbGFwc2VkU2VwYXJhdG9ycyxwZXJzaXN0ZWRTdGF0ZTpzLnBlcnNpc3RlZFN0YXRlLGFjdGlvblRpbWVzdGFtcDpufSkpfWNhdGNoKGUpeygwLG0ucmV0aHJvd0Fib3J0RXJyb3IpKGUpLE8oZS5tZXNzYWdlKX19fWZ1bmN0aW9uIEQoZSx0LGEpe2NvbnN0IG89KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobixzKT0+e24oKDAsaS5yZW5hbWUpKHtpZDp0LmlkLG5hbWU6YSxhY3Rpb25UaW1lc3RhbXA6KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKX0pKTtjb25zdCByPWF3YWl0KDAsbS5yZXNwZWN0QWJvcnQpKGUsby5yZW5hbWVXYXRjaExpc3QodCxhKSk7ciYmci5wZXJzaXN0ZWRTdGF0ZSYmbigoMCxpLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3QuaWRdOnIucGVyc2lzdGVkU3RhdGV9KSl9fWZ1bmN0aW9uIFUoZSx0LGEsbyl7Y29uc3Qgbj0oMCxyLnNlcnZpY2UpKGwuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UpO3JldHVybiBhc3luYyhzLHIpPT57aWYoImN1c3RvbSIhPT10LnR5cGUpcmV0dXJuIHZvaWQgXy5sb2dXYXJuKCJUcnlpbmcgdG8gbW9kaWZ5IG5vdCBhIGN1c3RvbSB3YXRjaGxpc3QiKTtpZihhLmxlbmd0aD5SLk1BWF9XQVRDSExJU1RfTEVOR1RIKXJldHVybiB2b2lkKDAsUi5zaG93TWF4TGltaXRFcnJvcikobyk7e2NvbnN0IGU9KDAscC5nZXRDdXN0b21MaXN0QnlJZCkocigpLHQuaWQpO2lmKGU/LnN5bWJvbHMubGVuZ3RoIT09YS5sZW5ndGgmJiFaKGEubGVuZ3RoKSlyZXR1cm59cygoMCxpLmV4YWN0KSh7aWQ6dC5pZCxzeW1ib2xzOmEsYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSk7Y29uc3QgbD1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLG4ucmVwbGFjZVN5bWJvbHModCxhKSk7bCYmcygoMCxpLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3QuaWRdOntzeW1ib2xzOmx9fSkpfX1mdW5jdGlvbiBIKGUpe2NvbnN0IHQ9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMoKT0+e2F3YWl0IHQucmVwbGFjZVN5bWJvbHMoZSxlLnN5bWJvbHMpfX1mdW5jdGlvbiBYKGUsdCxvKXtyZXR1cm4gYXN5bmMgaT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZhd2FpdCBhc3luYyBmdW5jdGlvbihlKXtjb25zdHtsaXN0OntpZDp0LHR5cGU6YSxzeW1ib2xzOm99LHNlcGFyYXRvcnM6aSx2YWx1ZTpuLHNpZ25hbDpzfT1lO2lmKDE9PT1pLmxlbmd0aCl7Y29uc3RbZV09aSxvPSgwLEkuc2VwYXJhdG9yUmVtb3RlUmVwcmVzZW50YXRpb24pKGUsIW4pLHM9KDAsSS5zZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbikoZSxuKTtyZXR1cm4oMCxiLmNvbW1vblJlbmFtZVNlcGFyYXRvcikodCxhLG8scyl9Y29uc3Qgcj1uZXcgU2V0KGkpLGw9KDAsSS5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKHQsbykubWFwKCgoZSx0KT0+e2NvbnN0IGE9b1t0XTtyZXR1cm4gci5oYXMoYSk/KDAsSS5zZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbikoYSxuKTplfSkpLGM9YXdhaXQoMCxrLmZldGNoKSgoMCxMLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0LyR7YX0vJHt0fS9yZXBsYWNlLz91bnNhZmU9dHJ1ZWApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkobCksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sc2lnbmFsOnN9KTtpZighYy5vayl7Y29uc3R7ZGV0YWlsOmV9PWF3YWl0IGMuanNvbigpO3Rocm93IEVycm9yKGUpfX0oe2xpc3Q6ZSxzZXBhcmF0b3JzOnQsdmFsdWU6b30pLmNhdGNoKG0uc2tpcEFib3J0RXJyb3IpLmNhdGNoKChuPT57KDAsZC5zaG93V2FybmluZykoe3RpdGxlOnMudChudWxsLHZvaWQgMCxhKDg3MjM4KSksdGV4dDpuLm1lc3NhZ2V9KTtjb25zdCByPXt9O3QuZm9yRWFjaCgoZT0+e3JbZV09IW99KSksaSgoMCxNLnNldFNlcGFyYXRvcnNDb2xsYXBzZSkoe2xpc3RJZDplLmlkLHZhbHVlczpyLGFjdGlvblRpbWVzdGFtcDooMCxULmNyb3NzdGFiTW9ub3RvbmljVGltZXN0YW1wKSgpfSkpfSkpfX1mdW5jdGlvbiBGKGUsdCxhLG8pe2NvbnN0IG49KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMocyxyKT0+e2lmKCJjdXN0b20iPT09dC50eXBlKWlmKHQuc3ltYm9scy5sZW5ndGg+Ui5NQVhfV0FUQ0hMSVNUX0xFTkdUSCkoMCxSLnNob3dNYXhMaW1pdEVycm9yKShvKTtlbHNle3tjb25zdCBlPSgwLHAuZ2V0Q3VzdG9tTGlzdEJ5SWQpKHIoKSx0LmlkKTtpZighKDAsZi5pc0RlbGV0ZWRTeW1ib2xzTGlzdCkodC5pZCkmJmU/LnN5bWJvbHMubGVuZ3RoIT09dC5zeW1ib2xzLmxlbmd0aCYmIVoodC5zeW1ib2xzLmxlbmd0aCkpcmV0dXJufXMoKDAsaS5pbnNlcnQpKHtpZDp0LmlkLHN5bWJvbHM6YSxhY3Rpb25UaW1lc3RhbXA6KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKX0pKTt0cnl7Y29uc3Qgbz1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLG4uYWRkU3ltYm9scyh0LGEpKTtzKCgwLAppLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3QuaWRdOntzeW1ib2xzOm99fSkpfWNhdGNoKGUpe2lmKCgwLG0uaXNBYm9ydEVycm9yKShlKSl0aHJvdyBlO2NvbnN0IG49dC5zeW1ib2xzLmZpbHRlcigoZT0+IWEuaW5jbHVkZXMoZSkpKTtpZihzKCgwLGkuZXhhY3QpKHtpZDp0LmlkLHN5bWJvbHM6bixhY3Rpb25UaW1lc3RhbXA6KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKX0pKSwiQXBpRXJyb3I6cGxhbl9zeW1ib2xzX2xpbWl0X3JlYWNoZWQiPT09ZS5uYW1lKXJldHVybiB2b2lkKDAsQy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6IndhdGNobGlzdFN5bWJvbHMifSk7TyhlLm1lc3NhZ2Usdm9pZCAwLG8pfX1lbHNlIF8ubG9nV2FybigiVHJ5aW5nIHRvIG1vZGlmeSBub3QgYSBjdXN0b20gd2F0Y2hsaXN0Iil9fWZ1bmN0aW9uIFYoZSx0LGEpe2NvbnN0IG89KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobixzKT0+e24oKDAsaS5leGNsdWRlKSh7aWQ6dC5pZCxzeW1ib2xzOmEsYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSk7Y29uc3Qgcj1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLG8ucmVtb3ZlU3ltYm9scyh0LGEpKTtuKCgwLGkudXBkYXRlUGVyc2lzdGVkU3RhdGUpKHtbdC5pZF06e3N5bWJvbHM6cn19KSl9fWZ1bmN0aW9uIFcoZSx0KXtjb25zdCBhPSgwLHIuc2VydmljZSkobC5TWU1CT0xfTElTVF9SRVBPU0lUT1JZX0JBQ0tFTkRfU0VSVklDRSk7cmV0dXJuIGFzeW5jKG8sbik9Pnthd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLGEucmVtb3ZlV2F0Y2hMaXN0KHQpKSxvKCgwLGkucmVtb3ZlKSh7aWQ6dC5pZH0pKX19ZnVuY3Rpb24gWShlLHQpe2NvbnN0IGE9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobyxuKT0+e2NvbnN0e2lkOnN9PXQ7bygoMCxjLnVwZGF0ZUFjdGl2ZUxpc3QpKHQpKTtjb25zdCByPWF3YWl0KDAsbS5yZXNwZWN0QWJvcnQpKGUsYS5zZXRBY3RpdmUodCkpO3ImJigwLHYuaXNDdXN0b21MaXN0KShyKSYmci5wZXJzaXN0ZWRTdGF0ZSYmbygoMCxpLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3NdOnIucGVyc2lzdGVkU3RhdGV9KSl9fWZ1bmN0aW9uIEcoZSx0LGEpe3JldHVybiBhc3luYyhvLG4pPT57Y29uc3Qgcz0oMCxOLnNlcGFyYXRvcklzQ29sbGFwc2VkQnlMaXN0SWRTZWxlY3RvcikobigpLGUsdCk7bygoMCxpLnJlcGxhY2UpKHtpZDplLGN1cnJlbnQ6dCxuZXh0OmEsYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSkscyYmbygoMCxNLnNldFNlcGFyYXRvcnNDb2xsYXBzZSkoe2xpc3RJZDplLHZhbHVlczp7W2FdOiEwLFt0XTohMX0sYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSl9fWZ1bmN0aW9uIEsoZSx0LGEsbyl7Y29uc3Qgbj0oMCxyLnNlcnZpY2UpKGwuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UpO3JldHVybiBhc3luYyhzLHIpPT57ImN1c3RvbSI9PT10LnR5cGU/KHMoRyh0LmlkLGEsbykpLGF3YWl0KDAsbS5yZXNwZWN0QWJvcnQpKGUsbi5yZW5hbWVTZXBhcmF0b3IodC5pZCxhLG8pLnRoZW4oKGU9PntlJiZzKCgwLGkudXBkYXRlUGVyc2lzdGVkU3RhdGUpKHtbdC5pZF06e3N5bWJvbHM6ZX19KSl9KSkuY2F0Y2gobS5za2lwQWJvcnRFcnJvcikuY2F0Y2goKGU9PntPKGUubWVzc2FnZSkscyhHKHQuaWQsbyxhKSl9KSkpKTpfLmxvZ1dhcm4oIlRyeWluZyB0byBtb2RpZnkgbm90IGEgY3VzdG9tIHdhdGNobGlzdCIpfX1jb25zdCBKPSgwLG0ucmVzcGVjdExhdGVzdCkoKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMoYSxvKT0+e3RyeXtjb25zdCBvPSgwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCksbj1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLHQuZ2V0QWN0aXZlKCkpO2lmKCJjb2xvcmVkIj09PW4udHlwZSl7Y29uc3QgdD0oMCx5LmdldE1hcmtlZFN5bWJvbHNMaXN0U2VydmljZUluc3RhbmNlKSgpO3QuaXNJbml0ZWQoKXx8YXdhaXQoMCxtLnJlc3BlY3RBYm9ydCkoZSxuZXcgUHJvbWlzZSgoZT0+e3Qub25Jbml0KGUpfSkpKSxhKCgwLGMudXBkYXRlQWN0aXZlTGlzdCkoe3R5cGU6ImNvbG9yIixpZDpuLmNvbG9yfSkpfWVsc2UiY3VzdG9tIj09PW4udHlwZT8oImN1c3RvbSI9PT1uLnR5cGUmJihuLnN5bWJvbHM9YXdhaXQoMCxtLnJlc3BlY3RBYm9ydCkoZSxCKG4uc3ltYm9scykpKSxhKCgwLGkucHV0KSh7aWQ6bi5pZCxuYW1lOm4ubmFtZSxkZXNjcmlwdGlvbjpuLmRlc2NyaXB0aW9uLHN5bWJvbHM6bi5zeW1ib2xzLHNoYXJlZDpuLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOm4uY29sbGFwc2VkU2VwYXJhdG9ycyxwZXJzaXN0ZWRTdGF0ZTpuLnBlcnNpc3RlZFN0YXRlLGFjdGlvblRpbWVzdGFtcDpvfSkpLGEoKDAsYy51cGRhdGVBY3RpdmVMaXN0KSh7dHlwZToiY3VzdG9tIixpZDpuLmlkfSkpKToiaG90Ij09PW4udHlwZSYmKGEoKDAsYy5hZGRPclVwZGF0ZVN5bWJvbExpc3QpKG4pKSxuLmV4Y2hhbmdlJiZuLmdyb3VwJiZhKCgwLGMudXBkYXRlQWN0aXZlTGlzdCkoe3R5cGU6ImhvdCIsZXhjaGFuZ2U6bi5leGNoYW5nZSxncm91cDpuLmdyb3VwLGlkOm4uaWR9KSkpfWNhdGNoKGUpeygwLG0uc2tpcEFib3J0RXJyb3IpKGUpfX19KSk7ZnVuY3Rpb24gWihlKXtjb25zdCB0PSgwLFIuZ2V0V2F0Y2hsaXN0U3ltYm9sc0xpbWl0KSgpO3JldHVybiEodCYmZT50KXx8KCgwLEMub3BlblBheXdhbGwpKHtmZWF0dXJlOiJ3YXRjaGxpc3RTeW1ib2xzIn0pLCExKX19LDQ3NzU4NyhlLHQsYSl7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZX1hLmQodCx7YXNBY3Rpb246KCk9Pm99KX0sMzY2MjYyKGUsdCxhKXthLnIodCksYS5kKHQse2NvbHVtbnNTZWxlY3RvcjooKT0+aywKY3VycmVudEhvdExpc3RTZWxlY3RvcjooKT0+QixnZXRDdXJyZW50Vmlld2FibGVMaXN0QnlXaWRnZXRJZDooKT0+eCxnZXRDdXN0b21MaXN0QnlJZDooKT0+TixnZXRDdXN0b21MaXN0czooKT0+QyxnZXRDdXN0b21MaXN0c01hcDooKT0+UixnZXRDdXN0b21MaXN0c1N0YXRlOigpPT5tLGdldEdsb2JhbEFjdGl2ZUlEOigpPT5oLGdldEdsb2JhbEFjdGl2ZVN5bWJvbExpc3Q6KCk9Pl8sZ2V0SXNSZWFkeUN1c3RvbUxpc3RzOigpPT5mLGdldE1hcmtlZExpc3RzTWFwOigpPT5NLGhpZ2hsaWdodGVkU3ltYm9sc1NlbGVjdG9yOigpPT5BLGlzQXV0aGVudGljYXRlZFNlbGVjdG9yOigpPT5wLGlzTG9hZGluZ1NlbGVjdG9yOigpPT5PLG1ha2VHZXRJc0NvbnRhaW5lZEJ5TXVsdGlTZWxlY3Rpb246KCk9PlAscG9zaXRpb25TZWxlY3RvcjooKT0+dyxzY3JvbGxUb0lkU2VsZWN0b3I6KCk9PkUsc2VsZWN0ZWRTeW1ib2xzU2VsZWN0b3I6KCk9PlQsc2hvdWxkRGlzcGxheVBvc2l0aW9uc1NlbGVjdG9yOigpPT5JLHNvcnRpbmdTZWxlY3RvcjooKT0+eSx0aWNrZXJUeXBlU2VsZWN0b3I6KCk9PmIsd2lkZ2V0T3B0aW9uc1NlbGVjdG9yOigpPT5MLHdpZGdldFNlbGVjdG9yOigpPT52fSk7dmFyIG89YSgzNjQzNTApLGk9YSgxMzg2MzgpLG49YSgyMzAyMTEpLHM9YSg3MTIxMzQpLHI9YSg1MDA1MTQpLGw9YSg0NDM4MjcpLGM9YSg5Nzk1NzkpLHU9YSg4NzEwMjEpLGQ9YSg2NDU5MzMpO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIGUuY3VzdG9tTGlzdHN9Y29uc3QgcD1lPT5lLmlzQXV0aGVudGljYXRlZCxTPWU9PmUud2lkZ2V0cyxnPShlLHQpPT50LGg9ZT0+ZS5hY3RpdmVTeW1ib2xMaXN0Py5pZD8/bnVsbCx2PSgwLG8uY3JlYXRlU2VsZWN0b3IpKFtTLGddLCgoZSx0KT0+ZVt0XXx8e30pKSxUPSgwLG8uY3JlYXRlU2VsZWN0b3IpKHYsKGU9PmUuc2VsZWN0ZWRTeW1ib2xzfHxbXSkpLEU9KDAsby5jcmVhdGVTZWxlY3RvcikodiwoZT0+ZS5zY3JvbGxUb0lkKSkseT0oMCxvLmNyZWF0ZVNlbGVjdG9yKSh2LChlPT5lLnNvcnRpbmd8fG51bGwpKSxBPSgwLG8uY3JlYXRlU2VsZWN0b3IpKHYsKGU9PmUuaGlnaGxpZ2h0ZWRTeW1ib2xzfHxudWxsKSksaz0oMCxvLmNyZWF0ZVNlbGVjdG9yKSh2LChlPT5lLmNvbHVtbnMpKSxiPSgwLG8uY3JlYXRlU2VsZWN0b3IpKHYsKGU9PmUudGlja2VyVHlwZSkpLEw9KDAsby5jcmVhdGVTZWxlY3RvcikodiwoZT0+ZS5vcHRpb25zfHx7fSkpLEk9KDAsby5jcmVhdGVTZWxlY3RvcikoW0wscF0sKChlLHQpPT5lLnNob3VsZERpc3BsYXlQb3NpdGlvbnMmJnQpKSxDPSgwLG8uY3JlYXRlU2VsZWN0b3IpKG0sKGU9PigwLG4uZ2V0TGlzdElkcykoZSkubWFwKCh0PT4oMCxkLm1ha2VDdXN0b21MaXN0RnJvbVJlY29yZCkoKDAsaS5lbnN1cmVOb3ROdWxsKSgoMCxuLmdldExpc3RCeUlkKShlLHQpKSkpKSkpLGY9KDAsby5jcmVhdGVTZWxlY3RvcikoW21dLChlPT5udWxsIT09ZS50aW1lc3RhbXApKSxSPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFttXSxuLmdldExpc3RzTWFwKSxOPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFttLChlLHQpPT50XSwoKGUsdCk9Pntjb25zdCBhPSgwLG4uZ2V0TGlzdEJ5SWQpKGUsdCk7cmV0dXJuIG51bGw9PT1hP251bGw6KDAsZC5tYWtlQ3VzdG9tTGlzdEZyb21SZWNvcmQpKGEpfSkpLE09KDAsby5jcmVhdGVTZWxlY3RvcikoW3IuZ2V0TWFya2VkTGlzdHNTdGF0ZV0sKGU9PmU/ZS5saXN0cy5ieUNvbG9yOm51bGwpKSxfPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFt1LmhvdExpc3RzU2VsZWN0b3IsbSxyLmdldE1hcmtlZExpc3RzU3RhdGUsaF0sKChlLHQsYSxvKT0+e2lmKG51bGw9PT1vKXJldHVybiBudWxsO2lmKG51bGwhPT1hJiYoMCxzLmlzTGlzdENvbG9yKShvKSl7Y29uc3QgZT0oMCxzLmdldExpc3RCeUNvbG9yKShhLG8pO3JldHVybiBudWxsPT09ZT9udWxsOigwLGwubWFrZU1hcmtlZExpc3RGcm9tUmVjb3JkKShlKX1pZigoMCxjLmlzSG90TGlzdElkKShvKSl7Y29uc3QgdD1lPy5bb107cmV0dXJuIHQ/e2lkOnQuaWQsbmFtZTp0Lm5hbWUsdHlwZTp0LnR5cGUsZ3JvdXA6dC5ncm91cCxleGNoYW5nZTp0LmV4Y2hhbmdlLHN5bWJvbHM6dC5zeW1ib2xzfTpudWxsfWNvbnN0IGk9KDAsbi5nZXRMaXN0QnlJZCkodCxvKTtyZXR1cm4gbnVsbCE9PWk/KDAsZC5tYWtlQ3VzdG9tTGlzdEZyb21SZWNvcmQpKGkpOm51bGx9KSkseD0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbdS5ob3RMaXN0c1NlbGVjdG9yLG0sci5nZXRNYXJrZWRMaXN0c1N0YXRlLFMsZ10sKChlLHQsYSxvLGkpPT57Y29uc3Qgcj1vW2ldO2lmKHZvaWQgMD09PXIpcmV0dXJuIG51bGw7Y29uc3QgdT1yLmxpc3RJZDtpZihudWxsPT09dSlyZXR1cm4gbnVsbDtpZihudWxsIT09YSYmKDAscy5pc0xpc3RDb2xvcikodSkpe2NvbnN0IGU9KDAscy5nZXRMaXN0QnlDb2xvcikoYSx1KTtyZXR1cm4gbnVsbD09PWU/bnVsbDooMCxsLm1ha2VNYXJrZWRMaXN0RnJvbVJlY29yZCkoZSl9aWYoKDAsYy5pc0hvdExpc3RJZCkodSkpe2NvbnN0IHQ9ZT8uW3VdO3JldHVybiB0P3tpZDp0LmlkLG5hbWU6dC5uYW1lLHR5cGU6dC50eXBlLGdyb3VwOnQuZ3JvdXAsZXhjaGFuZ2U6dC5leGNoYW5nZSxzeW1ib2xzOnQuc3ltYm9sc306bnVsbH1jb25zdCBtPSgwLG4uZ2V0TGlzdEJ5SWQpKHQsdSk7cmV0dXJuIG51bGwhPT1tPygwLGQubWFrZUN1c3RvbUxpc3RGcm9tUmVjb3JkKShtKTpudWxsfSkpO2Z1bmN0aW9uIEIoZSx0KXtjb25zdCBhPXgoZSx0KTtyZXR1cm4iaG90IiE9PWE/LnR5cGU/bnVsbDphfWNvbnN0IE89KDAsby5jcmVhdGVTZWxlY3RvcikoW3YseF0sKChlLHQpPT5udWxsPT09dHx8ZS5pc0xvYWRpbmd8fCExKSksdz0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbZT0+ZS5wb3NpdGlvbnMsKGUsdCk9PnRdLCgoZSx0KT0+ZVt0XSkpO2Z1bmN0aW9uIFAoKXtjb25zdCBlPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFsoZSx0KT0+dC53aWRnZXRJZCxlPT5lLndpZGdldHNdLCgoZSx0KT0+dFtlXSkpLHQ9KDAsby5jcmVhdGVTZWxlY3RvcikoZSwoZT0+ZS5zZWxlY3RlZFN5bWJvbHN8fFtdKSksYT0oMCwKby5jcmVhdGVTZWxlY3RvcikodCwoZT0+bmV3IFNldChlKSkpO3JldHVybigwLG8uY3JlYXRlU2VsZWN0b3IpKFthLChlLHQpPT50LnN5bWJvbF0sKChlLHQpPT5lLnNpemU+MSYmZS5oYXModCkpKX19LDQyOTk5MihlLHQsYSl7YS5yKHQpLGEuZCh0LHtnZXRMaXN0U3ltYm9sc0J5Q29sb3I6KCk9PmMsZ2V0TWFya2VkTGlzdEJ5Q29sb3I6KCk9PmwsZ2V0TWFya2VkTGlzdHM6KCk9PnJ9KTt2YXIgbz1hKDM2NDM1MCksaT1hKDcxMjEzNCksbj1hKDUwMDUxNCkscz1hKDQ0MzgyNyk7Y29uc3Qgcj0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbbi5nZXRNYXJrZWRMaXN0c1N0YXRlXSwoZT0+e2NvbnN0IHQ9W107aWYobnVsbCE9PWUpZm9yKGNvbnN0IGEgb2YgaS5MSVNUX0NPTE9SUyl7Y29uc3Qgbz0oMCxpLmdldExpc3RCeUNvbG9yKShlLGEpO251bGwhPT1vJiZ0LnB1c2goKDAscy5tYWtlTWFya2VkTGlzdEZyb21SZWNvcmQpKG8pKX1yZXR1cm4gdH0pKSxsPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFtuLmdldE1hcmtlZExpc3RzU3RhdGUsKGUsdCk9PnRdLCgoZSx0KT0+e2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IGE9KDAsaS5nZXRMaXN0QnlDb2xvcikoZSx0KTtyZXR1cm4gbnVsbD09PWE/bnVsbDooMCxzLm1ha2VNYXJrZWRMaXN0RnJvbVJlY29yZCkoYSl9KSksYz0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbbF0sKGU9PmU/LnN5bWJvbHM/P251bGwpKX0sMjMwMjExKGUsdCxhKXthLmQodCx7Y2hhbmdlRGVzY3JpcHRpb246KCk9PkUsY3JlYXRlOigpPT5oLGNyZWF0ZUNyb3NzVGFiU3luY01pZGRsZXdhcmU6KCk9PmIsZXhhY3Q6KCk9PnAsZXhjbHVkZTooKT0+UyxnZXRMaXN0QnlJZDooKT0+SSxnZXRMaXN0SWRzOigpPT5DLGdldExpc3RzTWFwOigpPT5MLGluc2VydDooKT0+ZCxwdXQ6KCk9PnYscmVkdWNlcjooKT0+ayxyZW1vdmU6KCk9PmcscmVuYW1lOigpPT5ULHJlcGxhY2U6KCk9Pm0sc2V0dXA6KCk9PnUsc2hhcmU6KCk9PnksdXBkYXRlUGVyc2lzdGVkU3RhdGU6KCk9PkF9KTt2YXIgbz1hKDEzMDY5OSksaT1hKDQzMzIwKSxuPWEoNjEyNDQ2KSxzPWEoOTczNTI0KTtjb25zdCByPXtsaXN0czp7aWRzOltdLGJ5SWQ6e319LHRpbWVzdGFtcDpudWxsfTtmdW5jdGlvbiBsKGUsdCl7ZS5saXN0cy5pZHMucHVzaCh0LmlkKSxlLmxpc3RzLmJ5SWRbdC5pZF09e2lkOnQuaWQsbmFtZTp0Lm5hbWUsZGVzY3JpcHRpb246dC5kZXNjcmlwdGlvbixzeW1ib2xzOlsuLi50LnN5bWJvbHNdLHNoYXJlZDp0LnNoYXJlZCx0aW1lc3RhbXA6dC50aW1lc3RhbXAsY29sbGFwc2VkU2VwYXJhdG9yczp0LmNvbGxhcHNlZFNlcGFyYXRvcnMscGVyc2lzdGVkU3RhdGU6dC5wZXJzaXN0ZWRTdGF0ZSxsYXN0Q2hhbmdlVGltZXN0YW1wOnQubGFzdENoYW5nZVRpbWVzdGFtcH19Y29uc3QgYz0oMCxvLmNyZWF0ZVNsaWNlKSh7bmFtZToiY3VzdG9tLWxpc3RzIixpbml0aWFsU3RhdGU6cixyZWR1Y2Vyczp7c2V0dXA6KGUsdCk9Pntjb25zdHtsaXN0czphLHRpbWVzdGFtcDpvfT10LnBheWxvYWQsaT1uZXcgU2V0KGEubWFwKChlPT5lLmlkKSkpLG49bmV3IFNldChlLmxpc3RzLmlkcy5maWx0ZXIoKGU9PiFpLmhhcyhlKSkpKTtmb3IoY29uc3QgdCBvZiBuKWRlbGV0ZSBlLmxpc3RzLmJ5SWRbdF07ZS5saXN0cy5pZHM9Wy4uLmldO2Zvcihjb25zdCB0IG9mIGEpe2NvbnN0IGE9SShlLHQuaWQpO2lmKGEpe2lmKGEubGFzdENoYW5nZVRpbWVzdGFtcD49dC5sYXN0Q2hhbmdlVGltZXN0YW1wKWNvbnRpbnVlO2EubmFtZT10Lm5hbWUsYS5kZXNjcmlwdGlvbj10LmRlc2NyaXB0aW9uLGEuc3ltYm9scz1bLi4udC5zeW1ib2xzXSxhLnNoYXJlZD10LnNoYXJlZCxhLnRpbWVzdGFtcD10LnRpbWVzdGFtcCxhLmNvbGxhcHNlZFNlcGFyYXRvcnM9dC5jb2xsYXBzZWRTZXBhcmF0b3JzLGEucGVyc2lzdGVkU3RhdGU9dC5wZXJzaXN0ZWRTdGF0ZSx2b2lkIDAhPT10Lmxhc3RDaGFuZ2VUaW1lc3RhbXAmJihhLmxhc3RDaGFuZ2VUaW1lc3RhbXA9dC5sYXN0Q2hhbmdlVGltZXN0YW1wKX1lbHNlIGUubGlzdHMuYnlJZFt0LmlkXT17aWQ6dC5pZCxuYW1lOnQubmFtZSxkZXNjcmlwdGlvbjp0LmRlc2NyaXB0aW9uLHN5bWJvbHM6Wy4uLnQuc3ltYm9sc10sc2hhcmVkOnQuc2hhcmVkLHRpbWVzdGFtcDp0LnRpbWVzdGFtcCxjb2xsYXBzZWRTZXBhcmF0b3JzOnQuY29sbGFwc2VkU2VwYXJhdG9ycyxwZXJzaXN0ZWRTdGF0ZTp0LnBlcnNpc3RlZFN0YXRlLGxhc3RDaGFuZ2VUaW1lc3RhbXA6dC5sYXN0Q2hhbmdlVGltZXN0YW1wfX1lLnRpbWVzdGFtcD1vfSxpbnNlcnQ6KGUsdCk9Pntjb25zdHtpZDphLHN5bWJvbHM6byxiZWZvcmU6aSxhY3Rpb25UaW1lc3RhbXA6cn09dC5wYXlsb2FkLHtsaXN0czpsfT1lLGM9bC5ieUlkW2FdO2lmKHZvaWQgMD09PWMpcmV0dXJuO2lmKGMubGFzdENoYW5nZVRpbWVzdGFtcD49cilyZXR1cm47Y29uc3QgdT1uZXcgU2V0KG8pO2xldCBkO2lmKHZvaWQgMCE9PWkmJnUuaGFzKGkpKXtkPXMuTElTVF9TVEFSVDtmb3IobGV0IGU9Yy5zeW1ib2xzLmluZGV4T2YoaSk7ZT49MDstLWUpaWYoIXUuaGFzKGMuc3ltYm9sc1tlXSkpe2Q9Yy5zeW1ib2xzW2VdO2JyZWFrfX1jb25zdCBtPWMuc3ltYm9scy5maWx0ZXIoKGU9PiF1LmhhcyhlKSkpLHA9KDAscy5nZXRUYXJnZXRJbmRleCkobSxpLGQpO3ZvaWQgMD09PXA/bS5wdXNoKC4uLnUpOm0uc3BsaWNlKHAsMCwuLi51KSwoMCxuLmVxdWFsQXJyYXlzKShtLGMuc3ltYm9scyl8fChjLnN5bWJvbHM9bSx2b2lkIDAhPT1yJiYoYy5sYXN0Q2hhbmdlVGltZXN0YW1wPXIpKX0scmVwbGFjZTooZSx0KT0+e2NvbnN0e2lkOmEsY3VycmVudDpvLG5leHQ6aSxhY3Rpb25UaW1lc3RhbXA6bn09dC5wYXlsb2FkLHtsaXN0czpzfT1lLHI9cy5ieUlkW2FdO2lmKHZvaWQgMD09PXIpcmV0dXJuO2lmKHIubGFzdENoYW5nZVRpbWVzdGFtcD49bilyZXR1cm47aWYobz09PWkpcmV0dXJuO2xldCBsPSExLGM9ITE7Y29uc3QgdT1bXTtmb3IoY29uc3QgZSBvZiByLnN5bWJvbHMpe2lmKGU9PT1pKXtjPSEwO2JyZWFrfWU9PT1vPyh1LnB1c2goaSksbD0hMCk6dS5wdXNoKGUpfQpsJiYhYyYmKHIuc3ltYm9scz11LHZvaWQgMCE9PW4mJihyLmxhc3RDaGFuZ2VUaW1lc3RhbXA9bikpfSxleGFjdDooZSx0KT0+e2NvbnN0e2lkOmEsc3ltYm9sczpvLGFjdGlvblRpbWVzdGFtcDppfT10LnBheWxvYWQse2xpc3RzOnN9PWUscj1zLmJ5SWRbYV07aWYodm9pZCAwPT09cilyZXR1cm47aWYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pKXJldHVybjtjb25zdCBsPVsuLi5uZXcgU2V0KG8pXTsoMCxuLmVxdWFsQXJyYXlzKShsLHIuc3ltYm9scyl8fChyLnN5bWJvbHM9bCx2b2lkIDAhPT1pJiYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPWkpKX0sZXhjbHVkZTooZSx0KT0+e2NvbnN0e2lkOmEsc3ltYm9sczpvLGFjdGlvblRpbWVzdGFtcDppfT10LnBheWxvYWQse2xpc3RzOnN9PWUscj1zLmJ5SWRbYV07aWYodm9pZCAwPT09cilyZXR1cm47aWYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pKXJldHVybjtjb25zdCBsPW5ldyBTZXQobyksYz1yLnN5bWJvbHMuZmlsdGVyKChlPT4hbC5oYXMoZSkpKTsoMCxuLmVxdWFsQXJyYXlzKShjLHIuc3ltYm9scyl8fChyLnN5bWJvbHM9Yyx2b2lkIDAhPT1pJiYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPWkpKX0scmVtb3ZlOihlLHQpPT57Y29uc3R7aWQ6YX09dC5wYXlsb2FkLHtsaXN0czpvfT1lO2lmKHZvaWQgMD09PW8uYnlJZFthXSlyZXR1cm47Y29uc3QgaT1vLmlkcy5maWx0ZXIoKGU9PmUhPT1hKSk7by5pZHM9aSxkZWxldGUgby5ieUlkW2FdfSxjcmVhdGU6KGUsdCk9Pntjb25zdHtpZDphLG5hbWU6byxzeW1ib2xzOmkscGVyc2lzdGVkU3RhdGU6bixhY3Rpb25UaW1lc3RhbXA6c309dC5wYXlsb2FkLHtsaXN0czpyfT1lO3ZvaWQgMD09PXIuYnlJZFthXSYmbChlLHtpZDphLG5hbWU6byxzeW1ib2xzOmksc2hhcmVkOiExLGRlc2NyaXB0aW9uOm51bGwsdGltZXN0YW1wOm51bGwscGVyc2lzdGVkU3RhdGU6bixsYXN0Q2hhbmdlVGltZXN0YW1wOnN9KX0scHV0OihlLHQpPT57Y29uc3R7aWQ6YSxuYW1lOm8sZGVzY3JpcHRpb246aSxzeW1ib2xzOm4sc2hhcmVkOnMsdGltZXN0YW1wOnIsY29sbGFwc2VkU2VwYXJhdG9yczpjLHBlcnNpc3RlZFN0YXRlOnUsYWN0aW9uVGltZXN0YW1wOmR9PXQucGF5bG9hZCx7bGlzdHM6bX09ZSxwPW0uYnlJZFthXTtpZih2b2lkIDA9PT1wKWwoZSx7aWQ6YSxuYW1lOm8sZGVzY3JpcHRpb246aSxzeW1ib2xzOm4sc2hhcmVkOnMsdGltZXN0YW1wOnI/P251bGwscGVyc2lzdGVkU3RhdGU6dSxsYXN0Q2hhbmdlVGltZXN0YW1wOmR9KTtlbHNle2lmKHAubGFzdENoYW5nZVRpbWVzdGFtcD49ZClyZXR1cm47bS5ieUlkW2FdPXtpZDphLG5hbWU6byxkZXNjcmlwdGlvbjppLHNoYXJlZDpzLHRpbWVzdGFtcDpyPz9udWxsLHN5bWJvbHM6Wy4uLm5dLGNvbGxhcHNlZFNlcGFyYXRvcnM6YyxwZXJzaXN0ZWRTdGF0ZTp1LGxhc3RDaGFuZ2VUaW1lc3RhbXA6ZD8/cC5sYXN0Q2hhbmdlVGltZXN0YW1wfX19LHJlbmFtZTooZSx0KT0+e2NvbnN0e2lkOmEsbmFtZTpvLGFjdGlvblRpbWVzdGFtcDppfT10LnBheWxvYWQse2xpc3RzOm59PWUscz1uLmJ5SWRbYV07dm9pZCAwIT09cyYmKHMubGFzdENoYW5nZVRpbWVzdGFtcD49aXx8cy5uYW1lIT09byYmKHMubmFtZT1vLHZvaWQgMCE9PWkmJihzLmxhc3RDaGFuZ2VUaW1lc3RhbXA9aSkpKX0sY2hhbmdlRGVzY3JpcHRpb246KGUsdCk9Pntjb25zdHtpZDphLGRlc2NyaXB0aW9uOm8sYWN0aW9uVGltZXN0YW1wOml9PXQucGF5bG9hZCx7bGlzdHM6bn09ZSxzPW4uYnlJZFthXTt2b2lkIDAhPT1zJiYocy5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pfHxzLmRlc2NyaXB0aW9uIT09byYmKHMuZGVzY3JpcHRpb249byx2b2lkIDAhPT1pJiYocy5sYXN0Q2hhbmdlVGltZXN0YW1wPWkpKSl9LHNoYXJlOihlLHQpPT57Y29uc3R7aWQ6YSxzaGFyZWQ6byxhY3Rpb25UaW1lc3RhbXA6aX09dC5wYXlsb2FkLHtsaXN0czpufT1lLHM9bi5ieUlkW2FdO3ZvaWQgMCE9PXMmJihzLmxhc3RDaGFuZ2VUaW1lc3RhbXA+PWl8fHMuc2hhcmVkIT09byYmKHMuc2hhcmVkPW8sdm9pZCAwIT09aSYmKHMubGFzdENoYW5nZVRpbWVzdGFtcD1pKSkpfSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTooZSx0KT0+e2NvbnN0e2xpc3RzOmF9PWU7YS5pZHMuZm9yRWFjaCgoZT0+e2NvbnN0IG89YS5ieUlkW2VdLGk9dC5wYXlsb2FkW2VdO3ZvaWQgMCE9PW8mJm8ucGVyc2lzdGVkU3RhdGUmJmkmJihvLnBlcnNpc3RlZFN0YXRlPXsuLi5vLnBlcnNpc3RlZFN0YXRlLC4uLml9KX0pKX19fSkse3NldHVwOnUsaW5zZXJ0OmQscmVwbGFjZTptLGV4YWN0OnAsZXhjbHVkZTpTLHJlbW92ZTpnLGNyZWF0ZTpoLHB1dDp2LHJlbmFtZTpULGNoYW5nZURlc2NyaXB0aW9uOkUsc2hhcmU6eSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTpBfT1jLmFjdGlvbnMse3JlZHVjZXI6a309YztmdW5jdGlvbiBiKGUsdCxhPWMpe3JldHVybigwLGkuY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZSkoe2lkOmUsY2hhbm5lbDp0LGV2ZW50OiJjdXN0b20tbGlzdC1jcm9zcy10YWItc3luYyIsZmlsdGVyOmU9PmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuYWN0aW9ucy5zZXR1cC5tYXRjaChlKXx8dC5hY3Rpb25zLmluc2VydC5tYXRjaChlKXx8dC5hY3Rpb25zLmV4Y2x1ZGUubWF0Y2goZSl8fHQuYWN0aW9ucy5leGFjdC5tYXRjaChlKXx8dC5hY3Rpb25zLnJlcGxhY2UubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW1vdmUubWF0Y2goZSl8fHQuYWN0aW9ucy5jcmVhdGUubWF0Y2goZSl8fHQuYWN0aW9ucy5wdXQubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW5hbWUubWF0Y2goZSl8fHQuYWN0aW9ucy5jaGFuZ2VEZXNjcmlwdGlvbi5tYXRjaChlKXx8dC5hY3Rpb25zLnNoYXJlLm1hdGNoKGUpfHx0LmFjdGlvbnMudXBkYXRlUGVyc2lzdGVkU3RhdGUubWF0Y2goZSl9KGUsYSl9KX1mdW5jdGlvbiBMKGUpe3JldHVybiBlLmxpc3RzLmJ5SWR9ZnVuY3Rpb24gSShlLHQpe3JldHVybiBMKGUpW3RdPz9udWxsfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUubGlzdHMuaWRzfX0sMzYzNTI2KGUsdCxhKXtmdW5jdGlvbiBvKGUpe3JldHVybiB0PT5lKyJfXyIrdH1hLmQodCx7CmNyZWF0ZUFjdGlvblR5cGVGYWN0b3J5OigpPT5vfSl9LDI1NTUxNihlKXsKZS5leHBvcnRzPUpTT04ucGFyc2UoJ3sidXMiOnsidGl0bGUiOiJVU0EiLCJzY3JlZW5lck5hbWUiOiJhbWVyaWNhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvTmV3X1lvcmsiLCJkZWZhdWx0RXhjaGFuZ2UiOiJVUyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQU1FWCIsIk5BU0RBUSIsIk5ZU0UiLCJPVEMiLCJVUyJdLCJleGNoYW5nZXNTdG9ja3MiOlsiTkFTREFRIiwiTllTRSIsIk5ZU0UgQVJDQSIsIk9UQyJdLCJncm91cCI6Ik5vcnRoIEFtZXJpY2EiLCJtYXJrZXRSb3V0ZSI6InVzYS8ifSwiYWUiOnsidGl0bGUiOiJVbml0ZWQgQXJhYiBFbWlyYXRlcyIsInNjcmVlbmVyTmFtZSI6InVhZSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0R1YmFpIiwiZGVmYXVsdEV4Y2hhbmdlIjoiQURYIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJERk0iLCJBRFgiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkRGTSIsIkFEWCIsIk5BU0RBUURVQkFJIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6InVhZS8ifSwiYXIiOnsidGl0bGUiOiJBcmdlbnRpbmEiLCJzY3JlZW5lck5hbWUiOiJhcmdlbnRpbmEiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJCQ0JBIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJCWU1BIiwiQkNCQSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJCQ0JBIiwiZ3JvdXAiOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJtYXJrZXRSb3V0ZSI6ImFyZ2VudGluYS8ifSwiYXQiOnsidGl0bGUiOiJBdXN0cmlhIiwic2NyZWVuZXJOYW1lIjoiYXVzdHJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvVmllbm5hIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJWSUUiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIlZJRSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJWSUUiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiYXVzdHJpYS8ifSwiYXUiOnsidGl0bGUiOiJBdXN0cmFsaWEiLCJzY3JlZW5lck5hbWUiOiJhdXN0cmFsaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQXVzdHJhbGlhL1N5ZG5leSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJBU1giXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiYXVzdHJhbGlhLyJ9LCJiZCI6eyJ0aXRsZSI6IkJhbmdsYWRlc2giLCJzY3JlZW5lck5hbWUiOiJiYW5nbGFkZXNoIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvRGhha2EiLCJleGNoYW5nZXNTdG9ja3MiOlsiRFNFQkQiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJEU0VCRCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJiYW5nbGFkZXNoLyJ9LCJiZSI6eyJ0aXRsZSI6IkJlbGdpdW0iLCJzY3JlZW5lck5hbWUiOiJiZWxnaXVtIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CcnVzc2VscyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRVVST05FWFRfQlJVIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVEJSVSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJFVVJPTkVYVF9CUlUiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiYmVsZ2l1bS8ifSwiYmgiOnsidGl0bGUiOiJCYWhyYWluIiwic2NyZWVuZXJOYW1lIjoiYmFocmFpbiIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0JhaHJhaW4iLCJleGNoYW5nZXNTdG9ja3MiOlsiQkFIUkFJTiJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJiYWhyYWluLyJ9LCJiciI6eyJ0aXRsZSI6IkJyYXppbCIsInNjcmVlbmVyTmFtZSI6ImJyYXppbCIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL1Nhb19QYXVsbyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCTUZCT1ZFU1BBIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJicmF6aWwvIn0sImJnIjp7InRpdGxlIjoiQnVsZ2FyaWEiLCJzY3JlZW5lck5hbWUiOiJidWxnYXJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvU29maWEiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlNFU09GIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJidWxnYXJpYS8ifSwiY2EiOnsidGl0bGUiOiJDYW5hZGEiLCJzY3JlZW5lck5hbWUiOiJjYW5hZGEiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9Ub3JvbnRvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlRTWCIsIlRTWFYiLCJDU0UiLCJORU8iXSwiZ3JvdXAiOiJOb3J0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJjYW5hZGEvIn0sImNoIjp7InRpdGxlIjoiU3dpdHplcmxhbmQiLCJzY3JlZW5lck5hbWUiOiJzd2l0emVybGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvWnVyaWNoIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlNJWCIsIkJYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzd2l0emVybGFuZC8ifSwiY2wiOnsidGl0bGUiOiJDaGlsZSIsInNjcmVlbmVyTmFtZSI6ImNoaWxlIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvU2FudGlhZ28iLCJleGNoYW5nZXNTdG9ja3MiOlsiQkNTIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJjaGlsZS8ifSwiY24iOnsidGl0bGUiOiJNYWlubGFuZCBDaGluYSIsInR2TG9jYWxlIjoiemhfQ04iLCJzY3JlZW5lck5hbWUiOiJjaGluYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0hvbmdfS29uZyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiU1NFIiwiU1pTRSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiU1NFIiwiU1pTRSIsIlNIRkUiLCJaQ0UiLCJDRkZFWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJjaGluYS8ifSwiY28iOnsidGl0bGUiOiJDb2xvbWJpYSIsInNjcmVlbmVyTmFtZSI6ImNvbG9tYmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvQm9nb3RhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWQyJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiY29sb21iaWEvIn0sImhyIjp7InRpdGxlIjoiQ3JvYXRpYSIsInNjcmVlbmVyTmFtZSI6ImNyb2F0aWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1phZ3JlYiIsImV4Y2hhbmdlc1N0b2NrcyI6WyJaU0UiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJaU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiWlNFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImNyb2F0aWEvIn0sImN5Ijp7InRpdGxlIjoiQ3lwcnVzIiwic2NyZWVuZXJOYW1lIjoiY3lwcnVzIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9DeXBydXMiLCJleGNoYW5nZXNTdG9ja3MiOlsiQ1NFQ1kiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJDU0VDWSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiY3lwcnVzLyJ9LCJjeiI6eyJ0aXRsZSI6IkN6ZWNoIFJlcHVibGljIiwic2NyZWVuZXJOYW1lIjoiY3plY2giLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0N6ZWNoIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlBTRUNaIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiUFNFQ1oiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImN6ZWNoLyJ9LCJkZSI6eyJ0aXRsZSI6Ikdlcm1hbnkiLCJ0dkxvY2FsZSI6ImRlX0RFIiwic2NyZWVuZXJOYW1lIjoiZ2VybWFueSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQmVybGluIiwiZGVmYXVsdEV4Y2hhbmdlIjoiWEVUUiIsImV4Y2hhbmdlc1N0b2NrcyI6WyJGV0IiLCJTV0IiLCJYRVRSIiwiRFVTIiwiSEFNIiwiSEFOIiwiTVVOIiwiVFJBREVHQVRFIiwiTFMiLCJMU1giLCJHRVRURVgiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJGV0IiLCJTV0IiLCJYRVRSIiwiRFVTIiwiSEFNIiwiSEFOIiwiTVVOIiwiVFJBREVHQVRFIiwiTFMiLCJMU1giXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Imdlcm1hbnkvIn0sImRrIjp7InRpdGxlIjoiRGVubWFyayIsInNjcmVlbmVyTmFtZSI6ImRlbm1hcmsiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0NvcGVuaGFnZW4iLCJleGNoYW5nZXNTdG9ja3MiOlsiT01YQ09QIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJkZW5tYXJrLyJ9LCJlZSI6eyJ0aXRsZSI6IkVzdG9uaWEiLCJzY3JlZW5lck5hbWUiOiJlc3RvbmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9UYWxsaW5uIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWFRTRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZXN0b25pYS8ifSwiZWciOnsidGl0bGUiOiJFZ3lwdCIsInNjcmVlbmVyTmFtZSI6ImVneXB0Iiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9DYWlybyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJFR1giXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoiZWd5cHQvIn0sImVzIjp7InRpdGxlIjoiU3BhaW4iLCJzY3JlZW5lck5hbWUiOiJzcGFpbiIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTWFkcmlkIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJNRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoic3BhaW4vIn0sImV1Ijp7InRpdGxlIjoiRXVyb3BlYW4gVW5pb24iLCJzY3JlZW5lck5hbWUiOiJldXJvbmV4dCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvUGFyaXMiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhUIiwiRVVST05FWFRDT01NIl0sImdyb3VwIjoiRXVyb3BlIn0sImZpIjp7InRpdGxlIjoiRmlubGFuZCIsInNjcmVlbmVyTmFtZSI6ImZpbmxhbmQiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0hlbHNpbmtpIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWEhFWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZmlubGFuZC8ifSwiZnIiOnsidGl0bGUiOiJGcmFuY2UiLCJzY3JlZW5lck5hbWUiOiJmcmFuY2UiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1BhcmlzIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJFVVJPTkVYVF9QQVIiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhUUEFSIl0sImRlZmF1bHRFeGNoYW5nZSI6IkVVUk9ORVhUX1BBUiIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJmcmFuY2UvIn0sImdlIjp7InRpdGxlIjoiR2VvcmdpYSJ9LCJnciI6eyJ0aXRsZSI6IkdyZWVjZSIsInNjcmVlbmVyTmFtZSI6ImdyZWVjZSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQXRoZW5zIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkFUSEVYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJncmVlY2UvIn0sImhrIjp7InRpdGxlIjoiSG9uZyBLb25nLCBDaGluYSIsInNjcmVlbmVyTmFtZSI6Imhvbmdrb25nIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvSG9uZ19Lb25nIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkhLRVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiaG9uZy1rb25nLyJ9LCJodSI6eyJ0aXRsZSI6Ikh1bmdhcnkiLCJzY3JlZW5lck5hbWUiOiJodW5nYXJ5Iiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CdWRhcGVzdCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCRVQiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJCRVQiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiQkVUIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Imh1bmdhcnkvIn0sImlkIjp7InRpdGxlIjoiSW5kb25lc2lhIiwic2NyZWVuZXJOYW1lIjoiaW5kb25lc2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvSmFrYXJ0YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJJRFgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiaW5kb25lc2lhLyJ9LCJpZSI6eyJ0aXRsZSI6IklyZWxhbmQiLCJzY3JlZW5lck5hbWUiOiJpcmVsYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9EdWJsaW4iLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFREVUIiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImlyZWxhbmQvIn0sImlsIjp7InRpdGxlIjoiSXNyYWVsIiwidHZMb2NhbGUiOiJoZV9JTCIsInNjcmVlbmVyTmFtZSI6ImlzcmFlbCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0plcnVzYWxlbSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUQVNFIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImlzcmFlbC8ifSwiaW4iOnsidGl0bGUiOiJJbmRpYSIsInNjcmVlbmVyTmFtZSI6ImluZGlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvS29sa2F0YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCU0UiLCJOU0UiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiaW5kaWEvIn0sImlyIjp7InRpdGxlIjoiSXJhbiJ9LCJpcyI6eyJ0aXRsZSI6IkljZWxhbmQiLCJzY3JlZW5lck5hbWUiOiJpY2VsYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkF0bGFudGljL1JleWtqYXZpayIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhJQ0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImljZWxhbmQvIn0sIml0Ijp7InRpdGxlIjoiSXRhbHkiLCJzY3JlZW5lck5hbWUiOiJpdGFseSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvUm9tZSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTUlMIiwiRVVST1RMWCJdLCJleGNoYW5nZXNTdG9ja3MiOlsiTUlMIiwiRVVST1RMWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiaXRhbHkvIn0sImpwIjp7InRpdGxlIjoiSmFwYW4iLCJ0dkxvY2FsZSI6ImphIiwic2NyZWVuZXJOYW1lIjoiamFwYW4iLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9Ub2t5byIsImRlZmF1bHRFeGNoYW5nZSI6IlRTRSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTkFHIiwiVFNFIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJUU0UiLCJOQUciLCJGU0UiLCJTQVBTRSJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJqYXBhbi8ifSwia2UiOnsidGl0bGUiOiJLZW55YSIsInNjcmVlbmVyTmFtZSI6ImtlbnlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9OYWlyb2JpIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5TRUtFIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImtlbnlhLyJ9LCJrcCI6eyJ0aXRsZSI6Ik5vcnRoIEtvcmVhIn0sImtyIjp7InRpdGxlIjoiU291dGggS29yZWEiLCJ0dkxvY2FsZSI6ImtyIiwic2NyZWVuZXJOYW1lIjoia29yZWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9TZW91bCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJLUlgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoia29yZWEvIn0sImt3Ijp7InRpdGxlIjoiS3V3YWl0Iiwic2NyZWVuZXJOYW1lIjoia3V3YWl0Iiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvS3V3YWl0IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIktTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJrdXdhaXQvIn0sImxrIjp7InRpdGxlIjoiU3JpIExhbmthIiwic2NyZWVuZXJOYW1lIjoic3JpbGFua2EiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9Db2xvbWJvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkNTRUxLIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InNyaS1sYW5rYS8ifSwibHQiOnsidGl0bGUiOiJMaXRodWFuaWEiLCJzY3JlZW5lck5hbWUiOiJsaXRodWFuaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1ZpbG5pdXMiLCJleGNoYW5nZXNTdG9ja3MiOlsiT01YVlNFIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJsaXRodWFuaWEvIn0sImx2Ijp7InRpdGxlIjoiTGF0dmlhIiwic2NyZWVuZXJOYW1lIjoibGF0dmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9SaWdhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWFJTRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibGF0dmlhLyJ9LCJsdSI6eyJ0aXRsZSI6Ikx1eGVtYm91cmciLCJzY3JlZW5lck5hbWUiOiJsdXhlbWJvdXJnIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9MdXhlbWJvdXJnIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkxVWFNFIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTFVYU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiTFVYU0UiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibHV4ZW1ib3VyZy8ifSwibXgiOnsidGl0bGUiOiJNZXhpY28iLCJzY3JlZW5lck5hbWUiOiJtZXhpY28iLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9NZXhpY29fQ2l0eSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCTVYiLCJCSVZBIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJtZXhpY28vIn0sIm1hIjp7InRpdGxlIjoiTW9yb2NjbyIsInNjcmVlbmVyTmFtZSI6Im1vcm9jY28iLCJzY3JlZW5lclRpbWV6b25lIjoiQWZyaWNhL01vcm9jY28iLCJleGNoYW5nZXNTdG9ja3MiOlsiQ1NFTUEiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJDU0VNQSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJtb3JvY2NvLyJ9LCJteSI6eyJ0aXRsZSI6Ik1hbGF5c2lhIiwidHZMb2NhbGUiOiJtc19NWSIsInNjcmVlbmVyTmFtZSI6Im1hbGF5c2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvU2luZ2Fwb3JlIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk1ZWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJtYWxheXNpYS8ifSwibmciOnsidGl0bGUiOiJOaWdlcmlhIiwic2NyZWVuZXJOYW1lIjoibmlnZXJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvTGFnb3MiLCJleGNoYW5nZXNTdG9ja3MiOlsiTlNFTkciXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoibmlnZXJpYS8ifSwibmwiOnsidGl0bGUiOiJOZXRoZXJsYW5kcyIsInNjcmVlbmVyTmFtZSI6Im5ldGhlcmxhbmRzIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9BbXN0ZXJkYW0iLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkVVUk9ORVhUX0FNUyJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRBTVMiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiRVVST05FWFRfQU1TIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Im5ldGhlcmxhbmRzLyJ9LCJubyI6eyJ0aXRsZSI6Ik5vcndheSIsInNjcmVlbmVyTmFtZSI6Im5vcndheSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvT3NsbyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiT1NMIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVE9TRSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJPU0wiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibm9yd2F5LyJ9LCJueiI6eyJ0aXRsZSI6Ik5ldyBaZWFsYW5kIiwic2NyZWVuZXJOYW1lIjoibmV3emVhbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJQYWNpZmljL0F1Y2tsYW5kIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5aWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJuZXctemVhbGFuZC8ifSwicGUiOnsidGl0bGUiOiJQZXJ1Iiwic2NyZWVuZXJOYW1lIjoicGVydSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL0xpbWEiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlZMIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJwZXJ1LyJ9LCJwaCI6eyJ0aXRsZSI6IlBoaWxpcHBpbmVzIiwic2NyZWVuZXJOYW1lIjoicGhpbGlwcGluZXMiLCJzY3JlZW5lclRpbWV6b25lIjoiUGhpbGlwcGluZXMvTWFuaWxhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlBTRSJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJwaGlsaXBwaW5lcy8ifSwicGsiOnsidGl0bGUiOiJQYWtpc3RhbiIsInNjcmVlbmVyTmFtZSI6InBha2lzdGFuIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvS2FyYWNoaSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiUFNYIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJQU1giXSwiZGVmYXVsdEV4Y2hhbmdlIjoiUFNYIiwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoicGFraXN0YW4vIn0sInBsIjp7InRpdGxlIjoiUG9sYW5kIiwic2NyZWVuZXJOYW1lIjoicG9sYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9XYXJzYXciLCJleGNoYW5nZXNTdG9ja3MiOlsiR1BXIiwiTkVXQ09OTkVDVCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicG9sYW5kLyJ9LCJwdCI6eyJ0aXRsZSI6IlBvcnR1Z2FsIiwic2NyZWVuZXJOYW1lIjoicG9ydHVnYWwiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0xpc2JvbiIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRVVST05FWFRfTElTIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVExJUyJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJFVVJPTkVYVF9MSVMiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicG9ydHVnYWwvIn0sInFhIjp7InRpdGxlIjoiUWF0YXIiLCJzY3JlZW5lck5hbWUiOiJxYXRhciIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1FhdGFyIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlFTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJxYXRhci8ifSwicm8iOnsidGl0bGUiOiJSb21hbmlhIiwic2NyZWVuZXJOYW1lIjoicm9tYW5pYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnVjaGFyZXN0IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWQiJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkJWQiJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJCVkIiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicm9tYW5pYS8ifSwicnMiOnsidGl0bGUiOiJTZXJiaWEiLCJzY3JlZW5lck5hbWUiOiJzZXJiaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0JlbGdyYWRlIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJFTEVYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzZXJiaWEvIn0sInJ1Ijp7InRpdGxlIjoiUnVzc2lhIiwic2NyZWVuZXJOYW1lIjoicnVzc2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9Nb3Njb3ciLCJleGNoYW5nZXNTdG9ja3MiOlsiUlVTIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJydXNzaWEvIn0sInNhIjp7InRpdGxlIjoiU2F1ZGkgQXJhYmlhIiwidHZMb2NhbGUiOiJhcl9BRSIsInNjcmVlbmVyTmFtZSI6ImtzYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1JpeWFkaCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUQURBV1VMIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImtzYS8ifSwic2UiOnsidGl0bGUiOiJTd2VkZW4iLCJzY3JlZW5lck5hbWUiOiJzd2VkZW4iLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1N0b2NraG9sbSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJOR00iLCJPTVhTVE8iXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJOR00iLCJPTVhTVE8iXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InN3ZWRlbi8ifSwic2ciOnsidGl0bGUiOiJTaW5nYXBvcmUiLCJzY3JlZW5lck5hbWUiOiJzaW5nYXBvcmUiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9TaW5nYXBvcmUiLCJleGNoYW5nZXNTdG9ja3MiOlsiU0dYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InNpbmdhcG9yZS8ifSwic2siOnsidGl0bGUiOiJTbG92YWtpYSIsInNjcmVlbmVyTmFtZSI6InNsb3Zha2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CcmF0aXNsYXZhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJTU0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InNsb3Zha2lhLyJ9LCJzaSI6eyJ0aXRsZSI6IlNsb3ZlbmlhIiwic2NyZWVuZXJOYW1lIjoic2xvdmVuaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0xqdWJsamFuYSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJMSlNFIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTEpTRSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJMSlNFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InNsb3ZlbmlhLyJ9LCJ0aCI6eyJ0aXRsZSI6IlRoYWlsYW5kIiwidHZMb2NhbGUiOiJ0aF9USCIsInNjcmVlbmVyTmFtZSI6InRoYWlsYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvQmFuZ2tvayIsImV4Y2hhbmdlc1N0b2NrcyI6WyJTRVQiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoidGhhaWxhbmQvIn0sInRuIjp7InRpdGxlIjoiVHVuaXNpYSIsInNjcmVlbmVyTmFtZSI6InR1bmlzaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQWZyaWNhL1R1bmlzIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWTVQiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoidHVuaXNpYS8ifSwidHIiOnsidGl0bGUiOiJUdXJrZXkiLCJzY3JlZW5lck5hbWUiOiJ0dXJrZXkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0lzdGFuYnVsIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJJU1QiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InR1cmtleS8ifSwidHciOnsidGl0bGUiOiJUYWl3YW4sIENoaW5hIiwidHZMb2NhbGUiOiJ6aF9UVyIsInNjcmVlbmVyTmFtZSI6InRhaXdhbiIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1RhaXBlaSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUV1NFIiwiVFBFWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJ0YWl3YW4vIn0sImdiIjp7InRpdGxlIjoiVW5pdGVkIEtpbmdkb20iLCJzY3JlZW5lck5hbWUiOiJ1ayIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTG9uZG9uIiwiZGVmYXVsdEV4Y2hhbmdlIjoiTFNFIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkxTRSIsIkxTSU4iLCJBUVVJUyJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoidW5pdGVkLWtpbmdkb20vIn0sInZlIjp7InRpdGxlIjoiVmVuZXp1ZWxhIiwic2NyZWVuZXJOYW1lIjoidmVuZXp1ZWxhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvQ2FyYWNhcyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVkNWIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJ2ZW5lenVlbGEvIn0sInZuIjp7InRpdGxlIjoiVmlldG5hbSIsInR2TG9jYWxlIjoidmlfVk4iLCJzY3JlZW5lck5hbWUiOiJ2aWV0bmFtIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvSG9fQ2hpX01pbmgiLCJleGNoYW5nZXNTdG9ja3MiOlsiSE9TRSIsIkhOWCIsIlVQQ09NIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InZpZXRuYW0vIn0sInphIjp7InRpdGxlIjoiU291dGggQWZyaWNhIiwic2NyZWVuZXJOYW1lIjoicnNhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9Kb2hhbm5lc2J1cmciLCJleGNoYW5nZXNTdG9ja3MiOlsiSlNFIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6InNvdXRoLWFmcmljYS8ifSwid3ciOnsidGl0bGUiOiJXb3JsZHdpZGUiLCJzY3JlZW5lck5hbWUiOiJnbG9iYWwiLCJleGNoYW5nZXNTdG9ja3MiOltdfX0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCBCH.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.442Z","timestamp":1785136905442,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCBCH.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCPAXG.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.465Z","timestamp":1785136905465,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCPAXG.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCCAKE.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.501Z","timestamp":1785136905501,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCCAKE.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/52095.e6eb530a13b2febd2cd3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.957Z","timestamp":1785136900957,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52095.e6eb530a13b2febd2cd3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-18c2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: fcdf9b008d986bc5278838a1a1f4a236\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6338,"size_decoded":2044,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6338), with no line terminators","md5":"caf4bfb0a92f81c0fb9d32b268c23f3c","sha1":"9157a7392cd2a99623089b8a8b0c46066c18c88b","sha256":"3fac059dd2a8faed0d0e54c7f4f74b33d35ee9572c353c6fde78c6cd96f168a1","sha512":"d6b7104f441ac900f2633fda4217d59f42503ae78aed48880181f69174c8e2422ec2a64e191f78c7760476881aa76db8007e9f911ebe2ff98ccab39b640ff4ef","ssdeep":"192:lnsu2uCTwTyQnjnvOJOdr45YERrzxD0VOnPn3nTuouzTmTogen9gqpnq:BI","tlshash":"0fd1794cf146b43e265f353a4319d1eca218b4c2e9c21ff7b971d2244ae1bc2e5f991a","first_seen":"2026-07-23T14:00:31.721517Z","last_seen":"2026-07-28T06:17:53.578409Z","times_seen":383,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtemtrcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXpra3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9Lml0ZW0tdlRtOE8wTE17dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcH0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9Lml0ZW0tdlRtOE8wTE0uaW50ZXJhY3RpdmUtdlRtOE8wTE0uaG92ZXJlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNLmhvdmVyZWQtdlRtOE8wTE17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tdlRtOE8wTE0uZGlzYWJsZWQtdlRtOE8wTE17Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNX0uaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmRpc2FibGVkLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfX0uaXRlbS12VG04TzBMTS5hY3RpdmUtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTSAuc2hvcnRjdXQtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZSAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlciAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLXZUbThPMExNLm5vcm1hbC12VG04TzBMTXtoZWlnaHQ6MzJweH0uaXRlbS12VG04TzBMTS5iaWctdlRtOE8wTE17aGVpZ2h0OjY4cHh9Lmljb25DZWxsLXZUbThPMExNe21pbi13aWR0aDo2cHh9Lmljb24tdlRtOE8wTE17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweDt3aWR0aDoyOHB4fS5pY29uLXZUbThPMExNIHN2Z3toZWlnaHQ6MjhweDt3aWR0aDoyOHB4fS5jb250ZW50LXZUbThPMExNe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjM2NXB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWwtdlRtOE8wTE17ZmxleDoxIDEgYXV0bztmb250LXNpemU6MTRweDtvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nLWlubGluZS1zdGFydDoycHg7dGV4dC1hbGlnbjpzdGFydH0udG9vbGJveC12VG04TzBMTXtmbGV4OjAgMSBhdXRvO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC5pdGVtLXZUbThPMExNOmhvdmVyIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjF9fS5hcnJvd0ljb24tdlRtOE8wTE17ZmxleDowIDEgYXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHh9LmFycm93SWNvbi12VG04TzBMTSBzdmd7aGVpZ2h0OjEwcHg7ZmlsbDpjdXJyZW50Q29sb3J9LmFycm93SWNvbi12VG04TzBMTSBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LXZUbThPMExNe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0KSk7ZmxleDowIDEgYXV0bztmb250LXNpemU6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7cGFkZGluZy10b3A6MnB4fS5zdWJNZW51LXZUbThPMExNe2hlaWdodDowfS5pbnZpc2libGVIb3RrZXktdlRtOE8wTE17dmlzaWJpbGl0eTpoaWRkZW59Lml0ZW0tZDlqTE9MclJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmctYmxvY2s6OHB4IDhweDtwYWRkaW5nLWlubGluZTo0MnB4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0uaXRlbS1kOWpMT0xyUi5lbXB0eUljb25zLWQ5akxPTHJSe3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lml0ZW0tZDlqTE9MclIubG9hZGluZy1kOWpMT0xyUntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5pdGVtLWQ5akxPTHJSLmRpc2FibGVkLWQ5akxPTHJSe2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjV9Lml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5kaXNhYmxlZC1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfS5pdGVtLWQ5akxPTHJSLmludGVyYWN0aXZlLWQ5akxPTHJSLmhvdmVyZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0uaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUi5ob3ZlcmVkLWQ5akxPTHJSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5pdGVtLWQ5akxPTHJSLm5vcm1hbC1kOWpMT0xyUnttaW4taGVpZ2h0OjQwcHh9Lml0ZW0tZDlqTE9MclIuYmlnLWQ5akxPTHJSe21pbi1oZWlnaHQ6NjhweH0uaWNvbi1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3dpZHRoOjI4cHh9Lmljb24tZDlqTE9MclIsLmxhYmVsLWQ5akxPTHJSe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX0ubGFiZWwtZDlqTE9MclJ7ZmxleC1ncm93OjE7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4taW5saW5lLWVuZDo4cHg7bWF4LXdpZHRoOjEwMCU7d29yZC1icmVhazpicmVhay13b3JkfS50aXRsZS1kOWpMT0xyUntmb250LXdlaWdodDo3MDB9LnRpdGxlLWQ5akxPTHJSIC5pY29uLWQ5akxPTHJSOmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5uZXN0ZWQtZDlqTE9MclJ7YWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0bzt3aWR0aDoxOHB4fS5uZXN0ZWQtZDlqTE9MclI6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LWQ5akxPTHJSe2xpbmUtaGVpZ2h0OjI0cHg7cGFkZGluZzowfS5yZW1vdmUtZDlqTE9MclIsLnNob3J0Y3V0LWQ5akxPTHJSe21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99LnJlbW92ZS1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/bp.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.050Z","timestamp":1785136902050,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /bp.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/css/owl.carousel.min.css","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.488Z","timestamp":1785136899488,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /css/owl.carousel.min.css HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/css\r\nContent-Length: 4337\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":4337,"size_decoded":4546,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"9843ea449af1cd03ec3e44c854f42347","sha1":"4c0c46eedbb43465f866878d4081a3ca5f9e060a","sha256":"8a53e08937c56d0ca2c80ce4dd719cac4393f8f28aed062116850b1e26a08ee6","sha512":"e421174abce281cef8f4db552a7c1750d5f773035d99191ab8f75dd50ae00664098c07f849759a7ee8c78b79cd5ba33cf1625bc5c493738e5e57c4de882518eb","ssdeep":"96:3QgSZ+nXSV+8QmmcJeXhrUTJh39DyAAFdh0g0FarLvV7Kmiyb:QZ+nXQQzd2l/yP73vgnyb","tlshash":"949159e42226114f593b87a01bed8a56f87d84638c061104b6eb470a4ffea68911ff6e","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-08-09T04:43:01.323306Z","times_seen":236,"resource_available":false,"data":"LyoqDQogKiBPd2wgQ2Fyb3VzZWwgdjIuMy40DQogKiBDb3B5cmlnaHQgMjAxMy0yMDE4IERhdmlkIERldXRzY2gNCiAqIExpY2Vuc2VkIHVuZGVyOiBTRUUgTElDRU5TRSBJTiBodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFDQogKi8NCg0KLm93bC1jYXJvdXNlbCwNCi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHsNCiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZQ0KfQ0KDQoub3dsLWNhcm91c2VsIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHotaW5kZXg6IDENCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7DQogICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247DQogICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW4NCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHsNCiAgICBjb250ZW50OiAiLiI7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgY2xlYXI6IGJvdGg7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIGxpbmUtaGVpZ2h0OiAwOw0KICAgIGhlaWdodDogMA0KfQ0KDQoub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKQ0KfQ0KDQoub3dsLWNhcm91c2VsIC5vd2wtaXRlbSwNCi5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVyIHsNCiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkNCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gew0KICAgIG1pbi1oZWlnaHQ6IDFweDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUNCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMTAwJQ0KfQ0KDQoub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCwNCi5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWQgew0KICAgIGRpc3BsYXk6IG5vbmUNCn0NCg0KLm5vLWpzIC5vd2wtY2Fyb3VzZWwsDQoub3dsLWNhcm91c2VsLm93bC1sb2FkZWQgew0KICAgIGRpc3BsYXk6IGJsb2NrDQp9DQoNCi5vd2wtY2Fyb3VzZWwgLm93bC1kb3QsDQoub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCwNCi5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2IHsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgdXNlci1zZWxlY3Q6IG5vbmUNCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLW5leHQsDQoub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldiwNCi5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qgew0KICAgIGJhY2tncm91bmQ6IDAgMDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgICBib3JkZXI6IG5vbmU7DQogICAgcGFkZGluZzogMCAhaW1wb3J0YW50Ow0KICAgIGZvbnQ6IGluaGVyaXQNCn0NCg0KLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7DQogICAgb3BhY2l0eTogMDsNCiAgICBkaXNwbGF5OiBibG9jaw0KfQ0KDQoub3dsLWNhcm91c2VsLm93bC1oaWRkZW4gew0KICAgIG9wYWNpdHk6IDANCn0NCg0KLm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW0gew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbg0KfQ0KDQoub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7DQogICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7DQogICAgdG91Y2gtYWN0aW9uOiBwYW4teTsNCiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgLW1zLXVzZXItc2VsZWN0OiBub25lOw0KICAgIHVzZXItc2VsZWN0OiBub25lDQp9DQoNCi5vd2wtY2Fyb3VzZWwub3dsLWdyYWIgew0KICAgIGN1cnNvcjogbW92ZTsNCiAgICBjdXJzb3I6IGdyYWINCn0NCg0KLm93bC1jYXJvdXNlbC5vd2wtcnRsIHsNCiAgICBkaXJlY3Rpb246IHJ0bA0KfQ0KDQoub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHsNCiAgICBmbG9hdDogcmlnaHQNCn0NCg0KLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQgew0KICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aA0KfQ0KDQoub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4gew0KICAgIHotaW5kZXg6IDANCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7DQogICAgei1pbmRleDogMQ0KfQ0KDQoub3dsLWNhcm91c2VsIC5mYWRlT3V0IHsNCiAgICBhbmltYXRpb24tbmFtZTogZmFkZU91dA0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXQgew0KICAgIDAlIHsNCiAgICAgICAgb3BhY2l0eTogMQ0KICAgIH0NCiAgICAxMDAlIHsNCiAgICAgICAgb3BhY2l0eTogMA0KICAgIH0NCn0NCg0KLm93bC1oZWlnaHQgew0KICAgIHRyYW5zaXRpb246IGhlaWdodCAuNXMgZWFzZS1pbi1vdXQNCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UNCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5Om5vdChbc3JjXSksDQoub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenlbc3JjXj0iIl0gew0KICAgIG1heC1oZWlnaHQ6IDANCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5IHsNCiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkDQp9DQoNCi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIGJhY2tncm91bmQ6ICMwMDANCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGhlaWdodDogODBweDsNCiAgICB3aWR0aDogODBweDsNCiAgICBsZWZ0OiA1MCU7DQogICAgdG9wOiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC00MHB4Ow0KICAgIG1hcmdpbi10b3A6IC00MHB4Ow0KICAgIGJhY2tncm91bmQ6IHVybChvd2wudmlkZW8ucGxheS5odG1sKSBuby1yZXBlYXQ7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIHotaW5kZXg6IDE7DQogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBlYXNlDQp9DQoNCi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb246aG92ZXIgew0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKQ0KfQ0KDQoub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiwNCi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4gew0KICAgIGRpc3BsYXk6IG5vbmUNCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOw0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UNCn0NCg0KLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1lIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgd2lkdGg6IDEwMCUNCn0="}},"time_used":323,"timings":{"blocked":230,"dns":0,"connect":0,"send":0,"wait":93,"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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/slider-img-3.jpg","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.167Z","timestamp":1785136900167,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/slider-img-3.jpg HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/jpeg\r\nContent-Length: 275875\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":275875,"size_decoded":276088,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 1920x985, components 3","md5":"b42d658c1eb08a023d4b9769a9f40abe","sha1":"fd3f4321d30b5b6bd66b68bf79df3625a9a55d4b","sha256":"d846df28e1925b57d4a4b6fa29b4f257bc76ac21dad639a3751376dc4ff93609","sha512":"95a88926d949f336375eceab799b5f6f7902132df1f84d48478d026bbc5652e27ee6c07a714edbf19c17ee7b39fb7420785752e7a7ae26c2f657c5efe4222077","ssdeep":"6144:k6PrVr16spv6+rWE/Vn3hCdW1uQDm5+wtMj/CFdF:kEr76spvRU6uQKRtMj/CbF","tlshash":"ea4423b63b7066d8560503a0dee79a4f41609991dae690c5ed86d92f02330dce86dffc","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-07-27T13:11:21.769972Z","times_seen":103,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QPGaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcFJpZ2h0cz0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3JpZ2h0cy8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBSaWdodHM6TWFya2VkPSJGYWxzZSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmFhZmQzNTc5LTFmYjEtNmI0MS05ZGQ4LTk1YjJjNjEyZDk4YiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NkNEQTIxQzAwODMxMUVBODQ5QTgyMDYxMzJGQ0Y5QyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NkNEQTIxQjAwODMxMUVBODQ5QTgyMDYxMzJGQ0Y5QyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBNzhDRkQwOEZGQjcxMUU5QTdDRUFCQzM0OEIwMzUxNyIgc3RSZWY6ZG9j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"}},"time_used":411,"timings":{"blocked":222,"dns":0,"connect":0,"send":0,"wait":93,"receive":96,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/31001.c522294d3a28d9ca151c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.612Z","timestamp":1785136901612,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31001.c522294d3a28d9ca151c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4231b8-8cb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 29 Jun 2026 08:50:00 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/29/2026 10:50:36\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 20346c1cd992c01905e907c0a36b68c8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2251,"size_decoded":1671,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2251), with no line terminators","md5":"6802e4f2b88f1b95b3c00f50a4733ffa","sha1":"647de376bdd1c6a00b3bda320180479f481eed40","sha256":"721bbd1ae2d8cabdcddb25c2c5ec1eac0fe34d80a62a58972723c006890ced6d","sha512":"47c3f5437805efa03927e47dda89e1716a920079d2309e3a9f9c91d01c60801556de3a55308e1f97f5eaa074cc0a0852bb4a7e3550f91850ebfef6726f80e95e","ssdeep":"","tlshash":"85415288f35090a77cd78cbad397560d2a08fe33d91086fee50d991892c2ae36111b18","first_seen":"2026-06-29T12:05:37.516387Z","last_seen":"2026-07-28T06:17:53.40681Z","times_seen":207,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaG5IeTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1fMS1obkh5OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLV8yLWhuSHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tXzMtaG5IeTp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnN1YnRpdGxlLWJMVEJoQ3dKe2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9LnN1YnRpdGxlLWJMVEJoQ3dKIC50ZXh0LWJMVEJoQ3dKe2ZsZXg6MSAwIDA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnN1bW1hcnktYkxUQmhDd0p7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMjc3ZGVnLCNmZmYwIDcwLjAyJSwjZDUwMGY5MWEgMTAwLjIxJSksbGluZWFyLWdyYWRpZW50KDI2M2RlZywjZmZmMCA2OS45MyUsIzAwZTVmZjFhKSxsaW5lYXItZ3JhZGllbnQoNzlkZWcsI2ZmZjAgNjUuODQlLCNkNTAwZjkxYSksbGluZWFyLWdyYWRpZW50KDEwMWRlZywjZmZmMCA2NS45JSwjMDBlNWZmMWEgMTAwLjEzJSk7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDttYXJnaW4tYm90dG9tOjhweDtwYWRkaW5nOjhweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO2xpbmUtaGVpZ2h0OjE4cHh9LnN1bW1hcnktYkxUQmhDd0o6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWEyMDApO2NvbnRlbnQ6IiAiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzay1pbWFnZTp1cmwoc2l6ZV8xOHB4X19maWxsZWRfb25fX3R5cGVfZG91YmxlLmU2M2FmZDYzMGNkYWM4Zjc0ZWM4LnN2Zyk7bWFzay1pbWFnZTp1cmwoc2l6ZV8xOHB4X19maWxsZWRfb25fX3R5cGVfZG91YmxlLmU2M2FmZDYzMGNkYWM4Zjc0ZWM4LnN2Zyk7dmVydGljYWwtYWxpZ246Ym90dG9tO3dpZHRoOjE4cHh9Lmdyb3VwLWJMVEJoQ3dKe3BhZGRpbmctdG9wOjEycHh9Lmdyb3VwSWNvbi1iTFRCaEN3Sntib3JkZXItcmFkaXVzOjlweDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjdweDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MThweH0uZ3JvdXBJY29uLWJMVEJoQ3dKLmJlZm9yZU1hcmtldE9wZW4tYkxUQmhDd0p7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodCk7Y29sb3I6dmFyKC0tXzAtaG5IeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncm91cEljb24tYkxUQmhDd0ouYmVmb3JlTWFya2V0T3Blbi1iTFRCaEN3Sjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLW5vcm1hbCl9fS5ncm91cEljb24tYkxUQmhDd0ouYWZ0ZXJNYXJrZXRDbG9zZS1iTFRCaEN3SntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpO2NvbG9yOnZhcigtLV8yLWhuSHkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ3JvdXBJY29uLWJMVEJoQ3dKLmFmdGVyTWFya2V0Q2xvc2UtYkxUQmhDd0o6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbCl9fS5ncm91cFRpdGxlLWJMVEJoQ3dKe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lmdyb3VwUm93LWJMVEJoQ3dKe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9Lmdyb3VwQ2VsbC1iTFRCaEN3SntmbGV4OjEgMCAwfS5ncm91cC1iTFRCaEN3SiAudGV4dC1iTFRCaEN3Sntmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59649.92df5c6660570716c83b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.641Z","timestamp":1785136901641,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/59649.92df5c6660570716c83b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-35cf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8018c19a69d33fe361ddd7135b32b475\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13775,"size_decoded":5591,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3062)","md5":"57159064a167c575b3f42cfe243c8b4a","sha1":"2fd63df6a6219555e07b7f46761a70335b041f7f","sha256":"9507b55a5faa7e958e1e3e4aee4b5f32e94cdbf494c098c8b09ec3d032f0d99f","sha512":"415cd8a87e36d006cfb494a437457d8cb15372dae8dba44d8672272bde5159c57db31fa519cbb62c5b5ae1fc709ed3d65e6fa3fcee70b0920f0b34a22e191089","ssdeep":"384:1n+y6T2SHX//Hz6v6eeR3otnEGIMLwqIhqK6EyHv+FxjLcyJao:9+y66SHX3WyeeR3I7Lw5hqK6pHv+FxjP","tlshash":"405286527293b8f6e1b581e358740503e66d1dcaa881958cf7bc0ccea74de48b274f7a","first_seen":"2026-07-22T16:00:00.524854Z","last_seen":"2026-07-28T06:17:53.620683Z","times_seen":88,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTk2NDldLHs5Njg2NzEoZSx0LHMpe2Z1bmN0aW9uIGkoZSx0LHMpe2xldCBpPWVbYCR7dH0jJHtzfWBdfHxudWxsO3JldHVybiBudWxsPT09aSYmKGk9ZVt0XXx8bnVsbCksbnVsbD09PWkmJk9iamVjdC5rZXlzKGUpLmZvckVhY2goKHM9PntudWxsPT09aSYmcy5zdGFydHNXaXRoKGAke3R9I2ApJiYoaT1lW3NdfHxudWxsKX0pKSxpfXMuZCh0LHtnZXRPYnNvbGV0ZUlkZWFTeW1ib2xJbmZvOigpPT5pfSl9LDg1OTY0OShlLHQscyl7cy5kKHQse1N0dWR5Q29tcGFyZTooKT0+S30pO3ZhciBpPXMoMTM4NjM4KSxyPXMoMjMyMzY0KSxsPXMoOTMwMjMxKSxuPXMoOTY4NjcxKSxvPXMoMTUyNzY2KSxhPXMoMTk3MjcyKSx1PXMoOTUyOTAwKSxkPXMoMTI4OTk4KSxjPXMoMzE0OTE0KSxoPXMoNzY4MjkyKSxtPXMoNDA3Nzk5KSx5PXMoMjI2NDc3KSxiPXMoNzE2NzgpLF89cygxMjM2MTcpLHA9cyg4NzM1NzMpO2NvbnN0IFM9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZm9yY2VfZXhjaGFuZ2VfYXNfdGl0bGUiKTtjbGFzcyB2IGV4dGVuZHMgYi5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9zdHVkeUNvbXBhcmU9ZSx0aGlzLl9kYXRhPXR9X3VwZGF0ZVJlbmRlcmVyRGF0YShlLHQscyl7ZS52aXNpYmxlPSExLHQudmlzaWJsZT0hMTtjb25zdCByPXRoaXMuX3N0dWR5Q29tcGFyZS5wcmljZVNjYWxlKCksbD10aGlzLl9zdHVkeUNvbXBhcmUubGFzdFZhbHVlRGF0YSh0aGlzLl9kYXRhLnBsb3ROYW1lLCExKTtpZihsLm5vRGF0YXx8bnVsbD09PXJ8fHIuaXNFbXB0eSgpKXJldHVybjtjb25zdCBuPXRoaXMuX3N0dWR5Q29tcGFyZS5tb2RlbCgpLG89bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksYT1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PW98fG51bGw9PT1hKXJldHVybjtjb25zdCB1PSgwLHAucmVzZXRUcmFuc3BhcmVuY3kpKGwuY29sb3IpO2lmKGE8PW8ubGFzdEJhcigpKXMuYmFja2dyb3VuZD11LHMudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3Iocy5iYWNrZ3JvdW5kKSxzLmJvcmRlckNvbG9yPXZvaWQgMCxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExO2Vsc2V7Y29uc3Qgcj1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGwuY29vcmRpbmF0ZS8oMCxpLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zdHVkeUNvbXBhcmUpKS5oZWlnaHQoKSk7cy5iYWNrZ3JvdW5kPXIscy50ZXh0Q29sb3I9dSxzLmJvcmRlckNvbG9yPXMudGV4dENvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9cy5jb29yZGluYXRlPWwuY29vcmRpbmF0ZTtjb25zdCBkPW4ucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7ZC5zaG93U2VyaWVzTGFzdFZhbHVlLnZhbHVlKCkmJihlLnRleHQ9KDAsXy5nZXRDdXJyZW50TW9kZVByaWNlVGV4dCkocixsKSxkLnNlcmllc0xhc3RWYWx1ZU1vZGUudmFsdWUoKSE9PXkuUHJpY2VBeGlzTGFzdFZhbHVlTW9kZS5MYXN0UHJpY2VBbmRQZXJjZW50YWdlVmFsdWU/ZS5zZWNvbmRMaW5lPSIiOmUuc2Vjb25kTGluZT0oMCxfLmdldE9wcG9zaXRlTW9kZVByaWNlVGV4dCkocixsKSxlLnZpc2libGU9ITApLHQudGV4dD0iIixkLnNob3dTeW1ib2xMYWJlbHMudmFsdWUoKSYmKHQudGV4dD10aGlzLl9wYW5lVGV4dCgpLHQudmlzaWJsZT10LnRleHQubGVuZ3RoPjApLGUuc2VsZWN0ZWRNYXJrQ29sb3I9bi5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMuX3N0dWR5Q29tcGFyZSk/dTp2b2lkIDB9X3BhbmVUZXh0KCl7bGV0IGU9IiI7Y29uc3QgdD10aGlzLl9zdHVkeUNvbXBhcmUuc3ltYm9sSW5mbygpO3JldHVybiBTP2U9KDAsZC5kaXNwbGF5ZWRTeW1ib2xFeGNoYW5nZSkodCk6dGhpcy5fc3R1ZHlDb21wYXJlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy52YWx1ZSgpJiYoZT0oMCxkLmRpc3BsYXllZFN5bWJvbE5hbWUpKHQpKSxlfX12YXIgZz1zKDE4NTI3MSksQz1zKDUzNjcxMCksST1zKDMwOTgzNyksZj1zKDY3ODI4NSksUD1zKDMxODk3NCksVj1zKDg2MDQ0MiksVD1zKDYwMTg0MSksdz1zKDk0Mzk1KTtjb25zdCB4PVAuQ2hlY2tNb2JpbGUuYW55KCk7Y2xhc3MgTCBleHRlbmRzIEkuU3R1ZHlWYWx1ZXNQcm92aWRlcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fZW1wdHlWYWx1ZXNbMF0udGl0bGU9ZS5ndWlQbG90TmFtZSh3LlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCIiKX1nZXRWYWx1ZXMoZSl7cmV0dXJuKDAsVC5pc051bWJlcikoZSl8fCh0aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpP2U9dGhpcy5fc3R1ZHkuZGF0YSgpLmxhc3RJbmRleCgpOihlPXRoaXMuX21vZGVsLmNyb3NzaGFpclNvdXJjZSgpLmFwcGxpZWRJbmRleCgpLCgwLFQuaXNOdW1iZXIpKGUpfHwoZT10aGlzLl9zdHVkeS5kYXRhKCkubGFzdEluZGV4KCkpKSksc3VwZXIuZ2V0VmFsdWVzKGUpfV9oaWRlVmFsdWVzKCl7cmV0dXJuITF9X3Nob3dMYXN0UHJpY2VBbmRDaGFuZ2VPbmx5KCl7cmV0dXJuIHgmJihudWxsPT09dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkucGFuZXx8KDAsVi5pc0xpbmVUb29sTmFtZSkoZi50b29sLnZhbHVlKCkpfHxudWxsIT09dGhpcy5fbW9kZWwubGluZUJlaW5nRWRpdGVkKCkpfX1jbGFzcyBFIGV4dGVuZHMgQy5TdHVkeURhdGFXaW5kb3dWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9zdHVkeUNvbXBhcmU9ZX1faGlkZVZhbHVlcygpe3JldHVybiExfV9jcmVhdGVWYWx1ZXNQcm92aWRlcihlLHQpe3JldHVybiBuZXcgTChlLHQpfX12YXIgTz1zKDk2NjQwNCksUj1zKDk0NzM4Mik7Y2xhc3MgVSBleHRlbmRzIEV7Y29uc3RydWN0b3IoZSx0KXsKc3VwZXIoZSx0KSx0aGlzLl9hZGRpdGlvbmFsPW51bGwsdGhpcy5fc2hvd1Nlcmllc09ITEM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzT0hMQyx0aGlzLl9zaG93U2VyaWVzT0hMQy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMudXBkYXRlKCgwLE8uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKSl9YXJlVmFsdWVzVmlzaWJsZSgpe3JldHVybiB0aGlzLl9zaG93U2VyaWVzT0hMQy52YWx1ZSgpfWRlc3Ryb3koKXt0aGlzLl9zaG93U2VyaWVzT0hMQy51bnN1YnNjcmliZUFsbCh0aGlzKX1hZGRpdGlvbmFsKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9hZGRpdGlvbmFsfV91cGRhdGVJbXBsKCl7e2NvbnN0IGU9KDAsUi5nZXREYXRhVmVuZG9yU3RyaW5nKSh0aGlzLl9zdHVkeUNvbXBhcmUuc3ltYm9sSW5mbygpKTt0aGlzLl9hZGRpdGlvbmFsPWU/Zy50KG51bGwsdm9pZCAwLHMoMzY3NTM4KSkrIiAiK2U6bnVsbH1zdXBlci5fdXBkYXRlSW1wbCgpfX12YXIgQT1zKDkzMjY5MyksRj1zKDI1MDMzNCksaz1zKDI3NTg0OSk7Y2xhc3MgRCBleHRlbmRzIGsuU3R1ZHlTdGF0dXNQcm92aWRlcntnZXRTcGxpdFRpdGxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5nZXRTcGxpdFRpdGxlKCExKX10ZXh0KCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5pc0FjdHVhbEludGVydmFsKCk/dGhpcy5fc291cmNlLmlzRmFpbGVkKCk/YCR7dGhpcy5fc291cmNlLnRpdGxlKHcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX06ICR7dGhpcy5zb3VyY2VTdGF0dXNUZXh0KCl9YDpgJHt0aGlzLl9zb3VyY2UudGl0bGUody5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCx2b2lkIDAsITEsITEpfSAke3RoaXMuc291cmNlU3RhdHVzVGV4dCgpfWA6dGhpcy5fc291cmNlLnRpdGxlKHcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX19dmFyIE09cygyMDY1NzApLE49cygzMjI1NTQpLEg9cyg3MjM1MjUpO2NvbnN0ICQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3R1ZHlfb3ZlcmxheV9jb21wYXJlX2xlZ2VuZF9vcHRpb24iKSxCPSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZvcmNlX2V4Y2hhbmdlX2FzX3RpdGxlIiksVz0hKDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9zdHVkeV9jb21wYXJlX2xlZ2VuZF9pdGVtIiksaj0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3VucmVzb2x2ZWRfc3ltYm9sc19pbl9sZWdlbmQiKTt2YXIgRzshZnVuY3Rpb24oZSl7ZS5TbmFwU2hvdFN5bWJvbEluZm9LZXk9Il9fX3NuYXBzaG90In0oR3x8KEc9e30pKTtjbGFzcyBLIGV4dGVuZHMgYS5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLGwsbil7c3VwZXIoZSxmdW5jdGlvbihlKXtyZXR1cm4gZS5oYXNDaGlsZCgiY3VycmVuY3lJZCIpfHxlLmFkZENoaWxkKCJjdXJyZW5jeUlkIixuZXcgaC5Qcm9wZXJ0eShudWxsKSksZS5oYXNDaGlsZCgidW5pdElkIil8fGUuYWRkQ2hpbGQoInVuaXRJZCIsbmV3IGguUHJvcGVydHkobnVsbCkpLGUuYWRkRXhjbHVkZWRLZXkoImN1cnJlbmN5SWQiLDEpLGUuYWRkRXhjbHVkZWRLZXkoInVuaXRJZCIsMSksZX0odCkscyxpLGwsbiksdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbFNvdXJjZT0iIix0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5taW5UaWNrLnN1YnNjcmliZShudWxsLCgoKT0+dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKSkpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2suc3Vic2NyaWJlKG51bGwsKCgpPT50aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCkpKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS51bml0SWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Vbml0Q2hhbmdlZCksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sSGliZXJuYXRlZD1uZXcgci5XYXRjaGVkVmFsdWUoITEpLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcykpKTtjb25zdCBvPSgpPT50aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnNldFZhbHVlKHRoaXMuc3ltYm9sSW5mbygpKTt0aGlzLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsbyksdGhpcy5vblN0YXR1c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxvKSxvKCksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5faXNVbml0T3JpZ2luLnNldFZhbHVlKCEwKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31zeW1ib2xQYXJhbXMoKXtyZXR1cm4oMCxNLnN5bWJvbFBhcmFtcykodGhpcyl9Y29tcGFyZVN5bWJvbFBhcmFtcyhlKXtyZXR1cm4oMCxNLmNvbXBhcmVTeW1ib2xQYXJhbXMpKHRoaXMsZSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpKX1hc3luYyBzZXRTeW1ib2xQYXJhbXMoZSl7dGhpcy5fc2V0U3ltYm9sQ3VycmVuY3lVbml0SW50ZXJuYWwoZSl9c3ltYm9sKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKX1zeW1ib2xPckFsaWFzKCl7cmV0dXJuIHRoaXMuc3ltYm9sKCl9CnN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN5bWJvbH1vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLnN5bWJvbENoYW5nZWQoKX1zZXRTeW1ib2woZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3N5bWJvbDplfSl9c3ltYm9sSW5mbygpe2lmKCF0aGlzLl9yZXNvbHZlZFN5bWJvbHMpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLnN5bWJvbCgpO2lmKCFlKXJldHVybiBudWxsO2xldCB0O3JldHVybiB0PXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT90aGlzLl9yZXNvbHZlZFN5bWJvbHMuX19fc25hcHNob3R8fG51bGw6dGhpcy5fcmVzb2x2ZWRTeW1ib2xzW3RoaXMuX2dldFN5bWJvbEZvclJlc29sdmUoZSldfHxudWxsLHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSYmbnVsbD09PXQmJih0PSgwLG4uZ2V0T2Jzb2xldGVJZGVhU3ltYm9sSW5mbykodGhpcy5fcmVzb2x2ZWRTeW1ib2xzLGUsdGhpcy5jdXJyZW5jeSgpKSxudWxsIT09dCYmKHRoaXMuX3Jlc29sdmVkU3ltYm9scy5fX19zbmFwc2hvdD10KSksdH1zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5yZWFkb25seSgpfWFsaWFzU3ltYm9sSW5mbygpe3JldHVybiB0aGlzLnN5bWJvbEluZm8oKX1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLnN5bWJvbHNSZXNvbHZlZCgpfXN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmV9c3ltYm9sSGliZXJuYXRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xIaWJlcm5hdGVkfWlzVmlzaWJsZSgpe2NvbnN0IGU9c3VwZXIuaXNWaXNpYmxlKCk7cmV0dXJuIHRoaXMuX3N5bWJvbEhpYmVybmF0ZWQuc2V0VmFsdWUoIWUpLGV9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4oMCxNLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybigwLE4uc3ltYm9sU2FtZUFzUmVzb2x2ZWQpKGUsdGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlLHRoaXMuc3ltYm9sKCkpfWN1cnJlbmN5KCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmN1cnJlbmN5SWQudmFsdWUoKXx8bnVsbH1zZXRDdXJyZW5jeShlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7Y3VycmVuY3k6ZX0pfXVuaXQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudW5pdElkLnZhbHVlKCl8fG51bGx9c2V0VW5pdChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7dW5pdDplfSl9c2V0TWV0cmljKGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHttZXRyaWM6ZX0pfXN0eWxlKCl7cmV0dXJuIDJ9c2V0U3R5bGUoZSl7fWludGVydmFsKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfXNldEludGVydmFsKGUpe312YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbMV0/P251bGx9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7dGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCl8fGRlbGV0ZSBzLnN0YXRlLnVuaXRJZDtjb25zdCByPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHMuc3RhdGUuaW5wdXRzLnN5bWJvbD0oMCxkLnN5bWJvbFRvU2F2ZUluU3RhdGUpKHRoaXMuc3ltYm9sSW5mbygpPz90aGlzLl9tb2RlbC5jaGFydEFwaSgpLmxhc3RTeW1ib2xSZXNvbHZlSW5mbyhyKSxyKSxlJiYoKDAsaS5lbnN1cmVEZWZpbmVkKShzLmRhdGEpLnN5bWJvbHM9e19fX3NuYXBzaG90OnRoaXMuc3ltYm9sSW5mbygpfHx2b2lkIDB9KSxzfXN5bWJvbFRpdGxlKGUsdCxzKXtyZXR1cm4gdGhpcy50aXRsZShlLCEwLHt9LCExLHQpfXRpdGxlSW5QYXJ0cyhlLHQscyxpLHIpe2NvbnN0IGw9dGhpcy5fdGl0bGVJblBhcnRzKGUsdCxzLGkscik7cmV0dXJuW1tsWzBdLC4uLmxbMV0/P1tdXS5qb2luKCIsICIpXX10YWdzKCl7Y29uc3QgZT10aGlzLnN5bWJvbCgpO3JldHVybiBlP1tlXTpbXX1zdGF0dXNWaWV3KCl7cmV0dXJuIFc/c3VwZXIuc3RhdHVzVmlldygpOm51bGx9Z3VpUGxvdE5hbWUoZSx0KXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpfWNhbk92ZXJyaWRlTWluVGljaygpe3JldHVybiEwfWNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCl7cmV0dXJuITF9bGVnZW5kVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IEwodGhpcyx0aGlzLm1vZGVsKCkpfXN0YXR1c1Byb3ZpZGVyKGUpe3JldHVybiBuZXcgRCh0aGlzKX1tZWFzdXJlVW5pdElkKCl7cmV0dXJuKDAsZC5tZWFzdXJlVW5pdElkKSh0aGlzLnN5bWJvbEluZm8oKSl9Z2V0U3ltYm9sU3RyaW5nKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT10aGlzLl9nZXRTeW1ib2xGb3JBcGkodGhpcy5zeW1ib2woKSkpLCgwLG0uZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykodGhpcy5fZ2V0U3ltYm9sT2JqZWN0KGUpKX1fZ2V0U3ltYm9sU291cmNlKCl7cmV0dXJuIHRoaXN9X2NyZWF0ZVByaWNlQXhpc1ZpZXcoZSl7cmV0dXJuIG5ldyB2KHRoaXMse3Bsb3ROYW1lOiJjb21wYXJlIn0pfV9jcmVhdGVWaWV3cygpe3RoaXMuX2xlZ2VuZFZpZXd8fCh0aGlzLl9sZWdlbmRWaWV3PW5ldyBVKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9kYXRhV2luZG93Vmlld3x8KHRoaXMuX2RhdGFXaW5kb3dWaWV3PW5ldyBFKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9zdGF0dXNWaWV3fHwodGhpcy5fc3RhdHVzVmlldz1uZXcgQS5TdHVkeVN0YXR1c1ZpZXcodGhpcykpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9vblVuaXRDaGFuZ2VkKCl7ImFsd2F5c09mZiIhPT0oMCxvLmN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHlQcm9wZXJ0eSkoKS52YWx1ZSgpJiZ0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCksdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLAp0aGlzLl91bml0Q2hhbmdlZC5maXJlKCl9X2dldFN5bWJvbE9iamVjdChlKXtjb25zdCB0PXN1cGVyLl9nZXRTeW1ib2xPYmplY3QoZSkscz10aGlzLmN1cnJlbmN5KCk7bnVsbCE9PXMmJih0WyJjdXJyZW5jeS1pZCJdPXMpO2NvbnN0IGk9dGhpcy51bml0KCk7cmV0dXJuIHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09aSYmKHRbInVuaXQtaWQiXT1pKSx0fV9vblN5bWJvbFJlc29sdmluZ1N0YXJ0KGUsdCl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlPXQsc3VwZXIuX29uU3ltYm9sUmVzb2x2aW5nU3RhcnQoZSx0KSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITApfV9vblN5bWJvbEVycm9yKCl7c3VwZXIuX29uU3ltYm9sRXJyb3IoKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfV9vblN5bWJvbFJlc29sdmVkKGUsdCxzKXtzdXBlci5fb25TeW1ib2xSZXNvbHZlZChlLHQscyksdGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKTtjb25zdCBpPXQ9PT10aGlzLnN5bWJvbCgpPygwLGMuZXh0cmFjdFN5bWJvbE5hbWVGcm9tU3ltYm9sSW5mbykocyx0aGlzLnN5bWJvbCgpKTpudWxsLHI9KDAsZC5zeW1ib2xDdXJyZW5jeSkocyksbD0oMCxkLnN5bWJvbFVuaXQpKHMsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpO3RoaXMuX3NldFN5bWJvbEN1cnJlbmN5VW5pdEludGVybmFsKHtzeW1ib2w6aT8/dm9pZCAwLGN1cnJlbmN5OnIsdW5pdDpsfSxzKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfWFzeW5jIF9jaGFuZ2VJbnB1dHNJbXBsKGUsdCl7YXdhaXQgc3VwZXIuX2NoYW5nZUlucHV0c0ltcGwoZSx0KSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X2NyZWF0ZVN0dWR5T25TZXJ2ZXIoKXtjb25zdCBlPXN1cGVyLl9jcmVhdGVTdHVkeU9uU2VydmVyKCk7cmV0dXJuIHRoaXMuX3JlYWxpZ25MaW5lVG9vbHNJZlBhcmFtc0NoYW5nZWQoKSxlfV90cnlDcmVhdGVGb3JtYXR0ZXIoKXtGLmN1c3RvbUZvcm1hdHRlcnM/LnByaWNlRm9ybWF0dGVyRmFjdG9yeT8uKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSk7cmV0dXJuKDAsZC5jcmVhdGVTZXJpZXNGb3JtYXR0ZXIpKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSl9X3RyeUNyZWF0ZURlZmF1bHRGb3JtYXR0ZXIoKXtyZXR1cm4oMCxkLmNyZWF0ZVNlcmllc0Zvcm1hdHRlcikodGhpcy5zeW1ib2xJbmZvKCksImRlZmF1bHQiKX1fdGl0bGVJblBhcnRzKGUsdCxzLGkscil7Y29uc3QgbD10aGlzLl9nZXRTcGxpdFRpdGxlKHIpLG49W2wubGlzdGVkRXhjaGFuZ2UsbC5wcmljZVNvdXJjZV0uZmlsdGVyKChlPT52b2lkIDAhPT1lKSk7cmV0dXJuW2wudGl0bGUsbl19X2dldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm57dGl0bGU6dGhpcy5fZ2V0U3ltYm9sVGl0bGVQYXJ0KHQpLGxpc3RlZEV4Y2hhbmdlOnRoaXMuX2dldEV4Y2hhbmdlVGl0bGVQYXJ0KHQsZSk/P3ZvaWQgMCxwcmljZVNvdXJjZTp0aGlzLl9nZXRQcmljZVNvdXJjZVRpdGxlUGFydCh0KT8/dm9pZCAwfX1fc2tpcEhpc3RvZ3JhbUJhc2VPbkF1dG9TY2FsZSgpe3JldHVybiEwfV9pbml0Q3VycmVuY3lNZXRhRGF0YSgpeygwLHUuY29tYmluZSkoKGU9Pntjb25zdCB0PSgwLGQuc3ltYm9sQ3VycmVuY3kpKGUpO251bGwhPT1lJiZudWxsIT09dD90aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKHtvcmlnaW5hbEN1cnJlbmN5OigwLGQuc3ltYm9sT3JpZ2luYWxDdXJyZW5jeSkoZSksY3VycmVudEN1cnJlbmN5OnQsYmFzZUN1cnJlbmN5OigwLGQuc3ltYm9sQmFzZUN1cnJlbmN5KShlKSxpc0N1cnJlbmN5Q29udmVydGlibGU6KDAsZC5zeW1ib2xDdXJyZW5jeUNvbnZlcnRpYmxlKShlKSxpc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeTooMCxkLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KShlKSxjdXJyZW5jeU9yaWdpbk5hbWU6KDAsZC5wcm9TeW1ib2wpKGUsdGhpcy5zeW1ib2woKSl9KTp0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCkpfV9pbml0VW5pdE1ldGFEYXRhKCl7KDAsdS5jb21iaW5lKSgoKGUsdCk9Pntjb25zdCBzPXRoaXMuX21vZGVsLGk9KDAsZC5zeW1ib2xVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpO251bGwhPT1lJiZudWxsIT09aSYmbnVsbCE9PXQ/dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHt1bml0T3JpZ2luTmFtZTooMCxkLnByb1N5bWJvbCkoZSx0aGlzLnN5bWJvbCgpKSxjb252ZXJ0aWJsZUdyb3VwczooMCxILnVuaXRDb252ZXJ0aWJsZUdyb3VwcykoZSxpLHQpLGlzQ29udmVydGVkVG9PdGhlclVuaXQ6KDAsZC5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpLG9yaWdpbmFsVW5pdDooMCxkLnN5bWJvbE9yaWdpbmFsVW5pdCkoZSxzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxjdXJyZW50VW5pdDppfSk6dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fYXZhaWxhYmxlVW5pdHMud2Vha1JlZmVyZW5jZSgpKX1fZ2V0U3ltYm9sVGl0bGVQYXJ0KGUpe2lmKG51bGw9PT1lKXJldHVybiBqPyIiOnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKTtjb25zdCB0PSgwLGQuZ2V0U3ltYm9sTGlzdGVkRXhjaGFuZ2UpKGUpO2lmKEImJnZvaWQgMCE9PXQpcmV0dXJuIHQ7aWYoJClzd2l0Y2godGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5KCkudmFsdWUoKSl7Y2FzZSJkZXNjcmlwdGlvbiI6cmV0dXJuIGUuZGVzY3JpcHRpb24KO2Nhc2UidGlja2VyLWFuZC1kZXNjcmlwdGlvbiI6cmV0dXJuYCR7ZS5uYW1lfSwgJHtlLmRlc2NyaXB0aW9ufWA7Y2FzZSJsb25nLWRlc2NyaXB0aW9uIjpyZXR1cm4gZS5sb25nX2Rlc2NyaXB0aW9uPz9lLmRlc2NyaXB0aW9ufXJldHVybiBlLm5hbWV9X2dldEV4Y2hhbmdlVGl0bGVQYXJ0KGUsdCl7cmV0dXJuIG51bGw9PT1lfHx0P251bGw6KDAsZC5nZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZSkoZSl9X2dldFByaWNlU291cmNlVGl0bGVQYXJ0KGUpe3JldHVybiBudWxsfV9zZXRTeW1ib2xDdXJyZW5jeVVuaXRJbnRlcm5hbChlLHQpe2NvbnN0e3N5bWJvbDpzLGN1cnJlbmN5OmksdW5pdDpyfT1lLGw9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksbj1sLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSxvPWwuY3VycmVuY3lJZC52YWx1ZSgpLGE9bC51bml0SWQudmFsdWUoKTtpZih2b2lkIDAhPT1zJiZsLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wuc2V0VmFsdWVTaWxlbnRseShzKSx2b2lkIDAhPT1pJiZsLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseShpKSx2b2lkIDAhPT1yJiZsLnVuaXRJZC5zZXRWYWx1ZVNpbGVudGx5KHIpLHQpdGhpcy5fcmVzb2x2ZWRTeW1ib2xzQnlJbnB1dFt0aGlzLnN5bWJvbCgpXT10LHRoaXMuX3Jlc29sdmVkU3ltYm9sc1t0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKHRoaXMuc3ltYm9sKCkpXT10LHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM9bnVsbDtlbHNle2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihsLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxkLnN5bWJvbEN1cnJlbmN5KShlKSksbC51bml0SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxkLnN5bWJvbFVuaXQpKGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpKSx0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnNldFZhbHVlKGUpKX1sLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSE9PW4mJmwuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC5maXJlQ2hhbmdlZCgpLGwuY3VycmVuY3lJZC52YWx1ZSgpIT09byYmbC5jdXJyZW5jeUlkLmZpcmVDaGFuZ2VkKCksbC51bml0SWQudmFsdWUoKSE9PWEmJmwudW5pdElkLmZpcmVDaGFuZ2VkKCksdGhpcy5fcmVhbGlnbkxpbmVUb29sc0lmUGFyYW1zQ2hhbmdlZCgpfV9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl7bGV0IGU9bnVsbD09PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM7aWYobnVsbCE9PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpe2NvbnN0IHQ9dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpO2U9dC5zeW1ib2xDaGFuZ2VkfHx0LmludGVydmFsQ2hhbmdlZHx8dC5jdXJyZW5jeUNoYW5nZWR8fHQudW5pdENoYW5nZWR9ZSYmKHRoaXMuX21vZGVsLnJlYWxpZ25MaW5lVG9vbHModGhpcyksdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz10aGlzLnN5bWJvbFBhcmFtcygpKX19fX1dKTs="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/41506.4e481cfe3d7dcc9113df.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.687Z","timestamp":1785136901687,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/41506.4e481cfe3d7dcc9113df.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd8a-ec4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:17:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:55\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e0c50d6c30836eee977bc899edbf9737\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3780,"size_decoded":1592,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3780), with no line terminators","md5":"4fd46403ac7bdbbc945dafd84cf4cce7","sha1":"abd6547add65404e86c3af3ac24c2ff5b5e7465f","sha256":"d33a476bc76a1595c539524ddbb7c6e4bb5974d727ad3e30d51b941ce9bfc37b","sha512":"be32a0f9edfb7b21dae05b1d39bd71d5006ea92cbb25311c97915ec20eff60262d1c54a6ac1ca2077ce8cd870276676515361a5ca95413c92e49d0d9ae313e8f","ssdeep":"","tlshash":"407125fcea9078342d876dadda1eb73519c8f45797836eabb509a08040e96de10f350e","first_seen":"2026-07-20T16:56:18.315644Z","last_seen":"2026-07-28T06:17:53.541712Z","times_seen":90,"resource_available":false,"data":"LnByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRley0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyKTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjp2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtY29sb3IpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTtwYWRkaW5nOjFweCAwO3dpZHRoOjIwcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wcmljZVNjYWxlTW9kZUJ1dHRvbi1RWU1INXBUZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWhvdmVyKX19LnByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWFjdGl2ZSl9LnByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZCk7Ym9yZGVyLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyKTtjb2xvcjp2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWNvbG9yKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZC1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyLWhvdmVyKX19LnByaWNlU2NhbGVNb2RlQnV0dG9ucy1hYUtYNksxYXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJX0ucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyLWFhS1g2SzFhe2Rpc3BsYXk6ZmxleDtmbGV4OjEgMTtwYWRkaW5nOjRweH0ucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyLWFhS1g2SzFhOmZpcnN0LWNoaWxke2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nLWlubGluZS1lbmQ6MnB4fS5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXItYWFLWDZLMWE6bGFzdC1jaGlsZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nLWlubGluZS1zdGFydDoycHh9LmNoYXJ0LXdpZGdldF9fYm90dG9tLS10aGVtZWQtbGlnaHQgLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uLWFhS1g2SzFhey0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYmFja2dyb3VuZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApfS5jaGFydC13aWRnZXRfX2JvdHRvbS0tdGhlbWVkLWRhcmsgLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uLWFhS1g2SzFhey0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYmFja2dyb3VuZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCVVV.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.493Z","timestamp":1785136905493,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCVVV.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.342Z","timestamp":1785136900342,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56258.282e6141fc02ac85d0d5.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 6e8ff47c785653c8ddf75869613c584c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5966,"size_decoded":3195,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3055)","md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-08-07T05:09:59.618027Z","times_seen":1283,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTYyNThdLHs3NDM0NTEodCxlLG4pe24uZChlLHtjcmVhdGVPYnNlcnZhYmxlOigpPT5pfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX29uUmVzb2x1dGlvbkNoYW5nZWQoKX0sdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwsdGhpcy5fb2JzZXJ2ZXJzPVtdLHRoaXMuX3dpbmRvdz10LHRoaXMuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXIoKX1yZXR1cm4gdC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3VuaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpLHRoaXMuX3dpbmRvdz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49e25leHQ6dH07cmV0dXJuIHRoaXMuX29ic2VydmVycy5wdXNoKG4pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2UuX29ic2VydmVycz1lLl9vYnNlcnZlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW59KSl9fX0sdC5wcm90b3R5cGUuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtpZihudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0KXRocm93IG5ldyBFcnJvcigiUmVzb2x1dGlvbiBsaXN0ZW5lciBpcyBhbHJlYWR5IGluc3RhbGxlZCIpO3ZhciB0PXRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3RoaXMuX3Jlc29sdXRpb25NZWRpYVF1ZXJ5TGlzdD10aGlzLl93aW5kb3cubWF0Y2hNZWRpYSgiYWxsIGFuZCAocmVzb2x1dGlvbjogIi5jb25jYXQodCwiZHBweCkiKSksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lcil9LHQucHJvdG90eXBlLl91bmluc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0JiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lciksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwpfSx0LnByb3RvdHlwZS5fcmVpbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7dGhpcy5fdW5pbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyKCksdGhpcy5faW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0LnByb3RvdHlwZS5fb25SZXNvbHV0aW9uQ2hhbmdlZD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fb2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHQodC5fd2luZG93LmRldmljZVBpeGVsUmF0aW8pfSkpLHRoaXMuX3JlaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0fSgpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG5ldyByKHQpfX0sNzQyNzkodCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dC53aWR0aCxuPXQuaGVpZ2h0O2lmKGU8MCl0aHJvdyBuZXcgRXJyb3IoIk5lZ2F0aXZlIHdpZHRoIGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7aWYobjwwKXRocm93IG5ldyBFcnJvcigiTmVnYXRpdmUgaGVpZ2h0IGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7cmV0dXJue3dpZHRoOmUsaGVpZ2h0Om59fWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdC53aWR0aD09PWUud2lkdGgmJnQuaGVpZ2h0PT09ZS5oZWlnaHR9bi5kKGUse2VxdWFsU2l6ZXM6KCk9Pmksc2l6ZTooKT0+cn0pfSw3ODkyODcodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfX0sMjU4MjYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe2Zvcih2YXIgaT0tMSx1PU9iamVjdChlKSxvPXIoZSksYT1vLmxlbmd0aDthLS07KXt2YXIgbD1vW3Q/YTorK2ldO2lmKCExPT09bih1W2xdLGwsdSkpYnJlYWt9cmV0dXJuIGV9fSgpfSw0ODI2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmp9KTt2YXIgcj1uKDg4NjUxNCksaT1uKDI1NDczOCksdT1uKDkxMDc3OCk7Y29uc3Qgbz1mdW5jdGlvbih0LGUsbil7KHZvaWQgMCE9PW4mJiEoMCx1LmRlZmF1bHQpKHRbZV0sbil8fHZvaWQgMD09PW4mJiEoZSBpbiB0KSkmJigwLGkuZGVmYXVsdCkodCxlLG4pfTt2YXIgYT1uKDI1ODI2KSxsPW4oNDg3MDYwKSxzPW4oMTM5MDcpLGY9big3MDU3NDkpLGQ9big4MDc1NzUpLGM9big1MzE1NTcpLGg9bigyOTU2MzUpLHY9bigyMzk2MykscD1uKDY1OTAxOCksdz1uKDkyODEzMiksXz1uKDg4MDExNSksYj1uKDkzMTQzMykseT1uKDE2NTI2Nyk7Y29uc3QgZz1mdW5jdGlvbih0LGUpe2lmKCgiY29uc3RydWN0b3IiIT09ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0pJiYiX19wcm90b19fIiE9ZSlyZXR1cm4gdFtlXX07dmFyIEw9big2MTg1NyksUj1uKDIxNzQ1Nyk7Y29uc3QgTT1mdW5jdGlvbih0KXtyZXR1cm4oMCxMLmRlZmF1bHQpKHQsKDAsUi5kZWZhdWx0KSh0KSl9O2NvbnN0IE89ZnVuY3Rpb24odCxlLG4scixpLHUsYSl7dmFyIEw9Zyh0LG4pLFI9ZyhlLG4pLE89YS5nZXQoUik7aWYoTylvKHQsbixPKTtlbHNle3ZhciBqPXU/dShMLFIsbisiIix0LGUsYSk6dm9pZCAwLHg9dm9pZCAwPT09ajtpZih4KXt2YXIgUT0oMCxoLmRlZmF1bHQpKFIpLG09IVEmJigwLApwLmRlZmF1bHQpKFIpLGs9IVEmJiFtJiYoMCx5LmRlZmF1bHQpKFIpO2o9UixRfHxtfHxrPygwLGguZGVmYXVsdCkoTCk/aj1MOigwLHYuZGVmYXVsdCkoTCk/aj0oMCxmLmRlZmF1bHQpKEwpOm0/KHg9ITEsaj0oMCxsLmRlZmF1bHQpKFIsITApKTprPyh4PSExLGo9KDAscy5kZWZhdWx0KShSLCEwKSk6aj1bXTooMCxiLmRlZmF1bHQpKFIpfHwoMCxjLmRlZmF1bHQpKFIpPyhqPUwsKDAsYy5kZWZhdWx0KShMKT9qPU0oTCk6KDAsXy5kZWZhdWx0KShMKSYmISgwLHcuZGVmYXVsdCkoTCl8fChqPSgwLGQuZGVmYXVsdCkoUikpKTp4PSExfXgmJihhLnNldChSLGopLGkoaixSLHIsdSxhKSxhLmRlbGV0ZShSKSksbyh0LG4sail9fTtjb25zdCBqPWZ1bmN0aW9uIHQoZSxuLGksdSxsKXtlIT09biYmKDAsYS5kZWZhdWx0KShuLChmdW5jdGlvbihhLHMpe2lmKGx8fChsPW5ldyByLmRlZmF1bHQpLCgwLF8uZGVmYXVsdCkoYSkpTyhlLG4scyxpLHQsdSxsKTtlbHNle3ZhciBmPXU/dShnKGUscyksYSxzKyIiLGUsbixsKTp2b2lkIDA7dm9pZCAwPT09ZiYmKGY9YSksbyhlLHMsZil9fSksUi5kZWZhdWx0KX19LDY0NTM3Nih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgcj1uKDIzMjg1NCksaT1uKDM3MjAzNSksdT1uKDcwOTA1MSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybigwLHUuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KSh0LGUsci5kZWZhdWx0KSx0KyIiKX19LDU3NDY2OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDY0NTM3NiksaT1uKDg1NDg5NCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxyLmRlZmF1bHQpKChmdW5jdGlvbihlLG4pe3ZhciByPS0xLHU9bi5sZW5ndGgsbz11PjE/blt1LTFdOnZvaWQgMCxhPXU+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8odS0tLG8pOnZvaWQgMCxhJiYoMCxpLmRlZmF1bHQpKG5bMF0sblsxXSxhKSYmKG89dTwzP3ZvaWQgMDpvLHU9MSksZT1PYmplY3QoZSk7KytyPHU7KXt2YXIgbD1uW3JdO2wmJnQoZSxsLHIsbyl9cmV0dXJuIGV9KSl9fSw4NTQ4OTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIHI9big5MTA3NzgpLGk9bigzOTI5MDgpLHU9big5MjExNDMpLG89big4ODAxMTUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLG4pe2lmKCEoMCxvLmRlZmF1bHQpKG4pKXJldHVybiExO3ZhciBhPXR5cGVvZiBlO3JldHVybiEhKCJudW1iZXIiPT1hPygwLGkuZGVmYXVsdCkobikmJigwLHUuZGVmYXVsdCkoZSxuLmxlbmd0aCk6InN0cmluZyI9PWEmJmUgaW4gbikmJigwLHIuZGVmYXVsdCkobltlXSx0KX19LDM3MjAzNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDc4OTI4NyksaT1NYXRoLm1heDtjb25zdCB1PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1pKHZvaWQgMD09PWU/dC5sZW5ndGgtMTplLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PWFyZ3VtZW50cyxvPS0xLGE9aSh1Lmxlbmd0aC1lLDApLGw9QXJyYXkoYSk7KytvPGE7KWxbb109dVtlK29dO289LTE7Zm9yKHZhciBzPUFycmF5KGUrMSk7KytvPGU7KXNbb109dVtvXTtyZXR1cm4gc1tlXT1uKGwpLCgwLHIuZGVmYXVsdCkodCx0aGlzLHMpfX19LDcwOTA1MSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgcj1uKDEyODA3NiksaT1uKDM2MDQ5KSx1PW4oMjMyODU0KTtjb25zdCBvPWkuZGVmYXVsdD9mdW5jdGlvbih0LGUpe3JldHVybigwLGkuZGVmYXVsdCkodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooMCxyLmRlZmF1bHQpKGUpLHdyaXRhYmxlOiEwfSl9OnUuZGVmYXVsdDtjb25zdCBhPSgwLG4oOTQ4NTczKS5kZWZhdWx0KShvKX0sOTQ4NTczKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciByPURhdGUubm93O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9cigpLHU9MTYtKGktbik7aWYobj1pLHU+MCl7aWYoKytlPj04MDApcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGU9MDtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSwxMjgwNzYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19fSwyMzI4NTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gdH19LDIzOTYzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciByPW4oMzkyOTA4KSxpPW4oMzYwNjIwKTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybigwLGkuZGVmYXVsdCkodCkmJigwLHIuZGVmYXVsdCkodCl9fSw5MzE0MzModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7dmFyIHI9bigxNzg0OTcpLGk9bigzOTI1NDUpLHU9bigzNjA2MjApLG89RnVuY3Rpb24ucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxsPW8udG9TdHJpbmcscz1hLmhhc093blByb3BlcnR5LGY9bC5jYWxsKE9iamVjdCk7Y29uc3QgZD1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KXx8IltvYmplY3QgT2JqZWN0XSIhPSgwLHIuZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGU9KDAsaS5kZWZhdWx0KSh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1zLmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIG4mJmwuY2FsbChuKT09Zn19LDc0MDE2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pml9KTt2YXIgcj1uKDQ4MjYyKTtjb25zdCBpPSgwLG4oNTc0NjY5KS5kZWZhdWx0KSgoZnVuY3Rpb24odCxlLG4peygwLHIuZGVmYXVsdCkodCxlLG4pfSkpfX1dKTs="}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/26118.3f4b0e5de045d6bd8295.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.523Z","timestamp":1785136901523,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/26118.3f4b0e5de045d6bd8295.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-f26e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1586d8e55489b51c2cc01462d6602a71\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":62062,"size_decoded":23231,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (7991)","md5":"1df37fb14b509991868640e93d196bed","sha1":"5f505db48850be97fd31188d307c0ca784a40dfa","sha256":"ed0d9ccffe67dd588b5c48ee432f2e2dd44b6cf6cfad2f9758b8301cd0d8520f","sha512":"912b321be9c0a010a1c7329216e9ab2c519ffc0ab565211c1eff82d6a9ad052dd9a608f210d4946ef10e20a2d65e45692b0f2ca44bdb5810354db30cd40ef97d","ssdeep":"768:iDUhaWDzyJMn6lh1lMAf0BokL0ZBWTvf4bAGUvS2w+Ntd87EKEV3GmXEKptPPFb4:iUnZVrXEKtql5suJ+m3SJaIKoCVmG","tlshash":"d1533b907354a29f53d3e1adc63d8496771a60b7b80f4a70b4eacee8116b47ff913908","first_seen":"2026-07-23T14:00:31.462637Z","last_seen":"2026-07-28T06:17:53.619977Z","times_seen":108,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNjExOF0sezk2OTYzMShlKXtlLmV4cG9ydHM9e2Zhdm9yaXRlOiJmYXZvcml0ZS1Rd0tXU1VtYSIsaG92ZXJlZDoiaG92ZXJlZC1Rd0tXU1VtYSIsZGlzYWJsZWQ6ImRpc2FibGVkLVF3S1dTVW1hIixmb2N1c2VkOiJmb2N1c2VkLVF3S1dTVW1hIixhY3RpdmU6ImFjdGl2ZS1Rd0tXU1VtYSIsY2hlY2tlZDoiY2hlY2tlZC1Rd0tXU1VtYSJ9fSw5MjQ1MDcoZSl7ZS5leHBvcnRzPXsidGFibGV0LW5vcm1hbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNzY4cHgpIiwic21hbGwtaGVpZ2h0LWJyZWFrcG9pbnQiOiIobWF4LWhlaWdodDogMzYwcHgpIiwidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkifX0sMzU0ODEyKGUpe2UuZXhwb3J0cz17aXRlbToiaXRlbS1mU2FUX0RFTSIsbGFiZWw6ImxhYmVsLWZTYVRfREVNIixsYWJlbFJvdzoibGFiZWxSb3ctZlNhVF9ERU0iLHRvb2xib3g6InRvb2xib3gtZlNhVF9ERU0ifX0sNzQwOTQzKGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tV01wS0tVQ3EiLGhvdmVyZWQ6ImhvdmVyZWQtV01wS0tVQ3EiLGRpc2FibGVkOiJkaXNhYmxlZC1XTXBLS1VDcSIsZm9jdXNlZDoiZm9jdXNlZC1XTXBLS1VDcSIsYWN0aXZlOiJhY3RpdmUtV01wS0tVQ3EiLGhpZGRlbjoiaGlkZGVuLVdNcEtLVUNxIn19LDEzMzY1NihlKXtlLmV4cG9ydHM9e2Zhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkOiJmYXZvcml0ZXNJY29uQnV0dG9uVG9nZ2xlZC1ZRlhWSk5FUSIscHJpbWFyeToicHJpbWFyeS1ZRlhWSk5FUSIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktWUZYVkpORVEiLHRlcnRpYXJ5OiJ0ZXJ0aWFyeS1ZRlhWSk5FUSJ9fSw5OTM5OTUoZSl7ZS5leHBvcnRzPXtpY29uQnV0dG9uOiJpY29uQnV0dG9uLUhERFVZT0JJIixzcXVhcmU6InNxdWFyZS1IRERVWU9CSSIscm91bmQ6InJvdW5kLUhERFVZT0JJIixwcmltYXJ5OiJwcmltYXJ5LUhERFVZT0JJIixpY29uOiJpY29uLUhERFVZT0JJIixzZWNvbmRhcnk6InNlY29uZGFyeS1IRERVWU9CSSIsdGVydGlhcnk6InRlcnRpYXJ5LUhERFVZT0JJIiwicHJpbWFyeS1zcGVjaWFsIjoicHJpbWFyeS1zcGVjaWFsLUhERFVZT0JJIn19LDE0NTk4NShlKXtlLmV4cG9ydHM9e2Jsb2NrSWNvbjoiYmxvY2tJY29uLWd2T1FWaVY3In19LDk5NDI4KGUpe2UuZXhwb3J0cz17ZGl2aWRlcjoiZGl2aWRlci1aZF90cXVjRCIsbGluZToibGluZS1aZF90cXVjRCJ9fSw2MjU3MDkoZSl7ZS5leHBvcnRzPXtzbWFsbDoic21hbGwtdFdESUNUYXkiLG1lZGl1bToibWVkaXVtLXRXRElDVGF5IixsYXJnZToibGFyZ2UtdFdESUNUYXkiLHN3aXRjaFZpZXc6InN3aXRjaFZpZXctdFdESUNUYXkiLGNoZWNrZWQ6ImNoZWNrZWQtdFdESUNUYXkiLGRpc2FibGVkOiJkaXNhYmxlZC10V0RJQ1RheSIsdHJhY2s6InRyYWNrLXRXRElDVGF5Iix0aHVtYjoidGh1bWItdFdESUNUYXkifX0sNjg3NTQ3KGUpe2UuZXhwb3J0cz17c3dpdGNoZXI6InN3aXRjaGVyLWwzRHRLTHNMIixpbnB1dDoiaW5wdXQtbDNEdEtMc0wiLHRodW1iV3JhcHBlcjoidGh1bWJXcmFwcGVyLWwzRHRLTHNMIixkaXNhYmxlZDoiZGlzYWJsZWQtbDNEdEtMc0wiLGNoZWNrZWQ6ImNoZWNrZWQtbDNEdEtMc0wifX0sNTcwNDk4KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tR2F3cEIwcGYiLGFjdGl2ZToiYWN0aXZlLUdhd3BCMHBmIixmYXZvcml0ZToiZmF2b3JpdGUtR2F3cEIwcGYiLGZpbGxlZDoiZmlsbGVkLUdhd3BCMHBmIn19LDU1MzE0OShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItSmE3SUdET2ciLGxhYmVsUm93OiJsYWJlbFJvdy1KYTdJR0RPZyIsbGFiZWw6ImxhYmVsLUphN0lHRE9nIixsYWJlbEhpbnQ6ImxhYmVsSGludC1KYTdJR0RPZyIsbGFiZWxPbjoibGFiZWxPbi1KYTdJR0RPZyJ9fSw3MzU0NjIoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLXE1NFR3eUNPIixob3ZlcmVkOiJob3ZlcmVkLXE1NFR3eUNPIixzd2l0Y2hXcmFwOiJzd2l0Y2hXcmFwLXE1NFR3eUNPIix3aXRoSWNvbjoid2l0aEljb24tcTU0VHd5Q08iLGxhYmVsUm93OiJsYWJlbFJvdy1xNTRUd3lDTyIsbGFiZWw6ImxhYmVsLXE1NFR3eUNPIixpY29uOiJpY29uLXE1NFR3eUNPIixsYWJlbF9kaXNhYmxlZDoibGFiZWxfZGlzYWJsZWQtcTU0VHd5Q08iLGxhYmVsSGludDoibGFiZWxIaW50LXE1NFR3eUNPIixsYWJlbE9uOiJsYWJlbE9uLXE1NFR3eUNPIixhY2Nlc3NpYmxlOiJhY2Nlc3NpYmxlLXE1NFR3eUNPIn19LDI3NzA3NihlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLUhkS2hjVHllIixwcmVzc2VkOiJwcmVzc2VkLUhkS2hjVHllIixob3ZlcjoiaG92ZXItSGRLaGNUeWUiLGNsaWNrZWQ6ImNsaWNrZWQtSGRLaGNUeWUiLGlzSW50ZXJhY3RpdmU6ImlzSW50ZXJhY3RpdmUtSGRLaGNUeWUiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtSGRLaGNUeWUiLGlzR3JvdXBlZDoiaXNHcm91cGVkLUhkS2hjVHllIixpc0FjdGl2ZToiaXNBY3RpdmUtSGRLaGNUeWUiLGlzT3BlbmVkOiJpc09wZW5lZC1IZEtoY1R5ZSIsaXNEaXNhYmxlZDoiaXNEaXNhYmxlZC1IZEtoY1R5ZSIsdGV4dDoidGV4dC1IZEtoY1R5ZSIsaWNvbjoiaWNvbi1IZEtoY1R5ZSIsZW5kSWNvbjoiZW5kSWNvbi1IZEtoY1R5ZSJ9fSwyOTgwODYoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1GRHRpRGJ5aiJ9fSw5MTM3NyhlKXtlLmV4cG9ydHM9e2FjdGlvbjoiYWN0aW9uLXltRnU5UUVEIixzaG93T25Ib3Zlcjoic2hvd09uSG92ZXIteW1GdTlRRUQifX0sNTI4MTAxKGUpe2UuZXhwb3J0cz17YmFkZ2VOZXc6ImJhZGdlTmV3LWFfU2FnWlFBIn19LDQyODA5NyhlKXtlLmV4cG9ydHM9e2Vtb2ppOiJlbW9qaS1Cc0VSR2NaMSIsY2xlYXJCdXR0b246ImNsZWFyQnV0dG9uLUJzRVJHY1oxIn19LDQwMjIzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1tejA4NjZNMiIsaG92ZXJlZDoiaG92ZXJlZC1tejA4NjZNMiJ9fSw2ODQ3MzcoZSx0LG4pewoidXNlIHN0cmljdCI7bi5kKHQse1JlbW92ZVRpdGxlVHlwZTooKT0+YSxyZW1vdmVUaXRsZXNNYXA6KCk9PnJ9KTt2YXIgYSxvPW4oNzgzMjU0KTshZnVuY3Rpb24oZSl7ZS5BZGQ9ImFkZCIsZS5SZW1vdmU9InJlbW92ZSJ9KGF8fChhPXt9KSk7Y29uc3Qgcj17W2EuQWRkXTpvLnQobnVsbCx2b2lkIDAsbig5OTUyOSkpLFthLlJlbW92ZV06by50KG51bGwsdm9pZCAwLG4oNjk0MjA5KSl9fSwzNTcyNjIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RmF2b3JpdGVCdXR0b246KCk9PnV9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDY4NDczNykscz1uKDk1Mzc0KSxjPW4oNjk2NDMpLGQ9big4MjY5NzgpLG09big5Njk2MzEpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsaXNGaWxsZWQ6bixpc0FjdGl2ZTpvLG9uQ2xpY2s6dSx0aXRsZTpoLC4uLnZ9PWUsW3AsZl09KDAscy51c2VBY3RpdmVEZXNjZW5kYW50KShudWxsKSxnPWg/PyhuP2wucmVtb3ZlVGl0bGVzTWFwW2wuUmVtb3ZlVGl0bGVUeXBlLlJlbW92ZV06bC5yZW1vdmVUaXRsZXNNYXBbbC5SZW1vdmVUaXRsZVR5cGUuQWRkXSk7cmV0dXJuKDAsYS51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9cC5jdXJyZW50O2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZyYmZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29tbW9uLXRvb2x0aXAtdXBkYXRlIikpfSksW2cscF0pLGEuY3JlYXRlRWxlbWVudChpLkljb24sey4uLnYsY2xhc3NOYW1lOnIoKShtLmZhdm9yaXRlLCJhcHBseS1jb21tb24tdG9vbHRpcCIsbiYmbS5jaGVja2VkLG8mJm0uYWN0aXZlLGYmJm0uZm9jdXNlZCx0KSxvbkNsaWNrOnUsaWNvbjpuP2M6ZCx0aXRsZTpnLGFyaWFMYWJlbDpnLHJlZjpwfSl9fSw5NTM3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VBY3RpdmVEZXNjZW5kYW50OigpPT5yfSk7dmFyIGE9big3Nzk0NzQpLG89big3ODc4OTUpO2Z1bmN0aW9uIHIoZSx0PVtdKXtjb25zdFtuLHJdPSgwLGEudXNlU3RhdGUpKCExKSxpPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsYS51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9aS5jdXJyZW50O2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PWU9Pntzd2l0Y2goZS50eXBlKXtjYXNlImFjdGl2ZS1kZXNjZW5kYW50LWZvY3VzIjpyKCEwKTticmVhaztjYXNlImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiOnIoITEpfX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLHQpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWZvY3VzIix0KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLHQpfX0pLHQpLFtpLG5dfX0sNjA5NTI4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RpYWxvZ0JyZWFrcG9pbnRzOigpPT5vfSk7dmFyIGE9big5MjQ1MDcpO2NvbnN0IG89e1NtYWxsSGVpZ2h0OmFbInNtYWxsLWhlaWdodC1icmVha3BvaW50Il0sVGFibGV0U21hbGw6YVsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiXSxUYWJsZXROb3JtYWw6YVsidGFibGV0LW5vcm1hbC1icmVha3BvaW50Il19fSwzOTE1MDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTooKT0+aX0pO3ZhciBhPW4oMzg3MjMxKSxvPW4oNDcwMjk1KSxyPW4oMzU0ODEyKTtjb25zdCBpPSgwLGEubWVyZ2VUaGVtZXMpKG8scil9LDU0NTQyMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSZW1vdmVCdXR0b246KCk9Pm19KTt2YXIgYT1uKDc4MzI1NCksbz1uKDc3OTQ3NCkscj1uKDkxNDQ4NyksaT1uLm4ociksbD1uKDI3MzMxMCkscz1uKDk1Mzc0KSxjPW4oNDg5MDU5KSxkPW4oNzQwOTQzKTtmdW5jdGlvbiBtKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGlzQWN0aXZlOnIsb25DbGljazptLG9uTW91c2VEb3duOnUsdGl0bGU6aCxoaWRkZW46diwiZGF0YS1uYW1lIjpwPSJyZW1vdmUtYnV0dG9uIixpY29uOmYsLi4uZ309ZSxbdyxiXT0oMCxzLnVzZUFjdGl2ZURlc2NlbmRhbnQpKG51bGwpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQobC5JY29uLHsuLi5nLCJkYXRhLW5hbWUiOnAsY2xhc3NOYW1lOmkoKShkLmJ1dHRvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiLHImJmQuYWN0aXZlLHYmJmQuaGlkZGVuLGImJmQuZm9jdXNlZCx0KSxpY29uOmZ8fGMsb25DbGljazptLG9uTW91c2VEb3duOnUsdGl0bGU6aD8/YS50KG51bGwsdm9pZCAwLG4oOTExMjYpKSxhcmlhTGFiZWw6aD8/YS50KG51bGwsdm9pZCAwLG4oOTExMjYpKSxyZWY6d30pfX0sNzE5NzM3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Zhdm9yaXRlSWNvbkJ1dHRvbjooKT0+d30pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oNzgzMjU0KSxsPW4oMzMyNjg3KSxzPW4oNzI5MjUwKSxjPW4oMzQ1MTE2KSxkPW4oNTk5NzUpLG09bi5uKGQpLHU9bigyMzA2ODYpLGg9bi5uKHUpLHY9bigxMzM2NTYpLHA9bi5uKHYpO2NvbnN0IGY9bSgpLGc9aCgpLHc9KDAsYS5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdCBvPSgwLGEudXNlQ29udGV4dCkobC5JY29uQnV0dG9uVmFyaWFudENvbnRleHQpLHtpc0Zhdm9yaXRlOmQsb25DaGFuZ2VJc0Zhdm9yaXRlOm0sc2hhcGU6dSx2YXJpYW50Omg9by52YXJpYW50Pz8icHJpbWFyeSIsdGFiSW5kZXg6dixkYXRhUWFJZDp3LHJvbGU6YiwuLi55fT1lLEU9KDAsYy5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh5KTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KHMuVG9nZ2xlYWJsZUljb25CdXR0b24se3RvZ2dsZWRJY29uOmYsdW50b2dnbGVkSWNvbjpnLHRvZ2dsZWRDb2xvckNsYXNzTmFtZTpyKCkocCgpLmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLHAoKVtoXSksaXNUb2dnbGVkOmQsb25Ub2dnbGU6bSwKdW50b2dnbGVkVGl0bGU6aS50KG51bGwsdm9pZCAwLG4oOTk1MjkpKSx0b2dnbGVkVGl0bGU6aS50KG51bGwsdm9pZCAwLG4oNjk0MjA5KSksc2hhcGU6dSx2YXJpYW50OmgsdGFiSW5kZXg6dixkYXRhUWFJZDp3LHJlZjp0LHJvbGU6YiwuLi5FfSl9KSl9LDIzNDYzNihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciBhO24uZCh0LHtCYWRnZVNpemU6KCk9PmF9KSxmdW5jdGlvbihlKXtlLlhTbWFsbD0ieHNtYWxsIixlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UiLGUuWExhcmdlPSJ4bGFyZ2UifShhfHwoYT17fSkpfSwyNjQzMTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q2xpY2thYmxlSWNvbkJ1dHRvbjooKT0+bX0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oMzMyNjg3KSxsPW4oMjE3Mjc0KSxzPW4oMzQ1MTE2KSxjPW4oOTkzOTk1KSxkPW4ubihjKTtjb25zdCBtPSgwLGEuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3Qgbj0oMCxhLnVzZUNvbnRleHQpKGkuSWNvbkJ1dHRvblZhcmlhbnRDb250ZXh0KS52YXJpYW50LHt0aXRsZTpvLG9uQ2xpY2s6Yyxjb2xvckNsYXNzTmFtZTptLGljb246dSx2YXJpYW50Omg9bj8/aS5ERUZBVUxUX0lDT05fQlVUVE9OX1ZBUklBTlQsc2hhcGU6dj0ic3F1YXJlIix0YWJJbmRleDpwLHJvbGU6ZixkYXRhUWFJZDpnLC4uLnd9PWUsYj0oMCxzLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKHcsZyk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7cmVmOnQsdGl0bGU6byx0eXBlOiJidXR0b24iLHJvbGU6ZiwiYXJpYS1sYWJlbCI6byxvbkNsaWNrOmMsdGFiSW5kZXg6cCxjbGFzc05hbWU6cigpKGQoKS5pY29uQnV0dG9uLGQoKVtoXSxkKClbdl0sbSwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSwuLi5ifSxhLmNyZWF0ZUVsZW1lbnQobC5CbG9ja0ljb24se2ljb246dSxjbGFzc05hbWU6ZCgpLmljb24sImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KSl9KSl9LDcyOTI1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb2dnbGVhYmxlSWNvbkJ1dHRvbjooKT0+aX0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oMjY0MzE4KSxyPW4oMzQ1MTE2KTtjb25zdCBpPSgwLGEuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7b25Ub2dnbGU6bixpc1RvZ2dsZWQ6aSx0b2dnbGVkVGl0bGU6bCx0b2dnbGVkSWNvbjpzLHRvZ2dsZWRDb2xvckNsYXNzTmFtZTpjLHVudG9nZ2xlZFRpdGxlOmQsdW50b2dnbGVkSWNvbjptLHVudG9nZ2xlZENvbG9yQ2xhc3NOYW1lOnUsdmFyaWFudDpoLHNoYXBlOnYsZGF0YVFhSWQ6cCx0YWJJbmRleDpmLHJvbGU6ZywuLi53fT1lLGI9KDAsci5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh3KTtsZXQgeSxFLFQ7cmV0dXJuIGk/KFQ9bCx5PXMsRT1jKTooVD1kLHk9bSxFPXUpLGEuY3JlYXRlRWxlbWVudChvLkNsaWNrYWJsZUljb25CdXR0b24se3RpdGxlOlQsaWNvbjp5LG9uQ2xpY2s6KCk9Pm4oIWkpLGNvbG9yQ2xhc3NOYW1lOkUsdmFyaWFudDpoLHNoYXBlOnYscmVmOnQsZGF0YVFhSWQ6cCx0YWJJbmRleDpmLHJvbGU6ZywuLi5ifSl9KSl9LDIxNzI3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtCbG9ja0ljb246KCk9PmN9KTt2YXIgYT1uKDkxNDQ4Nyksbz1uLm4oYSkscj1uKDc3OTQ3NCksaT1uKDk0ODQ1MCksbD1uKDE0NTk4NSkscz1uLm4obCk7Y29uc3QgYz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4saWNvbjphLGFyaWFMYWJlbDpsLGFyaWFMYWJlbGxlZGJ5OmMsdGl0bGU6ZCwuLi5tfT1lLHU9bTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGkuQ29tbW9uSWNvbix7Y2xhc3NOYW1lOm8oKShuLHMoKS5ibG9ja0ljb24pLHJlZjp0LGljb246YSxhcmlhTGFiZWw6bCxhcmlhTGFiZWxsZWRieTpjLHRpdGxlOmQsLi4udX0pfSkpfSw3MzI3MzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGl2aWRlckxpc3RJdGVtOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89big5OTQyOCkscj1uLm4obyk7ZnVuY3Rpb24gaShlKXtjb25zdHtyb2xlOnR9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5kaXZpZGVyLHJvbGU6dH0sYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cigpLmxpbmV9KSl9fSwzMDgyMTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3dpdGNoVmlldzooKT0+Y30pO3ZhciBhLG89big3Nzk0NzQpLHI9big5MTQ0ODcpLGk9bi5uKHIpLGw9big2MjU3MDkpLHM9bi5uKGwpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7c2l6ZTp0PSJzbWFsbCIsY2hlY2tlZDpuLGRpc2FibGVkOmF9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkocygpLnN3aXRjaFZpZXcscygpW3RdLGEmJnMoKS5kaXNhYmxlZCxuJiZzKCkuY2hlY2tlZCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkudHJhY2t9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpLnRodW1ifSkpfSFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShhfHwoYT17fSkpfSwxMjgzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTd2l0Y2g6KCk9PnV9KTt2YXIgYSxvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxpPW4ubihyKSxsPW4oMzA5OTIwKSxzPW4oMzA4MjE2KSxjPW4oMjM1NzI0KSxkPW4oNjg3NTQ3KSxtPW4ubihkKTtmdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsby51c2VDb250ZXh0KShsLkN1c3RvbUJlaGF2aW91ckNvbnRleHQpLHtzaXplOm4saW50ZW50OmE9ImRlZmF1bHQiLGNoZWNrZWQ6cixjbGFzc05hbWU6ZCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczp1PXQuZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsZGlzYWJsZWQ6aCxvbkNoYW5nZTp2LHRpdGxlOnAsaWQ6ZixuYW1lOmcsdmFsdWU6dyx0YWJJbmRleDpiLHJvbGU6eT0ic3dpdGNoIixhcmlhRGlzYWJsZWQ6RSxyZWZlcmVuY2U6VCxhcmlhTGFiZWxsZWRCeTp4LGFyaWFMYWJlbDpJLC4uLkN9PWUKO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpKGQsbSgpLnN3aXRjaGVyKX0sby5jcmVhdGVFbGVtZW50KCJpbnB1dCIsey4uLkMsdHlwZToiY2hlY2tib3giLGNsYXNzTmFtZTppKCkobSgpLmlucHV0LHUmJm0oKS5hY3RpdmVTdHlsZXNFbmFibGVkLHImJm0oKS5jaGVja2VkLGgmJm0oKS5kaXNhYmxlZCkscm9sZTp5LCJhcmlhLWNoZWNrZWQiOnIsY2hlY2tlZDpyLG9uS2V5RG93bjplPT57MTM9PT0oMCxjLmhhc2hGcm9tRXZlbnQpKGUpJiZlLmN1cnJlbnRUYXJnZXQ/LmNsaWNrKCl9LG9uQ2hhbmdlOnYsZGlzYWJsZWQ6aCwiYXJpYS1kaXNhYmxlZCI6RSx0YWJJbmRleDpiLHRpdGxlOnAsaWQ6ZixuYW1lOmcsdmFsdWU6dyxyZWY6VCwiYXJpYS1sYWJlbCI6SSwiYXJpYS1sYWJlbGxlZGJ5Ijp4fSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShtKCkudGh1bWJXcmFwcGVyLG0oKVthXSl9LG8uY3JlYXRlRWxlbWVudChzLlN3aXRjaFZpZXcse2NoZWNrZWQ6cixzaXplOm4sZGlzYWJsZWQ6aH0pKSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TZWxlY3Q9InNlbGVjdCJ9KGF8fChhPXt9KSl9LDY1OTM2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtiaW5kU2NyZWVuc2hvdDooKT0+aH0pO3ZhciBhPW4oMTg1MjcxKSxvPW4oNzc5NDc0KSxyPW4oMjIxODk2KSxpPW4oNTY5NjUyKSxsPW4oNzU0MjQ2KSxzPW4oODI2MTU2KSxjPW4oMzQ0MTAzKTtjb25zdCBkPW5ldyBzLkRhdGVUaW1lRm9ybWF0dGVyKHtkYXRlVGltZVNlcGFyYXRvcjoiXyIsdGltZUZvcm1hdDoiJWgtJW0tJXMifSksbT17dGFrZVNuYXBzaG90OmEudChudWxsLHZvaWQgMCxuKDIwNzM3MSkpfSx1PSgwLGkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtmdW5jdGlvbiBoKGUpe3ZhciB0O3JldHVybih0PWNsYXNzIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9jbGllbnRTbmFwc2hvdD1hc3luYygpPT57Y29uc3QgZT10aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubW9kZWwoKS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCk7cmV0dXJue2NhbnZhczphd2FpdCB0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmNsaWVudFNuYXBzaG90KCksbmFtZTpgJHsoMCxjLnNob3J0TmFtZSkoZSl9XyR7ZC5mb3JtYXRMb2NhbChuZXcgRGF0ZSl9YH19LHRoaXMuX3NlcnZlclNuYXBzaG90PWFzeW5jKCk9Pntjb25zdCBlPXRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5tb2RlbCgpLm1haW5TZXJpZXMoKS5hY3R1YWxTeW1ib2woKSx0PWF3YWl0IHRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24udGFrZVNjcmVlbnNob3QoKSxuPSgwLGwuY29udmVydEltYWdlTmFtZVRvVXJsKSh0KTtyZXR1cm57c3ltYm9sOigwLGMuc2hvcnROYW1lKShlKSxpbWFnZVVybDpufX0sKDAsaS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246ci5hbnkuaXNSZXF1aXJlZH0pfXJlbmRlcigpe2NvbnN0e2NsYXNzTmFtZTp0LGlkOm59PXRoaXMucHJvcHM7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChlLHtpZDpuLGNsYXNzTmFtZTp0LHRvb2x0aXA6bS50YWtlU25hcHNob3Qsc2VydmVyU25hcHNob3Q6dGhpcy5fc2VydmVyU25hcHNob3QsY2xpZW50U25hcHNob3Q6dGhpcy5fY2xpZW50U25hcHNob3Qsc25hcHNob3RVcmw6dGhpcy5jb250ZXh0LnNuYXBzaG90VXJsfSl9fSkuY29udGV4dFR5cGU9dSx0fX0sODYxMTg4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2ZvY3VzRmlyc3RNZW51SXRlbTooKT0+ZCxoYW5kbGVBY2Nlc3NpYmxlTWVudUZvY3VzOigpPT5zLGhhbmRsZUFjY2Vzc2libGVNZW51S2V5RG93bjooKT0+YyxxdWVyeU1lbnVFbGVtZW50czooKT0+aH0pO3ZhciBhPW4oOTgzNjE2KSxvPW4oMzI5NjY4KSxyPW4oMjM1NzI0KSxpPW4oNjgyMzgxKTtjb25zdCBsPVszNywzOSwzOCw0MF07ZnVuY3Rpb24gcyhlLHQpe2lmKCFlLnRhcmdldClyZXR1cm47Y29uc3Qgbj1lLnJlbGF0ZWRUYXJnZXQ/LmdldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iik7aWYoZS5yZWxhdGVkVGFyZ2V0IT09dC5jdXJyZW50KXtjb25zdCBlPW4mJmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG4pO2lmKCFlfHxlIT09dC5jdXJyZW50KXJldHVybn1kKGUudGFyZ2V0KX1mdW5jdGlvbiBjKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxyLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFsLmluY2x1ZGVzKHQpKXJldHVybjtjb25zdCBuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoIShkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBpPWgoZS5jdXJyZW50VGFyZ2V0KS5zb3J0KGEubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7aWYoMD09PWkubGVuZ3RoKXJldHVybjtjb25zdCBzPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtcm9sZT0ibWVudWl0ZW0iXScpfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXJvbGU9Im1lbnVpdGVtIl0nKTtpZighKHMgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpcmV0dXJuO2NvbnN0IGM9aS5pbmRleE9mKHMpO2lmKC0xPT09YylyZXR1cm47Y29uc3QgZD12KHMpLHA9ZC5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLGY9LTEhPT1wLGc9ZT0+e24mJigwLG8uYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkobiksKDAsby5iZWNvbWVNYWluRWxlbWVudCkoZSksZS5mb2N1cygpfTtzd2l0Y2goKDAsYS5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZVByZXYiOmlmKCFkLmxlbmd0aClyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLGcoMD09PXA/aVtjXTpmP20oZCxwLC0xKTpkW2QubGVuZ3RoLTFdKTticmVhaztjYXNlImlubGluZU5leHQiOgppZighZC5sZW5ndGgpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxwPT09ZC5sZW5ndGgtMT9nKGlbY10pOmcoZj9tKGQscCwxKTpkWzBdKTticmVhaztjYXNlImJsb2NrUHJldiI6e2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PW0oaSxjLC0xKTtpZihmKXtjb25zdCBlPXUodCxwKTtnKGV8fHQpO2JyZWFrfWcodCk7YnJlYWt9Y2FzZSJibG9ja05leHQiOntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1tKGksYywxKTtpZihmKXtjb25zdCBlPXUodCxwKTtnKGV8fHQpO2JyZWFrfWcodCl9fX1mdW5jdGlvbiBkKGUpe2NvbnN0W3RdPWgoZSk7dCYmKCgwLG8uYmVjb21lTWFpbkVsZW1lbnQpKHQpLHQuZm9jdXMoKSl9ZnVuY3Rpb24gbShlLHQsbil7cmV0dXJuIGVbKHQrZS5sZW5ndGgrbiklZS5sZW5ndGhdfWZ1bmN0aW9uIHUoZSx0KXtjb25zdCBuPXYoZSk7cmV0dXJuIG4ubGVuZ3RoP25bKHQrbi5sZW5ndGgpJW4ubGVuZ3RoXTpudWxsfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1yb2xlPSJtZW51aXRlbSJdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfX0sNjE5MTA1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01lbnVGYXZvcml0ZUJ1dHRvbjooKT0+ZH0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oMTgyMzA4KSxsPW4oMzU3MjYyKSxzPW4oNjg0NzM3KSxjPW4oNTcwNDk4KTtmdW5jdGlvbiBkKGUpe2NvbnN0e29uQ2xpY2s6dCxpc0ZpbGxlZDpuLGlzQWN0aXZlOm8sY2xhc3NOYW1lOmQsY29sb3JUeXBlOm09ImxlZ2FjeSIsLi4udX09ZSxbaCx2XT0oMCxpLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCkscD1uP3MucmVtb3ZlVGl0bGVzTWFwW3MuUmVtb3ZlVGl0bGVUeXBlLlJlbW92ZV06cy5yZW1vdmVUaXRsZXNNYXBbcy5SZW1vdmVUaXRsZVR5cGUuQWRkXTtyZXR1cm4oMCxhLnVzZUxheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT1oLmN1cnJlbnQ7ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb21tb24tdG9vbHRpcC11cGRhdGUiKSl9KSxbcCxoXSksYS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtyZWY6aCx0YWJJbmRleDp2LG9uQ2xpY2s6dCxjbGFzc05hbWU6cigpKGMuYnV0dG9uLG8mJmMuYWN0aXZlLGQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksdHlwZToiYnV0dG9uIiwiYXJpYS1sYWJlbCI6cCwiZGF0YS10b29sdGlwIjpwLCJkYXRhLXFhLWlkIjoicHJlc2V0LW1lbnUtZmF2b3JpdGUtYnV0dG9uIn0sYS5jcmVhdGVFbGVtZW50KGwuRmF2b3JpdGVCdXR0b24sey4uLnUsaXNGaWxsZWQ6bixpc0FjdGl2ZTpvLHRpdGxlOiIiLGNsYXNzTmFtZTpyKCkoYy5mYXZvcml0ZSwibmV3Ij09PW0mJm4mJmMuZmlsbGVkLG8mJmMuYWN0aXZlKX0pKX19LDI1NTMyOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX01FTlVfSVRFTV9TV0lUQ0hFUl9USEVNRTooKT0+dSxNZW51SXRlbVN3aXRjaGVyOigpPT5ofSk7dmFyIGE9big3Nzk0NzQpLG89big5MTQ0ODcpLHI9bi5uKG8pLGk9bigxMjgzMiksbD1uKDI3MzMxMCkscz1uKDIzNTcyNCksYz1uKDE4MjMwOCksZD1uKDM0NTExNiksbT1uKDczNTQ2Mik7Y29uc3QgdT1tO2Z1bmN0aW9uIGgoZSl7Y29uc3R7cm9sZTp0LGNoZWNrZWQ6bixvbkNoYW5nZTpvLGNsYXNzTmFtZTp1LGlkOmgsbGFiZWw6dixsYWJlbERlc2NyaXB0aW9uOnAscHJldmVudExhYmVsSGlnaGxpZ2h0OmYsdmFsdWU6ZyxyZWZlcmVuY2U6dyxzd2l0Y2hSZWZlcmVuY2U6Yix0aGVtZTp5PW0sZGlzYWJsZWQ6RSxzd2l0Y2hSb2xlOlQsaWNvbjp4fT1lLFtJLENdPSgwLGMudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxTPXIoKSh5LmxhYmVsLG4mJiFmJiZ5LmxhYmVsT24sRSYmbS5sYWJlbF9kaXNhYmxlZCksaz1yKCkodSx5LndyYXBwZXIsbiYmeS53cmFwcGVyV2l0aE9uTGFiZWwscCYmeS53cmFwcGVyV2l0aERlc2NyaXB0aW9uKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJsYWJlbCIse3JvbGU6dCxjbGFzc05hbWU6cigpKGsseCYmeS53aXRoSWNvbixtLmFjY2Vzc2libGUpLGh0bWxGb3I6aCxyZWY6dyxvbktleURvd246ZnVuY3Rpb24oZSl7aWYoZS50YXJnZXQhPT1lLmN1cnJlbnRUYXJnZXQpcmV0dXJuO2NvbnN0IHQ9KDAscy5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PXQmJjMyIT09dHx8KGUucHJldmVudERlZmF1bHQoKSxJLmN1cnJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmSS5jdXJyZW50LmNsaWNrKCkpfSx0YWJJbmRleDpDLCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsImFyaWEtZGlzYWJsZWQiOkV8fHZvaWQgMCwiYXJpYS1zZWxlY3RlZCI6bn0sdm9pZCAwIT09eCYmYS5jcmVhdGVFbGVtZW50KGwuSWNvbix7Y2xhc3NOYW1lOnkuaWNvbixpY29uOnh9KSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LmxhYmVsUm93fSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpTfSx2KSxwJiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LmxhYmVsSGludH0scCkpLGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm0uc3dpdGNoV3JhcH0sYS5jcmVhdGVFbGVtZW50KGkuU3dpdGNoLHtkaXNhYmxlZDpFLGNsYXNzTmFtZTp5LnN3aXRjaCxyZWZlcmVuY2U6ZnVuY3Rpb24oZSl7SShlKSxiPy4oZSl9LGNoZWNrZWQ6bixvbkNoYW5nZTpmdW5jdGlvbihlKXtjb25zdCB0PWUudGFyZ2V0LmNoZWNrZWQ7dm9pZCAwIT09byYmbyh0KX0sdmFsdWU6Zyx0YWJJbmRleDotMSxpZDpoLHJvbGU6VCxhcmlhRGlzYWJsZWQ6ITAsCi4uLigwLGQuZmlsdGVyRGF0YVByb3BzKShlKX0pKSl9fSwzNzQzMDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bWVudUl0ZW1Td2l0Y2hlck1vYmlsZVRoZW1lOigpPT5pfSk7dmFyIGE9bigzODcyMzEpLG89bigyNTUzMjkpLHI9big1NTMxNDkpO2NvbnN0IGk9KDAsYS5tZXJnZVRoZW1lcykoby5ERUZBVUxUX01FTlVfSVRFTV9TV0lUQ0hFUl9USEVNRSxyKX0sOTk1NzE5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FOigpPT5zLFRvb2xXaWRnZXRCdXR0b246KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDI3NzA3Nik7Y29uc3Qgcz1sLGM9YS5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e3RhZzpuPSJkaXYiLGljb246byxlbmRJY29uOnMsaXNBY3RpdmU6Yyxpc09wZW5lZDpkLGlzRGlzYWJsZWQ6bSxpc0Rpc2FibGVkQXBwZWFyYW5jZTp1LGlzRGlzYWJsZUludGVyYWN0aW9uOmgsaXNHcm91cGVkOnYsaXNIb3ZlcmVkOnAsaXNDbGlja2VkOmYsb25DbGljazpnLHRleHQ6dyx0ZXh0QmVmb3JlSWNvbjpiLHRpdGxlOnksdGhlbWU6RT1sLGNsYXNzTmFtZTpULGZvcmNlSW50ZXJhY3RpdmU6eCwiZGF0YS1uYW1lIjpJLCJkYXRhLXRvb2x0aXAiOkMsdG9vbHRpcFBvc2l0aW9uOlMsY2hpbGRyZW46ayxpc1ByZXNzZWQ6XywuLi5NfT1lLE49cigpKFQsRS5idXR0b24seyJhcHBseS1jb21tb24tdG9vbHRpcCI6Qm9vbGVhbih5fHxDKSwiY29tbW9uLXRvb2x0aXAtdmVydGljYWwiOkJvb2xlYW4oQykmJiJ2ZXJ0aWNhbCI9PT1TLFtFLmlzQWN0aXZlXTpjLFtFLmlzT3BlbmVkXTpkLFtFLmlzSW50ZXJhY3RpdmVdOih4fHxCb29sZWFuKGcpKSYmIW0mJiF1LFtFLmlzRGlzYWJsZWRdOkJvb2xlYW4obXx8dSksW0UuaXNHcm91cGVkXTp2LFtFLmhvdmVyXTpwLFtFLmNsaWNrZWRdOmYsW0UucHJlc3NlZF06X30pLHo9byYmKCJzdHJpbmciPT10eXBlb2Ygbz9hLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtjbGFzc05hbWU6RS5pY29uLGljb246b30pOmEuY2xvbmVFbGVtZW50KG8se2NsYXNzTmFtZTpyKCkoRS5pY29uLG8ucHJvcHMuY2xhc3NOYW1lKX0pKTtyZXR1cm4iYnV0dG9uIj09PW4/YS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5NLHJlZjp0LHR5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOnIoKShOLEUuYWNjZXNzaWJsZSksZGlzYWJsZWQ6bSYmIXV8fGgsb25DbGljazpnLHRpdGxlOnksImRhdGEtbmFtZSI6SSwiZGF0YS10b29sdGlwIjpDfSxiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSx6LCFiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSxrKTphLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLk0scmVmOnQsImRhdGEtcm9sZSI6ImJ1dHRvbiIsY2xhc3NOYW1lOk4sb25DbGljazptfHxoP3ZvaWQgMDpnLHRpdGxlOnksImRhdGEtbmFtZSI6SSwiZGF0YS10b29sdGlwIjpDfSxiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSx6LCFiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSxzJiZhLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtpY29uOnMsY2xhc3NOYW1lOmwuZW5kSWNvbn0pLGspfSkpfSw0MDg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0SWNvbkJ1dHRvbjooKT0+c30pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oOTk1NzE5KSxsPW4oMjk4MDg2KTtjb25zdCBzPWEuZm9yd2FyZFJlZigoZnVuY3Rpb24oZSx0KXtjb25zdHtjbGFzc05hbWU6bixpZDpvLC4uLnN9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRCdXR0b24se2lkOm8sImRhdGEtbmFtZSI6bywuLi5zLHJlZjp0LGNsYXNzTmFtZTpyKCkobixsLmJ1dHRvbil9KX0pKX0sMTAzMTYwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbnRleHRBY3Rpb246KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDk4ODA2OCksbD1uKDkxMzc3KTtjb25zdCBzPXtbaS5EQVRBX0lTX0NPTlRFWFRfQUNUSU9OXTohMH07ZnVuY3Rpb24gYyhlKXtjb25zdHtjaGlsZHJlbjp0LGNsYXNzTmFtZTpuLGhpZGVJZk5vSG92ZXI6bywuLi5pfT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5pLC4uLnMsY2xhc3NOYW1lOnIoKShsLmFjdGlvbixvJiZsLnNob3dPbkhvdmVyLG4pLG9uQ2xpY2s6ZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfX0sdCl9fSw5Nzk3NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RmF2b3JpdGVJY29uQnV0dG9uOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89big3MTk3MzcpLHI9bigxODIzMDgpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7aXNGYXZvcml0ZTp0LG9uQ2xpY2s6bn09ZSxbaSxsXT0oMCxyLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChvLkZhdm9yaXRlSWNvbkJ1dHRvbix7cmVmOmkscm9sZToiYnV0dG9uIix0YWJJbmRleDpsLGlzRmF2b3JpdGU6dCxvbkNoYW5nZUlzRmF2b3JpdGU6KCk9Pm4oKSwiZGF0YS1xYS1pZCI6InByZXNldC1tZW51LWZhdm9yaXRlLWJ1dHRvbiJ9KX19LDcyMzk4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51U3dpdGNoZXJJdGVtOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89bigzMDgyMTYpLHI9bigzMTMxMTApO2Z1bmN0aW9uIGkoZSl7Y29uc3R7dmFsdWU6dCwuLi5ufT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoci5NZW51SXRlbSx7Li4ubixyaWdodFNsb3Q6YS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyb2xlOiJncmlkY2VsbCJ9LGEuY3JlYXRlRWxlbWVudChvLlN3aXRjaFZpZXcse2NoZWNrZWQ6dH0pKSxhcmlhQ2hlY2tlZDp0LApkb250Q2xvc2VQb3B1cDohMH0pfX0sNTU4MDc1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dlbmVyYXRlQ2hhcnRVcmw6KCk9Pm99KTt2YXIgYT1uKDExNzMxMyk7ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUuY2hhcnRJZD9gL2NoYXJ0LyR7ZS5jaGFydElkfS9gOiIvY2hhcnQvIixuPW5ldyBVUkwodCxsb2NhdGlvbi5ocmVmKTtyZXR1cm4gZS5zeW1ib2wmJm4uc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIixlLnN5bWJvbCksZS5pbnRlcnZhbCYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpbnRlcnZhbCIsZS5pbnRlcnZhbCksZS5zdHlsZSYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzdHlsZSIsZS5zdHlsZSksKDAsYS51cmxXaXRoTW9iaWxlQXBwUGFyYW1zKShuLmhyZWYpfX0sOTA4MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVJvd3NOYXZpZ2F0aW9uOigpPT5tfSk7dmFyIGE9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big5ODM2MTYpLGk9bigyMzU3MjQpLGw9bigzMjk2NjgpLHM9big2ODIzODEpLGM9big2MTYzMTEpO2NvbnN0IGQ9WzM3LDM5LDM4LDQwXTtmdW5jdGlvbiBtKGUpe2NvbnN0IHQ9KDAsYS51c2VSZWYpKG51bGwpO3JldHVybigwLGMudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT0oMCxvLmVuc3VyZU5vdE51bGwpKHQuY3VycmVudCksbj0oKT0+e2NvbnN0IG49KDAsci5xdWVyeVRhYmJhYmxlRWxlbWVudHMpKGUpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtpZigwPT09bi5sZW5ndGh8fG5bMF0ucGFyZW50RWxlbWVudCYmIXYoblswXS5wYXJlbnRFbGVtZW50LCgwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KSkpe2NvbnN0IGE9ZnVuY3Rpb24oZSl7Y29uc3Qgbj1oKGUpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxhPW4uZmluZCgoZT0+dihlLCgwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KSkpKTtpZighYSlyZXR1cm4gbnVsbDtjb25zdCBpPUFycmF5LmZyb20oYS5jaGlsZHJlbik7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiBpWzBdfShlKTtpZihudWxsPT09YSlyZXR1cm47aWYoKDAsbC5iZWNvbWVNYWluRWxlbWVudCkoYSksbi5sZW5ndGg+MClmb3IoY29uc3QgZSBvZiBuKSgwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoZSl9fTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsbiksbigpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIixuKX0pLFtdKSxbdCxmdW5jdGlvbih0KXtpZih0LmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IG49KDAsaS5oYXNoRnJvbUV2ZW50KSh0KTtpZighZC5pbmNsdWRlcyhuKSlyZXR1cm47Y29uc3QgYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKCEoYSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlyZXR1cm47Y29uc3Qgbz10LmN1cnJlbnRUYXJnZXQ7bGV0IGwsYztpZihlKXtjb25zdCBlPWEucGFyZW50RWxlbWVudDtsPWU/QXJyYXkuZnJvbShlLmNoaWxkcmVuKTpbXSxjPWwuaW5kZXhPZihhKX1lbHNlIGw9KG09byxBcnJheS5mcm9tKG0ucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pJykpLmZpbHRlcigoMCxzLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShtKSkpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxjPWwuaW5kZXhPZihhKTt2YXIgbTtpZigwPT09bC5sZW5ndGh8fC0xPT09YylyZXR1cm47Y29uc3Qgdj0oMCxyLm1hcEtleUNvZGVUb0RpcmVjdGlvbikobik7c3dpdGNoKHYpe2Nhc2UiaW5saW5lUHJldiI6aWYodC5wcmV2ZW50RGVmYXVsdCgpLCFlJiYwPT09YylicmVhaztwKHUobCxjLC0xKSk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjppZih0LnByZXZlbnREZWZhdWx0KCksIWUmJmM9PT1sLmxlbmd0aC0xKWJyZWFrO3AodShsLGMsMSkpO2JyZWFrO2Nhc2UiYmxvY2tQcmV2IjpjYXNlImJsb2NrTmV4dCI6KG49PntpZighZG9jdW1lbnQuYWN0aXZlRWxlbWVudClyZXR1cm47Y29uc3QgYT1oKG8pLHI9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O2lmKCFyKXJldHVybjtjb25zdCBpPUFycmF5LmZyb20oci5jaGlsZHJlbikuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtpZigtMT09PWkpcmV0dXJuO2NvbnN0IGw9YVsiYmxvY2tOZXh0Ij09PW4/YS5pbmRleE9mKHIpKzE6YS5pbmRleE9mKHIpLTFdO2lmKCFsKXJldHVybjt0LnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgcz1BcnJheS5mcm9tKGwuY2hpbGRyZW4pO3MubGVuZ3RoJiYoIWUmJmk8PXMubGVuZ3RoLTE/cChzW2ldKTpwKHNbMF0pKX0pKHYpfX1dfWZ1bmN0aW9uIHUoZSx0LG4pe3JldHVybiBlWyh0K2UubGVuZ3RoK24pJWUubGVuZ3RoXX1mdW5jdGlvbiBoKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcm9sZT0icm93Il0nKSkuZmlsdGVyKCgwLHMuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiB2KGUsdCl7Y29uc3Qgbj0oMCxvLmVuc3VyZU5vdE51bGwpKGUucGFyZW50RWxlbWVudCkub2Zmc2V0VG9wLGE9bisoMCxvLmVuc3VyZU5vdE51bGwpKGUucGFyZW50RWxlbWVudCkuY2xpZW50SGVpZ2h0LHI9dC5zY3JvbGxUb3AsaT1yK3QuY2xpZW50SGVpZ2h0O3JldHVybiBuPj1yJiZhPD1pfWZ1bmN0aW9uIHAoZSl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsbC5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSwoMCxsLmJlY29tZU1haW5FbGVtZW50KShlKSxlLmZvY3VzKCl9fSw3MDM4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QmFkZ2VOZXc6KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDU5MDQ4NiksbD1uKDIzNDYzNikscz1uKDUyODEwMSk7ZnVuY3Rpb24gYyhlKXtjb25zdHtzaXplOnQsY2xhc3NOYW1lOm59PWUKO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoaS5CYWRnZSx7c2l6ZTp0Pz9sLkJhZGdlU2l6ZS5YU21hbGwsY2xhc3NOYW1lOnIoKShzLmJhZGdlTmV3LG4pfSwiTkVXIil9fSw0Mjc3NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RU1QVFlfRU1PSkk6KCk9PmF9KTtjb25zdCBhPSIifSwzMTUxNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZW1vamlHcm91cHM6KCk9PkwsaXNTdXBwb3J0ZWRFbW9qaTooKT0+TSxsb2NhbGVDb21wYXJlRW1vamlUaXRsZXM6KCk9PnoscmVtb3ZlVW5hdmFpbGFibGVFbW9qaTooKT0+XyxzZXBhcmF0ZUVtb2ppOigpPT5OfSk7dmFyIGE9big3Nzk0NzQpLG89bigxODUyNzEpLHI9big2NjMwNDYpLGk9big2NDE1OTMpLGw9bigxMzg2MzgpLHM9bigyNzM3MzIpLGM9big4MTQ2NzApLGQ9big2MjA3ODEpLG09bigxNjExNzcpLHU9bigxODU2MDUpLGg9bigyMDI1MTEpLHY9big3NTA3NjkpLHA9big2OTQ1MzIpLGY9big5MDAzMTEpLGc9big1Njk3ODUpCjtjb25zdCB3PVsi8J+YgCIsIvCfmIMiLCLwn5iEIiwi8J+YgSIsIvCfmIYiLCLwn5iFIiwi8J+YgiIsIvCfpKMiLCLimLrvuI8iLCLwn5iKIiwi8J+YhyIsIvCfmYIiLCLwn5mDIiwi8J+YiSIsIvCfmIwiLCLwn5iNIiwi8J+lsCIsIvCfmJgiLCLwn5iXIiwi8J+YmSIsIvCfmJoiLCLwn5iLIiwi8J+YmyIsIvCfmJ0iLCLwn5icIiwi8J+kqiIsIvCfpKgiLCLwn6eQIiwi8J+kkyIsIvCfmI4iLCLwn6SpIiwi8J+lsyIsIvCfmI8iLCLwn5iSIiwi8J+YniIsIvCfmJQiLCLwn5ifIiwi8J+YlSIsIvCfmYEiLCLimLnvuI8iLCLwn5ijIiwi8J+YliIsIvCfmKsiLCLwn5ipIiwi8J+luiIsIvCfmKIiLCLwn5itIiwi8J+YpCIsIvCfmKAiLCLwn5ihIiwi8J+krCIsIvCfpK8iLCLwn5izIiwi8J+ltSIsIvCfpbYiLCLwn5ixIiwi8J+YqCIsIvCfmLAiLCLwn5ilIiwi8J+YkyIsIvCfpJciLCLwn6SUIiwi8J+krSIsIvCfpKsiLCLwn6SlIiwi8J+YtiIsIvCfmJAiLCLwn5iRIiwi8J+YrCIsIvCfmYQiLCLwn5ivIiwi8J+YpiIsIvCfmKciLCLwn5iuIiwi8J+YsiIsIvCfpbEiLCLwn5i0Iiwi8J+kpCIsIvCfmKoiLCLwn5i1Iiwi8J+kkCIsIvCfpbQiLCLwn6SiIiwi8J+kriIsIvCfpKciLCLwn5i3Iiwi8J+kkiIsIvCfpJUiLCLwn6SRIiwi8J+koCIsIvCfmIgiLCLwn5G/Iiwi8J+RuSIsIvCfkboiLCLwn6ShIiwi8J+SqSIsIvCfkbsiLCLwn5KAIiwi4pig77iPIiwi8J+RvSIsIvCfkb4iLCLwn6SWIiwi8J+OgyIsIvCfmLoiLCLwn5i4Iiwi8J+YuSIsIvCfmLsiLCLwn5i8Iiwi8J+YvSIsIvCfmYAiLCLwn5i/Iiwi8J+YviIsIvCfkYsiLCLwn6SaIiwi8J+WkCIsIuKciyIsIvCflpYiLCLwn5GMIiwi8J+kjyIsIuKcjO+4jyIsIvCfpJ4iLCLwn6SfIiwi8J+kmCIsIvCfpJkiLCLwn5GIIiwi8J+RiSIsIvCfkYYiLCLwn5aVIiwi8J+RhyIsIuKYne+4jyIsIvCfkY0iLCLwn5GOIiwi4pyKIiwi8J+RiiIsIvCfpJsiLCLwn6ScIiwi8J+RjyIsIvCfmYwiLCLwn5GQIiwi8J+ksiIsIvCfpJ0iLCLwn5mPIiwi4pyN77iPIiwi8J+ShSIsIvCfpLMiLCLwn5KqIiwi8J+mviIsIvCfprUiLCLwn6a/Iiwi8J+mtiIsIvCfkYIiLCLwn6a7Iiwi8J+RgyIsIvCfp6AiLCLwn6a3Iiwi8J+mtCIsIvCfkYAiLCLwn5GBIiwi8J+RhSIsIvCfkYQiLCLwn5KLIiwi8J+puCIsIvCfkbYiLCLwn6eSIiwi8J+RpiIsIvCfkaciLCLwn6eRIiwi8J+RsSIsIvCfkagiLCLwn6eUIiwi8J+RqOKAjfCfprAiLCLwn5Go4oCN8J+msSIsIvCfkajigI3wn6azIiwi8J+RqOKAjfCfprIiLCLwn5GpIiwi8J+RqeKAjfCfprAiLCLwn6eR4oCN8J+msCIsIvCfkanigI3wn6axIiwi8J+nkeKAjfCfprEiLCLwn5Gp4oCN8J+msyIsIvCfp5HigI3wn6azIiwi8J+RqeKAjfCfprIiLCLwn6eR4oCN8J+msiIsIvCfkbHigI3imYDvuI8iLCLwn5Gx4oCN4pmC77iPIiwi8J+nkyIsIvCfkbQiLCLwn5G1Iiwi8J+ZjSIsIvCfmY3igI3imYLvuI8iLCLwn5mN4oCN4pmA77iPIiwi8J+ZjiIsIvCfmY7igI3imYLvuI8iLCLwn5mO4oCN4pmA77iPIiwi8J+ZhSIsIvCfmYXigI3imYLvuI8iLCLwn5mF4oCN4pmA77iPIiwi8J+ZhiIsIvCfmYbigI3imYLvuI8iLCLwn5mG4oCN4pmA77iPIiwi8J+SgSIsIvCfkoHigI3imYLvuI8iLCLwn5KB4oCN4pmA77iPIiwi8J+ZiyIsIvCfmYvigI3imYLvuI8iLCLwn5mL4oCN4pmA77iPIiwi8J+njyIsIvCfp4/igI3imYLvuI8iLCLwn6eP4oCN4pmA77iPIiwi8J+ZhyIsIvCfmYfigI3imYLvuI8iLCLwn5mH4oCN4pmA77iPIiwi8J+kpiIsIvCfpKbigI3imYLvuI8iLCLwn6Sm4oCN4pmA77iPIiwi8J+ktyIsIvCfpLfigI3imYLvuI8iLCLwn6S34oCN4pmA77iPIiwi8J+nkeKAjeKale+4jyIsIvCfkajigI3impXvuI8iLCLwn5Gp4oCN4pqV77iPIiwi8J+nkeKAjfCfjpMiLCLwn5Go4oCN8J+OkyIsIvCfkanigI3wn46TIiwi8J+nkeKAjfCfj6siLCLwn5Go4oCN8J+PqyIsIvCfkanigI3wn4+rIiwi8J+nkeKAjeKalu+4jyIsIvCfkajigI3impbvuI8iLCLwn5Gp4oCN4pqW77iPIiwi8J+nkeKAjfCfjL4iLCLwn5Go4oCN8J+MviIsIvCfkanigI3wn4y+Iiwi8J+nkeKAjfCfjbMiLCLwn5Go4oCN8J+NsyIsIvCfkanigI3wn42zIiwi8J+nkeKAjfCflKciLCLwn5Go4oCN8J+UpyIsIvCfkanigI3wn5SnIiwi8J+nkeKAjfCfj60iLCLwn5Go4oCN8J+PrSIsIvCfkanigI3wn4+tIiwi8J+nkeKAjfCfkrwiLCLwn5Go4oCN8J+SvCIsIvCfkanigI3wn5K8Iiwi8J+nkeKAjfCflKwiLCLwn5Go4oCN8J+UrCIsIvCfkanigI3wn5SsIiwi8J+nkeKAjfCfkrsiLCLwn5Go4oCN8J+SuyIsIvCfkanigI3wn5K7Iiwi8J+nkeKAjfCfjqQiLCLwn5Go4oCN8J+OpCIsIvCfkanigI3wn46kIiwi8J+nkeKAjfCfjqgiLCLwn5Go4oCN8J+OqCIsIvCfkanigI3wn46oIiwi8J+nkeKAjeKciO+4jyIsIvCfkajigI3inIjvuI8iLCLwn5Gp4oCN4pyI77iPIiwi8J+nkeKAjfCfmoAiLCLwn5Go4oCN8J+agCIsIvCfkanigI3wn5qAIiwi8J+nkeKAjfCfmpIiLCLwn5Go4oCN8J+akiIsIvCfkanigI3wn5qSIiwi8J+RriIsIvCfka7igI3imYLvuI8iLCLwn5Gu4oCN4pmA77iPIiwi8J+VtSIsIvCflbXvuI/igI3imYLvuI8iLCLwn5W177iP4oCN4pmA77iPIiwi8J+SgiIsIvCfkoLigI3imYLvuI8iLCLwn5KC4oCN4pmA77iPIiwi8J+RtyIsIvCfkbfigI3imYLvuI8iLCLwn5G34oCN4pmA77iPIiwi8J+ktCIsIvCfkbgiLCLwn5GzIiwi8J+Rs+KAjeKZgu+4jyIsIvCfkbPigI3imYDvuI8iLCLwn5GyIiwi8J+nlSIsIvCfpLUiLCLwn5GwIiwi8J+ksCIsIvCfpLEiLCLwn5G8Iiwi8J+OhSIsIvCfpLYiLCLwn6a4Iiwi8J+muOKAjeKZgu+4jyIsIvCfprjigI3imYDvuI8iLCLwn6a5Iiwi8J+mueKAjeKZgu+4jyIsIvCfprnigI3imYDvuI8iLCLwn6eZIiwi8J+nmeKAjeKZgu+4jyIsIvCfp5nigI3imYDvuI8iLCLwn6eaIiwi8J+nmuKAjeKZgu+4jyIsIvCfp5rigI3imYDvuI8iLCLwn6ebIiwi8J+nm+KAjeKZgu+4jyIsIvCfp5vigI3imYDvuI8iLCLwn6ecIiwi8J+nnOKAjeKZgu+4jyIsIvCfp5zigI3imYDvuI8iLCLwn6edIiwi8J+nneKAjeKZgu+4jyIsIvCfp53igI3imYDvuI8iLCLwn6eeIiwi8J+nnuKAjeKZgu+4jyIsIvCfp57igI3imYDvuI8iLCLwn6efIiwi8J+nn+KAjeKZgu+4jyIsIvCfp5/igI3imYDvuI8iLCLwn5KGIiwi8J+ShuKAjeKZgu+4jyIsIvCfkobigI3imYDvuI8iLCLwn5KHIiwi8J+Sh+KAjeKZgu+4jyIsIvCfkofigI3imYDvuI8iLCLwn5q2Iiwi8J+atuKAjeKZgu+4jyIsIvCfmrbigI3imYDvuI8iLCLwn6eNIiwi8J+njeKAjeKZgu+4jyIsIvCfp43igI3imYDvuI8iLCLwn6eOIiwi8J+njuKAjeKZgu+4jyIsIvCfp47igI3imYDvuI8iLCLwn6eR4oCN8J+mryIsIvCfkajigI3wn6avIiwi8J+RqeKAjfCfpq8iLCLwn6eR4oCN8J+mvCIsIvCfkajigI3wn6a8Iiwi8J+RqeKAjfCfprwiLCLwn6eR4oCN8J+mvSIsIvCfkajigI3wn6a9Iiwi8J+RqeKAjfCfpr0iLCLwn4+DIiwi8J+Pg+KAjeKZgu+4jyIsIvCfj4PigI3imYDvuI8iLCLwn5KDIiwi8J+VuiIsIvCflbQiLCLwn5GvIiwi8J+Rr+KAjeKZgu+4jyIsIvCfka/igI3imYDvuI8iLCLwn6eWIiwi8J+nluKAjeKZgu+4jyIsIvCfp5bigI3imYDvuI8iLCLwn6eR4oCN8J+kneKAjfCfp5EiLCLwn5GtIiwi8J+RqyIsIvCfkawiLCLwn5KPIiwi8J+RqOKAjeKdpO+4j+KAjfCfkovigI3wn5GoIiwi8J+RqeKAjeKdpO+4j+KAjfCfkovigI3wn5GpIiwi8J+SkSIsIvCfkajigI3inaTvuI/igI3wn5GoIiwi8J+RqeKAjeKdpO+4j+KAjfCfkakiLCLwn5GqIiwi8J+RqOKAjfCfkanigI3wn5GmIiwi8J+RqOKAjfCfkanigI3wn5GnIiwi8J+RqOKAjfCfkanigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Gp4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RqeKAjfCfkafigI3wn5GnIiwi8J+RqOKAjfCfkajigI3wn5GmIiwi8J+RqOKAjfCfkajigI3wn5GnIiwi8J+RqOKAjfCfkajigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Go4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RqOKAjfCfkafigI3wn5GnIiwi8J+RqeKAjfCfkanigI3wn5GmIiwi8J+RqeKAjfCfkanigI3wn5GnIiwi8J+RqeKAjfCfkanigI3wn5Gn4oCN8J+RpiIsIvCfkanigI3wn5Gp4oCN8J+RpuKAjfCfkaYiLCLwn5Gp4oCN8J+RqeKAjfCfkafigI3wn5GnIiwi8J+RqOKAjfCfkaYiLCLwn5Go4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RpyIsIvCfkajigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Gn4oCN8J+RpyIsIvCfkanigI3wn5GmIiwi8J+RqeKAjfCfkabigI3wn5GmIiwi8J+RqeKAjfCfkaciLCLwn5Gp4oCN8J+Rp+KAjfCfkaYiLCLwn5Gp4oCN8J+Rp+KAjfCfkaciLCLwn5ejIiwi8J+RpCIsIvCfkaUiLCLwn5GjIl0sYj1bIvCfkLYiLCLwn5CxIiwi8J+QrSIsIvCfkLkiLCLwn5CwIiwi8J+miiIsIvCfkLsiLCLwn5C8Iiwi8J+QqCIsIvCfkK8iLCLwn6aBIiwi8J+QriIsIvCfkLciLCLwn5C9Iiwi8J+QuCIsIvCfkLUiLCLwn5mIIiwi8J+ZiSIsIvCfmYoiLCLwn5CSIiwi8J+QlCIsIvCfkKciLCLwn5CmIiwi8J+QpCIsIvCfkKMiLCLwn5ClIiwi8J+mhiIsIvCfpoUiLCLwn6aJIiwi8J+mhyIsIvCfkLoiLCLwn5CXIiwi8J+QtCIsIvCfpoQiLCLwn5CdIiwi8J+QmyIsIvCfposiLCLwn5CMIiwi8J+QniIsIvCfkJwiLCLwn6afIiwi8J+mlyIsIvCflbciLCLwn5W4Iiwi8J+mgiIsIvCfkKIiLCLwn5CNIiwi8J+mjiIsIvCfppYiLCLwn6aVIiwi8J+QmSIsIvCfppEiLCLwn6aQIiwi8J+mniIsIvCfpoAiLCLwn5ChIiwi8J+QoCIsIvCfkJ8iLCLwn5CsIiwi8J+QsyIsIvCfkIsiLCLwn6aIIiwi8J+QiiIsIvCfkIUiLCLwn5CGIiwi8J+mkyIsIvCfpo0iLCLwn6anIiwi8J+QmCIsIvCfppsiLCLwn6aPIiwi8J+QqiIsIvCfkKsiLCLwn6aSIiwi8J+mmCIsIvCfkIMiLCLwn5CCIiwi8J+QhCIsIvCfkI4iLCLwn5CWIiwi8J+QjyIsIvCfkJEiLCLwn6aZIiwi8J+QkCIsIvCfpowiLCLwn5CVIiwi8J+QqSIsIvCfpq4iLCLwn5CV4oCN8J+muiIsIvCfkIgiLCLwn5CTIiwi8J+mgyIsIvCfppoiLCLwn6acIiwi8J+moiIsIvCfpqkiLCLwn5WKIiwi8J+QhyIsIvCfpp0iLCLwn6aoIiwi8J+moSIsIvCfpqYiLCLwn6alIiwi8J+QgSIsIvCfkIAiLCLwn5C/Iiwi8J+mlCIsIvCfkL4iLCLwn5CJIiwi8J+QsiIsIvCfjLUiLCLwn46EIiwi8J+MsiIsIvCfjLMiLCLwn4y0Iiwi8J+MsSIsIvCfjL8iLCLimJjvuI8iLCLwn42AIiwi8J+OjSIsIvCfjosiLCLwn42DIiwi8J+NgiIsIvCfjYEiLCLwn42EIiwi8J+QmiIsIvCfjL4iLCLwn5KQIiwi8J+MtyIsIvCfjLkiLCLwn6WAIiwi8J+MuiIsIvCfjLgiLCLwn4y8Iiwi8J+MuyIsIvCfjJ4iLCLwn4ydIiwi8J+MmyIsIvCfjJwiLCLwn4yaIiwi8J+MlSIsIvCfjJYiLCLwn4yXIiwi8J+MmCIsIvCfjJEiLCLwn4ySIiwi8J+MkyIsIvCfjJQiLCLwn4yZIiwi8J+MjiIsIvCfjI0iLCLwn4yPIiwi8J+qkCIsIvCfkqsiLCLirZDvuI8iLCLwn4yfIiwi4pyoIiwi4pqh77iPIiwi4piE77iPIiwi8J+SpSIsIvCflKUiLCLwn4yqIiwi8J+MiCIsIuKYgO+4jyIsIvCfjKQiLCLim4XvuI8iLCLwn4ylIiwi4piB77iPIiwi8J+MpiIsIvCfjKciLCLim4giLCLwn4ypIiwi8J+MqCIsIuKdhO+4jyIsIuKYg++4jyIsIuKbhO+4jyIsIvCfjKwiLCLwn5KoIiwi8J+SpyIsIvCfkqYiLCLimJTvuI8iLCLwn4yKIiwi8J+MqyJdLHk9WyLwn42PIiwi8J+NjiIsIvCfjZAiLCLwn42KIiwi8J+NiyIsIvCfjYwiLCLwn42JIiwi8J+NhyIsIvCfjZMiLCLwn42IIiwi8J+NkiIsIvCfjZEiLCLwn6WtIiwi8J+NjSIsIvCfpaUiLCLwn6WdIiwi8J+NhSIsIvCfjYYiLCLwn6WRIiwi8J+lpiIsIvCfpawiLCLwn6WSIiwi8J+MtiIsIvCfjL0iLCLwn6WVIiwi8J+nhCIsIvCfp4UiLCLwn6WUIiwi8J+NoCIsIvCfpZAiLCLwn6WvIiwi8J+NniIsIvCfpZYiLCLwn6WoIiwi8J+ngCIsIvCfpZoiLCLwn42zIiwi8J+niCIsIvCfpZ4iLCLwn6eHIiwi8J+lkyIsIvCfpakiLCLwn42XIiwi8J+NliIsIvCfjK0iLCLwn42UIiwi8J+NnyIsIvCfjZUiLCLwn6WqIiwi8J+lmSIsIvCfp4YiLCLwn4yuIiwi8J+MryIsIvCfpZciLCLwn6WYIiwi8J+lqyIsIvCfjZ0iLCLwn42cIiwi8J+NsiIsIvCfjZsiLCLwn42jIiwi8J+NsSIsIvCfpZ8iLCLwn6aqIiwi8J+NpCIsIvCfjZkiLCLwn42aIiwi8J+NmCIsIvCfjaUiLCLwn6WgIiwi8J+lriIsIvCfjaIiLCLwn42hIiwi8J+NpyIsIvCfjagiLCLwn42mIiwi8J+lpyIsIvCfp4EiLCLwn42wIiwi8J+OgiIsIvCfja4iLCLwn42tIiwi8J+NrCIsIvCfjasiLCLwn42/Iiwi8J+NqSIsIvCfjaoiLCLwn4ywIiwi8J+lnCIsIvCfja8iLCLwn6WbIiwi8J+NvCIsIuKYle+4jyIsIvCfjbUiLCLwn6eDIiwi8J+lpCIsIvCfjbYiLCLwn426Iiwi8J+NuyIsIvCfpYIiLCLwn423Iiwi8J+lgyIsIvCfjbgiLCLwn425Iiwi8J+niSIsIvCfjb4iLCLwn6eKIiwi8J+lhCIsIvCfjbQiLCLwn429Iiwi8J+loyIsIvCfpaEiLCLwn6WiIiwi8J+ngiJdLEU9WyLimr3vuI8iLCLwn4+AIiwi8J+PiCIsIuKavu+4jyIsIvCfpY4iLCLwn46+Iiwi8J+PkCIsIvCfj4kiLCLwn6WPIiwi8J+OsSIsIvCfqoAiLCLwn4+TIiwi8J+PuCIsIvCfj5IiLCLwn4+RIiwi8J+ljSIsIvCfj48iLCLwn6WFIiwi4puz77iPIiwi8J+qgSIsIvCfj7kiLCLwn46jIiwi8J+kvyIsIvCfpYoiLCLwn6WLIiwi8J+OvSIsIvCfm7kiLCLwn5u3Iiwi4pu4Iiwi8J+ljCIsIvCfjr8iLCLim7ciLCLwn4+CIiwi8J+qgiIsIvCfj4vvuI8iLCLwn4+L77iP4oCN4pmC77iPIiwi8J+Pi++4j+KAjeKZgO+4jyIsIvCfpLwiLCLwn6S84oCN4pmC77iPIiwi8J+kvOKAjeKZgO+4jyIsIvCfpLjigI3imYDvuI8iLCLwn6S4Iiwi8J+kuOKAjeKZgu+4jyIsIuKbue+4jyIsIuKbue+4j+KAjeKZgu+4jyIsIuKbue+4j+KAjeKZgO+4jyIsIvCfpLoiLCLwn6S+Iiwi8J+kvuKAjeKZgu+4jyIsIvCfpL7igI3imYDvuI8iLCLwn4+M77iPIiwi8J+PjO+4j+KAjeKZgu+4jyIsIvCfj4zvuI/igI3imYDvuI8iLCLwn4+HIiwi8J+nmCIsIvCfp5jigI3imYLvuI8iLCLwn6eY4oCN4pmA77iPIiwi8J+PhCIsIvCfj4TigI3imYLvuI8iLCLwn4+E4oCN4pmA77iPIiwi8J+PiiIsIvCfj4rigI3imYLvuI8iLCLwn4+K4oCN4pmA77iPIiwi8J+kvSIsIvCfpL3igI3imYLvuI8iLCLwn6S94oCN4pmA77iPIiwi8J+aoyIsIvCfmqPigI3imYLvuI8iLCLwn5qj4oCN4pmA77iPIiwi8J+nlyIsIvCfp5figI3imYLvuI8iLCLwn6eX4oCN4pmA77iPIiwi8J+atSIsIvCfmrXigI3imYLvuI8iLCLwn5q14oCN4pmA77iPIiwi8J+atCIsIvCfmrTigI3imYLvuI8iLCLwn5q04oCN4pmA77iPIiwi8J+PhiIsIvCfpYciLCLwn6WIIiwi8J+liSIsIvCfj4UiLCLwn46WIiwi8J+PtSIsIvCfjpciLCLwn46rIiwi8J+OnyIsIvCfjqoiLCLwn6S5Iiwi8J+kueKAjeKZgu+4jyIsIvCfpLnigI3imYDvuI8iLCLwn46tIiwi8J+OqCIsIvCfjqwiLCLwn46kIiwi8J+OpyIsIvCfjrwiLCLwn465Iiwi8J+lgSIsIvCfjrciLCLwn466Iiwi8J+OuCIsIvCfqpUiLCLwn467Iiwi8J+OsiIsIvCfjq8iLCLwn46zIiwi8J+OriIsIvCfjrAiLCLwn6epIl0sVD1bIvCfmpciLCLwn5qVIiwi8J+amSIsIvCfmowiLCLwn5qOIiwi8J+PjiIsIvCfmpMiLCLwn5qRIiwi8J+akiIsIvCfmpAiLCLwn5qaIiwi8J+amyIsIvCfmpwiLCLwn6avIiwi8J+mvSIsIvCfprwiLCLwn5u0Iiwi8J+asiIsIvCfm7UiLCLwn4+NIiwi8J+buiIsIvCfmqgiLCLwn5qUIiwi8J+ajSIsIvCfmpgiLCLwn5qWIiwi8J+aoSIsIvCfmqAiLCLwn5qfIiwi8J+agyIsIvCfmosiLCLwn5qeIiwi8J+anSIsIvCfmoQiLCLwn5qFIiwi8J+aiCIsIvCfmoIiLCLwn5qGIiwi8J+ahyIsIvCfmooiLCLwn5qJIiwi4pyI77iPIiwi8J+bqyIsIvCfm6wiLCLwn5upIiwi8J+SuiIsIvCfm7AiLCLwn5qAIiwi8J+buCIsIvCfmoEiLCLwn5u2Iiwi4pu177iPIiwi8J+apCIsIvCfm6UiLCLwn5uzIiwi4pu0Iiwi8J+aoiIsIuKak++4jyIsIuKbve+4jyIsIvCfmqciLCLwn5qmIiwi8J+apSIsIvCfmo8iLCLwn5e6Iiwi8J+XvyIsIvCfl70iLCLwn5e8Iiwi8J+PsCIsIvCfj68iLCLwn4+fIiwi8J+OoSIsIvCfjqIiLCLwn46gIiwi4puy77iPIiwi4puxIiwi8J+PliIsIvCfj50iLCLwn4+cIiwi8J+MiyIsIuKbsCIsIvCfj5QiLCLwn5e7Iiwi8J+PlSIsIuKbuu+4jyIsIvCfj6AiLCLwn4+hIiwi8J+PmCIsIvCfj5oiLCLwn4+XIiwi8J+PrSIsIvCfj6IiLCLwn4+sIiwi8J+PoyIsIvCfj6QiLCLwn4+lIiwi8J+PpiIsIvCfj6giLCLwn4+qIiwi8J+PqyIsIvCfj6kiLCLwn5KSIiwi8J+PmyIsIuKbqu+4jyIsIvCflYwiLCLwn5WNIiwi8J+blSIsIvCflYsiLCLim6kiLCLwn5ukIiwi8J+boyIsIvCfl74iLCLwn46RIiwi8J+PniIsIvCfjIUiLCLwn4yEIiwi8J+MoCIsIvCfjociLCLwn46GIiwi8J+MhyIsIvCfjIYiLCLwn4+ZIiwi8J+MgyIsIvCfjIwiLCLwn4yJIiwi8J+MgSJdLHg9WyLijJrvuI8iLCLwn5OxIiwi8J+TsiIsIvCfkrsiLCLijKjvuI8iLCLwn5alIiwi8J+WqCIsIvCflrEiLCLwn5ayIiwi8J+VuSIsIvCfl5wiLCLwn5K9Iiwi8J+SviIsIvCfkr8iLCLwn5OAIiwi8J+TvCIsIvCfk7ciLCLwn5O4Iiwi8J+TuSIsIvCfjqUiLCLwn5O9Iiwi8J+OniIsIvCfk54iLCLimI7vuI8iLCLwn5OfIiwi8J+ToCIsIvCfk7oiLCLwn5O7Iiwi8J+OmSIsIvCfjpoiLCLwn46bIiwi8J+nrSIsIuKPsSIsIuKPsiIsIuKPsCIsIvCflbAiLCLijJvvuI8iLCLij7MiLCLwn5OhIiwi8J+UiyIsIvCflIwiLCLwn5KhIiwi8J+UpiIsIvCfla8iLCLwn6qUIiwi8J+nryIsIvCfm6IiLCLwn5K4Iiwi8J+StSIsIvCfkrQiLCLwn5K2Iiwi8J+StyIsIvCfkrAiLCLwn5KzIiwi8J+SjiIsIuKalu+4jyIsIvCfp7AiLCLwn5SnIiwi8J+UqCIsIuKakiIsIvCfm6AiLCLim48iLCLwn5SpIiwi4pqZ77iPIiwi8J+nsSIsIuKbkyIsIvCfp7IiLCLwn5SrIiwi8J+SoyIsIvCfp6giLCLwn6qTIiwi8J+UqiIsIvCfl6EiLCLimpTvuI8iLCLwn5uhIiwi8J+arCIsIuKasO+4jyIsIuKase+4jyIsIvCfj7oiLCLwn5SuIiwi8J+TvyIsIvCfp78iLCLwn5KIIiwi4pqX77iPIiwi8J+UrSIsIvCflKwiLCLwn5WzIiwi8J+puSIsIvCfqboiLCLwn5KKIiwi8J+SiSIsIvCfp6wiLCLwn6agIiwi8J+nqyIsIvCfp6oiLCLwn4yhIiwi8J+nuSIsIvCfp7oiLCLwn6e7Iiwi8J+avSIsIvCfmrAiLCLwn5q/Iiwi8J+bgSIsIvCfm4AiLCLwn6e8Iiwi8J+qkiIsIvCfp70iLCLwn6e0Iiwi8J+bjiIsIvCflJEiLCLwn5edIiwi8J+aqiIsIvCfqpEiLCLwn5uLIiwi8J+bjyIsIvCfm4wiLCLwn6e4Iiwi8J+WvCIsIvCfm40iLCLwn5uSIiwi8J+OgSIsIvCfjogiLCLwn46PIiwi8J+OgCIsIvCfjooiLCLwn46JIiwi8J+OjiIsIvCfj64iLCLwn46QIiwi8J+npyIsIuKcie+4jyIsIvCfk6kiLCLwn5OoIiwi8J+TpyIsIvCfkowiLCLwn5OlIiwi8J+TpCIsIvCfk6YiLCLwn4+3Iiwi8J+TqiIsIvCfk6siLCLwn5OsIiwi8J+TrSIsIvCfk64iLCLwn5OvIiwi8J+TnCIsIvCfk4MiLCLwn5OEIiwi8J+TkSIsIvCfp74iLCLwn5OKIiwi8J+TiCIsIvCfk4kiLCLwn5eSIiwi8J+XkyIsIvCfk4YiLCLwn5OFIiwi8J+XkSIsIvCfk4ciLCLwn5eDIiwi8J+XsyIsIvCfl4QiLCLwn5OLIiwi8J+TgSIsIvCfk4IiLCLwn5eCIiwi8J+XniIsIvCfk7AiLCLwn5OTIiwi8J+TlCIsIvCfk5IiLCLwn5OVIiwi8J+TlyIsIvCfk5giLCLwn5OZIiwi8J+TmiIsIvCfk5YiLCLwn5SWIiwi8J+ntyIsIvCflJciLCLwn5OOIiwi8J+WhyIsIvCfk5AiLCLwn5OPIiwi8J+nriIsIvCfk4wiLCLwn5ONIiwi4pyC77iPIiwi8J+WiiIsIvCflosiLCLinJLvuI8iLCLwn5aMIiwi8J+WjSIsIvCfk50iLCLinI/vuI8iLCLwn5SNIiwi8J+UjiIsIvCflI8iLCLwn5SQIiwi8J+UkiIsIvCflJMiLCLwn6ezIiwi8J+MgiIsIuKYgu+4jyIsIvCfp7UiLCLwn6e2Iiwi8J+RkyIsIvCflbYiLCLwn6W9Iiwi8J+lvCIsIvCfproiLCLwn5GUIiwi8J+RlSIsIvCfkZYiLCLwn6ejIiwi8J+npCIsIvCfp6UiLCLwn6emIiwi8J+RlyIsIvCfkZgiLCLwn6W7Iiwi8J+psSIsIvCfqbIiLCLwn6mzIiwi8J+RmSIsIvCfkZoiLCLwn5GbIiwi8J+RnCIsIvCfkZ0iLCLwn46SIiwi8J+RniIsIvCfkZ8iLCLwn6W+Iiwi8J+lvyIsIvCfkaAiLCLwn5GhIiwi8J+psCIsIvCfkaIiLCLwn5GRIiwi8J+RkiIsIvCfjqkiLCLwn46TIiwi8J+noiIsIuKbkSIsIvCfkoQiLCLwn5KNIiwi8J+SvCJdLEk9WyLinaTvuI8iLCLwn6ehIiwi8J+SmyIsIvCfkpoiLCLwn5KZIiwi8J+SnCIsIvCflqQiLCLwn6SNIiwi8J+kjiIsIvCfkpQiLCLinaPvuI8iLCLwn5KVIiwi8J+SniIsIvCfkpMiLCLwn5KXIiwi8J+SliIsIvCfkpgiLCLwn5KdIiwi8J+SnyIsIuKYru+4jyIsIuKcne+4jyIsIuKYqu+4jyIsIvCflYkiLCLimLjvuI8iLCLinKHvuI8iLCLwn5SvIiwi8J+VjiIsIuKYr++4jyIsIuKYpu+4jyIsIvCfm5AiLCLim44iLCLimYjvuI8iLCLimYnvuI8iLCLimYrvuI8iLCLimYvvuI8iLCLimYzvuI8iLCLimY3vuI8iLCLimY7vuI8iLCLimY/vuI8iLCLimZDvuI8iLCLimZHvuI8iLCLimZLvuI8iLCLimZPvuI8iLCLwn4aUIiwi4pqb77iPIiwi8J+JkSIsIuKYou+4jyIsIuKYo++4jyIsIvCfk7QiLCLwn5OzIiwi8J+ItiIsIvCfiJrvuI8iLCLwn4i4Iiwi8J+IuiIsIvCfiLfvuI8iLCLinLTvuI8iLCLwn4aaIiwi8J+SriIsIvCfiZAiLCLjipnvuI8iLCLjipfvuI8iLCLwn4i0Iiwi8J+ItSIsIvCfiLkiLCLwn4iyIiwi8J+FsO+4jyIsIvCfhbHvuI8iLCLwn4aOIiwi8J+GkSIsIvCfhb7vuI8iLCLwn4aYIiwi4p2MIiwi4q2V77iPIiwi8J+bkSIsIuKblO+4jyIsIvCfk5siLCLwn5qrIiwi8J+SryIsIvCfkqIiLCLimajvuI8iLCLwn5q3Iiwi8J+aryIsIvCfmrMiLCLwn5qxIiwi8J+UniIsIvCfk7UiLCLwn5qtIiwi4p2X77iPIiwi4p2VIiwi4p2TIiwi4p2UIiwi4oC877iPIiwi4oGJ77iPIiwi8J+UhSIsIvCflIYiLCLjgL3vuI8iLCLimqDvuI8iLCLwn5q4Iiwi8J+UsSIsIuKanO+4jyIsIvCflLAiLCLimbvvuI8iLCLinIUiLCLwn4iv77iPIiwi8J+SuSIsIuKdh++4jyIsIuKcs++4jyIsIuKdjiIsIvCfjJAiLCLwn5KgIiwi4pOC77iPIiwi8J+MgCIsIvCfkqQiLCLwn4+nIiwi8J+aviIsIuKZv++4jyIsIvCfhb/vuI8iLCLwn4izIiwi8J+Igu+4jyIsIvCfm4IiLCLwn5uDIiwi8J+bhCIsIvCfm4UiLCLwn5q5Iiwi8J+auiIsIvCfmrwiLCLwn5q7Iiwi8J+ariIsIvCfjqYiLCLwn5O2Iiwi8J+IgSIsIvCflKMiLCLihLnvuI8iLCLwn5SkIiwi8J+UoSIsIvCflKAiLCLwn4aWIiwi8J+GlyIsIvCfhpkiLCLwn4aSIiwi8J+GlSIsIvCfhpMiLCIw77iP4oOjIiwiMe+4j+KDoyIsIjLvuI/ig6MiLCIz77iP4oOjIiwiNO+4j+KDoyIsIjXvuI/ig6MiLCI277iP4oOjIiwiN++4j+KDoyIsIjjvuI/ig6MiLCI577iP4oOjIiwi8J+UnyIsIvCflKIiLCIj77iP4oOjIiwiKu+4j+KDoyIsIuKPj++4jyIsIuKWtu+4jyIsIuKPuCIsIuKPryIsIuKPuSIsIuKPuiIsIuKPrSIsIuKPriIsIuKPqSIsIuKPqiIsIuKPqyIsIuKPrCIsIuKXgO+4jyIsIvCflLwiLCLwn5S9Iiwi4p6h77iPIiwi4qyF77iPIiwi4qyG77iPIiwi4qyH77iPIiwi4oaX77iPIiwi4oaY77iPIiwi4oaZ77iPIiwi4oaW77iPIiwi4oaV77iPIiwi4oaU77iPIiwi4oaq77iPIiwi4oap77iPIiwi4qS077iPIiwi4qS177iPIiwi8J+UgCIsIvCflIEiLCLwn5SCIiwi8J+UhCIsIvCflIMiLCLwn461Iiwi8J+OtiIsIuKelSIsIuKeliIsIuKelyIsIuKclu+4jyIsIuKZviIsIvCfkrIiLCLwn5KxIiwi4oSi77iPIiwiwqnvuI8iLCLCru+4jyIsIuOAsO+4jyIsIuKesCIsIuKevyIsIvCflJoiLCLwn5SZIiwi8J+UmyIsIvCflJ0iLCLwn5ScIiwi4pyU77iPIiwi4piR77iPIiwi8J+UmCIsIvCflLQiLCLwn5+gIiwi8J+foSIsIvCfn6IiLCLwn5S1Iiwi8J+foyIsIuKaq++4jyIsIuKaqu+4jyIsIvCfn6QiLCLwn5S6Iiwi8J+UuyIsIvCflLgiLCLwn5S5Iiwi8J+UtiIsIvCflLciLCLwn5SzIiwi8J+UsiIsIuKWqu+4jyIsIuKWq++4jyIsIuKXvu+4jyIsIuKXve+4jyIsIuKXvO+4jyIsIuKXu++4jyIsIvCfn6UiLCLwn5+nIiwi8J+fqCIsIvCfn6kiLCLwn5+mIiwi8J+fqiIsIuKsm++4jyIsIuKsnO+4jyIsIvCfn6siLCLwn5SIIiwi8J+UhyIsIvCflIkiLCLwn5SKIiwi8J+UlCIsIvCflJUiLCLwn5OjIiwi8J+ToiIsIvCfkYHigI3wn5eoIiwi8J+SrCIsIvCfkq0iLCLwn5evIiwi4pmg77iPIiwi4pmj77iPIiwi4pml77iPIiwi4pmm77iPIiwi8J+DjyIsIvCfjrQiLCLwn4CE77iPIiwi8J+VkCIsIvCflZEiLCLwn5WSIiwi8J+VkyIsIvCflZQiLCLwn5WVIiwi8J+VliIsIvCflZciLCLwn5WYIiwi8J+VmSIsIvCflZoiLCLwn5WbIiwi8J+VnCIsIvCflZ0iLCLwn5WeIiwi8J+VnyIsIvCflaAiLCLwn5WhIiwi8J+VoiIsIvCflaMiLCLwn5WkIiwi8J+VpSIsIvCflaYiLCLwn5WnIl0sQz1bIvCfj7PvuI8iLCLwn4+0Iiwi8J+PgSIsIvCfmqkiLCLwn4+z77iP4oCN8J+MiCIsIvCfj7TigI3imKDvuI8iLCLwn4em8J+HqyIsIvCfh6bwn4e9Iiwi8J+HpvCfh7EiLCLwn4ep8J+HvyIsIvCfh6bwn4e4Iiwi8J+HpvCfh6kiLCLwn4em8J+HtCIsIvCfh6bwn4euIiwi8J+HpvCfh7YiLCLwn4em8J+HrCIsIvCfh6bwn4e3Iiwi8J+HpvCfh7IiLCLwn4em8J+HvCIsIvCfh6bwn4e6Iiwi8J+HpvCfh7kiLCLwn4em8J+HvyIsIvCfh6fwn4e4Iiwi8J+Hp/Cfh60iLCLwn4en8J+HqSIsIvCfh6fwn4enIiwi8J+Hp/Cfh74iLCLwn4en8J+HqiIsIvCfh6fwn4e/Iiwi8J+Hp/Cfh68iLCLwn4en8J+HsiIsIvCfh6fwn4e5Iiwi8J+Hp/Cfh7QiLCLwn4en8J+HpiIsIvCfh6fwn4e8Iiwi8J+Hp/Cfh7ciLCLwn4eu8J+HtCIsIvCfh7vwn4esIiwi8J+Hp/Cfh7MiLCLwn4en8J+HrCIsIvCfh6fwn4erIiwi8J+Hp/Cfh64iLCLwn4ew8J+HrSIsIvCfh6jwn4eyIiwi8J+HqPCfh6YiLCLwn4eu8J+HqCIsIvCfh6jwn4e7Iiwi8J+Hp/Cfh7YiLCLwn4ew8J+HviIsIvCfh6jwn4erIiwi8J+HufCfh6kiLCLwn4eo8J+HsSIsIvCfh6jwn4ezIiwi8J+HqPCfh70iLCLwn4eo8J+HqCIsIvCfh6jwn4e0Iiwi8J+HsPCfh7IiLCLwn4eo8J+HrCIsIvCfh6jwn4epIiwi8J+HqPCfh7AiLCLwn4eo8J+HtyIsIvCfh6jwn4euIiwi8J+HrfCfh7ciLCLwn4eo8J+HuiIsIvCfh6jwn4e8Iiwi8J+HqPCfh74iLCLwn4eo8J+HvyIsIvCfh6nwn4ewIiwi8J+HqfCfh68iLCLwn4ep8J+HsiIsIvCfh6nwn4e0Iiwi8J+HqvCfh6giLCLwn4eq8J+HrCIsIvCfh7jwn4e7Iiwi8J+HrPCfh7YiLCLwn4eq8J+HtyIsIvCfh6rwn4eqIiwi8J+HqvCfh7kiLCLwn4eq8J+HuiIsIvCfh6vwn4ewIiwi8J+Hq/Cfh7QiLCLwn4er8J+HryIsIvCfh6vwn4euIiwi8J+Hq/Cfh7ciLCLwn4es8J+HqyIsIvCfh7Xwn4erIiwi8J+HufCfh6siLCLwn4es8J+HpiIsIvCfh6zwn4eyIiwi8J+HrPCfh6oiLCLwn4ep8J+HqiIsIvCfh6zwn4etIiwi8J+HrPCfh64iLCLwn4es8J+HtyIsIvCfh6zwn4exIiwi8J+HrPCfh6kiLCLwn4es8J+HtSIsIvCfh6zwn4e6Iiwi8J+HrPCfh7kiLCLwn4es8J+HrCIsIvCfh6zwn4ezIiwi8J+HrPCfh7wiLCLwn4es8J+HviIsIvCfh63wn4e5Iiwi8J+HrfCfh7MiLCLwn4et8J+HsCIsIvCfh63wn4e6Iiwi8J+HrvCfh7giLCLwn4eu8J+HsyIsIvCfh67wn4epIiwi8J+HrvCfh7ciLCLwn4eu8J+HtiIsIvCfh67wn4eqIiwi8J+HrvCfh7IiLCLwn4eu8J+HsSIsIvCfh67wn4e5Iiwi8J+Hr/Cfh7IiLCLwn4ev8J+HtSIsIvCfjowiLCLwn4ev8J+HqiIsIvCfh6/wn4e0Iiwi8J+HsPCfh78iLCLwn4ew8J+HqiIsIvCfh7Dwn4euIiwi8J+HvfCfh7AiLCLwn4ew8J+HvCIsIvCfh7Dwn4esIiwi8J+HsfCfh6YiLCLwn4ex8J+HuyIsIvCfh7Hwn4enIiwi8J+HsfCfh7giLCLwn4ex8J+HtyIsIvCfh7Hwn4e+Iiwi8J+HsfCfh64iLCLwn4ex8J+HuSIsIvCfh7Hwn4e6Iiwi8J+HsvCfh7QiLCLwn4ey8J+HsCIsIvCfh7Lwn4esIiwi8J+HsvCfh7wiLCLwn4ey8J+HviIsIvCfh7Lwn4e7Iiwi8J+HsvCfh7EiLCLwn4ey8J+HuSIsIvCfh7Lwn4etIiwi8J+HsvCfh7YiLCLwn4ey8J+HtyIsIvCfh7Lwn4e6Iiwi8J+HvvCfh7kiLCLwn4ey8J+HvSIsIvCfh6vwn4eyIiwi8J+HsvCfh6kiLCLwn4ey8J+HqCIsIvCfh7Lwn4ezIiwi8J+HsvCfh6oiLCLwn4ey8J+HuCIsIvCfh7Lwn4emIiwi8J+HsvCfh78iLCLwn4ey8J+HsiIsIvCfh7Pwn4emIiwi8J+Hs/Cfh7ciLCLwn4ez8J+HtSIsIvCfh7Pwn4exIiwi8J+Hs/Cfh6giLCLwn4ez8J+HvyIsIvCfh7Pwn4euIiwi8J+Hs/Cfh6oiLCLwn4ez8J+HrCIsIvCfh7Pwn4e6Iiwi8J+Hs/Cfh6siLCLwn4ew8J+HtSIsIvCfh7Lwn4e1Iiwi8J+Hs/Cfh7QiLCLwn4e08J+HsiIsIvCfh7Xwn4ewIiwi8J+HtfCfh7wiLCLwn4e18J+HuCIsIvCfh7Xwn4emIiwi8J+HtfCfh6wiLCLwn4e18J+HviIsIvCfh7Xwn4eqIiwi8J+HtfCfh60iLCLwn4e18J+HsyIsIvCfh7Xwn4exIiwi8J+HtfCfh7kiLCLwn4e18J+HtyIsIvCfh7bwn4emIiwi8J+Ht/Cfh6oiLCLwn4e38J+HtCIsIvCfh7fwn4e6Iiwi8J+Ht/Cfh7wiLCLwn4e88J+HuCIsIvCfh7jwn4eyIiwi8J+HuPCfh6YiLCLwn4e48J+HsyIsIvCfh7fwn4e4Iiwi8J+HuPCfh6giLCLwn4e48J+HsSIsIvCfh7jwn4esIiwi8J+HuPCfh70iLCLwn4e48J+HsCIsIvCfh7jwn4euIiwi8J+HrPCfh7giLCLwn4e48J+HpyIsIvCfh7jwn4e0Iiwi8J+Hv/Cfh6YiLCLwn4ew8J+HtyIsIvCfh7jwn4e4Iiwi8J+HqvCfh7giLCLwn4ex8J+HsCIsIvCfh6fwn4exIiwi8J+HuPCfh60iLCLwn4ew8J+HsyIsIvCfh7Hwn4eoIiwi8J+HtfCfh7IiLCLwn4e78J+HqCIsIvCfh7jwn4epIiwi8J+HuPCfh7ciLCLwn4e48J+HvyIsIvCfh7jwn4eqIiwi8J+HqPCfh60iLCLwn4e48J+HviIsIvCfh7nwn4e8Iiwi8J+HufCfh68iLCLwn4e58J+HvyIsIvCfh7nwn4etIiwi8J+HufCfh7EiLCLwn4e58J+HrCIsIvCfh7nwn4ewIiwi8J+HufCfh7QiLCLwn4e58J+HuSIsIvCfh7nwn4ezIiwi8J+HufCfh7ciLCLwn4e58J+HsiIsIvCfh7nwn4eoIiwi8J+HufCfh7siLCLwn4e78J+HriIsIvCfh7rwn4esIiwi8J+HuvCfh6YiLCLwn4em8J+HqiIsIvCfh6zwn4enIiwi8J+PtPOggafzoIGi86CBpfOgga7zoIGn86CBvyIsIvCfj7TzoIGn86CBovOggbPzoIGj86CBtPOggb8iLCLwn4+086CBp/OggaLzoIG386CBrPOggbPzoIG/Iiwi8J+HuvCfh7MiLCLwn4e68J+HuCIsIvCfh7rwn4e+Iiwi8J+HuvCfh78iLCLwn4e78J+HuiIsIvCfh7vwn4emIiwi8J+Hu/Cfh6oiLCLwn4e78J+HsyIsIvCfh7zwn4erIiwi8J+HqvCfh60iLCLwn4e+8J+HqiIsIvCfh7/wn4eyIiwi8J+Hv/Cfh7wiXSxTPVsuLi53LC4uLmIsLi4ueSwuLi5FLC4uLlQsLi4ueCwuLi5JLC4uLkNdLGs9bmV3IFNldChTKQo7ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS5maWx0ZXIoKGU9PmsuaGFzKGUpKSl9ZnVuY3Rpb24gTShlKXtyZXR1cm4gay5oYXMoZSl9Y29uc3QgTj0oMCxyLmRlZmF1bHQpKChlPT57Y29uc3QgdD0oMCxpLmdldEZpcnN0U2VnbWVudE9yQ29kZVBvaW50U3RyaW5nKShlKSxuPW51bGwhPT10JiZNKHQpP3Q6IiI7cmV0dXJue2Vtb2ppOm4sZW1vamlMZXNzU3RyaW5nOmUucmVwbGFjZShuLCIiKX19KSk7ZnVuY3Rpb24geihlLHQsLi4ubil7Y29uc3QgYT1OKCgwLGwuZW5zdXJlTm90TnVsbCkoZSkpLmVtb2ppTGVzc1N0cmluZy50cmltKCksbz1OKCgwLGwuZW5zdXJlTm90TnVsbCkodCkpLmVtb2ppTGVzc1N0cmluZy50cmltKCk7cmV0dXJuIGE9PT1vP2UubG9jYWxlQ29tcGFyZSh0LC4uLm4pOmEubG9jYWxlQ29tcGFyZShvLC4uLm4pfWNvbnN0IEw9KCk9Plt7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbig0NjU0NTYpKSxlbW9qaXM6W10sY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjpjfSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDMwNjA3MCkpLGVtb2ppczp3LGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246ZH0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbig2Njg0NDkpKSxlbW9qaXM6Yixjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOm19KX0se3RpdGxlOm8udChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LG4oMTQ3NTAwKSksZW1vamlzOnksY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjp1fSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDU3NDcxNSkpLGVtb2ppczpFLGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246aH0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbigxMjMxMzgpKSxlbW9qaXM6VCxjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOnZ9KX0se3RpdGxlOm8udChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LG4oOTQzMzkzKSksZW1vamlzOngsY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjpwfSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDI3NjYwOSkpLGVtb2ppczpJLGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246Zn0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbigxNzQxNzgpKSxlbW9qaXM6Qyxjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOmd9KX1dfSw0Mjg5MjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RW1vamlJdGVtOigpPT51fSk7dmFyIGE9big3Nzk0NzQpLG89big5MTQ0ODcpLHI9bi5uKG8pLGk9bigyNzMzMTApLGw9bigxODUyNzEpLHM9bigzMzMzMTIpLGM9big0Mjc3NzMpLGQ9big0MjgwOTcpLG09big4ODk1NDYpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7ZW1vamk6dCxjbGFzc05hbWU6b309ZTtpZih0PT09Yy5FTVBUWV9FTU9KSSlyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGkuSWNvbix7Y2xhc3NOYW1lOnIoKShvLGQuY2xlYXJCdXR0b24sImFwcGx5LWNvbW1vbi10b29sdGlwIiksaWNvbjptLHRpdGxlOmwudChudWxsLHZvaWQgMCxuKDc1NDM4MikpfSk7Y29uc3QgdT0oMCxzLmdldFR3ZW1vamlVcmwpKHQsInBuZyIpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImltZyIse2NsYXNzTmFtZTpyKCkobyxkLmVtb2ppKSxzcmM6dSxkZWNvZGluZzoiYXN5bmMiLHdpZHRoOiIyNCIsaGVpZ2h0OiIyNCIsYWx0OiIiLGRyYWdnYWJsZTohMSxvbkNvbnRleHRNZW51OmZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCYmZS50YXJnZXQuY2xvc2VzdCgiYSIpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCl9fSl9fSwyNzM3MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7SWNvbkl0ZW06KCk9PnN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDQwMjIzKTtmdW5jdGlvbiBzKGUpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkobC53cmFwcGVyLGUuY2xhc3NOYW1lKX0sYS5jcmVhdGVFbGVtZW50KGkuSWNvbix7aWNvbjplLmljb259KSl9fSw0MzA4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YmFja2VuZDooKT0+cX0pO3ZhciBhPXt9O24ucihhKSxuLmQoYSx7ZmF2b3JTdGFuZGFyZFN0dWR5VGVtcGxhdGU6KCk9Pk8sZmF2b3JTdHVkeVRlbXBsYXRlOigpPT5BLGdldENoYXJ0czooKT0+eCxnZXRDaGFydHNDb3VudDooKT0+SSxnZXREcmF3aW5nVGVtcGxhdGVzOigpPT5XLGdldFN0YW5kYXJkU3R1ZHlUZW1wbGF0ZUJ5SWQ6KCk9PkgsZ2V0U3R1ZHlUZW1wbGF0ZUJ5SWQ6KCk9PkIsZ2V0U3R1ZHlUZW1wbGF0ZXNMaXN0OigpPT56LGludmFsaWRhdGVTdHVkeVRlbXBsYXRlc0xpc3Q6KCk9PkwsbG9hZERyYXdpbmdUZW1wbGF0ZTooKT0+Rixsb2FkTGF5b3V0OigpPT5DLG9wZW5MYXlvdXRMaW5rOigpPT5TLHJlbW92ZUNoYXJ0OigpPT5NLHJlbW92ZURyYXdpbmdUZW1wbGF0ZTooKT0+SyxyZW1vdmVTdHVkeVRlbXBsYXRlOigpPT5qLHJlbmFtZVN0dWR5VGVtcGxhdGU6KCk9PlAscmVwbGFjZVN0dWR5VGVtcGxhdGU6KCk9PlUsc2F2ZUNoYXJ0OigpPT5fLHNhdmVEcmF3aW5nVGVtcGxhdGU6KCk9PlIsc2F2ZVN0dWR5VGVtcGxhdGU6KCk9PkR9KTt2YXIgbz1uKDMwNDIyMSkscj1uKDU1ODA3NSksaT1uKDIyMTA2MSksbD1uKDc4MzU5Myk7Y29uc3Qgcz0oMCxpLmdldExvZ2dlcikoIkxpYi5Bc3luY0d6aXAiKTt2YXIgYzshZnVuY3Rpb24oZSl7ZVtlLkxvYWRpbmdUaW1lb3V0PTVlM109IkxvYWRpbmdUaW1lb3V0IixlW2UuUHJvY2Vzc2luZ1RpbWVvdXQ9M2U0XT0iUHJvY2Vzc2luZ1RpbWVvdXQiLGVbZS5Xb3JrZXJQb29sTWF4U2l6ZT0xXT0iV29ya2VyUG9vbE1heFNpemUiCn0oY3x8KGM9e30pKTtjb25zdCBkPVtdO2Z1bmN0aW9uIG0oZSl7bGV0IHQ7Y29uc3QgYT1uZXcgUHJvbWlzZSgoKGEsbyk9PntsZXQgcj1zZXRUaW1lb3V0KG8sNWUzLG5ldyBFcnJvcigiTG9hZGluZyB0aW1lZCBvdXQiKSk7dD1kLnBvcCgpfHxuZXcgbC5Xb3JrZXIobmV3IFVSTChuLnArbi51KDU5NjMwKSxuLmIpLHtuYW1lOiJBc3luYyBnemlwIHdvcmtlciJ9KSx0Lm9uZXJyb3I9byx0Lm9ubWVzc2FnZWVycm9yPW8sdC5vbm1lc3NhZ2U9ZT0+e2NsZWFyVGltZW91dChyKSwiZG9uZSI9PT1lLmRhdGEudHlwZT9hKGUuZGF0YS5wYXlsb2FkKTpyPXNldFRpbWVvdXQobywzZTQsbmV3IEVycm9yKCJQcm9jZXNzaW5nIHRpbWVkIG91dCIpKX0sdC5wb3N0TWVzc2FnZSh7dHlwZToiZG8iLHBheWxvYWQ6ZX0pfSkpO3JldHVybiBhLnRoZW4oKCgpPT57ZC5sZW5ndGg8MT8oZGVsZXRlIHQub25lcnJvcixkZWxldGUgdC5vbm1lc3NhZ2UsZGVsZXRlIHQub25tZXNzYWdlZXJyb3IsZC5wdXNoKHQpKTp0LnRlcm1pbmF0ZSgpfSksKGU9PntzLmxvZ0Vycm9yKGBXb3JrZXIgcmVxdWVzdCBmYWlsZWQ6ICR7ZS5tZXNzYWdlfWApLHQudGVybWluYXRlKCl9KSksYX12YXIgdT1uKDM4NDAxNyk7ZnVuY3Rpb24gaChlKXtpZihlLm9rKXJldHVybiBlLmpzb24oKTt0aHJvdyBuZXcgRXJyb3IoIm5vdCBvayIpfWZ1bmN0aW9uIHYoZSl7aWYoZS5vaylyZXR1cm4gZS5qc29uKCk7dGhyb3cgbmV3IEVycm9yKCJub3Qgb2siKX12YXIgcD1uKDExNzMxMyksZj1uKDc0ODkxMiksZz1uKDYwNTI1Nyksdz1uKDk3NDY2MyksYj1uKDY5NDM4OSk7Y2xhc3MgeSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksdGhpcy5zdGF0dXM9dD8uc3RhdHVzLHRoaXMuY29kZT10Py5jb2RlLHRoaXMucmVzcG9uc2U9dD8ucmVzcG9uc2V9fXZhciBFPW4oNTg5NzQ5KTtjb25zdCBUPSIvYXBpL3YxLyI7YXN5bmMgZnVuY3Rpb24geChlPW51bGwsdCl7Y29uc3Qgbj1uZXcgVVJMKCIvbXktY2hhcnRzLyIsd2luZG93LmxvY2F0aW9uLm9yaWdpbik7dm9pZCAwIT09dCYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJsaW1pdCIsdC50b1N0cmluZygpKTtjb25zdCBhPWF3YWl0KDAsdS5mZXRjaCkobi50b1N0cmluZygpLHttZXRob2Q6IkdFVCIsc2lnbmFsOmV9KTtpZighYS5vayl0aHJvdyBuZXcgRXJyb3IoIkdldHRpbmcgbXkgY2hhcnRzIHJlc3BvbnNlIHdhcyBub3QgT0siKTtyZXR1cm4gYS5qc29uKCl9YXN5bmMgZnVuY3Rpb24gSSgpe2NvbnN0IGU9YXdhaXQoMCx1LmZldGNoKShUKyJjaGFydHMvY291bnQvIik7aWYoIWUub2spdGhyb3cgZTtyZXR1cm4gZS5qc29uKCl9YXN5bmMgZnVuY3Rpb24gQyhlKXtjb25zdCB0PW5ldyBVUkwoYC9jaGFydC8ke2UudXJsfS9qc29uL2Asd2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT1hd2FpdCgwLHUuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KTtpZighYS5vayl0aHJvdyBhO2xldCByO2NvbnN0IGk9YXdhaXQgYS5qc29uKCk7cmV0dXJuIHI9InVuZGVmaW5lZCIhPT1pLmNvbnRlbnQmJiJudWxsIiE9PWkuY29udGVudCYmaS5jb250ZW50P0pTT04ucGFyc2UoaS5jb250ZW50KTphd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9KDAsZy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKTthd2FpdCBlLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0W3Qse3ByZXBhcmVTdHVkeVByb3BlcnRpZXM6YX1dPWF3YWl0IFByb21pc2UuYWxsKFtlLmZpbmRCeUlkKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIn0pLFByb21pc2UuYWxsKFtuLmUoMjE3ODQpLG4uZSgzMTAwMSksbi5lKDg2MTc4KSxuLmUoOTE5NDQpLG4uZSg5NzU1OCksbi5lKDY2OTg4KSxuLmUoOTcyNzIpLG4uZSg5MjcwKSxuLmUoODQyNjUpLG4uZSg1MzU1KSxuLmUoMTIyMjcpLG4uZSg1OTY0OSksbi5lKDQ3NTM4KV0pLnRoZW4obi5iaW5kKG4sNDM3NzQ5KSldKSxvPWEodCx7fSxudWxsLGUuc3R1ZHlWZXJzaW9uaW5nKCksW10pLHI9e21fcHJpY2VSYW5nZTpudWxsLG1faXNBdXRvU2NhbGU6ITAsbV9pc1BlcmNlbnRhZ2U6ITEsbV9pc0luZGV4ZWRUbzEwMDohMSxtX2lzTG9nOiExLG1faXNMb2NrU2NhbGU6ITEsbV9pc0ludmVydGVkOiExLG1fdG9wTWFyZ2luOi4xLG1fYm90dG9tTWFyZ2luOi4wOCxhbGlnbkxhYmVsczohMH07cmV0dXJue25hbWU6IiIsbGF5b3V0OiJzIixjaGFydHM6W3twYW5lczpbe21vZGU6Yi5QYW5lTW9kZS5SZWd1bGFyLHNvdXJjZXM6W3t0eXBlOiJNYWluU2VyaWVzIixpZDoiX3Nlcmllc0lkIix6b3JkZXI6MCxzdGF0ZTp7Li4uKG5ldyBmLlNlcmllc1Byb3BlcnRpZXNJbXBsKS5zdGF0ZSgpLHN0eWxlOjEsc3ltYm9sOiJOQVNEQVE6QUFQTCIsc2hvcnROYW1lOiJBQVBMIix0aW1lZnJhbWU6IiIsaW50ZXJ2YWw6IjFNIix1bml0SWQ6bnVsbCx0aW1lem9uZToiVVRDIixjdXJyZW5jeUlkOm51bGx9fSx7dHlwZToic3R1ZHlfVm9sdW1lIixpZDoibkFBTEdkIixzdGF0ZTpvLnN0YXRlKCksbWV0YUluZm86dC5zdGF0ZSgpfV0sbWFpblNvdXJjZUlkOiJfc2VyaWVzSWQiLHN0cmV0Y2hGYWN0b3I6MmUzLGxlZnRBeGlzZXNTdGF0ZTpbXSxyaWdodEF4aXNlc1N0YXRlOlt7c3RhdGU6e2lkOiJIOW8yemJaME5UakwiLC4uLnJ9LHNvdXJjZXM6WyJfc2VyaWVzSWQiXX1dLG92ZXJsYXlQcmljZVNjYWxlczp7bkFBTEdkOntpZDoiSDlvMnpiWjBOVGpMIiwuLi5yfX0scHJpY2VTY2FsZVJhdGlvOm51bGwsaXNDb2xsYXBzZWQ6ITEsaXNNYXhpbWl6ZWQ6ITF9XSx0aW1lU2NhbGU6e21fYmFyU3BhY2luZzo2LG1fcmlnaHRPZmZzZXQ6MTB9LGNoYXJ0UHJvcGVydGllczpuZXcgdy5EZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOiJjaGFydHByb3BlcnRpZXMifSkuc3RhdGUoKSx2ZXJzaW9uOjMsdGltZXpvbmU6IkV0Yy9VVEMiLHNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW46ITEsbGlua2luZ0dyb3VwOm51bGwsbGluZVRvb2xzR3JvdXBzOntncm91cHM6W119LGNoYXJ0SWQ6IjEifV0sc3ltYm9sTG9jazowLAppbnRlcnZhbExvY2s6MCx0cmFja1RpbWVMb2NrOjAsZGF0ZVJhbmdlTG9jazowLGNyb3NzaGFpckxvY2s6MX19KCksImNvbnRlbnRfc3R1ZHlfbWV0YSJpbiBpJiYoMCxvLmRlZmF1bHQpKGkuY29udGVudF9zdHVkeV9tZXRhKSYmKHIuc3R1ZHlNZXRhSW5mb01hcD17Li4uci5zdHVkeU1ldGFJbmZvTWFwPz97fSwuLi5KU09OLnBhcnNlKGkuY29udGVudF9zdHVkeV9tZXRhKX0pLHtuYW1lOmkubmFtZSxjaGFydFdpZGdldENvbGxlY3Rpb25TdGF0ZTpyLHVpZDppLnVpZCxsYXN0TW9kaWZpZWQ6aS5sYXN0X21vZGlmaWVkLGlkOmkuaWQsZGVzY3JpcHRpb246aS5kZXNjcmlwdGlvbix1c2VybmFtZTppLnVzZXJuYW1lLGlzUHJpdmF0ZTppLmlzX3ByaXZhdGV9fWZ1bmN0aW9uIFMoZSx0KXtjb25zdCBuPSgwLHIuZ2VuZXJhdGVDaGFydFVybCkoe2NoYXJ0SWQ6ZS51cmx9KSxhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTthLmhyZWY9biwhKDAscC5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpJiYvXlwvY2hhcnQoXC98JCkvLnRlc3QobG9jYXRpb24ucGF0aG5hbWUpJiYoYS50YXJnZXQ9dD8iX2JsYW5rIjoiX3NlbGYiLGEucmVsPSJub29wZW5lciIpLGEuY2xpY2soKX1hc3luYyBmdW5jdGlvbiBrKGUsdCl7bGV0IG4sYTt0cnl7W24sYV09YXdhaXQgUHJvbWlzZS5hbGwoW20oZS5jb250ZW50KSxlLnN0dWR5X21ldGFfaW5mb19tYXA/bShlLnN0dWR5X21ldGFfaW5mb19tYXApOlByb21pc2UucmVzb2x2ZShlLnN0dWR5X21ldGFfaW5mb19tYXApXSl9Y2F0Y2goZSl7fWNvbnN0IG89bmV3IEZvcm1EYXRhO3QudWlkJiZvLmFwcGVuZCgiaW1hZ2VfdXJsIix0LnVpZCk7Zm9yKGNvbnN0IHQgaW4gZSkiaWQiIT09dCYmKCJjb250ZW50Ij09PXQmJm4/by5hcHBlbmQodCxuZXcgQmxvYihbbl0se3R5cGU6ImFwcGxpY2F0aW9uL2d6aXAifSksImJsb2IuZ3oiKToic3R1ZHlfbWV0YV9pbmZvX21hcCI9PT10JiZhP28uYXBwZW5kKHQsbmV3IEJsb2IoW2FdLHt0eXBlOiJhcHBsaWNhdGlvbi9nemlwIn0pLCJibG9iLmd6Iik6by5hcHBlbmQodCxlW3RdKSk7dHJ5e2NvbnN0IGU9YXdhaXQoMCx1LmZldGNoKShUKyJjaGFydHMvc2F2ZS8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpvfSk7aWYoIWUub2spe2NvbnN0e2RldGFpbDp0LGNvZGU6bn09YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJue307aWYoIShlLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKT8/IiIpLmluY2x1ZGVzKCJhcHBsaWNhdGlvbi9qc29uIikpcmV0dXJue307dHJ5e3JldHVybiBhd2FpdCBlLmpzb24oKX1jYXRjaChlKXtyZXR1cm57fX19KGUpO3Rocm93IG5ldyB5KHQ/P2Uuc3RhdHVzVGV4dD8/IlVua25vd24gZXJyb3IiLHtzdGF0dXM6ZS5zdGF0dXMsY29kZTpuLHJlc3BvbnNlOmV9KX1jb25zdCB0PWF3YWl0IGUuanNvbigpO3JldHVybntyZXN1bHQ6e2lkOnQuaWQsaW1hZ2VfdXJsOnQuaW1hZ2VfdXJsP3QuaW1hZ2VfdXJsOnZvaWQgMCxsYXN0TW9kaWZpZWQ6dC5sYXN0X21vZGlmaWVkfSxyZXNwb25zZTplfX1jYXRjaChlKXtsZXQgdD1lO3Rocm93IGZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2YgeX0odCl8fCh0PW5ldyB5KCgwLEUuZXJyb3JUb1N0cmluZykodCkpKSx0fX1hc3luYyBmdW5jdGlvbiBfKGUsdCxuLGEsbyl7cmV0dXJuIGsoYSxvKX1mdW5jdGlvbiBNKGUpe3JldHVybigwLHUuZmV0Y2gpKFQrImNoYXJ0cy9kZWxldGUvIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe3VpZDpbZV19KSxoZWFkZXJzOm5ldyBIZWFkZXJzKHsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9KX0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBlO3JldHVybiBlLmpzb24oKX0pKS50aGVuKChlPT57aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yfSkpfWxldCBOPW51bGw7ZnVuY3Rpb24geigpe3JldHVybiBudWxsPT09TiYmKE49KDAsdS5mZXRjaCkoIi9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oaCkudGhlbigoZT0+e2NvbnN0IHQ9ZS5jdXN0b218fFtdLG49ZS5zdGFuZGFyZHx8W10sYT1lLmZ1bmRhbWVudGFsc3x8W10sbz1uZXcgU2V0KFsuLi5uLC4uLmFdLm1hcCgoZT0+ZS5uYW1lKSkpLHI9dC5tYXAoKGU9Pih7Li4uZSxpc19kZWZhdWx0OiExLGlzX2Z1bmRhbWVudGFsOiExLGZhdm9yaXRlX2RhdGU6ZS5mYXZvcml0ZV9kYXRlP25ldyBEYXRlKGUuZmF2b3JpdGVfZGF0ZSkuZ2V0VGltZSgpOm51bGx9KSkpO2Zvcihjb25zdCBlIG9mIHIpby5kZWxldGUoZS5uYW1lKTtjb25zdCBpPW4uZmlsdGVyKChlPT5vLmhhcyhlLm5hbWUpKSkubWFwKChlPT4oey4uLmUsaXNfZGVmYXVsdDohMCxpc19mdW5kYW1lbnRhbDohMSxmYXZvcml0ZV9kYXRlOmUuZmF2b3JpdGVfZGF0ZT9uZXcgRGF0ZShlLmZhdm9yaXRlX2RhdGUpLmdldFRpbWUoKTpudWxsfSkpKSxsPWEuZmlsdGVyKChlPT5vLmhhcyhlLm5hbWUpKSkubWFwKChlPT4oey4uLmUsaXNfZGVmYXVsdDohMCxpc19mdW5kYW1lbnRhbDohMCxmYXZvcml0ZV9kYXRlOmUuZmF2b3JpdGVfZGF0ZT9uZXcgRGF0ZShlLmZhdm9yaXRlX2RhdGUpLmdldFRpbWUoKTpudWxsfSkpKTtyZXR1cm5bLi4uciwuLi5pLC4uLmxdfSkpKSxOfWZ1bmN0aW9uIEwoKXtOPW51bGx9ZnVuY3Rpb24gRChlKXtyZXR1cm4gdD17bmFtZTplLm5hbWUsY29udGVudDplLmNvbnRlbnQsbWV0YV9pbmZvOmUubWV0YV9pbmZvfHx7aW5kaWNhdG9yczpbXX19LCgwLHUuZmV0Y2gpKCIvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKChlPT57aWYoZS5vaylyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHtyZXN1bHQ6ZX0pKSk7c3dpdGNoKGUuc3RhdHVzKXtjYXNlIDQwMzpyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHsKZXJyb3I6ZS5jb2RlfSkpKTtjYXNlIDQyMjpyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHtlcnJvcjplLmNvZGUsaWQ6ZS5pZH0pKSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIm5vdCBvayIpfX0pKTt2YXIgdH1mdW5jdGlvbiBBKGUsdCxuKXsoZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvJHtlfS9mYXZvcml0ZWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOnQ/IlBPU1QiOiJERUxFVEUifSkudGhlbihoKX0pKGUsdCkudGhlbigoZT0+e24/LihlPy5mYXZvcml0ZV9kYXRlP25ldyBEYXRlKGUuZmF2b3JpdGVfZGF0ZSkuZ2V0VGltZSgpOm51bGwpfSkpfWZ1bmN0aW9uIE8oZSx0LG4peyhmdW5jdGlvbihlLHQpe3JldHVybigwLHUuZmV0Y2gpKGAvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcy9zdGFuZGFyZC8ke2V9L2Zhdm9yaXRlYCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixtZXRob2Q6dD8iUE9TVCI6IkRFTEVURSJ9KS50aGVuKGgpfSkoZSx0KS50aGVuKChlPT57bj8uKGU/LmZhdm9yaXRlX2RhdGU/bmV3IERhdGUoZS5mYXZvcml0ZV9kYXRlKS5nZXRUaW1lKCk6bnVsbCl9KSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuKDAsdS5mZXRjaCkoYC9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzLyR7ZX1gLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihoKX0oZSl9ZnVuY3Rpb24gSChlLHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvc3RhbmRhcmQvJHtlfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGgpfShlKS50aGVuKHQpfWZ1bmN0aW9uIGooZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybigwLHUuZmV0Y2gpKGAvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcy8ke2V9YCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixtZXRob2Q6IkRFTEVURSJ9KS50aGVuKChlPT57aWYoIWUub2spdGhyb3cgbmV3IEVycm9yKCJub3Qgb2siKX0pKX0oZSl9ZnVuY3Rpb24gUChlLHQsbil7KGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsdS5mZXRjaCkoYC9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzLyR7ZX0vcmVuYW1lL2Ase2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKGgpfSkoZSx7bmFtZTp0fSkudGhlbihuKX1mdW5jdGlvbiBVKGUsdCxuKXsoZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvJHtlfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQVVQiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh0KX0pLnRoZW4oaCl9KShlLHtuYW1lOnQubmFtZSxjb250ZW50OnQuY29udGVudCxtZXRhX2luZm86dC5tZXRhX2luZm98fHtpbmRpY2F0b3JzOltdfX0pLnRoZW4oKGU9Pm4oe3Jlc3VsdDplfSkpKX1mdW5jdGlvbiBXKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4oMCx1LmZldGNoKShgL2RyYXdpbmctdGVtcGxhdGVzLyR7ZX0vYCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4odil9KGUpfWZ1bmN0aW9uIFIoZSx0LG4pe3JldHVybiBmdW5jdGlvbihlLHQsbil7Y29uc3QgYT1uZXcgRm9ybURhdGE7cmV0dXJuIGEuYXBwZW5kKCJuYW1lIix0KSxhLmFwcGVuZCgidG9vbCIsZSksYS5hcHBlbmQoImNvbnRlbnQiLG4pLCgwLHUuZmV0Y2gpKCIvc2F2ZS1kcmF3aW5nLXRlbXBsYXRlLyIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OmF9KS50aGVuKHYpfShlLHQsbil9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49YXdhaXQoMCx1LmZldGNoKShgL2RyYXdpbmctdGVtcGxhdGUvJHtlfS8/dGVtcGxhdGVOYW1lPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHQpfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KSxhPWF3YWl0IHYobik7cmV0dXJuIEpTT04ucGFyc2UoYS5jb250ZW50KX0oZSx0KX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1uZXcgRm9ybURhdGE7cmV0dXJuIG4uYXBwZW5kKCJuYW1lIix0KSxuLmFwcGVuZCgidG9vbCIsZSksKDAsdS5mZXRjaCkoIi9yZW1vdmUtZHJhd2luZy10ZW1wbGF0ZS8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpufSkudGhlbih2KX0oZSx0KX1jb25zdCBxPWF9LDMzMzMxMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRUd2Vtb2ppVXJsOigpPT5vfSk7dmFyIGE9bigyNjA2MDMpO2Z1bmN0aW9uIG8oZSx0KXtsZXQgbj0iIjtyZXR1cm4gYS5kZWZhdWx0LnBhcnNlKGUsKGU9PihuPWEuZGVmYXVsdC5iYXNlKygic3ZnIj09PXQ/YHN2Zy8ke2V9LnN2Z2A6YDcyeDcyLyR7ZX0ucG5nYCksITEpKSksbn1hLmRlZmF1bHQuYmFzZT0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvdHdlbW9qaS8xMy4wLjEvIn0sMzA5ODM2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2FkZFV0bVRvVXJsOigpPT5vfSk7dmFyIGE9big2MDE1ODcpO2Z1bmN0aW9uIG8oZSx0KXtpZighLyhbYS16QS1aMC05Li1dKnRyYWRpbmd2aWV3LmNvbSl8bG9jYWxob3N0Ly50ZXN0KGUpKXJldHVybiBlO2NvbnN0IG49KDAsYS5idWlsZFV0bVF1ZXJ5U3RyaW5nKSh0KTtpZigiIj09PW4pcmV0dXJuIGU7Y29uc3Qgbz1lLmluZGV4T2YoIj8iKSxyPWUuaW5kZXhPZigiIyIpLGk9LTEhPT1yO2lmKC0xIT09byYmKCFpfHxvPHIpKXtyZXR1cm5gJHtlLnNsaWNlKDAsbyl9PyR7aT9lLnNsaWNlKG8rMSxyKTplLnNsaWNlKG8rMSl9JiR7bn0ke2k/ZS5zbGljZShyKToiIn1gfWlmKGkpe3JldHVybmAke2Uuc2xpY2UoMCxyKX0/JHtufSR7ZS5zbGljZShyKX1gfXJldHVybmAke2V9PyR7bn1gfX0sNjAxNTg3KGUsdCxuKXsKInVzZSBzdHJpY3QiO24uZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5zLGZpbHRlclV0bUluZm86KCk9Pml9KTt2YXIgYT1uKDQ5MjY3Nyksbz1uKDY0MTU5Myk7Y29uc3Qgcj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gaShlKXtjb25zdCB0PXt9O3JldHVybiByLmZvckVhY2goKG49Pntjb25zdCBhPWVbbl07InN0cmluZyI9PXR5cGVvZiBhJiYiIiE9PWEmJih0W25dPSgwLG8uaHRtbEVzY2FwZSkoYSkpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IG49KDAsYS5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBuJiZ0PyI/IituOm59ZnVuY3Rpb24gcyhlKXtyZXR1cm4gbChpKCgwLGEuZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDY5NjQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDFsMi4zNSA0Ljc2IDUuMjYuNzctMy44IDMuNy45IDUuMjRMOSAxM2wtNC43IDIuNDcuOS01LjIzLTMuOC0zLjcxIDUuMjUtLjc3TDkgMXoiLz48L3N2Zz4nfSw4MjY5NzgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOSAyLjEzbDEuOTAzIDMuODU1LjExNi4yMzYuMjYuMDM4IDQuMjU1LjYxOC0zLjA3OSAzLjAwMS0uMTg4LjE4NC4wNDQuMjU5LjcyNyA0LjIzNy0zLjgwNS0yTDkgMTIuNDM0bC0uMjMzLjEyMi0zLjgwNSAyLjAwMS43MjctNC4yMzcuMDQ0LS4yNi0uMTg4LS4xODMtMy4wNzktMy4wMDEgNC4yNTUtLjYxOC4yNi0uMDM4LjExNi0uMjM2TDkgMi4xM3oiLz48L3N2Zz4nfSwzNDc5NzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggOS41SDYuNWExIDEgMCAwIDAtMSAxdjExYTEgMSAwIDAgMCAxIDFoMTFhMSAxIDAgMCAwIDEtMVYyMG0tOC0xLjVoMTFhMSAxIDAgMCAwIDEtMXYtMTFhMSAxIDAgMCAwLTEtMWgtMTFhMSAxIDAgMCAwLTEgMXYxMWExIDEgMCAwIDAgMSAxeiIvPjwvc3ZnPid9LDQ4OTA1OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuNzA3IDlsNC42NDctNC42NDYtLjcwNy0uNzA4TDkgOC4yOTMgNC4zNTQgMy42NDZsLS43MDguNzA4TDguMjkzIDlsLTQuNjQ3IDQuNjQ2LjcwOC43MDhMOSA5LjcwN2w0LjY0NiA0LjY0Ny43MDgtLjcwN0w5LjcwNyA5eiIvPjwvc3ZnPid9LDU5OTc1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDFsMi4zNSA0Ljc2IDUuMjYuNzctMy44IDMuNy45IDUuMjRMOSAxM2wtNC43IDIuNDcuOS01LjIzLTMuOC0zLjcxIDUuMjUtLjc3TDkgMXoiLz48L3N2Zz4nfSwyMzA2ODYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOSAyLjEzbDEuOTAzIDMuODU1LjExNi4yMzYuMjYuMDM4IDQuMjU1LjYxOC0zLjA3OSAzLjAwMS0uMTg4LjE4NC4wNDQuMjU5LjcyNyA0LjIzNy0zLjgwNS0yTDkgMTIuNDM0bC0uMjMzLjEyMi0zLjgwNSAyLjAwMS43MjctNC4yMzcuMDQ0LS4yNi0uMTg4LS4xODMtMy4wNzktMy4wMDEgNC4yNTUtLjYxOC4yNi0uMDM4LjExNi0uMjM2TDkgMi4xM3oiLz48L3N2Zz4nfSw4ODk1NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMzMyIDYuNTQ4IDIxLjQyIDIwLjcwNEE5Ljk2MiA5Ljk2MiAwIDAgMCAyNCAxNGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwYTkuOTYxIDkuOTYxIDAgMCAwLTYuNjY4IDIuNTQ4Wm0xMy4zODEgMTQuODY0TDYuNjIxIDcuMjUyQTkuOTYyIDkuOTYyIDAgMCAwIDQgMTRjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMCAyLjU4NCAwIDQuOTM4LS45OCA2LjcxMy0yLjU4OFpNNi4yNjMgNi4xODFBMTAuOTY3IDEwLjk2NyAwIDAgMSAxNCAzYzYuMDc1IDAgMTEgNC45MjUgMTEgMTEgMCAzLjAzNi0xLjIzIDUuNzg1LTMuMjE4IDcuNzc1QTEwLjk2NyAxMC45NjcgMCAwIDEgMTQgMjVDNy45MjUgMjUgMyAyMC4wNzUgMyAxNGMwLTMuMDU4IDEuMjQ5LTUuODI2IDMuMjYzLTcuODJaIi8+PC9zdmc+J30sNzk1OTg2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS4xMTggNmEuNS41IDAgMCAwLS40NDcuMjc2TDkuODA5IDhINS41QTEuNSAxLjUgMCAwIDAgNCA5LjV2MTBBMS41IDEuNSAwIDAgMCA1LjUgMjFoMTZhMS41IDEuNSAwIDAgMCAxLjUtMS41di0xMEExLjUgMS41IDAgMCAwIDIxLjUgOGgtNC4zMDlsLS44NjItMS43MjRBLjUuNSAwIDAgMCAxNS44ODIgNmgtNC43NjR6bS0xLjM0Mi0uMTdBMS41IDEuNSAwIDAgMSAxMS4xMTggNWg0Ljc2NGExLjUgMS41IDAgMCAxIDEuMzQyLjgzTDE3LjgwOSA3SDIxLjVBMi41IDIuNSAwIDAgMSAyNCA5LjV2MTBhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNkEyLjUgMi41IDAgMCAxIDMgMTkuNXYtMTBBMi41IDIuNSAwIDAgMSA1LjUgN2gzLjY5MWwuNTg1LTEuMTd6Ii8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy41IDE4YTMuNSAzLjUgMCAxIDAgMC03IDMuNSAzLjUgMCAwIDAgMCA3em0wIDFhNC41IDQuNSAwIDEgMCAwLTkgNC41IDQuNSAwIDAgMCAwIDl6Ii8+PC9zdmc+J30sMjAyNTExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjk4IDYuMDJMMTQuNSA2YzIuMTggMCA0LjE2LjggNS42NiAyLjE0bC01LjY2IDUuNjUtMi4zMS0yLjNhOC40MyA4LjQzIDAgMCAwIDEuNTUtMy42NCAxNC4wMSAxNC4wMSAwIDAgMCAuMjQtMS44M3ptLTEuMDEuMTJhOC40NSA4LjQ1IDAgMCAwLTQuMTMgMmwyLjY0IDIuNjNhNy41OSA3LjU5IDAgMCAwIDEuMjgtMy4xMmMuMTItLjU5LjE4LTEuMTIuMi0xLjUxem0tNC44MyAyLjdhOC40NSA4LjQ1IDAgMCAwLTIgNC4xM2MuMzktLjAzLjkyLS4xIDEuNTEtLjIxYTcuNTkgNy41OSAwIDAgMCAzLjEyLTEuMjhMOC4xNCA4Ljg0em0tMi4xMiA1LjE0YTguNDggOC40OCAwIDAgMCAyLjEyIDYuMThsNS42NS01LjY2LTIuMy0yLjMxYTguNDMgOC40MyAwIDAgMS0zLjY0IDEuNTUgMTQuMDMgMTQuMDMgMCAwIDEtMS44My4yNHptMi44MiA2Ljg4YTguNDYgOC40NiAwIDAgMCA1LjEzIDIuMTJ2LS4wN0E4Ljk1IDguOTUgMCAwIDEgMTYuMyAxN2wtMS44LTEuOC01LjY2IDUuNjV6TTE0Ljk3IDIzYzItLjEgMy44LS45IDUuMTktMi4xM0wxNyAxNy43MmE3Ljk0IDcuOTQgMCAwIDAtMi4wNCA1LjI3em01LjktMi44M2E4LjQ2IDguNDYgMCAwIDAgMi4xMS01LjEzaC0uMDJhMTAuNjIgMTAuNjIgMCAwIDAtNS4yIDJsMy4xIDMuMTN6bTIuMTItNi4xM2MtLjEtMi0uOS0zLjgtMi4xMy01LjE5bC01LjY1IDUuNjYgMS44MyAxLjgzYTExLjYgMTEuNiAwIDAgMSA1Ljk1LTIuM3pNMTQuNSA1QTkuNDYgOS40NiAwIDAgMCA1IDE0LjVjMCA1LjI4IDQuMjIgOS41IDkuNSA5LjVzOS41LTQuMjIgOS41LTkuNVMxOS43OCA1IDE0LjUgNXoiLz48L3N2Zz4nfSwxNjExNzcoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00LjU0IDMuMmwuNzgtLjU5IDUuNDkgNC41IDEuNDMgMS4wN2E1LjI4IDUuMjggMCAwIDEgMi4xOS0yLjMgOS4xOSA5LjE5IDAgMCAxIDEuODgtLjg1aC4wNGwuMDEtLjAxLjE0LjQ4LjQyLS4yOHYuMDFsLjAxLjAyYTMuMTQgMy4xNCAwIDAgMSAuMTYuMjZsLjM3LjcyYy4yLjQ1LjQgMS4wMi41IDEuNjRhMi4xMyAyLjEzIDAgMCAxIDEuODkuNDZsLjE4LjE2LjAzLjAyLjE4LjE2Yy4yMi4xNi40Mi4yNy44MS4yNWE1LjkgNS45IDAgMCAwIDIuMi0uODZsLjY2LS4zNi4wOS43NWE1Ljk4IDUuOTggMCAwIDEtMS43IDUuMSA2Ljg3IDYuODcgMCAwIDEtMS43IDEuMjMgMTkuOTcgMTkuOTcgMCAwIDEgLjQ4IDIuNDhjLjI1IDEuNzMuNDIgNC4wOC4wNiA2LjVBMS40NiAxLjQ2IDAgMCAxIDE5LjY4IDI1aC03LjcxYTEuNSAxLjUgMCAwIDEtMS40LTIuMDZsMS0yLjQ3Yy0uMTguMDItLjM3LjAzLS41OC4wM2EzIDMgMCAwIDEtMS41My0uNCA2Ljg0IDYuODQgMCAwIDEtMS42LjY0Yy0xLjA4LjI3LTIuNTUuMjktMy43Mi0uODlhNC4wNiA0LjA2IDAgMCAxLS45Ni0zIDUuMSA1LjEgMCAwIDEgMi0zLjc0IDk4LjUgOTguNSAwIDAgMCAyLjctMi4yNEw0LjU1IDMuMnpNMTYuNSA1LjVsLS4xNC0uNDguMzUtLjEuMi4zLS40MS4yOHptLTcuODcgNi4wNmE1Ny40OCA1Ny40OCAwIDAgMS0yLjE5IDEuODJsLjQ5LjI2Yy42NS4zNyAxLjQ4LjkgMS45NyAxLjU2YTUuNzggNS43OCAwIDAgMSAxLjE0IDQuMDdsLjA2LjAzYy4xOS4xLjQ5LjIuOS4yLjY4IDAgLjk1LS4xMSAxLjAzLS4xNnYtLjAzbC45Ny4xOWgtLjUuNXYuMDNhLjc1Ljc1IDAgMCAxLS4wMS4xLjc0Ljc0IDAgMCAxLS4wOS4yMWwtMS4zOSAzLjQ3YS41LjUgMCAwIDAgLjQ3LjY5aDcuNzFjLjI0IDAgLjQzLS4xNy40Ny0uMzhhMjIgMjIgMCAwIDAtLjA2LTYuMjIgMjQuNCAyNC40IDAgMCAwLS41Ni0yLjcxIDExLjM1IDExLjM1IDAgMCAwLS45NC0xLjUyIDcuMSA3LjEgMCAwIDAtMi4zMS0yLjIybC0uNjItLjMxLjQ5LS41QTMuMDMgMy4wMyAwIDAgMCAxNyA4LjZhMS4yIDEuMiAwIDAgMCAuMDEtLjFjMC0uNjUtLjIyLTEuMzMtLjQ2LTEuODYtLjEtLjIxLS4xOC0uNC0uMjYtLjU0YTguMDcgOC4wNyAwIDAgMC0xLjM0LjY0Yy0uOS41NC0xLjc0IDEuMzItMS45NSAyLjM2di4wM2wtLjAyLjAzTDEyLjUgOWwuNDcuMTZ2LjAyYTIuOTcgMi45NyAwIDAgMS0uMS4yNiA1LjkgNS45IDAgMCAxLS4zMS42MmMtLjI3LjQ2LS43IDEuMDctMS4zNCAxLjM5LS42My4zMS0xLjM4LjMtMS45LjIzYTUuODMgNS44MyAwIDAgMS0uNy0uMTJ6bTMuMjYtMi4zOUwxMC4yIDcuOWwtLjAyLS4wMUw2LjMgNC43bDIuNTcgNS44OGguMDFjLjE0LjA0LjM0LjA4LjU3LjExLjQ3LjA2Ljk3LjA1IDEuMzQtLjE0LjM2LS4xOC42OC0uNTcuOTEtLjk5LjA4LS4xNC4xNS0uMjcuMi0uMzl6bTguMzIgNC42OGE1LjQ3IDUuNDcgMCAwIDAgMS4zNy0xLjAyIDQuODggNC44OCAwIDAgMCAxLjQ2LTMuNTNjLS44LjM5LTEuNDEuNTgtMS45Mi42MS0uNy4wNS0xLjE0LS4xOC0xLjQ5LS40NWE1LjYgNS42IDAgMCAxLS4yMi0uMTlsLS4wMy0uMDMtLjE3LS4xM2ExLjQgMS40IDAgMCAwLS4zMy0uMjJjLS4xOC0uMDctLjQ0LS4xMi0uOTMgMGwtLjEuNGMtLjEuMy0uMjguNjktLjU4IDEuMDkuODcuNTkgMS42IDEuNDYgMi4xNCAyLjJhMTQuOTIgMTQuOTIgMCAwIDEgLjggMS4yN3pNOS4wNSAxOS4xOXYtLjA5YTQuNzggNC43OCAwIDAgMC0uOTYtMy4zIDUuNTYgNS41NiAwIDAgMC0xLjY1LTEuMjljLS4zLS4xNy0uNi0uMy0uOC0uNGwtLjA1LS4wM2E0LjA1IDQuMDUgMCAwIDAtMS40IDIuODIgMy4xIDMuMSAwIDAgMCAuNjYgMi4yNWMuODMuODIgMS44Ni44NCAyLjc4LjYyYTUuNzEgNS43MSAwIDAgMCAxLjQyLS41OHptNC4yNi01Ljg3Yy0uMy4yNC0uNzQuNTQtMS4xOC42Ni0uMzcuMS0uODEuMS0xLjEyLjA4YTYuOTUgNi45NSAwIDAgMS0uNTQtLjA2aC0uMDVsLjA4LS41LjA4LS41LjAzLjAxYTUuMDIgNS4wMiAwIDAgMCAxLjI2IDBjLjI0LS4wNi41NC0uMjUuODMtLjQ3YTYuMSA2LjEgMCAwIDAgLjQyLS4zN2wuMDItLjAyLjM2LjM1LjM1LjM2aC0uMDFsLS4wMy4wNGE2LjA5IDYuMDkgMCAwIDEtLjUuNDJ6TTYgMTdoMXYtMUg2djF6Ii8+PC9zdmc+J30sNTY5Nzg1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTcuNSAyNHYtNS41bTAgMHMyLjctMS4xIDQuNS0xYzIuMS4xMiAyLjkgMS44OCA1IDIgMS44LjEgNC41LTEgNC41LTF2LTZtLTE0IDZ2LTZtMCAwdi02czIuNy0xLjEgNC41LTFjMi4xLjEyIDIuOSAxLjg4IDUgMiAxLjguMSA0LjUtMSA0LjUtMXY2bS0xNCAwczIuNy0xLjEgNC41LTFjMi4xLjEyIDIuOSAxLjg4IDUgMiAxLjguMSA0LjUtMSA0LjUtMSIvPjwvc3ZnPid9LDE4NTYwNShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIuNSA4aDEuMzZsLS44NS0zLjM4Ljk4LS4yNC45IDMuNjJoNy42NGExLjM0IDEuMzQgMCAwIDEgLjIuMDJjLjEzLjAyLjMxLjA3LjUuMTYuMTguMDkuMzguMjQuNTMuNDYuMTUuMjQuMjQuNTIuMjQuODYgMCAuMzQtLjA5LjYyLS4yNC44NmExLjM4IDEuMzggMCAwIDEtLjc5LjU2TDIyIDI0LjU0bC0uMDMuNDZINi41Yy0xIDAtMS42NC0uNjgtMS45OS0xLjIzYTQuNCA0LjQgMCAwIDEtLjM4LS43OGwtLjAxLS4wNGMtLjEtLjAzLS4yMi0uMDctLjM0LS4xM2ExLjM2IDEuMzYgMCAwIDEtLjU0LS40NkExLjUxIDEuNTEgMCAwIDEgMyAyMS41YzAtLjM0LjA5LS42Mi4yNC0uODYuMTUtLjIyLjM1LS4zNy41NC0uNDYuMS0uMDUuMi0uMDkuMjgtLjExYTYuNiA2LjYgMCAwIDEgLjk2LTIuMzRDNS45MiAxNi4zNSA3LjU2IDE1IDEwLjUgMTVjLjcyIDAgMS4zNi4wOCAxLjkzLjIybC0uNC00LjNhMS4zOCAxLjM4IDAgMCAxLS44LS41N0ExLjUxIDEuNTEgMCAwIDEgMTEgOS41YzAtLjM0LjA5LS42Mi4yNC0uODYuMTUtLjIyLjM1LS4zNy41NC0uNDZhMS43MyAxLjczIDAgMCAxIC43LS4xOGguMDJ2LjVWOHptLjk2IDcuNTdhNS43MyA1LjczIDAgMCAxIDIuNTIgMi4xNiA2Ljg2IDYuODYgMCAwIDEgLjk1IDIuMzQgMS4zOCAxLjM4IDAgMCAxIC44Mi41OGMuMTYuMjMuMjUuNTEuMjUuODUgMCAuMzQtLjA5LjYyLS4yNC44Ni0uMTUuMjItLjM1LjM3LS41NC40Ni0uMTIuMDYtLjI0LjEtLjM0LjEzbC0uMDEuMDRhNC40IDQuNCAwIDAgMS0uNTQgMS4wMWg0LjdsLjkzLTEzaC04LjkxbC40MSA0LjU3ek0xNC41IDloOGEuNzMuNzMgMCAwIDEgLjI4LjA3Yy4wNi4wNC4xMS4wOC4xNS4xMy4wMy4wNS4wNy4xNC4wNy4zIDAgLjE2LS4wNC4yNS0uMDcuM2EuMzguMzggMCAwIDEtLjE1LjEzLjczLjczIDAgMCAxLS4yNy4wN0gxMi41YS43My43MyAwIDAgMS0uMjgtLjA3LjM4LjM4IDAgMCAxLS4xNS0uMTMuNTIuNTIgMCAwIDEtLjA3LS4zYzAtLjE2LjA0LS4yNS4wNy0uMy4wNC0uMDUuMDktLjEuMTUtLjEzQS43My43MyAwIDAgMSAxMi41IDloMi4wMXptMS40IDExYTUuOCA1LjggMCAwIDAtLjc2LTEuNzNDMTQuNDEgMTcuMTUgMTMuMDYgMTYgMTAuNSAxNmMtMi41NiAwLTMuOTEgMS4xNS00LjY0IDIuMjdBNS44NiA1Ljg2IDAgMCAwIDUuMSAyMGgxMC43OHpNNC41IDIxYS43Mi43MiAwIDAgMC0uMjguMDcuMzguMzggMCAwIDAtLjE1LjEzLjUyLjUyIDAgMCAwLS4wNy4zYzAgLjE2LjA0LjI1LjA3LjMuMDQuMDUuMDkuMS4xNS4xM2EuNzMuNzMgMCAwIDAgLjI3LjA3SDE2LjVhLjcyLjcyIDAgMCAwIC4yOC0uMDcuMzguMzggMCAwIDAgLjE1LS4xMy41Mi41MiAwIDAgMCAuMDctLjMuNTIuNTIgMCAwIDAtLjA3LS4zLjM4LjM4IDAgMCAwLS4xNS0uMTMuNzMuNzMgMCAwIDAtLjI3LS4wN0g0LjV6bS43MyAybC4xMy4yM2MuMjguNDUuNjUuNzcgMS4xNC43N2g4Yy41IDAgLjg2LS4zMiAxLjE0LS43Ny4wNS0uMDcuMS0uMTUuMTMtLjIzSDUuMjN6TTExIDE3djFoLTF2LTFoMXptLTMgMWgxdjFIOHYtMXptNCAxdi0xaDF2MWgtMXoiLz48L3N2Zz4nfSw2OTQ1MzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuNSAyMUg5aC41em04IDBIMTdoLjV6bS02LTEwSDExdjFoLjV2LTF6bTQgMWguNXYtMWgtLjV2MXptMiA3LjVoLjUtLjV6bS4yOS0xLjU5QTcuOTcgNy45NyAwIDAgMCAyMSAxMS41aC0xYTYuOTcgNi45NyAwIDAgMS0yLjc5IDUuNTlsLjU4Ljgyek0yMSAxMS41QTcuNSA3LjUgMCAwIDAgMTMuNSA0djFhNi41IDYuNSAwIDAgMSA2LjUgNi41aDF6TTEzLjUgNEE3LjUgNy41IDAgMCAwIDYgMTEuNWgxQTYuNSA2LjUgMCAwIDEgMTMuNSA1VjR6TTYgMTEuNWE3Ljk4IDcuOTggMCAwIDAgMy4yMSA2LjQxbC41Ny0uODJBNi45OCA2Ljk4IDAgMCAxIDcgMTEuNUg2ek05IDIxYTEgMSAwIDAgMCAxIDF2LTFIOXptOCAxYTEgMSAwIDAgMCAxLTFoLTF2MXptLTYtLjVWMjNoMXYtMS41aC0xem0wIDEuNWExIDEgMCAwIDAgMSAxdi0xaC0xem0xIDFoM3YtMWgtM3Yxem0zIDBhMSAxIDAgMCAwIDEtMWgtMXYxem0xLTF2LTEuNWgtMVYyM2gxem0tMy0xMS41djZoMXYtNmgtMXpNOS41IDIwaDh2LTFoLTh2MXpNOSAxNy41djJoMXYtMkg5em0wIDJWMjFoMXYtMS41SDl6bTkgMS41di0xLjVoLTFWMjFoMXptMC0xLjV2LTJoLTF2Mmgxek05LjUgMThoNHYtMWgtNHYxem00IDBoNHYtMWgtNHYxem0tMi02aDJ2LTFoLTJ2MXptMiAwaDJ2LTFoLTJ2MXpNMTAgMjJoMS41di0xSDEwdjF6bTEuNSAwaDR2LTFoLTR2MXptNCAwSDE3di0xaC0xLjV2MXoiLz48L3N2Zz4nfSw4MTQ2NzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYgMTQuNUM2IDkuNzggOS43OCA2IDE0LjUgNmM0LjcyIDAgOC41IDMuNzggOC41IDguNSAwIDQuNzItMy43OCA4LjUtOC41IDguNUE4LjQ2IDguNDYgMCAwIDEgNiAxNC41ek0xNC41IDVBOS40NiA5LjQ2IDAgMCAwIDUgMTQuNWMwIDUuMjggNC4yMiA5LjUgOS41IDkuNXM5LjUtNC4yMiA5LjUtOS41UzE5Ljc4IDUgMTQuNSA1ek0xNCAxNlY5aDF2Nmg0djFoLTV6Ii8+PC9zdmc+J30sNjIwNzgxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNiAxNC41QzYgOS43OCA5Ljc4IDYgMTQuNSA2YzQuNzIgMCA4LjUgMy43OCA4LjUgOC41IDAgNC43Mi0zLjc4IDguNS04LjUgOC41QTguNDYgOC40NiAwIDAgMSA2IDE0LjV6TTE0LjUgNUE5LjQ2IDkuNDYgMCAwIDAgNSAxNC41YzAgNS4yOCA0LjIyIDkuNSA5LjUgOS41czkuNS00LjIyIDkuNS05LjVTMTkuNzggNSAxNC41IDV6TTEyIDEyYTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMnptNCAxYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHptLTYgNGwtLjQzLjI2di4wMWwuMDMuMDNhMy41NSAzLjU1IDAgMCAwIC4zLjQgNS43IDUuNyAwIDAgMCA5LjIyIDAgNS40MiA1LjQyIDAgMCAwIC4yOC0uNGwuMDItLjAzdi0uMDFMMTkgMTdsLS40My0uMjZ2LjAyYTIuNDUgMi40NSAwIDAgMS0uMjQuMzJjLS4xNy4yMS0uNDMuNS0uNzguNzlhNC43MSA0LjcxIDAgMCAxLTYuODgtLjggNC4zMiA0LjMyIDAgMCAxLS4yMy0uMzFsLS4wMS0uMDJMMTAgMTd6Ii8+PC9zdmc+J30sOTAwMzExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUuNiAxNS40M0E2LjE5IDYuMTkgMCAwIDEgMTQgNi4zNmE2LjE5IDYuMTkgMCAwIDEgOC40IDkuMDhsLS4wMy4wMi03LjMgNy4zMWExLjUgMS41IDAgMCAxLTIuMTMgMGwtNy4zLTcuMy0uMDMtLjAzbS43MS0uN3YtLjAxYTUuMTkgNS4xOSAwIDAgMSA3LjMzLTcuMzR2LjAxYy4yLjIuNTEuMTkuNyAwYTUuMTkgNS4xOSAwIDAgMSA3LjM0IDcuMzNsLS4wMy4wMi03LjMgNy4zMWEuNS41IDAgMCAxLS43MSAwbC03LjMtNy4zLS4wMy0uMDJ6Ii8+PC9zdmc+J30sNzUwNzY5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMi44NyA2LjQ0Yy4wOS0uNzgtLjUzLTEuNC0xLjMtMS4zMS0xLjQzLjE1LTMuNDMuNDgtNS40MiAxLjJhMTEuOCAxMS44IDAgMCAwLTUuMjMgMy40NEw5Ljg2IDExLjlsNi4yNCA2LjI0IDIuMTMtMS4wNmExMS44IDExLjggMCAwIDAgMy40NC01LjIzYy43Mi0xLjk5IDEuMDUtNCAxLjItNS40MXptLTQuOTMgMTEuOWwtMS43Mi44Ni0uMDQuMDJoLS4wNGwtMi4yLjY3di4wMWExOS42OCAxOS42OCAwIDAgMC0uMTMgMy4zM2MuMDEuMTQuMDguMjIuMTcuMjYuMDguMDQuMi4wNS4zMi0uMDNhMTguODMgMTguODMgMCAwIDAgMi43OS0yLjI2IDguMTggOC4xOCAwIDAgMCAuNDQtMS4xYy4xNi0uNTEuMzMtMS4xMi40MS0xLjc2em0tLjQ0IDMuMTZsLjM1LjM1LS4wMS4wMi0uMDUuMDVhMTYuODUgMTYuODUgMCAwIDEtLjgzLjc2Yy0uNTQuNDctMS4zIDEuMDgtMi4xIDEuNjFhMS4zIDEuMyAwIDAgMS0yLjA1LS45OCAxNi40NiAxNi40NiAwIDAgMSAuMDktMy4wOGwtLjE2LjA1YTEuNSAxLjUgMCAwIDEtMS41My0uMzZsLTMuMTMtMy4xM2MtLjQtLjQtLjU0LTEtLjM2LTEuNTNsLjA1LS4xNi0uMzYuMDRjLS43LjA2LTEuNjIuMTEtMi41NC4wNmExLjMgMS4zIDAgMCAxLTEuMTMtLjhjLS4xOC0uNDItLjEzLS45NC4xNy0xLjM1YTg3LjU1IDg3LjU1IDAgMCAxIDIuMTUtMi44bC4wNC0uMDR2LS4wMmwuNC4zMS0uMjItLjQ1LjAzLS4wMWE1LjkzIDUuOTMgMCAwIDEgLjM0LS4xNmMuMjMtLjEuNTUtLjIyLjk0LS4zNUE5Ljc3IDkuNzcgMCAwIDEgMTAuMjYgOWExMi45IDEyLjkgMCAwIDEgNS41NS0zLjYxYzIuMDktLjc2IDQuMTgtMS4xIDUuNjUtMS4yNiAxLjQxLS4xNSAyLjU2IDEgMi40IDIuNDFhMjQuMDQgMjQuMDQgMCAwIDEtMS4yNSA1LjY1QTEyLjkgMTIuOSAwIDAgMSAxOSAxNy43NGE5Ljc3IDkuNzcgMCAwIDEtLjg4IDMuNjEgOS4xOCA5LjE4IDAgMCAxLS4xNi4zNHYuMDNoLS4wMWwtLjQ1LS4yMnptMCAwbC40NS4yMi0uMDQuMDgtLjA2LjA1LS4zNS0uMzV6bS0xMS0xMWwtLjQtLjMxLjA4LS4wOS4xLS4wNS4yMi40NXptMy4xNi0uNDRhOS42MSA5LjYxIDAgMCAwLTIuODQuODRsLS4xMy4xNmExMDkuODMgMTA5LjgzIDAgMCAwLTEuOTcgMi41OC40LjQgMCAwIDAtLjA2LjM4Yy4wNC4xLjEyLjE3LjI3LjE4YTE2LjA1IDE2LjA1IDAgMCAwIDMuMTgtLjE1bC42Ni0yLjIuMDEtLjAzLjAyLS4wNC44Ni0xLjcyem01LjQgOC40NWwtNS41Ny01LjU2LS41MSAxLjctLjMxLjkyYS41LjUgMCAwIDAgLjEyLjUxbDMuMTMgMy4xM2EuNS41IDAgMCAwIC41LjEybC45Mi0uM2guMDJsMS43LS41MnptLTEwLjkxLjY0bDItMiAuNy43LTIgMi0uNy0uN3ptMCA0bDQtNCAuNy43LTQgNC0uNy0uN3ptNCAwbDItMiAuNy43LTIgMi0uNy0uN3pNMTYgMTAuNWExLjUgMS41IDAgMSAxIDMgMCAxLjUgMS41IDAgMCAxLTMgMHpNMTcuNSA4YTIuNSAyLjUgMCAxIDAgMCA1IDIuNSAyLjUgMCAwIDAgMC01eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCXMR.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.430Z","timestamp":1785136905430,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCXMR.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/47632.33d2a3745af497e3da5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.851Z","timestamp":1785136901851,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/47632.33d2a3745af497e3da5d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-b2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0409ae90de801daa731d060fd8d81605\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":178,"size_decoded":890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6b0e113b7611f749d459a146078f9a58","sha1":"5b1aec3af3fe370284f6a23557895bd0490a484c","sha256":"5d823f4989976ca71db5dbc63763c653f7f997d13757235fde75755413631b18","sha512":"93cc8381bee6b3f9f3ad64202f4c08c80830f96e99758b28c9a981feda509a38e4fd34bd149a5a7e549c7a7454930a4bdcf3e44a6d270087c2bcd027a72c82a0","ssdeep":"","tlshash":"7bc0801d13d4b410145701ef69e8662c247554fdf7136e5c36d4173b435fe1c0751970","first_seen":"2026-07-16T13:40:49.787877Z","last_seen":"2026-08-10T05:01:44.226475Z","times_seen":451,"resource_available":false,"data":"LmhpZGRlbi1uTXR4WFRYX3tvcGFjaXR5OjB9LmZhZGVJbldyYXBwZXItbk10eFhUWF97d2lkdGg6MTAwJX0uZmFkZUluV3JhcHBlci1uTXR4WFRYXy5pc0FuaW1hdGVkLW5NdHhYVFhfe3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS11aS1saWItZmFkZUluV3JhcHBlci10cmFuc2l0aW9uLWR1cmF0aW9uLC4zNXMpfQ=="}},"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/15526.c829c52fed259855bb96.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.857Z","timestamp":1785136901857,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15526.c829c52fed259855bb96.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-316\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 43bbe14a6f3cfa53a0e3969fe5845667\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":790,"size_decoded":1140,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (790), with no line terminators","md5":"d33cb76c4c4987a6e783fa779dffe4b2","sha1":"df35b6ae057220bf5ebd9bcff03be83d1f72420c","sha256":"6b3f21a89374d2e2deedce7defed807004e9519f2c8305cb071637eba3c64f6b","sha512":"ac2818012ca1b265c13981bf4dcf851de61298ab5db3e0dd96d5abff8d384444b94ad6dc7386fe0a889fc9d8bfd3a7f248e7e964e970478b90987b70168dbf62","ssdeep":"","tlshash":"0601ab3cd558e276f653e23c33eab2ed05205f5488533feaf686e02080d59971c52218","first_seen":"2026-07-19T21:33:33.695675Z","last_seen":"2026-08-10T05:00:33.706455Z","times_seen":118,"resource_available":false,"data":"LnJhZGlvQnV0dG9uVmlldy1PTFhaUXh1Yntib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1jb2xvciAuMzVzIGVhc2U7d2lkdGg6MThweDstLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcmFkaW8tY29sb3I6dmFyKC0tdWktbGliLXJhZGlvQnV0dG9uVmlldy1jb2xvcix2YXIoLS1kZWZhdWx0LWNvbG9yKSk7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcmFkaW8tY29sb3IpfS5yYWRpb0J1dHRvblZpZXctT0xYWlF4dWI6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVpbmFyeS1pbnZlcnNlKTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjZweDtpbnNldDowO21hcmdpbjphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjZweH0uY2hlY2tlZC1PTFhaUXh1YnstLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcmFkaW8tY29sb3IpfS5jaGVja2VkLU9MWFpReHViOmJlZm9yZXtkaXNwbGF5OmJsb2NrfS5kaXNhYmxlZC1PTFhaUXh1YntvcGFjaXR5Oi4zfQ=="}},"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/85510.de862f9d26db7cf3cd08.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.321Z","timestamp":1785136900321,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/85510.de862f9d26db7cf3cd08.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 6288e3264d888691af0be734bdeb8ec3\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":681,"size_decoded":1161,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (681), with no line terminators","md5":"7cce80372e7f07843410b6d3a692a4f6","sha1":"3cc8e6874df4c8b769ce175f1cf67a8b1fa114d4","sha256":"9e6faf03deaf6681c70ad58cacf7014b703268bb2e6f9326ac6a9ab19327c194","sha512":"a5bec448adb1e1a1ed9c61badc3c8fb561d66ed8e50d2df941272a9b32b1ca7ef284b0b57331f216ac91538d5cf440a39338d472034d87083cdc909c5e11b446","ssdeep":"","tlshash":"c501cb55704e9069b80be13e1b6cb28ce551f009ce438facf934f4108ac6aec1061ace","first_seen":"2026-03-24T10:46:27.25807Z","last_seen":"2026-08-10T05:01:09.717956Z","times_seen":1304,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVFdVdDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1UV1V0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKX1ib2R5LmV4dGVuc2lvbnttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59aW1ne2JvcmRlcjpub25lfXRleHRhcmVhe3Jlc2l6ZTpub25lfTpmb2N1c3tvdXRsaW5lOm5vbmV9aW5wdXQsdGV4dGFyZWF7Ym9yZGVyLXJhZGl1czowfS51bnNlbGVjdGFibGV7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnNlbGVjdGFibGUsaW5wdXQsdGV4dGFyZWF7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5sb2FkaW5nLWluZGljYXRvcntiYWNrZ3JvdW5kOnZhcigtLV8wLVRXVXQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxNTB9LmZhbGxpbmcsLmdyb3dpbmd7Y29sb3I6I2ZmZn0uZ3Jvd2luZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWxlZ2FjeS1zdWNjZXNzKX0uZmFsbGluZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCl9"}},"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/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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.948Z","timestamp":1785136900948,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/54681.a717110e6749f307ed6d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: e57f0097baa7f164570fd3faa47d3d73\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":350,"size_decoded":954,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (350), with no line terminators","md5":"f2e28dcef513e7329db6a3a69720bb48","sha1":"d2b0bc2f96723e3d74402c72a78a9a449405c692","sha256":"b2adba47f3ef9121bd8fb32842dcca6edcc4b9e36084de7724ef7244f6b03640","sha512":"97e9c6797a664f80308677fd34c5ddaafe0f74b206038c67761074bc9062d4439f8bd8aaae50193cd70d06f3baa8f30eb1fad236115eb4cda845f8dc922c1e2f","ssdeep":"","tlshash":"60e08cc3f0c6000444a341329c00b738fdaf98588b836ea4805e77304b166cf3b30dae","first_seen":"2026-05-13T13:23:52.95015Z","last_seen":"2026-08-10T05:01:44.135623Z","times_seen":2607,"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/33515.85004481e4ae6624a985.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.855Z","timestamp":1785136901855,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/33515.85004481e4ae6624a985.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-244\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 941f3dc01a79114e23c0318f1eca9220\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":580,"size_decoded":1060,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (580), with no line terminators","md5":"5241d2a5bfe86e6cd8fd6dcb5e2ed696","sha1":"442dcf527ccbe2043768a278bbb8057d5f7cd091","sha256":"07939c04dbd8bdba86c89a76e4a69061cd4ebae6d60b819991cd2b8c1fe37221","sha512":"11bef8137565b1ddd5747cb80db211dc83494e6a8daaeb1f4ee0db1fb1c66425576cadcaf31ffe012cb339a4910f2561bb428f9b2dbc6a469c0efebe0112e081","ssdeep":"","tlshash":"4ff02897832433424ab7993ccc9b577b113080a34684958ca250ef69ff4e7c9436c090","first_seen":"2026-02-24T21:05:06.369247Z","last_seen":"2026-08-10T05:01:44.418822Z","times_seen":557,"resource_available":false,"data":"LmNvbnRhaW5lci1UdjdMU2pVentjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowfS5vdmVybGF5U2Nyb2xsV3JhcC1UdjdMU2pVentib3R0b206MDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7ei1pbmRleDoxMH0ud3JhcHBlci1UdjdMU2pVenttYXgtaGVpZ2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvfUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey53cmFwcGVyLVR2N0xTalV6e3Njcm9sbGJhci13aWR0aDpub25lfX0ud3JhcHBlci1UdjdMU2pVei5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LndyYXBwZXItVHY3TFNqVXo6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS53cmFwcGVyLVR2N0xTalV6Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwud3JhcHBlci1UdjdMU2pVejo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS53cmFwcGVyLVR2N0xTalV6Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71528.7c6c08c8eed01d841052.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.871Z","timestamp":1785136901871,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71528.7c6c08c8eed01d841052.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-cf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0d53bf9819ece1de8a11581e58556b61\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":207,"size_decoded":927,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"59c821709296397ada51b9c216f5c7bb","sha1":"960e0c054e516480ef63b30288834dbdf74de433","sha256":"12cab853e535a7f334166f97b48646a814935d98d7b080bc94ccddbae1aa0184","sha512":"57476d65b403a65d401ed958edb75bb17b0f5611d395f8cc073f2884ad790a835be959c08ca96a00bccb24ead3fc3ed5d11bac90568c95998b075d2994571bf1","ssdeep":"","tlshash":"9fd0a7a445e26fa8801294f217810561b008caa552634ecb55139a1ed7c568774b5095","first_seen":"2026-07-19T14:58:49.097554Z","last_seen":"2026-08-10T05:01:44.180892Z","times_seen":156,"resource_available":false,"data":"LnJpZ2h0LU9JQmtrM2dLe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCk7ZGlzcGxheTpmbGV4O2dhcDo0cHg7bWFyZ2luLWlubGluZS1lbmQ6LTRweH0uYXJyb3ctT0lCa2szZ0t7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0uYXJyb3ctT0lCa2szZ0s6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9"}},"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":"s3-symbol-logo.tradingview.com/crypto/XTVCWBTC.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.423Z","timestamp":1785136905423,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCWBTC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"1f06d1d824d2b5e8f99df3c2c4c10479\"\r\nlast-modified: Mon, 05 Aug 2024 13:40:11 GMT\r\ncdn-cachedat: 08/14/2025 09:10:06\r\nx-amz-id-2: haO4XfZq8Y321XcB+GjJfUVK/Mt5QwB51Q0KOpfIFCUH16fUTk5cIT8xp7WHKrp0lW9tEIR21+Y=\r\nx-amz-request-id: EZEEWHMCCHJN9HK1\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 1f06d1d824d2b5e8f99df3c2c4c10479\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 51abb92ad65f16de4ed64f5981e6c5a4\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCKSM.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.562Z","timestamp":1785136905562,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCKSM.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCBARDL.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.584Z","timestamp":1785136905584,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCBARDL.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30200.71da076fb0197e4d5953.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.968Z","timestamp":1785136900968,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30200.71da076fb0197e4d5953.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: b4b58ed3828645704b2f9844ae703342\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":86,"size_decoded":870,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b02278d29b4e6fb9286fa4e3d93d2ce5","sha1":"0e3940c360032f59c0eb14248728f6b6d0c99cae","sha256":"6373ee883ff860f1955a9c73438e96ed35056eacf0fadb1c6ae58a57e31a5e34","sha512":"cf3ba4d72f48389a359a141bea634d0369e9ba9b4e796f108b6c71cd23e57123b60f7b390b1edba4debfc2e84ebd9bc8cefa9ab0ef5f5d70274f73ef0be4ac8c","ssdeep":"","tlshash":"ada012d2b4410450000501481120733bcab721c426940d0804c0bf2203464a19c78150","first_seen":"2026-01-13T13:30:16.848169Z","last_seen":"2026-08-10T05:01:44.287289Z","times_seen":2306,"resource_available":false,"data":"LmpzLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5qcy1uby1wb2ludGVyLWV2ZW50c3twb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/91944.cd51b48fa4d742a11726.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.616Z","timestamp":1785136901616,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/91944.cd51b48fa4d742a11726.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4db1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 837007bf2095db5d1910ddb69263b98b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19889,"size_decoded":7413,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"21603b1ea6d66be9e85aa0d9d193067c","sha1":"5dfac46409e281f3078e3af99e4bff3c1a5f0872","sha256":"9b43f56adbbeaa987486fbb6cacb11cabfc1b3f3a2dd72779653f53c856e5019","sha512":"cab7c1b47820cec2b3b2a91830c3ab740452d292f8365c4ddcbb24c933e951935088f8e65d6b05cf26971d02ca63b8ed69349566da982272c09dc14fad9cb99c","ssdeep":"384:lciP7w+YSd7NNsFs9s5QFdP4k3I+0rZnPb5X9D8Tq7dQYQBcOu7+sP5MgVzZtcip:lciPU+YSdHs0sJjFnPb5X9w+7dQ/SOub","tlshash":"b792a5913161697a53a622ed6cb11a03a749680af80e4d8cf1fd49ff685cc0e327db7c","first_seen":"2026-07-22T16:00:00.510452Z","last_seen":"2026-07-28T06:17:53.460776Z","times_seen":90,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTE5NDRdLHszODgzNjcoZSx0LGkpe2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZT8uc3R1ZHlJZHMuaGFzKHQpPz8hMX1pLmQodCx7aGlnaGxpZ2h0Q29udGFpbnNTb3VyY2U6KCk9PnN9KX0sNzMyMDgwKGUsdCxpKXtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuKGUmdCk9PT10fWkuZCh0LHtpc1Bsb3RWaXNpYmxlOigpPT5zfSl9LDUyMTk4MyhlLHQsaSl7ZnVuY3Rpb24gcyhlLHQpe2lmKG51bGw9PT1lKXJldHVybiB0O2NvbnN0IGk9ZS5maXJzdEluZGV4LHM9dC5maXJzdEluZGV4LG49ZS5jbGVhckRhdGF8fHQuY2xlYXJEYXRhO3JldHVybntmaXJzdEluZGV4Om58fHZvaWQgMD09PWl8fHZvaWQgMD09PXM/dm9pZCAwOk1hdGgubWluKGkscyksY2xlYXJEYXRhOm59fWkuZCh0LHttZXJnZURhdGFJbnZhbGlkYXRpb246KCk9PnN9KX0sMzE1NjU0KGUsdCxpKXtpLmQodCx7U3R1ZHlQbG90UGFuZVZpZXc6KCk9PkZ9KTt2YXIgcyxuPWkoMTM4NjM4KSxvPWkoMTM0NjcpLGw9aSg2MDE4NDEpLGE9aSg5MzAyMzEpLHI9aSg2NDA3NDQpLGQ9aSg4NzM1NzMpLGg9aSg1NTY5MTEpLGM9aSg2Mzg1NzEpLHU9aSg0MTk5MjQpLF89aSg3ODkxOTApLHA9aSg0NTM2NzcpLG09aSg0NzAyMTApLHk9aSg1OTA0MjMpLEk9aSg5NzA0MzQpLFM9aSgxNDM4MDgpLGc9aSg3MzY1MzEpLGY9aSg2MDQyMTQpLHY9aSg3NjMpLFA9aSg5MzQzMDUpLHg9aSgzMTg5NzQpOyFmdW5jdGlvbihlKXtlW2UuTWluQ2lyY2xlUmFkaXVzPTEuNV09Ik1pbkNpcmNsZVJhZGl1cyIsZVtlLlNpbXBsaWZpZWRQYWludGluZ01vZGVNYXhCYXJTcGFjaW5nPTJdPSJTaW1wbGlmaWVkUGFpbnRpbmdNb2RlTWF4QmFyU3BhY2luZyJ9KHN8fChzPXt9KSk7Y2xhc3MgYiBleHRlbmRzIFAuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PXRoaXMuX2RhdGEsaT10LmxpbmVXaWR0aCxzPXQudmVydE9mZnNldHx8MCxuPSgwLGYuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkuc2VyaWVzK2ksbz10LnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxsPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/dC5pdGVtcy5sZW5ndGg7Zm9yKGxldCBhPW87YTxsO2ErKyl7Y29uc3Qgbz10Lml0ZW1zW2FdO2lmKG5ldyBnLlBvaW50KG8uY2VudGVyLG8ueStzKS5zdWJ0cmFjdChlKS5sZW5ndGgoKStpPD1uKXJldHVybiBuZXcgdi5IaXRUZXN0UmVzdWx0KHYuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2RhdGEse2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnMsY29udGV4dDpufT1lLG89TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSxhPW8lMj8uNTowLHt2ZXJ0T2Zmc2V0OnI9MCxsaW5lQ29sb3I6ZCxsaW5lV2lkdGg6aCxiYXJTcGFjaW5nOmN9PXQ7bGV0IHU9IiIsXz0hMTtjb25zdCBwPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LnN0YXJ0SXRlbUluZGV4Pz8wLG09dC52aXNpYmxlSXRlbXNSYW5nZT8uZW5kSXRlbUluZGV4Pz90Lml0ZW1zLmxlbmd0aDtmb3IobGV0IGU9cDtlPG07ZSsrKXtjb25zdCBwPXQuaXRlbXNbZV0sbT1wLmNlbnRlcix5PXAueStyO2lmKCgwLGwuaXNOYU4pKG0pfHwoMCxsLmlzTmFOKSh5KSljb250aW51ZTtsZXQgSSxTO251bGwhPXAuc3R5bGU/KEk9cC5zdHlsZS5jb2xvcixTPXAuc3R5bGUud2lkdGgpOihJPWQsUz1oKSwoSSE9PXV8fHguaXNTYWZhcmkpJiYodT1JLF8mJm4uZmlsbCgpLG4uYmVnaW5QYXRoKCksbi5maWxsU3R5bGU9SSk7Y29uc3QgZz1NYXRoLnJvdW5kKG0qaSkrYSxmPU1hdGgucm91bmQoeSpzKSthO2xldCB2PU1hdGgucm91bmQoMipNYXRoLm1heCgxLjUsUykqaSk7byUyIT12JTImJih2Kz0xKSxjPjJ8fFM+MS41PyhuLm1vdmVUbyhnK3YvMixmKSxuLmFyYyhnLGYsdi8yLDAsMipNYXRoLlBJLCExKSk6bi5yZWN0KGctdi8yLGYtdi8yLHYsdiksXz0hMH1fJiZuLmZpbGwoKX19dmFyIE49aSg3MjEzOTYpLEM9aSg3MDA3NCk7Y2xhc3MgdyBleHRlbmRzIFAuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PSgwLGYuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkuc2VyaWVzK3RoaXMuX2RhdGEubGluZVdpZHRoLzI7bGV0IGkscyxuLG87Zm9yKGxldCBsPTE7bDx0aGlzLl9kYXRhLml0ZW1zLmxlbmd0aDsrK2wpe2k9dGhpcy5fZGF0YS5pdGVtc1tsLTFdLHM9dGhpcy5fZGF0YS5pdGVtc1tsXSxuPWkuY2VudGVyLG89cy5jZW50ZXI7aWYoKDAsQy5kaXN0YW5jZVRvU2VnbWVudCkobmV3IGcuUG9pbnQobixpLnkpLG5ldyBnLlBvaW50KG8scy55KSxuZXcgZy5Qb2ludChlLngsZS55KSkuZGlzdGFuY2U8PXQpcmV0dXJuIG5ldyB2LkhpdFRlc3RSZXN1bHQodi5IaXRUYXJnZXQuUmVndWxhcil9cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2NvbnN0e2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfT1lO2xldCBuPSIiLG89ITE7Y29uc3QgYT10aGlzLl9kYXRhLnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxyPSh0aGlzLl9kYXRhLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P3RoaXMuX2RhdGEuaXRlbXMubGVuZ3RoKS0xO2ZvcihsZXQgZT1hO2U8PXI7ZSsrKXtjb25zdCBhPXRoaXMuX2RhdGEuaXRlbXNbZV07aWYoKDAsbC5pc05hTikoYS5jZW50ZXIpfHwoMCxsLmlzTmFOKShhLnkpKWNvbnRpbnVlO2NvbnN0IHI9YS5zdHlsZT8uY29sb3I/P3RoaXMuX2RhdGEubGluZUNvbG9yLGQ9YS5zdHlsZT8ud2lkdGg/P3RoaXMuX2RhdGEubGluZVdpZHRoLGg9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGQqaSkpLGM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGQqcykpOyhyIT09bnx8eC5pc1NhZmFyaSkmJihuPXIsCm8mJnQuZmlsbCgpLHQuYmVnaW5QYXRoKCksdC5maWxsU3R5bGU9cik7bGV0IHU9MypoO3UlMiE9aCUyJiYodSs9MSk7bGV0IF89MypjO18lMiE9YyUyJiYoXys9MSk7Y29uc3QgcD1NYXRoLnJvdW5kKE1hdGgucm91bmQoYS5jZW50ZXIqaSktdS8yKSxtPU1hdGgucm91bmQoTWF0aC5yb3VuZChhLnkqcyktXy8yKSx5PXArTWF0aC5mbG9vcih1LzItaC8yKSxJPW0rTWF0aC5mbG9vcihfLzItYy8yKTt0LnJlY3QocCxJLHUsYyksdC5yZWN0KHksbSxoLF8pLG89ITB9byYmdC5maWxsKCl9fWNsYXNzIFIgZXh0ZW5kcyBQLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7Y29uc3QgdD0oMCxmLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLnNlcmllcyt0aGlzLl9kYXRhLmxpbmVXaWR0aC8yLGk9bmV3IE1hcDtmb3IoY29uc3QgcyBvZiB0aGlzLl9kYXRhLml0ZW1zKXtjb25zdCBvPXMuY2VudGVyLGw9cy55O2xldCBhPXQ7cy5zdHlsZSYmKGkuaGFzKHMuc3R5bGUud2lkdGgpP2E9KDAsbi5lbnN1cmVEZWZpbmVkKShpLmdldChzLnN0eWxlLndpZHRoKSk6aS5zZXQodGhpcy5fZGF0YS5saW5lV2lkdGgsYSkpO2lmKCgwLEMuZGlzdGFuY2VUb1NlZ21lbnQpKG5ldyBnLlBvaW50KG8sbCksbmV3IGcuUG9pbnQobyx0aGlzLl9kYXRhLmhpc3RvZ3JhbUJhc2UpLG5ldyBnLlBvaW50KGUueCxlLnkpKS5kaXN0YW5jZTw9YSlyZXR1cm4gbmV3IHYuSGl0VGVzdFJlc3VsdCh2LkhpdFRhcmdldC5SZWd1bGFyKX1yZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7aWYoMD09PXRoaXMuX2RhdGEuaXRlbXMubGVuZ3RoKXJldHVybjtjb25zdHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86c309ZTt0LmZpbGxTdHlsZT10aGlzLl9kYXRhLmxpbmVDb2xvcjtjb25zdCBuPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLl9kYXRhLmxpbmVXaWR0aCppKSksbz1uLzIsbD1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLGE9TWF0aC5yb3VuZCh0aGlzLl9kYXRhLmhpc3RvZ3JhbUJhc2UqcyktTWF0aC5mbG9vcihsLzIpLHI9YStsLGQ9dGhpcy5fZGF0YS52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsaD0odGhpcy5fZGF0YS52aXNpYmxlSXRlbXNSYW5nZT8uZW5kSXRlbUluZGV4Pz90aGlzLl9kYXRhLml0ZW1zLmxlbmd0aCktMTtmb3IobGV0IGU9ZDtlPD1oO2UrKyl7Y29uc3QgZD10aGlzLl9kYXRhLml0ZW1zW2VdO2xldCBoPW4sYz1vO2Quc3R5bGU/KHQuZmlsbFN0eWxlPWQuc3R5bGUuY29sb3IsaD1NYXRoLm1heCgxLE1hdGguZmxvb3IoZC5zdHlsZS53aWR0aCppKSksYz1oLzIpOnQuZmlsbFN0eWxlPXRoaXMuX2RhdGEubGluZUNvbG9yO2NvbnN0IHU9aCUyPy41OjAsXz1NYXRoLnJvdW5kKGQuY2VudGVyKmkpK3UscD1NYXRoLnJvdW5kKGQueSpzKTtsZXQgbSx5O3A8PWE/KG09cCx5PXIpOihtPWEseT1wLU1hdGguZmxvb3IobC8yKStsKSx0LmZpbGxSZWN0KE1hdGguZmxvb3IoXy1jKSxtLGgseS1tKX19fXZhciBNPWkoMTY4MjU4KSxMPWkoNjU1NTY5KSxUPWkoMTk4OTAxKSxCPWkoMzAzMjcwKSxEPWkoMjI3ODI1KTtjb25zdCBWPWU9Pntjb25zdCB0PSgwLG8ucmdiVG9Ic2wpKCgwLG8ucGFyc2VSZ2IpKGUpKSxpPXRbMF0rLjA1O3JldHVybiB0WzBdPWktTWF0aC5mbG9vcihpKSwoMCxvLnJnYlRvSGV4U3RyaW5nKSgoMCxvLmhzbFRvUmdiKSh0KSl9LGs9KDAsYy5tZW1vaXplKShWKTtjbGFzcyBGIGV4dGVuZHMgQi5TdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZXtjb25zdHJ1Y3RvcihlLHQsaSxzLG49ITEpe3N1cGVyKHQsaSxzKSx0aGlzLl9oaXN0b2dyYW1CYXNlPW51bGwsdGhpcy5fbGluZUNvbG9yPSIiLHRoaXMuX2xpbmVXaWR0aD0xLHRoaXMuX2NvbG9yMT0iIix0aGlzLl9jb2xvcjI9IiIsdGhpcy5fcmVuZGVyZXI9bmV3IF8uQ29tcG9zaXRlUmVuZGVyZXIsdGhpcy5faXNNYXJrZXJzRW5hYmxlZD0oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiKSx0aGlzLl9zdHVkeT1lLHRoaXMuX3Bsb3RJbmRleD1lLm1ldGFJbmZvKCkucGxvdHMuZmluZEluZGV4KChlPT5lLmlkPT09cykpLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsTC5jcmVhdGVTdHVkeVBsb3RDb2xvclByb3ZpZGVyKShlLm1ldGFJbmZvKCksZS5wcm9wZXJ0aWVzKCkscyksdGhpcy5fZXh0ZW5kU3RlcExpbmVUb0JhcnNFbmRpbmdzPW4sdGhpcy5faXNGdW5kYW1lbnRhbD0oMCxTLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShlLm1ldGFJbmZvKCkpO2NvbnN0IG89dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLnN0eWxlc1t0aGlzLl9wbG90TmFtZV0ucGxvdHR5cGUudmFsdWUoKTt0aGlzLl9pc1N0ZXBMaW5lUGxvdD1vPT09TS5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fG89PT1NLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhCcmVha3N8fG89PT1NLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc31pdGVtcygpe3JldHVybiB0aGlzLl9pdGVtc31yZW5kZXJlcigpe3JldHVybiB0aGlzLl9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpLHRoaXMuX3JlbmRlcmVyfV9nZXRUcmFuc3BWYWx1ZSgpe2NvbnN0IGU9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLHQ9ZS5zdHlsZXNbdGhpcy5fcGxvdE5hbWVdO2xldCBpPTA7Y29uc3Qgcz10aGlzLl9zdHVkeS5tZXRhSW5mbygpO3JldHVybiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIj09PXMuaWQmJnMudmVyc2lvbjw9NDYmJiJ0cmFuc3BhcmVuY3kiaW4gZT8oaT1lLnRyYW5zcGFyZW5jeS52YWx1ZSgpLGk9KDAsbC5pc051bWJlcikoaSk/aTowLGkpOih0LnRyYW5zcGFyZW5jeSYmKGk9dC50cmFuc3BhcmVuY3kudmFsdWUoKSxpPSgwLGwuaXNOdW1iZXIpKGkpP2k6MCksaSl9X3VwZGF0ZUltcGxGdWxsKGUpe2lmKHRoaXMuX3JlbmRlcmVyLmNsZWFyKCksdGhpcy5fZGF0YUludmFsaWRhdGVkPy5jbGVhckRhdGEmJih0aGlzLl9pdGVtcz1bXSksCiF0aGlzLl9zdHVkeS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fcGxvdE5hbWUsTS5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKCF0fHx0LmlzRW1wdHkoKSlyZXR1cm4hMTtpZihudWxsPT09dGhpcy5fc3R1ZHkuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5pc0ZvcmNlT3ZlcmxheSgpKSlyZXR1cm4hMTt0aGlzLl9oaXN0b2dyYW1CYXNlPW51bGw7Y29uc3QgaT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuc3R5bGVzW3RoaXMuX3Bsb3ROYW1lXSxzPWkucGxvdHR5cGUudmFsdWUoKSxvPXRoaXMuX2lzRnVuZGFtZW50YWwmJnRoaXMuX2lzU3RlcExpbmVQbG90LGw9dGhpcy5fc3R1ZHkucGxvdHMoKS5wbG90dGFibGVSYW5nZShvKTtpZigwPT09bC5zaXplKCkpcmV0dXJuITE7Y29uc3QgYT10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpLGM9KDAsTS5kb2VzTGluZVBsb3RTdHlsZVN1cHBvcnRGaWxsQnJlYWtzKShzKSx1PXRoaXMuX3ByZWFsbG9jYXRlSXRlbXMobCwoKGUsdCk9Pih7eTpOYU4sbGVmdDpOYU4sY2VudGVyOk5hTixyaWdodDpOYU4scHJpY2U6dD8/TmFOLHRpbWVQb2ludEluZGV4OmUrYX0pKSk7bGV0IF89TmFOLHA9TmFOO2NvbnN0IG09bmV3IE1hcCx5PShlLHQpPT57bGV0IGk9bS5nZXQoZSk7dm9pZCAwPT09aSYmKGk9bmV3IE1hcCxtLnNldChlLGkpKTtsZXQgcz1pLmdldCh0KTtpZih2b2lkIDA9PT1zKXtjb25zdCBuPSF0aGlzLl9wbG90TmFtZXx8InZvbCIhPT10aGlzLl9wbG90TmFtZTtzPSgwLGQuZ2VuZXJhdGVDb2xvcikoZSx0LG4pLGkuc2V0KHQscyl9cmV0dXJuIHN9LFM9KDAsSS5jcmVhdGVFbXB0eVN0eWxlKSgpLGc9KDAsci5jbGFtcCkodGhpcy5fZ2V0VHJhbnNwVmFsdWUoKSwwLDEwMCksZj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWYpcmV0dXJuITE7Y29uc3R7c3RhcnRCYXI6dixlbmRCYXI6UH09dGhpcy5fY2FsY3VsYXRlU3RhcnRFbmQoZik7aWYobnVsbD09PXZ8fG51bGw9PT1QfHwwPT09dGhpcy5faXRlbXMubGVuZ3RoKXJldHVybiExO2NvbnN0IHg9dT8/KDAsbi5lbnN1cmVOb3ROdWxsKShsLmZpcnN0SW5kZXgoKSksYj0oMCxuLmVuc3VyZU5vdE51bGwpKGwubGFzdEluZGV4KCkpKzEsTj1sLnJhbmdlSXRlcmF0b3IoeCxiKTtsZXQgQyx3PSgwLFQubG93ZXJib3VuZCkodGhpcy5faXRlbXMseCthLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Zm9yKGNvbnN0IGUgb2YgTil7bGV0IHQ9ZS5pbmRleDtjb25zdCBzPWUudmFsdWU7dCs9YSx0PU1hdGguZmxvb3IodCk7bGV0IG49c1t0aGlzLl9wbG90SW5kZXgrMV07Y29uc3Qgbz1udWxsPT1uO2lmKG49bz9OYU46bixjJiZvKXtwPW4sXz10LHcrKztjb250aW51ZX1jb25zdCBsPXRoaXMuX2l0ZW1zW3ddO2wudmFsSXNOb3RTYW1lQXNQcmV2PW4hPT1wfHx0LTEhPT1fO2lmKHRoaXMuX2NvbG9yUHJvdmlkZXIuaXNDb2xvckRlZmluZWQoKSYmKGwuc3R5bGU9e2NvbG9yOnkoaS5jb2xvci52YWx1ZSgpLDEwMCksd2lkdGg6aS5saW5ld2lkdGgudmFsdWUoKSxzdHlsZTppLmxpbmVzdHlsZS52YWx1ZSgpfSxudWxsIT1uKSl7Y29uc3QgZT10aGlzLl9jb2xvclByb3ZpZGVyLmdldFBsb3RQb2ludFN0eWxlKHMsUyksdD1lLmNvbG9yc1swXTt2b2lkIDAhPT10JiYobC5zdHlsZS5jb2xvcj0oMCxkLmlzSGV4Q29sb3IpKHQpP3kodCxnKTp0KSxsLnN0eWxlLndpZHRoPWUubGluZVdpZHRoPz9sLnN0eWxlLndpZHRoLGwuc3R5bGUuc3R5bGU9ZS5saW5lU3R5bGU/P2wuc3R5bGUuc3R5bGV9IWMmJiFpc05hTihfKSYmXyE9PXQtMSYmdz4wJiYodGhpcy5faXRlbXNbd10uYnJlYWtCZWZvcmU9ITApLHA9bixfPXQsdysrLEM9bH1pZihDJiZ0aGlzLl9pc0Z1bmRhbWVudGFsJiZ0aGlzLl9pc1N0ZXBMaW5lUGxvdCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YSgpLmJhcnMoKS5sYXN0SW5kZXgoKSx0PUM7aWYobnVsbCE9PWUmJmU+dC50aW1lUG9pbnRJbmRleCl7Y29uc3QgaT0oMCxoLmRlZXBDb3B5KSh0KTtpLnRpbWVQb2ludEluZGV4PWUsaS52YWxJc05vdFNhbWVBc1ByZXY9ITEsdGhpcy5faXRlbXMubGVuZ3RoPnc/dGhpcy5faXRlbXNbd109aTp0aGlzLl9pdGVtcy5wdXNoKGkpfX1yZXR1cm4gdGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksITB9X2NvcnJlY3RWaXNpYmxlSXRlbUluZGV4ZXMoZSx0KXtjb25zdCBpPXN1cGVyLl9jb3JyZWN0VmlzaWJsZUl0ZW1JbmRleGVzKGUsdCk7cmV0dXJuIHRoaXMuX2lzRnVuZGFtZW50YWwmJnRoaXMuX2lzU3RlcExpbmVQbG90JiZpLmVuZEl0ZW1JbmRleD09PXRoaXMuX2l0ZW1zLmxlbmd0aC0xJiYoaS5lbmRJdGVtSW5kZXgrPTEpLGl9X3VwZGF0ZVJlbmRlcmVyKGUsdCl7dGhpcy5fcmVuZGVyZXIuY2xlYXIoKTtjb25zdCBpPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLHM9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5zdHlsZXM/Llt0aGlzLl9wbG90TmFtZV0sbz0oMCxyLmNsYW1wKSh0aGlzLl9nZXRUcmFuc3BWYWx1ZSgpLDAsMTAwKTt0aGlzLl9saW5lQ29sb3I9KDAsZC5nZW5lcmF0ZUNvbG9yKShpLmNvbG9yLnZhbHVlKCksbyksdGhpcy5fbGluZVdpZHRoPWkubGluZXdpZHRoLnZhbHVlKCk7bGV0IGE9aS5jb2xvci52YWx1ZSgpO2NvbnN0IGM9dGhpcy5fY29sb3JQcm92aWRlci5nZXREZWZhdWx0UGxvdFBvaW50U3R5bGUoKTtjJiYoYT1jLmNvbG9yc1swXXx8YSx0aGlzLl9saW5lV2lkdGg9Yy5saW5lV2lkdGg/P3RoaXMuX2xpbmVXaWR0aCx0aGlzLl9saW5lQ29sb3I9YT8oMCxkLmdlbmVyYXRlQ29sb3IpKGEsbyk6dGhpcy5fbGluZUNvbG9yKSx0aGlzLl9jb2xvcjI9KDAsZC5nZW5lcmF0ZUNvbG9yKShhLG8pO2NvbnN0IF89dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5pc1JHQj9WKGEpOmsoYSk7dGhpcy5fY29sb3IxPSgwLGQuZ2VuZXJhdGVDb2xvcikoXyxvKQo7Y29uc3QgST10aGlzLl9oaXN0b2dyYW1CYXNlP3RoaXMuX2hpc3RvZ3JhbUJhc2U6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZVNjYWxlKCkpLmhlaWdodCgpLFM9aS5wbG90dHlwZS52YWx1ZSgpLGc9e2JhclNwYWNpbmc6dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLGl0ZW1zOnRoaXMuX2l0ZW1zLGhpc3RvZ3JhbUJhc2U6SSxsaW5lSW5kZXg6MCxsaW5lU3R5bGU6aS5saW5lc3R5bGUudmFsdWUoKSxsaW5lQ29sb3I6dGhpcy5fbGluZUNvbG9yLGxpbmVXaWR0aDooMCxsLmlzTnVtYmVyKSh0aGlzLl9saW5lV2lkdGgpP3RoaXMuX2xpbmVXaWR0aDoxLGNvbG9yMTp0aGlzLl9jb2xvcjEsY29sb3IyOnRoaXMuX2NvbG9yMixib3R0b206SSx2aXNpYmxlSXRlbXNSYW5nZTp7c3RhcnRJdGVtSW5kZXg6ZSxlbmRJdGVtSW5kZXg6dH0sc2ltcGxlTW9kZTp0aGlzLl9jb2xvclByb3ZpZGVyLnNpbmdsZUNvbG9yKCksc2tpcEhvbGVzOigwLE0uZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrcykoUyl9LGY9dGhpcy5fcmVuZGVyZXIsdj1Cb29sZWFuKHM/LmpvaW5Qb2ludHMpO3N3aXRjaChTKXtjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkxpbmU6Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5MaW5lV2l0aEJyZWFrczpmLmFwcGVuZChuZXcgcC5QYW5lUmVuZGVyZXJMaW5lKHsuLi5nLGxpbmVDb2xvcjp7dHlwZTpELkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjp0aGlzLl9saW5lQ29sb3J9fSkpO2JyZWFrO2Nhc2UgTS5MaW5lU3R1ZHlQbG90U3R5bGUuQXJlYTpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkFyZWFXaXRoQnJlYWtzOmYuYXBwZW5kKG5ldyB1LlBhbmVSZW5kZXJlckFyZWEoey4uLmcsbGluZUNvbG9yOnt0eXBlOkQuQ29sb3JUeXBlLlNvbGlkLGNvbG9yOnRoaXMuX2xpbmVDb2xvcn19KSk7YnJlYWs7Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5IaXN0b2dyYW06Zi5hcHBlbmQobmV3IFIoZykpO2JyZWFrO2Nhc2UgTS5MaW5lU3R1ZHlQbG90U3R5bGUuQ29sdW1uczpmLmFwcGVuZChuZXcgTi5QYW5lUmVuZGVyZXJDb2x1bW5zKGcpKTticmVhaztjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkNyb3NzOmYuYXBwZW5kKG5ldyB3KGcpKSx2JiZmLmFwcGVuZChuZXcgcC5QYW5lUmVuZGVyZXJMaW5lKHsuLi4oMCxoLmRlZXBDb3B5KShnKSxsaW5lV2lkdGg6MSxsaW5lQ29sb3I6e3R5cGU6RC5Db2xvclR5cGUuU29saWQsY29sb3I6dGhpcy5fbGluZUNvbG9yfSxmb3JjZUxpbmVXaWR0aDohMH0pKTticmVhaztjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkNpcmNsZXM6Zi5hcHBlbmQobmV3IGIoZykpLHYmJmYuYXBwZW5kKG5ldyBwLlBhbmVSZW5kZXJlckxpbmUoey4uLigwLGguZGVlcENvcHkpKGcpLGxpbmVXaWR0aDoxLGxpbmVDb2xvcjp7dHlwZTpELkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjp0aGlzLl9saW5lQ29sb3J9LGlnbm9yZVBhbGV0dGVMaW5lV2lkdGg6ITB9KSk7YnJlYWs7Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZTpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aEJyZWFrczpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aERpYW1vbmRzOntjb25zdCBlPW5ldyBtLlBhbmVSZW5kZXJlclN0ZXBMaW5lO2Uuc2V0RGF0YSh7Li4uZyxsaW5lQ29sb3I6e3R5cGU6RC5Db2xvclR5cGUuU29saWQsY29sb3I6dGhpcy5fbGluZUNvbG9yfSxkZWNvcmF0aW9uOmkucGxvdHR5cGUudmFsdWUoKT09PU0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aERpYW1vbmRzP20uU3RlcExpbmVEZWNvcmF0aW9uLkRpYW1vbmRzOm0uU3RlcExpbmVEZWNvcmF0aW9uLk5vbmUsZXh0ZW5kVG9CYXJzRW5kaW5nczp0aGlzLl9leHRlbmRTdGVwTGluZVRvQmFyc0VuZGluZ3N9KSxmLmFwcGVuZChlKTticmVha31kZWZhdWx0OmYuYXBwZW5kKG5ldyBwLlBhbmVSZW5kZXJlckxpbmUoey4uLmcsbGluZUNvbG9yOnt0eXBlOkQuQ29sb3JUeXBlLlNvbGlkLGNvbG9yOnRoaXMuX2xpbmVDb2xvcn19KSl9dGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmdGhpcy5fc2VsZWN0aW9uRGF0YSYmZi5hcHBlbmQobmV3IHkuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpfV91cGRhdGVBZGRpdGlvbmFsUHJpY2VzKGUsdCl7Y29uc3QgaT10aGlzLl9zdHVkeS5tZXRhSW5mbygpLnN0eWxlcz8uW3RoaXMuX3Bsb3ROYW1lXTt2b2lkIDAhPT1pPy5oaXN0b2dyYW1CYXNlJiYodGhpcy5faGlzdG9ncmFtQmFzZT1lLnByaWNlVG9Db29yZGluYXRlKGkuaGlzdG9ncmFtQmFzZSx0KSl9fX0sODQwNzcxKGUsdCxpKXtpLmQodCx7U3R1ZHlGb3JjZU92ZXJsYXlQbG90VmlldzooKT0+b30pO3ZhciBzPWkoMTM4NjM4KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9zZXJpZXM9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3Bsb3ROYW1lPWl9aXNQbG90SGlnaGxpZ2h0ZWQoKXtyZXR1cm4hIXRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5oaWdobGlnaHRlZFBsb3RJbmZvKCkpLnBsb3RJZD09PXRoaXMuX3Bsb3ROYW1lfX1jbGFzcyBvIGV4dGVuZHMgbntpc0ZvcmNlT3ZlcmxheSgpe3JldHVybiEhdGhpcy5fc3R1ZHkubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkodGhpcy5fcGxvdE5hbWUpfV9wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuaXNGb3JjZU92ZXJsYXkoKT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX3N0dWR5LnByaWNlU2NhbGUoKX19fSwzMDMyNzAoZSx0LGkpe2kuZCh0LHtTdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZTooKT0+dX0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoNzM2NTMxKSxvPWkoNjAxODQxKSxsPWkoNTIxOTgzKSxhPWkoOTM2MzI2KSxyPWkoMTk4OTAxKSxkPWkoMTQzOTMyKSxoPWkoNTQ0ODY0KSxjPWkoODQwNzcxKTtjbGFzcyB1IGV4dGVuZHMgYy5TdHVkeUZvcmNlT3ZlcmxheVBsb3RWaWV3e2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksCnRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9bnVsbCx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX3NlbGVjdGlvbkluZGV4ZXI9bmV3IGQuU2VsZWN0aW9uSW5kZXhlcyh0LnRpbWVTY2FsZSgpKX11cGRhdGUoZSl7aWYoImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUpe2lmKCJnbG9iYWwtY2hhbmdlIj09PWUudHlwZSlyZXR1cm4gdGhpcy5fZGF0YUludmFsaWRhdGVkPSgwLGwubWVyZ2VEYXRhSW52YWxpZGF0aW9uKSh0aGlzLl9kYXRhSW52YWxpZGF0ZWQse30pLHZvaWQodGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMCk7aWYoImRhdGEtc291cmNlLWNoYW5nZSIhPT1lLnR5cGUpdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMDtlbHNle2lmKChlLnNvdXJjZUlkPT09dGhpcy5fc3R1ZHkuaWQoKXx8dGhpcy5fZGVwZW5kc09uU2VyaWVzRGF0YSgpJiZlLnNvdXJjZUlkPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlkKCkpJiYhZS5ub25TZXJpZXNPbmx5KXtjb25zdCB0PSgwLGwubWVyZ2VEYXRhSW52YWxpZGF0aW9uKSh0aGlzLl9kYXRhSW52YWxpZGF0ZWQse2ZpcnN0SW5kZXg6ZS5maXJzdFVwZGF0ZWRUaW1lUG9pbnRJbmRleCxjbGVhckRhdGE6ZS5jbGVhckRhdGF9KTt0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9dH19fX1fZGVwZW5kc09uU2VyaWVzRGF0YSgpe3JldHVybiExfV9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpe3RoaXMuX2RhdGFJbnZhbGlkYXRlZD90aGlzLl91cGRhdGVJbXBsRnVsbCh0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkKSYmKHRoaXMuX2RhdGFJbnZhbGlkYXRlZD1udWxsKTp0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkJiZ0aGlzLl91cGRhdGVJbXBsTGlnaHQoKSx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExfV9wcmVhbGxvY2F0ZUl0ZW1zKGUsdCl7Y29uc3QgaT1lLnNpemUoKTtsZXQgbj10aGlzLl9kYXRhSW52YWxpZGF0ZWQ/LmZpcnN0SW5kZXg7aWYoMD09PWkpcmV0dXJuIG47Y29uc3Qgbz10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpO2lmKGkhPT10aGlzLl9pdGVtcy5sZW5ndGgpe2NvbnN0IGk9dm9pZCAwIT09bj9uK286dm9pZCAwO2lmKHZvaWQgMD09PWl8fDA9PT10aGlzLl9pdGVtcy5sZW5ndGh8fGk8KDAscy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9pdGVtc1swXS50aW1lUG9pbnRJbmRleCkpcmV0dXJuIHRoaXMuX2l0ZW1zPVtdLGUuZWFjaCgoKGUsaSk9Pntjb25zdCBzPWlbdGhpcy5fcGxvdEluZGV4KzFdO3JldHVybiB0aGlzLl9pdGVtcy5wdXNoKHQoZSxzKSksITF9KSksdGhpcy5faXRlbXMubGVuZ3RoPygwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5faXRlbXNbMF0udGltZVBvaW50SW5kZXgpLW86dm9pZCAwO3tjb25zdCBpPSgwLHMuZW5zdXJlRGVmaW5lZCkobiksbD1vPj0wPzA6byxhPW8+PTA/bzowO2xldCBkPSgwLHIubG93ZXJib3VuZCkodGhpcy5faXRlbXMsaStsLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Y29uc3QgaD0oMCxzLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpLGM9ZS5yYW5nZUl0ZXJhdG9yKGktYSxoKTtmb3IoY29uc3QgZSBvZiBjKWlmKHZvaWQgMCE9PWQmJnRoaXMuX2l0ZW1zW2RdPy50aW1lUG9pbnRJbmRleD09PWUuaW5kZXgrbylkPXRoaXMuX3VwZGF0ZUl0ZW0oZSxkKTtlbHNle2NvbnN0IGk9ZS52YWx1ZVt0aGlzLl9wbG90SW5kZXgrMV07dGhpcy5faXRlbXMucHVzaCh0KGUuaW5kZXgsaSkpfX19ZWxzZSBpZihuPW4/P2UuZmlyc3RJbmRleCgpPz92b2lkIDAsdm9pZCAwIT09bil7Y29uc3QgdD1vPj0wPzA6byxpPW8+PTA/bzowO2xldCBsPSgwLHIubG93ZXJib3VuZCkodGhpcy5faXRlbXMsbit0LCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Y29uc3QgYT0oMCxzLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpKzEsZD1lLnJhbmdlSXRlcmF0b3Iobi1pLGEpO2Zvcihjb25zdCBlIG9mIGQpbD10aGlzLl91cGRhdGVJdGVtKGUsbCl9cmV0dXJuIG59X3VwZGF0ZUl0ZW0oZSx0KXtjb25zdCBpPXRoaXMuX2dldFZhbHVlRm9yVXBkYXRpbmcoZSk7cmV0dXJuIHRoaXMuX2l0ZW1zW3RdLnByaWNlPWk/P05hTix0KzF9X2dldFZhbHVlRm9yVXBkYXRpbmcoZSl7cmV0dXJuIGUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdfV9jYWxjdWxhdGVTdGFydEVuZChlKXtjb25zdCB0PXRoaXMuX3N0dWR5Lm9mZnNldCh0aGlzLl9wbG90TmFtZSk7bGV0IGk9ZS5maXJzdEJhcigpLU1hdGguYWJzKHQpLTEsbj1lLmxhc3RCYXIoKStNYXRoLmFicyh0KSsxO2NvbnN0IG89dGhpcy5fc3R1ZHkuZ2V0TWluRmlyc3RCYXJJbmRleEZvclBsb3QodGhpcy5fcGxvdE5hbWUpK3Q7aWYobz5uKzEpcmV0dXJue3N0YXJ0QmFyOm51bGwsZW5kQmFyOm51bGx9O2NvbnN0IGw9dGhpcy5fc3R1ZHkucGxvdHMoKTtpZihsLmlzRW1wdHkoKSlyZXR1cm57c3RhcnRCYXI6bnVsbCxlbmRCYXI6bnVsbH07Y29uc3Qgcj1sLnJhbmdlKG8sKDAscy5lbnN1cmVOb3ROdWxsKShsLmxhc3RJbmRleCgpKSk7aT1NYXRoLm1heChpLG8pLG49TWF0aC5tYXgobixvKTtjb25zdCBkPXIuc2VhcmNoKGksYS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCx0aGlzLl9wbG90SW5kZXgrMSksaD1yLnNlYXJjaChuLGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LHRoaXMuX3Bsb3RJbmRleCsxKTtyZXR1cm4gbnVsbCE9PWQmJihpPWQuaW5kZXgpLG51bGwhPT1oJiYobj1oLmluZGV4KSxpPU1hdGgubWF4KG8saSkse3N0YXJ0QmFyOmksZW5kQmFyOm59fV91cGRhdGVJbXBsTGlnaHQoKXtjb25zdCBlPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUodm9pZCAwLHRoaXMuaXNGb3JjZU92ZXJsYXkoKSk7aWYobnVsbD09PWUpcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx2b2lkIHRoaXMuX3VwZGF0ZVJlbmRlcmVyKDAsLTEpO2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKG51bGw9PT10fHx0LmlzRW1wdHkoKSlyZXR1cm4gdGhpcy5fc2VsZWN0aW9uRGF0YT1udWxsLHZvaWQgdGhpcy5fdXBkYXRlUmVuZGVyZXIoMCwtMSkKO2NvbnN0IGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiB0aGlzLl9zZWxlY3Rpb25EYXRhPW51bGwsdm9pZCB0aGlzLl91cGRhdGVSZW5kZXJlcigwLC0xKTtjb25zdHtzdGFydEJhcjpzLGVuZEJhcjpufT10aGlzLl9jYWxjdWxhdGVTdGFydEVuZChpKTtpZihudWxsPT09c3x8bnVsbD09PW58fDA9PT10aGlzLl9pdGVtcy5sZW5ndGgpcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx2b2lkIHRoaXMuX3VwZGF0ZVJlbmRlcmVyKDAsLTEpO2NvbnN0e3N0YXJ0SXRlbUluZGV4Om8sZW5kSXRlbUluZGV4Omx9PXRoaXMuX2NvcnJlY3RWaXNpYmxlSXRlbUluZGV4ZXMoTWF0aC5tYXgoMCwoMCxyLmxvd2VyYm91bmQpKHRoaXMuX2l0ZW1zLHMsKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKSksTWF0aC5taW4odGhpcy5faXRlbXMubGVuZ3RoLCgwLHIudXBwZXJib3VuZCkodGhpcy5faXRlbXMsbiwoKGUsdCk9PmU8dC50aW1lUG9pbnRJbmRleCkpKSk7aWYobz49bClyZXR1cm4gdGhpcy5fc2VsZWN0aW9uRGF0YT1udWxsLHZvaWQgdGhpcy5fdXBkYXRlUmVuZGVyZXIoMCwtMSk7dGhpcy5fY29udmVydEl0ZW1zVG9Db29yZGluYXRlcyh0LGUsbyxsKSx0aGlzLl9jcmVhdGVTZWxlY3Rpb24oZSksdGhpcy5fdXBkYXRlUmVuZGVyZXIobyxsKX1fY29ycmVjdFZpc2libGVJdGVtSW5kZXhlcyhlLHQpe3JldHVybntzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fX1fY29udmVydEl0ZW1zVG9Db29yZGluYXRlcyhlLHQsaSxzKXt0aGlzLl9jb252ZXJ0SXRlbXNUb0Nvb3JkaW5hdGVzSW1wbChlLHQsaSxzKX1fY29udmVydEl0ZW1zVG9Db29yZGluYXRlc0ltcGwoZSx0LGkscyl7ZS5maWxsWUNvb3JkaW5hdGVzKHRoaXMuX2l0ZW1zLHQse3N0YXJ0SXRlbUluZGV4OmksZW5kSXRlbUluZGV4OnN9KSx0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5maWxsQmFyQm9yZGVycyh0aGlzLl9pdGVtcyx7c3RhcnRJdGVtSW5kZXg6aSxlbmRJdGVtSW5kZXg6c30sITApLHRoaXMuX3VwZGF0ZUFkZGl0aW9uYWxQcmljZXMoZSx0KX1fdXBkYXRlQWRkaXRpb25hbFByaWNlcyhlLHQpe31fY3JlYXRlU2VsZWN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKG51bGw9PT10KXJldHVybjtpZih0aGlzLl9zZWxlY3Rpb25EYXRhPXtwb2ludHM6W10sYmdDb2xvcnM6W10sdmlzaWJsZTohMCxoaXR0ZXN0UmVzdWx0OmguSGl0VGFyZ2V0LlJlZ3VsYXIsYmFyU3BhY2luZzp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCl9LCF0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCkmJighdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSl8fHRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSkpcmV0dXJuIHZvaWQgdGhpcy5fc2VsZWN0aW9uSW5kZXhlci5jbGVhcigpO2NvbnN0IGk9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KSkuaGVpZ2h0KCksbj10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpO2Zvcihjb25zdCBzIG9mIHRoaXMuX3NlbGVjdGlvbkluZGV4ZXIuaW5kZXhlcygpKXtjb25zdCBsPXRoaXMuX3N0dWR5LnBsb3RzKCkudmFsdWVBdChzKTtpZigoMCxvLmlzQWJzZW50KShsKSljb250aW51ZTtjb25zdCBhPWxbdGhpcy5fcGxvdEluZGV4KzFdO2lmKCgwLG8uaXNBYnNlbnQpKGEpKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy5fY3JlYXRlU2VsZWN0aW9uRGF0YVBvaW50KHQsTWF0aC5mbG9vcihzK24pLGEsZSk7dGhpcy5fc2VsZWN0aW9uRGF0YS5wb2ludHMucHVzaChyKSx0aGlzLl9zZWxlY3Rpb25EYXRhLmJnQ29sb3JzLnB1c2godGhpcy5fbW9kZWwuYmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3Aoci5wb2ludC55L2kpKX19X2NyZWF0ZVNlbGVjdGlvbkRhdGFQb2ludChlLHQsaSxzKXtjb25zdCBvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKHQpLGw9ZS5wcmljZVRvQ29vcmRpbmF0ZShpLHMpO3JldHVybntwb2ludDooMCxuLnBvaW50KShvLGwpfX19fSw2ODAxMjYoZSx0LGkpe2kuZCh0LHtTdHVkeVByaWNlQXhpc1ZpZXc6KCk9PmF9KTt2YXIgcz1pKDEzODYzOCksbj1pKDcxNjc4KSxvPWkoMTY4MjU4KSxsPWkoODczNTczKTtjbGFzcyBhIGV4dGVuZHMgbi5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9tb2RlbD1lLm1vZGVsKCksdGhpcy5fc291cmNlPWUsdGhpcy5fZGF0YT10LHRoaXMuX2lzRm9yY2VPdmVybGF5PSEhdGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaXNQbG90Rm9yY2VPdmVybGF5KHRoaXMuX2RhdGEucGxvdE5hbWUpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmc3VwZXIudXBkYXRlKGUpfWlzUGxvdEhpZ2hsaWdodGVkKCl7cmV0dXJuISF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpJiYoMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmhpZ2hsaWdodGVkUGxvdEluZm8oKSkucGxvdElkPT09dGhpcy5fZGF0YT8ucGxvdE5hbWV9X3VwZGF0ZVJlbmRlcmVyRGF0YShlLHQsaSl7ZS52aXNpYmxlPSExLHQudmlzaWJsZT0hMTtjb25zdCBuPXRoaXMuX3NvdXJjZS5tb2RlbCgpLG89dGhpcy5faXNGb3JjZU92ZXJsYXk/bi5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PW8pcmV0dXJuO2lmKCFuLmlzUHJpY2VTY2FsZVZpc2libGUobykpcmV0dXJuO2NvbnN0IGE9dGhpcy5fc291cmNlLmxhc3RWYWx1ZURhdGEodGhpcy5fZGF0YS5wbG90TmFtZSwhMSk7aWYoYS5ub0RhdGEpcmV0dXJuO2NvbnN0IHI9bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksZD1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PXJ8fG51bGw9PT1kKXJldHVybjtsZXQgaDtpZihkPD1yLmxhc3RCYXIoKSl7aS5iYWNrZ3JvdW5kPSgwLGwucmVzZXRUcmFuc3BhcmVuY3kpKGEuY29sb3IpLApoPWkuYmFja2dyb3VuZDtsZXQgcz1hLmNvbG9yOyJ0cmFuc3BhcmVudCI9PT1zJiYocz10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kQ29sb3IudmFsdWUoKSksaS50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihzKSxpLmJvcmRlckNvbG9yPXZvaWQgMCxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExfWVsc2V7Y29uc3Qgbz1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGEuY29vcmRpbmF0ZS8oMCxzLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zb3VyY2UpKS5oZWlnaHQoKSk7aS5iYWNrZ3JvdW5kPW8saS50ZXh0Q29sb3I9KDAsbC5yZXNldFRyYW5zcGFyZW5jeSkoYS5jb2xvciksaS5ib3JkZXJDb2xvcj0oMCxsLnJlc2V0VHJhbnNwYXJlbmN5KShpLnRleHRDb2xvciksaD1pLmJvcmRlckNvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9aS5jb29yZGluYXRlPWEuY29vcmRpbmF0ZSx0aGlzLl9zaG93QXhpc0xhYmVsKCkmJihlLnRleHQ9YS50ZXh0LGUudmlzaWJsZT0hMCksZS5zZWxlY3RlZE1hcmtDb2xvcj10aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMuX3NvdXJjZSkmJiF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpfHx0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCk/aDp2b2lkIDAsdGhpcy5fdXBkYXRlUGFuZVJlbmRlcmVyRGF0YSh0KX1fc2hvd1BhbmVMYWJlbCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJuKGUuc2hvd1N0dWR5UGxvdExhYmVscy52YWx1ZSgpfHxlLnNob3dGdW5kYW1lbnRhbE5hbWVMYWJlbC52YWx1ZSgpKSYmdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93TGFiZWxzT25QcmljZVNjYWxlLnZhbHVlKCkmJnRoaXMuX3NvdXJjZS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fZGF0YS5wbG90TmFtZSxvLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUHJpY2VTY2FsZSl9X3Nob3dBeGlzTGFiZWwoKXtjb25zdCBlPXRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybihlLnNob3dTdHVkeUxhc3RWYWx1ZS52YWx1ZSgpfHxlLnNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZS52YWx1ZSgpKSYmdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93TGFiZWxzT25QcmljZVNjYWxlLnZhbHVlKCkmJnRoaXMuX3NvdXJjZS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fZGF0YS5wbG90TmFtZSxvLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUHJpY2VTY2FsZSl9X3VwZGF0ZVBhbmVSZW5kZXJlckRhdGEoZSl7ZS50ZXh0PSIiLHRoaXMuX3Nob3dQYW5lTGFiZWwoKSYmKGUudGV4dD10aGlzLl9zb3VyY2UucHJpY2VMYWJlbFRleHQodGhpcy5fZGF0YS5wbG90TmFtZSksZS52aXNpYmxlPSEwKX19fX1dKTs="}},"time_used":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/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.220Z","timestamp":1785136901220,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fca-602\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:50 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 43830332a37d637ae87f3cf23f0a1bbf\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1538,"size_decoded":1517,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (1538), with no line terminators","md5":"ca16eedb4932efab6658de430f67af2a","sha1":"fce9eb628927ab71953c562e3a65fe13ca72be21","sha256":"14234f0a1c16909a4af2c7348f8265146e98794a1c52017555b2d96561ba5459","sha512":"40ed5707b4aab15ea10be9fe2d32430f9597821ea08af6d9bdfbaa33010702af2e601fdfc65223136d87284c27acb6ee7fdb3f1897206295648d507f3a43b779","ssdeep":"","tlshash":"bb31125030b2245c20ac9bea967b6637860091547645e33cb3ee3cec479de1cbeb167b","first_seen":"2026-06-30T14:35:40.516552Z","last_seen":"2026-07-28T06:17:53.441118Z","times_seen":328,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTk3OV0sezM2MzY1MyhlLHMsbyl7by5kKHMse0hpcDNEaXNjbGFpbWVyOigpPT5hfSk7dmFyIHQ9byg1OTY3MDYpLGw9byg5NTY0MzcpLG49byg5MzA1NjYpO2Z1bmN0aW9uIGkoZSl7bnVsbCE9PWUmJigwLHQuaXNIaXAzU3ltYm9sKShlLnR5cGVzcGVjcykmJihCb29sZWFuKG4uZ2V0Qm9vbCgiaGlwMy5kaXNjbGFpbWVyQWNjZXB0ZWQiKSl8fFByb21pc2UuYWxsKFtvLmUoODcwMDcpLG8uZSg0NjYwKSxvLmUoNDE1MjQpXSkudGhlbihvLmJpbmQobywzMTkwMTEpKS50aGVuKChlPT5lLnNob3dIaXAzRGlzY2xhaW1lckRpYWxvZyh7b25BY2NlcHQ6KCk9Pm4uc2V0VmFsdWUoImhpcDMuZGlzY2xhaW1lckFjY2VwdGVkIiwhMCx7Zm9yY2VGbHVzaDohMH0pfSkpKSl9Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zeW1ib2xJbmZvU3Bhd25zPVtdLHRoaXMuX2F0dGFjaGVkTW9kZWw9bnVsbCx0aGlzLl9vbk1vZGVsQ2hhbmdlZD1lPT57dGhpcy5fZGV0YWNoRnJvbU1vZGVsKCksdGhpcy5fYXR0YWNoZWRNb2RlbD1lLG51bGwhPT1lJiYoZS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3N5bmNTeW1ib2xJbmZvU3Bhd25zKSx0aGlzLl9zeW5jU3ltYm9sSW5mb1NwYXducygpKX0sdGhpcy5fc3luY1N5bWJvbEluZm9TcGF3bnM9KCk9PntpZih0aGlzLl9yZWxlYXNlU3ltYm9sSW5mb1NwYXducygpLG51bGw9PT10aGlzLl9hdHRhY2hlZE1vZGVsKXJldHVybjtjb25zdCBlPXRoaXMuX2F0dGFjaGVkTW9kZWwubW9kZWwoKSxzPW5ldyBTZXQoW2UubWFpblNlcmllcygpLC4uLmUuZGF0YVNvdXJjZXMoKS5maWx0ZXIobC5pc0NvbXBhcmVPck92ZXJsYXlTdHVkeSldKTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCBzPWUuc3ltYm9sSW5mb1dWKCkuc3Bhd25Pd25lcnNoaXAoKTtzLnN1YnNjcmliZShpKSx0aGlzLl9zeW1ib2xJbmZvU3Bhd25zLnB1c2gocyl9fSx0aGlzLl9tb2RlbFdWPWUsdGhpcy5fbW9kZWxXVi5zdWJzY3JpYmUodGhpcy5fb25Nb2RlbENoYW5nZWQse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXt0aGlzLl9tb2RlbFdWLnVuc3Vic2NyaWJlKHRoaXMuX29uTW9kZWxDaGFuZ2VkKSx0aGlzLl9kZXRhY2hGcm9tTW9kZWwoKSx0aGlzLl9tb2RlbFdWLnJlbGVhc2UoKX1fZGV0YWNoRnJvbU1vZGVsKCl7dGhpcy5fYXR0YWNoZWRNb2RlbD8ubW9kZWwoKS5kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3N5bmNTeW1ib2xJbmZvU3Bhd25zKSx0aGlzLl9yZWxlYXNlU3ltYm9sSW5mb1NwYXducygpLHRoaXMuX2F0dGFjaGVkTW9kZWw9bnVsbH1fcmVsZWFzZVN5bWJvbEluZm9TcGF3bnMoKXt0aGlzLl9zeW1ib2xJbmZvU3Bhd25zLmZvckVhY2goKGU9PmUucmVsZWFzZSgpKSksdGhpcy5fc3ltYm9sSW5mb1NwYXducy5sZW5ndGg9MH19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/27665.013fdb6f09fe121705b2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.499Z","timestamp":1785136901499,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/27665.013fdb6f09fe121705b2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 31\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b71-1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0d4e3a75774e0e400333b08d0e11569d\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31,"size_decoded":815,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5960f9a1dbb4c19fb96b687ccea9f9af","sha1":"6688548a8b2b4c11b3d2a792734db981ac274ce2","sha256":"28010cc42c24fcf9bb5ec2914858cb3327e57c2dc3d81b34202960ca693abbf5","sha512":"704e91e72fab49c5a8600f832ccf9cbd9704c260b710bcd5e61484485576a68e55652c5861bed538fe46b5aa5fcc86f34fa5a154592084bcdb7f34ce79d87cc9","ssdeep":"","tlshash":"c08000c080a28ba820c0280a2028c0bc838c002c238a0280cc320830a30c3a022b8008","first_seen":"2026-03-30T12:30:09.597797Z","last_seen":"2026-08-10T05:00:33.841182Z","times_seen":525,"resource_available":false,"data":"Lm1lbnUtVHo4NG9QZVF7bWluLXdpZHRoOjEwMHB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/48652.9487148ca973a8ce4caa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.904Z","timestamp":1785136901904,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/48652.9487148ca973a8ce4caa.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 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-afdb\"\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:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b9e081491359b93ed79ba098a19f8aba\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":45019,"size_decoded":15866,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"84e3cbc8f2cc7d16bc14251dee5f916d","sha1":"4515c758e4180ad4b3e4de054f1010b89337c5d3","sha256":"d71c6cd3abef8e38419d743ed4851ee893ff6bc105108ae88885f8524ac780a9","sha512":"166e2773f21cfcd6f793984bb2321a0513fe16cb22296e7f7a0e81915f6b387f2961404e6b1cad8c8fe209c02411ea7a4c468f0c7216b1327f2fa2ccde80acb8","ssdeep":"768:VHqwOWJaoTqN6riNXBxFRJLTiIjsxIU1azbsYttLhqpTLuvD/XV0xwk3LlEYZZBq:5qwOW0MmiMKCkLctYz3LauFKEP9mC7Oj","tlshash":"af13d68035a1b02887e6409ad07e4546f7792bd1b48a5579f0fcc8ce3e5898df136bbe","first_seen":"2026-07-23T14:00:31.480629Z","last_seen":"2026-07-28T04:48:50.392877Z","times_seen":59,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0ODY1Miw2MTEyNl0sezk3Nzc3KHQpe3QuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDIyOTU0MSh0KXt0LmV4cG9ydHM9e2ludGVyc2VjdGlvblpvbmU6ImludGVyc2VjdGlvblpvbmUtRUlWMl9SZDAiLGludGVyc2VjdGlvbkRldGVjdG9yOiJpbnRlcnNlY3Rpb25EZXRlY3Rvci1FSVYyX1JkMCIsbGVmdDoibGVmdC1FSVYyX1JkMCIscmlnaHQ6InJpZ2h0LUVJVjJfUmQwIn19LDQ3OTU1NSh0KXt0LmV4cG9ydHM9e2Fycm93OiJhcnJvdy1tSkFpMVQwaSIsb3Blbjoib3Blbi1tSkFpMVQwaSIsYWN0aXZlOiJhY3RpdmUtbUpBaTFUMGkiLG5vbkFjdGl2ZToibm9uQWN0aXZlLW1KQWkxVDBpIn19LDk0MDAwMyh0KXt0LmV4cG9ydHM9e3BpbGxJY29uOiJwaWxsSWNvbi1qNU5HMFZWVCIsYWN0aXZlOiJhY3RpdmUtajVORzBWVlQiLG5vbkFjdGl2ZToibm9uQWN0aXZlLWo1TkcwVlZUIn19LDk2MTA4Mih0KXt0LmV4cG9ydHM9e2xheW91dDoibGF5b3V0LXBlSlVTUmRaIixzdHJldGNoOiJzdHJldGNoLXBlSlVTUmRaIixzcGFjZToic3BhY2UtcGVKVVNSZFoiLGVuZFRleHRTbG90OiJlbmRUZXh0U2xvdC1wZUpVU1JkWiIsc3RhcnRUZXh0U2xvdDoic3RhcnRUZXh0U2xvdC1wZUpVU1JkWiJ9fSw2MjY2MzEodCl7dC5leHBvcnRzPXt3cmFwOiJ3cmFwLVBvWGFjRHBYIn19LDE2MzU0NSh0KXt0LmV4cG9ydHM9e3JhZGlvQnV0dG9uVmlldzoicmFkaW9CdXR0b25WaWV3LU9MWFpReHViIixjaGVja2VkOiJjaGVja2VkLU9MWFpReHViIixkaXNhYmxlZDoiZGlzYWJsZWQtT0xYWlF4dWIifX0sMzEyNDModCl7dC5leHBvcnRzPXt0cjoidHItSTdiWmhWZnkiLHRkOiJ0ZC1JN2JaaFZmeSIsYWxpZ25MZWZ0OiJhbGlnbkxlZnQtSTdiWmhWZnkiLGFsaWduQ2VudGVyOiJhbGlnbkNlbnRlci1JN2JaaFZmeSIsY29sb3JJblRoZU1vbmV5OiJjb2xvckluVGhlTW9uZXktSTdiWmhWZnkiLGNlbnRlcjoiY2VudGVyLUk3YlpoVmZ5IixzZWxlY3RlZDoic2VsZWN0ZWQtSTdiWmhWZnkiLG5hdmlnYXRlZDoibmF2aWdhdGVkLUk3YlpoVmZ5IixmbGFzaEhpZ2hsaWdodDoiZmxhc2hIaWdobGlnaHQtSTdiWmhWZnkiLCJmbGFzaEhpZ2hsaWdodC1hbmltYXRpb24iOiJmbGFzaEhpZ2hsaWdodC1hbmltYXRpb24tSTdiWmhWZnkifX0sNTAyMTQ0KHQpe3QuZXhwb3J0cz17c2tlbGV0b25Db250YWluZXI6InNrZWxldG9uQ29udGFpbmVyLWlqUmhFd3VZIixvcHRpb25zQ2hhaW46Im9wdGlvbnNDaGFpbi1palJoRXd1WSIsc2tlbGV0b25SZWN0YW5nbGU6InNrZWxldG9uUmVjdGFuZ2xlLWlqUmhFd3VZIixzZXJpZXNHcm91cENlbGw6InNlcmllc0dyb3VwQ2VsbC1palJoRXd1WSJ9fSw1MzI3MjgodCl7dC5leHBvcnRzPXtjZWxsOiJjZWxsLUF0UllySlBuIixzb3J0QWN0aXZlOiJzb3J0QWN0aXZlLUF0UllySlBuIixzb3J0SWNvbjoic29ydEljb24tQXRSWXJKUG4iLHNvcnREZXNjOiJzb3J0RGVzYy1BdFJZckpQbiJ9fSw1NTIxNTModCl7dC5leHBvcnRzPXtmaXJzdFJvd0hlYWQ6ImZpcnN0Um93SGVhZC1sQ2t1U3RUayIsZmlyc3RSb3dUZXh0OiJmaXJzdFJvd1RleHQtbENrdVN0VGsiLHNlY29uZFJvd0hlYWQ6InNlY29uZFJvd0hlYWQtbENrdVN0VGsiLHRoOiJ0aC1sQ2t1U3RUayIsY2VudHJhbDoiY2VudHJhbC1sQ2t1U3RUayIsYWxpZ25MZWZ0OiJhbGlnbkxlZnQtbENrdVN0VGsiLGFsaWduQ2VudGVyOiJhbGlnbkNlbnRlci1sQ2t1U3RUayIsYWxpZ25SaWdodDoiYWxpZ25SaWdodC1sQ2t1U3RUayJ9fSw2MjQ2OTIodCl7dC5leHBvcnRzPXtyb290OiJyb290LVdNTE55NV93In19LDcwMjcxMCh0KXt0LmV4cG9ydHM9e2NvbnRhaW5lcjoiY29udGFpbmVyLUVmSjlJSFZhIix3cmFwcGVyOiJ3cmFwcGVyLUVmSjlJSFZhIix0YWJsZToidGFibGUtRWZKOUlIVmEiLGZvb3RlckNlbGw6ImZvb3RlckNlbGwtRWZKOUlIVmEifX0sNjI2MDgyKHQpe3QuZXhwb3J0cz17YmxvY2s6ImJsb2NrLXNoS3hzenN4IixlbXB0eVN0YXRlSWNvbjoiZW1wdHlTdGF0ZUljb24tc2hLeHN6c3gifX0sNTI0ODU4KHQpe3QuZXhwb3J0cz17aXRlbToiaXRlbS16Z3RVQkU0VyIsaXRlbUNvbnRlbnQ6Iml0ZW1Db250ZW50LXpndFVCRTRXIixjb3VudGVyOiJjb3VudGVyLXpndFVCRTRXIn19LDg4NjgxMCh0KXt0LmV4cG9ydHM9e3Jvb3Q6InJvb3QteUJLQ2VBTnEiLHNjcm9sbENvbnRhaW5lcjoic2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xIixncm91cDoiZ3JvdXAteUJLQ2VBTnEiLGdyb3VwVGl0bGU6Imdyb3VwVGl0bGUteUJLQ2VBTnEiLGl0ZW1zOiJpdGVtcy15QktDZUFOcSIsaXRlbToiaXRlbS15QktDZUFOcSJ9fSw2MDk4NzYodCl7dC5leHBvcnRzPXtyb290OiJyb290LURyNzM5UnM0IixzY3JvbGxDb250YWluZXI6InNjcm9sbENvbnRhaW5lci1EcjczOVJzNCIsZ3JvdXA6Imdyb3VwLURyNzM5UnM0IixzdWJncm91cDoic3ViZ3JvdXAtRHI3MzlSczQiLGdyb3VwVGl0bGU6Imdyb3VwVGl0bGUtRHI3MzlSczQiLGxlZnRGYWRlOiJsZWZ0RmFkZS1EcjczOVJzNCIscmlnaHRGYWRlOiJyaWdodEZhZGUtRHI3MzlSczQiLG9uZUdyb3VwOiJvbmVHcm91cC1EcjczOVJzNCIsbGVmdEFycm93OiJsZWZ0QXJyb3ctRHI3MzlSczQiLHJpZ2h0QXJyb3c6InJpZ2h0QXJyb3ctRHI3MzlSczQiLGl0ZW1zOiJpdGVtcy1EcjczOVJzNCJ9fSw2MTY2NDModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlVGhlbWU6KCk9Pml9KTt2YXIgcz1yKDEwNjkwMCksbj1yKDIwMDY2Nik7ZnVuY3Rpb24gaSgpe3JldHVybigwLApzLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOm4ud2F0Y2hlZFRoZW1lfSl9fSw1OTA0ODYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7QmFkZ2U6KCk9PmN9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDkxNDQ4NyksaT1yLm4obiksbz1yKDk3Nzc3KSxhPXIubihvKTtmdW5jdGlvbiBsKHtocmVmOnQsb25DbGljazplLHJlZmVyZW5jZTpyLC4uLm59KXtyZXR1cm4gdD9zLmNyZWF0ZUVsZW1lbnQoImEiLHtocmVmOnQsb25DbGljazplLHRhcmdldDoiX2JsYW5rIixyZWY6ciwuLi5ufSk6ZT9zLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse29uQ2xpY2s6ZSxyZWY6ciwuLi5ufSk6cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOnIsLi4ubn0pfWZ1bmN0aW9uIGMoe2NsYXNzTmFtZTp0LHNpemU6ZSxsZWZ0U2xvdDpyLHJpZ2h0U2xvdDpuLGNoaWxkcmVuOm8sLi4uY30pe2NvbnN0IHU9aSgpKHQsYSgpLmJhZGdlLGUmJmEoKVtlXSxvJiZhKCkuaGFzQ2hpbGRyZW4pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQobCx7Y2xhc3NOYW1lOnUsLi4uY30sciYmcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLnNsb3R9LHIpLG8mJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphKCkuY29udGVudH0sbyksbiYmcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLnNsb3R9LG4pKX19LDIzNDYzNih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBzO3IuZChlLHtCYWRnZVNpemU6KCk9PnN9KSxmdW5jdGlvbih0KXt0LlhTbWFsbD0ieHNtYWxsIix0LlNtYWxsPSJzbWFsbCIsdC5NZWRpdW09Im1lZGl1bSIsdC5MYXJnZT0ibGFyZ2UiLHQuWExhcmdlPSJ4bGFyZ2UifShzfHwocz17fSkpfSwyODQ1OCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VJbnRlcnNlY3Rpb25PYnNlcnZlcjooKT0+b30pO3ZhciBzPXIoNzc5NDc0KSxuPXIoMTY3NTAyKSxpPXIoNzg3ODk1KTtmdW5jdGlvbiBvKHQsZT17fSxyPVtdKXtjb25zdCBvPSgwLHMudXNlUmVmKShudWxsKSxhPSgwLHMudXNlUmVmKSh0KTthLmN1cnJlbnQ9dDtjb25zdHtyZWY6bD1udWxsLC4uLmN9PWUsdT0oMCxzLnVzZVJlZikoYyk7KDAsbi5kZWZhdWx0KShlLHUuY3VycmVudCl8fCh1LmN1cnJlbnQ9ZSk7Y29uc3QgaD0oMCxpLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGwpLGQ9KDAscy51c2VDYWxsYmFjaykoKHQ9PntoKHQpLG51bGwhPT1vLmN1cnJlbnQmJihvLmN1cnJlbnQuZGlzY29ubmVjdCgpLG51bGwhPT10JiZvLmN1cnJlbnQub2JzZXJ2ZSh0KSl9KSxbaCxvXSk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+KG8uY3VycmVudD1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKCh0LGUpPT5hLmN1cnJlbnQodCxlKSksey4uLnUuY3VycmVudCxyb290OnUuY3VycmVudD8ucm9vdD8uY3VycmVudH0pLGguY3VycmVudCYmZChoLmN1cnJlbnQpLCgpPT57by5jdXJyZW50Py5kaXNjb25uZWN0KCl9KSksW2gsdS5jdXJyZW50LC4uLnJdKSxkfX0sMTY0MjQyKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse0ludGVyc2VjdGlvblpvbmU6KCk9PmR9KTt2YXIgcyxuPXIoNzc5NDc0KSxpPXIoOTE0NDg3KSxvPXIubihpKSxhPXIoMjg0NTgpLGw9cigyMjk1NDEpLGM9ci5uKGwpOyFmdW5jdGlvbih0KXt0W3QuTGVmdD0tMV09IkxlZnQiLHRbdC5SaWdodD0xXT0iUmlnaHQifShzfHwocz17fSkpO2NvbnN0IHU9MSxoPXtbLTFdOmMoKS5sZWZ0LDE6YygpLnJpZ2h0fTtmdW5jdGlvbiBkKHQpe2NvbnN0e2ludGVyc2VjdGlvbkNiOmUscG9zaXRpb246cixjbGFzc05hbWU6cyxpbnRlcnNlY3Rpb25XaWR0aDppPXUscm9vdDpsLHJvb3RNYXJnaW46ZH09dCxtPSgwLG4udXNlQ2FsbGJhY2spKCh0PT5lKHRbdC5sZW5ndGgtMV0pKSxbXSkscD0oMCxhLnVzZUludGVyc2VjdGlvbk9ic2VydmVyKShtLHtyb290Omwscm9vdE1hcmdpbjpkfSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm8oKShjKCkuaW50ZXJzZWN0aW9uWm9uZSxzKX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOnAsY2xhc3NOYW1lOm8oKShjKCkuaW50ZXJzZWN0aW9uRGV0ZWN0b3IsaFtyXSksc3R5bGU6e3dpZHRoOml9fSkpfX0sNDkxNjQwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse0Fycm93SWNvblBpbGxQYXJ0OigpPT5ofSk7dmFyIHM9cig3Nzk0NzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cigyMTcyNzQpLGE9cig3ODYyNjgpLGw9ci5uKGEpLGM9cig0Nzk1NTUpLHU9ci5uKGMpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLkJsb2NrSWNvbix7Y2xhc3NOYW1lOmkoKSh1KCkuYXJyb3csdC5vcGVuJiZ1KCkub3Blbix0LmFjdGl2ZT91KCkuYWN0aXZlOnUoKS5ub25BY3RpdmUpLGljb246bCgpfSl9fSw2MjY3MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U3ZnSWNvblBpbGxQYXJ0OigpPT5jfSk7dmFyIHM9cig3Nzk0NzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cigyMTcyNzQpLGE9cig5NDAwMDMpLGw9ci5uKGEpO2Z1bmN0aW9uIGModCl7Y29uc3R7aWNvblN2ZzplfT10O3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoby5CbG9ja0ljb24se2NsYXNzTmFtZTppKCkobCgpLnBpbGxJY29uLHQuYWN0aXZlP2woKS5hY3RpdmU6bCgpLm5vbkFjdGl2ZSksaWNvbjplfSl9fSwyMDcyNDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7UGlsbExheW91dFVuaXZlcnNhbDooKT0+Y30pO3ZhciBzLG49cig3Nzk0NzQpLGk9cig5MTQ0ODcpLG89ci5uKGkpLGE9cig5NjEwODIpLGw9ci5uKGEpO2Z1bmN0aW9uIGModCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4hISgodC5zcGFjZUJldHdlZW4/PzApJmUpfXJldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkobCgpLmxheW91dCx0LnN0cmV0Y2gmJmwoKS5zdHJldGNoKX0sdC5zdGFydEljb25TbG90JiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCwiICIsdC5zdGFydEljb25TbG90LCIgIiksZShzLlN0YXJ0KSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlCn0pLHQuc3RhcnRUZXh0U2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnN0YXJ0VGV4dFNsb3R9LHQuc3RhcnRUZXh0U2xvdCksZShzLlN0YXJ0TWlkZGxlKSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlfSksdC5taWRkbGVJY29uU2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsIiAiLHQubWlkZGxlSWNvblNsb3QsIiAiKSxlKHMuTWlkZGxlRW5kKSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlfSksdC5lbmRUZXh0U2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLmVuZFRleHRTbG90fSx0LmVuZFRleHRTbG90KSxlKHMuRW5kKSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlfSksdC5lbmRJY29uU2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsIiAiLHQuZW5kSWNvblNsb3QsIiAiKSl9IWZ1bmN0aW9uKHQpe3RbdC5TdGFydD0xXT0iU3RhcnQiLHRbdC5TdGFydE1pZGRsZT0yXT0iU3RhcnRNaWRkbGUiLHRbdC5NaWRkbGVFbmQ9NF09Ik1pZGRsZUVuZCIsdFt0LkVuZD04XT0iRW5kIn0oc3x8KHM9e30pKX0sNTU3NTM0KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1JhZGlvYnV0dG9uUG9wb3Zlckl0ZW06KCk9Pmx9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDk3MjczNCksaT1yKDc5NTk1Niksbz1yKDYyNjYzMSksYT1yLm4obyk7ZnVuY3Rpb24gbCh0KXtjb25zdHtwb3BvdmVySXRlbVJlZjplLHBvcG92ZXJJdGVtQnV0dG9uUmVmOnIscG9wb3Zlckl0ZW1CdXR0b25JZDpvLHJvbGU6bCx0aXRsZTpjLGRlc2NyaXB0aW9uOnUsY2hlY2tlZDpoLGRpc2FibGVkOmQsb25DbGljazptLGFyaWFDaGVja2VkOnAsdGFiSW5kZXg6ZyxyaWdodFNsb3Q6ZixzaXplOnksZGF0YVFhSWQ6dn09dDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KG4uUG9wb3Zlckl0ZW0se3BvcG92ZXJJdGVtUmVmOmUscG9wb3Zlckl0ZW1CdXR0b25SZWY6cixwb3BvdmVySXRlbUJ1dHRvbklkOm8sYXJpYUNoZWNrZWQ6cCxyb2xlOmwsdGl0bGU6YyxkZXNjcmlwdGlvbjp1LGxlZnRTbG90OnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKS53cmFwfSxzLmNyZWF0ZUVsZW1lbnQoaS5SYWRpb0J1dHRvblZpZXcse2NoZWNrZWQ6aH0pKSxyaWdodFNsb3Q6ZixvbkNsaWNrOm0sdGFiSW5kZXg6ZyxzaXplOnksZGlzYWJsZWQ6ZCxkYXRhUWFJZDp2fSl9fSw3OTU5NTYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7UmFkaW9CdXR0b25WaWV3OigpPT5sfSk7dmFyIHM9cig3Nzk0NzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cigxNjM1NDUpLGE9ci5uKG8pO2Z1bmN0aW9uIGwodCl7Y29uc3R7ZGlzYWJsZWQ6ZSxjaGVja2VkOnJ9PXQ7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoYSgpLnJhZGlvQnV0dG9uVmlldyxlJiZhKCkuZGlzYWJsZWQsciYmYSgpLmNoZWNrZWQpfSl9fSw4Mzg5MDIodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7aXNBc2NpaU9ubHk6KCk9Pm4sbWF0Y2hBbGw6KCk9Pm8scmVnZXhwRXNjYXBlOigpPT5pfSk7Y29uc3Qgcz0vXltcdTAwMDAtXHUwMDdmXSokLztmdW5jdGlvbiBuKHQpe3JldHVybiBzLnRlc3QodCl9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdC5yZXBsYWNlKC9bIS0vWy1eey19P10vZywiXFwkJiIpfWZ1bmN0aW9uIG8odCxlKXtjb25zdCByPVtdO2xldCBzPWUuZXhlYyh0KTtmb3IoO251bGwhPT1zOylyLnB1c2gocykscz1lLmV4ZWModCk7cmV0dXJuIHJ9fSw2MTg4NjQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7QWN0aXZpdHlUcmFja2VyOigpPT5pfSk7Y29uc3Qgcz1bIndoZWVsIiwiY2xpY2siLCJtb3VzZXVwIiwibW91c2Vkb3duIiwibW91c2Vtb3ZlIiwia2V5cHJlc3MiLCJrZXlkb3duIiwia2V5dXAiLCJ0b3VjaGVuZCIsInRvdWNoc3RhcnQiXSxuPVsicmVzaXplIiwiZm9jdXMiLCJibHVyIl07Y2xhc3MgaXtjb25zdHJ1Y3Rvcih0PTFlMyl7dGhpcy5fYWN0aXZpdHlTdGF0ZT17bGFzdEFjdGl2aXR5VGltZTowLHRvdGFsQWN0aXZlVGltZTowfSx0aGlzLl9hbGxFdmVudHNBYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hY3Rpdml0eURlYm91bmNlPXR9c3RhcnRUcmFja2luZygpe3RoaXMuX2FsbEV2ZW50c0Fib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCYmKHRoaXMuX2FsbEV2ZW50c0Fib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyKSx0aGlzLl9yZXNldEFjdGl2aXR5U3RhdGUoKSx0aGlzLl9zdWJzY3JpYmVUb0FsbEV2ZW50cygpfXN0b3BUcmFja2luZygpe3RoaXMuX3Jlc2V0QWN0aXZpdHlTdGF0ZSgpLHRoaXMuX3Vuc3Vic2NyaWJlRnJvbUFsbEV2ZW50cygpfWdldEN1cnJlbnRBY3Rpdml0eVRpbWUoKXtyZXR1cm4gdGhpcy5fYWN0aXZpdHlTdGF0ZS50b3RhbEFjdGl2ZVRpbWV9X2V2ZW50SGFuZGxlcigpe2NvbnN0IHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dGhpcy5fYWN0aXZpdHlTdGF0ZS5sYXN0QWN0aXZpdHlUaW1lK3RoaXMuX2FjdGl2aXR5RGVib3VuY2U8dCYmKHRoaXMuX2FjdGl2aXR5U3RhdGUubGFzdEFjdGl2aXR5VGltZT10LHRoaXMuX2FjdGl2aXR5U3RhdGUudG90YWxBY3RpdmVUaW1lKz0xKX1fc3Vic2NyaWJlVG9BbGxFdmVudHMoKXtzLmZvckVhY2goKHQ9Pntkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsdGhpcy5fZXZlbnRIYW5kbGVyLmJpbmQodGhpcykse3NpZ25hbDp0aGlzLl9hbGxFdmVudHNBYm9ydENvbnRyb2xsZXIuc2lnbmFsLHBhc3NpdmU6ITB9KX0pKSxuLmZvckVhY2goKHQ9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcih0LHRoaXMuX2V2ZW50SGFuZGxlci5iaW5kKHRoaXMpLHtzaWduYWw6dGhpcy5fYWxsRXZlbnRzQWJvcnRDb250cm9sbGVyLnNpZ25hbCxwYXNzaXZlOiEwfSl9KSl9X3Jlc2V0QWN0aXZpdHlTdGF0ZSgpe3RoaXMuX2FjdGl2aXR5U3RhdGUubGFzdEFjdGl2aXR5VGltZT0obmV3IERhdGUpLmdldFRpbWUoKSwKdGhpcy5fYWN0aXZpdHlTdGF0ZS50b3RhbEFjdGl2ZVRpbWU9MH1fdW5zdWJzY3JpYmVGcm9tQWxsRXZlbnRzKCl7dGhpcy5fYWxsRXZlbnRzQWJvcnRDb250cm9sbGVyLmFib3J0KCl9fX0sNjMyMDYwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1NjYW5uZXJVdGlsczooKT0+c30pO2NsYXNzIHN7c3RhdGljIG1hcFNjYW5uZXJTeW1ib2wodCxlKXtjb25zdCByPXtuYW1lOmUuc307Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspclt0W3NdXT1lLmZbc107cmV0dXJuIHJ9c3RhdGljIGlzT3B0aW9uVHlwZSh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJlsiY2FsbCIsInB1dCJdLmluY2x1ZGVzKHQpfXN0YXRpYyBpc0V4cGlyYXRpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0fXN0YXRpYyBpc1Jvb3QodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fXN0YXRpYyBpc1N0cmlrZSh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR9c3RhdGljIHBhcnNlTnVtYmVyKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD90Om51bGx9c3RhdGljIHBhcnNlU3RyaW5nKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD90Om51bGx9c3RhdGljIHBhcnNlVHlwZSh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/dDoidW5kZWZpbmVkIn1zdGF0aWMgcGFyc2VFeHBpcmF0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD90Om51bGx9fX0sMzE1MzIwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse3VzZUtleWJvYXJkTmF2aWdhdGlvbjooKT0+YX0pO3ZhciBzPXIoOTY5MTY4KSxuPXIoMjM1NzI0KSxpPXIoNzc5NDc0KTtjb25zdCBvPXs0MDo0MCwzNzozOSwzOTozNywzODozOCwzNTozNSwzNjozNiwzNDozNCwzMzozM307ZnVuY3Rpb24gYSh0LGUscixhLGMsdSl7Y29uc3RbaCxkXT0oMCxpLnVzZVN0YXRlKSgoKCk9PmwoZSxyLGMpKSksW20scF09ZnVuY3Rpb24odCxlKXtjb25zdFtyLHNdPSgwLGkudXNlU3RhdGUpKCExKSxuPSgwLGkudXNlUmVmKShlKTtyZXR1cm4gbi5jdXJyZW50PWUsKDAsaS51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9dC5jdXJyZW50O2lmKGUpcmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHIpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsaSksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGkpfTtmdW5jdGlvbiByKHQpe3QudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQudGFyZ2V0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikmJihzKCEwKSxuLmN1cnJlbnQoKSl9ZnVuY3Rpb24gaSgpe3MoITEpfX0pLFt0XSksW3Isc119KHQsKCgpPT5oJiZhKGgpKSk7KDAsaS51c2VFZmZlY3QpKCgoKT0+e2QobChlLHIsYykpfSksW2UsY10pO2NvbnN0IGc9KDAsaS51c2VNZW1vKSgoKCk9Pntjb25zdCB0PXt9LGU9W107Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDt0Kyspe2NvbnN0IHM9clt0XSxuPXJbdC0xXT8uZ3JvdXBJZD8/cy5ncm91cElkLGk9clt0KzFdPy5ncm91cElkPz9zLmdyb3VwSWQ7aWYoZS5wdXNoKHtyb3c6W3MuZ3JvdXBJZF0scHJldkdyb3VwOm4sbmV4dEdyb3VwOml9KSwhdT8uW3MuZ3JvdXBJZF0pZm9yKGNvbnN0IHQgb2Ygcy5yb3dzKSh0LmNhbGxJZHx8dC5wdXRJZCkmJigiY2FsbHMiPT09YyYmdC5jYWxsSWQ/ZS5wdXNoKHtyb3c6W3QuY2FsbElkXSxwcmV2R3JvdXA6bixuZXh0R3JvdXA6aX0pOiJwdXRzIj09PWMmJnQucHV0SWQ/ZS5wdXNoKHtyb3c6W3QucHV0SWRdLHByZXZHcm91cDpuLG5leHRHcm91cDppfSk6Y3x8ZS5wdXNoKHtyb3c6W3QuY2FsbElkLHQucHV0SWRdLmZpbHRlcihCb29sZWFuKSxwcmV2R3JvdXA6bixuZXh0R3JvdXA6aX0pKX1mb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKylmb3IobGV0IG49MDtuPGVbc10ucm93Lmxlbmd0aDtuKyspdFtlW3NdLnJvd1tuXV09ezQwOmVbcysxXT8ucm93W25dPz9lW3MrMV0/LnJvd1swXT8/ZVtzXS5yb3dbbl0sMzc6ZVtzXS5yb3dbbi0xXT8/ZVtzXS5yb3dbbl0sMzk6ZVtzXS5yb3dbbisxXT8/ZVtzXS5yb3dbbl0sMzg6ZVtzLTFdPy5yb3dbbl0/P2Vbcy0xXT8ucm93WzBdPz9lW3NdLnJvd1tuXSwzNTpyW3IubGVuZ3RoLTFdLmdyb3VwSWQsMzY6clswXS5ncm91cElkLDM0OmVbc10ubmV4dEdyb3VwLDMzOmVbc10ucHJldkdyb3VwfTtyZXR1cm4gdH0pLFtyLHUsY10pO3JldHVybntoYW5kbGVUYWJsZUtleURvd246KDAsaS51c2VDYWxsYmFjaykoKGU9PntpZihlLmRlZmF1bHRQcmV2ZW50ZWR8fCFofHwhdC5jdXJyZW50KXJldHVybjtjb25zdCByPWdbaF07aWYoIXIpcmV0dXJuO2NvbnN0IGk9KDAsbi5oYXNoRnJvbUV2ZW50KShlKTtzd2l0Y2goaSl7Y2FzZSA0MDpjYXNlIDM3OmNhc2UgMzk6Y2FzZSAzODpjYXNlIDM1OmNhc2UgMzY6Y2FzZSAzNDpjYXNlIDMzOntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1yWygwLHMuaXNSdGwpKCk/b1tpXTppXTtkKHQpLGEodCkscCghMCk7YnJlYWt9Y2FzZSAzMjpjYXNlIDEzOntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgcj10LmN1cnJlbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtY2VsbC1pZD0iJHtofSJdYCk7ciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZyLmNsaWNrKCk7YnJlYWt9fX0pLFtoLGcsYSx0LHBdKSxuYXZpZ2F0ZWRJZDptP2g6bnVsbCx0YWJsZVRhYkluZGV4OjB9fWZ1bmN0aW9uIGwodCxlLHIpe2lmKHQpcmV0dXJuIHQ7Zm9yKGNvbnN0IHQgb2YgZSlmb3IoY29uc3QgZSBvZiB0LnJvd3Mpe2lmKCJwdXRzIiE9PXImJmUuY2FsbElkKXJldHVybiBlLmNhbGxJZDtpZigiY2FsbHMiIT09ciYmZS5wdXRJZClyZXR1cm4gZS5wdXRJZH1yZXR1cm4gbnVsbH19LDQ4ODc4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtPcHRpb25zQ2hhaW5PcHRpb25Sb3c6KCk9Pmx9KTt2YXIgcz1yKDkxNDQ4Nyksbj1yLm4ocyksaT1yKDc3OTQ3NCksbz1yKDcwNjA1MCksYT1yKDMxMjQzKTtjb25zdCBsPWkubWVtbygoZnVuY3Rpb24odCl7CmNvbnN0e2NhbGxDb2xvcjplLGNhbGxOYXZpZ2F0ZWQ6cixjYWxsU2VsZWN0ZWQ6cyxjb2xzRGF0YTpsLHB1dENvbG9yOnUscHV0TmF2aWdhdGVkOmgscHV0U2VsZWN0ZWQ6ZCxyb3dEYXRhOm0sZmxhc2hIaWdobGlnaHQ6cCxvbkNlbGxDbGljazpnfT10LHtzaWRlQ29sczpmLGNlbnRyYWxDb2xzOnksc2lkZUNvbHNEYXRhOnYsY2VudHJhbENvbHNEYXRhOmIsc2hvd09ubHk6X309bCxDPSgwLGkudXNlUmVmKShudWxsKSxFPXQ9PntDLmN1cnJlbnQmJihDLmN1cnJlbnQuZGF0YXNldC5ob3ZlclBhcnQ9dC5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuY2VsbFBhcnQpfSxTPXQ9PntDLmN1cnJlbnQmJmRlbGV0ZSBDLmN1cnJlbnQuZGF0YXNldC5ob3ZlclBhcnR9O3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInRyIix7cmVmOkMsY2xhc3NOYW1lOm4oKShhLnRyLHtbYS5mbGFzaEhpZ2hsaWdodF06cH0pLCJkYXRhLXN0cmlrZSI6bS5zdHJpa2V9LCgwLG8ucmVuZGVyU2hvd09ubHkpKF8se2NlbnRyYWw6KCk9PnkubWFwKCh0PT5jKHtrZXk6dCxhbGlnbjooMCxvLmdldENvbHVtbkRhdGFBbGlnbikoYlt0XS5hbGlnbiwiY2VudHJhbCIsXyksY2hpbGRyZW46bS5jZW50cmFsW3RdLGNvbG9yOiJjZW50ZXIiLGN1c3RvbUNvbnRlbnRSZW5kZXI6Ylt0XS5jdXN0b21Db250ZW50UmVuZGVyLHBhcnQ6ImNlbnRyYWwiLHJvd0lkOm0uc3RyaWtlLnRvU3RyaW5nKCl9KSkpLGNhbGxzOigpPT5mLm1hcCgodD0+Yyh7a2V5OnQsYWxpZ246KDAsby5nZXRDb2x1bW5EYXRhQWxpZ24pKHZbdF0uYWxpZ24sImNhbGwiLF8pLGNlbGxJZDptLmNhbGxJZCxjaGlsZHJlbjptLmNhbGxbdF0sY29sb3I6ZT8/bS5jYWxsUGFydENvbG9yLGN1c3RvbUNvbnRlbnRSZW5kZXI6dlt0XS5jdXN0b21Db250ZW50UmVuZGVyLG5hdmlnYXRlZDpyLG9uQ2xpY2s6Zyxvbk1vdXNlRW50ZXI6RSxvbk1vdXNlTGVhdmU6UyxwYXJ0OiJjYWxsIixyb3dJZDptLnN0cmlrZS50b1N0cmluZygpLHNlbGVjdGVkOnN9KSkpLHB1dHM6KCk9PmYubWFwKCh0PT5jKHtrZXk6dCxhbGlnbjooMCxvLmdldENvbHVtbkRhdGFBbGlnbikodlt0XS5hbGlnbiwicHV0IixfKSxjZWxsSWQ6bS5wdXRJZCxjaGlsZHJlbjptLnB1dFt0XSxjb2xvcjp1Pz9tLnB1dFBhcnRDb2xvcixjdXN0b21Db250ZW50UmVuZGVyOnZbdF0uY3VzdG9tQ29udGVudFJlbmRlcixuYXZpZ2F0ZWQ6aCxvbkNsaWNrOmcsb25Nb3VzZUVudGVyOkUsb25Nb3VzZUxlYXZlOlMscGFydDoicHV0Iixyb3dJZDptLnN0cmlrZS50b1N0cmluZygpLHNlbGVjdGVkOmR9KSkpfSkpfSkpO2Z1bmN0aW9uIGModCl7Y29uc3R7a2V5OmUsY3VzdG9tQ29udGVudFJlbmRlcjpyLG9uQ2xpY2s6cyxvbk1vdXNlRW50ZXI6byxvbk1vdXNlTGVhdmU6bCwuLi5jfT10LHthbGlnbjp1PSJyaWdodCIsY2VsbElkOmgsY2hpbGRyZW46ZCxjb2xvcjptPSJpbi10aGUtbW9uZXkiLG5hdmlnYXRlZDpwLHBhcnQ6Zyxyb3dJZDpmLHNlbGVjdGVkOnl9PWM7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgidGQiLHtrZXk6ZSwiZGF0YS1jZWxsLWlkIjpoLCJkYXRhLWNlbGwtcGFydCI6ZywiZGF0YS1yb3ctaWQiOmYsImRhdGEtc2VsZWN0ZWQiOnk/InRydWUiOnZvaWQgMCxvbkNsaWNrOnMsb25Nb3VzZUVudGVyOm8sb25Nb3VzZUxlYXZlOmwsY2xhc3NOYW1lOm4oKShhLnRkLHtbYS5hbGlnbkxlZnRdOiJsZWZ0Ij09PXUsW2EuYWxpZ25DZW50ZXJdOiJjZW50ZXIiPT09dSxbYS5zZWxlY3RlZF06eSxbYS5uYXZpZ2F0ZWRdOnAsW2EuY29sb3JJblRoZU1vbmV5XToiaW4tdGhlLW1vbmV5Ij09PW0sW2EuY2VudGVyXToiY2VudGVyIj09PW19KX0scj9yKGMpOmQpfX0sOTMxNzU3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse09wdGlvbnNDaGFpblNrZWxldG9uOigpPT5kfSk7dmFyIHM9cig2MTYzMTEpLG49cig0MDE4NjIpLGk9cig5MTQ0ODcpLG89ci5uKGkpLGE9cig3Nzk0NzQpLGw9cigxNDkyMDApLGM9cig0ODg3ODIpLHU9cig3MDYwNTApLGg9cig1MDIxNDQpO2Z1bmN0aW9uIGQodCl7Y29uc3R7Y2VudHJhbENvbHNDb3VudDplPTIsc2lkZUNvbHNDb3VudDpyPTEwLGNsYXNzTmFtZTppLHJvd3NDb3VudDpkPTUwfT10LHtjb2xzRGF0YTptLHJvd3NEYXRhOnAsdG90YWxDb2x1bW5zOmd9PSgwLGEudXNlTWVtbykoKCgpPT5mdW5jdGlvbih7Y2VudHJhbENvbHNDb3VudDp0LHNpZGVDb2xzQ291bnQ6ZSxyb3dzQ291bnQ6cn0pe2NvbnN0IHM9e2FsaWduOiJyaWdodCIsdGl0bGU6YS5jcmVhdGVFbGVtZW50KG4uU2tlbGV0b24uUmVjdGFuZ2xlLHtjbGFzc05hbWU6aC5za2VsZXRvblJlY3RhbmdsZX0pLGN1c3RvbUNvbnRlbnRSZW5kZXI6KCk9PmEuY3JlYXRlRWxlbWVudChuLlNrZWxldG9uLlJlY3RhbmdsZSx7Y2xhc3NOYW1lOmguc2tlbGV0b25SZWN0YW5nbGV9KX0saT1bLi4uQXJyYXkodCkua2V5cygpXS5tYXAoU3RyaW5nKSxvPVsuLi5BcnJheShlKS5rZXlzKCldLm1hcChTdHJpbmcpLGw9e2NlbnRyYWxDb2xzOmksY2VudHJhbENvbHNEYXRhOmkucmVkdWNlKCgodCxlKT0+KHsuLi50LFtlXTpzfSkpLHt9KSxzaWRlQ29sczpvLHNpZGVDb2xzRGF0YTpvLnJlZHVjZSgoKHQsZSk9Pih7Li4udCxbZV06c30pKSx7fSl9LGM9Wy4uLkFycmF5KHIpLmtleXMoKV0ubWFwKCh0PT4oe3R5cGU6Im9wdGlvbiIsc3RyaWtlOjAsdW5kZXJseWluZzoiIixjYWxsOnt9LGNhbGxJZDoiY2FsbCIrdCxwdXQ6e30scHV0SWQ6InB1dCIrdCxjZW50cmFsOnt9fSkpKSxkPSgwLHUuZ2V0VG90YWxDb2x1bW5zKShsKTtyZXR1cm57Y29sc0RhdGE6bCxyb3dzRGF0YTpjLHRvdGFsQ29sdW1uczpkfX0oe2NlbnRyYWxDb2xzQ291bnQ6ZSxzaWRlQ29sc0NvdW50OnIscm93c0NvdW50OmR9KSksW2UsZCxyXSksZj0oMCxhLnVzZVJlZikobnVsbCk7cmV0dXJuKDAscy51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntmLmN1cnJlbnQmJmYuY3VycmVudC5zY3JvbGxUbygoZi5jdXJyZW50LnNjcm9sbFdpZHRoLWYuY3VycmVudC5jbGllbnRXaWR0aCkvMiwwKX0pLFtdKSxhLmNyZWF0ZUVsZW1lbnQobi5Ta2VsZXRvbix7CmNsYXNzTmFtZTpvKCkoaSxoLnNrZWxldG9uQ29udGFpbmVyKX0sYS5jcmVhdGVFbGVtZW50KGwuT3B0aW9uc0NoYWluLHtjbGFzc05hbWU6aC5vcHRpb25zQ2hhaW4sY29sc0RhdGE6bSxzY3JvbGxDb250YWluZXJSZWY6Zn0sYS5jcmVhdGVFbGVtZW50KCJ0Ym9keSIsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoInRyIixudWxsLGEuY3JlYXRlRWxlbWVudCgidGQiLHtjbGFzc05hbWU6aC5zZXJpZXNHcm91cENlbGwsY29sU3BhbjpnfSkpLHAubWFwKCgodCxlKT0+YS5jcmVhdGVFbGVtZW50KGMuT3B0aW9uc0NoYWluT3B0aW9uUm93LHtrZXk6ZSxjb2xzRGF0YTptLHJvd0RhdGE6dH0pKSkpKSl9fSw4MTAwNTkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7T3B0aW9uc0NoYWluU29ydGFibGVDZWxsOigpPT51fSk7dmFyIHM9cigyMTcyNzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cig3Nzk0NzQpLGE9cig1OTk1NDYpLGw9cigzODYyNjEpLGM9cig1MzI3MjgpO2Z1bmN0aW9uIHUodCl7Y29uc3R7Y2hpbGRyZW46ZSxzb3J0QWN0aXZlOnIsc29ydERlc2M6bixvbkNsaWNrOnV9PXQ7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjLmNlbGwse1tjLnNvcnRBY3RpdmVdOnJ9KSxvbkNsaWNrOnV9LG8uY3JlYXRlRWxlbWVudChzLkJsb2NrSWNvbix7Y2xhc3NOYW1lOmkoKShjLnNvcnRJY29uLG4mJmMuc29ydERlc2MpLGljb246cj9hOmx9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6Yy50aXRsZX0sZSkpfX0sMTIzNjMxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse09wdGlvbnNDaGFpbldyYXBwZXI6KCk9PmF9KTt2YXIgcz1yKDkxNDQ4Nyksbj1yLm4ocyksaT1yKDc3OTQ3NCksbz1yKDYyNDY5Mik7ZnVuY3Rpb24gYSh0KXtjb25zdHtjaGlsZHJlbjplLGNsYXNzTmFtZTpyfT10O3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuKCkoby5yb290LHIpfSxlKX19LDE0OTIwMCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtPcHRpb25zQ2hhaW46KCk9Pm19KTt2YXIgcz1yKDkxNDQ4Nyksbj1yLm4ocyksaT1yKDE3NzUpLG89cig3Nzk0NzQpLGE9cigxODUyNzEpLGw9cig3MDYwNTApLGM9cig1NTIxNTMpO2NvbnN0IHU9by5tZW1vKChmdW5jdGlvbih0KXtjb25zdHtjb2xzRGF0YTplLGNvbHNXaWR0aHM6cz17fX09dCx7c2lkZUNvbHM6bixjZW50cmFsQ29sczppLHNpZGVDb2xzRGF0YTp1LGNlbnRyYWxDb2xzRGF0YTpkLHNob3dPbmx5Om19PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgidGhlYWQiLG51bGwsby5jcmVhdGVFbGVtZW50KCJ0ciIse2NsYXNzTmFtZTpjLmZpcnN0Um93SGVhZH0sKDAsbC5yZW5kZXJTaG93T25seSkobSx7Y2VudHJhbDooKT0+by5jcmVhdGVFbGVtZW50KCJ0aCIse2tleToiY2VudHJhbCIsImRhdGEtY29sdW1uIjoiY2VudHJhbCIsY29sU3BhbjppLmxlbmd0aH0pLGNhbGxzOigpPT5uLmxlbmd0aD4wJiZvLmNyZWF0ZUVsZW1lbnQoInRoIix7a2V5OiJjYWxscyIsImRhdGEtY29sdW1uIjoiY2FsbHMiLGNvbFNwYW46bi5sZW5ndGh9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpjLmZpcnN0Um93VGV4dH0sYS50KG51bGwse2NvbnRleHQ6Im9wdGlvbnNfdHlwZSJ9LHIoNzM4NTUpKSkpLHB1dHM6KCk9Pm4ubGVuZ3RoPjAmJm8uY3JlYXRlRWxlbWVudCgidGgiLHtrZXk6InB1dHMiLCJkYXRhLWNvbHVtbiI6InB1dHMiLGNvbFNwYW46bi5sZW5ndGh9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpjLmZpcnN0Um93VGV4dH0sYS50KG51bGwse2NvbnRleHQ6Im9wdGlvbnNfdHlwZSJ9LHIoOTE1Nzg3KSkpKX0pKSxvLmNyZWF0ZUVsZW1lbnQoInRyIix7Y2xhc3NOYW1lOmMuc2Vjb25kUm93SGVhZH0sKDAsbC5yZW5kZXJTaG93T25seSkobSx7Y2VudHJhbDooKT0+aS5tYXAoKHQ9Pm8uY3JlYXRlRWxlbWVudChoLHtrZXk6dCx3aWR0aDpzW3RdLGFsaWduOigwLGwuZ2V0Q29sdW1uRGF0YUFsaWduKShkW3RdLmFsaWduLCJjZW50cmFsIixtKSxzb3J0OmRbdF0uc29ydCx0b29sdGlwOmRbdF0udG9vbHRpcCxjZW50cmFsOiEwfSxkW3RdLnRpdGxlKSkpLGNhbGxzOigpPT5uLm1hcCgodD0+by5jcmVhdGVFbGVtZW50KGgse2tleTp0LHdpZHRoOnNbdF0sYWxpZ246KDAsbC5nZXRDb2x1bW5EYXRhQWxpZ24pKHVbdF0uYWxpZ24sImNhbGwiLG0pLHNvcnQ6dVt0XS5zb3J0LHRvb2x0aXA6dVt0XS50b29sdGlwfSx1W3RdLnRpdGxlKSkpLHB1dHM6KCk9Pm4ubWFwKCh0PT5vLmNyZWF0ZUVsZW1lbnQoaCx7a2V5OnQsd2lkdGg6c1t0XSxhbGlnbjooMCxsLmdldENvbHVtbkRhdGFBbGlnbikodVt0XS5hbGlnbiwicHV0IixtKSxzb3J0OnVbdF0uc29ydCx0b29sdGlwOnVbdF0udG9vbHRpcH0sdVt0XS50aXRsZSkpKX0pKSl9KSk7Y29uc3QgaD1vLm1lbW8oKGZ1bmN0aW9uKHQpe2NvbnN0e3dpZHRoOmUsYWxpZ246cixjZW50cmFsOnMsY2hpbGRyZW46aSxzb3J0OmEsdG9vbHRpcDpsfT10O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoInRoIix7ImFyaWEtc29ydCI6YSx0aXRsZTpsLGNsYXNzTmFtZTpuKCkoYy50aCx7W2MuY2VudHJhbF06cyxbYy5hbGlnbkxlZnRdOiJsZWZ0Ij09PXIsW2MuYWxpZ25DZW50ZXJdOiJjZW50ZXIiPT09cixbYy5hbGlnblJpZ2h0XToicmlnaHQiPT09ciwiYXBwbHktY29tbW9uLXRvb2x0aXAiOmx9KSxzdHlsZTp7Ii0tY29sdW1uLXdpZHRoIjplfX0saSl9KSk7dmFyIGQ9cig3MDI3MTApO2QudGFibGU7Y29uc3QgbT1vLm1lbW8oKGZ1bmN0aW9uKHQpe2NvbnN0e2NoaWxkcmVuOmUsY2xhc3NOYW1lOnIsY29sc0RhdGE6cyxjb2xzV2lkdGhzOmEsc2Nyb2xsQ29udGFpbmVyUmVmOmMsdGFibGVSZWY6aCx0YWJsZVRhYkluZGV4Om0sb25UYWJsZUtleURvd246cH09dCxnPSgwLGwuZ2V0VG90YWxDb2x1bW5zKShzKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuT3ZlcmxheVNjcm9sbFdyYXBwZXIse2NsYXNzTmFtZTpuKCkocixkLmNvbnRhaW5lciksImRhdGEtcWEtaWQiOiJvcHRpb25zLWNoYWluIixzY3JvbGxDb250YWluZXJSZWY6YywKd3JhcHBlckNsYXNzTmFtZTpkLndyYXBwZXJ9LG8uY3JlYXRlRWxlbWVudCgidGFibGUiLHtjbGFzc05hbWU6ZC50YWJsZSxvbktleURvd246cCxyZWY6aCx0YWJJbmRleDptfSxvLmNyZWF0ZUVsZW1lbnQodSx7Y29sc0RhdGE6cyxjb2xzV2lkdGhzOmF9KSxlLG8uY3JlYXRlRWxlbWVudCgidGZvb3QiLG51bGwsby5jcmVhdGVFbGVtZW50KCJ0ciIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoInRkIix7Y29sU3BhbjpnLGNsYXNzTmFtZTpkLmZvb3RlckNlbGx9KSkpKSl9KSl9LDg2NjcxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse3Njcm9sbFRvUm93OigpPT5ufSk7dmFyIHM9cig5NjkxNjgpO2Z1bmN0aW9uIG4odCxlLHI9ImNlbnRlciIpe2lmKCFlKXJldHVybjtjb25zdCBuPWUucXVlcnlTZWxlY3RvcihgdGRbZGF0YS1jZWxsLWlkPSIke3R9Il1gKTtpZighKG4gaW5zdGFuY2VvZiBIVE1MVGFibGVDZWxsRWxlbWVudCkpcmV0dXJuO2NvbnN0IGk9bi5jbG9zZXN0KCJ0ciIpO2lmKCEoaSBpbnN0YW5jZW9mIEhUTUxUYWJsZVJvd0VsZW1lbnQpKXJldHVybjtjb25zdCBvPWUucXVlcnlTZWxlY3RvcigidGhlYWQiKTtpZighKG8gaW5zdGFuY2VvZiBIVE1MVGFibGVTZWN0aW9uRWxlbWVudCkpcmV0dXJuO2NvbnN0IGE9aS5vZmZzZXRUb3AtZS5vZmZzZXRIZWlnaHQvMitpLm9mZnNldEhlaWdodC8yLW8ub2Zmc2V0SGVpZ2h0LzI7ImNlbnRlciI9PT1yP2Uuc2Nyb2xsVG8oKCgwLHMuaXNSdGwpKCk/LTE6MSkqKGUuc2Nyb2xsV2lkdGgtZS5jbGllbnRXaWR0aCkvMixhKToibGVmdCI9PT1yJiZlLnNjcm9sbFRvKDAsYSl9fSw3MDYwNTAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7Y2hhaW5Gb3JtYXROdW1iZXI6KCk9Pm4sY2hhaW5Gb3JtYXRTcHJlYWQ6KCk9PmksZ2V0Q29sdW1uRGF0YUFsaWduOigpPT5sLGdldFRvdGFsQ29sdW1uczooKT0+YSxyZW5kZXJTaG93T25seTooKT0+b30pO3ZhciBzPXIoMjUyODY2KTtmdW5jdGlvbiBuKHQsZSl7aWYobnVsbD09dClyZXR1cm4gcy5FTVBUWV9WQUxVRTtjb25zdCByPWUuZm9ybWF0KHQpO3JldHVybiAwPT09TnVtYmVyKHIpPyIwIjpyfWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gMD09PXQ/cy5FTVBUWV9WQUxVRTpuKHQsZSl9ZnVuY3Rpb24gbyh0LGUpe2lmKCJjYWxscyI9PT10KXJldHVybltlLmNlbnRyYWwoKSxlLmNhbGxzKCldO2lmKCJwdXRzIj09PXQpcmV0dXJuW2UuY2VudHJhbCgpLGUucHV0cygpXTtjb25zdCByPWUuY2FsbHMoKTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKSYmci5yZXZlcnNlKCksW3IsZS5jZW50cmFsKCksZS5wdXRzKCldfWZ1bmN0aW9uIGEodCl7cmV0dXJuKHQuc2hvd09ubHk/MToyKSp0LnNpZGVDb2xzLmxlbmd0aCt0LmNlbnRyYWxDb2xzLmxlbmd0aH1mdW5jdGlvbiBsKHQsZSxyKXtyZXR1cm4ic2lkZS1zdGFydCI9PT10PyJjYWxsIiE9PWV8fHI/ImxlZnQiOiJyaWdodCI6dH19LDM0OTM0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtFbXB0eVN5bWJvbFF1b3RlczooKT0+dX0pO3ZhciBzPXIoOTE0NDg3KSxuPXIubihzKSxpPXIoMTg1MjcxKSxvPXIoNzc5NDc0KSxhPXIoNzY1OTE0KSxsPXIoNjI2MDgyKTtmdW5jdGlvbiBjKHQpe2NvbnN0e2NsYXNzTmFtZTplLHRpdGxlOnIsdGV4dDpzfT10O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYS5FbXB0eVN0YXRlQmxvY2sse2NsYXNzTmFtZTpuKCkoZSxsLmJsb2NrKSxpY29uQ2xhc3M6bC5lbXB0eVN0YXRlSWNvbix0ZXh0OnMsdGl0bGU6cn0pfWZ1bmN0aW9uIHUodCl7Y29uc3R7Y2xhc3NOYW1lOmV9PXQ7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChjLHtjbGFzc05hbWU6ZSx0ZXh0OmkudChudWxsLHZvaWQgMCxyKDk4NDIzNikpLHRpdGxlOmkudChudWxsLHtjb250ZXh0OiJlbXB0eSBzdGF0ZSB0aXRsZSJ9LHIoOTA0NzA0KSl9KX19LDc2NTU5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1BpY2tlclNrZWxldG9uOigpPT5jfSk7dmFyIHM9cig0MDE4NjIpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cig3Nzk0NzQpLGE9cig4ODY4MTApO2NvbnN0IGw9W3trZXk6MSxpdGVtczpbLi4uQXJyYXkoNikua2V5cygpXX0se2tleToyLGl0ZW1zOlsuLi5BcnJheSg4KS5rZXlzKCldfSx7a2V5OjMsaXRlbXM6Wy4uLkFycmF5KDUpLmtleXMoKV19LHtrZXk6NCxpdGVtczpbLi4uQXJyYXkoNCkua2V5cygpXX0se2tleTo1LGl0ZW1zOlsuLi5BcnJheSgzKS5rZXlzKCldfSx7a2V5OjYsaXRlbXM6Wy4uLkFycmF5KDEpLmtleXMoKV19XTtmdW5jdGlvbiBjKHQpe2NvbnN0e2NsYXNzTmFtZTplfT10O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQocy5Ta2VsZXRvbix7Y2xhc3NOYW1lOmkoKShlLGEucm9vdCl9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEuc2Nyb2xsQ29udGFpbmVyfSxsLm1hcCgodD0+by5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YS5ncm91cCxrZXk6dC5rZXl9LG8uY3JlYXRlRWxlbWVudChzLlNrZWxldG9uLlJlY3RhbmdsZSx7Y2xhc3NOYW1lOmEuZ3JvdXBUaXRsZX0pLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEuaXRlbXN9LHQuaXRlbXMubWFwKCh0PT5vLmNyZWF0ZUVsZW1lbnQocy5Ta2VsZXRvbi5SZWN0YW5nbGUse2tleTp0LGNsYXNzTmFtZTphLml0ZW19KSkpKSkpKSkpfX0sMTM2NzUxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1BpY2tlcjooKT0+X30pO3ZhciBzPXIoODU0ODIwKSxuPXIoNjE2MzExKSxpPXIoMjczMzEwKSxvPXIoMTY0MjQyKSxhPXIoOTE0NDg3KSxsPXIubihhKSxjPXIoNzc5NDc0KSx1PXIoMzI5NjY4KSxoPXIoOTY5MTY4KSxkPXIoOTA4MDM0KSxtPXIoMjk1NzQ0KSxwPXIoNzIxOTEwKSxnPXIoMTgyMzA4KSxmPXIoNTI0ODU4KTtmdW5jdGlvbiB5KHQpe2NvbnN0e2Rpc2FibGVkOmUsaXRlbTpyLHNlbGVjdGVkOnMsb25DbGljazpufT10LFtpLG9dPSgwLGcudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKTtyZXR1cm4gci5jdXN0b21Db250ZW50P2MuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmYuaXRlbQp9LHIuY3VzdG9tQ29udGVudCk6Yy5jcmVhdGVFbGVtZW50KG0uU3F1YXJlQnV0dG9uLHsiYXJpYS1zZWxlY3RlZCI6cyxjbGFzc05hbWU6bCgpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsZi5pdGVtKSxjb2xvcjpzPyJibGFjayI6ImdyYXkiLGRpc2FibGVkOmUsb25DbGljazpuLHJlZmVyZW5jZTppLHNpemU6InhzbWFsbCIsdGFiSW5kZXg6byx0aXRsZTpyLnRvb2x0aXB9LGMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpmLml0ZW1Db250ZW50fSxyLnRpdGxlLHIuY291bnQmJmMuY3JlYXRlRWxlbWVudChwLkNvdW50ZXIse2NsYXNzTmFtZTpmLmNvdW50ZXIsY29sb3I6cz8ibmV1dHJhbCI6Im5ldXRyYWwtYm9sZCIsY291bnQ6ci5jb3VudCxzaXplOiJ4c21hbGwifSkpKX12YXIgdj1yKDIzNjE0NiksYj1yKDYwOTg3Nik7Y29uc3QgXz0oMCxjLm1lbW8pKChmdW5jdGlvbih0KXtjb25zdHtjbGFzc05hbWU6ZSxncm91cHM6cixtYXhTZWxlY3RlZEl0ZW1zOmE9NSxtb2RlOmg9Im11bHRpLXNlbGVjdCIsb25DaGFuZ2U6bSxvblJlbW92ZTpwLG9uU2VsZWN0OmcsdmFsdWVzOmY9W10sLi4uX309dCxbRSxTXT0oMCxkLnVzZVJvd3NOYXZpZ2F0aW9uKSgpLFtrLHddPSgwLGMudXNlU3RhdGUpKCExKSxbUixJXT0oMCxjLnVzZVN0YXRlKSghMSksVD0oMCxjLnVzZVJlZikoITApO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57VC5jdXJyZW50PSEwfSksW3JdKSwoMCxuLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKEUuY3VycmVudCYmVC5jdXJyZW50JiZmLmxlbmd0aD4wKXtjb25zdCB0PUUuY3VycmVudC5xdWVyeVNlbGVjdG9yKCdbYXJpYS1zZWxlY3RlZD0idHJ1ZSJdJyk7dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoKDAsdS5iZWNvbWVNYWluRWxlbWVudCkodCksRS5jdXJyZW50LnNjcm9sbFRvKHtsZWZ0OnQub2Zmc2V0TGVmdC1FLmN1cnJlbnQuY2xpZW50V2lkdGgvMit0LmNsaWVudFdpZHRoLzJ9KSksVC5jdXJyZW50PSExfX0pLFtFLGZdKSxjLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoZSxiLnJvb3Qse1tiLnJpZ2h0RmFkZV06UixbYi5sZWZ0RmFkZV06a30pLC4uLl99LGMuY3JlYXRlRWxlbWVudChzLkxpZ2h0QnV0dG9uLHtkYXRhUWFJZDoicGlja2VyLWxlZnQiLGNsYXNzTmFtZTpiLmxlZnRBcnJvdyxzaXplOiJ4c21hbGwiLHZhcmlhbnQ6InNlY29uZGFyeSIsc3RhcnRTbG90OmMuY3JlYXRlRWxlbWVudChpLkljb24se2ljb246dn0pLG9uQ2xpY2s6KCk9PkMoInRvLWxlZnQiLEUuY3VycmVudCksdGFiSW5kZXg6az92b2lkIDA6LTF9KSxjLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpiLnNjcm9sbENvbnRhaW5lcixyZWY6RSxvbktleURvd246U30sYy5jcmVhdGVFbGVtZW50KG8uSW50ZXJzZWN0aW9uWm9uZSx7cG9zaXRpb246LTEsaW50ZXJzZWN0aW9uQ2I6ZnVuY3Rpb24odCl7dyghdC5pc0ludGVyc2VjdGluZyl9fSksci5tYXAoKHQ9PmMuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOiJwaWNrZXItZ3JvdXAiLGtleTp0LmlkLGNsYXNzTmFtZTpsKCkoYi5ncm91cCx7W2Iuc3ViZ3JvdXBdOnQuc3ViZ3JvdXAsW2Iub25lR3JvdXBdOjE9PT1yLmxlbmd0aH0pfSxjLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjoicGlja2VyLWdyb3VwLXRpdGxlIixjbGFzc05hbWU6Yi5ncm91cFRpdGxlfSxjLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsdC50aXRsZSkpLGMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmIuaXRlbXN9LHQuaXRlbXMubWFwKCh0PT5jLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OnQudmFsdWUsZGlzYWJsZWQ6Zi5sZW5ndGg+PWEmJiFmLmluY2x1ZGVzKHQudmFsdWUpLGl0ZW06dCxvbkNsaWNrOmU9PigodCxlKT0+e2lmKGYuaW5jbHVkZXMoZSkpe2lmKGYubGVuZ3RoPD0xKXJldHVybjtwPy4oZSksInNpbmdsZS1zZWxlY3QiPT09aD9tPy4oW10pOiJtdWx0aS1zZWxlY3QiPT09aCYmbT8uKGYuZmlsdGVyKCh0PT5lIT09dCkpKX1lbHNlIGc/LihlKSx0LmN1cnJlbnRUYXJnZXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiJzbW9vdGgiLGlubGluZToibmVhcmVzdCIsYmxvY2s6Im5lYXJlc3QifSksInNpbmdsZS1zZWxlY3QiPT09aD9tPy4oW2VdKToibXVsdGktc2VsZWN0Ij09PWgmJm0/LihbLi4uZixlXSl9KShlLHQudmFsdWUpLHNlbGVjdGVkOmYuaW5jbHVkZXModC52YWx1ZSl9KSkpKSkpKSxjLmNyZWF0ZUVsZW1lbnQoby5JbnRlcnNlY3Rpb25ab25lLHtwb3NpdGlvbjoxLGludGVyc2VjdGlvbkNiOmZ1bmN0aW9uKHQpe0koIXQuaXNJbnRlcnNlY3RpbmcpfX0pKSxjLmNyZWF0ZUVsZW1lbnQocy5MaWdodEJ1dHRvbix7ZGF0YVFhSWQ6InBpY2tlci1yaWdodCIsY2xhc3NOYW1lOmIucmlnaHRBcnJvdyxzaXplOiJ4c21hbGwiLHZhcmlhbnQ6InNlY29uZGFyeSIsc3RhcnRTbG90OmMuY3JlYXRlRWxlbWVudChpLkljb24se2ljb246dn0pLG9uQ2xpY2s6KCk9PkMoInRvLXJpZ2h0IixFLmN1cnJlbnQpLHRhYkluZGV4OlI/dm9pZCAwOi0xfSkpfSkpO2Z1bmN0aW9uIEModCxlKXtpZihudWxsPT09ZSlyZXR1cm47Y29uc3Qgcj0uNDUqZS5jbGllbnRXaWR0aDsidG8tbGVmdCI9PT10P2Uuc2Nyb2xsVG8oe2xlZnQ6KDAsaC5pc1J0bCkoKT9lLnNjcm9sbExlZnQrcjplLnNjcm9sbExlZnQtcixiZWhhdmlvcjoic21vb3RoIn0pOiJ0by1yaWdodCI9PT10JiZlLnNjcm9sbFRvKHtsZWZ0OigwLGguaXNSdGwpKCk/ZS5zY3JvbGxMZWZ0LXI6ZS5zY3JvbGxMZWZ0K3IsYmVoYXZpb3I6InNtb290aCJ9KX19LDU0NjU1OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VBY3Rpdml0eVRpbWVUcmFja2luZzooKT0+b30pO3ZhciBzPXIoNzc5NDc0KSxuPXIoNjE4ODY0KSxpPXIoNjA3MzQ1KTtmdW5jdGlvbiBvKHQpe2NvbnN0IGU9KDAsaS51c2VPcHRpb25zRXZlbnRUcmFja2VyKSgpOygwLHMudXNlRWZmZWN0KSgoKCk9Pntjb25zdCByPW5ldyBBYm9ydENvbnRyb2xsZXIscz1uZXcgbi5BY3Rpdml0eVRyYWNrZXI7cy5zdGFydFRyYWNraW5nKCkKO2NvbnN0IGk9KCk9PntlKHQscy5nZXRDdXJyZW50QWN0aXZpdHlUaW1lKCkudG9TdHJpbmcoKSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKCk9PnsiaGlkZGVuIj09PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT8oaSgpLHMuc3RvcFRyYWNraW5nKCkpOnMuc3RhcnRUcmFja2luZygpfSkse3NpZ25hbDpyLnNpZ25hbH0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+ci5hYm9ydCgpKSx7c2lnbmFsOnIuc2lnbmFsfSksci5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgoKT0+e2koKSxzLnN0b3BUcmFja2luZygpfSkpLCgpPT57ci5hYm9ydCgpfX0pLFt0LGVdKX19LDM3MDY0Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VPcGVuVHJhY2tpbmc6KCk9Pml9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDYwNzM0NSk7ZnVuY3Rpb24gaSh0KXtjb25zdCBlPSgwLG4udXNlT3B0aW9uc0V2ZW50VHJhY2tlcikoKTsoMCxzLnVzZUVmZmVjdCkoKCgpPT57ZSh0KX0pLFt0LGVdKX19LDYwNzM0NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VPcHRpb25zRXZlbnRUcmFja2VyOigpPT5sfSk7dmFyIHM9cig3Nzk0NzQpLG49cigyMjEwNjEpLGk9cigzNjIyMzkpO2NvbnN0IG89KDAsbi5nZXRMb2dnZXIpKCJPcHRpb25zLlRyYWNrT3B0aW9uc0V2ZW50Iik7dmFyIGE9cig0ODAyODQpO2Z1bmN0aW9uIGwoKXtjb25zdCB0PSgwLGEudXNlT3B0aW9uc1NvdXJjZVRyYWNrRXZlbnQpKCk7cmV0dXJuKDAscy51c2VDYWxsYmFjaykoKChlLHIpPT57IWZ1bmN0aW9uKHQsZSxyKXsoMCxpLmdldFRyYWNrZXIpKCkudGhlbigocz0+e251bGwhPT1zJiZzLnRyYWNrT3B0aW9uc0V2ZW50KHtzb3VyY2U6dCxlbGVtZW50X2lkOmUsZGF0YV9pZDpyPz9udWxsfSl9KSkuY2F0Y2goKCgpPT57by5sb2dFcnJvcigiU25vd3Bsb3cgdHJhY2tlciBsb2FkIGVycm9yIil9KSl9KHQsZSxyKX0pLFt0XSl9fSw3OTExNDAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlVFZTZXR0aW5nczooKT0+aX0pO3ZhciBzPXIoNzc5NDc0KSxuPXIoOTMwNTY2KTtmdW5jdGlvbiBpKHQsZSl7Y29uc3Qgcj0oMCxzLnVzZVJlZikoZSk7ci5jdXJyZW50PWU7Y29uc3QgaT0oMCxzLnVzZUNhbGxiYWNrKSgoKCk9PnIuY3VycmVudChuLmdldEpTT04odCkpKSxbdF0pLFtvLGFdPSgwLHMudXNlU3RhdGUpKGkpOygwLHMudXNlRWZmZWN0KSgoKCk9PntmdW5jdGlvbiB0KCl7YShpKCkpfXJldHVybiB3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5zdWJzY3JpYmUobnVsbCx0KSwoKT0+d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmUobnVsbCx0KX0pLFtpXSk7cmV0dXJuW28sKDAscy51c2VDYWxsYmFjaykoKGU9PnthKChyPT57Y29uc3Qgcz1lIGluc3RhbmNlb2YgRnVuY3Rpb24/ZShyKTplO3JldHVybiBuLnNldEpTT04odCxzKSxzfSkpfSksW3RdKV19aS5ib29sZWFuPWZ1bmN0aW9uKHQsZT0hMSl7cmV0dXJuIGkodCwodD0+ImJvb2xlYW4iPT10eXBlb2YgdD90OmUpKX0saS5udW1iZXI9ZnVuY3Rpb24odCxlPTApe3JldHVybiBpKHQsKHQ9PiJudW1iZXIiPT10eXBlb2YgdD90OmUpKX0saS5zdHJpbmc9ZnVuY3Rpb24odCxlPSIiKXtyZXR1cm4gaSh0LCh0PT4ic3RyaW5nIj09dHlwZW9mIHQ/dDplKSl9fSw3MDEyNTkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7Y3JlYXRlU2NhblBhcmFtTWFuYWdlcjooKT0+bn0pO3ZhciBzPXIoMTgwNjY3KTtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9bmV3IHMuU2NhblBhcmFtc01hbmFnZXI7cmV0dXJuIGUuc2V0UGFyYW1zKHQpLGV9fSw4ODQ2MzQodCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztyLmQoZSx7RmlsdGVyT3BlcmF0aW9uOigpPT5zfSksZnVuY3Rpb24odCl7dC5MZXNzPSJsZXNzIix0LkdyZWF0ZXI9ImdyZWF0ZXIiLHQuRXF1YWw9ImVxdWFsIix0Lk5vdEVxdWFsPSJuZXF1YWwiLHQuRXF1YWxPckxlc3M9ImVsZXNzIix0LkVxdWFsT3JHcmVhdGVyPSJlZ3JlYXRlciIsdC5JblJhbmdlPSJpbl9yYW5nZSIsdC5Ob3RJblJhbmdlPSJub3RfaW5fcmFuZ2UiLHQuRW1wdHk9ImVtcHR5Iix0Lk5vdEVtcHR5PSJuZW1wdHkiLHQuQ3Jvc3Nlcz0iY3Jvc3NlcyIsdC5Dcm9zc2VzQWJvdmU9ImNyb3NzZXNfYWJvdmUiLHQuQ3Jvc3Nlc0JlbG93PSJjcm9zc2VzX2JlbG93Iix0Lk1hdGNoPSJtYXRjaCIsdC5Ob3RNYXRjaD0ibm1hdGNoIix0LlNpbXBsZU1hdGNoPSJzbWF0Y2giLHQuSGFzPSJoYXMiLHQuSGFzTm9uZU9mPSJoYXNfbm9uZV9vZiIsdC5BYm92ZVBlcmNlbnQ9ImFib3ZlJSIsdC5CZWxvd1BlcmNlbnQ9ImJlbG93JSIsdC5JblJhbmdlUGVyY2VudD0iaW5fcmFuZ2UlIix0LkluRGF5UmFuZ2U9ImluX2RheV9yYW5nZSIsdC5JbldlZWtSYW5nZT0iaW5fd2Vla19yYW5nZSIsdC5Jbk1vbnRoUmFuZ2U9ImluX21vbnRoX3JhbmdlIix0LkluWWVhclJhbmdlPSJpbl95ZWFyX3JhbmdlIn0oc3x8KHM9e30pKX0sODI3MDI5KHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIHMsbixpO3IuZChlLHtFVV9NQVJLRVRTOigpPT5vLEdsb2JhbE1hcmtldDooKT0+aSxOb25TdG9ja01hcmtldDooKT0+bixTdG9ja01hcmtldDooKT0+c30pLGZ1bmN0aW9uKHQpe3QuQW1lcmljYT0iYW1lcmljYSIsdC5BcmdlbnRpbmE9ImFyZ2VudGluYSIsdC5BdXN0cmFsaWE9ImF1c3RyYWxpYSIsdC5BdXN0cmlhPSJhdXN0cmlhIix0LkJhaHJhaW49ImJhaHJhaW4iLHQuQmFuZ2xhZGVzaD0iYmFuZ2xhZGVzaCIsdC5CZWxnaXVtPSJiZWxnaXVtIix0LkJ1bGdhcmlhPSJidWxnYXJpYSIsdC5CcmF6aWw9ImJyYXppbCIsdC5DYW5hZGE9ImNhbmFkYSIsdC5DaGlsZT0iY2hpbGUiLHQuQ2hpbmE9ImNoaW5hIix0LkNvbG9tYmlhPSJjb2xvbWJpYSIsdC5Dcm9hdGlhPSJjcm9hdGlhIix0LkN5cHJ1cz0iY3lwcnVzIix0LkN6ZWNoPSJjemVjaCIsdC5EZW5tYXJrPSJkZW5tYXJrIix0LkVneXB0PSJlZ3lwdCIsdC5Fc3RvbmlhPSJlc3RvbmlhIix0LkZpbmxhbmQ9ImZpbmxhbmQiLHQuRnJhbmNlPSJmcmFuY2UiLAp0Lkdlcm1hbnk9Imdlcm1hbnkiLHQuR3JlZWNlPSJncmVlY2UiLHQuSG9uZ0tvbmc9Imhvbmdrb25nIix0Lkh1bmdhcnk9Imh1bmdhcnkiLHQuSWNlbGFuZD0iaWNlbGFuZCIsdC5JbmRpYT0iaW5kaWEiLHQuSW5kb25lc2lhPSJpbmRvbmVzaWEiLHQuSXJlbGFuZD0iaXJlbGFuZCIsdC5Jc3JhZWw9ImlzcmFlbCIsdC5JdGFseT0iaXRhbHkiLHQuSmFwYW49ImphcGFuIix0LktlbnlhPSJrZW55YSIsdC5LdXdhaXQ9Imt1d2FpdCIsdC5MYXR2aWE9ImxhdHZpYSIsdC5MaXRodWFuaWE9ImxpdGh1YW5pYSIsdC5MdXhlbWJvdXJnPSJsdXhlbWJvdXJnIix0Lk1hbGF5c2lhPSJtYWxheXNpYSIsdC5NZXhpY289Im1leGljbyIsdC5Nb3JvY2NvPSJtb3JvY2NvIix0Lk5ldGhlcmxhbmRzPSJuZXRoZXJsYW5kcyIsdC5OZXdaZWFsYW5kPSJuZXd6ZWFsYW5kIix0Lk5pZ2VyaWE9Im5pZ2VyaWEiLHQuTm9yd2F5PSJub3J3YXkiLHQuUGFraXN0YW49InBha2lzdGFuIix0LlBlcnU9InBlcnUiLHQuUGhpbGlwcGluZXM9InBoaWxpcHBpbmVzIix0LlBvbGFuZD0icG9sYW5kIix0LlBvcnR1Z2FsPSJwb3J0dWdhbCIsdC5RYXRhcj0icWF0YXIiLHQuUm9tYW5pYT0icm9tYW5pYSIsdC5SdXNzaWE9InJ1c3NpYSIsdC5TYXVkaUFyYWJpYT0ia3NhIix0LlNlcmJpYT0ic2VyYmlhIix0LlNpbmdhcG9yZT0ic2luZ2Fwb3JlIix0LlNsb3Zha2lhPSJzbG92YWtpYSIsdC5TbG92ZW5pYT0ic2xvdmVuaWEiLHQuU291dGhBZnJpY2E9InJzYSIsdC5Tb3V0aEtvcmVhPSJrb3JlYSIsdC5TcGFpbj0ic3BhaW4iLHQuU3JpTGFua2E9InNyaWxhbmthIix0LlN3ZWRlbj0ic3dlZGVuIix0LlN3aXR6ZXJsYW5kPSJzd2l0emVybGFuZCIsdC5UYWl3YW49InRhaXdhbiIsdC5UaGFpbGFuZD0idGhhaWxhbmQiLHQuVHVuaXNpYT0idHVuaXNpYSIsdC5UdXJrZXk9InR1cmtleSIsdC5VQUU9InVhZSIsdC5VSz0idWsiLHQuVmVuZXp1ZWxhPSJ2ZW5lenVlbGEiLHQuVmlldG5hbT0idmlldG5hbSJ9KHN8fChzPXt9KSksZnVuY3Rpb24odCl7dC5Gb3JleD0iZm9yZXgiLHQuQ3J5cHRvPSJjcnlwdG8iLHQuQ29pbj0iY29pbiIsdC5DRkQ9ImNmZCIsdC5Cb25kcz0iYm9uZHMiLHQuQm9uZD0iYm9uZCIsdC5GdXR1cmVzPSJmdXR1cmVzIix0Lk9wdGlvbnM9Im9wdGlvbnMifShufHwobj17fSkpLGZ1bmN0aW9uKHQpe3QuR2xvYmFsPSJnbG9iYWwifShpfHwoaT17fSkpO3MuQmVsZ2l1bSxzLkN5cHJ1cyxzLkRlbm1hcmsscy5Fc3RvbmlhLHMuRmlubGFuZCxzLkZyYW5jZSxzLkdlcm1hbnkscy5HcmVlY2Uscy5IdW5nYXJ5LHMuSWNlbGFuZCxzLkl0YWx5LHMuTGF0dmlhLHMuTGl0aHVhbmlhLHMuTHV4ZW1ib3VyZyxzLk5ldGhlcmxhbmRzLHMuTm9yd2F5LHMuUG9sYW5kLHMuUG9ydHVnYWwscy5Sb21hbmlhLHMuUnVzc2lhLHMuU2VyYmlhLHMuU2xvdmFraWEscy5TcGFpbixzLlN3ZWRlbixzLlN3aXR6ZXJsYW5kLHMuVHVya2V5LHMuVUs7Y29uc3Qgbz1bcy5CZWxnaXVtLHMuQ3lwcnVzLHMuRGVubWFyayxzLkVzdG9uaWEscy5GaW5sYW5kLHMuRnJhbmNlLHMuR2VybWFueSxzLkdyZWVjZSxzLkh1bmdhcnkscy5JdGFseSxzLkxhdHZpYSxzLkxpdGh1YW5pYSxzLkx1eGVtYm91cmcscy5OZXRoZXJsYW5kcyxzLlBvbGFuZCxzLlBvcnR1Z2FsLHMuUm9tYW5pYSxzLlNsb3Zha2lhLHMuU3BhaW4scy5Td2VkZW5dfSw1OTU1MTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7Z2V0U2NhbjJEYXRhOigpPT5kLGdldFNjYW5EYXRhOigpPT5ofSk7dmFyIHM9cigzODQwMTcpLG49cigyMTYwNzkpLGk9cigxNTg3NjMpLG89cigzMjYwNDgpLGE9cigxMzM4NzQpO2NvbnN0IGw9InVzZXIgZG9lcyBub3QgaGF2ZSByaWdodHMgdG8gd2F0Y2hsaXN0IjtjbGFzcyBjIGV4dGVuZHMgYS5FcnJvclJlc3BvbnNle2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMubmFtZT0iV2F0Y2hsaXN0UmlnaHRzRXJyb3IiLHQuZXJyb3I/dGhpcy5tZXNzYWdlPWw6dGhpcy5tZXNzYWdlPSJ1bmtub3duIGVycm9yIn19ZnVuY3Rpb24gdSh0LGUscixhLHUsaD17QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0pe2NvbnN0IGQ9ci5nZXRNYXJrZXRzKCksbT1uZXcgVVJMKCgwLG4uZ2V0QmFja2VuZFVybCkoZCxhKSt0KTt1JiZtLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxhYmVsLXByb2R1Y3QiLHUpO2NvbnN0IHA9SlNPTi5zdHJpbmdpZnkoci5nZXRQYXJhbXMoKSk7cmV0dXJuKDAscy5mZXRjaCkobS50b1N0cmluZygpLHtzaWduYWw6ZSxtZXRob2Q6IlBPU1QiLGJvZHk6cCxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczpofSkudGhlbigodD0+e2lmKDQwMD09PXQuc3RhdHVzKXtjb25zdHtzdGF0dXM6ZSxzdGF0dXNUZXh0OnJ9PXQ7cmV0dXJuIHQuanNvbigpLnRoZW4oKHQ9Pntjb25zdCBzPXQuZXJyb3I7aWYodm9pZCAwIT09KG49cykmJm4uaW5jbHVkZXMobCkpdGhyb3cgbmV3IGMoe3N0YXR1czplLHN0YXR1c1RleHQ6cixlcnJvcjpzfSk7dmFyIG47dGhyb3cgbmV3IG8uQmFkUmVxdWVzdEVycm9yUmVzcG9uc2Uoe3N0YXR1czplLHN0YXR1c1RleHQ6cixlcnJvcjpzfSl9KSl9aWYodC5vaylyZXR1cm4gdC5qc29uKCkudGhlbigodD0+dCkpO3Rocm93IG5ldyBpLkh0dHBFcnJvclJlc3BvbnNlKHQpfSkpfWZ1bmN0aW9uIGgodCxlLHIscyl7cmV0dXJuIHUoInNjYW4iLHQsZSxyLHMpfWZ1bmN0aW9uIGQodCxlLHIscyl7cmV0dXJuIHUoInNjYW4yIix0LGUscixzKX19LDM5MjU3Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtDb2x1bW5zQ29sbGVjdGlvbjooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9jb2x1bW5zPW5ldyBTZXR9c2V0U3RhdGUodCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuY2xlYXIoKSx0LmZvckVhY2godGhpcy5fY29sdW1ucy5hZGQsdGhpcy5fY29sdW1ucyksdGhpc31hZGRDb2x1bW4odCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuYWRkKHQpLHRoaXN9ZGVsZXRlQ29sdW1uKHQpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZSh0KSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2NvbHVtbnNdfXJlc2V0U3RhdGUoKXsKcmV0dXJuIHRoaXMuX2NvbHVtbnMuY2xlYXIoKSx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX2NvbHVtbnMuc2l6ZX19fSwyNDgyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtGaWx0ZXJDb2xsZWN0aW9uOigpPT5zfSk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2ZpbHRlcnM9bmV3IFNldH1pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzLl9maWx0ZXJzLnNpemV9Y2xvbmUoKXtyZXR1cm4obmV3IHMpLnNldFN0YXRlKHRoaXMuZ2V0U3RhdGUoKSl9Z2V0U3RhdGUoKXtyZXR1cm5bLi4udGhpcy5fZmlsdGVyc119c2V0U3RhdGUodCl7cmV0dXJuIHRoaXMuX3Jld3JpdGVGaWx0ZXJTZXQodGhpcy5fZmlsdGVycyx0KSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fZmlsdGVycy5jbGVhcigpLHRoaXN9YWRkQ29uZGl0aW9uKHQpe2NvbnN0IGU9QXJyYXkuaXNBcnJheSh0KT90Olt0XTtmb3IoY29uc3QgdCBvZiBlKXRoaXMuX2ZpbHRlcnMuYWRkKHQpO3JldHVybiB0aGlzfWRlbGV0ZUNvbmRpdGlvbih0KXtyZXR1cm4gdGhpcy5fZmlsdGVycy5kZWxldGUodCksdGhpc31fcmV3cml0ZUZpbHRlclNldCh0LGUpe3QuY2xlYXIoKSxlLmZvckVhY2godC5hZGQsdCl9fX0sODEyNTgzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse0ZpbHRlcjI6KCk9PnN9KTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlsdGVyPXZvaWQgMH1yZXNldEZpbHRlcigpe3JldHVybiB0aGlzLl9maWx0ZXI9dm9pZCAwLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fZmlsdGVyP0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVyKSk6dm9pZCAwfXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9maWx0ZXI9dCx0aGlzfWFkZEZpbHRlcjIodCl7Y29uc3QgZT10aGlzLmdldFN0YXRlKCk7aWYoIWUpcmV0dXJuIHRoaXMuc2V0U3RhdGUoe29wZXJhdG9yOnQub3BlcmF0b3Isb3BlcmFuZHM6dC5vcGVyYW5kc30pLHRoaXM7Y29uc3R7b3BlcmF0b3I6cixvcGVyYW5kczpzfT1lO3JldHVybiB0aGlzLnNldFN0YXRlKHtvcGVyYXRvcjpyLG9wZXJhbmRzOlsuLi5zLC4uLnQub3BlcmFuZHNdfSksdGhpc319fSwyMTgxNDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7T3B0aW9uczooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9vcHRpb25zPXt9fXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9vcHRpb25zPXQsdGhpc31yZXN0cmljdEVvZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zPSJQUkVWX0JBUiIsdGhpc31ub0VvZFJlc3RyaWN0aW9uKCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zLHRoaXN9c2V0TGFuZyh0KXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5sYW5nPXQsdGhpc31yZXNldExhbmcoKXtyZXR1cm4gZGVsZXRlIHRoaXMuX29wdGlvbnMubGFuZyx0aGlzfWdldFN0YXRlKCl7cmV0dXJuey4uLnRoaXMuX29wdGlvbnN9fXJlc2V0T3B0aW9ucygpe3JldHVybiB0aGlzLl9vcHRpb25zPXt9LHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9vcHRpb25zKS5sZW5ndGh9fX0sMTk1MjIzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1NjYW5QcmljZUNvbnZlcnNpb246KCk9PnN9KTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5fcHJpY2VDb252ZXJzaW9uPXt9fXNldFByaWNlQ29udmVyc2lvbih0KXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uPXQsdGhpc31nZXRTdGF0ZSgpe3JldHVybnsuLi52b2lkIDAhPT10aGlzLl9wcmljZUNvbnZlcnNpb24udG9fc3ltYm9sP3t0b19zeW1ib2w6dGhpcy5fcHJpY2VDb252ZXJzaW9uLnRvX3N5bWJvbH06e30sLi4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLnRvX2N1cnJlbmN5P3t0b19jdXJyZW5jeTp0aGlzLl9wcmljZUNvbnZlcnNpb24udG9fY3VycmVuY3l9Ont9LC4uLnZvaWQgMCE9PXRoaXMuX3ByaWNlQ29udmVyc2lvbi5kaXNhYmxlZD97ZGlzYWJsZWQ6dGhpcy5fcHJpY2VDb252ZXJzaW9uLmRpc2FibGVkfTp7fX19cmVzZXQoKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uPXt9LHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9wcmljZUNvbnZlcnNpb24pLmxlbmd0aH19fSw4MjQ1MDIodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7UmFuZ2U6KCk9PnN9KTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5fcmFuZ2U9W119Z2V0U3RhdGUoKXtyZXR1cm5bLi4udGhpcy5fcmFuZ2VdfXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9yYW5nZT10LHRoaXN9cmVzZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9yYW5nZT1bXSx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3JhbmdlLmxlbmd0aH19fSwxODA2NjcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U2NhblBhcmFtc01hbmFnZXI6KCk9Pmh9KTt2YXIgcz1yKDI0ODI2KSxuPXIoMjE4MTQ1KSxpPXIoMTk1MjIzKSxvPXIoNzM4ODEpLGE9cigzOTI1NzMpLGw9cig4MjQ1MDIpLGM9cigzMjMwMjcpLHU9cig4MTI1ODMpO2NsYXNzIGh7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJDb2xsZWN0aW9uPW5ldyBzLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SPW5ldyBzLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fY29sdW1ucz1uZXcgYS5Db2x1bW5zQ29sbGVjdGlvbix0aGlzLl9pZ25vcmVVbmtub3duRmllbGRzPSExLHRoaXMuX29wdGlvbnM9bmV3IG4uT3B0aW9ucyx0aGlzLl9wcmljZUNvbnZlcnNpb249bmV3IGkuU2NhblByaWNlQ29udmVyc2lvbix0aGlzLl9yYW5nZT1uZXcgbC5SYW5nZSx0aGlzLl9zb3J0PW5ldyBjLlNvcnQsdGhpcy5fc3ltYm9scz1uZXcgby5TeW1ib2xzLHRoaXMuX21hcmtldHM9W119Z2V0UGFyYW1zKCl7Y29uc3QgdD10aGlzLmdldEZpbHRlcjIoKSxlPXQ/e2ZpbHRlcjI6dH06dm9pZCAwLHI9dGhpcy5nZXRQcmVzZXQoKSxzPXI/e3ByZXNldDpyfTp2b2lkIDA7cmV0dXJuewpjb2x1bW5zOnRoaXMuaXNDb2x1bW5zRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRDb2x1bW5zKCksZmlsdGVyOnRoaXMuaXNGaWx0ZXJzRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRGaWx0ZXJzKCksZmlsdGVyT1I6dGhpcy5pc0ZpbHRlck9yRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRGaWx0ZXJPUigpLGlnbm9yZV91bmtub3duX2ZpZWxkczp0aGlzLmdldElnbm9yZVVua25vd25GaWVsZHMoKSxvcHRpb25zOnRoaXMuaXNPcHRpb25zRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRPcHRpb25zKCkscHJpY2VfY29udmVyc2lvbjp0aGlzLmlzUHJpY2VDb252ZXJzaW9uc0VtcHR5KCk/dm9pZCAwOnRoaXMuZ2V0UHJpY2VDb252ZXJzaW9uKCkscmFuZ2U6dGhpcy5pc1JhbmdlRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRSYW5nZSgpLHNvcnQ6dGhpcy5pc1NvcnRFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFNvcnQoKSxzeW1ib2xzOnRoaXMuaXNTeW1ib2xzRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRTeW1ib2xzKCksbWFya2V0czp0aGlzLmlzTWFya2V0c0VtcHR5KCk/dm9pZCAwOnRoaXMuZ2V0TWFya2V0cygpLGluZGV4X2ZpbHRlcnM6dGhpcy5nZXRJbmRleEZpbHRlcnMoKSwuLi5zLC4uLmV9fWNsb25lKCl7Y29uc3QgdD1uZXcgaCxlPXRoaXMuZ2V0UGFyYW1zKCk7cmV0dXJuIHQuc2V0UGFyYW1zKGUpLHR9Z2V0RmlsdGVyc0NvbGxlY3Rpb25DbG9uZSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmNsb25lKCl9c2V0UGFyYW1zKHQpe2NvbnN0IGU9e2NvbHVtbnM6KCk9PnRoaXMuc2V0Q29sdW1ucyh0LmNvbHVtbnMpLGZpbHRlcjI6KCk9PnRoaXMuc2V0RmlsdGVyMih0LmZpbHRlcjIpLGZpbHRlcjooKT0+dGhpcy5zZXRGaWx0ZXJzKHQuZmlsdGVyKSxmaWx0ZXJPUjooKT0+dGhpcy5zZXRGaWx0ZXJPUih0LmZpbHRlck9SKSxpZ25vcmVfdW5rbm93bl9maWVsZHM6KCk9PnQuaWdub3JlX3Vua25vd25fZmllbGRzP3RoaXMuaWdub3JlVW5rbm93bkZpZWxkcygpOnRoaXMuZG9Ob3RJZ25vcmVVbmtub3duRmllbGRzKCksbWFya2V0czooKT0+dGhpcy5zZXRNYXJrZXRzKHQubWFya2V0cyksb3B0aW9uczooKT0+dGhpcy5zZXRPcHRpb25zKHQub3B0aW9ucykscHJpY2VfY29udmVyc2lvbjooKT0+dGhpcy5zZXRQcmljZUNvbnZlcnNpb24odC5wcmljZV9jb252ZXJzaW9uKSxyYW5nZTooKT0+dGhpcy5zZXRSYW5nZSh0LnJhbmdlKSxzb3J0OigpPT50aGlzLnNldFNvcnQodC5zb3J0KSxzeW1ib2xzOigpPT50aGlzLnNldFN5bWJvbHModC5zeW1ib2xzKSxwcmVzZXQ6KCk9PnRoaXMuc2V0UHJlc2V0KHQucHJlc2V0KSxpbmRleF9maWx0ZXJzOigpPT50aGlzLnNldEluZGV4RmlsdGVycyh0LmluZGV4X2ZpbHRlcnMpfTtmb3IoY29uc3RbcixzXW9mIE9iamVjdC5lbnRyaWVzKGUpKXQuaGFzT3duUHJvcGVydHkocikmJnZvaWQgMCE9PXRbcl0mJnMoKTtyZXR1cm4gdGhpc31zZXRGaWx0ZXJzKHQpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLnNldFN0YXRlKHQpLHRoaXN9YWRkRmlsdGVyKHQpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmFkZENvbmRpdGlvbih0KSx0aGlzfWdldEZpbHRlcnMoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbi5nZXRTdGF0ZSgpfWRlbGV0ZUZpbHRlcih0KXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbi5kZWxldGVDb25kaXRpb24odCksdGhpc31yZXNldEZpbHRlcnMoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbi5yZXNldFN0YXRlKCksdGhpc31pc0ZpbHRlcnNFbXB0eSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmlzRW1wdHkoKX1zZXRGaWx0ZXJPUih0KXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLnNldFN0YXRlKHQpLHRoaXN9YWRkRmlsdGVyT1IodCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb25PUi5hZGRDb25kaXRpb24odCksdGhpc31nZXRGaWx0ZXJPUigpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuZ2V0U3RhdGUoKX1kZWxldGVGaWx0ZXJPUih0KXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmRlbGV0ZUNvbmRpdGlvbih0KSx0aGlzfXJlc2V0RmlsdGVyT1IoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyT3JFbXB0eSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuaXNFbXB0eSgpfXNldEZpbHRlcjIodCl7cmV0dXJuIHRoaXMuX2ZpbHRlcjJ8fCh0aGlzLl9maWx0ZXIyPW5ldyB1LkZpbHRlcjIpLHRoaXMuX2ZpbHRlcjIuc2V0U3RhdGUodCksdGhpc31hZGRGaWx0ZXIyKHQpe3JldHVybiB0aGlzLl9maWx0ZXIyfHwodGhpcy5fZmlsdGVyMj1uZXcgdS5GaWx0ZXIyKSx0aGlzLl9maWx0ZXIyLmFkZEZpbHRlcjIodCksdGhpc31nZXRGaWx0ZXIyKCl7aWYodGhpcy5fZmlsdGVyMilyZXR1cm4gdGhpcy5fZmlsdGVyMi5nZXRTdGF0ZSgpfXJlc2V0RmlsdGVyMigpe3JldHVybiB0aGlzLl9maWx0ZXIyJiZ0aGlzLl9maWx0ZXIyLnJlc2V0RmlsdGVyKCksdGhpc31nZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZ2V0U3RhdGUoKX1zZXRPcHRpb25zKHQpe3JldHVybiB0aGlzLl9vcHRpb25zLnNldFN0YXRlKHQpLHRoaXN9cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVzZXRPcHRpb25zKCksdGhpc31yZXN0cmljdEVvZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnJlc3RyaWN0RW9kKCksdGhpc31ub0VvZFJlc3RyaWN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubm9Fb2RSZXN0cmljdGlvbigpLHRoaXN9c2V0T3B0aW9uc0xhbmcodCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuc2V0TGFuZyh0KSx0aGlzfXJlc2V0T3B0aW9uc0xhbmcoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5yZXNldExhbmcoKSx0aGlzfWlzT3B0aW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuaXNFbXB0eSgpfWdldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5nZXRTdGF0ZSgpfXNldFN5bWJvbHModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0U3RhdGUodCksdGhpc30KcmVzZXRTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMucmVzZXRTdGF0ZSgpLHRoaXN9c2V0VGlja2Vycyh0KXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRUaWNrZXJzKHQpLHRoaXN9cmVzZXRUaWNrZXJzKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMucmVzZXRUaWNrZXJzKCksdGhpc31zZXRTeW1ib2xzZXQodCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0U3ltYm9sc2V0KHQpLHRoaXN9cmVzZXRTeW1ib2xzZXQoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFN5bWJvbHNldCgpLHRoaXN9c2V0VHlwZXModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0VHlwZXModCksdGhpc31yZXNldFR5cGVzKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMucmVzZXRUeXBlcygpLHRoaXN9c2V0R3JvdXBzKHQpe3JldHVybiB0aGlzLl9zeW1ib2xzLnNldEdyb3Vwcyh0KSx0aGlzfWlzU3ltYm9sc0VtcHR5KCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuaXNFbXB0eSgpfWdldENvbHVtbnMoKXtyZXR1cm4gdGhpcy5fY29sdW1ucy5nZXRTdGF0ZSgpfWFkZENvbHVtbnModCl7Y29uc3QgZT1BcnJheS5pc0FycmF5KHQpP3Q6W3RdO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5fY29sdW1ucy5hZGRDb2x1bW4odCk7cmV0dXJuIHRoaXN9c2V0Q29sdW1ucyh0KXtyZXR1cm4gdGhpcy5fY29sdW1ucy5zZXRTdGF0ZSh0KSx0aGlzfXJlc2V0Q29sdW1ucygpe3JldHVybiB0aGlzLl9jb2x1bW5zLnJlc2V0U3RhdGUoKSx0aGlzfWRlbGV0ZUNvbHVtbih0KXtyZXR1cm4gdGhpcy5fY29sdW1ucy5kZWxldGVDb2x1bW4odCksdGhpc31pc0NvbHVtbnNFbXB0eSgpe3JldHVybiB0aGlzLl9jb2x1bW5zLmlzRW1wdHkoKX1zZXRSYW5nZSh0KXtyZXR1cm4gdGhpcy5fcmFuZ2Uuc2V0U3RhdGUodCksdGhpc31nZXRSYW5nZSgpe3JldHVybiB0aGlzLl9yYW5nZS5nZXRTdGF0ZSgpfXJlc2V0UmFuZ2UoKXtyZXR1cm4gdGhpcy5fcmFuZ2UucmVzZXRTdGF0ZSgpLHRoaXN9aXNSYW5nZUVtcHR5KCl7cmV0dXJuIHRoaXMuX3JhbmdlLmlzRW1wdHkoKX1zZXRTb3J0KHQpe3JldHVybiB0aGlzLl9zb3J0LnNldFN0YXRlKHQpLHRoaXN9Z2V0U29ydCgpe3JldHVybiB0aGlzLl9zb3J0LmdldFN0YXRlKCl9cmVzZXRTb3J0KCl7cmV0dXJuIHRoaXMuX3NvcnQucmVzZXRTdGF0ZSgpLHRoaXN9c29ydEFzYygpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRBc2MoKSx0aGlzfXNvcnREZXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydERlc2MoKSx0aGlzfXNvcnRCeSh0KXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0QnkodCksdGhpc31pc1NvcnRFbXB0eSgpe3JldHVybiB0aGlzLl9zb3J0LmlzRW1wdHkoKX1zZXRQcmljZUNvbnZlcnNpb24odCl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbi5zZXRQcmljZUNvbnZlcnNpb24odCksdGhpc31nZXRQcmljZUNvbnZlcnNpb24oKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uLmdldFN0YXRlKCl9cmVzZXRQcmljZUNvbnZlcnNpb24oKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uLnJlc2V0KCksdGhpc31pc1ByaWNlQ29udmVyc2lvbnNFbXB0eSgpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24uaXNFbXB0eSgpfXNldFByZXNldCh0KXtyZXR1cm4gdGhpcy5fcHJlc2V0PXQsdGhpc31nZXRQcmVzZXQoKXtyZXR1cm4gdGhpcy5fcHJlc2V0fXJlc2V0UHJlc2V0KCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9wcmVzZXQsdGhpc31zZXRJbmRleEZpbHRlcnModCl7cmV0dXJuIHRoaXMuX2luZGV4RmlsdGVycz10LHRoaXN9Z2V0SW5kZXhGaWx0ZXJzKCl7cmV0dXJuIHRoaXMuX2luZGV4RmlsdGVyc31yZXNldEluZGV4RmlsdGVycygpe3JldHVybiBkZWxldGUgdGhpcy5faW5kZXhGaWx0ZXJzLHRoaXN9ZG9Ob3RJZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHM9ITEsdGhpc31pZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHM9ITAsdGhpc31nZXRJZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHN9c2V0TWFya2V0cyh0KXtyZXR1cm4gdGhpcy5fbWFya2V0cz1bLi4udF0sdGhpc31nZXRNYXJrZXRzKCl7cmV0dXJuIHRoaXMuX21hcmtldHN9aXNNYXJrZXRzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX21hcmtldHMubGVuZ3RofWdldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLmdldFN5bWJvbHMoKS53YXRjaGxpc3R9c2V0V2F0Y2hsaXN0KHQpe3JldHVybiB0aGlzLnNldFN5bWJvbHMoey4uLnRoaXMuZ2V0U3ltYm9scygpLHdhdGNobGlzdDp0fSksdGhpc31yZXNldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc31yZXNldFBhcmFtcygpe3JldHVybiB0aGlzLl9maWx0ZXIyPXZvaWQgMCx0aGlzLmRvTm90SWdub3JlVW5rbm93bkZpZWxkcygpLHRoaXMucmVzZXRDb2x1bW5zKCksdGhpcy5yZXNldEZpbHRlcnMoKSx0aGlzLnJlc2V0RmlsdGVyT1IoKSx0aGlzLnJlc2V0T3B0aW9ucygpLHRoaXMucmVzZXRQcmljZUNvbnZlcnNpb24oKSx0aGlzLnJlc2V0UmFuZ2UoKSx0aGlzLnJlc2V0U3ltYm9scygpLHRoaXMucmVzZXRJbmRleEZpbHRlcnMoKSx0aGlzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc319fSwzMjMwMjcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U29ydDooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9zb3J0PXt9fXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9zb3J0PXQsdGhpc31nZXRTdGF0ZSgpe3JldHVybnsuLi50aGlzLl9zb3J0fX1zb3J0QnkodCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEJ5PXQsdGhpcy5fc29ydC5zb3J0T3JkZXJ8fHRoaXMuc29ydERlc2MoKSx0aGlzfXNvcnRBc2MoKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0QnkmJih0aGlzLl9zb3J0LnNvcnRPcmRlcj0iYXNjIiksdGhpc31zb3J0RGVzYygpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeSYmKHRoaXMuX3NvcnQuc29ydE9yZGVyPSJkZXNjIiksdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3NvcnQ9e30sdGhpc30KaXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9zb3J0KS5sZW5ndGh9fX0sNzM4ODEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U3ltYm9sczooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9zeW1ib2xzPXt9fXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9zeW1ib2xzPXQsdGhpc31nZXRTdGF0ZSgpe2NvbnN0IHQ9dGhpcy5fc3ltYm9scy5xdWVyeT97cXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnl9fTp7fSxlPXRoaXMuX3N5bWJvbHMudGlja2Vycz97dGlja2VyczpbLi4udGhpcy5fc3ltYm9scy50aWNrZXJzXX06W10scj10aGlzLl9zeW1ib2xzLmdyb3Vwcz97Z3JvdXBzOnRoaXMuX3N5bWJvbHMuZ3JvdXBzLm1hcCgodD0+KHt0eXBlOnQudHlwZSx2YWx1ZXM6Wy4uLnQudmFsdWVzXX0pKSl9Ont9LHM9dGhpcy5fc3ltYm9scy5zeW1ib2xzZXQ/e3N5bWJvbHNldDpbLi4udGhpcy5fc3ltYm9scy5zeW1ib2xzZXRdfTpbXSxuPXRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0P3t3YXRjaGxpc3Q6e2lkOnRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0LmlkfX06e307cmV0dXJuey4uLnQsLi4uZSwuLi5yLC4uLnMsLi4udm9pZCAwPT09dGhpcy5fc3ltYm9scy5ibGFja19saXN0X3N5bWJvbHM/e306e2JsYWNrX2xpc3Rfc3ltYm9sczp0aGlzLl9zeW1ib2xzLmJsYWNrX2xpc3Rfc3ltYm9sc30sLi4ubn19c2V0VGlja2Vycyh0KXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPXQsdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPVtdLHRoaXN9c2V0VHlwZXModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9ey4uLnRoaXMuX3N5bWJvbHMscXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnksdHlwZXM6dH19LHRoaXN9cmVzZXRUeXBlcygpe3JldHVybiB0aGlzLl9zeW1ib2xzPXsuLi50aGlzLl9zeW1ib2xzLHF1ZXJ5OnsuLi50aGlzLl9zeW1ib2xzLnF1ZXJ5LHR5cGVzOltdfX0sdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9e30sdGhpc31zZXRHcm91cHModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuZ3JvdXBzPXQsdGhpc31yZXNldEdyb3Vwcygpe3JldHVybiBkZWxldGUgdGhpcy5fc3ltYm9scy5ncm91cHMsdGhpc31zZXRTeW1ib2xzZXQodCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc3ltYm9sc2V0PXQsdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnN5bWJvbHNldD1bXSx0aGlzfXJlc2V0V2F0Y2hsaXN0KCl7Y29uc3R7d2F0Y2hsaXN0OnQsLi4uZX09dGhpcy5fc3ltYm9scztyZXR1cm4gdGhpcy5fc3ltYm9scz1lLHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9zeW1ib2xzKS5sZW5ndGh9fX0sMTY4ODI0KHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyh0KXtjb25zdFtlLHIsc109ZnVuY3Rpb24odCl7Y29uc3QgZT10LnRvU3RyaW5nKCk7cmV0dXJuW051bWJlcihlLnNsaWNlKDAsNCkpLE51bWJlcihlLnNsaWNlKDQsNikpLE51bWJlcihlLnNsaWNlKDYpKV19KHQpO3JldHVybiBuZXcgRGF0ZShlLHItMSxzKX1yLmQoZSx7Z2V0RGF0ZUZyb21ZWVlZTU1ERDooKT0+c30pfSw5MDgwMzQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlUm93c05hdmlnYXRpb246KCk9Pmh9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDEzODYzOCksaT1yKDk4MzYxNiksbz1yKDIzNTcyNCksYT1yKDMyOTY2OCksbD1yKDY4MjM4MSksYz1yKDYxNjMxMSk7Y29uc3QgdT1bMzcsMzksMzgsNDBdO2Z1bmN0aW9uIGgodCl7Y29uc3QgZT0oMCxzLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsYy51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxyPSgpPT57Y29uc3Qgcj0oMCxpLnF1ZXJ5VGFiYmFibGVFbGVtZW50cykodCkuc29ydChpLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO2lmKDA9PT1yLmxlbmd0aHx8clswXS5wYXJlbnRFbGVtZW50JiYhcChyWzBdLnBhcmVudEVsZW1lbnQsKDAsbi5lbnN1cmVOb3ROdWxsKShlLmN1cnJlbnQpKSl7Y29uc3Qgcz1mdW5jdGlvbih0KXtjb25zdCByPW0odCkuc29ydChpLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpLHM9ci5maW5kKCh0PT5wKHQsKDAsbi5lbnN1cmVOb3ROdWxsKShlLmN1cnJlbnQpKSkpO2lmKCFzKXJldHVybiBudWxsO2NvbnN0IG89QXJyYXkuZnJvbShzLmNoaWxkcmVuKTtpZighby5sZW5ndGgpcmV0dXJuIG51bGw7cmV0dXJuIG9bMF19KHQpO2lmKG51bGw9PT1zKXJldHVybjtpZigoMCxhLmJlY29tZU1haW5FbGVtZW50KShzKSxyLmxlbmd0aD4wKWZvcihjb25zdCB0IG9mIHIpKDAsYS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KSh0KX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIixyKSxyKCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHIpfSksW10pLFtlLGZ1bmN0aW9uKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3Qgcj0oMCxvLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCF1LmluY2x1ZGVzKHIpKXJldHVybjtjb25zdCBzPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoIShzIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBuPWUuY3VycmVudFRhcmdldDtsZXQgYSxjO2lmKHQpe2NvbnN0IHQ9cy5wYXJlbnRFbGVtZW50O2E9dD9BcnJheS5mcm9tKHQuY2hpbGRyZW4pOltdLGM9YS5pbmRleE9mKHMpfWVsc2UgYT0oaD1uLEFycmF5LmZyb20oaC5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b246bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSknKSkuZmlsdGVyKCgwLGwuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGgpKSkuc29ydChpLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpLGM9YS5pbmRleE9mKHMpO3ZhciBoO2lmKDA9PT1hLmxlbmd0aHx8LTE9PT1jKXJldHVybjtjb25zdCBwPSgwLAppLm1hcEtleUNvZGVUb0RpcmVjdGlvbikocik7c3dpdGNoKHApe2Nhc2UiaW5saW5lUHJldiI6aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCF0JiYwPT09YylicmVhaztnKGQoYSxjLC0xKSk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjppZihlLnByZXZlbnREZWZhdWx0KCksIXQmJmM9PT1hLmxlbmd0aC0xKWJyZWFrO2coZChhLGMsMSkpO2JyZWFrO2Nhc2UiYmxvY2tQcmV2IjpjYXNlImJsb2NrTmV4dCI6KHI9PntpZighZG9jdW1lbnQuYWN0aXZlRWxlbWVudClyZXR1cm47Y29uc3Qgcz1tKG4pLGk9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O2lmKCFpKXJldHVybjtjb25zdCBvPUFycmF5LmZyb20oaS5jaGlsZHJlbikuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtpZigtMT09PW8pcmV0dXJuO2NvbnN0IGE9c1siYmxvY2tOZXh0Ij09PXI/cy5pbmRleE9mKGkpKzE6cy5pbmRleE9mKGkpLTFdO2lmKCFhKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgbD1BcnJheS5mcm9tKGEuY2hpbGRyZW4pO2wubGVuZ3RoJiYoIXQmJm88PWwubGVuZ3RoLTE/ZyhsW29dKTpnKGxbMF0pKX0pKHApfX1dfWZ1bmN0aW9uIGQodCxlLHIpe3JldHVybiB0WyhlK3QubGVuZ3RoK3IpJXQubGVuZ3RoXX1mdW5jdGlvbiBtKHQpe3JldHVybiBBcnJheS5mcm9tKHQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcm9sZT0icm93Il0nKSkuZmlsdGVyKCgwLGwuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKHQpKX1mdW5jdGlvbiBwKHQsZSl7Y29uc3Qgcj0oMCxuLmVuc3VyZU5vdE51bGwpKHQucGFyZW50RWxlbWVudCkub2Zmc2V0VG9wLHM9cisoMCxuLmVuc3VyZU5vdE51bGwpKHQucGFyZW50RWxlbWVudCkuY2xpZW50SGVpZ2h0LGk9ZS5zY3JvbGxUb3Asbz1pK2UuY2xpZW50SGVpZ2h0O3JldHVybiByPj1pJiZzPD1vfWZ1bmN0aW9uIGcodCl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsYS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSwoMCxhLmJlY29tZU1haW5FbGVtZW50KSh0KSx0LmZvY3VzKCl9fSw0MDEwNzgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlU3ltYm9sUXVvdGVzOigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpLG49cigxNTk1MTMpO2Z1bmN0aW9uIGkodCxlPSEwKXtjb25zdFtyLGldPSgwLHMudXNlU3RhdGUpKG51bGw9PT10P3tjb21wbGV0ZWQ6ITAsaW52YWxpZDohMCxxdW90ZXM6bnVsbCxzeW1ib2w6dH06e2NvbXBsZXRlZDohMSxpbnZhbGlkOiExLHF1b3RlczpudWxsLHN5bWJvbDp0fSk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2lmKG51bGw9PT10KXJldHVybiB2b2lkIGkoe2NvbXBsZXRlZDohMCxpbnZhbGlkOiEwLHF1b3RlczpudWxsLHN5bWJvbDp0fSk7aSh7Y29tcGxldGVkOiExLGludmFsaWQ6ITEscXVvdGVzOm51bGwsc3ltYm9sOnR9KTtjb25zdCByPSgwLG4uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJmdWxsIik7bGV0IHM9ITE7Y29uc3Qgbz1yPT57Y29uc3R7dmFsdWVzOnMsY29tcGxldGU6bixzdGF0dXM6b309cjtpKHtpbnZhbGlkOiJlcnJvciI9PT1vLHF1b3Rlczp7Li4uc30sY29tcGxldGVkOnZvaWQgMCE9PW58fCJlcnJvciI9PT1vLHN5bWJvbDp0fSksdm9pZCAwPT09biYmImVycm9yIiE9PW98fCFlfHxhKCl9LGE9KCk9PntzfHwocz0hMCxyLnVuc3Vic2NyaWJlKCJ1c2VTeW1ib2xRdW90ZXMiLHQsbykpfTtyZXR1cm4gci5zdWJzY3JpYmUoInVzZVN5bWJvbFF1b3RlcyIsdCxvKSwoKT0+e2EoKX19KSxbdF0pLHJ9fSw1OTk1NDYodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTkgMTQuNSA0LjUtMy45NC0xLTEuMTItMi43NSAyLjRWNGgtMS41djcuODVMNS40OSA5LjQ0bC0uOTggMS4xMkw5IDE0LjVaIi8+PC9zdmc+J30sMzg2MjYxKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im05LjUgMTQuMTYtLjM0LS4yOC00LTMuNS42Ni0uNzYgMy4xNyAyLjc4VjRIMTB2OC40bDMuMTYtMi43OC42Ni43Ni00IDMuNS0uMzMuMjhoLjAxWiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCXPL.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.524Z","timestamp":1785136905524,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCXPL.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/img/clients-logo-03.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.547Z","timestamp":1785136899547,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/clients-logo-03.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/png\r\nContent-Length: 14568\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":14568,"size_decoded":14779,"mime_type":"image/png","magic":"PNG image data, 280 x 100, 8-bit/color RGBA, non-interlaced","md5":"8a8f38079225ce11ba10b8eae50775ab","sha1":"a2c13028e4e9e3c09af2ffba6d13186305590aee","sha256":"463110f47af141b30ef89a82da810081694ae34b40f6b9fcea044a8d90e85174","sha512":"b7d5717a876972373e1002a9bd5251b7301bcc27f1a99fa8dfbd27b7258ac76619222b53d4407bd775c975cafdbd968c5b4e54d0d9d7dfc90e1a474ed1883697","ssdeep":"384:3VbtTwSIEeChYgAmVRLV1ObcdQO+oYqCiZsUkS:3zTVeCCglVRLV1ObcdHyqCuNP","tlshash":"f262c0fbd42204815af5c1bd14e3da5fb9333a8893e732d030a7b55c1ed961402a9baa","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-08-01T11:22:31.037548Z","times_seen":247,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAARgAAABkCAYAAABdGS+CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNBMkNBNjgyMTEyMTExRUE4Nzc4OUVCQUZCMTg4NDM5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNBMkNBNjgzMTEyMTExRUE4Nzc4OUVCQUZCMTg4NDM5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EyQ0E2ODAxMTIxMTFFQTg3Nzg5RUJBRkIxODg0MzkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6M0EyQ0E2ODExMTIxMTFFQTg3Nzg5RUJBRkIxODg0MzkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Vz2JJAAA1WElEQVR42uyd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"}},"time_used":960,"timings":{"blocked":867,"dns":0,"connect":0,"send":0,"wait":93,"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":"huobiget.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/14889.6210b1c56dc3b20c8ffb.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.362Z","timestamp":1785136901362,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5855\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3713f2226c8894de6d8a5833a6789540\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22613,"size_decoded":9336,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"18f15990d846223cca396c3c761972f1","sha1":"8dede85b8e37373abbd001b14678c4421d37fe66","sha256":"6ebf58b388094ec25d3a4ce00e5bba7428699a6d2ed1cbc9d3d0173cde200293","sha512":"ed8e626b0b1517a097135fc060afb74f6b2ac796367fe82d704bc3ac76c4bc0077eaae8e0310851b25c711abf13380f522a22440b5e027de37de8fbcd5f41878","ssdeep":"384:hH0ZXXyspmgswwUCsoMJRWF3WW/N9MNuV62dv4xCFwUCBxDgQm7ibLeDglZnquTq:RkdmgswwrsJDWF3/N+NuVD14ECBxDgQg","tlshash":"75a2e9997199a12456eb50ee503f0406f33a7905b014ad36f2acccde3aec94cb139bb9","first_seen":"2026-07-23T14:00:31.727085Z","last_seen":"2026-07-28T06:17:53.579611Z","times_seen":122,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNDg4OV0sezQ3MzE1OShlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLW1MRWhDclZ3IixpY29uT25seToiaWNvbk9ubHktbUxFaENyVnciLHdpdGhTdGFydFNsb3Q6IndpdGhTdGFydFNsb3QtbUxFaENyVnciLHdpdGhFbmRTbG90OiJ3aXRoRW5kU2xvdC1tTEVoQ3JWdyIsc3RhcnRTbG90V3JhcDoic3RhcnRTbG90V3JhcC1tTEVoQ3JWdyIsZW5kU2xvdFdyYXA6ImVuZFNsb3RXcmFwLW1MRWhDclZ3Iix4c21hbGw6InhzbWFsbC1tTEVoQ3JWdyIsc21hbGw6InNtYWxsLW1MRWhDclZ3IixtZWRpdW06Im1lZGl1bS1tTEVoQ3JWdyIsbGFyZ2U6ImxhcmdlLW1MRWhDclZ3Iix4bGFyZ2U6InhsYXJnZS1tTEVoQ3JWdyIsY29udGVudDoiY29udGVudC1tTEVoQ3JWdyIsbGluazoibGluay1tTEVoQ3JWdyIsYmx1ZToiYmx1ZS1tTEVoQ3JWdyIscHJpbWFyeToicHJpbWFyeS1tTEVoQ3JWdyIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktbUxFaENyVnciLGdyYXk6ImdyYXktbUxFaENyVnciLGdyZWVuOiJncmVlbi1tTEVoQ3JWdyIscmVkOiJyZWQtbUxFaENyVnciLGJsYWNrOiJibGFjay1tTEVoQ3JWdyIsc2xvdDoic2xvdC1tTEVoQ3JWdyIsc3RyZXRjaDoic3RyZXRjaC1tTEVoQ3JWdyIsZ3JvdXBlZDoiZ3JvdXBlZC1tTEVoQ3JWdyIsYWRqdXN0UG9zaXRpb246ImFkanVzdFBvc2l0aW9uLW1MRWhDclZ3IixmaXJzdFJvdzoiZmlyc3RSb3ctbUxFaENyVnciLGZpcnN0Q29sOiJmaXJzdENvbC1tTEVoQ3JWdyIsIm5vLWNvcm5lci10b3AtbGVmdCI6Im5vLWNvcm5lci10b3AtbGVmdC1tTEVoQ3JWdyIsIm5vLWNvcm5lci10b3AtcmlnaHQiOiJuby1jb3JuZXItdG9wLXJpZ2h0LW1MRWhDclZ3Iiwibm8tY29ybmVyLWJvdHRvbS1yaWdodCI6Im5vLWNvcm5lci1ib3R0b20tcmlnaHQtbUxFaENyVnciLCJuby1jb3JuZXItYm90dG9tLWxlZnQiOiJuby1jb3JuZXItYm90dG9tLWxlZnQtbUxFaENyVnciLHRleHRXcmFwOiJ0ZXh0V3JhcC1tTEVoQ3JWdyIsbXVsdGlsaW5lQ29udGVudDoibXVsdGlsaW5lQ29udGVudC1tTEVoQ3JWdyIscHJpbWFyeVRleHQ6InByaW1hcnlUZXh0LW1MRWhDclZ3IixzZWNvbmRhcnlUZXh0OiJzZWNvbmRhcnlUZXh0LW1MRWhDclZ3In19LDMzMTg4MyhlKXtlLmV4cG9ydHM9e2FjdGlvbkJ1dHRvbjoiYWN0aW9uQnV0dG9uLWs1M3ZleFBhIixzbWFsbDoic21hbGwtazUzdmV4UGEiLGhpZGRlblRpdGxlOiJoaWRkZW5UaXRsZS1rNTN2ZXhQYSJ9fSw4ODgxNTkoZSl7ZS5leHBvcnRzPXtwb3B1cERpYWxvZzoicG9wdXBEaWFsb2ctQjAyVVVVTjMiLHdyYXA6IndyYXAtQjAyVVVVTjMiLG1haW46Im1haW4tQjAyVVVVTjMiLHNtYWxsOiJzbWFsbC1CMDJVVVVOMyIsdGl0bGU6InRpdGxlLUIwMlVVVU4zIixjb250ZW50OiJjb250ZW50LUIwMlVVVU4zIixodG1sOiJodG1sLUIwMlVVVU4zIixmb290ZXI6ImZvb3Rlci1CMDJVVVVOMyIsY2xvc2U6ImNsb3NlLUIwMlVVVU4zIixtYXJnaW5XaXRob3V0Q2xvc2VCdXR0b246Im1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbi1CMDJVVVVOMyJ9fSw2NzQ3NDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7QnV0dG9uOigpPT5ofSk7dmFyIG8scixuLGk9cyg3Nzk0NzQpLGw9cygyOTU3NDQpO2Z1bmN0aW9uIGEoZT0iZGVmYXVsdCIpe3N3aXRjaChlKXtjYXNlImRlZmF1bHQiOnJldHVybiJwcmltYXJ5IjtjYXNlInN0cm9rZSI6cmV0dXJuInNlY29uZGFyeSJ9fWZ1bmN0aW9uIGMoZT0icHJpbWFyeSIpe3N3aXRjaChlKXtjYXNlInByaW1hcnkiOnJldHVybiJicmFuZCI7Y2FzZSJzdWNjZXNzIjpyZXR1cm4iZ3JlZW4iO2Nhc2UiZGVmYXVsdCI6cmV0dXJuImdyYXkiO2Nhc2UiZGFuZ2VyIjpyZXR1cm4icmVkIn19ZnVuY3Rpb24gdShlPSJtIil7c3dpdGNoKGUpe2Nhc2UicyI6cmV0dXJuInhzbWFsbCI7Y2FzZSJtIjpyZXR1cm4ic21hbGwiO2Nhc2UibCI6cmV0dXJuImxhcmdlIn19ZnVuY3Rpb24gbShlKXtjb25zdHtpbnRlbnQ6dCxzaXplOnMsYXBwZWFyYW5jZTpvLHVzZUZ1bGxXaWR0aDpyLGljb246biwuLi5pfT1lO3JldHVybnsuLi5pLGNvbG9yOmModCksc2l6ZTp1KHMpLHZhcmlhbnQ6YShvKSxzdHJldGNoOnJ9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChsLlNxdWFyZUJ1dHRvbix7Li4ubShlKX0pfSFmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLlNtYWxsPSJzIixlLk1lZGl1bT0ibSIsZS5MYXJnZT0ibCJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLlN0cm9rZT0ic3Ryb2tlIn0obnx8KG49e30pKX0sMjQzMjA3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1NxdWFyZUJ1dHRvbkNvbnRlbnQ6KCk9Pm0sZ2V0U3F1YXJlQnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxyPXMoOTE0NDg3KSxuPXMubihyKSxpPXMoNjA1MTQxKSxsPXMoNDczMTU5KSxhPXMubihsKTtjb25zdCBjPSJhcHBseS1vdmVyZmxvdy10b29sdGlwIGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWNoZWNrLWNoaWxkcmVuLXJlY3Vyc2l2ZWx5IGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQgYXBwbHktY29tbW9uLXRvb2x0aXAiO2Z1bmN0aW9uIHUoZSl7Y29uc3R7c2l6ZTp0PSJtZWRpdW0iLHZhcmlhbnQ6cz0icHJpbWFyeSIsY29sb3I6bz0iYnJhbmQiLHN0cmV0Y2g6cj0hMSxzdGFydFNsb3Q6bCxlbmRTbG90OnUsaWNvbk9ubHk6bT0hMSxjbGFzc05hbWU6aCxpc0dyb3VwZWQ6ZCxjZWxsU3RhdGU6cCxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50Onk9ITEscHJpbWFyeVRleHQ6ZixzZWNvbmRhcnlUZXh0Ol8saXNBbmNob3I6Uz0hMX09ZSxnPSJicmFuZCI9PT1vPyJibGFjayI6byxiPWZ1bmN0aW9uKGUpe2xldCB0PSIiCjtyZXR1cm4gMCE9PWUmJigxJmUmJih0PW4oKSh0LGEoKVsibm8tY29ybmVyLXRvcC1sZWZ0Il0pKSwyJmUmJih0PW4oKSh0LGEoKVsibm8tY29ybmVyLXRvcC1yaWdodCJdKSksNCZlJiYodD1uKCkodCxhKClbIm5vLWNvcm5lci1ib3R0b20tcmlnaHQiXSkpLDgmZSYmKHQ9bigpKHQsYSgpWyJuby1jb3JuZXItYm90dG9tLWxlZnQiXSkpKSx0fSgoMCxpLmdldEdyb3VwQ2VsbFJlbW92ZVJvdW5kQm9yZGVycykocCkpLEM9bSYmKGx8fHUpO3JldHVybiBuKCkoaCxhKCkuYnV0dG9uLGEoKVt0XSxhKClbZ10sYSgpW3NdLHImJmEoKS5zdHJldGNoLGwmJmEoKS53aXRoU3RhcnRJY29uLHUmJmEoKS53aXRoRW5kSWNvbixDJiZhKCkuaWNvbk9ubHksYixkJiZhKCkuZ3JvdXBlZCxkJiYheSYmYSgpLmFkanVzdFBvc2l0aW9uLGQmJnAuaXNUb3AmJmEoKS5maXJzdFJvdyxkJiZwLmlzTGVmdCYmYSgpLmZpcnN0Q29sLGYmJl8mJmEoKS5tdWx0aWxpbmVDb250ZW50LFMmJmEoKS5saW5rLGMpfWZ1bmN0aW9uIG0oZSl7Y29uc3R7c3RhcnRTbG90OnQsaWNvbk9ubHk6cyxjaGlsZHJlbjpyLGVuZFNsb3Q6aSxwcmltYXJ5VGV4dDpsLHNlY29uZGFyeVRleHQ6dX09ZTtpZih0JiZpJiZzKXJldHVybiBvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bigpKGEoKS5zbG90LGEoKS5zdGFydFNsb3RXcmFwKX0sdCk7Y29uc3QgbT1zJiYodD8/aSksaD0hdCYmIWkmJiFzJiYhciYmbCYmdTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCx0JiZvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bigpKGEoKS5zbG90LGEoKS5zdGFydFNsb3RXcmFwKX0sdCksciYmIW0mJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphKCkuY29udGVudH0sciksaSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShhKCkuc2xvdCxhKCkuZW5kU2xvdFdyYXApfSxpKSxoJiYhbSYmZnVuY3Rpb24oZSl7cmV0dXJuIGUucHJpbWFyeVRleHQmJmUuc2Vjb25kYXJ5VGV4dCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKGEoKS50ZXh0V3JhcCxjKX0sby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKS5wcmltYXJ5VGV4dH0sIiAiLGUucHJpbWFyeVRleHQsIiAiKSwic3RyaW5nIj09dHlwZW9mIGUuc2Vjb25kYXJ5VGV4dD9vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpLnNlY29uZGFyeVRleHR9LCIgIixlLnNlY29uZGFyeVRleHQsIiAiKTpvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpLnNlY29uZGFyeVRleHR9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxlLnNlY29uZGFyeVRleHQuZmlyc3RMaW5lKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsZS5zZWNvbmRhcnlUZXh0LnNlY29uZExpbmUpKSl9KGUpKX19LDI5NTc0NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTcXVhcmVCdXR0b246KCk9PnV9KTt2YXIgbz1zKDc3OTQ3NCkscj1zKDc3MDE0Myksbj1zKDUzMjAxMSksaT1zKDM0NTExNik7ZnVuY3Rpb24gbChlLHQpe3JldHVybiBzPT57aWYodClyZXR1cm4gcy5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgcy5zdG9wUHJvcGFnYXRpb24oKTtlPy4ocyl9fXZhciBhPXMoMjQzMjA3KTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNvbG9yOnMsdmFyaWFudDpvLHNpemU6cixzdHJldGNoOm4saWNvbk9ubHk6bCxzdGFydFNsb3Q6YSxlbmRTbG90OmMscHJpbWFyeVRleHQ6dSxzZWNvbmRhcnlUZXh0Om0sLi4uaH09ZTtyZXR1cm57Li4uaCwuLi4oMCxpLmZpbHRlckRhdGFQcm9wcykoZSksLi4uKDAsaS5maWx0ZXJBcmlhUHJvcHMpKGUpfX1mdW5jdGlvbiB1KGUpe2NvbnN0e3JlZmVyZW5jZTp0LHRvb2x0aXBUZXh0OnMsZGlzYWJsZWQ6aSxvbkNsaWNrOnUsb25Nb3VzZU92ZXI6bSxvbk1vdXNlT3V0Omgsb25Nb3VzZURvd246ZCxvbk1vdXNlRW50ZXI6cCxhcmlhRGlzYWJsZWQ6eSwuLi5mfT1lLHtpc0dyb3VwZWQ6XyxjZWxsU3RhdGU6UyxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50Omd9PSgwLG8udXNlQ29udGV4dCkobi5Db250cm9sR3JvdXBDb250ZXh0KSxiPSgwLGEuZ2V0U3F1YXJlQnV0dG9uQ2xhc3Nlcykoey4uLmYsaXNHcm91cGVkOl8sY2VsbFN0YXRlOlMsZGlzYWJsZVBvc2l0aW9uQWRqdXN0bWVudDpnfSksQz1zPz8oZS5wcmltYXJ5VGV4dD9bZS5wcmltYXJ5VGV4dCxlLnNlY29uZGFyeVRleHRdLmpvaW4oIiAiKTooMCxyLmdldFRleHRGb3JUb29sdGlwKShlLmNoaWxkcmVuKSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Li4uYyhmKSwiYXJpYS1kaXNhYmxlZCI6aXx8eSx0YWJJbmRleDplLnRhYkluZGV4Pz8oaT8tMTowKSxjbGFzc05hbWU6YixyZWY6dCxvbkNsaWNrOmwodSxpKSxvbk1vdXNlRG93bjpsKGQsaSksb25Nb3VzZU92ZXI6bChtLGkpLG9uTW91c2VPdXQ6bChoLGkpLG9uTW91c2VFbnRlcjpsKHAsaSksImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC10ZXh0IjpDfSxvLmNyZWF0ZUVsZW1lbnQoYS5TcXVhcmVCdXR0b25Db250ZW50LHsuLi5mfSkpfX0sNjA1MTQxKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtsZXQgdD0wO3JldHVybiBlLmlzVG9wJiZlLmlzTGVmdHx8KHQrPTEpLGUuaXNUb3AmJmUuaXNSaWdodHx8KHQrPTIpLGUuaXNCb3R0b20mJmUuaXNMZWZ0fHwodCs9OCksZS5pc0JvdHRvbSYmZS5pc1JpZ2h0fHwodCs9NCksdH1zLmQodCx7Z2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzOigpPT5vfSl9LDk3MTY1OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt1c2VJc01vdW50ZWQ6KCk9PnJ9KTt2YXIgbz1zKDc3OTQ3NCk7Y29uc3Qgcj0oKT0+e2NvbnN0IGU9KDAsby51c2VSZWYpKCExKTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT4oZS5jdXJyZW50PSEwLCgpPT57ZS5jdXJyZW50PSExfSkpLFtdKSxlfX0sMTQ3OTAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1VJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWDooKT0+aSxjb25jYXRJZk5vdE51bGw6KCk9Pm4sZGF0YVFhSWRzOigpPT5yfSkKO3ZhciBvPXMoNTY1NzQ1KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuW2UsdF0uZmlsdGVyKG8uaXNFeGlzdGVudCkuam9pbigiICIpfWZ1bmN0aW9uIG4oZSx0KXtpZigoMCxvLmlzRXhpc3RlbnQpKHQpKXJldHVybltlLHRdLmpvaW4oIiAiKX1jb25zdCBpPSJ1aS1saWItIn0sNTY1NzQ1KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbCE9ZX1zLmQodCx7aXNFeGlzdGVudDooKT0+b30pfSw5NjIwODEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y29tbW9uUmVuYW1lU2VwYXJhdG9yOigpPT5pfSk7dmFyIG89cygzODQwMTcpLHI9cyg1ODA1MjYpLG49cygzMDQzOTkpO2FzeW5jIGZ1bmN0aW9uIGkoZSx0LHMsaSl7Y29uc3R7b2xkU2VwYXJhdG9yOmwsbmV3U2VwYXJhdG9yOmF9PSgwLHIucmVtb3RlUmVuYW1lU2VwYXJhdG9ycykoZSxzLGkpLGM9YXdhaXQoMCxvLmZldGNoKSgoMCxuLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0LyR7dH0vJHtlfS9yZXBsYWNlX3N5bWJvbC9gKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHtvbGQ6bCxuZXc6YX0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSk7aWYoIWMub2spe2NvbnN0e2RldGFpbDplfT1hd2FpdCBjLmpzb24oKTt0aHJvdyBFcnJvcihlKX1yZXR1cm4oMCxuLmhhbmRsZUpTT04pKGMpfX0sNjkzMjE2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldEV4dHJhSG91cnNDaGFuZ2VQZXJjZW50OigpPT5uLGlzRXh0cmFIb3Vyc1Nlc3Npb246KCk9PnJ9KTtjb25zdCBvPVsicHJlX21hcmtldCIsInBvc3RfbWFya2V0IiwibmlnaHQiXTtmdW5jdGlvbiByKGUpe3JldHVybiBCb29sZWFuKGUmJm8uaW5jbHVkZXMoZSkpfWZ1bmN0aW9uIG4oZSl7bGV0IHQ7c3dpdGNoKGUuY3VycmVudF9zZXNzaW9uKXtjYXNlIm5pZ2h0Ijp0PWUubmNocDticmVhaztjYXNlInBvc3RfbWFya2V0IjpjYXNlInByZV9tYXJrZXQiOnQ9ZS5yY2hwfXJldHVybiB0Pz9udWxsfX0sMjQzNjMxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0NvbG9yQ29udGV4dDooKT0+byxDb2xvck1hbmFnZXI6KCk9Pmx9KTt2YXIgbyxyPXMoNzEyMTM0KSxuPXMoMzU3NTMzKSxpPXMoNTAwNTE0KTshZnVuY3Rpb24oZSl7ZVtlLlN5bWJvbE1hcmtlcj0wXT0iU3ltYm9sTWFya2VyIixlW2UuU2NyZWVuZXJGaWx0ZXI9MV09IlNjcmVlbmVyRmlsdGVyIn0ob3x8KG89e30pKTtjbGFzcyBse2dldENvbG9yKCl7c3dpdGNoKHRoaXMuX2NvbnRleHQpe2Nhc2Ugby5TeW1ib2xNYXJrZXI6cmV0dXJuIHRoaXMuX2dldEF2YWlsYWJsZUNvbG9yKG4uU3ltYm9sTWFya2VyU2V0dGluZ3MuZ2V0RGVmYXVsdENvbG9yKCkpO2Nhc2Ugby5TY3JlZW5lckZpbHRlcjpyZXR1cm4gdGhpcy5fZ2V0QXZhaWxhYmxlQ29sb3Iobi5TeW1ib2xzRmlsdGVyU2V0dGluZ3MuZ2V0RGVmYXVsdENvbG9yKCkpfX1zZXRDb2xvcihlKXtzd2l0Y2godGhpcy5fY29udGV4dCl7Y2FzZSBvLlN5bWJvbE1hcmtlcjpuLlN5bWJvbE1hcmtlclNldHRpbmdzLnNldERlZmF1bHRDb2xvcih0aGlzLl9nZXRBdmFpbGFibGVDb2xvcihlKSk7YnJlYWs7Y2FzZSBvLlNjcmVlbmVyRmlsdGVyOm4uU3ltYm9sc0ZpbHRlclNldHRpbmdzLnNldERlZmF1bHRDb2xvcih0aGlzLl9nZXRBdmFpbGFibGVDb2xvcihlKSl9fV9nZXRBdmFpbGFibGVDb2xvcihlKXtyZXR1cm4oMCxpLmNoZWNrQ29sb3JQZXJtaXNzaW9ucykoZSk/ZToodGhpcy5zZXRDb2xvcihyLkxpc3RDb2xvci5SZWQpLHIuTGlzdENvbG9yLlJlZCl9Y29uc3RydWN0b3IoZSl7dGhpcy5fY29udGV4dD1lLmNvbnRleHR9fX0sNTAwNTE0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hcmtlZFN5bWJvbHNMaXN0TW9kZWw6KCk9PmssY2hlY2tDb2xvclBlcm1pc3Npb25zOigpPT5ULGdldE1hcmtlZExpc3RzU3RhdGU6KCk9Pk59KTt2YXIgbz1zKDEzODYzOCkscj1zKDcxMjEzNCk7Y2xhc3MgbntkZXN0cm95KCl7dGhpcy5fc3Vic2NyaXB0aW9uKCksdGhpcy5fZGVzdHJveWVkPSEwfV9nZXRDb21tYW5kcygpe2NvbnN0IGU9dGhpcy5fc2VsZWN0b3IodGhpcy5fc3RvcmUuZ2V0U3RhdGUoKSk7cmV0dXJuKDAsci5nZXRDb21tYW5kcykoZSl9Y29uc3RydWN0b3IoZSl7dGhpcy5fZXhlY3V0aW5nPW51bGwsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2hhbmRsZUNoYW5nZT0oKT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47Y29uc3QgZT10aGlzLl9nZXRDb21tYW5kcygpO2lmKGUubGVuZ3RoPjApe2lmKG51bGwhPT10aGlzLl9leGVjdXRpbmcpcmV0dXJuO2NvbnN0W3QsLi4uc109ZTtzd2l0Y2godC50eXBlKXtjYXNlImFwcGVuZCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5hcHBlbmRTeW1ib2xzKHQuY29sb3IsdC5zeW1ib2xzKS50aGVuKChlPT4hZXx8dGhpcy5fZGVzdHJveWVkP251bGw6e1t0LmNvbG9yXTp7c3ltYm9sczplfX0pKS50aGVuKChhc3luYyBlPT57aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fc2VsZWN0b3IodGhpcy5fc3RvcmUuZ2V0U3RhdGUoKSksbz0oMCxyLmdldExpc3RCeUNvbG9yKShzLHQuY29sb3IpO2lmKG51bGwhPT1vJiZudWxsIT09by5wZXJzaXN0ZWRTdGF0ZSYmbnVsbCE9PW8ucGVyc2lzdGVkU3RhdGUuaWQpcmV0dXJuIGU7Y29uc3Qgbj1hd2FpdCB0aGlzLl9hcGkuZ2V0TGlzdHMoKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuIG51bGw7Y29uc3QgaT1uLmZpbmQoKGU9PmUuY29sb3I9PT10LmNvbG9yKSk7cmV0dXJuIGk/e1t0LmNvbG9yXTp7aWQ6aS5pZCxzeW1ib2xzOmkuc3ltYm9sc319Om51bGx9KSk7YnJlYWs7Y2FzZSJyZW1vdmUiOnRoaXMuX2V4ZWN1dGluZz10aGlzLl9hcGkucmVtb3ZlU3ltYm9scyh0LmNvbG9yLHQuc3ltYm9scykudGhlbigoZT0+IWV8fHRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06e3N5bWJvbHM6ZX19KSk7YnJlYWs7Y2FzZSJyZXBsYWNlIjoKdGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXBsYWNlU3ltYm9scyh0LmNvbG9yLHQuc3ltYm9scykudGhlbigoZT0+IWV8fHRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06e3N5bWJvbHM6ZX19KSk7YnJlYWs7Y2FzZSJyZXNldCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXNldFN5bWJvbHModC5zeW1ib2xzKS50aGVuKCgoKT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm4gbnVsbDtjb25zdCBlPXt9O2Zvcihjb25zdCBzIG9mIHIuTElTVF9DT0xPUlMpe2NvbnN0IG89dC5wcmV2TGlzdHMuYnlDb2xvcltzXTtpZighb3x8IW8ucGVyc2lzdGVkU3RhdGUpY29udGludWU7Y29uc3Qgcj1vLnBlcnNpc3RlZFN0YXRlLnN5bWJvbHMuZmlsdGVyKChlPT4hdC5zeW1ib2xzLmluY2x1ZGVzKGUpKSk7ZVtzXT17Li4uby5wZXJzaXN0ZWRTdGF0ZSxzeW1ib2xzOnJ9fXJldHVybiBlfSkpO2JyZWFrO2Nhc2UicmVuYW1lIjp0aGlzLl9leGVjdXRpbmc9dGhpcy5fYXBpLnJlbmFtZUxpc3QodC5jb2xvcix0Lm5hbWUpLnRoZW4oKGU9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06ZX0pKTticmVhaztjYXNlImNoYW5nZS1kZXNjcmlwdGlvbiI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5jaGFuZ2VEZXNjcmlwdGlvbih0LmNvbG9yLHQuZGVzY3JpcHRpb24pLnRoZW4oKGU9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06ZX0pKTticmVhaztjYXNlInJlc2V0LWFsbCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXNldEFsbCgpLnRoZW4oKCgpPT57aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2NvbnN0IGU9e307Zm9yKGNvbnN0IHMgb2Ygci5MSVNUX0NPTE9SUyl7Y29uc3Qgbz10LnByZXZMaXN0cy5ieUNvbG9yW3NdO28mJm8ucGVyc2lzdGVkU3RhdGUmJihlW3NdPXsuLi5vLnBlcnNpc3RlZFN0YXRlLHN5bWJvbHM6W119KX1yZXR1cm4gZX0pKTticmVhaztjYXNlInNoYXJlIjp0aGlzLl9leGVjdXRpbmc9dGhpcy5fYXBpLnNoYXJlTGlzdCh0LmNvbG9yLHQuc2hhcmVkKS50aGVuKChlPT50aGlzLl9kZXN0cm95ZWQ/bnVsbDp7W3QuY29sb3JdOntzaGFyZWQ6ZS5zaGFyZWR9fSkpO2JyZWFrO2Nhc2UicmVuYW1lLXNlcGFyYXRvciI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZW5hbWVTZXBhcmF0b3IodC5jb2xvcix0LnNlcGFyYXRvcix0Lm5hbWUpLnRoZW4oKGU9PiFlfHx0aGlzLl9kZXN0cm95ZWQ/bnVsbDp7W3QuY29sb3JdOntzeW1ib2xzOmV9fSkpfXRoaXMuX2V4ZWN1dGluZy50aGVuKChlPT57aWYodGhpcy5fZXhlY3V0aW5nPW51bGwsdGhpcy5fZGVzdHJveWVkKXJldHVybjtjb25zdFtvXT10aGlzLl9nZXRDb21tYW5kcygpO289PT10Pyh0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCxyLnNoaWZ0Q29tbWFuZCkoe2NvdW50OjF9KSksZSYmdGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsci51cGRhdGVQZXJzaXN0ZWRTdGF0ZSkoZSkpKToodGhpcy5fb25XYXJuKGBDb21tYW5kOiAke0pTT04uc3RyaW5naWZ5KHQpfSB3YXMgc2VudCB0byB0aGUgc2VydmVyIGJ1dCBpcyBub3QgZm91bmQgaW4gdGhlIHN0YXRlYCkscy5sZW5ndGg+MCYmdGhpcy5fb25XYXJuKGBDb21tYW5kczogJHtKU09OLnN0cmluZ2lmeShzKX0gd2FzIGRyb3BwZWQgZnJvbSBzdGF0ZSB3aXRob3V0IHN5bmNpbmcgd2l0aCBzZXJ2ZXJgKSksdGhpcy5faGFuZGxlQ2hhbmdlKCl9KSwoZT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47dGhpcy5fZXhlY3V0aW5nPW51bGw7Y29uc3R7Y29sb3JzOnMsYnlDb2xvcjpufT10LnByZXZMaXN0cyxpPXMubWFwKChlPT4oMCxvLmVuc3VyZURlZmluZWQpKG5bZV0pKSk7dGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsci5zZXR1cCkoe2xpc3RzOmksdGltZXN0YW1wOigwLG8uZW5zdXJlTm90TnVsbCkoKDAsci5nZXRUaW1lc3RhbXApKHRoaXMuX3NlbGVjdG9yKHRoaXMuX3N0b3JlLmdldFN0YXRlKCkpKSl9KSksdGhpcy5fb25FcnJvcih0LGUpfSkpfX07Y29uc3R7cm9vdDp0LHNlbGVjdG9yOnMsb25FcnJvcjpuLG9uV2FybjppLGFwaTpsfT1lO3RoaXMuX3N0b3JlPXQsdGhpcy5fc2VsZWN0b3I9cyx0aGlzLl9zdWJzY3JpcHRpb249dGhpcy5fc3RvcmUuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUNoYW5nZSksdGhpcy5fb25FcnJvcj1uLHRoaXMuX29uV2Fybj1pLHRoaXMuX2FwaT1sLHRoaXMuX2hhbmRsZUNoYW5nZSgpfX12YXIgaT1zKDI5NTIzNSksbD1zKDkwMTAyMik7dmFyIGE9cygyMjEwNjEpLGM9cygxODUyNzEpLHU9cyg5MTM0MTMpLG09cyg2MzI2ODYpLGg9cygxNTI3MTcpLGQ9cyg0NTY3MDUpLHA9cyg1ODA1MjYpLHk9cyg5Mjk0ODgpLGY9cyg2NDM5MDMpLF89cygxNTk1MTMpLFM9cyg0NzkzNCksZz1zKDc3MDc1NSksYj1zKDYxMzg3MCksQz1zKDMxMzMwMCksdj1zKDU5NjA1MCksdz1zKDQzNjM5NCksRT1zKDQzMjM1MCk7Y29uc3QgeD0oMCxhLmdldExvZ2dlcikoIk1hcmtlZFN5bWJvbHMuTW9kZWwiKTt2YXIgTDtmdW5jdGlvbiBOKGUpe3JldHVybiBlLm1hcmtlZExpc3RzfSFmdW5jdGlvbihlKXtlLkxpbWl0UmVhY2hlZD0iTGltaXRSZWFjaGVkIn0oTHx8KEw9e30pKTtjbGFzcyBre2Rlc3Ryb3koKXt0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmRlc3Ryb3koKSx0aGlzLl9zdWJzY3JpcHRpb24mJnRoaXMuX3N1YnNjcmlwdGlvbigpLHRoaXMuX2V4ZWN1dG9yJiZ0aGlzLl9leGVjdXRvci5kZXN0cm95KCl9Z2V0U3ltYm9sc0J5Q29sb3IoZSl7aWYobnVsbD09PXRoaXMuX3NlcnZpY2UpcmV0dXJuW107Y29uc3R7c3RvcmU6dH09dGhpcy5fc2VydmljZSxzPU4odC5nZXRTdGF0ZSgpKTtyZXR1cm4gbnVsbD09PXM/W106KDAsci5nZXRTeW1ib2xzQnlDb2xvcikocyxlKT8/W119Z2V0TGlzdHMoKXtyZXR1cm4gci5MSVNUX0NPTE9SUy5yZWR1Y2UoKChlLHQpPT4oZS5zZXQodCxuZXcgU2V0KHRoaXMuZ2V0U3ltYm9sc0J5Q29sb3IodCkpKSxlKSksbmV3IE1hcCl9c2V0U3ltYm9sc0NvbG9yKGUsdCl7aWYoeC5sb2dOb3JtYWwoYFNldCBzeW1ib2xzIGNvbG9yICR7dH1gKSxudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm4KO2NvbnN0IHM9dGhpcy5fcmVzdHJpY3RlZE1hcmtTeW1ib2xzKHtzeW1ib2xzOmUsY29sb3I6dCxzZXBhcmF0b3JzOiExfSk7dGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaChzKX1tYXJrTWFueShlKXtpZih4LmxvZ05vcm1hbChgTWFyayBtYW55IHN5bWJvbHM6ICR7ZS5jb2xvcn1gKSxudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm47Y29uc3QgdD10aGlzLl9yZXN0cmljdGVkTWFya1N5bWJvbHMoZSk7dGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCh0KX1nZXRTeW1ib2xDb2xvcihlKXtpZihudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm4gbnVsbDtjb25zdHtzdG9yZTp0fT10aGlzLl9zZXJ2aWNlLHM9Tih0LmdldFN0YXRlKCkpO3JldHVybiBudWxsPT09cz9udWxsOigwLHIuZ2V0U3ltYm9sQ29sb3IpKHMsZSl9Y2xlYXJBbGxTeW1ib2xzQ29sb3IoKXt4LmxvZ05vcm1hbCgiQ2xlYXIgYWxsIHN5bWJvbHMgY29sb3IiKSxudWxsIT09dGhpcy5fc2VydmljZSYmdGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCgoMCxyLnJlc2V0KSh7fSkpfXN5bmNTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2Uuc3luY1N5bWJvbHMoKX1hbm9ueW1pemUoKXtudWxsIT09dGhpcy5fc2VydmljZSYmdGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCgoMCxyLnNldHVwKSh7dGltZXN0YW1wOkRhdGUubm93KCksbGlzdHM6W119KSl9Y29ubmVjdCgpe3JldHVybiB0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmNvbm5lY3QoKX1jbG9zZUNvbm5lY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5jbG9zZUNvbm5lY3Rpb24oKX1fcmVzb2x2ZShlKXtjb25zdCB0PW5ldyBTZXQ7Zm9yKGNvbnN0IHMgb2YgZSlpZih2b2lkIDAhPT1zLnN5bWJvbHMpZm9yKGNvbnN0IGUgb2Ygcy5zeW1ib2xzKXtpZigoMCx5LmlzU2VwYXJhdG9ySXRlbSkoZSkpY29udGludWU7KDAsZi5zYWZlU2hvcnROYW1lKShlKT09PWUmJnQuYWRkKGUpfWNvbnN0IHM9QXJyYXkuZnJvbSh0KS5tYXAoKGU9PnRoaXMuX3Nlc3Npb24uc25hcHNob3QoZSkudGhlbigodD0+dC5wcm9fbmFtZXx8ZSksKCgpPT5lKSkudGhlbigodD0+W2UsdF0pKSkpO3JldHVybiBQcm9taXNlLmFsbChzKS50aGVuKCh0PT57Y29uc3Qgcz1uZXcgTWFwKHQpO3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e3N5bWJvbHM6dCxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLHAubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybntpZDplLmlkLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sY29sb3I6ZS5jb2xvcixzaGFyZWQ6ZS5zaGFyZWQsY3JlYXRlZDplLmNyZWF0ZWQsbW9kaWZpZWQ6ZS5tb2RpZmllZCx0eXBlOmUudHlwZSxhY3RpdmU6ZS5hY3RpdmUsc3ltYm9sczp0Lm1hcCgoZT0+cy5nZXQoZSk/P2UpKSxjb2xsYXBzZWRTZXBhcmF0b3JzOm8scGVyc2lzdGVkU3RhdGU6ZX19KSl9KSl9X2NyZWF0ZUV4ZWN1dG9yKCl7Y29uc3R7c3RvcmU6ZX09KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKTt0aGlzLl9leGVjdXRvcj1uZXcgbih7cm9vdDplLHNlbGVjdG9yOmU9PigwLG8uZW5zdXJlTm90TnVsbCkoTihlKSksYXBpOnRoaXMuX2FwaSxvbkVycm9yOnRoaXMuX2hhbmRsZUV4ZWN1dG9yRXJyb3Isb25XYXJuOmU9Pnt4LmxvZ1dhcm4oZSl9fSkseC5sb2dOb3JtYWwoIkV4ZWN1dG9yIHdhcyBjcmVhdGVkIil9Y29uc3RydWN0b3IoZSl7dGhpcy5fcHJvbWlzZT0oMCxkLmluaXRTeW1ib2xMaXN0U2VydmljZSkoKSx0aGlzLl9zZXJ2aWNlPW51bGwsdGhpcy5fZXhlY3V0b3I9bnVsbCx0aGlzLl9zdWJzY3JpcHRpb249bnVsbCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzPW51bGwsdGhpcy5fcmVjb3Zlcj0hMSx0aGlzLl9zeW5jaHJvbml6ZT1hc3luYyBlPT57bGV0IHQscztudWxsIT09dGhpcy5fZXhlY3V0b3ImJih0aGlzLl9leGVjdXRvci5kZXN0cm95KCksdGhpcy5fZXhlY3V0b3I9bnVsbCx4LmxvZ05vcm1hbCgiRXhlY3V0b3Igd2FzIGRlc3Ryb3llZC4iKSk7dHJ5e3RoaXMuX3JlY292ZXImJmF3YWl0KDAsaC5zeW5jVXNlckRhdGEpKCJtYXJrZWQtc3ltYm9scyIpO2NvbnN0W29dPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLl9hcGkuZ2V0TGlzdHMoKSx0aGlzLl9wcm9taXNlXSk7dD1hd2FpdCB0aGlzLl9yZXNvbHZlKG8pLHM9RGF0ZS5ub3coKSxlLmFzc2VydCgpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7aWYoeC5sb2dFcnJvcihgU3luYyBzeW1ib2xzIGVycm9yOiAke2UubWVzc2FnZX1gKSxlLm1lc3NhZ2U9PT1FLlJPVVRJTkVfQ0FOQ0VMTEVEX01FU1NBR0UpcmV0dXJuO2lmKCJBcGlFcnJvcjpub3RfYXV0aGVudGljYXRlZCI9PT1lLm5hbWUpcmV0dXJuIHRoaXMuX3JlY292ZXJ8fGF3YWl0KDAsaC5zeW5jVXNlckRhdGEpKCJtYXJrZWQtc3ltYm9scyIpLHZvaWQoMCxiLnNob3dTaWduTW9kYWwpKHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9scyJ9KX10aHJvdyBlfXRoaXMuX3JlY292ZXI9ITE7Y29uc3R7c3RvcmU6bn09KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKTt0aGlzLl9jcmVhdGVFeGVjdXRvcigpO2NvbnN0IGk9dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5nZXRTdGF0ZSgpLGw9bnVsbCE9PWk/TShpKTpudWxsO2lmKG51bGwhPT1sJiZsPj1zKXJldHVybjtjb25zdCBhPSgwLHIuc2V0dXApKHtsaXN0czp0Lm1hcCgoZT0+KHtuYW1lOmUubmFtZT8/bnVsbCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uPz9udWxsLGNvbG9yOmUuY29sb3Isc3ltYm9sczplLnN5bWJvbHMsc2hhcmVkOmUuc2hhcmVkLGNvbGxhcHNlZFNlcGFyYXRvcnM6ZS5jb2xsYXBzZWRTZXBhcmF0b3JzLHBlcnNpc3RlZFN0YXRlOmUucGVyc2lzdGVkU3RhdGV9KSkpLHRpbWVzdGFtcDpzfSk7bi5kaXNwYXRjaChhKX0sdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57aWYodGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5pc0Rlc3Ryb3llZCgpKXJldHVybjtjb25zdHtzdG9yZTplfT0oMCwKby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKSx0PSgwLG8uZW5zdXJlTm90TnVsbCkoTihlLmdldFN0YXRlKCkpKTtpZih0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmdldFN0YXRlKCkhPT10KXRyeXt0aGlzLl9vcHRzLm9uQ2hhbmdlPy4odCwoMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuZ2V0U3RhdGUoKSkpfWZpbmFsbHl7dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5zZXRTdGF0ZSh0KX19LHRoaXMuX2hhbmRsZUV4ZWN1dG9yRXJyb3I9KGUsdCk9PnsiQXBpRXJyb3I6cGxhbl9zeW1ib2xzX2xpbWl0X3JlYWNoZWQiIT09dC5uYW1lP3RoaXMuX2Nvbm5lY3Rpb25TdGF0dXM9PT1tLkNvbm5lY3Rpb25TdGF0dXMuT3Blbj90aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmlzRGVzdHJveWVkKCl8fCh4LmxvZ0Vycm9yKGBGYWlsZWQgdG8gZXhlY3V0ZSAke2UudHlwZX1gKSx0aGlzLl9yZWNvdmVyPSEwLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2Uuc3luY1N5bWJvbHMoKSk6KDAsdi5zaG93U2ltcGxlRGlhbG9nSW5zdGFuY2UpKHt0aXRsZTpjLnQobnVsbCx2b2lkIDAscygzODIwMjUpKSx0ZXh0OnQubWVzc2FnZX0sdy5XYXJuaW5nKTooMCxnLm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToid2F0Y2hsaXN0U3ltYm9scyJ9KX0sdGhpcy5fb3B0cz1lLHRoaXMuX2FwaT1lLmFwaXx8bmV3IHUuTWFya2VkU3ltYm9sc0xpc3RBcGksdGhpcy5fc2Vzc2lvbj1lLnF1b3RlU2Vzc2lvbnx8KDAsXy5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkoInNpbXBsZSIpLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2U9bmV3IEUuU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2Uoe3N5bmNocm9uaXplOnRoaXMuX3N5bmNocm9uaXplLGV2ZW50OmUuZXZlbnQsc3RhdGU6bnVsbCxnZXRUaW1lc3RhbXA6TSxsb2dnZXJOYW1lOiJNYXJrZWRTeW1ib2xzTGlzdE1vZGVsIn0pLHRoaXMuX3Jlc3RyaWN0ZWRNYXJrU3ltYm9scz1mdW5jdGlvbihlKXtjb25zdHtsaW1pdDp0LGNvbG9yczpzLG9uTGltaXQ6byxvblJlc3RyaWN0ZWRDb2xvcjpuLHNlbGVjdG9yOmF9PWU7cmV0dXJuIGU9PihjLHUpPT57Y29uc3QgbT11KCksaD1hKG0pLHtjb2xvcjpkLHN5bWJvbHM6cCxzZXBhcmF0b3JzOnl9PWU7aWYobnVsbCE9PWQpe2NvbnN0IGU9aC5saXN0cy5ieUNvbG9yW2RdPy5zeW1ib2xzPz9bXSxyPW5ldyBTZXQoZSksYT1pLnF1YWxpZmllZC5jYXN0TWFueShbXSk7Zm9yKGNvbnN0IGUgb2YgbmV3IFNldChwKSkheSYmKDAsbC5pc1NlcGFyYXRvckl0ZW0pKGUpfHxyLmhhcyhlKXx8YS5wdXNoKGUpO2lmKCFzKCkuaW5jbHVkZXMoZCkpcmV0dXJuIHZvaWQgbigpO2lmKGEubGVuZ3RoJiZhLmxlbmd0aCtyLnNpemU+dCgpKXJldHVybiB2b2lkIG8oKX1jKCgwLHIubWFya01hbnkpKGUpKX19KHtzZWxlY3RvcjplPT4oMCxvLmVuc3VyZU5vdE51bGwpKE4oZSkpLGxpbWl0OmUubGltaXQ/PygoKT0+KDAsQy5nZXRXYXRjaGxpc3RTeW1ib2xzTGltaXQpKCkpLG9uTGltaXQ6KCk9Pnt4LmxvZ05vcm1hbCgiTGltaXRSZWFjaGVkIiksdGhpcy5fb3B0cy5vbkxpbWl0Py4oKX0sY29sb3JzOmUuY29sb3JzPz8oKCk9PnIuTElTVF9DT0xPUlMuZmlsdGVyKEQpKSxvblJlc3RyaWN0ZWRDb2xvcjooKT0+e3RoaXMuX29wdHMub25SZXN0cmljdGVkQ29sb3I/LigpfX0pLHRoaXMuX3Byb21pc2UudGhlbigoZT0+e2lmKHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuaXNEZXN0cm95ZWQoKSlyZXR1cm47dGhpcy5fc2VydmljZT1lO2NvbnN0e3N0b3JlOnR9PWU7dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5zZXRTdGF0ZSgoMCxvLmVuc3VyZU5vdE51bGwpKE4odC5nZXRTdGF0ZSgpKSkpLHRoaXMuX3N1YnNjcmlwdGlvbj10LnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2UpfSkpLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuY29ubmVjdCgpfX1mdW5jdGlvbiBEKGUpe3JldHVybiByLkxpc3RDb2xvci5SZWQ9PT1lfHwoMCxTLmVuYWJsZWQpKCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyIpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuISFEKGUpfHwoKDAsZy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6ImZsYWdnZWRTeW1ib2xzIn0pLCExKX1mdW5jdGlvbiBNKGUpe3JldHVybiBlLnRpbWVzdGFtcH19LDM1NzUzMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTeW1ib2xNYXJrZXJTZXR0aW5nczooKT0+byxTeW1ib2xzRmlsdGVyU2V0dGluZ3M6KCk9PnJ9KTt2YXIgbyxyLG49cyg3MTIxMzQpLGk9cyg5MzA1NjYpOyFmdW5jdGlvbihlKXtjb25zdCB0PSJkZWZhdWx0X3N5bWJvbF9tYXJrZXJfY29sb3IiO2UuZ2V0RGVmYXVsdENvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGkuZ2V0VmFsdWUodCxuLkxpc3RDb2xvci5SZWQpfSxlLnNldERlZmF1bHRDb2xvcj1mdW5jdGlvbihlKXtpLnNldFZhbHVlKHQsZSx7Zm9yY2VGbHVzaDohMH0pfX0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtjb25zdCB0PSJkZWZhdWx0X3N5bWJvbHNfZmlsdGVyX2NvbG9yIixzPSJtYXJrZWRfc3ltYm9sc19maWx0ZXIiO2UuZ2V0RGVmYXVsdENvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGkuZ2V0VmFsdWUodCxuLkxpc3RDb2xvci5SZWQpfSxlLnNldERlZmF1bHRDb2xvcj1mdW5jdGlvbihlKXtpLnNldFZhbHVlKHQsZSx7Zm9yY2VGbHVzaDohMH0pfSxlLnNldElzQWN0aXZlPWZ1bmN0aW9uKGUpe2kuc2V0VmFsdWUocyxlLHtmb3JjZUZsdXNoOiEwfSl9LGUuZ2V0SXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gaS5nZXRCb29sKHMsITEpfX0ocnx8KHI9e30pKX0sMTU1OTAwKGUsdCxzKXsidXNlIHN0cmljdCI7cygzMTg5NzQpfSw0NTk4NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUpe3JldHVybiJodG1sImluIGU/e2h0bWw6ZS5odG1sfToidGV4dCJpbiBlP3tjb250ZW50OmUudGV4dH06e2NvbnRlbnQ6ZS5jb250ZW50fX1zLmQodCx7Z2V0Q29udGVudDooKT0+b30pfSwxODQyMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTaW1wbGVEaWFsb2dDb250ZXh0OigpPT5vfSkKO2NvbnN0IG89cyg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe2lzU21hbGxUYWJsZXQ6ITEsZGlhbG9nQ2xvc2VIYW5kbGVyOigpPT57fX0pfSw3MjU4NjIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U2ltcGxlRGlhbG9nOigpPT5FfSk7dmFyIG89cyg3Nzk0NzQpLHI9cyg5MTQ0ODcpLG49cy5uKHIpLGk9cyg4ODA4ODYpLGw9cygxNzk3NzEpLGE9cyg1ODU4MjEpLGM9cygyMzU3MjQpLHU9cyg0MDYxMTApLG09cyg2MDM2MTIpLGg9cyg2MDk1MjgpLGQ9cyg1NTgwMzApLHA9cyg2NzQ3NDkpLHk9cyg2NDkxNjYpLGY9cygxMzg2MzgpLF89cyg5NzE2NTkpLFM9cyg2MDc4MzIpLGc9cygxODQyMiksYj1zKDMzMTg4Myk7ZnVuY3Rpb24gQyhlKXtjb25zdHtkaXNhYmxlZDp0LG5hbWU6cyx0aXRsZTpyLGFwcGVhcmFuY2U6aSxpbnRlbnQ6bCxoYW5kbGVyOmEscmVmZXJlbmNlOmMsZGF0YVFhSWQ6dSx0eXBlOm0sY2xhc3NOYW1lOmh9PWUse2lzU21hbGxUYWJsZXQ6ZCxkaWFsb2dDbG9zZUhhbmRsZXI6Q309KDAsby51c2VDb250ZXh0KShnLlNpbXBsZURpYWxvZ0NvbnRleHQpLHY9KDAsZi5lbnN1cmVOb3ROdWxsKSgoMCxvLnVzZUNvbnRleHQpKFMuU2xvdENvbnRleHQpKSx3PSgwLF8udXNlSXNNb3VudGVkKSgpLFtFLHhdPSgwLG8udXNlU3RhdGUpKCExKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KHAuQnV0dG9uLHt0eXBlOm0sZGlzYWJsZWQ6dCxyZWZlcmVuY2U6YyxjbGFzc05hbWU6bigpKGIuYWN0aW9uQnV0dG9uLGgsZCYmYi5zbWFsbCksbmFtZTpzLHNpemU6ZD8ibCI6dm9pZCAwLGFwcGVhcmFuY2U6aSxpbnRlbnQ6bCwiZGF0YS1xYS1pZCI6dSxvbkNsaWNrOmZ1bmN0aW9uKCl7aWYoRSlyZXR1cm47Y29uc3QgZT1hKHtkaWFsb2dDbG9zZTpDLGlubmVyTWFuYWdlcjp2fSk7ZSYmKHgoITApLGUudGhlbigoKCk9Pnt3LmN1cnJlbnQmJngoITEpfSkpKX19LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoRSYmYi5oaWRkZW5UaXRsZSl9LHIpLEUmJm8uY3JlYXRlRWxlbWVudCh5LkxvYWRlcix7Y29sb3I6InByaW1hcnkiPT09bD8iYmxhY2siOiJ3aGl0ZSJ9KSl9dmFyIHY9cygxNzYyNjgpLHc9cyg4ODgxNTkpO2Z1bmN0aW9uIEUoZSl7Y29uc3R7dGl0bGU6dCxvbkNsb3NlOnMsYWN0aW9uczpyLGRhdGFOYW1lOnAsZGF0YVFhSWQ6eSxwb3B1cERpYWxvZ0NsYXNzTmFtZTpmLGNvbnRlbnRDbGFzc05hbWU6Xyx3cmFwcGVyQ2xhc3NOYW1lOlMsYmFja2Ryb3A6YixjbG9zZU9uT3V0c2lkZUNsaWNrOkU9ITAsc2hvd0Nsb3NlQnV0dG9uOng9ITAsY2xvc2VPbkVzY2FwZVByZXNzOkw9ITAsZXZlbnRzOk49ITAsY2VudGVyZWRPblJlc2l6ZTprLHNob3VsZEF1dG9DbG9zZTpEfT1lOygwLG8udXNlRWZmZWN0KSgoKCk9PihsLnN1YnNjcmliZShtLkNMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5ELHMsbnVsbCksKCk9PntsLnVuc3Vic2NyaWJlKG0uQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQscyxudWxsKX0pKSxbc10pO2NvbnN0W1QsTV09KDAsby51c2VTdGF0ZSkoITApLEI9KDAsby51c2VSZWYpKG51bGwpLE89KDAsby51c2VSZWYpKG51bGwpO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9Pih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixVKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLFUpfSkpLFtPLGtdKSxvLmNyZWF0ZUVsZW1lbnQodS5NYXRjaE1lZGlhLHtydWxlOmguRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChsPT5vLmNyZWF0ZUVsZW1lbnQoZy5TaW1wbGVEaWFsb2dDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7aXNTbWFsbFRhYmxldDpsLGRpYWxvZ0Nsb3NlSGFuZGxlcjpzfX0sby5jcmVhdGVFbGVtZW50KGEuUG9wdXBEaWFsb2cse2NsYXNzTmFtZTpuKCkody5wb3B1cERpYWxvZyxmKSxjb21wb25lbnRSZWY6Tyxpc09wZW5lZDpULGJhY2tkcm9wOmIsZGF0YVFhSWQ6eT8/dm9pZCAwLG9uQ2xpY2tCYWNrZHJvcDpOP1Y6dm9pZCAwLG9uQ2xpY2tPdXRzaWRlOkU/Vjp2b2lkIDAsb25LZXlEb3duOkksYXV0b2ZvY3VzOiEwLGZpeGVkQm9keTohMH0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcud3JhcCxTKSwiZGF0YS1uYW1lIjpwLCJkYXRhLXFhLWlkIjp5fSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuKCkody5tYWluLCF4JiZ3Lm1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbixsJiZ3LnNtYWxsKX0sdCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcudGl0bGUsbCYmdy5zbWFsbCl9LHQpLGZ1bmN0aW9uKHQpe2lmKCJodG1sImluIGUpcmV0dXJuIG8uY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKHcuY29udGVudCx0JiZ3LnNtYWxsLHcuaHRtbCxfKSxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOmUuaHRtbH19KTtpZigiY29udGVudCJpbiBlKXJldHVybiBvLmNyZWF0ZUVsZW1lbnQoZC5Ub3VjaFNjcm9sbENvbnRhaW5lcix7Y2xhc3NOYW1lOm4oKSh3LmNvbnRlbnQsdCYmdy5zbWFsbCxfKX0sZS5jb250ZW50KTtyZXR1cm4gbnVsbH0obCksciYmci5sZW5ndGg+MCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcuZm9vdGVyLGwmJncuc21hbGwpfSxyLm1hcCgoKGUsdCk9Pm8uY3JlYXRlRWxlbWVudChDLHsuLi5lLGtleTplLm5hbWUsZGF0YVFhSWQ6YCR7ZS5uYW1lfS1idG5gLHJlZmVyZW5jZTowPT09dD9COnZvaWQgMH0pKSkpKSx4JiZvLmNyZWF0ZUVsZW1lbnQoaS5OYXZCdXR0b24se2FyaWFMYWJlbDoiY2xvc2UiLHNpemU6Im1lZGl1bSIscHJlc2VydmVQYWRkaW5nczohMCxjbGFzc05hbWU6bigpKHcuY2xvc2UsbCYmdy5zbWFsbCksaWNvbjp2LG9uQ2xpY2s6ViwiZGF0YS1uYW1lIjoiY2xvc2UiLCJkYXRhLXJvbGUiOiJidXR0b24ifSkpKSkpKTtmdW5jdGlvbiBJKGUpe3N3aXRjaCgoMCxjLmhhc2hGcm9tRXZlbnQpKGUpKXtjYXNlIDI3OlQmJkwmJihlLnByZXZlbnREZWZhdWx0KCkscygpKTticmVhaztjYXNlIDEzOgpjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoZS5kZWZhdWx0UHJldmVudGVkfHx0IGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnR8fHQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCYmInN1Ym1pdCIhPT10LnR5cGUpcmV0dXJuO2lmKFQmJnImJnIubGVuZ3RoKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1CLmN1cnJlbnQ7dCYmdC5jbGljaygpfX19ZnVuY3Rpb24gVigpe0QmJk0oITEpLHMoKX1mdW5jdGlvbiBVKCl7ayYmTy5jdXJyZW50Py5jZW50ZXJBbmRGaXQ/LigpfX19LDMzMjY2MChlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBvO3MuZCh0LHtEaWFsb2dFdmVudERpc3BhdGNoZXI6KCk9Pmx9KSxmdW5jdGlvbihlKXtlLk9wZW49ImRpYWxvZy1vcGVuIixlLkNsb3NlPSJkaWFsb2ctY2xvc2UiLGUuRnVsbHNjcmVlbk9uPSJkaWFsb2ctZnVsbHNjcmVlbi1vbiIsZS5GdWxsc2NyZWVuT2ZmPSJkaWFsb2ctZnVsbHNjcmVlbi1vZmYifShvfHwobz17fSkpO3ZhciByPXMoMjIxMDYxKSxuPXMoMTUwMTUwKTtjb25zdCBpPSgwLHIuZ2V0TG9nZ2VyKSgiRGlhbG9nRXZlbnREaXNwYXRjaGVyIik7Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX29wZW5TZXNzaW9uSWQ9bnVsbH1kaXNwYXRjaChlKXtpZigiZGlhbG9nLW9wZW4iPT09ZSl7aWYobnVsbCE9PXRoaXMuX29wZW5TZXNzaW9uSWQpcmV0dXJuIHZvaWQgaS5sb2dFcnJvcigiTXVsdGlwbGUgY2FsbHMgdG8gb3BlbiBkaWFsb2ciKTt0aGlzLl9vcGVuU2Vzc2lvbklkPSgwLG4ucmFuZG9tSGFzaCkoKX1udWxsIT09dGhpcy5fb3BlblNlc3Npb25JZD8od2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUse2J1YmJsZXM6ITAsZGV0YWlsOntkaWFsb2dTZXNzaW9uSWQ6dGhpcy5fb3BlblNlc3Npb25JZH19KSksImRpYWxvZy1jbG9zZSI9PT1lJiYodGhpcy5fb3BlblNlc3Npb25JZD1udWxsKSk6aS5sb2dFcnJvcigiRW1wdHkgb3BlbiBkaWFsb2cgc2Vzc2lvbiBpZCIpfX19LDE3NjI2OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTciIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJtLjU4IDEuNDIuODItLjgyIDE1IDE1LS44Mi44MnoiLz48cGF0aCBkPSJtLjU4IDE1LjU4IDE1LTE1IC44Mi44Mi0xNSAxNXoiLz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8946.0be20cf5b56838bd1cdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.898Z","timestamp":1785136901898,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8946.0be20cf5b56838bd1cdd.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-80bb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:58\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: df054a03b4e3d60b239befb4dbca6d08\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":32955,"size_decoded":10982,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"db8665d50bbb7613ae4d5ff6618efb3c","sha1":"72a0474595ec30ff0f5b29570e7d187a4fa34bf9","sha256":"fb3be873ebdfbe3bb4183024dae7c56fffbf7bea33c01b1f7e13d8881b2d73b9","sha512":"a6a8b9b47236538cc2a9b1b522fad8d83f2d3dc7bfbe876ca6cce7a11cb9e780846d3701f295f97ada93ab31796dc3f2300f38706cefc2b939261da5325e75ca","ssdeep":"768:3iSitKD8BRCVEvoJvvI2TWRe3/E05YFa9dOJiGHE9E1RInrGhbnFT8hu7tOq+CKX:bitKDeSEAJHj3f8hbWBp","tlshash":"a5e2f7513531714852fba5eb99da062ce334732ce8248e25a8f1dc8c7ae5ae0e377d4c","first_seen":"2026-07-22T17:32:48.084118Z","last_seen":"2026-07-28T19:45:51.62328Z","times_seen":80,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4OTQ2XSx7NzI3NjIzKGUpe2UuZXhwb3J0cz17ImNoZWNrYm94LXByaW1hcnktZGVmYXVsdC1iZyI6InZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSIsImNoZWNrYm94LWRhbmdlci1kZWZhdWx0LWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCkiLCJjaGVja2JveC1wcmltYXJ5LWZnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVpbmFyeS1pbnZlcnNlKSIsImNoZWNrYm94LWRhbmdlci1mZyI6InZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZSkiLHByaW1hcnk6InByaW1hcnktWThvRlRfUFoiLGRhbmdlcjoiZGFuZ2VyLVk4b0ZUX1BaIn19LDM1NDMzMShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItVHk1TzFXSlEiLGRpck1hdGNoaW5nOiJkaXJNYXRjaGluZy1UeTVPMVdKUSJ9fSw3OTYwMTAoZSl7ZS5leHBvcnRzPXt3cmFwOiJ3cmFwLWpQSWFPOEh1In19LDYzNjk4NihlKXtlLmV4cG9ydHM9e2N1c3RvbUxpc3RJdGVtOiJjdXN0b21MaXN0SXRlbS05UTlGSHlybiIsY2xpY2thYmxlOiJjbGlja2FibGUtOVE5Rkh5cm4ifX0sOTk0MjgoZSl7ZS5leHBvcnRzPXtkaXZpZGVyOiJkaXZpZGVyLVpkX3RxdWNEIixsaW5lOiJsaW5lLVpkX3RxdWNEIn19LDIxMjY3MihlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItS1VpdHN0cEoiLHByaW1hcnlUaXRsZVdyYXBwZXI6InByaW1hcnlUaXRsZVdyYXBwZXItS1VpdHN0cEoiLHNlY29uZGFyeVRpdGxlV3JhcHBlcjoic2Vjb25kYXJ5VGl0bGVXcmFwcGVyLUtVaXRzdHBKIix0aXRsZToidGl0bGUtS1VpdHN0cEoiLGNvbnRlbnQ6ImNvbnRlbnQtS1VpdHN0cEoiLGxlZnQ6ImxlZnQtS1VpdHN0cEoiLHdpdGhMZWZ0U2xvdDoid2l0aExlZnRTbG90LUtVaXRzdHBKIixzcGFjZToic3BhY2UtS1VpdHN0cEoiLGljb246Imljb24tS1VpdHN0cEoifX0sMjIxNDk2KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tT3diR1Z5YTMiLHRleHQ6InRleHQtT3diR1Z5YTMifX0sODY0NzM2KGUpe2UuZXhwb3J0cz17Y29udGV4dEFjdGlvbnM6ImNvbnRleHRBY3Rpb25zLXVCSmhqVVY4IixoaWRlSWZOb0hvdmVyOiJoaWRlSWZOb0hvdmVyLXVCSmhqVVY4Iixzb21lQ29udGV4dEFjdGlvbkZvY3VzZWQ6InNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZC11QkpoalVWOCJ9fSw2OTE4MyhlKXtlLmV4cG9ydHM9e3JpZ2h0OiJyaWdodC1PSUJrazNnSyIsYXJyb3c6ImFycm93LU9JQmtrM2dLIn19LDYyNTcwOShlKXtlLmV4cG9ydHM9e3NtYWxsOiJzbWFsbC10V0RJQ1RheSIsbWVkaXVtOiJtZWRpdW0tdFdESUNUYXkiLGxhcmdlOiJsYXJnZS10V0RJQ1RheSIsc3dpdGNoVmlldzoic3dpdGNoVmlldy10V0RJQ1RheSIsY2hlY2tlZDoiY2hlY2tlZC10V0RJQ1RheSIsZGlzYWJsZWQ6ImRpc2FibGVkLXRXRElDVGF5Iix0cmFjazoidHJhY2stdFdESUNUYXkiLHRodW1iOiJ0aHVtYi10V0RJQ1RheSJ9fSw3OTgwMDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q2hlY2tib3hWaWV3OigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big5MTQ0ODcpLGE9bi5uKGkpLHI9big1MzYxMjUpLGw9big3Mjc2MjMpLGM9bi5uKGwpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7Y2hlY2tlZDp0LGNsYXNzTmFtZTpuLGRpc2FibGVkOmksaW50ZW50Omw9InByaW1hcnkiLGRhdGFRYUlkOnMsLi4uZH09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKGMoKVtsXSxlLmNsYXNzTmFtZSksLi4uZH0sby5jcmVhdGVFbGVtZW50KHIuQ2hlY2tib3hWaWV3SW1wbCx7ZGlzYWJsZWQ6aSxjaGVja2VkOnQsZGF0YVFhSWQ6c30pKX19LDYzODg3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTdmdJY29uTGlzdEl0ZW1QYXJ0OigpPT5yfSk7dmFyIG89big3Nzk0NzQpLGk9big0NTA4MiksYT1uKDIxNzI3NCk7ZnVuY3Rpb24gcihlKXtjb25zdHtpY29uU3ZnOnQsZGlyTWF0Y2hpbmc6bn09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuV3JhcHBlcix7ZGlyTWF0Y2hpbmc6bn0sby5jcmVhdGVFbGVtZW50KGEuQmxvY2tJY29uLHtpY29uOnR9KSl9fSw1OTQzMjMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VXJsSWNvbkxpc3RJdGVtUGFydDooKT0+bH0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNDUwODIpLGE9big3NDE0MDUpLHI9bigzODc3NzQpO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD0oMCxvLnVzZUNvbnRleHQpKGEuTGlzdEl0ZW1IYXNEZXNjcmlwdGlvbkNvbnRleHQpLHtpY29uVXJsOm4scGxhY2Vob2xkZXJMZXR0ZXI6bCxkaXJNYXRjaGluZzpjfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5XcmFwcGVyLHtkaXJNYXRjaGluZzpjfSxvLmNyZWF0ZUVsZW1lbnQoci5DaXJjbGVMb2dvLHtzaXplOnQ/InhzbWFsbCI6Inh4eHNtYWxsIixsb2dvVXJsOm4scGxhY2Vob2xkZXJMZXR0ZXI6bH0pKX19LDQ1MDgyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1dyYXBwZXI6KCk9PmN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDM1NDMzMSksbD1uLm4ocik7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKGwoKS53cmFwcGVyLGUuZGlyTWF0Y2hpbmcmJmwoKS5kaXJNYXRjaGluZyksaW5lcnQ6ZS5pbmVydD8idHJ1ZSI6dm9pZCAwfSxlLmNoaWxkcmVuKX19LDU3NDA3NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDaGVja2JveExpc3RJdGVtOigpPT5kfSk7dmFyIG89big3Nzk0NzQpLGk9big3OTgwMDIpLGE9big1NjU3NDUpLHI9big2Mjg4MjUpLGw9bigzNDUxMTYpLGM9big3OTYwMTApLHM9bi5uKGMpO2Z1bmN0aW9uIGQoZSl7CmNvbnN0e2xpc3RJdGVtUmVmOnQsbGlzdEl0ZW1CdXR0b25SZWY6bixsaXN0SXRlbUJ1dHRvbklkOmMscm9sZTpkLHRpdGxlOnUsZGVzY3JpcHRpb246cCxjaGVja2VkOm0sb25DbGljazpJLGFyaWFDaGVja2VkOnYsbGVmdFNsb3Q6QyxyaWdodFNsb3Q6YixkaXNhYmxlZDpmLHRhYkluZGV4OmgsZGF0YVFhSWQ6aywuLi5FfT1lLE89KDAsbC5maWx0ZXJDaGVja2VkRGF0YVByb3BzKShFKSxnPUFycmF5LmlzQXJyYXkoQyk/QzpbQ107cmV0dXJuIG8uY3JlYXRlRWxlbWVudChyLkxpc3RJdGVtLHtsaXN0SXRlbVJlZjp0LGxpc3RJdGVtQnV0dG9uUmVmOm4sbGlzdEl0ZW1CdXR0b25JZDpjLGFyaWFDaGVja2VkOnYscm9sZTpkLHRpdGxlOnUsZGVzY3JpcHRpb246cCxkaXNhYmxlZDpmLGxlZnRTbG90OltvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkud3JhcCxrZXk6ImNoZWNrYm94In0sby5jcmVhdGVFbGVtZW50KGkuQ2hlY2tib3hWaWV3LHtjaGVja2VkOm19KSksLi4uZy5maWx0ZXIoYS5pc0V4aXN0ZW50KS5tYXAoKChlLHQpPT5vLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCx7a2V5OnR9LGUpKSldLHJpZ2h0U2xvdDpiLG9uQ2xpY2s6SSx0YWJJbmRleDpoLGRhdGFRYUlkOmssLi4uT30pfX0sODk2MjM3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0N1c3RvbUxpc3RJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big5MTQ0ODcpLGE9bi5uKGkpLHI9bigzNDUxMTYpLGw9big2MzY5ODYpLGM9bi5uKGwpO2NvbnN0IHM9KDAsby5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtpZDpuLGNoaWxkcmVuOmksb25DbGljazpsLGRpc2FibGVkOnMsZm9jdXNhYmxlOmQscm9sZTp1LGFyaWFMYWJlbDpwLGFyaWFFeHBhbmRlZDptLGFyaWFDb250cm9sczpJLGFyaWFIYXNwb3B1cDp2LGFyaWFMZXZlbDpDLGRhdGFRYUlkOmIsLi4uZn09ZSxoPSgwLHIuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZiksaz1sPyJidXR0b24iOiJkaXYiLEU9ZHx8bCxPPXM/dm9pZCAwOmw7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChrLHtpZDpuLGNsYXNzTmFtZTphKCkoYygpLmN1c3RvbUxpc3RJdGVtLE8mJmMoKS5jbGlja2FibGUpLG9uQ2xpY2s6TywiYXJpYS1kaXNhYmxlZCI6cywiYXJpYS1sYWJlbCI6cCwiYXJpYS1leHBhbmRlZCI6bSwiYXJpYS1jb250cm9scyI6SSwiYXJpYS1oYXNwb3B1cCI6diwiYXJpYS1sZXZlbCI6Qyxyb2xlOnUsdGFiSW5kZXg6RT8wOnZvaWQgMCxyZWY6dCwuLi5oLCJkYXRhLXFhLWlkIjpifSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2luZXJ0OnM/InRydWUiOnZvaWQgMH0saSkpfSkpfSw3MzI3MzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGl2aWRlckxpc3RJdGVtOigpPT5yfSk7dmFyIG89big3Nzk0NzQpLGk9big5OTQyOCksYT1uLm4oaSk7ZnVuY3Rpb24gcihlKXtjb25zdHtyb2xlOnR9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKS5kaXZpZGVyLHJvbGU6dH0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLmxpbmV9KSl9fSw4NDQ4NzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VjdGlvbkxpc3RJdGVtOigpPT5sfSk7dmFyIG89big3Nzk0NzQpLGk9big5MzU1MzUpLGE9bigxNDc5MDEpLHI9bigzNDUxMTYpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7aWQ6dCx0aXRsZTpuLGNoaWxkcmVuOmwsaXRlbVJvbGU6YyxhcmlhTGFiZWw6cyxyaWdodFNsb3Q6ZCxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTp1LGRhdGFRYUlkOnAsb25DbGljazptLG9uS2V5RG93bjpJLGlzV3JhcHBlZDp2LC4uLkN9PWUsYj0oMCxyLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKEMpLGY9KDAsby51c2VJZCkoKSxoPSgwLG8udXNlSWQpKCksaz12b2lkIDAhPT1uO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLGsmJm8uY3JlYXRlRWxlbWVudChpLlRpdGxlTGlzdEl0ZW0se2RhdGFRYUlkOigwLGEuY29uY2F0SWZOb3ROdWxsKShgJHthLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH1saXN0LXNlY3Rpb24tdGl0bGVgLHApLGlkOnQsdGl0bGU6bixyb2xlOmMscmlnaHRTbG90OmQscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6dSxhcmlhTGFiZWw6cyx2YXJpYW50OiJzZWNvbmRhcnkiLGFyaWFDb250cm9sczp2b2lkIDAhPT12P2g6dm9pZCAwLHRpdGxlSWQ6Zix3cmFwcGVkOnYsb25DbGljazptLG9uS2V5RG93bjpJLC4uLmJ9KSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbGxlZGJ5IjpmLGlkOmgsImRhdGEtcWEtaWQiOigwLGEuY29uY2F0SWZOb3ROdWxsKShgJHthLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH1saXN0LXNlY3Rpb24tY29udGVudGAscCl9LCF2JiZsKSl9fSw5MzU1MzUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VGl0bGVMaXN0SXRlbTooKT0+Q30pO3ZhciBvLGk9big3Nzk0NzQpLGE9big5MTQ0ODcpLHI9bi5uKGEpLGw9bigyNzMzMTApLGM9big4NTkwOTEpLHM9bigzNDUxMTYpLGQ9bigxOTQ2NDgpLHU9bi5uKGQpLHA9big1NDMzMzkpLG09bi5uKHApLEk9bigyMTI2NzIpLHY9bi5uKEkpO2Z1bmN0aW9uIEMoZSl7Y29uc3R7aWQ6dCxyb2xlOm4sbGVmdFNsb3Q6byx0aXRsZTphLG9uQ2xpY2s6ZCxhcmlhTGFiZWw6cCxyaWdodFNsb3Q6SSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpDLGxpc3RJdGVtQnV0dG9uUmVmOmIsdmFyaWFudDpmPSJwcmltYXJ5IixhcmlhQ29udHJvbHM6aCxhcmlhTGV2ZWw6ayx0aXRsZUlkOkUsd3JhcHBlZDpPLGRhdGFRYUlkOmcsb25LZXlEb3duOngsbmVzdGVkTGlzdHNBcmlhT3duczpTLG5lc3RlZExpc3RBcmlhSGlkZGVuOnksLi4uTH09ZSxBPSgwLHMuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoTCksdz12b2lkIDAhPT1PO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoYy5UaXRsZVNlY3Rpb25MaXN0SXRlbSx7ZGF0YVFhSWQ6ZyxpZDp0LHJvbGU6bixvbkNsaWNrOmQsb25LZXlEb3duOngscmlnaHRTbG90OkkscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6QyxhcmlhTGFiZWw6cCwKY2xhc3NOYW1lOnIoKSh2KCkud3JhcHBlcixvJiZ2KCkud2l0aExlZnRTbG90LHYoKVtgJHtmfVRpdGxlV3JhcHBlcmBdKSxsaXN0SXRlbUJ1dHRvblJlZjpiLGZvY3VzYWJsZTp3LGFyaWFFeHBhbmRlZDp3PyFPOnZvaWQgMCxhcmlhQ29udHJvbHM6aCxhcmlhTGV2ZWw6ayxuZXN0ZWRMaXN0c0FyaWFPd25zOlMsbmVzdGVkTGlzdEFyaWFIaWRkZW46eSwuLi5BfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2KCkuY29udGVudH0sbyYmaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6digpLmxlZnR9LG8pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnYoKS50aXRsZSxpZDpFfSxhKSksdyYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2KCkuc3BhY2V9KSxpLmNyZWF0ZUVsZW1lbnQobC5JY29uLHtjbGFzc05hbWU6digpLmljb24saWNvbjpPP3UoKTptKCl9KSkpfSFmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU2Vjb25kYXJ5PSJzZWNvbmRhcnkifShvfHwobz17fSkpfSw4NTkwOTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VGl0bGVTZWN0aW9uTGlzdEl0ZW06KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDg5NjIzNyksYT1uKDE0NzkwMSkscj1uKDM0NTExNik7ZnVuY3Rpb24gbChlKXtjb25zdHtpZDp0LHJvbGU6bixvbkNsaWNrOmwscmlnaHRTbG90OmMscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6cyxmb2N1c2FibGU6ZCxhcmlhRXhwYW5kZWQ6dSxhcmlhQ29udHJvbHM6cCxhcmlhSGFzcG9wdXA6bSxhcmlhTGV2ZWw6SSxhcmlhTGFiZWw6dixjaGlsZHJlbjpDLGNsYXNzTmFtZTpiLGxpc3RJdGVtQnV0dG9uUmVmOmYsZGF0YVFhSWQ6aCxvbktleURvd246ayxuZXN0ZWRMaXN0c0FyaWFPd25zOkUsbmVzdGVkTGlzdEFyaWFIaWRkZW46TywuLi5nfT1lLHg9KDAsci5maWx0ZXJDaGVja2VkRGF0YVByb3BzKShnKSxTPSgwLG8udXNlSWQpKCk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOmgsb25LZXlEb3duOmt9LG8uY3JlYXRlRWxlbWVudChpLkN1c3RvbUxpc3RJdGVtLHtpZDp0LHJvbGU6bixvbkNsaWNrOmwsZm9jdXNhYmxlOmR8fCEhYyxyZWY6ZixhcmlhRXhwYW5kZWQ6dT8/KCEhY3x8dm9pZCAwKSxhcmlhQ29udHJvbHM6cD8/KGM/Uzp2b2lkIDApLGFyaWFIYXNwb3B1cDptPz8oYz8ibWVudSI6dm9pZCAwKSxhcmlhTGV2ZWw6SSxhcmlhTGFiZWw6dixkYXRhUWFJZDpgJHthLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH10aXRsZS1saXN0LWl0ZW1gLC4uLnh9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmJ9LEMsYykpLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7aWQ6Uyxyb2xlOiJtZW51IiwiYXJpYS1sYWJlbGxlZGJ5IjpzLCJhcmlhLW9yaWVudGF0aW9uIjoiaG9yaXpvbnRhbCIsImFyaWEtb3ducyI6RSwiYXJpYS1oaWRkZW4iOk99KSl9fSw4NjE2MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51Q29udGV4dFByb3ZpZGVyOigpPT5hLHVzZU1lbnVDb250ZXh0OigpPT5yfSk7dmFyIG89big3Nzk0NzQpO2NvbnN0IGk9KDAsby5jcmVhdGVDb250ZXh0KSh1bmRlZmluZWQpO2Z1bmN0aW9uIGEoZSl7Y29uc3R7ZGVmYXVsdENsb3NlT25DbGljazp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChpLlByb3ZpZGVyLHt2YWx1ZTp0fSxuKX1mdW5jdGlvbiByKCl7cmV0dXJuKDAsby51c2VDb250ZXh0KShpKX19LDgwODk0NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51UG9wb3ZlcjooKT0+UWV9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDIwODA4MCksYT1uKDk3MjczNCkscj1uKDQ5Mzk2MCk7ZnVuY3Rpb24gbChlKXtyZXR1cm57dGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGxlZnRTbG90OigwLHIuaWNvblBhcnQpKGUpfX12YXIgYz1uKDQ0NTQ5Myk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gdD0+e2NvbnN0e2lzQW5jaG9yUG9zaXRpb25lcjpuLGlzTW9iaWxlUG9zaXRpb25lcjppfT0oMCxjLnVzZVBvcG92ZXJDb250ZXh0KSgpLHt2aXNpYmxlOmE9ImFsd2F5cyIsLi4ucn09dDtyZXR1cm4iYWx3YXlzIj09PWF8fG4mJiJkZXNrdG9wT25seSI9PT1hfHxpJiYibW9iaWxlT25seSI9PT1hP28uY3JlYXRlRWxlbWVudChlLHsuLi5yfSk6bnVsbH19dmFyIGQ9big0MDgzNzApLHU9big4NjE2Mik7ZnVuY3Rpb24gcChlKXtjb25zdCB0PSgwLHUudXNlTWVudUNvbnRleHQpKCkse2Nsb3NlUG9wb3ZlcjpufT0oMCxjLnVzZVBvcG92ZXJDb250ZXh0KSgpLHtvbkNsaWNrOmksY2xvc2VPbkNsaWNrOmE9dD8/ZC5ERUZBVUxUX0NMT1NFX09OX0NMSUNLfT1lO3JldHVybigwLG8udXNlQ2FsbGJhY2spKCgoLi4uZSk9PntpPy4oLi4uZSksImRvTm90Q2xvc2UiIT09YSYmbighMCx7Y3VycmVudExldmVsOiJjdXJyZW50TGV2ZWwiLGFsbExldmVsczoiYWxsTGV2ZWxzIn1bYV0pfSksW2ksYSxuXSl9Y29uc3QgbT1zKChlPT57Y29uc3QgdD1wKGUpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYS5Qb3BvdmVySXRlbSx7Li4ubChlKSxkaXNhYmxlZDplLmRpc2FibGVkLGhvdGtleTplLmhvdGtleSxvbkNsaWNrOnQscm9sZTp2b2lkIDAhPT1lLnNlbGVjdGVkPyJtZW51aXRlbWNoZWNrYm94IjoibWVudWl0ZW0iLGFyaWFMYWJlbDplLnRpdGxlLGVsbGlwc2lzOmUuZWxsaXBzaXMsc2VsZWN0ZWQ6ZS5zZWxlY3RlZCxhcmlhQ2hlY2tlZDplLnNlbGVjdGVkPz92b2lkIDAscmlnaHRTbG90OmUucmlnaHRUZXh0LGludGVudDplLmludGVudCxkYXRhUWFJZDplLmRhdGFRYUlkfSl9KSk7dmFyIEk9bigyMTcyNzQpLHY9bigxMjI5NiksQz1uLm4odik7ZnVuY3Rpb24gYihlKXsKY29uc3R7cG9wb3Zlckl0ZW1SZWY6dCxwb3BvdmVySXRlbUJ1dHRvblJlZjpuLHBvcG92ZXJJdGVtQnV0dG9uSWQ6aSxyb2xlOnIsYXJpYUhhc3BvcHVwOmwsYXJpYUNvbnRyb2xzOmMsYXJpYUV4cGFuZGVkOnMsYXJpYUxhYmVsOmQsbGVmdFNsb3Q6dSx0aXRsZTpwLGRlc2NyaXB0aW9uOm0sc2VsZWN0ZWQ6dixocmVmOmIsb25DbGljazpmLHJlbDpoLHRhcmdldDprPSJfYmxhbmsiLGRhdGFRYUlkOkV9PWUsTz0iX2JsYW5rIj09PWs7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLlBvcG92ZXJJdGVtLHtwb3BvdmVySXRlbVJlZjp0LHBvcG92ZXJJdGVtQnV0dG9uUmVmOm4scG9wb3Zlckl0ZW1CdXR0b25JZDppLHJvbGU6cixhcmlhSGFzcG9wdXA6bCxhcmlhQ29udHJvbHM6YyxhcmlhRXhwYW5kZWQ6cyxhcmlhTGFiZWw6ZCxsZWZ0U2xvdDp1LHRpdGxlOnAsZGVzY3JpcHRpb246bSxocmVmOmIscmlnaHRTbG90Ok8/by5jcmVhdGVFbGVtZW50KEkuQmxvY2tJY29uLHtpY29uOkMoKX0pOnZvaWQgMCxzZWxlY3RlZDp2LG9uQ2xpY2s6ZixyZWw6aCx0YXJnZXQ6ayxkYXRhUWFJZDpFfSl9Y29uc3QgZj1zKChlPT57Y29uc3QgdD1wKGUpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYix7Li4ubChlKSxvbkNsaWNrOnQsaHJlZjplLmhyZWYscm9sZToibWVudWl0ZW0iLGFyaWFMYWJlbDplLnRpdGxlLHNlbGVjdGVkOmUuc2VsZWN0ZWQscmVsOmUucmVsLHRhcmdldDplLnRhcmdldCxkYXRhUWFJZDplLmRhdGFRYUlkfSl9KSk7dmFyIGg9big3MjIzMjApLGs9big5MzgyNDIpLEU9bigxNDc5MDEpLE89bigyMjE0OTYpLGc9bi5uKE8pO2NvbnN0IHg9YCR7RS5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9aGVhZGVyLW5lc3RlZC1wb3BvdmVyYDtmdW5jdGlvbiBTKGUpe2NvbnN0e3RpdGxlOnQsY2hpbGRyZW46bixidXR0b25Sb2xlOmEsYnV0dG9uQXJpYUhhc3BvcHVwOnIscG9wb3ZlclJvbGU6bCxmaXhlZEZvb3RlcjpzLGZpeGVkSGVhZGVyOmQsY2xvc2VPblNjcm9sbE91dHNpZGU6dSxjbG9zZU9uUmVzaXplV2luZG93OnAsZGF0YVFhSWQ6bX09ZSxJPSgwLG8udXNlUmVmKShudWxsKSx2PSgwLG8udXNlUmVmKShudWxsKSxDPSgwLG8udXNlSWQpKCksYj0oMCxvLnVzZUlkKSgpLHtjbG9zZVBvcG92ZXI6Zn09KDAsYy51c2VQb3BvdmVyQ29udGV4dCkoKSx7aXNPcGVuOmgsb25PcGVuOk8sb25DbG9zZTpTfT0oMCxrLnVzZU5lc3RlZFBvcG92ZXJPcGVuU3RhdGUpKEksZikseT0oMCxvLnVzZUNhbGxiYWNrKSgoKCk9PntoP1MoITApOk8oKX0pLFtoLE8sU10pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7aWQ6QyxjbGFzc05hbWU6ZygpLmJ1dHRvbixvbkNsaWNrOnkscmVmOkkscm9sZTphLCJhcmlhLWhhc3BvcHVwIjpyLCJhcmlhLWNvbnRyb2xzIjpiLCJhcmlhLWxhYmVsIjp0LCJkYXRhLXFhLWlkIjooMCxFLmNvbmNhdElmTm90TnVsbCkoYCR7eH0tb3Blbi1idXR0b25gLG0pfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnKCkudGV4dH0sdCkpLG8uY3JlYXRlRWxlbWVudChpLlBvcG92ZXJLZXlib2FyZE5hdmlnYXRvcix7cm9sZTpsLGlzT3BlbjpoLG9uQ2xvc2U6UyxhbmNob3JlZDp7YXQ6SSx0eXBlOiJlbGVtZW50In0scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmIsYXJpYUxhYmVsbGVkYnk6QyxmaXhlZEZvb3RlcjpzLGZpeGVkSGVhZGVyOmQsY2xvc2VPblNjcm9sbE91dHNpZGU6dSxjbG9zZU9uUmVzaXplV2luZG93OnAsZGF0YVFhSWQ6KDAsRS5jb25jYXRJZk5vdE51bGwpKGAke3h9LXBvcG92ZXJgLG0pfSxuKSl9dmFyIHk9big4MDc4NzMpO2Z1bmN0aW9uIEwoZSl7cmV0dXJuIGUuc3VibWVudXM/by5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxlLnN1Ym1lbnVzLm1hcCgoKHQsbik9Pm8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24se2tleTpgJHt0LnRpdGxlfToke259YCxkYXRhUWFJZDp0LmRhdGFRYUlkfSxvLmNyZWF0ZUVsZW1lbnQoUyx7dGl0bGU6dC50aXRsZSwuLi5lLnNwbGl0SXRlbXModC5pdGVtcyxlLnN1Ym1lbnVPcHRpb25zKSxjbG9zZU9uUmVzaXplV2luZG93OmUuc3VibWVudU9wdGlvbnMuY2xvc2VPblJlc2l6ZVdpbmRvdyxjbG9zZU9uU2Nyb2xsT3V0c2lkZTplLnN1Ym1lbnVPcHRpb25zLmNsb3NlT25TY3JvbGxPdXRzaWRlfSkpKSkpOm51bGx9Y29uc3QgQT1zKChlPT57Y29uc3QgdD0oMCxvLnVzZUlkKSgpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaC5UaXRsZVBvcG92ZXJJdGVtLHtpZDp0LHRpdGxlOmUudGl0bGUscm9sZTplLnN1Ym1lbnVzPy5sZW5ndGg/Im1lbnVpdGVtIjp2b2lkIDAsYXJpYUxhYmVsOmUudGl0bGUscmlnaHRTbG90Om8uY3JlYXRlRWxlbWVudChMLHtzdWJtZW51czplLnN1Ym1lbnVzLHN1Ym1lbnVPcHRpb25zOmUuc3VibWVudU9wdGlvbnMsc3BsaXRJdGVtczplLnNwbGl0SXRlbXN9KSxkYXRhUWFJZDplLmRhdGFRYUlkLHZhcmlhbnQ6ZS52YXJpYW50fSl9KSk7dmFyIHc9big3MzI3MzEpO2NvbnN0IFQ9cygoZT0+by5jcmVhdGVFbGVtZW50KHcuRGl2aWRlckxpc3RJdGVtLHtyb2xlOiJzZXBhcmF0b3IifSkpKTt2YXIgUD1uKDQ2NjIzMCk7Y29uc3QgUj1zKChlPT57Y29uc3QgdD1wKHtjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2s/PyJkb05vdENsb3NlIixvbkNsaWNrOmUub25DbGlja30pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoUC5DaGVja2JveFBvcG92ZXJJdGVtLHt0aXRsZTplLnRpdGxlLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sb25DbGljazp0LGNoZWNrZWQ6ZS5jaGVja2VkLGFyaWFDaGVja2VkOmUuY2hlY2tlZCxyb2xlOiJtZW51aXRlbWNoZWNrYm94IixkYXRhUWFJZDplLmRhdGFRYUlkfSl9KSk7dmFyIE49big1NjEyNTQpO2NvbnN0IFE9cygoZT0+e2NvbnN0IHQ9cCh7Y2xvc2VPbkNsaWNrOmUuY2xvc2VPbkNsaWNrPz8iZG9Ob3RDbG9zZSIsb25DbGljazplLm9uQ2xpY2t9KTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KE4uU3dpdGNoUG9wb3Zlckl0ZW0sey4uLmwoZSksCm9uQ2xpY2s6dCxjaGVja2VkOmUuY2hlY2tlZCxhcmlhQ2hlY2tlZDplLmNoZWNrZWQscm9sZToibWVudWl0ZW1jaGVja2JveCIsZGF0YVFhSWQ6ZS5kYXRhUWFJZH0pfSkpO3ZhciBfPW4oNTU3NTM0KTtjb25zdCBCPXMoKGU9Pntjb25zdCB0PXAoe2Nsb3NlT25DbGljazplLmNsb3NlT25DbGljaz8/ImRvTm90Q2xvc2UiLG9uQ2xpY2s6KCk9PmUub25DbGljayghZS5jaGVja2VkKX0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoXy5SYWRpb2J1dHRvblBvcG92ZXJJdGVtLHt0aXRsZTplLnRpdGxlLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sb25DbGljazp0LGNoZWNrZWQ6ZS5jaGVja2VkLGFyaWFDaGVja2VkOmUuY2hlY2tlZCxyb2xlOiJtZW51aXRlbXJhZGlvIixkaXNhYmxlZDplLmRpc2FibGVkLGRhdGFRYUlkOmUuZGF0YVFhSWR9KX0pKTt2YXIgRD1uKDM5MTkxNCk7Y29uc3QgTT1zKChlPT57Y29uc3QgdD0oMCxvLnVzZUlkKSgpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoRC5TZWN0aW9uUG9wb3Zlckl0ZW0se2lkOnQsdGl0bGU6ZS50aXRsZSxpdGVtUm9sZTplLndyYXBwYWJsZT8ibWVudWl0ZW1jaGVja2JveCI6ZS5zdWJtZW51cz8ubGVuZ3RoPyJtZW51aXRlbSI6dm9pZCAwLHdyYXBwYWJsZTplLndyYXBwYWJsZSxkZWZhdWx0V3JhcHBlZDplLmRlZmF1bHRXcmFwcGVkLGFyaWFMYWJlbDplLnRpdGxlLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OnQscmlnaHRTbG90OmUuc3VibWVudXM/Lmxlbmd0aD9vLmNyZWF0ZUVsZW1lbnQoTCx7c3VibWVudXM6ZS5zdWJtZW51cyxzdWJtZW51T3B0aW9uczplLnN1Ym1lbnVPcHRpb25zLHNwbGl0SXRlbXM6ZS5zcGxpdEl0ZW1zfSk6dm9pZCAwLGRhdGFRYUlkOmUuZGF0YVFhSWR9LGUuaXRlbXMubWFwKCgodCxuKT0+ZS5waWNrTWVudUl0ZW0odCxuLGUuc3VibWVudU9wdGlvbnMpKSkpfSkpO3ZhciBXPW4oOTIwOTM4KTtjb25zdCBGPXMoKGU9Pntjb25zdHtjaGlsZHJlbjp0LGxhYmVsOm4sZGF0YVFhSWQ6aX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KFcuQ3VzdG9tUG9wb3Zlckl0ZW0se2Rpc2FibGVkOiEwLHJvbGU6Im1lbnVpdGVtIixhcmlhTGFiZWw6bixmb2N1c2FibGU6ITAsZGF0YVFhSWQ6aX0sdCl9KSksSD1zKChlPT57Y29uc3R7aXRlbXM6dCxzdWJtZW51T3B0aW9uczpuLHBpY2tNZW51SXRlbTppfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudCh3LkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIn0pLHQubWFwKCgoZSx0KT0+aShlLHQsbikpKSl9KSksVT1zKChlPT57Y29uc3R7aXRlbXM6dCxzdWJtZW51T3B0aW9uczpuLHBpY2tNZW51SXRlbTppfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLHQubWFwKCgoZSx0KT0+aShlLHQsbikpKSxvLmNyZWF0ZUVsZW1lbnQody5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciJ9KSl9KSk7dmFyICQ9big2Mzg4NzIpLEs9bigyNzM2NzcpLEo9bi5uKEspO2Z1bmN0aW9uIFYoZSl7Y29uc3R7dGl0bGU6dCxvbkNsaWNrOm4scG9wb3Zlckl0ZW1CdXR0b25SZWY6aSxkYXRhUWFJZDphfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaC5UaXRsZVBvcG92ZXJJdGVtLHt0aXRsZTp0LG9uQ2xpY2s6bixsZWZ0U2xvdDpvLmNyZWF0ZUVsZW1lbnQoJC5TdmdJY29uTGlzdEl0ZW1QYXJ0LHtpY29uU3ZnOkooKSxkaXJNYXRjaGluZzohMH0pLHBvcG92ZXJJdGVtQnV0dG9uUmVmOmksZGF0YVFhSWQ6YX0pfXZhciB6PW4oOTg4MDY4KSxxPW4oMjM1NzI0KSxqPW4oNzg3ODk1KSxHPW4oMjM2NDU0KSxYPW4oNjQwNTEzKSxaPW4oMjUwNTE4KSxZPW4oMjk4NzI4KSxlZT1uKDg1NDMzOCksdGU9big0NzkyOTcpLG5lPW4oNTc3ODMyKSxvZT1uKDE1OTI1Nik7Y29uc3QgaWU9KDAsdGUud2luZG93RXZlbnQpKCJtb3VzZW1vdmUiKTt2YXIgYWUscmU9big5NTY3MzApLGxlPW4oMjM2MTQ2KSxjZT1uLm4obGUpLHNlPW4oNjkxODMpLGRlPW4ubihzZSk7IWZ1bmN0aW9uKGUpe2UuQ2xpY2s9ImNsaWNrIixlLkhvdmVyPSJob3ZlciJ9KGFlfHwoYWU9e30pKTtjb25zdCB1ZT0iaG92ZXIiLHBlPTMwMCxtZT1gJHtFLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH1uZXN0ZWQtcG9wb3ZlcmA7ZnVuY3Rpb24gSWUoZSl7Y29uc3QgdD0oMCxvLnVzZUlkKSgpLG49KDAsby51c2VSZWYpKG51bGwpLHI9KDAsby51c2VSZWYpKG51bGwpLGw9KDAsby51c2VJZCkoKSx7Y2hpbGRyZW46cyxwb3BvdmVySXRlbVJlZjpkPW4scG9wb3Zlckl0ZW1CdXR0b25JZDp1PWwscG9wb3Zlckl0ZW1CdXR0b25SZWY6cD1yLG5lc3RlZFBvcG92ZXJSb2xlOm0scm9sZTp2LGxlZnRTbG90OkMsb3Blbk9uOmI9dWUsY2xvc2VPbkhvdmVyQXdheURlbGF5TXM6Zj1wZSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpoLGNsb3NlT25SZXNpemVXaW5kb3c6TyxkaXNhYmxlZDpnLHRpdGxlOngsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDpTPXQsc2VsZWN0ZWQ6eSxkZXNjcmlwdGlvbjpMLHJpZ2h0U2xvdDpBLGZpeGVkSGVhZGVyOncsZml4ZWRGb290ZXI6VCxkYXRhUWFJZDpQfT1lLFI9KDAsai51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShwKSxOPSgwLGoudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZCkse2ZvY3VzRmlyc3Q6UX09KDAsby51c2VNZW1vKSgoKCk9PigwLFouZ2V0U2VsZWN0b3JLZXlib2FyZE5hdmlnYXRpb24pKGBbJHt6LkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTn1dYCkpLFtdKSx7aXNSdGw6XyxjbG9zZVBvcG92ZXI6Qn09KDAsYy51c2VQb3BvdmVyQ29udGV4dCkoKSx7aXNNb2JpbGVQb3NpdGlvbmVyOkR9PSgwLHJlLnVzZVBvc2l0aW9uZXJDb250ZXh0KSgpLE09RD8iY2xpY2siOmIsVz0oMCxZLmZsaXBBcnJvd3NPblJ0bCkoMzcsXyksRj0oMCxZLmZsaXBBcnJvd3NPblJ0bCkoMzksXykse2lzT3BlbjpILG9uT3BlbjpVLG9uQ2xvc2U6JH09KDAsay51c2VOZXN0ZWRQb3BvdmVyT3BlblN0YXRlKShSLEIpLEs9KDAsby51c2VSZWYpKG51bGwpLEo9KDAsby51c2VDYWxsYmFjaykoKCgpPT57aWYoSCkkKCEwKTtlbHNle1UoKQo7Y29uc3QgZT1LLmN1cnJlbnQ7ZSYmUShlKX19KSxbSCwkLFUsUV0pLFg9KDAsby51c2VDYWxsYmFjaykoKGU9PnsoMCxxLmhhc2hGcm9tRXZlbnQpKGUpIT09Rnx8SigpfSksW0YsSl0pOyFmdW5jdGlvbihlLHQsbj0wLG8saSl7KDAsb2UudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT57bGV0IGU9ITEsYT0tMTtyZXR1cm4gaWUoKHI9Pntjb25zdCBsPXt4OnIuY2xpZW50WCx5OnIuY2xpZW50WX0sYz1vLmN1cnJlbnQscz0oMCxuZS5pc0luRXhjbHVkZWRBcmVhKShsLGkpfHxjJiYoMCxlZS5pc1hZSW5zaWRlRWxlbWVudFRocm91Z2hQb3J0YWxzKShjLGwueCxsLnkpfHwhMTtzIT09ZSYmKGNsZWFyVGltZW91dChhKSxlPXMsYT1zZXRUaW1lb3V0KCgoKT0+e2V8fHQoITEsImN1cnJlbnRMZXZlbCIpfSksbikpfSkpfSksW28sbixpLHRdKX0oImhvdmVyIj09PU0mJnZvaWQgMCE9PWYsJCxmLEssTik7Y29uc3QgdGU9ImhvdmVyIj09PU0mJnZvaWQgMCE9PWY/VTp2b2lkIDA7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGEuUG9wb3Zlckl0ZW0se2xlZnRTbG90OkMsdGl0bGU6eCxkZXNjcmlwdGlvbjpMLHJvbGU6dixwb3BvdmVySXRlbVJlZjpOLHBvcG92ZXJJdGVtQnV0dG9uUmVmOlIsb25DbGljazplPT57ImJ1dHRvbiJpbiBlJiYiY2xpY2siIT09TXx8SigpfSxvbktleURvd25Qb3BvdmVySXRlbUJ1dHRvbjpYLHJpZ2h0U2xvdDpvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpkZSgpLnJpZ2h0fSxBLG8uY3JlYXRlRWxlbWVudChJLkJsb2NrSWNvbix7aWNvbjpjZSgpLGNsYXNzTmFtZTpkZSgpLmFycm93fSkpLGlzT3BlbjpILGFyaWFIYXNwb3B1cDptLGFyaWFFeHBhbmRlZDpILGFyaWFDb250cm9sczpTLHBvcG92ZXJJdGVtQnV0dG9uSWQ6dSxzZWxlY3RlZDp5LGRpc2FibGVkOmcsb25Nb3VzZUVudGVyOnRlLGRhdGFRYUlkOigwLEUuY29uY2F0SWZOb3ROdWxsKShgJHttZX0tb3Blbi1idXR0b25gLFApfSksby5jcmVhdGVFbGVtZW50KGkuUG9wb3ZlcktleWJvYXJkTmF2aWdhdG9yLHtpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OlMscm9sZTptLGFuY2hvcmVkOnt0eXBlOiJlbGVtZW50IixhdDpOfSxpc09wZW46SCxvbkNsb3NlOiQscGxhY2VtZW50UnVsZXM6Q2UucGxhY2VtZW50UnVsZXMsd2lkdGg6dmUsaGVpZ2h0OkcuUE9QT1ZFUl9ERUZBVUxUX0hFSUdIVCxpc1J0bDpfLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OkssYXJpYUxhYmVsbGVkYnk6dSxmaXhlZEhlYWRlcjp3LGZpeGVkRm9vdGVyOlQsY2xvc2VPblNjcm9sbE91dHNpZGU6aCxjbG9zZU9uUmVzaXplV2luZG93Ok8sZGF0YVFhSWQ6KDAsRS5jb25jYXRJZk5vdE51bGwpKGAke21lfS1wb3BvdmVyYCxQKX0sRCYmby5jcmVhdGVFbGVtZW50KFYse3RpdGxlOngsb25DbGljazooKT0+JCghMCwiY3VycmVudExldmVsIiksZGF0YVFhSWQ6KDAsRS5jb25jYXRJZk5vdE51bGwpKGAke21lfS1jbG9zZS1idXR0b25gLFApfSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHtvbktleURvd246ZT0+e2NvbnN0IHQ9ZS5jdXJyZW50VGFyZ2V0LG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxvPSgwLHEuaGFzaEZyb21FdmVudCkoZSksaT1uJiZ0LmNvbnRhaW5zKG4pJiYidHJ1ZSIhPT1uLmdldEF0dHJpYnV0ZSh6LkRBVEFfTkVTVEVEX1BPUE9WRVJfT1BFTik7aWYobz09PVcmJmkpcmV0dXJuICQoITAsImN1cnJlbnRMZXZlbCIpLHZvaWQgZS5zdG9wUHJvcGFnYXRpb24oKX19LHMpKSl9Y29uc3QgdmU9W3tieToiY29udGVudCJ9XSxDZT17cGxhY2VtZW50UnVsZXM6W3suLi5YLlBMQUNFTUVOVF9SSUdIVF9BTElHTl9UT1Asb2Zmc2V0Ont4OjAseTotNn19LHsuLi5YLlBMQUNFTUVOVF9MRUZUX0FMSUdOX1RPUCxvZmZzZXQ6e3g6MCx5Oi02fX0sey4uLlguUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0JPVFRPTSxvZmZzZXQ6e3g6MCx5OjZ9fSx7Li4uWC5QTEFDRU1FTlRfTEVGVF9BTElHTl9CT1RUT00sb2Zmc2V0Ont4OjAseTo2fX1dfSxiZT1zKChlPT5vLmNyZWF0ZUVsZW1lbnQoSWUsey4uLmwoZSkscm9sZToibWVudWl0ZW0iLG5lc3RlZFBvcG92ZXJSb2xlOiJtZW51IixvcGVuT246ZS5vcGVuU3VibWVudU9uLGNsb3NlT25TY3JvbGxPdXRzaWRlOmUuY2xvc2VPblNjcm9sbE91dHNpZGUsY2xvc2VPblJlc2l6ZVdpbmRvdzplLmNsb3NlT25SZXNpemVXaW5kb3cscmlnaHRTbG90OmUucmlnaHRUZXh0LGRhdGFRYUlkOmUuZGF0YVFhSWQsLi4uZS5zcGxpdEl0ZW1zKGUuc3VibWVudSx7b3BlblN1Ym1lbnVPbjplLm9wZW5TdWJtZW51T24sY2xvc2VPblNjcm9sbE91dHNpZGU6ZS5jbG9zZU9uU2Nyb2xsT3V0c2lkZSxjbG9zZU9uUmVzaXplV2luZG93OmUuY2xvc2VPblJlc2l6ZVdpbmRvd30pfSkpKTt2YXIgZmU9big1OTA5MTQpLGhlPW4oMzEyMjk1KSxrZT1uKDExOTc1MCksRWU9big5MDYxMzQpLE9lPW4oNjM3NTY0KTtjb25zdCBnZT1zKChlPT57Y29uc3QgdD1wKGUpLG49KDAsby51c2VJZCkoKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGZlLkNvbnRleHRBY3Rpb25zUG9wb3Zlckl0ZW0sey4uLmwoZSksdGl0bGU6by5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxlLnRpdGxlLGUuaW5mb1RpdGxlJiZvLmNyZWF0ZUVsZW1lbnQoeWUse2FjdGlvbjp7a2luZDoiaXFpIixvbkNsaWNrOmUuaW5mb09uQ2xpY2ssaWNvbjplLmluZm9JY29uLGludGVudDplLmluZm9JbnRlbnQsdGl0bGU6ZS5pbmZvVGl0bGV9fSkpLHBvcG92ZXJJdGVtQnV0dG9uSWQ6bixob3RrZXk6ZS5ob3RrZXksYXJpYUhhc3BvcHVwOiJtZW51Iixyb2xlOiJtZW51aXRlbSIscmlnaHRTbG90Om8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsZS5jb250ZXh0QWN0aW9ucz8ubWFwKCgoZSx0KT0+by5jcmVhdGVFbGVtZW50KHhlLHthY3Rpb246ZSxrZXk6dH0pKSkpLG9uQ2xpY2s6dCxzZWxlY3RlZDplLnNlbGVjdGVkLGRhdGFRYUlkOmUuZGF0YVFhSWR9KX0pKTtmdW5jdGlvbiB4ZShlKXtjb25zdCB0PWUuYWN0aW9uO3N3aXRjaCh0LmtpbmQpe2Nhc2UiaWNvbkJ1dHRvbiI6CnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoU2Use2FjdGlvbjp0fSk7Y2FzZSJpcWkiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoeWUse2FjdGlvbjp0fSk7Y2FzZSJjdXN0b20iOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoTGUse2FjdGlvbjp0fSl9fWZ1bmN0aW9uIFNlKGUpe2NvbnN0IHQ9ZS5hY3Rpb247cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24se2RhdGFRYUlkOnQuZGF0YVFhSWR9LG8uY3JlYXRlRWxlbWVudChoZS5JY29uQnV0dG9uLHtyb2xlOiJtZW51aXRlbSIsb25DbGljazp0Lm9uQ2xpY2ssdGl0bGU6dC50aXRsZSxpY29uOnQuaWNvblN2Z30pKX1mdW5jdGlvbiB5ZShlKXtjb25zdCB0PWUuYWN0aW9uLHtjbG9zZVBvcG92ZXI6bn09KDAsYy51c2VQb3BvdmVyQ29udGV4dCkoKSxpPWUuYWN0aW9uLm9uQ2xpY2s7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24sbnVsbCxvLmNyZWF0ZUVsZW1lbnQoRWUuVG9vbHRpcCx7Y29udGVudDp0LnRpdGxlPz8iSGVsbG8iLHRyaWdnZXI6W0VlLlRyaWdnZXIuSG92ZXIsRWUuVHJpZ2dlci5Gb2N1cywuLi5pP1tdOltFZS5UcmlnZ2VyLkNsaWNrXV0scGxhY2VtZW50OltPZS5Ub29sdGlwUGxhY2VtZW50cy5Ub3AsT2UuVG9vbHRpcFBsYWNlbWVudHMuQm90dG9tXX0sby5jcmVhdGVFbGVtZW50KGtlLkljb25RdWVzdGlvbkluZm9ybWF0aW9uQnV0dG9uLHtpY29uOnQuaWNvbixpbnRlbnQ6dC5pbnRlbnQsYXJpYUxhYmVsOnQudGl0bGUsb25DbGljazppPygpPT57bighMSwiYWxsTGV2ZWxzIiksaSgpfTp2b2lkIDB9KSkpfWZ1bmN0aW9uIExlKGUpe2NvbnN0IHQ9ZS5hY3Rpb247cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24se3ByZXZlbnRDbGlja1Byb3BhZ2F0aW9uOnQucHJldmVudENsaWNrUHJvcGFnYXRpb259LHQuY2hpbGRyZW4pfXZhciBBZT1uKDkxMzg3NCksd2U9big1NjU3NDUpO2NvbnN0IFRlPShlLHQsbik9PntpZighZSlyZXR1cm4gbnVsbDtzd2l0Y2goZS50eXBlKXtjYXNlIHZvaWQgMDpjYXNlImJhc2ljIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KG0se2tleTpgYmFzaWMtJHtlLnRpdGxlfToke2UuZGVzY3JpcHRpb259OiR7ZS5pZH1gLGljb25Tdmc6ZS5pY29uU3ZnLGljb25Vcmw6ZS5pY29uVXJsLGljb25Kc3g6ZS5pY29uSnN4LGljb25TcGFjZTplLmljb25TcGFjZSx0aXRsZTplLnRpdGxlLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sb25DbGljazplLm9uQ2xpY2ssaG90a2V5OmUuaG90a2V5LGRpc2FibGVkOmUuZGlzYWJsZWQsZWxsaXBzaXM6ZS5lbGxpcHNpcyxjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2ssc2VsZWN0ZWQ6ZS5zZWxlY3RlZCx2aXNpYmxlOmUudmlzaWJsZSxyaWdodFRleHQ6ZS5yaWdodFRleHQsZGF0YVFhSWQ6ZS5kYXRhUWFJZCxpbnRlbnQ6ZS5pbnRlbnR9KTtjYXNlImxpbmsiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoZix7a2V5OmBsaW5rLSR7ZS50aXRsZX06JHtlLmRlc2NyaXB0aW9ufToke2UuaWR9YCxpY29uU3ZnOmUuaWNvblN2ZyxpY29uVXJsOmUuaWNvblVybCxpY29uSnN4OmUuaWNvbkpzeCxpY29uU3BhY2U6ZS5pY29uU3BhY2UsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGhyZWY6ZS5ocmVmLHNlbGVjdGVkOmUuc2VsZWN0ZWQsY2xvc2VPbkNsaWNrOmUuY2xvc2VPbkNsaWNrLHZpc2libGU6ZS52aXNpYmxlLG9uQ2xpY2s6ZS5vbkNsaWNrLGRhdGFRYUlkOmUuZGF0YVFhSWQscmVsOmUucmVsLHRhcmdldDplLnRhcmdldH0pO2Nhc2UidGl0bGUiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoQSx7a2V5OmB0aXRsZS0ke2UudGl0bGV9YCx0aXRsZTplLnRpdGxlLHZpc2libGU6ZS52aXNpYmxlLHN1Ym1lbnVzOmUuc3VibWVudXMsc3VibWVudU9wdGlvbnM6bixkYXRhUWFJZDplLmRhdGFRYUlkLHZhcmlhbnQ6ZS52YXJpYW50LHNwbGl0SXRlbXM6TmV9KTtjYXNlImNvbnRleHRBY3Rpb25zIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KGdlLHtrZXk6YGNvbnRleHRBY3Rpb25zLSR7ZS50aXRsZX06JHtlLmRlc2NyaXB0aW9ufToke2UuaWR9YCxpY29uU3ZnOmUuaWNvblN2ZyxpY29uVXJsOmUuaWNvblVybCxpY29uSnN4OmUuaWNvbkpzeCxpY29uU3BhY2U6ZS5pY29uU3BhY2UsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGNvbnRleHRBY3Rpb25zOmUuY29udGV4dEFjdGlvbnMsb25DbGljazplLm9uQ2xpY2ssaG90a2V5OmUuaG90a2V5LHNlbGVjdGVkOmUuc2VsZWN0ZWQsY2xvc2VPbkNsaWNrOmUuY2xvc2VPbkNsaWNrLHZpc2libGU6ZS52aXNpYmxlLGRhdGFRYUlkOmUuZGF0YVFhSWQsaW5mb09uQ2xpY2s6ZS5pbmZvT25DbGljayxpbmZvSWNvbjplLmluZm9JY29uLGluZm9JbnRlbnQ6ZS5pbmZvSW50ZW50LGluZm9UaXRsZTplLmluZm9UaXRsZX0pO2Nhc2Uic3ViTWVudSI6cmV0dXJuIG8uY3JlYXRlRWxlbWVudChiZSx7a2V5OmBzdWJNZW51LSR7ZS50aXRsZX06JHtlLmRlc2NyaXB0aW9ufToke2UuaWR9YCxpY29uU3ZnOmUuaWNvblN2ZyxpY29uVXJsOmUuaWNvblVybCxpY29uSnN4OmUuaWNvbkpzeCxpY29uU3BhY2U6ZS5pY29uU3BhY2UsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHN1Ym1lbnU6ZS5zdWJtZW51LC4uLm4sdmlzaWJsZTplLnZpc2libGUscmlnaHRUZXh0OmUucmlnaHRUZXh0LGRhdGFRYUlkOmUuZGF0YVFhSWQsc3BsaXRJdGVtczpOZX0pO2Nhc2UiZGl2aWRlciI6cmV0dXJuIG8uY3JlYXRlRWxlbWVudChULHtrZXk6YGRpdmlkZXItJHt0fToke2UuaWR9YCx2aXNpYmxlOmUudmlzaWJsZX0pO2Nhc2UiY2hlY2tib3giOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoUix7a2V5OmBjaGVja2JveC0ke3R9OiR7ZS5pZH1gLHRpdGxlOmUudGl0bGUsZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbixvbkNsaWNrOmUub25DbGljayxjaGVja2VkOmUuY2hlY2tlZCx2aXNpYmxlOmUudmlzaWJsZSxjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2ssZGF0YVFhSWQ6ZS5kYXRhUWFJZH0pO2Nhc2Uic3dpdGNoIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KFEsewprZXk6YGNoZWNrYm94LSR7dH06JHtlLmlkfWAsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGljb25Tdmc6ZS5pY29uU3ZnLGljb25Vcmw6ZS5pY29uVXJsLGljb25Kc3g6ZS5pY29uSnN4LGljb25TcGFjZTplLmljb25TcGFjZSxvbkNsaWNrOmUub25DbGljayxjaGVja2VkOmUuY2hlY2tlZCx2aXNpYmxlOmUudmlzaWJsZSxjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2ssZGF0YVFhSWQ6ZS5kYXRhUWFJZH0pO2Nhc2UicmFkaW8iOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoQix7a2V5OmBjaGVja2JveC0ke3R9OiR7ZS5pZH1gLHRpdGxlOmUudGl0bGUsZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbixvbkNsaWNrOmUub25DbGljayxjaGVja2VkOmUuY2hlY2tlZCx2aXNpYmxlOmUudmlzaWJsZSxkaXNhYmxlZDplLmRpc2FibGVkLGNsb3NlT25DbGljazplLmNsb3NlT25DbGljayxkYXRhUWFJZDplLmRhdGFRYUlkfSk7Y2FzZSJzZWN0aW9uIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KE0se2tleTpgc2VjdGlvbi0ke2UudGl0bGV9OiR7ZS5pZH1gLHRpdGxlOmUudGl0bGUsaXRlbXM6ZS5pdGVtcyx3cmFwcGFibGU6ZS53cmFwcGFibGUsZGVmYXVsdFdyYXBwZWQ6ZS5kZWZhdWx0V3JhcHBlZCx2aXNpYmxlOmUudmlzaWJsZSxzdWJtZW51czplLnN1Ym1lbnVzLHN1Ym1lbnVPcHRpb25zOm4sZGF0YVFhSWQ6ZS5kYXRhUWFJZCxwaWNrTWVudUl0ZW06VGUsc3BsaXRJdGVtczpOZX0pO2Nhc2UiaGVhZGVyIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KFUse2tleToiaGVhZGVyIixpdGVtczplLml0ZW1zLHZpc2libGU6ZS52aXNpYmxlLHN1Ym1lbnVPcHRpb25zOm4scGlja01lbnVJdGVtOlRlfSk7Y2FzZSJmb290ZXIiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoSCx7a2V5OiJmb290ZXIiLGl0ZW1zOmUuaXRlbXMsdmlzaWJsZTplLnZpc2libGUsc3VibWVudU9wdGlvbnM6bixwaWNrTWVudUl0ZW06VGV9KTtjYXNlIm5vbkludGVyYWN0aXZlIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KEYse2tleToibm9uSW50ZXJhY3RpdmUtIit0LGxhYmVsOmUubGFiZWwsY2hpbGRyZW46ZS5jaGlsZHJlbixkYXRhUWFJZDplLmRhdGFRYUlkfSl9fTtmdW5jdGlvbiBQZShlKXtyZXR1cm4hKCFlfHwiZm9vdGVyIiE9PWUudHlwZSl9ZnVuY3Rpb24gUmUoZSl7cmV0dXJuISghZXx8ImhlYWRlciIhPT1lLnR5cGUpfWNvbnN0IE5lPShlLHQpPT57Y29uc3Qgbj0oZSxuKT0+VGUoZSxuLHQpLFtvLGksYV09KDAsQWUuc3BsaXQpKGUsUmUsUGUpLHI9by5tYXAobikuZmlsdGVyKHdlLmlzRXhpc3RlbnQpLGw9aS5tYXAobikuZmlsdGVyKHdlLmlzRXhpc3RlbnQpLGM9YS5tYXAobikuZmlsdGVyKHdlLmlzRXhpc3RlbnQpO3JldHVybntmaXhlZEhlYWRlcjpyLmxlbmd0aD4wP3I6bnVsbCxjaGlsZHJlbjpjLmxlbmd0aD4wP2M6bnVsbCxmaXhlZEZvb3RlcjpsLmxlbmd0aD4wP2w6bnVsbH19O2Z1bmN0aW9uIFFlKGUpe2NvbnN0e2l0ZW1zOnQsYW5jaG9ySWQ6bixhbmNob3JCdXR0b25SZWY6YSxjb250ZW50SWQ6cixpc09wZW46bCxvbkNsb3NlOmMscGxhY2VtZW50UnVsZXM6cyx3aWR0aDpkLGhlaWdodDp1LHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnAscmVwb3NpdGlvblRyaWdnZXJzOm0sb3BlblN1Ym1lbnVPbjpJPSJob3ZlciIsbW9iaWxlQnJlYWtwb2ludDp2LGNsb3NlT25TY3JvbGxPdXRzaWRlOkMsY2xvc2VPblJlc2l6ZVdpbmRvdzpiLGRhdGFRYUlkOmZ9PWUsaD0oMCxvLnVzZU1lbW8pKCgoKT0+ImZ1bmN0aW9uIiE9dHlwZW9mIHQ/dDpsP3QoKTpbXSksW3QsbF0pLGs9KDAsby51c2VNZW1vKSgoKCk9Pk5lKGgse29wZW5TdWJtZW51T246SSxjbG9zZU9uUmVzaXplV2luZG93OmIsY2xvc2VPblNjcm9sbE91dHNpZGU6Q30pKSxbYixDLEksaF0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5Qb3BvdmVyS2V5Ym9hcmROYXZpZ2F0b3Ise3JvbGU6Im1lbnUiLGFyaWFMYWJlbGxlZGJ5Om4saXNPcGVuOmwsb25DbG9zZTpjLGFuY2hvcmVkOnt0eXBlOiJlbGVtZW50IixhdDphfSxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OnIscGxhY2VtZW50UnVsZXM6cyx3aWR0aDpkLGhlaWdodDp1LHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnAscmVwb3NpdGlvblRyaWdnZXJzOm0sbW9iaWxlQnJlYWtwb2ludDp2LGNsb3NlT25TY3JvbGxPdXRzaWRlOkMsY2xvc2VPblJlc2l6ZVdpbmRvdzpiLGRhdGFRYUlkOmYsLi4ua30pfX0sNDA4MzcwKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIG87bi5kKHQse0Nsb3NlT25DbGljazooKT0+byxERUZBVUxUX0NMT1NFX09OX0NMSUNLOigpPT5pLE1lbnVDb250ZXh0QWN0aW9uS2luZDooKT0+cixNZW51SXRlbVZpc2libGU6KCk9PmF9KSxmdW5jdGlvbihlKXtlLkFsbExldmVscz0iYWxsTGV2ZWxzIixlLkN1cnJlbnRMZXZlbD0iY3VycmVudExldmVsIixlLkRvTm90Q2xvc2U9ImRvTm90Q2xvc2UifShvfHwobz17fSkpO2NvbnN0IGk9ImN1cnJlbnRMZXZlbCI7dmFyIGEscjshZnVuY3Rpb24oZSl7ZS5EZXNrdG9wT25seT0iZGVza3RvcE9ubHkiLGUuTW9iaWxlT25seT0ibW9iaWxlT25seSIsZS5BbHdheXM9ImFsd2F5cyJ9KGF8fChhPXt9KSksZnVuY3Rpb24oZSl7ZS5pY29uQnV0dG9uPSJpY29uQnV0dG9uIixlLmlxaT0iaXFpIixlLmN1c3RvbT0iY3VzdG9tIn0ocnx8KHI9e30pKX0sNDIyNzc3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUhvcml6b250YWxNZW51S2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5zfSk7dmFyIG89big5ODgwNjgpLGk9big0NDU0OTMpLGE9big4MDc4NzMpLHI9bigyODQ2OTApO2NvbnN0IGw9YFske28uREFUQV9JU19DT05URVhUX0FDVElPTn1dYCxjPWEuQ09OVEVYVF9BQ1RJT05fRk9DVVNBQkxFX1RBR1MubWFwKChlPT5gJHtsfSAke2V9YCkpLmpvaW4oIiwiKSxzPSgpPT57Y29uc3R7aXNSdGw6ZX09KDAsaS51c2VQb3BvdmVyQ29udGV4dCkoKTtyZXR1cm4oMCxyLmdldExpbmVhcktleWJvYXJkTmF2aWdhdGlvbikoYytgLFske28uREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OfV1gLHtob3Jpem9udGFsOiEwLGlzUnRsOmUsCmFsbG93TmVzdGVkRm9jdXNhYmxlOiEwfSl9fSw0OTM5NjAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aWNvblBhcnQ6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDQ1MDgyKTtmdW5jdGlvbiBhKGUpe2NvbnN0e2NoaWxkcmVuOnR9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChpLldyYXBwZXIse2luZXJ0OiEwfSx0KX12YXIgcj1uKDYzODg3MiksbD1uKDU5NDMyMyk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuV3JhcHBlcixudWxsKX1mdW5jdGlvbiBzKGUpe3JldHVybiBlLmljb25Kc3g/by5jcmVhdGVFbGVtZW50KGEsbnVsbCxlLmljb25Kc3gpOmUuaWNvblN2Zz9vLmNyZWF0ZUVsZW1lbnQoci5TdmdJY29uTGlzdEl0ZW1QYXJ0LHtpY29uU3ZnOmUuaWNvblN2Z30pOmUuaWNvblVybD9vLmNyZWF0ZUVsZW1lbnQobC5VcmxJY29uTGlzdEl0ZW1QYXJ0LHtpY29uVXJsOmUuaWNvblVybH0pOmUuaWNvblNwYWNlP28uY3JlYXRlRWxlbWVudChjLG51bGwpOnZvaWQgMH19LDQ2NjIzMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDaGVja2JveFBvcG92ZXJJdGVtOigpPT5yfSk7dmFyIG89big3Nzk0NzQpLGk9big1NzQwNzcpLGE9big5ODgwNjgpO2Z1bmN0aW9uIHIoZSl7Y29uc3R7cG9wb3Zlckl0ZW1SZWY6dCxwb3BvdmVySXRlbUJ1dHRvblJlZjpuLHBvcG92ZXJJdGVtQnV0dG9uSWQ6cixyb2xlOmwsdGl0bGU6YyxkZXNjcmlwdGlvbjpzLGNoZWNrZWQ6ZCxvbkNsaWNrOnUsYXJpYUNoZWNrZWQ6cCxsZWZ0U2xvdDptLHJpZ2h0U2xvdDpJLGRpc2FibGVkOnYsdGFiSW5kZXg6QyxkYXRhUWFJZDpifT1lLGY9KDAsby51c2VDYWxsYmFjaykoKCgpPT57dT8uKCFkKX0pLFtkLHVdKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuQ2hlY2tib3hMaXN0SXRlbSx7bGlzdEl0ZW1SZWY6dCxsaXN0SXRlbUJ1dHRvblJlZjpuLGxpc3RJdGVtQnV0dG9uSWQ6cixhcmlhQ2hlY2tlZDpwLHJvbGU6bCx0aXRsZTpjLGRlc2NyaXB0aW9uOnMsY2hlY2tlZDpkLG9uQ2xpY2s6ZixsZWZ0U2xvdDptLHJpZ2h0U2xvdDpJLGRpc2FibGVkOnYsdGFiSW5kZXg6QyxkYXRhUWFJZDpiLFthLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTl06InRydWUifSl9fSw4MDc4NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q09OVEVYVF9BQ1RJT05fRk9DVVNBQkxFX1RBR1M6KCk9PnUsQ29udGV4dEFjdGlvbjooKT0+bX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxhPW4ubihpKSxyPW4oMjk2Nzg2KSxsPW4oOTg4MDY4KSxjPW4oODY0NzM2KSxzPW4ubihjKTtjb25zdCBkPXtbbC5EQVRBX0lTX0NPTlRFWFRfQUNUSU9OXTohMH0sdT1bImFbaHJlZl0iLCJidXR0b246bm90KDpkaXNhYmxlZCkiLCJpbnB1dDpub3QoOmRpc2FibGVkKSIsJ1tyb2xlPSJidXR0b24iXSddLHA9dS5qb2luKCIsIik7ZnVuY3Rpb24gbShlKXtjb25zdHtjaGlsZHJlbjp0LGRhdGFRYUlkOm4scHJldmVudENsaWNrUHJvcGFnYXRpb246aT0hMH09ZSx7aWQ6bCxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6Yyxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOnUsc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjptfT0oMCxyLnVzZUNvbnRleHRBY3Rpb24pKCksST0oMCxvLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsby51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9SS5jdXJyZW50O2lmKCFlKXJldHVybjtjb25zdCB0PWUucXVlcnlTZWxlY3RvcihwKTtyZXR1cm4gdD9mdW5jdGlvbihlLHQpe2NvbnN0IG49KCk9Pnt0KChlPT5lKzEpKX0sbz0oKT0+e3QoKGU9PmUtMSkpfTtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbiksZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIixvKSwoKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLG4pLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsbyl9fSh0LG0pOnZvaWQgMH0pLFt0LG1dKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5kLGlkOmwscmVmOkksb25DbGljazplPT57aSYmZS5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3NOYW1lOmEoKShzKCkuY29udGV4dEFjdGlvbnMsYyYmcygpLmhpZGVJZk5vSG92ZXIsdT4wJiZzKCkuc29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkKSwiZGF0YS1xYS1pZCI6bn0sdCl9fSwyOTY3ODYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29udGV4dEFjdGlvbjooKT0+cix1c2VXcmFwcGVkSW50b0NvbnRleHRBY3Rpb25zQ29udGV4dDooKT0+YX0pO3ZhciBvPW4oNzc5NDc0KTtjb25zdCBpPSgwLG8uY3JlYXRlQ29udGV4dCkoe3NldElkczooKT0+e30saGlkZUNvbnRleHRBY3Rpb25zSWZOb0hvdmVyOiExLGZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6MCxzZXRGb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOigpPT57fX0pO2Z1bmN0aW9uIGEoZSx0LG4pe2NvbnN0W2Escl09KDAsby51c2VTdGF0ZSkoMCksbD0oMCxvLnVzZU1lbW8pKCgoKT0+KHtmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOmEsc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpyLHNldElkczp0LGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3ZlcjohIW59KSksW2Escix0LG5dKTtyZXR1cm4oMCxvLnVzZU1lbW8pKCgoKT0+ZT9vLmNyZWF0ZUVsZW1lbnQoaS5Qcm92aWRlcix7dmFsdWU6bH0sZSk6dm9pZCAwKSxbZSxsXSl9ZnVuY3Rpb24gcigpe2NvbnN0e3NldElkczplLGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3Zlcjp0LGZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6bixzZXRGb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOmF9PSgwLG8udXNlQ29udGV4dCkoaSkscj0oMCxvLnVzZUlkKSgpO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9PihlKChlPT5bLi4uZSxyXSkpLCgpPT57ZSgoZT0+ZS5maWx0ZXIoKGU9PmUhPT1yKSkpKX0pKSxbZSxyXSkse2lkOnIsaGlkZUNvbnRleHRBY3Rpb25zSWZOb0hvdmVyOnQsZm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpuLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6YX19fSw1OTA5MTQoZSx0LG4peyJ1c2Ugc3RyaWN0Igo7bi5kKHQse0NvbnRleHRBY3Rpb25zUG9wb3Zlckl0ZW06KCk9PmR9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk3MjczNCksYT1uKDc4Nzg5NSkscj1uKDQyMjc3NyksbD1uKDI5Njc4NiksYz1uKDUyOTQxMSk7ZnVuY3Rpb24gcyhlKXtjb25zdHtpZDp0LGFyaWFMYWJlbGxlZGJ5Om4sYXJpYU93bnM6aX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDp0LHJvbGU6Im1lbnUiLCJhcmlhLWxhYmVsbGVkYnkiOm4sImFyaWEtb3JpZW50YXRpb24iOiJob3Jpem9udGFsIiwiYXJpYS1vd25zIjppLmpvaW4oIiAiKSwiYXJpYS1oaWRkZW4iOjA9PT1pLmxlbmd0aH0pfWZ1bmN0aW9uIGQoZSl7Y29uc3QgdD0oMCxvLnVzZVJlZikobnVsbCksbj0oMCxvLnVzZVJlZikobnVsbCkse3BvcG92ZXJJdGVtUmVmOmQ9dCxwb3BvdmVySXRlbUJ1dHRvblJlZjp1PW4scG9wb3Zlckl0ZW1CdXR0b25JZDpwLHJvbGU6bSxhcmlhQ29udHJvbHM6SSxhcmlhTGFiZWw6dixsZWZ0U2xvdDpDLHRpdGxlOmIsZGVzY3JpcHRpb246ZixyaWdodFNsb3Q6aCxpc09wZW46ayxzZWxlY3RlZDpFLGRpc2FibGVkOk8saG90a2V5Omcsb25DbGljazp4LGFyaWFIYXNwb3B1cDpTLGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3Zlcjp5LGRhdGFRYUlkOkwsZWxsaXBzaXM6QX09ZSx3PSgwLGEudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZCksVD0oMCxhLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHUpLHtvbkZvY3VzOlAsb25LZXlEb3duOlJ9PSgwLHIudXNlSG9yaXpvbnRhbE1lbnVLZXlib2FyZE5hdmlnYXRpb24pKCksW04sUV09KDAsby51c2VTdGF0ZSkoW10pLF89KDAsYy51c2VJc0ZpcnN0UmVuZGVyKSgpLEI9KDAsbC51c2VXcmFwcGVkSW50b0NvbnRleHRBY3Rpb25zQ29udGV4dCkoaCxRLHkpLEQ9KDAsbC51c2VXcmFwcGVkSW50b0NvbnRleHRBY3Rpb25zQ29udGV4dCkoYixRLHkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIse29uRm9jdXM6UCxvbktleURvd246Un0sby5jcmVhdGVFbGVtZW50KGkuUG9wb3Zlckl0ZW0se3BvcG92ZXJJdGVtQnV0dG9uSWQ6cCxsZWZ0U2xvdDpDLHRpdGxlOkQsZGVzY3JpcHRpb246ZixyaWdodFNsb3Q6Qixpc09wZW46ayxzZWxlY3RlZDpFLGRpc2FibGVkOk8saG90a2V5Omcsb25DbGljazp4LHBvcG92ZXJJdGVtUmVmOncscG9wb3Zlckl0ZW1CdXR0b25SZWY6VCxyb2xlOm0sYXJpYUhhc3BvcHVwOlMsYXJpYUNvbnRyb2xzOkksYXJpYUV4cGFuZGVkOiEwLGFyaWFMYWJlbDp2LGFyaWFCdXN5Ol8sb3V0c2lkZU9mQnV0dG9uU2xvdDpvLmNyZWF0ZUVsZW1lbnQocyx7aWQ6SSxhcmlhTGFiZWxsZWRieTpwLGFyaWFPd25zOk59KSxkYXRhUWFJZDpMLGVsbGlwc2lzOkF9KSl9fSw5MjA5MzgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q3VzdG9tUG9wb3Zlckl0ZW06KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk4ODA2OCksYT1uKDg5NjIzNyk7Y29uc3Qgcj0oMCxvLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2lkOm4sY2hpbGRyZW46cixvbkNsaWNrOmwsZGlzYWJsZWQ6Yyxmb2N1c2FibGU6cyxyb2xlOmQsYXJpYUxhYmVsOnUsYXJpYUV4cGFuZGVkOnAsYXJpYUNvbnRyb2xzOm0sYXJpYUhhc3BvcHVwOkksZGF0YVFhSWQ6dn09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGEuQ3VzdG9tTGlzdEl0ZW0se2lkOm4sb25DbGljazpsLGZvY3VzYWJsZTpzLHJlZjp0LHJvbGU6ZCxhcmlhTGFiZWw6dSxhcmlhRXhwYW5kZWQ6cCxhcmlhQ29udHJvbHM6bSxhcmlhSGFzcG9wdXA6SSxkaXNhYmxlZDpjLGRhdGFRYUlkOnYsW2kuREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OXTpzfHxsPyJ0cnVlIjp2b2lkIDB9LHIpfSkpfSwzOTE5MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VjdGlvblBvcG92ZXJJdGVtOigpPT5jfSk7dmFyIG89big3Nzk0NzQpLGk9big0NDU0OTMpLGE9big4NDQ4NzEpLHI9big5ODgwNjgpLGw9big0MjI3NzcpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7aWQ6dCx0aXRsZTpuLGNoaWxkcmVuOmMsaXRlbVJvbGU6cyx3cmFwcGFibGU6ZCxkZWZhdWx0V3JhcHBlZDp1LG9uV3JhcHBlZENoYW5nZWQ6cCxhcmlhTGFiZWw6bSxyaWdodFNsb3Q6SSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTp2LGRhdGFRYUlkOkN9PWUsW2IsZl09KDAsby51c2VTdGF0ZSkodT8/ITEpLHtvbktleURvd246aH09KDAsbC51c2VIb3Jpem9udGFsTWVudUtleWJvYXJkTmF2aWdhdGlvbikoKSxrPW58fHZvaWQgMCx7b25Qb3BvdmVyQ29udGVudFJlc2l6ZTpFfT0oMCxpLnVzZVBvcG92ZXJDb250ZXh0KSgpOygwLG8udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntFPy4oKX0pLFtFLGJdKTtjb25zdCBPPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2YoKGU9Pntjb25zdCB0PSFlO3JldHVybiBwPy4odCksdH0pKX0pLFtwXSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGEuU2VjdGlvbkxpc3RJdGVtLHtpZDp0LHRpdGxlOmssY2hpbGRyZW46YyxpdGVtUm9sZTpzLGFyaWFMYWJlbDptLHJpZ2h0U2xvdDpJLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OnYsZGF0YVFhSWQ6Qyxpc1dyYXBwZWQ6ZD9iOnZvaWQgMCxvbkNsaWNrOmQ/Tzp2b2lkIDAsb25LZXlEb3duOmgsW3IuREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OXTpkfHxJPyJ0cnVlIjp2b2lkIDB9KSl9fSw1NjEyNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3dpdGNoUG9wb3Zlckl0ZW06KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk3MjczNCksYT1uKDMwODIxNik7ZnVuY3Rpb24gcihlKXtjb25zdHtwb3BvdmVySXRlbVJlZjp0LHBvcG92ZXJJdGVtQnV0dG9uUmVmOm4scG9wb3Zlckl0ZW1CdXR0b25JZDpyLHJvbGU6bCx0aXRsZTpjLGRlc2NyaXB0aW9uOnMsY2hlY2tlZDpkLG9uQ2xpY2s6dSxhcmlhQ2hlY2tlZDpwLGxlZnRTbG90Om0sZGF0YVFhSWQ6SX09ZSx2PSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e3U/LighZCl9KSxbdSxkXSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChpLlBvcG92ZXJJdGVtLHtwb3BvdmVySXRlbVJlZjp0LApwb3BvdmVySXRlbUJ1dHRvblJlZjpuLHBvcG92ZXJJdGVtQnV0dG9uSWQ6cixhcmlhQ2hlY2tlZDpwLGxlZnRTbG90Om0scm9sZTpsLHRpdGxlOmMsZGVzY3JpcHRpb246cyxyaWdodFNsb3Q6by5jcmVhdGVFbGVtZW50KGEuU3dpdGNoVmlldyx7Y2hlY2tlZDpkfSksb25DbGljazp2LGRhdGFRYUlkOkl9KX19LDcyMjMyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUaXRsZVBvcG92ZXJJdGVtOigpPT5zfSk7dmFyIG8saT1uKDc3OTQ3NCksYT1uKDk4ODA2OCkscj1uKDkzNTUzNSksbD1uKDQyMjc3NyksYz1uKDI5Njc4Nik7ZnVuY3Rpb24gcyhlKXtjb25zdHtpZDp0LHJvbGU6bixsZWZ0U2xvdDpvLHRpdGxlOnMsb25DbGljazpkLGFyaWFMYWJlbDp1LHJpZ2h0U2xvdDpwLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5Om0scG9wb3Zlckl0ZW1CdXR0b25SZWY6SSx2YXJpYW50OnYsYXJpYUNvbnRyb2xzOkMsdGl0bGVJZDpiLHdyYXBwYWJsZTpmLHdyYXBwZWQ6aCxkYXRhUWFJZDprfT1lLHtvbktleURvd246RX09KDAsbC51c2VIb3Jpem9udGFsTWVudUtleWJvYXJkTmF2aWdhdGlvbikoKSxbTyxnXT0oMCxpLnVzZVN0YXRlKShbXSkseD0oMCxjLnVzZVdyYXBwZWRJbnRvQ29udGV4dEFjdGlvbnNDb250ZXh0KShwLGcpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoci5UaXRsZUxpc3RJdGVtLHtpZDp0LHJvbGU6bixsZWZ0U2xvdDpvLHRpdGxlOnMsb25DbGljazpkLGFyaWFMYWJlbDp1LHJpZ2h0U2xvdDp4LHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5Om0sbGlzdEl0ZW1CdXR0b25SZWY6SSx2YXJpYW50OnYsYXJpYUNvbnRyb2xzOkMsdGl0bGVJZDpiLHdyYXBwZWQ6Zj9oOnZvaWQgMCxkYXRhUWFJZDprLG9uS2V5RG93bjpFLG5lc3RlZExpc3RzQXJpYU93bnM6Ty5sZW5ndGg+MD9PLmpvaW4oIiAiKTp2b2lkIDAsbmVzdGVkTGlzdEFyaWFIaWRkZW46MD09PU8ubGVuZ3RoLFthLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTl06Znx8ZHx8cD8idHJ1ZSI6dm9pZCAwfSl9IWZ1bmN0aW9uKGUpe2UuUHJpbWFyeT0icHJpbWFyeSIsZS5TZWNvbmRhcnk9InNlY29uZGFyeSJ9KG98fChvPXt9KSl9LDMwODIxNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTd2l0Y2hWaWV3OigpPT5zfSk7dmFyIG8saT1uKDc3OTQ3NCksYT1uKDkxNDQ4Nykscj1uLm4oYSksbD1uKDYyNTcwOSksYz1uLm4obCk7ZnVuY3Rpb24gcyhlKXtjb25zdHtzaXplOnQ9InNtYWxsIixjaGVja2VkOm4sZGlzYWJsZWQ6b309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKShjKCkuc3dpdGNoVmlldyxjKClbdF0sbyYmYygpLmRpc2FibGVkLG4mJmMoKS5jaGVja2VkKX0saS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmMoKS50cmFja30pLGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpjKCkudGh1bWJ9KSl9IWZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLk1lZGl1bT0ibWVkaXVtIixlLkxhcmdlPSJsYXJnZSJ9KG98fChvPXt9KSl9LDkxMzg3NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgTWFwO3JldHVybiBBcnJheS5mcm9tKGUudmFsdWVzKCkpLmZvckVhY2goKChlLG4pPT57dC5zZXQoZS5pZCxuKX0pKSx0fWZ1bmN0aW9uIGkoZSwuLi50KXtjb25zdCBuPXQubWFwKCgoKT0+W10pKTtyZXR1cm4gbi5wdXNoKFtdKSxlLmZvckVhY2goKGU9Pntjb25zdCBvPXQuZmluZEluZGV4KCh0PT50KGUpKSksaT0obi5sZW5ndGgrbyklbi5sZW5ndGg7bltpXS5wdXNoKGUpfSkpLG59bi5kKHQse2dldElkVG9JbmRleE1hcDooKT0+byxzcGxpdDooKT0+aX0pfSwxOTQ2NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTQuNjcgNy4zOC42Ni0uNzZMOSA5Ljg0bDMuNjctMy4yMi42Ni43Nkw5IDExLjE2IDQuNjcgNy4zOFoiLz48L3N2Zz4nfSw1NDMzMzkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTQuNjcgMTAuNjIuNjYuNzZMOSA4LjE2bDMuNjcgMy4yMi42Ni0uNzZMOSA2Ljg0bC00LjMzIDMuNzhaIi8+PC9zdmc+J30sMTIyOTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAzQTEuNSAxLjUgMCAwIDAgMyA0LjV2OUExLjUgMS41IDAgMCAwIDQuNSAxNWg5YTEuNSAxLjUgMCAwIDAgMS41LTEuNVYxMGgtMXYzLjVhLjUuNSAwIDAgMS0uNS41aC05YS41LjUgMCAwIDEtLjUtLjV2LTlhLjUuNSAwIDAgMSAuNS0uNUg4VjNINC41ek0xMSA0aDIuM0w5LjE0IDguMTVsLjcuN0wxNCA0LjcxVjdoMVYzaC00djF6Ii8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97272.3bfbfc8daabca040cf73.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.630Z","timestamp":1785136901630,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97272.3bfbfc8daabca040cf73.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-2388c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 841f95f6db75ba918851ad71c0dc77f1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":145548,"size_decoded":44654,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"8c50864d30ec134dd6dbf5614f6b0993","sha1":"e6f4e061c6b41ee25122eea9292ee1060bcbf290","sha256":"781e57f4504c7b485e77c0196c82978e6e2b63b503428b039f1ea86e3d3d8c6b","sha512":"4fa1d6e1afa37a9a925a9205354516db356d3db9d7d48297be0d7d04a262559ee656baf6c62318da568ad9c4278b2022f50b58265cfae5ed55c87373ef41a88c","ssdeep":"3072:AmXiQrx9XT2QQFJGUY/yORpn9VNpvNV7lzQQ3+EsCfEbNxYtyphoG:xlT2QQFJ1QVpn9VzvNV7lzQQ3kC8rSsz","tlshash":"d2e3e69272a5749683b901d54cf44503ab4d1c8bb84a888cf2bc1cef561de5d32befb9","first_seen":"2026-07-22T16:00:00.509283Z","last_seen":"2026-07-28T06:17:53.365018Z","times_seen":88,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTcyNzJdLHsxNDUzODEoZSx0LHMpe3MuZCh0LHtleHRyYWN0VGl0bGVQYXJ0czooKT0+YSxzdHVkeUlkc0hpZGVJbnB1dHNNb2RlOigpPT5ufSk7dmFyIGkscj1zKDYzNDg2KTshZnVuY3Rpb24oZSl7ZVtlLkFsd2F5cz0wXT0iQWx3YXlzIixlW2UuQ2hhcnRTdHlsZT0xXT0iQ2hhcnRTdHlsZSJ9KGl8fChpPXt9KSk7Y29uc3Qgbj1uZXcgTWFwKFtbIlZvbHVtZUB0di1iYXNpY3N0dWRpZXMiLDBdLFsiQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsMF0sWyJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSIsMF0sWyJUUE9QZXJpb2RpY0B0di12b2x1bWVieXByaWNlIiwxXSxbIlRQT1Nlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UiLDFdXSk7ZnVuY3Rpb24gYSh7dGl0bGU6ZSxzdHVkeUlkOnQsaGFzSW5wdXRzOnMsZGVzY3JpcHRpb246aSx3aXRoTWFpblNlcmllc0NoYXJ0U3R5bGU6YSxpc0Z1bmRhbWVudGFsU3R1ZHk6b30pe2lmKCFzKXJldHVybltlXTtsZXQgbDtpP2w9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5yZXBsYWNlKHQsIiIpLnRyaW0oKXx8dm9pZCAwfShlLGkpOltpLGxdPWZ1bmN0aW9uKGUpe2lmKCIpIiE9PWVbZS5sZW5ndGgtMV0pcmV0dXJuW2VdO2xldCB0PTA7Zm9yKGxldCBzPWUubGVuZ3RoLTE7cz49MDtzLS0paWYoIikiPT09ZVtzXSl0Kys7ZWxzZSBpZigiKCI9PT1lW3NdJiYodC0tLDA9PT10JiZzPjEmJiIgIj09PWVbcy0xXSkpcmV0dXJuW2Uuc2xpY2UoMCxzLTEpLGUuc2xpY2UocyldO3JldHVybltlXX0oZSk7Y29uc3QgaD1mdW5jdGlvbihlLHQpe3JldHVybiB0PzA6bi5nZXQoZSl9KCgwLHIuZXh0cmFjdFN0dWR5SWQpKHQpLG8pO3JldHVybiFsfHwoMD09PWh8fDE9PT1oJiZhKT9baV06W2ksbF19fSwyMDU2MTEoZSx0LHMpe3MuZCh0LHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5yfSk7dmFyIGk9cygyMzIzNjQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBzPW5ldyBpLldhdGNoZWRWYWx1ZShlKCkpLHI9e307dC5mb3JFYWNoKCh0PT50LnN1YnNjcmliZShyLCgoKT0+e3Muc2V0VmFsdWUoZSgpKX0pKSkpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LmZvckVhY2goKGU9PmUudW5zdWJzY3JpYmVBbGwocikpKSkpfX0sOTUzNjYwKGUpe2NvbnN0IHQ9NTUyOTYscz0xMjc5OTUsaT0xMjc5OTkscj1bNzc2LDIzNTksMjM1OSwyMzY3LDIzNjcsMjk4NCwzMDA3LDMwMjEsMzYzMywzNjM1LDM2NDgsMzY1Nyw0MzUyLDQ0NDksNDUyMF07ZnVuY3Rpb24gbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJzdHJpbmcgY2Fubm90IGJlIHVuZGVmaW5lZCBvciBudWxsIik7Y29uc3QgdD1bXTtsZXQgcz0wLGk9MDtmb3IoO3M8ZS5sZW5ndGg7KWkrPWEocytpLGUpLHUoZVtzK2ldKSYmaSsrLGwoZVtzK2ldKSYmaSsrLGgoZVtzK2ldKSYmaSsrLGMoZVtzK2ldKT9pKys6KHQucHVzaChlLnN1YnN0cmluZyhzLHMraSkpLHMrPWksaT0wKTtyZXR1cm4gdH1mdW5jdGlvbiBhKGUscil7Y29uc3Qgbj1yW2VdO2lmKCFmdW5jdGlvbihlKXtyZXR1cm4gZSYmcChlWzBdLmNoYXJDb2RlQXQoMCksdCw1NjMxOSl9KG4pfHxlPT09ci5sZW5ndGgtMSlyZXR1cm4gMTtjb25zdCBhPW4rcltlKzFdO2xldCBsPXIuc3Vic3RyaW5nKGUrMixlKzUpO3JldHVybiBvKGEpJiZvKGwpfHxmdW5jdGlvbihlKXtyZXR1cm4gcChkKGUpLHMsaSl9KGwpPzQ6Mn1mdW5jdGlvbiBvKGUpe3JldHVybiBwKGQoZSksMTI3NDYyLDEyNzQ4Nyl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJnAoZS5jaGFyQ29kZUF0KDApLDY1MDI0LDY1MDM5KX1mdW5jdGlvbiBoKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmcChlLmNoYXJDb2RlQXQoMCksODQwMCw4NDQ3KX1mdW5jdGlvbiB1KGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmLTEhPT1yLmluZGV4T2YoZS5jaGFyQ29kZUF0KDApKX1mdW5jdGlvbiBjKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmODIwNT09PWUuY2hhckNvZGVBdCgwKX1mdW5jdGlvbiBkKGUpe3JldHVybihlLmNoYXJDb2RlQXQoMCktdDw8MTApKyhlLmNoYXJDb2RlQXQoMSktNTYzMjApKzY1NTM2fWZ1bmN0aW9uIHAoZSx0LHMpe3JldHVybiBlPj10JiZlPD1zfWUuZXhwb3J0cz1uLGUuZXhwb3J0cy5zdWJzdHI9ZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9bihlKTtpZih2b2lkIDA9PT10KXJldHVybiBlO2lmKHQ+PWkubGVuZ3RoKXJldHVybiIiO2NvbnN0IHI9aS5sZW5ndGgtdDtsZXQgYT10Kyh2b2lkIDA9PT1zP3I6cyk7cmV0dXJuIGE+dCtyJiYoYT12b2lkIDApLGkuc2xpY2UodCxhKS5qb2luKCIiKX19LDUyMDM2MyhlLHQscyl7cy5kKHQse1N0dWR5QmFzZVdpbmRvd1ZpZXc6KCk9Pm59KTt2YXIgaT1zKDc3OTUxNikscj1zKDk0Mzk1KTtjbGFzcyBuIGV4dGVuZHMgaS5EYXRhV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3ZhbHVlUHJvdmlkZXI9dGhpcy5fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KSx0aGlzLl9pdGVtcz10aGlzLl92YWx1ZVByb3ZpZGVyLmdldEl0ZW1zKCkubWFwKChlPT5uZXcgaS5EYXRhV2luZG93SXRlbShlLmlkLGUudGl0bGUsIiIpKSl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9pdGVtc31zdHVkeSgpe3JldHVybiB0aGlzLl9zdHVkeX1fdXBkYXRlSW1wbCgpe3RoaXMuX2hlYWRlcj10aGlzLl9zdHVkeS50aXRsZShyLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93KSx0aGlzLl90aXRsZT10aGlzLl9zdHVkeS50aXRsZShyLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93LCExKQo7Y29uc3QgZT10aGlzLl92YWx1ZVByb3ZpZGVyLmdldFZhbHVlcyh0aGlzLl9jdXJyZW50SW5kZXgoKSk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IHM9ZVt0XSxpPXRoaXMuX2l0ZW1zW3RdO2kuc2V0VmFsdWUocy52YWx1ZSksaS5zZXRWaXNpYmxlKHMudmlzaWJsZSksaS5zZXRDb2xvcihzLmNvbG9yKSxpLnNldFRpdGxlKHMudGl0bGUpfX1fY3VycmVudEluZGV4KCl7Y29uc3QgZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKTtyZXR1cm4gaXNOYU4oZSk/bnVsbDplfX19LDg3MzYzKGUsdCxzKXtzLmQodCx7U3R1ZHlDaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyOigpPT5hfSk7dmFyIGk9cygzMDk4MzcpLHI9cygxNjU1MCksbj1zKDE2ODI1OCk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2hoaXN0QmFzZWRTdHVkeT0hIWUubWV0YUluZm8oKS5ncmFwaGljcy5oaGlzdHMsdGhpcy5fdmFsdWVzUHJvdmlkZXI9dGhpcy5faGhpc3RCYXNlZFN0dWR5P25ldyByLkhIaXN0QmFzZWRWYWx1ZXNQcm92aWRlcihlLHQscyk6bmV3IGkuU3R1ZHlWYWx1ZXNQcm92aWRlcihlLHQscyl9Z2V0SXRlbXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzUHJvdmlkZXIuZ2V0SXRlbXMoKX1nZXRWYWx1ZXMoZSl7Y29uc3QgdD10aGlzLl92YWx1ZXNQcm92aWRlci5nZXRWYWx1ZXMoZSkscz1lPT50aGlzLl9zdHVkeS5pc1Bsb3RWaXNpYmxlQXQoZSxuLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSl8fHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdChlLG4uU3R1ZHlQbG90RGlzcGxheVRhcmdldC5QYW5lKTtmb3IoY29uc3QgZSBvZiB0KWUudmlzaWJsZT1lLnZpc2libGUmJih0aGlzLl9oaGlzdEJhc2VkU3R1ZHl8fHMoZS5pZCkpO3JldHVybiB0fX19LDE0MTM1MChlLHQscyl7cy5kKHQse1N0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3OigpPT5hfSk7dmFyIGk9cygxMzg2MzgpLHI9cyg2MDE4NDEpLG49cyg5NDM5NSk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscz0hMSl7dGhpcy5faXRlbXM9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3Nob3dBbGxQbG90c1RpdGxlPXN9ZGVzdHJveSgpe31pdGVtcygpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5faXRlbXN9dXBkYXRlKGUpe3RoaXMuX2ludmFsaWRhdGVkPSEwfV91cGRhdGVJbXBsKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCksdD10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKSxzPSgwLGkuZW5zdXJlTm90TnVsbCkoZSkuZ2V0VmFsdWVzKHQpLGE9dGhpcy5fc3R1ZHkudGl0bGVJblBhcnRzKG4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpLG89YVswXTtsZXQgbD0iIjtpZihhLmxlbmd0aD4xKXtjb25zdCBlPWFbMV07ZS5sZW5ndGg+MCYmKGw9ZS5qb2luKCIgIikpfXRoaXMuX2l0ZW1zPXMuZmlsdGVyKHIubm90VW5kZWZpbmVkKS5maWx0ZXIoKGU9PmUudmlzaWJsZSkpLm1hcCgoKGUsdCk9Pih7dGl0bGVUZXh0OnRoaXMuX3Nob3dBbGxQbG90c1RpdGxlP2UudGl0bGU6MD09PXQ/bzoiIix0aXRsZUlucHV0czp0aGlzLl9zaG93QWxsUGxvdHNUaXRsZT8iIjowPT09dD9sOiIiLHZhbHVlOmUudmFsdWUsdmFsdWVDb2xvcjplLmNvbG9yfSkpKX19fSw1MzY3MTAoZSx0LHMpe3MuZCh0LHtTdHVkeURhdGFXaW5kb3dWaWV3OigpPT5ufSk7dmFyIGk9cyg1MjAzNjMpLHI9cyg2MzE0MDQpO2NsYXNzIG4gZXh0ZW5kcyBpLlN0dWR5QmFzZVdpbmRvd1ZpZXd7Y2FuU2hvd0l0ZW1zKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KTtyZXR1cm4hIWU/Lm1heGltaXplZCgpLnZhbHVlKCl8fHRoaXMuX21vZGVsLnBhbmVzKCkuZXZlcnkoKGU9PiFlLm1heGltaXplZCgpLnZhbHVlKCkpKX1fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KXtyZXR1cm4gbmV3IHIuU3R1ZHlEYXRhV2luZG93VmFsdWVzUHJvdmlkZXIoZSx0KX19fSwyNzU4NDkoZSx0LHMpe3MuZCh0LHtTdHVkeVN0YXR1c1Byb3ZpZGVyOigpPT5sfSk7dmFyIGk9cygxODUyNzEpLHI9cyg4Njc4MzEpLG49cyg2MzI0NDQpLGE9cygzMTQyNyk7Y29uc3Qgbz1pLnQobnVsbCx2b2lkIDAscygxNTU4NSkpO2NsYXNzIGwgZXh0ZW5kcyBhLlN0dWR5U3RhdHVzUHJvdmlkZXJCYXNle3NvdXJjZVN0YXR1c1RleHQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtpZihlLnN0YXR1cygpLnR5cGU9PT1yLlN0dWR5U3RhdHVzVHlwZS5FcnJvcil7Y29uc3QgdD1lLm1ldGFJbmZvKCkscz0oMCxuLmV4dHJhY3RQaW5lSWQpKHQuZnVsbElkKTtpZih0LnNjcmlwdElkUGFydCYmKDAsbi5pc0VkZ3JQaW5lSWQpKHQuc2NyaXB0SWRQYXJ0KXx8cyYmKDAsbi5pc0VkZ3JQaW5lSWQpKHMpKXJldHVybiBvfXJldHVybiBzdXBlci5zb3VyY2VTdGF0dXNUZXh0KCl9fX0sNTcyMjUoZSx0LHMpe3MuZCh0LHtidWlsZFRyZWVGb3JTdHVkeTooKT0+byxidWlsZFR1cm5hcm91bmQ6KCk9PmEsY2FuQnVpbGRUdXJuYXJvdW5kOigpPT5sfSk7dmFyIGk9cygxMzg2MzgpO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZS5zdHVkeUlkLmxvY2FsZUNvbXBhcmUodC5zdHVkeUlkKX1mdW5jdGlvbiBuKGUpe2NvbnN0IHQ9bmV3IFNldCxzPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pnt0LmhhcyhlLnN0dWR5SWQpfHwodC5hZGQoZS5zdHVkeUlkKSxzLnB1c2goZSkpfSkpLHN9ZnVuY3Rpb24gYShlLHQpe2xldCBzPXQudHVybmFyb3VuZCxpPVt0XTtmb3IoO2kubGVuZ3RoPjA7KXtsZXQgZT1bXTtjb25zdCB0PVtdO2kuZm9yRWFjaCgocz0+e2NvbnN0IGk9bihzLnNvdXJjZVN0dWRpZXMpLnNvcnQocik7aWYoaS5sZW5ndGg+MCl7ZT1lLmNvbmNhdChpKTtjb25zdCBzPWkubWFwKChlPT5lLnR1cm5hcm91bmQpKS5qb2luKCJfIik7dC5wdXNoKHMpfQp9KSksdC5sZW5ndGgmJihzPXQuam9pbigiXyIpKyJfIitzKSxpPWV9cmV0dXJuIGUrIl8iK3N9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCk7cmV0dXJue3N0dWR5SWQ6KDAsaS5lbnN1cmVOb3ROdWxsKShlLnNvdXJjZUlkKCkpLHR1cm5hcm91bmQ6ZS50dXJuYXJvdW5kKCksc291cmNlU3R1ZGllczplLnBhcmVudFNvdXJjZXMoKS5maWx0ZXIoKGU9PmUhPT10KSkubWFwKChlPT5vKGUpKSl9fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIG51bGwhPT1lLnNvdXJjZUlkKCkmJmUucGFyZW50U291cmNlcygpLmV2ZXJ5KChlPT5sKGUpKSl9fSwxOTcyNzIoZSx0LHMpe3MuZCh0LHtTdHVkeTooKT0+VXMsZW1wdHlQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbzooKT0+d3N9KTt2YXIgaT1zKDU0Nzg1MSkscj1zKDE2NzUwMiksbj1zKDIwMzY4MSksYT1zKDc0MDE2Miksbz1zKDE0NDU1NSksbD1zKDkyMDQ3NSksaD1zKDEzODYzOCksdT1zKDYwMTg0MSksYz1zKDIyMTA2MSksZD1zKDY0MTU5MykscD1zKDE5ODkwMSksXz1zKDk1MjkwMCksZj1zKDIzMjM2NCksbT1zKDQwMjA0NSkseT1zKDk0ODM4MCksZz1zKDg1NzE1MSksUz1zKDkzNjMyNiksYj1zKDk2MDQ2NCksdj1zKDc5MTQyNyksUD1zKDE0NTM4MSksST1zKDkzMDIzMSksdz1zKDEwMDU5NSksQz1zLm4odyk7dmFyIFY9cygxODUyNzEpLHg9cyg4NTY1Nik7dmFyIEE9cyg4NzIzNDMpLFI9cyg0MDc4MTQpO3ZhciBNPXMoMTcyMzA0KSxUPXMoMjQxMyksRD1zKDYzNDg2KSxGPXMoNDk3Njc5KSxPPXMoNzcwNzU1KSxOPXMoNDg3ODIwKTtjbGFzcyBre2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWxlcnRzPW5ldyBtLldhdGNoZWRPYmplY3QoW10pLHRoaXMuX2FsZXJ0U2VyaWVzSWQ9dCx0aGlzLl9hbGVydHNDb2xsZWN0aW9uPWUuYWxlcnRzQ29sbGVjdGlvbigpLnNwYXduKCksdGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRzTGlzdC5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9hbGVydFNlcmllc0lkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2FsZXJ0c0NvbGxlY3Rpb24uZGVzdHJveSgpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz8uKCksdGhpcy5fYWxlcnRTZXJpZXNJZC5yZWxlYXNlKCl9YWxlcnRzKCl7cmV0dXJuIHRoaXMuX2FsZXJ0cy5yZWFkb25seSgpfV91cGRhdGVBbGVydHNMaXN0KGUpe2lmKHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz8uKCksdGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPXZvaWQgMCxlKXtjb25zdCB0PXRoaXMuX3VwZGF0ZUFsZXJ0cy5iaW5kKHRoaXMpO2UuYWxlcnRzKCkuc3Vic2NyaWJlKHQpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz0oKT0+ZS5hbGVydHMoKS51bnN1YnNjcmliZSh0KX10aGlzLl91cGRhdGVBbGVydHMoKX1fdXBkYXRlQWxlcnRzKCl7Y29uc3QgZT10aGlzLl9hbGVydHNDb2xsZWN0aW9uLnZhbHVlKCksdD10aGlzLl9hbGVydFNlcmllc0lkLnZhbHVlKCk7aWYoIWV8fCF0KXJldHVybiB2b2lkIHRoaXMuX2FsZXJ0cy5zZXRWYWx1ZShbXSk7Y29uc3Qgcz1lLmFsZXJ0cygpLnZhbHVlKCkuZmlsdGVyKChlPT5lLmFjdGl2ZSgpLnZhbHVlKCkmJmUuY2FuVXNlSW5TdHVkeVNvdXJjZU1vZGVsKHQpKSkubWFwKChlPT4oe3RpdGxlOmUuZGVzY3JpcHRpb24oKSxjYW5EaXNwbGF5T25TdGF0dXNWaWV3OigpPT5lLmlzQWxlcnRQcmVzZW50T25UYXJnZXQoTi5BbGVydENoYXJ0RGlzcGxheVRhcmdldC5TdGF0dXNWaWV3KX0pKSk7dGhpcy5fYWxlcnRzLnNldFZhbHVlKHMpfX12YXIgQj1zKDg4OTUxNSksRT1zKDIyNjkzNyksTD1zKDg3MzU3MyksSD1zKDQxNDczNCksVT1zKDU0MjM0OSksVz1zKDcwNDU3MiksRz1zKDk1NjQzNyksaj1zKDYzNTUwOSksej1zKDczMjA4MCksJD1zKDM4ODM2NyksSz1zKDIxODc2NSkscT1zKDUyMDM2MyksSj1zKDk2NjQwNCksWT1zKDkyODY2OSksWj1zKDE2ODI1OCk7Y2xhc3MgWCBleHRlbmRzIHEuU3R1ZHlCYXNlV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fc2hvd1N0dWR5VmFsdWVzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N0dWR5VmFsdWVzLHRoaXMuX3Nob3dTdHVkeVZhbHVlcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMudXBkYXRlKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKSk7Y29uc3Qgcz10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCk7cy5jaGlsZHMoKS5zaG93TGVnZW5kVmFsdWVzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoZS5pZCgpKSkpKTtjb25zdCBpPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMscj1uZXcgU2V0O2kuZm9yRWFjaCgodD0+e2lmKCgwLFouaXNPaGxjUGxvdCkodCkpe2NvbnN0IGk9dC50YXJnZXQ7aWYoci5oYXMoaSkpcmV0dXJuO3IuYWRkKGkpLHMuY2hpbGRzKCkub2hsY1Bsb3RzLmNoaWxkcygpW2ldLmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSkpfWVsc2UoMCxaLmlzUGxvdFN1cHBvcnREaXNwbGF5KSh0KSYmcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdC5pZF0/LmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSkpfSkpfWFyZVZhbHVlc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5fc2hvd1N0dWR5VmFsdWVzLnZhbHVlKCl9YWRkaXRpb25hbCgpe3JldHVybiBudWxsfWRlc3Ryb3koKXt0aGlzLl9zaG93U3R1ZHlWYWx1ZXMudW5zdWJzY3JpYmVBbGwodGhpcyk7Y29uc3QgZT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkKO2UuY2hpbGRzKCkuc2hvd0xlZ2VuZFZhbHVlcy51bnN1YnNjcmliZUFsbCh0aGlzKTtjb25zdCB0PXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMscz1uZXcgU2V0O3QuZm9yRWFjaCgodD0+e2lmKCgwLFouaXNPaGxjUGxvdCkodCkpe2NvbnN0IGk9dC50YXJnZXQ7aWYocy5oYXMoaSkpcmV0dXJuO3MuYWRkKGkpLGUuY2hpbGRzKCkub2hsY1Bsb3RzLmNoaWxkcygpW2ldLmNoaWxkcygpLmRpc3BsYXkudW5zdWJzY3JpYmVBbGwodGhpcyl9ZWxzZSgwLFouaXNQbG90U3VwcG9ydERpc3BsYXkpKHQpJiZlLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0LmlkXT8uY2hpbGRzKCkuZGlzcGxheS51bnN1YnNjcmliZUFsbCh0aGlzKX0pKX1fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KXtyZXR1cm4gbmV3IFkuU3R1ZHlMZWdlbmRWYWx1ZXNQcm92aWRlcihlLHQpfX12YXIgUT1zKDY3ODI4NSksZWU9cyg5MzI2OTMpLHRlPXMoNDA3Nzk5KSxzZT1zKDY0NTI4NSksaWU9cyg3OTE1MjEpLHJlPXMoMjc1ODQ5KSxuZT1zKDg3MzYzKSxhZT1zKDQ3NzM4OCk7Y2xhc3Mgb2V7Y29uc3RydWN0b3IoZSx0LHM9ITEpe3RoaXMucHJpY2U9dCx0aGlzLmluZGV4PWUsdGhpcy51c2VNYWluU2VyaWVzRm9yUHJpY2VSYW5nZT1zfX12YXIgbGU9cygyOTM0MTgpO2Z1bmN0aW9uIGhlKGUsdCxzLGkpe2lmKGUueTE9PT1lLnkyKXJldHVybiBmdW5jdGlvbihlLHQscyl7cmV0dXJuKDAsaC5hc3NlcnQpKGUueTE9PT1lLnkyKSwoMCxsZS5kb2VzSXRlbUFmZmVjdFZpc2libGVSYW5nZSkoZS54MSxlLngyLGUuZXh0ZW5kLHQscyk/W25ldyBvZSh0LGUueTEsITEpLG5ldyBvZShzLGUueTIsITEpXTpbXX0oZSxzLGkpO2NvbnN0IHI9W107cmV0dXJuIG51bGwhPT1lLngxJiZyLnB1c2gobmV3IG9lKGUueDEsZS55MSwhMSkpLG51bGwhPT1lLngyJiZyLnB1c2gobmV3IG9lKGUueDIsZS55MiwhMSkpLHJ9ZnVuY3Rpb24gdWUoZSx0LHMsaSl7cmV0dXJuIGUucG9pbnRzLmZpbHRlcigoZT0+ZS54Pj1zJiZlLng8PWkpKS5tYXAoKGU9Pm5ldyBvZShlLngsZS55LCExKSkpfWZ1bmN0aW9uIGNlKGUsdCxzLGkpe3JldHVybigwLGxlLmRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlKShlLmxlZnQsZS5yaWdodCxlLmV4dGVuZCxzLGkpP1tuZXcgb2UocyxlLnRvcCwhMSksbmV3IG9lKGksZS5ib3R0b20sITEpXTpbXX12YXIgZGU9cyg1NDg1NjApO2Z1bmN0aW9uIHBlKGUsdCxzLGkpe2xldCByO2NvbnN0IG49ZS55bG9jIT09ZGUuRHdnTGFiZWxZbG9jLlByaWNlJiZlLnlsb2MhPT1kZS5Ed2dMYWJlbFlsb2MuQXV0bztpZihuKXtjb25zdCBzPWUueWxvYz09PWRlLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcj8yOjMsaT10LnZhbHVlQXQoZS54KTtudWxsIT09aSYmKHI9aVtzXSl9ZWxzZSByPWUueTtyZXR1cm4gbnVsbD09cj9udWxsOltuZXcgb2UoZS54LHIsbildfXZhciBfZT1zKDE3OTY3NCk7ZnVuY3Rpb24gZmUoZSx0LHMsaSxyLG4pe2lmKCEoMCxsZS5kb2VzSXRlbUFmZmVjdFZpc2libGVSYW5nZSkoZS5maXJzdEJhclRpbWUsZS5sYXN0QmFyVGltZSxfZS5Ed2dFeHRlbmQuTm9uZSxzLGkpKXJldHVybltdO2xldCBhPTEvMCxvPS0xLzA7Zm9yKGNvbnN0W3Qsc11vZiByLnRwb0Jsb2NrU2V0cygpKWlmKG49PT10KWZvcihjb25zdCB0IG9mIHMuZ2V0KGUuaWQpfHxbXSlhPU1hdGgubWluKGEsdC5yb3dJbmRleCplLnByaWNlUmFuZ2UpLG89TWF0aC5tYXgobywodC5yb3dJbmRleCsxKSplLnByaWNlUmFuZ2UpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/W25ldyBvZShzLG8sITEpLG5ldyBvZShpLGEsITEpXTpbXX1jbGFzcyBtZXtjb25zdHJ1Y3RvcihlLHQscyxpLHIpe3RoaXMuX21hcEdldHRlcj1lLHRoaXMuX3N0dWR5PXQsdGhpcy5fYmFycz10LnNlcmllcygpLmJhcnMoKSx0aGlzLl92aXNpYmlsaXR5R2V0dGVyPXMsdGhpcy5fZ2V0UG9pbnRzPWksdGhpcy5fZ2V0TWFyZ2lucz1yfWdyb3VwUHJpY2VSYW5nZShlLHQscyl7bGV0IGk9bnVsbDtjb25zdCByPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCk7Zm9yKGNvbnN0W24sYV1vZiB0aGlzLl9tYXBHZXR0ZXIocykpaWYodGhpcy5fdmlzaWJpbGl0eUdldHRlcihuKSlmb3IoY29uc3QgcyBvZiBhKXtjb25zdCBhPXRoaXMuX2dldFBvaW50cyhzLHRoaXMuX2JhcnMsZSx0LHIsbik7aWYobnVsbD09PWEpY29udGludWU7bGV0IG89MS8wLGw9LTEvMCxoPSExLHU9ITEsYz0hMTtmb3IoY29uc3QgcyBvZiBhKXtjb25zdCBpPXMuaW5kZXg8PXQscj1zLmluZGV4Pj1lO2g9aHx8aSx1PXV8fHIsYz1jfHxpJiZyO2xldCBuPXMucHJpY2UsYT1zLnByaWNlO2lmKHMudXNlTWFpblNlcmllc0ZvclByaWNlUmFuZ2Upe2NvbnN0IGU9dGhpcy5fYmFycy52YWx1ZUF0KHMuaW5kZXgpO2lmKG51bGw9PT1lKWNvbnRpbnVlO2NvbnN0IHQ9ZVsyXTtpZihudWxsPT10KWNvbnRpbnVlO2NvbnN0IGk9ZVszXTtpZihudWxsPT1pKWNvbnRpbnVlO249aSxhPXR9bjxvJiYobz1uKSxhPmwmJihsPWEpfWlmKCEoY3x8aCYmdSkpY29udGludWU7Y29uc3QgZD1uZXcgai5QcmljZVJhbmdlKG8sbCk7aT1udWxsPT09aT9kOmkubWVyZ2UoZCl9cmV0dXJuIGl9Zmlyc3RWYWx1ZShlLHQpe2xldCBzPTEvMCxpPTEvMCxyPS0xLzAsbj0xLzAsYT0xLzAsbz0xLzA7Y29uc3QgbD10aGlzLl9zdHVkeS5ncmFwaGljcygpO2Zvcihjb25zdFtoLHVdb2YgdGhpcy5fbWFwR2V0dGVyKCExKSlpZih0aGlzLl92aXNpYmlsaXR5R2V0dGVyKGgpKWZvcihjb25zdCBjIG9mIHUpe2NvbnN0IHU9dGhpcy5fZ2V0UG9pbnRzKGMsdGhpcy5fYmFycyxlLHQsbCxoKTtpZihudWxsIT09dSlmb3IoY29uc3QgbCBvZiB1KXtjb25zdCBoPWwuaW5kZXg7aD49ZSYmaDw9dCYmaDxzPyhzPWgsaT1sLnByaWNlKTpoPGUmJmg+cj8ocj1oLG49bC5wcmljZSk6aD50JiZoPGEmJihhPWgsbz1sLnByaWNlKX19cmV0dXJue2ZpcnN0VmlzaWJsZTpzPT09MS8wP251bGw6bmV3IG9lKHMsaSksbGVmdENsb3Nlc3Q6cj09PS0xLzA/bnVsbDpuZXcgb2UocixuKSxyaWdodENsb3Nlc3Q6YT09PTEvMD9udWxsOm5ldyBvZShhLG8pfX1ncm91cFBpeGVsTWFyZ2lucyhlLHQscyl7CmlmKCF0aGlzLl9nZXRNYXJnaW5zKXJldHVybiB5ZSgpO2NvbnN0IGk9eWUoKTtpZihudWxsPT09dGhpcy5fc3R1ZHkucHJpY2VTY2FsZSgpKXJldHVybiBpO2lmKG51bGw9PT10aGlzLl9zdHVkeS5maXJzdFZhbHVlKCkpcmV0dXJuIGk7Y29uc3Qgcj10aGlzLl9zdHVkeS5ncmFwaGljcygpO2Zvcihjb25zdFtuLGFdb2YgdGhpcy5fbWFwR2V0dGVyKHMpKWlmKHRoaXMuX3Zpc2liaWxpdHlHZXR0ZXIobikpZm9yKGNvbnN0IHMgb2YgYSl7Y29uc3QgYT10aGlzLl9nZXRQb2ludHMocyx0aGlzLl9iYXJzLGUsdCxyLG4pO2lmKG51bGw9PT1hKWNvbnRpbnVlO2lmKDA9PT1hLmZpbHRlcigocz0+e2NvbnN0IGk9cy5pbmRleDtyZXR1cm4gaT49ZSYmaTw9dH0pKS5sZW5ndGgpY29udGludWU7Y29uc3Qgbz10aGlzLl9nZXRNYXJnaW5zKHMsdGhpcy5fYmFycyk7aS5ib3R0b21QaXhlbE1hcmdpbj1NYXRoLm1heChpLmJvdHRvbVBpeGVsTWFyZ2luLG8uYm90dG9tUGl4ZWxNYXJnaW4pLGkudG9wUGl4ZWxNYXJnaW49TWF0aC5tYXgoaS50b3BQaXhlbE1hcmdpbixvLnRvcFBpeGVsTWFyZ2luKX1yZXR1cm4gaX19Y29uc3QgeWU9KCk9Pih7Ym90dG9tUGl4ZWxNYXJnaW46MCx0b3BQaXhlbE1hcmdpbjowfSk7ZnVuY3Rpb24gZ2UoZSl7Y29uc3QgdD0oMCxoLmVuc3VyZURlZmluZWQpKGUucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzKS5jaGlsZHMoKTtyZXR1cm5bbmV3IG1lKCgoKT0+KDAscC5tYXBFbnRyaWVzR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkudHBvcygpKSksZSwoZT0+e2NvbnN0IHM9KDAsaC5lbnN1cmVEZWZpbmVkKSh0LnRwb0Jsb2NrU2V0cykuY2hpbGRzKClbZV0uY2hpbGRzKCk7cmV0dXJuIHMuc2hvd0xldHRlcnMudmFsdWUoKXx8cy5zaG93QmxvY2tzLnZhbHVlKCl8fCgwLGguZW5zdXJlRGVmaW5lZCkodC50cG9Wb2x1bWVSb3dzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl9KSxmZSx5ZSksbmV3IG1lKCh0PT4oMCxwLm5lc3RlZE1hcEdlbmVyYXRvcikoZS5ncmFwaGljcygpLmR3Z2xhYmVscygpLHQpKSxlLChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHQuZHdnbGFiZWxzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpLHBlLGFlLmNhbGN1bGF0ZUR3Z0xhYmVsc01hcmdpbnMuYmluZChudWxsLGUpKSxuZXcgbWUoKHQ9PigwLHAubmVzdGVkTWFwR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkuZHdnbGluZXMoKSx0KSksZSwoZT0+KDAsaC5lbnN1cmVEZWZpbmVkKSh0LmR3Z2xpbmVzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpLGhlLHllKSxuZXcgbWUoKHQ9PigwLHAubmVzdGVkTWFwR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkuZHdncG9seWxpbmVzKCksdCkpLGUsKGU9PigwLGguZW5zdXJlRGVmaW5lZCkodC5kd2dwb2x5bGluZXMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksdWUseWUpLG5ldyBtZSgodD0+KDAscC5uZXN0ZWRNYXBHZW5lcmF0b3IpKGUuZ3JhcGhpY3MoKS5kd2dib3hlcygpLHQpKSxlLChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHQuZHdnYm94ZXMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksY2UseWUpLG5ldyBtZSgodD0+ZnVuY3Rpb24qKGUsdCl7Y29uc3Qgcz1lLmR3Z2xpbmVzKCksaT1lLmR3Z2xpbmVmaWxscygpLHI9bmV3IE1hcDtzLmZvckVhY2goKGU9PntpZih2b2lkIDA9PT10KWUuZm9yRWFjaCgoZT0+e2U/LmZvckVhY2goKGU9PntyLnNldChlLmlkLGUpfSkpfSkpO2Vsc2V7Y29uc3Qgcz1lLmdldCh0KTtzPy5mb3JFYWNoKChlPT57ci5zZXQoZS5pZCxlKX0pKX19KSk7Zm9yKGNvbnN0W2UsdF1vZiBpKXtjb25zdCBzPUFycmF5LmZyb20odCkuZmlsdGVyKChlPT5yLmhhcyhlLmxpbmUxKSkpO3MubGVuZ3RoJiYoeWllbGRbZSxuZXcgU2V0KHMpXSl9fShlLmdyYXBoaWNzKCksdCkpLGUsKGU9PigwLGguZW5zdXJlRGVmaW5lZCkodC5kd2dsaW5lZmlsbHMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksKCh0LHMsaSxyKT0+e2NvbnN0IG49bmV3IE1hcDtmb3IoY29uc3RbLHRdb2YgZS5ncmFwaGljcygpLmR3Z2xpbmVzKCkpZm9yKGNvbnN0WyxlXW9mIHQpZm9yKGNvbnN0IHQgb2YgZSluLnNldCh0LmlkLHQpO3JldHVybiBmdW5jdGlvbihlLHQscyxpLHIpe2NvbnN0IG49ZS5nZXQodC5saW5lMSksYT1lLmdldCh0LmxpbmUyKTtyZXR1cm4gdm9pZCAwIT09biYmdm9pZCAwIT09YSYmKCgwLGxlLmRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlKShuLngxLG4ueDIsbi5leHRlbmQsaSxyKXx8KDAsbGUuZG9lc0l0ZW1BZmZlY3RWaXNpYmxlUmFuZ2UpKGEueDEsYS54MixhLmV4dGVuZCxpLHIpKT9bbmV3IG9lKGksbi55MSwhMSksbmV3IG9lKHIsbi55MiwhMSksbmV3IG9lKGksYS55MSwhMSksbmV3IG9lKHIsYS55MiwhMSldOltdfShuLHQsMCxpLHIpfSkseWUpXX1mdW5jdGlvbiBTZShlLHQscyl7cmV0dXJuIG51bGw9PT10P2U6bnVsbD09PWU/dDplLmluZGV4PHQuaW5kZXg/cz90OmU6cz9lOnR9Y2xhc3MgYmV7Y29uc3RydWN0b3IoKXt0aGlzLmZpcnN0VmlzaWJsZT1udWxsLHRoaXMubGVmdENsb3Nlc3Q9bnVsbCx0aGlzLnJpZ2h0Q2xvc2VzdD1udWxsfWltcHJvdmUoZSl7dGhpcy5maXJzdFZpc2libGU9U2UodGhpcy5maXJzdFZpc2libGUsZS5maXJzdFZpc2libGUsITApLHRoaXMubGVmdENsb3Nlc3Q9U2UodGhpcy5sZWZ0Q2xvc2VzdCxlLmxlZnRDbG9zZXN0LCEwKSx0aGlzLnJpZ2h0Q2xvc2VzdD1TZSh0aGlzLnJpZ2h0Q2xvc2VzdCxlLnJpZ2h0Q2xvc2VzdCwhMSl9YmVzdFByaWNlKCl7cmV0dXJuIG51bGwhPT10aGlzLmZpcnN0VmlzaWJsZT90aGlzLmZpcnN0VmlzaWJsZS5wcmljZTpudWxsIT09dGhpcy5sZWZ0Q2xvc2VzdD90aGlzLmxlZnRDbG9zZXN0LnByaWNlOm51bGwhPT10aGlzLnJpZ2h0Q2xvc2VzdD90aGlzLnJpZ2h0Q2xvc2VzdC5wcmljZTpudWxsfX0KdmFyIHZlPXMoMTU2ODUwKSxQZT1zKDYzMjQ0NCksSWU9cyg0OTAzOTkpLHdlPXMoMTQzODA4KSxDZT1zKDk0MzEzMCksVmU9cyg3MjkxNjMpLHhlPXMoNzQxNjkwKSxBZT1zKDMxNDgwNiksUmU9cygyNDE5NTYpLE1lPXMoMjA1NjExKSxUZT1zKDU3MjI1KSxEZT1zKDYyODA2KSxGZT1zKDc4OTE5MCksT2U9cyg5MzQzMDUpO2NsYXNzIE5lIGV4dGVuZHMgT2UuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtyZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7fV9kcmF3QmFja2dyb3VuZEltcGwoZSl7Y29uc3R7Y29udGV4dDp0LGhvcml6b250YWxQaXhlbFJhdGlvOnMsYml0bWFwU2l6ZTppfT1lLHI9dGhpcy5fZGF0YTtmb3IobGV0IGU9MDtlPHIuaXRlbXMubGVuZ3RoOysrZSl7Y29uc3Qgbj1yLml0ZW1zW2VdO2lmKG51bGw9PW4uY29sb3IpY29udGludWU7dC5maWxsU3R5bGU9bi5jb2xvcjtjb25zdCBhPU1hdGgucm91bmQobi5sZWZ0KnMpKzEsbz1NYXRoLnJvdW5kKG4ucmlnaHQqcyk7dC5maWxsUmVjdChhLDAsby1hKzEsaS5oZWlnaHQpfX19dmFyIGtlPXMoNjU1NTY5KSxCZT1zKDg0MDc3MSk7Y2xhc3MgRWUgZXh0ZW5kcyBCZS5TdHVkeUZvcmNlT3ZlcmxheVBsb3RWaWV3e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3N1cGVyKHQscyxpKSx0aGlzLl9pdGVtcz1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9pc01hcmtlcnNFbmFibGVkPSgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIpLHRoaXMuX3N0dWR5PWU7Y29uc3Qgcj10aGlzLl9zdHVkeS5tZXRhSW5mbygpLnBsb3RzO2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKXtjb25zdCB0PXJbZV07dC5pZD09PXRoaXMuX3Bsb3ROYW1lJiYodGhpcy5fcGxvdEluZGV4PWUsKDAsaC5hc3NlcnQpKCgwLFouaXNCZ0NvbG9yZXJQbG90KSh0KSwiUGxvdCAnIit0aGlzLl9wbG90TmFtZSsiJyBpcyBub3QgYSBiYWNrZ3JvdW5kIGNvbG9yZXIhIikpfXRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsa2UuY3JlYXRlU3R1ZHlQbG90Q29sb3JQcm92aWRlcikoZS5tZXRhSW5mbygpLGUucHJvcGVydGllcygpLGkpfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe2lmKCgoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdKS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkmWi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpIT09Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpcmV0dXJuIG51bGw7aWYoIXRoaXMuX3NjYWxlc1JlYWR5KCkpcmV0dXJuIG51bGw7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9e2l0ZW1zOnRoaXMuX2l0ZW1zfSx0PW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdC5hcHBlbmQobmV3IE5lKGUpKSx0fV9zY2FsZXNSZWFkeSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD10aGlzLl9wcmljZVNjYWxlKCk7cmV0dXJuIWUuaXNFbXB0eSgpJiZudWxsIT09dCYmIXQuaXNFbXB0eSgpfV9nZXRUcmFuc3BWYWx1ZSgpe2NvbnN0IGU9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXSkuY2hpbGRzKCk7bGV0IHQ9MDtyZXR1cm4gZS50cmFuc3BhcmVuY3kmJih0PWUudHJhbnNwYXJlbmN5LnZhbHVlKCksdD0oMCx1LmlzTnVtYmVyKSh0KT90OjQwKSx0fV91cGRhdGVJbXBsKCl7dGhpcy5faXRlbXM9W10sKDAsaC5hc3NlcnQpKHRoaXMuX3NjYWxlc1JlYWR5KCksIlNjYWxlcyBtdXN0IGJlIHJlYWR5ISIpO2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PXRoaXMuX2dldFRyYW5zcFZhbHVlKCk7bGV0IHM9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zZXJpZXMubmVhcmVzdEluZGV4KGUuZmlyc3RCYXIoKSxTLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCkpLGk9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zZXJpZXMubmVhcmVzdEluZGV4KGUubGFzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpKTtjb25zdCByPXRoaXMuX3N0dWR5Lm9mZnNldCh0aGlzLl9wbG90TmFtZSk7cj4wPyhzLT1yLGkrPXIpOihzKz1yLGktPXIpO2NvbnN0IG49dGhpcy5fc3R1ZHkuZ2V0TWluRmlyc3RCYXJJbmRleEZvclBsb3QodGhpcy5fcGxvdE5hbWUpO2lmKG4+aSlyZXR1cm47cz1NYXRoLm1heChuLHMpO2NvbnN0IGE9dGhpcy5fc3R1ZHkuZGF0YSgpO2Zvcihjb25zdCBlIG9mIGEucmFuZ2VJdGVyYXRvcihzLGkpKXtsZXQgcz1lLmluZGV4O2NvbnN0IGk9ZS52YWx1ZTtzKz1yO2NvbnN0IG49e3RpbWVQb2ludEluZGV4Ok1hdGguZmxvb3IocyksbGVmdDpOYU4sY2VudGVyOk5hTixyaWdodDpOYU59O2xldCBhPSgwLHUuaXNOdW1iZXIpKHQpP3Q6NTA7YT1NYXRoLm1pbihhLDEwMCksYT1NYXRoLm1heChhLDApO2NvbnN0IG89dGhpcy5fY29sb3JQcm92aWRlci5nZXRQbG90UG9pbnRTdHlsZShpKTt2b2lkIDAhPT1vLmNvbG9yc1sxXSYmKG4uY29sb3I9KDAsTC5nZW5lcmF0ZUNvbG9yKSgoMCxoLmVuc3VyZURlZmluZWQpKG8uY29sb3JzWzFdKSxhKSksdGhpcy5faXRlbXMucHVzaChuKX10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5maWxsQmFyQm9yZGVycyh0aGlzLl9pdGVtcyl9fQp2YXIgTGU9cygyODQ4MzEpLEhlPXMoNTkwNDIzKSxVZT1zKDM3MDYyMiksV2U9cyg1ODk1MTEpLEdlPXMoNjE5MTY1KSxqZT1zKDI1MDQ2NyksemU9cyg2NDA3NDQpLCRlPXMoMTQzOTMyKSxLZT1zKDk3MDQzNCkscWU9cyg2NTE5NjYpLEplPXMoMzMwODYxKSxZZT1zKDMwMjQ2OSksWmU9cyg3NDc0NjUpLFhlPXMoNTQ0MjQzKSxRZT1zKDE2ODQ4NyksZXQ9cyg0MDc1ODQpLHR0PXMoMTE4NzUyKSxzdD1zKDM2MzMyNiksaXQ9cygzMDMyNzApO2NvbnN0IHJ0PW5ldyBNYXA7cnQuc2V0KCJQYW5lUmVuZGVyZXJBcnJvd1VwIixxZS5QYW5lUmVuZGVyZXJBcnJvd1VwKSxydC5zZXQoIlBhbmVSZW5kZXJlckFycm93RG93biIscWUuUGFuZVJlbmRlcmVyQXJyb3dEb3duKSxydC5zZXQoIlBhbmVSZW5kZXJlckNpcmNsZVNoYXBlIixKZS5QYW5lUmVuZGVyZXJDaXJjbGVTaGFwZSkscnQuc2V0KCJQYW5lUmVuZGVyZXJDcm9zc1NoYXBlIixZZS5QYW5lUmVuZGVyZXJDcm9zc1NoYXBlKSxydC5zZXQoIlBhbmVSZW5kZXJlckRpYW1vbmQiLFplLlBhbmVSZW5kZXJlckRpYW1vbmQpLHJ0LnNldCgiUGFuZVJlbmRlcmVyRmxhZ1NoYXBlIixYZS5QYW5lUmVuZGVyZXJGbGFnU2hhcGUpLHJ0LnNldCgiUGFuZVJlbmRlcmVyTGFiZWxVcCIsUWUuUGFuZVJlbmRlcmVyTGFiZWxVcCkscnQuc2V0KCJQYW5lUmVuZGVyZXJMYWJlbERvd24iLFFlLlBhbmVSZW5kZXJlckxhYmVsRG93bikscnQuc2V0KCJQYW5lUmVuZGVyZXJTcXVhcmUiLGV0LlBhbmVSZW5kZXJlclNxdWFyZSkscnQuc2V0KCJQYW5lUmVuZGVyZXJUcmlhbmdsZUFwZXhVcCIsdHQuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4VXApLHJ0LnNldCgiUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93biIsdHQuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bikscnQuc2V0KCJQYW5lUmVuZGVyZXJYQ3Jvc3MiLHN0LlBhbmVSZW5kZXJlclhDcm9zcyk7Y2xhc3MgbnQgZXh0ZW5kcyBpdC5TdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZXtjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcih0LHMsaSksdGhpcy5fcmVuZGVyZXI9bnVsbCx0aGlzLl9zaGFwZXNSZW5kZXJlcj1udWxsLHRoaXMuX3NlbGVjdGlvblJlbmRlcmVyPW51bGwsdGhpcy5faXNNYXJrZXJzRW5hYmxlZD0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiKSx0aGlzLl9zdHVkeT1lO2NvbnN0IHI9ZS5tZXRhSW5mbygpLnBsb3RzO2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKWlmKHJbZV0uaWQ9PT10aGlzLl9wbG90TmFtZSl7dGhpcy5fcGxvdEluZGV4PWU7YnJlYWt9dGhpcy5fcGxvdFN0eWxlSW5mbz0oMCxoLmVuc3VyZURlZmluZWQpKGUubWV0YUluZm8oKS5zdHlsZXM/Llt0aGlzLl9wbG90TmFtZV0pLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsa2UuY3JlYXRlU3R1ZHlQbG90Q29sb3JQcm92aWRlcikoZS5tZXRhSW5mbygpLGUucHJvcGVydGllcygpLGkpLHRoaXMuX3NlbGVjdGlvbkluZGV4ZXI9bmV3ICRlLlNlbGVjdGlvbkluZGV4ZXMocy50aW1lU2NhbGUoKSl9aXRlbXMoKXtyZXR1cm4gdGhpcy5faXRlbXN9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faXNQbG90VmlzaWJsZSgpJiZ0aGlzLl9zY2FsZXNSZWFkeSgpPyh0aGlzLl9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpLHRoaXMuX3JlbmRlcmVyKTpudWxsfV9pc1Bsb3RWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxqZS5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpfV9zY2FsZXNSZWFkeSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD10aGlzLl9wcmljZVNjYWxlKCk7cmV0dXJuIG51bGwhPT10JiYhZS5pc0VtcHR5KCkmJiF0LmlzRW1wdHkoKX1fdXBkYXRlSW1wbEZ1bGwoZSl7aWYodGhpcy5fZGF0YUludmFsaWRhdGVkPy5jbGVhckRhdGEmJih0aGlzLl9pdGVtcz1bXSx0aGlzLl9yZW5kZXJlcj1udWxsKSwhdGhpcy5fc2NhbGVzUmVhZHkoKSlyZXR1cm4hMTtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLHM9dGhpcy5fcHJpY2VTY2FsZSgpLGk9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWl8fG51bGw9PT1zKXJldHVybiExO2NvbnN0IHI9dGhpcy5fc3R1ZHkucGxvdHMoKS5wbG90dGFibGVSYW5nZSghMSk7aWYoMD09PXIuc2l6ZSgpKXJldHVybiExO2NvbnN0IG49dGhpcy5fc3R1ZHkub2Zmc2V0KHRoaXMuX3Bsb3ROYW1lKSxhPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUodm9pZCAwLHRoaXMuaXNGb3JjZU92ZXJsYXkoKSk7aWYobnVsbD09PWEpcmV0dXJuITE7dGhpcy5fdXBkYXRlQWRkaXRpb25hbFByaWNlcyhzLGEpO2NvbnN0e2hpUGxvdDpvLGxvUGxvdDpsfT10aGlzLl9oaUxvUGxvdHMoKSx1PXRoaXMuX3ByZWFsbG9jYXRlSXRlbXMociwoKGUsdCk9PnRoaXMuX2NyZWF0ZUl0ZW0oZSx0Pz9udWxsLG8sbCxuKSkpO2xldCBjPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5maXJzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KSxkPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5sYXN0QmFyKCksUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09Y3x8dm9pZCAwPT09ZClyZXR1cm4hMTtuPjA/KGMtPW4sZCs9bik6KGMrPW4sZC09bik7Y29uc3QgXz10aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdCh0aGlzLl9wbG90TmFtZSk7aWYoXz5kKXJldHVybiEwO2M9TWF0aC5tYXgoXyxjKTtjb25zdCBmPXRoaXMuX2dldFRyYW5zcFZhbHVlKCksbT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSx5PW0uY29sb3IudmFsdWUoKSxnPW0udGV4dENvbG9yP20udGV4dENvbG9yLnZhbHVlKCk6dm9pZCAwLGI9eSx2PXksUD12b2lkIDA9PT1nP3ZvaWQgMDpnLEk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90SW5kZXgpLHc9KDAsS2UuY3JlYXRlRW1wdHlTdHlsZSkoKSxDPXU/PygwLApoLmVuc3VyZU5vdE51bGwpKHIuZmlyc3RJbmRleCgpKSxWPXIucmFuZ2VJdGVyYXRvcihDLCgwLGguZW5zdXJlTm90TnVsbCkoci5sYXN0SW5kZXgoKSkrMSk7bGV0IHg9KDAscC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxDK24sKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKTtmb3IoY29uc3QgZSBvZiBWKXtjb25zdCB0PWUudmFsdWUscz10W0krMV07aWYobnVsbD09cyl7eCsrO2NvbnRpbnVlfWNvbnN0IGk9dGhpcy5faXRlbXNbeF07aWYoIWlzTmFOKGkucHJpY2UpKXtpZih0aGlzLl9jb2xvclByb3ZpZGVyLmlzQ29sb3JEZWZpbmVkKCkpe2kuc3R5bGU9e2NvbG9yOmIsYm9yZGVyQ29sb3I6dix0ZXh0Q29sb3I6UH07Y29uc3QgZT10aGlzLl9jb2xvclByb3ZpZGVyLmdldFBsb3RQb2ludFN0eWxlKHQsdyk7dGhpcy5fZmlsbEl0ZW1XaXRoUG9pbnRTdHlsZShpLGUsZil9fXgrK31yZXR1cm4gdGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksITB9X2ZpbGxJdGVtV2l0aFBvaW50U3R5bGUoZSx0LHMpe2NvbnN0IGk9KDAsaC5lbnN1cmVEZWZpbmVkKShlLnN0eWxlKTtpZih2b2lkIDAhPT10LmNvbG9yc1swXSl7aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKCgwLGguZW5zdXJlRGVmaW5lZCkodC5jb2xvcnNbMF0pLHMpO2NvbnN0IGU9cz45P3MtMTA6MDtpLmJvcmRlckNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoaS5jb2xvcixlKX12b2lkIDAhPT10LmNvbG9yc1syXSYmKGkudGV4dENvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1syXSkscykpfV91cGRhdGVSZW5kZXJlcihlLHQpe3RoaXMuX21ha2VTdXJlUmVuZGVyZXJJc1ZhbGlkKCk7Y29uc3Qgcz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXt9LHI9dGhpcy5fZ2V0VHJhbnNwVmFsdWUoKSxuPXMuYmFyU3BhY2luZygpLGE9dGhpcy5fY2FsY3VsYXRlU2hhcGVIZWlnaHQobiksbz10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSxsPW8ubG9jYXRpb24udmFsdWUoKSxoPXRoaXMuX2NhbGN1bGF0ZVZlcnRpY2FsT2Zmc2V0KGwsYSthLzIpO2kuYmFyU3BhY2luZz1uLGkuaXRlbXM9dGhpcy5faXRlbXMsaS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKG8uY29sb3IudmFsdWUoKSxyKSxpLmhlaWdodD1hLGkudmVydE9mZnNldD1oLGkudmlzaWJsZUl0ZW1zUmFuZ2U9e3N0YXJ0SXRlbUluZGV4OmUsZW5kSXRlbUluZGV4OnR9O2NvbnN0IHU9by5wbG90dHlwZS52YWx1ZSgpLGM9VWUucGxvdFNoYXBlc0RhdGFbdV0sZD1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7YyYmKHRoaXMuX3NoYXBlc1JlbmRlcmVyP3RoaXMuX3NoYXBlc1JlbmRlcmVyLnNldERhdGEoaSk6KHRoaXMuX3NoYXBlc1JlbmRlcmVyPXRoaXMuX2NyZWF0ZVJlbmRlcmVyKGMucGFuZVJlbmRlcmVyQ2xhc3MsaSksZC5hcHBlbmQodGhpcy5fc2hhcGVzUmVuZGVyZXIpKSksdGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmbnVsbCE9PXRoaXMuX3NlbGVjdGlvbkRhdGEmJih0aGlzLl9zZWxlY3Rpb25EYXRhLnZlcnRPZmZzZXQ9aCxkLmFwcGVuZChuZXcgSGUuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpKSx0aGlzLl9yZW5kZXJlcj1kfV9jcmVhdGVSZW5kZXJlcihlLHQpe2NvbnN0IHM9cnQuZ2V0KGUpO3JldHVybiBuZXcoKDAsaC5lbnN1cmVEZWZpbmVkKShzKSkodCl9X2dldFNlcmllc1ZhbChlLHQpe2NvbnN0IHM9KDAsR2UuYmFyRnVuY3Rpb24pKGUpLGk9dGhpcy5fc2VyaWVzLmRhdGEoKS52YWx1ZUF0KHQpO3JldHVybiBudWxsPT09aT9udWxsOnMoaSl9X2dldFRyYW5zcFZhbHVlKCl7bGV0IGU9MDtjb25zdCB0PXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKTt0LnRyYW5zcGFyZW5jeSYmKGU9dC50cmFuc3BhcmVuY3kudmFsdWUoKSxlPSgwLHUuaXNOdW1iZXIpKGUpP2U6NTApO2NvbnN0IHM9dC5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpO3JldHVybiBzLnRyYW5zcGFyZW5jeSYmKGU9cy50cmFuc3BhcmVuY3kudmFsdWUoKSxlPSgwLHUuaXNOdW1iZXIpKGUpP2U6NTApLCgwLHplLmNsYW1wKShlLDAsMTAwKX1fY3JlYXRlSXRlbShlLHQscyxpLHIpe2NvbnN0IG49dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxhPXtwcmljZTpOYU4sdGltZVBvaW50SW5kZXg6ZStyfTtpZigobnVsbD09PXR8fDA9PT10KSYmbiE9PWIuTWFya0xvY2F0aW9uLkFic29sdXRlKXJldHVybiBhO2lmKG51bGw9PXQpcmV0dXJuIGE7bGV0IG89TmFOO3N3aXRjaChuKXtjYXNlIGIuTWFya0xvY2F0aW9uLkFib3ZlQmFyOntjb25zdCB0PXRoaXMuX2dldExvY2F0aW9uUHJpY2UoZSxzLHIpO2lmKG51bGw9PT10KXJldHVybiBhO289dDticmVha31jYXNlIGIuTWFya0xvY2F0aW9uLkJlbG93QmFyOntjb25zdCB0PXRoaXMuX2dldExvY2F0aW9uUHJpY2UoZSxpLHIpO2lmKG51bGw9PT10KXJldHVybiBhO289dDticmVha31jYXNlIGIuTWFya0xvY2F0aW9uLkFic29sdXRlOm89KDAsaC5lbnN1cmVOb3ROdWxsKSh0KTticmVhaztjYXNlIGIuTWFya0xvY2F0aW9uLlRvcDpjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTpvPTA7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkJhZCB2YWx1ZTogIituKX1yZXR1cm57eTpOYU4scHJpY2U6byx0aW1lUG9pbnRJbmRleDplK3J9fV9kZXBlbmRzT25TZXJpZXNEYXRhKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKS5sb2NhdGlvbi52YWx1ZSgpO3JldHVybiBlPT09Yi5NYXJrTG9jYXRpb24uQWJvdmVCYXJ8fGU9PT1iLk1hcmtMb2NhdGlvbi5CZWxvd0Jhcn1fZ2V0VmFsdWVGb3JVcGRhdGluZyhlKXtjb25zdCB0PWUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdO2lmKG51bGw9PXQpcmV0dXJuIG51bGwKO2NvbnN0IHM9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKTtpZigwPT09dCYmcyE9PWIuTWFya0xvY2F0aW9uLkFic29sdXRlKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5fc3R1ZHkub2Zmc2V0KHRoaXMuX3Bsb3ROYW1lKSx7aGlQbG90OnIsbG9QbG90Om59PXRoaXMuX2hpTG9QbG90cygpO3N3aXRjaChzKXtjYXNlIGIuTWFya0xvY2F0aW9uLkFib3ZlQmFyOnJldHVybiB0aGlzLl9nZXRMb2NhdGlvblByaWNlKGUuaW5kZXgscixpKTtjYXNlIGIuTWFya0xvY2F0aW9uLkJlbG93QmFyOnJldHVybiB0aGlzLl9nZXRMb2NhdGlvblByaWNlKGUuaW5kZXgsbixpKX1yZXR1cm4gc3VwZXIuX2dldFZhbHVlRm9yVXBkYXRpbmcoZSl9X2NvbnZlcnRJdGVtc1RvQ29vcmRpbmF0ZXMoZSx0LHMsaSl7dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuZmlsbEJhckJvcmRlcnModGhpcy5faXRlbXMpO2NvbnN0IHI9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxuPWUuaGVpZ2h0KCkqZS50b3BNYXJnaW4oKSxhPWUuaGVpZ2h0KCkqKDEtZS5ib3R0b21NYXJnaW4oKSksbz1lLmlzSW52ZXJ0ZWQoKSxsPW8/YTpuLGg9bz9uOmEsdT1lPT57Zm9yKGxldCB0PXM7dDxpO3QrKylpc05hTih0aGlzLl9pdGVtc1t0XS5wcmljZSl8fCh0aGlzLl9pdGVtc1t0XS55PWUpfTtzd2l0Y2gocil7Y2FzZSBiLk1hcmtMb2NhdGlvbi5Ub3A6dShsKTticmVhaztjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTp1KGgpO2JyZWFrO2RlZmF1bHQ6ZS5maWxsWUNvb3JkaW5hdGVzKHRoaXMuX2l0ZW1zLHQse3N0YXJ0SXRlbUluZGV4OnMsZW5kSXRlbUluZGV4Oml9KX19X2NhbGN1bGF0ZVZlcnRpY2FsT2Zmc2V0KGUsdCl7bGV0IHM9MDtzd2l0Y2goZSl7Y2FzZSBiLk1hcmtMb2NhdGlvbi5BYm92ZUJhcjpjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTpzPS10O2JyZWFrO2Nhc2UgYi5NYXJrTG9jYXRpb24uQmVsb3dCYXI6Y2FzZSBiLk1hcmtMb2NhdGlvbi5Ub3A6cz10fXJldHVybigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fcHJpY2VTY2FsZSgpKS5pc0ludmVydGVkKCkmJihzKj0tMSksc31fY2FsY3VsYXRlU2hhcGVIZWlnaHQoZSx0KXtsZXQgcz1lO3N3aXRjaCh0KXtjYXNlIFdlLlBsb3RTeW1ib2xTaXplLlRpbnk6cz0uMyplO2JyZWFrO2Nhc2UgV2UuUGxvdFN5bWJvbFNpemUuU21hbGw6cz0uNiplO2JyZWFrO2Nhc2UgV2UuUGxvdFN5bWJvbFNpemUuTm9ybWFsOnM9ZTticmVhaztjYXNlIFdlLlBsb3RTeW1ib2xTaXplLkxhcmdlOnM9MS41KmU7YnJlYWs7Y2FzZSBXZS5QbG90U3ltYm9sU2l6ZS5IdWdlOnM9MiplfXJldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdD4wJiYocz10KSxzfV9oaUxvUGxvdHMoKXtsZXQgZSx0O2xldCBzPW51bGw7c3dpdGNoKHRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSl7Y2FzZSAyOnM9ImxpbmVTdHlsZSI7YnJlYWs7Y2FzZSAxNDpzPSJsaW5lV2l0aE1hcmtlcnNTdHlsZSI7YnJlYWs7Y2FzZSAxNTpzPSJzdGVwbGluZVN0eWxlIjticmVhaztjYXNlIDM6cz0iYXJlYVN0eWxlIn1yZXR1cm4gcz8oZT10aGlzLl9zZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpW3NdLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCksdD1lKTooZT0iaGlnaCIsdD0ibG93Iikse2hpUGxvdDplLGxvUGxvdDp0fX1fZ2V0TG9jYXRpb25QcmljZShlLHQscyl7Y29uc3QgaT1NYXRoLm1pbihlK3MsKDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJpZXMuZGF0YSgpLmxhc3QoKSkuaW5kZXgpO3JldHVybiB0aGlzLl9nZXRTZXJpZXNWYWwodCxpKX19Y2xhc3MgYXQgZXh0ZW5kcyBudHtfdXBkYXRlUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkscj17fSxuPXRoaXMuX2dldFRyYW5zcFZhbHVlKCksYT1pLmJhclNwYWNpbmcoKTtsZXQgbztvPXRoaXMuX3Bsb3RTdHlsZUluZm8uc2l6ZT90aGlzLl9jYWxjdWxhdGVTaGFwZUhlaWdodCgyNSx0aGlzLl9wbG90U3R5bGVJbmZvLnNpemUpOk1hdGgucm91bmQoYS8yKSxvPU1hdGgubWF4KG8sMSk7Y29uc3QgbD1zLmxvY2F0aW9uLnZhbHVlKCksaD0oMCxMLmdlbmVyYXRlQ29sb3IpKHMuY29sb3IudmFsdWUoKSxuKSx1PW4+MTk/bi0xMDowLGM9dGhpcy5fY2FsY3VsYXRlVmVydGljYWxPZmZzZXQobCxNYXRoLnJvdW5kKDEuNSpvKSk7ci5iYXJTcGFjaW5nPWEsci5pdGVtcz10aGlzLml0ZW1zKCksci5jb2xvcj1oLHIuYm9yZGVyQ29sb3I9KDAsTC5nZW5lcmF0ZUNvbG9yKShzLmNvbG9yLnZhbHVlKCksdSksci5oZWlnaHQ9byxyLnZlcnRPZmZzZXQ9YyxyLnZpc2libGVJdGVtc1JhbmdlPXtzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fTtjb25zdCBkPXMucGxvdHR5cGUudmFsdWUoKSxwPVVlLnBsb3RTaGFwZXNEYXRhW2RdLF89dGhpcy5fcGxvdFN0eWxlSW5mby50ZXh0O2lmKHZvaWQgMCE9PV8mJiIiIT09Xy50cmltKCkpe2xldCBlPV8ucmVwbGFjZSgvXFxuL2dtLCJcbiIpO2U9KDAsTGUuY2xlYW5CdXRBbXBlcnNhbmQpKGUsITApLHIudGV4dD1lLHIuZm9udFNpemU9MTI7Y29uc3QgdD1zLnRleHRDb2xvcj9zLnRleHRDb2xvci52YWx1ZSgpOnZvaWQgMDtyLnRleHRDb2xvcj10PygwLEwuZ2VuZXJhdGVDb2xvcikodCxuKTpofWlmKHRoaXMuX3JlbmRlcmVyJiZ0aGlzLl9zaGFwZXNSZW5kZXJlciYmdGhpcy5fc2VsZWN0aW9uUmVuZGVyZXIpdGhpcy5fc2hhcGVzUmVuZGVyZXIuc2V0RGF0YShyKSwKdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSkmJnRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhPyh0aGlzLl9zZWxlY3Rpb25EYXRhLnZlcnRPZmZzZXQ9Yyx0aGlzLl9zZWxlY3Rpb25SZW5kZXJlci5zZXREYXRhKHRoaXMuX3NlbGVjdGlvbkRhdGEpKTp0aGlzLl9zZWxlY3Rpb25SZW5kZXJlci5zZXREYXRhKG51bGwpO2Vsc2V7Y29uc3QgZT1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7dGhpcy5fc2hhcGVzUmVuZGVyZXI9c3VwZXIuX2NyZWF0ZVJlbmRlcmVyKHAucGFuZVJlbmRlcmVyQ2xhc3MsciksZS5hcHBlbmQodGhpcy5fc2hhcGVzUmVuZGVyZXIpLHRoaXMuX3NlbGVjdGlvblJlbmRlcmVyPW5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih0aGlzLl9zZWxlY3Rpb25EYXRhPz92b2lkIDApLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhP3RoaXMuX3NlbGVjdGlvbkRhdGEudmVydE9mZnNldD1jOnRoaXMuX3NlbGVjdGlvblJlbmRlcmVyLnNldERhdGEobnVsbCksZS5hcHBlbmQodGhpcy5fc2VsZWN0aW9uUmVuZGVyZXIpLHRoaXMuX3JlbmRlcmVyPWV9fX12YXIgb3QsbHQ9cyg5NTM2NjApLGh0PXMubihsdCksdXQ9cyg3MzY1MzEpLGN0PXMoNTkwODk0KSxkdD1zKDg3NDEzNSkscHQ9cyg3NjMpLF90PXMoNjA0MjE0KSxmdD1zKDgyMjcyNiksbXQ9cyg5MjYxNDkpLHl0PXMoMTUxMjEpOyFmdW5jdGlvbihlKXtlW2UuU2ltcGxpZmllZFBhaW50aW5nTWF4Rm9udFNpemU9NF09IlNpbXBsaWZpZWRQYWludGluZ01heEZvbnRTaXplIn0ob3R8fChvdD17fSkpO2NsYXNzIGd0IGV4dGVuZHMgZHQuUGFuZVJlbmRlcmVyQWJzdHJhY3RTaGFwZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKG51bGwsdCksdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IGZ0LlRleHRXaWR0aENhY2hlLHRoaXMuX2ZvbnRTaXplRW5zdXJlZD0wLHRoaXMuX2N1c3RvbUZvbnRGYW1pbHk9dm9pZCAwLHRoaXMuX2NoPSIiLG51bGwhPT1lJiZ0aGlzLnNldERhdGEoZSl9c2V0RGF0YShlKXtzdXBlci5zZXREYXRhKGUpLHRoaXMuX2ZvbnRTaXplRW5zdXJlZD0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX2hlaWdodCksdGhpcy5fY3VzdG9tRm9udEZhbWlseT1lLmZvbnRGYW1pbHk7Y29uc3QgdD1lLmNoYXIuc2xpY2UoMCw0MCk7dGhpcy5fY2g9aHQoKSh0KVswXXx8IiAifWhpdFRlc3QoZSl7Y29uc3QgdD0oMCxfdC5pbnRlcmFjdGlvblRvbGVyYW5jZSkoKS5zZXJpZXMrdGhpcy5fZm9udFNpemVFbnN1cmVkLzI7Zm9yKGNvbnN0IHMgb2YgdGhpcy5faXRlbXMpe2lmKG5ldyB1dC5Qb2ludChzLmNlbnRlcixzLnkrcy52ZXJ0T2Zmc2V0KS5zdWJ0cmFjdChlKS5sZW5ndGgoKTw9dClyZXR1cm4gbmV3IHB0LkhpdFRlc3RSZXN1bHQocHQuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3Qgcz10LmNlbnRlcixpPXQudmVydE9mZnNldD4wPzE6LTEscj1NYXRoLnRydW5jKHRoaXMuX2ZvbnRTaXplRW5zdXJlZC82KSxuPXQueSt0LnZlcnRPZmZzZXQtaSpNYXRoLnJvdW5kKHRoaXMuX2ZvbnRTaXplRW5zdXJlZC8yKSsoaT4wP3I6LXRoaXMuX2ZvbnRTaXplRW5zdXJlZCk7bGV0IGE7YT10LnN0eWxlJiZ2b2lkIDAhPT10LnN0eWxlLmNvbG9yP3Quc3R5bGUuY29sb3I6dGhpcy5fY29sb3I7Y29uc3R7Y29udGV4dDpvLGhvcml6b250YWxQaXhlbFJhdGlvOmwsdmVydGljYWxQaXhlbFJhdGlvOmh9PWUsdT0oMCxjdC5tYWtlRm9udCkodGhpcy5fZm9udFNpemVFbnN1cmVkLHRoaXMuX2N1c3RvbUZvbnRGYW1pbHl8fG10LkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpO28uZm9udCE9PXUmJihvLmZvbnQ9dSk7Y29uc3QgYz10aGlzLl90ZXh0V2lkdGhDYWNoZS5tZWFzdXJlVGV4dChvLHRoaXMuX2NoKTtpZih0aGlzLl9mb250U2l6ZUVuc3VyZWQ8PTQvbCl7by5zYXZlKCk7Y29uc3QgZT1NYXRoLm1heCgxLE1hdGguZmxvb3IobCkpO2xldCBpPU1hdGgubWF4KDEsTWF0aC5mbG9vcihjKmwpKTtpJTIhPWUlMiYmKGkrPWk+MT8tMToxKTtjb25zdCByPU1hdGgucm91bmQobipoKSsodC52ZXJ0T2Zmc2V0Pj0wPzA6LWkpO3JldHVybiBvLmZpbGxTdHlsZT1hLG8uZmlsbFJlY3QoTWF0aC5yb3VuZChzKmwpKyhsJTI/LjU6MCktaS8yLHIsaSxpKSx2b2lkIG8ucmVzdG9yZSgpfSgwLHl0LmRyYXdTY2FsZWQpKG8sbCxoLCgoKT0+e28uZmlsbFN0eWxlPWEsby50ZXh0QWxpZ249ImNlbnRlciIsby50ZXh0QmFzZWxpbmU9InRvcCIsby5maWxsVGV4dCh0aGlzLl9jaCxzLG4pfSkpfV9zdGFydFBhdGgoZSx0LHMpe31fZW5kUGF0aChlKXt9fWNsYXNzIFN0IGV4dGVuZHMgbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NoYXJSZW5kZXJlcj1uZXcgZ3QobnVsbCl9X3VwZGF0ZVJlbmRlcmVyKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRUcmFuc3BWYWx1ZSgpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO2xldCByO2NvbnN0IG49dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCk7cj10aGlzLl9wbG90U3R5bGVJbmZvLnNpemU/dGhpcy5fY2FsY3VsYXRlU2hhcGVIZWlnaHQoNTAsdGhpcy5fcGxvdFN0eWxlSW5mby5zaXplKTpNYXRoLnJvdW5kKGkpO2NvbnN0IGE9bi5sb2NhdGlvbi52YWx1ZSgpLG89KDAsTC5nZW5lcmF0ZUNvbG9yKShuLmNvbG9yLnZhbHVlKCkscyksbD10aGlzLl9jYWxjdWxhdGVWZXJ0aWNhbE9mZnNldChhLHIpLHU9e2l0ZW1zOnRoaXMuaXRlbXMoKSxiYXJTcGFjaW5nOmksY2hhcjooMCxoLmVuc3VyZURlZmluZWQpKG4uY2hhcj8udmFsdWUoKT8/dGhpcy5fcGxvdFN0eWxlSW5mby5jaGFyKSxoZWlnaHQ6cix2ZXJ0T2Zmc2V0OmwsY29sb3I6byx2aXNpYmxlSXRlbXNSYW5nZTp7c3RhcnRJdGVtSW5kZXg6ZSxlbmRJdGVtSW5kZXg6dH19LGM9dGhpcy5fcGxvdFN0eWxlSW5mby50ZXh0CjtpZih2b2lkIDAhPT1jJiYiIiE9PWMudHJpbSgpKXtsZXQgZT1jLnJlcGxhY2UoL1xcbi9nbSwiXG4iKTtlPSgwLExlLmNsZWFuQnV0QW1wZXJzYW5kKShlLCEwKSx1LnRleHQ9ZSx1LmZvbnRTaXplPTEyO2NvbnN0IHQ9bi50ZXh0Q29sb3I/bi50ZXh0Q29sb3IudmFsdWUoKTp2b2lkIDA7dS50ZXh0Q29sb3I9dD8oMCxMLmdlbmVyYXRlQ29sb3IpKHQscyk6b310aGlzLl9jaGFyUmVuZGVyZXIuc2V0RGF0YSh1KTtjb25zdCBkPW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtkLmFwcGVuZCh0aGlzLl9jaGFyUmVuZGVyZXIpLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhJiYodGhpcy5fc2VsZWN0aW9uRGF0YS52ZXJ0T2Zmc2V0PWwsZC5hcHBlbmQobmV3IEhlLlNlbGVjdGlvblJlbmRlcmVyKHRoaXMuX3NlbGVjdGlvbkRhdGEpKSksdGhpcy5fcmVuZGVyZXI9ZH19dmFyIGJ0PXMoMTM0NjcpO2NsYXNzIHZ0e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3RoaXMubGVmdD1OYU4sdGhpcy5jZW50ZXI9TmFOLHRoaXMucmlnaHQ9TmFOLHRoaXMueT1OYU4sdGhpcy5oZWlnaHQ9TmFOLHRoaXMudGltZVBvaW50SW5kZXg9ZSx0aGlzLnByaWNlPXQsdGhpcy5vcmlnSGVpZ2h0PXMsdGhpcy5pc1VwPWksdGhpcy5zdHlsZT17fX19ZnVuY3Rpb24gUHQoZSl7cmV0dXJuIE1hdGgucm91bmQoZS80KX1mdW5jdGlvbiBJdChlKXtyZXR1cm4gTWF0aC5yb3VuZChlLzIpfWNsYXNzIHd0IGV4dGVuZHMgT2UuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PXRoaXMuX2RhdGEscz1JdCh0LmJhclNwYWNpbmcpLGk9TWF0aC5yb3VuZChzLzIpLHI9TWF0aC5yb3VuZChzKSxuPVB0KHQuYmFyU3BhY2luZyksYT10LnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxvPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/dC5pdGVtcy5sZW5ndGg7aWYoYT49bylyZXR1cm4gbnVsbDtmb3IoY29uc3QgcyBvZiB0Lml0ZW1zLnNsaWNlKGEsbykpe2lmKCFzKWNvbnRpbnVlO2lmKCFOdW1iZXIuaXNGaW5pdGUocy5jZW50ZXIpfHwhTnVtYmVyLmlzRmluaXRlKHMueSkpY29udGludWU7Y29uc3QgdD1NYXRoLmFicyhzLmhlaWdodCksYT1zLmlzVXA/LTE6MSxvPXQrcixsPXMueS1hKm4saD1sLWEqbyx1PXMuY2VudGVyLWksYz1zLmNlbnRlcitpO2lmKHU8ZS54JiZlLng8YyYmKHMuaXNVcD9sPGUueSYmZS55PGg6aDxlLnkmJmUueTxsKSlyZXR1cm4gbmV3IHB0LkhpdFRlc3RSZXN1bHQocHQuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzp0LHZlcnRpY2FsUGl4ZWxSYXRpbzpzLGNvbnRleHQ6aX09ZSxyPXRoaXMuX2RhdGEsbj1JdChyLmJhclNwYWNpbmcpLGE9UHQoci5iYXJTcGFjaW5nKSxvPW48NCxsPU1hdGgubWF4KG4vMiwxKSxoPSgwLHplLmNlaWxlZEV2ZW4pKG4qdCksdT1oLzIsYz1NYXRoLnJvdW5kKG4qcyk7aS5saW5lQ2FwPSJidXR0IixpLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodCkpO2NvbnN0IGQ9aS5saW5lV2lkdGglMj8uNTowLHA9ci52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsXz1yLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P3IuaXRlbXMubGVuZ3RoO2lmKCEocD49XykpZm9yKGNvbnN0IGUgb2Ygci5pdGVtcy5zbGljZShwLF8pKXtpZighTnVtYmVyLmlzRmluaXRlKGUuY2VudGVyKXx8IU51bWJlci5pc0Zpbml0ZShlLnkpKWNvbnRpbnVlO2NvbnN0IG49ZS5pc1VwPy0xOjEscD1NYXRoLnJvdW5kKE1hdGguYWJzKGUuaGVpZ2h0KSpzKSxfPU1hdGgucm91bmQoZS5jZW50ZXIqdCkrZCxmPU1hdGgucm91bmQoKGUueS1uKmEpKnMpK2Q7aS5iZWdpblBhdGgoKSxpLnRyYW5zbGF0ZShfLGYpO2NvbnN0IG09KGUuc3R5bGUmJmUuc3R5bGUuY29sb3IpPz8oZS5pc1VwP3IuY29sb3J1cDpyLmNvbG9yZG93bik7bz8oaS5tb3ZlVG8oMCwwKSxpLmxpbmVUbygtdSwtdSpuKSxpLm1vdmVUbygwLDApLGkubGluZVRvKHUsLXUqbiksaS5tb3ZlVG8oMCwwKSxpLmxpbmVUbygwLC1wKm4pLGkubW92ZVRvKC11LC1wKm4pLGkubGluZVRvKHUsLXAqbiksaS5saW5lV2lkdGg9bCxpLnN0cm9rZVN0eWxlPW0saS5zdHJva2UoKSk6KGkubW92ZVRvKDAsMCkscDxjPyhpLmxpbmVUbyhoLC1wKm4pLGkubGluZVRvKC1oLC1wKm4pKTooaS5saW5lVG8oaCwtYypuKSxpLmxpbmVUbyh1LC1jKm4pLGkubGluZVRvKHUsLXAqbiksaS5saW5lVG8oLXUsLXAqbiksaS5saW5lVG8oLXUsLWMqbiksaS5saW5lVG8oLWgsLWMqbikpLGkubGluZVRvKDAsMCksaS5zdHJva2VTdHlsZT1lLmlzVXA/ci5jb2xvckJvcmRlclVwOnIuY29sb3JCb3JkZXJEb3duLGkuc3Ryb2tlKCksaS5maWxsU3R5bGU9bSxpLmZpbGwoKSksaS50cmFuc2xhdGUoLV8sLWYpfX19Y2xhc3MgQ3QgZXh0ZW5kcyBudHtfdXBkYXRlUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLGk9KDAsemUuY2xhbXApKHRoaXMuX2dldFRyYW5zcFZhbHVlKCksMCwxMDApLHI9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLG49KDAsTC5nZW5lcmF0ZUNvbG9yKShzLmNvbG9ydXAudmFsdWUoKSxpKSxhPSgwLEwuZ2VuZXJhdGVDb2xvcikocy5jb2xvcmRvd24udmFsdWUoKSxpKSxvPSgwLGJ0LnBhcnNlUmdiYSkobiksbD1vPzEwMCooMS1vWzNdKTowLGg9KDAsYnQucGFyc2VSZ2JhKShhKSx1PWg/MTAwKigxLWhbM10pOjAsYz17aXRlbXM6dGhpcy5faXRlbXMsYmFyU3BhY2luZzpyLGNvbG9ydXA6bixjb2xvcmRvd246YSxjb2xvckJvcmRlclVwOigwLEwuZ2VuZXJhdGVDb2xvcikoIiMwMDAwMDAiLGwpLGNvbG9yQm9yZGVyRG93bjooMCxMLmdlbmVyYXRlQ29sb3IpKCIjMDAwMDAwIix1KSxtaW5IZWlnaHQ6dGhpcy5fcGxvdFN0eWxlSW5mby5taW5IZWlnaHQsCnZpc2libGVJdGVtc1JhbmdlOntzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fX07dGhpcy5fdXBkYXRlSXRlbXNIZWlnaHRzKGMpO2NvbnN0IGQ9bmV3IEZlLkNvbXBvc2l0ZVJlbmRlcmVyO2QuYXBwZW5kKG5ldyB3dChjKSksdGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmbnVsbCE9PXRoaXMuX3NlbGVjdGlvbkRhdGEmJmQuYXBwZW5kKG5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih7Li4udGhpcy5fc2VsZWN0aW9uRGF0YSxiYXJTcGFjaW5nOnIsd2l0aE91dGxpbmU6ITF9KSksdGhpcy5fcmVuZGVyZXI9ZH1fZmlsbEl0ZW1XaXRoUG9pbnRTdHlsZShlLHQscyl7Y29uc3QgaT0oMCxoLmVuc3VyZURlZmluZWQpKGUuc3R5bGUpO2UuaXNVcD92b2lkIDAhPT10LmNvbG9yc1s1XT9pLmNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1s1XSkscyk6aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLmNvbG9ydXAudmFsdWUoKSxzKTp2b2lkIDAhPT10LmNvbG9yc1s2XT9pLmNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1s2XSkscyk6aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLmNvbG9yZG93bi52YWx1ZSgpLHMpfV9nZXRWYWx1ZUZvclVwZGF0aW5nKGUpe2NvbnN0IHQ9ZS52YWx1ZVt0aGlzLl9wbG90SW5kZXgrMV07aWYoIXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1lLmluZGV4LGk9dD4wLHtoaVBsb3Q6cixsb1Bsb3Q6bn09dGhpcy5faGlMb1Bsb3RzKCksYT10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpLG89TWF0aC5taW4ocythLCgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmRhdGEoKS5sYXN0KCkpLmluZGV4KTtpZihpKXtjb25zdCBlPXRoaXMuX2dldFNlcmllc1ZhbChuLG8pO2lmKG51bGwhPT1lKXJldHVybiBlfWVsc2V7Y29uc3QgZT10aGlzLl9nZXRTZXJpZXNWYWwocixvKTtpZihudWxsIT09ZSlyZXR1cm4gZX1yZXR1cm4gbnVsbH1fdXBkYXRlSXRlbShlLHQpe2NvbnN0IHM9dGhpcy5fZ2V0VmFsdWVGb3JVcGRhdGluZyhlKSxpPWUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdPjA7cmV0dXJuIHRoaXMuX2l0ZW1zW3RdLnByaWNlPXM/P05hTix0aGlzLl9pdGVtc1t0XS5pc1VwPWksdCsxfV9jcmVhdGVJdGVtKGUsdCxzLGkscil7Y29uc3Qgbj17Y2VudGVyOk5hTixvcmlnSGVpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDplK3IsaXNVcDohMCxoZWlnaHQ6TmFOLHByaWNlOk5hTixsZWZ0Ok5hTixyaWdodDpOYU4seTpOYU59O2lmKCF0KXJldHVybiBuO2NvbnN0IGE9TWF0aC5taW4oZStyLCgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmRhdGEoKS5sYXN0KCkpLmluZGV4KSxvPXQ+MDtsZXQgbDtpZihvKXtjb25zdCBlPXRoaXMuX2dldFNlcmllc1ZhbChpLGEpO2lmKG51bGw9PT1lKXJldHVybiBuO2w9ZX1lbHNle2NvbnN0IGU9dGhpcy5fZ2V0U2VyaWVzVmFsKHMsYSk7aWYobnVsbD09PWUpcmV0dXJuIG47bD1lfXJldHVybiBuZXcgdnQoZStyLGwsdCxvKX1fZGVwZW5kc09uU2VyaWVzRGF0YSgpe3JldHVybiEwfV9jb252ZXJ0SXRlbXNUb0Nvb3JkaW5hdGVzKGUsdCxzLGkpe3RoaXMuX2NvbnZlcnRJdGVtc1RvQ29vcmRpbmF0ZXNJbXBsKGUsdCxzLGkpfV9jcmVhdGVTZWxlY3Rpb25EYXRhUG9pbnQoZSx0LHMsaSl7Y29uc3Qgcj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCksbj1QdChyKSxhPWZ1bmN0aW9uKGUpe3JldHVybiBJdChlKX0ociksbz1zdXBlci5fY3JlYXRlU2VsZWN0aW9uRGF0YVBvaW50KGUsdCxzLGkpLGw9dGhpcy5faXRlbXNbKDAscC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyx0LCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSldO2lmKCFsKXJldHVybiBvO2NvbnN0IGg9bC5pc1VwPzE6LTE7cmV0dXJuey4uLm8scG9pbnQ6by5wb2ludC5hZGQoKDAsdXQucG9pbnQpKDAsaCoobithKSkpfX1fdXBkYXRlSXRlbXNIZWlnaHRzKGUpe2NvbnN0IHQ9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKTtsZXQgcz1NYXRoLmFicygoMCxoLmVuc3VyZURlZmluZWQpKHRbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLm1pbkhlaWdodD8udmFsdWUoKT8/dGhpcy5fcGxvdFN0eWxlSW5mby5taW5IZWlnaHQpKSxpPU1hdGguYWJzKCgwLGguZW5zdXJlRGVmaW5lZCkodFt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubWF4SGVpZ2h0Py52YWx1ZSgpPz90aGlzLl9wbG90U3R5bGVJbmZvLm1heEhlaWdodCkpO2lmKHM+aSl7Y29uc3QgZT1zO3M9aSxpPWV9Y29uc3Qgcj10aGlzLl9pdGVtcyxuPWUudmlzaWJsZUl0ZW1zUmFuZ2U/LnN0YXJ0SXRlbUluZGV4Pz8wLGE9KGUudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/ci5sZW5ndGgpLTE7bGV0IG89MDtmb3IobGV0IGU9bjtlPD1hO2UrKyl7Y29uc3QgdD1yW2VdLHM9TWF0aC5hYnModC5vcmlnSGVpZ2h0KTtzPm8mJihvPXMpfWNvbnN0IGw9KGktcykvbztmb3IobGV0IGU9bjtlPD1hO2UrKyl7Y29uc3QgdD1yW2VdLGk9TWF0aC5hYnModC5vcmlnSGVpZ2h0KTt0LmhlaWdodD1pKmwrc319fXZhciBWdD1zKDM0ODUxOCkseHQ9cyg1NDQ4NjQpO2NsYXNzIEF0IGV4dGVuZHMgQmUuU3R1ZHlGb3JjZU92ZXJsYXlQbG90Vmlld3tjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcih0LHMsaSksdGhpcy5fYmFycz1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl9pc01hcmtlcnNFbmFibGVkPSgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIpLHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx0aGlzLl9vaGxjUGxvdEluZGV4ZXM9bmV3IE1hcCx0aGlzLl9zdHVkeT1lLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsCmtlLmNyZWF0ZVN0dWR5UGxvdENvbG9yUHJvdmlkZXIpKGUubWV0YUluZm8oKSxlLnByb3BlcnRpZXMoKSxpKSx0aGlzLl9zZWxlY3Rpb25JbmRleGVyPW5ldyAkZS5TZWxlY3Rpb25JbmRleGVzKHMudGltZVNjYWxlKCkpO2NvbnN0IHI9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90cztmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKyl7Y29uc3QgdD1yW2VdOyJ0YXJnZXQiaW4gdCYmKHQudGFyZ2V0PT09dGhpcy5fcGxvdE5hbWUmJigoMCxaLmlzT2hsY09wZW5QbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCgxLGUpLCgwLFouaXNPaGxjSGlnaFBsb3QpKHQpJiZ0aGlzLl9vaGxjUGxvdEluZGV4ZXMuc2V0KDIsZSksKDAsWi5pc09obGNMb3dQbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCgzLGUpLCgwLFouaXNPaGxjQ2xvc2VQbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCg0LGUpKSl9fXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1pdGVtcygpe3JldHVybiB0aGlzLl9iYXJzfWlzUGxvdEhpZ2hsaWdodGVkKCl7aWYoIXRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMuZmlsdGVyKChlPT4idGFyZ2V0ImluIGUmJmUudGFyZ2V0PT09dGhpcy5fcGxvdE5hbWUpKTtyZXR1cm4gQm9vbGVhbihlLmZpbmQoKGU9PigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuaGlnaGxpZ2h0ZWRQbG90SW5mbygpKS5wbG90SWQ9PT1lLmlkKSkpfV91cGRhdGVJbXBsKCl7dGhpcy5fYmFycy5sZW5ndGg9MDtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKHQuaXNFbXB0eSgpfHxudWxsPT09ZXx8ZS5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IHM9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXMpcmV0dXJuO2xldCBpPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgocy5maXJzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KTtjb25zdCByPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgocy5sYXN0QmFyKCksUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09aXx8dm9pZCAwPT09cilyZXR1cm47Y29uc3Qgbj10aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdCh0aGlzLl9wbG90TmFtZSk7aWYobj5yKXJldHVybjtpPU1hdGgubWF4KG4saSk7Y29uc3QgYT10aGlzLl9zdHVkeS5kYXRhKCksbz10aGlzLl9zdHVkeS5maXJzdFZhbHVlKHZvaWQgMCx0aGlzLmlzRm9yY2VPdmVybGF5KCkpO2lmKG51bGw9PT1vKXJldHVybjtjb25zdCBsPWEucmFuZ2VJdGVyYXRvcihpLHIpLHU9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2hsY1Bsb3RzKS5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCksYz1uZXcgTWFwLGQ9KGUsdCk9Pntjb25zdCBzPWUrIkAiK3Q7aWYoIWMuaGFzKHMpKXtjb25zdCBpPSgwLEwuZ2VuZXJhdGVDb2xvcikoZSx0KTtyZXR1cm4gYy5zZXQocyxpKSxpfXJldHVybiBjLmdldChzKX0scD0oMCxLZS5jcmVhdGVFbXB0eVN0eWxlKSgpO2Zvcihjb25zdCBlIG9mIGwpe2xldCB0PWUuaW5kZXg7Y29uc3Qgcz1lLnZhbHVlO3Q9TWF0aC5mbG9vcih0KTtsZXQgaT0hMDtjb25zdCByPW5ldyBNYXA7Zm9yKGxldCBlPTE7ZTw9NDsrK2Upe2NvbnN0IHQ9dGhpcy5fb2hsY1Bsb3RJbmRleGVzLmdldChlKTtpZih2b2lkIDA9PT10KXtpPSExO2JyZWFrfWNvbnN0IG49c1t0KzFdO2lmKG51bGw9PW4pe2k9ITE7YnJlYWt9ci5zZXQoZSxuKX1pZighaSljb250aW51ZTtjb25zdCBuPSgwLGguZW5zdXJlRGVmaW5lZCkoci5nZXQoMSkpLGE9KDAsaC5lbnN1cmVEZWZpbmVkKShyLmdldCg0KSksbz0oMCxoLmVuc3VyZURlZmluZWQpKHIuZ2V0KDIpKSxsPSgwLGguZW5zdXJlRGVmaW5lZCkoci5nZXQoMykpLGM9TWF0aC5tYXgobixvLGwsYSksXz1NYXRoLm1pbihuLG8sbCxhKTtsZXQgZj0oMCxoLmVuc3VyZURlZmluZWQpKGQodS5jb2xvci52YWx1ZSgpLDApKTtjb25zdCBtPXRoaXMuX2NvbG9yUHJvdmlkZXIuZ2V0UGxvdFBvaW50U3R5bGUocyxwKTt2b2lkIDAhPT1tLmNvbG9yc1swXSYmKGY9KDAsaC5lbnN1cmVEZWZpbmVkKShtLmNvbG9yc1swXSkpO2NvbnN0IHk9e29wZW46bixoaWdoOmMsbG93Ol8sY2xvc2U6YSxjb2xvcjpmLHdpY2tDb2xvcjptLmNvbG9yc1s0XSxib3JkZXJDb2xvcjptLmNvbG9yc1szXSxob2xsb3c6bnVsbCxjZW50ZXI6TmFOLGxlZnQ6TmFOLHJpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDpNYXRoLnJvdW5kKHQpfTt0aGlzLl9iYXJzLnB1c2goeSl9ZS5iYXJQcmljZXNUb0Nvb3JkaW5hdGVzKHRoaXMuX2JhcnMsbyksdC5maWxsQmFyQm9yZGVycyh0aGlzLl9iYXJzKSx0aGlzLl9jcmVhdGVTZWxlY3Rpb24obyx0KX1fY3JlYXRlU2VsZWN0aW9uKGUsdCl7Y29uc3Qgcz10aGlzLl9wcmljZVNjYWxlKCk7aWYobnVsbD09PXMpcmV0dXJuO2lmKHRoaXMuX3NlbGVjdGlvbkRhdGE9e3BvaW50czpbXSxiZ0NvbG9yczpbXSx2aXNpYmxlOiEwLGhpdHRlc3RSZXN1bHQ6eHQuSGl0VGFyZ2V0LlJlZ3VsYXIsYmFyU3BhY2luZzp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCl9LCF0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCkmJighdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSl8fHRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSkpcmV0dXJuIHZvaWQgdGhpcy5fc2VsZWN0aW9uSW5kZXhlci5jbGVhcigpO2NvbnN0IGk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KSkuaGVpZ2h0KCkscj0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX29obGNQbG90SW5kZXhlcy5nZXQoNCkpLG49dGhpcy5fc2VsZWN0aW9uSW5kZXhlci5pbmRleGVzKCk7Zm9yKGxldCBhPTA7YTxuLmxlbmd0aDthKyspewpjb25zdCBvPW5bYV0sbD10aGlzLl9zdHVkeS5kYXRhKCkudmFsdWVBdChvKTtpZihudWxsPT09bCljb250aW51ZTtjb25zdCBoPWxbcisxXTtpZihudWxsPT1oKWNvbnRpbnVlO2NvbnN0IHU9dC5pbmRleFRvQ29vcmRpbmF0ZShNYXRoLmZsb29yKG8pKSxjPXMucHJpY2VUb0Nvb3JkaW5hdGUoaCxlKTt0aGlzLl9zZWxlY3Rpb25EYXRhLnBvaW50cy5wdXNoKHtwb2ludDpuZXcgdXQuUG9pbnQodSxjKX0pLHRoaXMuX3NlbGVjdGlvbkRhdGEuYmdDb2xvcnMucHVzaCh0aGlzLl9tb2RlbC5iYWNrZ3JvdW5kQ29sb3JBdFlQZXJjZW50RnJvbVRvcChjL2kpKX19X2lzT0hMQ1Bsb3RWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxaLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSl9fWNsYXNzIFJ0IGV4dGVuZHMgQXR7cmVuZGVyZXIoKXtpZighdGhpcy5faXNPSExDUGxvdFZpc2libGUoKSlyZXR1cm4gbnVsbDt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgZT17YmFyczp0aGlzLl9iYXJzLGRvbnREcmF3T3Blbjp0aGlzLl9zZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpLmJhclN0eWxlLmNoaWxkcygpLmRvbnREcmF3T3Blbi52YWx1ZSgpLHRoaW5CYXJzOnRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmFyU3R5bGUuY2hpbGRzKCkudGhpbkJhcnMudmFsdWUoKX0sdD1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7cmV0dXJuIHQuYXBwZW5kKG5ldyBWdC5QYW5lUmVuZGVyZXJCYXJzKGUpKSx0aGlzLl9pc01hcmtlcnNFbmFibGVkJiZ0aGlzLl9zZWxlY3Rpb25EYXRhJiZ0LmFwcGVuZChuZXcgSGUuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpLHR9fXZhciBNdD1zKDY4OTA4MCk7Y2xhc3MgVHQgZXh0ZW5kcyBBdHtyZW5kZXJlcigpe2lmKCF0aGlzLl9pc09ITENQbG90VmlzaWJsZSgpKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgdD0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vaGxjUGxvdHMpLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSxzPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSxpPXtiYXJzOnRoaXMuX2JhcnMsYmFyU3BhY2luZzpzLHdpY2tWaXNpYmxlOnQuZHJhd1dpY2sudmFsdWUoKSxib2R5VmlzaWJsZTohMCxib3JkZXJWaXNpYmxlOnQuZHJhd0JvcmRlci52YWx1ZSgpLGJhcldpZHRoOigwLF90Lm9wdGltYWxCYXJXaWR0aCkocyksYm9yZGVyQ29sb3I6dC5ib3JkZXJDb2xvci52YWx1ZSgpLHdpY2tDb2xvcjp0LndpY2tDb2xvci52YWx1ZSgpLGlzUHJpY2VTY2FsZUludmVydGVkOmUuaXNJbnZlcnRlZCgpfSxyPW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gci5hcHBlbmQobmV3IE10LlBhbmVSZW5kZXJlckNhbmRsZXMoaSkpLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJnRoaXMuX3NlbGVjdGlvbkRhdGEmJnIuYXBwZW5kKG5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih0aGlzLl9zZWxlY3Rpb25EYXRhKSkscn19dmFyIER0PXMoMzc2NjQ1KSxGdD1zKDMxNTY1NCksT3Q9cyg3NDM0NyksTnQ9cygyNjA2OSk7Y2xhc3Mga3QgZXh0ZW5kcyBPdC5Ib3Jpem9udGFsTGluZVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9saW5lUmVuZGVyZXJEYXRhLmxpbmVzdHlsZT1OdC5MSU5FU1RZTEVfRE9UVEVELHRoaXMuX3N0dWR5PWUsdGhpcy5fcGxvdE5hbWU9dH1fdXBkYXRlSW1wbCgpe3RoaXMuX2xpbmVSZW5kZXJlckRhdGEudmlzaWJsZT0hMTtjb25zdCBlPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpO2lmKCFlLnRyYWNrUHJpY2UudmFsdWUoKXx8IXRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxaLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc3R1ZHkubGFzdFZhbHVlRGF0YSh0aGlzLl9wbG90TmFtZSwhMCk7dC5ub0RhdGF8fCh0aGlzLl9saW5lUmVuZGVyZXJEYXRhLnZpc2libGU9ITAsdGhpcy5fbGluZVJlbmRlcmVyRGF0YS55PXQuY29vcmRpbmF0ZSx0aGlzLl9saW5lUmVuZGVyZXJEYXRhLmNvbG9yPXQuY29sb3IsdGhpcy5fbGluZVJlbmRlcmVyRGF0YS5saW5ld2lkdGg9ZS5saW5ld2lkdGgudmFsdWUoKSl9fXZhciBCdD1zKDE2Njk4OCksRXQ9cygyNTQ3MzEpLEx0PXMoODc3MjE3KSxIdD1zKDk5NTI0MCk7Y29uc3QgVXQ9e3R5cGU6MCxjb2xvcjoidHJhbnNwYXJlbnQifTtjbGFzcyBXdCBleHRlbmRzIEx0LkFic3RyYWN0RmlsbGVkQXJlYVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3N1cGVyKGUsdCxzKSx0aGlzLl9wYWxldHRlc0luZm89e30sdGhpcy5fZ3JhZGllbnRQcm9wc1N0YXRlQ2FjaGU9bnVsbCx0aGlzLl9yZ2JhRnJvbUludGVnZXI9KDAsRXQucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpO2NvbnN0IHI9dGhpcy5fc291cmNlLm1ldGFJbmZvKCk7dGhpcy5faXNSR0I9Qm9vbGVhbihyLmlzUkdCKSx0aGlzLl9pc0hsaW5lRmlsbD0iaGxpbmVfaGxpbmUiPT09cy50eXBlLCgwLGguYXNzZXJ0KSh0aGlzLl9pc0hsaW5lRmlsbHx8InBsb3RfcGxvdCI9PT1zLnR5cGUsIldyb25nIGZpbGxlZEFyZWEgdHlwZTogIitzLnR5cGUpLHRoaXMuX2lzSGxpbmVGaWxsJiZ0aGlzLl9pbml0QmFuZEluZGV4ZXMocy5vYmpBSWQscy5vYmpCSWQpLHRoaXMuX2ZpbGxNZXRhSW5mbz1zLHRoaXMuX2ZpbGxTdHlsZVByb3BzPWksdGhpcy5fZ3JhZGllbnRGaWxsVHlwZT1pLmhhc0NoaWxkKCJmaWxsVHlwZSIpJiYiZ3JhZGllbnQiPT09aS5jaGlsZHMoKS5maWxsVHlwZT8udmFsdWUoKSx0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlPXsKY29sb3IxOnMudG9wQ29sb3IsY29sb3IyOnMuYm90dG9tQ29sb3IsdmFsdWUxOnMudG9wVmFsdWUsdmFsdWUyOnMuYm90dG9tVmFsdWV9LHRoaXMuX2hhc0FsbEdyYWRpZW50UmVxdWlyZWRQcm9wcz10aGlzLl9ncmFkaWVudEZpbGxUeXBlJiYodm9pZCAwIT09dGhpcy5fZ3JhZGllbnRTdGF0aWNTdGF0ZS5jb2xvcjF8fGkuaGFzQ2hpbGQoInRvcENvbG9yIil8fHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUuY29sb3IyfHxpLmhhc0NoaWxkKCJib3R0b21Db2xvciIpKSYmKHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUxfHxpLmhhc0NoaWxkKCJ0b3BWYWx1ZSIpKSYmKHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUyfHxpLmhhc0NoaWxkKCJib3R0b21WYWx1ZSIpKTtjb25zdCBuPSgpPT50aGlzLl9jb2xvclBsb3RJbmRleD10aGlzLl9jb2xvclBsb3RJbmRleD8/e3R5cGU6MX07Zm9yKGxldCB0PTA7dDxyLnBsb3RzLmxlbmd0aDsrK3Qpe2NvbnN0IGk9ci5wbG90c1t0XTtpZigoKDAsWi5pc0NvbG9yZXJQbG90KShpKXx8KDAsWi5pc0RhdGFQbG90KShpKSkmJmkudGFyZ2V0PT09cy5pZCl7aWYoKDAsWi5pc0NvbG9yZXJQbG90KShpKSl7bGV0IHM7dm9pZCAwIT09aS50YXJnZXRGaWVsZD8idG9wQ29sb3IiPT09aS50YXJnZXRGaWVsZD8obigpLmNvbG9ySW5kZXhPclJnYmExPXQscz0iY29sb3IxIik6ImJvdHRvbUNvbG9yIj09PWkudGFyZ2V0RmllbGQmJihuKCkuY29sb3JJbmRleE9yUmdiYTI9dCxzPSJjb2xvcjIiKTp0aGlzLl9jb2xvclBsb3RJbmRleD17dHlwZTowLGNvbG9ySW5kZXhPclJnYmE6dH0sKDAsWi5pc1BhbGV0dGVDb2xvcmVyUGxvdCkoaSkmJih0aGlzLl9wYWxldHRlc0luZm9bcz8/ImNvbG9yIl09e21hcDooMCxoLmVuc3VyZURlZmluZWQpKCgwLGguZW5zdXJlRGVmaW5lZCkoci5wYWxldHRlcylbaS5wYWxldHRlXT8udmFsVG9JbmRleCksdmFsdWVzOmUucHJvcGVydGllcygpLnBhbGV0dGVzW2kucGFsZXR0ZV0uY29sb3JzfSl9ZWxzZSgwLFouaXNEYXRhUGxvdCkoaSkmJigidG9wVmFsdWUiPT09aS50YXJnZXRGaWVsZD9uKCkudmFsdWVJbmRleDE9dDoiYm90dG9tVmFsdWUiPT09aS50YXJnZXRGaWVsZCYmKG4oKS52YWx1ZUluZGV4Mj10KSk7aWYoMD09PXRoaXMuX2NvbG9yUGxvdEluZGV4Py50eXBlKWJyZWFrfX19dXBkYXRlKGUpe3N1cGVyLnVwZGF0ZShlKSx0aGlzLl9ncmFkaWVudFByb3BzU3RhdGVDYWNoZT1udWxsfWlzRm9yY2VPdmVybGF5KCl7cmV0dXJuISF0aGlzLl9zb3VyY2UubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkodGhpcy5fcGxvdEFJZCgpKX1fZmlyc3RWYWx1ZSgpe2NvbnN0IGU9dGhpcy5pc0ZvcmNlT3ZlcmxheSgpO3JldHVybiB0aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSh2b2lkIDAsZSl9X21pbkZpcnN0QmFySW5kZXgoKXtyZXR1cm4gdGhpcy5fc291cmNlLmdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KHRoaXMuX2ZpbGxNZXRhSW5mby5pZCl9X2dldENvbG9yQnlQbG90VmFsdWUoZSl7aWYoMD09PWUudHlwZSl7bGV0IHQ7aWYobnVsbD09ZS5jb2xvckluZGV4T3JSZ2JhKXJldHVybiBudWxsO2lmKHRoaXMuX2lzUkdCKXQ9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleE9yUmdiYSk7ZWxzZXtjb25zdCBzPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcGFsZXR0ZXNJbmZvLmNvbG9yKSxpPSgwLGguZW5zdXJlRGVmaW5lZCkocy5tYXBbZS5jb2xvckluZGV4T3JSZ2JhXSk7dD1zLnZhbHVlc1tpXT8uY2hpbGRzKCkuY29sb3IudmFsdWUoKX1yZXR1cm57dHlwZTowLGNvbG9yOnR9fWNvbnN0IHQ9dGhpcy5fZ3JhZGllbnRDb2xvclByb3BzU3RhdGUoKTtsZXQgcyxpO2lmKHRoaXMuX2lzUkdCKW51bGwhPWUuY29sb3JJbmRleE9yUmdiYTEmJihzPXRoaXMuX3JnYmFGcm9tSW50ZWdlcihlLmNvbG9ySW5kZXhPclJnYmExKSksbnVsbCE9ZS5jb2xvckluZGV4T3JSZ2JhMiYmKGk9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleE9yUmdiYTIpKTtlbHNle2lmKG51bGwhPWUuY29sb3JJbmRleE9yUmdiYTEpe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYWxldHRlc0luZm8uY29sb3IxKTtzPXQudmFsdWVzWygwLGguZW5zdXJlRGVmaW5lZCkodC5tYXBbZS5jb2xvckluZGV4T3JSZ2JhMV0pXS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfWlmKG51bGwhPWUuY29sb3JJbmRleE9yUmdiYTIpe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYWxldHRlc0luZm8uY29sb3IyKTtpPXQudmFsdWVzWygwLGguZW5zdXJlRGVmaW5lZCkodC5tYXBbZS5jb2xvckluZGV4T3JSZ2JhMl0pXS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfX1jb25zdCByPWUudmFsdWUxPz90LnZhbHVlMSxuPWUudmFsdWUyPz90LnZhbHVlMjtyZXR1cm4gcz1zPz90LmNvbG9yMSxpPWk/P3QuY29sb3IyLHZvaWQgMD09PXJ8fHZvaWQgMD09PW58fHZvaWQgMD09PXMmJnZvaWQgMD09PWk/bnVsbDp7dHlwZToxLGNvbG9yMTpzLGNvbG9yMjppLHZhbHVlMTpyLHZhbHVlMjpuLGNvb3JkaW5hdGUxOk5hTixjb29yZGluYXRlMjpOYU59fV9wbG90QUlkKCl7cmV0dXJuIHRoaXMuX2ZpbGxNZXRhSW5mby5vYmpBSWR9X3Bsb3RCSWQoKXtyZXR1cm4gdGhpcy5fZmlsbE1ldGFJbmZvLm9iakJJZH1fY29tbW9uQ29sb3IoKXtjb25zdCBlPXRoaXMuX2ZpbGxTdHlsZVByb3BzLmNoaWxkcygpO2lmKHRoaXMuX2dyYWRpZW50RmlsbFR5cGUpe2lmKCF0aGlzLl9oYXNBbGxHcmFkaWVudFJlcXVpcmVkUHJvcHMpcmV0dXJuIFV0O2NvbnN0IGU9dGhpcy5fZ3JhZGllbnRDb2xvclByb3BzU3RhdGUoKTtyZXR1cm57dHlwZToxLGNvbG9yMTplLmNvbG9yMSxjb2xvcjI6ZS5jb2xvcjIsdmFsdWUxOmUudmFsdWUxLHZhbHVlMjplLnZhbHVlMixjb29yZGluYXRlMTpOYU4sY29vcmRpbmF0ZTI6TmFOfX1yZXR1cm57dHlwZTowLGNvbG9yOmUuY29sb3IudmFsdWUoKX19X3RyYW5zcGFyZW5jeSgpewpyZXR1cm4gdGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCkudHJhbnNwYXJlbmN5Py52YWx1ZSgpPz8wfV92aXNpYmxlKCl7cmV0dXJuIHRoaXMuX2ZpbGxTdHlsZVByb3BzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKX1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLmlzRm9yY2VPdmVybGF5KCk/dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTp0aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpfV9jcmVhdGVBcmVhQmFja2dyb3VuZEl0ZW0oKXtyZXR1cm4gdGhpcy5faXNIbGluZUZpbGw/bmV3IEh0LkFyZWFCYWNrZ3JvdW5kSXRlbSghMSwhMSk6c3VwZXIuX2NyZWF0ZUFyZWFCYWNrZ3JvdW5kSXRlbSgpfV9pbml0QmFuZEluZGV4ZXMoZSx0KXt0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGw7Y29uc3Qgcz10aGlzLl9zb3VyY2UubWV0YUluZm8oKS5iYW5kcztpZih2b2lkIDAhPT1zKWZvcihsZXQgaT0wO2k8cy5sZW5ndGg7KytpKXtjb25zdCByPXNbaV07bnVsbCE9PXRoaXMuX2JhbmRBS2V5fHxyLmlkIT09ZT9udWxsPT09dGhpcy5fYmFuZEJLZXkmJnIuaWQ9PT10JiYodGhpcy5fYmFuZEJLZXk9aSk6dGhpcy5fYmFuZEFLZXk9aX19X2dyYWRpZW50Q29sb3JQcm9wc1N0YXRlKCl7aWYobnVsbD09PXRoaXMuX2dyYWRpZW50UHJvcHNTdGF0ZUNhY2hlKXtjb25zdCBlPXRoaXMuX2ZpbGxTdHlsZVByb3BzLnN0YXRlKCk7dGhpcy5fZ3JhZGllbnRQcm9wc1N0YXRlQ2FjaGU9e2NvbG9yMTp0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLmNvbG9yMT8/ZS50b3BDb2xvcixjb2xvcjI6dGhpcy5fZ3JhZGllbnRTdGF0aWNTdGF0ZS5jb2xvcjI/P2UuYm90dG9tQ29sb3IsdmFsdWUxOnRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUxPz9lLnRvcFZhbHVlLHZhbHVlMjp0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLnZhbHVlMj8/ZS5ib3R0b21WYWx1ZX19cmV0dXJuIHRoaXMuX2dyYWRpZW50UHJvcHNTdGF0ZUNhY2hlfX12YXIgR3Q9cyg1MzY3MTApLGp0PXMoMTQxMzUwKSx6dD1zKDY1MDQ4MCk7Y2xhc3MgJHR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9saW5lUmVuZGVyZXI9bmV3IHp0Lkhvcml6b250YWxMaW5lUmVuZGVyZXIsdGhpcy5fc291cmNlPXQsdGhpcy5fcG9pbnRzPVtuZXcgdXQuUG9pbnQoLTEsLTEpXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm9wZXJ0aWVzPWV9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9e3k6dGhpcy5fcG9pbnRzWzBdLnksY29sb3I6dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDp0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmV3aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTp0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVzdHlsZS52YWx1ZSgpfTtyZXR1cm4gdGhpcy5fbGluZVJlbmRlcmVyLnNldERhdGEoZSksdGhpcy5fbGluZVJlbmRlcmVyfV91cGRhdGVJbXBsKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKSlyZXR1cm4gdm9pZCh0aGlzLl9wb2ludHNbMF09bmV3IHV0LlBvaW50KC0xLC0xKSk7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnZhbHVlLnZhbHVlKCkscz10aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSgpLGk9KDAsdS5pc051bWJlcikodCkmJm51bGwhPT1zP2UucHJpY2VUb0Nvb3JkaW5hdGUodCxzKTpOYU47dGhpcy5fcG9pbnRzWzBdPW5ldyB1dC5Qb2ludCgtMSxpKX19dmFyIEt0PXMoNTczMDU0KTtjbGFzcyBxdCBleHRlbmRzIEt0Lk1lZGlhQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9kYXRhPW51bGx9c2V0RGF0YShlPW51bGwpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KCl7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKG51bGw9PT10aGlzLl9kYXRhfHwwPT09dGhpcy5fZGF0YS5wb2ludHMubGVuZ3RoKXJldHVybjtjb25zdCB0PWUuY29udGV4dCxzPWUubWVkaWFTaXplLndpZHRoO2lmKHRoaXMuX2RhdGEuZ3JhZGllbnQpe2NvbnN0IGU9dC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLHRoaXMuX2RhdGEuY29vcmRpbmF0ZTEsMCx0aGlzLl9kYXRhLmNvb3JkaW5hdGUyKTtlLmFkZENvbG9yU3RvcCgwLHRoaXMuX2RhdGEuYmFja0NvbG9yMT8/InRyYW5zcGFyZW50IiksZS5hZGRDb2xvclN0b3AoMSx0aGlzLl9kYXRhLmJhY2tDb2xvcjI/PyJ0cmFuc3BhcmVudCIpLHQuZmlsbFN0eWxlPWV9ZWxzZSB0LmZpbGxTdHlsZT10aGlzLl9kYXRhLmJhY2tjb2xvcjtjb25zdCBpPU1hdGgubWluKHRoaXMuX2RhdGEucG9pbnRzWzBdLHRoaXMuX2RhdGEucG9pbnRzWzFdKSxyPU1hdGgubWF4KHRoaXMuX2RhdGEucG9pbnRzWzBdLHRoaXMuX2RhdGEucG9pbnRzWzFdKTt0LmZpbGxSZWN0KDAsaSxzLHItaSl9fWNsYXNzIEp0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2JhbmRCZ1JlbmRlcmVyPW5ldyBxdCx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9zb3VyY2U9ZX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2JhbmRCZ1JlbmRlcmVyfV91cGRhdGVJbXBsKCl7dGhpcy5fYmFuZEJnUmVuZGVyZXIuc2V0RGF0YShudWxsKTtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksdD1lLmJhbmRzO2lmKHQuY2hpbGRDb3VudCgpPDIpcmV0dXJuO2NvbnN0IHM9ZS5iYW5kc0JhY2tncm91bmQ7aWYoIXM/LmNoaWxkcygpLmZpbGxCYWNrZ3JvdW5kLnZhbHVlKCkpcmV0dXJuCjtjb25zdCBpPXRbMF0uY2hpbGRzKCkscj10WzFdLmNoaWxkcygpLG49dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKSxhPXRoaXMuX3NvdXJjZS5maXJzdFZhbHVlKCk7aWYoIW58fG4uaXNFbXB0eSgpfHxudWxsPT09YSlyZXR1cm47Y29uc3Qgbz1bbi5wcmljZVRvQ29vcmRpbmF0ZShpLnZhbHVlLnZhbHVlKCksYSksbi5wcmljZVRvQ29vcmRpbmF0ZShyLnZhbHVlLnZhbHVlKCksYSldLGw9KDAsaC5lbnN1cmVEZWZpbmVkKShlLmJhbmRzQmFja2dyb3VuZCkuY2hpbGRzKCksdT0oMCx6ZS5jbGFtcCkobC50cmFuc3BhcmVuY3k/LnZhbHVlKCk/PzAsMCwxMDApO3RoaXMuX2JhbmRCZ1JlbmRlcmVyLnNldERhdGEoe2dyYWRpZW50OiExLHBvaW50czpvLGJhY2tjb2xvcjooMCxMLmdlbmVyYXRlQ29sb3IpKGwuYmFja2dyb3VuZENvbG9yLnZhbHVlKCksdSl9KX19Y2xhc3MgWXR7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2JhbmRCZ1JlbmRlcmVyPW5ldyBxdCx0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGwsdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc291cmNlPWUsKDAsaC5hc3NlcnQpKCJobGluZV9obGluZSI9PT10LnR5cGUsIldyb25nIGZpbGxlZEFyZWEgdHlwZTogIit0LnR5cGUpLHRoaXMuX2luaXRCYW5kSW5kZXhlcyh0Lm9iakFJZCx0Lm9iakJJZCksdGhpcy5fZmlsbFN0eWxlUHJvcHM9cyx0aGlzLl9iYW5kQmdSZW5kZXJlcj1uZXcgcXQsdGhpcy5fZ3JhZGllbnRGaWxsVHlwZT1zLmhhc0NoaWxkKCJmaWxsVHlwZSIpJiYiZ3JhZGllbnQiPT09cy5jaGlsZHMoKS5maWxsVHlwZT8udmFsdWUoKSx0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlPXtjb2xvcjE6dC50b3BDb2xvcixjb2xvcjI6dC5ib3R0b21Db2xvcix2YWx1ZTE6dC50b3BWYWx1ZSx2YWx1ZTI6dC5ib3R0b21WYWx1ZX19dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2JhbmRCZ1JlbmRlcmVyfV91cGRhdGVJbXBsKCl7aWYodGhpcy5fYmFuZEJnUmVuZGVyZXIuc2V0RGF0YShudWxsKSwhdGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybjtpZihudWxsPT09dGhpcy5fYmFuZEFLZXl8fG51bGw9PT10aGlzLl9iYW5kQktleSlyZXR1cm47Y29uc3QgZT0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmFuZHMpLHQ9ZS5jaGlsZHMoKVt0aGlzLl9iYW5kQUtleV0uY2hpbGRzKCkscz1lLmNoaWxkcygpW3RoaXMuX2JhbmRCS2V5XS5jaGlsZHMoKSxpPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCkscj10aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSgpO2lmKCFpfHxpLmlzRW1wdHkoKXx8bnVsbD09PXIpcmV0dXJuO2NvbnN0IG49W2kucHJpY2VUb0Nvb3JkaW5hdGUodC52YWx1ZS52YWx1ZSgpLHIpLGkucHJpY2VUb0Nvb3JkaW5hdGUocy52YWx1ZS52YWx1ZSgpLHIpXSxhPSgwLHplLmNsYW1wKSh0aGlzLl9maWxsU3R5bGVQcm9wcy5jaGlsZHMoKS50cmFuc3BhcmVuY3k/LnZhbHVlKCk/PzAsMCwxMDApO2xldCBvO2NvbnN0IGw9dGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCk7aWYodGhpcy5fZ3JhZGllbnRGaWxsVHlwZSl7Y29uc3QgZT10aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLHQ9bCxzPWUudmFsdWUxPz90LnRvcFZhbHVlPy52YWx1ZSgpLGg9ZS52YWx1ZTI/P3QuYm90dG9tVmFsdWU/LnZhbHVlKCk7aWYodm9pZCAwPT09c3x8dm9pZCAwPT09aClyZXR1cm47Y29uc3QgdT1lLmNvbG9yMT8/dC50b3BDb2xvcj8udmFsdWUoKSxjPWUuY29sb3IyPz90LmJvdHRvbUNvbG9yPy52YWx1ZSgpO2lmKHZvaWQgMD09PXUmJnZvaWQgMD09PWMpcmV0dXJuO289e2dyYWRpZW50OiEwLHBvaW50czpuLGJhY2tDb2xvcjE6dSYmKDAsTC5nZW5lcmF0ZUNvbG9yKSh1LGEpLGJhY2tDb2xvcjI6YyYmKDAsTC5nZW5lcmF0ZUNvbG9yKShjLGEpLGNvb3JkaW5hdGUxOmkucHJpY2VUb0Nvb3JkaW5hdGUocyxyKSxjb29yZGluYXRlMjppLnByaWNlVG9Db29yZGluYXRlKGgscil9fWVsc2Ugbz17Z3JhZGllbnQ6ITEscG9pbnRzOm4sYmFja2NvbG9yOigwLEwuZ2VuZXJhdGVDb2xvcikobC5jb2xvci52YWx1ZSgpLGEpfTt0aGlzLl9iYW5kQmdSZW5kZXJlci5zZXREYXRhKG8pfV9pbml0QmFuZEluZGV4ZXMoZSx0KXt0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGw7KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zb3VyY2UubWV0YUluZm8oKS5iYW5kcykuZm9yRWFjaCgoKHMsaSk9PntudWxsPT09dGhpcy5fYmFuZEFLZXkmJnMuaWQ9PT1lJiYodGhpcy5fYmFuZEFLZXk9aSksbnVsbD09PXRoaXMuX2JhbmRCS2V5JiZzLmlkPT09dCYmKHRoaXMuX2JhbmRCS2V5PWkpfSkpfX12YXIgWnQ9cyg4Njc4MzEpLFh0PXMoNDc3MyksUXQ9cyg3NjgyOTIpLGVzPXMoNDkwNDQ2KSx0cz1zKDEyODk5OCksc3M9cygxNTI3NjYpLGlzPXMoNjgwMTI2KTtjbGFzcyBycyBleHRlbmRzIGlzLlN0dWR5UHJpY2VBeGlzVmlld3tpc1Bsb3RIaWdobGlnaHRlZCgpe2lmKCF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpKXJldHVybiExO2NvbnN0IGU9dGhpcy5fc291cmNlLm1ldGFJbmZvKCkucGxvdHMuZmlsdGVyKChlPT4idGFyZ2V0ImluIGUmJmUudGFyZ2V0PT09dGhpcy5fZGF0YT8ucGxvdE5hbWUpKTtyZXR1cm4gQm9vbGVhbihlLmZpbmQoKGU9PigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuaGlnaGxpZ2h0ZWRQbG90SW5mbygpKS5wbG90SWQ9PT1lLmlkKSkpfX12YXIgbnM9cyg5Njk0KSxhcz1zKDQ4MzE2MCk7Y2xhc3Mgb3MgZXh0ZW5kcyBhcy5BYnN0cmFjdEJhckNvbG9yZXJ7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuX3JnYmFGcm9tSW50ZWdlcj0oMCxFdC5yZ2JhRnJvbUludGVnZXJDYWNoZWQpKCksdGhpcy5fc3R1ZHk9ZSx0aGlzLl9wbG90SW5kZXg9dH1hcHBseUJhclN0eWxlKGUsdCxzLGkpe2lmKHQpcmV0dXJuIHMKO2NvbnN0IHI9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFyLnZpc2libGUudmFsdWUoKSlyZXR1cm4gcztjb25zdCBuPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCksYT10aGlzLl9zdHVkeS5kYXRhKCk7aWYoIWF8fDA9PT1hLnNpemUoKSlyZXR1cm4gcztjb25zdCBvPW4ucGxvdHNbdGhpcy5fcGxvdEluZGV4XSxsPXRoaXMuX2dldE9mZnNldCgpO2lmKHRoaXMuX3N0dWR5LmdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KG8uaWQpPmUrbClyZXR1cm4gcztpZihyLnN0eWxlcy5jaGlsZHMoKVtvLmlkXS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCk9PT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSlyZXR1cm4gcztjb25zdCB1PWEudmFsdWVBdChlLWwpO2lmKG51bGw9PT11KXJldHVybiBzO2xldCBjPXVbdGhpcy5fcGxvdEluZGV4KzFdO2lmKG51bGw9PWMpcmV0dXJuIHM7aWYoYz1NYXRoLnJvdW5kKGMpLG4uaXNSR0Ipcy5iYXJDb2xvcj10aGlzLl9yZ2JhRnJvbUludGVnZXIoYykscy51cENvbG9yPXMuYmFyQ29sb3Iscy5kb3duQ29sb3I9cy5iYXJDb2xvcjtlbHNle2NvbnN0IGU9bi5wbG90c1t0aGlzLl9wbG90SW5kZXhdO2lmKCJwYWxldHRlImluIGUpe2NvbnN0IHQ9ZS5wYWxldHRlLGk9ci5wYWxldHRlcy5jaGlsZHMoKVt0XSxhPSgwLGguZW5zdXJlRGVmaW5lZCkobi5wYWxldHRlcz8uW3RdKSxvPWEudmFsVG9JbmRleD8oMCxoLmVuc3VyZURlZmluZWQpKGEudmFsVG9JbmRleFtjXSk6YyxsPWkuY2hpbGRzKCkuY29sb3JzLmNoaWxkcygpW29dLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7cy5iYXJDb2xvcj1sLHMudXBDb2xvcj1sLHMuZG93bkNvbG9yPWx9fXJldHVybiBzfWZpcnN0Q29sb3JlZEJhcihlKXtsZXQgdD1lO2Zvcihjb25zdCBzIG9mIHRoaXMuX2JhY2tDb2xvcmVycyl0PU1hdGgubWluKHQscy5maXJzdENvbG9yZWRCYXIoZSk/PzEvMCk7Y29uc3Qgcz10aGlzLl9nZXRPZmZzZXQoKTt0PU1hdGgubWluKHQsZStzKTtjb25zdCBpPXRoaXMuX2dldEJhcnMoKS5maXJzdEluZGV4KCkscj1NYXRoLm1heCh0LGk/Py0xLzApLG49dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90c1t0aGlzLl9wbG90SW5kZXhdO3JldHVybiBNYXRoLm1heCh0aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdChuLmlkKSxyKX1fZ2V0QmFycygpe3JldHVybiB0aGlzLl9zdHVkeS5zZXJpZXMoKS5iYXJzKCl9X2dldE9mZnNldCgpe2NvbnN0IGU9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90c1t0aGlzLl9wbG90SW5kZXhdO3JldHVybiB0aGlzLl9zdHVkeS5vZmZzZXQoZS5pZCl9fXZhciBscz1zKDE3OTc3MSksaHM9cygzMDk4MzcpLHVzPXMoNzU1NjI3KSxjcz1zKDUwNDQzMSk7Y2xhc3MgZHMgZXh0ZW5kcyBEdC5QYW5lUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcihlLHQscyksdGhpcy5fZGF0YVNvdXJjZT10LHRoaXMuX2lzRm9yY2VPdmVybGF5PXQubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkoaSl9X3Bvc2l0aW9uKCl7Y29uc3QgZT10aGlzLl9pc0ZvcmNlT3ZlcmxheT90aGlzLl9jaGFydE1vZGVsLm1haW5QYW5lKCk6dGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX2RhdGFTb3VyY2UpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5faXNGb3JjZU92ZXJsYXk/dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX2RhdGFTb3VyY2UucHJpY2VTY2FsZSgpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2xldCBzPWUucHJpY2VTY2FsZVBvc2l0aW9uKHQpO3JldHVybiJvdmVybGF5Ij09PXMmJihzPWUucHJpY2VTY2FsZVBvc2l0aW9uKGUuZGVmYXVsdFByaWNlU2NhbGUoKSkpLCJvdmVybGF5Ij09PXM/bnVsbDpzfX12YXIgcHM9cygyMzMyNDcpLF9zPXMoNDM3NzQ5KSxmcz1zKDQxMzY2KSxtcz1zKDMxNjY1NSkseXM9cyg3NzU4NjkpLGdzPXMoODM1Mjc4KTtjb25zdCBTcz0oMCxjLmdldExvZ2dlcikoIkNoYXJ0LlN0dWR5IiksYnM9Vi50KG51bGwse2NvbnRleHQ6InN0dWR5IHN0YXR1cyBkZXNjcmlwdGlvbiJ9LHMoOTI5MDY2KSksdnM9L14oW15cJF0rKVwkXGQrJC87dmFyIFBzLElzO2Z1bmN0aW9uIHdzKCl7cmV0dXJue2ZpZWxkczpbXSx1c2VNYWluU2VyaWVzUmFuZ2U6ITEsYmFzZVZhbHVlTWluTWF4Om51bGx9fSFmdW5jdGlvbihlKXtlLlBhbmVWaWV3cz0ic3R1ZHktcGFuZS12aWV3cyJ9KFBzfHwoUHM9e30pKSxmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFByaWNlU2NhbGU9MTAwXT0iRGVmYXVsdFByaWNlU2NhbGUifShJc3x8KElzPXt9KSk7Y29uc3QgQ3M9e3N5bWJvbHNGb3JEaXNwbGF5OiExLHN5bWJvbHNGb3JDaGFydEFwaTohMCxza2lwSGlkZGVuSW5wdXRzOiExLHNraXBGYWtlSW5wdXRzOiExLHNraXBCb29sZWFuSW5wdXRzOiExLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6W10sc2tpcHBlZElucHV0czpbXSxub0V4Y2hhbmdlczohMSxub1Jlc29sdXRpb246ITEsa2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5OiExLHNraXBDb2xvcklucHV0czohMSxza2lwVGltZUlucHV0czohMSxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czohMSxza2lwVGV4dGFyZWFJbnB1dHM6ITEscHJpY2VJbnB1dHNGb3JEaXNwbGF5OiExfSxWcz17c3ltYm9sc0ZvckRpc3BsYXk6ITEsc3ltYm9sc0ZvckNoYXJ0QXBpOiEwLHNraXBIaWRkZW5JbnB1dHM6ITAsc2tpcEZha2VJbnB1dHM6ITEsc2tpcEJvb2xlYW5JbnB1dHM6ITEsc2tpcHBlZEdyb3VwczpbXSxza2lwcGVkSW5wdXRzOltdLG5vRXhjaGFuZ2VzOiExLG5vUmVzb2x1dGlvbjohMSxrZWVwT3B0aW9uYWxTeW1ib2xzRW1wdHk6ITEsc2tpcENvbG9ySW5wdXRzOiExLHNraXBUaW1lSW5wdXRzOiExLHNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzOiExLHNraXBUZXh0YXJlYUlucHV0czohMSxwcmljZUlucHV0c0ZvckRpc3BsYXk6ITEsZmFrZUlucHV0c0ZvckRpc3BsYXk6ITEsZG9Ob3RTa2lwSGlkZGVuV2l0aE1pZ3JhdGU6ITEsb25seUF0b21WYWx1ZXM6ITB9LHhzPSgwLApJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV9zeW1ib2xfdGlja2VyX2Rlc2NyaXB0aW9uIiksQXM9KDAsSS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIiksUnM9KDAsSS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGF0YXNvdXJjZV9jb3B5cGFzdGUiKSxNcz0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3VucmVzb2x2ZWRfc3ltYm9sc19pbl9sZWdlbmQiKTtmdW5jdGlvbiBUcyhlLHQpe2NvbnN0IHM9ZS5wbG90c1t0XTtpZighc3x8ISgwLFouaXNPaGxjUGxvdCkocykpcmV0dXJuITE7Y29uc3QgaT1zLnRhcmdldCxyPWUuZGVmYXVsdHMuc3R5bGVzJiZlLmRlZmF1bHRzLnN0eWxlc1tpXSxuPWUuZGVmYXVsdHMub2hsY1Bsb3RzJiZlLmRlZmF1bHRzLm9obGNQbG90c1tpXSxhPWUub2hsY1Bsb3RzJiZlLm9obGNQbG90c1tpXTtyZXR1cm4gciYmKDAsWi5pc09obGNQbG90U3R5bGVCYXJzKShyKXx8biYmKDAsWi5pc09obGNQbG90U3R5bGVCYXJzKShuKXx8ISFhJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUJhcnMpKGEpfWZ1bmN0aW9uIERzKGUsdCl7Y29uc3Qgcz1lLnBsb3RzW3RdO2lmKCFzfHwhKDAsWi5pc09obGNQbG90KShzKSlyZXR1cm4hMTtjb25zdCBpPXMudGFyZ2V0LHI9ZS5kZWZhdWx0cy5zdHlsZXMmJmUuZGVmYXVsdHMuc3R5bGVzW2ldLG49ZS5kZWZhdWx0cy5vaGxjUGxvdHMmJmUuZGVmYXVsdHMub2hsY1Bsb3RzW2ldLGE9ZS5vaGxjUGxvdHMmJmUub2hsY1Bsb3RzW2ldO3JldHVybiByJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUNhbmRsZXMpKHIpfHxuJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUNhbmRsZXMpKG4pfHwhIWEmJigwLFouaXNPaGxjUGxvdFN0eWxlQ2FuZGxlcykoYSl9ZnVuY3Rpb24gRnMoZSx0KXsoMCxoLmFzc2VydCkodm9pZCAwIT09ZSwiek9yZGVyIG11c3QgYmUgZGVmaW5lZCIpLCgwLGguYXNzZXJ0KSghdC5oYXMoZSksInpPcmRlciBtdXN0IGJlIHVuaXF1ZSIpfWZ1bmN0aW9uIE9zKGUpe2lmKCFlLm1ldGFJbmZvKXJldHVybjtjb25zdCB0PWUubWV0YUluZm8uc2NyaXB0SWRQYXJ0O2lmKCF0KXJldHVybjtjb25zdCBzPShpPUMoKSh0KSxidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuZXcgVWludDhBcnJheShpKSkpKTt2YXIgaTtjb25zdCByPWUubWV0YUluZm87ci5pZD0oci5pZHx8IiIpLnJlcGxhY2UodCxzKSxyLmZ1bGxJZD0oci5mdWxsSWR8fCIiKS5yZXBsYWNlKHQscyksci5uYW1lPShyLm5hbWV8fCIiKS5yZXBsYWNlKHQscyksci5zaG9ydElkPShyLnNob3J0SWR8fCIiKS5yZXBsYWNlKHQscyksci5zY3JpcHRJZFBhcnQ9KHIuc2NyaXB0SWRQYXJ0fHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUmJihlLnN0YXRlLmlkPShlLnN0YXRlLmlkfHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUubmFtZT0oZS5zdGF0ZS5uYW1lfHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUuc2NyaXB0SWRQYXJ0PShlLnN0YXRlLnNjcmlwdElkUGFydHx8IiIpLnJlcGxhY2UodCxzKSl9ZnVuY3Rpb24gTnMoZSx0KXtyZXR1cm4gZS5wbG90cy5zb21lKChlPT4oKDAsWi5pc0NvbG9yZXJQbG90KShlKXx8KDAsWi5pc0RhdGFQbG90KShlKSkmJmUudGFyZ2V0PT09dCkpfWZ1bmN0aW9uIGtzKGUsdCxzKXtsZXQgaT0wLHI9MDtyZXR1cm4gZS5pbnB1dHMuZmlsdGVyKChlPT4ic291cmNlIj09PWUudHlwZSkpLmZvckVhY2goKGU9PnsoMCxEZS5nZXRJbnB1dFZhbHVlKShzW2UuaWRdKS5pbmNsdWRlcygiJCIpJiZpKyssKDAsRGUuZ2V0SW5wdXRWYWx1ZSkodFtlLmlkXSkuaW5jbHVkZXMoIiQiKSYmcisrfSkpLE1hdGguc2lnbihyKS1NYXRoLnNpZ24oaSl9ZnVuY3Rpb24gQnMoZSl7Y29uc3QgdD0oMCxfLmNvbWJpbmUpKChlPT5lLm1hcCgoZT0+QnMoZS5wYXJlbnRTb3VyY2VzVlcoKS53ZWFrUmVmZXJlbmNlKCkpKSkpLGUpO3JldHVybigwLF8uYWNjdW11bGF0ZSkoKChlLHQpPT5BcnJheS5mcm9tKG5ldyBTZXQodC5jb25jYXQoZS5mbGF0KDIwKSkpKSksdC5vd25lcnNoaXAoKSxlKS5vd25lcnNoaXAoKX1mdW5jdGlvbiBFcyhlKXtyZXR1cm4iaW5oZXJpdCI9PT1lLnR5cGUmJihlLnR5cGU9InByaWNlIiksZX1mdW5jdGlvbiBMcyhlLHQscyxpKXtpZihudWxsIT09dClzd2l0Y2goZS50eXBlKXtjYXNlImluaGVyaXQiOmNhc2UicHJpY2UiOnJldHVybiBuZXcgdXMuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dH0pO2Nhc2Uidm9sdW1lIjpyZXR1cm4oMCxwcy5nZXRWb2x1bWVGb3JtYXR0ZXIpKE1hdGgubG9nMTAodCkpO2Nhc2UicGVyY2VudCI6cmV0dXJuKDAscHMuZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoTWF0aC5sb2cxMCh0KSl9aWYoImluaGVyaXQiPT09ZS50eXBlKXJldHVybiBudWxsO2NvbnN0IHI9KDAsdS5pc051bWJlcikoZS5wcmVjaXNpb24pP01hdGgucG93KDEwLGUucHJlY2lzaW9uKTp2b2lkIDA7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmljZSI6cmV0dXJuIG5ldyB1cy5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpyfSk7Y2FzZSJ2b2x1bWUiOntsZXQgdD1lLnByZWNpc2lvbjtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9cyYmKDAsdS5pc051bWJlcikocy52b2x1bWVfcHJlY2lzaW9uKT9zLnZvbHVtZV9wcmVjaXNpb246MCksKDAscHMuZ2V0Vm9sdW1lRm9ybWF0dGVyKSh0KX1jYXNlInBlcmNlbnQiOnJldHVybigwLHBzLmdldFBlcmNlbnRhZ2VGb3JtYXR0ZXIpKHZvaWQgMD09PXI/dm9pZCAwOk1hdGgubG9nMTAocikpO2RlZmF1bHQ6cmV0dXJuIFNzLmxvZ1dhcm4oYFVuc3VwcG9ydGVkIGZvcm1hdCB0eXBlOiAke2UudHlwZX1gKSxudWxsfX1jb25zdCBIcz1uZXcgU2V0KERlLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dE5hbWVzTGlzdCk7Y2xhc3MgVXMgZXh0ZW5kcyBVLlByaWNlRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlLHQscyxyLG4sYSxvKXtzdXBlcihlKSx0aGlzLl9vblN0YXJ0PW5ldyB5LkRlbGVnYXRlLHRoaXMuX3Jlc3RhcnRpbmc9ITEsdGhpcy5fcGFuZVZpZXdzPVtdLHRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3M9W10sCnRoaXMuX2xlZ2VuZFZpZXc9bnVsbCx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3PW51bGwsdGhpcy5fcHJpY2VBeGlzVmlld3M9W10sdGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3M9W10sdGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlPVtdLHRoaXMuX3Jlc29sdmVkU3ltYm9scz17fSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0PXt9LHRoaXMuX3ByaWNlTGluZXNBeGlzVmlld3M9W10sdGhpcy5fbGFiZWxQYW5lVmlld3M9W10sdGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3M9W10sdGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5PW51bGwsdGhpcy5fdW5pdElucHV0UHJvcGVydHk9bnVsbCx0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvPW5ldyBmLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9vd25GaXJzdFZhbHVlPW51bGwsdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLHRoaXMuX2RhdGFVcGRhdGVkPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eT1udWxsLHRoaXMuX3BpbmVTb3VyY2VDb2RlTW9kZWw9bnVsbCx0aGlzLl9hbGVydFNvdXJjZU1vZGVsPW51bGwsdGhpcy5fb25IaWJlcm5hdGlvblN0YXRlQ2hhbmdlPW5ldyB5LkRlbGVnYXRlLHRoaXMuX3N5bWJvbHNSZXNvbHZlZD1uZXcgeS5EZWxlZ2F0ZSx0aGlzLl9zdGF0dXNDaGFuZ2VkPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2lucHV0c0FuY2hvcnNQYW5lVmlldz1udWxsLHRoaXMuX2lucHV0c0xpbmVzUGFuZVZpZXc9bnVsbCx0aGlzLl9pbnB1dHNUaW1lQXhpc1BhbmVWaWV3cz1bXSx0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3M9W10sdGhpcy5fc291cmNlcz1uZXcgbS5XYXRjaGVkT2JqZWN0KFtdLHAuY29tcGFyZVR3b0NvbGxlY3Rpb25zQnlJZHMpLHRoaXMuX3N0YXR1cz1uZXcgZi5XYXRjaGVkVmFsdWUoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pLHRoaXMuX2NvbXBpbGVBY3RpdmVTdGF0dXM9bmV3IG0uV2F0Y2hlZE9iamVjdChudWxsKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXM9bmV3IG0uV2F0Y2hlZE9iamVjdChudWxsKSx0aGlzLl93YXNDb21wbGV0ZWRCZWZvcmU9ITEsdGhpcy5faXNTdGFydGVkPSExLHRoaXMuX2lzU3Vic2NyaWJlZFRvU2Vzc2lvbklkPSExLHRoaXMuX3RpdGxlU3RyQ2FjaGU9e30sdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGU9e30sdGhpcy5fc3BsaXRUaXRsZUNhY2hlPXt9LHRoaXMuX2lucHV0c0luUGFydHNDYWNoZT17fSx0aGlzLl9jaGlsZHJlbj1bXSx0aGlzLl9ncmFwaGljc1ByaWNlQXhpc1ZpZXdzPVtdLHRoaXMuX3NlcnZlclBsb3RPZmZzZXRzPW5ldyBtLldhdGNoZWRPYmplY3Qoe30pLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX3N0dWR5TW9kaWZpZWQ9ITEsdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IHkuRGVsZWdhdGUsdGhpcy5fdHVybmFyb3VuZD0ic3QwIix0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHM9bmV3IE1hcCx0aGlzLl9vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2U9bmV3IHkuRGVsZWdhdGUsdGhpcy5fY2hpbGRTdHVkeUJ5UmViaW5kPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZT17fSx0aGlzLl9zdGFydE1vdmluZ1BvaW50PW51bGwsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZUJvdW5kPXRoaXMucHJvY2Vzc0hpYmVybmF0ZS5iaW5kKHRoaXMsMSksdGhpcy5fbWF4T2Zmc2V0PW5ldyBmLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM9bnVsbCx0aGlzLl9ncmFwaGljc1ZpZXdzUmVhZHk9ITEsdGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz1udWxsLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTAsdGhpcy5fZGVmZXJyZWRQaW5lUGF0Y2hQcm9wcz0hMSx0aGlzLl9wcm9wZXJ0aWVzUGF0Y2hlZD1Qcm9taXNlLnJlc29sdmUoKSx0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2Fib3J0UGF0Y2hQcm9wc0NvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hYm9ydFJlc2V0UGF0Y2hQcm9wc0NvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWQ9bmV3IHkuRGVsZWdhdGUsdGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWw9bnVsbCx0aGlzLl9wbG90Rm9ybWF0dGVycz1uZXcgTWFwLHRoaXMuX3Nob3dQaW5lVmVyc2lvbkluU3RhdHVzTGluZT1uZXcgZi5XYXRjaGVkVmFsdWUoITEpLnNwYXduKCksdGhpcy5fb25QYXJlbnRTb3VyY2VzQ2hhbmdlcz1uZXcgeS5EZWxlZ2F0ZSx0aGlzLl9zdGF0dXNDaGFuZ2VzU3Vic2NyaWJlcj17fSx0aGlzLl9jYWxjdWxhdGlvblRpbWU9bmV3IGYuV2F0Y2hlZFZhbHVlKDApLHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZT1udWxsLHRoaXMuX2lkRm9yQWxlcnRDYWNoZT1udWxsLHRoaXMuX2lkRm9yQWxlcnRXVj1uZXcgZi5XYXRjaGVkVmFsdWUoIiIpLHRoaXMuX2NoYXJ0QXBpPWUuY2hhcnRBcGkoKSx0aGlzLl9wcm9wZXJ0aWVzPXQsdGhpcy5fb3JpZ2luYWxNZXRhSW5mbz1uLHRoaXMuX21ldGFJbmZvPW5ldyBmLldhdGNoZWRWYWx1ZShyKSx0aGlzLl9zdHVkeU5hbWU9KDAsXy5jb21iaW5lKSgoZT0+ZS51c2VWZXJzaW9uRnJvbU1ldGFJbmZvPygwLHYuZ2V0U3R1ZHlJZFdpdGhWZXJzaW9uKShlKTp0aGlzLl9nZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oKSksdGhpcy5fbWV0YUluZm8ud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9jb21wb3VuZFN0YXR1cz0oMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT5lPz90Pz9zKSx0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3N0YXR1cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2hpZGVNYXRjaGVzPXIuaW5wdXRzLmZpbHRlcigoZT0+ZS5oaWRlV2hlblBsb3RzSGlkZGVuKSkubWFwKChlPT4oe2lkOmUuaWQsCnBsb3RJZHM6ZS5oaWRlV2hlblBsb3RzSGlkZGVufHxbXX0pKSksdGhpcy5fc2VyaWVzPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0aGlzLl9zZXJpZXMub25JbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9jYWxjSXNBY3R1YWxJbnRlcnZhbCksdGhpcy5fc2VyaWVzLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZUJvdW5kKSx0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eT0oMCx4ZS5jb21iaW5lUHJvcGVydHkpKCgoZSx0KT0+ZSYmdCksZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U3R1ZHlBcmd1bWVudHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZElucHV0cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5vbkFsaWFzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX29uRm9ybWF0dGVyUHJvcHNDaGFuZ2VkKCksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpfSkpLGUuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGVCb3VuZCksdGhpcy5fc291cmNlcy5zZXRWYWx1ZShzKSxmdW5jdGlvbihlLHQscyl7Zm9yKGNvbnN0IGkgb2YgZS5pbnB1dHMpe2lmKCF2LlN0dWR5TWV0YUluZm8uaXNTb3VyY2VJbnB1dChpKSljb250aW51ZTtjb25zdCBlPXMuY2hpbGRzKCkuaW5wdXRzJiZzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKVtpLmlkXTtpZihlKXtjb25zdCBzPWUudmFsdWUoKSxpPXZzLmV4ZWMocyk7aWYoMj09PWk/Lmxlbmd0aCYmIntwaWR9Ij09PWlbMV0pe2NvbnN0IGk9cy5yZXBsYWNlKC9eW15cJF0rLyx0KTtlLnNldFZhbHVlKGkpfX19fShyLHNbMF0/LmlkKCksdCkscy5mb3JFYWNoKChlPT57ZS5zZXRDaGlsZCh0aGlzKX0pKSxbdGhpcy5fc2VyaWVzLC4uLnNdLmZvckVhY2goKGU9PntlLmN1cnJlbmN5Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU291cmNlQ3VycmVuY3lDaGFuZ2VkKSxlLnVuaXRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VVbml0Q2hhbmdlZCksZS5tZXRyaWNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VNZXRyaWNDaGFuZ2VkKSxlLnByaWNlUmFuZ2VSZWFkeUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNvdXJjZVByaWNlUmFuZ2VSZWFkeUNoYW5nZWQpLGUuZm9ybWF0dGVyQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU291cmNlRm9ybWF0dGVyQ2hhbmdlZCksZS5wcmljZVN0ZXBDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VQcmljZVN0ZXBDaGFuZ2VkKX0pKSx4cyYmdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdGF0dXNWaWV3U3R5bGUuY2hpbGRzKCkuc3ltYm9sVGV4dFNvdXJjZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLmludmFsaWRhdGVUaXRsZUNhY2hlKCEwKX0pKTtjb25zdCBsPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7Zm9yKGNvbnN0IGUgb2Ygdi5TdHVkeU1ldGFJbmZvLmdldFNvdXJjZUlucHV0SWRzKHIpKWwuaW5wdXRzLmNoaWxkcygpW2VdPy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNvdXJjZUlucHV0Q2hhbmdlZCk7dGhpcy5fcGxvdE9mZnNldHM9KDAsXy5jb21iaW5lKSgoKGUsdCxzLGkpPT4oaS5wbG90cz8/W10pLnJlZHVjZSgoKGkscik9Pntjb25zdCBuPXIuaWQsYT0oZVtuXT8/MCkrKHM/LmNoaWxkcygpW25dPy5jaGlsZHMoKS52YWwudmFsdWUoKT8/MCkrKHQ/PzApO3JldHVybiBpW25dPWEsaX0pLHt9KSksdGhpcy5fc2VydmVyUGxvdE9mZnNldHMud2Vha1JlZmVyZW5jZSgpLCgwLFJlLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT50aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vZmZzZXQ/LmNoaWxkcygpLnZhbC52YWx1ZSgpKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vZmZzZXQ/P25ldyB5LkRlbGVnYXRlKS5vd25lcnNoaXAoKSwoMCxSZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2Zmc2V0cyksdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2Zmc2V0cz8/bmV3IHkuRGVsZWdhdGUpLm93bmVyc2hpcCgpLHRoaXMuX21ldGFJbmZvLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByb3BlcnRpZXNDaGFuZ2VkKSxsLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpLGwudmlzaWJsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMucHJvY2Vzc0hpYmVybmF0ZSgpKSksbC5pbnRlcnZhbHNWaXNpYmlsaXRpZXMuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2FsY0lzQWN0dWFsSW50ZXJ2YWwpLGwuaW5wdXRzLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZU1heE9mZnNldFZhbHVlKSx2b2lkIDAhPT1sLm9mZnNldHMmJmwub2Zmc2V0cy5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVNYXhPZmZzZXRWYWx1ZSksdm9pZCAwIT09bC5vZmZzZXQmJmwub2Zmc2V0LnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZU1heE9mZnNldFZhbHVlKSxRLmhpZGVBbGxJbmRpY2F0b3JzKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpO2ZvcihsZXQgZT0wO2U8ci5wbG90cy5sZW5ndGg7ZSsrKXtjb25zdCB0PXIucGxvdHNbZV0scz10LmlkLGk9bC5zdHlsZXMuY2hpbGRzKClbc10sbj0oMCxaLmlzQmFyQ29sb3JlclBsb3QpKHQpO2kmJiFpLmhhc0NoaWxkKCJkaXNwbGF5IikmJmkubWVyZ2Uoe2Rpc3BsYXk6Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LkFsbH0pLGk/LmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5wcm9jZXNzSGliZXJuYXRlKCksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpLApuJiZ0aGlzLl9zZXJpZXMuaW52YWxpZGF0ZUJhckNvbG9yZXJDYWNoZSgpfSkpfWZvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHIuZ3JhcGhpY3MpKWZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKHIuZ3JhcGhpY3NbZV0pKXtjb25zdCBzPWwuZ3JhcGhpY3MuY2hpbGRzKClbZV0/LmNoaWxkcygpW3RdO3MmJnMuY2hpbGRzKCkudmlzaWJsZSYmKDAsaC5lbnN1cmVEZWZpbmVkKShzLmNoaWxkcygpLnZpc2libGUpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5wcm9jZXNzSGliZXJuYXRlKCkpKX10aGlzLl9pc0FjdHVhbEludGVydmFsPSgwLFh0LmlzQWN0dWFsSW50ZXJ2YWwpKHRoaXMuX3Nlcmllcy5pbnRlcnZhbE9iaigpLnZhbHVlKCksbC5pbnRlcnZhbHNWaXNpYmlsaXRpZXMpLHRoaXMuX2luaXRpYWxpemVTdHVkeUlucHV0c1BhbmVWaWV3cygpLHRoaXMuX2hhbmRsZXI9ZT0+dGhpcy5fb25EYXRhKGUpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBocy5TdHVkeVZhbHVlc1Byb3ZpZGVyKHRoaXMsZSksdGhpcy5fdGFibGVWaWV3VmFsdWVzUHJvdmlkZXI9bmV3IGZzLlN0dWR5VGFibGVWaWV3VmFsdWVzUHJvdmlkZXIodGhpcyxlKSx0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM9Z2UodGhpcyksdGhpcy5fZ3JhcGhpY3M9bmV3IEsuTGl2ZVN0dWR5R3JhcGhpY3Moci5ncmFwaGljcyksdGhpcy5fc2lnbmxlUGVyZm9ybWFuY2VWYWx1ZT0oMCxNZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zKSgoKCk9PkFycmF5LmZyb20oKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncmFwaGljcy5wZXJmb3JtYW5jZSgpLmdldCgicGVyZm9ybWFuY2UiKSkpWzBdPz9udWxsKSxbKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncmFwaGljcy5vYnNlcnZhYmxlUGVyZm9ybWFuY2UoKS5nZXQoInBlcmZvcm1hbmNlIikpLmNoYW5nZWQoKSwoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyYXBoaWNzLm9ic2VydmFibGVQZXJmb3JtYW5jZSgpLmdldCgicGVyZm9ybWFuY2UiKSkuY2xlYXJlZCgpXSksdGhpcy5fY2hhcnRBcGk9ZS5jaGFydEFwaSgpLHRoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKSx0aGlzLl9kYXRhPW5ldyBnLlBsb3RMaXN0KCgwLGNzLnN0dWR5UGxvdEZ1bmN0aW9uTWFwKShyKSxjcy5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKSx0aGlzLl9jcmVhdGVWaWV3cygpLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKHRoaXMuX3Nlcmllcy5zeW1ib2xJbmZvKCkpLGwucHJlY2lzaW9uLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRm9ybWF0dGVyUHJvcHNDaGFuZ2VkKSx0aGlzLl9tZXRhSW5mby5zdWJzY3JpYmUoKCgpPT50aGlzLl9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpKSksdGhpcy5fc2hvd1N0dWR5QXJndW1lbnRzUHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLmludmFsaWRhdGVUaXRsZUNhY2hlKCEwKSkpLGwuaW5wdXRzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSghMCkpKSwoMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIikmJmUubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKSxlLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoITApKSk7Y29uc3QgdT1uZXcgU2V0O2lmKHRoaXMuX3NpbXBsZVBsb3RzQ291bnQ9ci5wbG90cy5maWx0ZXIoKChlLHQpPT57aWYoKDAsWi5pc0xpbmVQbG90KShlKSlyZXR1cm4hMDtpZigoMCxaLmlzT2hsY1Bsb3QpKGUpKXtjb25zdCB0PWUudGFyZ2V0O3JldHVybiF1Lmhhcyh0KSYmKHUuYWRkKHQpLCEwKX1yZXR1cm4hMX0pKS5sZW5ndGgsdGhpcy5oYXNCYXJDb2xvcmVyKCkmJmwudmlzaWJsZS5zdWJzY3JpYmUodGhpcywoKCk9PmUubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJTdHlsZXNDYWNoZSkpLHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsPW51bGwsdGhpcy5fdXBkYXRlTWF4T2Zmc2V0VmFsdWUoKSxyLmlucHV0cy5zb21lKChlPT5Icy5oYXMoZS5pZCkpKSl7dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz1lLnZpc2libGVSYW5nZVN0dWRpZXNJbnB1dHMoKS5zcGF3bigpO2NvbnN0IHQ9dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cy52YWx1ZSgpO2xldCBzPW51bGwhPT10O3RoaXMuX3Zpc2libGVUaW1lUmFuZ2VJbnB1dHMuc3Vic2NyaWJlKChlPT57Y29uc3QgdD0oKT0+e3RoaXMuX29uVmlzaWJsZVRpbWVSYW5nZUlucHV0c0NoYW5nZWQoZSkscyE9PShudWxsIT09ZSkmJihzPW51bGwhPT1lLCFzfHx0aGlzLl9yZXN0YXJ0aW5nfHx0aGlzLmlzU3RhcnRlZCgpfHx0aGlzLnN0YXJ0KCEwKSl9O3RoaXMuX3N0YXR1c0NoYW5nZWQudW5zdWJzY3JpYmVBbGwodGhpcy5fc3RhdHVzQ2hhbmdlc1N1YnNjcmliZXIpLHRoaXMuX3N0YXR1cy52YWx1ZSgpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZz90aGlzLl9zdGF0dXNDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLl9zdGF0dXNDaGFuZ2VzU3Vic2NyaWJlcix0LCEwKTp0KCl9KSksdCYmdGhpcy5fdXBkYXRlVmlzaWJsZVRpbWVSYW5nZUlucHV0cyh0LCExKX0oMCxDZS5pc0NvdW50ZWRVc2VyU2NyaXB0KShyKSYmKHRoaXMuX3Nob3dQaW5lVmVyc2lvbkluU3RhdHVzTGluZT0oMCxfLmNvbWJpbmUpKChlPT4oMCxDZS51c2VyU2NyaXB0VmVyc2lvbnNDb3VudCkoci5zY3JpcHRJZFBhcnQpPjEpLCgwLENlLnVzZXJTY3JpcHRzT25MYXlvdXQpKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9zaG93UGluZVZlcnNpb25JblN0YXR1c0xpbmUuc3Vic2NyaWJlKCgoKT0+e3RoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoKSxlLnVwZGF0ZVNvdXJjZSh0aGlzKX0pKSksdGhpcy5fcHJvcGVydGllcy5zZXROYW1lSW5Pd25lcigoMCwKbXMucHJvcGVydHlQYXRoRm9yU291cmNlKSh0aGlzKSksbyYmdGhpcy5fcGluZVBhdGNoUHJvcHMoKTtjb25zdCBjPUJzKHRoaXMucGFyZW50U291cmNlc1ZXKCkud2Vha1JlZmVyZW5jZSgpKTtpZih0aGlzLl9hbGxPd25lclNvdXJjZXM9KDAsXy5jb21iaW5lKSgoKGUsdCk9PmUpLGMsKDAsUmUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMub3duZXJTb3VyY2UoKSksdGhpcy5vd25lclNvdXJjZUNoYW5nZWQoKSkub3duZXJzaGlwKCkpLHRoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXM9ZS5hdmFpbGFibGVDdXJyZW5jaWVzKCkuc3Bhd24oKSx0aGlzLl9jdXJyZW5jeU9yaWdpblNvdXJjZT0oMCxfLmNvbWJpbmUpKCgoZSx0KT0+ZT90aGlzOnQpLHRoaXMuX2lzQ3VycmVuY3lPcmlnaW4ud2Vha1JlZmVyZW5jZSgpLCgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKCgpPT5bdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmN1cnJlbmN5T3JpZ2luU291cmNlKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpKSx0aGlzLl9hdmFpbGFibGVVbml0cz1lLmF2YWlsYWJsZVVuaXRzKCkuc3Bhd24oKSx0aGlzLl91bml0T3JpZ2luU291cmNlPSgwLF8uY29tYmluZSkoKChlLHQpPT5lP3RoaXM6dCksdGhpcy5faXNVbml0T3JpZ2luLndlYWtSZWZlcmVuY2UoKSwoMCxfLmFjY3VtdWxhdGUpKChlPT5lWzBdKSwoMCxfLmNvbWJpbmUpKCgoKT0+W3RoaXMuX2ZpcnN0U291cmNlT3JTZXJpZXMoKS51bml0T3JpZ2luU291cmNlKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpKSx0aGlzLl9zeW1ib2xTb3VyY2U9KDAsXy5jb21iaW5lKSgoKCk9PnRoaXMuX2dldFN5bWJvbFNvdXJjZSgpKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9zeW1ib2xTb3VyY2VTeW1ib2xJbmZvPSgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKGU9PltlLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKV0pLHRoaXMuX3N5bWJvbFNvdXJjZS53ZWFrUmVmZXJlbmNlKCkpLndlYWtSZWZlcmVuY2UoKSksIWEmJnIuVFZTY3JpcHRNZXRhSW5mb0V4cHJzJiZyLmRlZmF1bHRzLmlucHV0cyl7Y29uc3QgZT10aGlzLmlucHV0cygpO2Zvcihjb25zdCB0IG9mIHIuaW5wdXRzKXQuaXNIaWRkZW58fCgwLERlLmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0KSh0KXx8ci5kZWZhdWx0cy5pbnB1dHNbdC5pZF0hPT1lW3QuaWRdJiYodGhpcy5fZGVmZXJyZWRQaW5lUGF0Y2hQcm9wcz0hMCx0aGlzLl9vbGRTdHVkeUlucHV0cz10aGlzLl9vbGRTdHVkeUlucHV0cz8/dGhpcy5fcHJlcGFyZUlucHV0cyhWcyksdGhpcy5fb2xkU3R1ZHlJbnB1dHNbdC5pZF09ci5kZWZhdWx0cy5pbnB1dHNbdC5pZF0pfWlmKHIuVFZTY3JpcHRNZXRhSW5mb0V4cHJzKXt0aGlzLl9wcmV2aW91c1BhdGNoTWFwPXt9O2NvbnN0IGU9ci5UVlNjcmlwdE1ldGFJbmZvRXhwcnMucGF0Y2hNYXB8fHt9LHQ9bmV3IHYuU3R1ZHlNZXRhSW5mbyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnN0YXRlKCksdGhpcy5fbWV0YUluZm8udmFsdWUoKS51c2VWZXJzaW9uRnJvbU1ldGFJbmZvKTsoMCxGLml0ZXJhdGVBbmRQYXRjaE9iamVjdHNCeU1hcCkoW3RoaXMuX3Byb3BlcnRpZXMsdC5kZWZhdWx0cyx0XSxlLCgoZSx0LHMpPT57Y29uc3QgaT1lWzBdLHI9ZVsxXSxuPWVbMl07cj8uaGFzT3duUHJvcGVydHkodCk/KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcmV2aW91c1BhdGNoTWFwKVtzXT1pW3RdLnZhbHVlKCk6KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcmV2aW91c1BhdGNoTWFwKVtzXT1uW3RdfSkpLHRoaXMuX21ldGFJbmZvLnNldFZhbHVlKHQpfXtjb25zdCB0PSgwLF8uY29tYmluZSkoKGU9PmUubWFwKChlPT4oMCxHLmlzU3R1ZHkpKGUpPygwLFJlLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlucHV0cygpKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMpLm93bmVyc2hpcCgpOm5ldyBmLldhdGNoZWRWYWx1ZSgwKS5vd25lcnNoaXAoKSkpKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSxzPSgwLF8uYWNjdW11bGF0ZSkoKChlLHQpPT4odD8/MCkrMSksdC5vd25lcnNoaXAoKSkscj0oMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT4ocz8/MCkrMSksKDAsUmUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMuZm9ybWF0dGVyKCkpLHRoaXMuZm9ybWF0dGVyQ2hhbmdlZCgpKS5vd25lcnNoaXAoKSwoMCxSZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5pbnB1dHMoKSksdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzKS5vd25lcnNoaXAoKSk7dGhpcy5fYWxlcnRTdGF0ZVZlcnNpb249KDAsXy5jb21iaW5lKSgoKGUsdCxzLGkscik9PihyPz8wKSsxKSx0aGlzLl9tZXRhSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fcGxvdE9mZnNldHMud2Vha1JlZmVyZW5jZSgpLHMub3duZXJzaGlwKCksci5vd25lcnNoaXAoKSk7Y29uc3Qgbj0oMCxpLmRlZmF1bHQpKCgoKT0+dGhpcy5faWRGb3JBbGVydFdWLnNldFZhbHVlKHRoaXMuaWRGb3JBbGVydCgpKSksNTAwKTt0aGlzLl9hbGVydFN0YXRlVmVyc2lvbi5zdWJzY3JpYmUoKCgpPT57dGhpcy5fc3RhdGVGb3JBbGVydENhY2hlPW51bGwsdGhpcy5faWRGb3JBbGVydENhY2hlPW51bGwsbigpfSkpLG4oKSx0aGlzLl9hbGVydFNvdXJjZU1vZGVsPW5ldyBrKGUsdGhpcy5faWRGb3JBbGVydFdWLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgYT0oKT0+e3RoaXMuX3NpZ25hdHVyZS5zZXRWYWx1ZSgoMCxWZS5zdHVkeVNpZ25hdHVyZSkodGhpcy5tZXRhSW5mbygpLnNjcmlwdElkUGFydCx0aGlzLm1ldGFJbmZvKCkuaW5wdXRzLHRoaXMuaW5wdXRzKHtvbmx5QXRvbVZhbHVlczohMCwKYXNPYmplY3Q6ITB9KSkpfTt0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5zdWJzY3JpYmUodGhpcyxhKSxhKCl9dGhpcy5fcHJvcGVydGllcy5vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVSZXN0b3JpbmdGYWN0b3J5RGVmYXVsdHMpLHRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eT10aGlzLl9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKSx0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkmJih0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnNldFZhbHVlKCEwKSx0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fY3VycmVuY3lDaGFuZ2VkLmZpcmUoKX0pKSksdGhpcy5fdW5pdElucHV0UHJvcGVydHk9dGhpcy5fZ2V0VW5pdElucHV0UHJvcGVydHkoKSx0aGlzLl91bml0SW5wdXRQcm9wZXJ0eSYmKHRoaXMuX2lzVW5pdE9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5fdW5pdElucHV0UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fdW5pdENoYW5nZWQuZmlyZSgpfSkpKSx0aGlzLl9pbml0Q3VycmVuY3lNZXRhRGF0YSgpLHRoaXMuX2luaXRVbml0TWV0YURhdGEoKTtjb25zdCBkPSgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcyk7dGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zdWJzY3JpYmUoZCksdGhpcy5faXNVbml0T3JpZ2luLnN1YnNjcmliZShkKSx0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnZhbHVlKCkmJmUucmVhbGlnbkxpbmVUb29scyh0aGlzKX0pKSx0aGlzLl91bml0TWV0YURhdGEuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2lzVW5pdE9yaWdpbi52YWx1ZSgpJiZlLnJlYWxpZ25MaW5lVG9vbHModGhpcyl9KSl9ZGVzdHJveSgpe3RoaXMuX3NpZ25sZVBlcmZvcm1hbmNlVmFsdWU/LmRlc3Ryb3koKSx0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWQuZmlyZSgpLG51bGwhPT10aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbCYmKHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsLmRlc3Ryb3koKSx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1udWxsKSx0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/Lm9uQWxpYXNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7dGhpcy5wYXJlbnRTb3VyY2VzKCkuZm9yRWFjaCgoZT0+e2UuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUubWV0cmljQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VSYW5nZVJlYWR5Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuZm9ybWF0dGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VTdGVwQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfSkpLHRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLmNoaWxkcygpLnN5bWJvbFRleHRTb3VyY2UudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2VyaWVzLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2VyaWVzLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlQm91bmQpLHRoaXMuZm9ybWF0dGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSksUS5oaWRlQWxsSW5kaWNhdG9ycygpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpLHRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGVCb3VuZCksbnVsbCE9PXRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eSYmdGhpcy5fY3VycmVuY3lTb3VyY2VTeW1ib2xJbnB1dFByb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2xlZ2VuZFZpZXc/LmRlc3Ryb3koKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3Py5kZXN0cm95KCksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD8uZ2V0KCk/LmRlc3Ryb3koKSx0aGlzLl92aXNpYmxlVGltZVJhbmdlSW5wdXRzPy5kZXN0cm95KCksdGhpcy5fc2hvd1BpbmVWZXJzaW9uSW5TdGF0dXNMaW5lLmRlc3Ryb3koKSx0aGlzLl9hbGVydFN0YXRlVmVyc2lvbj8uZGVzdHJveSgpLHRoaXMuX2FsZXJ0U291cmNlTW9kZWw/LmRlc3Ryb3koKSx0aGlzLl9tZXRhSW5mby5kZXN0cm95KCksdGhpcy5fc3R1ZHlOYW1lLmRlc3Ryb3koKSx0aGlzLl9hbGxPd25lclNvdXJjZXMuZGVzdHJveSgpLHRoaXMuX3NvdXJjZXMuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFNvdXJjZS5kZXN0cm95KCksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby5kZXN0cm95KCksdGhpcy5fc3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX3Bsb3RPZmZzZXRzLmRlc3Ryb3koKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5kZXN0cm95KCksdGhpcy5fcHJvcGVydGllcy5vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZVJlc3RvcmluZ0ZhY3RvcnlEZWZhdWx0cyksdGhpcy5fcHJvcGVydGllcy5kZXN0cm95KCksdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5kZXN0cm95KCksdGhpcy5fYXZhaWxhYmxlVW5pdHMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRJZChlKXtzdXBlci5zZXRJZChlKSx0aGlzLl9wcm9wZXJ0aWVzLnNldE5hbWVJbk93bmVyKCgwLG1zLnByb3BlcnR5UGF0aEZvclNvdXJjZSkodGhpcykpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc30KcHJvcGVydGllc1BhdGNoZWQoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc1BhdGNoZWR9aXNEcmFnZ2FibGUoKXtyZXR1cm4hdGhpcy5fbWV0YUluZm8udmFsdWUoKS5saW5rZWRUb1Nlcmllc31sb2dzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuZ3JhcGhpY3MubG9ncyYmdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzPygwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JhcGhpY3Mub2JzZXJ2YWJsZUxvZ3MoKS5nZXQoImxvZ3MiKSk6bnVsbH1sb2dMZXZlbE1hc2soKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLl9fbG9nX2xldmVsLnZhbHVlKCk7aWYoISgwLHUuaXNOdW1iZXIpKGUpfHxlPDB8fGU+Nyl0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIG9mIGxvZyBsZXZlbCBpcyB1bmV4cGVjdGVkLCBjdXJyZW50IHZhbHVlIGlzICR7ZX0sIGJ1dCBleHBlY3RlZCB2YWx1ZXMgZnJvbSAwIHRvIDdgKTtyZXR1cm57ZXJyb3I6Qm9vbGVhbigxJmUpLHdhcm5pbmc6Qm9vbGVhbigyJmUpLGluZm86Qm9vbGVhbig0JmUpfX1zZXRMb2dMZXZlbE1hc2soZSl7Y29uc3QgdD0oTnVtYmVyKGUuZXJyb3IpJiYxKXwoTnVtYmVyKGUud2FybmluZykmJjIpfChOdW1iZXIoZS5pbmZvKSYmNCk7dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuX19sb2dfbGV2ZWwuc2V0VmFsdWUodCl9cGVyZm9ybWFuY2UoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzP3RoaXMuX3NpZ25sZVBlcmZvcm1hbmNlVmFsdWU6bmV3IGYuV2F0Y2hlZFZhbHVlKG51bGwpfXByb2ZpbGluZ0VuYWJsZWQoKXtyZXR1cm4hIXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLl9fcHJvZmlsZT8udmFsdWUoKX1lbmFibGVQcm9maWxpbmcoZSl7dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuX19wcm9maWxlPy5zZXRWYWx1ZShlKX1vbkFib3V0VG9CZURlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWR9cHJpY2VTY2FsZShlKXtyZXR1cm4gZT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnN1cGVyLnByaWNlU2NhbGUoKX1sYXN0VmFsdWVEYXRhKGUsdCxzKXtjb25zdCBpPXtub0RhdGE6ITB9LHI9dGhpcy5tZXRhSW5mbygpLmlzUGxvdEZvcmNlT3ZlcmxheShlKSxuPXI/dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTp0aGlzLnByaWNlU2NhbGUoKTtpZih0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fG51bGw9PT1ufHxuLmlzRW1wdHkoKXx8dGhpcy5kYXRhKCkuaXNFbXB0eSgpKXJldHVybiBpO2NvbnN0IGE9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG89dGhpcy5maXJzdFZhbHVlKCEwLHIpO2lmKG51bGw9PT1hfHxudWxsPT09bylyZXR1cm4gaTtpZighdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuIGk7Y29uc3QgbD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlcyxoPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkub2hsY1Bsb3RzO2xldCBjLGQ7aWYobCYmbC5jaGlsZHMoKVtlXSYmKGM9bC5jaGlsZHMoKVtlXSksaCYmaC5jaGlsZHMoKVtlXSYmKGM9aC5jaGlsZHMoKVtlXSksIWN8fGMuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpPT09Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmUpcmV0dXJuIGk7Y29uc3QgcD10aGlzLm1ldGFJbmZvKCkucGxvdHM7Zm9yKGQ9MDtkPHAubGVuZ3RoO2QrKyl7Y29uc3QgdD1wW2RdO2lmKHQuaWQ9PT1lfHwoMCxaLmlzT2hsY0Nsb3NlUGxvdCkodCkmJnQudGFyZ2V0PT09ZSlicmVha31jb25zdCBfPWQrMSxmPXRoaXMub2Zmc2V0KGUpLG09dGhpcy5uZWFyZXN0SW5kZXgoYS5sYXN0QmFyKCktZixTLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0LF8pO2lmKHZvaWQgMD09PW0pcmV0dXJuIGk7Y29uc3QgeT10aGlzLl9sYXN0Tm9uRW1wdHlQbG90Um93KF8pLGc9bnVsbCE9PXkmJmEuY29udGFpbnMoeS5pbmRleCksYj1udWxsIT09eT95LnZhbHVlOm51bGwsdj10fHxnP2I6dGhpcy5kYXRhKCkudmFsdWVBdChtKTtpZighdnx8ISgwLHUuaXNOdW1iZXIpKHZbX10pKXJldHVybiBpO2NvbnN0IFA9dltfXSxJPXRoaXMuX3ZhbHVlc1Byb3ZpZGVyLmdldFBsb3RDb2xvcihkLHYpLHc9bi5wcmljZVRvQ29vcmRpbmF0ZShQLG8pLEM9dGhpcy5wbG90Rm9ybWF0dGVyKGUpLmZvcm1hdChQKSxWPXsuLi5uLmdldEZvcm1hdHRlZFZhbHVlcyhQLG8sdm9pZCAwLEMpLG5vRGF0YTohMSxjb2xvcjpJLGNvb3JkaW5hdGU6d307cmV0dXJuIHMmJihWLnByaWNlPVApLFZ9aXNGYWlsZWQoKXtyZXR1cm4gdGhpcy5zdGF0dXMoKS50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yfWlzTG9hZGluZygpe3JldHVybiB0aGlzLnN0YXR1cygpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZ31pc0NvbXBsZXRlZCgpe3JldHVybiB0aGlzLnN0YXR1cygpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfWlzU3ltYm9sSW52YWxpZCgpe2NvbnN0IGU9dGhpcy5fc3RhdHVzLnZhbHVlKCk7cmV0dXJuIGUudHlwZT09PVp0LlN0dWR5U3RhdHVzVHlwZS5FcnJvciYmZS5lcnJvckRlc2NyaXB0aW9uLmVycm9yPT09YnN9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX3Nlcmllc31tb2RlbCgpe3JldHVybiB0aGlzLl9tb2RlbH1zdGF0ZShlLHQpe2NvbnN0IHM9KDAsaC5lbnN1cmVOb3ROdWxsKSgoMCxBLmdldFN0dWR5Q2xhc3NOYW1lKSh0aGlzLmNvbnN0cnVjdG9yKSksaT10aGlzLm1ldGFJbmZvKCkscj10aGlzLnByb3BlcnRpZXMoKS5zdGF0ZSgpLG49e3R5cGU6cyxpZDp0aGlzLmlkKCksc3RhdGU6cix6b3JkZXI6dGhpcy56b3JkZXIoKSxvd25GaXJzdFZhbHVlOnRoaXMuaXNWaXNpYmxlKCk/bnVsbDp0aGlzLl9vd25GaXJzdFZhbHVlLG1ldGFJbmZvOnRoaXMuX29yaWdpbmFsTWV0YUluZm8uc3RhdGUoKX0sYT0oMCwKbC5kZWZhdWx0KShuLm1ldGFJbmZvLHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSk7KDAsby5kZWZhdWx0KShhKXx8KG4ubWV0YUluZm9QYXRjaD1hKTtjb25zdCB1PXRoaXMuX3NvdXJjZXMudmFsdWUoKS5tYXAoKGU9PmUuaWQoKSkpO2lmKHUubGVuZ3RoJiYobi5wYXJlbnRTb3VyY2VzPXUpLGUpe2xldCBlPXRoaXMuZGF0YSgpO2NvbnN0IHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkscz10aGlzLl9zZXJpZXNEYXRhUmFuZ2VUb1NhdmUoZSk7bnVsbCE9PXMmJihlPWUucmFuZ2Uocy5maXJzdEJhcigpLHMubGFzdEJhcigpKSksbi5kYXRhPWUuc3RhdGUoKSxuLmRhdGEuc3ltYm9scz10aGlzLl9yZXNvbHZlZFN5bWJvbHMsbi5kYXRhLmdyYXBoaWNzPSgwLEsuc2F2ZVN0dWR5R3JhcGhpY3MpKHRoaXMuZ3JhcGhpY3MoKSx0LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksbi5kYXRhLnBsb3RPZmZzZXRzPXRoaXMuX3NlcnZlclBsb3RPZmZzZXRzLnZhbHVlKCl9dGhpcy5vd25lclNvdXJjZSgpJiYobi5vd25lclNvdXJjZT10aGlzLm93bmVyU291cmNlKCk/LmlkKCkpO2ZvcihsZXQgZT0wO2U8aS5pbnB1dHMubGVuZ3RoO2UrKylpZigiYmFyX3RpbWUiPT09aS5pbnB1dHNbZV0udHlwZSl7Y29uc3QgdD1pLmlucHV0c1tlXS5pZCxzPW4uc3RhdGUuaW5wdXRzW3RdO2lmKHM8MCl7Y29uc3QgZT10aGlzLl9yaWdodE9mZnNldFRvVW5peFRpbWUoLXMpO24uc3RhdGUuaW5wdXRzW3RdPWUmJmU+PTA/ZTowfX1pZihuLnN0YXRlPy5pbnB1dHMpe2NvbnN0IGU9bi5tZXRhSW5mby5pbnB1dHMuZmluZCgoZT0+IklMU2NyaXB0Ij09PWUubmFtZSkpO2UmJmRlbGV0ZSBuLnN0YXRlLmlucHV0c1tlLmlkXSxkZWxldGUgbi5zdGF0ZS5pbnB1dHMuX19sb2dfbGV2ZWwsZGVsZXRlIG4uc3RhdGUuaW5wdXRzLl9fcHJvZmlsZX1jb25zdCBjPXRoaXMuc3RhdGVDdXN0b21GaWVsZHMoKTt2YXIgZDtyZXR1cm4gYyYmKG4uY3VzdG9tRmllbGRzPWMpLHQmJihkPW4pLm1ldGFJbmZvJiZkLm1ldGFJbmZvLnNjcmlwdElkUGFydCYmZC5tZXRhSW5mby5zY3JpcHRJZFBhcnQuc3RhcnRzV2l0aCgiVVNFUjsiKSYmKE9zKGQpLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KGUubWV0YUluZm8mJmUubWV0YUluZm8uaW5wdXRzfHxbXSkuZmluZCgoZT0+IklMU2NyaXB0Ij09PWUubmFtZSkpO3QmJih0LmRlZnZhbD0iIixlLnN0YXRlJiZlLnN0YXRlLmlucHV0cyYmKGUuc3RhdGUuaW5wdXRzW3QuaWRdPSIiKSxlLm1ldGFJbmZvLmRlZmF1bHRzLmlucHV0cyYmKGUubWV0YUluZm8uZGVmYXVsdHMuaW5wdXRzW3QuaWRdPSIiKSl9KGQpKSxufXN0YXRlQ3VzdG9tRmllbGRzKCl7Y29uc3QgZT10aGlzLl9jb21waWxlRXJyb3JTdGF0dXMudmFsdWUoKTtpZihlKXJldHVybntjb21waWxlRXJyb3JEZXNjcmlwdGlvbjplLmVycm9yRGVzY3JpcHRpb259fXJlc3RvcmVTdGF0ZUN1c3RvbUZpZWxkcyhlKXtjb25zdCB0PWUuY29tcGlsZUVycm9yRGVzY3JpcHRpb247dCYmdGhpcy5zZXRFcnJvckNvbXBpbGF0aW9uKFsoMCxoLmVuc3VyZURlZmluZWQpKHQuZWRpdG9yRXJyb3IpXSl9cmVzdG9yZURhdGEoZSl7dGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuZGF0YSgpLnJlc3RvcmVTdGF0ZShlKSx0aGlzLl9yZXNvbHZlZFN5bWJvbHM9ZS5zeW1ib2xzPz97fSx0aGlzLl9ncmFwaGljcz1lLmdyYXBoaWNzPygwLEsubG9hZFN0dWR5R3JhcGhpY3MpKGUuZ3JhcGhpY3MpOigwLEsuZW1wdHlTdHVkeUdyYXBoaWNzKSgpLHRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZShlLnBsb3RPZmZzZXRzPz97fSksdGhpcy5fc2V0U3RhdHVzKHt0eXBlOlp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9LCEwKX1oYXNTdGF0ZUZvckFsZXJ0KCl7cmV0dXJuIEllLmFsZXJ0c0F2YWlsYWJsZSYmIXRoaXMuaXNGYWlsZWQoKSYmIXRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaXNUVkxpYnJhcnkmJnRoaXMuX3Nlcmllcy5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSYmKHRoaXMuX2hhc0FsZXJ0Q29uZGl0aW9ucygpfHx0aGlzLl9oYXNBdmFpbGFibGVBbGVydFBsb3RzKCl8fHRoaXMuX2hhc0FsZXJ0RnVuY3Rpb24oKSl9c3RhdGVGb3JBbGVydCgpe2lmKHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZSlyZXR1cm4gdGhpcy5fc3RhdGVGb3JBbGVydENhY2hlO2NvbnN0IGU9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hbGVydE1ldGFJbmZvKCkpLHQ9dGhpcy5fcGxvdHNGb3JBbGVydCgpLHM9dGhpcy5fY29sbGVjdERlcHNGb3JBbGVydCgpLGk9cy5pZEZvckFsZXJ0LHI9cy5zdHVkeURlcGVuZGVuY2llcyxuPXMuaW5wdXRzRm9yQWxlcnQsYT10aGlzLl9mb3JtYXR0ZXJTdGF0ZUZvckFsZXJ0KCksbz1QLnN0dWR5SWRzSGlkZUlucHV0c01vZGUuaGFzKCgwLEQuZXh0cmFjdFN0dWR5SWQpKGUuZnVsbElkKSksbD17aWQ6aSx0eXBlOigwLGguZW5zdXJlTm90TnVsbCkoKDAsQS5nZXRTdHVkeUNsYXNzTmFtZSkodGhpcy5jb25zdHJ1Y3RvcikpLHRpdGxlOnRoaXMuX3RpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMSx7fSxvLCExLCEwKSxzaG9ydFRpdGxlOnRoaXMuX3RpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMCx7fSxvLCExLCEwKSxzaG9ydERlc2NyaXB0aW9uOigwLGQuZGVjb2RlSFRNTEVudGl0aWVzKShlLnNob3J0RGVzY3JpcHRpb258fCJTdHVkeSIpLGZ1bGxJZDplLmZ1bGxJZCxpc1RWU2NyaXB0OkJvb2xlYW4oZS5pc1RWU2NyaXB0KSxoYXNBbGVydEZ1bmN0aW9uOkJvb2xlYW4oZS5oYXNBbGVydEZ1bmN0aW9uKSxwbG90czp0LGlucHV0czpuLGFsZXJ0czplLmFsZXJ0cyxzY3JpcHRJZFBhcnQ6ZS5zY3JpcHRJZFBhcnQsc2NyaXB0VmVyc2lvbjplLnBpbmU/ZS5waW5lLnZlcnNpb246Ii0xIixzdHVkeURlcGVuZGVuY2llczpyLGZvcm1hdHRlcjphLGlzRnVuZGFtZW50YWxTdHVkeTplLmlzRnVuZGFtZW50YWxTdHVkeX0sdT1lLmRlZmF1bHRTdHJhdGVneUFsZXJ0TWVzc2FnZQo7cmV0dXJuIHUmJihsLmRlZmF1bHRTdHJhdGVneUFsZXJ0TWVzc2FnZT0oMCxkLmRlY29kZUhUTUxFbnRpdGllcykodSkpLHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZT1sLGx9YXN5bmMgc3RhdGVGb3JBbGVydEFzeW5jKCl7cmV0dXJuIHRoaXMuX2FsZXJ0TWV0YUluZm8oKXx8YXdhaXQgdGhpcy5fYXdhaXRGb3JNZXRhSW5mbygpLHRoaXMuc3RhdGVGb3JBbGVydCgpfWlkRm9yQWxlcnQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2lkRm9yQWxlcnRDYWNoZSYmKHRoaXMuX2lkRm9yQWxlcnRDYWNoZT10aGlzLl9jb2xsZWN0RGVwc0ZvckFsZXJ0KCkuaWRGb3JBbGVydCksdGhpcy5faWRGb3JBbGVydENhY2hlfWhhc0JhckNvbG9yZXIoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cy5zb21lKFouaXNCYXJDb2xvcmVyUGxvdCl9YmFyQ29sb3Jlcigpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cztsZXQgdD1udWxsO2ZvcihsZXQgcz1lLmxlbmd0aC0xO3M+PTA7cy0tKWlmKCgwLFouaXNCYXJDb2xvcmVyUGxvdCkoZVtzXSkpe2NvbnN0IGU9bmV3IG9zKHRoaXMscyk7bnVsbD09PXQ/dD1lOnQucHVzaEJhY2tCYXJDb2xvcmVyKGUpfXJldHVybiB0fWlzU2F2ZWRJblN0dWR5VGVtcGxhdGVzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaW5wdXRzLmV2ZXJ5KChlPT4iYmFyX3RpbWUiIT09ZS50eXBlKSl9cmVzdGFydChlKXt0aGlzLl9yZXN0YXJ0aW5nPSEwLHRoaXMuY2xlYXJEYXRhKCksKGV8fCgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN0b3Bfc3R1ZHlfb25fcmVzdGFydCIpKSYmdGhpcy5zdG9wKCksc2V0VGltZW91dCh0aGlzLnN0YXJ0LmJpbmQodGhpcyksMCl9c3RvcChlLHQpe2lmKCEwPT09ZSYmdGhpcy5fY2hpbGRyZW4pZm9yKGNvbnN0IGUgb2YgdGhpcy5fY2hpbGRyZW4pZS5zdG9wKCEwKTt0aGlzLl9zdG9wU3R1ZHlPblNlcnZlcigpLHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fdW5zdWJzY3JpYmVUb1Nlc3Npb25JZCgpLHRoaXMucmVjYWxjdWxhdGUoKX1kaXNjb25uZWN0KCl7dGhpcy5faXNTdGFydGVkPSExLHRoaXMuX21vZGVsLmlzU25hcHNob3QoKXx8KHRoaXMuX3Jlc29sdmVkU3ltYm9scz17fSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0PXt9KX1zb3VyY2VJZCgpe3JldHVybiB0aGlzLl9pZC52YWx1ZSgpfXBhcmVudFNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpfXBhcmVudFNvdXJjZXNWVygpe3JldHVybiB0aGlzLl9zb3VyY2VzfXN5bWJvbFNvdXJjZSgpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2UudmFsdWUoKX1zeW1ib2xTb3VyY2VXVigpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2UucmVhZG9ubHkoKX12YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sU291cmNlKCkudmFsdWVBdChlLHQpfWJhcnNQcm92aWRlcigpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuYmFyc1Byb3ZpZGVyKCl9b3duZXJTb3VyY2UoKXtyZXR1cm4gdGhpcy5pc0NoaWxkU3R1ZHkoKT90aGlzLl9zb3VyY2VzLnZhbHVlKClbMF06c3VwZXIub3duZXJTb3VyY2UoKX1pc0NoaWxkU3R1ZHkoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpLmxlbmd0aD4wfWhhc0NoaWxkcmVuKCl7cmV0dXJuIHRoaXMuX2NoaWxkcmVuLmxlbmd0aD4wfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9pc1N0YXJ0ZWR9aXNSZXN0YXJ0aW5nKCl7cmV0dXJuIHRoaXMuX3Jlc3RhcnRpbmd9aXNBY3R1YWxJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pc0FjdHVhbEludGVydmFsfW9uSXNBY3R1YWxJbnRlcnZhbENoYW5nZSgpe3JldHVybiB0aGlzLl9vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2V9aXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO2lmKHRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnZhbHVlKCl8fCFlLnZpc2libGUudmFsdWUoKXx8IXRoaXMuaXNBY3R1YWxJbnRlcnZhbCgpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5tZXRhSW5mbygpO2lmKHQucGxvdHMubGVuZ3RoPjApZm9yKGxldCBzPTA7czx0LnBsb3RzLmxlbmd0aDtzKyspe2NvbnN0IGk9dC5wbG90c1tzXS5pZCxyPWUuc3R5bGVzLmNoaWxkcygpW2ldO2lmKHZvaWQgMD09PXIpY29udGludWU7aWYoci5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkhPT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSlyZXR1cm4hMH1pZih0LmJhbmRzKWZvcihsZXQgcz0wO3M8dC5iYW5kcy5sZW5ndGg7cysrKWlmKGUuYmFuZHMuY2hpbGRzKClbc10uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybiEwO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKHQuZ3JhcGhpY3MpKWZvcihjb25zdCBpIG9mIE9iamVjdC5rZXlzKHQuZ3JhcGhpY3Nbc10pKXtjb25zdCB0PWUuZ3JhcGhpY3MuY2hpbGRzKClbc10/LmNoaWxkcygpW2ldO2lmKHZvaWQgMCE9PXQmJih0LmNoaWxkKCJ2aXNpYmxlIik/LnZhbHVlKCk/PzEpKXJldHVybiEwfWlmKHQuZmlsbGVkQXJlYXMpZm9yKGxldCBzPTA7czx0LmZpbGxlZEFyZWFzLmxlbmd0aDtzKyspaWYoZS5maWxsZWRBcmVhc1N0eWxlLmNoaWxkcygpW3QuZmlsbGVkQXJlYXNbc10uaWRdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4hMDtyZXR1cm4hKCF0LmlzVFZTY3JpcHRTdHJhdGVneSYmIXQuaGFzQWxlcnRGdW5jdGlvbil9YXN5bmMgc3RhcnQoZSx0LHMpe2NvbnN0IGk9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2F3YWl0IGkuc2VyaWVzQ3JlYXRlZCgpLGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX3NvdXJjZXMudmFsdWUoKS5maWx0ZXIoKGU9PmUuaXNIaWJlcm5hdGVkKCkpKS5tYXAoKGU9PmUuc3RhcnQoKSkpKTtjb25zdCByPSEodGhpcy5pc0hpYmVybmF0aW9uQWxsb3dlZCgpJiYhdGhpcy5pc1Zpc2libGUoKSl8fCEwPT09dDtpZih0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZyKXRyeXthd2FpdCB0aGlzLl9hbGxTeW1ib2xzQXJlUmVzb2x2ZWQoKSxhd2FpdCB0aGlzLl9zdGFydEFmdGVyU3ltYm9sc1Jlc29sdmVkKGUsdCkKfWNhdGNoKGUpe2NvbnN0IHQ9YEVSUk9SOiAke3RoaXMuX2RlYnVnSWQoKX0gc3RhcnQgZmFpbGVkLCAke2V9YDtTcy5sb2dFcnJvcih0KSx0aGlzLl9yZXN0YXJ0aW5nPSExLCJUb29NYW55U3R1ZGllcyI9PT1lPy5jYXVzZSYmKDAsQi5zaG93VG9vTWFueVN0dWRpZXNOb3RpY2UpKHRoaXMuX2NoYXJ0QXBpLmdldFN0dWR5Q291bnRlcigpKX1yfHx2b2lkIDAhPT10aGlzLl9pbnB1dHN8fCh0aGlzLl9pbnB1dHM9dGhpcy5fYXBpSW5wdXRzKCkpfXJlcGxhY2VEYXRhKGUsdCxzKXt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5kYXRhKCkucmVtb3ZlKGUrMSksdGhpcy5kYXRhKCkuYWRkVGFpbChzLHQpfWlucHV0cyhlKXtjb25zdCB0PSgwLGEuZGVmYXVsdCkoKDAsdS5jbG9uZSkoQ3MpLGV8fHt9KTt0LnNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzJiYodC5rZWVwT3B0aW9uYWxTeW1ib2xzRW1wdHk9ITApO3JldHVybiB0aGlzLl9idWlsZElucHV0cyh0KX1kYXRhKCl7cmV0dXJuIHRoaXMuX2RhdGF9bW92ZURhdGEoZSl7dGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbigoKCk9Pnt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fbW92ZURhdGEoZSksdGhpcy5kYXRhKCkuaXNFbXB0eSgpfHx0aGlzLl9vbkluZGV4RGlmZnNBcHBsaWVkKGUpfSkpfXBsb3RzKCl7cmV0dXJuIHRoaXMuZGF0YSgpfW1ldGFJbmZvKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCl9b3JpZ2luYWxNZXRhSW5mbygpe3JldHVybiB0aGlzLl9vcmlnaW5hbE1ldGFJbmZvfXN0YXR1cygpe3JldHVybiB0aGlzLl9jb21wb3VuZFN0YXR1cy52YWx1ZSgpfW5hbWUoZSl7Y29uc3QgdD10aGlzLm1ldGFJbmZvKCk7cmV0dXJuIGU/dC5zaG9ydERlc2NyaXB0aW9uPygwLGQuZGVjb2RlSFRNTEVudGl0aWVzKSh0LnNob3J0RGVzY3JpcHRpb24pOiJTdHVkeSI6dC5kZXNjcmlwdGlvbj8oMCxkLmRlY29kZUhUTUxFbnRpdGllcykodC5kZXNjcmlwdGlvbik6IlN0dWR5In10aXRsZShlLHQscyxpLHIsbil7aT12b2lkIDA9PT1pPyF0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eS52YWx1ZSgpOmk7Y29uc3QgYT1KU09OLnN0cmluZ2lmeShbZSx0LHMsaSxyLG5dKTtpZih0aGlzLl90aXRsZVN0ckNhY2hlW2FdKXJldHVybiB0aGlzLl90aXRsZVN0ckNhY2hlW2FdO2lmKHRoaXMuX3RpdGxlSW5QYXJ0c0NhY2hlW2FdKXJldHVybiB0aGlzLl9qb2luVGl0bGVzUGFydHModGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbYV0pO2NvbnN0IG89dGhpcy5fdGl0bGUoZSx0LHMsaSxyLG4pO3JldHVybiB0aGlzLl90aXRsZVN0ckNhY2hlW2FdPW8sb310aXRsZUluUGFydHMoZSx0LHMsaSxyKXtpPXZvaWQgMD09PWk/IXRoaXMuX3Nob3dTdHVkeUFyZ3VtZW50c1Byb3BlcnR5LnZhbHVlKCk6aTtjb25zdCBuPUpTT04uc3RyaW5naWZ5KFtlLHQscyxpLHJdKTtpZih0aGlzLl90aXRsZUluUGFydHNDYWNoZVtuXSlyZXR1cm4gdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbbl07Y29uc3QgYT10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyKTtyZXR1cm4gdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbbl09YSxhfWdldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD1gZ2V0U3BsaXRUaXRsZToke2U/PyExfWAscz10aGlzLl9zcGxpdFRpdGxlQ2FjaGVbdF07aWYocylyZXR1cm4gcztjb25zdCBpPXRoaXMuX2dldFNwbGl0VGl0bGUoZSk7cmV0dXJuIHRoaXMuX3NwbGl0VGl0bGVDYWNoZVt0XT1pLGl9aW5wdXRzSW5QYXJ0cyhlLHQ9ITAscyxpLHIpe2NvbnN0IG49IXRoaXMuX3Nob3dTdHVkeUFyZ3VtZW50c1Byb3BlcnR5LnZhbHVlKCksYT0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbHdheXNfc2hvd19zdHVkeV9zeW1ib2xfaW5wdXRfdmFsdWVzX2luX2xlZ2VuZCIpLG89biYmYTtpZihuJiYhYSYmZT09PVcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpcmV0dXJuIG51bGw7Y29uc3QgbD1KU09OLnN0cmluZ2lmeShbZSx0LHMsaSxyXSk7aWYodGhpcy5faW5wdXRzSW5QYXJ0c0NhY2hlW2xdKXJldHVybiB0aGlzLl9pbnB1dHNJblBhcnRzQ2FjaGVbbF07Y29uc3QgYz1bXSxkPXRoaXMubWV0YUluZm8oKSxwPXRoaXMuX3RpdGxlSW5wdXRzKCgwLHlzLnRvSW5wdXREaXNwbGF5RmxhZ3MpKGUpLGksITApLF89ZC5pbnB1dHMuZmlsdGVyKChlPT5wLmhhc093blByb3BlcnR5KGUuaWQpJiYoIW98fCJzeW1ib2wiPT09ZS50eXBlfHxlPy5pc0Fsd2F5c1Nob3duSW5MZWdlbmQpKSkubWFwKChlPT57bGV0IHQ9cFtlLmlkXTtpZigic3ltYm9sIj09PWUudHlwZSl7Y29uc3Qgcz10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZChlLmlkKT8udmFsdWUoKTtpZihzKXtjb25zdCBlPXRoaXMuX3Jlc29sdmVkU3ltYm9sc0J5SW5wdXRbc107ZSYmKHQ9dGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKGUucHJvX25hbWUpPy5hbGlhc05hbWU/P3QpfX1yZXR1cm57bWV0YTplLHZhbHVlOnR9fSkpLGY9e307aWYoXy5sZW5ndGg+MCl7aWYodGhpcy5pc0NoaWxkU3R1ZHkoKSlmb3IobGV0IHM9MDtzPGQuaW5wdXRzLmxlbmd0aDsrK3Mpe2NvbnN0IG49ZC5pbnB1dHNbc107aWYoIXYuU3R1ZHlNZXRhSW5mby5pc1NvdXJjZUlucHV0KG4pKWNvbnRpbnVlO2NvbnN0IGE9bi5pZCxvPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQoYSkpLnZhbHVlKCk7aWYoby5pbmRleE9mKCIkIik+PTApe2NvbnN0IHM9dGhpcy5wYXJlbnRTb3VyY2VGb3JJbnB1dChvKTtpZihzIGluc3RhbmNlb2YgVXMpe2NvbnN0IG49cy5tZXRhSW5mbygpLGE9cy50aXRsZShlLHQse30sITAsaSxyKTtpZigxPT09bi5wbG90cy5sZW5ndGgpZltvXT1hO2Vsc2V7Y29uc3QgZT1vLnNwbGl0KCIkIilbMV0sdD1uLnBsb3RzW3BhcnNlSW50KGUpXT8uaWQscz1uLnN0eWxlcyYmbi5zdHlsZXNbdF0saT1zJiZzLnRpdGxlfHx0O2Zbb109YSsiOuKAiSIraX19fX0KXy5mb3JFYWNoKCgoe21ldGE6ZSx2YWx1ZTp0fSk9PntsZXQgaTtpPSJ0aW1lIj09PWUudHlwZT9uZXcgRGF0ZSh0KS50b0lTT1N0cmluZygpOigwLHUuaXNOdW1iZXIpKHQpPygwLHBzLmdldE51bWVyaWNGb3JtYXR0ZXIpKCkuZm9ybWF0KHQpOmYmJmZbdC50b1N0cmluZygpXXx8dC50b1N0cmluZygpLHMmJnNbaS50b1N0cmluZygpXSYmKGk9c1tpLnRvU3RyaW5nKCldKSxjLnB1c2goe3RpdGxlOigwLGdzLmdldFRyYW5zbGF0ZWRJbnB1dFRpdGxlKShlLm5hbWUpLHZhbHVlOml9KX0pKX1yZXR1cm4gdGhpcy5faW5wdXRzSW5QYXJ0c0NhY2hlW2xdPWMsY31pbnZhbGlkYXRlVGl0bGVDYWNoZShlKXtpZih0aGlzLl90aXRsZVN0ckNhY2hlPXt9LHRoaXMuX3RpdGxlSW5QYXJ0c0NhY2hlPXt9LHRoaXMuX3NwbGl0VGl0bGVDYWNoZT17fSx0aGlzLl9pbnB1dHNJblBhcnRzQ2FjaGU9e30sITA9PT1lJiZ0aGlzLl9jaGlsZHJlbilmb3IobGV0IHQ9MDt0PHRoaXMuX2NoaWxkcmVuLmxlbmd0aDsrK3QpdGhpcy5fY2hpbGRyZW5bdF0uaW52YWxpZGF0ZVRpdGxlQ2FjaGUoZSl9Z3JhcGhpY3MoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3N9Z3JhcGhpY3NJbmZvKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuZ3JhcGhpY3N9cHJpY2VMYWJlbFRleHQoZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpLHM9dC5zdHlsZXMsaT10Lm9obGNQbG90cztsZXQgcjtzJiZzW2VdJiYocj1zW2VdKSxpJiZpW2VdJiYocj1pW2VdKTtjb25zdCBuPSgwLGguZW5zdXJlRGVmaW5lZCkocikudGl0bGU7bGV0IGE7cmV0dXJuIGE9MSE9PXRoaXMuX3NpbXBsZVBsb3RzQ291bnR8fCgwLFouaXNQbG90VGl0bGVEZWZpbmVkKShuKT90LmlzX3ByaWNlX3N0dWR5JiZuIT09dC5zaG9ydERlc2NyaXB0aW9uPyIiPT09bj90LnNob3J0RGVzY3JpcHRpb246dC5zaG9ydERlc2NyaXB0aW9uKyI6IituOm46dC5zaG9ydERlc2NyaXB0aW9uLCgwLGQuZGVjb2RlSFRNTEVudGl0aWVzKShhKX1zZXRPd25GaXJzdFZhbHVlKGUpe3RoaXMuX293bkZpcnN0VmFsdWU9ZX1maXJzdFZhbHVlKGUsdCl7aWYodClyZXR1cm4gdGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKTtjb25zdCBzPXRoaXMuX21ldGFJbmZvLnZhbHVlKCk7aWYoIXRoaXMuaXNDaGlsZFN0dWR5KCkmJiJDb21wYXJlQHR2LWJhc2ljc3R1ZGllcyI9PT1zLmlkfHwhcy5pc19wcmljZV9zdHVkeSl7Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKXx8bnVsbCE9PXRoaXMuX3N0YXJ0TW92aW5nUG9pbnQpcmV0dXJuIHRoaXMuX293bkZpcnN0VmFsdWU7Y29uc3Qgcj10LmZpcnN0QmFyKCksbj10Lmxhc3RCYXIoKTtsZXQgYT10aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM/ZnVuY3Rpb24oZSx0KXtjb25zdCBzPWUubW9kZWwoKS50aW1lU2NhbGUoKTtpZihzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IHI9aS5maXJzdEJhcigpLG49aS5sYXN0QmFyKCksYT1uZXcgYmU7Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD1lLmZpcnN0VmFsdWUocixuKTthLmltcHJvdmUodCl9cmV0dXJuIGEuYmVzdFByaWNlKCl9KHRoaXMsdGhpcy5fZ3JhcGhpY3NQcmljZVJhbmdlR3JvdXBzKTpudWxsO2lmKG51bGw9PT1hKXtjb25zdCB0PW5ldyBTZXQsbz1zLmZpbGxlZEFyZWFzfHxbXTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3Qgcz1vW2VdO2kuZmlsbGVkQXJlYXNTdHlsZS5jaGlsZHMoKVtzLmlkXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJih0LmFkZChzLm9iakFJZCksdC5hZGQocy5vYmpCSWQpKX1jb25zdCBsPXMucGxvdHN8fFtdLHU9W10sYz1bXTtmb3IobGV0IGU9MDtlPGwubGVuZ3RoOysrZSl7Y29uc3Qgcj1sW2VdLG49ci5pZDtpZigoMCxaLmlzQ29sb3JlclBsb3QpKHIpfHxzLmlzUGxvdEZvcmNlT3ZlcmxheShuKSljb250aW51ZTtpZigoMCxoLmVuc3VyZURlZmluZWQpKGkuc3R5bGVzLmNoaWxkcygpW25dKS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkhPT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZXx8dC5oYXMobikpe2lmKCgwLFouaXNMaW5lUGxvdCkocikpe2NvbnN0IHQ9aS5zdHlsZXMuY2hpbGRzKClbbl0uY2hpbGRzKCkucGxvdHR5cGUudmFsdWUoKTsoMCxaLmRvZXNMaW5lUGxvdFN0eWxlU3VwcG9ydEZpbGxCcmVha3MpKHQpJiZjLnB1c2goZSl9dS5wdXNoKGUpfX1pZihjLmxlbmd0aCl7Y29uc3QgdD0oMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpKSxzPU1hdGguZmxvb3IodC5sZWZ0KCkpO2ZvcihsZXQgdD0wO3Q8Yy5sZW5ndGg7dCsrKXtjb25zdCBpPWNbdF0scj10aGlzLl9nZXRGaXJzdFZhbEZvclBsb3RUaGF0U3VwcG9ydEZpbGxCcmVha3MoaSxzKTtpZighKG51bGw9PT1yfHxlJiZNYXRoLmFicyhyKTwxZS0xMCkpe2E9cjticmVha319fWlmKG51bGw9PT1hJiYwIT09dS5sZW5ndGgpZm9yKGNvbnN0IHQgb2YgdGhpcy5kYXRhKCkucmFuZ2VJdGVyYXRvcihyLG4pKXtjb25zdCBzPXQudmFsdWU7Zm9yKGxldCB0PTA7dDx1Lmxlbmd0aDsrK3Qpe2NvbnN0IGk9c1t1W3RdKzFdO2lmKCEobnVsbD09aXx8ZSYmTWF0aC5hYnMoaSk8MWUtMTApKXthPWk7YnJlYWt9fWlmKG51bGwhPT1hKWJyZWFrfX1yZXR1cm4gdGhpcy5fb3duRmlyc3RWYWx1ZT1hLG51bGwhPT1hP2E6dGhpcy5fYmFuZHNGaXJzdFZhbHVlKGUpfWlmKHRoaXMuaXNDaGlsZFN0dWR5KCkpe2NvbnN0IGU9dGhpcy5fZ2V0Tm9uUHJpY2VQYXJlbnQoKTtpZihlJiZ0aGlzLnByaWNlU2NhbGUoKT09PWUucHJpY2VTY2FsZSgpKXJldHVybiBudWxsIT09ZS5fb3duRmlyc3RWYWx1ZT9lLl9vd25GaXJzdFZhbHVlOmUuZmlyc3RWYWx1ZSgpfQpyZXR1cm4gdGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKX1kZXNpcmVkUHJpY2VTY2FsZVBvc2l0aW9uKCl7aWYodGhpcy5tZXRhSW5mbygpLmlzVFZTY3JpcHRTdHViKXJldHVybiJvdmVybGF5IjtpZih0aGlzLm1ldGFJbmZvKCkubGlua2VkVG9TZXJpZXMpcmV0dXJuImFzLXNlcmllcyI7c3dpdGNoKHRoaXMubWV0YUluZm8oKS5wcmljZVNjYWxlKXtjYXNlIDE6cmV0dXJuImxlZnQiO2Nhc2UgMDpyZXR1cm4icmlnaHQiO2Nhc2UgMjpyZXR1cm4ib3ZlcmxheSI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19b2Zmc2V0KGUpe3JldHVybiB0aGlzLl9wbG90T2Zmc2V0cy52YWx1ZSgpPy5bZV0/PzB9dGFncygpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKTtyZXR1cm4hZS5kZXNjcmlwdGlvbnx8ZS5pc1RWU2NyaXB0U3R1Ynx8ZS5pc19oaWRkZW5fc3R1ZHl8fGUuaXNUVlNjcmlwdCYmInR2LXNjcmlwdGluZyI9PT1lLnByb2R1Y3RJZD9bXTpbZS5kZXNjcmlwdGlvbl19Y29waWFibGUoKXtyZXR1cm4gUnMmJiF0aGlzLmlzQ2hpbGRTdHVkeSgpfXNldFByaWNlU2NhbGUoZSl7c3VwZXIuc2V0UHJpY2VTY2FsZShlKSwoMCxscy5lbWl0KSgic3R1ZHlfZXZlbnQiLHRoaXMuaWQoKSwicHJpY2Vfc2NhbGVfY2hhbmdlZCIpfXByaWNlUmFuZ2UoZSl7bGV0IHQ9bnVsbDtjb25zdCBzPXRoaXMuX21ldGFJbmZvLnZhbHVlKCkse3N0YXJ0VGltZVBvaW50OmksZW5kVGltZVBvaW50OnJ9PWUsbj10aGlzLl9maWxsUHJlY2FsY3VsYXRlZEF1dG9zY2FsZUluZm8oZSk7bGV0IGE9dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZChpLHIsbi5maWVsZHMpO2lmKGE9KDAsZy5tZXJnZU1pbk1heCkobi5iYXNlVmFsdWVNaW5NYXgsYSksbi51c2VNYWluU2VyaWVzUmFuZ2Upe2NvbnN0IGU9W3tuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSx0PXRoaXMuc2VyaWVzKCkuZGF0YSgpLmJhcnMoKS5taW5NYXhPblJhbmdlQ2FjaGVkKGkscixlKTthPSgwLGcubWVyZ2VNaW5NYXgpKGEsdCl9aWYobnVsbCE9PWEmJih0PW5ldyBqLlByaWNlUmFuZ2UoYS5taW4sYS5tYXgpKSxzLmJhbmRzJiZlLnRhcmdldFByaWNlU2NhbGU9PT10aGlzLnByaWNlU2NhbGUoKSlmb3IobGV0IGU9MDtlPHMuYmFuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgcz0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuYmFuZHMuY2hpbGRzKClbZV0pLmNoaWxkcygpO2lmKHMudmlzaWJsZS52YWx1ZSgpKXtjb25zdCBlPXMudmFsdWUudmFsdWUoKTtpZighKDAsdS5pc051bWJlcikoZSkpY29udGludWU7dD90LmFwcGx5KGUsZSk6dD1uZXcgai5QcmljZVJhbmdlKGUsZSl9fWlmKHRoaXMuX2dyYXBoaWNzUHJpY2VSYW5nZUdyb3Vwcyl7Y29uc3Qgcz10aGlzLnByaWNlU2NhbGUoKT09PXRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCk/dm9pZCAwOnRoaXMucHJpY2VTY2FsZSgpIT09ZS50YXJnZXRQcmljZVNjYWxlLG49ZnVuY3Rpb24oZSx0LHMsaSl7bGV0IHI9bnVsbDtmb3IoY29uc3QgbiBvZiBlKXtjb25zdCBlPW4uZ3JvdXBQcmljZVJhbmdlKHQscyxpKTtudWxsIT09ZSYmKHI9bnVsbD09PXI/ZTpyLm1lcmdlKGUpKX1yZXR1cm4gcn0odGhpcy5fZ3JhcGhpY3NQcmljZVJhbmdlR3JvdXBzLGksciwhIWUuZm9yY2VPdmVybGF5T25seXx8cyk7biYmKHQ9dD90Lm1lcmdlKG4pOm4pfXJldHVybiB0aGlzLl9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UodCxlKX1hdXRvU2NhbGVJbmZvKGUpe2NvbnN0IHQ9dGhpcy5wcmljZVJhbmdlKGUpLHM9dGhpcy5wcmljZVNjYWxlKCk9PT10aGlzLl9zZXJpZXMucHJpY2VTY2FsZSgpP3ZvaWQgMDp0aGlzLnByaWNlU2NhbGUoKSE9PWUudGFyZ2V0UHJpY2VTY2FsZSxpPXRoaXMuX2dyYXBoaWNzUHJpY2VSYW5nZUdyb3Vwcz9mdW5jdGlvbihlLHQscyxpKXtjb25zdCByPXllKCk7Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3QgZT1uLmdyb3VwUGl4ZWxNYXJnaW5zKHQscyxpKTtyLmJvdHRvbVBpeGVsTWFyZ2luPU1hdGgubWF4KHIuYm90dG9tUGl4ZWxNYXJnaW4sZS5ib3R0b21QaXhlbE1hcmdpbiksci50b3BQaXhlbE1hcmdpbj1NYXRoLm1heChyLnRvcFBpeGVsTWFyZ2luLGUudG9wUGl4ZWxNYXJnaW4pfXJldHVybiByfSh0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHMsZS5zdGFydFRpbWVQb2ludCxlLmVuZFRpbWVQb2ludCwhIWUuZm9yY2VPdmVybGF5T25seXx8cyk6e3RvcFBpeGVsTWFyZ2luOjAsYm90dG9tUGl4ZWxNYXJnaW46MH07cmV0dXJue3JhbmdlOnQsdG9wUGl4ZWxNYXJnaW46aS50b3BQaXhlbE1hcmdpbixib3R0b21QaXhlbE1hcmdpbjppLmJvdHRvbVBpeGVsTWFyZ2lufX1mb3JtYXR0ZXIoZSl7cmV0dXJuIHRoaXMuX2Zvcm1hdHRlcj8/dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmZvcm1hdHRlcighMSl9ZGVmYXVsdEZvcm1hdHRlcigpe2NvbnN0IGU9dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpO3JldHVybiB0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyPz9lLmRlZmF1bHRGb3JtYXR0ZXI/LigpPz9lLmZvcm1hdHRlcigpfXBsb3RGb3JtYXR0ZXIoZSl7cmV0dXJuIHRoaXMuX3Bsb3RGb3JtYXR0ZXJzLmdldChlKT8/dGhpcy5mb3JtYXR0ZXIoKX1pc011bHRpUGFuZUF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmhhc0ZvcmNlT3ZlcmxheVBsb3RzKCl8fCgwLEguaGFzRm9yY2VPdmVybGF5UHJpbWl0aXZlcykodGhpcy5fbWV0YUluZm8udmFsdWUoKSl9aXNNdWx0aVBhbmVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaGFzRm9yY2VPdmVybGF5UGxvdHMoKX11cGRhdGVBbGxWaWV3cyhlKXtjb25zdCB0PXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcykscz10aGlzLl9tb2RlbC5tYWluUGFuZSgpLGk9InZpZXdwb3J0LWNoYW5nZSI9PT1lLnR5cGUmJmUucGFuZSYmZS5wYW5lIT09czsidmlld3BvcnQtY2hhbmdlIj09PWUudHlwZSYmZS5wYW5lJiZlLnBhbmUhPT10fHwodGhpcy5fcGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksCnRoaXMuX2xhYmVsUGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fZGF0YVdpbmRvd1ZpZXc/LnVwZGF0ZShlKSx0aGlzLl9sZWdlbmRWaWV3Py51cGRhdGUoZSksdGhpcy5fc3RhdHVzVmlldz8udXBkYXRlKGUpLHRoaXMuX2Zsb2F0aW5nVG9vbHRpcFZpZXc/LnVwZGF0ZShlKSx0aGlzLl9wcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX3ByaWNlTGluZXNBeGlzVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9pbnB1dHNMaW5lc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSksaXx8KHRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9mb3JjZU92ZXJsYXlMYWJlbFBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX2ZvcmNlT3ZlcmxheVByaWNlQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSkpLCJkYXRhLXNvdXJjZS1jaGFuZ2UiPT09ZS50eXBlJiZlLnNvdXJjZUlkPT09dGhpcy5pZCgpJiZlLmNsZWFyRGF0YSYmdGhpcy5fY2hpbGRyZW4uZm9yRWFjaCgoZT0+ZS51cGRhdGVBbGxWaWV3cyh7dHlwZToiZGF0YS1zb3VyY2UtY2hhbmdlIixzb3VyY2VJZDplLmlkKCksY2xlYXJEYXRhOiEwfSkpKX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMH1zdHVkeU5hbWUoKXtyZXR1cm4gdGhpcy5fc3R1ZHlOYW1lfW5lYXJlc3RJbmRleChlLHQscyl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlLHQscyk/LmluZGV4fWdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKSxzPXRoaXMuX21ldGFJbmZvLGk9dC5zdHlsZXMuY2hpbGRzKClbZV0/LmNoaWxkKCJzaG93TGFzdCIpPy52YWx1ZSgpPz90LmZpbGxlZEFyZWFzU3R5bGUuY2hpbGRzKClbZV0/LmNoaWxkKCJzaG93TGFzdCIpPy52YWx1ZSgpPz9zLnZhbHVlKCkuc3R5bGVzPy5bZV0/LnNob3dMYXN0Pz90Lm9obGNQbG90cy5jaGlsZHMoKVtlXT8uY2hpbGQoInNob3dMYXN0Iik/LnZhbHVlKCk/P3MudmFsdWUoKS5vaGxjUGxvdHM/LltlXT8uc2hvd0xhc3Q/P251bGw7aWYobnVsbD09PWkpcmV0dXJuLTEvMDtjb25zdCByPXRoaXMuZGF0YSgpLmxhc3RJbmRleCgpO3JldHVybiBudWxsPT09cj8tMS8wOnItaSsxfWd1aVBsb3ROYW1lKGUsdCl7Y29uc3Qgcz10aGlzLl9tZXRhSW5mby52YWx1ZSgpLGk9cy5wbG90cy5maW5kKChlPT5lLmlkPT09dCkpO2lmKHZvaWQgMCE9PWkpe2NvbnN0IHI9KDAsWi5pc09obGNQbG90KShpKT9zLm9obGNQbG90cz8uW2kudGFyZ2V0XT8udGl0bGU6cy5zdHlsZXM/Llt0XT8udGl0bGU7cmV0dXJuIHI/KDAsZC5kZWNvZGVIVE1MRW50aXRpZXMpKHIpOnRoaXMudGl0bGUoZSl9cmV0dXJuIHRoaXMudGl0bGUoZSl9Y2hpbGRTdHVkeUJ5UmViaW5kKCl7cmV0dXJuIHRoaXMuX2NoaWxkU3R1ZHlCeVJlYmluZH1pc1BpbmUoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5pc1BpbmUoKX1pc1N0YW5kYXJkUGluZSgpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlzU3RhbmRhcmRQaW5lKCl9aXNMaW5rZWRUb1Nlcmllcygpe3JldHVybiEwPT09dGhpcy5fbWV0YUluZm8udmFsdWUoKS5saW5rZWRUb1Nlcmllc31wcmVmZXJyZWRaT3JkZXIoKXtyZXR1cm4hMT09PXRoaXMuX21ldGFJbmZvLnZhbHVlKCkuYmVoaW5kX2NoYXJ0PzA6bnVsbH1kZWZhdWx0UGxvdElkRm9yQWxlcnQoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cz8uWzBdPy5pZD8/bnVsbH1yZXNvbHZlZFN5bWJvbEluZm9CeVN5bWJvbChlKXtyZXR1cm4gdGhpcy5fcmVzb2x2ZWRTeW1ib2xzJiZlJiZ0aGlzLl9yZXNvbHZlZFN5bWJvbHNbdGhpcy5fZ2V0U3ltYm9sRm9yUmVzb2x2ZShlKV18fG51bGx9aGFzUGVuZGluZ1VucmVzb2x2ZWRTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3BlbmRpbmdSZXNvbHZlU3ltYm9scy5zaXplPjB9aGFzU3ltYm9sSW5wdXRzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaW5wdXRzLnNvbWUoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSl9Y3VycmVuY3koKXtjb25zdCBlPXRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8udmFsdWUoKTtpZihlKXJldHVybigwLHRzLnN5bWJvbEN1cnJlbmN5KShlKTtjb25zdCB0PXRoaXMubWV0YUluZm8oKTtyZXR1cm4gQm9vbGVhbih0KSYmdC5pc19wcmljZV9zdHVkeT90aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk/LmN1cnJlbnRDdXJyZW5jeT8/bnVsbDpudWxsfWN1cnJlbmN5T3JpZ2luU291cmNlKCl7cmV0dXJuIHRoaXMuX2N1cnJlbmN5T3JpZ2luU291cmNlfWN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnZhbHVlKCk/P3RoaXMuc3ltYm9sU291cmNlKCk/LnN5bWJvbEluZm8oKT8/bnVsbH11bml0KCl7Y29uc3QgZT10aGlzLm1ldGFJbmZvKCk7cmV0dXJuIEJvb2xlYW4oZSkmJmUuaXNfcHJpY2Vfc3R1ZHk/dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLnVuaXQoKTpudWxsfXVuaXRPcmlnaW5Tb3VyY2UoKXtyZXR1cm4gdGhpcy5fdW5pdE9yaWdpblNvdXJjZX1jYW5PdmVycmlkZU1pblRpY2soKXtyZXR1cm4hMX1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld31zdGF0dXNWaWV3KCl7cmV0dXJuIHRoaXMuX3N0YXR1c1ZpZXd9bGVnZW5kVmlldygpe3JldHVybiB0aGlzLl9sZWdlbmRWaWV3fWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiB0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3fXBpbmVTb3VyY2VDb2RlTW9kZWwoKXsKcmV0dXJuIHRoaXMubWV0YUluZm8oKS5waW5lPyh0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD1uZXcgRS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDQyMDk2KSxzLmUoMjQxMDgpXSkudGhlbihzLmJpbmQocyw4MzQzNjgpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLlBpbmVTb3VyY2VDb2RlTW9kZWwodGhpcykpKSwoZT0+e2U/LmRlc3Ryb3koKX0pKSksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC5wcm9taXNlKCkpOlByb21pc2UucmVzb2x2ZShudWxsKX1hbGVydFNvdXJjZU1vZGVsKCl7cmV0dXJuIHRoaXMuX2FsZXJ0U291cmNlTW9kZWx9aW5wdXRzRm9yQWxlcnRTdGF0ZSgpe3JldHVybiB0aGlzLmlucHV0cyh7Zm9yY2VUcmVhdFNvdXJjZUlucHV0c0FzRmFrZTohMH0pfXNlc3Npb25JZCgpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuc2Vzc2lvbklkKCl9c2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuc2Vzc2lvbklkQ2hhbmdlZCgpfWdldFN5bWJvbFN0cmluZyhlLHQpe3JldHVybiIiPT09ZT8iIjooMCx0ZS5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QoZSx0KSl9b25TdGF0dXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3N0YXR1c0NoYW5nZWR9b25EYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH1zeW1ib2xzUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sc1Jlc29sdmVkfW9uSGliZXJuYXRpb25TdGF0ZUNoYW5nZSgpe3JldHVybiB0aGlzLl9vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2V9dmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fdmFsdWVzUHJvdmlkZXJ9bGVnZW5kVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IFkuU3R1ZHlMZWdlbmRWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSl9dGFibGVWaWV3VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fdGFibGVWaWV3VmFsdWVzUHJvdmlkZXJ9c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyByZS5TdHVkeVN0YXR1c1Byb3ZpZGVyKHRoaXMpfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IG5lLlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSl9Y29ycmVjdFNjYWxlTWFyZ2lucyhlKXtpZigiVm9sdW1lIj09PXRoaXMubWV0YUluZm8oKS5zaG9ydElkKXtjb25zdCB0PXRoaXMubW9kZWwoKS5wYW5lRm9yU291cmNlKHRoaXMpO3JldHVybiBudWxsIT09dCYmdC5pc092ZXJsYXkodGhpcykmJnQuY29udGFpbnNNYWluU2VyaWVzKCk/e3RvcDouNzUsYm90dG9tOjB9Ont0b3A6ZS50b3AsYm90dG9tOjB9fXJldHVybiBlfWNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCl7cmV0dXJuITB9aXNTb3VyY2VIaWRkZW4oKXtyZXR1cm4hdGhpcy5pc1Zpc2libGUoKXx8dGhpcy5jYW5CZUhpZGRlbkJ5R2xvYmFsRmxhZygpJiZRLmhpZGVBbGxJbmRpY2F0b3JzKCkudmFsdWUoKX13YXNDb21wbGV0ZWRCZWZvcmUoKXtyZXR1cm4gdGhpcy5fd2FzQ29tcGxldGVkQmVmb3JlfXBhbmVWaWV3cyhlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5QYW5lKCk7aWYodGhpcy5pc1NvdXJjZUhpZGRlbigpKXJldHVybiBudWxsO2lmKCFlLmhhc1ByaWNlRGF0YVNvdXJjZSh0aGlzKSlyZXR1cm4gZSE9PXQ/bnVsbDp0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzO2NvbnN0IHM9W10saT10aGlzLl9wYW5lVmlld3MuZmluZCgoZT0+e3JldHVybiB0PWUsKDAsdS5pc09iamVjdCkodCkmJiJpc1Bsb3RIaWdobGlnaHRlZCJpbiB0JiZlLmlzUGxvdEhpZ2hsaWdodGVkKCk7dmFyIHR9KSk/P251bGw7cmV0dXJuIXRoaXMuX3N0YXJ0TW92aW5nUG9pbnQmJnRoaXMuX3dhc0NvbXBsZXRlZEJlZm9yZSYmcy5wdXNoKC4uLnRoaXMuX3BhbmVWaWV3cy5maWx0ZXIoKGU9PiFlLmlzRm9yY2VPdmVybGF5Py4oKSYmZSE9PWkpKSksdGhpcy5faW5wdXRzTGluZXNQYW5lVmlldyYmKHRoaXMuX3N0YXJ0TW92aW5nUG9pbnR8fHRoaXMuX21vZGVsLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodGhpcykpJiZzLnB1c2godGhpcy5faW5wdXRzTGluZXNQYW5lVmlldyksdGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3JiZzLnB1c2godGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3KSxlPT09dCYmcy5wdXNoKC4uLnRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MpLGkmJnMucHVzaChpKSxzfWxhYmVsUGFuZVZpZXdzKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblBhbmUoKTtpZih0aGlzLmlzU291cmNlSGlkZGVuKCl8fCFlLmhhc1ByaWNlRGF0YVNvdXJjZSh0aGlzKSlyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5oYXNGb3JjZU92ZXJsYXlQbG90cygpP2UhPT10P251bGw6dGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3M6bnVsbDtjb25zdCBzPVsuLi50aGlzLl9sYWJlbFBhbmVWaWV3c107cmV0dXJuIGU9PT10JiZzLnB1c2goLi4udGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3MpLHN9dGltZUF4aXNWaWV3cygpe3JldHVybiB0aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMpP3RoaXMuX2lucHV0c1RpbWVBeGlzUGFuZVZpZXdzOm51bGx9cHJpY2VBeGlzVmlld3MoZSx0KXtpZih0IT09dGhpcy5wcmljZVNjYWxlKCkmJnQ9PT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYhZS5oYXNEYXRhU291cmNlKHRoaXMpKXJldHVybiB0aGlzLl9mb3JjZU92ZXJsYXlQcmljZUF4aXNWaWV3cztjb25zdCBzPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkub2xkU2hvd0xhc3RWYWx1ZTtpZihzJiYhcy52YWx1ZSgpKXJldHVybiBudWxsO2xldCBpPXRoaXMuX3ByaWNlQXhpc1ZpZXdzLnNsaWNlKCkKO3JldHVybiB0aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMpJiYoaT1pLmNvbmNhdCh0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MpKSx0PT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSYmKGk9aS5jb25jYXQodGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3MpKSxlLmZpbmRUYXJnZXRQcmljZUF4aXNWaWV3cyh0aGlzLHQsaSx0aGlzLl9wcmljZUxpbmVzQXhpc1ZpZXdzKX1tb3ZhYmxlKCl7cmV0dXJuIG51bGwhPT10aGlzLl9pbnB1dHNBbmNob3JzUGFuZVZpZXd9c3RhcnRNb3ZpbmcoZSx0LHMsaSl7dGhpcy5fc3RhcnRNb3ZpbmdQb2ludD1lfW1vdmUoZSx0LHMsaSl7aWYodm9pZCAwIT09ZS5sb2dpY2FsJiZudWxsIT09dGhpcy5fc3RhcnRNb3ZpbmdQb2ludCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3Qgcz10O3RoaXMuX3VwZGF0ZUlucHV0VmFsdWUoZS5sb2dpY2FsLHNbMF0pLHRoaXMuX3VwZGF0ZUlucHV0VmFsdWUoZS5sb2dpY2FsLHNbMV0pfWVsc2UgdGhpcy5fdXBkYXRlSW5wdXRWYWx1ZShlLmxvZ2ljYWwsdCk7dGhpcy51cGRhdGVBbGxWaWV3cygoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKX19ZW5kTW92aW5nKGUsdCl7cmV0dXJuIHRoaXMuX3N0YXJ0TW92aW5nUG9pbnQ9bnVsbCx7aW5kZXhlc0NoYW5nZWQ6ITEscHJpY2VzQ2hhbmdlZDohMX19Y2xlYXJEYXRhKCl7dGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPXRoaXMuX29uZ29pbmdEYXRhVXBkYXRlLnRoZW4oKCgpPT57dGhpcy5fY2xlYXJEYXRhKCksdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzJiZ0aGlzLl9ncmFwaGljcz8uY2xlYXIoKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZSh7fSl9KSksdGhpcy5oYXNCYXJDb2xvcmVyKCkmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHtzb3VyY2VJZDp0aGlzLmlkKCksY2xlYXJEYXRhOiEwfSkpfWNvbnZlcnRZQ29vcmRpbmF0ZVRvUHJpY2VGb3JNb3ZpbmcoZSx0KXtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpO2lmKCF0fHwhc3x8cy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3QgaT10LmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PWk/bnVsbDpzLmNvb3JkaW5hdGVUb1ByaWNlKGUsaSl9cHJvY2Vzc0hpYmVybmF0ZShlKXtjb25zdCB0PXRoaXMuaXNWaXNpYmxlKCk7aWYoIXRoaXMuaXNTdGFydGVkKCkmJnQmJih0aGlzLl9zb3VyY2VzLnZhbHVlKCkuZm9yRWFjaCgoZT0+e2UucHJvY2Vzc0hpYmVybmF0ZSgpfSkpLHRoaXMuc3RhcnQodm9pZCAwLHZvaWQgMCxlKSx0aGlzLl9vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2UuZmlyZSghMSkpLHRoaXMuaXNIaWJlcm5hdGlvbkFsbG93ZWQoKSYmdGhpcy5pc1N0YXJ0ZWQoKSYmIXQpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2NoaWxkcmVuKWUucHJvY2Vzc0hpYmVybmF0ZSgpO3RoaXMuc3RvcCh2b2lkIDAsZSksdGhpcy5fb25IaWJlcm5hdGlvblN0YXRlQ2hhbmdlLmZpcmUoITApfX1pc0hpYmVybmF0aW9uQWxsb3dlZCgpe3JldHVybighdGhpcy5tZXRhSW5mbygpLmhpc3RvcnlDYWxjdWxhdGlvbk1heUNoYW5nZXx8IXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSkmJighdGhpcy5oYXNDaGlsZHJlbigpfHwhIXRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnZhbHVlKCkmJnRoaXMuX2NoaWxkcmVuLmV2ZXJ5KChlPT5lLmlzSGliZXJuYXRpb25BbGxvd2VkKCkpKSl9aXNQbG90VmlzaWJsZUF0KGUsdCl7bGV0IHM7Y29uc3QgaT10aGlzLm1ldGFJbmZvKCkucGxvdHMuZmluZCgodD0+dC5pZD09PWUpKTtpZihzPXZvaWQgMCE9PWk/KDAsWi5pc09obGNQbG90KShpKT90aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLm9obGNQbG90cy5jaGlsZHMoKVtpLnRhcmdldF06dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbZV06dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5vaGxjUGxvdHMuY2hpbGRzKClbZV0sdm9pZCAwPT09cyl0aHJvdyBuZXcgRXJyb3IoYFN0dWR5IGRvZXMgbm90IGNvbnRhaW4gJHtlfSBwbG90YCk7Y29uc3Qgcj1zLmNoaWxkcygpLmRpc3BsYXkudmFsdWUoKTtyZXR1cm4gbnVsbCE9PXImJigwLHouaXNQbG90VmlzaWJsZSkocix0KX1yZWNhbGN1bGF0ZSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzKTt0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZVBhbmUoZSwoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9bWF4T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX21heE9mZnNldH1vblN0YXJ0KCl7cmV0dXJuIHRoaXMuX29uU3RhcnR9b25QYXJlbnRTb3VyY2VzQ2hhbmdlcygpe3JldHVybiB0aGlzLl9vblBhcmVudFNvdXJjZXNDaGFuZ2VzfWlzSGliZXJuYXRlZCgpe3JldHVybiF0aGlzLmlzVmlzaWJsZSgpJiYhdGhpcy5pc1N0YXJ0ZWQoKX1ncmFwaGljc1ZpZXdzUmVhZHkoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3NWaWV3c1JlYWR5fXNldExvYWRpbmdDb21waWxhdGlvbkFjdGl2ZShlKXt0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLnNldFZhbHVlKGU/e3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmcsc3RhcnRUaW1lOkRhdGUubm93KCl9Om51bGwpLHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5fc3RhdHVzQ2hhbmdlZC5maXJlKHRoaXMuc3RhdHVzKCkpfXNldEVycm9yQ29tcGlsYXRpb24oZSl7e2NvbnN0IHQ9KDAsUGUuZXh0cmFjdFBpbmVJZCkodGhpcy5fbWV0YUluZm8udmFsdWUoKS5pZCkKO2lmKG51bGw9PT1lfHwwPT09ZS5sZW5ndGh8fG51bGw9PT10KXJldHVybiB0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuc2V0VmFsdWUobnVsbCksdm9pZCB0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pO2NvbnN0IHM9ZVswXTt0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuc2V0VmFsdWUoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOnMubWVzc2FnZSxlZGl0b3JFcnJvcjp7Li4ucyxpZDp0fSx0aXRsZToiQ29tcGlsYXRpb24gZXJyb3IifX0pLHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5fc3RhdHVzQ2hhbmdlZC5maXJlKHRoaXMuc3RhdHVzKCkpfX1oYXNDb21waWxlRXJyb3IoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2NvbXBpbGVFcnJvclN0YXR1cy52YWx1ZSgpfXR1cm5hcm91bmQoZSl7aWYoIWUpcmV0dXJuIHRoaXMuX3R1cm5hcm91bmQ7Y29uc3QgdD10aGlzLl9zZXJpZXMuc2VyaWVzU291cmNlKCkudHVybmFyb3VuZCgpLHM9KDAsVGUuYnVpbGRUcmVlRm9yU3R1ZHkpKHRoaXMpO3JldHVybigwLFRlLmJ1aWxkVHVybmFyb3VuZCkodCxzKX1jYW5IYXZlQ2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5fY2FuSGF2ZUNoaWxkcmVuPXRoaXMuX2NhbkhhdmVDaGlsZHJlbj8/di5TdHVkeU1ldGFJbmZvLmNhbkhhdmVDaGlsZHJlbih0aGlzLl9tZXRhSW5mby52YWx1ZSgpKSx0aGlzLl9jYW5IYXZlQ2hpbGRyZW59c2V0Q2hpbGQoZSl7LTE9PT10aGlzLl9jaGlsZHJlbi5pbmRleE9mKGUpJiZ0aGlzLl9jaGlsZHJlbi5wdXNoKGUpfXVuc2V0Q2hpbGQoZSl7Y29uc3QgdD10aGlzLl9jaGlsZHJlbi5pbmRleE9mKGUpO350JiZ0aGlzLl9jaGlsZHJlbi5zcGxpY2UodCwxKX1jaGlsZHJlbigpe3JldHVybiB0aGlzLl9jaGlsZHJlbn1nZXRBbGxDaGlsZHJlbigpe2NvbnN0IGU9dGhpcy5fY2hpbGRyZW4uc2xpY2UoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoOysrdCl7Y29uc3Qgcz1lW3RdLmdldEFsbENoaWxkcmVuKCk7Zm9yKGxldCB0PTA7dDxzLmxlbmd0aDsrK3QpfmUuaW5kZXhPZihzW3RdKXx8ZS5wdXNoKHNbdF0pfXJldHVybiBlfXBhcmVudFNvdXJjZUZvcklucHV0KGUpe2lmKGUuaW5jbHVkZXMoIiQiKSl7Y29uc3QgdD1lLnNwbGl0KCIkIilbMF07cmV0dXJuIHRoaXMuX3NvdXJjZXMudmFsdWUoKS5maW5kKChlPT5lLmlkKCk9PT10KSk/P251bGx9cmV0dXJuIHRoaXMuX3Nlcmllc31wcmljZVN0ZXAoKXtyZXR1cm4gdGhpcy5fcHJpY2VTdGVwfHx0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkucHJpY2VTdGVwKCExKX1yZWNyZWF0ZVByaWNlRm9ybWF0dGVyKCl7dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKX1zZXRPd25lclNvdXJjZShlKXtzdXBlci5zZXRPd25lclNvdXJjZShlKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdGFnc0NoYW5nZWR9aGFzSGlnaGxpZ2h0ZWRQbG90cygpe3JldHVybigwLCQuaGlnaGxpZ2h0Q29udGFpbnNTb3VyY2UpKHRoaXMuX21vZGVsLmhpZ2hsaWdodGVkUGxvdEluZm8oKSx0aGlzLmlkKCkpfWdldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWwoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsP3RoaXMuX2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpLnRoZW4oKGU9Pm51bGw9PT1lfHx0aGlzLl9pc0Rlc3Ryb3llZD9udWxsOihudWxsPT09dGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWwmJih0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1uZXcgZSh0aGlzLl9tb2RlbC51bmRvTW9kZWwoKSx0aGlzKSksdGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWwpKSk6UHJvbWlzZS5yZXNvbHZlKHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsKX1jYWxjdWxhdGlvblRpbWUoKXtyZXR1cm4gdGhpcy5fY2FsY3VsYXRpb25UaW1lLnJlYWRvbmx5KCl9Y29udGV4dE1lbnVTdGF0TmFtZSgpe3JldHVybiJJbmRpY2F0b3JDb250ZXh0TWVudSJ9bWV0YUluZm9XVigpe3JldHVybiB0aGlzLl9tZXRhSW5mby5yZWFkb25seSgpfWFzeW5jIHBhdGNoUHJvcGVydGllc0FmdGVyUmVzZXREZWZhdWx0cygpe2NvbnN0IGU9dGhpcy5pbnB1dHMoKTtpZihPYmplY3Qua2V5cyhlKS5zb21lKChlPT4oMCxEZS5pc1N0dWR5SW5wdXREZXBlbmRzT25DaGFydCkoe2lkOmV9KSkpKXt0aGlzLl9hYm9ydFBhdGNoUHJvcHNDb250cm9sbGVyLmFib3J0KCksdGhpcy5fYWJvcnRSZXNldFBhdGNoUHJvcHNDb250cm9sbGVyLmFib3J0KCksdGhpcy5fYWJvcnRSZXNldFBhdGNoUHJvcHNDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXI7Y29uc3QgdD1uZXcgdi5TdHVkeU1ldGFJbmZvKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSk7dGhpcy5fcHJldmlvdXNQYXRjaE1hcD17fSx0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkPW5ldyBQcm9taXNlKChhc3luYyBzPT57YXdhaXQoMCxGLnBhdGNoUHJvcGVydGllc0FzeW5jKSh0aGlzLl9wcm9wZXJ0aWVzLHQsZSx0aGlzLl9hYm9ydFJlc2V0UGF0Y2hQcm9wc0NvbnRyb2xsZXIuc2lnbmFsLHRoaXMuX3ByZXZpb3VzUGF0Y2hNYXAsITApLHRoaXMuX21ldGFJbmZvLnNldFZhbHVlKHQpLHMoKX0pKX19X2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpe3JldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9X2FsZXJ0TWV0YUluZm8oKXtyZXR1cm4gdGhpcy5tZXRhSW5mbygpfV9jcmVhdGVTdHVkeU9uU2VydmVyKCl7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuITE7dGhpcy5faXNTdGFydGVkPSEwLHRoaXMuX2luY3JlbWVudFR1cm5hcm91bmQoKTtjb25zdCBlPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5faW5wdXRzKTtsZXQgdAo7aWYodD10aGlzLl9jaGFydEFwaS5jcmVhdGVTdHVkeSh0aGlzLnNvdXJjZUlkKCksdGhpcy5fdHVybmFyb3VuZCwoMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Nlcmllcy5zZXJpZXNTb3VyY2UoKS5pbnN0YW5jZUlkKCkpLHRoaXMuX3N0dWR5TmFtZS52YWx1ZSgpLGUsdGhpcy5faGFuZGxlcix0aGlzLl9zdHVkeVNwZWMoKSksIXQpcmV0dXJuIHRoaXMuX2lzU3RhcnRlZD0hMSx0O2lmKHBlcmZvcm1hbmNlLm1hcmsoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuX2lkLnZhbHVlKCl9YCksdm9pZCAwPT09dGhpcy5fb2xkU3R1ZHlJbnB1dHMpe2NvbnN0IGU9dGhpcy5fcHJlcGFyZUlucHV0cyhWcyk7T2JqZWN0LmtleXMoZSkuc29tZSgoZT0+KDAsRGUuaXNTdHVkeUlucHV0RGVwZW5kc09uQ2hhcnQpKHtpZDplfSkpKXx8KHRoaXMuX29sZFN0dWR5SW5wdXRzPWUpfXJldHVybiB0aGlzLl9kZWZlcnJlZFBpbmVQYXRjaFByb3BzJiYhdGhpcy5fcmVzdGFydGluZyYmdGhpcy5fcGluZVBhdGNoUHJvcHMoKSwhMH1fc3RvcFN0dWR5T25TZXJ2ZXIoKXt0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLmlzU3RhcnRlZCgpJiYodGhpcy5fY2hhcnRBcGkucmVtb3ZlU3R1ZHkodGhpcy5zb3VyY2VJZCgpKSx0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pKSxwZXJmb3JtYW5jZS5jbGVhck1hcmtzKGBjYWxjdWxhdGVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCksdGhpcy5faXNTdGFydGVkPSExfV9tb2RpZnlTdHVkeU9uU2VydmVyKGUsdCl7dGhpcy5fY2hhcnRBcGkubW9kaWZ5U3R1ZHkodGhpcy5zb3VyY2VJZCgpLHRoaXMuX3R1cm5hcm91bmQsZSx0aGlzLl9oYW5kbGVyLHQpLHBlcmZvcm1hbmNlLm1hcmsoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKX1fc2VuZE5vdGlmeUNvbW1hbmQoZSx0KXt0aGlzLl9jaGFydEFwaS5ub3RpZnlTdHVkeSh0aGlzLnNvdXJjZUlkKCksZSx0KX1fdHJhbnNmb3JtRGF0YShlKXt9X3Bsb3RzRGF0YVJhbmdlKCl7Y29uc3QgZT10aGlzLnBsb3RzKCkuZmlyc3RJbmRleCgpLHQ9dGhpcy5wbG90cygpLmxhc3RJbmRleCgpO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/W2UsdF06bnVsbH1faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpe3RoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZT17fX1fY29sbGVjdERlcHNGb3JBbGVydCgpe2NvbnN0IGU9W3RoaXMsLi4udGhpcy5fYWxsT3duZXJTb3VyY2VzLnZhbHVlKCkuZmlsdGVyKChlPT5lIGluc3RhbmNlb2YgVXMpKV07cmV0dXJuKDAsVC5jb2xsZWN0RGVwc0ZvckFsZXJ0KShlKX1fYWxsSW5wdXRzQXJlVmFsaWQoKXtpZihudWxsPT09dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz8udmFsdWUoKSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cylpZigiYmFyX3RpbWUiPT09ZS50eXBlKXtjb25zdCB0PWUuaWQ7aWYobnVsbD09dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKClbdF0udmFsdWUoKSlyZXR1cm4hMX1yZXR1cm4hMH1hc3luYyBfc3RhcnRBZnRlclN5bWJvbHNSZXNvbHZlZChlLHQpe2F3YWl0IFByb21pc2UuYWxsKHRoaXMuX3NvdXJjZXMudmFsdWUoKS5tYXAoKGU9PiFlLmlzU3RhcnRlZCgpfHxlLmlzUmVzdGFydGluZygpP25ldyBQcm9taXNlKCh0PT57ZS5vblN0YXJ0KCkuc3Vic2NyaWJlKHRoaXMsdCwhMCl9KSk6UHJvbWlzZS5yZXNvbHZlKCkpKSksdGhpcy5pc1N0YXJ0ZWQoKSYmIXRoaXMuX3Jlc3RhcnRpbmd8fCh0aGlzLl9yZXN0YXJ0aW5nPSExLHRoaXMuX2FsbElucHV0c0FyZVZhbGlkKCkmJiF0aGlzLm1ldGFJbmZvKCkuaXNUVlNjcmlwdFN0dWImJih0aGlzLl9pbnB1dHM9dGhpcy5fYXBpSW5wdXRzKCksdGhpcy5fY3JlYXRlU3R1ZHlPblNlcnZlcigpJiYodGhpcy5fc3Vic2NyaWJlVG9TZXNzaW9uSWQoKSx0aGlzLl9vblN0YXJ0LmZpcmUoKSwhMD09PWUmJnRoaXMuX2NoaWxkcmVuJiZhd2FpdCB0aGlzLl9jaGlsZHJlbi5tYXAoKGU9PmUuc3RhcnQoITAsdCkpKSkpKX1hc3luYyBfY2hhbmdlSW5wdXRzSW1wbChlLHQpe2NvbnN0IHM9dGhpcy5fY2FsY1NvdXJjZXMoKSxpPXRoaXMuX21ldGFJbmZvLnZhbHVlKCkscj1rcyhpLGUsdCksbj0oKT0+e2Zvcihjb25zdCBzIG9mIGkuaW5wdXRzKXtpZigic291cmNlIiE9PXMudHlwZSljb250aW51ZTtjb25zdCBpPWVbcy5pZF0udixyPXRbcy5pZF0udjtpZihpIT09cil7KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZChzLmlkKSkuc2V0VmFsdWUocil9fX07aWYodGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZyPjAmJiF0aGlzLl9jaGFydEFwaS5jYW5DcmVhdGVTdHVkeSh0aGlzLl9zdHVkeVNwZWMoITApLCEwKS5zdWNjZXNzKXtjb25zdCBlPXdpbmRvdy51c2VyLnByb19wbGFuLHQ9InByb19wcmVtaXVtX2V4cGVydCI9PT1lfHwicHJvX3ByZW1pdW1fZXhwZXJ0X3RyaWFsIj09PWU7cmV0dXJuKDAsTy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6InN0dWR5T25TdHVkeSIsaXNNYXhQbGFuOnR9KSx2b2lkIG4oKX10aGlzLl9pbnB1dHM9ZTtsZXQgYT0hMTtjb25zdCBvPU9iamVjdC52YWx1ZXMoRGUuUmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0TmFtZXMpO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKGUpKWlmKEpTT04uc3RyaW5naWZ5KGVbc10pIT09SlNPTi5zdHJpbmdpZnkodFtzXSkmJiFvLmluY2x1ZGVzKHMpKXthPSEwO2JyZWFrfXRoaXMuX2luY3JlbWVudFR1cm5hcm91bmQoKSxhJiZ0aGlzLmRpc2FibGVQcmljZVJhbmdlUmVhZHkoKTt0cnl7YXdhaXQgdGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhzLHIsITApLHRoaXMuX21vZGlmeVN0dWR5T25TZXJ2ZXIoZSxyKSx0aGlzLl9zdHVkeU1vZGlmaWVkPSEwfWNhdGNoKGUpe1NzLmxvZ0Vycm9yKGBFcnJvciBhcHBseWluZyBwYXJlbnQgc291cmNlczogJHtlfWApLG4oKX0KdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpfV9nZXRTeW1ib2xTb3VyY2UoKXtyZXR1cm4gdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLnN5bWJvbFNvdXJjZSgpfV9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKXtyZXR1cm4gbnVsbH1fZ2V0VW5pdElucHV0UHJvcGVydHkoKXtyZXR1cm4gbnVsbH1fY3JlYXRlUHJpY2VBeGlzVmlldyhlKXtjb25zdCB0PXRoaXMubWV0YUluZm8oKS5wbG90cy5maW5kKCh0PT4idGFyZ2V0ImluIHQmJnQudGFyZ2V0PT09ZSkpO3JldHVybiB2b2lkIDAhPT10JiYoMCxaLmlzT2hsY1Bsb3QpKHQpP25ldyBycyh0aGlzLHtwbG90TmFtZTplfSk6bmV3IGlzLlN0dWR5UHJpY2VBeGlzVmlldyh0aGlzLHtwbG90TmFtZTplfSl9X2NyZWF0ZVByaWNlTGluZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgbnMuU3R1ZHlQcmljZUxpbmVBeGlzVmlldyh0aGlzLGUpfV9jcmVhdGVTdHVkeVBsb3RQYW5lVmlldyhlKXtyZXR1cm4gbmV3IEZ0LlN0dWR5UGxvdFBhbmVWaWV3KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLGUpfV9jcmVhdGVWaWV3cygpe3RoaXMuX3ByaWNlQXhpc1ZpZXdzQmFzZT1bXSx0aGlzLl9mb3JjZU92ZXJsYXlQcmljZUF4aXNWaWV3cz1bXSx0aGlzLl9wcmljZUxpbmVzQXhpc1ZpZXdzPVtdLHRoaXMuX3BhbmVWaWV3cz1bXSx0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzPVtdLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdLHRoaXMuX2ZvcmNlT3ZlcmxheUxhYmVsUGFuZVZpZXdzPVtdO2NvbnN0IGU9bmV3IFNldCx0PXRoaXMubWV0YUluZm8oKSxzPUJvb2xlYW4odC51c2VQbG90c1pPcmRlciksaT1uZXcgTWFwLHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTtpZihyLmZpbGxlZEFyZWFzU3R5bGUmJnQuZmlsbGVkQXJlYXMpZm9yKGxldCBlPTA7ZTx0LmZpbGxlZEFyZWFzLmxlbmd0aDsrK2Upe2NvbnN0IG49dC5maWxsZWRBcmVhc1tlXSxhPSgwLGguZW5zdXJlRGVmaW5lZCkoci5maWxsZWRBcmVhc1N0eWxlLmNoaWxkcygpW24uaWRdKSxvPU5zKHQsbi5pZCk7bGV0IGw7aWYoInBsb3RfcGxvdCI9PT1uLnR5cGV8fG8/bD1uZXcgV3QodGhpcyx0aGlzLm1vZGVsKCksbixhKToiaGxpbmVfaGxpbmUiPT09bi50eXBlP2w9bmV3IFl0KHRoaXMsbixhKTpTcy5sb2dXYXJuKCJVbnN1cHBvcnRlZCBmaWxsZWRBcmVhIHR5cGU6ICIrbi50eXBlKSx2b2lkIDAhPT1sKXtsZXQgZT0hMTtpZigicGxvdF9wbG90Ij09PW4udHlwZSYmKGU9dC5pc1Bsb3RGb3JjZU92ZXJsYXkobi5vYmpBSWQpKSxlKXRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MucHVzaChsKTtlbHNle2NvbnN0IGU9cz8oMCxoLmVuc3VyZURlZmluZWQpKG4uem9yZGVyKTppLnNpemU7RnMoZSxpKSxpLnNldChlLHtwYW5lVmlld3M6W2xdfSl9fX17bGV0IHI9LTFlNTtmb3IobGV0IG49MDtuPHQucGxvdHMubGVuZ3RoO24rKyl7Y29uc3QgYT10LnBsb3RzW25dO2xldCBvLGwsdSxjLGQscD10LmlzUGxvdEZvcmNlT3ZlcmxheShhLmlkKTtpZigoMCxaLmlzTm9uVmlzdWFsUGxvdCkoYSkpY29udGludWU7bGV0IF89YS5pZCxmPXQuc3R5bGVzO2NvbnN0IG09KDAsWi5pc0JnQ29sb3JlclBsb3QpKGEpO2lmKG0pbz1uZXcgRWUodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwsXyk7ZWxzZSBpZigoMCxaLmlzU2hhcGVzUGxvdCkoYSkpbz1uZXcgYXQodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwsXyk7ZWxzZSBpZigoMCxaLmlzQ2hhcnNQbG90KShhKSlvPW5ldyBTdCh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxfKTtlbHNlIGlmKCgwLFouaXNBcnJvd3NQbG90KShhKSlvPW5ldyBDdCh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxfKTtlbHNlIGlmKCgwLFouaXNPaGxjUGxvdCkoYSkpe2NvbnN0IHM9YS50YXJnZXQ7aWYoZS5oYXMocykpY29udGludWU7aWYocD10LmlzUGxvdEZvcmNlT3ZlcmxheShzKSxlLmFkZChzKSxUcyh0LG4pKW89bmV3IFJ0KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLHMpO2Vsc2V7aWYoIURzKHQsbikpe1NzLmxvZ0Vycm9yKGBwbG90ICR7YS5pZH0gbG9va3MgdG8gYmUgaW52YWxpZGApO2NvbnRpbnVlfW89bmV3IFR0KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLHMpfWM9dGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlldyhzKSx1PW5ldyBEdC5QYW5lUHJpY2VBeGlzVmlldyhjLHRoaXMsdGhpcy5fbW9kZWwpLF89cyxmPXQub2hsY1Bsb3RzfWVsc2UoMCxaLmlzRGF0YVBsb3QpKGEpfHwoYz10aGlzLl9jcmVhdGVQcmljZUF4aXNWaWV3KF8pLGQ9dGhpcy5fY3JlYXRlUHJpY2VMaW5lQXhpc1ZpZXcoXyksbz10aGlzLl9jcmVhdGVTdHVkeVBsb3RQYW5lVmlldyhfKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVtfXT8uY2hpbGQoInRyYWNrUHJpY2UiKT8udmFsdWUoKSYmKGw9bmV3IGt0KHRoaXMsXykpLHU9bmV3IGRzKGMsdGhpcyx0aGlzLl9tb2RlbCxfKSk7Y29uc3QgeT1zP20/cisrOigwLGguZW5zdXJlRGVmaW5lZCkoZj8uW19dPy56b3JkZXIpOmkuc2l6ZTtpZihGcyh5LGkpLHApYyYmdGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3MucHVzaChjKSxvJiZ0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzLnB1c2gobyksdSYmdGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3MucHVzaCh1KTtlbHNle2NvbnN0IGU9e3BhbmVWaWV3czp2b2lkIDAhPT1vP1tvXTpbXSxsYWJlbFZpZXc6dSxwcmljZUF4aXNWaWV3OmMscHJpY2VMaW5lQXhpc1ZpZXc6ZH07dm9pZCAwIT09bCYmZS5wYW5lVmlld3MucHVzaChsKSxpLnNldCh5LGUpfX19KHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuYmFuZHM/P1tdKS5mb3JFYWNoKCgoZSx0KT0+e2NvbnN0IG49ci5iYW5kcy5jaGlsZHMoKVt0XTtpZihuJiZuLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD1uZXcgJHQobix0aGlzKSxyPXM/KDAsaC5lbnN1cmVEZWZpbmVkKShlLnpvcmRlcik6aS5zaXplO0ZzKHIsaSksaS5zZXQocix7cGFuZVZpZXdzOlt0XX0pfX0pKSxyLmJhbmRzQmFja2dyb3VuZCYmKCgwLApoLmFzc2VydCkoIXMsIid1c2VQbG90c1pPcmRlcicgZmxhZyBkb2VzIG5vdCBzdXBwb3J0ZWQiKSxpLnNldChpLnNpemUse3BhbmVWaWV3czpbbmV3IEp0KHRoaXMpXX0pKTtjb25zdCBuPXRoaXMuX3BhbmVWaWV3cyxhPXRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3M7dGhpcy5fY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MoKS50aGVuKChlPT57Zm9yKGxldCB0PTA7dDxlLnJlZ3VsYXJQYW5lVmlld3MubGVuZ3RoO3QrKyluLnB1c2goZS5yZWd1bGFyUGFuZVZpZXdzW3RdKTtmb3IobGV0IHQ9MDt0PGUuZm9yY2VPdmVybGF5UGFuZVZpZXdzLmxlbmd0aDt0KyspYS5wdXNoKGUuZm9yY2VPdmVybGF5UGFuZVZpZXdzW3RdKTt0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpLHRoaXMuX2dyYXBoaWNzVmlld3NSZWFkeT0hMH0pKSxyLmFyZWFCYWNrZ3JvdW5kJiYoKDAsaC5hc3NlcnQpKCFzLCIndXNlUGxvdHNaT3JkZXInIGZsYWcgZG9lcyBub3Qgc3VwcG9ydGVkIiksaS5zZXQoaS5zaXplLHtwYW5lVmlld3M6W25ldyBCdC5BcmVhQmFja2dyb3VuZFBhbmVWaWV3KHRoaXMsdGhpcy5tb2RlbCgpKV19KSk7Y29uc3Qgbz1BcnJheS5mcm9tKGkua2V5cygpKS5zb3J0KCgoZSx0KT0+ZS10KSk7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKShpLmdldChvW2VdKSk7dGhpcy5fcGFuZVZpZXdzLnB1c2goLi4udC5wYW5lVmlld3MpLHQubGFiZWxWaWV3JiZ0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKHQubGFiZWxWaWV3KSx0LnByaWNlQXhpc1ZpZXcmJnRoaXMuX3ByaWNlQXhpc1ZpZXdzQmFzZS5wdXNoKHQucHJpY2VBeGlzVmlldyksdC5wcmljZUxpbmVBeGlzVmlldyYmdGhpcy5fcHJpY2VMaW5lc0F4aXNWaWV3cy5wdXNoKHQucHJpY2VMaW5lQXhpc1ZpZXcpfXRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IEd0LlN0dWR5RGF0YVdpbmRvd1ZpZXcodGhpcyx0aGlzLl9tb2RlbCkpLHRoaXMuX2xlZ2VuZFZpZXd8fCh0aGlzLl9sZWdlbmRWaWV3PW5ldyBYKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9zdGF0dXNWaWV3fHwodGhpcy5fc3RhdHVzVmlldz1uZXcgZWUuU3R1ZHlTdGF0dXNWaWV3KHRoaXMpKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3fHwodGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldz10aGlzLl9jcmVhdGVkQ2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KCkpLHRoaXMuX2NvbmNhdFByaWNlQXhpc1ZpZXdzKCl9X2NyZWF0ZWRDaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gbmV3IGp0LlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KHRoaXMsdGhpcy5fbW9kZWwpfV9vbkRhdGEoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlInN0dWR5X2xvYWRpbmciOnRoaXMuX29uU3R1ZHlMb2FkaW5nKGUudGltZSk7YnJlYWs7Y2FzZSJzdHVkeV9lcnJvciI6dGhpcy5fb25TdHVkeUVycm9yKGUucGFyYW1zWzJdKTticmVhaztjYXNlInN0dWR5X2NvbXBsZXRlZCI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtc1sxXSkpcmV0dXJuO3RoaXMuX29uU3R1ZHlDb21wbGV0ZWQoZS50aW1lKTticmVhaztjYXNlImRhdGFfdXBkYXRlIjppZihlLnBhcmFtcy5jdXN0b21JZCE9PXRoaXMuc291cmNlSWQoKXx8IXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy50dXJuYXJvdW5kKSlyZXR1cm47KDAsaC5hc3NlcnQpKCEhZS5wYXJhbXMubm9uc2VyaWVzLCJkYXRhLnBhcmFtcy5ub25zZXJpZXMgaXMgbWlzc2luZyIpLHRoaXMuX29uRGF0YVVwZGF0ZShlLnBhcmFtcy5wbG90cywoMCxoLmVuc3VyZURlZmluZWQpKGUucGFyYW1zLm5vbnNlcmllcyksZS5wYXJhbXMubGFzdEJhcik7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjp0aGlzLl9jaGVja1R1cm5hcm91bmQoZS5wYXJhbXMudHVybmFyb3VuZCkmJnRoaXMuY2xlYXJEYXRhKCl9fV9nZXRUZWxlbWV0cnlPYmplY3ROYW1lKCl7cmV0dXJuInN0dWR5In1fb25EYXRhVXBkYXRlZChlLHQscyxpKXtpZih0aGlzLmhhc0JhckNvbG9yZXIoKSYmZS5sZW5ndGg+MCl7Y29uc3QgdD0oMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFyQ29sb3JlcigpKS5maXJzdENvbG9yZWRCYXIoZVswXS5pbmRleCk7bnVsbCE9PXQmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUodCl9bnVsbCE9PXQmJnRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKTtjb25zdCByPXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcyk7aWYodGhpcy5fbW9kZWwucmVjYWxjdWxhdGVQYW5lKHIsKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoe3NvdXJjZUlkOnRoaXMuaWQoKSxmaXJzdFVwZGF0ZWRUaW1lUG9pbnRJbmRleDppPz92b2lkIDAsbm9uU2VyaWVzT25seTowPT09ZS5sZW5ndGh9KSksdGhpcy5fdXBkYXRlU291cmNlcygpLGUubGVuZ3RoKXtjb25zdCB0PWVbZS5sZW5ndGgtMV0uaW5kZXgscz1lWzBdLmluZGV4O3RoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToicGFydGlhbCIsc3RhcnRJbmRleDpzLGVuZEluZGV4OnR9KX1lbHNlIHRoaXMuZGF0YSgpLmlzRW1wdHkoKSYmdGhpcy5fZGF0YVJhbmdlVXBkYXRlZC5maXJlKHt0eXBlOiJmdWxsIn0pfV90aXRsZUlucHV0cyhlLHQscyl7cmV0dXJuIHRoaXMuaW5wdXRzKHRoaXMuX3RpdGxlSW5wdXRzT3B0aW9ucyhlLHQscykpfV90aXRsZUlucHV0c09wdGlvbnMoZSx0LHMpe3JldHVybntzeW1ib2xzRm9yRGlzcGxheTohMCxza2lwSGlkZGVuSW5wdXRzOiEwLHNraXBGYWtlSW5wdXRzOiExLGZha2VJbnB1dHNGb3JEaXNwbGF5OiEwLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6W10sc2tpcHBlZElucHV0czp0aGlzLl9za2lwcGVkVGl0bGVJbnB1dHMoKSxub0V4Y2hhbmdlczp0LG5vUmVzb2x1dGlvbjpzLHByaWNlSW5wdXRzRm9yRGlzcGxheTohMCxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czpBcyxkaXNwbGF5TWFzazplfX1fcG9zdFByb2Nlc3NHcmFwaGljcygpewp0aGlzLl9ncmFwaGljc1ByaWNlQXhpc1ZpZXdzPXRoaXMuX2NyZWF0ZUdyYXBoaWNzUHJpY2VBeGlzVmlld3MoKSx0aGlzLl9jb25jYXRQcmljZUF4aXNWaWV3cygpfWFzeW5jIF9jcmVhdGVHcmFwaGljc1BhbmVWaWV3cygpe3JldHVybigwLEsuY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MpKHRoaXMsdGhpcy5tb2RlbCgpKX1fY3JlYXRlR3JhcGhpY3NQcmljZUF4aXNWaWV3cygpe3JldHVybigwLEsuY3JlYXRlR3JhcGhpY3NQcmljZUF4aXNWaWV3cykodGhpcyl9X3N1YnNjcmliZVRvU2Vzc2lvbklkKCl7IXRoaXMuX2lzU3Vic2NyaWJlZFRvU2Vzc2lvbklkJiZ0aGlzLmhhc1N5bWJvbElucHV0cygpJiYodGhpcy5zZXNzaW9uSWRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRDaGFuZ2VkKSx0aGlzLl9pc1N1YnNjcmliZWRUb1Nlc3Npb25JZD0hMCl9X3JlY3JlYXRlRm9ybWF0dGVyKGUpe2xldCB0PWU7aWYodCl7Y29uc3QgZT10aGlzLl9tb2RlbC5zeW1ib2xBbGlhc1NlcnZpY2UoKT8uZ2V0QWxpYXNCeVByb05hbWUodC5wcm9fbmFtZSk7ZSYmKHQ9KDAsbi5kZWZhdWx0KSh0KSwoMCxhLmRlZmF1bHQpKHQsZS5mb3JtYXR0aW5nT3B0aW9ucz8/e30pKX10aGlzLl9yZWNyZWF0ZVBsb3RzRm9ybWF0dGVycyh0KSx0aGlzLl9mb3JtYXR0ZXI9dGhpcy5fdHJ5Q3JlYXRlRm9ybWF0dGVyKHQpLHRoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9dGhpcy5fdHJ5Q3JlYXRlRGVmYXVsdEZvcm1hdHRlcih0KSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKTtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpO251bGwhPT1zJiZzLnVwZGF0ZUZvcm1hdHRlcigpLHRoaXMuZ2V0QWxsQ2hpbGRyZW4oKS5mb3JFYWNoKChlPT57ZS5yZWNyZWF0ZVByaWNlRm9ybWF0dGVyKCl9KSksdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfV9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcyhlKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcihlKSx0aGlzLl9yZWNyZWF0ZVByaWNlU3RlcCgpfV90aXRsZShlLHQscyxpLHIsbil7Y29uc3QgYT10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyLG4pO3JldHVybiB0aGlzLl9qb2luVGl0bGVzUGFydHMoYSl9X2dldFNwbGl0VGl0bGUoZSl7dGhyb3cgbmV3IEVycm9yKCJnZXRTcGxpdFRpdGxlIGlzIG9ubHkgZGVmaW5lZCBmb3Igc3ltYm9sIHNvdXJjZXMgKGNvbXBhcmUvb3ZlcmxheSBzdHVkaWVzKSIpfV9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UoZSx0KXtpZihlJiZlLm1pblZhbHVlKCk9PT1lLm1heFZhbHVlKCkmJiF0aGlzLm1ldGFJbmZvKCkuaXNfcHJpY2Vfc3R1ZHkpe2NvbnN0IHQ9LjAwNSplLm1pblZhbHVlKCk7ZT1uZXcgai5QcmljZVJhbmdlKGUubWluVmFsdWUoKS10LGUubWF4VmFsdWUoKSt0KX1jb25zdCBzPXQudGFyZ2V0UHJpY2VTY2FsZTtyZXR1cm4gcyYmcy5pc0xvZygpJiZlP25ldyBqLlByaWNlUmFuZ2Uocy5wcmljZVRvTG9naWNhbChlLm1pblZhbHVlKCkpLHMucHJpY2VUb0xvZ2ljYWwoZS5tYXhWYWx1ZSgpKSk6ZX1fdGl0bGVJblBhcnRzKGUsdD0hMCxpLHIsbixhKXtjb25zdCBvPVtWLnQodGhpcy5uYW1lKHQpLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSldO2xldCBsPVtdO2lmKCFyfHwoMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbHdheXNfc2hvd19zdHVkeV9zeW1ib2xfaW5wdXRfdmFsdWVzX2luX2xlZ2VuZCIpKXtjb25zdCBzPXRoaXMuX2dldE1URlJlc29sdXRpb25JbnB1dFRpdGxlKCk7bnVsbCE9PXMmJnMubGVuZ3RoPjAmJm8ucHVzaChzKTtsPSh0aGlzLmlucHV0c0luUGFydHMoZSx0LGksbixhKT8/W10pLm1hcCgoZT0+ZS52YWx1ZSkpfXJldHVybiBlPT09Vy5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSYmdGhpcy5fc2hvd1BpbmVWZXJzaW9uSW5TdGF0dXNMaW5lLnZhbHVlKCkmJm8ucHVzaCgoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkucGluZSkudmVyc2lvbiksW28uam9pbigiIMK3ICIpLGxdfV9zZXJpZXNEYXRhUmFuZ2VUb1NhdmUoZSl7cmV0dXJuIHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZShlLDApfV9nZXRTeW1ib2xGb3JSZXNvbHZlKGUpe3JldHVybiB0aGlzLmdldFN5bWJvbFN0cmluZyh0aGlzLl9nZXRTeW1ib2xGb3JBcGkoZSkpfV9nZXRTeW1ib2xGb3JBcGkoZSl7cmV0dXJuIGV9X2dldFN5bWJvbE9iamVjdChlLHQpe2NvbnN0IHM9e3N5bWJvbDplfSxpPXRoaXMuY3VycmVuY3koKTtyZXR1cm4gbnVsbCE9PXRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eSYmbnVsbCE9PXRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8udmFsdWUoKSYmdGhpcy5fZ2V0U3ltYm9sRm9yQXBpKHRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eS52YWx1ZSgpKT09PWUmJihzWyJjdXJyZW5jeS1pZCJdPWkpLHMuc2Vzc2lvbj10aGlzLnNlc3Npb25JZCgpLHN9X29uU3ltYm9sUmVzb2x2ZWQoZSx0LHMpe3tjb25zdCBlPSgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuYWxlcnRzV2F0Y2hlcigpKTtlLnN5bmNTb3VyY2VBbGVydExhYmVscyh0aGlzKTtjb25zdCB0PXRoaXMuZ2V0QWxsQ2hpbGRyZW4oKTtmb3IoY29uc3QgcyBvZiB0KWUuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHMpfXRoaXMuX29uQ3VycmVuY3lNYXlDaGFuZ2UoKX1fb25TeW1ib2xSZXNvbHZpbmdTdGFydChlLHQpe31fb25TeW1ib2xFcnJvcigpe31fc2V0U3RhdHVzKGUsdCl7Y29uc3Qgcz10aGlzLmlzRmFpbGVkKCk7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGUpLGUudHlwZT09PVp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWQ/dGhpcy5fd2FzQ29tcGxldGVkQmVmb3JlPSEwOmUudHlwZSE9PVp0LlN0dWR5U3RhdHVzVHlwZS5FcnJvciYmZS50eXBlIT09WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZHx8KHRoaXMuX3dhc0NvbXBsZXRlZEJlZm9yZT0hMSksdHx8KHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSwKdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX3N0YXR1c0NoYW5nZWQuZmlyZSh0aGlzLnN0YXR1cygpKSkscyE9PXRoaXMuaXNGYWlsZWQoKSYmdGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpfV9vblByb3BlcnRpZXNDaGFuZ2VkKCl7dGhpcy5fcmVzdGFydGluZ3x8KHRoaXMuX2lucHV0cz90aGlzLl90cnlDaGFuZ2VJbnB1dHMoKTp0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLnJlc3RhcnQoKSk7Y29uc3QgZT10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2UuaXNUVlNjcmlwdCYmZS5UVlNjcmlwdE1ldGFJbmZvRXhwcnMmJiF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJih0aGlzLl9yZXN0YXJ0aW5nP3RoaXMuX2RlZmVycmVkUGluZVBhdGNoUHJvcHM9ITA6dGhpcy5fcGluZVBhdGNoUHJvcHMoKSksdGhpcy5fcmVjcmVhdGVQYW5lVmlld3MoKSwoMCxscy5lbWl0KSgic3R1ZHlfcHJvcGVydGllc19jaGFuZ2VkIix0aGlzLl9pZC52YWx1ZSgpKX1fbGFzdE5vbkVtcHR5UGxvdFJvdyhlKXtpZighKDAsdS5pc0ludGVnZXIpKGUpKXJldHVybiBTcy5sb2dEZWJ1ZygiX2xhc3ROb25FbXB0eVBsb3RSb3c6IGluY29ycmVjdCBwbG90SW5kZXgiKSxudWxsO2xldCB0PXRoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZVtlXT8/bnVsbDtpZihudWxsIT09dClyZXR1cm4gdDtyZXR1cm4gdD10aGlzLmRhdGEoKS5maW5kTGFzdCgoKHQscyk9PnZvaWQgMCE9PXNbZV0pLDFlMyksbnVsbD09PXQ/bnVsbDoodGhpcy5fbGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlW2VdPXQsdCl9X29uQ3VycmVuY3lDaGFuZ2VkKCl7ImFsd2F5c09mZiIhPT0oMCxzcy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLHRoaXMuX2N1cnJlbmN5Q2hhbmdlZC5maXJlKCl9X2FwaUlucHV0cygpe3JldHVybiB0aGlzLmlucHV0cyh7a2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5OiEwfSl9YXN5bmMgX3RyeUNoYW5nZUlucHV0cygpe2NvbnN0IGU9dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpLHQ9dGhpcy5fYWxsSW5wdXRzQXJlVmFsaWQoKSxzPSgwLGguZW5zdXJlRGVmaW5lZCkoKDAsdS5jbG9uZSkodGhpcy5faW5wdXRzKSksaT10aGlzLl9hcGlJbnB1dHMoKSxyPUpTT04uc3RyaW5naWZ5KGkpLG49ciE9PUpTT04uc3RyaW5naWZ5KHRoaXMuX2lucHV0cyk7aWYoZSYmdCl0cnl7aWYoYXdhaXQgdGhpcy5fYWxsU3ltYm9sc0FyZVJlc29sdmVkKCksciE9PUpTT04uc3RyaW5naWZ5KHRoaXMuX2FwaUlucHV0cygpKSlyZXR1cm4gdGhpcy5fdHJ5Q2hhbmdlSW5wdXRzKCk7aWYodGhpcy5faXNTdG9wcGVkKCkpcmV0dXJuIHZvaWQobiYmdGhpcy5kaXNhYmxlUHJpY2VSYW5nZVJlYWR5KCkpO24mJihhd2FpdCB0aGlzLl9jaGFuZ2VJbnB1dHNJbXBsKGksKDAsaC5lbnN1cmVEZWZpbmVkKSgoMCx1LmNsb25lKSh0aGlzLl9pbnB1dHMpKSksKDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkuYWxlcnRzV2F0Y2hlcigpKS5zeW5jU291cmNlQWxlcnRMYWJlbHModGhpcykpfWNhdGNoKGUpe1NzLmxvZ0Vycm9yKGBFUlJPUjogJHt0aGlzLl9kZWJ1Z0lkKCl9IF90cnlDaGFuZ2VJbnB1dHM6IGNhbm5vdCBtb2RpZnkgc3R1ZHksICR7ZX1gKX1lbHNlIGlmKGUmJiF0JiZ0aGlzLnN0b3AoITApLCFlJiZ0JiZ0aGlzLnN0YXJ0KCEwKSxuKXtjb25zdCBlPXRoaXMuX2NhbGNTb3VyY2VzKCksdD1rcyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLGkscyk7dGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhlLHQsITApLHRoaXMuX2lucHV0cz1pfXRoaXMuX3RhZ3NDaGFuZ2VkLmZpcmUoKX1fb25DdXJyZW5jeU1heUNoYW5nZSgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeVNvdXJjZVN5bWJvbElucHV0UHJvcGVydHkpe2NvbnN0IGU9dGhpcy5jdXJyZW5jeSgpO3RoaXMuX3VwZGF0ZUN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpLGUhPT10aGlzLmN1cnJlbmN5KCkmJnRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKCl9fV9maWxsUHJlY2FsY3VsYXRlZEF1dG9zY2FsZUluZm8oZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpLHM9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksaT1uZXcgU2V0LHI9dC5maWxsZWRBcmVhc3x8W107Zm9yKGxldCBlPTA7ZTxyLmxlbmd0aDtlKyspe2NvbnN0IHQ9cltlXTtzLmZpbGxlZEFyZWFzU3R5bGUuY2hpbGRzKClbdC5pZF0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiYoaS5hZGQodC5vYmpBSWQpLGkuYWRkKHQub2JqQklkKSl9cmV0dXJuIHQucGxvdHMuZmlsdGVyKChlPT4hKDAsWi5pc1Bsb3RXaXRoVGVjaG5pY2FsVmFsdWVzKShlKSkpLmZpbHRlcigocz0+dC5pc1Bsb3RGb3JjZU92ZXJsYXkocy5pZCk/ZS50YXJnZXRQcmljZVNjYWxlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTplLnRhcmdldFByaWNlU2NhbGU9PT10aGlzLnByaWNlU2NhbGUoKSYmIWUuZm9yY2VPdmVybGF5T25seSkpLmZpbHRlcigoZT0+aS5oYXMoZS5pZCl8fHRoaXMuaXNQbG90VmlzaWJsZUF0KGUuaWQsWi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpKSkucmVkdWNlKCgodCxzKT0+dGhpcy5fYXBwbHlQbG90VG9QcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyhlLHQscykpLHtmaWVsZHM6W10sdXNlTWFpblNlcmllc1JhbmdlOiExLGJhc2VWYWx1ZU1pbk1heDpudWxsfSl9X2ZpcnN0U291cmNlT3JTZXJpZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpWzBdPz90aGlzLl9zZXJpZXN9X3NraXBIaXN0b2dyYW1CYXNlT25BdXRvU2NhbGUoKXtyZXR1cm4hMX1fdHJ5Q3JlYXRlRm9ybWF0dGVyKGUpe2NvbnN0IHQ9dm9pZCAwPT09ZT90aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKTplCjtyZXR1cm4gTHModGhpcy5fbWV0YUluZm8udmFsdWUoKS5mb3JtYXQsdGhpcy5fcHJpY2VTY2FsZUJ5UHJvcGVydGllcygpLHQsdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlY2lzaW9uLnZhbHVlKCkpfV90cnlDcmVhdGVEZWZhdWx0Rm9ybWF0dGVyKGUpe3JldHVybiB0aGlzLl90cnlDcmVhdGVGb3JtYXR0ZXIoZSl9X21lcmdlRGF0YShlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuZGF0YSgpLm1lcmdlKGUpfV9za2lwcGVkVGl0bGVJbnB1dHMoKXtyZXR1cm4gdGhpcy5faGlkZU1hdGNoZXMuZmlsdGVyKChlPT5lLnBsb3RJZHMuZXZlcnkoKGU9PnRoaXMuX2dldFBsb3REaXNwbGF5VmFsdWUoZSk9PT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSkpKSkubWFwKChlPT5lLmlkKSl9X2dldFBsb3REaXNwbGF5VmFsdWUoZSl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpPy5jaGlsZHMoKT8uc3R5bGVzPy5jaGlsZHMoKT8uW2VdPy5jaGlsZHMoKT8uZGlzcGxheT8udmFsdWUoKX1fb25TdHVkeUVycm9yKGUpe3BlcmZvcm1hbmNlLmNsZWFyTWFya3MoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKSx0aGlzLl9oYW5kbGVTdHVkeUVycm9yKHRoaXMuX2NyZWF0ZVN0dWR5RXJyb3IoZSkpLHRoaXMuX2VuYWJsZVByaWNlUmFuZ2VSZWFkeSgpfV9vblN0dWR5Q29tcGxldGVkKGUpe2lmKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKS5sZW5ndGgpe3RyeXtjb25zdCBlPXBlcmZvcm1hbmNlLm1lYXN1cmUoYG1lYXN1cmVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCxgY2FsY3VsYXRlX3N0dWR5XyR7dGhpcy5zb3VyY2VJZCgpfWApO3RoaXMuX2NhbGN1bGF0aW9uVGltZS5zZXRWYWx1ZShlLmR1cmF0aW9uKX1jYXRjaChlKXtTcy5sb2dFcnJvcigiRXJyb3IgZHVyaW5nIG1lYXN1cmluZyBzdHVkeSBjYWxjdWxhdGlvbiB0aW1lIil9cGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhgY2FsY3VsYXRlX3N0dWR5XyR7dGhpcy5zb3VyY2VJZCgpfWApLHBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMoYG1lYXN1cmVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCl9dGhpcy5fc3R1ZHlNb2RpZmllZCYmKHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlNb2RpZmllZD0hMSksdGhpcy5fc2VuZFRlbGVtZXRyeUNvdW50ZXIodGhpcy5fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpKyJfbG9hZGVkIiksdGhpcy5fc2V0U3RhdHVzKHt0eXBlOlp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9KSx0aGlzLl9zdGF0dXNWaWV3Py51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSk7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpO3RoaXMuX21vZGVsLnJlY2FsY3VsYXRlUGFuZSh0LCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX3VwZGF0ZVNvdXJjZXMoKTtjb25zdCBzPWVzLkludmFsaWRhdGlvbk1hc2suZnVsbCgpO251bGwhPT10aGlzLl9tb2RlbC5hcHBsaWVkVGltZUZyYW1lKCkudmFsdWUoKSYmcy5sb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplKCksdGhpcy5fbW9kZWwuaW52YWxpZGF0ZShzKX1fY2xlYXJEYXRhKCl7dGhpcy5fZGF0YS5jbGVhcigpLHRoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToiZnVsbCJ9KX1fbW92ZURhdGEoZSl7dGhpcy5kYXRhKCkubW92ZShlKX1fZGVmYXVsdEVycm9yVGl0bGUoKXtyZXR1cm4iUnVudGltZSBlcnJvciJ9X2hhbmRsZVJlc3RvcmluZ0ZhY3RvcnlEZWZhdWx0cygpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5zdGF0ZSgpOygwLF9zLmFwcGx5RGVmYXVsdENvbG9yc1RvUHJvcHNTdGF0ZSkoZSx0aGlzLl9tZXRhSW5mby52YWx1ZSgpKSx0aGlzLl9wcm9wZXJ0aWVzLm1lcmdlKGUpfV9pbml0Q3VycmVuY3lNZXRhRGF0YSgpeygwLF8uY29tYmluZSkoKChlLHQscyk9Pntjb25zdCBpPXRoaXMuY3VycmVuY3koKTtpZihudWxsPT09aXx8dC50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUobnVsbCk7aWYoIWV8fG51bGw9PT1zKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUocyk7Y29uc3Qgcj1zLm9yaWdpbmFsQ3VycmVuY3k7dGhpcy5fY3VycmVuY3lNZXRhRGF0YS5zZXRWYWx1ZSh7aXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3k6aSE9PXIsb3JpZ2luYWxDdXJyZW5jeTpyLGN1cnJlbnRDdXJyZW5jeTppLGlzQ3VycmVuY3lDb252ZXJ0aWJsZTohMCxiYXNlQ3VycmVuY3k6bnVsbCxjdXJyZW5jeU9yaWdpbk5hbWU6dGhpcy50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwKX0pfSksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY29tcG91bmRTdGF0dXMud2Vha1JlZmVyZW5jZSgpLCgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKCgpPT5bdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmN1cnJlbmN5TWV0YWRhdGEoKS53ZWFrUmVmZXJlbmNlKCldKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKS5vd25lcnNoaXAoKSkub3duZXJzaGlwKCksKDAsQWUuY3JlYXRlV1ZGcm9tUHJvcGVydHkpKHRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eT8/bmV3IFF0LlByb3BlcnR5KG51bGwpKS5vd25lcnNoaXAoKSl9X2luaXRVbml0TWV0YURhdGEoKXsoMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT57Y29uc3QgaT10aGlzLnVuaXQoKTtpZihudWxsPT09aXx8dC50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yKXJldHVybiB2b2lkIHRoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZShudWxsKTtpZighZXx8bnVsbD09PXMpcmV0dXJuIHZvaWQgdGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHMpO2NvbnN0IHI9cy5vcmlnaW5hbFVuaXQ7dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHsKaXNDb252ZXJ0ZWRUb090aGVyVW5pdDppIT09cixjdXJyZW50VW5pdDppLG9yaWdpbmFsVW5pdDpyLGNvbnZlcnRpYmxlR3JvdXBzOnMuY29udmVydGlibGVHcm91cHMsdW5pdE9yaWdpbk5hbWU6dGhpcy50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwKX0pfSksdGhpcy5faXNVbml0T3JpZ2luLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9jb21wb3VuZFN0YXR1cy53ZWFrUmVmZXJlbmNlKCksKDAsXy5hY2N1bXVsYXRlKSgoZT0+ZVswXSksKDAsXy5jb21iaW5lKSgoKCk9Plt0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkudW5pdE1ldGFkYXRhKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpLCgwLEFlLmNyZWF0ZVdWRnJvbVByb3BlcnR5KSh0aGlzLl91bml0SW5wdXRQcm9wZXJ0eT8/bmV3IFF0LlByb3BlcnR5KG51bGwpKS5vd25lcnNoaXAoKSl9X2NyZWF0ZVN0dWR5RXJyb3IoZSl7bGV0IHQ7cmV0dXJuIHQ9KDAsdS5pc1N0cmluZykoZSk/e2Vycm9yOnRoaXMuX2dldFN0dWR5RXJyb3JUZXh0KGUpLHRpdGxlOmUuaW5jbHVkZXMoInN0dWR5X25vdF9hdXRoIik/IkFjY2VzcyBlcnJvciI6dGhpcy5fZGVmYXVsdEVycm9yVGl0bGUoKX06ey4uLmUsdGl0bGU6ZS50aXRsZT8/dGhpcy5fZGVmYXVsdEVycm9yVGl0bGUoKX0sKDAsWnQuY3JlYXRlU3R1ZHlFcnJvcikodCx0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKT8uZXhjaGFuZ2UpfV9pbmNyZW1lbnRUdXJuYXJvdW5kKCl7dGhpcy5fdHVybmFyb3VuZD0ic3QiKyArK3RoaXMuX3R1cm5hcm91bmRDb3VudGVyfV9jaGVja1R1cm5hcm91bmQoZSl7cmV0dXJuIGU9PT10aGlzLl90dXJuYXJvdW5kfHxlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNlcmllc1NvdXJjZSgpLnR1cm5hcm91bmQoKXx8ZT09PXRoaXMudHVybmFyb3VuZCghMCl9X3VwZGF0ZU1heE9mZnNldFZhbHVlKCl7bGV0IGU9LTEvMDtmb3IoY29uc3QgdCBvZiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnBsb3RzKWU9TWF0aC5tYXgodGhpcy5vZmZzZXQodC5pZCksZSk7dGhpcy5fbWF4T2Zmc2V0LnNldFZhbHVlKGUpfV9yaWdodE9mZnNldFRvVW5peFRpbWUoZSl7aWYodGhpcy5fc2VyaWVzLmJhcnMoKS5zaXplKCk+PWUpe2NvbnN0IHQ9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJpZXMuYmFycygpLmxhc3RJbmRleCgpKS1lO3JldHVybigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmJhcnMoKS52YWx1ZUF0KHQpKVswXX1yZXR1cm4gbnVsbH1fY29uY2F0UHJpY2VBeGlzVmlld3MoKXt0aGlzLl9wcmljZUF4aXNWaWV3cz1bLi4udGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlLC4uLnRoaXMuX2dyYXBoaWNzUHJpY2VBeGlzVmlld3NdfV9vblN0dWR5TG9hZGluZyhlKXt0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmcsc3RhcnRUaW1lOkRhdGUubm93KCl9KSx0aGlzLl9zdGF0dXNWaWV3Py51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpfV9oYW5kbGVTdHVkeUVycm9yKGUpe3RoaXMuY2xlYXJEYXRhKCksdGhpcy5fc2V0U3RhdHVzKGUpO3tjb25zdCB0PSgwLFp0LmNvbnZlcnRTdHVkeVN0YXR1c1RvU3RyaW5nKShlKSxzPXRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCksaT10LmluZGV4T2YoIkNvbW1hbmQgaW5mbyIpO3MucmVhc29uPWk+PTA/dC5zbGljZSgwLGkpLnRyaW0oKTp0O2lmKCEvc3R1ZHkgaW4gZXJyb3Igc3RhdGV8dGhlIGRhdGEgdmVuZG9yIGRvZXNuXCd0IHByb3ZpZGUgdm9sdW1lIGRhdGEgZm9yIHRoaXMgc3ltYm9sLnxlcnJvciBpbiBzZXJpZXN8dW5zdXBwb3J0ZWQgcmVzb2x1dGlvbi9naS50ZXN0KHMucmVhc29uPy50b0xvd2VyQ2FzZSgpPz8iIikpe2NvbnN0IGU9dGhpcy5fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpO3RoaXMuX3NlbmRUZWxlbWV0cnlDb3VudGVyKGUrIl9lcnJvciIscyl9fXRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9X3VwZGF0ZVNvdXJjZXMoKXt0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5oYXNCYXJDb2xvcmVyKCkmJnRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpfV91bnN1YnNjcmliZVRvU2Vzc2lvbklkKCl7dGhpcy5faXNTdWJzY3JpYmVkVG9TZXNzaW9uSWQmJih0aGlzLnNlc3Npb25JZENoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2Vzc2lvbklkQ2hhbmdlZCksdGhpcy5faXNTdWJzY3JpYmVkVG9TZXNzaW9uSWQ9ITEpfV9vblNlc3Npb25JZENoYW5nZWQoKXt0aGlzLnJlc3RhcnQoITApfV9yZWNyZWF0ZVByaWNlU3RlcCgpe2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9wcmljZVNjYWxlQnlQcm9wZXJ0aWVzKCk/P3RoaXMuX3ByaWNlU2NhbGVCeU1ldGFJbmZvKCk7bnVsbCE9PXQmJihlPTEvdCksdGhpcy5fcHJpY2VTdGVwIT09ZSYmKHRoaXMuX3ByaWNlU3RlcD1lLHRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpKX1fcmVjcmVhdGVQbG90c0Zvcm1hdHRlcnMoZSl7dGhpcy5fcGxvdEZvcm1hdHRlcnMuY2xlYXIoKTtjb25zdCB0PXRoaXMuX21ldGFJbmZvLnZhbHVlKCkscz10LmZvcm1hdCxpPXRoaXMuX3ByaWNlU2NhbGVCeVByb3BlcnRpZXMoKSxyPXZvaWQgMD09PWU/dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2xJbmZvKCk6ZTtmb3IoY29uc3RbZSxuXW9mIE9iamVjdC5lbnRyaWVzKHQub2hsY1Bsb3RzPz97fSkpaWYobj8uZm9ybWF0KXtjb25zdCB0PUxzKEVzKHsuLi5zLC4uLm4/LmZvcm1hdH0pLGkscix0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wcmVjaXNpb24udmFsdWUoKSk7dCYmdGhpcy5fcGxvdEZvcm1hdHRlcnMuc2V0KGUsdCl9CmZvcihjb25zdFtlLG5db2YgT2JqZWN0LmVudHJpZXModC5zdHlsZXM/P3t9KSlpZihuPy5mb3JtYXQpe2NvbnN0IHQ9THMoRXMoey4uLnMsLi4ubj8uZm9ybWF0fSksaSxyLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnByZWNpc2lvbi52YWx1ZSgpKTt0JiZ0aGlzLl9wbG90Rm9ybWF0dGVycy5zZXQoZSx0KX1mb3IoY29uc3QgZSBvZiB0LnBsb3RzKWlmKCgwLFouaXNPaGxjUGxvdCkoZSkpe2NvbnN0IHQ9dGhpcy5fcGxvdEZvcm1hdHRlcnMuZ2V0KGUudGFyZ2V0KTt0JiZ0aGlzLl9wbG90Rm9ybWF0dGVycy5zZXQoZS5pZCx0KX19X2pvaW5UaXRsZXNQYXJ0cyhlKXtjb25zdCB0PWVbMV0/ZVsxXS5qb2luKCIsICIpOiIiO3JldHVybiBlWzBdKyh0Lmxlbmd0aD4wPyIgKCIrdCsiKSI6IiIpfV9nZXRNVEZSZXNvbHV0aW9uSW5wdXRUaXRsZSgpe2NvbnN0IGU9dGhpcy5tZXRhSW5mbygpO2ZvcihsZXQgdD0wO3Q8ZS5pbnB1dHMubGVuZ3RoO3QrKyl7Y29uc3Qgcz1lLmlucHV0c1t0XTtpZigicmVzb2x1dGlvbiI9PT1zLnR5cGUmJnMuaXNNVEZSZXNvbHV0aW9uKXJldHVybigwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQocy5pZCkpLnZhbHVlKCl9cmV0dXJuIG51bGx9X29uRGF0YVVwZGF0ZShlLHQscyl7dGhpcy5fc3R1ZHlNb2RpZmllZCYmKHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlNb2RpZmllZD0hMSk7Y29uc3QgaT0ocj10LmQsKDAseC51bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZCkocikpO3ZhciByO3JldHVybiB0aGlzLl9vbmdvaW5nRGF0YVVwZGF0ZT10aGlzLl9vbmdvaW5nRGF0YVVwZGF0ZS50aGVuKCgoKT0+aSksKCgpPT5pKSkudGhlbih0aGlzLl9vbkRhdGFVbnBhY2tlZC5iaW5kKHRoaXMsZSx0LmluZGV4ZXMscykpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9hbGxTeW1ib2xzQXJlUmVzb2x2ZWQoKXtjb25zdCBlPXRoaXMuX2lucHV0U3ltYm9scygpLHQ9W107bGV0IHM9ITE7Zm9yKGNvbnN0IGkgb2YgZSl7Y29uc3QgZT10aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKGkpO2lmKCIiIT09ZSlpZih0aGlzLl9yZXNvbHZlZFN5bWJvbHNbZV0pcz0hMDtlbHNle2NvbnN0IHM9dGhpcy5fcmVzb2x2ZVN5bWJvbChlLGkpO3QucHVzaChzKX19aWYoMD09PXQubGVuZ3RoKXtjb25zdCBlPVByb21pc2UucmVzb2x2ZSgpO3JldHVybiBzP2UudGhlbigoKCk9PnRoaXMuX3N5bWJvbHNSZXNvbHZlZC5maXJlKCkpKTplfXJldHVybiBQcm9taXNlLmFsbCh0KS5jYXRjaCgoZT0+KHRoaXMuX2lucHV0U3ltYm9scygpLmluY2x1ZGVzKGUpJiZ0aGlzLnN0b3AoITApLHRoaXMuX3NldFN0YXR1cyh7dHlwZTpadC5TdHVkeVN0YXR1c1R5cGUuRXJyb3IsZXJyb3JEZXNjcmlwdGlvbjp7ZXJyb3I6YnN9fSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLFByb21pc2UucmVqZWN0KCJJbnZhbGlkIHN5bWJvbCwgIitlKSkpKS50aGVuKCgoKT0+e3RoaXMuX3N5bWJvbHNSZXNvbHZlZC5maXJlKCksdGhpcy5fcmVjaGVja0xpbmVUb29sc0FjdHVhbGl0eSgpfSkpfV9yZXNvbHZlU3ltYm9sKGUsdCl7aWYoIiI9PT1lKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTtsZXQgcz10aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT1zfHwocz1uZXcgUHJvbWlzZSgoKHMsaSk9Pnt0aGlzLl9vblN5bWJvbFJlc29sdmluZ1N0YXJ0KGUsdCksdGhpcy5fY2hhcnRBcGkucmVzb2x2ZVN5bWJvbCgoMCxzZS5tYWtlTmV4dFN5bWJvbElkKSgpLGUsKHI9PntpZih0aGlzLl9pc0Rlc3Ryb3llZClpKCJTdHVkeSBpcyBkZXN0cm95ZWQiKTtlbHNlIHN3aXRjaCh0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuZGVsZXRlKGUpLHIubWV0aG9kKXtjYXNlInN5bWJvbF9yZXNvbHZlZCI6e3RoaXMuX3NldFN0YXR1cyh7dHlwZTpadC5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSk7Y29uc3QgaT1yLnBhcmFtc1sxXTt0aGlzLl9yZXNvbHZlZFN5bWJvbHNbZV09aSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0W3RdPWksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSghMCksdGhpcy5fb25TeW1ib2xSZXNvbHZlZChlLHQsaSkscygpO2JyZWFrfWNhc2Uic3ltYm9sX2Vycm9yIjppZih0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOnIucGFyYW1zWzFdfX0pLHRoaXMuX29uU3ltYm9sRXJyb3IoKSxyLnBhcmFtc1sxXT09PWllLnBlcm1pc3Npb25EZW5pZWQmJnIucGFyYW1zWzJdKXtpZihyLnBhcmFtc1syXSE9PWllLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2wpcmV0dXJuIHZvaWQgdGhpcy5fcmVzb2x2ZVN5bWJvbChyLnBhcmFtc1syXSx0KS50aGVuKHMpO2lmKHIucGFyYW1zWzNdKXJldHVybiB2b2lkIHRoaXMuX3Jlc29sdmVTeW1ib2woci5wYXJhbXNbM10sdCkudGhlbihzKX10aGlzLl9zZW5kVGVsZW1ldHJ5Q291bnRlcigic3ltYm9sX2Vycm9yIixPYmplY3QuYXNzaWduKHRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCkse3N5bWJvbDplLHJlYXNvbjpyLnBhcmFtc1sxXX0pKSxpKHQpfX0pKX0pKSx0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuc2V0KGUscykpLHN9X3JlY2hlY2tMaW5lVG9vbHNBY3R1YWxpdHkoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcyk7bnVsbCE9PWUmJmUuc291cmNlc0J5R3JvdXAoKS5saW5lU291cmNlc0ZvckFsbFN5bWJvbHMoKS5mb3JFYWNoKChlPT57ZS5vd25lclNvdXJjZSgpPT09dGhpcyYmZS5jYWxjSXNBY3R1YWxTeW1ib2woKX0pKX1fc2VuZFRlbGVtZXRyeUNvdW50ZXIoZSx0KXt2b2lkIDA9PT10JiYodD10aGlzLl9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YSgpKTtjb25zdCBzPXtjb3VudDoxLGFkZGl0aW9uYWw6dH07dmUudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLHMpfV9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YSgpe2xldCBlPSIiO2NvbnN0IHQ9dGhpcy5fbWV0YUluZm8udmFsdWUoKQo7cmV0dXJuIHQucGluZSYmdC5waW5lLnZlcnNpb24mJnQuc2hvcnRJZC5pbmRleE9mKCJVU0VSIik+PTAmJihlPSJfdiIrdC5waW5lLnZlcnNpb24pLHtzeW1ib2w6dGhpcy5zZXJpZXMoKS5hY3R1YWxTeW1ib2woKSxyZXNvbHV0aW9uOnRoaXMuc2VyaWVzKCkuaW50ZXJ2YWwoKSxzdHVkeTp0LnNob3J0SWQrZX19X29uU291cmNlRm9ybWF0dGVyQ2hhbmdlZCgpe251bGw9PT10aGlzLl9mb3JtYXR0ZXImJihudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmdGhpcy5fcHJpY2VTY2FsZS51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKSl9X29uU291cmNlUHJpY2VTdGVwQ2hhbmdlZCgpe251bGw9PT10aGlzLl9wcmljZVN0ZXAmJnRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpfV9iYW5kc0ZpcnN0VmFsdWUoZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2lmKCF0LmJhbmRzKXJldHVybiBudWxsO2ZvcihsZXQgcz0wO3M8dC5iYW5kcy5sZW5ndGg7cysrKXtjb25zdCB0PSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5iYW5kcykuY2hpbGRzKClbc107aWYodC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHM9dC5jaGlsZHMoKS52YWx1ZS52YWx1ZSgpO2lmKGUmJjA9PT1zKWNvbnRpbnVlO2lmKG51bGwhPT1zKXJldHVybiBzfX1yZXR1cm4gbnVsbH1fcHJlcGFyZUlucHV0cyhlKXsoMCxoLmFzc2VydCkoISFlLCJvcHRpb25zIG5vdCBzZXQiKTtjb25zdCB0PXRoaXMubWV0YUluZm8oKSxzPXt9LGk9ZS5hbGxvd2VkSW5wdXRUeXBlcz9uZXcgU2V0KGUuYWxsb3dlZElucHV0VHlwZXMpOm51bGwscj0hKCFlLmFzT2JqZWN0fHwhZS51c2VOYW1lQW5kR3JvdXBBc0tleSk7Zm9yKGxldCBuPTA7bjx0LmlucHV0cy5sZW5ndGg7bisrKXtjb25zdCBhPXQuaW5wdXRzW25dO2lmKG51bGwhPT1pJiYhaS5oYXMoYS50eXBlKSljb250aW51ZTtpZihhLmlzRmFrZSYmZS5za2lwRmFrZUlucHV0cyljb250aW51ZTtpZihhLmlzTVRGUmVzb2x1dGlvbiYmZS5ub1Jlc29sdXRpb24pY29udGludWU7aWYodm9pZCAwIT09ZS5kaXNwbGF5TWFzayYmISgoMCxoLmVuc3VyZURlZmluZWQpKGEuZGlzcGxheSkmZS5kaXNwbGF5TWFzaykpY29udGludWU7aWYoZS5za2lwSGlkZGVuSW5wdXRzJiYoIWUuZG9Ob3RTa2lwSGlkZGVuV2l0aE1pZ3JhdGV8fCFhLm1pZ3JhdGUpKXtsZXQgdD0hMTtzd2l0Y2goYS50eXBlKXtjYXNlImJvb2wiOnQ9ZS5za2lwQm9vbGVhbklucHV0czticmVhaztjYXNlImNvbG9yIjp0PWUuc2tpcENvbG9ySW5wdXRzO2JyZWFrO2Nhc2UidGltZSI6dD1lLnNraXBUaW1lSW5wdXRzO2JyZWFrO2Nhc2UidGV4dF9hcmVhIjp0PWUuc2tpcFRleHRhcmVhSW5wdXRzO2JyZWFrO2RlZmF1bHQ6dD1Cb29sZWFuKGEuaXNIaWRkZW4pfWlmKHQpY29udGludWV9aWYodm9pZCAwIT09YS5ncm91cElkJiYtMSE9PWUuc2tpcHBlZEdyb3Vwcy5pbmRleE9mKGEuZ3JvdXBJZCkpY29udGludWU7aWYoLTEhPT1lLnNraXBwZWRJbnB1dHMuaW5kZXhPZihhLmlkKSljb250aW51ZTtjb25zdCBvPXRoaXMuX3ByZXBhcmVJbnB1dChhLGUpO2lmKCJzeW1ib2wiPT09YS50eXBlJiZlLnNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzJiYiIj09PW8pY29udGludWU7bGV0IGw7ciYmKGw9KDAsUi5nZXRTdHVkeUlucHV0TmFtZSkoYSksdm9pZCAwIT09bCYmbCBpbiBzJiYobD12b2lkIDApKSxzW2x8fGEuaWRdPSgwLHUuY2xvbmUpKG8pfXJldHVybiBzfV9wcmVwYXJlSW5wdXRWYWx1ZShlLHQpe2NvbnN0IHM9ZS5pZCxpPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7aWYodC52YWx1ZXNBc0lzRnJvbVByb3BlcnRpZXMpcmV0dXJuIGkuaW5wdXRzLmNoaWxkcygpW3NdLnZhbHVlKCk7Y29uc3Qgcj10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2lmKCJzeW1ib2wiPT09ZS50eXBlKXtjb25zdCByPXQmJnQuc3ltYm9sc0ZvckRpc3BsYXksbj1pLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpO2xldCBhPXI/bjp0aGlzLl9nZXRTeW1ib2xGb3JBcGkobiksbz10aGlzLl9yZXNvbHZlZFN5bWJvbHM/Llt0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKGEpXT8/bnVsbDtpZigiIj09PWEmJmUub3B0aW9uYWwpe2lmKHQmJnQua2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5KXJldHVybiBhO2E9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbCgpLG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbEluZm8oKX1pZihyKWlmKG8paWYoeHMpe3N3aXRjaCh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKS52YWx1ZSgpKXtjYXNlImRlc2NyaXB0aW9uIjphPW8uZGVzY3JpcHRpb247YnJlYWs7Y2FzZSJ0aWNrZXItYW5kLWRlc2NyaXB0aW9uIjphPWAke28ubmFtZX0sICR7by5kZXNjcmlwdGlvbn1gO2JyZWFrO2Nhc2UidGlja2VyIjphPW8ubmFtZX19ZWxzZSBhPSgwLHRzLnN5bWJvbFRpdGxlKShvLHQubm9FeGNoYW5nZXMpO2Vsc2UgTXMmJihhPSIiKTtlbHNlIG8mJihhPW8udGlja2VyfHxvLmZ1bGxfbmFtZSksIXRoaXMuaXNQaW5lKCkmJnQmJnQuc3ltYm9sc0ZvckNoYXJ0QXBpJiYoYT10aGlzLmdldFN5bWJvbFN0cmluZyhhKSk7cmV0dXJuIGF9aWYoImJhcl90aW1lIj09PWUudHlwZSl7bGV0IGU9aS5pbnB1dHMuY2hpbGRzKClbc10udmFsdWUoKTtpZihlPDApe2NvbnN0IHQ9dGhpcy5fcmlnaHRPZmZzZXRUb1VuaXhUaW1lKC1lKTtlPXQmJnQ+PTA/dDplfXJldHVybiBlfWlmKHIuaXNUVlNjcmlwdHx8ci5waW5lKXtpZigidGV4dCI9PT1zKXJldHVybiByLmRlZmF1bHRzLmlucHV0cz8udGV4dD8/IiI7aWYoInBpbmVJZCI9PT1zKXJldHVybiByLnNjcmlwdElkUGFydDtpZigicGluZVZlcnNpb24iPT09cylyZXR1cm4gci5waW5lP3IucGluZS52ZXJzaW9uOiItMSI7aWYoImNvbG9yIj09PWUudHlwZSYmci5pc1JHQil7Y29uc3QgZT1pLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpO3JldHVybigwLEwuY29sb3JUb0ludGVnZXIpKGUpfWlmKCJwcmljZSI9PT1lLnR5cGUpewpjb25zdCBlPWkuaW5wdXRzLmNoaWxkcygpW3NdLnZhbHVlKCk7cmV0dXJuIHQucHJpY2VJbnB1dHNGb3JEaXNwbGF5P3RoaXMuZm9ybWF0dGVyKCkuZm9ybWF0KGUpOmV9fXJldHVybiBpLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpfV9nZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oKXtyZXR1cm4gdi5TdHVkeU1ldGFJbmZvLmdldFN0dWR5SWRXaXRoTGF0ZXN0VmVyc2lvbih0aGlzLm1ldGFJbmZvKCkpfV9kZWJ1Z0lkKCl7Y29uc3QgZT1bXTtlLnB1c2godGhpcy5faWQudmFsdWUoKSk7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpO3JldHVybiBlLnB1c2godC5mdWxsSWQpLGUucHVzaCh0LmRlc2NyaXB0aW9uKSxKU09OLnN0cmluZ2lmeSh7c3R1ZHk6ZX0pfV9oYXNBdmFpbGFibGVBbGVydFBsb3RzKCl7aWYobnVsbD09PXRoaXMuX2FsZXJ0TWV0YUluZm8oKSlyZXR1cm4hMTtyZXR1cm4gdGhpcy5zdGF0ZUZvckFsZXJ0KCkucGxvdHMubGVuZ3RoPjB9X2hhc0FsZXJ0Q29uZGl0aW9ucygpe2NvbnN0IGU9dGhpcy5fYWxlcnRNZXRhSW5mbygpO2lmKG51bGw9PT1lKXJldHVybiExO2lmKGUucGxvdHMuc29tZShaLmlzQWxlcnRDb25kaXRpb25QbG90KSlyZXR1cm4hMDtjb25zdCB0PXRoaXMuc3RhdGVGb3JBbGVydCgpO3JldHVybiBCb29sZWFuKHQuYWxlcnRzJiZ0LmFsZXJ0cy5jb25kaXRpb25zKX1faGFzQWxlcnRGdW5jdGlvbigpe2NvbnN0IGU9dGhpcy5fYWxlcnRNZXRhSW5mbygpO3JldHVybiBCb29sZWFuKG51bGwhPT1lJiZlLmhhc0FsZXJ0RnVuY3Rpb24pfWFzeW5jIF91cGRhdGVQYXJlbnRTb3VyY2VzKGUsdCxzKXtpZih0aGlzLl9zb3VyY2VzLnZhbHVlKCkuZm9yRWFjaCgoZT0+ZS51bnNldENoaWxkKHRoaXMpKSkscyYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoKGU9PmUuaXNTdGFydGVkKCk/UHJvbWlzZS5yZXNvbHZlKCk6ZS5zdGFydCghMSwhMCkpKSksZS5mb3JFYWNoKChlPT5lLnNldENoaWxkKHRoaXMpKSksdGhpcy5fc2V0U291cmNlcyhlKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLDAhPT10JiZ0aGlzLl9zb3VyY2VzLnZhbHVlKCkubGVuZ3RoPD0xKXtjb25zdCBlPXRoaXMuX2ZpcnN0U291cmNlT3JTZXJpZXMoKSx0PXRoaXMuX3ByaWNlU2NhbGUscz0oMCxoLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKTtpZih0IT09cyl7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpLGk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKGUpKTt0PT09aSYmaS5tb3ZlKHRoaXMscywhMCl9fX1fY2FsY1NvdXJjZXMoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLnN0YXRlKCk7cmV0dXJuIHYuU3R1ZHlNZXRhSW5mby5nZXRTb3VyY2VJZHNCeUlucHV0cyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cyxlKS5tYXAoKGU9PntpZigiaGlnaCI9PT1lfHwib3BlbiI9PT1lfHwibG93Ij09PWV8fCJjbG9zZSI9PT1lfHwiaGwyIj09PWV8fCJvaGwzIj09PWV8fCJvaGxjNCI9PT1lKXJldHVybiBudWxsO3JldHVybiB0aGlzLl9tb2RlbC5hbGxTdHVkaWVzKCkuZmluZCgodD0+dC5jYW5IYXZlQ2hpbGRyZW4oKSYmdC5pZCgpPT09ZSkpPz9udWxsfSkpLmZpbHRlcih1Lm5vdE51bGwpfV9pc1N0b3BwZWQoKXtyZXR1cm4hdGhpcy5pc1N0YXJ0ZWQoKX1fb25EYXRhVW5wYWNrZWQoZSx0LHMsaSl7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuOyJub2NoYW5nZSIhPT10JiZ0aGlzLl9wcm9jZXNzUGxvdE9mZnNldHMoaSksdGhpcy5fdHJhbnNmb3JtRGF0YShlKTtjb25zdCByPXRoaXMuX21lcmdlRGF0YShlKTtudWxsIT09aSYmKGkuaW5kZXhlc19yZXBsYWNlPygoMCxoLmFzc2VydCkoIm5vY2hhbmdlIiE9PXQpLHRoaXMuX2dyYXBoaWNzLnJlcGxhY2VJbmRleGVzVG8odCkpOigibm9jaGFuZ2UiIT09dCYmdGhpcy5fZ3JhcGhpY3MucmVwbGFjZUluZGV4ZXNUbyh0KSx2b2lkIDAhPT1pLmdyYXBoaWNzQ21kcyYmdGhpcy5fZ3JhcGhpY3MucHJvY2Vzc0NvbW1hbmRzKGkuZ3JhcGhpY3NDbWRzKSkpLHRoaXMuX29uRGF0YVVwZGF0ZWQoZSxpLHQsciYmci5pbmRleCksdGhpcy5wcmljZVJhbmdlUmVhZHkoKXx8dGhpcy5fZW5hYmxlUHJpY2VSYW5nZVJlYWR5KCksdGhpcy5fZGF0YVVwZGF0ZWQuZmlyZSgpfV9wcm9jZXNzUGxvdE9mZnNldHMoZSl7aWYoZSYmZS5pbmRleGVzX3JlcGxhY2UpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc2VydmVyUGxvdE9mZnNldHMudmFsdWUoKTt0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZShlJiZlLm9mZnNldHN8fHt9KSwoMCxyLmRlZmF1bHQpKHQsdGhpcy5fc2VydmVyUGxvdE9mZnNldHMudmFsdWUoKSl8fHRoaXMudXBkYXRlQWxsVmlld3MoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoe3NvdXJjZUlkOnRoaXMuaWQoKSxjbGVhckRhdGE6ITB9KSksdGhpcy5fdXBkYXRlTWF4T2Zmc2V0VmFsdWUoKX1fYXBwbHlQbG90VG9QcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyhlLHQscyl7Y29uc3QgaT1zLmlkLHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbaV0sbj0oMCxaLmlzU2hhcGVzUGxvdCkocyl8fCgwLFouaXNDaGFyc1Bsb3QpKHMpO3QudXNlTWFpblNlcmllc1JhbmdlPXQudXNlTWFpblNlcmllc1JhbmdlfHwoMCxaLmlzQXJyb3dzUGxvdCkocyk7bGV0IGE9KDAsWi5pc0xpbmVQbG90KShzKXx8KDAsWi5pc09obGNQbG90KShzKTtpZihuKXtjb25zdCBlPSgwLGguZW5zdXJlRGVmaW5lZCkocikuY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxzPVtiLk1hcmtMb2NhdGlvbi5BYnNvbHV0ZSxiLk1hcmtMb2NhdGlvbi5Ub3AsYi5NYXJrTG9jYXRpb24uQm90dG9tXS5pbmRleE9mKGUpPDA7dC51c2VNYWluU2VyaWVzUmFuZ2U9dC51c2VNYWluU2VyaWVzUmFuZ2V8fG4mJnMsYT1hfHxlPT09Yi5NYXJrTG9jYXRpb24uQWJzb2x1dGV9aWYoIWEpcmV0dXJuIHQ7Y29uc3Qgbz17bmFtZTppLG9mZnNldDp0aGlzLm9mZnNldChpKX0sbD1yLmNoaWxkcygpLnBsb3R0eXBlLnZhbHVlKCkKO2lmKCgwLFouZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrcykobCkpe2NvbnN0IGk9dGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cy5pbmRleE9mKHMpLHI9dGhpcy5fZ2V0TWluTWF4Rm9yUGxvdFRoYXRTdXBwb3J0RmlsbEJyZWFrcyhpLGwsZSk7dC5iYXNlVmFsdWVNaW5NYXg9KDAsZy5tZXJnZU1pbk1heCkodC5iYXNlVmFsdWVNaW5NYXgscil9aWYoIXRoaXMuX3NraXBIaXN0b2dyYW1CYXNlT25BdXRvU2NhbGUoKSYmW1ouTGluZVN0dWR5UGxvdFN0eWxlLkhpc3RvZ3JhbSxaLkxpbmVTdHVkeVBsb3RTdHlsZS5Db2x1bW5zLFouTGluZVN0dWR5UGxvdFN0eWxlLkFyZWFdLmluZGV4T2YobCk+PTApe2NvbnN0IHM9KHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3R5bGVzPz97fSk/LltpXT8uaGlzdG9ncmFtQmFzZTtpZih2b2lkIDA9PT1zKXJldHVybiB0O2NvbnN0e3N0YXJ0VGltZVBvaW50OnIsZW5kVGltZVBvaW50Om59PWUsYT10aGlzLmRhdGEoKS5taW5NYXhPblJhbmdlQ2FjaGVkKHIsbixbb10pO3JldHVybigwLHUuaXNOdW1iZXIpKHMpJiZudWxsIT09YSYmKHQuYmFzZVZhbHVlTWluTWF4PSgwLGcubWVyZ2VNaW5NYXgpKHQuYmFzZVZhbHVlTWluTWF4LHttaW46cyxtYXg6c30pLHQuYmFzZVZhbHVlTWluTWF4PSgwLGcubWVyZ2VNaW5NYXgpKHQuYmFzZVZhbHVlTWluTWF4LGEpKSx0fXJldHVybiB0LmZpZWxkcy5wdXNoKG8pLHR9X2dldEZpcnN0VmFsRm9yUGxvdFRoYXRTdXBwb3J0RmlsbEJyZWFrcyhlLHQpe2NvbnN0IHM9dGhpcy5kYXRhKCkucGxvdHRhYmxlUmFuZ2UoKSxpPWUrMSxyPXMuc2VhcmNoKHQsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCxpKTtpZihyKXtpZihzLnNlYXJjaCh0LFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LGkpKXJldHVybiByLnZhbHVlW2ldfXJldHVybiBudWxsfV9nZXRNaW5NYXhGb3JQbG90VGhhdFN1cHBvcnRGaWxsQnJlYWtzKGUsdCxzKXtjb25zdCBpPXRoaXMuZGF0YSgpLnBsb3R0YWJsZVJhbmdlKCkscj1lKzEsbj10PT09Wi5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fHQ9PT1aLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kcyxhPWU9Pntjb25zdCB0PWkuc2VhcmNoKGUsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCxyKTtpZih0KXtjb25zdCBzPWkuc2VhcmNoKGUsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQscik7aWYocyl7Y29uc3QgZT10LnZhbHVlW3JdO2lmKG4pcmV0dXJue21pbjplLG1heDplfTt7Y29uc3QgdD1zLnZhbHVlW3JdO3JldHVybnttaW46TWF0aC5taW4oZSx0KSxtYXg6TWF0aC5tYXgoZSx0KX19fX1yZXR1cm4gbnVsbH0sbz1NYXRoLmZsb29yKHMubG9naWNTdGFydFBvaW50KSxsPU1hdGguY2VpbChzLmxvZ2ljRW5kUG9pbnQpLGg9YShvKSx1PWEobCk7cmV0dXJuKDAsZy5tZXJnZU1pbk1heCkoaCx1KX1hc3luYyBfb25Tb3VyY2VJbnB1dENoYW5nZWQoKXtpZighdGhpcy5pc1N0YXJ0ZWQoKSl7Y29uc3QgZT10aGlzLl9jYWxjU291cmNlcygpO3tjb25zdCB0PTE9PT1lLmxlbmd0aCYmZVswXSE9PXRoaXMuX3NvdXJjZXMudmFsdWUoKVswXT8xOjA7dGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhlLHQsITEpfX19X2J1aWxkSW5wdXRzKGUpeygwLGguYXNzZXJ0KSghIWUsIm9wdGlvbnMgbm90IHNldCIpO2xldCB0PXt9O3RyeXt0PXRoaXMuX3ByZXBhcmVJbnB1dHMoZSl9Y2F0Y2goZSl7U3MubG9nV2FybigiRmFpbGVkIHRvIHByZXBhcmUgc3R1ZHkgaW5wdXRzOiAiK2UpfWlmKGUuYXNPYmplY3Qpe2NvbnN0IGU9e307cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKHM9PntudWxsIT10W3NdJiYoZVtzXT10W3NdKX0pKSxlfXtjb25zdCBlPVtdO3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChzPT57bnVsbCE9dFtzXSYmZS5wdXNoKHRbc10pfSkpLGV9fV9wcmVwYXJlSW5wdXQoZSx0KXtjb25zdCBzPXRoaXMuX3ByZXBhcmVJbnB1dFZhbHVlKGUsdCk7cmV0dXJuIShlLmlzRmFrZXx8dC5mb3JjZVRyZWF0U291cmNlSW5wdXRzQXNGYWtlJiYic291cmNlIj09PWUudHlwZSl8fHQuZmFrZUlucHV0c0ZvckRpc3BsYXl8fHQub25seUF0b21WYWx1ZXM/czp0aGlzLl9jcmVhdGVFeHRlbmRlZElucHV0KHMsZS50eXBlKX1fY3JlYXRlRXh0ZW5kZWRJbnB1dChlLHQpe3JldHVybnt2OmUsZjohMCx0fX1fcGxvdHNGb3JBbGVydCgpe3JldHVybigwLFQucGxvdHNGb3JBbGVydCkodGhpcy5tZXRhSW5mbygpLHRoaXMub2Zmc2V0LmJpbmQodGhpcykpfV9mb3JtYXR0ZXJTdGF0ZUZvckFsZXJ0KCl7dHJ5e2NvbnN0IGU9dGhpcy5mb3JtYXR0ZXIoKTtyZXR1cm4gTS5Gb3JtYXR0ZXJzU2VyaWFsaXplci5pc1NlcmlhbGl6YWJsZShlKT9NLkZvcm1hdHRlcnNTZXJpYWxpemVyLnNlcmlhbGl6ZShlKTpudWxsfWNhdGNoe3JldHVybiBudWxsfX1fY2FsY0lzQWN0dWFsSW50ZXJ2YWwoKXtjb25zdCBlPXRoaXMuX2lzQWN0dWFsSW50ZXJ2YWw7dGhpcy5faXNBY3R1YWxJbnRlcnZhbD0oMCxYdC5pc0FjdHVhbEludGVydmFsKSh0aGlzLl9zZXJpZXMuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSxlIT09dGhpcy5faXNBY3R1YWxJbnRlcnZhbCYmKHRoaXMuX29uSXNBY3R1YWxJbnRlcnZhbENoYW5nZS5maXJlKCksdGhpcy5fdmlzaWJsZUNoYW5nZWQoKSx0aGlzLnByb2Nlc3NIaWJlcm5hdGUoKSl9X3Zpc2libGVDaGFuZ2VkKCl7dGhpcy5fc2VyaWVzLmludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGUoKX1fZ2V0Tm9uUHJpY2VQYXJlbnQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZXMudmFsdWUoKTtmb3IoY29uc3QgdCBvZiBlKWlmKHQgaW5zdGFuY2VvZiBVcyl7Y29uc3QgZT10Lm1ldGFJbmZvKCk7cmV0dXJuIGUuaXNfcHJpY2Vfc3R1ZHkmJiJDb21wYXJlQHR2LWJhc2ljc3R1ZGllcyIhPT1lLmlkP3QuX2dldE5vblByaWNlUGFyZW50KCk6dH1yZXR1cm4gbnVsbH1fdXBkYXRlSW5wdXRWYWx1ZShlLHQpewpjb25zdCBzPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpO2lmKHNbdC5pZF0paWYoInByaWNlIj09PXQudHlwZSlzW3QuaWRdLnNldFZhbHVlKGUucHJpY2UpO2Vsc2UgaWYoInRpbWUiPT09dC50eXBlKXtjb25zdCBpPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmluZGV4VG9UaW1lUG9pbnQoZS5pbmRleCk7bnVsbCE9PWkmJnNbdC5pZF0uc2V0VmFsdWUoMWUzKmkpfX1faW5pdGlhbGl6ZVN0dWR5SW5wdXRzUGFuZVZpZXdzKCl7Y29uc3QgZT0oMCxEZS5lZGl0YWJsZVN0dWR5SW5wdXRzKSh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cyk7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXtjb252ZXJ0UHJpY2VUb0Nvb3JkaW5hdGU6ZT0+e2NvbnN0IHQ9dGhpcy5wcmljZVNjYWxlKCk7aWYobnVsbCE9PXQmJiF0LmlzRW1wdHkoKSl7Y29uc3Qgcz10aGlzLmZpcnN0VmFsdWUoKTtpZihudWxsIT09cylyZXR1cm4gdC5wcmljZVRvQ29vcmRpbmF0ZShlLHMpfXJldHVybiBudWxsfSxmb3JtYXRQcmljZTplPT57Y29uc3QgdD10aGlzLnByaWNlU2NhbGUoKTtpZihudWxsIT09dCYmIXQuaXNFbXB0eSgpKXtjb25zdCBzPXRoaXMuZmlyc3RWYWx1ZSgpO2lmKG51bGwhPT1zKXJldHVybiB0LmZvcm1hdFByaWNlKGUscyl9cmV0dXJuIiJ9LGdldElucHV0VmFsdWU6ZT0+dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQoZSk/LnZhbHVlKCk/P251bGwsaXNTZWxlY3RlZDooKT0+dGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzKSxpc0hvdmVyZWQ6KCk9PnRoaXM9PT10aGlzLl9tb2RlbC5ob3ZlcmVkU291cmNlKCl9O1Byb21pc2UuYWxsKFtzLmUoNzMyMzQpLnRoZW4ocy5iaW5kKHMsODUyMjQ2KSkscy5lKDczMjM0KS50aGVuKHMuYmluZChzLDcyNDAwNykpLHMuZSg3MzIzNCkudGhlbihzLmJpbmQocyw1MTgwMjApKSxzLmUoNzMyMzQpLnRoZW4ocy5iaW5kKHMsNzY4OTg2KSldKS50aGVuKChzPT57Y29uc3RbaSxyLG4sYV09czt0aGlzLl9pbnB1dHNBbmNob3JzUGFuZVZpZXc9bmV3IGkuU3R1ZHlJbnB1dHNBbmNob3JzUGFuZVZpZXcoZSx0aGlzLl9tb2RlbCx0KTtjb25zdCBvPWUuZmlsdGVyKChlPT4hQXJyYXkuaXNBcnJheShlKSkpO3RoaXMuX2lucHV0c0xpbmVzUGFuZVZpZXc9bmV3IHIuU3R1ZHlJbnB1dHNMaW5lc1BhbmVWaWV3KG8sdGhpcy5fbW9kZWwsdCk7bGV0IGw9ITE7ZS5mb3JFYWNoKChlPT57aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3Qgcz0idGltZSI9PT1lWzBdLnR5cGU/ZVswXTplWzFdLGk9InByaWNlIj09PWVbMF0udHlwZT9lWzBdOmVbMV07dGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MucHVzaChuZXcgbi5TdHVkeUlucHV0VGltZUF4aXNQYW5lVmlldyhzLHRoaXMuX21vZGVsLHQuZ2V0SW5wdXRWYWx1ZSkpLHRoaXMuX2lucHV0c1ByaWNlQXhpc1BhbmVWaWV3cy5wdXNoKG5ldyBhLlN0dWR5SW5wdXRQcmljZUF4aXNQYW5lVmlldyhpLHQpKSxsPSEwfWVsc2UidGltZSI9PT1lLnR5cGU/dGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MucHVzaChuZXcgbi5TdHVkeUlucHV0VGltZUF4aXNQYW5lVmlldyhlLHRoaXMuX21vZGVsLHQuZ2V0SW5wdXRWYWx1ZSkpOih0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MucHVzaChuZXcgYS5TdHVkeUlucHV0UHJpY2VBeGlzUGFuZVZpZXcoZSx0KSksbD0hMCl9KSksbCYmdGhpcy5mb3JtYXR0ZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSl9KSl9X3VwZGF0ZUN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpe31faW5pdGlhbGl6ZUN1cnJlbmN5U291cmNlKCl7Y29uc3QgZT10aGlzLm1ldGFJbmZvKCksdD0ic3ltYm9sSW5wdXRTeW1ib2xTb3VyY2UiPT09ZS5zeW1ib2xTb3VyY2U/LnR5cGUmJmUuc3ltYm9sU291cmNlPy5pbnB1dElkLHM9ZS5pbnB1dHMuZmluZCgoZT0+ZS5pZD09PXQpKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJiJzeW1ib2wiPT09cz8udHlwZSYmZS5pc19wcmljZV9zdHVkeSl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKVt0XTt2b2lkIDAhPT1lJiYoZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkN1cnJlbmN5TWF5Q2hhbmdlKSx0aGlzLl9jdXJyZW5jeVNvdXJjZVN5bWJvbElucHV0UHJvcGVydHk9ZSl9fV9yZWNyZWF0ZVBhbmVWaWV3cygpe3RoaXMuaGFzQmFyQ29sb3JlcigpJiZ0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCksdGhpcy5fY3JlYXRlVmlld3MoKSx0aGlzLnJlY2FsY3VsYXRlKCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKX1hc3luYyBfcGluZVBhdGNoUHJvcHMoKXt0aGlzLl9kZWZlcnJlZFBpbmVQYXRjaFByb3BzPSExO2NvbnN0IGU9dGhpcy5fcHJlcGFyZUlucHV0cyhWcyk7dGhpcy5fYXJlU3R1ZHlJbnB1dHNNb2RpZmllZChlKSYmKHRoaXMuX2Fib3J0UGF0Y2hQcm9wc0NvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLl9wcm9wZXJ0aWVzUGF0Y2hlZD1uZXcgUHJvbWlzZSgoYXN5bmMgdD0+e3RyeXthd2FpdCB0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkfWNhdGNoKGUpe3JldHVybiB2b2lkIFNzLmxvZ0Vycm9yKGBFUlJPUjogJHt0aGlzLl9kZWJ1Z0lkKCl9IHBpbmUgaW5wdXRzIHBhdGNoaW5nIGFmdGVyIHJlc2V0IHRvIGRlZmF1bHRzIGZhaWxlZCwgcmVhc29uOiAke2V9YCl9dGhpcy5fYWJvcnRQYXRjaFByb3BzQ29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyLHRoaXMuX29sZFN0dWR5SW5wdXRzPWU7Y29uc3Qgcz1uZXcgdi5TdHVkeU1ldGFJbmZvKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSksaT0oMCxGLnBhdGNoUHJvcGVydGllc0FzeW5jKSh0aGlzLl9wcm9wZXJ0aWVzLHMsZSx0aGlzLl9hYm9ydFBhdGNoUHJvcHNDb250cm9sbGVyLnNpZ25hbCx0aGlzLl9wcmV2aW91c1BhdGNoTWFwKSxyPXRoaXMuX2FsbFN5bWJvbHNBcmVSZXNvbHZlZCgpCjthd2FpdCBQcm9taXNlLmFsbChbaSxyXSkudGhlbigoKCk9Pnt0aGlzLl9tZXRhSW5mby5zZXRWYWx1ZShzKSx0aGlzLl9pc0Rlc3Ryb3llZHx8KHQoKSx0aGlzLl9jcmVhdGVWaWV3cygpLHRoaXMucmVjYWxjdWxhdGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoKSl9KSkuY2F0Y2goKGU9Pnt0KCksU3MubG9nRXJyb3IoYEVSUk9SOiAke3RoaXMuX2RlYnVnSWQoKX0gcGluZSBpbnB1dHMgcGF0Y2hpbmcgZmFpbGVkLCByZWFzb246ICR7ZX1gKX0pKX0pKSl9X2FyZVN0dWR5SW5wdXRzTW9kaWZpZWQoZSl7aWYoMD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aClyZXR1cm4hMTtpZih2b2lkIDA9PT10aGlzLl9vbGRTdHVkeUlucHV0cylyZXR1cm4hMDtjb25zdCB0PU9iamVjdC5rZXlzKHRoaXMuX29sZFN0dWR5SW5wdXRzKTsoMCxoLmFzc2VydCkodC5sZW5ndGg9PT1PYmplY3Qua2V5cyhlKS5sZW5ndGgsImtleXMgcXVhbnRpdHkgc2hvdWxkIGJlIGVxdWFsIik7Zm9yKGNvbnN0IHMgb2YgdClpZigoMCxoLmFzc2VydCkoZS5oYXNPd25Qcm9wZXJ0eShzKSxga2V5ICcke3N9JyBzaG91bGQgZXhpc3QgaW4gc3R1ZHkgaW5wdXRzYCksKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9vbGRTdHVkeUlucHV0cylbc10hPT1lW3NdKXJldHVybiEwO3JldHVybiExfV9vblZpc2libGVUaW1lUmFuZ2VJbnB1dHNDaGFuZ2VkKGUpe251bGwhPT1lP3RoaXMuX3VwZGF0ZVZpc2libGVUaW1lUmFuZ2VJbnB1dHMoZSk6dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLnN0b3AoITApfV91cGRhdGVWaXNpYmxlVGltZVJhbmdlSW5wdXRzKGUsdD0hMCl7Y29uc3Qgcz17Zmlyc3RfdmlzaWJsZV9iYXJfdGltZTplLmZpcnN0VmlzaWJsZUJhclRpbWUsbGFzdF92aXNpYmxlX2Jhcl90aW1lOmUubGFzdFZpc2libGVCYXJUaW1lLHN1YnNjcmliZVJlYWx0aW1lOmUuc3Vic2NyaWJlUmVhbHRpbWV9LGk9dGhpcy5tZXRhSW5mbygpLmlucHV0cyxyPVtdO2Zvcihjb25zdCBlIG9mIGkpcy5oYXNPd25Qcm9wZXJ0eShlLmlkKSYmci5wdXNoKGUuaWQpO2NvbnN0IG49dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzO2Zvcihjb25zdCBlIG9mIHIpbi5jaGlsZHMoKVtlXS5zZXRWYWx1ZVNpbGVudGx5KHNbZV0pO3QmJnIubGVuZ3RoPjAmJm4uZmlyZUNoYW5nZWQoKX1fZ2V0U3R1ZHlFcnJvclRleHQoZSl7c3dpdGNoKGUubWF0Y2goL15zdHVkeV9ub3RfYXV0aDooLiopP0AuKi8pPy5bMV0pe2Nhc2UiU2NyaXB0IjpjYXNlIlN0cmF0ZWd5U2NyaXB0IjpyZXR1cm4iVGhpcyBzY3JpcHQgaXMgaW52aXRlLW9ubHkuIFRvIHJlcXVlc3QgYWNjZXNzLCBwbGVhc2UgY29udGFjdCBpdHMgYXV0aG9yLiI7Y2FzZSJWYlBTZXNzaW9ucyI6Y2FzZSJWYlBQZXJpb2RpYyI6Y2FzZSJWYlBWaXNpYmxlIjpyZXR1cm4iVm9sdW1lIFByb2ZpbGUgaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucy4ifXJldHVybiBlLnNwbGl0KCI6IiwyKVswXX1fcHJpY2VTY2FsZUJ5UHJvcGVydGllcygpe2lmKCJkZWZhdWx0Ij09PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnByZWNpc2lvbi52YWx1ZSgpKXJldHVybiBudWxsO2NvbnN0IGU9cGFyc2VJbnQodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlY2lzaW9uLnZhbHVlKCkpO3JldHVybiBpc0Zpbml0ZShlKT9NYXRoLnBvdygxMCxlKTpudWxsfV9wcmljZVNjYWxlQnlNZXRhSW5mbygpe2NvbnN0IGU9dGhpcy5tZXRhSW5mbygpLmZvcm1hdCx0PSJpbmhlcml0IiE9PWUudHlwZT9lLnByZWNpc2lvbjp2b2lkIDAscz0oMCx1LmlzTnVtYmVyKSh0KT9NYXRoLnBvdygxMCx0KTp2b2lkIDA7aWYoInByaWNlIj09PWUudHlwZXx8InBlcmNlbnQiPT09ZS50eXBlKXJldHVybiBzfHwxMDA7aWYoInZvbHVtZSI9PT1lLnR5cGUpe2lmKHZvaWQgMD09PWUucHJlY2lzaW9uKXtjb25zdCBlPXRoaXMuc2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKG51bGwhPT1lJiYoMCx1LmlzTnVtYmVyKShlLnZvbHVtZV9wcmVjaXNpb24pKXJldHVybiBNYXRoLnBvdygxMCxlLnZvbHVtZV9wcmVjaXNpb24pfXJldHVybiAxfXJldHVybiJpbmhlcml0Ij09PWUudHlwZXx8U3MubG9nV2FybigiVW5zdXBwb3J0ZWQgZm9ybWF0IHR5cGU6ICIrZS50eXBlKSxudWxsfV9pbnB1dFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5tZXRhSW5mbygpLmlucHV0cy5maWx0ZXIoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSkubWFwKChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkKGUuaWQpKS52YWx1ZSgpKSl9X3N0dWR5U3BlYyhlKXtjb25zdCB0PXRoaXMuX21ldGFJbmZvLnZhbHVlKCk7cmV0dXJue2lkOnQuaWQsY2hpbGQ6ZT8/dGhpcy5pc0NoaWxkU3R1ZHkoKSxmdW5kYW1lbnRhbDooMCx3ZS5pc0Z1bmRhbWVudGFsU3R1ZHlNZXRhSW5mbykodCksZm9yZWNhc3Q6KDAsd2UuaXNGb3JlY2FzdFN0dWR5TWV0YUluZm8pKHQpLHN0dWJUaXRsZTp0LmRlc2NyaXB0aW9ufHx0LnNob3J0RGVzY3JpcHRpb259fV9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpe3RoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCl9X3NldFNvdXJjZXMoZSl7dGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpLHRoaXMuX3NvdXJjZXMuc2V0VmFsdWUoZSksdGhpcy5fb25QYXJlbnRTb3VyY2VzQ2hhbmdlcy5maXJlKCl9YXN5bmMgX2F3YWl0Rm9yTWV0YUluZm8oKXtjb25zdCBlPXtyZXNvbHZlcjooKT0+e319LHQ9KCk9PmUucmVzb2x2ZXIoKTt0cnl7YXdhaXQgUHJvbWlzZS5yYWNlKFtuZXcgUHJvbWlzZSgoKGUsdCk9PntzZXRUaW1lb3V0KCgoKT0+dChuZXcgRXJyb3IoIlRpbWVvdXQiKSkpLDNlMyl9KSksbmV3IFByb21pc2UoKHM9PntlLnJlc29sdmVyPXMsdGhpcy5tZXRhSW5mb1dWKCkuc3Vic2NyaWJlKHQpfSkpXSl9Y2F0Y2goZSl7dGhyb3cgZX1maW5hbGx5ewp0aGlzLm1ldGFJbmZvV1YoKS51bnN1YnNjcmliZSh0KX19fX0sMzcwNjIyKGUsdCxzKXtzLmQodCx7cGxvdFNoYXBlc0RhdGE6KCk9PnJ9KTt2YXIgaT1zKDE4NTI3MSk7Y29uc3Qgcj17c2hhcGVfYXJyb3dfZG93bjp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscyg3MDQ0NTgpKSxpZDoic2hhcGVfYXJyb3dfZG93biIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckFycm93RG93biIscGluZU5hbWU6InNoYXBlLmFycm93ZG93biIsaWNvbjoiYXJyb3dfZG93biJ9LHNoYXBlX2Fycm93X3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDYyMDYxKSksaWQ6InNoYXBlX2Fycm93X3VwIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyQXJyb3dVcCIscGluZU5hbWU6InNoYXBlLmFycm93dXAiLGljb246ImFycm93X3VwIn0sc2hhcGVfY2lyY2xlOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDc5NDQwOCkpLGlkOiJzaGFwZV9jaXJjbGUiLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJDaXJjbGVTaGFwZSIscGluZU5hbWU6InNoYXBlLmNpcmNsZSIsaWNvbjoiY2lyY2xlIn0sc2hhcGVfY3Jvc3M6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoNDg4MTgwKSksaWQ6InNoYXBlX2Nyb3NzIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyQ3Jvc3NTaGFwZSIscGluZU5hbWU6InNoYXBlLmNyb3NzIixpY29uOiJjcm9zcyJ9LHNoYXBlX2RpYW1vbmQ6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoMjgxMjQ4KSksaWQ6InNoYXBlX2RpYW1vbmQiLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJEaWFtb25kIixwaW5lTmFtZToic2hhcGUuZGlhbW9uZCIsaWNvbjoiZGlhbW9uZCJ9LHNoYXBlX2ZsYWc6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoOTcxNTI3KSksaWQ6InNoYXBlX2ZsYWciLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJGbGFnU2hhcGUiLHBpbmVOYW1lOiJzaGFwZS5mbGFnIixpY29uOiJmbGFnIn0sc2hhcGVfbGFiZWxfZG93bjp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscygyNjI0NTgpKSxpZDoic2hhcGVfbGFiZWxfZG93biIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckxhYmVsRG93biIscGluZU5hbWU6InNoYXBlLmxhYmVsZG93biIsaWNvbjoibGFiZWxfZG93biJ9LHNoYXBlX2xhYmVsX3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDQ2NDE1NykpLGlkOiJzaGFwZV9sYWJlbF91cCIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckxhYmVsVXAiLHBpbmVOYW1lOiJzaGFwZS5sYWJlbHVwIixpY29uOiJsYWJlbF91cCJ9LHNoYXBlX3NxdWFyZTp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscyg5MTYyMTUpKSxpZDoic2hhcGVfc3F1YXJlIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyU3F1YXJlIixwaW5lTmFtZToic2hhcGUuc3F1YXJlIixpY29uOiJzcXVhcmUifSxzaGFwZV90cmlhbmdsZV9kb3duOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDQ3MTc0NSkpLGlkOiJzaGFwZV90cmlhbmdsZV9kb3duIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93biIscGluZU5hbWU6InNoYXBlLnRyaWFuZ2xlZG93biIsaWNvbjoidHJpYW5nbGVfZG93biJ9LHNoYXBlX3RyaWFuZ2xlX3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDM5OTY4OCkpLGlkOiJzaGFwZV90cmlhbmdsZV91cCIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlclRyaWFuZ2xlQXBleFVwIixwaW5lTmFtZToic2hhcGUudHJpYW5nbGV1cCIsaWNvbjoidHJpYW5nbGVfdXAifSxzaGFwZV94Y3Jvc3M6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoODEwMjIyKSksaWQ6InNoYXBlX3hjcm9zcyIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlclhDcm9zcyIscGluZU5hbWU6InNoYXBlLnhjcm9zcyIsaWNvbjoieF9jcm9zcyJ9fX0sOTIwNDc1KGUsdCxzKXtzLmQodCx7ZGVmYXVsdDooKT0+bH0pO2NvbnN0IGk9ZT0+ZSBpbnN0YW5jZW9mIERhdGUscj1lPT5udWxsIT1lJiYib2JqZWN0Ij09dHlwZW9mIGUsbj0oZSwuLi50KT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsLi4udCksYT1lPT5yKGUpJiYoZT0+MD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aCkoZSksbz0oZSx0KT0+e2lmKGU9PT10KXJldHVybnt9O2lmKCFyKGUpfHwhcih0KSlyZXR1cm4gdDtjb25zdCBzPU9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKGUscyk9PihuKHQscyl8fChlW3NdPXZvaWQgMCksZSkpLE9iamVjdC5jcmVhdGUobnVsbCkpO3JldHVybiBpKGUpfHxpKHQpP2UudmFsdWVPZigpPT10LnZhbHVlT2YoKT97fTp0Ok9iamVjdC5rZXlzKHQpLnJlZHVjZSgoKHMscik9PntpZighbihlLHIpKXJldHVybiBzW3JdPXRbcl0scztjb25zdCBsPW8oZVtyXSx0W3JdKTtyZXR1cm4hYShsKXx8aShsKXx8IWEoZVtyXSkmJmEodFtyXSk/KHNbcl09bCxzKTpzfSkscyl9LGw9b319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63402.d30c1e003b054930d32c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.900Z","timestamp":1785136901900,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/63402.d30c1e003b054930d32c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-b3cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9eab8973051521549bd7249edeeba022\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":46028,"size_decoded":16655,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3927)","md5":"51f86891ee79dc28bdaa34f0c6cacb5f","sha1":"8e8c8d6a85f6ac78978e96ad933ef6300d1aef2b","sha256":"015f7b5bad17c7eaeb457105542f879215cd8f29f0a18185e5ab0d330b4db3aa","sha512":"29dec03ba8451463072b5661f375a9c6661cda7bd01c2929bffada338f4987ecb31d0526f7436b86b16de82236ebcdb159d3b2bf504006cf924283c2bb53ae83","ssdeep":"768:0ZUKYt1k9LsYxxHyqE58nvYoZUNIB8BSOfhOSEuE0fykah+kl7Y8HgJD/xpnwv/a:+5qUZEekx8oVS3rPlc9wfgxI+DcwDtgw","tlshash":"58232a297190b47ca2e7419ec02e480ce36a2488e8659cb5f9fcecdd33d598d31655fe","first_seen":"2026-07-23T14:00:31.469602Z","last_seen":"2026-07-28T04:48:50.535095Z","times_seen":59,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2MzQwMl0sezg1NDQ1KGUpe2UuZXhwb3J0cz17cGlsbHM6InBpbGxzLUllUXdQamNaIixwcmltYXJ5OiJwcmltYXJ5LUllUXdQamNaIixncmF5OiJncmF5LUllUXdQamNaIixzZWxlY3RlZDoic2VsZWN0ZWQtSWVRd1BqY1oiLGdyb3VwZWQ6Imdyb3VwZWQtSWVRd1BqY1oiLGFjdGl2ZToiYWN0aXZlLUllUXdQamNaIixkaXNhYmxlQWN0aXZlT25Ub3VjaDoiZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaIix3aXRoR3JvdXBlZDoid2l0aEdyb3VwZWQtSWVRd1BqY1oiLCJxdWlldC1wcmltYXJ5IjoicXVpZXQtcHJpbWFyeS1JZVF3UGpjWiIsZ3JlZW46ImdyZWVuLUllUXdQamNaIixyZWQ6InJlZC1JZVF3UGpjWiIsYmx1ZToiYmx1ZS1JZVF3UGpjWiIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktSWVRd1BqY1oiLGdob3N0OiJnaG9zdC1JZVF3UGpjWiJ9fSwzNjQ4MTUoZSl7ZS5leHBvcnRzPXtsaWdodEJ1dHRvbjoibGlnaHRCdXR0b24ta2pSZlRsZngiLGxpbms6Imxpbmsta2pSZlRsZngiLGx0cjoibHRyLWtqUmZUbGZ4IixydGw6InJ0bC1ralJmVGxmeCIsInR5cG9ncmFwaHktcmVndWxhcjE2cHgiOiJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1tZWRpdW0xNnB4IjoidHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTRweCI6InR5cG9ncmFwaHktcmVndWxhcjE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTRweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgiOiJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweC1ralJmVGxmeCIsY29udGVudDoiY29udGVudC1ralJmVGxmeCIsdmlzdWFsbHlIaWRkZW46InZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4Iixub3dyYXA6Im5vd3JhcC1ralJmVGxmeCIsZWxsaXBzaXNDb250YWluZXI6ImVsbGlwc2lzQ29udGFpbmVyLWtqUmZUbGZ4Iix0ZXh0V3JhcENvbnRhaW5lcjoidGV4dFdyYXBDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwV2l0aEVsbGlwc2lzOiJ0ZXh0V3JhcFdpdGhFbGxpcHNpcy1ralJmVGxmeCIsc2xvdDoic2xvdC1ralJmVGxmeCIsY2FyZXQ6ImNhcmV0LWtqUmZUbGZ4IixhY3RpdmVDYXJldDoiYWN0aXZlQ2FyZXQta2pSZlRsZngiLHhzbWFsbDoieHNtYWxsLWtqUmZUbGZ4Iix3aXRoU3RhcnRTbG90OiJ3aXRoU3RhcnRTbG90LWtqUmZUbGZ4Iix3aXRoRW5kU2xvdDoid2l0aEVuZFNsb3Qta2pSZlRsZngiLG5vQ29udGVudDoibm9Db250ZW50LWtqUmZUbGZ4Iix3cmFwOiJ3cmFwLWtqUmZUbGZ4IixzbWFsbDoic21hbGwta2pSZlRsZngiLG1lZGl1bToibWVkaXVtLWtqUmZUbGZ4In19LDgzMjUxOChlKXtlLmV4cG9ydHM9eyJjaGVja2JveC1zaXplIjoiMThweCIsYm94OiJib3gtWGZHa0JCcWYiLHVuY2hlY2tlZDoidW5jaGVja2VkLVhmR2tCQnFmIixjaGVja2VkOiJjaGVja2VkLVhmR2tCQnFmIixtaXhlZDoibWl4ZWQtWGZHa0JCcWYiLGRpc2FibGVkOiJkaXNhYmxlZC1YZkdrQkJxZiIsY2hlY2tlZE1hcms6ImNoZWNrZWRNYXJrLVhmR2tCQnFmIixtaXhlZE1hcms6Im1peGVkTWFyay1YZkdrQkJxZiJ9fSw4NjAwMjUoZSl7ZS5leHBvcnRzPXtwYWlyOiJwYWlyLXh3R3NTWFIwIix4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjM6Inh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMCIseHh4eHNtYWxsOiJ4eHh4c21hbGwteHdHc1NYUjAiLHh4eHNtYWxsOiJ4eHhzbWFsbC14d0dzU1hSMCIseHhzbWFsbDoieHhzbWFsbC14d0dzU1hSMCIseHNtYWxsOiJ4c21hbGwteHdHc1NYUjAiLHNtYWxsOiJzbWFsbC14d0dzU1hSMCIsbWVkaXVtOiJtZWRpdW0teHdHc1NYUjAiLGxhcmdlOiJsYXJnZS14d0dzU1hSMCIseGxhcmdlOiJ4bGFyZ2UteHdHc1NYUjAiLHh4bGFyZ2U6Inh4bGFyZ2UteHdHc1NYUjAiLHh4eGxhcmdlOiJ4eHhsYXJnZS14d0dzU1hSMCIsbG9nbzoibG9nby14d0dzU1hSMCIsc2tlbGV0b246InNrZWxldG9uLXh3R3NTWFIwIixlbXB0eToiZW1wdHkteHdHc1NYUjAifX0sNDI5MzUzKGUpe2UuZXhwb3J0cz17ZGlzYWJsZVNlbGZQb3NpdGlvbmluZzoiZGlzYWJsZVNlbGZQb3NpdGlvbmluZy1MclpwNFJPQyJ9fSw1OTE3MjgoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1haTkzREpWdyIsdmlzaWJsZToidmlzaWJsZS1haTkzREpWdyIsZm9yY2VWaXNpYmxlOiJmb3JjZVZpc2libGUtYWk5M0RKVncifX0sNzUxODYzKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1HaERqWHpCeCIsaW5wdXQ6ImlucHV0LUdoRGpYekJ4Iixib3g6ImJveC1HaERqWHpCeCIsaG92ZXJEb3Q6ImhvdmVyRG90LUdoRGpYekJ4IixyZWQ6InJlZC1HaERqWHpCeCIsYmx1ZToiYmx1ZS1HaERqWHpCeCIsZ3JlZW46ImdyZWVuLUdoRGpYekJ4IixvcmFuZ2U6Im9yYW5nZS1HaERqWHpCeCIscHVycGxlOiJwdXJwbGUtR2hEalh6QngiLGN5YW46ImN5YW4tR2hEalh6QngiLHBpbms6InBpbmstR2hEalh6QngiLGxhcmdlOiJsYXJnZS1HaERqWHpCeCIscGlja2VyRG90OiJwaWNrZXJEb3QtR2hEalh6QngifX0sNTU4ODczKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci15Zk5iZ3RnTiIsYnV0dG9uczoiYnV0dG9ucy15Zk5iZ3RnTiIsY29sb3JTZWxlY3RCdXR0b246ImNvbG9yU2VsZWN0QnV0dG9uLXlmTmJndGdOIn19LDU1ODk3MihlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItVm5lUVZvTnYiLHNlbGVjdG9yOiJzZWxlY3Rvci1WbmVRVm9OdiIsYXJyb3dMZWZ0OiJhcnJvd0xlZnQtVm5lUVZvTnYiLGNvbG9yU2VsZWN0QnV0dG9uOiJjb2xvclNlbGVjdEJ1dHRvbi1WbmVRVm9OdiIscG9wdXA6InBvcHVwLVZuZVFWb052In19LDkxNjI2KGUpe2UuZXhwb3J0cz17aXRlbToiaXRlbS12VG04TzBMTSIsCmludGVyYWN0aXZlOiJpbnRlcmFjdGl2ZS12VG04TzBMTSIsaG92ZXJlZDoiaG92ZXJlZC12VG04TzBMTSIsZGlzYWJsZWQ6ImRpc2FibGVkLXZUbThPMExNIixhY3RpdmU6ImFjdGl2ZS12VG04TzBMTSIsc2hvcnRjdXQ6InNob3J0Y3V0LXZUbThPMExNIixub3JtYWw6Im5vcm1hbC12VG04TzBMTSIsYmlnOiJiaWctdlRtOE8wTE0iLGljb25DZWxsOiJpY29uQ2VsbC12VG04TzBMTSIsaWNvbjoiaWNvbi12VG04TzBMTSIsY29udGVudDoiY29udGVudC12VG04TzBMTSIsbGFiZWw6ImxhYmVsLXZUbThPMExNIixjaGVja2VkOiJjaGVja2VkLXZUbThPMExNIix0b29sYm94OiJ0b29sYm94LXZUbThPMExNIixzaG93VG9vbGJveE9uSG92ZXI6InNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTSIsYXJyb3dJY29uOiJhcnJvd0ljb24tdlRtOE8wTE0iLHN1Yk1lbnU6InN1Yk1lbnUtdlRtOE8wTE0iLGludmlzaWJsZUhvdGtleToiaW52aXNpYmxlSG90a2V5LXZUbThPMExNIn19LDEwNzk2NihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tZDlqTE9MclIiLGVtcHR5SWNvbnM6ImVtcHR5SWNvbnMtZDlqTE9MclIiLGxvYWRpbmc6ImxvYWRpbmctZDlqTE9MclIiLGRpc2FibGVkOiJkaXNhYmxlZC1kOWpMT0xyUiIsaW50ZXJhY3RpdmU6ImludGVyYWN0aXZlLWQ5akxPTHJSIixob3ZlcmVkOiJob3ZlcmVkLWQ5akxPTHJSIixub3JtYWw6Im5vcm1hbC1kOWpMT0xyUiIsYmlnOiJiaWctZDlqTE9MclIiLGljb246Imljb24tZDlqTE9MclIiLGxhYmVsOiJsYWJlbC1kOWpMT0xyUiIsdGl0bGU6InRpdGxlLWQ5akxPTHJSIixuZXN0ZWQ6Im5lc3RlZC1kOWpMT0xyUiIsc2hvcnRjdXQ6InNob3J0Y3V0LWQ5akxPTHJSIixyZW1vdmU6InJlbW92ZS1kOWpMT0xyUiJ9fSw5NTQ0NzgoZSl7ZS5leHBvcnRzPXtzZXBhcmF0b3I6InNlcGFyYXRvci1LSHR5TVRZRyJ9fSwxNzcxMTYoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1NMW16NHF1QSIscGFpckNvbnRhaW5lcjoicGFpckNvbnRhaW5lci1NMW16NHF1QSIsbG9nbzoibG9nby1NMW16NHF1QSIsaGlkZGVuOiJoaWRkZW4tTTFtejRxdUEifX0sNDYwMzcwKGUpe2UuZXhwb3J0cz17c2Nyb2xsV3JhcDoic2Nyb2xsV3JhcC1GYU92VEQyciIsc2Nyb2xsV3JhcF92aXNpYmxlOiJzY3JvbGxXcmFwX3Zpc2libGUtRmFPdlREMnIifX0sNjQ2MTYyKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC12U2I2QzBCaiIsIndyYXAtLWhvcml6b250YWwiOiJ3cmFwLS1ob3Jpem9udGFsLXZTYjZDMEJqIixiYXI6ImJhci12U2I2QzBCaiIsYmFySW5uZXI6ImJhcklubmVyLXZTYjZDMEJqIiwiYmFySW5uZXItLWhvcml6b250YWwiOiJiYXJJbm5lci0taG9yaXpvbnRhbC12U2I2QzBCaiIsImJhci0taG9yaXpvbnRhbCI6ImJhci0taG9yaXpvbnRhbC12U2I2QzBCaiJ9fSw4MTAyODEoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLVdCMnkwRW5QIixkcm9wcGVkOiJkcm9wcGVkLVdCMnkwRW5QIn19LDg2NTU2MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtUVkFwcENvbnRleHQ6KCk9PmMsVFZBcHBDb250ZXh0UHJvdmlkZXI6KCk9Pml9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDExNTI5Mykscz1vKDk5OTUxKSxhPW8oMTE3MzEzKTtjb25zdCBsPXtpT3M6Im9sZCIsYW5kcm9pZDoibmV3IixvbGQ6Im9sZCIsbmV3OiJuZXciLGFueToiYW55In07ZnVuY3Rpb24gaShlKXtjb25zdFt0XT0oMCxuLnVzZVN0YXRlKSh7aXNPbk1vYmlsZUFwcFBhZ2U6ZT0+KDAsYS5pc09uTW9iaWxlQXBwUGFnZSkobFtlXSksaXNSdGw6KDAsci5pc1J0bCkoKSxsb2NhbGU6d2luZG93LmxvY2FsZSxyZW5kZXJNb2RlOmUucmVuZGVyTW9kZT8/ImxlZ2FjeSJ9KTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHMuQXBwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dH0sZS5jaGlsZHJlbil9Y29uc3QgYz1zLkFwcENvbnRleHR9LDU3MTMwMChlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7Y3JlYXRlUmVhY3RSb290OigpPT5sfSk7dmFyIG49byg3Nzk0NzQpLHI9bygxMjkzNjUpLHM9bygzMzYzMzQpLGE9byg4NjU1NjApO2Z1bmN0aW9uIGwoZSx0LG89ImxlZ2FjeSIpe2NvbnN0IGw9bi5jcmVhdGVFbGVtZW50KGEuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sZSk7aWYoIm1vZGVybiI9PT1vKXtjb25zdCBlPSgwLHMuY3JlYXRlUm9vdCkodCk7cmV0dXJuIGUucmVuZGVyKGwpLHtyZW5kZXIodCl7ZS5yZW5kZXIobi5jcmVhdGVFbGVtZW50KGEuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sdCkpfSx1bm1vdW50KCl7ZS51bm1vdW50KCl9fX1yZXR1cm4gci5yZW5kZXIobCx0KSx7cmVuZGVyKGUpe3IucmVuZGVyKG4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm99LGUpLHQpfSx1bm1vdW50KCl7ci51bm1vdW50Q29tcG9uZW50QXROb2RlKHQpfX19fSwxMDc1ODUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7cmV0dXJuIHR8fG51bGw9PWV8fCgic3RyaW5nIj09dHlwZW9mIGV8fEFycmF5LmlzQXJyYXkoZSkpJiYwPT09ZS5sZW5ndGh9by5kKHQse2lzSWNvbk9ubHk6KCk9Pm59KX0sMjIwNzY0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0J1dHRvbkdyb3VwQ29udGV4dDooKT0+bn0pO2NvbnN0IG49byg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe2lzSW5CdXR0b25Hcm91cDohMSxpc0dyb3VwUHJpbWFyeTohMX0pfSwzMjgyMTkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlTGlnaHRCdXR0b25DbGFzc2VzOigpPT51fSk7dmFyIG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9bygzMDk5MjApLGw9bygxMDc1ODUpLGk9byg1MzIwMTEpLGM9bygyMjA3NjQpO2NvbnN0IHU9KGUsdCxvKT0+e2NvbnN0IHI9KDAsCm4udXNlQ29udGV4dCkoYS5DdXN0b21CZWhhdmlvdXJDb250ZXh0KSx7Y2xhc3NOYW1lOnUsaXNTZWxlY3RlZDptLGNoaWxkcmVuOmQsc2hvd0NhcmV0OnAsZm9yY2VEaXJlY3Rpb246aCxpY29uT25seTpnLGNvbG9yOnY9ImdyYXkiLHZhcmlhbnQ6Xz0icHJpbWFyeSIsc2l6ZTpmPSJtZWRpdW0iLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOmI9ci5lbmFibGVBY3RpdmVTdGF0ZVN0eWxlcyx0eXBvZ3JhcGh5OkMsaXNMaW5rOng9ITEsdGV4dFdyYXA6eSxpc1BpbGxzOlMsaXNBY3RpdmU6dyxzdGFydFNsb3Q6ayxlbmRTbG90OkV9PXQsTD1lW2B0eXBvZ3JhcGh5LSR7KChlLHQsbyk9PntpZihvKXtjb25zdCBlPW8ucmVwbGFjZSgvXlxEKy9nLCIiKTtyZXR1cm4gdD9gc2VtaWJvbGQke2V9YDpvfXN3aXRjaChlKXtjYXNlInhzbWFsbCI6cmV0dXJuIHQ/InNlbWlib2xkMTRweCI6InJlZ3VsYXIxNHB4IjtjYXNlInNtYWxsIjpjYXNlIm1lZGl1bSI6cmV0dXJuIHQ/InNlbWlib2xkMTZweCI6InJlZ3VsYXIxNnB4IjtkZWZhdWx0OnJldHVybiIifX0pKGYsbXx8UyxDfHx2b2lkIDApfWBdLE49KDAsbi51c2VDb250ZXh0KShpLkNvbnRyb2xHcm91cENvbnRleHQpLHtpc0luQnV0dG9uR3JvdXA6TSxpc0dyb3VwUHJpbWFyeTpUfT0oMCxuLnVzZUNvbnRleHQpKGMuQnV0dG9uR3JvdXBDb250ZXh0KTtyZXR1cm4gcygpKHUsZS5saWdodEJ1dHRvbix4JiZlLmxpbmssdyYmZS5hY3RpdmUsbSYmZS5zZWxlY3RlZCwoMCxsLmlzSWNvbk9ubHkpKGQsZykmJmUubm9Db250ZW50LCEhayYmZS53aXRoU3RhcnRTbG90LChwfHwhIUUpJiZlLndpdGhFbmRTbG90LG8mJmUud2l0aEdyb3VwZWQsaCYmZVtoXSxlW1Q/InByaW1hcnkiOl9dLGVbVD8iZ3JheSI6dl0sZVtmXSxMLCFiJiZlLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcyxOLmlzR3JvdXBlZCYmZS5ncm91cGVkLHkmJmUud3JhcCxNJiZlLmRpc2FibGVBY3RpdmVPblRvdWNoLFMmJmUucGlsbHMpfX0sODMwMTIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TGlnaHRCdXR0b25Db250ZW50OigpPT5wfSk7dmFyIG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9byg3NzAxNDMpLGw9bygxMDc1ODUpLGk9bygyNzMzMTApLGM9byg5MzUxKSx1PW8ubihjKSxtPW8oMzY0ODE1KSxkPW8ubihtKTtmdW5jdGlvbiBwKGUpe2NvbnN0e3Nob3dDYXJldDp0LGljb25Pbmx5Om8sZWxsaXBzaXM6cj0hMCx0ZXh0V3JhcDpjLHRvb2x0aXBUZXh0Om0sY2hpbGRyZW46cCxlbmRTbG90Omgsc3RhcnRTbG90OmcsaXNBY3RpdmVDYXJldDp2fT1lO1toLHRdLmZpbHRlcigoZT0+ISFlKSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChuLkZyYWdtZW50LG51bGwsZyYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShkKCkuc2xvdCxkKCkuc3RhcnRTbG90KX0sZyksISgwLGwuaXNJY29uT25seSkocCxvKSYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShkKCkuY29udGVudCwhYyYmZCgpLm5vd3JhcCwiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWNoZWNrLWNoaWxkcmVuLXJlY3Vyc2l2ZWx5IiwiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tYWxsb3ctdGV4dCIpLCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCI6bT8/KDAsYS5nZXRUZXh0Rm9yVG9vbHRpcCkocCl9LGN8fHI/bi5jcmVhdGVFbGVtZW50KG4uRnJhZ21lbnQsbnVsbCxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKCFjJiZyJiZkKCkuZWxsaXBzaXNDb250YWluZXIsYyYmZCgpLnRleHRXcmFwQ29udGFpbmVyLGMmJnImJmQoKS50ZXh0V3JhcFdpdGhFbGxpcHNpcyl9LHApLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpkKCkudmlzdWFsbHlIaWRkZW4sImFyaWEtaGlkZGVuIjohMH0scCkpOm4uY3JlYXRlRWxlbWVudChuLkZyYWdtZW50LG51bGwscCxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ZCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LHApKSksaCYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShkKCkuc2xvdCxkKCkuZW5kU2xvdCl9LGgpLHQmJihlPT5uLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtjbGFzc05hbWU6cygpKGQoKS5jYXJldCxlJiZkKCkuYWN0aXZlQ2FyZXQpLGljb246dSgpfSkpKHYpKX19LDg1NDgyMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtMaWdodEJ1dHRvbjooKT0+ZH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oNTMyMDExKSxzPW8oMzI4MjE5KSxhPW8oODMwMTIpLGw9bygzNDUxMTYpLGk9bygzNjQ4MTUpLGM9by5uKGkpLHU9byg4NTQ0NSksbT1vLm4odSk7ZnVuY3Rpb24gZChlKXtjb25zdHtpc0dyb3VwZWQ6dH09bi51c2VDb250ZXh0KHIuQ29udHJvbEdyb3VwQ29udGV4dCkse3JlZmVyZW5jZTpvLGNsYXNzTmFtZTppLGlzU2VsZWN0ZWQ6dSxjaGlsZHJlbjpkLGljb25Pbmx5OnAsZWxsaXBzaXM6aCxzaG93Q2FyZXQ6Zyxmb3JjZURpcmVjdGlvbjp2LGVuZFNsb3Q6XyxzdGFydFNsb3Q6Zixjb2xvcjpiLHZhcmlhbnQ6QyxzaXplOngsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6eSx0eXBvZ3JhcGh5OlMsdGV4dFdyYXA6dz0hMSxtYXhMaW5lczprLHN0eWxlOkU9e30saXNQaWxsczpMLGlzQWN0aXZlOk4sdG9vbHRpcFRleHQ6TSxyb2xlOlQsZGF0YVFhSWQ6UCxhcmlhTGFiZWw6SSxuYW1lOlIsb25Gb2N1czpPLG9uQmx1cjpCLG9uTW91c2VFbnRlcjpqLG9uTW91c2VMZWF2ZTp6LG9uTW91c2VPdmVyOkQsb25Nb3VzZU91dDpBLG9uQ2xpY2s6RyxvbkFuaW1hdGlvbkVuZDpXLG9uUG9pbnRlck92ZXI6VSxvblBvaW50ZXJPdXQ6SCxvbktleURvd246VixhdXRvRm9jdXM6WCxpc0FjdGl2ZUNhcmV0OkYsaWQ6USxkaXNhYmxlZDpaLHRhYkluZGV4OnEsdmFsdWU6Syx0aXRsZTokLHR5cGU6SiwuLi5ZfT1lLGVlPSgwLGwuZmlsdGVyRGF0YVByb3BzKShZKSx0ZT0oMCxsLmZpbHRlckFyaWFQcm9wcykoWSksb2U9dz9rPz8yOjEsbmU9b2U+MD97Li4uRSwKIi0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcyI6b2V9OkU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7bmFtZTpSLG9uRm9jdXM6TyxvbkJsdXI6Qixvbk1vdXNlRW50ZXI6aixvbk1vdXNlTGVhdmU6eixvbk1vdXNlT3ZlcjpELG9uTW91c2VPdXQ6QSxvbkNsaWNrOkcsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOlUsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOlYsYXV0b0ZvY3VzOlgsaWQ6USxkaXNhYmxlZDpaLHRhYkluZGV4OnEsdmFsdWU6Syx0aXRsZTokLHR5cGU6SiwiZGF0YS1xYS1pZCI6UCwiYXJpYS1sYWJlbCI6SSwuLi5lZSwuLi50ZSxjbGFzc05hbWU6KDAscy51c2VMaWdodEJ1dHRvbkNsYXNzZXMpKHsuLi5tKCksLi4uYygpfSx7Y2xhc3NOYW1lOmksaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmQsaWNvbk9ubHk6cCxzaG93Q2FyZXQ6Zyxmb3JjZURpcmVjdGlvbjp2LGVuZFNsb3Q6XyxzdGFydFNsb3Q6Zixjb2xvcjpiLHZhcmlhbnQ6QyxzaXplOngsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6eSx0eXBvZ3JhcGh5OlMsdGV4dFdyYXA6dyxpc1BpbGxzOkwsaXNBY3RpdmU6Tn0sdCkscmVmOm8sc3R5bGU6bmUscm9sZTpUfSxuLmNyZWF0ZUVsZW1lbnQoYS5MaWdodEJ1dHRvbkNvbnRlbnQse3Nob3dDYXJldDpnLGlzQWN0aXZlQ2FyZXQ6ZyYmKEx8fE58fHV8fEYpLGljb25Pbmx5OnAsZWxsaXBzaXM6aCx0ZXh0V3JhcDp3LHRvb2x0aXBUZXh0Ok0sZW5kU2xvdDpfLHN0YXJ0U2xvdDpmfSxkKSl9fSw1MzYxMjUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Q2hlY2tib3hWaWV3SW1wbDooKT0+ZH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMjE3Mjc0KSxsPW8oMTQ3OTAxKSxpPW8oMTI1ODk3KSxjPW8ubihpKSx1PW8oODMyNTE4KSxtPW8ubih1KTtmdW5jdGlvbiBkKGUpe2NvbnN0e2NoZWNrZWQ6dCxkaXNhYmxlZDpvLGRhdGFRYUlkOnJ9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShtKCkuYm94LCEwPT09dCYmbSgpLmNoZWNrZWQsITE9PT10JiZtKCkudW5jaGVja2VkLCJtaXhlZCI9PT10JiZtKCkubWl4ZWQsbyYmbSgpLmRpc2FibGVkKSwiZGF0YS1xYS1pZCI6KDAsbC5jb25jYXRJZk5vdE51bGwpKGAke2wuVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWNoZWNrYm94LXZpZXctJHt0PyJjaGVja2VkIjoidW5jaGVja2VkIn1gLHIpfSwhMD09PXQmJm4uY3JlYXRlRWxlbWVudChhLkJsb2NrSWNvbix7aWNvbjpjKCksY2xhc3NOYW1lOm0oKS5jaGVja2VkTWFya30pLCJtaXhlZCI9PT10JiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptKCkubWl4ZWRNYXJrfSkpfX0sNjI3ODQ4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldEJsb2NrU3R5bGVDbGFzc2VzOigpPT5pLGdldExvZ29TdHlsZUNsYXNzZXM6KCk9PmN9KTt2YXIgbj1vKDkxNDQ4Nykscj1vLm4obikscz1vKDEzNjQpLGE9byg4NjAwMjUpLGw9by5uKGEpO2Z1bmN0aW9uIGkoZSx0KXtyZXR1cm4gcigpKGwoKS5wYWlyLGwoKVtlXSx0KX1mdW5jdGlvbiBjKGUsdD0yLG89ITApe3JldHVybiByKCkobCgpLmxvZ28sbCgpW2VdLGwoKS5za2VsZXRvbixzLnNrZWxldG9uVGhlbWUud3JhcHBlciwhbyYmbCgpLmVtcHR5LDE9PT10JiZyKCkocy5za2VsZXRvblRoZW1lLmFuaW1hdGVkKSl9fSw1MzIwMTEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Q29udHJvbEdyb3VwQ29udGV4dDooKT0+cyxkZWZhdWx0Q2VsbFN0YXRlOigpPT5yfSk7dmFyIG49byg3Nzk0NzQpO2NvbnN0IHI9e2lzVG9wOiEwLGlzUmlnaHQ6ITAsaXNCb3R0b206ITAsaXNMZWZ0OiEwfSxzPW4uY3JlYXRlQ29udGV4dCh7aXNHcm91cGVkOiExLGNlbGxTdGF0ZTpyfSl9LDY0MTkwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1NwaW5uZXI6KCk9PmN9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDkxNDQ4Nykscz1vLm4ociksYT1vKDU2NzQ3OSksbD0obyg4NDU1NzcpLG8oNDI5MzUzKSksaT1vLm4obCk7ZnVuY3Rpb24gYyhlKXtjb25zdHthcmlhTGFiZWw6dCxhcmlhTGFiZWxsZWRieTpvLGNsYXNzTmFtZTpyLHN0eWxlOmwsc2l6ZTpjLGlkOnUsZGlzYWJsZVNlbGZQb3NpdGlvbmluZzptfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkociwidHYtc3Bpbm5lciIsInR2LXNwaW5uZXItLXNob3duIixgdHYtc3Bpbm5lci0tc2l6ZV8ke2Euc3Bpbm5lclNpemVNYXBbY3x8YS5ERUZBVUxUX1NJWkVdfWAsbSYmaSgpLmRpc2FibGVTZWxmUG9zaXRpb25pbmcpLHN0eWxlOmwscm9sZToicHJvZ3Jlc3NiYXIiLGlkOnUsImFyaWEtbGFiZWwiOnQsImFyaWEtbGFiZWxsZWRieSI6b30pfX0sODY5ODQyKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1N3aXRjaEdyb3VwQ29udGV4dDooKT0+c30pO3ZhciBuPW8oNzc5NDc0KSxyPW8oODYyMzg4KTtjb25zdCBzPSgwLG4uY3JlYXRlQ29udGV4dCkoe2dldE5hbWU6KCk9PiIiLGdldFZhbHVlczooKT0+W10sZ2V0T25DaGFuZ2U6KCk9PnIuZGVmYXVsdCxzdWJzY3JpYmU6ci5kZWZhdWx0LHVuc3Vic2NyaWJlOnIuZGVmYXVsdH0pfSw2NTg0NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHttYWtlU3dpdGNoR3JvdXBJdGVtOigpPT5zfSk7dmFyIG49byg3Nzk0NzQpLHI9byg4Njk4NDIpO2Z1bmN0aW9uIHMoZSl7dmFyIHQ7cmV0dXJuIHQ9Y2xhc3MgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29uQ2hhbmdlPWU9Pnt0aGlzLmNvbnRleHQuZ2V0T25DaGFuZ2UoKShlLnRhcmdldC52YWx1ZSl9LHRoaXMuX29uVXBkYXRlPWU9PntlLmluY2x1ZGVzKHRoaXMucHJvcHMudmFsdWUpJiZ0aGlzLmZvcmNlVXBkYXRlKCl9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5jb250ZXh0LnN1YnNjcmliZSh0aGlzLl9vblVwZGF0ZSl9cmVuZGVyKCl7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChlLHsuLi50aGlzLnByb3BzLG5hbWU6dGhpcy5fZ2V0TmFtZSgpLG9uQ2hhbmdlOnRoaXMuX29uQ2hhbmdlLApjaGVja2VkOnRoaXMuX2lzQ2hlY2tlZCgpfSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLmNvbnRleHQudW5zdWJzY3JpYmUodGhpcy5fb25VcGRhdGUpfV9nZXROYW1lKCl7cmV0dXJuIHRoaXMuY29udGV4dC5nZXROYW1lKCl9X2lzQ2hlY2tlZCgpe3JldHVybiB0aGlzLmNvbnRleHQuZ2V0VmFsdWVzKCkuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSl9fSx0LmNvbnRleHRUeXBlPXIuU3dpdGNoR3JvdXBDb250ZXh0LHR9fSwxNDkzNjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3dpdGNoR3JvdXA6KCk9PnN9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDg2OTg0Mik7Y2xhc3MgcyBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9zdWJzY3JpcHRpb25zPW5ldyBTZXQsdGhpcy5fZ2V0TmFtZT0oKT0+dGhpcy5wcm9wcy5uYW1lLHRoaXMuX2dldFZhbHVlcz0oKT0+dGhpcy5wcm9wcy52YWx1ZXMsdGhpcy5fZ2V0T25DaGFuZ2U9KCk9PnRoaXMucHJvcHMub25DaGFuZ2UsdGhpcy5fc3Vic2NyaWJlPWU9Pnt0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChlKX0sdGhpcy5fdW5zdWJzY3JpYmU9ZT0+e3RoaXMuX3N1YnNjcmlwdGlvbnMuZGVsZXRlKGUpfSx0aGlzLnN0YXRlPXtzd2l0Y2hHcm91cENvbnRleHQ6e2dldE5hbWU6dGhpcy5fZ2V0TmFtZSxnZXRWYWx1ZXM6dGhpcy5fZ2V0VmFsdWVzLGdldE9uQ2hhbmdlOnRoaXMuX2dldE9uQ2hhbmdlLHN1YnNjcmliZTp0aGlzLl9zdWJzY3JpYmUsdW5zdWJzY3JpYmU6dGhpcy5fdW5zdWJzY3JpYmV9fX1yZW5kZXIoKXtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHIuU3dpdGNoR3JvdXBDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLnN0YXRlLnN3aXRjaEdyb3VwQ29udGV4dH0sdGhpcy5wcm9wcy5jaGlsZHJlbil9Y29tcG9uZW50RGlkVXBkYXRlKGUpe3RoaXMuX25vdGlmeSh0aGlzLl9nZXRVcGRhdGVzKHRoaXMucHJvcHMudmFsdWVzLGUudmFsdWVzKSl9X25vdGlmeShlKXt0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2goKHQ9PnQoZSkpKX1fZ2V0VXBkYXRlcyhlLHQpe3JldHVyblsuLi50LC4uLmVdLmZpbHRlcigobz0+dC5pbmNsdWRlcyhvKT8hZS5pbmNsdWRlcyhvKTplLmluY2x1ZGVzKG8pKSl9fX0sMjc4MjYzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2Zvcm1hdFRpbWU6KCk9PnAsaXNWYWxpZFRpbWVPcHRpb25zRGF0ZVN0eWxlOigpPT5kLGlzVmFsaWRUaW1lT3B0aW9uc1JhbmdlOigpPT5tfSk7Y29uc3Qgbj17Y2FsZW5kYXI6ImdyZWdvcnkiLG51bWJlcmluZ1N5c3RlbToibGF0biIsaG91cjEyOiExfSxyPXt5ZWFyOiJudW1lcmljIixtb250aDoic2hvcnQiLGRheToibnVtZXJpYyJ9LHM9e3llYXI6Im51bWVyaWMiLG1vbnRoOiIyLWRpZ2l0IixkYXk6IjItZGlnaXQifSxhPXtob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQiLHNlY29uZDoiMi1kaWdpdCJ9LGw9InNob3J0T2Zmc2V0IixpPSJzaG9ydCIsYz17eWVhcjowLG1vbnRoOjEsZGF5OjIsaG91cjozLG1pbnV0ZTo0LHNlY29uZDo1fTtjb25zdCB1PVsieWVhciIsIm1vbnRoIiwiZGF5IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCJdO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIHUuaW5jbHVkZXMoZSl9ZnVuY3Rpb24gZChlKXtyZXR1cm4ibnVtZXJpYyI9PT1lfHwic2hvcnQiPT09ZX1mdW5jdGlvbiBwKGUsdCxvPSJ5ZWFyIix1PSJkYXkiLG0pe2NvbnN0IGQ9ZnVuY3Rpb24oZT0ieWVhciIsdD0iZGF5IixvPXt9KXtbZSx0XT1jW3RdPmNbZV0/W2UsdF06W3QsZV07Y29uc3QgdT17Li4uIm51bWVyaWMiPT09by5kYXRlU3R5bGU/czpyLC4uLmF9LG09by5mcmFjdGlvbmFsU2Vjb25kRGlnaXRzLGQ9ey4uLm4sZnJhY3Rpb25hbFNlY29uZERpZ2l0czp2b2lkIDA9PT1tP3ZvaWQgMDpNYXRoLmZsb29yKE1hdGgubWluKE1hdGgubWF4KDEsbSksMykpLHRpbWVab25lOm8udGltZVpvbmUsd2Vla2RheTpvLndlZWtkYXk/aTp2b2lkIDAsdGltZVpvbmVOYW1lOm8udGltZVpvbmVOYW1lP2w6dm9pZCAwfTtyZXR1cm4gT2JqZWN0LmtleXModSkuZm9yRWFjaCgobz0+e2Nbb10+PWNbZV0mJmNbb108PWNbdF0mJihkW29dPXVbb10pfSkpLGR9KG8sdSxtKSxwPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHQsZCksaD1uZXcgRGF0ZShlKTtyZXR1cm4gcC5mb3JtYXQoaCl9fSw3NzAxNDMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0VGV4dEZvclRvb2x0aXA6KCk9PmF9KTt2YXIgbj1vKDc3OTQ3NCk7Y29uc3Qgcj1lPT4oMCxuLmlzVmFsaWRFbGVtZW50KShlKSYmQm9vbGVhbihlLnByb3BzLmNoaWxkcmVuKSxzPShlLHQ9ITApPT5udWxsPT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlfHwie30iPT09SlNPTi5zdHJpbmdpZnkoZSk/IiI6ZS50b1N0cmluZygpKyh0PyIgIjoiIiksYT1lPT5BcnJheS5pc0FycmF5KGUpfHwoMCxuLmlzVmFsaWRFbGVtZW50KShlKT9uLkNoaWxkcmVuLnRvQXJyYXkoZSkucmVkdWNlKCgoZSx0KT0+e2xldCBvPSIiO3JldHVybiBvPSgwLG4uaXNWYWxpZEVsZW1lbnQpKHQpJiZyKHQpP2EodC5wcm9wcy5jaGlsZHJlbik6KDAsbi5pc1ZhbGlkRWxlbWVudCkodCkmJiFyKHQpPyIiOnModCksZS5jb25jYXQobyl9KSwiIikudHJpbSgpOnMoZSwhMSl9LDk3MzgwNChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRJbWFnZTooKT0+c30pO2NvbnN0IG49bmV3IE1hcDtmdW5jdGlvbiByKGUpe2UuY3Jvc3NPcmlnaW49ImFub255bW91cyJ9ZnVuY3Rpb24gcyhlLHQsbz1yLHMpe2xldCBhPW4uZ2V0KGUpO3JldHVybiB2b2lkIDA9PT1hJiYoYT1uZXcgUHJvbWlzZSgoKGUsbik9Pntjb25zdCByPW5ldyBJbWFnZTtyLm9ubG9hZD0oKT0+e2Uociksci5vbmxvYWQ9bnVsbCxyLm9uZXJyb3I9bnVsbH0sci5vbmVycm9yPSgpPT57bigpLHIub25sb2FkPW51bGwsci5vbmVycm9yPW51bGx9LG8ociksci5zcmM9dCxzJiYocy5vbmFib3J0PSgpPT57bigpLHIub25sb2FkPW51bGwsci5vbmVycm9yPW51bGx9KX0pKSxuLnNldChlLGEpKSxhfX0sNTk1MTg5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ZsYWc6KCk9PmwKfSk7dmFyIG49byg3Nzk0NzQpLHI9byg2MDc4MzIpLHM9bygxMjkzMzMpLGE9byg1OTE3MjgpO2NsYXNzIGwgZXh0ZW5kcyBuLkNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fc3ltYm9sTWFya2VyPW51bGwsdGhpcy5fcmVmPW51bGwsdGhpcy5faGFuZGxlUmVmPWU9Pntjb25zdHtzeW1ib2w6dCxvbkNsaWNrOm8sY2xhc3NOYW1lOm4sYWN0aXZlQ2xhc3NOYW1lOnIsZm9yY2VWaXNpYmxlOmw9ITF9PXRoaXMucHJvcHM7bnVsbCE9PWUmJih0aGlzLl9zeW1ib2xNYXJrZXI9bmV3IHMuU3ltYm9sTWFya2VyKHtzeW1ib2w6dCxjbGFzc05hbWU6bixjb250YWluZXI6ZSxhY3RpdmVDbGFzc05hbWU6cnx8KGw/YS5mb3JjZVZpc2libGU6YS52aXNpYmxlKSxvbkNsaWNrOihlLHQpPT57bz9vKHt0YXJnZXRTeW1ib2w6ZSxzZWxlY3RlZFN5bWJvbHM6dGhpcy5wcm9wcy5zZWxlY3RlZFN5bWJvbHMsY29udGludWF0aW9uOnR9KTp0KCl9LG1hbmFnZXI6dGhpcy5jb250ZXh0fSkpLHRoaXMuX3JlZj1lfX1zaG91bGRDb21wb25lbnRVcGRhdGUoZSl7cmV0dXJuIHRoaXMucHJvcHMuc3ltYm9sIT09ZS5zeW1ib2x8fHRoaXMucHJvcHMuY2xhc3NOYW1lIT09ZS5jbGFzc05hbWV9Y29tcG9uZW50RGlkVXBkYXRlKGUpe2NvbnN0e3N5bWJvbDp0LGNsYXNzTmFtZTpvfT10aGlzLnByb3BzO251bGwhPT10aGlzLl9yZWYmJih0IT09ZS5zeW1ib2wmJnRoaXMuX3N5bWJvbE1hcmtlcj8uYmluZFRvKHRoaXMucHJvcHMuc3ltYm9sLHRoaXMuX3JlZiksbyE9PWUuY2xhc3NOYW1lJiZvJiZ0aGlzLl9zeW1ib2xNYXJrZXI/LnNldENsYXNzTmFtZShvKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl9zeW1ib2xNYXJrZXImJnRoaXMuX3N5bWJvbE1hcmtlci5kZXN0cm95KCl9cmVuZGVyKCl7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphLmNvbnRhaW5lcixyZWY6dGhpcy5faGFuZGxlUmVmfSl9fWwuY29udGV4dFR5cGU9ci5TbG90Q29udGV4dH0sNTYxMjA1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1N5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dDooKT0+bn0pO2NvbnN0IG49byg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQobnVsbCl9LDQ0MDcxNShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtDb250ZXh0TWVudUNvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw1MjUxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0hpbnQ6KCk9Pmx9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDkxNDQ4Nykscz1vLm4ociksYT1vKDkxNjI2KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3RleHQ6dD0iIixjbGFzc05hbWU6b309ZTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShhLnNob3J0Y3V0LG8pfSx0KX19LDcyMTE2NyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtDb250ZXh0TWVudUl0ZW06KCk9Pmh9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDkxNDQ4Nykscz1vLm4ociksYT1vKDI3MzMxMCksbD1vKDY0OTE2NiksaT1vKDc3OTEwOCksYz1vKDUyNTEpLHU9bygzODA1NiksbT1vKDU4MDU5NiksZD1vKDQ2MjcwNCkscD1vKDEwNzk2Nik7ZnVuY3Rpb24gaChlKXtjb25zdHtjbGFzc05hbWU6dCxpc1RpdGxlOm8saXNMb2FkaW5nOnIsaXNIb3ZlcmVkOmgsYWN0aXZlOmcsY2hlY2thYmxlOnYsZGlzYWJsZWQ6XyxjaGVja2VkOmYsaWNvbjpiLGljb25DaGVja2VkOkMsaGludDp4LHN1Ykl0ZW1zOnksbGFiZWw6UyxzdHlsZWRMYWJlbDp3LG9uQ2xpY2s6ayxjaGlsZHJlbjpFLHRvb2xib3g6TCxqc3hMYWJlbDpOLHNpemU6TT0ibm9ybWFsIn09ZSxUPSgwLG4udXNlQ29udGV4dCkoaS5FbXB0eUljb25zQ29udGV4dCksUD0hIXkubGVuZ3RoO3JldHVybiByP24uY3JlYXRlRWxlbWVudCgibGkiLHtjbGFzc05hbWU6cygpKHQscC5pdGVtLHAubG9hZGluZyxwW01dKX0sbi5jcmVhdGVFbGVtZW50KGwuTG9hZGVyLG51bGwpKTpuLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOnMoKSh0LHAuaXRlbSxwLmludGVyYWN0aXZlLG8mJnAudGl0bGUsXyYmcC5kaXNhYmxlZCxoJiZwLmhvdmVyZWQsZyYmcC5hY3RpdmUsVCYmcC5lbXB0eUljb25zLHBbTV0pLG9uQ2xpY2s6a30sbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOnMoKShwLmljb24pLGljb246ZnVuY3Rpb24oKXtpZih2JiZmKXJldHVybiBDfHxifHx1O3JldHVybiBifSgpfSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShwLmxhYmVsKX0sIU4mJnc/dy5tYXAoKCh7dGV4dDplLC4uLnR9LG8pPT5uLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6byxzdHlsZTp0fSxlKSkpOk4/P1MpLCEhTCYmbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7b25DbGljazpmdW5jdGlvbigpe0wmJkwuYWN0aW9uKCl9LGNsYXNzTmFtZTpwLnJlbW92ZSxpY29uOmR9KSwhUCYmeCYmbi5jcmVhdGVFbGVtZW50KGMuSGludCx7Y2xhc3NOYW1lOnAuc2hvcnRjdXQsdGV4dDp4fSksUCYmbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOnAubmVzdGVkLGljb246bX0pLEUpfX0sMzIzODMwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0NvbnRleHRNZW51TGlzdDooKT0+aH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTU0NDc4KTtmdW5jdGlvbiBzKGUpe3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOnIuc2VwYXJhdG9yfSl9dmFyIGE9byg3MjExNjcpLGw9byg1NjkzOTgpLGk9byg5NjQyMTQpLGM9bygyNzYwMTkpO2NvbnN0IHU9KDAsbC5pc0ZlYXR1cmVFbmFibGVkKSgiZm9yY2VfZGlzYWJsZV9qc3hfbWVudV9pdGVtc19yZW5kZXJpbmciKTtmdW5jdGlvbiBtKGUpe2NvbnN0IHQ9dT9lLmFjdGlvbjplLmFjdGlvbi5jdXN0b20oKT8/ZS5hY3Rpb24sW28scl09KDAsbi51c2VTdGF0ZSkoKCgpPT50LmdldFN0YXRlKCkpKSxbcyxsXT0oMCxuLnVzZVN0YXRlKSghMSksbT0hIW8uc3ViSXRlbXMubGVuZ3RoLGQ9bSYmcztyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT57CmNvbnN0IGU9KCk9PnIodC5nZXRTdGF0ZSgpKTtyZXR1cm4gdC5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLGUpLCgpPT57dC5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsZSl9fSksW10pLG4uY3JlYXRlRWxlbWVudChhLkNvbnRleHRNZW51SXRlbSx7Li4ubyxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKG8uZGlzYWJsZWR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYobSlyZXR1cm4gdm9pZCBsKCEwKTtvLmRvTm90Q2xvc2VPbkNsaWNrfHwoMCxjLmdsb2JhbENsb3NlTWVudSkoKTt0LmV4ZWN1dGUoKX0saXNMb2FkaW5nOm8ubG9hZGluZyxpc0hvdmVyZWQ6ZH0sZCYmbi5jcmVhdGVFbGVtZW50KGkuRHJhd2VyLHtvbkNsb3NlOnB9LG4uY3JlYXRlRWxlbWVudChoLHtpdGVtczpvLnN1Ykl0ZW1zLHBhcmVudEFjdGlvbjp0LGNsb3NlTmVzdGVkOnB9KSkpO2Z1bmN0aW9uIHAoZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwoITEpfX12YXIgZD1vKDc3OTEwOCkscD1vKDMzNDU1MCk7ZnVuY3Rpb24gaChlKXtjb25zdHtpdGVtczp0LHBhcmVudEFjdGlvbjpvLGNsb3NlTmVzdGVkOnJ9PWUsbD0hQm9vbGVhbihvKSYmdC5ldmVyeSgoZT0+IUJvb2xlYW4oInNlcGFyYXRvciIhPT1lLnR5cGUmJihlLmdldFN0YXRlKCkuaWNvbnx8ZS5nZXRTdGF0ZSgpLmNoZWNrYWJsZSkpKSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChkLkVtcHR5SWNvbnNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpsfSxuLmNyZWF0ZUVsZW1lbnQoInVsIixudWxsLG8mJm4uY3JlYXRlRWxlbWVudChuLkZyYWdtZW50LG51bGwsbi5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVJdGVtLHtsYWJlbDpvLmdldFN0YXRlKCkubGFiZWwsaXNUaXRsZTohMCxhY3RpdmU6ITEsZGlzYWJsZWQ6ITEsc3ViSXRlbXM6W10sY2hlY2thYmxlOiExLGNoZWNrZWQ6ITEsZG9Ob3RDbG9zZU9uQ2xpY2s6ITEsaWNvbjpwLG9uQ2xpY2s6cn0pLG4uY3JlYXRlRWxlbWVudChzLG51bGwpKSx0Lm1hcCgoZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gbi5jcmVhdGVFbGVtZW50KG0se2tleTplLmlkLGFjdGlvbjplfSk7Y2FzZSJzZXBhcmF0b3IiOnJldHVybiBuLmNyZWF0ZUVsZW1lbnQocyx7a2V5OmUuaWR9KX19KSkpKX19LDc3OTEwOChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtFbXB0eUljb25zQ29udGV4dDooKT0+bn0pO2NvbnN0IG49byg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoITEpfSw4NTgwMzcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0QWN0aW9uczooKT0+cH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oMTg1MjcxKSxzPW8oNzEyMTM0KSxhPW8oNDMxODIzKSxsPW8oNTA5MDQpLGk9byg5MTk5ODUpLGM9byg2NDM5MDMpLHU9bygzODY5MzEpLG09byg2MjE5MjYpLGQ9byg2NzQxOSk7ZnVuY3Rpb24gcChlLHQscCxoKXtjb25zdCBnPWZ1bmN0aW9uKGUsdCxpLHApe2NvbnN0IGg9ci50KG51bGwsdm9pZCAwLG8oMzA4MzkpKS5mb3JtYXQoe3N5bWJvbDooMCxjLnNhZmVTaG9ydE5hbWUpKHQpfSksZz1lLmdldFN5bWJvbENvbG9yKHQpfHx2b2lkIDAsdj17fSxfPXMuTElTVF9DT0xPUlMubWFwKChlPT57Y29uc3QgdD1uZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuQ2hhbmdlRmxhZ2dlZEdyb3VwQ29sb3IiLG9wdGlvbnM6e2xhYmVsOigwLGQuZmxhZ2dlZFN5bWJvbENvbG9yTmFtZSkoZSksb25FeGVjdXRlOigpPT5mKGUpLGNoZWNrYWJsZTohMCxjaGVja2VkOmU9PT1nfX0pO3JldHVybiB2W2VdPXQsdH0pKSxmPW89PntwKCksKDAsbS5ydW5PclNpZ25pbldpdGhGZWF0dXJlKSgoKCk9PntpLnNldENvbG9yKG8pLGUuc2V0U3ltYm9sc0NvbG9yKFt0XSxpLmdldENvbG9yKCkpLCgwLHUudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIkNvbnRleHQgbWVudSIsIkZsYWciKSxzLkxJU1RfQ09MT1JTLmZvckVhY2goKGU9Pnt2W2VdLnVwZGF0ZSh7Y2hlY2tlZDplPT09aS5nZXRDb2xvcigpfSl9KSl9KSx7ZmVhdHVyZToiZmxhZ2dlZFN5bWJvbHNDb2xvcnMiLHNvdXJjZToiU2V0IHN5bWJvbCBjb2xvciJ9KX0sYj17ZG9Ob3RDbG9zZU9uQ2xpY2s6ITB9O3JldHVybltuZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuRmxhZ1N5bWJvbCIsb3B0aW9uczp7bGFiZWw6aCxvbkV4ZWN1dGU6KCk9PmYoaS5nZXRDb2xvcigpKX19KSxuZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuQ2hhbmdlRmxhZ2dlZEdyb3VwQ29sb3IiLG9wdGlvbnM6ey4uLmIsbGFiZWw6ci50KG51bGwsdm9pZCAwLG8oOTYxNjE0KSksc3ViSXRlbXM6X30sY3VzdG9tQWN0aW9uT3B0aW9uczp7Li4uYixqc3hMYWJlbDpuLmNyZWF0ZUVsZW1lbnQoYS5MYWJlbENvbG9yU2VsZWN0b3Ise3ZhbHVlOmcsb25DaGFuZ2U6Zn0pfX0pXX0oZSx0LHAsaCk7cmV0dXJuIG51bGwhPT1lLmdldFN5bWJvbENvbG9yKHQpJiZnLnB1c2goZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IGwuQWN0aW9uKHthY3Rpb25JZDoiV2F0Y2hsaXN0LlVuZmxhZ1N5bWJvbCIsb3B0aW9uczp7bGFiZWw6ci50KG51bGwsdm9pZCAwLG8oNjkyMSkpLmZvcm1hdCh7c3ltYm9sOigwLGMuc2FmZVNob3J0TmFtZSkodCl9KSxvbkV4ZWN1dGU6KCk9PntlLnNldFN5bWJvbHNDb2xvcihbdF0sbnVsbCksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiVW5mbGFnIil9fX0pfShlLHQpKSxnLnB1c2goZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5VbmZsYWdBbGxTeW1ib2xzIixvcHRpb25zOntsYWJlbDpyLnQobnVsbCx2b2lkIDAsbygzMzI3NTMpKSxvbkV4ZWN1dGU6KCk9PnsoMCxpLnNob3dVbmZsYWdBbGxTeW1ib2xzQ29uZmlybSkoKCgpPT57ZS5jbGVhckFsbFN5bWJvbHNDb2xvcigpfSkpLCgwLHUudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIkNvbnRleHQgbWVudSIsIlVuZmxhZyBhbGwiKX19fSl9KGUpKSxnfX0sMzA2NjAxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0NvbG9yU2VsZWN0b3I6KCk9Pnh9KQo7dmFyIG49byg3Nzk0NzQpLHI9byg3MTIxMzQpLHM9bygyMzU3MjQpLGE9bygxNDkzNjQpLGw9byg5ODM2MTYpLGk9bygzMjk2NjgpLGM9byg5MTQ0ODcpLHU9by5uKGMpLG09byg2NTg0NiksZD1vKDI3MzMxMCkscD1vKDE4NTI3MSksaD1vKDQ0MDcxNSksZz1vKDE4MjMwOCksdj1vKDI3NDg1MSksXz1vKDIwMzMwOSksZj1vKDc1MTg2Myk7Y29uc3QgYj0oMCxtLm1ha2VTd2l0Y2hHcm91cEl0ZW0pKChmdW5jdGlvbihlKXtjb25zdHtjbGFzc05hbWU6dCx2YWx1ZTpzPXIuTGlzdENvbG9yLlJlZCxuYW1lOmEsY2hlY2tlZDpsfT1lLFtpLGNdPSgwLGcudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxtPSgwLG4udXNlQ29udGV4dCkoaC5Db250ZXh0TWVudUNvbnRleHQpLGI9bT8udHlwZT8/Im1lbnUiLEM9cztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJsYWJlbCIse3JlZjppLHRhYkluZGV4OmMsY2xhc3NOYW1lOnUoKSh0LGYud3JhcCwiZHJhd2VyIj09PWImJmYubGFyZ2UpLCJkYXRhLWNvbG9yIjpDLHJvbGU6Im1lbnVpdGVtIiwiYXJpYS1sYWJlbCI6cC50KG51bGwse3JlcGxhY2U6e2NvbG9yOkN9fSxvKDUwNjkxNSkpLCJhcmlhLWNoZWNrZWQiOmx9LG4uY3JlYXRlRWxlbWVudCgiaW5wdXQiLHtjbGFzc05hbWU6Zi5pbnB1dCx0eXBlOiJyYWRpbyIsbmFtZTphLHZhbHVlOnMsY2hlY2tlZDpsLG9uQ2hhbmdlOmUub25DaGFuZ2Usb25DbGljazpsP2Z1bmN0aW9uKCl7ZS5vbkNsaWNrSWZDaGVja2VkJiZlLm9uQ2xpY2tJZkNoZWNrZWQocyl9OnZvaWQgMH0pLG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnUoKShmLmJveCxmW0NdLCJkcmF3ZXIiPT09YiYmZi5sYXJnZSl9LGw/bi5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjp2fSk6bi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zi5waWNrZXJEb3R9LG4uY3JlYXRlRWxlbWVudChkLkljb24se2NsYXNzTmFtZTpmLmhvdmVyRG90LGljb246X30pKSkpfSkpLEM9WzM5LDM3LDEzLDMyLDI3XTtmdW5jdGlvbiB4KGUpe2NvbnN0e2J1dHRvbkNsYXNzTmFtZTp0LHZhbHVlOm8sb25TZWxlY3RlZENsaWNrOmMsZnJvbUtleWJvYXJkOnV9PWUsbT0oMCxuLnVzZVJlZikobnVsbCksZD0oMCxuLnVzZUNhbGxiYWNrKSgoZT0+e2lmKCFtLmN1cnJlbnR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxzLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFDLmluY2x1ZGVzKHQpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbj0oMCxsLnF1ZXJ5Rm9jdXNhYmxlRWxlbWVudHMpKG0uY3VycmVudCkuc29ydChsLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpLGE9bi5maW5kSW5kZXgoKGU9PmU9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50KSk7aWYoLTE9PT1hKXJldHVybjtjb25zdCBjPW5bYV07bGV0IHU7c3dpdGNoKHQpe2Nhc2UgMTM6Y2FzZSAzMjpoKGMuZGF0YXNldC5jb2xvcnx8ci5MaXN0Q29sb3IuUmVkKTticmVhaztjYXNlIDI3Omgobyl9c3dpdGNoKCgwLGwubWFwS2V5Q29kZVRvRGlyZWN0aW9uKSh0KSl7Y2FzZSJpbmxpbmVOZXh0Ijp1PW5bYSsxXXx8blswXTticmVhaztjYXNlImlubGluZVByZXYiOnU9blthLTFdfHxuW24ubGVuZ3RoLTFdfXUgaW5zdGFuY2VvZiBIVE1MTGFiZWxFbGVtZW50JiYoKDAsaS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShjKSwoMCxpLmJlY29tZU1haW5FbGVtZW50KSh1KSx1LmZvY3VzKCkpfSksW10pOygwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZighdSlyZXR1cm47Y29uc3QgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LHQ9bS5jdXJyZW50O2lmKCF0KXJldHVybjtjb25zdFtvXT0oMCxsLnF1ZXJ5Rm9jdXNhYmxlRWxlbWVudHMpKHQpLnNvcnQobC5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtyZXR1cm4gbz8oKDAsaS5iZWNvbWVNYWluRWxlbWVudCkobyksby5mb2N1cygpLCgpPT57ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZlLmZvY3VzKCl9KTp2b2lkIDB9KSxbXSk7Y29uc3QgcD1yLkxJU1RfQ09MT1JTLm1hcCgoKGUsbyk9Pm4uY3JlYXRlRWxlbWVudChiLHtrZXk6byxjbGFzc05hbWU6dCxvbkNsaWNrSWZDaGVja2VkOmMsdmFsdWU6ZX0pKSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgibWVudSIse3JlZjptLG9uS2V5RG93bjpkfSxuLmNyZWF0ZUVsZW1lbnQoYS5Td2l0Y2hHcm91cCx7bmFtZToiY29sb3Itc2VsZWN0b3IiLG9uQ2hhbmdlOmgsdmFsdWVzOnZvaWQgMCE9PW8/W29dOltdfSxwKSk7ZnVuY3Rpb24gaCh0KXtlLm9uQ2hhbmdlJiZ2b2lkIDAhPT10JiZlLm9uQ2hhbmdlKHQpfX19LDY3NDE5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2ZsYWdnZWRTeW1ib2xDb2xvck5hbWU6KCk9PnN9KTt2YXIgbj1vKDcxMjEzNCkscj1vKDE4NTI3MSk7ZnVuY3Rpb24gcyhlKXtzd2l0Y2goZSl7Y2FzZSBuLkxpc3RDb2xvci5SZWQ6cmV0dXJuIHIudChudWxsLHZvaWQgMCxvKDY1NTA0MikpO2Nhc2Ugbi5MaXN0Q29sb3IuR3JlZW46cmV0dXJuIHIudChudWxsLHZvaWQgMCxvKDY4MjY2OSkpO2Nhc2Ugbi5MaXN0Q29sb3IuQmx1ZTpyZXR1cm4gci50KG51bGwsdm9pZCAwLG8oNjM4MSkpO2Nhc2Ugbi5MaXN0Q29sb3IuT3JhbmdlOnJldHVybiByLnQobnVsbCx2b2lkIDAsbyg5NzEyODMpKTtjYXNlIG4uTGlzdENvbG9yLlB1cnBsZTpyZXR1cm4gci50KG51bGwsdm9pZCAwLG8oNjcwOTIzKSk7Y2FzZSBuLkxpc3RDb2xvci5DeWFuOnJldHVybiByLnQobnVsbCx2b2lkIDAsbygxNDY4NCkpO2Nhc2Ugbi5MaXN0Q29sb3IuUGluazpyZXR1cm4gci50KG51bGwsdm9pZCAwLG8oNjc2NzY4KSl9fX0sNDMxODIzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0xhYmVsQ29sb3JTZWxlY3RvcjooKT0+bH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oMzA2NjAxKSxzPW8oNTE4NzUpLGE9byg1NTg4NzMpO2NsYXNzIGwgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7dmFsdWU6ZX09dGhpcy5wcm9wcztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEud3JhcHBlcn0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7CmNsYXNzTmFtZTphLmJ1dHRvbnMsb25DbGljazpzLnByZXZlbnREZWZhdWx0fSxuLmNyZWF0ZUVsZW1lbnQoci5Db2xvclNlbGVjdG9yLHtidXR0b25DbGFzc05hbWU6YS5jb2xvclNlbGVjdEJ1dHRvbix2YWx1ZTplLG9uQ2hhbmdlOnRoaXMuX29uQ2hhbmdlLG9uU2VsZWN0ZWRDbGljazp0aGlzLl9vbkNoYW5nZX0pKSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29uQ2hhbmdlPWU9Pnt0aGlzLnByb3BzLm9uQ2hhbmdlKGUpfX19fSw4MzQxODgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7UG9wdXBDb2xvclNlbGVjdG9yOigpPT54fSk7dmFyIG49byg3Nzk0NzQpLHI9byg2MDc4MzIpLHM9byg2MDk1MjgpLGE9byg0MDYxMTApLGw9bygzMTM3NzIpLGk9byg5NjQyMTQpLGM9bygzMjM4MzApLHU9byg0NDA3MTUpLG09byg5NjkxNjgpLGQ9byg1ODU0OCkscD1vKDMwNjYwMSksaD1vKDM2MzI2OSksZz1vKDU1ODk3Mik7Y2xhc3MgdiBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb21wb25lbnREaWRNb3VudCgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmKGgubW9iaWxldG91Y2g/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCk6KHRoaXMucHJvcHMuZWxlbS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLnByb3BzLmhpZGUpKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihoLm1vYmlsZXRvdWNoP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoU3RhcnQpOnRoaXMucHJvcHMuZWxlbSYmKHRoaXMucHJvcHMuZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMucHJvcHMuaGlkZSkpKX1yZW5kZXIoKXtjb25zdCBlPXt0b3A6MH07aWYodGhpcy5wcm9wcy5lbGVtKXtjb25zdCB0PXRoaXMucHJvcHMuZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlLnRvcD10LnRvcCt0LmhlaWdodC8yLCgwLG0uaXNSdGwpKCk/ZS5yaWdodD13aW5kb3cuaW5uZXJXaWR0aC10LmxlZnQ6ZS5sZWZ0PXQubGVmdCt0LndpZHRofWVsc2UgZS5sZWZ0PTA7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChkLlBvcnRhbCxudWxsLG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6ZSxjbGFzc05hbWU6Zy5wb3B1cCxyZWY6dGhpcy5fc2V0UG9wVXBFbGVtLG9uTW91c2VMZWF2ZTpoLm1vYmlsZXRvdWNoP3ZvaWQgMDp0aGlzLl9vblBvcFVwTW91c2VMZWF2ZX0sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zy53cmFwcGVyfSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLnNlbGVjdG9yfSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLmFycm93TGVmdH0pLG4uY3JlYXRlRWxlbWVudChwLkNvbG9yU2VsZWN0b3Ise2J1dHRvbkNsYXNzTmFtZTpnLmNvbG9yU2VsZWN0QnV0dG9uLHZhbHVlOnRoaXMucHJvcHMuY3VycmVudENvbG9yLGZyb21LZXlib2FyZDp0aGlzLnByb3BzLmZyb21LZXlib2FyZCxvbkNoYW5nZTp0aGlzLl9vbkNoYW5nZX0pKSkpKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fcG9wVXBFbGVtPW51bGwsdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMucHJvcHMub25TZWxlY3RDb2xvcihlKSx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fb25UYXJnZXRNb3VzZUxlYXZlPWU9Pntjb25zdCB0PSEhZS5yZWxhdGVkVGFyZ2V0Lm5vZGVOYW1lLG89ZS5yZWxhdGVkVGFyZ2V0PT09dGhpcy5fcG9wVXBFbGVtLG49dGhpcy5fcG9wVXBFbGVtJiZ0JiZ0aGlzLl9wb3BVcEVsZW0uY29udGFpbnMoZS5yZWxhdGVkVGFyZ2V0KTtvfHxufHx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fb25Qb3BVcE1vdXNlTGVhdmU9ZT0+e2NvbnN0IHQ9ISFlLm5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQubm9kZU5hbWUsbz1lLm5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQ9PT10aGlzLnByb3BzLmVsZW0sbj10JiZ0aGlzLnByb3BzLmVsZW0uY29udGFpbnMoZS5uYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0KTtvfHxufHx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fb25Ub3VjaFN0YXJ0PWU9Pntjb25zdCB0PSEhZS50YXJnZXQubm9kZU5hbWUsbz1lLnRhcmdldD09PXRoaXMucHJvcHMuZWxlbSxuPWUudGFyZ2V0PT09dGhpcy5fcG9wVXBFbGVtLHI9dCYmdGhpcy5wcm9wcy5lbGVtLmNvbnRhaW5zKGUudGFyZ2V0KSxzPXRoaXMuX3BvcFVwRWxlbSYmdCYmdGhpcy5fcG9wVXBFbGVtLmNvbnRhaW5zKGUudGFyZ2V0KTtvfHxyfHxufHxzfHx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fc2V0UG9wVXBFbGVtPWU9Pnt0aGlzLl9wb3BVcEVsZW09ZX19fWZ1bmN0aW9uIF8oZSl7Y29uc3R7YWN0aW9uczp0LC4uLm99PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChhLk1hdGNoTWVkaWEse3J1bGU6cy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKGU9PmUmJnQ/bi5jcmVhdGVFbGVtZW50KGwuRHJhd2VyTWFuYWdlcixudWxsLG4uY3JlYXRlRWxlbWVudCh1LkNvbnRleHRNZW51Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6e3R5cGU6ImRyYXdlciJ9fSxuLmNyZWF0ZUVsZW1lbnQoaS5EcmF3ZXIse29uQ2xvc2U6by5oaWRlLHBvc2l0aW9uOiJCb3R0b20ifSxuLmNyZWF0ZUVsZW1lbnQoYy5Db250ZXh0TWVudUxpc3Qse2l0ZW1zOnR9KSkpKTpuLmNyZWF0ZUVsZW1lbnQodix7Li4ub30pKSl9dmFyIGY9byg1NzEzMDApO2xldCBiPW51bGwsQz1udWxsO3ZhciB4OyFmdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7YiYmQz8udW5tb3VudCgpfWUuc2hvdz1mdW5jdGlvbihlKXtifHwoYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSksdCgpLEM9KDAsCmYuY3JlYXRlUmVhY3RSb290KShuLmNyZWF0ZUVsZW1lbnQoci5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6ZS5tYW5hZ2VyfHxudWxsfSxuLmNyZWF0ZUVsZW1lbnQoXyx7Li4uZSxoaWRlOnR9KSksYil9LGUuaGlkZT10fSh4fHwoeD17fSkpfSwxMjkzMzMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3ltYm9sTWFya2VyOigpPT51LGNyZWF0ZVN5bWJvbE1hcmtlclN0YW5kYWxvbmU6KCk9PmR9KTtvKDgyOTE4MCk7dmFyIG49byg4Mjk3NjMpLHI9byg4MzE1MjcpLHM9byg4MzQxODgpLGE9bygyNDM2MzEpLGw9byg2MDk1MjgpLGk9byg4NTgwMzcpLGM9byg2MjE5MjYpO2NsYXNzIHV7dXBkYXRlU3Vic2NyaXB0aW9uKCl7dGhpcy5fc2V0U3RhdGUodGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcih0aGlzLl9zeW1ib2wpKX1iaW5kVG8oZSx0KXt0aGlzLl9zZXJ2aWNlLm9mZlN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpLHRoaXMuX3N5bWJvbD1lLHRoaXMuX3VpbWFya2VyLmFwcGVuZFRvKHQpLHRoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IoZSkpLHRoaXMuX3NlcnZpY2Uub25TeW1ib2xDaGFuZ2UoZSx0aGlzLl9vbkNoYW5nZSl9dW5iaW5kKCl7dGhpcy5fc2VydmljZS5vZmZTeW1ib2xDaGFuZ2UodGhpcy5fc3ltYm9sLHRoaXMuX29uQ2hhbmdlKSx0aGlzLl91aW1hcmtlci5kZXRhY2goKX1nZXRFbGVtKCl7cmV0dXJuIHRoaXMuX3VpbWFya2VyLmdldEVsZW0oKX1pc01hcmtlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY29sb3J9c2V0Q2xhc3NOYW1lKGUpe3RoaXMuX3VpbWFya2VyLmdldEVsZW0oKS5jbGFzc0xpc3QucmVtb3ZlKC4uLnRoaXMuX2NsYXNzZXMpLHRoaXMuX2NsYXNzZXM9ZS5zcGxpdCgiICIpLmZpbHRlcihCb29sZWFuKSx0aGlzLl91aW1hcmtlci5nZXRFbGVtKCkuY2xhc3NMaXN0LmFkZCguLi50aGlzLl9jbGFzc2VzKX1kZXN0cm95KCl7dGhpcy51bmJpbmQoKSxkZWxldGUgdGhpcy5fdWltYXJrZXIsZGVsZXRlIHRoaXMuX29wdHN9dG9nZ2xlKGUpe3RoaXMuX29uQ2xpY2soZSl9X3NldFN0YXRlKGUpe2NvbnN0IHQ9dGhpcy5pc01hcmtlZCgpO3RoaXMuX2NvbG9yPWUsbnVsbCE9PXRoaXMuX2NvbG9yPyh0aGlzLl91aW1hcmtlci5zZXRDb2xvcih0aGlzLl9jb2xvciksdGhpcy5fYWRkQWN0aXZlQ2xhc3NOYW1lKCkpOih0aGlzLl91aW1hcmtlci5yZW1vdmVDb2xvcigpLHRoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzTmFtZSgpKSx2b2lkIDAhPT10aGlzLl9vcHRzLm9uTWFya2VkQ2hhbmdlZCYmdCE9PXRoaXMuaXNNYXJrZWQoKSYmdGhpcy5fb3B0cy5vbk1hcmtlZENoYW5nZWQoKX1fYWRkQWN0aXZlQ2xhc3NOYW1lKCl7dGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUmJnRoaXMuX3VpbWFya2VyLmFkZENsYXNzKHRoaXMuX29wdHMuYWN0aXZlQ2xhc3NOYW1lKX1fcmVtb3ZlQWN0aXZlQ2xhc3NOYW1lKCl7dGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUmJnRoaXMuX3VpbWFya2VyLnJlbW92ZUNsYXNzKHRoaXMuX29wdHMuYWN0aXZlQ2xhc3NOYW1lKX1jb25zdHJ1Y3RvcihlKXt0aGlzLl9zZXJ2aWNlPSgwLHIuZ2V0TWFya2VkU3ltYm9sc0xpc3RTZXJ2aWNlSW5zdGFuY2UpKCksdGhpcy5fY29sb3JNYW5hZ2VyPW5ldyBhLkNvbG9yTWFuYWdlcih7Y29udGV4dDphLkNvbG9yQ29udGV4dC5TeW1ib2xNYXJrZXJ9KSx0aGlzLl9jbGFzc2VzPVtdLHRoaXMuX29uQ2xpY2s9ZT0+e2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PSgpPT57Y29uc3QgdD0oMCxpLmdldEFjdGlvbnMpKHRoaXMuX3NlcnZpY2UsdGhpcy5fc3ltYm9sLHRoaXMuX2NvbG9yTWFuYWdlcixzLlBvcHVwQ29sb3JTZWxlY3Rvci5oaWRlKSxvPXRoaXMuX2NvbG9yTWFuYWdlci5nZXRDb2xvcigpLG49e2VsZW06dGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpLGN1cnJlbnRDb2xvcjpvLG9uU2VsZWN0Q29sb3I6dGhpcy5fb25TZWxlY3RDb2xvcixhY3Rpb25zOnQsbWFuYWdlcjp0aGlzLl9vcHRzLm1hbmFnZXIsZnJvbUtleWJvYXJkOmUgaW5zdGFuY2VvZiBLZXlib2FyZEV2ZW50fTt3aW5kb3cubWF0Y2hNZWRpYShsLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsKS5tYXRjaGVzP3MuUG9wdXBDb2xvclNlbGVjdG9yLnNob3cobik6bnVsbD09PXRoaXMuX2NvbG9yPyhzLlBvcHVwQ29sb3JTZWxlY3Rvci5zaG93KG4pLHRoaXMuX3NlcnZpY2Uuc2V0U3ltYm9sc0NvbG9yKFt0aGlzLl9zeW1ib2xdLG8pKToocy5Qb3B1cENvbG9yU2VsZWN0b3IuaGlkZSgpLHRoaXMuX3NlcnZpY2Uuc2V0U3ltYm9sc0NvbG9yKFt0aGlzLl9zeW1ib2xdLG51bGwpKX0sbz13aW5kb3cuaXNfYXV0aGVudGljYXRlZDsoMCxjLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e28mJih0aGlzLl9vcHRzLm9uQ2xpY2s/dGhpcy5fb3B0cy5vbkNsaWNrKHRoaXMuX3N5bWJvbCx0KTp0KCkpfSkse2ZlYXR1cmU6ImZsYWdnZWRTeW1ib2xzQ29sb3JzIixzb3VyY2U6IlNldCBzeW1ib2wgY29sb3IifSl9LHRoaXMuX29uU2VsZWN0Q29sb3I9ZT0+e3RoaXMuX2NvbG9yTWFuYWdlci5zZXRDb2xvcihlKSx0aGlzLl9zZXJ2aWNlLnNldFN5bWJvbHNDb2xvcihbdGhpcy5fc3ltYm9sXSx0aGlzLl9jb2xvck1hbmFnZXIuZ2V0Q29sb3IoKSl9LHRoaXMuX29uRGJsQ2xpY2s9ZT0+e2UucHJldmVudERlZmF1bHQoKX0sdGhpcy5fb25DaGFuZ2U9KCk9Pnt0aGlzLl9zZXRTdGF0ZSh0aGlzLl9zZXJ2aWNlLmdldFN5bWJvbENvbG9yKHRoaXMuX3N5bWJvbCkpfSx0aGlzLl9vcHRzPWUsdGhpcy5fc3ltYm9sPWUuc3ltYm9sLHRoaXMuX2NvbG9yPWUuY29sb3J8fHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSx0aGlzLl91aW1hcmtlcj1uZXcgbi5VaU1hcmtlcih7Y29sb3I6dGhpcy5fY29sb3IsY29udGFpbmVyOmUuY29udGFpbmVyLG9uQ2xpY2s6dGhpcy5fb25DbGljayxvbkRibENsaWNrOnRoaXMuX29uRGJsQ2xpY2ssc3BlY2lhbEltYWdlOmUuc3BlY2lhbEltYWdlfSksZS5jbGFzc05hbWUmJnRoaXMuc2V0Q2xhc3NOYW1lKGUuY2xhc3NOYW1lKSwKbnVsbCE9PXRoaXMuX2NvbG9yJiZ0aGlzLl9hZGRBY3RpdmVDbGFzc05hbWUoKSx0aGlzLl9zZXJ2aWNlLm9uU3ltYm9sQ2hhbmdlKHRoaXMuX3N5bWJvbCx0aGlzLl9vbkNoYW5nZSl9fWNsYXNzIG0gZXh0ZW5kcyB1e2Rlc3Ryb3koKXt0aGlzLl9zZXJ2aWNlLm9mZkluaXQodGhpcy5fb25Jbml0KSxzdXBlci5kZXN0cm95KCl9Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fb25Jbml0PSgpPT57dGhpcy51cGRhdGVTdWJzY3JpcHRpb24oKX0sdGhpcy5fc2VydmljZS5vbkluaXQodGhpcy5fb25Jbml0KX19ZnVuY3Rpb24gZChlKXtyZXR1cm4gbmV3IG0oZSl9fSwxMzY2MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VFbnN1cmVkQ29udGV4dDooKT0+c30pO3ZhciBuPW8oNzc5NDc0KSxyPW8oMTM4NjM4KTtmdW5jdGlvbiBzKGUpe3JldHVybigwLHIuZW5zdXJlTm90TnVsbCkoKDAsbi51c2VDb250ZXh0KShlKSl9fSw4OTMxMTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TG9jYWxlOigpPT5zLGdldExvY2FsZUlzbzooKT0+YX0pO3ZhciBuPW8oODQ0MjI1KTtjb25zdCByPWZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFnZS1sb2NhbGUtbGlua3MiKT8udGV4dENvbnRlbnQsdD1lP0pTT04ucGFyc2UoZSk6W107aWYoMD09PXQubGVuZ3RoKXJldHVybiBuO2NvbnN0IG89e307cmV0dXJuIHQuZm9yRWFjaCgoKHtsb2NhbGU6ZSx1cmw6dH0pPT57b1tlXT17Li4ubltlXSxocmVmOnR9fSkpLG99KCk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZT1lfHx3aW5kb3cubG9jYWxlLHJbZV19ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT1lfHx3aW5kb3cubG9jYWxlLHJbZV0/Lmlzb319LDQ0ODY0NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtDYWNoZWRMb2dvOigpPT5kfSk7dmFyIG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9bygzODc3NzQpLGw9byg3OTQxODcpLGk9byg2Mjc4NDgpLGM9byg5NzM4MDQpLHU9byg2MTYzMTEpLG09bygxNzcxMTYpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQscGxhY2Vob2xkZXJMZXR0ZXI6byx1cmwxOnIsdXJsMjpkLHNpemU6Zz0ieHh4c21hbGwifT1lLHY9KDAsbi51c2VSZWYpKG51bGwpLF89KDAsbi51c2VSZWYpKG51bGwpLGY9KDAsbi51c2VSZWYpKG51bGwpLGI9KDAsbi51c2VSZWYpKG51bGwpLEM9KDAsbi51c2VSZWYpKG51bGwpLHg9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLHUudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT12b2lkIDA9PT1yP1tdOnZvaWQgMD09PWQ/W3JdOltyLGRdLHQ9eC5jdXJyZW50PShvPWUsUHJvbWlzZS5hbGwoby5tYXAoKGU9PigwLGMuZ2V0SW1hZ2UpKGBzeW1ib2xfbG9nb18ke2V9YCxlLGgpLnRoZW4oKGU9PmUuY2xvbmVOb2RlKCkpKSkpKSk7dmFyIG87dC5jYXRjaCgoKCk9PltdKSkudGhlbigoZT0+e2lmKHQ9PT14LmN1cnJlbnQpc3dpdGNoKGUubGVuZ3RoKXtjYXNlIDA6Zi5jdXJyZW50Py5jbGFzc0xpc3QuYWRkKG0uaGlkZGVuKSxfLmN1cnJlbnQ/LmNsYXNzTGlzdC5hZGQoYS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHYuY3VycmVudD8uY2xhc3NMaXN0LnJlbW92ZShhLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyk7YnJlYWs7Y2FzZSAxOnAoXy5jdXJyZW50LGVbMF0pLGYuY3VycmVudD8uY2xhc3NMaXN0LmFkZChtLmhpZGRlbiksXy5jdXJyZW50Py5jbGFzc0xpc3QucmVtb3ZlKGEuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx2LmN1cnJlbnQ/LmNsYXNzTGlzdC5hZGQoYS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpO2JyZWFrO2Nhc2UgMjpwKGIuY3VycmVudCxlWzBdKSxwKEMuY3VycmVudCxlWzFdKSxmLmN1cnJlbnQ/LmNsYXNzTGlzdC5yZW1vdmUobS5oaWRkZW4pLF8uY3VycmVudD8uY2xhc3NMaXN0LmFkZChhLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdi5jdXJyZW50Py5jbGFzc0xpc3QuYWRkKGEuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKX19KSl9KSxbcixkXSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKSh0LG0uY29udGFpbmVyKX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOmYsY2xhc3NOYW1lOnMoKShtLnBhaXJDb250YWluZXIsbS5oaWRkZW4pfSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6KDAsaS5nZXRCbG9ja1N0eWxlQ2xhc3NlcykoZyl9LG4uY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpDLGNsYXNzTmFtZTpzKCkobS5sb2dvLCgwLGkuZ2V0TG9nb1N0eWxlQ2xhc3NlcykoZykpfSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOmIsY2xhc3NOYW1lOnMoKShtLmxvZ28sKDAsaS5nZXRMb2dvU3R5bGVDbGFzc2VzKShnKSl9KSkpLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpfLGNsYXNzTmFtZTpzKCkobS5sb2dvLGEuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzLCgwLGwuZ2V0U3R5bGVDbGFzc2VzKShnKSl9KSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6dixjbGFzc05hbWU6cygpKG0ubG9nbywoMCxsLmdldFN0eWxlQ2xhc3NlcykoZykpfSxuLmNyZWF0ZUVsZW1lbnQoYS5DaXJjbGVMb2dvLHtzaXplOmcscGxhY2Vob2xkZXJMZXR0ZXI6b30pKSl9ZnVuY3Rpb24gcChlLHQpe2UmJihlLmlubmVySFRNTD0iIixlLmFwcGVuZENoaWxkKHQpKX1mdW5jdGlvbiBoKGUpe2UuY3Jvc3NPcmlnaW49IiIsZS5kZWNvZGluZz0iYXN5bmMifX0sNTk4MjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3ZlcmxheVNjcm9sbENvbnRhaW5lcjooKT0+dX0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oOTY5MTY4KSxsPW8oMTAyNjc1KSxpPW8oNjg5ODk0KSxjPW8oNDYwMzcwKTtmdW5jdGlvbiB1KGUpewpjb25zdHtyZWZlcmVuY2U6dCxjbGFzc05hbWU6byxjb250YWluZXJIZWlnaHQ6cj0wLGNvbnRhaW5lcldpZHRoOnU9MCxjb250ZW50SGVpZ2h0Om09MCxjb250ZW50V2lkdGg6ZD0wLHNjcm9sbFBvc1RvcDpwPTAsc2Nyb2xsUG9zTGVmdDpoPTAsb25WZXJ0aWNhbENoYW5nZTpnLG9uSG9yaXpvbnRhbENoYW5nZTp2LHZpc2libGU6X309ZSxbZixiXT0oMCxpLnVzZUhvdmVyRGVwcmVjYXRlZCkoKSxbQyx4XT0oMCxuLnVzZVN0YXRlKSghMSkseT1yPG0sUz11PGQsdz15JiZTPzg6MDtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5iLHJlZjp0LGNsYXNzTmFtZTpzKCkobyxjLnNjcm9sbFdyYXAsKF98fGZ8fEMpJiZjLnNjcm9sbFdyYXBfdmlzaWJsZSl9LHkmJm4uY3JlYXRlRWxlbWVudChsLk92ZXJsYXlTY3JvbGwse3NpemU6ci13LHNjcm9sbFNpemU6bS13LGNsaWVudFNpemU6ci13LHNjcm9sbFByb2dyZXNzOnAsb25TY3JvbGxQcm9ncmVzc0NoYW5nZTpmdW5jdGlvbihlKXtnJiZnKGUpfSxvbkRyYWdTdGFydDprLG9uRHJhZ0VuZDpFLHNjcm9sbE1vZGU6MH0pLFMmJm4uY3JlYXRlRWxlbWVudChsLk92ZXJsYXlTY3JvbGwse3NpemU6dS13LHNjcm9sbFNpemU6ZC13LGNsaWVudFNpemU6dS13LHNjcm9sbFByb2dyZXNzOmgsb25TY3JvbGxQcm9ncmVzc0NoYW5nZTpmdW5jdGlvbihlKXt2JiZ2KGUpfSxvbkRyYWdTdGFydDprLG9uRHJhZ0VuZDpFLHNjcm9sbE1vZGU6KDAsYS5pc1J0bCkoKT8yOjF9KSk7ZnVuY3Rpb24gaygpe3goITApfWZ1bmN0aW9uIEUoKXt4KCExKX19fSwxMDI2NzUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3ZlcmxheVNjcm9sbDooKT0+cH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMTM4NjM4KSxsPW8oNjQwNzQ0KSxpPW8oNjQ2MTYyKTtjb25zdCBjPWk7dmFyIHU7IWZ1bmN0aW9uKGUpe2VbZS5WZXJ0aWNhbD0wXT0iVmVydGljYWwiLGVbZS5Ib3Jpem9udGFsPTFdPSJIb3Jpem9udGFsIixlW2UuSG9yaXpvbnRhbFJ0bD0yXT0iSG9yaXpvbnRhbFJ0bCJ9KHV8fCh1PXt9KSk7Y29uc3QgbT17MDp7aXNIb3Jpem9udGFsOiExLGlzTmVnYXRpdmU6ITEsc2l6ZVByb3BOYW1lOiJoZWlnaHQiLG1pblNpemVQcm9wTmFtZToibWluSGVpZ2h0IixzdGFydFBvaW50UHJvcE5hbWU6InRvcCIsY3VycmVudE1vdXNlUG9pbnRQcm9wTmFtZToiY2xpZW50WSIscHJvZ3Jlc3NCYXJUcmFuc2Zvcm06InRyYW5zbGF0ZVkifSwxOntpc0hvcml6b250YWw6ITAsaXNOZWdhdGl2ZTohMSxzaXplUHJvcE5hbWU6IndpZHRoIixtaW5TaXplUHJvcE5hbWU6Im1pbldpZHRoIixzdGFydFBvaW50UHJvcE5hbWU6ImxlZnQiLGN1cnJlbnRNb3VzZVBvaW50UHJvcE5hbWU6ImNsaWVudFgiLHByb2dyZXNzQmFyVHJhbnNmb3JtOiJ0cmFuc2xhdGVYIn0sMjp7aXNIb3Jpem9udGFsOiEwLGlzTmVnYXRpdmU6ITAsc2l6ZVByb3BOYW1lOiJ3aWR0aCIsbWluU2l6ZVByb3BOYW1lOiJtaW5XaWR0aCIsc3RhcnRQb2ludFByb3BOYW1lOiJyaWdodCIsY3VycmVudE1vdXNlUG9pbnRQcm9wTmFtZToiY2xpZW50WCIscHJvZ3Jlc3NCYXJUcmFuc2Zvcm06InRyYW5zbGF0ZVgifX0sZD00MDtmdW5jdGlvbiBwKGUpe2NvbnN0e3NpemU6dCxzY3JvbGxTaXplOm8sY2xpZW50U2l6ZTpyLHNjcm9sbFByb2dyZXNzOmksb25TY3JvbGxQcm9ncmVzc0NoYW5nZTp1LHNjcm9sbE1vZGU6cCx0aGVtZTpoPWMsb25EcmFnU3RhcnQ6ZyxvbkRyYWdFbmQ6dixtaW5CYXJTaXplOl89ZH09ZSxmPSgwLG4udXNlUmVmKShudWxsKSxiPSgwLG4udXNlUmVmKShudWxsKSxbQyx4XT0oMCxuLnVzZVN0YXRlKSghMSkseT0oMCxuLnVzZVJlZikoMCkse2lzSG9yaXpvbnRhbDpTLGlzTmVnYXRpdmU6dyxzaXplUHJvcE5hbWU6ayxtaW5TaXplUHJvcE5hbWU6RSxzdGFydFBvaW50UHJvcE5hbWU6TCxjdXJyZW50TW91c2VQb2ludFByb3BOYW1lOk4scHJvZ3Jlc3NCYXJUcmFuc2Zvcm06TX09bVtwXTsoMCxuLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oMCxhLmVuc3VyZU5vdE51bGwpKGYuY3VycmVudCkub3duZXJEb2N1bWVudDtyZXR1cm4gQz8oZyYmZygpLGUmJihlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsRCksZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixBKSkpOnYmJnYoKSwoKT0+e2UmJihlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsRCksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixBKSl9fSksW0NdKTtjb25zdCBUPXQvb3x8MCxQPXIqVHx8MCxJPU1hdGgubWF4KFAsXyksUj0odC1JKS8odC1QKSxPPW8tdCxCPXc/LU86MCxqPXc/MDpPLHo9VygoMCxsLmNsYW1wKShpLEIsaikpfHwwO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpmLGNsYXNzTmFtZTpzKCkoaC53cmFwLFMmJmhbIndyYXAtLWhvcml6b250YWwiXSksc3R5bGU6e1trXTp0fSxvbk1vdXNlRG93bjpmdW5jdGlvbihlKXtpZihlLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1HKGUubmF0aXZlRXZlbnQsKDAsYS5lbnN1cmVOb3ROdWxsKShmLmN1cnJlbnQpKSxvPU1hdGguc2lnbih0KSxuPSgwLGEuZW5zdXJlTm90TnVsbCkoYi5jdXJyZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt5LmN1cnJlbnQ9bypuW2tdLzI7bGV0IHI9TWF0aC5hYnModCktTWF0aC5hYnMoeS5jdXJyZW50KTtjb25zdCBzPVcoTyk7cjwwPyhyPTAseS5jdXJyZW50PXQpOnI+cyYmKHI9cyx5LmN1cnJlbnQ9dC1vKnMpO3UoVShvKnIpKSx4KCEwKX19LG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmIsY2xhc3NOYW1lOnMoKShoLmJhcixTJiZoWyJiYXItLWhvcml6b250YWwiXSksc3R5bGU6e1tFXTpfLFtrXTpJLHRyYW5zZm9ybTpgJHtNfSgke3p9cHgpYH0sb25Nb3VzZURvd246ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHkuY3VycmVudD1HKGUubmF0aXZlRXZlbnQsKDAsYS5lbnN1cmVOb3ROdWxsKShiLmN1cnJlbnQpKSx4KCEwKX19LG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7CmNsYXNzTmFtZTpzKCkoaC5iYXJJbm5lcixTJiZoWyJiYXJJbm5lci0taG9yaXpvbnRhbCJdKX0pKSk7ZnVuY3Rpb24gRChlKXtjb25zdCB0PUcoZSwoMCxhLmVuc3VyZU5vdE51bGwpKGYuY3VycmVudCkpLXkuY3VycmVudDt1KFUodCkpfWZ1bmN0aW9uIEEoKXt4KCExKX1mdW5jdGlvbiBHKGUsdCl7Y29uc3Qgbz10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW0xdO3JldHVybiBlW05dLW99ZnVuY3Rpb24gVyhlKXtyZXR1cm4gZSpUKlJ9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZS9UL1J9fX0sOTI5NDg4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2lzU2VwYXJhdG9ySXRlbTooKT0+cn0pO3ZhciBuPW8oOTAxMDIyKTtmdW5jdGlvbiByKGUpe3JldHVybigwLG4uaXNTZXBhcmF0b3JJdGVtKShlKX19LDMyMDU1KGUsdCxvKXsidXNlIHN0cmljdCI7by5yKHQpLG8uZCh0LHtyZXNvbHZlU3ltYm9sTmFtZTooKT0+YyxyZXNvbHZlU3ltYm9sTmFtZUZvckFsbDooKT0+dSxyZXNvbHZlU3ltYm9sTmFtZUZvckFsbERpc3RpbmN0OigpPT5tLHNuYXBzaG90ZXI6KCk9Pmx9KTt2YXIgbj1vKDEyODgxNCkscj1vKDYyMzUxMSkscz1vKDkyOTQ4OCk7Y29uc3QgYT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJzaG9ydF9uYW1lIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiZXhjaGFuZ2UiLCJ0eXBlc3BlY3MiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJsYXN0X3ByaWNlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJsb2dvaWQiLCJsb2dvIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwidXBkYXRlX21vZGUiLCJ1cGRhdGVfbW9kZV9zZWNvbmRzIiwicHJvX3Blcm0iLCJzb3VyY2UiLCJzb3VyY2UyIiwicHJpY2VzY2FsZSIsIm1pbm1vdiIsImZyYWN0aW9uYWwiLCJ2aXNpYmxlLXBsb3RzLXNldCIsImxvY2FsX2Rlc2NyaXB0aW9uIiwibGFuZ3VhZ2UiLCJ1bmRlcmx5aW5nLXN5bWJvbCJdKSxsPSgwLHIubGF6eVZhbHVlKSgoKCk9Pm5ldyBuLlF1b3RlU2Vzc2lvblNuYXBzaG90ZXIoe25hbWU6ImJhc2ljLXN5bWJvbC1xdW90ZXMiLGZpZWxkczpbLi4uYV0sYXBpOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSkpKSxpPW5ldyBTZXQoWyJwcm9fbmFtZSJdKTthc3luYyBmdW5jdGlvbiBjKGUpe3JldHVybigwLHMuaXNTZXBhcmF0b3JJdGVtKShlKT9lOmwoKS5nZXRTbmFwc2hvdChlLGkpLnRoZW4oKGU9PiJlcnJvciI9PT1lLnN0YXR1cz9lLnN5bWJvbG5hbWU6ZS52YWx1ZXMucHJvX25hbWUpKX1mdW5jdGlvbiB1KGUpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcChjKSl9ZnVuY3Rpb24gbShlKXtyZXR1cm4gdShlKS50aGVuKChlPT5bLi4ubmV3IFNldChlKV0pKX19LDk4NjI3NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtyZW1vdmVVc2RGcm9tQ3J5cHRvUGFpckxvZ29zOigpPT5pLHJlc29sdmVMb2dvVXJsczooKT0+YSxyZXNvbHZlTG9nb1VybHNGcm9tTG9nb0RhdGE6KCk9Pmx9KTt2YXIgbj1vKDYwMTg0MSkscj1vKDg2MjIxMyk7Y29uc3Qgcz0oMCxyLmdldExvZ29VcmxSZXNvbHZlcikoKTtmdW5jdGlvbiBhKGUsdD1yLkxvZ29TaXplLk1lZGl1bSl7Y29uc3Qgbz1lLmxvZ29pZCxuPWVbImJhc2UtY3VycmVuY3ktbG9nb2lkIl0sYT1lWyJjdXJyZW5jeS1sb2dvaWQiXSxsPW8mJnMuZ2V0U3ltYm9sTG9nb1VybChvLHQpO2lmKGwpcmV0dXJuW2xdO2NvbnN0IGk9biYmcy5nZXRTeW1ib2xMb2dvVXJsKG4sdCksYz1hJiZzLmdldFN5bWJvbExvZ29VcmwoYSx0KTtyZXR1cm4gaSYmYz9baSxjXTppP1tpXTpjP1tjXTpbXX1mdW5jdGlvbiBsKGUsdD1yLkxvZ29TaXplLk1lZGl1bSl7cmV0dXJuKCJwYWlyIj09PWUuc3R5bGU/W2UubG9nb2lkLGUubG9nb2lkMl06W2UubG9nb2lkXSkubWFwKChlPT5zLmdldFN5bWJvbExvZ29VcmwoZSx0KSkpLmZpbHRlcihuLm5vdE51bGwpfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIDIhPT1lLmxlbmd0aD9lOmZ1bmN0aW9uKGUpe3JldHVybiBlLnNvbWUoKGU9PmMoZSkpKX0oZSkmJiFmdW5jdGlvbihlKXtyZXR1cm4gZS5zb21lKChlPT5lLmluY2x1ZGVzKCJjb3VudHJ5IikmJiFjKGUpKSl9KGUpP2UuZmlsdGVyKChlPT4hYyhlKSkpOmV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5pbmNsdWRlcygiY291bnRyeS9VUyIpfX0sMjEwNzY0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3VzZU92ZXJsYXlTY3JvbGw6KCk9Pml9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDEzODYzOCkscz1vKDY4OTg5NCksYT1vKDMxODk3NCk7Y29uc3QgbD17b25Nb3VzZUVudGVyOigpPT57fSxvbk1vdXNlTGVhdmU6KCk9Pnt9fTtmdW5jdGlvbiBpKGUsdD1hLkNoZWNrTW9iaWxlLmFueSgpKXtjb25zdCBvPSgwLG4udXNlUmVmKShudWxsKSxpPWV8fCgwLG4udXNlUmVmKShudWxsKSxbYyx1XT0oMCxzLnVzZUhvdmVyKSgpLFttLGRdPSgwLG4udXNlU3RhdGUpKHtyZWZlcmVuY2U6byxjb250YWluZXJIZWlnaHQ6MCxjb250YWluZXJXaWR0aDowLGNvbnRlbnRIZWlnaHQ6MCxjb250ZW50V2lkdGg6MCxzY3JvbGxQb3NUb3A6MCxzY3JvbGxQb3NMZWZ0OjAsb25WZXJ0aWNhbENoYW5nZTpmdW5jdGlvbihlKXtkKCh0PT4oey4uLnQsc2Nyb2xsUG9zVG9wOmV9KSkpLCgwLHIuZW5zdXJlTm90TnVsbCkoaS5jdXJyZW50KS5zY3JvbGxUb3A9ZX0sb25Ib3Jpem9udGFsQ2hhbmdlOmZ1bmN0aW9uKGUpe2QoKHQ9Pih7Li4udCxzY3JvbGxQb3NMZWZ0OmV9KSkpLCgwLHIuZW5zdXJlTm90TnVsbCkoaS5jdXJyZW50KS5zY3JvbGxMZWZ0PWV9LHZpc2libGU6Y30pLHA9KDAsbi51c2VDYWxsYmFjaykoKCgpPT57aWYoIWkuY3VycmVudClyZXR1cm47Y29uc3R7Y2xpZW50SGVpZ2h0OmUsc2Nyb2xsSGVpZ2h0OnQsc2Nyb2xsVG9wOm4sY2xpZW50V2lkdGg6cixzY3JvbGxXaWR0aDpzLHNjcm9sbExlZnQ6YX09aS5jdXJyZW50LGw9by5jdXJyZW50P28uY3VycmVudC5vZmZzZXRUb3A6MDtkKChvPT4oey4uLm8sY29udGFpbmVySGVpZ2h0OmUtbCxjb250ZW50SGVpZ2h0OnQtbCxzY3JvbGxQb3NUb3A6biwKY29udGFpbmVyV2lkdGg6cixjb250ZW50V2lkdGg6cyxzY3JvbGxQb3NMZWZ0OmF9KSkpfSksW10pO2Z1bmN0aW9uIGgoKXtkKChlPT4oey4uLmUsc2Nyb2xsUG9zVG9wOigwLHIuZW5zdXJlTm90TnVsbCkoaS5jdXJyZW50KS5zY3JvbGxUb3Asc2Nyb2xsUG9zTGVmdDooMCxyLmVuc3VyZU5vdE51bGwpKGkuY3VycmVudCkuc2Nyb2xsTGVmdH0pKSl9cmV0dXJuKDAsbi51c2VFZmZlY3QpKCgoKT0+e2MmJnAoKSxkKChlPT4oey4uLmUsdmlzaWJsZTpjfSkpKX0pLFtjXSksKDAsbi51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9aS5jdXJyZW50O3JldHVybiBlJiZlLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsaCksKCk9PntlJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsaCl9fSksW2ldKSxbbSx0P2w6dSxpLHBdfX0sNzA4ODQyKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1Rvb2xXaWRnZXRDYXJldDooKT0+Y30pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMjczMzEwKSxsPW8oODEwMjgxKSxpPW8oMzU2NzIxKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2Ryb3BwZWQ6dCxjbGFzc05hbWU6b309ZTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOnMoKShvLGwuaWNvbix7W2wuZHJvcHBlZF06dH0pLGljb246aX0pfX0sOTM1MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy45MiA3LjgzIDkgMTIuMjlsNS4wOC00LjQ2LTEtMS4xM0w5IDEwLjI5bC00LjA5LTMuNi0uOTkgMS4xNFoiLz48L3N2Zz4nfSwyMzYxNDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuODQgOSA2LjYyIDUuMzNsLjc2LS42NkwxMS4xNiA5bC0zLjc4IDQuMzMtLjc2LS42Nkw5Ljg0IDlaIi8+PC9zdmc+J30sMTI1ODk3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSA5IiB3aWR0aD0iMTEiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTAuOTk5ODc4IDRMMy45OTk4OCA3TDkuOTk5ODggMSIvPjwvc3ZnPid9LDIwMzMwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQgOGE0IDQgMCAxIDAgOCAwIDQgNCAwIDEgMC04IDAiLz48L3N2Zz4nfSwyNzQ4NTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTAgOGE4IDggMCAxIDAgMTYgMEE4IDggMCAxIDAgMCA4em0yIDBhNiA2IDAgMSAwIDEyIDBBNiA2IDAgMSAwIDIgOHptMiAwYTQgNCAwIDEgMCA4IDAgNCA0IDAgMSAwLTggMCIvPjwvc3ZnPid9LDMzNDU1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTYuNSAyMEwxMSAxNC41IDE2LjUgOSIvPjwvc3ZnPid9LDM1NjcyMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgOCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTAgMS40NzVsNy4zOTYgNi4wNC41OTYuNDg1LjU5My0uNDlMMTYgMS4zOSAxNC44MDcgMCA3LjM5MyA2LjEyMiA4LjU4IDYuMTIgMS4xODYuMDh6Ii8+PC9zdmc+J30sNTgwNTk2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggNWwzLjUgMy41TDggMTIiLz48L3N2Zz4nfSwzODA1NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik03IDE1bDUgNUwyMyA5Ii8+PC9zdmc+J30sODQ0MjI1KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZW4iOnsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9LCJpbiI6eyJsYW5ndWFnZSI6ImVuIiwibGFuZ3VhZ2VfbmFtZSI6IkVuZ2xpc2gg4oCOKEluZGlhKeKAjiIsImZsYWciOiJpbiIsImdlb2lwX2NvZGUiOiJpbiIsImlzbyI6ImVuIiwiaXNvXzYzOV8zIjoiZW5nIiwiZ2xvYmFsX25hbWUiOiJJbmRpYW4ifSwiZGVfREUiOnsibGFuZ3VhZ2UiOiJkZSIsImxhbmd1YWdlX25hbWUiOiJEZXV0c2NoIiwiZmxhZyI6ImRlIiwiZ2VvaXBfY29kZSI6ImRlIiwiY291bnRyaWVzX3dpdGhfdGhpc19sYW5ndWFnZSI6WyJhdCIsImNoIl0sImlzbyI6ImRlIiwiaXNvXzYzOV8zIjoiZGV1IiwiZ2xvYmFsX25hbWUiOiJHZXJtYW4iLCJpc19pbl9ldXJvcGVhbl91bmlvbiI6dHJ1ZX0sImZyIjp7Imxhbmd1YWdlIjoiZnIiLCJsYW5ndWFnZV9uYW1lIjoiRnJhbsOnYWlzIiwiZmxhZyI6ImZyIiwiZ2VvaXBfY29kZSI6ImZyIiwiaXNvIjoiZnIiLCJpc29fNjM5XzMiOiJmcmEiLCJnbG9iYWxfbmFtZSI6IkZyZW5jaCIsImlzX2luX2V1cm9wZWFuX3VuaW9uIjp0cnVlfSwiY2FfRVMiOnsibGFuZ3VhZ2UiOiJjYV9FUyIsImxhbmd1YWdlX25hbWUiOiJDYXRhbMOgIiwiZmxhZyI6ImVzIiwiZ2VvaXBfY29kZSI6ImVzIiwiaXNvIjoiY2EiLCJpc29fNjM5XzMiOiJjYXQiLCJnbG9iYWxfbmFtZSI6IkNhdGFsYW4ifSwiZXMiOnsibGFuZ3VhZ2UiOiJlcyIsImxhbmd1YWdlX25hbWUiOiJFc3Bhw7FvbCIsImZsYWciOiJlcyIsImdlb2lwX2NvZGUiOiJlcyIsImNvdW50cmllc193aXRoX3RoaXNfbGFuZ3VhZ2UiOlsibXgiLCJhciIsInZlIiwiY2wiLCJjbyIsInBlIiwidXkiLCJweSIsImNyIiwiZ3QiLCJjIiwiYm8iLCJwYSIsInByIl0sImlzbyI6ImVzIiwiaXNvXzYzOV8zIjoic3BhIiwiZ2xvYmFsX25hbWUiOiJTcGFuaXNoIiwiaXNfaW5fZXVyb3BlYW5fdW5pb24iOnRydWV9LCJpdCI6eyJsYW5ndWFnZSI6Iml0IiwibGFuZ3VhZ2VfbmFtZSI6Ikl0YWxpYW5vIiwiZmxhZyI6Iml0IiwiZ2VvaXBfY29kZSI6Iml0IiwiaXNvIjoiaXQiLCJpc29fNjM5XzMiOiJpdGEiLCJnbG9iYWxfbmFtZSI6Ikl0YWxpYW4iLCJpc19pbl9ldXJvcGVhbl91bmlvbiI6dHJ1ZX0sInBsIjp7Imxhbmd1YWdlIjoicGwiLCJsYW5ndWFnZV9uYW1lIjoiUG9sc2tpIiwiZmxhZyI6InBsIiwiZ2VvaXBfY29kZSI6InBsIiwiaXNvIjoicGwiLCJpc29fNjM5XzMiOiJwb2wiLCJnbG9iYWxfbmFtZSI6IlBvbGlzaCIsImlzX2luX2V1cm9wZWFuX3VuaW9uIjp0cnVlfSwiaHVfSFUiOnsibGFuZ3VhZ2UiOiJodV9IVSIsImxhbmd1YWdlX25hbWUiOiJNYWd5YXIiLCJmbGFnIjoiaHUiLCJnZW9pcF9jb2RlIjoiaHUiLCJpc28iOiJodSIsImlzb182MzlfMyI6Imh1biIsImdsb2JhbF9uYW1lIjoiSHVuZ2FyaWFuIiwiaXNfaW5fZXVyb3BlYW5fdW5pb24iOnRydWV9LCJzdl9TRSI6eyJsYW5ndWFnZSI6InN2IiwibGFuZ3VhZ2VfbmFtZSI6IlN2ZW5za2EiLCJmbGFnIjoic2UiLCJnZW9pcF9jb2RlIjoic2UiLCJpc28iOiJzdiIsImlzb182MzlfMyI6InN3ZSIsImdsb2JhbF9uYW1lIjoiU3dlZGlzaCIsImlzX2luX2V1cm9wZWFuX3VuaW9uIjp0cnVlfSwidHIiOnsibGFuZ3VhZ2UiOiJ0ciIsImxhbmd1YWdlX25hbWUiOiJUw7xya8OnZSIsImZsYWciOiJ0ciIsImdlb2lwX2NvZGUiOiJ0ciIsImlzbyI6InRyIiwiaXNvXzYzOV8zIjoidHVyIiwiZ2xvYmFsX25hbWUiOiJUdXJraXNoIiwiaXNfb25seV9yZWNvbW1lbmRlZF90d19hdXRvcmVwb3N0Ijp0cnVlfSwicnUiOnsibGFuZ3VhZ2UiOiJydSIsImxhbmd1YWdlX25hbWUiOiLQoNGD0YHRgdC60LjQuSIsImZsYWciOiJydSIsImdlb2lwX2NvZGUiOiJydSIsImNvdW50cmllc193aXRoX3RoaXNfbGFuZ3VhZ2UiOlsiYW0iLCJieSIsImtnIiwia3oiLCJtZCIsInRqIiwidG0iLCJ1eiJdLCJpc28iOiJydSIsImlzb182MzlfMyI6InJ1cyIsImdsb2JhbF9uYW1lIjoiUnVzc2lhbiIsImlzX29ubHlfcmVjb21tZW5kZWRfdHdfYXV0b3JlcG9zdCI6dHJ1ZX0sImJyIjp7Imxhbmd1YWdlIjoicHQiLCJsYW5ndWFnZV9uYW1lIjoiUG9ydHVndcOqcyIsImZsYWciOiJiciIsImdlb2lwX2NvZGUiOiJiciIsImlzbyI6InB0IiwiaXNvXzYzOV8zIjoicG9yIiwiZ2xvYmFsX25hbWUiOiJQb3J0dWd1ZXNlIn0sImlkIjp7Imxhbmd1YWdlIjoiaWRfSUQiLCJsYW5ndWFnZV9uYW1lIjoiQmFoYXNhIEluZG9uZXNpYSIsImZsYWciOiJpZCIsImdlb2lwX2NvZGUiOiJpZCIsImlzbyI6ImlkIiwiaXNvXzYzOV8zIjoiaW5kIiwiZ2xvYmFsX25hbWUiOiJJbmRvbmVzaWFuIn0sIm1zX01ZIjp7Imxhbmd1YWdlIjoibXNfTVkiLCJsYW5ndWFnZV9uYW1lIjoiQmFoYXNhIE1lbGF5dSIsImZsYWciOiJteSIsImdlb2lwX2NvZGUiOiJteSIsImlzbyI6Im1zIiwiaXNvXzYzOV8zIjoiemxtIiwiZ2xvYmFsX25hbWUiOiJNYWxheXNpYW4ifSwidGhfVEgiOnsibGFuZ3VhZ2UiOiJ0aCIsImxhbmd1YWdlX25hbWUiOiLguKDguLLguKnguLLguYTguJfguKIiLCJmbGFnIjoidGgiLCJnZW9pcF9jb2RlIjoidGgiLCJpc28iOiJ0aCIsImlzb182MzlfMyI6InRoYSIsImdsb2JhbF9uYW1lIjoiVGhhaSJ9LCJ2aV9WTiI6eyJsYW5ndWFnZSI6InZpIiwibGFuZ3VhZ2VfbmFtZSI6IlRp4bq/bmcgVmnhu4d0IiwiZmxhZyI6InZuIiwiZ2VvaXBfY29kZSI6InZuIiwiaXNvIjoidmkiLCJpc29fNjM5XzMiOiJ2aWUiLCJnbG9iYWxfbmFtZSI6IlZpZXRuYW1lc2UifSwiamEiOnsibGFuZ3VhZ2UiOiJqYSIsImxhbmd1YWdlX25hbWUiOiLml6XmnKzoqp4iLCJmbGFnIjoianAiLCJnZW9pcF9jb2RlIjoianAiLCJpc28iOiJqYSIsImlzb182MzlfMyI6ImpwbiIsImdsb2JhbF9uYW1lIjoiSmFwYW5lc2UifSwia3IiOnsibGFuZ3VhZ2UiOiJrbyIsImxhbmd1YWdlX25hbWUiOiLtlZzqta3slrQiLCJmbGFnIjoia3IiLCJnZW9pcF9jb2RlIjoia3IiLCJpc28iOiJrbyIsImlzb182MzlfMyI6ImtvciIsImdsb2JhbF9uYW1lIjoiS29yZWFuIn0sInpoX0NOIjp7Imxhbmd1YWdlIjoiemgiLCJsYW5ndWFnZV9uYW1lIjoi566A5L2T5Lit5paHIiwiZmxhZyI6ImNuIiwiZ2VvaXBfY29kZSI6ImNuIiwiY291bnRyaWVzX3dpdGhfdGhpc19sYW5ndWFnZSI6WyJ6aCJdLCJpc28iOiJ6aC1IYW5zIiwiaXNvXzYzOV8zIjoiY21uIiwiZ2xvYmFsX25hbWUiOiJDaGluZXNlIn0sInpoX1RXIjp7Imxhbmd1YWdlIjoiemhfVFciLCJsYW5ndWFnZV9uYW1lIjoi57mB6auU5Lit5paHIiwiZmxhZyI6InR3IiwiZ2VvaXBfY29kZSI6InR3IiwiY291bnRyaWVzX3dpdGhfdGhpc19sYW5ndWFnZSI6WyJoayJdLCJpc28iOiJ6aC1IYW50IiwiaXNvXzYzOV8zIjoiY21uIiwiZ2xvYmFsX25hbWUiOiJUYWl3YW5lc2UifSwiYXJfQUUiOnsibGFuZ3VhZ2UiOiJhciIsImxhbmd1YWdlX25hbWUiOiLYp9mE2LnYsdio2YrYqSIsImZsYWciOiJzYSIsImdlb2lwX2NvZGUiOiJzYSIsImNvdW50cmllc193aXRoX3RoaXNfbGFuZ3VhZ2UiOlsiYWUiLCJiaCIsImRqIiwiZHoiLCJlZyIsImVyIiwiaXEiLCJqbyIsImttIiwia3ciLCJsYiIsImx5IiwibWEiLCJtciIsIm9tIiwicWEiLCJzYSIsInNkIiwic28iLCJzeSIsInRkIiwidG4iLCJ5ZSJdLCJkaXIiOiJydGwiLCJpc28iOiJhciIsImlzb182MzlfMyI6ImFyYiIsImdsb2JhbF9uYW1lIjoiQXJhYmljIn0sImhlX0lMIjp7Imxhbmd1YWdlIjoiaGVfSUwiLCJsYW5ndWFnZV9uYW1lIjoi16LXkdeo15nXqiIsImZsYWciOiJpbCIsImdlb2lwX2NvZGUiOiJpbCIsImRpciI6InJ0bCIsImlzbyI6ImhlIiwiaXNvXzYzOV8zIjoiaGViIiwiZ2xvYmFsX25hbWUiOiJJc3JhZWxpIn19JykKfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCJTO.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.513Z","timestamp":1785136905513,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCJTO.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCNXPC.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.548Z","timestamp":1785136905548,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCNXPC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/63160.2a3a21185fbcc7079dae.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.365Z","timestamp":1785136900365,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/63160.2a3a21185fbcc7079dae.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 40809f66fd4bbda41247327683318c5c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27733,"size_decoded":8684,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"cfb4ec7bf74cebe56275390e404eea0f","sha1":"4252ecbde693198d544ad5f483339e8527626b7d","sha256":"6c3a092a58a55249537be71395c07358a4ff94120d96468eb32669c2405dbe89","sha512":"502ad261df8d3d31d8decf44c403084f175783156886850f601a8404bfedddb9baeedf09aae6727cc4d18f8b3d1d59e554cc357a494b93754a34a68a9f7eafda","ssdeep":"768:OdGn8wXtPTrG8Pz8ZQXllEu7x1zR2tDZTrQGikOjULp/BS53dCo15V1:OrtI","tlshash":"3cc2945631977136aba2c64644350703e33635683a4b699cf73cface6b1ec42913ea3d","first_seen":"2026-07-23T13:54:09.047216Z","last_seen":"2026-07-31T06:34:35.4362Z","times_seen":457,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjMxNjBdLHs2NDI3MTkodCxlLHMpe3MuZChlLHtCYXJCdWlsZGVyQmFzZTooKT0+byxTZXNzaW9uSW5mbzooKT0+YX0pO3ZhciByPXMoNzAwODA5KSxuPXMoMjk1MTQpLGk9cyg1NTk2OSk7Y2xhc3MgYXtjb25zdHJ1Y3Rvcih0LGUscyxyKXt0aGlzLmluaXQodCxlLHMsciksdGhpcy5fc3RhdGU9e3RpbWV6b25lOnQsc3BlYzplLGhvbGlkYXlzOnMsY29ycmVjdGlvbnM6cn19aW5pdCh0LGUscyxuKXt0aGlzLnRpbWV6b25lPSgwLHIuZ2V0X3RpbWV6b25lKSh0KSx0aGlzLnNwZWM9bmV3IGkuU2Vzc2lvbnNTcGVjKHQsZSxzLG4pfXN0YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXRlfXN0YXRpYyBmcm9tU3RhdGUodCl7cmV0dXJuIG5ldyBhKHQudGltZXpvbmUsdC5zcGVjLHQuaG9saWRheXMsdC5jb3JyZWN0aW9ucyl9c3RhdGljIHdyYXAodCl7Y29uc3QgZT1uZXcgYSgiRXRjL1VUQyIsIjI0eDciKTtyZXR1cm4gZS5zcGVjPXQsZX1zdGF0aWMgY3JlYXRlKHQsZSxzLHIpe3JldHVybiBuZXcgYSh0LGUscyxyKX19Y2xhc3Mgb3thbGlnblRpbWUodCl7aWYoaXNOYU4odCkpcmV0dXJuIE5hTjtsZXQgZT10aGlzLmluZGV4T2ZCYXIodCk7cmV0dXJuIGU9PT1uLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJih0aGlzLm1vdmVUbyh0KSxlPXRoaXMuaW5kZXhPZkJhcih0KSksZTwwP05hTjp0aGlzLnN0YXJ0T2ZCYXIoZSl9fX0sNzcxNzk1KHQsZSxzKXtpZihzLmQoZSx7Z2V0UGVyaW9kc0JldHdlZW5EYXRlczooKT0+dixuZXdCYXJCdWlsZGVyOigpPT53fSksL14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopKXZhciByPXMoNzAwODA5KTt2YXIgbj1zKDI1NDY3Myk7aWYoIS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSlyPXMoNzAwODA5KTt2YXIgaT1zKDY0MDc0NCksYT1zKDY0MjcxOSksbz1zKDI5NTE0KSxkPXMoMzQxMDM2KTtjbGFzcyBfe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fZXh0ZW5kZWRTdGFydE1zPXQsdGhpcy5fZXh0ZW5kZWRFbmRNcz1lfWluZGV4T2ZCYXIodCxlKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE1zPnQ/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046ZS5zZXNzaW9uU3RhcnRNcz50PzA6ZS5zZXNzaW9uRW5kTXM8PXQ/dGhpcy5fZXh0ZW5kZWRFbmRNczw9dD9vLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT046ZS5pbmRleE9mTGFzdEJhckluU2Vzc2lvbigpOmUuZ2V0SW5kZXhPZkJhcihlLmJhcnNTdGFydE1zLHQpfWVuZE9mQmFyKHQsZSl7aWYodD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpcmV0dXJuIHRoaXMuX2V4dGVuZGVkRW5kTXM7Y29uc3Qgcz1lLmdldEVuZE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7cmV0dXJuIGUuc2Vzc2lvbkVuZE1zPD1zP3RoaXMuX2V4dGVuZGVkRW5kTXM6c31wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodCl7cmV0dXJuIHRoaXMuX2V4dGVuZGVkRW5kTXN9c3RhcnRPZkJhcih0LGUpe3JldHVybiBlLmdldFN0YXJ0T2ZCYXIoZS5iYXJzU3RhcnRNcyx0KX19Y2xhc3MgZntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9pbnRlcnZhbHM9dH1pbmRleE9mQmFyKHQsZSl7aWYodGhpcy5fZmlyc3RJbnRlcnZhbCgpLmV4dGVuZGVkU3RhcnRNcz50KXJldHVybiBvLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTjtjb25zdCBzPXRoaXMuX25lYXJlc3RJbnRlcnZhbCh0KTtyZXR1cm4gbnVsbD09PXM/by5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OOnMuZXh0ZW5kZWRTdGFydE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk6cy5zdGFydE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMscy5zdGFydE1zKTpzLmVuZE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk6ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMscy5lbmRNcy0xKX1lbmRPZkJhcih0LGUpe2lmKHQ9PT1vLlNlc3Npb25TdGFnZS5MQVNUX1NFU1NJT05fRU5EKXJldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zO2NvbnN0IHM9ZS5nZXRFbmRPZkJhcihlLmJhcnNTdGFydE1zLHQpLHI9dGhpcy5fbmVhcmVzdEludGVydmFsKHMpO3JldHVybiBudWxsPT09cj90aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zOnIuZW5kTXM8PXM/ci5leHRlbmRlZEVuZE1zOnN9cG9zdFNlc3Npb25TdGFydE9mQmFyKHQpe3JldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zfXN0YXJ0T2ZCYXIodCxlKXtyZXR1cm4gZS5nZXRTdGFydE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCl9X25lYXJlc3RJbnRlcnZhbCh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9pbnRlcnZhbHMpaWYoZS5leHRlbmRlZEVuZE1zPnQpcmV0dXJuIGU7cmV0dXJuIG51bGx9X2ZpcnN0SW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5faW50ZXJ2YWxzWzBdfV9sYXN0SW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5faW50ZXJ2YWxzW3RoaXMuX2ludGVydmFscy5sZW5ndGgtMV19fWNsYXNzIFN7Y29uc3RydWN0b3IodCl7dGhpcy5faW50ZXJ2YWxzPXR9aW5kZXhPZkJhcih0LGUpe2lmKGUuc2Vzc2lvblN0YXJ0TXM+dClyZXR1cm4gby5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT047Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCk7cmV0dXJuIG51bGw9PT1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpzLnN0YXJ0TXM+dD9zLmluZGV4T2Zmc2V0OmUuZ2V0SW5kZXhPZkJhcihzLmJhcnNTdGFydE1zLHQpK3MuaW5kZXhPZmZzZXR9ZW5kT2ZCYXIodCxlKXtpZih0PT09by5TZXNzaW9uU3RhZ2UuTEFTVF9TRVNTSU9OX0VORClyZXR1cm4gZS5zZXNzaW9uRW5kTXM7Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpO2lmKG51bGw9PT1zKXJldHVybiBlLmdldEVuZE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7Y29uc3Qgcj1lLmdldEVuZE9mQmFyKHMuYmFyc1N0YXJ0TXMsdC1zLmluZGV4T2Zmc2V0KQo7cmV0dXJuIHI+cy5lbmRNcz9yPmUuc2Vzc2lvbkVuZE1zP2Uuc2Vzc2lvbkVuZE1zOnMubGFzdEJhckVuZE1zOnJ9cG9zdFNlc3Npb25TdGFydE9mQmFyKHQpe3JldHVybiB0LnNlc3Npb25FbmRNc31zdGFydE9mQmFyKHQsZSl7Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpO2lmKG51bGw9PT1zKXJldHVybiBlLmdldFN0YXJ0T2ZCYXIoZS5iYXJzU3RhcnRNcyx0KTtjb25zdCByPXQtcy5pbmRleE9mZnNldDtyZXR1cm4gMD09PXI/cy5maXJzdEJhclN0YXJ0TXM6ZS5nZXRTdGFydE9mQmFyKHMuYmFyc1N0YXJ0TXMscil9X25lYXJlc3RJbnRlcnZhbEJ5VGltZSh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9pbnRlcnZhbHMpaWYoZS5lbmRNcz50KXJldHVybiBlO3JldHVybiBudWxsfV9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpe2ZvcihsZXQgZT10aGlzLl9pbnRlcnZhbHMubGVuZ3RoLTE7ZT49MDtlLS0pe2NvbnN0IHM9dGhpcy5faW50ZXJ2YWxzW2VdO2lmKHMuaW5kZXhPZmZzZXQ8PXQpcmV0dXJuIHN9cmV0dXJuIG51bGx9fWNsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5faW50ZXJ2YWxzPXR9aW5kZXhPZkJhcih0LGUpe2lmKHRoaXMuX2ZpcnN0SW50ZXJ2YWwoKS5leHRlbmRlZFN0YXJ0TXM+dClyZXR1cm4gby5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT047Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCk7cmV0dXJuIG51bGw9PT1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpzLmV4dGVuZGVkU3RhcnRNcz50fHxzLnN0YXJ0TXM+dD9zLmluZGV4T2Zmc2V0OnMuZW5kTXM+dD9lLmdldEluZGV4T2ZCYXIocy5iYXJzU3RhcnRNcyx0KStzLmluZGV4T2Zmc2V0OmUuZ2V0SW5kZXhPZkJhcihzLmJhcnNTdGFydE1zLHMuZW5kTXMtMSkrcy5pbmRleE9mZnNldH1lbmRPZkJhcih0LGUpe2lmKHQ9PT1vLlNlc3Npb25TdGFnZS5MQVNUX1NFU1NJT05fRU5EKXJldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zO2NvbnN0IHM9dGhpcy5fbmVhcmVzdEludGVydmFsQnlJbmRleCh0KTtpZihudWxsPT09cylyZXR1cm4gZS5nZXRFbmRPZkJhcihlLmJhcnNTdGFydE1zLHQpO2NvbnN0IHI9ZS5nZXRFbmRPZkJhcihzLmJhcnNTdGFydE1zLHQtcy5pbmRleE9mZnNldCk7cmV0dXJuIHI9PT1zLmVuZE1zfHxyPmUuc2Vzc2lvbkVuZE1zP3MuZXh0ZW5kZWRFbmRNczpyPnMuZW5kTXM/cy5sYXN0QmFyRW5kTXM6cn1wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodCl7cmV0dXJuIHRoaXMuX2xhc3RJbnRlcnZhbCgpLmV4dGVuZGVkRW5kTXN9c3RhcnRPZkJhcih0LGUpe2NvbnN0IHM9dGhpcy5fbmVhcmVzdEludGVydmFsQnlJbmRleCh0KTtpZihudWxsPT09cylyZXR1cm4gZS5nZXRTdGFydE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7Y29uc3Qgcj10LXMuaW5kZXhPZmZzZXQ7cmV0dXJuIDA9PT1yP3MuZmlyc3RCYXJTdGFydE1zOmUuZ2V0U3RhcnRPZkJhcihzLmJhcnNTdGFydE1zLHIpfV9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faW50ZXJ2YWxzKWlmKGUuZXh0ZW5kZWRFbmRNcz50KXJldHVybiBlO3JldHVybiBudWxsfV9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpe2ZvcihsZXQgZT10aGlzLl9pbnRlcnZhbHMubGVuZ3RoLTE7ZT49MDtlLS0pe2NvbnN0IHM9dGhpcy5faW50ZXJ2YWxzW2VdO2lmKHMuaW5kZXhPZmZzZXQ8PXQpcmV0dXJuIHN9cmV0dXJuIG51bGx9X2xhc3RJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pbnRlcnZhbHNbdGhpcy5faW50ZXJ2YWxzLmxlbmd0aC0xXX1fZmlyc3RJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pbnRlcnZhbHNbMF19fWNsYXNzIGggZXh0ZW5kcyBhLkJhckJ1aWxkZXJCYXNle2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLl9zZXNzaW9uU3RhcnRNcz0tTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9zZXNzaW9uRW5kTXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fYmFyc1N0YXJ0TXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fdHJhZGluZ0RheU1pZG5pZ2h0TXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fYmFyQ2FsY3VsYXRvcj1udWxsLHRoaXMuX3Nlc3Npb25CcmVha3M9W10sdGhpcy5fcGVyaW9kU2VjPXQsdGhpcy5fc2Vzc2lvbj1lfWdldCBzZXNzaW9uU3RhcnRNcygpe3JldHVybiB0aGlzLl9zZXNzaW9uU3RhcnRNc31nZXQgc2Vzc2lvbkVuZE1zKCl7cmV0dXJuIHRoaXMuX3Nlc3Npb25FbmRNc31nZXQgYmFyc1N0YXJ0TXMoKXtyZXR1cm4gdGhpcy5fYmFyc1N0YXJ0TXN9aXNJblNlc3Npb25CcmVhayh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9zZXNzaW9uQnJlYWtzKXtpZih0PGUuYnJlYWtTdGFydE1zKXJldHVybiExO2lmKHQ8ZS5icmVha0VuZE1zKXJldHVybiEwfXJldHVybiExfWFsaWduVGltZUlmUG9zc2libGUodCl7Y29uc3QgZT10aGlzLmFsaWduVGltZSh0KTtyZXR1cm4gaXNOYU4oZSk/dDplfWluZGV4T2ZCYXIodCl7cmV0dXJuIG51bGwhPT10aGlzLl9iYXJDYWxjdWxhdG9yP3RoaXMuX2JhckNhbGN1bGF0b3IuaW5kZXhPZkJhcih0LHRoaXMpOnQ8dGhpcy5fc2Vzc2lvblN0YXJ0TXM/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046dD49dGhpcy5fc2Vzc2lvbkVuZE1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjp0aGlzLmdldEluZGV4T2ZCYXIodGhpcy5fYmFyc1N0YXJ0TXMsdCl9c3RhcnRPZkJhcih0KXtzd2l0Y2godCl7Y2FzZSBvLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTjpyZXR1cm4gdGhpcy5fZ2V0UHJldlNlc3Npb24oKTtjYXNlIG8uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpyZXR1cm4gbnVsbCE9PXRoaXMuX2JhckNhbGN1bGF0b3I/dGhpcy5fYmFyQ2FsY3VsYXRvci5wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodGhpcyk6dGhpcy5fc2Vzc2lvbkVuZE1zO2Nhc2Ugby5TZXNzaW9uU3RhZ2UuTEFTVEJBUl9TRVNTSU9OOnQ9dGhpcy5pbmRleE9mTGFzdEJhckluU2Vzc2lvbigpO2JyZWFrO2Nhc2Ugby5TZXNzaW9uU3RhZ2UuRklSU1RfU0VTU0lPTl9TVEFSVDpjYXNlIDA6cmV0dXJuIHRoaXMuX3Nlc3Npb25TdGFydE1zfQpyZXR1cm4gbnVsbCE9PXRoaXMuX2JhckNhbGN1bGF0b3I/dGhpcy5fYmFyQ2FsY3VsYXRvci5zdGFydE9mQmFyKHQsdGhpcyk6dGhpcy5nZXRTdGFydE9mQmFyKHRoaXMuX2JhcnNTdGFydE1zLHQpfWVuZE9mQmFyKHQpe2lmKG51bGwhPT10aGlzLl9iYXJDYWxjdWxhdG9yKXJldHVybiB0aGlzLl9iYXJDYWxjdWxhdG9yLmVuZE9mQmFyKHQsdGhpcyk7aWYodD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpcmV0dXJuIHRoaXMuX3Nlc3Npb25FbmRNcztpZih0PDApdGhyb3cgbmV3IEVycm9yKCJJbmRleCBjYW5ub3QgYmUgbmVnYXRpdmUiKTtjb25zdCBlPXRoaXMuZ2V0RW5kT2ZCYXIodGhpcy5fYmFyc1N0YXJ0TXMsdCk7cmV0dXJuIE1hdGgubWluKGUsdGhpcy5fc2Vzc2lvbkVuZE1zKX1pc0xhc3RCYXIodCxlKXtjb25zdCBzPXRoaXMuZW5kT2ZCYXIodCk7cmV0dXJuIGU+PSh0aGlzLl9wZXJpb2RTZWM+PTYwP3MtNmU0OnMtMWUzKX1tb3ZlVG8odCl7Y29uc3QgZT10aGlzLl9zZXNzaW9uLnRpbWV6b25lLHM9KDAsci51dGNfdG9fY2FsKShlLHQpLG49dGhpcy5fc2Vzc2lvbi5zcGVjLmFsaWduVG9FbnRyeVN0YXJ0RXh0ZW5kZWQocykuZW50cnk7aWYodGhpcy5fYmFyQ2FsY3VsYXRvcj1udWxsLHRoaXMuX3Nlc3Npb25CcmVha3M9W10sKDAsZC5pc1VuaWZpZWRFbnRyeSkobikpe2NvbnN0IHQ9bi5zdGFydE9mZnNldCgpLHI9bi5nZXRVbmlmaWVkRW50cmllcygpWzBdLmdldEVudHJ5KCk7dGhpcy5fc2V0VXBCYXNlRnJvbUVudHJ5V2l0aE1pZG5pZ2h0KHIscyx0LGUpLHRoaXMuX3NldFVwRnJvbVVuaWZpZWQobixzLGUpfWVsc2UgaWYoKDAsZC5pc1VuaWZpZWRTaGlmdGVkRW50cnkpKG4pKXtjb25zdCB0PW4uc3RhcnRPZmZzZXQoKSxyPW4uZ2V0VW5pZmllZEVudHJpZXMoKVswXS5nZXRFbnRyeSgpO3RoaXMuX3NldFVwQmFzZUZyb21FbnRyeVdpdGhNaWRuaWdodChyLHMsdCxlKSx0aGlzLl9zZXRVcEZyb21VbmlmaWVkU2hpZnRlZChuLHMsZSl9ZWxzZSB0aGlzLl9zZXRVcEJhc2VGcm9tRW50cnkobixzLGUpLCgwLGQuaXNFeHRlbmRlZEVudHJ5KShuKSYmdGhpcy5fc2V0VXBGcm9tRXh0ZW5kZWQobil9aW5kZXhPZkxhc3RCYXJJblNlc3Npb24oKXtyZXR1cm4gdGhpcy5pbmRleE9mQmFyKHRoaXMuX3Nlc3Npb25FbmRNcy0xKX1pbmRleE9mRmlyc3RCYXJJblNlc3Npb24oKXtyZXR1cm4gdGhpcy5pbmRleE9mQmFyKHRoaXMuX3Nlc3Npb25TdGFydE1zKX1tb3ZlTmV4dCgpe3RoaXMubW92ZVRvKHRoaXMuX3Nlc3Npb25FbmRNcyl9Z2V0SW5kZXhPZkJhcih0LGUpe3JldHVybigwLGkudG9JbnQpKCgwLHIudGltZV9zZWNvbmRzX2RpZmYpKGUsdCkvdGhpcy5fcGVyaW9kU2VjKX1nZXRTdGFydE9mQmFyKHQsZSl7cmV0dXJuIHQrKDAsci50aW1lX3NlY29uZHMpKHRoaXMuX3BlcmlvZFNlYyplKX1nZXRFbmRPZkJhcih0LGUpe3JldHVybiB0KygwLHIudGltZV9zZWNvbmRzKSh0aGlzLl9wZXJpb2RTZWMqKGUrMSkpfXN0YXRpYyBtaW51dGVzKHQsZSl7cmV0dXJuIG5ldyBoKDYwKnQsZSl9c3RhdGljIHNlY29uZHModCxlKXtyZXR1cm4gbmV3IGgodCxlKX1fZ2V0UHJldlNlc3Npb24oKXtjb25zdCB0PSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uLnRpbWV6b25lLHRoaXMuX3Nlc3Npb25TdGFydE1zLTEpLGU9dGhpcy5fc2Vzc2lvbi5zcGVjLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LC0xKTtyZXR1cm4oMCxyLmNhbF90b191dGMpKHRoaXMuX3Nlc3Npb24udGltZXpvbmUsZSl9X3NldFVwQmFzZUZyb21FbnRyeVdpdGhNaWRuaWdodCh0LGUscyxuKXtsZXQgaT1udWxsLGE9dDtmb3IoOzspaWYoKDAsZC5pc09mZnNldEVudHJ5KShhKSlpPWEsYT1hLmdldEVudHJ5KCk7ZWxzZXtpZighKDAsZC5pc0V4dGVuZGVkRW50cnkpKGEpKWJyZWFrO2E9YS5nZXRFbnRyeSgpfWNvbnN0IG89YSxfPSgwLHIuY2FsX3RvX3V0YykobixlKTt0aGlzLl90cmFkaW5nRGF5TWlkbmlnaHRNcz1fLTYwKnMqMWUzLHRoaXMuX3Nlc3Npb25TdGFydE1zPXRoaXMuX29mZnNldFRvTXMoby5zdGFydE9mZnNldCgpKTtjb25zdCBmPSgwLHIudXRjX3RvX2NhbCkobix0aGlzLl9zZXNzaW9uU3RhcnRNcyk7KDAsci5hZGRfbWludXRlcykoZixvLmxlbmd0aCgpKSx0aGlzLl9zZXNzaW9uRW5kTXM9KDAsci5jYWxfdG9fdXRjKShuLGYpLHRoaXMuX2JhcnNTdGFydE1zPXRoaXMuX3Nlc3Npb25TdGFydE1zLG51bGwhPT1pJiZ0aGlzLl9zZXRVcEZyb21PZmZzZXQoaSl9X3NldFVwQmFzZUZyb21FbnRyeSh0LGUscyl7bGV0IG49bnVsbCxpPXQ7Zm9yKDs7KWlmKCgwLGQuaXNPZmZzZXRFbnRyeSkoaSkpbj1pLGk9aS5nZXRFbnRyeSgpO2Vsc2V7aWYoISgwLGQuaXNFeHRlbmRlZEVudHJ5KShpKSlicmVhaztpPWkuZ2V0RW50cnkoKX1jb25zdCBhPWk7dGhpcy5fc2Vzc2lvblN0YXJ0TXM9KDAsci5jYWxfdG9fdXRjKShzLGUpLHRoaXMuX3RyYWRpbmdEYXlNaWRuaWdodE1zPXRoaXMuX3Nlc3Npb25TdGFydE1zLTYwKmEuc3RhcnRPZmZzZXQoKSoxZTM7Y29uc3Qgbz0oMCxyLnV0Y190b19jYWwpKHMsdGhpcy5fc2Vzc2lvblN0YXJ0TXMpOygwLHIuYWRkX21pbnV0ZXMpKG8sYS5sZW5ndGgoKSksdGhpcy5fc2Vzc2lvbkVuZE1zPSgwLHIuY2FsX3RvX3V0YykocyxvKSx0aGlzLl9iYXJzU3RhcnRNcz10aGlzLl9zZXNzaW9uU3RhcnRNcyxudWxsIT09biYmdGhpcy5fc2V0VXBGcm9tT2Zmc2V0KG4pfV9vZmZzZXRUb01zKHQpe3JldHVybiB0aGlzLl90cmFkaW5nRGF5TWlkbmlnaHRNcys2MCp0KjFlM31fc2V0VXBGcm9tT2Zmc2V0KHQpe2NvbnN0IGU9NjAqdC5zdGFydE9mZnNldCgpLHM9NjAqdC5iYXJzT2Zmc2V0KCk7dGhpcy5fYmFyc1N0YXJ0TXM9dGhpcy5fc2Vzc2lvblN0YXJ0TXMtMWUzKihlLXMpfV9zZXRVcEZyb21FeHRlbmRlZCh0KXt0aGlzLl9iYXJDYWxjdWxhdG9yPW5ldyBfKHRoaXMuX29mZnNldFRvTXModC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpLHRoaXMuX29mZnNldFRvTXModC5leHRlbmRlZEVuZE9mZnNldCgpKSl9X3NldFVwRnJvbVVuaWZpZWQodCxlLHMpewpjb25zdCByPXQuZ2V0VW5pZmllZEVudHJpZXMoKSxuPXJbci5sZW5ndGgtMV07dGhpcy5fc2Vzc2lvbkVuZE1zPXRoaXMuX29mZnNldFRvTXMobi5lbmRPZmZzZXQoKSksdC5oYXNFeHRlbmRlZEVudHJ5KCk/KHRoaXMuX2JhckNhbGN1bGF0b3I9bmV3IGYodGhpcy5fdG9FeHRlbmRlZEludGVydmFscyhyKSksdGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b0V4dGVuZGVkU2Vzc2lvbkJyZWFrcyhyKSk6dGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b1Nlc3Npb25CcmVha3Mocil9X3NldFVwRnJvbVVuaWZpZWRTaGlmdGVkKHQsZSxzKXtjb25zdCByPXQuZ2V0VW5pZmllZEVudHJpZXMoKSxuPXJbci5sZW5ndGgtMV07dGhpcy5fc2Vzc2lvbkVuZE1zPXRoaXMuX29mZnNldFRvTXMobi5lbmRPZmZzZXQoKSksdC5oYXNFeHRlbmRlZEVudHJ5KCk/KHRoaXMuX2JhckNhbGN1bGF0b3I9bmV3IGwodGhpcy5fdG9TaGlmdGVkRXh0ZW5kZWRJbnRlcnZhbHMocikpLHRoaXMuX3Nlc3Npb25CcmVha3M9dGhpcy5fdG9FeHRlbmRlZFNlc3Npb25CcmVha3MocikpOih0aGlzLl9iYXJDYWxjdWxhdG9yPW5ldyBTKHRoaXMuX3RvU2hpZnRlZEludGVydmFscyhyKSksdGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b1Nlc3Npb25CcmVha3MocikpfV90b1Nlc3Npb25CcmVha3ModCl7Y29uc3QgZT1bXTtmb3IobGV0IHM9MTtzPHQubGVuZ3RoO3MrKyl7Y29uc3Qgcj10W3MtMV0sbj10W3NdO2UucHVzaCh7YnJlYWtTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoci5lbmRPZmZzZXQoKSksYnJlYWtFbmRNczp0aGlzLl9vZmZzZXRUb01zKG4uc3RhcnRPZmZzZXQoKSl9KX1yZXR1cm4gZX1fdG9FeHRlbmRlZFNlc3Npb25CcmVha3ModCl7Y29uc3QgZT1bXTtmb3IobGV0IHM9MTtzPHQubGVuZ3RoO3MrKyl7Y29uc3Qgcj10W3MtMV0sbj10W3NdO2UucHVzaCh7YnJlYWtTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoci5leHRlbmRlZEVuZE9mZnNldCgpKSxicmVha0VuZE1zOnRoaXMuX29mZnNldFRvTXMobi5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpfSl9cmV0dXJuIGV9X3RvRXh0ZW5kZWRJbnRlcnZhbHModCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgcyBvZiB0KWUucHVzaCh7c3RhcnRNczp0aGlzLl9vZmZzZXRUb01zKHMuc3RhcnRPZmZzZXQoKSksZW5kTXM6dGhpcy5fb2Zmc2V0VG9NcyhzLmVuZE9mZnNldCgpKSxleHRlbmRlZFN0YXJ0TXM6dGhpcy5fb2Zmc2V0VG9NcyhzLmV4dGVuZGVkU3RhcnRPZmZzZXQoKSksZXh0ZW5kZWRFbmRNczp0aGlzLl9vZmZzZXRUb01zKHMuZXh0ZW5kZWRFbmRPZmZzZXQoKSl9KTtyZXR1cm4gZX1fdG9TaGlmdGVkRXh0ZW5kZWRJbnRlcnZhbHModCl7Y29uc3QgZT1bXSxzPXRoaXMuX3RvU2hpZnRlZEludGVydmFscyh0KTtmb3IobGV0IHI9MDtyPHMubGVuZ3RoO3IrKyl7Y29uc3Qgbj1zW3JdLGk9dFtyXTtlLnB1c2goey4uLm4sZXh0ZW5kZWRTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoaS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpLGV4dGVuZGVkRW5kTXM6dGhpcy5fb2Zmc2V0VG9NcyhpLmV4dGVuZGVkRW5kT2Zmc2V0KCkpfSl9cmV0dXJuIGV9X3RvU2hpZnRlZEludGVydmFscyh0KXtsZXQgZSxzLG4sYSxvPXRoaXMuX2JhcnNTdGFydE1zLGQ9MCxfPTAsZj0wO2NvbnN0IFM9KDAsci50aW1lX3NlY29uZHMpKHRoaXMuX3BlcmlvZFNlYyk7bGV0IGw9ITEsaD0wLHU9MDtjb25zdCBjPVtdO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKXtjb25zdCBnPXRbcl07ZT10aGlzLl9vZmZzZXRUb01zKGcuc3RhcnRPZmZzZXQoKSkscz10aGlzLl9vZmZzZXRUb01zKGcuZW5kT2Zmc2V0KCkpLHI+MCYmKG89ZS1mLGQrPV8pO2NvbnN0IE89cy1vO189KDAsaS50b0ludCkoTy9TKSxmPU8lUyxuPWw/aDplLGw9Zj4wLGw/KHU8cyYmKGg9cy1mLHU9dGhpcy5fY2FsY3VsYXRlVGhyb3VnaEJhckVuZChTLWYscisxLHQpKSxhPXUpOmE9cyxjLnB1c2goe3N0YXJ0TXM6ZSxlbmRNczpzLGJhcnNTdGFydE1zOm8sZmlyc3RCYXJTdGFydE1zOm4sbGFzdEJhckVuZE1zOmEsaW5kZXhPZmZzZXQ6ZH0pfXJldHVybiBjfV9jYWxjdWxhdGVUaHJvdWdoQmFyRW5kKHQsZSxzKXtmb3IobGV0IHI9ZTtyPHMubGVuZ3RoO3IrKyl7Y29uc3QgZT1zW3JdLG49NjAqZS5sZW5ndGgoKSoxZTM7aWYoISh0Pm4pKXJldHVybiB0aGlzLl9vZmZzZXRUb01zKGUuc3RhcnRPZmZzZXQoKSkrdDt0LT1ufXJldHVybiB0aGlzLl9zZXNzaW9uRW5kTXN9fXZhciB1PXMoMTM4NjM4KSxjPXMoMzA4MjEpO2NvbnN0IGc9KDAsci5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIik7ZnVuY3Rpb24gTyh0LGUscyl7Y29uc3Qgbj0oMCxyLmNsb25lKShlKSxpPXQuYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMobiwxKTtpPjEmJigwLHIuYWRkX2RhdGUpKG4saS0xKTtjb25zdCBhPXQubGVmdEJvcmRlck9mRGFpbHlCYXIobik7aWYobnVsbD09PWEpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgY2FsY3VsYXRlIGxlZnQgYm9yZGVyIG9mIGRhaWx5IGJhciIpO3JldHVybigwLHIuY2FsX3RvX3V0YykocyxhLCEwKX1jbGFzcyBFe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5mcm9tPXQsdGhpcy50bz1lfXRvU3RyaW5nKCl7cmV0dXJuYCR7dGhpcy5mcm9tLnRvU3RyaW5nKCl9IC0gJHt0aGlzLnRvLnRvU3RyaW5nKCl9YH19Y2xhc3MgQiBleHRlbmRzIGEuQmFyQnVpbGRlckJhc2V7Y29uc3RydWN0b3IodCxlLHMscixuPSExKXtzdXBlcigpLHRoaXMuX3BlcmlvZFN0YXJ0PS1OdW1iZXIuTUFYX1ZBTFVFLHRoaXMuX3BlcmlvZEVuZD0tTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9wZXJpb2RMYXN0QmFyU3RhcnQ9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fcGVyaW9kU3RhcnREYXk9bmV3IGMuQnVzaW5lc3NEYXkoMCwwLDApLHRoaXMuX3BlcmlvZEVuZERheT1uZXcgYy5CdXNpbmVzc0RheSgwLDAsMCksdGhpcy5fcGVyaW9kPXMsdGhpcy5fc2Vzc2lvblRndD10LHRoaXMuX2J1aWxkZXI9cix0aGlzLl91c2VCdXNpbmVzc0RheXM9bixuPygoMCwKdS5hc3NlcnQpKG51bGw9PT1lLCJ1c2VCdXNpbmVzc0RheXMgYW5kIHNlc3Npb25TcmMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHMiKSx0aGlzLl9zZXNzaW9uU3JjPW5ldyBhLlNlc3Npb25JbmZvKCJFdGMvVVRDIiwiMjR4NyIpKTp0aGlzLl9zZXNzaW9uU3JjPWV8fHR9YnVpbGRlcigpe3JldHVybiB0aGlzLl9idWlsZGVyfWFsaWduVGltZUlmUG9zc2libGUodCl7cmV0dXJuIHRoaXMudHJhZGluZ0RheVRvU2Vzc2lvblN0YXJ0KHQpfXRyYWRpbmdEYXlUb1Nlc3Npb25TdGFydCh0KXtyZXR1cm4gdGhpcy5tb3ZlVG8odCksdGhpcy5zdGFydE9mQmFyKDApfWluZGV4T2ZCYXIodCl7aWYodGhpcy5fdXNlQnVzaW5lc3NEYXlzKXtjb25zdCBlPWMuQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKCgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uU3JjLnRpbWV6b25lLHQpKTtyZXR1cm4gZS5iZWZvcmUodGhpcy5fcGVyaW9kU3RhcnREYXkpP28uU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OOnRoaXMuX3BlcmlvZEVuZERheS5iZWZvcmUoZSk/by5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OOjB9cmV0dXJuIHQ8dGhpcy5fcGVyaW9kU3RhcnQ/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046dD49dGhpcy5fcGVyaW9kRW5kP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjowfXN0YXJ0T2ZCYXIodCl7aWYodD09PW8uU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OKXtjb25zdCB0PSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uVGd0LnRpbWV6b25lLHRoaXMuX3BlcmlvZFN0YXJ0LTEpLGU9dGhpcy5fc2Vzc2lvblRndC5zcGVjLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LC0xKTtyZXR1cm4oMCxyLmNhbF90b191dGMpKHRoaXMuX3Nlc3Npb25UZ3QudGltZXpvbmUsZSktMX1yZXR1cm4gdD09PW8uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTnx8dD4wP3RoaXMuX3BlcmlvZEVuZDp0PT09by5TZXNzaW9uU3RhZ2UuTEFTVEJBUl9TRVNTSU9OP3RoaXMuX3BlcmlvZExhc3RCYXJTdGFydDp0aGlzLl9wZXJpb2RTdGFydH1tb3ZlVG8odCl7bGV0IGU9KDAsci5nZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXMpKHRoaXMuX3Nlc3Npb25TcmMudGltZXpvbmUsdCk7ZT10aGlzLl9zZXNzaW9uU3JjLnNwZWMuY29ycmVjdFRyYWRpbmdEYXkoZSk7Y29uc3Qgcz0oMCxyLmdldF95ZWFyKShlKSxuPXRoaXMuX2luZGV4T2ZQZXJpb2RJblllYXIoZSksaT1uK3RoaXMuX3BlcmlvZCxhPXRoaXMuX3Nlc3Npb25UZ3Quc3BlYyxvPXRoaXMuX3Nlc3Npb25UZ3QudGltZXpvbmUsZD10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QobixzKTt0aGlzLl9wZXJpb2RTdGFydD1PKGEsZCxvKTtjb25zdCBfPWEuYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZCwxKTtfPjEmJigwLHIuYWRkX2RhdGUpKGQsXy0xKSx0aGlzLl9wZXJpb2RTdGFydERheT1jLkJ1c2luZXNzRGF5LmZyb21DYWxlbmRhcihkKTtsZXQgZj10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QoaSxzKTt0aGlzLl9wZXJpb2RFbmQ9TyhhLGYsbyk7Y29uc3QgUz0oMCxyLmNsb25lKShmKTtmb3IoKDAsci5hZGRfZGF0ZSkoUywtMSk7YS5pc0NhbFdlZWtFbmQoUyk7KSgwLHIuYWRkX2RhdGUpKFMsLTEpO3RoaXMuX3BlcmlvZEVuZERheT1jLkJ1c2luZXNzRGF5LmZyb21DYWxlbmRhcihTKSwoMCxyLmFkZF9kYXRlKShmLC0xKSxmPWZ1bmN0aW9uKHQsZSl7Y29uc3Qgcz0oMCxyLmNsb25lKShlKTtmb3IoO3QuaXNDYWxXZWVrRW5kKHMpOykoMCxyLmFkZF9kYXRlKShzLC0xKTtyZXR1cm4gc30odGhpcy5fc2Vzc2lvblRndC5zcGVjLGYpLHRoaXMuX3BlcmlvZExhc3RCYXJTdGFydD1PKGEsZixvKSwodGhpcy5fcGVyaW9kTGFzdEJhclN0YXJ0PHRoaXMuX3BlcmlvZFN0YXJ0fHx0aGlzLl9wZXJpb2RMYXN0QmFyU3RhcnQ9PT10aGlzLl9wZXJpb2RFbmQpJiYodGhpcy5fcGVyaW9kTGFzdEJhclN0YXJ0PXRoaXMuX3BlcmlvZFN0YXJ0KX1lbmRPZkJhcih0KXtyZXR1cm4gdD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQ/dGhpcy5fZ2V0Wm9uZWREYXRlVGltZU9mQm9yZGVyKG8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpLmdldFRpbWUoKSsxZTM6KCgwLHUuYXNzZXJ0KSgwPT09dCksdGhpcy5fcGVyaW9kRW5kKX1pc0xhc3RCYXIodCxlKXtpZigwIT09dCl0aHJvdyBuZXcgRXJyb3IoImluZGV4IHNob3VsZCBiZSAwIik7cmV0dXJuIGU+PXRoaXMuX3BlcmlvZExhc3RCYXJTdGFydH1tb3ZlQmFyc0ZvcndhcmQodCxlKXsoMCx1LmFzc2VydCkoZT4wKTtjb25zdCBzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uVGd0LnRpbWV6b25lLHQpO2xldCBuPXRoaXMuX3Nlc3Npb25UZ3Quc3BlYy5jb3JyZWN0VHJhZGluZ0RheShzKTtmb3IobGV0IHQ9MDt0PGU7dCsrKXtjb25zdCB0PXRoaXMuX3BlcmlvZCt0aGlzLl9idWlsZGVyLmluZGV4T2ZQZXJpb2Qobik7bj10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QodCwoMCxyLmdldF95ZWFyKShuKSksbj10aGlzLl9zZXNzaW9uVGd0LnNwZWMuY29ycmVjdFRyYWRpbmdEYXkobil9cmV0dXJuIHRoaXMubW92ZVRvKCgwLHIuY2FsX3RvX3V0YykodGhpcy5fc2Vzc2lvblRndC50aW1lem9uZSxuKSksdGhpcy5zdGFydE9mQmFyKDApfWN1cnJlbnRSYW5nZSgpe3JldHVybiBuZXcgRSh0aGlzLl9wZXJpb2RTdGFydERheSx0aGlzLl9wZXJpb2RFbmREYXkpfWluZGV4T2ZCYXJJblllYXIodCl7Y29uc3QgZT0oMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykodGhpcy5fc2Vzc2lvblNyYy50aW1lem9uZSx0KSxzPSgwLHIuZ2V0X3llYXIpKGUpLG49dGhpcy5fYnVpbGRlci5pbmRleE9mUGVyaW9kKGUpLGE9dGhpcy5fc2Vzc2lvblRndC50aW1lem9uZTtsZXQgbz10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QobixzKSxkPU8odGhpcy5fc2Vzc2lvblRndC5zcGVjLG8sYSk7cmV0dXJuIG89KDAsCnIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShnLGQpLHM8KDAsci5nZXRfeWVhcikobyk/KG89dGhpcy5fYnVpbGRlci5zdGFydE9mUGVyaW9kKG4tMSxzKSxkPU8odGhpcy5fc2Vzc2lvblRndC5zcGVjLG8sYSkse2luZGV4OihuLTEpL3RoaXMuX3BlcmlvZCx0aW1lOmR9KTp7aW5kZXg6KDAsaS50b0ludCkobi90aGlzLl9wZXJpb2QpLHRpbWU6ZH19c2Vzc2lvblNyYygpe3JldHVybiB0aGlzLl9zZXNzaW9uU3JjfXNlc3Npb25UZ3QoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvblRndH1zdGF0aWMgZGF5cyh0LGUscyl7cmV0dXJuIG5ldyBCKGUscyx0LG5ldyBwKGUpLCExKX1zdGF0aWMgd2Vla3ModCxlLHMpe3JldHVybiBuZXcgQihlLHMsdCxuZXcgTihlKSwhMSl9c3RhdGljIG1vbnRocyh0LGUscyl7cmV0dXJuIG5ldyBCKGUscyx0LG5ldyBiKGUpLCExKX1zdGF0aWMgZGF5c0Zyb21CdXNpbmVzc0RheXModCxlKXtyZXR1cm4gbmV3IEIoZSxudWxsLHQsbmV3IHAoZSksITApfXN0YXRpYyB3ZWVrc0Zyb21CdXNpbmVzc0RheXModCxlKXtyZXR1cm4gbmV3IEIoZSxudWxsLHQsbmV3IE4oZSksITApfXN0YXRpYyBtb250aHNGcm9tQnVzaW5lc3NEYXlzKHQsZSl7cmV0dXJuIG5ldyBCKGUsbnVsbCx0LG5ldyBiKGUpLCEwKX1fZ2V0Wm9uZWREYXRlVGltZU9mQm9yZGVyKHQpeygwLHUuYXNzZXJ0KSh0PT09by5TZXNzaW9uU3RhZ2UuRklSU1RfU0VTU0lPTl9TVEFSVHx8dD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpO2NvbnN0IGU9dGhpcy5fc2Vzc2lvblRndC5zcGVjLnRpbWV6b25lT2JqKCk7aWYodD09PW8uU2Vzc2lvblN0YWdlLkZJUlNUX1NFU1NJT05fU1RBUlQpe2NvbnN0IHQ9dGhpcy5jdXJyZW50UmFuZ2UoKS5mcm9tLnRvQ2FsZW5kYXIoZSk7cmV0dXJuKDAsdS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXNzaW9uVGd0LnNwZWMuYm9yZGVyc09mRGFpbHlCYXIodCkpLmZyb219e2NvbnN0IHQ9dGhpcy5jdXJyZW50UmFuZ2UoKS50by50b0NhbGVuZGFyKGUpO3JldHVybigwLHUuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Vzc2lvblRndC5zcGVjLmJvcmRlcnNPZkRhaWx5QmFyKHQpKS50b319X2luZGV4T2ZQZXJpb2RJblllYXIodCl7Y29uc3QgZT10aGlzLl9idWlsZGVyLmluZGV4T2ZQZXJpb2QodCk7bGV0IHM9KDAsaS50b0ludCkoZS90aGlzLl9wZXJpb2QpKnRoaXMuX3BlcmlvZDtyZXR1cm4tMT09PWUmJihzPS10aGlzLl9wZXJpb2QpLHN9fWZ1bmN0aW9uIEkodCxlKXtjb25zdCBzPXQuZ2V0V2Vla0luZGV4KGUpLG49KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLXQuZ2V0RW50cmllc0ZvcldlZWsocykuZmlyc3REYXlPZldlZWsoKTtyZXR1cm4gbjwwP24rNzpufWZ1bmN0aW9uIHgodCxlKXtjb25zdCBzPSgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKS0xO2xldCBuPUkodCxlKS1zJTc7cmV0dXJuIDA9PT1uPygwLGkudG9JbnQpKHMvNyk6KG4+PTAmJihuLT03KSwoMCxpLnRvSW50KSgobitzKS83KSl9Y2xhc3MgeXtpbmRleE9mUGVyaW9kKHQpe3JldHVybigwLHIuZ2V0X2RheV9vZl95ZWFyKSh0KS0xfXN0YXJ0T2ZQZXJpb2QodCxlKXtjb25zdCBzPSgwLHIuZGF5c19wZXJfeWVhcikoZSk7cmV0dXJuKDAsci5nZXRfY2FsKShnLGUsci5KQU5VQVJZLDErTWF0aC5taW4odCxzKSl9fWNsYXNzIE0gZXh0ZW5kcyB5e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fc2Vzc2lvbnNTcGVjPXR9aW5kZXhPZlBlcmlvZCh0KXtyZXR1cm4gc3VwZXIuaW5kZXhPZlBlcmlvZCh0KS1mdW5jdGlvbih0LGUpe2NvbnN0IHM9eCh0LGUpLG49KDAsci5nZXRfY2FsKShnLCgwLHIuZ2V0X3llYXIpKGUpLHIuSkFOVUFSWSwxKTsoMCxyLmFkZF9kYXRlKShuLDcqcyk7Y29uc3QgaT1zKnQud2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKSt0LmhvbGlkYXlzRnJvbVllYXJTdGFydChuKSxhPSgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKS0oMCxyLmdldF9kYXlfb2ZfeWVhcikobik7cmV0dXJuIGkrYS10LmNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKG4sYSl9KHRoaXMuX3Nlc3Npb25zU3BlYyx0KX1zdGFydE9mUGVyaW9kKHQsZSl7Y29uc3Qgcz03LXRoaXMuX3Nlc3Npb25zU3BlYy53ZWVrRW5kc0NvdW50Rm9yU2luZ2xlU2Vzc2lvbigpLG49TWF0aC5tYXgoMCxNYXRoLnRydW5jKHQvcyktMSksaT0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSksYT0oMCxyLmRheXNfcGVyX3llYXIpKGUpO2lmKCgwLHIuYWRkX2RhdGUpKGksNypuKSwodC09cypuLXRoaXMuX3Nlc3Npb25zU3BlYy5ob2xpZGF5c0Zyb21ZZWFyU3RhcnQoaSkpPjApe2NvbnN0IGU9dGhpcy5fc2Vzc2lvbnNTcGVjLmJ1c2luZXNzRGF5c1RvQ2FsZW5kYXJEYXlzKGksdCk7KDAsci5hZGRfZGF0ZSkoaSxlKX1sZXQgbz0oMCxyLmdldF9kYXlfb2ZfeWVhcikoaSktMTtyZXR1cm4gZTwoMCxyLmdldF95ZWFyKShpKSYmKG8rPWEpLHN1cGVyLnN0YXJ0T2ZQZXJpb2QobyxlKX19Y2xhc3MgbSBleHRlbmRzIHl7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLl9zZXNzaW9uc1NwZWM9dH1pbmRleE9mUGVyaW9kKHQpe3JldHVybiBzdXBlci5pbmRleE9mUGVyaW9kKHQpLXRoaXMuX3Nlc3Npb25zU3BlYy5kYXlzT2ZmRnJvbVllYXJTdGFydCh0KX1zdGFydE9mUGVyaW9kKHQsZSl7Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSk7KDAsci5hZGRfZGF0ZSkocyx0KTtjb25zdCBuPXRoaXMuX3Nlc3Npb25zU3BlYy5kYXlzT2ZmRnJvbVllYXJTdGFydChzKTsoMCxyLmFkZF9kYXRlKShzLG4pO2NvbnN0IGk9dGhpcy5fc2Vzc2lvbnNTcGVjLmRheXNPZmZGcm9tWWVhclN0YXJ0KHMpLW47aWYoaT4wKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25zU3BlYy5idXNpbmVzc0RheXNUb0NhbGVuZGFyRGF5cyhzLGkpOygwLHIuYWRkX2RhdGUpKHMsdCl9bGV0IGE9KDAsci5nZXRfZGF5X29mX3llYXIpKHMpLTE7aWYoZTwoMCxyLmdldF95ZWFyKShzKSl7YSs9KDAsci5kYXlzX3Blcl95ZWFyKShlKX1yZXR1cm4gc3VwZXIuc3RhcnRPZlBlcmlvZChhLGUpfX1jbGFzcyBwe2NvbnN0cnVjdG9yKHQpewp0aGlzLl9idWlsZGVyPW51bGwsdGhpcy5faW5pdGlhbGl6ZWQ9ITEsdGhpcy5fc2Vzc2lvbj10fWluZGV4T2ZQZXJpb2QodCl7cmV0dXJuIHRoaXMuX2dldEJ1aWxkZXIoKS5pbmRleE9mUGVyaW9kKHQpfXN0YXJ0T2ZQZXJpb2QodCxlKXtyZXR1cm4gdGhpcy5fZ2V0QnVpbGRlcigpLnN0YXJ0T2ZQZXJpb2QodCxlKX1fZ2V0QnVpbGRlcigpe3JldHVybiBudWxsIT09dGhpcy5fYnVpbGRlciYmdGhpcy5faW5pdGlhbGl6ZWR8fCh0aGlzLl9zZXNzaW9uLnNwZWMuaGFzV2Vla0VuZHMoKT90aGlzLl9idWlsZGVyPXRoaXMuX3Nlc3Npb24uc3BlYy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKT9uZXcgbSh0aGlzLl9zZXNzaW9uLnNwZWMpOm5ldyBNKHRoaXMuX3Nlc3Npb24uc3BlYyk6dGhpcy5fYnVpbGRlcj10aGlzLl9zZXNzaW9uLnNwZWMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCk/bmV3IG0odGhpcy5fc2Vzc2lvbi5zcGVjKTpuZXcgeSx0aGlzLl9pbml0aWFsaXplZD0hMCksdGhpcy5fYnVpbGRlcn19Y2xhc3MgVHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9zcGVjPXR9aW5kZXhPZlBlcmlvZCh0KXtsZXQgZT14KHRoaXMuX3NwZWMsdCk7cmV0dXJuIDA9PT1lJiZ0LmdldFRpbWUoKTx0aGlzLnN0YXJ0T2ZQZXJpb2QoMCwoMCxyLmdldF95ZWFyKSh0KSkuZ2V0VGltZSgpJiYoZT0tMSksZX1zdGFydE9mUGVyaW9kKHQsZSl7aWYodDwwKXtlLS07Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkRFQ0VNQkVSLDMxLDIzLDU5LDU5KSxuPXRoaXMuaW5kZXhPZlBlcmlvZChzKSxpPS0xKnQsYT1NYXRoLnRydW5jKG4vaSkqaTtyZXR1cm4gdGhpcy5zdGFydE9mUGVyaW9kKGEsZSl9Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSksbj1JKHRoaXMuX3NwZWMscyksaT0wPT09bj83KnQ6NyoodCsxKS1uO3JldHVybiBpPigwLHIuZGF5c19wZXJfeWVhcikoKDAsci5nZXRfeWVhcikocykpP3RoaXMuc3RhcnRPZlBlcmlvZCgwLGUrMSk6KCgwLHIuYWRkX2RhdGUpKHMsaSkscyl9fWNsYXNzIGt7Y29uc3RydWN0b3IodCl7dGhpcy5feWVhclN0YXJ0RGF0YUhhc2g9bmV3IE1hcCx0aGlzLl9zcGVjPXR9c3RhcnRPZlBlcmlvZCh0LGUpe2lmKHQ8MCl7ZS0tO2NvbnN0IHM9KDAsci5nZXRfY2FsKShnLGUsci5ERUNFTUJFUiwzMSwyMyw1OSw1OSksbj10aGlzLmluZGV4T2ZQZXJpb2QocyksaT0tMSp0LGE9TWF0aC50cnVuYyhuL2kpKmk7cmV0dXJuIHRoaXMuc3RhcnRPZlBlcmlvZChhLGUpfWNvbnN0IHM9dGhpcy5fc3BlYy5nZXRXZWVrSW5kaWNlc1dpdGhBZGRpdGlvbmFsV2Vla0JhcnMoZSksbj10aGlzLl9nZXRTdGFydE9mWWVhckRhdGEoZSxzKSxpPXRoaXMuX21vdmVUb1dlZWtJbmRleEFjY291bnRpbmdBZGRpdGlvbmFsKG4uZmlyc3RXZWVrSW5kZXgscyx0KSxhPTcqKGktbi5maXJzdFdlZWtJbmRleCk7bGV0IG89KDAsci5jbG9uZSkoKDAsdS5lbnN1cmVOb3ROdWxsKShuLnN0YXJ0T2ZGaXJzdEJhckluWWVhcikpO2lmKCgwLHIuYWRkX2RhdGUpKG8sYSksKDAsci5nZXRfeWVhcikobyk+ZSl7Y29uc3QgdD1lKzEscz10aGlzLl9zcGVjLmdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyh0KSxyPXRoaXMuX2dldFN0YXJ0T2ZZZWFyRGF0YSh0LHMpO2lmKG8uZ2V0VGltZSgpPj0oMCx1LmVuc3VyZU5vdE51bGwpKHIuc3RhcnRPZkZpcnN0QmFySW5ZZWFyKS5nZXRUaW1lKCkpcmV0dXJuIHRoaXMuc3RhcnRPZlBlcmlvZCgwLHQpfXJldHVybiBvPXRoaXMuX2NhbGN1bGF0ZUJhcldlZWtTdGFydChvLHMsaSx0KSxvfWluZGV4T2ZQZXJpb2QodCl7Y29uc3QgZT10aGlzLl9zcGVjLmdldFdlZWtJbmRleCh0KSxzPXRoaXMuX3NwZWMuZ2V0V2Vla0luZGljZXNXaXRoQWRkaXRpb25hbFdlZWtCYXJzKCgwLHIuZ2V0X3llYXIpKHQpKSxuPXRoaXMuX2dldFN0YXJ0T2ZZZWFyRGF0YSgoMCxyLmdldF95ZWFyKSh0KSxzKTtpZih0LmdldFRpbWUoKTwoMCx1LmVuc3VyZU5vdE51bGwpKG4uc3RhcnRPZkZpcnN0QmFySW5ZZWFyKS5nZXRUaW1lKCkpcmV0dXJuLTE7aWYoMD09PWUmJmsuaXNPbkZpcnN0Q2FsZW5kYXJXZWVrT2ZZZWFyKHQpfHwwIT09ZSYmZT09PW4uZmlyc3RXZWVrSW5kZXgpcmV0dXJuIHRoaXMuX2NhbGN1bGF0ZUxhc3RXZWVrKHQsZSxzLG4uZmlyc3RXZWVrYmFyc0NvdW50KS0xO2xldCBpPXRoaXMuX251bWJlck9mQ2FsZW5kYXJXZWVrcyh0KTtyZXR1cm4gaSs9bi5maXJzdFdlZWtiYXJzQ291bnQtbi5mdWxsV2Vla3NBZGp1c3RtZW50LGkrPXRoaXMuX2NhbGN1bGF0ZVdlZWtzV2l0aEV4dHJhQmFyKGUscyxuLmZpcnN0V2Vla0luZGV4KSxpKz10aGlzLl9jYWxjdWxhdGVMYXN0V2Vlayh0LGUscyxrLmZ1bGxXZWVrT2ZBZGRpdGlvbmFsQmFyc0NvdW50KS0xLGl9c3RhdGljIGlzT25GaXJzdENhbGVuZGFyV2Vla09mWWVhcih0KXtpZigoMCxyLmdldF9kYXlfb2ZfeWVhcikodCk+ci5MQVNUX0RBWV9PRl9XRUVLKXJldHVybiExO2NvbnN0IGU9KDAsci5nZXRfY2FsKShnLCgwLHIuZ2V0X3llYXIpKHQpLHIuSkFOVUFSWSwxLDAsMCkscz0oMCxyLmNsb25lKShlKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShzLHIuTEFTVF9EQVlfT0ZfV0VFSy0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpLHQuZ2V0VGltZSgpPHMuZ2V0VGltZSgpfV9tb3ZlVG9XZWVrSW5kZXhBY2NvdW50aW5nQWRkaXRpb25hbCh0LGUscyl7bGV0IHI9dCtzO2Zvcihjb25zdCBzIG9mIGUpaWYoIShzLndlZWtJbmRleDx0KSl7aWYocy53ZWVrSW5kZXg+PXIpYnJlYWs7ci0tfXJldHVybiByfV9jYWxjdWxhdGVCYXJXZWVrU3RhcnQodCxlLHMsbil7Y29uc3QgaT10aGlzLl9nZXRJbmRleE9mV2Vla1dpdGhFeHRyYUJhcklmRXhpc3RzKGUscyk7aWYobnVsbD09PWkpe2NvbnN0IGU9dGhpcy5fc3BlYy5nZXRFbnRyaWVzRm9yV2VlayhzKS5maXJzdERheU9mV2VlaygpLSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxuPSgwLHIuY2xvbmUpKHQpO3JldHVybigwLHIuYWRkX2RhdGUpKG4sZSksbn1jb25zdCBhPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgoaS5lbnRyeUluZGV4KQo7aWYodGhpcy5pbmRleE9mUGVyaW9kKCgwLHUuZW5zdXJlTm90TnVsbCkoYS5nZXRTdGFydERheSgpKSk9PT1uKXJldHVybigwLHIuY2xvbmUpKCgwLHUuZW5zdXJlTm90TnVsbCkoYS5nZXRTdGFydERheSgpKSk7Y29uc3Qgbz10aGlzLl9zcGVjLmdldEhpc3RvcnlCeUluZGV4KGkuZW50cnlJbmRleC0xKS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCksZD0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShkLG8pLGR9X251bWJlck9mQ2FsZW5kYXJXZWVrcyh0KXtjb25zdCBlPSgwLHIuZ2V0X2RheV9vZl95ZWFyKSh0KSxzPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtyZXR1cm4gTWF0aC50cnVuYygoZS1zKS83KX1fZ2V0U3RhcnRPZlllYXJEYXRhKHQsZSl7bGV0IHM9dGhpcy5feWVhclN0YXJ0RGF0YUhhc2guZ2V0KHQpO2lmKHZvaWQgMCE9PXMpcmV0dXJuIHM7bGV0IG49KDAsci5nZXRfY2FsKShnLHQsci5KQU5VQVJZLDEsMCwwKSxpPXRoaXMuX3NwZWMuZ2V0V2Vla0luZGV4KG4pLGE9MDtmb3IoKDAsci5nZXRfZGF5X29mX3dlZWspKG4pPT09ci5GSVJTVF9EQVlfT0ZfV0VFSyYmKGE9MSkscz10aGlzLl9nZXRZZWFyU3RhcnREYXRhRnJvbVdlZWsoZSxpLG4pO251bGw9PT1zLnN0YXJ0T2ZGaXJzdEJhckluWWVhcjspaSsrLGErKyxuPXRoaXMuX21vdmVUb05leHRDYWxlbmRhcldlZWtTdGFydChuKSxzPXRoaXMuX2dldFllYXJTdGFydERhdGFGcm9tV2VlayhlLGksbik7cmV0dXJuIHMuZnVsbFdlZWtzQWRqdXN0bWVudD1hLHRoaXMuX3llYXJTdGFydERhdGFIYXNoLnNldCh0LHMpLHN9X21vdmVUb05leHRDYWxlbmRhcldlZWtTdGFydCh0KXtjb25zdCBlPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxzPSgwLHIuY2xvbmUpKHQpO3JldHVybigwLHIuYWRkX2RhdGUpKHMsci5MQVNUX0RBWV9PRl9XRUVLLWUrMSksc31fZ2V0WWVhclN0YXJ0RGF0YUZyb21XZWVrKHQsZSxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzKTtsZXQgaT1udWxsLGE9MDtjb25zdCBvPXRoaXMuX2dldEluZGV4T2ZXZWVrV2l0aEV4dHJhQmFySWZFeGlzdHModCxlKTtpZihudWxsIT09byl7bGV0IHQ9dGhpcy5fc3BlYy5nZXRIaXN0b3J5QnlJbmRleChvLmVudHJ5SW5kZXgtMSkuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktbjtpZih0Pj0wKWk9KDAsci5jbG9uZSkocyksKDAsci5hZGRfZGF0ZSkoaSx0KSxhPTI7ZWxzZXtjb25zdCBlPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgoby5lbnRyeUluZGV4KTt0PWUuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktbix0Pj0wJiYoaT1lLmdldFN0YXJ0RGF5KCksaSYmKGk9KDAsci5jbG9uZSkoaSkpLGE9MSl9fWVsc2V7Y29uc3QgdD10aGlzLl9zcGVjLmdldEVudHJpZXNGb3JXZWVrKGUpLG89dC5maXJzdERheU9mV2VlaygpLW47bz49MCYmKHRoaXMuX2hhc1dvcmtpbmdEYXlzKHQpfHx0aGlzLl9oYXNXb3JraW5nRGF5c05leHRXZWVrKGUrMSkpJiYoaT0oMCxyLmNsb25lKShzKSwoMCxyLmFkZF9kYXRlKShpLG8pLGE9MSl9cmV0dXJue3N0YXJ0T2ZGaXJzdEJhckluWWVhcjppLGZpcnN0V2Vla0luZGV4OmUsZmlyc3RXZWVrYmFyc0NvdW50OmEsZnVsbFdlZWtzQWRqdXN0bWVudDowfX1faGFzV29ya2luZ0RheXModCl7aWYoMD09PXQuZW50cmllc0J5RGF5KCkuc2l6ZSlyZXR1cm4hMTtmb3IobGV0IGU9dC5maXJzdERheU9mV2VlaygpO2U8PXIuTEFTVF9EQVlfT0ZfV0VFSztlKyspaWYodm9pZCAwIT09dC5lbnRyaWVzQnlEYXkoKS5nZXQoZSkpcmV0dXJuITA7cmV0dXJuITF9X2hhc1dvcmtpbmdEYXlzTmV4dFdlZWsodCl7Y29uc3QgZT10aGlzLl9zcGVjLmdldEVudHJpZXNGb3JXZWVrKHQpO2ZvcihsZXQgdD0xO3Q8ZS5maXJzdERheU9mV2VlaygpO3QrKylpZih2b2lkIDAhPT1lLmVudHJpZXNCeURheSgpLmdldCh0KSlyZXR1cm4hMDtyZXR1cm4hMX1fY2FsY3VsYXRlV2Vla3NXaXRoRXh0cmFCYXIodCxlLHMpe2xldCByPTA7Zm9yKGNvbnN0IG4gb2YgZSl7aWYobi53ZWVrSW5kZXg+PXQpYnJlYWs7bi53ZWVrSW5kZXg+cyYmcisrfXJldHVybiByfV9jYWxjdWxhdGVMYXN0V2Vlayh0LGUscyxuKXtjb25zdCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxhPXRoaXMuX2dldEluZGV4T2ZXZWVrV2l0aEV4dHJhQmFySWZFeGlzdHMocyxlKTtpZihudWxsPT09YSl7cmV0dXJuIGktdGhpcy5fc3BlYy5nZXRFbnRyaWVzRm9yV2VlayhlKS5maXJzdERheU9mV2VlaygpPj0wPzE6MH1jb25zdCBvPXRoaXMuX3Bvc2l0aW9uSW5zaWRlV2Vla1dpdGhTZXZlcmFsQmFycyhhLGkpO3JldHVybiBvPT09ay5Jc0luTmV3U2Vzc2lvbj9uOm89PT1rLklzSW5NaWRTZXNzaW9uP24tMTowfV9nZXRJbmRleE9mV2Vla1dpdGhFeHRyYUJhcklmRXhpc3RzKHQsZSl7Zm9yKGNvbnN0IHMgb2YgdCl7aWYocy53ZWVrSW5kZXg9PT1lKXJldHVybiBzO2lmKHMud2Vla0luZGV4PmUpYnJlYWt9cmV0dXJuIG51bGx9X3Bvc2l0aW9uSW5zaWRlV2Vla1dpdGhTZXZlcmFsQmFycyh0LGUpe2xldCBzPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgodC5lbnRyeUluZGV4KS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1lO2lmKHM8PTApcmV0dXJuIGsuSXNJbk5ld1Nlc3Npb247cmV0dXJuIHM9dGhpcy5fc3BlYy5nZXRIaXN0b3J5QnlJbmRleCh0LmVudHJ5SW5kZXgtMSkuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktZSxzPD0wP2suSXNJbk1pZFNlc3Npb246ay5Jc0JlZm9yZUFueVNlc3Npb259fWsuSXNCZWZvcmVBbnlTZXNzaW9uPS0xLGsuSXNJbk1pZFNlc3Npb249MCxrLklzSW5OZXdTZXNzaW9uPTEsay5mdWxsV2Vla09mQWRkaXRpb25hbEJhcnNDb3VudD0yO2NsYXNzIE57Y29uc3RydWN0b3IodCl7dGhpcy5fYnVpbGRlcj1udWxsLHRoaXMuX3Nlc3Npb249dH1pbmRleE9mUGVyaW9kKHQpe3JldHVybiB0aGlzLl9nZXRCdWlsZGVyKCkuaW5kZXhPZlBlcmlvZCh0KX1zdGFydE9mUGVyaW9kKHQsZSl7cmV0dXJuIHRoaXMuX2dldEJ1aWxkZXIoKS5zdGFydE9mUGVyaW9kKHQsZSkKfV9nZXRCdWlsZGVyKCl7cmV0dXJuIG51bGw9PXRoaXMuX2J1aWxkZXImJih0aGlzLl9idWlsZGVyPXRoaXMuX3Nlc3Npb24uc3BlYy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKT9uZXcgayh0aGlzLl9zZXNzaW9uLnNwZWMpOm5ldyBUKHRoaXMuX3Nlc3Npb24uc3BlYykpLHRoaXMuX2J1aWxkZXJ9fWNsYXNzIGJ7Y29uc3RydWN0b3IodCl7dGhpcy5fc2Vzc2lvbj10fWluZGV4T2ZQZXJpb2QodCl7cmV0dXJuKDAsci5nZXRfbW9udGgpKHQpfXN0YXJ0T2ZQZXJpb2QodCxlKXtpZih0PDApe2NvbnN0IHM9KDAsaS50b0ludCkoKDExLXQpLzEyKTtlLT1zLHQrPTEyKnN9ZWxzZSB0PnIuREVDRU1CRVImJihlKyssdD1yLkpBTlVBUlkpO3JldHVybigwLHIuZ2V0X2NhbCkoZyxlLHQsMSl9fXZhciBELFc7ZnVuY3Rpb24gdyh0LGUscyxyPSExKXtjb25zdCBpPW4uSW50ZXJ2YWwucGFyc2UodCksYT1pLm11bHRpcGxpZXIoKTtyZXR1cm4gaS5pc01pbnV0ZXMoKT9oLm1pbnV0ZXMoYSxlKTppLmlzU2Vjb25kcygpP2guc2Vjb25kcyhhLGUpOmkuaXNUaWNrcygpP25ldyBoKDEsZSk6aS5pc1JhbmdlKCk/bmV3IGgoNjAqYSxlKTpuZXcgQihlLHM/P251bGwsYSxmdW5jdGlvbih0LGUpe3N3aXRjaCh0KXtjYXNlIG4uUmVzb2x1dGlvbktpbmQuRGF5czpyZXR1cm4gbmV3IHAoZSk7Y2FzZSBuLlJlc29sdXRpb25LaW5kLldlZWtzOnJldHVybiBuZXcgTihlKTtjYXNlIG4uUmVzb2x1dGlvbktpbmQuTW9udGhzOnJldHVybiBuZXcgYihlKX10aHJvdyBuZXcgRXJyb3IoYFVua25vd24gZHdtIHJlc29sdXRpb246ICR7dH1gKX0oaS5raW5kKCksZSkscil9ZnVuY3Rpb24gdih0LGUscyxpLG8sZCxfKXtjb25zdCBmPW4uSW50ZXJ2YWwucGFyc2UobytpKTtpZihmLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZCksZT1uZXcgRGF0ZShfKTtsZXQgcz0xMiooZS5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKSk7cmV0dXJuIHMrPWUuZ2V0VVRDTW9udGgoKS10LmdldFVUQ01vbnRoKCksTWF0aC5jZWlsKHMvZi5tdWx0aXBsaWVyKCkpfWNvbnN0IFM9bmV3IGEuU2Vzc2lvbkluZm8oIkV0Yy9VVEMiLHQsZSxzKSxsPWYuaW5NaWxsaXNlY29uZHMoKTtsZXQgaDtpZihmLmlzRFdNKCkpaD04NjRlNTtlbHNle2NvbnN0IHQ9Uy5zcGVjLmdldFdlZWtJbmRleCgoMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoUy50aW1lem9uZSxfKSk7aD02MCpTLnNwZWMuZ2V0RW50cmllc0ZvcldlZWsodCkubWF4VHJhZGluZ0RheUxlbmd0aCgpKjFlM31sZXQgdT0wO2lmKGYuaXNXZWVrcygpKXU9NztlbHNle2NvbnN0IHQ9Uy5zcGVjLmdldFdlZWtJbmRleCgoMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoUy50aW1lem9uZSxfKSk7dT03LVMuc3BlYy5nZXRFbnRyaWVzRm9yV2Vlayh0KS53ZWVrRW5kc0NvdW50KCl9Y29uc3QgYz1fLWQsZz1oL2wsTz11Kmc7bGV0IEU9Yy84NjRlNSpnO0U+PU8mJihFPWMvNjA0OGU1Kk8pO3JldHVybiBFJTE8PU51bWJlci5FUFNJTE9OKk1hdGguY2VpbChFKT9NYXRoLnJvdW5kKEUpOk1hdGguY2VpbChFKX0hZnVuY3Rpb24odCl7dFt0LkFsaWduVG9GaXJzdERheT0wXT0iQWxpZ25Ub0ZpcnN0RGF5Iix0W3QuQWxpZ25Ub0Nsb3Nlc3REYXk9MV09IkFsaWduVG9DbG9zZXN0RGF5In0oRHx8KEQ9e30pKSxmdW5jdGlvbih0KXt0W3QuRD04NjRlNV09IkQiLHRbdC5XPTYwNDhlNV09IlcifShXfHwoVz17fSkpfSwyOTUxNCh0LGUscyl7dmFyIHI7cy5kKGUse1Nlc3Npb25TdGFnZTooKT0+cn0pLGZ1bmN0aW9uKHQpe3RbdC5QUkVfU0VTU0lPTj0tMV09IlBSRV9TRVNTSU9OIix0W3QuUE9TVF9TRVNTSU9OPS0yXT0iUE9TVF9TRVNTSU9OIix0W3QuTEFTVEJBUl9TRVNTSU9OPS0zXT0iTEFTVEJBUl9TRVNTSU9OIix0W3QuTEFTVF9TRVNTSU9OX0VORD0tNF09IkxBU1RfU0VTU0lPTl9FTkQiLHRbdC5GSVJTVF9TRVNTSU9OX1NUQVJUPS01XT0iRklSU1RfU0VTU0lPTl9TVEFSVCJ9KHJ8fChyPXt9KSl9LDc1OTI5OCh0LGUscyl7cy5kKGUse2V4dHJhcG9sYXRlQmFyc0Zyb250QnlDb3VudDooKT0+aSxleHRyYXBvbGF0ZUJhcnNGcm9udFRvVGltZTooKT0+bn0pO3ZhciByPXMoMjk1MTQpO2Z1bmN0aW9uIG4odCxlLHMscixpPSExKXtpZihlPnMpe2NvbnN0IGE9bih0LHMsZSxyLGkpO3JldHVybiBhLmNvdW50PS1hLmNvdW50LGF9cmV0dXJuIGEodCxlLDEsKCh0LGUpPT5lPnN8fDAhPT1yJiZ0PnIpLGkpfWZ1bmN0aW9uIGkodCxlLHMscj0hMSl7Y29uc3Qgbj1zPDA/LTE6MTtyZXR1cm4gYSh0LGUsbiwoKHQsZSk9PnQ+PXMqbikscil9ZnVuY3Rpb24gYSh0LGUscyxuLGkpe2xldCBhPTAsbz1lO3QubW92ZVRvKG8pO2xldCBkPTAsXz1OdW1iZXIuTUFYX1ZBTFVFLGY9ITEsUz1lO2NvbnN0IGw9W107bGV0IGg9ITE7Zm9yKDshbihhLG8pOyl7aWYoZD4xNSl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTAgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTtjb25zdCBuPXQuaW5kZXhPZkJhcihvKTtpZihuPT09ci5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT04mJjE9PT1zKW89dC5zdGFydE9mQmFyKDApLHQubW92ZVRvKG8pLGg9ITA7ZWxzZSBpZihuPT09ci5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT04mJi0xPT09cylvPXQuc3RhcnRPZkJhcihyLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTiksdC5tb3ZlVG8obyksaD0hMDtlbHNlIGlmKG49PT1yLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJjE9PT1zKW89dC5zdGFydE9mQmFyKHIuU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTiksdC5tb3ZlVG8obyksaD0hMDtlbHNle2lmKG49PT1yLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJi0xPT09cyl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTIgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTt7Y29uc3QgdT10LnN0YXJ0T2ZCYXIobik7aWYodT5lJiZzPjAmJihofHwwIT09bil8fGU+dSYmczwwKXtpZihmJiZfPT09dSl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTEgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTtmPSEwLF89dSxkPTAsCmErKyxTPXUsaSYmbC5wdXNoKFMpfWlmKDE9PT1zKXtvPXQuZW5kT2ZCYXIobik7Y29uc3QgZT10LnN0YXJ0T2ZCYXIoci5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OKTtvPT09ZSYmKHQubW92ZVRvKGUpLG89dC5zdGFydE9mQmFyKDApLGg9ITApfWVsc2UgMD09PW4/KG89dC5zdGFydE9mQmFyKHIuU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OKSx0Lm1vdmVUbyhvKSk6bz10LnN0YXJ0T2ZCYXIobi0xKX19ZCsrfXJldHVybnt0aW1lOlMsdGltZXM6bCxjb3VudDphfX19fV0pOw=="}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53297.a6f6547cdad8d37971fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.514Z","timestamp":1785136901514,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/53297.a6f6547cdad8d37971fc.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-103a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dbc18cac4ecb83b5175468a959fa12a7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":66470,"size_decoded":23266,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"c6a3f4550b8b4efa1a9ac0a26ab757a6","sha1":"376e5c7e4bf11c4c576ba0a644af8f841f17c662","sha256":"e673211228f9cec0ee6b36576c556da8959897ff56e4baa281606d9694f888fc","sha512":"fbe34869d39b17339388031748218f6816d1fe3b5a9dea653c536c49ea8fa574d3164227efd1dceb114737127e80c52c98fa1f254d7bbc7863dcf4fb37759723","ssdeep":"1536:QGwKmjvbKAmbj5HdO/Z8y+xp2PFg4PPNn42M:9XA299O/Z8DxpyFg4PP6b","tlshash":"ee535c40b160b0fc45e7809ad52f049ae33b1558b46648e8f53ddcec2a9adcdb267e7c","first_seen":"2026-07-24T11:36:48.185143Z","last_seen":"2026-07-28T06:17:53.363963Z","times_seen":103,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTk2NCw1MzI5Nyw2MzU5NV0sezg1MzMzNihlLHQpe3ZhciBvLG4scztuPVt0XSxvPWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgdD0wLG89QXJyYXkoZS5sZW5ndGgpO3Q8ZS5sZW5ndGg7dCsrKW9bdF09ZVt0XTtyZXR1cm4gb31yZXR1cm4gQXJyYXkuZnJvbShlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG89ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBuPXtnZXQgcGFzc2l2ZSgpe289ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwsbiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLG4pfXZhciBzPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksaT1bXSxyPSExLGE9LTEsbD12b2lkIDAsYz12b2lkIDAsdT1mdW5jdGlvbihlKXtyZXR1cm4gaS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4hKCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUoZSkpfSkpfSxkPWZ1bmN0aW9uKGUpe3ZhciB0PWV8fHdpbmRvdy5ldmVudDtyZXR1cm4hIXUodC50YXJnZXQpfHwxPHQudG91Y2hlcy5sZW5ndGh8fCh0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1jJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9YyxjPXZvaWQgMCksdm9pZCAwIT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9bCxsPXZvaWQgMCl9KSl9O2UuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSxuKXtpZihzKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKGUmJiFpLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQ9PT1lfSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6bnx8e319O2k9W10uY29uY2F0KHQoaSksW2hdKSxlLm9udG91Y2hzdGFydD1mdW5jdGlvbihlKXsxPT09ZS50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGE9ZS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSxlLm9udG91Y2htb3ZlPWZ1bmN0aW9uKHQpe3ZhciBvLG4scyxpOzE9PT10LnRhcmdldFRvdWNoZXMubGVuZ3RoJiYobj1lLGk9KG89dCkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWEsIXUoby50YXJnZXQpJiYobiYmMD09PW4uc2Nyb2xsVG9wJiYwPGl8fChzPW4pJiZzLnNjcm9sbEhlaWdodC1zLnNjcm9sbFRvcDw9cy5jbGllbnRIZWlnaHQmJmk8MD9kKG8pOm8uc3RvcFByb3BhZ2F0aW9uKCkpKX0scnx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZCxvP3twYXNzaXZlOiExfTp2b2lkIDApLHI9ITApfX1lbHNle209bixzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWMpe3ZhciBlPSEhbSYmITA9PT1tLnJlc2VydmVTY3JvbGxCYXJHYXAsdD13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ZSYmMDx0JiYoYz1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD10KyJweCIpfXZvaWQgMD09PWwmJihsPWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIHA9e3RhcmdldEVsZW1lbnQ6ZSxvcHRpb25zOm58fHt9fTtpPVtdLmNvbmNhdCh0KGkpLFtwXSl9dmFyIG19LGUuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtzPyhpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCxlLnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG8/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscj0hMSksaT1bXSxhPS0xKTooaCgpLGk9W10pfSxlLmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSl7aWYocyl7aWYoIWUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7ZS5vbnRvdWNoc3RhcnQ9bnVsbCxlLm9udG91Y2htb3ZlPW51bGwsaT1pLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudCE9PWV9KSksciYmMD09PWkubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG8/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscj0hMSl9ZWxzZSAxPT09aS5sZW5ndGgmJmlbMF0udGFyZ2V0RWxlbWVudD09PWU/KGgoKSxpPVtdKTppPWkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKX19LHZvaWQgMD09PShzPSJmdW5jdGlvbiI9PXR5cGVvZiBvP28uYXBwbHkodCxuKTpvKXx8KGUuZXhwb3J0cz1zKX0sOTU4NjM5KGUpe2UuZXhwb3J0cz17bWVudVdyYXA6Im1lbnVXcmFwLWxCSXhJd3R6Iixpc01lYXN1cmluZzoiaXNNZWFzdXJpbmctbEJJeEl3dHoiLHNjcm9sbFdyYXA6InNjcm9sbFdyYXAtbEJJeEl3dHoiLG1vbWVudHVtQmFzZWQ6Im1vbWVudHVtQmFzZWQtbEJJeEl3dHoiLG1lbnVCb3g6Im1lbnVCb3gtbEJJeEl3dHoiLAppc0hpZGRlbjoiaXNIaWRkZW4tbEJJeEl3dHoifX0sNDcwMjk1KGUpe2UuZXhwb3J0cz17InRhYmxldC1zbWFsbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNDQwcHgpIixpdGVtOiJpdGVtLU1pMF90NXVOIixob3ZlcmVkOiJob3ZlcmVkLU1pMF90NXVOIixpc0Rpc2FibGVkOiJpc0Rpc2FibGVkLU1pMF90NXVOIixpc0FjdGl2ZToiaXNBY3RpdmUtTWkwX3Q1dU4iLHNob3J0Y3V0OiJzaG9ydGN1dC1NaTBfdDV1TiIsdG9vbGJveDoidG9vbGJveC1NaTBfdDV1TiIsd2l0aEljb246IndpdGhJY29uLU1pMF90NXVOIiwicm91bmQtaWNvbiI6InJvdW5kLWljb24tTWkwX3Q1dU4iLGljb246Imljb24tTWkwX3Q1dU4iLHN0YXJ0U2xvdDoic3RhcnRTbG90LU1pMF90NXVOIixsYWJlbFJvdzoibGFiZWxSb3ctTWkwX3Q1dU4iLGxhYmVsOiJsYWJlbC1NaTBfdDV1TiIsc2hvd09uSG92ZXI6InNob3dPbkhvdmVyLU1pMF90NXVOIiwiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIjoiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvLU1pMF90NXVOIixzaG93T25Gb2N1czoic2hvd09uRm9jdXMtTWkwX3Q1dU4ifX0sNzYxMDkzKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLW5ma0dtN05HIn19LDk3Nzc3KGUpe2UuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDk5NDUoZSl7ZS5leHBvcnRzPXtkZWZhdWx0OiJkZWZhdWx0LUdaTHlrTlFQIixkYW5nZXI6ImRhbmdlci1HWkx5a05RUCIsd2FybmluZzoid2FybmluZy1HWkx5a05RUCIsc3VjY2Vzczoic3VjY2Vzcy1HWkx5a05RUCIsbmV1dHJhbDoibmV1dHJhbC1HWkx5a05RUCIsIm5ldXRyYWwtbGlnaHQiOiJuZXV0cmFsLWxpZ2h0LUdaTHlrTlFQIixzbWFsbDoic21hbGwtR1pMeWtOUVAiLG1lZGl1bToibWVkaXVtLUdaTHlrTlFQIixsYXJnZToibGFyZ2UtR1pMeWtOUVAiLGljb25XcmFwcGVyOiJpY29uV3JhcHBlci1HWkx5a05RUCIsaWNvbjoiaWNvbi1HWkx5a05RUCJ9fSw0MjQyNjIoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1zWHNwWk5uWiIsaG92ZXI6ImhvdmVyLXNYc3BaTm5aIixjbGlja2VkOiJjbGlja2VkLXNYc3BaTm5aIixhY2Nlc3NpYmxlOiJhY2Nlc3NpYmxlLXNYc3BaTm5aIixhcnJvdzoiYXJyb3ctc1hzcFpObloiLGFycm93V3JhcDoiYXJyb3dXcmFwLXNYc3BaTm5aIixpc09wZW5lZDoiaXNPcGVuZWQtc1hzcFpObloifX0sMTk4MjA5KGUpe2UuZXhwb3J0cz17Imljb24td3JhcHBlciI6Imljb24td3JhcHBlci1kaWtkZXd3eCIsIndpdGgtbGluayI6IndpdGgtbGluay1kaWtkZXd3eCIsIndpdGgtdG9vbHRpcCI6IndpdGgtdG9vbHRpcC1kaWtkZXd3eCIsIm5vLWFjdGl2ZS1zdGF0ZSI6Im5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eCJ9fSw4MTAyODEoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLVdCMnkwRW5QIixkcm9wcGVkOiJkcm9wcGVkLVdCMnkwRW5QIn19LDQwNjExMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtNYXRjaE1lZGlhOigpPT5zfSk7dmFyIG49byg3Nzk0NzQpO2NsYXNzIHMgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLnN0YXRlPXtxdWVyeTp3aW5kb3cubWF0Y2hNZWRpYSh0aGlzLnByb3BzLnJ1bGUpfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX3N1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0aGlzLnN0YXRlLnF1ZXJ5IT09dC5xdWVyeSYmKHRoaXMuX3Vuc3Vic2NyaWJlKHQucXVlcnkpLHRoaXMuX3N1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl91bnN1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbih0aGlzLnN0YXRlLnF1ZXJ5Lm1hdGNoZXMpfXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoZSx0KXtyZXR1cm4gZS5ydWxlIT09dC5xdWVyeS5tZWRpYT97cXVlcnk6d2luZG93Lm1hdGNoTWVkaWEoZS5ydWxlKX06bnVsbH1fc3Vic2NyaWJlKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVDaGFuZ2UpfV91bnN1YnNjcmliZShlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5faGFuZGxlQ2hhbmdlKX19fSw2ODEyMjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TWVudUNvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSwxNDUxNTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9NRU5VX1RIRU1FOigpPT5mLE1lbnU6KCk9PmJ9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDkxNDQ4NyksaT1vLm4ocykscj1vKDEzODYzOCksYT1vKDYwNzgzMiksbD1vKDkwMzQyKSxjPW8oODkxMjA5KSx1PW8oNjQwNzQ0KSxkPW8oNTE4NzUpLGg9byg3MjcwOSkscD1vKDI3NjAxOSksbT1vKDY4MTIyNCksdj1vKDk1ODYzOSk7Y29uc3QgZj12O3ZhciBnOyFmdW5jdGlvbihlKXtlW2UuSW5kZW50RnJvbVdpbmRvdz0wXT0iSW5kZW50RnJvbVdpbmRvdyJ9KGd8fChnPXt9KSk7Y2xhc3MgYiBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9jb250YWluZXJSZWY9bnVsbCx0aGlzLl9zY3JvbGxXcmFwUmVmPW51bGwsdGhpcy5fcmFmPW51bGwsdGhpcy5fc2Nyb2xsUmFmPW51bGwsdGhpcy5fc2Nyb2xsVGltZW91dD12b2lkIDAsdGhpcy5fbWFuYWdlcj1uZXcgbC5PdmVybGFwTWFuYWdlcix0aGlzLl9ob3RrZXlzPW51bGwsCnRoaXMuX3Njcm9sbD0wLHRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZj1lPT57dGhpcy5fY29udGFpbmVyUmVmPWUsdGhpcy5wcm9wcy5yZWZlcmVuY2UmJigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJnRoaXMucHJvcHMucmVmZXJlbmNlKGUpLCJvYmplY3QiPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJih0aGlzLnByb3BzLnJlZmVyZW5jZS5jdXJyZW50PWUpKX0sdGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZj1lPT57dGhpcy5fc2Nyb2xsV3JhcFJlZj1lLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UmJnRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZShlKSwib2JqZWN0Ij09dHlwZW9mIHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZSYmKHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZS5jdXJyZW50PWUpfSx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZT0oKT0+e3RoaXMuX3Jlc2l6ZUZvcmNlZCgpLHRoaXMuX2hhbmRsZU1lYXN1cmUoKX0sdGhpcy5faGFuZGxlTWVhc3VyZT0oe2NhbGxiYWNrOmUsZm9yY2VSZWNhbGNQb3NpdGlvbjp0fT17fSk9PntpZih0aGlzLnN0YXRlLmlzTWVhc3VyZVZhbGlkJiYhdClyZXR1cm47Y29uc3R7cG9zaXRpb246b309dGhpcy5wcm9wcyxuPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyUmVmKTtsZXQgcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxsPXRoaXMucHJvcHMuY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQ/PzA7bGV0IGM9aS0wLWw7Y29uc3QgZD1zLmhlaWdodD5jO2lmKGQpeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Nyb2xsV3JhcFJlZikuc3R5bGUub3ZlcmZsb3dZPSJzY3JvbGwiLHM9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jb25zdHt3aWR0aDpoLGhlaWdodDpwfT1zLG09ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh7Y29udGVudFdpZHRoOmgsY29udGVudEhlaWdodDpwLGF2YWlsYWJsZVdpZHRoOmEsYXZhaWxhYmxlSGVpZ2h0Oml9KTpvLHY9bT8uaW5kZW50RnJvbVdpbmRvdz8ubGVmdD8/MCxmPWEtKG0ub3ZlcnJpZGVXaWR0aD8/aCktKG0/LmluZGVudEZyb21XaW5kb3c/LnJpZ2h0Pz8wKSxnPSgwLHUuY2xhbXApKG0ueCx2LE1hdGgubWF4KHYsZikpLGI9KG0/LmluZGVudEZyb21XaW5kb3c/LnRvcD8/MCkrbCx3PWktKG0ub3ZlcnJpZGVIZWlnaHQ/P3ApLShtPy5pbmRlbnRGcm9tV2luZG93Py5ib3R0b20/PzApO2xldCB5PSgwLHUuY2xhbXApKG0ueSxiLE1hdGgubWF4KGIsdykpO2lmKG0uZm9yYmlkQ29ycmVjdFlDb29yZCYmeTxtLnkmJihjLT1tLnkteSx5PW0ueSksdCYmdm9pZCAwIT09dGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldCYmbS55PD10aGlzLnByb3BzLmNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0KXJldHVybiB2b2lkIHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCEwKTtjb25zdCBfPW0ub3ZlcnJpZGVIZWlnaHQ/PyhkP2M6dm9pZCAwKTt0aGlzLnNldFN0YXRlKHthcHBlYXJpbmdNZW51SGVpZ2h0OnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51SGVpZ2h0Ol8sYXBwZWFyaW5nTWVudVdpZHRoOnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51V2lkdGg6bS5vdmVycmlkZVdpZHRoLGFwcGVhcmluZ1Bvc2l0aW9uOnt4OmcseX0saXNNZWFzdXJlVmFsaWQ6ITB9LCgoKT0+e3RoaXMucHJvcHMuZG9Ob3RSZXN0b3JlUG9zaXRpb258fHRoaXMuX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbigpLGUmJmUoKX0pKX0sdGhpcy5fcmVzdG9yZVNjcm9sbFBvc2l0aW9uPSgpPT57Y29uc3QgZT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpO2Uuc2Nyb2xsVG9wPXRoaXMuX3Njcm9sbDtjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsbz0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvbnRhaW5lclJlZik7aWYodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZvLmNvbnRhaW5zKHQpJiYhdGhpcy5faXNFbGVtZW50RnVsbHlWaXNpYmxlKHQsZSkpdHJ5e3Quc2Nyb2xsSW50b1ZpZXcoKX1jYXRjaChlKXt9fSx0aGlzLl9pc0VsZW1lbnRGdWxseVZpc2libGU9KGUsdCk9Pntjb25zdCBvPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBvLnRvcD49bi50b3AmJm8uYm90dG9tPD1uLmJvdHRvbX0sdGhpcy5fcmVzaXplRm9yY2VkPSgpPT57dGhpcy5zZXRTdGF0ZSh7YXBwZWFyaW5nTWVudUhlaWdodDp2b2lkIDAsYXBwZWFyaW5nTWVudVdpZHRoOnZvaWQgMCxhcHBlYXJpbmdQb3NpdGlvbjp2b2lkIDAsaXNNZWFzdXJlVmFsaWQ6dm9pZCAwfSl9LHRoaXMuX3Jlc2l6ZT0oKT0+e251bGw9PT10aGlzLl9yYWYmJih0aGlzLl9yYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuc2V0U3RhdGUoe2FwcGVhcmluZ01lbnVIZWlnaHQ6dm9pZCAwLGFwcGVhcmluZ01lbnVXaWR0aDp2b2lkIDAsYXBwZWFyaW5nUG9zaXRpb246dm9pZCAwLGlzTWVhc3VyZVZhbGlkOnZvaWQgMH0pLHRoaXMuX3JhZj1udWxsfSkpKX0sdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2U9ZT0+e3RoaXMucHJvcHMub25DbG9zZShlKX0sdGhpcy5faGFuZGxlU2xvdD1lPT57dGhpcy5fbWFuYWdlci5zZXRDb250YWluZXIoZSl9LHRoaXMuX2hhbmRsZVNjcm9sbD0oKT0+e3RoaXMuX3Njcm9sbD0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpLnNjcm9sbFRvcH0sdGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZD0oKT0+e2NsZWFyVGltZW91dCh0aGlzLl9zY3JvbGxUaW1lb3V0KSx0aGlzLl9zY3JvbGxUaW1lb3V0PXNldFRpbWVvdXQoKCgpPT57dGhpcy5faGFuZGxlTWVhc3VyZSh7Zm9yY2VSZWNhbGNQb3NpdGlvbjohMH0pfSksODApfSx0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlPWU9PnsKZS50YXJnZXQhPT10aGlzLl9zY3JvbGxXcmFwUmVmJiYodGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZCgpLG51bGw9PT10aGlzLl9zY3JvbGxSYWYmJih0aGlzLl9zY3JvbGxSYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2hhbmRsZU1lYXN1cmUoe2ZvcmNlUmVjYWxjUG9zaXRpb246ITB9KSx0aGlzLl9zY3JvbGxSYWY9bnVsbH0pKSkpfSx0aGlzLnN0YXRlPXt9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5faGFuZGxlTWVhc3VyZSh7Y2FsbGJhY2s6dGhpcy5wcm9wcy5vbk9wZW59KTtjb25zdHtjdXN0b21DbG9zZURlbGVnYXRlOmU9cC5nbG9iYWxDbG9zZURlbGVnYXRlLGN1c3RvbVJlbWVhc3VyZURlbGVnYXRlOnR9PXRoaXMucHJvcHM7ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8uc3Vic2NyaWJlKG51bGwsdGhpcy5faGFuZGxlQ3VzdG9tUmVtZWFzdXJlRGVsZWdhdGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZSk7Y29uc3Qgbz1udWxsIT09dGhpcy5jb250ZXh0O3RoaXMuX2hvdGtleXN8fG98fCh0aGlzLl9ob3RrZXlzPWguY3JlYXRlR3JvdXAoe2Rlc2M6IlBvcHVwIG1lbnUifSksdGhpcy5faG90a2V5cy5hZGQoe2Rlc2M6IkNsb3NlIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e3RoaXMucHJvcHMub25LZXlib2FyZENsb3NlJiZ0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSgpLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCl9fSkpLHRoaXMucHJvcHMucmVwb3NpdGlvbk9uU2Nyb2xsJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSl9Y29tcG9uZW50RGlkVXBkYXRlKCl7dGhpcy5faGFuZGxlTWVhc3VyZSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y3VzdG9tQ2xvc2VEZWxlZ2F0ZTplPXAuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTp0fT10aGlzLnByb3BzO2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8udW5zdWJzY3JpYmUobnVsbCx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSksdGhpcy5faG90a2V5cyYmKHRoaXMuX2hvdGtleXMuZGVzdHJveSgpLHRoaXMuX2hvdGtleXM9bnVsbCksbnVsbCE9PXRoaXMuX3JhZiYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JhZiksdGhpcy5fcmFmPW51bGwpLG51bGwhPT10aGlzLl9zY3JvbGxSYWYmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9zY3JvbGxSYWYpLHRoaXMuX3Njcm9sbFJhZj1udWxsKSx0aGlzLl9zY3JvbGxUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsVGltZW91dCl9cmVuZGVyKCl7Y29uc3R7aWQ6ZSxyb2xlOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjpyLCJhcmlhLWhpZGRlbiI6bCwiYXJpYS1kZXNjcmliZWRieSI6dSwiYXJpYS1pbnZhbGlkIjpoLGNoaWxkcmVuOnAsbWluV2lkdGg6Zix0aGVtZTpnPXYsY2xhc3NOYW1lOmIsbWF4SGVpZ2h0Onksb25Nb3VzZU92ZXI6Xyxvbk1vdXNlT3V0Ongsb25LZXlEb3duOkUsb25Gb2N1czpDLG9uQmx1cjpTfT10aGlzLnByb3BzLHthcHBlYXJpbmdNZW51SGVpZ2h0Ok0sYXBwZWFyaW5nTWVudVdpZHRoOkEsYXBwZWFyaW5nUG9zaXRpb246ayxpc01lYXN1cmVWYWxpZDpOfT10aGlzLnN0YXRlLEQ9eyItLXVpLWtpdC1tZW51LW1heC13aWR0aCI6YCR7ayYmay54fXB4YCxtYXhXaWR0aDoiY2FsYygxMDB2dyAtIHZhcigtLXVpLWtpdC1tZW51LW1heC13aWR0aCkgLSA2cHgpIn07cmV0dXJuIG4uY3JlYXRlRWxlbWVudChtLk1lbnVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzfSxuLmNyZWF0ZUVsZW1lbnQoYy5TdWJtZW51SGFuZGxlcixudWxsLG4uY3JlYXRlRWxlbWVudChhLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLl9tYW5hZ2VyfSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOmUscm9sZTp0LCJhcmlhLWxhYmVsIjpvLCJhcmlhLWxhYmVsbGVkYnkiOnMsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6ciwiYXJpYS1oaWRkZW4iOmwsImFyaWEtZGVzY3JpYmVkYnkiOnUsImFyaWEtaW52YWxpZCI6aCxjbGFzc05hbWU6aSgpKGIsZy5tZW51V3JhcCwhTiYmZy5pc01lYXN1cmluZyksc3R5bGU6e2hlaWdodDpNLGxlZnQ6ayYmay54LG1pbldpZHRoOmYscG9zaXRpb246ImZpeGVkIix0b3A6ayYmay55LHdpZHRoOkEsLi4udGhpcy5wcm9wcy5saW1pdE1heFdpZHRoJiZEfSwiZGF0YS1uYW1lIjp0aGlzLnByb3BzWyJkYXRhLW5hbWUiXSwiZGF0YS1xYS1pZCI6dGhpcy5wcm9wcy5kYXRhUWFJZCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOnRoaXMucHJvcHNbImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIl0scmVmOnRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZixvblNjcm9sbENhcHR1cmU6dGhpcy5wcm9wcy5vblNjcm9sbCxvbkNvbnRleHRNZW51OmQucHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudSx0YWJJbmRleDp0aGlzLnByb3BzLnRhYkluZGV4LG9uTW91c2VPdmVyOl8sb25Nb3VzZU91dDp4LG9uS2V5RG93bjpFLG9uRm9jdXM6QyxvbkJsdXI6U30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGcuc2Nyb2xsV3JhcCwhdGhpcy5wcm9wcy5ub01vbWVudHVtQmFzZWRTY3JvbGwmJmcubW9tZW50dW1CYXNlZCksc3R5bGU6e292ZXJmbG93WTp2b2lkIDAhPT1NPyJzY3JvbGwiOiJhdXRvIixtYXhIZWlnaHQ6eX0sb25TY3JvbGxDYXB0dXJlOnRoaXMuX2hhbmRsZVNjcm9sbCxyZWY6dGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZn0sbi5jcmVhdGVFbGVtZW50KHcse2NsYXNzTmFtZTpnLm1lbnVCb3h9LHApKSkpLG4uY3JlYXRlRWxlbWVudChhLlNsb3QsewpyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKSl9dXBkYXRlKGUpe2U/dGhpcy5fcmVzaXplRm9yY2VkKCk6dGhpcy5fcmVzaXplKCl9Zm9jdXMoZSl7dGhpcy5fY29udGFpbmVyUmVmPy5mb2N1cyhlKX1ibHVyKCl7dGhpcy5fY29udGFpbmVyUmVmPy5ibHVyKCl9fWZ1bmN0aW9uIHcoZSl7Y29uc3QgdD0oMCxyLmVuc3VyZU5vdE51bGwpKCgwLG4udXNlQ29udGV4dCkoYy5TdWJtZW51Q29udGV4dCkpLG89bi51c2VSZWYobnVsbCk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOm8sY2xhc3NOYW1lOmUuY2xhc3NOYW1lLG9uTW91c2VPdmVyOmZ1bmN0aW9uKGUpe2lmKCEobnVsbCE9PXQuY3VycmVudCYmZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiYobj1lLnRhcmdldCxvLmN1cnJlbnQ/LmNvbnRhaW5zKG4pKSkpcmV0dXJuO3ZhciBuO3QuaXNTdWJtZW51Tm9kZShlLnRhcmdldCl8fHQuc2V0Q3VycmVudChudWxsKX0sImRhdGEtcWEtaWQiOiJtZW51LWlubmVyIn0sZS5jaGlsZHJlbil9Yi5jb250ZXh0VHlwZT1jLlN1Ym1lbnVDb250ZXh0fSwxNTM3MzQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUU6KCk9PnUsUG9wdXBNZW51SXRlbTooKT0+aH0pO3ZhciBuPW8oNzc5NDc0KSxzPW8oOTE0NDg3KSxpPW8ubihzKSxyPW8oMzg3Nzc0KSxhPW8oODQ4OTg4KSxsPW8oMjc2MDE5KSxjPW8oNDcwMjk1KTtjb25zdCB1PWM7ZnVuY3Rpb24gZChlKXtlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoZSl7Y29uc3R7aWQ6dCxyb2xlOm8sY2xhc3NOYW1lOnMsdGl0bGU6dSxsYWJlbFJvd0NsYXNzTmFtZTpoLGxhYmVsQ2xhc3NOYW1lOnAsdG9vbGJveENsYXNzTmFtZTptLHNob3J0Y3V0OnYsZm9yY2VTaG93U2hvcnRjdXRzOmYsaWNvbjpnLGljb25DbGFzc25hbWU6Yixpc0FjdGl2ZTp3LGlzRGlzYWJsZWQ6eSxpc0hvdmVyZWQ6XyxhcHBlYXJBc0Rpc2FibGVkOngsbGFiZWw6RSxsaW5rOkMsc2hvd1Rvb2xib3hPbkhvdmVyOlMsc2hvd1Rvb2xib3hPbkZvY3VzOk0sdGFyZ2V0OkEscmVsOmssdG9vbGJveDpOLHRvb2xib3hSb2xlOkQscmVmZXJlbmNlOk8sb25Nb3VzZU91dDpQLG9uTW91c2VPdmVyOkwsb25LZXlEb3duOkIsc3VwcHJlc3NUb29sYm94Q2xpY2s6VD0hMCx0aGVtZTpSPWMsdGFiSW5kZXg6eix0YWdOYW1lOkYscmVuZGVyQ29tcG9uZW50Okkscm91bmRlZEljb246VyxpY29uQXJpYVByb3BzOkgsY2lyY2xlTG9nbzpWLGRvbnRDbG9zZVBvcHVwOlEsb25DbGljazpVLG9uQ2xpY2tBcmc6WixvbkNvbnRleHRNZW51OnEsb25Nb3VzZVVwOkcsc3RhcnRTbG90OkssZGF0YVFhSWQ6JCwuLi5qfT1lLFk9KDAsbi51c2VSZWYpKG51bGwpLFg9KDAsbi51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCl7Y29uc3R7cmVmZXJlbmNlOm8sLi4uc309dCxpPWU/PyhzLmhyZWY/ImEiOiJkaXYiKSxyPSJhIj09PWk/czpmdW5jdGlvbihlKXtjb25zdHtkb3dubG9hZDp0LGhyZWY6byxocmVmTGFuZzpuLG1lZGlhOnMscGluZzppLHJlbDpyLHRhcmdldDphLHR5cGU6bCxyZWZlcnJlclBvbGljeTpjLC4uLnV9PWU7cmV0dXJuIHV9KHMpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoaSx7Li4ucixyZWY6b30pfXJldHVybiB0LmRpc3BsYXlOYW1lPWBEZWZhdWx0Q29tcG9uZW50KCR7ZX0pYCx0fShGKSksW0ZdKSxKPUk/P1g7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChKLHsuLi5qLGlkOnQscm9sZTpvLGNsYXNzTmFtZTppKCkocyxSLml0ZW0sZyYmUi53aXRoSWNvbix7W1IuaXNBY3RpdmVdOncsW1IuaXNEaXNhYmxlZF06eXx8eCxbUi5ob3ZlcmVkXTpffSksdGl0bGU6dSxocmVmOkMsdGFyZ2V0OkEscmVsOmsscmVmZXJlbmNlOmZ1bmN0aW9uKGUpe1kuY3VycmVudD1lLCJmdW5jdGlvbiI9PXR5cGVvZiBPJiZPKGUpOyJvYmplY3QiPT10eXBlb2YgTyYmKE8uY3VycmVudD1lKX0sb25DbGljazpmdW5jdGlvbihlKXtpZih5KXJldHVybjtVJiZVKFosZSk7UXx8KGUuY3VycmVudFRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicG9wdXAtbWVudS1jbG9zZS1ldmVudCIse2J1YmJsZXM6ITAsZGV0YWlsOntjbGlja1R5cGU6KDAsYS5pc0tleWJvYXJkQ2xpY2spKGUpPyJrZXlib2FyZCI6Im1vdXNlIn19KSksKDAsbC5nbG9iYWxDbG9zZU1lbnUpKCkpfSxvbkNvbnRleHRNZW51OnEsb25Nb3VzZVVwOkcsb25Nb3VzZU92ZXI6TCxvbk1vdXNlT3V0OlAsb25LZXlEb3duOkIsdGFiSW5kZXg6eiwiZGF0YS1xYS1pZCI6JH0sViYmbi5jcmVhdGVFbGVtZW50KHIuQ2lyY2xlTG9nbyx7Li4uSCxjbGFzc05hbWU6Y1siZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIl0sc2l6ZToieHh4c21hbGwiLGxvZ29Vcmw6Vi5sb2dvVXJsLHBsYWNlaG9sZGVyTGV0dGVyOiJwbGFjZWhvbGRlckxldHRlciJpbiBWP1YucGxhY2Vob2xkZXJMZXR0ZXI6dm9pZCAwfSksSyYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOlIuc3RhcnRTbG90fSxLKSxnJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsiYXJpYS1sYWJlbCI6SCYmSFsiYXJpYS1sYWJlbCJdLCJhcmlhLWhpZGRlbiI6SCYmQm9vbGVhbihIWyJhcmlhLWhpZGRlbiJdKSxjbGFzc05hbWU6aSgpKFIuaWNvbixXJiZjWyJyb3VuZC1pY29uIl0sYiksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpnfX0pLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoUi5sYWJlbFJvdyxoKX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShSLmxhYmVsLHApfSxFKSksKHZvaWQgMCE9PXZ8fGYpJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6Ui5zaG9ydGN1dH0sKGVlPXYpJiZlZS5zcGxpdCgiKyIpLmpvaW4oIiArICIpKSx2b2lkIDAhPT1OJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOkQsb25DbGljazpUP2Q6dm9pZCAwLGNsYXNzTmFtZTppKCkobSxSLnRvb2xib3gse1tSLnNob3dPbkhvdmVyXTpTLFtSLnNob3dPbkZvY3VzXTpNfSl9LE4pKTt2YXIgZWV9fSw2MzI5OTIoZSx0LG8peyJ1c2Ugc3RyaWN0Igo7by5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9bygyNzYwMTkpO2NvbnN0IGk9bi5jcmVhdGVDb250ZXh0KHMuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDgzNTk2NChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtQb3B1cE1lbnU6KCk9Pmh9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDEyOTM2NSksaT1vKDkyODEzMikscj1vKDU4NTQ4KSxhPW8oMjM2NzY1KSxsPW8oMjI3OTQ5KSxjPW8oMTQ1MTUwKSx1PW8oNjMyOTkyKSxkPW8oMzAxOTM3KTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NvbnRyb2xsZXI6dCxjaGlsZHJlbjpvLGlzT3BlbmVkOmgsY2xvc2VPbkNsaWNrT3V0c2lkZTpwPSEwLGRvTm90Q2xvc2VPbjptLG9uQ2xpY2tPdXRzaWRlOnYsb25DbG9zZTpmLG9uS2V5Ym9hcmRDbG9zZTpnLGRhdGFRYUlkOmI9InBvcHVwLW1lbnUtY29udGFpbmVyIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDp3LC4uLnl9PWUsXz0oMCxuLnVzZUNvbnRleHQpKHUuQ2xvc2VEZWxlZ2F0ZUNvbnRleHQpLHg9bi51c2VDb250ZXh0KGwuTWVudVdpZHRoQ29udGV4dCksRT0oMCxuLnVzZUNvbnRleHQpKGQuUmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0KSxDPSgwLGEudXNlT3V0c2lkZUV2ZW50KSh7aGFuZGxlcjpmdW5jdGlvbihlKXt2JiZ2KGUpO2lmKCFwKXJldHVybjtjb25zdCB0PSgwLGkuZGVmYXVsdCkobSk/bSgpOm51bGw9PW0/W106W21dO2lmKHQubGVuZ3RoPjAmJmUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSlmb3IoY29uc3QgbyBvZiB0KXtjb25zdCB0PXMuZmluZERPTU5vZGUobyk7aWYodCBpbnN0YW5jZW9mIE5vZGUmJnQuY29udGFpbnMoZS50YXJnZXQpKXJldHVybn1mKCl9LG1vdXNlRG93bjohMCx0b3VjaFN0YXJ0OiEwfSk7cmV0dXJuIGg/bi5jcmVhdGVFbGVtZW50KHIuUG9ydGFsLHt0b3A6IjAiLGxlZnQ6IjAiLHJpZ2h0OiIwIixib3R0b206IjAiLHBvaW50ZXJFdmVudHM6Im5vbmUifSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6QyxzdHlsZTp7cG9pbnRlckV2ZW50czoiYXV0byJ9fSxuLmNyZWF0ZUVsZW1lbnQoYy5NZW51LHsuLi55LG9uQ2xvc2U6ZixvbktleWJvYXJkQ2xvc2U6ZyxvblNjcm9sbDpmdW5jdGlvbih0KXtjb25zdHtvblNjcm9sbDpvfT1lO28mJm8odCl9LGN1c3RvbUNsb3NlRGVsZWdhdGU6XyxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTpFLHJlZjp0LGRhdGFRYUlkOmIsbGltaXRNYXhXaWR0aDp4LnNldE1lbnVNYXhXaWR0aCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDp3fSxvKSkpOm51bGx9fSwzMDE5MzcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7UmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7Y29uc3Qgbj1vKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCh2b2lkIDApfSwxOTkxNzIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG9vbFdpZGdldE1lbnVTdW1tYXJ5OigpPT5hfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9byg3NjEwOTMpO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShlLmNsYXNzTmFtZSxyLnRpdGxlKX0sZS5jaGlsZHJlbil9fSw1NTgwMzAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG91Y2hTY3JvbGxDb250YWluZXI6KCk9PmN9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDg1MzMzNiksaT1vKDEzODYzOCkscj1vKDczODQ1OCk7Y29uc3QgYT1DU1Muc3VwcG9ydHMoIm92ZXJzY3JvbGwtYmVoYXZpb3IiLCJub25lIik7bGV0IGw9MDtjb25zdCBjPSgwLG4uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2hpbGRyZW46bywuLi5pfT1lLGM9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLG4udXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PmMuY3VycmVudCkpLCgwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZihyLmlzSU9TKXJldHVybiBsKyssbnVsbCE9PWMuY3VycmVudCYmKGE/MT09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSIpOigwLHMuZGlzYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCx7YWxsb3dUb3VjaE1vdmU6dShjKX0pKSwoKT0+e2wtLSxudWxsIT09Yy5jdXJyZW50JiYoYT8wPT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiKTooMCxzLmVuYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCkpfX0pLFtdKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLC4uLml9LG8pfSkpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIHQ9Pntjb25zdCBvPSgwLGkuZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIW8uY29udGFpbnModCl8fG51bGwhPT1uJiZvLmNvbnRhaW5zKG4pJiZuLmNvbnRhaW5zKHQpfX19LDM4NzIzMShlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0LG89e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LG89e30pe2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgcyBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3QgaT1vW3NdfHxzO2kgaW4gZSYmKG5bc109W2VbaV0sdFtzXV0uam9pbigiICIpKX1yZXR1cm4gbn0oZSx0LG8pKX1vLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm59KX0sNTkwNDg2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0JhZGdlOigpPT5jfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9byg5Nzc3NyksYT1vLm4ocik7ZnVuY3Rpb24gbCh7aHJlZjplLG9uQ2xpY2s6dCxyZWZlcmVuY2U6bywuLi5zfSl7cmV0dXJuIGU/bi5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjplLG9uQ2xpY2s6dCx0YXJnZXQ6Il9ibGFuayIscmVmOm8sLi4uc30pOnQ/bi5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtvbkNsaWNrOnQscmVmOm8sLi4uc30pOm4uY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpvLC4uLnN9KX0KZnVuY3Rpb24gYyh7Y2xhc3NOYW1lOmUsc2l6ZTp0LGxlZnRTbG90Om8scmlnaHRTbG90OnMsY2hpbGRyZW46ciwuLi5jfSl7Y29uc3QgdT1pKCkoZSxhKCkuYmFkZ2UsdCYmYSgpW3RdLHImJmEoKS5oYXNDaGlsZHJlbik7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChsLHtjbGFzc05hbWU6dSwuLi5jfSxvJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkuc2xvdH0sbyksciYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKS5jb250ZW50fSxyKSxzJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkuc2xvdH0scykpfX0sOTAwODQxKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQsbyxuLHMpe2Z1bmN0aW9uIGkocyl7aWYoZT5zLnRpbWVTdGFtcClyZXR1cm47Y29uc3QgaT1zLnRhcmdldDt2b2lkIDAhPT1vJiZudWxsIT09dCYmbnVsbCE9PWkmJmkub3duZXJEb2N1bWVudD09PW4mJih0LmNvbnRhaW5zKGkpfHxvKHMpKX1yZXR1cm4gcy5jbGljayYmbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaSwhMSkscy5tb3VzZURvd24mJm4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixpLCExKSxzLnRvdWNoRW5kJiZuLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixpLCExKSxzLnRvdWNoU3RhcnQmJm4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsaSwhMSksKCk9PntuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixpLCExKSxuLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMSksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsaSwhMSksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixpLCExKX19by5kKHQse2FkZE91dHNpZGVFdmVudExpc3RlbmVyOigpPT5ufSl9LDIzNjc2NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VPdXRzaWRlRXZlbnQ6KCk9PnJ9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDYxNjMxMSksaT1vKDkwMDg0MSk7ZnVuY3Rpb24gcihlKXtjb25zdHtjbGljazp0LG1vdXNlRG93bjpvLHRvdWNoRW5kOnIsdG91Y2hTdGFydDphLGhhbmRsZXI6bCxyZWZlcmVuY2U6Y309ZSx1PSgwLG4udXNlUmVmKShudWxsKSxkPSgwLG4udXNlUmVmKSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8wOm5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRpbWVzdGFtcCIpLnRpbWVTdGFtcCk7cmV0dXJuKDAscy51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXtjbGljazp0LG1vdXNlRG93bjpvLHRvdWNoRW5kOnIsdG91Y2hTdGFydDphfSxuPWM/Yy5jdXJyZW50OnUuY3VycmVudDtyZXR1cm4oMCxpLmFkZE91dHNpZGVFdmVudExpc3RlbmVyKShkLmN1cnJlbnQsbixsLGRvY3VtZW50LGUpfSksW3QsbyxyLGEsbF0pLGN8fHV9fSwyOTAyNDMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlU2FmZU1vYmlsZVRvdWNoOigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9byg3Mzg0NTgpO2Z1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLG4udXNlU3RhdGUpKCExKTtyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT57dChzLm1vYmlsZXRvdWNoKX0pLFtdKSxlfX0sMTE5NzUwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ljb25RdWVzdGlvbkluZm9ybWF0aW9uOigpPT5DLEljb25RdWVzdGlvbkluZm9ybWF0aW9uQnV0dG9uOigpPT5TfSk7dmFyIG4scz1vKDc3OTQ3NCksaT1vKDkxNDQ4Nykscj1vLm4oaSksYT1vKDM0NTExNiksbD1vKDI3MzMxMCksYz1vKDc4NTk5NSksdT1vLm4oYyksZD1vKDUyNzIxOSksaD1vLm4oZCkscD1vKDY3MzA2NSksbT1vLm4ocCksdj1vKDQwMDA0NiksZj1vLm4odiksZz1vKDk5NDUpLGI9by5uKGcpOyFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShufHwobj17fSkpO2NvbnN0IHc9InNtYWxsIjt2YXIgeSxfOyFmdW5jdGlvbihlKXtlLkRlZmF1bHQ9ImRlZmF1bHQiLGUuRGFuZ2VyPSJkYW5nZXIiLGUuV2FybmluZz0id2FybmluZyIsZS5TdWNjZXNzPSJzdWNjZXNzIixlLk5ldXRyYWw9Im5ldXRyYWwiLGUuTmV1dHJhbExpZ2h0PSJuZXV0cmFsLWxpZ2h0In0oeXx8KHk9e30pKSxmdW5jdGlvbihlKXtlLkluZm89ImluZm8iLGUuUXVlc3Rpb249InF1ZXN0aW9uIixlLkNoZWNrPSJjaGVjayIsZS5FeGNsYW1hdGlvbj0iZXhjbGFtYXRpb24ifShffHwoXz17fSkpO2NvbnN0IHg9e2luZm86aCgpLHF1ZXN0aW9uOnUoKSxjaGVjazptKCksZXhjbGFtYXRpb246ZigpfSxFPXMuZm9yd2FyZFJlZigoKGUsdCk9PnMuY3JlYXRlRWxlbWVudCgic3BhbiIsey4uLmUscmVmOnQsY2xhc3NOYW1lOnIoKShlLmNsYXNzTmFtZSxiKClbIm5vLWFjdGl2ZS1zdGF0ZSJdKX0pKSksQz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpvPSJleGNsYW1hdGlvbiIsaW50ZW50Om49ImRlZmF1bHQiLGFyaWFMYWJlbDppLHRvb2x0aXA6YyxjbGFzc05hbWU6dSxyZW5kZXJDb21wb25lbnQ6ZD1FLHRhYkluZGV4Omg9MCxzaXplOnA9dyxvbkZvY3VzOm0sb25CbHVyOnYsb25DbGljazpmLC4uLmd9PWUseT14W29dPz9vO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoZCx7Y2xhc3NOYW1lOnIoKSh1LGIoKS5pY29uV3JhcHBlcixiKClbbl0sYigpW3BdKSx0aXRsZTpjLHJlZjp0LHRhYkluZGV4Omgsb25Gb2N1czptLG9uQmx1cjp2LG9uQ2xpY2s6ZiwuLi4oMCxhLmZpbHRlckRhdGFQcm9wcykoZyl9LHMuY3JlYXRlRWxlbWVudChsLkljb24seyJhcmlhLWhpZGRlbiI6IWksImFyaWEtbGFiZWwiOmksaWNvbjp5LGNsYXNzTmFtZTpiKCkuaWNvbn0pKX0pKTtmdW5jdGlvbiBTKGUpe2NvbnN0e2ljb246dD0iZXhjbGFtYXRpb24iLGludGVudDpvPSJkZWZhdWx0IixzaXplOm49dyxvbkNsaWNrOmksb25Nb3VzZUVudGVyOmEsb25Nb3VzZUxlYXZlOmMsb25Gb2N1czp1LG9uQmx1cjpkLHJlZmVyZW5jZTpoLGFyaWFMYWJlbDpwfT1lLG09eFt0XT8/dDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtjbGFzc05hbWU6cigpKGIoKS5pY29uV3JhcHBlcixiKClbb10sYigpW25dKSwKcmVmOmgsb25DbGljazppLG9uTW91c2VFbnRlcjphLG9uTW91c2VMZWF2ZTpjLG9uRm9jdXM6dSxvbkJsdXI6ZCwiYXJpYS1sYWJlbCI6cH0scy5jcmVhdGVFbGVtZW50KGwuSWNvbix7aWNvbjptLGNsYXNzTmFtZTpiKCkuaWNvbn0pKX19LDg2NTA5MihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VUb29sdGlwOigpPT5yfSk7dmFyIG49byg3Nzk0NzQpLHM9bygyOTAyNDMpLGk9byg3ODc4OTUpO2Z1bmN0aW9uIHIoZSx0PW51bGwpe2NvbnN0e3Nob3dUb29sdGlwOm8saGlkZVRvb2x0aXA6cixvbkNsaWNrOmEsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6bD0hMX09ZSxjPSgwLGkudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCksdT0oMCxzLnVzZVNhZmVNb2JpbGVUb3VjaCkoKSxkPXUmJmw/dm9pZCAwOmUudG9vbHRpcDsoMCxuLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oKT0+ciYmcigpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApfSksW2Mscl0pO3JldHVybntvbkJsdXI6KDAsbi51c2VDYWxsYmFjaykoKGU9PntyJiZyKCl9KSxbcl0pLG9uRm9jdXM6KDAsbi51c2VDYWxsYmFjaykoKGU9PnshZS50YXJnZXQubWF0Y2hlcygiOmhvdmVyIikmJm8mJmUudGFyZ2V0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikmJm8oZS5jdXJyZW50VGFyZ2V0LHt0b29sdGlwRGVsYXk6MjAwfSl9KSxbb10pLG9uQ2xpY2s6KDAsbi51c2VDYWxsYmFjaykoKGU9Pnt1JiZjPy5jdXJyZW50Py5mb2N1cygpLGEmJmEoZSl9KSxbYSxjLHVdKSx0b29sdGlwOmQsY2xhc3NOYW1lOnZvaWQgMCE9PWQ/ImFwcGx5LWNvbW1vbi10b29sdGlwIjp2b2lkIDAscmVmOmN9fX0sMjI3OTQ5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse01lbnVXaWR0aENvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtzZXRNZW51TWF4V2lkdGg6ITF9KX0sODkxMjA5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1N1Ym1lbnVDb250ZXh0OigpPT5zLFN1Ym1lbnVIYW5kbGVyOigpPT5pfSk7dmFyIG49byg3Nzk0NzQpO2NvbnN0IHM9bi5jcmVhdGVDb250ZXh0KG51bGwpO2Z1bmN0aW9uIGkoZSl7Y29uc3RbdCxvXT0oMCxuLnVzZVN0YXRlKShudWxsKSxpPSgwLG4udXNlUmVmKShudWxsKSxyPSgwLG4udXNlUmVmKShuZXcgTWFwKTtyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT4oKT0+e251bGwhPT1pLmN1cnJlbnQmJmNsZWFyVGltZW91dChpLmN1cnJlbnQpfSksW10pLG4uY3JlYXRlRWxlbWVudChzLlByb3ZpZGVyLHt2YWx1ZTp7Y3VycmVudDp0LHNldEN1cnJlbnQ6ZnVuY3Rpb24oZSl7bnVsbCE9PWkuY3VycmVudCYmKGNsZWFyVGltZW91dChpLmN1cnJlbnQpLGkuY3VycmVudD1udWxsKTtudWxsPT09dD9vKGUpOmkuY3VycmVudD1zZXRUaW1lb3V0KCgoKT0+e2kuY3VycmVudD1udWxsLG8oZSl9KSwxMDApfSxyZWdpc3RlclN1Ym1lbnU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gci5jdXJyZW50LnNldChlLHQpLCgpPT57ci5jdXJyZW50LmRlbGV0ZShlKX19LGlzU3VibWVudU5vZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmZyb20oci5jdXJyZW50LnZhbHVlcygpKS5zb21lKCh0PT50KGUpKSl9fX0sZS5jaGlsZHJlbil9fSwxNDc5MDEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VUlfTElCX0RBVEFfUUFfSURfUFJFRklYOigpPT5yLGNvbmNhdElmTm90TnVsbDooKT0+aSxkYXRhUWFJZHM6KCk9PnN9KTt2YXIgbj1vKDU2NTc0NSk7ZnVuY3Rpb24gcyhlLHQpe3JldHVybltlLHRdLmZpbHRlcihuLmlzRXhpc3RlbnQpLmpvaW4oIiAiKX1mdW5jdGlvbiBpKGUsdCl7aWYoKDAsbi5pc0V4aXN0ZW50KSh0KSlyZXR1cm5bZSx0XS5qb2luKCIgIil9Y29uc3Qgcj0idWktbGliLSJ9LDIzMTMzMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtpc05ld3NBbGxvd2VkOigpPT5pLGlzTmV3c1N0cmVhbWluZ0VuYWJsZWQ6KCk9PnJ9KTt2YXIgbj1vKDkzMDIzMSkscz1vKDU2OTM5OCk7Y29uc3QgaT0hKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iikscj0oMCxzLmlzRmVhdHVyZUVuYWJsZWQpKCJuZXdzX2VuYWJsZV9zdHJlYW1pbmciKSYmKDAscy5pc0ZlYXR1cmVFbmFibGVkKSgiZW5hYmxlX2RldGFpbHNfbmV3c19zdHJlYW1pbmciKX0sMjU4NDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlRGlhbG9nQWN0aW9uczooKT0+X30pO3ZhciBuPW8oNzc5NDc0KSxzPW8oNTUxNzkpLGk9byg5MjgwMDIpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdFtvLHNdPSgwLG4udXNlU3RhdGUpKCgoKT0+ZT8uaXNEaXNhYmxlZCgpPz8hMCkpO3JldHVybigwLG4udXNlRWZmZWN0KSgoKCk9PntpZighZSlyZXR1cm4gdm9pZCBzKCEwKTtjb25zdCB0PSgpPT5zKGUuaXNEaXNhYmxlZCgpKTtyZXR1cm4gZS5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLHQpLCgpPT57ZS5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsdCl9fSksW2VdKSwoMCxuLnVzZUVmZmVjdCkoKCgpPT57ZSYmZS51cGRhdGVFeGVjdXRlKHQpfSksW3QsZV0pLG99dmFyIGE9byg2ODA5MzMpLGw9byg1NTI2OTUpLGM9byg4NjIwODApLHU9byg2MzA3ODcpLGQ9byg4OTIxMzMpLGg9byg0ODQ0NCkscD1vKDcwNzcxNiksbT1vKDE4NTI3MSksdj1vKDU4MzAzOCksZj1vKDc2Mjg1MSksZz1vKDkxNzk4NiksYj1vKDE3MDQ0KSx3PW8oODkwODM1KTtjbGFzcyB5IGV4dGVuZHMgZy5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoZSl7Y29uc3QgdD0oMCxiLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnJlcXVlc3RlZFN5bWJvbCgpLG49dD8oMCx2LnNwbGl0U3ltYm9sTmFtZSkodClbMV06IiI7c3VwZXIoe2xhYmVsOigwLGYuYXBwZW5kRWxsaXBzaXMpKG0udChudWxsLHtyZXBsYWNlOntzeW1ib2w6bn0sY29udGV4dDoiQ29tbXVuaXR5IHBvc3RzIGRpYWxvZyJ9LG8oOTk0MDE2KSkpLGlkOiJDb21tdW5pdHkgRGlhbG9nIixpY29uOm8oODQ0NjQxKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIiwKZGlzYWJsZWQ6ITB9KSx0aGlzLl9vdmVydmlld09wdGlvbnM9ZTtjb25zdCBzPSgwLGIuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzKCk7dGhpcy51cGRhdGUoe2Rpc2FibGVkOnRoaXMuX2lzRGlzYWJsZWQocyl9KSx0aGlzLnVwZGF0ZUV4ZWN1dGUoKX11cGRhdGVFeGVjdXRlKGUpe3RoaXMudXBkYXRlKHtvbkV4ZWN1dGU6KCk9Pnt2YXIgdDtlP3dpbmRvdy5sb2NhdGlvbi5hc3NpZ24oZSk6KHQ9dGhpcy5fb3ZlcnZpZXdPcHRpb25zLHcuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJjb21tdW5pdHkiLHQpKX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKGUpe3JldHVybiBuZXcgeShlKX1faXNEaXNhYmxlZChlKXtyZXR1cm4hKGUmJiJvayI9PT1lLnN0YXR1cyl9fWZ1bmN0aW9uIF8oZT17fSl7Y29uc3R7c2Vhc29uYWxzTGluazp0LGZvcmVjYXN0TGluazpvLG9wdGlvbnNMaW5rOm0sZWNvbm9teUluZGljYXRvcnNMaW5rOnYsc3RvY2tCb25kc0xpbms6ZixuZXdzTGluazpnLGNvbW11bml0eUxpbms6Yixjb21tdW5pdHlPdmVydmlld09wdGlvbnM6d309ZSxfPSgwLG4udXNlTWVtbykoKCgpPT5sLlNlYXNvbmFsc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoXyx0KTtjb25zdCB4PSgwLG4udXNlTWVtbykoKCgpPT5jLkFuYWx5c2lzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cih4KTtjb25zdCBFPSgwLG4udXNlTWVtbykoKCgpPT5zLkZvcmVjYXN0QWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihFLG8pO2NvbnN0IEM9KDAsbi51c2VNZW1vKSgoKCk9PmEuT3B0aW9uc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoQyxtKTtjb25zdCBTPSgwLG4udXNlTWVtbykoKCgpPT5pLkVjb25vbXlJbmRpY2F0b3JzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihTLHYpO2NvbnN0IE09KDAsbi51c2VNZW1vKSgoKCk9PnUuU3RvY2tCb25kc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoTSxmKTtjb25zdCBBPSgwLG4udXNlTWVtbykoKCgpPT5kLkRvY3VtZW50c0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoQSk7Y29uc3Qgaz0oMCxuLnVzZU1lbW8pKCgoKT0+cC5OZXdzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihrLGcpO2NvbnN0IE49KDAsbi51c2VNZW1vKSgoKCk9PmguRXRmc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoTik7Y29uc3QgRD0oMCxuLnVzZVJlZikodyksTz0oMCxuLnVzZU1lbW8pKCgoKT0+eS5jcmVhdGVBY3Rpb24oRC5jdXJyZW50KSksW10pO3JldHVybiByKE8sYikse3NlYXNvbmFsc0FjdGlvbjpfLGZvcmVjYXN0QWN0aW9uOkUsYW5hbHlzaXNBY3Rpb246eCxvcHRpb25zQWN0aW9uOkMsZWNvbm9teUluZGljYXRvcnNBY3Rpb246UyxzdG9ja0JvbmRzQWN0aW9uOk0sZG9jdW1lbnRzQWN0aW9uOkEsZXRmc0FjdGlvbjpOLG5ld3NBY3Rpb246ayxjb21tdW5pdHlBY3Rpb246T319fSw5MjgwMDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RWNvbm9teUluZGljYXRvcnNBY3Rpb246KCk9PnV9KTt2YXIgbj1vKDE4NTI3MSkscz1vKDc2Mjg1MSksaT1vKDkzMDIzMSkscj1vKDkxNzk4NiksYT1vKDE3MDQ0KSxsPW8oODkwODM1KTt2YXIgYz1vKDE1NjgyOSk7Y2xhc3MgdSBleHRlbmRzIHIuRGlhbG9nQWN0aW9ue2NvbnN0cnVjdG9yKCl7c3VwZXIoe2xhYmVsOigwLHMuYXBwZW5kRWxsaXBzaXMpKG4udChudWxsLHZvaWQgMCxvKDI1MzUzKSkpLGlkOiJFY29ub215SW5kaWNhdG9yc0RpYWxvZyIsaWNvbjpvKDY3NDkwNSksY2F0ZWdvcnk6ImZ1bmN0aW9uQWN0aW9ucyIsZGlzYWJsZWQ6ITB9KSx0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZCgoMCxhLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZWNvbm9teS1pbmRpY2F0b3JzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/bnVsbDpuZXcgdX1zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSx0KXtyZXR1cm4gQm9vbGVhbihlJiYoMCxjLmlzRWNvbm9taWNTeW1ib2wpKGUpJiZ0KX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiF1LmNoZWNrQXZhaWxhYmlsaXR5KHQudHlwZSx0WyJmaW5hbmNpYWwtaW5kaWNhdG9yLWlkIl0pfXJldHVybiEwfX19LDU1MTc5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ZvcmVjYXN0QWN0aW9uOigpPT5ofSk7dmFyIG49bygxODUyNzEpLHM9byg1ODMwMzgpLGk9byg5MzAyMzEpLHI9byg3NjI4NTEpLGE9byg4OTA4MzUpO3ZhciBsPW8oOTE3OTg2KSxjPW8oMTcwNDQpLHU9byg5MjY2OTgpLGQ9by5uKHUpO2NsYXNzIGggZXh0ZW5kcyBsLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYy5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxyLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDQ1MDE2NikpKSxpZDoiRm9yZWNhc3REaWFsb2ciLGljb246ZCgpLGNhdGVnb3J5OiJmdW5jdGlvbkFjdGlvbnMiLGRpc2FibGVkOiEwfSk7Y29uc3QgaT0oMCxjLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpO3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKGkpfSksdGhpcy51cGRhdGVFeGVjdXRlKCl9dXBkYXRlRXhlY3V0ZShlKXt0aGlzLnVwZGF0ZSh7b25FeGVjdXRlOigpPT57dmFyIHQKO2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTphLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZm9yZWNhc3QiLHQpfX0pfXN0YXRpYyBjcmVhdGVBY3Rpb24oKXtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBofXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gQm9vbGVhbihlKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFoLmNoZWNrQXZhaWxhYmlsaXR5KHQucmVjb21tZW5kYXRpb25fbWFyayl9cmV0dXJuITB9fX0sOTcxMTgzKGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIG47by5kKHQse0xhYmVsUHJvZHVjdDooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuSG90bGlzdHM9ImhvdGxpc3RzIixlLk1hcmtldEVhcm5pbmdzPSJtYXJrZXRzLWVhcm5pbmdzIixlLktleVN0YXRzPSJzeW1ib2xzLWtleXN0YXRzIixlLlRlY2huaWNhbHM9InN5bWJvbHMtdGVjaG5pY2FscyIsZS5QZXJmb3JtYW5jZT0ic3ltYm9scy1wZXJmb3JtYW5jZSIsZS5Cb25kc1lpZWxkQ3VydmU9ImJvbmRzLXlpZWxkLWN1cnZlIixlLkZ1dHVyZXNGb3J3YXJkQ3VydmU9ImZ1dHVyZXMtZm9yd2FyZC1jdXJ2ZSIsZS5NYXJrZXRzRm9yZXhIZWF0bWFwPSJtYXJrZXRzLWZvcmV4LWhlYXRtYXAiLGUuTWFya2V0c0JvbmRzWWllbGRIZWF0bWFwPSJtYXJrZXRzLWJvbmRzLXlpZWxkLWhlYXRtYXAiLGUuTWFya2V0c1NlY3RvclBlcmZvcm1hbmNlSGVhdG1hcD0ibWFya2V0cy1zZWN0b3ItcGVyZm9ybWFuY2UtaGVhdG1hcCIsZS5DYWxlbmRhckVhcm5pbmdzPSJjYWxlbmRhci1lYXJuaW5ncyIsZS5DYWxlbmRhckRpdmlkZW5kcz0iY2FsZW5kYXItZGl2aWRlbmRzIixlLkNhbGVuZGFySXBvPSJjYWxlbmRhci1pcG8iLGUuUXVpY2tTZWFyY2hEaWFsb2c9InF1aWNrLXNlYXJjaC1kaWFsb2ciLGUuUG9wdXBFVEZBbmFseXNpcz0icG9wdXAtZXRmLWFuYWx5c2lzIixlLkNoYXJ0U3ltYm9saW5mbz0iY2hhcnQtc3ltYm9saW5mbyIsZS5FeHRlcm5hbFdpZGdldHM9ImV4dGVybmFsLXdpZGdldHMiLGUuUmVsYXRlZFN5bWJvbHM9InJlbGF0ZWQtc3ltYm9scyIsZS5SaWdodERldGFpbHM9InJpZ2h0LWRldGFpbHMiLGUuRm9yZXhQZXJmb3JtYW5jZT0iZm9yZXgtcGVyZm9ybWFuY2UiLGUuTWFya2V0U2VjdG9yUGVyZm9ybWFuY2U9Im1hcmtldC1zZWN0b3ItcGVyZm9ybWFuY2UiLGUuQ2hhcnRNZXRyaWNzQWN0aW9uPSJjaGFydC1tZXRyaWNzLWFjdGlvbiIsZS5HbG9iYWxTZWFyY2g9Imdsb2JhbC1zZWFyY2giLGUuU3ltYm9sU2VhcmNoQnV0dG9uPSJzeW1ib2wtc2VhcmNoLWJ1dHRvbiJ9KG58fChuPXt9KSl9LDgzMzQwOShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzaG93VGVjaG5pY2Fsc0RpYWxvZzooKT0+c30pO3ZhciBuPW8oODkwODM1KTtmdW5jdGlvbiBzKGUpe24uY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJ0ZWNobmljYWxzIixlKX19LDkxNzk4NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtEaWFsb2dBY3Rpb246KCk9PmF9KTt2YXIgbixzPW8oNTA5MDQpOyFmdW5jdGlvbihlKXtlLkRyYXdpbmdzPSJkcmF3aW5nc0FjdGlvbnMiLGUuRnVuY3Rpb249ImZ1bmN0aW9uQWN0aW9ucyIsZS5TZXR0aW5ncz0ic2V0dGluZ3NBY3Rpb25zIn0obnx8KG49e30pKTtjbGFzcyBpIGV4dGVuZHMgcy5BY3Rpb257Y29uc3RydWN0b3Ioe2lkOmUsY2F0ZWdvcnk6dCxmYXZvdXJpdGU6byxvbkZhdm91cml0ZUNsaWNrOm4saG90a2V5R3JvdXA6cyxob3RrZXlIYXNoOmksYWxpYXNlczpyLG9wdGlvbnNMb2FkZXI6YSxvblN0YXJ0TGlzdGVuaW5nOmwsLi4uY30pe3N1cGVyKHthY3Rpb25JZDoiVW5rbm93bkFjdGlvbiIsb3B0aW9uczp7Li4uYyxkb05vdENsb3NlT25DbGljazohMH0saWQ6ZSxvcHRpb25zTG9hZGVyOmEsb25TdGFydExpc3RlbmluZzpsfSksdGhpcy5leGVjdXRlPSgpPT57c3VwZXIuZXhlY3V0ZSgpfSx0aGlzLmdldFN0YXRlPSgpPT4oey4uLnN1cGVyLmdldFN0YXRlKCksaWQ6dGhpcy5fc2VhcmNoT3B0aW9ucy5pZCxjYXRlZ29yeTp0aGlzLl9zZWFyY2hPcHRpb25zLmNhdGVnb3J5LGZhdm91cml0ZTp0aGlzLl9zZWFyY2hPcHRpb25zLmZhdm91cml0ZSxvbkZhdm91cml0ZUNsaWNrOnRoaXMuX29uRmF2b3VyaXRlQ2xpY2ssYWxpYXNlczp0aGlzLl9zZWFyY2hPcHRpb25zLmFsaWFzZXN9KSx0aGlzLnVwZGF0ZT1lPT57dGhpcy5fc2VhcmNoT3B0aW9ucz1PYmplY3QuYXNzaWduKHRoaXMuX3NlYXJjaE9wdGlvbnMsZSksc3VwZXIudXBkYXRlKGUpfSx0aGlzLl9vbkZhdm91cml0ZUNsaWNrPWU9Pnt0aGlzLl9zZWFyY2hPcHRpb25zLm9uRmF2b3VyaXRlQ2xpY2smJih0aGlzLnVwZGF0ZSh7ZmF2b3VyaXRlOiF0aGlzLl9zZWFyY2hPcHRpb25zLmZhdm91cml0ZX0pLHRoaXMuX3NlYXJjaE9wdGlvbnMub25GYXZvdXJpdGVDbGljayhlKSl9LHRoaXMuX3NlYXJjaE9wdGlvbnM9e2lkOmUsY2F0ZWdvcnk6dCxmYXZvdXJpdGU6byxvbkZhdm91cml0ZUNsaWNrOm4sYWxpYXNlczpyfX19dmFyIHI9bygxNzA0NCk7Y2xhc3MgYSBleHRlbmRzIGl7Y29uc3RydWN0b3IoZSl7c3VwZXIoey4uLmUsb25TdGFydExpc3RlbmluZzooKT0+KCgwLHIuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpLCgpPT4oMCxyLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpKX0pfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCl9X29uUXVvdGVzVXBkYXRlKGUpe3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKGUpfSl9fX0sMTMxMzIxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0hvcml6b250YWxBdHRhY2hFZGdlOigpPT5zLEhvcml6b250YWxEcm9wRGlyZWN0aW9uOigpPT5yLFZlcnRpY2FsQXR0YWNoRWRnZTooKT0+biwKVmVydGljYWxEcm9wRGlyZWN0aW9uOigpPT5pLGdldFBvcHVwUG9zaXRpb25lcjooKT0+Y30pO3ZhciBuLHMsaSxyLGE9bygxMzg2MzgpOyFmdW5jdGlvbihlKXtlW2UuVG9wPTBdPSJUb3AiLGVbZS5Cb3R0b209MV09IkJvdHRvbSIsZVtlLkF1dG9TdHJpY3Q9Ml09IkF1dG9TdHJpY3QifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTBdPSJMZWZ0IixlW2UuUmlnaHQ9MV09IlJpZ2h0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuRnJvbVRvcFRvQm90dG9tPTBdPSJGcm9tVG9wVG9Cb3R0b20iLGVbZS5Gcm9tQm90dG9tVG9Ub3A9MV09IkZyb21Cb3R0b21Ub1RvcCJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkZyb21MZWZ0VG9SaWdodD0wXT0iRnJvbUxlZnRUb1JpZ2h0IixlW2UuRnJvbVJpZ2h0VG9MZWZ0PTFdPSJGcm9tUmlnaHRUb0xlZnQifShyfHwocj17fSkpO2NvbnN0IGw9e3ZlcnRpY2FsQXR0YWNoRWRnZTpuLkJvdHRvbSxob3Jpem9udGFsQXR0YWNoRWRnZTpzLkxlZnQsdmVydGljYWxEcm9wRGlyZWN0aW9uOmkuRnJvbVRvcFRvQm90dG9tLGhvcml6b250YWxEcm9wRGlyZWN0aW9uOnIuRnJvbUxlZnRUb1JpZ2h0LHZlcnRpY2FsTWFyZ2luOjAsaG9yaXpvbnRhbE1hcmdpbjowLG1hdGNoQnV0dG9uQW5kTGlzdGJveFdpZHRoczohMX07ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBvPT57Y29uc3R7Y29udGVudFdpZHRoOmMsY29udGVudEhlaWdodDp1LGF2YWlsYWJsZUhlaWdodDpkfT1vLGg9KDAsYS5lbnN1cmVOb3ROdWxsKShlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx7aG9yaXpvbnRhbEF0dGFjaEVkZ2U6cD1sLmhvcml6b250YWxBdHRhY2hFZGdlLGhvcml6b250YWxEcm9wRGlyZWN0aW9uOm09bC5ob3Jpem9udGFsRHJvcERpcmVjdGlvbixob3Jpem9udGFsTWFyZ2luOnY9bC5ob3Jpem9udGFsTWFyZ2luLHZlcnRpY2FsTWFyZ2luOmY9bC52ZXJ0aWNhbE1hcmdpbixtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6Zz1sLm1hdGNoQnV0dG9uQW5kTGlzdGJveFdpZHRoc309dDtsZXQgYj10LnZlcnRpY2FsQXR0YWNoRWRnZT8/bC52ZXJ0aWNhbEF0dGFjaEVkZ2Usdz10LnZlcnRpY2FsRHJvcERpcmVjdGlvbj8/bC52ZXJ0aWNhbERyb3BEaXJlY3Rpb247Yj09PW4uQXV0b1N0cmljdCYmKGQ8aC55K2guaGVpZ2h0K2YrdT8oYj1uLlRvcCx3PWkuRnJvbUJvdHRvbVRvVG9wKTooYj1uLkJvdHRvbSx3PWkuRnJvbVRvcFRvQm90dG9tKSk7Y29uc3QgeT1iPT09bi5Ub3A/LTEqZjpmLF89cD09PXMuUmlnaHQ/aC5yaWdodDpoLmxlZnQseD1iPT09bi5Ub3A/aC50b3A6aC5ib3R0b20sRT17eDpfLShtPT09ci5Gcm9tUmlnaHRUb0xlZnQ/YzowKSt2LHk6eC0odz09PWkuRnJvbUJvdHRvbVRvVG9wP3U6MCkreX07cmV0dXJuIGcmJihFLm92ZXJyaWRlV2lkdGg9aC53aWR0aCksRX19fSwyOTY0NDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9UT09MX1dJREdFVF9NRU5VX1RIRU1FOigpPT5mLFRvb2xXaWRnZXRNZW51OigpPT5ifSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygyMzU3MjQpLGE9byg4MzU5NjQpLGw9byg3MDg4NDIpLGM9bygzNDUxMTYpLHU9bygzMTM3NzIpLGQ9byg5NjQyMTQpLGg9bygxMzEzMjEpLHA9byg0MDYxMTApLG09byg4NDg5ODgpLHY9byg0MjQyNjIpO2NvbnN0IGY9djt2YXIgZzshZnVuY3Rpb24oZSl7ZVtlLlZlcnRpY2FsPTJdPSJWZXJ0aWNhbCIsZVtlLkhvcml6b250YWw9MF09Ikhvcml6b250YWwifShnfHwoZz17fSkpO2NsYXNzIGIgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fd3JhcHBlclJlZj1udWxsLHRoaXMuX3Njcm9sbFdyYXBSZWY9bnVsbCx0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcj1udWxsLHRoaXMuX2NvbnRyb2xsZXI9bi5jcmVhdGVSZWYoKSx0aGlzLl9vblBvcHVwQ2xvc2VPbkNsaWNrPWU9Pnsia2V5Ym9hcmQiPT09ZS5kZXRhaWwuY2xpY2tUeXBlJiZ0aGlzLmZvY3VzKCl9LHRoaXMuX2hhbmRsZU1lbnVGb2N1cz1lPT57ZS5yZWxhdGVkVGFyZ2V0PT09dGhpcy5fd3JhcHBlclJlZiYmdGhpcy5zZXRTdGF0ZSgoZT0+KHsuLi5lLGlzT3BlbmVkQnlCdXR0b246ITB9KSkpLHRoaXMucHJvcHMub25NZW51Rm9jdXM/LihlKX0sdGhpcy5faGFuZGxlV3JhcHBlclJlZj1lPT57dGhpcy5fd3JhcHBlclJlZj1lLHRoaXMucHJvcHMucmVmZXJlbmNlJiZ0aGlzLnByb3BzLnJlZmVyZW5jZShlKX0sdGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZj1lPT57dGhpcy5fc2Nyb2xsV3JhcFJlZj1lLHRoaXMuX3N5bmNTY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcigpLHRoaXMuX3VwZGF0ZVNjcm9sbENvbXBlbnNhdGlvbigpfSx0aGlzLl9zeW5jU2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXI9KCk9Pnt0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKSx0aGlzLnByb3BzLmVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbiYmbnVsbCE9PXRoaXMuX3Njcm9sbFdyYXBSZWYmJih0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5fdXBkYXRlU2Nyb2xsQ29tcGVuc2F0aW9uKSx0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuX3Njcm9sbFdyYXBSZWYpKX0sdGhpcy5fZGVzdHJveVNjcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyPSgpPT57bnVsbCE9PXRoaXMuX3Njcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyJiYodGhpcy5fc2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuX3Njcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyPW51bGwpfSx0aGlzLl91cGRhdGVTY3JvbGxDb21wZW5zYXRpb249KCk9PntpZihudWxsPT09dGhpcy5fc2Nyb2xsV3JhcFJlZilyZXR1cm4gdm9pZCB0aGlzLnNldFN0YXRlKHtzY3JvbGxDb21wZW5zYXRpb246bnVsbH0pO2NvbnN0IGU9dGhpcy5fc2Nyb2xsV3JhcFJlZi5vZmZzZXRXaWR0aC10aGlzLl9zY3JvbGxXcmFwUmVmLmNsaWVudFdpZHRoLHQ9ZT4wPy1lKyJweCI6bnVsbAo7dGhpcy5zZXRTdGF0ZSh7c2Nyb2xsQ29tcGVuc2F0aW9uOnR9KX0sdGhpcy5faGFuZGxlT3Blbj0oKT0+eyJkaXYiIT09dGhpcy5wcm9wcy50YWcmJih0aGlzLnNldFN0YXRlKChlPT4oey4uLmUsaXNPcGVuZWRCeUJ1dHRvbjohMX0pKSksdGhpcy5wcm9wcy5tZW51UmVmZXJlbmNlPy5jdXJyZW50Py5hZGRFdmVudExpc3RlbmVyKCJwb3B1cC1tZW51LWNsb3NlLWV2ZW50Iix0aGlzLl9vblBvcHVwQ2xvc2VPbkNsaWNrKSx0aGlzLl9jb250cm9sbGVyLmN1cnJlbnQ/LmZvY3VzKCkpfSx0aGlzLl9oYW5kbGVDbGljaz1lPT57ZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiZlLmN1cnJlbnRUYXJnZXQuY29udGFpbnMoZS50YXJnZXQpJiYodGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24odm9pZCAwLCgwLG0uaXNLZXlib2FyZENsaWNrKShlKSksdGhpcy5wcm9wcy5vbkNsaWNrJiZ0aGlzLnByb3BzLm9uQ2xpY2soZSwhdGhpcy5zdGF0ZS5pc09wZW5lZCkpfSx0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bj0oZSx0PSExKT0+e2NvbnN0e29uQ2xvc2U6byxvbk9wZW46bn09dGhpcy5wcm9wcyx7aXNPcGVuZWQ6c309dGhpcy5zdGF0ZSxpPSJib29sZWFuIj09dHlwZW9mIGU/ZTohczt0aGlzLnNldFN0YXRlKHtpc09wZW5lZDppLHNob3VsZFJldHVybkZvY3VzOiEhaSYmdH0pLGkmJm4mJm4oKSwhaSYmbyYmbygpfSx0aGlzLl9oYW5kbGVDbG9zZT0oKT0+e3RoaXMuY2xvc2UoKX0sdGhpcy5faGFuZGxlS2V5RG93bj1lPT57Y29uc3R7b3JpZW50YXRpb246dD0iaG9yaXpvbnRhbCJ9PXRoaXMucHJvcHM7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighKGUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSkpcmV0dXJuO2NvbnN0IG89KDAsci5oYXNoRnJvbUV2ZW50KShlKTtpZihlLmN1cnJlbnRUYXJnZXQuY29udGFpbnMoZS50YXJnZXQpKXN3aXRjaChvKXtjYXNlIDQwOmlmKCJkaXYiPT09dGhpcy5wcm9wcy50YWd8fCJob3Jpem9udGFsIiE9PXQpcmV0dXJuO2lmKHRoaXMuc3RhdGUuaXNPcGVuZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSx0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bighMCwhMCk7YnJlYWs7Y2FzZSAyNzppZighdGhpcy5zdGF0ZS5pc09wZW5lZHx8IXRoaXMucHJvcHMuY2xvc2VPbkVzYylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24oITEpfWVsc2V7aWYoImRpdiI9PT10aGlzLnByb3BzLnRhZylyZXR1cm47c3dpdGNoKG8pe2Nhc2UgMjc6e2UucHJldmVudERlZmF1bHQoKTtjb25zdHtzaG91bGRSZXR1cm5Gb2N1czp0LGlzT3BlbmVkQnlCdXR0b246b309dGhpcy5zdGF0ZTt0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bighMSksdCYmbyYmdGhpcy5fd3JhcHBlclJlZj8uZm9jdXMoKTticmVha319fX0sdGhpcy5zdGF0ZT17aXNPcGVuZWQ6ITEsc2hvdWxkUmV0dXJuRm9jdXM6ITEsaXNPcGVuZWRCeUJ1dHRvbjohMSxzY3JvbGxDb21wZW5zYXRpb246bnVsbH19cmVuZGVyKCl7Y29uc3R7dGFnOmU9ImRpdiIsaWQ6dCxhcnJvdzpvLGNvbnRlbnQ6cyxpc0Rpc2FibGVkOnIsaXNEcmF3ZXI6YSxpc1Nob3dUb29sdGlwOnUsdGl0bGU6ZCxjbGFzc05hbWU6aCxob3RLZXk6bSx0aGVtZTp2LGRyYXdlckJyZWFrcG9pbnQ6Zix0YWJJbmRleDpnLGlzQ2xpY2tlZDpifT10aGlzLnByb3BzLHtpc09wZW5lZDp5fT10aGlzLnN0YXRlLF89aSgpKGgsdi5idXR0b24seyJhcHBseS1jb21tb24tdG9vbHRpcCI6dXx8IXIsW3YuaXNEaXNhYmxlZF06cixbdi5pc09wZW5lZF06eSxbdi5jbGlja2VkXTpifSkseD13KHMpP3Moe2lzT3BlbmVkOnl9KTpzO3JldHVybiJidXR0b24iPT09ZT9uLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsaWQ6dCxjbGFzc05hbWU6aSgpKF8sdi5hY2Nlc3NpYmxlKSxkaXNhYmxlZDpyLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdGl0bGU6ZCwiZGF0YS10b29sdGlwLWhvdGtleSI6bSxyZWY6dGhpcy5faGFuZGxlV3JhcHBlclJlZixvbktleURvd246dGhpcy5faGFuZGxlS2V5RG93bix0YWJJbmRleDpnLC4uLigwLGMuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSwuLi4oMCxjLmZpbHRlckFyaWFQcm9wcykodGhpcy5wcm9wcyl9LHgsbyYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6di5hcnJvd30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6di5hcnJvd1dyYXB9LG4uY3JlYXRlRWxlbWVudChsLlRvb2xXaWRnZXRDYXJldCx7ZHJvcHBlZDp5fSkpKSx0aGlzLnN0YXRlLmlzT3BlbmVkJiYoZj9uLmNyZWF0ZUVsZW1lbnQocC5NYXRjaE1lZGlhLHtydWxlOmZ9LChlPT50aGlzLl9yZW5kZXJDb250ZW50KGUpKSk6dGhpcy5fcmVuZGVyQ29udGVudChhKSkpOm4uY3JlYXRlRWxlbWVudCgiZGl2Iix7aWQ6dCxjbGFzc05hbWU6XyxvbkNsaWNrOnI/dm9pZCAwOnRoaXMuX2hhbmRsZUNsaWNrLHRpdGxlOmQsImRhdGEtdG9vbHRpcC1ob3RrZXkiOm0scmVmOnRoaXMuX2hhbmRsZVdyYXBwZXJSZWYsImRhdGEtcm9sZSI6ImJ1dHRvbiIsdGFiSW5kZXg6ZyxvbktleURvd246dGhpcy5faGFuZGxlS2V5RG93biwiYXJpYS1oYXNwb3B1cCI6dGhpcy5wcm9wc1siYXJpYS1oYXNwb3B1cCJdLC4uLigwLGMuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKX0seCxvJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LmFycm93fSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LmFycm93V3JhcH0sbi5jcmVhdGVFbGVtZW50KGwuVG9vbFdpZGdldENhcmV0LHtkcm9wcGVkOnl9KSkpLHRoaXMuc3RhdGUuaXNPcGVuZWQmJihmP24uY3JlYXRlRWxlbWVudChwLk1hdGNoTWVkaWEse3J1bGU6Zn0sKGU9PnRoaXMuX3JlbmRlckNvbnRlbnQoZSkpKTp0aGlzLl9yZW5kZXJDb250ZW50KGEpKSl9Y29tcG9uZW50RGlkVXBkYXRlKGUpeyF0aGlzLnByb3BzLmVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbiYmZS5lbmFibGVTY3JvbGxDb21wZW5zYXRpb24mJih0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKSwKdGhpcy5zZXRTdGF0ZSh7c2Nyb2xsQ29tcGVuc2F0aW9uOm51bGx9KSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKX1jbG9zZSgpe3RoaXMucHJvcHMubWVudVJlZmVyZW5jZT8uY3VycmVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wdXAtbWVudS1jbG9zZS1ldmVudCIsdGhpcy5fb25Qb3B1cENsb3NlT25DbGljayksdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24oITEpfWZvY3VzKCl7dGhpcy5fd3JhcHBlclJlZj8uZm9jdXMoKX11cGRhdGUoKXtudWxsIT09dGhpcy5fY29udHJvbGxlci5jdXJyZW50JiZ0aGlzLl9jb250cm9sbGVyLmN1cnJlbnQudXBkYXRlKCl9X3JlbmRlckNvbnRlbnQoZSl7Y29uc3R7bWVudURhdGFOYW1lOnQsbWluV2lkdGg6byxtZW51Q2xhc3NOYW1lOnMsZHJhd2VyQ2xhc3NOYW1lOmksbWVudVJvbGU6cixtYXhIZWlnaHQ6bCxkcmF3ZXJQb3NpdGlvbjpjPSJCb3R0b20iLGNoaWxkcmVuOnAsbm9Nb21lbnR1bUJhc2VkU2Nyb2xsOm0sZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOnZ9PXRoaXMucHJvcHMse2lzT3BlbmVkOmZ9PXRoaXMuc3RhdGUsZz17aG9yaXpvbnRhbE1hcmdpbjp0aGlzLnByb3BzLmhvcml6b250YWxNYXJnaW58fDAsdmVydGljYWxNYXJnaW46dGhpcy5wcm9wcy52ZXJ0aWNhbE1hcmdpbnx8Mix2ZXJ0aWNhbEF0dGFjaEVkZ2U6dGhpcy5wcm9wcy52ZXJ0aWNhbEF0dGFjaEVkZ2UsaG9yaXpvbnRhbEF0dGFjaEVkZ2U6dGhpcy5wcm9wcy5ob3Jpem9udGFsQXR0YWNoRWRnZSx2ZXJ0aWNhbERyb3BEaXJlY3Rpb246dGhpcy5wcm9wcy52ZXJ0aWNhbERyb3BEaXJlY3Rpb24saG9yaXpvbnRhbERyb3BEaXJlY3Rpb246dGhpcy5wcm9wcy5ob3Jpem9udGFsRHJvcERpcmVjdGlvbixtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6dGhpcy5wcm9wcy5tYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHN9LGI9Qm9vbGVhbihmJiZlJiZjKSx5PXcocCk/cCh7aXNEcmF3ZXI6Yn0pOnA7cmV0dXJuIGI/bi5jcmVhdGVFbGVtZW50KHUuRHJhd2VyTWFuYWdlcixudWxsLG4uY3JlYXRlRWxlbWVudChkLkRyYXdlcix7Y2xhc3NOYW1lOmkscmVmZXJlbmNlOnRoaXMucHJvcHMuZHJhd2VyUmVmZXJlbmNlLG9uQ2xvc2U6dGhpcy5faGFuZGxlQ2xvc2UscG9zaXRpb246YywiZGF0YS1uYW1lIjp0fSx5KSk6bi5jcmVhdGVFbGVtZW50KGEuUG9wdXBNZW51LHtyZWZlcmVuY2U6dGhpcy5wcm9wcy5tZW51UmVmZXJlbmNlLHNjcm9sbFdyYXBSZWZlcmVuY2U6dj90aGlzLl9oYW5kbGVTY3JvbGxXcmFwUmVmOnZvaWQgMCxyb2xlOnIsY29udHJvbGxlcjp0aGlzLl9jb250cm9sbGVyLGNsb3NlT25DbGlja091dHNpZGU6dGhpcy5wcm9wcy5jbG9zZU9uQ2xpY2tPdXRzaWRlLGRvTm90Q2xvc2VPbjp0aGlzLGlzT3BlbmVkOmYsbWluV2lkdGg6byxvbkNsb3NlOnRoaXMuX2hhbmRsZUNsb3NlLHBvc2l0aW9uOigwLGguZ2V0UG9wdXBQb3NpdGlvbmVyKSh0aGlzLl93cmFwcGVyUmVmLGcpLGNsYXNzTmFtZTpzLG1heEhlaWdodDpsLGRhdGFRYUlkOnQsdGFiSW5kZXg6ImRpdiIhPT10aGlzLnByb3BzLnRhZz8tMTp2b2lkIDAsb25PcGVuOnRoaXMuX2hhbmRsZU9wZW4sb25LZXlEb3duOnRoaXMucHJvcHMub25NZW51S2V5RG93bixvbkZvY3VzOnRoaXMuX2hhbmRsZU1lbnVGb2N1cyxub01vbWVudHVtQmFzZWRTY3JvbGw6bX0sdj9uLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOnRoaXMuc3RhdGUuc2Nyb2xsQ29tcGVuc2F0aW9uP3ttYXJnaW5JbmxpbmVFbmQ6dGhpcy5zdGF0ZS5zY3JvbGxDb21wZW5zYXRpb259OnZvaWQgMH0seSk6eSl9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9Yi5kZWZhdWx0UHJvcHM9e2Fycm93OiEwLGNsb3NlT25DbGlja091dHNpZGU6ITAsdGhlbWU6dn19LDEzNjYzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3VzZUVuc3VyZWRDb250ZXh0OigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9bygxMzg2MzgpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuKDAscy5lbnN1cmVOb3ROdWxsKSgoMCxuLnVzZUNvbnRleHQpKGUpKX19LDU1MzY2OShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt0cmFja01ldHJpY3NNZW51QWN0aW9uOigpPT5zfSk7dmFyIG49bygzNjIyMzkpO2Z1bmN0aW9uIHMoZSl7KDAsbi5nZXRUcmFja2VyKSgpLnRoZW4oKHQ9PntudWxsIT09dCYmdC50cmFja0NoYXJ0TWV0cmljc01lbnUoZSl9KSl9fSw2MzEyNTQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c2hvd0JvbmRZaWVsZEN1cnZlRGlhbG9nOigpPT5zfSk7dmFyIG49byg4OTA4MzUpO2Z1bmN0aW9uIHMoZSl7bi5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoInlpZWxkLWN1cnZlIixlKX19LDg2MjA4MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtBbmFseXNpc0FjdGlvbjooKT0+ZH0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oOTMwMjMxKSxyPW8oNzYyODUxKSxhPW8oMTU2ODI5KSxsPW8oODkwODM1KTt2YXIgYz1vKDE3MDQ0KSx1PW8oOTE3OTg2KTtjbGFzcyBkIGV4dGVuZHMgdS5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoKXtjb25zdCBlPSgwLGMuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucmVxdWVzdGVkU3ltYm9sKCksdD1lPygwLHMuc3BsaXRTeW1ib2xOYW1lKShlKVsxXToiIjtzdXBlcih7bGFiZWw6KDAsci5hcHBlbmRFbGxpcHNpcykobi50KG51bGwse2NvbnRleHQ6InByb2ZpbGVfYWN0aW9uIixyZXBsYWNlOntzeW1ib2w6dH19LG8oNjg1NTc1KSkpLGlkOiJBbmFseXNpcyIsaWNvbjpvKDg1OTc5MSksY2F0ZWdvcnk6ImZ1bmN0aW9uQWN0aW9ucyIsZGlzYWJsZWQ6ITB9KTtjb25zdCBpPSgwLGMuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzKCk7dGhpcy51cGRhdGUoe2Rpc2FibGVkOnRoaXMuX2lzRGlzYWJsZWQoaSl9KSx0aGlzLnVwZGF0ZUV4ZWN1dGUoKX11cGRhdGVFeGVjdXRlKCl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciBlCjtsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiYW5hbHlzaXMiLGUpfX0pfXN0YXRpYyBjcmVhdGVBY3Rpb24oKXtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBkfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlLHQpe3JldHVybiBCb29sZWFuKGUmJnQmJigoMCxhLmlzRnVuZEV0ZikoZSx0KXx8KDAsYS5pc0NvcnBvcmF0ZUJvbmQpKGUsdCl8fCgwLGEuaXNHb3Zlcm5tZW50T25seUJvbmQpKGUsdCkpKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFkLmNoZWNrQXZhaWxhYmlsaXR5KHQudHlwZSx0LnR5cGVzcGVjcyl9cmV0dXJuITB9fX0sODkyMTMzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RvY3VtZW50c0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDc1MTI4MykpKSxpZDoiRG9jdW1lbnRzIixpY29uOm8oMjI4OTU4KSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZG9jdW1lbnRzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyBjfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gMT09PWV9X2lzRGlzYWJsZWQoZSl7aWYoZSYmIm9rIj09PWUuc3RhdHVzKXtjb25zdHt2YWx1ZXM6dH09ZTtyZXR1cm4hYy5jaGVja0F2YWlsYWJpbGl0eSh0LmRvY3VtZW50cyl9cmV0dXJuITB9fX0sNDg0NDQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RXRmc0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9LGNvbnRleHQ6ImV0ZnNfZGlhbG9nIn0sbyg1MjcxKSkpLGlkOiJFVEZzIixpY29uOm8oMTg3MTQ3KSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZXRmcyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybiBuZXcgY31zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSl7cmV0dXJuIEJvb2xlYW4oZS5oYXNfZXRmX293bmVyc2hpcCYmZS5zeW1ib2xfcHJpbWFyeV9saXN0aW5nKXx8Qm9vbGVhbigic3BvdCI9PT1lLnR5cGUmJmUuc2hvcnRfbmFtZSYmWyJCVENVU0QiLCJCSVRDT0lOIiwiRVRIVVNEIiwiRVRIRVJFVU0iXS5pbmNsdWRlcyhlLnNob3J0X25hbWUpKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFjLmNoZWNrQXZhaWxhYmlsaXR5KHQpfXJldHVybiEwfX19LDE5OTc0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3Nob3dGb3J3YXJkQ3VydmVEaWFsb2c6KCk9PnN9KTt2YXIgbj1vKDg5MDgzNSk7ZnVuY3Rpb24gcyhlKXtuLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZm9yd2FyZC1jdXJ2ZSIsZSl9fSw3MDc3MTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TmV3c0FjdGlvbjooKT0+dX0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9bygxMjI5MzIpLGM9bygyMzEzMzApO2NsYXNzIHUgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9LGNvbnRleHQ6Im5ld3NfZGlhbG9nIn0sbygxMDE0MzUpKSksaWQ6Ik5ld3MgRGlhbG9nIixpY29uOm8oMzc0NjAwKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+ewplP3dpbmRvdy5sb2NhdGlvbi5hc3NpZ24oZSk6KDAsbC5zaG93TmV3c0RpYWxvZykoKX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyB1fXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gYy5pc05ld3NBbGxvd2VkJiZ2b2lkIDAhPT1lfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIXUuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlKX1yZXR1cm4hMH19fSwxMjI5MzIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c2hvd05ld3NEaWFsb2c6KCk9PnN9KTt2YXIgbj1vKDg5MDgzNSk7ZnVuY3Rpb24gcyhlKXtuLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygibmV3cyIsZSl9fSw2ODA5MzMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3B0aW9uc0FjdGlvbjooKT0+ZH0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oMTcwNDQpLHI9byg5MzAyMzEpLGE9byg3NjI4NTEpLGw9byg5MTc5ODYpLGM9byg4OTA4MzUpO3ZhciB1PW8oODg3NjYzKTtjbGFzcyBkIGV4dGVuZHMgbC5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoKXtjb25zdCBlPSgwLGkuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucmVxdWVzdGVkU3ltYm9sKCksdD1lPygwLHMuc3BsaXRTeW1ib2xOYW1lKShlKVsxXToiIjtzdXBlcih7bGFiZWw6KDAsYS5hcHBlbmRFbGxpcHNpcykobi50KG51bGwse3JlcGxhY2U6e3N5bWJvbDp0fX0sbyg0MTI3NzYpKSksaWQ6Ik9wdGlvbnNEaWFsb2ciLGljb246dSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsaS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpjLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygib3B0aW9ucyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybigwLHIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP251bGw6bmV3IGR9c3RhdGljIGNoZWNrQXZhaWxhYmlsaXR5KGUpe3JldHVybiBCb29sZWFuKGUpfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWQuY2hlY2tBdmFpbGFiaWxpdHkodFsib3B0aW9ucy1pbmZvIl0pfXJldHVybiEwfX19LDk5NTEyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtoYXNTZWFzb25hbHM6KCk9PnN9KTt2YXIgbj1vKDE1NjgyOSk7ZnVuY3Rpb24gcyhlLHQsbyl7cmV0dXJuISgoMCxuLmlzQm9uZCkoZSl8fCgwLG4uaXNFY29ub21pY1N5bWJvbCkoZSl8fCgwLG4uaXNPcHRpb24pKGUpfHwoMCxuLmlzU3ByZWFkKShlKXx8KDAsbi5pc1N5bWJvbERlbGlzdGVkKSh0KXx8KDAsbi5pc1N0b2Nrc1N5bWJvbCkoZSx0Pz9bXSkmJnZvaWQgMD09PW98fHZvaWQgMCE9PW8mJmZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IERhdGUoMWUzKmUpLmdldEZ1bGxZZWFyKCksbz0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCk7cmV0dXJuIHQ9PT1vfShvKSl9fSw1NTI2OTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U2Vhc29uYWxzQWN0aW9uOigpPT5kfSk7dmFyIG49bygxODUyNzEpLHM9byg1ODMwMzgpLGk9byg3NjI4NTEpLHI9bygxNTY4MjkpLGE9byg5OTUxMjYpLGw9byg4OTA4MzUpO3ZhciBjPW8oOTE3OTg2KSx1PW8oMTcwNDQpO2NsYXNzIGQgZXh0ZW5kcyBjLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsdS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDY4NTk2MykpKSxpZDoiU2Vhc29uYWxzRGlhbG9nIixpY29uOm8oNjI3NjAyKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsdS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygic2Vhc29uYWxzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyBkfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlLHQsbyxuKXtyZXR1cm4gQm9vbGVhbihlJiZ0JiYhKDAsci5pc0RleCkobikmJigwLGEuaGFzU2Vhc29uYWxzKShlLHQsbykpfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWQuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlLHQudHlwZXNwZWNzLHQuZmlyc3RfYmFyX3RpbWVfMWQsdFsiZXhjaGFuZ2UtaW5mbyJdKX1yZXR1cm4hMH19fSw2MzA3ODcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3RvY2tCb25kc0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDg5MzU3NikpKSxpZDoiU3RvY2tCb25kcyIsCmljb246byg0MDk0NTUpLGNhdGVnb3J5OiJmdW5jdGlvbkFjdGlvbnMiLGRpc2FibGVkOiEwfSk7Y29uc3Qgcj0oMCxhLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpO3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKHIpfSksdGhpcy51cGRhdGVFeGVjdXRlKCl9dXBkYXRlRXhlY3V0ZShlKXt0aGlzLnVwZGF0ZSh7b25FeGVjdXRlOigpPT57dmFyIHQ7ZT93aW5kb3cubG9jYXRpb24uYXNzaWduKGUpOmwuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJib25kcyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybiBuZXcgY31zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSx0LG8pe3JldHVybiBCb29sZWFuKGUmJnQmJm8pfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWMuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlLHQudHlwZXNwZWNzLHQuaGFzX2JvbmRzKX1yZXR1cm4hMH19fSw5Mjk0ODgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7aXNTZXBhcmF0b3JJdGVtOigpPT5zfSk7dmFyIG49byg5MDEwMjIpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuKDAsbi5pc1NlcGFyYXRvckl0ZW0pKGUpfX0sMzIwNTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLnIodCksby5kKHQse3Jlc29sdmVTeW1ib2xOYW1lOigpPT5jLHJlc29sdmVTeW1ib2xOYW1lRm9yQWxsOigpPT51LHJlc29sdmVTeW1ib2xOYW1lRm9yQWxsRGlzdGluY3Q6KCk9PmQsc25hcHNob3RlcjooKT0+YX0pO3ZhciBuPW8oMTI4ODE0KSxzPW8oNjIzNTExKSxpPW8oOTI5NDg4KTtjb25zdCByPW5ldyBTZXQoWyJwcm9fbmFtZSIsImJhc2VfbmFtZSIsInNob3J0X25hbWUiLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJleGNoYW5nZSIsInR5cGVzcGVjcyIsImxpc3RlZF9leGNoYW5nZSIsImxhc3RfcHJpY2UiLCJjb3VudHJ5X2NvZGUiLCJwcm92aWRlcl9pZCIsInN5bWJvbC1wcmltYXJ5bmFtZSIsImxvZ29pZCIsImxvZ28iLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsInNvdXJjZS1sb2dvaWQiLCJ1cGRhdGVfbW9kZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJwcm9fcGVybSIsInNvdXJjZSIsInNvdXJjZTIiLCJwcmljZXNjYWxlIiwibWlubW92IiwiZnJhY3Rpb25hbCIsInZpc2libGUtcGxvdHMtc2V0IiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInVuZGVybHlpbmctc3ltYm9sIl0pLGE9KDAscy5sYXp5VmFsdWUpKCgoKT0+bmV3IG4uUXVvdGVTZXNzaW9uU25hcHNob3Rlcih7bmFtZToiYmFzaWMtc3ltYm9sLXF1b3RlcyIsZmllbGRzOlsuLi5yXSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2V9KSkpLGw9bmV3IFNldChbInByb19uYW1lIl0pO2FzeW5jIGZ1bmN0aW9uIGMoZSl7cmV0dXJuKDAsaS5pc1NlcGFyYXRvckl0ZW0pKGUpP2U6YSgpLmdldFNuYXBzaG90KGUsbCkudGhlbigoZT0+ImVycm9yIj09PWUuc3RhdHVzP2Uuc3ltYm9sbmFtZTplLnZhbHVlcy5wcm9fbmFtZSkpfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGMpKX1mdW5jdGlvbiBkKGUpe3JldHVybiB1KGUpLnRoZW4oKGU9PlsuLi5uZXcgU2V0KGUpXSkpfX0sODUxNDU4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2ZhY3Rvck91dEJyYWNlczooKT0+cCxnZXRUb2tlbkF0UG9zOigpPT5oLGlzQmluYXJ5T3BlcmF0b3I6KCk9PnUsaXNTcHJlYWQ6KCk9PmQscGFyc2VUb2tlbjooKT0+dixzaG9ydE5hbWU6KCk9Pm0sc3ltYm9sVG9rZW5Fc2NhcGVSZTooKT0+YSx0b2tlbml6ZTooKT0+Y30pO3ZhciBuLHM9byg5MDEwMjIpLGk9byg1NjkzOTgpOyFmdW5jdGlvbihlKXtlLlN5bWJvbD0ic3ltYm9sIixlLkluY29tcGxldGVTeW1ib2w9ImluY29tcGxldGVTeW1ib2wiLGUuTnVtYmVyPSJudW1iZXIiLGUuSW5jb21wbGV0ZU51bWJlcj0iaW5jb21wbGV0ZU51bWJlciIsZS5TZXBhcmF0b3JQcmVmaXg9InNlcGFyYXRvclByZWZpeCIsZS5PcGVuQnJhY2U9Im9wZW5CcmFjZSIsZS5DbG9zZUJyYWNlPSJjbG9zZUJyYWNlIixlLlBsdXM9InBsdXMiLGUuTWludXM9Im1pbnVzIixlLk11bHRpcGx5PSJtdWx0aXBseSIsZS5EaXZpZGU9ImRpdmlkZSIsZS5Qb3dlcj0icG93ZXIiLGUuV2hpdGVzcGFjZT0id2hpdGVzcGFjZSIsZS5VbnBhcnNlZD0idW5wYXJzZWQifShufHwobj17fSkpO2NvbnN0IHI9Lyg/OlteLStcLypeXHNdJ3xbYS16QS1aMC05X1x1MDM3MC1cdTFGRkZfXHUyRTgwLVx1RkZGRl0pKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMDIwXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXyF8Oi4mXSkqfCcuKz8nLyxhPS9bK1wtLypdLyxsPShlPSgwLGkuaXNGZWF0dXJlRW5hYmxlZCkoImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIikpPT4oe251bWJlcjplPy9cZCsoPzpcLlxkKnwoPyFbYS16QS1aMC05XyE6LiZdKSkoPzpccyooPz1ccyokKSk/fFwuXGQrKD86XHMqKD89XHMqJCkpPy86L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKXxcLlxkKy8saW5jb21wbGV0ZU51bWJlcjovXC4vLHN5bWJvbDpyLGluY29tcGxldGVTeW1ib2w6LydbXiddKi8sc2VwYXJhdG9yUHJlZml4OnMuU0VQQVJBVE9SX1BSRUZJWCxvcGVuQnJhY2U6IigiLGNsb3NlQnJhY2U6IikiLHBsdXM6IisiLG1pbnVzOiItIixtdWx0aXBseToiKiIsZGl2aWRlOiIvIixwb3dlcjoiXiIsd2hpdGVzcGFjZTovW1wwLVx4MjBcc10rLyx1bnBhcnNlZDpudWxsfSk7ZnVuY3Rpb24gYyhlLHQ9bCgpKXtpZighZSlyZXR1cm5bXTtjb25zdCBvPVtdLG49T2JqZWN0LmtleXModCk7bGV0IHM7Y29uc3QgaT0oKGU9bCgpKT0+bmV3IFJlZ0V4cChPYmplY3QudmFsdWVzKGUpLm1hcCgoZT0+e3JldHVybiBudWxsPT09ZT8iIjpgKCR7InN0cmluZyI9PXR5cGVvZiBlPyh0PWUsdC5yZXBsYWNlKC9bXF4kKClbXF17fSorP3xcXF0vZywiXFwkJiIpKTplLnNvdXJjZX0pYDt2YXIgdAp9KSkuZmlsdGVyKChlPT4iIiE9PWUpKS5jb25jYXQoIi4iKS5qb2luKCJ8IiksImciKSkodCk7Zm9yKDtzPWkuZXhlYyhlKTspe2xldCBlPSExO2ZvcihsZXQgdD1uLmxlbmd0aDt0LS07KWlmKHNbdCsxXSl7blt0XSYmby5wdXNoKHt2YWx1ZTpzW3QrMV0sdHlwZTpuW3RdLHByZWNlZGVuY2U6MCxvZmZzZXQ6cy5pbmRleH0pLGU9ITA7YnJlYWt9ZXx8by5wdXNoKHt2YWx1ZTpzWzBdLHR5cGU6InVucGFyc2VkIixwcmVjZWRlbmNlOjAsb2Zmc2V0OnMuaW5kZXh9KX1yZXR1cm4gb31mdW5jdGlvbiB1KGUpe3JldHVybiJwbHVzIj09PWV8fCJtaW51cyI9PT1lfHwibXVsdGlwbHkiPT09ZXx8ImRpdmlkZSI9PT1lfHwicG93ZXIiPT09ZX1mdW5jdGlvbiBkKGUpe3JldHVybiBlLmxlbmd0aD4xJiZlLnNvbWUoKGU9PnUoZS50eXBlKSkpfWZ1bmN0aW9uIGgoZSx0KXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3Qgbj1lW29dLHM9InN5bWJvbCI9PT1uLnR5cGV8fCJpbmNvbXBsZXRlU3ltYm9sIj09PW4udHlwZXx8Im51bWJlciI9PT1uLnR5cGU7aWYobi5vZmZzZXQ8PXQmJnQ8PW4ub2Zmc2V0K24udmFsdWUubGVuZ3RoJiZzKXJldHVybiBufXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSl7ZT1mdW5jdGlvbihlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBvIG9mIGUpIndoaXRlc3BhY2UiIT09by50eXBlJiZ0LnB1c2gobyk7cmV0dXJuIHR9KGUpO2NvbnN0IHQ9W10sbz1bXTtsZXQgbjtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3QgaT1lW3NdO3N3aXRjaChpLnR5cGUpe2Nhc2UicGx1cyI6Y2FzZSJtaW51cyI6Y2FzZSJtdWx0aXBseSI6Y2FzZSJkaXZpZGUiOmNhc2UicG93ZXIiOm8ubGVuZ3RoJiZvW28ubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+aS5wcmVjZWRlbmNlJiYob1tvLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWkucHJlY2VkZW5jZSk7YnJlYWs7Y2FzZSJvcGVuQnJhY2UiOm49e21pblByZWNlZGVuY2U6MS8wLG9wZW5CcmFjZUluZGV4OnN9LG8ucHVzaChuKTticmVhaztjYXNlImNsb3NlQnJhY2UiOntpZihuPW8ucG9wKCksIW4pYnJlYWs7Y29uc3QgaT1lW24ub3BlbkJyYWNlSW5kZXgtMV0scj1lW3MrMV0sYT1pJiYoInBsdXMiPT09aS50eXBlfHwibXVsdGlwbHkiPT09aS50eXBlKTsoIXUocj8udHlwZSl8fHI/LnByZWNlZGVuY2U8PW4ubWluUHJlY2VkZW5jZSkmJighdShpPy50eXBlKXx8aT8ucHJlY2VkZW5jZTxuPy5taW5QcmVjZWRlbmNlfHxpPy5wcmVjZWRlbmNlPT09bj8ubWluUHJlY2VkZW5jZSYmYSkmJih0LnVuc2hpZnQobi5vcGVuQnJhY2VJbmRleCksdC5wdXNoKHMpLG8ubGVuZ3RoJiZvW28ubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+bi5taW5QcmVjZWRlbmNlJiYob1tvLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPW4ubWluUHJlY2VkZW5jZSkpfX19Zm9yKGxldCBvPXQubGVuZ3RoO28tLTspZS5zcGxpY2UodFtvXSwxKTtyZXR1cm4gZX1mdW5jdGlvbiBtKGUpe3JldHVybiBwKGMoZSkpLnJlZHVjZSgoKGUsdCk9PntpZigic3ltYm9sIiE9PXQudHlwZSlyZXR1cm4gZSt0LnZhbHVlO2NvbnN0WyxvXT12KHQpO3JldHVybiBvP2UrbzplfSksIiIpfWZ1bmN0aW9uIHYoZSl7Y29uc3QgdD0vXic/KD86KFtBLVowLTlfXSspOik/KC4qPyknPyQvaS5leGVjKGUudmFsdWUpO3JldHVybiBudWxsPT09dD9bdm9pZCAwLHZvaWQgMF06W3RbMV0sdFsyXV19fSwxMzg5OTQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7SWNvblF1ZXN0aW9uSW5mb3JtYXRpb246KCk9PnAsSWNvblF1ZXN0aW9uSW5mb3JtYXRpb25CdXR0b246KCk9PnYsSWNvblF1ZXN0aW9uSW5mb3JtYXRpb25MaW5rOigpPT5tfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygxMTk3NTApLGE9byg4NjUwOTIpLGw9bygzNDQ3ODUpLGM9bygxOTgyMDkpLHU9by5uKGMpO2Z1bmN0aW9uIGQoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixkKSwoMCxsLmhpZGUpKCl9Y29uc3QgaD1lPT57KDAsbC5zaG93T25FbGVtZW50KShlLmN1cnJlbnRUYXJnZXQse3Rvb2x0aXBEZWxheTowfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsZCl9LHA9KDAsbi5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6byxvbkNsaWNrOnM9aCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDpjLHNpemU6ZCwuLi5wfT1lLHt0b29sdGlwOm0sY2xhc3NOYW1lOnYsLi4uZn09KDAsYS51c2VUb29sdGlwKSh7dG9vbHRpcDplLnRvb2x0aXAsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6ITEsc2hvd1Rvb2x0aXA6bC5zaG93T25FbGVtZW50LGhpZGVUb29sdGlwOmwuaGlkZSxvbkNsaWNrOnN9LHQpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoci5JY29uUXVlc3Rpb25JbmZvcm1hdGlvbix7Y2xhc3NOYW1lOmkoKShvLHUoKVsiaWNvbi13cmFwcGVyIl0sbSYmdSgpWyJ3aXRoLXRvb2x0aXAiXSx2KSx0b29sdGlwOm0sc2l6ZTpkLC4uLnAsLi4uZn0pfSkpLG09KDAsbi5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6byxocmVmOnMscmVsOnIsdGFyZ2V0OmEsLi4ubH09ZSxjPSgwLG4udXNlTWVtbykoKCgpPT4oMCxuLmZvcndhcmRSZWYpKCgoZSx0KT0+bi5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjpzLHJlbDpyLHRhcmdldDphLHJlZjp0LC4uLmV9KSkpKSxbcyxyLGFdKTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHAsey4uLmwsY2xhc3NOYW1lOmkoKShvLHUoKVsid2l0aC1saW5rIl0pLHJlbmRlckNvbXBvbmVudDpjLHJlZjp0LGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOiEwfSl9KSksdj0oMCxuLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpvLHdpdGhBY3RpdmVTdGF0ZTpzLC4uLnJ9PWUsYT0oMCwKbi51c2VNZW1vKSgoKCk9PigwLG4uZm9yd2FyZFJlZikoKChlLHQpPT5uLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLmUscmVmOnQsdHlwZToiYnV0dG9uIn0pKSkpLFtdKTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHAsey4uLnIsY2xhc3NOYW1lOmkoKShvLCFzJiZ1KClbIm5vLWFjdGl2ZS1zdGF0ZSJdKSxyZW5kZXJDb21wb25lbnQ6YSxyZWY6dH0pfSkpfSw3MDg4NDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG9vbFdpZGdldENhcmV0OigpPT5jfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygyNzMzMTApLGE9byg4MTAyODEpLGw9bygzNTY3MjEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7ZHJvcHBlZDp0LGNsYXNzTmFtZTpvfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6aSgpKG8sYS5pY29uLHtbYS5kcm9wcGVkXTp0fSksaWNvbjpsfSl9fSwxNzA0NChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHthY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcjooKT0+bH0pO3ZhciBuPW8oODM5NDI2KSxzPW8oMTU5NTEzKSxpPW8oMzA5MDUyKSxyPW8oMjI1Mjk4KSxhPW8oOTQ4MzgwKTtjb25zdCBsPSgwLG4uZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oMCxzLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgiZnVsbCIpO2xldCB0PW51bGw7Y29uc3Qgbz1uZXcgYS5EZWxlZ2F0ZSxuPShlLHQpPT57by5maXJlKGUsdCl9O3JldHVybiByLmxpbmtpbmcucHJvU3ltYm9sLnN1YnNjcmliZSgobz0+e3QmJmUudW5zdWJzY3JpYmUoIkFDVElWRV9QUk9fU1lNQk9MX1FVT1RFU19QUk9WSURFUiIsdCxuKSx0PW8sbyYmZS5zdWJzY3JpYmUoIkFDVElWRV9QUk9fU1lNQk9MX1FVT1RFU19QUk9WSURFUiIsbyxuKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx7cXVvdGVzOigpPT50P2kuUVVPVEVfRklFTERTX0NBQ0hFLmdldCh0KTpudWxsLHF1b3Rlc1VwZGF0ZTooKT0+byxyZXF1ZXN0ZWRTeW1ib2w6KCk9PnR9fSkpfSwyNjE5MzYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZGVib3VuY2VIaWRlVG9vbHRpcDooKT0+YSxzaG93VG9vbHRpcDooKT0+dX0pO3ZhciBuPW8oNTQ3ODUxKSxzPW8oMzQ0Nzg1KSxpPW8oNDgzNDA5KSxyPW8oMTg1MjcxKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkobCwxNTAwKTtmdW5jdGlvbiBsKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixsKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixsKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsbCksKDAscy5oaWRlKSgpfWNvbnN0IGM9NDAwO2Z1bmN0aW9uIHUoZSx0PXt9KXtjb25zdHtpbml0aWFsRGVsYXk6bj1jLGxlYXZlT25Nb3VzZU91dDphLHdpdGhvdXRUaHVtYnN1cEljb246dSx0ZXh0OmQ9ci50KG51bGwsdm9pZCAwLG8oNDQ3MTUwKSl9PXQ7KDAscy5zaG93T25FbGVtZW50KShlLHtiZWxvdzohMCx0b29sdGlwRGVsYXk6bixjb250ZW50Ont0eXBlOiJodG1sIixkYXRhOmAke2R9JHt1PyIiOmAgPHNwYW4gc3R5bGU9InZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij4ke2l9PC9zcGFuPmB9YH19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGwpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGwpLGF8fGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixsKX19LDkxMTMyNyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtleHRyYWN0VGFiUGF0aDooKT0+ZyxnZXRTeW1ib2xQYWdlUGF0aDooKT0+YyxtYWtlU3ltYm9sQ2hhcnRVcmw6KCk9PmYsbWFrZVN5bWJvbFBhZ2VVcmw6KCk9PnZ9KTtvKDk2MzkwMCk7dmFyIG49bygzMDk4MzYpLHM9bygyNDE5MzcpLGk9byg4NTE0NTgpLHI9bygxNTY4MjkpO2NvbnN0IGE9bmV3IFNldChbIlNQOlNQWCIsIkNCT0U6U1BYIl0pO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD17Li4uZX07aWYoInNwcmVhZCI9PT10LnR5cGV8fCJleHByZXNzaW9uIj09PXQudHlwZSl7Y29uc3QgZT10LnNob3J0TmFtZSYmdSh0LnNob3J0TmFtZSksbz10LnByb05hbWUmJnUodC5wcm9OYW1lKTt0LnR5cGU9dm9pZCAwLHQuc2hvcnROYW1lPWUsdC5wcm9OYW1lPW99cmV0dXJuIHR9ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IG89bChlKTtyZXR1cm4gaChwKG8sdCksZChvKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4oMCxpLnRva2VuaXplKShlKS5maW5kKChlPT4ic3ltYm9sIj09PWUudHlwZSkpPy52YWx1ZX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9e3Nob3J0TmFtZTplLnNob3J0TmFtZSxleGNoYW5nZTplLmV4Y2hhbmdlLHByb05hbWU6ZS5wcm9OYW1lLHR5cGU6ZS50eXBlLHR5cGVzcGVjczplLnR5cGVzcGVjcyxyb290OmUucm9vdH07cmV0dXJuIHQucHJvTmFtZSYmdC5wcm9OYW1lLmluY2x1ZGVzKCI6IikmJihbdC5leGNoYW5nZSx0LnNob3J0TmFtZV09dC5wcm9OYW1lLnNwbGl0KCI6IikpLHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG89ZW5jb2RlVVJJQ29tcG9uZW50KHQuc2hvcnROYW1lfHwiIiksbj1lbmNvZGVVUklDb21wb25lbnQodC5leGNoYW5nZXx8IiIpLHM9ZW5jb2RlVVJJQ29tcG9uZW50KHQucHJvTmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KHQucm9vdHx8IiIpO3JldHVybiBlLnJlcGxhY2UoInt0dmV4Y2hhbmdlfSIsbikucmVwbGFjZSgie3R2c3ltYm9sfSIsbykucmVwbGFjZSgie3R2cHJvc3ltYm9sfSIscykucmVwbGFjZSgie3R2cm9vdH0iLGkpfWZ1bmN0aW9uIHAoZSx0PSIiKXtjb25zdCBvPWQoZSkse3R5cGU6bix0eXBlc3BlY3M6cyxzaG9ydE5hbWU6aSxwcm9OYW1lOmwsZXhjaGFuZ2U6Yyxyb290OnV9PW87cmV0dXJuIHZvaWQgMD09PWkmJnZvaWQgMD09PWw/KGNvbnNvbGUud2FybigiUGFyYW1zIG1pc3NlZCIpLAoiLyIpOmwmJmEuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOm58fHM/ImNvbW1vZGl0eSI9PT1uJiZzJiZzLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohdXx8IXN8fCJmdXR1cmVzIiE9PW58fHMuaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmaT8uZW5kc1dpdGgoIjEhIil8fHMuaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9jJiYoImZvcmV4Ij09PW58fHMmJigwLHIuaGFzQ3J5cHRvVHlwZXNwZWMpKHMpKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH1mdW5jdGlvbiBtKGUsdCxvLGkpe2NvbnN0IHI9KHdpbmRvdy5sb2NhbGVfZG9tYWlucz8oMCxzLmRldGVybWluZUJhc2VVcmwpKHdpbmRvdy5sb2NhbGVfZG9tYWlucyxpKTp3aW5kb3cubG9jYXRpb24ub3JpZ2luKStoKGUsZChsKHQpKSk7cmV0dXJuIG8/KDAsbi5hZGRVdG1Ub1VybCkocixvKTpyfWZ1bmN0aW9uIHYoZSx0LG8sbil7Y29uc3Qgcz1sKGUpO3JldHVybiBtKHAocyxuKSxzLHQsbyl9ZnVuY3Rpb24gZihlLHQpe3JldHVybiBtKCIvY2hhcnQvP3N5bWJvbD17dHZwcm9zeW1ib2x9IixlLHQpfWZ1bmN0aW9uIGcoZSx0KXtjb25zdCBvPWMoe3Byb05hbWU6ZX0pO3JldHVybiB0LnN0YXJ0c1dpdGgobyk/dC5yZXBsYWNlKG8uc2xpY2UoMCxvLmxlbmd0aC0xKSwiIik6bnVsbH19LDY3MzA2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTQtOS45N0wxMS45IDYgOC4zIDkuODIgNi4xIDcuNDYgNC45OSA4LjUgOC4zMiAxMiAxMyA3LjAzWiIvPjwvc3ZnPid9LDQwMDA0NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZaTTkgNGMtLjc5IDAtMS4zOC43LTEuMjUgMS40OGwuNjcgNC4wM2EuNTkuNTkgMCAwIDAgMS4xNiAwbC42Ny00LjAzQTEuMjcgMS4yNyAwIDAgMCA5IDRabTAgOGExIDEgMCAxIDAgMCAyIDEgMSAwIDAgMCAwLTJaIi8+PC9zdmc+J30sNTI3MjE5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTEtMTJhMSAxIDAgMSAxLTIgMCAxIDEgMCAwIDEgMiAwWk04LjUgOS41SDdWOGgzdjZIOC41VjkuNVoiLz48L3N2Zz4nfSw3ODU5OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOSAxN0E4IDggMCAxIDAgOSAxYTggOCAwIDAgMCAwIDE2Wm0tMS00YTEgMSAwIDEgMCAyIDAgMSAxIDAgMCAwLTIgMFptMi44My0zLjUyYy0uNDkuNDMtLjk3Ljg1LTEuMDYgMS41Mkg4LjI2Yy4wOC0xLjE4Ljc0LTEuNjkgMS4zMi0yLjEzLjQ5LS4zOC45Mi0uNzEuOTItMS4zN0MxMC41IDYuNjcgOS44MiA2IDkgNnMtMS41LjY3LTEuNSAxLjVWOEg2di0uNWEzIDMgMCAxIDEgNiAwYzAgLjk2LS42IDEuNDgtMS4xNyAxLjk4WiIvPjwvc3ZnPid9LDQwOTQ1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcgNEg2djE5aDE1VjEwaDF2MTRINVYzaDEyem0tMyAydjJoMWEzIDMgMCAwIDEgMyAzaC0xYTIgMiAwIDAgMC0yLTJoLTNhMiAyIDAgMSAwIDAgNGgzYTMgMyAwIDEgMSAwIDZoLTF2MmgtMXYtMmgtMWEzIDMgMCAwIDEtMy0zaDFhMiAyIDAgMCAwIDIgMmgzYTIgMiAwIDEgMCAwLTRoLTNhMyAzIDAgMSAxIDAtNmgxVjZ6bTExLS41LTIuMzM5IDIuMzU0LS43MDctLjcwOEwyMy4xMDEgNkgxOVY1aDQuMWwtMS4xNDYtMS4xNDYuNzA3LS43MDh6Ii8+PC9zdmc+J30sODQ0NjQxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgMTZhNSA1IDAgMCAxIDUgNWgtMWE0IDQgMCAwIDAtNC00SDhhNCA0IDAgMCAwLTQgNEgzYTUgNSAwIDAgMSA1LTV6bTkgMWE0IDQgMCAwIDEgNCA0aC0xYTMgMyAwIDAgMC0zLTNoLTN2LTF6bS0xLjUtOWMuNDY0IDAgLjY5NyAwIC44OTIuMDI1YTMgMyAwIDAgMSAyLjU4MyAyLjU4M2MuMDI1LjE5NS4wMjUuNDI4LjAyNS44OTJzMCAuNjk3LS4wMjUuODkxbC0uMDQ0LjI1YTMgMyAwIDAgMS0yLjU0IDIuMzMzbC0uMTU2LjAxNWMtLjE2OS4wMS0uMzg3LjAxLS43MzUuMDFzLS41NjYgMC0uNzM1LS4wMWwtLjE1Ny0uMDE1YTMgMyAwIDAgMS0yLjUzOS0yLjMzNGwtLjA0NC0uMjQ5QzE2IDEyLjE5NyAxNiAxMS45NjQgMTYgMTEuNXMwLS42OTcuMDI1LS44OTJhMyAzIDAgMCAxIDIuNTgzLTIuNTgzQzE4LjgwMyA4IDE5LjAzNiA4IDE5LjUgOE0xMCA2Yy40NjQgMCAuNjk2IDAgLjg5Mi4wMjJhMy41IDMuNSAwIDAgMSAzLjA4NSAzLjA4NkMxNCA5LjMwMyAxNCA5LjUzNiAxNCAxMHMwIC42OTYtLjAyMy44OTFhMy41IDMuNSAwIDAgMS0zLjA4NSAzLjA4NkMxMC42OTYgMTQgMTAuNDY0IDE0IDEwIDE0Yy0uMzQ4IDAtLjU2NiAwLS43MzUtLjAxbC0uMTU3LS4wMTNhMy41IDMuNSAwIDAgMS0zLjAzOS0yLjc4NWwtLjA0Ny0uM0M2LjAwMSAxMC42OTUgNiAxMC40NjMgNiAxMGMwLS4zNDggMC0uNTY2LjAxLS43MzZsLjAxMi0uMTU2QTMuNSAzLjUgMCAwIDEgOC44MDggNi4wN2wuMy0uMDQ3QzkuMzA0IDYgOS41MzYgNiAxMCA2bTkuNSAzYy0uNDk2IDAtLjY0Ny4wMDItLjc2LjAxN2EyIDIgMCAwIDAtMS43MjIgMS43MjJjLS4wMTUuMTE0LS4wMTguMjY1LS4wMTguNzYgMCAuNDk2LjAwMy42NDguMDE4Ljc2MWEyIDIgMCAwIDAgMS43MjEgMS43MjJjLjExNC4wMTUuMjY1LjAxOC43NjEuMDE4cy42NDctLjAwMy43Ni0uMDE4YTIgMiAwIDAgMCAxLjcyMi0xLjcyMWMuMDE1LS4xMTQuMDE4LS4yNjYuMDE4LS43NjEgMC0uNDk2LS4wMDMtLjY0Ny0uMDE4LS43NjFhMiAyIDAgMCAwLTEuNzIxLTEuNzIyQzIwLjE0NyA5LjAwMiAxOS45OTYgOSAxOS41IDlNMTAgN2MtLjQ5MiAwLS42NTUuMDAxLS43OC4wMTVBMi41IDIuNSAwIDAgMCA3LjAxNiA5LjIyQzcgOS4zNDUgNyA5LjUxIDcgMTBjMCAuNDkyLjAwMi42NTYuMDE2Ljc4MWEyLjUgMi41IDAgMCAwIDIuMjA0IDIuMjA0Yy4xMjUuMDE0LjI4OC4wMTYuNzguMDE2cy42NTUtLjAwMi43OC0uMDE2YTIuNSAyLjUgMCAwIDAgMi4yMDQtMi4yMDRjLjAxNC0uMTI1LjAxNi0uMjg5LjAxNi0uNzhzLS4wMDItLjY1NS0uMDE2LS43OGEyLjUgMi41IDAgMCAwLTIuMjA0LTIuMjA1QzEwLjY1NSA3LjAwMSAxMC40OTIgNyAxMCA3Ii8+PC9zdmc+J30sMjI4OTU4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMiAxMC41VjI0SDZWNGgxMC41ek03IDIzaDE0VjExaC01VjVIN3ptMTItNEg5di0xaDEwem0wLTRIOXYtMWgxMHptLTYtNEg5di0xaDR6bTQtMWgzLjI2N0wxNyA2LjEzOXoiLz48L3N2Zz4nfSwxODcxNDcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTE3LjM5NCA2LjAxNC4yMTIuMTUzQTEzIDEzIDAgMCAxIDIzIDE2LjcwOVYyM2wtLjAwNC4xNTRhMyAzIDAgMCAxLTIuODQyIDIuODQyTDIwIDI2SDhhMyAzIDAgMCAxLTIuOTk2LTIuODQ2TDUgMjN2LTYuMjkxQTEzIDEzIDAgMCAxIDEwLjA4IDYuNGwuMzE0LS4yMzMuMjExLS4xNTNMOSAyaDEwek0xMC45NDkgN0ExMiAxMiAwIDAgMCA2IDE2LjcwOVYyM2EyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTYuMjkxQTEyIDEyIDAgMCAwIDE3LjA1IDd6TTExIDE3SDl2MWgxLjc0M3YxSDl2MWgydjFIOHYtNWgzem01IDBoLTEuNDgydjRoLTEuMDMzdi00SDEydi0xaDR6bTQgMGgtMnYxaDEuNzcxdjFIMTh2MmgtMXYtNWgzek0xMS42NzcgNmg0LjY0NmwxLjItM2gtNy4wNDZ6Ii8+PC9zdmc+J30sOTI2Njk4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNSAyNWgtMXYtMmgxem0wLTRoLTF2LTJoMXptOC0xM3Y1aC0xVjkuNzA3bC03LjQ2MyA3LjQ2My01LTQtNC42ODMgNC42ODQtLjcwOC0uNzA3IDUuMzE3LTUuMzE3IDUgNEwyMS4yOTMgOUgxOFY4em0tOCA1aC0xdi0yaDF6bTAtNGgtMVY3aDF6bTAtNGgtMVYzaDF6Ii8+PC9zdmc+J30sODU5NzkxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxMmMxLjI5NiAwIDIuNDkzLjIzMiAzLjM4NS42MjkuNDQ1LjE5Ny44MzcuNDQ3IDEuMTI0Ljc0OC4yODkuMzAzLjQ5LjY4NC40OTEgMS4xMjN2Mi40NnEuMjg0LS4xODQuNjE1LS4zMzFjLjg5Mi0uMzk3IDIuMDktLjYzIDMuMzg1LS42MyAxLjI5NiAwIDIuNDkzLjIzMyAzLjM4NS42My40NDUuMTk3LjgzNy40NDcgMS4xMjQuNzQ4LjI4OS4zMDMuNDkuNjg0LjQ5MSAxLjEyM3YzYzAgLjQzOC0uMjAyLjgxOS0uNDkxIDEuMTIzLS4yODcuMzAxLS42NzkuNTUtMS4xMjQuNzQ4LS44OTIuMzk2LTIuMDkuNjI5LTMuMzg1LjYyOS0xLjI5NiAwLTIuNDkzLS4yMzMtMy4zODUtLjYzLS40NDUtLjE5Ny0uODM3LS40NDYtMS4xMjQtLjc0N2ExLjggMS44IDAgMCAxLS40MDctLjY0MnEtLjMxNi4yMi0uNy4zOWMtLjg5LjM5Ni0yLjA4Ny42MjktMy4zODQuNjI5cy0yLjQ5My0uMjMzLTMuMzg1LS42M2MtLjQ0NS0uMTk3LS44MzctLjQ0Ni0xLjEyNC0uNzQ3QzQuMjAyIDIxLjMxOSA0IDIwLjkzOCA0IDIwLjV2LTZjMC0uNDM5LjIwMi0uODIuNDkxLTEuMTIzLjI4Ny0uMzAyLjY3OS0uNTUgMS4xMjQtLjc0OC44OTItLjM5NyAyLjA5LS42MyAzLjM4NS0uNjNtMTMgOC4wMzlhNC40IDQuNCAwIDAgMS0uNjE1LjMzMmMtLjg5Mi4zOTYtMi4wOS42MjktMy4zODUuNjI5LTEuMjk2IDAtMi40OTMtLjIzMy0zLjM4NS0uNjNBNC4zIDQuMyAwIDAgMSAxNCAyMC4wNHYxLjQ2YzAgLjExNC4wNS4yNi4yMTYuNDM0LjE2OC4xNzcuNDM3LjM2LjgwNi41MjQuNzM2LjMyNyAxLjc4OS41NDMgMi45NzguNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3ptLTE3IC40NmMwIC4xMTQuMDUuMjYuMjE2LjQzNC4xNjguMTc3LjQzNy4zNi44MDUuNTI0LjczNy4zMjcgMS43OS41NDMgMi45NzkuNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3YtMS40NmE0LjQgNC40IDAgMCAxLS42MTUuMzNjLS44OTIuMzk3LTIuMDkuNjMtMy4zODUuNjMtMS4yOTYgMC0yLjQ5My0uMjMzLTMuMzg1LS42M0E0LjQgNC40IDAgMCAxIDUgMTkuMDR6TTE4IDE3Yy0xLjE5IDAtMi4yNDIuMjE2LTIuOTc5LjU0NC0uMzY4LjE2NC0uNjM3LjM0Ni0uODA1LjUyMy0uMTY2LjE3NS0uMjE2LjMyLS4yMTYuNDM0cy4wNS4yNTkuMjE2LjQzM2MuMTY4LjE3Ny40MzcuMzYuODA2LjUyNC43MzYuMzI3IDEuNzg5LjU0MyAyLjk3OC41NDNzMi4yNDItLjIxNiAyLjk3OS0uNTQzYy4zNjgtLjE2NC42MzctLjM0Ny44MDUtLjUyNC4xNjYtLjE3NC4yMTYtLjMyLjIxNi0uNDMzIDAtLjExNC0uMDUtLjI2LS4yMTYtLjQzNC0uMTY4LS4xNzctLjQzNy0uMzYtLjgwNS0uNTIzQzIwLjI0MiAxNy4yMTUgMTkuMTg5IDE3IDE4IDE3bS01LS45NmE0LjQgNC40IDAgMCAxLS42MTUuMzMyYy0uODkyLjM5Ni0yLjA5LjYyOS0zLjM4NS42MjktMS4yOTYgMC0yLjQ5My0uMjMzLTMuMzg1LS42M0E0LjMgNC4zIDAgMCAxIDUgMTYuMDR2MS40NmMwIC4xMTQuMDUuMjYuMjE2LjQzNC4xNjguMTc3LjQzNy4zNi44MDUuNTI0LjczNy4zMjcgMS43OS41NDMgMi45NzkuNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3pNOSAxM2MtMS4xOSAwLTIuMjQyLjIxNi0yLjk3OS41NDQtLjM2OC4xNjQtLjYzNy4zNDYtLjgwNS41MjMtLjE2Ni4xNzUtLjIxNi4zMi0uMjE2LjQzNHMuMDUuMjU5LjIxNi40MzNjLjE2OC4xNzguNDM3LjM2LjgwNS41MjQuNzM3LjMyNyAxLjc5LjU0MyAyLjk3OS41NDNzMi4yNDItLjIxNiAyLjk3OS0uNTQzYy4zNjgtLjE2NC42MzctLjM0Ny44MDUtLjUyNC4xNjYtLjE3NC4yMTYtLjMyLjIxNi0uNDMzIDAtLjExNC0uMDUtLjI2LS4yMTYtLjQzNC0uMTY4LS4xNzctLjQzNy0uMzYtLjgwNi0uNTIzQzExLjI0MyAxMy4yMTUgMTAuMTkgMTMgOSAxM20xMi41LTRhMi41IDIuNSAwIDEgMSAwIDUuMDAyQTIuNSAyLjUgMCAwIDEgMjEuNSA5bS40OTktMy4zNEwxNS43NjYgMTNsLS43NjQtLjYzTDIxLjIzNSA1ek0yMS41IDEwYTEuNSAxLjUgMCAxIDAgMCAzLjAwMSAxLjUgMS41IDAgMCAwIDAtM20tNi02YTIuNSAyLjUgMCAxIDEgMCA1LjAwMkEyLjUgMi41IDAgMCAxIDE1LjUgNG0wIDFhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTMiLz48L3N2Zz4nfSwzNzQ2MDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTIxIDEzaDN2OC41YTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTVhMi41IDIuNSAwIDAgMS0yLjQ4Ny0yLjI0NEw0IDIxLjVWNWgxN3pNNSAyMS41QTEuNSAxLjUgMCAwIDAgNi41IDIzSDIwVjZINXpNMjEgMjNoLjVhMS41IDEuNSAwIDAgMCAxLjUtMS41VjE0aC0yem0tNy0zSDd2LTFoN3ptNC0zSDd2LTFoMTF6bS03LTRIN1Y5aDR6bTcgMGgtNXYtMWg1ek04IDEyaDJ2LTJIOHptMTAtMmgtNVY5aDV6Ii8+PC9zdmc+J30sODg3NjYzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDEyaDguMTdsMi45NTgtNS45ODEuODk2LjQ0M0wxNy4yODYgMTJoLjA1MmwtLjQ5MyAxaC0uMDUzbC0zLjMyMiA2LjcyLS4xMzguMjhIOHY1SDdWM2gxem0wIDdoNC43MWwyLjk2Ny02SDh6bTE1LTZoLTUuMDRsLjQ5My0xSDIzeiIvPjwvc3ZnPid9LDYyNzYwMihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTIwLjUwNSA5LjQyOS4zOTQuNzg4YTguMSA4LjEgMCAwIDEgLjUwMiA2LjAxM2MxLjQwNy0uMzI5IDIuNjkyLS4xNzIgNC4xMDMuMjgzbC40OTYuMTU3LS4xNzguNDg0Yy0uNzgxIDIuMjItMi43MjUgMy44Ni00LjY3OCA0LjU3Ni41NS41NzIuOTI2IDEuMjUzIDEuMjcgMS44NzVsLjA3My4xMzEuMjQ1LjQ0NC0uNDQ1LjIzOWMtMi4yNDIgMS4yMDctNSAuNDA4LTYuNjE0LTEuMzU1bC0uNTMxIDEuNDAyLS45MzUtLjM1NC41MTUtMS4zNmMtMi4zNi4zNDEtNS4wMTItLjc3NC01Ljk5OC0zLjEwOGwtLjE5OC0uNDY3LjQ3LS4xOWMuNjk1LS4yODQgMS40MTItLjU3IDIuMi0uNzEtMS41NDItMi4yNDEtMS40Mi00LjE3NS0uNjM2LTYuNDA0bC4xNi0uNDUxLjQ1Ny4xMzhjMS4zOTguNDI0IDIuNjA5IDEuMDQxIDMuNDQzIDIuMjY0YTkuMDIgOS4wMiAwIDAgMSA0LjMxMi00LjIwMmwuOTE3LS40MjMuNDQtLjIwM3pNMTkuMzUgMTAuNTNhOC4wMiA4LjAyIDAgMCAwLTQuMTEyIDQuMzY3bC0uMDk4LjI1Mi0uNDQ2IDEuMTQtLjQ4LTEuMTI1Yy0uNTczLTEuMzQyLTEuNTMxLTIuMDI0LTIuODYtMi40OTQtLjYwNCAyLjA4My0uNTQ0IDMuODY3IDEuMTc0IDUuNjg0bC43NTMuODMyLTEuMTIzLjAwM2MtLjc5Ni4wMDMtMS41MDguMjIxLTIuMjgzLjUyMiAxLjA1NiAxLjc2OCAzLjQ5NyAyLjUzIDUuNDg2IDEuODY2bC4zNy0uMTIzLjIxLjMyN2MxLjEzMSAxLjc2MiAzLjQ4MyAyLjY4NSA1LjQwNyAxLjk2OC0uNDI5LS43NTQtLjg0NS0xLjM4Ny0xLjUxNi0xLjgxNWwtMS4wMjYtLjY1NiAxLjE5MS0uMjU1YzEuOC0uMzg0IDMuNzgxLTEuNzY3IDQuNjgzLTMuNzEyLTEuMzU0LS4zNjQtMi41NC0uMzY3LTMuOTI2LjE2MmwtMS4wODcuNDE1LjQ0Ny0xLjA3NS4wOTctLjIzYTcuMSA3LjEgMCAwIDAtLjIwNi01LjkxOGwtLjE3OC0uMzU1em0tMTMuOTc5IDYuNy0xLjg3IDEuMDk4LS41MDYtLjg2MyAxLjg3LTEuMDk3ek0xMi41IDZhNi40OSA2LjQ5IDAgMCAxIDUuMiAyLjU5OWwtLjcxNi43MTVhNS41IDUuNSAwIDEgMC03LjY3IDcuNjdMOC42IDE3LjdBNi41IDYuNSAwIDAgMSAxMi41IDZNNCAxMnYxSDJ2LTF6bTEuNDMtNC4yNzQtLjUwNy44NjItMS45MjctMS4xMzQuNTA4LS44NjF6TTE4LjMxNSAzLjUgMTcuMjEgNS40MDNsLS44NjQtLjUwMkwxNy40NSAzek04LjY0NyA0Ljg0OWwtLjg2NS41MDItMS4wNy0xLjg0Ljg2NS0uNTAyek0xMyA0aC0xVjJoMXoiLz48L3N2Zz4nfSw2NzQ5MDUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAyMmgtMXYtM2gxem0zIDBoLTF2LTZoMXptMyAwaC0xdi04aDF6bTMgMGgtMXYtNmgxem0zIDBoLTF2LTRoMXptMyAwaC0xdi02aDF6bTMgMGgtMXYtOGgxem0tLjE0Ni0xNC4xNDYtNC41ODYgNC41ODZhMi41IDIuNSAwIDAgMS0zLjUzNiAwbC0zLjE3MS0zLjE3MmExLjUgMS41IDAgMCAwLTIuMTIyIDBsLTQuNTg1IDQuNTg2LS43MDgtLjcwN0w4LjIzMiA4LjU2YTIuNSAyLjUgMCAwIDEgMy41MzYgMGwzLjE3MiAzLjE3MWExLjUgMS41IDAgMCAwIDIuMTIgMGw0LjU4Ny00LjU4NnoiLz48L3N2Zz4nfSwzNTY3MjEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDgiIHdpZHRoPSIxNiIgaGVpZ2h0PSI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0wIDEuNDc1bDcuMzk2IDYuMDQuNTk2LjQ4NS41OTMtLjQ5TDE2IDEuMzkgMTQuODA3IDAgNy4zOTMgNi4xMjIgOC41OCA2LjEyIDEuMTg2LjA4eiIvPjwvc3ZnPid9LDQ4MzQwOShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDApIj48cGF0aCBmaWxsPSIjRkZEQjVFIiBkPSJNMTMuNjUxIDcuOTcyYzAtLjE2OC0uMDQtLjMyNS0uMTA3LS40NjgtLjQ0Ny0xLjQ0Mi0yLjU0LTEuMzM3LTUuNTE2LTEuNDA3LS40OTgtLjAxMi0uMjEzLS42LS4wMzgtMS44OS4xMTMtLjgzOC0uNDI4LTIuMTI3LTEuMzM3LTIuMTI3LTEuNSAwLS4wNTcgMS4xODMtMS4zODMgNC4xMDgtLjcwOCAxLjU2Mi0yLjI5MS42ODctMi4yOTEgMi4yNTd2My41NzNjMCAuNjEuMDYgMS4xOTguOTE5IDEuMjk1LjgzMy4wOTMuNjQ2LjY4NyAxLjg0Ny42ODdoNi4wMTVhMS4xMTIgMS4xMTIgMCAwIDAgMS4xMS0xLjExMWMwLS4yNTQtLjA4OC0uNDg2LS4yMzItLjY3My4zNC0uMTkuNTczLS41NS41NzMtLjk2NmExLjEgMS4xIDAgMCAwLS4yMzItLjY3MmMuMzQxLS4xOS41NzYtLjU1LjU3Ni0uOTY3IDAtLjMwMy0uMTIzLS41NzgtLjMyLS43NzlhMS4xMDUgMS4xMDUgMCAwIDAgLjQxNi0uODZ6Ii8+PHBhdGggZmlsbD0iI0VFOTU0NyIgZD0iTTkuNjczIDkuMDgzaDIuODY3Yy4zOSAwIC43NTctLjIwOS45NTYtLjU0NGEuMjkyLjI5MiAwIDAgMC0uNTAyLS4yOTguNTMuNTMgMCAwIDEtLjQ1NC4yNTlIOS42MDRhLjUyOC41MjggMCAwIDEgMC0xLjA1NmgxLjk2MmEuMjkyLjI5MiAwIDAgMCAwLS41ODNIOS42MDNhMS4xMTIgMS4xMTIgMCAwIDAtMS4xMSAxLjExMWMwIC4zNDIuMTU4LjY0NC40Ljg0OGExLjEwNyAxLjEwNyAwIDAgMC0uMzMyLjc5MWMwIC4zNDMuMTYuNjQ2LjQwNC44NWExLjEwNSAxLjEwNSAwIDAgMCAuMTQgMS42OTMgMS4xMDIgMS4xMDIgMCAwIDAgLjA0MiAxLjUyYy4yMDguMjA4LjQ5LjMyNS43ODUuMzI2aDEuODI4YTEuMTE3IDEuMTE3IDAgMCAwIC45NTYtLjU0NC4yOTIuMjkyIDAgMCAwLS41MDItLjI5OC41MzEuNTMxIDAgMCAxLS40NTQuMjU4SDkuOTMyYS41MjguNTI4IDAgMCAxIDAtMS4wNTVIMTIuMWExLjExNyAxLjExNyAwIDAgMCAuOTU2LS41NDQuMjkyLjI5MiAwIDEgMC0uNTAxLS4yOTguNTI2LjUyNiAwIDAgMS0uNDU0LjI1OUg5Ljc0NWEuNTI5LjUyOSAwIDAgMSAwLTEuMDU2aDIuNjk3YTEuMTE2IDEuMTE2IDAgMCAwIC45NTYtLjU0NC4yOTIuMjkyIDAgMCAwLS41MDEtLjI5OC41MjUuNTI1IDAgMCAxLS40NTUuMjU5aC0yLjc3YS41MjkuNTI5IDAgMCAxIDAtMS4wNTZ6Ii8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMTJ2MTJIMHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83488.2a35377fd54f0af40874.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.839Z","timestamp":1785136901839,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83488.2a35377fd54f0af40874.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-4c6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 96823ec61e8c6fed712a841f7579f184\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":1222,"size_decoded":1161,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1222), with no line terminators","md5":"51c1349c8439d6a672d6d84a4856594d","sha1":"4eee67924b46bf903b0e51c77931d6ae759a7802","sha256":"93fc2457233c811063c8be9ad30dcb6250b02857cbf8dad77d4226067fcd4ca6","sha512":"e2ea45b32638ed390e55a1b75bd589d1d8566bc3463ae462003a2566fef6b7b94bc1cad80cac4e151794623d40d2291d3bec4fe3e2e89ec5745015b0e3564516","ssdeep":"","tlshash":"be214575f1f6c228390beb56970d7d4eb29c6b48bf0a9413f083c508c48be987c69a81","first_seen":"2026-07-22T17:32:47.98134Z","last_seen":"2026-08-10T05:01:44.11767Z","times_seen":160,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbVpBSDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8xLW1aQUg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1tWkFIOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtbVpBSDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uZGl2aWRlci1Db0EyZDVDN3tib3JkZXI6bm9uZTtib3JkZXItY29sb3I6dmFyKC0tdWktbGliLWRpdmlkZXItY29sb3IsdmFyKC0tdWktbGliLWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcikpO21hcmdpbjowfS5kaXZpZGVyLUNvQTJkNUM3Lm9yaWVudGF0aW9uLWhvcml6b250YWwtQ29BMmQ1Qzd7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDt3aWR0aDoxMDAlfS5kaXZpZGVyLUNvQTJkNUM3Lm9yaWVudGF0aW9uLXZlcnRpY2FsLUNvQTJkNUM3e2JvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGU6c29saWQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoyY2g7dmVydGljYWwtYWxpZ246c3VifS5kaXZpZGVyLUNvQTJkNUM3LmZpdC1jb250ZW50LUNvQTJkNUM3Lm9yaWVudGF0aW9uLWhvcml6b250YWwtQ29BMmQ1Qzd7d2lkdGg6YXV0b30uZGl2aWRlci1Db0EyZDVDNy5maXQtY29udGVudC1Db0EyZDVDNy5vcmllbnRhdGlvbi12ZXJ0aWNhbC1Db0EyZDVDN3toZWlnaHQ6YXV0b30uZGl2aWRlci1Db0EyZDVDNy5zaXplLXhzbWFsbC1Db0EyZDVDN3tib3JkZXItd2lkdGg6MXB4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUtc21hbGwtQ29BMmQ1Qzd7Ym9yZGVyLXdpZHRoOjJweH0uZGl2aWRlci1Db0EyZDVDNy5zaXplLW1lZGl1bS1Db0EyZDVDN3tib3JkZXItd2lkdGg6M3B4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUtbGFyZ2UtQ29BMmQ1Qzd7Ym9yZGVyLXdpZHRoOjRweH0uZGl2aWRlci1Db0EyZDVDNy5zaXplLXhsYXJnZS1Db0EyZDVDN3tib3JkZXItd2lkdGg6NXB4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUteHhsYXJnZS1Db0EyZDVDN3tib3JkZXItd2lkdGg6NnB4fS5kaXZpZGVyLUNvQTJkNUM3LnR5cGUtcHJpbWFyeS1Db0EyZDVDN3stLXVpLWxpYi1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tXzEtbVpBSCl9LmRpdmlkZXItQ29BMmQ1QzcudHlwZS1zZWNvbmRhcnktQ29BMmQ1Qzd7LS11aS1saWItYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLV8wLW1aQUgpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCFIL.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.495Z","timestamp":1785136905495,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCFIL.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/css?family=Montserrat:400,500,600,700%7COpen+Sans:400,600\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://huobiget.com/","date":"2026-07-27T07:21:39.475Z","timestamp":1785136899475,"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 /css?family=Montserrat:400,500,600,700%7COpen+Sans:400,600\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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\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 07:21:39 GMT\r\ndate: Mon, 27 Jul 2026 07:21:39 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":19736,"size_decoded":2557,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"3b644e0c8038ca388a5320adfba27447","sha1":"fc81a567cc451b5fef6d9d417f0586da500c3b1d","sha256":"c3efc02fddd48f787a715057c22482318c1d65562e2d23194aea0eaea15b9ff3","sha512":"53bb89ba2ca6ee1c7d235573b0bc115544ad05fe75a7dc3aa5818e4253d6cf86eb07a9c804ac8a0987d0cf4dc84a84521fc489253b259d628c00f343aa36ac54","ssdeep":"192:YRo7TbOmuwRv7M0OFupRS719Ocu6RB7W+OjunCKKf2XdrqJnbqGIwV4jozYJCMMX:4QPTzajdst5qY4yf/qY4g","tlshash":"e292fe910017a800ab471cd623cf7f35ee0ea2627044c07a6ffd5aa9eedad26537572d","first_seen":"2025-09-18T13:11:13.350236Z","last_seen":"2026-07-27T13:11:21.987301Z","times_seen":167,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1poeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2xoeXlUbjg5ZGRwUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1JoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVcxaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2RoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl5VG44OWRkcFEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdSaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXMWh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXWmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdkaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXbGh5eVRuODlkZHBRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1poeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2xoeXlUbjg5ZGRwUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTS211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3VtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTT211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3ltdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIGhlYnJldyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTMm11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUVk9tdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUVUdtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNDbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0dtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFMtbXV3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNLbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTdW11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNPbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTeW11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogaGVicmV3ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFMybXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDctMDMwOCwgVSswNTkwLTA1RkYsIFUrMjAwQy0yMDEwLCBVKzIwQUEsIFUrMjVDQywgVStGQjFELUZCNEY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRWT211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRVR211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0NtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTR211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUy1tdXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":93,"timings":{"blocked":-1,"dns":2,"connect":17,"send":0,"wait":35,"receive":0,"ssl":39},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/88906.0d650469c9c843577b47.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.318Z","timestamp":1785136900318,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/88906.0d650469c9c843577b47.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: d9eb3e68d9d1766ca55ff9abdcd00470\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20521,"size_decoded":4225,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (20521), with no line terminators","md5":"4a51ba6d12ee0610b5d72dd27e711a99","sha1":"aad2a74218259b98d0471539beaba1a0f6d22f98","sha256":"701de67c496f57ecf6702cbf74570ac82c16d20f7661b5336e4b57faaf99a48b","sha512":"ae10205cd98ebe930ec6b30d92db97e27eb3811af4aac3da8ad6e32444c18b650cfb62f89d379fb2f320f1dcdf197bedd1e7fae73ad4ca5af2a4c0ce0a964737","ssdeep":"384:lN346M/4UZch+iBcHuNeCB/H1nVdx2Z1L:g6M/46ch8","tlshash":"eb929cadef35f639e43d972bd7a3789f3910d7caae13469ba2d4141504cabe34122c84","first_seen":"2026-07-23T13:54:09.175898Z","last_seen":"2026-07-28T06:17:53.496825Z","times_seen":305,"resource_available":false,"data":"OnJvb3QsW2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1waG9uZTo1NnB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtdGFibGV0OjgwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3A6MTAwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmU6MTZweDstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLXRhYmxldDoyNHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wOjMycHg7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1kZXNrdG9wOjQwcHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0OjE2cHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1sYXB0b3A6MjRweDstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWRlc2t0b3A6MjRweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXBob25lOjU2cHg7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQ6ODBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcDoxMDBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3A6MTIwcHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0OjI0cHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3A6MzJweDstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3A6NDBweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXBob25lOjE2cHg7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZS10YWJsZXQ6MTZweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcDoyNHB4Oy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcDoyNHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLXBob25lOjgwcHg7LS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0OjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcDoxNjBweDstLXYtcmh5dGhtLXNwYWNpbmctMS1kZXNrdG9wOjIwMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0Ojg4cHg7LS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3A6MTYwcHg7LS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmU6NDhweDstLXYtcmh5dGhtLXNwYWNpbmctMy10YWJsZXQ6NjRweDstLXYtcmh5dGhtLXNwYWNpbmctMy1sYXB0b3A6ODhweDstLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy00LXBob25lOjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0OjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcDo4MHB4Oy0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lOjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0OjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wOjQwcHg7LS12LXJoeXRobS1zcGFjaW5nLTUtZGVza3RvcDo0OHB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy0xOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMS1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy00OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNC1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lKX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fUBzdXBwb3J0cyBub3QgKGNvbnRhaW5lci10eXBlOmlubGluZS1zaXplKXtAbWVkaWEgKG1pbi13aWR0aDo3MDJweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDcwMnB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0KX19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KXs6cm9vdHstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fUBtZWRpYSAobWluLXdpZHRoOjE0NDBweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEzNzRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19fUBjb250YWluZXIgY29udGVudC1jb250YWluZXIgKG1pbi13aWR0aDogMTM3NHB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0zOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWRlc2t0b3ApfX0udHYtdGV4dCBvbCwudHYtdGV4dCBwLC50di10ZXh0IHVse2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS42O21hcmdpbi1ib3R0b206MTJweH0udHYtdGV4dCBoMXtmb250LXNpemU6NDVweDttYXJnaW4tYm90dG9tOjMwcHg7bWFyZ2luLXRvcDozMHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDF7Zm9udC1zaXplOjM4cHh9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtdGV4dCBoMXtmb250LXNpemU6MzJweH19QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di10ZXh0IGgxe2ZvbnQtc2l6ZToyOHB4fX0udHYtdGV4dCBoMntmb250LXNpemU6MzFweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di10ZXh0IGgye2ZvbnQtc2l6ZToyNnB4fX1AbWVkaWEgKG1heC13aWR0aDo0NzlweCl7LnR2LXRleHQgaDJ7Zm9udC1zaXplOjI0cHh9fS50di10ZXh0IGgze2ZvbnQtc2l6ZToxN3B4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDN7Zm9udC1zaXplOjE2cHh9fS50di10ZXh0IGg0e2ZvbnQtc2l6ZToxNXB4fS50di10ZXh0IGgyLC50di10ZXh0IGgzLC50di10ZXh0IGg0e21hcmdpbi1ib3R0b206MjBweDttYXJnaW4tdG9wOjIwcHh9LnR2LXRleHQgaDE6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDI6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDM6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDQ6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS50di10ZXh0IG9sLC50di10ZXh0IHVse2xpc3Qtc3R5bGUtcG9zaXRpb246aW5zaWRlfS50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIG9sLC50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIHVse2xpc3Qtc3R5bGUtcG9zaXRpb246b3V0c2lkZTtwYWRkaW5nLWlubGluZS1zdGFydDoxN3B4fS50di10ZXh0IGE6bm90KC50di1idXR0b24pOm5vdCgudHYtY2hhcnQtdmlld19fZGVzY3JpcHRpb25fX3RhZyksLnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0udHYtdGV4dCBhOm5vdCgudHYtYnV0dG9uKTpub3QoLnR2LWNoYXJ0LXZpZXdfX2Rlc2NyaXB0aW9uX190YWcpOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0udHYtdGV4dC0tZGFya2JnLC50di10ZXh0LS1kYXJrYmcgb2wsLnR2LXRleHQtLWRhcmtiZyBwLC50di10ZXh0LS1kYXJrYmcgdWx7Y29sb3I6I2ZmZn0uYXJpYS1saXZlLXJlZ2lvbnMtd3JhcHBlcntib3JkZXI6MDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7Y2xpcDpyZWN0KDAsMCwwLDApO292ZXJmbG93LXg6aGlkZGVufWh0bWx7Y29sb3Itc2NoZW1lOmxpZ2h0fWh0bWwudGhlbWUtZGFya3tjb2xvci1zY2hlbWU6ZGFya31odG1sLnRoZW1lLWRhcmsgaWZyYW1le2NvbG9yLXNjaGVtZTpub3JtYWx9Ym9keXtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLXdpZHRoOjMyMHB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5Lmktbm8tc2Nyb2xse292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnR9Ym9keS5pLW5vLXBhZGRpbmd7cGFkZGluZzowIWltcG9ydGFudH06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXNlbGVjdGlvbi1iZyl9LnNjcmVlbi1pd3I5T3Rwc3tib3R0b206MDtkaXNwbGF5Om5vbmU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDo4fS5zY3JlZW4taXdyOU90cHMuZmFkZS1pd3I5T3Rwc3thbmltYXRpb246c2NyZWVuZmFkZS1pd3I5T3RwcyAuM3MgZWFzZSBiYWNrd2FyZHM7ZGlzcGxheTpibG9ja31Aa2V5ZnJhbWVzIHNjcmVlbmZhZGUtaXdyOU90cHN7MCV7b3BhY2l0eTowfX0ucGFuZVNlcGFyYXRvci1haTlNWEo5a3ttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5a3toZWlnaHQ6N3B4O2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotM3B4O3dpZHRoOjEwMCU7ei1pbmRleDo1MH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLm1vYmlsZS1haTlNWEo5a3toZWlnaHQ6MTFweDt0b3A6LTVweH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmFjdGl2ZS1haTlNWEo5aywucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmhvdmVyZWQtYWk5TVhKOWssLnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5ay5zZWxlY3RlZC1haTlNWEo5a3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpO2N1cnNvcjpyb3ctcmVzaXplfS5wYW5lU2VwYXJhdG9yLWFpOU1YSjlrIC5oYW5kbGUtYWk5TVhKOWsuYWN0aXZlLWFpOU1YSjlrOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGp7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJTt6LWluZGV4OjN9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtd3JhcHBlci1iVENUUkNUai5oaWRkZW4tYlRDVFJDVGp7dmlzaWJpbGl0eTpoaWRkZW59LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7d2lkdGg6MTAwJX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1Rqe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtjb2x1bW4tZ2FwOjJweDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6MCAzcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtY2hpbGQoMSBvZiA6bm90KC5qcy1oaWRkZW4pKXtib3JkZXItc3RhcnQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czozcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtbGFzdC1jaGlsZCgtbisxIG9mIDpub3QoLmpzLWhpZGRlbikpe2JvcmRlci1lbmQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6M3B4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqOmhvdmVyOm5vdCgucmVhZG9ubHkpe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9fS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqLmV4cGFuZGVkLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWFycm93LWRvd24tYlRDVFJDVGp7dHJhbnNmb3JtOnNjYWxlWSgtMSl9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogZGl2e3BvaW50ZXItZXZlbnRzOmF1dG99LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtdGV4dC1iVENUUkNUant3aGl0ZS1zcGFjZTpub3dyYXB9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYXJyb3ctZG93bi1iVENUUkNUanthbGlnbi1zZWxmOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1Rqe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGogLnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUantjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGo6aG92ZXI6bm90KC5yZWFkb25seSl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0ucHJpY2UtYXhpc3tjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGV9LnByaWNlLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnByaWNlLWF4aXMtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wcmljZS1heGlzLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnByaWNlLWF4aXNfX21vZGVCdXR0b25ze2JvdHRvbTowO21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZToxcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOmNhbGMoMTAwJSAtIDJweCk7ei1pbmRleDozfS5wcmljZS1heGlzX19tb2RlQnV0dG9uc19oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LnBhbmV7Y3Vyc29yOmNyb3NzaGFpcjtvdmVyZmxvdzpoaWRkZW59LnBhbmUtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wYW5lLS1jdXJzb3ItZXJhc2Vye2N1cnNvcjp1cmwoZXJhc2VyLmM4MDYxMGEwNGE5MmQyNDY1YjAzLmN1ciksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRvdHtjdXJzb3I6dXJsKGRvdC4zZDYxN2I2YjAxZWRiYTgzYTdmNC5jdXIpLGRlZmF1bHR9LnBhbmUtLWN1cnNvci1wZXJmb3JtYW5jZXtjdXJzb3I6dXJsKHBlcmZvcm1hbmNlLjc2OWNmOWRkYTJlZGU3ZDEyYjc0LnN2ZyksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRlZmF1bHQsLnBhbmUtLWN1cnNvci1kZW1vbnN0cmF0aW9ue2N1cnNvcjpkZWZhdWx0fS5wYW5lLS1jdXJzb3ItZ3JhYmJpbmd7Y3Vyc29yOmdyYWJiaW5nfS5wYW5lLS1jdXJzb3Item9vbS1pbntjdXJzb3I6em9vbS1pbn0ucGFuZS0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5wYW5lLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS5wYW5lLS1jdXJzb3Itbm9uZXtjdXJzb3I6bm9uZX0udGltZS1heGlze2N1cnNvcjpkZWZhdWx0fS50aW1lLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnRpbWUtYXhpcy0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5pY29uLWlyQTBvYUg4ey0tdWktbGliLWluLWluZm9ybWVyLWljb24tY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQpOy0taWNvbi1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1saWdodCl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtLWpHSTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC0takdJOnZhcigtLWNvbG9yLXR2LWJsdWUtODAwKX0uY2hhcnQtd2lkZ2V0e2JvcmRlci1zdHlsZTpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MjU2cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo1MTJweH0uY2hhcnQtbWFya3VwLXRhYmxle2JvcmRlcjpub25lO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDowcHh9LmNoYXJ0LW1hcmt1cC10YWJsZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyfS5jaGFydC1ndWktd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2x1bW4tZ2FwOjRweDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6NHB4IDA7cGFkZGluZy1pbmxpbmU6NHB4IDRweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5jaGFydC1ndWktd3JhcHBlcl9fbGVnZW5ke2ZsZXg6MSAxIGF1dG87bWF4LXdpZHRoOjEwMCV9LmNoYXJ0LWd1aS13cmFwcGVyX19wYW5lQ29udHJvbHN7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0b30uYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXN7LS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXM6NHB4fS5jaGFydC1wYWdle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSl9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lcntjb250YWluOnN0cmljdDtwb3NpdGlvbjpyZWxhdGl2ZX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmUtYmcpO2JvcmRlcjpub25lO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3otaW5kZXg6MH0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXI6MnB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yLHZhcigtLV8wLS1qR0kpKTtib3R0b206MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS5jaGFydC1wYWdlIC5jaGFydC1jb250YWluZXIuaW5hY3RpdmUgLmJhY2stdG8tcHJlc2VudHtkaXNwbGF5Om5vbmV9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lci5uby1oZWFkZXItdG9vbGJhciAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntib3JkZXItc3RhcnQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4KX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm5vLWJvdHRvbS10b29sYmFyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci1lbmQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCl9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1sZWZ0LWNoYXJ0IC5jaGFydC1jb250YWluZXItYm9yZGVyLC5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWxlZnQtY2hhcnQubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4IDAgMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydCAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydC5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwIDRweCAwIDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWZ1bGwtd2lkdGgtY2hhcnQgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXJ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1mdWxsLXdpZHRoLWNoYXJ0Lm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCA0cHggMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItdG9wLWxlZnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5uby1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzLmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXIsLmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMuYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpfS5jaGFydHNTcGxpdHRlci14cXNhT3g5Q3tiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCI7cG9zaXRpb246YWJzb2x1dGV9LmNoYXJ0c1NwbGl0dGVyLXhxc2FPeDlDLmhvdmVyZWQteHFzYU94OUN7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX0uY2hhcnQtY29udHJvbHMtYmFye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGFuZS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBhbmUtYmcpKTtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSk7Ym9yZGVyLXJhZGl1czowIDAgNHB4IDRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGFpbjpzdHJpY3Q7aGVpZ2h0OjM5cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlfS5uby1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXJ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uby1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udHJvbHMtYmFye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXIubXVsdGlwbGUtbGF5b3V0e2JvcmRlci1yYWRpdXM6NHB4fQ=="}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.009Z","timestamp":1785136901009,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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 07:21:41 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: 5e77ed0993cca545c1d7e0f9410160fc\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":35736,"size_decoded":12654,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"eb8c592becd98b3361efe0b94719d5c6","sha1":"a0d1ee8521cfba7aa407ac50937aedd5f39bf878","sha256":"647fb8708ead9f5ba58a75d3b5e6d45f3df1f26a67f068d19a46752de40e327d","sha512":"27e850e1b55df1bfb523a33007db88c5bf3fca11c34b9f448fad508275031d48062410c7e49cd891d38f4058b2dad657828a8ce9f5a047b24a8804c477a90feb","ssdeep":"768:Qy2uEBDBP0oAifg+OMQjn3FMjhYVwPn9/meP+Tjwqcq8xGQKpb5dg+xU7wbwpEvK:k950TT3WOOP9AsqcK555x/dMDjcXRdH6","tlshash":"f4f2f917f1a7b46693db809ae4724213a33c18013d05486dbabc9ddd2a3f942b663f7d","first_seen":"2026-07-23T13:38:20.417189Z","last_seen":"2026-07-28T07:05:00.7004Z","times_seen":1555,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ3MDhdLHs5MzAyMzEoZSx0LHMpe3MuZCh0LHtpc0ZlYXR1cmVzZXRFbmFibGVkOigpPT5hfSk7dmFyIG49cyg2MzUxOCk7Y29uc3QgaT1uZXcgTWFwLG89bmV3IE1hcCxyPW5ldyBTZXQ7ZnVuY3Rpb24gYShlKXtjb25zdCB0PWkuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQ7Y29uc3Qgcz1vLmdldChlKTtyZXR1cm4hIXMmJnMuc29tZShhKX1mdW5jdGlvbiBkKGUsdCl7aS5zZXQoU3RyaW5nKGUpLEJvb2xlYW4odCkpfSFmdW5jdGlvbigpe2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXMobikpaWYoci5hZGQoZSksInN1YnNldHMiaW4gdClmb3IoY29uc3QgcyBvZiB0LnN1YnNldHMpe3IuYWRkKHMpO2xldCB0PW8uZ2V0KHMpO3ZvaWQgMD09PXQmJih0PVtdLG8uc2V0KHMsdCkpLHQucHVzaChlKX19KCksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzJiZBcnJheS5pc0FycmF5KF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMSl9KSksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzKSYmX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2QoZSwhMCl9KSl9LDg1NjE5NihlLHQscyl7cy5kKHQse3Nob3VsZEFmZmVjdFVzZXI6KCk9PmR9KTt2YXIgbj1zKDEwMDU5NSksaT1zLm4obiksbz1zKDkzMjM2NSk7Y29uc3Qgcj0iZmVhdHVyZXRvZ2dsZV9zZWVkIjtmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWkoKShlK2Z1bmN0aW9uKCl7aWYod2luZG93LnVzZXImJndpbmRvdy51c2VyLmlkKXJldHVybiB3aW5kb3cudXNlci5pZDtjb25zdCBlPW8uVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShyKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PU1hdGguZmxvb3IoMWU2Kk1hdGgucmFuZG9tKCkpO3JldHVybiBvLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0ocixgJHt0fWApLHR9KCkpLHM9bmV3IERhdGFWaWV3KHQpO3JldHVybiBzLmdldFVpbnQzMigwLCEwKS80Mjk0OTY3Mjk2fWNhdGNoKGUpe3JldHVybi41fX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIGEoZSk8PXR9fSwxNTk1MTMoZSx0LHMpe3MuZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBuPXMoOTI3NTkzKSxpPXMoNzU1NjI3KSxvPXMoMTUwMTUwKTtjb25zdCByPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiByW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtyW2VdPXR9KGUsbmV3IG4uUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmRbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyB1KGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgYyhlKS5zbmFwc2hvdH19KSkscltlXX1jb25zdCBkPXtzaW1wbGU6WyJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJjaCIsImNocCIsImN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImJhc2VfY3VycmVuY3lfaWQiLCJjdXJyZW50X3Nlc3Npb24iLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwiZm9ybWF0IiwiZnJhY3Rpb25hbCIsImlzX3RyYWRhYmxlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxpc3RlZF9leGNoYW5nZSIsImxvZ29pZCIsImxwIiwibHBfdGltZSIsIm1pbm1vdiIsIm1pbm1vdmUyIiwib3JpZ2luYWxfbmFtZSIsInByaWNlc2NhbGUiLCJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIiwidXBkYXRlX21vZGUiLCJ2b2x1bWUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJ2YWx1ZV91bml0X2lkIiwidW5pdF9pZCIsIm1lYXN1cmUiXX07ZC5zaW1wbGVEZXRhaWxlZD1bLi4uZC5zaW1wbGUsImFzayIsImJpZCIsImZ1bmRhbWVudGFscyIsImhpZ2hfcHJpY2UiLCJpc190cmFkYWJsZSIsImxvd19wcmljZSIsIm9wZW5fcHJpY2UiLCJwcmV2X2Nsb3NlX3ByaWNlIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwic3RhdHVzIiwiYmFzaWNfZXBzX25ldF9pbmNvbWUiLCJiZXRhXzFfeWVhciIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJpbmR1c3RyeSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJzZWN0b3IiLCJ2b2x1bWUiLCJkaXZpZGVuZHNfeWllbGQiLCJ0aW1lem9uZSJdLGQuZnVsbD1bXSxkLndhdGNobGlzdD1bLi4uZC5zaW1wbGUsInJjaHAiLCJuY2hwIiwicnRjIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJkaXZpZGVuZHNfYXZhaWxhYmlsaXR5IiwiZmluYW5jaWFsc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiXSwKZC5wb3J0Zm9saW89WyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInNlY3RvciIsInR5cGUiLCJ0eXBlc3BlY3MiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImNoIiwiY2hwIiwibG9nbyIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImxwIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwicHJpY2VzY2FsZSIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9jYWxjIiwibWFya2V0X2NhcF9iYXNpYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsImZvcm1hdCIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQubm90ZXM9WyJzaG9ydF9uYW1lIiwicHJvX25hbWUiLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIl0sZC5lc3RpbWF0ZXM9WyJmdW5kYW1lbnRhbF9kYXRhIiwidHlwZSIsInR5cGVzcGVjcyIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X3N5bWJvbF9jdXJyZW5jeV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9hbGlnbmVkX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sZC5lY29ub21pYz1bInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImxwIiwiY3VycmVuY3lfY29kZSIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGQub3B0aW9ucz1bImFzayIsImJpZCIsImxwIiwidm9sdW1lIiwiY2giLCJjaHAiXTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlPXt9LHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzPXt9LHRoaXMuZm9ybWF0dGVyPShlLHQpPT57aWYodGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV0pcmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdO2Z1bmN0aW9uIHMoZSl7Y29uc3Qgcz10JiYhZS5mcmFjdGlvbmFsPzE6ZS5taW5tb3Y7cmV0dXJuIG5ldyBpLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZSxtaW5Nb3ZlOnMsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pfWNvbnN0IG49bmV3IFByb21pc2UoKCh0LG4pPT57aWYodGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pdChzKHRoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlW2VdKSk7ZWxzZXtjb25zdCBpPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUoaSxbZV0sKG89PnsiZXJyb3IiPT09by5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1udWxsLG4oIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KG8udmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09by52YWx1ZXMsdChzKG8udmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUoaSxlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1uLG59LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSx0aGlzLl93YWl0aW5nRm9yU25hcHNob3Q9e30sdGhpcy5zbmFwc2hvdD1lPT57aWYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdKXJldHVybiB0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV07Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQscyk9PntpZih0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdKXQodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSk7ZWxzZXtjb25zdCBuPSgwLG8uZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUobixbZV0sKGk9PnsiZXJyb3IiPT09aS5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCxzKCJRdW90ZXMgc25hcHNob3QgaXMgbm90IHJlY2VpdmVkIikpO2NvbnN0IG89aS52YWx1ZXM7byYmby5taW5tb3YmJm8ucHJpY2VzY2FsZSYmby5kZXNjcmlwdGlvbiYmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT1udWxsLHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV09byx0KG8pLHRoaXMuX211bHRpcGxleGVyLnVuc3Vic2NyaWJlKG4sZSkpfSkpfX0pKTtyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPXQsdH0sdGhpcy5fbXVsdGlwbGV4ZXI9ZX19InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2U9YSl9LDUzNTMwKGUsdCxzKXtzLmQodCx7Z2V0TWluVGlja0RhdGE6KCk9PmQsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmN9KTt2YXIgbj1zKDcxMjc0NSksaT1zKDYwMTg0MSksbz1zKDUzNDQ0MCkscj1zKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxuLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBkKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTpzLHZhcmlhYmxlTWluVGlja0RhdGE6bixzaG91bGRDaGVja0ZvckVxdWFsaXR5Om99PWUscj0oMCwKaS5pc051bWJlcikodCk/dSh0KTp0O3JldHVybiB2b2lkIDA9PT1uP3I6ZnVuY3Rpb24oZSx0LHM9ITEpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtpZihlPHRbbl0ucHJpY2UpcmV0dXJuIHRbbl0ubWluVGljaztpZihzJiZlPT09dFtuXS5wcmljZSlyZXR1cm4gdFtuXS5taW5UaWNrfXJldHVybiB0W3QubGVuZ3RoLTFdLm1pblRpY2t9KHMsbixvKX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsby5udW1PZkRlY2ltYWxQbGFjZXMpKGUpLHM9TWF0aC5wb3coMTAsdCk7cmV0dXJue3ByaWNlU2NhbGU6cyxtaW5Nb3ZlOigwLG4uQmlnKShlKS5tdWwocykudG9OdW1iZXIoKX19ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IHM9W3ttaW5UaWNrOigwLGkuaXNOdW1iZXIpKGUpP3UoZSk6ZSxwcmljZToxLzAsbWF4SW5kZXg6MS8wfV07dHJ5e2NvbnN0IGU9dC5zcGxpdCgiICIpLm1hcCgoKGUsdCk9PigwLHIuaXNFdmVuKSh0KT9mdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHUodCk7e2NvbnN0IHQ9ZS5zcGxpdCgiLyIpO2lmKHQubGVuZ3RoPDJ8fHQubGVuZ3RoPjMpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBzPU51bWJlcih0WzFdKSxuPU51bWJlcih0WzBdKTtpZighTnVtYmVyLmlzRmluaXRlKHMpfHwhTnVtYmVyLmlzRmluaXRlKG4pKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3QgaT0zPT09dC5sZW5ndGg/TnVtYmVyKHRbMl0pOnZvaWQgMDtpZih2b2lkIDAhPT1pJiYhTnVtYmVyLmlzRmluaXRlKGkpKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtaW50aWNrOiAke2V9YCk7Y29uc3Qgbz17cHJpY2VTY2FsZTpzLG1pbk1vdmU6bn07cmV0dXJuIHZvaWQgMCE9PWkmJihvLm1pbk1vdmUyPWkpLG99fShlKTpmdW5jdGlvbihlKXtjb25zdCB0PU51bWJlcihlKTtpZihOdW1iZXIuaXNOYU4odCkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHByaWNlIGxpbWl0OiAke2V9YCk7cmV0dXJuIHR9KGUpKSk7aWYoKDAsci5pc0V2ZW4pKGUubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIlRoZW1lIG11c3Qgbm90IGJlIGV2ZW50IG51bWJlciBvZiBlbGVtZW50cyIpO2NvbnN0IHM9W107Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0yKXtjb25zdCBpPWVbdCsxXT8/MS8wLG89c1tzLmxlbmd0aC0xXT8ucHJpY2U/PzAscj1zW3MubGVuZ3RoLTFdPy5tYXhJbmRleD8/MCxkPWk9PT0xLzA/MS8wOm5ldyBuLkJpZyhpKS5taW51cyhvKS5kaXYoYShlW3RdKSkucGx1cyhyKS50b051bWJlcigpO3MucHVzaCh7bWluVGljazplW3RdLHByaWNlOmksbWF4SW5kZXg6ZH0pfXJldHVybiBzfWNhdGNoe3JldHVybiBzfX19LDgyMjQzMShlLHQscyl7cy5kKHQse251bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvOigpPT5pfSk7dmFyIG49cyg2MDE4NDEpO2Z1bmN0aW9uIGkoZSx0KXtpZighKDAsbi5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLG4uaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9fSwzNjc5NDYoZSx0LHMpe2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5tYXRjaCgvKGRlbGF5ZWRfc3RyZWFtaW5nKV8oXGQrKS8pO3JldHVybiBudWxsPT09dD9udWxsOnttb2RlOnRbMV0saW50ZXJ2YWw6cGFyc2VJbnQodFsyXSl9fShlLnVwZGF0ZV9tb2RlKTtyZXR1cm4gbnVsbD09PXR8fChlLnVwZGF0ZV9tb2RlPXQubW9kZSxlLnVwZGF0ZV9tb2RlX3NlY29uZHM9dC5pbnRlcnZhbCksZX1zLmQodCx7bm9ybWFsaXplVXBkYXRlTW9kZTooKT0+bn0pfSw3MjI1NzEoZSx0LHMpe3ZhciBuPXMoMjAzNjgxKSxpPXMoNTQ3ODUxKSxvPXMoMjA2NjczKSxyPXMoMzA0MjIxKSxhPXMoODE3MzUwKSxkPXMoMTM4NjM4KSx1PXMoNjAxODQxKSxjPXMoMjMyMzY0KSxsPXMoMjIxMDYxKSxoPXMoNzgwOTc1KSxfPXMoNzczMDg4KSxtPXMoOTMwMjMxKSxmPXMoNjA2MTApLHA9cyg0MDM2KSxnPXMoNTIxMzMzKSx5PXMoMjE3NTI3KSxiPXMoNzQ2OTQ5KSx3PXMoNjYxODU4KSxDPXMoMzg0MDE3KSxrPXMoODg5NTE1KSx2PXMoNzY4NzYwKSxTPXMoNTg5NzQ5KSxNPXMoMTE2MzEwKSxSPXMoNDc5MzQpLFQ9cyg1NjkzOTgpLHE9cyg4NjIyMTMpLE49cygxMTczMTMpLEQ9cygxNTY4NTApLEk9cyg2NDA3NDQpLFA9cyg3ODMzNDApLEU9cyg5MzAwNDUpLEY9cyg0NjM0NDcpO2NvbnN0IHg9KDAsbC5nZXRMb2dnZXIpKCJDaGFydC5TdHVkaWVzLlN0dWR5TWV0YUluZm9SZXBvc2l0b3J5Iix7Y29sb3I6IiM2MDYifSksSD0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLlRyYWZmaWNNZXRlciIse21heENvdW50OjIwLGNvbG9yOiIjMjY4In0pLEE9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5Db3JlIix7Y29sb3I6IiM3MDYifSksQj0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse2NvbG9yOiIjNzA2In0pLEw9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHtoaWdoUmF0ZTohMCxtYXhDb3VudDoxMDAsY29sb3I6IiM3MDYifSksTz0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjAsY29sb3I6IiM3MDYifSksUT0oMCxsLmdldExvZ2dlcikoIkNoYXJ0QXBpLkNoYXJ0U2Vzc2lvbiIse21heENvdW50OjUwLGNvbG9yOiIjNzA2In0pLFY9KDAsbC5nZXRMb2dnZXIpKCJDaGFydEFwaS5RdW90ZVNlc3Npb24iLHttYXhDb3VudDo1MCxjb2xvcjoiIzY2MCJ9KSwkPSgwLGwuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuUXVvdGVTZXNzaW9uIix7aGlnaFJhdGU6ITAsbWF4Q291bnQ6MTAsY29sb3I6IiM2NjAifSksVT0hKDAsCk4uaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSxXPSgwLFQuaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIiksaj0oMCxULmlzRmVhdHVyZUVuYWJsZWQpKCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCIpO2xldCB6PSExLEo9ITEsRz0hMTtjb25zdCBZPVsiIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtmdW5jdGlvbiBLKGUpe2lmKDA9PT1lKXJldHVybiIwIjtjb25zdCB0PSgwLEkudG9JbnQpKE1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTAyNCkpKTtyZXR1cm4oZS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDIpK1lbdF19ZnVuY3Rpb24gWihlLHQpe3JldHVybmAke2V9X18ke3R9YH1mdW5jdGlvbiBYKGUsdCxzKXtjb25zdCBuPXRbc10/PzA7dFtzXT1uK2V9Y29uc3QgZWU9WC5iaW5kKG51bGwsMSksdGU9WC5iaW5kKG51bGwsLTEpLHNlPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpPyJzdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6InN0dWRpZXNfbWV0YWRhdGEiLG5lPSIvY2hhcnQtYXBpL3Byb19oYXNoIixpZT0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT8iL2NoYXJ0LWFwaS9zdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6Ii9jaGFydC1hcGkvc3R1ZGllc19tZXRhZGF0YSI7bGV0IG9lPW51bGw7ZnVuY3Rpb24gcmUoKXtpZihudWxsPT09b2Upe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tyZWx+PSJjb252ZXJzaW9ucy1jb25maWciXScpLHQ9bmV3IFVSTCgoMCxkLmVuc3VyZU5vdE51bGwpKGUpLmhyZWYpO29lPSgwLEMuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQifSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgY29udmVyc2lvbnMgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO3JldHVybiBlLmpzb24oKX0pKS50aGVuKChlPT57Y29uc3QgdD0oMCxxLmdldExvZ29VcmxSZXNvbHZlcikoKTtyZXR1cm4gZS5jdXJyZW5jaWVzLmZvckVhY2goKGU9Pnt2b2lkIDAhPT1lLmxvZ29pZCYmKGUubG9nb1VybD10LmdldFN5bWJvbExvZ29VcmwoZS5sb2dvaWQscS5Mb2dvU2l6ZS5NZWRpdW0pKX0pKSxlfSkpfXJldHVybiBvZX1sZXQgYWU9bnVsbDtjbGFzcyBkZXtjb25zdHJ1Y3RvcihlKXt0aGlzLnNlc3Npb25pZD1udWxsLHRoaXMuX2JhbkluZm89bmV3IGMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzQXV0aFRva2VuTG9hZGVkPSExLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9RGF0ZS5ub3coKS1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9pbml0Q2FjaGVQcm9taXNlPSgwLE0uY3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlKSgiVFZDaGFydEFwaSIpLHRoaXMuX3RyYWZmaWNTdGF0cz17dG90YWw6MCxzaW5jZUNvbm5lY3Q6MCxsYXN0Q2h1bms6MH0sdGhpcy5fbG93UXVhbGl0eUVuYWJsZWQ9ITEsdGhpcy5fYnJva2VySWQ9IiIsdGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQ9MCx0aGlzLl9tb2RpZnlTdHVkeU1hcD1uZXcgTWFwLHRoaXMuX2Rpc2Nvbm5lY3RDb3VudD0wLHRoaXMuX2lzQ29ubmVjdGVkPSExLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGwsdGhpcy5fZGF0YUhhbmRsZU1vZHVsZT1uZXcgRS5KU09ORGF0YUhhbmRsZXIsdGhpcy5fc2Vzc2lvbnM9e30sdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnM9e30sdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W10sdGhpcy5fbG9hZE5ld0JhcnM9ITEsdGhpcy5fbWV0YWRhdGFSZXF1ZXN0TmV4dE51bWJlcj0xLHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcj17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcz1uZXcgTWFwLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkPW5ldyBjLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2VudE1ldGhvZHNDb3VudGVycz1uZXcgTWFwLHRoaXMuX3JlY2VpdmVkTWV0aG9kc0NvdW50ZXJzPW5ldyBNYXAsdGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9bnVsbCx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vblJlY29ubmVjdCh0aGlzLl9iaW5kU29ja2V0RXZlbnRzLmJpbmQodGhpcykpLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uc2V0TG9nZ2VyKEEsbC5nZXRMb2dIaXN0b3J5KSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNldFRlbGVtZXRyeShELnRlbGVtZXRyeSksdGhpcy5fYmluZFNvY2tldEV2ZW50cygpLHRoaXMuX2lzTm9uQ291bnRlZFN0dWR5PSgpPT4hMCx3aW5kb3c/LlRyYWRpbmdWaWV3Py5vbkNoYXJ0UGFnZXx8dGhpcy5fZW5hYmxlTG93UXVhbGl0eU1vZGUoKSxzZXRJbnRlcnZhbCgoKCk9PntILmxvZ05vcm1hbCgiTGFzdCAzMCBzZWNvbmRzOiIrSyh0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKSsiIFNpbmNlIGxhc3QgY29ubmVjdDoiK0sodGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCkrIiBUb3RhbCB0cmFmZmljOiIrSyh0aGlzLl90cmFmZmljU3RhdHMudG90YWwpKSx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rPTB9KSwzZTQpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnN1YnNjcmliZSgoZT0+e2UmJnRoaXMuZGlzY29ubmVjdCgpfSkpfWNvbm5lY3QoZSl7dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zPWUsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RlZCgpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGluZygpfHx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5kaXNjb25uZWN0KCl9c2VudE1ldGhvZHNDb3VudGVycygpe3JldHVybiB0aGlzLl9zZW50TWV0aG9kc0NvdW50ZXJzfXJlY2VpdmVkTWV0aG9kc0NvdW50ZXJzKCl7CnJldHVybiB0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVyc31kZWZhdWx0UmVzb2x1dGlvbnMoKXtyZXR1cm4oMCxnLmdldERlZmF1bHRSZXNvbHV0aW9ucykoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHJlKCkudGhlbigoZT0+ZS5jdXJyZW5jaWVzKSl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gcmUoKS50aGVuKChlPT57Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlLnVuaXRzKXRbcy50eXBlXXx8KHRbcy50eXBlXT1bXSksdFtzLnR5cGVdLnB1c2gocyk7cmV0dXJuIHR9KSl9YXN5bmMgYXZhaWxhYmxlTWV0cmljcygpe3JldHVybiBmdW5jdGlvbigpe2lmKG51bGw9PT1hZSl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49Im1ldHJpY3MtY29uZmlnIl0nKSx0PW5ldyBVUkwoKDAsZC5lbnN1cmVOb3ROdWxsKShlKS5ocmVmKTthZT0oMCxDLmZldGNoKSh0LnRvU3RyaW5nKCkse21ldGhvZDoiR0VUIn0pLnRoZW4oKGFzeW5jIGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIG1ldHJpY3MgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIHQubWV0cmljc19mdWxsX25hbWU/LmZvckVhY2goKGU9Pntjb25zdCBzPXQubWV0cmljcy5maW5kKCh0PT50LmlkPT09ZS5pZCkpO3MmJihzLmRlc2NyaXB0aW9uPWUubmFtZSl9KSksdH0pKX1yZXR1cm4gYWV9KCkudGhlbigoZT0+ZS5tZXRyaWNzKSl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9c3VwcG9ydGVkU3ltYm9sc1R5cGVzKCl7Y29uc3QgZT13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyPz8iIjtyZXR1cm4iYm92ZXNwYSI9PT1lP3cuZmlsdGVyKChlPT5bIiIsInN0b2NrIiwiZnV0dXJlcyIsImluZGV4Il0uaW5jbHVkZXMoZS52YWx1ZSkpKToiY21lIj09PWU/dy5maWx0ZXIoKGU9PmUudmFsdWUhPT15LnR5cGVzLlFVQU5ETCkpOnd9c3ltYm9sc0dyb3VwaW5nKCl7cmV0dXJue2Z1dHVyZXM6L14oLis/KShbMTJdIXxcd1xkezR9KT8kL319Y29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLl9pc0Nvbm5lY3RlZH1hdXRoVG9rZW5NYW5hZ2VyKCl7cmV0dXJuKDAsZC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyKX1jcmVhdGVTZXNzaW9uKGUsdCl7dGhpcy5fc2Vzc2lvbnNbZV09dCx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXT17fSx0aGlzLmNvbm5lY3RlZCgpJiZ0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZCYmdC5vbk1lc3NhZ2Uoe21ldGhvZDpoLkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5Db25uZWN0ZWQscGFyYW1zOltdfSl9cmVtb3ZlU2Vzc2lvbihlKXtkZWxldGUgdGhpcy5fc2Vzc2lvbnNbZV0sZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdfWRpc2Nvbm5lY3RDb3VudCgpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0Q291bnR8fDB9Z2V0UGluZ0luZm8oKXtyZXR1cm4gdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRQaW5nSW5mbygpfWNvbm5lY3Rpb25CYW5JbmZvKCl7cmV0dXJuIHRoaXMuX2JhbkluZm8ucmVhZG9ubHkoKX1jb25uZWN0aW9uc0xpbWl0UmVhY2hlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5yZWFkb25seSgpfXNlcnZlclRpbWUoKXtyZXR1cm4gTWF0aC5yb3VuZCh0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50K3BlcmZvcm1hbmNlLm5vdygpKX1jb21wZW5zYXRlQ29ubmVjdGlvbkxhZyhlKXtjb25zdCB0PXRoaXMuc2VydmVyVGltZSgpLHM9TWF0aC5mbG9vcihlLXQpO3M+MCYmKHRoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQrPXMpfXNldEJyb2tlcihlKXtyZXR1cm4gZT09PXRoaXMuX2Jyb2tlcklkfHwodGhpcy5fYnJva2VySWQ9ZSx0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpKX1jaGFydENyZWF0ZVNlc3Npb24oZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImNoYXJ0X2NyZWF0ZV9zZXNzaW9uIixbZSx0XSl9Y2hhcnREZWxldGVTZXNzaW9uKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiY2hhcnRfZGVsZXRlX3Nlc3Npb24iLFtlXSl9c3dpdGNoVGltZXpvbmUoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInN3aXRjaF90aW1lem9uZSIsW2UsdF0pfXJlc29sdmVTeW1ib2woZSx0LHMsbil7cmV0dXJuIEQudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXNbInJlc29sdmVfc3ltYm9sXyIrZV09d2luZG93LnBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCwhMCksdGhpcy5fc2VuZFJlcXVlc3QoInJlc29sdmVfc3ltYm9sIixbZSx0LHNdKX1yZXF1ZXN0Rmlyc3RCYXJUaW1lKGUsdCxzLG4pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhuLHQsITApLHRoaXMuX3NlbmRSZXF1ZXN0KCJnZXRfZmlyc3RfYmFyX3RpbWUiLFtlLHQsc10pfWNyZWF0ZVNlcmllcyhlLHQscyxuLGksbyxyLGEpe0QudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3MucHVzaCgiY3JlYXRlX3Nlcmllc18iK2UpLHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGEsdCk7Y29uc3QgZD1udWxsPT09cj8iIjooMCxfLmNvbnZlcnRUaW1lRnJhbWVUb1N0cikociwhMCk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc2VyaWVzIixbZSx0LHMsbixpLG8sZF0pfXJlbW92ZVNlcmllcyhlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zZXJpZXMiLFtlLHRdKX1tb2RpZnlTZXJpZXMoZSx0LHMsbixpLG8scixhKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhhLHQpO2NvbnN0IGQ9bnVsbD09PXI/IiI6KDAsCl8uY29udmVydFRpbWVGcmFtZVRvU3RyKShyLCEwKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9zZXJpZXMiLFtlLHQscyxuLGksZF0pfWdldFN0dWR5Q291bnRlcihlKXtyZXR1cm4gdGhpcy5fc3R1ZHlDb3VudGVyW2VdPz8wfWdldEZ1bmRhbWVudGFsQ291bnRlcihlKXtyZXR1cm4gdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyW2VdPz8wfWdldENoaWxkU3R1ZHlDb3VudGVyKGUpe3JldHVybiB0aGlzLl9jaGlsZFN0dWR5Q291bnRlcltlXT8/MH1yZXF1ZXN0TW9yZURhdGEoZSx0LHMsbil7aWYodm9pZCAwPT09c3x8dm9pZCAwPT09bil0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJlcXVlc3QgdG8gbG9hZCBtb3JlIGRhdGEsIGJhcnM9IitzKTtjb25zdCBpPXQ7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW2ldPW5ldyBGLkhhbmRsZXJJbmZvKG4saSksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfbW9yZV9kYXRhIixbZSxpLHNdKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyxuKXtyZXR1cm4gbiYmKHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKG4sdCkpLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X21vcmVfdGlja21hcmtzIixbZSx0LHNdKX1zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUsdCl7dGhpcy5fc2VuZFJlcXVlc3QoInNldF9mdXR1cmVfdGlja21hcmtzX21vZGUiLFtlLHRdKX1yZXF1ZXN0RGF0YVByb2JsZW1zKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlfHwodGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9dGhpcy5jb25uZWN0RGZkLnRoZW4oKCgpPT5uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrPXQsdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfZGF0YV9wcm9ibGVtcyIsW10pP3RoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUNiPWU6dCgpfSkpKSkuZmluYWxseSgoKCk9Pnt0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZT1udWxsfSkpKSx0aGlzLl9yZXF1ZXN0RGF0YVByb2JsZW1zUHJvbWlzZX1hc3luYyByZXF1ZXN0TWV0YWRhdGEoKXtyZXR1cm4gbnVsbD09PXRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlJiYodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2U9KDAsdi5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UucHJvbWlzZS5maW5hbGx5KCgoKT0+e3RoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPW51bGx9KSksdGhpcy5fcmVxdWVzdE1ldGFkYXRhKCkpLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlLnByb21pc2V9YWxsU3R1ZGllc01ldGFkYXRhKCl7dGhyb3cgbmV3IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1zZXRMb2FkTmV3KGUpe3RoaXMuX2xvYWROZXdCYXJzPSEhZX1zZXRJc05vbkNvdW50ZWRTdHVkeUZuKGUpe3RoaXMuX2lzTm9uQ291bnRlZFN0dWR5PWV9Y2FuQ3JlYXRlU3R1ZHkoZSx0LHMpe2NvbnN0e2lkOm4sY2hpbGQ6aSxmdW5kYW1lbnRhbDpvLGZvcmVjYXN0OnIsc3R1YlRpdGxlOmF9PXQsdT0oMCxkLmVuc3VyZU5vdE51bGwpKCgwLFIuZ2V0Q29uZmlnKSgiU1RVRFlfT05fU1RVRFkiKSkuY2hpbGRfbGltaXQ7aWYoaSYmKCEoMCxSLmVuYWJsZWQpKCJTVFVEWV9PTl9TVFVEWSIpfHwodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXJbZV0/PzApPj11KSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImNoaWxkIixsaW1pdFZhbHVlOnV9O2lmKHMpcmV0dXJue3N1Y2Nlc3M6ITB9O2lmKHImJiEoMCxSLmVuYWJsZWQpKCJGVU5EQU1FTlRBTFNfRk9SRUNBU1QiKSlyZXR1cm57c3VjY2VzczohMSxyZWFzb246ImZvcmVjYXN0IixzY3JpcHROYW1lOmF9O2NvbnN0IGM9KDAsZC5lbnN1cmVOb3ROdWxsKSgoMCxSLmdldENvbmZpZykoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpKS5saW1pdDtpZihvJiYoISgwLFIuZW5hYmxlZCkoIkZVTkRBTUVOVEFMU19PTl9DSEFSVCIpfHx0aGlzLmdldEZ1bmRhbWVudGFsQ291bnRlcihlKT49YykpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJmdW5kYW1lbnRhbCIsbGltaXRWYWx1ZTpjfTtjb25zdCBsPSgwLGQuZW5zdXJlTm90TnVsbCkoKDAsUi5nZXRDb25maWcpKCJJTkRJQ0FUT1JTX09OX0NIQVJUIikpLmxpbWl0O3JldHVybiBvfHx0aGlzLl9pc05vbkNvdW50ZWRTdHVkeShuKXx8KDAsUi5lbmFibGVkKSgiSU5ESUNBVE9SU19PTl9DSEFSVCIpJiYhKHRoaXMuZ2V0U3R1ZHlDb3VudGVyKGUpPj1sKT97c3VjY2VzczohMH06e3N1Y2Nlc3M6ITEscmVhc29uOiJnZW5lcmFsIixsaW1pdFZhbHVlOmx9fWNyZWF0ZVN0dWR5KGUsdCxzLG4saSxvLHIsYSl7Y29uc3QgZD10aGlzLmNhbkNyZWF0ZVN0dWR5KGUsYSk7cmV0dXJuIGQuc3VjY2Vzc3x8ImNoaWxkIiE9PWQucmVhc29uPyh0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfc3R1ZHkiLFtlLHQscyxuLGksb10pLGEuZnVuZGFtZW50YWw/ZWUodGhpcy5fZnVuZGFtZW50YWxDb3VudGVyLGUpOnRoaXMuX2lzTm9uQ291bnRlZFN0dWR5KGEuaWQpfHxlZSh0aGlzLl9zdHVkeUNvdW50ZXIsZSksYS5jaGlsZCYmZWUodGhpcy5fY2hpbGRTdHVkeUNvdW50ZXIsZSksdGhpcy5fc3R1ZHlTcGVjcy5zZXQoWihlLHQpLGEpLCEwKTooKDAsay5zaG93VG9vTWFueVN0dWRpZXNOb3RpY2UpKGQubGltaXRWYWx1ZSksITEpfW1vZGlmeVN0dWR5KGUsdCxzLG4sbyxyKXtYKHI9cj8/MCx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSwwIT09ciYmKCgwLGQuZW5zdXJlRGVmaW5lZCkodGhpcy5fc3R1ZHlTcGVjcy5nZXQoWihlLHQpKSkuY2hpbGQ9cj4wKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhvLHQpO2NvbnN0IGE9ZSt0O2lmKHRoaXMuX21vZGlmeVN0dWR5TWFwLmhhcyhhKSl7cmV0dXJuKDAsCmQuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGEpKShlLHQscyxuKT8/ITB9e2NvbnN0IG89KDAsaS5kZWZhdWx0KSgoKGUsdCxzLG4pPT50aGlzLl9zZW5kUmVxdWVzdCgibW9kaWZ5X3N0dWR5IixbZSx0LHMsbl0pKSw1MDAse21heFdhaXQ6NTUwfSk7cmV0dXJuIHRoaXMuX21vZGlmeVN0dWR5TWFwLnNldChhLG8pLG8oZSx0LHMsbik/PyEwfX1ub3RpZnlTdHVkeShlLHQscyxuKXtyZXR1cm4gQS5sb2dOb3JtYWwoYFNlbmQgbm90aWZ5X3N0dWR5LCBbJHtlfSwgJHt0fSwgJHtzfSwgJHtKU09OLnN0cmluZ2lmeShuKX1dYCksdGhpcy5fc2VuZFJlcXVlc3QoIm5vdGlmeV9zdHVkeSIsW2UsdCxzLEpTT04uc3RyaW5naWZ5KG4pXSl9cmVtb3ZlU3R1ZHkoZSx0KXtjb25zdCBzPWUrdDtkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KHMpPy5mbHVzaCgpO2NvbnN0IG49dGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zdHVkeSIsW2UsdF0pO2lmKCExPT09bilyZXR1cm4hMTt0aGlzLl9tb2RpZnlTdHVkeU1hcC5kZWxldGUocyk7Y29uc3QgaT1aKGUsdCksbz0oMCxkLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KGkpKTtyZXR1cm4gdGhpcy5fc3R1ZHlTcGVjcy5kZWxldGUoaSksby5mdW5kYW1lbnRhbD90ZSh0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXIsZSk6dGhpcy5faXNOb25Db3VudGVkU3R1ZHkoby5pZCl8fHRlKHRoaXMuX3N0dWR5Q291bnRlcixlKSxvLmNoaWxkJiZ0ZSh0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSxufWNyZWF0ZVBvaW50c2V0KGUsdCxzLG4saSxvLHIpe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgRi5IYW5kbGVySW5mbyhyLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJjcmVhdGVfcG9pbnRzZXQiLFtlLHQscyxuLGksb10pfW1vZGlmeVBvaW50c2V0KGUsdCxzLG4saSl7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBGLkhhbmRsZXJJbmZvKGksdCksdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9wb2ludHNldCIsW2UsdCxzLG5dKX1yZW1vdmVQb2ludHNldChlLHQpe3JldHVybiBkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9wb2ludHNldCIsW2UsdF0pfWdldE1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfWdldFRpbWVzY2FsZU1hcmtzKGUsdCxzLG4saSl7dGhyb3cgRXJyb3IoIlRoaXMgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCIpfXF1b3RlQ3JlYXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2NyZWF0ZV9zZXNzaW9uIixbZV0pfXF1b3RlRGVsZXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2RlbGV0ZV9zZXNzaW9uIixbZV0pfXF1b3RlQWRkU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfYWRkX3N5bWJvbHMiLFtlLHRdKX1xdW90ZVJlbW92ZVN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3JlbW92ZV9zeW1ib2xzIixbZSx0XSl9cXVvdGVGYXN0U3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgicXVvdGVfZmFzdF9zeW1ib2xzIixbZSx0XSl9cXVvdGVTZXRGaWVsZHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX3NldF9maWVsZHMiLFtlLHRdKX1xdW90ZUhpYmVybmF0ZUFsbChlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2hpYmVybmF0ZV9hbGwiLFtlXSl9ZGVwdGhDcmVhdGVTZXNzaW9uKGUsdCxzKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX2NyZWF0ZV9zZXNzaW9uIixbZSx0LHNdKX1kZXB0aERlbGV0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9kZWxldGVfc2Vzc2lvbiIsW2VdKX1kZXB0aFNldFN5bWJvbChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3N5bWJvbCIsW2UsdF0pfWRlcHRoQ2xlYXJTeW1ib2woZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9jbGVhcl9zeW1ib2wiLFtlXSl9ZGVwdGhTZXRTY2FsZShlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfc2V0X3NjYWxlIixbZSx0XSl9dW5wYWNrKGUpe3JldHVybiB0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnVucGFjayhlKX1zZW5kUmVxdWVzdChlLHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdChlLHQpfXNldFZpc2libGVUaW1lUmFuZ2UoKXt0aHJvdyBuZXcgRXJyb3IoInNldFZpc2libGVUaW1lUmFuZ2UgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIil9X2luaXQoKXt0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVycz17fSx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyPXt9LHRoaXMuX21vZGlmeVN0dWR5TWFwPW5ldyBNYXB9X2NoZWNrQXV0aFRva2VuRXhwaXJhdGlvbihlKXswPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2F1dGhUb2tlbk1hbmFnZXImJiF0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmKEEubG9nSW5mbyhlKSx0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLnJlc2V0KCkpfV9zZW5kUmVxdWVzdChlLHQpe3JldHVybiBqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gc2VuZGluZyBhIG1lc3NhZ2UsIHJlcXVlc3RpbmcgbmV3IHRva2VuIiksMCE9PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Pyh0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5wdXNoKHttZXRob2Q6ZSxhcmdzOnR9KSwhMCk6dGhpcy5fc2VuZFJlcXVlc3RJbXBsKGUsdCl9X3NlbmRSZXF1ZXN0SW1wbChlLHQpewpjb25zdCBzPXRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuZ2V0KGUpPz8wO3RoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuc2V0KGUscysxKTtjb25zdCBpPXRoaXMuX2RhdGFIYW5kbGVNb2R1bGVbZV0uYXBwbHkodGhpcy5fZGF0YUhhbmRsZU1vZHVsZSx0KSxkPXttOmUscDooMCxuLmRlZmF1bHQpKGkpfSxjPWQubS5pbmNsdWRlcygic3R1ZHkiKSYmZC5wWzVdO2MmJmZ1bmN0aW9uKGUpe2lmKCEoMCx1LmlzT2JqZWN0KShlKSlyZXR1cm4hMTtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhlKSl7Y29uc3Qgcz1lW3RdO2lmKCEoKDAsdS5pc09iamVjdCkocyl8fCgwLHIuZGVmYXVsdCkocyl8fCgwLG8uZGVmYXVsdCkocyl8fCgwLGEuZGVmYXVsdCkocykpKXJldHVybiExfXJldHVybiEwfShjKSYmInRleHQiaW4gYyYmKGMudGV4dD1jLnRleHQuc2xpY2UoMCwxMCkpO2NvbnN0IGw9SlNPTi5zdHJpbmdpZnkoZCk7aWYoaS5sZW5ndGg+MCl7Y29uc3QgZT1pWzBdO2Uuc3RhcnRzV2l0aCgicXNfIik/Vi5sb2dOb3JtYWwoInNlbmQ6ICIrbCk6ZS5zdGFydHNXaXRoKCJjc18iKSYmQi5sb2dOb3JtYWwoInNlbmQ6ICIrbCw0MDk2KX1lbHNlIEEubG9nTm9ybWFsKCJzZW5kOiAiK2wpO2NvbnN0IGg9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRW5jb2RlTWVzc2FnZShlLGkpO3JldHVybiB0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNlbmQoaCl9X29uQ29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGVkKCkpcmV0dXJuO2lmKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3Q9MCx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zfHx7fSx0aGlzLl9hdXRoVG9rZW5EZmQ9dGhpcy5fZ2V0QXV0aFRva2VuRGZkKHRoaXMuX2Nvbm5lY3RPbmx5T3B0aW9ucy50b2tlbkdyYWJTZXNzaW9uKSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9e30sdGhpcy5zZXNzaW9uaWQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRTZXNzaW9uSWQoKSwhdGhpcy5zZXNzaW9uaWR8fHRoaXMuX2lzQ29ubmVjdGVkKXJldHVybjt0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZT1bXSx0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudD0wLHRoaXMuX3N0dWR5Q291bnRlcj17fSx0aGlzLl9jaGlsZFN0dWR5Q291bnRlcj17fSx0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXI9e30sdGhpcy5fc3R1ZHlTcGVjcy5jbGVhcigpLHRoaXMuX2lzQ29ubmVjdGVkPSEwLHRoaXMuX2JhbkluZm8uc2V0VmFsdWUobnVsbCksdGhpcy5fY29ubmVjdGlvbnNMaW1pdFJlYWNoZWQuc2V0VmFsdWUoITEpO2NvbnN0IGU9SlNPTi5wYXJzZSh0aGlzLnNlc3Npb25pZCk7dGhpcy5fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCksdGhpcy5fbWV0YWRhdGFTZXJ2ZXJIYXNoPWUuc3R1ZGllc19tZXRhZGF0YV9oYXNofHxudWxsO2NvbnN0IHQ9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKTt0cnl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1NYXRoLnJvdW5kKGUudGltZXN0YW1wTXMtdCl9Y2F0Y2goZSl7dGhpcy5fc2VydmVyVGltZUJhc2VQb2ludD1EYXRlLm5vdygpLXBlcmZvcm1hbmNlLm5vdygpfWlmKEEubG9nSW5mbygiVGltZSBzaGlmdCB3aXRoIHNlcnZlcjogIit0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLURhdGUubm93KCkpKSx0aGlzLl9hdXRoVG9rZW5EZmQpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50Kz0xLEEubG9nSW5mbygiV2FpdCBmb3IgYXV0aCB0b2tlbiBiZWZvcmUgc2VuZCBtZXNzYWdlcyIpO2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuRGZkO2UudGhlbigodD0+e2lmKG51bGwhPT10aGlzLl9hdXRoVG9rZW5EZmQmJnRoaXMuX2F1dGhUb2tlbkRmZD09PWUpe2lmKEEubG9nTm9ybWFsKCJBdXRoIHRva2VuIHJlcXVlc3QgaXMgZmluaXNoZWQsIHRva2VuOiAiK0Jvb2xlYW4odCkpLHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsLHQpe2NvbnN0IGU9W3ttZXRob2Q6InNldF9hdXRoX3Rva2VuIixhcmdzOlt0XX1dO2lmKFUpe2NvbnN0IHQ9d2luZG93LmluaXREYXRhJiZ3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm87dCYmZS5wdXNoKHttZXRob2Q6InNldF9sb2NhbGUiLGFyZ3M6W3QuaXNvLHQuZmxhZy50b1VwcGVyQ2FzZSgpXX0pfXRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLnVuc2hpZnQoLi4uZSl9dGhpcy5fb25TZW5kaW5nUXVldWVSZXF1ZXN0RmluaXNoZWQoKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMCx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkNvbm5lY3RlZCxwYXJhbXM6W119KX1lbHNlIEEubG9nTm9ybWFsKCJDb21lcyBhdXRoIHRva2VuIGFmdGVyIHJlcXVlc3RpbmcgbmV3IHRva2VuIG9yIGFmdGVyIHNvY2tldCBkaXNjb25uZWN0ZWQiKX0pKS5jYXRjaCgoZT0+e0EubG9nTm9ybWFsKCgwLFMuZXJyb3JUb1N0cmluZykoZSkpfSkpfWVsc2UgQS5sb2dXYXJuKCJEZWZlcnJlZCBhdXRoIHRva2VuIG9iamVjdCBpcyBub3QgdmFsaWQiKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMDsiIiE9PXRoaXMuX2Jyb2tlcklkJiZ0aGlzLl9zZW5kQnJva2VySWRUb1Nlc3Npb24odGhpcy5fYnJva2VySWQpO2NvbnN0IHM9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uU3RhcnQoKTtELnRlbGVtZXRyeS5zZXRTZXNzaW9uSW5mbyh0aGlzLnNlc3Npb25pZCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGVkIiksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIix7dmFsdWU6dC1zfSksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfY291bnRfZnJhbWUiLHt2YWx1ZTp0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldFJlY29ubmVjdENvdW50KCl9KSwKRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWRpcmVjdF9jb3VudF9mcmFtZSIse3ZhbHVlOnRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UmVkaXJlY3RDb3VudCgpfSksenx8KHo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOnN9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5yZXNldENvdW50ZXJzKCksY2xlYXJUaW1lb3V0KHRoaXMuX3RlbGVtZXRyeURpc2Nvbm5lY3RUaW1lb3V0KX1fZm9ybWF0VGltZShlKXtyZXR1cm5gJHsoZS8xZTMpLnRvRml4ZWQoMil9IHNlY29uZHMuYH1fZGlzcGF0Y2hOb3RpZmljYXRpb24oZSx0KXtpZigicmVxdWVzdF9kYXRhX3Byb2JsZW1zIj09PWUubWV0aG9kJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYilyZXR1cm4gdm9pZCB0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYihlLnBhcmFtcyk7aWYoZS5tZXRob2Q9PT1QLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuU3R1ZGllc01ldGFkYXRhJiZudWxsIT09dGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpcmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc2VkTWV0YWRhdGEoZSk7Y29uc3Qgcz1lLnBhcmFtcy5zaGlmdCgpO2lmKCF0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tzXSlyZXR1cm47aWYoInN5bWJvbF9yZXNvbHZlZCI9PT1lLm1ldGhvZCl7Y29uc3QgdD1lLnBhcmFtc1sxXS5mdWxsX25hbWU7RC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfcmVzb2x2ZWQiLHtjb3VudDoxLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pO2NvbnN0IG49RC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllc1sicmVzb2x2ZV9zeW1ib2xfIitzXTsibnVtYmVyIj09dHlwZW9mIG4mJkQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3Jlc29sdmVfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1uLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pfWlmKFsic2VyaWVzX2Vycm9yIiwic2VyaWVzX2NvbXBsZXRlZCJdLmluY2x1ZGVzKGUubWV0aG9kKSYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5sZW5ndGg+MCl7Y29uc3QgZT0iY3JlYXRlX3Nlcmllc18iK3MsdD1ELnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzLm1hcmtzLmluZGV4T2YoZSk7dD49MCYmRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5zcGxpY2UodCwxKX1HfHwic2VyaWVzX2Vycm9yIiE9PWUubWV0aG9kfHwoRz0hMCk7Y29uc3Qgbj10aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmdldENvbm5lY3Rpb25Fc3RhYmxpc2hlZCgpO2lmKG51bGwhPT1uJiYic2VyaWVzX2NvbXBsZXRlZCI9PT1lLm1ldGhvZCYmKEd8fChHPSEwLEQudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS1ufSksRC50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcz1bXSksSnx8KEo9ITAsRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJwYWdlX2Z1bGxfbG9hZF90aW1lX2ZyYW1lIix7dmFsdWU6d2luZG93LnBlcmZvcm1hbmNlLm5vdygpfSkpKSxzLnN0YXJ0c1dpdGgoImNzXyIpKXtsZXQgcz0icmVjdjogIit0OyJkYXRhX3VwZGF0ZSI9PT1lLm1ldGhvZD8ocz0oMCxsLmlzSGlnaFJhdGVFbmFibGVkKSgpP3M6cy5zbGljZSgwLDUwMCksTC5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKSk6InN0dWR5X2xvYWRpbmciPT09ZS5tZXRob2Q/Ty5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKToidGlja21hcmtfdXBkYXRlIj09PWUubWV0aG9kP1EubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKHMsZS50aW1lKSk6Qi5sb2dOb3JtYWwodGhpcy5fYXBwZW5kRHVyYXRpb24ocyxlLnRpbWUpKX1pZihzLnN0YXJ0c1dpdGgoInFzXyIpKXsoInF1b3RlX3N5bWJvbF9kYXRhIj09PWUubWV0aG9kPyQubG9nTm9ybWFsOlYubG9nTm9ybWFsKSgicmVjdjogIit0KX1zd2l0Y2goZS5tZXRob2Qpe2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZTp7Y29uc3QgdD10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZU9iamVjdHMoZSksbj10aGlzLl9kYXRhSGFuZGxlTW9kdWxlLmdldFRpbWVzY2FsZUNoYW5nZXNldChlKSxpPXRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShuKTt0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDpQLldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuVGltZVNjYWxlVXBkYXRlLHBhcmFtczppfSksdGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRGF0YVVwZGF0ZU9iamVjdHMocyx0LCgoZSx0LHMpPT57dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl9KSk7YnJlYWt9Y2FzZSJ0aWNrbWFya191cGRhdGUiOmNvbnN0IHQ9ey4uLnRoaXMuX2NvbnZlcnRUaW1lc2NhbGVSZXNwb25zZShlLnBhcmFtc1swXSksY2hhbmdlczpbXX07dGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZSxwYXJhbXM6dH0pO2JyZWFrO2Nhc2UgUC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLkRhdGFVcGRhdGU6e2NvbnN0IHQ9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXREYXRhVXBkYXRlT2JqZWN0cyhlKTt0aGlzLl9kYXRhSGFuZGxlTW9kdWxlLnByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhzLHQsKChlLHQscyk9Pnt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGUsdCxzKX0pKTticmVha31jYXNlImluZGV4X3VwZGF0ZSI6Zm9yKGNvbnN0IHQgaW4gZS5wYXJhbXNbMF0paWYoZS5wYXJhbXNbMF0uaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IG49e21ldGhvZDoiaW5kZXhfdXBkYXRlIiwKcGFyYW1zOmUucGFyYW1zWzBdW3RdfTt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCxuKX1icmVhaztjYXNlIFAuV2ViY2hhcnRSZXNwb25zZU1ldGhvZC5Dcml0aWNhbEVycm9yOkEubG9nSW5mbyhuZXcgRGF0ZSsiIGNyaXRpY2FsX2Vycm9yIHNlc3Npb246Iit0aGlzLnNlc3Npb25pZCsiIHJlYXNvbjoiK2UucGFyYW1zWzBdKSxELnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImNyaXRpY2FsX2Vycm9yIiksdGhpcy5fc2Vzc2lvbnNbc10ub25NZXNzYWdlKHttZXRob2Q6UC5XZWJjaGFydFJlc3BvbnNlTWV0aG9kLkNyaXRpY2FsRXJyb3IscGFyYW1zOmUucGFyYW1zfSk7YnJlYWs7Y2FzZSJ0aW1lc2NhbGVfY29tcGxldGVkIjpjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjpjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpjYXNlInF1b3RlX2NvbXBsZXRlZCI6Y2FzZSJkZXB0aF9zeW1ib2xfZXJyb3IiOmNhc2UiZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiOmNhc2UiZGQiOmNhc2UiZHB1IjpjYXNlImRlcHRoX2Jhcl9sYXN0X3ZhbHVlIjp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2Uoe21ldGhvZDplLm1ldGhvZCxwYXJhbXM6ZS5wYXJhbXN9KTticmVhaztjYXNlImNsZWFyX2RhdGEiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKHMsdCx7bWV0aG9kOlAuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5DbGVhckRhdGEscGFyYW1zOmUucGFyYW1zWzBdW3RdfSk7YnJlYWs7Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheVBvaW50OmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlSZXNvbHV0aW9uczpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGF0YUVuZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5SW5zdGFuY2VJZDpjYXNlIFAuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5RGVwdGg6Y2FzZSBQLldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheUVycm9yOmNhc2UgUC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlPazp0aGlzLl9zZXNzaW9uc1tzXS5vbk1lc3NhZ2UoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjpjb25zdCBuPWUucGFyYW1zWzRdO2UucGFyYW1zWzRdPW51bGw9PW4/bnVsbDooMCxfLmNvbnZlcnRTdHJUb1RpbWVGcmFtZSkobiksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjohZnVuY3Rpb24oZSl7aWYodm9pZCAwPT09ZS5jb3JyZWN0aW9ucyl7Y29uc3QgdD0oZS5zdWJzZXNzaW9ucz8/W10pLmZpbmQoKHQ9PnQuaWQ9PT1lLnN1YnNlc3Npb25faWQpKTt2b2lkIDAhPT10JiYoZS5jb3JyZWN0aW9ucz10WyJzZXNzaW9uLWNvcnJlY3Rpb24iXSl9fShlLnBhcmFtc1sxXSksdGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihzLGUucGFyYW1zWzBdLGUpfX1fbm90aWZ5U2Vzc2lvbnMoZSl7Zm9yKGNvbnN0IHQgaW4gdGhpcy5fc2Vzc2lvbnMpaWYodGhpcy5fc2Vzc2lvbnMuaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IHM9dGhpcy5fc2Vzc2lvbnNbdF07ImZ1bmN0aW9uIj09dHlwZW9mIHMub25NZXNzYWdlJiZzLm9uTWVzc2FnZShlKX19X29uTWVzc2FnZShlKXtqJiZ0aGlzLl9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oIkF1dGhUb2tlbiBpbnZhbGlkYXRpb24gZGV0ZWN0ZWQgb24gcmVjZWl2aW5nIGEgbWVzc2FnZSwgcmVxdWVzdGluZyBuZXcgdG9rZW4iKSx0aGlzLl9jYWxjVHJhZmZpY1N0YXRzKGUpO2NvbnN0IHQ9dGhpcy51bnBhY2soZSk7dGhpcy5fcmVjZWl2ZWRNZXRob2RzQ291bnRlcnMuc2V0KHQubWV0aG9kLCh0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVycy5nZXQodC5tZXRob2QpPz8wKSsxKSwidF9tcyJpbiB0JiYoMCxvLmRlZmF1bHQpKHQudF9tcykmJndpbmRvdy5DaGFydEFwaUluc3RhbmNlLmNvbXBlbnNhdGVDb25uZWN0aW9uTGFnKHQudF9tcyksInByb3RvY29sX3N3aXRjaGVkIiE9PXQubWV0aG9kPyJwcm90b2NvbF9lcnJvciIhPT10Lm1ldGhvZD90aGlzLl9kaXNwYXRjaE5vdGlmaWNhdGlvbih0LGUpOnRoaXMuX3Byb2Nlc3NQcm90b2NvbEVycm9yKHQpOkEubG9nRXJyb3IoIlVuZXhwZWN0ZWQgcHJvdG9jb2wgY2hhbmdpbmcgcmVxdWVzdCwgdHJ5IHNraXBwaW5nLiBSZXF1ZXN0ZWQgcHJvdG9jb2w6Iit0LnBhcmFtc1swXSl9YXN5bmMgX3Byb2Nlc3NlZE1ldGFkYXRhKGUpe2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz1hd2FpdCB0aGlzLl9pbml0Q2FjaGVQcm9taXNlLGk9d2luZG93LnByby5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTt0cnl7YXdhaXQgcy5zZXRWYWx1ZShpZSwoMCxuLmRlZmF1bHQpKGUpKTtjb25zdCByPUFycmF5LmZyb20obmV3IFNldChlLnBhcmFtc1sxXS5tZXRhaW5mby5tYXAoKGU9PntyZXR1cm5gJHsodD0oMCxwLnBhcnNlSWRTdHJpbmcpKGUuaWQpKS5wYWNrYWdlSWR9LSR7dC52ZXJzaW9ufWA7dmFyIHR9KSkpKTtpZihBLmxvZ05vcm1hbChgVXBkYXRlZCBzdHVkaWVzX21ldGFkYXRhIGNhY2hlLCB1bmlxdWUgcGFja2FnZSBpZHM6ICR7ci5qb2luKCIsICIpfWApLCFvKXRyeXthd2FpdCBzLnNldFZhbHVlKG5lLCgwLG4uZGVmYXVsdCkoaSkpLEEubG9nTm9ybWFsKCJVcGRhdGVkIHByb19oYXNoIGNhY2hlIil9Y2F0Y2goZSl7dC5yZWplY3QoKSxBLmxvZ0Vycm9yKCJDYW5ub3QgdXBkYXRlIHByb19oYXNoIGNhY2hlLCByZWFzb246ICIrZSl9fWNhdGNoKGUpe3QucmVqZWN0KCksCkEubG9nRXJyb3IoIkNhbm5vdCB1cGRhdGUgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgcmVhc29uOiAiK2UpfXQucmVzb2x2ZSgoMCxuLmRlZmF1bHQpKGUpKX1faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQscyl7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3Qgbj10aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XTt2b2lkIDAhPT1uJiYobi5zaW5nbGVTaG90JiZkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sbi5oYW5kbGVyPy4ocykpfV9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZSl7cmV0dXJuIHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuY29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpfV9hcHBlbmREdXJhdGlvbihlLHQpe3JldHVybiB0P2Ake2V9LCBkdXJhdGlvbjogJHt0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLTFlMyp0KX1gOmV9YXN5bmMgX3JlcXVlc3RNZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fbWFrZU5leHRSZXF1ZXN0SWQoKTt4LmxvZ05vcm1hbChgUmVxdWVzdGluZyBtZXRhaW5mbyAjJHtlfWApO2NvbnN0IHQ9KDAsZC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSkscz13aW5kb3cucHJvLGk9cy5oYXNoKCksbz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtBLmxvZ05vcm1hbCgiUmVxdWVzdGluZyBwcm8gaGFzaCIpO3RyeXtjb25zdCByPWF3YWl0IHRoaXMuX2luaXRDYWNoZVByb21pc2U7YXdhaXQgci5taWdyYXRlVmFsdWUoInByb19oYXNoIixuZSksYXdhaXQgci5taWdyYXRlVmFsdWUoc2UsaWUpO2NvbnN0IGE9YXdhaXQgci5nZXRWYWx1ZShuZSk7aWYobnVsbCE9PWEmJmE9PT1pfHxvKXtBLmxvZ05vcm1hbCgiUHJvIGhhc2ggaGFzIG5vdCBjaGFuZ2VkLCByZXF1ZXN0aW5nIGZyb20gbG9jYWwiKTtjb25zdCBvPWF3YWl0IHIuZ2V0VmFsdWUoaWUpLGE9bnVsbCE9PW8mJm8ucGFyYW1zWzFdLmhhc2h8fG51bGw7aWYobnVsbD09PWF8fG51bGw9PT10aGlzLl9tZXRhZGF0YVNlcnZlckhhc2h8fHRoaXMuX21ldGFkYXRhU2VydmVySGFzaCE9PWEpQS5sb2dOb3JtYWwoYE1ldGFkYXRhIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBzZXJ2ZXI6ICcke3RoaXMuX21ldGFkYXRhU2VydmVySGFzaH0nKWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSk7ZWxzZXtpZighcy5oYXNQYWNrYWdlKCJ0di12b2x1bWVieXByaWNlIil8fHZvaWQgMCE9PW8ucGFyYW1zWzFdLm1ldGFpbmZvLmZpbmQoKGU9PmUuaWQuaW5jbHVkZXMoIkB0di12b2x1bWVieXByaWNlIikpKSlyZXR1cm4gQS5sb2dOb3JtYWwoIlVzaW5nIHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBicm93c2VyIGNhY2hlIiksdm9pZCB0LnJlc29sdmUoKDAsbi5kZWZhdWx0KShvKSk7QS5sb2dOb3JtYWwoYERlLXN5bmMgZGV0ZWN0ZWQhIHByby5oYXNoIGNvbnRhaW5zIFZiUFIgc3R1ZGllcywgYnV0IGRhdGEgZnJvbSBjYWNoZSBkb2Vzbid0IGFuZCBwcm8uaGFzaCBpc24ndCBjaGFuZ2VkLCBwcm8uaGFzaD0ke2l9YCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX19ZWxzZSBBLmxvZ05vcm1hbChgUHJvIGhhc2ggaGFzIGNoYW5nZWQgKGNhY2hlZDogJyR7YX0nLCBjdXJyZW50OiAnJHtpfScpYCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX1jYXRjaCh0KXtBLmxvZ0Vycm9yKCJDYW5ub3QgZ2V0IHN0dWRpZXNfbWV0YWRhdGEsIHJlYXNvbjogIit0KSx0aGlzLl9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpfWZpbmFsbHl7eC5sb2dOb3JtYWwoYFJlcXVlc3Rpbmcgc3R1ZGllcyBtZXRhZGF0YSAjJHtlfSBmaW5pc2hlZGApfX1fbWFrZU5leHRSZXF1ZXN0SWQoKXtyZXR1cm4ibWV0YWRhdGFfIit0aGlzLl9tZXRhZGF0YVJlcXVlc3ROZXh0TnVtYmVyKyt9X3Byb2Nlc3NQcm90b2NvbEVycm9yKGUpe2NvbnN0IHQ9ZS5wYXJhbXNbMF07QS5sb2dFcnJvcihgUHJvdG9jb2wgZXJyb3IuIFJlYXNvbj0ke3R9LmApLCJiYW5uZWQiIT09dCYmImJhbm5lZCBieSB1c2VyX2lkIiE9PXQmJiJiYW5uZWQgYnkgaXAiIT09dHx8KHRoaXMuX2JhbkluZm8uc2V0VmFsdWUoe3JlYXNvbjp0fSksdGhpcy5kaXNjb25uZWN0KCkpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnNldFZhbHVlKCJ1c2VyIGNvbm5lY3Rpb25zIGxpbWl0IHJlYWNoZWQiPT09dCl9X3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl7cmV0dXJuIEEubG9nTm9ybWFsKCJSZXF1ZXN0IHN0dWRpZXNfbWV0YWRhdGEgZnJvbSBzZXJ2ZXIiKSx0aGlzLl9zZW5kUmVxdWVzdCgicmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhIixbZV0pfV9iaW5kU29ja2V0RXZlbnRzKCl7dGhpcy5jb25uZWN0RGZkPW5ldyBQcm9taXNlKCgoZSx0KT0+e3RoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub24oImNvbm5lY3QiLCgoKT0+e3RoaXMuX29uQ29ubmVjdCgpLGUoKX0pKSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLm9uKCJtZXNzYWdlIix0aGlzLl9vbk1lc3NhZ2UuYmluZCh0aGlzKSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vbigiZGlzY29ubmVjdCIsKCgpPT57dGhpcy5fYXV0aFRva2VuRGZkJiYodGhpcy5fYXV0aFRva2VuRGZkPW51bGwpLHRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2smJnRoaXMuX29uRGF0YVByb2JsZW1zUHJvbWlzZUVycmJhY2soKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9ub3RpZnlTZXNzaW9ucyh7bWV0aG9kOmguQ2hhcnRBcGlNZXNzYWdlTWV0aG9kLkRpc2Nvbm5lY3RlZCxwYXJhbXM6W119KSx0aGlzLl9iYW5JbmZvLnZhbHVlKCl8fCh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsKSx0aGlzLl9kaXNjb25uZWN0Q291bnQ9KHRoaXMuX2Rpc2Nvbm5lY3RDb3VudHx8MCkrMSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLmlzQ29ubmVjdGVkKCkmJih0aGlzLl90ZWxlbWV0cnlEaXNjb25uZWN0VGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e0QudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgiZGlzY29ubmVjdCIpfSksNWUzKSwKdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc01heFJlY29ubmVjdHMoKSYmKHRoaXMuX25vdGlmeVNlc3Npb25zKHttZXRob2Q6aC5DaGFydEFwaU1lc3NhZ2VNZXRob2QuUmVjb25uZWN0QmFpbG91dCxwYXJhbXM6W119KSx0KCksRC50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfYmFpbG91dCIpKSl9KSl9KSl9X2NhbGNUcmFmZmljU3RhdHMoZSl7Y29uc3QgdD1lLmxlbmd0aDt0aGlzLl90cmFmZmljU3RhdHMudG90YWwrPXQsdGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCs9dCx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKz10fV9zZW5kQnJva2VySWRUb1Nlc3Npb24oZSl7cmV0dXJuIVd8fHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfYnJva2VyIixbZV0pfV9lbmFibGVMb3dRdWFsaXR5TW9kZSgpe0EubG9nTm9ybWFsKCJsb3cgcXVhbGl0eSBtb2RlIGlzIGVuYWJsZWQiKSx0aGlzLl9sb3dRdWFsaXR5RW5hYmxlZD0hMCx0aGlzLl9zZW5kTG93UXVhbGl0eU1vZGVJZkVuYWJsZWQoKX1fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCl7dGhpcy5fbG93UXVhbGl0eUVuYWJsZWQmJnRoaXMuY29ubmVjdGVkKCkmJnRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfZGF0YV9xdWFsaXR5IixbXSl9X2dldEF1dGhUb2tlbkRmZChlKXtpZih0aGlzLl9sb2FkTmV3QmFycylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJsb2FkX25ld190b2tlbiIpO2lmKCgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwtMSE9PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIil8fC0xIT09d2luZG93LmxvY2F0aW9uLmhhc2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIikpe2NvbnN0IGU9d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiO3JldHVybiBQcm9taXNlLnJlc29sdmUoYltlXXx8IndpZGdldF91c2VyX3Rva2VuIil9aWYoIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybiBQcm9taXNlLnJlc29sdmUoInVuYXV0aG9yaXplZF91c2VyX3Rva2VuIik7aWYoIXRoaXMuX2F1dGhUb2tlbk1hbmFnZXIpe2NvbnN0IGU9dGhpcy5fYXV0aFRva2VuTWFuYWdlcj1uZXcgZi5BdXRoVG9rZW47ZS5pbnZhbGlkYXRlZC5zdWJzY3JpYmUobnVsbCwoYXN5bmMoKT0+e3RyeXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCs9MTtjb25zdCB0PWF3YWl0IGUuZ2V0KCk7aWYoIXQpcmV0dXJuIHZvaWQgQS5sb2dJbmZvKCJBdXRoVG9rZW4gaW52YWxpZGF0ZWQsIGJ1dCBuZXcgdG9rZW4gaXMgZW1wdHkiKTtpZighdGhpcy5jb25uZWN0ZWQoKSlyZXR1cm4gdm9pZCBBLmxvZ0luZm8oYEF1dGhUb2tlbiBpbnZhbGlkYXRlZCwgYnV0IHNvY2tldCBpcyBub3QgY29ubmVjdGVkLiBUb2tlbjogJHt0fWApO0EubG9nSW5mbygiQXV0aFRva2VuIGludmFsaWRhdGVkLCByZWZyZXNoaW5nIHRva2VuIGFuZCByZXNlbmRpbmcgdG8gc2Vzc2lvbiIpLHRoaXMuX3NlbmRSZXF1ZXN0SW1wbCgic2V0X2F1dGhfdG9rZW4iLFt0XSl9Y2F0Y2goZSl7dGhyb3cgQS5sb2dFcnJvcihgRmFpbGVkIHRvIHJlZnJlc2ggYXV0aCB0b2tlbiBhZnRlciBpbnZhbGlkYXRpb246ICR7KDAsUy5lcnJvclRvU3RyaW5nKShlKX1gKSxlfWZpbmFsbHl7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQtPTEsMD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZlLmN1cnJlbnRUb2tlbklzVmFsaWQoKSYmdGhpcy5fZmx1c2hQZW5kaW5nTWVzc2FnZXMoKX19KSl9cmV0dXJuIHRoaXMuX2F1dGhUb2tlbk1hbmFnZXIuZ2V0KGUpfV9vblNlbmRpbmdRdWV1ZVJlcXVlc3RGaW5pc2hlZCgpe3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50LT0xLEEubG9nSW5mbyhgU2VuZGluZyBxdWV1ZSByZXF1ZXN0IGZpbmlzaGVkLiBSZW1haW5pbmcgcGVuZGluZyByZXF1ZXN0cz0ke3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50fWApLHRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50PDAmJkEubG9nRXJyb3IoYEludmFsaWQgcXVldWUgc3RhdGU9JHt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudH1gKSwwPT09dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQmJnRoaXMuX2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl9X2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl7QS5sb2dJbmZvKGBGbHVzaCBwZW5kaW5nIG1lc3NhZ2VzLiBDb3VudD0ke3RoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlLmxlbmd0aH1gKSx0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5mb3JFYWNoKChlPT50aGlzLl9zZW5kUmVxdWVzdChlLm1ldGhvZCxlLmFyZ3MpKSksdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W119fSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93LkNoYXJ0QXBpSW5zdGFuY2U9bmV3IGRlKHdpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uKSl9LDg4OTUxNShlLHQscyl7cy5kKHQse3Nob3dUb29NYW55U3R1ZGllc05vdGljZTooKT0+b30pO3ZhciBuPXMoMTg1MjcxKSxpPXMoMjM0OTY0KTtmdW5jdGlvbiBvKGUpeygwLGkuc2hvd1dhcm5pbmcpKHt0aXRsZTpuLnQobnVsbCx2b2lkIDAscyg5MzcwMTcpKSx0ZXh0Om4udChudWxsLHtyZXBsYWNlOntudW1iZXI6YCR7ZX1gfX0scyg5OTIzNjIpKX0pfX19XSk7"}},"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/90741.af2b48170d64547408ff.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.348Z","timestamp":1785136901348,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/90741.af2b48170d64547408ff.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-8800\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 25260a633b059f3a4d32910e1a111f22\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34816,"size_decoded":6493,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (34816), with no line terminators","md5":"397df641db9c72f75974df50d0ea576c","sha1":"d1064650fc562fa19960f953f2ec569aa4cd6305","sha256":"b0d61a1080fb8d0f614dcf7b4b96cf28b1ce834dc3b327efeb2d408ed9ba0759","sha512":"bb92033b33407fc3bdbe519ca24b7c1a576b974c7057d61212e9108ff03783af1fe63ea696e98c25332e6b41e1a7a35bbbedf7e71cf6193997d6ae884719480a","ssdeep":"384:TJgnHqCXVElvht/waL2Ws7Zp5Ijjyrr0dS0W4BH+m8S/2WU:TJgnHqCKz/8G7+mY","tlshash":"20f2f04e8e9ce7254603416d2dc27588e32e954eb05a33ffe2ad539e0dd69b182f142f","first_seen":"2026-07-20T16:56:18.360342Z","last_seen":"2026-07-28T06:17:53.573859Z","times_seen":121,"resource_available":false,"data":"LnBhbmVDb250cm9scy1FeHp4OUlBWntwb2ludGVyLWV2ZW50czphbGw7cG9zaXRpb246c3RhdGljO3RyYW5zaXRpb246b3BhY2l0eSAuNHMsdmlzaWJpbGl0eSAuNHM7ei1pbmRleDo3fS5wYW5lQ29udHJvbHNfaGlkZGVuLUV4eng5SUFae29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Zpc2liaWxpdHk6aGlkZGVufS5wYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4tRXh6eDlJQVp7aGVpZ2h0OjA7bGluZS1oZWlnaHQ6MDt3aWR0aDowfS5wYW5lQ29udHJvbHNfcmVtb3ZlLUV4eng5SUFae2Rpc3BsYXk6bm9uZX0uYnV0dG9ucy1FeHp4OUlBWntjb2x1bW4tZ2FwOjRweDtmbGV4LXdyYXA6bm93cmFwfS5idXR0b24tRXh6eDlJQVosLmJ1dHRvbnMtRXh6eDlJQVp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvfS5idXR0b24tRXh6eDlJQVp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApfX0uYnV0dG9uLUV4eng5SUFaOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfS5idXR0b25fYWN0aXZhdGVkLUV4eng5SUFae2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApfX0uYnV0dG9uLUV4eng5SUFaOmFjdGl2ZSwuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWntib3JkZXItd2lkdGg6MH0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tRXh6eDlJQVp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbi1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tRXh6eDlJQVo6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b25fYWN0aXZhdGVkLUV4eng5SUFaOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9fS50b3VjaE1vZGUtRXh6eDlJQVogLmJ1dHRvbi1FeHp4OUlBWntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29sbGFwc2UtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtdXAsLm1heGltaXplLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwe2FuaW1hdGlvbjptYXhpbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX0uY29sbGFwc2UtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93biwubWF4aW1pemUtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93bnthbmltYXRpb246bWF4aW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX19LmNvbGxhcHNlLUV4eng5SUFaIC5icmFja2V0LWRvd24sLmNvbGxhcHNlLUV4eng5SUFaIC5icmFja2V0LXVwLC5tYXhpbWl6ZS1FeHp4OUlBWiAuYnJhY2tldC1kb3duLC5tYXhpbWl6ZS1FeHp4OUlBWiAuYnJhY2tldC11cHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1Aa2V5ZnJhbWVzIG1heGltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfX1Aa2V5ZnJhbWVzIG1heGltaXplLWFuaW1hdGlvbi1kb3duLWJyYWNrZXQtRXh6eDlJQVp7NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1pbmltaXplLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwLC5yZXN0b3JlLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwe2FuaW1hdGlvbjptaW5pbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX0ubWluaW1pemUtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93biwucmVzdG9yZS1FeHp4OUlBWjpob3ZlciAuYnJhY2tldC1kb3due2FuaW1hdGlvbjptaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0LUV4eng5SUFaIC42cyBlYXNlfX0ubWluaW1pemUtRXh6eDlJQVogLmJyYWNrZXQtZG93biwubWluaW1pemUtRXh6eDlJQVogLmJyYWNrZXQtdXAsLnJlc3RvcmUtRXh6eDlJQVogLmJyYWNrZXQtZG93biwucmVzdG9yZS1FeHp4OUlBWiAuYnJhY2tldC11cHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1Aa2V5ZnJhbWVzIG1pbmltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX19QGtleWZyYW1lcyBtaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVwLUV4eng5SUFaOmhvdmVyIC5idXR0b25JY29uLUV4eng5SUFae2FuaW1hdGlvbjp1cC1hbmltYXRpb24tRXh6eDlJQVogLjZzIGVhc2V9fUBrZXlmcmFtZXMgdXAtYW5pbWF0aW9uLUV4eng5SUFaezAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5kb3duLUV4eng5SUFaOmhvdmVyIC5idXR0b25JY29uLUV4eng5SUFae2FuaW1hdGlvbjpkb3duLWFuaW1hdGlvbi1FeHp4OUlBWiAuNnMgZWFzZX19QGtleWZyYW1lcyBkb3duLWFuaW1hdGlvbi1FeHp4OUlBWnswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KX19LmJsb2NrSGlkZGVuLUxjWWRvMk42e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnBhbmUtYnV0dG9uLUxjWWRvMk42e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7Ym9yZGVyLXJhZGl1czozcHg7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wYW5lLWJ1dHRvbi1MY1lkbzJONjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtib3JkZXItcmFkaXVzOjNweDtib3R0b206MDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDowfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wYW5lLWJ1dHRvbi1MY1lkbzJONntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnBhbmUtYnV0dG9uLUxjWWRvMk42OmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfX0uY29udHJvbC1iYXItd3JhcHBlcntkaXJlY3Rpb246bHRyO2hlaWdodDoyNHB4O3BhZGRpbmc6NXB4IDA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjF9LmNvbnRyb2wtYmFyLXdyYXBwZXItLWJhY2stcHJlc2VudHtyaWdodDoycHh9LmNvbnRyb2wtYmFye2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzLHZpc2liaWxpdHkgLjNzO3Zpc2liaWxpdHk6dmlzaWJsZX0uY29udHJvbC1iYXItLWhpZGRlbiwuY29udHJvbC1iYXItLWhpZGRlbiAuY29udHJvbC1iYXJfX2J0bntvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59LmNvbnRyb2wtYmFyX19ncm91cHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21hcmdpbjowIDRweH0uY29udHJvbC1iYXJfX2J0bnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO2NvbG9yOnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQpO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCA0cHg7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG87dHJhbnNpdGlvbjpjb2xvciAuM3MsdmlzaWJpbGl0eSAuNHMsb3BhY2l0eSAuNHM7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlO3dpZHRoOjI0cHg7ei1pbmRleDoxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udHJvbC1iYXJfX2J0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCl9fS5jb250cm9sLWJhcl9fYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNpdGlvbjpub25lfS5jb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5jb250cm9sLWJhcl9fYnRuLS1idG4taGlkZGVue29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0uY29udHJvbC1iYXJfX2J0bi0tbW92ZS1sZWZ0IHN2Z3t0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmNvbnRyb2wtYmFyX19idG4tLW1vdmUtbGVmdCBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0uY29udHJvbC1iYXJfX2J0biBzdmcsLmxlZ2VuZC1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS5sZWdlbmQtWVRGSUo2Mmh7Y29sb3I6IzAwMDA7Y29udGFpbjpjb250ZW50O2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6bm9ybWFsO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3otaW5kZXg6Nn0ubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIC5pdGVtLVlURklKNjJoOm5vdCguaGlkZUludmlzaWJsZUhvdmVyLVlURklKNjJoKSAuYnV0dG9uLVlURklKNjJoe2Rpc3BsYXk6ZmxleH0ubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIC5pdGVtLVlURklKNjJoOm5vdCguaGlkZUludmlzaWJsZUhvdmVyLVlURklKNjJoKSAuYnV0dG9ucy1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czphdXRvfS5pdGVtLVlURklKNjJoe2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZToxM3B4O21heC13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MjRweDt6LWluZGV4OjF9Lml0ZW0tWVRGSUo2Mmguc2VsZWN0ZWQtWVRGSUo2MmgsLml0ZW0tWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaHt6LWluZGV4OjJ9Lml0ZW0tWVRGSUo2MmgubGFzdC1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7Ym9yZGVyLWNvbG9yOiMwMDAwO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MCAxcHg7Y29sdW1uLWdhcDo4cHg7Y3Vyc29yOmRlZmF1bHQ7bWF4LXdpZHRoOmZpdC1jb250ZW50O29yZGVyOjEwMDAwMDtwYWRkaW5nOjAgNHB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lml0ZW0tWVRGSUo2MmgubGFzdC1ZVEZJSjYyaCAuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQ6bm9uZX0uaXRlbS1ZVEZJSjYyaC5sYXN0LVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbjowfS5pdGVtLVlURklKNjJoLmxhc3QtWVRGSUo2MmggLnRleHQtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9Lml0ZW0tWVRGSUo2MmggLm5vV3JhcFdyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7bWF4LXdpZHRoOjEwMCV9Lm5vV3JhcC1ZVEZJSjYyaCAuaXRlbS1ZVEZJSjYyaHtmbGV4LXdyYXA6bm93cmFwfS5ub1dyYXAtWVRGSUo2MmggLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7YWxpZ24tc2VsZjphdXRvO2Rpc3BsYXk6YmxvY2t9Lm5vV3JhcC1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmhpZGVVbmlwb3J0YW50VmFsdWVJdGVtcy1ZVEZJSjYyaCAubm9XcmFwLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc0FkZGl0aW9uYWxXcmFwcGVyLVlURklKNjJoLnVuaW1wb3J0YW50LVlURklKNjJoe2Rpc3BsYXk6bm9uZX0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcn0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1zZWxmOmF1dG87Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7ZGlzcGxheTpibG9jazttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LndyYXBwYWJsZS1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoLml0ZW0tWVRGSUo2Mmh7ZmxleC13cmFwOndyYXB9LmRpcmVjdGlvbkNvbHVtbi1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoe2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kaXJlY3Rpb25Db2x1bW4tWVRGSUo2MmggLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7bWF4LXdpZHRoOjEwMCV9LmJ1dHRvbi1ZVEZJSjYyaCwuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoLC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmJ1dHRvbnMtWVRGSUo2MmgsLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5pdGVtLVlURklKNjJoLC5sb2dvV3JhcHBlci1ZVEZJSjYyaCwuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoLC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2MmgsLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbi1pbmxpbmUtZW5kOjRweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udGl0bGVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmlnaHQtd2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7ZmxleDoxIDE7bWF4LXdpZHRoOmZpdC1jb250ZW50O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgNHB4IDAgMXB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDotM30ubG9nb1dyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjE4cHh9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5wYWlyQ29udGFpbmVyLVlURklKNjJoe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5sb2dvLVlURklKNjJoe2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDpub25lO292ZXJmbG93OmhpZGRlbn0ubG9nb1dyYXBwZXItWVRGSUo2MmggLmxvZ28tWVRGSUo2MmggaW1ne2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5oaWRkZW4tWVRGSUo2MmgsLmxvZ29XcmFwcGVyLVlURklKNjJoLmhpZGRlbi1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9Lm5vQWN0aW9ucy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS50aXRsZXNHcm91cFdyYXBwZXItWVRGSUo2Mmh7Y29sdW1uLWdhcDo0cHg7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS50aXRsZVdyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO2NvbHVtbi1nYXA6NHB4O2Rpc3BsYXk6ZmxleDttaW4taGVpZ2h0OjIwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOm5vd3JhcH0udGl0bGVXcmFwcGVyLVlURklKNjJoIC50aXRsZS1ZVEZJSjYyaHthbGw6dW5zZXQ7ZGlyZWN0aW9uOmx0cjtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udGl0bGVXcmFwcGVyLVlURklKNjJoIC50aXRsZS1ZVEZJSjYyaDpkaXIocnRsKXtkaXJlY3Rpb246cnRsfS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1yYWRpdXM6M3B4O2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4Oi0yfS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpmaXJzdC1jaGlsZDphZnRlcntyaWdodDotNHB4fS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTphZnRlcntsZWZ0OjhweDtyaWdodDotNHB4fS50aXRsZVdyYXBwZXItWVRGSUo2Mmg6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjNweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRpdGxlV3JhcHBlci1ZVEZJSjYyaDpob3Zlci53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZX19LnRpdGxlV3JhcHBlci1ZVEZJSjYyaDphY3RpdmUud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlciwudGl0bGVXcmFwcGVyX19hY3RpdmUtWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApO3Zpc2liaWxpdHk6dmlzaWJsZX0uYWNjZXNzaWJsZS1ZVEZJSjYyaDpmb2N1c3tib3JkZXItcmFkaXVzOjJweCFpbXBvcnRhbnQ7b3V0bGluZToycHggc29saWQgdmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS5hY2Nlc3NpYmxlLVlURklKNjJoOmZvY3VzLXZpc2libGV7Ym9yZGVyLXJhZGl1czoycHghaW1wb3J0YW50O291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0uYWNjZXNzaWJsZS1ZVEZJSjYyaDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0uZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LmRpc2FibGVkLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsLmRpc2FibGVkLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCkhaW1wb3J0YW50fS5zdHVkeS1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLm1haW5UaXRsZS1ZVEZJSjYyaHtmbGV4OjAgMSBhdXRvO21pbi13aWR0aDoxNXB4fS5zdHVkeS1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLm1haW5UaXRsZS1ZVEZJSjYyaC53aXRoRG90LVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpe2ZsZXg6MCAzIGF1dG87cGFkZGluZy1sZWZ0OjEycHh9LnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgubWFpblRpdGxlLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3Jle2NvbG9yOnZhcigtLWxlZ2VuZC10aXRsZS1kb3QtY29sb3IsdmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCkpO2NvbnRlbnQ6IlxiNyI7aGVpZ2h0OjEwMCU7bGVmdDowO2xpbmUtaGVpZ2h0OmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjFweDt3aWR0aDoxMnB4O3otaW5kZXg6LTF9LnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKX0uc3R1ZHktWVRGSUo2MmguZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC5pbnB1dFRpdGxlLVlURklKNjJoLC5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC5pbnB1dFRpdGxlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfS5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLnN0dWR5LVlURklKNjJoLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCkhaW1wb3J0YW50fS5zdHVkeS1ZVEZJSjYyaC5oaWRlVmFsdWVzLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2Rpc3BsYXk6bm9uZX0ubGVnZW5kLVlURklKNjJoIC5zdHVkeS1ZVEZJSjYyaC5oYXM1QnV0dG9ucy1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwubGVnZW5kLVlURklKNjJoIC5zdHVkeS1ZVEZJSjYyaC5oYXM1QnV0dG9ucy1ZVEZJSjYyaC5zdGF5SW5Ib3ZlcmVkTW9kZS1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqNSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLnN0dWR5LVlURklKNjJoLmhhczVCdXR0b25zLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjUpfX0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDA7Ym9yZGVyLXRvcDoxcHggc29saWQgIzAwMDB9LmxvYWRlci1ZVEZJSjYyaHttYXJnaW4tbGVmdDo0cHh9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7Ym9yZGVyLWxlZnQtY29sb3I6IzAwMDB9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5ub1dyYXAtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwubm9XcmFwLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7ZGlzcGxheTppbmxpbmUtZmxleH0uaGlkZVVuaXBvcnRhbnRWYWx1ZUl0ZW1zLVlURklKNjJoIC5ub1dyYXAtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaC51bmltcG9ydGFudC1ZVEZJSjYyaCwuaGlkZVVuaXBvcnRhbnRWYWx1ZUl0ZW1zLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaC51bmltcG9ydGFudC1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi1oZWlnaHQ6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZX0uc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7bWluLXdpZHRoOjIzcHh9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjEycHh9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3Jle2NvbG9yOnZhcigtLWxlZ2VuZC10aXRsZS1kb3QtY29sb3IsdmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCkpO2NvbnRlbnQ6IlxiNyI7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjEwMCU7bGVmdDowO2xpbmUtaGVpZ2h0OmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjFweDt3aWR0aDoxMnB4O3otaW5kZXg6LTF9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmRlc2NUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgubWFpblRpdGxlLVlURklKNjJoe2ZsZXg6MCAxIGF1dG99LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmludGVydmFsVGl0bGUtWVRGSUo2Mmh7ZmxleDowIDEgYXV0bzttaW4td2lkdGg6YXV0b30uc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguZXhjaGFuZ2VUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgucHJpY2VTb3VyY2VUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgucHJvdmlkZXJUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmguc3R5bGVUaXRsZS1ZVEZJSjYyaHtmbGV4OjAgMyBhdXRvfS5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5zZXJpZXMtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaHttaW4td2lkdGg6MjNweH0ubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2Mmguc2VsZWN0ZWQtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmxlZ2VuZC1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxlZ2VuZC1ZVEZJSjYyaDpob3ZlciAuc2VyaWVzLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjMpfX0ubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmguZmxhZ2dlZC1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmguZmxhZ2dlZC1ZVEZJSjYyaC5zdGF5SW5Ib3ZlcmVkTW9kZS1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLnNlcmllcy1ZVEZJSjYyaC5mbGFnZ2VkLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjIpfX0uc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9uLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfS5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4fS5tZWRpdW0tWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnNlbGVjdGVkLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVyLC5tZWRpdW0tWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1lZGl1bS1ZVEZJSjYyaC5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLml0ZW0tWVRGSUo2Mmguc3R1ZHktWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMyl9fS5taW5pbWl6ZWQtWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnNlbGVjdGVkLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVyLC5taW5pbWl6ZWQtWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSoyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1pbmltaXplZC1ZVEZJSjYyaC5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLml0ZW0tWVRGSUo2Mmguc3R1ZHktWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9fS52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7Y3Vyc29yOmRlZmF1bHQ7ZmxleC13cmFwOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0udmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24tc2VsZjpzdHJldGNoO2JvcmRlci1sZWZ0OjRweCBzb2xpZDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0udmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmRpc2FibGVkLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2Rpc3BsYXk6bm9uZX0udmFsdWVJdGVtLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246bGVmdH0udmFsdWVJdGVtLVlURklKNjJoOmJlZm9yZXtjb250ZW50OnZhcigtLW5vdC1hdmFpbGFibGUtY29udGVudCwiMCIpO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDowfS52YWx1ZUl0ZW0tWVRGSUo2Mmg6bm90KDpsYXN0LWNoaWxkKXtwYWRkaW5nLXJpZ2h0OjZweH0udmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo0cHh9LnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaHtwYWRkaW5nLXJpZ2h0OjFweH0udmFsdWVJdGVtLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo2cHh9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGQgLnRpdGxlV3JhcHBlci1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfS5idXR0b25zV3JhcHBlci1ZVEZJSjYyaHttYXgtd2lkdGg6MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDowO3otaW5kZXg6Mn0ubWljcm8tWVRGSUo2MmggLml0ZW0tWVRGSUo2Mmguc2VyaWVzLVlURklKNjJoW2RhdGEtcWEtaWQ9bGVnZW5kLXNlcmllcy1pdGVtXSAuYnV0dG9uc1dyYXBwZXItWVRGSUo2Mmh7bWF4LXdpZHRoOjA7d2lkdGg6MH0uZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zV3JhcHBlci1ZVEZJSjYyaHttYXgtd2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCk7d2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCl9LmxpbmtlZC1ZVEZJSjYyaC5zZXJpZXMtWVRGSUo2Mmg6bm90KC5vbmx5T25lQnV0dG9uQ2FuQmVTdGljay1ZVEZJSjYyaCkgLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoe21heC13aWR0aDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjIpO3dpZHRoOmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9LmRpc2FibGVkLVlURklKNjJoLnNlcmllcy1ZVEZJSjYyaDpub3QoLm9ubHlPbmVCdXR0b25DYW5CZVN0aWNrLVlURklKNjJoKSAuYnV0dG9uc1dyYXBwZXItWVRGSUo2Mmh7bWF4LXdpZHRoOmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMyk7d2lkdGg6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX0uYnV0dG9ucy1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtc2hyaW5rOjA7b3BhY2l0eTowO3BhZGRpbmc6MDtwb2ludGVyLWV2ZW50czpub25lfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5saW5rZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLnRvdWNoTW9kZS1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtvcGFjaXR5OjF9Lm5vQWN0aW9ucy1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS5sZWdlbmQtWVRGSUo2MmggLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5sZWdlbmQtWVRGSUo2MmggLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5sZWdlbmQtWVRGSUo2MmggLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2Mmh7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmxlZ2VuZC1ZVEZJSjYyaCAuc2VsZWN0ZWQtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmxlZ2VuZC1ZVEZJSjYyaCAuc3RheUluSG92ZXJlZE1vZGUtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTBweCBhdCAwIDUwJSxjdXJyZW50Q29sb3IgMCwjMDAwMCAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSo0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O3dpZHRoOjE2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTBweCBhdCAwIDUwJSxjdXJyZW50Q29sb3IgMCwjMDAwMCAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSo0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O3dpZHRoOjE2cHh9fS5idXR0b24tWVRGSUo2Mmh7YWxsOnVuc2V0O2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCk7ei1pbmRleDowfS5idXR0b25JY29uLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLVlURklKNjJoOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMDttYXJnaW4tcmlnaHQ6MXB4fS5idXR0b24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtib3JkZXItcmFkaXVzOjJweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQ6MXB4IDA7cG9zaXRpb246YWJzb2x1dGU7dmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDotMX0uYnV0dG9uLVlURklKNjJoOmFjdGl2ZTphZnRlciwuYnV0dG9uX19hY3RpdmUtWVRGSUo2Mmg6YWZ0ZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLVlURklKNjJoOmhvdmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZX19LmJ1dHRvbi1ZVEZJSjYyaDphY3RpdmU6YWZ0ZXIsLmJ1dHRvbl9fYWN0aXZlLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9LmJ1dHRvbi1ZVEZJSjYyaC5mbGFnLVlURklKNjJoPnNwYW57bWFyZ2luLXRvcDotMXB4fS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX0ud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuYnV0dG9uLVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpLC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uc2VsZWN0ZWQtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLndpdGhBY3Rpb24tWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0uc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2Mmh7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTtib3JkZXItbGVmdDowfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKSwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmFuaW1hdGVkLWxvYWRpbmctZXllLC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmNyb3NzZWQtZXllLC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmxvYWRpbmctZXllLC5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoIC5hbmltYXRlZC1sb2FkaW5nLWV5ZSwuZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCAubG9hZGluZy1leWUsLmRpc2FibGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLm5vcm1hbC1leWUsLm1lZGl1bS1ZVEZJSjYyaCAuc3R1ZHktWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpudGgtY2hpbGQoMiksLm1lZGl1bS1ZVEZJSjYyaCAuc3R1ZHktWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMyl7ZGlzcGxheTpub25lfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoIC5jcm9zc2VkLWV5ZXtkaXNwbGF5OmJsb2NrfS5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmNyb3NzZWQtZXllLC5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLm5vcm1hbC1leWV7ZGlzcGxheTpub25lfS5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmFuaW1hdGVkLWxvYWRpbmctZXllLC5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmxvYWRpbmctZXlle2Rpc3BsYXk6YmxvY2t9LmV5ZUxvYWRpbmctWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCAuYW5pbWF0ZWQtbG9hZGluZy1leWV7YW5pbWF0aW9uOmV5ZS1hbmltYXRpb24tWVRGSUo2MmggLjk2cyBsaW5lYXIgaW5maW5pdGU7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9LmRpc2FibGVkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLmxpbmtlZC1ZVEZJSjYyaDpub3QoLnNlbGVjdGVkLVlURklKNjJoKTpub3QoLndpdGhBY3Rpb24tWVRGSUo2MmgpIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5saW5rZWQtWVRGSUo2Mmg6bm90KC5zZWxlY3RlZC1ZVEZJSjYyaCk6bm90KC53aXRoQWN0aW9uLVlURklKNjJoKSAuYnV0dG9ucy1ZVEZJSjYyaCAubGlua2luZy1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaDpub3QoLnNlbGVjdGVkLVlURklKNjJoKTpub3QoLndpdGhBY3Rpb24tWVRGSUo2MmgpIC5idXR0b25zLVlURklKNjJoIC5saW5raW5nLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoLC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5saW5rZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLmxpbmtlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAubGlua2luZy1ZVEZJSjYyaCwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmguZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmxpbmtpbmctWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoIC5hbmltYXRlZC1sb2FkaW5nLWV5ZSwuYnV0dG9ucy1ZVEZJSjYyaCAuaW50ZXJ2YWxFeWUtWVRGSUo2MmggLmxvYWRpbmctZXllLC5idXR0b25zLVlURklKNjJoIC5pbnRlcnZhbEV5ZS1ZVEZJSjYyaCAubm9ybWFsLWV5ZXtkaXNwbGF5Om5vbmV9LmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoIC5jcm9zc2VkLWV5ZXtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCl9LnNlbGVjdGVkLVlURklKNjJoLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaCAuZmxhZy1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoLmZsYWdnZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaC5saW5rZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5saW5rZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2Mmguc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC5mbGFnLVlURklKNjJoIC5idXR0b25JY29uLVlURklKNjJoe3Zpc2liaWxpdHk6dmlzaWJsZX0uZmxhZy1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaHthbGlnbi1zZWxmOnN0cmV0Y2g7ZmxleDoxfS5mbGFnV3JhcHBlci1ZVEZJSjYyaCwubWFya2VyQ29udGFpbmVyLVlURklKNjJoe2Rpc3BsYXk6ZmxleDtmbGV4OjE7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubWFya2VyQ29udGFpbmVyLVlURklKNjJoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9LmZsYWdXcmFwcGVyLVlURklKNjJoe3dpZHRoOjEycHh9LmZsYWdXcmFwcGVyLVlURklKNjJoIHN2Z3toZWlnaHQ6MTJweH0uc291cmNlc1dyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2U7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmV9LmxlZ2VuZE1haW5Tb3VyY2VXcmFwcGVyLVlURklKNjJoe3RleHQtYWxpZ246bGVmdH0uc291cmNlcy1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJX0udG9nZ2xlcldyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6OHB4O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWJsb2NrOjNweCAzcHg7cGFkZGluZy1pbmxpbmU6NXB4IDVweH0udG9nZ2xlcldyYXBwZXItWVRGSUo2MmggLnN0YXR1c2VzV3JhcHBlci1ZVEZJSjYyaHtiYWNrZ3JvdW5kOm5vbmV9LnRvZ2dsZXJXcmFwcGVyLVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo4cHggMH0udG9nZ2xlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87cGFkZGluZzowO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZX0udG9nZ2xlci1ZVEZJSjYyaC5vbmx5T25lU291cmNlU2hvd24tWVRGSUo2Mmh7ZGlzcGxheTpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudG9nZ2xlci1ZVEZJSjYyaDpob3ZlcjphZnRlcnt6LWluZGV4OjB9LnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXIgLmNvdW50ZXItWVRGSUo2MmgsLnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXIgLmljb25BcnJvdy1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1ibGFjayl9fS50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoe2NvbG9yOmluaGVyaXQ7ZGlzcGxheTpub25lO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZy1yaWdodDo0cHh9LnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNiwuNTIsMSwuNTQpO3dpZHRoOjI3cHh9LnRvZ2dsZXItWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2Mmh7ZGlzcGxheTpub25lO3dpZHRoOjE5cHh9LnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaCAub2JqZWN0VHJlZS1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjE5cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0udG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaCAuaWNvbkFycm93LVlURklKNjJoLC50b2dnbGVyLVlURklKNjJoIC5vYmplY3RUcmVlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0uY2xvc2VkLVlURklKNjJoLnNvdXJjZXNXcmFwcGVyLVlURklKNjJoe3BhZGRpbmctYm90dG9tOjRweH0uY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoe2Rpc3BsYXk6ZmxleH0uY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2Mmh7dHJhbnNmb3JtOnJvdGF0ZSgwKX0uY2xvc2VkLVlURklKNjJoOm5vdCguc2F2ZUFycm93V2lkdGgtWVRGSUo2MmgpIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNsb3NlZC1ZVEZJSjYyaDpub3QoLnNhdmVBcnJvd1dpZHRoLVlURklKNjJoKSAub2JqZWN0VHJlZS1ZVEZJSjYyaHt3aWR0aDoxOXB4fS5jbG9zZWQtWVRGSUo2MmggLnNvdXJjZXMtWVRGSUo2Mmh7ZGlzcGxheTpub25lfS5taWNyby1ZVEZJSjYyaCAuc291cmNlc1dyYXBwZXItWVRGSUo2Mmh7cGFkZGluZy1ib3R0b206NHB4fS5taWNyby1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaC5vYmplY3RzVHJlZUNhbkJlU2hvd24tWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoLm9iamVjdHNUcmVlQ2FuQmVTaG93bi1ZVEZJSjYyaC5vbmx5T25lU291cmNlU2hvd24tWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5taWNyby1ZVEZJSjYyaCAuY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoLC5taWNyby1ZVEZJSjYyaCAuY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC5zb3VyY2VzLVlURklKNjJoLC5taWNyby1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwubWljcm8tWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwubWljcm8tWVRGSUo2MmggLnRvZ2dsZXJXcmFwcGVyLVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpub25lfS50b3VjaE1vZGUtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmh7aGVpZ2h0OjI2cHg7bGluZS1oZWlnaHQ6MjVweH0udG91Y2hNb2RlLVlURklKNjJoIC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwudG91Y2hNb2RlLVlURklKNjJoIC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2JvdHRvbTo1cHg7dG9wOjVweH0udG91Y2hNb2RlLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmh7bWluLWhlaWdodDoyNnB4fS50b3VjaE1vZGUtWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwudG91Y2hNb2RlLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5vYmplY3RUcmVlLVlURklKNjJoe2hlaWdodDoyNHB4O3dpZHRoOjMwcHh9LnRvdWNoTW9kZS1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaHtmb250LXNpemU6MTRweH0udG91Y2hNb2RlLVlURklKNjJoIC5pdGVtLVlURklKNjJoe21pbi1oZWlnaHQ6MjZweH0udG91Y2hNb2RlLVlURklKNjJoIC5jbG9zZWQtWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2Mmh7d2lkdGg6MjRweH0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrey0tbGVnZW5kLXRpdGxlLWRvdC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5pdGVtLVlURklKNjJoLmxhc3QtWVRGSUo2MmggLnRleHQtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAubm9XcmFwLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC52YWx1ZVZhbHVlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudGl0bGVXcmFwcGVyLVlURklKNjJoOmFjdGl2ZS53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVyLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRpdGxlV3JhcHBlcl9fYWN0aXZlLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkLVlURklKNjJoIC52YWx1ZVZhbHVlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC53aXRoRG90LVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWQtWVRGSUo2Mmgud2l0aEN1c3RvbVRleHRDb2xvci1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC52YWx1ZVZhbHVlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnZhbHVlVGl0bGUtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCkhaW1wb3J0YW50fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmlucHV0VGl0bGUtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc3R1ZHktWVRGSUo2MmguZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmlucHV0VGl0bGUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCkhaW1wb3J0YW50fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbkljb24tWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VyaWVzLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVGl0bGUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbi1ZVEZJSjYyaDpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tWVRGSUo2Mmg6YWN0aXZlOmFmdGVyLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbl9fYWN0aXZlLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCksLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VsZWN0ZWQtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCksLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTcwMCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAuY291bnRlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50b2dnbGVyLVlURklKNjJoOmhvdmVyIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaCAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1Aa2V5ZnJhbWVzIGV5ZS1hbmltYXRpb24tWVRGSUo2Mmh7dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fTpyb290LnRoZW1lLWN1c3RvbSAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZWQtY29sb3ItbGVnZW5kLWJhY2tncm91bmQtdGVydGlhcnkpfTpyb290LnRoZW1lLWN1c3RvbSAuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsOnJvb3QudGhlbWUtY3VzdG9tIC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCw6cm9vdC50aGVtZS1jdXN0b20gLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsOnJvb3QudGhlbWUtY3VzdG9tIC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdGhlbWVkLWNvbG9yLWxlZ2VuZC1iYWNrZ3JvdW5kLXNlY29uZGFyeS1pbnZlcnNlKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7OnJvb3QudGhlbWUtY3VzdG9tIC5idXR0b24tWVRGSUo2Mmg6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZWQtY29sb3ItbGVnZW5kLWJhY2tncm91bmQtdGVydGlhcnkpfX0ubGVnZW5kQWN0aW9uQnV0dG9uLXEzTzZ6eklIe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.99124.7129e057c7444df25994.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.417Z","timestamp":1785136901417,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.99124.7129e057c7444df25994.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1544\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a891ed791bd8573543ff5d822dd532bd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5444,"size_decoded":2672,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3021)","md5":"d49ebbbc471ca07bc848bb880bb26d84","sha1":"20f220b0289d31bbccf6998d62734c26918d3d03","sha256":"fc21b6b03e6cd84b3deb28a311ba60e13595285aed15bc3a42f677c2d120e278","sha512":"181c814b0478736fdd60bf6d9ac6b02c54c72831c9e577659b4e9594ff60606ffef4a36c8cc5c951778a81751afb88afb907d9ec91a872f926ffa2219ec7ae79","ssdeep":"96:vl1zur72uG7PtLkKke9KRIKWOgIQHWokY/CIXni:tZur7fGjxgRIKQBrXi","tlshash":"7bb16513e140e1e61f72eb21b349edc4b8f4b19162f2e4c673596f65c11bc646838b75","first_seen":"2026-07-23T14:37:54.495318Z","last_seen":"2026-08-10T05:00:33.767219Z","times_seen":229,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjA4MCw5OTEyNF0sezk5NDAxNihlKXtlLmV4cG9ydHM9WyJDb21tdW5pdHkgcG9zdHMgZm9yIHtzeW1ib2x9Il19LDcxMzkwNShlKXtlLmV4cG9ydHM9WyJDb21tdW5pdHkiXX0sMjQ1MTQ3KGUpe2UuZXhwb3J0cz1bIkNvbnRyYWN0cyJdfSw2ODE5MjEoZSl7ZS5leHBvcnRzPVsiQ2hhcnQiXX0sMzM0NDE1KGUpe2UuZXhwb3J0cz1bIkFuYWx5c2lzIl19LDYxMjU1KGUpe2UuZXhwb3J0cz1bIkFzc2V0cyJdfSw2MDIxMTMoZSl7ZS5leHBvcnRzPVsiQm9uZHMiXX0sNzg3NDQyKGUpe2UuZXhwb3J0cz1bIkRvY3VtZW50cyJdfSw1NTgwNjcoZSl7ZS5leHBvcnRzPVsiRGVyaXZhdGl2ZXMiXX0sOTI3ODkoZSl7ZS5leHBvcnRzPVsiRVRGcyJdfSwzODg3ODYoZSl7ZS5leHBvcnRzPVsiRWNvbm9teSBpbmRpY2F0b3JzIl19LDUzNDAyNyhlKXtlLmV4cG9ydHM9WyJGb3JlY2FzdCJdfSw2Njg2ODAoZSl7ZS5leHBvcnRzPVsiRm9yd2FyZCBjdXJ2ZSJdfSwzODAxNTgoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFscyJdfSw5OTU2MDIoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWxzIl19LDk1NDExMShlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDg0MzUyMChlKXtlLmV4cG9ydHM9WyJOZXdzIl19LDM3ODc1MChlKXtlLmV4cG9ydHM9WyJTZWFzb25hbHMiXX0sOTIxNjQyKGUpe2UuZXhwb3J0cz1bIlByb2ZpbGUiXX0sMTIxMjcwKGUpe2UuZXhwb3J0cz1bIlRlY2huaWNhbHMiXX0sNjE2MTgwKGUpe2UuZXhwb3J0cz1bIllpZWxkIGN1cnZlIl19LDY2ODQ0OShlKXtlLmV4cG9ydHM9WyJhbmltYWxzICYgbmF0dXJlIl19LDU3NDcxNShlKXtlLmV4cG9ydHM9WyJhY3Rpdml0eSJdfSwxNDc1MDAoZSl7ZS5leHBvcnRzPVsiZm9vZCAmIGRyaW5rIl19LDE3NDE3OChlKXtlLmV4cG9ydHM9WyJmbGFncyJdfSw5NDMzOTMoZSl7ZS5leHBvcnRzPVsib2JqZWN0cyJdfSwzMDYwNzAoZSl7ZS5leHBvcnRzPVsic21pbGVzICYgcGVvcGxlIl19LDI3NjYwOShlKXtlLmV4cG9ydHM9WyJzeW1ib2xzIl19LDQ2NTQ1NihlKXtlLmV4cG9ydHM9WyJyZWNlbnRseSB1c2VkIl19LDEyMzEzOChlKXtlLmV4cG9ydHM9WyJ0cmF2ZWwgJiBwbGFjZXMiXX0sNTI3MShlKXtlLmV4cG9ydHM9WyJFVEZzIGZvciB7c3ltYm9sfSJdfSw3NjM5MzQoZSl7ZS5leHBvcnRzPVsiRG93bmxvYWQgY2hhcnQgZGF0YSJdfSw5MTA0NzYoZSl7ZS5leHBvcnRzPVsiRG90Il19LDU3MjIzOShlKXtlLmV4cG9ydHM9WyJBZGQgY3VzdG9tIGludGVydmFsIl19LDQ0MDI1MShlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNDI3NDQyKGUpe2UuZXhwb3J0cz1bIkRlZmF1bHQgdGVtcGxhdGVzIl19LDMyNTkxMChlKXtlLmV4cG9ydHM9WyJNeSB0ZW1wbGF0ZXMiXX0sNTE4MjQ5KGUpe2UuZXhwb3J0cz1bIlJlY2VudGx5IHVzZWQiXX0sMzkzMjczKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSJdfSwyMDI4OTEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMjY5MTcoZSl7ZS5leHBvcnRzPVsiSG91cnMiXX0sMzQ0NzQ3KGUpe2UuZXhwb3J0cz1bIk1vbnRocyJdfSwyMzA5MDkoZSl7ZS5leHBvcnRzPVsiTWludXRlcyJdfSw3NTI3MDAoZSl7ZS5leHBvcnRzPVsiU2Vjb25kcyJdfSwyODgwMzQoZSl7ZS5leHBvcnRzPVsiUmFuZ2VzIl19LDQzMzk5NChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw4NzAzMDEoZSl7ZS5leHBvcnRzPVsiVGlja3MiXX0sNjI5Mzg0KGUpe2UuZXhwb3J0cz1bIkZhdm9yaXRlIEluZGljYXRvcnMiXX0sNDM0MDc2KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIG5vIEZhdm9yaXRlcyBJbmRpY2F0b3JzIHlldCJdfSw1OTA4ODQoZSl7ZS5leHBvcnRzPVsiQ29weSBsaW5rIl19LDkzODQ5NyhlKXtlLmV4cG9ydHM9WyJDcmVhdGUgbmV3IGxheW91dCJdfSw0Nzk3MShlKXtlLmV4cG9ydHM9WyJBdXRvc2F2ZSJdfSw2MTM1MTYoZSl7ZS5leHBvcnRzPVsiT3BlbiBsYXlvdXQiXX0sMjI0ODkoZSl7ZS5leHBvcnRzPVsiU2hhcmUgbGF5b3V0Il19LDc0NTY3NihlKXtlLmV4cG9ydHM9WyJTaGFyaW5nIl19LDYyMzI0NChlKXtlLmV4cG9ydHM9WyJSZWNlbnRseSB1c2VkIl19LDU2NTQ1MShlKXtlLmV4cG9ydHM9WyJSZW5hbWUiXX0sMTAxNDM1KGUpe2UuZXhwb3J0cz1bIk5ld3MgZm9yIHtzeW1ib2x9Il19LDEyNDc2NihlKXtlLmV4cG9ydHM9WyJDb3B5IGltYWdlIl19LDQyMjg3MChlKXtlLmV4cG9ydHM9WyJDb3B5IGxpbmsiXX0sNjY3OTgxKGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHNuYXBzaG90Il19LDMzNjk5MyhlKXtlLmV4cG9ydHM9WyJEb3dubG9hZCBpbWFnZSJdfSw1ODUxMjgoZSl7ZS5leHBvcnRzPVsiU2hhcmUgdmlhIFN5bXBob255Il19LDU4MTg1MyhlKXtlLmV4cG9ydHM9WyJUd2VldCBpbWFnZSJdfSw0NzM3ODIoZSl7ZS5leHBvcnRzPVsiU2F2ZSJdfSw0NzUwMjgoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIGRhdGEgdHlwZSJdfSw2MDQwMShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgc2VhcmNoIl19LDY4NTU3NShlKXtlLmV4cG9ydHM9WyJQcm9maWxlIGZvciB7c3ltYm9sfSJdfSw0ODYzNjEoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIGFsZXJ0Il19LDg3MzgyMChlKXtlLmV4cG9ydHM9WyJDb21wYXJlIHN5bWJvbHMiXX0sMTMzOTcoZSl7ZS5leHBvcnRzPVsiRmF2b3JpdGUgaW5kaWNhdG9ycyJdfSwyNDQwODAoZSl7ZS5leHBvcnRzPVsiU2F2ZSBpbmRpY2F0b3IgdGVtcGxhdGUiXX0sOTA5ODQ3KGUpe2UuZXhwb3J0cz1bIlF1aWNrIHNlYXJjaCJdfSw0NTMyNjMoZSl7ZS5leHBvcnRzPVsicmVkbyB7aGludH0iXX0sNzMxNjQ5KGUpe2UuZXhwb3J0cz1bInVuZG8ge2hpbnR9Il19LDEyOTIxNChlKXtlLmV4cG9ydHM9WyJDb3B5Il19LDYwODk5MihlKXtlLmV4cG9ydHM9WyJDb3B5IGxpbmsiXX0sNjk0NjM3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IGludGVydmFsIl19LDczNzIxNShlKXtlLmV4cG9ydHM9WyJDcm9zc2hhaXIiXX0sMTI0NzgoZSl7CmUuZXhwb3J0cz1bIkNyb3NzaGFpciBpcyBzeW5jZWQgYWNyb3NzIGFsbCBjaGFydHMgd2l0aGluIHRoZSBsYXlvdXQiXX0sOTk1MjkoZSl7ZS5leHBvcnRzPVsiQWRkIHRvIGZhdm9yaXRlcyJdfSwxNjE3MzUoZSl7ZS5leHBvcnRzPVsiQWxlcnQiXX0sMzkzOShlKXtlLmV4cG9ydHM9WyJBbGwgY2hhbmdlcyBzYXZlZCJdfSw1NTYzOTkoZSl7ZS5leHBvcnRzPVsiQXV0b3NhdmUiXX0sODkzNTc2KGUpe2UuZXhwb3J0cz1bIkJvbmRzIGZvciB7c3ltYm9sfSJdfSw4MzM5MzQoZSl7ZS5leHBvcnRzPVsiQmFyJ3Mgc3R5bGUiXX0sNzUxMjgzKGUpe2UuZXhwb3J0cz1bIkRvY3VtZW50cyBmb3Ige3N5bWJvbH0iXX0sNDI3NDk0KGUpe2UuZXhwb3J0cz1bIkRhdGUgcmFuZ2UiXX0sMTA0NTU5KGUpe2UuZXhwb3J0cz1bIkRhdGUgcmFuZ2UgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDQzNTgxMyhlKXtlLmV4cG9ydHM9WyJEZWZhdWx0IHRlbXBsYXRlcyJdfSwyNTM1MyhlKXtlLmV4cG9ydHM9WyJFY29ub215IGluZGljYXRvcnMiXX0sNjY2OTQ0KGUpe2UuZXhwb3J0cz1bIkV2ZXJ5b25lIHdpdGggdGhlIGxpbmsgY2FuIHZpZXcgYW5kIGNvcHkiXX0sNDUwMTY2KGUpe2UuZXhwb3J0cz1bIkZvcmVjYXN0IGZvciB7c3ltYm9sfSJdfSw1MjI5MTEoZSl7ZS5leHBvcnRzPVsiRnVsbHNjcmVlbiBtb2RlIl19LDEyNzU2OShlKXtlLmV4cG9ydHM9WyJJbnRlcnZhbCJdfSw0MDU5NDYoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWwgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDYxNjkoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9yIHRlbXBsYXRlcyJdfSw4NDgzOTQoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyJdfSwxNzQ0ODIoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycywgbWV0cmljcywgYW5kIHN0cmF0ZWdpZXMiXX0sNDEyNzc2KGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMgZm9yIHtzeW1ib2x9Il19LDgwNjYzNihlKXtlLmV4cG9ydHM9WyJPcGVuIHRlbXBsYXRlIl19LDc1NjAwOShlKXtlLmV4cG9ydHM9WyJPcGVuIGNoYXJ0IGluIHBvcHVwIl19LDE0ODg4OShlKXtlLmV4cG9ydHM9WyJPcGVuIGluIG5ldyB0YWIiXX0sMjQyOTEzKGUpe2UuZXhwb3J0cz1bIkxvYWQgQ2hhcnQgTGF5b3V0Il19LDQzNjUwNChlKXtlLmV4cG9ydHM9WyJMb2FkaW5nLi4uIl19LDk3NDIxNChlKXtlLmV4cG9ydHM9WyJMYXlvdXQgc2V0dXAiXX0sOTI3NzA1KGUpe2UuZXhwb3J0cz1bIkxheW91dCB0eXBlIl19LDQ0NzE1MChlKXtlLmV4cG9ydHM9WyJMaW5rIGNvcGllZCB0byBjbGlwYm9hcmQiXX0sNjE4MDM5KGUpe2UuZXhwb3J0cz1bIk1ha2UgYSBjb3B5Il19LDIzNjY2MChlKXtlLmV4cG9ydHM9WyJNYW5hZ2UgbGF5b3V0cyJdfSwyODU0ODMoZSl7ZS5leHBvcnRzPVsiTXkgdGVtcGxhdGVzIl19LDU0ODY5MChlKXtlLmV4cG9ydHM9WyJOdW1iZXIgb3Ige2hvdEtleV8wfSJdfSw2MTI2NTUoZSl7ZS5leHBvcnRzPVsiU2F2ZSJdfSw4MjAzKGUpe2UuZXhwb3J0cz1bIlNhdmUgYWxsIGNoYXJ0cyBmb3IgYWxsIHN5bWJvbHMgYW5kIGludGVydmFscyBvbiB5b3VyIGxheW91dCJdfSw5MzkwNzQoZSl7ZS5leHBvcnRzPVsiU2F2ZSBsYXlvdXQiXX0sNjg1OTYzKGUpe2UuZXhwb3J0cz1bIlNlYXNvbmFscyBmb3Ige3N5bWJvbH0iXX0sOTY3MjU3KGUpe2UuZXhwb3J0cz1bIlNlYXJjaCB1c2luZyBJU0lOIGFuZCBDVVNJUCBjb2RlcyJdfSwyOTY0NTcoZSl7ZS5leHBvcnRzPVsiU2hhcmUiXX0sNTQwMDQyKGUpe2UuZXhwb3J0cz1bIlNoYXJlIGxhc3QgcHJpY2UiXX0sODcwNjc4KGUpe2UuZXhwb3J0cz1bIlNoYXJlIHNuYXBzaG90Il19LDM5MDE5OChlKXtlLmV4cG9ydHM9WyJTaW1wbHkgc3RhcnQgdHlwaW5nIHdoaWxlIG9uIHRoZSBjaGFydCB0byBwdWxsIHVwIHRoaXMgc2VhcmNoIGJveCJdfSw2MTMxNjMoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIl19LDQ4MjIyNShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDczOTkzNihlKXtlLmV4cG9ydHM9WyJTeW5jIGluIGxheW91dCJdfSwzNTgyOTEoZSl7ZS5leHBvcnRzPVsiUmVjZW50bHkgdXNlZCJdfSw2OTQyMDkoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIGZyb20gZmF2b3JpdGVzIl19LDc1NDM4MihlKXtlLmV4cG9ydHM9WyJSZW1vdmUgc2VsZWN0ZWQgZW1vamkiXX0sNTIwMzg3KGUpe2UuZXhwb3J0cz1bIldoZW4gYSBjaGFydCBpcyBjbGlja2VkLCBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0IGRpc3BsYXkgdGhlIHNhbWUgcG9pbnQgb2YgdGltZSJdfSwyMDczNzEoZSl7ZS5leHBvcnRzPVsiVGFrZSBhIHNuYXBzaG90Il19LDE4NjEyNShlKXtlLmV4cG9ydHM9WyJUaGUgTW90bGV5IEZvb2wgY29kZSJdfX1dKTs="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89558.981a34b19b41fad92b88.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.441Z","timestamp":1785136901441,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89558.981a34b19b41fad92b88.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b76-c3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:26 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b40fbafa727d4ff9abbb600a1cedc08c\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":195,"size_decoded":932,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"410a8b9d87cc2ecdb1762f6faf3cc95a","sha1":"6fa79aed8ba671c381c159a6cf58ecd4afaddd28","sha256":"6c42b7faa9d27cd5c4519b25964d772df0a712b26fad344745281fbae47e5f37","sha512":"b423d86dd53668cab2b9d0e14f3f341f1ecfaf51807bef6e904ae841cb69e6389178811eaeeac75cf57bf6a1c261318322a7886855a12a5c5fd11906a1ec09ff","ssdeep":"","tlshash":"78d012fa0423ae153a337e2b4a6d674246c5cad3c1065add8e203a7557cf99208d06d6","first_seen":"2024-11-30T11:35:58.666665Z","last_seen":"2026-08-10T05:00:33.847012Z","times_seen":1235,"resource_available":false,"data":"LmVtb2ppLUJzRVJHY1oxe2Rpc3BsYXk6YmxvY2t9LmNsZWFyQnV0dG9uLUJzRVJHY1oxe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS5jbGVhckJ1dHRvbi1Cc0VSR2NaMSwuZW1vamktQnNFUkdjWjF7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23254.3043f6ff1396f5065c2a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.489Z","timestamp":1785136901489,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23254.3043f6ff1396f5065c2a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-1ad\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5518616e126bcff650b3c61c22693836\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":429,"size_decoded":994,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (429), with no line terminators","md5":"27d579b35c62ffe990fa3b3e58719791","sha1":"9e2ad92e195c20fd9832696d5dc46e995683380c","sha256":"c9e28194d44ef9378cd88ba949c9c8a339180667df4f4ec154731a7cd0d26031","sha512":"dcb22c5861af670a1b2f04c4ab8d0a11b00575c651a54472e8b1d0f0b0e73fb03cf6fa75541b6e524286fa5b13ee34cb6bb46f4cf5b5845444e1af4cab83be91","ssdeep":"","tlshash":"bee082021643901ef14f014895563ed8b20d44c3aa7b5ececa716149da7414c0a30af8","first_seen":"2026-06-30T21:57:43.455853Z","last_seen":"2026-07-28T06:17:53.450569Z","times_seen":228,"resource_available":false,"data":"LmhpZGRlbi1SM1dpQ09kbntvcGFjaXR5OjB9Lml0ZW0tSmtRWFVsdEF7cG9zaXRpb246cmVsYXRpdmV9Lml0ZW0tSmtRWFVsdEEud2l0aEljb24tSmtRWFVsdEF7cGFkZGluZy1ib3R0b206MnB4O3BhZGRpbmctdG9wOjJweH1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7Lml0ZW0tSmtRWFVsdEEud2l0aEljb24tSmtRWFVsdEF7Zm9udC1zaXplOjE2cHg7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH19LnNob3J0Y3V0LUprUVhVbHRBe21hcmdpbi1pbmxpbmUtZW5kOjA7bWluLXdpZHRoOmF1dG99QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey5zaG9ydGN1dC1Ka1FYVWx0QXtkaXNwbGF5Om5vbmV9fS5sb2FkaW5nLUprUVhVbHRBIC5pY29uLUprUVhVbHRBLC5sb2FkaW5nLUprUVhVbHRBIC5zaG9ydGN1dC1Ka1FYVWx0QXtvcGFjaXR5OjB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66522.661a97161c3cad9690d2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.735Z","timestamp":1785136901735,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/66522.661a97161c3cad9690d2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-3a7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9745b7228705225bf337c7eaf56f803a\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":935,"size_decoded":1223,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (935), with no line terminators","md5":"9295c27fd4daa554b8dc928ab0c03a98","sha1":"2f33253bdbb14763a9e94d92768f77ec5ec2416f","sha256":"1936404f933cb5460b13710ba8fbe6e85d647437100f0ab98916d094a14d0bdf","sha512":"e4fbc74b9e0e953c709284d47e4093018617cabcd5525629f6f8152d3b8dd8fe175c8281e80fdfea7c397d218d86b578389aab6640dc1cb9a6cd7d0c37679c80","ssdeep":"","tlshash":"4b115631f150ca2d7c67a8290781d28e6128ec0e66c7a65dbb16e22948cf7d32263318","first_seen":"2026-02-24T15:20:08.929924Z","last_seen":"2026-08-10T05:00:33.807434Z","times_seen":699,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQktiLTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUJLYi06dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9LmRpYWxvZy1VR2RDNjlzd3ttaW4td2lkdGg6MjU0cHg7cGFkZGluZzo0MHB4O3dpZHRoOmF1dG99LmRpYWxvZ0lubmVyLVVHZEM2OXN3e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS50aXRsZVdyYXBwZXItVUdkQzY5c3d7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTAwJX0udGl0bGUtVUdkQzY5c3d7Y29sb3I6dmFyKC0tXzAtQktiLSk7Y3Vyc29yOmRlZmF1bHQ7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjI4cHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uaW5mb0hpbnQtVUdkQzY5c3d7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KTtoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjhweDt3aWR0aDoxOHB4fS5mb3JtLVVHZEM2OXN3e2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MjAwcHg7d2lkdGg6MTAwJX0uaW5wdXRXcmFwcGVyLVVHZEM2OXN3e2ZsZXgtZ3JvdzoxfS5pbnB1dC1VR2RDNjlzd3tmb250LXNpemU6MjRweDt0ZXh0LWFsaWduOmNlbnRlcn0uaGludC1VR2RDNjlzd3tjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDozcHg7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uZXJyb3ItVUdkQzY5c3d7Y29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39166.21343209d8750da3693a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.529Z","timestamp":1785136901529,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39166.21343209d8750da3693a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-15be\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1d6e6d06079f02eefb27d657de187c25\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5566,"size_decoded":3492,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3066)","md5":"b68d046060944bd28bdaa7f0e942ac50","sha1":"d67bd155c5a81d6207a36c06d87e373a2d1274d9","sha256":"ddee550aa6471222ab57b074664f8cbb7c653a66cda78327bc070e5ec00115bf","sha512":"3cef94486ec2c6ca58ba870ecb861078fc7582080cab43eb1197124b05e744d9e7cd1d3fd61274210e0e79f3823865041f7ed106e3157d5d9965a576c67ce742","ssdeep":"96:xAWBjuVYfVYcU4pp0hv+CN8fhLV4QJF2KBzo3s/t7ooT9e+N0Q0ZsJgqGq/uA:qWBDUI0hv+1hjF2KzSwk340t2JrGqt","tlshash":"12b1f898b3a0780c2127507f91376f29bf1d7e98241d5871f43cecae309ea969335e26","first_seen":"2026-07-22T16:00:00.545232Z","last_seen":"2026-07-28T06:17:53.537858Z","times_seen":113,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTE2Nl0sezMxMjEyMihlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSIsaXRlbToiaXRlbS1ZUlcwSnNEZCIsc2hvcnRjdXQ6InNob3J0Y3V0LVlSVzBKc0RkIixsb2FkaW5nOiJsb2FkaW5nLVlSVzBKc0RkIixpY29uOiJpY29uLVlSVzBKc0RkIn19LDkzOTE2NihlLHQsYSl7InVzZSBzdHJpY3QiO2Eucih0KSxhLmQodCx7Z2V0VG9vbFNldDooKT0+an0pO3ZhciBuPWEoOTMwMjMxKSxyPWEoNzc5NDc0KSxvPWEoNDM4NTM5KSxpPWEoMTg1MjcxKSxsPWEoMTg2MDk3KSxzPWEoMzQ1MTUxKSxjPWEoMjM1NzI0KSxkPWEoMzEyMzA2KTtjb25zdCB1PSgwLHMuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsYy5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShjLk1vZGlmaWVycy5BbHQsITEpLCJBIl0sdGV4dDoiezB9ICsgezF9In0pO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChsLlRvb2xiYXJDb2xsYXBzaWJsZUJ1dHRvbix7Li4uZSxpY29uOmQsdGV4dDppLnQobnVsbCx2b2lkIDAsYSgxNjE3MzUpKSx0b29sdGlwOmkudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2FsZXJ0X3Rvb2x0aXAifSxhKDQ4NjM2MSkpLGlzT3BlbmVkOmUuaXNPcGVuZWQsImRhdGEtdG9vbHRpcC1ob3RrZXkiOnV9KX1mdW5jdGlvbiBoKCl7KDAsby5zaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2cpKHtmZWF0dXJlOiJhbGVydHMifSl9ZnVuY3Rpb24gcChlKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KG0sey4uLmUsb25DbGljazpofSl9dmFyIGc9YSg5MDY2ODMpO2Z1bmN0aW9uIHcoKXsoMCxvLnNob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZykoe2ZlYXR1cmU6InNhdmVsb2FkIn0pfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChnLlRvb2xXaWRnZXRTYXZlTG9hZFZpZXcsey4uLmUsaXNBdXRoZW50aWNhdGVkOiExLGlzUHJvY2Vzc2luZzohMSx3YXNDaGFuZ2VzOiEwLGhpZGVNZW51OiEwLG9uU2F2ZUNoYXJ0OncsaXNOZXdWaWV3OigwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKX0pfXZhciBfPWEoNjU5MzY1KSxmPWEoOTE0NDg3KSx2PWEubihmKSxFPWEoMTUzNzM0KSx5PWEoMjc2MDE5KSxrPWEoMzg3MjMxKSxTPWEoNzU0MTgwKSxUPWEoOTcxNjU5KSxDPWEoODUwMTA4KSxNPWEoMTk5MTcyKSxCPWEoNTY5Mzk4KSxGPWEoMzEyMTIyKTtjb25zdCBSPSgwLGsubWVyZ2VUaGVtZXMpKEUuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUsRik7ZnVuY3Rpb24gVyhlLHQpe3dpbmRvdy5wYXJlbnQhPT13aW5kb3cmJndpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe25hbWU6ZSxkZXRhaWw6dH0sIioiKX1mdW5jdGlvbiBEKGUpe3JldHVybiBCb29sZWFuKGUuY2hhcnRXaWRnZXQubW9kZWwpfWNvbnN0IE49KDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfc2hhcmVfc25hcHNob3RfdXNlX2ZhbGxiYWNrIik7ZnVuY3Rpb24gUChlKXtjb25zdHtzZXJ2ZXJTbmFwc2hvdDp0LGNsaWVudFNuYXBzaG90Om59PWUsW28sbF09KDAsci51c2VTdGF0ZSkoITEpLHM9KDAsVC51c2VJc01vdW50ZWQpKCksYz0oMCxyLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e2lmKCFEKHdpbmRvdykpcmV0dXJuO2NvbnN0IGU9d2luZG93LmNoYXJ0V2lkZ2V0Lm1vZGVsKCkubWFpblNlcmllcygpLHQ9ZS5xdW90ZXMoKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoIlF1b3RlcyBkYXRhIG1pc3NpbmcgZm9yIHRlbGVncmFtIG1lc3NhZ2UiKTtXKCJ0ZWxlZ3JhbS1zaGFyZS1sYXN0LXByaWNlIix7Y3VycmVuY3k6dC5jdXJyZW5jeV9jb2RlfHwiIixzeW1ib2xOYW1lOmUuZ2V0U3ltYm9sTmFtZSgpLGxhc3RQcmljZTp0Lmxhc3RfcHJpY2UsbGFzdFByaWNlVGltZTp0LmxwX3RpbWUsc3ltYm9sOnRbInN5bWJvbC1wcmltYXJ5bmFtZSJdPz9lLmdldFN5bWJvbE5hbWUoKSxpbnRlcnZhbDplLmludGVydmFsKCl8fCIxIn0pfSksW10pLGQ9KDAsci51c2VDYWxsYmFjaykoKGFzeW5jKCk9Pnt0cnl7Y29uc3QgZT1hd2FpdCBuZXcgUHJvbWlzZSgoZT0+e3RyeXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO2lmKHQud2lkdGg9MSx0LmhlaWdodD0xLCF0LnRvQmxvYilyZXR1cm4gdm9pZCBlKCExKTt0LnRvQmxvYigodD0+e2UoQm9vbGVhbih0JiYiaW1hZ2UvanBlZyI9PT10LnR5cGUpKX0pLCJpbWFnZS9qcGVnIil9Y2F0Y2h7ZSghMSl9fSkpO2lmKE58fCFlKXtyZXR1cm4gVygidGVsZWdyYW0tc2hhcmUtc25hcHNob3QiLGF3YWl0IHQoKSksITB9aWYoIUQod2luZG93KSlyZXR1cm4hMTtjb25zdCBhPXdpbmRvdy5jaGFydFdpZGdldC5tb2RlbCgpLm1haW5TZXJpZXMoKS5nZXRTeW1ib2xOYW1lKCkscj1hd2FpdCBuKCksbz0oMCxCLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSIpPy4zOi44LGk9YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSx0PS44KXtyZXR1cm4gbmV3IFByb21pc2UoKChhLG4pPT57ZS50b0Jsb2IoKGU9PntpZihudWxsPT09ZSlyZXR1cm4gdm9pZCBuKG5ldyBFcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBCbG9iIikpO2NvbnN0IHQ9bmV3IEZpbGVSZWFkZXI7dC5vbmxvYWRlbmQ9YXN5bmMoKT0+e3RyeXtjb25zdCBlPXQucmVzdWx0O2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgcmVhZGVyIHJlc3VsdCIpO2NvbnN0IG49ZS5zcGxpdCgiLCIpWzFdO2Eobil9Y2F0Y2goZSl7bihlKX19LHQub25lcnJvcj0oKT0+e24obmV3IEVycm9yKCJGYWlsZWQgdG8gcmVhZCBibG9iIGFzIGRhdGEgVVJMIikpfSx0LnJlYWRBc0RhdGFVUkwoZSl9KSwiaW1hZ2UvanBlZyIsdCl9KSl9KHIuY2FudmFzLG8pO3JldHVybiBXKCJ0ZWxlZ3JhbS1zaGFyZS1zbmFwc2hvdC1iYXNlNjQiLHtjb250ZW50OmksCnN5bWJvbDphfSksITB9ZmluYWxseXtzLmN1cnJlbnQmJihsKCExKSwoMCx5Lmdsb2JhbENsb3NlTWVudSkoKSl9fSksW3Qsbl0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHIuY3JlYXRlRWxlbWVudChNLlRvb2xXaWRnZXRNZW51U3VtbWFyeSxudWxsLGkudChudWxsLHZvaWQgMCxhKDI5NjQ1NykpKSwhKDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfZGlzYWJsZV9zaGFyZV9zbmFwc2hvdCIpJiZyLmNyZWF0ZUVsZW1lbnQoQy5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6InJvdyIsImRhdGEtbmFtZSI6InNoYXJlLWNoYXJ0LWltYWdlIixsYWJlbDpyLmNyZWF0ZUVsZW1lbnQoUy5MYWJlbFdpdGhMb2FkZXIse2lzTG9hZGluZzpvfSxpLnQobnVsbCx2b2lkIDAsYSg4NzA2NzgpKSksb25DbGljazooKT0+e2woITApLGQoKX0sZG9udENsb3NlUG9wdXA6ITAsaXNEaXNhYmxlZDpvLHNob3J0Y3V0OnZvaWQgMCxjbGFzc05hbWU6digpKG8mJkYubG9hZGluZyksdGhlbWU6Un0pLCEoMCxCLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9kaXNhYmxlX3NoYXJlX2xhc3RfcHJpY2UiKSYmci5jcmVhdGVFbGVtZW50KEMuQWNjZXNzaWJsZU1lbnVJdGVtLHtyb2xlOiJyb3ciLCJkYXRhLW5hbWUiOiJzaGFyZS1sYXN0LXByaWNlIixsYWJlbDppLnQobnVsbCx2b2lkIDAsYSg1NDAwNDIpKSxvbkNsaWNrOmMsc2hvcnRjdXQ6dm9pZCAwLHRoZW1lOlJ9KSl9dmFyIHg9YSg3NzEyODUpLEE9YSg5OTU3MTkpLEw9YSg2MDk1MjgpLFU9YSgxMTczMTMpO2NvbnN0IHo9KDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfc2hhcmVfc25hcHNob3RfdXNlX2ZhbGxiYWNrIik7ZnVuY3Rpb24gSShlKXtjb25zdFt0LGFdPSgwLHIudXNlU3RhdGUpKCExKSxuPSgwLFQudXNlSXNNb3VudGVkKSgpLG89KDAsci51c2VDYWxsYmFjaykoKGFzeW5jKCk9PnthKCEwKSx6P2F3YWl0IGUuc2VydmVyU25hcHNob3QoKTphd2FpdCBlLmNsaWVudFNuYXBzaG90KCksbi5jdXJyZW50JiZhKCExKX0pLFtlLnNlcnZlclNuYXBzaG90LGUuY2xpZW50U25hcHNob3RdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KEEuVG9vbFdpZGdldEJ1dHRvbix7aWQ6ZS5pZCxjbGFzc05hbWU6ZS5jbGFzc05hbWUsaXNEaXNhYmxlZDp0LG9uQ2xpY2s6byx0aXRsZTplLnRvb2x0aXAsaWNvbjplLmljb259KX12YXIgSj1hKDIxNjA4MyksTz1hKDg1ODIzNik7Y29uc3QgVj0oMCxfLmJpbmRTY3JlZW5zaG90KSgoZnVuY3Rpb24oZSl7cmV0dXJuKDAsVS5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpP3IuY3JlYXRlRWxlbWVudChJLHsuLi5lLGljb246T30pOnIuY3JlYXRlRWxlbWVudCh4LlRvb2xiYXJNZW51QnV0dG9uLHtjb250ZW50OnIuY3JlYXRlRWxlbWVudChBLlRvb2xXaWRnZXRCdXR0b24se3RhZzoiZGl2IixpZDplLmlkLGNsYXNzTmFtZTplLmNsYXNzTmFtZSxpY29uOk99KSxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixkcmF3ZXJCcmVha3BvaW50OkwuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsb25DbGljazpmdW5jdGlvbigpeygwLEoudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwidGVsZWdyYW0gc2hhcmUiKX0sdG9vbHRpcDplLnRvb2x0aXAsbWVudVJvbGU6ImdyaWQifSxyLmNyZWF0ZUVsZW1lbnQoUCx7Li4uZX0pKX0pKTt2YXIgWT1hKDMzMDcyMSk7ZnVuY3Rpb24gaigpe3JldHVybnsuLi4oMCxZLmdldFJlc3RyaWN0ZWRUb29sU2V0KSgpLEFsZXJ0UmVmZXJyYWw6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Zha2VfZmVhdHVyZXNfYnV0dG9ucyIpP3A6dm9pZCAwLFNhdmVMb2FkUmVmZXJyYWw6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Zha2VfZmVhdHVyZXNfYnV0dG9ucyIpP2I6dm9pZCAwLFRlbGVncmFtU2hhcmU6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3RlbGVncmFtX3NoYXJlIik/Vjp2b2lkIDB9fX0sODU4MjM2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIxIDguNWEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMHptMSAwYTMuNSAzLjUgMCAwIDEtNi4yMSAyLjIxbC00LjA2IDIuNDRhMy40OSAzLjQ5IDAgMCAxIDAgMi43bDQuMDYgMi40NGEzLjUgMy41IDAgMSAxLS41Mi44NmwtNC4wNi0yLjQ0YTMuNSAzLjUgMCAxIDEgMC00LjQybDQuMDYtMi40NEEzLjQ5IDMuNDkgMCAwIDEgMTguNSA1IDMuNSAzLjUgMCAwIDEgMjIgOC41em0tMSAxMmEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMHpNOC41IDE3YTIuNSAyLjUgMCAxIDAgMC01IDIuNSAyLjUgMCAwIDAgMCA1eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:42.024Z","timestamp":1785136902024,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCMNT.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.476Z","timestamp":1785136905476,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCMNT.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCMMTMO.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.607Z","timestamp":1785136905607,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCMMTMO.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8216.d7f21fe2489ddfcbc418.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.890Z","timestamp":1785136901890,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8216.d7f21fe2489ddfcbc418.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a6328d1-2e2e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:56:49 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e272e2c6d0fd38694d29e4c458a3ac96\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":11822,"size_decoded":2763,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (11822), with no line terminators","md5":"1fdeb41f768794038a28c7628ca90e9f","sha1":"36599ccd34abd18e9f19824d9d72b2bbfc753697","sha256":"9b8360f9b29d78c9e01119d5d5fe05911ec10b1555c2ffb67f6f0cbca63ef8ff","sha512":"22c6a794b0c0d7a958e7b6241c53f9627cf1932e72e4dcd2d2df02fb33c6b41cdc44feb0a657b50b274dbf19a3b6846bcbcc71c044c955f54aa02bbbbeac3f13","ssdeep":"192:qHyIJSg54lB+dOHyIJSg54lB+dM3JcULKVXg+eDzogMWtR:qHegKXHegKjZ+6zJtR","tlshash":"c832b0b5e2c168a62a1f54bf03bfd35ad218f7437b6443a57e52980ef1c6be0658f102","first_seen":"2026-07-24T15:28:44.966723Z","last_seen":"2026-07-28T04:48:50.383385Z","times_seen":51,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNXlBSTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8xLTV5QUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi01eUFJOnZhcigtLWNvbG9yLXdoaXRlKTstLV8zLTV5QUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fNC01eUFJOnZhcigtLWNvbG9yLXdoaXRlKTstLV81LTV5QUk6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTIwMCk7LS1fNi01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNy01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fOC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLV85LTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMTAtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8xMS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8xMi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8xMy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xNC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xNS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzE2LTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTctNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTgtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMTktNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yMC01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMjEtNXlBSTp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzIyLTV5QUk6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzIzLTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMjQtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8yNS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8yNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8yNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8yOC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8yOS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzMwLTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMzEtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMzItNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMzMtNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8zNC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMzUtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8zNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8zNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8zOC01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzM5LTV5QUk6dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtNXlBSTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTV5QUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fMi01eUFJOnZhcigtLWNvbG9yLXdoaXRlKTstLV8zLTV5QUk6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzQtNXlBSTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV81LTV5QUk6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTIwMCk7LS1fNi01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNy01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fOC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLV85LTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMTAtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8xMS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8xMi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8xMy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xNC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xNS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzE2LTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTctNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTgtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMTktNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yMC01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMjEtNXlBSTp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzIyLTV5QUk6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzIzLTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMjQtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8yNS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8yNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8yNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8yOC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8yOS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzMwLTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMzEtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMzItNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMzMtNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8zNC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMzUtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8zNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8zNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8zOC01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzM5LTV5QUk6dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApfS5idWJibGUtQVU5aE93RXN7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXg6bm9uZTttYXgtd2lkdGg6MTAwJTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYnViYmxlLUFVOWhPd0VzOmZvY3Vze291dGxpbmU6bm9uZX0uYnViYmxlLUFVOWhPd0VzOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5idWJibGUtQVU5aE93RXM6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyAxMHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNXB4O3dpZHRoOmNhbGMoMTAwJSArIDEwcHgpO3otaW5kZXg6MX0uYnViYmxlLUFVOWhPd0VzOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1YmJsZS1BVTloT3dFczpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1YmJsZS1BVTloT3dFczpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnViYmxlLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpfS5idWJibGUtQVU5aE93RXMuYW5pbWF0ZWQtQVU5aE93RXM6YWZ0ZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dCx2aXNpYmlsaXR5IDBzIGVhc2UtaW4tb3V0IC4yczt2aXNpYmlsaXR5OmhpZGRlbn0uYnViYmxlLUFVOWhPd0VzLmFuaW1hdGVkLUFVOWhPd0VzOmZvY3VzOmFmdGVye29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O3Zpc2liaWxpdHk6dmlzaWJsZX0uYnViYmxlLUFVOWhPd0VzLmFuaW1hdGVkLUFVOWhPd0VzOmZvY3VzLXZpc2libGU6YWZ0ZXJ7b3BhY2l0eToxO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7dmlzaWJpbGl0eTp2aXNpYmxlfS5idWJibGUtQVU5aE93RXMuYW5pbWF0ZWQtQVU5aE93RXM6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dCx2aXNpYmlsaXR5IDBzIGVhc2UtaW4tb3V0IC4yczt2aXNpYmlsaXR5OmhpZGRlbn0uYnViYmxlLUFVOWhPd0VzIC5jb250ZW50LUFVOWhPd0Vze292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLTV5QUkpO2JvcmRlci1jb2xvcjp2YXIoLS1fMC01eUFJKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLTV5QUkpO2JvcmRlci1jb2xvcjp2YXIoLS1fMS01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0Vze2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Y29sb3I6dmFyKC0tXzItNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmdyYXktQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy01eUFJKTtib3JkZXItY29sb3I6dmFyKC0tXzMtNXlBSSk7Y29sb3I6dmFyKC0tXzQtNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zMy01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yMC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmJsdWUtQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzQtNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5ibHVlLUFVOWhPd0VzOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIyLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuZ3JlZW4tQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzUtNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5ncmVlbi1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yNC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zNi01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yNi01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnB1cnBsZS1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zNy01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnB1cnBsZS1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yOC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmN5YW4tQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzgtNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5jeWFuLUFVOWhPd0VzOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzMwLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMucGluay1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zOS01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnBpbmstQVU5aE93RXM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzItNXlBSSl9fS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5yZWQtQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zMy01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFczpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzIwLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuYmx1ZS1BVTloT3dFc3tib3JkZXItY29sb3I6dmFyKC0tXzM0LTV5QUkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuYmx1ZS1BVTloT3dFczpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzIyLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuZ3JlZW4tQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zNS01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmdyZWVuLUFVOWhPd0VzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fMjQtNXlBSSl9fS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5vcmFuZ2UtQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zNi01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFczpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzI2LTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMucHVycGxlLUFVOWhPd0Vze2JvcmRlci1jb2xvcjp2YXIoLS1fMzctNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5wdXJwbGUtQVU5aE93RXM6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8yOC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmN5YW4tQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zOC01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmN5YW4tQVU5aE93RXM6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8zMC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnBpbmstQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zOS01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnBpbmstQVU5aE93RXM6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8zMi01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFczphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzMzLTV5QUkpfS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5ibHVlLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1fMzQtNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmdyZWVuLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1fMzUtNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFczphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzM2LTV5QUkpfS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5wdXJwbGUtQVU5aE93RXM6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8zNy01eUFJKX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuY3lhbi1BVTloT3dFczphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzM4LTV5QUkpfS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5waW5rLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1fMzktNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLXRleHQtQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1jb2xvcjojMDAwMDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS10ZXh0LUFVOWhPd0VzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9fS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS10ZXh0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFc3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0uYnViYmxlLUFVOWhPd0VzLmZvbnRTaXplLXMtQVU5aE93RXN7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyMXB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHh9LmJ1YmJsZS1BVTloT3dFcy5mb250U2l6ZS1tLUFVOWhPd0VzLC5idWJibGUtQVU5aE93RXMuZm9udFNpemUtcy1BVTloT3dFc3tmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5idWJibGUtQVU5aE93RXMuZm9udFNpemUtbS1BVTloT3dFc3stLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweH0uYnViYmxlLUFVOWhPd0VzLnNpemUtbS1BVTloT3dFc3tib3JkZXItcmFkaXVzOjE0cHg7aGVpZ2h0OjI4cHg7cGFkZGluZzowIDExcHh9LmJ1YmJsZS1BVTloT3dFcy5zaXplLW0tQVU5aE93RXM6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxOHB4fS5idWJibGUtQVU5aE93RXMuc2l6ZS1sLUFVOWhPd0Vze2JvcmRlci1yYWRpdXM6MjRweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMjNweH0uYnViYmxlLUFVOWhPd0VzLnNpemUtbC1BVTloT3dFczphZnRlcntib3JkZXItcmFkaXVzOjI4cHh9LmJ1YmJsZXMtZFJBc1hWdmF7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3BhZGRpbmctYmxvY2s6NHB4IDEycHg7cGFkZGluZy1pbmxpbmU6MjBweCAyMHB4Oy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey5idWJibGVzLWRSQXNYVnZhe3Njcm9sbGJhci13aWR0aDpub25lfX0uYnViYmxlcy1kUkFzWFZ2YS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LmJ1YmJsZXMtZFJBc1hWdmE6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS5idWJibGVzLWRSQXNYVnZhOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuYnViYmxlcy1kUkFzWFZ2YTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS5idWJibGVzLWRSQXNYVnZhOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5idWJibGVzLWRSQXNYVnZhLm11bHRpTGluZS1kUkFzWFZ2YXtmbGV4LWZsb3c6d3JhcH0uYnViYmxlcy1kUkFzWFZ2YSAuYnViYmxlLWRSQXNYVnZhe2N1cnNvcjpkZWZhdWx0O21hcmdpbi1ibG9jazo4cHggMDttYXJnaW4taW5saW5lOjAgOHB4fS5idWJibGVzLWRSQXNYVnZhIC5idWJibGUtZFJBc1hWdmE6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5idWJibGVzLWRSQXNYVnZhOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87d2lkdGg6MjBweH0uaWNvbldyYXAtR2N6cTNhTFl7ZGlzcGxheTpmbGV4fS5zZldhcm5pbmdJY29uLUdjenEzYUxZe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApO2Rpc3BsYXk6ZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0uY29udGFpbmVyLVpVVzZicFIwe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MzBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ibG9jazo2cHggMDtwYWRkaW5nLWlubGluZToyMHB4IDM4cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwfS5zeW1ib2xMaXN0LVJveWpBbVI0e21heC13aWR0aDoxODBweH0uZGlhbG9nLWlpcWhEY2Nze3dpZHRoOjEwMCV9LnRhYmxldERpYWxvZy1paXFoRGNjc3toZWlnaHQ6NTYycHg7bWF4LXdpZHRoOjU2MHB4fS5kZXNrdG9wRGlhbG9nLWlpcWhEY2Nze2hlaWdodDo2ODBweDttYXgtd2lkdGg6ODQwcHg7bWluLXdpZHRoOjcxOXB4O3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kZXNrdG9wRGlhbG9nLWlpcWhEY2Nze21heC13aWR0aDo2NDBweDttaW4td2lkdGg6NDgwcHh9fUBtZWRpYSAobWF4LXdpZHRoOjUxOXB4KXsuZGVza3RvcERpYWxvZy1paXFoRGNjc3ttYXgtd2lkdGg6NDc5cHg7bWluLXdpZHRoOjM4MHB4fX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCUSD1W.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.444Z","timestamp":1785136905444,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCUSD1W.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80639.93402c009a27b4660c7b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.408Z","timestamp":1785136901408,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80639.93402c009a27b4660c7b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-8b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 42b02b58de8679edc6e5c88c69248d10\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":139,"size_decoded":920,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"2faeea5bc235cb9ea4b573fb2a53b0d1","sha1":"c7e2a2b388edcf4bec4dce73bcfdd08d44b612a9","sha256":"8d1688c131c79f862e429de6507fa33049831254957d7218d945cee5cfc55e00","sha512":"6d47c18f801752be93b3f3c2c844704bfccaa800c25ece5507725d97e2a1bde8e419ef5029eb7670612b44ed976b6a25c0f4d4908b0476ad5cf3f5cae5e92cef","ssdeep":"","tlshash":"43c02b4c812ec441c8d70e42f4cce7041cdb1023006e460b820e0c284cfb4760b10f3c","first_seen":"2023-04-17T07:26:30Z","last_seen":"2026-08-10T05:00:33.698591Z","times_seen":1339,"resource_available":false,"data":"QGZvbnQtZmFjZXtmb250LWZhbWlseTpFdWNsaWRDaXJjdWxhcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7c3JjOnVybChFdWNsaWRDaXJjdWxhci5iZThmODYyZGI0OGMyOTc2MDA5Zi53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCBTC.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.353Z","timestamp":1785136905353,"http_version":"HTTP/2","security_state":"secure","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 /crypto/XTVCBTC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"107060b925841745f310697bd9f1f83d\"\r\nlast-modified: Wed, 08 Sep 2021 09:03:52 GMT\r\ncdn-cachedat: 08/09/2025 14:29:15\r\nx-amz-id-2: mS6txdd/WwgLrAcd/6no+TxP/dPK7pUj8E19SG87xGMdnJzq7GTFUtT6mRz2dzI97J9VRTiSHig=\r\nx-amz-request-id: 7A2W5B1DC5DG6A3C\r\nx-amz-meta-hash: 107060b925841745f310697bd9f1f83d\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3485676ed0bf1e2bf5c411702c2d6520\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":801,"size_decoded":1365,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (801), with no line terminators","md5":"107060b925841745f310697bd9f1f83d","sha1":"40a2e01da20c164a3c3f774a72f3feadf17cafa2","sha256":"4dfca512e957e14f05da07751a96061cf4bfd5df438504f65287fa0a8c3cadb6","sha512":"fb7b987074d4701281c49fee08b1d44f2be2b3aa9ecffd0a88a6cc682aac06a6cd823598c8c8ba5ad43f8f1430a73c814148dea60d5740162cc41af7da324c76","ssdeep":"","tlshash":"24011ec55310f6046ec7c09dbf74a9e4110f60ae14a6c7dcf2c89f0835aae8ba614d48","first_seen":"2023-04-21T01:30:48Z","last_seen":"2026-08-10T05:01:44.329076Z","times_seen":6454,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjRjc5MzFBIiBkPSJNMCAwaDE4djE4SDB6Ii8+PHBhdGggZD0iTTEyLjgzNiA3Ljk0Yy4xNjYtMS4xMjMtLjY4NC0xLjcyMS0xLjg1NS0yLjEyOGwuMzgtMS41MTMtLjkyNi0uMjMtLjM2OSAxLjQ3Ni0uNzM4LS4xNzcuMzc1LTEuNDg2LS45MjUtLjIzLS4zOCAxLjUxOC0uNTg4LS4xMzl2LS4wMDVsLTEuMjc4LS4zMi0uMjQ2Ljk4OHMuNjg0LjE2LjY3NC4xNjZjLjM3NC4wOTYuNDM4LjM0Mi40MjcuNTM1TDYuOTYgOC4xMjhsLjA5Ni4wMzItLjEwMi0uMDIyLS42MDQgMi40MjNjLS4wNDMuMTEyLS4xNi4yODMtLjQyMy4yMTQuMDExLjAxNi0uNjY4LS4xNi0uNjY4LS4xNmwtLjQ2IDEuMDUzIDEuMjAzLjMuNjU4LjE3LS4zODUgMS41MzUuOTI1LjIzLjM3NC0xLjUxOS43NDQuMTkzLS4zOCAxLjUxMy45MjUuMjMuMzgtMS41MzVjMS41NzcuMyAyLjc2NS4xODIgMy4yNjItMS4yNDYuNDAxLTEuMTUtLjAyMS0xLjgwNy0uODUtMi4yNDYuNjA0LS4xMzMgMS4wNTktLjUzNCAxLjE3Ni0xLjM1M2guMDA1em0tMi4xMTIgMi45NjNjLS4yODMgMS4xNS0yLjIxOS41MjQtMi44NDUuMzc0bC41MDgtMi4wMzdjLjYyNi4xNiAyLjYzNy40NjUgMi4zMzcgMS42NTh2LjAwNXptLjI4NC0yLjk3OWMtLjI1NyAxLjA0My0xLjg3Mi41MTQtMi4zOS4zODVsLjQ2LTEuODQ0Yy41MjMuMTI4IDIuMjAyLjM3NCAxLjkzIDEuNDZ6IiBmaWxsPSIjZmZmIi8+PC9zdmc+"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/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://huobiget.com/","date":"2026-07-27T07:21:39.504Z","timestamp":1785136899504,"http_version":"HTTP/2","security_state":"secure","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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:39 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: 59d1a781cbdf55e64e26db2b5014b556\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":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-08-10T05:01:09.739398Z","times_seen":1412,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyFmdW5jdGlvbigpe2lmKHdpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3Lmhvc3QmJiF3aW5kb3cuVHJhZGluZ1ZpZXcucmVvbG9hZFR2anMpcmV0dXJuO3ZhciBlPXsiY29sb3ItY29sZC1ncmF5LTMwMCI6IiNCMkI1QkUiLCJjb2xvci1icmFuZCI6IiMyOTYyRkYiLCJjb2xvci1icmFuZC1ob3ZlciI6IiMxRTUzRTUiLCJjb2xvci1icmFuZC1hY3RpdmUiOiIjMTg0OENDIn07Y29uc3QgdD1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTt2YXIgbyxpLHIsbixhLHMsZCxsPSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdUcmVidWNoZXQgTVMnLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiIsYz17aG9zdDpudWxsPT13aW5kb3cubG9jYXRpb24uaG9zdC5tYXRjaCgvdHJhZGluZ3ZpZXdcLmNvbXxweXJyb3NpbnZlc3RtZW50XC5jb20vaSk/Imh0dHBzOi8vcy50cmFkaW5ndmlldy5jb20iOiJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20iLGlkZWFzSG9zdDoiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIixjaGF0SG9zdDoiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIix3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixnZXRIb3N0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnVzZVdpZGdldEhvc3Q/Yy53aWRnZXRIb3N0OmMuaG9zdH0sZW1iZWRTdHlsZXNGb3JDb3B5cmlnaHQ6ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD0iLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQge2ZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyBmb250LWZhbWlseTogIitsKyIgIWltcG9ydGFudDsgY29sb3I6ICIrZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdKyIgIWltcG9ydGFudDt9IC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGNvbG9yOiAiK2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXSsiICFpbXBvcnRhbnQ7fSAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOnZpc2l0ZWQge2NvbG9yOiAiK2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXSsiICFpbXBvcnRhbnQ7fSAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kLWhvdmVyIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTphY3RpdmUgLmJsdWUtdGV4dCB7Y29sb3I6ICIrZVsiY29sb3ItYnJhbmQtYWN0aXZlIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kIl0rIiAhaW1wb3J0YW50O30iLHR9LGVtYmVkU3R5bGVzRm9yRnVsbEhlaWdodDpmdW5jdGlvbihlLHQsbyl7dmFyIGk9dD8iY2FsYygiK2UrIiAtIDMycHgpIjplLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiIyIrbyk7ci5wYXJlbnRFbGVtZW50LnN0eWxlLmhlaWdodD1pLHIuc3R5bGUuaGVpZ2h0PSIxMDAlIn0sZ0lkOmZ1bmN0aW9uKCl7cmV0dXJuInRyYWRpbmd2aWV3XyIrKDEwNDg1NzYqKDErTWF0aC5yYW5kb20oKSl8MCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKX0saXNQZXJzZW50SGVpZ2h0OmZ1bmN0aW9uKGUpe3JldHVybiIlIj09PWV9LGdldFN1ZmZpeDpmdW5jdGlvbihlKXt2YXIgdD1lLnRvU3RyaW5nKCkubWF0Y2goLyglfHB4fGVtfGV4KS8pO3JldHVybiB0P3RbMF06InB4In0saGFzQ29weXJpZ2h0OmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpLG89dCYmdC5wYXJlbnRFbGVtZW50O3JldHVybiEhbyYmISFvLnF1ZXJ5U2VsZWN0b3IoIi50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0Iil9LGNhbGN1bGF0ZVdpZGdldEhlaWdodDpmdW5jdGlvbihlLHQpe3ZhciBvPXBhcnNlSW50KGUpLGk9dGhpcy5nZXRTdWZmaXgoZSkscj10aGlzLmlzUGVyc2VudEhlaWdodChpKSxuPXQmJnRoaXMuaGFzQ29weXJpZ2h0KHQpO3JldHVybiByJiZ0JiYodGhpcy5lbWJlZFN0eWxlc0ZvckZ1bGxIZWlnaHQobytpLG4sdCksbik/MTAwK2k6bj8iY2FsYygiK28raSsiIC0gMzJweCkiOm8raX0sb25yZWFkeTpmdW5jdGlvbihlKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZSwhMSk6d2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGUpfSxiaW5kRXZlbnQ6ZnVuY3Rpb24oZSx0LG8pe2UuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVuZXIodCxvLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbiIrdCxvKX0sdW5iaW5kRXZlbnQ6ZnVuY3Rpb24oZSx0LG8pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcj9lLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxvLCExKTplLmRldGFjaEV2ZW50JiZlLmRldGFjaEV2ZW50KCJvbiIrdCxvKX0sY2xvbmVTaW1wbGVPYmplY3Q6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZXx8Im9iamVjdCIhPXR5cGVvZiBlKXJldHVybiBlO3ZhciB0PWUuY29uc3RydWN0b3IoKTtmb3IodmFyIG8gaW4gZSllLmhhc093blByb3BlcnR5KG8pJiYodFtvXT1lW29dKTtyZXR1cm4gdH0saXNBcnJheTpmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfSxnZW5lcmF0ZVV0bUZvclVybFBhcmFtczpmdW5jdGlvbihlKXt2YXIgdD17dXRtX3NvdXJjZTp3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsdXRtX21lZGl1bTpjLmhhc0NvcHlyaWdodChlLmNvbnRhaW5lcik/IndpZGdldF9uZXciOiJ3aWRnZXQifTtyZXR1cm4gZS50eXBlJiYodC51dG1fY2FtcGFpZ249ZS50eXBlLCJjaGFydCI9PT1lLnR5cGUmJih0LnV0bV90ZXJtPWUuc3ltYm9sKSksdH0sZ2V0UGFnZVVyaVN0cmluZzpmdW5jdGlvbigpe2NvbnN0IGU9bG9jYXRpb24uaHJlZixvPXRoaXMuaW52YWxpZFVybChlKTtyZXR1cm4gb3x8ZS5yZXBsYWNlKHQsIiIpfSxpbnZhbGlkVXJsOmZ1bmN0aW9uKGUpe3RyeXtjb25zdCBvPW5ldyBVUkwoZSk7cmV0dXJuIHQudGVzdChvLnByb3RvY29sKT9udWxsOiJfX05IVFRQX18ifWNhdGNoKGUpe3JldHVybiJfX0ZBSUxfXyJ9fSxnZXRXaWRnZXRUaXRsZUF0dHJpYnV0ZTpmdW5jdGlvbihlLHQpe3JldHVybiBlfHxgJHt0LnJlcGxhY2UoIi0iLCIgIil9IFRyYWRpbmdWaWV3IHdpZGdldGB9LFdpZGdldEFic3RyYWN0OmZ1bmN0aW9uKCl7fSxNZWRpdW1XaWRnZXQ6ZnVuY3Rpb24oZSl7dGhpcy5pZD1jLmdJZCgpO2NvbnN0IHQ9Yy5jYWxjdWxhdGVXaWRnZXRIZWlnaHQoZS5oZWlnaHR8fDQwMCxlLmNvbnRhaW5lcl9pZCk7bGV0IG87c3dpdGNoKGUuY2hhcnRUeXBlKXtjYXNlImNhbmRsZXN0aWNrcyI6e2NvbnN0e2NoYXJ0VHlwZTp0LHVwQ29sb3I6aSxkb3duQ29sb3I6cixib3JkZXJVcENvbG9yOm4sYm9yZGVyRG93bkNvbG9yOmEsd2lja1VwQ29sb3I6cyx3aWNrRG93bkNvbG9yOmR9PWU7bz17Y2hhcnRUeXBlOnQsdXBDb2xvcjppLGRvd25Db2xvcjpyLGJvcmRlclVwQ29sb3I6bixib3JkZXJEb3duQ29sb3I6YSx3aWNrVXBDb2xvcjpzLHdpY2tEb3duQ29sb3I6ZH07YnJlYWt9Y2FzZSJiYXJzIjp7Y29uc3R7Y2hhcnRUeXBlOnQsdXBDb2xvcjppLGRvd25Db2xvcjpyfT1lO289e2NoYXJ0VHlwZTp0LHVwQ29sb3I6aSxkb3duQ29sb3I6cn07YnJlYWt9Y2FzZSJsaW5lIjp7Y29uc3R7Y2hhcnRUeXBlOnQsY29sb3I6aSxjb2xvckdyb3dpbmc6cixjb2xvckZhbGxpbmc6bixsaW5lV2lkdGg6YX09ZTtvPXtjaGFydFR5cGU6dCxjb2xvcjppLGNvbG9yR3Jvd2luZzpyLGNvbG9yRmFsbGluZzpuLGxpbmVXaWR0aDphfTticmVha31kZWZhdWx0Ontjb25zdHtjaGFydFR5cGU6dD0iYXJlYSIsbGluZUNvbG9yOmk9ZS50cmVuZExpbmVDb2xvcnx8IiIsbGluZUNvbG9yR3Jvd2luZzpyLGxpbmVDb2xvckZhbGxpbmc6bix0b3BDb2xvcjphPWUudW5kZXJMaW5lQ29sb3J8fCIiLGJvdHRvbUNvbG9yOnM9ZS51bmRlckxpbmVCb3R0b21Db2xvcnx8IiIsbGluZVdpZHRoOmR9PWU7bz17Y2hhcnRUeXBlOnQsbGluZUNvbG9yOmksbGluZUNvbG9yR3Jvd2luZzpyLGxpbmVDb2xvckZhbGxpbmc6bix0b3BDb2xvcjphLGJvdHRvbUNvbG9yOnMsbGluZVdpZHRoOmR9O2JyZWFrfX10aGlzLm9wdGlvbnM9e2NvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIsd2lkdGg6Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuZml4U2l6ZShlLndpZHRoKXx8IiIsaGVpZ2h0OmMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmZpeFNpemUodCl8fCIiLHN5bWJvbHM6ZS5zeW1ib2xzLGdyZXlUZXh0OmUuZ3JleVRleHR8fCIiLHN5bWJvbHNfZGVzY3JpcHRpb246ZS5zeW1ib2xzX2Rlc2NyaXB0aW9ufHwiIixsYXJnZV9jaGFydF91cmw6ZS5sYXJnZV9jaGFydF91cmx8fCIiLGN1c3RvbWVyOmUuY3VzdG9tZXJ8fCIiLGJhY2tncm91bmRDb2xvcjplLmJhY2tncm91bmRDb2xvcnx8IiIsZ3JpZExpbmVDb2xvcjplLmdyaWRMaW5lQ29sb3J8fCIiLGZvbnRDb2xvcjplLmZvbnRDb2xvcnx8IiIsZm9udFNpemU6ZS5mb250U2l6ZXx8IiIsd2lkZ2V0Rm9udENvbG9yOmUud2lkZ2V0Rm9udENvbG9yfHwiIix0aW1lQXhpc0JhY2tncm91bmRDb2xvcjplLnRpbWVBeGlzQmFja2dyb3VuZENvbG9yfHwiIixjaGFydE9ubHk6ISFlLmNoYXJ0T25seSxsb2NhbGU6ZS5sb2NhbGUsY29sb3JUaGVtZTplLmNvbG9yVGhlbWUsaXNUcmFuc3BhcmVudDplLmlzVHJhbnNwYXJlbnQsdXNlV2lkZ2V0SG9zdDpCb29sZWFuKGUudXNlV2lkZ2V0SG9zdCksc2hvd0Zsb2F0aW5nVG9vbHRpcDplLnNob3dGbG9hdGluZ1Rvb2x0aXAsdmFsdWVzVHJhY2tpbmc6ZS52YWx1ZXNUcmFja2luZyxjaGFuZ2VNb2RlOmUuY2hhbmdlTW9kZSxkYXRlRm9ybWF0OmUuZGF0ZUZvcm1hdCx0aW1lSG91cnNGb3JtYXQ6ZS50aW1lSG91cnNGb3JtYXQsc2hvd1ZvbHVtZTplLnNob3dWb2x1bWUsc2hvd01BOmUuc2hvd01BLHZvbHVtZVVwQ29sb3I6ZS52b2x1bWVVcENvbG9yLHZvbHVtZURvd25Db2xvcjplLnZvbHVtZURvd25Db2xvcixtYUxpbmVDb2xvcjplLm1hTGluZUNvbG9yLG1hTGluZVdpZHRoOmUubWFMaW5lV2lkdGgsbWFMZW5ndGg6ZS5tYUxlbmd0aCxoaWRlRGF0ZVJhbmdlczplLmhpZGVEYXRlUmFuZ2VzLGhpZGVNYXJrZXRTdGF0dXM6ZS5oaWRlTWFya2V0U3RhdHVzLGhpZGVTeW1ib2xMb2dvOmUuaGlkZVN5bWJvbExvZ28sc2NhbGVQb3NpdGlvbjplLnNjYWxlUG9zaXRpb24sc2NhbGVNb2RlOmUuc2NhbGVNb2RlLGZvbnRGYW1pbHk6ZS5mb250RmFtaWx5LG5vVGltZVNjYWxlOmUubm9UaW1lU2NhbGUsLi4ub30sdGhpcy5jcmVhdGUoKX0sd2lkZ2V0OmZ1bmN0aW9uKGUpe3RoaXMuaWQ9ZS5pZHx8Yy5nSWQoKTt2YXIgdD1jLmdldFVybFBhcmFtcygpLG89ZS50dndpZGdldHN5bWJvbHx8dC50dndpZGdldHN5bWJvbHx8dC5zeW1ib2x8fGUuc3ltYm9sfHwiTkFTREFROkFBUEwiLGk9ZS5sb2dvfHwiIjtpLnNyYyYmKGk9aS5zcmMpLGkmJmkucmVwbGFjZSgiLnBuZyIsIiIpO3ZhciByPWMuY2FsY3VsYXRlV2lkZ2V0SGVpZ2h0KGUuaGVpZ2h0fHw1MDAsZS5jb250YWluZXJfaWQpO3RoaXMub3B0aW9ucz17d2lkdGg6ZS53aWR0aHx8ODAwLGhlaWdodDpyLHN5bWJvbDpvLGludGVydmFsOmUuaW50ZXJ2YWx8fCIxIixyYW5nZTplLnJhbmdlfHwiIix0aW1lem9uZTplLnRpbWV6b25lfHwiIixhdXRvc2l6ZTplLmF1dG9zaXplLGhpZGVfdG9wX3Rvb2xiYXI6ZS5oaWRlX3RvcF90b29sYmFyLGhpZGVfc2lkZV90b29sYmFyOmUuaGlkZV9zaWRlX3Rvb2xiYXIsaGlkZV9sZWdlbmQ6ZS5oaWRlX2xlZ2VuZCxoaWRlX3ZvbHVtZTplLmhpZGVfdm9sdW1lLGFsbG93X3N5bWJvbF9jaGFuZ2U6ZS5hbGxvd19zeW1ib2xfY2hhbmdlLHNhdmVfaW1hZ2U6dm9pZCAwPT09ZS5zYXZlX2ltYWdlfHxlLnNhdmVfaW1hZ2UsY29udGFpbmVyOmUuY29udGFpbmVyX2lkfHwiIix3YXRjaGxpc3Q6ZS53YXRjaGxpc3R8fFtdLGNvbXBhcmVTeW1ib2xzOmUuY29tcGFyZVN5bWJvbHN8fFtdLGVkaXRhYmxld2F0Y2hsaXN0OiEhZS5lZGl0YWJsZXdhdGNobGlzdCxzdHVkaWVzOmUuc3R1ZGllc3x8W10sdGhlbWU6ZS50aGVtZXx8IiIsc3R5bGU6ZS5zdHlsZXx8IiIsZXh0ZW5kZWRfaG91cnM6dm9pZCAwPT09ZS5leHRlbmRlZF9ob3Vycz92b2lkIDA6K2UuZXh0ZW5kZWRfaG91cnMsZGV0YWlsczohIWUuZGV0YWlscyxjYWxlbmRhcjohIWUuY2FsZW5kYXIsaG90bGlzdDohIWUuaG90bGlzdCxoaWRlaWRlYXNidXR0b246ISFlLmhpZGVpZGVhc2J1dHRvbix3aWRnZXRiYXJfd2lkdGg6K2Uud2lkZ2V0YmFyX3dpZHRofHx2b2lkIDAsd2l0aGRhdGVyYW5nZXM6ZS53aXRoZGF0ZXJhbmdlc3x8IiIsY3VzdG9tZXI6ZS5jdXN0b21lcnx8aXx8IiIsdmVudWU6ZS52ZW51ZSxzeW1ib2xvZ3k6ZS5zeW1ib2xvZ3ksbG9nbzppLHNob3dfcG9wdXBfYnV0dG9uOiEhZS5zaG93X3BvcHVwX2J1dHRvbixwb3B1cF9oZWlnaHQ6ZS5wb3B1cF9oZWlnaHR8fCIiLHBvcHVwX3dpZHRoOmUucG9wdXBfd2lkdGh8fCIiLHN0dWRpZXNfb3ZlcnJpZGVzOmUuc3R1ZGllc19vdmVycmlkZXMsb3ZlcnJpZGVzOmUub3ZlcnJpZGVzLGVuYWJsZWRfZmVhdHVyZXM6ZS5lbmFibGVkX2ZlYXR1cmVzLGRpc2FibGVkX2ZlYXR1cmVzOmUuZGlzYWJsZWRfZmVhdHVyZXMscHVibGlzaF9zb3VyY2U6ZS5wdWJsaXNoX3NvdXJjZXx8IiIsd2hvdHJhZGVzOmUud2hvdHJhZGVzfHx2b2lkIDAsbG9jYWxlOmUubG9jYWxlLHJlZmVycmFsX2lkOmUucmVmZXJyYWxfaWQsbm9fcmVmZXJyYWxfaWQ6ZS5ub19yZWZlcnJhbF9pZCxmdW5kYW1lbnRhbDplLmZ1bmRhbWVudGFsLHBlcmNlbnRhZ2U6ZS5wZXJjZW50YWdlLGhpZGV2b2x1bWU6ZS5oaWRldm9sdW1lLHBhZGRpbmc6ZS5wYWRkaW5nLGdyZXlUZXh0OmUuZ3JleVRleHR8fCIiLGhvcnp0b3VjaGRyYWc6ZS5ob3J6dG91Y2hkcmFnLHZlcnR0b3VjaGRyYWc6ZS52ZXJ0dG91Y2hkcmFnLHVzZVdpZGdldEhvc3Q6Qm9vbGVhbihlLnVzZVdpZGdldEhvc3QpLGJhY2tncm91bmRDb2xvcjplLmJhY2tncm91bmRDb2xvcixncmlkQ29sb3I6ZS5ncmlkQ29sb3IsZG9Ob3RTdG9yZVNldHRpbmdzOmUuZG9Ob3RTdG9yZVNldHRpbmdzfSxlLmNtZSYmKHRoaXMub3B0aW9ucy5jdXN0b21lcj0iY21lIiksaXNGaW5pdGUoZS53aWRnZXRiYXJfd2lkdGgpJiZlLndpZGdldGJhcl93aWR0aD4wJiYodGhpcy5vcHRpb25zLndpZGdldGJhcl93aWR0aD1lLndpZGdldGJhcl93aWR0aCksdGhpcy5fcmVhZHlfaGFuZGxlcnM9W10sdGhpcy5jcmVhdGUoKX0sY2hhcnQ6ZnVuY3Rpb24oZSl7dGhpcy5pZD1jLmdJZCgpLHRoaXMub3B0aW9ucz17d2lkdGg6ZS53aWR0aHx8NjQwLGhlaWdodDplLmhlaWdodHx8NTAwLGNvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIscmVhbHRpbWU6ZS5yZWFsdGltZSxjaGFydDplLmNoYXJ0LGxvY2FsZTplLmxvY2FsZSx0eXBlOiJjaGFydCIsYXV0b3NpemU6ZS5hdXRvc2l6ZSxtb2JpbGVTdGF0aWM6ZS5tb2JpbGVTdGF0aWN9LHRoaXMuX3JlYWR5X2hhbmRsZXJzPVtdLHRoaXMuY3JlYXRlKCl9LHN0cmVhbTpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oIldlJ3JlIHNvcnJ5LCB0aGUgU3RyZWFtIHdpZGdldCBpcyBkaXNjb250aW51ZWQiKX0sRXZlbnRzV2lkZ2V0OmZ1bmN0aW9uKGUpe3RoaXMuaWQ9Yy5nSWQoKSx0aGlzLm9wdGlvbnM9e2NvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIsd2lkdGg6ZS53aWR0aHx8NDg2LGhlaWdodDplLmhlaWdodHx8NjcwLGN1cnJlbmN5OmUuY3VycmVuY3lGaWx0ZXJ8fCIiLGltcG9ydGFuY2U6ZS5pbXBvcnRhbmNlRmlsdGVyfHwiIix0eXBlOiJlY29ub21pYy1jYWxlbmRhciJ9LHRoaXMuY3JlYXRlKGUpfSxJZGVhV2lkZ2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJXZSdyZSBzb3JyeSwgdGhlIElkZWEgUHJldmlldyB3aWRnZXQgaXMgZGlzY29udGludWVkIil9LENoYXRXaWRnZXRFbWJlZDpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oIldlJ3JlIHNvcnJ5LCB0aGUgQ2hhdCB3aWRnZXQgaXMgZGlzY29udGludWVkIil9fTtjLldpZGdldEFic3RyYWN0LnByb3RvdHlwZT17d2lkZ2V0SWQ6InVua25vd24iLGZpeFNpemU6ZnVuY3Rpb24oZSl7cmV0dXJuL15bMC05XSsoXC58LFswLTldKSokLy50ZXN0KGUpP2UrInB4IjplfSx3aWR0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuYXV0b3NpemU/IjEwMCUiOmMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmZpeFNpemUodGhpcy5vcHRpb25zLndpZHRoKX0saGVpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5hdXRvc2l6ZT8iMTAwJSI6Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuZml4U2l6ZSh0aGlzLm9wdGlvbnMuaGVpZ2h0KX0sYWRkV3JhcHBlckZyYW1lOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuaWQ9dGhpcy5pZCsiLXdyYXBwZXIiLHQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IHJlbGF0aXZlO2JveC1zaXppbmc6IGNvbnRlbnQtYm94O21hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7cGFkZGluZzogMCAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OiAiK2wrIjsiLHQuc3R5bGUud2lkdGg9Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUud2lkdGguY2FsbCh0aGlzKSx0LnN0eWxlLmhlaWdodD1jLldpZGdldEFic3RyYWN0LnByb3RvdHlwZS5oZWlnaHQuY2FsbCh0aGlzKSx0LmFwcGVuZENoaWxkKGUpLHR9fSxjLkV2ZW50c1dpZGdldC5wcm90b3R5cGU9e3dpZGdldElkOiJldmVudHMiLGNyZWF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMucmVuZGVyKCk7aChlLHRoaXMub3B0aW9ucyl9LHJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPW5ldyBVUkwoYy5nZXRIb3N0KHRoaXMub3B0aW9ucykpO2UucGF0aG5hbWU9Ii9ldmVudHN3aWRnZXRlbWJlZC8iLGMuYWRkVXJsUGFyYW1zKGUse2N1cnJlbmN5OnRoaXMub3B0aW9ucy5jdXJyZW5jeSxpbXBvcnRhbmNlOnRoaXMub3B0aW9ucy5pbXBvcnRhbmNlfSksdGhpcy5vcHRpb25zLnR5cGU9ImV2ZW50cyIsYy5hZGRVcmxQYXJhbXMoZSxjLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHRoaXMub3B0aW9ucykpO2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7cmV0dXJuIHQudGl0bGU9Yy5nZXRXaWRnZXRUaXRsZUF0dHJpYnV0ZSh0aGlzLm9wdGlvbnMuaWZyYW1lVGl0bGUsdGhpcy53aWRnZXRJZCksdC5sYW5nPXRoaXMub3B0aW9ucy5pZnJhbWVMYW5nfHwiZW4iLHQud2lkdGg9dGhpcy5vcHRpb25zLndpZHRoLHRoaXMub3B0aW9ucy5oZWlnaHQmJih0LmhlaWdodD10aGlzLm9wdGlvbnMuaGVpZ2h0KSx0LnNldEF0dHJpYnV0ZSgiZnJhbWVCb3JkZXIiLCIwIiksdC5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksdC5zcmM9ZSx0fX0sYy5NZWRpdW1XaWRnZXQucHJvdG90eXBlPXt3aWRnZXRJZDoic3ltYm9sLW92ZXJ2aWV3IixjcmVhdGU6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMucmVuZGVyKCk7aChlLHRoaXMub3B0aW9ucyl9LHJlbmRlcjpmdW5jdGlvbigpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IoY29uc3QgdCBvZlsic3ltYm9scyIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3JUaGVtZSIsImJhY2tncm91bmRDb2xvciIsImdyaWRMaW5lQ29sb3IiLCJmb250Q29sb3IiLCJ3aWRnZXRGb250Q29sb3IiLCJ1bmRlckxpbmVDb2xvciIsInVuZGVyTGluZUJvdHRvbUNvbG9yIiwidHJlbmRMaW5lQ29sb3IiLCJhY3RpdmVUaWNrZXJCYWNrZ3JvdW5kQ29sb3IiLCJ0aW1lQXhpc0JhY2tncm91bmRDb2xvciIsInNjYWxlUG9zaXRpb24iLCJzY2FsZU1vZGUiLCJjaGFydFR5cGUiLCJjb2xvciIsImNvbG9yR3Jvd2luZyIsImNvbG9yRmFsbGluZyIsImxpbmVDb2xvciIsImxpbmVDb2xvckdyb3dpbmciLCJsaW5lQ29sb3JGYWxsaW5nIiwidG9wQ29sb3IiLCJib3R0b21Db2xvciIsInVwQ29sb3IiLCJkb3duQ29sb3IiLCJib3JkZXJVcENvbG9yIiwiYm9yZGVyRG93bkNvbG9yIiwid2lja1VwQ29sb3IiLCJ3aWNrRG93bkNvbG9yIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwibm9UaW1lU2NhbGUiLCJ2YWx1ZXNUcmFja2luZyIsImNoYW5nZU1vZGUiLCJkYXRlRm9ybWF0IiwidGltZUhvdXJzRm9ybWF0IiwibGluZVdpZHRoIiwidm9sdW1lVXBDb2xvciIsInZvbHVtZURvd25Db2xvciIsImNoYXJ0T25seSIsImlzVHJhbnNwYXJlbnQiLCJzaG93RmxvYXRpbmdUb29sdGlwIiwic2hvd1ZvbHVtZSIsInNob3dNQSIsIm1hTGluZUNvbG9yIiwibWFMaW5lV2lkdGgiLCJtYUxlbmd0aCIsImhpZGVEYXRlUmFuZ2VzIiwiaGlkZU1hcmtldFN0YXR1cyIsImhpZGVTeW1ib2xMb2dvIl0pdGhpcy5vcHRpb25zW3RdJiYoZVt0XT10aGlzLm9wdGlvbnNbdF0pO2VbInBhZ2UtdXJpIl09Yy5nZXRQYWdlVXJpU3RyaW5nKCksdGhpcy5vcHRpb25zLnR5cGU9InN5bWJvbC1vdmVydmlldyI7Y29uc3QgdD1jLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHRoaXMub3B0aW9ucyk7Zm9yKHZhciBvIG9mIE9iamVjdC5rZXlzKHQpKWVbb109dFtvXTtjb25zdCBpPW5ldyBVUkwoIi9lbWJlZC13aWRnZXQvc3ltYm9sLW92ZXJ2aWV3LyIsYy5nZXRIb3N0KHRoaXMub3B0aW9ucykpO3RoaXMub3B0aW9ucy5jdXN0b21lciYmKGkucGF0aG5hbWUrPXRoaXMub3B0aW9ucy5jdXN0b21lcisiLyIpLHRoaXMub3B0aW9ucy5sb2NhbGUmJmkuc2VhcmNoUGFyYW1zLmFwcGVuZCgibG9jYWxlIix0aGlzLm9wdGlvbnMubG9jYWxlKSxpLmhhc2g9ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGUpKTtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3JldHVybiByLnRpdGxlPWMuZ2V0V2lkZ2V0VGl0bGVBdHRyaWJ1dGUodGhpcy5vcHRpb25zLmlmcmFtZVRpdGxlLHRoaXMud2lkZ2V0SWQpLHIubGFuZz10aGlzLm9wdGlvbnMuaWZyYW1lTGFuZ3x8ImVuIixyLmlkPXRoaXMuaWQsci5zdHlsZS5jc3NUZXh0PSJtYXJnaW46IDAgIWltcG9ydGFudDtwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Iix0aGlzLm9wdGlvbnMud2lkdGgmJihyLnN0eWxlLndpZHRoPXRoaXMub3B0aW9ucy53aWR0aCksdGhpcy5vcHRpb25zLmhlaWdodCYmKHIuc3R5bGUuaGVpZ2h0PXRoaXMub3B0aW9ucy5oZWlnaHQpLHIuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSxyLnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksci5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksci5zcmM9aS5ocmVmLHJ9LHJlbW92ZTpmdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmFkaW5ndmlld193aWRnZXQiKTtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9fSxjLndpZGdldC5wcm90b3R5cGU9e3dpZGdldElkOiJhZHZhbmNlZC1jaGFydCIsY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnR5cGU9dGhpcy5vcHRpb25zLmZ1bmRhbWVudGFsPyJmdW5kYW1lbnRhbCI6ImNoYXJ0Iix0aGlzLmlmcmFtZT10aGlzLnJlbmRlcigpO3ZhciBlPXRoaXM7bGV0IHQ9dGhpcy5pZnJhbWU7dGhpcy5vcHRpb25zLm5vTG9nb092ZXJsYXl8fCh0PWMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmFkZFdyYXBwZXJGcmFtZS5jYWxsKHRoaXMsdCkpLGgodCx0aGlzLm9wdGlvbnMpO3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmFkaW5ndmlldy1jb3B5cmlnaHQiKTtvJiZvLnBhcmVudEVsZW1lbnQmJm8ucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChvKSx0aGlzLnBvc3RNZXNzYWdlPWMucG9zdE1lc3NhZ2VXcmFwcGVyKHRoaXMuaWZyYW1lLmNvbnRlbnRXaW5kb3csdGhpcy5pZCksYy5iaW5kRXZlbnQodGhpcy5pZnJhbWUsImxvYWQiLChmdW5jdGlvbigpe2UucG9zdE1lc3NhZ2UuZ2V0KCJ3aWRnZXRSZWFkeSIse30sKGZ1bmN0aW9uKCl7dmFyIHQ7Zm9yKGUuX3JlYWR5PSEwLHQ9ZS5fcmVhZHlfaGFuZGxlcnMubGVuZ3RoO3QtLTspZS5fcmVhZHlfaGFuZGxlcnNbdF0uY2FsbChlKX0pKX0pKSxlLnBvc3RNZXNzYWdlLm9uKCJvcGVuQ2hhcnRJblBvcHVwIiwoZnVuY3Rpb24odCl7Zm9yKHZhciBvPWMuY2xvbmVTaW1wbGVPYmplY3QoZS5vcHRpb25zKSxpPVsic3ltYm9sIiwiaW50ZXJ2YWwiXSxyPWkubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPWlbcl0sYT10W25dO2EmJihvW25dPWEpfW8uc2hvd19wb3B1cF9idXR0b249ITE7dmFyIHM9ZS5vcHRpb25zLnBvcHVwX3dpZHRofHw5MDAsZD1lLm9wdGlvbnMucG9wdXBfaGVpZ2h0fHw2MDAsbD0oc2NyZWVuLndpZHRoLXMpLzIsaD0oc2NyZWVuLmhlaWdodC1kKS8yLGc9d2luZG93Lm9wZW4oZS5nZW5lcmF0ZVVybChvKSwiX2JsYW5rIiwicmVzaXphYmxlPXllcywgdG9wPSIraCsiLCBsZWZ0PSIrbCsiLCB3aWR0aD0iK3MrIiwgaGVpZ2h0PSIrZCk7ZyYmKGcub3BlbmVyPW51bGwpfSkpfSxyZWFkeTpmdW5jdGlvbihlKXt0aGlzLl9yZWFkeT9lLmNhbGwodGhpcyk6dGhpcy5fcmVhZHlfaGFuZGxlcnMucHVzaChlKX0scmVuZGVyOmZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gZS50aXRsZT1jLmdldFdpZGdldFRpdGxlQXR0cmlidXRlKHRoaXMub3B0aW9ucy5pZnJhbWVUaXRsZSx0aGlzLndpZGdldElkKSxlLmxhbmc9dGhpcy5vcHRpb25zLmlmcmFtZUxhbmd8fCJlbiIsZS5pZD10aGlzLmlkLGUuc3R5bGUuY3NzVGV4dD0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsiLGUuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSxlLnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksZS5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksZS5zZXRBdHRyaWJ1dGUoImFsbG93ZnVsbHNjcmVlbiIsInRydWUiKSxlLnNyYz10aGlzLmdlbmVyYXRlVXJsKCksZX0sZ2VuZXJhdGVVcmw6ZnVuY3Rpb24oZSl7dmFyIHQ7ZnVuY3Rpb24gbyhlLHQsbyl7bGV0IGk9Zyh0LG8pOyJvYmplY3QiPT10eXBlb2YgaSYmKGk9SlNPTi5zdHJpbmdpZnkoaSkpLHZvaWQgMCE9PWkmJiIiIT09aSYmKGFbZV09aSl9ZnVuY3Rpb24gaShlLHQsaSl7byhlLHZvaWQgMD09PXQ/dm9pZCAwOnQ/IjEiOmkpfXQ9ImNtZSI9PT0oZT1lfHx0aGlzLm9wdGlvbnMpLmN1c3RvbWVyPyIvY21ld2lkZ2V0ZW1iZWQvIjplLmN1c3RvbWVyPyIvIitlLmN1c3RvbWVyKyIvd2lkZ2V0ZW1iZWQvIjoiL3dpZGdldGVtYmVkLyI7dmFyIHI9Yy5nZXRIb3N0KGUpO2NvbnN0IG49bmV3IFVSTChyK3QpO24uc2VhcmNoUGFyYW1zLmFwcGVuZCgiaGlkZWlkZWFzIiwiMSIpLG4uc2VhcmNoUGFyYW1zLmFwcGVuZCgib3ZlcnJpZGVzIixKU09OLnN0cmluZ2lmeShnKGUub3ZlcnJpZGVzLHt9KSkpLG4uc2VhcmNoUGFyYW1zLmFwcGVuZCgiZW5hYmxlZF9mZWF0dXJlcyIsSlNPTi5zdHJpbmdpZnkoZyhlLmVuYWJsZWRfZmVhdHVyZXMsW10pKSksbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJkaXNhYmxlZF9mZWF0dXJlcyIsSlNPTi5zdHJpbmdpZnkoZyhlLmRpc2FibGVkX2ZlYXR1cmVzLFtdKSkpLGUubG9jYWxlJiZuLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxvY2FsZSIsZS5sb2NhbGUpO2NvbnN0IGE9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gYS5zeW1ib2w9ZS5zeW1ib2wsYS5mcmFtZUVsZW1lbnRJZD10aGlzLmlkLGEuaW50ZXJ2YWw9ZS5pbnRlcnZhbCxvKCJyYW5nZSIsZS5yYW5nZSksaSgiaGlkZV90b3BfdG9vbGJhciIsZS5oaWRlX3RvcF90b29sYmFyKSxpKCJoaWRlX2xlZ2VuZCIsZS5oaWRlX2xlZ2VuZCksaSgiaGlkZV9zaWRlX3Rvb2xiYXIiLGUuaGlkZV9zaWRlX3Rvb2xiYXIsIjAiKSxpKCJhbGxvd19zeW1ib2xfY2hhbmdlIixlLmFsbG93X3N5bWJvbF9jaGFuZ2UsIjAiKSxpKCJzYXZlX2ltYWdlIixlLnNhdmVfaW1hZ2UsIjAiKSxpKCJkb05vdFN0b3JlU2V0dGluZ3MiLGUuZG9Ob3RTdG9yZVNldHRpbmdzKSxvKCJiYWNrZ3JvdW5kQ29sb3IiLGUuYmFja2dyb3VuZENvbG9yKSxvKCJncmlkQ29sb3IiLGUuZ3JpZENvbG9yKSxlLndhdGNobGlzdCYmZS53YXRjaGxpc3QubGVuZ3RoJiZlLndhdGNobGlzdC5qb2luJiZvKCJ3YXRjaGxpc3QiLGUud2F0Y2hsaXN0LmpvaW4oIh8iKSksZS5jb21wYXJlU3ltYm9scyYmZS5jb21wYXJlU3ltYm9scy5sZW5ndGgmJm8oImNvbXBhcmVTeW1ib2xzIixlLmNvbXBhcmVTeW1ib2xzKSxpKCJlZGl0YWJsZXdhdGNobGlzdCIsZS5lZGl0YWJsZXdhdGNobGlzdCksaSgiZGV0YWlscyIsZS5kZXRhaWxzKSxpKCJjYWxlbmRhciIsZS5jYWxlbmRhciksaSgiaG90bGlzdCIsZS5ob3RsaXN0KSxlLnN0dWRpZXMmJmMuaXNBcnJheShlLnN0dWRpZXMpJiYoInN0cmluZyI9PXR5cGVvZiBlLnN0dWRpZXNbMF0/bygic3R1ZGllcyIsZS5zdHVkaWVzLmpvaW4oIh8iKSk6bygic3R1ZGllcyIsZS5zdHVkaWVzKSksaSgiaG9yenRvdWNoZHJhZyIsZS5ob3J6dG91Y2hkcmFnLCIwIiksaSgidmVydHRvdWNoZHJhZyIsZS52ZXJ0dG91Y2hkcmFnLCIwIiksbygid2lkZ2V0YmFyX3dpZHRoIixlLndpZGdldGJhcl93aWR0aCksbygidGhlbWUiLGUudGhlbWUpLG8oInN0eWxlIixlLnN0eWxlKSxvKCJleHRlbmRlZF9ob3VycyIsZS5leHRlbmRlZF9ob3VycyksbygidGltZXpvbmUiLGUudGltZXpvbmUpLGkoImhpZGVpZGVhc2J1dHRvbiIsZS5oaWRlaWRlYXNidXR0b24pLGkoIndpdGhkYXRlcmFuZ2VzIixlLndpdGhkYXRlcmFuZ2VzKSxpKCJoaWRlX3ZvbHVtZSIsZS5oaWRlX3ZvbHVtZSksbygicGFkZGluZyIsZS5wYWRkaW5nKSxpKCJzaG93X3BvcHVwX2J1dHRvbiIsZS5zaG93X3BvcHVwX2J1dHRvbiksbygicGFkZGluZyIsZS5wYWRkaW5nKSxvKCJzdHVkaWVzX292ZXJyaWRlcyIsZS5zdHVkaWVzX292ZXJyaWRlcyx7fSksbygicHVibGlzaF9zb3VyY2UiLGUucHVibGlzaF9zb3VyY2UpLG8oInZlbnVlIixlLnZlbnVlKSxvKCJzeW1ib2xvZ3kiLGUuc3ltYm9sb2d5KSxvKCJ3aG90cmFkZXMiLGUud2hvdHJhZGVzKSxvKCJyZWZlcnJhbF9pZCIsZS5yZWZlcnJhbF9pZCksaSgibm9fcmVmZXJyYWxfaWQiLGUubm9fcmVmZXJyYWxfaWQpLG8oImZ1bmRhbWVudGFsIixlLmZ1bmRhbWVudGFsKSxvKCJwZXJjZW50YWdlIixlLnBlcmNlbnRhZ2UpLG8oInV0bV9zb3VyY2UiLHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSksbygidXRtX21lZGl1bSIsYy5oYXNDb3B5cmlnaHQoZS5jb250YWluZXIpPyJ3aWRnZXRfbmV3Ijoid2lkZ2V0IiksbygidXRtX2NhbXBhaWduIixlLnR5cGUpLHIhPT1jLmhvc3QmJm8oInN1cHBvcnRIb3N0IixjLmhvc3QpLGUudHlwZSYmImNoYXJ0Ij09PWUudHlwZSYmbygidXRtX3Rlcm0iLGUuc3ltYm9sKSxvKCJwYWdlLXVyaSIsYy5nZXRQYWdlVXJpU3RyaW5nKCkpLGAke259IyR7ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGEpKX1gfSxpbWFnZTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRyYWRpbmdWaWV3LndpZGdldCNpbWFnZSgpIGlzIGRlcHJlY2F0ZWQuIFVzZSB3aWRnZXQuaW1hZ2VDYW52YXMoKSBpbnN0ZWFkLiIpfSxpbWFnZUNhbnZhczphc3luYyBmdW5jdGlvbigpe2lmKCF0aGlzLnBvc3RNZXNzYWdlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHRha2UgYSBzY3JlZW5zaG90IGJlZm9yZSB3aWRnZXQgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUuIik7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e3RoaXMucG9zdE1lc3NhZ2UuZ2V0KCJpbWFnZUNhbnZhcyIse30sKGZ1bmN0aW9uKG8pe2lmKG8mJiJvYmplY3QiPT10eXBlb2YgbyYmby5kYXRhVXJsKXt2YXIgaT1uZXcgSW1hZ2U7aS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyLndpZHRoPW8ud2lkdGh8fGkubmF0dXJhbFdpZHRofHxpLndpZHRoLHIuaGVpZ2h0PW8uaGVpZ2h0fHxpLm5hdHVyYWxIZWlnaHR8fGkuaGVpZ2h0O3ZhciBuPXIuZ2V0Q29udGV4dCgiMmQiKTtuPyhuLmRyYXdJbWFnZShpLDAsMCksZShyKSk6dChuZXcgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgMkQgY29udGV4dCBmb3Igc2NyZWVuc2hvdCBjYW52YXMuIikpfSxpLm9uZXJyb3I9ZnVuY3Rpb24oKXt0KG5ldyBFcnJvcigiRmFpbGVkIHRvIGRlc2VyaWFsaXplIHNjcmVlbnNob3QgcGF5bG9hZCBpbnRvIGFuIGltYWdlLiIpKX0saS5zcmM9by5kYXRhVXJsfWVsc2UgdChuZXcgRXJyb3IoIkZhaWxlZCB0byByZWNlaXZlIHNjcmVlbnNob3QgcGF5bG9hZCBmcm9tIHdpZGdldCBpZnJhbWUuIikpfSkpfSkpfSxzdWJzY3JpYmVUb1F1b3RlOmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO3RoaXMucG9zdE1lc3NhZ2UucG9zdCh0LmNvbnRlbnRXaW5kb3csInF1b3RlU3Vic2NyaWJlIiksdGhpcy5wb3N0TWVzc2FnZS5vbigicXVvdGVVcGRhdGUiLGUpfSxnZXRTeW1ib2xJbmZvOmZ1bmN0aW9uKGUpe3RoaXMucG9zdE1lc3NhZ2UuZ2V0KCJzeW1ib2xJbmZvIix7fSxlKX0scmVtb3ZlOmZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7ZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfSxyZWxvYWQ6ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtlLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHRoaXMucmVuZGVyKCksZSl9fSxjLmNoYXJ0LnByb3RvdHlwZT17d2lkZ2V0SWQ6InB1Ymxpc2hlZC1jaGFydCIsY3JlYXRlOmZ1bmN0aW9uKCl7Y29uc3QgZT10aGlzLnJlbmRlcigpLHQ9Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuYWRkV3JhcHBlckZyYW1lLmNhbGwodGhpcyxlKTt2YXIgbyxpPXRoaXM7aCh0LHRoaXMub3B0aW9ucyksbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKSxjLmJpbmRFdmVudChvLCJsb2FkIiwoZnVuY3Rpb24oKXt2YXIgZTtmb3IoaS5fcmVhZHk9ITAsZT1pLl9yZWFkeV9oYW5kbGVycy5sZW5ndGg7ZS0tOylpLl9yZWFkeV9oYW5kbGVyc1tlXS5jYWxsKGkpfSkpLGMub25yZWFkeSgoZnVuY3Rpb24oKXt2YXIgZT0hMTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhW2hyZWYkPSIvdi8nK2kub3B0aW9ucy5jaGFydCsnLyJdJykmJihlPSEwKSwhZSlmb3IodmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKSxyPW5ldyBSZWdFeHAoIi92LyIraS5vcHRpb25zLmNoYXJ0KyIvJCIpLG49bmV3IFJlZ0V4cCgiL2NoYXJ0LyhbMC05YS16QS1aOisqLS8oKV0rKS8iK2kub3B0aW9ucy5jaGFydCksYT0wO2E8dC5sZW5ndGg7YSsrKWlmKHIudGVzdCh0W2FdLmhyZWYpfHxuLnRlc3QodFthXS5ocmVmKSl7ZT0hMDticmVha31lJiYoby5zcmMrPSIjbm9saW5rcyIsby5uYW1lPSJub2xpbmtzIil9KSl9LHJlYWR5OmMud2lkZ2V0LnByb3RvdHlwZS5yZWFkeSxyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT1uZXcgVVJMKGAke2MuaG9zdH0vZW1iZWQvJHt0aGlzLm9wdGlvbnMuY2hhcnR9YCk7Yy5hZGRVcmxQYXJhbXMoZSx7bWV0aG9kOiJzY3JpcHQiLGxvY2FsZTp0aGlzLm9wdGlvbnMubG9jYWxlfSwhMCksdGhpcy5vcHRpb25zLnR5cGU9ImNoYXJ0IixjLmFkZFVybFBhcmFtcyhlLGMuZ2VuZXJhdGVVdG1Gb3JVcmxQYXJhbXModGhpcy5vcHRpb25zKSk7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC50aXRsZT1jLmdldFdpZGdldFRpdGxlQXR0cmlidXRlKHRoaXMub3B0aW9ucy5pZnJhbWVUaXRsZSx0aGlzLndpZGdldElkKSx0Lmxhbmc9dGhpcy5vcHRpb25zLmlmcmFtZUxhbmd8fCJlbiIsdC5pZD10aGlzLmlkLHQuc3R5bGUuY3NzVGV4dD0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsiLHQuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSx0LnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksdC5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksdC5zZXRBdHRyaWJ1dGUoImFsbG93ZnVsbHNjcmVlbiIsInRydWUiKSx0LnNyYz1lLmhyZWYsdH0sdG9nZ2xlRnVsbHNjcmVlbjpmdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudD09PXQ/ZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTp0LnJlcXVlc3RGdWxsc2NyZWVuKCl9fSxjLnBvc3RNZXNzYWdlV3JhcHBlcj0oaT17fSxyPXt9LG49e30sYT0wLHM9MCxkPSJUcmFkaW5nVmlldyIsd2luZG93LmFkZEV2ZW50TGlzdGVuZXImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24oZSl7dmFyIHQ7dHJ5e3Q9SlNPTi5wYXJzZShlLmRhdGEpfWNhdGNoKGUpe3JldHVybn1pZih0JiZ0LnByb3ZpZGVyJiZ0LnByb3ZpZGVyPT09ZClpZih0LnNvdXJjZT1lLnNvdXJjZSwiZ2V0Ij09PXQudHlwZSl7aWYoIXJbdC5uYW1lXSlyZXR1cm47clt0Lm5hbWVdLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmNhbGwodCx0LmRhdGEsKGZ1bmN0aW9uKGUpe3ZhciBpPXtpZDp0LmlkLHR5cGU6Im9uIixuYW1lOnQubmFtZSxjbGllbnRfaWQ6dC5jbGllbnRfaWQsZGF0YTplLHByb3ZpZGVyOmR9O28ucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaSksIioiKX0pKX0pKX1lbHNlIGlmKCJvbiI9PT10LnR5cGUpaVt0LmNsaWVudF9pZF0mJmlbdC5jbGllbnRfaWRdW3QuaWRdJiYoaVt0LmNsaWVudF9pZF1bdC5pZF0uY2FsbCh0LHQuZGF0YSksZGVsZXRlIGlbdC5jbGllbnRfaWRdW3QuaWRdKTtlbHNlIGlmKCJwb3N0Ij09PXQudHlwZSl7aWYoIXJbdC5uYW1lXSlyZXR1cm47clt0Lm5hbWVdLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmNhbGwodCx0LmRhdGEsKGZ1bmN0aW9uKCl7fSkpfSkpfX0pKSxmdW5jdGlvbihlLHQpe3JldHVybiBpW3RdPXt9LG5bdF09ZSxvPWUse29uOmZ1bmN0aW9uKGUsdCxvKXtyW2VdJiZvfHwocltlXT1bXSkscltlXS5wdXNoKHQpfSxvZmY6ZnVuY3Rpb24oZSx0KXtpZighcltlXSlyZXR1cm4hMTt2YXIgbz1yW2VdLmluZGV4T2YodCk7bz4tMSYmcltlXS5zcGxpY2UobywxKX0sZ2V0OmZ1bmN0aW9uKGUsbyxyKXt2YXIgcz17aWQ6YSsrLHR5cGU6ImdldCIsbmFtZTplLGNsaWVudF9pZDp0LGRhdGE6byxwcm92aWRlcjpkfTtpW3RdW3MuaWRdPXIsblt0XS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShzKSwiKiIpfSxwb3N0OmZ1bmN0aW9uKGUsdCxvKXt2YXIgaT17aWQ6cysrLHR5cGU6InBvc3QiLG5hbWU6dCxkYXRhOm8scHJvdmlkZXI6ZH07ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUucG9zdE1lc3NhZ2UmJmUucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaSksIioiKX19fSksYy5nZXRVcmxQYXJhbXM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9L1wrL2csdD0vKFteJj1dKyk9PyhbXiZdKikvZyxvPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGk9dC5leGVjKG8pLHI9ZnVuY3Rpb24odCl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh0LnJlcGxhY2UoZSwiICIpKX0sbj17fTtpOyluW3IoaVsxXSldPXIoaVsyXSksaT10LmV4ZWMobyk7cmV0dXJuIG59LGMuY3JlYXRlVXJsUGFyYW1zPWZ1bmN0aW9uKGUpe3ZhciB0PVtdO2Zvcih2YXIgbyBpbiBlKWUuaGFzT3duUHJvcGVydHkobykmJm51bGwhPWVbb10mJnQucHVzaChlbmNvZGVVUklDb21wb25lbnQobykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChlW29dKSk7cmV0dXJuIHQuam9pbigiJiIpfSxjLmFkZFVybFBhcmFtcz1mdW5jdGlvbihlLHQsbyl7Zm9yKHZhciBpIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShpKSYmKG8/dFtpXTpudWxsIT10W2ldKSYmZS5zZWFyY2hQYXJhbXMuc2V0KGksdFtpXSk7cmV0dXJuIGV9O3ZhciBoPWZ1bmN0aW9uKGUsdCl7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodC5jb250YWluZXIpO2lmKG8pe28uaW5uZXJIVE1MPSIiLG8uYXBwZW5kQ2hpbGQoZSk7dmFyIGk9by5wYXJlbnRFbGVtZW50JiZvLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTtpZihpKXtpLnN0eWxlLndpZHRoPW8ucXVlcnlTZWxlY3RvcigiaWZyYW1lIikuc3R5bGUud2lkdGg7dmFyIHI9aS5xdWVyeVNlbGVjdG9yKCJhIik7aWYocil7dmFyIG49ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihuKXRyeXtjb25zdCBlPW5ldyBVUkwobik7Yy5hZGRVcmxQYXJhbXMoZSxjLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHQpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsZS50b1N0cmluZygpKX1jYXRjaChlKXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7bn0iYCl9fX19ZWxzZSBkb2N1bWVudC5jdXJyZW50U2NyaXB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsZG9jdW1lbnQuY3VycmVudFNjcmlwdC5uZXh0U2libGluZyk7Y29uc3QgYT1jLmVtYmVkU3R5bGVzRm9yQ29weXJpZ2h0KCkscz1mdW5jdGlvbigpe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W25vbmNlXSIpO3JldHVybiBlJiYoZS5ub25jZXx8ZS5nZXRBdHRyaWJ1dGUoIm5vbmNlIikpfSgpO3MmJmEuc2V0QXR0cmlidXRlKCJub25jZSIscyksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKX07ZnVuY3Rpb24gZyhlLHQpe3JldHVybiBudWxsIT1lP2U6dH13aW5kb3cuVHJhZGluZ1ZpZXc/ZnVuY3Rpb24gZSh0LG8pe2Zvcih2YXIgaSBpbiBvKSJvYmplY3QiPT10eXBlb2Ygb1tpXSYmdC5oYXNPd25Qcm9wZXJ0eShpKT9lKHRbaV0sb1tpXSk6dFtpXT1vW2ldO3JldHVybiB0fSh3aW5kb3cuVHJhZGluZ1ZpZXcsYyk6d2luZG93LlRyYWRpbmdWaWV3PWN9KCk7"}},"time_used":59,"timings":{"blocked":-1,"dns":29,"connect":22,"send":0,"wait":3,"receive":-1,"ssl":5},"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.017Z","timestamp":1785136901017,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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 07:21:41 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: 86b9b95db75c724e26358045dc815925\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":13639,"size_decoded":6439,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"5f5b2f579bfcf6854f67787677d11c94","sha1":"6de49cc606825ccf66acbceb2ba4d23d91f0ec4c","sha256":"38c41c9069ed7604e737e462760f16363aad09961b1091c66dfab594df263108","sha512":"3a309c43d694230393cf3d65bb8e48af52ff337f61f287f020e266764e5df3ad2531cd999bc8dbf42e74c27546fd871a68515a183ef1c35d24e0c0cb77549a6c","ssdeep":"384:KossZPZ8HYrU0jAWia49Aa4/WHA1E9y3ywtUPIsxmvxqlOwSCoBPy7:KossZPZEYrU0AWPXa4/WHH9WywtUgsSi","tlshash":"9752c9ea72c1357251da45a7613e7202a3394588f4898178b52cecdf172edcd73b2abc","first_seen":"2026-07-23T13:38:20.421953Z","last_seen":"2026-07-28T07:05:00.655649Z","times_seen":1232,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODc5MjZdLHs3MzIwNDAoZSx0LG8pe3ZhciBuO2Z1bmN0aW9uIHIoZSx0PXdpbmRvdyl7Y29uc3Qgbz0idGhlbWUtIitlLG49dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20obikpZS5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmZSE9PW8mJm4ucmVtb3ZlKGUpO24uYWRkKG8pLHQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9ZX1vLmQodCx7YXBwbHlUaGVtZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0obnx8KG49e30pKX0sMjAwNjY2KGUsdCxvKXtvLmQodCx7c2V0VGhlbWU6KCk9PnN9KTt2YXIgbj1vKDIzMjM2NCkscj1vKDczMjA0MCk7Y29uc3QgaT1uZXcgbi5XYXRjaGVkVmFsdWU7ZnVuY3Rpb24gcyhlKXtpLnNldFZhbHVlKGUpfWkuc3Vic2NyaWJlKChlPT57KDAsci5hcHBseVRoZW1lKShlLHdpbmRvdyl9KSl9LDg0NTUxMChlLHQsbyl7by5kKHQse1RpY2tlckl0ZW1BYnN0cmFjdDooKT0+YX0pO28oMjI2MzMxKTt2YXIgbj1vKDIyMTA2MSkscj1vKDI4NDQ4NCksaT1vKDY3MzgyOSkscz1vKDk0ODM4MCksbD1vKDk2OTE2OCksYz1vKDgzNzgyMik7Y29uc3QgdT0oMCxuLmdldExvZ2dlcikoIldpZGdldFRpY2tlciIpO2NsYXNzIGF7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMub25Jbml0PW5ldyBzLkRlbGVnYXRlLHRoaXMub25Db21wbGV0ZT1uZXcgcy5EZWxlZ2F0ZSx0aGlzLm9uRXJyb3I9bmV3IHMuRGVsZWdhdGUsdGhpcy5fcXVvdGVUaWNrZXJDb21wbGV0ZT1udWxsLHRoaXMuX2lzUnVubmluZz0hMSx0aGlzLl9wcmV2UXVvdGVTeW1ib2w9bnVsbCx0aGlzLl9lbD10fHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdGhpcy5fc3ltYm9sRGF0YT1lLHRoaXMuX29wdGlvbnM9b3x8e30sKDAsaS52YWxpZGF0ZVN5bWJvbERhdGEpKGUpPyh0aGlzLnJlbmRlcigpLHRoaXMuc3RhcnQoKSk6dS5sb2dFcnJvcigic3ltYm9sRGF0YSBpcyBub3QgdmFsaWQiKX1yZW5kZXIoKXt0aGlzLl9lbC5jbGFzc0xpc3QuYWRkKHRoaXMuX2dldENsYXNzKCkpLHRoaXMuX2VsLmlubmVySFRNTD10aGlzLl9nZXRWaWV3KCksdGhpcy5fc2V0VGl0bGUoKSx0aGlzLl9zZXRMaW5rKCl9c3RhcnQoKXt0aGlzLl9pc1J1bm5pbmd8fCh0aGlzLl9zdGFydFF1b3RlVGlja2VyKCksdGhpcy5faXNSdW5uaW5nPSEwKX1zdG9wKCl7dGhpcy5faXNSdW5uaW5nJiYodGhpcy5fc3RvcFF1b3RlVGlja2VyKCksdGhpcy5faXNSdW5uaW5nPSExKX1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsfWNoYW5nZVN5bWJvbChlKXtjb25zdCB0PWUuaW5jbHVkZXMoIjoiKT97cHJvTmFtZTplfTp7c2hvcnROYW1lOmV9O3RoaXMuX3ByZXZRdW90ZVN5bWJvbD10aGlzLl9nZXRTeW1ib2xOYW1lKCksdGhpcy5fc3ltYm9sRGF0YT10LHRoaXMuX3NldFRpdGxlKCksdGhpcy5fc2V0TGluaygpLHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKX1xdW90ZVRpY2tlcigpe3JldHVybiB0aGlzLl9xdW90ZVRpY2tlcn1kaXNwbGF5UGxhY2Vob2xkZXJMZXR0ZXIoKXt0aGlzLl9yZW5kZXJTeW1ib2xMb2dvKFtdLCJ4eHhzbWFsbCIpfV9nZXRFbGVtZW50Q2xhc3MoZSl7cmV0dXJuIHRoaXMuX2dldENsYXNzKCkrIl9fIitlfV9nZXRTeW1ib2xOYW1lKCl7cmV0dXJuIHRoaXMuX3N5bWJvbERhdGEucHJvTmFtZXx8dGhpcy5fc3ltYm9sRGF0YS5zaG9ydE5hbWV9X3JlbmRlclN5bWJvbExvZ28oZSx0KXtjb25zdCBvPXRoaXMuX2VsLnF1ZXJ5U2VsZWN0b3IoIi5qcy1oZWFkZXItaWNvbiIpLG49MD09PWUubGVuZ3RoP3RoaXMuX2dldFBsYWNlaG9sZGVyTGV0dGVyKCk6dm9pZCAwO28mJnRoaXMuX3NldFN5bWJvbExvZ29IdG1sKG8sZSx0LG4pfV9nZXRQbGFjZWhvbGRlckxldHRlcigpe2NvbnN0IGU9dGhpcy5fc3ltYm9sRGF0YS5wcm9OYW1lLHQ9ZSYmZS5zcGxpdCgiOiIpWzFdO3JldHVybih0aGlzLl9zeW1ib2xEYXRhLnRpdGxlfHx0aGlzLl9zeW1ib2xEYXRhLmRlc2NyaXB0aW9ufHx0fHwiInx8IiAiKVswXX1fc2V0U3ltYm9sTG9nb0h0bWwoZSx0LG8sbil7aWYodC5sZW5ndGg+MHx8dm9pZCAwIT09bil7Y29uc3Qgcj0oMCxjLmdldENpcmNsZUxvZ29BbnlIdG1sKSh7bG9nb1VybHM6dCxzaXplOm8sY2xhc3NOYW1lOnRoaXMuX2dldEVsZW1lbnRDbGFzcygiaWNvbiIpLHBsYWNlaG9sZGVyTGV0dGVyOm59KTtlLmlubmVySFRNTD1yfWVsc2UgZS5pbm5lckhUTUw9IiJ9X3NldFRpdGxlKCl7Y29uc3QgZT10aGlzLl9nZXRFbFRpdGxlKCk7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc3ltYm9sRGF0YS50aXRsZXx8dGhpcy5fc3ltYm9sRGF0YS5kZXNjcmlwdGlvbnx8IiJ8fHRoaXMuX3N5bWJvbERhdGEuc2hvcnROYW1lfHx0aGlzLl9zeW1ib2xEYXRhLnByb05hbWV8fCIiLG89KDAsbC5kZXRlY3RBdXRvRGlyZWN0aW9uKSh0KTtvJiYoZS5kaXI9byksZS50ZXh0Q29udGVudD10fV9zZXRMaW5rKCl7aWYoISh0aGlzLl9lbCBpbnN0YW5jZW9mIEhUTUxBbmNob3JFbGVtZW50KSlyZXR1cm47Y29uc3QgZT10aGlzLl9zeW1ib2xEYXRhLmxpbmtQYWdlO2UmJih0aGlzLl9lbC5ocmVmPWUpLHRoaXMuX29wdGlvbnMuaXNFbWJlZFdpZGdldCYmKHRoaXMuX2VsLnRhcmdldD0iX2JsYW5rIix0aGlzLl9lbC5yZWw9ImV4dGVybmFsIG5vb3BlbmVyIil9X3N0YXJ0UXVvdGVUaWNrZXIoKXtpZighdGhpcy5fcXVvdGVUaWNrZXIpcmV0dXJuIHZvaWQgdGhpcy5fY3JlYXRlUXVvdGVUaWNrZXIoKTtjb25zdCBlPXRoaXMuX2dldFN5bWJvbE5hbWUoKTt0aGlzLl9wcmV2UXVvdGVTeW1ib2whPT1lPyh0aGlzLl9kZXN0cm95UXVvdGVUaWNrZXIoKSx0aGlzLl9jcmVhdGVRdW90ZVRpY2tlcigpKTp0aGlzLl9xdW90ZVRpY2tlci5lbmFibGUoKX1fc3RvcFF1b3RlVGlja2VyKCl7dGhpcy5fcXVvdGVUaWNrZXImJih0aGlzLl9xdW90ZVRpY2tlci5kaXNhYmxlKCksCnRoaXMuX3F1b3RlVGlja2VyQ29tcGxldGU9bnVsbCl9X2NyZWF0ZVF1b3RlVGlja2VyKCl7Y29uc3QgZT10aGlzLl9nZXRTeW1ib2xOYW1lKCksdD10aGlzLl9nZXRUaWNrZXJPcHRpb25zKCksbz10LmluaXRlZEhvb2ssbj10LnNldFN0YXRlSG9vazt0aGlzLl9xdW90ZVRpY2tlckNvbXBsZXRlPW51bGwsdGhpcy5fcXVvdGVUaWNrZXI9bmV3IHIuUXVvdGVUaWNrZXIoZSx0aGlzLl9lbCx7bm9TdWNoU3ltYm9sSG9vazooKT0+dGhpcy5vbkVycm9yLmZpcmUoIm5vX3N5bWJvbCIpLHBlcm1pc3Npb25EZW5pZWRIb29rOigpPT50aGlzLm9uRXJyb3IuZmlyZSgicGVybWlzc2lvbl9kZW5pZWQiKSwuLi50LGluaXRlZEhvb2s6KC4uLmUpPT57bz8uKC4uLmUpLHRoaXMub25Jbml0LmZpcmUoLi4uZSl9LHNldFN0YXRlSG9vazooZSx0LG8pPT57bj8uKGUsdCxvKSxvJiZudWxsPT09dGhpcy5fcXVvdGVUaWNrZXJDb21wbGV0ZSYmKHRoaXMuX3F1b3RlVGlja2VyQ29tcGxldGU9byx0aGlzLm9uQ29tcGxldGUuZmlyZSgpKX19KX1fZGVzdHJveVF1b3RlVGlja2VyKCl7dGhpcy5fc3RvcFF1b3RlVGlja2VyKCksZGVsZXRlIHRoaXMuX3F1b3RlVGlja2VyfV9nZXRFbFRpdGxlKCl7cmV0dXJuIHRoaXMuX2VsLnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMuX2dldEVsZW1lbnRDbGFzcygidGl0bGUiKX1gKX19fSwxMTUyOTMoZSx0LG8pe28uZCh0LHtkZXRlY3RBdXRvRGlyZWN0aW9uOigpPT5oLGZvcmNlTFRSU3RyOigpPT5hLGlzUnRsOigpPT5pLHNldERvY3VtZW50RGlyR2V0dGVyOigpPT5yLHN0cmlwTFRSTWFya3M6KCk9PnV9KTtvKDMyMDQwMyk7bGV0IG49KCk9Pm51bGw7ZnVuY3Rpb24gcihlKXtuPWV9Y29uc3QgaT0oKT0+InJ0bCI9PT1mdW5jdGlvbigpe2NvbnN0IGU9bigpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcigiRG9jdW1lbnQgZGlyZWN0aW9uIGdldHRlciBpcyBub3Qgc2V0LCBjYWxsIHNldERvY3VtZW50RGlyR2V0dGVyIHRvIHNldCBpdCIpO3JldHVybiBlfSgpLHM9IuKAqiIsbD0i4oCsIixjPW5ldyBSZWdFeHAoIuKAjnzigI984oCqfOKAq3zigKwiLCJnIik7ZnVuY3Rpb24gdShlKXtyZXR1cm4iIiE9PWUmJmkoKSYmbnVsbCE9ZT9lLnJlcGxhY2UoYywiIik6ZX1mdW5jdGlvbiBhKGUpe3JldHVybiIiIT09ZSYmaSgpJiZudWxsIT1lP3MrZStsOmV9dmFyIG07IWZ1bmN0aW9uKGUpe2UuTFRSPSJsdHIiLGUuUlRMPSJydGwiLGUuVU5LTk9XTj0iIn0obXx8KG09e30pKTtjb25zdCBkPS9bXlx1MDAwMC1cdTAwNDBcdTAwNUItXHUwMDYwXHUwMDdCLVx1MDBCRlx1MDBEN1x1MDBGN1x1MDJCOS1cdTAyRkZcdTIwMDAtXHUyMDBFXHUyMDEwLVx1MjAyOVx1MjAyQ1x1MjAyRi1cdTJCRkZdLyxwPS9bXHUwNTkwLVx1MDdGRlx1MjAwRlx1MjAyQlx1MjAyRVx1RkIxRC1cdUZERkRcdUZFNzAtXHVGRUZDXS87ZnVuY3Rpb24gaChlKXtjb25zdCB0PWQuZXhlYyhlKTtyZXR1cm4gdD9wLnRlc3QodFswXSk/InJ0bCI6Imx0ciI6IiJ9fSw2MDE4NDEoZSx0LG8pe28uZCh0LHtjbG9uZTooKT0+cixpc0FycmF5OigpPT5zLGlzSW50ZWdlcjooKT0+bCxpc051bWJlcjooKT0+bixpc09iamVjdDooKT0+aSxub3ROdWxsOigpPT5jfSk7bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiByKGUpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ7dD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2Zvcihjb25zdCBvIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShvKSl7Y29uc3Qgbj1lW29dO3Rbb109biYmIm9iamVjdCI9PXR5cGVvZiBuP3Iobik6bn1yZXR1cm4gdH1mdW5jdGlvbiBpKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWV9Y29uc3Qgcz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfTtmdW5jdGlvbiBsKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIG51bGwhPT1lfU51bWJlci5pc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfX0sMzQ0Nzg1KGUsdCxvKXtvLmQodCx7aGlkZTooKT0+dixzaG93T25FbGVtZW50OigpPT5wfSk7dmFyIG49bygzNjMyNjkpLHI9bygxMzg2MzgpLGk9byg3MjcwOSkscz1vKDY1ODk5NSksbD1vKDE2Nzg5NiksYz1vKDQ5MDM3OCk7bGV0IHU9ITEsYT1udWxsLG09bnVsbDtuLm1vYmlsZXRvdWNofHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIixmLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7aWYoISh0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQuY2xvc2VzdCgnW2RhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzPSJ0cnVlIl0nKSYmdC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpKSlyZXR1cm47ZihlLCEwKX0pLHtjYXB0dXJlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLChmdW5jdGlvbihlKXtlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZmKGUsITApfSkse2NhcHR1cmU6ITB9KSk7Y29uc3QgZD1uZXcgTXV0YXRpb25PYnNlcnZlcigoKCk9PntpZihhJiZhLm9wdGlvbnMudGFyZ2V0KXtsZXQgZTtlPSJpc0Nvbm5lY3RlZCJpbiBhLm9wdGlvbnMudGFyZ2V0P2Eub3B0aW9ucy50YXJnZXQuaXNDb25uZWN0ZWQ6ZG9jdW1lbnQuYm9keS5jb250YWlucyhhLm9wdGlvbnMudGFyZ2V0KSxlfHx2KCl9fSkpLHA9KGUsdD17fSk9Pntjb25zdHtjb250ZW50Om8sLi4ubn09Zyh0KSxyPWMuZ2V0RGF0YUZyb21UYXJnZXQoZSksaT1PYmplY3QuYXNzaWduKHIsbik7cmV0dXJuIm5vbmUiIT09by50eXBlJiYoaS5jb250ZW50PW8pLCEoIm5vbmUiPT09aS5jb250ZW50LnR5cGUmJiFpLmhvdGtleSkmJihpLnRhcmdldD1lLGgoaSksITApfSxoPWU9PnsKY29uc3QgdD1nKGUpLG89Yy5nZXRUb29sdGlwKHQpO2lmKGE9e29wdGlvbnM6dCxlbGVtZW50Om99LCgwLGwuc2V0VG9vbHRpcCkobyksKDAscy5jbGVhclNjaGVkdWxlKSgpLCF1KXJldHVybiBjLmhpZGVUb29sdGlwKG8pLHZvaWQoMCxzLnNjaGVkdWxlUmVuZGVyKSgoKCk9Pl8obykpLGZ1bmN0aW9uKGUpe3JldHVybiJudW1iZXIiIT10eXBlb2YgZS50b29sdGlwRGVsYXl8fGlzTmFOKGUudG9vbHRpcERlbGF5KT81MDA6ZS50b29sdGlwRGVsYXl9KHQpKTtjb25zdHt0b29sdGlwRGVib3VuY2U6bn09ZTsibnVtYmVyIiE9dHlwZW9mIG58fGlzTmFOKG4pP18obyk6KDAscy5zY2hlZHVsZVJlbmRlcikoKCgpPT5fKG8pKSxuKX07ZnVuY3Rpb24gZihlLHQpe2lmKCJzb3VyY2VDYXBhYmlsaXRpZXMiaW4gZSYmZS5zb3VyY2VDYXBhYmlsaXRpZXM/LmZpcmVzVG91Y2hFdmVudHMpcmV0dXJuO2NvbnN0IG89ZnVuY3Rpb24oZSx0LG8pe2NvbnN0IG49W107Zm9yKDtlJiZlIT09dDspZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKG8pJiZuLnB1c2goZSksZT1lLnBhcmVudEVsZW1lbnR8fGIoZS5wYXJlbnROb2RlKTtyZXR1cm4gbn0oZS50YXJnZXQsZS5jdXJyZW50VGFyZ2V0LCJhcHBseS1jb21tb24tdG9vbHRpcCIpO2Zvcihjb25zdCBuIG9mIG8pe2lmKGUgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KWlmKCJidXR0b25zImluIGUpe2lmKDEmZS5idXR0b25zKWNvbnRpbnVlfWVsc2UgaWYoMT09PWUud2hpY2gpY29udGludWU7Y29uc3Qgbz0oKT0+cChuKTtpZihvKCkpe2NvbnN0IGU9ZT0+cihudWxsLCEwKSxyPShpLHM9ITEpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJjb21tb24tdG9vbHRpcC11cGRhdGUiLG8pLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsciksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZSx7Y2FwdHVyZTohMH0pLHQmJihuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHIpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIscikpLG0mJihtLmRlc3Ryb3koKSxtPW51bGwpLHYocyl9O24uYWRkRXZlbnRMaXN0ZW5lcigiY29tbW9uLXRvb2x0aXAtdXBkYXRlIixvKSxuLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHIpLG4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixyKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUse2NhcHR1cmU6ITB9KSx0JiYobi5hZGRFdmVudExpc3RlbmVyKCJibHVyIixyKSxuLmFkZEV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLHIpKSxudWxsPT09bSYmKG09KDAsaS5jcmVhdGVHcm91cCkoe2Rlc2M6IlRvb2x0aXAifSksbS5hZGQoe2Rlc2M6IkhpZGUiLGhvdGtleToyNyxoYW5kbGVyOnJ9KSk7YnJlYWt9fX1mdW5jdGlvbiB5KCl7KDAsbC5lbXB0eSkoKSx1PSExLGE9bnVsbH1jb25zdCB2PShlLHQpPT57aWYoKDAscy5jbGVhclNjaGVkdWxlKSgpLCgwLHIuZW5zdXJlTm90TnVsbCkoZCkuZGlzY29ubmVjdCgpLCFhKXJldHVybjtpZighZSYmIXUpcmV0dXJuO2NvbnN0e2VsZW1lbnQ6byxvcHRpb25zOm59PWEsaT0oKT0+e28ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsaSksYy5oaWRlVG9vbHRpcChvKSxlP3koKTooMCxzLnNjaGVkdWxlUmVtb3ZlKSgoKCk9Pnt5KCl9KSwyNTApLHQ/LigpfTtuLnRvb2x0aXBIaWRlRGVsYXk/KDAscy5zY2hlZHVsZUhpZGUpKCgoKT0+e28ucXVlcnlTZWxlY3RvcigiOmhvdmVyIik/by5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixpKTppKCl9KSxuLnRvb2x0aXBIaWRlRGVsYXkpOmkoKX07ZnVuY3Rpb24gXyhlKXtjb25zdHtvcHRpb25zOnR9PSgwLHIuZW5zdXJlTm90TnVsbCkoYSk7aWYoYy5zZXRTdHlsZShlLHQpLGMuc2hvd1Rvb2x0aXAoZSksKDAsci5lbnN1cmVOb3ROdWxsKShkKS5vYnNlcnZlKGRvY3VtZW50LHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pLHU9ITAsdC5mb3JjZUhpZGVPbk1vdmUpe2NvbnN0IGU9KCk9Pntkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZSksdigpfTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZSl9fWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUmJihlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREU/ZTpudWxsKX1mdW5jdGlvbiBnKGUpe2lmKGZ1bmN0aW9uKGUpe3JldHVybiJjb250ZW50ImluIGV9KGUpKXJldHVybiBlO2NvbnN0e2lubmVyOnQsaHRtbDpvLHRleHQ6biwuLi5yfT1lO2xldCBpPXt0eXBlOiJub25lIn07cmV0dXJuIHQmJihpPXt0eXBlOiJlbGVtZW50IixkYXRhOnR9KSxuJiYoaT17dHlwZTpvPyJodG1sIjoidGV4dCIsZGF0YTpufSkse2NvbnRlbnQ6aSwuLi5yfX19LDIyNjMzMShlLHQsbyl7dmFyIG49bygzNDQ3ODUpO2Z1bmN0aW9uIHIoZSx0PSJ4Iil7bGV0IG89ITE7cmV0dXJuIngiIT09dCYmImJvdGgiIT09dHx8KG89b3x8ZS5vZmZzZXRXaWR0aDxlLnNjcm9sbFdpZHRoKSwieSIhPT10JiYiYm90aCIhPT10fHwobz1vfHxlLm9mZnNldEhlaWdodDxlLnNjcm9sbEhlaWdodCksb31mdW5jdGlvbiBpKGUsdD0ieCIpe2Zvcihjb25zdCBvIG9mIEFycmF5LmZyb20oZS5jaGlsZHJlbikpaWYobyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYocihvLHQpfHxpKG8sdCkpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9IngiO3JldHVybiBlLm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1kaXJlY3Rpb25fYm90aCIpP3Q9ImJvdGgiOmUubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWRpcmVjdGlvbl95IikmJih0PSJ5IiksdH1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC1odG1sIik7aWYodClyZXR1cm57dHlwZToiaHRtbCIsCmRhdGE6dH07Y29uc3Qgbz1lLmdldEF0dHJpYnV0ZSgiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiKTtpZihvKXJldHVybnt0eXBlOiJ0ZXh0IixkYXRhOm99O2lmKGUubWF0Y2hlcz8uKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tYWxsb3ctdGV4dCIpKXtyZXR1cm57dHlwZToidGV4dCIsZGF0YTplLnRleHRDb250ZW50fHwiIn19Y29uc3Qgbj1BcnJheS5mcm9tKGUuY2hpbGROb2RlcykucmVkdWNlKCgoZSx0KT0+KHQubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmZS5wdXNoKHQudGV4dENvbnRlbnR8fCIiKSxlKSksW10pLmpvaW4oIiIpLnRyaW0oKTtyZXR1cm4gbj97dHlwZToidGV4dCIsZGF0YTpufTp7dHlwZToibm9uZSJ9fWZ1bmN0aW9uIGMoZSx0KXtsZXQgbz0hMTtjb25zdCBuPWUuY2hpbGRyZW47Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspe2NvbnN0IGk9bltlXTtpZihpIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnIoaSx0KSl7bz0hMDticmVha319cmV0dXJuIG99ZnVuY3Rpb24gdShlKXtjb25zdCB0PWUudGFyZ2V0O2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmKHQubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAtZm9jdXMiKXx8dC5xdWVyeVNlbGVjdG9yKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC1mb2N1cyIpKSl7Y29uc3QgZT10Lm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwIik/dDp0LnF1ZXJ5U2VsZWN0b3IoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwIiksbz1zKGUpO2lmKGUubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWNoZWNrLWNoaWxkcmVuLXJlY3Vyc2l2ZWx5Iikpe2lmKCFpKGUsbykpcmV0dXJufWVsc2UgaWYoZS5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4iKSl7aWYoIWMoZSxvKSlyZXR1cm59ZWxzZSBpZighcihlLG8pKXJldHVybjsoMCxuLnNob3dPbkVsZW1lbnQpKHQse2NvbnRlbnQ6bChlKX0pO2NvbnN0IHU9KCk9PnsoMCxuLmhpZGUpKCksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIix1KSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLHUpfTt0LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHUpLHQuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsdSl9fSgwLG8oNzQ5NjQ4KS53aGVuRG9jdW1lbnRSZWFkeSkoKCgpPT57ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsKGU9Pntjb25zdCB0PWUudGFyZ2V0O2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpKXtjb25zdCBlPXModCk7aWYodC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkiKSl7aWYoIWkodCxlKSlyZXR1cm59ZWxzZSBpZih0Lm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbiIpKXtpZighYyh0LGUpKXJldHVybn1lbHNlIGlmKCFyKHQsZSkpcmV0dXJuOygwLG4uc2hvd09uRWxlbWVudCkodCx7Y29udGVudDpsKHQpfSk7Y29uc3Qgbz0oKT0+eygwLG4uaGlkZSkoKSxbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxvKSkpfTtbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LmFkZEV2ZW50TGlzdGVuZXIoZSxvKSkpfX0pLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdSwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLHUsITApfSkpfSw2NzM4MjkoZSx0LG8pe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIEJvb2xlYW4oZSkmJigic3RyaW5nIj09dHlwZW9mIGUucHJvTmFtZXx8InN0cmluZyI9PXR5cGVvZiBlLnNob3J0TmFtZSl9by5kKHQse3ZhbGlkYXRlU3ltYm9sRGF0YTooKT0+bn0pfSw4NTE0NTgoZSx0LG8pe28uZCh0LHtpc1NwcmVhZDooKT0+YSx0b2tlbml6ZTooKT0+Y30pO3ZhciBuLHI9byg5MDEwMjIpLGk9byg1NjkzOTgpOyFmdW5jdGlvbihlKXtlLlN5bWJvbD0ic3ltYm9sIixlLkluY29tcGxldGVTeW1ib2w9ImluY29tcGxldGVTeW1ib2wiLGUuTnVtYmVyPSJudW1iZXIiLGUuSW5jb21wbGV0ZU51bWJlcj0iaW5jb21wbGV0ZU51bWJlciIsZS5TZXBhcmF0b3JQcmVmaXg9InNlcGFyYXRvclByZWZpeCIsZS5PcGVuQnJhY2U9Im9wZW5CcmFjZSIsZS5DbG9zZUJyYWNlPSJjbG9zZUJyYWNlIixlLlBsdXM9InBsdXMiLGUuTWludXM9Im1pbnVzIixlLk11bHRpcGx5PSJtdWx0aXBseSIsZS5EaXZpZGU9ImRpdmlkZSIsZS5Qb3dlcj0icG93ZXIiLGUuV2hpdGVzcGFjZT0id2hpdGVzcGFjZSIsZS5VbnBhcnNlZD0idW5wYXJzZWQifShufHwobj17fSkpO2NvbnN0IHM9Lyg/OlteLStcLypeXHNdJ3xbYS16QS1aMC05X1x1MDM3MC1cdTFGRkZfXHUyRTgwLVx1RkZGRl0pKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMDIwXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXyF8Oi4mXSkqfCcuKz8nLyxsPShlPSgwLGkuaXNGZWF0dXJlRW5hYmxlZCkoImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIikpPT4oe251bWJlcjplPy9cZCsoPzpcLlxkKnwoPyFbYS16QS1aMC05XyE6LiZdKSkoPzpccyooPz1ccyokKSk/fFwuXGQrKD86XHMqKD89XHMqJCkpPy86L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKXxcLlxkKy8saW5jb21wbGV0ZU51bWJlcjovXC4vLHN5bWJvbDpzLGluY29tcGxldGVTeW1ib2w6LydbXiddKi8sc2VwYXJhdG9yUHJlZml4OnIuU0VQQVJBVE9SX1BSRUZJWCxvcGVuQnJhY2U6IigiLGNsb3NlQnJhY2U6IikiLHBsdXM6IisiLG1pbnVzOiItIixtdWx0aXBseToiKiIsZGl2aWRlOiIvIixwb3dlcjoiXiIsd2hpdGVzcGFjZTovW1wwLVx4MjBcc10rLyx1bnBhcnNlZDpudWxsfSk7ZnVuY3Rpb24gYyhlLHQ9bCgpKXtpZighZSlyZXR1cm5bXTtjb25zdCBvPVtdLG49T2JqZWN0LmtleXModCk7bGV0IHIKO2NvbnN0IGk9KChlPWwoKSk9Pm5ldyBSZWdFeHAoT2JqZWN0LnZhbHVlcyhlKS5tYXAoKGU9PntyZXR1cm4gbnVsbD09PWU/IiI6YCgkeyJzdHJpbmciPT10eXBlb2YgZT8odD1lLHQucmVwbGFjZSgvW1xeJCgpW1xde30qKz98XFxdL2csIlxcJCYiKSk6ZS5zb3VyY2V9KWA7dmFyIHR9KSkuZmlsdGVyKChlPT4iIiE9PWUpKS5jb25jYXQoIi4iKS5qb2luKCJ8IiksImciKSkodCk7Zm9yKDtyPWkuZXhlYyhlKTspe2xldCBlPSExO2ZvcihsZXQgdD1uLmxlbmd0aDt0LS07KWlmKHJbdCsxXSl7blt0XSYmby5wdXNoKHt2YWx1ZTpyW3QrMV0sdHlwZTpuW3RdLHByZWNlZGVuY2U6MCxvZmZzZXQ6ci5pbmRleH0pLGU9ITA7YnJlYWt9ZXx8by5wdXNoKHt2YWx1ZTpyWzBdLHR5cGU6InVucGFyc2VkIixwcmVjZWRlbmNlOjAsb2Zmc2V0OnIuaW5kZXh9KX1yZXR1cm4gb31mdW5jdGlvbiB1KGUpe3JldHVybiJwbHVzIj09PWV8fCJtaW51cyI9PT1lfHwibXVsdGlwbHkiPT09ZXx8ImRpdmlkZSI9PT1lfHwicG93ZXIiPT09ZX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLmxlbmd0aD4xJiZlLnNvbWUoKGU9PnUoZS50eXBlKSkpfX0sOTY5MTY4KGUsdCxvKXtvLmQodCx7ZGV0ZWN0QXV0b0RpcmVjdGlvbjooKT0+bi5kZXRlY3RBdXRvRGlyZWN0aW9uLGlzUnRsOigpPT5uLmlzUnRsfSk7byg2MTAyNjgpO3ZhciBuPW8oMTE1MjkzKX0sODExNDk5KGUsdCxvKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoInt7c2hvcnROYW1lfX0iLCJ7dHZzeW1ib2x9IikucmVwbGFjZSgie3twcm9OYW1lfX0iLCJ7dHZwcm9zeW1ib2x9IikucmVwbGFjZSgie3tzeW1ib2x9fSIsInt0dnN5bWJvbH0iKS5yZXBsYWNlKCJ7e2V4Y2hhbmdlfX0iLCJ7dHZleGNoYW5nZX0iKX1vLmQodCx7cmVwbGFjZU9sZFBsYWNlaG9sZGVyczooKT0+bn0pfSw0MDMzNzAoZSx0LG8pe28uZCh0LHttYWtlV2lkZ2V0U3ltYm9sTGluazooKT0+c30pO3ZhciBuPW8oODExNDk5KSxyPW8oOTExMzI3KSxpPW8oODUxNDU4KTtmdW5jdGlvbiBzKGUpe2NvbnN0e2N1c3RvbVVybDp0LHV0bUluZm86byxwYXRoOnMsdHlwZXNwZWNzOmx9PWU7bGV0IGMsdSxhPWUuc3ltYm9sO2NvbnN0IG09KDAsaS50b2tlbml6ZSkoYSk7cmV0dXJuKDAsaS5pc1NwcmVhZCkobSkmJihhPW0uZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV8fGEpLGEuaW5jbHVkZXMoIjoiKT9bdSxjXT1hLnNwbGl0KCI6Iik6Yz1hLHQ/KDAsci5tYWtlVGVtcGxhdGVTeW1ib2xVcmwpKCgwLG4ucmVwbGFjZU9sZFBsYWNlaG9sZGVycykodCkse3Byb05hbWU6YX0pOigwLHIubWFrZVN5bWJvbFBhZ2VVcmwpKHtzaG9ydE5hbWU6YyxleGNoYW5nZTp1LHR5cGVzcGVjczpsfSxvLHZvaWQgMCxzKX19fV0pOw=="}},"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/42212.4754c2804ab9a979776b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.364Z","timestamp":1785136901364,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42212.4754c2804ab9a979776b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-8f61\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 632af8167f36ef3baad1a96976c04cdd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":36705,"size_decoded":14239,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"e76e3cc979825bc25c1aa111b75bd78b","sha1":"6113f71858e18e692dc20143a9c20e222a5cc559","sha256":"bddee1e8d256f7e1fad4922a61955b4edaf993c3c78d20ce8c5ebd04ad4a3c21","sha512":"0d629425dab529dffde41a65bf8dacd4d7bd38f868a631db502b2eac3cf58f53c08d489b94580f84b89263cda52fe48cb17f0d61d27f55132f6ee350a2b8d719","ssdeep":"768:XuCACOy5bi5yIx6nSiRUhAmhY1pQZ7U49dSH7Y9syV2zNRbMMUzGTvFr9t7bRkzm:vLbRIAS/AmY1pQakdSb0saNzkbPlgQHL","tlshash":"74f219e071d5b05163d740eb843f4402f1692e2578064961fa6d9cdebe6c889723bfbc","first_seen":"2026-07-23T14:00:31.440048Z","last_seen":"2026-07-28T06:17:53.389232Z","times_seen":122,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MjIxMl0sezkyNDUwNyhlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtbm9ybWFsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA3NjhweCkiLCJzbWFsbC1oZWlnaHQtYnJlYWtwb2ludCI6IihtYXgtaGVpZ2h0OiAzNjBweCkiLCJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSJ9fSwyNDQ1MjUoZSl7ZS5leHBvcnRzPXtsb2FkZXI6ImxvYWRlci1NZ2Y4RUZ3SyIsc3RhdGljOiJzdGF0aWMtTWdmOEVGd0siLGl0ZW06Iml0ZW0tTWdmOEVGd0siLCJ0di1idXR0b24tbG9hZGVyIjoidHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyIsbWVkaXVtOiJtZWRpdW0tTWdmOEVGd0siLHNtYWxsOiJzbWFsbC1NZ2Y4RUZ3SyIsYmxhY2s6ImJsYWNrLU1nZjhFRndLIix3aGl0ZToid2hpdGUtTWdmOEVGd0siLGdyYXk6ImdyYXktTWdmOEVGd0siLHByaW1hcnk6InByaW1hcnktTWdmOEVGd0sifX0sNDA2MTEwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hdGNoTWVkaWE6KCk9Pm99KTt2YXIgbj1zKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9oYW5kbGVDaGFuZ2U9KCk9Pnt0aGlzLmZvcmNlVXBkYXRlKCl9LHRoaXMuc3RhdGU9e3F1ZXJ5OndpbmRvdy5tYXRjaE1lZGlhKHRoaXMucHJvcHMucnVsZSl9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe3RoaXMuc3RhdGUucXVlcnkhPT10LnF1ZXJ5JiYodGhpcy5fdW5zdWJzY3JpYmUodC5xdWVyeSksdGhpcy5fc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Vuc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpfXJlbmRlcigpe3JldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuKHRoaXMuc3RhdGUucXVlcnkubWF0Y2hlcyl9c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhlLHQpe3JldHVybiBlLnJ1bGUhPT10LnF1ZXJ5Lm1lZGlhP3txdWVyeTp3aW5kb3cubWF0Y2hNZWRpYShlLnJ1bGUpfTpudWxsfV9zdWJzY3JpYmUoZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuX2hhbmRsZUNoYW5nZSl9X3Vuc3Vic2NyaWJlKGUpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVDaGFuZ2UpfX19LDYwOTUyOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtEaWFsb2dCcmVha3BvaW50czooKT0+b30pO3ZhciBuPXMoOTI0NTA3KTtjb25zdCBvPXtTbWFsbEhlaWdodDpuWyJzbWFsbC1oZWlnaHQtYnJlYWtwb2ludCJdLFRhYmxldFNtYWxsOm5bInRhYmxldC1zbWFsbC1icmVha3BvaW50Il0sVGFibGV0Tm9ybWFsOm5bInRhYmxldC1ub3JtYWwtYnJlYWtwb2ludCJdfX0sNjU5ODc4KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VPdmVybGFwYWJsZTooKT0+cn0pO3ZhciBuPXMoNzc5NDc0KSxvPXMoNTg1NDgpO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7aXNPcGVuZWQ6cyxyb290OnJ9PXRoaXMucHJvcHM7aWYoIXMpcmV0dXJuIG51bGw7Y29uc3QgaT1uLmNyZWF0ZUVsZW1lbnQoZSx7Li4udGhpcy5wcm9wcyxyZWY6dGhpcy5wcm9wcy5jb21wb25lbnRSZWYsekluZGV4OjE1MH0pO3JldHVybiJwYXJlbnQiPT09cj9pOm4uY3JlYXRlRWxlbWVudChvLlBvcnRhbCx7c2hvdWxkVHJhcEZvY3VzOnR9LGkpfX19fSw1NTgwMzAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7VG91Y2hTY3JvbGxDb250YWluZXI6KCk9PmN9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDg1MzMzNikscj1zKDEzODYzOCksaT1zKDczODQ1OCk7Y29uc3QgYT1DU1Muc3VwcG9ydHMoIm92ZXJzY3JvbGwtYmVoYXZpb3IiLCJub25lIik7bGV0IGw9MDtjb25zdCBjPSgwLG4uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2hpbGRyZW46cywuLi5yfT1lLGM9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLG4udXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PmMuY3VycmVudCkpLCgwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZihpLmlzSU9TKXJldHVybiBsKyssbnVsbCE9PWMuY3VycmVudCYmKGE/MT09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSIpOigwLG8uZGlzYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCx7YWxsb3dUb3VjaE1vdmU6dShjKX0pKSwoKT0+e2wtLSxudWxsIT09Yy5jdXJyZW50JiYoYT8wPT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiKTooMCxvLmVuYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCkpfX0pLFtdKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLC4uLnJ9LHMpfSkpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIHQ9Pntjb25zdCBzPSgwLHIuZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIXMuY29udGFpbnModCl8fG51bGwhPT1uJiZzLmNvbnRhaW5zKG4pJiZuLmNvbnRhaW5zKHQpfX19LDY0OTE2NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2FkZXI6KCk9PmN9KTt2YXIgbixvPXMoNzc5NDc0KSxyPXMoOTE0NDg3KSxpPXMubihyKSxhPXMoMjQ0NTI1KSxsPXMubihhKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHNpemU6cz0ibWVkaXVtIixzdGF0aWNQb3NpdGlvbjpuLGNvbG9yOnI9ImJsYWNrIn09ZSxhPWkoKShsKCkuaXRlbSxsKClbcl0sbCgpW3NdKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShsKCkubG9hZGVyLG4mJmwoKS5zdGF0aWMsdCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphfSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmF9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YX0pKX0KIWZ1bmN0aW9uKGUpe2UuTWVkaXVtPSJtZWRpdW0iLGUuU21hbGw9InNtYWxsIn0obnx8KG49e30pKX0sNTg1NDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UG9ydGFsOigpPT5jLFBvcnRhbENvbnRleHQ6KCk9PnV9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDEyOTM2NSkscj1zKDg1Njc3MCksaT1zKDkwMzQyKSxhPXMoNTcwMTkzKSxsPXMoNjA3ODMyKTtjbGFzcyBjIGV4dGVuZHMgbi5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl91dWlkPSgwLHIubmFub2lkKSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWFuYWdlcigpLnJlbW92ZVdpbmRvdyh0aGlzLl91dWlkKX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX21hbmFnZXIoKS5lbnN1cmVXaW5kb3codGhpcy5fdXVpZCx0aGlzLnByb3BzLmxheWVyT3B0aW9ucyk7ZS5zdHlsZS50b3A9dGhpcy5wcm9wcy50b3B8fCIiLGUuc3R5bGUuYm90dG9tPXRoaXMucHJvcHMuYm90dG9tfHwiIixlLnN0eWxlLmxlZnQ9dGhpcy5wcm9wcy5sZWZ0fHwiIixlLnN0eWxlLnJpZ2h0PXRoaXMucHJvcHMucmlnaHR8fCIiLGUuc3R5bGUucG9pbnRlckV2ZW50cz10aGlzLnByb3BzLnBvaW50ZXJFdmVudHN8fCIiO2NvbnN0IHQ9dGhpcy5wcm9wcy5jbGFzc05hbWU7cmV0dXJuIHQmJigic3RyaW5nIj09dHlwZW9mIHQ/ZS5jbGFzc0xpc3QuYWRkKHQpOmUuY2xhc3NMaXN0LmFkZCguLi50KSksdGhpcy5wcm9wcy5zaG91bGRUcmFwRm9jdXMmJiFlLmhhc0F0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsInRydWUiKSx0aGlzLnByb3BzWyJhcmlhLWhpZGRlbiJdJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksby5jcmVhdGVQb3J0YWwobi5jcmVhdGVFbGVtZW50KHUuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LHRoaXMucHJvcHMuY2hpbGRyZW4pLGUpfW1vdmVUb1RvcCgpe3RoaXMuX21hbmFnZXIoKS5tb3ZlVG9Ub3AodGhpcy5fdXVpZCl9X21hbmFnZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuY29udGV4dD8oMCxpLmdldFJvb3RPdmVybGFwTWFuYWdlcikoKTp0aGlzLmNvbnRleHR9fWMuY29udGV4dFR5cGU9bC5TbG90Q29udGV4dDtjb25zdCB1PW4uY3JlYXRlQ29udGV4dChudWxsKX0sNjA3ODMyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nsb3Q6KCk9Pm8sU2xvdENvbnRleHQ6KCk9PnJ9KTt2YXIgbj1zKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIG4uQ29tcG9uZW50e3Nob3VsZENvbXBvbmVudFVwZGF0ZSgpe3JldHVybiExfXJlbmRlcigpe3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDoxNTAsbGVmdDowLHRvcDowfSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9KX19Y29uc3Qgcj1uLmNyZWF0ZUNvbnRleHQobnVsbCl9LDcxODU1MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtPdXRzaWRlRXZlbnQ6KCk9Pm99KTt2YXIgbj1zKDIzNjc2NSk7ZnVuY3Rpb24gbyhlKXtjb25zdHtjaGlsZHJlbjp0LC4uLnN9PWU7cmV0dXJuIHQoKDAsbi51c2VPdXRzaWRlRXZlbnQpKHMpKX19LDkwMzQyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse092ZXJsYXBNYW5hZ2VyOigpPT5pLGdldFJvb3RPdmVybGFwTWFuYWdlcjooKT0+bH0pO3ZhciBuPXMoMTM4NjM4KSxvPXMoNTcwMTkzKTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fc3RvcmFnZT1bXX1hZGQoZSl7dGhpcy5fc3RvcmFnZS5wdXNoKGUpfXJlbW92ZShlKXt0aGlzLl9zdG9yYWdlPXRoaXMuX3N0b3JhZ2UuZmlsdGVyKCh0PT5lIT09dCkpfWhhcyhlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5pbmNsdWRlcyhlKX1nZXRJdGVtcygpe3JldHVybiB0aGlzLl9zdG9yYWdlfX1jbGFzcyBpe2NvbnN0cnVjdG9yKGU9ZG9jdW1lbnQpe3RoaXMuX3N0b3JhZ2U9bmV3IHIsdGhpcy5fd2luZG93cz1uZXcgTWFwLHRoaXMuX2luZGV4PTAsdGhpcy5fZG9jdW1lbnQ9ZSx0aGlzLl9jb250YWluZXI9ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCl9c2V0Q29udGFpbmVyKGUpe2NvbnN0IHQ9dGhpcy5fY29udGFpbmVyLHM9bnVsbD09PWU/dGhpcy5fZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOmU7IWZ1bmN0aW9uKGUsdCl7QXJyYXkuZnJvbShlLmNoaWxkTm9kZXMpLmZvckVhY2goKGU9PntlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJnQuYXBwZW5kQ2hpbGQoZSl9KSl9KHQscyksdGhpcy5fY29udGFpbmVyPXN9cmVnaXN0ZXJXaW5kb3coZSl7dGhpcy5fc3RvcmFnZS5oYXMoZSl8fHRoaXMuX3N0b3JhZ2UuYWRkKGUpfWVuc3VyZVdpbmRvdyhlLHQ9e3Bvc2l0aW9uOiJmaXhlZCIsZGlyZWN0aW9uOiJub3JtYWwifSl7Y29uc3Qgcz10aGlzLl93aW5kb3dzLmdldChlKTtpZih2b2lkIDAhPT1zKXJldHVybiBzO3RoaXMucmVnaXN0ZXJXaW5kb3coZSk7Y29uc3Qgbj10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihuLnN0eWxlLnBvc2l0aW9uPXQucG9zaXRpb24sbi5zdHlsZS56SW5kZXg9dGhpcy5faW5kZXgudG9TdHJpbmcoKSxuLmRhdGFzZXQuaWQ9ZSx2b2lkIDAhPT10LmluZGV4KXtjb25zdCBlPXRoaXMuX2NvbnRhaW5lci5jaGlsZE5vZGVzLmxlbmd0aDtpZih0LmluZGV4Pj1lKXRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChuKTtlbHNlIGlmKHQuaW5kZXg8PTApdGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTtlbHNle2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXNbdC5pbmRleF07dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLGUpfX1lbHNlInJldmVyc2UiPT09dC5kaXJlY3Rpb24/dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTp0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQobik7cmV0dXJuIHRoaXMuX3dpbmRvd3Muc2V0KGUsbiksKyt0aGlzLl9pbmRleCxufQp1bnJlZ2lzdGVyV2luZG93KGUpe3RoaXMuX3N0b3JhZ2UucmVtb3ZlKGUpO2NvbnN0IHQ9dGhpcy5fd2luZG93cy5nZXQoZSk7dm9pZCAwIT09dCYmKG51bGwhPT10LnBhcmVudEVsZW1lbnQmJnQucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0KSx0aGlzLl93aW5kb3dzLmRlbGV0ZShlKSl9Z2V0WmluZGV4KGUpe2NvbnN0IHQ9dGhpcy5lbnN1cmVXaW5kb3coZSk7cmV0dXJuIHBhcnNlSW50KHQuc3R5bGUuekluZGV4fHwiMCIpfW1vdmVMYXN0V2luZG93VG9Ub3AoKXtjb25zdCBlPXRoaXMuX3N0b3JhZ2UuZ2V0SXRlbXMoKSx0PWVbZS5sZW5ndGgtMV07dCYmdGhpcy5tb3ZlVG9Ub3AodCl9bW92ZVRvVG9wKGUpe2lmKHRoaXMuZ2V0WmluZGV4KGUpIT09dGhpcy5faW5kZXgpe2NvbnN0IHQ9dGhpcy5lbnN1cmVXaW5kb3coZSk7dGhpcy5fd2luZG93cy5mb3JFYWNoKCgoZSxzKT0+e2UuaGFzQXR0cmlidXRlKG8uRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJmUuc2V0QXR0cmlidXRlKG8uRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSxlPT09dD8idHJ1ZSI6ImZhbHNlIil9KSksdC5zdHlsZS56SW5kZXg9KCsrdGhpcy5faW5kZXgpLnRvU3RyaW5nKCl9fXJlbW92ZVdpbmRvdyhlKXt0aGlzLnVucmVnaXN0ZXJXaW5kb3coZSl9fWNvbnN0IGE9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbChlPWRvY3VtZW50KXtjb25zdCB0PWUuZ2V0RWxlbWVudEJ5SWQoIm92ZXJsYXAtbWFuYWdlci1yb290Iik7aWYobnVsbCE9PXQpcmV0dXJuKDAsbi5lbnN1cmVEZWZpbmVkKShhLmdldCh0KSk7e2NvbnN0IHQ9bmV3IGkoZSkscz1mdW5jdGlvbihlKXtjb25zdCB0PWUuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0LnN0eWxlLnpJbmRleD0xNTAuLnRvU3RyaW5nKCksdC5zdHlsZS50b3A9IjBweCIsdC5zdHlsZS5sZWZ0PSIwcHgiLHQuaWQ9Im92ZXJsYXAtbWFuYWdlci1yb290Iix0LmRhdGFzZXQucWFJZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHR9KGUpO3JldHVybiBhLnNldChzLHQpLHQuc2V0Q29udGFpbmVyKHMpLGUuYm9keS5hcHBlbmRDaGlsZChzKSx0fX12YXIgYzshZnVuY3Rpb24oZSl7ZVtlLkJhc2VaaW5kZXg9MTUwXT0iQmFzZVppbmRleCJ9KGN8fChjPXt9KSl9LDQ5ODY1MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5vfSk7dmFyIG49cygyMzI5NDgpO2Z1bmN0aW9uIG8oZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IHM9d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PXN8fCEoMCxuLmlzUHJvZHVjdERlZmluZWQpKHMpfHwodD8hcy5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohcy5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IHM9KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKHMpPz8hMX19LDkzMTM1MihlLHQscyl7InVzZSBzdHJpY3QiO2lmKHMuZCh0LHtnZXRPd25TaGFyZWRMaXN0OigpPT5jLHNoYXJlQ3VzdG9tTGlzdDooKT0+bCxzaGFyZU1hcmtlZExpc3Q6KCk9PmF9KSwyMTE4IT1zLmopdmFyIG49cyg3MTIxMzQpO3ZhciBvPXMoMzg0MDE3KSxyPXMoMzA0Mzk5KSxpPXMoNzkwMDQxKTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsci53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vc2hhcmUvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2hhcmVkOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oci5oYW5kbGVKU09OKS50aGVuKGkuY29udmVydFRvTWFya2VkU3ltYm9sTGlzdCl9ZnVuY3Rpb24gbChlLHQpe3JldHVybigwLG8uZmV0Y2gpKCgwLHIud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY3VzdG9tLyR7ZX0vc2hhcmUvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2hhcmVkOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oci5oYW5kbGVKU09OKS50aGVuKGkuY29udmVydFRvQ3VzdG9tU3ltYm9sTGlzdCl9ZnVuY3Rpb24gYyhlLHQpe3JldHVybigwLG4uaXNMaXN0Q29sb3IpKGUpPygwLG8uZmV0Y2gpKCgwLHIud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8ke2V9YCkse21ldGhvZDoiR0VUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsc2lnbmFsOnR9KS50aGVuKHIuaGFuZGxlSlNPTik6KDAsby5mZXRjaCkoKDAsci53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jdXN0b20vJHtlfWApLHttZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLHNpZ25hbDp0fSkudGhlbihyLmhhbmRsZUpTT04pfX0sOTE5OTg1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2J1aWxkVW5pcXVlTmFtZTooKT0+UyxjYW5Vc2VNdWx0aXBsZUxpc3RzOigpPT5fLGNvbXBhcmVTeW1ib2xzOigpPT5QLGNvbnZlcnRUb1NlcGFyYXRvck5hbWU6KCk9PnYsY3JlYXRlU2F2ZVJlbmFtZURpYWxvZzooKT0+dyxmaW5kTmV4dEF2YWlsYWJsZVN5bWJvbDooKT0+RCxnZXRTeW1ib2xGcm9tTGlzdDooKT0+ayxnZXRUcmFuc2xhdGVkTGlzdFRpdGxlOigpPT5FLGhhc0R1cGxpY2F0ZXM6KCk9PkwsaXNFcXVhbFJlY29yZHM6KCk9Pk4saXNWYWxpZFNlcGFyYXRvckl0ZW06KCk9Pmcsc2VwYXJhdG9yVmFsVG9EaXNwbGF5VmFsOigpPT5iLHNob3dSZW1vdmVTZWxlY3RlZFN5bWJvbHNDb25maXJtOigpPT5SLHNob3dVbmZsYWdBbGxTeW1ib2xzQ29uZmlybTooKT0+QixzaG93VW5mbGFnU2VsZWN0ZWRTeW1ib2xzQ29uZmlybTooKT0+SSxzb3J0U3ltYm9sczooKT0+VCx0b1Bvc2l0aW9uUmVjb3JkOigpPT5PLHRyYWNrUmVtb3ZlRXZlbnQ6KCk9PkF9KQo7dmFyIG49cygxMzg2MzgpLG89cyg5MzAyMzEpLHI9cyg3ODMyNTQpLGk9cygyMzQ5NjQpLGE9cyg4Nzc0NDIpLGw9cyg3NDU2NTQpLGM9cyg1MjgzOTYpLHU9cyg2OTMyMTYpLGQ9cyg5Mjk0ODgpO2lmKDIxMTghPXMuail2YXIgbT1zKDkwMTAyMik7dmFyIGg9cygzODY5MzEpLHA9cyg2NDM5MDMpLHk9KHMoOTExMzI3KSxzKDQ0MzgyNykpLGY9cyg4MzE1MjcpO3MoMzIwNTUpO2Z1bmN0aW9uIGcoZSl7cmV0dXJuKDAsZC5pc1NlcGFyYXRvckl0ZW0pKGUpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUucmVwbGFjZShtLlNFUEFSQVRPUl9QUkVGSVgsIiIpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIG0uU0VQQVJBVE9SX1BSRUZJWCtlfWZ1bmN0aW9uIFMoZSx0LHM9ITApe2NvbnN0IG49bmV3IFNldChlKSxvPXM/IiAxIjoiIjtpZighbi5oYXModCtvKSlyZXR1cm4gdCtvO2xldCByPTIsaT0iIjtmb3IoO3I8PTJlMyYmKGk9YCR7dH0gJHtyfWAsbi5oYXMoaSkpOylyKz0xO3JldHVybiBpfWZ1bmN0aW9uIF8oKXtyZXR1cm4oMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJtdWx0aXBsZV93YXRjaGxpc3RzIikmJndpbmRvdy51c2VyJiZCb29sZWFuKHdpbmRvdy51c2VyLmlzX3Bybyl9ZnVuY3Rpb24gdyhlLHQsbixvLGEpe3JldHVybigpPT5uZXcgUHJvbWlzZSgoKGwsYyk9PnsoMCxpLnNob3dSZW5hbWUpKHt0aXRsZTplLGluaXRWYWx1ZTp0LHRleHQ6ci50KG51bGwse2NvbnRleHQ6ImlucHV0IGxhYmVsIn0scyg2NTE2MzgpKSxtYXhMZW5ndGg6MTI4LGVtb2ppUGlja2VyOiEwLG1haW5CdXR0b25UZXh0OmEsb25SZW5hbWU6KHtuZXdWYWx1ZTplLGRpYWxvZ0Nsb3NlOnR9KT0+e2woZSksdCgpLG8/LigpfX0sbil9KSl9ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5yZXBsYWNlKCLiiJIiLCItIil9ZnVuY3Rpb24gVChlLHQscyxvLHIpe2NvbnN0IGk9ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXSxzPVtdO2UuZm9yRWFjaCgoKGUsdCk9PnsoMCxkLmlzU2VwYXJhdG9ySXRlbSkoZSkmJnMucHVzaCh0KX0pKTtsZXQgbj0wO3MuZm9yRWFjaCgocz0+e3QucHVzaCh7dmFsdWVzOmUuc2xpY2UobixzKSxzZXBhcmF0b3I6ZVtzXX0pLG49cysxfSkpO2NvbnN0IG89c1tzLmxlbmd0aC0xXSxyPWUuc2xpY2UobysxKTtyZXR1cm4gci5sZW5ndGg+MCYmdC5wdXNoKHt2YWx1ZXM6cixzZXBhcmF0b3I6bnVsbH0pLHR9KHQpO3JldHVybiBpLmZvckVhY2goKHQ9Pnt0LnZhbHVlcy5zb3J0KCgodCxpKT0+e2lmKCJmbGFnIj09PXMpe2NvbnN0IGU9KDAsZi5nZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZSkoKS5nZXRTeW1ib2xDb2xvcih0KSxzPSgwLGYuZ2V0TWFya2VkU3ltYm9sc0xpc3RTZXJ2aWNlSW5zdGFuY2UpKCkuZ2V0U3ltYm9sQ29sb3IoaSk7cmV0dXJuKDAseS5nZXRTb3J0QnlDb2xvckNvbXBhcmF0b3IpKG8pKGUscyl9Y29uc3QgZD1sLnF1b3RlU2Vzc2lvbkFkYXB0ZXJzLmdldChlKS5nZXRMYXN0U3ltYm9sRGF0YSh0KSxtPWwucXVvdGVTZXNzaW9uQWRhcHRlcnMuZ2V0KGUpLmdldExhc3RTeW1ib2xEYXRhKGkpLGg9KDAsdS5pc0V4dHJhSG91cnNTZXNzaW9uKShkPy52YWx1ZXMuY3VycmVudF9zZXNzaW9uKSxnPSgwLHUuaXNFeHRyYUhvdXJzU2Vzc2lvbikobT8udmFsdWVzLmN1cnJlbnRfc2Vzc2lvbiksYj0oZSx0KT0+e2lmKCFlfHwiZmxhZyI9PT1zKXJldHVybjt2YXIgbjtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXM/dm9pZCAwOnI9PT1hLlRpY2tlclR5cGUuRGVzY3JpcHRpb24mJiJzaG9ydF9uYW1lIj09PXM/KG49ZS52YWx1ZXMsKDAsYy5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKG4pfHwoMCxwLnNhZmVTaG9ydE5hbWUpKHQpKToicmNocCI9PT1zPygwLHUuZ2V0RXh0cmFIb3Vyc0NoYW5nZVBlcmNlbnQpKGUudmFsdWVzKT8/dm9pZCAwOmUudmFsdWVzW3NdfSx2PWIoZCx0KSxTPWIobSxpKTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtjb25zdCBzPS0xPT09dD8tMS8wOjEvMDtyZXR1cm4obyxyLGksYSk9PntpZigicmNocCIhPT1lKXtpZih2b2lkIDA9PT1vJiZ2b2lkIDA9PT1yKXJldHVybiAwO2lmKHZvaWQgMD09PW8pcmV0dXJuLXQ7aWYodm9pZCAwPT09cilyZXR1cm4gdH1zd2l0Y2goZSl7Y2FzZSJzaG9ydF9uYW1lIjpyZXR1cm4gdCoobz09PXI/MDooMCxuLmVuc3VyZSkobyk8KDAsbi5lbnN1cmUpKHIpPy0xOjEpO2Nhc2UicmNocCI6cmV0dXJuIGkhPT1hP2k+YT8tMToxOihpfHwobz12b2lkIDApLGF8fChyPXZvaWQgMCkseChvLHIsdCxzKSk7Y2FzZSJsYXN0X3ByaWNlIjpjYXNlImNoYW5nZSI6Y2FzZSJjaGFuZ2VfcGVyY2VudCI6cmV0dXJuIHgobyxyLHQscyk7Y2FzZSJ2b2x1bWUiOntjb25zdCBlPSgwLG4uZW5zdXJlKShvKT49MWUxMDA/czpOdW1iZXIobyksaT0oMCxuLmVuc3VyZSkocik+PTFlMTAwP3M6TnVtYmVyKHIpO3JldHVybiB0KihlLWkpfWRlZmF1bHQ6cmV0dXJuKDAsbi5lbnN1cmUpKG8pPigwLG4uZW5zdXJlKShyKT8tMToxfX19KHMsbykodixTLGgsZyl9KSl9KSksZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoe3ZhbHVlczplLHNlcGFyYXRvcjpzfSk9Pnt0LnB1c2goLi4uZSksbnVsbCE9PXMmJnQucHVzaChzKX0pKSx0fShpKX1mdW5jdGlvbiB4KGUsdCxzLG4pe2xldCBvPXBhcnNlRmxvYXQoQyhTdHJpbmcoZSkpKSxyPXBhcnNlRmxvYXQoQyhTdHJpbmcodCkpKTtyZXR1cm4gbz1pc05hTihvKT9uOm8scj1pc05hTihyKT9uOnIscyooby1yKX1mdW5jdGlvbiBFKGUpe3JldHVybiJjb2xvcmVkIj09PWUudHlwZT9lLm5hbWV8fCgwLHkuZ2V0Q29sb3JlZExpc3RUaXRsZSkoZS5jb2xvcik6ZS5uYW1lfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4gZT09PXR8fCgwLHAuc2FmZVNob3J0TmFtZSkoZSk9PT10fWZ1bmN0aW9uIE8oZSl7cmV0dXJue3N5bWJvbDplLnN5bWJvbCxzaWRlOmUuc2lkZSxxdHk6ZS5xdHksYXZnUHJpY2U6ZS5hdmdQcmljZX19ZnVuY3Rpb24gTihlLHQpewpyZXR1cm4gZT09PXR8fHZvaWQgMCE9PWUmJnZvaWQgMCE9PXQmJihlLnNpZGU9PT10LnNpZGUmJmUucXR5PT09dC5xdHkmJmUuYXZnUHJpY2U9PT10LmF2Z1ByaWNlJiZlLnN5bWJvbD09PXQuc3ltYm9sKX1mdW5jdGlvbiBMKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3Qgbz1lW3NdLnRvVXBwZXJDYXNlKCkscj0oMCxwLnNhZmVTaG9ydE5hbWUpKG8pO2lmKHQuaGFzKHIpKXtjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkodC5nZXQocikpO2lmKGUuaGFzKG8pfHxlLmhhcyhyKXx8bz09PXIpcmV0dXJuITA7ZS5hZGQobyksdC5zZXQocixlKX1lbHNlIHQuc2V0KHIsbmV3IFNldChbb10pKX1yZXR1cm4hMX1mdW5jdGlvbiBrKGUsdCl7aWYodC5pbmNsdWRlcyhlKSlyZXR1cm4gZX1mdW5jdGlvbiBEKGUsdCxzKXtjb25zdCBuPSJuZXh0Ij09PXM7Zm9yKGxldCBzPWU7bj9zPHQubGVuZ3RoOnM+PTA7bj9zKys6cy0tKWlmKCEoMCxkLmlzU2VwYXJhdG9ySXRlbSkodFtzXSkmJnMhPT1lKXJldHVybiB0W3NdO2ZvcihsZXQgcz1uPzA6dC5sZW5ndGgtMTtuP3M8ZTpzPmU7bj9zKys6cy0tKWlmKCEoMCxkLmlzU2VwYXJhdG9ySXRlbSkodFtzXSkpcmV0dXJuIHRbc119ZnVuY3Rpb24gQShlKXtlPygwLGgudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIk11bHRpIHNlbGVjdCIsIlJlbW92ZSIpOigwLGgudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIlJlbW92ZSIpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIHIudChudWxsLHtwbHVyYWw6IkRvaW5nIHRoaXMgd2lsbCByZW1vdmUge2NvdW50fSBzZWxlY3RlZCBzeW1ib2xzIGZyb20geW91ciB3YXRjaGxpc3QuIixjb250ZXh0OiJzeW1ib2xzX2FuZF9kcmF3aW5nc19jb3VudCIsY291bnQ6ZSxyZXBsYWNlOntjb3VudDplLnRvU3RyaW5nKCl9fSxzKDE2OTgzKSl9ZnVuY3Rpb24gUihlLHQpe2NvbnN0IG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg0MzU3NTApKSx0ZXh0Ok0oZSksbWFpbkJ1dHRvblRleHQ6ci50KG51bGwse2NvbnRleHQ6ImFjdGlvbiJ9LHMoMTA4KSksbWFpbkJ1dHRvbkludGVudDoiZGFuZ2VyIixjYW5jZWxCdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDMwOTMzKSksb25Db25maXJtOih7ZGlhbG9nQ2xvc2U6ZX0pPT57dCgpLGUoKX0sb25DbG9zZTooKT0+e24/LmZvY3VzKCl9fSl9ZnVuY3Rpb24gSShlKXsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg0MTcxOTEpKSx0ZXh0OnIudChudWxsLHZvaWQgMCxzKDQ5NTM2OSkpLG1haW5CdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDgzNTkzNykpLG1haW5CdXR0b25JbnRlbnQ6ImRhbmdlciIsY2FuY2VsQnV0dG9uVGV4dDpyLnQobnVsbCx7Y29udGV4dDoiYWN0aW9uIn0scygzMDkzMykpLG9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOnR9KT0+e2UoKSx0KCl9fSl9ZnVuY3Rpb24gQihlKXsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg4MjY4NzMpKSx0ZXh0OnIudChudWxsLHZvaWQgMCxzKDk1ODk1MSkpLG1haW5CdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDgzNTkzNykpLG1haW5CdXR0b25JbnRlbnQ6ImRhbmdlciIsY2FuY2VsQnV0dG9uVGV4dDpyLnQobnVsbCx7Y29udGV4dDoiYWN0aW9uIn0scygzMDkzMykpLG9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOnR9KT0+e2UoKSx0KCl9fSl9fSw0MzIzNTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Uk9VVElORV9DQU5DRUxMRURfTUVTU0FHRTooKT0+YyxTeW1ib2xMaXN0U3luY2hyb25pemF0aW9uU2VydmljZTooKT0+dX0pO3ZhciBuPXMoNTA3Mjg1KSxvPXMoNjMyNjg2KSxyPXMoMjIxMDYxKTtzKDMwMDI4Nik7Y29uc3QgaT02ZTUsYT0zZTQsbD0zZTQsYz0iUk9VVElORV9DQU5DRUxMRUQiO2NsYXNzIHV7Y29uc3RydWN0b3IoZSl7dGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3N0YXRlPW51bGwsdGhpcy5fc3luYz1udWxsLHRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA9bnVsbCx0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1udWxsLHRoaXMuX29uUHVzaFN0cmVhbUNoYW5nZT1lPT57d2luZG93LnVzZXImJndpbmRvdy51c2VyLnNlc3Npb25faGFzaCE9PWUuc2Vzc2lvbl9oYXNoP24ucHVzaFN0cmVhbU11bHRpcGxleGVyLm93blB1c2hTdHJlYW0oKT8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiQ3Jvc3MgYnJvd3NlciBzeW5jIiksdGhpcy5zeW5jU3ltYm9scyhlKSk6dGhpcy5fbG9nZ2VyLmxvZ0RlYnVnKCJTeW5jIHNraXBwZWQ6IG9uIHNlY29uZGFyeSB0YWIiKTp0aGlzLl9sb2dnZXIubG9nRGVidWcoIlN5bmMgc2tpcHBlZDogc2Vzc2lvbiBoYXNoIil9LHRoaXMuX29uUHVzaFN0cmVhbVN0YXR1cz1lPT57Y29uc3QgdD1EYXRlLm5vdygpO2lmKGU9PT1vLkNvbm5lY3Rpb25TdGF0dXMuT3BlbiYmdGhpcy5fcHJldkNvbm5lY3Rpb25TdGF0dXM9PT1vLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkKXt0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1lO2NvbnN0IHM9bnVsbD09PXRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA/MDp0LXRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA7aWYodGhpcy5fZGlzY29ubmVjdFRpbWVzdGFtcD1udWxsLCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gdm9pZCB0aGlzLl9sb2dnZXIubG9nRGVidWcoIlN5bmMgc2tpcHBlZDogaXMgbm90IGF1dGhlbnRpY2F0ZWQiKTtpZighbi5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub3duUHVzaFN0cmVhbSgpKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dEZWJ1ZygiU3luYyBza2lwcGVkOiBvbiBzZWNvbmRhcnkgdGFiIik7aWYoczxpKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dEZWJ1ZygiU3luYyBza2lwcGVkOiBzaG9ydCBkaXNjb25uZWN0aW9uIikKO3RoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCgoKCk9Pntjb25zdCBlPW51bGwhPT10aGlzLl9zdGF0ZT90aGlzLl9nZXRUaW1lc3RhbXAodGhpcy5fc3RhdGUpOm51bGw7bnVsbD09PWV8fGU8dD8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiUmVjb25uZWN0IHN5bmMiKSx0aGlzLnN5bmNTeW1ib2xzKCkpOnRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoIlJlY29ubmVjdCBzeW5jIGhhbmRsZWQgYnkgYW5vdGhlciB0YWIiKX0pLE1hdGgucmFuZG9tKCkqbCthKX1lbHNlIGU9PT1vLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkJiYodGhpcy5fZGlzY29ubmVjdFRpbWVzdGFtcD1EYXRlLm5vdygpLHRoaXMuX3ByZXZDb25uZWN0aW9uU3RhdHVzPWUsY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpKX07Y29uc3R7ZXZlbnQ6dCxzdGF0ZTpzLHN5bmNocm9uaXplOmMsZ2V0VGltZXN0YW1wOnUsbG9nZ2VyTmFtZTpkfT1lO3RoaXMuX2V2ZW50PXQsdGhpcy5fc3luY2hyb25pemU9Yyx0aGlzLl9zdGF0ZT1zLHRoaXMuX2dldFRpbWVzdGFtcD11LHRoaXMuX2xvZ2dlcj0oMCxyLmdldExvZ2dlcikoYCR7ZH0uU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2VgKSx0aGlzLmNvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuX3N5bmM9bnVsbCx0aGlzLmNsb3NlQ29ubmVjdGlvbigpfXN5bmNTeW1ib2xzKGUpe2lmKG51bGw9PT10aGlzLl9zeW5jKXtjb25zdCB0PXRoaXMuX3N5bmM9dGhpcy5fc3luY2hyb25pemUoe2Fzc2VydDooKT0+e2lmKHRoaXMuX3N5bmMhPT10KXRocm93IG5ldyBFcnJvcihjKX0sY2FuY2VsOigpPT57dGhpcy5fc3luYz1udWxsfX0sZSkudGhlbigoKCk9Pnt0aGlzLl9zeW5jPW51bGx9KSwoZT0+e3Rocm93IHRoaXMuX3N5bmM9bnVsbCxlfSkpfXJldHVybiB0aGlzLl9zeW5jfWNvbm5lY3QoKXt0aGlzLl9zdWJzY3JpYmVPblB1c2hTdHJlYW0oKX1jbG9zZUNvbm5lY3Rpb24oKXt0aGlzLl91bnN1YnNjcmliZU9uUHVzaFN0cmVhbSgpfWlzRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZH1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9zdGF0ZX1zZXRTdGF0ZShlKXt0aGlzLl9zdGF0ZT1lfV9zdWJzY3JpYmVPblB1c2hTdHJlYW0oKXtuLnB1c2hTdHJlYW1NdWx0aXBsZXhlci5vbih0aGlzLl9ldmVudCx0aGlzLl9vblB1c2hTdHJlYW1DaGFuZ2UpLG4ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uUHJpdmF0ZVN0YXR1cyh0aGlzLl9vblB1c2hTdHJlYW1TdGF0dXMpfV91bnN1YnNjcmliZU9uUHVzaFN0cmVhbSgpe24ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9mZih0aGlzLl9ldmVudCx0aGlzLl9vblB1c2hTdHJlYW1DaGFuZ2UpLG4ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9mZlN0YXR1cyh0aGlzLl9vblB1c2hTdHJlYW1TdGF0dXMpLGNsZWFyVGltZW91dCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0KSx0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1udWxsfX19LDMxMzMwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtNQVhfV0FUQ0hMSVNUX0xFTkdUSDooKT0+YSxnZXRXYXRjaGxpc3RTeW1ib2xzTGltaXQ6KCk9Pmwsc2hvd01heExpbWl0RXJyb3I6KCk9PmN9KTt2YXIgbj1zKDU2OTM5OCksbz1zKDQ3OTM0KSxyPXMoMjM0OTY0KSxpPXMoNzgzMjU0KTtzKDMwMDI4Nik7Y29uc3QgYT0xZTM7ZnVuY3Rpb24gbCgpe3JldHVybigwLG4uaXNGZWF0dXJlRW5hYmxlZCkoIndhdGNobGlzdF9zeW1ib2xzX3RpZXJlZF9saW1pdHMiKT8oMCxvLmdldENvbmZpZykoIldBVENITElTVF9TWU1CT0xTIik/LmxpbWl0Pz9hOmF9ZnVuY3Rpb24gYyhlKXsoMCxyLnNob3dXYXJuaW5nKSh7dGl0bGU6aS50KG51bGwsdm9pZCAwLHMoNTY2OTQ4KSksdGV4dDppLnQobnVsbCx7cmVwbGFjZTp7bnVtYmVyOmEudG9TdHJpbmcoKX19LHMoMzI4ODI4KSl9LGUpfX0sOTEzNDEzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hcmtlZFN5bWJvbHNMaXN0QXBpOigpPT5tfSk7dmFyIG49cygyMjEwNjEpLG89cygzODQwMTcpLHI9cyg1ODA1MjYpLGk9cyg2MjEyMCksYT1zKDk2MjA4MSksbD1zKDMwNDM5OSk7YXN5bmMgZnVuY3Rpb24gYyhlLHQpe2NvbnN0IHM9KDAsci5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKGUsdCk7cmV0dXJuIGkucGVuZGluZ09wZW5TZXBhcmF0b3JzLmRlbGV0ZShlKSwoMCxvLmZldGNoKSgoMCxsLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0L2NvbG9yZWQvJHtlfS9yZXBsYWNlLz91bnNhZmU9dHJ1ZWApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkocyksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn19KS50aGVuKGwuaGFuZGxlSlNPTil9dmFyIHU9cyg5MzEzNTIpO2NvbnN0IGQ9KDAsbi5nZXRMb2dnZXIpKCJNYXJrZWRTeW1ib2xzLkFwaSIpO2NsYXNzIG17Z2V0TGlzdHMoKXtyZXR1cm4oMCxvLmZldGNoKSgoMCxsLndhdGNobGlzdFVybCkoIi9hcGkvdjEvc3ltYm9sc19saXN0L2NvbG9yZWQvIikse2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4obC5oYW5kbGVKU09OKX1yZW1vdmVTeW1ib2xzKGUsdCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9Qcm9taXNlLnJlc29sdmUobnVsbCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVtb3ZlIHN5bWJvbHMgZnJvbSAke2V9LWxpc3Q6ICR7dH1gKSxhc3luYyBmdW5jdGlvbihlLHQpe3JldHVybiBpLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZSk/YyhlLCgwLHIuZ2V0TG9jYWxMaXN0U3ltYm9scykoZSkpOigwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8ke2V9L3JlbW92ZS9gKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHQpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpKX1hcHBlbmRTeW1ib2xzKGUsdCl7CnJldHVybiAwPT09dC5sZW5ndGg/UHJvbWlzZS5yZXNvbHZlKG51bGwpOihkLmxvZ05vcm1hbChgU2VuZGluZyByZXF1ZXN0IHRvIGFwcGVuZCBzeW1ib2xzIHRvICR7ZX0tbGlzdDogJHt0fWApLGFzeW5jIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkucGVuZGluZ09wZW5TZXBhcmF0b3JzLmhhcyhlKT9jKGUsKDAsci5nZXRMb2NhbExpc3RTeW1ib2xzKShlKSk6KDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vYXBwZW5kL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkodCksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn19KS50aGVuKGwuaGFuZGxlSlNPTil9KGUsdCkpfXJlcGxhY2VTeW1ib2xzKGUsdCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9Qcm9taXNlLnJlc29sdmUobnVsbCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVwbGFjZSBzeW1ib2xzIGluICR7ZX0tbGlzdDogJHt0fWApLGMoZSx0KSl9cmVzZXRTeW1ib2xzKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/UHJvbWlzZS5yZXNvbHZlKCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVzZXQgc3ltYm9sczogJHtlfWApLGZ1bmN0aW9uKGUpe3JldHVybigwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKSgiL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC9idWxrX3JlbW92ZS8iKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGUpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlKSl9cmVzZXRBbGwoKXtyZXR1cm4gZC5sb2dOb3JtYWwoIlNlbmRpbmcgcmVxdWVzdCB0byByZXNldCBBTEwgc3ltYm9scyIpLCgwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKSgiL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8iKSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4obC5oYW5kbGVKU09OKX1yZW5hbWVMaXN0KGUsdCl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVuYW1lICR7ZX0tbGlzdDogJHt0fWApLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vcmVuYW1lL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkoe25hbWU6dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpfXNoYXJlTGlzdChlLHQpe3JldHVybiBkLmxvZ05vcm1hbChgU2VuZGluZyByZXF1ZXN0IHRvIHNoYXJlICR7ZX0tbGlzdDogJHt0fWApLCgwLHUuc2hhcmVNYXJrZWRMaXN0KShlLHQpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gY2hhbmdlIGRlc2NyaXB0aW9uICR7ZX0tbGlzdDogJHt0fWApLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vdXBkYXRlX21ldGEvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7ZGVzY3JpcHRpb246dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpfXJlbmFtZVNlcGFyYXRvcihlLHQscyl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVuYW1lIHNlcGFyYXRvciAke2V9LWxpc3Q6ICR7dH0gdG8gJHtzfWApLGFzeW5jIGZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4oMCxhLmNvbW1vblJlbmFtZVNlcGFyYXRvcikoZSwiY29sb3JlZCIsdCxzKX0oZSx0LHMpfX19LDcxMjEzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMSVNUX0NPTE9SUzooKT0+bSxMaXN0Q29sb3I6KCk9Pm4sY2hhbmdlRGVzY3JpcHRpb246KCk9PkMsY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+TixnZXRDb21tYW5kczooKT0+QSxnZXRMaXN0QnlDb2xvcjooKT0+ayxnZXRTeW1ib2xDb2xvcjooKT0+TCxnZXRTeW1ib2xzQnlDb2xvcjooKT0+RCxnZXRUaW1lc3RhbXA6KCk9Pk0saXNMaXN0Q29sb3I6KCk9PmgsbWFya01hbnk6KCk9PmIscmVkdWNlcjooKT0+TyxyZW1vdmU6KCk9Pl8scmVuYW1lOigpPT53LHJlbmFtZVNlcGFyYXRvcjooKT0+VCxyZXNldDooKT0+UyxzZXR1cDooKT0+dixzaGFyZTooKT0+RSxzaGlmdENvbW1hbmQ6KCk9PngsdXBkYXRlUGVyc2lzdGVkU3RhdGU6KCk9PlB9KTt2YXIgbixvPXMoMTMwNjk5KSxyPXMoMzI3MjM5KSxpPXMoMTM4NjM4KSxhPXMoNDMzMjApLGw9cygyOTUyMzUpLGM9cyg2MTI0NDYpLHU9cyg5MDEwMjIpLGQ9cyg5NzM1MjQpOyFmdW5jdGlvbihlKXtlLlJlZD0icmVkIixlLkJsdWU9ImJsdWUiLGUuR3JlZW49ImdyZWVuIixlLk9yYW5nZT0ib3JhbmdlIixlLlB1cnBsZT0icHVycGxlIixlLkN5YW49ImN5YW4iLGUuUGluaz0icGluayJ9KG58fChuPXt9KSk7Y29uc3QgbT1bbi5SZWQsbi5CbHVlLG4uR3JlZW4sbi5PcmFuZ2Usbi5QdXJwbGUsbi5DeWFuLG4uUGlua107ZnVuY3Rpb24gaChlKXtyZXR1cm4gbmV3IFNldChtKS5oYXMoZSl9Y29uc3QgcD17bGlzdHM6e2NvbG9yczpbXSxieUNvbG9yOnt9LGJ5U3ltYm9sOnt9fSxjb21tYW5kczpbXSx0aW1lc3RhbXA6bnVsbH07ZnVuY3Rpb24geShlLHQpe2NvbnN0e2xpc3RzOnN9PWUsbj1zLmJ5Q29sb3JbdF07biYmMD09PW4uc3ltYm9scy5sZW5ndGgmJihzLmNvbG9ycz1zLmNvbG9ycy5maWx0ZXIoKGU9PmUhPT10KSkpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuKDAsdS5pc1NlcGFyYXRvckl0ZW0pKGUpfWNvbnN0IGc9KDAsby5jcmVhdGVTbGljZSkoe25hbWU6Im1hcmtlZC1saXN0cyIsaW5pdGlhbFN0YXRlOnAsCnJlZHVjZXJzOntzZXR1cDooZSx0KT0+e2NvbnN0e2xpc3RzOnMsdGltZXN0YW1wOm59PXQucGF5bG9hZCxvPXtsaXN0czp7Y29sb3JzOltdLGJ5Q29sb3I6e30sYnlTeW1ib2w6e319LGNvbW1hbmRzOltdLHRpbWVzdGFtcDpudWxsfTtvLnRpbWVzdGFtcD1uO2Zvcihjb25zdCBlIG9mIGZ1bmN0aW9uKGUsdCl7cmV0dXJuWy4uLmVdLnNvcnQoKChlLHMpPT50LmluZGV4T2YoZS5jb2xvciktdC5pbmRleE9mKHMuY29sb3IpKSl9KHMsbSkpe2NvbnN0IHQ9ZS5zeW1ib2xzLmZpbHRlcigodD0+dm9pZCAwPT09by5saXN0cy5ieVN5bWJvbFt0XSYmKGYodCl8fChvLmxpc3RzLmJ5U3ltYm9sW3RdPWUuY29sb3IpLCEwKSkpO28ubGlzdHMuYnlDb2xvcltlLmNvbG9yXT17Y29sb3I6ZS5jb2xvcixuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHNoYXJlZDplLnNoYXJlZCxzeW1ib2xzOnQscGVyc2lzdGVkU3RhdGU6ZS5wZXJzaXN0ZWRTdGF0ZX0sdC5sZW5ndGg+MCYmby5saXN0cy5jb2xvcnMucHVzaChlLmNvbG9yKX1yZXR1cm4gb30scmVtb3ZlOihlLHQpPT57Y29uc3R7Y29sb3I6cyxzeW1ib2xzOm4sc2lsZW50Om99PXQucGF5bG9hZCx7bGlzdHM6YSxjb21tYW5kczpsfT1lLHU9YS5ieUNvbG9yW3NdO2lmKHZvaWQgMD09PXV8fDA9PT11LnN5bWJvbHMubGVuZ3RoKXJldHVybjtjb25zdCBkPW5ldyBTZXQobiksbT11LnN5bWJvbHMuZmlsdGVyKChlPT4hZC5oYXMoZSkpKTtpZighKDAsYy5lcXVhbEFycmF5cykobSx1LnN5bWJvbHMpKXt1LnN5bWJvbHM9bTtmb3IoY29uc3QgZSBvZiBkKWRlbGV0ZSBhLmJ5U3ltYm9sW2VdO298fGwucHVzaCh7dHlwZToicmVtb3ZlIixjb2xvcjpzLHN5bWJvbHM6Wy4uLmRdLHByZXZMaXN0czooMCxpLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pLHkoZSxzKX19LG1hcmtNYW55OihlLHQpPT57Y29uc3R7Y29sb3I6cyxiZWZvcmU6bixzaWxlbnQ6b309dC5wYXlsb2FkLHtsaXN0czphLGNvbW1hbmRzOmx9PWUse3VuaXF1ZTp1LGV4Y2x1c2lvbnM6bX09ZnVuY3Rpb24oZSx0KXtjb25zdHtjb2xvcjpzLHN5bWJvbHM6bixzZXBhcmF0b3JzOm99PXQucGF5bG9hZCx7bGlzdHM6cn09ZSxhPXt9LGw9bmV3IFNldCxjPWU9PmYoZSk/KCgwLGkuYXNzZXJ0KShudWxsIT09cykscyk6ci5ieVN5bWJvbFtlXTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoOysrZSl7Y29uc3QgdD1uW2VdO2lmKGwuaGFzKHQpfHxmKHQpJiYhbyljb250aW51ZTtsLmFkZCh0KTtjb25zdCBzPWModCk7dm9pZCAwIT09cyYmKGFbc109YVtzXT8/bmV3IFNldCkuYWRkKHQpfXJldHVybntleGNsdXNpb25zOmEsdW5pcXVlOmx9fShlLHQpO2lmKDA9PT11LnNpemUpcmV0dXJuO2NvbnN0IGg9ZnVuY3Rpb24oZSx0LHMsbil7Y29uc3R7Y29sb3I6byxiZWZvcmU6cn09dC5wYXlsb2FkLHtsaXN0czppfT1lO2xldCBhO2lmKG51bGwhPT1vJiZ2b2lkIDAhPT1yJiZzLmhhcyhyKSl7Y29uc3QgZT1pLmJ5Q29sb3Jbb107aWYodm9pZCAwIT09ZSl7YT1uO2ZvcihsZXQgdD1lLnN5bWJvbHMuaW5kZXhPZihyKTt0Pj0wOy0tdClpZighcy5oYXMoZS5zeW1ib2xzW3RdKSl7YT1lLnN5bWJvbHNbdF07YnJlYWt9fX1yZXR1cm4gYX0oZSx0LHUsZC5MSVNUX1NUQVJUKTtpZihudWxsIT09cyYmdm9pZCAwIT09bVtzXSYmMT09PU9iamVjdC5rZXlzKG0pLmxlbmd0aCl7Y29uc3QgdD1hLmJ5Q29sb3Jbc107KDAsaS5hc3NlcnQpKHZvaWQgMCE9PXQpO2NvbnN0IHA9dC5zeW1ib2xzLmZpbHRlcigoZT0+IXUuaGFzKGUpKSksZz0oMCxkLmdldFRhcmdldEluZGV4KShwLG4saCk7aWYodm9pZCAwPT09Zz9wLnB1c2goLi4udSk6cC5zcGxpY2UoZywwLC4uLnUpLCgwLGMuZXF1YWxBcnJheXMpKHAsdC5zeW1ib2xzKSlyZXR1cm47e2NvbnN0IG49bVtzXTsoMCxpLmFzc2VydCkodm9pZCAwIT09biksdC5zeW1ib2xzPXA7Zm9yKGNvbnN0IGUgb2YgbilkZWxldGUgYS5ieVN5bWJvbFtlXTtmb3IoY29uc3QgZSBvZiB1KWYoZSl8fChhLmJ5U3ltYm9sW2VdPXMpO3JldHVybiB5KGUscyksdm9pZChvfHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4udC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9fWZvcihjb25zdCB0IGluIG0pe2lmKCFtLmhhc093blByb3BlcnR5KHQpKWNvbnRpbnVlO2NvbnN0IHM9bVt0XTsoMCxpLmFzc2VydCkodm9pZCAwIT09cyk7Y29uc3Qgbj1hLmJ5Q29sb3JbdF07KDAsaS5hc3NlcnQpKHZvaWQgMCE9PW4pLG4uc3ltYm9scz1uLnN5bWJvbHMuZmlsdGVyKChlPT4hcy5oYXMoZSl8fChkZWxldGUgYS5ieVN5bWJvbFtlXSwhMSkpKSx5KGUsdCl9aWYobnVsbD09PXMpcmV0dXJuIHZvaWQob3x8bC5wdXNoKHt0eXBlOiJyZXNldCIsc3ltYm9sczpbLi4udV0scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpO2NvbnN0IHA9YS5ieUNvbG9yW3NdO2lmKGEuY29sb3JzLmluY2x1ZGVzKHMpKXsoMCxpLmFzc2VydCkodm9pZCAwIT09cCk7Y29uc3QgdD0oMCxkLmdldFRhcmdldEluZGV4KShwLnN5bWJvbHMsbixoKTt2b2lkIDA9PT10PyhwLnN5bWJvbHMucHVzaCguLi51KSxvfHwodm9pZCAwPT09bVtzXT9sLnB1c2goe3R5cGU6ImFwcGVuZCIsY29sb3I6cyxzeW1ib2xzOlsuLi51XSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KTpsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSkpOihwLnN5bWJvbHMuc3BsaWNlKHQsMCwuLi51KSxvfHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9ZWxzZSB2b2lkIDA9PT1wP2EuYnlDb2xvcltzXT17Y29sb3I6cywKc3ltYm9sczpbLi4udV0sbmFtZTpudWxsLGRlc2NyaXB0aW9uOm51bGwsc2hhcmVkOiExLHBlcnNpc3RlZFN0YXRlOm51bGx9OnAuc3ltYm9scz1bLi4udV0sYS5jb2xvcnMucHVzaChzKSxvfHxsLnB1c2goe3R5cGU6ImFwcGVuZCIsY29sb3I6cyxzeW1ib2xzOlsuLi51XSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KTtmb3IoY29uc3QgZSBvZiB1KWYoZSl8fChhLmJ5U3ltYm9sW2VdPXMpfSxyZW5hbWVTZXBhcmF0b3I6KGUsdCk9Pntjb25zdHtjb2xvcjpzLHNlcGFyYXRvcjpuLG5hbWU6byxzaWxlbnQ6YX09dC5wYXlsb2FkO2lmKG49PT1vfHwhZihuKXx8IWYobykpcmV0dXJuO2NvbnN0IGw9ZS5saXN0cy5ieUNvbG9yW3NdOygwLGkuYXNzZXJ0KSh2b2lkIDAhPT1sKTtjb25zdCBjPWwuc3ltYm9scy5pbmRleE9mKG4pOy0xIT09YyYmLTE9PT1sLnN5bWJvbHMuaW5kZXhPZihvKSYmKGwuc3ltYm9scy5zcGxpY2UoYywxLG8pLGF8fGUuY29tbWFuZHMucHVzaCh7dHlwZToicmVuYW1lLXNlcGFyYXRvciIsY29sb3I6cyxzZXBhcmF0b3I6bixuYW1lOm8scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSxyZW5hbWU6KGUsdCk9Pntjb25zdHtuYW1lOnMsY29sb3I6bixzaWxlbnQ6b309dC5wYXlsb2FkLGE9ZS5saXN0cy5ieUNvbG9yW25dOygwLGkuYXNzZXJ0KSh2b2lkIDAhPT1hKSxhLm5hbWUhPT1zJiYoYS5uYW1lPXMsb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJyZW5hbWUiLGNvbG9yOm4sbmFtZTpzLHByZXZMaXN0czooMCxpLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pKX0sY2hhbmdlRGVzY3JpcHRpb246KGUsdCk9Pntjb25zdHtjb2xvcjpzLGRlc2NyaXB0aW9uOm4sc2lsZW50Om99PXQucGF5bG9hZCxhPWUubGlzdHMuYnlDb2xvcltzXTsoMCxpLmFzc2VydCkodm9pZCAwIT09YSksYS5kZXNjcmlwdGlvbiE9PW4mJihhLmRlc2NyaXB0aW9uPW4sb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJjaGFuZ2UtZGVzY3JpcHRpb24iLGNvbG9yOnMsZGVzY3JpcHRpb246bixwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9LHJlc2V0OihlLHQpPT57Y29uc3R7c2lsZW50OnN9PXQucGF5bG9hZCx7bGlzdHM6bn09ZTtmb3IoY29uc3QgZSBvZiBtKXtjb25zdCB0PW4uYnlDb2xvcltlXTt2b2lkIDAhPT10JiYodC5zeW1ib2xzPVtdKX1uLmNvbG9ycz1bXSxuLmJ5U3ltYm9sPXt9LHN8fGUuY29tbWFuZHMucHVzaCh7dHlwZToicmVzZXQtYWxsIixwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KX0sc2hhcmU6KGUsdCk9Pntjb25zdHtsaXN0czpzLGNvbW1hbmRzOm59PWUse3NoYXJlZDpvLGNvbG9yOmEsc2lsZW50Omx9PXQucGF5bG9hZCxjPXMuYnlDb2xvclthXTt2b2lkIDAhPT1jJiZjLnNoYXJlZCE9PW8mJihjLnNoYXJlZD1vLGx8fG4ucHVzaCh7dHlwZToic2hhcmUiLGNvbG9yOmEsc2hhcmVkOm8scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTooZSx0KT0+e2NvbnN0e2xpc3RzOnN9PWU7Zm9yKGNvbnN0IGUgb2YgbSl7Y29uc3Qgbj1zLmJ5Q29sb3JbZV0sbz10LnBheWxvYWRbZV07dm9pZCAwIT09biYmbi5wZXJzaXN0ZWRTdGF0ZSYmbyYmKG4ucGVyc2lzdGVkU3RhdGU9ey4uLm4ucGVyc2lzdGVkU3RhdGUsLi4ub30pfX0sc2hpZnRDb21tYW5kOihlLHQpPT57Y29uc3R7Y291bnQ6c309dC5wYXlsb2FkO2UuY29tbWFuZHMuc3BsaWNlKDAscyl9fX0pLHttYXJrTWFueTpiLHNldHVwOnYscmVzZXQ6UyxyZW1vdmU6XyxyZW5hbWU6dyxjaGFuZ2VEZXNjcmlwdGlvbjpDLHJlbmFtZVNlcGFyYXRvcjpULHNoaWZ0Q29tbWFuZDp4LHNoYXJlOkUsdXBkYXRlUGVyc2lzdGVkU3RhdGU6UH09Zy5hY3Rpb25zLHtyZWR1Y2VyOk99PWc7ZnVuY3Rpb24gTihlLHQscz1nKXtyZXR1cm4oMCxhLmNyZWF0ZUNyb3NzVGFiU3luY01pZGRsZXdhcmUpKHtpZDplLGNoYW5uZWw6dCxldmVudDoibWFya2VkLWxpc3QtY3Jvc3MtdGFiLXN5bmMiLGZpbHRlcjplPT5mdW5jdGlvbihlLHQpe3JldHVybiB0LmFjdGlvbnMubWFya01hbnkubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW5hbWUubWF0Y2goZSl8fHQuYWN0aW9ucy5jaGFuZ2VEZXNjcmlwdGlvbi5tYXRjaChlKXx8dC5hY3Rpb25zLnJlbW92ZS5tYXRjaChlKXx8dC5hY3Rpb25zLnNldHVwLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVuYW1lU2VwYXJhdG9yLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVzZXQubWF0Y2goZSl8fHQuYWN0aW9ucy5zaGFyZS5tYXRjaChlKXx8dC5hY3Rpb25zLnVwZGF0ZVBlcnNpc3RlZFN0YXRlLm1hdGNoKGUpfShlLHMpfSl9ZnVuY3Rpb24gTChlLHQpe3JldHVybiBlLmxpc3RzLmJ5U3ltYm9sW2wucXVhbGlmaWVkLmNhc3QodCldPz9udWxsfWZ1bmN0aW9uIGsoZSx0KXtyZXR1cm4gZS5saXN0cy5ieUNvbG9yW3RdPz9udWxsfWZ1bmN0aW9uIEQoZSx0KXtyZXR1cm4gayhlLHQpPy5zeW1ib2xzPz9udWxsfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIGUuY29tbWFuZHN9ZnVuY3Rpb24gTShlKXtyZXR1cm4gZS50aW1lc3RhbXB9fSw0OTI2NzcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxzPXt9O2lmKCFlKXJldHVybiBzO2xldCBvPXQuZXhlYyhlKTtmb3IoO287KXNbbihvWzFdKV09bihvWzJdKSxvPXQuZXhlYyhlKTtyZXR1cm4gc31mdW5jdGlvbiByKCl7cmV0dXJuIG8od2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIGkoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF0KO3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSgiIixkb2N1bWVudC50aXRsZSxlKX1mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IHMgaW4gZSlpZihlLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1lW3NdKXtjb25zdCBuPWVbc10sbz0ib2JqZWN0Ij09dHlwZW9mIG4/SlNPTi5zdHJpbmdpZnkobik6U3RyaW5nKG4pO3QucHVzaCh7a2V5OnMscGFpcjplbmNvZGVVUklDb21wb25lbnQocykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChvKX0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLmtleT50LmtleT8xOmUua2V5PHQua2V5Py0xOjApKS5tYXAoKGU9PmUucGFpcikpLmpvaW4oIiYiKX1zLmQodCx7Y3JlYXRlVXJsUGFyYW1zOigpPT5hLGdldFVybFBhcmFtczooKT0+cixyZW1vdmVIYXNoRnJvbVVybDooKT0+aX0pfSw5NzM1MjQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TElTVF9TVEFSVDooKT0+bixnZXRUYXJnZXRJbmRleDooKT0+b30pO2NvbnN0IG49U3ltYm9sKCk7ZnVuY3Rpb24gbyhlLHQscyl7Y29uc3Qgbz12b2lkIDA9PT1zP3ZvaWQgMCE9PXQ/ZS5pbmRleE9mKHQpOnZvaWQgMDpzPT09bj8wOmUuaW5kZXhPZihzKSsxO3JldHVybi0xIT09bz9vOnZvaWQgMH19LDQzMzIwKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtjb25zdHtpZDp0LGV2ZW50OnMsY2hhbm5lbDpuLGZpbHRlcjpvfT1lO3JldHVybiBlPT4obi5vbihzLChzPT57Y29uc3R7YWN0aW9uOm4sZW1pdHRlcjpyfT1KU09OLnBhcnNlKHMpO3IhPT10JiZvKG4pJiZlLmRpc3BhdGNoKHsuLi5uLHBheWxvYWQ6ey4uLm4ucGF5bG9hZCxzaWxlbnQ6ITB9fSl9KSksZT0+cj0+e2NvbnN0IGk9ZShyKTtyZXR1cm4gbyhyKSYmKHIucGF5bG9hZC5zaWxlbnR8fG4uZW1pdChzLEpTT04uc3RyaW5naWZ5KHthY3Rpb246cixlbWl0dGVyOnR9KSkpLGl9KX1zLmQodCx7Y3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+bn0pfSwyOTUyMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cXVhbGlmaWVkOigpPT5ufSk7Y29uc3Qgbj17Y2FzdDplPT5lLGNhc3RNYW55OmU9PmUubWFwKG4uY2FzdCl9fSw2MTI0NDYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcylpZihlW3NdIT09dFtzXSlyZXR1cm4hMTtyZXR1cm4hMH1zLmQodCx7ZXF1YWxBcnJheXM6KCk9Pm59KX0sMzA0Mzk5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2hhbmRsZUpTT046KCk9PnIsd2F0Y2hsaXN0VXJsOigpPT5pfSk7dmFyIG49cygzMTg5NzQpLG89cyg1NjkzOTgpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGUub2s/MjA0PT09ZS5zdGF0dXM/UHJvbWlzZS5yZXNvbHZlKCk6ZS5qc29uKCk6ZS5qc29uKCkudGhlbigoZT0+e2NvbnN0IHQ9bmV3IEVycm9yKGUuZGV0YWlsfHwibm90IG9rIik7dGhyb3cgZS5jb2RlJiYodC5uYW1lPWBBcGlFcnJvcjoke2UuY29kZX1gKSx0fSkpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD13aW5kb3cuVFZfV0FUQ0hMSVNUU19VUkwrZTtpZighKDAsby5pc0ZlYXR1cmVFbmFibGVkKSgid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iKSlyZXR1cm4gdDtjb25zdCBzPSgwLG4uaXNEZXNrdG9wQXBwKSgpPyJ3ZWItdHZkIjoid2ViIjtyZXR1cm4gdCsoZS5pbmNsdWRlcygiPyIpPyImIjoiPyIpKyJzb3VyY2U9IitzfX0sNDM2Mzk0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1dhcm5pbmc6KCk9PmF9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDE4NTI3MSkscj1zKDcyNTg2MiksaT1zKDQ1OTg2Myk7ZnVuY3Rpb24gYShlKXtjb25zdHt0aXRsZTp0LGNsb3NlT25PdXRzaWRlQ2xpY2s6YSxvbkNsb3NlOmM9KCk9Pnt9LGJhY2tkcm9wOnUsc2hvd0Nsb3NlQnV0dG9uOmQsZGF0YVFhSWQ6bX09ZSxoPSgwLGkuZ2V0Q29udGVudCkoZSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChyLlNpbXBsZURpYWxvZyx7Li4uaCx0aXRsZTp0fHxvLnQobnVsbCx2b2lkIDAscyg5MzcwMTcpKSxvbkNsb3NlOmMsYmFja2Ryb3A6dSxhY3Rpb25zOmwoZSksZGF0YU5hbWU6Indhcm5pbmctZGlhbG9nIixkYXRhUWFJZDptLGNsb3NlT25PdXRzaWRlQ2xpY2s6YSxzaG93Q2xvc2VCdXR0b246ZH0pfWZ1bmN0aW9uIGwoZSl7Y29uc3R7YnV0dG9uVGV4dDp0LGludGVudEJ1dHRvbjpuLGFjdGlvbnM6cixvbkNvbmZpcm06aX09ZSxhPVt7bmFtZToib2siLHRpdGxlOnR8fG8udChudWxsLHZvaWQgMCxzKDIwODA3OCkpLGludGVudDpuLGhhbmRsZXI6KHtkaWFsb2dDbG9zZTplfSk9PntpPy4oKSxlKCl9fV07cmV0dXJuIHImJnIuZm9yRWFjaCgoZT0+YS5wdXNoKGUpKSksYX19LDU5NjA1MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzaG93U2ltcGxlRGlhbG9nSW5zdGFuY2U6KCk9PmN9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDEzODYzOCkscj1zKDYwNzgzMiksaT1zKDg2MzQ0KSxhPXMoNTcxMzAwKTtjb25zdCBsPW5ldyBpLkRpYWxvZ3NPcGVuZXJNYW5hZ2VyO2Z1bmN0aW9uIGMoZSx0LHMpe2NvbnN0e3RpdGxlOml9PWU7bGV0IGM9YCR7aX1fYDtpZihjKz0idGV4dCJpbiBlP2UudGV4dDoiaHRtbCJpbiBlP2UuaHRtbDplLmlkLGwuaXNPcGVuZWQoYykpcmV0dXJuKDAsby5lbnN1cmVEZWZpbmVkKShsLmdldERpYWxvZ1BheWxvYWQoYykpLmNsb3NlSGFuZGxlcjtjb25zdCB1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9KCk9PntlLm9uQ2xvc2U/LigpLG0udW5tb3VudCgpLGwuc2V0QXNDbG9zZWQoYyl9LG09KDAsYS5jcmVhdGVSZWFjdFJvb3QpKG4uY3JlYXRlRWxlbWVudChyLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpzfHxudWxsfSxuLmNyZWF0ZUVsZW1lbnQodCx7Li4uZSxvbkNsb3NlOmR9KSksdSk7cmV0dXJuIGwuc2V0QXNPcGVuZWQoYyx7Y2xvc2VIYW5kbGVyOmR9KSxkfX0sODYzNDQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7RGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm4sZGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm99KTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7CnRoaXMuX3N0b3JhZ2U9bmV3IE1hcH1zZXRBc09wZW5lZChlLHQpe3RoaXMuX3N0b3JhZ2Uuc2V0KGUsdCl9c2V0QXNDbG9zZWQoZSl7dGhpcy5fc3RvcmFnZS5kZWxldGUoZSl9aXNPcGVuZWQoZSl7cmV0dXJuIHRoaXMuX3N0b3JhZ2UuaGFzKGUpfWdldERpYWxvZ1BheWxvYWQoZSl7cmV0dXJuIHRoaXMuX3N0b3JhZ2UuZ2V0KGUpfX1jb25zdCBvPW5ldyBufSw4NTE0NTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7ZmFjdG9yT3V0QnJhY2VzOigpPT5oLGdldFRva2VuQXRQb3M6KCk9Pm0saXNCaW5hcnlPcGVyYXRvcjooKT0+dSxpc1NwcmVhZDooKT0+ZCxwYXJzZVRva2VuOigpPT55LHNob3J0TmFtZTooKT0+cCxzeW1ib2xUb2tlbkVzY2FwZVJlOigpPT5hLHRva2VuaXplOigpPT5jfSk7dmFyIG4sbz1zKDkwMTAyMikscj1zKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KG58fChuPXt9KSk7Y29uc3QgaT0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9L1srXC0vKl0vLGw9KGU9KDAsci5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOmksaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6by5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1sKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IHM9W10sbj1PYmplY3Qua2V5cyh0KTtsZXQgbztjb25zdCByPSgoZT1sKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7bz1yLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9bi5sZW5ndGg7dC0tOylpZihvW3QrMV0pe25bdF0mJnMucHVzaCh7dmFsdWU6b1t0KzFdLHR5cGU6blt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0Om8uaW5kZXh9KSxlPSEwO2JyZWFrfWV8fHMucHVzaCh7dmFsdWU6b1swXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDpvLmluZGV4fSl9cmV0dXJuIHN9ZnVuY3Rpb24gdShlKXtyZXR1cm4icGx1cyI9PT1lfHwibWludXMiPT09ZXx8Im11bHRpcGx5Ij09PWV8fCJkaXZpZGUiPT09ZXx8InBvd2VyIj09PWV9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS5sZW5ndGg+MSYmZS5zb21lKChlPT51KGUudHlwZSkpKX1mdW5jdGlvbiBtKGUsdCl7Zm9yKGxldCBzPTA7czxlLmxlbmd0aDtzKyspe2NvbnN0IG49ZVtzXSxvPSJzeW1ib2wiPT09bi50eXBlfHwiaW5jb21wbGV0ZVN5bWJvbCI9PT1uLnR5cGV8fCJudW1iZXIiPT09bi50eXBlO2lmKG4ub2Zmc2V0PD10JiZ0PD1uLm9mZnNldCtuLnZhbHVlLmxlbmd0aCYmbylyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBoKGUpe2U9ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgcyBvZiBlKSJ3aGl0ZXNwYWNlIiE9PXMudHlwZSYmdC5wdXNoKHMpO3JldHVybiB0fShlKTtjb25zdCB0PVtdLHM9W107bGV0IG47Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IHI9ZVtvXTtzd2l0Y2goci50eXBlKXtjYXNlInBsdXMiOmNhc2UibWludXMiOmNhc2UibXVsdGlwbHkiOmNhc2UiZGl2aWRlIjpjYXNlInBvd2VyIjpzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnIucHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT1yLnByZWNlZGVuY2UpO2JyZWFrO2Nhc2Uib3BlbkJyYWNlIjpuPXttaW5QcmVjZWRlbmNlOjEvMCxvcGVuQnJhY2VJbmRleDpvfSxzLnB1c2gobik7YnJlYWs7Y2FzZSJjbG9zZUJyYWNlIjp7aWYobj1zLnBvcCgpLCFuKWJyZWFrO2NvbnN0IHI9ZVtuLm9wZW5CcmFjZUluZGV4LTFdLGk9ZVtvKzFdLGE9ciYmKCJwbHVzIj09PXIudHlwZXx8Im11bHRpcGx5Ij09PXIudHlwZSk7KCF1KGk/LnR5cGUpfHxpPy5wcmVjZWRlbmNlPD1uLm1pblByZWNlZGVuY2UpJiYoIXUocj8udHlwZSl8fHI/LnByZWNlZGVuY2U8bj8ubWluUHJlY2VkZW5jZXx8cj8ucHJlY2VkZW5jZT09PW4/Lm1pblByZWNlZGVuY2UmJmEpJiYodC51bnNoaWZ0KG4ub3BlbkJyYWNlSW5kZXgpLHQucHVzaChvKSxzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPm4ubWluUHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT1uLm1pblByZWNlZGVuY2UpKX19fWZvcihsZXQgcz10Lmxlbmd0aDtzLS07KWUuc3BsaWNlKHRbc10sMSk7cmV0dXJuIGV9ZnVuY3Rpb24gcChlKXsKcmV0dXJuIGgoYyhlKSkucmVkdWNlKCgoZSx0KT0+e2lmKCJzeW1ib2wiIT09dC50eXBlKXJldHVybiBlK3QudmFsdWU7Y29uc3RbLHNdPXkodCk7cmV0dXJuIHM/ZStzOmV9KSwiIil9ZnVuY3Rpb24geShlKXtjb25zdCB0PS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLmV4ZWMoZS52YWx1ZSk7cmV0dXJuIG51bGw9PT10P1t2b2lkIDAsdm9pZCAwXTpbdFsxXSx0WzJdXX19LDY5MjI2NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtUb29sdGlwV2lkZ2V0OigpPT5kLFRvb2x0aXBXaXphcmQ6KCk9PnV9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDkxNDQ4Nykscj1zLm4obyksaT1zKDI3MzMxMCksYT1zKDU4NTQ4KSxsPXMoODA2NjkzKSxjPXMoOTIzNTEzKTtjbGFzcyB1IGV4dGVuZHMgbi5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LG9uQ2xvc2U6cyxyZWZlcmVuY2U6byxjb250YWluZXJDbGFzc05hbWU6aSxhcnJvd0NsYXNzTmFtZTpsLHJvbGU6dX09dGhpcy5wcm9wcztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuUG9ydGFsLG51bGwsbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6b30sbi5jcmVhdGVFbGVtZW50KGQse3JlZmVyZW5jZTp0LnJlZixzdHlsZTp0LnN0eWxlLGFycm93Q2xhc3NOYW1lOnIoKShjLmFycm93SG9sZGVyLHRoaXMuX2dldEFycm93RGlyZWN0aW9uQ2xhc3MoKSxsKSxhcnJvd1JlZmVyZW5jZTp0LmFycm93UHJvcHMucmVmLGFycm93U3R5bGU6dC5hcnJvd1Byb3BzLnN0eWxlLCJkYXRhLXBsYWNlbWVudCI6dC5wbGFjZW1lbnQsb25DbG9zZTpzLGNvbnRhaW5lckNsYXNzTmFtZTppLHJvbGU6dX0sZSkpKX1fZ2V0QXJyb3dEaXJlY3Rpb25DbGFzcygpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6ZX09dGhpcy5wcm9wcztzd2l0Y2goZS5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJsZWZ0LXN0YXJ0IjpyZXR1cm4gcigpKGNbImFycm93SG9sZGVyLS1hZnRlciJdLGNbImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4Il0pO2Nhc2UidG9wIjpyZXR1cm4gcigpKGNbImFycm93SG9sZGVyLS1hYm92ZSJdLGNbImFycm93SG9sZGVyLS1hYm92ZS1maXgiXSk7Y2FzZSJib3R0b20iOmNhc2UiYm90dG9tLXN0YXJ0IjpjYXNlImJvdHRvbS1lbmQiOnJldHVybiBjWyJhcnJvd0hvbGRlci0tYmVsb3ciXTtkZWZhdWx0OnJldHVybiByKCkoY1siYXJyb3dIb2xkZXItLWJlZm9yZSJdLGNbImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCJdKX19fWZ1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY29udGFpbmVyQ2xhc3NOYW1lOnMsY29udGVudENsYXNzTmFtZTpvLHJlZmVyZW5jZTphLHN0eWxlOnUsYXJyb3c6ZD0hMCxhcnJvd0NsYXNzTmFtZTptLGFycm93UmVmZXJlbmNlOmgsb25DbG9zZTpwLGFycm93U3R5bGU6eSxjaGlsZHJlbjpmLHJvbGU6ZywuLi5ifT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmIsY2xhc3NOYW1lOnQscmVmOmEsc3R5bGU6dSwiZGF0YS1yb2xlIjpnfSxkJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptLHJlZjpoLHN0eWxlOnl9KSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoYy5jb250YWluZXIscyl9LG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShjLmNvbnRlbnQsbyl9LGYpLHAmJm4uY3JlYXRlRWxlbWVudChpLkljb24se2NsYXNzTmFtZTpjLmNsb3NlQnV0dG9uLGljb246bCxvbkNsaWNrOnB9KSkpfX0sMjQxOTM3KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IHM9dHx8d2luZG93LmxvY2FsZXx8ImVuIjtsZXQgbj1lW3NdP2Vbc106ZS5lbjtyZXR1cm4gbj0idHJhZGluZ3ZpZXcuY29tIj09PW4/Ind3dy50cmFkaW5ndmlldy5jb20iOm4sbj9kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK246IiJ9cy5kKHQse2RldGVybWluZUJhc2VVcmw6KCk9Pm59KX0sMzM3MzYyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0VtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXI6KCk9Pm99KTt2YXIgbj1zKDkzMDIzMSk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH1zdGFydExpc3RlbmluZygpe3RoaXMuX21lc3NhZ2VSZWNlaXZlcnx8KHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1lPT57aWYoZS5kYXRhKXRyeXtjb25zdCB0PUpTT04ucGFyc2UoZS5kYXRhKTsic2V0LWVtYmVkLXJlc2l6ZXItb3ZlcnJpZGVzIj09PXQuZXZlbnQmJih0aGlzLl9kYXRhPXQuZWRnZXMpfWNhdGNoe319LHRoaXMuX2FkZE1lc3NhZ2VMaXN0ZW5lcigpKX1kZXN0cm95KCl7dGhpcy5fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB0aGlzLl9pbnN0YW5jZXx8KHRoaXMuX2luc3RhbmNlPW5ldyBvKSx0aGlzLl9pbnN0YW5jZX1fYWRkTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKX1fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKSx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH19KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZW1iZWRfcmVzaXplcl9vdmVycmlkZXMiKSYmby5nZXRJbnN0YW5jZSgpLnN0YXJ0TGlzdGVuaW5nKCl9LDk2MzkwMChlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBuOyFmdW5jdGlvbihlKXtlLkVtcHR5PSIiLGUuVGVjaG5pY2Fsc1BhdGg9InRlY2huaWNhbHMvIixlLkZpbmFuY2lhbHNPdmVydmlld1BhdGg9ImZpbmFuY2lhbHMtb3ZlcnZpZXcvIixlLlRpbWVsaW5lUGF0aD0iaGlzdG9yeS10aW1lbGluZS8iLGUuTmV3c1BhdGg9Im5ld3MvIixlLk9wdGlvbnNQYXRoPSJvcHRpb25zLyIsZS5Qcm9maWxlUGF0aD0icHJvZmlsZS8iLAplLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0obnx8KG49e30pKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70656.ce4fb4dfd959eefc84c7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.464Z","timestamp":1785136901464,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70656.ce4fb4dfd959eefc84c7.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd8a-9de\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:17:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 16242084c095d1da88ef1b5575865143\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2526,"size_decoded":1471,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2526), with no line terminators","md5":"b42a9e7d525b085dd6a8b47f0de67234","sha1":"3f0eec62020fc6a548ca79f106d4977314a8c1fe","sha256":"9dcf914fe1e67e14d06fe012bbdf425fcf085e0e703d42d1f360e3b840a4fc8c","sha512":"c899b211a18c733fd09e7fe54459d19a86b71efb75553f219188672793ad1aba396df2fb87b1e4fafb0dedd93bd4341004cdeb0a9a6339c3183e5a08237c2e3f","ssdeep":"","tlshash":"b8513c88f161b43f2e4f71290318c16c73267591ef820bb9f826f5d401d6feba6a6715","first_seen":"2026-07-20T16:56:18.412108Z","last_seen":"2026-08-10T05:00:33.798982Z","times_seen":221,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtZzctcjp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTcwMCk7LS1fMS1nNy1yOiMwMDAwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtZzctcjp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTgwMCk7LS1fMS1nNy1yOiMwMDAwfS5mYXZvcml0ZS1Rd0tXU1VtYXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0KSk7ZGlzcGxheTppbmxpbmUtZmxleDtmb250LXNpemU6MDtoZWlnaHQ6MjJweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyMnB4O3dpZHRoOjIycHh9LmZhdm9yaXRlLVF3S1dTVW1hLmhvdmVyZWQtUXdLV1NVbWEsLmZhdm9yaXRlLVF3S1dTVW1hOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1ob3Zlci1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mYXZvcml0ZS1Rd0tXU1VtYTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1ob3Zlci1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyKSl9fS5mYXZvcml0ZS1Rd0tXU1VtYS5kaXNhYmxlZC1Rd0tXU1VtYSwuZmF2b3JpdGUtUXdLV1NVbWEuZGlzYWJsZWQtUXdLV1NVbWE6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLV8xLWc3LXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZhdm9yaXRlLVF3S1dTVW1hLmRpc2FibGVkLVF3S1dTVW1hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLV8xLWc3LXIpKX19LmZhdm9yaXRlLVF3S1dTVW1he291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5mYXZvcml0ZS1Rd0tXU1VtYTpmb2N1c3tvdXRsaW5lOm5vbmV9LmZhdm9yaXRlLVF3S1dTVW1hOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5mYXZvcml0ZS1Rd0tXU1VtYTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt3aWR0aDpjYWxjKDEwMCUgKyA0cHgpO3otaW5kZXg6MX0uZmF2b3JpdGUtUXdLV1NVbWEuZm9jdXNlZC1Rd0tXU1VtYTphZnRlcntkaXNwbGF5OmJsb2NrfS5mYXZvcml0ZS1Rd0tXU1VtYS5hY3RpdmUtUXdLV1NVbWF7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKX0uZmF2b3JpdGUtUXdLV1NVbWEuYWN0aXZlLVF3S1dTVW1hLmhvdmVyZWQtUXdLV1NVbWEsLmZhdm9yaXRlLVF3S1dTVW1hLmFjdGl2ZS1Rd0tXU1VtYTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZmF2b3JpdGUtUXdLV1NVbWEuYWN0aXZlLVF3S1dTVW1hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpKX19LmZhdm9yaXRlLVF3S1dTVW1hLmNoZWNrZWQtUXdLV1NVbWF7Y29sb3I6dmFyKC0tXzAtZzctcil9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/apple.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.252Z","timestamp":1785136902252,"http_version":"HTTP/2","security_state":"secure","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 /apple.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://s.tradingview.com/\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-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\ndate: Mon, 27 Jul 2026 07:21:42 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"725d4f188fecc7d857c5a8e668ec4dac\"\r\nlast-modified: Wed, 08 Sep 2021 08:59:47 GMT\r\ncdn-cachedat: 08/09/2025 14:29:45\r\nx-amz-id-2: nVNebCrVNv6WFHNMhn9g0XLOX7wB6Igj0Kr4gL/F8B2K819YqZQikr7hCN0QOYhAy0lXWUNwwQ4=\r\nx-amz-request-id: BDCVJSNZDZSPKV1C\r\nx-amz-meta-hash: 725d4f188fecc7d857c5a8e668ec4dac\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a679ec8feb9caaaa2454d76626f280c9\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":1112,"size_decoded":1558,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (1112), with no line terminators","md5":"725d4f188fecc7d857c5a8e668ec4dac","sha1":"1b0fa7fa9f490f81c5b27a1103ddf27a64a80380","sha256":"92c90a9fad411e1735a51e42c34537725149bf0962aa30d593fe5f311be8d1bc","sha512":"c7a7e2c18bf5cd8e2f85220261d6712ddd1682aa6ac1439b66b924431c79e7fa2a1a89adb01fc03defced15f724a8ed5cf5936befe1dc3cab62dd9d15652261a","ssdeep":"","tlshash":"6f2133e7db6557dcf449c2edbf0a4875100e7096a25752c1949e2f1cf02e6d3fa04844","first_seen":"2023-10-02T02:23:08Z","last_seen":"2026-08-10T01:49:01.340812Z","times_seen":1115,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXIpIiBkPSJNMCAwaDE4djE4SDB6Ii8+PHBhdGggZD0iTTEzIDEwLjU5N2E0LjgzIDQuODMgMCAwMS0uNjc4IDEuMjg3Yy0uMjY5LjM2My0uNDg5LjYxNC0uNjU4Ljc1My0uMjYyLjIzLS41NDQuMzQ3LS44NDUuMzUzLS4yMTcgMC0uNDc4LS4wNTktLjc4Mi0uMTc3YTIuMzQgMi4zNCAwIDAwLS44NC0uMTc2Yy0uMjY4IDAtLjU1Ni4wNTgtLjg2NC4xNzYtLjMwOS4xMTgtLjU1OC4xOC0uNzQ4LjE4Ni0uMjg4LjAxMi0uNTc3LS4xMDgtLjg2NC0uMzYyLS4xODQtLjE1MS0uNDEzLS40MTItLjY4OC0uNzhhNS4yODkgNS4yODkgMCAwMS0uNzI4LTEuMzdBNC43NzcgNC43NzcgMCAwMTUgOC44NTdjMC0uNjAzLjEzOC0xLjEyNC40MTMtMS41NmEyLjQyNCAyLjQyNCAwIDAxMi4wMzQtMS4xNDJjLjIzIDAgLjUzMS4wNjguOTA1LjIuMzczLjEzMy42MTIuMi43MTcuMi4wNzkgMCAuMzQ1LS4wNzkuNzk2LS4yMzYuNDI2LS4xNDUuNzg3LS4yMDUgMS4wODItLjE4Mi43OTkuMDYyIDEuMzk5LjM2IDEuNzk4Ljg5OC0uNzE0LjQxLTEuMDY4Ljk4NS0xLjA2MSAxLjcyMi4wMDcuNTc0LjIyNiAxLjA1My42NTggMS40MzIuMTk2LjE3Ni40MTUuMzEyLjY1OC40MDl6TTEwLjk5IDRjLjAwNi4wNi4wMS4xMi4wMS4xOCAwIC40NS0uMTc0Ljg3LS41MiAxLjI2LS40MTcuNDYyLS45MjIuNzMtMS40Ny42ODdhMS4zMjUgMS4zMjUgMCAwMS0uMDEtLjE3YzAtLjQzMy4xOTgtLjg5NS41NS0xLjI3My4xNzYtLjE5Mi40LS4zNS42NzEtLjQ3OEEyLjA5IDIuMDkgMCAwMTEwLjk5IDR6IiBmaWxsPSIjZmZmIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iMy4zNDkiIHkxPSIzLjEyMiIgeDI9IjIxLjkwNCIgeTI9IjI0LjQzNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiMxQTFFMjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwNjA2MEEiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4="}},"time_used":2,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCCFG.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.542Z","timestamp":1785136905542,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCCFG.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/iframe_api?v=3.2.10","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.151.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.872Z","timestamp":1785136900872,"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 /iframe_api?v=3.2.10 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://huobiget.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/javascript; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_main/allowlist, base-uri 'self';object-src 'none';script-src 'nonce--Q67DiiByCqamYwHNQQ8ZA' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict, require-trusted-types-for 'script'\r\nexpires: Mon, 27 Jul 2026 07:21:41 GMT\r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncache-control: private, max-age=0\r\np3p: CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"\r\nx-frame-options: SAMEORIGIN\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\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\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\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=btQcU-eEsx4xyfQSu-tfL0eTjkxspoBATHxNmyDTCLCgq0lQgdi0Ri6wQtNuim84rq1ZG2nlfRkB7UcFbPbafdZbPlpBwD2xQ6D7RrcQYJ93kArqVyZGOqqMzOtwVJix3P-wm39oBaGWbPerx7bsaSSPh4l39pnL46HPlnkqfsI1PG23UfJ9DRCLAS_WQW_OGB553Pw1R-0WpvXcrpNWVz2E40Tjp6xK90V1e6XQWfQtnswjMO3PoNG5g1A0MeSci2rs7jCXIFms6C1Iu_l-WGsHsdDf_u3kZubfglsv0ZVoSITAlzsIugRurkL5Zd1FovhytODWVzOjccD4Vs1emQ; expires=Sat, 23-Jan-2027 07:21:41 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=2Osu0g4w3m8; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CL-wha-f74HMQBDxpIGXqfKVAxjxpIGXqfKVAw%3D%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 07:21:41 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 07:21:41 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=Tp94gI36np8; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 07:21:41 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgRg%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 07:21: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":993,"size_decoded":4233,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (501)","md5":"995a58cfca5d586dca3b5579b3dc9f3d","sha1":"4eedb0ee98b595a39b4839a80c76aebe95e55f37","sha256":"412370935f9625c094daf0f288c67a20b7882914f7a07d17819d5041c8cf87c9","sha512":"2916b5b66e474f3876fb9a6166fff2b69221dcba05894564307a63dbdd80bdffd565c730a50be61ed1bc31c956fa70e78bca3e56e14d2b28d4a0746b2d9494d7","ssdeep":"","tlshash":"cd11ed7b3d84e639865894e4a03fc31cf1b224957c50cd9110cde899e65cacadd2d5fc","first_seen":"2026-07-22T11:04:10.481101Z","last_seen":"2026-07-27T15:49:31.725782Z","times_seen":756,"resource_available":true,"data":"dmFyIHNjcmlwdFVybCA9ICdodHRwczpcL1wvd3d3LnlvdXR1YmUuY29tXC9zXC9wbGF5ZXJcLzdhNzk2OWMyXC93d3ctd2lkZ2V0YXBpLnZmbHNldFwvd3d3LXdpZGdldGFwaS5qcyc7dHJ5e3ZhciB0dFBvbGljeT13aW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeSgieW91dHViZS13aWRnZXQtYXBpIix7Y3JlYXRlU2NyaXB0VVJMOmZ1bmN0aW9uKHgpe3JldHVybiB4fX0pO3NjcmlwdFVybD10dFBvbGljeS5jcmVhdGVTY3JpcHRVUkwoc2NyaXB0VXJsKX1jYXRjaChlKXt9dmFyIFlUO2lmKCF3aW5kb3dbIllUIl0pWVQ9e2xvYWRpbmc6MCxsb2FkZWQ6MH07dmFyIFlUQ29uZmlnO2lmKCF3aW5kb3dbIllUQ29uZmlnIl0pWVRDb25maWc9eyJob3N0IjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20ifTsKaWYoIVlULmxvYWRpbmcpe1lULmxvYWRpbmc9MTsoZnVuY3Rpb24oKXt2YXIgbD1bXTtZVC5yZWFkeT1mdW5jdGlvbihmKXtpZihZVC5sb2FkZWQpZigpO2Vsc2UgbC5wdXNoKGYpfTt3aW5kb3cub25ZVFJlYWR5PWZ1bmN0aW9uKCl7WVQubG9hZGVkPTE7dmFyIGk9MDtmb3IoO2k8bC5sZW5ndGg7aSsrKXRyeXtsW2ldKCl9Y2F0Y2goZSl7fX07WVQuc2V0Q29uZmlnPWZ1bmN0aW9uKGMpe3ZhciBrO2ZvcihrIGluIGMpaWYoYy5oYXNPd25Qcm9wZXJ0eShrKSlZVENvbmZpZ1trXT1jW2tdfTt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTthLnR5cGU9InRleHQvamF2YXNjcmlwdCI7YS5pZD0id3d3LXdpZGdldGFwaS1zY3JpcHQiO2Euc3JjPXNjcmlwdFVybDthLmFzeW5jPXRydWU7dmFyIGM9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZihjKXt2YXIgbj1jLm5vbmNlfHxjLmdldEF0dHJpYnV0ZSgibm9uY2UiKTtpZihuKWEuc2V0QXR0cmlidXRlKCJub25jZSIsCm4pfXZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTtiLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsYil9KSgpfTsK"}},"time_used":68,"timings":{"blocked":-1,"dns":3,"connect":8,"send":0,"wait":31,"receive":0,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/7504.1288d1d28b2f47f7ac43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.979Z","timestamp":1785136900979,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/7504.1288d1d28b2f47f7ac43.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a476ed7-56c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:56:33\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bbed7811d18369aabb7a76f470a9d867\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22216,"size_decoded":9150,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"185306b73eb6156ba89819ac42f09043","sha1":"0e91a337a58188b9760881d3eeb271cc4c8ac2d0","sha256":"4433e6c002fc34e6971b340b447cb59f9704a935f8ff79457535ae6c04f2a91e","sha512":"62e46a9de161a635772e81ac6f569c8a85bcde20c9143b5dbf3fff3d0acc7a668643a351bbfe42e981d28861648256d6fb72849990fbdf3089e0d8da3a378c9b","ssdeep":"384:t0ohD1L+Hfz4m0ehDLL+HfzLNVEGdmMDPHt+eiWxyATTSXUaaexXzIDyg5nAWhJw:t0ohJL+Hfcm0eh3L+HfdaGdmMDvwWxn4","tlshash":"3aa294c83ad3f0ea926721f514af14c7f2392e666c9d9660c15de0d87c3602df12bd6a","first_seen":"2026-07-04T00:11:22.529436Z","last_seen":"2026-08-10T05:01:44.374081Z","times_seen":463,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNzUwNF0sezMwNzUwNChuLHQscil7ci5yKHQpLHIuZCh0LHtWRVJTSU9OOigpPT51LGFmdGVyOigpPT5EdCxhbGw6KCk9Plp0LGFsbEtleXM6KCk9PmRuLGFueTooKT0+bnIsYXNzaWduOigpPT5EbixiZWZvcmU6KCk9PlJ0LGJpbmQ6KCk9Pmp0LGJpbmRBbGw6KCk9Pl90LGNoYWluOigpPT5ndCxjaHVuazooKT0+VnIsY2xvbmU6KCk9PkZuLGNvbGxlY3Q6KCk9Pkp0LGNvbXBhY3Q6KCk9PlNyLGNvbXBvc2U6KCk9Pk50LGNvbnN0YW50OigpPT5ZLGNvbnRhaW5zOigpPT50cixjb3VudEJ5OigpPT5kcixjcmVhdGU6KCk9PlZuLGRlYm91bmNlOigpPT5NdCxkZWZhdWx0OigpPT5QcixkZWZhdWx0czooKT0+Um4sZGVmZXI6KCk9PkV0LGRlbGF5OigpPT5PdCxkZXRlY3Q6KCk9Pkx0LGRpZmZlcmVuY2U6KCk9PkVyLGRyb3A6KCk9PkFyLGVhY2g6KCk9PiR0LGVzY2FwZTooKT0+aXQsZXZlcnk6KCk9Plp0LGV4dGVuZDooKT0+Tm4sZXh0ZW5kT3duOigpPT5EbixmaWx0ZXI6KCk9Plh0LGZpbmQ6KCk9Pkx0LGZpbmRJbmRleDooKT0+cXQsZmluZEtleTooKT0+VnQsZmluZExhc3RJbmRleDooKT0+enQsZmluZFdoZXJlOigpPT5DdCxmaXJzdDooKT0+eHIsZmxhdHRlbjooKT0+T3IsZm9sZGw6KCk9Pkh0LGZvbGRyOigpPT5RdCxmb3JFYWNoOigpPT4kdCxmdW5jdGlvbnM6KCk9PkJuLGdldDooKT0+VW4sZ3JvdXBCeTooKT0+aHIsaGFzOigpPT5LbixoZWFkOigpPT54cixpZGVudGl0eTooKT0+TG4saW5jbHVkZTooKT0+dHIsaW5jbHVkZXM6KCk9PnRyLGluZGV4Qnk6KCk9PnZyLGluZGV4T2Y6KCk9PlV0LGluaXRpYWw6KCk9PmpyLGluamVjdDooKT0+SHQsaW50ZXJzZWN0aW9uOigpPT5JcixpbnZlcnQ6KCk9Pk1uLGludm9rZTooKT0+cnIsaXNBcmd1bWVudHM6KCk9PkgsaXNBcnJheTooKT0+JCxpc0FycmF5QnVmZmVyOigpPT5GLGlzQm9vbGVhbjooKT0+ayxpc0RhdGFWaWV3OigpPT5DLGlzRGF0ZTooKT0+RCxpc0VsZW1lbnQ6KCk9Pk0saXNFbXB0eTooKT0+Zm4saXNFcXVhbDooKT0+dm4saXNFcnJvcjooKT0+VCxpc0Zpbml0ZTooKT0+USxpc0Z1bmN0aW9uOigpPT5XLGlzTWFwOigpPT5Bbixpc01hdGNoOigpPT5sbixpc05hTjooKT0+WCxpc051bGw6KCk9Pk8saXNOdW1iZXI6KCk9Pk4saXNPYmplY3Q6KCk9PlMsaXNSZWdFeHA6KCk9PlIsaXNTZXQ6KCk9PlNuLGlzU3RyaW5nOigpPT5JLGlzU3ltYm9sOigpPT5WLGlzVHlwZWRBcnJheTooKT0+dW4saXNVbmRlZmluZWQ6KCk9PkUsaXNXZWFrTWFwOigpPT5fbixpc1dlYWtTZXQ6KCk9Pk9uLGl0ZXJhdGVlOigpPT5IbixrZXlzOigpPT5jbixsYXN0OigpPT5fcixsYXN0SW5kZXhPZjooKT0+S3QsbWFwOigpPT5KdCxtYXBPYmplY3Q6KCk9PlhuLG1hdGNoZXI6KCk9PkNuLG1hdGNoZXM6KCk9PkNuLG1heDooKT0+aXIsbWVtb2l6ZTooKT0+U3QsbWV0aG9kczooKT0+Qm4sbWluOigpPT5vcixtaXhpbjooKT0+cXIsbmVnYXRlOigpPT5JdCxub29wOigpPT5Zbixub3c6KCk9PnJ0LG9iamVjdDooKT0+UnIsb21pdDooKT0+d3Isb25jZTooKT0+VHQscGFpcnM6KCk9PmtuLHBhcnRpYWw6KCk9Pnd0LHBhcnRpdGlvbjooKT0+eXIscGljazooKT0+YnIscGx1Y2s6KCk9PmVyLHByb3BlcnR5OigpPT4kbixwcm9wZXJ0eU9mOigpPT5abixyYW5kb206KCk9PnR0LHJhbmdlOigpPT5UcixyZWR1Y2U6KCk9Pkh0LHJlZHVjZVJpZ2h0OigpPT5RdCxyZWplY3Q6KCk9Pll0LHJlc3Q6KCk9PkFyLHJlc3RBcmd1bWVudHM6KCk9Pl8scmVzdWx0OigpPT52dCxzYW1wbGU6KCk9PmZyLHNlbGVjdDooKT0+WHQsc2h1ZmZsZTooKT0+bHIsc2l6ZTooKT0+Z3Isc29tZTooKT0+bnIsc29ydEJ5OigpPT5zcixzb3J0ZWRJbmRleDooKT0+V3QsdGFpbDooKT0+QXIsdGFrZTooKT0+eHIsdGFwOigpPT5xbix0ZW1wbGF0ZTooKT0+aHQsdGVtcGxhdGVTZXR0aW5nczooKT0+YXQsdGhyb3R0bGU6KCk9Pmt0LHRpbWVzOigpPT5udCx0b0FycmF5OigpPT5jcix0b1BhdGg6KCk9PnpuLHRyYW5zcG9zZTooKT0+TnIsdW5lc2NhcGU6KCk9Pm90LHVuaW9uOigpPT5Ccix1bmlxOigpPT5Ncix1bmlxdWU6KCk9Pk1yLHVuaXF1ZUlkOigpPT55dCx1bnppcDooKT0+TnIsdmFsdWVzOigpPT5Fbix3aGVyZTooKT0+dXIsd2l0aG91dDooKT0+a3Isd3JhcDooKT0+QnQsemlwOigpPT5Ecn0pO3ZhciBlPXt9O3IucihlKSxyLmQoZSx7VkVSU0lPTjooKT0+dSxhZnRlcjooKT0+RHQsYWxsOigpPT5adCxhbGxLZXlzOigpPT5kbixhbnk6KCk9Pm5yLGFzc2lnbjooKT0+RG4sYmVmb3JlOigpPT5SdCxiaW5kOigpPT5qdCxiaW5kQWxsOigpPT5fdCxjaGFpbjooKT0+Z3QsY2h1bms6KCk9PlZyLGNsb25lOigpPT5Gbixjb2xsZWN0OigpPT5KdCxjb21wYWN0OigpPT5Tcixjb21wb3NlOigpPT5OdCxjb25zdGFudDooKT0+WSxjb250YWluczooKT0+dHIsY291bnRCeTooKT0+ZHIsY3JlYXRlOigpPT5WbixkZWJvdW5jZTooKT0+TXQsZGVmYXVsdDooKT0+enIsZGVmYXVsdHM6KCk9PlJuLGRlZmVyOigpPT5FdCxkZWxheTooKT0+T3QsZGV0ZWN0OigpPT5MdCxkaWZmZXJlbmNlOigpPT5Fcixkcm9wOigpPT5BcixlYWNoOigpPT4kdCxlc2NhcGU6KCk9Pml0LGV2ZXJ5OigpPT5adCxleHRlbmQ6KCk9Pk5uLGV4dGVuZE93bjooKT0+RG4sZmlsdGVyOigpPT5YdCxmaW5kOigpPT5MdCxmaW5kSW5kZXg6KCk9PnF0LGZpbmRLZXk6KCk9PlZ0LGZpbmRMYXN0SW5kZXg6KCk9Pnp0LGZpbmRXaGVyZTooKT0+Q3QsZmlyc3Q6KCk9PnhyLGZsYXR0ZW46KCk9Pk9yLGZvbGRsOigpPT5IdCxmb2xkcjooKT0+UXQsZm9yRWFjaDooKT0+JHQsZnVuY3Rpb25zOigpPT5CbixnZXQ6KCk9PlVuLGdyb3VwQnk6KCk9PmhyLGhhczooKT0+S24saGVhZDooKT0+eHIsaWRlbnRpdHk6KCk9PkxuLGluY2x1ZGU6KCk9PnRyLGluY2x1ZGVzOigpPT50cixpbmRleEJ5OigpPT52cixpbmRleE9mOigpPT5VdCxpbml0aWFsOigpPT5qcixpbmplY3Q6KCk9Pkh0LGludGVyc2VjdGlvbjooKT0+SXIsCmludmVydDooKT0+TW4saW52b2tlOigpPT5ycixpc0FyZ3VtZW50czooKT0+SCxpc0FycmF5OigpPT4kLGlzQXJyYXlCdWZmZXI6KCk9PkYsaXNCb29sZWFuOigpPT5rLGlzRGF0YVZpZXc6KCk9PkMsaXNEYXRlOigpPT5ELGlzRWxlbWVudDooKT0+TSxpc0VtcHR5OigpPT5mbixpc0VxdWFsOigpPT52bixpc0Vycm9yOigpPT5ULGlzRmluaXRlOigpPT5RLGlzRnVuY3Rpb246KCk9PlcsaXNNYXA6KCk9PkFuLGlzTWF0Y2g6KCk9PmxuLGlzTmFOOigpPT5YLGlzTnVsbDooKT0+Tyxpc051bWJlcjooKT0+Tixpc09iamVjdDooKT0+Uyxpc1JlZ0V4cDooKT0+Uixpc1NldDooKT0+U24saXNTdHJpbmc6KCk9PkksaXNTeW1ib2w6KCk9PlYsaXNUeXBlZEFycmF5OigpPT51bixpc1VuZGVmaW5lZDooKT0+RSxpc1dlYWtNYXA6KCk9Pl9uLGlzV2Vha1NldDooKT0+T24saXRlcmF0ZWU6KCk9PkhuLGtleXM6KCk9PmNuLGxhc3Q6KCk9Pl9yLGxhc3RJbmRleE9mOigpPT5LdCxtYXA6KCk9Pkp0LG1hcE9iamVjdDooKT0+WG4sbWF0Y2hlcjooKT0+Q24sbWF0Y2hlczooKT0+Q24sbWF4OigpPT5pcixtZW1vaXplOigpPT5TdCxtZXRob2RzOigpPT5CbixtaW46KCk9Pm9yLG1peGluOigpPT5xcixuZWdhdGU6KCk9Pkl0LG5vb3A6KCk9PlluLG5vdzooKT0+cnQsb2JqZWN0OigpPT5ScixvbWl0OigpPT53cixvbmNlOigpPT5UdCxwYWlyczooKT0+a24scGFydGlhbDooKT0+d3QscGFydGl0aW9uOigpPT55cixwaWNrOigpPT5icixwbHVjazooKT0+ZXIscHJvcGVydHk6KCk9PiRuLHByb3BlcnR5T2Y6KCk9PlpuLHJhbmRvbTooKT0+dHQscmFuZ2U6KCk9PlRyLHJlZHVjZTooKT0+SHQscmVkdWNlUmlnaHQ6KCk9PlF0LHJlamVjdDooKT0+WXQscmVzdDooKT0+QXIscmVzdEFyZ3VtZW50czooKT0+XyxyZXN1bHQ6KCk9PnZ0LHNhbXBsZTooKT0+ZnIsc2VsZWN0OigpPT5YdCxzaHVmZmxlOigpPT5scixzaXplOigpPT5ncixzb21lOigpPT5ucixzb3J0Qnk6KCk9PnNyLHNvcnRlZEluZGV4OigpPT5XdCx0YWlsOigpPT5Bcix0YWtlOigpPT54cix0YXA6KCk9PnFuLHRlbXBsYXRlOigpPT5odCx0ZW1wbGF0ZVNldHRpbmdzOigpPT5hdCx0aHJvdHRsZTooKT0+a3QsdGltZXM6KCk9Pm50LHRvQXJyYXk6KCk9PmNyLHRvUGF0aDooKT0+em4sdHJhbnNwb3NlOigpPT5Ocix1bmVzY2FwZTooKT0+b3QsdW5pb246KCk9PkJyLHVuaXE6KCk9Pk1yLHVuaXF1ZTooKT0+TXIsdW5pcXVlSWQ6KCk9Pnl0LHVuemlwOigpPT5Ocix2YWx1ZXM6KCk9PkVuLHdoZXJlOigpPT51cix3aXRob3V0OigpPT5rcix3cmFwOigpPT5CdCx6aXA6KCk9PkRyfSk7dmFyIHU9IjEuMTMuOCIsaT0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYuc2VsZj09PXNlbGYmJnNlbGZ8fCJvYmplY3QiPT10eXBlb2Ygci5nJiZyLmcuZ2xvYmFsPT09ci5nJiZyLmd8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl8fHt9LG89QXJyYXkucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxjPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sP1N5bWJvbC5wcm90b3R5cGU6bnVsbCxmPW8ucHVzaCxsPW8uc2xpY2Uscz1hLnRvU3RyaW5nLHA9YS5oYXNPd25Qcm9wZXJ0eSxoPSJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXIsdj0idW5kZWZpbmVkIiE9dHlwZW9mIERhdGFWaWV3LGQ9QXJyYXkuaXNBcnJheSx5PU9iamVjdC5rZXlzLGc9T2JqZWN0LmNyZWF0ZSxtPWgmJkFycmF5QnVmZmVyLmlzVmlldyxiPWlzTmFOLHc9aXNGaW5pdGUsaj0he3RvU3RyaW5nOm51bGx9LnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0b1N0cmluZyIpLHg9WyJ2YWx1ZU9mIiwiaXNQcm90b3R5cGVPZiIsInRvU3RyaW5nIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJoYXNPd25Qcm9wZXJ0eSIsInRvTG9jYWxlU3RyaW5nIl0sQT1NYXRoLnBvdygyLDUzKS0xO2Z1bmN0aW9uIF8obix0KXtyZXR1cm4gdD1udWxsPT10P24ubGVuZ3RoLTE6K3QsZnVuY3Rpb24oKXtmb3IodmFyIHI9TWF0aC5tYXgoYXJndW1lbnRzLmxlbmd0aC10LDApLGU9QXJyYXkociksdT0wO3U8cjt1KyspZVt1XT1hcmd1bWVudHNbdSt0XTtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiBuLmNhbGwodGhpcyxlKTtjYXNlIDE6cmV0dXJuIG4uY2FsbCh0aGlzLGFyZ3VtZW50c1swXSxlKTtjYXNlIDI6cmV0dXJuIG4uY2FsbCh0aGlzLGFyZ3VtZW50c1swXSxhcmd1bWVudHNbMV0sZSl9dmFyIGk9QXJyYXkodCsxKTtmb3IodT0wO3U8dDt1KyspaVt1XT1hcmd1bWVudHNbdV07cmV0dXJuIGlbdF09ZSxuLmFwcGx5KHRoaXMsaSl9fWZ1bmN0aW9uIFMobil7dmFyIHQ9dHlwZW9mIG47cmV0dXJuImZ1bmN0aW9uIj09PXR8fCJvYmplY3QiPT09dCYmISFufWZ1bmN0aW9uIE8obil7cmV0dXJuIG51bGw9PT1ufWZ1bmN0aW9uIEUobil7cmV0dXJuIHZvaWQgMD09PW59ZnVuY3Rpb24gayhuKXtyZXR1cm4hMD09PW58fCExPT09bnx8IltvYmplY3QgQm9vbGVhbl0iPT09cy5jYWxsKG4pfWZ1bmN0aW9uIE0obil7cmV0dXJuISghbnx8MSE9PW4ubm9kZVR5cGUpfWZ1bmN0aW9uIEIobil7dmFyIHQ9IltvYmplY3QgIituKyJdIjtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHMuY2FsbChuKT09PXR9fWNvbnN0IEk9QigiU3RyaW5nIiksTj1CKCJOdW1iZXIiKSxEPUIoIkRhdGUiKSxSPUIoIlJlZ0V4cCIpLFQ9QigiRXJyb3IiKSxWPUIoIlN5bWJvbCIpLEY9QigiQXJyYXlCdWZmZXIiKTt2YXIgcT1CKCJGdW5jdGlvbiIpLHo9aS5kb2N1bWVudCYmaS5kb2N1bWVudC5jaGlsZE5vZGVzOyJvYmplY3QiIT10eXBlb2YgSW50OEFycmF5JiYiZnVuY3Rpb24iIT10eXBlb2YgeiYmKHE9ZnVuY3Rpb24obil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG58fCExfSk7Y29uc3QgVz1xLFA9QigiT2JqZWN0Iik7dmFyIFU9diYmKCEvXFtuYXRpdmUgY29kZVxdLy50ZXN0KFN0cmluZyhEYXRhVmlldykpfHxQKG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSksSz0idW5kZWZpbmVkIiE9dHlwZW9mIE1hcCYmUChuZXcgTWFwKSxMPUIoIkRhdGFWaWV3Iik7Y29uc3QgQz1VP2Z1bmN0aW9uKG4pewpyZXR1cm4gbnVsbCE9biYmVyhuLmdldEludDgpJiZGKG4uYnVmZmVyKX06TCwkPWR8fEIoIkFycmF5Iik7ZnVuY3Rpb24gSihuLHQpe3JldHVybiBudWxsIT1uJiZwLmNhbGwobix0KX12YXIgRz1CKCJBcmd1bWVudHMiKTshZnVuY3Rpb24oKXtHKGFyZ3VtZW50cyl8fChHPWZ1bmN0aW9uKG4pe3JldHVybiBKKG4sImNhbGxlZSIpfSl9KCk7Y29uc3QgSD1HO2Z1bmN0aW9uIFEobil7cmV0dXJuIVYobikmJncobikmJiFpc05hTihwYXJzZUZsb2F0KG4pKX1mdW5jdGlvbiBYKG4pe3JldHVybiBOKG4pJiZiKG4pfWZ1bmN0aW9uIFkobil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG59fWZ1bmN0aW9uIFoobil7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPW4odCk7cmV0dXJuIm51bWJlciI9PXR5cGVvZiByJiZyPj0wJiZyPD1BfX1mdW5jdGlvbiBubihuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbbl19fWNvbnN0IHRuPW5uKCJieXRlTGVuZ3RoIikscm49Wih0bik7dmFyIGVuPS9cW29iamVjdCAoKEl8VWkpbnQoOHwxNnwzMil8RmxvYXQoMzJ8NjQpfFVpbnQ4Q2xhbXBlZHxCaWcoSXxVaSludDY0KUFycmF5XF0vO2NvbnN0IHVuPWg/ZnVuY3Rpb24obil7cmV0dXJuIG0/bShuKSYmIUMobik6cm4obikmJmVuLnRlc3Qocy5jYWxsKG4pKX06WSghMSksb249bm4oImxlbmd0aCIpO2Z1bmN0aW9uIGFuKG4sdCl7dD1mdW5jdGlvbihuKXtmb3IodmFyIHQ9e30scj1uLmxlbmd0aCxlPTA7ZTxyOysrZSl0W25bZV1dPSEwO3JldHVybntjb250YWluczpmdW5jdGlvbihuKXtyZXR1cm4hMD09PXRbbl19LHB1c2g6ZnVuY3Rpb24ocil7cmV0dXJuIHRbcl09ITAsbi5wdXNoKHIpfX19KHQpO3ZhciByPXgubGVuZ3RoLGU9bi5jb25zdHJ1Y3Rvcix1PVcoZSkmJmUucHJvdG90eXBlfHxhLGk9ImNvbnN0cnVjdG9yIjtmb3IoSihuLGkpJiYhdC5jb250YWlucyhpKSYmdC5wdXNoKGkpO3ItLTspKGk9eFtyXSlpbiBuJiZuW2ldIT09dVtpXSYmIXQuY29udGFpbnMoaSkmJnQucHVzaChpKX1mdW5jdGlvbiBjbihuKXtpZighUyhuKSlyZXR1cm5bXTtpZih5KXJldHVybiB5KG4pO3ZhciB0PVtdO2Zvcih2YXIgciBpbiBuKUoobixyKSYmdC5wdXNoKHIpO3JldHVybiBqJiZhbihuLHQpLHR9ZnVuY3Rpb24gZm4obil7aWYobnVsbD09bilyZXR1cm4hMDt2YXIgdD1vbihuKTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJigkKG4pfHxJKG4pfHxIKG4pKT8wPT09dDowPT09b24oY24obikpfWZ1bmN0aW9uIGxuKG4sdCl7dmFyIHI9Y24odCksZT1yLmxlbmd0aDtpZihudWxsPT1uKXJldHVybiFlO2Zvcih2YXIgdT1PYmplY3QobiksaT0wO2k8ZTtpKyspe3ZhciBvPXJbaV07aWYodFtvXSE9PXVbb118fCEobyBpbiB1KSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBzbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIHNuP246dGhpcyBpbnN0YW5jZW9mIHNuP3ZvaWQodGhpcy5fd3JhcHBlZD1uKTpuZXcgc24obil9ZnVuY3Rpb24gcG4obil7cmV0dXJuIG5ldyBVaW50OEFycmF5KG4uYnVmZmVyfHxuLG4uYnl0ZU9mZnNldHx8MCx0bihuKSl9c24uVkVSU0lPTj11LHNuLnByb3RvdHlwZS52YWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl93cmFwcGVkfSxzbi5wcm90b3R5cGUudmFsdWVPZj1zbi5wcm90b3R5cGUudG9KU09OPXNuLnByb3RvdHlwZS52YWx1ZSxzbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKHRoaXMuX3dyYXBwZWQpfTt2YXIgaG49IltvYmplY3QgRGF0YVZpZXddIjtmdW5jdGlvbiB2bihuLHQpe2Zvcih2YXIgcj1be2E6bixiOnR9XSxlPVtdLHU9W107ci5sZW5ndGg7KXt2YXIgaT1yLnBvcCgpO2lmKCEwIT09aSl7aWYoKG49aS5hKT09PSh0PWkuYikpe2lmKDAhPT1ufHwxL249PTEvdCljb250aW51ZTtyZXR1cm4hMX1pZihudWxsPT1ufHxudWxsPT10KXJldHVybiExO2lmKG4hPW4pe2lmKHQhPXQpY29udGludWU7cmV0dXJuITF9dmFyIG89dHlwZW9mIG47aWYoImZ1bmN0aW9uIiE9PW8mJiJvYmplY3QiIT09byYmIm9iamVjdCIhPXR5cGVvZiB0KXJldHVybiExO24gaW5zdGFuY2VvZiBzbiYmKG49bi5fd3JhcHBlZCksdCBpbnN0YW5jZW9mIHNuJiYodD10Ll93cmFwcGVkKTt2YXIgYT1zLmNhbGwobik7aWYoYSE9PXMuY2FsbCh0KSlyZXR1cm4hMTtpZihVJiYiW29iamVjdCBPYmplY3RdIj09YSYmQyhuKSl7aWYoIUModCkpcmV0dXJuITE7YT1obn1zd2l0Y2goYSl7Y2FzZSJbb2JqZWN0IFJlZ0V4cF0iOmNhc2UiW29iamVjdCBTdHJpbmddIjppZigiIituPT0iIit0KWNvbnRpbnVlO3JldHVybiExO2Nhc2UiW29iamVjdCBOdW1iZXJdIjpyLnB1c2goe2E6K24sYjordH0pO2NvbnRpbnVlO2Nhc2UiW29iamVjdCBEYXRlXSI6Y2FzZSJbb2JqZWN0IEJvb2xlYW5dIjppZigrbj09K3QpY29udGludWU7cmV0dXJuITE7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOmlmKGMudmFsdWVPZi5jYWxsKG4pPT09Yy52YWx1ZU9mLmNhbGwodCkpY29udGludWU7cmV0dXJuITE7Y2FzZSJbb2JqZWN0IEFycmF5QnVmZmVyXSI6Y2FzZSBobjpyLnB1c2goe2E6cG4obiksYjpwbih0KX0pO2NvbnRpbnVlfXZhciBmPSJbb2JqZWN0IEFycmF5XSI9PT1hO2lmKCFmJiZ1bihuKSl7aWYodG4obikhPT10bih0KSlyZXR1cm4hMTtpZihuLmJ1ZmZlcj09PXQuYnVmZmVyJiZuLmJ5dGVPZmZzZXQ9PT10LmJ5dGVPZmZzZXQpY29udGludWU7Zj0hMH1pZighZil7aWYoIm9iamVjdCIhPXR5cGVvZiBufHwib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuITE7dmFyIGw9bi5jb25zdHJ1Y3RvcixwPXQuY29uc3RydWN0b3I7aWYobCE9PXAmJiEoVyhsKSYmbCBpbnN0YW5jZW9mIGwmJlcocCkmJnAgaW5zdGFuY2VvZiBwKSYmImNvbnN0cnVjdG9yImluIG4mJiJjb25zdHJ1Y3RvciJpbiB0KXJldHVybiExfWZvcih2YXIgaD1lLmxlbmd0aDtoLS07KWlmKGVbaF09PT1uKXtpZih1W2hdPT09dClicmVhaztyZXR1cm4hMX1pZighKGg+PTApKWlmKGUucHVzaChuKSx1LnB1c2godCksci5wdXNoKCEwKSxmKXtpZigoaD1uLmxlbmd0aCkhPT10Lmxlbmd0aClyZXR1cm4hMQo7Zm9yKDtoLS07KXIucHVzaCh7YTpuW2hdLGI6dFtoXX0pfWVsc2V7dmFyIHYsZD1jbihuKTtpZihoPWQubGVuZ3RoLGNuKHQpLmxlbmd0aCE9PWgpcmV0dXJuITE7Zm9yKDtoLS07KXtpZighSih0LHY9ZFtoXSkpcmV0dXJuITE7ci5wdXNoKHthOm5bdl0sYjp0W3ZdfSl9fX1lbHNlIGUucG9wKCksdS5wb3AoKX1yZXR1cm4hMH1mdW5jdGlvbiBkbihuKXtpZighUyhuKSlyZXR1cm5bXTt2YXIgdD1bXTtmb3IodmFyIHIgaW4gbil0LnB1c2gocik7cmV0dXJuIGomJmFuKG4sdCksdH1mdW5jdGlvbiB5bihuKXt2YXIgdD1vbihuKTtyZXR1cm4gZnVuY3Rpb24ocil7aWYobnVsbD09cilyZXR1cm4hMTt2YXIgZT1kbihyKTtpZihvbihlKSlyZXR1cm4hMTtmb3IodmFyIHU9MDt1PHQ7dSsrKWlmKCFXKHJbblt1XV0pKXJldHVybiExO3JldHVybiBuIT09am58fCFXKHJbZ25dKX19dmFyIGduPSJmb3JFYWNoIixtbj1bImNsZWFyIiwiZGVsZXRlIl0sYm49WyJnZXQiLCJoYXMiLCJzZXQiXSx3bj1tbi5jb25jYXQoZ24sYm4pLGpuPW1uLmNvbmNhdChibikseG49WyJhZGQiXS5jb25jYXQobW4sZ24sImhhcyIpO2NvbnN0IEFuPUs/eW4od24pOkIoIk1hcCIpLF9uPUs/eW4oam4pOkIoIldlYWtNYXAiKSxTbj1LP3luKHhuKTpCKCJTZXQiKSxPbj1CKCJXZWFrU2V0Iik7ZnVuY3Rpb24gRW4obil7Zm9yKHZhciB0PWNuKG4pLHI9dC5sZW5ndGgsZT1BcnJheShyKSx1PTA7dTxyO3UrKyllW3VdPW5bdFt1XV07cmV0dXJuIGV9ZnVuY3Rpb24ga24obil7Zm9yKHZhciB0PWNuKG4pLHI9dC5sZW5ndGgsZT1BcnJheShyKSx1PTA7dTxyO3UrKyllW3VdPVt0W3VdLG5bdFt1XV1dO3JldHVybiBlfWZ1bmN0aW9uIE1uKG4pe2Zvcih2YXIgdD17fSxyPWNuKG4pLGU9MCx1PXIubGVuZ3RoO2U8dTtlKyspdFtuW3JbZV1dXT1yW2VdO3JldHVybiB0fWZ1bmN0aW9uIEJuKG4pe3ZhciB0PVtdO2Zvcih2YXIgciBpbiBuKVcobltyXSkmJnQucHVzaChyKTtyZXR1cm4gdC5zb3J0KCl9ZnVuY3Rpb24gSW4obix0KXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIGU9YXJndW1lbnRzLmxlbmd0aDtpZih0JiYocj1PYmplY3QocikpLGU8Mnx8bnVsbD09cilyZXR1cm4gcjtmb3IodmFyIHU9MTt1PGU7dSsrKWZvcih2YXIgaT1hcmd1bWVudHNbdV0sbz1uKGkpLGE9by5sZW5ndGgsYz0wO2M8YTtjKyspe3ZhciBmPW9bY107dCYmdm9pZCAwIT09cltmXXx8KHJbZl09aVtmXSl9cmV0dXJuIHJ9fWNvbnN0IE5uPUluKGRuKSxEbj1JbihjbiksUm49SW4oZG4sITApO2Z1bmN0aW9uIFRuKG4pe2lmKCFTKG4pKXJldHVybnt9O2lmKGcpcmV0dXJuIGcobik7dmFyIHQ9ZnVuY3Rpb24oKXt9O3QucHJvdG90eXBlPW47dmFyIHI9bmV3IHQ7cmV0dXJuIHQucHJvdG90eXBlPW51bGwscn1mdW5jdGlvbiBWbihuLHQpe3ZhciByPVRuKG4pO3JldHVybiB0JiZEbihyLHQpLHJ9ZnVuY3Rpb24gRm4obil7cmV0dXJuIFMobik/JChuKT9uLnNsaWNlKCk6Tm4oe30sbik6bn1mdW5jdGlvbiBxbihuLHQpe3JldHVybiB0KG4pLG59ZnVuY3Rpb24gem4obil7cmV0dXJuICQobik/bjpbbl19ZnVuY3Rpb24gV24obil7cmV0dXJuIHNuLnRvUGF0aChuKX1mdW5jdGlvbiBQbihuLHQpe2Zvcih2YXIgcj10Lmxlbmd0aCxlPTA7ZTxyO2UrKyl7aWYobnVsbD09bilyZXR1cm47bj1uW3RbZV1dfXJldHVybiByP246dm9pZCAwfWZ1bmN0aW9uIFVuKG4sdCxyKXt2YXIgZT1QbihuLFduKHQpKTtyZXR1cm4gRShlKT9yOmV9ZnVuY3Rpb24gS24obix0KXtmb3IodmFyIHI9KHQ9V24odCkpLmxlbmd0aCxlPTA7ZTxyO2UrKyl7dmFyIHU9dFtlXTtpZighSihuLHUpKXJldHVybiExO249blt1XX1yZXR1cm4hIXJ9ZnVuY3Rpb24gTG4obil7cmV0dXJuIG59ZnVuY3Rpb24gQ24obil7cmV0dXJuIG49RG4oe30sbiksZnVuY3Rpb24odCl7cmV0dXJuIGxuKHQsbil9fWZ1bmN0aW9uICRuKG4pe3JldHVybiBuPVduKG4pLGZ1bmN0aW9uKHQpe3JldHVybiBQbih0LG4pfX1mdW5jdGlvbiBKbihuLHQscil7aWYodm9pZCAwPT09dClyZXR1cm4gbjtzd2l0Y2gocj8/Myl7Y2FzZSAxOnJldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gbi5jYWxsKHQscil9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24ocixlLHUpe3JldHVybiBuLmNhbGwodCxyLGUsdSl9O2Nhc2UgNDpyZXR1cm4gZnVuY3Rpb24ocixlLHUsaSl7cmV0dXJuIG4uY2FsbCh0LHIsZSx1LGkpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0LGFyZ3VtZW50cyl9fWZ1bmN0aW9uIEduKG4sdCxyKXtyZXR1cm4gbnVsbD09bj9MbjpXKG4pP0puKG4sdCxyKTpTKG4pJiYhJChuKT9DbihuKTokbihuKX1mdW5jdGlvbiBIbihuLHQpe3JldHVybiBHbihuLHQsMS8wKX1mdW5jdGlvbiBRbihuLHQscil7cmV0dXJuIHNuLml0ZXJhdGVlIT09SG4/c24uaXRlcmF0ZWUobix0KTpHbihuLHQscil9ZnVuY3Rpb24gWG4obix0LHIpe3Q9UW4odCxyKTtmb3IodmFyIGU9Y24obiksdT1lLmxlbmd0aCxpPXt9LG89MDtvPHU7bysrKXt2YXIgYT1lW29dO2lbYV09dChuW2FdLGEsbil9cmV0dXJuIGl9ZnVuY3Rpb24gWW4oKXt9ZnVuY3Rpb24gWm4obil7cmV0dXJuIG51bGw9PW4/WW46ZnVuY3Rpb24odCl7cmV0dXJuIFVuKG4sdCl9fWZ1bmN0aW9uIG50KG4sdCxyKXt2YXIgZT1BcnJheShNYXRoLm1heCgwLG4pKTt0PUpuKHQsciwxKTtmb3IodmFyIHU9MDt1PG47dSsrKWVbdV09dCh1KTtyZXR1cm4gZX1mdW5jdGlvbiB0dChuLHQpe3JldHVybiBudWxsPT10JiYodD1uLG49MCksbitNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKHQtbisxKSl9c24udG9QYXRoPXpuLHNuLml0ZXJhdGVlPUhuO2NvbnN0IHJ0PURhdGUubm93fHxmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfTtmdW5jdGlvbiBldChuKXt2YXIgdD1mdW5jdGlvbih0KXtyZXR1cm4gblt0XX0scj0iKD86IitjbihuKS5qb2luKCJ8IikrIikiLGU9UmVnRXhwKHIpLHU9UmVnRXhwKHIsImciKTtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG49bnVsbD09bj8iIjoiIituLGUudGVzdChuKT9uLnJlcGxhY2UodSx0KTpufX1jb25zdCB1dD17IiYiOiImYW1wOyIsCiI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwnIic6IiZxdW90OyIsIiciOiImI3gyNzsiLCJgIjoiJiN4NjA7In0saXQ9ZXQodXQpLG90PWV0KE1uKHV0KSksYXQ9c24udGVtcGxhdGVTZXR0aW5ncz17ZXZhbHVhdGU6LzwlKFtcc1xTXSs/KSU+L2csaW50ZXJwb2xhdGU6LzwlPShbXHNcU10rPyklPi9nLGVzY2FwZTovPCUtKFtcc1xTXSs/KSU+L2d9O3ZhciBjdD0vKC4pXi8sZnQ9eyInIjoiJyIsIlxcIjoiXFwiLCJcciI6InIiLCJcbiI6Im4iLCJcdTIwMjgiOiJ1MjAyOCIsIlx1MjAyOSI6InUyMDI5In0sbHQ9L1xcfCd8XHJ8XG58XHUyMDI4fFx1MjAyOS9nO2Z1bmN0aW9uIHN0KG4pe3JldHVybiJcXCIrZnRbbl19dmFyIHB0PS9eXHMqKFx3fFwkKStccyokLztmdW5jdGlvbiBodChuLHQscil7IXQmJnImJih0PXIpLHQ9Um4oe30sdCxzbi50ZW1wbGF0ZVNldHRpbmdzKTt2YXIgZT1SZWdFeHAoWyh0LmVzY2FwZXx8Y3QpLnNvdXJjZSwodC5pbnRlcnBvbGF0ZXx8Y3QpLnNvdXJjZSwodC5ldmFsdWF0ZXx8Y3QpLnNvdXJjZV0uam9pbigifCIpKyJ8JCIsImciKSx1PTAsaT0iX19wKz0nIjtuLnJlcGxhY2UoZSwoZnVuY3Rpb24odCxyLGUsbyxhKXtyZXR1cm4gaSs9bi5zbGljZSh1LGEpLnJlcGxhY2UobHQsc3QpLHU9YSt0Lmxlbmd0aCxyP2krPSInK1xuKChfX3Q9KCIrcisiKSk9PW51bGw/Jyc6Xy5lc2NhcGUoX190KSkrXG4nIjplP2krPSInK1xuKChfX3Q9KCIrZSsiKSk9PW51bGw/Jyc6X190KStcbiciOm8mJihpKz0iJztcbiIrbysiXG5fX3ArPSciKSx0fSkpLGkrPSInO1xuIjt2YXIgbyxhPXQudmFyaWFibGU7aWYoYSl7aWYoIXB0LnRlc3QoYSkpdGhyb3cgbmV3IEVycm9yKCJ2YXJpYWJsZSBpcyBub3QgYSBiYXJlIGlkZW50aWZpZXI6ICIrYSl9ZWxzZSBpPSJ3aXRoKG9ianx8e30pe1xuIitpKyJ9XG4iLGE9Im9iaiI7aT0idmFyIF9fdCxfX3A9JycsX19qPUFycmF5LnByb3RvdHlwZS5qb2luLHByaW50PWZ1bmN0aW9uKCl7X19wKz1fX2ouY2FsbChhcmd1bWVudHMsJycpO307XG4iK2krInJldHVybiBfX3A7XG4iO3RyeXtvPW5ldyBGdW5jdGlvbihhLCJfIixpKX1jYXRjaChuKXt0aHJvdyBuLnNvdXJjZT1pLG59dmFyIGM9ZnVuY3Rpb24obil7cmV0dXJuIG8uY2FsbCh0aGlzLG4sc24pfTtyZXR1cm4gYy5zb3VyY2U9ImZ1bmN0aW9uKCIrYSsiKXtcbiIraSsifSIsY31mdW5jdGlvbiB2dChuLHQscil7dmFyIGU9KHQ9V24odCkpLmxlbmd0aDtpZighZSlyZXR1cm4gVyhyKT9yLmNhbGwobik6cjtmb3IodmFyIHU9MDt1PGU7dSsrKXt2YXIgaT1udWxsPT1uP3ZvaWQgMDpuW3RbdV1dO3ZvaWQgMD09PWkmJihpPXIsdT1lKSxuPVcoaSk/aS5jYWxsKG4pOml9cmV0dXJuIG59dmFyIGR0PTA7ZnVuY3Rpb24geXQobil7dmFyIHQ9KytkdCsiIjtyZXR1cm4gbj9uK3Q6dH1mdW5jdGlvbiBndChuKXt2YXIgdD1zbihuKTtyZXR1cm4gdC5fY2hhaW49ITAsdH1mdW5jdGlvbiBtdChuLHQscixlLHUpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXJldHVybiBuLmFwcGx5KHIsdSk7dmFyIGk9VG4obi5wcm90b3R5cGUpLG89bi5hcHBseShpLHUpO3JldHVybiBTKG8pP286aX12YXIgYnQ9XygoZnVuY3Rpb24obix0KXt2YXIgcj1idC5wbGFjZWhvbGRlcixlPWZ1bmN0aW9uKCl7Zm9yKHZhciB1PTAsaT10Lmxlbmd0aCxvPUFycmF5KGkpLGE9MDthPGk7YSsrKW9bYV09dFthXT09PXI/YXJndW1lbnRzW3UrK106dFthXTtmb3IoO3U8YXJndW1lbnRzLmxlbmd0aDspby5wdXNoKGFyZ3VtZW50c1t1KytdKTtyZXR1cm4gbXQobixlLHRoaXMsdGhpcyxvKX07cmV0dXJuIGV9KSk7YnQucGxhY2Vob2xkZXI9c247Y29uc3Qgd3Q9YnQsanQ9XygoZnVuY3Rpb24obix0LHIpe2lmKCFXKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkJpbmQgbXVzdCBiZSBjYWxsZWQgb24gYSBmdW5jdGlvbiIpO3ZhciBlPV8oKGZ1bmN0aW9uKHUpe3JldHVybiBtdChuLGUsdCx0aGlzLHIuY29uY2F0KHUpKX0pKTtyZXR1cm4gZX0pKSx4dD1aKG9uKTtmdW5jdGlvbiBBdChuLHQscil7dHx8MD09PXR8fCh0PTEvMCk7Zm9yKHZhciBlPVtdLHU9MCxpPTAsbz1vbihuKXx8MCxhPVtdOzspaWYoaT49byl7aWYoIWEubGVuZ3RoKWJyZWFrO3ZhciBjPWEucG9wKCk7aT1jLmksbj1jLnYsbz1vbihuKX1lbHNle3ZhciBmPW5baSsrXTthLmxlbmd0aD49dD9lW3UrK109Zjp4dChmKSYmKCQoZil8fEgoZikpPyhhLnB1c2goe2ksdjpufSksaT0wLG89b24obj1mKSk6cnx8KGVbdSsrXT1mKX1yZXR1cm4gZX1jb25zdCBfdD1fKChmdW5jdGlvbihuLHQpe3ZhciByPSh0PUF0KHQsITEsITEpKS5sZW5ndGg7aWYocjwxKXRocm93IG5ldyBFcnJvcigiYmluZEFsbCBtdXN0IGJlIHBhc3NlZCBmdW5jdGlvbiBuYW1lcyIpO2Zvcig7ci0tOyl7dmFyIGU9dFtyXTtuW2VdPWp0KG5bZV0sbil9cmV0dXJuIG59KSk7ZnVuY3Rpb24gU3Qobix0KXt2YXIgcj1mdW5jdGlvbihlKXt2YXIgdT1yLmNhY2hlLGk9IiIrKHQ/dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZSk7cmV0dXJuIEoodSxpKXx8KHVbaV09bi5hcHBseSh0aGlzLGFyZ3VtZW50cykpLHVbaV19O3JldHVybiByLmNhY2hlPXt9LHJ9Y29uc3QgT3Q9XygoZnVuY3Rpb24obix0LHIpe3JldHVybiBzZXRUaW1lb3V0KChmdW5jdGlvbigpe3JldHVybiBuLmFwcGx5KG51bGwscil9KSx0KX0pKSxFdD13dChPdCxzbiwxKTtmdW5jdGlvbiBrdChuLHQscil7dmFyIGUsdSxpLG8sYT0wO3J8fChyPXt9KTt2YXIgYz1mdW5jdGlvbigpe2E9ITE9PT1yLmxlYWRpbmc/MDpydCgpLGU9bnVsbCxvPW4uYXBwbHkodSxpKSxlfHwodT1pPW51bGwpfSxmPWZ1bmN0aW9uKCl7dmFyIGY9cnQoKTthfHwhMSE9PXIubGVhZGluZ3x8KGE9Zik7dmFyIGw9dC0oZi1hKTtyZXR1cm4gdT10aGlzLGk9YXJndW1lbnRzLGw8PTB8fGw+dD8oZSYmKGNsZWFyVGltZW91dChlKSxlPW51bGwpLGE9ZixvPW4uYXBwbHkodSxpKSxlfHwodT1pPW51bGwpKTplfHwhMT09PXIudHJhaWxpbmd8fChlPXNldFRpbWVvdXQoYyxsKSksb307cmV0dXJuIGYuY2FuY2VsPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGUpLGE9MCxlPXU9aT1udWxsfSxmfQpmdW5jdGlvbiBNdChuLHQscil7dmFyIGUsdSxpLG8sYSxjPWZ1bmN0aW9uKCl7dmFyIGY9cnQoKS11O3Q+Zj9lPXNldFRpbWVvdXQoYyx0LWYpOihlPW51bGwscnx8KG89bi5hcHBseShhLGkpKSxlfHwoaT1hPW51bGwpKX0sZj1fKChmdW5jdGlvbihmKXtyZXR1cm4gYT10aGlzLGk9Zix1PXJ0KCksZXx8KGU9c2V0VGltZW91dChjLHQpLHImJihvPW4uYXBwbHkoYSxpKSkpLG99KSk7cmV0dXJuIGYuY2FuY2VsPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGUpLGU9aT1hPW51bGx9LGZ9ZnVuY3Rpb24gQnQobix0KXtyZXR1cm4gd3QodCxuKX1mdW5jdGlvbiBJdChuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4hbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIE50KCl7dmFyIG49YXJndW1lbnRzLHQ9bi5sZW5ndGgtMTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHI9dCxlPW5bdF0uYXBwbHkodGhpcyxhcmd1bWVudHMpO3ItLTspZT1uW3JdLmNhbGwodGhpcyxlKTtyZXR1cm4gZX19ZnVuY3Rpb24gRHQobix0KXtyZXR1cm4gZnVuY3Rpb24oKXtpZigtLW48MSlyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIFJ0KG4sdCl7dmFyIHI7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuLS1uPjAmJihyPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpKSxuPD0xJiYodD1udWxsKSxyfX1jb25zdCBUdD13dChSdCwyKTtmdW5jdGlvbiBWdChuLHQscil7dD1Rbih0LHIpO2Zvcih2YXIgZSx1PWNuKG4pLGk9MCxvPXUubGVuZ3RoO2k8bztpKyspaWYodChuW2U9dVtpXV0sZSxuKSlyZXR1cm4gZX1mdW5jdGlvbiBGdChuKXtyZXR1cm4gZnVuY3Rpb24odCxyLGUpe3I9UW4ocixlKTtmb3IodmFyIHU9b24odCksaT1uPjA/MDp1LTE7aT49MCYmaTx1O2krPW4paWYocih0W2ldLGksdCkpcmV0dXJuIGk7cmV0dXJuLTF9fWNvbnN0IHF0PUZ0KDEpLHp0PUZ0KC0xKTtmdW5jdGlvbiBXdChuLHQscixlKXtmb3IodmFyIHU9KHI9UW4ocixlLDEpKSh0KSxpPTAsbz1vbihuKTtpPG87KXt2YXIgYT1NYXRoLmZsb29yKChpK28pLzIpO3IoblthXSk8dT9pPWErMTpvPWF9cmV0dXJuIGl9ZnVuY3Rpb24gUHQobix0LHIpe3JldHVybiBmdW5jdGlvbihlLHUsaSl7dmFyIG89MCxhPW9uKGUpO2lmKCJudW1iZXIiPT10eXBlb2YgaSluPjA/bz1pPj0wP2k6TWF0aC5tYXgoaSthLG8pOmE9aT49MD9NYXRoLm1pbihpKzEsYSk6aSthKzE7ZWxzZSBpZihyJiZpJiZhKXJldHVybiBlW2k9cihlLHUpXT09PXU/aTotMTtpZih1IT11KXJldHVybihpPXQobC5jYWxsKGUsbyxhKSxYKSk+PTA/aStvOi0xO2ZvcihpPW4+MD9vOmEtMTtpPj0wJiZpPGE7aSs9bilpZihlW2ldPT09dSlyZXR1cm4gaTtyZXR1cm4tMX19Y29uc3QgVXQ9UHQoMSxxdCxXdCksS3Q9UHQoLTEsenQpO2Z1bmN0aW9uIEx0KG4sdCxyKXt2YXIgZT0oeHQobik/cXQ6VnQpKG4sdCxyKTtpZih2b2lkIDAhPT1lJiYtMSE9PWUpcmV0dXJuIG5bZV19ZnVuY3Rpb24gQ3Qobix0KXtyZXR1cm4gTHQobixDbih0KSl9ZnVuY3Rpb24gJHQobix0LHIpe3ZhciBlLHU7aWYodD1Kbih0LHIpLHh0KG4pKWZvcihlPTAsdT1uLmxlbmd0aDtlPHU7ZSsrKXQobltlXSxlLG4pO2Vsc2V7dmFyIGk9Y24obik7Zm9yKGU9MCx1PWkubGVuZ3RoO2U8dTtlKyspdChuW2lbZV1dLGlbZV0sbil9cmV0dXJuIG59ZnVuY3Rpb24gSnQobix0LHIpe3Q9UW4odCxyKTtmb3IodmFyIGU9IXh0KG4pJiZjbihuKSx1PShlfHxuKS5sZW5ndGgsaT1BcnJheSh1KSxvPTA7bzx1O28rKyl7dmFyIGE9ZT9lW29dOm87aVtvXT10KG5bYV0sYSxuKX1yZXR1cm4gaX1mdW5jdGlvbiBHdChuKXtyZXR1cm4gZnVuY3Rpb24odCxyLGUsdSl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD49MztyZXR1cm4gZnVuY3Rpb24odCxyLGUsdSl7dmFyIGk9IXh0KHQpJiZjbih0KSxvPShpfHx0KS5sZW5ndGgsYT1uPjA/MDpvLTE7Zm9yKHV8fChlPXRbaT9pW2FdOmFdLGErPW4pO2E+PTAmJmE8bzthKz1uKXt2YXIgYz1pP2lbYV06YTtlPXIoZSx0W2NdLGMsdCl9cmV0dXJuIGV9KHQsSm4ocix1LDQpLGUsaSl9fWNvbnN0IEh0PUd0KDEpLFF0PUd0KC0xKTtmdW5jdGlvbiBYdChuLHQscil7dmFyIGU9W107cmV0dXJuIHQ9UW4odCxyKSwkdChuLChmdW5jdGlvbihuLHIsdSl7dChuLHIsdSkmJmUucHVzaChuKX0pKSxlfWZ1bmN0aW9uIFl0KG4sdCxyKXtyZXR1cm4gWHQobixJdChRbih0KSkscil9ZnVuY3Rpb24gWnQobix0LHIpe3Q9UW4odCxyKTtmb3IodmFyIGU9IXh0KG4pJiZjbihuKSx1PShlfHxuKS5sZW5ndGgsaT0wO2k8dTtpKyspe3ZhciBvPWU/ZVtpXTppO2lmKCF0KG5bb10sbyxuKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBucihuLHQscil7dD1Rbih0LHIpO2Zvcih2YXIgZT0heHQobikmJmNuKG4pLHU9KGV8fG4pLmxlbmd0aCxpPTA7aTx1O2krKyl7dmFyIG89ZT9lW2ldOmk7aWYodChuW29dLG8sbikpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gdHIobix0LHIsZSl7cmV0dXJuIHh0KG4pfHwobj1FbihuKSksKCJudW1iZXIiIT10eXBlb2Ygcnx8ZSkmJihyPTApLFV0KG4sdCxyKT49MH1jb25zdCBycj1fKChmdW5jdGlvbihuLHQscil7dmFyIGUsdTtyZXR1cm4gVyh0KT91PXQ6KHQ9V24odCksZT10LnNsaWNlKDAsLTEpLHQ9dFt0Lmxlbmd0aC0xXSksSnQobiwoZnVuY3Rpb24obil7dmFyIGk9dTtpZighaSl7aWYoZSYmZS5sZW5ndGgmJihuPVBuKG4sZSkpLG51bGw9PW4pcmV0dXJuO2k9blt0XX1yZXR1cm4gbnVsbD09aT9pOmkuYXBwbHkobixyKX0pKX0pKTtmdW5jdGlvbiBlcihuLHQpe3JldHVybiBKdChuLCRuKHQpKX1mdW5jdGlvbiB1cihuLHQpe3JldHVybiBYdChuLENuKHQpKX1mdW5jdGlvbiBpcihuLHQscil7dmFyIGUsdSxpPS0xLzAsbz0tMS8wO2lmKG51bGw9PXR8fCJudW1iZXIiPT10eXBlb2YgdCYmIm9iamVjdCIhPXR5cGVvZiBuWzBdJiZudWxsIT1uKWZvcih2YXIgYT0wLGM9KG49eHQobik/bjpFbihuKSkubGVuZ3RoO2E8YzthKyspbnVsbCE9KGU9blthXSkmJmU+aSYmKGk9ZSk7ZWxzZSB0PVFuKHQsciksJHQobiwoZnVuY3Rpb24obixyLGUpewooKHU9dChuLHIsZSkpPm98fHU9PT0tMS8wJiZpPT09LTEvMCkmJihpPW4sbz11KX0pKTtyZXR1cm4gaX1mdW5jdGlvbiBvcihuLHQscil7dmFyIGUsdSxpPTEvMCxvPTEvMDtpZihudWxsPT10fHwibnVtYmVyIj09dHlwZW9mIHQmJiJvYmplY3QiIT10eXBlb2YgblswXSYmbnVsbCE9bilmb3IodmFyIGE9MCxjPShuPXh0KG4pP246RW4obikpLmxlbmd0aDthPGM7YSsrKW51bGwhPShlPW5bYV0pJiZlPGkmJihpPWUpO2Vsc2UgdD1Rbih0LHIpLCR0KG4sKGZ1bmN0aW9uKG4scixlKXsoKHU9dChuLHIsZSkpPG98fHU9PT0xLzAmJmk9PT0xLzApJiYoaT1uLG89dSl9KSk7cmV0dXJuIGl9dmFyIGFyPS9bXlx1ZDgwMC1cdWRmZmZdfFtcdWQ4MDAtXHVkYmZmXVtcdWRjMDAtXHVkZmZmXXxbXHVkODAwLVx1ZGZmZl0vZztmdW5jdGlvbiBjcihuKXtyZXR1cm4gbj8kKG4pP2wuY2FsbChuKTpJKG4pP24ubWF0Y2goYXIpOnh0KG4pP0p0KG4sTG4pOkVuKG4pOltdfWZ1bmN0aW9uIGZyKG4sdCxyKXtpZihudWxsPT10fHxyKXJldHVybiB4dChuKXx8KG49RW4obikpLG5bdHQobi5sZW5ndGgtMSldO3ZhciBlPWNyKG4pLHU9b24oZSk7dD1NYXRoLm1heChNYXRoLm1pbih0LHUpLDApO2Zvcih2YXIgaT11LTEsbz0wO288dDtvKyspe3ZhciBhPXR0KG8saSksYz1lW29dO2Vbb109ZVthXSxlW2FdPWN9cmV0dXJuIGUuc2xpY2UoMCx0KX1mdW5jdGlvbiBscihuKXtyZXR1cm4gZnIobiwxLzApfWZ1bmN0aW9uIHNyKG4sdCxyKXt2YXIgZT0wO3JldHVybiB0PVFuKHQsciksZXIoSnQobiwoZnVuY3Rpb24obixyLHUpe3JldHVybnt2YWx1ZTpuLGluZGV4OmUrKyxjcml0ZXJpYTp0KG4scix1KX19KSkuc29ydCgoZnVuY3Rpb24obix0KXt2YXIgcj1uLmNyaXRlcmlhLGU9dC5jcml0ZXJpYTtpZihyIT09ZSl7aWYocj5lfHx2b2lkIDA9PT1yKXJldHVybiAxO2lmKHI8ZXx8dm9pZCAwPT09ZSlyZXR1cm4tMX1yZXR1cm4gbi5pbmRleC10LmluZGV4fSkpLCJ2YWx1ZSIpfWZ1bmN0aW9uIHByKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKHIsZSx1KXt2YXIgaT10P1tbXSxbXV06e307cmV0dXJuIGU9UW4oZSx1KSwkdChyLChmdW5jdGlvbih0LHUpe3ZhciBvPWUodCx1LHIpO24oaSx0LG8pfSkpLGl9fWNvbnN0IGhyPXByKChmdW5jdGlvbihuLHQscil7SihuLHIpP25bcl0ucHVzaCh0KTpuW3JdPVt0XX0pKSx2cj1wcigoZnVuY3Rpb24obix0LHIpe25bcl09dH0pKSxkcj1wcigoZnVuY3Rpb24obix0LHIpe0oobixyKT9uW3JdKys6bltyXT0xfSkpLHlyPXByKChmdW5jdGlvbihuLHQscil7bltyPzA6MV0ucHVzaCh0KX0pLCEwKTtmdW5jdGlvbiBncihuKXtyZXR1cm4gbnVsbD09bj8wOnh0KG4pP24ubGVuZ3RoOmNuKG4pLmxlbmd0aH1mdW5jdGlvbiBtcihuLHQscil7cmV0dXJuIHQgaW4gcn1jb25zdCBicj1fKChmdW5jdGlvbihuLHQpe3ZhciByPXt9LGU9dFswXTtpZihudWxsPT1uKXJldHVybiByO1coZSk/KHQubGVuZ3RoPjEmJihlPUpuKGUsdFsxXSkpLHQ9ZG4obikpOihlPW1yLHQ9QXQodCwhMSwhMSksbj1PYmplY3QobikpO2Zvcih2YXIgdT0wLGk9dC5sZW5ndGg7dTxpO3UrKyl7dmFyIG89dFt1XSxhPW5bb107ZShhLG8sbikmJihyW29dPWEpfXJldHVybiByfSkpLHdyPV8oKGZ1bmN0aW9uKG4sdCl7dmFyIHIsZT10WzBdO3JldHVybiBXKGUpPyhlPUl0KGUpLHQubGVuZ3RoPjEmJihyPXRbMV0pKToodD1KdChBdCh0LCExLCExKSxTdHJpbmcpLGU9ZnVuY3Rpb24obixyKXtyZXR1cm4hdHIodCxyKX0pLGJyKG4sZSxyKX0pKTtmdW5jdGlvbiBqcihuLHQscil7cmV0dXJuIGwuY2FsbChuLDAsTWF0aC5tYXgoMCxuLmxlbmd0aC0obnVsbD09dHx8cj8xOnQpKSl9ZnVuY3Rpb24geHIobix0LHIpe3JldHVybiBudWxsPT1ufHxuLmxlbmd0aDwxP251bGw9PXR8fHI/dm9pZCAwOltdOm51bGw9PXR8fHI/blswXTpqcihuLG4ubGVuZ3RoLXQpfWZ1bmN0aW9uIEFyKG4sdCxyKXtyZXR1cm4gbC5jYWxsKG4sbnVsbD09dHx8cj8xOnQpfWZ1bmN0aW9uIF9yKG4sdCxyKXtyZXR1cm4gbnVsbD09bnx8bi5sZW5ndGg8MT9udWxsPT10fHxyP3ZvaWQgMDpbXTpudWxsPT10fHxyP25bbi5sZW5ndGgtMV06QXIobixNYXRoLm1heCgwLG4ubGVuZ3RoLXQpKX1mdW5jdGlvbiBTcihuKXtyZXR1cm4gWHQobixCb29sZWFuKX1mdW5jdGlvbiBPcihuLHQpe3JldHVybiBBdChuLHQsITEpfWNvbnN0IEVyPV8oKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQ9QXQodCwhMCwhMCksWHQobiwoZnVuY3Rpb24obil7cmV0dXJuIXRyKHQsbil9KSl9KSksa3I9XygoZnVuY3Rpb24obix0KXtyZXR1cm4gRXIobix0KX0pKTtmdW5jdGlvbiBNcihuLHQscixlKXtrKHQpfHwoZT1yLHI9dCx0PSExKSxudWxsIT1yJiYocj1RbihyLGUpKTtmb3IodmFyIHU9W10saT1bXSxvPTAsYT1vbihuKTtvPGE7bysrKXt2YXIgYz1uW29dLGY9cj9yKGMsbyxuKTpjO3QmJiFyPyhvJiZpPT09Znx8dS5wdXNoKGMpLGk9Zik6cj90cihpLGYpfHwoaS5wdXNoKGYpLHUucHVzaChjKSk6dHIodSxjKXx8dS5wdXNoKGMpfXJldHVybiB1fWNvbnN0IEJyPV8oKGZ1bmN0aW9uKG4pe3JldHVybiBNcihBdChuLCEwLCEwKSl9KSk7ZnVuY3Rpb24gSXIobil7Zm9yKHZhciB0PVtdLHI9YXJndW1lbnRzLmxlbmd0aCxlPTAsdT1vbihuKTtlPHU7ZSsrKXt2YXIgaT1uW2VdO2lmKCF0cih0LGkpKXt2YXIgbztmb3Iobz0xO288ciYmdHIoYXJndW1lbnRzW29dLGkpO28rKyk7bz09PXImJnQucHVzaChpKX19cmV0dXJuIHR9ZnVuY3Rpb24gTnIobil7Zm9yKHZhciB0PW4mJmlyKG4sb24pLmxlbmd0aHx8MCxyPUFycmF5KHQpLGU9MDtlPHQ7ZSsrKXJbZV09ZXIobixlKTtyZXR1cm4gcn1jb25zdCBEcj1fKE5yKTtmdW5jdGlvbiBScihuLHQpe2Zvcih2YXIgcj17fSxlPTAsdT1vbihuKTtlPHU7ZSsrKXQ/cltuW2VdXT10W2VdOnJbbltlXVswXV09bltlXVsxXTtyZXR1cm4gcn1mdW5jdGlvbiBUcihuLHQscil7bnVsbD09dCYmKHQ9bnx8MCxuPTApLHJ8fChyPXQ8bj8tMToxKTtmb3IodmFyIGU9TWF0aC5tYXgoTWF0aC5jZWlsKCh0LW4pL3IpLDApLHU9QXJyYXkoZSksaT0wO2k8ZTtpKyssbis9cil1W2ldPW4KO3JldHVybiB1fWZ1bmN0aW9uIFZyKG4sdCl7aWYobnVsbD09dHx8dDwxKXJldHVybltdO2Zvcih2YXIgcj1bXSxlPTAsdT1uLmxlbmd0aDtlPHU7KXIucHVzaChsLmNhbGwobixlLGUrPXQpKTtyZXR1cm4gcn1mdW5jdGlvbiBGcihuLHQpe3JldHVybiBuLl9jaGFpbj9zbih0KS5jaGFpbigpOnR9ZnVuY3Rpb24gcXIobil7cmV0dXJuICR0KEJuKG4pLChmdW5jdGlvbih0KXt2YXIgcj1zblt0XT1uW3RdO3NuLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpe3ZhciBuPVt0aGlzLl93cmFwcGVkXTtyZXR1cm4gZi5hcHBseShuLGFyZ3VtZW50cyksRnIodGhpcyxyLmFwcGx5KHNuLG4pKX19KSksc259JHQoWyJwb3AiLCJwdXNoIiwicmV2ZXJzZSIsInNoaWZ0Iiwic29ydCIsInNwbGljZSIsInVuc2hpZnQiXSwoZnVuY3Rpb24obil7dmFyIHQ9b1tuXTtzbi5wcm90b3R5cGVbbl09ZnVuY3Rpb24oKXt2YXIgcj10aGlzLl93cmFwcGVkO3JldHVybiBudWxsIT1yJiYodC5hcHBseShyLGFyZ3VtZW50cyksInNoaWZ0IiE9PW4mJiJzcGxpY2UiIT09bnx8MCE9PXIubGVuZ3RofHxkZWxldGUgclswXSksRnIodGhpcyxyKX19KSksJHQoWyJjb25jYXQiLCJqb2luIiwic2xpY2UiXSwoZnVuY3Rpb24obil7dmFyIHQ9b1tuXTtzbi5wcm90b3R5cGVbbl09ZnVuY3Rpb24oKXt2YXIgbj10aGlzLl93cmFwcGVkO3JldHVybiBudWxsIT1uJiYobj10LmFwcGx5KG4sYXJndW1lbnRzKSksRnIodGhpcyxuKX19KSk7Y29uc3QgenI9c247dmFyIFdyPXFyKGUpO1dyLl89V3I7Y29uc3QgUHI9V3J9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.223Z","timestamp":1785136901223,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3007\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0ca3169b155802a05c063d5f5de5ead6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12295,"size_decoded":5518,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3067)","md5":"1c7314ec5698d1269fcf3fe8e9d48648","sha1":"d1fb17b9e771bd250914284740cc34a81547b91d","sha256":"bd627f042740901d7be3db9685ce7831516e3f188779cc4a1ae7dbaa6fd32b74","sha512":"1b164cef2eadd5807eaaff6a71f636a4c6c0f4974124302f30b8eeb70e2bf37fee66589a465b1619919462a2a0c3d3c5336d900152e91200950f0205b73d7452","ssdeep":"384:iBaD9U0gstXMY5/BUFXXRn8XaTigVaft1nglXBxEiS1WCSELCg4N:iBaD20gst8Y5/BUj8XmV+tyLCsCSEM","tlshash":"4042f7a462dab965636201cae474b813b22c2d02348d86a8f72c9dcf371cd41f57d776","first_seen":"2026-07-22T16:00:00.456338Z","last_seen":"2026-07-28T06:17:53.573257Z","times_seen":148,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjA5NjksNzExODUsNzQzNDFdLHs5MDEwMjIoZSx0LHIpe3IuZCh0LHtTRVBBUkFUT1JfUFJFRklYOigpPT5zLGlzU2VwYXJhdG9ySXRlbTooKT0+bn0pO2NvbnN0IHM9IiMjIyI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5zdGFydHNXaXRoKHMpfX0sMTI4ODE0KGUsdCxyKXtyLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+ZH0pO3ZhciBzPXIoOTQ4MzgwKSxuPXIoMTUwMTUwKSxvPXIoMjE0OTg3KSxhPXIoMTM4NjM4KSxpPXIoMzY3OTQ2KSxsPXIoOTcwNzc0KSxjPXIoMzA5MDUyKTtjb25zdCB1PW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHMuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PWwuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG4ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IHI9ZC5jYWNoZS5nZXQoZSk7cmV0dXJuIHImJnRoaXMuX2lzU25hcHNob3RSZWFkeShyLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP3I6bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LHIpe2NvbnN0IHM9cj8uc2lnbmFsPz9udWxsLG49cj8uZnJlc2huZXNzLGk9dm9pZCAwIT09bj9EYXRlLm5vdygpLW46bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChyLG4pPT57aWYocyYmcy5hYm9ydGVkKXRocm93KDAsby5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IGw9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxjKSxuKCgwLG8uY3JlYXRlQWJvcnRFcnJvcikoKSl9LGM9KG49ZSk9PntpZihuIT09ZSlyZXR1cm47Y29uc3Qgbz1kLmNhY2hlLmdldChlKTtvJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobyx7dGltZXN0YW1wOmksc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGMpLHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixsKSxyKG8pKX07aWYoISgoKT0+e2NvbnN0IHM9ZC5jYWNoZS5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Y29uc3Qgbj0oMCxhLmVuc3VyZU5vdE51bGwpKGQuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDppLHRpbWVzOm59KSYmKHIocyksITApfSkoKSYmKHM/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixsLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGMpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxyKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LHIpKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IHIgb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShyKSlyZXR1cm4hMTtyZXR1cm4hMH1faXNTbmFwc2hvdFJlYWR5KGUsdCl7Y29uc3R7ZmllbGRzOnIsdGltZXN0YW1wOnMsdGltZXM6bixzeW1ib2w6b309dDtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXN8fChudWxsIT09cyYmbj90aGlzLl9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsbixyLHMpOm51bGwhPT1zJiZvP3RoaXMuX2lzQWxsRmllbGRzVXBkYXRlZChlLG8scik6dGhpcy5faGFzQWxsRmllbGRzKGUscikpfV9pc0FsbEZpZWxkc1VwZGF0ZWQoZSx0LHIpewppZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcz10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighc3x8IXMuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHIpKWlmKCFzLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIGQuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxyLHMpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHIpKXtjb25zdCByPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09cilyZXR1cm4hMTtpZihyPHMpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9dS5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9ZC5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTtkLmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAsaS5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksZC5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLHI9KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscz1uZXcgU2V0KHIpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmcy5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxzKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1kLmNhY2hlPWMuUVVPVEVfRklFTERTX0NBQ0hFfSw2MjM1MTEoZSx0LHIpe2Z1bmN0aW9uIHMoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oKT0+KG51bGw9PT10JiYodD1lKCkpLHQpfXIuZCh0LHtsYXp5VmFsdWU6KCk9PnN9KX0sOTI5NDg4KGUsdCxyKXtyLmQodCx7aXNTZXBhcmF0b3JJdGVtOigpPT5ufSk7dmFyIHM9cig5MDEwMjIpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKDAscy5pc1NlcGFyYXRvckl0ZW0pKGUpfX0sMzIwNTUoZSx0LHIpe3Iucih0KSxyLmQodCx7cmVzb2x2ZVN5bWJvbE5hbWU6KCk9PmMscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGw6KCk9PnUscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGxEaXN0aW5jdDooKT0+ZCxzbmFwc2hvdGVyOigpPT5pfSk7dmFyIHM9cigxMjg4MTQpLG49cig2MjM1MTEpLG89cig5Mjk0ODgpO2NvbnN0IGE9bmV3IFNldChbInByb19uYW1lIiwiYmFzZV9uYW1lIiwic2hvcnRfbmFtZSIsImRlc2NyaXB0aW9uIiwidHlwZSIsImV4Y2hhbmdlIiwidHlwZXNwZWNzIiwibGlzdGVkX2V4Y2hhbmdlIiwibGFzdF9wcmljZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwic3ltYm9sLXByaW1hcnluYW1lIiwibG9nb2lkIiwibG9nbyIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwic291cmNlLWxvZ29pZCIsInVwZGF0ZV9tb2RlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInByb19wZXJtIiwic291cmNlIiwic291cmNlMiIsInByaWNlc2NhbGUiLCJtaW5tb3YiLCJmcmFjdGlvbmFsIiwidmlzaWJsZS1wbG90cy1zZXQiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwidW5kZXJseWluZy1zeW1ib2wiXSksaT0oMCxuLmxhenlWYWx1ZSkoKCgpPT5uZXcgcy5RdW90ZVNlc3Npb25TbmFwc2hvdGVyKHtuYW1lOiJiYXNpYy1zeW1ib2wtcXVvdGVzIixmaWVsZHM6Wy4uLmFdLGFwaTp3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZX0pKSksbD1uZXcgU2V0KFsicHJvX25hbWUiXSk7YXN5bmMgZnVuY3Rpb24gYyhlKXtyZXR1cm4oMCxvLmlzU2VwYXJhdG9ySXRlbSkoZSk/ZTppKCkuZ2V0U25hcHNob3QoZSxsKS50aGVuKChlPT4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoYykpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIHUoZSkudGhlbigoZT0+Wy4uLm5ldyBTZXQoZSldKSl9fSw0OTAyMDQoZSx0LHIpe3IuZCh0LHtyZXNvbHZlVW5kZXJseWluZ1N5bWJvbDooKT0+bn0pO3ZhciBzPXIoMzIwNTUpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1hd2FpdCgwLHMuc25hcHNob3RlcikoKS5nZXRTbmFwc2hvdChlLG5ldyBTZXQoWyJ1bmRlcmx5aW5nLXN5bWJvbCJdKSk7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBudWxsO2NvbnN0IHI9dC52YWx1ZXNbInVuZGVybHlpbmctc3ltYm9sIl07cmV0dXJuIHJ8fG51bGx9fSwyNDU4NjEoZSx0LHIpe3IuZCh0LHtFcnJvclJlbmRlcmVyOigpPT5FfSk7dmFyIHM9cigxODUyNzEpLG49cigyMjUyOTgpLG89cigyMDA2NjYpLGE9cig4MTA0MSksaT1yKDkzMDIzMSksbD1yKDk5NDU0MCksYz1yKDU3NzcxMyksdT1yKDkyNjk5NSksZD1yKDU1NDY1NCksaD1yKDQ5MDIwNCk7dmFyIHA9cig1NjkzOTgpLF89cigyMzIzNjQpLG09cig5NTI5MDApLHk9cig5NjI3MzcpLGI9cigxMjg5OTgpO2NvbnN0IGc9cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoOTc1ODApKTtmdW5jdGlvbiBmKGUpe3N3aXRjaChlLnJlYXNvbil7Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjoKcmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDg2MDM4OSkpLmZvcm1hdCh7aW50ZXJ2YWxzOih0PWUuc3VwcG9ydGVkUmVzb2x1dGlvbnMsdC5tYXAoKGU9PmUpKS5qb2luKCIsICIpKX0pO2Nhc2UibGVzc190aGFuX2ZyZXF1ZW5jeSI6cmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDc3ODQ0OCkpO2Nhc2UidW5zdXBwb3J0ZWRfdGlja3MiOnJldHVybiBzLnQobnVsbCx2b2lkIDAscig1MjkzOTYpKX12YXIgdH1mdW5jdGlvbiBTKGUpe3N3aXRjaChlLnJlYXNvbil7Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoNDY1MzEzKSk7Y2FzZSJsZXNzX3RoYW5fZnJlcXVlbmN5IjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoNTQxNTcwKSkuZm9ybWF0KHtyZXNvbHV0aW9uOmUuYXBwbGljYWJsZVJlc29sdXRpb259KTtjYXNlInVuc3VwcG9ydGVkX3RpY2tzIjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoMjU1NzYzKSl9fWZ1bmN0aW9uIHYoZSl7c3dpdGNoKGUucmVhc29uKXtjYXNlInVuc3VwcG9ydGVkX3Jlc29sdXRpb24iOnJldHVybiBzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig4MjQzNDApKS5mb3JtYXQoe3Jlc29sdXRpb246ZS5hcHBsaWNhYmxlUmVzb2x1dGlvbn0pO2Nhc2UibGVzc190aGFuX2ZyZXF1ZW5jeSI6Y2FzZSJ1bnN1cHBvcnRlZF90aWNrcyI6cmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDgzMDM4NSkpLmZvcm1hdCh7cmVzb2x1dGlvbjplLmFwcGxpY2FibGVSZXNvbHV0aW9ufSl9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuIGU/ey4uLmUsbWVzc2FnZTplLm1lc3NhZ2U/KDAseS5mb3JtYXRTdHVkeUVycm9yKShlLm1lc3NhZ2UpOnZvaWQgMH06bnVsbH1jbGFzcyBFe2NvbnN0cnVjdG9yKGUsdD0hMSl7dGhpcy5fY29udGFpbmVyPW51bGwsdGhpcy5fZXJyb3JDYXJkUmVuZGVyZXI9bnVsbCx0aGlzLl9iYW5FcnJvck1lc3NhZ2U9bmV3IF8uV2F0Y2hlZFZhbHVlKG51bGwpLnNwYXduKCksdGhpcy5faGFzRXJyb3I9bmV3IF8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZW5kZXJJbnNpZGVDb250YWluZXI9ITEsdGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcj1lPT57dGhpcy5faGFzRXJyb3Iuc2V0VmFsdWUobnVsbCE9PWUpLGU9dyhlKSwhdGhpcy5fcmVuZGVySW5zaWRlQ29udGFpbmVyJiZ0aGlzLl9jaGFydFdpZGdldC52YWx1ZSgpLmhhc01vZGVsKCk/dGhpcy5fdXBkYXRlUGFuZVdpZGdldHMoZSk6dGhpcy5fcmVuZGVyRXJyb3JXaXRob3V0TW9kZWwoZSl9LHRoaXMuX2NoYXJ0V2lkZ2V0PWUuc3Bhd24oKSx0aGlzLl9yZW5kZXJJbnNpZGVDb250YWluZXI9dCx0aGlzLl9iYW5FcnJvck1lc3NhZ2U9KDAsbS5jb21iaW5lKSgoZT0+e2lmKCFlKXJldHVybiBudWxsO2xldCB0O2lmKCJiYW5uZWQgYnkgaXAiPT09ZS5yZWFzb24pdD1zLnQobnVsbCx2b2lkIDAscig2NDY2MDEpKTtlbHNlIHQ9cy50KG51bGwsdm9pZCAwLHIoNTkyMDE0KSk7cmV0dXJue3RpdGxlOnMudChudWxsLHtjb250ZXh0OiJCYW4gcmVhc29uIn0scig2MzU5MjMpKSxtZXNzYWdlOnQsYnV0dG9uczpbe25hbWU6cy50KG51bGwse2NvbnRleHQ6InNvbHV0aW9uIGxpbmsifSxyKDgyNDAyNykpLG9uQ2xpY2s6KCk9PnsoMCx1LnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDpkLnNvbHV0aW9uSWRzLldIWV9JU19NWV9BQ0NPVU5UX0JBTk5FRH0pfX1dLGljb246InN0b3AtaGFuZCJ9fSksd2luZG93LkNoYXJ0QXBpSW5zdGFuY2UuY29ubmVjdGlvbkJhbkluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2JhbkVycm9yTWVzc2FnZS5zdWJzY3JpYmUodGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcix7Y2FsbFdpdGhMYXN0OiEwfSk7Y29uc3Qgbj0oMCxtLmFjY3VtdWxhdGUpKChlPT57Y29uc3QgdD1lWzBdO3JldHVybltudWxsIT09dD8oMCxiLmdldFNlcmllc0Rpc3BsYXlFcnJvcldWKSh0Lm1haW5TZXJpZXMoKSkub3duZXJzaGlwKCk6bmV3IF8uV2F0Y2hlZFZhbHVlKG51bGwpLm93bmVyc2hpcCgpXX0pLCgwLG0uY29tYmluZSkoKGU9PltlLm1vZGVsV1YoKS53ZWFrUmVmZXJlbmNlKCldKSx0aGlzLl9jaGFydFdpZGdldC53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpKTt0aGlzLl9wYW5lV2lkZ2V0RXJyb3JNZXNzYWdlPSgwLG0uYWNjdW11bGF0ZSkoKChbZV0sdCk9PntpZih0KXJldHVybiB0O2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IG49dGhpcy5fY2hhcnRXaWRnZXQudmFsdWUoKTtzd2l0Y2goZS50eXBlKXtjYXNlImludmFsaWRfc3ltYm9sIjpyZXR1cm4gdGhpcy5fY3JlYXRlRXJyb3JQYXJhbXNGb3JJbnZhbGlkU3ltYm9sKG4pO2Nhc2UiY2FsY3VsYXRpb25zX2Vycm9yIjpyZXR1cm57dGl0bGU6cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoNDg3MjAxKSksbWVzc2FnZTplLmVycm9yTWVzc2FnZSxpY29uOiJhdHRlbnRpb24ifTtjYXNlIm5vX2RhdGEiOnJldHVybnt0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scigxOTgwKSksbWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscig5NjkwOSkpLGljb246InVmby1hbmQtY293In07Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjpyZXR1cm4gdGhpcy5fY3JlYXRlRXJyb3JQYXJhbXNGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24obik7Y2FzZSJpcG9fcHJpY2VkIjpyZXR1cm57dGl0bGU6cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoMTM3ODAwKSksbWVzc2FnZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig0MDM2NzIpKSxpY29uOiJyb2NrZXQtbGF1bmNoIn07Y2FzZSJyZW5rb19jaGFydF90eXBlX2lzc3VlIjpyZXR1cm57dGl0bGU6cy50KG51bGwsdm9pZCAwLHIoNzE2MzApKSxtZXNzYWdlOnMudChudWxsLHZvaWQgMCxyKDU5NTU3MCkpLGljb246InVmby1hbmQtcGVuY2lsIixidXR0b25zOlt7bmFtZTpzLnQobnVsbCx7Y29udGV4dDoic29sdXRpb24gbGluayJ9LHIoODI0MDI3KSksCm9uQ2xpY2s6KCk9PnsoMCx1LnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDpkLnNvbHV0aW9uSWRzLlJFTkNPX0NIQVJUX0RJU1BMQVlfSVNTVUVTfSl9fV19O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHNlcmllcyBlcnJvciB0eXBlIil9fSksbi5vd25lcnNoaXAoKSx0aGlzLl9iYW5FcnJvck1lc3NhZ2Uud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9wYW5lV2lkZ2V0RXJyb3JNZXNzYWdlLnN1YnNjcmliZSh0aGlzLl9lcnJvck1lc3NhZ2VIYW5kbGVyLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fYmFuRXJyb3JNZXNzYWdlLmRlc3Ryb3koKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj8udGhlbigoZT0+e2UuY29udGFpbmVyLnJlbW92ZSgpLGUuZGVzdHJveSgpfSkpLHRoaXMuX3BhbmVXaWRnZXRFcnJvck1lc3NhZ2UuZGVzdHJveSgpLHRoaXMuX2NoYXJ0V2lkZ2V0LmRlc3Ryb3koKX11cGRhdGVQYW5lV2lkZ2V0cygpe3RoaXMuX3VwZGF0ZVBhbmVXaWRnZXRzKCl9c2V0Q29udGFpbmVyKGUpe2lmKHRoaXMuX2NvbnRhaW5lciE9PWUpe3RoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2Vycm9yQ2FyZFJlbmRlcmVyPy50aGVuKChlPT5lLmNvbnRhaW5lci5yZW1vdmUoKSkpO2NvbnN0IHQ9dGhpcy5fZ2V0RXJyb3JNZXNzYWdlKCk7dCYmdGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcih0KX19aGFzRXJyb3IoKXtyZXR1cm4gdGhpcy5faGFzRXJyb3IucmVhZG9ubHkoKX1fdXBkYXRlUGFuZVdpZGdldHMoZT10aGlzLl9nZXRFcnJvck1lc3NhZ2UoKSl7dGhpcy5fY2hhcnRXaWRnZXQudmFsdWUoKS5wYW5lV2lkZ2V0cygpLmZvckVhY2goKHQ9PnQuc2V0RXJyb3JNZXNzYWdlKGUpKSl9YXN5bmMgX3JlbmRlckVycm9yV2l0aG91dE1vZGVsKGUpe2lmKG51bGw9PT10aGlzLl9jb250YWluZXJ8fG51bGw9PT1lJiZudWxsPT09dGhpcy5fZXJyb3JDYXJkUmVuZGVyZXIpcmV0dXJuO2NvbnN0IHQ9YXdhaXQgdGhpcy5fZ2V0RXJyb3JDYXJkUmVuZGVyZXIoKTt0aGlzLl9jb250YWluZXIuY29udGFpbnModC5jb250YWluZXIpfHx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodC5jb250YWluZXIpLHQudXBkYXRlKHRoaXMuX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyU3RhdGUoZSkpfWFzeW5jIF9nZXRFcnJvckNhcmRSZW5kZXJlcigpe3JldHVybiB0aGlzLl9lcnJvckNhcmRSZW5kZXJlcnx8PXRoaXMuX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyKCl9YXN5bmMgX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyKCl7cmV0dXJuIG5ldyhhd2FpdCgwLGMuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfV9jcmVhdGVFcnJvckNhcmRSZW5kZXJlclN0YXRlKGUpe3JldHVybiBlP3t0aXRsZTplLnRpdGxlLG1lc3NhZ2U6ZS5tZXNzYWdlLGljb246ZS5pY29uLGJhY2tncm91bmRDb2xvcjpudWxsLGJ1dHRvbnM6ZS5idXR0b25zLHRoZW1lOm8ud2F0Y2hlZFRoZW1lLnZhbHVlKCk9PT1hLlN0ZFRoZW1lLkRhcms/YS5TdGRUaGVtZS5EYXJrOmEuU3RkVGhlbWUuTGlnaHR9OnZvaWQgMH1fY3JlYXRlRXJyb3JQYXJhbXNGb3JJbnZhbGlkU3ltYm9sKGUpe2NvbnN0IHQ9YXN5bmMoKT0+e2Uuc2V0QWN0aXZlKCEwKTtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCkscj10LnN5bWJvbCgpLHM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvcnROYW1lLnZhbHVlKCksbj0ib3B0aW9uIj09PXQuc3ltYm9sSW5mbygpPy50eXBlLG89dC5zeW1ib2xJbmZvKCk/LnByb19uYW1lO2xldCBhPXQuaXNTcHJlYWQoKT9yOnN8fHJ8fCIiO2lmKCgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIikmJm4mJm8pe2NvbnN0IGU9YXdhaXQoMCxoLnJlc29sdmVVbmRlcmx5aW5nU3ltYm9sKShvKTtlJiYoYT17dHlwZToib3B0aW9uIix2YWx1ZTpvLHVuZGVybHlpbmc6ZX0pfSgwLGwuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZTphLGVuYWJsZU9wdGlvbnNDaGFpbjooMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIn0pfSxuPWUuc3ltYm9sV1YoKS52YWx1ZSgpLG89KG4uc3BsaXQoIjoiKVsxXT8/bikudG9VcHBlckNhc2UoKTtyZXR1cm4hKDAscC5pc0ZlYXR1cmVFbmFibGVkKSgibmV3X2VtcHR5X3N0YXRlX3Rlc3QiKXx8IkNIUklTVE1BUyIhPT1vJiYiTkVXWUVBUiIhPT1vJiYiU0FOVEFDTEFVUyIhPT1vJiYiWE1BU1RSRUUiIT09bz97bWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscigyODM1NjIpKSx0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig3MzA3NikpLGljb246InVmby1hbmQtY293IixidXR0b25zOlt7bmFtZTpnLG9uQ2xpY2s6dH1dfTp7bWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscigzNzE3NzkpKSx0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig1MjMyNzkpKSxpY29uOnthbmltYXRpb25Vcmw6cigxMTE4NTkpLHdpZHRoOjEyMCxoZWlnaHQ6MTIwLGtlZXBPcmlnaW5hbFNpemU6ITB9LGJ1dHRvbnM6W3tuYW1lOmcsb25DbGljazp0fV19fV9jcmVhdGVFcnJvclBhcmFtc0ZvclVuc3VwcG9ydGVkUmVzb2x1dGlvbihlKXtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCkudW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUoKS52YWx1ZSgpO3JldHVybiBudWxsPT09dD9udWxsOnttZXNzYWdlOlModCksdGl0bGU6Zih0KSxpY29uOiJ1bnN1cHBvcnRlZC1yZXNvbHV0aW9uIixidXR0b25zOlt7bmFtZTp2KHQpLG9uQ2xpY2s6KCk9PntlLnNldEFjdGl2ZSghMCksbi5saW5raW5nLnNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKHQuYXBwbGljYWJsZVJlc29sdXRpb24sIkVycm9yIHN0YXRlIil9fV19fV9nZXRFcnJvck1lc3NhZ2UoKXtyZXR1cm4gdyh0aGlzLl9iYW5FcnJvck1lc3NhZ2UudmFsdWUoKXx8dGhpcy5fcGFuZVdpZGdldEVycm9yTWVzc2FnZS52YWx1ZSgpKX19fSwxMTE4NTkoZSx0LHIpewplLmV4cG9ydHM9ci5wKyJueS1hbmltYXRpb24uNDA0MzM0OGQ2ZTYxOTljNGYxYjMuanNvbiJ9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.905Z","timestamp":1785136901905,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 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-f1ae\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b5305b1292b18d053d13be29308fea72\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":61870,"size_decoded":24219,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (8724)","md5":"a33d79b36d31bad99801ac951429ec12","sha1":"0132a8f4734c731690767f7346c30377761aed71","sha256":"42e14e00fdcb59805d9b1fc3225db0713e0a8ce22f25639326da817409380856","sha512":"b85e7f37730215e956573da5116e3901e2dc95b7c20bf9dba114b73817e363a0af560933b8f1193dae05ec6d87310bb3f73d9facec95f9521a846a4a0bacee6f","ssdeep":"768:1VZTM7OTm7FZkgTGJPrOvJ1UKxQcGhXEwpMALDw0Iv6CCVmXRfoUUUh3W//YWXgK:1MT2AbUKuXEgMPCVmpRK","tlshash":"0353f953b3045e4e75abe1e7ce2d8d49978e50a3304ac234f5efaed8229647fd623844","first_seen":"2026-07-24T15:28:44.934306Z","last_seen":"2026-07-28T04:48:50.535574Z","times_seen":57,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2ODQ4MV0sezQ3NDEzNihlLGQsdSl7InVzZSBzdHJpY3QiO3UuZChkLHthcnJheTooKT0+bCxjaGFubmVsOigpPT5mLGZ1bmM6KCk9Pm8saXRlcmF0b3I6KCk9PmksbXVsdGljYXN0OigpPT5wLG5vdFVuZGVmOigpPT5uLHBhdHRlcm46KCk9PnMscHJvbWlzZTooKT0+cixzdHJpbmc6KCk9PmEsc3RyaW5nYWJsZUZ1bmM6KCk9Pm0sc3ltYm9sOigpPT5oLHVuZGVmOigpPT5jfSk7dmFyIHQ9dSg1NjQ1MjEpLGM9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWV9LG49ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWV9LG89ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9LGE9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfSxsPUFycmF5LmlzQXJyYXkscj1mdW5jdGlvbihlKXtyZXR1cm4gZSYmbyhlLnRoZW4pfSxpPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZvKGUubmV4dCkmJm8oZS50aHJvdyl9LHM9ZnVuY3Rpb24gZShkKXtyZXR1cm4gZCYmKGEoZCl8fGgoZCl8fG8oZCl8fGwoZCkmJmQuZXZlcnkoZSkpfSxmPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZvKGUudGFrZSkmJm8oZS5jbG9zZSl9LG09ZnVuY3Rpb24oZSl7cmV0dXJuIG8oZSkmJmUuaGFzT3duUHJvcGVydHkoInRvU3RyaW5nIil9LGg9ZnVuY3Rpb24oZSl7cmV0dXJuIEJvb2xlYW4oZSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlfSxwPWZ1bmN0aW9uKGUpe3JldHVybiBmKGUpJiZlW3QuTVVMVElDQVNUXX19LDIzNTgyNyhlKXtlLmV4cG9ydHM9e2ljb25XcmFwOiJpY29uV3JhcC1HY3pxM2FMWSIsc2ZXYXJuaW5nSWNvbjoic2ZXYXJuaW5nSWNvbi1HY3pxM2FMWSJ9fSw2OTg1MDEoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1aVVc2YnBSMCJ9fSwxMjc5MShlKXtlLmV4cG9ydHM9e2J1YmJsZXM6ImJ1YmJsZXMtZFJBc1hWdmEiLG11bHRpTGluZToibXVsdGlMaW5lLWRSQXNYVnZhIixidWJibGU6ImJ1YmJsZS1kUkFzWFZ2YSJ9fSw4MTA3ODUoZSl7ZS5leHBvcnRzPXtidWJibGU6ImJ1YmJsZS1BVTloT3dFcyIsYW5pbWF0ZWQ6ImFuaW1hdGVkLUFVOWhPd0VzIixjb250ZW50OiJjb250ZW50LUFVOWhPd0VzIiwiYXBwZWFyYW5jZS1kZWZhdWx0IjoiYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzIixhY3RpdmU6ImFjdGl2ZS1BVTloT3dFcyIsZ3JheToiZ3JheS1BVTloT3dFcyIscmVkOiJyZWQtQVU5aE93RXMiLGJsdWU6ImJsdWUtQVU5aE93RXMiLGdyZWVuOiJncmVlbi1BVTloT3dFcyIsb3JhbmdlOiJvcmFuZ2UtQVU5aE93RXMiLHB1cnBsZToicHVycGxlLUFVOWhPd0VzIixjeWFuOiJjeWFuLUFVOWhPd0VzIixwaW5rOiJwaW5rLUFVOWhPd0VzIiwiYXBwZWFyYW5jZS10ZXh0IjoiYXBwZWFyYW5jZS10ZXh0LUFVOWhPd0VzIiwiZm9udFNpemUtcyI6ImZvbnRTaXplLXMtQVU5aE93RXMiLCJmb250U2l6ZS1tIjoiZm9udFNpemUtbS1BVTloT3dFcyIsInNpemUtbSI6InNpemUtbS1BVTloT3dFcyIsInNpemUtbCI6InNpemUtbC1BVTloT3dFcyJ9fSw5MjEwMzEoZSl7ZS5leHBvcnRzPXtzeW1ib2xMaXN0OiJzeW1ib2xMaXN0LVJveWpBbVI0In19LDg1NjQwMChlKXtlLmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLWlpcWhEY2NzIix0YWJsZXREaWFsb2c6InRhYmxldERpYWxvZy1paXFoRGNjcyIsZGVza3RvcERpYWxvZzoiZGVza3RvcERpYWxvZy1paXFoRGNjcyJ9fSw0MjgwOTcoZSl7ZS5leHBvcnRzPXtlbW9qaToiZW1vamktQnNFUkdjWjEiLGNsZWFyQnV0dG9uOiJjbGVhckJ1dHRvbi1Cc0VSR2NaMSJ9fSw0MDIyMyhlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItbXowODY2TTIiLGhvdmVyZWQ6ImhvdmVyZWQtbXowODY2TTIifX0sOTk1ODUxKGUpe2UuZXhwb3J0cz17ZW1vamlXcmFwOiJlbW9qaVdyYXAtUjJDVHBtSHIiLGVtb2ppOiJlbW9qaS1SMkNUcG1IciIsdG9vbHRpcEVtb2ppOiJ0b29sdGlwRW1vamktUjJDVHBtSHIiLHRvb2x0aXBFbW9qaVdyYXA6InRvb2x0aXBFbW9qaVdyYXAtUjJDVHBtSHIifX0sMjI4NTgxKGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tdzZsVmVfb0kiLGhvdmVyZWQ6ImhvdmVyZWQtdzZsVmVfb0kiLGRpc2FibGVkOiJkaXNhYmxlZC13NmxWZV9vSSJ9fSw1MDg3NDcoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7U1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0U6KCk9PnR9KTtjb25zdCB0PSgwLHUoNDczMDY4KS5jcmVhdGVTZXJ2aWNlRGVzY3JpcHRvcikoIlN5bWJvbExpc3RSZXBvc2l0b3J5QmFja2VuZCIpfSwyNTMyNShlLGQsdSl7InVzZSBzdHJpY3QiO3UuZChkLHtTeW1ib2xTZWFyY2hXYXRjaGxpc3RDb250ZXh0OigpPT5ufSk7dmFyIHQsYz11KDc3OTQ3NCk7IWZ1bmN0aW9uKGUpe2VbZS5BZGQ9MF09IkFkZCIsZVtlLkZpbmQ9MV09IkZpbmQiLGVbZS5SZW1vdmU9Ml09IlJlbW92ZSJ9KHR8fCh0PXt9KSk7Y29uc3Qgbj1jLmNyZWF0ZUNvbnRleHQobnVsbCl9LDgyODc0NyhlLGQsdSl7InVzZSBzdHJpY3QiO3UucihkKSx1LmQoZCx7Q29tcG9uZW50czooKT0+UmUsc2hvd0RlZmF1bHRTZWFyY2hEaWFsb2c6KCk9Pl9lLHNob3dTeW1ib2xTZWFyY2hJdGVtc0RpYWxvZzooKT0+bX0pO3ZhciB0PXUoMjI1Mjk4KSxjPXUoNzM4NDU4KSxuPXUoMjQzOTM4KSxvPXUoMjc5NDA1KSxhPXUoNzc5NDc0KSxsPXUoNjA3ODMyKSxyPXUoODYzNDQpLGk9dSg2MTM4NzApLHM9dSg1OTc2NTQpLGY9dSg1NzEzMDApO2Z1bmN0aW9uIG0oZSl7CmNvbnN0e2luaXRpYWxNb2RlOmQ9InN5bWJvbFNlYXJjaCIsYXV0b2ZvY3VzOnU9ITAsZGVmYXVsdFZhbHVlOnQsc2hvd1NwcmVhZEFjdGlvbnM6YyxzZWxlY3RTZWFyY2hPbkluaXQ6bixvblNlYXJjaENvbXBsZXRlOm8sZGlhbG9nVGl0bGU6bSxwbGFjZWhvbGRlcjpoLGZ1bGxzY3JlZW46cCxpbml0aWFsU2NyZWVuOmIsd3JhcHBlcjpnLGRpYWxvZzp2LGNvbnRlbnRJdGVtOlMsb25DbG9zZTp5LG9uT3Blbjp3LGZvb3RlcjpFLHN5bWJvbFR5cGVzOkMsc2VhcmNoSW5wdXQ6eCxlbXB0eVN0YXRlOkksaGlkZU1hcmtlZExpc3RGbGFnOkEsZGlhbG9nV2lkdGg6ej0iYXV0byIsbWFuYWdlcjpULHNob3VsZFJldHVybkZvY3VzOk0sb25TeW1ib2xGaWx0ZXJzUGFyYW1zQ2hhbmdlOmssb25FbXB0eVJlc3VsdHM6RCxjdXN0b21TZWFyY2hTeW1ib2xzOk4sZW5hYmxlT3B0aW9uc0NoYWluOkwsZGlzYWJsZVJlY2VudHM6aixvdmVycmlkZVF1ZXJ5UGFyYW1zOl8saGlkZGVuRmlsdGVySWRzOlIsc2hvd1JlY2VudHM6VyxzZWFyY2hJbml0aWF0aW9uUG9pbnQ6TyxzZWxlY3RlZFN5bWJvbFNldHRpbmdzS2V5OkYsZmlsdGVyVmFsdWVzU2V0dGluZ3NLZXk6SH09ZTtpZihyLmRpYWxvZ3NPcGVuZXJNYW5hZ2VyLmlzT3BlbmVkKCJTeW1ib2xTZWFyY2giKXx8ci5kaWFsb2dzT3BlbmVyTWFuYWdlci5pc09wZW5lZCgiQ2hhbmdlSW50ZXJ2YWxEaWFsb2ciKXx8KDAsaS5pc1NpZ25Nb2RhbE9wZW4pKCkpcmV0dXJuO2NvbnN0IFY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksUD1hLmNyZWF0ZUVsZW1lbnQobC5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6VD8/bnVsbH0sYS5jcmVhdGVFbGVtZW50KHMuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2cse29uQ2xvc2U6VSxpbml0aWFsTW9kZTpkLGRlZmF1bHRWYWx1ZTp0LHNob3dTcHJlYWRBY3Rpb25zOmMsaGlkZU1hcmtlZExpc3RGbGFnOkEsc2VsZWN0U2VhcmNoT25Jbml0Om4sb25TZWFyY2hDb21wbGV0ZTpvLGRpYWxvZ1RpdGxlOm0scGxhY2Vob2xkZXI6aCxmdWxsc2NyZWVuOnAsaW5pdGlhbFNjcmVlbjpiLHdyYXBwZXI6ZyxkaWFsb2c6dixjb250ZW50SXRlbTpTLGZvb3RlcjpFLHN5bWJvbFR5cGVzOkMsc2VhcmNoSW5wdXQ6eCxlbXB0eVN0YXRlOkksYXV0b2ZvY3VzOnUsZGlhbG9nV2lkdGg6eixzaG91bGRSZXR1cm5Gb2N1czpNLG9uU3ltYm9sRmlsdGVyc1BhcmFtc0NoYW5nZTprLG9uRW1wdHlSZXN1bHRzOkQsY3VzdG9tU2VhcmNoU3ltYm9sczpOLGVuYWJsZU9wdGlvbnNDaGFpbjpMLGRpc2FibGVSZWNlbnRzOmosb3ZlcnJpZGVRdWVyeVBhcmFtczpfLGhpZGRlbkZpbHRlcklkczpSLHNob3dSZWNlbnRzOlcsc2VhcmNoSW5pdGlhdGlvblBvaW50Ok8sc2VsZWN0ZWRTeW1ib2xTZXR0aW5nc0tleTpGLGZpbHRlclZhbHVlc1NldHRpbmdzS2V5Okh9KSksQj0oMCxmLmNyZWF0ZVJlYWN0Um9vdCkoUCxWKTtmdW5jdGlvbiBVKCl7Qi51bm1vdW50KCksci5kaWFsb2dzT3BlbmVyTWFuYWdlci5zZXRBc0Nsb3NlZCgiU3ltYm9sU2VhcmNoIikseSYmeSgpfXJldHVybiByLmRpYWxvZ3NPcGVuZXJNYW5hZ2VyLnNldEFzT3BlbmVkKCJTeW1ib2xTZWFyY2giKSx3JiZ3KCkse2Nsb3NlOlV9fXZhciBoLHAsYixnPXUoMjMyMzY0KSx2PXUoOTMwMjMxKSxTPXUoMTM4NjM4KSx5PXUoMzg2OTMxKSx3PXUoOTE0NDg3KSxFPXUubih3KSxDPXUoMzQ1MTE2KSx4PXUoODEwNzg1KTtmdW5jdGlvbiBJKGUpe2NvbnN0e3RpdGxlOmQsaXNBY3RpdmU6dSxpc0FuaW1hdGVkOnQsYWN0aXZlQ29sb3I6YyxzaXplOm49Im0iLGFwcGVhcmFuY2U6bz0iZGVmYXVsdCIsZm9udFNpemU6YT0ibSIsZ3JheVN0eWxlczpsLGNsYXNzTmFtZTpyfT1lO3JldHVybiBFKCkoeC5idWJibGUsdSYmeC5hY3RpdmUsYyYmeFtjXSxkJiYiYXBwbHktY29tbW9uLXRvb2x0aXAiLG4mJnhbYHNpemUtJHtufWBdLGEmJnhbYGZvbnRTaXplLSR7YX1gXSxvJiZ4W2BhcHBlYXJhbmNlLSR7b31gXSx0JiZ4LmFuaW1hdGVkLGwmJnguZ3JheSxyKX1mdW5jdGlvbiBBKGUpe2NvbnN0e2lkOmQsdGl0bGU6dSx0YWJJbmRleDp0LHJvbGU6Yyxjb250ZW50Q2xhc3NOYW1lOm4sY2hpbGRyZW46byxvbkNsaWNrOmwsb25Nb3VzZURvd246cixyZWZlcmVuY2U6aSxncmF5U3R5bGVzOnMsLi4uZn09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Li4uKDAsQy5maWx0ZXJBcmlhUHJvcHMpKGYpLC4uLigwLEMuZmlsdGVyRGF0YVByb3BzKShmKSxpZDpkLHRpdGxlOnUsdGFiSW5kZXg6dCxyb2xlOmMsY2xhc3NOYW1lOkkoZSksb25DbGljazpsLG9uTW91c2VEb3duOnIscmVmOml9LGEuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpFKCkoeC5jb250ZW50LG4pfSxvKSl9IWZ1bmN0aW9uKGUpe2UuTWVkaXVtPSJtIixlLkxhcmdlPSJsIn0oaHx8KGg9e30pKSxmdW5jdGlvbihlKXtlLkRlZmF1bHQ9ImRlZmF1bHQiLGUuVGV4dD0idGV4dCJ9KHB8fChwPXt9KSksZnVuY3Rpb24oZSl7ZS5TbWFsbD0icyIsZS5NZWRpdW09Im0ifShifHwoYj17fSkpO3ZhciB6PXUoMTI3OTEpO2Z1bmN0aW9uIFQoZSl7Y29uc3R7Y2xhc3NOYW1lOmQsaXRlbUNsYXNzTmFtZTp1LGl0ZW1Db250ZW50Q2xhc3NOYW1lOnQsaXRlbXM6YyxnZXRJdGVtVGl0bGU6bixnZXRJdGVtVG9vbHRpcDpvLGdldEl0ZW1LZXk6bCxjaGVja0l0ZW1Jc0FjdGl2ZTpyLGdldEl0ZW1Db2xvcjppLG9uQnViYmxlQ2xpY2s6cyxtdWx0aWxpbmU6ZixjaGlsZHJlbjptLEJ1YmJsZUNvbXBvbmVudDpoPUEscmVmZXJlbmNlOnAsZm9udFNpemU6YixncmF5U3R5bGVzOmd9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkUoKShkLHouYnViYmxlcyxmJiZ6Lm11bHRpTGluZSkscmVmOnB9LGMubWFwKCgoZSxkKT0+YS5jcmVhdGVFbGVtZW50KGgse2tleTpsP2woZSk6ZCxpZDpsP2woZSk6ZC50b1N0cmluZygpLGNsYXNzTmFtZTpFKCkoei5idWJibGUsdSksY29udGVudENsYXNzTmFtZTp0LG9uQ2xpY2s6ZnVuY3Rpb24oKXtzKGUpfSxvbk1vdXNlRG93bjpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9LAppc0FjdGl2ZTohIXImJnIoZSksYWN0aXZlQ29sb3I6aT9pKGUpOnZvaWQgMCxmb250U2l6ZTpiLHRpdGxlOm8/byhlKTp2b2lkIDAsZ3JheVN0eWxlczpnfSxuKGUpKSkpLG0pfWNvbnN0IE09bmV3IFNldChbInR5cGUiLCJzaG9ydF9uYW1lIiwiZXhjaGFuZ2UiLCJ1cGRhdGVfbW9kZSIsImxvZ28iLCJjdXJyZW5jeV9jb2RlIiwidHlwZXNwZWNzIiwicHJvX25hbWUiLCJsYW5ndWFnZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiJdKTt2YXIgaz11KDIwMTk2MSksRD11KDQ1NjcwNSksTj11KDkxOTk4NSksTD11KDkyOTQ4OCksaj11KDEzNjYzKSxfPXUoNzgzMjU0KSxSPXUoNTI4Mzk2KSxXPXUoMzQ0MTAzKSxPPXUoNjk3NDcyKSxGPXUoNjY0Mzg2KSxIPXUoNjQzOTAzKSxWPXUoMjczMzEwKSxQPXUoMTU2ODI5KSxCPXUoMTI4ODE0KTtjb25zdCBVPSgwLHUoNjIzNTExKS5sYXp5VmFsdWUpKCgoKT0+bmV3IEIuUXVvdGVTZXNzaW9uU25hcHNob3Rlcih7bmFtZToic3ltYm9sLXNlYXJjaC13YXRjaGxpc3QiLGZpZWxkczpbLi4uTV0sYXBpOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSkpKTt2YXIgRyxLPXUoMTAxNzEyKSwkPXUoNDk4NjUxKSxZPXUoNDc5MzQpLHE9dSg1NjEyMDUpLFo9dSg2MDA1MzgpLEo9dSgyMzU4MjcpO2Z1bmN0aW9uIFEoZSl7Y29uc3R7c3ltYm9sOmQsb25DbGljazpjfT1lLHthY3RpdmVTeW1ib2w6bn09KDAsai51c2VFbnN1cmVkQ29udGV4dCkocS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLFtvLGxdPSgwLGEudXNlU3RhdGUpKCgoKT0+e2NvbnN0IGU9VSgpLmdldFNuYXBzaG90U3luYyhkLE0pO3JldHVybiBudWxsPT09ZT9HLkxvYWRpbmc6ImVycm9yIj09PWUuc3RhdHVzP0cuSW52YWxpZDpHLlJlc29sdmVkfSkpO2lmKCgwLGEudXNlRWZmZWN0KSgoKCk9PntpZihvPT09Ry5Mb2FkaW5nKXtsZXQgZT0hMDtyZXR1cm4gVSgpLmdldFNuYXBzaG90KGQsTSkudGhlbigoKCk9PntlJiZsKEcuUmVzb2x2ZWQpfSkpLCgpPT5lPSExfXJldHVybigpPT57fX0pLFtdKSxvPT09Ry5Mb2FkaW5nKXJldHVybiBhLmNyZWF0ZUVsZW1lbnQoRi5TeW1ib2xTZWFyY2hEaWFsb2dDb250ZW50SXRlbSx7dGl0bGU6KDAsSC5zYWZlU2hvcnROYW1lKShkKSxkYW5nZXJvdXNEZXNjcmlwdGlvbkhUTUw6IiAiLG9uQ2xpY2s6RSxpc0FjdGl2ZTohMSxoaWRlRXhjaGFuZ2U6ITAsaGlkZU1hcmtlZExpc3RGbGFnOiEwLHNob3J0TmFtZTooMCxILnNhZmVTaG9ydE5hbWUpKGQpfSk7Y29uc3Qgcj1VKCkuZ2V0U25hcHNob3RTeW5jKGQsTSk7aWYobz09PUcuSW52YWxpZHx8bnVsbD09PXJ8fCJlcnJvciI9PT1yLnN0YXR1cylyZXR1cm4gYS5jcmVhdGVFbGVtZW50KEYuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0se3RpdGxlOigwLEguc2FmZVNob3J0TmFtZSkoZCksc2hvcnROYW1lOigwLEguc2FmZVNob3J0TmFtZSkoZCksaW52YWxpZDohMH0pO2NvbnN0IGk9bj9uPT09ci52YWx1ZXMucHJvX25hbWU6dm9pZCAwO2lmKCEoMCxZLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIikmJigoMCxLLmlzU2ZRdW90ZURhdGEpKHIpfHwoMCwkLmlzSURDRXhjaGFuZ2UpKCgwLFcuZ2V0RXhjaGFuZ2UpKHIuc3ltYm9sbmFtZSkpKSlyZXR1cm4gYS5jcmVhdGVFbGVtZW50KEYuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0se3RpdGxlOmEuY3JlYXRlRWxlbWVudChYLG51bGwsKDAsSC5zYWZlU2hvcnROYW1lKShkKSksZGFuZ2Vyb3VzRGVzY3JpcHRpb25IVE1MOl8udChudWxsLHZvaWQgMCx1KDc0NDg3MCkpLnRvVXBwZXJDYXNlKCksb25DbGljazpFLGlzQWN0aXZlOmksaGlkZUV4Y2hhbmdlOiEwLGhpZGVNYXJrZWRMaXN0RmxhZzohMCxzaG9ydE5hbWU6KDAsSC5zYWZlU2hvcnROYW1lKShkKX0pO2NvbnN0IHM9ci52YWx1ZXMudXBkYXRlX21vZGUse3R5cGU6Zix0eXBlc3BlY3M6bSxzaG9ydF9uYW1lOmgsZXhjaGFuZ2U6cCxsb2dvOmJ9PXIudmFsdWVzLGc9KDAsUi5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKHIudmFsdWVzKSx2PSgwLFcuZ2V0RXhjaGFuZ2UpKGQpLFM9KDAsTy5nZXRFeGNoYW5nZXMpKCkuZmluZCgoZT0+ZS52YWx1ZT09PXYpKSx3PSgwLFAuaGFzQ3J5cHRvVHlwZXNwZWMpKG0/P1tdKT8iY3J5cHRvIjpmO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoRi5TeW1ib2xTZWFyY2hEaWFsb2dDb250ZW50SXRlbSx7dGl0bGU6aCxmdWxsU3ltYm9sTmFtZTpkLGlzRW9kOiJlbmRvZmRheSI9PT1zJiYiZWNvbm9taWMiIT09ZixkYW5nZXJvdXNEZXNjcmlwdGlvbkhUTUw6ZyxvbkNsaWNrOkUsaXNBY3RpdmU6aSxzb3VyY2VMb2dvczpbe2NvdW50cnk6Uz8uY291bnRyeSxwcm92aWRlcklkOlM/LnByb3ZpZGVySWR9XSxleGNoYW5nZU5hbWU6cCxtYXJrZXRUeXBlOncsaGlkZU1hcmtlZExpc3RGbGFnOiEwLGxvZ29EYXRhOmIsdHlwZTpmLHNob3J0TmFtZTooMCxILnNhZmVTaG9ydE5hbWUpKGQpfSk7ZnVuY3Rpb24gRSgpeygwLHkudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIk1vYmlsZSBTUyIsIlNlbGVjdCBzeW1ib2wiKSxvIT09Ry5JbnZhbGlkJiZ0Lmxpbmtpbmcuc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKGQsInN5bWJvbCBzZWFyY2giKSxjJiZjKCl9fWZ1bmN0aW9uIFgoZSl7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkouaWNvbldyYXB9LGUuY2hpbGRyZW4sYS5jcmVhdGVFbGVtZW50KFYuSWNvbix7aWNvbjpaLGNsYXNzTmFtZTpKLnNmV2FybmluZ0ljb259KSl9IWZ1bmN0aW9uKGUpe2UuTG9hZGluZz0ibG9hZGluZyIsZS5SZXNvbHZlZD0icmVzb2x2ZWQiLGUuSW52YWxpZD0iaW52YWxpZCJ9KEd8fChHPXt9KSk7dmFyIGVlPXUoNjk4NTAxKTtmdW5jdGlvbiBkZShlKXtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZWUuY29udGFpbmVyfSxlLmNoaWxkcmVuKX12YXIgdWU9dSg3MzI1MzMpLHRlPXUoMzY2MjYyKSxjZT11KDQyOTk5MiksbmU9dSg3Nzk5MzkpLG9lPXUoNzYwMzkwKSxhZT11KDUxMDU5OCksbGU9dSg5MjEwMzEpCjtmdW5jdGlvbiByZShlKXtjb25zdFtkLHVdPSgwLGEudXNlU3RhdGUpKFtdKSx7c2VhcmNoUmVmOnQsb25DbG9zZTpjfT0oMCxqLnVzZUVuc3VyZWRDb250ZXh0KShxLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCksW24sb109KDAsYS51c2VTdGF0ZSkobnVsbCksW2wscl09KDAsYS51c2VTdGF0ZSkoW10pLGk9KDAsYS51c2VSZWYpKG51bGwpLHM9KDAsYS51c2VSZWYpKG51bGwpLGY9KDAsYS51c2VNZW1vKSgoKCk9PmQubWFwKChlPT4oMCxMLmlzU2VwYXJhdG9ySXRlbSkoZSk/YS5jcmVhdGVFbGVtZW50KGRlLHtrZXk6ZSxzeW1ib2w6ZSxjaGlsZHJlbjooMCxOLnNlcGFyYXRvclZhbFRvRGlzcGxheVZhbCkoZSl9KTphLmNyZWF0ZUVsZW1lbnQoUSx7a2V5OmUsc3ltYm9sOmUsb25DbGljazpjfSkpKSksW2RdKSxtPSgwLGEudXNlQ2FsbGJhY2spKChlPT4oMCxMLmlzU2VwYXJhdG9ySXRlbSkoZFtlXSk/MzY6dWUuUk9XX0hFSUdIVCksW2RdKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKCgpPT57bGV0IGUsZD0hMDtyZXR1cm4oMCxELmluaXRTeW1ib2xMaXN0U2VydmljZSkoKS50aGVuKCh1PT57aWYoIWQpcmV0dXJuO2NvbnN0e3N0b3JlOnR9PXUsYz10LmdldFN0YXRlKCksbj0oMCx0ZS5nZXRHbG9iYWxBY3RpdmVJRCkoYyk7KDAsdGUuZ2V0SXNSZWFkeUN1c3RvbUxpc3RzKShjKSYmbnVsbCE9PW4/cChjKTooZT10LnN1YnNjcmliZSgoKCk9PntpZighZClyZXR1cm47Y29uc3QgdT10LmdldFN0YXRlKCksYz0oMCx0ZS5nZXRHbG9iYWxBY3RpdmVJRCkodSk7KDAsdGUuZ2V0SXNSZWFkeUN1c3RvbUxpc3RzKSh1KSYmbnVsbCE9PWMmJigoMCxTLmVuc3VyZURlZmluZWQpKGUpKCkscCh1KSl9KSksdC5kaXNwYXRjaCgoMCxuZS5nZXRDdXN0b21XYXRjaGxpc3RzVGh1bmspKG51bGwpKSx0LmRpc3BhdGNoKCgwLG5lLmdldEFjdGl2ZVdhdGNobGlzdFRodW5rKShudWxsKSkpfSkpLCgpPT57ZD0hMSxlJiZlKCl9fSksW10pLGEuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsYS5jcmVhdGVFbGVtZW50KFQse2l0ZW1DbGFzc05hbWU6bGUuc3ltYm9sTGlzdCxpdGVtczpsLGdldEl0ZW1UaXRsZTplPT5hLmNyZWF0ZUVsZW1lbnQoYWUuTGVhZGluZ0Vtb2ppVGV4dCx7dGV4dDooMCxOLmdldFRyYW5zbGF0ZWRMaXN0VGl0bGUpKGUpfSksZ2V0SXRlbUtleTplPT5lLmlkLGNoZWNrSXRlbUlzQWN0aXZlOmU9PmUuaWQ9PT1uLGdldEl0ZW1Db2xvcjplPT4iY3VzdG9tIj09PWUudHlwZT9udWxsOmUuY29sb3Isb25CdWJibGVDbGljazpmdW5jdGlvbihlKXtoKGUuaWQsZS5zeW1ib2xzKSwoMCx5LnRyYWNrRXZlbnQpKCJXYXRjaGxpc3QiLCJNb2JpbGUgU1MiLCJTZWxlY3QgbGlzdCIpfSxncmF5U3R5bGVzOiEwfSksYS5jcmVhdGVFbGVtZW50KGsuU3ltYm9sU2VhcmNoRmVlZCx7dmlydHVhbExpc3RLZXk6bnx8dm9pZCAwLGxpc3RXcmFwUmVmOnMsbGlzdFJlZjppLG9uVG91Y2hNb3ZlOmZ1bmN0aW9uKCl7dC5jdXJyZW50Py5ibHVyKCl9LGl0ZW1zOmYsZ2V0SXRlbVNpemU6bX0pKTtmdW5jdGlvbiBoKGUsZCl7Y29uc3QgdD1kLmZpbHRlcigoZT0+ISgwLEwuaXNTZXBhcmF0b3JJdGVtKShlKSkpO1UoKS5nZXRTbmFwc2hvdHNGb3JBbGwodCxNKSxvKGUpLHUoZCksaS5jdXJyZW50Py5zY3JvbGxUbygwKX1mdW5jdGlvbiBwKGUpe2NvbnN0IGQ9KDAsdGUuZ2V0R2xvYmFsQWN0aXZlSUQpKGUpO2lmKCFkKXJldHVybjtjb25zdCB1PVsuLi4oMCxjZS5nZXRNYXJrZWRMaXN0cykoZSksLi4uKDAsdGUuZ2V0Q3VzdG9tTGlzdHMpKGUpXS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUmJmUuc3ltYm9scy5sZW5ndGg+MCkpLnNvcnQoZnVuY3Rpb24oZSl7cmV0dXJuKGQsdSk9PigwLG9lLmlzRGVsZXRlZFN5bWJvbHNMaXN0KShkLmlkKSYmZC5pZCE9PWU/MTooMCxvZS5pc0RlbGV0ZWRTeW1ib2xzTGlzdCkoZC5pZCkmJnUuaWQhPT1lfHxkLmlkPT09ZT8tMTp1LmlkPT09ZT8xOiJjb2xvcmVkIj09PWQudHlwZSYmImNvbG9yZWQiIT09dS50eXBlPy0xOiJjb2xvcmVkIj09PXUudHlwZSYmImNvbG9yZWQiIT09ZC50eXBlPzE6ImN1c3RvbSI9PT1kLnR5cGUmJiJjdXN0b20iPT09dS50eXBlP2QubmFtZS5sb2NhbGVDb21wYXJlKHUubmFtZSk6MH0oZCkpO2lmKHIodSksIXUubGVuZ3RoKXJldHVybiB2b2lkIHQuY3VycmVudD8uZm9jdXMoKTtjb25zdCBjPXUuZmluZCgoZT0+ZS5pZD09PWQpKSxuPXZvaWQgMCE9PWM/Yy5zeW1ib2xzOltdO2lmKG4ubGVuZ3RoKWgoZCxuKTtlbHNle2NvbnN0IGU9dS5maW5kKChlPT5lLnN5bWJvbHMubGVuZ3RoKSk7ZSYmaChlLmlkLGUuc3ltYm9scyl9fX12YXIgaWU9dSgzNjY1OTcpLHNlPXUoNzIwNjc3KSxmZT11KDUwNDA3KTtmdW5jdGlvbiBtZShlKXtjb25zdHttb2RlOmQsc2V0TW9kZTp1LHNlYXJjaFJlZjp0LHNlYXJjaFNwcmVhZHM6YyxzZWxlY3RlZFN5bWJvbFR5cGU6bixzZWxlY3RlZFNlYXJjaFNvdXJjZTpvLGNhY2hlZElucHV0VmFsdWU6bH09KDAsai51c2VFbnN1cmVkQ29udGV4dCkocS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLHtyZXNldFJlY29tbWVuZHM6cix1cGRhdGVSZWNvbW1lbmRzOmksbGlzdFJlZjpzLHNlYXJjaFRva2VuOmYsaXNCcm9rZXJDaGVja2VkOm0saXNBY2NvdW50RmlsdGVyQ2hlY2tlZDpofT0oMCxqLnVzZUVuc3VyZWRDb250ZXh0KShmZS5TeW1ib2xTZWFyY2hEaWFsb2dCb2R5Q29udGV4dCk7cmV0dXJuKDAsYS51c2VFZmZlY3QpKCgoKT0+e3ZvaWQgMCE9PWYmJnImJmkmJigiIiE9PWYudHJpbSgpfHxjP2koZixuLG8pOnIoKSxiKCkpfSksW2YsYyxuLG8sbSxoXSksKDAsdi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/YS5jcmVhdGVFbGVtZW50KGllLkRpYWxvZ1NlYXJjaCx7Li4uZSxjaGlsZHJlbjp2b2lkIDAsb25DYW5jZWw6InN5bWJvbFNlYXJjaCI9PT1kP3A6dm9pZCAwfSk6YS5jcmVhdGVFbGVtZW50KHNlLlNlYXJjaElucHV0LHsuLi5lLGVuZFNsb3Q6dm9pZCAwLG9uUmVzZXQ6cCxzaG93Q2xlYXJBbHdheXM6InN5bWJvbFNlYXJjaCI9PT1kfSk7ZnVuY3Rpb24gcCgpe2Uub25SZXNldD8uKCksCiJzeW1ib2xTZWFyY2giPT09ZCYmdC5jdXJyZW50JiZyJiYodC5jdXJyZW50LmJsdXIoKSx1KCJ3YXRjaGxpc3QiKSxyKCksYigpLGwmJmwuY3VycmVudCYmKGwuY3VycmVudD0iIikpfWZ1bmN0aW9uIGIoKXtzPy5jdXJyZW50Py5zY3JvbGxUbygwKX19dmFyIGhlPXUoNzE3MjYzKTtmdW5jdGlvbiBwZShlKXtjb25zdHttb2RlOmQsc3ltYm9sU2VhcmNoQ29udGVudDp0fT0oMCxqLnVzZUVuc3VyZWRDb250ZXh0KShxLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkse2VtcHR5VGV4dENsYXNzTmFtZTpjLHN5bWJvbFNlYXJjaFN0YXRlOm59PSgwLGoudXNlRW5zdXJlZENvbnRleHQpKGZlLlN5bWJvbFNlYXJjaERpYWxvZ0JvZHlDb250ZXh0KTtyZXR1cm4icmVzZXRGaWx0ZXIiPT09bnx8InJlc2V0VGFiRmlsdGVyIj09PW4/YS5jcmVhdGVFbGVtZW50KGhlLlN5bWJvbFNlYXJjaE5vUmVzdWx0LHsuLi5lLGNsYXNzTmFtZTp2b2lkIDB9KTphLmNyZWF0ZUVsZW1lbnQoaGUuU3ltYm9sU2VhcmNoTm9SZXN1bHQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjfSxmdW5jdGlvbigpe2lmKCJleGNoYW5nZSI9PT1kKXJldHVybiBfLnQobnVsbCx2b2lkIDAsdSg0NzIyOTkpKTtyZXR1cm4iIiE9PXQudG9rZW4udHJpbSgpP18udChudWxsLHZvaWQgMCx1KDQxNzc3KSk6Xy50KG51bGwsdm9pZCAwLHUoMTkyOTEwKSl9KCkpKX12YXIgYmUsZ2UsdmUsU2U9dSgzNjIyMzkpO2FzeW5jIGZ1bmN0aW9uIHllKGUpe2NvbnN0e3NlYXJjaFR5cGU6ZCxzZWFyY2hSZXN1bHQ6dT0iIixpbnB1dFZhbHVlOnQ9IiJ9PWUsYz1hd2FpdCgwLFNlLmdldFRyYWNrZXIpKCk7YyYmYy50cmFja1NlYXJjaFRvb2xiYXIoZCx0LHUsZnVuY3Rpb24oZSl7Y29uc3R7ZmlsdGVyUGFyYW1zOmQsYWN0aW9uOnUsbnVtYmVySW5MaXN0OnQsdGFyZ2V0OmMsZmVhdHVyZWRTeW1ib2xOYW1lOm4sc2VhcmNoUmVzdWx0Om99PWUsYT17YWN0aW9uOnV9O3ZvaWQgMCE9PWMmJihhLnRhcmdldD1jKTt2b2lkIDAhPT1uJiYoYS5zaG93X2ZlYXR1cmVkX3N5bWJvbD1uLGEuc2VsZWN0X2ZlYXR1cmVkX3N5bWJvbD1uPT09bz9uOm51bGwpO3ZvaWQgMCE9PXQmJihhLnNlbGVjdGVkX2lkeF9vYmplY3Q9dCk7ZC5yZXN1bHRfbGlzdD8ubGVuZ3RoJiYoYS5udW1iZXJfb2ZfcmVzdWx0X2xpc3Q9ZC5yZXN1bHRfbGlzdC5sZW5ndGgpO3JldHVybiBPYmplY3Qua2V5cyhkKS5mb3JFYWNoKChlPT57InJlc3VsdF9saXN0Ij09PWU/ZFtlXT8ubGVuZ3RoJiYoYVtlXT1kW2VdKTphW2VdPWRbZV0/ZFtlXToiQWxsIn0pKSxKU09OLnN0cmluZ2lmeShhKX0oZSkpfSFmdW5jdGlvbihlKXtlLkNsaWNrPSJjbGljayIsZS5FbnRlcj0iZW50ZXIiLGUuRW1wdHk9ImVtcHR5X3Jlc3VsdCJ9KGJlfHwoYmU9e30pKSxmdW5jdGlvbihlKXtlLlJlc3VsdExpc3Q9InJlc3VsdF9saXN0IixlLkNvdW50cnk9ImNvdW50cnkiLGUuRXhjaGFuZ2U9ImV4Y2hhbmdlIn0oZ2V8fChnZT17fSkpLGZ1bmN0aW9uKGUpe2UuRW1wdHlSZXN1bHRNZW51PSJlbXB0eV9yZXN1bHRfX21lbnUiLGUuRW1wdHlSZXN1bHRDaGFydD0iZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9KHZlfHwodmU9e30pKTt2YXIgd2U9dSgyNTMyNSksRWU9dSg0OTI5NzgpLENlPXUoNTU4OTc5KSx4ZT11KDU4Mzg0MiksSWU9dSgzODQxNTQpLEFlPXUoMzg0NDU4KTtmdW5jdGlvbiB6ZShlKXtjb25zdHtpc1NlbGVjdGVkOmQsZXhpc3RJbldhdGNobGlzdDp0LGZpbmRJbldhdGNobGlzdDpjLGFkZFRvV2F0Y2hsaXN0Om4scmVtb3ZlRnJvbVdhdGNobGlzdDpvfT1lLHtzZWxlY3RlZEFjdGlvbjpsfT0oMCxTLmVuc3VyZU5vdE51bGwpKCgwLGEudXNlQ29udGV4dCkod2UuU3ltYm9sU2VhcmNoV2F0Y2hsaXN0Q29udGV4dCkpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLHQ/YS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoRWUuTGlzdEl0ZW1CdXR0b24se2NsYXNzTmFtZTpFKCkoQWUuYWN0aW9uLEFlLnJlbW92ZUFjdGlvbixkJiYyPT09bCYmQWUuc2VsZWN0ZWQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksb25DbGljazpvLGljb246Q2UsdGl0bGU6Xy50KG51bGwsdm9pZCAwLHUoOTY4MDQ3KSl9KSxhLmNyZWF0ZUVsZW1lbnQoRWUuTGlzdEl0ZW1CdXR0b24se2NsYXNzTmFtZTpFKCkoQWUuYWN0aW9uLEFlLnRhcmdldEFjdGlvbixkJiYxPT09bCYmQWUuc2VsZWN0ZWQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksb25DbGljazpjLGljb246SWUsdGl0bGU6Xy50KG51bGwsdm9pZCAwLHUoNzY2NjIyKSl9KSk6YS5jcmVhdGVFbGVtZW50KEVlLkxpc3RJdGVtQnV0dG9uLHtjbGFzc05hbWU6RSgpKEFlLmFjdGlvbixBZS5hZGRBY3Rpb24sZCYmMD09PWwmJkFlLnNlbGVjdGVkLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLG9uQ2xpY2s6bixpY29uOnhlLHRpdGxlOl8udChudWxsLHZvaWQgMCx1KDQxODIzOCkpfSkpfXZhciBUZT11KDIzNTcyNCksTWU9dSg1MTk1MTUpLGtlPXUoNjU0NjM2KTt2YXIgRGU9dSg5NjQzNjEpLE5lPXUoOTgzNjE2KSxMZT11KDg1NjQwMCk7Y29uc3QgamU9KDAsdSgxNTM1ODIpLmlzUGxhdGZvcm1Nb2JpbGUpKCk7ZnVuY3Rpb24gX2UoZSl7Y29uc3QgZD1uZXcgZy5XYXRjaGVkVmFsdWUoe30pLHU9KDAsby5nZXRTeW1ib2xTZWFyY2hDb21wbGV0ZU92ZXJyaWRlRnVuY3Rpb24pKCkse2RlZmF1bHRWYWx1ZTphLHNob3dTcHJlYWRBY3Rpb25zOmwsc291cmNlOnIsb25TZWFyY2hDb21wbGV0ZTppLHRyYWNrUmVzdWx0c09wdGlvbnM6cyxzZXRTeW1ib2w6Zj0oZSxkKT0+dC5saW5raW5nLnNldFN5bWJvbEFuZExvZ0luaXRpYXRvcihlLnN5bWJvbCxkKSxzZWFyY2hUeXBlOmgsLi4ucH09ZSxiPXsuLi5wLHNob3dTcHJlYWRBY3Rpb25zOmw/PygwLG4uY2FuU2hvd1NwcmVhZEFjdGlvbnMpKCksb25TeW1ib2xGaWx0ZXJzUGFyYW1zQ2hhbmdlOnM/LnRyYWNrUmVzdWx0cz9lPT5kLnNldFZhbHVlKGUpOnZvaWQgMCxvblNlYXJjaENvbXBsZXRlOihlLHQpPT57Y29uc3QgYz10Py5zeW1ib2xUeXBlCjt1KGVbMF0uc3ltYm9sLGVbMF0ucmVzdWx0KS50aGVuKChlPT57ZihlLCJzeW1ib2wgc2VhcmNoIiksaT8uKGUpLCgwLHkudHJhY2tFdmVudCkoIk5ldyBTUyIsIiI9PT1jPyJBbGwiOigwLFMuZW5zdXJlRGVmaW5lZCkoYyksIkNoYXJ0IiksciYmYSE9PWUuc3ltYm9sJiYoMCxTZS5nZXRUcmFja2VyKSgpLnRoZW4oKGQ9PntudWxsIT09ZCYmZC50cmFja0NoYW5nZVN5bWJvbChlLnN5bWJvbCxyKX0pKSwhcz8udHJhY2tSZXN1bHRzfHx0Py5pc1NwcmVhZHx8Im9wdGlvbnMiPT09YyYmcC5lbmFibGVPcHRpb25zQ2hhaW58fHllKHsuLi50LGZpbHRlclBhcmFtczpkLnZhbHVlKCksc2VhcmNoUmVzdWx0OmUuc3ltYm9sLHNlYXJjaFR5cGU6aCxhY3Rpb246dD8uaXNLZXlib2FyZEV2ZW50PyJlbnRlciI6ImNsaWNrIn0pfSkpfSxvbkVtcHR5UmVzdWx0czpzPy50cmFja1Jlc3VsdHM/ZnVuY3Rpb24oZSl7eWUoe2lucHV0VmFsdWU6ZSxmaWx0ZXJQYXJhbXM6ZC52YWx1ZSgpLHNlYXJjaFR5cGU6KDAsUy5lbnN1cmVEZWZpbmVkKShzKS5lbXB0eVNlYXJjaFR5cGUsYWN0aW9uOiJlbXB0eV9yZXN1bHQifSl9OnZvaWQgMH07amUmJiEoMCx2LmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9tKHsuLi5iLGluaXRpYWxNb2RlOiJ3YXRjaGxpc3QiLGluaXRpYWxTY3JlZW46cmUsc2VhcmNoSW5wdXQ6bWUsZW1wdHlTdGF0ZTpwZSxmdWxsc2NyZWVuOiEwLGRpYWxvZ1dpZHRoOiJmaXhlZCIsYXV0b2ZvY3VzOiFjLm1vYmlsZXRvdWNofSk6bSh7Li4uYixkZWZhdWx0VmFsdWU6YX0pfWNvbnN0IFJlPXtTeW1ib2xTZWFyY2hXYXRjaGxpc3REaWFsb2dDb250ZW50SXRlbTpmdW5jdGlvbihlKXtjb25zdHthZGRUb1dhdGNobGlzdDpkLHJlbW92ZUZyb21XYXRjaGxpc3Q6dSxmaW5kSW5XYXRjaGxpc3Q6dCxleGlzdEluV2F0Y2hsaXN0Om4saXNTZWxlY3RlZDpvLGZ1bGxTeW1ib2xOYW1lOmwsLi4ucn09ZSx7b25DbG9zZTppLHNlYXJjaFJlZjpzLHNlYXJjaFNwcmVhZHM6Zn09KDAsUy5lbnN1cmVOb3ROdWxsKSgoMCxhLnVzZUNvbnRleHQpKHEuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2dDb250ZXh0KSkse3NldFNlbGVjdGVkQWN0aW9uOm0saXNTcHJlYWRPck11bHRpcGxlTW9kZTpoLGFkZEFmdGVyOnAsY2xlYXJUYXJnZXRTeW1ib2w6YixoaWdobGlnaHRlZDpnLGhpZ2hsaWdodDp2fT0oMCxTLmVuc3VyZU5vdE51bGwpKCgwLGEudXNlQ29udGV4dCkod2UuU3ltYm9sU2VhcmNoV2F0Y2hsaXN0Q29udGV4dCkpLHc9aChmLHMpO3JldHVybigwLGEudXNlTGF5b3V0RWZmZWN0KSgoKCk9PntvJiZtKHZvaWQgMCE9PW4/bj8yOjA6bnVsbCl9KSxbbyxuXSksYS5jcmVhdGVFbGVtZW50KEYuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0sey4uLnIsZnVsbFN5bWJvbE5hbWU6bCxvbkNsaWNrOnc/ZS5vbkNsaWNrOmZ1bmN0aW9uKHUpe2lmKHZvaWQgMD09PWwpcmV0dXJuO2lmKHZvaWQgMD09PW4pcmV0dXJuIHZvaWQoMCxTLmVuc3VyZURlZmluZWQpKGUub25DbGljaykodSk7bj8oeCgpLEMoIndhdGNobGlzdCByZW1vdmUgY2xpY2siLHUpLHA9PT1sJiZiKCkpOigoMCxrZS5ydW5PclNpZ25JbldpdGhQcm9tbykoIndhdGNoTGlzdCIse3NvdXJjZToiYWRkIHN5bWJvbCB0byB3YXRjaGxpc3QifSwoKCk9PntkKE1lLldBVENITElTVF9XSURHRVRfSUQsW2xdLHApLGUuaWQmJnYoZS5pZCl9KSksQygid2F0Y2hsaXN0IGFkZCBjbGljayIsdSkpO0UodSl9LGlzSGlnaGxpZ2h0ZWQ6Zz09PWUuaWQsaXNTZWxlY3RlZDpvLGFjdGlvbnM6dm9pZCAwPT09bnx8dz92b2lkIDA6YS5jcmVhdGVFbGVtZW50KHplLHtpc1NlbGVjdGVkOm8sZXhpc3RJbldhdGNobGlzdDpuLGFkZFRvV2F0Y2hsaXN0OmZ1bmN0aW9uKHUpe2lmKHUuc3RvcFByb3BhZ2F0aW9uKCksdm9pZCAwPT09bClyZXR1cm47KDAsa2UucnVuT3JTaWduSW5XaXRoUHJvbW8pKCJ3YXRjaExpc3QiLHtzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0sKCgpPT57ZChNZS5XQVRDSExJU1RfV0lER0VUX0lELFtsXSxwKSxlLmlkJiZ2KGUuaWQpfSkpLEUodSksQygid2F0Y2hsaXN0IGFkZCBidXR0b24iLHUpfSxyZW1vdmVGcm9tV2F0Y2hsaXN0OmZ1bmN0aW9uKGUpe2lmKGUuc3RvcFByb3BhZ2F0aW9uKCksdm9pZCAwPT09bClyZXR1cm47eCgpLEUoZSksQygid2F0Y2hsaXN0IHJlbW92ZSBidXR0b24iLGUpLHA9PT1sJiZiKCl9LGZpbmRJbldhdGNobGlzdDpmdW5jdGlvbihlKXtpZihlLnN0b3BQcm9wYWdhdGlvbigpLHZvaWQgMD09PWwpcmV0dXJuO3QoTWUuV0FUQ0hMSVNUX1dJREdFVF9JRCxsKSxpKCksQygid2F0Y2hsaXN0IGdvdG8gYnV0dG9uIil9fSl9KTtmdW5jdGlvbiBFKGUpe2UmJigwLFRlLm1vZGlmaWVyc0Zyb21FdmVudCkoZSk9PT1UZS5Nb2RpZmllcnMuU2hpZnQ/aSgpOmMubW9iaWxldG91Y2h8fHMuY3VycmVudD8uc2VsZWN0KCl9ZnVuY3Rpb24gQyhlLGQpe2xldCB1PWU7ZCYmKDAsVGUubW9kaWZpZXJzRnJvbUV2ZW50KShkKT09PVRlLk1vZGlmaWVycy5TaGlmdCYmKHUrPSIgc2hpZnQiKSwoMCx5LnRyYWNrRXZlbnQpKCJHVUkiLCJTUyIsdSl9ZnVuY3Rpb24geCgpe3ZvaWQgMCE9PWwmJnUoTWUuV0FUQ0hMSVNUX1dJREdFVF9JRCxbbF0sdm9pZCAwLCEwKX19LFN5bWJvbFNlYXJjaFdhdGNobGlzdERpYWxvZzpmdW5jdGlvbihlKXtjb25zdHthZGRUb1dhdGNobGlzdDpkLHJlbW92ZUZyb21XYXRjaGxpc3Q6dSxmaW5kSW5XYXRjaGxpc3Q6dCwuLi5jfT1lLHtmZWVkSXRlbXM6bixzZWFyY2hSZWY6byxzZWFyY2hTcHJlYWRzOmwsc2VsZWN0ZWRJbmRleDpyLG9uU3VibWl0Omksb3BlbmVkSXRlbXM6cyxzZXRTZWxlY3RlZEluZGV4OmYsb25DbG9zZTptLGlzTW9iaWxlOmgsaXNUYWJsZXQ6cCxtb2RlOmIsc2V0TW9kZTpnLHN5bWJvbFNlYXJjaFN0YXRlOnYsdG9nZ2xlRXhwYW5kOnl9PSgwLFMuZW5zdXJlTm90TnVsbCkoKDAsCmEudXNlQ29udGV4dCkocS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpKSx7c2VsZWN0ZWRBY3Rpb246dyxzZXRTZWxlY3RlZEFjdGlvbjpDLGlzU3ByZWFkT3JNdWx0aXBsZU1vZGU6eCxhZGRBZnRlcjpJLGNsZWFyVGFyZ2V0U3ltYm9sOkEsaGlnaGxpZ2h0Onp9PSgwLFMuZW5zdXJlTm90TnVsbCkoKDAsYS51c2VDb250ZXh0KSh3ZS5TeW1ib2xTZWFyY2hXYXRjaGxpc3RDb250ZXh0KSksVD1uW3JdLE09ImV4Y2hhbmdlIj09PWI7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChEZS5BZGFwdGl2ZVBvcHVwRGlhbG9nLHsuLi5jLGNsYXNzTmFtZTpFKCkoTGUuZGlhbG9nLCFoJiYocD9MZS50YWJsZXREaWFsb2c6TGUuZGVza3RvcERpYWxvZykpLGRhdGFOYW1lOiJ3YXRjaGxpc3Qtc3ltYm9sLXNlYXJjaC1kaWFsb2ciLG9uS2V5RG93bjpmdW5jdGlvbihlKXtpZihlLnRhcmdldCYmZS50YXJnZXQhPT1vLmN1cnJlbnQpcmV0dXJuO2NvbnN0IGQ9KDAsVGUuaGFzaEZyb21FdmVudCkoZSk7c3dpdGNoKGQpe2Nhc2UgMTM6cmV0dXJuIHgobCxvKT92b2lkIGkoITApOihUP2soITEpOmkoITEpLHZvaWQgby5jdXJyZW50Py5zZWxlY3QoKSk7Y2FzZSAxMytUZS5Nb2RpZmllcnMuU2hpZnQ6cmV0dXJuIHgobCxvKT92b2lkIGkoITApOnZvaWQoVD9rKCEwKTppKCEwKSk7Y2FzZSAyNzpyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLE0/dm9pZCBnKCJzeW1ib2xTZWFyY2giKTp2b2lkIG0oKX1zd2l0Y2goKDAsTmUubWFwS2V5Q29kZVRvRGlyZWN0aW9uKShkKSl7Y2FzZSJibG9ja1ByZXYiOmlmKGUucHJldmVudERlZmF1bHQoKSwwPT09cnx8Imdvb2QiIT09dilyZXR1cm47aWYoLTE9PT1yKXJldHVybiB2b2lkIGYoMCk7ZihyLTEpO2JyZWFrO2Nhc2UiYmxvY2tOZXh0IjppZihlLnByZXZlbnREZWZhdWx0KCkscj09PW4ubGVuZ3RoLTF8fCJnb29kIiE9PXYpcmV0dXJuO2YocisxKTticmVhaztjYXNlImlubGluZVByZXYiOmlmKCFUKXJldHVybjtpZihULmlkJiZULm9uRXhwYW5kQ2xpY2smJnMuaGFzKFQuaWQpJiYoMj09PXd8fDA9PT13KSlyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgeShULmlkKTsxPT09dyYmKGUucHJldmVudERlZmF1bHQoKSxDKDIpKTticmVhaztjYXNlImlubGluZU5leHQiOmlmKCFUKXJldHVybjtpZihULmlkJiZULm9uRXhwYW5kQ2xpY2smJiFzLmhhcyhULmlkKSYmKDE9PT13fHwwPT09dykpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx2b2lkIHkoVC5pZCk7Mj09PXcmJihlLnByZXZlbnREZWZhdWx0KCksQygxKSl9fSxiYWNrZHJvcDohMCxkcmFnZ2FibGU6ITF9KTtmdW5jdGlvbiBrKGUpe2lmKCFUfHx2b2lkIDA9PT1ULmZ1bGxTeW1ib2xOYW1lKXJldHVybjtjb25zdHtmdWxsU3ltYm9sTmFtZTpjfT1UO3N3aXRjaCh3KXtjYXNlIDA6KDAsa2UucnVuT3JTaWduSW5XaXRoUHJvbW8pKCJ3YXRjaExpc3QiLHtzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0sKCgpPT57ZChNZS5XQVRDSExJU1RfV0lER0VUX0lELFtjXSxJKSxULmlkJiZ6KFQuaWQpfSkpO2JyZWFrO2Nhc2UgMTpyZXR1cm4gdChNZS5XQVRDSExJU1RfV0lER0VUX0lELGMpLHZvaWQgbSgpO2Nhc2UgMjp1KE1lLldBVENITElTVF9XSURHRVRfSUQsW2NdKSxJPT09YyYmQSgpfWUmJm0oKX19fX0sNDI3NzczKGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0VNUFRZX0VNT0pJOigpPT50fSk7Y29uc3QgdD0iIn0sMzE1MTU0KGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse2Vtb2ppR3JvdXBzOigpPT5OLGlzU3VwcG9ydGVkRW1vamk6KCk9Pk0sbG9jYWxlQ29tcGFyZUVtb2ppVGl0bGVzOigpPT5ELHJlbW92ZVVuYXZhaWxhYmxlRW1vamk6KCk9PlQsc2VwYXJhdGVFbW9qaTooKT0+a30pO3ZhciB0PXUoNzc5NDc0KSxjPXUoMTg1MjcxKSxuPXUoNjYzMDQ2KSxvPXUoNjQxNTkzKSxhPXUoMTM4NjM4KSxsPXUoMjczNzMyKSxyPXUoODE0NjcwKSxpPXUoNjIwNzgxKSxzPXUoMTYxMTc3KSxmPXUoMTg1NjA1KSxtPXUoMjAyNTExKSxoPXUoNzUwNzY5KSxwPXUoNjk0NTMyKSxiPXUoOTAwMzExKSxnPXUoNTY5Nzg1KQo7Y29uc3Qgdj1bIvCfmIAiLCLwn5iDIiwi8J+YhCIsIvCfmIEiLCLwn5iGIiwi8J+YhSIsIvCfmIIiLCLwn6SjIiwi4pi677iPIiwi8J+YiiIsIvCfmIciLCLwn5mCIiwi8J+ZgyIsIvCfmIkiLCLwn5iMIiwi8J+YjSIsIvCfpbAiLCLwn5iYIiwi8J+YlyIsIvCfmJkiLCLwn5iaIiwi8J+YiyIsIvCfmJsiLCLwn5idIiwi8J+YnCIsIvCfpKoiLCLwn6SoIiwi8J+nkCIsIvCfpJMiLCLwn5iOIiwi8J+kqSIsIvCfpbMiLCLwn5iPIiwi8J+YkiIsIvCfmJ4iLCLwn5iUIiwi8J+YnyIsIvCfmJUiLCLwn5mBIiwi4pi577iPIiwi8J+YoyIsIvCfmJYiLCLwn5irIiwi8J+YqSIsIvCfpboiLCLwn5iiIiwi8J+YrSIsIvCfmKQiLCLwn5igIiwi8J+YoSIsIvCfpKwiLCLwn6SvIiwi8J+YsyIsIvCfpbUiLCLwn6W2Iiwi8J+YsSIsIvCfmKgiLCLwn5iwIiwi8J+YpSIsIvCfmJMiLCLwn6SXIiwi8J+klCIsIvCfpK0iLCLwn6SrIiwi8J+kpSIsIvCfmLYiLCLwn5iQIiwi8J+YkSIsIvCfmKwiLCLwn5mEIiwi8J+YryIsIvCfmKYiLCLwn5inIiwi8J+YriIsIvCfmLIiLCLwn6WxIiwi8J+YtCIsIvCfpKQiLCLwn5iqIiwi8J+YtSIsIvCfpJAiLCLwn6W0Iiwi8J+koiIsIvCfpK4iLCLwn6SnIiwi8J+YtyIsIvCfpJIiLCLwn6SVIiwi8J+kkSIsIvCfpKAiLCLwn5iIIiwi8J+RvyIsIvCfkbkiLCLwn5G6Iiwi8J+koSIsIvCfkqkiLCLwn5G7Iiwi8J+SgCIsIuKYoO+4jyIsIvCfkb0iLCLwn5G+Iiwi8J+kliIsIvCfjoMiLCLwn5i6Iiwi8J+YuCIsIvCfmLkiLCLwn5i7Iiwi8J+YvCIsIvCfmL0iLCLwn5mAIiwi8J+YvyIsIvCfmL4iLCLwn5GLIiwi8J+kmiIsIvCflpAiLCLinIsiLCLwn5aWIiwi8J+RjCIsIvCfpI8iLCLinIzvuI8iLCLwn6SeIiwi8J+knyIsIvCfpJgiLCLwn6SZIiwi8J+RiCIsIvCfkYkiLCLwn5GGIiwi8J+WlSIsIvCfkYciLCLimJ3vuI8iLCLwn5GNIiwi8J+RjiIsIuKciiIsIvCfkYoiLCLwn6SbIiwi8J+knCIsIvCfkY8iLCLwn5mMIiwi8J+RkCIsIvCfpLIiLCLwn6SdIiwi8J+ZjyIsIuKcje+4jyIsIvCfkoUiLCLwn6SzIiwi8J+SqiIsIvCfpr4iLCLwn6a1Iiwi8J+mvyIsIvCfprYiLCLwn5GCIiwi8J+muyIsIvCfkYMiLCLwn6egIiwi8J+mtyIsIvCfprQiLCLwn5GAIiwi8J+RgSIsIvCfkYUiLCLwn5GEIiwi8J+SiyIsIvCfqbgiLCLwn5G2Iiwi8J+nkiIsIvCfkaYiLCLwn5GnIiwi8J+nkSIsIvCfkbEiLCLwn5GoIiwi8J+nlCIsIvCfkajigI3wn6awIiwi8J+RqOKAjfCfprEiLCLwn5Go4oCN8J+msyIsIvCfkajigI3wn6ayIiwi8J+RqSIsIvCfkanigI3wn6awIiwi8J+nkeKAjfCfprAiLCLwn5Gp4oCN8J+msSIsIvCfp5HigI3wn6axIiwi8J+RqeKAjfCfprMiLCLwn6eR4oCN8J+msyIsIvCfkanigI3wn6ayIiwi8J+nkeKAjfCfprIiLCLwn5Gx4oCN4pmA77iPIiwi8J+RseKAjeKZgu+4jyIsIvCfp5MiLCLwn5G0Iiwi8J+RtSIsIvCfmY0iLCLwn5mN4oCN4pmC77iPIiwi8J+ZjeKAjeKZgO+4jyIsIvCfmY4iLCLwn5mO4oCN4pmC77iPIiwi8J+ZjuKAjeKZgO+4jyIsIvCfmYUiLCLwn5mF4oCN4pmC77iPIiwi8J+ZheKAjeKZgO+4jyIsIvCfmYYiLCLwn5mG4oCN4pmC77iPIiwi8J+ZhuKAjeKZgO+4jyIsIvCfkoEiLCLwn5KB4oCN4pmC77iPIiwi8J+SgeKAjeKZgO+4jyIsIvCfmYsiLCLwn5mL4oCN4pmC77iPIiwi8J+Zi+KAjeKZgO+4jyIsIvCfp48iLCLwn6eP4oCN4pmC77iPIiwi8J+nj+KAjeKZgO+4jyIsIvCfmYciLCLwn5mH4oCN4pmC77iPIiwi8J+Zh+KAjeKZgO+4jyIsIvCfpKYiLCLwn6Sm4oCN4pmC77iPIiwi8J+kpuKAjeKZgO+4jyIsIvCfpLciLCLwn6S34oCN4pmC77iPIiwi8J+kt+KAjeKZgO+4jyIsIvCfp5HigI3impXvuI8iLCLwn5Go4oCN4pqV77iPIiwi8J+RqeKAjeKale+4jyIsIvCfp5HigI3wn46TIiwi8J+RqOKAjfCfjpMiLCLwn5Gp4oCN8J+OkyIsIvCfp5HigI3wn4+rIiwi8J+RqOKAjfCfj6siLCLwn5Gp4oCN8J+PqyIsIvCfp5HigI3impbvuI8iLCLwn5Go4oCN4pqW77iPIiwi8J+RqeKAjeKalu+4jyIsIvCfp5HigI3wn4y+Iiwi8J+RqOKAjfCfjL4iLCLwn5Gp4oCN8J+MviIsIvCfp5HigI3wn42zIiwi8J+RqOKAjfCfjbMiLCLwn5Gp4oCN8J+NsyIsIvCfp5HigI3wn5SnIiwi8J+RqOKAjfCflKciLCLwn5Gp4oCN8J+UpyIsIvCfp5HigI3wn4+tIiwi8J+RqOKAjfCfj60iLCLwn5Gp4oCN8J+PrSIsIvCfp5HigI3wn5K8Iiwi8J+RqOKAjfCfkrwiLCLwn5Gp4oCN8J+SvCIsIvCfp5HigI3wn5SsIiwi8J+RqOKAjfCflKwiLCLwn5Gp4oCN8J+UrCIsIvCfp5HigI3wn5K7Iiwi8J+RqOKAjfCfkrsiLCLwn5Gp4oCN8J+SuyIsIvCfp5HigI3wn46kIiwi8J+RqOKAjfCfjqQiLCLwn5Gp4oCN8J+OpCIsIvCfp5HigI3wn46oIiwi8J+RqOKAjfCfjqgiLCLwn5Gp4oCN8J+OqCIsIvCfp5HigI3inIjvuI8iLCLwn5Go4oCN4pyI77iPIiwi8J+RqeKAjeKciO+4jyIsIvCfp5HigI3wn5qAIiwi8J+RqOKAjfCfmoAiLCLwn5Gp4oCN8J+agCIsIvCfp5HigI3wn5qSIiwi8J+RqOKAjfCfmpIiLCLwn5Gp4oCN8J+akiIsIvCfka4iLCLwn5Gu4oCN4pmC77iPIiwi8J+RruKAjeKZgO+4jyIsIvCflbUiLCLwn5W177iP4oCN4pmC77iPIiwi8J+Vte+4j+KAjeKZgO+4jyIsIvCfkoIiLCLwn5KC4oCN4pmC77iPIiwi8J+SguKAjeKZgO+4jyIsIvCfkbciLCLwn5G34oCN4pmC77iPIiwi8J+Rt+KAjeKZgO+4jyIsIvCfpLQiLCLwn5G4Iiwi8J+RsyIsIvCfkbPigI3imYLvuI8iLCLwn5Gz4oCN4pmA77iPIiwi8J+RsiIsIvCfp5UiLCLwn6S1Iiwi8J+RsCIsIvCfpLAiLCLwn6SxIiwi8J+RvCIsIvCfjoUiLCLwn6S2Iiwi8J+muCIsIvCfprjigI3imYLvuI8iLCLwn6a44oCN4pmA77iPIiwi8J+muSIsIvCfprnigI3imYLvuI8iLCLwn6a54oCN4pmA77iPIiwi8J+nmSIsIvCfp5nigI3imYLvuI8iLCLwn6eZ4oCN4pmA77iPIiwi8J+nmiIsIvCfp5rigI3imYLvuI8iLCLwn6ea4oCN4pmA77iPIiwi8J+nmyIsIvCfp5vigI3imYLvuI8iLCLwn6eb4oCN4pmA77iPIiwi8J+nnCIsIvCfp5zigI3imYLvuI8iLCLwn6ec4oCN4pmA77iPIiwi8J+nnSIsIvCfp53igI3imYLvuI8iLCLwn6ed4oCN4pmA77iPIiwi8J+nniIsIvCfp57igI3imYLvuI8iLCLwn6ee4oCN4pmA77iPIiwi8J+nnyIsIvCfp5/igI3imYLvuI8iLCLwn6ef4oCN4pmA77iPIiwi8J+ShiIsIvCfkobigI3imYLvuI8iLCLwn5KG4oCN4pmA77iPIiwi8J+ShyIsIvCfkofigI3imYLvuI8iLCLwn5KH4oCN4pmA77iPIiwi8J+atiIsIvCfmrbigI3imYLvuI8iLCLwn5q24oCN4pmA77iPIiwi8J+njSIsIvCfp43igI3imYLvuI8iLCLwn6eN4oCN4pmA77iPIiwi8J+njiIsIvCfp47igI3imYLvuI8iLCLwn6eO4oCN4pmA77iPIiwi8J+nkeKAjfCfpq8iLCLwn5Go4oCN8J+mryIsIvCfkanigI3wn6avIiwi8J+nkeKAjfCfprwiLCLwn5Go4oCN8J+mvCIsIvCfkanigI3wn6a8Iiwi8J+nkeKAjfCfpr0iLCLwn5Go4oCN8J+mvSIsIvCfkanigI3wn6a9Iiwi8J+PgyIsIvCfj4PigI3imYLvuI8iLCLwn4+D4oCN4pmA77iPIiwi8J+SgyIsIvCflboiLCLwn5W0Iiwi8J+RryIsIvCfka/igI3imYLvuI8iLCLwn5Gv4oCN4pmA77iPIiwi8J+nliIsIvCfp5bigI3imYLvuI8iLCLwn6eW4oCN4pmA77iPIiwi8J+nkeKAjfCfpJ3igI3wn6eRIiwi8J+RrSIsIvCfkasiLCLwn5GsIiwi8J+SjyIsIvCfkajigI3inaTvuI/igI3wn5KL4oCN8J+RqCIsIvCfkanigI3inaTvuI/igI3wn5KL4oCN8J+RqSIsIvCfkpEiLCLwn5Go4oCN4p2k77iP4oCN8J+RqCIsIvCfkanigI3inaTvuI/igI3wn5GpIiwi8J+RqiIsIvCfkajigI3wn5Gp4oCN8J+RpiIsIvCfkajigI3wn5Gp4oCN8J+RpyIsIvCfkajigI3wn5Gp4oCN8J+Rp+KAjfCfkaYiLCLwn5Go4oCN8J+RqeKAjfCfkabigI3wn5GmIiwi8J+RqOKAjfCfkanigI3wn5Gn4oCN8J+RpyIsIvCfkajigI3wn5Go4oCN8J+RpiIsIvCfkajigI3wn5Go4oCN8J+RpyIsIvCfkajigI3wn5Go4oCN8J+Rp+KAjfCfkaYiLCLwn5Go4oCN8J+RqOKAjfCfkabigI3wn5GmIiwi8J+RqOKAjfCfkajigI3wn5Gn4oCN8J+RpyIsIvCfkanigI3wn5Gp4oCN8J+RpiIsIvCfkanigI3wn5Gp4oCN8J+RpyIsIvCfkanigI3wn5Gp4oCN8J+Rp+KAjfCfkaYiLCLwn5Gp4oCN8J+RqeKAjfCfkabigI3wn5GmIiwi8J+RqeKAjfCfkanigI3wn5Gn4oCN8J+RpyIsIvCfkajigI3wn5GmIiwi8J+RqOKAjfCfkabigI3wn5GmIiwi8J+RqOKAjfCfkaciLCLwn5Go4oCN8J+Rp+KAjfCfkaYiLCLwn5Go4oCN8J+Rp+KAjfCfkaciLCLwn5Gp4oCN8J+RpiIsIvCfkanigI3wn5Gm4oCN8J+RpiIsIvCfkanigI3wn5GnIiwi8J+RqeKAjfCfkafigI3wn5GmIiwi8J+RqeKAjfCfkafigI3wn5GnIiwi8J+XoyIsIvCfkaQiLCLwn5GlIiwi8J+RoyJdLFM9WyLwn5C2Iiwi8J+QsSIsIvCfkK0iLCLwn5C5Iiwi8J+QsCIsIvCfpooiLCLwn5C7Iiwi8J+QvCIsIvCfkKgiLCLwn5CvIiwi8J+mgSIsIvCfkK4iLCLwn5C3Iiwi8J+QvSIsIvCfkLgiLCLwn5C1Iiwi8J+ZiCIsIvCfmYkiLCLwn5mKIiwi8J+QkiIsIvCfkJQiLCLwn5CnIiwi8J+QpiIsIvCfkKQiLCLwn5CjIiwi8J+QpSIsIvCfpoYiLCLwn6aFIiwi8J+miSIsIvCfpociLCLwn5C6Iiwi8J+QlyIsIvCfkLQiLCLwn6aEIiwi8J+QnSIsIvCfkJsiLCLwn6aLIiwi8J+QjCIsIvCfkJ4iLCLwn5CcIiwi8J+mnyIsIvCfppciLCLwn5W3Iiwi8J+VuCIsIvCfpoIiLCLwn5CiIiwi8J+QjSIsIvCfpo4iLCLwn6aWIiwi8J+mlSIsIvCfkJkiLCLwn6aRIiwi8J+mkCIsIvCfpp4iLCLwn6aAIiwi8J+QoSIsIvCfkKAiLCLwn5CfIiwi8J+QrCIsIvCfkLMiLCLwn5CLIiwi8J+miCIsIvCfkIoiLCLwn5CFIiwi8J+QhiIsIvCfppMiLCLwn6aNIiwi8J+mpyIsIvCfkJgiLCLwn6abIiwi8J+mjyIsIvCfkKoiLCLwn5CrIiwi8J+mkiIsIvCfppgiLCLwn5CDIiwi8J+QgiIsIvCfkIQiLCLwn5COIiwi8J+QliIsIvCfkI8iLCLwn5CRIiwi8J+mmSIsIvCfkJAiLCLwn6aMIiwi8J+QlSIsIvCfkKkiLCLwn6auIiwi8J+QleKAjfCfproiLCLwn5CIIiwi8J+QkyIsIvCfpoMiLCLwn6aaIiwi8J+mnCIsIvCfpqIiLCLwn6apIiwi8J+ViiIsIvCfkIciLCLwn6adIiwi8J+mqCIsIvCfpqEiLCLwn6amIiwi8J+mpSIsIvCfkIEiLCLwn5CAIiwi8J+QvyIsIvCfppQiLCLwn5C+Iiwi8J+QiSIsIvCfkLIiLCLwn4y1Iiwi8J+OhCIsIvCfjLIiLCLwn4yzIiwi8J+MtCIsIvCfjLEiLCLwn4y/Iiwi4piY77iPIiwi8J+NgCIsIvCfjo0iLCLwn46LIiwi8J+NgyIsIvCfjYIiLCLwn42BIiwi8J+NhCIsIvCfkJoiLCLwn4y+Iiwi8J+SkCIsIvCfjLciLCLwn4y5Iiwi8J+lgCIsIvCfjLoiLCLwn4y4Iiwi8J+MvCIsIvCfjLsiLCLwn4yeIiwi8J+MnSIsIvCfjJsiLCLwn4ycIiwi8J+MmiIsIvCfjJUiLCLwn4yWIiwi8J+MlyIsIvCfjJgiLCLwn4yRIiwi8J+MkiIsIvCfjJMiLCLwn4yUIiwi8J+MmSIsIvCfjI4iLCLwn4yNIiwi8J+MjyIsIvCfqpAiLCLwn5KrIiwi4q2Q77iPIiwi8J+MnyIsIuKcqCIsIuKaoe+4jyIsIuKYhO+4jyIsIvCfkqUiLCLwn5SlIiwi8J+MqiIsIvCfjIgiLCLimIDvuI8iLCLwn4ykIiwi4puF77iPIiwi8J+MpSIsIuKYge+4jyIsIvCfjKYiLCLwn4ynIiwi4puIIiwi8J+MqSIsIvCfjKgiLCLinYTvuI8iLCLimIPvuI8iLCLim4TvuI8iLCLwn4ysIiwi8J+SqCIsIvCfkqciLCLwn5KmIiwi4piU77iPIiwi8J+MiiIsIvCfjKsiXSx5PVsi8J+NjyIsIvCfjY4iLCLwn42QIiwi8J+NiiIsIvCfjYsiLCLwn42MIiwi8J+NiSIsIvCfjYciLCLwn42TIiwi8J+NiCIsIvCfjZIiLCLwn42RIiwi8J+lrSIsIvCfjY0iLCLwn6WlIiwi8J+lnSIsIvCfjYUiLCLwn42GIiwi8J+lkSIsIvCfpaYiLCLwn6WsIiwi8J+lkiIsIvCfjLYiLCLwn4y9Iiwi8J+llSIsIvCfp4QiLCLwn6eFIiwi8J+llCIsIvCfjaAiLCLwn6WQIiwi8J+lryIsIvCfjZ4iLCLwn6WWIiwi8J+lqCIsIvCfp4AiLCLwn6WaIiwi8J+NsyIsIvCfp4giLCLwn6WeIiwi8J+nhyIsIvCfpZMiLCLwn6WpIiwi8J+NlyIsIvCfjZYiLCLwn4ytIiwi8J+NlCIsIvCfjZ8iLCLwn42VIiwi8J+lqiIsIvCfpZkiLCLwn6eGIiwi8J+MriIsIvCfjK8iLCLwn6WXIiwi8J+lmCIsIvCfpasiLCLwn42dIiwi8J+NnCIsIvCfjbIiLCLwn42bIiwi8J+NoyIsIvCfjbEiLCLwn6WfIiwi8J+mqiIsIvCfjaQiLCLwn42ZIiwi8J+NmiIsIvCfjZgiLCLwn42lIiwi8J+loCIsIvCfpa4iLCLwn42iIiwi8J+NoSIsIvCfjaciLCLwn42oIiwi8J+NpiIsIvCfpaciLCLwn6eBIiwi8J+NsCIsIvCfjoIiLCLwn42uIiwi8J+NrSIsIvCfjawiLCLwn42rIiwi8J+NvyIsIvCfjakiLCLwn42qIiwi8J+MsCIsIvCfpZwiLCLwn42vIiwi8J+lmyIsIvCfjbwiLCLimJXvuI8iLCLwn421Iiwi8J+ngyIsIvCfpaQiLCLwn422Iiwi8J+NuiIsIvCfjbsiLCLwn6WCIiwi8J+NtyIsIvCfpYMiLCLwn424Iiwi8J+NuSIsIvCfp4kiLCLwn42+Iiwi8J+niiIsIvCfpYQiLCLwn420Iiwi8J+NvSIsIvCfpaMiLCLwn6WhIiwi8J+loiIsIvCfp4IiXSx3PVsi4pq977iPIiwi8J+PgCIsIvCfj4giLCLimr7vuI8iLCLwn6WOIiwi8J+OviIsIvCfj5AiLCLwn4+JIiwi8J+ljyIsIvCfjrEiLCLwn6qAIiwi8J+PkyIsIvCfj7giLCLwn4+SIiwi8J+PkSIsIvCfpY0iLCLwn4+PIiwi8J+lhSIsIuKbs++4jyIsIvCfqoEiLCLwn4+5Iiwi8J+OoyIsIvCfpL8iLCLwn6WKIiwi8J+liyIsIvCfjr0iLCLwn5u5Iiwi8J+btyIsIuKbuCIsIvCfpYwiLCLwn46/Iiwi4pu3Iiwi8J+PgiIsIvCfqoIiLCLwn4+L77iPIiwi8J+Pi++4j+KAjeKZgu+4jyIsIvCfj4vvuI/igI3imYDvuI8iLCLwn6S8Iiwi8J+kvOKAjeKZgu+4jyIsIvCfpLzigI3imYDvuI8iLCLwn6S44oCN4pmA77iPIiwi8J+kuCIsIvCfpLjigI3imYLvuI8iLCLim7nvuI8iLCLim7nvuI/igI3imYLvuI8iLCLim7nvuI/igI3imYDvuI8iLCLwn6S6Iiwi8J+kviIsIvCfpL7igI3imYLvuI8iLCLwn6S+4oCN4pmA77iPIiwi8J+PjO+4jyIsIvCfj4zvuI/igI3imYLvuI8iLCLwn4+M77iP4oCN4pmA77iPIiwi8J+PhyIsIvCfp5giLCLwn6eY4oCN4pmC77iPIiwi8J+nmOKAjeKZgO+4jyIsIvCfj4QiLCLwn4+E4oCN4pmC77iPIiwi8J+PhOKAjeKZgO+4jyIsIvCfj4oiLCLwn4+K4oCN4pmC77iPIiwi8J+PiuKAjeKZgO+4jyIsIvCfpL0iLCLwn6S94oCN4pmC77iPIiwi8J+kveKAjeKZgO+4jyIsIvCfmqMiLCLwn5qj4oCN4pmC77iPIiwi8J+ao+KAjeKZgO+4jyIsIvCfp5ciLCLwn6eX4oCN4pmC77iPIiwi8J+nl+KAjeKZgO+4jyIsIvCfmrUiLCLwn5q14oCN4pmC77iPIiwi8J+ateKAjeKZgO+4jyIsIvCfmrQiLCLwn5q04oCN4pmC77iPIiwi8J+atOKAjeKZgO+4jyIsIvCfj4YiLCLwn6WHIiwi8J+liCIsIvCfpYkiLCLwn4+FIiwi8J+OliIsIvCfj7UiLCLwn46XIiwi8J+OqyIsIvCfjp8iLCLwn46qIiwi8J+kuSIsIvCfpLnigI3imYLvuI8iLCLwn6S54oCN4pmA77iPIiwi8J+OrSIsIvCfjqgiLCLwn46sIiwi8J+OpCIsIvCfjqciLCLwn468Iiwi8J+OuSIsIvCfpYEiLCLwn463Iiwi8J+OuiIsIvCfjrgiLCLwn6qVIiwi8J+OuyIsIvCfjrIiLCLwn46vIiwi8J+OsyIsIvCfjq4iLCLwn46wIiwi8J+nqSJdLEU9WyLwn5qXIiwi8J+alSIsIvCfmpkiLCLwn5qMIiwi8J+ajiIsIvCfj44iLCLwn5qTIiwi8J+akSIsIvCfmpIiLCLwn5qQIiwi8J+amiIsIvCfmpsiLCLwn5qcIiwi8J+mryIsIvCfpr0iLCLwn6a8Iiwi8J+btCIsIvCfmrIiLCLwn5u1Iiwi8J+PjSIsIvCfm7oiLCLwn5qoIiwi8J+alCIsIvCfmo0iLCLwn5qYIiwi8J+aliIsIvCfmqEiLCLwn5qgIiwi8J+anyIsIvCfmoMiLCLwn5qLIiwi8J+aniIsIvCfmp0iLCLwn5qEIiwi8J+ahSIsIvCfmogiLCLwn5qCIiwi8J+ahiIsIvCfmociLCLwn5qKIiwi8J+aiSIsIuKciO+4jyIsIvCfm6siLCLwn5usIiwi8J+bqSIsIvCfkroiLCLwn5uwIiwi8J+agCIsIvCfm7giLCLwn5qBIiwi8J+btiIsIuKbte+4jyIsIvCfmqQiLCLwn5ulIiwi8J+bsyIsIuKbtCIsIvCfmqIiLCLimpPvuI8iLCLim73vuI8iLCLwn5qnIiwi8J+apiIsIvCfmqUiLCLwn5qPIiwi8J+XuiIsIvCfl78iLCLwn5e9Iiwi8J+XvCIsIvCfj7AiLCLwn4+vIiwi8J+PnyIsIvCfjqEiLCLwn46iIiwi8J+OoCIsIuKbsu+4jyIsIuKbsSIsIvCfj5YiLCLwn4+dIiwi8J+PnCIsIvCfjIsiLCLim7AiLCLwn4+UIiwi8J+XuyIsIvCfj5UiLCLim7rvuI8iLCLwn4+gIiwi8J+PoSIsIvCfj5giLCLwn4+aIiwi8J+PlyIsIvCfj60iLCLwn4+iIiwi8J+PrCIsIvCfj6MiLCLwn4+kIiwi8J+PpSIsIvCfj6YiLCLwn4+oIiwi8J+PqiIsIvCfj6siLCLwn4+pIiwi8J+SkiIsIvCfj5siLCLim6rvuI8iLCLwn5WMIiwi8J+VjSIsIvCfm5UiLCLwn5WLIiwi4pupIiwi8J+bpCIsIvCfm6MiLCLwn5e+Iiwi8J+OkSIsIvCfj54iLCLwn4yFIiwi8J+MhCIsIvCfjKAiLCLwn46HIiwi8J+OhiIsIvCfjIciLCLwn4yGIiwi8J+PmSIsIvCfjIMiLCLwn4yMIiwi8J+MiSIsIvCfjIEiXSxDPVsi4oya77iPIiwi8J+TsSIsIvCfk7IiLCLwn5K7Iiwi4oyo77iPIiwi8J+WpSIsIvCflqgiLCLwn5axIiwi8J+WsiIsIvCflbkiLCLwn5ecIiwi8J+SvSIsIvCfkr4iLCLwn5K/Iiwi8J+TgCIsIvCfk7wiLCLwn5O3Iiwi8J+TuCIsIvCfk7kiLCLwn46lIiwi8J+TvSIsIvCfjp4iLCLwn5OeIiwi4piO77iPIiwi8J+TnyIsIvCfk6AiLCLwn5O6Iiwi8J+TuyIsIvCfjpkiLCLwn46aIiwi8J+OmyIsIvCfp60iLCLij7EiLCLij7IiLCLij7AiLCLwn5WwIiwi4oyb77iPIiwi4o+zIiwi8J+ToSIsIvCflIsiLCLwn5SMIiwi8J+SoSIsIvCflKYiLCLwn5WvIiwi8J+qlCIsIvCfp68iLCLwn5uiIiwi8J+SuCIsIvCfkrUiLCLwn5K0Iiwi8J+StiIsIvCfkrciLCLwn5KwIiwi8J+SsyIsIvCfko4iLCLimpbvuI8iLCLwn6ewIiwi8J+UpyIsIvCflKgiLCLimpIiLCLwn5ugIiwi4puPIiwi8J+UqSIsIuKame+4jyIsIvCfp7EiLCLim5MiLCLwn6eyIiwi8J+UqyIsIvCfkqMiLCLwn6eoIiwi8J+qkyIsIvCflKoiLCLwn5ehIiwi4pqU77iPIiwi8J+boSIsIvCfmqwiLCLimrDvuI8iLCLimrHvuI8iLCLwn4+6Iiwi8J+UriIsIvCfk78iLCLwn6e/Iiwi8J+SiCIsIuKal++4jyIsIvCflK0iLCLwn5SsIiwi8J+VsyIsIvCfqbkiLCLwn6m6Iiwi8J+SiiIsIvCfkokiLCLwn6esIiwi8J+moCIsIvCfp6siLCLwn6eqIiwi8J+MoSIsIvCfp7kiLCLwn6e6Iiwi8J+nuyIsIvCfmr0iLCLwn5qwIiwi8J+avyIsIvCfm4EiLCLwn5uAIiwi8J+nvCIsIvCfqpIiLCLwn6e9Iiwi8J+ntCIsIvCfm44iLCLwn5SRIiwi8J+XnSIsIvCfmqoiLCLwn6qRIiwi8J+biyIsIvCfm48iLCLwn5uMIiwi8J+nuCIsIvCflrwiLCLwn5uNIiwi8J+bkiIsIvCfjoEiLCLwn46IIiwi8J+OjyIsIvCfjoAiLCLwn46KIiwi8J+OiSIsIvCfjo4iLCLwn4+uIiwi8J+OkCIsIvCfp6ciLCLinInvuI8iLCLwn5OpIiwi8J+TqCIsIvCfk6ciLCLwn5KMIiwi8J+TpSIsIvCfk6QiLCLwn5OmIiwi8J+PtyIsIvCfk6oiLCLwn5OrIiwi8J+TrCIsIvCfk60iLCLwn5OuIiwi8J+TryIsIvCfk5wiLCLwn5ODIiwi8J+ThCIsIvCfk5EiLCLwn6e+Iiwi8J+TiiIsIvCfk4giLCLwn5OJIiwi8J+XkiIsIvCfl5MiLCLwn5OGIiwi8J+ThSIsIvCfl5EiLCLwn5OHIiwi8J+XgyIsIvCfl7MiLCLwn5eEIiwi8J+TiyIsIvCfk4EiLCLwn5OCIiwi8J+XgiIsIvCfl54iLCLwn5OwIiwi8J+TkyIsIvCfk5QiLCLwn5OSIiwi8J+TlSIsIvCfk5ciLCLwn5OYIiwi8J+TmSIsIvCfk5oiLCLwn5OWIiwi8J+UliIsIvCfp7ciLCLwn5SXIiwi8J+TjiIsIvCflociLCLwn5OQIiwi8J+TjyIsIvCfp64iLCLwn5OMIiwi8J+TjSIsIuKcgu+4jyIsIvCflooiLCLwn5aLIiwi4pyS77iPIiwi8J+WjCIsIvCflo0iLCLwn5OdIiwi4pyP77iPIiwi8J+UjSIsIvCflI4iLCLwn5SPIiwi8J+UkCIsIvCflJIiLCLwn5STIiwi8J+nsyIsIvCfjIIiLCLimILvuI8iLCLwn6e1Iiwi8J+ntiIsIvCfkZMiLCLwn5W2Iiwi8J+lvSIsIvCfpbwiLCLwn6a6Iiwi8J+RlCIsIvCfkZUiLCLwn5GWIiwi8J+noyIsIvCfp6QiLCLwn6elIiwi8J+npiIsIvCfkZciLCLwn5GYIiwi8J+luyIsIvCfqbEiLCLwn6myIiwi8J+psyIsIvCfkZkiLCLwn5GaIiwi8J+RmyIsIvCfkZwiLCLwn5GdIiwi8J+OkiIsIvCfkZ4iLCLwn5GfIiwi8J+lviIsIvCfpb8iLCLwn5GgIiwi8J+RoSIsIvCfqbAiLCLwn5GiIiwi8J+RkSIsIvCfkZIiLCLwn46pIiwi8J+OkyIsIvCfp6IiLCLim5EiLCLwn5KEIiwi8J+SjSIsIvCfkrwiXSx4PVsi4p2k77iPIiwi8J+noSIsIvCfkpsiLCLwn5KaIiwi8J+SmSIsIvCfkpwiLCLwn5akIiwi8J+kjSIsIvCfpI4iLCLwn5KUIiwi4p2j77iPIiwi8J+SlSIsIvCfkp4iLCLwn5KTIiwi8J+SlyIsIvCfkpYiLCLwn5KYIiwi8J+SnSIsIvCfkp8iLCLimK7vuI8iLCLinJ3vuI8iLCLimKrvuI8iLCLwn5WJIiwi4pi477iPIiwi4pyh77iPIiwi8J+UryIsIvCflY4iLCLimK/vuI8iLCLimKbvuI8iLCLwn5uQIiwi4puOIiwi4pmI77iPIiwi4pmJ77iPIiwi4pmK77iPIiwi4pmL77iPIiwi4pmM77iPIiwi4pmN77iPIiwi4pmO77iPIiwi4pmP77iPIiwi4pmQ77iPIiwi4pmR77iPIiwi4pmS77iPIiwi4pmT77iPIiwi8J+GlCIsIuKam++4jyIsIvCfiZEiLCLimKLvuI8iLCLimKPvuI8iLCLwn5O0Iiwi8J+TsyIsIvCfiLYiLCLwn4ia77iPIiwi8J+IuCIsIvCfiLoiLCLwn4i377iPIiwi4py077iPIiwi8J+GmiIsIvCfkq4iLCLwn4mQIiwi44qZ77iPIiwi44qX77iPIiwi8J+ItCIsIvCfiLUiLCLwn4i5Iiwi8J+IsiIsIvCfhbDvuI8iLCLwn4Wx77iPIiwi8J+GjiIsIvCfhpEiLCLwn4W+77iPIiwi8J+GmCIsIuKdjCIsIuKtle+4jyIsIvCfm5EiLCLim5TvuI8iLCLwn5ObIiwi8J+aqyIsIvCfkq8iLCLwn5KiIiwi4pmo77iPIiwi8J+atyIsIvCfmq8iLCLwn5qzIiwi8J+asSIsIvCflJ4iLCLwn5O1Iiwi8J+arSIsIuKdl++4jyIsIuKdlSIsIuKdkyIsIuKdlCIsIuKAvO+4jyIsIuKBie+4jyIsIvCflIUiLCLwn5SGIiwi44C977iPIiwi4pqg77iPIiwi8J+auCIsIvCflLEiLCLimpzvuI8iLCLwn5SwIiwi4pm777iPIiwi4pyFIiwi8J+Ir++4jyIsIvCfkrkiLCLinYfvuI8iLCLinLPvuI8iLCLinY4iLCLwn4yQIiwi8J+SoCIsIuKTgu+4jyIsIvCfjIAiLCLwn5KkIiwi8J+PpyIsIvCfmr4iLCLimb/vuI8iLCLwn4W/77iPIiwi8J+IsyIsIvCfiILvuI8iLCLwn5uCIiwi8J+bgyIsIvCfm4QiLCLwn5uFIiwi8J+auSIsIvCfmroiLCLwn5q8Iiwi8J+auyIsIvCfmq4iLCLwn46mIiwi8J+TtiIsIvCfiIEiLCLwn5SjIiwi4oS577iPIiwi8J+UpCIsIvCflKEiLCLwn5SgIiwi8J+GliIsIvCfhpciLCLwn4aZIiwi8J+GkiIsIvCfhpUiLCLwn4aTIiwiMO+4j+KDoyIsIjHvuI/ig6MiLCIy77iP4oOjIiwiM++4j+KDoyIsIjTvuI/ig6MiLCI177iP4oOjIiwiNu+4j+KDoyIsIjfvuI/ig6MiLCI477iP4oOjIiwiOe+4j+KDoyIsIvCflJ8iLCLwn5SiIiwiI++4j+KDoyIsIirvuI/ig6MiLCLij4/vuI8iLCLilrbvuI8iLCLij7giLCLij68iLCLij7kiLCLij7oiLCLij60iLCLij64iLCLij6kiLCLij6oiLCLij6siLCLij6wiLCLil4DvuI8iLCLwn5S8Iiwi8J+UvSIsIuKeoe+4jyIsIuKshe+4jyIsIuKshu+4jyIsIuKsh++4jyIsIuKGl++4jyIsIuKGmO+4jyIsIuKGme+4jyIsIuKGlu+4jyIsIuKGle+4jyIsIuKGlO+4jyIsIuKGqu+4jyIsIuKGqe+4jyIsIuKktO+4jyIsIuKkte+4jyIsIvCflIAiLCLwn5SBIiwi8J+UgiIsIvCflIQiLCLwn5SDIiwi8J+OtSIsIvCfjrYiLCLinpUiLCLinpYiLCLinpciLCLinJbvuI8iLCLimb4iLCLwn5KyIiwi8J+SsSIsIuKEou+4jyIsIsKp77iPIiwiwq7vuI8iLCLjgLDvuI8iLCLinrAiLCLinr8iLCLwn5SaIiwi8J+UmSIsIvCflJsiLCLwn5SdIiwi8J+UnCIsIuKclO+4jyIsIuKYke+4jyIsIvCflJgiLCLwn5S0Iiwi8J+foCIsIvCfn6EiLCLwn5+iIiwi8J+UtSIsIvCfn6MiLCLimqvvuI8iLCLimqrvuI8iLCLwn5+kIiwi8J+UuiIsIvCflLsiLCLwn5S4Iiwi8J+UuSIsIvCflLYiLCLwn5S3Iiwi8J+UsyIsIvCflLIiLCLilqrvuI8iLCLilqvvuI8iLCLil77vuI8iLCLil73vuI8iLCLil7zvuI8iLCLil7vvuI8iLCLwn5+lIiwi8J+fpyIsIvCfn6giLCLwn5+pIiwi8J+fpiIsIvCfn6oiLCLirJvvuI8iLCLirJzvuI8iLCLwn5+rIiwi8J+UiCIsIvCflIciLCLwn5SJIiwi8J+UiiIsIvCflJQiLCLwn5SVIiwi8J+ToyIsIvCfk6IiLCLwn5GB4oCN8J+XqCIsIvCfkqwiLCLwn5KtIiwi8J+XryIsIuKZoO+4jyIsIuKZo++4jyIsIuKZpe+4jyIsIuKZpu+4jyIsIvCfg48iLCLwn460Iiwi8J+AhO+4jyIsIvCflZAiLCLwn5WRIiwi8J+VkiIsIvCflZMiLCLwn5WUIiwi8J+VlSIsIvCflZYiLCLwn5WXIiwi8J+VmCIsIvCflZkiLCLwn5WaIiwi8J+VmyIsIvCflZwiLCLwn5WdIiwi8J+VniIsIvCflZ8iLCLwn5WgIiwi8J+VoSIsIvCflaIiLCLwn5WjIiwi8J+VpCIsIvCflaUiLCLwn5WmIiwi8J+VpyJdLEk9WyLwn4+z77iPIiwi8J+PtCIsIvCfj4EiLCLwn5qpIiwi8J+Ps++4j+KAjfCfjIgiLCLwn4+04oCN4pig77iPIiwi8J+HpvCfh6siLCLwn4em8J+HvSIsIvCfh6bwn4exIiwi8J+HqfCfh78iLCLwn4em8J+HuCIsIvCfh6bwn4epIiwi8J+HpvCfh7QiLCLwn4em8J+HriIsIvCfh6bwn4e2Iiwi8J+HpvCfh6wiLCLwn4em8J+HtyIsIvCfh6bwn4eyIiwi8J+HpvCfh7wiLCLwn4em8J+HuiIsIvCfh6bwn4e5Iiwi8J+HpvCfh78iLCLwn4en8J+HuCIsIvCfh6fwn4etIiwi8J+Hp/Cfh6kiLCLwn4en8J+HpyIsIvCfh6fwn4e+Iiwi8J+Hp/Cfh6oiLCLwn4en8J+HvyIsIvCfh6fwn4evIiwi8J+Hp/Cfh7IiLCLwn4en8J+HuSIsIvCfh6fwn4e0Iiwi8J+Hp/Cfh6YiLCLwn4en8J+HvCIsIvCfh6fwn4e3Iiwi8J+HrvCfh7QiLCLwn4e78J+HrCIsIvCfh6fwn4ezIiwi8J+Hp/Cfh6wiLCLwn4en8J+HqyIsIvCfh6fwn4euIiwi8J+HsPCfh60iLCLwn4eo8J+HsiIsIvCfh6jwn4emIiwi8J+HrvCfh6giLCLwn4eo8J+HuyIsIvCfh6fwn4e2Iiwi8J+HsPCfh74iLCLwn4eo8J+HqyIsIvCfh7nwn4epIiwi8J+HqPCfh7EiLCLwn4eo8J+HsyIsIvCfh6jwn4e9Iiwi8J+HqPCfh6giLCLwn4eo8J+HtCIsIvCfh7Dwn4eyIiwi8J+HqPCfh6wiLCLwn4eo8J+HqSIsIvCfh6jwn4ewIiwi8J+HqPCfh7ciLCLwn4eo8J+HriIsIvCfh63wn4e3Iiwi8J+HqPCfh7oiLCLwn4eo8J+HvCIsIvCfh6jwn4e+Iiwi8J+HqPCfh78iLCLwn4ep8J+HsCIsIvCfh6nwn4evIiwi8J+HqfCfh7IiLCLwn4ep8J+HtCIsIvCfh6rwn4eoIiwi8J+HqvCfh6wiLCLwn4e48J+HuyIsIvCfh6zwn4e2Iiwi8J+HqvCfh7ciLCLwn4eq8J+HqiIsIvCfh6rwn4e5Iiwi8J+HqvCfh7oiLCLwn4er8J+HsCIsIvCfh6vwn4e0Iiwi8J+Hq/Cfh68iLCLwn4er8J+HriIsIvCfh6vwn4e3Iiwi8J+HrPCfh6siLCLwn4e18J+HqyIsIvCfh7nwn4erIiwi8J+HrPCfh6YiLCLwn4es8J+HsiIsIvCfh6zwn4eqIiwi8J+HqfCfh6oiLCLwn4es8J+HrSIsIvCfh6zwn4euIiwi8J+HrPCfh7ciLCLwn4es8J+HsSIsIvCfh6zwn4epIiwi8J+HrPCfh7UiLCLwn4es8J+HuiIsIvCfh6zwn4e5Iiwi8J+HrPCfh6wiLCLwn4es8J+HsyIsIvCfh6zwn4e8Iiwi8J+HrPCfh74iLCLwn4et8J+HuSIsIvCfh63wn4ezIiwi8J+HrfCfh7AiLCLwn4et8J+HuiIsIvCfh67wn4e4Iiwi8J+HrvCfh7MiLCLwn4eu8J+HqSIsIvCfh67wn4e3Iiwi8J+HrvCfh7YiLCLwn4eu8J+HqiIsIvCfh67wn4eyIiwi8J+HrvCfh7EiLCLwn4eu8J+HuSIsIvCfh6/wn4eyIiwi8J+Hr/Cfh7UiLCLwn46MIiwi8J+Hr/Cfh6oiLCLwn4ev8J+HtCIsIvCfh7Dwn4e/Iiwi8J+HsPCfh6oiLCLwn4ew8J+HriIsIvCfh73wn4ewIiwi8J+HsPCfh7wiLCLwn4ew8J+HrCIsIvCfh7Hwn4emIiwi8J+HsfCfh7siLCLwn4ex8J+HpyIsIvCfh7Hwn4e4Iiwi8J+HsfCfh7ciLCLwn4ex8J+HviIsIvCfh7Hwn4euIiwi8J+HsfCfh7kiLCLwn4ex8J+HuiIsIvCfh7Lwn4e0Iiwi8J+HsvCfh7AiLCLwn4ey8J+HrCIsIvCfh7Lwn4e8Iiwi8J+HsvCfh74iLCLwn4ey8J+HuyIsIvCfh7Lwn4exIiwi8J+HsvCfh7kiLCLwn4ey8J+HrSIsIvCfh7Lwn4e2Iiwi8J+HsvCfh7ciLCLwn4ey8J+HuiIsIvCfh77wn4e5Iiwi8J+HsvCfh70iLCLwn4er8J+HsiIsIvCfh7Lwn4epIiwi8J+HsvCfh6giLCLwn4ey8J+HsyIsIvCfh7Lwn4eqIiwi8J+HsvCfh7giLCLwn4ey8J+HpiIsIvCfh7Lwn4e/Iiwi8J+HsvCfh7IiLCLwn4ez8J+HpiIsIvCfh7Pwn4e3Iiwi8J+Hs/Cfh7UiLCLwn4ez8J+HsSIsIvCfh7Pwn4eoIiwi8J+Hs/Cfh78iLCLwn4ez8J+HriIsIvCfh7Pwn4eqIiwi8J+Hs/Cfh6wiLCLwn4ez8J+HuiIsIvCfh7Pwn4erIiwi8J+HsPCfh7UiLCLwn4ey8J+HtSIsIvCfh7Pwn4e0Iiwi8J+HtPCfh7IiLCLwn4e18J+HsCIsIvCfh7Xwn4e8Iiwi8J+HtfCfh7giLCLwn4e18J+HpiIsIvCfh7Xwn4esIiwi8J+HtfCfh74iLCLwn4e18J+HqiIsIvCfh7Xwn4etIiwi8J+HtfCfh7MiLCLwn4e18J+HsSIsIvCfh7Xwn4e5Iiwi8J+HtfCfh7ciLCLwn4e28J+HpiIsIvCfh7fwn4eqIiwi8J+Ht/Cfh7QiLCLwn4e38J+HuiIsIvCfh7fwn4e8Iiwi8J+HvPCfh7giLCLwn4e48J+HsiIsIvCfh7jwn4emIiwi8J+HuPCfh7MiLCLwn4e38J+HuCIsIvCfh7jwn4eoIiwi8J+HuPCfh7EiLCLwn4e48J+HrCIsIvCfh7jwn4e9Iiwi8J+HuPCfh7AiLCLwn4e48J+HriIsIvCfh6zwn4e4Iiwi8J+HuPCfh6ciLCLwn4e48J+HtCIsIvCfh7/wn4emIiwi8J+HsPCfh7ciLCLwn4e48J+HuCIsIvCfh6rwn4e4Iiwi8J+HsfCfh7AiLCLwn4en8J+HsSIsIvCfh7jwn4etIiwi8J+HsPCfh7MiLCLwn4ex8J+HqCIsIvCfh7Xwn4eyIiwi8J+Hu/Cfh6giLCLwn4e48J+HqSIsIvCfh7jwn4e3Iiwi8J+HuPCfh78iLCLwn4e48J+HqiIsIvCfh6jwn4etIiwi8J+HuPCfh74iLCLwn4e58J+HvCIsIvCfh7nwn4evIiwi8J+HufCfh78iLCLwn4e58J+HrSIsIvCfh7nwn4exIiwi8J+HufCfh6wiLCLwn4e58J+HsCIsIvCfh7nwn4e0Iiwi8J+HufCfh7kiLCLwn4e58J+HsyIsIvCfh7nwn4e3Iiwi8J+HufCfh7IiLCLwn4e58J+HqCIsIvCfh7nwn4e7Iiwi8J+Hu/Cfh64iLCLwn4e68J+HrCIsIvCfh7rwn4emIiwi8J+HpvCfh6oiLCLwn4es8J+HpyIsIvCfj7TzoIGn86CBovOggaXzoIGu86CBp/Oggb8iLCLwn4+086CBp/OggaLzoIGz86CBo/OggbTzoIG/Iiwi8J+PtPOggafzoIGi86CBt/OggazzoIGz86CBvyIsIvCfh7rwn4ezIiwi8J+HuvCfh7giLCLwn4e68J+HviIsIvCfh7rwn4e/Iiwi8J+Hu/Cfh7oiLCLwn4e78J+HpiIsIvCfh7vwn4eqIiwi8J+Hu/Cfh7MiLCLwn4e88J+HqyIsIvCfh6rwn4etIiwi8J+HvvCfh6oiLCLwn4e/8J+HsiIsIvCfh7/wn4e8Il0sQT1bLi4udiwuLi5TLC4uLnksLi4udywuLi5FLC4uLkMsLi4ueCwuLi5JXSx6PW5ldyBTZXQoQSkKO2Z1bmN0aW9uIFQoZSl7cmV0dXJuIGUuZmlsdGVyKChlPT56LmhhcyhlKSkpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIHouaGFzKGUpfWNvbnN0IGs9KDAsbi5kZWZhdWx0KSgoZT0+e2NvbnN0IGQ9KDAsby5nZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZykoZSksdT1udWxsIT09ZCYmTShkKT9kOiIiO3JldHVybntlbW9qaTp1LGVtb2ppTGVzc1N0cmluZzplLnJlcGxhY2UodSwiIil9fSkpO2Z1bmN0aW9uIEQoZSxkLC4uLnUpe2NvbnN0IHQ9aygoMCxhLmVuc3VyZU5vdE51bGwpKGUpKS5lbW9qaUxlc3NTdHJpbmcudHJpbSgpLGM9aygoMCxhLmVuc3VyZU5vdE51bGwpKGQpKS5lbW9qaUxlc3NTdHJpbmcudHJpbSgpO3JldHVybiB0PT09Yz9lLmxvY2FsZUNvbXBhcmUoZCwuLi51KTp0LmxvY2FsZUNvbXBhcmUoYywuLi51KX1jb25zdCBOPSgpPT5be3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoNDY1NDU2KSksZW1vamlzOltdLGNvbnRlbnQ6dC5jcmVhdGVFbGVtZW50KGwuSWNvbkl0ZW0se2ljb246cn0pfSx7dGl0bGU6Yy50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sdSgzMDYwNzApKSxlbW9qaXM6dixjb250ZW50OnQuY3JlYXRlRWxlbWVudChsLkljb25JdGVtLHtpY29uOml9KX0se3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoNjY4NDQ5KSksZW1vamlzOlMsY29udGVudDp0LmNyZWF0ZUVsZW1lbnQobC5JY29uSXRlbSx7aWNvbjpzfSl9LHt0aXRsZTpjLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSx1KDE0NzUwMCkpLGVtb2ppczp5LGNvbnRlbnQ6dC5jcmVhdGVFbGVtZW50KGwuSWNvbkl0ZW0se2ljb246Zn0pfSx7dGl0bGU6Yy50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sdSg1NzQ3MTUpKSxlbW9qaXM6dyxjb250ZW50OnQuY3JlYXRlRWxlbWVudChsLkljb25JdGVtLHtpY29uOm19KX0se3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoMTIzMTM4KSksZW1vamlzOkUsY29udGVudDp0LmNyZWF0ZUVsZW1lbnQobC5JY29uSXRlbSx7aWNvbjpofSl9LHt0aXRsZTpjLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSx1KDk0MzM5MykpLGVtb2ppczpDLGNvbnRlbnQ6dC5jcmVhdGVFbGVtZW50KGwuSWNvbkl0ZW0se2ljb246cH0pfSx7dGl0bGU6Yy50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sdSgyNzY2MDkpKSxlbW9qaXM6eCxjb250ZW50OnQuY3JlYXRlRWxlbWVudChsLkljb25JdGVtLHtpY29uOmJ9KX0se3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoMTc0MTc4KSksZW1vamlzOkksY29udGVudDp0LmNyZWF0ZUVsZW1lbnQobC5JY29uSXRlbSx7aWNvbjpnfSl9XX0sNDI4OTI0KGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0Vtb2ppSXRlbTooKT0+Zn0pO3ZhciB0PXUoNzc5NDc0KSxjPXUoOTE0NDg3KSxuPXUubihjKSxvPXUoMjczMzEwKSxhPXUoMTg1MjcxKSxsPXUoMzMzMzEyKSxyPXUoNDI3NzczKSxpPXUoNDI4MDk3KSxzPXUoODg5NTQ2KTtmdW5jdGlvbiBmKGUpe2NvbnN0e2Vtb2ppOmQsY2xhc3NOYW1lOmN9PWU7aWYoZD09PXIuRU1QVFlfRU1PSkkpcmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLkljb24se2NsYXNzTmFtZTpuKCkoYyxpLmNsZWFyQnV0dG9uLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLGljb246cyx0aXRsZTphLnQobnVsbCx2b2lkIDAsdSg3NTQzODIpKX0pO2NvbnN0IGY9KDAsbC5nZXRUd2Vtb2ppVXJsKShkLCJwbmciKTtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJpbWciLHtjbGFzc05hbWU6bigpKGMsaS5lbW9qaSksc3JjOmYsZGVjb2Rpbmc6ImFzeW5jIix3aWR0aDoiMjQiLGhlaWdodDoiMjQiLGFsdDoiIixkcmFnZ2FibGU6ITEsb25Db250ZXh0TWVudTpmdW5jdGlvbihlKXtpZihlLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJmUudGFyZ2V0LmNsb3Nlc3QoImEiKSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpfX0pfX0sMjczNzMyKGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0ljb25JdGVtOigpPT5sfSk7dmFyIHQ9dSg3Nzk0NzQpLGM9dSg5MTQ0ODcpLG49dS5uKGMpLG89dSgyNzMzMTApLGE9dSg0MDIyMyk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKGEud3JhcHBlcixlLmNsYXNzTmFtZSl9LHQuY3JlYXRlRWxlbWVudChvLkljb24se2ljb246ZS5pY29ufSkpfX0sNTEwNTk4KGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0xlYWRpbmdFbW9qaVRleHQ6KCk9PmF9KTt2YXIgdD11KDc3OTQ3NCksYz11KDI0OWUzKSxuPXUoNDI4OTI0KSxvPXUoOTk1ODUxKTtmdW5jdGlvbiBhKGUpe2NvbnN0e3RleHQ6ZCx0ZXh0UmVuZGVyOnUsZmlyc3RTZWdtZW50T25seTphPSExLHNwYWNlQWZ0ZXJFbW9qaTpsPSEwfT1lLHtsZWFkaW5nRW1vamk6cixwcm9jZXNzZWRUZXh0Oml9PSgwLHQudXNlTWVtbykoKCgpPT4oMCxjLnByb2Nlc3NUZXh0V2l0aExlYWRpbmdFbW9qaSkoe3RleHQ6ZCx0ZXh0UmVuZGVyOnUsZmlyc3RTZWdtZW50T25seTphfSkpLFtkLHUsYV0pO3JldHVybiByP3QuY3JlYXRlRWxlbWVudCh0LkZyYWdtZW50LG51bGwsdC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm8uZW1vamlXcmFwfSwiwqAiLHQuY3JlYXRlRWxlbWVudChuLkVtb2ppSXRlbSx7Y2xhc3NOYW1lOm8uZW1vamksZW1vamk6cn0pKSwiIiE9PWkmJnQuY3JlYXRlRWxlbWVudCh0LkZyYWdtZW50LG51bGwsbCYmdC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCwiwqAiKSxpKSk6dC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCxpKX19LDI0OWUzKGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse2dldExlYWRpbmdFbW9qaUh0bWw6KCk9PnMscHJvY2Vzc1RleHRXaXRoTGVhZGluZ0Vtb2ppOigpPT5pfSk7dmFyIHQ9dSg2NDE1OTMpLGM9dSg5MzAyMzEpLG49dSgzMTUxNTQpLG89dSg0Mjc3NzMpLGE9dSgzMzMzMTIpLGw9dSg5OTU4NTEpO2NvbnN0IHI9KDAsCmMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7dGV4dDpkLHRleHRSZW5kZXI6dT1lPT5lLGZpcnN0U2VnbWVudE9ubHk6Yz0hMX09ZSxhPSgwLHQuZ2V0Rmlyc3RTZWdtZW50T3JDb2RlUG9pbnRTdHJpbmcpKGQpLGw9bnVsbCE9PWEmJigwLG4uaXNTdXBwb3J0ZWRFbW9qaSkoYSk/YTpvLkVNUFRZX0VNT0pJLGk9Yz9hfHwiIjpkO2lmKCFyfHxsPT09by5FTVBUWV9FTU9KSSlyZXR1cm57bGVhZGluZ0Vtb2ppOiIiLHByb2Nlc3NlZFRleHQ6dShpKX07cmV0dXJue2xlYWRpbmdFbW9qaTpsLHByb2Nlc3NlZFRleHQ6dShpLnJlcGxhY2UobCwiIikpfX1mdW5jdGlvbiBzKGUpe2NvbnN0e3Byb2Nlc3NlZFRleHQ6ZCxsZWFkaW5nRW1vamk6dX09aSh7dGV4dDplfSksYz0oMCx0Lmh0bWxFc2NhcGUpKGQpO2lmKCF1KXJldHVybiBjO3JldHVybmAke2Z1bmN0aW9uKGUpe2NvbnN0IGQ9KDAsYS5nZXRUd2Vtb2ppVXJsKShlLCJwbmciKTtyZXR1cm5gPHNwYW4gY2xhc3M9JHtsLnRvb2x0aXBFbW9qaVdyYXB9PiZuYnNwPGltZyBjbGFzcz0ke2wudG9vbHRpcEVtb2ppfSBzcmM9JHtkfSBkZWNvZGluZz0iYXN5bmMiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgYWx0PSIiIGRyYWdnYWJsZT0iZmFsc2UiLz48L3NwYW4+YH0odSl9Jm5ic3A7JHtjfWB9fSw0OTI5NzgoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7TGlzdEl0ZW1CdXR0b246KCk9Pmx9KTt2YXIgdD11KDc3OTQ3NCksYz11KDkxNDQ4Nyksbj11Lm4oYyksbz11KDI3MzMxMCksYT11KDIyODU4MSk7ZnVuY3Rpb24gbChlKXtjb25zdHtjbGFzc05hbWU6ZCxkaXNhYmxlZDp1LC4uLmN9PWU7cmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLkljb24se2NsYXNzTmFtZTpuKCkoYS5idXR0b24sdSYmYS5kaXNhYmxlZCxkKSwuLi5jfSl9fSwzMzMzMTIoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7Z2V0VHdlbW9qaVVybDooKT0+Y30pO3ZhciB0PXUoMjYwNjAzKTtmdW5jdGlvbiBjKGUsZCl7bGV0IHU9IiI7cmV0dXJuIHQuZGVmYXVsdC5wYXJzZShlLChlPT4odT10LmRlZmF1bHQuYmFzZSsoInN2ZyI9PT1kP2BzdmcvJHtlfS5zdmdgOmA3Mng3Mi8ke2V9LnBuZ2ApLCExKSkpLHV9dC5kZWZhdWx0LmJhc2U9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3R3ZW1vamkvMTMuMC4xLyJ9LDYwMDUzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiPjxjaXJjbGUgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGN4PSI2IiBjeT0iNiIgcj0iNS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNS4xIDIuOTk1YS45MDUuOTA1IDAgMCAxIDEuODAxIDBMNi41IDdoLTFsLS40LTQuMDA1eiIvPjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIGZpbGw9ImN1cnJlbnRDb2xvciIgcng9IjEiIHg9IjUiIHk9IjgiLz48L3N2Zz4nfSw4ODk1NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMzMyIDYuNTQ4IDIxLjQyIDIwLjcwNEE5Ljk2MiA5Ljk2MiAwIDAgMCAyNCAxNGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwYTkuOTYxIDkuOTYxIDAgMCAwLTYuNjY4IDIuNTQ4Wm0xMy4zODEgMTQuODY0TDYuNjIxIDcuMjUyQTkuOTYyIDkuOTYyIDAgMCAwIDQgMTRjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMCAyLjU4NCAwIDQuOTM4LS45OCA2LjcxMy0yLjU4OFpNNi4yNjMgNi4xODFBMTAuOTY3IDEwLjk2NyAwIDAgMSAxNCAzYzYuMDc1IDAgMTEgNC45MjUgMTEgMTEgMCAzLjAzNi0xLjIzIDUuNzg1LTMuMjE4IDcuNzc1QTEwLjk2NyAxMC45NjcgMCAwIDEgMTQgMjVDNy45MjUgMjUgMyAyMC4wNzUgMyAxNGMwLTMuMDU4IDEuMjQ5LTUuODI2IDMuMjYzLTcuODJaIi8+PC9zdmc+J30sNTgzODQyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTMuOSAxNC4xVjIyaDEuMnYtNy45SDIzdi0xLjJoLTcuOVY1aC0xLjJ2Ny45SDZ2MS4yaDcuOXoiLz48L3N2Zz4nfSwzODQxNTQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNCA5LjVhLjUuNSAwIDAgMCAxIDBWNy4wMkE2LjUgNi41IDAgMCAxIDIwLjk4IDEzSDE4LjVhLjUuNSAwIDAgMCAwIDFoMi40OEE2LjUgNi41IDAgMCAxIDE1IDE5Ljk4VjE3LjVhLjUuNSAwIDAgMC0xIDB2Mi40OEE2LjUgNi41IDAgMCAxIDguMDIgMTRoMi40OGEuNS41IDAgMCAwIDAtMUg4LjAyQTYuNSA2LjUgMCAwIDEgMTQgNy4wMlY5LjV6bTEtMy40OFY0LjVhLjUuNSAwIDAgMC0xIDB2MS41MkE3LjUgNy41IDAgMCAwIDcuMDIgMTNINS41YS41LjUgMCAwIDAgMCAxaDEuNTJBNy41IDcuNSAwIDAgMCAxNCAyMC45OHYxLjUyYS41LjUgMCAwIDAgMSAwdi0xLjUyQTcuNSA3LjUgMCAwIDAgMjEuOTggMTRoMS41MmEuNS41IDAgMCAwIDAtMWgtMS41MkE3LjUgNy41IDAgMCAwIDE1IDYuMDJ6Ii8+PC9zdmc+J30sMjAyNTExKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy45OCA2LjAyTDE0LjUgNmMyLjE4IDAgNC4xNi44IDUuNjYgMi4xNGwtNS42NiA1LjY1LTIuMzEtMi4zYTguNDMgOC40MyAwIDAgMCAxLjU1LTMuNjQgMTQuMDEgMTQuMDEgMCAwIDAgLjI0LTEuODN6bS0xLjAxLjEyYTguNDUgOC40NSAwIDAgMC00LjEzIDJsMi42NCAyLjYzYTcuNTkgNy41OSAwIDAgMCAxLjI4LTMuMTJjLjEyLS41OS4xOC0xLjEyLjItMS41MXptLTQuODMgMi43YTguNDUgOC40NSAwIDAgMC0yIDQuMTNjLjM5LS4wMy45Mi0uMSAxLjUxLS4yMWE3LjU5IDcuNTkgMCAwIDAgMy4xMi0xLjI4TDguMTQgOC44NHptLTIuMTIgNS4xNGE4LjQ4IDguNDggMCAwIDAgMi4xMiA2LjE4bDUuNjUtNS42Ni0yLjMtMi4zMWE4LjQzIDguNDMgMCAwIDEtMy42NCAxLjU1IDE0LjAzIDE0LjAzIDAgMCAxLTEuODMuMjR6bTIuODIgNi44OGE4LjQ2IDguNDYgMCAwIDAgNS4xMyAyLjEydi0uMDdBOC45NSA4Ljk1IDAgMCAxIDE2LjMgMTdsLTEuOC0xLjgtNS42NiA1LjY1ek0xNC45NyAyM2MyLS4xIDMuOC0uOSA1LjE5LTIuMTNMMTcgMTcuNzJhNy45NCA3Ljk0IDAgMCAwLTIuMDQgNS4yN3ptNS45LTIuODNhOC40NiA4LjQ2IDAgMCAwIDIuMTEtNS4xM2gtLjAyYTEwLjYyIDEwLjYyIDAgMCAwLTUuMiAybDMuMSAzLjEzem0yLjEyLTYuMTNjLS4xLTItLjktMy44LTIuMTMtNS4xOWwtNS42NSA1LjY2IDEuODMgMS44M2ExMS42IDExLjYgMCAwIDEgNS45NS0yLjN6TTE0LjUgNUE5LjQ2IDkuNDYgMCAwIDAgNSAxNC41YzAgNS4yOCA0LjIyIDkuNSA5LjUgOS41czkuNS00LjIyIDkuNS05LjVTMTkuNzggNSAxNC41IDV6Ii8+PC9zdmc+J30sMTYxMTc3KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNC41NCAzLjJsLjc4LS41OSA1LjQ5IDQuNSAxLjQzIDEuMDdhNS4yOCA1LjI4IDAgMCAxIDIuMTktMi4zIDkuMTkgOS4xOSAwIDAgMSAxLjg4LS44NWguMDRsLjAxLS4wMS4xNC40OC40Mi0uMjh2LjAxbC4wMS4wMmEzLjE0IDMuMTQgMCAwIDEgLjE2LjI2bC4zNy43MmMuMi40NS40IDEuMDIuNSAxLjY0YTIuMTMgMi4xMyAwIDAgMSAxLjg5LjQ2bC4xOC4xNi4wMy4wMi4xOC4xNmMuMjIuMTYuNDIuMjcuODEuMjVhNS45IDUuOSAwIDAgMCAyLjItLjg2bC42Ni0uMzYuMDkuNzVhNS45OCA1Ljk4IDAgMCAxLTEuNyA1LjEgNi44NyA2Ljg3IDAgMCAxLTEuNyAxLjIzIDE5Ljk3IDE5Ljk3IDAgMCAxIC40OCAyLjQ4Yy4yNSAxLjczLjQyIDQuMDguMDYgNi41QTEuNDYgMS40NiAwIDAgMSAxOS42OCAyNWgtNy43MWExLjUgMS41IDAgMCAxLTEuNC0yLjA2bDEtMi40N2MtLjE4LjAyLS4zNy4wMy0uNTguMDNhMyAzIDAgMCAxLTEuNTMtLjQgNi44NCA2Ljg0IDAgMCAxLTEuNi42NGMtMS4wOC4yNy0yLjU1LjI5LTMuNzItLjg5YTQuMDYgNC4wNiAwIDAgMS0uOTYtMyA1LjEgNS4xIDAgMCAxIDItMy43NCA5OC41IDk4LjUgMCAwIDAgMi43LTIuMjRMNC41NSAzLjJ6TTE2LjUgNS41bC0uMTQtLjQ4LjM1LS4xLjIuMy0uNDEuMjh6bS03Ljg3IDYuMDZhNTcuNDggNTcuNDggMCAwIDEtMi4xOSAxLjgybC40OS4yNmMuNjUuMzcgMS40OC45IDEuOTcgMS41NmE1Ljc4IDUuNzggMCAwIDEgMS4xNCA0LjA3bC4wNi4wM2MuMTkuMS40OS4yLjkuMi42OCAwIC45NS0uMTEgMS4wMy0uMTZ2LS4wM2wuOTcuMTloLS41LjV2LjAzYS43NS43NSAwIDAgMS0uMDEuMS43NC43NCAwIDAgMS0uMDkuMjFsLTEuMzkgMy40N2EuNS41IDAgMCAwIC40Ny42OWg3LjcxYy4yNCAwIC40My0uMTcuNDctLjM4YTIyIDIyIDAgMCAwLS4wNi02LjIyIDI0LjQgMjQuNCAwIDAgMC0uNTYtMi43MSAxMS4zNSAxMS4zNSAwIDAgMC0uOTQtMS41MiA3LjEgNy4xIDAgMCAwLTIuMzEtMi4yMmwtLjYyLS4zMS40OS0uNUEzLjAzIDMuMDMgMCAwIDAgMTcgOC42YTEuMiAxLjIgMCAwIDAgLjAxLS4xYzAtLjY1LS4yMi0xLjMzLS40Ni0xLjg2LS4xLS4yMS0uMTgtLjQtLjI2LS41NGE4LjA3IDguMDcgMCAwIDAtMS4zNC42NGMtLjkuNTQtMS43NCAxLjMyLTEuOTUgMi4zNnYuMDNsLS4wMi4wM0wxMi41IDlsLjQ3LjE2di4wMmEyLjk3IDIuOTcgMCAwIDEtLjEuMjYgNS45IDUuOSAwIDAgMS0uMzEuNjJjLS4yNy40Ni0uNyAxLjA3LTEuMzQgMS4zOS0uNjMuMzEtMS4zOC4zLTEuOS4yM2E1LjgzIDUuODMgMCAwIDEtLjctLjEyem0zLjI2LTIuMzlMMTAuMiA3LjlsLS4wMi0uMDFMNi4zIDQuN2wyLjU3IDUuODhoLjAxYy4xNC4wNC4zNC4wOC41Ny4xMS40Ny4wNi45Ny4wNSAxLjM0LS4xNC4zNi0uMTguNjgtLjU3LjkxLS45OS4wOC0uMTQuMTUtLjI3LjItLjM5em04LjMyIDQuNjhhNS40NyA1LjQ3IDAgMCAwIDEuMzctMS4wMiA0Ljg4IDQuODggMCAwIDAgMS40Ni0zLjUzYy0uOC4zOS0xLjQxLjU4LTEuOTIuNjEtLjcuMDUtMS4xNC0uMTgtMS40OS0uNDVhNS42IDUuNiAwIDAgMS0uMjItLjE5bC0uMDMtLjAzLS4xNy0uMTNhMS40IDEuNCAwIDAgMC0uMzMtLjIyYy0uMTgtLjA3LS40NC0uMTItLjkzIDBsLS4xLjRjLS4xLjMtLjI4LjY5LS41OCAxLjA5Ljg3LjU5IDEuNiAxLjQ2IDIuMTQgMi4yYTE0LjkyIDE0LjkyIDAgMCAxIC44IDEuMjd6TTkuMDUgMTkuMTl2LS4wOWE0Ljc4IDQuNzggMCAwIDAtLjk2LTMuMyA1LjU2IDUuNTYgMCAwIDAtMS42NS0xLjI5Yy0uMy0uMTctLjYtLjMtLjgtLjRsLS4wNS0uMDNhNC4wNSA0LjA1IDAgMCAwLTEuNCAyLjgyIDMuMSAzLjEgMCAwIDAgLjY2IDIuMjVjLjgzLjgyIDEuODYuODQgMi43OC42MmE1LjcxIDUuNzEgMCAwIDAgMS40Mi0uNTh6bTQuMjYtNS44N2MtLjMuMjQtLjc0LjU0LTEuMTguNjYtLjM3LjEtLjgxLjEtMS4xMi4wOGE2Ljk1IDYuOTUgMCAwIDEtLjU0LS4wNmgtLjA1bC4wOC0uNS4wOC0uNS4wMy4wMWE1LjAyIDUuMDIgMCAwIDAgMS4yNiAwYy4yNC0uMDYuNTQtLjI1LjgzLS40N2E2LjEgNi4xIDAgMCAwIC40Mi0uMzdsLjAyLS4wMi4zNi4zNS4zNS4zNmgtLjAxbC0uMDMuMDRhNi4wOSA2LjA5IDAgMCAxLS41LjQyek02IDE3aDF2LTFINnYxeiIvPjwvc3ZnPid9LDU2OTc4NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjUgMjR2LTUuNW0wIDBzMi43LTEuMSA0LjUtMWMyLjEuMTIgMi45IDEuODggNSAyIDEuOC4xIDQuNS0xIDQuNS0xdi02bS0xNCA2di02bTAgMHYtNnMyLjctMS4xIDQuNS0xYzIuMS4xMiAyLjkgMS44OCA1IDIgMS44LjEgNC41LTEgNC41LTF2Nm0tMTQgMHMyLjctMS4xIDQuNS0xYzIuMS4xMiAyLjkgMS44OCA1IDIgMS44LjEgNC41LTEgNC41LTEiLz48L3N2Zz4nfSwxODU2MDUoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyLjUgOGgxLjM2bC0uODUtMy4zOC45OC0uMjQuOSAzLjYyaDcuNjRhMS4zNCAxLjM0IDAgMCAxIC4yLjAyYy4xMy4wMi4zMS4wNy41LjE2LjE4LjA5LjM4LjI0LjUzLjQ2LjE1LjI0LjI0LjUyLjI0Ljg2IDAgLjM0LS4wOS42Mi0uMjQuODZhMS4zOCAxLjM4IDAgMCAxLS43OS41NkwyMiAyNC41NGwtLjAzLjQ2SDYuNWMtMSAwLTEuNjQtLjY4LTEuOTktMS4yM2E0LjQgNC40IDAgMCAxLS4zOC0uNzhsLS4wMS0uMDRjLS4xLS4wMy0uMjItLjA3LS4zNC0uMTNhMS4zNiAxLjM2IDAgMCAxLS41NC0uNDZBMS41MSAxLjUxIDAgMCAxIDMgMjEuNWMwLS4zNC4wOS0uNjIuMjQtLjg2LjE1LS4yMi4zNS0uMzcuNTQtLjQ2LjEtLjA1LjItLjA5LjI4LS4xMWE2LjYgNi42IDAgMCAxIC45Ni0yLjM0QzUuOTIgMTYuMzUgNy41NiAxNSAxMC41IDE1Yy43MiAwIDEuMzYuMDggMS45My4yMmwtLjQtNC4zYTEuMzggMS4zOCAwIDAgMS0uOC0uNTdBMS41MSAxLjUxIDAgMCAxIDExIDkuNWMwLS4zNC4wOS0uNjIuMjQtLjg2LjE1LS4yMi4zNS0uMzcuNTQtLjQ2YTEuNzMgMS43MyAwIDAgMSAuNy0uMThoLjAydi41Vjh6bS45NiA3LjU3YTUuNzMgNS43MyAwIDAgMSAyLjUyIDIuMTYgNi44NiA2Ljg2IDAgMCAxIC45NSAyLjM0IDEuMzggMS4zOCAwIDAgMSAuODIuNThjLjE2LjIzLjI1LjUxLjI1Ljg1IDAgLjM0LS4wOS42Mi0uMjQuODYtLjE1LjIyLS4zNS4zNy0uNTQuNDYtLjEyLjA2LS4yNC4xLS4zNC4xM2wtLjAxLjA0YTQuNCA0LjQgMCAwIDEtLjU0IDEuMDFoNC43bC45My0xM2gtOC45MWwuNDEgNC41N3pNMTQuNSA5aDhhLjczLjczIDAgMCAxIC4yOC4wN2MuMDYuMDQuMTEuMDguMTUuMTMuMDMuMDUuMDcuMTQuMDcuMyAwIC4xNi0uMDQuMjUtLjA3LjNhLjM4LjM4IDAgMCAxLS4xNS4xMy43My43MyAwIDAgMS0uMjcuMDdIMTIuNWEuNzMuNzMgMCAwIDEtLjI4LS4wNy4zOC4zOCAwIDAgMS0uMTUtLjEzLjUyLjUyIDAgMCAxLS4wNy0uM2MwLS4xNi4wNC0uMjUuMDctLjMuMDQtLjA1LjA5LS4xLjE1LS4xM0EuNzMuNzMgMCAwIDEgMTIuNSA5aDIuMDF6bTEuNCAxMWE1LjggNS44IDAgMCAwLS43Ni0xLjczQzE0LjQxIDE3LjE1IDEzLjA2IDE2IDEwLjUgMTZjLTIuNTYgMC0zLjkxIDEuMTUtNC42NCAyLjI3QTUuODYgNS44NiAwIDAgMCA1LjEgMjBoMTAuNzh6TTQuNSAyMWEuNzIuNzIgMCAwIDAtLjI4LjA3LjM4LjM4IDAgMCAwLS4xNS4xMy41Mi41MiAwIDAgMC0uMDcuM2MwIC4xNi4wNC4yNS4wNy4zLjA0LjA1LjA5LjEuMTUuMTNhLjczLjczIDAgMCAwIC4yNy4wN0gxNi41YS43Mi43MiAwIDAgMCAuMjgtLjA3LjM4LjM4IDAgMCAwIC4xNS0uMTMuNTIuNTIgMCAwIDAgLjA3LS4zLjUyLjUyIDAgMCAwLS4wNy0uMy4zOC4zOCAwIDAgMC0uMTUtLjEzLjczLjczIDAgMCAwLS4yNy0uMDdINC41em0uNzMgMmwuMTMuMjNjLjI4LjQ1LjY1Ljc3IDEuMTQuNzdoOGMuNSAwIC44Ni0uMzIgMS4xNC0uNzcuMDUtLjA3LjEtLjE1LjEzLS4yM0g1LjIzek0xMSAxN3YxaC0xdi0xaDF6bS0zIDFoMXYxSDh2LTF6bTQgMXYtMWgxdjFoLTF6Ii8+PC9zdmc+J30sNjk0NTMyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjUgMjFIOWguNXptOCAwSDE3aC41em0tNi0xMEgxMXYxaC41di0xem00IDFoLjV2LTFoLS41djF6bTIgNy41aC41LS41em0uMjktMS41OUE3Ljk3IDcuOTcgMCAwIDAgMjEgMTEuNWgtMWE2Ljk3IDYuOTcgMCAwIDEtMi43OSA1LjU5bC41OC44MnpNMjEgMTEuNUE3LjUgNy41IDAgMCAwIDEzLjUgNHYxYTYuNSA2LjUgMCAwIDEgNi41IDYuNWgxek0xMy41IDRBNy41IDcuNSAwIDAgMCA2IDExLjVoMUE2LjUgNi41IDAgMCAxIDEzLjUgNVY0ek02IDExLjVhNy45OCA3Ljk4IDAgMCAwIDMuMjEgNi40MWwuNTctLjgyQTYuOTggNi45OCAwIDAgMSA3IDExLjVINnpNOSAyMWExIDEgMCAwIDAgMSAxdi0xSDl6bTggMWExIDEgMCAwIDAgMS0xaC0xdjF6bS02LS41VjIzaDF2LTEuNWgtMXptMCAxLjVhMSAxIDAgMCAwIDEgMXYtMWgtMXptMSAxaDN2LTFoLTN2MXptMyAwYTEgMSAwIDAgMCAxLTFoLTF2MXptMS0xdi0xLjVoLTFWMjNoMXptLTMtMTEuNXY2aDF2LTZoLTF6TTkuNSAyMGg4di0xaC04djF6TTkgMTcuNXYyaDF2LTJIOXptMCAyVjIxaDF2LTEuNUg5em05IDEuNXYtMS41aC0xVjIxaDF6bTAtMS41di0yaC0xdjJoMXpNOS41IDE4aDR2LTFoLTR2MXptNCAwaDR2LTFoLTR2MXptLTItNmgydi0xaC0ydjF6bTIgMGgydi0xaC0ydjF6TTEwIDIyaDEuNXYtMUgxMHYxem0xLjUgMGg0di0xaC00djF6bTQgMEgxN3YtMWgtMS41djF6Ii8+PC9zdmc+J30sODE0NjcwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik02IDE0LjVDNiA5Ljc4IDkuNzggNiAxNC41IDZjNC43MiAwIDguNSAzLjc4IDguNSA4LjUgMCA0LjcyLTMuNzggOC41LTguNSA4LjVBOC40NiA4LjQ2IDAgMCAxIDYgMTQuNXpNMTQuNSA1QTkuNDYgOS40NiAwIDAgMCA1IDE0LjVjMCA1LjI4IDQuMjIgOS41IDkuNSA5LjVzOS41LTQuMjIgOS41LTkuNVMxOS43OCA1IDE0LjUgNXpNMTQgMTZWOWgxdjZoNHYxaC01eiIvPjwvc3ZnPid9LDYyMDc4MShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYgMTQuNUM2IDkuNzggOS43OCA2IDE0LjUgNmM0LjcyIDAgOC41IDMuNzggOC41IDguNSAwIDQuNzItMy43OCA4LjUtOC41IDguNUE4LjQ2IDguNDYgMCAwIDEgNiAxNC41ek0xNC41IDVBOS40NiA5LjQ2IDAgMCAwIDUgMTQuNWMwIDUuMjggNC4yMiA5LjUgOS41IDkuNXM5LjUtNC4yMiA5LjUtOS41UzE5Ljc4IDUgMTQuNSA1ek0xMiAxMmExIDEgMCAxIDAgMCAyIDEgMSAwIDAgMCAwLTJ6bTQgMWExIDEgMCAxIDEgMiAwIDEgMSAwIDAgMS0yIDB6bS02IDRsLS40My4yNnYuMDFsLjAzLjAzYTMuNTUgMy41NSAwIDAgMCAuMy40IDUuNyA1LjcgMCAwIDAgOS4yMiAwIDUuNDIgNS40MiAwIDAgMCAuMjgtLjRsLjAyLS4wM3YtLjAxTDE5IDE3bC0uNDMtLjI2di4wMmEyLjQ1IDIuNDUgMCAwIDEtLjI0LjMyYy0uMTcuMjEtLjQzLjUtLjc4Ljc5YTQuNzEgNC43MSAwIDAgMS02Ljg4LS44IDQuMzIgNC4zMiAwIDAgMS0uMjMtLjMxbC0uMDEtLjAyTDEwIDE3eiIvPjwvc3ZnPid9LDkwMDMxMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjYgMTUuNDNBNi4xOSA2LjE5IDAgMCAxIDE0IDYuMzZhNi4xOSA2LjE5IDAgMCAxIDguNCA5LjA4bC0uMDMuMDItNy4zIDcuMzFhMS41IDEuNSAwIDAgMS0yLjEzIDBsLTcuMy03LjMtLjAzLS4wM20uNzEtLjd2LS4wMWE1LjE5IDUuMTkgMCAwIDEgNy4zMy03LjM0di4wMWMuMi4yLjUxLjE5LjcgMGE1LjE5IDUuMTkgMCAwIDEgNy4zNCA3LjMzbC0uMDMuMDItNy4zIDcuMzFhLjUuNSAwIDAgMS0uNzEgMGwtNy4zLTcuMy0uMDMtLjAyeiIvPjwvc3ZnPid9LDc1MDc2OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjIuODcgNi40NGMuMDktLjc4LS41My0xLjQtMS4zLTEuMzEtMS40My4xNS0zLjQzLjQ4LTUuNDIgMS4yYTExLjggMTEuOCAwIDAgMC01LjIzIDMuNDRMOS44NiAxMS45bDYuMjQgNi4yNCAyLjEzLTEuMDZhMTEuOCAxMS44IDAgMCAwIDMuNDQtNS4yM2MuNzItMS45OSAxLjA1LTQgMS4yLTUuNDF6bS00LjkzIDExLjlsLTEuNzIuODYtLjA0LjAyaC0uMDRsLTIuMi42N3YuMDFhMTkuNjggMTkuNjggMCAwIDAtLjEzIDMuMzNjLjAxLjE0LjA4LjIyLjE3LjI2LjA4LjA0LjIuMDUuMzItLjAzYTE4LjgzIDE4LjgzIDAgMCAwIDIuNzktMi4yNiA4LjE4IDguMTggMCAwIDAgLjQ0LTEuMWMuMTYtLjUxLjMzLTEuMTIuNDEtMS43NnptLS40NCAzLjE2bC4zNS4zNS0uMDEuMDItLjA1LjA1YTE2Ljg1IDE2Ljg1IDAgMCAxLS44My43NmMtLjU0LjQ3LTEuMyAxLjA4LTIuMSAxLjYxYTEuMyAxLjMgMCAwIDEtMi4wNS0uOTggMTYuNDYgMTYuNDYgMCAwIDEgLjA5LTMuMDhsLS4xNi4wNWExLjUgMS41IDAgMCAxLTEuNTMtLjM2bC0zLjEzLTMuMTNjLS40LS40LS41NC0xLS4zNi0xLjUzbC4wNS0uMTYtLjM2LjA0Yy0uNy4wNi0xLjYyLjExLTIuNTQuMDZhMS4zIDEuMyAwIDAgMS0xLjEzLS44Yy0uMTgtLjQyLS4xMy0uOTQuMTctMS4zNWE4Ny41NSA4Ny41NSAwIDAgMSAyLjE1LTIuOGwuMDQtLjA0di0uMDJsLjQuMzEtLjIyLS40NS4wMy0uMDFhNS45MyA1LjkzIDAgMCAxIC4zNC0uMTZjLjIzLS4xLjU1LS4yMi45NC0uMzVBOS43NyA5Ljc3IDAgMCAxIDEwLjI2IDlhMTIuOSAxMi45IDAgMCAxIDUuNTUtMy42MWMyLjA5LS43NiA0LjE4LTEuMSA1LjY1LTEuMjYgMS40MS0uMTUgMi41NiAxIDIuNCAyLjQxYTI0LjA0IDI0LjA0IDAgMCAxLTEuMjUgNS42NUExMi45IDEyLjkgMCAwIDEgMTkgMTcuNzRhOS43NyA5Ljc3IDAgMCAxLS44OCAzLjYxIDkuMTggOS4xOCAwIDAgMS0uMTYuMzR2LjAzaC0uMDFsLS40NS0uMjJ6bTAgMGwuNDUuMjItLjA0LjA4LS4wNi4wNS0uMzUtLjM1em0tMTEtMTFsLS40LS4zMS4wOC0uMDkuMS0uMDUuMjIuNDV6bTMuMTYtLjQ0YTkuNjEgOS42MSAwIDAgMC0yLjg0Ljg0bC0uMTMuMTZhMTA5LjgzIDEwOS44MyAwIDAgMC0xLjk3IDIuNTguNC40IDAgMCAwLS4wNi4zOGMuMDQuMS4xMi4xNy4yNy4xOGExNi4wNSAxNi4wNSAwIDAgMCAzLjE4LS4xNWwuNjYtMi4yLjAxLS4wMy4wMi0uMDQuODYtMS43MnptNS40IDguNDVsLTUuNTctNS41Ni0uNTEgMS43LS4zMS45MmEuNS41IDAgMCAwIC4xMi41MWwzLjEzIDMuMTNhLjUuNSAwIDAgMCAuNS4xMmwuOTItLjNoLjAybDEuNy0uNTJ6bS0xMC45MS42NGwyLTIgLjcuNy0yIDItLjctLjd6bTAgNGw0LTQgLjcuNy00IDQtLjctLjd6bTQgMGwyLTIgLjcuNy0yIDItLjctLjd6TTE2IDEwLjVhMS41IDEuNSAwIDEgMSAzIDAgMS41IDEuNSAwIDAgMS0zIDB6TTE3LjUgOGEyLjUgMi41IDAgMSAwIDAgNSAyLjUgMi41IDAgMCAwIDAtNXoiLz48L3N2Zz4nfSwyNjA2MDMoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7ZGVmYXVsdDooKT0+dH0pO2NvbnN0IHQ9ZnVuY3Rpb24oKXt2YXIgZT17YmFzZToiaHR0cHM6Ly90d2Vtb2ppLm1heGNkbi5jb20vdi8xMy4wLjEvIixleHQ6Ii5wbmciLHNpemU6IjcyeDcyIixjbGFzc05hbWU6ImVtb2ppIixjb252ZXJ0Ontmcm9tQ29kZVBvaW50OmZ1bmN0aW9uKGUpe3ZhciBkPSJzdHJpbmciPT10eXBlb2YgZT9wYXJzZUludChlLDE2KTplO2lmKGQ8NjU1MzYpcmV0dXJuIGEoZCk7cmV0dXJuIGEoNTUyOTYrKChkLT02NTUzNik+PjEwKSw1NjMyMCsoMTAyMyZkKSl9LHRvQ29kZVBvaW50Omd9LG9uZXJyb3I6ZnVuY3Rpb24oKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobCh0aGlzLmFsdCwhMSksdGhpcyl9LApwYXJzZTpmdW5jdGlvbihkLHUpe3UmJiJmdW5jdGlvbiIhPXR5cGVvZiB1fHwodT17Y2FsbGJhY2s6dX0pO3JldHVybigic3RyaW5nIj09dHlwZW9mIGQ/bTpmKShkLHtjYWxsYmFjazp1LmNhbGxiYWNrfHxyLGF0dHJpYnV0ZXM6ImZ1bmN0aW9uIj09dHlwZW9mIHUuYXR0cmlidXRlcz91LmF0dHJpYnV0ZXM6cCxiYXNlOiJzdHJpbmciPT10eXBlb2YgdS5iYXNlP3UuYmFzZTplLmJhc2UsZXh0OnUuZXh0fHxlLmV4dCxzaXplOnUuZm9sZGVyfHwodD11LnNpemV8fGUuc2l6ZSwibnVtYmVyIj09dHlwZW9mIHQ/dCsieCIrdDp0KSxjbGFzc05hbWU6dS5jbGFzc05hbWV8fGUuY2xhc3NOYW1lLG9uZXJyb3I6dS5vbmVycm9yfHxlLm9uZXJyb3J9KTt2YXIgdH0scmVwbGFjZTpiLHRlc3Q6ZnVuY3Rpb24oZSl7dS5sYXN0SW5kZXg9MDt2YXIgZD11LnRlc3QoZSk7cmV0dXJuIHUubGFzdEluZGV4PTAsZH19LGQ9eyImIjoiJmFtcDsiLCI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwiJyI6IiYjMzk7IiwnIic6IiZxdW90OyIKfSx1PS8oPzpcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMXxcdWQ4M2RcdWRjNmJcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzZjXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2ZFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RbXHVkYzZiLVx1ZGM2ZF0pfCg/Olx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZVx1ZGRkMSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP1x1MjAwZCg/Olx1MjY5NVx1ZmUwZnxcdTI2OTZcdWZlMGZ8XHUyNzA4XHVmZTBmfFx1ZDgzY1tcdWRmM2VcdWRmNzNcdWRmN2NcdWRmODRcdWRmOTNcdWRmYTRcdWRmYThcdWRmZWJcdWRmZWRdfFx1ZDgzZFtcdWRjYmJcdWRjYmNcdWRkMjdcdWRkMmNcdWRlODBcdWRlOTJdfFx1ZDgzZVtcdWRkYWYtXHVkZGIzXHVkZGJjXHVkZGJkXSl8KD86XHVkODNjW1x1ZGZjYlx1ZGZjY118XHVkODNkW1x1ZGQ3NFx1ZGQ3NV18XHUyNmY5KSgoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVmZTBmKVx1MjAwZFtcdTI2NDBcdTI2NDJdXHVmZTBmKXwoPzpcdWQ4M2NbXHVkZmMzXHVkZmM0XHVkZmNhXXxcdWQ4M2RbXHVkYzZlXHVkYzcwXHVkYzcxXHVkYzczXHVkYzc3XHVkYzgxXHVkYzgyXHVkYzg2XHVkYzg3XHVkZTQ1LVx1ZGU0N1x1ZGU0Ylx1ZGU0ZFx1ZGU0ZVx1ZGVhM1x1ZGViNC1cdWRlYjZdfFx1ZDgzZVtcdWRkMjZcdWRkMzVcdWRkMzctXHVkZDM5XHVkZDNkXHVkZDNlXHVkZGI4XHVkZGI5XHVkZGNkLVx1ZGRjZlx1ZGRkNi1cdWRkZGRdKSg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXSk/XHUyMDBkW1x1MjY0MFx1MjY0Ml1cdWZlMGZ8KD86XHVkODNkXHVkYzY4XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY4fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM2OHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1MjZhN1x1ZmUwZnxcdWQ4M2NcdWRmZjNcdWZlMGZcdTIwMGRcdWQ4M2NcdWRmMDh8XHVkODNjXHVkZmY0XHUyMDBkXHUyNjIwXHVmZTBmfFx1ZDgzZFx1ZGMxNVx1MjAwZFx1ZDgzZVx1ZGRiYXxcdWQ4M2RcdWRjM2JcdTIwMGRcdTI3NDRcdWZlMGZ8XHVkODNkXHVkYzQxXHUyMDBkXHVkODNkXHVkZGU4fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2Zlx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2RcdWRjNmZcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZDNjXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGQzY1x1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkZGVcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZGRlXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGRkZlx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkZGZcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNkXHVkYzA4XHUyMDBkXHUyYjFiKXxbIyowLTldXHVmZTBmP1x1MjBlM3woPzpbwqnCrlx1MjEyMlx1MjY1Zl1cdWZlMGYpfCg/Olx1ZDgzY1tcdWRjMDRcdWRkNzBcdWRkNzFcdWRkN2VcdWRkN2ZcdWRlMDJcdWRlMWFcdWRlMmZcdWRlMzdcdWRmMjFcdWRmMjQtXHVkZjJjXHVkZjM2XHVkZjdkXHVkZjk2XHVkZjk3XHVkZjk5LVx1ZGY5Ylx1ZGY5ZVx1ZGY5Zlx1ZGZjZFx1ZGZjZVx1ZGZkNC1cdWRmZGZcdWRmZjNcdWRmZjVcdWRmZjddfFx1ZDgzZFtcdWRjM2ZcdWRjNDFcdWRjZmRcdWRkNDlcdWRkNGFcdWRkNmZcdWRkNzBcdWRkNzNcdWRkNzYtXHVkZDc5XHVkZDg3XHVkZDhhLVx1ZGQ4ZFx1ZGRhNVx1ZGRhOFx1ZGRiMVx1ZGRiMlx1ZGRiY1x1ZGRjMi1cdWRkYzRcdWRkZDEtXHVkZGQzXHVkZGRjLVx1ZGRkZVx1ZGRlMVx1ZGRlM1x1ZGRlOFx1ZGRlZlx1ZGRmM1x1ZGRmYVx1ZGVjYlx1ZGVjZC1cdWRlY2ZcdWRlZTAtXHVkZWU1XHVkZWU5XHVkZWYwXHVkZWYzXXxbXHUyMDNjXHUyMDQ5XHUyMTM5XHUyMTk0LVx1MjE5OVx1MjFhOVx1MjFhYVx1MjMxYVx1MjMxYlx1MjMyOFx1MjNjZlx1MjNlZC1cdTIzZWZcdTIzZjFcdTIzZjJcdTIzZjgtXHUyM2ZhXHUyNGMyXHUyNWFhXHUyNWFiXHUyNWI2XHUyNWMwXHUyNWZiLVx1MjVmZVx1MjYwMC1cdTI2MDRcdTI2MGVcdTI2MTFcdTI2MTRcdTI2MTVcdTI2MThcdTI2MjBcdTI2MjJcdTI2MjNcdTI2MjZcdTI2MmFcdTI2MmVcdTI2MmZcdTI2MzgtXHUyNjNhXHUyNjQwXHUyNjQyXHUyNjQ4LVx1MjY1M1x1MjY2MFx1MjY2M1x1MjY2NVx1MjY2Nlx1MjY2OFx1MjY3Ylx1MjY3Zlx1MjY5Mi1cdTI2OTdcdTI2OTlcdTI2OWJcdTI2OWNcdTI2YTBcdTI2YTFcdTI2YTdcdTI2YWFcdTI2YWJcdTI2YjBcdTI2YjFcdTI2YmRcdTI2YmVcdTI2YzRcdTI2YzVcdTI2YzhcdTI2Y2ZcdTI2ZDFcdTI2ZDNcdTI2ZDRcdTI2ZTlcdTI2ZWFcdTI2ZjAtXHUyNmY1XHUyNmY4XHUyNmZhXHUyNmZkXHUyNzAyXHUyNzA4XHUyNzA5XHUyNzBmXHUyNzEyXHUyNzE0XHUyNzE2XHUyNzFkXHUyNzIxXHUyNzMzXHUyNzM0XHUyNzQ0XHUyNzQ3XHUyNzU3XHUyNzYzXHUyNzY0XHUyN2ExXHUyOTM0XHUyOTM1XHUyYjA1LVx1MmIwN1x1MmIxYlx1MmIxY1x1MmI1MFx1MmI1NVx1MzAzMFx1MzAzZFx1MzI5N1x1MzI5OV0pKD86XHVmZTBmfCg/IVx1ZmUwZSkpfCg/Oig/Olx1ZDgzY1tcdWRmY2JcdWRmY2NdfFx1ZDgzZFtcdWRkNzRcdWRkNzVcdWRkOTBdfFtcdTI2MWRcdTI2ZjdcdTI2ZjlcdTI3MGNcdTI3MGRdKSg/Olx1ZmUwZnwoPyFcdWZlMGUpKXwoPzpcdWQ4M2NbXHVkZjg1XHVkZmMyLVx1ZGZjNFx1ZGZjN1x1ZGZjYV18XHVkODNkW1x1ZGM0Mlx1ZGM0M1x1ZGM0Ni1cdWRjNTBcdWRjNjYtXHVkYzY5XHVkYzZlXHVkYzcwLVx1ZGM3OFx1ZGM3Y1x1ZGM4MS1cdWRjODNcdWRjODUtXHVkYzg3XHVkY2FhXHVkZDdhXHVkZDk1XHVkZDk2XHVkZTQ1LVx1ZGU0N1x1ZGU0Yi1cdWRlNGZcdWRlYTNcdWRlYjQtXHVkZWI2XHVkZWMwXHVkZWNjXXxcdWQ4M2VbXHVkZDBjXHVkZDBmXHVkZDE4LVx1ZGQxY1x1ZGQxZVx1ZGQxZlx1ZGQyNlx1ZGQzMC1cdWRkMzlcdWRkM2RcdWRkM2VcdWRkNzdcdWRkYjVcdWRkYjZcdWRkYjhcdWRkYjlcdWRkYmJcdWRkY2QtXHVkZGNmXHVkZGQxLVx1ZGRkZF18W1x1MjcwYVx1MjcwYl0pKSg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXSk/fCg/Olx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM2NVx1ZGI0MFx1ZGM2ZVx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNzNcdWRiNDBcdWRjNjNcdWRiNDBcdWRjNzRcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzc3XHVkYjQwXHVkYzZjXHVkYjQwXHVkYzczXHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGRlNlx1ZDgzY1tcdWRkZTgtXHVkZGVjXHVkZGVlXHVkZGYxXHVkZGYyXHVkZGY0XHVkZGY2LVx1ZGRmYVx1ZGRmY1x1ZGRmZFx1ZGRmZl18XHVkODNjXHVkZGU3XHVkODNjW1x1ZGRlNlx1ZGRlN1x1ZGRlOS1cdWRkZWZcdWRkZjEtXHVkZGY0XHVkZGY2LVx1ZGRmOVx1ZGRmYlx1ZGRmY1x1ZGRmZVx1ZGRmZl18XHVkODNjXHVkZGU4XHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlOVx1ZGRlYi1cdWRkZWVcdWRkZjAtXHVkZGY1XHVkZGY3XHVkZGZhLVx1ZGRmZl18XHVkODNjXHVkZGU5XHVkODNjW1x1ZGRlYVx1ZGRlY1x1ZGRlZlx1ZGRmMFx1ZGRmMlx1ZGRmNFx1ZGRmZl18XHVkODNjXHVkZGVhXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYVx1ZGRlY1x1ZGRlZFx1ZGRmNy1cdWRkZmFdfFx1ZDgzY1x1ZGRlYlx1ZDgzY1tcdWRkZWUtXHVkZGYwXHVkZGYyXHVkZGY0XHVkZGY3XXxcdWQ4M2NcdWRkZWNcdWQ4M2NbXHVkZGU2XHVkZGU3XHVkZGU5LVx1ZGRlZVx1ZGRmMS1cdWRkZjNcdWRkZjUtXHVkZGZhXHVkZGZjXHVkZGZlXXxcdWQ4M2NcdWRkZWRcdWQ4M2NbXHVkZGYwXHVkZGYyXHVkZGYzXHVkZGY3XHVkZGY5XHVkZGZhXXxcdWQ4M2NcdWRkZWVcdWQ4M2NbXHVkZGU4LVx1ZGRlYVx1ZGRmMS1cdWRkZjRcdWRkZjYtXHVkZGY5XXxcdWQ4M2NcdWRkZWZcdWQ4M2NbXHVkZGVhXHVkZGYyXHVkZGY0XHVkZGY1XXxcdWQ4M2NcdWRkZjBcdWQ4M2NbXHVkZGVhXHVkZGVjLVx1ZGRlZVx1ZGRmMlx1ZGRmM1x1ZGRmNVx1ZGRmN1x1ZGRmY1x1ZGRmZVx1ZGRmZl18XHVkODNjXHVkZGYxXHVkODNjW1x1ZGRlNi1cdWRkZThcdWRkZWVcdWRkZjBcdWRkZjctXHVkZGZiXHVkZGZlXXxcdWQ4M2NcdWRkZjJcdWQ4M2NbXHVkZGU2XHVkZGU4LVx1ZGRlZFx1ZGRmMC1cdWRkZmZdfFx1ZDgzY1x1ZGRmM1x1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWEtXHVkZGVjXHVkZGVlXHVkZGYxXHVkZGY0XHVkZGY1XHVkZGY3XHVkZGZhXHVkZGZmXXxcdWQ4M2NcdWRkZjRcdWQ4M2NcdWRkZjJ8XHVkODNjXHVkZGY1XHVkODNjW1x1ZGRlNlx1ZGRlYS1cdWRkZWRcdWRkZjAtXHVkZGYzXHVkZGY3LVx1ZGRmOVx1ZGRmY1x1ZGRmZV18XHVkODNjXHVkZGY2XHVkODNjXHVkZGU2fFx1ZDgzY1x1ZGRmN1x1ZDgzY1tcdWRkZWFcdWRkZjRcdWRkZjhcdWRkZmFcdWRkZmNdfFx1ZDgzY1x1ZGRmOFx1ZDgzY1tcdWRkZTYtXHVkZGVhXHVkZGVjLVx1ZGRmNFx1ZGRmNy1cdWRkZjlcdWRkZmJcdWRkZmQtXHVkZGZmXXxcdWQ4M2NcdWRkZjlcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGU5XHVkZGViLVx1ZGRlZFx1ZGRlZi1cdWRkZjRcdWRkZjdcdWRkZjlcdWRkZmJcdWRkZmNcdWRkZmZdfFx1ZDgzY1x1ZGRmYVx1ZDgzY1tcdWRkZTZcdWRkZWNcdWRkZjJcdWRkZjNcdWRkZjhcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRmYlx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWFcdWRkZWNcdWRkZWVcdWRkZjNcdWRkZmFdfFx1ZDgzY1x1ZGRmY1x1ZDgzY1tcdWRkZWJcdWRkZjhdfFx1ZDgzY1x1ZGRmZFx1ZDgzY1x1ZGRmMHxcdWQ4M2NcdWRkZmVcdWQ4M2NbXHVkZGVhXHVkZGY5XXxcdWQ4M2NcdWRkZmZcdWQ4M2NbXHVkZGU2XHVkZGYyXHVkZGZjXXxcdWQ4M2NbXHVkY2NmXHVkZDhlXHVkZDkxLVx1ZGQ5YVx1ZGRlNi1cdWRkZmZcdWRlMDFcdWRlMzItXHVkZTM2XHVkZTM4LVx1ZGUzYVx1ZGU1MFx1ZGU1MVx1ZGYwMC1cdWRmMjBcdWRmMmQtXHVkZjM1XHVkZjM3LVx1ZGY3Y1x1ZGY3ZS1cdWRmODRcdWRmODYtXHVkZjkzXHVkZmEwLVx1ZGZjMVx1ZGZjNVx1ZGZjNlx1ZGZjOFx1ZGZjOVx1ZGZjZi1cdWRmZDNcdWRmZTAtXHVkZmYwXHVkZmY0XHVkZmY4LVx1ZGZmZl18XHVkODNkW1x1ZGMwMC1cdWRjM2VcdWRjNDBcdWRjNDRcdWRjNDVcdWRjNTEtXHVkYzY1XHVkYzZhXHVkYzZmXHVkYzc5LVx1ZGM3Ylx1ZGM3ZC1cdWRjODBcdWRjODRcdWRjODgtXHVkY2E5XHVkY2FiLVx1ZGNmY1x1ZGNmZi1cdWRkM2RcdWRkNGItXHVkZDRlXHVkZDUwLVx1ZGQ2N1x1ZGRhNFx1ZGRmYi1cdWRlNDRcdWRlNDgtXHVkZTRhXHVkZTgwLVx1ZGVhMlx1ZGVhNC1cdWRlYjNcdWRlYjctXHVkZWJmXHVkZWMxLVx1ZGVjNVx1ZGVkMC1cdWRlZDJcdWRlZDUtXHVkZWQ3XHVkZWViXHVkZWVjXHVkZWY0LVx1ZGVmY1x1ZGZlMC1cdWRmZWJdfFx1ZDgzZVtcdWRkMGRcdWRkMGVcdWRkMTAtXHVkZDE3XHVkZDFkXHVkZDIwLVx1ZGQyNVx1ZGQyNy1cdWRkMmZcdWRkM2FcdWRkM2NcdWRkM2YtXHVkZDQ1XHVkZDQ3LVx1ZGQ3Nlx1ZGQ3OFx1ZGQ3YS1cdWRkYjRcdWRkYjdcdWRkYmFcdWRkYmMtXHVkZGNiXHVkZGQwXHVkZGRlLVx1ZGRmZlx1ZGU3MC1cdWRlNzRcdWRlNzgtXHVkZTdhXHVkZTgwLVx1ZGU4Nlx1ZGU5MC1cdWRlYThcdWRlYjAtXHVkZWI2XHVkZWMwLVx1ZGVjMlx1ZGVkMC1cdWRlZDZdfFtcdTIzZTktXHUyM2VjXHUyM2YwXHUyM2YzXHUyNjdlXHUyNmNlXHUyNzA1XHUyNzI4XHUyNzRjXHUyNzRlXHUyNzUzLVx1Mjc1NVx1Mjc5NS1cdTI3OTdcdTI3YjBcdTI3YmZcdWU1MGFdKXxcdWZlMGYvZyx0PS9cdUZFMEYvZyxjPVN0cmluZy5mcm9tQ2hhckNvZGUoODIwNSksbj0vWyY8PiciXS9nLG89L14oPzppZnJhbWV8bm9mcmFtZXN8bm9zY3JpcHR8c2NyaXB0fHNlbGVjdHxzdHlsZXx0ZXh0YXJlYSkkLyxhPVN0cmluZy5mcm9tQ2hhckNvZGUKO3JldHVybiBlO2Z1bmN0aW9uIGwoZSxkKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZD9lLnJlcGxhY2UodCwiIik6ZSl9ZnVuY3Rpb24gcihlLGQpe3JldHVybiIiLmNvbmNhdChkLmJhc2UsZC5zaXplLCIvIixlLGQuZXh0KX1mdW5jdGlvbiBpKGUsZCl7Zm9yKHZhciB1LHQsYz1lLmNoaWxkTm9kZXMsbj1jLmxlbmd0aDtuLS07KTM9PT0odD0odT1jW25dKS5ub2RlVHlwZSk/ZC5wdXNoKHUpOjEhPT10fHwib3duZXJTVkdFbGVtZW50ImluIHV8fG8udGVzdCh1Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHxpKHUsZCk7cmV0dXJuIGR9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZyhlLmluZGV4T2YoYyk8MD9lLnJlcGxhY2UodCwiIik6ZSl9ZnVuY3Rpb24gZihlLGQpe2Zvcih2YXIgdCxjLG4sbyxhLHIsZixtLGgscCxiLGcsdixTPWkoZSxbXSkseT1TLmxlbmd0aDt5LS07KXtmb3Iobj0hMSxvPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxyPShhPVNbeV0pLm5vZGVWYWx1ZSxtPTA7Zj11LmV4ZWMocik7KXtpZigoaD1mLmluZGV4KSE9PW0mJm8uYXBwZW5kQ2hpbGQobChyLnNsaWNlKG0saCksITApKSxnPXMoYj1mWzBdKSxtPWgrYi5sZW5ndGgsdj1kLmNhbGxiYWNrKGcsZCksZyYmdil7Zm9yKGMgaW4ocD1uZXcgSW1hZ2UpLm9uZXJyb3I9ZC5vbmVycm9yLHAuc2V0QXR0cmlidXRlKCJkcmFnZ2FibGUiLCJmYWxzZSIpLHQ9ZC5hdHRyaWJ1dGVzKGIsZykpdC5oYXNPd25Qcm9wZXJ0eShjKSYmMCE9PWMuaW5kZXhPZigib24iKSYmIXAuaGFzQXR0cmlidXRlKGMpJiZwLnNldEF0dHJpYnV0ZShjLHRbY10pO3AuY2xhc3NOYW1lPWQuY2xhc3NOYW1lLHAuYWx0PWIscC5zcmM9dixuPSEwLG8uYXBwZW5kQ2hpbGQocCl9cHx8by5hcHBlbmRDaGlsZChsKGIsITEpKSxwPW51bGx9biYmKG08ci5sZW5ndGgmJm8uYXBwZW5kQ2hpbGQobChyLnNsaWNlKG0pLCEwKSksYS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChvLGEpKX1yZXR1cm4gZX1mdW5jdGlvbiBtKGUsZCl7cmV0dXJuIGIoZSwoZnVuY3Rpb24oZSl7dmFyIHUsdCxjPWUsbz1zKGUpLGE9ZC5jYWxsYmFjayhvLGQpO2lmKG8mJmEpe2Zvcih0IGluIGM9IjxpbWcgIi5jb25jYXQoJ2NsYXNzPSInLGQuY2xhc3NOYW1lLCciICcsJ2RyYWdnYWJsZT0iZmFsc2UiICcsJ2FsdD0iJyxlLCciJywnIHNyYz0iJyxhLCciJyksdT1kLmF0dHJpYnV0ZXMoZSxvKSl1Lmhhc093blByb3BlcnR5KHQpJiYwIT09dC5pbmRleE9mKCJvbiIpJiYtMT09PWMuaW5kZXhPZigiICIrdCsiPSIpJiYoYz1jLmNvbmNhdCgiICIsdCwnPSInLHVbdF0ucmVwbGFjZShuLGgpLCciJykpO2M9Yy5jb25jYXQoIi8+Iil9cmV0dXJuIGN9KSl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZFtlXX1mdW5jdGlvbiBwKCl7cmV0dXJuIG51bGx9ZnVuY3Rpb24gYihlLGQpe3JldHVybiBTdHJpbmcoZSkucmVwbGFjZSh1LGQpfWZ1bmN0aW9uIGcoZSxkKXtmb3IodmFyIHU9W10sdD0wLGM9MCxuPTA7bjxlLmxlbmd0aDspdD1lLmNoYXJDb2RlQXQobisrKSxjPyh1LnB1c2goKDY1NTM2KyhjLTU1Mjk2PDwxMCkrKHQtNTYzMjApKS50b1N0cmluZygxNikpLGM9MCk6NTUyOTY8PXQmJnQ8PTU2MzE5P2M9dDp1LnB1c2godC50b1N0cmluZygxNikpO3JldHVybiB1LmpvaW4oZHx8Ii0iKX19KCl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/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://huobiget.com/","date":"2026-07-27T07:21:39.497Z","timestamp":1785136899497,"http_version":"HTTP/2","security_state":"secure","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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:39 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: 0ffefdc464b5195dd92a5efd2cbb5955\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-08-10T08:00:01.091368Z","times_seen":1855,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLG89Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpvfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczpvLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsoaT10Lmhvc3Qscj0zLGkuc3BsaXQoIi4iKS5zbGljZSgtcikuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIGkscjtyZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPW4ucGFyZW50Tm9kZTtvJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihvLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobykpLG8mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixDPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsXz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Qyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1fLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoQyxULF8pO2NvbnN0IGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxrLEEpLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgST10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoST8odChJLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxJKSxuPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKG4uaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBvPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobyksdGhpcy5fc2V0SGFzaFN0cmluZyhvLGkpLG4uc2V0QXR0cmlidXRlKCJzcmMiLG8udG9TdHJpbmcoKSksbi50aXRsZT1yLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IHM9ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19Y29uc3QgZz03Njc7dmFyIHUsbSxwLGYsdzshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0odXx8KHU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0obXx8KG09e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KHB8fChwPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGZ8fChmPXt9KSksZnVuY3Rpb24odCl7CnRbdC5UaWNrZXJJdGVtSGVpZ2h0Tm9ybWFsPTQ0XT0iVGlja2VySXRlbUhlaWdodE5vcm1hbCIsdFt0LlRpY2tlckl0ZW1IZWlnaHRDb21wYWN0PTcyXT0iVGlja2VySXRlbUhlaWdodENvbXBhY3QifSh3fHwodz17fSkpO2NvbnN0IHk9ZztuZXcgY2xhc3MgZXh0ZW5kcyBke2dldCB3aWRnZXRJZCgpe3JldHVybiJ0aWNrZXItdGFwZSJ9Z2V0IHVzZVBhcmFtc0ZvckNvbm5lY3RTb2NrZXQoKXtyZXR1cm4hMH1maWx0ZXJSYXdTZXR0aW5ncyh0KXt2b2lkIDAhPT10LnRoZW1lJiYodC5jb2xvclRoZW1lPXQudGhlbWUpO2NvbnN0IGU9c3VwZXIuZmlsdGVyUmF3U2V0dGluZ3ModCk7bGV0IGk7ZS53aWR0aD0iMTAwJSI7dHJ5e2k9dGhpcy5pZnJhbWVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGh9ZmluYWxseXtlLmhlaWdodD1mdW5jdGlvbih0LGUsaSxyKXtsZXQgcz0obj10PT09dS5BZGFwdGl2ZSYmcj9yPD15OnQ9PT11LkNvbXBhY3Qsbj83Mjo0NCk7dmFyIG47cmV0dXJuIGV8fChzKz0yKSxpJiYocys9MzIpLHN9KHQuZGlzcGxheU1vZGUsdC5pc1RyYW5zcGFyZW50LHRoaXMuaGFzQ29weXJpZ2h0KCksaSl9cmV0dXJuIGV9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWyJzeW1ib2xzIiwibG9jYWxlIiwic2hvd1N5bWJvbExvZ28iLCJjb2xvclRoZW1lIiwiaXNUcmFuc3BhcmVudCIsImxhcmdlQ2hhcnRVcmwiLCJkaXNwbGF5TW9kZSIsImN1c3RvbWVyIl19fX0pKCk7"}},"time_used":236,"timings":{"blocked":-1,"dns":12,"connect":2,"send":0,"wait":4,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93421.95381f8e004d0d2fa8cf.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.430Z","timestamp":1785136901430,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93421.95381f8e004d0d2fa8cf.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1dc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 93595ede541cc1a18c1c0ceef8999e96\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":476,"size_decoded":971,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (476), with no line terminators","md5":"37bae040f1b0c84be3c545c1c2303cd1","sha1":"4d4cca3a184846ae3b3aa7cacecbc00873e0f411","sha256":"d021bcce768a1fe978903b5a9ff7b2120d90ea6df9ef981ace4d7edc9904ab6e","sha512":"a722c067825d0bfc7bb3e24a0bd456d26d0abff0921bee7e68e4a4a0e8a3d44340c2674fe3aa8a445ab5bc9d5de47a7c827600a20ca4edb6a83709dded14d6f7","ssdeep":"","tlshash":"06f0e99652ccbf337da011a7e2d2421b5388bc24fe2a658d9affd91a05d527050b9846","first_seen":"2026-07-17T14:15:58.317943Z","last_seen":"2026-08-10T05:01:44.342588Z","times_seen":275,"resource_available":false,"data":"LmNvbnRleHRBY3Rpb25zLXVCSmhqVVY4e2Rpc3BsYXk6ZmxleH0uaGlkZUlmTm9Ib3Zlci11QkpoalVWOHstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWhvdmVyZWQtb3ItZm9jdXNlZDptaW4oMSx2YXIoLS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1ob3ZlcmVkLDApICsgdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtZm9jdXNlZC12aXNpYmxlLDApKX1AbWVkaWEgbm90IChhbnktcG9pbnRlcjpjb2Fyc2Upey5oaWRlSWZOb0hvdmVyLXVCSmhqVVY4e29wYWNpdHk6bWluKDEsdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtaG92ZXJlZC1vci1mb2N1c2VkLDApICsgdmFyKC0tdWktbGliLXByaXZhdGUtY29udGV4dEFjdGlvbi1mb3JjZVZpc2libGUsMCkpfX0uc29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkLXVCSmhqVVY4ey0tdWktbGliLXByaXZhdGUtY29udGV4dEFjdGlvbi1mb3JjZVZpc2libGU6MX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84265.4c6d8f772d538f528598.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.637Z","timestamp":1785136901637,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/84265.4c6d8f772d538f528598.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-3ec9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 37d20547f33d59897b501a59a2337886\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16073,"size_decoded":6405,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"aaa159536c7d981785f51eb8ba67db93","sha1":"5784ebe9400e2e22025fd79e968d64297da6cd0a","sha256":"ef93d4903275fc451f34833321771914711245c75400304160edb454f5cea2f6","sha512":"8251e335dab75314acec8c4fb0be5d55dcb1ba3f7875695b4234c7c902ce169087b041112ff620a936d0113202ccb19fb57930b21765a24faa342177cd37e569","ssdeep":"384:FrWj47HRZhjkj+bEvcxXXws4gNwVb86wxR2ViPzhvUel2HOU2s6nSSf05r:FBHRZhYjIHP4gNwVYXxR2QP9vUel2Hth","tlshash":"5972c624f2b4ac666bb352ed4ef543835d9c4c82de5109befaa908cf195c5083379b39","first_seen":"2026-07-23T14:00:31.621457Z","last_seen":"2026-07-28T06:17:53.448224Z","times_seen":85,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODQyNjVdLHs5OTAwNjAoZSx0LHMpe2Z1bmN0aW9uIGkoZSx0KXtyZXR1cm57c3RhcnQ6TWF0aC5taW4oZS5zdGFydCx0LnN0YXJ0KSxlbmQ6TWF0aC5tYXgoZS5lbmQsdC5lbmQpfX1mdW5jdGlvbiByKGUpe3JldHVybiB2b2lkIDA9PT1lP2U6QXJyYXkuZnJvbShlKX1zLmQodCx7YXJyYXlGcm9tU2V0OigpPT5yLG1lcmdlVHBvUHJpY2VSYW5nZXM6KCk9Pml9KX0sNjg0MjY1KGUsdCxzKXt2YXIgaTtzLmQodCx7VHBvU3R1ZHlCYXNlOigpPT5VLGV4dGVuZGluZ0lucHV0SWRzOigpPT5FfSksZnVuY3Rpb24oZSl7ZVtlLlYxPTFdPSJWMSIsZVtlLlYyPTJdPSJWMiJ9KGl8fChpPXt9KSk7dmFyIHI9cygzMDQyMjEpLG89cygxMzg2MzgpLGE9cyg5NTI5MDApLGw9cygyMjEwNjEpLG49cygxNDUzODEpLGM9cygxODUyNzEpLGQ9cyg1NzA2MDMpLHU9cyg3NjUxNzMpLHA9cygyMDU2MTEpLGg9cyg5NDM5NSksbT1zKDE5NzI3MiksZz1zKDc2ODI5MiksXz1zKDc5ODM4KSxTPXMoMTI4OTk4KSx3PXMoNTA3NjA0KTtjb25zdHtjb2xvckNvbGRHcmF5MjAwOnksY29sb3JDb2xkR3JheTkwMDpQLGNvbG9yRGVlcEJsdWVBMjAwOlQsY29sb3JEZWVwQmx1ZUE3MDA6Yixjb2xvckdyYXBlc1B1cnBsZUEyMDBBbHBoYTE1OkEsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDp2LGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6Q309dy5jb2xvcnMsUj17cG9jOltQLHldLHBvb3JIaWdoOltiLFRdLHBvb3JMb3c6W2IsVF0sc2luZ2xlcHJpbnRzOltBLEFdLHZhaDpbUCx5XSx2YWw6W1AseV0sdmFsdWVzOltQLHldLHZwVmFoOltQLHldLHZwVmFsOltQLHldLHZwUG9jOltQLHldLHZvbHVtZUNvbG9yOlt2LHZdLHZhbHVlQXJlYUNvbG9yOltDLENdfTtsZXQgZj1udWxsO3ZhciBNPXMoOTg0Mzc2KSxWPXMoNDAzODE3KSxrPXMoOTkwMDYwKSx4PXMoNTg4ODcwKSxJPXMoODc0NjApLEI9cyg1NDIxOTIpO2NsYXNzIE8gZXh0ZW5kcyB4LlN1bW1hcnlQYW5lVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCl9X2N1dE9mZkxhc3RDb2x1bW4oKXtyZXR1cm4hMX1fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKXtyZXR1cm4gdGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKEIudHBvU3VtbWFyeURhdGFTb3VyY2VJZCl9X2dldFN1bW1hcnlDb2x1bW5SZW5kZXJlckRhdGEoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxyPXRoaXMuX3N0dWR5LG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKSxhPW8uc3VtbWFyeS5jaGlsZHMoKS5pbmZvQmxvY2tzLmNoaWxkcygpLGw9by5sZXZlbHMuY2hpbGRzKCkuaW5pdGlhbEJhbGFuY2VSYW5nZS5jaGlsZHMoKSxuPW5ldyBNLlZvbHVtZUZvcm1hdHRlcixjPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5mb3JtYXR0ZXIoKSxkPWU9PmMuZm9ybWF0KGUpLHU9bmV3IFYuTG9naWNhbFJhbmdlKHQubGVmdCgpLTUsdC5yaWdodCgpKzUpLHA9W10saD0uNSppLmJhclNwYWNpbmcoKTtmb3IoY29uc3RbdCxvXW9mIHMudHBvcygpKXtjb25zdCBjPXMudHBvU3VtbWFyeUluZm8oKS5nZXQodCk7QXJyYXkuZnJvbShvKS5zb3J0KCgoZSx0KT0+ZS5maXJzdEJhclRpbWUtdC5maXJzdEJhclRpbWUpKS5mb3JFYWNoKChvPT57aWYoIXUuY29udGFpbnMoby5maXJzdEJhclRpbWUpJiYhdS5jb250YWlucyhvLmxhc3RCYXJUaW1lKSlyZXR1cm47Y29uc3QgbT1BcnJheS5mcm9tKGM/LmdldChvLmlkKT8/W10pLGc9bVttLmxlbmd0aC0xXTtpZighZylyZXR1cm47Y29uc3R7aW5pdGlhbEJhbGFuY2VIaWdoOl8saW5pdGlhbEJhbGFuY2VMb3c6Uyxpbml0aWFsQmFsYW5jZVJhbmdlOnd9PWEseT17dmFoUHJpY2U6ZChnLnZhaFByaWNlKSx2YWxQcmljZTpkKGcudmFsUHJpY2UpLHBvY1ByaWNlOmQoZy5wb2NQcmljZSl9LFA9Xy5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCksVD1TLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSxiPXcuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpO2lmKFB8fFR8fGIpe2NvbnN0IGU9KDAsay5hcnJheUZyb21TZXQpKHMudHBvQmxvY2tTZXRzKCkuZ2V0KHQpPy5nZXQoby5pZCkpO2lmKHZvaWQgMCE9PWUpe2NvbnN0IHQ9ci5jYWxjdWxhdGVJbml0aWFsQmFsYW5jZVByaWNlUmFuZ2UoZSxvLnByaWNlUmFuZ2UsbCk7eS5pbml0aWFsQmFsYW5jZUhpZ2g9dD9kKHQuZW5kKToi4oCUIix5LmluaXRpYWxCYWxhbmNlTG93PXQ/ZCh0LnN0YXJ0KToi4oCUIix5LmluaXRpYWxCYWxhbmNlUmFuZ2U9dD9kKHQuZW5kLXQuc3RhcnQpOiLigJQifX15LnJvdGF0aW9uRmFjdG9yPWcucm90YXRpb25GYWN0b3IudG9TdHJpbmcoKSx5LmhsUmFuZ2U9ZChnLmhsUmFuZ2UpLHkudmFSYW5nZT1kKGcudmFSYW5nZSkseS50b3RhbFZvbHVtZT1uLmZvcm1hdChnLnRvdGFsVm9sdW1lKSx5LnRwb0NvdW50VG90YWw9Zy50cG9Db3VudFRvdGFsLnRvU3RyaW5nKCkseS50cG9Db3VudEFib3ZlUG9jPWcudHBvQ291bnRBYm92ZVBvYy50b1N0cmluZygpLHkudHBvQ291bnRCZWxvd1BvYz1nLnRwb0NvdW50QmVsb3dQb2MudG9TdHJpbmcoKTtjb25zdCBBPUkudHBvUm93VGl0bGVzLm1hcCgoZT0+ZS5wcm9wTmFtZSkpLmZpbHRlcigoZT0+YVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKGU9Pih7dGV4dDp5W2VdfSkpKSx2PWkuaW5kZXhUb0Nvb3JkaW5hdGUoby5maXJzdEJhclRpbWUpLWgsQz1NYXRoLnJvdW5kKHYqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksUj1pLmluZGV4VG9Db29yZGluYXRlKG8ubGFzdEJhclRpbWUpK2gsZj1NYXRoLnJvdW5kKFIqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyk7cC5wdXNoKHtsZWZ0OkMscmlnaHQ6Zixyb3dzOkF9KX0pKX1yZXR1cm4gcH19dmFyIE49cyg3NDU1NjkpO2NsYXNzIEYgZXh0ZW5kcyBOLlN1bW1hcnlXaWRnZXRTaWRlQXJlYVZpZXd7X2dldERhdGFTb3VyY2VGb3JTdW1tYXJ5KCl7CnJldHVybiB0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoQi50cG9TdW1tYXJ5RGF0YVNvdXJjZUlkKX1fdmlzaWJsZVRpdGxlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKS5zdW1tYXJ5LmNoaWxkcygpLmluZm9CbG9ja3MuY2hpbGRzKCk7cmV0dXJuIEkudHBvUm93VGl0bGVzLmZpbHRlcigodD0+ZVt0LnByb3BOYW1lXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKGU9PmUudHJhbnNsYXRlZFN0cmluZy50cmFuc2xhdGVkVGV4dCgpKSl9fXZhciBELEw9cyg2MzQ4Nik7IWZ1bmN0aW9uKGUpe2VbZS5IaXN0c0NvdW50PTgwXT0iSGlzdHNDb3VudCIsZVtlLlRpY2tzUGVyUm93TWluVmFsdWU9MV09IlRpY2tzUGVyUm93TWluVmFsdWUiLGVbZS5UaWNrc1BlclJvd01heFZhbHVlPTFlNl09IlRpY2tzUGVyUm93TWF4VmFsdWUiLGVbZS5CYXJzRGVwdGhGb3JUaWNrcGVyUm93PTMwMF09IkJhcnNEZXB0aEZvclRpY2twZXJSb3ciLGVbZS5yZXRyeVRpY2tzUGVyUm93Q29lZmY9MS40XT0icmV0cnlUaWNrc1BlclJvd0NvZWZmIixlW2UubWF4VGlja3NQZXJSb3dSZXRyaWVzPTEwXT0ibWF4VGlja3NQZXJSb3dSZXRyaWVzIixlW2UubWF4VGlja3NJblByaWNlUmFuZ2U9MWUzXT0ibWF4VGlja3NJblByaWNlUmFuZ2UiLGVbZS50aWNrc1BlclJvd1JvdW5kRmFjdG9yPTVdPSJ0aWNrc1BlclJvd1JvdW5kRmFjdG9yIn0oRHx8KEQ9e30pKTtjb25zdCAkPVsiZXh0ZW5kUG9vckxvdyIsImV4dGVuZFBvb3JIaWdoIiwiZXh0ZW5kUE9DIiwiZXh0ZW5kVHBvVmFoIiwiZXh0ZW5kVHBvVmFsIiwiZXh0ZW5kU2luZ2xlcHJpbnRzIl0sRT1bLi4uJCwiZXh0ZW5kVm9sdW1lUG9jIiwiZXh0ZW5kVm9sdW1lVmFoIiwiZXh0ZW5kVm9sdW1lVmFsIl0sSD0oMCxsLmdldExvZ2dlcikoIkNoYXJ0LlRwb1N0dWR5QmFzZSIpO2NsYXNzIHogZXh0ZW5kcyB1LlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHIpe3N1cGVyKG5ldyBkLlRyYW5zbGF0ZWRTdHJpbmcoIlRQTyBSZXNldCBhbGwgc3BsaXRzIGFuZCBtZXJnZXMiLGMudChudWxsLHZvaWQgMCxzKDQyOTczMykpKSksdGhpcy5fbW9kZWw9ZSx0aGlzLl9pZD10LHRoaXMuX3NwbGl0c0FuZE1lcmdlcz1pLHRoaXMuX2tleUZpbHRlcj1yfXJlZG8oKXtjb25zdCBlPXN0cnVjdHVyZWRDbG9uZSh0aGlzLl9zcGxpdHNBbmRNZXJnZXMpO09iamVjdC5rZXlzKGUpLmZpbHRlcih0aGlzLl9rZXlGaWx0ZXIpLmZvckVhY2goKHQ9PntkZWxldGUgZVt0XX0pKSx0aGlzLl9zdHVkeSgpLnNldFNwbGl0c0FuZE1lcmdlcyhlKX11bmRvKCl7dGhpcy5fc3R1ZHkoKS5zZXRTcGxpdHNBbmRNZXJnZXModGhpcy5fc3BsaXRzQW5kTWVyZ2VzKX1fc3R1ZHkoKXtyZXR1cm4oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCkpfX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIHQ8ZX1jbGFzcyBVIGV4dGVuZHMgbS5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbyxsLG49eil7RS5mb3JFYWNoKChlPT50LnJlbW92ZUV4Y2x1ZGVkS2V5KGBpbnB1dHMuJHtlfWAsMSkpKSxzdXBlcihlLHQscyxpLHIsbyksdGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPW51bGwsdGhpcy5fc3BsaXRzQW5kTWVyZ2VzPXt9LHRoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyPTAsdGhpcy5fbGFzdFJlc29sdmVkUHJvTmFtZT1udWxsLHRoaXMuX29uU2VyaWVzQ29tcGxldGVkQ2hhbmdlZD1lPT57ZSYmKHRoaXMuX3Nlcmllc0NvbXBsZXRlZC51bnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQpLHRoaXMuX3RyeUNhbGN1bGF0ZVRpY2tQZXJSb3coKSl9LHRoaXMuX3N1bW1hcnlQYW5lVmlldz1uZXcgTyh0aGlzLGUpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldz1uZXcgRihlKSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9KDAsYS5jb21iaW5lKSgoZT0+Xy5zZXJpZXNSZWFkeVN0YXR1c2VzLmhhcyhlLnNlcmllc1N0YXR1cykpLGUubWFpblNlcmllcygpLmNvbXBvc2l0ZVN0YXR1c1ZXKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9jaGFydFN0eWxlTW9kZT0hIWwsbCYmdGhpcy5fcHJvcGVydGllcy5zZXROYW1lSW5Pd25lcigiIiksdGhpcy5fcmVzZXRBbGxTcGxpdHNVbmRvQ29tbWFuZEN0b3I9bix0LmNoaWxkcygpLnN0eWxlcy5oYXNDaGlsZCgic3BsaXRCeUJsb2NrcyIpfHx0LmNoaWxkcygpLnN0eWxlcy5hZGRDaGlsZCgic3BsaXRCeUJsb2NrcyIsbmV3IGcuUHJvcGVydHkoITEpKSx0LmNoaWxkcygpLnN0eWxlcy5oYXNDaGlsZCgic3BsaXRCeUJsb2Nrc01vZGUiKXx8dC5jaGlsZHMoKS5zdHlsZXMuYWRkQ2hpbGQoInNwbGl0QnlCbG9ja3NNb2RlIixuZXcgZy5Qcm9wZXJ0eSgwKSksdC5zZXRUaGVtZWRDb2xvcnMoZnVuY3Rpb24oKXtpZighZil7Y29uc3QgZT0iZ3JhcGhpY3MudHBvTGV2ZWxzLnRwbyIsdD0iZ3JhcGhpY3MudHBvVm9sdW1lUm93cy50cG8iO2Y9W3twYXRoOmAke2V9LnRwb1BvYy5jb2xvcmAsY29sb3JzOlIucG9jfSx7cGF0aDpgJHtlfS50cG9Qb29ySGlnaC5jb2xvcmAsY29sb3JzOlIucG9vckhpZ2h9LHtwYXRoOmAke2V9LnRwb1Bvb3JMb3cuY29sb3JgLGNvbG9yczpSLnBvb3JMb3d9LHtwYXRoOmAke2V9LnRwb1NpbmdsZXByaW50cy5jb2xvcmAsY29sb3JzOlIuc2luZ2xlcHJpbnRzfSx7cGF0aDpgJHtlfS50cG9WYWguY29sb3JgLGNvbG9yczpSLnZhaH0se3BhdGg6YCR7ZX0udHBvVmFsLmNvbG9yYCxjb2xvcnM6Ui52YWx9LHtwYXRoOmAke2V9LnZvbHVtZVZhaC5jb2xvcmAsY29sb3JzOlIudnBWYWh9LHtwYXRoOmAke2V9LnZvbHVtZVZhbC5jb2xvcmAsY29sb3JzOlIudnBWYWx9LHtwYXRoOmAke2V9LnZvbHVtZVBvYy5jb2xvcmAsY29sb3JzOlIudnBQb2N9LHtwYXRoOmAke3R9LnZhbHVlc0NvbG9yYCxjb2xvcnM6Ui52YWx1ZXN9LHtwYXRoOmAke3R9LmNvbG9ycy5ub25WYWAsY29sb3JzOlIudm9sdW1lQ29sb3J9LHtwYXRoOmAke3R9LmNvbG9ycy52YWAsY29sb3JzOlIudmFsdWVBcmVhQ29sb3J9XX0KcmV0dXJuIGZ9KCkpO2NvbnN0IGM9ZS5tYWluU2VyaWVzKCksZD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtjLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fYXBwbHlTcGxpdEFuZE1lcmdlcyksYy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnN1YnNjcmliZSh0aGlzLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMpO2NvbnN0IHU9ZC5tZXJnZVBvaW50czt0aGlzLl91cGRhdGVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUodS52YWx1ZSgpKSx0aGlzLl9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCkuZm9yRWFjaCgoZT0+e2RbZV0/LnN1YnNjcmliZSh0aGlzLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMpfSkpLHRoaXMuX2V4dGVuZGVkSW5wdXRzRW5hYmxlZD0oMCxwLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+dGhpcy5fYXJlVFBPUGxvdHNFeHRlbmRlZCgpKSwkLm1hcCgoZT0+ZFtlXSkpLmZpbHRlcihCb29sZWFuKSksdS5zdWJzY3JpYmUodGhpcywoKCk9Pntjb25zdCBlPXUudmFsdWUoKT8/IltdIjsiW10iPT09ZT90aGlzLl9yZW1vdmVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoKTp0aGlzLl91cGRhdGVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoZSl9KSk7Y29uc3QgaD0oKT0+e3RoaXMuX2F1dG9UaWNrUGVyUm93RGF0YT1udWxsLHRoaXMuX3RyeUNhbGN1bGF0ZVRpY2tQZXJSb3coKX0sbT0oKT0+e2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpOyJBdXRvIj09PWUucm93U2l6ZS52YWx1ZSgpJiZlLnRpY2tzUGVyUm93LnNldFZhbHVlKE5hTiksdGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPW51bGwsdGhpcy5fc2VyaWVzQ29tcGxldGVkLnVuc3Vic2NyaWJlKHRoaXMuX29uU2VyaWVzQ29tcGxldGVkQ2hhbmdlZCksdGhpcy5fc2VyaWVzQ29tcGxldGVkLnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQse29uY2U6ITB9KSx0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcj0wfTtkLnJvd1NpemUuc3Vic2NyaWJlKHRoaXMsaCksdGhpcy5wcm9wZXJ0aWVzKCkub25SZXN0b3JlRmFjdG9yeURlZmF1bHRzKCkuc3Vic2NyaWJlKHRoaXMsaCksYy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e2NvbnN0IGU9Yy5zeW1ib2xJbmZvKCk/LnByb19uYW1lPz9udWxsO3RoaXMuX2xhc3RSZXNvbHZlZFByb05hbWUhPT1lJiYodGhpcy5fbGFzdFJlc29sdmVkUHJvTmFtZT1lLG0oKSl9KSksYy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnN1YnNjcmliZSh0aGlzLG0pLGMub25JbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxtKSx0aGlzLl90cnlDYWxjdWxhdGVUaWNrUGVyUm93KCksdGhpcy5fcHJvcGVydGllcy5hZGRFeGNsdWRlZEtleSgiaW5wdXRzLm1lcmdlUG9pbnRzIiwxKX1zdGF0ZUZvckFsZXJ0KCl7Y29uc3QgZT1zdXBlci5zdGF0ZUZvckFsZXJ0KCksdD0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FsZXJ0TWV0YUluZm8oKSkscz10aGlzLl9jaGFydFN0eWxlTW9kZSYmbi5zdHVkeUlkc0hpZGVJbnB1dHNNb2RlLmhhcygoMCxMLmV4dHJhY3RTdHVkeUlkKSh0LmZ1bGxJZCkpO3JldHVybnsuLi5lLHRpdGxlOnRoaXMuX3RpdGxlKGguVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMSx7fSxzLCExLCEwKSxzaG9ydFRpdGxlOnRoaXMuX3RpdGxlKGguVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMCx7fSxzLCExLCEwKX19YWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWR8fCh0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWQ9KDAsYS5jb21iaW5lKSgoKGUsdCk9PnQmJmUpLHN1cGVyLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS5zcGF3bk93bmVyc2hpcCgpLHRoaXMuX2V4dGVuZGVkSW5wdXRzRW5hYmxlZC5zcGF3bk93bmVyc2hpcCgpKSksdGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkfWRlc3Ryb3koKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTt0aGlzLl9zZXJpZXNDb21wbGV0ZWQudW5zdWJzY3JpYmUodGhpcy5fb25TZXJpZXNDb21wbGV0ZWRDaGFuZ2VkKSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQuZGVzdHJveSgpLGUuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zeW1ib2wudW5zdWJzY3JpYmVBbGwodGhpcyksZS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldy5kZXN0cm95KCksdGhpcy5fcHJvcGVydGllcy5kZXN0cm95KCksdGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkJiYodGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkLmRlc3Ryb3koKSx0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWQ9dm9pZCAwKSx0aGlzLl9leHRlbmRlZElucHV0c0VuYWJsZWQuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX11cGRhdGVBbGxWaWV3cyhlKXtzdXBlci51cGRhdGVBbGxWaWV3cyhlKSx0aGlzLl9zdW1tYXJ5UGFuZVZpZXcudXBkYXRlKCksdGhpcy5fd2lkZ2V0U2lkZUFyZWFWaWV3LnVwZGF0ZSgpfXByZWZlcnJlZFpPcmRlcigpe3JldHVybiAwfXN0YXRlQ3VzdG9tRmllbGRzKCl7cmV0dXJue2F1dG9UaWNrUGVyUm93RGF0YTp0aGlzLl9hdXRvVGlja1BlclJvd0RhdGE/P3ZvaWQgMCxzcGxpdHNBbmRNZXJnZXM6dGhpcy5fc3BsaXRzQW5kTWVyZ2VzfX1yZXN0b3JlU3RhdGVDdXN0b21GaWVsZHMoZSl7dGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPWUuYXV0b1RpY2tQZXJSb3dEYXRhPz9udWxsLHRoaXMuX3NwbGl0c0FuZE1lcmdlcz1lLnNwbGl0c0FuZE1lcmdlcz8/e30sdGhpcy5fYXBwbHlTcGxpdEFuZE1lcmdlcygpfXJlc2V0QWxsU3BsaXRzQW5kTWVyZ2VzKCl7CmNvbnN0IGU9dGhpcy5fbW9kZWwudW5kb01vZGVsKCksdD1uZXcgdGhpcy5fcmVzZXRBbGxTcGxpdHNVbmRvQ29tbWFuZEN0b3IodGhpcy5fbW9kZWwsdGhpcy5pZCgpLHN0cnVjdHVyZWRDbG9uZSh0aGlzLl9zcGxpdHNBbmRNZXJnZXMpLHRoaXMuX3Jlc2V0U3BsaXRzQW5kTWVyZ2VzS2V5RmlsdGVyLmJpbmQodGhpcykpO2UudW5kb0hpc3RvcnkoKS5wdXNoVW5kb0NvbW1hbmQodCl9c2V0U3BsaXRzQW5kTWVyZ2VzKGUpe3RoaXMuX3NwbGl0c0FuZE1lcmdlcz1lLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMoKX1zcGxpdEJsb2NrKGUpe3RoaXMuX2FwcGVuZE1lcmdlU3BsaXRBY3Rpb24oZSwic3BsaXQiLG5ldyBkLlRyYW5zbGF0ZWRTdHJpbmcoIlRQTyBzcGxpdCBibG9jayIsYy50KG51bGwsdm9pZCAwLHMoNjE5NjA5KSkpKX1tZXJnZVByb2ZpbGUoZSl7dGhpcy5fYXBwZW5kTWVyZ2VTcGxpdEFjdGlvbihlLCJtZXJnZSIsbmV3IGQuVHJhbnNsYXRlZFN0cmluZygiVFBPIG1lcmdlIGJsb2NrIixjLnQobnVsbCx2b2lkIDAscyg4NzA0MDkpKSkpfWNhbGN1bGF0ZUluaXRpYWxCYWxhbmNlUHJpY2VSYW5nZShlLHQscyl7bGV0IGk9bnVsbDtjb25zdCByPXMubGV2ZWxzLnZhbHVlKCksbz1LLmJpbmQobnVsbCxyKTtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPXtzdGFydDpzLnJvd0luZGV4KnQsZW5kOihzLnJvd0luZGV4KzEpKnR9O3MuYmxvY2tzLnNvbWUobykmJihpPW51bGw9PT1pP2U6KDAsay5tZXJnZVRwb1ByaWNlUmFuZ2VzKShpLGUpKX1yZXR1cm4gaX1wYW5lVmlld3MoZSl7cmV0dXJuIHRoaXMuX2NoYXJ0U3R5bGVNb2RlP2UhPT10aGlzLl9tb2RlbC5tYWluUGFuZSgpP1t0aGlzLl9zdW1tYXJ5UGFuZVZpZXddOnRoaXMuX3BhbmVWaWV3czpzdXBlci5wYW5lVmlld3MoZSl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KCl7cmV0dXJuIG51bGx9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcigpe3JldHVybiBudWxsfXdpZGdldFNpZGVBcmVhVmlld3MoZSl7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fbW9kZWwubWFpblBhbmUoKTtpZighcylyZXR1cm4gbnVsbDtjb25zdCBpPXMucHJpY2VTY2FsZVBvc2l0aW9uKHQpO3JldHVybiB0aGlzLl9jaGFydFN0eWxlTW9kZSYmZT09PWk/W3RoaXMuX3dpZGdldFNpZGVBcmVhVmlld106bnVsbH1wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U3R5bGVNb2RlP3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCk6c3VwZXIucHJpY2VTY2FsZSgpfWRhdGFVcGRhdGVkKCl7cmV0dXJuIHRoaXMuX2RhdGFVcGRhdGVkfV9yZXNldFNwbGl0c0FuZE1lcmdlc0tleUZpbHRlcihlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPXQucHJvU3ltYm9sKCksaT10aGlzLl9jaGFydFN0eWxlTW9kZXx8KDAsUy5pc1RpbWVCYXNlZFN0eWxlKSh0LnN0eWxlKCkpPyJjb21tb24iOnQuc3R5bGUoKSxyPWUuc3BsaXQoIjsiKTtyZXR1cm4gclswXT09PXMmJnJbMV09PT1pfV9zcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoKXtyZXR1cm4gdGhpcy5fc3BsaXRzQW5kTWVyZ2VzW3RoaXMuX3NwbGl0c0FuZE1lcmdlc0FjdGlvbnNLZXkoMildPz90aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleSgxKV0/P251bGx9X3VwZGF0ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZShlKXt0aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleSgyKV09ZSx0aGlzLl9yZW1vdmVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoMSl9X3JlbW92ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZShlPTIpe2RlbGV0ZSB0aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleShlKV0sMj09PWUmJnRoaXMuX3JlbW92ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZSgxKX1fYXBpSW5wdXRzKCl7Y29uc3R7cm93U2l6ZTplLC4uLnR9PXN1cGVyLl9hcGlJbnB1dHMoKTtyZXR1cm4gdH1fYWxsSW5wdXRzQXJlVmFsaWQoKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS50aWNrc1BlclJvdy52YWx1ZSgpO3JldHVybiFpc05hTihlKSYmc3VwZXIuX2FsbElucHV0c0FyZVZhbGlkKCl9X2F1dG9Sb3dTaXplTW9kZUVuYWJsZWQoKXtyZXR1cm4iQXV0byI9PT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkucm93U2l6ZS52YWx1ZSgpfV90cnlDYWxjdWxhdGVUaWNrUGVyUm93KCl7aWYodGhpcy5fYXV0b1Jvd1NpemVNb2RlRW5hYmxlZCgpJiYoZT10aGlzLl9hdXRvVGlja1BlclJvd0RhdGEsdD10aGlzLl9jdXJyZW50QXV0b1RpY2tQZXJSb3dEYXRhKCksbnVsbD09PWV8fGUuc3ltYm9sIT09dC5zeW1ib2x8fGUuaW50ZXJ2YWwhPT10LmludGVydmFsKSl7dGhpcy5fY2FsY3VsYXRlVGlja1BlclJvdygpP3RoaXMuX2F1dG9UaWNrUGVyUm93RGF0YT10aGlzLl9jdXJyZW50QXV0b1RpY2tQZXJSb3dEYXRhKCk6KHRoaXMuX3Nlcmllc0NvbXBsZXRlZC51bnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQpLHRoaXMuX3Nlcmllc0NvbXBsZXRlZC5zdWJzY3JpYmUodGhpcy5fb25TZXJpZXNDb21wbGV0ZWRDaGFuZ2VkLHtvbmNlOiEwfSkpfXZhciBlLHR9X2NhbGN1bGF0ZVRpY2tQZXJSb3coKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0PWUuc3ltYm9sSW5mbygpLHM9ZS5kYXRhKCkuYmFycygpO2lmKCFzLnNpemUoKXx8IXQpcmV0dXJuITE7Y29uc3QgaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWkpcmV0dXJuITE7Y29uc3Qgcj1zLnJhbmdlQ291bnRiYWNrKGkubGFzdEJhcigpLDMwMCksYT1yLm1pbk1heE9uUmFuZ2VDYWNoZWQoKDAsby5lbnN1cmVOb3ROdWxsKShyLmZpcnN0SW5kZXgoKSksKDAsby5lbnN1cmVOb3ROdWxsKShyLmxhc3RJbmRleCgpKSxbewpuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSk7aWYobnVsbD09PWEpcmV0dXJuITE7Y29uc3QgbD10Lm1pbm1vdi90LnByaWNlc2NhbGUsbj0oYS5tYXgtYS5taW4pL2wsYz1NYXRoLm1heChuLzgwLG4vMWUzKSxkPU1hdGgucG93KDEuNCx0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcikqYys1KnRoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyLHU9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGMpKSxwPTUqTWF0aC5tYXgoMSxNYXRoLnBvdygxMCx1LTEpKSxoPU1hdGgucm91bmQoZC9wKSpwLG09TWF0aC5taW4oMWU2LE1hdGgubWF4KDEsaCkpO3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkudGlja3NQZXJSb3cuc2V0VmFsdWUobSksSC5sb2dJbmZvKGBBdXRvY2FsY3VsYXRlIFRpY2tzUGVyUm93LlxuXHRcdFx0c3ltYm9sOiAke3RoaXMuX3Nlcmllcy5zeW1ib2woKX1cblx0XHRcdGludGVydmFsOiAke3RoaXMuX3Nlcmllcy5pbnRlcnZhbCgpfVxuXHRcdFx0bWluVGljazogJHtsfVxuXHRcdFx0aGlnaDogJHthLm1heH1cblx0XHRcdGxvdzogJHthLm1pbn1cblx0XHRcdGhpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyOiAke3RoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyfVxuXHRcdFx0cmVzdWx0OiAke219YCksITB9X2N1cnJlbnRBdXRvVGlja1BlclJvd0RhdGEoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTtyZXR1cm57c3ltYm9sOmUuZ2V0U3ltYm9sU3RyaW5nKCksaW50ZXJ2YWw6ZS5pbnRlcnZhbCgpfX1fb25TdHVkeUVycm9yKGUpe2NvbnN0IHQ9KDAsci5kZWZhdWx0KShlKT9lOmUuZXJyb3I7aWYodGhpcy5fYXV0b1Jvd1NpemVNb2RlRW5hYmxlZCgpJiZ0LnN0YXJ0c1dpdGgoIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UiKSl7aWYoKyt0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcjwxMClyZXR1cm4gSC5sb2dJbmZvKCJSZWNhbGN1bGF0ZSB0aWNrc1BlclJvdyB3aXRoIG11bHRpcGxpY2F0b3IiKSx2b2lkIHRoaXMuX2NhbGN1bGF0ZVRpY2tQZXJSb3coKTtILmxvZ1dhcm4oIlJlY2FsY3VsYXRpbmcgdGlja3NQZXJSb3cgbGltaXQgaGFzIGJlZW4gZXhjZWVkZWQiKX1zdXBlci5fb25TdHVkeUVycm9yKGUpfV9vblN0dWR5Q29tcGxldGVkKGUpe0gubG9nSW5mbygiUmVzZXQgaGlzdG9ncmFtSXNUb29MYXJnZUNvdW50ZXIgYmVjYXVzZSBvZiBjb21wbGV0ZSBtZXNzYWdlIiksdGhpcy5faGlzdG9ncmFtSXNUb29MYXJnZUNvdW50ZXI9MCxzdXBlci5fb25TdHVkeUNvbXBsZXRlZChlKX1fYXBwZW5kTWVyZ2VTcGxpdEFjdGlvbihlLHQscyl7Y29uc3QgaT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5tZXJnZVBvaW50cy52YWx1ZSgpLHI9IiI9PT1pfHxudWxsPT09aT9bXTpKU09OLnBhcnNlKGkpO3IucHVzaCh7YWN0aW9uOnQsdGltZTplfSksdGhpcy5fbW9kZWwudW5kb01vZGVsKCkuc2V0UHJvcGVydHkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkubWVyZ2VQb2ludHMsSlNPTi5zdHJpbmdpZnkocikscyl9X2FwcGx5U3BsaXRBbmRNZXJnZXMoKXtjb25zdCBlPXRoaXMuX3NwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZSgpPz8iW10iO3RoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLm1lcmdlUG9pbnRzLnNldFZhbHVlKGUpfV9hcmVUUE9QbG90c0V4dGVuZGVkKCl7Y29uc3QgZT10aGlzLl9hcGlJbnB1dHMoKTtyZXR1cm4gJC5zb21lKCh0PT5lW3RdKSl9fX0sODc0NjAoZSx0LHMpe3MuZCh0LHt0cG9Sb3dUaXRsZXM6KCk9Pnd9KTt2YXIgaT1zKDc4MzI1NCkscj1zKDU3MDYwMyk7Y29uc3Qgbz1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBoaWdoLWxvdyByYW5nZSJ9LHMoOTMxNDg4KSksYT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCB2YWx1ZSBhcmVhIHJhbmdlIn0scyg1MDUwMTApKSxsPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgVm9sdW1lIGFyZWEgaGlnaCJ9LHMoODY5MjgzKSksbj1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBhYmJyIFZvbHVtZSBhcmVhIGxvdyJ9LHMoOTI4NjY1KSksYz1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBhYmJyIFBvaW50IG9mIGNvbnRyb2wifSxzKDk0OTYxNykpLGQ9aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSJ9LHMoNzI5MjAzKSksdT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlIn0scyg4NTYwMjgpKSxwPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUifSxzKDI2ODg5MSkpLGg9aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSJ9LHMoMTEyNzQ4KSksbT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlIn0scyg0Mjg3MjMpKSxnPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgSW5pdGlhbCBCYWxhbmNlIEhpZ2gifSxzKDI3NjEzNykpLF89aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSwgYWJiciBJbml0aWFsIEJhbGFuY2UgTG93In0scygxNDgzMzUpKSxTPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgSW5pdGlhbCBCYWxhbmNlIFJhbmdlIn0scyg1MTQ3NjIpKSx3PVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJITCBSYW5nZSIsbykscHJvcE5hbWU6ImhsUmFuZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWQSByYW5nZSIsYSkscHJvcE5hbWU6InZhUmFuZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWQUgiLGwpLHByb3BOYW1lOiJ2YWhQcmljZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlZBTCIsbiksCnByb3BOYW1lOiJ2YWxQcmljZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlBPQyIsYykscHJvcE5hbWU6InBvY1ByaWNlIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiVG90YWwgdm9sdW1lIixkKSxwcm9wTmFtZToidG90YWxWb2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJUb3RhbCBUUE8iLHUpLHByb3BOYW1lOiJ0cG9Db3VudFRvdGFsIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiVFBPIEFib3ZlIFBPQyIscCkscHJvcE5hbWU6InRwb0NvdW50QWJvdmVQb2MifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJUUE8gQmVsb3cgUE9DIixoKSxwcm9wTmFtZToidHBvQ291bnRCZWxvd1BvYyJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlJvdGF0aW9uIGZhY3RvciIsbSkscHJvcE5hbWU6InJvdGF0aW9uRmFjdG9yIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiSUIgaGlnaCIsZykscHJvcE5hbWU6ImluaXRpYWxCYWxhbmNlSGlnaCJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIklCIGxvdyIsXykscHJvcE5hbWU6ImluaXRpYWxCYWxhbmNlTG93In0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiSUIgcmFuZ2UiLFMpLHByb3BOYW1lOiJpbml0aWFsQmFsYW5jZVJhbmdlIn1dfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/clients-logo-08.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.552Z","timestamp":1785136899552,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/clients-logo-08.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/png\r\nContent-Length: 14038\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":14038,"size_decoded":14249,"mime_type":"image/png","magic":"PNG image data, 280 x 100, 8-bit/color RGBA, non-interlaced","md5":"7d917afc12aa287c0e2d9dab0e0ef9ff","sha1":"bb76c571f887250487592a977a13ec2fa6ce8ae3","sha256":"bcd5bcb3fcdb29f85d0bb0435ced0cf4e4e1789e7c701663a1cfa626895eab79","sha512":"a96f73c9a4d6a7ba28c8f6eb1bc6f5fb9b4a75ec5f47d32c597b62f75f82ef0f42237af6b8bd12fafdee3bb394959ec5e276f5163705d53408546fee54a68fcd","ssdeep":"384:3HJdaqhRn7xglRDLF+nvlQgSB0E4mSEJgEOo:3p/FmR6tQ5yE4S/Oo","tlshash":"6252cf09289e2e101158ba475f5bd220185b0dbccd937d7c79dc91a6d3f8ef2a09c8f6","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-08-01T11:22:31.018178Z","times_seen":245,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAARgAAABkCAYAAABdGS+CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4QzUxRUIzMTEyMTExRUFBRjVEOUJCMzExNjk0NzI5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ4QzUxRUI0MTEyMTExRUFBRjVEOUJCMzExNjk0NzI5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDhDNTFFQjExMTIxMTFFQUFGNUQ5QkIzMTE2OTQ3MjkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDhDNTFFQjIxMTIxMTFFQUFGNUQ5QkIzMTE2OTQ3MjkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4HkuLeAAAzRklEQVR42ux9Z3NcS5JdtkM3vPc0oH8k3/C5MbvjVrGhkBQh/Q/9MH2VQvqiD5IiVhHSzs6b2X2Oj94BIECQ8B6N9uoSz4nKLtzbfW93g2wQtyIqQALdt+pWZZ7KzEoTq1QqErWoRS1qp9FiEcBELWpRiwAmalGLWgQwUYta1KIWAUzUoha10weYiZkv/2P1Z1e1Z6t9vtpfVPubai9Gy1O3DVT7rWr/fbX/m2r/utpTzmf+Wu3/qdr/R7VvNDHGULXfrvY/Vvu/rfYvzJ6pv5eq/Z+q/b9W+/+s9pVqv1Ttf1/tv8Jnfq7276r9WbXvBhgzXe1Xqv03GPN31d7vfOZltf9njPsM7/0VPv9HrEuf+rx59wfV/g/oTzH3es0883K1/7ba/z3Wudv5zONq/y/V/t+q/RW+8+tq/3fV/odqv17tPXXGKGHNzD7992r/x4D7ZPbgQrX/XbX/B+z9WIPv7FX7I4zxv6r9x2ovnHUmWH3zQ92/J6t9EBuXr/adas9E2BG4JbFeZg1Hqz3hAUKGYePNHgAYoxtjjDh/L4P50wp4Yvg/xx4HUKVDjBnHodOPMfuczwyDcRPOWnRjXPOdXoeRB7BW8ZDzSGMeox7vMIQxE8569ag9aUTPRTXfZMC5xdUaj6o1bkQrA858zwWDzCmQGQTSvo4kmIaNumUCRJzwkQbi6rPNgkzCh1HiOLXjDjPHQPBzYE5zeKxX+2YAyaHiMFGfx2dcUHPXotf5fJ8zz0rI9e32AUg+N+Yx90zAw3IK6zQNAFhvsEYxjDsFafFyAHDhXLscCfSTb9yIAYiT96r9JsS9RIQhdZshwuNqP4Dkl/eQLrahepZbGCNX7Yd4litSm3G3qv1IMUUOh8SxUrHugRl6AzJ2Ac/cxfO9xP2sOoQqeP99zHPP+fw2+gGeXQk5j32M57Zd/F3P41jN+zDgOvdBihnxUMO8AGYQADMeQuLfxpz2sEeV8wIwJBSzaNeq/XOAzEgLov15aWUwQcGD+XNgulILxFTBGEU83wWxY48xCtjTY5zuE7CpzIEhUgHHLPmMyTGKznuV1efzzvP4u0IIsNXzyNeZR8l5pt886rUerNM0QLmeqpRQADMWAJDYmlmDTwJgtoH4FRDgHRit5hoYyKJmT7QPNU4swNg8+XP4SZC5hT76gecY5G8fe18yABcDxJMN7FUZAMsMfqY7kFY6CmCOlJhpRMWr8v5G4Ia8N+bFIgzpaHCL+UhWRYCMQBr9Ut7fLF0OyRTnAfSNFHIREvx0nfVJwJxgpJcLAO4uj7Uv1bHjnCt+SqoFKarT7rNqX6j2Zei/OxEvn8lG24Qxyt6FpLok769ml86ZdEmVq4KDNe5IJTMAmFl5b6vysj3xVs6A0SVIMF1KLTvGv2P4fbfU3u6du8M6qRafiJsCOhtV6TUWOqtOw6idHcaibSYFu4GRSj/H4XGEg6N0TtakLNZYXAIA9Ii9Nh4EyIxDko972EoykAanIcX0Yq3NMzdhbijjucMApHN9WZJ0NoBtGPr6urLRLEV8e6ZaxfkpYB6zr4tgiMNzBDBF0PJbeX+blYa0Pgu1x/DCKH43pqR3zSsD+DsNvDSYG6B+AckwAQDqAh9JBDDevzeLdA+E+Babcyjn5HrtE21dYo2Zxgv2FcT68yLBaBUxiXXoA3AIJBKCzmupvf7vgvQyCSDSV/4EmHk8q0ciPzJPgCkr3dTo7dehIr0G0CxIcN+CqHWWJMP97oc60CPnyw2hAjXf0PFLsa4FMzAJxKAuXYAqSZo/wPf7AM4XIQlqQ/AmwOUV/l7GWp97N494HWKMA7ENyJgYmLtA7uhW6WwzWcXDVnOe3t/YS95V+3MAzapY+yIl95sACu3jYkD5EqQe8gGftwpA4rO6JFxYxLlTkXQzC24MgxsQLTcgOkbtbDIYr1DLAT5b+YRUYsY20RazBDVnTdlk4rCtXIdko6UUc9iaK/6ryraSV+CyBGmfvkddEbkFQ9heoLYBmdtY+GS0dGeKsTRo0Cu4JOfLnhYH3SYADMYes44DU9+m9Yl1otNhAMbDdwr2GTqgHgFYXkMqOsCaJj14pCLn0H4ZVIQbgdj4JUBmNOLbMyvBlMX6g9Q76ROqtxvows5Z2sCcjBDn1XEBgGCAZk9sqEcc6tCAUpEYKU77FfnG2CPfou8CpOKR/SWciiTYlBnYYhiwdSCRwfesSzSNACbZRoBp5gRvpKaFcV7Tzm+0jxxDetmBLaVb0TuvpJlpgICjVZ99qFgb+H5arVkEMCFVnV7on0T9Q9hkjqWzA7g0EerAwXIEMr4toewIXSGf6fVseooXQ6pm7QaYlNg0Dkmxkdc7UHdG1Pubf18DvXfjgNVX02WxUe67ULs0KEeXISEBJgG99C6Q2yzoS2xOTomYlQ5aXJ7GzMnCVAY7IJxyRAKereyoU62oMgSIoMblMEASCwEyMQWczCFzBDvMKkBiWqmF0zAJDODzbqAopZ8NgExe8Uk8ApjwACNY6HHYY3JA9UMsLtM+dBLAxNVpUgG4LAMYixLdhvmBSxZrtYc1Gmiwp43sJK4UGXQeGpDaQVMaZAgSjMvaAB0zfmgSJgH6yEwoCYdOewSnPbExSAk5p3FH7QAYgchs9NKLQPQuLCrzn3SaBJPEzxL05YcgLCZNijyTT6ozO2C81/hpjJt9dewpFaUGuSoQU3j2oIeJ5NYqR8JnruWAexhTEi3pPqcOnHc4LAkwI1CljtU7UEWi78uS1IYUaIk5ApgmAYbSCl3M+6E69YIIOknt0FGzhhjfKNVuXkk2p9GoYvglbepkCYaS3hN5nxfISDCXlT0m5vGupAsGE2rG7gaNTDqM2+ggGxFraE14gItO6hVGjSMAmHfdAl1QEqETHQMhK459qQL1ehXguya1gcCRcbdFgCnihFuQ9y7ShgjM1fXncjIpdac1Q4xD4p9Dt90AU1SMd5ZaBSrDE8Xg5iCZclQNzUxMsbnvAag9UKevAqiWwdT1mtmnG6CtaQ9aPQKj69SdQVQpd+4VgMymWHtipo7tRwPMmtSmB41UozYADE84E3dxH89YhQQzcgYYp+z8PM2WgmoxLPVLhpQ/0HzCtCOoSD/iVJ9WAONlyDwEKG16ACojl2/ArkHHtnXnvaliGDAzOYl+Ke8DbqedA6GEcdYVKIiSNmJ1pBc9jiiVh8/bl9qE5m4zY21Dpdp0JDE9dqR6S2seuVkQIBnnFghooIPBpah6+RSe79oPmPZi10NPp22oIPY2YkM+THRz0KTbhpFMlPAsJAnWO/KyifBGxgtgmInfSC+/xvsPQFXdxnd1HhVj3/tG3mfguyYnjczHYPAljJkNIcH40fI6pKrLkNi66gDvugKY/Cms/bkGGJaRoM1lF+qSKSplYjhuyslCXZ1iWyg70kLllNd2Ggw1IfbGKqbWkMRtdHmTPuEh1rJT7FgFqAHGXvUUUsU1rJsLMsdiU3swvscteTIOCYZu94/FJjUrK3AxQHYHB5ZX8vktzInG2VwTakrMAZgVPPMa1DkvgKEB/A3ArRmAiSSYBi0u1m2aBGQI6jucdIMdCjCVUwAXfTMR91jbMdimLikm0HWOmA3tLRiJWde2xN7GVOqM4ecH0uj3YW45jmEz+QnMN4Q50WGtC0zGq9tFgNEsPp9xVMZxSCr9YORlpTIN4XtzYjP8xzxAbxXg8gpSX9njvd33r/e3nAKYVfHP3liAxLXizDvI+p7LG6Zkk0yVEOt2HQdD/ADiuQDC+dQrEmiXei/mF6xBF4Cm7IB0QqlI02DELAj4EZi17NgVYh5g7xJtrAHAJCS8M9gqbDEGKCfFppTsFVsVVCC1zOOwGcC7X/NYm16ACNOBsE4QC70Nine9oSLA+DlAbNGxbcWdPZE6wBvzAK0F/PQzyh9CanmDflDn+XGfvTpXYQSt2GBY+S+FDTKo/jPE6KsgoE+5DC3tKGnxryIYl8au9ikA0S9AsBuO4ZL7lJKTPiR05U856gorPrppA9IAhG6prYgYxEZhmPk+JIxZMBsPmT1l41qFtEO/kYx4FyhjAu3xEOraCubwA0BmQ2rrUdFvhvuRdpif6+XGWNHtf11sITs/+wtvnHblZNY60kSXB29lxMZBJSOACX6CazRexObPYgOvfcJoTWJqV+QsI9aXIAVsSG2KUqp48TqSlFYHK3VsaAkJHy+ThUryV0ip22IrUSQUs1GKiSk18LZSn5tpR5BcjBT1J8zhpdTmzNUSGvclbI0meueuQ1rrcdSoDQDottRPgl/xGTMp5yxWqRWA8SLifRjuxqBjGx161GGKdtk+OsGmUwAIbIEB+sU611XqzNVNY5lQ3+Ga9YKxGD+1hhN8WBkcV8VWfSir01jHyfTjWRXszzuxJW3DJvzegJS6guftAFhiHoz6EhJECXO8DWAaEZsywYvRtFfwoXr3ZwCWv0J62RHvuCeWsN3E+owoW9I7sVfRBY/3y2Efn0HFm8balfDOzwCe2z50XMR8ecvUo8B3Q2w520IkwYQzcuoNou/EBMTfvDrJRJq/IdEGTx3tm/pIUlIBxLQEpsuBKF2A0YCiDcwVB2CSWCsWqE8q0F7EGEUADJnQfPYJiDmrgGcbjNAHwu7Gd/fBQI/xnbCEzrmsYX4lsVfMbtsDQ9KI/QoS7SUAaJ9SsbW3dVFsze8N2Drm8aznsJP41eniLQ/ffUts8cAs5v0Ez/RKNXKM736L97oEgC7AqGtu+R7gOSUfKW8Zatye2JIoebE3XwvKvhYBTBON19Y/ik1JOCi1tXqaaSWlInTjmWM48bs/glRTANG8wLwWlaRQ8gATfUWuQYfqTRf+vYvTMofn0KlR8Ps+NcYBCPq1shvQYPkzgGZE2ckOlLT1RsL73BBUD9ThUi/impUo3kGimYN9bgbzoo0moSRCggtLjCzg/QkK9VSTIqSHhwCaUWWQzomNsVr0MNDqA7KM58zg+wW8wzz+vuFDxwd4TwFdcE+5bqvYr+0IYFpTHTaxyWbDnuJkj0ttgbcwUhKJrwxiNKByGWL3Nfk4Ba5KONGXQVivQFC6aHtRakuJul6rMcc2klLAwRwjRTAX0zOm1Rh5seknyHjME3sI5qRXKovI58SWCy43ub9hYn9ymA9VtmUcDDqBU1zNL6tUo00cUFsBxyuLdfRbAnilnOcfinc4g6bdnJICM2KdIdd9gIntEOC1p9Qjjp1VYx/IOXG4Oy1r9rHYsg99zinVDoAxqtc9sTcRIx8BYMg8lAx03hkvG1XFwygbl9q0BFpV0J1pE1alNobGBTJRIEPvYX0dra+1+8TGSn0Im0AOUsCOUo3cK1sNxgwSbUbK2gcz6yt87T3djX8XxKYYcSWRYwBKQqm9jdapCDDcdexLFY+DJrLBtAFk6N3Z7raNE/AuxvhYp4FOpOTVMmBkfTXMm4SUApicYnSu26HYmxlKK0G8RlNQPXrUCc7xUo7dgxHJjI4/anDCt0PqOxT/VKu8xu1S9gtd9zkr1qnPrzGWqU+tObsr0Rwrae5QbBpYHVai13VErG8TJdAi1vAQ8wsCRJxnl6KNtOLHAp7pvnPMoamUA26UTo/FPxwm49BGzOMQDNwmZ79y7bFaICid1fv4vFIfOlXUNGrAtNh6x7Q5pBXTa4DJgji2cXLSTrIeYkzzfOMINys2NQLtHBkFMAnF8FptYGmaZUgb+wGky5i0xzPagMJFzHsQ86aX8A7m8wYHVrnOgTkF9XkWe9CnVLG01MaAMbHWNqRDOtB52VhGYD+6IDY2iradDahGb8T7dstvrsOY5zTsRUwPQX+bd2JLBeUx5ijMAhektm4TAzaXxGboK3vslzEvXBF7Q9YSwDjP1tKyWdfjswowGoE7qbh4RqwL/JzqU1J7c6J9ISrKNkJPUbqtv4BtZ1MZOL2kpT48fxbEw9uaccyn2xmXUhFP6azYBNbLYsugLquxvUqhJvDcLsW0eQmf8ziNOX8t732BJkD8SYz9BjY9GksLHvMYEBvHdFutez/oJaXWXEtF+45B+QV+0rZWxPcNQ5vo7s/FVhaIYU/mMdcjqc2VVK914T3viPUT6hfrTrAC+yWzF+QVgH4NE0GvAoUs5pHGZ4881ikOmvgK4/a38ZCIOWqhWdO9swgw2pGqk5yWunHCfYZ+BUQz45zISTnpoFhS9hAmkr4JwnsKon8OonOlikE15k2MS3Dpc9Qk7cKub7UokvP25g6A7Rn6SzB5xYNgB8T67dAG0cgY6sVshnGMN/M3+DcLoR2BcejJu+hBD5NYq2/wjKtg3n5HLYo7qq1WK/bwfLPW5pr5X/DuBxhjAuDye3XyU0UagpTB6O6gAMP0s19h3wgY9JyOQYpZUFLPJN7x9+pSgWrVsJL21uWkRzJTfxpw+i2As50SjAYrI0FtnUWA0d6anZBgOY6NMgRi0gv8jdgkSUMAgDDrzNwrFxVwfAcg2FYAkwBB3gWxmFPtBphzRJq/ui/g9L+Od5pRhL/mnIrM/DaFEz6Fk78UEmBYM3tabKBjQhmH8wow4x4MYxj/D1iHm1jDTBPvT/Unq6QSjsP5XZWTIRt7SsUJ6pOVwjPHcRBdFBtOQT+qZXwm4diXmLzLBQfOw6/ueAz0eBUgFdTO6PWcIEb9tbOqIoXJJn/a8xgCM/4SBP4VCKC/BfWNBsURMG8ZEsx9bV+DpGHG/FulWvS1+E4ppVoNKdXO0MoDsaVqRKlrrP45CbvHJpijHBKok46xk2pnWrxDMgawBn9Av4vxm23DGCfrqBjaVynjoxonm6DHuLKLdTvSTdrnmYzE9woZSUvjEImMhEsM1yyPmbkMn1WAqUhn1E7ux2lgGPyPYrPQp+vMW6eMqJfuwesUqTiM9a+r/XeQcobqSEpu2ZCK1FZvjPswzayy4VBqNCrBawUwx/g5gnmM4O/zIQzUbk5fnQdX36zpG6QY5vcN1qBeylatDsY87AVsRi0xkeyPpdYRUd8W5Tz2lzdHYRKZVdQzeWnRpdaVthxtz6oow7yf1JCrYwOja8V2nTnFmuRH93tGgl2Pakw339IAE0PYv4GKcsGHyemmzkC5IxBJHIw8hNN/WmwunYJYN/k/ww6ShYh7DRLT32L8IZ857mBcRv8eKuJkFDdtKBNysiSwzspHj9QdPGsXhMXrWdoHRgEwC+rzQQhUOwLmFRMXlfGYVSs4r+uQWm56zJ1q2gYMuExvSdVyFPs1qtbaxDn9X3nvBa1vkuLO/LwApijhfFy0DxO/3+UAlntTqm1HRYfWis48Kj7rvI7301Hd+lo+AboYwRr3Sm1EPsNDdpwLgKQyV8Roz4sApvk2DiniV9BnZ8S74Pk2jH9P0OmASKYcEJuS8guoGmmoGN8BXL7F94qwUfwG/ZYPuBTAIPM4jelqzxKpBEhmlruqjMSTHqrdEOZ3oADrudhbkyPFeNMA2yXYBPYlmHNlPYmUkl/RAfdbYvPKuI0Bl0YieYi12AWw8qr3S7y7AR6TYuJ/y/tsAK/lZBrORhJzK6Vxw/ytXj7pRnMsgw7+BFW3W2q9wo+xPpNY21ugzS6Htraw/w/xHEpf2i5qaOUoApjm7C4G4S/D3vKVxyZwI1ZB4PcBLs/FxqLwNKXxkKfsVTzLMKi5yfgLQIIG4Juwu9zxYaxDMMgT2EweQfRngfac0vNZf5lX0ut47kU5mVu5D0ZkAx7v8KwlqS1jU8b3bkCyeiU281srqqz2hKX6ZtaMgZPu2h9DgvpHrN9zBXhdOJkX8b6X8fmHAPTXHirIp5JagRLMj1ifjJJKeJOYwproyP4Bh663Ad5mbV84AEN1//+rdxHAhG9dQPibkDg+k5N5TopgQrOR/wCgWBF7C1R0dFX6YiyD4RM4JRaVvUPwt7sAtYtS68kpkCQWsPF/FptagQGKJeezdDJjtPMiQPG3kFi6nefzivQtGHZNGUMLShefgPpyQ0le+y0whQYYbagc8zGm8xbon7AOO2K9h+lvxNQVA3guc718yjl2K0pNXgUguOtLdfCi1JbE1bTNsi2vcJCVpPZGlzarSgQw4RsLoV/FCTrs8ZktSA7mBP0/kCTqEe4BGHVNnSq6HC+vSefE24uTn3+Hsf6EPt9gXOYA3gfBUHVjUvdLzjgpjM2r8/tKPcop4OxSah9TS9Jg2aoUQxWJ4RApj88W1Tu981DReOW/fQ7ptxRAZWW9KT9jMY37+6tvfqh7cEQAE67RsWwG3Qtc8pAivgWTPwt4KjJt46EPqF2EVDArtoSpC2pPIC39hDmEOY2LkEpYUZFVIy47TDwkNvyhW2wk97FDuFNQtzYxt60WGbri7EO9GzDatqYhda3LOUry1IbG2za/5OVc94ZqbwQw4VpSGUbHPE7PMhjuOYyFTyScw5lfo83nCpjfjdLOQ215oIyUuSYJ6y1Uq2G847ijArLGEZ0ImXzJLeHaB4lrS2zOGhp8m7HHaL+nnJL6vEIY0liv32LPnom9wcsHPMXPuxmAISCu+kl3hS5pnG+65Zy8561UZgaMx9iijId+S3f2ZQmexySIWjYF6WVITqY4oMH1CZipFUmBSaxeQsW5ITYuSK8Dr7ZXlN5eduhjDKqkUesei01oXmqCzhJqDgdQfdbEuwJAF1S532GOj8WGO9AOdqhAKmonJfV6HvJ+lRPaCjAf28ntYwHMAKQIt/pfRTH6irQ3qRBvfIaV6qJVGx1tvO5zqodp+3gOc/6OO7SSxPvT47fLQ43hvIehpkzgHfakuZxAVItYG3oJoPHWQ41LKslrBrakl5Ci3im1jYZdXt+XI2yp4e1mrsLbAjDa2ec8iZopsQbQbmf9aDBdBeEeifWfaIdq1i02F4m7F7wR2pf2lJ7NASyZPCkntbFNrIk0KDbzvh/R0RWeeV6alXjjar2Z8PwRJKxJgEjG+XxGbNrLcUhTfCdmy1sA8DBNw0GEL+21KTSDbjrDV/EcrReJXOdz0QDD/CJ70t5EWHrchIfdpOBhA2ml8QaLKgTfJab0cJ28qtTArhPWy7XeOrAxqfhfxEZyX5GTt2sCyYm+M3SlZ+WBBTznEX4uyvm8XeoogKFRj5nAzlPzs67r2BIScbvHjfmM6+b6bRXYCAo6sZc7Fx3RXm4AVvowauS5WgmwBlqK+RG/Y7KuKQBKvyPR0CjJUIxpfGdKbGIwGu6fAsDER/WL2ikCjM5vyk07bwXAKwGMX7FTGLMSYOxOazrQsB64NDN3AxCv8HMT0geTbV0EeAzX+T4TSdFWMyo2idQLsQbgyinTkLuv9eponwuAYQ6Q6xCfN5ToHG/ymRSB3TSOuQ6y83hFJWvxXedYTbV5XD8mdesdt4MZtAqUFu/reB1cV24BGL0kolgAWmHjjZCROFha5Cr6ZdheBkCz7EnHRsTAvjTUwh38fC21dsZ6zB720qPSAHhP66DqeIBJAOk/E1vcfF9slGu8xfmYzdzF5hrLP2N3Kh0grups927yaUbpGkIdwr/j0p6bCQaj5cS7HrK2hyTaAMi6CD3TNcScdWBi8mNpvfAdy6rS9yLexPqsQuJYhyTzWGyuWwMgE45kk/GYg5FiTLY3ZuXbktrqle2UJsp1pDudwuNMg0yzAGMY6CY26kBsHEqri5ESW9vmKQicHq65Dlgv2p32xJYA7VKMzsDFSTBouwijoCS6Y4/96AOwDePfuy2Ox3QG43hmxgNgGD91qAAoVkfiaCSVaEms2XVjzaE1qE796MPYF6YhvQWg6ZPazPoMhbgD+mMBt1KDd/AqrBdGgolsMA4xMIn0sFjPzEobEJ4GwwOxkcLmFFnpEIDh9e2G2ALo2m2fmfHpEJdsk3rHJEEbYKJJdcozN8osVIIZsa77zUoTg2KNnyMeKlIR67CGvUpJQMerBhLasZwsu9uMOslSJBti894wcHQBUjFz9045ezgMkBkTm/elFFDVC6MmeaV+dcGn5AFCsYBrUDmrAKMXJ9FmW4MW0VMgkmWx9YgbGQtPux2LLSdhiNf1IuVV6ByYncRcCbm2bh3vA4Dsa6imJQdgBgFsd/C5QwmfspKNVTNviM1R6wJHFuuwqYAs2QLAFAGgKwCtdqT+5PrxVo9JvRexf/RTGnAAhgmXWCxQFLP71Tzi7dQgvhcE3LsxNn2JEj6AG8YGWW5CkupIgPkQbQD2HZMSYUmstyqvTePy4SsKsLj6W+joOQ97iCE0Y/z+BkzICoFBVZNhseUr6BDG+tSG4b/yACxm1r8rNqiQJWXDqkYGHL9Gv+hhqyhgXnS5L+Mw6GoBYFgx4CHGnHMAJoj00Ic5sJia196VQEtMKXHVRzJOOLSlGd71CSKtXsK834jN9lfvEBkSm+x7yANgjsQasIsBpBeCYF6BagQwDdoodOZ1sUma1sTeXHxoSYZu6iyItQmiijsgY4jtb5Sq8qM0jkvS6RimMBbji17hvV+IdQSb9ADk62LLnhgCfa4kv0ZSE/ML/1rep+L8AmpCwmHSdUhSGmD9AuPCSDCGMX8C09G+p+0zugyrS8Nj+F4f3nepwXo3svPkpfZ2jAzPFA9uHBptkuugCdKInxlgChKisQVd8QCYglLFd5XUVM+eRdBjBcseHDIVR32tONLxqQNMJ8cU0eh2T2xE7pbY7FsFad6HohU1icl25jG/CYdABkBwvHEym/1SGUVzSs1hsbbLsAt8DjtKBc/vV4xtxn0GoMlIbZRzAox2S2w6zlEAEnOnaqc5Xqsz/+pFjK9TgMY8VKN5SBrLYqsN6nK0zaoyR5jrz1i7aRiZ4+rZMR/6uIM+CKZ85Kx3Ad9P4zM3AaaTHhIaQy9yDhPuYv1XsTYZR/K7JNYQX8LBQKAvYT96QSvm0PwN9npSTub4ZbG1NdC73rNGatcY9jIvNsmYrotVUSrjtjTnEFoJAzCd3oZwsn+GTVsTe0XqF65/mq0IZje3DN9DpbnnIVEMg+hTOF0fgOiZYY7pCWlUNET3JX4OYxMvi42e/gEEY65fvwU4fC4ny13M4OcY1u0xbEFv1bi0ofWD4Ocw7j1IUBM+oL0CKeN7gAETl7erAN4epK5vMf9fik2J6SUdTUMV/QPWbgAAY5j9PsCQ9ham2rgENfMbSA+uKraL/d11mI+OfPPKNpVU4M6qCmWA9hg+u4rnMCL+Jsb+EuP3eLwXb8LeOhJoPcmLt7vXMB49lctSW32T4PUah9Wb05ZgaMGOS+v+DKfR4iCyq2BYlvikcxUTHX3IErJZnOA/gND60HsdtYPFuCbA+M/wvV3Mm8mdLoHwrostYCYg0gGx/i33weTfir2anpOTqRQugNgmAG7zyjZwLNbvZABEfwUi+1WxrvTuqb4JyeB7gNYmft/VZlvYGkDsotj8Nxm1JkyZOQwA+lfyPi3DLaz1Lv42oQD9UIH5HOjohof0wJy1TJKedSSYRUiP15RKpqUpJoLvxb8Z7U0pdgbzvCv+cVN08FsAOGYdXvBTkeJ4vxvYVzf/ckpqqy6yLC2v9sOoTLEwAKNLsHZq68Vpfs9ZdGa11zVlPlTbhkTVLbY07FU5efvBZFG9YHymBmCJCBp2x/Az5YDFdbzfBpjvMYCmF8zH3CdxD6PnVRDbFRBV1hG3dfqJMZ/TVHAKPwCw/QjmKwS0Z2hnsSCEuacYeQUncUWBaBzzNUbov5f3SaVuKWalCjSMn7tYvwQ+Q6e7IQ+aOQS43Ac46Di7I9h2ngJg5uRkBUWWmO3G4XJLbHqKlNgUF16qGccwh9C/AMxXpfYGSa9l3GOd+wDMY1LrCOr6F2Uxj2OAy0vnQqBevpeYhHAAJLikpHNqPPu1MYjxG+qmgM5sHyOUoAgCeCw2J0oJxOfmbOEtz6TU5pYVaew/UlK2EhY23wajsyxtCaejawehyjTjMW6jsZkpj3V0TH7hv+JkzXoYTP1cFjJSWx86iH6/B0nvORg1pdaRJVdvgB4ueUgCdLC7It5F7rzGZBH7n9GXpPa6uQR7yCv8fQrPmnaAKo59Yf2qckDjch7AyoTtL+RkonRdYdJLIGBs4GCAde4XW4OKibz14UNc6PLZz3QQocTNZ1KW2uLonaQmdUMsvYff7Yj1xox9BGOvYIPe4MQpiI0uv4STss/nBAgiLZaVYfEJTplVsZnYFvAcjntHbF3qdAvjamZaUSfqn8Hw2z4SStIHYPrExmYFPcSyUBO+w3OnlZSqPW8ZvV70sScGeecK1D0DKP+Md30u3lfN9Mv6DvPIwpZy0UfdCbrm9AH6Huv8EyR1rwMh2SZp3UhavxZbu2tFrDuFDt1IexjWe6XWT6guwOziw28VOhWks5Ik8+QpYH4XsUB+ZSs+ZKNYzQJke2D2y2IrHYYpRM+8MusgeqpE3+OEPVKqxCMwWBaS3Q2MO+0YISUEsByKTcT0WJ3oz8T7ypsBoMfq1kJfKR8pEAhzaK1BSivivXgAJvC+i2DEAtSVKZzcQUGMUgvDCn6ChOZWdXTbDtaFAbmUpi9hzYOOTyfADYDpA4Dbj9j3I585M2yk5MMnsRDvPwIVfA7/3pCT6VgOHNsif58Psp9JEO0OFmYF6NhpACNq4+jd2KNOzmYKj7ez5UEUDHNYhv3jgtjqA8yCR/E2oaz6jEwmsfJENWLyQ7GFwzSDV/D5F2Lr+ixCLZgTGw/FsA43SZb2TqW/ziGAbQES0zOpLZ7mB0pHOHGfib0SLispbF6s129QkKGUxrCEXpy0RTyHYy1hreew1v34rL46j8nJ8rT0a1mAXYXF8ZalvpMaS56wWgR9Xm6p8anO6tu1irPeHP819vdnzGNR/PMEF5Sa9pPY2L0wgcAxR53aE5uhkKlXspCW5/EuW2IzHbCo3RsJkAsqiZfqBpJTpy9I56XCpLhZVMa0Ik6NAWktHWM7GjPy74NIn4LgZmFQG4NhsU9qrw11ZPIeNvMtCG0BBLhdhzlz+BwLtdE7dFYZjvsUAaWUekFi2sfY6zhkWOlxFX/LNpB6WEmhF99NKODcAQgu4x3D1G7eU6d5j9gKkvSZWcezGYd1SWyNbTJ6SgHesZIyGfJBf6bXAOmgHrB7SmVcxH4T2OmN3a32mQcCMwVy/HnMgXt41OAgewtJh5oHD4owvmxxRYP76nBMic32N4/nb4iNR6P09FYCJpdPYuMTIKa0OlU7McozphZiHJuVwEJ0+9gePrThl8Xh6fE6hg1ionASHiOUi0oUpfMTneo2pDazml+jC/sOvsdxR9WYfcrYGnMkJgLMJsZ+p6SFIGrVHiSerFivVLrmH4jNf3sUkq54jZpTdoeiUgv3xd6uLQNsxsWWVOlTxkh3nXfwrgz72JfwDqdZMOe2UrU4/oCSpOJK9T3yGH9NgoV1sLgeS9NogAkjwcTEhnbkxOYprihbE0vfvBYbdc4DaTcobSaVpXpf/N2xO62xtGoWi9sttiBYJ7SK2HKlGw4A9igrfByET8LjCcf/h1VT8yDWPRAux8woUEs5jMoxc2rcbEgQOMJ420pi0Lmb/VJvBn0+1WKvCwj66NA5je/Zo6S2hMc6E1xpT2ilHUCK2VD726PWn+pFTu0ve5hUJDzACGxJ8b4dDGrTpGRFWsiLvT3cVOp+UoGkTqWaDwIwZY9N6/RWUEQSw6lxGaJpd4fNsyC1140J5zaEdoFW0xR4STTbiqBSyl5FxqTtp9W9Z4WJw1MG7XpquxvgF1d2mNNaZ6/xt5x9TiqAKbZofqjIhwlkbNs4Z72yI29wjCH0mlhX8O4OnnNJnV4fUqIKdOJ8Qq38EdbZa5/PdfsUSsfuQ///DgDT3+EAE7WoRQBzhpo5KcyV2T9DRaKrdFe0vVGLWgQw7WgM3jK2mOv4eUk6M3gzalGLAOYM6tvm5sQ4Sv1FrLF3MtriqEUtAph2NeMkZty9jR2Gvic6zD/2AdbTvaVxy1E0SqWof5brfEY8nhXz+V3CeX8vz0/32jLszRITQyXUM9xysTq5tfbf8FsL7e1ccfaRv3N/7/5OZwrgbVfY94o7Y9bbl0qIZ7oStp67O2ZYZzquN90GeIPl7rmbsbAccC0CVUX41ADGXM2+ArBcgZpkYlTSPgTYrsZcI5MYOy62EJjxjchDouoVG4NSlto0BrxKNrajjFgnKNaHzqs9o18L43KYRY3f1e7g9AvRwFeRk9HPBAcW0tsR6/av6y1xHlxTugoYpz7moTGfWQXg04HMOGsxdiwu1uHt2AEa1iDqxzMTeAYzu5k1HMSc6FxYFBsiwPVg3lvGKDGc4p3Y/Cc6mI9+OgzaJOMwOXdG7FX8rtRGH/fg/bh+B1KbRa9b0V4Sn2WoS8kD4PWa08+IlSxKYn1t6L/C7+iAZV16JiM2pGEVa5TC+oxijkWs277YTIXMRcxc08waUMDzvMrofNIAIyA4c6tkgsZmsUmzcnoJtczmGPd0c03+GZjMrKtx+noIte0QwDMqtjJBXqy7NiWfHjDDsCIKY8BeAoGxDpPOQcsQgQN8d0QR66BYb96k2BiYstjCaikQKD07twHSSyBEpoogQ9PjlYmwmPfVxAN9jfc37/sYe0BAZ67dacxlA+/GxOhkKvrlmDW9jDV+iffjuFewBodiQwkYWLoFJjJjzImNMs/jvR6D0UpiQyhKeO+sWhee0Lw4GBHrSbuAcTcxvwGMNYD1eSe2NhWl6aQCI5aD0WkSGGis6SHu2BifY64sKHeIORAYCTAp/H0OdNmP9zPPeID1yWAdb+J9j8XmmmbFBXo/p7CGk/j3NvYudx4BRrDoD8S6y4+LDT4Tac770UtcTGPhTV6Su9hMpnicVkRyAIYZBvAwQJBlK7pBeAPYxFkQhfmMcX83gW2P8F5Mcn0XzLwBJnmH74+LDbU3z5rB7+nxyojZKTBOv1oL5v7NKKLrUUC0DeIs49lkqByedRNzyioC7XMAZhbP38EcmHEuoz6bx5gT+Ns7JZUlMfZt/G4Wz2Ks14bYMrA3APqjmBM9mSfU3LqVFCRiM/wxFQYjjqfEBlcyUp2xOX1g5ut4zjI+t4+9mcQ6Uqq6ijnugFGPsA+TYusx5RXwZKU2GZje+1eYA503ufestz2Lf2cxRhKA3YW1uYe5MGB1UoE5A0tZjmdYrPPdugRMOPUpNrNAz8RmmbuCxdZRzK2qSV1iS4X8BsScVOpMLxgqg00ZUScST1AWOBtS0sYM5juKDZ5S4v2u1FbW/AXedQBEk1JExOxmZGiWGaFdKKNOJVZq3BWbgW8K69QrtjbSGhiHOV/53QOx3rIkPPO+X4LpykpkH1FMx2qU+/j9rJLcdGQ5Uz6UlEpGKe6GWI9lSmasq8SI8iPFxJ/jO0WsV0lsiWLGuH2GOfI7LNBWxlqkxQZ5rqjvfYH3WIO0sYjvjIotqzKB/U0DHF7j/SnBXsLYTPjNROFMg5FRkuIK1m8Lzx7AfHXBOOatNn9j5r9x/G5ObJqJHOhqUmypFNpoGHbB2CSGOOTPK8Do8rM/g8jJJNR/ky0CTTfAwADMVyCsFxhPQJRMzRhXTL6kgC4jNnfuiLJjXFanbFbpyUxP0Q8Gu6z2cURteFFs4ukxfI9BmCsK3LJKd98BQxxivOsYh6diCXMdAqH1g1D78ZwFsYmaWOHyOsbRYQTdCgSZ+iAGQv8S7810CMyN8k6J4vtgvl0wzC2xqR2W8d4XxFYdfSc2O9009mVEbFzNJqQyMtMggIvSWUatIw3Tu1iHbnVgZcTWWmIuoGkwPysv9OJ3TGmZVSrXIH5/U9nwFvF70sM3oN/rGD+jpAmmEh0G2NBU8BwHwi2A6y/w3T2xjqlUFWn3IUCN4D36scZPxUb7b0qAAnOfKsBQDWIC6QtqsXi7ROJotipBGow4C6LhRj8UW6aC+Vd7lRE6pU5AGmvdPqAY8AAMR7E1reZOnf6iYyPZlJOxO8fqxKWtgVULzOfmwdBmzF+JLRuSAzgwUnpYbEQtwa9XbKLqF2CGARD0FWX0zSuDKOPJ1vH8OaUiDEJ1YNDmlvMei1AZLytpg7lUmFl/At9lMqcC1vQzsWVmGGiYUrYmHaRI9YBSHA23R1jLfXXSi9jYszTee1ABJKs50NaVx/utAghom7mFPVjBOyaw958BfPqUGaAkNr/vsdj0ECllu3mJn2mlosYgESfUgRUXW1NrU9EH6zYt4h1Y+ylQ9PmnDDCCBXmJq+sZtfi8ceiS1sueUE9l1C+D2WgAI2EVlC7NujVD6jbgCERwAIKIic1q91bdjJCImBSIoisZNwniZx9R+ntZqR3L6KP42yIYMQYGFSUx0E4yDgJlAuw1vNesAnVeh+alNlo7q65OY2IDA9+pOe0DYLLOLUwa4/P5Zj73IS18gTVhKRka3EfUXLgnlAiZZoDjsC5VDqDAyOJ9dcNUUr/bUFJUSd0GreMzGQXQBbGVNuNYj7xSVYti0ze8xruVsbcvMMauUovTuDh4A7CfUrdnm+hMHMUbpYqSmI7V/iTUrV0Ma/wG7zEGWmTQI10XGMTZFeTq/FMHGEoxzFg2oCzttNgftQBezPlCCWkGp39cbPmRN+oaOQbCm1Wgc6iu+4rqZqkbG3zobGpG3Qit4h2zYuvu9CkC0zdGk/h7vxJvj9QNzhEYnjlamT3vNWwFOYx7Sdlj7qtr6F4YDKcBaOPq9iOr5iiK0Sv4HQMDmc2NNpjL6h0eqZsZfeOxAVBgobIDqAVUhW9j348Vwz9TgM1bqUl8hpINr9ArYlNulNR8eJ0dV2ok618XIXHccq6pC0qSGsZaTWEOrFmVdQCOdpx7CiCeYF2vqP1mUbxt/G4We5XAul3APDZwsGyLzRXEFJyHymUhDnp4is+VlX2Ke7ciDSLoP3WAEcWIj8SW1VxVJ0+zdhjWr+nDJt3GKfOVuq14B6lgQWwhtbtQB9JiKzWui02hSGt+UhE79XeKpfSLyILBSSy3MR+CFn1IhpQRcBDPq6jTPKHsNwUlDaTEZtWjesYbhwVc+a7j2byxuS3Ws3oeREo1hOMPqNOcN0eGCX4Qm3uZfjB31VX8rlr/AoDyJZ7J/EBbUPUymMs1MBcBYxMAtIKx76g9YVLveWWIJ/MxbSQLslFiJLOxrDEraW4pyZIqJo3140qKHsP/K4qu9pQEwucuiK1l9EBsyk4m1loCjS+LTfx+FxJdVqyvC7MPHCnVmgccjeV9SqqdV4A1ABqmX9J2BDCWGPfUFSwdoVq5SSopXZyOaQnlw1BSfgpr6oqSjmVlpTYdKBWgS6lVPDVLzri0tTBH6yaIbVzd6rCa4a5iCl1EvaTsK7QJ8Pqe846pdxMQ1IbYrGwHYpN/HSj1jSL4jrK9UFLh31Jiy6pyzHX1vvRT0R69bqNPUVHdlpBRttQNW0KpA1rFORZbjK6sGHpPbIa3pFh/l6TYRN/aUZLjHijmW1OuA/tqfntqPY/VGAlFU3qMmJr3urq9oiq9qdZ6Fz/jYh3mUsqed6joJYu57Sg1ljapitSmGN1Xhyad+gLVRYpVKhWJWtSiFrXTaBHARC1qUYsAJmpRi1oEMFGLWtSiFgFM1KIWtdNv/0+AAQAiUEjNYaPTIAAAAABJRU5ErkJggg=="}},"time_used":1054,"timings":{"blocked":960,"dns":0,"connect":0,"send":0,"wait":94,"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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/hero-bg5.jpg","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.164Z","timestamp":1785136900164,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/hero-bg5.jpg HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/jpeg\r\nContent-Length: 190696\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":190696,"size_decoded":190909,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 1920x920, components 3","md5":"54fe20bd6a39d944a1530f1cf9b244e4","sha1":"ff8e6218cd54fd1243d9b834a82d9903d255bdf1","sha256":"833fa927474dab1d0aff8dc48d97e3e206aef0196f5f70995eafd70ff61aadd9","sha512":"f1a5002efd421cea8e90ef7cc7bd43f2a1769a2f8c3ffa495186165f262d5c23874d329004aa0bd536306a88793fa942bf134a06dd1e0ea2dc25fc4ddbe0cbb2","ssdeep":"3072:c7Ey4OqUy7OU6XJP2cMwTTNSvIquTeT/UK+wPx1anVRHcX+8CSrKoz3HDbek:1y4OVfU6ZnUIqXUKfQwOKrVHp","tlshash":"8b141295f441e65bd6a0aa4ced3cc222689500fab176c6de30fc0df6d3c5ba74642e5c","first_seen":"2023-06-06T20:45:25Z","last_seen":"2026-07-27T13:11:21.978641Z","times_seen":72,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMwNzlCOEQwNDdGQjExRUE5ODU3QkY2NEUxMEYxOTdBIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMwNzlCOENGNDdGQjExRUE5ODU3QkY2NEUxMEYxOTdBIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNDODhDNjNCMzlEMjExRUE4NEMxQUNEMDAwMDU1RDZGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNDODhDNjNDMzlEMjExRUE4NEMxQUNEMDAwMDU1RDZGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgDmAeAAwERAAIRAQMRAf/EALcAAQABBQEBAQAAAAAAAAAAAAABAgMEBQYHCAkBAQEBAQEBAQEAAAAAAAAAAAABAgMEBQYHEAABAwIEBAMGAwYDCAAFAAsBAAIDEQQhMRIFQVETBmEiMnGBQiMUB5GhUrHB0WIzFXIkNPDhgpJDUxYI8aJjJReywkRzVCbSg5M1RREBAQACAgICAQMDAwMDAwQDAAERAiEDMRJBBFFhIhNxMgWBkRShsULw0VJichXB4fEjM4LS/9oADAMBAAIRAxEAPwD3Z73ajic10YU638yga38yga38yga38yga3cyga3c0DW7mga3c0DW7mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUDW/mUEGpNSgUQQUEoCAgIAQCkBVEhRSiCVBFMUFVEABBKAgcEBAQCEBUEBAQEBAQTRAQEBAQSgIKlAQQVQCCUBQFQQFAQSgmqCEBAQSMEIklFqEQQEBBNUEICAgICAgIJCCUBAQEEVQKoJQEBCCLUIiUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQSEBAQTRAQSgIJQEBAQKIuEjBE8CAouBFFRBKM2iAgICAgICAgICAgICAgICBVAqgICAgmqAgICAgICAgIAQSUBBCCUBAQEBAQSilUQCCUBBCAglAQEBCJqEaEQQSEBDKVFAglAQEBAQEEFVmoQSgIJQEBAQEBAQEBBKAgIFEEoCAgICAgIJCCUGkf6z7VRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgjNBKAgICAiCBRBIQOKKlQEE1QKoHBACCUBAogkoIVBAQEBAQAglAQEEoFERKKIAKglBCoBBKYEJgSgICgIJQEBAQAglAQEBAQEBAQEBAQEBAQTVAQSgiqBVAogUQSgICAghBKAgICAgICAgICAgICAgIFECiAgICAgICBRBIQEE0QEBAQSEEoIQSgIJRoUBUFAQCqlQiCAgICAgICAgICAgICAgICAgICAgUQTRAQEBAQEBAQEBAKAgkICAgICAgIJREIqUCqAglAQEBAQEBAqgVQKoRIKKlBNUUqiZSoogICqZEMqUQQSgIFUBBKAgICAgIAQSgIFEEoCAgICCaIIQSgIJQaR/rPtVghAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBNEQRRBNUBQEEoIVwJzQMkE1UCqAqCAgIJogUQKICAgkBAQSghBKAAoJQEEKiUBAQFAQEEoCAgIAQSgICAgICAgICCaIIQEBAQEBBNUEUQTRBKAgICAgICAgICAgICAgICAgICAgUQKIJQEEUQKIBQEBAQSEBAQSgICAgkIJQQgmijSaIYEBAQEBAKqVCIICAgICAgICAgICAgICAgICAgICACglAQEBAQEBAQEBAQEAIJQEBAQEBBKCEBAQSgVQKoCCUBAQEBAQEBEKoqQcEJU1RU1QKoZEBAQQiCCUCqCEE1QEEoCAgICAEEoCCQgICAgICCUCiAEEoCDSP9RVghAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEBBKAgICAgIFUEoCAgIJQEQQSEUKCUAqAqCAgIJQEBAQSEBBKAgICAgVUEqggICAoCAgIJQEBAQSgICAgICAgICAglBCAgICAgICAgqQEBAQEBAQEBAQEBAQEBAQEBAQOCAgVQSgICAgICCCgBBNEBAQEEoCCUCiAglARZEhRRAQEBARMipkRMoKAgICAgICAgICAgICAgICAgICAgICBVACCUBAQEBAQEBAQBmglAQEBAQEBBNUEICAgICAgkIJQRVAqglAQEBAQECoQTVFylAQKoFUCqBxRKFACAgICCQglAQEBAQSgIAQSglAogUQKIFEIgIVJQQgmqBVBpX+o+1UQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCQgICCaoJQEAIJQFAQOCAqCAglAQEBBIQSgIIVBREoogICCUBASgoBQEE0QEBBNEBAQEAoAQEBAQEBAQEBBIQCghAQEEoFEEoCAgICAgICAgICAgICAgICAgICAEE0CAgICCUEICAgICAgICCUBBIQSgICjQiJCKImRAQyKmRERVAqgICAgICAgICAgICAgICAgICAgICAgg4IFUEhBKAgICAgiqCUBAQEEhAQEBAQEBAQEBAQEBAQSgVQQgIJqgVQKoFUAIJQEBAQTVFKoFUTIEEoCAgICCUEoIQwlAQEAIJQAglAQSEEoCAghCCAhgKAECiDSv9R9qohAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQRiglAQEBAQEAIJQEEIJQEBBUgIJQFAQEDgqCAgIJQEEhAQEBESioVKKJEoogIJQEBASgoCCQgICCUBAQEBAQEBAQEBAQEBAQEBAQSEBBKAgICAgICAgICAgICAgICAgIAQSggoAQSgICAglBCAgICAgkICAghBKAgkIJRYIUUIkIoiIKqJQQgIFUAICAgICAggmn7kEBwPtQTUIJQRVBKAghAqAgVJyH7kCp4hAzOHBBKAgjj7UEoCogZBBKAFBKAgICAgICCUBAKAEBAKCEEoCAgICAgICAgICAgICAgICAgICAgkIJQEEIqQiJQqQgIJCGAogEVKAgVRciIIAQSgBBKAgIJCCUBAQEBCUQygogUaAjLSv9RVVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIJCAgICAgIKkBACCVAQEBA4ICoIJQEBBIQSgICAgICAglQFQQEBAUBACCUBAQSgICAckQRRAQEBAQEFSClBUggoIQEEhBKAgICAgICAgICAgICAgICAgICAgBBKAgICAghBKCUAoIQEBAQSEBAQEBAQTRDCUWChaKmREEBAQEBAQEBAQQgBA4oIzoOeLvYECmaAXNyJCCh88UTdT3hrebiAgtNu2yV6THSN4Oa3D8SgkOuDgGtHAiuKC2+5aw6SHOcMwMh7Sgp/uVu12h5MUhx0ScudcqILvWZUa3Frj6QTQe45ILoc6mRqP2IKi8Voag5UQGuBwqgqoR4oGppw/JAqARigAitOKCVRGSgkFBKCCgBBJQEBBKAgICAgICAgICAgICAgICAgICAghAQEBAKAgBBJQAgICBVBNUE1KLkRAIJQAglFEZEUQSEEoAQggBBIQSgnBAwQSgIIQgipRKICAggoIQykINK/wBZ9qsEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBA4IJCAgICAgICCUEoJQOCgIAQSggoCoIJQEBBKAgIJQEBAQEEqC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"}},"time_used":164,"timings":{"blocked":65,"dns":0,"connect":0,"send":0,"wait":94,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/27517.7361374dee2b52fd1f8e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.841Z","timestamp":1785136901841,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/27517.7361374dee2b52fd1f8e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a3cc6da-496\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 25 Jun 2026 06:12:42 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/25/2026 11:16:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: de60e28b7a0868dbfddbb6084d75a763\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":1174,"size_decoded":1238,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1174), with no line terminators","md5":"0db50e194dea28f8430d5f045aa5bec9","sha1":"fad46e87214254999bcbc7feac303252f511f6f7","sha256":"f60a0b3330cc7599cd9e24065061be14fc7860c07e44078e58082431645ada61","sha512":"94febefd36fb157774b943a3102bae29f6c2521bf6d47bc1f5d985308e6908abde3260e3ab3e5f12e2531cca908f670c44e2df3336e393f4acc4efc591d40b58","ssdeep":"","tlshash":"aa21df31c5a4003a9defa0218fa09b1d421cbca6ed82199cd2bc6b6550ce37732edd98","first_seen":"2026-06-27T04:33:20.000295Z","last_seen":"2026-08-10T05:01:44.384393Z","times_seen":289,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtU2hNWTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVNoTVk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LndyYXAtdlNiNkMwQmp7Ym90dG9tOjA7Y3Vyc29yOmRlZmF1bHQ7aW5zZXQtaW5saW5lLWVuZDowO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt2aXNpYmlsaXR5OnZhcigtLW92ZXJsYXktc2Nyb2xsYmFyLXYtdmlzaWJpbGl0eSx2YXIoLS1vdmVybGF5LXNjcm9sbGJhci12aXNpYmlsaXR5LHZpc2libGUpKTt3aWR0aDo4cHg7d2lsbC1jaGFuZ2U6aGVpZ2h0fS53cmFwLS1ob3Jpem9udGFsLXZTYjZDMEJqe2hlaWdodDo4cHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO3RvcDphdXRvO3Zpc2liaWxpdHk6dmFyKC0tb3ZlcmxheS1zY3JvbGxiYXItaC12aXNpYmlsaXR5LHZhcigtLW92ZXJsYXktc2Nyb2xsYmFyLXZpc2liaWxpdHksdmlzaWJsZSkpO3dpbGwtY2hhbmdlOndpZHRofS5iYXItdlNiNkMwQmp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7d2lsbC1jaGFuZ2U6aGVpZ2h0LHRyYW5zZm9ybX0uYmFyLXZTYjZDMEJqIC5iYXJJbm5lci12U2I2QzBCantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVNoTVkpO2JvcmRlci1yYWRpdXM6MnB4O2hlaWdodDpjYWxjKDEwMCUgLSA0cHgpO3dpZHRoOjRweH0uYmFyLXZTYjZDMEJqIC5iYXJJbm5lci0taG9yaXpvbnRhbC12U2I2QzBCantoZWlnaHQ6NHB4O3dpZHRoOmNhbGMoMTAwJSAtIDRweCl9LmJhci0taG9yaXpvbnRhbC12U2I2QzBCantoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDphdXRvO3dpbGwtY2hhbmdlOndpZHRoLHRyYW5zZm9ybX0uc2Nyb2xsV3JhcC1GYU92VEQycnstLW92ZXJsYXktc2Nyb2xsYmFyLXZpc2liaWxpdHk6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lsbC1jaGFuZ2U6dmlzaWJpbGl0eX0uc2Nyb2xsV3JhcF92aXNpYmxlLUZhT3ZURDJyey0tb3ZlcmxheS1zY3JvbGxiYXItdmlzaWJpbGl0eTp2aXNpYmxlfQ=="}},"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.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_68x28dp.png","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:42.035Z","timestamp":1785136902035,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /images/branding/googlelogo/1x/googlelogo_color_68x28dp.png HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: 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://huobiget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCORCAORCA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.552Z","timestamp":1785136905552,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCORCAORCA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/38086.990b013ae325a9b5099a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.518Z","timestamp":1785136901518,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/38086.990b013ae325a9b5099a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6d8f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b114f5f3a72b6659114fc0d1ea690003\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":28047,"size_decoded":11848,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"12ee02cfd5ac5d5c313f3b01d8594d67","sha1":"9c5481266cf5613714714c6a1caf5e0a00d5a0fa","sha256":"e2c24b1c51c27795031a14e1f510e609acbee7e60d594e70c12b5bfe7331c5ea","sha512":"51808078a6bf5ec8b0ca47b4202cadc45f1ae8a112e67afadb66128b8145adb8f9cde349c93857081db86695e5c591f1407f80c3263466fcde7e098c4fdf3665","ssdeep":"768:/i1CR3M0b4wuYONncOogxxuaGy9yLsxtMgDA184HYtae6IkykW7FTSjtwgIlbSUr:CiM08weNcfgVmgxtMQu84HytLkyPTS5m","tlshash":"6ec23bd470a1a0ce12d206ddc17e9550e37b795cbc198e64f4a8ccee749e64a7338b6c","first_seen":"2026-07-23T14:00:31.722877Z","last_seen":"2026-07-28T06:17:53.453122Z","times_seen":108,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szODA4Nl0sezI0NzE4OShlKXtlLmV4cG9ydHM9e3NlcGFyYXRvcjoic2VwYXJhdG9yLXdzTnlQOWUyIixzbWFsbDoic21hbGwtd3NOeVA5ZTIiLG5vcm1hbDoibm9ybWFsLXdzTnlQOWUyIixsYXJnZToibGFyZ2Utd3NOeVA5ZTIifX0sMzU0MzMxKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1UeTVPMVdKUSIsZGlyTWF0Y2hpbmc6ImRpck1hdGNoaW5nLVR5NU8xV0pRIn19LDYzNjk4NihlKXtlLmV4cG9ydHM9e2N1c3RvbUxpc3RJdGVtOiJjdXN0b21MaXN0SXRlbS05UTlGSHlybiIsY2xpY2thYmxlOiJjbGlja2FibGUtOVE5Rkh5cm4ifX0sMjEyNjcyKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1LVWl0c3RwSiIscHJpbWFyeVRpdGxlV3JhcHBlcjoicHJpbWFyeVRpdGxlV3JhcHBlci1LVWl0c3RwSiIsc2Vjb25kYXJ5VGl0bGVXcmFwcGVyOiJzZWNvbmRhcnlUaXRsZVdyYXBwZXItS1VpdHN0cEoiLHRpdGxlOiJ0aXRsZS1LVWl0c3RwSiIsY29udGVudDoiY29udGVudC1LVWl0c3RwSiIsbGVmdDoibGVmdC1LVWl0c3RwSiIsd2l0aExlZnRTbG90OiJ3aXRoTGVmdFNsb3QtS1VpdHN0cEoiLHNwYWNlOiJzcGFjZS1LVWl0c3RwSiIsaWNvbjoiaWNvbi1LVWl0c3RwSiJ9fSwyNDQ1MjUoZSl7ZS5leHBvcnRzPXtsb2FkZXI6ImxvYWRlci1NZ2Y4RUZ3SyIsc3RhdGljOiJzdGF0aWMtTWdmOEVGd0siLGl0ZW06Iml0ZW0tTWdmOEVGd0siLCJ0di1idXR0b24tbG9hZGVyIjoidHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyIsbWVkaXVtOiJtZWRpdW0tTWdmOEVGd0siLHNtYWxsOiJzbWFsbC1NZ2Y4RUZ3SyIsYmxhY2s6ImJsYWNrLU1nZjhFRndLIix3aGl0ZToid2hpdGUtTWdmOEVGd0siLGdyYXk6ImdyYXktTWdmOEVGd0siLHByaW1hcnk6InByaW1hcnktTWdmOEVGd0sifX0sNTk5OTcyKGUpe2UuZXhwb3J0cz17YWNjZXNzaWJsZToiYWNjZXNzaWJsZS1LdHFhX1N6UCIsYWN0aXZlOiJhY3RpdmUtS3RxYV9TelAifX0sNTEyMTQ5KGUpe2UuZXhwb3J0cz17aGlkZGVuOiJoaWRkZW4tUjNXaUNPZG4ifX0sNDkxNDgoZSl7ZS5leHBvcnRzPXsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkiLGl0ZW06Iml0ZW0tSmtRWFVsdEEiLHdpdGhJY29uOiJ3aXRoSWNvbi1Ka1FYVWx0QSIsc2hvcnRjdXQ6InNob3J0Y3V0LUprUVhVbHRBIixsb2FkaW5nOiJsb2FkaW5nLUprUVhVbHRBIixpY29uOiJpY29uLUprUVhVbHRBIn19LDYxODY3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3B1cE1lbnVTZXBhcmF0b3I6KCk9Pmx9KTt2YXIgbyxpPW4oNzc5NDc0KSxhPW4oOTE0NDg3KSxyPW4ubihhKSxzPW4oMjQ3MTg5KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3NpemU6dD0ibm9ybWFsIixjbGFzc05hbWU6bixhcmlhSGlkZGVuOm89ITF9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShzLnNlcGFyYXRvciwic21hbGwiPT09dCYmcy5zbWFsbCwibm9ybWFsIj09PXQmJnMubm9ybWFsLCJsYXJnZSI9PT10JiZzLmxhcmdlLG4pLHJvbGU6InNlcGFyYXRvciIsImFyaWEtaGlkZGVuIjpvfSl9IWZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLkxhcmdlPSJsYXJnZSIsZS5Ob3JtYWw9Im5vcm1hbCJ9KG98fChvPXt9KSl9LDk3MTY1OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VJc01vdW50ZWQ6KCk9Pml9KTt2YXIgbz1uKDc3OTQ3NCk7Y29uc3QgaT0oKT0+e2NvbnN0IGU9KDAsby51c2VSZWYpKCExKTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT4oZS5jdXJyZW50PSEwLCgpPT57ZS5jdXJyZW50PSExfSkpLFtdKSxlfX0sNjM4ODcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1N2Z0ljb25MaXN0SXRlbVBhcnQ6KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDQ1MDgyKSxhPW4oMjE3Mjc0KTtmdW5jdGlvbiByKGUpe2NvbnN0e2ljb25Tdmc6dCxkaXJNYXRjaGluZzpufT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5XcmFwcGVyLHtkaXJNYXRjaGluZzpufSxvLmNyZWF0ZUVsZW1lbnQoYS5CbG9ja0ljb24se2ljb246dH0pKX19LDQ1MDgyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1dyYXBwZXI6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDM1NDMzMSkscz1uLm4ocik7ZnVuY3Rpb24gbChlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKHMoKS53cmFwcGVyLGUuZGlyTWF0Y2hpbmcmJnMoKS5kaXJNYXRjaGluZyksaW5lcnQ6ZS5pbmVydD8idHJ1ZSI6dm9pZCAwfSxlLmNoaWxkcmVuKX19LDg5NjIzNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDdXN0b21MaXN0SXRlbTooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxhPW4ubihpKSxyPW4oMzQ1MTE2KSxzPW4oNjM2OTg2KSxsPW4ubihzKTtjb25zdCBjPSgwLG8uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7aWQ6bixjaGlsZHJlbjppLG9uQ2xpY2s6cyxkaXNhYmxlZDpjLGZvY3VzYWJsZTpkLHJvbGU6dSxhcmlhTGFiZWw6aCxhcmlhRXhwYW5kZWQ6cCxhcmlhQ29udHJvbHM6bSxhcmlhSGFzcG9wdXA6dyxhcmlhTGV2ZWw6ZyxkYXRhUWFJZDp2LC4uLmZ9PWUseT0oMCxyLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKGYpLGI9cz8iYnV0dG9uIjoiZGl2IixDPWR8fHMsRT1jP3ZvaWQgMDpzO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYix7aWQ6bixjbGFzc05hbWU6YSgpKGwoKS5jdXN0b21MaXN0SXRlbSxFJiZsKCkuY2xpY2thYmxlKSxvbkNsaWNrOkUsImFyaWEtZGlzYWJsZWQiOmMsImFyaWEtbGFiZWwiOmgsImFyaWEtZXhwYW5kZWQiOnAsImFyaWEtY29udHJvbHMiOm0sImFyaWEtaGFzcG9wdXAiOncsImFyaWEtbGV2ZWwiOmcscm9sZTp1LHRhYkluZGV4OkM/MDp2b2lkIDAscmVmOnQsLi4ueSwiZGF0YS1xYS1pZCI6dn0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtpbmVydDpjPyJ0cnVlIjp2b2lkIDB9LGkpKX0pKX0sCjkzNTUzNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUaXRsZUxpc3RJdGVtOigpPT5nfSk7dmFyIG8saT1uKDc3OTQ3NCksYT1uKDkxNDQ4Nykscj1uLm4oYSkscz1uKDI3MzMxMCksbD1uKDg1OTA5MSksYz1uKDM0NTExNiksZD1uKDE5NDY0OCksdT1uLm4oZCksaD1uKDU0MzMzOSkscD1uLm4oaCksbT1uKDIxMjY3Miksdz1uLm4obSk7ZnVuY3Rpb24gZyhlKXtjb25zdHtpZDp0LHJvbGU6bixsZWZ0U2xvdDpvLHRpdGxlOmEsb25DbGljazpkLGFyaWFMYWJlbDpoLHJpZ2h0U2xvdDptLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmcsbGlzdEl0ZW1CdXR0b25SZWY6dix2YXJpYW50OmY9InByaW1hcnkiLGFyaWFDb250cm9sczp5LGFyaWFMZXZlbDpiLHRpdGxlSWQ6Qyx3cmFwcGVkOkUsZGF0YVFhSWQ6eCxvbktleURvd246UyxuZXN0ZWRMaXN0c0FyaWFPd25zOkwsbmVzdGVkTGlzdEFyaWFIaWRkZW46XywuLi5rfT1lLFQ9KDAsYy5maWx0ZXJDaGVja2VkRGF0YVByb3BzKShrKSxJPXZvaWQgMCE9PUU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChsLlRpdGxlU2VjdGlvbkxpc3RJdGVtLHtkYXRhUWFJZDp4LGlkOnQscm9sZTpuLG9uQ2xpY2s6ZCxvbktleURvd246UyxyaWdodFNsb3Q6bSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpnLGFyaWFMYWJlbDpoLGNsYXNzTmFtZTpyKCkodygpLndyYXBwZXIsbyYmdygpLndpdGhMZWZ0U2xvdCx3KClbYCR7Zn1UaXRsZVdyYXBwZXJgXSksbGlzdEl0ZW1CdXR0b25SZWY6dixmb2N1c2FibGU6SSxhcmlhRXhwYW5kZWQ6ST8hRTp2b2lkIDAsYXJpYUNvbnRyb2xzOnksYXJpYUxldmVsOmIsbmVzdGVkTGlzdHNBcmlhT3duczpMLG5lc3RlZExpc3RBcmlhSGlkZGVuOl8sLi4uVH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dygpLmNvbnRlbnR9LG8mJmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOncoKS5sZWZ0fSxvKSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp3KCkudGl0bGUsaWQ6Q30sYSkpLEkmJmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dygpLnNwYWNlfSksaS5jcmVhdGVFbGVtZW50KHMuSWNvbix7Y2xhc3NOYW1lOncoKS5pY29uLGljb246RT91KCk6cCgpfSkpKX0hZnVuY3Rpb24oZSl7ZS5QcmltYXJ5PSJwcmltYXJ5IixlLlNlY29uZGFyeT0ic2Vjb25kYXJ5In0ob3x8KG89e30pKX0sODU5MDkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1RpdGxlU2VjdGlvbkxpc3RJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big4OTYyMzcpLGE9bigxNDc5MDEpLHI9bigzNDUxMTYpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7aWQ6dCxyb2xlOm4sb25DbGljazpzLHJpZ2h0U2xvdDpsLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmMsZm9jdXNhYmxlOmQsYXJpYUV4cGFuZGVkOnUsYXJpYUNvbnRyb2xzOmgsYXJpYUhhc3BvcHVwOnAsYXJpYUxldmVsOm0sYXJpYUxhYmVsOncsY2hpbGRyZW46ZyxjbGFzc05hbWU6dixsaXN0SXRlbUJ1dHRvblJlZjpmLGRhdGFRYUlkOnksb25LZXlEb3duOmIsbmVzdGVkTGlzdHNBcmlhT3duczpDLG5lc3RlZExpc3RBcmlhSGlkZGVuOkUsLi4ueH09ZSxTPSgwLHIuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoeCksTD0oMCxvLnVzZUlkKSgpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjp5LG9uS2V5RG93bjpifSxvLmNyZWF0ZUVsZW1lbnQoaS5DdXN0b21MaXN0SXRlbSx7aWQ6dCxyb2xlOm4sb25DbGljazpzLGZvY3VzYWJsZTpkfHwhIWwscmVmOmYsYXJpYUV4cGFuZGVkOnU/PyghIWx8fHZvaWQgMCksYXJpYUNvbnRyb2xzOmg/PyhsP0w6dm9pZCAwKSxhcmlhSGFzcG9wdXA6cD8/KGw/Im1lbnUiOnZvaWQgMCksYXJpYUxldmVsOm0sYXJpYUxhYmVsOncsZGF0YVFhSWQ6YCR7YS5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9dGl0bGUtbGlzdC1pdGVtYCwuLi5TfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2fSxnLGwpKSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOkwscm9sZToibWVudSIsImFyaWEtbGFiZWxsZWRieSI6YywiYXJpYS1vcmllbnRhdGlvbiI6Imhvcml6b250YWwiLCJhcmlhLW93bnMiOkMsImFyaWEtaGlkZGVuIjpFfSkpfX0sNjQ5MTY2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0xvYWRlcjooKT0+Y30pO3ZhciBvLGk9big3Nzk0NzQpLGE9big5MTQ0ODcpLHI9bi5uKGEpLHM9bigyNDQ1MjUpLGw9bi5uKHMpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc2l6ZTpuPSJtZWRpdW0iLHN0YXRpY1Bvc2l0aW9uOm8sY29sb3I6YT0iYmxhY2sifT1lLHM9cigpKGwoKS5pdGVtLGwoKVthXSxsKClbbl0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpKGwoKS5sb2FkZXIsbyYmbCgpLnN0YXRpYyx0KX0saS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnN9KSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6c30pLGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzfSkpfSFmdW5jdGlvbihlKXtlLk1lZGl1bT0ibWVkaXVtIixlLlNtYWxsPSJzbWFsbCJ9KG98fChvPXt9KSl9LDU4NTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcnRhbDooKT0+YyxQb3J0YWxDb250ZXh0OigpPT5kfSk7dmFyIG89big3Nzk0NzQpLGk9bigxMjkzNjUpLGE9big4NTY3NzApLHI9big5MDM0Mikscz1uKDU3MDE5MyksbD1uKDYwNzgzMik7Y2xhc3MgYyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fdXVpZD0oMCxhLm5hbm9pZCkoKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21hbmFnZXIoKS5yZW1vdmVXaW5kb3codGhpcy5fdXVpZCl9cmVuZGVyKCl7Y29uc3QgZT10aGlzLl9tYW5hZ2VyKCkuZW5zdXJlV2luZG93KHRoaXMuX3V1aWQsdGhpcy5wcm9wcy5sYXllck9wdGlvbnMpO2Uuc3R5bGUudG9wPXRoaXMucHJvcHMudG9wfHwiIiwKZS5zdHlsZS5ib3R0b209dGhpcy5wcm9wcy5ib3R0b218fCIiLGUuc3R5bGUubGVmdD10aGlzLnByb3BzLmxlZnR8fCIiLGUuc3R5bGUucmlnaHQ9dGhpcy5wcm9wcy5yaWdodHx8IiIsZS5zdHlsZS5wb2ludGVyRXZlbnRzPXRoaXMucHJvcHMucG9pbnRlckV2ZW50c3x8IiI7Y29uc3QgdD10aGlzLnByb3BzLmNsYXNzTmFtZTtyZXR1cm4gdCYmKCJzdHJpbmciPT10eXBlb2YgdD9lLmNsYXNzTGlzdC5hZGQodCk6ZS5jbGFzc0xpc3QuYWRkKC4uLnQpKSx0aGlzLnByb3BzLnNob3VsZFRyYXBGb2N1cyYmIWUuaGFzQXR0cmlidXRlKHMuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJmUuc2V0QXR0cmlidXRlKHMuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSwidHJ1ZSIpLHRoaXMucHJvcHNbImFyaWEtaGlkZGVuIl0mJmUuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSxpLmNyZWF0ZVBvcnRhbChvLmNyZWF0ZUVsZW1lbnQoZC5Qcm92aWRlcix7dmFsdWU6dGhpc30sdGhpcy5wcm9wcy5jaGlsZHJlbiksZSl9bW92ZVRvVG9wKCl7dGhpcy5fbWFuYWdlcigpLm1vdmVUb1RvcCh0aGlzLl91dWlkKX1fbWFuYWdlcigpe3JldHVybiBudWxsPT09dGhpcy5jb250ZXh0PygwLHIuZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyKSgpOnRoaXMuY29udGV4dH19Yy5jb250ZXh0VHlwZT1sLlNsb3RDb250ZXh0O2NvbnN0IGQ9by5jcmVhdGVDb250ZXh0KG51bGwpfSw2MDc4MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2xvdDooKT0+aSxTbG90Q29udGV4dDooKT0+YX0pO3ZhciBvPW4oNzc5NDc0KTtjbGFzcyBpIGV4dGVuZHMgby5Db21wb25lbnR7c2hvdWxkQ29tcG9uZW50VXBkYXRlKCl7cmV0dXJuITF9cmVuZGVyKCl7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJmaXhlZCIsekluZGV4OjE1MCxsZWZ0OjAsdG9wOjB9LHJlZjp0aGlzLnByb3BzLnJlZmVyZW5jZX0pfX1jb25zdCBhPW8uY3JlYXRlQ29udGV4dChudWxsKX0sOTAzNDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PnIsZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIG89bigxMzg2MzgpLGk9big1NzAxOTMpO2NsYXNzIGF7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIHJ7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgYSx0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbj1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxuKSx0aGlzLl9jb250YWluZXI9bn1yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBuPXRoaXMuX3dpbmRvd3MuZ2V0KGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47dGhpcy5yZWdpc3RlcldpbmRvdyhlKTtjb25zdCBvPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG8uc3R5bGUucG9zaXRpb249dC5wb3NpdGlvbixvLnN0eWxlLnpJbmRleD10aGlzLl9pbmRleC50b1N0cmluZygpLG8uZGF0YXNldC5pZD1lLHZvaWQgMCE9PXQuaW5kZXgpe2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHQuaW5kZXg+PWUpdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKG8pO2Vsc2UgaWYodC5pbmRleDw9MCl0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpO2Vsc2V7Y29uc3QgZT10aGlzLl9jb250YWluZXIuY2hpbGROb2Rlc1t0LmluZGV4XTt0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sZSl9fWVsc2UicmV2ZXJzZSI9PT10LmRpcmVjdGlvbj90aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpOnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChvKTtyZXR1cm4gdGhpcy5fd2luZG93cy5zZXQoZSxvKSwrK3RoaXMuX2luZGV4LG99dW5yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLnJlbW92ZShlKTtjb25zdCB0PXRoaXMuX3dpbmRvd3MuZ2V0KGUpO3ZvaWQgMCE9PXQmJihudWxsIT09dC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCksdGhpcy5fd2luZG93cy5kZWxldGUoZSkpfWdldFppbmRleChlKXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3JldHVybiBwYXJzZUludCh0LnN0eWxlLnpJbmRleHx8IjAiKX1tb3ZlTGFzdFdpbmRvd1RvVG9wKCl7Y29uc3QgZT10aGlzLl9zdG9yYWdlLmdldEl0ZW1zKCksdD1lW2UubGVuZ3RoLTFdO3QmJnRoaXMubW92ZVRvVG9wKHQpfW1vdmVUb1RvcChlKXtpZih0aGlzLmdldFppbmRleChlKSE9PXRoaXMuX2luZGV4KXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3RoaXMuX3dpbmRvd3MuZm9yRWFjaCgoKGUsbik9PntlLmhhc0F0dHJpYnV0ZShpLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShpLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsZT09PXQ/InRydWUiOiJmYWxzZSIpfSkpLHQuc3R5bGUuekluZGV4PSgrK3RoaXMuX2luZGV4KS50b1N0cmluZygpfX1yZW1vdmVXaW5kb3coZSl7CnRoaXMudW5yZWdpc3RlcldpbmRvdyhlKX19Y29uc3Qgcz1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGU9ZG9jdW1lbnQpe2NvbnN0IHQ9ZS5nZXRFbGVtZW50QnlJZCgib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiKTtpZihudWxsIT09dClyZXR1cm4oMCxvLmVuc3VyZURlZmluZWQpKHMuZ2V0KHQpKTt7Y29uc3QgdD1uZXcgcihlKSxuPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIHMuc2V0KG4sdCksdC5zZXRDb250YWluZXIobiksZS5ib2R5LmFwcGVuZENoaWxkKG4pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sNTY1NzQ1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbCE9ZX1uLmQodCx7aXNFeGlzdGVudDooKT0+b30pfSw4NTAxMDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QWNjZXNzaWJsZU1lbnVJdGVtOigpPT5ofSk7dmFyIG89big3Nzk0NzQpLGk9big5MTQ0ODcpLGE9bi5uKGkpLHI9bigyMzU3MjQpLHM9bigxODIzMDgpLGw9bigzODY5MzEpLGM9bigxNTM3MzQpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7dHJhY2tFdmVudE9iamVjdDp0LHRyYWNrUmlnaHRDbGljazpuLHRyYWNrTW91c2VXaGVlbENsaWNrOmksb25DbGljazphLG9uQ29udGV4dE1lbnU6cixvbk1vdXNlVXA6cyxsaW5rOmQsLi4udX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGMuUG9wdXBNZW51SXRlbSx7Li4udSxsaW5rOmQsb25DbGljazpmdW5jdGlvbihlLG4pe3QmJigwLGwudHJhY2tFdmVudCkodC5jYXRlZ29yeSx0LmV2ZW50LHQubGFiZWwpLGEmJmEoZSxuKX0sb25Db250ZXh0TWVudTpmdW5jdGlvbihlKXt0JiZuJiYoMCxsLnRyYWNrRXZlbnQpKHQuY2F0ZWdvcnksdC5ldmVudCxgJHt0LmxhYmVsfV9yaWdodENsaWNrYCksciYmcihlKX0sb25Nb3VzZVVwOmZ1bmN0aW9uKGUpe2lmKDE9PT1lLmJ1dHRvbiYmZCYmdCl7bGV0IGU9dC5sYWJlbDtpJiYoZSs9Il9tb3VzZVdoZWVsQ2xpY2siKSwoMCxsLnRyYWNrRXZlbnQpKHQuY2F0ZWdvcnksdC5ldmVudCxlKX1zJiZzKGUpfX0pfXZhciB1PW4oNTk5OTcyKTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHJlZmVyZW5jZTpuLC4uLml9PWUsW2wsY109KDAscy51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG4/P251bGwpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoZCx7Li4uaSxjbGFzc05hbWU6YSgpKHUuYWNjZXNzaWJsZSxlLmlzQWN0aXZlJiZ1LmFjdGl2ZSx0KSxyZWZlcmVuY2U6bCx0YWJJbmRleDpjLG9uS2V5RG93bjpmdW5jdGlvbihlKXtpZihlLnRhcmdldCE9PWUuY3VycmVudFRhcmdldClyZXR1cm47Y29uc3QgdD0oMCxyLmhhc2hGcm9tRXZlbnQpKGUpOzEzIT09dCYmMzIhPT10fHwoZS5wcmV2ZW50RGVmYXVsdCgpLGwuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZsLmN1cnJlbnQuY2xpY2soKSl9LCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsImFyaWEtZGlzYWJsZWQiOmUuaXNEaXNhYmxlZHx8ZVsiYXJpYS1kaXNhYmxlZCJdLHRvb2xib3hSb2xlOiJ0b29sYmFyIn0pfX0sMzI1MDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ2xpZW50U25hcHNob3Q6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDU1NzA2NSksYT1uKDE1MDY2NSkscj1uKDIwNzk3KSxzPW4oMTc5NzcxKTtmdW5jdGlvbiBsKGUpe2NvbnN0W3Qsbl09KDAsby51c2VTdGF0ZSkoITEpO2xldCBsPW51bGw7Y29uc3QgYz0oMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e2NvbnN0IHQ9ZSgpLG49dC50aGVuKChlPT5uZXcgUHJvbWlzZSgodD0+ZS5jYW52YXMudG9CbG9iKChlPT57bnVsbCE9PWUmJnQoZSl9KSkpKSkpO3RyeXthd2FpdCgwLGkud3JpdGVQcm9taXNlVXNpbmdBcGkpKG4sImltYWdlL3BuZyIpLHMuZW1pdCgib25DbGllbnRTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiKX1jYXRjaChlKXtjb25zdHtjYW52YXM6bn09YXdhaXQgdDt3aW5kb3cub3BlbigpPy5kb2N1bWVudC53cml0ZShgPGltZyB3aWR0aD0iMTAwJSIgc3JjPSIke24udG9EYXRhVVJMKCl9Ii8+YCl9fSksW2VdKSxkPSgwLG8udXNlQ2FsbGJhY2spKChhc3luYygpPT57Y29uc3QgdD1hd2FpdCBlKCksbj1hd2FpdCBmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9Pnt0cnl7ZS5jYW52YXMudG9CbG9iKChlPT57aWYobnVsbD09PWUpdGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZ2VuZXJhdGUgYmxvYiIpO3QoVVJMLmNyZWF0ZU9iamVjdFVSTChlKSl9KSl9Y2F0Y2h7dChlLmNhbnZhcy50b0RhdGFVUkwoKSl9fSkpfSh0KTtuJiYoMCxhLmRvd25sb2FkRmlsZSkoYCR7dC5uYW1lfS5wbmdgLG4pfSksW2VdKTtyZXR1cm4gbD0oMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e24oITApO2NvbnN0IHQ9YXdhaXQgZSgpLG89YXdhaXQoMCxyLmxvYWRTeW1waG9ueUNvbW11bmljYXRpb25DaGFubmVsKSgpO28mJmF3YWl0IG8uc2hhcmVTY3JlZW5zaG90KHQpLG4oITEpfSksW2VdKSx7Y29weVNuYXBzaG90VG9DbGlwYm9hcmQ6Yyxkb3dubG9hZFNuYXBzaG90OmQsc2hhcmVTeW1waG9ueTpsLHN5bXBob255TG9hZGluZzp0fX19LDMyNzQ0MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VTZXJ2ZXJTbmFwc2hvdDooKT0+bX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNTU3MDY1KSxhPW4oOTcxNjU5KSxyPW4oMjc2MDE5KSxzPW4oOTU1MzUzKSxsPW4oNzg3NDIpLGM9bigzMjA1NSksZD1uKDk4Nzc5OCksdT1uKDkxMTMyNyksaD1uKDE3OTc3MSkscD1uKDE2ODQ3MSk7ZnVuY3Rpb24gbShlKXtjb25zdFt0LG5dPSgwLG8udXNlU3RhdGUpKCExKSxbcCxtXT0oMCxvLnVzZVN0YXRlKSghMSksW2csdl09KDAsCm8udXNlU3RhdGUpKCExKSxbZix5XT0oMCxvLnVzZVN0YXRlKSghMSksYj0oMCxhLnVzZUlzTW91bnRlZCkoKTtyZXR1cm57dGFrZVNuYXBzaG90OigwLG8udXNlQ2FsbGJhY2spKChhc3luYyh0PSExKT0+e2NvbnN0IG89ZSgpO3RyeXtpZih0KW0oITApLGF3YWl0IHcobyk7ZWxzZXtuKCEwKTtjb25zdCBlPW8udGhlbigoZT0+bmV3IEJsb2IoW2UuaW1hZ2VVcmxdLHt0eXBlOiJ0ZXh0L3BsYWluIn0pKSk7YXdhaXQoMCxpLndyaXRlUHJvbWlzZVVzaW5nQXBpKShlLCJ0ZXh0L3BsYWluIiksaC5lbWl0KCJvblNlcnZlclNjcmVlbnNob3RDb3BpZWRUb0NsaXBib2FyZCIpfX1jYXRjaChlKXthd2FpdCB3KG8pfWZpbmFsbHl7Yi5jdXJyZW50JiYobSghMSksbighMSksKDAsci5nbG9iYWxDbG9zZU1lbnUpKCkpfX0pLFtlXSksdGFrZVNuYXBzaG90RW1iZWRDb2RlOigwLG8udXNlQ2FsbGJhY2spKChhc3luYygpPT57dighMCk7Y29uc3QgdD1lKCk7dHJ5e2NvbnN0IGU9NzIwLG49dC50aGVuKChhc3luYyB0PT57aWYoIXQuc3ltYm9sKXRocm93IG5ldyBFcnJvcigiU3ltYm9sIG5vdCBmb3VuZCBpbiBTZXJ2ZXJTbmFwc2hvdFJlc3VsdCIpO2NvbnN0IG49YXdhaXQoMCxjLnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3QodC5zeW1ib2wsbmV3IFNldChbImRlc2NyaXB0aW9uIl0pKSxvPSJlcnJvciIhPT1uLnN0YXR1cz9uLnZhbHVlcy5kZXNjcmlwdGlvbjp0LnN5bWJvbCxpPXQuaW1hZ2VVcmwubWF0Y2goL1wveFwvKFswLTlhLXpBLVpdezh9KS8pPy5bMV0/PyIiLGE9KDAsZC5jcmVhdGVTbmFwc2hvdEltYWdlVXJscykoaSk/LnVybDtyZXR1cm4gbmV3IEJsb2IoW2A8aW1nIHdpZHRoPSIke2V9IiBsb2FkaW5nPSJsYXp5IiBzcmM9IiR7YX0iLz48cD48YSBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20keygwLHUuZ2V0U3ltYm9sUGFnZVBhdGgpKHtzaG9ydE5hbWU6dC5zeW1ib2x9KX0iPiR7b30gY2hhcnQ8L2E+IGJ5IFRyYWRpbmdWaWV3PC9wPmBdLHt0eXBlOiJ0ZXh0L3BsYWluIn0pfSkpO2F3YWl0KDAsaS53cml0ZVByb21pc2VVc2luZ0FwaSkobiwidGV4dC9wbGFpbiIpLGguZW1pdCgib25TZXJ2ZXJTY3JlZW5zaG90RW1iZWRDb2RlQ29waWVkVG9DbGlwYm9hcmQiKX1jYXRjaChlKXthd2FpdCB3KHQpfWZpbmFsbHl7Yi5jdXJyZW50JiYodighMSksKDAsci5nbG9iYWxDbG9zZU1lbnUpKCkpfX0pLFtlXSksc2hhcmVTbmFwc2hvdDooMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMgdD0+e3koITApO2NvbnN0IG49KDAsbC5jcmVhdGVTaGFyZVdpbmRvdykoKSxvPWF3YWl0IGUoKTtpZih0KW4ubG9jYXRpb24uaHJlZj1zLlR3aXR0ZXIuY3JlYXRlVHdpdHRlckhyZWZXaXRoQ3VzdG9tVGV4dCh0LG8uaW1hZ2VVcmwpO2Vsc2V7aWYoIW8uc3ltYm9sKXJldHVybiB2b2lkIHkoITEpO3tjb25zdCBlPSJjbWUiPT09d2luZG93LlRyYWRpbmdWaWV3LndpZGdldEN1c3RvbWVyO24ubG9jYXRpb24uaHJlZj1zLlR3aXR0ZXIuY3JlYXRlVHdpdHRlckhyZWZCeVN5bWJvbChvLnN5bWJvbCxvLmltYWdlVXJsLGUpfX1iLmN1cnJlbnQmJih5KCExKSwoMCxyLmdsb2JhbENsb3NlTWVudSkoKSl9KSxbZV0pLGNvcHlMaW5rTG9hZGluZzp0LG5ld1RhYkxvYWRpbmc6cCxlbWJlZENvZGVMb2FkaW5nOmcsdHdlZXRMb2FkaW5nOmZ9fWFzeW5jIGZ1bmN0aW9uIHcoZSl7cmV0dXJuKDAscC5hc3luY1dpbmRvd09wZW4pKGUudGhlbigoZT0+ZS5pbWFnZVVybCkpKX19LDc1NDE4MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtMYWJlbFdpdGhMb2FkZXI6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDY0OTE2Nikscz1uKDUxMjE0OSk7ZnVuY3Rpb24gbChlKXtjb25zdCB0PWEoKShlLmlzTG9hZGluZyYmcy5oaWRkZW4pLG49YSgpKCFlLmlzTG9hZGluZyYmcy5oaWRkZW4pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6dH0sZS5jaGlsZHJlbiksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm59LG8uY3JlYXRlRWxlbWVudChyLkxvYWRlcixudWxsKSkpfX0sMzMyMzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRTY3JlZW5zaG90Q29udGVudDooKT0+TX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oMTg1MjcxKSxhPW4oOTE0NDg3KSxyPW4ubihhKSxzPW4oNjM4ODcyKSxsPW4oNjQ5MTY2KSxjPW4oMjM1NzI0KSxkPW4oMzE4OTc0KSx1PW4oOTMwMjMxKSxoPW4oMTUzNzM0KSxwPW4oMzg3MjMxKSxtPW4oODAwOTE0KSx3PW4oMzEzMTEwKSxnPW4oODUwMTA4KSx2PW4oMTk5MTcyKSxmPW4oMzI1MDApLHk9bigzMjc0NDApLGI9big3NTQxODApLEM9big1NjkzOTgpLEU9big0Nzc3MDApLHg9big3MTkxMyksUz1uKDYyODQyOCksTD1uKDkzNzIxKSxfPW4oNTY5MTI1KSxrPW4oOTY1ODcpLFQ9bigxNDcyMjEpLEk9big0OTE0OCk7Y29uc3QgQT0oMCxwLm1lcmdlVGhlbWVzKShoLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLEkpO2Z1bmN0aW9uIE0oZSl7Y29uc3R7c2VydmVyU25hcHNob3Q6dCxjbGllbnRTbmFwc2hvdDphLGhpZGVTaG9ydGN1dHM6cixzZW5kRXZlbnQ6c309ZSx7ZG93bmxvYWRTbmFwc2hvdDpsLGNvcHlTbmFwc2hvdFRvQ2xpcGJvYXJkOmgsc2hhcmVTeW1waG9ueTpwLHN5bXBob255TG9hZGluZzp3fT0oMCxmLnVzZUNsaWVudFNuYXBzaG90KShhKSx7dGFrZVNuYXBzaG90OmcsdGFrZVNuYXBzaG90RW1iZWRDb2RlOmIsc2hhcmVTbmFwc2hvdDpJLG5ld1RhYkxvYWRpbmc6QSxjb3B5TGlua0xvYWRpbmc6TSxlbWJlZENvZGVMb2FkaW5nOlUsdHdlZXRMb2FkaW5nOlJ9PSgwLHkudXNlU2VydmVyU25hcHNob3QpKHQpLFc9aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNjY3OTgxKSksJD1be2lkOiJzYXZlLWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbigzMzY5OTMpKSxpY29uOl8sCmhvdGtleUhhc2g6cj92b2lkIDA6Yy5Nb2RpZmllcnMuTW9kK2MuTW9kaWZpZXJzLkFsdCs4MyxzaG93OiEwLG9uQ2xpY2s6ZnVuY3Rpb24oKXtsKCkscz8uKCJkb3dubG9hZCIpfX0se2lkOiJjb3B5LWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbigxMjQ3NjYpKSxpY29uOkwsaG90a2V5SGFzaDpyP3ZvaWQgMDpjLk1vZGlmaWVycy5Nb2QrYy5Nb2RpZmllcnMuU2hpZnQrODMsc2hvdzohMCxvbkNsaWNrOmZ1bmN0aW9uKCl7aCgpLHM/LigiY29weUltZyIpfX0se2lkOiJjb3B5LWxpbmstdG8tdGhlLWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbig0MjI4NzApKSxpY29uOmssbG9hZGluZzpNLGRvbnRDbG9zZVBvcHVwOiEwLGhvdGtleUhhc2g6cj92b2lkIDA6Yy5Nb2RpZmllcnMuQWx0KzgzLHNob3c6Qm9vbGVhbighKDAsZC5vbldpZGdldCkoKSksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2coITEpLHM/LigiY29weUxpbmsiKX0pLHtzb3VyY2U6IkNvcHkgbGluayB0byB0aGUgY2hhcnQgaW1hZ2UifSl9LHtpZDoiY29weS1zbmFwc2hvdF9lbWJlZF9jb2RlIix0aXRsZTppLnQobnVsbCx2b2lkIDAsbigxODYxMjUpKSxpY29uOkUsbG9hZGluZzpVLGRvbnRDbG9zZVBvcHVwOiEwLHNob3c6KDAsQy5pc0ZlYXR1cmVFbmFibGVkKSgiY29weV9zbmFwc2hvdF9lbWJlZF9jb2RlIikmJiEoMCxkLm9uV2lkZ2V0KSgpJiYhKDAsZC5pc1N5bXBob255RW1iZWQpKCksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2IoKX0pLHtzb3VyY2U6IkNvcHkgc25hcHNob3QgZW1iZWQgY29kZSJ9KX0se2lkOiJvcGVuLWltYWdlLWluLW5ldy10YWIiLHRpdGxlOmkudChudWxsLHZvaWQgMCxuKDE0ODg4OSkpLGljb246VCxsb2FkaW5nOkEsZG9udENsb3NlUG9wdXA6ITAsc2hvdzpCb29sZWFuKCEoMCxkLm9uV2lkZ2V0KSgpJiYhKDAsZC5pc1N5bXBob255RW1iZWQpKCkpLG9uQ2xpY2s6KCk9PndpbmRvdy5ydW5PclNpZ25JbigoKCk9PntnKCEwKSxzPy4oIm9wZW5OZXdUYWIiKX0pLHtzb3VyY2U6Ik9wZW4gaW1hZ2UgaW4gbmV3IHRhYiJ9KX0se2lkOiJ0d2VldC1jaGFydC1pbWFnZSIsdGl0bGU6aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNTgxODUzKSksaWNvbjpTLGxvYWRpbmc6Uixkb250Q2xvc2VQb3B1cDohMCxzaG93OkJvb2xlYW4oISgwLGQub25XaWRnZXQpKCkmJiEoMCxkLmlzU3ltcGhvbnlFbWJlZCkoKSksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e0koKSxzPy4oInR3ZWV0SW1nIil9KSx7c291cmNlOiJUd2VldCBjaGFydCBpbWFnZSJ9KX0se2lkOiJzaGFyZS1zeW1waG9ueS1jaGFydC1pbWFnZSIsdGl0bGU6aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNTg1MTI4KSksaWNvbjp4LGxvYWRpbmc6dyxkb250Q2xvc2VQb3B1cDohMCxzaG93OigwLGQuaXNTeW1waG9ueUVtYmVkKSgpLG9uQ2xpY2s6KCk9PnA/LigpfV0uZmlsdGVyKChlPT5lLnNob3cpKS5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChQLHtrZXk6ZS5pZCxpdGVtOmV9KSkpO3JldHVybigwLHUuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9vLmNyZWF0ZUVsZW1lbnQobS5TZWN0aW9uTGlzdEl0ZW0se3RpdGxlOlcsYXJpYUxhYmVsOld9LCQpOm8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KHYuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LG51bGwsVyksJCl9ZnVuY3Rpb24gUCh7aXRlbTplfSl7Y29uc3R7bG9hZGluZzp0LGlkOm4sdGl0bGU6aSxkb250Q2xvc2VQb3B1cDphLGhvdGtleUhhc2g6ZCxvbkNsaWNrOmgsaWNvbjpwfT1lLG09dm9pZCAwIT09ZDtyZXR1cm4oMCx1LmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIik/by5jcmVhdGVFbGVtZW50KHcuTWVudUl0ZW0se3JvbGU6InJvdyIsYXJpYUxldmVsOjIsbGVmdFNsb3Q6dD92b2lkIDA6by5jcmVhdGVFbGVtZW50KHMuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzpwfSksb25DbGljazpoLGRvbnRDbG9zZVBvcHVwOmEsZGlzYWJsZWQ6dCx0aXRsZTpvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6dD8zOm0/MToyfSx0P28uY3JlYXRlRWxlbWVudChsLkxvYWRlcixudWxsKTppKSxob3RrZXk6dD92b2lkIDA6ZCxhcmlhTGFiZWw6aSxkYXRhUWFJZDpuLCJkYXRhLXJvbGUiOiJtZW51aXRlbSJ9KTpvLmNyZWF0ZUVsZW1lbnQoZy5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6InJvdyIsY2xhc3NOYW1lOnIoKSh0JiZJLmxvYWRpbmcpLHNob3J0Y3V0Om0/KDAsYy5odW1hblJlYWRhYmxlSGFzaCkoZCk6dm9pZCAwLGljb246cCxpc0Rpc2FibGVkOnQsb25DbGljazpoLGRvbnRDbG9zZVBvcHVwOmEsZGF0YVFhSWQ6bixsYWJlbDp2b2lkIDAhPT10P28uY3JlYXRlRWxlbWVudChiLkxhYmVsV2l0aExvYWRlcix7aXNMb2FkaW5nOnR9LGkpOmksdGhlbWU6QX0pfX0sMzEzMTEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01lbnVJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big2Mjg4MjUpLGE9bigxODIzMDgpLHI9bigyNzYwMTkpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7bGlzdEl0ZW1CdXR0b25SZWY6dCxyb2xlOm49Im1lbnVpdGVtIixvbkNsaWNrOnMsZG9udENsb3NlUG9wdXA6bCwuLi5jfT1lLFtkLHVdPSgwLGEudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KSh0Pz9udWxsKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuTGlzdEl0ZW0sey4uLmMscm9sZTpuLGxpc3RJdGVtQnV0dG9uUmVmOmQsdGFiSW5kZXg6dSxvbkNsaWNrOmZ1bmN0aW9uKGUpe3M/LihlKSxsfHwoZS5jdXJyZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJwb3B1cC1tZW51LWNsb3NlLWV2ZW50Iix7YnViYmxlczohMCwKZGV0YWlsOntjbGlja1R5cGU6ZS5uYXRpdmVFdmVudCBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnQ/ImtleWJvYXJkIjoibW91c2UifX0pKSwoMCxyLmdsb2JhbENsb3NlTWVudSkoKSl9fSl9fSw1Njk2NTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UmVnaXN0cnlQcm92aWRlcjooKT0+bCxyZWdpc3RyeUNvbnRleHRUeXBlOigpPT5kLHVzZVJlZ2lzdHJ5OigpPT5jLHZhbGlkYXRlUmVnaXN0cnk6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDIyMTg5NiksYT1uLm4oaSk7Y29uc3Qgcj1vLmNyZWF0ZUNvbnRleHQoe30pO2Z1bmN0aW9uIHMoZSx0KXthKCkuY2hlY2tQcm9wVHlwZXModCxlLCJjb250ZXh0IiwiUmVnaXN0cnlDb250ZXh0Iil9ZnVuY3Rpb24gbChlKXtjb25zdHt2YWxpZGF0aW9uOnQsdmFsdWU6bn09ZTtyZXR1cm4gcyhuLHQpLG8uY3JlYXRlRWxlbWVudChyLlByb3ZpZGVyLHt2YWx1ZTpufSxlLmNoaWxkcmVuKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsby51c2VDb250ZXh0KShyKTtyZXR1cm4gcyh0LGUpLHR9ZnVuY3Rpb24gZCgpe3JldHVybiByfX0sODAwOTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NlY3Rpb25MaXN0SXRlbTooKT0+cn0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTM1NTM1KSxhPW4oMzQ1MTE2KTtmdW5jdGlvbiByKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixjaGlsZHJlbjpyLGl0ZW1Sb2xlOnMsYXJpYUxhYmVsOmwscmlnaHRTbG90OmMscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6ZCxvbkNsaWNrOnUsb25LZXlEb3duOmgsaXNXcmFwcGVkOnAsZ3JvdXBSb2xlOm0sYXJpYUxldmVsOncsLi4uZ309ZSx2PSgwLGEuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZyksZj0oMCxvLnVzZUlkKSgpLHk9KDAsby51c2VJZCkoKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoaS5UaXRsZUxpc3RJdGVtLHtpZDp0LHRpdGxlOm4scm9sZTpzLHJpZ2h0U2xvdDpjLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmQsYXJpYUxhYmVsOmwsdmFyaWFudDoic2Vjb25kYXJ5IixhcmlhQ29udHJvbHM6dm9pZCAwIT09cD95OnZvaWQgMCxhcmlhTGV2ZWw6dyx0aXRsZUlkOmYsd3JhcHBlZDpwLG9uQ2xpY2s6dSxvbktleURvd246aCwuLi52fSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHsiYXJpYS1sYWJlbGxlZGJ5IjpmLGlkOnksImFyaWEtaGlkZGVuIjp2b2lkIDAhPT1wP3A6dm9pZCAwLHJvbGU6bX0sIXAmJnIpKX19LDQ5MjY3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoL1wrL2csIiAiKSkucmVwbGFjZSgvPFwvP1tePl0rKD58JCkvZywiIil9ZnVuY3Rpb24gaShlKXtjb25zdCB0PS8oW14mPV0rKT0/KFteJl0qKS9nLG49e307aWYoIWUpcmV0dXJuIG47bGV0IGk9dC5leGVjKGUpO2Zvcig7aTspbltvKGlbMV0pXT1vKGlbMl0pLGk9dC5leGVjKGUpO3JldHVybiBufWZ1bmN0aW9uIGEoKXtyZXR1cm4gaSh3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSl9ZnVuY3Rpb24gcigpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoIiMiKVswXTt3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoIiIsZG9jdW1lbnQudGl0bGUsZSl9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSYmbnVsbCE9ZVtuXSl7Y29uc3Qgbz1lW25dLGk9Im9iamVjdCI9PXR5cGVvZiBvP0pTT04uc3RyaW5naWZ5KG8pOlN0cmluZyhvKTt0LnB1c2goe2tleTpuLHBhaXI6ZW5jb2RlVVJJQ29tcG9uZW50KG4pKyI9IitlbmNvZGVVUklDb21wb25lbnQoaSl9KX1yZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5rZXk+dC5rZXk/MTplLmtleTx0LmtleT8tMTowKSkubWFwKChlPT5lLnBhaXIpKS5qb2luKCImIil9bi5kKHQse2NyZWF0ZVVybFBhcmFtczooKT0+cyxnZXRVcmxQYXJhbXM6KCk9PmEscmVtb3ZlSGFzaEZyb21Vcmw6KCk9PnJ9KX0sNzg3NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGU9ImFib3V0OmJsYW5rIix0PSJzbmFwc2hvdF90d2VldCIpe2NvbnN0IG49TWF0aC5yb3VuZChzY3JlZW4ud2lkdGgvMi0yNzUpLG89TWF0aC5yb3VuZChzY3JlZW4uaGVpZ2h0LzItMjEwKTtyZXR1cm4gd2luZG93Lm9wZW4oZSx0LGBzY3JvbGxiYXJzPXllcyxyZXNpemFibGU9eWVzLHRvb2xiYXI9bm8sbG9jYXRpb249eWVzLFxuXHRcdFx0d2lkdGg9NTUwLGhlaWdodD00MjAsXG5cdFx0XHRsZWZ0PSR7bn0sdG9wPSR7b31gKX1uLmQodCx7Y3JlYXRlU2hhcmVXaW5kb3c6KCk9Pm99KX0sOTU1MzUzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1R3aXR0ZXI6KCk9Pm99KTt2YXIgbyxpPW4oNzg3NDIpOyFmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCxuKXtyZXR1cm4gbj90KyIgZnJvbSBjbWVncm91cC5jb20gdmlhIEB0cmFkaW5ndmlldyAkIitlOmBDaGVjayBvdXQgbXkgIyR7ZX0gYW5hbHlzaXMgb24gQFRyYWRpbmdWaWV3OiAke3R9YH1mdW5jdGlvbiBuKGUsbixvKXtyZXR1cm4iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/JnRleHQ9IitlbmNvZGVVUklDb21wb25lbnQodChlLG4sbykpfWUuZ2V0U3RhdHVzPXQsZS5zaGFyZVNuYXBzaG90SW5zdGFudGx5PWZ1bmN0aW9uKGUsdCxvKXsoMCxpLmNyZWF0ZVNoYXJlV2luZG93KShuKGUsdCxvKSl9LGUuY3JlYXRlVHdpdHRlckhyZWZXaXRoQ3VzdG9tVGV4dD1mdW5jdGlvbihlLHQpe2NvbnN0IG49ZS5yZXBsYWNlKCJ7dXJsfSIsdCk7cmV0dXJuYGh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P3RleHQ9JHtlbmNvZGVVUklDb21wb25lbnQobil9YH0sZS5jcmVhdGVUd2l0dGVySHJlZkJ5U3ltYm9sPW59KG98fChvPXt9KSl9LDE2ODQ3MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthc3luY1dpbmRvd09wZW46KCk9PnN9KTt2YXIgbz1uKDExNzMxMyksaT1uKDMxODk3NCksYT1uKDE4NTI3MSkscj1uKDczODQ1OCk7ZnVuY3Rpb24gcyhlLHQscyl7cmV0dXJuIHdpbmRvdy5UVkR8fCgwLApvLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fCJfc2VsZiI9PT10fHwoMCxpLmlzU3ltcGhvbnlFbWJlZCkoKT9mdW5jdGlvbihlLHQsbil7cmV0dXJuIGUudGhlbigoZT0+e3ZvaWQgMCE9PWUmJm9wZW4oZSx0LG4pfSksKCgpPT57fSkpfShlLHQscyk6YXN5bmMgZnVuY3Rpb24oZSx0LG8pe2NvbnN0IGk9VVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbYDwhZG9jdHlwZSBodG1sPjxodG1sIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiR7Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmJhY2tncm91bmRDb2xvcn0iPjxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij48dGl0bGU+JHthLnQobnVsbCx2b2lkIDAsbig0MzY1MDQpKX08L3RpdGxlPjwvaGVhZD48Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjoke2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuYmFja2dyb3VuZENvbG9yfSI+PC9ib2R5PjwvaHRtbD5gXSx7dHlwZToidGV4dC9odG1sIn0pKTt0cnl7ci5pc0lPUyYmYXdhaXQgbmV3IFByb21pc2UoKGU9PnNldFRpbWVvdXQoZSkpKTtjb25zdCBuPW9wZW4oaSx0LG8pO2lmKCFuKXRocm93IG5ldyBFcnJvcigiY291bmQgbm90IG9wZW4gYSBuZXcgdGFiIik7Y29uc3QgYT1hd2FpdCBlLmNhdGNoKCgoKT0+e30pKTt2b2lkIDAhPT1hP24ubG9jYXRpb24ucmVwbGFjZShhKTpuLmNsb3NlKCl9ZmluYWxseXtVUkwucmV2b2tlT2JqZWN0VVJMKGkpfX0oZSx0LHMpfX0sOTg3Nzk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpLG4uZCh0LHtjcmVhdGVQdWJsaXNoZWRDaGFydEltYWdlVXJsOigpPT51LGNyZWF0ZVB1Ymxpc2hlZENoYXJ0VXJsOigpPT5jLGNyZWF0ZVNuYXBzaG90SW1hZ2VVcmxzOigpPT5oLGlzU25hcHNob3RVcmw6KCk9PnAscGFyc2VQdWJsaXNoZWRDaGFydFVybDooKT0+ZH0pO3ZhciBvPW4oNDkyMTg2KSxpPW4oMTYwMjk2KTtjb25zdCBhPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZENoYXJ0T2xkKSxyPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZENoYXJ0KSxzPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZFNjcmlwdCksbD1uZXcgUmVnRXhwKG8udXJsc1JlZ0V4cC5pbWFnZVVybCk7ZnVuY3Rpb24gYyhlLHQsbil7aWYoIWV8fCEvWzAtOWEtekEtWl17OH0vLnRlc3QoZSkpcmV0dXJuIiI7aWYoZSYmdCl7cmV0dXJuYC9jaGFydC8ke3R9LyR7ZX0ke24/YC0ke259YDoiIn0vYH1yZXR1cm5gL3YvJHtlfS9gfWZ1bmN0aW9uIGQoZSl7aWYoYS50ZXN0KGUpKXtyZXR1cm57aW1hZ2VfdXJsOihlLm1hdGNoKGEpfHxbXSlbMV19fWlmKHIudGVzdChlKSl7Y29uc3QgdD1lLm1hdGNoKHIpfHxbXTtyZXR1cm57aW1hZ2VfdXJsOnRbMl0sc3ltYm9sOnRbMV0sdGl0bGU6dFszXX19aWYocy50ZXN0KGUpKXtjb25zdCB0PWUubWF0Y2gocyl8fFtdO3JldHVybntpbWFnZV91cmw6dFsxXSx0aXRsZTp0WzJdfX1yZXR1cm4gbC50ZXN0KGUpP3tpbWFnZV91cmw6ZX06e319ZnVuY3Rpb24gdShlKXtpZighZXx8IS9bMC05YS16QS1aXXs4fS8udGVzdChlKSlyZXR1cm4iIjtjb25zdCB0PSgwLGkuZW52aXJvbm1lbnQpKCk7aWYoImJhdHRsZSI9PT10fHwic3RhZ2luZyI9PT10KXtjb25zdCB0PWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCk7cmV0dXJuYCR7d2luZG93LkFXU19TM19DRE59LyR7dH0vJHtlfS5wbmdgfXJldHVybmAvaS8ke2V9L2B9ZnVuY3Rpb24gaChlKXtpZighZXx8IS9bMC05YS16QS1aXXs4fS8udGVzdChlKSlyZXR1cm4gbnVsbDtjb25zdCB0PSgwLGkuZW52aXJvbm1lbnQpKCk7aWYoImJhdHRsZSI9PT10fHwic3RhZ2luZyI9PT10KXtjb25zdCB0PWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCksbj1gJHt3aW5kb3cuQVdTX1MzX0NETn0vc25hcHNob3RzLyR7dH1gO3JldHVybntwcmV2aWV3OmAke259LyR7ZX1fdGh1bWIucG5nYCx1cmw6YCR7bn0vJHtlfS5wbmdgfX17Y29uc3QgdD1gJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0fWA7cmV0dXJue3ByZXZpZXc6YCR7dH0veC8ke2V9L3MvYCx1cmw6YCR7dH0veC8ke2V9L2B9fX1mdW5jdGlvbiBwKGUpe3RyeXtjb25zdCB0PW5ldyBVUkwoZSk7cmV0dXJuL15cL3hcLyhbMC05YS16QS1aXXs4fSlcLz8oPzokfCg/PVtcczssLl0pKVwvPyQvLnRlc3QodC5wYXRobmFtZSl9Y2F0Y2goZSl7cmV0dXJuITF9fX0sNzU0MjQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbnZlcnRJbWFnZU5hbWVUb1VybDooKT0+aX0pO3ZhciBvPW4oMTYwMjk2KTtmdW5jdGlvbiBpKGUpe3JldHVybigwLG8uaXNQcm9kKSgpPyJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20veC8iK2UrIi8iOndpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK3dpbmRvdy5sb2NhdGlvbi5ob3N0KyIveC8iK2UrIi8ifX0sNDkyMTg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VybHNSZWdFeHA6KCk9Pm99KTtjb25zdCBvPXthbWF6b25hd3NMaW5rczoiKD86aHR0cHM6Ly98aHR0cDovLykoczNcXC4oYW1hem9uYXdzfHRyYWRpbmd2aWV3KVxcLmNvbShcXC90cmFkaW5ndmlldyhfc3RhZ2luZyk/KT9cXC9zbmFwc2hvdHMpXFwvKD86XFxTKj8pXFwuKHBuZ3xibXB8anBnfGpwZWcpIixpbWFnZVVybDoiXlswLTlhLXpBLVpdezh9JCIscHVibGlzaGVkQ2hhcnQ6Ii9jaGFydC8oLis/KS8oWzAtOWEtekEtWl17OH0pKD86LShbXi9dKykpPy8/IixwdWJsaXNoZWRDaGFydE9sZDoiL3YvKFswLTlhLXpBLVpdezh9KS8/IixwdWJsaXNoZWRJbWFnZToiLyg/Oml8eCkvKFswLTlhLXpBLVpdezh9KS8/IixwdWJsaXNoZWRTY3JpcHQ6Ii9zY3JpcHQvKFswLTlhLXpBLVpdezh9KSg/Oi0oW14vXSspKT8vPyIsZXh0ZXJuYWxMaW5rczoiKChodHRwOi8vfGh0dHBzOi8vKXwod3d3XFwuKSlbXFx3LlxcLV0rIn19LDI0MTkzNyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPXR8fHdpbmRvdy5sb2NhbGV8fCJlbiI7bGV0IG89ZVtuXT9lW25dOmUuZW4KO3JldHVybiBvPSJ0cmFkaW5ndmlldy5jb20iPT09bz8id3d3LnRyYWRpbmd2aWV3LmNvbSI6byxvP2RvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKyIvLyIrbzoiIn1uLmQodCx7ZGV0ZXJtaW5lQmFzZVVybDooKT0+b30pfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgbzshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ob3x8KG89e30pKX0sMjA3OTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bG9hZFN5bXBob255Q29tbXVuaWNhdGlvbkNoYW5uZWw6KCk9Pml9KTt2YXIgbz1uKDMxODk3NCk7YXN5bmMgZnVuY3Rpb24gaSgpe2lmKCEoMCxvLmlzU3ltcGhvbnlFbWJlZCkoKSlyZXR1cm4gbnVsbDtyZXR1cm4oYXdhaXQgUHJvbWlzZS5hbGwoW24uZSgxMDg0MSksbi5lKDc2MDgpLG4uZSg0NjIxNyksbi5lKDg1NDM0KSxuLmUoNzI4NSksbi5lKDkwNDE1KV0pLnRoZW4obi5iaW5kKG4sNjk0ODc2KSkpLlN5bXBob255Q29tbXVuaWNhdGlvbkNoYW5uZWwuZ2V0SW5zdGFuY2UoKX19LDE1MDY2NShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtuLnN0eWxlLmRpc3BsYXk9Im5vbmUiLG4uaHJlZj10LG4uZG93bmxvYWQ9ZSxuLmNsaWNrKCl9bi5kKHQse2Rvd25sb2FkRmlsZTooKT0+b30pfSw1NjkxMjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTYuNSAxNnY0LjVhMSAxIDAgMDAxIDFoMTRhMSAxIDAgMDAxLTFWMTZNMTQuNSA1VjE3bS00LTMuNWw0IDRsNC00Ii8+PC9zdmc+J30sMTk0NjQ4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjY3IDcuMzguNjYtLjc2TDkgOS44NGwzLjY3LTMuMjIuNjYuNzZMOSAxMS4xNiA0LjY3IDcuMzhaIi8+PC9zdmc+J30sNTQzMzM5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjY3IDEwLjYyLjY2Ljc2TDkgOC4xNmwzLjY3IDMuMjIuNjYtLjc2TDkgNi44NGwtNC4zMyAzLjc4WiIvPjwvc3ZnPid9LDE0NzIyMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDZBMi41IDIuNSAwIDAgMCA2IDguNXYxMUEyLjUgMi41IDAgMCAwIDguNSAyMmgxMWEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTNoLTF2M2MwIC44My0uNjcgMS41LTEuNSAxLjVoLTExQTEuNSAxLjUgMCAwIDEgNyAxOS41di0xMUM3IDcuNjcgNy42NyA3IDguNSA3aDNWNmgtM3ptNyAxaDQuOGwtNy40OSA3LjQ4LjcxLjdMMjEgNy43MnY0Ljc5aDFWNmgtNi41djF6Ii8+PC9zdmc+J30sNDc3NzAwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSIjRkZCNzFCIiBkPSJNMjcgMTguMTJhMS4wNSAxLjA1IDAgMSAxLTIuMSAwIDEuMDUgMS4wNSAwIDAgMSAyLjEgMFoiLz48cGF0aCBmaWxsPSIjNzUzQ0JFIiBkPSJNMTkuNjQgOGMzLjA2IDAgNS42MiAzLjQzIDYuMzUgOC4wN2EuMTYuMTYgMCAwIDEtLjMuMDhjLS43My0xLjc3LTEuOTgtMi45NC0zLjQtMi45NC0yLjAyIDAtMy44IDIuNDgtNCA1Ljg5LS4yNi41Ni0yLjM2IDEtNC4yOSAxLjA3di04LjE1QzE1LjIgOS41NyAxNy41OCA4IDE5LjY0IDhaIi8+PHBhdGggZmlsbD0iI0ZGQjcxQiIgZD0iTTEgMTguMTJhMS4wNSAxLjA1IDAgMSAwIDIuMSAwIDEuMDUgMS4wNSAwIDAgMC0yLjEgMFoiLz48cGF0aCBmaWxsPSIjRTgxRDc1IiBkPSJNOC4zNiA4QzUuMyA4IDIuNzQgMTEuNDMgMiAxNi4wN2MwIC4wOS4wNS4xNy4xNC4xOC4wNy4wMi4xNC0uMDIuMTctLjEuNzItMS43NyAxLjk3LTIuOTQgMy4zOC0yLjk0IDIuMDMgMCAzLjggMi40OCA0IDUuODkuMjcuNTYgMi4zNyAxIDQuMyAxLjA3di04LjE1QzEyLjggOS41NyAxMC40MiA4IDguMzYgOFoiLz48L3N2Zz4nfSw5NjU4NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xOSAxNWwyLjUtMi41YzEtMSAxLjUtMy41LS41LTUuNXMtNC41LTEuNS01LjUtLjVMMTMgOU0xMCAxMmwtMi41IDIuNWMtMSAxLTEuNSAzLjUuNSA1LjVzNC41IDEuNSA1LjUuNUwxNiAxOE0xNyAxMWwtNSA1Ii8+PC9zdmc+J30sNzE5MTMoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwOEVGRiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMS4wNiAxMC43NlY3LjI1YzAtLjcyLS40LTEuNC0xLjAyLTEuNzdBMTEuOSAxMS45IDAgMCAwIDE0IDRjLTMuMDcgMC01LjEuOTMtNi4wNCAxLjQ4YTIuMDYgMi4wNiAwIDAgMC0xLjAyIDEuNzd2NS4yOGwxMS4xOCAzLjIzdjIuMzZjMCAuMzItLjIuNTQtLjU0LjdMMTQgMjAuNjNsLTMuNi0xLjhjLS4zMi0uMTYtLjUyLS4zOC0uNTItLjd2LTEuNzdsLTIuOTQtLjg4djIuNjVjMCAxLjQ1LjgzIDIuNjkgMi4xNiAzLjMzTDE0IDI0bDQuODgtMi41NGEzLjY5IDMuNjkgMCAwIDAgMi4xOC0zLjM0VjEzLjdMOS44OCAxMC40N1Y3Ljc4Yy44LS4zOCAyLjE2LS44NCA0LjEyLS44NHMzLjMyLjQ2IDQuMTIuODR2Mi4xbDIuOTQuODhaIi8+PC9zdmc+J30sNjI4NDI4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xOS43NSA1aDMuMDdsLTYuNyA3LjYyTDI0IDIzaC02LjE3bC00Ljg0LTYuM0w3LjQ2IDIzSDQuNGw3LjE3LTguMTZMNCA1aDYuMzNsNC4zNyA1Ljc1TDE5Ljc1IDVabS0xLjI0IDE2aDEuN0w5LjU0IDdINy43bDEwLjggMTRaIi8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCXRP.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.370Z","timestamp":1785136905370,"http_version":"HTTP/2","security_state":"secure","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 /crypto/XTVCXRP.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"4cc138d1e09d2133eeca65966f3894f0\"\r\nlast-modified: Wed, 08 Sep 2021 09:01:05 GMT\r\ncdn-cachedat: 08/09/2025 14:29:13\r\nx-amz-id-2: gOapewVGKATL6xPko0x3ibGM2TR7P0oRsU/T2B12Ess0lbCW3xWnJ8PmelhxvoURGgfemeHjLec=\r\nx-amz-request-id: SV78YBJMGBYXM9S2\r\nx-amz-meta-hash: 4cc138d1e09d2133eeca65966f3894f0\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bd6a2f0ac6ba848db3b7f8975382190b\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.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://huobiget.com/","date":"2026-07-27T07:21:40.222Z","timestamp":1785136900222,"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/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.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://huobiget.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: 37756\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 18:07:05 GMT\r\nexpires: Sat, 24 Jul 2027 18:07:05 GMT\r\ncache-control: public, max-age=31536000\r\nage: 220475\r\nlast-modified: Thu, 04 Sep 2025 17:09:21 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":37756,"size_decoded":38569,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 37756, version 1.0","md5":"8a6a885dd57e60ddd85f3190737fa209","sha1":"dbca56b7fe8ee5e4bfb648d639fc6a3bfc5c6e85","sha256":"b9b102f608e8252e3c1e7287309832b16af7dcc6e788651fa503a3faacd7fb2f","sha512":"2bd785869777dc57dbb5934d4c6915b66f89746dd79897820eb4bbd0d262b2612bafdfb07c1e092658ad819f582a97e6a196531f74187d8a0b0bbd07fcbba56a","ssdeep":"768:sqRKhgpCf9U72WeD4A/5IqtBr0ikGvEaQh38/LBu3Emdc043RpgZKMqjkEfO1m:jKgp+9U7Ve8A/7Ai9Et3EBKEUE3RqMMu","tlshash":"3e030130df5884edcc0ba371fdeea81fc7a332a594c0b3368297af1b80111499d99e49","first_seen":"2025-09-05T00:25:10.258656Z","last_seen":"2026-08-10T09:48:31.938276Z","times_seen":548139,"resource_available":false,"data":"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"}},"time_used":77,"timings":{"blocked":10,"dns":0,"connect":0,"send":0,"wait":45,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/fonts/themify9f24.ttf?-fvbane","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.864Z","timestamp":1785136900864,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /fonts/themify9f24.ttf?-fvbane HTTP/1.1\r\nHost: huobiget.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: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/css/themify-icons.css\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: font/ttf\r\nContent-Length: 78584\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":78584,"size_decoded":78794,"mime_type":"font/ttf","magic":"TrueType Font data, 11 tables, 1st \"OS/2\", 14 names, Macintosh, type 1 string, themifyVersion 1.0themifyhmf                                         ","md5":"e23a7dcaefbde4e74e263247aa42ecd7","sha1":"5bb1fe69452a484566a81076af7567728fe7e43b","sha256":"350663a4665e00072c68a87ad3fa0be47b8a91424127f5f3e09f664197295f01","sha512":"e3e9a7c1232c1ed4e20c8f4007f0fd8b08f1178ed126d62d677bef5d769bc6c7636b8b515ca5b421bda359f50571f8ed92676cda4b1d6fa88c704eb944217906","ssdeep":"1536:ToDkfLM7phIjep8azfBf9ggkZA1WL09KvJKh4J4Ig1yjTCe2:EDHthT9gzzWQU","tlshash":"ed735d4b32803357c1cfa77d48d7406d0baa910cab4627579bed9932c76234e7e9a39c","first_seen":"2023-05-10T05:38:27Z","last_seen":"2026-08-06T16:57:05.740898Z","times_seen":1193,"resource_available":false,"data":"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AgAAAAIAAB4CAAAAAgAAPAIAAAACAAAeAgAAeAIAAEkCAAAeAgAAWgIAAAACAAAAAgAAAAIAAAkCAAAAAgAAHgIAAAACAAAAAgAAHgIAAB4CAAAAAgAACAIAAAYCAAAAAgAAAAIAAB4CAABaAgAAHgIAAB8CAAAAAgAAAAIAAGACAAAkAgAAWgIAAFoCAACXAgAAPAIAAB4CAAAeAgAAAAIAAAACAAAAAgAAWgIAAAACAABaAgAAeAIAALsCAAAAAgAAAAIAAHgCAAAGAgAAhgIAAAACAAAAAgAAAAIAAAACAAAAAgAAEAIAAAACAAA8AgAABgIAADwCAAAAAgAAHgIAACkCAAAAAgAAWgIAAAACAABaAgAAWgIAAFoCAAA0AgAAAAIAAAACAAAAAgAAHgIAAAACAAAAAgAAAAIAABkCAAAAAgAAAAIAAAACAAA8AgAASQIAADwCAAAAAgAAMwIAAAACAAAAAgAAAAIAAAACAAAGAgAALQIAAB4CAAAeAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAGwIAABsCAAAAAgAAAAIAACcCAAAOAgAAAQIAANMCAAA2AgAAAAIAADwCAABaAgAABAIAALUCAAAPAgAAAAIAAAACAACAAgAAHgIAAAACAAAAAgAAAAIAAAACAAAAAgAAPAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAECAAAAAgAAWgIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAeAgAAAAIAAAACAAAAAgAAAAIAAAACAAAeAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAeAgAAAAIAAAACAAAAAgAAAAIAAAACAABaAgAAAAIAAAACAAAAAgAAUQIAAA8CAAAAAgAASwIAAAACAAAAAgAAAAIAAAACAABaAgAAWgIAAEsCAAA8AgAABgIAAAACAAAsAgAAGwIAAAACAAAFAgAAXQIAAAACAAABAgAAAAIAAHgCAAA6AgAAAAIAAAACAAAiAgAADwIAAAACAAAeAgAAAAIAAAACAAAeAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAiQIAAAQCAAAAAgAAKgIAACcCAAAAAgAAAAIAAEECAAAPAgAADwIAAAACAABsAgAADwIAAEMCAAAPAgAADwIAAA8CAAAPAgAADwIAAAACAAA0AgAADwIAAA8CAAAsAgAADwIAAAACAAAtAgAADwIAAA8CAAAAAgAAAAAAAAAACgAUAB4ASAC6AbICOgLmA0QEQASYBPIFcAWYBgAGwgdSB/AJagm+CiIKfgsQC0ILwAwGDCIMTgyaDLANAA1SDb4OEg7cDywPpA+yEFQQ+BFMEcwR4hH6EhASJhK2EtATbBOWE74T8hRKFIgUvBU+FfQXPBi4GfQaGBo2Gloahhs4G3gbohwAHLYc4h1yHcIeKB5EHq4ewB7SHuQe+B8MHzAflCAYIGAgtCDUIOghGiFkIZ4hviHcIgoiIiI6IoYi0CMYI2AjfiOcI7oj2CRwJXYl9CYqJogmxib0JxQnTCfoKDYojCmwKsQq5CsGKygrVCuAK7AsKCxGLGQs0C2KLpgvLi/SL+4wQjCIMNQxHjFSMhwyVDKkMzIzrDP6NHI0+jUcNYo1vjZgNrQ3Kjf0OG44hji0OTY6JDpKOng63jtQPAA8Xj00PeY+Aj5APmI+wj74PxY/PD9yP/RAEEB+QJRAvkDeQQBBcEH6QoRCyENmQ6REKESSRT5FcEWiRdJGAkYcRnpG8kcYRz5HZEeKR8RIkEjUSTBJZEqATIZNXk3UTiZOoE+yUpBTQlO2VAZUXlSGVN5VTFVmVYJVyFYQVkRWfFbAV5hYPFiSWQZZXll2WahZwlncWkxa/lsoW1ZbhFumW9Zb/FyqXXZeJF5QXnJetl7kXw5fNl90X5xftl/eYAZgRGBsYJJg1GEIYTBhaGF2Yk5izGMIY3hjpGPQY/pkJmRSZJhkzmT0ZSxlVGWyZgZmamcGZ75ozmneau5r/mxAbORtiG3YbfZuFG5QbmxvDm+UcWpzBnQ+dIR1SnZMdqR29ndmd/54JHhmeSB5eHoieo560Hryexh7NntMfAZ8tH2AfdZ9/H5SfyCAYoFSgbaCToKgg4yEFoSwhRiFfoXKiASIdokGioyLNotejuaPoJCmkNSRLJFcklaShJKmk0aTqgAAAAEAAAFkArsALQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgAoAGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgAoAGMAdABoAGUAbQBpAGYAeQBWAGUAcgBzAGkAbwBuACAAMQAuADAAdABoAGUAbQBpAGYAeXRoZW1pZnkAdABoAGUAbQBpAGYAeQBSAGUAZwB1AGwAYQByAHQAaABlAG0AaQBmAHkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="}},"time_used":187,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":94,"receive":93,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/5355.2ea3c48a319ee0ff5b78.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.639Z","timestamp":1785136901639,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2d9a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cfe7c9f3ca23aff3f920f7a61b467a6c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11674,"size_decoded":5249,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3063)","md5":"2f4dd7b3db38bcef031ce7e36c367340","sha1":"ba2336e05b407794de4dbb6a0e18264c84b3dd51","sha256":"189cf3f450f313efd6f7415f9a052d86c632ae8d97729c459900ef09bcf4f3d1","sha512":"54d54a86d025a62386536e78f7c145ea7bb17f681a93d55091bf41897ec295fd1bbee56de09aecad350c4ca9c7df4668ec0da1f0052fa86b161ea8e9bd958c33","ssdeep":"192:9cNibKfRXUfFYt6Vn3WQt9Oh+yxiJdljjRxU3zty6psROhf0qV+9TrS3ZfEI9n:9cNlfRXUfFBV3Xt9Oh+MiJdljjRxwtyK","tlshash":"83329682312a39aa59e5209424703947920c3c9a375f907cf3b8a9fe755cc5cb2b9b78","first_seen":"2026-07-24T11:36:47.84256Z","last_seen":"2026-07-28T06:17:53.455046Z","times_seen":81,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTM1NV0sezgyMTk5MSh0LGUsaSl7aS5kKGUse2JsZW5kQ29sb3JzOigpPT5vfSk7dmFyIGw9aSgxMzQ2Nyk7Y29uc3Qgbz0odCxlKT0+KDAsbC5yZ2JhVG9TdHJpbmcpKCgwLGwuYmxlbmRSZ2JhKSgoMCxsLnBhcnNlUmdiYSkodCksKDAsbC5wYXJzZVJnYmEpKGUpKSl9LDY4MjcyMCh0LGUsaSl7aS5kKGUse0xvbGxpcG9wVG9vbHRpcE1hbmFnZXI6KCk9PnN9KTt2YXIgbD1pKDE2NzUwMiksbz1pKDEzODYzOCk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2lzRGVzdHJveWVkPSExLHRoaXMuX2xvbGxpcG9wVG9vbHRpcFJlbmRlcmVyPW51bGwsdGhpcy5fc2hvd1Rvb2x0aXBBYm9ydENvbnRyb2xsZXI9bnVsbCx0aGlzLl9hY3RpdmVMb2xsaXBvcD10LHRoaXMuX2NhcmRUeXBlPWUsdGhpcy5fYWN0aXZlTG9sbGlwb3Auc3Vic2NyaWJlKCh0PT57bnVsbD09PXQmJnRoaXMuX2Rlc3Ryb3lUb29sdGlwKCl9KSl9ZGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3lUb29sdGlwKCksdGhpcy5fYWN0aXZlTG9sbGlwb3AucmVsZWFzZSgpLHRoaXMuX2lzRGVzdHJveWVkPSEwfXRyeVRvSGlkZVRvb2x0aXBCeUNsaWNrT3V0c2lkZSh0LGUsaSl7aWYodGhpcy5faXNDbGlja0luc2lkZVRvb2x0aXAoaSkpcmV0dXJuITE7aWYodm9pZCAwIT09aSl7Y29uc3Qgbz1lKHQsaSk7aWYobnVsbCE9PW8mJigwLGwuZGVmYXVsdCkobyx0aGlzLl9hY3RpdmVMb2xsaXBvcC52YWx1ZSgpKSlyZXR1cm4hMX1jb25zdCBvPSEhdGhpcy5fYWN0aXZlTG9sbGlwb3AudmFsdWUoKTtyZXR1cm4gdGhpcy5fYWN0aXZlTG9sbGlwb3Auc2V0VmFsdWUobnVsbCksb31hc3luYyBzaG93VG9vbHRpcCh0LGUsbCxzLG4pe2NvbnN0IGE9bmV3IEFib3J0Q29udHJvbGxlcjt0aGlzLl9zaG93VG9vbHRpcEFib3J0Q29udHJvbGxlcj8uYWJvcnQoKSx0aGlzLl9zaG93VG9vbHRpcEFib3J0Q29udHJvbGxlcj1hO2NvbnN0IHI9YXdhaXQgbChhLnNpZ25hbCk7aWYobnVsbD09PXJ8fDA9PT1yLmxlbmd0aClyZXR1cm47Y29uc3R7c2hvd0xvbGxpcG9wVG9vbHRpcDpofT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDc3MjYzKSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSgyOTUzNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDE3MDg3KSxpLmUoMzI3NDgpLGkuZSg0MzY0NCksaS5lKDQ1MzY4KSxpLmUoMjAyNzEpLGkuZSg1MTg4MCksaS5lKDE4NDcyKSxpLmUoMjU4MDkpLGkuZSgxNzY5MyksaS5lKDUyOTIwKSxpLmUoODIyNzEpLGkuZSgzMTAwMSksaS5lKDY1NjEzKSxpLmUoNDgzMTIpLGkuZSgzMjM4NyksaS5lKDk3NjQ3KSxpLmUoNTc0ODUpLGkuZSg0MTY3MildKS50aGVuKGkuYmluZChpLDEzMDc1MikpLGQ9YXdhaXQgcygpO3RoaXMuX2lzRGVzdHJveWVkfHxhLnNpZ25hbC5hYm9ydGVkfHwoKDAsby5hc3NlcnQpKG51bGw9PT10aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlciwiTG9sbGlwb3AgdG9vbHRpcCByZW5kZXJlciBzaG91bGQgYmUgbnVsbCBiZWZvcmUgY3JlYXRpbmcgYSBuZXcgb25lIiksdGhpcy5fbG9sbGlwb3BUb29sdGlwUmVuZGVyZXI9aCh7aXRlbXM6cixwb3NpdGlvbjplLGN1c3RvbUNsb3NlU3Vic2NyaXB0aW9uczpuLmN1c3RvbUNsb3NlU3Vic2NyaXB0aW9ucyxvbkNsb3NlOigpPT5uLm9uQ2xvc2UodCksb25DbGlja091dHNpZGU6ZT0+bi5vbkNsaWNrT3V0c2lkZSh0LGUpLG9uU2l6ZUNoYW5nZWQ6bi5vblNpemVDaGFuZ2VkLHNob3dTY3JvbGxGYWRlczohMCxjYXJkVHlwZTp0aGlzLl9jYXJkVHlwZSx0aGVtZTpkfSkpfV9pc0NsaWNrSW5zaWRlVG9vbHRpcCh0KXtyZXR1cm4gbnVsbCE9PXRoaXMuX2xvbGxpcG9wVG9vbHRpcFJlbmRlcmVyJiZ2b2lkIDAhPT10JiZ0aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlci5pc0NsaWNrSW5zaWRlKHQpfV9kZXN0cm95VG9vbHRpcCgpe3RoaXMuX3Nob3dUb29sdGlwQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpLHRoaXMuX3Nob3dUb29sdGlwQWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fbG9sbGlwb3BUb29sdGlwUmVuZGVyZXI/LmhpZGUoKSx0aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlcj1udWxsfX19LDE0Nzk5Mih0LGUsaSl7dmFyIGw7ZnVuY3Rpb24gbyh0LGUsaT0wKXtlLnNldFZhbHVlKHQudmFsdWUoKSk7Y29uc3QgbD17fTtyZXR1cm4gdC5zdWJzY3JpYmUobCwodD0+e2Uuc2V0VmFsdWUodC52YWx1ZSgpKX0pKSwxPT09aSYmZS5zdWJzY3JpYmUobCwoZT0+e3Quc2V0VmFsdWUoZS52YWx1ZSgpKX0pKSwoKT0+e3QudW5zdWJzY3JpYmVBbGwobCksMT09PWkmJmUudW5zdWJzY3JpYmVBbGwobCl9fWkuZChlLHtiaW5kUHJvcGVydGllczooKT0+b30pLGZ1bmN0aW9uKHQpe3RbdC5PbmVXYXlTcmNUb0RzdD0wXT0iT25lV2F5U3JjVG9Ec3QiLHRbdC5Ud29XYXlzPTFdPSJUd29XYXlzIn0obHx8KGw9e30pKX0sNDk0MDc5KHQsZSxpKXt2YXIgbDtpLmQoZSx7TG9sbGlwb3BQYW5lVmlldzooKT0+d30pLGZ1bmN0aW9uKHQpe3RbdC5TcGFjZUJldHdlZW5Sb3dzPTI1XT0iU3BhY2VCZXR3ZWVuUm93cyIsdFt0LlRvb2x0aXBUb3BNYXJnaW49MTVdPSJUb29sdGlwVG9wTWFyZ2luIix0W3QuU3BhY2VCZXR3ZWVuQ2FyZEFuZExvbGxpcG9wPThdPSJTcGFjZUJldHdlZW5DYXJkQW5kTG9sbGlwb3AifShsfHwobD17fSkpO3ZhciBvPWkoMTY3NTAyKSxzPWkoOTE4Nzc5KSxuPWkoMTM4NjM4KSxhPWkoNzM2NTMxKSxyPWkoNjAxODQxKSxoPWkoNDAyMDQ1KSxkPWkoNjYzNCkscD1pKDY4MjcyMCksYz1pKDc2MyksdT1pKDc4OTE5MCksXz1pKDYzNzEwNCkseT1pKDU0MDg0NSksYj1pKDgyMjcyNiksdj1pKDk3NjgxMyksQz1pKDkyNjE0OSk7Y2xhc3Mgd3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2ludmFsaWRhdGVkPSExLHRoaXMuX3JlbmRlcmVyPW5ldyB1LkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX3RleHRXaWR0aENhY2hlPW5ldyBiLlRleHRXaWR0aENhY2hlLAp0aGlzLl9zdHlsZXNDYWNoZT1udWxsLHRoaXMuX2xvbGxpcG9wcz17fSx0aGlzLl9sb2xsaXBvcHNDb3VudGVyPTAsdGhpcy5fYWN0aXZlTG9sbGlwb3BJbmZvPW5ldyBoLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcmVjcmVhdGVTdHlsZXNCb3VuZD10aGlzLl9yZWNyZWF0ZVN0eWxlcy5iaW5kKHRoaXMpLHRoaXMuX21vZGVsPXQsdGhpcy5fc291cmNlPWUsdGhpcy5fcmVjcmVhdGVTdHlsZXMoKSxDLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0LmJhY2tncm91bmRDb2xvcigpLnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0Lm1haW5TZXJpZXMoKS5vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sT3JJbnRlcnZhbENoYW5nZWQpLHRoaXMuX2xvbGxpcG9wVG9vbHRpcD1uZXcgcC5Mb2xsaXBvcFRvb2x0aXBNYW5hZ2VyKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3NvdXJjZS51cGRhdGVBbGxWaWV3c0FuZFJlcGFpbnQoKX0pKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwuYmFja2dyb3VuZENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fcmVjcmVhdGVTdHlsZXNCb3VuZCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksQy5DSEFSVF9GT05UX0ZBTUlMWV9XVi51bnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0aGlzLl9sb2xsaXBvcFRvb2x0aXAuZGVzdHJveSgpfXByb2Nlc3NDbGlja0luc2lkZSh0LGUsaSl7Y29uc3QgbD10aGlzLl9sb2xsaXBvcHNbaV07cmV0dXJuISghbHx8IWwudmlzaWJsZSkmJih0aGlzLl9sb2xsaXBvcE1vdXNlQ2xpY2tIYW5kbGVyKHQsdGhpcy5fZ2V0TG9sbGlwb3BSZW5kZXJlckRhdGEobCksKDAscy5zaXplKSh7d2lkdGg6ZS5jbGllbnRXaWR0aCxoZWlnaHQ6ZS5jbGllbnRIZWlnaHR9KSx7cHJldmVudERlZmF1bHQ6KCk9Pnt9LHRhcmdldDplfSksITApfXByb2Nlc3NDbGlja091dHNpZGUodCxlKXtyZXR1cm4gdGhpcy5fbG9sbGlwb3BUb29sdGlwLnRyeVRvSGlkZVRvb2x0aXBCeUNsaWNrT3V0c2lkZSh0LHRoaXMuX2dldEFjdGl2ZUxvbGxpcG9wVG9vbHRpcEluZm8uYmluZCh0aGlzKSxlKX11cGRhdGUodCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9YWZ0ZXJVcGRhdGUodCxlLGksbCl7fWdldFN0eWxlKHQsZSl7bGV0IGk9ZTtpZih0LnN0YWNrJiYoaSs9Il9zdGFjazoiK3Quc3RhY2spLCJhY3RpdmUiPT09aSlyZXR1cm4gdGhpcy5fYWN0aXZlU3R5bGU7aWYoImhvdmVyZWQiPT09aSlyZXR1cm4gdGhpcy5faG92ZXJlZFN0eWxlO2lmKCJkZWZhdWx0Ij09PWkpcmV0dXJuIHRoaXMuX2RlZmF1bHRTdHlsZTtpZih0aGlzLl9zdHlsZXNDYWNoZXx8KHRoaXMuX3N0eWxlc0NhY2hlPXt9KSwhdGhpcy5fc3R5bGVzQ2FjaGVbaV0pe2NvbnN0IGw9KDAsci5jbG9uZSkoImFjdGl2ZSI9PT1lP3RoaXMuX2FjdGl2ZVN0eWxlOiJob3ZlcmVkIj09PWU/dGhpcy5faG92ZXJlZFN0eWxlOnRoaXMuX2RlZmF1bHRTdHlsZSk7dC5zdGFjayYmKGwubG9sbGlwb3AuaW5jSGVpZ2h0PTI1KnQuc3RhY2spLHRoaXMuX3N0eWxlc0NhY2hlW2ldPWx9cmV0dXJuIHRoaXMuX3N0eWxlc0NhY2hlW2ldfWhhc1Rvb2x0aXAodCl7cmV0dXJuITB9Y2xlYXJBY3RpdmVMb2xsaXBvcCgpe3RoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zZXRWYWx1ZShudWxsKX1hc3luYyBfc3BlY2lhbFRvb2x0aXBTdHlsZXModCl7fV9nZXRZKCl7bGV0IHQ9MDtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKCk7Zm9yKGxldCBpPWUubGVuZ3RoO2ktLTspe2NvbnN0IGw9ZVtpXTtsLmNvbnRhaW5zTWFpblNlcmllcygpJiYodCs9bC5oZWlnaHQoKSl9cmV0dXJuIHR9X3Nob3dCYXJMaW5lKHQpe3JldHVybiB0aGlzLmhhc1Rvb2x0aXAodCkmJih0LmhvdmVyZWR8fHRoaXMuX2lzTG9sbGlwb3BBY3RpdmUodCkpfV9nZXRMb2xsaXBvcFJlbmRlcmVyRGF0YSh0KXtjb25zdCBlPXRoaXMuX2dldExvbGxpcG9wU3RhdHVzKHQpLGk9dGhpcy5nZXRTdHlsZSh0LGUpO3JldHVybntpZDp0LmlkLGl0ZW1JbmRleDp0Lml0ZW1JbmRleCxjZW50ZXJQb2ludDpuZXcgYS5Qb2ludCh0LmJhc2VQb2ludC54LHQuYmFzZVBvaW50LnktaS5sb2xsaXBvcC5ib3R0b20taS5sb2xsaXBvcC5oZWlnaHQvMi0oaS5sb2xsaXBvcC5pbmNIZWlnaHR8fDApKSxzdHlsZTppLHN0YXR1czplfX1fY3JlYXRlUmVuZGVyZXJzKHQpe2NvbnN0e21lZGlhU2l6ZTplfT10O2Zvcihjb25zdCBpIG9mIE9iamVjdC52YWx1ZXModGhpcy5fbG9sbGlwb3BzKSlpZih2b2lkIDAhPT1pJiZpLnZpc2libGUpe2NvbnN0IGw9dGhpcy5fZ2V0TG9sbGlwb3BTdGF0dXMoaSksbz10aGlzLmdldFN0eWxlKGksbCkscz17aWQ6aS5pZCxpdGVtSW5kZXg6aS5pdGVtSW5kZXgsY2VudGVyUG9pbnQ6bmV3IGEuUG9pbnQoaS5iYXNlUG9pbnQueCxpLmJhc2VQb2ludC55LW8ubG9sbGlwb3AuYm90dG9tLW8ubG9sbGlwb3AuaGVpZ2h0LzItKG8ubG9sbGlwb3AuaW5jSGVpZ2h0fHwwKSksc3R5bGU6byxzdGF0dXM6bH0sbj17Y3Vyc29yVHlwZTp2LlBhbmVDdXJzb3JUeXBlLkRlZmF1bHQsYWN0aXZlSXRlbTp7aWQ6aS5pZCxpdGVtSW5kZXg6aS5pdGVtSW5kZXh9LGhpZGVDcm9zc2hhaXJMaW5lc09uSG92ZXI6ITAsY2xpY2tIYW5kbGVyOihpLGwpPT50aGlzLl9sb2xsaXBvcE1vdXNlQ2xpY2tIYW5kbGVyKHQscyxlLGkpLHRhcEhhbmRsZXI6KGksbCk9PnRoaXMuX2xvbGxpcG9wTW91c2VDbGlja0hhbmRsZXIodCxzLGUsaSl9O2lmKHRoaXMuX3JlbmRlcmVyLmFwcGVuZCh0aGlzLl9jcmVhdGVSZW5kZXJlckZvckxvbGxpcG9wKHMsbikpLHRoaXMuX3Nob3dCYXJMaW5lKGkpKXtjb25zdHtzdHJva2VTdHlsZTp0LGxpbmVTdHlsZTplLGxpbmVXaWR0aDpsfT1vLmJhckxpbmUscz17Y29sb3I6dCxsaW5lc3R5bGU6ZSxsaW5ld2lkdGg6bCwKeDppLmJhc2VQb2ludC54LHRvcDowLGJvdHRvbTppLmJhc2VQb2ludC55LW8ubG9sbGlwb3AuYm90dG9tLW8ubG9sbGlwb3AuaGVpZ2h0fSxuPW5ldyB5LlZlcnRpY2FsTGluZVJlbmRlcmVyO24uc2V0RGF0YShzKSx0aGlzLl9yZW5kZXJlci5pbnNlcnQobiwwKX19fV9yZWNyZWF0ZVN0eWxlcygpe3RoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2NyZWF0ZVJlbmRlcmVyRm9yTG9sbGlwb3AodCxlKXtyZXR1cm4gbmV3IF8uTG9sbGlwb3BSZW5kZXJlcih0LG5ldyBjLkhpdFRlc3RSZXN1bHQoYy5IaXRUYXJnZXQuQ3VzdG9tLGUpLHRoaXMuX3RleHRXaWR0aENhY2hlKX1fb25TeW1ib2xPckludGVydmFsQ2hhbmdlZCgpe3RoaXMuX2xvbGxpcG9wcz17fSx0aGlzLl9sb2xsaXBvcHNDb3VudGVyPTAsdGhpcy5fcmVuZGVyZXIuY2xlYXIoKSx0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc2V0VmFsdWUobnVsbCl9YXN5bmMgX2xvbGxpcG9wTW91c2VDbGlja0hhbmRsZXIodCxlLGksbCl7bC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHM9e2lkOmUuaWQsaXRlbUluZGV4OmUuaXRlbUluZGV4fTtpZigoMCxvLmRlZmF1bHQpKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpLHMpKXJldHVybiB0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc2V0VmFsdWUobnVsbCksITE7dGhpcy5fYWN0aXZlTG9sbGlwb3BJbmZvLnNldFZhbHVlKHMpO2NvbnN0IHI9e3RhcmdldDpsLnRhcmdldCx0YXJnZXRTaXplOmkscG9pbnQ6bmV3IGEuUG9pbnQoZS5jZW50ZXJQb2ludC54LGUuY2VudGVyUG9pbnQueS1lLnN0eWxlLmxvbGxpcG9wLmhlaWdodC8yLTgpLG1hcmdpblRvcDoxNX0saD0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2xvbGxpcG9wc1tlLmlkXSksZD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtyZXR1cm4gdGhpcy5fbG9sbGlwb3BUb29sdGlwLnNob3dUb29sdGlwKHQsciwodD0+dGhpcy5fY3JlYXRlVG9vbHRpcENvbnRlbnQoaCx0KSksKCgpPT50aGlzLl9zcGVjaWFsVG9vbHRpcFN0eWxlcyhoKSkse29uQ2xvc2U6dGhpcy5wcm9jZXNzQ2xpY2tPdXRzaWRlLmJpbmQodGhpcyksb25DbGlja091dHNpZGU6KHQsZSk9Pnt0aGlzLl9zb3VyY2Uub25DbGlja091dHNpZGU/Lih0LCgwLG4uZW5zdXJlRGVmaW5lZCkoZSkpfSxjdXN0b21DbG9zZVN1YnNjcmlwdGlvbnM6W2Qub25TY3JvbGwoKSxkLmJhclNwYWNpbmdDaGFuZ2VkKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKCldLG9uU2l6ZUNoYW5nZWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3NvdXJjZSkpLm9uU2l6ZUNoYW5nZWQoKX0pLCEwfV9nZXRMb2xsaXBvcFN0YXR1cyh0KXtyZXR1cm4gdGhpcy5faXNMb2xsaXBvcEFjdGl2ZSh0KT8iYWN0aXZlIjp0LmhvdmVyZWQ/ImhvdmVyZWQiOiJkZWZhdWx0In1faXNMb2xsaXBvcEFjdGl2ZSh0KXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpJiYoMCxvLmRlZmF1bHQpKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpLHtpZDp0LmlkLGl0ZW1JbmRleDp0Lml0ZW1JbmRleH0pfV9nZXRBY3RpdmVMb2xsaXBvcFRvb2x0aXBJbmZvKHQsZSl7Y29uc3QgaT0oMCxkLmdldENsaWNrUG9zaXRpb24pKGUpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IGw9dGhpcy5yZW5kZXJlcih0KT8uaGl0VGVzdChuZXcgYS5Qb2ludChpLngsaS55KSx0KT8uZGF0YSgpPy5hY3RpdmVJdGVtPz9udWxsO3JldHVybiBudWxsPT09bD9udWxsOmx9fX0sNjM3MTA0KHQsZSxpKXt2YXIgbDtpLmQoZSx7TG9sbGlwb3BSZW5kZXJlcjooKT0+ZCxkcmF3TGFiZWw6KCk9PnB9KSxmdW5jdGlvbih0KXt0W3QuU2l6ZURlbHRhPTFdPSJTaXplRGVsdGEifShsfHwobD17fSkpO3ZhciBvPWkoNzY4MzA1KSxzPWkoNzM2NTMxKSxuPWkoMjYwNjkpLGE9aSg3ODY0MzYpLHI9aSgxNTEyMSksaD1pKDYwNDIxNCk7Y2xhc3MgZHtjb25zdHJ1Y3Rvcih0LGUsaSl7dGhpcy5fbWF0cml4PW5ldyBET01NYXRyaXhSZWFkT25seSx0aGlzLl9kYXRhPXQsdGhpcy5faGl0dGVzdD1lLHRoaXMuX3RleHRXaWR0aENhY2hlPWl9ZHJhdyh0LGUpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOmx9PWUse2NlbnRlclBvaW50Om8sc3R5bGU6e2xvbGxpcG9wOm59fT10aGlzLl9kYXRhLGE9TWF0aC5yb3VuZChvLngqaSkscj1NYXRoLnJvdW5kKG8ueSpsKSxoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMi8yLGQ9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGwpKSUyLzIscD1uZXcgcy5Qb2ludChhK2gsci1kKTt0aGlzLl9tYXRyaXg9KG5ldyBET01NYXRyaXhSZWFkT25seSkudHJhbnNsYXRlKGgsLWQpLnNjYWxlKGksbCkudHJhbnNsYXRlKC1uLndpZHRoLzIsLW4uaGVpZ2h0LzIpLnRyYW5zbGF0ZShvLngsby55KSx0aGlzLl9kcmF3TG9sbGlwb3AodCxwLGUpLHRoaXMuX2RyYXdMYWJlbCh0LHAsZSl9aGl0VGVzdCh0KXtjb25zdCBlPXRoaXMuX2hpdFRlc3RCb3goKTtyZXR1cm4oMCxvLnBvaW50SW5Cb3gpKHQsZSk/dGhpcy5faGl0dGVzdDpudWxsfV9oaXRUZXN0Qm94KCl7Y29uc3QgdD0oMCxoLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmVzZCxlPXRoaXMuX2RhdGEuY2VudGVyUG9pbnQueS10aGlzLl9kYXRhLnN0eWxlLmxvbGxpcG9wLmhlaWdodC8yLXQsaT10aGlzLl9kYXRhLmNlbnRlclBvaW50LngtdGhpcy5fZGF0YS5zdHlsZS5sb2xsaXBvcC53aWR0aC8yLXQ7cmV0dXJuKDAscy5ib3gpKG5ldyBzLlBvaW50KGksZSksbmV3IHMuUG9pbnQoaSt0aGlzLl9kYXRhLnN0eWxlLmxvbGxpcG9wLndpZHRoKzIqdCxlK3RoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AuaGVpZ2h0KzIqdCkpfV9kcmF3TG9sbGlwb3AodCxlLGkpe2NvbnN0IGw9dGhpcy5fZGF0YS5zdHlsZSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86b309aSxzPXRoaXMuX2ZpbGxSYWRpdXMobykKO2wubG9sbGlwb3AuZmlsbENpcmNsZSYmbC5sb2xsaXBvcC5iYWNrZ3JvdW5kQ29sb3ImJnRoaXMuX2RyYXdGaWxsZWRDaXJjbGUodCxlLHMsbC5sb2xsaXBvcC5iYWNrZ3JvdW5kQ29sb3IpO2NvbnN0IG49TWF0aC5yb3VuZChsLmxvbGxpcG9wLmxpbmVXaWR0aCpvKSxhPXMtTWF0aC5yb3VuZCgxKm8rbi8yKTtsLmxvbGxpcG9wLmZpbGxDaXJjbGUmJmwubG9sbGlwb3AuZmlsbFN0eWxlJiZ0aGlzLl9kcmF3RmlsbGVkQ2lyY2xlKHQsZSxhLGwubG9sbGlwb3AuZmlsbFN0eWxlKSx0aGlzLl9kcmF3Qm9yZGVyTGluZSh0LGUsbixhKX1fZHJhd0xhYmVsKHQsZSxpKXtjb25zdCBsPXRoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AudGV4dCxvPWwubGFiZWw7aWYoIiI9PT1vKXJldHVybjtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT1pO3QudGV4dEFsaWduPSJjZW50ZXIiLHQudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHQuZmlsbFN0eWxlPWwuc3Ryb2tlU3R5bGUsdC5mb250PWwuZm9udDtjb25zdCBhPXRoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKHQsbyk7dC50cmFuc2xhdGUoZS54LGUueSthKm4pLCgwLHIuZHJhd1NjYWxlZCkodCxzLG4sKCgpPT57dC5maWxsVGV4dChvLDAsMCl9KSl9X2ZpbGxSYWRpdXModCl7Y29uc3QgZT10aGlzLl9kYXRhLnN0eWxlLGk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHQpKTtsZXQgbD1NYXRoLnJvdW5kKGUubG9sbGlwb3Aud2lkdGgqdCk7cmV0dXJuIGwlMiE9aSUyJiYobCs9MSksbC8yfV9kcmF3Qm9yZGVyTGluZSh0LGUsaSxsKXtjb25zdCBvPXRoaXMuX2RhdGEuc3R5bGU7dC5zdHJva2VTdHlsZT1vLmxvbGxpcG9wLnN0cm9rZVN0eWxlLHQubGluZVdpZHRoPWksKDAsYS5zZXRMaW5lU3R5bGUpKHQsbi5MSU5FU1RZTEVfU09MSUQpLCgwLGEuY3JlYXRlQ2lyY2xlKSh0LGUueCxlLnksbCksdC5zdHJva2UoKX1fZHJhd0ZpbGxlZENpcmNsZSh0LGUsaSxsKXt0LmZpbGxTdHlsZT1sLCgwLGEuY3JlYXRlQ2lyY2xlKSh0LGUueCxlLnksaSksdC5maWxsKCl9fWZ1bmN0aW9uIHAodCxlLGksbCl7dHJ5e3Quc2F2ZSgpLHQuZmlsbFN0eWxlPWwuZmlsbENvbG9yLHQuZmlsbChmdW5jdGlvbih0LGUpe2NvbnN0IGk9bmV3IFBhdGgyRDtyZXR1cm4gaS5hZGRQYXRoKHQsZSksaX0oZSxpKSxsLmZpbGxSdWxlKX1maW5hbGx5e3QucmVzdG9yZSgpfX19LDU0MDg0NSh0LGUsaSl7aS5kKGUse1ZlcnRpY2FsTGluZVJlbmRlcmVyOigpPT5yfSk7dmFyIGw9aSg3NjMpLG89aSg3ODY0MzYpLHM9aSg2MDQyMTQpLG49aSgxNTEyMSksYT1pKDkzNDMwNSk7Y2xhc3MgciBleHRlbmRzIGEuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9oaXRUZXN0PW5ldyBsLkhpdFRlc3RSZXN1bHQobC5IaXRUYXJnZXQuTW92ZVBvaW50KX1zZXREYXRhKHQpe3RoaXMuX2RhdGE9dH1zZXRIaXRUZXN0KHQpe3RoaXMuX2hpdFRlc3Q9dH1oaXRUZXN0KHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHxudWxsPT09dGhpcy5faGl0VGVzdClyZXR1cm4gbnVsbDtjb25zdCBlPSgwLHMuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkubGluZSxpPU1hdGguYWJzKHQueC10aGlzLl9kYXRhLngpPD1lK3RoaXMuX2RhdGEubGluZXdpZHRoLzIsbD12b2lkIDA9PT10aGlzLl9kYXRhLnRvcHx8dGhpcy5fZGF0YS50b3AtdC55PD1lLG89dm9pZCAwPT09dGhpcy5fZGF0YS5ib3R0b218fHQueS10aGlzLl9kYXRhLmJvdHRvbTw9ZTtyZXR1cm4gaSYmbCYmbz90aGlzLl9oaXRUZXN0Om51bGx9X2RyYXdJbXBsKHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHx0aGlzLl9kYXRhLmxpbmV3aWR0aDw9MClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOmwsbWVkaWFTaXplOnN9PXQ7aWYodGhpcy5fZGF0YS54PC10aGlzLl9kYXRhLmxpbmV3aWR0aC8yfHx0aGlzLl9kYXRhLng+cy53aWR0aCt0aGlzLl9kYXRhLmxpbmV3aWR0aC8yKXJldHVybjtlLmxpbmVDYXA9ImJ1dHQiLGUuc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixlLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fZGF0YS5saW5ld2lkdGgqaSkpLHZvaWQgMCE9PXRoaXMuX2RhdGEubGluZXN0eWxlJiYoMCxvLnNldExpbmVTdHlsZSkoZSx0aGlzLl9kYXRhLmxpbmVzdHlsZSk7Y29uc3QgYT12b2lkIDAhPT10aGlzLl9kYXRhLnRvcD9NYXRoLm1heCh0aGlzLl9kYXRhLnRvcCwwKTowLHI9dm9pZCAwIT09dGhpcy5fZGF0YS5ib3R0b20/TWF0aC5taW4odGhpcy5fZGF0YS5ib3R0b20scy5oZWlnaHQpOnMuaGVpZ2h0LGg9TWF0aC5yb3VuZCh0aGlzLl9kYXRhLngqaSksZD1NYXRoLmZsb29yKGEqbCkscD1NYXRoLmNlaWwocipsKSxjPXRoaXMuX2RhdGEuZXhjbHVkZUJvdW5kYXJpZXM7dm9pZCAwIT09YyYmKDAsbi5hZGRFeGNsdXNpb25BcmVhQnlTY29wZSkodCxjKSwoMCxvLmRyYXdWZXJ0aWNhbExpbmUpKGUsaCxkLHApfX19fV0pOw=="}},"time_used":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/19513.8749edce64a7e2de2583.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.869Z","timestamp":1785136901869,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19513.8749edce64a7e2de2583.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-5fd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 70efba61796df40d25ba681496ac5073\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":1533,"size_decoded":1278,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1533), with no line terminators","md5":"09bffc63a6ee7ea12e58d4abfb223ebe","sha1":"f1191e941d756ec4e581d83de425fc389991a49f","sha256":"fc054c2a50b7830f28594d322695b96d23418348ebb834b85514d45119966be3","sha512":"880203342496aa3d09daa815dada26ddf714ff3fd3ac994ef8f1a4b47a547113fa630bcb5606543a2283de433abbdd943e94c289ad8aaf47a4de47859bc3d6fd","ssdeep":"","tlshash":"c2315cab2134099a7cdfeea4d87b730ef7407c65d74262ea6411a9374589bb0c13e325","first_seen":"2026-07-19T21:33:33.844472Z","last_seen":"2026-08-10T05:00:33.888306Z","times_seen":113,"resource_available":false,"data":"LmxpbmtJdGVtLVNSa0ZIQWdne2N1cnNvcjpwb2ludGVyfS5zY3JvbGxXcmFwLWhyUVZfQlpze2NvbnRhaW46Y29udGVudDttYXJnaW46LTRweCBjYWxjKG1heCh2YXIoLS11aS1saWItcm91bmQtdGFicy1ob3ItcGFkZGluZywgMHB4KSwgNHB4KSotMSk7bWluLWhlaWdodDoxMDAlO3BhZGRpbmc6NHB4IG1heCh2YXIoLS11aS1saWItcm91bmQtdGFicy1ob3ItcGFkZGluZywwcHgpLDRweCk7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJX0uc2Nyb2xsV3JhcC1oclFWX0Jacy5vdmVyZmxvd1Njcm9sbC1oclFWX0Jac3tvdmVyZmxvdy14OmF1dG87b3ZlcmZsb3cteTpoaWRkZW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LnNjcm9sbFdyYXAtaHJRVl9CWnMub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnN7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9fS5zY3JvbGxXcmFwLWhyUVZfQlpzLm92ZXJmbG93U2Nyb2xsLWhyUVZfQlpzLnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uc2Nyb2xsV3JhcC1oclFWX0Jacy5vdmVyZmxvd1Njcm9sbC1oclFWX0Jaczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lO2hlaWdodDowO3dpZHRoOjB9LnNjcm9sbFdyYXAtaHJRVl9CWnMub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC5zY3JvbGxXcmFwLWhyUVZfQlpzLm92ZXJmbG93U2Nyb2xsLWhyUVZfQlpzOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnNjcm9sbFdyYXAtaHJRVl9CWnMub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnM6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9LnJvdW5kVGFicy1oclFWX0Jac3tkaXNwbGF5OmZsZXg7ZmxleC1mbG93OnJvdyBub3dyYXA7LS11aS1saWItcm91bmRUYWItbWFyZ2luOnZhcigtLXVpLWxpYi1yb3VuZFRhYnMtZ2FwKX0ub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnMgLnJvdW5kVGFicy1oclFWX0Jac3ttaW4td2lkdGg6bWF4LWNvbnRlbnR9Lm92ZXJmbG93U2Nyb2xsLWhyUVZfQlpzIC5yb3VuZFRhYnMtaHJRVl9CWnMuY2VudGVyLWhyUVZfQlpze21hcmdpbi1pbmxpbmUtZW5kOmNhbGMobWF4KHZhcigtLXVpLWxpYi1yb3VuZC10YWJzLWhvci1wYWRkaW5nLCAwcHgpLCA0cHgpKi0xKTtwYWRkaW5nLWlubGluZS1lbmQ6bWF4KHZhcigtLXVpLWxpYi1yb3VuZC10YWJzLWhvci1wYWRkaW5nLDBweCksNHB4KX0ub3ZlcmZsb3dXcmFwLWhyUVZfQlpzIC5yb3VuZFRhYnMtaHJRVl9CWnN7Z2FwOnZhcigtLXVpLWxpYi1yb3VuZFRhYnMtZ2FwKTstLXVpLWxpYi1yb3VuZFRhYi1tYXJnaW46MDtmbGV4LXdyYXA6d3JhcH0ucm91bmRUYWJzLWhyUVZfQlpzLnN0YXJ0LWhyUVZfQlpze2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5yb3VuZFRhYnMtaHJRVl9CWnMuY2VudGVyLWhyUVZfQlpze2p1c3RpZnktY29udGVudDpjZW50ZXJ9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.62351.b382da174f097a0d0e43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.328Z","timestamp":1785136900328,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.62351.b382da174f097a0d0e43.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 11c705fa3e7843c8f8abe826f04ffd2a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":133378,"size_decoded":33504,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3071)","md5":"592868958f083a645011c18526be50f6","sha1":"33a4aca0ed967d4c042777d21cfe064a9fe7621b","sha256":"9ac1b143f8bfa585ff4c79336d6e869e8236f9a663d1610bf4d1f2f452e5cf6c","sha512":"8a8bcd9d03298df1b5917f0bbe544ffe5779ee6ff2037cbab84cf0a15996a5208f3d75e6bb1d5f3a27bfd89ad8e3d452b3de058cdd314aeca07608d8c12a14b6","ssdeep":"1536:HcIavPJ0d2mzNQgTQ4yBoYSovc3fVfcD/WZz67dvUOPpguNd3mTdED:F2mzNhE4yFc3fVTudGu7D","tlshash":"e9d3cd07e140a4d66b71c15237cadcc9bdf4a88a43e0c685739adf38c52be2762b6d74","first_seen":"2026-07-24T15:28:44.72755Z","last_seen":"2026-07-28T06:17:53.366836Z","times_seen":205,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNDkyOSwzNzg2NSw0NzAzMCw1MzI0OSw1NzE4NCw2MjM1MSw2ODg2MCw4NDY5Myw5Mjk2NF0sezYxNzM0MChlKXtlLmV4cG9ydHM9WyJDb2x1bW5zIl19LDExODQ5MShlKXtlLmV4cG9ydHM9WyJDYW5kbGVzIl19LDc5NjA5MyhlKXtlLmV4cG9ydHM9WyJBcmVhIl19LDk0MTYyOShlKXtlLmV4cG9ydHM9WyJCYXJzIl19LDUyNTMzMShlKXtlLmV4cG9ydHM9WyJCYXNlbGluZSJdfSw0MTM0MyhlKXtlLmV4cG9ydHM9WyJLYWdpIl19LDk2Nzg0MShlKXtlLmV4cG9ydHM9WyJITEMgYXJlYSJdfSw2ODMwMChlKXtlLmV4cG9ydHM9WyJITEMgYmFycyJdfSwzMzE4MjQoZSl7ZS5leHBvcnRzPVsiSG9sbG93IGNhbmRsZXMiXX0sODM1NTQzKGUpe2UuZXhwb3J0cz1bIkhlaWtpbiBBc2hpIl19LDk1MjgxMChlKXtlLmV4cG9ydHM9WyJIaWdoLWxvdyJdfSwyMTA0OTkoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxODYxNDcoZSl7ZS5leHBvcnRzPVsiTGluZSB3aXRoIG1hcmtlcnMiXX0sMzA3NDM2KGUpe2UuZXhwb3J0cz1bIkxpbmUgYnJlYWsiXX0sNjg3OTUxKGUpe2UuZXhwb3J0cz1bIlNlc3Npb24gdm9sdW1lIHByb2ZpbGUiXX0sOTE2MTQ4KGUpe2UuZXhwb3J0cz1bIlN0ZXAgbGluZSJdfSw4NjcwMjEoZSl7ZS5leHBvcnRzPVsiUG9pbnQgJiBmaWd1cmUiXX0sMTg4MzUyKGUpe2UuZXhwb3J0cz1bIlJhbmdlIl19LDQ2MTczOChlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSwxMTc5ODQoZSl7ZS5leHBvcnRzPVsiVGltZSBwcmljZSBvcHBvcnR1bml0eSJdfSw4OTIzNzUoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGNhbmRsZXMiXX0sMjAxMDczKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNjQ2ODQ4KGUpe2UuZXhwb3J0cz1bIk9iamVjdCB0cmVlIl19LDExMzUyNChlKXtlLmV4cG9ydHM9WyJDb250aW51ZSJdfSwyNjQ3MzkoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDMxODczNChlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNzcwOTQxKGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sMTU3NDE3KGUpe2UuZXhwb3J0cz1bIlJlIl19LDU1ODQxMihlKXtlLmV4cG9ydHM9WyIlIG9mIEdEUCJdfSw0Njg0NjAoZSl7ZS5leHBvcnRzPVsiJSBvZiBwYXIiXX0sNDQ1MDUoZSl7ZS5leHBvcnRzPVsiRGlzYy4geWllbGQsICUiXX0sOTQ1MzYyKGUpe2UuZXhwb3J0cz1bIkRhcmsiXX0sMjQ3MTY3KGUpe2UuZXhwb3J0cz1bIkxpZ2h0Il19LDI0NzUyMShlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDYyMzQwMChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjdXQiXX0sMzk0MTI4KGUpe2UuZXhwb3J0cz1bIkNvdWxkbid0IHBhc3RlIl19LDIxMDkwMShlKXtlLmV4cG9ydHM9WyJQbGVhc2UgZ2l2ZSB1cyBhIGNsaXBib2FyZCB3cml0aW5nIHBlcm1pc3Npb24gaW4geW91ciBicm93c2VyIG9yIHByZXNzIHtrZXlzdHJva2V9Il19LDc4Njk3OChlKXtlLmV4cG9ydHM9WyJBREoiXX0sNzMwODQwKGUpe2UuZXhwb3J0cz1bIkItQURKIl19LDMzNzk1NyhlKXtlLmV4cG9ydHM9WyJTRVQiXX0sNjUzODU5KGUpe2UuZXhwb3J0cz1bIkV4cGlyZWQiXX0sMzY0ODQzKGUpe2UuZXhwb3J0cz1bIk1hbnVhbGx5Il19LDQ2MzIzMihlKXtlLmV4cG9ydHM9WyJTdG9wcGVkIl19LDM2NzU3MyhlKXtlLmV4cG9ydHM9WyJUcmlnZ2VyZWQiXX0sNTMxODM0KGUpe2UuZXhwb3J0cz1bIkRlbGV0ZSBzZWxlY3RlZCBhbGVydHM/Il19LDQ1NjE1MihlKXtlLmV4cG9ydHM9WyJEZWxldGUgdGhpcyBhbGVydD8iXX0sNjgzNjI3KGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIl19LDg1OTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDg5MjM2MyhlKXtlLmV4cG9ydHM9WyJEIl19LDM5NDUwMShlKXtlLmV4cG9ydHM9WyJEIl19LDU3MDkzOShlKXtlLmV4cG9ydHM9WyJFIl19LDM5NDkyMShlKXtlLmV4cG9ydHM9WyJGIl19LDg2NjQ0KGUpe2UuZXhwb3J0cz1bIlIiXX0sNzU2NDU3KGUpe2UuZXhwb3J0cz1bIlIiXX0sMjU3MzI2KGUpe2UuZXhwb3J0cz1bIlMiXX0sMjMwNDkyKGUpe2UuZXhwb3J0cz1bImQiXX0sMTIyMDUzKGUpe2UuZXhwb3J0cz1bImgiXX0sMTY0NTE2KGUpe2UuZXhwb3J0cz1bIm0iXX0sMjYyMjA1KGUpe2UuZXhwb3J0cz1bInMiXX0sMzk4NDU5KGUpe2UuZXhwb3J0cz1bIkZyIl19LDM2NTUzNShlKXtlLmV4cG9ydHM9WyJNbyJdfSwyNjA0OTYoZSl7ZS5leHBvcnRzPVsiU2EiXX0sNjY5MTk5KGUpe2UuZXhwb3J0cz1bIlN1Il19LDQ1MTI3MShlKXtlLmV4cG9ydHM9WyJXZSJdfSw2Mjg1ODIoZSl7ZS5leHBvcnRzPVsiVGgiXX0sOTM5MzI5KGUpe2UuZXhwb3J0cz1bIlR1Il19LDc4NDkxMChlKXtlLmV4cG9ydHM9WyJBZ2ciXX0sMTkzNzI4KGUpe2UuZXhwb3J0cz1bIkFnZ3JlZ2F0ZWQiXX0sNzMwOTY2KGUpe2UuZXhwb3J0cz1bIk5vQWdnIl19LDM2MDgyMChlKXtlLmV4cG9ydHM9WyJOb24tYWdncmVnYXRlZCJdfSwzNDY0MjEoZSl7ZS5leHBvcnRzPVsiQW5udWFsIl19LDY3OTk5MShlKXtlLmV4cG9ydHM9WyJGSCJdfSwyOTUyODgoZSl7ZS5leHBvcnRzPVsiRlEiXX0sMzI0NjE0KGUpe2UuZXhwb3J0cz1bIkZZIl19LDkwMDU4MihlKXtlLmV4cG9ydHM9WyJONEZIIl19LDU3MTA0MChlKXtlLmV4cG9ydHM9WyJONEZRIl19LDE5NzkzMChlKXtlLmV4cG9ydHM9WyJONEZZIl19LDMzNDkyOShlKXtlLmV4cG9ydHM9WyJORkgiXX0sODY2MDUwKGUpe2UuZXhwb3J0cz1bIk5GUSJdfSw1ODc4ODIoZSl7ZS5leHBvcnRzPVsiTkZZIl19LDI4Nzk0OShlKXtlLmV4cG9ydHM9WyJOVE0iXX0sNDQyNTExKGUpe2UuZXhwb3J0cz1bIk5leHQgdHdlbHZlIG1vbnRocyJdfSw2MTE2NDAoZSl7ZS5leHBvcnRzPVsiU2VtaWFubnVhbCJdfSwyMzM4NTYoZSl7ZS5leHBvcnRzPVsiUXVhcnRlcmx5Il19LDU4ODIyMShlKXtlLmV4cG9ydHM9WyJUVE0iXX0sMTkxNDMyKGUpe2UuZXhwb3J0cz1bIkQiXX0sODg5MTAoZSl7ZS5leHBvcnRzPVsiTSJdfSwyODExMDcoZSl7CmUuZXhwb3J0cz1bIlIiXX0sMjE4MDM2KGUpe2UuZXhwb3J0cz1bIlQiXX0sMzIzNTcwKGUpe2UuZXhwb3J0cz1bIlciXX0sMjQwNzMoZSl7ZS5leHBvcnRzPVsiaCJdfSw2MTg0KGUpe2UuZXhwb3J0cz1bIm0iXX0sMzkwODA5KGUpe2UuZXhwb3J0cz1bInMiXX0sMjI5OTk0KGUpe2UuZXhwb3J0cz1bIkMiXX0sOTU0NjE0KGUpe2UuZXhwb3J0cz1bIkgiXX0sNjY2NzMwKGUpe2UuZXhwb3J0cz1bIkhMMiJdfSwxMDAzNChlKXtlLmV4cG9ydHM9WyJITEMzIl19LDE0MzgxNShlKXtlLmV4cG9ydHM9WyJPSExDNCJdfSw4Mzk0NjMoZSl7ZS5leHBvcnRzPVsiTCJdfSw5NjA1MTMoZSl7ZS5leHBvcnRzPVsiTyJdfSwzMjUxMTgoZSl7ZS5leHBvcnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5leHBvcnRzWyJFbnRlciB2YWx1ZV9pbnB1dCJdPVsiRW50ZXIgdmFsdWUiXSxlLmV4cG9ydHMuU2VhcmNoX2lucHV0PVsiU2VhcmNoIl0sZS5leHBvcnRzWyIlRCBMZW5ndGhfaW5wdXQiXT1bIiVEIExlbmd0aCJdLGUuZXhwb3J0c1siJUQgU21vb3RoaW5nX2lucHV0Il09WyIlRCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIiVEX2lucHV0Il09WyIlRCJdLGUuZXhwb3J0c1siJUsgTGVuZ3RoX2lucHV0Il09WyIlSyBMZW5ndGgiXSxlLmV4cG9ydHNbIiVLIFNtb290aGluZ19pbnB1dCJdPVsiJUsgU21vb3RoaW5nIl0sZS5leHBvcnRzWyIlS19pbnB1dCJdPVsiJUsiXSxlLmV4cG9ydHNbIiVSX2lucHV0Il09WyIlUiJdLGUuZXhwb3J0c1siK0RJX2lucHV0Il09WyIrREkiXSxlLmV4cG9ydHNbIi0wLjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiLTAuMjM2IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyItMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIi0wLjM4MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLTAuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyItMC42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIi0wLjY1IExldmVsIENvbG9yX2lucHV0Il09WyItMC42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLURJX2lucHV0Il09WyItREkiXSxlLmV4cG9ydHNbIjAgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjAuMjM2IExldmVsIENvbG9yX2lucHV0Il09WyIwLjIzNiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuMzgyIExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIwLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjc4NiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMC43ODYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuMjcyIExldmVsIENvbG9yX2lucHV0Il09WyIxLjI3MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMS40MTQgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNDE0IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIxLjYxOCBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMS42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuNjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNjUgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjFzdCBQZXJpb2RfaW5wdXQiXT1bIjFzdCBQZXJpb2QiXSxlLmV4cG9ydHNbIjIuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyIyLjYxOCBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMi42NSBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMi42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMm5kIFBlcmlvZF9pbnB1dCJdPVsiMm5kIFBlcmlvZCJdLGUuZXhwb3J0c1siMy42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjMuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIzLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzcmQgUGVyaW9kX2lucHV0Il09WyIzcmQgUGVyaW9kIl0sZS5leHBvcnRzWyI0LjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiNC4yMzYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjR0aCBQZXJpb2RfaW5wdXQiXT1bIjR0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjV0aCBQZXJpb2RfaW5wdXQiXT1bIjV0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjZ0aCBQZXJpb2RfaW5wdXQiXT1bIjZ0aCBQZXJpb2QiXSxlLmV4cG9ydHMuQURSX0JfaW5wdXQ9WyJBRFJfQiJdLGUuZXhwb3J0c1siQURYIFNtb290aGluZ19pbnB1dCJdPVsiQURYIFNtb290aGluZyJdLGUuZXhwb3J0c1siQURYIHNtb290aGluZ19pbnB1dCJdPVsiQURYIHNtb290aGluZyJdLGUuZXhwb3J0cy5BRFhfaW5wdXQ9WyJBRFgiXSxlLmV4cG9ydHNbIkFUUiBDb2VmZmljaWVudCAoeClfaW5wdXQiXT1bIkFUUiBDb2VmZmljaWVudCAoeCkiXSxlLmV4cG9ydHNbIkFUUiBMZW5ndGggKHApX2lucHV0Il09WyJBVFIgTGVuZ3RoIChwKSJdLGUuZXhwb3J0c1siQVRSIExlbmd0aF9pbnB1dCJdPVsiQVRSIExlbmd0aCJdLGUuZXhwb3J0c1siQVRSIE11bHRfaW5wdXQiXT1bIkFUUiBNdWx0Il0sZS5leHBvcnRzWyJBVFIgTXVsdGlwbGllcl9pbnB1dCJdPVsiQVRSIE11bHRpcGxpZXIiXSxlLmV4cG9ydHNbIkFUUiBsZW5ndGhfaW5wdXQiXT1bIkFUUiBsZW5ndGgiXSxlLmV4cG9ydHNbIkFUUih7YXRyVmFsdWV9KV9pbnB1dCJdPVsiQVRSKHthdHJWYWx1ZX0pIl0sZS5leHBvcnRzLkFUUl9pbnB1dD1bIkFUUiJdLGUuZXhwb3J0cy5BYnNvbHV0ZV9pbnB1dD1bIkFic29sdXRlIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX2lucHV0Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBZGRpdGlvbmFsIHNldHRpbmdzX2lucHV0Il09WyJBZGRpdGlvbmFsIHNldHRpbmdzIl0sZS5leHBvcnRzWyJBZGp1c3QgVW5jb25maXJtZWRfaW5wdXQiXT1bIkFkanVzdCBVbmNvbmZpcm1lZCJdLAplLmV4cG9ydHNbIkFsbCBpdGVtc19jb21ib2JveF9pbnB1dCJdPVsiQWxsIGl0ZW1zIl0sZS5leHBvcnRzLkFsbF9pbnB1dD1bIkFsbCJdLGUuZXhwb3J0c1siQW5jaG9yIFBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIFBlcmlvZCJdLGUuZXhwb3J0c1siQW5jaG9yIFRpbWVmcmFtZV9pbnB1dCJdPVsiQW5jaG9yIFRpbWVmcmFtZSJdLGUuZXhwb3J0c1siQW5jaG9yIHBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIHBlcmlvZCJdLGUuZXhwb3J0c1siQW5vdGhlciBzeW1ib2xfaW5wdXQiXT1bIkFub3RoZXIgc3ltYm9sIl0sZS5leHBvcnRzWyJBcm9vbiBEb3duX2lucHV0Il09WyJBcm9vbiBEb3duIl0sZS5leHBvcnRzWyJBcm9vbiBVcF9pbnB1dCJdPVsiQXJvb24gVXAiXSxlLmV4cG9ydHNbIkFycm93IChib3RoKV9pbnB1dCJdPVsiQXJyb3cgKGJvdGgpIl0sZS5leHBvcnRzWyJBcnJvdyAobGVmdClfaW5wdXQiXT1bIkFycm93IChsZWZ0KSJdLGUuZXhwb3J0c1siQXJyb3cgKHJpZ2h0KV9pbnB1dCJdPVsiQXJyb3cgKHJpZ2h0KSJdLGUuZXhwb3J0cy5BdXRvVGltZWZyYW1lX2lucHV0PVsiQXV0b1RpbWVmcmFtZSJdLGUuZXhwb3J0cy5BdXRvX2lucHV0PVsiQXV0byJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX2lucHV0Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHMuQXZlcmFnZV9pbnB1dD1bIkF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2luZyBQZXJpb2RzX2lucHV0Il09WyJBdmVyYWdpbmcgUGVyaW9kcyJdLGUuZXhwb3J0c1siQXdhaXRpbmcgYW5kIFJlYWNoZWRfaW5wdXQiXT1bIkF3YWl0aW5nIGFuZCBSZWFjaGVkIl0sZS5leHBvcnRzWyJCQiBTdGREZXZfaW5wdXQiXT1bIkJCIFN0ZERldiJdLGUuZXhwb3J0cy5CYWNrX2lucHV0PVsiQmFjayJdLGUuZXhwb3J0c1siQmFja2dyb3VuZCBUcmFuc3BhcmVuY3lfaW5wdXQiXT1bIkJhY2tncm91bmQgVHJhbnNwYXJlbmN5Il0sZS5leHBvcnRzLkJhY2tncm91bmRfaW5wdXQ9WyJCYWNrZ3JvdW5kIl0sZS5leHBvcnRzWyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMxX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMxIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMyX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMyIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMzX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMzIl0sZS5leHBvcnRzWyJCYW5kcyBTZXR0aW5nc19pbnB1dCJdPVsiQmFuZHMgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkJhbmRzIFN0eWxlX2lucHV0Il09WyJCYW5kcyBTdHlsZSJdLGUuZXhwb3J0c1siQmFuZHMgc3R5bGVfaW5wdXQiXT1bIkJhbmRzIHN0eWxlIl0sZS5leHBvcnRzLkJhcl9pbnB1dD1bIkJhciJdLGUuZXhwb3J0c1siQmFycyBCYWNrX2lucHV0Il09WyJCYXJzIEJhY2siXSxlLmV4cG9ydHNbIkJhcnMgdG8gQnJlYWtvdXRfaW5wdXQiXT1bIkJhcnMgdG8gQnJlYWtvdXQiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBMZW5ndGhfaW5wdXQiXT1bIkJhc2UgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBQZXJpb2RzX2lucHV0Il09WyJCYXNlIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQmFzZSBMaW5lX2lucHV0Il09WyJCYXNlIExpbmUiXSxlLmV4cG9ydHNbIkJhc2lzIE1BIFR5cGVfaW5wdXQiXT1bIkJhc2lzIE1BIFR5cGUiXSxlLmV4cG9ydHMuQmFzaXNfaW5wdXQ9WyJCYXNpcyJdLGUuZXhwb3J0c1siQmVhcmlzaCBDb2xvcl9pbnB1dCJdPVsiQmVhcmlzaCBDb2xvciJdLGUuZXhwb3J0c1siQmVhcmlzaCBGbGFnX2lucHV0Il09WyJCZWFyaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJlYXJpc2ggUGVubmFudF9pbnB1dCJdPVsiQmVhcmlzaCBQZW5uYW50Il0sZS5leHBvcnRzLkJpeWVhcmx5X2lucHV0PVsiQml5ZWFybHkiXSxlLmV4cG9ydHNbIkJsb2NrIFNpemVfaW5wdXQiXT1bIkJsb2NrIFNpemUiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyAlQl9pbnB1dCJdPVsiQm9sbGluZ2VyIEJhbmRzICVCIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgV2lkdGhfaW5wdXQiXT1bIkJvbGxpbmdlciBCYW5kcyBXaWR0aCJdLGUuZXhwb3J0c1siQm9yZGVyIGFuZCBmaWxsIGNvbG9yc19pbnB1dCJdPVsiQm9yZGVyIGFuZCBmaWxsIGNvbG9ycyJdLGUuZXhwb3J0cy5Cb3JkZXJzX2lucHV0PVsiQm9yZGVycyJdLGUuZXhwb3J0cy5Cb3RoX2lucHV0PVsiQm90aCJdLGUuZXhwb3J0cy5Cb3R0b21zX2lucHV0PVsiQm90dG9tcyJdLGUuZXhwb3J0c1siQm94IHNpemUgYXNzaWdubWVudCBtZXRob2RfaW5wdXQiXT1bIkJveCBzaXplIGFzc2lnbm1lbnQgbWV0aG9kIl0sZS5leHBvcnRzWyJCb3ggc2l6ZV9pbnB1dCJdPVsiQm94IHNpemUiXSxlLmV4cG9ydHMuQm94ZXNfaW5wdXQ9WyJCb3hlcyJdLGUuZXhwb3J0c1siQnVsbGlzaCBDb2xvcl9pbnB1dCJdPVsiQnVsbGlzaCBDb2xvciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnX2lucHV0Il09WyJCdWxsaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJ1bGxpc2ggUGVubmFudF9pbnB1dCJdPVsiQnVsbGlzaCBQZW5uYW50Il0sZS5leHBvcnRzWyJDQ0kgMTQgTGVuZ3RoX2lucHV0Il09WyJDQ0kgMTQgTGVuZ3RoIl0sZS5leHBvcnRzWyJDQ0kgVHVyYm8gTGVuZ3RoX2lucHV0Il09WyJDQ0kgVHVyYm8gTGVuZ3RoIl0sZS5leHBvcnRzLkNDSV9pbnB1dD1bIkNDSSJdLGUuZXhwb3J0cy5DSE9QX2lucHV0PVsiQ0hPUCJdLGUuZXhwb3J0c1siQ2FsY3VsYXRlIERpdmVyZ2VuY2VfaW5wdXQiXT1bIkNhbGN1bGF0ZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzLkNhbGN1bGF0aW9uX2lucHV0PVsiQ2FsY3VsYXRpb24iXSxlLmV4cG9ydHMuQ2FtYXJpbGxhX2lucHV0PVsiQ2FtYXJpbGxhIl0sZS5leHBvcnRzLkNhbmNlbF9pbnB1dD1bIkNhbmNlbCJdLGUuZXhwb3J0cy5DYW5kbGVzX2lucHV0PVsiQ2FuZGxlcyJdLAplLmV4cG9ydHMuQ2VudGVyX2lucHV0PVsiQ2VudGVyIl0sZS5leHBvcnRzLkNlbnRlcmVkX2lucHV0PVsiQ2VudGVyZWQiXSxlLmV4cG9ydHMuQ2VudHVyeV9pbnB1dD1bIkNlbnR1cnkiXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9pbnB1dCJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFuZGUgTU9faW5wdXQiXT1bIkNoYW5kZSBNTyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBTZXR0aW5nc19pbnB1dCJdPVsiQ2hhbm5lbCBTZXR0aW5ncyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBXaWR0aCBSYXRpbyBTdGFydC9FbmRfaW5wdXQiXT1bIkNoYW5uZWwgV2lkdGggUmF0aW8gU3RhcnQvRW5kIl0sZS5leHBvcnRzLkNsYXNzaWNfaW5wdXQ9WyJDbGFzc2ljIl0sZS5leHBvcnRzWyJDbG9zZSBHYXBzIFBhcnRpYWxseV9pbnB1dCJdPVsiQ2xvc2UgR2FwcyBQYXJ0aWFsbHkiXSxlLmV4cG9ydHMuQ2xvc2VfaW5wdXQ9WyJDbG9zZSJdLGUuZXhwb3J0c1siQ29sb3IgMF9pbnB1dCJdPVsiQ29sb3IgMCJdLGUuZXhwb3J0c1siQ29sb3IgMV9pbnB1dCJdPVsiQ29sb3IgMSJdLGUuZXhwb3J0c1siQ29sb3IgMl9pbnB1dCJdPVsiQ29sb3IgMiJdLGUuZXhwb3J0c1siQ29sb3IgM19pbnB1dCJdPVsiQ29sb3IgMyJdLGUuZXhwb3J0c1siQ29sb3IgNF9pbnB1dCJdPVsiQ29sb3IgNCJdLGUuZXhwb3J0c1siQ29sb3IgNV9pbnB1dCJdPVsiQ29sb3IgNSJdLGUuZXhwb3J0c1siQ29sb3IgNl9pbnB1dCJdPVsiQ29sb3IgNiJdLGUuZXhwb3J0c1siQ29sb3IgN19pbnB1dCJdPVsiQ29sb3IgNyJdLGUuZXhwb3J0c1siQ29sb3IgOF9pbnB1dCJdPVsiQ29sb3IgOCJdLGUuZXhwb3J0c1siQ29sb3IgU2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIFNldHRpbmdzIl0sZS5leHBvcnRzWyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlX2lucHV0Il09WyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlIl0sZS5leHBvcnRzWyJDb2xvciBiYXNlZCBvbiBwcmV2aW91cyBjbG9zZV9pbnB1dCJdPVsiQ29sb3IgYmFzZWQgb24gcHJldmlvdXMgY2xvc2UiXSxlLmV4cG9ydHNbIkNvbG9yIGludGVuc2l0eSBjdXRvZmYgKCUpX2lucHV0Il09WyJDb2xvciBpbnRlbnNpdHkgY3V0b2ZmICglKSJdLGUuZXhwb3J0c1siQ29sb3Igc2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIHNldHRpbmdzIl0sZS5leHBvcnRzWyJDb25maXJtIGJhcnNfaW5wdXQiXT1bIkNvbmZpcm0gYmFycyJdLGUuZXhwb3J0c1siQ29uc2VjdXRpdmUgYmFycyBkb3duX2lucHV0Il09WyJDb25zZWN1dGl2ZSBiYXJzIGRvd24iXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIGJhcnMgdXBfaW5wdXQiXT1bIkNvbnNlY3V0aXZlIGJhcnMgdXAiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBMZW5ndGhfaW5wdXQiXT1bIkNvbnZlcnNpb24gTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBQZXJpb2RzX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQ29udmVyc2lvbiBMaW5lX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUiXSxlLmV4cG9ydHMuQ29ycmVjdGl2ZV9pbnB1dD1bIkNvcnJlY3RpdmUiXSxlLmV4cG9ydHMuQ29ycmVsYXRpb25faW5wdXQ9WyJDb3JyZWxhdGlvbiJdLGUuZXhwb3J0cy5Db3VudF9pbnB1dD1bIkNvdW50Il0sZS5leHBvcnRzLkNyb3NzZXNfaW5wdXQ9WyJDcm9zc2VzIl0sZS5leHBvcnRzLkN1bXVsYXRpdmVfaW5wdXQ9WyJDdW11bGF0aXZlIl0sZS5leHBvcnRzWyJDdXAgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJDdXAgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkN1c3RvbSBzZXNzaW9uX2lucHV0Il09WyJDdXN0b20gc2Vzc2lvbiJdLGUuZXhwb3J0cy5DdXN0b21faW5wdXQ9WyJDdXN0b20iXSxlLmV4cG9ydHMuREVNQV9pbnB1dD1bIkRFTUEiXSxlLmV4cG9ydHNbIkRJIExlbmd0aF9pbnB1dCJdPVsiREkgTGVuZ3RoIl0sZS5leHBvcnRzLkRNX2lucHV0PVsiRE0iXSxlLmV4cG9ydHMuRFBPX2lucHV0PVsiRFBPIl0sZS5leHBvcnRzLkRfaW5wdXQ9WyJEIl0sZS5leHBvcnRzLkRhaWx5X2lucHV0PVsiRGFpbHkiXSxlLmV4cG9ydHMuRGFzaGVkX2lucHV0PVsiRGFzaGVkIl0sZS5leHBvcnRzLkRheV9pbnB1dD1bIkRheSJdLGUuZXhwb3J0c1siRGF5cyBCYWNrX2lucHV0Il09WyJEYXlzIEJhY2siXSxlLmV4cG9ydHNbIkRheXMgUGVyIFllYXJfaW5wdXQiXT1bIkRheXMgUGVyIFllYXIiXSxlLmV4cG9ydHMuRGVjYWRlX2lucHV0PVsiRGVjYWRlIl0sZS5leHBvcnRzLkRlY2VubmlhbGx5X2lucHV0PVsiRGVjZW5uaWFsbHkiXSxlLmV4cG9ydHMuRGVmYXVsdF9pbnB1dD1bIkRlZmF1bHQiXSxlLmV4cG9ydHMuRGVsdGFfaW5wdXQ9WyJEZWx0YSJdLGUuZXhwb3J0cy5EZXB0aF9pbnB1dD1bIkRlcHRoIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9pbnB1dCJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRldmVsb3BpbmcgUG9jX2lucHV0Il09WyJEZXZlbG9waW5nIFBvYyJdLGUuZXhwb3J0c1siRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiRGV2aWF0aW9uICglKSJdLGUuZXhwb3J0cy5EZXZpYXRpb25faW5wdXQ9WyJEZXZpYXRpb24iXSxlLmV4cG9ydHNbIkRpc3BsYXkgU2V0dGluZ3NfaW5wdXQiXT1bIkRpc3BsYXkgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWVfaW5wdXQiXT1bIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWUiXSxlLmV4cG9ydHNbIkRpc3BsYXkgcmV2ZXJzYWwgcHJpY2UgY2hhbmdlX2lucHV0Il09WyJEaXNwbGF5IHJldmVyc2FsIHByaWNlIGNoYW5nZSJdLGUuZXhwb3J0c1siRGlzcGxheSByZXZlcnNhbCBwcmljZV9pbnB1dCJdPVsiRGlzcGxheSByZXZlcnNhbCBwcmljZSJdLGUuZXhwb3J0c1siRGlzcGxheWVkIG5hbWVfaW5wdXQiXT1bIkRpc3BsYXllZCBuYW1lIl0sCmUuZXhwb3J0cy5EaXZpZGVuZHNfaW5wdXQ9WyJEaXZpZGVuZHMiXSxlLmV4cG9ydHMuRGl2aXNvcl9pbnB1dD1bIkRpdmlzb3IiXSxlLmV4cG9ydHMuRG90dGVkX2lucHV0PVsiRG90dGVkIl0sZS5leHBvcnRzWyJEb3VibGUgQm90dG9tX2lucHV0Il09WyJEb3VibGUgQm90dG9tIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wX2lucHV0Il09WyJEb3VibGUgVG9wIl0sZS5leHBvcnRzWyJEb3duIEdhcHNfaW5wdXQiXT1bIkRvd24gR2FwcyJdLGUuZXhwb3J0c1siRG93biBWb2x1bWVfaW5wdXQiXT1bIkRvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJEb3duIGJhcnNfaW5wdXQiXT1bIkRvd24gYmFycyJdLGUuZXhwb3J0c1siRG93biBjb2xvcl9pbnB1dCJdPVsiRG93biBjb2xvciJdLGUuZXhwb3J0c1siRG93biBmcmFjdGFsc19pbnB1dCJdPVsiRG93biBmcmFjdGFscyJdLGUuZXhwb3J0c1siRHJhdyBzZXNzaW9uIG9wZW4gYW5kIGNsb3NlIGxpbmVzX2lucHV0Il09WyJEcmF3IHNlc3Npb24gb3BlbiBhbmQgY2xvc2UgbGluZXMiXSxlLmV4cG9ydHNbIkVNQSBMZW5ndGhfaW5wdXQiXT1bIkVNQSBMZW5ndGgiXSxlLmV4cG9ydHMuRU1BX2lucHV0PVsiRU1BIl0sZS5leHBvcnRzLkVPTV9pbnB1dD1bIkVPTSJdLGUuZXhwb3J0c1siRWFjaCAocHJlLW1hcmtldCwgbWFya2V0LCBwb3N0LW1hcmtldClfaW5wdXQiXT1bIkVhY2ggKHByZS1tYXJrZXQsIG1hcmtldCwgcG9zdC1tYXJrZXQpIl0sZS5leHBvcnRzLkVhcm5pbmdzX2lucHV0PVsiRWFybmluZ3MiXSxlLmV4cG9ydHNbIkVsZGVyJ3MgRm9yY2UgSW5kZXhfaW5wdXQiXT1bIkVsZGVyJ3MgRm9yY2UgSW5kZXgiXSxlLmV4cG9ydHNbIkVxdWFsaXR5IExpbmVfaW5wdXQiXT1bIkVxdWFsaXR5IExpbmUiXSxlLmV4cG9ydHMuRXhjaGFuZ2VfaW5wdXQ9WyJFeGNoYW5nZSJdLGUuZXhwb3J0cy5FeHBvbmVudGlhbF9pbnB1dD1bIkV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJFeHRlbmQgTGluZXMgTGVmdF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIExlZnQiXSxlLmV4cG9ydHNbIkV4dGVuZCBMaW5lcyBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUE9DIFJpZ2h0X2lucHV0Il09WyJFeHRlbmQgUE9DIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUmlnaHRfaW5wdXQiXT1bIkV4dGVuZCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBSCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBSCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBTCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBTCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIGxlZnRfaW5wdXQiXT1bIkV4dGVuZCBsZWZ0Il0sZS5leHBvcnRzWyJFeHRlbmQgdG8gbGFzdCBiYXJfaW5wdXQiXT1bIkV4dGVuZCB0byBsYXN0IGJhciJdLGUuZXhwb3J0cy5GYWN0b3JfaW5wdXQ9WyJGYWN0b3IiXSxlLmV4cG9ydHNbIkZhbGwgQm9keV9pbnB1dCJdPVsiRmFsbCBCb2R5Il0sZS5leHBvcnRzWyJGYWxsaW5nIFdlZGdlX2lucHV0Il09WyJGYWxsaW5nIFdlZGdlIl0sZS5leHBvcnRzLkZhbGxpbmdfaW5wdXQ9WyJGYWxsaW5nIl0sZS5leHBvcnRzWyJGYXN0IExlbmd0aF9pbnB1dCJdPVsiRmFzdCBMZW5ndGgiXSxlLmV4cG9ydHNbIkZhc3QgTUEgUGVyaW9kX2lucHV0Il09WyJGYXN0IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siRmFzdCBsZW5ndGhfaW5wdXQiXT1bIkZhc3QgbGVuZ3RoIl0sZS5leHBvcnRzLkZpYm9uYWNjaV9pbnB1dD1bIkZpYm9uYWNjaSJdLGUuZXhwb3J0cy5GaWxsX2lucHV0PVsiRmlsbCJdLGUuZXhwb3J0c1siRmlyc3QgU2Vzc2lvbl9pbnB1dCJdPVsiRmlyc3QgU2Vzc2lvbiJdLGUuZXhwb3J0cy5GaXNoZXJfaW5wdXQ9WyJGaXNoZXIiXSxlLmV4cG9ydHMuRmxhZ19pbnB1dD1bIkZsYWciXSxlLmV4cG9ydHMuRnJvbV9pbnB1dD1bIkZyb20iXSxlLmV4cG9ydHNbIkdyYXBoaWMgb2JqZWN0c19pbnB1dCJdPVsiR3JhcGhpYyBvYmplY3RzIl0sZS5leHBvcnRzLkdyb3dpbmdfaW5wdXQ9WyJHcm93aW5nIl0sZS5leHBvcnRzWyJHcm93dGggQm9keV9pbnB1dCJdPVsiR3Jvd3RoIEJvZHkiXSxlLmV4cG9ydHNbIkhMQyBiYXJzX2lucHV0Il09WyJITEMgYmFycyJdLGUuZXhwb3J0cy5IVl9pbnB1dD1bIkhWIl0sZS5leHBvcnRzWyJIYW5kbGUgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJIYW5kbGUgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnNfaW5wdXQiXT1bIkhlYWQgYW5kIFNob3VsZGVycyJdLGUuZXhwb3J0cy5IZWFkZXJzX2lucHV0PVsiSGVhZGVycyJdLGUuZXhwb3J0c1siSGVhdG1hcCBzZXR0aW5nc19pbnB1dCJdPVsiSGVhdG1hcCBzZXR0aW5ncyJdLGUuZXhwb3J0c1siSGVpa2luIEFzaGkgUmFuZ2VfaW5wdXQiXT1bIkhlaWtpbiBBc2hpIFJhbmdlIl0sZS5leHBvcnRzWyJIaWRlIFZXQVAgb24gMUQgb3IgQWJvdmVfaW5wdXQiXT1bIkhpZGUgVldBUCBvbiAxRCBvciBBYm92ZSJdLGUuZXhwb3J0c1siSGlnaC9Mb3cgUmFuZ2VfaW5wdXQiXT1bIkhpZ2gvTG93IFJhbmdlIl0sZS5leHBvcnRzLkhpZ2hlcl9pbnB1dD1bIkhpZ2hlciJdLGUuZXhwb3J0c1siSGlnaGVzdCBFeHBhbnNpb24gTGVuZ3RoX2lucHV0Il09WyJIaWdoZXN0IEV4cGFuc2lvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkhpZ2hlc3QgSGlnaF9pbnB1dCJdPVsiSGlnaGVzdCBIaWdoIl0sZS5leHBvcnRzWyJIaWdoZXN0IFZvbHVtZV9pbnB1dCJdPVsiSGlnaGVzdCBWb2x1bWUiXSxlLmV4cG9ydHNbIkhpc3RvZ3JhbSBCb3hfaW5wdXQiXT1bIkhpc3RvZ3JhbSBCb3giXSxlLmV4cG9ydHMuSGlzdG9ncmFtX2lucHV0PVsiSGlzdG9ncmFtIl0sZS5leHBvcnRzLkhvdXJfaW5wdXQ9WyJIb3VyIl0sZS5leHBvcnRzWyJIdWxsIE1BX2lucHV0Il09WyJIdWxsIE1BIl0sZS5leHBvcnRzWyJJZ25vcmVkIG1vbnRoc19pbnB1dCJdPVsiSWdub3JlZCBtb250aHMiXSxlLmV4cG9ydHNbIkluIFByb2dyZXNzX2lucHV0Il09WyJJbiBQcm9ncmVzcyJdLAplLmV4cG9ydHNbIkluY2x1ZGUgQ2hhcnQgU3ltYm9sX2lucHV0Il09WyJJbmNsdWRlIENoYXJ0IFN5bWJvbCJdLGUuZXhwb3J0cy5JbmNyZW1lbnRfaW5wdXQ9WyJJbmNyZW1lbnQiXSxlLmV4cG9ydHNbIkluZGljYXRvciBUaW1lZnJhbWVfaW5wdXQiXT1bIkluZGljYXRvciBUaW1lZnJhbWUiXSxlLmV4cG9ydHMuSW5kaWNhdG9yX2lucHV0PVsiSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJJbnB1dCB2YWx1ZXNfaW5wdXQiXT1bIklucHV0IHZhbHVlcyJdLGUuZXhwb3J0cy5JbnNpZGVfaW5wdXQ9WyJJbnNpZGUiXSxlLmV4cG9ydHNbIkluc3RydW1lbnQgMV9pbnB1dCJdPVsiSW5zdHJ1bWVudCAxIl0sZS5leHBvcnRzWyJJbnN0cnVtZW50IDJfaW5wdXQiXT1bIkluc3RydW1lbnQgMiJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1heGltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1heGltYSJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1pbmltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1pbmltYSJdLGUuZXhwb3J0c1siSW52ZXJ0IFBhdHRlcm5faW5wdXQiXT1bIkludmVydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiSW52ZXJ0ZWQgQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkludmVydGVkIEhlYWQgYW5kIFNob3VsZGVyc19pbnB1dCJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgMSBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDIgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgMiBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDMgbGVuZ3RoIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgNCBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDUgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgNSBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDYgbGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgTGVuZ3RoX2lucHV0Il09WyJKYXcgTGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgT2Zmc2V0X2lucHV0Il09WyJKYXcgT2Zmc2V0Il0sZS5leHBvcnRzLkphd19pbnB1dD1bIkphdyJdLGUuZXhwb3J0cy5LUGVyaW9kX2lucHV0PVsiS1BlcmlvZCJdLGUuZXhwb3J0cy5LU1RfaW5wdXQ9WyJLU1QiXSxlLmV4cG9ydHMuS19pbnB1dD1bIksiXSxlLmV4cG9ydHNbIkxFTkdUSCBMRUZUIC8gUklHSFRfaW5wdXQiXT1bIkxFTkdUSCBMRUZUIC8gUklHSFQiXSxlLmV4cG9ydHNbIkxhYmVscyBQb3NpdGlvbl9pbnB1dCJdPVsiTGFiZWxzIFBvc2l0aW9uIl0sZS5leHBvcnRzWyJMYWJlbHMgb24gcHJpY2Ugc2NhbGVfaW5wdXQiXT1bIkxhYmVscyBvbiBwcmljZSBzY2FsZSJdLGUuZXhwb3J0cy5MYWJlbHNfaW5wdXQ9WyJMYWJlbHMiXSxlLmV4cG9ydHNbIkxhZ2dpbmcgU3BhbiBQZXJpb2RzX2lucHV0Il09WyJMYWdnaW5nIFNwYW4gUGVyaW9kcyJdLGUuZXhwb3J0c1siTGFnZ2luZyBTcGFuX2lucHV0Il09WyJMYWdnaW5nIFNwYW4iXSxlLmV4cG9ydHMuTGFyZ2VfaW5wdXQ9WyJMYXJnZSJdLGUuZXhwb3J0c1siTGFzdCBBd2FpdGluZ19pbnB1dCJdPVsiTGFzdCBBd2FpdGluZyJdLGUuZXhwb3J0c1siTGVhZGluZyBTaGlmdCBQZXJpb2RzX2lucHV0Il09WyJMZWFkaW5nIFNoaWZ0IFBlcmlvZHMiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBBX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQSJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIEIgTGVuZ3RoX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBCX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIFBlcmlvZHNfaW5wdXQiXT1bIkxlYWRpbmcgU3BhbiBQZXJpb2RzIl0sZS5leHBvcnRzLkxlZnRfaW5wdXQ9WyJMZWZ0Il0sZS5leHBvcnRzWyJMZW5ndGggRU1BX2lucHV0Il09WyJMZW5ndGggRU1BIl0sZS5leHBvcnRzWyJMZW5ndGggTUFfaW5wdXQiXT1bIkxlbmd0aCBNQSJdLGUuZXhwb3J0c1siTGVuZ3RoIHR5cGVfaW5wdXQiXT1bIkxlbmd0aCB0eXBlIl0sZS5leHBvcnRzLkxlbmd0aDFfaW5wdXQ9WyJMZW5ndGgxIl0sZS5leHBvcnRzLkxlbmd0aDJfaW5wdXQ9WyJMZW5ndGgyIl0sZS5leHBvcnRzLkxlbmd0aDNfaW5wdXQ9WyJMZW5ndGgzIl0sZS5leHBvcnRzLkxlbmd0aF9pbnB1dD1bIkxlbmd0aCJdLGUuZXhwb3J0cy5MZXZlbF9pbnB1dD1bIkxldmVsIl0sZS5leHBvcnRzWyJMZXZlbHMgRm9ybWF0X2lucHV0Il09WyJMZXZlbHMgRm9ybWF0Il0sZS5leHBvcnRzWyJMaW1pdCBNYXggR2FwIFRyYWlsIExlbmd0aCAoYmFycylfaW5wdXQiXT1bIkxpbWl0IE1heCBHYXAgVHJhaWwgTGVuZ3RoIChiYXJzKSJdLGUuZXhwb3J0cy5MaW1pdF9pbnB1dD1bIkxpbWl0Il0sZS5leHBvcnRzWyJMaW5lIFNpemVfaW5wdXQiXT1bIkxpbmUgU2l6ZSJdLGUuZXhwb3J0c1siTGluZSBXaWR0aF9pbnB1dCJdPVsiTGluZSBXaWR0aCJdLGUuZXhwb3J0c1siTGluZSBjb2xvcl9pbnB1dCJdPVsiTGluZSBjb2xvciJdLGUuZXhwb3J0c1siTGluZSBmaWxsc19pbnB1dCJdPVsiTGluZSBmaWxscyJdLGUuZXhwb3J0cy5MaW5lX2lucHV0PVsiTGluZSJdLGUuZXhwb3J0cy5MaW5lc19pbnB1dD1bIkxpbmVzIl0sZS5leHBvcnRzWyJMaXBzIExlbmd0aF9pbnB1dCJdPVsiTGlwcyBMZW5ndGgiXSxlLmV4cG9ydHNbIkxpcHMgT2Zmc2V0X2lucHV0Il09WyJMaXBzIE9mZnNldCJdLGUuZXhwb3J0cy5MaXBzX2lucHV0PVsiTGlwcyJdLGUuZXhwb3J0c1siTG9uZyBCQiBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBMZW5ndGgiXSwKZS5leHBvcnRzWyJMb25nIE1BIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvbmcgUkNJIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIFJvQyBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgUm9DIExlbmd0aCJdLGUuZXhwb3J0c1siTG9uZyBsZW5ndGhfaW5wdXQiXT1bIkxvbmcgbGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIHBlcmlvZF9pbnB1dCJdPVsiTG9uZyBwZXJpb2QiXSxlLmV4cG9ydHMuTG9uZ19pbnB1dD1bIkxvbmciXSxlLmV4cG9ydHNbIkxvd2VyIEJhbmRfaW5wdXQiXT1bIkxvd2VyIEJhbmQiXSxlLmV4cG9ydHNbIkxvd2VyIERldmlhdGlvbl9pbnB1dCJdPVsiTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJMb3dlciBQZXJjZW50YWdlX2lucHV0Il09WyJMb3dlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLkxvd2VyTGltaXRfaW5wdXQ9WyJMb3dlckxpbWl0Il0sZS5leHBvcnRzLkxvd2VyX2lucHV0PVsiTG93ZXIiXSxlLmV4cG9ydHNbIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGhfaW5wdXQiXT1bIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvd2VzdCBMb3dfaW5wdXQiXT1bIkxvd2VzdCBMb3ciXSxlLmV4cG9ydHNbIk1BICMxX2lucHV0Il09WyJNQSAjMSJdLGUuZXhwb3J0c1siTUEgIzJfaW5wdXQiXT1bIk1BICMyIl0sZS5leHBvcnRzWyJNQSAjM19pbnB1dCJdPVsiTUEgIzMiXSxlLmV4cG9ydHNbIk1BICM0X2lucHV0Il09WyJNQSAjNCJdLGUuZXhwb3J0c1siTUEgTGVuZ3RoX2lucHV0Il09WyJNQSBMZW5ndGgiXSxlLmV4cG9ydHMuTUFDRF9pbnB1dD1bIk1BQ0QiXSxlLmV4cG9ydHMuTUFfaW5wdXQ9WyJNQSJdLGUuZXhwb3J0cy5NQXNfaW5wdXQ9WyJNQXMiXSxlLmV4cG9ydHMuTUZfaW5wdXQ9WyJNRiJdLGUuZXhwb3J0cy5NTV9tb250aF9pbnB1dD1bIk1NIl0sZS5leHBvcnRzLk1PTV9pbnB1dD1bIk1PTSJdLGUuZXhwb3J0c1siTWFpbiBXYXZlc19pbnB1dCJdPVsiTWFpbiBXYXZlcyJdLGUuZXhwb3J0c1siTWFpbiBjaGFydCBzeW1ib2xfaW5wdXQiXT1bIk1haW4gY2hhcnQgc3ltYm9sIl0sZS5leHBvcnRzLk1hbnVhbF9pbnB1dD1bIk1hbnVhbCJdLGUuZXhwb3J0c1siTWFya2V0IENsb3NlZCBQZXJjZW50YWdlX2lucHV0Il09WyJNYXJrZXQgQ2xvc2VkIFBlcmNlbnRhZ2UiXSxlLmV4cG9ydHNbIk1hcmtldCBvbmx5X2lucHV0Il09WyJNYXJrZXQgb25seSJdLGUuZXhwb3J0c1siTWF4IE51bWJlciBvZiBHYXBzX2lucHV0Il09WyJNYXggTnVtYmVyIG9mIEdhcHMiXSxlLmV4cG9ydHNbIk1heCBSb2xsYmFja19pbnB1dCJdPVsiTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJNYXggaW50cmFkYXkgZmlsbGVkIG9yZGVyc19pbnB1dCJdPVsiTWF4IGludHJhZGF5IGZpbGxlZCBvcmRlcnMiXSxlLmV4cG9ydHNbIk1heCBpbnRyYWRheSBsb3NzICglKV9pbnB1dCJdPVsiTWF4IGludHJhZGF5IGxvc3MgKCUpIl0sZS5leHBvcnRzWyJNYXggb2YgTG9va2JhY2sgUmFuZ2VfaW5wdXQiXT1bIk1heCBvZiBMb29rYmFjayBSYW5nZSJdLGUuZXhwb3J0c1siTWF4IHZhbHVlX2lucHV0Il09WyJNYXggdmFsdWUiXSxlLmV4cG9ydHNbIk1lZGlhbiBMZW5ndGhfaW5wdXQiXT1bIk1lZGlhbiBMZW5ndGgiXSxlLmV4cG9ydHNbIk1lZGlhbiBTb3VyY2VfaW5wdXQiXT1bIk1lZGlhbiBTb3VyY2UiXSxlLmV4cG9ydHMuTWVkaWFuX2lucHV0PVsiTWVkaWFuIl0sZS5leHBvcnRzLk1ldGhvZF9pbnB1dD1bIk1ldGhvZCJdLGUuZXhwb3J0c1siTWlkZGxlIExlbmd0aF9pbnB1dCJdPVsiTWlkZGxlIExlbmd0aCJdLGUuZXhwb3J0c1siTWlkZGxlIFJDSSBMZW5ndGhfaW5wdXQiXT1bIk1pZGRsZSBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzLk1pZGRsZV9pbnB1dD1bIk1pZGRsZSJdLGUuZXhwb3J0c1siTWluIG9mIExvb2tiYWNrIFJhbmdlX2lucHV0Il09WyJNaW4gb2YgTG9va2JhY2sgUmFuZ2UiXSxlLmV4cG9ydHNbIk1pbmltYWwgRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiTWluaW1hbCBEZXZpYXRpb24gKCUpIl0sZS5leHBvcnRzLk1pbmltaXplX2lucHV0PVsiTWluaW1pemUiXSxlLmV4cG9ydHMuTWludXRlX2lucHV0PVsiTWludXRlIl0sZS5leHBvcnRzWyJNb2RpZmllZCBTY2hpZmZfaW5wdXQiXT1bIk1vZGlmaWVkIFNjaGlmZiJdLGUuZXhwb3J0c1siTW9tZW50dW0gUGVyaW9kX2lucHV0Il09WyJNb21lbnR1bSBQZXJpb2QiXSxlLmV4cG9ydHMuTW9udGhfaW5wdXQ9WyJNb250aCJdLGUuZXhwb3J0cy5Nb250aGx5X2lucHV0PVsiTW9udGhseSJdLGUuZXhwb3J0cy5Nb3RpdmVfaW5wdXQ9WyJNb3RpdmUiXSxlLmV4cG9ydHMuTW92ZV9pbnB1dD1bIk1vdmUiXSxlLmV4cG9ydHNbIk11bHRpIHRpbWVmcmFtZV9pbnB1dCJdPVsiTXVsdGkgdGltZWZyYW1lIl0sZS5leHBvcnRzLk11bHRpcGxpZXJfaW5wdXQ9WyJNdWx0aXBsaWVyIl0sZS5leHBvcnRzLk5WX2lucHV0PVsiTlYiXSxlLmV4cG9ydHNbIk5lY2sgbGluZV9pbnB1dCJdPVsiTmVjayBsaW5lIl0sZS5leHBvcnRzWyJOZWdhdGl2ZSBDb2xvcl9pbnB1dCJdPVsiTmVnYXRpdmUgQ29sb3IiXSxlLmV4cG9ydHMuTm9uZV9pbnB1dD1bIk5vbmUiXSxlLmV4cG9ydHNbIk5vdCBzZWxlY3RlZF9pbnB1dCJdPVsiTm90IHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOb3RoaW5nIHNlbGVjdGVkX2NvbWJvYm94X2lucHV0Il09WyJOb3RoaW5nIHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOdW1iZXIgT2YgUm93c19pbnB1dCJdPVsiTnVtYmVyIE9mIFJvd3MiXSxlLmV4cG9ydHNbIk51bWJlciBvZiBQaXZvdHMgQmFja19pbnB1dCJdPVsiTnVtYmVyIG9mIFBpdm90cyBCYWNrIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgbGluZV9pbnB1dCJdPVsiTnVtYmVyIG9mIGxpbmUiXSxlLmV4cG9ydHMuT1NDX2lucHV0PVsiT1NDIl0sZS5leHBvcnRzLk9mZnNldF9pbnB1dD1bIk9mZnNldCJdLGUuZXhwb3J0cy5PbkJhbGFuY2VWb2x1bWVfaW5wdXQ9WyJPbkJhbGFuY2VWb2x1bWUiXSwKZS5leHBvcnRzWyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nX2lucHV0Il09WyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nIl0sZS5leHBvcnRzWyJPbmx5IEF3YWl0aW5nX2lucHV0Il09WyJPbmx5IEF3YWl0aW5nIl0sZS5leHBvcnRzLk9yaWdpbmFsX2lucHV0PVsiT3JpZ2luYWwiXSxlLmV4cG9ydHNbIk9zY2lsbGF0b3IgTUEgVHlwZV9pbnB1dCJdPVsiT3NjaWxsYXRvciBNQSBUeXBlIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JfaW5wdXQ9WyJPc2NpbGxhdG9yIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JzX2lucHV0PVsiT3NjaWxsYXRvcnMiXSxlLmV4cG9ydHNbIk91dHB1dCB2YWx1ZXNfaW5wdXQiXT1bIk91dHB1dCB2YWx1ZXMiXSxlLmV4cG9ydHMuT3ZlcmJvdWdodF9pbnB1dD1bIk92ZXJib3VnaHQiXSxlLmV4cG9ydHMuT3ZlcnNvbGRfaW5wdXQ9WyJPdmVyc29sZCJdLGUuZXhwb3J0cy5QT0NfaW5wdXQ9WyJQT0MiXSxlLmV4cG9ydHMuUFZUX2lucHV0PVsiUFZUIl0sZS5leHBvcnRzLlBfaW5wdXQ9WyJQIl0sZS5leHBvcnRzWyJQYW5lIGxhYmVsc19pbnB1dCJdPVsiUGFuZSBsYWJlbHMiXSxlLmV4cG9ydHMuUGFyYWJvbGljU0FSX2lucHV0PVsiUGFyYWJvbGljU0FSIl0sZS5leHBvcnRzLlBhdHRlcm5zX2lucHV0PVsiUGF0dGVybnMiXSxlLmV4cG9ydHMuUGVubmFudF9pbnB1dD1bIlBlbm5hbnQiXSxlLmV4cG9ydHMuUGVyY2VudF9pbnB1dD1bIlBlcmNlbnQiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSlfaW5wdXQiXT1bIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSkiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQX2lucHV0Il09WyJQZXJjZW50YWdlIExUUCJdLGUuZXhwb3J0cy5QZXJjZW50YWdlX2lucHV0PVsiUGVyY2VudGFnZSJdLGUuZXhwb3J0cy5QZXJpb2RfaW5wdXQ9WyJQZXJpb2QiXSxlLmV4cG9ydHMuUGVyaW9kc19pbnB1dD1bIlBlcmlvZHMiXSxlLmV4cG9ydHNbIlBlcm1pc3NpYmxlIERldmlhdGlvbl9pbnB1dCJdPVsiUGVybWlzc2libGUgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJQaGFudG9tIGJhcnNfaW5wdXQiXT1bIlBoYW50b20gYmFycyJdLGUuZXhwb3J0c1siUGl2b3QgSGlnaF9pbnB1dCJdPVsiUGl2b3QgSGlnaCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgTGVmdF9pbnB1dCJdPVsiUGl2b3QgTG9va2JhY2sgTGVmdCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgUmlnaHRfaW5wdXQiXT1bIlBpdm90IExvb2tiYWNrIFJpZ2h0Il0sZS5leHBvcnRzWyJQaXZvdCBMb3dfaW5wdXQiXT1bIlBpdm90IExvdyJdLGUuZXhwb3J0c1siUGl2b3QgbGVnc19pbnB1dCJdPVsiUGl2b3QgbGVncyJdLGUuZXhwb3J0c1siUGl2b3RzIFRpbWVmcmFtZV9pbnB1dCJdPVsiUGl2b3RzIFRpbWVmcmFtZSJdLGUuZXhwb3J0cy5QbGFjZW1lbnRfaW5wdXQ9WyJQbGFjZW1lbnQiXSxlLmV4cG9ydHNbIlBsZWFzZSBlbnRlciB0aGUgcmlnaHQgdGltZV90aW1lX2lucHV0Il09WyJQbGVhc2UgZW50ZXIgdGhlIHJpZ2h0IHRpbWUiXSxlLmV4cG9ydHNbIlBsb3QgQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBCZWFyaXNoIl0sZS5leHBvcnRzWyJQbG90IEJ1bGxpc2hfaW5wdXQiXT1bIlBsb3QgQnVsbGlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQmVhcmlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQnVsbGlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQnVsbGlzaCJdLGUuZXhwb3J0cy5QbG90X2lucHV0PVsiUGxvdCJdLGUuZXhwb3J0c1siUGxvdHMgQmFja2dyb3VuZF9pbnB1dCJdPVsiUGxvdHMgQmFja2dyb3VuZCJdLGUuZXhwb3J0cy5Qb2x5bGluZXNfaW5wdXQ9WyJQb2x5bGluZXMiXSxlLmV4cG9ydHNbIlBvc2l0aXZlIENvbG9yX2lucHV0Il09WyJQb3NpdGl2ZSBDb2xvciJdLGUuZXhwb3J0c1siUG9zdC1tYXJrZXQgb25seV9pbnB1dCJdPVsiUG9zdC1tYXJrZXQgb25seSJdLGUuZXhwb3J0c1siUHJlLW1hcmtldCBvbmx5X2lucHV0Il09WyJQcmUtbWFya2V0IG9ubHkiXSxlLmV4cG9ydHNbIlByaWNlIExpbmVfaW5wdXQiXT1bIlByaWNlIExpbmUiXSxlLmV4cG9ydHNbIlByaWNlIFNvdXJjZV9pbnB1dCJdPVsiUHJpY2UgU291cmNlIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRzX2lucHV0Il09WyJQcmljZSBUYXJnZXRzIl0sZS5leHBvcnRzWyJQcmljZSBkZXZpYXRpb24gZm9yIHJldmVyc2FscyAoJSlfaW5wdXQiXT1bIlByaWNlIGRldmlhdGlvbiBmb3IgcmV2ZXJzYWxzICglKSJdLGUuZXhwb3J0c1siUHJpY2Ugc291cmNlX2lucHV0Il09WyJQcmljZSBzb3VyY2UiXSxlLmV4cG9ydHMuUHJpY2VfaW5wdXQ9WyJQcmljZSJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiBkb3duIGJhcnNfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBiYXJzIl0sZS5leHBvcnRzWyJQcm9qZWN0aW9uIGRvd24gY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBjb2xvciJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiB1cCBiYXJzX2lucHV0Il09WyJQcm9qZWN0aW9uIHVwIGJhcnMiXSxlLmV4cG9ydHNbIlByb2plY3Rpb24gdXAgY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gdXAgY29sb3IiXSxlLmV4cG9ydHMuUV9pbnB1dD1bIlEiXSxlLmV4cG9ydHMuUXVhcnRlcl9pbnB1dD1bIlF1YXJ0ZXIiXSxlLmV4cG9ydHMuUXVhcnRlcmx5X2lucHV0PVsiUXVhcnRlcmx5Il0sZS5leHBvcnRzLlF1aW5xdWVubmlhbGx5X2lucHV0PVsiUXVpbnF1ZW5uaWFsbHkiXSxlLmV4cG9ydHNbIlJDSSBMZW5ndGhfaW5wdXQiXT1bIlJDSSBMZW5ndGgiXSxlLmV4cG9ydHMuUk1BX2lucHV0PVsiUk1BIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMxX2lucHV0Il09WyJST0MgTGVuZ3RoICMxIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMyX2lucHV0Il09WyJST0MgTGVuZ3RoICMyIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMzX2lucHV0Il09WyJST0MgTGVuZ3RoICMzIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICM0X2lucHV0Il09WyJST0MgTGVuZ3RoICM0Il0sCmUuZXhwb3J0c1siUk9DIExlbmd0aF9pbnB1dCJdPVsiUk9DIExlbmd0aCJdLGUuZXhwb3J0cy5ST0NMZW4xX2lucHV0PVsiUk9DTGVuMSJdLGUuZXhwb3J0cy5ST0NMZW4yX2lucHV0PVsiUk9DTGVuMiJdLGUuZXhwb3J0cy5ST0NMZW4zX2lucHV0PVsiUk9DTGVuMyJdLGUuZXhwb3J0cy5ST0NMZW40X2lucHV0PVsiUk9DTGVuNCJdLGUuZXhwb3J0cy5ST0NfaW5wdXQ9WyJST0MiXSxlLmV4cG9ydHNbIlJTSSBMZW5ndGhfaW5wdXQiXT1bIlJTSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlJTSSBQZXJpb2RfaW5wdXQiXT1bIlJTSSBQZXJpb2QiXSxlLmV4cG9ydHNbIlJTSSBTZXR0aW5nc19pbnB1dCJdPVsiUlNJIFNldHRpbmdzIl0sZS5leHBvcnRzWyJSU0kgU291cmNlX2lucHV0Il09WyJSU0kgU291cmNlIl0sZS5leHBvcnRzLlJTSV9pbnB1dD1bIlJTSSJdLGUuZXhwb3J0cy5SVkdJX2lucHV0PVsiUlZHSSJdLGUuZXhwb3J0cy5SVklfaW5wdXQ9WyJSVkkiXSxlLmV4cG9ydHMuUmFuZ2VfaW5wdXQ9WyJSYW5nZSJdLGUuZXhwb3J0c1siUmF0ZSBvZiBDaGFuZ2UgTG9va2JhY2tfaW5wdXQiXT1bIlJhdGUgb2YgQ2hhbmdlIExvb2tiYWNrIl0sZS5leHBvcnRzWyJSYXRpbmcgaXMgYmFzZWQgb25faW5wdXQiXT1bIlJhdGluZyBpcyBiYXNlZCBvbiJdLGUuZXhwb3J0cy5SZWN0YW5nbGVfaW5wdXQ9WyJSZWN0YW5nbGUiXSxlLmV4cG9ydHMuUmVndWxhcl9pbnB1dD1bIlJlZ3VsYXIiXSxlLmV4cG9ydHMuUmVzaXN0YW5jZV9pbnB1dD1bIlJlc2lzdGFuY2UiXSxlLmV4cG9ydHNbIlJldmVyc2FsIGFtb3VudF9pbnB1dCJdPVsiUmV2ZXJzYWwgYW1vdW50Il0sZS5leHBvcnRzLlJldmVyc2VfaW5wdXQ9WyJSZXZlcnNlIl0sZS5leHBvcnRzLlJpZ2h0X2lucHV0PVsiUmlnaHQiXSxlLmV4cG9ydHNbIlJpc2luZyBXZWRnZV9pbnB1dCJdPVsiUmlzaW5nIFdlZGdlIl0sZS5leHBvcnRzWyJSb2xsaW5nIFBlcmlvZF9pbnB1dCJdPVsiUm9sbGluZyBQZXJpb2QiXSxlLmV4cG9ydHNbIlJvdyBTaXplX2lucHV0Il09WyJSb3cgU2l6ZSJdLGUuZXhwb3J0c1siUm93cyBMYXlvdXRfaW5wdXQiXT1bIlJvd3MgTGF5b3V0Il0sZS5leHBvcnRzWyJSb3dzIFNpemVfaW5wdXQiXT1bIlJvd3MgU2l6ZSJdLGUuZXhwb3J0c1siU01BICsgQm9sbGluZ2VyIEJhbmRzX2lucHV0Il09WyJTTUEgKyBCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzFfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzEiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzJfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzIiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzNfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzRfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzQiXSxlLmV4cG9ydHMuU01BTGVuMV9pbnB1dD1bIlNNQUxlbjEiXSxlLmV4cG9ydHMuU01BTGVuMl9pbnB1dD1bIlNNQUxlbjIiXSxlLmV4cG9ydHMuU01BTGVuM19pbnB1dD1bIlNNQUxlbjMiXSxlLmV4cG9ydHMuU01BTGVuNF9pbnB1dD1bIlNNQUxlbjQiXSxlLmV4cG9ydHMuU01BX2lucHV0PVsiU01BIl0sZS5leHBvcnRzWyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yX2lucHV0Il09WyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yIl0sZS5leHBvcnRzLlNNSV9pbnB1dD1bIlNNSSJdLGUuZXhwb3J0c1siU01NQSAoUk1BKV9pbnB1dCJdPVsiU01NQSAoUk1BKSJdLGUuZXhwb3J0cy5TY2hpZmZfaW5wdXQ9WyJTY2hpZmYiXSxlLmV4cG9ydHNbIlNlY29uZCBCb3R0b21faW5wdXQiXT1bIlNlY29uZCBCb3R0b20iXSxlLmV4cG9ydHNbIlNlY29uZCBUb3BfaW5wdXQiXT1bIlNlY29uZCBUb3AiXSxlLmV4cG9ydHNbIlNlY29uZCBzZXNzaW9uX2lucHV0Il09WyJTZWNvbmQgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2VuZCBtZXNzYWdlX2lucHV0Il09WyJTZW5kIG1lc3NhZ2UiXSxlLmV4cG9ydHNbIlNlc3Npb24gY29sb3JfaW5wdXQiXT1bIlNlc3Npb24gY29sb3IiXSxlLmV4cG9ydHNbIlNlc3Npb24gdGltZV9pbnB1dCJdPVsiU2Vzc2lvbiB0aW1lIl0sZS5leHBvcnRzWyJTZXNzaW9uIHRpbWV6b25lX2lucHV0Il09WyJTZXNzaW9uIHRpbWV6b25lIl0sZS5leHBvcnRzLlNlc3Npb25faW5wdXQ9WyJTZXNzaW9uIl0sZS5leHBvcnRzLlNlc3Npb25zX2lucHV0PVsiU2Vzc2lvbnMiXSxlLmV4cG9ydHMuU2V0dGluZ3NfaW5wdXQ9WyJTZXR0aW5ncyJdLGUuZXhwb3J0cy5TaGFwZXNfaW5wdXQ9WyJTaGFwZXMiXSxlLmV4cG9ydHNbIlNob3J0IEJCIExlbmd0aF9pbnB1dCJdPVsiU2hvcnQgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IExlbmd0aCJdLGUuZXhwb3J0c1siU2hvcnQgTUEgTGVuZ3RoX2lucHV0Il09WyJTaG9ydCBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJDSSBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJDSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJvQyBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJvQyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IGxlbmd0aF9pbnB1dCJdPVsiU2hvcnQgbGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBwZXJpb2RfaW5wdXQiXT1bIlNob3J0IHBlcmlvZCJdLGUuZXhwb3J0cy5TaG9ydF9pbnB1dD1bIlNob3J0Il0sZS5leHBvcnRzWyJTaG93IEF2ZXJhZ2VzX2lucHV0Il09WyJTaG93IEF2ZXJhZ2VzIl0sZS5leHBvcnRzWyJTaG93IExhYmVsc19pbnB1dCJdPVsiU2hvdyBMYWJlbHMiXSxlLmV4cG9ydHNbIlNob3cgTGV2ZWxzX2lucHV0Il09WyJTaG93IExldmVscyJdLGUuZXhwb3J0c1siU2hvdyBNVEZfaW5wdXQiXT1bIlNob3cgTVRGIl0sZS5leHBvcnRzWyJTaG93IFBlYXJzb24ncyBSX2lucHV0Il09WyJTaG93IFBlYXJzb24ncyBSIl0sZS5leHBvcnRzWyJTaG93IFBlcmNlbnQgUG9zaXRpdmVfaW5wdXQiXT1bIlNob3cgUGVyY2VudCBQb3NpdGl2ZSJdLGUuZXhwb3J0c1siU2hvdyBQaXZvdHNfaW5wdXQiXT1bIlNob3cgUGl2b3RzIl0sZS5leHBvcnRzWyJTaG93IFByaWNlc19pbnB1dCJdPVsiU2hvdyBQcmljZXMiXSwKZS5leHBvcnRzWyJTaG93IFByb2plY3Rpb25zX2lucHV0Il09WyJTaG93IFByb2plY3Rpb25zIl0sZS5leHBvcnRzWyJTaG93IFN0YW5kYXJkIERldmlhdGlvbl9pbnB1dCJdPVsiU2hvdyBTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlNob3cgVG91Y2hlZCBQaXZvdHNfaW5wdXQiXT1bIlNob3cgVG91Y2hlZCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNob3cgYXZlcmFnZSBwcmljZSBwZXIgc2Vzc2lvbl9pbnB1dCJdPVsiU2hvdyBhdmVyYWdlIHByaWNlIHBlciBzZXNzaW9uIl0sZS5leHBvcnRzWyJTaG93IHJlYWwgcHJpY2VzIG9uIHByaWNlIHNjYWxlIChpbnN0ZWFkIG9mIEhlaWtpbi1Bc2hpIHByaWNlKV9pbnB1dCJdPVsiU2hvdyByZWFsIHByaWNlcyBvbiBwcmljZSBzY2FsZSAoaW5zdGVhZCBvZiBIZWlraW4tQXNoaSBwcmljZSkiXSxlLmV4cG9ydHNbIlNob3cgc2Vzc2lvbiBuYW1lc19pbnB1dCJdPVsiU2hvdyBzZXNzaW9uIG5hbWVzIl0sZS5leHBvcnRzWyJTaG93IHNlc3Npb25faW5wdXQiXT1bIlNob3cgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2hvdyB0aWNrIHJhbmdlIGZvciBlYWNoIHNlc3Npb25faW5wdXQiXT1bIlNob3cgdGljayByYW5nZSBmb3IgZWFjaCBzZXNzaW9uIl0sZS5leHBvcnRzLlNpZ0xlbl9pbnB1dD1bIlNpZ0xlbiJdLGUuZXhwb3J0cy5TaWdfaW5wdXQ9WyJTaWciXSxlLmV4cG9ydHMuU2lnbWFfaW5wdXQ9WyJTaWdtYSJdLGUuZXhwb3J0c1siU2lnbmFsIExlbmd0aF9pbnB1dCJdPVsiU2lnbmFsIExlbmd0aCJdLGUuZXhwb3J0c1siU2lnbmFsIExpbmUgTGVuZ3RoX2lucHV0Il09WyJTaWduYWwgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNpZ25hbCBMaW5lIE1BIFR5cGVfaW5wdXQiXT1bIlNpZ25hbCBMaW5lIE1BIFR5cGUiXSxlLmV4cG9ydHNbIlNpZ25hbCBTbW9vdGhpbmdfaW5wdXQiXT1bIlNpZ25hbCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIlNpZ25hbCBsaW5lIHBlcmlvZF9pbnB1dCJdPVsiU2lnbmFsIGxpbmUgcGVyaW9kIl0sZS5leHBvcnRzWyJTaWduYWwgc21vb3RoaW5nX2lucHV0Il09WyJTaWduYWwgc21vb3RoaW5nIl0sZS5leHBvcnRzLlNpZ25hbF9pbnB1dD1bIlNpZ25hbCJdLGUuZXhwb3J0c1siU2ltcGxlIG1hKG9zY2lsbGF0b3IpX2lucHV0Il09WyJTaW1wbGUgbWEob3NjaWxsYXRvcikiXSxlLmV4cG9ydHNbIlNpbXBsZSBtYShzaWduYWwgbGluZSlfaW5wdXQiXT1bIlNpbXBsZSBtYShzaWduYWwgbGluZSkiXSxlLmV4cG9ydHMuU2ltcGxlX2lucHV0PVsiU2ltcGxlIl0sZS5leHBvcnRzWyJTbG93IExlbmd0aF9pbnB1dCJdPVsiU2xvdyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNsb3cgTUEgUGVyaW9kX2lucHV0Il09WyJTbG93IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siU2xvdyBsZW5ndGhfaW5wdXQiXT1bIlNsb3cgbGVuZ3RoIl0sZS5leHBvcnRzLlNsb3dpbmdfaW5wdXQ9WyJTbG93aW5nIl0sZS5leHBvcnRzLlNtYWxsX2lucHV0PVsiU21hbGwiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMZW5ndGhfaW5wdXQiXT1bIlNtb290aGluZyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMaW5lX2lucHV0Il09WyJTbW9vdGhpbmcgTGluZSJdLGUuZXhwb3J0cy5TbW9vdGhpbmdfaW5wdXQ9WyJTbW9vdGhpbmciXSxlLmV4cG9ydHMuU29saWRfaW5wdXQ9WyJTb2xpZCJdLGUuZXhwb3J0cy5Tb3VyY2VfaW5wdXQ9WyJTb3VyY2UiXSxlLmV4cG9ydHMuU3BsaXRzX2lucHV0PVsiU3BsaXRzIl0sZS5leHBvcnRzWyJTdGFuZGFyZCBEZXZpYXRpb25faW5wdXQiXT1bIlN0YW5kYXJkIERldmlhdGlvbiJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3JzX2lucHV0Il09WyJTdGFuZGFyZCBFcnJvcnMiXSxlLmV4cG9ydHMuU3RhcnRfaW5wdXQ9WyJTdGFydCJdLGUuZXhwb3J0c1siU3RhcnRpbmcgeWVhcl9pbnB1dCJdPVsiU3RhcnRpbmcgeWVhciJdLGUuZXhwb3J0cy5TdGREZXZfaW5wdXQ9WyJTdGREZXYiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTGVuZ3RoX2lucHV0Il09WyJTdG9jaGFzdGljIExlbmd0aCJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBMb3dlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBMb3dlciJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBVcHBlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBVcHBlciJdLGUuZXhwb3J0c1siU3RvcCBMZW5ndGggKHEpX2lucHV0Il09WyJTdG9wIExlbmd0aCAocSkiXSxlLmV4cG9ydHNbIlN0b3AgbG9zc19pbnB1dCJdPVsiU3RvcCBsb3NzIl0sZS5leHBvcnRzWyJTdHJhdGVneSBEaXJlY3Rpb25faW5wdXQiXT1bIlN0cmF0ZWd5IERpcmVjdGlvbiJdLGUuZXhwb3J0cy5TdHlsZV9pbnB1dD1bIlN0eWxlIl0sZS5leHBvcnRzLlN1YldhdmVzX2lucHV0PVsiU3ViV2F2ZXMiXSxlLmV4cG9ydHMuU3VwcG9ydF9pbnB1dD1bIlN1cHBvcnQiXSxlLmV4cG9ydHNbIlN5bWJvbCBsaXN0X2lucHV0Il09WyJTeW1ib2wgbGlzdCJdLGUuZXhwb3J0cy5TeW1ib2xfaW5wdXQ9WyJTeW1ib2wiXSxlLmV4cG9ydHMuVEVNQV9pbnB1dD1bIlRFTUEiXSxlLmV4cG9ydHMuVFJJWF9pbnB1dD1bIlRSSVgiXSxlLmV4cG9ydHNbIlRhYmxlIEhlaWdodCAoJSlfaW5wdXQiXT1bIlRhYmxlIEhlaWdodCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIFBvc2l0aW9uX2lucHV0Il09WyJUYWJsZSBQb3NpdGlvbiJdLGUuZXhwb3J0c1siVGFibGUgV2lkdGggKCUpX2lucHV0Il09WyJUYWJsZSBXaWR0aCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIHNldHRpbmdzX2lucHV0Il09WyJUYWJsZSBzZXR0aW5ncyJdLGUuZXhwb3J0cy5UYWJsZXNfaW5wdXQ9WyJUYWJsZXMiXSxlLmV4cG9ydHNbIlRha2UgcHJvZml0X2lucHV0Il09WyJUYWtlIHByb2ZpdCJdLGUuZXhwb3J0c1siVGFyZ2V0IEN1cnJlbmN5X2lucHV0Il09WyJUYXJnZXQgQ3VycmVuY3kiXSxlLmV4cG9ydHMuVGFyZ2V0X2lucHV0PVsiVGFyZ2V0Il0sZS5leHBvcnRzWyJUZWV0aCBMZW5ndGhfaW5wdXQiXT1bIlRlZXRoIExlbmd0aCJdLGUuZXhwb3J0c1siVGVldGggT2Zmc2V0X2lucHV0Il09WyJUZWV0aCBPZmZzZXQiXSxlLmV4cG9ydHMuVGVldGhfaW5wdXQ9WyJUZWV0aCJdLAplLmV4cG9ydHNbIlRleHQgQ29sb3IgLyBMYWJlbCBDb2xvcl9pbnB1dCJdPVsiVGV4dCBDb2xvciAvIExhYmVsIENvbG9yIl0sZS5leHBvcnRzWyJUaGlyZCBzZXNzaW9uX2lucHV0Il09WyJUaGlyZCBzZXNzaW9uIl0sZS5leHBvcnRzWyJUaWNrcyBQZXIgUm93X2lucHV0Il09WyJUaWNrcyBQZXIgUm93Il0sZS5leHBvcnRzWyJUaW1lZnJhbWUgbGlzdF9pbnB1dCJdPVsiVGltZWZyYW1lIGxpc3QiXSxlLmV4cG9ydHMuVGltZWZyYW1lX2lucHV0PVsiVGltZWZyYW1lIl0sZS5leHBvcnRzLlRvX2lucHV0PVsiVG8iXSxlLmV4cG9ydHMuVG9wc19pbnB1dD1bIlRvcHMiXSxlLmV4cG9ydHMuVG90YWxfaW5wdXQ9WyJUb3RhbCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAxIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAyIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAyIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAzIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA0IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA1IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA1IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA2IGxlbmd0aCJdLGUuZXhwb3J0cy5UcmFkaXRpb25hbF9pbnB1dD1bIlRyYWRpdGlvbmFsIl0sZS5leHBvcnRzWyJUcmVuZCBIZWlnaHRfaW5wdXQiXT1bIlRyZW5kIEhlaWdodCJdLGUuZXhwb3J0cy5UcmlhbmdsZV9pbnB1dD1bIlRyaWFuZ2xlIl0sZS5leHBvcnRzLlRyaWdnZXJfaW5wdXQ9WyJUcmlnZ2VyIl0sZS5leHBvcnRzWyJUcmlwbGUgQm90dG9tX2lucHV0Il09WyJUcmlwbGUgQm90dG9tIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wX2lucHV0Il09WyJUcmlwbGUgVG9wIl0sZS5leHBvcnRzLlRyaXllYXJseV9pbnB1dD1bIlRyaXllYXJseSJdLGUuZXhwb3J0c1siVHJ1ZSBSYW5nZV9pbnB1dCJdPVsiVHJ1ZSBSYW5nZSJdLGUuZXhwb3J0cy5UeXBlX2lucHV0PVsiVHlwZSJdLGUuZXhwb3J0cy5VT19pbnB1dD1bIlVPIl0sZS5leHBvcnRzWyJVcCBHYXBzX2lucHV0Il09WyJVcCBHYXBzIl0sZS5leHBvcnRzWyJVcCBWb2x1bWVfaW5wdXQiXT1bIlVwIFZvbHVtZSJdLGUuZXhwb3J0c1siVXAgYmFyc19pbnB1dCJdPVsiVXAgYmFycyJdLGUuZXhwb3J0c1siVXAgY29sb3JfaW5wdXQiXT1bIlVwIGNvbG9yIl0sZS5leHBvcnRzWyJVcCBmcmFjdGFsc19pbnB1dCJdPVsiVXAgZnJhY3RhbHMiXSxlLmV4cG9ydHNbIlVwL0Rvd25faW5wdXQiXT1bIlVwL0Rvd24iXSxlLmV4cG9ydHNbIlVwRG93biBMZW5ndGhfaW5wdXQiXT1bIlVwRG93biBMZW5ndGgiXSxlLmV4cG9ydHNbIlVwcGVyIEJhbmRfaW5wdXQiXT1bIlVwcGVyIEJhbmQiXSxlLmV4cG9ydHNbIlVwcGVyIERldmlhdGlvbl9pbnB1dCJdPVsiVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVcHBlciBQZXJjZW50YWdlX2lucHV0Il09WyJVcHBlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLlVwcGVyTGltaXRfaW5wdXQ9WyJVcHBlckxpbWl0Il0sZS5leHBvcnRzLlVwcGVyX2lucHV0PVsiVXBwZXIiXSxlLmV4cG9ydHNbIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXNfaW5wdXQiXT1bIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXMiXSxlLmV4cG9ydHNbIlVzZSBFeHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIEV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJVc2UgTG93ZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgVXBwZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgY3VzdG9tIHRpbWVmcmFtZV9pbnB1dCJdPVsiVXNlIGN1c3RvbSB0aW1lZnJhbWUiXSxlLmV4cG9ydHNbIlVzZSBleHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIGV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJWSSArX2lucHV0Il09WyJWSSArIl0sZS5leHBvcnRzWyJWSSAtX2lucHV0Il09WyJWSSAtIl0sZS5leHBvcnRzWyJWV0FQIFNldHRpbmdzX2lucHV0Il09WyJWV0FQIFNldHRpbmdzIl0sZS5leHBvcnRzLlZXQVBfaW5wdXQ9WyJWV0FQIl0sZS5leHBvcnRzLlZXTUFfaW5wdXQ9WyJWV01BIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhIERvd25faW5wdXQiXT1bIlZhbHVlIEFyZWEgRG93biJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSBQZXJjZW50X2lucHV0Il09WyJWYWx1ZSBBcmVhIFBlcmNlbnQiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVXBfaW5wdXQiXT1bIlZhbHVlIEFyZWEgVXAiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVm9sdW1lX2lucHV0Il09WyJWYWx1ZSBBcmVhIFZvbHVtZSJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSB2b2x1bWVfaW5wdXQiXT1bIlZhbHVlIEFyZWEgdm9sdW1lIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhX2lucHV0Il09WyJWYWx1ZSBBcmVhIl0sZS5leHBvcnRzLlZhbHVlX2lucHV0PVsiVmFsdWUiXSxlLmV4cG9ydHNbIlZhbHVlcyBpbiBzdGF0dXMgbGluZV9pbnB1dCJdPVsiVmFsdWVzIGluIHN0YXR1cyBsaW5lIl0sZS5leHBvcnRzLlZhbHVlc19pbnB1dD1bIlZhbHVlcyJdLGUuZXhwb3J0cy5WaXNpYmlsaXR5X2lucHV0PVsiVmlzaWJpbGl0eSJdLGUuZXhwb3J0cy5Wb2x1bWVfaW5wdXQ9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIldNQSBMZW5ndGhfaW5wdXQiXT1bIldNQSBMZW5ndGgiXSxlLmV4cG9ydHMuV01BX2lucHV0PVsiV01BIl0sZS5leHBvcnRzWyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzX2lucHV0Il09WyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzIl0sZS5leHBvcnRzWyJXYW5pbmcgTW9vbl9pbnB1dCJdPVsiV2FuaW5nIE1vb24iXSxlLmV4cG9ydHNbIldheGluZyBNb29uX2lucHV0Il09WyJXYXhpbmcgTW9vbiJdLGUuZXhwb3J0cy5XZWRnZV9pbnB1dD1bIldlZGdlIl0sZS5leHBvcnRzLldlZWtfaW5wdXQ9WyJXZWVrIl0sCmUuZXhwb3J0cy5XZWVrbHlfaW5wdXQ9WyJXZWVrbHkiXSxlLmV4cG9ydHMuV2VpZ2h0ZWRfaW5wdXQ9WyJXZWlnaHRlZCJdLGUuZXhwb3J0cy5XaWNrX2lucHV0PVsiV2ljayJdLGUuZXhwb3J0cy5XaWNrc19pbnB1dD1bIldpY2tzIl0sZS5leHBvcnRzWyJXaWxkZXIncyBTbW9vdGhpbmdfaW5wdXQiXT1bIldpbGRlcidzIFNtb290aGluZyJdLGUuZXhwb3J0c1siV2luZG93IFNpemVfaW5wdXQiXT1bIldpbmRvdyBTaXplIl0sZS5leHBvcnRzLldvb2RpZV9pbnB1dD1bIldvb2RpZSJdLGUuZXhwb3J0cy5YX2lucHV0PVsiWCJdLGUuZXhwb3J0cy5ZWV95ZWFyX2lucHV0PVsiWVkiXSxlLmV4cG9ydHMuWWVhcl9pbnB1dD1bIlllYXIiXSxlLmV4cG9ydHMuWWVhcmx5X2lucHV0PVsiWWVhcmx5Il0sZS5leHBvcnRzWyJaZXJvIExpbmVfaW5wdXQiXT1bIlplcm8gTGluZSJdLGUuZXhwb3J0cy5aZXJvX2lucHV0PVsiWmVybyJdLGUuZXhwb3J0cy5mYXN0TGVuZ3RoX2lucHV0PVsiZmFzdExlbmd0aCJdLGUuZXhwb3J0cy5mcm9tX2lucHV0PVsiZnJvbSJdLGUuZXhwb3J0cy5pbmNyZW1lbnRfaW5wdXQ9WyJpbmNyZW1lbnQiXSxlLmV4cG9ydHMuaXNDZW50ZXJlZF9pbnB1dD1bImlzQ2VudGVyZWQiXSxlLmV4cG9ydHMubGFiZWxzX2lucHV0PVsibGFiZWxzIl0sZS5leHBvcnRzLmxlbl9pbnB1dD1bImxlbiJdLGUuZXhwb3J0cy5sZW5ndGgxNF9pbnB1dD1bImxlbmd0aDE0Il0sZS5leHBvcnRzLmxlbmd0aDI4X2lucHV0PVsibGVuZ3RoMjgiXSxlLmV4cG9ydHMubGVuZ3RoN19pbnB1dD1bImxlbmd0aDciXSxlLmV4cG9ydHMubGVuZ3RoUlNJX2lucHV0PVsibGVuZ3RoUlNJIl0sZS5leHBvcnRzLmxlbmd0aFN0b2NoX2lucHV0PVsibGVuZ3RoU3RvY2giXSxlLmV4cG9ydHMubGVuZ3RoX2lucHV0PVsibGVuZ3RoIl0sZS5leHBvcnRzLmxldmVsc19pbnB1dD1bImxldmVscyJdLGUuZXhwb3J0cy5sb25nX2lucHV0PVsibG9uZyJdLGUuZXhwb3J0cy5sb25nbGVuX2lucHV0PVsibG9uZ2xlbiJdLGUuZXhwb3J0cy5tYXhpbXVtX2lucHV0PVsibWF4aW11bSJdLGUuZXhwb3J0cy5tdWx0X2lucHV0PVsibXVsdCJdLGUuZXhwb3J0cy5wX2lucHV0PVsicCJdLGUuZXhwb3J0cy5xX2lucHV0PVsicSJdLGUuZXhwb3J0cy5yZXNvbHV0aW9uX2lucHV0PVsicmVzb2x1dGlvbiJdLGUuZXhwb3J0cy5yb2NsZW4xX2lucHV0PVsicm9jbGVuMSJdLGUuZXhwb3J0cy5yb2NsZW4yX2lucHV0PVsicm9jbGVuMiJdLGUuZXhwb3J0cy5yb2NsZW4zX2lucHV0PVsicm9jbGVuMyJdLGUuZXhwb3J0cy5yb2NsZW40X2lucHV0PVsicm9jbGVuNCJdLGUuZXhwb3J0cy5zaG9ydF9pbnB1dD1bInNob3J0Il0sZS5leHBvcnRzLnNob3J0bGVuX2lucHV0PVsic2hvcnRsZW4iXSxlLmV4cG9ydHNbInNob3cgTUFfaW5wdXQiXT1bInNob3cgTUEiXSxlLmV4cG9ydHMuc2lnbGVuX2lucHV0PVsic2lnbGVuIl0sZS5leHBvcnRzLnNpZ25hbExlbmd0aF9pbnB1dD1bInNpZ25hbExlbmd0aCJdLGUuZXhwb3J0cy5zbG93TGVuZ3RoX2lucHV0PVsic2xvd0xlbmd0aCJdLGUuZXhwb3J0cy5zbWFsZW4xX2lucHV0PVsic21hbGVuMSJdLGUuZXhwb3J0cy5zbWFsZW4yX2lucHV0PVsic21hbGVuMiJdLGUuZXhwb3J0cy5zbWFsZW4zX2lucHV0PVsic21hbGVuMyJdLGUuZXhwb3J0cy5zbWFsZW40X2lucHV0PVsic21hbGVuNCJdLGUuZXhwb3J0cy5zbW9vdGhEX2lucHV0PVsic21vb3RoRCJdLGUuZXhwb3J0cy5zbW9vdGhLX2lucHV0PVsic21vb3RoSyJdLGUuZXhwb3J0cy5zdGFydF9pbnB1dD1bInN0YXJ0Il0sZS5leHBvcnRzLnN5bV9pbnB1dD1bInN5bSJdLGUuZXhwb3J0cy50b19pbnB1dD1bInRvIl0sZS5leHBvcnRzLnVzZVRydWVSYW5nZV9pbnB1dD1bInVzZVRydWVSYW5nZSJdLGUuZXhwb3J0cy54X2lucHV0PVsieCJdLGUuZXhwb3J0c1sieWF5IENvbG9yIDBfaW5wdXQiXT1bInlheSBDb2xvciAwIl0sZS5leHBvcnRzWyJ5YXkgQ29sb3IgMV9pbnB1dCJdPVsieWF5IENvbG9yIDEiXSxlLmV4cG9ydHNbIntudW1iZXJ9IGl0ZW1fY29tYm9ib3hfaW5wdXQiXT1bIntudW1iZXJ9IGl0ZW0iLCJ7bnVtYmVyfSBpdGVtcyJdfSwzMTIyOTcoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sODcwOTE1KGUpe2UuZXhwb3J0cz1bIkFUUih7YXRyVmFsdWV9KSJdfSw5OTUyMzUoZSl7ZS5leHBvcnRzPVsiUGVyY2VudGFnZSBMVFAoe3BlcmNlbnRhZ2VMVFBWYWx1ZX0lKSJdfSw0MTE5NzQoZSl7ZS5leHBvcnRzPVsiVHJhZGl0aW9uYWwiXX0sNzE4NTIzKGUpe2UuZXhwb3J0cz1bIkFCQ0QgcGF0dGVybiJdfSwxODc1MzIoZSl7ZS5leHBvcnRzPVsiR2FubiBib3giXX0sOTIzODQwKGUpe2UuZXhwb3J0cz1bIkdhbm4gZmFuIl19LDQxNTAwOShlKXtlLmV4cG9ydHM9WyJHYW5uIHNxdWFyZSJdfSw3NTk4ODcoZSl7ZS5leHBvcnRzPVsiR2FubiBzcXVhcmUgZml4ZWQiXX0sODUzMDE2KGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpYW5nbGUgd2F2ZSAoQcK3QsK3Q8K3RMK3RSkiXX0sOTc1ODUyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpcGxlIGNvbWJvIHdhdmUgKFfCt1jCt1nCt1jCt1opIl19LDI4MjA1OShlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGNvcnJlY3Rpb24gd2F2ZSAoQcK3QsK3QykiXX0sNDY1ODIyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgZG91YmxlIGNvbWJvIHdhdmUgKFfCt1jCt1kpIl19LDYwMjgxMChlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGltcHVsc2Ugd2F2ZSAoMcK3MsK3M8K3NMK3NSkiXX0sODMyMjU4KGUpe2UuZXhwb3J0cz1bIkZpYiBjaGFubmVsIl19LDY2NDM2MShlKXtlLmV4cG9ydHM9WyJGaWIgY2lyY2xlcyJdfSw4Njg0NTkoZSl7ZS5leHBvcnRzPVsiRmliIHJldHJhY2VtZW50Il19LDEyMTUxMShlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBhcmNzIl19LDE5MDUyNihlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBmYW4iXX0sOTkzNjAxKGUpe2UuZXhwb3J0cz1bIkZpYiBzcGlyYWwiXX0sMzAyMTY2KGUpe2UuZXhwb3J0cz1bIkZpYiB0aW1lIHpvbmUiXX0sNjcyODMxKGUpe2UuZXhwb3J0cz1bIkZpYiB3ZWRnZSJdfSwKOTYxMChlKXtlLmV4cG9ydHM9WyJTY2hpZmYgcGl0Y2hmb3JrIl19LDY2MTg5NihlKXtlLmV4cG9ydHM9WyJYQUJDRCBwYXR0ZXJuIl19LDQ4MzcxMChlKXtlLmV4cG9ydHM9WyJjb21tZW50Il19LDMyNDQ2MShlKXtlLmV4cG9ydHM9WyJjYWxsb3V0Il19LDk3Mjg0MihlKXtlLmV4cG9ydHM9WyJjaXJjbGUiXX0sNDc4MTIzKGUpe2UuZXhwb3J0cz1bImNyb3NzbGluZSJdfSwxNjY2MTAoZSl7ZS5leHBvcnRzPVsiY3VydmUiXX0sOTIyOTIxKGUpe2UuZXhwb3J0cz1bImN5Y2xpYyBsaW5lcyJdfSwzMjc2MTIoZSl7ZS5leHBvcnRzPVsiY3lwaGVyIHBhdHRlcm4iXX0sOTk1MTg3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIFZXQVAiXX0sOTkyOTM0KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIG5vdGUiXX0sNjg4NDM3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIHRleHQiXX0sOTc1NjUyKGUpe2UuZXhwb3J0cz1bImFyYyJdfSwxNTA2ODEoZSl7ZS5leHBvcnRzPVsiYXJyb3ciXX0sMTMzMzA0KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmtlciJdfSw2MTcxOTkoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayB1cCJdfSw5NjQ2NzMoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayBkb3duIl19LDY4Mjk2MihlKXtlLmV4cG9ydHM9WyJhcnJvdyBtYXJrIGxlZnQiXX0sMTAwNjA5KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmsgcmlnaHQiXX0sNzQxOTI5KGUpe2UuZXhwb3J0cz1bImJhbGxvb24iXX0sMjcxNzUxKGUpe2UuZXhwb3J0cz1bImJhcnMgcGF0dGVybiJdfSw3NDY3MzcoZSl7ZS5leHBvcnRzPVsiYnJ1c2giXX0sODUxNDkzKGUpe2UuZXhwb3J0cz1bImdob3N0IGZlZWQiXX0sMzU3ODIwKGUpe2UuZXhwb3J0cz1bImRvdWJsZSBjdXJ2ZSJdfSw0MzU0NDYoZSl7ZS5leHBvcnRzPVsiZGF0ZSBhbmQgcHJpY2UgcmFuZ2UiXX0sNTI1MTI0KGUpe2UuZXhwb3J0cz1bImRhdGUgcmFuZ2UiXX0sMzQ2NzI3KGUpe2UuZXhwb3J0cz1bImRpc2pvaW50IGNoYW5uZWwiXX0sODk1NjQ4KGUpe2UuZXhwb3J0cz1bImVtb2ppIl19LDkzMDMzKGUpe2UuZXhwb3J0cz1bImVsbGlwc2UiXX0sNzY5MzM0KGUpe2UuZXhwb3J0cz1bImV4dGVuZGVkIGxpbmUiXX0sNjczMjc4KGUpe2UuZXhwb3J0cz1bImZsYWcgbWFyayJdfSw5NTg0MTYoZSl7ZS5leHBvcnRzPVsiZmxhdCB0b3AvYm90dG9tIl19LDc2NTIxKGUpe2UuZXhwb3J0cz1bImhvcml6b250YWwgbGluZSJdfSw0Mjk2MDYoZSl7ZS5leHBvcnRzPVsiaG9yaXpvbnRhbCByYXkiXX0sOTcxMTQoZSl7ZS5leHBvcnRzPVsiaGVhZCBhbmQgc2hvdWxkZXJzIl19LDk4MDA2MChlKXtlLmV4cG9ydHM9WyJoaWdobGlnaHRlciJdfSwzOTI0OTMoZSl7ZS5leHBvcnRzPVsiaW1hZ2UiXX0sNjU2MzQwKGUpe2UuZXhwb3J0cz1bImluZm8gbGluZSJdfSw0MTY5MChlKXtlLmV4cG9ydHM9WyJpbnNpZGUgcGl0Y2hmb3JrIl19LDY2NDE5NChlKXtlLmV4cG9ydHM9WyJpY29uIl19LDk0NjA0NyhlKXtlLmV4cG9ydHM9WyJpZGVhIl19LDU3NTAyMShlKXtlLmV4cG9ydHM9WyJsb25nIHBvc2l0aW9uIl19LDk5NjAwKGUpe2UuZXhwb3J0cz1bIm1vZGlmaWVkIFNjaGlmZiBwaXRjaGZvcmsiXX0sMjEzMjM2KGUpe2UuZXhwb3J0cz1bIm5vdGUiXX0sMTY3OTk3KGUpe2UuZXhwb3J0cz1bInNlY3RvciJdfSw0MjQxODEoZSl7ZS5leHBvcnRzPVsic2hvcnQgcG9zaXRpb24iXX0sOTk3OTI5KGUpe2UuZXhwb3J0cz1bInNpZ25wb3N0Il19LDYyMjU0KGUpe2UuZXhwb3J0cz1bInNpbmUgbGluZSJdfSwzNDI4OTIoZSl7ZS5leHBvcnRzPVsic3RpY2tlciJdfSw5MTUyODcoZSl7ZS5leHBvcnRzPVsicG9seWxpbmUiXX0sNDYzMTg3KGUpe2UuZXhwb3J0cz1bInBvc2l0aW9uIGZvcmVjYXN0Il19LDc2NjA5KGUpe2UuZXhwb3J0cz1bInBvc3QiXX0sODY2NjkoZSl7ZS5leHBvcnRzPVsicGF0aCJdfSwyOTM0ODAoZSl7ZS5leHBvcnRzPVsicGFyYWxsZWwgY2hhbm5lbCJdfSw5MjA1MzkoZSl7ZS5leHBvcnRzPVsicGl0Y2hmYW4iXX0sOTMwNzQ0KGUpe2UuZXhwb3J0cz1bInBpdGNoZm9yayJdfSw3MjM1NDQoZSl7ZS5leHBvcnRzPVsicGluIl19LDU0Njc0MShlKXtlLmV4cG9ydHM9WyJwcmljZSBsYWJlbCJdfSwzMzI5OTgoZSl7ZS5leHBvcnRzPVsicHJpY2Ugbm90ZSJdfSw3MDY1OTkoZSl7ZS5leHBvcnRzPVsicHJpY2UgcmFuZ2UiXX0sNTY5ODgxKGUpe2UuZXhwb3J0cz1bInJvdGF0ZWQgcmVjdGFuZ2xlIl19LDEwMDg5NihlKXtlLmV4cG9ydHM9WyJyYXkiXX0sNjE2NzM1KGUpe2UuZXhwb3J0cz1bInJlY3RhbmdsZSJdfSwyNDI4NjcoZSl7ZS5leHBvcnRzPVsicmVncmVzc2lvbiB0cmVuZCJdfSw5OTQ5MTEoZSl7ZS5leHBvcnRzPVsidGFibGUiXX0sNTgyMzM5KGUpe2UuZXhwb3J0cz1bInRleHQiXX0sNTk2ODYoZSl7ZS5leHBvcnRzPVsidGhyZWUgZHJpdmVzIHBhdHRlcm4iXX0sMjU0MTIzKGUpe2UuZXhwb3J0cz1bInRpbWUgY3ljbGVzIl19LDY1NTQ0NyhlKXtlLmV4cG9ydHM9WyJ0cmVuZCBhbmdsZSJdfSw2NDc4MjYoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIGV4dGVuc2lvbiJdfSw3NDg2MzMoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIHRpbWUiXX0sMjU3MjI4KGUpe2UuZXhwb3J0cz1bInRyZW5kbGluZSJdfSw0MDkyMzAoZSl7ZS5leHBvcnRzPVsidHJpYW5nbGUiXX0sODEwNDQ4KGUpe2UuZXhwb3J0cz1bInRyaWFuZ2xlIHBhdHRlcm4iXX0sMzI4NTMoZSl7ZS5leHBvcnRzPVsidm9sdW1lIHByb2ZpbGUgZml4ZWQgcmFuZ2UiXX0sNTI5NjQ1KGUpe2UuZXhwb3J0cz1bInZlcnRpY2FsIGxpbmUiXX0sMTU5NzEyKGUpe2UuZXhwb3J0cz1bIiN7Y291bnR9IChwcmljZSwgYmFyKSJdfSw1NTIxNShlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSw2ODUxMDQoZSl7ZS5leHBvcnRzPVsiSG9saWRheSJdfSw2Mzg0MDUoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sODk3NTkxKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sMjc0NDE1KGUpe2UuZXhwb3J0cz1bIkxvYWRpbmciXX0sNzAyNzg4KGUpewplLmV4cG9ydHM9WyJNYXJrZXQgb3BlbiJdfSw5MTQ1NzIoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGNsb3NlZCJdfSw4Njc0NTUoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQiXX0sOTE4ODQyKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sNjk2ODc5KGUpe2UuZXhwb3J0cz1bIkhvbGlkYXkiXX0sODIwMjE5KGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCJdfSw1NDUyMjQoZSl7ZS5leHBvcnRzPVsiT3Zlcm5pZ2h0IHZpYSBCT0FUUyJdfSw0OTM2MzcoZSl7ZS5leHBvcnRzPVsiTWFya2V0IG9wZW4iXX0sODQyMjAzKGUpe2UuZXhwb3J0cz1bIk1hcmtldCBjbG9zZWQiXX0sNjE5MjMzKGUpe2UuZXhwb3J0cz1bIlBvc3QiXX0sNTUxMzgyKGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0Il19LDk2NjQxMihlKXtlLmV4cG9ydHM9WyJQcmUiXX0sNjM4NzE3KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sODQ2NzkoZSl7ZS5leHBvcnRzPVsiQ3VycmVuY2llcyJdfSw2NDI4NDMoZSl7ZS5leHBvcnRzPVsiQXV0byAoZml0cyBkYXRhIHRvIHNjcmVlbikiXX0sNDcxOTgwKGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxOTcxMDUoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sODg2MDEzKGUpe2UuZXhwb3J0cz1bIkxvZ2FyaXRobWljIl19LDkxMTcxMShlKXtlLmV4cG9ydHM9WyJMYWJlbHMiXX0sOTE2Mjc3KGUpe2UuZXhwb3J0cz1bIk1ldHJpY3MiXX0sMjc4NzUxKGUpe2UuZXhwb3J0cz1bIk1lcmdlIGFsbCBzY2FsZXMgaW50byBvbmUiXX0sODQ3ODM0KGUpe2UuZXhwb3J0cz1bIk5vIG92ZXJsYXBwaW5nIGxhYmVscyJdfSw2NDAwOTYoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSw3NDkxNzkoZSl7ZS5leHBvcnRzPVsiUmVndWxhciJdfSwzNDI5MTUoZSl7ZS5leHBvcnRzPVsiUmVzZXQgcHJpY2Ugc2NhbGUiXX0sMjEzMDc1KGUpe2UuZXhwb3J0cz1bIlVuaXRzIl19LDQ5NjcwMyhlKXtlLmV4cG9ydHM9WyIyNCBob3VycyJdfSw4NzQyMDAoZSl7ZS5leHBvcnRzPVsiMjRIIl19LDY4OTk2NShlKXtlLmV4cG9ydHM9WyJFVEgiXX0sNDI3OTg1KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgdHJhZGluZyBob3VycyJdfSwxOTgyODkoZSl7ZS5leHBvcnRzPVsiRXh0ZW5kZWQiXX0sNDIyMjUyKGUpe2UuZXhwb3J0cz1bIkV4dGVuZGVkIHRyYWRpbmcgaG91cnMiXX0sMjc5Mzc5KGUpe2UuZXhwb3J0cz1bIk5pZ2h0Il19LDkwMDUxNihlKXtlLmV4cG9ydHM9WyJQT1NUIl19LDg2NzU1NShlKXtlLmV4cG9ydHM9WyJQUkUiXX0sNjcxMjk0KGUpe2UuZXhwb3J0cz1bIlBvc3RtYXJrZXQiXX0sNTcyMDE0KGUpe2UuZXhwb3J0cz1bIlByZW1hcmtldCJdfSw5MjU1MjYoZSl7ZS5leHBvcnRzPVsiUlRIIl19LDQzOTg4MShlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIl19LDg0NTA2NyhlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIHRyYWRpbmcgaG91cnMiXX0sNzM0NzUwKGUpe2UuZXhwb3J0cz1bIk1heSJdfSw5NjA5NjgoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIGRldGFpbHMiXX0sOTg2NDY4KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBpbmZvIl19LDg4NDY5MyhlKXtlLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxlLmV4cG9ydHNbIkF2ZXJhZ2UgZGFpbHkgcmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgZGFpbHkgcmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgdHJ1ZSByYW5nZV9zdHVkeSJdPVsiQXZlcmFnZSB0cnVlIHJhbmdlIl0sZS5leHBvcnRzWyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZV9zdHVkeSJdPVsiYW5jaG9yZWQgdm9sdW1lIHByb2ZpbGUiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJCb29rIHZhbHVlIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkJ1bGwgYmVhciBwb3dlcl9zdHVkeSJdPVsiQnVsbCBiZWFyIHBvd2VyIl0sZS5leHBvcnRzWyJEaXJlY3Rpb25hbCBtb3ZlbWVudCBpbmRleF9zdHVkeSJdPVsiRGlyZWN0aW9uYWwgbW92ZW1lbnQgaW5kZXgiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkRpdmlkZW5kcyBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyBlc3RpbWF0ZV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBmaW5hbmNpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gaW52ZXN0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpIl0sCmUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXMgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIGVzdGltYXRlX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRUJJVCBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlX3N0dWR5Il09WyJFQklUIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFQklUREEgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IGVzdGltYXRlX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGVfc3R1ZHkiXT1bImZpeGVkIHJhbmdlIHZvbHVtZSBwcm9maWxlIl0sZS5leHBvcnRzWyJHb29kd2lsbCAobmV0KV9zdHVkeSJdPVsiR29vZHdpbGwgKG5ldCkiXSxlLmV4cG9ydHNbIkljaGltb2t1IGNsb3VkX3N0dWR5Il09WyJJY2hpbW9rdSBjbG91ZCJdLGUuZXhwb3J0c1siTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZV9zdHVkeSJdPVsiTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZV9zdHVkeSJdPVsiTmV0IGluY29tZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siT3AgaW5jb21lX3N0dWR5Il09WyJPcCBpbmNvbWUiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcyAodG90YWwpX3N0dWR5Il09WyJTZWxsaW5nL2dlbmVyYWwvYWRtaW4gZXhwZW5zZXMgKHRvdGFsKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnQgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgZGVidCBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVm9sdW1lLXdlaWdodGVkIGF2ZXJhZ2UgcHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBhdmVyYWdlIHByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUtd2VpZ2h0ZWQgbW92aW5nIGF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBtb3ZpbmcgYXZlcmFnZSJdLGUuZXhwb3J0c1siV2lsbGlhbXMgcGVyY2VudCByYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgcGVyY2VudCByYW5nZSJdLGUuZXhwb3J0cy5UZWNobmljYWxzX3N0dWR5PVsiVGVjaG5pY2FscyJdLGUuZXhwb3J0c1siKkFsbCBDYW5kbGVzdGljayBQYXR0ZXJucypfc3R1ZHkiXT1bIipBbGwgQ2FuZGxlc3RpY2sgUGF0dGVybnMqIl0sZS5leHBvcnRzWyIyNC1ob3VyIFZvbHVtZV9zdHVkeSJdPVsiMjQtaG91ciBWb2x1bWUiXSwKZS5leHBvcnRzWyI1MiBXZWVrIEhpZ2gvTG93X3N0dWR5Il09WyI1MiBXZWVrIEhpZ2gvTG93Il0sZS5leHBvcnRzLkFTSV9zdHVkeT1bIkFTSSJdLGUuZXhwb3J0c1siQWJhbmRvbmVkIEJhYnkgLSBCZWFyaXNoX3N0dWR5Il09WyJBYmFuZG9uZWQgQmFieSAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkFiYW5kb25lZCBCYWJ5IC0gQnVsbGlzaF9zdHVkeSJdPVsiQWJhbmRvbmVkIEJhYnkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yX3N0dWR5Il09WyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJBY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJBY2NvdW50cyBwYXlhYmxlIl0sZS5leHBvcnRzWyJBY2NvdW50cyByZWNlaXZhYmxlIC0gdHJhZGUsIG5ldF9zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZSAtIHRyYWRlLCBuZXQiXSxlLmV4cG9ydHNbIkFjY291bnRzIHJlY2VpdmFibGVzLCBncm9zc19zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZXMsIGdyb3NzIl0sZS5leHBvcnRzLkFjY3J1YWxzX3N0dWR5PVsiQWNjcnVhbHMiXSxlLmV4cG9ydHNbIkFjY3J1ZWQgcGF5cm9sbF9zdHVkeSJdPVsiQWNjcnVlZCBwYXlyb2xsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsX3N0dWR5Il09WyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX3N0dWR5Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpdmUgU3dpbmcgSW5kZXhfc3R1ZHkiXT1bIkFjY3VtdWxhdGl2ZSBTd2luZyBJbmRleCJdLGUuZXhwb3J0c1siQWRkaXRpb25hbCBwYWlkLWluIGNhcGl0YWwvQ2FwaXRhbCBzdXJwbHVzX3N0dWR5Il09WyJBZGRpdGlvbmFsIHBhaWQtaW4gY2FwaXRhbC9DYXBpdGFsIHN1cnBsdXMiXSxlLmV4cG9ydHNbIkFkdmFuY2UgRGVjbGluZSBMaW5lX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgTGluZSJdLGUuZXhwb3J0c1siQWR2YW5jZSBEZWNsaW5lIFJhdGlvX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgUmF0aW8iXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycylfc3R1ZHkiXT1bIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycykiXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZV9zdHVkeSJdPVsiQWR2YW5jZS9EZWNsaW5lIl0sZS5leHBvcnRzWyJBZnRlciB0YXggb3RoZXIgaW5jb21lL2V4cGVuc2Vfc3R1ZHkiXT1bIkFmdGVyIHRheCBvdGhlciBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siQWxsIENoYXJ0IFBhdHRlcm5zX3N0dWR5Il09WyJBbGwgQ2hhcnQgUGF0dGVybnMiXSxlLmV4cG9ydHNbIkFsdG1hbiBaLXNjb3JlX3N0dWR5Il09WyJBbHRtYW4gWi1zY29yZSJdLGUuZXhwb3J0c1siQW1vcnRpemF0aW9uIG9mIGRlZmVycmVkIGNoYXJnZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBkZWZlcnJlZCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJBbW9ydGl6YXRpb24gb2YgaW50YW5naWJsZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBpbnRhbmdpYmxlcyJdLGUuZXhwb3J0cy5BbW9ydGl6YXRpb25fc3R1ZHk9WyJBbW9ydGl6YXRpb24iXSxlLmV4cG9ydHNbIkFuY2hvcmVkIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJBbmNob3JlZCBWb2x1bWUgUHJvZmlsZSJdLGUuZXhwb3J0c1siQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Bcm9vbl9zdHVkeT1bIkFyb29uIl0sZS5leHBvcnRzWyJBc3NldCB0dXJub3Zlcl9zdHVkeSJdPVsiQXNzZXQgdHVybm92ZXIiXSxlLmV4cG9ydHNbIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIkF1dG8gRmliIEV4dGVuc2lvbl9zdHVkeSJdPVsiQXV0byBGaWIgRXh0ZW5zaW9uIl0sZS5leHBvcnRzWyJBdXRvIEZpYiBSZXRyYWNlbWVudF9zdHVkeSJdPVsiQXV0byBGaWIgUmV0cmFjZW1lbnQiXSxlLmV4cG9ydHNbIkF1dG8gUGl0Y2hmb3JrX3N0dWR5Il09WyJBdXRvIFBpdGNoZm9yayJdLGUuZXhwb3J0c1siQXV0byBUcmVuZGxpbmVzX3N0dWR5Il09WyJBdXRvIFRyZW5kbGluZXMiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGFpbHkgUmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgRGFpbHkgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGF5IFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIERheSBSYW5nZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleF9zdHVkeSJdPVsiQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleCJdLGUuZXhwb3J0c1siQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiQXZlcmFnZSBQcmljZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgYmFzaWMgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJBdmVyYWdlIGJhc2ljIHNoYXJlcyBvdXRzdGFuZGluZyJdLGUuZXhwb3J0c1siQXdlc29tZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJBd2Vzb21lIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHMuQkJUcmVuZF9zdHVkeT1bIkJCVHJlbmQiXSxlLmV4cG9ydHNbIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHNfc3R1ZHkiXT1bIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHMiXSxlLmV4cG9ydHNbIkJhbGFuY2Ugb2YgUG93ZXJfc3R1ZHkiXT1bIkJhbGFuY2Ugb2YgUG93ZXIiXSxlLmV4cG9ydHNbIkJhclVwRG4gU3RyYXRlZ3lfc3R1ZHkiXT1bIkJhclVwRG4gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkJhc2ljIEVQU19zdHVkeSJdPVsiQmFzaWMgRVBTIl0sZS5leHBvcnRzWyJCYXNpYyBlYXJuaW5ncyBwZXIgc2hhcmUgKEJhc2ljIEVQUylfc3R1ZHkiXT1bIkJhc2ljIGVhcm5pbmdzIHBlciBzaGFyZSAoQmFzaWMgRVBTKSJdLAplLmV4cG9ydHNbIkJlYXJpc2ggRmxhZyBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJCZWFyaXNoIEZsYWcgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQmVhcmlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJlYXJpc2ggUGVubmFudCBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCZW5laXNoIE0tc2NvcmVfc3R1ZHkiXT1bIkJlbmVpc2ggTS1zY29yZSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRXaWR0aF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRXaWR0aCJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzICViX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMgJWIiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSBkaXJlY3RlZF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRzIFN0cmF0ZWd5IGRpcmVjdGVkIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgU3RyYXRlZ3lfc3R1ZHkiXT1bIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYXJzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFycyJdLGUuZXhwb3J0c1siQm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJCdWxsIEJlYXIgUG93ZXJfc3R1ZHkiXT1bIkJ1bGwgQmVhciBQb3dlciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJ1bGxpc2ggRmxhZyBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCdWxsaXNoIFBlbm5hbnQgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQnVsbGlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkJ1eWJhY2sgeWllbGQgJV9zdHVkeSJdPVsiQnV5YmFjayB5aWVsZCAlIl0sZS5leHBvcnRzWyJDT0dTIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkNPR1MgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0cy5DUlNJX3N0dWR5PVsiQ1JTSSJdLGUuZXhwb3J0c1siQ2FwRXggcGVyIHNoYXJlX3N0dWR5Il09WyJDYXBFeCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgYW5kIG9wZXJhdGluZyBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbCBhbmQgb3BlcmF0aW5nIGxlYXNlIG9ibGlnYXRpb25zIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIGZpeGVkIGFzc2V0c19zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgLSBmaXhlZCBhc3NldHMiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIC0gb3RoZXIgYXNzZXRzX3N0dWR5Il09WyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIG90aGVyIGFzc2V0cyJdLGUuZXhwb3J0c1siQ2FwaXRhbCBleHBlbmRpdHVyZXNfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIl0sZS5leHBvcnRzWyJDYXBpdGFsaXplZCBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbGl6ZWQgbGVhc2Ugb2JsaWdhdGlvbnMiXSxlLmV4cG9ydHNbIkNhc2ggJiBlcXVpdmFsZW50c19zdHVkeSJdPVsiQ2FzaCAmIGVxdWl2YWxlbnRzIl0sZS5leHBvcnRzWyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzX3N0dWR5Il09WyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJDYXNoIGNvbnZlcnNpb24gY3ljbGVfc3R1ZHkiXT1bIkNhc2ggY29udmVyc2lvbiBjeWNsZSJdLGUuZXhwb3J0c1siQ2FzaCBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZyb20gZmluYW5jaW5nIGFjdGl2aXRpZXMiXSxlLmV4cG9ydHNbIkNhc2ggZnJvbSBpbnZlc3RpbmcgYWN0aXZpdGllc19zdHVkeSJdPVsiQ2FzaCBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkNhc2ggcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJDYXNoIHRvIGRlYnQgcmF0aW9fc3R1ZHkiXT1bIkNhc2ggdG8gZGVidCByYXRpbyJdLGUuZXhwb3J0c1siQ2hhaWtpbiBNb25leSBGbG93X3N0dWR5Il09WyJDaGFpa2luIE1vbmV5IEZsb3ciXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFpa2luIFZvbGF0aWxpdHlfc3R1ZHkiXT1bIkNoYWlraW4gVm9sYXRpbGl0eSJdLGUuZXhwb3J0c1siQ2hhbmRlIEtyb2xsIFN0b3Bfc3R1ZHkiXT1bIkNoYW5kZSBLcm9sbCBTdG9wIl0sZS5leHBvcnRzWyJDaGFuZGUgTW9tZW50dW0gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhbmRlIE1vbWVudHVtIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBhY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJDaGFuZ2UgaW4gYWNjb3VudHMgcGF5YWJsZSJdLGUuZXhwb3J0c1siQ2hhbmdlIGluIGFjY291bnRzIHJlY2VpdmFibGVfc3R1ZHkiXT1bIkNoYW5nZSBpbiBhY2NvdW50cyByZWNlaXZhYmxlIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gYWNjcnVlZCBleHBlbnNlc19zdHVkeSJdPVsiQ2hhbmdlIGluIGFjY3J1ZWQgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBpbnZlbnRvcmllc19zdHVkeSJdPVsiQ2hhbmdlIGluIGludmVudG9yaWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzX3N0dWR5Il09WyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gdGF4ZXMgcGF5YWJsZV9zdHVkeSJdPVsiQ2hhbmdlIGluIHRheGVzIHBheWFibGUiXSxlLmV4cG9ydHNbIkNoYW5nZXMgaW4gd29ya2luZyBjYXBpdGFsX3N0dWR5Il09WyJDaGFuZ2VzIGluIHdvcmtpbmcgY2FwaXRhbCJdLGUuZXhwb3J0cy5DaGFubmVsQnJlYWtPdXRTdHJhdGVneV9zdHVkeT1bIkNoYW5uZWxCcmVha091dFN0cmF0ZWd5Il0sCmUuZXhwb3J0c1siQ2hvcCBab25lX3N0dWR5Il09WyJDaG9wIFpvbmUiXSxlLmV4cG9ydHNbIkNob3BwaW5lc3MgSW5kZXhfc3R1ZHkiXT1bIkNob3BwaW5lc3MgSW5kZXgiXSxlLmV4cG9ydHNbIkNvbW1vZGl0eSBDaGFubmVsIEluZGV4X3N0dWR5Il09WyJDb21tb2RpdHkgQ2hhbm5lbCBJbmRleCJdLGUuZXhwb3J0c1siQ29tbW9uIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJDb21tb24gZGl2aWRlbmRzIHBhaWQiXSxlLmV4cG9ydHNbIkNvbW1vbiBlcXVpdHksIHRvdGFsX3N0dWR5Il09WyJDb21tb24gZXF1aXR5LCB0b3RhbCJdLGUuZXhwb3J0c1siQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZV9zdHVkeSJdPVsiQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZSJdLGUuZXhwb3J0cy5Db21wYXJlX3N0dWR5PVsiQ29tcGFyZSJdLGUuZXhwb3J0c1siQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnNfc3R1ZHkiXT1bIkNvbmRpdGlvbmFsIEV4cHJlc3Npb25zIl0sZS5leHBvcnRzWyJDb25ub3JzIFJTSV9zdHVkeSJdPVsiQ29ubm9ycyBSU0kiXSxlLmV4cG9ydHMuQ29ubm9yc1JTSV9zdHVkeT1bIkNvbm5vcnNSU0kiXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3lfc3R1ZHkiXT1bIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkNvcHBvY2sgQ3VydmVfc3R1ZHkiXT1bIkNvcHBvY2sgQ3VydmUiXSxlLmV4cG9ydHNbIkNvcnJlbGF0aW9uIC0gTG9nX3N0dWR5Il09WyJDb3JyZWxhdGlvbiAtIExvZyJdLGUuZXhwb3J0c1siQ29ycmVsYXRpb24gQ29lZmZpY2llbnRfc3R1ZHkiXT1bIkNvcnJlbGF0aW9uIENvZWZmaWNpZW50Il0sZS5leHBvcnRzWyJDb3N0IG9mIGdvb2RzIHNvbGRfc3R1ZHkiXT1bIkNvc3Qgb2YgZ29vZHMgc29sZCJdLGUuZXhwb3J0c1siQ29zdCBvZiBnb29kc19zdHVkeSJdPVsiQ29zdCBvZiBnb29kcyJdLGUuZXhwb3J0c1siQ3J5cHRvIE9wZW4gSW50ZXJlc3Rfc3R1ZHkiXT1bIkNyeXB0byBPcGVuIEludGVyZXN0Il0sZS5leHBvcnRzWyJDdW11bGF0aXZlIFZvbHVtZSBEZWx0YV9zdHVkeSJdPVsiQ3VtdWxhdGl2ZSBWb2x1bWUgRGVsdGEiXSxlLmV4cG9ydHNbIkN1bXVsYXRpdmUgVm9sdW1lIEluZGV4X3N0dWR5Il09WyJDdW11bGF0aXZlIFZvbHVtZSBJbmRleCJdLGUuZXhwb3J0c1siQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQ3VycmVudCBwb3J0aW9uIG9mIExUIGRlYnQgYW5kIGNhcGl0YWwgbGVhc2VzX3N0dWR5Il09WyJDdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidCBhbmQgY2FwaXRhbCBsZWFzZXMiXSxlLmV4cG9ydHNbIkN1cnJlbnQgcmF0aW9fc3R1ZHkiXT1bIkN1cnJlbnQgcmF0aW8iXSxlLmV4cG9ydHMuRE1JX3N0dWR5PVsiRE1JIl0sZS5leHBvcnRzWyJEYXJrIENsb3VkIENvdmVyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRGFyayBDbG91ZCBDb3ZlciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkRheXMgaW52ZW50b3J5X3N0dWR5Il09WyJEYXlzIGludmVudG9yeSJdLGUuZXhwb3J0c1siRGF5cyBwYXlhYmxlX3N0dWR5Il09WyJEYXlzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRheXMgc2FsZXMgb3V0c3RhbmRpbmdfc3R1ZHkiXT1bIkRheXMgc2FsZXMgb3V0c3RhbmRpbmciXSxlLmV4cG9ydHNbIkRlYnQgdG8gRUJJVERBIHJhdGlvX3N0dWR5Il09WyJEZWJ0IHRvIEVCSVREQSByYXRpbyJdLGUuZXhwb3J0c1siRGVidCB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkRlYnQgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJEZWJ0IHRvIGVxdWl0eSByYXRpb19zdHVkeSJdPVsiRGVidCB0byBlcXVpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIkRlYnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiRGVidCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJEZWZlcnJlZCBpbmNvbWUsIGN1cnJlbnRfc3R1ZHkiXT1bIkRlZmVycmVkIGluY29tZSwgY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudF9zdHVkeSJdPVsiRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGFzc2V0c19zdHVkeSJdPVsiRGVmZXJyZWQgdGF4IGFzc2V0cyJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJEZWZlcnJlZCB0YXggbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkRlZmVycmVkIHRheGVzIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZWZlcnJlZCB0YXhlcyAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbl9zdHVkeSJdPVsiRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbiJdLGUuZXhwb3J0c1siRGVwcmVjaWF0aW9uICYgYW1vcnRpemF0aW9uIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZXByZWNpYXRpb24gJiBhbW9ydGl6YXRpb24gKGNhc2ggZmxvdykiXSxlLmV4cG9ydHNbIkRlcHJlY2lhdGlvbi9kZXBsZXRpb25fc3R1ZHkiXT1bIkRlcHJlY2lhdGlvbi9kZXBsZXRpb24iXSxlLmV4cG9ydHMuRGVwcmVjaWF0aW9uX3N0dWR5PVsiRGVwcmVjaWF0aW9uIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9zdHVkeSJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgRVBTX3N0dWR5Il09WyJEaWx1dGVkIEVQUyJdLGUuZXhwb3J0c1siRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKV9zdHVkeSJdPVsiRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKSJdLGUuZXhwb3J0c1siRGlsdXRlZCBuZXQgaW5jb21lIGF2YWlsYWJsZSB0byBjb21tb24gc3RvY2tob2xkZXJzX3N0dWR5Il09WyJEaWx1dGVkIG5ldCBpbmNvbWUgYXZhaWxhYmxlIHRvIGNvbW1vbiBzdG9ja2hvbGRlcnMiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJEaWx1dGVkIHNoYXJlcyBvdXRzdGFuZGluZyJdLAplLmV4cG9ydHNbIkRpbHV0aW9uIGFkanVzdG1lbnRfc3R1ZHkiXT1bIkRpbHV0aW9uIGFkanVzdG1lbnQiXSxlLmV4cG9ydHNbIkRpcmVjdGlvbmFsIE1vdmVtZW50IEluZGV4X3N0dWR5Il09WyJEaXJlY3Rpb25hbCBNb3ZlbWVudCBJbmRleCJdLGUuZXhwb3J0c1siRGlyZWN0aW9uYWwgTW92ZW1lbnRfc3R1ZHkiXT1bIkRpcmVjdGlvbmFsIE1vdmVtZW50Il0sZS5leHBvcnRzWyJEaXNjb250aW51ZWQgb3BlcmF0aW9uc19zdHVkeSJdPVsiRGlzY29udGludWVkIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHNbIkRpdmVyZ2VuY2UgSW5kaWNhdG9yX3N0dWR5Il09WyJEaXZlcmdlbmNlIEluZGljYXRvciJdLGUuZXhwb3J0c1siRGl2aWRlbmQgcGF5b3V0IHJhdGlvICVfc3R1ZHkiXT1bIkRpdmlkZW5kIHBheW91dCByYXRpbyAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZCB5aWVsZCAlX3N0dWR5Il09WyJEaXZpZGVuZCB5aWVsZCAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZHMgcGF5YWJsZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmUgLSBjb21tb24gc3RvY2sgcHJpbWFyeSBpc3N1ZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBlciBzaGFyZSAtIGNvbW1vbiBzdG9jayBwcmltYXJ5IGlzc3VlIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzLkRvamlfc3R1ZHk9WyJEb2ppIl0sZS5leHBvcnRzWyJEb25jaGlhbiBDaGFubmVsc19zdHVkeSJdPVsiRG9uY2hpYW4gQ2hhbm5lbHMiXSxlLmV4cG9ydHNbIkRvdWJsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiRG91YmxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJEb3VibGUgRU1BX3N0dWR5Il09WyJEb3VibGUgRU1BIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkRvdWJsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siRG93bnNpZGUgVGFzdWtpIEdhcCAtIEJlYXJpc2hfc3R1ZHkiXT1bIkRvd25zaWRlIFRhc3VraSBHYXAgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEcmFnb25mbHkgRG9qaSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkRyYWdvbmZseSBEb2ppIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siRUJJVCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVCSVQgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJFQklUREEgbWFyZ2luICVfc3R1ZHkiXT1bIkVCSVREQSBtYXJnaW4gJSJdLGUuZXhwb3J0c1siRUJJVERBIHBlciBzaGFyZV9zdHVkeSJdPVsiRUJJVERBIHBlciBzaGFyZSJdLGUuZXhwb3J0cy5FQklUREFfc3R1ZHk9WyJFQklUREEiXSxlLmV4cG9ydHMuRUJJVF9zdHVkeT1bIkVCSVQiXSxlLmV4cG9ydHNbIkVNQSBDcm9zc19zdHVkeSJdPVsiRU1BIENyb3NzIl0sZS5leHBvcnRzWyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoX3N0dWR5Il09WyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoIl0sZS5leHBvcnRzWyJFUFMgZGlsdXRlZCBvbmUgeWVhciBncm93dGhfc3R1ZHkiXT1bIkVQUyBkaWx1dGVkIG9uZSB5ZWFyIGdyb3d0aCJdLGUuZXhwb3J0c1siRVBTIGVzdGltYXRlc19zdHVkeSJdPVsiRVBTIGVzdGltYXRlcyJdLGUuZXhwb3J0c1siRWFybmluZ3MgeWllbGRfc3R1ZHkiXT1bIkVhcm5pbmdzIHlpZWxkIl0sZS5leHBvcnRzWyJFYXNlIE9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIE9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFYXNlIG9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIG9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFZmZlY3RpdmUgaW50ZXJlc3QgcmF0ZSBvbiBkZWJ0ICVfc3R1ZHkiXT1bIkVmZmVjdGl2ZSBpbnRlcmVzdCByYXRlIG9uIGRlYnQgJSJdLGUuZXhwb3J0c1siRWxkZXIgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVyIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcidzIEZvcmNlIEluZGV4X3N0dWR5Il09WyJFbGRlcidzIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcnMgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVycyBGb3JjZSBJbmRleCJdLGUuZXhwb3J0c1siRWxsaW90dCBXYXZlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkVsbGlvdHQgV2F2ZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCZWFyaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCdWxsaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIEVCSVQgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVCByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZSB0byBFQklUREEgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVERBIHJhdGlvIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZV9zdHVkeSJdPVsiRW50ZXJwcmlzZSB2YWx1ZSJdLGUuZXhwb3J0cy5FbnZlbG9wZV9zdHVkeT1bIkVudmVsb3BlIl0sZS5leHBvcnRzLkVudmVsb3Blc19zdHVkeT1bIkVudmVsb3BlcyJdLGUuZXhwb3J0c1siRXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJFcXVpdHkgaW4gZWFybmluZ3MiXSxlLmV4cG9ydHNbIkVxdWl0eSB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkVxdWl0eSB0byBhc3NldHMgcmF0aW8iXSxlLmV4cG9ydHNbIkV2ZW5pbmcgRG9qaSBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRXZlbmluZyBEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoIl0sCmUuZXhwb3J0c1siRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siRmFsbGluZyBXZWRnZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJGYWxsaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkZhbGxpbmcgV2luZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBXaW5kb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlc19zdHVkeSJdPVsiRmluYW5jaW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHNvdXJjZXMiXSxlLmV4cG9ydHNbIkZpbmFuY2luZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzX3N0dWR5Il09WyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgdXNlcyJdLGUuZXhwb3J0c1siRmlzaGVyIFRyYW5zZm9ybV9zdHVkeSJdPVsiRmlzaGVyIFRyYW5zZm9ybSJdLGUuZXhwb3J0c1siRml4ZWQgUmFuZ2UgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkZpeGVkIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJGaXhlZCBSYW5nZV9zdHVkeSJdPVsiRml4ZWQgUmFuZ2UiXSxlLmV4cG9ydHNbIkZsb2F0IHNoYXJlcyBvdXRzdGFuZGluZ19zdHVkeSJdPVsiRmxvYXQgc2hhcmVzIG91dHN0YW5kaW5nIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvdyBtYXJnaW4gJV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgbWFyZ2luICUiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IHBlciBzaGFyZV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvd19zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3ciXSxlLmV4cG9ydHNbIkZyZWUgZmxvYXRfc3R1ZHkiXT1bIkZyZWUgZmxvYXQiXSxlLmV4cG9ydHNbIkZ1bG1lciBIIGZhY3Rvcl9zdHVkeSJdPVsiRnVsbWVyIEggZmFjdG9yIl0sZS5leHBvcnRzWyJGdW5kaW5nIFJhdGVfc3R1ZHkiXT1bIkZ1bmRpbmcgUmF0ZSJdLGUuZXhwb3J0c1siRnVuZHMgZnJvbSBvcGVyYXRpb25zX3N0dWR5Il09WyJGdW5kcyBmcm9tIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHMuR2Fwc19zdHVkeT1bIkdhcHMiXSxlLmV4cG9ydHNbIkdvb2R3aWxsIHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR29vZHdpbGwgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJHb29kd2lsbCwgbmV0X3N0dWR5Il09WyJHb29kd2lsbCwgbmV0Il0sZS5leHBvcnRzWyJHcmFoYW0ncyBudW1iZXJfc3R1ZHkiXT1bIkdyYWhhbSdzIG51bWJlciJdLGUuZXhwb3J0c1siR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaF9zdHVkeSJdPVsiR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siR3JlZWR5IFN0cmF0ZWd5X3N0dWR5Il09WyJHcmVlZHkgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkdyb3NzIG1hcmdpbiAlX3N0dWR5Il09WyJHcm9zcyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpbyJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0X3N0dWR5Il09WyJHcm9zcyBwcm9maXQiXSxlLmV4cG9ydHNbIkdyb3NzIHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiR3Jvc3MgcHJvcGVydHkvcGxhbnQvZXF1aXBtZW50Il0sZS5leHBvcnRzWyJHdXBweSBNdWx0aXBsZSBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiR3VwcHkgTXVsdGlwbGUgTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkhhbW1lciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkhhbW1lciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIkhhbmdpbmcgTWFuIC0gQmVhcmlzaF9zdHVkeSJdPVsiSGFuZ2luZyBNYW4gLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkhpc3RvcmljYWwgVm9sYXRpbGl0eV9zdHVkeSJdPVsiSGlzdG9yaWNhbCBWb2xhdGlsaXR5Il0sZS5leHBvcnRzWyJIdWxsIE1vdmluZyBBdmVyYWdlX3N0dWR5Il09WyJIdWxsIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJJY2hpbW9rdSBDbG91ZF9zdHVkeSJdPVsiSWNoaW1va3UgQ2xvdWQiXSxlLmV4cG9ydHMuSWNoaW1va3Vfc3R1ZHk9WyJJY2hpbW9rdSJdLGUuZXhwb3J0cy5JbXBhaXJtZW50c19zdHVkeT1bIkltcGFpcm1lbnRzIl0sZS5leHBvcnRzWyJJblNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJJblNpZGUgQmFyIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJJbmNvbWUgVGF4IENyZWRpdHNfc3R1ZHkiXT1bIkluY29tZSBUYXggQ3JlZGl0cyJdLGUuZXhwb3J0c1siSW5jb21lIFRheCwgY3VycmVudCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSBUYXgsIGN1cnJlbnQgLSBmb3JlaWduIl0sZS5leHBvcnRzWyJJbmNvbWUgdGF4IHBheWFibGVfc3R1ZHkiXT1bIkluY29tZSB0YXggcGF5YWJsZSJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgY3VycmVudCAtIGRvbWVzdGljX3N0dWR5Il09WyJJbmNvbWUgdGF4LCBjdXJyZW50IC0gZG9tZXN0aWMiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGN1cnJlbnRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGN1cnJlbnQiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWNfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWMiXSwKZS5leHBvcnRzWyJJbmNvbWUgdGF4LCBkZWZlcnJlZCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZm9yZWlnbiJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgZGVmZXJyZWRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIl0sZS5leHBvcnRzWyJJbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgY2FwaXRhbGl6ZWQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGNvdmVyYWdlX3N0dWR5Il09WyJJbnRlcmVzdCBjb3ZlcmFnZSJdLGUuZXhwb3J0c1siSW50ZXJlc3QgZXhwZW5zZSBvbiBkZWJ0X3N0dWR5Il09WyJJbnRlcmVzdCBleHBlbnNlIG9uIGRlYnQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGV4cGVuc2UsIG5ldCBvZiBpbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgZXhwZW5zZSwgbmV0IG9mIGludGVyZXN0IGNhcGl0YWxpemVkIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIHByb2dyZXNzIHBheW1lbnRzICYgb3RoZXJfc3R1ZHkiXT1bIkludmVudG9yaWVzIC0gcHJvZ3Jlc3MgcGF5bWVudHMgJiBvdGhlciJdLGUuZXhwb3J0c1siSW52ZW50b3JpZXMgLSByYXcgbWF0ZXJpYWxzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIHJhdyBtYXRlcmlhbHMiXSxlLmV4cG9ydHNbIkludmVudG9yaWVzIC0gd29yayBpbiBwcm9ncmVzc19zdHVkeSJdPVsiSW52ZW50b3JpZXMgLSB3b3JrIGluIHByb2dyZXNzIl0sZS5leHBvcnRzWyJJbnZlbnRvcnkgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiSW52ZW50b3J5IHRvIHJldmVudWUgcmF0aW8iXSxlLmV4cG9ydHNbIkludmVudG9yeSB0dXJub3Zlcl9zdHVkeSJdPVsiSW52ZW50b3J5IHR1cm5vdmVyIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoX3N0dWR5Il09WyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciBzb3VyY2VzX3N0dWR5Il09WyJJbnZlc3RpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlcyJdLGUuZXhwb3J0c1siSW52ZXN0aW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHVzZXNfc3R1ZHkiXT1bIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzIl0sZS5leHBvcnRzWyJJbnZlc3RtZW50cyBpbiB1bmNvbnNvbGlkYXRlZCBzdWJzaWRpYXJpZXNfc3R1ZHkiXT1bIkludmVzdG1lbnRzIGluIHVuY29uc29saWRhdGVkIHN1YnNpZGlhcmllcyJdLGUuZXhwb3J0c1siSXNzdWFuY2Ugb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIGRlYnQsIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBkZWJ0LCBuZXQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygb3RoZXIgZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBvdGhlciBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIHNob3J0IHRlcm0gZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygc3RvY2ssIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzdG9jaywgbmV0Il0sZS5leHBvcnRzWyJLWiBpbmRleF9zdHVkeSJdPVsiS1ogaW5kZXgiXSxlLmV4cG9ydHNbIktlbHRuZXIgQ2hhbm5lbCBTdHJhdGVneV9zdHVkeSJdPVsiS2VsdG5lciBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5X3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzX3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIl0sZS5leHBvcnRzWyJLZXkgc3RhdHNfc3R1ZHkiXT1bIktleSBzdGF0cyJdLGUuZXhwb3J0c1siS2lja2luZyAtIEJlYXJpc2hfc3R1ZHkiXT1bIktpY2tpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJLaWNraW5nIC0gQnVsbGlzaF9zdHVkeSJdPVsiS2lja2luZyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIktsaW5nZXIgT3NjaWxsYXRvcl9zdHVkeSJdPVsiS2xpbmdlciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJLbm93IFN1cmUgVGhpbmdfc3R1ZHkiXT1bIktub3cgU3VyZSBUaGluZyJdLGUuZXhwb3J0c1siTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0c1siTGVnYWwgY2xhaW0gZXhwZW5zZV9zdHVkeSJdPVsiTGVnYWwgY2xhaW0gZXhwZW5zZSJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbF9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbCJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ3VydmVfc3R1ZHkiXT1bIkxpbmVhciBSZWdyZXNzaW9uIEN1cnZlIl0sZS5leHBvcnRzWyJMaW5lYXIgUmVncmVzc2lvbiBTbG9wZV9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gU2xvcGUiXSxlLmV4cG9ydHNbIkxpbmVhciBSZWdyZXNzaW9uX3N0dWR5Il09WyJMaW5lYXIgUmVncmVzc2lvbiJdLGUuZXhwb3J0cy5MaXF1aWRhdGlvbnNfc3R1ZHk9WyJMaXF1aWRhdGlvbnMiXSwKZS5leHBvcnRzWyJMaXF1aWRpdHkgcmF0aW9zX3N0dWR5Il09WyJMaXF1aWRpdHkgcmF0aW9zIl0sZS5leHBvcnRzWyJMb25nIExvd2VyIFNoYWRvdyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkxvbmcgTG93ZXIgU2hhZG93IC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTG9uZyBTaG9ydCBBY2NvdW50cyAlX3N0dWR5Il09WyJMb25nIFNob3J0IEFjY291bnRzICUiXSxlLmV4cG9ydHNbIkxvbmcgVXBwZXIgU2hhZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiTG9uZyBVcHBlciBTaGFkb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCBleGNsLiBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgZXhjbC4gbGVhc2UgbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgdG8gdG90YWwgYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCB0byB0b3RhbCBlcXVpdHkgcmF0aW9fc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGVxdWl0eSByYXRpbyJdLGUuZXhwb3J0c1siTG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJMb25nIHRlcm0gaW52ZXN0bWVudHNfc3R1ZHkiXT1bIkxvbmcgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50c19zdHVkeSJdPVsiTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50cyJdLGUuZXhwb3J0c1siTUEgQ3Jvc3Nfc3R1ZHkiXT1bIk1BIENyb3NzIl0sZS5leHBvcnRzWyJNQSB3aXRoIEVNQSBDcm9zc19zdHVkeSJdPVsiTUEgd2l0aCBFTUEgQ3Jvc3MiXSxlLmV4cG9ydHNbIk1BL0VNQSBDcm9zc19zdHVkeSJdPVsiTUEvRU1BIENyb3NzIl0sZS5leHBvcnRzWyJNQUNEIFN0cmF0ZWd5X3N0dWR5Il09WyJNQUNEIFN0cmF0ZWd5Il0sZS5leHBvcnRzLk1BQ0Rfc3R1ZHk9WyJNQUNEIl0sZS5leHBvcnRzWyJNYWpvcml0eSBSdWxlX3N0dWR5Il09WyJNYWpvcml0eSBSdWxlIl0sZS5leHBvcnRzWyJNYXJrZXQgY2FwaXRhbGl6YXRpb25fc3R1ZHkiXT1bIk1hcmtldCBjYXBpdGFsaXphdGlvbiJdLGUuZXhwb3J0c1siTWFydWJvenUgQmxhY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJNYXJ1Ym96dSBCbGFjayAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIk1hcnVib3p1IFdoaXRlIC0gQnVsbGlzaF9zdHVkeSJdPVsiTWFydWJvenUgV2hpdGUgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJNYXNzIEluZGV4X3N0dWR5Il09WyJNYXNzIEluZGV4Il0sZS5leHBvcnRzWyJNY0dpbmxleSBEeW5hbWljX3N0dWR5Il09WyJNY0dpbmxleSBEeW5hbWljIl0sZS5leHBvcnRzWyJNZWRpYW4gUHJpY2Vfc3R1ZHkiXT1bIk1lZGlhbiBQcmljZSJdLGUuZXhwb3J0cy5NZWRpYW5fc3R1ZHk9WyJNZWRpYW4iXSxlLmV4cG9ydHNbIk1pbm9yaXR5IGludGVyZXN0X3N0dWR5Il09WyJNaW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTWlzY2VsbGFuZW91cyBub24tb3BlcmF0aW5nIGV4cGVuc2Vfc3R1ZHkiXT1bIk1pc2NlbGxhbmVvdXMgbm9uLW9wZXJhdGluZyBleHBlbnNlIl0sZS5leHBvcnRzWyJNb21lbnR1bSBTdHJhdGVneV9zdHVkeSJdPVsiTW9tZW50dW0gU3RyYXRlZ3kiXSxlLmV4cG9ydHMuTW9tZW50dW1fc3R1ZHk9WyJNb21lbnR1bSJdLGUuZXhwb3J0c1siTW9uZXkgRmxvdyBJbmRleF9zdHVkeSJdPVsiTW9uZXkgRmxvdyBJbmRleCJdLGUuZXhwb3J0c1siTW9uZXkgRmxvd19zdHVkeSJdPVsiTW9uZXkgRmxvdyJdLGUuZXhwb3J0c1siTW9vbiBQaGFzZXNfc3R1ZHkiXT1bIk1vb24gUGhhc2VzIl0sZS5leHBvcnRzWyJNb3JuaW5nIERvamkgU3RhciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIk1vcm5pbmcgRG9qaSBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW9ybmluZyBTdGFyIC0gQnVsbGlzaF9zdHVkeSJdPVsiTW9ybmluZyBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgQWRhcHRpdmVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEFkYXB0aXZlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBEb3VibGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIERvdWJsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgRXhwb25lbnRpYWxfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBNb2RpZmllZF9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgTW9kaWZpZWQiXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIE11bHRpcGxlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBNdWx0aXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgUmliYm9uX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBSaWJib24iXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIFNpbXBsZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgU2ltcGxlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBUcmlwbGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFRyaXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgV2VpZ2h0ZWRfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFdlaWdodGVkIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIk1vdmluZ0F2ZyBDcm9zc19zdHVkeSJdPVsiTW92aW5nQXZnIENyb3NzIl0sCmUuZXhwb3J0c1siTW92aW5nQXZnMkxpbmUgQ3Jvc3Nfc3R1ZHkiXT1bIk1vdmluZ0F2ZzJMaW5lIENyb3NzIl0sZS5leHBvcnRzWyJNdWx0aS1UaW1lIFBlcmlvZCBDaGFydHNfc3R1ZHkiXT1bIk11bHRpLVRpbWUgUGVyaW9kIENoYXJ0cyJdLGUuZXhwb3J0c1siTmV0IFZvbHVtZV9zdHVkeSJdPVsiTmV0IFZvbHVtZSJdLGUuZXhwb3J0c1siTmV0IGN1cnJlbnQgYXNzZXQgdmFsdWUgcGVyIHNoYXJlX3N0dWR5Il09WyJOZXQgY3VycmVudCBhc3NldCB2YWx1ZSBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIk5ldCBkZWJ0X3N0dWR5Il09WyJOZXQgZGVidCJdLGUuZXhwb3J0c1siTmV0IGluY29tZSAoY2FzaCBmbG93KV9zdHVkeSJdPVsiTmV0IGluY29tZSAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBiZWZvcmUgZGlzY29udGludWVkIG9wZXJhdGlvbnNfc3R1ZHkiXT1bIk5ldCBpbmNvbWUgYmVmb3JlIGRpc2NvbnRpbnVlZCBvcGVyYXRpb25zIl0sZS5leHBvcnRzWyJOZXQgaW5jb21lIHBlciBlbXBsb3llZV9zdHVkeSJdPVsiTmV0IGluY29tZSBwZXIgZW1wbG95ZWUiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWVfc3R1ZHkiXT1bIk5ldCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5ldCBpbnRhbmdpYmxlIGFzc2V0c19zdHVkeSJdPVsiTmV0IGludGFuZ2libGUgYXNzZXRzIl0sZS5leHBvcnRzWyJOZXQgbWFyZ2luICVfc3R1ZHkiXT1bIk5ldCBtYXJnaW4gJSJdLGUuZXhwb3J0c1siTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudCJdLGUuZXhwb3J0c1siTm9uLWNhc2ggaXRlbXNfc3R1ZHkiXT1bIk5vbi1jYXNoIGl0ZW1zIl0sZS5leHBvcnRzWyJOb24tY29udHJvbGxpbmcvbWlub3JpdHkgaW50ZXJlc3Rfc3R1ZHkiXT1bIk5vbi1jb250cm9sbGluZy9taW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTm9uLW9wZXJhdGluZyBpbmNvbWUsIGV4Y2wuIGludGVyZXN0IGV4cGVuc2VzX3N0dWR5Il09WyJOb24tb3BlcmF0aW5nIGluY29tZSwgZXhjbC4gaW50ZXJlc3QgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIk5vbi1vcGVyYXRpbmcgaW5jb21lLCB0b3RhbF9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbmNvbWUsIHRvdGFsIl0sZS5leHBvcnRzWyJOb24tb3BlcmF0aW5nIGludGVyZXN0IGluY29tZV9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbnRlcmVzdCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5vdGUgcmVjZWl2YWJsZSAtIGxvbmcgdGVybV9zdHVkeSJdPVsiTm90ZSByZWNlaXZhYmxlIC0gbG9uZyB0ZXJtIl0sZS5leHBvcnRzWyJOb3RlcyBwYXlhYmxlX3N0dWR5Il09WyJOb3RlcyBwYXlhYmxlIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgZW1wbG95ZWVzX3N0dWR5Il09WyJOdW1iZXIgb2YgZW1wbG95ZWVzIl0sZS5leHBvcnRzWyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzX3N0dWR5Il09WyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzIl0sZS5leHBvcnRzWyJPbiBCYWxhbmNlIFZvbHVtZV9zdHVkeSJdPVsiT24gQmFsYW5jZSBWb2x1bWUiXSxlLmV4cG9ydHNbIk9uIE5lY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJPbiBOZWNrIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siT3BlbiBJbnRlcmVzdF9zdHVkeSJdPVsiT3BlbiBJbnRlcmVzdCJdLGUuZXhwb3J0c1siT3BlcmF0aW5nIGNhc2ggZmxvdyBwZXIgc2hhcmVfc3R1ZHkiXT1bIk9wZXJhdGluZyBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgZWFybmluZ3MgeWllbGQgJV9zdHVkeSJdPVsiT3BlcmF0aW5nIGVhcm5pbmdzIHlpZWxkICUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUylfc3R1ZHkiXT1bIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUykiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBpbmNvbWVfc3R1ZHkiXT1bIk9wZXJhdGluZyBpbmNvbWUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiT3BlcmF0aW5nIGxlYXNlIGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgbWFyZ2luICVfc3R1ZHkiXT1bIk9wZXJhdGluZyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siT3RoZXIgQ09HU19zdHVkeSJdPVsiT3RoZXIgQ09HUyJdLGUuZXhwb3J0c1siT3RoZXIgY29tbW9uIGVxdWl0eV9zdHVkeSJdPVsiT3RoZXIgY29tbW9uIGVxdWl0eSJdLGUuZXhwb3J0c1siT3RoZXIgY29zdCBvZiBnb29kcyBzb2xkX3N0dWR5Il09WyJPdGhlciBjb3N0IG9mIGdvb2RzIHNvbGQiXSxlLmV4cG9ydHNbIk90aGVyIGN1cnJlbnQgYXNzZXRzLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgY3VycmVudCBhc3NldHMsIHRvdGFsIl0sZS5leHBvcnRzWyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzX3N0dWR5Il09WyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJPdGhlciBmaW5hbmNpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgZmluYW5jaW5nIGNhc2ggZmxvdyBpdGVtcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIGludGFuZ2libGVzLCBuZXRfc3R1ZHkiXT1bIk90aGVyIGludGFuZ2libGVzLCBuZXQiXSxlLmV4cG9ydHNbIk90aGVyIGludmVzdGluZyBjYXNoIGZsb3cgaXRlbXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBpbnZlc3RpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIk90aGVyIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJPdGhlciBsaWFiaWxpdGllcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxpYWJpbGl0aWVzLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgbG9uZyB0ZXJtIGFzc2V0cywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxvbmcgdGVybSBhc3NldHMsIHRvdGFsIl0sCmUuZXhwb3J0c1siT3RoZXIgbm9uLWN1cnJlbnQgbGlhYmlsaXRpZXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBub24tY3VycmVudCBsaWFiaWxpdGllcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIHJlY2VpdmFibGVzX3N0dWR5Il09WyJPdGhlciByZWNlaXZhYmxlcyJdLGUuZXhwb3J0c1siT3RoZXIgc2hvcnQgdGVybSBkZWJ0X3N0dWR5Il09WyJPdGhlciBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIk91dFNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJPdXRTaWRlIEJhciBTdHJhdGVneSJdLGUuZXhwb3J0cy5PdmVybGF5X3N0dWR5PVsiT3ZlcmxheSJdLGUuZXhwb3J0c1siUEVHIHJhdGlvX3N0dWR5Il09WyJQRUcgcmF0aW8iXSxlLmV4cG9ydHNbIlBhaWQgaW4gY2FwaXRhbF9zdHVkeSJdPVsiUGFpZCBpbiBjYXBpdGFsIl0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5X3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSX3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIl0sZS5leHBvcnRzWyJQZXIgc2hhcmUgbWV0cmljc19zdHVkeSJdPVsiUGVyIHNoYXJlIG1ldHJpY3MiXSxlLmV4cG9ydHMuUGVyZm9ybWFuY2Vfc3R1ZHk9WyJQZXJmb3JtYW5jZSJdLGUuZXhwb3J0c1siUGVyaW9kaWMgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlBlcmlvZGljIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJQaWVyY2luZyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlBpZXJjaW5nIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUGlvdHJvc2tpIEYtc2NvcmVfc3R1ZHkiXT1bIlBpb3Ryb3NraSBGLXNjb3JlIl0sZS5leHBvcnRzWyJQaXZvdCBFeHRlbnNpb24gU3RyYXRlZ3lfc3R1ZHkiXT1bIlBpdm90IEV4dGVuc2lvbiBTdHJhdGVneSJdLGUuZXhwb3J0c1siUGl2b3QgUG9pbnRzIEhpZ2ggTG93X3N0dWR5Il09WyJQaXZvdCBQb2ludHMgSGlnaCBMb3ciXSxlLmV4cG9ydHNbIlBpdm90IFBvaW50cyBTdGFuZGFyZF9zdHVkeSJdPVsiUGl2b3QgUG9pbnRzIFN0YW5kYXJkIl0sZS5leHBvcnRzWyJQaXZvdCBSZXZlcnNhbCBTdHJhdGVneV9zdHVkeSJdPVsiUGl2b3QgUmV2ZXJzYWwgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIlByZWZlcnJlZCBkaXZpZGVuZHMgcGFpZF9zdHVkeSJdPVsiUHJlZmVycmVkIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgZGl2aWRlbmRzX3N0dWR5Il09WyJQcmVmZXJyZWQgZGl2aWRlbmRzIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlX3N0dWR5Il09WyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlIl0sZS5leHBvcnRzWyJQcmVwYWlkIGV4cGVuc2VzX3N0dWR5Il09WyJQcmVwYWlkIGV4cGVuc2VzIl0sZS5leHBvcnRzWyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzIl0sZS5leHBvcnRzWyJQcmV0YXggaW5jb21lX3N0dWR5Il09WyJQcmV0YXggaW5jb21lIl0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5X3N0dWR5Il09WyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsX3N0dWR5Il09WyJQcmljZSBDaGFubmVsIl0sZS5leHBvcnRzWyJQcmljZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJQcmljZSBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRfc3R1ZHkiXT1bIlByaWNlIFRhcmdldCJdLGUuZXhwb3J0c1siUHJpY2UgVm9sdW1lIFRyZW5kX3N0dWR5Il09WyJQcmljZSBWb2x1bWUgVHJlbmQiXSxlLmV4cG9ydHNbIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHRvIGJvb2sgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIGJvb2sgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGNhc2ggZmxvdyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gY2FzaCBmbG93IHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byBlYXJuaW5ncyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gZWFybmluZ3MgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGZyZWUgY2FzaCBmbG93IHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byBmcmVlIGNhc2ggZmxvdyByYXRpbyJdLGUuZXhwb3J0c1siUHJpY2UgdG8gc2FsZXMgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIHNhbGVzIHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvIl0sZS5leHBvcnRzWyJQcm9maXRhYmlsaXR5IHJhdGlvc19zdHVkeSJdPVsiUHJvZml0YWJpbGl0eSByYXRpb3MiXSxlLmV4cG9ydHNbIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2Vfc3R1ZHkiXT1bIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2UiXSxlLmV4cG9ydHNbIlB1cmNoYXNlIG9mIGludmVzdG1lbnRzX3N0dWR5Il09WyJQdXJjaGFzZSBvZiBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siUHVyY2hhc2UvYWNxdWlzaXRpb24gb2YgYnVzaW5lc3Nfc3R1ZHkiXT1bIlB1cmNoYXNlL2FjcXVpc2l0aW9uIG9mIGJ1c2luZXNzIl0sZS5leHBvcnRzWyJQdXJjaGFzZS9zYWxlIG9mIGJ1c2luZXNzLCBuZXRfc3R1ZHkiXT1bIlB1cmNoYXNlL3NhbGUgb2YgYnVzaW5lc3MsIG5ldCJdLGUuZXhwb3J0c1siUHVyY2hhc2Uvc2FsZSBvZiBpbnZlc3RtZW50cywgbmV0X3N0dWR5Il09WyJQdXJjaGFzZS9zYWxlIG9mIGludmVzdG1lbnRzLCBuZXQiXSxlLmV4cG9ydHNbIlF1YWxpdHkgcmF0aW9fc3R1ZHkiXT1bIlF1YWxpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIlF1aWNrIHJhdGlvX3N0dWR5Il09WyJRdWljayByYXRpbyJdLAplLmV4cG9ydHNbIlJDSSBSaWJib25fc3R1ZHkiXT1bIlJDSSBSaWJib24iXSxlLmV4cG9ydHNbIlJTSSBEaXZlcmdlbmNlIEluZGljYXRvcl9zdHVkeSJdPVsiUlNJIERpdmVyZ2VuY2UgSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJSU0kgU3RyYXRlZ3lfc3R1ZHkiXT1bIlJTSSBTdHJhdGVneSJdLGUuZXhwb3J0c1siUmFuayBDb3JyZWxhdGlvbiBJbmRleF9zdHVkeSJdPVsiUmFuayBDb3JyZWxhdGlvbiBJbmRleCJdLGUuZXhwb3J0c1siUmF0ZSBPZiBDaGFuZ2Vfc3R1ZHkiXT1bIlJhdGUgT2YgQ2hhbmdlIl0sZS5leHBvcnRzWyJSZWN0YW5nbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiUmVjdGFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlJlZHVjdGlvbiBvZiBsb25nIHRlcm0gZGVidF9zdHVkeSJdPVsiUmVkdWN0aW9uIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJSZWxhdGl2ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgU3RyZW5ndGggSW5kZXgiXSxlLmV4cG9ydHNbIlJlbGF0aXZlIFZpZ29yIEluZGV4X3N0dWR5Il09WyJSZWxhdGl2ZSBWaWdvciBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sdW1lIGF0IFRpbWVfc3R1ZHkiXT1bIlJlbGF0aXZlIFZvbHVtZSBhdCBUaW1lIl0sZS5leHBvcnRzWyJSZXB1cmNoYXNlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9ja19zdHVkeSJdPVsiUmVwdXJjaGFzZSBvZiBjb21tb24gJiBwcmVmZXJyZWQgc3RvY2siXSxlLmV4cG9ydHNbIlJlc2VhcmNoICYgZGV2ZWxvcG1lbnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiUmVzZWFyY2ggJiBkZXZlbG9wbWVudCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJSZXNlYXJjaCAmIGRldmVsb3BtZW50X3N0dWR5Il09WyJSZXNlYXJjaCAmIGRldmVsb3BtZW50Il0sZS5leHBvcnRzWyJSZXN0cnVjdHVyaW5nIGNoYXJnZV9zdHVkeSJdPVsiUmVzdHJ1Y3R1cmluZyBjaGFyZ2UiXSxlLmV4cG9ydHNbIlJldGFpbmVkIGVhcm5pbmdzX3N0dWR5Il09WyJSZXRhaW5lZCBlYXJuaW5ncyJdLGUuZXhwb3J0c1siUmV0dXJuIG9uIGFzc2V0cyAlX3N0dWR5Il09WyJSZXR1cm4gb24gYXNzZXRzICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBlcXVpdHkgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gZXF1aXR5IGFkanVzdGVkIHRvIGJvb2sgdmFsdWUgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSBhZGp1c3RlZCB0byBib29rIHZhbHVlICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICVfc3R1ZHkiXT1bIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiB0YW5naWJsZSBhc3NldHMgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIHRhbmdpYmxlIGFzc2V0cyAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gdGFuZ2libGUgZXF1aXR5ICVfc3R1ZHkiXT1bIlJldHVybiBvbiB0YW5naWJsZSBlcXVpdHkgJSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBlc3RpbWF0ZXNfc3R1ZHkiXT1bIlJldmVudWUgZXN0aW1hdGVzIl0sZS5leHBvcnRzWyJSZXZlbnVlIG9uZSB5ZWFyIGdyb3d0aF9zdHVkeSJdPVsiUmV2ZW51ZSBvbmUgeWVhciBncm93dGgiXSxlLmV4cG9ydHNbIlJldmVudWUgcGVyIGVtcGxveWVlX3N0dWR5Il09WyJSZXZlbnVlIHBlciBlbXBsb3llZSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlJldmVudWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJSaXNpbmcgVGhyZWUgTWV0aG9kcyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlJpc2luZyBUaHJlZSBNZXRob2RzIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUmlzaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlJpc2luZyBXZWRnZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJSaXNpbmcgV2luZG93IC0gQnVsbGlzaF9zdHVkeSJdPVsiUmlzaW5nIFdpbmRvdyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXRfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXQiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHNfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBLbm94dmlsbGUgRGl2ZXJnZW5jZV9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIEtub3h2aWxsZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gTWlzc2VkIFBpdm90IFBvaW50c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIE1pc3NlZCBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBSZXZlcnNhbF9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFJldmVyc2FsIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gWml2IEdob3N0IFBpdm90c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFppdiBHaG9zdCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIEluZGljYXRvci9Pc2NpbGxhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IvT3NjaWxsYXRvciJdLGUuZXhwb3J0c1siU01JIEVyZ29kaWMgSW5kaWNhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlNNSSBFcmdvZGljIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlNhbGUgb2YgY29tbW9uICYgcHJlZmVycmVkIHN0b2NrX3N0dWR5Il09WyJTYWxlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9jayJdLGUuZXhwb3J0c1siU2FsZSBvZiBmaXhlZCBhc3NldHMgJiBidXNpbmVzc2VzX3N0dWR5Il09WyJTYWxlIG9mIGZpeGVkIGFzc2V0cyAmIGJ1c2luZXNzZXMiXSxlLmV4cG9ydHNbIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHMiXSwKZS5leHBvcnRzLlNlYXNvbmFsaXR5X3N0dWR5PVsiU2Vhc29uYWxpdHkiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXJfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXIiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIlNlc3Npb24gVGltZSBQcmljZSBPcHBvcnR1bml0eV9zdHVkeSJdPVsiU2Vzc2lvbiBUaW1lIFByaWNlIE9wcG9ydHVuaXR5Il0sZS5leHBvcnRzWyJTZXNzaW9uIFZvbHVtZSBIRF9zdHVkeSJdPVsiU2Vzc2lvbiBWb2x1bWUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSERfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lX3N0dWR5Il09WyJTZXNzaW9uIFZvbHVtZSJdLGUuZXhwb3J0c1siU2hhcmVob2xkZXJzJyBlcXVpdHlfc3R1ZHkiXT1bIlNoYXJlaG9sZGVycycgZXF1aXR5Il0sZS5leHBvcnRzWyJTaGFyZXMgYnV5YmFjayByYXRpbyAlX3N0dWR5Il09WyJTaGFyZXMgYnV5YmFjayByYXRpbyAlIl0sZS5leHBvcnRzWyJTaG9vdGluZyBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiU2hvb3RpbmcgU3RhciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlNob3J0IHRlcm0gZGVidCBleGNsLiBjdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidF9zdHVkeSJdPVsiU2hvcnQgdGVybSBkZWJ0IGV4Y2wuIGN1cnJlbnQgcG9ydGlvbiBvZiBMVCBkZWJ0Il0sZS5leHBvcnRzWyJTaG9ydCB0ZXJtIGRlYnRfc3R1ZHkiXT1bIlNob3J0IHRlcm0gZGVidCJdLGUuZXhwb3J0c1siU2hvcnQgdGVybSBpbnZlc3RtZW50c19zdHVkeSJdPVsiU2hvcnQgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siU2xvYW4gcmF0aW8gJV9zdHVkeSJdPVsiU2xvYW4gcmF0aW8gJSJdLGUuZXhwb3J0c1siU21vb3RoZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlNtb290aGVkIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJTb2x2ZW5jeSByYXRpb3Nfc3R1ZHkiXT1bIlNvbHZlbmN5IHJhdGlvcyJdLGUuZXhwb3J0c1siU3Bpbm5pbmcgVG9wIEJsYWNrX3N0dWR5Il09WyJTcGlubmluZyBUb3AgQmxhY2siXSxlLmV4cG9ydHNbIlNwaW5uaW5nIFRvcCBXaGl0ZV9zdHVkeSJdPVsiU3Bpbm5pbmcgVG9wIFdoaXRlIl0sZS5leHBvcnRzWyJTcHJpbmdhdGUgc2NvcmVfc3R1ZHkiXT1bIlNwcmluZ2F0ZSBzY29yZSJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRGV2aWF0aW9uX3N0dWR5Il09WyJTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlN0YW5kYXJkIEVycm9yIEJhbmRzX3N0dWR5Il09WyJTdGFuZGFyZCBFcnJvciBCYW5kcyJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3Jfc3R1ZHkiXT1bIlN0YW5kYXJkIEVycm9yIl0sZS5leHBvcnRzLlN0b2NoX3N0dWR5PVsiU3RvY2giXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXhfc3R1ZHkiXT1bIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXgiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgUlNJX3N0dWR5Il09WyJTdG9jaGFzdGljIFJTSSJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBTbG93IFN0cmF0ZWd5X3N0dWR5Il09WyJTdG9jaGFzdGljIFNsb3cgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3RvY2hhc3RpY19zdHVkeT1bIlN0b2NoYXN0aWMiXSxlLmV4cG9ydHMuU3VwZXJUcmVuZF9zdHVkeT1bIlN1cGVyVHJlbmQiXSxlLmV4cG9ydHNbIlN1cGVydHJlbmQgU3RyYXRlZ3lfc3R1ZHkiXT1bIlN1cGVydHJlbmQgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3VwZXJ0cmVuZF9zdHVkeT1bIlN1cGVydHJlbmQiXSxlLmV4cG9ydHNbIlN1c3RhaW5hYmxlIGdyb3d0aCByYXRlX3N0dWR5Il09WyJTdXN0YWluYWJsZSBncm93dGggcmF0ZSJdLGUuZXhwb3J0cy5UUklYX3N0dWR5PVsiVFJJWCJdLGUuZXhwb3J0c1siVGFuZ2libGUgYm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlRhbmdpYmxlIGJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvX3N0dWR5Il09WyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvIl0sZS5leHBvcnRzLlRheGVzX3N0dWR5PVsiVGF4ZXMiXSxlLmV4cG9ydHNbIlRlY2huaWNhbCBSYXRpbmdzIFN0cmF0ZWd5X3N0dWR5Il09WyJUZWNobmljYWwgUmF0aW5ncyBTdHJhdGVneSJdLGUuZXhwb3J0c1siVGVjaG5pY2FsIFJhdGluZ3Nfc3R1ZHkiXT1bIlRlY2huaWNhbCBSYXRpbmdzIl0sZS5leHBvcnRzWyJUaHJlZSBCbGFjayBDcm93cyAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRocmVlIEJsYWNrIENyb3dzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVGhyZWUgV2hpdGUgU29sZGllcnMgLSBCdWxsaXNoX3N0dWR5Il09WyJUaHJlZSBXaGl0ZSBTb2xkaWVycyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHlfc3R1ZHkiXT1bIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHkiXSxlLmV4cG9ydHNbIlRpbWUgV2VpZ2h0ZWQgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVGltZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJUb2JpbidzIFEgKGFwcHJveGltYXRlKV9zdHVkeSJdPVsiVG9iaW4ncyBRIChhcHByb3hpbWF0ZSkiXSxlLmV4cG9ydHNbIlRvdGFsIGFzc2V0c19zdHVkeSJdPVsiVG90YWwgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nIl0sCmUuZXhwb3J0c1siVG90YWwgY3VycmVudCBhc3NldHNfc3R1ZHkiXT1bIlRvdGFsIGN1cnJlbnQgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJUb3RhbCBkZWJ0IHBlciBzaGFyZV9zdHVkeSJdPVsiVG90YWwgZGVidCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnRfc3R1ZHkiXT1bIlRvdGFsIGRlYnQiXSxlLmV4cG9ydHNbIlRvdGFsIGVxdWl0eV9zdHVkeSJdPVsiVG90YWwgZXF1aXR5Il0sZS5leHBvcnRzWyJUb3RhbCBpbnZlbnRvcnlfc3R1ZHkiXT1bIlRvdGFsIGludmVudG9yeSJdLGUuZXhwb3J0c1siVG90YWwgbGlhYmlsaXRpZXMgJiBzaGFyZWhvbGRlcnMnIGVxdWl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyAmIHNoYXJlaG9sZGVycycgZXF1aXRpZXMiXSxlLmV4cG9ydHNbIlRvdGFsIGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgbm9uLWN1cnJlbnQgYXNzZXRzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBhc3NldHMiXSxlLmV4cG9ydHNbIlRvdGFsIG5vbi1jdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgb3BlcmF0aW5nIGV4cGVuc2VzX3N0dWR5Il09WyJUb3RhbCBvcGVyYXRpbmcgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIlRvdGFsIHJlY2VpdmFibGVzLCBuZXRfc3R1ZHkiXT1bIlRvdGFsIHJlY2VpdmFibGVzLCBuZXQiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWVfc3R1ZHkiXT1bIlRvdGFsIHJldmVudWUiXSxlLmV4cG9ydHNbIlRyYWRpbmcgU2Vzc2lvbnNfc3R1ZHkiXT1bIlRyYWRpbmcgU2Vzc2lvbnMiXSxlLmV4cG9ydHNbIlRyZWFzdXJ5IHN0b2NrIC0gY29tbW9uX3N0dWR5Il09WyJUcmVhc3VyeSBzdG9jayAtIGNvbW1vbiJdLGUuZXhwb3J0c1siVHJlbmQgU3RyZW5ndGggSW5kZXhfc3R1ZHkiXT1bIlRyZW5kIFN0cmVuZ3RoIEluZGV4Il0sZS5leHBvcnRzWyJUcmktU3RhciAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRyaS1TdGFyIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVHJpLVN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJUcmktU3RhciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlRyaXBsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiVHJpcGxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJUcmlwbGUgRU1BX3N0dWR5Il09WyJUcmlwbGUgRU1BIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaXBsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiVHJ1ZSBTdHJlbmd0aCBJbmRleCJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlRydWUgU3RyZW5ndGggSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJUd2VlemVyIEJvdHRvbSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlR3ZWV6ZXIgQm90dG9tIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVHdlZXplciBUb3AgLSBCZWFyaXNoX3N0dWR5Il09WyJUd2VlemVyIFRvcCAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlR5cGljYWwgUHJpY2Vfc3R1ZHkiXT1bIlR5cGljYWwgUHJpY2UiXSxlLmV4cG9ydHNbIlVsdGltYXRlIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlVsdGltYXRlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlVucmVhbGl6ZWQgZ2Fpbi9sb3NzX3N0dWR5Il09WyJVbnJlYWxpemVkIGdhaW4vbG9zcyJdLGUuZXhwb3J0c1siVW51c3VhbCBpbmNvbWUvZXhwZW5zZV9zdHVkeSJdPVsiVW51c3VhbCBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siVXAvRG93biBWb2x1bWVfc3R1ZHkiXT1bIlVwL0Rvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJVcHNpZGUgVGFzdWtpIEdhcCAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlVwc2lkZSBUYXN1a2kgR2FwIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVldBUCBBdXRvIEFuY2hvcmVkX3N0dWR5Il09WyJWV0FQIEF1dG8gQW5jaG9yZWQiXSxlLmV4cG9ydHMuVldBUF9zdHVkeT1bIlZXQVAiXSxlLmV4cG9ydHMuVldNQV9zdHVkeT1bIlZXTUEiXSxlLmV4cG9ydHNbIlZhbHVhdGlvbiByYXRpb3Nfc3R1ZHkiXT1bIlZhbHVhdGlvbiByYXRpb3MiXSxlLmV4cG9ydHNbIlZpc2libGUgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVmlzaWJsZSBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIl0sZS5leHBvcnRzLlZvbF9zdHVkeT1bIlZvbCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZV9zdHVkeSJdPVsiVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBPLUgtTC1DX3N0dWR5Il09WyJWb2xhdGlsaXR5IE8tSC1MLUMiXSxlLmV4cG9ydHNbIlZvbGF0aWxpdHkgU3RvcF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBTdG9wIl0sZS5leHBvcnRzWyJWb2xhdGlsaXR5IFplcm8gVHJlbmQgQ2xvc2UtdG8tQ2xvc2Vfc3R1ZHkiXT1bIlZvbGF0aWxpdHkgWmVybyBUcmVuZCBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sdHkgRXhwYW4gQ2xvc2UgU3RyYXRlZ3lfc3R1ZHkiXT1bIlZvbHR5IEV4cGFuIENsb3NlIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJWb2x1bWUgRGVsdGFfc3R1ZHkiXT1bIlZvbHVtZSBEZWx0YSJdLGUuZXhwb3J0c1siVm9sdW1lIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlZvbHVtZSBPc2NpbGxhdG9yIl0sCmUuZXhwb3J0c1siVm9sdW1lIFdlaWdodGVkIEF2ZXJhZ2UgUHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUgV2VpZ2h0ZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Wb2x1bWVfc3R1ZHk9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIlZvcnRleCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlZvcnRleCBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zICVSX3N0dWR5Il09WyJXaWxsaWFtcyAlUiJdLGUuZXhwb3J0c1siV2lsbGlhbXMgQWxsaWdhdG9yX3N0dWR5Il09WyJXaWxsaWFtcyBBbGxpZ2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxfc3R1ZHkiXT1bIldpbGxpYW1zIEZyYWN0YWwiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxzX3N0dWR5Il09WyJXaWxsaWFtcyBGcmFjdGFscyJdLGUuZXhwb3J0c1siV2lsbGlhbXMgUGVyY2VudCBSYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgUGVyY2VudCBSYW5nZSJdLGUuZXhwb3J0c1siV29vZGllcyBDQ0lfc3R1ZHkiXT1bIldvb2RpZXMgQ0NJIl0sZS5leHBvcnRzWyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlX3N0dWR5Il09WyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJaaWcgWmFnX3N0dWR5Il09WyJaaWcgWmFnIl0sZS5leHBvcnRzWyJabWlqZXdza2kgc2NvcmVfc3R1ZHkiXT1bIlptaWpld3NraSBzY29yZSJdfSw1OTYxNjgoZSl7ZS5leHBvcnRzPVsiVm9sIl19LDMxOTA2MChlKXtlLmV4cG9ydHM9WyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZSJdfSwzMTM2MjUoZSl7ZS5leHBvcnRzPVsiZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGUiXX0sMzg0NTk3KGUpe2UuZXhwb3J0cz1bIkNGRCJdfSw2NTUyMzUoZSl7ZS5leHBvcnRzPVsiQ3J5cHRvIl19LDM1MDE0NihlKXtlLmV4cG9ydHM9WyJBbGwiXX0sNzY1NDQwKGUpe2UuZXhwb3J0cz1bIkJvbmRzIl19LDU0ODMyMihlKXtlLmV4cG9ydHM9WyJFY29ub215Il19LDk3OTk3KGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDUwNTA3OShlKXtlLmV4cG9ydHM9WyJGdXR1cmVzIl19LDU2NDkxNyhlKXtlLmV4cG9ydHM9WyJGdW5kcyJdfSw5Mjc0MTEoZSl7ZS5leHBvcnRzPVsiSW5kaWNlcyJdfSw3OTYwMChlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDU1NTUxMChlKXtlLmV4cG9ydHM9WyJTdG9ja3MiXX0sODMzNzQ2KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBtZXRyaWMiXX0sNzg5MDQ5KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBjdXJyZW5jeSJdfSw0MDUwMTMoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHNjYWxlIHVuaXQiXX0sMjE3MTYxKGUpe2UuZXhwb3J0cz1bIk1peGVkIl19LDE5MTQ1NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBjdXJyZW5jeSJdfSw5OTQ4NDUoZSl7ZS5leHBvcnRzPVsiU2NhbGUgbWV0cmljIl19LDU1Njc2NShlKXtlLmV4cG9ydHM9WyJTY2FsZSB1bml0Il19LDU4NzMwNihlKXtlLmV4cG9ydHM9WyIoTyArIEggKyBMICsgQykvNCJdfSw2OTExNzQoZSl7ZS5leHBvcnRzPVsiKEggKyBMICsgQyArIEMpLzQiXX0sNjU2ODkyKGUpe2UuZXhwb3J0cz1bIihIICsgTCArIEMpLzMiXX0sOTIyNjUyKGUpe2UuZXhwb3J0cz1bIihIICsgTCkvMiJdfSw5MjI5ODMoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sOTUwMzM2KGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sNTA5MzgoZSl7ZS5leHBvcnRzPVsiT3BlbiJdfSw3NjUzNyhlKXtlLmV4cG9ydHM9WyJMb3ciXX0sNDAxOTI2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwb2ludCJdfSw0MzIxMjQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIG1ldHJpYyJdfSwxODk2MDMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGN1cnJlbmN5Il19LDg1NzIyMyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgbGlua2luZyBncm91cCJdfSw5NTQ4OTEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHVuaXQiXX0sMzU4KGUpe2UuZXhwb3J0cz1bImNsb25lIGxpbmUgdG9vbHMiXX0sNzQ5MDE2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sOTM5NzE3KGUpe2UuZXhwb3J0cz1bImN1dCBzb3VyY2VzIl19LDQxMTgxOChlKXtlLmV4cG9ydHM9WyJjdXQge3RpdGxlfSJdfSwyMzEyNjMoZSl7ZS5leHBvcnRzPVsiYWxpZ24gdG8gNDUgZGVncmVlcyJdfSw2MTgzODYoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZHJhd2luZyB0ZW1wbGF0ZSJdfSwzNjU4NzQoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZmFjdG9yeSBkZWZhdWx0cyB0byBzZWxlY3RlZCBzb3VyY2VzIl19LDM4NTUwNChlKXtlLmV4cG9ydHM9WyJicmluZyB7dGl0bGV9IGZvcndhcmQiXX0sNzc5NTE3KGUpe2UuZXhwb3J0cz1bImludmVydCBzY2FsZSJdfSw5NjU1MzkoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0iXX0sNjE3MDQwKGUpe2UuZXhwb3J0cz1bImluc2VydCB7dGl0bGV9IGFmdGVyIHt0YXJnZXR9Il19LDc0MDYxMyhlKXtlLmV4cG9ydHM9WyJpbnNlcnQge3RpdGxlfSBiZWZvcmUge3RhcmdldH0iXX0sOTQ2OTI5KGUpe2UuZXhwb3J0cz1bImxvYWQgZGVmYXVsdCBkcmF3aW5nIHRlbXBsYXRlIl19LDE1OTE0KGUpe2UuZXhwb3J0cz1bIm1vdmUge3RpdGxlfSB0byBuZXcgbGVmdCBzY2FsZSJdfSw5Njc5MzUoZSl7ZS5leHBvcnRzPVsibW92ZSB7dGl0bGV9IHRvIG5ldyByaWdodCBzY2FsZSJdfSw5NzAxMDUoZSl7ZS5leHBvcnRzPVsibW92ZSBkcmF3aW5nKHMpIl19LDI5NTIwNChlKXtlLmV4cG9ydHM9WyJtb3ZlIGxlZnQiXX0sNTI1NjQzKGUpe2UuZXhwb3J0cz1bIm1vdmUgcmlnaHQiXX0sNzc3NTc3KGUpe2UuZXhwb3J0cz1bIm1vdmUgc2NhbGUiXX0sNTAwODQzKGUpe2UuZXhwb3J0cz1bIm1ha2Uge3RpdGxlfSBubyBzY2FsZSAoRnVsbCBzY3JlZW4pIl19LDcyMTcwOShlKXtlLmV4cG9ydHM9WyJtZXJnZSBkb3duIl19LDk3NjgxNShlKXtlLmV4cG9ydHM9WyJtZXJnZSB0byBwYW5lIl19LDU1NTkxOChlKXtlLmV4cG9ydHM9WyJtZXJnZSB1cCJdfSw1NDc0NDUoZSl7CmUuZXhwb3J0cz1bInNldCBwcmljZSBzY2FsZSBzZWxlY3Rpb24gc3RyYXRlZ3kgdG8ge3RpdGxlfSJdfSw4MjgwOTIoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDEwMjE5NyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGdsb2JhbGx5Il19LDM1NTQwNyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGluIGxheW91dCJdfSw2OTM2NDkoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGxpbmUgdG9vbChzKSJdfSw3MDg5MDgoZSl7ZS5leHBvcnRzPVsicGFzdGUge3RpdGxlfSJdfSw5MzE3MTkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIl19LDI1NjkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIGFuZCBkcmF3aW5nIHRvb2xzIl19LDkyNTk2MyhlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZHJhd2luZ3MiXX0sMTIyNjA2KGUpe2UuZXhwb3J0cz1bInJlbW92ZSBkcmF3aW5ncyBncm91cCJdfSw4MjgyNTMoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIHBhbmUiXX0sNDQ1NTM5KGUpe2UuZXhwb3J0cz1bInJlbW92ZSB7dGl0bGV9Il19LDYyOTU0MihlKXtlLmV4cG9ydHM9WyJyZXNldCBzY2FsZXMiXX0sMzg4ODg3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBhdXRvIHNjYWxlIl19LDg3MTkxMChlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgaW5kZXhlZCB0byAxMDAgc2NhbGUiXX0sNjAyNDk3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBsb2NrIHNjYWxlIl19LDQ4Mzk5NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDMyOTg0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgcGVyY2VudGFnZSBzY2FsZSJdfSwxNzQ2NDAoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIHJlZ3VsYXIgc2NhbGUiXX0sNjkyMjAxKGUpe2UuZXhwb3J0cz1bInR1cm4gbGluZSB0b29scyBzaGFyaW5nIG9mZiJdfSw2OTQyMihlKXtlLmV4cG9ydHM9WyJ1bm1lcmdlIHRvIG5ldyBib3R0b20gcGFuZSJdfSw5NTE4NDcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSB1cCJdfSwyMjk0MTcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSBkb3duIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw4NTYyNihlKXtlLmV4cG9ydHM9WyIgR1BXIOKAlCBOZXdDb25uZWN0Il19LDExMTk3NihlKXtlLmV4cG9ydHM9WyIxIHllYXIiXX0sMzI4MDMwKGUpe2UuZXhwb3J0cz1bIjMgbW9udGhzIl19LDM5MDgxNChlKXtlLmV4cG9ydHM9WyI3OTYiXX0sNDk3MTEwKGUpe2UuZXhwb3J0cz1bIkNNQyBNYXJrZXRzIl19LDM3MTY2NShlKXtlLmV4cG9ydHM9WyJDTUUgR0xPQkVYIOKAlCBDaGljYWdvIE1lcmNhbnRpbGUgRXhjaGFuZ2UgR2xvYmV4Il19LDI5Mzk4NihlKXtlLmV4cG9ydHM9WyJDT01FWCDigJQgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDM4ODg1NihlKXtlLmV4cG9ydHM9WyJDQk9FIEVVIOKAlCBFdXJvcGVhbiBVbmlvbiBJbmRpY2VzIl19LDk5OTg3NyhlKXtlLmV4cG9ydHM9WyJDQk9FIOKAlCBDaGljYWdvIEJvYXJkIE9wdGlvbnMgRXhjaGFuZ2UiXX0sNTAyNzIxKGUpe2UuZXhwb3J0cz1bIkNCT1Qg4oCUIENoaWNhZ28gQm9hcmQgb2YgVHJhZGUiXX0sMzcwNjU4KGUpe2UuZXhwb3J0cz1bIkNGRkVYIOKAlCBDaGluYSBGaW5hbmNpYWwgRnV0dXJlcyBFeGNoYW5nZSJdfSw1MTU3MzgoZSl7ZS5leHBvcnRzPVsiQ0ZJIl19LDI5MzkzMyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIENhbmFkaWFuIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sMzM5MDk3KGUpe2UuZXhwb3J0cz1bIkNTRSDigJQgQ2FzYWJsYW5jYSBTdG9jayBFeGNoYW5nZSJdfSw1MzU2ODQoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBDb2xvbWJvIFN0b2NrIEV4Y2hhbmdlIl19LDk0Mzg4MyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIEN5cHJ1cyBTdG9jayBFeGNoYW5nZSJdfSw5NDIzMTcoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBOYXNkYXEgQ29wZW5oYWdlbiJdfSw0NTQ5NyhlKXtlLmV4cG9ydHM9WyJDWE0iXX0sOTg3NChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDI3MTY2MShlKXtlLmV4cG9ydHM9WyJDb3VudGRvd24gdG8gYmFyIGNsb3NlIl19LDc0MTA3KGUpe2UuZXhwb3J0cz1bIkNvZWZmcyBhcyBwZXJjZW50cyJdfSw5OTUwOTcoZSl7ZS5leHBvcnRzPVsiQ29pbiBNZXRyaWNzIl19LDQ1ODc4MyhlKXtlLmV4cG9ydHM9WyJDb2luRGVzayBJbmRpY2VzIl19LDg2OTE1MihlKXtlLmV4cG9ydHM9WyJDb2luRXgiXX0sNzAzNzQ4KGUpe2UuZXhwb3J0cz1bIkNvaW5KYXIiXX0sMzM4ODI5KGUpe2UuZXhwb3J0cz1bIkNvaW5Td2l0Y2giXX0sNzkzMDk2KGUpe2UuZXhwb3J0cz1bIkNvaW5XIl19LDE5NTg4NihlKXtlLmV4cG9ydHM9WyJDb2luYmFzZSJdfSwxMzU4NjcoZSl7ZS5leHBvcnRzPVsiQ29sb21iaWEiXX0sMjA1MDkxKGUpe2UuZXhwb3J0cz1bIkNvbG9tYm8iXX0sOTIyNDQoZSl7ZS5leHBvcnRzPVsiQ29tcGFyZSBvciBBZGQgU3ltYm9sIl19LDY5Nzg4MShlKXtlLmV4cG9ydHM9WyJDb21waWxhdGlvbiBlcnJvciJdfSwyMzI5MTkoZSl7ZS5leHBvcnRzPVsiQ29uZmlybSB0byByZW1vdmUgbG9ja2VkIGRyYXdpbmdzIl19LDc0NzI1OShlKXtlLmV4cG9ydHM9WyJDb25maXJtIElucHV0cyJdfSwxOTQxOTQoZSl7ZS5leHBvcnRzPVsiQ29ubmVjdGluZyJdfSw4OTkxOShlKXtlLmV4cG9ydHM9WyJDb250cmFjdCBleHBpcmVkIl19LDIxODgxNyhlKXtlLmV4cG9ydHM9WyJDb29yZGluYXRlcyJdfSwzNjY5NTIoZSl7ZS5leHBvcnRzPVsiQ29wZW5oYWdlbiJdfSwzNTE4NDIoZSl7ZS5leHBvcnRzPVsiQ2Fpcm8iXX0sODg0MTYzKGUpe2UuZXhwb3J0cz1bIkNhbWVsb3QgdjIgKEFyYml0cnVtKSJdfSw2Nzc2ODMoZSl7ZS5leHBvcnRzPVsiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIl19LDYzMzkwNyhlKXtlLmV4cG9ydHM9WyJDYW4ndCBhcHBseSB0aGlzIGluZGljYXRvciJdfSwzNTU4MzYoZSl7ZS5leHBvcnRzPVsiQ2FuJ3QgZmluZCB0aGlzIHNjcmlwdCJdfSw3NDM1NjMoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDE1MTg5KGUpe2UuZXhwb3J0cz1bIkNhbmFkYSJdfSw4MDc3NihlKXtlLmV4cG9ydHM9WyJDYXBpdGFsLmNvbSJdfSwKNTcyNDI3KGUpe2UuZXhwb3J0cz1bIkNhcmFjYXMiXX0sMjUyNDIyKGUpe2UuZXhwb3J0cz1bIkNhc2FibGFuY2EiXX0sNzI4ODQ3KGUpe2UuZXhwb3J0cz1bIkNib2UgQXVzdHJhbGlhIl19LDk0NTAxOChlKXtlLmV4cG9ydHM9WyJDYm9lIENhbmFkYSJdfSw3NjQxNDUoZSl7ZS5leHBvcnRzPVsiQ2V0dXMgKFN1aSkiXX0sMTkzMjgzKGUpe2UuZXhwb3J0cz1bIkNlbnRlciJdfSw2NzM0ODcoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIl19LDY5Mjc2NyhlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgU3ltYm9sIl19LDU5Nzc3MChlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgaW50ZXJ2YWwiXX0sODQzMzY3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0ICN7aW5kZXh9Il19LDYyNTc4OChlKXtlLmV4cG9ydHM9WyJDaGFydCBQcm9wZXJ0aWVzIl19LDYyODQzMChlKXtlLmV4cG9ydHM9WyJDaGFydCBmb3Ige3N5bWJvbH0sIHtpbnRlcnZhbH0iXX0sMzU0Njc2KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHRlbXBsYXRlIl19LDgxODg0NihlKXtlLmV4cG9ydHM9WyJDaGF0aGFtIElzbGFuZHMiXX0sODIxNDQ4KGUpe2UuZXhwb3J0cz1bIkNoaWNhZ28iXX0sOTA0MzM4KGUpe2UuZXhwb3J0cz1bIkNoaWxlIl19LDIwOTYzMihlKXtlLmV4cG9ydHM9WyJDaG9uZ3FpbmciXX0sMjUyOTUxKGUpe2UuZXhwb3J0cz1bIkNpdHkgSW5kZXgiXX0sMjI4NDQ5KGUpe2UuZXhwb3J0cz1bIkNyeXB0by5jb20iXX0sODc2MTYoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIG5ldyBsaXN0Il19LDkyNDAwNihlKXtlLmV4cG9ydHM9WyJDcmVhdGVkIHdpdGgge2N1c3RvbWVyfSwge2RhdGV9Il19LDQwNzQoZSl7ZS5leHBvcnRzPVsiQ3JvYXRpYSJdfSwxMDQzMzEoZSl7ZS5leHBvcnRzPVsiQ3VydmUgKEFyYml0cnVtKSJdfSw0MDkwMihlKXtlLmV4cG9ydHM9WyJDdXJ2ZSAoRXRoZXJldW0pIl19LDYzNDczNyhlKXtlLmV4cG9ydHM9WyJDeXBydXMiXX0sMTI5ODA4KGUpe2UuZXhwb3J0cz1bIkN6ZWNoIFJlcHVibGljIl19LDI5OTk3KGUpe2UuZXhwb3J0cz1bIkFOWCJdfSwxNzQxNTIoZSl7ZS5leHBvcnRzPVsiQURYIOKAlCBBYnUgRGhhYmkgU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw3Njk4MjgoZSl7ZS5leHBvcnRzPVsiQVFVSVMg4oCUIEFxdWlzIFN0b2NrIEV4Y2hhbmdlIl19LDc0MTU3MyhlKXtlLmV4cG9ydHM9WyJBU1gg4oCUIEF1c3RyYWxpYW4gU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw2NDExNzYoZSl7ZS5leHBvcnRzPVsiQVRIRVgg4oCUIEF0aGVucyBTdG9jayBFeGNoYW5nZSJdfSwyMTM0NyhlKXtlLmV4cG9ydHM9WyJBbXN0ZXJkYW0iXX0sNzQ2ODcyKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpYyJdfSw4Mjc5MDIoZSl7ZS5leHBvcnRzPVsiQW5jaG9yYWdlIl19LDgwMzIxMChlKXtlLmV4cG9ydHM9WyJBYmF4eCBFeGNoYW5nZSJdfSw0ODc2OShlKXtlLmV4cG9ydHM9WyJBY3RpdlRyYWRlcyJdfSw1NDIyKGUpe2UuZXhwb3J0cz1bIkFjY2VzcyBlcnJvciJdfSwzNDQzMjAoZSl7ZS5leHBvcnRzPVsiQWRkIFN5bWJvbCJdfSw5NzE4OChlKXtlLmV4cG9ydHM9WyJBZGQgYWxlcnQgb24ge3RpdGxlfSJdfSw3MTU4MzgoZSl7ZS5leHBvcnRzPVsiQWRkIGFsZXJ0IG9uIHt0aXRsZX0gYXQge3ByaWNlfSJdfSw5MDM0NDMoZSl7ZS5leHBvcnRzPVsiQWRkIHRleHQiXX0sMzQzMzMxKGUpe2UuZXhwb3J0cz1bIkFkZCB0ZXh0IG5vdGUgZm9yIHtzeW1ib2x9Il19LDIzMDIyNChlKXtlLmV4cG9ydHM9WyJBZGQgdG8gdGV4dCBub3RlcyJdfSw1Nzk5MzQoZSl7ZS5leHBvcnRzPVsiQWRkIHtzeW1ib2x9IHRvIHdhdGNobGlzdCJdfSw1MDE1MDIoZSl7ZS5leHBvcnRzPVsiQWRlbGFpZGUiXX0sMjE3ODY0KGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSAoQmFzZSkiXX0sOTI1MjEyKGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSBTbGlwU3RyZWFtIChCYXNlKSJdfSw2MTYzNzUoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIGludmlzaWJsZSJdfSwzNTY4NDIoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIHZpc2libGUiXX0sMzA1NjQyKGUpe2UuZXhwb3J0cz1bIkFsbCBFeGNoYW5nZXMiXX0sMjI1ODY5KGUpe2UuZXhwb3J0cz1bIkFsbCBnb29kIHRoaW5ncyBtdXN0IGNvbWUgdG8gYW4gZW5kIC0gdGhpcyBjb250cmFjdCBoYXMgcmVhY2hlZCBleHBpcnkhIl19LDc3NzkyMChlKXtlLmV4cG9ydHM9WyJBbGwncyB3ZWxsIOKAlCBtYXJrZXQgaXMgb3Blbi4iXX0sOTI0MTc2KGUpe2UuZXhwb3J0cz1bIkFwcGx5IHRoZXNlIGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSw1MjY3ODUoZSl7ZS5leHBvcnRzPVsiQXByIl19LDE1NTg1MihlKXtlLmV4cG9ydHM9WyJBcHJpbCJdfSw2Njg0MDMoZSl7ZS5leHBvcnRzPVsiQXJjYSDigJQgTllTRSBBcmNhIl19LDg1NzU4NyhlKXtlLmV4cG9ydHM9WyJBcmdlbnRpbmEiXX0sNDk1NzAzKGUpe2UuZXhwb3J0cz1bIkFzdGFuYSJdfSwzMTkwNDQoZSl7ZS5leHBvcnRzPVsiQXNoZ2FiYXQiXX0sMTU5MDYzKGUpe2UuZXhwb3J0cz1bIkF0IGNsb3NlIl19LDk4NDE3MShlKXtlLmV4cG9ydHM9WyJBdGhlbnMiXX0sMjI4MDEzKGUpe2UuZXhwb3J0cz1bIkF1dG8iXX0sNjMzNzUyKGUpe2UuZXhwb3J0cz1bIkF1dG8gKGZpdHMgZGF0YSB0byBzY3JlZW4pIl19LDkzNzYyKGUpe2UuZXhwb3J0cz1bIkF1ZyJdfSw5NTk3NzIoZSl7ZS5leHBvcnRzPVsiQXVndXN0Il19LDI3OTIzMyhlKXtlLmV4cG9ydHM9WyJBdXN0cmFsaWEiXX0sMjM4Mjc4KGUpe2UuZXhwb3J0cz1bIkF1c3RyaWEiXX0sODE0MTQ2KGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGFiZWwiXX0sNjkzNDYwKGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGluZSJdfSwzODQ5NjQoZSl7ZS5leHBvcnRzPVsiQXpvcmVzIl19LDk0ODczNChlKXtlLmV4cG9ydHM9WyJCMlBSSU1FIl19LDQ3OTM0MShlKXtlLmV4cG9ydHM9WyJCMyDigJQgQnJhc2lsIEJvbHNhIEJhbGNhbyBTLkEuIl19LDkxMTQ1NihlKXtlLmV4cG9ydHM9WyJCTUUg4oCUIEJvbHNhIGRlIE1hZHJpZCJdfSwzMDk0MjcoZSl7ZS5leHBvcnRzPVsiQk1WIOKAlCBNZXhpY2FuIFN0b2NrIEV4Y2hhbmdlIl19LDI5NDQoZSl7CmUuZXhwb3J0cz1bIkJDSEFJTiAoTmFzZGFxIERhdGEgTGluaykiXX0sMTA0MjAwKGUpe2UuZXhwb3J0cz1bIkJFTEVYIOKAlCBCZWxncmFkZSBTdG9jayBFeGNoYW5nZSJdfSw3NDEzNDEoZSl7ZS5leHBvcnRzPVsiQkVUIOKAlCBCdWRhcGVzdCBTdG9jayBFeGNoYW5nZSJdfSwxNDQ2NShlKXtlLmV4cG9ydHM9WyJCSEIg4oCUIEJhaHJhaW4gU3RvY2sgRXhjaGFuZ2UiXX0sMjg5NjcwKGUpe2UuZXhwb3J0cz1bIkJJU1Qg4oCUIEJvcnNhIElzdGFuYnVsIl19LDU4MjI0OShlKXtlLmV4cG9ydHM9WyJCSVZBIOKAlCBCb2xzYSBJbnN0aXR1Y2lvbmFsIGRlIFZhbG9yZXMiXX0sOTQ1NzYwKGUpe2UuZXhwb3J0cz1bIkJTRSDigJQgQm9tYmF5IFN0b2NrIEV4Y2hhbmdlIl19LDE0NzU2OShlKXtlLmV4cG9ydHM9WyJCU1NFIOKAlCBCcmF0aXNsYXZhIFN0b2NrIEV4Y2hhbmdlIl19LDQ0NzIyNChlKXtlLmV4cG9ydHM9WyJCVEMgQ2hpbmEiXX0sODMyNTc0KGUpe2UuZXhwb3J0cz1bIkJUQy1FIl19LDY5NDMxNihlKXtlLmV4cG9ydHM9WyJCVENDIl19LDgxMTE3NShlKXtlLmV4cG9ydHM9WyJCVFNFIl19LDc2NTY5MyhlKXtlLmV4cG9ydHM9WyJCVkIg4oCUIEJ1Y2hhcmVzdCBTdG9jayBFeGNoYW5nZSJdfSwxODQ2MTkoZSl7ZS5leHBvcnRzPVsiQlZDIOKAlCBCb2xzYSBkZSBWYWxvcmVzIGRlIENvbG9tYmlhIl19LDcwNTk1MihlKXtlLmV4cG9ydHM9WyJCVkMg4oCUIENhcmFjYXMgU3RvY2sgRXhjaGFuZ2UiXX0sMzUxMDc2KGUpe2UuZXhwb3J0cz1bIkJWTCDigJQgQm9sc2EgZGUgVmFsb3JlcyBkZSBMaW1hIl19LDU3MzM2KGUpe2UuZXhwb3J0cz1bIkJWTVQg4oCUIFR1bmlzIFN0b2NrIEV4Y2hhbmdlIl19LDc2MjQ2MShlKXtlLmV4cG9ydHM9WyJCWCDigJQgQlggU3dpc3MiXX0sMTE0OTExKGUpe2UuZXhwb3J0cz1bIkJZREZpIl19LDIwNjkwOShlKXtlLmV4cG9ydHM9WyJCWU1BIOKAlCBBcmdlbnRpbmUgU3RvY2sgRXhjaGFuZ2VzIGFuZCBNYXJrZXRzIl19LDg2NTI0NChlKXtlLmV4cG9ydHM9WyJCb3R0b20iXX0sNTAzMzUzKGUpe2UuZXhwb3J0cz1bIkJvZ290YSJdfSwxNjk0MDcoZSl7ZS5leHBvcnRzPVsiQm9yZGVyIl19LDYzNjkyNihlKXtlLmV4cG9ydHM9WyJCYWNrZ3JvdW5kIl19LDUwMDE0NyhlKXtlLmV4cG9ydHM9WyJCYWNrIl19LDU3ODY2NShlKXtlLmV4cG9ydHM9WyJCYWhyYWluIl19LDk3MzU3NChlKXtlLmV4cG9ydHM9WyJCYW5na29rIl19LDQ1MjAxNShlKXtlLmV4cG9ydHM9WyJCYW5nbGFkZXNoIl19LDIyMTM1OShlKXtlLmV4cG9ydHM9WyJCYXNlU3dhcCAoQmFzZSkiXX0sODMzMjQoZSl7ZS5leHBvcnRzPVsiQmVsZ2l1bSJdfSw4MDgzNzcoZSl7ZS5leHBvcnRzPVsiQmVsZ3JhZGUiXX0sNTIzMTI0KGUpe2UuZXhwb3J0cz1bIkJlcmxpbiJdfSwxNTU3NjUoZSl7ZS5leHBvcnRzPVsiQml0TUVYIl19LDY2NDUwNihlKXtlLmV4cG9ydHM9WyJCaXRNYXJ0Il19LDg0NjAyNyhlKXtlLmV4cG9ydHM9WyJCaXRWQyJdfSwxMTU0MShlKXtlLmV4cG9ydHM9WyJCaXRZZXMiXX0sNTU4MDQ0KGUpe2UuZXhwb3J0cz1bIkJpdGF6emEiXX0sNTM2NjA5KGUpe2UuZXhwb3J0cz1bIkJpdGdldCJdfSw3NTgwMjIoZSl7ZS5leHBvcnRzPVsiQml0ZmluZXgiXX0sNzc5MzYoZSl7ZS5leHBvcnRzPVsiQml0a3ViIl19LDY1ODY1MChlKXtlLmV4cG9ydHM9WyJCaXRodW1iIl19LDExOTc5MihlKXtlLmV4cG9ydHM9WyJCaXRzbyJdfSw5NDY2NjYoZSl7ZS5leHBvcnRzPVsiQml0c3RhbXAiXX0sMTQ0MTE0KGUpe2UuZXhwb3J0cz1bIkJpdHJ1ZSJdfSw5MDg0NTUoZSl7ZS5leHBvcnRzPVsiQml0dHJleCJdfSw1Mjg1NzMoZSl7ZS5leHBvcnRzPVsiQml0dW5peCJdfSw3MjA4MzkoZSl7ZS5leHBvcnRzPVsiQml0dmF2byJdfSwyMzE1MDQoZSl7ZS5leHBvcnRzPVsiQmlkIGFuZCBhc2sgbGFiZWxzIl19LDkxOTM3NihlKXtlLmV4cG9ydHM9WyJCaWQgYW5kIGFzayBsaW5lcyJdfSw4Njg4MTAoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IG1vbnRoLiJdfSw5MTM5NTUoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IHllYXIuIl19LDYwNWUzKGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UiXX0sMzExNjc5KGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UuVVMiXX0sNDg3NTM2KGUpe2UuZXhwb3J0cz1bIkJpbmdYIl19LDM0NjA4NihlKXtlLmV4cG9ydHM9WyJCaXN3YXAgdjIgKEJOQiBjaGFpbikiXX0sOTAyNDMzKGUpe2UuZXhwb3J0cz1bIkJsdWViZXJyeSJdfSwzMTU0MjQoZSl7ZS5leHBvcnRzPVsiQmx1ZWZpbiAoU3VpKSJdfSw5MTI4NDEoZSl7ZS5leHBvcnRzPVsiQmxhY2tCdWxsIE1hcmtldHMiXX0sMjgzMjg3KGUpe2UuZXhwb3J0cz1bIkJsYWNraG9sZSB2MyAoQXZhbGFuY2hlKSJdfSw4NDI5ODcoZSl7ZS5leHBvcnRzPVsiQmxvRmluIl19LDM4NTkyNihlKXtlLmV4cG9ydHM9WyJCcnVzc2VscyJdfSw5NDg4MjQoZSl7ZS5leHBvcnRzPVsiQnJhdGlzbGF2YSJdfSw4MzkxNTkoZSl7ZS5leHBvcnRzPVsiQnJhdmUgTmV3IENvaW4iXX0sNjEyOTY3KGUpe2UuZXhwb3J0cz1bIkJyYXppbCJdfSw4OTA2ODkoZSl7ZS5leHBvcnRzPVsiQnJpc2JhbmUiXX0sMTM1NTIzKGUpe2UuZXhwb3J0cz1bIkJ1eSBhbmQgc2VsbCJdfSw2NjQ1MzEoZSl7ZS5leHBvcnRzPVsiQnVjaGFyZXN0Il19LDU5MDI0MyhlKXtlLmV4cG9ydHM9WyJCdWRhcGVzdCJdfSwyMTQxNDQoZSl7ZS5leHBvcnRzPVsiQnVlbm9zIEFpcmVzIl19LDcxNDAzMShlKXtlLmV4cG9ydHM9WyJCdWxnYXJpYSJdfSw4NDc0MjQoZSl7ZS5leHBvcnRzPVsiQnVsZ2FyaWFuIFN0b2NrIEV4Y2hhbmdlIl19LDcxODk2NyhlKXtlLmV4cG9ydHM9WyJCeWJpdCJdfSw1NDk3ODEoZSl7ZS5leHBvcnRzPVsiR08gTWFya2V0cyJdfSwyOTkxNzIoZSl7ZS5leHBvcnRzPVsiR0JFIGJyb2tlcnMiXX0sOTk0MzI0KGUpe2UuZXhwb3J0cz1bIkdQVyDigJQgV2Fyc2F3IFN0b2NrIEV4Y2hhbmdlIl19LDc0NTk5OChlKXtlLmV4cG9ydHM9WyJHbyB0byBkYXRlIl19LDExMTg5OChlKXtlLmV4cG9ydHM9WyJHb3QgaXQiXX0sNDg0MDYwKGUpe2UuZXhwb3J0cz1bIkdhdGUiXX0sMTc3ODU0KGUpewplLmV4cG9ydHM9WyJHZXQgYWNjZXNzIHRvIGZvcmVjYXN0IG1ldHJpY3Mgd2l0aCBhbiB1cGdyYWRlZCBwbGFuLiJdfSw3OTM2MDIoZSl7ZS5leHBvcnRzPVsiR2V0dGV4IC0gR2V0dGV4Il19LDUxODMxMihlKXtlLmV4cG9ydHM9WyJHZW1pbmkiXX0sNDY2Njk4KGUpe2UuZXhwb3J0cz1bIkdlcm1hbnkiXX0sMTA5ODQ2KGUpe2UuZXhwb3J0cz1bIkdsYXNzbm9kZSJdfSw4MDc0NDEoZSl7ZS5leHBvcnRzPVsiREZNIOKAlCBEdWJhaSBGaW5hbmNpYWwgTWFya2V0Il19LDMyMjQ3MShlKXtlLmV4cG9ydHM9WyJESiDigJQgRG93IEpvbmVzIEluZGV4ZXMiXX0sNzA3MTU4KGUpe2UuZXhwb3J0cz1bIkRKIOKAlCBEb3cgSm9uZXMgSW5kaWNlcyJdfSwxMTUyMjQoZSl7ZS5leHBvcnRzPVsiRFNFIOKAlCBEaGFrYSBTdG9jayBFeGNoYW5nZSJdfSw0NTMyMzQoZSl7ZS5leHBvcnRzPVsiRFVTIOKAlCBEdXNzZWxkb3JmIFN0b2NrIEV4Y2hhbmdlIl19LDUyMTc4MihlKXtlLmV4cG9ydHM9WydEb2luZyB0aGlzIHdpbGwgcGVybWFuZW50bHkgZGVsZXRlIHlvdXIgInthbGVydH0iIGFsZXJ0LiddfSwxODU3OTQoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHBlcm1hbmVudGx5IGRlbGV0ZSBhbGwgc2VsZWN0ZWQgYWxlcnRzLiJdfSw0MTIxMTcoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHJlbW92ZSB0aGlzIGluZGljYXRvciBhbmQgZXZlcnl0aGluZyBhdHRhY2hlZCB0byBpdCwgaW5jbHVkaW5nOiJdfSwzNjc1MzgoZSl7ZS5leHBvcnRzPVsiRGF0YSBQcm92aWRlZCBieSJdfSw1MDc3MjkoZSl7ZS5leHBvcnRzPVsiRGF0ZSJdfSw4MzA3MjEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMzU5NjUoZSl7ZS5leHBvcnRzPVsiRGFyd2luZXgiXX0sMzIwNjI3KGUpe2UuZXhwb3J0cz1bIkRlRHVzdC5pbyAoVE9OKSJdfSw3NjkwMzYoZSl7ZS5leHBvcnRzPVsiRGVjIl19LDMwOTY2NihlKXtlLmV4cG9ydHM9WyJEZWNlbWJlciJdfSw0Mzg3MTYoZSl7ZS5leHBvcnRzPVsiRGVlcGNvaW4iXX0sMTYwMjY1KGUpe2UuZXhwb3J0cz1bIkRlZmlMbGFtYSJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw0MzE0NDEoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIl19LDM0MTQ1OChlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSwzNzczMzUoZSl7ZS5leHBvcnRzPVsiRGVsaXN0ZWQgYWxlcnQiXX0sMzQwOTI3KGUpe2UuZXhwb3J0cz1bIkRlbHRhIl19LDU3NjU0OChlKXtlLmV4cG9ydHM9WyJEZWx0YSBFeGNoYW5nZSBJbmRpYSJdfSw4NTI1MDEoZSl7ZS5leHBvcnRzPVsiRGVubWFyayJdfSw4ODk1MjkoZSl7ZS5leHBvcnRzPVsiRGVudmVyIl19LDE1NDk0MChlKXtlLmV4cG9ydHM9WyJEZXJpYml0Il19LDMwMjg2OShlKXtlLmV4cG9ydHM9WyJEZXJpdiJdfSwzNjA2OTAoZSl7ZS5leHBvcnRzPVsiRGhha2EiXX0sMzcxNTQ5KGUpe2UuZXhwb3J0cz1bIkRpc3BsYWNlbWVudCJdfSw0MzY2NjYoZSl7ZS5leHBvcnRzPVsiRGlzcGxhY2VtZW50IChwcmljZSwgYmFyKSJdfSw2MjM3MTYoZSl7ZS5leHBvcnRzPVsiRHJhd2luZ3MgdG9vbGJhciJdfSw0NzMyNzUoZSl7ZS5leHBvcnRzPVsiRHViYWkiXX0sNDMwODY4KGUpe2UuZXhwb3J0cz1bIkR1YmxpbiJdfSwzNjc4MDAoZSl7ZS5leHBvcnRzPVsiRHVlIHRvIGV4Y2hhbmdlIHJlc3RyaWN0aW9ucywgeW91IGFyZSB1bmFibGUgdG8gc3dpdGNoIHRvIGFuIEFTWCBsaXN0ZWQgc3ltYm9sLiBZb3UgY2FuIHZpZXcgdGhlIFN5bWJvbCBvbiB7bGlua1N0YXJ0fVRyYWRpbmdWaWV3e2xpbmtFbmR9Il19LDk4OTI5OChlKXtlLmV4cG9ydHM9WyJFRVgg4oCUIEV1cm9wZWFuIEVuZXJneSBFeGNoYW5nZSJdfSwxOTcxMjUoZSl7ZS5leHBvcnRzPVsiRUdYIOKAlCBFZ3lwdGlhbiBFeGNoYW5nZSJdfSw5Njg1OTYoZSl7ZS5leHBvcnRzPVsiRVVSRVgg4oCUIEV1cmV4IEV4Y2hhbmdlIl19LDYwMTc2NChlKXtlLmV4cG9ydHM9WyJFbmQgb2YgRGF5Il19LDMzNzQzNyhlKXtlLmV4cG9ydHM9WyJFZ3lwdCJdfSw0NTk0NTkoZSl7ZS5leHBvcnRzPVsiRWlnaHRjYXAiXX0sMjM2ODgoZSl7ZS5leHBvcnRzPVsiRXJyYW50ZSJdfSw5NDEyMChlKXtlLmV4cG9ydHM9WyJFc3RvbmlhIl19LDUwODg0NihlKXtlLmV4cG9ydHM9WyJFc2FGWCJdfSw0OTI5ODUoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9UTFgiXX0sOTI0NzY0KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBOViJdfSw5NzAxNjgoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IE9zbG8iXX0sNDgyMDc5KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBBbXN0ZXJkYW0iXX0sMzM3MTU2KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBCcnVzc2VscyJdfSw1ODgzMzYoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IER1YmxpbiJdfSw3OTgzMDIoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IExpc2JvbiJdfSwzMjI4MzEoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IFBhcmlzIl19LDQ0ODY3MShlKXtlLmV4cG9ydHM9WyJFdmVuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcG9zdC1tYXJrZXQgdHJhZGluZy4iXX0sMTMyMzg5KGUpe2UuZXhwb3J0cz1bIkV4dGVuZCBsZWZ0IGxpbmUiXX0sMzc0NTczKGUpe2UuZXhwb3J0cz1bIkV4dGVuZCByaWdodCBsaW5lIl19LDgyNjYwNyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSJdfSwyNzI0NDIoZSl7ZS5leHBvcnRzPVsiRk9SRVguY29tIl19LDg5NTUxNihlKXtlLmV4cG9ydHM9WyJGSU5SQSDigJQgRklOUkEgQWdlbmN5IERlYnQgVHJhZGUgRGlzc2VtaW5hdGlvbiBTZXJ2aWNlIl19LDI0MjgyNihlKXtlLmV4cG9ydHM9WyJGSU5SQSBCVERTIOKAlCBGSU5SQSBCb25kIFRyYWRlIERpc3NlbWluYXRpb24gU2VydmljZSJdfSw2ODU2MDYoZSl7ZS5leHBvcnRzPVsiRlAgTWFya2V0cyJdfSw2NzcwODAoZSl7ZS5leHBvcnRzPVsiRlJBIOKAlCBGcmFua2Z1cnQgU3RvY2sgRXhjaGFuZ2UiXX0sOTI3MjMwKGUpe2UuZXhwb3J0cz1bIkZTRSDigJQgRnVrdW9rYSBTdG9jayBFeGNoYW5nZSJdfSwKMzkyMDY3KGUpe2UuZXhwb3J0cz1bIkZUU0UgU1QgSW5kZXggU2VyaWVzIl19LDE3OTI1NyhlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBHcm91cCBJbmRpY2VzIl19LDg1NTQ3OShlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBGVFNFIEluZGljZXMiXX0sOTEwNjAxKGUpe2UuZXhwb3J0cz1bIkZXQiDigJQgRnJhbmtmdXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDk5MjcyNihlKXtlLmV4cG9ydHM9WyJGWENNIl19LDExNDExNShlKXtlLmV4cG9ydHM9WyJGWFRGIl19LDU5NTgzOChlKXtlLmV4cG9ydHM9WyJGb3J3YXJkIl19LDYxNzM0MShlKXtlLmV4cG9ydHM9WyJGZWIiXX0sMzM2MzAoZSl7ZS5leHBvcnRzPVsiRmVicnVhcnkiXX0sODAyODU1KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBCYW5rIG9mIE5ldyBZb3JrIl19LDIwNTExNyhlKXtlLmV4cG9ydHM9WyJGZWRlcmFsIFJlc2VydmUgQmFuayBvZiBQaGlsYWRlbHBoaWEiXX0sNTcxMDA2KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBFY29ub21pYyBEYXRhIl19LDk3NjQ1NChlKXtlLmV4cG9ydHM9WyJGaW5sYW5kIl19LDM0NzgzMyhlKXtlLmV4cG9ydHM9WyJGaXJzdCBiYXIgdGltZSJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwxMzYyMzgoZSl7ZS5leHBvcnRzPVsiRnJhbmNlIl19LDQyOTk5MShlKXtlLmV4cG9ydHM9WyJGcmkiXX0sMzE4NTI1KGUpe2UuZXhwb3J0cz1bIkZyaWRheSJdfSwxMjAzMTkoZSl7ZS5leHBvcnRzPVsiRnVzaW9uIE1hcmtldHMiXX0sMzYxNDAwKGUpe2UuZXhwb3J0cz1bIkZ4UHJvIl19LDI1ODE5NChlKXtlLmV4cG9ydHM9WyJLQ0JUIEZ1dHVyZXMiXX0sNDk4ODk2KGUpe2UuZXhwb3J0cz1bIktDRVgiXX0sOTYxMjg5KGUpe2UuZXhwb3J0cz1bIktSWCDigJQgS29yZWEgU3RvY2sgRXhjaGFuZ2UiXX0sNzY2MDQwKGUpe2UuZXhwb3J0cz1bIktTRSDigJQgS3V3YWl0IFN0b2NrIEV4Y2hhbmdlIl19LDI4ODY1MShlKXtlLmV4cG9ydHM9WyJLb2xrYXRhIl19LDk4MDczOShlKXtlLmV4cG9ydHM9WyJLYXRhbmEgKFJvbmluKSJdfSwxNTc2MDUoZSl7ZS5leHBvcnRzPVsiS2F0YW5hIHYzIChSb25pbikiXX0sMjgyNDcoZSl7ZS5leHBvcnRzPVsiS2F0aG1hbmR1Il19LDQ4MDU1MyhlKXtlLmV4cG9ydHM9WyJLYWJ1bCJdfSw5MDkyMjQoZSl7ZS5leHBvcnRzPVsiS2FnaSJdfSw1ODU0NDIoZSl7ZS5leHBvcnRzPVsiS2FyYWNoaSJdfSw4NzY2NTkoZSl7ZS5leHBvcnRzPVsiS2VlcCBkcmF3aW5nIl19LDgxNDk2NihlKXtlLmV4cG9ydHM9WyJLZW55YSJdfSwxOTAxMjMoZSl7ZS5leHBvcnRzPVsiS3Jha2VuIl19LDM5NTEzMChlKXtlLmV4cG9ydHM9WyJLdXdhaXQiXX0sNDA4NDA4KGUpe2UuZXhwb3J0cz1bIkt1Q29pbiJdfSwzNDcwNjQoZSl7ZS5leHBvcnRzPVsiS3VhbGEgTHVtcHVyIl19LDEwNTg1NShlKXtlLmV4cG9ydHM9WyJITlgg4oCUIEhhbm9pIFN0b2NrIEV4Y2hhbmdlIl19LDk5MTQ1KGUpe2UuZXhwb3J0cz1bIkhOWCDigJQgSGFub2kgU3RvY2sgRXhjaGFuZ2UgKFVQQ29NKSJdfSwyODk1NjkoZSl7ZS5leHBvcnRzPVsiSE9TRSDigJQgSG8gQ2hpIE1pbmggQ2l0eSBTdG9jayBFeGNoYW5nZSJdfSw4ODU1NTAoZSl7ZS5leHBvcnRzPVsiSEFNIOKAlCBIYW1idXJnIFN0b2NrIEV4Y2hhbmdlIl19LDQ2NjQ4KGUpe2UuZXhwb3J0cz1bIkhBTiDigJQgSGFubm92ZXIgU3RvY2sgRXhjaGFuZ2UiXX0sMjk4MTgwKGUpe2UuZXhwb3J0cz1bIkhFWCDigJQgTmFzZGFxIEhlbHNpbmtpIl19LDY2OTgzNyhlKXtlLmV4cG9ydHM9WyJIS0VYIOKAlCBIb25nIEtvbmcgRXhjaGFuZ2UiXX0sMjk1NTU1KGUpe2UuZXhwb3J0cz1bIkhTSSDigJQgSGFuZyBTZW5nIEluZGljZXMiXX0sOTE1NjQxKGUpe2UuZXhwb3J0cz1bIkhUWCJdfSw0NjI3MDIoZSl7ZS5leHBvcnRzPVsiSG8gQ2hpIE1pbmgiXX0sOTI2NDAzKGUpe2UuZXhwb3J0cz1bIkhvdXJzIl19LDQwNjczKGUpe2UuZXhwb3J0cz1bIkhvbmV5c3dhcCB2MiAoR25vc2lzKSJdfSw5ODIxOTcoZSl7ZS5leHBvcnRzPVsiSG9uZyBLb25nIl19LDQ2Mzc3OShlKXtlLmV4cG9ydHM9WyJIb25nIEtvbmcsIENoaW5hIl19LDg5OTc5MShlKXtlLmV4cG9ydHM9WyJIb25vbHVsdSJdfSw3ODg4MzcoZSl7ZS5leHBvcnRzPVsiSG9yaXpvbnRhbCJdfSw1ODIzODYoZSl7ZS5leHBvcnRzPVsiSGFsaWZheCJdfSwzMzExMDUoZSl7ZS5leHBvcnRzPVsiSGV5IHRoZXJlLCBuaWdodCBvd2wuIE1hcmtldCBpcyBjdXJyZW50bHkgb3BlbiBmb3Igb3Zlcm5pZ2h0IHRyYWRpbmcuIFRoZSBkYXRhIGR1cmluZyB0aGlzIHNlc3Npb24gaXMgcHJvdmlkZWQgYnkgdGhlIEJPQVRTIGV4Y2hhbmdlLiJdfSw3NDgxODIoZSl7ZS5leHBvcnRzPVsiSGVpa2luIEFzaGkiXX0sNjE1MTQwKGUpe2UuZXhwb3J0cz1bIkhlbHNpbmtpIl19LDc2OTM5MShlKXtlLmV4cG9ydHM9WyJIaWRlIl19LDgyNDk5MyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCJdfSw4MDk5MzkoZSl7ZS5leHBvcnRzPVsiSGlkZSBhbGwgZHJhd2luZ3MiXX0sODAwMzQ5KGUpe2UuZXhwb3J0cz1bIkhpZGUgYWxsIGRyYXdpbmdzIGFuZCBpbmRpY2F0b3JzIl19LDg2NjMzMChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5ncywgaW5kaWNhdG9ycywgcG9zaXRpb25zLCBhbmQgb3JkZXJzIl19LDk4ODI2MChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5nIHRvb2xzIl19LDUzOTM0OShlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBpbmRpY2F0b3JzIl19LDg0NjQxMyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBwb3NpdGlvbnMgYW5kIG9yZGVycyJdfSwxNTcyMTAoZSl7ZS5leHBvcnRzPVsiSGlkZSBkcmF3aW5ncyJdfSw4MDc4ODAoZSl7ZS5leHBvcnRzPVsiSGlkZSBpbmRpY2F0b3JzIl19LDEzOTM1NShlKXtlLmV4cG9ydHM9WyJIaWRlIG1hcmtzIG9uIGJhcnMiXX0sNzYyOTg4KGUpe2UuZXhwb3J0cz1bIkhpZGUgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sODQ1NTYzKGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sODIzNDMwKGUpe2UuZXhwb3J0cz1bIkhpZ2ggYW5kIGxvdyBwcmljZSBsYWJlbHMiXX0sMjU2MjIwKGUpewplLmV4cG9ydHM9WyJIaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMiXX0sNjYwNjA5KGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDQ2OTIwKGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVRpY2tzIFBlciBSb3d7Ym9sZEhpZ2hsaWdodEVuZH0gaW4gdGhlIHNldHRpbmdzIHdpbmRvdy4iXX0sMzMzMDkoZSl7ZS5leHBvcnRzPVsiSGlzdG9ncmFtIGlzIHRvbyBsYXJnZSwgcGxlYXNlIHJlZHVjZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDY2MTM2NihlKXtlLmV4cG9ydHM9WyJIdW5nYXJ5Il19LDIzMjMwMShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoSHlwZXJsaXF1aWQpIl19LDYzNDE4NShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoUEFSQSBISVAtMykiXX0sNjMyMzAzKGUpe2UuZXhwb3J0cz1bIkh5cGVybGlxdWlkIChYWVogSElQLTMpIl19LDcwOTIxMihlKXtlLmV4cG9ydHM9WyJJQyBNYXJrZXRzIl19LDQwMzQzMChlKXtlLmV4cG9ydHM9WyJJQ0UgRGF0YSBTZXJ2aWNlcyJdfSw3NDQzMShlKXtlLmV4cG9ydHM9WyJJQ0UgRnV0dXJlcyBTaW5nYXBvcmUiXX0sMzQ0MzQ1KGUpe2UuZXhwb3J0cz1bIklDRUFEIOKAlCBJQ0UgRnV0dXJlcyBBYnUgRGhhYmkiXX0sMjE5ODMzKGUpe2UuZXhwb3J0cz1bIklDRUVOREVYIOKAlCBJQ0UgRW5kZXgiXX0sNjU1NTI3KGUpe2UuZXhwb3J0cz1bIklDRUVVUiDigJQgSUNFIEZ1dHVyZXMgRXVyb3BlIENvbW1vZGl0aWVzIl19LDk3NTU1OChlKXtlLmV4cG9ydHM9WyJJQ0VFVVIg4oCUIElDRSBGdXR1cmVzIEV1cm9wZSBGaW5hbmNpYWxzIl19LDUyODgxMChlKXtlLmV4cG9ydHM9WyJJQ0VVUyDigJQgSUNFIEZ1dHVyZXMgVS5TLiJdfSw1NDU2MTYoZSl7ZS5leHBvcnRzPVsiSUNFVVNDQSDigJQgSUNFIEZ1dHVyZXMgVS5TLiBDb21tb2RpdGllcyAtIENhbmFkaWFuIEdyYWlucyJdfSwxODk1OTAoZSl7ZS5leHBvcnRzPVsiSUNFWCDigJQgTmFzZGFxIEljZWxhbmQiXX0sNzUxMDU4KGUpe2UuZXhwb3J0cz1bIklEWCDigJQgSW5kb25lc2lhIFN0b2NrIEV4Y2hhbmdlIl19LDE1Njk2NChlKXtlLmV4cG9ydHM9WyJJRyJdfSwzMzUxMjIoZSl7ZS5leHBvcnRzPVsiSVNUIOKAlCBJc3RhbmJ1bCBTdG9jayBFeGNoYW5nZSJdfSwyODg0MzIoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWxzIGxlc3MgdGhhbiB7cmVzb2x1dGlvbn0gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw5NDI0NihlKXtlLmV4cG9ydHM9WyJJbnRlcmFjdGl2ZSBCcm9rZXJzIl19LDE1OTI1KGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxNTIwNTQoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sMzcyNTIwKGUpe2UuZXhwb3J0cz1bIkluZGlhIl19LDM0MjQ2MyhlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3JzIGFuZCBmaW5hbmNpYWxzIHZhbHVlIGxhYmVscyJdfSwzOTQ0NzgoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyBhbmQgZmluYW5jaWFscyBuYW1lIGxhYmVscyJdfSw4MDI5NzUoZSl7ZS5leHBvcnRzPVsiSW5kb25lc2lhIl19LDMwMjkzMShlKXtlLmV4cG9ydHM9WyJJbnB1dHMiXX0sNzI0OTA5KGUpe2UuZXhwb3J0cz1bIkluc2VydCBpbmRpY2F0b3IiXX0sOTEzNjUxKGUpe2UuZXhwb3J0cz1bIkluc3RpdHV0ZSBmb3IgU3VwcGx5IE1hbmFnZW1lbnQiXX0sMzI4MzEzKGUpe2UuZXhwb3J0cz1bIkluc3RydW1lbnQgaXMgbm90IGFsbG93ZWQiXX0sNDQwMTg4KGUpe2UuZXhwb3J0cz1bIkljZWxhbmQiXX0sMTQyMzA4KGUpe2UuZXhwb3J0cz1bIklkZWFzIG9uIGNoYXJ0Il19LDExNjc2OChlKXtlLmV4cG9ydHM9WyJJZiB5b3UgcmVtb3ZlIHRoaXMgZHJhd2luZyBmcm9tIHRoZSBjaGFydCwgdGhlIGFsZXJ0IGJhc2VkIG9uIGl0IHdpbGwgYWxzbyBiZSBkZWxldGVkLiJdfSw3MTE1MjcoZSl7ZS5leHBvcnRzPVsiSXJlbGFuZCJdfSwyMDc3OTgoZSl7ZS5leHBvcnRzPVsiSXN0YW5idWwiXX0sODAzMzU0KGUpe2UuZXhwb3J0cz1bIklzcmFlbCJdfSwzODYzNzcoZSl7ZS5leHBvcnRzPVsiSXQgc2VlbXMgdGhlcmUncyBhbiBlcnJvciBpbiB0aGlzIHNjcmlwdC4gVHJ5IHJlYWNoaW5nIG91dCB0byB0aGUgc2NyaXB0J3MgYXV0aG9yIGZvciBoZWxwLiJdfSw2MzE0MzgoZSl7ZS5leHBvcnRzPVsiSXQnbGwgY2xvc2UgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw0MDQ1NChlKXtlLmV4cG9ydHM9WyJJdCdsbCBnbyB0byBwb3N0LW1hcmtldCB0cmFkaW5nIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sNzc5MzQwKGUpe2UuZXhwb3J0cz1bIkl0J2xsIG9wZW4gZm9yIHByZS1tYXJrZXQgdHJhZGluZyBpbiB7cmVtYWluaW5nVGltZX0uIl19LDI4MTM4NihlKXtlLmV4cG9ydHM9WyJJdCdsbCBvcGVuIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sODk4MTYzKGUpe2UuZXhwb3J0cz1bIkl0YWx5Il19LDM2MTkyMChlKXtlLmV4cG9ydHM9WyJJdOKAmWxsIG9wZW4gZnVsbHkgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw5MzEyMzIoZSl7ZS5leHBvcnRzPVsiSkZYIl19LDgxOTI4OShlKXtlLmV4cG9ydHM9WyJKU0Ug4oCUIEpvaGFubmVzYnVyZyBTdG9jayBFeGNoYW5nZSJdfSwyNzAzMzAoZSl7ZS5leHBvcnRzPVsiSm9oYW5uZXNidXJnIl19LDMzMTMwKGUpe2UuZXhwb3J0cz1bIkpha2FydGEiXX0sNjU3Mzc0KGUpe2UuZXhwb3J0cz1bIkphbiJdfSw5NDQ3ODQoZSl7ZS5leHBvcnRzPVsiSmFudWFyeSJdfSwyMDAwNjgoZSl7ZS5leHBvcnRzPVsiSmFwYW4iXX0sNzA0ODMxKGUpe2UuZXhwb3J0cz1bIkplcnVzYWxlbSJdfSwxODM5NTkoZSl7ZS5leHBvcnRzPVsiSnVsIl19LDkyNDY4OShlKXtlLmV4cG9ydHM9WyJKdWx5Il19LDg3NzQ1KGUpe2UuZXhwb3J0cz1bIkp1biJdfSw0MDI0ODIoZSl7ZS5leHBvcnRzPVsiSnVuZSJdfSwyMDI2MzEoZSl7CmUuZXhwb3J0cz1bIkp1bmVhdSJdfSwzMzMzNDkoZSl7ZS5leHBvcnRzPVsiT01YIOKAlCBOYXNkYXEgT01YIEdyb3VwIl19LDcyMDI4NyhlKXtlLmV4cG9ydHM9WyJPTVhCQUxUSUMiXX0sNTExMjcoZSl7ZS5leHBvcnRzPVsiT01YTk9SRElDIl19LDE4MTgxNShlKXtlLmV4cG9ydHM9WyJPTVhSIOKAlCBOYXNkYXEgUmlnYSJdfSw2OTUxODQoZSl7ZS5leHBvcnRzPVsiT0FOREEiXX0sODMxNTY4KGUpe2UuZXhwb3J0cz1bIk9LWCJdfSwxMjQwMzcoZSl7ZS5leHBvcnRzPVsiT1NFIOKAlCBPc2FrYSBFeGNoYW5nZSJdfSw5NDA0MTMoZSl7ZS5leHBvcnRzPVsiT1RDIOKAlCBPVEMgTWFya2V0cyJdfSw4NzI5ODAoZSl7ZS5leHBvcnRzPVsiT24gdGhlIGxlZnQiXX0sMzYzMzcwKGUpe2UuZXhwb3J0cz1bIk9uIHRoZSByaWdodCJdfSwzODI4MyhlKXtlLmV4cG9ydHM9WyJPbmx5IHthdmFpbGFibGVSZXNvbHV0aW9uc30gaW50ZXJ2YWxzIGFyZSBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw3MjgzMzcoZSl7ZS5leHBvcnRzPVsiT2N0Il19LDgxNDUwMShlKXtlLmV4cG9ydHM9WyJPY3RvYmVyIl19LDIwODA3OChlKXtlLmV4cG9ydHM9WyJPayJdfSw1OTQxNzAoZSl7ZS5leHBvcnRzPVsiT3B0aW9ucyBQcmljZSBSZXBvcnRpbmcgQXV0aG9yaXR5Il19LDk3NzgxKGUpe2UuZXhwb3J0cz1bIk9wZW4iXX0sMzMyMDcwKGUpe2UuZXhwb3J0cz1bIk9wb2ZpbmFuY2UiXX0sMTcwNDI4KGUpe2UuZXhwb3J0cz1bIk9yY2EgKFNvbGFuYSkiXX0sODQ5NzM4KGUpe2UuZXhwb3J0cz1bIk9zbG8iXX0sNDM5NTQ5KGUpe2UuZXhwb3J0cz1bIk9zbWFubGkgRlgiXX0sNzg5MjQzKGUpe2UuZXhwb3J0cz1bIkxNRSDigJQgTG9uZG9uIE1ldGFsIEV4Y2hhbmdlIl19LDE1OTYyOChlKXtlLmV4cG9ydHM9WyJMQmFuayJdfSw4NDM1MTQoZSl7ZS5leHBvcnRzPVsiTEZKIFYyLjIgKEF2YWxhbmNoZSkiXX0sMzEzOTY0KGUpe2UuZXhwb3J0cz1bIkxKU0Ug4oCUIExqdWJsamFuYSBTdG9jayBFeGNoYW5nZSJdfSwxNDM4MDMoZSl7ZS5leHBvcnRzPVsiTFNFIOKAlCBMb25kb24gU3RvY2sgRXhjaGFuZ2UgKFVLIENvbXBhbmllcykiXX0sMzQ3MzM3KGUpe2UuZXhwb3J0cz1bIkxTSU4g4oCUIExvbmRvbiBTdG9jayBFeGNoYW5nZSAoSW50ZXJuYXRpb25hbCBDb21wYW5pZXMpIl19LDg4ODY3OChlKXtlLmV4cG9ydHM9WyJMb3ciXX0sMzY1MDYxKGUpe2UuZXhwb3J0cz1bIkxvd2VyIERldmlhdGlvbiJdfSwzNzI3MzIoZSl7ZS5leHBvcnRzPVsiTG9hZGluZyJdfSw3NTQzMTAoZSl7ZS5leHBvcnRzPVsiTG9jay91bmxvY2siXX0sODgyNzYoZSl7ZS5leHBvcnRzPVsiTG9jayB2ZXJ0aWNhbCBjdXJzb3IgbGluZSBieSB0aW1lIl19LDQxMTc2OChlKXtlLmV4cG9ydHM9WyJMb2NrIHByaWNlIHRvIGJhciByYXRpbyJdfSw1MDM1NTgoZSl7ZS5leHBvcnRzPVsiTG9nYXJpdGhtaWMiXX0sMjQ2NTA3KGUpe2UuZXhwb3J0cz1bIkxvbmRvbiJdfSw0MDg0MjYoZSl7ZS5leHBvcnRzPVsiTG9zIEFuZ2VsZXMiXX0sMjgyNzczKGUpe2UuZXhwb3J0cz1bIkxhdHZpYSJdfSw4NzQ2MShlKXtlLmV4cG9ydHM9WyJMYWRkZXIiXX0sOTUwNTE2KGUpe2UuZXhwb3J0cz1bIkxhZ29zIl19LDg4MDQ3MShlKXtlLmV4cG9ydHM9WyJMYW5nICYgU2Nod2FyeiBUcmFkZUNlbnRlciBBRyAmIENvLiBLRyJdfSw3NDM5NyhlKXtlLmV4cG9ydHM9WyJMYXN0IGJhciB0aW1lIl19LDMxNDY3KGUpe2UuZXhwb3J0cz1bIkxhc3QgZGF5IGNoYW5nZSJdfSw1MDQzNjEoZSl7ZS5leHBvcnRzPVsiTGV2ZWxzIl19LDY0NDc4MChlKXtlLmV4cG9ydHM9WyJMZWFybiB3aHkiXX0sNjQ4ODE2KGUpe2UuZXhwb3J0cz1bIkxlZnQiXX0sODkyMTAwKGUpe2UuZXhwb3J0cz1bIkxpdGh1YW5pYSJdfSwxNTc1MDAoZSl7ZS5leHBvcnRzPVsiTGltYSJdfSw1Mjc5MTIoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxMDM2MTcoZSl7ZS5leHBvcnRzPVsiTGluZSBCcmVhayJdfSw1MDcyKGUpe2UuZXhwb3J0cz1bIkxpc2JvbiJdfSw0MjIwMDcoZSl7ZS5leHBvcnRzPVsiTGp1YmxqYW5hIl19LDQzNjI1MyhlKXtlLmV4cG9ydHM9WyJMdXhTRSDigJQgTHV4ZW1ib3VyZyBTdG9jayBFeGNoYW5nZSJdfSw5NzU0NDcoZSl7ZS5leHBvcnRzPVsiTHV4ZW1ib3VyZyJdfSwzMjM4OTQoZSl7ZS5leHBvcnRzPVsiTHVuYXJDcnVzaCJdfSwxNTI1MTUoZSl7ZS5leHBvcnRzPVsiTU0gRmluYW5jZSAoQ3Jvbm9zKSJdfSw3NjAwNjkoZSl7ZS5leHBvcnRzPVsiTUFUU1VJIl19LDUwMjc4KGUpe2UuZXhwb3J0cz1bIk1DWCDigJQgTXVsdGkgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDI1MTU5MShlKXtlLmV4cG9ydHM9WyJNRVhDIl19LDc2MTU5NihlKXtlLmV4cG9ydHM9WyJNR0VYIOKAlCBGdXR1cmVzIl19LDM4NTgyNChlKXtlLmV4cG9ydHM9WyJNSUwg4oCUIE1pbGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk0OTgyNihlKXtlLmV4cG9ydHM9WyJNSUxTRURFWCDigJQgTWlsYW4gU3RvY2sgRXhjaGFuZ2UiXX0sMzE5ODY0KGUpe2UuZXhwb3J0cz1bIk1TRSAtIE1ldHJvcG9saXRhbiBTdG9jayBFeGNoYW5nZSJdfSw1MTI3NChlKXtlLmV4cG9ydHM9WyJNU1RBUiDigJQgQ0JPRSBNb3JuaW5nU3RhciBJbmRpY2VzIl19LDY1NDQ4MyhlKXtlLmV4cG9ydHM9WyJNVU4g4oCUIE11bmljaCBTdG9jayBFeGNoYW5nZSJdfSw5NjUwNjgoZSl7ZS5leHBvcnRzPVsiTVlYIOKAlCBCdXJzYSBNYWxheXNpYSBCZXJoYWQiXX0sMjg4Mzk2KGUpe2UuZXhwb3J0cz1bIk1vdmUgY2hhcnQiXX0sNzA1MDE2KGUpe2UuZXhwb3J0cz1bIk1vdmUgc2NhbGUgdG8gbGVmdCJdfSw5MTg3OShlKXtlLmV4cG9ydHM9WyJNb3ZlIHNjYWxlIHRvIHJpZ2h0Il19LDk0NzkzNihlKXtlLmV4cG9ydHM9WyJNb24iXX0sODg5Mzk0KGUpe2UuZXhwb3J0cz1bIk1vbmRheSJdfSw2OTUzMzcoZSl7ZS5leHBvcnRzPVsiTW9udGhzIl19LDMxNjAxOChlKXtlLmV4cG9ydHM9WyJNb3JlIHNldHRpbmdzIl19LDcyMTQzMyhlKXtlLmV4cG9ydHM9WyJNb3JvY2NvIl19LDI5NTU4NihlKXtlLmV4cG9ydHM9WyJNb3JuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcHJlLW1hcmtldCB0cmFkaW5nLiJdfSw0NDYwNzQoZSl7CmUuZXhwb3J0cz1bIk1vc2NvdyJdfSw4NDk5NzMoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDQzMTg5MihlKXtlLmV4cG9ydHM9WyJNYWRyaWQiXX0sNjAyNTE5KGUpe2UuZXhwb3J0cz1bIk1haW5sYW5kIENoaW5hIl19LDYyNzk2NyhlKXtlLmV4cG9ydHM9WyJNYWxheXNpYSJdfSw1NjMyMzcoZSl7ZS5leHBvcnRzPVsiTWFsdGEiXX0sMzYxNDQ1KGUpe2UuZXhwb3J0cz1bIk1hbmlsYSJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDYzNTY0MyhlKXtlLmV4cG9ydHM9WyJNYXJjaCJdfSw3NDM2ODkoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGlzIGN1cnJlbnRseSBvbiBob2xpZGF5LiBMdWNreSB0aGVtLiJdfSw5NDcwNDQoZSl7ZS5leHBvcnRzPVsiTWV0ZW9yYSBETE1NIChTb2xhbmEpIl19LDgzMTk3MyhlKXtlLmV4cG9ydHM9WyJNZXRlb3JhIERZTiAoU29sYW5hKSJdfSw3ODkyOTEoZSl7ZS5leHBvcnRzPVsiTWV0cmljIGVycm9yIl19LDg2NTcwMChlKXtlLmV4cG9ydHM9WyJNZXhpY28iXX0sODc0NjA3KGUpe2UuZXhwb3J0cz1bIk1leGljbyBDaXR5Il19LDg1NTYzNihlKXtlLmV4cG9ydHM9WyJNaWRkbGUiXX0sNDI2NjcxKGUpe2UuZXhwb3J0cz1bIk1pbnV0ZXMiXX0sNTMyODg4KGUpe2UuZXhwb3J0cz1bIk10LkdveCJdfSw4MjU0MTQoZSl7ZS5leHBvcnRzPVsiTXVzY2F0Il19LDkwMzY1MChlKXtlLmV4cG9ydHM9WyJOQVNEQVEgRHViYWkiXX0sNzQ4NjcwKGUpe2UuZXhwb3J0cz1bIk5BU0RBUSDigJQgTkFTREFRIFN0b2NrIE1hcmtldCJdfSw1NDEyNTUoZSl7ZS5leHBvcnRzPVsiTkNERVgg4oCUIE5hdGlvbmFsIENvbW1vZGl0eSAmIERlcml2YXRpdmVzIEV4Y2hhbmdlIl19LDIyMDU1NyhlKXtlLmV4cG9ydHM9WyJOR00g4oCUIE5vcmRpYyBHcm93dGggTWFya2V0Il19LDkyMjc3MChlKXtlLmV4cG9ydHM9WyJOU0Ug4oCUIE5hZ295YSBTdG9jayBFeGNoYW5nZSJdfSwyNDUyNDkoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYWlyb2JpIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sNTgwNzEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYXRpb25hbCBTdG9jayBFeGNoYW5nZSBvZiBJbmRpYSJdfSw1NDQxMjEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOaWdlcmlhbiBTdG9jayBFeGNoYW5nZSJdfSw2ODE2MTcoZSl7ZS5leHBvcnRzPVsiTllNRVgg4oCUIE5ldyBZb3JrIE1lcmNhbnRpbGUgRXhjaGFuZ2UiXX0sOTQyNDg0KGUpe2UuZXhwb3J0cz1bIk5ZU0Ug4oCUIE5ldyBZb3JrIFN0b2NrIEV4Y2hhbmdlIl19LDEyNzYyKGUpe2UuZXhwb3J0cz1bIk5aWCDigJQgTmV3IFplYWxhbmQgU3RvY2sgRXhjaGFuZ2UiXX0sMzAwNTU4KGUpe2UuZXhwb3J0cz1bIk5vIGFjY2VzcyB0byB0aGlzIHNjcmlwdCJdfSw5OTM0MTYoZSl7ZS5leHBvcnRzPVsiTm8gdm9sdW1lIGRhdGEiXX0sMjE5MDY5KGUpe2UuZXhwb3J0cz1bIk5vLCBrZWVwIHRoZW0iXX0sNTYxNjAwKGUpe2UuZXhwb3J0cz1bIk5vdGlmaWNhdGlvbiJdfSw2NDY1NDUoZSl7ZS5leHBvcnRzPVsiTm92Il19LDk3MTU2MShlKXtlLmV4cG9ydHM9WyJOb3ZlbWJlciJdfSw5Njc0MTIoZSl7ZS5leHBvcnRzPVsiTm9yZm9sayBJc2xhbmQiXX0sODQ1NTIzKGUpe2UuZXhwb3J0cz1bIk5vcndheSJdfSwxMjQ5MzQoZSl7ZS5leHBvcnRzPVsiTmFpcm9iaSJdfSw2MTY4NjIoZSl7ZS5leHBvcnRzPVsiTmV0aGVybGFuZHMiXX0sMjU4MTE3KGUpe2UuZXhwb3J0cz1bIk5ldyBZb3JrIl19LDQyMTYoZSl7ZS5leHBvcnRzPVsiTmV3IFplYWxhbmQiXX0sMjc2NTQ3KGUpe2UuZXhwb3J0cz1bIk5pY29zaWEiXX0sODQ5ODY4KGUpe2UuZXhwb3J0cz1bIk5pZ2VyaWEiXX0sNTc2MzQ2KGUpe2UuZXhwb3J0cz1bIlNFVCDigJQgU3RvY2sgRXhjaGFuZ2Ugb2YgVGhhaWxhbmQiXX0sMzkzMjUoZSl7ZS5leHBvcnRzPVsiU0dYIOKAlCBTaW5nYXBvcmUgU3RvY2sgRXhjaGFuZ2UiXX0sOTQ2NjM0KGUpe2UuZXhwb3J0cz1bIlNIRkUg4oCUIFNoYW5naGFpIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sNDIzMjcoZSl7ZS5leHBvcnRzPVsiU0lYIOKAlCBTSVggU3dpc3MgRXhjaGFuZ2UiXX0sMTQxOTgoZSl7ZS5leHBvcnRzPVsiU1Ag4oCUIFMmUCBJbmRleGVzIl19LDI0ODI1NShlKXtlLmV4cG9ydHM9WyJTUCDigJQgUyZQIEluZGljZXMiXX0sMzIxMTc1KGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FudGlhZ28gU3RvY2sgRXhjaGFuZ2UiXX0sNTIzMjkwKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FwcG9ybyBTZWN1cml0aWVzIEV4Y2hhbmdlIl19LDM2ODkyKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2hhbmdoYWkgU3RvY2sgRXhjaGFuZ2UiXX0sMTI1NTY4KGUpe2UuZXhwb3J0cz1bIlNUTyDigJQgTmFzZGFxIFN0b2NraG9sbSJdfSw1NzI5MDkoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSAoVE9OKSJdfSw3ODQ0OTUoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSB2MiAoVE9OKSJdfSw2MjcxMDQoZSl7ZS5leHBvcnRzPVsiU1ZQIl19LDMwNzk2KGUpe2UuZXhwb3J0cz1bIlNXQiDigJQgU3R1dHRnYXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDgzNDk2MShlKXtlLmV4cG9ydHM9WyJTWlNFIOKAlCBTaGVuemhlbiBTdG9jayBFeGNoYW5nZSJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sNTM4OTQ4KGUpe2UuZXhwb3J0cz1bIlNvdXJjZSJdfSw3OTM0MDIoZSl7ZS5leHBvcnRzPVsiU291cmNlIGNvZGUiXX0sMzEwMDgyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEFmcmljYSJdfSw1ODc3NTIoZSl7ZS5leHBvcnRzPVsiU291dGggS29yZWEiXX0sNTA0MzEoZSl7ZS5leHBvcnRzPVsiU29maWEiXX0sNDAwMzIwKGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIHdoZW4gY3JlYXRpbmcgdGhlIGluZGljYXRvci4iXX0sMjg1ZTMoZSl7ZS5leHBvcnRzPVsiU29tZXRoaW5nIHdlbnQgd3JvbmcuIEhhbmcgdGlnaHQgYW5kIHRyeSBhZ2FpbiBsYXRlci4iXX0sNTkxNDE4KGUpe2UuZXhwb3J0cz1bIlNhdCJdfSwzODc5NShlKXtlLmV4cG9ydHM9WyJTYXR1cmRheSJdfSw3NjE1MjMoZSl7ZS5leHBvcnRzPVsiU2F1ZGkgQXJhYmlhIl19LDc4NDc0MShlKXtlLmV4cG9ydHM9WyJTYXZlIGFzIl19LDE3MzQ3OShlKXtlLmV4cG9ydHM9WyJTYXhvIl0KfSw0NTE0NDcoZSl7ZS5leHBvcnRzPVsiU2FuIFNhbHZhZG9yIl19LDUxNDE1NihlKXtlLmV4cG9ydHM9WyJTYW50aWFnbyJdfSw5NTU0MzAoZSl7ZS5leHBvcnRzPVsiU2FvIFBhdWxvIl19LDc2MjE0NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDczMDU4NihlKXtlLmV4cG9ydHM9WyJTZXR0aW5ncyJdfSw4NTAyOTgoZSl7ZS5leHBvcnRzPVsiU2Vjb25kIGZyYWN0aW9uIHBhcnQgaXMgaW52YWxpZC4iXX0sMTU0ODE0KGUpe2UuZXhwb3J0cz1bIlNlY29uZHMiXX0sNDQ0NDE4KGUpe2UuZXhwb3J0cz1bIlNlb3VsIl19LDE3ODQ2OShlKXtlLmV4cG9ydHM9WyJTZXAiXX0sNDE1MjYxKGUpe2UuZXhwb3J0cz1bIlNlcHRlbWJlciJdfSw3MTg1MjkoZSl7ZS5leHBvcnRzPVsiU2VyYmlhIl19LDEwOTk1NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIl19LDc5MjQ5NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIGJyZWFrcyJdfSw1Nzg4MzEoZSl7ZS5leHBvcnRzPVsiU2hhbmdoYWkiXX0sNjQ5MzczKGUpe2UuZXhwb3J0cz1bIlNob3cgYWxsIGRyYXdpbmdzIl19LDgxODc2MyhlKXtlLmV4cG9ydHM9WyJTaG93IGFsbCBkcmF3aW5ncyBhbmQgaW5kaWNhdG9ycyJdfSw0MjA2MjQoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgZHJhd2luZ3MsIGluZGljYXRvcnMsIHBvc2l0aW9ucywgYW5kIG9yZGVycyJdfSwyMDYzNzkoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgaW5kaWNhdG9ycyJdfSw3NzYwNjMoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sNjQzNzk1KGUpe2UuZXhwb3J0cz1bIlNpbmdhcG9yZSJdfSw4MDY5NzMoZSl7ZS5leHBvcnRzPVsiU2tpbGxpbmciXX0sMjYzNDMyKGUpe2UuZXhwb3J0cz1bIlNsb3Zha2lhIl19LDcyMTgyMShlKXtlLmV4cG9ydHM9WyJTbG92ZW5pYSJdfSw3ODgzMjEoZSl7ZS5leHBvcnRzPVsiU3BhaW4iXX0sNjkxMjc5KGUpe2UuZXhwb3J0cz1bIlNwcmVhZGV4Il19LDgwNDc2NihlKXtlLmV4cG9ydHM9WyJTcmkgTGFua2EiXX0sOTkyMzYyKGUpe2UuZXhwb3J0cz1bIlN0dWRpZXMgbGltaXQgZXhjZWVkZWQ6IHtudW1iZXJ9IHN0dWRpZXMgcGVyIGxheW91dC5cblBsZWFzZSwgcmVtb3ZlIHNvbWUgc3R1ZGllcy4iXX0sOTMxOTkyKGUpe2UuZXhwb3J0cz1bIlN0eWxlIl19LDM3OTA1KGUpe2UuZXhwb3J0cz1bIlN0YWNrIG9uIHRoZSBsZWZ0Il19LDI3OTk3NyhlKXtlLmV4cG9ydHM9WyJTdGFjayBvbiB0aGUgcmlnaHQiXX0sMjU1NTExKGUpe2UuZXhwb3J0cz1bIlN0b2NraG9sbSJdfSwxMjMyMTkoZSl7ZS5leHBvcnRzPVsiU3RyYXRlZ3kgY2FsY3VsYXRpb24gb24gZWFjaCBoaXN0b3JpY2FsIHRpY2sgaXMgYXZhaWxhYmxlIHRvIFByZW1pdW0gYW5kIFVsdGltYXRlIHBsYW5zIG9ubHkuIFVwZ3JhZGUgeW91ciBwbGFuIHRvIGFjY2VzcyB0aGlzIGZlYXR1cmUuIl19LDUwNzQ1OChlKXtlLmV4cG9ydHM9WyJTdW4iXX0sNDMxNTE2KGUpe2UuZXhwb3J0cz1bIlN1blN3YXAgdjIgKFRST04pIl19LDkwOTMwNChlKXtlLmV4cG9ydHM9WyJTdW5kYXkiXX0sMTAzNShlKXtlLmV4cG9ydHM9WyJTdXNoaVN3YXAgdjIgKEV0aGVyZXVtKSJdfSwzMjQ3MDkoZSl7ZS5leHBvcnRzPVsiU3VzaGlTd2FwIHYyIChQb2x5Z29uKSJdfSwzNjk5NjMoZSl7ZS5leHBvcnRzPVsiU3dlZGVuIl19LDY2MDUzNChlKXtlLmV4cG9ydHM9WyJTd2lzc3F1b3RlIl19LDczMzk3MShlKXtlLmV4cG9ydHM9WyJTd2l0emVybGFuZCJdfSwxNzk5MzQoZSl7ZS5leHBvcnRzPVsiU3lkbmV5Il19LDcyMDUyKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBFcnJvciJdfSw3NzA0MzcoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIG5hbWUgbGFiZWwiXX0sOTU3MTk5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBsYXN0IHByaWNlIGxhYmVsIl19LDg4MjE1KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBwcmV2aW91cyBkYXkgY2xvc2UgcHJpY2UgbGFiZWwiXX0sMzQ5OTgzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwICh6a1N5bmMpIl19LDE2MTEzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwIHYyICh6a1N5bmMpIl19LDg2MDIxMShlKXtlLmV4cG9ydHM9WyJQU0Ug4oCUIFBoaWxpcHBpbmUgU3RvY2sgRXhjaGFuZ2UiXX0sMTMzNDY0KGUpe2UuZXhwb3J0cz1bIlBTRSDigJQgUHJhZ3VlIFN0b2NrIEV4Y2hhbmdlIl19LDk2MTI0NShlKXtlLmV4cG9ydHM9WyJQU1gg4oCUIFBha2lzdGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk1NDA0MShlKXtlLmV4cG9ydHM9WyJQbkYiXX0sOTY4NjA5KGUpe2UuZXhwb3J0cz1bIlBvbGFuZCJdfSw4NDMyMzUoZSl7ZS5leHBvcnRzPVsiUG9sb25pZXgiXX0sMzk4OTQoZSl7ZS5leHBvcnRzPVsiUG9ydHVnYWwiXX0sODQ0NDM2KGUpe2UuZXhwb3J0cz1bIlBha2lzdGFuIl19LDY4MTU2NChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MiAoQk5CIGNoYWluKSJdfSw1MDIyNChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MyAoQk5CIGNoYWluKSJdfSwyNjEzMTQoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZVN3YXAgdjMgKEV0aGVyZXVtKSJdfSw3ODU2MjkoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEFyYml0cnVtKSJdfSw1MjA5MTUoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIl19LDMwMDM0MChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlc3dhcCB2MyAoemtTeW5jKSJdfSw1NjIyMTUoZSl7ZS5leHBvcnRzPVsiUGFuZ29saW4gdjIgKEF2YWxhbmNoZSkiXX0sNjE3ODc0KGUpe2UuZXhwb3J0cz1bIlBhcmlzIl19LDI4OTQ5MyhlKXtlLmV4cG9ydHM9WyJQZXBwZXJzdG9uZSJdfSwxNTU4MzMoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSwzNTAxMDgoZSl7ZS5leHBvcnRzPVsiUGVydGgiXX0sODUxMTExKGUpe2UuZXhwb3J0cz1bIlBlcnUiXX0sNzMzNTM5KGUpe2UuZXhwb3J0cz1bIlBoYXJhb2ggKEF2YWxhbmNoZSkiXX0sNzA1MzIyKGUpe2UuZXhwb3J0cz1bIlBoZW1leCJdfSw2MTM2NDcoZSl7ZS5leHBvcnRzPVsiUGhpbGlwcGluZXMiXX0sODMyMDM2KGUpe2UuZXhwb3J0cz1bIlBoaWxsaXAgTm92YSJdfSwzMzE5NTkoZSl7CmUuZXhwb3J0cz1bIlBob2VuaXgiXX0sNjc0NjcwKGUpe2UuZXhwb3J0cz1bIlBpb25leCJdfSwyODg5MTUoZSl7ZS5leHBvcnRzPVsiUGx1cyBidXR0b24iXX0sNTQ0NDAzKGUpe2UuZXhwb3J0cz1bIlByYWd1ZSJdfSw1NjUxNjEoZSl7ZS5leHBvcnRzPVsiUHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIl19LDQyMTEwKGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0IG1hcmtldCBwcmljZSBsaW5lIl19LDQ1ODI2MihlKXtlLmV4cG9ydHM9WyJQcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGFiZWwiXX0sNDY2ODU1KGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0L25pZ2h0IG1hcmtldCBwcmljZSBsaW5lIl19LDc0NjMwNShlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IHdpbGwgc3RhcnQgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw3OTQzMzEoZSl7ZS5leHBvcnRzPVsiUHJldmlvdXMgZGF5IGNsb3NlIHByaWNlIGxpbmUiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDg4MDIyMihlKXtlLmV4cG9ydHM9WyJQcmljZSBsaW5lIl19LDkzOTMwNyhlKXtlLmV4cG9ydHM9WyJQdWxzZXggKFB1bHNlY2hhaW4pIl19LDk3OTc1OShlKXtlLmV4cG9ydHM9WyJQdWxzZVggdjIgKFB1bHNlY2hhaW4pIl19LDExNTc5MShlKXtlLmV4cG9ydHM9WyJQdXJwbGUgVHJhZGluZyJdfSw2MDgxNjAoZSl7ZS5leHBvcnRzPVsiUHl0aCJdfSw4OTc2NyhlKXtlLmV4cG9ydHM9WyJRMSJdfSw5NDg5MjMoZSl7ZS5leHBvcnRzPVsiUTIiXX0sMzY3OTM1KGUpe2UuZXhwb3J0cz1bIlEzIl19LDE3NTUwNyhlKXtlLmV4cG9ydHM9WyJRNCJdfSw1OTU1NTUoZSl7ZS5leHBvcnRzPVsiUVNFIOKAlCBRYXRhciBTdG9jayBFeGNoYW5nZSJdfSw5MzM3NTMoZSl7ZS5leHBvcnRzPVsiUWF0YXIiXX0sNDkyMjgxKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MiAoUG9seWdvbikiXX0sODczMzk1KGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbiB6a0VWTSkiXX0sNTk2NTQyKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbikiXX0sODE0NjEoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiJdfSw3OTA1MjQoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiBhbmQgdXBkYXRlZCBldmVyeSAzMCBzZWNvbmRzIl19LDQyMzQwMShlKXtlLmV4cG9ydHM9WyJST0ZFWCDigJQgTUFUQkEgUk9GRVgiXX0sMTI3MzM2KGUpe2UuZXhwb3J0cz1bIlJVUyJdfSw5MDU5NDUoZSl7ZS5leHBvcnRzPVsiUm9tYW5pYSJdfSwyMjU5OTEoZSl7ZS5leHBvcnRzPVsiUm9tZSJdfSw1NjU2MTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSAoU29sYW5hKSJdfSwzNDM3OTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSBDTE1NIChTb2xhbmEpIl19LDgwODk3MihlKXtlLmV4cG9ydHM9WyJSYXlkaXVtIENQTU0gKFNvbGFuYSkiXX0sNTI4MDQ4KGUpe2UuZXhwb3J0cz1bIlJhbXNlcyB2MiAoQXJiaXRydW0pIl19LDk5MDIxMyhlKXtlLmV4cG9ydHM9WyJSYW5nZSJdfSw3NTM4NTgoZSl7ZS5leHBvcnRzPVsiUmV5a2phdmlrIl19LDg4MzkyOChlKXtlLmV4cG9ydHM9WyJSZWFsLXRpbWUiXX0sNzk4MzA3KGUpe2UuZXhwb3J0cz1bIlJlZG8iXX0sOTExMjYoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIl19LDE1MDg5NyhlKXtlLmV4cG9ydHM9WyJSZW1vdmUgdGhpcyBpbmRpY2F0b3IgYW5kIGl0cyBkZXBlbmRlbnQgaW5kaWNhdG9ycz8iXX0sMTQ1Mzk2KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSB7ZHJhd2luZ3N9Il19LDY4MzIwOChlKXtlLmV4cG9ydHM9WyJSZW1vdmUge2RyYXdpbmdzfSAmIHtpbmRpY2F0b3JzfSJdfSwxMjgxMzMoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIHtpbmRpY2F0b3JzfSJdfSw4ODk5OShlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSw4OTMwMjgoZSl7ZS5leHBvcnRzPVsiUmVwbGF5Il19LDk3NzI3KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBNb2RlIl19LDk2NzczNShlKXtlLmV4cG9ydHM9WyJSZXBsYXkgaXNuJ3QgYXZhaWxhYmxlIGZvciB0aGlzIGNoYXJ0IHR5cGUuIENvbnRpbnVlIGFueXdheT8iXX0sNzg0MTE2KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBpc24ndCBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sLiBDb250aW51ZSBhbnl3YXk/Il19LDIwNzg0NShlKXtlLmV4cG9ydHM9WyJSZXNldCBjaGFydCB2aWV3Il19LDkwNjQzNihlKXtlLmV4cG9ydHM9WyJSZXNldCB0aW1lIHNjYWxlIl19LDc4MDk1KGUpe2UuZXhwb3J0cz1bIlJpeWFkaCJdfSwyMjk2NDMoZSl7ZS5leHBvcnRzPVsiUmlnYSJdfSw0OTg0MTUoZSl7ZS5leHBvcnRzPVsiUmlnaHQiXX0sNzMwNjM4KGUpe2UuZXhwb3J0cz1bIlJ1bnRpbWUgZXJyb3IiXX0sMzkwNTk4KGUpe2UuZXhwb3J0cz1bIlJ1c3NpYW4gRmVkZXJhdGlvbiJdfSw0NjUyNjAoZSl7ZS5leHBvcnRzPVsiV09PIFgiXX0sMjkwNzIyKGUpe2UuZXhwb3J0cz1bIldCIC0gVmllbm5hIFN0b2NrIEV4Y2hhbmdlIl19LDQzNjg3MShlKXtlLmV4cG9ydHM9WyJXRUVYIl19LDQyMDkwMShlKXtlLmV4cG9ydHM9WyJXSCBTZWxmSW52ZXN0Il19LDU1NDM0MihlKXtlLmV4cG9ydHM9WyJXb3JsZCBlY29ub21pYyBkYXRhIl19LDkzNzAxNyhlKXtlLmV4cG9ydHM9WyJXYXJuaW5nIl19LDE2NDczNihlKXtlLmV4cG9ydHM9WyJXYXJzYXciXX0sNDY1ODUxKGUpe2UuZXhwb3J0cz1bIldlYnVsbCBQYXkiXX0sNDcwNDgwKGUpe2UuZXhwb3J0cz1bIldlZCJdfSw3NzI3NjUoZSl7ZS5leHBvcnRzPVsiV2VkbmVzZGF5Il19LDI1MTcyOChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw3NDI2NDIoZSl7ZS5leHBvcnRzPVsiV2h5IG1pZ2h0IG15IFVTIHN0b2NrIGRhdGEgbG9vayBkaWZmZXJlbnQ/Il19LDczMjQ0NShlKXtlLmV4cG9ydHM9WyJXaGl0ZUJJVCJdfSwyODU0ODQoZSl7ZS5leHBvcnRzPVsiVE1YIOKAlCBNb250cmVhbCBFeGNoYW5nZSJdfSw3ODIxNjIoZSl7ZS5leHBvcnRzPVsiVE9DT00g4oCUIFRva3lvIENvbW1vZGl0eSBFeGNoYW5nZSJdfSw1MjI3MDcoZSl7CmUuZXhwb3J0cz1bIlRBSUZFWCDigJQgVGFpd2FuIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sMTc3OTcoZSl7ZS5leHBvcnRzPVsiVEFMU0Ug4oCUIE5hc2RhcSBUYWxsaW5uIl19LDIzMzU1KGUpe2UuZXhwb3J0cz1bIlRBU0Ug4oCUIFRlbCBBdml2IFN0b2NrIEV4Y2hhbmdlIl19LDU1MTQ5MShlKXtlLmV4cG9ydHM9WyJURkVYIOKAlCBUaGFpbGFuZCBGdXR1cmVzIEV4Y2hhbmdlIl19LDk2MzI3OChlKXtlLmV4cG9ydHM9WyJURlgg4oCUIFRva3lvIEZpbmFuY2lhbCBFeGNoYW5nZSJdfSwxNzQ4MTgoZSl7ZS5leHBvcnRzPVsiVFBFeCDigJQgVGFpcGVpIEV4Y2hhbmdlIl19LDg3MzAzNShlKXtlLmV4cG9ydHM9WyJUUE8iXX0sNDI5NzMzKGUpe2UuZXhwb3J0cz1bIlRQTyBSZXNldCBhbGwgc3BsaXRzIGFuZCBtZXJnZXMiXX0sOTQxNzQoZSl7ZS5leHBvcnRzPVsiVFNFIOKAlCBUb2t5byBTdG9jayBFeGNoYW5nZSJdfSw4OTUyNDYoZSl7ZS5leHBvcnRzPVsiVFNYIOKAlCBUb3JvbnRvIFN0b2NrIEV4Y2hhbmdlIl19LDE4MzUyNChlKXtlLmV4cG9ydHM9WyJUU1hWIOKAlCBUU1ggVmVudHVyZSBFeGNoYW5nZSJdfSw4MTYyNTMoZSl7ZS5leHBvcnRzPVsiVFdTRSDigJQgVGFpd2FuIFN0b2NrIEV4Y2hhbmdlIl19LDc1MzAyNChlKXtlLmV4cG9ydHM9WyJUbyBjYWxjdWxhdGUgdGhlIFZXQVAgaW5kaWNhdG9yLCBtb3JlIGRhdGEgaXMgbmVlZGVkLiBab29tIG91dCBvciBzY3JvbGwgbGVmdCB0byBsb2FkIG1vcmUgaGlzdG9yaWNhbCBkYXRhLiJdfSw2MjM1NDYoZSl7ZS5leHBvcnRzPVsiVG90YWwiXX0sMTA0MTc3KGUpe2UuZXhwb3J0cz1bIlRva2VsYXUiXX0sNzk4MTk5KGUpe2UuZXhwb3J0cz1bIlRva3lvIl19LDQxNjE5KGUpe2UuZXhwb3J0cz1bIlRvb2JpdCJdfSw5NjUzODgoZSl7ZS5leHBvcnRzPVsiVG9wIl19LDE2MzY3MihlKXtlLmV4cG9ydHM9WyJUb3JvbnRvIl19LDIzODMzNihlKXtlLmV4cG9ydHM9WyJUYWJsZSB2aWV3Il19LDY5NzY0NyhlKXtlLmV4cG9ydHM9WyJUYWRhd3VsIOKAlCBTYXVkaSBFeGNoYW5nZSJdfSw0NzYwMjYoZSl7ZS5leHBvcnRzPVsiVGFpcGVpIl19LDI3MzE1NyhlKXtlLmV4cG9ydHM9WyJUYWl3YW4sIENoaW5hIl19LDY1MjE3NihlKXtlLmV4cG9ydHM9WyJUYWxsaW5uIl19LDc5MTE1KGUpe2UuZXhwb3J0cz1bIlRleHQiXX0sNzQxNjk3KGUpe2UuZXhwb3J0cz1bIlRleHQgd3JhcCJdfSwyNzQ5NTMoZSl7ZS5leHBvcnRzPVsiVGV4dCBhbGlnbm1lbnQiXX0sMzcyMjMoZSl7ZS5leHBvcnRzPVsiVGV4dCBvcmllbnRhdGlvbiJdfSw3NDI5OChlKXtlLmV4cG9ydHM9WyJUZWhyYW4iXX0sMjEyNTY0KGUpe2UuZXhwb3J0cz1bIlRlbXBvcmFyeSBnbGl0Y2giXX0sMzAxNDg5KGUpe2UuZXhwb3J0cz1bIlRodSJdfSw4MzQ2NzEoZSl7ZS5leHBvcnRzPVsiVGh1cnNkYXkiXX0sNTUzMDQ0KGUpe2UuZXhwb3J0cz1bIlRoYWlsYW5kIl19LDI3ODc4OChlKXtlLmV4cG9ydHM9WyJUaGUgVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIl19LDgyMzE2NihlKXtlLmV4cG9ydHM9WyJUaGUgZGF0YSB2ZW5kb3IgZG9lc24ndCBwcm92aWRlIHZvbHVtZSBkYXRhIGZvciB0aGlzIHN5bWJvbC4iXX0sNjAxNzAzKGUpe2UuZXhwb3J0cz1bIlRoZSBpbWFnZSBiZWluZyBwYXN0ZWQgaXMgd2F5IHRvbyBsYXJnZSJdfSwxODIwMjAoZSl7ZS5leHBvcnRzPVsiVGhlIHJlcXVlc3QgdG9vayB0b28gbG9uZyB0byBwcm9jZXNzLiBFbnN1cmUgeW91IGhhdmUgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbi4gSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCB0cnkgZGVjcmVhc2luZyB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ZWQgdGltZSBpbnRlcnZhbC4iXX0sMjM4Njg0KGUpe2UuZXhwb3J0cz1bIlRoZSBzY3JpcHQgeW91J3JlIGxvb2tpbmcgZm9yIGhhcyB2YW5pc2hlZCDigJQgbWF5YmUgaXQncyBiZWVuIHJlbW92ZWQgb3IgdGhlcmUncyBhIGdsaXRjaC4gQ29udGFjdCB0aGUgYXV0aG9yIHRvIGxlYXJuIG1vcmUuIl19LDcxMjE4NihlKXtlLmV4cG9ydHM9WyJUaGVyZSdzIG5vIGRhdGEgZm9yIHlvdXIgc2VsZWN0ZWQgcGVyaW9kIGFuZCBjaGFydCB0aW1lZnJhbWUuIl19LDUxOTE5MihlKXtlLmV4cG9ydHM9WyJUaGlua01hcmtldHMiXX0sNDA5MjEoZSl7ZS5leHBvcnRzPVsiVGhpcyBkcmF3aW5nIGlzIGxvY2tlZCBhbmQgdXNlZCBpbiBhbiBhbGVydC4gUmVtb3ZlIGl0IGFueXdheT8iXX0sMTQwNDA3KGUpe2UuZXhwb3J0cz1bIlRoaXMgZHJhd2luZyBpcyB1c2VkIGluIGFuIGFsZXJ0LiBSZW1vdmUgaXQgYW55d2F5PyJdfSw5MDAwNDEoZSl7ZS5leHBvcnRzPVsiVGhpcyBpbmRpY2F0b3IgaGFzIG5vIHNvdXJjZS10eXBlIGlucHV0LCBzbyBpdCBjYW4ndCBiZSBhcHBsaWVkIHRvIGFub3RoZXIgaW5kaWNhdG9yLiJdfSw0ODc2OTUoZSl7ZS5leHBvcnRzPVsiVGhpcyBzY3JpcHQgaXMgaW52aXRlLW9ubHkuIFRvIHJlcXVlc3QgYWNjZXNzLCBwbGVhc2UgY29udGFjdCBpdHMgYXV0aG9yLiJdfSw1MzM5NTYoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24ge2xpbmtTdGFydH1UcmFkaW5nVmlld3tsaW5rRW5kfS4iXX0sOTk4MDQ0KGUpe2UuZXhwb3J0cz1bIlRpY2ttaWxsIl19LDM3MDI0MyhlKXtlLmV4cG9ydHM9WyJUaWNrcyJdfSw0Nzk0MTYoZSl7ZS5leHBvcnRzPVsiVGljay1iYXNlZCBpbnRlcnZhbHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHt0aWNrZXJ9LiJdfSw4NjIxMTkoZSl7ZS5leHBvcnRzPVsiVGltZSJdfSwyMjQxOTgoZSl7ZS5leHBvcnRzPVsiVGltZSB6b25lIl19LDIxNTk5OChlKXtlLmV4cG9ydHM9WyJUaW1lIGZvciBhIHdhbGsg4oCUIHRoaXMgbWFya2V0IGlzIGNsb3NlZC4iXX0sODAwMDA1KGUpe2UuZXhwb3J0cz1bIlRyYWRlIE5hdGlvbiJdfSwxMzc1NTEoZSl7ZS5leHBvcnRzPVsiVHJhZGVnYXRlIEV4Y2hhbmdlIl19LDE1MDI0MihlKXtlLmV4cG9ydHM9WyJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIl19LDUzMjE0NShlKXtlLmV4cG9ydHM9WyJUcmVuZCBsaW5lIl19LDE2NTQ2NShlKXtlLmV4cG9ydHM9WyJUcml2ZSJdfSw0NzQ5MyhlKXtlLmV4cG9ydHM9WyJUdWUiXX0sCjQ1NjMzNChlKXtlLmV4cG9ydHM9WyJUdWVzZGF5Il19LDMwNzI0OChlKXtlLmV4cG9ydHM9WyJUdW5pcyJdfSw2Nzc1OShlKXtlLmV4cG9ydHM9WyJUdW5pc2lhIl19LDE0OTE4MShlKXtlLmV4cG9ydHM9WyJUdXJib3MgRmluYW5jZSAoU3VpKSJdfSw2MzE4MTAoZSl7ZS5leHBvcnRzPVsiVHVya2V5Il19LDM2MTYzMihlKXtlLmV4cG9ydHM9WyJUdXJxdW9pc2UiXX0sMTYzMTEwKGUpe2UuZXhwb3J0cz1bIlVBRSJdfSw1ODc1MzMoZSl7ZS5leHBvcnRzPVsiVUsiXX0sMzAxMTE3KGUpe2UuZXhwb3J0cz1bIlVTQSJdfSwxMzkxNDEoZSl7ZS5leHBvcnRzPVsiVVNJIl19LDkxMjI1NShlKXtlLmV4cG9ydHM9WyJVVEMiXX0sNzQxMzMoZSl7ZS5leHBvcnRzPVsiVW5kbyJdfSw5MzI4KGUpe2UuZXhwb3J0cz1bIlVuZXhwZWN0ZWQgZXJyb3IgaW4gRGVlcCBCYWNrdGVzdGluZyBtb2RlLiBDb250YWN0IHN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIl19LDcwMzkyOShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYyIChCYXNlKSJdfSwzNjU5NDUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MiAoRXRoZXJldW0pIl19LDU5MTk3MChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiXX0sNzgxNTEoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQXZhbGFuY2hlKSJdfSw0MDA2OTcoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSJdfSw5OTYyNjUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQmFzZSkiXX0sMjgyNTA1KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjMgKEV0aGVyZXVtKSJdfSw4NDM3ODQoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoT3B0aW1pc20pIl19LDc4Mzc3NShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChQb2x5Z29uKSJdfSw3NTc1OTMoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoQXJiaXRydW0pIl19LDExMTMwMChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIl19LDI0NTE2MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIl19LDI3Mjg0KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKEJhc2UpIl19LDcwODY4MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChFdGhlcmV1bSkiXX0sNDcwNDgzKGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKE9wdGltaXNtKSJdfSw3ODQxMjIoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoUG9seWdvbikiXX0sNjg5MzE3KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKFVuaWNoYWluKSJdfSwyNDkwOTEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEFyYWIgRW1pcmF0ZXMiXX0sMjgyNzMoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEtpbmdkb20iXX0sOTkxMjU4KGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sODQ2NTk4KGUpe2UuZXhwb3J0cz1bIlVuc3VwcG9ydGVkIGludGVydmFsIl19LDYyMTk4NChlKXtlLmV4cG9ydHM9WyJVaC1vaCEgU29tZXRoaW5nJ3Mgbm90IHdvcmtpbmcgcmlnaHQiXX0sMTkzODE4KGUpe2UuZXhwb3J0cz1bIlVwQml0Il19LDI4MDYyKGUpe2UuZXhwb3J0cz1bIlVwZ3JhZGUgdG8gdGhlIFByZW1pdW0gcGxhbiB0byBhY2Nlc3MgaGlnaGVyIGJhciBkZXRhbGl6YXRpb24gd2l0aCBtb3JlIHRpY2tzIHVzZWQgaW4gY2FsY3VsYXRpb25zLiJdfSw5MjM5MTIoZSl7ZS5leHBvcnRzPVsiVXBncmFkZSB0byB1bmxvY2sgZm9yZWNhc3QgbWV0cmljcyJdfSw1OTkwMDkoZSl7ZS5leHBvcnRzPVsiVXBwZXIgRGV2aWF0aW9uIl19LDU4MDgxKGUpe2UuZXhwb3J0cz1bIlVzZSBMb3dlciBEZXZpYXRpb24iXX0sMjA4NzQ1KGUpe2UuZXhwb3J0cz1bIlVzZSBVcHBlciBEZXZpYXRpb24iXX0sODY0ODQ2KGUpe2UuZXhwb3J0cz1bIlVzZSBvbmUgY29sb3IiXX0sNDIwNDQ5KGUpe2UuZXhwb3J0cz1bIlVzZXItZGVmaW5lZCBlcnJvciJdfSw5OTc1MDAoZSl7ZS5leHBvcnRzPVsiVlNFIOKAlCBOYXNkYXEgVmlsbml1cyJdfSwyMzEzMjUoZSl7ZS5leHBvcnRzPVsiVlZTIEZpbmFuY2UgKENyb25vcykiXX0sOTk0MTc2KGUpe2UuZXhwb3J0cz1bIlZWUyB2MyAoQ3Jvbm9zKSJdfSwzNjQ3MzYoZSl7ZS5leHBvcnRzPVsiVldBUCBpcyB3YWl0aW5nIGZvciBtb3JlIGRhdGEiXX0sNTMzMDc3KGUpe2UuZXhwb3J0cz1bIlZvbG1leCJdfSwzMzI1ODcoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIFByb2ZpbGUgaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucy4iXX0sNDk3NjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBkYXRhIGlzIG5vdCBwcm92aWRlZCBpbiBCSVNUIE1JWEVEIGRhdGEgcGxhbi4iXX0sNDg3MjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNTkxMzIoZSl7ZS5leHBvcnRzPVsiVmFuY291dmVyIl19LDQ2MjUxNyhlKXtlLmV4cG9ydHM9WyJWYW50YWdlIl19LDY4MDc5KGUpe2UuZXhwb3J0cz1bIlZlbG9jaXR5IFRyYWRlIl19LDQ0NDgyNShlKXtlLmV4cG9ydHM9WyJWZWxvZHJvbWUgKE9wdGltaXNtKSJdfSw1MzMyNTAoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIFNsaXBTdHJlYW0gKE9wdGltaXNtKSJdfSw5NTc3MzQoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIHYyIChPcHRpbWlzbSkiXX0sNjQzNTAzKGUpe2UuZXhwb3J0cz1bIlZlbmV6dWVsYSJdfSw4MDA1MDMoZSl7ZS5leHBvcnRzPVsiVmVydGljYWwiXX0sNjE0NDIoZSl7ZS5leHBvcnRzPVsiVmllbm5hIl19LDg1MjIxKGUpe2UuZXhwb3J0cz1bIlZpZXRuYW0iXX0sMTAwMzAxKGUpe2UuZXhwb3J0cz1bIlZpbG5pdXMiXX0sOTg3NzMzKGUpe2UuZXhwb3J0cz1bIlZpc2liaWxpdHkiXX0sNTI0Nzk1KGUpe2UuZXhwb3J0cz1bIlZpc2libGUgb24gdGFwIl19LDIxNTY3MShlKXtlLmV4cG9ydHM9WyJWaXNpYmxlIG9uIG1vdXNlIG92ZXIiXX0sOTYxODQ3KGUpe2UuZXhwb3J0cz1bIlhFVFIg4oCUIFhldHJhIl19LDY4NjExNChlKXtlLmV4cG9ydHM9WyJYVC5jb20iXX0sNTU4NDQ0KGUpewplLmV4cG9ydHM9WyJZb3UgYXJlIGluIHRoZSBjaGFydCByZXBsYXkgbW9kZS4gQW4gb3JkZXIgd2lsbCBiZSBwbGFjZWQgaW4gcmVhbC10aW1lLiBEbyB5b3Ugc3RpbGwgd2FudCB0byBwbGFjZSB0aGUgb3JkZXI/Il19LDcyMzYzKGUpe2UuZXhwb3J0cz1bIllvdSBhcmUgbm90aWZpZWQiXX0sMTkxMDYoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBjaGFydCB0eXBlIG9yIGNvbnRpbnVlIHRvIHVzZSBhIG5ldyBvbmUgd2l0aG91dCBiYXIgcmVwbGF5LiJdfSw0MTYxMTkoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBzeW1ib2wgb3IgY29udGludWUgdG8gdXNlIGEgbmV3IG9uZSB3aXRob3V0IGJhciByZXBsYXkuIl19LDI5OTE4OChlKXtlLmV4cG9ydHM9WyJZb3UgY2Fubm90IHNlZSB0aGlzIHBpdm90IHRpbWVmcmFtZSBvbiB0aGlzIHJlc29sdXRpb24iXX0sNTA1OTg1KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIGxvY2tlZCBkcmF3aW5ncyBvbiB0aGlzIHN5bWJvbC4gRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBsb2NrZWQgZHJhd2luZ3MgdG9vPyJdfSwxNzczNTQoZSl7ZS5leHBvcnRzPVsiWWFuZ29uIl19LDk4NTgyNihlKXtlLmV4cG9ydHM9WyJZZXMsIHJlbW92ZSB0aGVtIl19LDgxODg1MChlKXtlLmV4cG9ydHM9WyJaQ0Ug4oCUIFpoZW5nemhvdSBDb21tb2RpdHkgRXhjaGFuZ2UiXX0sNTM3MTM3KGUpe2UuZXhwb3J0cz1bIlpTRSDigJQgWmFncmViIFN0b2NrIEV4Y2hhbmdlIl19LDU3MDQwMyhlKXtlLmV4cG9ydHM9WyJab29tZXgiXX0sNzkyMzg2KGUpe2UuZXhwb3J0cz1bIlphZ3JlYiJdfSw0NzM0OTYoZSl7ZS5leHBvcnRzPVsiWnVyaWNoIl19LDkxNzU5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugbm8gb3ZlcmxhcHBpbmcgbGFiZWxzIl19LDUxNjQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sNDA1MzUyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSJdfSw5ODc5NzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJhciBYIGNvb3JkaW5hdGUiXX0sMTQxNTUzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBiaWQgYW5kIGFzayBsYWJlbHMgdmlzaWJpbGl0eSJdfSwzOTYwNDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJpZCBhbmQgYXNrIGxpbmVzIHZpc2liaWxpdHkiXX0sOTkzOShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgY2hhcnQgbGF5b3V0IHRvIHt0aXRsZX0iXX0sMzk5MjU0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBjb3VudGRvd24gdG8gYmFyIGNsb3NlIHZpc2liaWxpdHkiXX0sMjQ3MDE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBkYXRlIHJhbmdlIl19LDU2OTg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGFiZWxzIHZpc2liaWxpdHkiXX0sMTg0NjY2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMgdmlzaWJpbGl0eSJdfSwzODYzMzUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgbmFtZSBsYWJlbHMgdmlzaWJpbGl0eSJdfSw2MjQzNjAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgdmFsdWUgbGFiZWxzIHZpc2liaWxpdHkiXX0sNzM5MDg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwbHVzIGJ1dHRvbiB2aXNpYmlsaXR5Il19LDU3NjcwMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMTc2NzQ1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg0NDk4NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QvbmlnaHQgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMzk0MjgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg4NjkxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJldmlvdXMgY2xvc2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDE5NTIxOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgWSBjb29yZGluYXRlIl19LDMyMjkxMihlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDc0MzM0MShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcmVzb2x1dGlvbiJdfSwxODc2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIl19LDE1NjEwOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhYmVscyB2aXNpYmlsaXR5Il19LDIyNTkwMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhc3QgdmFsdWUgdmlzaWJpbGl0eSJdfSw1OTQyMDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHN5bWJvbCBwcmV2aW91cyBjbG9zZSB2YWx1ZSB2aXNpYmlsaXR5Il19LDcyMzQyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc2Vzc2lvbiJdfSwxNDYyMDIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHNlc3Npb24gYnJlYWtzIHZpc2liaWxpdHkiXX0sNTg3MjQyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBzZXJpZXMgc3R5bGUiXX0sMTMxNDA4KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB0aW1lem9uZSJdfSw1MzU0MzMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gY29lZmZzIGFzIHBlcmNlbnRzIHZpc2liaWxpdHkiXX0sNjgwMjY0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGFsbCBsaW5lcyBjb2xvciJdfSw5NDQyNjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gYmFja2dyb3VuZCB0cmFuc3BhcmVuY3kiXX0sMzE5NTE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGJhY2tncm91bmQgdmlzaWJpbGl0eSJdfSwyNzA3OTAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyB0byJdfSwyMDM5MDEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyBmcm9tIl19LDkzMTY1NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBob3VycyBmcm9tIl19LAo2NTM4MzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gaG91cnMgdG8iXX0sMjQ0NDc1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSBjb2VmZiJdfSwxNTIyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgY29sb3IiXX0sMTc4NTIxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSB2aXNpYmlsaXR5Il19LDM1MzgyNShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgd2lkdGgiXX0sNDc1MDU3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVscyB2aXNpYmlsaXR5Il19LDg3ODk5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgZnJvbSJdfSwyMzg4MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgdG8iXX0sOTEyNTcwKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgdG8iXX0sMzMxMjgxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgZnJvbSJdfSwzODI3MjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyB0byJdfSw5MzQ3MzYoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyBmcm9tIl19LDQ3NTIyMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyBmcm9tIl19LDIxNDIwNChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyB0byJdfSw4NTg4OTkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdGV4dCJdfSw0NTE3MzIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB0aWNrcyJdfSw2MDc2NjIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB3ZWVrcyJdfSwzMTQwNjUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB7cmFuZ2VzfSJdfSw1OTIyODQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiBkYXlzIl19LDI0MTM2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIGhvdXJzIl19LDEwMzg3OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIG1pbnV0ZXMiXX0sODkxMzk1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IHZpc2liaWxpdHkgb24gbW9udGhzIl19LDQwNDkxMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIHNlY29uZHMiXX0sODI4NTc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgdmVydGljYWwiXX0sODgxNzQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgaG9yaXpvbnRhbCJdfSw4MTAzNzcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGFiZWxzIGRpcmVjdGlvbiJdfSw2Njg5MTUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSB2aXNpYmlsaXR5Il19LDcxNjM2MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIHdpZHRoIl19LDg2NjcxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGNvbG9yIl19LDIxODA2NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyBsZWZ0Il19LDgzODk1OChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyByaWdodCJdfSw4NzIxODUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSBsZWZ0IGVuZCJdfSw1NTE0NzAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSByaWdodCBlbmQiXX0sNDk5NTIzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxpbmUgc3R5bGUiXX0sMjQwMzgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQiXX0sNDY3Njg0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgdmlzaWJpbGl0eSJdfSwxNTUwNDQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gdGV4dCB3cmFwIl19LDYyODgzOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGJhY2tncm91bmQgY29sb3IiXX0sNTMxMzk3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYmFja2dyb3VuZCB2aXNpYmlsaXR5Il19LDIyMTc0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIGNvbG9yIl19LDgxODAyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHdpZHRoIl19LDEyMzc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHZpc2liaWxpdHkiXX0sMTY1MzA0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgY29sb3IiXX0sNjc1NDQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgZm9udCBib2xkIl19LDU2Mzk0NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgaXRhbGljIl19LDI3MDA1MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgc2l6ZSJdfSwxMDMzMjcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHtwcm9wZXJ0eU5hbWV9IHByb3BlcnR5Il19LDI4ODc5NyhlKXtlLmV4cG9ydHM9WyJjcmVhdGUgbGluZSB0b29scyBncm91cCJdfSwxMzQ1NTgoZSl7ZS5leHBvcnRzPVsiY3JlYXRlIGxpbmUgdG9vbHMgZ3JvdXAgZnJvbSBzZWxlY3Rpb24iXX0sNTQ5OTg2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sNzIxMTE4KGUpe2UuZXhwb3J0cz1bImFubnVhbGx5Il19LDY4OTU4MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sIHtsaW5lVG9vbH0gdG8gZ3JvdXAge25hbWV9Il19LDQzOTU5MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sKHMpIHRvIGdyb3VwIHtncm91cH0iXX0sNjQ3NjU2KGUpewplLmV4cG9ydHM9WyJhcHBseSBjaGFydCB0aGVtZSJdfSwzNDc1ODUoZSl7ZS5leHBvcnRzPVsiYXBwbHkgYWxsIGNoYXJ0IHByb3BlcnRpZXMiXX0sODk3NDc2KGUpe2UuZXhwb3J0cz1bImFwcGx5IGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSwzODE1MTMoZSl7ZS5leHBvcnRzPVsiYXBwbHkgc3R1ZHkgdGVtcGxhdGUge3RlbXBsYXRlfSJdfSw2NjMxMjgoZSl7ZS5leHBvcnRzPVsiYXBwbHkgdG9vbGJhcnMgdGhlbWUiXX0sMjUxOTQ4KGUpe2UuZXhwb3J0cz1bImJpdEZseWVyIl19LDY1MzY5KGUpe2UuZXhwb3J0cz1bImJpbGxlZCBtb250aGx5Il19LDI2MDE5MyhlKXtlLmV4cG9ydHM9WyJiaWxsZWQgYW5udWFsbHkiXX0sNjAyNDMxKGUpe2UuZXhwb3J0cz1bImJyaW5nIGdyb3VwIHt0aXRsZX0gZm9yd2FyZCJdfSwzODY1MjIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSB0byBmcm9udCJdfSw4ODcyODIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSBmb3J3YXJkIl19LDE2NDAxOChlKXtlLmV4cG9ydHM9WyJkWWRYIl19LDIzMDk1NyhlKXtlLmV4cG9ydHM9WyJkYXRlIHJhbmdlIGxvY2siXX0sMjc1MjkoZSl7ZS5leHBvcnRzPVsiZGF5cyJdfSw4MTMwOTYoZSl7ZS5leHBvcnRzPVsiZGF5cyB0byJdfSw0MDIwNTEoZSl7ZS5leHBvcnRzPVsiZGF5cyBmcm9tIl19LDQyNDMzNChlKXtlLmV4cG9ydHM9WyJlYXN5TWFya2V0cyJdfSwyNjY3NzUoZSl7ZS5leHBvcnRzPVsiZXJhc2UgbGV2ZWwgbGluZSJdfSwyODg1NzAoZSl7ZS5leHBvcnRzPVsiZXhjbHVkZSBsaW5lIHRvb2xzIGZyb20gZ3JvdXAge2dyb3VwfSJdfSw1OTIxMTMoZSl7ZS5leHBvcnRzPVsiaG91cnMiXX0sNTY0OTk1KGUpe2UuZXhwb3J0cz1bImhvdXJzIGZyb20iXX0sNDMwOTQ5KGUpe2UuZXhwb3J0cz1bImhvdXJzIHRvIl19LDU4OTgxNShlKXtlLmV4cG9ydHM9WyJoaWRlIHt0aXRsZX0iXX0sNDc3NjY1KGUpe2UuZXhwb3J0cz1bImhpZGUgbWFya3Mgb24gYmFycyJdfSw2NTM1NzAoZSl7ZS5leHBvcnRzPVsiaUJyb2tlciJdfSwyMjIyODYoZSl7ZS5leHBvcnRzPVsiaW50ZXJ2YWwgbG9jayJdfSwxMDg2MDIoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYWZ0ZXIge3RhcmdldFRpdGxlfSJdfSw3ODE3MjEoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXRUaXRsZX0iXX0sOTIxNzM4KGUpe2UuZXhwb3J0cz1bImxvYWRpbmcuLi4iXX0sNjIwOTI3KGUpe2UuZXhwb3J0cz1bImxvY2sge3RpdGxlfSJdfSw3MDYzMDgoZSl7ZS5leHBvcnRzPVsibG9jayBncm91cCB7Z3JvdXB9Il19LDg0MjI3NihlKXtlLmV4cG9ydHM9WyJsZXNzIHRoYW4gMSBtaW51dGUiXX0sOTY1NzkwKGUpe2UuZXhwb3J0cz1bIm1vdmUiXX0sOTYzNTUxKGUpe2UuZXhwb3J0cz1bIm1vdmUgYWxsIHNjYWxlcyB0byBsZWZ0Il19LDc5MTM3MShlKXtlLmV4cG9ydHM9WyJtb3ZlIGFsbCBzY2FsZXMgdG8gcmlnaHQiXX0sMTcwODE5KGUpe2UuZXhwb3J0cz1bIm1vdmUgZHJhd2luZ3MiXX0sNTU2NTY4KGUpe2UuZXhwb3J0cz1bIm1vbnRobHkiXX0sMTk0MzU1KGUpe2UuZXhwb3J0cz1bIm1vbnRocyJdfSw3OTI2NTYoZSl7ZS5leHBvcnRzPVsibW9udGhzIGZyb20iXX0sNTM1NjAwKGUpe2UuZXhwb3J0cz1bIm1vbnRocyB0byJdfSw1NzIzMzQoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IGludmlzaWJsZSJdfSwzNTY1NDEoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IHZpc2libGUiXX0sNzQ1MTUzKGUpe2UuZXhwb3J0cz1bIm1lWEJUIl19LDY4MTcwMShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIl19LDE3NDM1NihlKXtlLmV4cG9ydHM9WyJtaW51dGVzIHRvIl19LDc3MjM5OShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIGZyb20iXX0sNjkyNTg5KGUpe2UuZXhwb3J0cz1bIm4vYSJdfSwzODYzNzMoZSl7ZS5leHBvcnRzPVsibm90IGF1dGhvcml6ZWQiXX0sMjU2OTY4KGUpe2UuZXhwb3J0cz1bInNjYWxlIHByaWNlIl19LDIzMTgzMShlKXtlLmV4cG9ydHM9WyJzY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDYxNDkwNihlKXtlLmV4cG9ydHM9WyJzY3JvbGwiXX0sNzc5MTg0KGUpe2UuZXhwb3J0cz1bInNldCBsYXlvdXQgc2l6ZXMiXX0sODMyNjYwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMiXX0sMjQ5NTU3KGUpe2UuZXhwb3J0cz1bInNlY29uZHMgdG8iXX0sODEwNDcwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMgZnJvbSJdfSw1NDAwMzgoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDUwMTUwNyhlKXtlLmV4cG9ydHM9WyJzZW5kIHt0aXRsZX0gdG8gYmFjayJdfSw1MTc2MjIoZSl7ZS5leHBvcnRzPVsic2VuZCBncm91cCB7dGl0bGV9IGJhY2t3YXJkIl19LDQ4MjExOChlKXtlLmV4cG9ydHM9WyJzdGF5IGluIGRyYXdpbmcgbW9kZSJdfSw0ODg4ODEoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGRyYXdpbmciXX0sMjA5NTk5KGUpe2UuZXhwb3J0cz1bInN3YXAgY2hhcnRzIGluIHRoZSBMYXlvdXQiXX0sNzE5MjA5KGUpe2UuZXhwb3J0cz1bInN5bWJvbCBsb2NrIl19LDgxNTk5MyhlKXtlLmV4cG9ydHM9WyJzeW5jIHRpbWUiXX0sODM3MDY2KGUpe2UuZXhwb3J0cz1bInBhc3RlIGRyYXdpbmciXX0sNzYzMzM5KGUpe2UuZXhwb3J0cz1bInBhc3RlIGluZGljYXRvciJdfSw3OTc0OTEoZSl7ZS5leHBvcnRzPVsicmVhcnJhbmdlIHBhbmVzIl19LDYzNTQ5NihlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZGVzZWxlY3RlZCBlbXB0eSBsaW5lIHRvb2xzIl19LDU0MTY1OShlKXtlLmV4cG9ydHM9WyJyZW1vdmUgbGluZSBkYXRhIHNvdXJjZXMiXX0sNjY2MTQwKGUpe2UuZXhwb3J0cz1bInJlbW92aW5nIGxpbmUgdG9vbHMgZ3JvdXAge25hbWV9Il19LDM4NTMxMChlKXtlLmV4cG9ydHM9WyJyZW5hbWUgZ3JvdXAge2dyb3VwfSB0byB7bmV3TmFtZX0iXX0sMTMzNDk3KGUpe2UuZXhwb3J0cz1bInJlc2V0IGxheW91dCBzaXplcyJdfSw4MzEwNDUoZSl7ZS5leHBvcnRzPVsicmVzaXplIGxheW91dCJdfSwxMjk1MTAoZSl7CmUuZXhwb3J0cz1bInJlc3RvcmUgZGVmYXVsdHMiXX0sNjYyOTAzKGUpe2UuZXhwb3J0cz1bInJlc3RvcmUgc3R1ZHkgZGVmYXVsdHMiXX0sMzU2Mzk4KGUpe2UuZXhwb3J0cz1bIndlZWtzIl19LDYzOTE0MihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyBmcm9tIl19LDUyMDc4NihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyB0byJdfSw3ODQxMjgoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIG1heGltaXplZCBwYW5lIHN0YXRlIl19LDU5OTE0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgYXV0byBzY2FsZSJdfSwxNDUzNjYoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIGNvbGxhcHNlZCBwYW5lIHN0YXRlIl19LDc3NzQ4NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDc2NDMyMShlKXtlLmV4cG9ydHM9WyJ0YXN0eWZ4Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sNzU1NTY5KGUpe2UuZXhwb3J0cz1bInRpY2tzIl19LDQwMDQxMihlKXtlLmV4cG9ydHM9WyJ0cmFjayB0aW1lIl19LDgzNTgoZSl7ZS5leHBvcnRzPVsidHJpYWwiXX0sOTUyNTIzKGUpe2UuZXhwb3J0cz1bInVubG9jayBncm91cCB7Z3JvdXB9Il19LDc3MDYzOShlKXtlLmV4cG9ydHM9WyJ1bmxvY2sge3RpdGxlfSJdfSw1Mzc5NTMoZSl7ZS5leHBvcnRzPVsie2NoYXJ0U3R5bGV9IGNoYXJ0IHR5cGUgaXNuJ3QgY3VycmVudGx5IGF2YWlsYWJsZSBmb3IgdGljay1iYXNlZCBpbnRlcnZhbHMuIl19LDMzODA5MyhlKXtlLmV4cG9ydHM9WyJ7Y291bnR9IGJhcnMiXX0sNzAyNTEoZSl7ZS5leHBvcnRzPVsie2RheXN9IGFuZCB7aG91cnN9Il19LDc5NDg5NShlKXtlLmV4cG9ydHM9WyJ7aG91cnN9IGFuZCB7bWludXRlc30iXX0sMTUzNzY2KGUpe2UuZXhwb3J0cz1bIntwcm9QbGFuTmFtZX0gVHJpYWwiXX0sMzg2MDQ4KGUpe2UuZXhwb3J0cz1bInt1c2VyTmFtZX0gY3JlYXRlZCB3aXRoIHtjdXN0b21lcn0sIHtkYXRlfSJdfSw5NDM0OTkoZSl7ZS5leHBvcnRzPVsieEV4Y2hhbmdlIl19LDI3ODU2NShlKXtlLmV4cG9ydHM9WyJ6b29tIl19LDMxODIzKGUpe2UuZXhwb3J0cz1bInprU3dhcCAoemtTeW5jKSJdfSwyNTk3KGUpe2UuZXhwb3J0cz1bImFuZCB7bmFtZUNvdW50fSBtb3JlIGluZGljYXRvci4iLCJhbmQge25hbWVDb3VudH0gbW9yZSBpbmRpY2F0b3JzLiJdfSw3NDMwMDIoZSl7ZS5leHBvcnRzPVsiZGF5IiwiZGF5cyJdfSw0MTkxMTQoZSl7ZS5leHBvcnRzPVsiaG91ciIsImhvdXJzIl19LDMyMzQ4NShlKXtlLmV4cG9ydHM9WyJtb250aCIsIm1vbnRocyJdfSwxMTM2NDIoZSl7ZS5leHBvcnRzPVsibWludXRlIiwibWludXRlcyJdfSw2NjU1MzAoZSl7ZS5leHBvcnRzPVsic2Vjb25kIiwic2Vjb25kcyJdfSw2MTY0OShlKXtlLmV4cG9ydHM9WyJyYW5nZSIsInJhbmdlcyJdfSwzODgxMDUoZSl7ZS5leHBvcnRzPVsid2VlayIsIndlZWtzIl19LDUwNjQ0NyhlKXtlLmV4cG9ydHM9WyJ0aWNrIiwidGlja3MiXX0sMjY4MTY2KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGRheSIsIntudW1iZXJ9IGRheXMiXX0sMjk4MjM0KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGhvdXIiLCJ7bnVtYmVyfSBob3VycyJdfSwxNDIxMDEoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gaG91ciIsIntudW1iZXJ9IGhvdXJzIl19LDMyMTQ1KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNzA0OTU4KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNDA2NDg1KGUpe2UuZXhwb3J0cz1bInthbW91bnR9IGRyYXdpbmciLCJ7YW1vdW50fSBkcmF3aW5ncyJdfSwxNDE2NjIoZSl7ZS5leHBvcnRzPVsie2Ftb3VudH0gaW5kaWNhdG9yIiwie2Ftb3VudH0gaW5kaWNhdG9ycyJdfSw0NDI2NjYoZSl7ZS5leHBvcnRzPVsieWVhciIsInllYXJzIl19fV0pOw=="}},"time_used":57,"timings":{"blocked":-1,"dns":3,"connect":1,"send":0,"wait":12,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44031.2691fc2c3468293bfd16.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.960Z","timestamp":1785136900960,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44031.2691fc2c3468293bfd16.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-90\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4228f9c5dbaf355edb29133c5a6ae026\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":144,"size_decoded":886,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"669466b98876123099594e1a8ff0556e","sha1":"f7b7d85273ef4a6de745e7d1977d6eaeb4e25f41","sha256":"634134c6e0cfe9953231051ead0975df8ee84bfbd6df8222218fdea0f1b04497","sha512":"ecd87db6f1f0eb9c5d7b76d4b2a7f4dbff140856b0addb002e166951b7c534f59c42c8acf7638bb7b769ecbb39022454b989196dfe7b376e759e63163119856f","ssdeep":"","tlshash":"48c02b8871c0302aba0f312ac33cc55830301940ec001f6a992de4f288c0fda13e2f39","first_seen":"2026-07-23T14:00:31.42266Z","last_seen":"2026-07-28T06:17:53.407807Z","times_seen":381,"resource_available":false,"data":"LnNlcGFyYXRvci1LSHR5TVRZR3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7aGVpZ2h0OjFweDttYXJnaW46NnB4IDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70644.448743def325feb61967.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.608Z","timestamp":1785136901608,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70644.448743def325feb61967.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a10225d-a54f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 22 May 2026 09:31:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/22/2026 10:44:33\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3444b36b47fe15338004907760fc0fd6\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":42319,"size_decoded":16719,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"8cde28c2b9d157a818e87a14278c7a00","sha1":"1de831d7926ffcdfe3bdd82419e6225185d37e34","sha256":"f5576d28408b822a04da2e824feb2d936edf1e1959b29e0849e709c4ff1beba7","sha512":"dfeb6f084e4ee784b4a74a0525c09ed8d481320b0708417429758d5d393b7f6eec9e153c60a63025903dc145cd998cce1676335c44ba0e9011bf068fb3dd2e24","ssdeep":"384:57bUjPiPk+mozZ2DZNFAw0wg7LEJ8yBzjkjWQIfQ/6URF2a6nUFlUTr1H6ssDLv5:57gjPi8+hiTRXbfQOXXUFwhHnecsfHp","tlshash":"ae13f5c936d6b02452b73475007f710bf23eaea1284e8450d117e8d87cb5a9fa27be6d","first_seen":"2026-05-23T04:38:21.326763Z","last_seen":"2026-08-05T03:55:36.948443Z","times_seen":956,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3MDY0NF0sezg3MDY0NChlLG4sdCl7InVzZSBzdHJpY3QiO3QuZChuLHtkaXNhYmxlQWN0aXZpdHlUcmFja2luZzooKT0+eGUsZGlzYWJsZUFub255bW91c1RyYWNraW5nOigpPT5DZSxkaXNjYXJkQnJhY2U6KCk9PmtlLGVuYWJsZUFjdGl2aXR5VHJhY2tpbmdDYWxsYmFjazooKT0+U2UsZW5hYmxlQW5vbnltb3VzVHJhY2tpbmc6KCk9Pk9lLG5ld1RyYWNrZXI6KCk9PkVlLHNldFVzZXJJZDooKT0+VGUsdHJhY2tQYWdlVmlldzooKT0+SWUsdHJhY2tTZWxmRGVzY3JpYmluZ0V2ZW50OigpPT5BZX0pO3ZhciByPWZ1bmN0aW9uKCl7cmV0dXJuIHI9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciBuLHQ9MSxyPWFyZ3VtZW50cy5sZW5ndGg7dDxyO3QrKylmb3IodmFyIG8gaW4gbj1hcmd1bWVudHNbdF0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sbykmJihlW29dPW5bb10pO3JldHVybiBlfSxyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07T2JqZWN0LmNyZWF0ZTtmdW5jdGlvbiBvKGUsbix0KXtpZih0fHwyPT09YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIHIsbz0wLGk9bi5sZW5ndGg7bzxpO28rKykhciYmbyBpbiBufHwocnx8KHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwLG8pKSxyW29dPW5bb10pO3JldHVybiBlLmNvbmNhdChyfHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuKSl9T2JqZWN0LmNyZWF0ZTt2YXIgaT10KDUzNzIwNCk7ZnVuY3Rpb24gYShlKXtpZighZSlyZXR1cm4gZTtzd2l0Y2goNC1lLmxlbmd0aCU0KXtjYXNlIDI6ZSs9Ij09IjticmVhaztjYXNlIDM6ZSs9Ij0ifXJldHVybiBmdW5jdGlvbihlKXt2YXIgbix0LHIsbyxpLGEsdT1mdW5jdGlvbihlKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGUuc3BsaXQoIiIpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIiUiKygiMDAiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKX0pKS5qb2luKCIiKSl9LHM9MCxsPTAsZj0iIixkPVtdO2lmKCFlKXJldHVybiBlO2UrPSIiO2Rve249KGE9Yy5pbmRleE9mKGUuY2hhckF0KHMrKykpPDwxOHxjLmluZGV4T2YoZS5jaGFyQXQocysrKSk8PDEyfChvPWMuaW5kZXhPZihlLmNoYXJBdChzKyspKSk8PDZ8KGk9Yy5pbmRleE9mKGUuY2hhckF0KHMrKykpKSk+PjE2JjI1NSx0PWE+PjgmMjU1LHI9MjU1JmEsZFtsKytdPTY0PT09bz9TdHJpbmcuZnJvbUNoYXJDb2RlKG4pOjY0PT09aT9TdHJpbmcuZnJvbUNoYXJDb2RlKG4sdCk6U3RyaW5nLmZyb21DaGFyQ29kZShuLHQscil9d2hpbGUoczxlLmxlbmd0aCk7cmV0dXJuIGY9ZC5qb2luKCIiKSx1KGYucmVwbGFjZSgvXDArJC8sIiIpKX0oZS5yZXBsYWNlKC8tL2csIisiKS5yZXBsYWNlKC9fL2csIi8iKSl9ZnVuY3Rpb24gdShlKXtpZighZSlyZXR1cm4gZTt2YXIgbj1mdW5jdGlvbihlKXt2YXIgbix0LHIsbyxpLGE9MCx1PTAscz1bXTtpZighZSlyZXR1cm4gZTtlPXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlKSk7ZG97bj0oaT1lLmNoYXJDb2RlQXQoYSsrKTw8MTZ8ZS5jaGFyQ29kZUF0KGErKyk8PDh8ZS5jaGFyQ29kZUF0KGErKykpPj4xOCY2Myx0PWk+PjEyJjYzLHI9aT4+NiY2MyxvPTYzJmksc1t1KytdPWMuY2hhckF0KG4pK2MuY2hhckF0KHQpK2MuY2hhckF0KHIpK2MuY2hhckF0KG8pfXdoaWxlKGE8ZS5sZW5ndGgpO3ZhciBsPXMuam9pbigiIiksZj1lLmxlbmd0aCUzO3JldHVybihmP2wuc2xpY2UoMCxmLTMpOmwpKyI9PT0iLnNsaWNlKGZ8fDMpfShlKTtyZXR1cm4gbi5yZXBsYWNlKC89L2csIiIpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIil9dmFyIGM9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IjtmdW5jdGlvbiBzKCl7dmFyIGUsbj17fSx0PVtdLHI9W10sbz1bXSxpPWZ1bmN0aW9uKGUsdCl7bnVsbCE9dCYmIiIhPT10JiYobltlXT10KX07cmV0dXJue2FkZDppLGFkZERpY3Q6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJmkobixlW25dKX0sYWRkSnNvbjpmdW5jdGlvbihlLG4sbyl7aWYobyYmZihvKSl7dmFyIGk9e2tleUlmRW5jb2RlZDplLGtleUlmTm90RW5jb2RlZDpuLGpzb246b307ci5wdXNoKGkpLHQucHVzaChpKX19LGFkZENvbnRleHRFbnRpdHk6ZnVuY3Rpb24oZSl7by5wdXNoKGUpfSxnZXRQYXlsb2FkOmZ1bmN0aW9uKCl7cmV0dXJuIG59LGdldEpzb246ZnVuY3Rpb24oKXtyZXR1cm4gdH0sd2l0aEpzb25Qcm9jZXNzb3I6ZnVuY3Rpb24obil7ZT1ufSxidWlsZDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1lfHxlKHRoaXMscixvKSxufX19ZnVuY3Rpb24gbChlKXtyZXR1cm4gZnVuY3Rpb24obix0LHIpe2Zvcih2YXIgaT1mdW5jdGlvbih0LHIsbyl7dmFyIGk9SlNPTi5zdHJpbmdpZnkodCk7ZT9uLmFkZChyLHUoaSkpOm4uYWRkKG8saSl9LGM9ZnVuY3Rpb24odCxyKXt2YXIgbz10fHxmdW5jdGlvbigpe3ZhciB0PW4uZ2V0UGF5bG9hZCgpO2lmKGU/dC5jeDp0LmNvKXJldHVybiBKU09OLnBhcnNlKGU/YSh0LmN4KTp0LmNvKX0oKTtyZXR1cm4gbz9vLmRhdGE9by5kYXRhLmNvbmNhdChyLmRhdGEpOm89cixvfSxzPXZvaWQgMCxsPTAsZj10O2w8Zi5sZW5ndGg7bCsrKXt2YXIgZD1mW2xdOyJjeCI9PT1kLmtleUlmRW5jb2RlZD9zPWMocyxkLmpzb24pOmkoZC5qc29uLGQua2V5SWZFbmNvZGVkLGQua2V5SWZOb3RFbmNvZGVkKX0odC5sZW5ndGg9MCxyLmxlbmd0aCkmJihzPWMocyx7c2NoZW1hOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0wIixkYXRhOm8oW10sciwhMCl9KSxyLmxlbmd0aD0wKTtzJiZpKHMsImN4IiwiY28iKX19ZnVuY3Rpb24gZihlKXtpZighZChlKSlyZXR1cm4hMQo7Zm9yKHZhciBuIGluIGUpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbnVsbCE9ZSYmKGUuY29uc3RydWN0b3I9PT17fS5jb25zdHJ1Y3Rvcnx8ZS5jb25zdHJ1Y3Rvcj09PVtdLmNvbnN0cnVjdG9yKX12YXIgdixnPSJTbm93cGxvdzogIjshZnVuY3Rpb24oZSl7ZVtlLm5vbmU9MF09Im5vbmUiLGVbZS5lcnJvcj0xXT0iZXJyb3IiLGVbZS53YXJuPTJdPSJ3YXJuIixlW2UuZGVidWc9M109ImRlYnVnIixlW2UuaW5mbz00XT0iaW5mbyJ9KHZ8fCh2PXt9KSk7dmFyIHA9ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9di53YXJuKTtyZXR1cm57c2V0TG9nTGV2ZWw6ZnVuY3Rpb24obil7ZT12W25dP246di53YXJufSx3YXJuOmZ1bmN0aW9uKG4sdCl7Zm9yKHZhciByPVtdLGk9MjtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKXJbaS0yXT1hcmd1bWVudHNbaV07aWYoZT49di53YXJuJiYidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUpe3ZhciBhPWcrbjt0P2NvbnNvbGUud2Fybi5hcHBseShjb25zb2xlLG8oW2ErIlxuIix0XSxyLCExKSk6Y29uc29sZS53YXJuLmFwcGx5KGNvbnNvbGUsbyhbYV0sciwhMSkpfX0sZXJyb3I6ZnVuY3Rpb24obix0KXtmb3IodmFyIHI9W10saT0yO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspcltpLTJdPWFyZ3VtZW50c1tpXTtpZihlPj12LmVycm9yJiYidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUpe3ZhciBhPWcrbisiXG4iO3Q/Y29uc29sZS5lcnJvci5hcHBseShjb25zb2xlLG8oW2ErIlxuIix0XSxyLCExKSk6Y29uc29sZS5lcnJvci5hcHBseShjb25zb2xlLG8oW2FdLHIsITEpKX19LGRlYnVnOmZ1bmN0aW9uKG4pe2Zvcih2YXIgdD1bXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2U+PXYuZGVidWcmJiJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmY29uc29sZS5kZWJ1Zy5hcHBseShjb25zb2xlLG8oW2crbl0sdCwhMSkpfSxpbmZvOmZ1bmN0aW9uKG4pe2Zvcih2YXIgdD1bXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2U+PXYuaW5mbyYmInVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlLmluZm8uYXBwbHkoY29uc29sZSxvKFtnK25dLHQsITEpKX19fSgpO2Z1bmN0aW9uIG0oKXt2YXIgZT1bXSxuPVtdLHQ9ZnVuY3Rpb24odCl7dmFyIHI9ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPWUuZ2V0SnNvbigpLHQ9MCxyPW47dDxyLmxlbmd0aDt0Kyspe3ZhciBvPXJbdF07aWYoInVlX3B4Ij09PW8ua2V5SWZFbmNvZGVkJiYib2JqZWN0Ij09dHlwZW9mIG8uanNvbi5kYXRhKXt2YXIgaT1vLmpzb24uZGF0YS5zY2hlbWE7aWYoInN0cmluZyI9PXR5cGVvZiBpKXJldHVybiBpfX1yZXR1cm4iIn0odCksbz1mdW5jdGlvbihlKXt2YXIgbj1lLmdldFBheWxvYWQoKS5lO3JldHVybiJzdHJpbmciPT10eXBlb2Ygbj9uOiIifSh0KSxpPVtdLGE9RShlLHQsbyxyKTtpLnB1c2guYXBwbHkoaSxhKTt2YXIgdT1mdW5jdGlvbihlLG4sdCxyKXt2YXIgbyxpPVAoZSksYT1mdW5jdGlvbihlKXt2YXIgbz1mdW5jdGlvbihlLG4sdCxyKXtpZihUKGUpKXt2YXIgbz1lWzBdLGk9ITE7dHJ5e2k9byh7ZXZlbnQ6bi5nZXRQYXlsb2FkKCksZXZlbnRUeXBlOnQsZXZlbnRTY2hlbWE6cn0pfWNhdGNoKGUpe2k9ITF9aWYoITA9PT1pKXJldHVybiBFKGVbMV0sbix0LHIpfWVsc2UgaWYoSShlKSYmZnVuY3Rpb24oZSxuKXt2YXIgdD0wLHI9MCxvPWUuYWNjZXB0O0FycmF5LmlzQXJyYXkobyk/ZS5hY2NlcHQuc29tZSgoZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSxuKX0pKSYmcisrOiJzdHJpbmciPT10eXBlb2YgbyYmQyhvLG4pJiZyKys7dmFyIGk9ZS5yZWplY3Q7QXJyYXkuaXNBcnJheShpKT9lLnJlamVjdC5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gQyhlLG4pfSkpJiZ0Kys6InN0cmluZyI9PXR5cGVvZiBpJiZDKGksbikmJnQrKztpZihyPjAmJjA9PT10KXJldHVybiEwO2lmKDA9PT1yJiZ0PjApcmV0dXJuITE7cmV0dXJuITF9KGVbMF0scikpcmV0dXJuIEUoZVsxXSxuLHQscik7cmV0dXJuW119KGUsbix0LHIpO2lmKG8mJjAhPT1vLmxlbmd0aClyZXR1cm4gb30sdT1pLm1hcChhKTtyZXR1cm4obz1bXSkuY29uY2F0LmFwcGx5KG8sdS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlLmZpbHRlcihCb29sZWFuKX0pKSl9KG4sdCxvLHIpO3JldHVybiBpLnB1c2guYXBwbHkoaSx1KSxpfTtyZXR1cm57Z2V0R2xvYmFsUHJpbWl0aXZlczpmdW5jdGlvbigpe3JldHVybiBlfSxnZXRDb25kaXRpb25hbFByb3ZpZGVyczpmdW5jdGlvbigpe3JldHVybiBufSxhZGRHbG9iYWxDb250ZXh0czpmdW5jdGlvbih0KXtmb3IodmFyIHI9W10sbz1bXSxpPTAsYT10O2k8YS5sZW5ndGg7aSsrKXt2YXIgdT1hW2ldO0EodSk/ci5wdXNoKHUpOngodSkmJm8ucHVzaCh1KX1lPWUuY29uY2F0KG8pLG49bi5jb25jYXQocil9LGNsZWFyR2xvYmFsQ29udGV4dHM6ZnVuY3Rpb24oKXtuPVtdLGU9W119LHJlbW92ZUdsb2JhbENvbnRleHRzOmZ1bmN0aW9uKHQpe2Zvcih2YXIgcj1mdW5jdGlvbih0KXtBKHQpP249bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlKSE9PUpTT04uc3RyaW5naWZ5KHQpfSkpOngodCkmJihlPWUuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSkhPT1KU09OLnN0cmluZ2lmeSh0KX0pKSl9LG89MCxpPXQ7bzxpLmxlbmd0aDtvKyspe3IoaVtvXSl9fSxnZXRBcHBsaWNhYmxlQ29udGV4dHM6ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX1mdW5jdGlvbiBoKGUpe3ZhciBuPWUuc3BsaXQoIi4iKTtyZXR1cm4hIShuJiZuLmxlbmd0aD4xKSYmZnVuY3Rpb24oZSl7aWYoIioiPT09ZVswXXx8IioiPT09ZVsxXSlyZXR1cm4hMTtpZihlLnNsaWNlKDIpLmxlbmd0aD4wKXtmb3IodmFyIG49ITEsdD0wLHI9ZS5zbGljZSgyKTt0PHIubGVuZ3RoO3QrKylpZigiKiI9PT1yW3RdKW49ITA7ZWxzZSBpZihuKXJldHVybiExO3JldHVybiEwfQpyZXR1cm4gMj09ZS5sZW5ndGh9KG4pfWZ1bmN0aW9uIHkoZSl7dmFyIG49bmV3IFJlZ0V4cCgiXmlnbHU6KCg/Oig/OlthLXpBLVowLTktX10rfFxcKikuKSsoPzpbYS16QS1aMC05LV9dK3xcXCopKS8oW2EtekEtWjAtOS1fLl0rfFxcKikvanNvbnNjaGVtYS8oWzEtOV1bMC05XSp8XFwqKS0oMHxbMS05XVswLTldKnxcXCopLSgwfFsxLTldWzAtOV0qfFxcKikkIikuZXhlYyhlKTtpZihudWxsIT09biYmaChuWzFdKSlyZXR1cm4gbi5zbGljZSgxLDYpfWZ1bmN0aW9uIHcoZSl7dmFyIG49eShlKTtpZihuKXt2YXIgdD1uWzBdO3JldHVybiA1PT09bi5sZW5ndGgmJmgodCl9cmV0dXJuITF9ZnVuY3Rpb24gYihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJmUuZXZlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZX0pKX0oZSk/ZS5ldmVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIHcoZSl9KSk6InN0cmluZyI9PXR5cGVvZiBlJiZ3KGUpfWZ1bmN0aW9uIGsoZSl7dmFyIG49ZTtyZXR1cm4hIShmKG4pJiYic2NoZW1hImluIG4mJiJkYXRhImluIG4pJiYoInN0cmluZyI9PXR5cGVvZiBuLnNjaGVtYSYmIm9iamVjdCI9PXR5cGVvZiBuLmRhdGEpfWZ1bmN0aW9uIFMoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUubGVuZ3RoPD0xfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIFMoZSl8fGsoZSl9ZnVuY3Rpb24gVChlKXtyZXR1cm4hKCFBcnJheS5pc0FycmF5KGUpfHwyIT09ZS5sZW5ndGgpJiYoQXJyYXkuaXNBcnJheShlWzFdKT9TKGVbMF0pJiZlWzFdLmV2ZXJ5KHgpOlMoZVswXSkmJngoZVsxXSkpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuISghQXJyYXkuaXNBcnJheShlKXx8MiE9PWUubGVuZ3RoKSYmKCEhZnVuY3Rpb24oZSl7dmFyIG49ZSx0PTA7aWYobnVsbCE9ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYhQXJyYXkuaXNBcnJheShlKSl7aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sImFjY2VwdCIpKXtpZighYihuLmFjY2VwdCkpcmV0dXJuITE7dCs9MX1pZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwicmVqZWN0Iikpe2lmKCFiKG4ucmVqZWN0KSlyZXR1cm4hMTt0Kz0xfXJldHVybiB0PjAmJnQ8PTJ9cmV0dXJuITF9KGVbMF0pJiYoQXJyYXkuaXNBcnJheShlWzFdKT9lWzFdLmV2ZXJ5KHgpOngoZVsxXSkpKX1mdW5jdGlvbiBBKGUpe3JldHVybiBUKGUpfHxJKGUpfWZ1bmN0aW9uIEMoZSxuKXtpZighdyhlKSlyZXR1cm4hMTt2YXIgdD15KGUpLHI9ZnVuY3Rpb24oZSl7dmFyIG49bmV3IFJlZ0V4cCgiXmlnbHU6KFthLXpBLVowLTktXy5dKykvKFthLXpBLVowLTktX10rKS9qc29uc2NoZW1hLyhbMS05XVswLTldKiktKDB8WzEtOV1bMC05XSopLSgwfFsxLTldWzAtOV0qKSQiKS5leGVjKGUpO2lmKG51bGwhPT1uKXJldHVybiBuLnNsaWNlKDEsNil9KG4pO2lmKHQmJnIpe2lmKCFmdW5jdGlvbihlLG4pe3ZhciB0PW4uc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKTtpZih0JiZyKXtpZih0Lmxlbmd0aCE9PXIubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKWlmKCFPKHRbb10scltvXSkpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuITF9KHRbMF0sclswXSkpcmV0dXJuITE7Zm9yKHZhciBvPTE7bzw1O28rKylpZighTyh0W29dLHJbb10pKXJldHVybiExO3JldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIE8oZSxuKXtyZXR1cm4gZSYmbiYmIioiPT09ZXx8ZT09PW59ZnVuY3Rpb24gUChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOkFycmF5Lm9mKGUpfWZ1bmN0aW9uIEUoZSxuLHQscil7dmFyIG8saT1QKGUpLm1hcCgoZnVuY3Rpb24oZSl7dmFyIG89ZnVuY3Rpb24oZSxuLHQscil7aWYoayhlKSlyZXR1cm5bZV07aWYoUyhlKSl7dmFyIG89ZnVuY3Rpb24oZSxuLHQscil7dmFyIG89dm9pZCAwO3RyeXtyZXR1cm4gbz1lKHtldmVudDpuLmdldFBheWxvYWQoKSxldmVudFR5cGU6dCxldmVudFNjaGVtYTpyfSksQXJyYXkuaXNBcnJheShvKSYmby5ldmVyeShrKXx8ayhvKT9vOnZvaWQgMH1jYXRjaChlKXtvPXZvaWQgMH1yZXR1cm4gb30oZSxuLHQscik7aWYoayhvKSlyZXR1cm5bb107aWYoQXJyYXkuaXNBcnJheShvKSlyZXR1cm4gb31yZXR1cm59KGUsbix0LHIpO2lmKG8mJjAhPT1vLmxlbmd0aClyZXR1cm4gb30pKTtyZXR1cm4obz1bXSkuY29uY2F0LmFwcGx5KG8saS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlLmZpbHRlcihCb29sZWFuKX0pKSl9ZnVuY3Rpb24gTChlKXt2b2lkIDA9PT1lJiYoZT17fSk7dmFyIG49ZS5iYXNlNjQsdD1lLmNvcmVQbHVnaW5zLGE9ZS5jYWxsYmFjayx1PW51bGwhPXQ/dDpbXSxjPWZ1bmN0aW9uKGUsbix0KXt2YXIgcj1mdW5jdGlvbihlKXtyZXR1cm57YWRkUGx1Z2luQ29udGV4dHM6ZnVuY3Rpb24obil7dmFyIHQ9bj9vKFtdLG4sITApOltdO3JldHVybiBlLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RyeXtlLmNvbnRleHRzJiZ0LnB1c2guYXBwbHkodCxlLmNvbnRleHRzKCkpfWNhdGNoKGUpe3AuZXJyb3IoIkVycm9yIGFkZGluZyBwbHVnaW4gY29udGV4dHMiLGUpfX0pKSx0fX19KG4pLGE9bSgpLHU9ZSxjPXt9O2Z1bmN0aW9uIHMoZSxuKXtjW2VdPW59dmFyIGY9e3RyYWNrOmZ1bmN0aW9uKGUsbyxzKXtlLndpdGhKc29uUHJvY2Vzc29yKGwodSkpLGUuYWRkKCJlaWQiLCgwLGkudjQpKCkpLGUuYWRkRGljdChjKTt2YXIgZj1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT97dHlwZToiZHRtIix2YWx1ZToobmV3IERhdGUpLmdldFRpbWUoKX06Im51bWJlciI9PXR5cGVvZiBlP3t0eXBlOiJkdG0iLHZhbHVlOmV9OiJ0dG0iPT09ZS50eXBlP3t0eXBlOiJ0dG0iLHZhbHVlOmUudmFsdWV9Ont0eXBlOiJkdG0iLHZhbHVlOmUudmFsdWV8fChuZXcgRGF0ZSkuZ2V0VGltZSgpfX0ocyk7ZS5hZGQoZi50eXBlLGYudmFsdWUudG9TdHJpbmcoKSk7dmFyIGQ9ZnVuY3Rpb24oZSl7aWYoZSYmZS5sZW5ndGgpcmV0dXJuewpzY2hlbWE6ImlnbHU6Y29tLnNub3dwbG93YW5hbHl0aWNzLnNub3dwbG93L2NvbnRleHRzL2pzb25zY2hlbWEvMS0wLTAiLGRhdGE6ZX19KGZ1bmN0aW9uKGUsbil7dmFyIHQ9YS5nZXRBcHBsaWNhYmxlQ29udGV4dHMoZSkscj1bXTtyZXR1cm4gbiYmbi5sZW5ndGgmJnIucHVzaC5hcHBseShyLG4pLHQmJnQubGVuZ3RoJiZyLnB1c2guYXBwbHkocix0KSxyfShlLHIuYWRkUGx1Z2luQ29udGV4dHMobykpKTt2b2lkIDAhPT1kJiZlLmFkZEpzb24oImN4IiwiY28iLGQpLG4uZm9yRWFjaCgoZnVuY3Rpb24obil7dHJ5e24uYmVmb3JlVHJhY2smJm4uYmVmb3JlVHJhY2soZSl9Y2F0Y2goZSl7cC5lcnJvcigiUGx1Z2luIGJlZm9yZVRyYWNrIixlKX19KSksImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQoZSk7dmFyIHY9ZS5idWlsZCgpO3JldHVybiBuLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RyeXtlLmFmdGVyVHJhY2smJmUuYWZ0ZXJUcmFjayh2KX1jYXRjaChlKXtwLmVycm9yKCJQbHVnaW4gYWZ0ZXJUcmFjayIsZSl9fSkpLHZ9LGFkZFBheWxvYWRQYWlyOnMsZ2V0QmFzZTY0RW5jb2Rpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2V0QmFzZTY0RW5jb2Rpbmc6ZnVuY3Rpb24oZSl7dT1lfSxhZGRQYXlsb2FkRGljdDpmdW5jdGlvbihlKXtmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKGNbbl09ZVtuXSl9LHJlc2V0UGF5bG9hZFBhaXJzOmZ1bmN0aW9uKGUpe2M9ZChlKT9lOnt9fSxzZXRUcmFja2VyVmVyc2lvbjpmdW5jdGlvbihlKXtzKCJ0diIsZSl9LHNldFRyYWNrZXJOYW1lc3BhY2U6ZnVuY3Rpb24oZSl7cygidG5hIixlKX0sc2V0QXBwSWQ6ZnVuY3Rpb24oZSl7cygiYWlkIixlKX0sc2V0UGxhdGZvcm06ZnVuY3Rpb24oZSl7cygicCIsZSl9LHNldFVzZXJJZDpmdW5jdGlvbihlKXtzKCJ1aWQiLGUpfSxzZXRTY3JlZW5SZXNvbHV0aW9uOmZ1bmN0aW9uKGUsbil7cygicmVzIixlKyJ4IituKX0sc2V0Vmlld3BvcnQ6ZnVuY3Rpb24oZSxuKXtzKCJ2cCIsZSsieCIrbil9LHNldENvbG9yRGVwdGg6ZnVuY3Rpb24oZSl7cygiY2QiLGUpfSxzZXRUaW1lem9uZTpmdW5jdGlvbihlKXtzKCJ0eiIsZSl9LHNldExhbmc6ZnVuY3Rpb24oZSl7cygibGFuZyIsZSl9LHNldElwQWRkcmVzczpmdW5jdGlvbihlKXtzKCJpcCIsZSl9LHNldFVzZXJhZ2VudDpmdW5jdGlvbihlKXtzKCJ1YSIsZSl9LGFkZEdsb2JhbENvbnRleHRzOmZ1bmN0aW9uKGUpe2EuYWRkR2xvYmFsQ29udGV4dHMoZSl9LGNsZWFyR2xvYmFsQ29udGV4dHM6ZnVuY3Rpb24oKXthLmNsZWFyR2xvYmFsQ29udGV4dHMoKX0scmVtb3ZlR2xvYmFsQ29udGV4dHM6ZnVuY3Rpb24oZSl7YS5yZW1vdmVHbG9iYWxDb250ZXh0cyhlKX19O3JldHVybiBmfShudWxsPT1ufHxuLHUsYSkscz1yKHIoe30sYykse2FkZFBsdWdpbjpmdW5jdGlvbihlKXt2YXIgbix0LHI9ZS5wbHVnaW47dS5wdXNoKHIpLG51bGw9PT0obj1yLmxvZ2dlcil8fHZvaWQgMD09PW58fG4uY2FsbChyLHApLG51bGw9PT0odD1yLmFjdGl2YXRlQ29yZVBsdWdpbil8fHZvaWQgMD09PXR8fHQuY2FsbChyLHMpfX0pO3JldHVybiBudWxsPT11fHx1LmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuLHQ7bnVsbD09PShuPWUubG9nZ2VyKXx8dm9pZCAwPT09bnx8bi5jYWxsKGUscCksbnVsbD09PSh0PWUuYWN0aXZhdGVDb3JlUGx1Z2luKXx8dm9pZCAwPT09dHx8dC5jYWxsKGUscyl9KSksc31mdW5jdGlvbiBEKGUpe3ZhciBuPWUuZXZlbnQsdD1uLnNjaGVtYSxyPW4uZGF0YSxvPXMoKSxpPXtzY2hlbWE6ImlnbHU6Y29tLnNub3dwbG93YW5hbHl0aWNzLnNub3dwbG93L3Vuc3RydWN0X2V2ZW50L2pzb25zY2hlbWEvMS0wLTAiLGRhdGE6e3NjaGVtYTp0LGRhdGE6cn19O3JldHVybiBvLmFkZCgiZSIsInVlIiksby5hZGRKc29uKCJ1ZV9weCIsInVlX3ByIixpKSxvfXZhciBqPXQoMTk2MzczKSxVPXQubihqKTtmdW5jdGlvbiBSKGUsbix0KXt2b2lkIDA9PT10JiYodD02MzA3MmUzKTt0cnl7dmFyIHI9d2luZG93LmxvY2FsU3RvcmFnZSxvPURhdGUubm93KCkrMWUzKnQ7cmV0dXJuIHIuc2V0SXRlbSgiIi5jb25jYXQoZSwiLmV4cGlyZXMiKSxvLnRvU3RyaW5nKCkpLHIuc2V0SXRlbShlLG4pLCEwfWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBOKGUpe3RyeXt2YXIgbj13aW5kb3cubG9jYWxTdG9yYWdlO3JldHVybiBuLnJlbW92ZUl0ZW0oZSksbi5yZW1vdmVJdGVtKGUrIi5leHBpcmVzIiksITB9Y2F0Y2goZSl7cmV0dXJuITF9fWZ1bmN0aW9uIEIoZSl7dHJ5e3JldHVybiB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShlKX1jYXRjaChlKXtyZXR1cm59fXZhciBfPXtzZXNzaW9uSWQ6ITAsc291cmNlSWQ6ITAsc291cmNlUGxhdGZvcm06ITEsdXNlcklkOiExLHJlYXNvbjohMX07ZnVuY3Rpb24gVihlKXtyZXR1cm4gYnRvYShlKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoL1w9KyQvLCIiKX1mdW5jdGlvbiBNKGUpe3JldHVybiEoIWV8fCJzdHJpbmciIT10eXBlb2YgZS52YWx1ZU9mKCkpfWZ1bmN0aW9uIHooZSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXImJk51bWJlci5pc0ludGVnZXIoZSl8fCJudW1iZXIiPT10eXBlb2YgZSYmaXNGaW5pdGUoZSkmJk1hdGguZmxvb3IoZSk9PT1lfWZ1bmN0aW9uIEgoZSl7aWYoIU0oZSkpe2U9ZS50ZXh0fHwiIjt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKTtuJiZudWxsIT1uWzBdJiYoZT1uWzBdLnRleHQpfXJldHVybiBlfWZ1bmN0aW9uIEooZSl7dmFyIG49bmV3IFJlZ0V4cCgiXig/Oig/Omh0dHBzP3xmdHApOikvKig/OlteQF0rQCk/KFteOi8jXSspIikuZXhlYyhlKTtyZXR1cm4gbj9uWzFdOmV9ZnVuY3Rpb24gcShlKXt2YXIgbj1lLmxlbmd0aDtyZXR1cm4iLiI9PT1lLmNoYXJBdCgtLW4pJiYoZT1lLnNsaWNlKDAsbikpLCIqLiI9PT1lLnNsaWNlKDAsMikmJihlPWUuc2xpY2UoMSkpLGV9ZnVuY3Rpb24gRihlKXsKdmFyIG49d2luZG93LHQ9WCgicmVmZXJyZXIiLG4ubG9jYXRpb24uaHJlZil8fFgoInJlZmVyZXIiLG4ubG9jYXRpb24uaHJlZik7aWYodClyZXR1cm4gdDtpZihlKXJldHVybiBlO3RyeXtpZihuLnRvcClyZXR1cm4gbi50b3AuZG9jdW1lbnQucmVmZXJyZXI7aWYobi5wYXJlbnQpcmV0dXJuIG4ucGFyZW50LmRvY3VtZW50LnJlZmVycmVyfWNhdGNoKGUpe31yZXR1cm4gZG9jdW1lbnQucmVmZXJyZXJ9ZnVuY3Rpb24gRyhlLG4sdCxyKXtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyPyhlLmFkZEV2ZW50TGlzdGVuZXIobix0LHIpLCEwKTplLmF0dGFjaEV2ZW50P2UuYXR0YWNoRXZlbnQoIm9uIituLHQpOnZvaWQoZVsib24iK25dPXQpfWZ1bmN0aW9uIFgoZSxuKXt2YXIgdD1uZXcgUmVnRXhwKCJeW14jXSpbPyZdIitlKyI9KFteJiNdKikiKS5leGVjKG4pO3JldHVybiB0P2RlY29kZVVSSUNvbXBvbmVudCh0WzFdLnJlcGxhY2UoL1wrL2csIiAiKSk6bnVsbH1mdW5jdGlvbiBXKGUsbix0LHIpe1EoZSwiIiwtMSwiLyIsbix0LHIpfWZ1bmN0aW9uIFkoZSl7Zm9yKHZhciBuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyAiKSx0PVtdLHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdLnN1YnN0cmluZygwLGUubGVuZ3RoKT09PWUmJnQucHVzaChuW3JdKTtyZXR1cm4gdH1mdW5jdGlvbiBRKGUsbix0LHIsbyxpLGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/ZG9jdW1lbnQuY29va2llPWUrIj0iK2VuY29kZVVSSUNvbXBvbmVudChudWxsIT1uP246IiIpKyh0PyI7IEV4cGlyZXM9IituZXcgRGF0ZSgrbmV3IERhdGUrMWUzKnQpLnRvVVRDU3RyaW5nKCk6IiIpKyhyPyI7IFBhdGg9IityOiIiKSsobz8iOyBEb21haW49IitvOiIiKSsoaT8iOyBTYW1lU2l0ZT0iK2k6IiIpKyhhPyI7IFNlY3VyZSI6IiIpOmRlY29kZVVSSUNvbXBvbmVudCgoKCI7ICIrZG9jdW1lbnQuY29va2llKS5zcGxpdCgiOyAiK2UrIj0iKVsxXXx8IiIpLnNwbGl0KCI7IilbMF0pfWZ1bmN0aW9uIFooKXt2YXIgZT0ibW9kZXJuaXpyIjtpZighZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3cubG9jYWxTdG9yYWdlfWNhdGNoKGUpe3JldHVybiEwfX0oKSlyZXR1cm4hMTt0cnl7dmFyIG49d2luZG93LmxvY2FsU3RvcmFnZTtyZXR1cm4gbi5zZXRJdGVtKGUsZSksbi5yZW1vdmVJdGVtKGUpLCEwfWNhdGNoKGUpe3JldHVybiExfX12YXIgSz0iaWdsdTpjb20uc25vd3Bsb3dhbmFseXRpY3Muc25vd3Bsb3cvd2ViX3BhZ2UvanNvbnNjaGVtYS8xLTAtMCIsJD0iaWdsdTpjb20uc25vd3Bsb3dhbmFseXRpY3Muc25vd3Bsb3cvYnJvd3Nlcl9jb250ZXh0L2pzb25zY2hlbWEvMi0wLTAiLGVlPSJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jbGllbnRfc2Vzc2lvbi9qc29uc2NoZW1hLzEtMC0yIjtmdW5jdGlvbiBuZShlLG4sdCxyLG8saSxhLHUsYyxzLGwsZixkLHYsZyxtLGgseSx3LGIpe3ZvaWQgMD09PXkmJih5PSEwKTt2YXIgayxTLHg9ITEsVD1bXSxJPSExLEE9ITA9PT0ocj0ic3RyaW5nIj09dHlwZW9mIHI/ci50b0xvd2VyQ2FzZSgpOnIpfHwiYmVhY29uIj09PXJ8fCJ0cnVlIj09PXIsQz1Cb29sZWFuKEEmJndpbmRvdy5uYXZpZ2F0b3ImJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJiEoZnVuY3Rpb24oZSxuKXt2YXIgdD1uLm1hdGNoKCIoaVAuKzsgQ1BVIC4qT1MgKGQrKVtfZF0qLiopIEFwcGxlV2ViS2l0LyIpO3JldHVybiEoIXR8fCF0Lmxlbmd0aCkmJnBhcnNlSW50KHRbMF0pPD1lfSgxMyxTPXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KXx8ZnVuY3Rpb24oZSxuLHQpe3ZhciByPXQubWF0Y2goIihNYWNpbnRvc2g7LipNYWMgT1MgWCAoZCspXyhkKylbX2RdKi4qKSBBcHBsZVdlYktpdC8iKTtyZXR1cm4hKCFyfHwhci5sZW5ndGgpJiYocGFyc2VJbnQoclswXSk8PWV8fHBhcnNlSW50KHJbMF0pPT09ZSYmcGFyc2VJbnQoclsxXSk8PW4pfSgxMCwxNSxTKSYmZnVuY3Rpb24oZSl7cmV0dXJuIGUubWF0Y2goIlZlcnNpb24vLiogU2FmYXJpLyIpJiYhZnVuY3Rpb24oZSl7cmV0dXJuIGUubWF0Y2goIkNocm9tKGV8aXVtKSIpfShlKX0oUykpKSYmQSxPPSJnZXQiPT09cixQPUJvb2xlYW4od2luZG93LlhNTEh0dHBSZXF1ZXN0JiYid2l0aENyZWRlbnRpYWxzImluIG5ldyBYTUxIdHRwUmVxdWVzdCksRT0hTyYmUCYmKCJwb3N0Ij09PXJ8fEEpLEw9RT9vOiIvaSIsRD0ic25vd3Bsb3dPdXRRdWV1ZV8iLmNvbmNhdChlLCJfIikuY29uY2F0KEU/InBvc3QyIjoiZ2V0Iik7aWYoQSYmKGQ9e30pLGk9dCYmWigpJiZFJiZpfHwxLHQpdHJ5e3ZhciBqPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShEKTtUPWo/SlNPTi5wYXJzZShqKTpbXX1jYXRjaChlKXt9ZnVuY3Rpb24gVShlKXt2YXIgbj1PYmplY3Qua2V5cyhlKS5tYXAoKGZ1bmN0aW9uKG4pe3JldHVybltuLGVbbl1dfSkpLnJlZHVjZSgoZnVuY3Rpb24oZSxuKXt2YXIgdD1uWzBdLHI9blsxXTtyZXR1cm4gZVt0XT1yLnRvU3RyaW5nKCksZX0pLHt9KTtyZXR1cm57ZXZ0Om4sYnl0ZXM6TihKU09OLnN0cmluZ2lmeShuKSl9fWZ1bmN0aW9uIE4oZSl7Zm9yKHZhciBuPTAsdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lLmNoYXJDb2RlQXQodCk7cjw9MTI3P24rPTE6cjw9MjA0Nz9uKz0yOnI+PTU1Mjk2JiZyPD01NzM0Mz8obis9NCx0KyspOm4rPXI8NjU1MzU/Mzo0fXJldHVybiBufUFycmF5LmlzQXJyYXkoVCl8fChUPVtdKSxuLm91dFF1ZXVlcy5wdXNoKFQpLFAmJmk+MSYmbi5idWZmZXJGbHVzaGVycy5wdXNoKChmdW5jdGlvbihlKXt4fHxIKGUpfSkpO3ZhciBCPWZ1bmN0aW9uKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZVswXSYmImV2dCJpbiBlWzBdfTtmdW5jdGlvbiBfKGUsbil7dmFyIHQ9cShuLCEwLCExKSxyPUcoW2UuZXZ0XSk7dC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT09dC5yZWFkeVN0YXRlJiYoSih0LnN0YXR1cyk/bnVsbD09d3x8dyhyKTpudWxsPT1ifHxiKHtzdGF0dXM6dC5zdGF0dXMsbWVzc2FnZTp0LnN0YXR1c1RleHQsZXZlbnRzOnIsd2lsbFJldHJ5OiExfSkpfSwKdC5zZW5kKEYocikpfWZ1bmN0aW9uIFYoZSl7Zm9yKHZhciBuPTA7bjxlO24rKylULnNoaWZ0KCk7dCYmUihELEpTT04uc3RyaW5naWZ5KFQuc2xpY2UoMCxzKSkpfWZ1bmN0aW9uIHooZSxuLHQpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoND09PWUucmVhZHlTdGF0ZSlpZihjbGVhclRpbWVvdXQociksSihlLnN0YXR1cykpVihuKSxudWxsPT13fHx3KHQpLEgoKTtlbHNle3ZhciBvPWZ1bmN0aW9uKGUpe2lmKEooZSkpcmV0dXJuITE7aWYoIXkpcmV0dXJuITE7aWYoZy5pbmNsdWRlcyhlKSlyZXR1cm4hMDtyZXR1cm4hbS5pbmNsdWRlcyhlKX0oZS5zdGF0dXMpO298fChwLmVycm9yKCJTdGF0dXMgIi5jb25jYXQoZS5zdGF0dXMsIiwgd2lsbCBub3QgcmV0cnkuIikpLFYobikpLG51bGw9PWJ8fGIoe3N0YXR1czplLnN0YXR1cyxtZXNzYWdlOmUuc3RhdHVzVGV4dCxldmVudHM6dCx3aWxsUmV0cnk6b30pLHg9ITF9fTt2YXIgcj1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2UuYWJvcnQoKSx5fHxWKG4pLG51bGw9PWJ8fGIoe3N0YXR1czowLG1lc3NhZ2U6InRpbWVvdXQiLGV2ZW50czp0LHdpbGxSZXRyeTp5fSkseD0hMX0pLGwpfWZ1bmN0aW9uIEgoZSl7Zm9yKHZvaWQgMD09PWUmJihlPSExKTtULmxlbmd0aCYmInN0cmluZyIhPXR5cGVvZiBUWzBdJiYib2JqZWN0IiE9dHlwZW9mIFRbMF07KVQuc2hpZnQoKTtpZihULmxlbmd0aCl7aWYoIU0oaykpdGhyb3ciTm8gY29sbGVjdG9yIGNvbmZpZ3VyZWQiO2lmKHg9ITAsaCYmIUkpe3ZhciBuPXEoaCwhMSxlKTtyZXR1cm4gST0hMCxuLnRpbWVvdXQ9bCxuLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1uLnJlYWR5U3RhdGUmJkgoKX0sdm9pZCBuLnNlbmQoKX1pZihQKXt2YXIgcj12b2lkIDAsbz12b2lkIDAsaT12b2lkIDA7aWYoQihUKT8obz1xKHI9aywhMCxlKSxpPWZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0wLHQ9MDtuPGUubGVuZ3RoJiYhKCh0Kz1lW25dLmJ5dGVzKT49YSk7KW4rPTE7cmV0dXJuIG59KFQpKToobz1xKHI9WChUWzBdKSwhMSxlKSxpPTEpLEIoVCkpe3ZhciB1PVQuc2xpY2UoMCxpKTtpZih1Lmxlbmd0aD4wKXt2YXIgYz0hMSxkPXUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5ldnR9KSk7aWYoQyl7dmFyIHY9bmV3IEJsb2IoW0YoRyhkKSldLHt0eXBlOiJhcHBsaWNhdGlvbi9qc29uIn0pO3RyeXtjPXdpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihyLHYpfWNhdGNoKGUpe2M9ITF9fWlmKCEwPT09YylWKGkpLG51bGw9PXd8fHcodSksSCgpO2Vsc2V7dmFyIGc9RyhkKTt6KG8saSxnKSxvLnNlbmQoRihnKSl9fX1lbHNlIHoobyxpLFtyXSksby5zZW5kKCl9ZWxzZSBpZihmfHxCKFQpKXg9ITE7ZWxzZXt2YXIgcD1uZXcgSW1hZ2UoMSwxKSxtPSEwO3Aub25sb2FkPWZ1bmN0aW9uKCl7bSYmKG09ITEsVC5zaGlmdCgpLHQmJlIoRCxKU09OLnN0cmluZ2lmeShULnNsaWNlKDAscykpKSxIKCkpfSxwLm9uZXJyb3I9ZnVuY3Rpb24oKXttJiYobT0hMSx4PSExKX0scC5zcmM9WChUWzBdKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe20mJngmJihtPSExLEgoKSl9KSxsKX19ZWxzZSB4PSExfWZ1bmN0aW9uIEooZSl7cmV0dXJuIGU+PTIwMCYmZTwzMDB9ZnVuY3Rpb24gcShlLG4sdCl7dmFyIHI9bmV3IFhNTEh0dHBSZXF1ZXN0O2Zvcih2YXIgbyBpbiBuPyhyLm9wZW4oIlBPU1QiLGUsIXQpLHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCIpKTpyLm9wZW4oIkdFVCIsZSwhdCksci53aXRoQ3JlZGVudGlhbHM9dixmJiZyLnNldFJlcXVlc3RIZWFkZXIoIlNQLUFub255bW91cyIsIioiKSxkKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLG8pJiZyLnNldFJlcXVlc3RIZWFkZXIobyxkW29dKTtyZXR1cm4gcn1mdW5jdGlvbiBGKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7c2NoZW1hOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9wYXlsb2FkX2RhdGEvanNvbnNjaGVtYS8xLTAtNCIsZGF0YTplfSl9ZnVuY3Rpb24gRyhlKXtmb3IodmFyIG49KG5ldyBEYXRlKS5nZXRUaW1lKCkudG9TdHJpbmcoKSx0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5zdG09bjtyZXR1cm4gZX1mdW5jdGlvbiBYKGUpe3JldHVybiBjP2srZS5yZXBsYWNlKCI/IiwiP3N0bT0iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpKyImIik6aytlfXJldHVybntlbnF1ZXVlUmVxdWVzdDpmdW5jdGlvbihlLG4pe2s9bitMO3ZhciByPWZ1bmN0aW9uKGUsbil7cmV0dXJuIHAud2FybigiRXZlbnQgKCIrZSsiQikgdG9vIGJpZywgbWF4IGlzICIrbil9O2lmKEUpe2lmKChmPVUoZSkpLmJ5dGVzPj1hKXJldHVybiByKGYuYnl0ZXMsYSksdm9pZCBfKGYsayk7VC5wdXNoKGYpfWVsc2V7dmFyIGM9ZnVuY3Rpb24oZSl7dmFyIG49Ij8iLHQ9e2NvOiEwLGN4OiEwfSxyPSEwO2Zvcih2YXIgbyBpbiBlKWUuaGFzT3duUHJvcGVydHkobykmJiF0Lmhhc093blByb3BlcnR5KG8pJiYocj9yPSExOm4rPSImIixuKz1lbmNvZGVVUklDb21wb25lbnQobykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChlW29dKSk7Zm9yKHZhciBpIGluIHQpZS5oYXNPd25Qcm9wZXJ0eShpKSYmdC5oYXNPd25Qcm9wZXJ0eShpKSYmKG4rPSImIitpKyI9IitlbmNvZGVVUklDb21wb25lbnQoZVtpXSkpO3JldHVybiBufShlKTtpZih1PjApe3ZhciBsPU4oWChjKSk7aWYobD49dSl7dmFyIGY7aWYocihsLHUpLFApXyhmPVUoZSksbitvKTtyZXR1cm59fVQucHVzaChjKX12YXIgZD0hMTt0JiYoZD1SKEQsSlNPTi5zdHJpbmdpZnkoVC5zbGljZSgwLHMpKSkpLHh8fGQmJiEoVC5sZW5ndGg+PWkpfHxIKCl9LGV4ZWN1dGVRdWV1ZTpmdW5jdGlvbigpe3h8fEgoKX0sc2V0VXNlTG9jYWxTdG9yYWdlOmZ1bmN0aW9uKGUpe3Q9ZX0sc2V0QW5vbnltb3VzVHJhY2tpbmc6ZnVuY3Rpb24oZSl7Zj1lfSxzZXRDb2xsZWN0b3JVcmw6ZnVuY3Rpb24oZSl7az1lK0x9LHNldEJ1ZmZlclNpemU6ZnVuY3Rpb24oZSl7aT1lfX19ZnVuY3Rpb24gdGUoZSxuLHQpe3ZhciByLG8saSxhCjtyZXR1cm4idHJhbnNsYXRlLmdvb2dsZXVzZXJjb250ZW50LmNvbSI9PT1lPygiIj09PXQmJih0PW4pLGU9SihuPW51bGwhPT0obz1uLGk9InUiLHI9KGE9bmV3IFJlZ0V4cCgiXig/Omh0dHBzP3xmdHApKD86Oi8qKD86W14/XSspKShbP11bXiNdKykiKS5leGVjKG8pKSYmKG51bGw9PWE/dm9pZCAwOmEubGVuZ3RoKT4xP1goaSxhWzFdKTpudWxsKSYmdm9pZCAwIT09cj9yOiIiKSk6ImNjLmJpbmdqLmNvbSIhPT1lJiYid2ViY2FjaGUuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiE9PWV8fChlPUoobj1kb2N1bWVudC5saW5rc1swXS5ocmVmKSksW2Usbix0XX1mdW5jdGlvbiByZShlLG4pe3ZvaWQgMD09PW4mJihuPXttZW1vcml6ZWRWaXNpdENvdW50OjF9KTt2YXIgdD1uLm1lbW9yaXplZFZpc2l0Q291bnQ7Y2UoZSk/KGVbN109ZVs2XSxlWzVdPWVbNF0sZVszXSsrKTplWzNdPXQ7dmFyIHI9KDAsaS52NCkoKTtyZXR1cm4gZVs2XT1yLGVbMTBdPTAsZVs4XT0iIixlWzldPXZvaWQgMCxyfWZ1bmN0aW9uIG9lKGUpe2VbNF09TWF0aC5yb3VuZCgobmV3IERhdGUpLmdldFRpbWUoKS8xZTMpfWZ1bmN0aW9uIGllKGUsbix0KXt2YXIgcj1lWzldO3JldHVybnt1c2VySWQ6dD8iMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIjplWzFdLHNlc3Npb25JZDplWzZdLGV2ZW50SW5kZXg6ZVsxMF0sc2Vzc2lvbkluZGV4OmVbM10scHJldmlvdXNTZXNzaW9uSWQ6dD9udWxsOmVbN118fG51bGwsc3RvcmFnZU1lY2hhbmlzbToibG9jYWxTdG9yYWdlIj09bj8iTE9DQUxfU1RPUkFHRSI6IkNPT0tJRV8xIixmaXJzdEV2ZW50SWQ6ZVs4XXx8bnVsbCxmaXJzdEV2ZW50VGltZXN0YW1wOnI/bmV3IERhdGUocikudG9JU09TdHJpbmcoKTpudWxsfX1mdW5jdGlvbiBhZShlKXtyZXR1cm4gZVs2XX1mdW5jdGlvbiB1ZShlKXtyZXR1cm4gZVszXX1mdW5jdGlvbiBjZShlKXtyZXR1cm4iMCI9PT1lWzBdfXZhciBzZSxsZT0hMTt2YXIgZmU9IngiO2Z1bmN0aW9uIGRlKCl7cmV0dXJuIlJlc2l6ZU9ic2VydmVyImluIHdpbmRvdz8oc2V8fChzZT12ZSgpKSxmdW5jdGlvbigpe2lmKCFsZSYmZG9jdW1lbnQmJmRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGU9ITA7dmFyIGU9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbihlKXtmb3IodmFyIG49MCx0PWU7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci50YXJnZXQhPT1kb2N1bWVudC5ib2R5JiZyLnRhcmdldCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KHNlPXZlKCkpfX0pKTtlLm9ic2VydmUoZG9jdW1lbnQuYm9keSksZS5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl9fSgpLHNlKTp2ZSgpfWZ1bmN0aW9uIHZlKCl7cmV0dXJue3ZpZXdwb3J0OnBlKGdlKCkpLGRvY3VtZW50U2l6ZTpwZSgoZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbj1kb2N1bWVudC5ib2R5LHQ9bj9NYXRoLm1heChuLm9mZnNldEhlaWdodCxuLnNjcm9sbEhlaWdodCk6MCxyPU1hdGgubWF4KGUuY2xpZW50V2lkdGgsZS5vZmZzZXRXaWR0aCxlLnNjcm9sbFdpZHRoKSxvPU1hdGgubWF4KGUuY2xpZW50SGVpZ2h0LGUub2Zmc2V0SGVpZ2h0LGUuc2Nyb2xsSGVpZ2h0LHQpLGlzTmFOKHIpfHxpc05hTihvKT8iIjpyK2ZlK28pKSxyZXNvbHV0aW9uOnBlKHNjcmVlbi53aWR0aCtmZStzY3JlZW4uaGVpZ2h0KSxjb2xvckRlcHRoOnNjcmVlbi5jb2xvckRlcHRoLGRldmljZVBpeGVsUmF0aW86d2luZG93LmRldmljZVBpeGVsUmF0aW8sY29va2llc0VuYWJsZWQ6d2luZG93Lm5hdmlnYXRvci5jb29raWVFbmFibGVkLG9ubGluZTp3aW5kb3cubmF2aWdhdG9yLm9uTGluZSxicm93c2VyTGFuZ3VhZ2U6d2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZXx8d2luZG93Lm5hdmlnYXRvci51c2VyTGFuZ3VhZ2UsZG9jdW1lbnRMYW5ndWFnZTpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyx3ZWJkcml2ZXI6d2luZG93Lm5hdmlnYXRvci53ZWJkcml2ZXIsZGV2aWNlTWVtb3J5OndpbmRvdy5uYXZpZ2F0b3IuZGV2aWNlTWVtb3J5LGhhcmR3YXJlQ29uY3VycmVuY3k6d2luZG93Lm5hdmlnYXRvci5oYXJkd2FyZUNvbmN1cnJlbmN5fTt2YXIgZSxuLHQscixvfWZ1bmN0aW9uIGdlKCl7dmFyIGUsbjtpZigiaW5uZXJXaWR0aCJpbiB3aW5kb3cpZT13aW5kb3cuaW5uZXJXaWR0aCxuPXdpbmRvdy5pbm5lckhlaWdodDtlbHNle3ZhciB0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8ZG9jdW1lbnQuYm9keTtlPXQuY2xpZW50V2lkdGgsbj10LmNsaWVudEhlaWdodH1yZXR1cm4gZT49MCYmbj49MD9lK2ZlK246bnVsbH1mdW5jdGlvbiBwZShlKXtyZXR1cm4gZSYmZS5zcGxpdChmZSkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5mbG9vcihOdW1iZXIoZSkpfSkpLmpvaW4oZmUpfWZ1bmN0aW9uIG1lKGUsbix0LGEsdSxjKXt2b2lkIDA9PT1jJiYoYz17fSk7dmFyIGw9W10sZj1mdW5jdGlvbihlLG4sdCxhLHUsYyl7dmFyIGYsZCx2LGcsbSxoLHksdyxiLGssUyx4LFQsSSxBLEMsTyxQLEUsRCxqLE0sWixzZSxsZSxmZSx2ZSxnZSxwZTtjLmV2ZW50TWV0aG9kPW51bGwhPT0oZj1jLmV2ZW50TWV0aG9kKSYmdm9pZCAwIT09Zj9mOiJwb3N0Ijt2YXIgbWUsaGUseWU9ZnVuY3Rpb24oZSl7dmFyIG47cmV0dXJuIG51bGwhPT0obj1lLnN0YXRlU3RvcmFnZVN0cmF0ZWd5KSYmdm9pZCAwIT09bj9uOiJjb29raWVBbmRMb2NhbFN0b3JhZ2UifSx3ZT1mdW5jdGlvbihlKXt2YXIgbix0O3JldHVybiJib29sZWFuIiE9dHlwZW9mIGUuYW5vbnltb3VzVHJhY2tpbmcmJihudWxsIT09KHQ9ITA9PT0obnVsbD09PShuPWUuYW5vbnltb3VzVHJhY2tpbmcpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLndpdGhTZXNzaW9uVHJhY2tpbmcpKSYmdm9pZCAwIT09dCYmdCl9LGJlPWZ1bmN0aW9uKGUpe3ZhciBuLHQKO3JldHVybiJib29sZWFuIiE9dHlwZW9mIGUuYW5vbnltb3VzVHJhY2tpbmcmJihudWxsIT09KHQ9ITA9PT0obnVsbD09PShuPWUuYW5vbnltb3VzVHJhY2tpbmcpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLndpdGhTZXJ2ZXJBbm9ueW1pc2F0aW9uKSkmJnZvaWQgMCE9PXQmJnQpfSxrZT1mdW5jdGlvbihlKXtyZXR1cm4hIWUuYW5vbnltb3VzVHJhY2tpbmd9LFNlPW51bGwhPT0odj1udWxsPT09KGQ9bnVsbD09Yz92b2lkIDA6Yy5jb250ZXh0cyl8fHZvaWQgMD09PWQ/dm9pZCAwOmQuYnJvd3NlcikmJnZvaWQgMCE9PXYmJnYseGU9bnVsbD09PShtPW51bGw9PT0oZz1udWxsPT1jP3ZvaWQgMDpjLmNvbnRleHRzKXx8dm9pZCAwPT09Zz92b2lkIDA6Zy53ZWJQYWdlKXx8dm9pZCAwPT09bXx8bTtsLnB1c2goKG1lPWZ1bmN0aW9uKGUpe3JldHVybiBmbj9udWxsOmV9LGhlPWZ1bmN0aW9uKGUpe3JldHVybiBzbj9lOm1lKGUpfSx7YmVmb3JlVHJhY2s6ZnVuY3Rpb24oZSl7dmFyIG49Qm4oInNlcyIpLHQ9UW4oKSxyPTA9PT1mdW5jdGlvbihlKXtyZXR1cm4gZVsxMF19KHQpO2lmKFZlPSEhUGUmJiEhUShQZSksYW58fFZlKVhuKCk7ZWxzZXtjZSh0KT8oQmU9bnx8Im5vbmUiPT1kbj9hZSh0KTpyZSh0KSxnbj11ZSh0KSk6KG5ldyBEYXRlKS5nZXRUaW1lKCktdm4+MWUzKmNuJiYoZ24rKyxCZT1yZSh0LHttZW1vcml6ZWRWaXNpdENvdW50OmdufSkpLG9lKHQpLGZ1bmN0aW9uKGUsbil7aWYoMD09PWVbMTBdKXt2YXIgdD1uLmJ1aWxkKCk7ZVs4XT10LmVpZDt2YXIgcj10LmR0bXx8dC50dG07ZVs5XT1yP3BhcnNlSW50KHIpOnZvaWQgMH19KHQsZSksZnVuY3Rpb24oZSl7ZVsxMF0rPTF9KHQpO3ZhciBvPWRlKCksaT1vLnZpZXdwb3J0LGE9by5kb2N1bWVudFNpemU7ZS5hZGQoInZwIixpKSxlLmFkZCgiZHMiLGEpLGUuYWRkKCJ2aWQiLGhlKGduKSksZS5hZGQoInNpZCIsaGUoQmUpKSxlLmFkZCgiZHVpZCIsbWUoZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV19KHQpKSksZS5hZGQoInVpZCIsbWUoX2UpKSxMbigpLGUuYWRkKCJyZWZyIixVbihUZXx8R2UpKSxlLmFkZCgidXJsIixVbihJZXx8RmUpKTt2YXIgdT1pZSh0LGRuLGZuKTtpZighYm58fGZuJiYhc258fGZ1bmN0aW9uKGUsbil7dmFyIHQ9e3NjaGVtYTplZSxkYXRhOm59O2UuYWRkQ29udGV4dEVudGl0eSh0KX0oZSx1KSwibm9uZSIhPWRuKXtGbih0KTt2YXIgYz1xbigpO24mJiFyfHwhY3x8IWtufHxTbnx8KGtuKHUpLFNuPSExKX12bj0obmV3IERhdGUpLmdldFRpbWUoKX19fSkpLHhlJiZsLnB1c2goe2NvbnRleHRzOmZ1bmN0aW9uKCl7cmV0dXJuW3tzY2hlbWE6SyxkYXRhOntpZDokbigpfX1dfX0pLFNlJiZsLnB1c2goe2NvbnRleHRzOmZ1bmN0aW9uKCl7cmV0dXJuW3tzY2hlbWE6JCxkYXRhOnIocih7fSxkZSgpKSx7dGFiSWQ6ZXQoKX0pfV19fSksbC5wdXNoLmFwcGx5KGwsbnVsbCE9PShoPWMucGx1Z2lucykmJnZvaWQgMCE9PWg/aDpbXSk7dmFyIFRlLEllLEFlLENlLE9lLFBlLEVlLExlLERlLGplLFVlLFJlLE5lLEJlLF9lLFZlLE1lLHplPUwoe2Jhc2U2NDpjLmVuY29kZUJhc2U2NCxjb3JlUGx1Z2luczpsLGNhbGxiYWNrOmZ1bmN0aW9uKGUpe2FufHxWZXx8cG4uZW5xdWV1ZVJlcXVlc3QoZS5idWlsZCgpLFdlKX0KfSksSGU9ZG9jdW1lbnQuY2hhcmFjdGVyU2V0fHxkb2N1bWVudC5jaGFyc2V0LEplPXRlKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSx3aW5kb3cubG9jYXRpb24uaHJlZixGKCkpLHFlPXEoSmVbMF0pLEZlPUplWzFdLEdlPUplWzJdLFhlPW51bGwhPT0oeT1jLnBsYXRmb3JtKSYmdm9pZCAwIT09eT95OiJ3ZWIiLFdlPVpuKGEpLFllPW51bGwhPT0odz1jLnBvc3RQYXRoKSYmdm9pZCAwIT09dz93OiIvY29tLnNub3dwbG93YW5hbHl0aWNzLnNub3dwbG93L3RwMiIsUWU9bnVsbCE9PShiPWMuYXBwSWQpJiZ2b2lkIDAhPT1iP2I6IiIsWmU9ZG9jdW1lbnQudGl0bGUsS2U9bnVsbD09PShrPWMucmVzZXRBY3Rpdml0eVRyYWNraW5nT25QYWdlVmlldyl8fHZvaWQgMD09PWt8fGssJGU9bnVsbCE9PShTPWMuY29va2llTmFtZSkmJnZvaWQgMCE9PVM/UzoiX3NwXyIsZW49bnVsbCE9PSh4PWMuY29va2llRG9tYWluKSYmdm9pZCAwIT09eD94OnZvaWQgMCxubj0iLyIsdG49bnVsbCE9PShUPWMuY29va2llU2FtZVNpdGUpJiZ2b2lkIDAhPT1UP1Q6Ik5vbmUiLHJuPW51bGw9PT0oST1jLmNvb2tpZVNlY3VyZSl8fHZvaWQgMD09PUl8fEksb249d2luZG93Lm5hdmlnYXRvci5kb05vdFRyYWNrfHx3aW5kb3cubmF2aWdhdG9yLm1zRG9Ob3RUcmFja3x8d2luZG93LmRvTm90VHJhY2ssYW49dm9pZCAwIT09Yy5yZXNwZWN0RG9Ob3RUcmFjayYmKGMucmVzcGVjdERvTm90VHJhY2smJigieWVzIj09PW9ufHwiMSI9PT1vbikpLHVuPW51bGwhPT0oQT1jLmNvb2tpZUxpZmV0aW1lKSYmdm9pZCAwIT09QT9BOjYzMDcyZTMsY249bnVsbCE9PShDPWMuc2Vzc2lvbkNvb2tpZVRpbWVvdXQpJiZ2b2lkIDAhPT1DP0M6MTgwMCxzbj13ZShjKSxsbj1iZShjKSxmbj1rZShjKSxkbj15ZShjKSx2bj0obmV3IERhdGUpLmdldFRpbWUoKSxnbj0xLHBuPW5lKGUsdSwibG9jYWxTdG9yYWdlIj09ZG58fCJjb29raWVBbmRMb2NhbFN0b3JhZ2UiPT1kbixjLmV2ZW50TWV0aG9kLFllLG51bGwhPT0oTz1jLmJ1ZmZlclNpemUpJiZ2b2lkIDAhPT1PP086MSxudWxsIT09KFA9Yy5tYXhQb3N0Qnl0ZXMpJiZ2b2lkIDAhPT1QP1A6NGU0LG51bGwhPT0oRT1jLm1heEdldEJ5dGVzKSYmdm9pZCAwIT09RT9FOjAsbnVsbD09PShEPWMudXNlU3RtKXx8dm9pZCAwPT09RHx8RCxudWxsIT09KGo9Yy5tYXhMb2NhbFN0b3JhZ2VRdWV1ZVNpemUpJiZ2b2lkIDAhPT1qP2o6MWUzLG51bGwhPT0oTT1jLmNvbm5lY3Rpb25UaW1lb3V0KSYmdm9pZCAwIT09TT9NOjVlMyxsbixudWxsIT09KFo9Yy5jdXN0b21IZWFkZXJzKSYmdm9pZCAwIT09Wj9aOnt9LG51bGw9PT0oc2U9Yy53aXRoQ3JlZGVudGlhbHMpfHx2b2lkIDA9PT1zZXx8c2UsbnVsbCE9PShsZT1jLnJldHJ5U3RhdHVzQ29kZXMpJiZ2b2lkIDAhPT1sZT9sZTpbXSwobnVsbCE9PShmZT1jLmRvbnRSZXRyeVN0YXR1c0NvZGVzKSYmdm9pZCAwIT09ZmU/ZmU6W10pLmNvbmNhdChbNDAwLDQwMSw0MDMsNDEwLDQyMl0pLGMuaWRTZXJ2aWNlLGMucmV0cnlGYWlsZWRSZXF1ZXN0cyxjLm9uUmVxdWVzdFN1Y2Nlc3MsYy5vblJlcXVlc3RGYWlsdXJlKSxtbj0hMSxobj1udWxsIT09KHZlPWMucHJlc2VydmVQYWdlVmlld0lkRm9yVXJsKSYmdm9pZCAwIT09dmUmJnZlLHluPXZvaWQgMCx3bj17ZW5hYmxlZDohMSxpbnN0YWxsZWQ6ITEsY29uZmlndXJhdGlvbnM6e319LGJuPW51bGwhPT0ocGU9bnVsbD09PShnZT1jLmNvbnRleHRzKXx8dm9pZCAwPT09Z2U/dm9pZCAwOmdlLnNlc3Npb24pJiZ2b2lkIDAhPT1wZSYmcGUsa249Yy5vblNlc3Npb25VcGRhdGVDYWxsYmFjayxTbj0hMSx4bj0iYm9vbGVhbiI9PXR5cGVvZihNZT1jLnVzZUV4dGVuZGVkQ3Jvc3NEb21haW5MaW5rZXJ8fCExKT97dXNlRXh0ZW5kZWRDcm9zc0RvbWFpbkxpbmtlcjpNZX06e3VzZUV4dGVuZGVkQ3Jvc3NEb21haW5MaW5rZXI6ITAsY29sbGVjdENyb3NzRG9tYWluQXR0cmlidXRlczpNZX0sVG49eG4udXNlRXh0ZW5kZWRDcm9zc0RvbWFpbkxpbmtlcixJbj14bi5jb2xsZWN0Q3Jvc3NEb21haW5BdHRyaWJ1dGVzO2MuaGFzT3duUHJvcGVydHkoImRpc2NvdmVyUm9vdERvbWFpbiIpJiZjLmRpc2NvdmVyUm9vdERvbWFpbiYmKGVuPWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PXdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSxyPSJfc3Bfcm9vdF9kb21haW5fdGVzdF8iLG89cisobmV3IERhdGUpLmdldFRpbWUoKSxpPSJfdGVzdF92YWx1ZV8iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpLGE9dC5zcGxpdCgiLiIpLHU9YS5sZW5ndGgtMjt1Pj0wO3UtLSl7dmFyIGM9YS5zbGljZSh1KS5qb2luKCIuIik7aWYoUShvLGksMCwiLyIsYyxlLG4pLFEobyk9PT1pKXtXKG8sYyxlLG4pO2Zvcih2YXIgcz1ZKHIpLGw9MDtsPHMubGVuZ3RoO2wrKylXKHNbbF0sYyxlLG4pO3JldHVybiBjfX1yZXR1cm4gdH0odG4scm4pKTt2YXIgQW49ZGUoKSxDbj1Bbi5icm93c2VyTGFuZ3VhZ2UsT249QW4ucmVzb2x1dGlvbixQbj1Bbi5jb2xvckRlcHRoLEVuPUFuLmNvb2tpZXNFbmFibGVkO2Z1bmN0aW9uIExuKCl7KEplPXRlKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSx3aW5kb3cubG9jYXRpb24uaHJlZixGKCkpKVsxXSE9PUZlJiYoR2U9RihGZSkpLHFlPXEoSmVbMF0pLEZlPUplWzFdfWZ1bmN0aW9uIERuKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdD1uLmN1cnJlbnRUYXJnZXQsbz1mdW5jdGlvbihlLG4sdCl7dmFyIG8saT0obmV3IERhdGUpLmdldFRpbWUoKSxhPXIocih7fSxfKSxuKSx1PXQuZG9tYWluVXNlcklkLGM9dC51c2VySWQscz10LnNlc3Npb25JZCxsPXQuc291cmNlSWQsZj10LnNvdXJjZVBsYXRmb3JtLGQ9dC5ldmVudCx2PWQuY3VycmVudFRhcmdldCxnPSJmdW5jdGlvbiI9PXR5cGVvZiBhLnJlYXNvbj9hLnJlYXNvbihkKTpudWxsPT09KG89bnVsbD09dj92b2lkIDA6di50ZXh0Q29udGVudCl8fHZvaWQgMD09PW8/dm9pZCAwOm8udHJpbSgpCjtyZXR1cm4gZT9bdSxpLGEuc2Vzc2lvbklkJiZzLGEudXNlcklkJiZWKGN8fCIiKSxhLnNvdXJjZUlkJiZWKGx8fCIiKSxhLnNvdXJjZVBsYXRmb3JtJiZmLGEucmVhc29uJiZWKGd8fCIiKV0ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZXx8IiJ9KSkuam9pbigiLiIpLnJlcGxhY2UoLyhbLl0qJCkvLCIiKTp0LmRvbWFpblVzZXJJZCsiLiIraX0oZSxJbix7ZG9tYWluVXNlcklkOk5lLHVzZXJJZDpfZXx8dm9pZCAwLHNlc3Npb25JZDpCZSxzb3VyY2VJZDpRZSxzb3VyY2VQbGF0Zm9ybTpYZSxldmVudDpufSk7KG51bGw9PXQ/dm9pZCAwOnQuaHJlZikmJih0LmhyZWY9ZnVuY3Rpb24oZSxuLHQpe3ZhciByPW4rIj0iK3Qsbz1lLnNwbGl0KCIjIiksaT1vWzBdLnNwbGl0KCI/IiksYT1pLnNoaWZ0KCksdT1pLmpvaW4oIj8iKTtpZih1KXtmb3IodmFyIGM9ITAscz11LnNwbGl0KCImIiksbD0wO2w8cy5sZW5ndGg7bCsrKWlmKHNbbF0uc3Vic3RyKDAsbi5sZW5ndGgrMSk9PT1uKyI9Iil7Yz0hMSxzW2xdPXIsdT1zLmpvaW4oIiYiKTticmVha31jJiYodT1yKyImIit1KX1lbHNlIHU9cjtyZXR1cm4gb1swXT1hKyI/Iit1LG8uam9pbigiIyIpfSh0LmhyZWYsIl9zcCIsbykpfX1mdW5jdGlvbiBqbihlKXtmb3IodmFyIG49RG4oVG4pLHQ9MDt0PGRvY3VtZW50LmxpbmtzLmxlbmd0aDt0Kyspe3ZhciByPWRvY3VtZW50LmxpbmtzW3RdOyFyLnNwRGVjb3JhdGlvbkVuYWJsZWQmJmUocikmJihyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuLCEwKSxyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiwhMCksci5zcERlY29yYXRpb25FbmFibGVkPSEwKX19ZnVuY3Rpb24gVW4oZSl7dmFyIG47cmV0dXJuIENlJiYobj1uZXcgUmVnRXhwKCIjLioiKSxlPWUucmVwbGFjZShuLCIiKSksT2UmJihuPW5ldyBSZWdFeHAoIlt7fV0iLCJnIiksZT1lLnJlcGxhY2UobiwiIikpLGV9ZnVuY3Rpb24gUm4oZSl7dmFyIG49bmV3IFJlZ0V4cCgiXihbYS16XSspOiIpLmV4ZWMoZSk7cmV0dXJuIG4/blsxXTpudWxsfWZ1bmN0aW9uIE5uKGUpe3JldHVybiAkZStlKyIuIitSZX1mdW5jdGlvbiBCbihlKXt2YXIgbj1ObihlKTtyZXR1cm4ibG9jYWxTdG9yYWdlIj09ZG4/ZnVuY3Rpb24oZSl7dHJ5e3ZhciBuPXdpbmRvdy5sb2NhbFN0b3JhZ2UsdD1uLmdldEl0ZW0oZSsiLmV4cGlyZXMiKTtyZXR1cm4gbnVsbD09PXR8fCt0PkRhdGUubm93KCk/bi5nZXRJdGVtKGUpOihuLnJlbW92ZUl0ZW0oZSksdm9pZCBuLnJlbW92ZUl0ZW0oZSsiLmV4cGlyZXMiKSl9Y2F0Y2goZSl7cmV0dXJufX0obik6ImNvb2tpZSI9PWRufHwiY29va2llQW5kTG9jYWxTdG9yYWdlIj09ZG4/UShuKTp2b2lkIDB9ZnVuY3Rpb24gX24oKXtMbigpLFJlPVUoKSgoZW58fHFlKSsobm58fCIvIikpLnNsaWNlKDAsNCl9ZnVuY3Rpb24gVm4oKXt2YXIgZT1uZXcgRGF0ZTtFZT1lLmdldFRpbWUoKX1mdW5jdGlvbiBNbigpeyFmdW5jdGlvbigpe3ZhciBlPXpuKCksbj1lWzBdO248TGU/TGU9bjpuPkRlJiYoRGU9bik7dmFyIHQ9ZVsxXTt0PGplP2plPXQ6dD5VZSYmKFVlPXQpfSgpLFZuKCl9ZnVuY3Rpb24gem4oKXt2YXIgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGU/W2Uuc2Nyb2xsTGVmdHx8d2luZG93LnBhZ2VYT2Zmc2V0LGUuc2Nyb2xsVG9wfHx3aW5kb3cucGFnZVlPZmZzZXRdOlswLDBdfWZ1bmN0aW9uIEhuKCl7dmFyIGU9em4oKSxuPWVbMF07TGU9bixEZT1uO3ZhciB0PWVbMV07amU9dCxVZT10fWZ1bmN0aW9uIEpuKGUpe3JldHVybiBNYXRoLnJvdW5kKGUpfWZ1bmN0aW9uIHFuKCl7cmV0dXJuIEduKE5uKCJzZXMiKSwiKiIsY24pfWZ1bmN0aW9uIEZuKGUpe3ZhciBuPU5uKCJpZCIpLHQ9ZnVuY3Rpb24oZSxuKXt2YXIgdD1vKFtdLGUsITApO3JldHVybiBuJiYodFsxXT0iIix0WzddPSIiKSx0LnNoaWZ0KCksdC5qb2luKCIuIil9KGUsZm4pO3JldHVybiBHbihuLHQsdW4pfWZ1bmN0aW9uIEduKGUsbix0KXtyZXR1cm4hKGZuJiYhc24pJiYoImxvY2FsU3RvcmFnZSI9PWRuP1IoZSxuLHQpOigiY29va2llIj09ZG58fCJjb29raWVBbmRMb2NhbFN0b3JhZ2UiPT1kbikmJihRKGUsbix0LG5uLGVuLHRuLHJuKSwtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCIiLmNvbmNhdChlLCI9IikpKSl9ZnVuY3Rpb24gWG4oZSl7dmFyIG49Tm4oImlkIiksdD1Obigic2VzIik7TihuKSxOKHQpLFcobixlbix0bixybiksVyh0LGVuLHRuLHJuKSwobnVsbD09ZT92b2lkIDA6ZS5wcmVzZXJ2ZVNlc3Npb24pfHwoQmU9KDAsaS52NCkoKSxnbj0xKSwobnVsbD09ZT92b2lkIDA6ZS5wcmVzZXJ2ZVVzZXIpfHwoTmU9Zm4/IiI6KDAsaS52NCkoKSxfZT1udWxsKX1mdW5jdGlvbiBXbihlKXtlJiZlLnN0YXRlU3RvcmFnZVN0cmF0ZWd5JiYoYy5zdGF0ZVN0b3JhZ2VTdHJhdGVneT1lLnN0YXRlU3RvcmFnZVN0cmF0ZWd5LGRuPXllKGMpKSxmbj1rZShjKSxzbj13ZShjKSxsbj1iZShjKSxwbi5zZXRVc2VMb2NhbFN0b3JhZ2UoImxvY2FsU3RvcmFnZSI9PWRufHwiY29va2llQW5kTG9jYWxTdG9yYWdlIj09ZG4pLHBuLnNldEFub255bW91c1RyYWNraW5nKGxuKX1mdW5jdGlvbiBZbigpe2lmKCFmbnx8c24pe3ZhciBlPSJub25lIiE9ZG4mJiEhQm4oInNlcyIpLG49UW4oKTtOZT1mdW5jdGlvbihlLG4pe3ZhciB0O3JldHVybiBlWzFdP3Q9ZVsxXTpuPyh0PSIiLGVbMV09dCk6KHQ9KDAsaS52NCkoKSxlWzFdPXQpLHR9KG4sZm4pLEJlPWU/YWUobik6cmUobiksZ249dWUobiksIm5vbmUiIT1kbiYmKHFuKCksb2UobiksRm4obikpfX1mdW5jdGlvbiBRbigpe3JldHVybiJub25lIj09ZG4/WyIxIiwiIiwwLDAsMCx2b2lkIDAsIiIsIiIsIiIsdm9pZCAwLDBdOmZ1bmN0aW9uKGUsbix0LHIpe3ZhciBvLGE9bmV3IERhdGUsdT1NYXRoLnJvdW5kKGEuZ2V0VGltZSgpLzFlMyk7ZT8obz1lLnNwbGl0KCIuIikpLnVuc2hpZnQoIjAiKTpvPVsiMSIsbix1LHIsdSwiIix0XSxvWzZdJiYidW5kZWZpbmVkIiE9PW9bNl18fChvWzZdPSgwLGkudjQpKCkpLG9bN10mJiJ1bmRlZmluZWQiIT09b1s3XXx8KG9bN109IiIpLApvWzhdJiYidW5kZWZpbmVkIiE9PW9bOF18fChvWzhdPSIiKSxvWzldJiYidW5kZWZpbmVkIiE9PW9bOV18fChvWzldPSIiKSxvWzEwXSYmInVuZGVmaW5lZCIhPT1vWzEwXXx8KG9bMTBdPTApO3ZhciBjPWZ1bmN0aW9uKGUsbil7dmFyIHQ9cGFyc2VJbnQoZSk7cmV0dXJuIGlzTmFOKHQpP246dH0scz1mdW5jdGlvbihlKXtyZXR1cm4gZT9jKGUsdm9pZCAwKTp2b2lkIDB9O3JldHVybltvWzBdLG9bMV0sYyhvWzJdLHUpLGMob1szXSxyKSxjKG9bNF0sdSkscyhvWzVdKSxvWzZdLG9bN10sb1s4XSxzKG9bOV0pLGMob1sxMF0sMCldfShCbigiaWQiKXx8dm9pZCAwLE5lLEJlLGduKX1mdW5jdGlvbiBabihlKXtyZXR1cm4gMD09PWUuaW5kZXhPZigiaHR0cCIpP2U6KCJodHRwczoiPT09ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2w/Imh0dHBzIjoiaHR0cCIpKyI6Ly8iK2V9ZnVuY3Rpb24gS24oKXttbiYmbnVsbCE9dS5wYWdlVmlld0lkfHwodS5wYWdlVmlld0lkPSgwLGkudjQpKCksdS5wYWdlVmlld1VybD1JZXx8RmUpfWZ1bmN0aW9uICRuKCl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYobnVsbD09dS5wYWdlVmlld0lkKXJldHVybiEwO2lmKG1ufHwhaG4pcmV0dXJuITE7aWYodm9pZCAwPT09dS5wYWdlVmlld1VybClyZXR1cm4hMDt2YXIgZT1JZXx8RmU7aWYoITA9PT1obnx8ImZ1bGwiPT1obnx8ISgiVVJMImluIHdpbmRvdykpcmV0dXJuIHUucGFnZVZpZXdVcmwhPWU7dmFyIG49bmV3IFVSTChlKSx0PW5ldyBVUkwodS5wYWdlVmlld1VybCk7aWYoInBhdGhuYW1lIj09aG4pcmV0dXJuIG4ucGF0aG5hbWUhPXQucGF0aG5hbWU7aWYoInBhdGhuYW1lQW5kU2VhcmNoIj09aG4pcmV0dXJuIG4ucGF0aG5hbWUhPXQucGF0aG5hbWV8fG4uc2VhcmNoIT10LnNlYXJjaDtyZXR1cm4hMX0oKSYmKHUucGFnZVZpZXdJZD0oMCxpLnY0KSgpLHUucGFnZVZpZXdVcmw9SWV8fEZlKSx1LnBhZ2VWaWV3SWR9ZnVuY3Rpb24gZXQoKXtpZigibm9uZSI9PT1kbnx8Zm58fCF4ZSlyZXR1cm4gbnVsbDt2YXIgZT0iX3NwX3RhYl9pZCIsbj1CKGUpO3JldHVybiBufHwoIWZ1bmN0aW9uKGUsbil7dHJ5e3JldHVybiB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlLG4pLCEwfWNhdGNoKGUpe3JldHVybiExfX0oZSwoMCxpLnY0KSgpKSxuPUIoZSkpLG58fG51bGx9ZnVuY3Rpb24gbnQoZSxuKXtyZXR1cm4oZXx8W10pLmNvbmNhdChuP24oKTpbXSl9ZnVuY3Rpb24gdHQoZSl7dmFyIG49ZS50aXRsZSx0PWUuY29udGV4dCxyPWUudGltZXN0YW1wLG89ZS5jb250ZXh0Q2FsbGJhY2s7TG4oKSx5biYmeW49PSRuKCkmJktuKCkseW49JG4oKSxaZT1kb2N1bWVudC50aXRsZTt2YXIgaT1IKChBZT1udWxsIT1uP246QWUpfHxaZSk7emUudHJhY2soZnVuY3Rpb24oZSl7dmFyIG49ZS5wYWdlVXJsLHQ9ZS5wYWdlVGl0bGUscj1lLnJlZmVycmVyLG89cygpO3JldHVybiBvLmFkZCgiZSIsInB2Iiksby5hZGQoInVybCIsbiksby5hZGQoInBhZ2UiLHQpLG8uYWRkKCJyZWZyIixyKSxvfSh7cGFnZVVybDpVbihJZXx8RmUpLHBhZ2VUaXRsZTppLHJlZmVycmVyOlVuKFRlfHxHZSl9KSxudCh0LG8pLHIpO3ZhciBhPW5ldyBEYXRlLHU9ITE7aWYod24uZW5hYmxlZCYmIXduLmluc3RhbGxlZCl7d24uaW5zdGFsbGVkPSEwLHU9ITA7dmFyIGM9e3VwZGF0ZTpmdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LmFkZEV2ZW50TGlzdGVuZXIpe3ZhciBlPSExLG49T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7ZT0hMH0sc2V0OmZ1bmN0aW9uKCl7fX0pLHQ9ZnVuY3Rpb24oKXt9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZUV2ZW50U3VwcG9ydCIsdCxuKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmVFdmVudFN1cHBvcnQiLHQsbiksYy5oYXNTdXBwb3J0PWV9fX07Yy51cGRhdGUoKTt2YXIgbD0ib253aGVlbCJpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKT8id2hlZWwiOnZvaWQgMCE9PWRvY3VtZW50Lm9ubW91c2V3aGVlbD8ibW91c2V3aGVlbCI6IkRPTU1vdXNlU2Nyb2xsIjtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYywiaGFzU3VwcG9ydCIpP0coZG9jdW1lbnQsbCxWbix7cGFzc2l2ZTohMH0pOkcoZG9jdW1lbnQsbCxWbiksSG4oKTt2YXIgZj1mdW5jdGlvbihlLG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj1WbiksZnVuY3Rpb24oZSl7cmV0dXJuIEcoZG9jdW1lbnQsZSxuKX19O1siY2xpY2siLCJtb3VzZXVwIiwibW91c2Vkb3duIiwibW91c2Vtb3ZlIiwia2V5cHJlc3MiLCJrZXlkb3duIiwia2V5dXAiLCJ0b3VjaGVuZCIsInRvdWNoc3RhcnQiXS5mb3JFYWNoKGYoZG9jdW1lbnQpKSxbInJlc2l6ZSIsImZvY3VzIiwiYmx1ciJdLmZvckVhY2goZih3aW5kb3cpKSxmKHdpbmRvdyxNbikoInNjcm9sbCIpfWlmKHduLmVuYWJsZWQmJihLZXx8dSkpe0VlPWEuZ2V0VGltZSgpO3ZhciBkPXZvaWQgMDtmb3IoZCBpbiB3bi5jb25maWd1cmF0aW9ucyl7dmFyIHY9d24uY29uZmlndXJhdGlvbnNbZF07diYmKHdpbmRvdy5jbGVhckludGVydmFsKHYuYWN0aXZpdHlJbnRlcnZhbCkscnQodix0LG8pKX19fWZ1bmN0aW9uIHJ0KGUsbix0KXt2YXIgcj1mdW5jdGlvbihlLG4pe0xuKCksZSh7Y29udGV4dDpuLHBhZ2VWaWV3SWQ6JG4oKSxtaW5YT2Zmc2V0OkxlLG1pbllPZmZzZXQ6amUsbWF4WE9mZnNldDpEZSxtYXhZT2Zmc2V0OlVlfSksSG4oKX0sbz1mdW5jdGlvbigpe3ZhciBvPW5ldyBEYXRlO0VlK2UuY29uZmlnSGVhcnRCZWF0VGltZXI+by5nZXRUaW1lKCkmJnIoZS5jYWxsYmFjayxudChuLHQpKX07MD09PWUuY29uZmlnTWluaW11bVZpc2l0TGVuZ3RoP2UuYWN0aXZpdHlJbnRlcnZhbD13aW5kb3cuc2V0SW50ZXJ2YWwobyxlLmNvbmZpZ0hlYXJ0QmVhdFRpbWVyKTplLmFjdGl2aXR5SW50ZXJ2YWw9d2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dmFyIGk9bmV3IERhdGUKO0VlK2UuY29uZmlnTWluaW11bVZpc2l0TGVuZ3RoPmkuZ2V0VGltZSgpJiZyKGUuY2FsbGJhY2ssbnQobix0KSksZS5hY3Rpdml0eUludGVydmFsPXdpbmRvdy5zZXRJbnRlcnZhbChvLGUuY29uZmlnSGVhcnRCZWF0VGltZXIpfSksZS5jb25maWdNaW5pbXVtVmlzaXRMZW5ndGgpfWZ1bmN0aW9uIG90KGUpe3ZhciBuPWUubWluaW11bVZpc2l0TGVuZ3RoLHQ9ZS5oZWFydGJlYXREZWxheSxyPWUuY2FsbGJhY2s7aWYoeihuKSYmeih0KSlyZXR1cm57Y29uZmlnTWluaW11bVZpc2l0TGVuZ3RoOjFlMypuLGNvbmZpZ0hlYXJ0QmVhdFRpbWVyOjFlMyp0LGNhbGxiYWNrOnJ9O3AuZXJyb3IoIkFjdGl2aXR5IHRyYWNraW5nIG1pbmltdW1WaXNpdExlbmd0aCAmIGhlYXJ0YmVhdERlbGF5IG11c3QgYmUgaW50ZWdlcnMiKX1mdW5jdGlvbiBpdChlKXt2YXIgbj1lLmNvbnRleHQsdD1lLm1pblhPZmZzZXQscj1lLm1pbllPZmZzZXQsbz1lLm1heFhPZmZzZXQsaT1lLm1heFlPZmZzZXQsYT1kb2N1bWVudC50aXRsZTthIT09WmUmJihaZT1hLEFlPXZvaWQgMCksemUudHJhY2soZnVuY3Rpb24oZSl7dmFyIG49ZS5wYWdlVXJsLHQ9ZS5wYWdlVGl0bGUscj1lLnJlZmVycmVyLG89ZS5taW5YT2Zmc2V0LGk9ZS5tYXhYT2Zmc2V0LGE9ZS5taW5ZT2Zmc2V0LHU9ZS5tYXhZT2Zmc2V0LGM9cygpO3JldHVybiBjLmFkZCgiZSIsInBwIiksYy5hZGQoInVybCIsbiksYy5hZGQoInBhZ2UiLHQpLGMuYWRkKCJyZWZyIixyKSxvJiYhaXNOYU4oTnVtYmVyKG8pKSYmYy5hZGQoInBwX21peCIsby50b1N0cmluZygpKSxpJiYhaXNOYU4oTnVtYmVyKGkpKSYmYy5hZGQoInBwX21heCIsaS50b1N0cmluZygpKSxhJiYhaXNOYU4oTnVtYmVyKGEpKSYmYy5hZGQoInBwX21peSIsYS50b1N0cmluZygpKSx1JiYhaXNOYU4oTnVtYmVyKHUpKSYmYy5hZGQoInBwX21heSIsdS50b1N0cmluZygpKSxjfSh7cGFnZVVybDpVbihJZXx8RmUpLHBhZ2VUaXRsZTpIKEFlfHxaZSkscmVmZXJyZXI6VW4oVGV8fEdlKSxtaW5YT2Zmc2V0OkpuKHQpLG1heFhPZmZzZXQ6Sm4obyksbWluWU9mZnNldDpKbihyKSxtYXhZT2Zmc2V0OkpuKGkpfSksbil9ZnVuY3Rpb24gYXQoZSl7dmFyIG49d24uY29uZmlndXJhdGlvbnNbZV07MD09PShudWxsPT1uP3ZvaWQgMDpuLmNvbmZpZ01pbmltdW1WaXNpdExlbmd0aCk/d2luZG93LmNsZWFyVGltZW91dChudWxsPT1uP3ZvaWQgMDpuLmFjdGl2aXR5SW50ZXJ2YWwpOndpbmRvdy5jbGVhckludGVydmFsKG51bGw9PW4/dm9pZCAwOm4uYWN0aXZpdHlJbnRlcnZhbCksd24uY29uZmlndXJhdGlvbnNbZV09dm9pZCAwfXplLnNldFRyYWNrZXJWZXJzaW9uKHQpLHplLnNldFRyYWNrZXJOYW1lc3BhY2UobiksemUuc2V0QXBwSWQoUWUpLHplLnNldFBsYXRmb3JtKFhlKSx6ZS5hZGRQYXlsb2FkUGFpcigiY29va2llIixFbj8iMSI6IjAiKSx6ZS5hZGRQYXlsb2FkUGFpcigiY3MiLEhlKSx6ZS5hZGRQYXlsb2FkUGFpcigibGFuZyIsQ24pLHplLmFkZFBheWxvYWRQYWlyKCJyZXMiLE9uKSx6ZS5hZGRQYXlsb2FkUGFpcigiY2QiLFBuKSxfbigpLFluKCksYy5jcm9zc0RvbWFpbkxpbmtlciYmam4oYy5jcm9zc0RvbWFpbkxpbmtlcik7dmFyIHV0PXtnZXREb21haW5TZXNzaW9uSW5kZXg6ZnVuY3Rpb24oKXtyZXR1cm4gZ259LGdldFBhZ2VWaWV3SWQ6JG4sZ2V0VGFiSWQ6ZXQsbmV3U2Vzc2lvbjpmdW5jdGlvbigpe3ZhciBlPVFuKCk7aWYoY2UoZSk/KEJlPSJub25lIiE9ZG4/cmUoZSk6YWUoZSksZ249dWUoZSkpOihnbisrLEJlPXJlKGUse21lbW9yaXplZFZpc2l0Q291bnQ6Z259KSksb2UoZSksIm5vbmUiIT1kbil7dmFyIG49aWUoZSxkbixmbik7Rm4oZSkscW4oKSYma24mJihTbj0hMCxrbihuKSl9dm49KG5ldyBEYXRlKS5nZXRUaW1lKCl9LGdldENvb2tpZU5hbWU6ZnVuY3Rpb24oZSl7cmV0dXJuIE5uKGUpfSxnZXRVc2VySWQ6ZnVuY3Rpb24oKXtyZXR1cm4gX2V9LGdldERvbWFpblVzZXJJZDpmdW5jdGlvbigpe3JldHVybiBRbigpWzFdfSxnZXREb21haW5Vc2VySW5mbzpmdW5jdGlvbigpe3JldHVybiBRbigpfSxzZXRSZWZlcnJlclVybDpmdW5jdGlvbihlKXtUZT1lfSxzZXRDdXN0b21Vcmw6ZnVuY3Rpb24oZSl7TG4oKSxJZT1mdW5jdGlvbihlLG4pe3ZhciB0O3JldHVybiBSbihuKT9uOiIvIj09PW4uc2xpY2UoMCwxKT9SbihlKSsiOi8vIitKKGUpK246KCh0PShlPVVuKGUpKS5pbmRleE9mKCI/IikpPj0wJiYoZT1lLnNsaWNlKDAsdCkpLCh0PWUubGFzdEluZGV4T2YoIi8iKSkhPT1lLmxlbmd0aC0xJiYoZT1lLnNsaWNlKDAsdCsxKSksZStuKX0oRmUsZSl9LHNldERvY3VtZW50VGl0bGU6ZnVuY3Rpb24oZSl7WmU9ZG9jdW1lbnQudGl0bGUsQWU9ZX0sZGlzY2FyZEhhc2hUYWc6ZnVuY3Rpb24oZSl7Q2U9ZX0sZGlzY2FyZEJyYWNlOmZ1bmN0aW9uKGUpe09lPWV9LHNldENvb2tpZVBhdGg6ZnVuY3Rpb24oZSl7bm49ZSxfbigpfSxzZXRWaXNpdG9yQ29va2llVGltZW91dDpmdW5jdGlvbihlKXt1bj1lfSxjcm9zc0RvbWFpbkxpbmtlcjpmdW5jdGlvbihlKXtqbihlKX0sZW5hYmxlQWN0aXZpdHlUcmFja2luZzpmdW5jdGlvbihlKXt3bi5jb25maWd1cmF0aW9ucy5wYWdlUGluZ3x8KHduLmVuYWJsZWQ9ITAsd24uY29uZmlndXJhdGlvbnMucGFnZVBpbmc9b3QocihyKHt9LGUpLHtjYWxsYmFjazppdH0pKSl9LGVuYWJsZUFjdGl2aXR5VHJhY2tpbmdDYWxsYmFjazpmdW5jdGlvbihlKXt3bi5jb25maWd1cmF0aW9ucy5jYWxsYmFja3x8KHduLmVuYWJsZWQ9ITAsd24uY29uZmlndXJhdGlvbnMuY2FsbGJhY2s9b3QoZSkpfSxkaXNhYmxlQWN0aXZpdHlUcmFja2luZzpmdW5jdGlvbigpe2F0KCJwYWdlUGluZyIpfSxkaXNhYmxlQWN0aXZpdHlUcmFja2luZ0NhbGxiYWNrOmZ1bmN0aW9uKCl7YXQoImNhbGxiYWNrIil9LHVwZGF0ZVBhZ2VBY3Rpdml0eTpmdW5jdGlvbigpe1ZuKCl9LHNldE9wdE91dENvb2tpZTpmdW5jdGlvbihlKXtQZT1lfSxzZXRVc2VySWQ6ZnVuY3Rpb24oZSl7X2U9ZX0sc2V0VXNlcklkRnJvbUxvY2F0aW9uOmZ1bmN0aW9uKGUpe0xuKCksX2U9WChlLEZlKX0sCnNldFVzZXJJZEZyb21SZWZlcnJlcjpmdW5jdGlvbihlKXtMbigpLF9lPVgoZSxHZSl9LHNldFVzZXJJZEZyb21Db29raWU6ZnVuY3Rpb24oZSl7X2U9UShlKX0sc2V0Q29sbGVjdG9yVXJsOmZ1bmN0aW9uKGUpe1dlPVpuKGUpLHBuLnNldENvbGxlY3RvclVybChXZSl9LHNldEJ1ZmZlclNpemU6ZnVuY3Rpb24oZSl7cG4uc2V0QnVmZmVyU2l6ZShlKX0sZmx1c2hCdWZmZXI6ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9e30pLHBuLmV4ZWN1dGVRdWV1ZSgpLGUubmV3QnVmZmVyU2l6ZSYmcG4uc2V0QnVmZmVyU2l6ZShlLm5ld0J1ZmZlclNpemUpfSx0cmFja1BhZ2VWaWV3OmZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUmJihlPXt9KSx0dChlKX0scHJlc2VydmVQYWdlVmlld0lkOmZ1bmN0aW9uKCl7bW49ITB9LHByZXNlcnZlUGFnZVZpZXdJZEZvclVybDpmdW5jdGlvbihlKXtobj1lfSxkaXNhYmxlQW5vbnltb3VzVHJhY2tpbmc6ZnVuY3Rpb24oZSl7Yy5hbm9ueW1vdXNUcmFja2luZz0hMSxXbihlKSxZbigpLHBuLmV4ZWN1dGVRdWV1ZSgpfSxlbmFibGVBbm9ueW1vdXNUcmFja2luZzpmdW5jdGlvbihlKXt2YXIgbjtjLmFub255bW91c1RyYWNraW5nPW51bGw9PT0obj1lJiYobnVsbD09ZT92b2lkIDA6ZS5vcHRpb25zKSl8fHZvaWQgMD09PW58fG4sV24oZSksc258fEtuKCl9LGNsZWFyVXNlckRhdGE6WG59O3JldHVybiByKHIoe30sdXQpLHtpZDplLG5hbWVzcGFjZTpuLGNvcmU6emUsc2hhcmVkU3RhdGU6dX0pfShlLG4sdCxhLHUsYyksZD1yKHIoe30sZikse2FkZFBsdWdpbjpmdW5jdGlvbihlKXt2YXIgbix0O2QuY29yZS5hZGRQbHVnaW4oZSksbnVsbD09PSh0PShuPWUucGx1Z2luKS5hY3RpdmF0ZUJyb3dzZXJQbHVnaW4pfHx2b2lkIDA9PT10fHx0LmNhbGwobixkKX19KTtyZXR1cm4gbC5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbjtudWxsPT09KG49ZS5hY3RpdmF0ZUJyb3dzZXJQbHVnaW4pfHx2b2lkIDA9PT1ufHxuLmNhbGwoZSxkKX0pKSxkfXZhciBoZT17fTtmdW5jdGlvbiB5ZShlLG4pe3RyeXsodD1udWxsIT1lP2U6T2JqZWN0LmtleXMoaGUpLHdlKHQsaGUpKS5mb3JFYWNoKG4pfWNhdGNoKGUpe3AuZXJyb3IoIkZ1bmN0aW9uIGZhaWxlZCIsZSl9dmFyIHR9ZnVuY3Rpb24gd2UoZSxuKXtmb3IodmFyIHQ9W10scj0wLG89ZTtyPG8ubGVuZ3RoO3IrKyl7dmFyIGk9b1tyXTtuLmhhc093blByb3BlcnR5KGkpP3QucHVzaChuW2ldKTpwLndhcm4oaSsiIG5vdCBjb25maWd1cmVkIil9cmV0dXJuIHR9dmFyIGJlPWZ1bmN0aW9uKCl7dGhpcy5vdXRRdWV1ZXM9W10sdGhpcy5idWZmZXJGbHVzaGVycz1bXSx0aGlzLmhhc0xvYWRlZD0hMSx0aGlzLnJlZ2lzdGVyZWRPbkxvYWRIYW5kbGVycz1bXX07ZnVuY3Rpb24ga2UoZSxuKXt5ZShuLChmdW5jdGlvbihuKXtuLmRpc2NhcmRCcmFjZShlKX0pKX1mdW5jdGlvbiBTZShlLG4pe3llKG4sKGZ1bmN0aW9uKG4pe24uZW5hYmxlQWN0aXZpdHlUcmFja2luZ0NhbGxiYWNrKGUpfSkpfWZ1bmN0aW9uIHhlKGUpe3llKGUsKGZ1bmN0aW9uKGUpe2UuZGlzYWJsZUFjdGl2aXR5VHJhY2tpbmcoKX0pKX1mdW5jdGlvbiBUZShlLG4pe3llKG4sKGZ1bmN0aW9uKG4pe24uc2V0VXNlcklkKGUpfSkpfWZ1bmN0aW9uIEllKGUsbil7eWUobiwoZnVuY3Rpb24obil7bi50cmFja1BhZ2VWaWV3KGUpfSkpfWZ1bmN0aW9uIEFlKGUsbil7eWUobiwoZnVuY3Rpb24obil7bi5jb3JlLnRyYWNrKEQoe2V2ZW50OmUuZXZlbnR9KSxlLmNvbnRleHQsZS50aW1lc3RhbXApfSkpfWZ1bmN0aW9uIENlKGUsbil7eWUobiwoZnVuY3Rpb24obil7bi5kaXNhYmxlQW5vbnltb3VzVHJhY2tpbmcoZSl9KSl9ZnVuY3Rpb24gT2UoZSxuKXt5ZShuLChmdW5jdGlvbihuKXtuLmVuYWJsZUFub255bW91c1RyYWNraW5nKGUpfSkpfXZhciBQZT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz9mdW5jdGlvbigpe3ZhciBlPW5ldyBiZSxuPWRvY3VtZW50LHQ9d2luZG93O2Z1bmN0aW9uIHIoKXt2YXIgbjtpZighZS5oYXNMb2FkZWQpZm9yKGUuaGFzTG9hZGVkPSEwLG49MDtuPGUucmVnaXN0ZXJlZE9uTG9hZEhhbmRsZXJzLmxlbmd0aDtuKyspZS5yZWdpc3RlcmVkT25Mb2FkSGFuZGxlcnNbbl0oKTtyZXR1cm4hMH1yZXR1cm4gbi52aXNpYmlsaXR5U3RhdGUmJkcobiwidmlzaWJpbGl0eWNoYW5nZSIsKGZ1bmN0aW9uKCl7ImhpZGRlbiI9PW4udmlzaWJpbGl0eVN0YXRlJiZlLmJ1ZmZlckZsdXNoZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UoITEpfSkpfSksITEpLEcodCwiYmVmb3JldW5sb2FkIiwoZnVuY3Rpb24oKXtlLmJ1ZmZlckZsdXNoZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UoITEpfSkpfSksITEpLCJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/KG4uYWRkRXZlbnRMaXN0ZW5lcj9uLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChmdW5jdGlvbiBlKCl7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixlLCExKSxyKCl9KSk6bi5hdHRhY2hFdmVudCYmbi5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIiwoZnVuY3Rpb24gZSgpeyJjb21wbGV0ZSI9PT1uLnJlYWR5U3RhdGUmJihuLmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGUpLHIoKSl9KSksRyh0LCJsb2FkIixyLCExKSk6cigpLGV9KCk6dm9pZCAwO2Z1bmN0aW9uIEVlKGUsbix0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9e30pLFBlP2Z1bmN0aW9uKGUsbix0LHIsbyxpKXtyZXR1cm4gaGUuaGFzT3duUHJvcGVydHkoZSk/bnVsbDooaGVbZV09bWUoZSxuLHQscixvLGkpLGhlW2VdKX0oZSxlLCJqcy0iLmNvbmNhdCgiMy4yNC4xIiksbixQZSx0KTp2b2lkIDB9fSwyNDE1MzkoZSl7dmFyIG49e3V0Zjg6e3N0cmluZ1RvQnl0ZXM6ZnVuY3Rpb24oZSl7cmV0dXJuIG4uYmluLnN0cmluZ1RvQnl0ZXModW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGUpKSl9LGJ5dGVzVG9TdHJpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUobi5iaW4uYnl0ZXNUb1N0cmluZyhlKSkpfX0sYmluOnsKc3RyaW5nVG9CeXRlczpmdW5jdGlvbihlKXtmb3IodmFyIG49W10sdD0wO3Q8ZS5sZW5ndGg7dCsrKW4ucHVzaCgyNTUmZS5jaGFyQ29kZUF0KHQpKTtyZXR1cm4gbn0sYnl0ZXNUb1N0cmluZzpmdW5jdGlvbihlKXtmb3IodmFyIG49W10sdD0wO3Q8ZS5sZW5ndGg7dCsrKW4ucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGVbdF0pKTtyZXR1cm4gbi5qb2luKCIiKX19fTtlLmV4cG9ydHM9bn0sMjk3NjM1KGUpe3ZhciBuLHQ7bj0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsdD17cm90bDpmdW5jdGlvbihlLG4pe3JldHVybiBlPDxufGU+Pj4zMi1ufSxyb3RyOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGU8PDMyLW58ZT4+Pm59LGVuZGlhbjpmdW5jdGlvbihlKXtpZihlLmNvbnN0cnVjdG9yPT1OdW1iZXIpcmV0dXJuIDE2NzExOTM1JnQucm90bChlLDgpfDQyNzgyNTUzNjAmdC5yb3RsKGUsMjQpO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKWVbbl09dC5lbmRpYW4oZVtuXSk7cmV0dXJuIGV9LHJhbmRvbUJ5dGVzOmZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXTtlPjA7ZS0tKW4ucHVzaChNYXRoLmZsb29yKDI1NipNYXRoLnJhbmRvbSgpKSk7cmV0dXJuIG59LGJ5dGVzVG9Xb3JkczpmdW5jdGlvbihlKXtmb3IodmFyIG49W10sdD0wLHI9MDt0PGUubGVuZ3RoO3QrKyxyKz04KW5bcj4+PjVdfD1lW3RdPDwyNC1yJTMyO3JldHVybiBufSx3b3Jkc1RvQnl0ZXM6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPVtdLHQ9MDt0PDMyKmUubGVuZ3RoO3QrPTgpbi5wdXNoKGVbdD4+PjVdPj4+MjQtdCUzMiYyNTUpO3JldHVybiBufSxieXRlc1RvSGV4OmZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXSx0PTA7dDxlLmxlbmd0aDt0Kyspbi5wdXNoKChlW3RdPj4+NCkudG9TdHJpbmcoMTYpKSxuLnB1c2goKDE1JmVbdF0pLnRvU3RyaW5nKDE2KSk7cmV0dXJuIG4uam9pbigiIil9LGhleFRvQnl0ZXM6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPVtdLHQ9MDt0PGUubGVuZ3RoO3QrPTIpbi5wdXNoKHBhcnNlSW50KGUuc3Vic3RyKHQsMiksMTYpKTtyZXR1cm4gbn0sYnl0ZXNUb0Jhc2U2NDpmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10scj0wO3I8ZS5sZW5ndGg7cis9Mylmb3IodmFyIG89ZVtyXTw8MTZ8ZVtyKzFdPDw4fGVbcisyXSxpPTA7aTw0O2krKyk4KnIrNippPD04KmUubGVuZ3RoP3QucHVzaChuLmNoYXJBdChvPj4+NiooMy1pKSY2MykpOnQucHVzaCgiPSIpO3JldHVybiB0LmpvaW4oIiIpfSxiYXNlNjRUb0J5dGVzOmZ1bmN0aW9uKGUpe2U9ZS5yZXBsYWNlKC9bXkEtWjAtOStcL10vZ2ksIiIpO2Zvcih2YXIgdD1bXSxyPTAsbz0wO3I8ZS5sZW5ndGg7bz0rK3IlNCkwIT1vJiZ0LnB1c2goKG4uaW5kZXhPZihlLmNoYXJBdChyLTEpKSZNYXRoLnBvdygyLC0yKm8rOCktMSk8PDIqb3xuLmluZGV4T2YoZS5jaGFyQXQocikpPj4+Ni0yKm8pO3JldHVybiB0fX0sZS5leHBvcnRzPXR9LDE5NjM3MyhlLG4sdCl7dmFyIHIsbyxpLGE7cj10KDI5NzYzNSksbz10KDI0MTUzOSkudXRmOCxpPXQoMjQxNTM5KS5iaW4sKGE9ZnVuY3Rpb24oZSxuKXt2YXIgdD1yLndvcmRzVG9CeXRlcyhmdW5jdGlvbihlKXtlLmNvbnN0cnVjdG9yPT1TdHJpbmc/ZT1vLnN0cmluZ1RvQnl0ZXMoZSk6InVuZGVmaW5lZCIhPXR5cGVvZiBCdWZmZXImJiJmdW5jdGlvbiI9PXR5cGVvZiBCdWZmZXIuaXNCdWZmZXImJkJ1ZmZlci5pc0J1ZmZlcihlKT9lPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUsMCk6QXJyYXkuaXNBcnJheShlKXx8KGU9ZS50b1N0cmluZygpKTt2YXIgbj1yLmJ5dGVzVG9Xb3JkcyhlKSx0PTgqZS5sZW5ndGgsaT1bXSxhPTE3MzI1ODQxOTMsdT0tMjcxNzMzODc5LGM9LTE3MzI1ODQxOTQscz0yNzE3MzM4NzgsbD0tMTAwOTU4OTc3NjtuW3Q+PjVdfD0xMjg8PDI0LXQlMzIsblsxNSsodCs2ND4+Pjk8PDQpXT10O2Zvcih2YXIgZj0wO2Y8bi5sZW5ndGg7Zis9MTYpe2Zvcih2YXIgZD1hLHY9dSxnPWMscD1zLG09bCxoPTA7aDw4MDtoKyspe2lmKGg8MTYpaVtoXT1uW2YraF07ZWxzZXt2YXIgeT1pW2gtM11eaVtoLThdXmlbaC0xNF1eaVtoLTE2XTtpW2hdPXk8PDF8eT4+PjMxfXZhciB3PShhPDw1fGE+Pj4yNykrbCsoaVtoXT4+PjApKyhoPDIwPzE1MTg1MDAyNDkrKHUmY3x+dSZzKTpoPDQwPzE4NTk3NzUzOTMrKHVeY15zKTpoPDYwPyh1JmN8dSZzfGMmcyktMTg5NDAwNzU4ODoodV5jXnMpLTg5OTQ5NzUxNCk7bD1zLHM9YyxjPXU8PDMwfHU+Pj4yLHU9YSxhPXd9YSs9ZCx1Kz12LGMrPWcscys9cCxsKz1tfXJldHVyblthLHUsYyxzLGxdfShlKSk7cmV0dXJuIG4mJm4uYXNCeXRlcz90Om4mJm4uYXNTdHJpbmc/aS5ieXRlc1RvU3RyaW5nKHQpOnIuYnl0ZXNUb0hleCh0KX0pLl9ibG9ja3NpemU9MTYsYS5fZGlnZXN0c2l6ZT0yMCxlLmV4cG9ydHM9YX0sNTM3MjA0KGUsbix0KXt2YXIgcj10KDY5ODU3MSksbz10KDQ2NjY4MCksaT1vO2kudjE9cixpLnY0PW8sZS5leHBvcnRzPWl9LDg2NzE3KGUpe2Zvcih2YXIgbj1bXSx0PTA7dDwyNTY7Kyt0KW5bdF09KHQrMjU2KS50b1N0cmluZygxNikuc3Vic3RyKDEpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciByPXR8fDAsbz1uO3JldHVybltvW2VbcisrXV0sb1tlW3IrK11dLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sb1tlW3IrK11dLG9bZVtyKytdXSxvW2VbcisrXV0sb1tlW3IrK11dXS5qb2luKCIiKX19LDcyNzY0NChlKXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIGNyeXB0byYmY3J5cHRvLmdldFJhbmRvbVZhbHVlcyYmY3J5cHRvLmdldFJhbmRvbVZhbHVlcy5iaW5kKGNyeXB0byl8fCJ1bmRlZmluZWQiIT10eXBlb2YgbXNDcnlwdG8mJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cubXNDcnlwdG8uZ2V0UmFuZG9tVmFsdWVzJiZtc0NyeXB0by5nZXRSYW5kb21WYWx1ZXMuYmluZChtc0NyeXB0byk7aWYobil7CnZhciB0PW5ldyBVaW50OEFycmF5KDE2KTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gbih0KSx0fX1lbHNle3ZhciByPW5ldyBBcnJheSgxNik7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciBlLG49MDtuPDE2O24rKykzJm58fChlPTQyOTQ5NjcyOTYqTWF0aC5yYW5kb20oKSkscltuXT1lPj4+KCgzJm4pPDwzKSYyNTU7cmV0dXJuIHJ9fX0sNjk4NTcxKGUsbix0KXt2YXIgcixvLGk9dCg3Mjc2NDQpLGE9dCg4NjcxNyksdT0wLGM9MDtlLmV4cG9ydHM9ZnVuY3Rpb24oZSxuLHQpe3ZhciBzPW4mJnR8fDAsbD1ufHxbXSxmPShlPWV8fHt9KS5ub2RlfHxyLGQ9dm9pZCAwIT09ZS5jbG9ja3NlcT9lLmNsb2Nrc2VxOm87aWYobnVsbD09Znx8bnVsbD09ZCl7dmFyIHY9aSgpO251bGw9PWYmJihmPXI9WzF8dlswXSx2WzFdLHZbMl0sdlszXSx2WzRdLHZbNV1dKSxudWxsPT1kJiYoZD1vPTE2MzgzJih2WzZdPDw4fHZbN10pKX12YXIgZz12b2lkIDAhPT1lLm1zZWNzP2UubXNlY3M6KG5ldyBEYXRlKS5nZXRUaW1lKCkscD12b2lkIDAhPT1lLm5zZWNzP2UubnNlY3M6YysxLG09Zy11KyhwLWMpLzFlNDtpZihtPDAmJnZvaWQgMD09PWUuY2xvY2tzZXEmJihkPWQrMSYxNjM4MyksKG08MHx8Zz51KSYmdm9pZCAwPT09ZS5uc2VjcyYmKHA9MCkscD49MWU0KXRocm93IG5ldyBFcnJvcigidXVpZC52MSgpOiBDYW4ndCBjcmVhdGUgbW9yZSB0aGFuIDEwTSB1dWlkcy9zZWMiKTt1PWcsYz1wLG89ZDt2YXIgaD0oMWU0KigyNjg0MzU0NTUmKGcrPTEyMjE5MjkyOGU1KSkrcCklNDI5NDk2NzI5NjtsW3MrK109aD4+PjI0JjI1NSxsW3MrK109aD4+PjE2JjI1NSxsW3MrK109aD4+PjgmMjU1LGxbcysrXT0yNTUmaDt2YXIgeT1nLzQyOTQ5NjcyOTYqMWU0JjI2ODQzNTQ1NTtsW3MrK109eT4+PjgmMjU1LGxbcysrXT0yNTUmeSxsW3MrK109eT4+PjI0JjE1fDE2LGxbcysrXT15Pj4+MTYmMjU1LGxbcysrXT1kPj4+OHwxMjgsbFtzKytdPTI1NSZkO2Zvcih2YXIgdz0wO3c8NjsrK3cpbFtzK3ddPWZbd107cmV0dXJuIG58fGEobCl9fSw0NjY2ODAoZSxuLHQpe3ZhciByPXQoNzI3NjQ0KSxvPXQoODY3MTcpO2UuZXhwb3J0cz1mdW5jdGlvbihlLG4sdCl7dmFyIGk9biYmdHx8MDsic3RyaW5nIj09dHlwZW9mIGUmJihuPSJiaW5hcnkiPT09ZT9uZXcgQXJyYXkoMTYpOm51bGwsZT1udWxsKTt2YXIgYT0oZT1lfHx7fSkucmFuZG9tfHwoZS5ybmd8fHIpKCk7aWYoYVs2XT0xNSZhWzZdfDY0LGFbOF09NjMmYVs4XXwxMjgsbilmb3IodmFyIHU9MDt1PDE2OysrdSluW2krdV09YVt1XTtyZXR1cm4gbnx8byhhKX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80915.69404fda8aafc2742c55.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.891Z","timestamp":1785136901891,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80915.69404fda8aafc2742c55.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a102262-2b32\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 22 May 2026 09:31:14 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/22/2026 10:43:51\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2ea44433f45ed9e3191536513ac527fa\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":11058,"size_decoded":4759,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"de2945c844b995a4434f72c9e9f10d55","sha1":"dfa0f41fd695f4ab2068af223864f90085590f09","sha256":"29df78da8b43b5048b57229594ed6f3ad79785773f63f3001a604d1a17a206e7","sha512":"e000d576b22c638622179b6cd5b5e72b9e95c90f191dce058a700842f4ab620ffa60fabfd70814866ae1686b778f1fb6384117e7bf0c4d1c66af5945324c2137","ssdeep":"192:zD6UcCbe+/OzNJUFPphLnY8P8hfJnubwbwShMj:SUcX+/OuPphLehfJnpMShMj","tlshash":"bd32a559b2a0b02595cf6760c02f150aa2752019f70d98d4f69ed9ea3db076f213be3d","first_seen":"2026-05-22T13:27:07.587764Z","last_seen":"2026-08-10T05:00:33.818226Z","times_seen":264,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODA5MTVdLHs2ODA5MTUodCxlLHIpe3IuZChlLHtGaXhlZFNpemVMaXN0OigpPT56LFZhcmlhYmxlU2l6ZUxpc3Q6KCk9Pk19KTt2YXIgbj1yKDY0NDMyMCksbz1yKDMxMDIxMSksaT1yKDk0MTkyMSksYT1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdCE9dH07ZnVuY3Rpb24gbCh0LGUpe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspaWYobj10W3JdLG89ZVtyXSwhKG49PT1vfHxhKG4pJiZhKG8pKSlyZXR1cm4hMTt2YXIgbixvO3JldHVybiEwfWNvbnN0IHM9ZnVuY3Rpb24odCxlKXt2YXIgcjt2b2lkIDA9PT1lJiYoZT1sKTt2YXIgbixvPVtdLGk9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBhPVtdLGw9MDtsPGFyZ3VtZW50cy5sZW5ndGg7bCsrKWFbbF09YXJndW1lbnRzW2xdO3JldHVybiBpJiZyPT09dGhpcyYmZShhLG8pfHwobj10LmFwcGx5KHRoaXMsYSksaT0hMCxyPXRoaXMsbz1hKSxufX07dmFyIGM9cig3Nzk0NzQpLHU9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdz9mdW5jdGlvbigpe3JldHVybiBwZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3coKX07ZnVuY3Rpb24gZih0KXtjYW5jZWxBbmltYXRpb25GcmFtZSh0LmlkKX1mdW5jdGlvbiBkKHQsZSl7dmFyIHI9dSgpO3ZhciBuPXtpZDpyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uIG8oKXt1KCktcj49ZT90LmNhbGwobnVsbCk6bi5pZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUobyl9KSl9O3JldHVybiBufXZhciBoPW51bGw7ZnVuY3Rpb24gcCh0KXtpZih2b2lkIDA9PT10JiYodD0hMSksbnVsbD09PWh8fHQpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHI9ZS5zdHlsZTtyLndpZHRoPSI1MHB4IixyLmhlaWdodD0iNTBweCIsci5vdmVyZmxvdz0ic2Nyb2xsIixyLmRpcmVjdGlvbj0icnRsIjt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxvPW4uc3R5bGU7cmV0dXJuIG8ud2lkdGg9IjEwMHB4IixvLmhlaWdodD0iMTAwcHgiLGUuYXBwZW5kQ2hpbGQobiksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxlLnNjcm9sbExlZnQ+MD9oPSJwb3NpdGl2ZS1kZXNjZW5kaW5nIjooZS5zY3JvbGxMZWZ0PTEsaD0wPT09ZS5zY3JvbGxMZWZ0PyJuZWdhdGl2ZSI6InBvc2l0aXZlLWFzY2VuZGluZyIpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSksaH1yZXR1cm4gaH12YXIgbT1mdW5jdGlvbih0LGUpe3JldHVybiB0fTtmdW5jdGlvbiB2KHQpe3ZhciBlLHIsYT10LmdldEl0ZW1PZmZzZXQsbD10LmdldEVzdGltYXRlZFRvdGFsU2l6ZSx1PXQuZ2V0SXRlbVNpemUsaD10LmdldE9mZnNldEZvckluZGV4QW5kQWxpZ25tZW50LHY9dC5nZXRTdGFydEluZGV4Rm9yT2Zmc2V0LFM9dC5nZXRTdG9wSW5kZXhGb3JTdGFydEluZGV4LEk9dC5pbml0SW5zdGFuY2VQcm9wcyxfPXQuc2hvdWxkUmVzZXRTdHlsZUNhY2hlT25JdGVtU2l6ZUNoYW5nZSx5PXQudmFsaWRhdGVQcm9wcztyZXR1cm4gcj1lPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dmFyIHI7cmV0dXJuKHI9dC5jYWxsKHRoaXMsZSl8fHRoaXMpLl9pbnN0YW5jZVByb3BzPUkoci5wcm9wcywoMCxpLmRlZmF1bHQpKCgwLGkuZGVmYXVsdCkocikpKSxyLl9vdXRlclJlZj12b2lkIDAsci5fcmVzZXRJc1Njcm9sbGluZ1RpbWVvdXRJZD1udWxsLHIuc3RhdGU9e2luc3RhbmNlOigwLGkuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KShyKSksaXNTY3JvbGxpbmc6ITEsc2Nyb2xsRGlyZWN0aW9uOiJmb3J3YXJkIixzY3JvbGxPZmZzZXQ6Im51bWJlciI9PXR5cGVvZiByLnByb3BzLmluaXRpYWxTY3JvbGxPZmZzZXQ/ci5wcm9wcy5pbml0aWFsU2Nyb2xsT2Zmc2V0OjAsc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkOiExfSxyLl9jYWxsT25JdGVtc1JlbmRlcmVkPXZvaWQgMCxyLl9jYWxsT25JdGVtc1JlbmRlcmVkPXMoKGZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiByLnByb3BzLm9uSXRlbXNSZW5kZXJlZCh7b3ZlcnNjYW5TdGFydEluZGV4OnQsb3ZlcnNjYW5TdG9wSW5kZXg6ZSx2aXNpYmxlU3RhcnRJbmRleDpuLHZpc2libGVTdG9wSW5kZXg6b30pfSkpLHIuX2NhbGxPblNjcm9sbD12b2lkIDAsci5fY2FsbE9uU2Nyb2xsPXMoKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gci5wcm9wcy5vblNjcm9sbCh7c2Nyb2xsRGlyZWN0aW9uOnQsc2Nyb2xsT2Zmc2V0OmUsc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkOm59KX0pKSxyLl9nZXRJdGVtU3R5bGU9dm9pZCAwLHIuX2dldEl0ZW1TdHlsZT1mdW5jdGlvbih0KXt2YXIgZSxuPXIucHJvcHMsbz1uLmRpcmVjdGlvbixpPW4uaXRlbVNpemUsbD1uLmxheW91dCxzPXIuX2dldEl0ZW1TdHlsZUNhY2hlKF8mJmksXyYmbCxfJiZvKTtpZihzLmhhc093blByb3BlcnR5KHQpKWU9c1t0XTtlbHNle3ZhciBjPWEoci5wcm9wcyx0LHIuX2luc3RhbmNlUHJvcHMpLGY9dShyLnByb3BzLHQsci5faW5zdGFuY2VQcm9wcyksZD0iaG9yaXpvbnRhbCI9PT1vfHwiaG9yaXpvbnRhbCI9PT1sLGg9InJ0bCI9PT1vLHA9ZD9jOjA7c1t0XT1lPXtwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6aD92b2lkIDA6cCxyaWdodDpoP3A6dm9pZCAwLHRvcDpkPzA6YyxoZWlnaHQ6ZD8iMTAwJSI6Zix3aWR0aDpkP2Y6IjEwMCUifX1yZXR1cm4gZX0sci5fZ2V0SXRlbVN0eWxlQ2FjaGU9dm9pZCAwLHIuX2dldEl0ZW1TdHlsZUNhY2hlPXMoKGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm57fX0pKSxyLl9vblNjcm9sbEhvcml6b250YWw9ZnVuY3Rpb24odCl7dmFyIGU9dC5jdXJyZW50VGFyZ2V0LG49ZS5jbGllbnRXaWR0aCxvPWUuc2Nyb2xsTGVmdCxpPWUuc2Nyb2xsV2lkdGg7ci5zZXRTdGF0ZSgoZnVuY3Rpb24odCl7aWYodC5zY3JvbGxPZmZzZXQ9PT1vKXJldHVybiBudWxsCjt2YXIgZT1yLnByb3BzLmRpcmVjdGlvbixhPW87aWYoInJ0bCI9PT1lKXN3aXRjaChwKCkpe2Nhc2UibmVnYXRpdmUiOmE9LW87YnJlYWs7Y2FzZSJwb3NpdGl2ZS1kZXNjZW5kaW5nIjphPWktbi1vfXJldHVybiBhPU1hdGgubWF4KDAsTWF0aC5taW4oYSxpLW4pKSx7aXNTY3JvbGxpbmc6ITAsc2Nyb2xsRGlyZWN0aW9uOnQuc2Nyb2xsT2Zmc2V0PG8/ImZvcndhcmQiOiJiYWNrd2FyZCIsc2Nyb2xsT2Zmc2V0OmEsc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkOiExfX0pLHIuX3Jlc2V0SXNTY3JvbGxpbmdEZWJvdW5jZWQpfSxyLl9vblNjcm9sbFZlcnRpY2FsPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY3VycmVudFRhcmdldCxuPWUuY2xpZW50SGVpZ2h0LG89ZS5zY3JvbGxIZWlnaHQsaT1lLnNjcm9sbFRvcDtyLnNldFN0YXRlKChmdW5jdGlvbih0KXtpZih0LnNjcm9sbE9mZnNldD09PWkpcmV0dXJuIG51bGw7dmFyIGU9TWF0aC5tYXgoMCxNYXRoLm1pbihpLG8tbikpO3JldHVybntpc1Njcm9sbGluZzohMCxzY3JvbGxEaXJlY3Rpb246dC5zY3JvbGxPZmZzZXQ8ZT8iZm9yd2FyZCI6ImJhY2t3YXJkIixzY3JvbGxPZmZzZXQ6ZSxzY3JvbGxVcGRhdGVXYXNSZXF1ZXN0ZWQ6ITF9fSksci5fcmVzZXRJc1Njcm9sbGluZ0RlYm91bmNlZCl9LHIuX291dGVyUmVmU2V0dGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXIucHJvcHMub3V0ZXJSZWY7ci5fb3V0ZXJSZWY9dCwiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJiJvYmplY3QiPT10eXBlb2YgZSYmZS5oYXNPd25Qcm9wZXJ0eSgiY3VycmVudCIpJiYoZS5jdXJyZW50PXQpfSxyLl9yZXNldElzU2Nyb2xsaW5nRGVib3VuY2VkPWZ1bmN0aW9uKCl7bnVsbCE9PXIuX3Jlc2V0SXNTY3JvbGxpbmdUaW1lb3V0SWQmJmYoci5fcmVzZXRJc1Njcm9sbGluZ1RpbWVvdXRJZCksci5fcmVzZXRJc1Njcm9sbGluZ1RpbWVvdXRJZD1kKHIuX3Jlc2V0SXNTY3JvbGxpbmcsMTUwKX0sci5fcmVzZXRJc1Njcm9sbGluZz1mdW5jdGlvbigpe3IuX3Jlc2V0SXNTY3JvbGxpbmdUaW1lb3V0SWQ9bnVsbCxyLnNldFN0YXRlKHtpc1Njcm9sbGluZzohMX0sKGZ1bmN0aW9uKCl7ci5fZ2V0SXRlbVN0eWxlQ2FjaGUoLTEsbnVsbCl9KSl9LHJ9KDAsby5kZWZhdWx0KShlLHQpLGUuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGcodCxlKSx5KHQpLG51bGx9O3ZhciByPWUucHJvdG90eXBlO3JldHVybiByLnNjcm9sbFRvPWZ1bmN0aW9uKHQpe3Q9TWF0aC5tYXgoMCx0KSx0aGlzLnNldFN0YXRlKChmdW5jdGlvbihlKXtyZXR1cm4gZS5zY3JvbGxPZmZzZXQ9PT10P251bGw6e3Njcm9sbERpcmVjdGlvbjplLnNjcm9sbE9mZnNldDx0PyJmb3J3YXJkIjoiYmFja3dhcmQiLHNjcm9sbE9mZnNldDp0LHNjcm9sbFVwZGF0ZVdhc1JlcXVlc3RlZDohMH19KSx0aGlzLl9yZXNldElzU2Nyb2xsaW5nRGVib3VuY2VkKX0sci5zY3JvbGxUb0l0ZW09ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT0iYXV0byIpO3ZhciByPXRoaXMucHJvcHMuaXRlbUNvdW50LG49dGhpcy5zdGF0ZS5zY3JvbGxPZmZzZXQ7dD1NYXRoLm1heCgwLE1hdGgubWluKHQsci0xKSksdGhpcy5zY3JvbGxUbyhoKHRoaXMucHJvcHMsdCxlLG4sdGhpcy5faW5zdGFuY2VQcm9wcykpfSxyLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wcm9wcyxlPXQuZGlyZWN0aW9uLHI9dC5pbml0aWFsU2Nyb2xsT2Zmc2V0LG49dC5sYXlvdXQ7aWYoIm51bWJlciI9PXR5cGVvZiByJiZudWxsIT10aGlzLl9vdXRlclJlZil7dmFyIG89dGhpcy5fb3V0ZXJSZWY7Imhvcml6b250YWwiPT09ZXx8Imhvcml6b250YWwiPT09bj9vLnNjcm9sbExlZnQ9cjpvLnNjcm9sbFRvcD1yfXRoaXMuX2NhbGxQcm9wc0NhbGxiYWNrcygpfSxyLmNvbXBvbmVudERpZFVwZGF0ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucHJvcHMsZT10LmRpcmVjdGlvbixyPXQubGF5b3V0LG49dGhpcy5zdGF0ZSxvPW4uc2Nyb2xsT2Zmc2V0O2lmKG4uc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkJiZudWxsIT10aGlzLl9vdXRlclJlZil7dmFyIGk9dGhpcy5fb3V0ZXJSZWY7aWYoImhvcml6b250YWwiPT09ZXx8Imhvcml6b250YWwiPT09cilpZigicnRsIj09PWUpc3dpdGNoKHAoKSl7Y2FzZSJuZWdhdGl2ZSI6aS5zY3JvbGxMZWZ0PS1vO2JyZWFrO2Nhc2UicG9zaXRpdmUtYXNjZW5kaW5nIjppLnNjcm9sbExlZnQ9bzticmVhaztkZWZhdWx0OnZhciBhPWkuY2xpZW50V2lkdGgsbD1pLnNjcm9sbFdpZHRoO2kuc2Nyb2xsTGVmdD1sLWEtb31lbHNlIGkuc2Nyb2xsTGVmdD1vO2Vsc2UgaS5zY3JvbGxUb3A9b310aGlzLl9jYWxsUHJvcHNDYWxsYmFja3MoKX0sci5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe251bGwhPT10aGlzLl9yZXNldElzU2Nyb2xsaW5nVGltZW91dElkJiZmKHRoaXMuX3Jlc2V0SXNTY3JvbGxpbmdUaW1lb3V0SWQpfSxyLnJlbmRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMucHJvcHMsZT10LmNoaWxkcmVuLHI9dC5jbGFzc05hbWUsbz10LmRpcmVjdGlvbixpPXQuaGVpZ2h0LGE9dC5pbm5lclJlZixzPXQuaW5uZXJFbGVtZW50VHlwZSx1PXQuaW5uZXJUYWdOYW1lLGY9dC5pdGVtQ291bnQsZD10Lml0ZW1EYXRhLGg9dC5pdGVtS2V5LHA9dm9pZCAwPT09aD9tOmgsdj10LmxheW91dCxnPXQub3V0ZXJFbGVtZW50VHlwZSxTPXQub3V0ZXJUYWdOYW1lLEk9dC5zdHlsZSxfPXQudXNlSXNTY3JvbGxpbmcseT10LndpZHRoLE09dGhpcy5zdGF0ZS5pc1Njcm9sbGluZyx6PSJob3Jpem9udGFsIj09PW98fCJob3Jpem9udGFsIj09PXYseD16P3RoaXMuX29uU2Nyb2xsSG9yaXpvbnRhbDp0aGlzLl9vblNjcm9sbFZlcnRpY2FsLE89dGhpcy5fZ2V0UmFuZ2VUb1JlbmRlcigpLHc9T1swXSxiPU9bMV0sQz1bXTtpZihmPjApZm9yKHZhciBSPXc7Ujw9YjtSKyspQy5wdXNoKCgwLGMuY3JlYXRlRWxlbWVudCkoZSx7ZGF0YTpkLGtleTpwKFIsZCksaW5kZXg6Uixpc1Njcm9sbGluZzpfP006dm9pZCAwLHN0eWxlOnRoaXMuX2dldEl0ZW1TdHlsZShSKX0pKQo7dmFyIFQ9bCh0aGlzLnByb3BzLHRoaXMuX2luc3RhbmNlUHJvcHMpO3JldHVybigwLGMuY3JlYXRlRWxlbWVudCkoZ3x8U3x8ImRpdiIse2NsYXNzTmFtZTpyLG9uU2Nyb2xsOngscmVmOnRoaXMuX291dGVyUmVmU2V0dGVyLHN0eWxlOigwLG4uZGVmYXVsdCkoe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0Omksd2lkdGg6eSxvdmVyZmxvdzoiYXV0byIsV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6InRvdWNoIix3aWxsQ2hhbmdlOiJ0cmFuc2Zvcm0iLGRpcmVjdGlvbjpvfSxJKX0sKDAsYy5jcmVhdGVFbGVtZW50KShzfHx1fHwiZGl2Iix7Y2hpbGRyZW46QyxyZWY6YSxzdHlsZTp7aGVpZ2h0Ono/IjEwMCUiOlQscG9pbnRlckV2ZW50czpNPyJub25lIjp2b2lkIDAsd2lkdGg6ej9UOiIxMDAlIn19KSl9LHIuX2NhbGxQcm9wc0NhbGxiYWNrcz1mdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLm9uSXRlbXNSZW5kZXJlZCYmdGhpcy5wcm9wcy5pdGVtQ291bnQ+MCl7dmFyIHQ9dGhpcy5fZ2V0UmFuZ2VUb1JlbmRlcigpLGU9dFswXSxyPXRbMV0sbj10WzJdLG89dFszXTt0aGlzLl9jYWxsT25JdGVtc1JlbmRlcmVkKGUscixuLG8pfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLm9uU2Nyb2xsKXt2YXIgaT10aGlzLnN0YXRlLGE9aS5zY3JvbGxEaXJlY3Rpb24sbD1pLnNjcm9sbE9mZnNldCxzPWkuc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkO3RoaXMuX2NhbGxPblNjcm9sbChhLGwscyl9fSxyLl9nZXRSYW5nZVRvUmVuZGVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wcm9wcyxlPXQuaXRlbUNvdW50LHI9dC5vdmVyc2NhbkNvdW50LG49dGhpcy5zdGF0ZSxvPW4uaXNTY3JvbGxpbmcsaT1uLnNjcm9sbERpcmVjdGlvbixhPW4uc2Nyb2xsT2Zmc2V0O2lmKDA9PT1lKXJldHVyblswLDAsMCwwXTt2YXIgbD12KHRoaXMucHJvcHMsYSx0aGlzLl9pbnN0YW5jZVByb3BzKSxzPVModGhpcy5wcm9wcyxsLGEsdGhpcy5faW5zdGFuY2VQcm9wcyksYz1vJiYiYmFja3dhcmQiIT09aT8xOk1hdGgubWF4KDEsciksdT1vJiYiZm9yd2FyZCIhPT1pPzE6TWF0aC5tYXgoMSxyKTtyZXR1cm5bTWF0aC5tYXgoMCxsLWMpLE1hdGgubWF4KDAsTWF0aC5taW4oZS0xLHMrdSkpLGwsc119LGV9KGMuUHVyZUNvbXBvbmVudCksZS5kZWZhdWx0UHJvcHM9e2RpcmVjdGlvbjoibHRyIixpdGVtRGF0YTp2b2lkIDAsbGF5b3V0OiJ2ZXJ0aWNhbCIsb3ZlcnNjYW5Db3VudDoyLHVzZUlzU2Nyb2xsaW5nOiExfSxyfXZhciBnPWZ1bmN0aW9uKHQsZSl7dC5jaGlsZHJlbix0LmRpcmVjdGlvbix0LmhlaWdodCx0LmxheW91dCx0LmlubmVyVGFnTmFtZSx0Lm91dGVyVGFnTmFtZSx0LndpZHRoLGUuaW5zdGFuY2V9LFM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuaXRlbVNpemUsbz1yLml0ZW1NZXRhZGF0YU1hcCxpPXIubGFzdE1lYXN1cmVkSW5kZXg7aWYoZT5pKXt2YXIgYT0wO2lmKGk+PTApe3ZhciBsPW9baV07YT1sLm9mZnNldCtsLnNpemV9Zm9yKHZhciBzPWkrMTtzPD1lO3MrKyl7dmFyIGM9bihzKTtvW3NdPXtvZmZzZXQ6YSxzaXplOmN9LGErPWN9ci5sYXN0TWVhc3VyZWRJbmRleD1lfXJldHVybiBvW2VdfSxJPWZ1bmN0aW9uKHQsZSxyLG4sbyl7Zm9yKDtuPD1yOyl7dmFyIGk9bitNYXRoLmZsb29yKChyLW4pLzIpLGE9Uyh0LGksZSkub2Zmc2V0O2lmKGE9PT1vKXJldHVybiBpO2E8bz9uPWkrMTphPm8mJihyPWktMSl9cmV0dXJuIG4+MD9uLTE6MH0sXz1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIG89dC5pdGVtQ291bnQsaT0xO3I8byYmUyh0LHIsZSkub2Zmc2V0PG47KXIrPWksaSo9MjtyZXR1cm4gSSh0LGUsTWF0aC5taW4ocixvLTEpLE1hdGguZmxvb3Ioci8yKSxuKX0seT1mdW5jdGlvbih0LGUpe3ZhciByPXQuaXRlbUNvdW50LG49ZS5pdGVtTWV0YWRhdGFNYXAsbz1lLmVzdGltYXRlZEl0ZW1TaXplLGk9ZS5sYXN0TWVhc3VyZWRJbmRleCxhPTA7aWYoaT49ciYmKGk9ci0xKSxpPj0wKXt2YXIgbD1uW2ldO2E9bC5vZmZzZXQrbC5zaXplfXJldHVybiBhKyhyLWktMSkqb30sTT12KHtnZXRJdGVtT2Zmc2V0OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gUyh0LGUscikub2Zmc2V0fSxnZXRJdGVtU2l6ZTpmdW5jdGlvbih0LGUscil7cmV0dXJuIHIuaXRlbU1ldGFkYXRhTWFwW2VdLnNpemV9LGdldEVzdGltYXRlZFRvdGFsU2l6ZTp5LGdldE9mZnNldEZvckluZGV4QW5kQWxpZ25tZW50OmZ1bmN0aW9uKHQsZSxyLG4sbyl7dmFyIGk9dC5kaXJlY3Rpb24sYT10LmhlaWdodCxsPXQubGF5b3V0LHM9dC53aWR0aCxjPSJob3Jpem9udGFsIj09PWl8fCJob3Jpem9udGFsIj09PWw/czphLHU9Uyh0LGUsbyksZj15KHQsbyksZD1NYXRoLm1heCgwLE1hdGgubWluKGYtYyx1Lm9mZnNldCkpLGg9TWF0aC5tYXgoMCx1Lm9mZnNldC1jK3Uuc2l6ZSk7c3dpdGNoKCJzbWFydCI9PT1yJiYocj1uPj1oLWMmJm48PWQrYz8iYXV0byI6ImNlbnRlciIpLHIpe2Nhc2Uic3RhcnQiOnJldHVybiBkO2Nhc2UiZW5kIjpyZXR1cm4gaDtjYXNlImNlbnRlciI6cmV0dXJuIE1hdGgucm91bmQoaCsoZC1oKS8yKTtkZWZhdWx0OnJldHVybiBuPj1oJiZuPD1kP246bjxoP2g6ZH19LGdldFN0YXJ0SW5kZXhGb3JPZmZzZXQ6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBmdW5jdGlvbih0LGUscil7dmFyIG49ZS5pdGVtTWV0YWRhdGFNYXAsbz1lLmxhc3RNZWFzdXJlZEluZGV4O3JldHVybihvPjA/bltvXS5vZmZzZXQ6MCk+PXI/SSh0LGUsbywwLHIpOl8odCxlLE1hdGgubWF4KDAsbykscil9KHQscixlKX0sZ2V0U3RvcEluZGV4Rm9yU3RhcnRJbmRleDpmdW5jdGlvbih0LGUscixuKXtmb3IodmFyIG89dC5kaXJlY3Rpb24saT10LmhlaWdodCxhPXQuaXRlbUNvdW50LGw9dC5sYXlvdXQscz10LndpZHRoLGM9Imhvcml6b250YWwiPT09b3x8Imhvcml6b250YWwiPT09bD9zOmksdT1TKHQsZSxuKSxmPXIrYyxkPXUub2Zmc2V0K3Uuc2l6ZSxoPWU7aDxhLTEmJmQ8ZjspaCsrLGQrPVModCxoLG4pLnNpemU7cmV0dXJuIGh9LGluaXRJbnN0YW5jZVByb3BzOmZ1bmN0aW9uKHQsZSl7dmFyIHI9e2l0ZW1NZXRhZGF0YU1hcDp7fSwKZXN0aW1hdGVkSXRlbVNpemU6dC5lc3RpbWF0ZWRJdGVtU2l6ZXx8NTAsbGFzdE1lYXN1cmVkSW5kZXg6LTF9O3JldHVybiBlLnJlc2V0QWZ0ZXJJbmRleD1mdW5jdGlvbih0LG4pe3ZvaWQgMD09PW4mJihuPSEwKSxyLmxhc3RNZWFzdXJlZEluZGV4PU1hdGgubWluKHIubGFzdE1lYXN1cmVkSW5kZXgsdC0xKSxlLl9nZXRJdGVtU3R5bGVDYWNoZSgtMSksbiYmZS5mb3JjZVVwZGF0ZSgpfSxyfSxzaG91bGRSZXNldFN0eWxlQ2FjaGVPbkl0ZW1TaXplQ2hhbmdlOiExLHZhbGlkYXRlUHJvcHM6ZnVuY3Rpb24odCl7dC5pdGVtU2l6ZX19KSx6PXYoe2dldEl0ZW1PZmZzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZSp0Lml0ZW1TaXplfSxnZXRJdGVtU2l6ZTpmdW5jdGlvbih0LGUpe3JldHVybiB0Lml0ZW1TaXplfSxnZXRFc3RpbWF0ZWRUb3RhbFNpemU6ZnVuY3Rpb24odCl7dmFyIGU9dC5pdGVtQ291bnQ7cmV0dXJuIHQuaXRlbVNpemUqZX0sZ2V0T2Zmc2V0Rm9ySW5kZXhBbmRBbGlnbm1lbnQ6ZnVuY3Rpb24odCxlLHIsbil7dmFyIG89dC5kaXJlY3Rpb24saT10LmhlaWdodCxhPXQuaXRlbUNvdW50LGw9dC5pdGVtU2l6ZSxzPXQubGF5b3V0LGM9dC53aWR0aCx1PSJob3Jpem9udGFsIj09PW98fCJob3Jpem9udGFsIj09PXM/YzppLGY9TWF0aC5tYXgoMCxhKmwtdSksZD1NYXRoLm1pbihmLGUqbCksaD1NYXRoLm1heCgwLGUqbC11K2wpO3N3aXRjaCgic21hcnQiPT09ciYmKHI9bj49aC11JiZuPD1kK3U/ImF1dG8iOiJjZW50ZXIiKSxyKXtjYXNlInN0YXJ0IjpyZXR1cm4gZDtjYXNlImVuZCI6cmV0dXJuIGg7Y2FzZSJjZW50ZXIiOnZhciBwPU1hdGgucm91bmQoaCsoZC1oKS8yKTtyZXR1cm4gcDxNYXRoLmNlaWwodS8yKT8wOnA+ZitNYXRoLmZsb29yKHUvMik/ZjpwO2RlZmF1bHQ6cmV0dXJuIG4+PWgmJm48PWQ/bjpuPGg/aDpkfX0sZ2V0U3RhcnRJbmRleEZvck9mZnNldDpmdW5jdGlvbih0LGUpe3ZhciByPXQuaXRlbUNvdW50LG49dC5pdGVtU2l6ZTtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1pbihyLTEsTWF0aC5mbG9vcihlL24pKSl9LGdldFN0b3BJbmRleEZvclN0YXJ0SW5kZXg6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuZGlyZWN0aW9uLG89dC5oZWlnaHQsaT10Lml0ZW1Db3VudCxhPXQuaXRlbVNpemUsbD10LmxheW91dCxzPXQud2lkdGgsYz1lKmEsdT0iaG9yaXpvbnRhbCI9PT1ufHwiaG9yaXpvbnRhbCI9PT1sP3M6byxmPU1hdGguY2VpbCgodStyLWMpL2EpO3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKGktMSxlK2YtMSkpfSxpbml0SW5zdGFuY2VQcm9wczpmdW5jdGlvbih0KXt9LHNob3VsZFJlc2V0U3R5bGVDYWNoZU9uSXRlbVNpemVDaGFuZ2U6ITAsdmFsaWRhdGVQcm9wczpmdW5jdGlvbih0KXt0Lml0ZW1TaXplfX0pfSw5NDE5MjEodCxlLHIpe2Z1bmN0aW9uIG4odCl7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiB0fXIuZChlLHtkZWZhdWx0OigpPT5ufSl9LDMxMDIxMSh0LGUscil7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDY0MzMwMik7ZnVuY3Rpb24gbyh0LGUpe3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXQsKDAsbi5kZWZhdWx0KSh0LGUpfX0sNjQzMzAyKHQsZSxyKXtmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIG49T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fX3Byb3RvX189ZSx0fSxuKHQsZSl9ci5kKGUse2RlZmF1bHQ6KCk9Pm59KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCMANA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.532Z","timestamp":1785136905532,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCMANA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCAMP2.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.601Z","timestamp":1785136905601,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCAMP2.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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.21784.3a87670ef41edfdc885c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.607Z","timestamp":1785136901607,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.21784.3a87670ef41edfdc885c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-c48\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0bbbf8c6c8be91267bf33ab59c2c501e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3144,"size_decoded":1995,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3066)","md5":"68b75b26be0b7fe9cba6ceddf63188df","sha1":"447c852987cb0e880df0376f8a8e0e27c60cd3d3","sha256":"0b29ce96df5aa6f662415605317e6649052164faa030d408343458926bfcf91c","sha512":"aed77643d5947482c1d0f7df00997cb11568215d6b283085e572ffc9ec7a62cb10f40e21a1b6f166ac471743f8af4969cdbc41eff7c9365696e28d08f21572dd","ssdeep":"","tlshash":"c851fe27d181c5e92f31da01b389ecc1baf0b54514f7e0cb778aaf2ac15bc512928b75","first_seen":"2026-07-03T16:22:04.594265Z","last_seen":"2026-07-28T06:17:53.434777Z","times_seen":186,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMTc4NCw0OTMwNyw4NjU5Myw5NjY3OF0sezc2Nzc3MShlKXtlLmV4cG9ydHM9WyJSZWFkIHN1bW1hcnkiXX0sMzI0NTEoZSl7ZS5leHBvcnRzPVsiQW1vdW50Il19LDQ5NzA5NihlKXtlLmV4cG9ydHM9WyJBY3RpdmUgYWxlcnRzIG9uIHRoaXMgZWFybmluZyJdfSw0NjQ2NjcoZSl7ZS5leHBvcnRzPVsiQWRqdXN0ZWQgYW1vdW50Il19LDI5OTU5MyhlKXtlLmV4cG9ydHM9WyJBZnRlciBtYXJrZXQgY2xvc2UiXX0sODQ0MDA5KGUpe2UuZXhwb3J0cz1bIkFsZXJ0cyJdfSw2NDI4MTcoZSl7ZS5leHBvcnRzPVsiQmVmb3JlIG1hcmtldCBvcGVuIl19LDg0Nzg1OChlKXtlLmV4cG9ydHM9WyJEYXRlIl19LDQ3MTEyNChlKXtlLmV4cG9ydHM9WyJEaXZpZGVuZHMiXX0sMzg1MTEyKGUpe2UuZXhwb3J0cz1bIkVhcm5pbmdzIl19LDY0MTg3NShlKXtlLmV4cG9ydHM9WyJFYXJuaW5ncyAmIFJldmVudWUiXX0sMzM2ODcxKGUpe2UuZXhwb3J0cz1bIkVzdGltYXRlIl19LDQ2Mjk5KGUpe2UuZXhwb3J0cz1bIkVzdGltYXRlZCBkYXRlIl19LDUxODE0MyhlKXtlLmV4cG9ydHM9WyJFeC1kaXZpZGVuZCBkYXRlIl19LDM4MTQ3OShlKXtlLmV4cG9ydHM9WyJNb3JlIHtzeW1ib2x9IGRpdmlkZW5kcyJdfSw3NTkxNTEoZSl7ZS5leHBvcnRzPVsiTW9yZSB7c3ltYm9sfSBlYXJuaW5ncyJdfSwyNDE3NyhlKXtlLmV4cG9ydHM9WyJNb3JlIHtzeW1ib2x9IGZpbmFuY2lhbHMiXX0sNDEwMzQ1KGUpe2UuZXhwb3J0cz1bIlNwbGl0Il19LDEzNjk1MihlKXtlLmV4cG9ydHM9WyJTdGFuZGFyZGl6ZWQiXX0sOTMwNTg2KGUpe2UuZXhwb3J0cz1bIlN1cnByaXNlIl19LDQ2NTkzNihlKXtlLmV4cG9ydHM9WyJQYXltZW50IGRhdGUiXX0sNzcyMTQ5KGUpe2UuZXhwb3J0cz1bIlBlcmlvZCBFbmRpbmciXX0sNjUxMjI0KGUpe2UuZXhwb3J0cz1bIlJldmVudWUiXX0sNzU2Nzg0KGUpe2UuZXhwb3J0cz1bIlJlcG9ydGVkIl19LDQyODcyMyhlKXtlLmV4cG9ydHM9WyJSb3RhdGlvbiBmYWN0b3IiXX0sMjY4ODkxKGUpe2UuZXhwb3J0cz1bIlRQTyBhYm92ZSBQT0MiXX0sMTEyNzQ4KGUpe2UuZXhwb3J0cz1bIlRQTyBiZWxvdyBQT0MiXX0sODU2MDI4KGUpe2UuZXhwb3J0cz1bIlRvdGFsIFRQTyJdfSw3MjkyMDMoZSl7ZS5leHBvcnRzPVsiVG90YWwgdm9sdW1lIl19LDUwNTAxMChlKXtlLmV4cG9ydHM9WyJWQSByYW5nZSJdfSwyNzYxMzcoZSl7ZS5leHBvcnRzPVsiSUIgaGlnaCJdfSwxNDgzMzUoZSl7ZS5leHBvcnRzPVsiSUIgbG93Il19LDUxNDc2MihlKXtlLmV4cG9ydHM9WyJJQiByYW5nZSJdfSw5NDk2MTcoZSl7ZS5leHBvcnRzPVsiUE9DIl19LDg2OTI4MyhlKXtlLmV4cG9ydHM9WyJWQUgiXX0sOTI4NjY1KGUpe2UuZXhwb3J0cz1bIlZBTCJdfSw5MzE0ODgoZSl7ZS5leHBvcnRzPVsiSEwgcmFuZ2UiXX0sNTczMjI0KGUpe2UuZXhwb3J0cz1bIkJ1eSB2b2x1bWUiXX0sNTMwOTMxKGUpe2UuZXhwb3J0cz1bIkJ1eSB2b2x1bWUsICUiXX0sMTM5ODcwKGUpe2UuZXhwb3J0cz1bIkRlbHRhIl19LDIxOTMwNihlKXtlLmV4cG9ydHM9WyJEZWx0YSwgJSJdfSw2Njk3NTMoZSl7ZS5leHBvcnRzPVsiT3BlbiBpbnRlcmVzdCJdfSw2MDA0NTMoZSl7ZS5leHBvcnRzPVsiT3BlbiBpbnRlcmVzdCBoaWdoIl19LDQ1NjU0MihlKXtlLmV4cG9ydHM9WyJPcGVuIGludGVyZXN0IGxvdyJdfSwyNDk0MShlKXtlLmV4cG9ydHM9WyJNYXggZGVsdGEiXX0sODExMDgyKGUpe2UuZXhwb3J0cz1bIk1pbiBkZWx0YSJdfSw3NDc3NzYoZSl7ZS5leHBvcnRzPVsiU2VsbCB2b2x1bWUiXX0sNzk0MzgwKGUpe2UuZXhwb3J0cz1bIlNlbGwgdm9sdW1lLCAlIl19LDcyNDY2MShlKXtlLmV4cG9ydHM9WyJWb2x1bWUiXX0sOTE1NjQ1KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBjaGFuZ2UsICUiXX0sMzQ3ODQ5KGUpe2UuZXhwb3J0cz1bIlBPQyJdfSw5NzMzOTUoZSl7ZS5leHBvcnRzPVsiU2Vzc2lvbiBDVkQiXX0sODE1MjQwKGUpe2UuZXhwb3J0cz1bIkhMIHJhbmdlIl19LDg3MDA5KGUpe2UuZXhwb3J0cz1bIlN1bW1hcnkgaW5mbyJdfSw5MjkwNjYoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sMjE5MTA0KGUpe2UuZXhwb3J0cz1bIkNvbnRyYWN0IHN3aXRjaCJdfSw3OTQ0MDgoZSl7ZS5leHBvcnRzPVsiQ2lyY2xlIl19LDg2OTg2NyhlKXtlLmV4cG9ydHM9WyJDbGljayB0byBsZWFybiBtb3JlIl19LDQ4ODE4MChlKXtlLmV4cG9ydHM9WyJDcm9zcyJdfSwzNDQ0ODIoZSl7ZS5leHBvcnRzPVsiQWRkIGFsZXJ0IG9uIGVhcm5pbmdzIG9yIHJldmVudWUiXX0sNzA0NDU4KGUpe2UuZXhwb3J0cz1bIkFycm93IERvd24iXX0sNjIwNjEoZSl7ZS5leHBvcnRzPVsiQXJyb3cgVXAiXX0sMjgxMjQ4KGUpe2UuZXhwb3J0cz1bIkRpYW1vbmQiXX0sOTcxNTI3KGUpe2UuZXhwb3J0cz1bIkZsYWciXX0sNjE2NDk0KGUpe2UuZXhwb3J0cz1bIkZyb20gY29udHJhY3QiXX0sMTU1ODUoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWwgc3R1ZGllcyBhcmUgbm8gbG9uZ2VyIGF2YWlsYWJsZSBvbiBjaGFydHMiXX0sMjYyNDU4KGUpe2UuZXhwb3J0cz1bIkxhYmVsIERvd24iXX0sNDY0MTU3KGUpe2UuZXhwb3J0cz1bIkxhYmVsIFVwIl19LDkxNjIxNShlKXtlLmV4cG9ydHM9WyJTcXVhcmUiXX0sODcwNDA5KGUpe2UuZXhwb3J0cz1bIlRQTyBtZXJnZSBibG9jayJdfSw2MTk2MDkoZSl7ZS5leHBvcnRzPVsiVFBPIHNwbGl0IGJsb2NrIl19LDM4Mzc1MShlKXtlLmV4cG9ydHM9WyJUbyBjb250cmFjdCJdfSw4NDI2MzUoZSl7ZS5leHBvcnRzPVsiVGhpcyBmdW5kYW1lbnRhbCBtZXRyaWMgaXNuJ3QgYXZhaWxhYmxlIGZvciB0aGlzIHN5bWJvbC4iXX0sNDcxNzQ1KGUpe2UuZXhwb3J0cz1bIlRyaWFuZ2xlIERvd24iXX0sMzk5Njg4KGUpe2UuZXhwb3J0cz1bIlRyaWFuZ2xlIFVwIl19LDgxMDIyMihlKXtlLmV4cG9ydHM9WyJYIENyb3NzIl19LDM3MTI5NyhlKXtlLmV4cG9ydHM9WyJzdHVkeSBwYWNrYWdlIGlzIG5vdCBhdmFpbGFibGUiXX0sCjUxODcxOShlKXtlLmV4cG9ydHM9WyJhbmQge2NvdW50fSBtb3JlIGFsZXJ0IiwiYW5kIHtjb3VudH0gbW9yZSBhbGVydHMiXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_42x16dp.png","fqdn":"www.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":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:41.750Z","timestamp":1785136901750,"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 /images/branding/googlelogo/1x/googlelogo_color_42x16dp.png HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: 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://huobiget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 910\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: Thu, 02 Nov 2023 22:48:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 411087\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":910,"size_decoded":1583,"mime_type":"image/png","magic":"PNG image data, 42 x 16, 8-bit/color RGBA, non-interlaced","md5":"efa6bb2bfe459bc6f4bdafa3db0383f6","sha1":"52d15ce52fe50643e542c17812de43f4ed1b6ee0","sha256":"6318394f737c66f0e2ccfcd88e3935c6667633a1b95fa29fba2b75431d55eef2","sha512":"e23c04d8997f5c2f92070e09261b7ee50d9df8753f45cf66f604f0874ffa8d99e947c97c528ec02a2c3fbe8e43d840b343a7d0225532980d5da95031216415b7","ssdeep":"","tlshash":"491184a73cd1dc6854a47a87aa91b864ec250f1b91a220981237b42277313444fdc8f7","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-08-10T09:38:30.476759Z","times_seen":56832,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACoAAAAQCAYAAABgIu2QAAADVUlEQVR4AcxUA9AdPRRNbdu2+7K//+4mW9vWqNbYU2z21bZt27Zt+6nK5lUftrkPO7V1Zu7iZnJycoUc2HYC4hZVKROjqCnmEdMaoDJRHv1g4HmNKuCFjVX0OajeO5CWML5eCrSlnaGMr5VCr4X+mdXrhwpd0GgKXtDgAPoUIJIgTDPFE42JalF37952QspE+6rG0zy/hVDdsDSInHy3Qp8Jr6pk99A/s7333ttRdrD3ramDRHbd/STTp4QG6F+5fNUq5kCvg5qWmxr8qWuincTxsWAu1bRKR42avCT4H1TFeXxU2ePTFRvMo7t2AmlI4ObkeWM2J9kTsyWJDSa/d8ZvSRFaU3vzzJohNkFA5Fnx8sz9mmGJt4XeVV2ZvTreFuWXZy29rqrJEYAwMUYKuYccgM+aAKRR0wweayOUwEdc++Tm034dK/e1in96CT7nocoO20YJpLh9MVsSnX65ObHyclviP+X3ORAbvri1kjJ+mxi8EmWiIjHFKeB9W6hXV+Z7iXITuMF8RBHyPDeKkHSDTeqAYO7XU6SavDgYYWKEjEYgoP6RG27pp7iOUwI6bgQ+MShn+XAkkzprMZuTNgLfxlmNC0AUNca7OIEwecP3CZXCglLsCMk7xEtcDyAwcAYC/GfyLHKTRQ2xEBoIvYbave2U0n8exhWkPZKS2o7Qyrgh+F70z1khnO5EzlrMpqQNwbdhVuvC4cwEO0bXNBas9yGhYF6qTPRWUd4ZjRDVJprJ42TktgEJzE/ZXM3k/0kp9CExHheC1Huo67CPuo7fr4JLy2YqC2Ughe6NpP6wTPfxFxuTlH6xJUlZKAOoWeCH0QfjTmVBHM4SP/Zeoboy20OUu16C//GSioW8FM/1UNwavQ4pVKUmP/x6bRJTbAdiFAFslkTHosXuJcqhe6RCPlh7tjlZwZhNiY46zbQpycH4rcnzRUuJGmKPw834ifcJffzffxl8FG8A7ohd9tGKFdEHR0g/q4wzRt5CKLI6LggG36+vQWRB8LONyQrAt8PZ25ta7/+sIBhMFBnd7pAp9AFAP/gJLmb3RgnRz4QUNhm6HsqKuIN1iclvUWZNQ78b/hnoT0MMMVsz+Qtq8JfQuGrvR+nR74omi+xEYOjVBgEYBQDoQD6ep9ySZwAAAABJRU5ErkJggg=="}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview.com/support/support-portal-problems/?language=en","fqdn":"www.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.061Z","timestamp":1785136902061,"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":"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":"OPTIONS /support/support-portal-problems/?language=en HTTP/1.1\r\nHost: www.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\nAccess-Control-Request-Method: GET\r\nAccess-Control-Request-Headers: x-language,x-requested-with\r\nReferer: https://s.tradingview.com/\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json\r\ncontent-length: 13\r\nx-amz-cf-pop: ARN56-P1\r\ndate: Mon, 27 Jul 2026 07:21:42 GMT\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncache-control: max-age=60\r\ncontent-security-policy: base-uri 'none'; frame-ancestors '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/; object-src 'none'\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nvary: Cookie\r\nreferrer-policy: origin-when-cross-origin, origin-when-cross-origin\r\nx-content-type-options: nosniff, nosniff\r\nserver: tv\r\naccess-control-allow-origin: https://s.tradingview.com\r\naccess-control-allow-headers: pragma,x-language,cache-control,x-requested-with\r\naccess-control-allow-credentials: true\r\naccess-control-max-age: 86400\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncross-origin-resource-policy: same-site\r\nx-cache: Miss from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nvia: 1.1 0ca6102b671acc9950502eeeca241bf8.cloudfront.net (CloudFront)\r\nx-amz-cf-id: NAE47CUrAOzlhOeIVbfxQ3hoLhoPT5J11exT7xjJ3K6EsOKsFAnpAg==\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":"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":13,"size_decoded":1535,"mime_type":"application/json","magic":"JSON text data","md5":"01de957246f36d125db7f1635e51043e","sha1":"ab39026488aa0222d0fd98ade08979a1a17bdfae","sha256":"9bf40c18a4b22428c00ae5ddb17ff9e721207f22ebe705fd7dffdfd150749e3b","sha512":"72406f9bdf9896da1e3b58e79b74803c4b3a4226b1859cefcee322aa78d8617178a9e12333d72d43dd10207e3e79b9fc76ed07546ce955c0c8b392985d5540c5","ssdeep":"","tlshash":"d760000f003000000f0c0030f0000cc3000c0000033c30300c0c00c3030c0030ccf303","first_seen":"2023-05-02T20:38:18Z","last_seen":"2026-08-10T05:00:33.769713Z","times_seen":673,"resource_available":false,"data":"eyJpc3N1ZXMiOltdfQ=="}},"time_used":201,"timings":{"blocked":-1,"dns":5,"connect":21,"send":0,"wait":169,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/team-8.jpg","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.541Z","timestamp":1785136899541,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/team-8.jpg HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/jpeg\r\nContent-Length: 10835\r\nConnection: keep-alive\r\nLast-Modified: Sun, 29 Sep 2024 18:36:49 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":10835,"size_decoded":11047,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 400x400, components 3","md5":"0209a77152285976336557efe21a5763","sha1":"d9638266729bf7844b1174ffc55cd7bdf7c604e6","sha256":"ba01ebd2acc66e3d9f7c49c0957ee08183195067b8f80d169cfbd229525f669d","sha512":"f734d3c31a64b86550f24f7ee72dbfceddb029f1effed5ebec6243c7cb1d97cfbfb5489e40130885cf802054cd462ba3f3beab378af06b768ff56713d903fd8a","ssdeep":"192:LmEb3GIYH7CuY4a/lExT4KN+Av8DEVpYy8144ow098XT1tMB9WzY4kLVdtd76R8l:yU2/c4kECAv8AR444m4TTReVndXqU","tlshash":"3622b046d682276bdc0c4b37e2431811bf33adf8758c08f766d24554ba12189e901ee8","first_seen":"2026-07-27T04:48:05.205084Z","last_seen":"2026-07-27T07:23:37.014299Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":885,"timings":{"blocked":765,"dns":0,"connect":0,"send":0,"wait":120,"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":"huobiget.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/31837.d368caa64d494a4087cc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.302Z","timestamp":1785136900302,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31837.d368caa64d494a4087cc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 0de74315540b8c4bc255be93f2194dc0\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22102,"size_decoded":4305,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (22102), with no line terminators","md5":"723a7e925325b3ef2a66b0c084a39bdd","sha1":"6a1663dea4b2b18ff687ee9767a12412fb13768d","sha256":"8eb306a311580ce73c3d612ed0ae486994b351a828db7b8fb04c56c89824ba82","sha512":"c0282c69a16641bab7619996a69102f8dc69001ea8a81a80217b27e27aedc0c796accdbf3990fcb955facdc82faa2cb8b455065be32e8d0c3ca62c73e94d5c22","ssdeep":"192:9n/er85dIvw/pxhIJmhxiDmCtskjYzbgwH:1mQz3vgwH","tlshash":"65a236ebed91d7aeeb075f39035a9d2877519dc28a103f5ab221d0c106e2af5607f603","first_seen":"2026-03-24T10:46:27.371959Z","last_seen":"2026-08-10T05:01:09.729554Z","times_seen":1309,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteTJaWDojZWNlY2VjOy0tXzEteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLV8yLXkyWlg6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzMteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tXzQteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tXzUteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tXzYteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1fMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzIteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMy15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1fNC15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1fNS15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMC15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEyLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnR2LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowO21pbi13aWR0aDo0MHB4O3BhZGRpbmc6MXB4IDIycHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDtmaWxsOmN1cnJlbnRDb2xvcjtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO291dGxpbmU6MDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZSxjb2xvciAuMzVzIGVhc2V9LnR2LWJ1dHRvbi50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMjFweH0udHYtYnV0dG9uLmktYWN0aXZlLC50di1idXR0b24uaS1ob3ZlciwudHYtYnV0dG9uOmFjdGl2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b246aG92ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LWJ1dHRvbi0tYmxvY2t7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50di1idXR0b24rLnR2LWJ1dHRvbnttYXJnaW4taW5saW5lLXN0YXJ0OjE1cHh9LnR2LWJ1dHRvbi50di1idXR0b24tLW5vLWxlZnQtbWFyZ2lue21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtYnV0dG9uX190ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1idXR0b25fX3RleHQtLWZ1bGwtaGVpZ2h0e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6MTAwJTt3b3JkLXdyYXA6YnJlYWstd29yZDtsaW5lLWhlaWdodDoxLjJlbTttYXJnaW46MTFweCA1cHh9LnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LGEudHYtYnV0dG9uLS1kZWZhdWx0OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0OmFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV8wLXkyWlgpO2NvbG9yOiNmZmY7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kZWZhdWx0LmktaG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtjb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1kZWZhdWx0OmhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2NvbG9yOiNmZmZ9fS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfX0udHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLWRlZmF1bHQuaS1jaGVja2VkLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWNoZWNrZWR7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHQ6aG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9fS50di1idXR0b24tLWRlZmF1bHQuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdDphY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0OmFjdGl2ZXtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tcHJpbWFyeSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1wcmltYXJ5OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzYteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdHtjb2xvcjp2YXIoLS1fNi15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV82LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNi15MlpYKTtjb2xvcjp2YXIoLS1fOS15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5LmktYWN0aXZlLC50di1idXR0b24tLXByaW1hcnk6YWN0aXZlLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOC15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1wcmltYXJ5LmktaG92ZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV83LXkyWlgpO2NvbG9yOnZhcigtLV85LXkyWlgpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVyLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9fS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV85LXkyWlgpfX0udHYtYnV0dG9uLS1zZWNvbmRhcnksLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1zZWNvbmRhcnk6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3R7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmFjdGl2ZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNkMWRiZjA7Ym9yZGVyLWNvbG9yOiNkMWRiZjA7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1ob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlMWU3ZjU7Ym9yZGVyLWNvbG9yOiNlMWU3ZjU7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeTpob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1O2JvcmRlci1jb2xvcjojZTFlN2Y1O2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1fS50di1idXR0b24tLXNlY29uZGFyeV9naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zdWNjZXNzLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsYS50di1idXR0b24tLXN1Y2Nlc3M6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpfS50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN1Y2Nlc3MuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2VzczphY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtYWN0aXZlKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0tc3VjY2Vzcy5pLWhvdmVyLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlciwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcil9LnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyLC50di1idXR0b24tLWRhbmdlcl9naG9zdCxhLnR2LWJ1dHRvbi0tZGFuZ2VyOnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0e2NvbG9yOnZhcigtLV8zLXkyWlgpfS50di1idXR0b24tLWRhbmdlcl9naG9zdC5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyLmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcjphY3RpdmUsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcl9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzUteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kYW5nZXIuaS1ob3ZlciwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVyLC50di1idXR0b24tLWRhbmdlcl9naG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzQteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9fS50di1idXR0b24tLXdhcm5pbmcsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdCxhLnR2LWJ1dHRvbi0td2FybmluZzp2aXNpdGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0td2FybmluZy5pLWFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtjb2xvcjojZmZmO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0td2FybmluZy5pLWhvdmVyLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0td2FybmluZzpob3ZlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tbGluaywudHYtYnV0dG9uLS1saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1saW5rOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0udHYtYnV0dG9uLS1saW5rOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpfS50di1idXR0b24tLWxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdle2JvcmRlci13aWR0aDoycHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVye2JvcmRlci13aWR0aDoxcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC15MlpYKX19LnR2LWJ1dHRvbi5pLWRpc2FibGVkLC50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZCwudHYtYnV0dG9uOmRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fMS15MlpYKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LWRpc2FibGVkKTtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi5pLWRpc2FibGVkOmhvdmVyLC50di1idXR0b246ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzEteTJaWCk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1kaXNhYmxlZCk7Y3Vyc29yOmRlZmF1bHR9fS50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7Ym9yZGVyLXJhZGl1czoxcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE1cHg7cGFkZGluZzoycHggN3B4fS50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3hzbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjFweCA2cHh9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwrLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1idXR0b24tLXNpemVfc21hbGx7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MjVweDtwYWRkaW5nOjFweCAxMnB4fS50di1idXR0b24tLXNpemVfc21hbGwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3NtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowIDExcHh9LnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbCsudHYtYnV0dG9uLS1zaXplX3NtYWxse21hcmdpbi1pbmxpbmUtc3RhcnQ6MTBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjQ0cHg7cGFkZGluZzoxcHggMzBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXN0YXRlLC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e3BhZGRpbmc6MCAyOXB4fS50di1idXR0b24tLXNpemVfcHJvbW97Ym9yZGVyLXJhZGl1czoxMjBweDtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDo1NHB4O3BhZGRpbmc6MXB4IDQwcHh9LnR2LWJ1dHRvbi0tc2l6ZV9wcm9tby50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfcHJvbW8udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMzlweH0udHYtYnV0dG9uLS1uby1wYWRkaW5ne3BhZGRpbmc6MXB4fS50di1idXR0b24tLW5vLXBhZGRpbmcudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1uby1wYWRkaW5nLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowfS50di1idXR0b24tLXN0YXRle2JhY2tncm91bmQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDt0ZXh0LWFsaWduOmNlbnRlcn0udHYtYnV0dG9uLS1zdGF0ZTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrLWhpbnQsLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZHtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3RyYW5zaXRpb246b3BhY2l0eSAuMjYyNXMgZWFzZSx0cmFuc2Zvcm0gLjI2MjVzIGVhc2V9LnR2LWJ1dHRvbi0tc3RhdGVfX2VsbGlwc2lzLXRleHR7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50LC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVja2Vke3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e29wYWNpdHk6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke29wYWNpdHk6MH19LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrZWR7b3BhY2l0eToxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHtvcGFjaXR5OjF9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCl9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3MuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Y29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3M6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMy15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlcjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMTAteTJaWCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LXkyWlgpO2NvbG9yOnZhcigtLV8xMS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC1ob3Zlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LWhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QtaG92ZXI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtYWN0aXZlKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2UxZTdmNTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2QxZGJmMDtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmcuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0td2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWljb24td2l0aC10ZXh0IHN2Z3ttYXJnaW4taW5saW5lLWVuZDo2cHg7bWFyZ2luLWJvdHRvbTotOHB4O3ZlcnRpY2FsLWFsaWduOnVuc2V0fS50di1idXR0b24tLWljb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjM0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6YXV0bztwYWRkaW5nOjAhaW1wb3J0YW50O3dpZHRoOjM0cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfeHNtYWxse2hlaWdodDoxOXB4O3dpZHRoOjE5cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfc21hbGx7aGVpZ2h0OjI3cHg7d2lkdGg6MjdweH0udHYtYnV0dG9uLS1pY29uLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZXtoZWlnaHQ6NDZweDt3aWR0aDo0NnB4fS50di1idXR0b25fX2ljb257ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOjdweH0udHYtYnV0dG9uLS1sb2FkZXIgLnR2LWJ1dHRvbl9fdGV4dHt0cmFuc2l0aW9uOm9wYWNpdHkgMTc1bXMgZWFzZSx0cmFuc2Zvcm0gMTc1bXMgZWFzZX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX3RleHR7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbi1kZWxheToxNzVtc30udHYtYnV0dG9uX19sb2FkZXJ7Ym90dG9tOjA7Zm9udC1zaXplOjA7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO21hcmdpbjowIGF1dG87b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIGVhc2V9LnR2LWJ1dHRvbl9fbG9hZGVyOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MH0udHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xMi15MlpYKTtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwcHg7bWFyZ2luLWlubGluZS1lbmQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMnB4KSBzY2FsZSguNik7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjY4LC0uNTUsLjI2NSwxLjU1KSxvcGFjaXR5IC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTBweH0udHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7dHJhbnNpdGlvbi1kZWxheTouMTE2NjY2NjdzfS50di1idXR0b25fX2xvYWRlci1pdGVtOm50aC1jaGlsZCgzKXt0cmFuc2l0aW9uLWRlbGF5OjIzMy4zMzMzM21zfS50di1idXR0b24tLWRlZmF1bHQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1sb2FkZXIuaS1sb2FkaW5nIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17b3BhY2l0eToxfS50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtvcGFjaXR5OjB9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNil9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItWWpkSEtzQk0gLjk2cyBlYXNlLWluLW91dCBpbmZpbml0ZSBib3RofS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDIpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNTFzfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDMpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4zMnN9LnR2LWJ1dHRvbi0tbm8tYm9yZGVyLXJhZGl1c3tib3JkZXItcmFkaXVzOjB9LnR2LWJ1dHRvbi0tbm8tYm9yZGVye2JvcmRlcjpub25lfS50di1idXR0b24tLWNvbm5lY3R7Ym9yZGVyLXJhZGl1czowfS50di1idXR0b24tLWNvbm5lY3RfbGVmdHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0udHYtYnV0dG9uLS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LWJ1dHRvbi0td2l0aC1pY29ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9QGtleWZyYW1lcyB0di1idXR0b24tbG9hZGVyLVlqZEhLc0JNezAlLHRve3RyYW5zZm9ybTpzY2FsZSguNil9NTAle3RyYW5zZm9ybTpzY2FsZSguOSl9fQ=="}},"time_used":109,"timings":{"blocked":-1,"dns":30,"connect":28,"send":0,"wait":11,"receive":-1,"ssl":28},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.355Z","timestamp":1785136901355,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-67c0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b433d81d49d85b76e0c409228b82fc69\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":26560,"size_decoded":11050,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"4a29e78f7139204a8e4159e22b4457d8","sha1":"c9a58310328ae1ad0d2e0fcca742938bc1a98b9b","sha256":"6f44e98c09d8a5d97d1a874f53c5b793b1a574f733d209dad573911990ed412c","sha512":"6e07063f10462d08f62ed60257251c3083cbcf72fb69a4621dab4b090fe83d73e91ba23664e96011a1171b08aa2cd94984dbb7095b4d752d2da0f749f195715f","ssdeep":"384:DuiNnqiEZQep9G6Q+4DygstN2KZZL3Rj41wA1ggfJYXQWbyvItjIVnZKbVtO:DjheJQ+4DwN2YYpiXXuejQyo","tlshash":"3ec286c9b6d1f0a552a36561803f214bf13a3a65349ed090d722e5e0bcb95ae8137f3e","first_seen":"2026-07-23T14:00:31.735168Z","last_seen":"2026-08-10T05:01:09.773329Z","times_seen":245,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzA2OTldLHsxMzA2OTkodCxlLHIpe3IuZChlLHtjb25maWd1cmVTdG9yZTooKT0+QSxjcmVhdGVBY3Rpb246KCk9Pl8sY3JlYXRlQXN5bmNUaHVuazooKT0+VCxjcmVhdGVEcmFmdFNhZmVTZWxlY3RvcjooKT0+dyxjcmVhdGVTbGljZTooKT0+eCxpc0FueU9mOigpPT5xLGlzRnVsZmlsbGVkOigpPT5VLGlzUGVuZGluZzooKT0+Syxpc1JlamVjdGVkOigpPT5MfSk7dmFyIG49cigzMjcyMzkpLG89cigzNjQzNTApLGk9cig3ODc3MjQpO2lmKCEvXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaikpdmFyIHU9cig5NTM3NDkpO3ZhciBmLGE9KGY9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKHRbcl09ZVtyXSl9LGYodCxlKX0sZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhlKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWYodCxlKSx0LnByb3RvdHlwZT1udWxsPT09ZT9PYmplY3QuY3JlYXRlKGUpOihyLnByb3RvdHlwZT1lLnByb3RvdHlwZSxuZXcgcil9KSxjPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixvLGksdT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZvWzBdKXRocm93IG9bMV07cmV0dXJuIG9bMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gaT17bmV4dDpmKDApLHRocm93OmYoMSkscmV0dXJuOmYoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihpW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGk7ZnVuY3Rpb24gZihpKXtyZXR1cm4gZnVuY3Rpb24oZil7cmV0dXJuIGZ1bmN0aW9uKGkpe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7dTspdHJ5e2lmKHI9MSxuJiYobz0yJmlbMF0/bi5yZXR1cm46aVswXT9uLnRocm93fHwoKG89bi5yZXR1cm4pJiZvLmNhbGwobiksMCk6bi5uZXh0KSYmIShvPW8uY2FsbChuLGlbMV0pKS5kb25lKXJldHVybiBvO3N3aXRjaChuPTAsbyYmKGk9WzImaVswXSxvLnZhbHVlXSksaVswXSl7Y2FzZSAwOmNhc2UgMTpvPWk7YnJlYWs7Y2FzZSA0OnJldHVybiB1LmxhYmVsKysse3ZhbHVlOmlbMV0sZG9uZTohMX07Y2FzZSA1OnUubGFiZWwrKyxuPWlbMV0saT1bMF07Y29udGludWU7Y2FzZSA3Omk9dS5vcHMucG9wKCksdS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShvPXUudHJ5cywobz1vLmxlbmd0aD4wJiZvW28ubGVuZ3RoLTFdKXx8NiE9PWlbMF0mJjIhPT1pWzBdKSl7dT0wO2NvbnRpbnVlfWlmKDM9PT1pWzBdJiYoIW98fGlbMV0+b1swXSYmaVsxXTxvWzNdKSl7dS5sYWJlbD1pWzFdO2JyZWFrfWlmKDY9PT1pWzBdJiZ1LmxhYmVsPG9bMV0pe3UubGFiZWw9b1sxXSxvPWk7YnJlYWt9aWYobyYmdS5sYWJlbDxvWzJdKXt1LmxhYmVsPW9bMl0sdS5vcHMucHVzaChpKTticmVha31vWzJdJiZ1Lm9wcy5wb3AoKSx1LnRyeXMucG9wKCk7Y29udGludWV9aT1lLmNhbGwodCx1KX1jYXRjaCh0KXtpPVs2LHRdLG49MH1maW5hbGx5e3I9bz0wfWlmKDUmaVswXSl0aHJvdyBpWzFdO3JldHVybnt2YWx1ZTppWzBdP2lbMV06dm9pZCAwLGRvbmU6ITB9fShbaSxmXSl9fX0sbD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGgsbz10Lmxlbmd0aDtyPG47cisrLG8rKyl0W29dPWVbcl07cmV0dXJuIHR9LHM9T2JqZWN0LmRlZmluZVByb3BlcnR5LHA9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMsZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyx2PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMseT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGg9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxiPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZSBpbiB0P3ModCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6dFtlXT1yfSxnPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGV8fChlPXt9KSl5LmNhbGwoZSxyKSYmYih0LHIsZVtyXSk7aWYodilmb3IodmFyIG49MCxvPXYoZSk7bjxvLmxlbmd0aDtuKyspe3I9b1tuXTtoLmNhbGwoZSxyKSYmYih0LHIsZVtyXSl9cmV0dXJuIHR9LG09ZnVuY3Rpb24odCxlKXtyZXR1cm4gcCh0LGQoZSkpfSx3PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciByPW8uY3JlYXRlU2VsZWN0b3IuYXBwbHkodm9pZCAwLHQpO3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGU9W10sbz0xO288YXJndW1lbnRzLmxlbmd0aDtvKyspZVtvLTFdPWFyZ3VtZW50c1tvXTtyZXR1cm4gci5hcHBseSh2b2lkIDAsbChbKDAsbi5pc0RyYWZ0KSh0KT8oMCxuLmN1cnJlbnQpKHQpOnRdLGUpKX19LE89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9DT01QT1NFX18/d2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX0NPTVBPU0VfXzpmdW5jdGlvbigpe2lmKDAhPT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiJvYmplY3QiPT10eXBlb2YgYXJndW1lbnRzWzBdP2kuY29tcG9zZTppLmNvbXBvc2UuYXBwbHkobnVsbCxhcmd1bWVudHMpfTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18mJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fO2Z1bmN0aW9uIGoodCl7CmlmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBlPXQ7bnVsbCE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PWV9dmFyIFA9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe2Zvcih2YXIgcj1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKylyW25dPWFyZ3VtZW50c1tuXTt2YXIgbz10LmFwcGx5KHRoaXMscil8fHRoaXM7cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihvLGUucHJvdG90eXBlKSxvfXJldHVybiBhKGUsdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsU3ltYm9sLnNwZWNpZXMse2dldDpmdW5jdGlvbigpe3JldHVybiBlfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmNvbmNhdD1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyllW3JdPWFyZ3VtZW50c1tyXTtyZXR1cm4gdC5wcm90b3R5cGUuY29uY2F0LmFwcGx5KHRoaXMsZSl9LGUucHJvdG90eXBlLnByZXBlbmQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10scj0wO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyXT1hcmd1bWVudHNbcl07cmV0dXJuIDE9PT10Lmxlbmd0aCYmQXJyYXkuaXNBcnJheSh0WzBdKT9uZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0WzBdLmNvbmNhdCh0aGlzKSkpKTpuZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0LmNvbmNhdCh0aGlzKSkpKX0sZX0oQXJyYXkpO2Z1bmN0aW9uIEUoKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10LnRodW5rLHI9dm9pZCAwPT09ZXx8ZSxuPSh0LmltbXV0YWJsZUNoZWNrLHQuc2VyaWFsaXphYmxlQ2hlY2ssbmV3IFApO3ImJigiYm9vbGVhbiI9PXR5cGVvZiByP24ucHVzaCh1LmRlZmF1bHQpOm4ucHVzaCh1LmRlZmF1bHQud2l0aEV4dHJhQXJndW1lbnQoci5leHRyYUFyZ3VtZW50KSkpOzA7cmV0dXJuIG59KHQpfX12YXIgUz0hL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopfHxudWxsO2Z1bmN0aW9uIEEodCl7dmFyIGUscj1FKCksbj10fHx7fSxvPW4ucmVkdWNlcix1PXZvaWQgMD09PW8/dm9pZCAwOm8sZj1uLm1pZGRsZXdhcmUsYT12b2lkIDA9PT1mP3IoKTpmLGM9bi5kZXZUb29scyxzPXZvaWQgMD09PWN8fGMscD1uLnByZWxvYWRlZFN0YXRlLGQ9dm9pZCAwPT09cD92b2lkIDA6cCx2PW4uZW5oYW5jZXJzLHk9dm9pZCAwPT09dj92b2lkIDA6djtpZigiZnVuY3Rpb24iPT10eXBlb2YgdSllPXU7ZWxzZXtpZighaih1KSl0aHJvdyBuZXcgRXJyb3IoJyJyZWR1Y2VyIiBpcyBhIHJlcXVpcmVkIGFyZ3VtZW50LCBhbmQgbXVzdCBiZSBhIGZ1bmN0aW9uIG9yIGFuIG9iamVjdCBvZiBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGNvbWJpbmVSZWR1Y2VycycpO2U9KDAsaS5jb21iaW5lUmVkdWNlcnMpKHUpfXZhciBoPWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGgmJihoPWgociksIVMmJiFBcnJheS5pc0FycmF5KGgpKSl0aHJvdyBuZXcgRXJyb3IoIndoZW4gdXNpbmcgYSBtaWRkbGV3YXJlIGJ1aWxkZXIgZnVuY3Rpb24sIGFuIGFycmF5IG9mIG1pZGRsZXdhcmUgbXVzdCBiZSByZXR1cm5lZCIpO2lmKCFTJiZoLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0fSkpKXRocm93IG5ldyBFcnJvcigiZWFjaCBtaWRkbGV3YXJlIHByb3ZpZGVkIHRvIGNvbmZpZ3VyZVN0b3JlIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBiPWkuYXBwbHlNaWRkbGV3YXJlLmFwcGx5KHZvaWQgMCxoKSxtPWkuY29tcG9zZTtzJiYobT1PKGcoe3RyYWNlOiFTfSwib2JqZWN0Ij09dHlwZW9mIHMmJnMpKSk7dmFyIHc9W2JdO0FycmF5LmlzQXJyYXkoeSk/dz1sKFtiXSx5KToiZnVuY3Rpb24iPT10eXBlb2YgeSYmKHc9eSh3KSk7dmFyIFA9bS5hcHBseSh2b2lkIDAsdyk7cmV0dXJuKDAsaS5jcmVhdGVTdG9yZSkoZSxkLFApfWZ1bmN0aW9uIF8odCxlKXtmdW5jdGlvbiByKCl7Zm9yKHZhciByPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXJbbl09YXJndW1lbnRzW25dO2lmKGUpe3ZhciBvPWUuYXBwbHkodm9pZCAwLHIpO2lmKCFvKXRocm93IG5ldyBFcnJvcigicHJlcGFyZUFjdGlvbiBkaWQgbm90IHJldHVybiBhbiBvYmplY3QiKTtyZXR1cm4gZyhnKHt0eXBlOnQscGF5bG9hZDpvLnBheWxvYWR9LCJtZXRhImluIG8mJnttZXRhOm8ubWV0YX0pLCJlcnJvciJpbiBvJiZ7ZXJyb3I6by5lcnJvcn0pfXJldHVybnt0eXBlOnQscGF5bG9hZDpyWzBdfX1yZXR1cm4gci50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIiK3R9LHIudHlwZT10LHIubWF0Y2g9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXR9LHJ9ZnVuY3Rpb24gRCh0KXt2YXIgZSxyPXt9LG49W10sbz17YWRkQ2FzZTpmdW5jdGlvbih0LGUpe3ZhciBuPSJzdHJpbmciPT10eXBlb2YgdD90OnQudHlwZTtpZihuIGluIHIpdGhyb3cgbmV3IEVycm9yKCJhZGRDYXNlIGNhbm5vdCBiZSBjYWxsZWQgd2l0aCB0d28gcmVkdWNlcnMgZm9yIHRoZSBzYW1lIGFjdGlvbiB0eXBlIik7cmV0dXJuIHJbbl09ZSxvfSxhZGRNYXRjaGVyOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4ucHVzaCh7bWF0Y2hlcjp0LHJlZHVjZXI6ZX0pLG99LGFkZERlZmF1bHRDYXNlOmZ1bmN0aW9uKHQpe3JldHVybiBlPXQsb319O3JldHVybiB0KG8pLFtyLG4sZV19ZnVuY3Rpb24geCh0KXt2YXIgZT10Lm5hbWUscj10LmluaXRpYWxTdGF0ZTtpZighZSl0aHJvdyBuZXcgRXJyb3IoImBuYW1lYCBpcyBhIHJlcXVpcmVkIG9wdGlvbiBmb3IgY3JlYXRlU2xpY2UiKQo7dmFyIG89dC5yZWR1Y2Vyc3x8e30saT0iZnVuY3Rpb24iPT10eXBlb2YgdC5leHRyYVJlZHVjZXJzP0QodC5leHRyYVJlZHVjZXJzKTpbdC5leHRyYVJlZHVjZXJzXSx1PWlbMF0sZj12b2lkIDA9PT11P3t9OnUsYT1pWzFdLGM9dm9pZCAwPT09YT9bXTphLHM9aVsyXSxwPXZvaWQgMD09PXM/dm9pZCAwOnMsZD1PYmplY3Qua2V5cyhvKSx2PXt9LHk9e30saD17fTtkLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciByLG4saT1vW3RdLHU9ZSsiLyIrdDsicmVkdWNlciJpbiBpPyhyPWkucmVkdWNlcixuPWkucHJlcGFyZSk6cj1pLHZbdF09cix5W3VdPXIsaFt0XT1uP18odSxuKTpfKHUpfSkpO3ZhciBiPWZ1bmN0aW9uKHQsZSxyLG8pe3ZvaWQgMD09PXImJihyPVtdKTt2YXIgaT0iZnVuY3Rpb24iPT10eXBlb2YgZT9EKGUpOltlLHIsb10sdT1pWzBdLGY9aVsxXSxhPWlbMl0sYz0oMCxuLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKCl7fSkpO3JldHVybiBmdW5jdGlvbih0LGUpe3ZvaWQgMD09PXQmJih0PWMpO3ZhciByPWwoW3VbZS50eXBlXV0sZi5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybigwLHQubWF0Y2hlcikoZSl9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2VyfSkpKTtyZXR1cm4gMD09PXIuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4hIXR9KSkubGVuZ3RoJiYocj1bYV0pLHIucmVkdWNlKChmdW5jdGlvbih0LHIpe2lmKHIpe3ZhciBvO2lmKCgwLG4uaXNEcmFmdCkodCkpcmV0dXJuIHZvaWQgMD09PShvPXIodCxlKSk/dDpvO2lmKCgwLG4uaXNEcmFmdGFibGUpKHQpKXJldHVybigwLG4uZGVmYXVsdCkodCwoZnVuY3Rpb24odCl7cmV0dXJuIHIodCxlKX0pKTtpZih2b2lkIDA9PT0obz1yKHQsZSkpKXtpZihudWxsPT09dClyZXR1cm4gdDt0aHJvdyBFcnJvcigiQSBjYXNlIHJlZHVjZXIgb24gYSBub24tZHJhZnRhYmxlIHZhbHVlIG11c3Qgbm90IHJldHVybiB1bmRlZmluZWQiKX1yZXR1cm4gb31yZXR1cm4gdH0pLHQpfX0ocixnKGcoe30sZikseSksYyxwKTtyZXR1cm57bmFtZTplLHJlZHVjZXI6YixhY3Rpb25zOmgsY2FzZVJlZHVjZXJzOnZ9fXZhciBrPWZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PTIxKTtmb3IodmFyIGU9IiIscj10O3ItLTspZSs9Ik1vZHVsZVN5bWJoYXNPd25Qci0wMTIzNDU2Nzg5QUJDREVGR0hOUlZmZ2N0aVV2el9LcVlUSmtMeHBaWElqUVciWzY0Kk1hdGgucmFuZG9tKCl8MF07cmV0dXJuIGV9LEk9L14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopP251bGw6WyJuYW1lIiwibWVzc2FnZSIsInN0YWNrIiwiY29kZSJdLFI9ZnVuY3Rpb24odCxlKXt0aGlzLnBheWxvYWQ9dCx0aGlzLm1ldGE9ZX0sTj1mdW5jdGlvbih0LGUpe3RoaXMucGF5bG9hZD10LHRoaXMubWV0YT1lfSxDPWZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe2Zvcih2YXIgZT17fSxyPTAsbj1JO3I8bi5sZW5ndGg7cisrKXt2YXIgbz1uW3JdOyJzdHJpbmciPT10eXBlb2YgdFtvXSYmKGVbb109dFtvXSl9cmV0dXJuIGV9cmV0dXJue21lc3NhZ2U6U3RyaW5nKHQpfX07ZnVuY3Rpb24gVCh0LGUscil7dmFyIG49Xyh0KyIvZnVsZmlsbGVkIiwoZnVuY3Rpb24odCxlLHIsbil7cmV0dXJue3BheWxvYWQ6dCxtZXRhOm0oZyh7fSxufHx7fSkse2FyZzpyLHJlcXVlc3RJZDplLHJlcXVlc3RTdGF0dXM6ImZ1bGZpbGxlZCJ9KX19KSksbz1fKHQrIi9wZW5kaW5nIiwoZnVuY3Rpb24odCxlLHIpe3JldHVybntwYXlsb2FkOnZvaWQgMCxtZXRhOm0oZyh7fSxyfHx7fSkse2FyZzplLHJlcXVlc3RJZDp0LHJlcXVlc3RTdGF0dXM6InBlbmRpbmcifSl9fSkpLGk9Xyh0KyIvcmVqZWN0ZWQiLChmdW5jdGlvbih0LGUsbixvLGkpe3JldHVybntwYXlsb2FkOm8sZXJyb3I6KHImJnIuc2VyaWFsaXplRXJyb3J8fEMpKHR8fCJSZWplY3RlZCIpLG1ldGE6bShnKHt9LGl8fHt9KSx7YXJnOm4scmVxdWVzdElkOmUscmVqZWN0ZWRXaXRoVmFsdWU6ISFvLHJlcXVlc3RTdGF0dXM6InJlamVjdGVkIixhYm9ydGVkOiJBYm9ydEVycm9yIj09PShudWxsPT10P3ZvaWQgMDp0Lm5hbWUpLGNvbmRpdGlvbjoiQ29uZGl0aW9uRXJyb3IiPT09KG51bGw9PXQ/dm9pZCAwOnQubmFtZSl9KX19KSksdT0idW5kZWZpbmVkIiE9dHlwZW9mIEFib3J0Q29udHJvbGxlcj9BYm9ydENvbnRyb2xsZXI6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbigpe30sZGlzcGF0Y2hFdmVudDpmdW5jdGlvbigpe3JldHVybiExfSxvbmFib3J0OmZ1bmN0aW9uKCl7fSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKCl7fX19cmV0dXJuIHQucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7MH0sdH0oKTtyZXR1cm4gT2JqZWN0LmFzc2lnbigoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGYsYSxsKXt2YXIgcyxwLGQ9KG51bGwhPShzPW51bGw9PXI/dm9pZCAwOnIuaWRHZW5lcmF0b3IpP3M6aykoKSx2PW5ldyB1LHk9bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZSh7bmFtZToiQWJvcnRFcnJvciIsbWVzc2FnZTpwfHwiQWJvcnRlZCJ9KX0pKX0pKSxoPSExO3ZhciBiPWZ1bmN0aW9uKCl7cmV0dXJuIHU9dGhpcyxzPW51bGwscD1mdW5jdGlvbigpe3ZhciB1LHMscDtyZXR1cm4gYyh0aGlzLChmdW5jdGlvbihjKXtzd2l0Y2goYy5sYWJlbCl7Y2FzZSAwOmlmKGMudHJ5cy5wdXNoKFswLDIsLDNdKSxyJiZyLmNvbmRpdGlvbiYmITE9PT1yLmNvbmRpdGlvbih0LHtnZXRTdGF0ZTphLGV4dHJhOmx9KSl0aHJvd3tuYW1lOiJDb25kaXRpb25FcnJvciIsbWVzc2FnZToiQWJvcnRlZCBkdWUgdG8gY29uZGl0aW9uIGNhbGxiYWNrIHJldHVybmluZyBmYWxzZS4ifTtyZXR1cm4gaD0hMCxmKG8oZCx0LG51bGw9PSh1PW51bGw9PXI/dm9pZCAwOnIuZ2V0UGVuZGluZ01ldGEpP3ZvaWQgMDp1LmNhbGwocix7cmVxdWVzdElkOmQsYXJnOnR9LHtnZXRTdGF0ZTphLGV4dHJhOmx9KSkpLApbNCxQcm9taXNlLnJhY2UoW3ksUHJvbWlzZS5yZXNvbHZlKGUodCx7ZGlzcGF0Y2g6ZixnZXRTdGF0ZTphLGV4dHJhOmwscmVxdWVzdElkOmQsc2lnbmFsOnYuc2lnbmFsLHJlamVjdFdpdGhWYWx1ZTpmdW5jdGlvbih0LGUpe3JldHVybiBuZXcgUih0LGUpfSxmdWxmaWxsV2l0aFZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBOKHQsZSl9fSkpLnRoZW4oKGZ1bmN0aW9uKGUpe2lmKGUgaW5zdGFuY2VvZiBSKXRocm93IGU7cmV0dXJuIGUgaW5zdGFuY2VvZiBOP24oZS5wYXlsb2FkLGQsdCxlLm1ldGEpOm4oZSxkLHQpfSkpXSldO2Nhc2UgMTpyZXR1cm4gcz1jLnNlbnQoKSxbMywzXTtjYXNlIDI6cmV0dXJuIHA9Yy5zZW50KCkscz1wIGluc3RhbmNlb2YgUj9pKG51bGwsZCx0LHAucGF5bG9hZCxwLm1ldGEpOmkocCxkLHQpLFszLDNdO2Nhc2UgMzpyZXR1cm4gciYmIXIuZGlzcGF0Y2hDb25kaXRpb25SZWplY3Rpb24mJmkubWF0Y2gocykmJnMubWV0YS5jb25kaXRpb258fGYocyksWzIsc119fSkpfSxuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxlKXt2YXIgcj1mdW5jdGlvbih0KXt0cnl7byhwLm5leHQodCkpfWNhdGNoKHQpe2UodCl9fSxuPWZ1bmN0aW9uKHQpe3RyeXtvKHAudGhyb3codCkpfWNhdGNoKHQpe2UodCl9fSxvPWZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbmU/dChlLnZhbHVlKTpQcm9taXNlLnJlc29sdmUoZS52YWx1ZSkudGhlbihyLG4pfTtvKChwPXAuYXBwbHkodSxzKSkubmV4dCgpKX0pKTt2YXIgdSxzLHB9KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oYix7YWJvcnQ6ZnVuY3Rpb24odCl7aCYmKHA9dCx2LmFib3J0KCkpfSxyZXF1ZXN0SWQ6ZCxhcmc6dCx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gYi50aGVuKE0pfX0pfX0pLHtwZW5kaW5nOm8scmVqZWN0ZWQ6aSxmdWxmaWxsZWQ6bix0eXBlUHJlZml4OnR9KX1mdW5jdGlvbiBNKHQpe2lmKHQubWV0YSYmdC5tZXRhLnJlamVjdGVkV2l0aFZhbHVlKXRocm93IHQucGF5bG9hZDtpZih0LmVycm9yKXRocm93IHQuZXJyb3I7cmV0dXJuIHQucGF5bG9hZH12YXIgRj1mdW5jdGlvbih0LGUpe3JldHVybihyPXQpJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5tYXRjaD90Lm1hdGNoKGUpOnQoZSk7dmFyIHJ9O2Z1bmN0aW9uIHEoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiBGKHQsZSl9KSl9fWZ1bmN0aW9uICQodCxlKXtpZighdHx8IXQubWV0YSlyZXR1cm4hMTt2YXIgcj0ic3RyaW5nIj09dHlwZW9mIHQubWV0YS5yZXF1ZXN0SWQsbj1lLmluZGV4T2YodC5tZXRhLnJlcXVlc3RTdGF0dXMpPi0xO3JldHVybiByJiZufWZ1bmN0aW9uIFcodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRbMF0mJiJwZW5kaW5nImluIHRbMF0mJiJmdWxmaWxsZWQiaW4gdFswXSYmInJlamVjdGVkImluIHRbMF19ZnVuY3Rpb24gSygpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gMD09PXQubGVuZ3RoP2Z1bmN0aW9uKHQpe3JldHVybiAkKHQsWyJwZW5kaW5nIl0pfTpXKHQpP2Z1bmN0aW9uKGUpe3ZhciByPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5wZW5kaW5nfSkpO3JldHVybiBxLmFwcGx5KHZvaWQgMCxyKShlKX06SygpKHRbMF0pfWZ1bmN0aW9uIEwoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIDA9PT10Lmxlbmd0aD9mdW5jdGlvbih0KXtyZXR1cm4gJCh0LFsicmVqZWN0ZWQiXSl9OlcodCk/ZnVuY3Rpb24oZSl7dmFyIHI9dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlamVjdGVkfSkpO3JldHVybiBxLmFwcGx5KHZvaWQgMCxyKShlKX06TCgpKHRbMF0pfWZ1bmN0aW9uIFUoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIDA9PT10Lmxlbmd0aD9mdW5jdGlvbih0KXtyZXR1cm4gJCh0LFsiZnVsZmlsbGVkIl0pfTpXKHQpP2Z1bmN0aW9uKGUpe3ZhciByPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5mdWxmaWxsZWR9KSk7cmV0dXJuIHEuYXBwbHkodm9pZCAwLHIpKGUpfTpVKCkodFswXSl9KDAsbi5lbmFibGVFUzUpKCl9LDMyNzIzOSh0LGUscil7ZnVuY3Rpb24gbih0KXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxyPUFycmF5KGU+MT9lLTE6MCksbj0xO248ZTtuKyspcltuLTFdPWFyZ3VtZW50c1tuXTt0aHJvdyBFcnJvcigiW0ltbWVyXSBtaW5pZmllZCBlcnJvciBucjogIit0KyhyLmxlbmd0aD8iICIrci5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiInIit0KyInIn0pKS5qb2luKCIsIik6IiIpKyIuIEZpbmQgdGhlIGZ1bGwgZXJyb3IgYXQ6IGh0dHBzOi8vYml0Lmx5LzNjWEVLV2YiKX1mdW5jdGlvbiBvKHQpe3JldHVybiEhdCYmISF0W0ddfWZ1bmN0aW9uIGkodCl7cmV0dXJuISF0JiYoZnVuY3Rpb24odCl7aWYoIXR8fCJvYmplY3QiIT10eXBlb2YgdClyZXR1cm4hMTt2YXIgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7aWYobnVsbD09PWUpcmV0dXJuITA7dmFyIHI9T2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4gcj09PU9iamVjdHx8ImZ1bmN0aW9uIj09dHlwZW9mIHImJkZ1bmN0aW9uLnRvU3RyaW5nLmNhbGwocik9PT1KfSh0KXx8QXJyYXkuaXNBcnJheSh0KXx8ISF0W0JdfHwhIXQuY29uc3RydWN0b3JbQl18fGQodCl8fHYodCkpfWZ1bmN0aW9uIHUodCl7cmV0dXJuIG8odCl8fG4oMjMsdCksdFtHXS50fWZ1bmN0aW9uIGYodCxlLHIpe3ZvaWQgMD09PXImJihyPSExKSwwPT09YSh0KT8ocj9PYmplY3Qua2V5czpIKSh0KS5mb3JFYWNoKChmdW5jdGlvbihuKXtyJiYic3ltYm9sIj09dHlwZW9mIG58fGUobix0W25dLHQpfSkpOnQuZm9yRWFjaCgoZnVuY3Rpb24ocixuKXtyZXR1cm4gZShuLHIsdCl9KSl9ZnVuY3Rpb24gYSh0KXt2YXIgZT10W0ddCjtyZXR1cm4gZT9lLmk+Mz9lLmktNDplLmk6QXJyYXkuaXNBcnJheSh0KT8xOmQodCk/Mjp2KHQpPzM6MH1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIDI9PT1hKHQpP3QuaGFzKGUpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gMj09PWEodCk/dC5nZXQoZSk6dFtlXX1mdW5jdGlvbiBzKHQsZSxyKXt2YXIgbj1hKHQpOzI9PT1uP3Quc2V0KGUscik6Mz09PW4/KHQuZGVsZXRlKGUpLHQuYWRkKHIpKTp0W2VdPXJ9ZnVuY3Rpb24gcCh0LGUpe3JldHVybiB0PT09ZT8wIT09dHx8MS90PT0xL2U6dCE9dCYmZSE9ZX1mdW5jdGlvbiBkKHQpe3JldHVybiBVJiZ0IGluc3RhbmNlb2YgTWFwfWZ1bmN0aW9uIHYodCl7cmV0dXJuIHomJnQgaW5zdGFuY2VvZiBTZXR9ZnVuY3Rpb24geSh0KXtyZXR1cm4gdC5vfHx0LnR9ZnVuY3Rpb24gaCh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTt2YXIgZT1RKHQpO2RlbGV0ZSBlW0ddO2Zvcih2YXIgcj1IKGUpLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIG89cltuXSxpPWVbb107ITE9PT1pLndyaXRhYmxlJiYoaS53cml0YWJsZT0hMCxpLmNvbmZpZ3VyYWJsZT0hMCksKGkuZ2V0fHxpLnNldCkmJihlW29dPXtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTppLmVudW1lcmFibGUsdmFsdWU6dFtvXX0pfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0KSxlKX1mdW5jdGlvbiBiKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSxtKHQpfHxvKHQpfHwhaSh0KXx8KGEodCk+MSYmKHQuc2V0PXQuYWRkPXQuY2xlYXI9dC5kZWxldGU9ZyksT2JqZWN0LmZyZWV6ZSh0KSxlJiZmKHQsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGIoZSwhMCl9KSwhMCkpLHR9ZnVuY3Rpb24gZygpe24oMil9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gbnVsbD09dHx8Im9iamVjdCIhPXR5cGVvZiB0fHxPYmplY3QuaXNGcm96ZW4odCl9ZnVuY3Rpb24gdyh0KXt2YXIgZT1ZW3RdO3JldHVybiBlfHxuKDE4LHQpLGV9ZnVuY3Rpb24gTyh0LGUpe1lbdF18fChZW3RdPWUpfWZ1bmN0aW9uIGooKXtyZXR1cm4gS31mdW5jdGlvbiBQKHQsZSl7ZSYmKHcoIlBhdGNoZXMiKSx0LnU9W10sdC5zPVtdLHQudj1lKX1mdW5jdGlvbiBFKHQpe1ModCksdC5wLmZvckVhY2goXyksdC5wPW51bGx9ZnVuY3Rpb24gUyh0KXt0PT09SyYmKEs9dC5sKX1mdW5jdGlvbiBBKHQpe3JldHVybiBLPXtwOltdLGw6SyxoOnQsbTohMCxfOjB9fWZ1bmN0aW9uIF8odCl7dmFyIGU9dFtHXTswPT09ZS5pfHwxPT09ZS5pP2UuaigpOmUuTz0hMH1mdW5jdGlvbiBEKHQsZSl7ZS5fPWUucC5sZW5ndGg7dmFyIHI9ZS5wWzBdLG89dm9pZCAwIT09dCYmdCE9PXI7cmV0dXJuIGUuaC5nfHx3KCJFUzUiKS5TKGUsdCxvKSxvPyhyW0ddLlAmJihFKGUpLG4oNCkpLGkodCkmJih0PXgoZSx0KSxlLmx8fEkoZSx0KSksZS51JiZ3KCJQYXRjaGVzIikuTShyW0ddLHQsZS51LGUucykpOnQ9eChlLHIsW10pLEUoZSksZS51JiZlLnYoZS51LGUucyksdCE9PVY/dDp2b2lkIDB9ZnVuY3Rpb24geCh0LGUscil7aWYobShlKSlyZXR1cm4gZTt2YXIgbj1lW0ddO2lmKCFuKXJldHVybiBmKGUsKGZ1bmN0aW9uKG8saSl7cmV0dXJuIGsodCxuLGUsbyxpLHIpfSksITApLGU7aWYobi5BIT09dClyZXR1cm4gZTtpZighbi5QKXJldHVybiBJKHQsbi50LCEwKSxuLnQ7aWYoIW4uSSl7bi5JPSEwLG4uQS5fLS07dmFyIG89ND09PW4uaXx8NT09PW4uaT9uLm89aChuLmspOm4ubztmKDM9PT1uLmk/bmV3IFNldChvKTpvLChmdW5jdGlvbihlLGkpe3JldHVybiBrKHQsbixvLGUsaSxyKX0pKSxJKHQsbywhMSksciYmdC51JiZ3KCJQYXRjaGVzIikuUihuLHIsdC51LHQucyl9cmV0dXJuIG4ub31mdW5jdGlvbiBrKHQsZSxyLG4sdSxmKXtpZihvKHUpKXt2YXIgYT14KHQsdSxmJiZlJiYzIT09ZS5pJiYhYyhlLkQsbik/Zi5jb25jYXQobik6dm9pZCAwKTtpZihzKHIsbixhKSwhbyhhKSlyZXR1cm47dC5tPSExfWlmKGkodSkmJiFtKHUpKXtpZighdC5oLkYmJnQuXzwxKXJldHVybjt4KHQsdSksZSYmZS5BLmx8fEkodCx1KX19ZnVuY3Rpb24gSSh0LGUscil7dm9pZCAwPT09ciYmKHI9ITEpLHQuaC5GJiZ0Lm0mJmIoZSxyKX1mdW5jdGlvbiBSKHQsZSl7dmFyIHI9dFtHXTtyZXR1cm4ocj95KHIpOnQpW2VdfWZ1bmN0aW9uIE4odCxlKXtpZihlIGluIHQpZm9yKHZhciByPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtyOyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpO2lmKG4pcmV0dXJuIG47cj1PYmplY3QuZ2V0UHJvdG90eXBlT2Yocil9fWZ1bmN0aW9uIEModCl7dC5QfHwodC5QPSEwLHQubCYmQyh0LmwpKX1mdW5jdGlvbiBUKHQpe3Qub3x8KHQubz1oKHQudCkpfWZ1bmN0aW9uIE0odCxlLHIpe3ZhciBuPWQoZSk/dygiTWFwU2V0IikuTihlLHIpOnYoZSk/dygiTWFwU2V0IikuVChlLHIpOnQuZz9mdW5jdGlvbih0LGUpe3ZhciByPUFycmF5LmlzQXJyYXkodCksbj17aTpyPzE6MCxBOmU/ZS5BOmooKSxQOiExLEk6ITEsRDp7fSxsOmUsdCxrOm51bGwsbzpudWxsLGo6bnVsbCxDOiExfSxvPW4saT1aO3ImJihvPVtuXSxpPXR0KTt2YXIgdT1Qcm94eS5yZXZvY2FibGUobyxpKSxmPXUucmV2b2tlLGE9dS5wcm94eTtyZXR1cm4gbi5rPWEsbi5qPWYsYX0oZSxyKTp3KCJFUzUiKS5KKGUscik7cmV0dXJuKHI/ci5BOmooKSkucC5wdXNoKG4pLG59ZnVuY3Rpb24gRih0KXtyZXR1cm4gbyh0KXx8bigyMix0KSxmdW5jdGlvbiB0KGUpe2lmKCFpKGUpKXJldHVybiBlO3ZhciByLG49ZVtHXSxvPWEoZSk7aWYobil7aWYoIW4uUCYmKG4uaTw0fHwhdygiRVM1IikuSyhuKSkpcmV0dXJuIG4udDtuLkk9ITAscj1xKGUsbyksbi5JPSExfWVsc2Ugcj1xKGUsbyk7cmV0dXJuIGYociwoZnVuY3Rpb24oZSxvKXtuJiZsKG4udCxlKT09PW98fHMocixlLHQobykpfSkpLDM9PT1vP25ldyBTZXQocik6cn0odCl9ZnVuY3Rpb24gcSh0LGUpe3N3aXRjaChlKXtjYXNlIDI6CnJldHVybiBuZXcgTWFwKHQpO2Nhc2UgMzpyZXR1cm4gQXJyYXkuZnJvbSh0KX1yZXR1cm4gaCh0KX1mdW5jdGlvbiAkKCl7ZnVuY3Rpb24gdCh0LGUpe3ZhciByPWlbdF07cmV0dXJuIHI/ci5lbnVtZXJhYmxlPWU6aVt0XT1yPXtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTplLGdldDpmdW5jdGlvbigpe3ZhciBlPXRoaXNbR107cmV0dXJuIFouZ2V0KGUsdCl9LHNldDpmdW5jdGlvbihlKXt2YXIgcj10aGlzW0ddO1ouc2V0KHIsdCxlKX19LHJ9ZnVuY3Rpb24gZSh0KXtmb3IodmFyIGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7dmFyIG89dFtlXVtHXTtpZighby5QKXN3aXRjaChvLmkpe2Nhc2UgNTpuKG8pJiZDKG8pO2JyZWFrO2Nhc2UgNDpyKG8pJiZDKG8pfX19ZnVuY3Rpb24gcih0KXtmb3IodmFyIGU9dC50LHI9dC5rLG49SChyKSxvPW4ubGVuZ3RoLTE7bz49MDtvLS0pe3ZhciBpPW5bb107aWYoaSE9PUcpe3ZhciB1PWVbaV07aWYodm9pZCAwPT09dSYmIWMoZSxpKSlyZXR1cm4hMDt2YXIgZj1yW2ldLGE9ZiYmZltHXTtpZihhP2EudCE9PXU6IXAoZix1KSlyZXR1cm4hMH19dmFyIGw9ISFlW0ddO3JldHVybiBuLmxlbmd0aCE9PUgoZSkubGVuZ3RoKyhsPzA6MSl9ZnVuY3Rpb24gbih0KXt2YXIgZT10Lms7aWYoZS5sZW5ndGghPT10LnQubGVuZ3RoKXJldHVybiEwO3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxlLmxlbmd0aC0xKTtyZXR1cm4hKCFyfHxyLmdldCl9dmFyIGk9e307TygiRVM1Iix7SjpmdW5jdGlvbihlLHIpe3ZhciBuPUFycmF5LmlzQXJyYXkoZSksbz1mdW5jdGlvbihlLHIpe2lmKGUpe2Zvcih2YXIgbj1BcnJheShyLmxlbmd0aCksbz0wO288ci5sZW5ndGg7bysrKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCIiK28sdChvLCEwKSk7cmV0dXJuIG59dmFyIGk9UShyKTtkZWxldGUgaVtHXTtmb3IodmFyIHU9SChpKSxmPTA7Zjx1Lmxlbmd0aDtmKyspe3ZhciBhPXVbZl07aVthXT10KGEsZXx8ISFpW2FdLmVudW1lcmFibGUpfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihyKSxpKX0obixlKSxpPXtpOm4/NTo0LEE6cj9yLkE6aigpLFA6ITEsSTohMSxEOnt9LGw6cix0OmUsazpvLG86bnVsbCxPOiExLEM6ITF9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobyxHLHt2YWx1ZTppLHdyaXRhYmxlOiEwfSksb30sUzpmdW5jdGlvbih0LHIsaSl7aT9vKHIpJiZyW0ddLkE9PT10JiZlKHQucCk6KHQudSYmZnVuY3Rpb24gdChlKXtpZihlJiYib2JqZWN0Ij09dHlwZW9mIGUpe3ZhciByPWVbR107aWYocil7dmFyIG89ci50LGk9ci5rLHU9ci5ELGE9ci5pO2lmKDQ9PT1hKWYoaSwoZnVuY3Rpb24oZSl7ZSE9PUcmJih2b2lkIDAhPT1vW2VdfHxjKG8sZSk/dVtlXXx8dChpW2VdKToodVtlXT0hMCxDKHIpKSl9KSksZihvLChmdW5jdGlvbih0KXt2b2lkIDAhPT1pW3RdfHxjKGksdCl8fCh1W3RdPSExLEMocikpfSkpO2Vsc2UgaWYoNT09PWEpe2lmKG4ocikmJihDKHIpLHUubGVuZ3RoPSEwKSxpLmxlbmd0aDxvLmxlbmd0aClmb3IodmFyIGw9aS5sZW5ndGg7bDxvLmxlbmd0aDtsKyspdVtsXT0hMTtlbHNlIGZvcih2YXIgcz1vLmxlbmd0aDtzPGkubGVuZ3RoO3MrKyl1W3NdPSEwO2Zvcih2YXIgcD1NYXRoLm1pbihpLmxlbmd0aCxvLmxlbmd0aCksZD0wO2Q8cDtkKyspdm9pZCAwPT09dVtkXSYmdChpW2RdKX19fX0odC5wWzBdKSxlKHQucCkpfSxLOmZ1bmN0aW9uKHQpe3JldHVybiA0PT09dC5pP3IodCk6bih0KX19KX1yLmQoZSx7Y3VycmVudDooKT0+RixkZWZhdWx0OigpPT5vdCxlbmFibGVFUzU6KCk9PiQsaXNEcmFmdDooKT0+byxpc0RyYWZ0YWJsZTooKT0+aSxvcmlnaW5hbDooKT0+dX0pO3ZhciBXLEssTD0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2woIngiKSxVPSJ1bmRlZmluZWQiIT10eXBlb2YgTWFwLHo9InVuZGVmaW5lZCIhPXR5cGVvZiBTZXQsWD0idW5kZWZpbmVkIiE9dHlwZW9mIFByb3h5JiZ2b2lkIDAhPT1Qcm94eS5yZXZvY2FibGUmJiJ1bmRlZmluZWQiIT10eXBlb2YgUmVmbGVjdCxWPUw/U3ltYm9sLmZvcigiaW1tZXItbm90aGluZyIpOigoVz17fSlbImltbWVyLW5vdGhpbmciXT0hMCxXKSxCPUw/U3ltYm9sLmZvcigiaW1tZXItZHJhZnRhYmxlIik6Il9fJGltbWVyX2RyYWZ0YWJsZSIsRz1MP1N5bWJvbC5mb3IoImltbWVyLXN0YXRlIik6Il9fJGltbWVyX3N0YXRlIixKPSgidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yLCIiK09iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IpLEg9InVuZGVmaW5lZCIhPXR5cGVvZiBSZWZsZWN0JiZSZWZsZWN0Lm93bktleXM/UmVmbGVjdC5vd25LZXlzOnZvaWQgMCE9PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKX06T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMsUT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yc3x8ZnVuY3Rpb24odCl7dmFyIGU9e307cmV0dXJuIEgodCkuZm9yRWFjaCgoZnVuY3Rpb24ocil7ZVtyXT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQscil9KSksZX0sWT17fSxaPXtnZXQ6ZnVuY3Rpb24odCxlKXtpZihlPT09RylyZXR1cm4gdDt2YXIgcj15KHQpO2lmKCFjKHIsZSkpcmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXt2YXIgbixvPU4oZSxyKTtyZXR1cm4gbz8idmFsdWUiaW4gbz9vLnZhbHVlOm51bGw9PT0obj1vLmdldCl8fHZvaWQgMD09PW4/dm9pZCAwOm4uY2FsbCh0LmspOnZvaWQgMH0odCxyLGUpO3ZhciBuPXJbZV07cmV0dXJuIHQuSXx8IWkobik/bjpuPT09Uih0LnQsZSk/KFQodCksdC5vW2VdPU0odC5BLmgsbix0KSk6bn0saGFzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUgaW4geSh0KX0sb3duS2V5czpmdW5jdGlvbih0KXtyZXR1cm4gUmVmbGVjdC5vd25LZXlzKHkodCkpfSxzZXQ6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPU4oeSh0KSxlKQo7aWYobnVsbD09bj92b2lkIDA6bi5zZXQpcmV0dXJuIG4uc2V0LmNhbGwodC5rLHIpLCEwO2lmKCF0LlApe3ZhciBvPVIoeSh0KSxlKSxpPW51bGw9PW8/dm9pZCAwOm9bR107aWYoaSYmaS50PT09cilyZXR1cm4gdC5vW2VdPXIsdC5EW2VdPSExLCEwO2lmKHAocixvKSYmKHZvaWQgMCE9PXJ8fGModC50LGUpKSlyZXR1cm4hMDtUKHQpLEModCl9cmV0dXJuIHQub1tlXT09PXImJiJudW1iZXIiIT10eXBlb2YgciYmKHZvaWQgMCE9PXJ8fGUgaW4gdC5vKXx8KHQub1tlXT1yLHQuRFtlXT0hMCwhMCl9LGRlbGV0ZVByb3BlcnR5OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMCE9PVIodC50LGUpfHxlIGluIHQudD8odC5EW2VdPSExLFQodCksQyh0KSk6ZGVsZXRlIHQuRFtlXSx0Lm8mJmRlbGV0ZSB0Lm9bZV0sITB9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcjpmdW5jdGlvbih0LGUpe3ZhciByPXkodCksbj1SZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpO3JldHVybiBuP3t3cml0YWJsZTohMCxjb25maWd1cmFibGU6MSE9PXQuaXx8Imxlbmd0aCIhPT1lLGVudW1lcmFibGU6bi5lbnVtZXJhYmxlLHZhbHVlOnJbZV19Om59LGRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKCl7bigxMSl9LGdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodC50KX0sc2V0UHJvdG90eXBlT2Y6ZnVuY3Rpb24oKXtuKDEyKX19LHR0PXt9O2YoWiwoZnVuY3Rpb24odCxlKXt0dFt0XT1mdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHNbMF09YXJndW1lbnRzWzBdWzBdLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pKSx0dC5kZWxldGVQcm9wZXJ0eT1mdW5jdGlvbih0LGUpe3JldHVybiBaLmRlbGV0ZVByb3BlcnR5LmNhbGwodGhpcyx0WzBdLGUpfSx0dC5zZXQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBaLnNldC5jYWxsKHRoaXMsdFswXSxlLHIsdFswXSl9O3ZhciBldD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dmFyIGU9dGhpczt0aGlzLmc9WCx0aGlzLkY9ITAsdGhpcy5wcm9kdWNlPWZ1bmN0aW9uKHQscixvKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCYmImZ1bmN0aW9uIiE9dHlwZW9mIHIpe3ZhciB1PXI7cj10O3ZhciBmPWU7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dm9pZCAwPT09dCYmKHQ9dSk7Zm9yKHZhciBuPWFyZ3VtZW50cy5sZW5ndGgsbz1BcnJheShuPjE/bi0xOjApLGk9MTtpPG47aSsrKW9baS0xXT1hcmd1bWVudHNbaV07cmV0dXJuIGYucHJvZHVjZSh0LChmdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4obj1yKS5jYWxsLmFwcGx5KG4sW2UsdF0uY29uY2F0KG8pKX0pKX19dmFyIGE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHImJm4oNiksdm9pZCAwIT09byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJm4oNyksaSh0KSl7dmFyIGM9QShlKSxsPU0oZSx0LHZvaWQgMCkscz0hMDt0cnl7YT1yKGwpLHM9ITF9ZmluYWxseXtzP0UoYyk6UyhjKX1yZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFByb21pc2UmJmEgaW5zdGFuY2VvZiBQcm9taXNlP2EudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIFAoYyxvKSxEKHQsYyl9KSwoZnVuY3Rpb24odCl7dGhyb3cgRShjKSx0fSkpOihQKGMsbyksRChhLGMpKX1pZighdHx8Im9iamVjdCIhPXR5cGVvZiB0KXtpZigoYT1yKHQpKT09PVYpcmV0dXJuO3JldHVybiB2b2lkIDA9PT1hJiYoYT10KSxlLkYmJmIoYSwhMCksYX1uKDIxLHQpfSx0aGlzLnByb2R1Y2VXaXRoUGF0Y2hlcz1mdW5jdGlvbih0LHIpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKHIpe2Zvcih2YXIgbj1hcmd1bWVudHMubGVuZ3RoLG89QXJyYXkobj4xP24tMTowKSxpPTE7aTxuO2krKylvW2ktMV09YXJndW1lbnRzW2ldO3JldHVybiBlLnByb2R1Y2VXaXRoUGF0Y2hlcyhyLChmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh2b2lkIDAsW2VdLmNvbmNhdChvKSl9KSl9OltlLnByb2R1Y2UodCxyLChmdW5jdGlvbih0LGUpe249dCxvPWV9KSksbixvXTt2YXIgbixvfSwiYm9vbGVhbiI9PXR5cGVvZihudWxsPT10P3ZvaWQgMDp0LnVzZVByb3hpZXMpJiZ0aGlzLnNldFVzZVByb3hpZXModC51c2VQcm94aWVzKSwiYm9vbGVhbiI9PXR5cGVvZihudWxsPT10P3ZvaWQgMDp0LmF1dG9GcmVlemUpJiZ0aGlzLnNldEF1dG9GcmVlemUodC5hdXRvRnJlZXplKX12YXIgZT10LnByb3RvdHlwZTtyZXR1cm4gZS5jcmVhdGVEcmFmdD1mdW5jdGlvbih0KXtpKHQpfHxuKDgpLG8odCkmJih0PUYodCkpO3ZhciBlPUEodGhpcykscj1NKHRoaXMsdCx2b2lkIDApO3JldHVybiByW0ddLkM9ITAsUyhlKSxyfSxlLmZpbmlzaERyYWZ0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHQmJnRbR10pLkE7cmV0dXJuIFAocixlKSxEKHZvaWQgMCxyKX0sZS5zZXRBdXRvRnJlZXplPWZ1bmN0aW9uKHQpe3RoaXMuRj10fSxlLnNldFVzZVByb3hpZXM9ZnVuY3Rpb24odCl7dCYmIVgmJm4oMjApLHRoaXMuZz10fSxlLmFwcGx5UGF0Y2hlcz1mdW5jdGlvbih0LGUpe3ZhciByO2ZvcihyPWUubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPWVbcl07aWYoMD09PW4ucGF0aC5sZW5ndGgmJiJyZXBsYWNlIj09PW4ub3Ape3Q9bi52YWx1ZTticmVha319cj4tMSYmKGU9ZS5zbGljZShyKzEpKTt2YXIgaT13KCJQYXRjaGVzIikuJDtyZXR1cm4gbyh0KT9pKHQsZSk6dGhpcy5wcm9kdWNlKHQsKGZ1bmN0aW9uKHQpe3JldHVybiBpKHQsZSl9KSl9LHR9KCkscnQ9bmV3IGV0LG50PXJ0LnByb2R1Y2U7cnQucHJvZHVjZVdpdGhQYXRjaGVzLmJpbmQocnQpLHJ0LnNldEF1dG9GcmVlemUuYmluZChydCkscnQuc2V0VXNlUHJveGllcy5iaW5kKHJ0KSxydC5hcHBseVBhdGNoZXMuYmluZChydCkscnQuY3JlYXRlRHJhZnQuYmluZChydCkscnQuZmluaXNoRHJhZnQuYmluZChydCk7Y29uc3Qgb3Q9bnR9LDk1Mzc0OSh0LGUscil7ZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHI9ZS5kaXNwYXRjaCxuPWUuZ2V0U3RhdGU7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihvKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbz9vKHIsbix0KTplKG8pfX0KfX1yLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBvPW4oKTtvLndpdGhFeHRyYUFyZ3VtZW50PW47Y29uc3QgaT0vXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaik/bnVsbDpvfSw3ODc3MjQodCxlLHIpe2lmKHIuZChlLHthcHBseU1pZGRsZXdhcmU6KCk9PnYsYmluZEFjdGlvbkNyZWF0b3JzOigpPT5wLGNvbWJpbmVSZWR1Y2VyczooKT0+bCxjb21wb3NlOigpPT5kLGNyZWF0ZVN0b3JlOigpPT5jfSksIS9eKDE5NTA4fDk0ODE5KSQvLnRlc3Qoci5qKSl2YXIgbj1yKDIyNDEwNyk7ZnVuY3Rpb24gbyh0KXtyZXR1cm4iTWluaWZpZWQgUmVkdXggZXJyb3IgIyIrdCsiOyB2aXNpdCBodHRwczovL3JlZHV4LmpzLm9yZy9FcnJvcnM/Y29kZT0iK3QrIiBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzLiAifXZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5vYnNlcnZhYmxlfHwiQEBvYnNlcnZhYmxlIix1PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KS5zcGxpdCgiIikuam9pbigiLiIpfSxmPXtJTklUOiJAQHJlZHV4L0lOSVQiK3UoKSxSRVBMQUNFOiJAQHJlZHV4L1JFUExBQ0UiK3UoKSxQUk9CRV9VTktOT1dOX0FDVElPTjpmdW5jdGlvbigpe3JldHVybiJAQHJlZHV4L1BST0JFX1VOS05PV05fQUNUSU9OIit1KCl9fTtmdW5jdGlvbiBhKHQpe2lmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBlPXQ7bnVsbCE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PWV9ZnVuY3Rpb24gYyh0LGUscil7dmFyIG47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiByfHwiZnVuY3Rpb24iPT10eXBlb2YgciYmImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1szXSl0aHJvdyBuZXcgRXJyb3IobygwKSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUmJnZvaWQgMD09PXImJihyPWUsZT12b2lkIDApLHZvaWQgMCE9PXIpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByKXRocm93IG5ldyBFcnJvcihvKDEpKTtyZXR1cm4gcihjKSh0LGUpfWlmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDIpKTt2YXIgdT10LGw9ZSxzPVtdLHA9cyxkPSExO2Z1bmN0aW9uIHYoKXtwPT09cyYmKHA9cy5zbGljZSgpKX1mdW5jdGlvbiB5KCl7aWYoZCl0aHJvdyBuZXcgRXJyb3IobygzKSk7cmV0dXJuIGx9ZnVuY3Rpb24gaCh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3Iobyg0KSk7aWYoZCl0aHJvdyBuZXcgRXJyb3Iobyg1KSk7dmFyIGU9ITA7cmV0dXJuIHYoKSxwLnB1c2godCksZnVuY3Rpb24oKXtpZihlKXtpZihkKXRocm93IG5ldyBFcnJvcihvKDYpKTtlPSExLHYoKTt2YXIgcj1wLmluZGV4T2YodCk7cC5zcGxpY2UociwxKSxzPW51bGx9fX1mdW5jdGlvbiBiKHQpe2lmKCFhKHQpKXRocm93IG5ldyBFcnJvcihvKDcpKTtpZih2b2lkIDA9PT10LnR5cGUpdGhyb3cgbmV3IEVycm9yKG8oOCkpO2lmKGQpdGhyb3cgbmV3IEVycm9yKG8oOSkpO3RyeXtkPSEwLGw9dShsLHQpfWZpbmFsbHl7ZD0hMX1mb3IodmFyIGU9cz1wLHI9MDtyPGUubGVuZ3RoO3IrKyl7KDAsZVtyXSkoKX1yZXR1cm4gdH1yZXR1cm4gYih7dHlwZTpmLklOSVR9KSwobj17ZGlzcGF0Y2g6YixzdWJzY3JpYmU6aCxnZXRTdGF0ZTp5LHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDEwKSk7dT10LGIoe3R5cGU6Zi5SRVBMQUNFfSl9fSlbaV09ZnVuY3Rpb24oKXt2YXIgdCxlPWg7cmV0dXJuKHQ9e3N1YnNjcmliZTpmdW5jdGlvbih0KXtpZigib2JqZWN0IiE9dHlwZW9mIHR8fG51bGw9PT10KXRocm93IG5ldyBFcnJvcihvKDExKSk7ZnVuY3Rpb24gcigpe3QubmV4dCYmdC5uZXh0KHkoKSl9cmV0dXJuIHIoKSx7dW5zdWJzY3JpYmU6ZShyKX19fSlbaV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdH0sbn1mdW5jdGlvbiBsKHQpe2Zvcih2YXIgZT1PYmplY3Qua2V5cyh0KSxyPXt9LG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTswLCJmdW5jdGlvbiI9PXR5cGVvZiB0W2ldJiYocltpXT10W2ldKX12YXIgdSxhPU9iamVjdC5rZXlzKHIpO3RyeXshZnVuY3Rpb24odCl7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHI9dFtlXTtpZih2b2lkIDA9PT1yKHZvaWQgMCx7dHlwZTpmLklOSVR9KSl0aHJvdyBuZXcgRXJyb3IobygxMikpO2lmKHZvaWQgMD09PXIodm9pZCAwLHt0eXBlOmYuUFJPQkVfVU5LTk9XTl9BQ1RJT04oKX0pKXRocm93IG5ldyBFcnJvcihvKDEzKSl9KSl9KHIpfWNhdGNoKHQpe3U9dH1yZXR1cm4gZnVuY3Rpb24odCxlKXtpZih2b2lkIDA9PT10JiYodD17fSksdSl0aHJvdyB1O2Zvcih2YXIgbj0hMSxpPXt9LGY9MDtmPGEubGVuZ3RoO2YrKyl7dmFyIGM9YVtmXSxsPXJbY10scz10W2NdLHA9bChzLGUpO2lmKHZvaWQgMD09PXApe2UmJmUudHlwZTt0aHJvdyBuZXcgRXJyb3IobygxNCkpfWlbY109cCxuPW58fHAhPT1zfXJldHVybihuPW58fGEubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKT9pOnR9fWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZSh0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fWZ1bmN0aW9uIHAodCxlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gcyh0LGUpO2lmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKG8oMTYpKTt2YXIgcj17fTtmb3IodmFyIG4gaW4gdCl7dmFyIGk9dFtuXTsiZnVuY3Rpb24iPT10eXBlb2YgaSYmKHJbbl09cyhpLGUpKX1yZXR1cm4gcn1mdW5jdGlvbiBkKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl0KO3JldHVybiAwPT09ZS5sZW5ndGg/ZnVuY3Rpb24odCl7cmV0dXJuIHR9OjE9PT1lLmxlbmd0aD9lWzBdOmUucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KGUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfX0pKX1mdW5jdGlvbiB2KCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl07cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciByPXQuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyksaT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihvKDE1KSl9LHU9e2dldFN0YXRlOnIuZ2V0U3RhdGUsZGlzcGF0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gaS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19LGY9ZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0KHUpfSkpO3JldHVybiBpPWQuYXBwbHkodm9pZCAwLGYpKHIuZGlzcGF0Y2gpLCgwLG4uZGVmYXVsdCkoKDAsbi5kZWZhdWx0KSh7fSxyKSx7fSx7ZGlzcGF0Y2g6aX0pfX19fSwxOTM3MSh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pm99KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoOTA4MTU0KTtmdW5jdGlvbiBvKHQsZSxyKXtyZXR1cm4oZT0oMCxuLmRlZmF1bHQpKGUpKWluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fX0sMjI0MTA3KHQsZSxyKXtpZihyLmQoZSx7ZGVmYXVsdDooKT0+aX0pLCEvXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaikpdmFyIG49cigxOTM3MSk7ZnVuY3Rpb24gbyh0LGUpe3ZhciByPU9iamVjdC5rZXlzKHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7ZSYmKG49bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj9vKE9iamVjdChyKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7KDAsbi5kZWZhdWx0KSh0LGUscltlXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXModCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6byhPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpKX0pKX1yZXR1cm4gdH19LDg5MjYzOSh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pm99KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoMTI5NDc2KTtmdW5jdGlvbiBvKHQsZSl7aWYoIm9iamVjdCIhPSgwLG4uZGVmYXVsdCkodCl8fCF0KXJldHVybiB0O3ZhciByPXRbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT1yKXt2YXIgbz1yLmNhbGwodCxlfHwiZGVmYXVsdCIpO2lmKCJvYmplY3QiIT0oMCxuLmRlZmF1bHQpKG8pKXJldHVybiBvO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKCJzdHJpbmciPT09ZT9TdHJpbmc6TnVtYmVyKSh0KX19LDkwODE1NCh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pml9KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoMTI5NDc2KTtpZighL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBvPXIoODkyNjM5KTtmdW5jdGlvbiBpKHQpe3ZhciBlPSgwLG8uZGVmYXVsdCkodCwic3RyaW5nIik7cmV0dXJuInN5bWJvbCI9PSgwLG4uZGVmYXVsdCkoZSk/ZTplKyIifX0sMTI5NDc2KHQsZSxyKXtmdW5jdGlvbiBuKHQpe3JldHVybiBuPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSxuKHQpfXIuZChlLHtkZWZhdWx0OigpPT5ufSl9fV0pOw=="}},"time_used":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/67925.cdd77a6972787789a616.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.482Z","timestamp":1785136901482,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67925.cdd77a6972787789a616.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-364\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 17b3ed24da1608fc635cdd148975a88f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":868,"size_decoded":1139,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (868), with no line terminators","md5":"5edf808790562884db5fdf9a651e2c6b","sha1":"364ae71139050bae7ec40dc7bca05608a6e0a6c3","sha256":"7aa320556bada28195947d3777837009a4c4a5cbcd0ba6412ec4649351997aa3","sha512":"20ca4cbeb3d8d8ca78780490a1023af097a10fbdbeec82d3cc26bd10019f432db48b26cee41dddc68e04a24a4e81a2fd6be1f9910bbb710538b06279e2cea860","ssdeep":"","tlshash":"4511cc59940633ba6772951c2ec657c1ab217dac4873374cf8e1e09f40db785a0097c6","first_seen":"2026-06-30T21:57:43.476727Z","last_seen":"2026-07-28T06:17:53.599964Z","times_seen":228,"resource_available":false,"data":"LmJ1dHRvbi1HYXdwQjBwZnthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tR2F3cEIwcGY6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tR2F3cEIwcGY6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1HYXdwQjBwZjphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uYnV0dG9uLUdhd3BCMHBmOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1HYXdwQjBwZjpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1HYXdwQjBwZjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLUdhd3BCMHBmOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Ym9yZGVyLXJhZGl1czo0cHh9LmJ1dHRvbi1HYXdwQjBwZi5hY3RpdmUtR2F3cEIwcGY6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LWludmVyc2UpfS5mYXZvcml0ZS1HYXdwQjBwZi5maWxsZWQtR2F3cEIwcGZ7Y29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpfS5mYXZvcml0ZS1HYXdwQjBwZi5hY3RpdmUtR2F3cEIwcGZ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-sheriff.tradingview-widget.com/sheriff/api/v1/rules/search?origin=https%3A%2F%2Fhuobiget.com","fqdn":"widget-sheriff.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"143.204.238.28","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.038Z","timestamp":1785136902038,"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":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sat, 27 Dec 2025 00:00:00 GMT","end":"Sun, 24 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"0A:93:73:BB:95:EC:D1:52:11:5B:CC:2D:92:43:D4:FD:5A:2E:BE:A4","sha256":"70:E8:96:A5:F6:09:13:92:CB:0D:3F:A5:37:C4:A1:0D:4A:F7:52:C0:C1:B6:21:DB:D5:92:33:3F:B5:7D:EE:0F"}}},"request":{"raw":"GET /sheriff/api/v1/rules/search?origin=https%3A%2F%2Fhuobiget.com HTTP/1.1\r\nHost: widget-sheriff.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 204 \r\nx-amz-cf-pop: ARN53-P4\r\ndate: Mon, 27 Jul 2026 07:21:42 GMT\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncache-control: public, max-age=3600, s-maxage=3600\r\nserver: tv\r\nvia: 443, 1.1 4c304736e6087956cb00821d710060a4.cloudfront.net (CloudFront)\r\naccess-control-allow-origin: https://s.tradingview.com\r\ncross-origin-resource-policy: same-site\r\naccess-control-max-age: 86400\r\nvary: Origin\r\nx-cache: Miss from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: c2Pm18-hSP_W9zt0EVP9aZqhFmoQEn7GwaUC3a0fSo6dgaTZl01HgA==\r\n\r\n","headers":null,"cookies":null,"status_code":"204","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"]}],"data":{"size":0,"size_decoded":546,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":""}},"time_used":204,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":204,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44031.2691fc2c3468293bfd16.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.314Z","timestamp":1785136901314,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44031.2691fc2c3468293bfd16.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-90\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 102a38180625755a3a16fea4f481e020\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":144,"size_decoded":886,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"669466b98876123099594e1a8ff0556e","sha1":"f7b7d85273ef4a6de745e7d1977d6eaeb4e25f41","sha256":"634134c6e0cfe9953231051ead0975df8ee84bfbd6df8222218fdea0f1b04497","sha512":"ecd87db6f1f0eb9c5d7b76d4b2a7f4dbff140856b0addb002e166951b7c534f59c42c8acf7638bb7b769ecbb39022454b989196dfe7b376e759e63163119856f","ssdeep":"","tlshash":"48c02b8871c0302aba0f312ac33cc55830301940ec001f6a992de4f288c0fda13e2f39","first_seen":"2026-07-23T14:00:31.42266Z","last_seen":"2026-07-28T06:17:53.407807Z","times_seen":381,"resource_available":false,"data":"LnNlcGFyYXRvci1LSHR5TVRZR3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7aGVpZ2h0OjFweDttYXJnaW46NnB4IDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6605.1e8942319b485afc1f75.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.852Z","timestamp":1785136901852,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/6605.1e8942319b485afc1f75.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-1c7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 101464e4fb696a8c9e2c9581bc79c7e2\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":455,"size_decoded":1057,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (455), with no line terminators","md5":"d2ca4d9cab95479c91e8f31c8229afbb","sha1":"cede3b6337ec4629cebf14c946dc59dd6f6c156a","sha256":"0e87fa3009dc8f3432528e0b70da28015ba4e896241e7531f9086e06e71e7eca","sha512":"c3e0d4a1c9c9021120c05d783907844dd92838a00db5e2832aa6c276691d5c8c7ac6f4fc63f895e0628afbf2a76efda4aa1982fc5335ed69f5b960eee35b446c","ssdeep":"","tlshash":"99f027136cdd9a1fa41b302dcbc44b09d0d98902b70d4bf9bc16e260a28a7922a33060","first_seen":"2026-02-24T21:05:06.368121Z","last_seen":"2026-08-10T05:00:33.830403Z","times_seen":293,"resource_available":false,"data":"LmRpYWxvZy1iOFN4TW56WHtkaXNwbGF5OmJsb2NrO21heC13aWR0aDo1NTBweDttaW4td2lkdGg6MzgwcHg7d2lkdGg6YXV0b31AbWVkaWEgKG1heC13aWR0aDozNzlweCl7LmRpYWxvZy1iOFN4TW56WHttaW4taGVpZ2h0OmF1dG87bWluLXdpZHRoOjEwMCV9fS53cmFwcGVyLWI4U3hNbnpYe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCV9LmRpYWxvZy1iOFN4TW56WCAuc2VwYXJhdG9yLWI4U3hNbnpYe2ZsZXg6bm9uZTttYXJnaW4tYmxvY2s6MCAycHg7bWFyZ2luLWlubGluZTowIDB9LnNlcGFyYXRvci1iOFN4TW56WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLWRpYWxvZy1oZWFkZXItc2VwYXJhdG9yLHZhcigtLWNvbG9yLWRpdmlkZXIpKX0uYm91bmRlZC1iOFN4TW56WHtib3gtc2hhZG93OjAgMCAwIDFweCB2YXIoLS1jb2xvci1kaXZpZGVyKX0="}},"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/50221.f49da2a7279774aa5fe8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.853Z","timestamp":1785136901853,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/50221.f49da2a7279774aa5fe8.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-c5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ba257398c677fad6ea3706cb7c90c4d2\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":197,"size_decoded":911,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"bc1901314fcc62f8ef539d88faeaca36","sha1":"ba55a4ec0d7824f8528bc278b9be78720717c84a","sha256":"026507e65d33327e7d6d98823d6fc3811034aa4a37822b71b643c63ed67730f4","sha512":"a067df264905a867bbb63d375d50b57eef2e9fbc7ee4f71675080a6027ba1e03725e3ad8d526bd8fd83638e2f7266526cbe7703db7bb22f0cf6c4ef13c7fa32d","ssdeep":"","tlshash":"3ed022b1e3b23017b921883ffe882acd12792036e210022c38dc266c4312b00d3204b1","first_seen":"2026-07-19T14:58:49.002434Z","last_seen":"2026-08-10T05:01:44.405998Z","times_seen":163,"resource_available":false,"data":"LndyYXBwZXItYm9IeW5lMTN7Ym9yZGVyOjFweCBzb2xpZH0ud3JhcHBlci1FaVNJQnY0ZHtib3JkZXItcmFkaXVzOjUwJX0ud3JhcHBlci1FaVNJQnY0ZCwud3JhcHBlci1hRGNTNGxlRywud3JhcHBlci1oVHpmYXQ5NXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ud3JhcHBlci1hRGNTNGxlR3toZWlnaHQ6MjRweDt3aWR0aDoxMDBweH0="}},"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":"huobiget.com/js/owl.carousel.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.520Z","timestamp":1785136899520,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/owl.carousel.min.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 61379\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":61379,"size_decoded":61596,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (785), with CRLF line terminators","md5":"0bdc31d5282e381c8abcfcd9931b7f46","sha1":"4e642ebe4ca43cfa350f00dc6185306513dfe9aa","sha256":"df9b0ed781776fcb62e9a900f10db70a978f0860dd341369194b2c9dce3a1092","sha512":"8a2cafdeed8bb26d5ae0a23dba260052343d80dce226bf3db975fa65b49d351041fe6216ff19674b2289b459f3a6e43268916b5c647e9f7defbea08b8c36c083","ssdeep":"1536:OAkKTMmv5bvBbMDC3aRH2d9rKKk0Ryum61:OAkKTMR4zcb61","tlshash":"f7531d0aa3b0282b8677b3719e7f8a06f236062f9151585e7d7ca1dc1f39414467efb8","first_seen":"2023-06-17T17:20:00Z","last_seen":"2026-08-09T04:43:01.363917Z","times_seen":277,"resource_available":true,"data":"LyoqDQogKiBPd2wgQ2Fyb3VzZWwgdjIuMy40DQogKiBDb3B5cmlnaHQgMjAxMy0yMDE4IERhdmlkIERldXRzY2gNCiAqIExpY2Vuc2VkIHVuZGVyOiBTRUUgTElDRU5TRSBJTiBodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFDQogKi8NCiEgZnVuY3Rpb24oYSwgYiwgYywgZCkgew0KICAgIGZ1bmN0aW9uIGUoYiwgYykgew0KICAgICAgICB0aGlzLnNldHRpbmdzID0gbnVsbCwgdGhpcy5vcHRpb25zID0gYS5leHRlbmQoe30sIGUuRGVmYXVsdHMsIGMpLCB0aGlzLiRlbGVtZW50ID0gYShiKSwgdGhpcy5faGFuZGxlcnMgPSB7fSwgdGhpcy5fcGx1Z2lucyA9IHt9LCB0aGlzLl9zdXByZXNzID0ge30sIHRoaXMuX2N1cnJlbnQgPSBudWxsLCB0aGlzLl9zcGVlZCA9IG51bGwsIHRoaXMuX2Nvb3JkaW5hdGVzID0gW10sIHRoaXMuX2JyZWFrcG9pbnQgPSBudWxsLCB0aGlzLl93aWR0aCA9IG51bGwsIHRoaXMuX2l0ZW1zID0gW10sIHRoaXMuX2Nsb25lcyA9IFtdLCB0aGlzLl9tZXJnZXJzID0gW10sIHRoaXMuX3dpZHRocyA9IFtdLCB0aGlzLl9pbnZhbGlkYXRlZCA9IHt9LCB0aGlzLl9waXBlID0gW10sIHRoaXMuX2RyYWcgPSB7DQogICAgICAgICAgICB0aW1lOiBudWxsLA0KICAgICAgICAgICAgdGFyZ2V0OiBudWxsLA0KICAgICAgICAgICAgcG9pbnRlcjogbnVsbCwNCiAgICAgICAgICAgIHN0YWdlOiB7DQogICAgICAgICAgICAgICAgc3RhcnQ6IG51bGwsDQogICAgICAgICAgICAgICAgY3VycmVudDogbnVsbA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGRpcmVjdGlvbjogbnVsbA0KICAgICAgICB9LCB0aGlzLl9zdGF0ZXMgPSB7DQogICAgICAgICAgICBjdXJyZW50OiB7fSwNCiAgICAgICAgICAgIHRhZ3M6IHsNCiAgICAgICAgICAgICAgICBpbml0aWFsaXppbmc6IFsiYnVzeSJdLA0KICAgICAgICAgICAgICAgIGFuaW1hdGluZzogWyJidXN5Il0sDQogICAgICAgICAgICAgICAgZHJhZ2dpbmc6IFsiaW50ZXJhY3RpbmciXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LCBhLmVhY2goWyJvblJlc2l6ZSIsICJvblRocm90dGxlZFJlc2l6ZSJdLCBhLnByb3h5KGZ1bmN0aW9uKGIsIGMpIHsNCiAgICAgICAgICAgIHRoaXMuX2hhbmRsZXJzW2NdID0gYS5wcm94eSh0aGlzW2NdLCB0aGlzKQ0KICAgICAgICB9LCB0aGlzKSksIGEuZWFjaChlLlBsdWdpbnMsIGEucHJveHkoZnVuY3Rpb24oYSwgYikgew0KICAgICAgICAgICAgdGhpcy5fcGx1Z2luc1thLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsgYS5zbGljZSgxKV0gPSBuZXcgYih0aGlzKQ0KICAgICAgICB9LCB0aGlzKSksIGEuZWFjaChlLldvcmtlcnMsIGEucHJveHkoZnVuY3Rpb24oYiwgYykgew0KICAgICAgICAgICAgdGhpcy5fcGlwZS5wdXNoKHsNCiAgICAgICAgICAgICAgICBmaWx0ZXI6IGMuZmlsdGVyLA0KICAgICAgICAgICAgICAgIHJ1bjogYS5wcm94eShjLnJ1biwgdGhpcykNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0sIHRoaXMpKSwgdGhpcy5zZXR1cCgpLCB0aGlzLmluaXRpYWxpemUoKQ0KICAgIH0NCiAgICBlLkRlZmF1bHRzID0gew0KICAgICAgICBpdGVtczogMywNCiAgICAgICAgbG9vcDogITEsDQogICAgICAgIGNlbnRlcjogITEsDQogICAgICAgIHJld2luZDogITEsDQogICAgICAgIGNoZWNrVmlzaWJpbGl0eTogITAsDQogICAgICAgIG1vdXNlRHJhZzogITAsDQogICAgICAgIHRvdWNoRHJhZzogITAsDQogICAgICAgIHB1bGxEcmFnOiAhMCwNCiAgICAgICAgZnJlZURyYWc6ICExLA0KICAgICAgICBtYXJnaW46IDAsDQogICAgICAgIHN0YWdlUGFkZGluZzogMCwNCiAgICAgICAgbWVyZ2U6ICExLA0KICAgICAgICBtZXJnZUZpdDogITAsDQogICAgICAgIGF1dG9XaWR0aDogITEsDQogICAgICAgIHN0YXJ0UG9zaXRpb246IDAsDQogICAgICAgIHJ0bDogITEsDQogICAgICAgIHNtYXJ0U3BlZWQ6IDI1MCwNCiAgICAgICAgZmx1aWRTcGVlZDogITEsDQogICAgICAgIGRyYWdFbmRTcGVlZDogITEsDQogICAgICAgIHJlc3BvbnNpdmU6IHt9LA0KICAgICAgICByZXNwb25zaXZlUmVmcmVzaFJhdGU6IDIwMCwNCiAgICAgICAgcmVzcG9uc2l2ZUJhc2VFbGVtZW50OiBiLA0KICAgICAgICBmYWxsYmFja0Vhc2luZzogInN3aW5nIiwNCiAgICAgICAgc2xpZGVUcmFuc2l0aW9uOiAiIiwNCiAgICAgICAgaW5mbzogITEsDQogICAgICAgIG5lc3RlZEl0ZW1TZWxlY3RvcjogITEsDQogICAgICAgIGl0ZW1FbGVtZW50OiAiZGl2IiwNCiAgICAgICAgc3RhZ2VFbGVtZW50OiAiZGl2IiwNCiAgICAgICAgcmVmcmVzaENsYXNzOiAib3dsLXJlZnJlc2giLA0KICAgICAgICBsb2FkZWRDbGFzczogIm93bC1sb2FkZWQiLA0KICAgICAgICBsb2FkaW5nQ2xhc3M6ICJvd2wtbG9hZGluZyIsDQogICAgICAgIHJ0bENsYXNzOiAib3dsLXJ0bCIsDQogICAgICAgIHJlc3BvbnNpdmVDbGFzczogIm93bC1yZXNwb25zaXZlIiwNCiAgICAgICAgZHJhZ0NsYXNzOiAib3dsLWRyYWciLA0KICAgICAgICBpdGVtQ2xhc3M6ICJvd2wtaXRlbSIsDQogICAgICAgIHN0YWdlQ2xhc3M6ICJvd2wtc3RhZ2UiLA0KICAgICAgICBzdGFnZU91dGVyQ2xhc3M6ICJvd2wtc3RhZ2Utb3V0ZXIiLA0KICAgICAgICBncmFiQ2xhc3M6ICJvd2wtZ3JhYiINCiAgICB9LCBlLldpZHRoID0gew0KICAgICAgICBEZWZhdWx0OiAiZGVmYXVsdCIsDQogICAgICAgIElubmVyOiAiaW5uZXIiLA0KICAgICAgICBPdXRlcjogIm91dGVyIg0KICAgIH0sIGUuVHlwZSA9IHsNCiAgICAgICAgRXZlbnQ6ICJldmVudCIsDQogICAgICAgIFN0YXRlOiAic3RhdGUiDQogICAgfSwgZS5QbHVnaW5zID0ge30sIGUuV29ya2VycyA9IFt7DQogICAgICAgIGZpbHRlcjogWyJ3aWR0aCIsICJzZXR0aW5ncyJdLA0KICAgICAgICBydW46IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdGhpcy5fd2lkdGggPSB0aGlzLiRlbGVtZW50LndpZHRoKCkNCiAgICAgICAgfQ0KICAgIH0sIHsNCiAgICAgICAgZmlsdGVyOiBbIndpZHRoIiwgIml0ZW1zIiwgInNldHRpbmdzIl0sDQogICAgICAgIHJ1bjogZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgYS5jdXJyZW50ID0gdGhpcy5faXRlbXMgJiYgdGhpcy5faXRlbXNbdGhpcy5yZWxhdGl2ZSh0aGlzLl9jdXJyZW50KV0NCiAgICAgICAgfQ0KICAgIH0sIHsNCiAgICAgICAgZmlsdGVyOiBbIml0ZW1zIiwgInNldHRpbmdzIl0sDQogICAgICAgIHJ1bjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB0aGlzLiRzdGFnZS5jaGlsZHJlbigiLmNsb25lZCIpLnJlbW92ZSgpDQogICAgICAgIH0NCiAgICB9LCB7DQogICAgICAgIGZpbHRlcjogWyJ3aWR0aCIsICJpdGVtcyIsICJzZXR0aW5ncyJdLA0KICAgICAgICBydW46IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgIHZhciBiID0gdGhpcy5zZXR0aW5ncy5tYXJnaW4gfHwgIiIsDQogICAgICAgICAgICAgICAgYyA9ICF0aGlzLnNldHRpbmdzLmF1dG9XaWR0aCwNCiAgICAgICAgICAgICAgICBkID0gdGhpcy5zZXR0aW5ncy5ydGwsDQogICAgICAgICAgICAgICAgZSA9IHsNCiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICJhdXRvIiwNCiAgICAgICAgICAgICAgICAgICAgIm1hcmdpbi1sZWZ0IjogZCA/IGIgOiAiIiwNCiAgICAgICAgICAgICAgICAgICAgIm1hcmdpbi1yaWdodCI6IGQgPyAiIiA6IGINCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgIWMgJiYgdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5jc3MoZSksIGEuY3NzID0gZQ0KICAgICAgICB9DQogICAgfSwgew0KICAgICAgICBmaWx0ZXI6IFsid2lkdGgiLCAiaXRlbXMiLCAic2V0dGluZ3MiXSwNCiAgICAgICAgcnVuOiBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICB2YXIgYiA9ICh0aGlzLndpZHRoKCkgLyB0aGlzLnNldHRpbmdzLml0ZW1zKS50b0ZpeGVkKDMpIC0gdGhpcy5zZXR0aW5ncy5tYXJnaW4sDQogICAgICAgICAgICAgICAgYyA9IG51bGwsDQogICAgICAgICAgICAgICAgZCA9IHRoaXMuX2l0ZW1zLmxlbmd0aCwNCiAgICAgICAgICAgICAgICBlID0gIXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLA0KICAgICAgICAgICAgICAgIGYgPSBbXTsNCiAgICAgICAgICAgIGZvciAoYS5pdGVtcyA9IHsNCiAgICAgICAgICAgICAgICAgICAgbWVyZ2U6ICExLA0KICAgICAgICAgICAgICAgICAgICB3aWR0aDogYg0KICAgICAgICAgICAgICAgIH07IGQtLTspIGMgPSB0aGlzLl9tZXJnZXJzW2RdLCBjID0gdGhpcy5zZXR0aW5ncy5tZXJnZUZpdCAmJiBNYXRoLm1pbihjLCB0aGlzLnNldHRpbmdzLml0ZW1zKSB8fCBjLCBhLml0ZW1zLm1lcmdlID0gYyA+IDEgfHwgYS5pdGVtcy5tZXJnZSwgZltkXSA9IGUgPyBiICogYyA6IHRoaXMuX2l0ZW1zW2RdLndpZHRoKCk7DQogICAgICAgICAgICB0aGlzLl93aWR0aHMgPSBmDQogICAgICAgIH0NCiAgICB9LCB7DQogICAgICAgIGZpbHRlcjogWyJpdGVtcyIsICJzZXR0aW5ncyJdLA0KICAgICAgICBydW46IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGIgPSBbXSwNCiAgICAgICAgICAgICAgICBjID0gdGhpcy5faXRlbXMsDQogICAgICAgICAgICAgICAgZCA9IHRoaXMuc2V0dGluZ3MsDQogICAgICAgICAgICAgICAgZSA9IE1hdGgubWF4KDIgKiBkLml0ZW1zLCA0KSwNCiAgICAgICAgICAgICAgICBmID0gMiAqIE1hdGguY2VpbChjLmxlbmd0aCAvIDIpLA0KICAgICAgICAgICAgICAgIGcgPSBkLmxvb3AgJiYgYy5sZW5ndGggPyBkLnJld2luZCA/IGUgOiBNYXRoLm1heChlLCBmKSA6IDAsDQogICAgICAgICAgICAgICAgaCA9ICIiLA0KICAgICAgICAgICAgICAgIGkgPSAiIjsNCiAgICAgICAgICAgIGZvciAoZyAvPSAyOyBnID4gMDspIGIucHVzaCh0aGlzLm5vcm1hbGl6ZShiLmxlbmd0aCAvIDIsICEwKSksIGggKz0gY1tiW2IubGVuZ3RoIC0gMV1dWzBdLm91dGVySFRNTCwgYi5wdXNoKHRoaXMubm9ybWFsaXplKGMubGVuZ3RoIC0gMSAtIChiLmxlbmd0aCAtIDEpIC8gMiwgITApKSwgaSA9IGNbYltiLmxlbmd0aCAtIDFdXVswXS5vdXRlckhUTUwgKyBpLCBnIC09IDE7DQogICAgICAgICAgICB0aGlzLl9jbG9uZXMgPSBiLCBhKGgpLmFkZENsYXNzKCJjbG9uZWQiKS5hcHBlbmRUbyh0aGlzLiRzdGFnZSksIGEoaSkuYWRkQ2xhc3MoImNsb25lZCIpLnByZXBlbmRUbyh0aGlzLiRzdGFnZSkNCiAgICAgICAgfQ0KICAgIH0sIHsNCiAgICAgICAgZmlsdGVyOiBbIndpZHRoIiwgIml0ZW1zIiwgInNldHRpbmdzIl0sDQogICAgICAgIHJ1bjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBmb3IgKHZhciBhID0gdGhpcy5zZXR0aW5ncy5ydGwgPyAxIDogLTEsIGIgPSB0aGlzLl9jbG9uZXMubGVuZ3RoICsgdGhpcy5faXRlbXMubGVuZ3RoLCBjID0gLTEsIGQgPSAwLCBlID0gMCwgZiA9IFtdOyArK2MgPCBiOykgZCA9IGZbYyAtIDFdIHx8IDAsIGUgPSB0aGlzLl93aWR0aHNbdGhpcy5yZWxhdGl2ZShjKV0gKyB0aGlzLnNldHRpbmdzLm1hcmdpbiwgZi5wdXNoKGQgKyBlICogYSk7DQogICAgICAgICAgICB0aGlzLl9jb29yZGluYXRlcyA9IGYNCiAgICAgICAgfQ0KICAgIH0sIHsNCiAgICAgICAgZmlsdGVyOiBbIndpZHRoIiwgIml0ZW1zIiwgInNldHRpbmdzIl0sDQogICAgICAgIHJ1bjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nLA0KICAgICAgICAgICAgICAgIGIgPSB0aGlzLl9jb29yZGluYXRlcywNCiAgICAgICAgICAgICAgICBjID0gew0KICAgICAgICAgICAgICAgICAgICB3aWR0aDogTWF0aC5jZWlsKE1hdGguYWJzKGJbYi5sZW5ndGggLSAxXSkpICsgMiAqIGEsDQogICAgICAgICAgICAgICAgICAgICJwYWRkaW5nLWxlZnQiOiBhIHx8ICIiLA0KICAgICAgICAgICAgICAgICAgICAicGFkZGluZy1yaWdodCI6IGEgfHwgIiINCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdGhpcy4kc3RhZ2UuY3NzKGMpDQogICAgICAgIH0NCiAgICB9LCB7DQogICAgICAgIGZpbHRlcjogWyJ3aWR0aCIsICJpdGVtcyIsICJzZXR0aW5ncyJdLA0KICAgICAgICBydW46IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgIHZhciBiID0gdGhpcy5fY29vcmRpbmF0ZXMubGVuZ3RoLA0KICAgICAgICAgICAgICAgIGMgPSAhdGhpcy5zZXR0aW5ncy5hdXRvV2lkdGgsDQogICAgICAgICAgICAgICAgZCA9IHRoaXMuJHN0YWdlLmNoaWxkcmVuKCk7DQogICAgICAgICAgICBpZiAoYyAmJiBhLml0ZW1zLm1lcmdlKQ0KICAgICAgICAgICAgICAgIGZvciAoOyBiLS07KSBhLmNzcy53aWR0aCA9IHRoaXMuX3dpZHRoc1t0aGlzLnJlbGF0aXZlKGIpXSwgZC5lcShiKS5jc3MoYS5jc3MpOw0KICAgICAgICAgICAgZWxzZSBjICYmIChhLmNzcy53aWR0aCA9IGEuaXRlbXMud2lkdGgsIGQuY3NzKGEuY3NzKSkNCiAgICAgICAgfQ0KICAgIH0sIHsNCiAgICAgICAgZmlsdGVyOiBbIml0ZW1zIl0sDQogICAgICAgIHJ1bjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB0aGlzLl9jb29yZGluYXRlcy5sZW5ndGggPCAxICYmIHRoaXMuJHN0YWdlLnJlbW92ZUF0dHIoInN0eWxlIikNCiAgICAgICAgfQ0KICAgIH0sIHsNCiAgICAgICAgZmlsdGVyOiBbIndpZHRoIiwgIml0ZW1zIiwgInNldHRpbmdzIl0sDQogICAgICAgIHJ1bjogZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgYS5jdXJyZW50ID0gYS5jdXJyZW50ID8gdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5pbmRleChhLmN1cnJlbnQpIDogMCwgYS5jdXJyZW50ID0gTWF0aC5tYXgodGhpcy5taW5pbXVtKCksIE1hdGgubWluKHRoaXMubWF4aW11bSgpLCBhLmN1cnJlbnQpKSwgdGhpcy5yZXNldChhLmN1cnJlbnQpDQogICAgICAgIH0NCiAgICB9LCB7DQogICAgICAgIGZpbHRlcjogWyJwb3NpdGlvbiJdLA0KICAgICAgICBydW46IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdGhpcy5hbmltYXRlKHRoaXMuY29vcmRpbmF0ZXModGhpcy5fY3VycmVudCkpDQogICAgICAgIH0NCiAgICB9LCB7DQogICAgICAgIGZpbHRlcjogWyJ3aWR0aCIsICJwb3NpdGlvbiIsICJpdGVtcyIsICJzZXR0aW5ncyJdLA0KICAgICAgICBydW46IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGEsIGIsIGMsIGQsIGUgPSB0aGlzLnNldHRpbmdzLnJ0bCA/IDEgOiAtMSwNCiAgICAgICAgICAgICAgICBmID0gMiAqIHRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nLA0KICAgICAgICAgICAgICAgIGcgPSB0aGlzLmNvb3JkaW5hdGVzKHRoaXMuY3VycmVudCgpKSArIGYsDQogICAgICAgICAgICAgICAgaCA9IGcgKyB0aGlzLndpZHRoKCkgKiBlLA0KICAgICAgICAgICAgICAgIGkgPSBbXTsNCiAgICAgICAgICAgIGZvciAoYyA9IDAsIGQgPSB0aGlzLl9jb29yZGluYXRlcy5sZW5ndGg7IGMgPCBkOyBjKyspIGEgPSB0aGlzLl9jb29yZGluYXRlc1tjIC0gMV0gfHwgMCwgYiA9IE1hdGguYWJzKHRoaXMuX2Nvb3JkaW5hdGVzW2NdKSArIGYgKiBlLCAodGhpcy5vcChhLCAiPD0iLCBnKSAmJiB0aGlzLm9wKGEsICI+IiwgaCkgfHwgdGhpcy5vcChiLCAiPCIsIGcpICYmIHRoaXMub3AoYiwgIj4iLCBoKSkgJiYgaS5wdXNoKGMpOw0KICAgICAgICAgICAgdGhpcy4kc3RhZ2UuY2hpbGRyZW4oIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksIHRoaXMuJHN0YWdlLmNoaWxkcmVuKCI6ZXEoIiArIGkuam9pbigiKSwgOmVxKCIpICsgIikiKS5hZGRDbGFzcygiYWN0aXZlIiksIHRoaXMuJHN0YWdlLmNoaWxkcmVuKCIuY2VudGVyIikucmVtb3ZlQ2xhc3MoImNlbnRlciIpLCB0aGlzLnNldHRpbmdzLmNlbnRlciAmJiB0aGlzLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMuY3VycmVudCgpKS5hZGRDbGFzcygiY2VudGVyIikNCiAgICAgICAgfQ0KICAgIH1dLCBlLnByb3RvdHlwZS5pbml0aWFsaXplU3RhZ2UgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdGhpcy4kc3RhZ2UgPSB0aGlzLiRlbGVtZW50LmZpbmQoIi4iICsgdGhpcy5zZXR0aW5ncy5zdGFnZUNsYXNzKSwgdGhpcy4kc3RhZ2UubGVuZ3RoIHx8ICh0aGlzLiRlbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5sb2FkaW5nQ2xhc3MpLCB0aGlzLiRzdGFnZSA9IGEoIjwiICsgdGhpcy5zZXR0aW5ncy5zdGFnZUVsZW1lbnQgKyAiPiIsIHsNCiAgICAgICAgICAgIGNsYXNzOiB0aGlzLnNldHRpbmdzLnN0YWdlQ2xhc3MNCiAgICAgICAgfSkud3JhcChhKCI8ZGl2Lz4iLCB7DQogICAgICAgICAgICBjbGFzczogdGhpcy5zZXR0aW5ncy5zdGFnZU91dGVyQ2xhc3MNCiAgICAgICAgfSkpLCB0aGlzLiRlbGVtZW50LmFwcGVuZCh0aGlzLiRzdGFnZS5wYXJlbnQoKSkpDQogICAgfSwgZS5wcm90b3R5cGUuaW5pdGlhbGl6ZUl0ZW1zID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBiID0gdGhpcy4kZWxlbWVudC5maW5kKCIub3dsLWl0ZW0iKTsNCiAgICAgICAgaWYgKGIubGVuZ3RoKSByZXR1cm4gdGhpcy5faXRlbXMgPSBiLmdldCgpLm1hcChmdW5jdGlvbihiKSB7DQogICAgICAgICAgICByZXR1cm4gYShiKQ0KICAgICAgICB9KSwgdGhpcy5fbWVyZ2VycyA9IHRoaXMuX2l0ZW1zLm1hcChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiAxDQogICAgICAgIH0pLCB2b2lkIHRoaXMucmVmcmVzaCgpOw0KICAgICAgICB0aGlzLnJlcGxhY2UodGhpcy4kZWxlbWVudC5jaGlsZHJlbigpLm5vdCh0aGlzLiRzdGFnZS5wYXJlbnQoKSkpLCB0aGlzLmlzVmlzaWJsZSgpID8gdGhpcy5yZWZyZXNoKCkgOiB0aGlzLmludmFsaWRhdGUoIndpZHRoIiksIHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRpbmdDbGFzcykuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRlZENsYXNzKQ0KICAgIH0sIGUucHJvdG90eXBlLmluaXRpYWxpemUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgaWYgKHRoaXMuZW50ZXIoImluaXRpYWxpemluZyIpLCB0aGlzLnRyaWdnZXIoImluaXRpYWxpemUiKSwgdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcyh0aGlzLnNldHRpbmdzLnJ0bENsYXNzLCB0aGlzLnNldHRpbmdzLnJ0bCksIHRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoICYmICF0aGlzLmlzKCJwcmUtbG9hZGluZyIpKSB7DQogICAgICAgICAgICB2YXIgYSwgYiwgYzsNCiAgICAgICAgICAgIGEgPSB0aGlzLiRlbGVtZW50LmZpbmQoImltZyIpLCBiID0gdGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3IgPyAiLiIgKyB0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvciA6IGQsIGMgPSB0aGlzLiRlbGVtZW50LmNoaWxkcmVuKGIpLndpZHRoKCksIGEubGVuZ3RoICYmIGMgPD0gMCAmJiB0aGlzLnByZWxvYWRBdXRvV2lkdGhJbWFnZXMoYSkNCiAgICAgICAgfQ0KICAgICAgICB0aGlzLmluaXRpYWxpemVTdGFnZSgpLCB0aGlzLmluaXRpYWxpemVJdGVtcygpLCB0aGlzLnJlZ2lzdGVyRXZlbnRIYW5kbGVycygpLCB0aGlzLmxlYXZlKCJpbml0aWFsaXppbmciKSwgdGhpcy50cmlnZ2VyKCJpbml0aWFsaXplZCIpDQogICAgfSwgZS5wcm90b3R5cGUuaXNWaXNpYmxlID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiAhdGhpcy5zZXR0aW5ncy5jaGVja1Zpc2liaWxpdHkgfHwgdGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKQ0KICAgIH0sIGUucHJvdG90eXBlLnNldHVwID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBiID0gdGhpcy52aWV3cG9ydCgpLA0KICAgICAgICAgICAgYyA9IHRoaXMub3B0aW9ucy5yZXNwb25zaXZlLA0KICAgICAgICAgICAgZCA9IC0xLA0KICAgICAgICAgICAgZSA9IG51bGw7DQogICAgICAgIGMgPyAoYS5lYWNoKGMsIGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgIGEgPD0gYiAmJiBhID4gZCAmJiAoZCA9IE51bWJlcihhKSkNCiAgICAgICAgfSksIGUgPSBhLmV4dGVuZCh7fSwgdGhpcy5vcHRpb25zLCBjW2RdKSwgImZ1bmN0aW9uIiA9PSB0eXBlb2YgZS5zdGFnZVBhZGRpbmcgJiYgKGUuc3RhZ2VQYWRkaW5nID0gZS5zdGFnZVBhZGRpbmcoKSksIGRlbGV0ZSBlLnJlc3BvbnNpdmUsIGUucmVzcG9uc2l2ZUNsYXNzICYmIHRoaXMuJGVsZW1lbnQuYXR0cigiY2xhc3MiLCB0aGlzLiRlbGVtZW50LmF0dHIoImNsYXNzIikucmVwbGFjZShuZXcgUmVnRXhwKCIoIiArIHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQ2xhc3MgKyAiLSlcXFMrXFxzIiwgImciKSwgIiQxIiArIGQpKSkgOiBlID0gYS5leHRlbmQoe30sIHRoaXMub3B0aW9ucyksIHRoaXMudHJpZ2dlcigiY2hhbmdlIiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBuYW1lOiAic2V0dGluZ3MiLA0KICAgICAgICAgICAgICAgIHZhbHVlOiBlDQogICAgICAgICAgICB9DQogICAgICAgIH0pLCB0aGlzLl9icmVha3BvaW50ID0gZCwgdGhpcy5zZXR0aW5ncyA9IGUsIHRoaXMuaW52YWxpZGF0ZSgic2V0dGluZ3MiKSwgdGhpcy50cmlnZ2VyKCJjaGFuZ2VkIiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBuYW1lOiAic2V0dGluZ3MiLA0KICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNldHRpbmdzDQogICAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgfSwgZS5wcm90b3R5cGUub3B0aW9uc0xvZ2ljID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoICYmICh0aGlzLnNldHRpbmdzLnN0YWdlUGFkZGluZyA9ICExLCB0aGlzLnNldHRpbmdzLm1lcmdlID0gITEpDQogICAgfSwgZS5wcm90b3R5cGUucHJlcGFyZSA9IGZ1bmN0aW9uKGIpIHsNCiAgICAgICAgdmFyIGMgPSB0aGlzLnRyaWdnZXIoInByZXBhcmUiLCB7DQogICAgICAgICAgICBjb250ZW50OiBiDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYy5kYXRhIHx8IChjLmRhdGEgPSBhKCI8IiArIHRoaXMuc2V0dGluZ3MuaXRlbUVsZW1lbnQgKyAiLz4iKS5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuaXRlbUNsYXNzKS5hcHBlbmQoYikpLCB0aGlzLnRyaWdnZXIoInByZXBhcmVkIiwgew0KICAgICAgICAgICAgY29udGVudDogYy5kYXRhDQogICAgICAgIH0pLCBjLmRhdGENCiAgICB9LCBlLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgZm9yICh2YXIgYiA9IDAsIGMgPSB0aGlzLl9waXBlLmxlbmd0aCwgZCA9IGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW2FdDQogICAgICAgICAgICB9LCB0aGlzLl9pbnZhbGlkYXRlZCksIGUgPSB7fTsgYiA8IGM7KSh0aGlzLl9pbnZhbGlkYXRlZC5hbGwgfHwgYS5ncmVwKHRoaXMuX3BpcGVbYl0uZmlsdGVyLCBkKS5sZW5ndGggPiAwKSAmJiB0aGlzLl9waXBlW2JdLnJ1bihlKSwgYisrOw0KICAgICAgICB0aGlzLl9pbnZhbGlkYXRlZCA9IHt9LCAhdGhpcy5pcygidmFsaWQiKSAmJiB0aGlzLmVudGVyKCJ2YWxpZCIpDQogICAgfSwgZS5wcm90b3R5cGUud2lkdGggPSBmdW5jdGlvbihhKSB7DQogICAgICAgIHN3aXRjaCAoYSA9IGEgfHwgZS5XaWR0aC5EZWZhdWx0KSB7DQogICAgICAgICAgICBjYXNlIGUuV2lkdGguSW5uZXI6DQogICAgICAgICAgICBjYXNlIGUuV2lkdGguT3V0ZXI6DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3dpZHRoOw0KICAgICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fd2lkdGggLSAyICogdGhpcy5zZXR0aW5ncy5zdGFnZVBhZGRpbmcgKyB0aGlzLnNldHRpbmdzLm1hcmdpbg0KICAgICAgICB9DQogICAgfSwgZS5wcm90b3R5cGUucmVmcmVzaCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICB0aGlzLmVudGVyKCJyZWZyZXNoaW5nIiksIHRoaXMudHJpZ2dlcigicmVmcmVzaCIpLCB0aGlzLnNldHVwKCksIHRoaXMub3B0aW9uc0xvZ2ljKCksIHRoaXMuJGVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLnJlZnJlc2hDbGFzcyksIHRoaXMudXBkYXRlKCksIHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLnJlZnJlc2hDbGFzcyksIHRoaXMubGVhdmUoInJlZnJlc2hpbmciKSwgdGhpcy50cmlnZ2VyKCJyZWZyZXNoZWQiKQ0KICAgIH0sIGUucHJvdG90eXBlLm9uVGhyb3R0bGVkUmVzaXplID0gZnVuY3Rpb24oKSB7DQogICAgICAgIGIuY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZXIpLCB0aGlzLnJlc2l6ZVRpbWVyID0gYi5zZXRUaW1lb3V0KHRoaXMuX2hhbmRsZXJzLm9uUmVzaXplLCB0aGlzLnNldHRpbmdzLnJlc3BvbnNpdmVSZWZyZXNoUmF0ZSkNCiAgICB9LCBlLnByb3RvdHlwZS5vblJlc2l6ZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICByZXR1cm4gISF0aGlzLl9pdGVtcy5sZW5ndGggJiYgKHRoaXMuX3dpZHRoICE9PSB0aGlzLiRlbGVtZW50LndpZHRoKCkgJiYgKCEhdGhpcy5pc1Zpc2libGUoKSAmJiAodGhpcy5lbnRlcigicmVzaXppbmciKSwgdGhpcy50cmlnZ2VyKCJyZXNpemUiKS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSA/ICh0aGlzLmxlYXZlKCJyZXNpemluZyIpLCAhMSkgOiAodGhpcy5pbnZhbGlkYXRlKCJ3aWR0aCIpLCB0aGlzLnJlZnJlc2goKSwgdGhpcy5sZWF2ZSgicmVzaXppbmciKSwgdm9pZCB0aGlzLnRyaWdnZXIoInJlc2l6ZWQiKSkpKSkNCiAgICB9LCBlLnByb3RvdHlwZS5yZWdpc3RlckV2ZW50SGFuZGxlcnMgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgYS5zdXBwb3J0LnRyYW5zaXRpb24gJiYgdGhpcy4kc3RhZ2Uub24oYS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kICsgIi5vd2wuY29yZSIsIGEucHJveHkodGhpcy5vblRyYW5zaXRpb25FbmQsIHRoaXMpKSwgITEgIT09IHRoaXMuc2V0dGluZ3MucmVzcG9uc2l2ZSAmJiB0aGlzLm9uKGIsICJyZXNpemUiLCB0aGlzLl9oYW5kbGVycy5vblRocm90dGxlZFJlc2l6ZSksIHRoaXMuc2V0dGluZ3MubW91c2VEcmFnICYmICh0aGlzLiRlbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5kcmFnQ2xhc3MpLCB0aGlzLiRzdGFnZS5vbigibW91c2Vkb3duLm93bC5jb3JlIiwgYS5wcm94eSh0aGlzLm9uRHJhZ1N0YXJ0LCB0aGlzKSksIHRoaXMuJHN0YWdlLm9uKCJkcmFnc3RhcnQub3dsLmNvcmUgc2VsZWN0c3RhcnQub3dsLmNvcmUiLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiAhMQ0KICAgICAgICB9KSksIHRoaXMuc2V0dGluZ3MudG91Y2hEcmFnICYmICh0aGlzLiRzdGFnZS5vbigidG91Y2hzdGFydC5vd2wuY29yZSIsIGEucHJveHkodGhpcy5vbkRyYWdTdGFydCwgdGhpcykpLCB0aGlzLiRzdGFnZS5vbigidG91Y2hjYW5jZWwub3dsLmNvcmUiLCBhLnByb3h5KHRoaXMub25EcmFnRW5kLCB0aGlzKSkpDQogICAgfSwgZS5wcm90b3R5cGUub25EcmFnU3RhcnQgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIHZhciBkID0gbnVsbDsNCiAgICAgICAgMyAhPT0gYi53aGljaCAmJiAoYS5zdXBwb3J0LnRyYW5zZm9ybSA/IChkID0gdGhpcy4kc3RhZ2UuY3NzKCJ0cmFuc2Zvcm0iKS5yZXBsYWNlKC8uKlwofFwpfCAvZywgIiIpLnNwbGl0KCIsIiksIGQgPSB7DQogICAgICAgICAgICB4OiBkWzE2ID09PSBkLmxlbmd0aCA/IDEyIDogNF0sDQogICAgICAgICAgICB5OiBkWzE2ID09PSBkLmxlbmd0aCA/IDEzIDogNV0NCiAgICAgICAgfSkgOiAoZCA9IHRoaXMuJHN0YWdlLnBvc2l0aW9uKCksIGQgPSB7DQogICAgICAgICAgICB4OiB0aGlzLnNldHRpbmdzLnJ0bCA/IGQubGVmdCArIHRoaXMuJHN0YWdlLndpZHRoKCkgLSB0aGlzLndpZHRoKCkgKyB0aGlzLnNldHRpbmdzLm1hcmdpbiA6IGQubGVmdCwNCiAgICAgICAgICAgIHk6IGQudG9wDQogICAgICAgIH0pLCB0aGlzLmlzKCJhbmltYXRpbmciKSAmJiAoYS5zdXBwb3J0LnRyYW5zZm9ybSA/IHRoaXMuYW5pbWF0ZShkLngpIDogdGhpcy4kc3RhZ2Uuc3RvcCgpLCB0aGlzLmludmFsaWRhdGUoInBvc2l0aW9uIikpLCB0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKHRoaXMub3B0aW9ucy5ncmFiQ2xhc3MsICJtb3VzZWRvd24iID09PSBiLnR5cGUpLCB0aGlzLnNwZWVkKDApLCB0aGlzLl9kcmFnLnRpbWUgPSAobmV3IERhdGUpLmdldFRpbWUoKSwgdGhpcy5fZHJhZy50YXJnZXQgPSBhKGIudGFyZ2V0KSwgdGhpcy5fZHJhZy5zdGFnZS5zdGFydCA9IGQsIHRoaXMuX2RyYWcuc3RhZ2UuY3VycmVudCA9IGQsIHRoaXMuX2RyYWcucG9pbnRlciA9IHRoaXMucG9pbnRlcihiKSwgYShjKS5vbigibW91c2V1cC5vd2wuY29yZSB0b3VjaGVuZC5vd2wuY29yZSIsIGEucHJveHkodGhpcy5vbkRyYWdFbmQsIHRoaXMpKSwgYShjKS5vbmUoIm1vdXNlbW92ZS5vd2wuY29yZSB0b3VjaG1vdmUub3dsLmNvcmUiLCBhLnByb3h5KGZ1bmN0aW9uKGIpIHsNCiAgICAgICAgICAgIHZhciBkID0gdGhpcy5kaWZmZXJlbmNlKHRoaXMuX2RyYWcucG9pbnRlciwgdGhpcy5wb2ludGVyKGIpKTsNCiAgICAgICAgICAgIGEoYykub24oIm1vdXNlbW92ZS5vd2wuY29yZSB0b3VjaG1vdmUub3dsLmNvcmUiLCBhLnByb3h5KHRoaXMub25EcmFnTW92ZSwgdGhpcykpLCBNYXRoLmFicyhkLngpIDwgTWF0aC5hYnMoZC55KSAmJiB0aGlzLmlzKCJ2YWxpZCIpIHx8IChiLnByZXZlbnREZWZhdWx0KCksIHRoaXMuZW50ZXIoImRyYWdnaW5nIiksIHRoaXMudHJpZ2dlcigiZHJhZyIpKQ0KICAgICAgICB9LCB0aGlzKSkpDQogICAgfSwgZS5wcm90b3R5cGUub25EcmFnTW92ZSA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgdmFyIGIgPSBudWxsLA0KICAgICAgICAgICAgYyA9IG51bGwsDQogICAgICAgICAgICBkID0gbnVsbCwNCiAgICAgICAgICAgIGUgPSB0aGlzLmRpZmZlcmVuY2UodGhpcy5fZHJhZy5wb2ludGVyLCB0aGlzLnBvaW50ZXIoYSkpLA0KICAgICAgICAgICAgZiA9IHRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnN0YWdlLnN0YXJ0LCBlKTsNCiAgICAgICAgdGhpcy5pcygiZHJhZ2dpbmciKSAmJiAoYS5wcmV2ZW50RGVmYXVsdCgpLCB0aGlzLnNldHRpbmdzLmxvb3AgPyAoYiA9IHRoaXMuY29vcmRpbmF0ZXModGhpcy5taW5pbXVtKCkpLCBjID0gdGhpcy5jb29yZGluYXRlcyh0aGlzLm1heGltdW0oKSArIDEpIC0gYiwgZi54ID0gKChmLnggLSBiKSAlIGMgKyBjKSAlIGMgKyBiKSA6IChiID0gdGhpcy5zZXR0aW5ncy5ydGwgPyB0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWF4aW11bSgpKSA6IHRoaXMuY29vcmRpbmF0ZXModGhpcy5taW5pbXVtKCkpLCBjID0gdGhpcy5zZXR0aW5ncy5ydGwgPyB0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWluaW11bSgpKSA6IHRoaXMuY29vcmRpbmF0ZXModGhpcy5tYXhpbXVtKCkpLCBkID0gdGhpcy5zZXR0aW5ncy5wdWxsRHJhZyA/IC0xICogZS54IC8gNSA6IDAsIGYueCA9IE1hdGgubWF4KE1hdGgubWluKGYueCwgYiArIGQpLCBjICsgZCkpLCB0aGlzLl9kcmFnLnN0YWdlLmN1cnJlbnQgPSBmLCB0aGlzLmFuaW1hdGUoZi54KSkNCiAgICB9LCBlLnByb3RvdHlwZS5vbkRyYWdFbmQgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIHZhciBkID0gdGhpcy5kaWZmZXJlbmNlKHRoaXMuX2RyYWcucG9pbnRlciwgdGhpcy5wb2ludGVyKGIpKSwNCiAgICAgICAgICAgIGUgPSB0aGlzLl9kcmFnLnN0YWdlLmN1cnJlbnQsDQogICAgICAgICAgICBmID0gZC54ID4gMCBeIHRoaXMuc2V0dGluZ3MucnRsID8gImxlZnQiIDogInJpZ2h0IjsNCiAgICAgICAgYShjKS5vZmYoIi5vd2wuY29yZSIpLCB0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ncmFiQ2xhc3MpLCAoMCAhPT0gZC54ICYmIHRoaXMuaXMoImRyYWdnaW5nIikgfHwgIXRoaXMuaXMoInZhbGlkIikpICYmICh0aGlzLnNwZWVkKHRoaXMuc2V0dGluZ3MuZHJhZ0VuZFNwZWVkIHx8IHRoaXMuc2V0dGluZ3Muc21hcnRTcGVlZCksIHRoaXMuY3VycmVudCh0aGlzLmNsb3Nlc3QoZS54LCAwICE9PSBkLnggPyBmIDogdGhpcy5fZHJhZy5kaXJlY3Rpb24pKSwgdGhpcy5pbnZhbGlkYXRlKCJwb3NpdGlvbiIpLCB0aGlzLnVwZGF0ZSgpLCB0aGlzLl9kcmFnLmRpcmVjdGlvbiA9IGYsIChNYXRoLmFicyhkLngpID4gMyB8fCAobmV3IERhdGUpLmdldFRpbWUoKSAtIHRoaXMuX2RyYWcudGltZSA+IDMwMCkgJiYgdGhpcy5fZHJhZy50YXJnZXQub25lKCJjbGljay5vd2wuY29yZSIsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuICExDQogICAgICAgIH0pKSwgdGhpcy5pcygiZHJhZ2dpbmciKSAmJiAodGhpcy5sZWF2ZSgiZHJhZ2dpbmciKSwgdGhpcy50cmlnZ2VyKCJkcmFnZ2VkIikpDQogICAgfSwgZS5wcm90b3R5cGUuY2xvc2VzdCA9IGZ1bmN0aW9uKGIsIGMpIHsNCiAgICAgICAgdmFyIGUgPSAtMSwNCiAgICAgICAgICAgIGYgPSAzMCwNCiAgICAgICAgICAgIGcgPSB0aGlzLndpZHRoKCksDQogICAgICAgICAgICBoID0gdGhpcy5jb29yZGluYXRlcygpOw0KICAgICAgICByZXR1cm4gdGhpcy5zZXR0aW5ncy5mcmVlRHJhZyB8fCBhLmVhY2goaCwgYS5wcm94eShmdW5jdGlvbihhLCBpKSB7DQogICAgICAgICAgICByZXR1cm4gImxlZnQiID09PSBjICYmIGIgPiBpIC0gZiAmJiBiIDwgaSArIGYgPyBlID0gYSA6ICJyaWdodCIgPT09IGMgJiYgYiA+IGkgLSBnIC0gZiAmJiBiIDwgaSAtIGcgKyBmID8gZSA9IGEgKyAxIDogdGhpcy5vcChiLCAiPCIsIGkpICYmIHRoaXMub3AoYiwgIj4iLCBoW2EgKyAxXSAhPT0gZCA/IGhbYSArIDFdIDogaSAtIGcpICYmIChlID0gImxlZnQiID09PSBjID8gYSArIDEgOiBhKSwgLTEgPT09IGUNCiAgICAgICAgfSwgdGhpcykpLCB0aGlzLnNldHRpbmdzLmxvb3AgfHwgKHRoaXMub3AoYiwgIj4iLCBoW3RoaXMubWluaW11bSgpXSkgPyBlID0gYiA9IHRoaXMubWluaW11bSgpIDogdGhpcy5vcChiLCAiPCIsIGhbdGhpcy5tYXhpbXVtKCldKSAmJiAoZSA9IGIgPSB0aGlzLm1heGltdW0oKSkpLCBlDQogICAgfSwgZS5wcm90b3R5cGUuYW5pbWF0ZSA9IGZ1bmN0aW9uKGIpIHsNCiAgICAgICAgdmFyIGMgPSB0aGlzLnNwZWVkKCkgPiAwOw0KICAgICAgICB0aGlzLmlzKCJhbmltYXRpbmciKSAmJiB0aGlzLm9uVHJhbnNpdGlvbkVuZCgpLCBjICYmICh0aGlzLmVudGVyKCJhbmltYXRpbmciKSwgdGhpcy50cmlnZ2VyKCJ0cmFuc2xhdGUiKSksIGEuc3VwcG9ydC50cmFuc2Zvcm0zZCAmJiBhLnN1cHBvcnQudHJhbnNpdGlvbiA/IHRoaXMuJHN0YWdlLmNzcyh7DQogICAgICAgICAgICB0cmFuc2Zvcm06ICJ0cmFuc2xhdGUzZCgiICsgYiArICJweCwwcHgsMHB4KSIsDQogICAgICAgICAgICB0cmFuc2l0aW9uOiB0aGlzLnNwZWVkKCkgLyAxZTMgKyAicyIgKyAodGhpcy5zZXR0aW5ncy5zbGlkZVRyYW5zaXRpb24gPyAiICIgKyB0aGlzLnNldHRpbmdzLnNsaWRlVHJhbnNpdGlvbiA6ICIiKQ0KICAgICAgICB9KSA6IGMgPyB0aGlzLiRzdGFnZS5hbmltYXRlKHsNCiAgICAgICAgICAgIGxlZnQ6IGIgKyAicHgiDQogICAgICAgIH0sIHRoaXMuc3BlZWQoKSwgdGhpcy5zZXR0aW5ncy5mYWxsYmFja0Vhc2luZywgYS5wcm94eSh0aGlzLm9uVHJhbnNpdGlvbkVuZCwgdGhpcykpIDogdGhpcy4kc3RhZ2UuY3NzKHsNCiAgICAgICAgICAgIGxlZnQ6IGIgKyAicHgiDQogICAgICAgIH0pDQogICAgfSwgZS5wcm90b3R5cGUuaXMgPSBmdW5jdGlvbihhKSB7DQogICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZXMuY3VycmVudFthXSAmJiB0aGlzLl9zdGF0ZXMuY3VycmVudFthXSA+IDANCiAgICB9LCBlLnByb3RvdHlwZS5jdXJyZW50ID0gZnVuY3Rpb24oYSkgew0KICAgICAgICBpZiAoYSA9PT0gZCkgcmV0dXJuIHRoaXMuX2N1cnJlbnQ7DQogICAgICAgIGlmICgwID09PSB0aGlzLl9pdGVtcy5sZW5ndGgpIHJldHVybiBkOw0KICAgICAgICBpZiAoYSA9IHRoaXMubm9ybWFsaXplKGEpLCB0aGlzLl9jdXJyZW50ICE9PSBhKSB7DQogICAgICAgICAgICB2YXIgYiA9IHRoaXMudHJpZ2dlcigiY2hhbmdlIiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIG5hbWU6ICJwb3NpdGlvbiIsDQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBhDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBiLmRhdGEgIT09IGQgJiYgKGEgPSB0aGlzLm5vcm1hbGl6ZShiLmRhdGEpKSwgdGhpcy5fY3VycmVudCA9IGEsIHRoaXMuaW52YWxpZGF0ZSgicG9zaXRpb24iKSwgdGhpcy50cmlnZ2VyKCJjaGFuZ2VkIiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIG5hbWU6ICJwb3NpdGlvbiIsDQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl9jdXJyZW50DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudA0KICAgIH0sIGUucHJvdG90eXBlLmludmFsaWRhdGUgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIHJldHVybiAic3RyaW5nIiA9PT0gYS50eXBlKGIpICYmICh0aGlzLl9pbnZhbGlkYXRlZFtiXSA9ICEwLCB0aGlzLmlzKCJ2YWxpZCIpICYmIHRoaXMubGVhdmUoInZhbGlkIikpLCBhLm1hcCh0aGlzLl9pbnZhbGlkYXRlZCwgZnVuY3Rpb24oYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGINCiAgICAgICAgfSkNCiAgICB9LCBlLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgKGEgPSB0aGlzLm5vcm1hbGl6ZShhKSkgIT09IGQgJiYgKHRoaXMuX3NwZWVkID0gMCwgdGhpcy5fY3VycmVudCA9IGEsIHRoaXMuc3VwcHJlc3MoWyJ0cmFuc2xhdGUiLCAidHJhbnNsYXRlZCJdKSwgdGhpcy5hbmltYXRlKHRoaXMuY29vcmRpbmF0ZXMoYSkpLCB0aGlzLnJlbGVhc2UoWyJ0cmFuc2xhdGUiLCAidHJhbnNsYXRlZCJdKSkNCiAgICB9LCBlLnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbihhLCBiKSB7DQogICAgICAgIHZhciBjID0gdGhpcy5faXRlbXMubGVuZ3RoLA0KICAgICAgICAgICAgZSA9IGIgPyAwIDogdGhpcy5fY2xvbmVzLmxlbmd0aDsNCiAgICAgICAgcmV0dXJuICF0aGlzLmlzTnVtZXJpYyhhKSB8fCBjIDwgMSA/IGEgPSBkIDogKGEgPCAwIHx8IGEgPj0gYyArIGUpICYmIChhID0gKChhIC0gZSAvIDIpICUgYyArIGMpICUgYyArIGUgLyAyKSwgYQ0KICAgIH0sIGUucHJvdG90eXBlLnJlbGF0aXZlID0gZnVuY3Rpb24oYSkgew0KICAgICAgICByZXR1cm4gYSAtPSB0aGlzLl9jbG9uZXMubGVuZ3RoIC8gMiwgdGhpcy5ub3JtYWxpemUoYSwgITApDQogICAgfSwgZS5wcm90b3R5cGUubWF4aW11bSA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgdmFyIGIsIGMsIGQsIGUgPSB0aGlzLnNldHRpbmdzLA0KICAgICAgICAgICAgZiA9IHRoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aDsNCiAgICAgICAgaWYgKGUubG9vcCkgZiA9IHRoaXMuX2Nsb25lcy5sZW5ndGggLyAyICsgdGhpcy5faXRlbXMubGVuZ3RoIC0gMTsNCiAgICAgICAgZWxzZSBpZiAoZS5hdXRvV2lkdGggfHwgZS5tZXJnZSkgew0KICAgICAgICAgICAgaWYgKGIgPSB0aGlzLl9pdGVtcy5sZW5ndGgpDQogICAgICAgICAgICAgICAgZm9yIChjID0gdGhpcy5faXRlbXNbLS1iXS53aWR0aCgpLCBkID0gdGhpcy4kZWxlbWVudC53aWR0aCgpOyBiLS0gJiYgISgoYyArPSB0aGlzLl9pdGVtc1tiXS53aWR0aCgpICsgdGhpcy5zZXR0aW5ncy5tYXJnaW4pID4gZCk7KTsNCiAgICAgICAgICAgIGYgPSBiICsgMQ0KICAgICAgICB9IGVsc2UgZiA9IGUuY2VudGVyID8gdGhpcy5faXRlbXMubGVuZ3RoIC0gMSA6IHRoaXMuX2l0ZW1zLmxlbmd0aCAtIGUuaXRlbXM7DQogICAgICAgIHJldHVybiBhICYmIChmIC09IHRoaXMuX2Nsb25lcy5sZW5ndGggLyAyKSwgTWF0aC5tYXgoZiwgMCkNCiAgICB9LCBlLnByb3RvdHlwZS5taW5pbXVtID0gZnVuY3Rpb24oYSkgew0KICAgICAgICByZXR1cm4gYSA/IDAgOiB0aGlzLl9jbG9uZXMubGVuZ3RoIC8gMg0KICAgIH0sIGUucHJvdG90eXBlLml0ZW1zID0gZnVuY3Rpb24oYSkgew0KICAgICAgICByZXR1cm4gYSA9PT0gZCA/IHRoaXMuX2l0ZW1zLnNsaWNlKCkgOiAoYSA9IHRoaXMubm9ybWFsaXplKGEsICEwKSwgdGhpcy5faXRlbXNbYV0pDQogICAgfSwgZS5wcm90b3R5cGUubWVyZ2VycyA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgcmV0dXJuIGEgPT09IGQgPyB0aGlzLl9tZXJnZXJzLnNsaWNlKCkgOiAoYSA9IHRoaXMubm9ybWFsaXplKGEsICEwKSwgdGhpcy5fbWVyZ2Vyc1thXSkNCiAgICB9LCBlLnByb3RvdHlwZS5jbG9uZXMgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIHZhciBjID0gdGhpcy5fY2xvbmVzLmxlbmd0aCAvIDIsDQogICAgICAgICAgICBlID0gYyArIHRoaXMuX2l0ZW1zLmxlbmd0aCwNCiAgICAgICAgICAgIGYgPSBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGEgJSAyID09IDAgPyBlICsgYSAvIDIgOiBjIC0gKGEgKyAxKSAvIDINCiAgICAgICAgICAgIH07DQogICAgICAgIHJldHVybiBiID09PSBkID8gYS5tYXAodGhpcy5fY2xvbmVzLCBmdW5jdGlvbihhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gZihiKQ0KICAgICAgICB9KSA6IGEubWFwKHRoaXMuX2Nsb25lcywgZnVuY3Rpb24oYSwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEgPT09IGIgPyBmKGMpIDogbnVsbA0KICAgICAgICB9KQ0KICAgIH0sIGUucHJvdG90eXBlLnNwZWVkID0gZnVuY3Rpb24oYSkgew0KICAgICAgICByZXR1cm4gYSAhPT0gZCAmJiAodGhpcy5fc3BlZWQgPSBhKSwgdGhpcy5fc3BlZWQNCiAgICB9LCBlLnByb3RvdHlwZS5jb29yZGluYXRlcyA9IGZ1bmN0aW9uKGIpIHsNCiAgICAgICAgdmFyIGMsIGUgPSAxLA0KICAgICAgICAgICAgZiA9IGIgLSAxOw0KICAgICAgICByZXR1cm4gYiA9PT0gZCA/IGEubWFwKHRoaXMuX2Nvb3JkaW5hdGVzLCBhLnByb3h5KGZ1bmN0aW9uKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvb3JkaW5hdGVzKGIpDQogICAgICAgIH0sIHRoaXMpKSA6ICh0aGlzLnNldHRpbmdzLmNlbnRlciA/ICh0aGlzLnNldHRpbmdzLnJ0bCAmJiAoZSA9IC0xLCBmID0gYiArIDEpLCBjID0gdGhpcy5fY29vcmRpbmF0ZXNbYl0sIGMgKz0gKHRoaXMud2lkdGgoKSAtIGMgKyAodGhpcy5fY29vcmRpbmF0ZXNbZl0gfHwgMCkpIC8gMiAqIGUpIDogYyA9IHRoaXMuX2Nvb3JkaW5hdGVzW2ZdIHx8IDAsIGMgPSBNYXRoLmNlaWwoYykpDQogICAgfSwgZS5wcm90b3R5cGUuZHVyYXRpb24gPSBmdW5jdGlvbihhLCBiLCBjKSB7DQogICAgICAgIHJldHVybiAwID09PSBjID8gMCA6IE1hdGgubWluKE1hdGgubWF4KE1hdGguYWJzKGIgLSBhKSwgMSksIDYpICogTWF0aC5hYnMoYyB8fCB0aGlzLnNldHRpbmdzLnNtYXJ0U3BlZWQpDQogICAgfSwgZS5wcm90b3R5cGUudG8gPSBmdW5jdGlvbihhLCBiKSB7DQogICAgICAgIHZhciBjID0gdGhpcy5jdXJyZW50KCksDQogICAgICAgICAgICBkID0gbnVsbCwNCiAgICAgICAgICAgIGUgPSBhIC0gdGhpcy5yZWxhdGl2ZShjKSwNCiAgICAgICAgICAgIGYgPSAoZSA+IDApIC0gKGUgPCAwKSwNCiAgICAgICAgICAgIGcgPSB0aGlzLl9pdGVtcy5sZW5ndGgsDQogICAgICAgICAgICBoID0gdGhpcy5taW5pbXVtKCksDQogICAgICAgICAgICBpID0gdGhpcy5tYXhpbXVtKCk7DQogICAgICAgIHRoaXMuc2V0dGluZ3MubG9vcCA/ICghdGhpcy5zZXR0aW5ncy5yZXdpbmQgJiYgTWF0aC5hYnMoZSkgPiBnIC8gMiAmJiAoZSArPSAtMSAqIGYgKiBnKSwgYSA9IGMgKyBlLCAoZCA9ICgoYSAtIGgpICUgZyArIGcpICUgZyArIGgpICE9PSBhICYmIGQgLSBlIDw9IGkgJiYgZCAtIGUgPiAwICYmIChjID0gZCAtIGUsIGEgPSBkLCB0aGlzLnJlc2V0KGMpKSkgOiB0aGlzLnNldHRpbmdzLnJld2luZCA/IChpICs9IDEsIGEgPSAoYSAlIGkgKyBpKSAlIGkpIDogYSA9IE1hdGgubWF4KGgsIE1hdGgubWluKGksIGEpKSwgdGhpcy5zcGVlZCh0aGlzLmR1cmF0aW9uKGMsIGEsIGIpKSwgdGhpcy5jdXJyZW50KGEpLCB0aGlzLmlzVmlzaWJsZSgpICYmIHRoaXMudXBkYXRlKCkNCiAgICB9LCBlLnByb3RvdHlwZS5uZXh0ID0gZnVuY3Rpb24oYSkgew0KICAgICAgICBhID0gYSB8fCAhMSwgdGhpcy50byh0aGlzLnJlbGF0aXZlKHRoaXMuY3VycmVudCgpKSArIDEsIGEpDQogICAgfSwgZS5wcm90b3R5cGUucHJldiA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgYSA9IGEgfHwgITEsIHRoaXMudG8odGhpcy5yZWxhdGl2ZSh0aGlzLmN1cnJlbnQoKSkgLSAxLCBhKQ0KICAgIH0sIGUucHJvdG90eXBlLm9uVHJhbnNpdGlvbkVuZCA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgaWYgKGEgIT09IGQgJiYgKGEuc3RvcFByb3BhZ2F0aW9uKCksIChhLnRhcmdldCB8fCBhLnNyY0VsZW1lbnQgfHwgYS5vcmlnaW5hbFRhcmdldCkgIT09IHRoaXMuJHN0YWdlLmdldCgwKSkpIHJldHVybiAhMTsNCiAgICAgICAgdGhpcy5sZWF2ZSgiYW5pbWF0aW5nIiksIHRoaXMudHJpZ2dlcigidHJhbnNsYXRlZCIpDQogICAgfSwgZS5wcm90b3R5cGUudmlld3BvcnQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGQ7DQogICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZUJhc2VFbGVtZW50ICE9PSBiID8gZCA9IGEodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVCYXNlRWxlbWVudCkud2lkdGgoKSA6IGIuaW5uZXJXaWR0aCA/IGQgPSBiLmlubmVyV2lkdGggOiBjLmRvY3VtZW50RWxlbWVudCAmJiBjLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCA/IGQgPSBjLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCA6IGNvbnNvbGUud2FybigiQ2FuIG5vdCBkZXRlY3Qgdmlld3BvcnQgd2lkdGguIiksIGQNCiAgICB9LCBlLnByb3RvdHlwZS5yZXBsYWNlID0gZnVuY3Rpb24oYikgew0KICAgICAgICB0aGlzLiRzdGFnZS5lbXB0eSgpLCB0aGlzLl9pdGVtcyA9IFtdLCBiICYmIChiID0gYiBpbnN0YW5jZW9mIGpRdWVyeSA/IGIgOiBhKGIpKSwgdGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3IgJiYgKGIgPSBiLmZpbmQoIi4iICsgdGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3IpKSwgYi5maWx0ZXIoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gdGhpcy5ub2RlVHlwZQ0KICAgICAgICB9KS5lYWNoKGEucHJveHkoZnVuY3Rpb24oYSwgYikgew0KICAgICAgICAgICAgYiA9IHRoaXMucHJlcGFyZShiKSwgdGhpcy4kc3RhZ2UuYXBwZW5kKGIpLCB0aGlzLl9pdGVtcy5wdXNoKGIpLCB0aGlzLl9tZXJnZXJzLnB1c2goMSAqIGIuZmluZCgiW2RhdGEtbWVyZ2VdIikuYWRkQmFjaygiW2RhdGEtbWVyZ2VdIikuYXR0cigiZGF0YS1tZXJnZSIpIHx8IDEpDQogICAgICAgIH0sIHRoaXMpKSwgdGhpcy5yZXNldCh0aGlzLmlzTnVtZXJpYyh0aGlzLnNldHRpbmdzLnN0YXJ0UG9zaXRpb24pID8gdGhpcy5zZXR0aW5ncy5zdGFydFBvc2l0aW9uIDogMCksIHRoaXMuaW52YWxpZGF0ZSgiaXRlbXMiKQ0KICAgIH0sIGUucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uKGIsIGMpIHsNCiAgICAgICAgdmFyIGUgPSB0aGlzLnJlbGF0aXZlKHRoaXMuX2N1cnJlbnQpOw0KICAgICAgICBjID0gYyA9PT0gZCA/IHRoaXMuX2l0ZW1zLmxlbmd0aCA6IHRoaXMubm9ybWFsaXplKGMsICEwKSwgYiA9IGIgaW5zdGFuY2VvZiBqUXVlcnkgPyBiIDogYShiKSwgdGhpcy50cmlnZ2VyKCJhZGQiLCB7DQogICAgICAgICAgICBjb250ZW50OiBiLA0KICAgICAgICAgICAgcG9zaXRpb246IGMNCiAgICAgICAgfSksIGIgPSB0aGlzLnByZXBhcmUoYiksIDAgPT09IHRoaXMuX2l0ZW1zLmxlbmd0aCB8fCBjID09PSB0aGlzLl9pdGVtcy5sZW5ndGggPyAoMCA9PT0gdGhpcy5faXRlbXMubGVuZ3RoICYmIHRoaXMuJHN0YWdlLmFwcGVuZChiKSwgMCAhPT0gdGhpcy5faXRlbXMubGVuZ3RoICYmIHRoaXMuX2l0ZW1zW2MgLSAxXS5hZnRlcihiKSwgdGhpcy5faXRlbXMucHVzaChiKSwgdGhpcy5fbWVyZ2Vycy5wdXNoKDEgKiBiLmZpbmQoIltkYXRhLW1lcmdlXSIpLmFkZEJhY2soIltkYXRhLW1lcmdlXSIpLmF0dHIoImRhdGEtbWVyZ2UiKSB8fCAxKSkgOiAodGhpcy5faXRlbXNbY10uYmVmb3JlKGIpLCB0aGlzLl9pdGVtcy5zcGxpY2UoYywgMCwgYiksIHRoaXMuX21lcmdlcnMuc3BsaWNlKGMsIDAsIDEgKiBiLmZpbmQoIltkYXRhLW1lcmdlXSIpLmFkZEJhY2soIltkYXRhLW1lcmdlXSIpLmF0dHIoImRhdGEtbWVyZ2UiKSB8fCAxKSksIHRoaXMuX2l0ZW1zW2VdICYmIHRoaXMucmVzZXQodGhpcy5faXRlbXNbZV0uaW5kZXgoKSksIHRoaXMuaW52YWxpZGF0ZSgiaXRlbXMiKSwgdGhpcy50cmlnZ2VyKCJhZGRlZCIsIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6IGIsDQogICAgICAgICAgICBwb3NpdGlvbjogYw0KICAgICAgICB9KQ0KICAgIH0sIGUucHJvdG90eXBlLnJlbW92ZSA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgKGEgPSB0aGlzLm5vcm1hbGl6ZShhLCAhMCkpICE9PSBkICYmICh0aGlzLnRyaWdnZXIoInJlbW92ZSIsIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuX2l0ZW1zW2FdLA0KICAgICAgICAgICAgcG9zaXRpb246IGENCiAgICAgICAgfSksIHRoaXMuX2l0ZW1zW2FdLnJlbW92ZSgpLCB0aGlzLl9pdGVtcy5zcGxpY2UoYSwgMSksIHRoaXMuX21lcmdlcnMuc3BsaWNlKGEsIDEpLCB0aGlzLmludmFsaWRhdGUoIml0ZW1zIiksIHRoaXMudHJpZ2dlcigicmVtb3ZlZCIsIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6IG51bGwsDQogICAgICAgICAgICBwb3NpdGlvbjogYQ0KICAgICAgICB9KSkNCiAgICB9LCBlLnByb3RvdHlwZS5wcmVsb2FkQXV0b1dpZHRoSW1hZ2VzID0gZnVuY3Rpb24oYikgew0KICAgICAgICBiLmVhY2goYS5wcm94eShmdW5jdGlvbihiLCBjKSB7DQogICAgICAgICAgICB0aGlzLmVudGVyKCJwcmUtbG9hZGluZyIpLCBjID0gYShjKSwgYShuZXcgSW1hZ2UpLm9uZSgibG9hZCIsIGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGMuYXR0cigic3JjIiwgYS50YXJnZXQuc3JjKSwgYy5jc3MoIm9wYWNpdHkiLCAxKSwgdGhpcy5sZWF2ZSgicHJlLWxvYWRpbmciKSwgIXRoaXMuaXMoInByZS1sb2FkaW5nIikgJiYgIXRoaXMuaXMoImluaXRpYWxpemluZyIpICYmIHRoaXMucmVmcmVzaCgpDQogICAgICAgICAgICB9LCB0aGlzKSkuYXR0cigic3JjIiwgYy5hdHRyKCJzcmMiKSB8fCBjLmF0dHIoImRhdGEtc3JjIikgfHwgYy5hdHRyKCJkYXRhLXNyYy1yZXRpbmEiKSkNCiAgICAgICAgfSwgdGhpcykpDQogICAgfSwgZS5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICB0aGlzLiRlbGVtZW50Lm9mZigiLm93bC5jb3JlIiksIHRoaXMuJHN0YWdlLm9mZigiLm93bC5jb3JlIiksIGEoYykub2ZmKCIub3dsLmNvcmUiKSwgITEgIT09IHRoaXMuc2V0dGluZ3MucmVzcG9uc2l2ZSAmJiAoYi5jbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lciksIHRoaXMub2ZmKGIsICJyZXNpemUiLCB0aGlzLl9oYW5kbGVycy5vblRocm90dGxlZFJlc2l6ZSkpOw0KICAgICAgICBmb3IgKHZhciBkIGluIHRoaXMuX3BsdWdpbnMpIHRoaXMuX3BsdWdpbnNbZF0uZGVzdHJveSgpOw0KICAgICAgICB0aGlzLiRzdGFnZS5jaGlsZHJlbigiLmNsb25lZCIpLnJlbW92ZSgpLCB0aGlzLiRzdGFnZS51bndyYXAoKSwgdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5jb250ZW50cygpLnVud3JhcCgpLCB0aGlzLiRzdGFnZS5jaGlsZHJlbigpLnVud3JhcCgpLCB0aGlzLiRzdGFnZS5yZW1vdmUoKSwgdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMucmVmcmVzaENsYXNzKS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGVkQ2xhc3MpLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ydGxDbGFzcykucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmRyYWdDbGFzcykucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmdyYWJDbGFzcykuYXR0cigiY2xhc3MiLCB0aGlzLiRlbGVtZW50LmF0dHIoImNsYXNzIikucmVwbGFjZShuZXcgUmVnRXhwKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQ2xhc3MgKyAiLVxcUytcXHMiLCAiZyIpLCAiIikpLnJlbW92ZURhdGEoIm93bC5jYXJvdXNlbCIpDQogICAgfSwgZS5wcm90b3R5cGUub3AgPSBmdW5jdGlvbihhLCBiLCBjKSB7DQogICAgICAgIHZhciBkID0gdGhpcy5zZXR0aW5ncy5ydGw7DQogICAgICAgIHN3aXRjaCAoYikgew0KICAgICAgICAgICAgY2FzZSAiPCI6DQogICAgICAgICAgICAgICAgcmV0dXJuIGQgPyBhID4gYyA6IGEgPCBjOw0KICAgICAgICAgICAgY2FzZSAiPiI6DQogICAgICAgICAgICAgICAgcmV0dXJuIGQgPyBhIDwgYyA6IGEgPiBjOw0KICAgICAgICAgICAgY2FzZSAiPj0iOg0KICAgICAgICAgICAgICAgIHJldHVybiBkID8gYSA8PSBjIDogYSA+PSBjOw0KICAgICAgICAgICAgY2FzZSAiPD0iOg0KICAgICAgICAgICAgICAgIHJldHVybiBkID8gYSA+PSBjIDogYSA8PSBjDQogICAgICAgIH0NCiAgICB9LCBlLnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uKGEsIGIsIGMsIGQpIHsNCiAgICAgICAgYS5hZGRFdmVudExpc3RlbmVyID8gYS5hZGRFdmVudExpc3RlbmVyKGIsIGMsIGQpIDogYS5hdHRhY2hFdmVudCAmJiBhLmF0dGFjaEV2ZW50KCJvbiIgKyBiLCBjKQ0KICAgIH0sIGUucHJvdG90eXBlLm9mZiA9IGZ1bmN0aW9uKGEsIGIsIGMsIGQpIHsNCiAgICAgICAgYS5yZW1vdmVFdmVudExpc3RlbmVyID8gYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsIGMsIGQpIDogYS5kZXRhY2hFdmVudCAmJiBhLmRldGFjaEV2ZW50KCJvbiIgKyBiLCBjKQ0KICAgIH0sIGUucHJvdG90eXBlLnRyaWdnZXIgPSBmdW5jdGlvbihiLCBjLCBkLCBmLCBnKSB7DQogICAgICAgIHZhciBoID0gew0KICAgICAgICAgICAgICAgIGl0ZW06IHsNCiAgICAgICAgICAgICAgICAgICAgY291bnQ6IHRoaXMuX2l0ZW1zLmxlbmd0aCwNCiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHRoaXMuY3VycmVudCgpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGkgPSBhLmNhbWVsQ2FzZShhLmdyZXAoWyJvbiIsIGIsIGRdLCBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGENCiAgICAgICAgICAgIH0pLmpvaW4oIi0iKS50b0xvd2VyQ2FzZSgpKSwNCiAgICAgICAgICAgIGogPSBhLkV2ZW50KFtiLCAib3dsIiwgZCB8fCAiY2Fyb3VzZWwiXS5qb2luKCIuIikudG9Mb3dlckNhc2UoKSwgYS5leHRlbmQoew0KICAgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IHRoaXMNCiAgICAgICAgICAgIH0sIGgsIGMpKTsNCiAgICAgICAgcmV0dXJuIHRoaXMuX3N1cHJlc3NbYl0gfHwgKGEuZWFjaCh0aGlzLl9wbHVnaW5zLCBmdW5jdGlvbihhLCBiKSB7DQogICAgICAgICAgICBiLm9uVHJpZ2dlciAmJiBiLm9uVHJpZ2dlcihqKQ0KICAgICAgICB9KSwgdGhpcy5yZWdpc3Rlcih7DQogICAgICAgICAgICB0eXBlOiBlLlR5cGUuRXZlbnQsDQogICAgICAgICAgICBuYW1lOiBiDQogICAgICAgIH0pLCB0aGlzLiRlbGVtZW50LnRyaWdnZXIoaiksIHRoaXMuc2V0dGluZ3MgJiYgImZ1bmN0aW9uIiA9PSB0eXBlb2YgdGhpcy5zZXR0aW5nc1tpXSAmJiB0aGlzLnNldHRpbmdzW2ldLmNhbGwodGhpcywgaikpLCBqDQogICAgfSwgZS5wcm90b3R5cGUuZW50ZXIgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIGEuZWFjaChbYl0uY29uY2F0KHRoaXMuX3N0YXRlcy50YWdzW2JdIHx8IFtdKSwgYS5wcm94eShmdW5jdGlvbihhLCBiKSB7DQogICAgICAgICAgICB0aGlzLl9zdGF0ZXMuY3VycmVudFtiXSA9PT0gZCAmJiAodGhpcy5fc3RhdGVzLmN1cnJlbnRbYl0gPSAwKSwgdGhpcy5fc3RhdGVzLmN1cnJlbnRbYl0rKw0KICAgICAgICB9LCB0aGlzKSkNCiAgICB9LCBlLnByb3RvdHlwZS5sZWF2ZSA9IGZ1bmN0aW9uKGIpIHsNCiAgICAgICAgYS5lYWNoKFtiXS5jb25jYXQodGhpcy5fc3RhdGVzLnRhZ3NbYl0gfHwgW10pLCBhLnByb3h5KGZ1bmN0aW9uKGEsIGIpIHsNCiAgICAgICAgICAgIHRoaXMuX3N0YXRlcy5jdXJyZW50W2JdLS0NCiAgICAgICAgfSwgdGhpcykpDQogICAgfSwgZS5wcm90b3R5cGUucmVnaXN0ZXIgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIGlmIChiLnR5cGUgPT09IGUuVHlwZS5FdmVudCkgew0KICAgICAgICAgICAgaWYgKGEuZXZlbnQuc3BlY2lhbFtiLm5hbWVdIHx8IChhLmV2ZW50LnNwZWNpYWxbYi5uYW1lXSA9IHt9KSwgIWEuZXZlbnQuc3BlY2lhbFtiLm5hbWVdLm93bCkgew0KICAgICAgICAgICAgICAgIHZhciBjID0gYS5ldmVudC5zcGVjaWFsW2IubmFtZV0uX2RlZmF1bHQ7DQogICAgICAgICAgICAgICAgYS5ldmVudC5zcGVjaWFsW2IubmFtZV0uX2RlZmF1bHQgPSBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAhYyB8fCAhYy5hcHBseSB8fCBhLm5hbWVzcGFjZSAmJiAtMSAhPT0gYS5uYW1lc3BhY2UuaW5kZXhPZigib3dsIikgPyBhLm5hbWVzcGFjZSAmJiBhLm5hbWVzcGFjZS5pbmRleE9mKCJvd2wiKSA+IC0xIDogYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpDQogICAgICAgICAgICAgICAgfSwgYS5ldmVudC5zcGVjaWFsW2IubmFtZV0ub3dsID0gITANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBlbHNlIGIudHlwZSA9PT0gZS5UeXBlLlN0YXRlICYmICh0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdID8gdGhpcy5fc3RhdGVzLnRhZ3NbYi5uYW1lXSA9IHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV0uY29uY2F0KGIudGFncykgOiB0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdID0gYi50YWdzLCB0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdID0gYS5ncmVwKHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV0sIGEucHJveHkoZnVuY3Rpb24oYywgZCkgew0KICAgICAgICAgICAgcmV0dXJuIGEuaW5BcnJheShjLCB0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdKSA9PT0gZA0KICAgICAgICB9LCB0aGlzKSkpDQogICAgfSwgZS5wcm90b3R5cGUuc3VwcHJlc3MgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIGEuZWFjaChiLCBhLnByb3h5KGZ1bmN0aW9uKGEsIGIpIHsNCiAgICAgICAgICAgIHRoaXMuX3N1cHJlc3NbYl0gPSAhMA0KICAgICAgICB9LCB0aGlzKSkNCiAgICB9LCBlLnByb3RvdHlwZS5yZWxlYXNlID0gZnVuY3Rpb24oYikgew0KICAgICAgICBhLmVhY2goYiwgYS5wcm94eShmdW5jdGlvbihhLCBiKSB7DQogICAgICAgICAgICBkZWxldGUgdGhpcy5fc3VwcmVzc1tiXQ0KICAgICAgICB9LCB0aGlzKSkNCiAgICB9LCBlLnByb3RvdHlwZS5wb2ludGVyID0gZnVuY3Rpb24oYSkgew0KICAgICAgICB2YXIgYyA9IHsNCiAgICAgICAgICAgIHg6IG51bGwsDQogICAgICAgICAgICB5OiBudWxsDQogICAgICAgIH07DQogICAgICAgIHJldHVybiBhID0gYS5vcmlnaW5hbEV2ZW50IHx8IGEgfHwgYi5ldmVudCwgYSA9IGEudG91Y2hlcyAmJiBhLnRvdWNoZXMubGVuZ3RoID8gYS50b3VjaGVzWzBdIDogYS5jaGFuZ2VkVG91Y2hlcyAmJiBhLmNoYW5nZWRUb3VjaGVzLmxlbmd0aCA/IGEuY2hhbmdlZFRvdWNoZXNbMF0gOiBhLCBhLnBhZ2VYID8gKGMueCA9IGEucGFnZVgsIGMueSA9IGEucGFnZVkpIDogKGMueCA9IGEuY2xpZW50WCwgYy55ID0gYS5jbGllbnRZKSwgYw0KICAgIH0sIGUucHJvdG90eXBlLmlzTnVtZXJpYyA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgcmV0dXJuICFpc05hTihwYXJzZUZsb2F0KGEpKQ0KICAgIH0sIGUucHJvdG90eXBlLmRpZmZlcmVuY2UgPSBmdW5jdGlvbihhLCBiKSB7DQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgICB4OiBhLnggLSBiLngsDQogICAgICAgICAgICB5OiBhLnkgLSBiLnkNCiAgICAgICAgfQ0KICAgIH0sIGEuZm4ub3dsQ2Fyb3VzZWwgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIHZhciBjID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTsNCiAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciBkID0gYSh0aGlzKSwNCiAgICAgICAgICAgICAgICBmID0gZC5kYXRhKCJvd2wuY2Fyb3VzZWwiKTsNCiAgICAgICAgICAgIGYgfHwgKGYgPSBuZXcgZSh0aGlzLCAib2JqZWN0IiA9PSB0eXBlb2YgYiAmJiBiKSwgZC5kYXRhKCJvd2wuY2Fyb3VzZWwiLCBmKSwgYS5lYWNoKFsibmV4dCIsICJwcmV2IiwgInRvIiwgImRlc3Ryb3kiLCAicmVmcmVzaCIsICJyZXBsYWNlIiwgImFkZCIsICJyZW1vdmUiXSwgZnVuY3Rpb24oYiwgYykgew0KICAgICAgICAgICAgICAgIGYucmVnaXN0ZXIoew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiBlLlR5cGUuRXZlbnQsDQogICAgICAgICAgICAgICAgICAgIG5hbWU6IGMNCiAgICAgICAgICAgICAgICB9KSwgZi4kZWxlbWVudC5vbihjICsgIi5vd2wuY2Fyb3VzZWwuY29yZSIsIGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgICAgICBhLm5hbWVzcGFjZSAmJiBhLnJlbGF0ZWRUYXJnZXQgIT09IHRoaXMgJiYgKHRoaXMuc3VwcHJlc3MoW2NdKSwgZltjXS5hcHBseSh0aGlzLCBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpLCB0aGlzLnJlbGVhc2UoW2NdKSkNCiAgICAgICAgICAgICAgICB9LCBmKSkNCiAgICAgICAgICAgIH0pKSwgInN0cmluZyIgPT0gdHlwZW9mIGIgJiYgIl8iICE9PSBiLmNoYXJBdCgwKSAmJiBmW2JdLmFwcGx5KGYsIGMpDQogICAgICAgIH0pDQogICAgfSwgYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3RvciA9IGUNCn0od2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpLA0KZnVuY3Rpb24oYSwgYiwgYywgZCkgew0KICAgIHZhciBlID0gZnVuY3Rpb24oYikgew0KICAgICAgICB0aGlzLl9jb3JlID0gYiwgdGhpcy5faW50ZXJ2YWwgPSBudWxsLCB0aGlzLl92aXNpYmxlID0gbnVsbCwgdGhpcy5faGFuZGxlcnMgPSB7DQogICAgICAgICAgICAiaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIjogYS5wcm94eShmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgYS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvUmVmcmVzaCAmJiB0aGlzLndhdGNoKCkNCiAgICAgICAgICAgIH0sIHRoaXMpDQogICAgICAgIH0sIHRoaXMuX2NvcmUub3B0aW9ucyA9IGEuZXh0ZW5kKHt9LCBlLkRlZmF1bHRzLCB0aGlzLl9jb3JlLm9wdGlvbnMpLCB0aGlzLl9jb3JlLiRlbGVtZW50Lm9uKHRoaXMuX2hhbmRsZXJzKQ0KICAgIH07DQogICAgZS5EZWZhdWx0cyA9IHsNCiAgICAgICAgYXV0b1JlZnJlc2g6ICEwLA0KICAgICAgICBhdXRvUmVmcmVzaEludGVydmFsOiA1MDANCiAgICB9LCBlLnByb3RvdHlwZS53YXRjaCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICB0aGlzLl9pbnRlcnZhbCB8fCAodGhpcy5fdmlzaWJsZSA9IHRoaXMuX2NvcmUuaXNWaXNpYmxlKCksIHRoaXMuX2ludGVydmFsID0gYi5zZXRJbnRlcnZhbChhLnByb3h5KHRoaXMucmVmcmVzaCwgdGhpcyksIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b1JlZnJlc2hJbnRlcnZhbCkpDQogICAgfSwgZS5wcm90b3R5cGUucmVmcmVzaCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICB0aGlzLl9jb3JlLmlzVmlzaWJsZSgpICE9PSB0aGlzLl92aXNpYmxlICYmICh0aGlzLl92aXNpYmxlID0gIXRoaXMuX3Zpc2libGUsIHRoaXMuX2NvcmUuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoIm93bC1oaWRkZW4iLCAhdGhpcy5fdmlzaWJsZSksIHRoaXMuX3Zpc2libGUgJiYgdGhpcy5fY29yZS5pbnZhbGlkYXRlKCJ3aWR0aCIpICYmIHRoaXMuX2NvcmUucmVmcmVzaCgpKQ0KICAgIH0sIGUucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGEsIGM7DQogICAgICAgIGIuY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7DQogICAgICAgIGZvciAoYSBpbiB0aGlzLl9oYW5kbGVycykgdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSwgdGhpcy5faGFuZGxlcnNbYV0pOw0KICAgICAgICBmb3IgKGMgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpICJmdW5jdGlvbiIgIT0gdHlwZW9mIHRoaXNbY10gJiYgKHRoaXNbY10gPSBudWxsKQ0KICAgIH0sIGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5BdXRvUmVmcmVzaCA9IGUNCn0od2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpLA0KZnVuY3Rpb24oYSwgYiwgYywgZCkgew0KICAgIHZhciBlID0gZnVuY3Rpb24oYikgew0KICAgICAgICB0aGlzLl9jb3JlID0gYiwgdGhpcy5fbG9hZGVkID0gW10sIHRoaXMuX2hhbmRsZXJzID0gew0KICAgICAgICAgICAgImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCBjaGFuZ2Uub3dsLmNhcm91c2VsIHJlc2l6ZWQub3dsLmNhcm91c2VsIjogYS5wcm94eShmdW5jdGlvbihiKSB7DQogICAgICAgICAgICAgICAgaWYgKGIubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5sYXp5TG9hZCAmJiAoYi5wcm9wZXJ0eSAmJiAicG9zaXRpb24iID09IGIucHJvcGVydHkubmFtZSB8fCAiaW5pdGlhbGl6ZWQiID09IGIudHlwZSkpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGMgPSB0aGlzLl9jb3JlLnNldHRpbmdzLA0KICAgICAgICAgICAgICAgICAgICAgICAgZSA9IGMuY2VudGVyICYmIE1hdGguY2VpbChjLml0ZW1zIC8gMikgfHwgYy5pdGVtcywNCiAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBjLmNlbnRlciAmJiAtMSAqIGUgfHwgMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGcgPSAoYi5wcm9wZXJ0eSAmJiBiLnByb3BlcnR5LnZhbHVlICE9PSBkID8gYi5wcm9wZXJ0eS52YWx1ZSA6IHRoaXMuX2NvcmUuY3VycmVudCgpKSArIGYsDQogICAgICAgICAgICAgICAgICAgICAgICBoID0gdGhpcy5fY29yZS5jbG9uZXMoKS5sZW5ndGgsDQogICAgICAgICAgICAgICAgICAgICAgICBpID0gYS5wcm94eShmdW5jdGlvbihhLCBiKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkKGIpDQogICAgICAgICAgICAgICAgICAgICAgICB9LCB0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgZm9yIChjLmxhenlMb2FkRWFnZXIgPiAwICYmIChlICs9IGMubGF6eUxvYWRFYWdlciwgYy5sb29wICYmIChnIC09IGMubGF6eUxvYWRFYWdlciwgZSsrKSk7IGYrKyA8IGU7KSB0aGlzLmxvYWQoaCAvIDIgKyB0aGlzLl9jb3JlLnJlbGF0aXZlKGcpKSwgaCAmJiBhLmVhY2godGhpcy5fY29yZS5jbG9uZXModGhpcy5fY29yZS5yZWxhdGl2ZShnKSksIGkpLCBnKysNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB0aGlzKQ0KICAgICAgICB9LCB0aGlzLl9jb3JlLm9wdGlvbnMgPSBhLmV4dGVuZCh7fSwgZS5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKSwgdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycykNCiAgICB9Ow0KICAgIGUuRGVmYXVsdHMgPSB7DQogICAgICAgIGxhenlMb2FkOiAhMSwNCiAgICAgICAgbGF6eUxvYWRFYWdlcjogMA0KICAgIH0sIGUucHJvdG90eXBlLmxvYWQgPSBmdW5jdGlvbihjKSB7DQogICAgICAgIHZhciBkID0gdGhpcy5fY29yZS4kc3RhZ2UuY2hpbGRyZW4oKS5lcShjKSwNCiAgICAgICAgICAgIGUgPSBkICYmIGQuZmluZCgiLm93bC1sYXp5Iik7DQogICAgICAgICFlIHx8IGEuaW5BcnJheShkLmdldCgwKSwgdGhpcy5fbG9hZGVkKSA+IC0xIHx8IChlLmVhY2goYS5wcm94eShmdW5jdGlvbihjLCBkKSB7DQogICAgICAgICAgICB2YXIgZSwgZiA9IGEoZCksDQogICAgICAgICAgICAgICAgZyA9IGIuZGV2aWNlUGl4ZWxSYXRpbyA+IDEgJiYgZi5hdHRyKCJkYXRhLXNyYy1yZXRpbmEiKSB8fCBmLmF0dHIoImRhdGEtc3JjIikgfHwgZi5hdHRyKCJkYXRhLXNyY3NldCIpOw0KICAgICAgICAgICAgdGhpcy5fY29yZS50cmlnZ2VyKCJsb2FkIiwgew0KICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGYsDQogICAgICAgICAgICAgICAgdXJsOiBnDQogICAgICAgICAgICB9LCAibGF6eSIpLCBmLmlzKCJpbWciKSA/IGYub25lKCJsb2FkLm93bC5sYXp5IiwgYS5wcm94eShmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBmLmNzcygib3BhY2l0eSIsIDEpLCB0aGlzLl9jb3JlLnRyaWdnZXIoImxvYWRlZCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogZiwNCiAgICAgICAgICAgICAgICAgICAgdXJsOiBnDQogICAgICAgICAgICAgICAgfSwgImxhenkiKQ0KICAgICAgICAgICAgfSwgdGhpcykpLmF0dHIoInNyYyIsIGcpIDogZi5pcygic291cmNlIikgPyBmLm9uZSgibG9hZC5vd2wubGF6eSIsIGEucHJveHkoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdGhpcy5fY29yZS50cmlnZ2VyKCJsb2FkZWQiLCB7DQogICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGYsDQogICAgICAgICAgICAgICAgICAgIHVybDogZw0KICAgICAgICAgICAgICAgIH0sICJsYXp5IikNCiAgICAgICAgICAgIH0sIHRoaXMpKS5hdHRyKCJzcmNzZXQiLCBnKSA6IChlID0gbmV3IEltYWdlLCBlLm9ubG9hZCA9IGEucHJveHkoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZi5jc3Moew0KICAgICAgICAgICAgICAgICAgICAiYmFja2dyb3VuZC1pbWFnZSI6ICd1cmwoIicgKyBnICsgJyIpJywNCiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogIjEiDQogICAgICAgICAgICAgICAgfSksIHRoaXMuX2NvcmUudHJpZ2dlcigibG9hZGVkIiwgew0KICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiBmLA0KICAgICAgICAgICAgICAgICAgICB1cmw6IGcNCiAgICAgICAgICAgICAgICB9LCAibGF6eSIpDQogICAgICAgICAgICB9LCB0aGlzKSwgZS5zcmMgPSBnKQ0KICAgICAgICB9LCB0aGlzKSksIHRoaXMuX2xvYWRlZC5wdXNoKGQuZ2V0KDApKSkNCiAgICB9LCBlLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBhLCBiOw0KICAgICAgICBmb3IgKGEgaW4gdGhpcy5oYW5kbGVycykgdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSwgdGhpcy5oYW5kbGVyc1thXSk7DQogICAgICAgIGZvciAoYiBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgImZ1bmN0aW9uIiAhPSB0eXBlb2YgdGhpc1tiXSAmJiAodGhpc1tiXSA9IG51bGwpDQogICAgfSwgYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkxhenkgPSBlDQp9KHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KSwNCmZ1bmN0aW9uKGEsIGIsIGMsIGQpIHsNCiAgICB2YXIgZSA9IGZ1bmN0aW9uKGMpIHsNCiAgICAgICAgdGhpcy5fY29yZSA9IGMsIHRoaXMuX3ByZXZpb3VzSGVpZ2h0ID0gbnVsbCwgdGhpcy5faGFuZGxlcnMgPSB7DQogICAgICAgICAgICAiaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIHJlZnJlc2hlZC5vd2wuY2Fyb3VzZWwiOiBhLnByb3h5KGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICBhLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQgJiYgdGhpcy51cGRhdGUoKQ0KICAgICAgICAgICAgfSwgdGhpcyksDQogICAgICAgICAgICAiY2hhbmdlZC5vd2wuY2Fyb3VzZWwiOiBhLnByb3h5KGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICBhLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQgJiYgInBvc2l0aW9uIiA9PT0gYS5wcm9wZXJ0eS5uYW1lICYmIHRoaXMudXBkYXRlKCkNCiAgICAgICAgICAgIH0sIHRoaXMpLA0KICAgICAgICAgICAgImxvYWRlZC5vd2wubGF6eSI6IGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGEubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodCAmJiBhLmVsZW1lbnQuY2xvc2VzdCgiLiIgKyB0aGlzLl9jb3JlLnNldHRpbmdzLml0ZW1DbGFzcykuaW5kZXgoKSA9PT0gdGhpcy5fY29yZS5jdXJyZW50KCkgJiYgdGhpcy51cGRhdGUoKQ0KICAgICAgICAgICAgfSwgdGhpcykNCiAgICAgICAgfSwgdGhpcy5fY29yZS5vcHRpb25zID0gYS5leHRlbmQoe30sIGUuRGVmYXVsdHMsIHRoaXMuX2NvcmUub3B0aW9ucyksIHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLCB0aGlzLl9pbnRlcnZhbElkID0gbnVsbDsNCiAgICAgICAgdmFyIGQgPSB0aGlzOw0KICAgICAgICBhKGIpLm9uKCJsb2FkIiwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBkLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQgJiYgZC51cGRhdGUoKQ0KICAgICAgICB9KSwgYShiKS5yZXNpemUoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBkLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQgJiYgKG51bGwgIT0gZC5faW50ZXJ2YWxJZCAmJiBjbGVhclRpbWVvdXQoZC5faW50ZXJ2YWxJZCksIGQuX2ludGVydmFsSWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGQudXBkYXRlKCkNCiAgICAgICAgICAgIH0sIDI1MCkpDQogICAgICAgIH0pDQogICAgfTsNCiAgICBlLkRlZmF1bHRzID0gew0KICAgICAgICBhdXRvSGVpZ2h0OiAhMSwNCiAgICAgICAgYXV0b0hlaWdodENsYXNzOiAib3dsLWhlaWdodCINCiAgICB9LCBlLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGIgPSB0aGlzLl9jb3JlLl9jdXJyZW50LA0KICAgICAgICAgICAgYyA9IGIgKyB0aGlzLl9jb3JlLnNldHRpbmdzLml0ZW1zLA0KICAgICAgICAgICAgZCA9IHRoaXMuX2NvcmUuc2V0dGluZ3MubGF6eUxvYWQsDQogICAgICAgICAgICBlID0gdGhpcy5fY29yZS4kc3RhZ2UuY2hpbGRyZW4oKS50b0FycmF5KCkuc2xpY2UoYiwgYyksDQogICAgICAgICAgICBmID0gW10sDQogICAgICAgICAgICBnID0gMDsNCiAgICAgICAgYS5lYWNoKGUsIGZ1bmN0aW9uKGIsIGMpIHsNCiAgICAgICAgICAgIGYucHVzaChhKGMpLmhlaWdodCgpKQ0KICAgICAgICB9KSwgZyA9IE1hdGgubWF4LmFwcGx5KG51bGwsIGYpLCBnIDw9IDEgJiYgZCAmJiB0aGlzLl9wcmV2aW91c0hlaWdodCAmJiAoZyA9IHRoaXMuX3ByZXZpb3VzSGVpZ2h0KSwgdGhpcy5fcHJldmlvdXNIZWlnaHQgPSBnLCB0aGlzLl9jb3JlLiRzdGFnZS5wYXJlbnQoKS5oZWlnaHQoZykuYWRkQ2xhc3ModGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvSGVpZ2h0Q2xhc3MpDQogICAgfSwgZS5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgYSwgYjsNCiAgICAgICAgZm9yIChhIGluIHRoaXMuX2hhbmRsZXJzKSB0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihhLCB0aGlzLl9oYW5kbGVyc1thXSk7DQogICAgICAgIGZvciAoYiBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgImZ1bmN0aW9uIiAhPSB0eXBlb2YgdGhpc1tiXSAmJiAodGhpc1tiXSA9IG51bGwpDQogICAgfSwgYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkF1dG9IZWlnaHQgPSBlDQp9KHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KSwNCmZ1bmN0aW9uKGEsIGIsIGMsIGQpIHsNCiAgICB2YXIgZSA9IGZ1bmN0aW9uKGIpIHsNCiAgICAgICAgdGhpcy5fY29yZSA9IGIsIHRoaXMuX3ZpZGVvcyA9IHt9LCB0aGlzLl9wbGF5aW5nID0gbnVsbCwgdGhpcy5faGFuZGxlcnMgPSB7DQogICAgICAgICAgICAiaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIjogYS5wcm94eShmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgYS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5yZWdpc3Rlcih7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdGF0ZSIsDQogICAgICAgICAgICAgICAgICAgIG5hbWU6ICJwbGF5aW5nIiwNCiAgICAgICAgICAgICAgICAgICAgdGFnczogWyJpbnRlcmFjdGluZyJdDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0sIHRoaXMpLA0KICAgICAgICAgICAgInJlc2l6ZS5vd2wuY2Fyb3VzZWwiOiBhLnByb3h5KGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICBhLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLnZpZGVvICYmIHRoaXMuaXNJbkZ1bGxTY3JlZW4oKSAmJiBhLnByZXZlbnREZWZhdWx0KCkNCiAgICAgICAgICAgIH0sIHRoaXMpLA0KICAgICAgICAgICAgInJlZnJlc2hlZC5vd2wuY2Fyb3VzZWwiOiBhLnByb3h5KGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICBhLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLmlzKCJyZXNpemluZyIpICYmIHRoaXMuX2NvcmUuJHN0YWdlLmZpbmQoIi5jbG9uZWQgLm93bC12aWRlby1mcmFtZSIpLnJlbW92ZSgpDQogICAgICAgICAgICB9LCB0aGlzKSwNCiAgICAgICAgICAgICJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6IGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGEubmFtZXNwYWNlICYmICJwb3NpdGlvbiIgPT09IGEucHJvcGVydHkubmFtZSAmJiB0aGlzLl9wbGF5aW5nICYmIHRoaXMuc3RvcCgpDQogICAgICAgICAgICB9LCB0aGlzKSwNCiAgICAgICAgICAgICJwcmVwYXJlZC5vd2wuY2Fyb3VzZWwiOiBhLnByb3h5KGZ1bmN0aW9uKGIpIHsNCiAgICAgICAgICAgICAgICBpZiAoYi5uYW1lc3BhY2UpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGMgPSBhKGIuY29udGVudCkuZmluZCgiLm93bC12aWRlbyIpOw0KICAgICAgICAgICAgICAgICAgICBjLmxlbmd0aCAmJiAoYy5jc3MoImRpc3BsYXkiLCAibm9uZSIpLCB0aGlzLmZldGNoKGMsIGEoYi5jb250ZW50KSkpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgdGhpcykNCiAgICAgICAgfSwgdGhpcy5fY29yZS5vcHRpb25zID0gYS5leHRlbmQoe30sIGUuRGVmYXVsdHMsIHRoaXMuX2NvcmUub3B0aW9ucyksIHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLCB0aGlzLl9jb3JlLiRlbGVtZW50Lm9uKCJjbGljay5vd2wudmlkZW8iLCAiLm93bC12aWRlby1wbGF5LWljb24iLCBhLnByb3h5KGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgIHRoaXMucGxheShhKQ0KICAgICAgICB9LCB0aGlzKSkNCiAgICB9Ow0KICAgIGUuRGVmYXVsdHMgPSB7DQogICAgICAgIHZpZGVvOiAhMSwNCiAgICAgICAgdmlkZW9IZWlnaHQ6ICExLA0KICAgICAgICB2aWRlb1dpZHRoOiAhMQ0KICAgIH0sIGUucHJvdG90eXBlLmZldGNoID0gZnVuY3Rpb24oYSwgYikgew0KICAgICAgICB2YXIgYyA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBhLmF0dHIoImRhdGEtdmltZW8taWQiKSA/ICJ2aW1lbyIgOiBhLmF0dHIoImRhdGEtdnphYXItaWQiKSA/ICJ2emFhciIgOiAieW91dHViZSINCiAgICAgICAgICAgIH0oKSwNCiAgICAgICAgICAgIGQgPSBhLmF0dHIoImRhdGEtdmltZW8taWQiKSB8fCBhLmF0dHIoImRhdGEteW91dHViZS1pZCIpIHx8IGEuYXR0cigiZGF0YS12emFhci1pZCIpLA0KICAgICAgICAgICAgZSA9IGEuYXR0cigiZGF0YS13aWR0aCIpIHx8IHRoaXMuX2NvcmUuc2V0dGluZ3MudmlkZW9XaWR0aCwNCiAgICAgICAgICAgIGYgPSBhLmF0dHIoImRhdGEtaGVpZ2h0IikgfHwgdGhpcy5fY29yZS5zZXR0aW5ncy52aWRlb0hlaWdodCwNCiAgICAgICAgICAgIGcgPSBhLmF0dHIoImhyZWYiKTsNCiAgICAgICAgaWYgKCFnKSB0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgdmlkZW8gVVJMLiIpOw0KICAgICAgICBpZiAoZCA9IGcubWF0Y2goLyhodHRwOnxodHRwczp8KVwvXC8ocGxheWVyLnx3d3cufGFwcC4pPyh2aW1lb1wuY29tfHlvdXR1KGJlXC5jb218XC5iZXxiZVwuZ29vZ2xlYXBpc1wuY29tfGJlXC1ub2Nvb2tpZVwuY29tKXx2emFhclwuY29tKVwvKHZpZGVvXC98dmlkZW9zXC98ZW1iZWRcL3xjaGFubmVsc1wvLitcL3xncm91cHNcLy4rXC98d2F0Y2hcP3Y9fHZcLyk/KFtBLVphLXowLTkuXyUtXSopKFwmXFMrKT8vKSwgZFszXS5pbmRleE9mKCJ5b3V0dSIpID4gLTEpIGMgPSAieW91dHViZSI7DQogICAgICAgIGVsc2UgaWYgKGRbM10uaW5kZXhPZigidmltZW8iKSA+IC0xKSBjID0gInZpbWVvIjsNCiAgICAgICAgZWxzZSB7DQogICAgICAgICAgICBpZiAoIShkWzNdLmluZGV4T2YoInZ6YWFyIikgPiAtMSkpIHRocm93IG5ldyBFcnJvcigiVmlkZW8gVVJMIG5vdCBzdXBwb3J0ZWQuIik7DQogICAgICAgICAgICBjID0gInZ6YWFyIg0KICAgICAgICB9DQogICAgICAgIGQgPSBkWzZdLCB0aGlzLl92aWRlb3NbZ10gPSB7DQogICAgICAgICAgICB0eXBlOiBjLA0KICAgICAgICAgICAgaWQ6IGQsDQogICAgICAgICAgICB3aWR0aDogZSwNCiAgICAgICAgICAgIGhlaWdodDogZg0KICAgICAgICB9LCBiLmF0dHIoImRhdGEtdmlkZW8iLCBnKSwgdGhpcy50aHVtYm5haWwoYSwgdGhpcy5fdmlkZW9zW2ddKQ0KICAgIH0sIGUucHJvdG90eXBlLnRodW1ibmFpbCA9IGZ1bmN0aW9uKGIsIGMpIHsNCiAgICAgICAgdmFyIGQsIGUsIGYsIGcgPSBjLndpZHRoICYmIGMuaGVpZ2h0ID8gIndpZHRoOiIgKyBjLndpZHRoICsgInB4O2hlaWdodDoiICsgYy5oZWlnaHQgKyAicHg7IiA6ICIiLA0KICAgICAgICAgICAgaCA9IGIuZmluZCgiaW1nIiksDQogICAgICAgICAgICBpID0gInNyYyIsDQogICAgICAgICAgICBqID0gIiIsDQogICAgICAgICAgICBrID0gdGhpcy5fY29yZS5zZXR0aW5ncywNCiAgICAgICAgICAgIGwgPSBmdW5jdGlvbihjKSB7DQogICAgICAgICAgICAgICAgZSA9ICc8ZGl2IGNsYXNzPSJvd2wtdmlkZW8tcGxheS1pY29uIj48L2Rpdj4nLCBkID0gay5sYXp5TG9hZCA/IGEoIjxkaXYvPiIsIHsNCiAgICAgICAgICAgICAgICAgICAgY2xhc3M6ICJvd2wtdmlkZW8tdG4gIiArIGosDQogICAgICAgICAgICAgICAgICAgIHNyY1R5cGU6IGMNCiAgICAgICAgICAgICAgICB9KSA6IGEoIjxkaXYvPiIsIHsNCiAgICAgICAgICAgICAgICAgICAgY2xhc3M6ICJvd2wtdmlkZW8tdG4iLA0KICAgICAgICAgICAgICAgICAgICBzdHlsZTogIm9wYWNpdHk6MTtiYWNrZ3JvdW5kLWltYWdlOnVybCgiICsgYyArICIpIg0KICAgICAgICAgICAgICAgIH0pLCBiLmFmdGVyKGQpLCBiLmFmdGVyKGUpDQogICAgICAgICAgICB9Ow0KICAgICAgICBpZiAoYi53cmFwKGEoIjxkaXYvPiIsIHsNCiAgICAgICAgICAgICAgICBjbGFzczogIm93bC12aWRlby13cmFwcGVyIiwNCiAgICAgICAgICAgICAgICBzdHlsZTogZw0KICAgICAgICAgICAgfSkpLCB0aGlzLl9jb3JlLnNldHRpbmdzLmxhenlMb2FkICYmIChpID0gImRhdGEtc3JjIiwgaiA9ICJvd2wtbGF6eSIpLCBoLmxlbmd0aCkgcmV0dXJuIGwoaC5hdHRyKGkpKSwgaC5yZW1vdmUoKSwgITE7DQogICAgICAgICJ5b3V0dWJlIiA9PT0gYy50eXBlID8gKGYgPSAiLy9pbWcueW91dHViZS5jb20vdmkvIiArIGMuaWQgKyAiL2hxZGVmYXVsdC5qcGciLCBsKGYpKSA6ICJ2aW1lbyIgPT09IGMudHlwZSA/IGEuYWpheCh7DQogICAgICAgICAgICB0eXBlOiAiR0VUIiwNCiAgICAgICAgICAgIHVybDogIi8vdmltZW8uY29tL2FwaS92Mi92aWRlby8iICsgYy5pZCArICIuanNvbiIsDQogICAgICAgICAgICBqc29ucDogImNhbGxiYWNrIiwNCiAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbnAiLA0KICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGYgPSBhWzBdLnRodW1ibmFpbF9sYXJnZSwgbChmKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KSA6ICJ2emFhciIgPT09IGMudHlwZSAmJiBhLmFqYXgoew0KICAgICAgICAgICAgdHlwZTogIkdFVCIsDQogICAgICAgICAgICB1cmw6ICIvL3Z6YWFyLmNvbS9hcGkvdmlkZW9zLyIgKyBjLmlkICsgIi5qc29uIiwNCiAgICAgICAgICAgIGpzb25wOiAiY2FsbGJhY2siLA0KICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29ucCIsDQogICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgZiA9IGEuZnJhbWVncmFiX3VybCwgbChmKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KQ0KICAgIH0sIGUucHJvdG90eXBlLnN0b3AgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdGhpcy5fY29yZS50cmlnZ2VyKCJzdG9wIiwgbnVsbCwgInZpZGVvIiksIHRoaXMuX3BsYXlpbmcuZmluZCgiLm93bC12aWRlby1mcmFtZSIpLnJlbW92ZSgpLCB0aGlzLl9wbGF5aW5nLnJlbW92ZUNsYXNzKCJvd2wtdmlkZW8tcGxheWluZyIpLCB0aGlzLl9wbGF5aW5nID0gbnVsbCwgdGhpcy5fY29yZS5sZWF2ZSgicGxheWluZyIpLCB0aGlzLl9jb3JlLnRyaWdnZXIoInN0b3BwZWQiLCBudWxsLCAidmlkZW8iKQ0KICAgIH0sIGUucHJvdG90eXBlLnBsYXkgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIHZhciBjLCBkID0gYShiLnRhcmdldCksDQogICAgICAgICAgICBlID0gZC5jbG9zZXN0KCIuIiArIHRoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbUNsYXNzKSwNCiAgICAgICAgICAgIGYgPSB0aGlzLl92aWRlb3NbZS5hdHRyKCJkYXRhLXZpZGVvIildLA0KICAgICAgICAgICAgZyA9IGYud2lkdGggfHwgIjEwMCUiLA0KICAgICAgICAgICAgaCA9IGYuaGVpZ2h0IHx8IHRoaXMuX2NvcmUuJHN0YWdlLmhlaWdodCgpOw0KICAgICAgICB0aGlzLl9wbGF5aW5nIHx8ICh0aGlzLl9jb3JlLmVudGVyKCJwbGF5aW5nIiksIHRoaXMuX2NvcmUudHJpZ2dlcigicGxheSIsIG51bGwsICJ2aWRlbyIpLCBlID0gdGhpcy5fY29yZS5pdGVtcyh0aGlzLl9jb3JlLnJlbGF0aXZlKGUuaW5kZXgoKSkpLCB0aGlzLl9jb3JlLnJlc2V0KGUuaW5kZXgoKSksIGMgPSBhKCc8aWZyYW1lIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIHdlYmtpdEFsbG93RnVsbFNjcmVlbiA+PC9pZnJhbWU+JyksIGMuYXR0cigiaGVpZ2h0IiwgaCksIGMuYXR0cigid2lkdGgiLCBnKSwgInlvdXR1YmUiID09PSBmLnR5cGUgPyBjLmF0dHIoInNyYyIsICIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8iICsgZi5pZCArICI/YXV0b3BsYXk9MSZyZWw9MCZ2PSIgKyBmLmlkKSA6ICJ2aW1lbyIgPT09IGYudHlwZSA/IGMuYXR0cigic3JjIiwgIi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8iICsgZi5pZCArICI/YXV0b3BsYXk9MSIpIDogInZ6YWFyIiA9PT0gZi50eXBlICYmIGMuYXR0cigic3JjIiwgIi8vdmlldy52emFhci5jb20vIiArIGYuaWQgKyAiL3BsYXllcj9hdXRvcGxheT10cnVlIiksIGEoYykud3JhcCgnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLWZyYW1lIiAvPicpLmluc2VydEFmdGVyKGUuZmluZCgiLm93bC12aWRlbyIpKSwgdGhpcy5fcGxheWluZyA9IGUuYWRkQ2xhc3MoIm93bC12aWRlby1wbGF5aW5nIikpDQogICAgfSwgZS5wcm90b3R5cGUuaXNJbkZ1bGxTY3JlZW4gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGIgPSBjLmZ1bGxzY3JlZW5FbGVtZW50IHx8IGMubW96RnVsbFNjcmVlbkVsZW1lbnQgfHwgYy53ZWJraXRGdWxsc2NyZWVuRWxlbWVudDsNCiAgICAgICAgcmV0dXJuIGIgJiYgYShiKS5wYXJlbnQoKS5oYXNDbGFzcygib3dsLXZpZGVvLWZyYW1lIikNCiAgICB9LCBlLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBhLCBiOw0KICAgICAgICB0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZigiY2xpY2sub3dsLnZpZGVvIik7DQogICAgICAgIGZvciAoYSBpbiB0aGlzLl9oYW5kbGVycykgdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSwgdGhpcy5faGFuZGxlcnNbYV0pOw0KICAgICAgICBmb3IgKGIgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpICJmdW5jdGlvbiIgIT0gdHlwZW9mIHRoaXNbYl0gJiYgKHRoaXNbYl0gPSBudWxsKQ0KICAgIH0sIGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5WaWRlbyA9IGUNCn0od2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpLA0KZnVuY3Rpb24oYSwgYiwgYywgZCkgew0KICAgIHZhciBlID0gZnVuY3Rpb24oYikgew0KICAgICAgICB0aGlzLmNvcmUgPSBiLCB0aGlzLmNvcmUub3B0aW9ucyA9IGEuZXh0ZW5kKHt9LCBlLkRlZmF1bHRzLCB0aGlzLmNvcmUub3B0aW9ucyksIHRoaXMuc3dhcHBpbmcgPSAhMCwgdGhpcy5wcmV2aW91cyA9IGQsIHRoaXMubmV4dCA9IGQsIHRoaXMuaGFuZGxlcnMgPSB7DQogICAgICAgICAgICAiY2hhbmdlLm93bC5jYXJvdXNlbCI6IGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGEubmFtZXNwYWNlICYmICJwb3NpdGlvbiIgPT0gYS5wcm9wZXJ0eS5uYW1lICYmICh0aGlzLnByZXZpb3VzID0gdGhpcy5jb3JlLmN1cnJlbnQoKSwgdGhpcy5uZXh0ID0gYS5wcm9wZXJ0eS52YWx1ZSkNCiAgICAgICAgICAgIH0sIHRoaXMpLA0KICAgICAgICAgICAgImRyYWcub3dsLmNhcm91c2VsIGRyYWdnZWQub3dsLmNhcm91c2VsIHRyYW5zbGF0ZWQub3dsLmNhcm91c2VsIjogYS5wcm94eShmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgYS5uYW1lc3BhY2UgJiYgKHRoaXMuc3dhcHBpbmcgPSAidHJhbnNsYXRlZCIgPT0gYS50eXBlKQ0KICAgICAgICAgICAgfSwgdGhpcyksDQogICAgICAgICAgICAidHJhbnNsYXRlLm93bC5jYXJvdXNlbCI6IGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGEubmFtZXNwYWNlICYmIHRoaXMuc3dhcHBpbmcgJiYgKHRoaXMuY29yZS5vcHRpb25zLmFuaW1hdGVPdXQgfHwgdGhpcy5jb3JlLm9wdGlvbnMuYW5pbWF0ZUluKSAmJiB0aGlzLnN3YXAoKQ0KICAgICAgICAgICAgfSwgdGhpcykNCiAgICAgICAgfSwgdGhpcy5jb3JlLiRlbGVtZW50Lm9uKHRoaXMuaGFuZGxlcnMpDQogICAgfTsNCiAgICBlLkRlZmF1bHRzID0gew0KICAgICAgICBhbmltYXRlT3V0OiAhMSwNCiAgICAgICAgYW5pbWF0ZUluOiAhMQ0KICAgIH0sIGUucHJvdG90eXBlLnN3YXAgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgaWYgKDEgPT09IHRoaXMuY29yZS5zZXR0aW5ncy5pdGVtcyAmJiBhLnN1cHBvcnQuYW5pbWF0aW9uICYmIGEuc3VwcG9ydC50cmFuc2l0aW9uKSB7DQogICAgICAgICAgICB0aGlzLmNvcmUuc3BlZWQoMCk7DQogICAgICAgICAgICB2YXIgYiwgYyA9IGEucHJveHkodGhpcy5jbGVhciwgdGhpcyksDQogICAgICAgICAgICAgICAgZCA9IHRoaXMuY29yZS4kc3RhZ2UuY2hpbGRyZW4oKS5lcSh0aGlzLnByZXZpb3VzKSwNCiAgICAgICAgICAgICAgICBlID0gdGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMubmV4dCksDQogICAgICAgICAgICAgICAgZiA9IHRoaXMuY29yZS5zZXR0aW5ncy5hbmltYXRlSW4sDQogICAgICAgICAgICAgICAgZyA9IHRoaXMuY29yZS5zZXR0aW5ncy5hbmltYXRlT3V0Ow0KICAgICAgICAgICAgdGhpcy5jb3JlLmN1cnJlbnQoKSAhPT0gdGhpcy5wcmV2aW91cyAmJiAoZyAmJiAoYiA9IHRoaXMuY29yZS5jb29yZGluYXRlcyh0aGlzLnByZXZpb3VzKSAtIHRoaXMuY29yZS5jb29yZGluYXRlcyh0aGlzLm5leHQpLCBkLm9uZShhLnN1cHBvcnQuYW5pbWF0aW9uLmVuZCwgYykuY3NzKHsNCiAgICAgICAgICAgICAgICBsZWZ0OiBiICsgInB4Ig0KICAgICAgICAgICAgfSkuYWRkQ2xhc3MoImFuaW1hdGVkIG93bC1hbmltYXRlZC1vdXQiKS5hZGRDbGFzcyhnKSksIGYgJiYgZS5vbmUoYS5zdXBwb3J0LmFuaW1hdGlvbi5lbmQsIGMpLmFkZENsYXNzKCJhbmltYXRlZCBvd2wtYW5pbWF0ZWQtaW4iKS5hZGRDbGFzcyhmKSkNCiAgICAgICAgfQ0KICAgIH0sIGUucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24oYikgew0KICAgICAgICBhKGIudGFyZ2V0KS5jc3Moew0KICAgICAgICAgICAgbGVmdDogIiINCiAgICAgICAgfSkucmVtb3ZlQ2xhc3MoImFuaW1hdGVkIG93bC1hbmltYXRlZC1vdXQgb3dsLWFuaW1hdGVkLWluIikucmVtb3ZlQ2xhc3ModGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVJbikucmVtb3ZlQ2xhc3ModGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVPdXQpLCB0aGlzLmNvcmUub25UcmFuc2l0aW9uRW5kKCkNCiAgICB9LCBlLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBhLCBiOw0KICAgICAgICBmb3IgKGEgaW4gdGhpcy5oYW5kbGVycykgdGhpcy5jb3JlLiRlbGVtZW50Lm9mZihhLCB0aGlzLmhhbmRsZXJzW2FdKTsNCiAgICAgICAgZm9yIChiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSAiZnVuY3Rpb24iICE9IHR5cGVvZiB0aGlzW2JdICYmICh0aGlzW2JdID0gbnVsbCkNCiAgICB9LCBhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuQW5pbWF0ZSA9IGUNCn0od2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpLA0KZnVuY3Rpb24oYSwgYiwgYywgZCkgew0KICAgIHZhciBlID0gZnVuY3Rpb24oYikgew0KICAgICAgICB0aGlzLl9jb3JlID0gYiwgdGhpcy5fY2FsbCA9IG51bGwsIHRoaXMuX3RpbWUgPSAwLCB0aGlzLl90aW1lb3V0ID0gMCwgdGhpcy5fcGF1c2VkID0gITAsIHRoaXMuX2hhbmRsZXJzID0gew0KICAgICAgICAgICAgImNoYW5nZWQub3dsLmNhcm91c2VsIjogYS5wcm94eShmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgYS5uYW1lc3BhY2UgJiYgInNldHRpbmdzIiA9PT0gYS5wcm9wZXJ0eS5uYW1lID8gdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheSA/IHRoaXMucGxheSgpIDogdGhpcy5zdG9wKCkgOiBhLm5hbWVzcGFjZSAmJiAicG9zaXRpb24iID09PSBhLnByb3BlcnR5Lm5hbWUgJiYgdGhpcy5fcGF1c2VkICYmICh0aGlzLl90aW1lID0gMCkNCiAgICAgICAgICAgIH0sIHRoaXMpLA0KICAgICAgICAgICAgImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCI6IGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGEubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXkgJiYgdGhpcy5wbGF5KCkNCiAgICAgICAgICAgIH0sIHRoaXMpLA0KICAgICAgICAgICAgInBsYXkub3dsLmF1dG9wbGF5IjogYS5wcm94eShmdW5jdGlvbihhLCBiLCBjKSB7DQogICAgICAgICAgICAgICAgYS5uYW1lc3BhY2UgJiYgdGhpcy5wbGF5KGIsIGMpDQogICAgICAgICAgICB9LCB0aGlzKSwNCiAgICAgICAgICAgICJzdG9wLm93bC5hdXRvcGxheSI6IGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGEubmFtZXNwYWNlICYmIHRoaXMuc3RvcCgpDQogICAgICAgICAgICB9LCB0aGlzKSwNCiAgICAgICAgICAgICJtb3VzZW92ZXIub3dsLmF1dG9wbGF5IjogYS5wcm94eShmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5SG92ZXJQYXVzZSAmJiB0aGlzLl9jb3JlLmlzKCJyb3RhdGluZyIpICYmIHRoaXMucGF1c2UoKQ0KICAgICAgICAgICAgfSwgdGhpcyksDQogICAgICAgICAgICAibW91c2VsZWF2ZS5vd2wuYXV0b3BsYXkiOiBhLnByb3h5KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlIb3ZlclBhdXNlICYmIHRoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikgJiYgdGhpcy5wbGF5KCkNCiAgICAgICAgICAgIH0sIHRoaXMpLA0KICAgICAgICAgICAgInRvdWNoc3RhcnQub3dsLmNvcmUiOiBhLnByb3h5KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlIb3ZlclBhdXNlICYmIHRoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikgJiYgdGhpcy5wYXVzZSgpDQogICAgICAgICAgICB9LCB0aGlzKSwNCiAgICAgICAgICAgICJ0b3VjaGVuZC5vd2wuY29yZSI6IGEucHJveHkoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UgJiYgdGhpcy5wbGF5KCkNCiAgICAgICAgICAgIH0sIHRoaXMpDQogICAgICAgIH0sIHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLCB0aGlzLl9jb3JlLm9wdGlvbnMgPSBhLmV4dGVuZCh7fSwgZS5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKQ0KICAgIH07DQogICAgZS5EZWZhdWx0cyA9IHsNCiAgICAgICAgYXV0b3BsYXk6ICExLA0KICAgICAgICBhdXRvcGxheVRpbWVvdXQ6IDVlMywNCiAgICAgICAgYXV0b3BsYXlIb3ZlclBhdXNlOiAhMSwNCiAgICAgICAgYXV0b3BsYXlTcGVlZDogITENCiAgICB9LCBlLnByb3RvdHlwZS5fbmV4dCA9IGZ1bmN0aW9uKGQpIHsNCiAgICAgICAgdGhpcy5fY2FsbCA9IGIuc2V0VGltZW91dChhLnByb3h5KHRoaXMuX25leHQsIHRoaXMsIGQpLCB0aGlzLl90aW1lb3V0ICogKE1hdGgucm91bmQodGhpcy5yZWFkKCkgLyB0aGlzLl90aW1lb3V0KSArIDEpIC0gdGhpcy5yZWFkKCkpLCB0aGlzLl9jb3JlLmlzKCJpbnRlcmFjdGluZyIpIHx8IGMuaGlkZGVuIHx8IHRoaXMuX2NvcmUubmV4dChkIHx8IHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlTcGVlZCkNCiAgICB9LCBlLnByb3RvdHlwZS5yZWFkID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiAobmV3IERhdGUpLmdldFRpbWUoKSAtIHRoaXMuX3RpbWUNCiAgICB9LCBlLnByb3RvdHlwZS5wbGF5ID0gZnVuY3Rpb24oYywgZCkgew0KICAgICAgICB2YXIgZTsNCiAgICAgICAgdGhpcy5fY29yZS5pcygicm90YXRpbmciKSB8fCB0aGlzLl9jb3JlLmVudGVyKCJyb3RhdGluZyIpLCBjID0gYyB8fCB0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5VGltZW91dCwgZSA9IE1hdGgubWluKHRoaXMuX3RpbWUgJSAodGhpcy5fdGltZW91dCB8fCBjKSwgYyksIHRoaXMuX3BhdXNlZCA/ICh0aGlzLl90aW1lID0gdGhpcy5yZWFkKCksIHRoaXMuX3BhdXNlZCA9ICExKSA6IGIuY2xlYXJUaW1lb3V0KHRoaXMuX2NhbGwpLCB0aGlzLl90aW1lICs9IHRoaXMucmVhZCgpICUgYyAtIGUsIHRoaXMuX3RpbWVvdXQgPSBjLCB0aGlzLl9jYWxsID0gYi5zZXRUaW1lb3V0KGEucHJveHkodGhpcy5fbmV4dCwgdGhpcywgZCksIGMgLSBlKQ0KICAgIH0sIGUucHJvdG90eXBlLnN0b3AgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdGhpcy5fY29yZS5pcygicm90YXRpbmciKSAmJiAodGhpcy5fdGltZSA9IDAsIHRoaXMuX3BhdXNlZCA9ICEwLCBiLmNsZWFyVGltZW91dCh0aGlzLl9jYWxsKSwgdGhpcy5fY29yZS5sZWF2ZSgicm90YXRpbmciKSkNCiAgICB9LCBlLnByb3RvdHlwZS5wYXVzZSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICB0aGlzLl9jb3JlLmlzKCJyb3RhdGluZyIpICYmICF0aGlzLl9wYXVzZWQgJiYgKHRoaXMuX3RpbWUgPSB0aGlzLnJlYWQoKSwgdGhpcy5fcGF1c2VkID0gITAsIGIuY2xlYXJUaW1lb3V0KHRoaXMuX2NhbGwpKQ0KICAgIH0sIGUucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGEsIGI7DQogICAgICAgIHRoaXMuc3RvcCgpOw0KICAgICAgICBmb3IgKGEgaW4gdGhpcy5faGFuZGxlcnMpIHRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGEsIHRoaXMuX2hhbmRsZXJzW2FdKTsNCiAgICAgICAgZm9yIChiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSAiZnVuY3Rpb24iICE9IHR5cGVvZiB0aGlzW2JdICYmICh0aGlzW2JdID0gbnVsbCkNCiAgICB9LCBhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuYXV0b3BsYXkgPSBlDQp9KHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KSwNCmZ1bmN0aW9uKGEsIGIsIGMsIGQpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgdmFyIGUgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIHRoaXMuX2NvcmUgPSBiLCB0aGlzLl9pbml0aWFsaXplZCA9ICExLCB0aGlzLl9wYWdlcyA9IFtdLCB0aGlzLl9jb250cm9scyA9IHt9LCB0aGlzLl90ZW1wbGF0ZXMgPSBbXSwgdGhpcy4kZWxlbWVudCA9IHRoaXMuX2NvcmUuJGVsZW1lbnQsIHRoaXMuX292ZXJyaWRlcyA9IHsNCiAgICAgICAgICAgIG5leHQ6IHRoaXMuX2NvcmUubmV4dCwNCiAgICAgICAgICAgIHByZXY6IHRoaXMuX2NvcmUucHJldiwNCiAgICAgICAgICAgIHRvOiB0aGlzLl9jb3JlLnRvDQogICAgICAgIH0sIHRoaXMuX2hhbmRsZXJzID0gew0KICAgICAgICAgICAgInByZXBhcmVkLm93bC5jYXJvdXNlbCI6IGEucHJveHkoZnVuY3Rpb24oYikgew0KICAgICAgICAgICAgICAgIGIubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuZG90c0RhdGEgJiYgdGhpcy5fdGVtcGxhdGVzLnB1c2goJzxkaXYgY2xhc3M9IicgKyB0aGlzLl9jb3JlLnNldHRpbmdzLmRvdENsYXNzICsgJyI+JyArIGEoYi5jb250ZW50KS5maW5kKCJbZGF0YS1kb3RdIikuYWRkQmFjaygiW2RhdGEtZG90XSIpLmF0dHIoImRhdGEtZG90IikgKyAiPC9kaXY+IikNCiAgICAgICAgICAgIH0sIHRoaXMpLA0KICAgICAgICAgICAgImFkZGVkLm93bC5jYXJvdXNlbCI6IGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGEubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuZG90c0RhdGEgJiYgdGhpcy5fdGVtcGxhdGVzLnNwbGljZShhLnBvc2l0aW9uLCAwLCB0aGlzLl90ZW1wbGF0ZXMucG9wKCkpDQogICAgICAgICAgICB9LCB0aGlzKSwNCiAgICAgICAgICAgICJyZW1vdmUub3dsLmNhcm91c2VsIjogYS5wcm94eShmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgYS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSAmJiB0aGlzLl90ZW1wbGF0ZXMuc3BsaWNlKGEucG9zaXRpb24sIDEpDQogICAgICAgICAgICB9LCB0aGlzKSwNCiAgICAgICAgICAgICJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6IGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGEubmFtZXNwYWNlICYmICJwb3NpdGlvbiIgPT0gYS5wcm9wZXJ0eS5uYW1lICYmIHRoaXMuZHJhdygpDQogICAgICAgICAgICB9LCB0aGlzKSwNCiAgICAgICAgICAgICJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwiOiBhLnByb3h5KGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICBhLm5hbWVzcGFjZSAmJiAhdGhpcy5faW5pdGlhbGl6ZWQgJiYgKHRoaXMuX2NvcmUudHJpZ2dlcigiaW5pdGlhbGl6ZSIsIG51bGwsICJuYXZpZ2F0aW9uIiksIHRoaXMuaW5pdGlhbGl6ZSgpLCB0aGlzLnVwZGF0ZSgpLCB0aGlzLmRyYXcoKSwgdGhpcy5faW5pdGlhbGl6ZWQgPSAhMCwgdGhpcy5fY29yZS50cmlnZ2VyKCJpbml0aWFsaXplZCIsIG51bGwsICJuYXZpZ2F0aW9uIikpDQogICAgICAgICAgICB9LCB0aGlzKSwNCiAgICAgICAgICAgICJyZWZyZXNoZWQub3dsLmNhcm91c2VsIjogYS5wcm94eShmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgYS5uYW1lc3BhY2UgJiYgdGhpcy5faW5pdGlhbGl6ZWQgJiYgKHRoaXMuX2NvcmUudHJpZ2dlcigicmVmcmVzaCIsIG51bGwsICJuYXZpZ2F0aW9uIiksIHRoaXMudXBkYXRlKCksIHRoaXMuZHJhdygpLCB0aGlzLl9jb3JlLnRyaWdnZXIoInJlZnJlc2hlZCIsIG51bGwsICJuYXZpZ2F0aW9uIikpDQogICAgICAgICAgICB9LCB0aGlzKQ0KICAgICAgICB9LCB0aGlzLl9jb3JlLm9wdGlvbnMgPSBhLmV4dGVuZCh7fSwgZS5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKSwgdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycykNCiAgICB9Ow0KICAgIGUuRGVmYXVsdHMgPSB7DQogICAgICAgIG5hdjogITEsDQogICAgICAgIG5hdlRleHQ6IFsnPHNwYW4gYXJpYS1sYWJlbD0iUHJldmlvdXMiPiYjeDIwMzk7PC9zcGFuPicsICc8c3BhbiBhcmlhLWxhYmVsPSJOZXh0Ij4mI3gyMDNhOzwvc3Bhbj4nXSwNCiAgICAgICAgbmF2U3BlZWQ6ICExLA0KICAgICAgICBuYXZFbGVtZW50OiAnYnV0dG9uIHR5cGU9ImJ1dHRvbiIgcm9sZT0icHJlc2VudGF0aW9uIicsDQogICAgICAgIG5hdkNvbnRhaW5lcjogITEsDQogICAgICAgIG5hdkNvbnRhaW5lckNsYXNzOiAib3dsLW5hdiIsDQogICAgICAgIG5hdkNsYXNzOiBbIm93bC1wcmV2IiwgIm93bC1uZXh0Il0sDQogICAgICAgIHNsaWRlQnk6IDEsDQogICAgICAgIGRvdENsYXNzOiAib3dsLWRvdCIsDQogICAgICAgIGRvdHNDbGFzczogIm93bC1kb3RzIiwNCiAgICAgICAgZG90czogITAsDQogICAgICAgIGRvdHNFYWNoOiAhMSwNCiAgICAgICAgZG90c0RhdGE6ICExLA0KICAgICAgICBkb3RzU3BlZWQ6ICExLA0KICAgICAgICBkb3RzQ29udGFpbmVyOiAhMQ0KICAgIH0sIGUucHJvdG90eXBlLmluaXRpYWxpemUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGIsIGMgPSB0aGlzLl9jb3JlLnNldHRpbmdzOw0KICAgICAgICB0aGlzLl9jb250cm9scy4kcmVsYXRpdmUgPSAoYy5uYXZDb250YWluZXIgPyBhKGMubmF2Q29udGFpbmVyKSA6IGEoIjxkaXY+IikuYWRkQ2xhc3MoYy5uYXZDb250YWluZXJDbGFzcykuYXBwZW5kVG8odGhpcy4kZWxlbWVudCkpLmFkZENsYXNzKCJkaXNhYmxlZCIpLCB0aGlzLl9jb250cm9scy4kcHJldmlvdXMgPSBhKCI8IiArIGMubmF2RWxlbWVudCArICI+IikuYWRkQ2xhc3MoYy5uYXZDbGFzc1swXSkuaHRtbChjLm5hdlRleHRbMF0pLnByZXBlbmRUbyh0aGlzLl9jb250cm9scy4kcmVsYXRpdmUpLm9uKCJjbGljayIsIGEucHJveHkoZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgdGhpcy5wcmV2KGMubmF2U3BlZWQpDQogICAgICAgIH0sIHRoaXMpKSwgdGhpcy5fY29udHJvbHMuJG5leHQgPSBhKCI8IiArIGMubmF2RWxlbWVudCArICI+IikuYWRkQ2xhc3MoYy5uYXZDbGFzc1sxXSkuaHRtbChjLm5hdlRleHRbMV0pLmFwcGVuZFRvKHRoaXMuX2NvbnRyb2xzLiRyZWxhdGl2ZSkub24oImNsaWNrIiwgYS5wcm94eShmdW5jdGlvbihhKSB7DQogICAgICAgICAgICB0aGlzLm5leHQoYy5uYXZTcGVlZCkNCiAgICAgICAgfSwgdGhpcykpLCBjLmRvdHNEYXRhIHx8ICh0aGlzLl90ZW1wbGF0ZXMgPSBbYSgnPGJ1dHRvbiByb2xlPSJidXR0b24iPicpLmFkZENsYXNzKGMuZG90Q2xhc3MpLmFwcGVuZChhKCI8c3Bhbj4iKSkucHJvcCgib3V0ZXJIVE1MIildKSwgdGhpcy5fY29udHJvbHMuJGFic29sdXRlID0gKGMuZG90c0NvbnRhaW5lciA/IGEoYy5kb3RzQ29udGFpbmVyKSA6IGEoIjxkaXY+IikuYWRkQ2xhc3MoYy5kb3RzQ2xhc3MpLmFwcGVuZFRvKHRoaXMuJGVsZW1lbnQpKS5hZGRDbGFzcygiZGlzYWJsZWQiKSwgdGhpcy5fY29udHJvbHMuJGFic29sdXRlLm9uKCJjbGljayIsICJidXR0b24iLCBhLnByb3h5KGZ1bmN0aW9uKGIpIHsNCiAgICAgICAgICAgIHZhciBkID0gYShiLnRhcmdldCkucGFyZW50KCkuaXModGhpcy5fY29udHJvbHMuJGFic29sdXRlKSA/IGEoYi50YXJnZXQpLmluZGV4KCkgOiBhKGIudGFyZ2V0KS5wYXJlbnQoKS5pbmRleCgpOw0KICAgICAgICAgICAgYi5wcmV2ZW50RGVmYXVsdCgpLCB0aGlzLnRvKGQsIGMuZG90c1NwZWVkKQ0KICAgICAgICB9LCB0aGlzKSk7DQogICAgICAgIGZvciAoYiBpbiB0aGlzLl9vdmVycmlkZXMpIHRoaXMuX2NvcmVbYl0gPSBhLnByb3h5KHRoaXNbYl0sIHRoaXMpDQogICAgfSwgZS5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgYSwgYiwgYywgZCwgZTsNCiAgICAgICAgZSA9IHRoaXMuX2NvcmUuc2V0dGluZ3M7DQogICAgICAgIGZvciAoYSBpbiB0aGlzLl9oYW5kbGVycykgdGhpcy4kZWxlbWVudC5vZmYoYSwgdGhpcy5faGFuZGxlcnNbYV0pOw0KICAgICAgICBmb3IgKGIgaW4gdGhpcy5fY29udHJvbHMpICIkcmVsYXRpdmUiID09PSBiICYmIGUubmF2Q29udGFpbmVyID8gdGhpcy5fY29udHJvbHNbYl0uaHRtbCgiIikgOiB0aGlzLl9jb250cm9sc1tiXS5yZW1vdmUoKTsNCiAgICAgICAgZm9yIChkIGluIHRoaXMub3ZlcmlkZXMpIHRoaXMuX2NvcmVbZF0gPSB0aGlzLl9vdmVycmlkZXNbZF07DQogICAgICAgIGZvciAoYyBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgImZ1bmN0aW9uIiAhPSB0eXBlb2YgdGhpc1tjXSAmJiAodGhpc1tjXSA9IG51bGwpDQogICAgfSwgZS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBhLCBiLCBjLCBkID0gdGhpcy5fY29yZS5jbG9uZXMoKS5sZW5ndGggLyAyLA0KICAgICAgICAgICAgZSA9IGQgKyB0aGlzLl9jb3JlLml0ZW1zKCkubGVuZ3RoLA0KICAgICAgICAgICAgZiA9IHRoaXMuX2NvcmUubWF4aW11bSghMCksDQogICAgICAgICAgICBnID0gdGhpcy5fY29yZS5zZXR0aW5ncywNCiAgICAgICAgICAgIGggPSBnLmNlbnRlciB8fCBnLmF1dG9XaWR0aCB8fCBnLmRvdHNEYXRhID8gMSA6IGcuZG90c0VhY2ggfHwgZy5pdGVtczsNCiAgICAgICAgaWYgKCJwYWdlIiAhPT0gZy5zbGlkZUJ5ICYmIChnLnNsaWRlQnkgPSBNYXRoLm1pbihnLnNsaWRlQnksIGcuaXRlbXMpKSwgZy5kb3RzIHx8ICJwYWdlIiA9PSBnLnNsaWRlQnkpDQogICAgICAgICAgICBmb3IgKHRoaXMuX3BhZ2VzID0gW10sIGEgPSBkLCBiID0gMCwgYyA9IDA7IGEgPCBlOyBhKyspIHsNCiAgICAgICAgICAgICAgICBpZiAoYiA+PSBoIHx8IDAgPT09IGIpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3BhZ2VzLnB1c2goew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBNYXRoLm1pbihmLCBhIC0gZCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBhIC0gZCArIGggLSAxDQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgTWF0aC5taW4oZiwgYSAtIGQpID09PSBmKSBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgYiA9IDAsICsrYw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBiICs9IHRoaXMuX2NvcmUubWVyZ2Vycyh0aGlzLl9jb3JlLnJlbGF0aXZlKGEpKQ0KICAgICAgICAgICAgfQ0KICAgIH0sIGUucHJvdG90eXBlLmRyYXcgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGIsIGMgPSB0aGlzLl9jb3JlLnNldHRpbmdzLA0KICAgICAgICAgICAgZCA9IHRoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGggPD0gYy5pdGVtcywNCiAgICAgICAgICAgIGUgPSB0aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSwNCiAgICAgICAgICAgIGYgPSBjLmxvb3AgfHwgYy5yZXdpbmQ7DQogICAgICAgIHRoaXMuX2NvbnRyb2xzLiRyZWxhdGl2ZS50b2dnbGVDbGFzcygiZGlzYWJsZWQiLCAhYy5uYXYgfHwgZCksIGMubmF2ICYmICh0aGlzLl9jb250cm9scy4kcHJldmlvdXMudG9nZ2xlQ2xhc3MoImRpc2FibGVkIiwgIWYgJiYgZSA8PSB0aGlzLl9jb3JlLm1pbmltdW0oITApKSwgdGhpcy5fY29udHJvbHMuJG5leHQudG9nZ2xlQ2xhc3MoImRpc2FibGVkIiwgIWYgJiYgZSA+PSB0aGlzLl9jb3JlLm1heGltdW0oITApKSksIHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS50b2dnbGVDbGFzcygiZGlzYWJsZWQiLCAhYy5kb3RzIHx8IGQpLCBjLmRvdHMgJiYgKGIgPSB0aGlzLl9wYWdlcy5sZW5ndGggLSB0aGlzLl9jb250cm9scy4kYWJzb2x1dGUuY2hpbGRyZW4oKS5sZW5ndGgsIGMuZG90c0RhdGEgJiYgMCAhPT0gYiA/IHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5odG1sKHRoaXMuX3RlbXBsYXRlcy5qb2luKCIiKSkgOiBiID4gMCA/IHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5hcHBlbmQobmV3IEFycmF5KGIgKyAxKS5qb2luKHRoaXMuX3RlbXBsYXRlc1swXSkpIDogYiA8IDAgJiYgdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmNoaWxkcmVuKCkuc2xpY2UoYikucmVtb3ZlKCksIHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLCB0aGlzLl9jb250cm9scy4kYWJzb2x1dGUuY2hpbGRyZW4oKS5lcShhLmluQXJyYXkodGhpcy5jdXJyZW50KCksIHRoaXMuX3BhZ2VzKSkuYWRkQ2xhc3MoImFjdGl2ZSIpKQ0KICAgIH0sIGUucHJvdG90eXBlLm9uVHJpZ2dlciA9IGZ1bmN0aW9uKGIpIHsNCiAgICAgICAgdmFyIGMgPSB0aGlzLl9jb3JlLnNldHRpbmdzOw0KICAgICAgICBiLnBhZ2UgPSB7DQogICAgICAgICAgICBpbmRleDogYS5pbkFycmF5KHRoaXMuY3VycmVudCgpLCB0aGlzLl9wYWdlcyksDQogICAgICAgICAgICBjb3VudDogdGhpcy5fcGFnZXMubGVuZ3RoLA0KICAgICAgICAgICAgc2l6ZTogYyAmJiAoYy5jZW50ZXIgfHwgYy5hdXRvV2lkdGggfHwgYy5kb3RzRGF0YSA/IDEgOiBjLmRvdHNFYWNoIHx8IGMuaXRlbXMpDQogICAgICAgIH0NCiAgICB9LCBlLnByb3RvdHlwZS5jdXJyZW50ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBiID0gdGhpcy5fY29yZS5yZWxhdGl2ZSh0aGlzLl9jb3JlLmN1cnJlbnQoKSk7DQogICAgICAgIHJldHVybiBhLmdyZXAodGhpcy5fcGFnZXMsIGEucHJveHkoZnVuY3Rpb24oYSwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEuc3RhcnQgPD0gYiAmJiBhLmVuZCA+PSBiDQogICAgICAgIH0sIHRoaXMpKS5wb3AoKQ0KICAgIH0sIGUucHJvdG90eXBlLmdldFBvc2l0aW9uID0gZnVuY3Rpb24oYikgew0KICAgICAgICB2YXIgYywgZCwgZSA9IHRoaXMuX2NvcmUuc2V0dGluZ3M7DQogICAgICAgIHJldHVybiAicGFnZSIgPT0gZS5zbGlkZUJ5ID8gKGMgPSBhLmluQXJyYXkodGhpcy5jdXJyZW50KCksIHRoaXMuX3BhZ2VzKSwgZCA9IHRoaXMuX3BhZ2VzLmxlbmd0aCwgYiA/ICsrYyA6IC0tYywgYyA9IHRoaXMuX3BhZ2VzWyhjICUgZCArIGQpICUgZF0uc3RhcnQpIDogKGMgPSB0aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSwgZCA9IHRoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGgsIGIgPyBjICs9IGUuc2xpZGVCeSA6IGMgLT0gZS5zbGlkZUJ5KSwgYw0KICAgIH0sIGUucHJvdG90eXBlLm5leHQgPSBmdW5jdGlvbihiKSB7DQogICAgICAgIGEucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLCB0aGlzLl9jb3JlKSh0aGlzLmdldFBvc2l0aW9uKCEwKSwgYikNCiAgICB9LCBlLnByb3RvdHlwZS5wcmV2ID0gZnVuY3Rpb24oYikgew0KICAgICAgICBhLnByb3h5KHRoaXMuX292ZXJyaWRlcy50bywgdGhpcy5fY29yZSkodGhpcy5nZXRQb3NpdGlvbighMSksIGIpDQogICAgfSwgZS5wcm90b3R5cGUudG8gPSBmdW5jdGlvbihiLCBjLCBkKSB7DQogICAgICAgIHZhciBlOw0KICAgICAgICAhZCAmJiB0aGlzLl9wYWdlcy5sZW5ndGggPyAoZSA9IHRoaXMuX3BhZ2VzLmxlbmd0aCwgYS5wcm94eSh0aGlzLl9vdmVycmlkZXMudG8sIHRoaXMuX2NvcmUpKHRoaXMuX3BhZ2VzWyhiICUgZSArIGUpICUgZV0uc3RhcnQsIGMpKSA6IGEucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLCB0aGlzLl9jb3JlKShiLCBjKQ0KICAgIH0sIGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5OYXZpZ2F0aW9uID0gZQ0KfSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCksDQpmdW5jdGlvbihhLCBiLCBjLCBkKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHZhciBlID0gZnVuY3Rpb24oYykgew0KICAgICAgICB0aGlzLl9jb3JlID0gYywgdGhpcy5faGFzaGVzID0ge30sIHRoaXMuJGVsZW1lbnQgPSB0aGlzLl9jb3JlLiRlbGVtZW50LCB0aGlzLl9oYW5kbGVycyA9IHsNCiAgICAgICAgICAgICJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwiOiBhLnByb3h5KGZ1bmN0aW9uKGMpIHsNCiAgICAgICAgICAgICAgICBjLm5hbWVzcGFjZSAmJiAiVVJMSGFzaCIgPT09IHRoaXMuX2NvcmUuc2V0dGluZ3Muc3RhcnRQb3NpdGlvbiAmJiBhKGIpLnRyaWdnZXIoImhhc2hjaGFuZ2Uub3dsLm5hdmlnYXRpb24iKQ0KICAgICAgICAgICAgfSwgdGhpcyksDQogICAgICAgICAgICAicHJlcGFyZWQub3dsLmNhcm91c2VsIjogYS5wcm94eShmdW5jdGlvbihiKSB7DQogICAgICAgICAgICAgICAgaWYgKGIubmFtZXNwYWNlKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjID0gYShiLmNvbnRlbnQpLmZpbmQoIltkYXRhLWhhc2hdIikuYWRkQmFjaygiW2RhdGEtaGFzaF0iKS5hdHRyKCJkYXRhLWhhc2giKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCFjKSByZXR1cm47DQogICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhc2hlc1tjXSA9IGIuY29udGVudA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHRoaXMpLA0KICAgICAgICAgICAgImNoYW5nZWQub3dsLmNhcm91c2VsIjogYS5wcm94eShmdW5jdGlvbihjKSB7DQogICAgICAgICAgICAgICAgaWYgKGMubmFtZXNwYWNlICYmICJwb3NpdGlvbiIgPT09IGMucHJvcGVydHkubmFtZSkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IHRoaXMuX2NvcmUuaXRlbXModGhpcy5fY29yZS5yZWxhdGl2ZSh0aGlzLl9jb3JlLmN1cnJlbnQoKSkpLA0KICAgICAgICAgICAgICAgICAgICAgICAgZSA9IGEubWFwKHRoaXMuX2hhc2hlcywgZnVuY3Rpb24oYSwgYikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhID09PSBkID8gYiA6IG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmpvaW4oKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCFlIHx8IGIubG9jYXRpb24uaGFzaC5zbGljZSgxKSA9PT0gZSkgcmV0dXJuOw0KICAgICAgICAgICAgICAgICAgICBiLmxvY2F0aW9uLmhhc2ggPSBlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgdGhpcykNCiAgICAgICAgfSwgdGhpcy5fY29yZS5vcHRpb25zID0gYS5leHRlbmQoe30sIGUuRGVmYXVsdHMsIHRoaXMuX2NvcmUub3B0aW9ucyksIHRoaXMuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLCBhKGIpLm9uKCJoYXNoY2hhbmdlLm93bC5uYXZpZ2F0aW9uIiwgYS5wcm94eShmdW5jdGlvbihhKSB7DQogICAgICAgICAgICB2YXIgYyA9IGIubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSksDQogICAgICAgICAgICAgICAgZSA9IHRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCksDQogICAgICAgICAgICAgICAgZiA9IHRoaXMuX2hhc2hlc1tjXSAmJiBlLmluZGV4KHRoaXMuX2hhc2hlc1tjXSk7DQogICAgICAgICAgICBmICE9PSBkICYmIGYgIT09IHRoaXMuX2NvcmUuY3VycmVudCgpICYmIHRoaXMuX2NvcmUudG8odGhpcy5fY29yZS5yZWxhdGl2ZShmKSwgITEsICEwKQ0KICAgICAgICB9LCB0aGlzKSkNCiAgICB9Ow0KICAgIGUuRGVmYXVsdHMgPSB7DQogICAgICAgIFVSTGhhc2hMaXN0ZW5lcjogITENCiAgICB9LCBlLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBjLCBkOw0KICAgICAgICBhKGIpLm9mZigiaGFzaGNoYW5nZS5vd2wubmF2aWdhdGlvbiIpOw0KICAgICAgICBmb3IgKGMgaW4gdGhpcy5faGFuZGxlcnMpIHRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGMsIHRoaXMuX2hhbmRsZXJzW2NdKTsNCiAgICAgICAgZm9yIChkIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSAiZnVuY3Rpb24iICE9IHR5cGVvZiB0aGlzW2RdICYmICh0aGlzW2RdID0gbnVsbCkNCiAgICB9LCBhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuSGFzaCA9IGUNCn0od2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpLA0KZnVuY3Rpb24oYSwgYiwgYywgZCkgew0KICAgIGZ1bmN0aW9uIGUoYiwgYykgew0KICAgICAgICB2YXIgZSA9ICExLA0KICAgICAgICAgICAgZiA9IGIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBiLnNsaWNlKDEpOw0KICAgICAgICByZXR1cm4gYS5lYWNoKChiICsgIiAiICsgaC5qb2luKGYgKyAiICIpICsgZikuc3BsaXQoIiAiKSwgZnVuY3Rpb24oYSwgYikgew0KICAgICAgICAgICAgaWYgKGdbYl0gIT09IGQpIHJldHVybiBlID0gIWMgfHwgYiwgITENCiAgICAgICAgfSksIGUNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBmKGEpIHsNCiAgICAgICAgcmV0dXJuIGUoYSwgITApDQogICAgfQ0KICAgIHZhciBnID0gYSgiPHN1cHBvcnQ+IikuZ2V0KDApLnN0eWxlLA0KICAgICAgICBoID0gIldlYmtpdCBNb3ogTyBtcyIuc3BsaXQoIiAiKSwNCiAgICAgICAgaSA9IHsNCiAgICAgICAgICAgIHRyYW5zaXRpb246IHsNCiAgICAgICAgICAgICAgICBlbmQ6IHsNCiAgICAgICAgICAgICAgICAgICAgV2Via2l0VHJhbnNpdGlvbjogIndlYmtpdFRyYW5zaXRpb25FbmQiLA0KICAgICAgICAgICAgICAgICAgICBNb3pUcmFuc2l0aW9uOiAidHJhbnNpdGlvbmVuZCIsDQogICAgICAgICAgICAgICAgICAgIE9UcmFuc2l0aW9uOiAib1RyYW5zaXRpb25FbmQiLA0KICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAidHJhbnNpdGlvbmVuZCINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYW5pbWF0aW9uOiB7DQogICAgICAgICAgICAgICAgZW5kOiB7DQogICAgICAgICAgICAgICAgICAgIFdlYmtpdEFuaW1hdGlvbjogIndlYmtpdEFuaW1hdGlvbkVuZCIsDQogICAgICAgICAgICAgICAgICAgIE1vekFuaW1hdGlvbjogImFuaW1hdGlvbmVuZCIsDQogICAgICAgICAgICAgICAgICAgIE9BbmltYXRpb246ICJvQW5pbWF0aW9uRW5kIiwNCiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAiYW5pbWF0aW9uZW5kIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgaiA9IHsNCiAgICAgICAgICAgIGNzc3RyYW5zZm9ybXM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAhIWUoInRyYW5zZm9ybSIpDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY3NzdHJhbnNmb3JtczNkOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gISFlKCJwZXJzcGVjdGl2ZSIpDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY3NzdHJhbnNpdGlvbnM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAhIWUoInRyYW5zaXRpb24iKQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNzc2FuaW1hdGlvbnM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAhIWUoImFuaW1hdGlvbiIpDQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgai5jc3N0cmFuc2l0aW9ucygpICYmIChhLnN1cHBvcnQudHJhbnNpdGlvbiA9IG5ldyBTdHJpbmcoZigidHJhbnNpdGlvbiIpKSwgYS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kID0gaS50cmFuc2l0aW9uLmVuZFthLnN1cHBvcnQudHJhbnNpdGlvbl0pLCBqLmNzc2FuaW1hdGlvbnMoKSAmJiAoYS5zdXBwb3J0LmFuaW1hdGlvbiA9IG5ldyBTdHJpbmcoZigiYW5pbWF0aW9uIikpLCBhLnN1cHBvcnQuYW5pbWF0aW9uLmVuZCA9IGkuYW5pbWF0aW9uLmVuZFthLnN1cHBvcnQuYW5pbWF0aW9uXSksIGouY3NzdHJhbnNmb3JtcygpICYmIChhLnN1cHBvcnQudHJhbnNmb3JtID0gbmV3IFN0cmluZyhmKCJ0cmFuc2Zvcm0iKSksIGEuc3VwcG9ydC50cmFuc2Zvcm0zZCA9IGouY3NzdHJhbnNmb3JtczNkKCkpDQp9KHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KTs="}},"time_used":624,"timings":{"blocked":530,"dns":0,"connect":0,"send":0,"wait":92,"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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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://huobiget.com/","date":"2026-07-27T07:21:40.219Z","timestamp":1785136900219,"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/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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://huobiget.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: 48320\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:19 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:19 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:30:41 GMT\r\ncontent-type: font/woff2\r\nage: 411081\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":48320,"size_decoded":49133,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48320, version 1.0","md5":"dcf31ebe107435bd68e0164d59e19b87","sha1":"b68160c9333af833fe483928b3ef7128c07a56a0","sha256":"d8e4fe0452aa2076429a9bb5d8757d00a994dd95986cf950e9a1a371b9a072a0","sha512":"130cd52c3cccc36a7029bf92b2ddb363b8b36d206454aacc246739919552fccec5cacbad615ba4ac3817da3e83239371fe51324bdadd08357e3495087f62cb08","ssdeep":"768:Jzqdwl5YV7FVmpudK5a8dF8D8Z7J78VGnNFZEKh02dmSTPe9UiallHcOEi2c0NC1:9q+SYuMaVwZ7oGRNh02dd6UialBcOEpE","tlshash":"1623f218f29471f7edecd4d500a18c72baa528d442f116ed07b8d53ca36ca817a729fb","first_seen":"2025-09-17T00:07:53.723302Z","last_seen":"2026-08-10T09:50:12.954476Z","times_seen":324238,"resource_available":false,"data":"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"}},"time_used":83,"timings":{"blocked":12,"dns":0,"connect":0,"send":0,"wait":23,"receive":48,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32816.355d75b21ae4b534a849.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.289Z","timestamp":1785136901289,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32816.355d75b21ae4b534a849.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 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: 94d2b6fc0844a1460fd73cc3146ce30e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4138,"size_decoded":1890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4138), with no line terminators","md5":"1769fde9875fdbb634439ca894f9dbe9","sha1":"44ac405e2cfa40ef07cbca4bf97d2226e51258d3","sha256":"8b2250108bfd0dcb2848b28cd1bf2fec55df68d3105b3bf87664cfd86cf2ff10","sha512":"b537406a03c65c8c9859d1e4cb17c37e062cc846b9e763763bbbfa0670ed74ffd1a3f571e5e7654a7b809c6810990a95babd6183fced394492ae1095b4193bcf","ssdeep":"48:D+GIP+GI2LrVLjVQqpz5Cw83JJMeFtQSphXivmRE0r/VC5WNHC5mNVd:DaRLBLpQqpVv0JKOTphXiuREIVweHwmZ","tlshash":"f5814858835c4dafbb2647826762fc582164e3feb2324b6c534924fd46b4d6d39332c5","first_seen":"2026-07-16T11:36:17.974176Z","last_seen":"2026-08-10T08:00:01.05669Z","times_seen":2488,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtODRvdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTg0b3Q6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBhaXIteHdHc1NYUjB7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LnBhaXIteHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ucGFpci14d0dzU1hSMC54eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnBhaXIteHdHc1NYUjAuc21hbGwteHdHc1NYUjB7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucGFpci14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ucGFpci14d0dzU1hSMC5sYXJnZS14d0dzU1hSMHtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5wYWlyLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NTZweDt3aWR0aDo1NnB4fS5wYWlyLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjB7aGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fS5wYWlyLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0ucGFpci14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjEycHh9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHh9LmxvZ28teHdHc1NYUjB7Ym9yZGVyLXJhZGl1czo1MCV9LmxvZ28teHdHc1NYUjA6bm90KGltZyl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC04NG90KX0ubG9nby14d0dzU1hSMDpmaXJzdC1jaGlsZCwubG9nby14d0dzU1hSMDpsYXN0LWNoaWxke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHg7d2lkdGg6OHB4fS5sb2dvLXh3R3NTWFIwLnh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCl9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOHB4KX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LmxvZ28teHdHc1NYUjAueHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5sb2dvLXh3R3NTWFIwLnNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTBweCwxMHB4KX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LDEycHgpfS5sb2dvLXh3R3NTWFIwLmxhcmdlLXh3R3NTWFIwe2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmxvZ28teHdHc1NYUjAubGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6MzhweDt3aWR0aDozOHB4fS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCl9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS5sb2dvLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxMTRweDt3aWR0aDoxMTRweH0ubG9nby14d0dzU1hSMC54eHhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTU0cHgsNTRweCl9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwOmxhc3QtY2hpbGR7b3V0bGluZToxcHggc29saWQgdmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1iYWNrZ3JvdW5kKX0ubG9nby14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zLjc0ODgyIDExLjU2MzRDNS4xNDIzOSAxMC4xMjM2IDYgOC4xNjE5OCA2IDZDNiAzLjgzODAyIDUuMTQyMzkgMS44NzYzNSAzLjc0ODgyIDAuNDM2NjE3QzQuNDQzOTYgMC4xNTUwNTYgNS4yMDM4NyAtNS45NDEzNmUtMDcgNiAtNS4yNDUzN2UtMDdDOS4zMTM3MSAtMi4zNDg0M2UtMDcgMTIgMi42ODYyOSAxMiA2QzEyIDkuMzEzNzEgOS4zMTM3MSAxMiA2IDEyQzUuMjAzODcgMTIgNC40NDM5NiAxMS44NDQ5IDMuNzQ4ODIgMTEuNTYzNFoiKX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTEyIDBIMHY0YTggOCAwIDAgMSA4IDhoNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2Ni4yNTRBOCA4IDAgMCAxIDUuNzQ2IDEySDEyWiIpfS5sb2dvLXh3R3NTWFIwLnhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE2IDhBOCA4IDAgMCAwIC4zIDZhMTAgMTAgMCAwIDEgOS43IDkuN0E4IDggMCAwIDAgMTYgOFoiKX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE4IDBIMHY4LjA0QTExIDExIDAgMCAxIDkuOTYgMThIMThWMFoiKX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0ubG9nby14d0dzU1hSMC5sYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTMyIDBIMHYxNGExOCAxOCAwIDAgMSAxOCAxOGgxNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTM4IDBIMHYxNi4wMkwxIDE2YTIxIDIxIDAgMCAxIDIwLjk4IDIySDM4VjBaIil9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTc2IDBIMHYzMi4wNUE0MiA0MiAwIDAgMSA0My45NSA3Nkg3NlYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0uc2tlbGV0b24teHdHc1NYUjB7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tZGFyay5kNmQwN2JmZjkyZDdlNGRmZjVhZC5zdmcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.640Z","timestamp":1785136901640,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3873\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: baabe647f7a02b9d9feb73ce2357ee2a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":14451,"size_decoded":5256,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3064)","md5":"02705aa805bbac9bccc99b4d5b83d9f4","sha1":"78a6115784af9125bbdcffa02a4e496b8927e73b","sha256":"7ee5f3a19f5fe49954db3d9c732c7ec564831ce84b66ae61abcb67931f501f2a","sha512":"1ab4eee9064f0fd0b6970b0925fe5ba110fc2d334cb02d30864795e52bf9098a3d49ecd831402b6ad990e5f8c5a697078b2aecacaced188be7ee1e1d95a3f765","ssdeep":"384:Ab04y76xACAdQlDbTQ7ZiScKevr/0XV67P9kfZv/H6eS/Vns1Ln5Ind8ES:6y76xApdQRbTQHEj6xvyUGd8ES","tlshash":"3352a731b1a2bce623b410d6afe8069e856a5d50a45e6cf8f26cd0f71cd5509173db3c","first_seen":"2026-07-22T16:00:00.386345Z","last_seen":"2026-07-28T06:17:53.447505Z","times_seen":89,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTIyMjddLHs3MzQ5MDModCxlLG8pe28uZChlLHtsZWZ0Q29sdW1uQXJlYUxlZnRSaWdodDooKT0+YyxyaWdodENvbHVtbkFyZWFMZWZ0UmlnaHQ6KCk9PnAscm93VG9wQm90dG9tOigpPT5hLHN1bW1hcnlBcmVhMkNvbHVtbnNMZWZ0UmlnaHQ6KCk9Pm0sdG90YWxBcmVhTGVmdFJpZ2h0OigpPT5kLHZvbHVtZUZvb3RwcmludENvb3JkaW5hdGVTcGFjZTooKT0+Zn0pO3ZhciBpLHI9byg3MzY1MzEpLG49bygxOTg5MDEpLGw9bygxNzQzNDIpO2Z1bmN0aW9uIGEodCxlLG8scixuKXtjb25zdCBsPU1hdGgucm91bmQodC5wcmljZVRvQ29vcmRpbmF0ZShyK28sZSkqbi52ZXJ0aWNhbFBpeGVsUmF0aW8pLGE9TWF0aC5yb3VuZCh0LnByaWNlVG9Db29yZGluYXRlKHIsZSkqbi52ZXJ0aWNhbFBpeGVsUmF0aW8pLHM9TWF0aC5tYXgoaS5MZXZlbHNTcGFjaW5nLE1hdGguZmxvb3IoaS5MZXZlbHNTcGFjaW5nKm4udmVydGljYWxQaXhlbFJhdGlvKSk7cmV0dXJue3RvcDpNYXRoLm1pbihsLGEpLGJvdHRvbTpNYXRoLm1heChsLGEpLXN9fWZ1bmN0aW9uIHModCxlLG8scil7Y29uc3Qgbj1NYXRoLnJvdW5kKHQucHJpY2VUb0Nvb3JkaW5hdGUobyxlKSpyLnZlcnRpY2FsUGl4ZWxSYXRpbyk7cmV0dXJue3RvcDpuLU1hdGgubWF4KGkuTGV2ZWxzU3BhY2luZyxNYXRoLmZsb29yKGkuTGV2ZWxzU3BhY2luZypyLnZlcnRpY2FsUGl4ZWxSYXRpbykpLGJvdHRvbTpufX1mdW5jdGlvbiB1KHQsZSl7Y29uc3Qgbz10LnJpZ2h0LXQubGVmdDtyZXR1cm57Y2VudGVyOk1hdGgucm91bmQodC5jZW50ZXIqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksY29sdW1uV2lkdGg6TWF0aC5yb3VuZChvKmkuQ29sdW1uU3BhY2UqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksb2Zmc2V0Ok1hdGgucm91bmQobyppLkNhbmRsZVNwYWNlKi41KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pfX1mdW5jdGlvbiBjKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlci1vLmNvbHVtbldpZHRoLW8ub2Zmc2V0O3JldHVybntsZWZ0OmkscmlnaHQ6aStvLmNvbHVtbldpZHRofX1mdW5jdGlvbiBwKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlcitvLm9mZnNldCsxO3JldHVybntsZWZ0OmkscmlnaHQ6aStvLmNvbHVtbldpZHRofX1mdW5jdGlvbiBkKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlcitvLm9mZnNldCsxO3JldHVybntsZWZ0OmkscmlnaHQ6aSsyKm8uY29sdW1uV2lkdGh9fWZ1bmN0aW9uIG0odCxlKXtjb25zdCBvPXUodCxlKTtyZXR1cm57bGVmdDpvLmNlbnRlci1vLmNvbHVtbldpZHRoLW8ub2Zmc2V0LHJpZ2h0Om8uY2VudGVyK28ub2Zmc2V0KzErby5jb2x1bW5XaWR0aH19IWZ1bmN0aW9uKHQpe3RbdC5Db2x1bW5TcGFjZT0uMzVdPSJDb2x1bW5TcGFjZSIsdFt0LkNhbmRsZVNwYWNlPS4yXT0iQ2FuZGxlU3BhY2UiLHRbdC5TdW1tYXJ5T2Zmc2V0PTVdPSJTdW1tYXJ5T2Zmc2V0Iix0W3QuTGV2ZWxzU3BhY2luZz0xXT0iTGV2ZWxzU3BhY2luZyIsdFt0LkltYmFsYW5jZUxldmVsT2Zmc2V0PTFdPSJJbWJhbGFuY2VMZXZlbE9mZnNldCIsdFt0LkltYmFsYW5jZUxldmVsV2lkdGg9M109IkltYmFsYW5jZUxldmVsV2lkdGgiLHRbdC5JbWJhbGFuY2VMZXZlbFZpc2liaWxpdHlNaW5CYXJXaWR0aD0xMF09IkltYmFsYW5jZUxldmVsVmlzaWJpbGl0eU1pbkJhcldpZHRoIix0W3QuTGV2ZWxUaXRsZXNWaXNpYmlsaXR5TWluQmFyV2lkdGg9MzMwXT0iTGV2ZWxUaXRsZXNWaXNpYmlsaXR5TWluQmFyV2lkdGgifShpfHwoaT17fSkpO2NvbnN0IGg9KHttaW46dCxtYXg6ZX0sbyk9Pk1hdGgucm91bmQoKGUueC10LngpKm8pO2Z1bmN0aW9uIGYodCl7Y29uc3R7dGltZVNjYWxlOmUscHJpY2VTY2FsZTpvLHZvbHVtZUZvb3RwcmludDpmLHJvd1NpemU6UyxmaXJzdFZhbHVlOmcsYmFyOngscGl4ZWxSYXRpb0luZm86dix2b2x1bWVGb290cHJpbnRUeXBlOmJ9PXQsW3cseV09KDAsbi5taW5NYXgpKFt4WzNdLC4uLigwLG4uY2FsY3VsYXRlTWluTWF4KShmLmxldmVscywodD0+dC5wcmljZSkpXSk7bGV0IFYsSTtzd2l0Y2goYil7Y2FzZSBsLlZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXMuQnV5QW5kU2VsbDpjYXNlIGwuVm9sdW1lRm9vdHByaW50VHlwZVZhbHVlcy5MYWRkZXI6Vj1jLEk9cDticmVhaztkZWZhdWx0OlY9ZCxJPWR9Y29uc3QgVD1lLmJhckJvcmRlcnMoZi5pbmRleCksRj1ULnJpZ2h0LVQubGVmdCxDPXQ9Pntjb25zdHtsZWZ0OmUscmlnaHQ6aX09VihULHYpLHt0b3A6bixib3R0b206bH09YShvLGcsUyx0LHYpO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShlLG4pLCgwLHIucG9pbnQpKGksbCkpfSxNPXQ9Pntjb25zdHtsZWZ0OmUscmlnaHQ6aX09SShULHYpLHt0b3A6bixib3R0b206bH09YShvLGcsUyx0LHYpO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShlLG4pLCgwLHIucG9pbnQpKGksbCkpfSxfPSgwLHIucG9pbnQpKDUqdi5ob3Jpem9udGFsUGl4ZWxSYXRpbywwKTtyZXR1cm57bGVmdFJvd0FyZWFCb3g6QyxyaWdodFJvd0FyZWFCb3g6TSxwZXJjZW50TGVmdFJvd0FyZWFCb3g6KHQsZSk9Pntjb25zdCBvPUModCkse21pbjppLG1heDpufT1vO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShuLngtaChvLGUpLGkueSksbil9LHBlcmNlbnRSaWdodFJvd0FyZWFCb3g6KHQsZSxvPSExKT0+e2NvbnN0IGk9bz8odD0+e2NvbnN0e21pbjplLG1heDpvfT10O3JldHVybigwLHIuYm94KShlLmFkZChfKSxvKX0pKE0odCkpOk0odCkse21pbjpuLG1heDpsfT1pO3JldHVybigwLHIuYm94KShuLCgwLHIucG9pbnQpKG4ueCtoKGksZSksbC55KSl9LGxldmVsQm94OnQ9Pntjb25zdCBlPVYoVCx2KSxpPUkoVCx2KSx7dG9wOm4sYm90dG9tOmx9PXMobyxnLHQsdik7cmV0dXJuKDAsci5ib3gpKCgwLHIucG9pbnQpKGUubGVmdCxuKSwoMCxyLnBvaW50KShpLnJpZ2h0LGwpKX0scHJvZmlsZVRvdGFsTGV2ZWxCb3g6dD0+ewpjb25zdCBlPWMoVCx2KSxpPWQoVCx2KSx7dG9wOm4sYm90dG9tOmx9PXMobyxnLHQsdik7cmV0dXJuKDAsci5ib3gpKCgwLHIucG9pbnQpKGUucmlnaHQsbiksKDAsci5wb2ludCkoaS5yaWdodCxsKSl9LHNob3dMZXZlbFRpdGxlczooKT0+Rj49aS5MZXZlbFRpdGxlc1Zpc2liaWxpdHlNaW5CYXJXaWR0aCxzdW1tYXJ5QXJlYTJDb2x1bW5zTW9kZTooKT0+e2NvbnN0IHQ9YShvLGcsUyx3LHYpLGU9YShvLGcsUyx5LHYpLG49TWF0aC5tYXgodC5ib3R0b20sZS5ib3R0b20pLHtsZWZ0OmwscmlnaHQ6c309bShULHYpO3JldHVybntib3g6KDAsci5ib3gpKCgwLHIucG9pbnQpKGwsbiksKDAsci5wb2ludCkocyxuKyh0LmJvdHRvbS10LnRvcCkpKSxtYXJnaW5Ub3A6TWF0aC5yb3VuZChpLlN1bW1hcnlPZmZzZXQqdi52ZXJ0aWNhbFBpeGVsUmF0aW8pfX0sc3VtbWFyeUFyZWExQ29sdW1uTW9kZTooKT0+e2NvbnN0IHQ9YShvLGcsUyx3LHYpLGU9YShvLGcsUyx5LHYpLG49TWF0aC5tYXgodC5ib3R0b20sZS5ib3R0b20pLHtsZWZ0OmwscmlnaHQ6c309ZnVuY3Rpb24odCxlKXtjb25zdCBvPXUodCxlKSxpPTIqby5jb2x1bW5XaWR0aDtyZXR1cm57bGVmdDpvLmNlbnRlci1vLm9mZnNldCxyaWdodDpvLmNlbnRlcitvLm9mZnNldCsxK2l9fShULHYpO3JldHVybntib3g6KDAsci5ib3gpKCgwLHIucG9pbnQpKGwsbiksKDAsci5wb2ludCkocyxuKyh0LmJvdHRvbS10LnRvcCkpKSxtYXJnaW5Ub3A6TWF0aC5yb3VuZChpLlN1bW1hcnlPZmZzZXQqdi52ZXJ0aWNhbFBpeGVsUmF0aW8pfX0saW1iYWxhbmNlQm94Oih0LGUsbj0hMCk9PntpZihGPGkuSW1iYWxhbmNlTGV2ZWxWaXNpYmlsaXR5TWluQmFyV2lkdGgpcmV0dXJuIG51bGw7Y29uc3QgbD0ibGVmdCI9PT1lP1YoVCx2KTpJKFQsdikse3RvcDpzLGJvdHRvbTp1fT1hKG8sZyxTLHQsdiksYz1NYXRoLm1heChpLkltYmFsYW5jZUxldmVsT2Zmc2V0LE1hdGguZmxvb3IoaS5JbWJhbGFuY2VMZXZlbE9mZnNldCp2Lmhvcml6b250YWxQaXhlbFJhdGlvKSkscD1NYXRoLnJvdW5kKGkuSW1iYWxhbmNlTGV2ZWxXaWR0aCp2Lmhvcml6b250YWxQaXhlbFJhdGlvKSxkPSJsZWZ0Ij09PWUsbT0obj9kOiFkKT9sLmxlZnQtYy1wOmwucmlnaHQrYztyZXR1cm4oMCxyLmJveCkoKDAsci5wb2ludCkobSxzKSwoMCxyLnBvaW50KShtK3AsdSkpfSxjb3JyZWN0SW1iYWxhbmNlQm94OnQ9Pntjb25zdHttaW46ZSxtYXg6b309dDtyZXR1cm4oMCxyLmJveCkoZS5hZGQoXyksby5hZGQoXykpfX19fSw4NDYyOTModCxlLG8pe28ucihlKSxvLmQoZSx7Vm9sdW1lRm9vdHByaW50U3R1ZHk6KCk9PlYsY3JlYXRlVm9sdW1lRm9vdHByaW50U3R1ZHk6KCk9Pkl9KTt2YXIgaT1vKDQzNzc0OSkscj1vKDg3MjM0Myksbj1vKDYwNTI1NyksbD1vKDE5NzI3MiksYT1vKDE1NjgyOSkscz1vKDczNzM3MSksdT1vKDE3NDM0MiksYz1vKDUwNTU2KSxwPW8oOTg0Mzc2KSxkPW8oNDAzODE3KSxtPW8oNzM0OTAzKSxoPW8oNTg4ODcwKSxmPW8oOTA4MjQ2KTtjb25zdCBTPXtwb3NpdGl2ZURlbHRhQ29sb3I6KDAsYy5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLG5lZ2F0aXZlRGVsdGFDb2xvcjooMCxjLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIil9O2NsYXNzIGcgZXh0ZW5kcyBoLlN1bW1hcnlQYW5lVmlld3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSl9X2N1dE9mZkxhc3RDb2x1bW4oKXtyZXR1cm4hMH1fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKXtyZXR1cm4gdGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGYudm9sdW1lRm9vdHByaW5nU3VtbWFyeURhdGFTb3VyY2VJZCl9X2dldFN1bW1hcnlDb2x1bW5SZW5kZXJlckRhdGEodCxlKXtjb25zdCBvPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxyPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUoKSxuPXRoaXMuX3N0dWR5LnByaWNlU2NhbGUoKTtpZihudWxsPT09cnx8bnVsbD09PW4pcmV0dXJuIG51bGw7Y29uc3QgbD10aGlzLl9zdHVkeSxhPWwub3BlbkludGVyZXN0U3VwcG9ydGVkKCksYz1sLmV4dGVuZGVkT3BlbkludGVyZXN0U3VwcG9ydGVkKCksaD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnZvbEZvb3RwcmludFN0eWxlLmNoaWxkcygpLGY9aC50eXBlLnZhbHVlKCksZz1oLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5ibG9ja0luZm8uY2hpbGRzKCkseD1uZXcgcC5Wb2x1bWVGb3JtYXR0ZXIsdj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZm9ybWF0dGVyKCksYj10PT52LmZvcm1hdCh0KSx3PWY9PT11LlZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXMuQnV5QW5kU2VsbHx8Zj09PXUuVm9sdW1lRm9vdHByaW50VHlwZVZhbHVlcy5MYWRkZXI7bGV0IHk7aWYodyl7Y29uc3QgZT1pLmJhckJvcmRlcnMoMCksbz1pLmJhckJvcmRlcnMoMSkscj0oMCxtLnJpZ2h0Q29sdW1uQXJlYUxlZnRSaWdodCkoZSx0KSxuPSgwLG0ubGVmdENvbHVtbkFyZWFMZWZ0UmlnaHQpKG8sdCk7eT1NYXRoLnJvdW5kKChuLmxlZnQtci5yaWdodCkvMil9ZWxzZSB5PTA7Y29uc3QgVj1pLmJhclNwYWNpbmcoKSxJPW5ldyBkLkxvZ2ljYWxSYW5nZShlLmxlZnQoKS01LGUucmlnaHQoKSs1KSxUPVtdO2xldCBGO3JldHVybiBvLmZvb3RwcmludHMoKS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT57aWYoIUkuY29udGFpbnMoZS5pbmRleCkpcmV0dXJuO2NvbnN0IG89ZS5zdW1tYXJ5LHI9KDAscy5kZWZhdWx0KShlLmxldmVscy5tYXAoKHQ9PnQuc2VsbFZvbHVtZSkpKSxuPSgwLHMuZGVmYXVsdCkoZS5sZXZlbHMubWFwKCh0PT50LmJ1eVZvbHVtZSkpKSxsPW4rcix1PVtdO2lmKGcudm9sdW1lLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0OnguZm9ybWF0KGwpfSksZy52b2x1bWVQZXJjZW50YWdlLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0OnZvaWQgMCE9PUY/YigobC1GKS9GKjEwMCk6IuKAlCJ9KSwKZy5idXlWb2x1bWUuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6eC5mb3JtYXQobil9KSxnLmJ1eVZvbHVtZVBlcmNlbnRhZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihuL2wqMTAwKX0pLGcuc2VsbFZvbHVtZS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJnUucHVzaCh7dGV4dDp4LmZvcm1hdChyKX0pLGcuc2VsbFZvbHVtZVBlcmNlbnRhZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihyL2wqMTAwKX0pLGcuZGVsdGEuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXtjb25zdCB0PW4tcjt1LnB1c2goe3RleHQ6Yih0KSxiYWNrZ3JvdW5kQ29sb3I6dD49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pfWlmKGcuZGVsdGFQZXJjZW50YWdlLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0obi1yKS9sKjEwMDt1LnB1c2goe3RleHQ6Yih0KSxiYWNrZ3JvdW5kQ29sb3I6dD49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pfWlmKGcubWluRGVsdGEuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiYobz91LnB1c2goe3RleHQ6YihvLm1pbkRlbHRhKSxiYWNrZ3JvdW5kQ29sb3I6by5taW5EZWx0YT49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pOnUucHVzaCh7dGV4dDoi4oCUIn0pKSxnLm1heERlbHRhLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmKG8/dS5wdXNoKHt0ZXh0OmIoby5tYXhEZWx0YSksYmFja2dyb3VuZENvbG9yOm8ubWF4RGVsdGE+PTA/Uy5wb3NpdGl2ZURlbHRhQ29sb3I6Uy5uZWdhdGl2ZURlbHRhQ29sb3J9KTp1LnB1c2goe3RleHQ6IuKAlCJ9KSksZy5zZXNzaW9uQ1ZELmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0Om8/eC5mb3JtYXQoby5zZXNzaW9uQ1ZEKToi4oCUIn0pLGcucG9jUHJpY2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihlLnBvYyl9KSxnLmhsUmFuZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6bz8uaGlnaExvd1JhbmdlP2Ioby5oaWdoTG93UmFuZ2UpOiLigJQifSksYSl7aC5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkub3BlbkludGVyZXN0QmxvY2tJbmZvLmNoaWxkcygpLm9wZW5JbnRlcmVzdC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJnUucHVzaCh7dGV4dDpvPy5vcGVuSW50ZXJlc3RIaWdoP2Ioby5vcGVuSW50ZXJlc3RIaWdoKToi4oCUIn0pfWlmKGMpe2NvbnN0IHQ9aC5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm8uY2hpbGRzKCk7dC5vcGVuSW50ZXJlc3RIaWdoLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0Om8/Lm9wZW5JbnRlcmVzdEhpZ2g/YihvLm9wZW5JbnRlcmVzdEhpZ2gpOiLigJQifSksdC5vcGVuSW50ZXJlc3RMb3cuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6bz8ub3BlbkludGVyZXN0TG93P2Ioby5vcGVuSW50ZXJlc3RMb3cpOiLigJQifSl9Y29uc3QgcD0oZT0+e2NvbnN0IG89aS5iYXJCb3JkZXJzKGUpO3JldHVybiB3PygwLG0uc3VtbWFyeUFyZWEyQ29sdW1uc0xlZnRSaWdodCkobyx0KTp7bGVmdDpvLmNlbnRlcip0Lmhvcml6b250YWxQaXhlbFJhdGlvLHJpZ2h0OihvLmNlbnRlcitWKSp0Lmhvcml6b250YWxQaXhlbFJhdGlvfX0pKGUuaW5kZXgpO1QucHVzaCh7bGVmdDpwLmxlZnQteSxyaWdodDpwLnJpZ2h0K3kscm93czp1fSksRj1sfSkpfSkpLFR9fXZhciB4PW8oMTM4NjM4KSx2PW8oNzQ1NTY5KSxiPW8oMzA1MTAyKTtjbGFzcyB3IGV4dGVuZHMgdi5TdW1tYXJ5V2lkZ2V0U2lkZUFyZWFWaWV3e19nZXREYXRhU291cmNlRm9yU3VtbWFyeSgpe3JldHVybiB0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZi52b2x1bWVGb290cHJpbmdTdW1tYXJ5RGF0YVNvdXJjZUlkKX1fdmlzaWJsZVRpdGxlcygpe2NvbnN0IHQ9W10sZT0oMCx4LmVuc3VyZU5vdE51bGwpKHRoaXMuX2dldERhdGFTb3VyY2VGb3JTdW1tYXJ5KCkpLG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52b2xGb290cHJpbnRTdHlsZS5jaGlsZHMoKS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCk7cmV0dXJuIHQucHVzaCguLi5iLmJhc2VWb2x1bWVGb290cHJpbnRSb3dUaXRsZXMuZmlsdGVyKCh0PT5vLmJsb2NrSW5mby5jaGlsZHMoKVt0LnByb3BOYW1lXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKHQ9PnQudHJhbnNsYXRlZFN0cmluZy50cmFuc2xhdGVkVGV4dCgpKSkpLGUub3BlbkludGVyZXN0U3VwcG9ydGVkKCkmJnQucHVzaCguLi5iLm9wZW5JbnRlcmVzdFZvbHVtZUZvb3RwcmludFJvd1RpdGxlcy5maWx0ZXIoKHQ9Pm8ub3BlbkludGVyZXN0QmxvY2tJbmZvLmNoaWxkcygpW3QucHJvcE5hbWVdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSkpLm1hcCgodD0+dC50cmFuc2xhdGVkU3RyaW5nLnRyYW5zbGF0ZWRUZXh0KCkpKSksZS5leHRlbmRlZE9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpJiZ0LnB1c2goLi4uYi5leHRlbmRlZE9wZW5JbnRlcmVzdFZvbHVtZUZvb3RwcmludFJvd1RpdGxlcy5maWx0ZXIoKHQ9Pm8uZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm8uY2hpbGRzKClbdC5wcm9wTmFtZV0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKSkubWFwKCh0PT50LnRyYW5zbGF0ZWRTdHJpbmcudHJhbnNsYXRlZFRleHQoKSkpKSx0fX12YXIgeT1vKDcyODQzNik7Y2xhc3MgViBleHRlbmRzIGwuU3R1ZHl7Y29uc3RydWN0b3IodCxlLG8saSxyLG4sbD0hMSl7c3VwZXIodCxlLG8saSxyLG4pLHRoaXMuX3Jvd1NpemU9LjEsdGhpcy5fY2hhcnRTdHlsZU1vZGU9bCx0aGlzLl9zdW1tYXJ5UGFuZVZpZXc9bmV3IGcodGhpcyx0KSx0aGlzLl93aWRnZXRTaWRlQXJlYVZpZXc9bmV3IHcodCl9cm93U2l6ZSgpe3JldHVybiB0aGlzLl9yb3dTaXplfW9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpewpjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7cmV0dXJuIG51bGwhPT10JiYoMCxhLmlzRnV0dXJlcykodC50eXBlKSYmISgwLGEuaGFzQ3J5cHRvVHlwZXNwZWMpKHQudHlwZXNwZWNzKX1leHRlbmRlZE9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbCE9PXQmJigoMCxhLmlzRnV0dXJlcykodC50eXBlKXx8InN3YXAiPT09dC50eXBlKSYmKDAsYS5oYXNDcnlwdG9UeXBlc3BlYykodC50eXBlc3BlY3MpfXBhbmVWaWV3cyh0KXtyZXR1cm4gdGhpcy5fY2hhcnRTdHlsZU1vZGU/dCE9PXRoaXMuX21vZGVsLm1haW5QYW5lKCk/W3RoaXMuX3N1bW1hcnlQYW5lVmlld106dGhpcy5fcGFuZVZpZXdzOnN1cGVyLnBhbmVWaWV3cyh0KX1jaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gbnVsbH1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIG51bGx9dXBkYXRlQWxsVmlld3ModCl7c3VwZXIudXBkYXRlQWxsVmlld3ModCksdGhpcy5fc3VtbWFyeVBhbmVWaWV3LnVwZGF0ZSgpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldy51cGRhdGUoKX13aWRnZXRTaWRlQXJlYVZpZXdzKHQpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCBvPXRoaXMuX21vZGVsLm1haW5QYW5lKCk7aWYoIW8pcmV0dXJuIG51bGw7Y29uc3QgaT1vLnByaWNlU2NhbGVQb3NpdGlvbihlKTtyZXR1cm4gdGhpcy5fY2hhcnRTdHlsZU1vZGUmJnQ9PT1pP1t0aGlzLl93aWRnZXRTaWRlQXJlYVZpZXddOm51bGx9cHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9jaGFydFN0eWxlTW9kZT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnN1cGVyLnByaWNlU2NhbGUoKX1maXJzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5maXJzdFZhbHVlKCl9c3RhdGVDdXN0b21GaWVsZHMoKXtyZXR1cm57cm93U2l6ZTp0aGlzLl9yb3dTaXplfX1yZXN0b3JlU3RhdGVDdXN0b21GaWVsZHModCl7dGhpcy5fcm93U2l6ZT10LnJvd1NpemU/P3RoaXMuX3Jvd1NpemV9X2ZpbGxQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyh0KXtjb25zdCBlPSgwLGwuZW1wdHlQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbykoKSxvPXRoaXMuX3Jvd1NpemU7aWYobnVsbD09PW8pcmV0dXJuIGU7Y29uc3R7c3RhcnRUaW1lUG9pbnQ6aSxlbmRUaW1lUG9pbnQ6cn09dCxuPXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuYmFycygpLm1pbk1heE9uUmFuZ2UoaSxyLFt7bmFtZToibG93IixvZmZzZXQ6MH0se25hbWU6ImhpZ2giLG9mZnNldDowfV0pO2lmKCFuKXJldHVybiBlO2NvbnN0e21pbjphLG1heDpzfT1uO2xldCB1PU1hdGguZmxvb3IoYS9vKSpvO2lmKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnZvbEZvb3RwcmludFN0eWxlLmNoaWxkcygpLnNob3dTdW1tYXJ5LnZhbHVlKCkpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSxlPXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLnByaWNlVG9Db29yZGluYXRlKHUsdGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5maXJzdFZhbHVlKCl8fDApO3U9dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkuY29vcmRpbmF0ZVRvUHJpY2UoZStNYXRoLmZsb29yKC40KnQpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuZmlyc3RWYWx1ZSgpfHwwKX1yZXR1cm57Li4uZSxiYXNlVmFsdWVNaW5NYXg6e21pbjp1LG1heDpNYXRoLmNlaWwocy9vKSpvfX19X29uRGF0YVVwZGF0ZWQodCxlLG8saSl7c3VwZXIuX29uRGF0YVVwZGF0ZWQodCxlLG8saSksZT8uaW5kZXhlc19yZXBsYWNlfHwodGhpcy5fcm93U2l6ZT0oZT8uZGF0YSkucm93U2l6ZT8/dGhpcy5fcm93U2l6ZSl9fWFzeW5jIGZ1bmN0aW9uIEkodCl7Y29uc3QgZT1hd2FpdCgwLG4uc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6ImphdmEiLHN0dWR5SWQ6eS5zdHVkeVZvbEZvb3RwcmludElkfSksbz0oMCxpLnByZXBhcmVTdHVkeVByb3BlcnRpZXMpKGUse30sbnVsbCwoMCxuLnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnN0dWR5VmVyc2lvbmluZygpLFtdKTtyZXR1cm4oMCxyLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lRm9vdHByaW50Iix7c3R1ZHlDb25zdHJ1Y3RvcjpWLGNvbG9yUm90YXRpb25Nb2RlOiJzaGlmdCJ9KSxuZXcgVih0LG8sW10sZSxlLCExLCEwKX19LDMwNTEwMih0LGUsbyl7by5kKGUse2Jhc2VWb2x1bWVGb290cHJpbnRSb3dUaXRsZXM6KCk9PncsZXh0ZW5kZWRPcGVuSW50ZXJlc3RWb2x1bWVGb290cHJpbnRSb3dUaXRsZXM6KCk9PlYsb3BlbkludGVyZXN0Vm9sdW1lRm9vdHByaW50Um93VGl0bGVzOigpPT55fSk7dmFyIGk9byg3ODMyNTQpLHI9byg1NzA2MDMpO2NvbnN0IG49aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNzI0NjYxKSksbD1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg5MTU2NDUpKSxhPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDU3MzIyNCkpLHM9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNTMwOTMxKSksdT1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg3NDc3NzYpKSxjPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDc5NDM4MCkpLHA9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oMTM5ODcwKSksZD1pLnQobnVsbCx7CmNvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oMjE5MzA2KSksbT1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg4MTEwODIpKSxoPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDI0OTQxKSksZj1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlLCBhYmJyIGN1bXVsYXRpdmUgZGVsdGEifSxvKDk3MzM5NSkpLFM9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSwgYWJiciBQb2ludCBvZiBjb250cm9sIn0sbygzNDc4NDkpKSxnPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUsIGhpZ2gtbG93IHJhbmdlIn0sbyg4MTUyNDApKSx4PWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDY2OTc1MykpLHY9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNjAwNDUzKSksYj1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg0NTY1NDIpKSx3PVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWb2x1bWUiLG4pLHByb3BOYW1lOiJ2b2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWb2x1bWUgY2hhbmdlLCAlIixsKSxwcm9wTmFtZToidm9sdW1lUGVyY2VudGFnZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIkJ1eSB2b2x1bWUiLGEpLHByb3BOYW1lOiJidXlWb2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJCdXkgdm9sdW1lLCAlIixzKSxwcm9wTmFtZToiYnV5Vm9sdW1lUGVyY2VudGFnZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlNlbGwgdm9sdW1lIix1KSxwcm9wTmFtZToic2VsbFZvbHVtZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlNlbGwgdm9sdW1lLCAlIixjKSxwcm9wTmFtZToic2VsbFZvbHVtZVBlcmNlbnRhZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJEZWx0YSIscCkscHJvcE5hbWU6ImRlbHRhIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiRGVsdGEsICUiLGQpLHByb3BOYW1lOiJkZWx0YVBlcmNlbnRhZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJNaW4gZGVsdGEiLG0pLHByb3BOYW1lOiJtaW5EZWx0YSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIk1heCBkZWx0YSIsaCkscHJvcE5hbWU6Im1heERlbHRhIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiU2Vzc2lvbiBDVkQiLGYpLHByb3BOYW1lOiJzZXNzaW9uQ1ZEIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiUE9DIixTKSxwcm9wTmFtZToicG9jUHJpY2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJITCBSYW5nZSIsZykscHJvcE5hbWU6ImhsUmFuZ2UifV0seT1be3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiT3BlbiBpbnRlcmVzdCIseCkscHJvcE5hbWU6Im9wZW5JbnRlcmVzdCJ9XSxWPVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJPcGVuIGludGVyZXN0IGhpZ2giLHYpLHByb3BOYW1lOiJvcGVuSW50ZXJlc3RIaWdoIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiT3BlbiBpbnRlcmVzdCBsb3ciLGIpLHByb3BOYW1lOiJvcGVuSW50ZXJlc3RMb3cifV19LDczNzM3MSh0LGUsbyl7by5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBpPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBvLGk9LTEscj10Lmxlbmd0aDsrK2k8cjspe3ZhciBuPWUodFtpXSk7dm9pZCAwIT09biYmKG89dm9pZCAwPT09bz9uOm8rbil9cmV0dXJuIG99O3ZhciByPW8oMjMyODU0KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9pKHQsci5kZWZhdWx0KTowfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCASTER2.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.470Z","timestamp":1785136905470,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCASTER2.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCRNDR.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.490Z","timestamp":1785136905490,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCRNDR.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCGMTGOMININGTOKEN.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.541Z","timestamp":1785136905541,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCGMTGOMININGTOKEN.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCCOW.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.547Z","timestamp":1785136905547,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCCOW.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/css/owl.theme.default.min.css","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.489Z","timestamp":1785136899489,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /css/owl.theme.default.min.css HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/css\r\nContent-Length: 1279\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":1279,"size_decoded":1488,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"ef9c02a9d33951f1ac6f547bfefdb72f","sha1":"53a61837620bdfebeab0325689e58c5d37b5d3a5","sha256":"b64ffcd5f35a7e4dfef1fede979637b6901018699c5e36b5c7ff88a2f472ab1f","sha512":"3a714d7084ddc37e4581571cdd75e8fc26e721d7ec7ece79b6f149b9745599a3c36b8668f4a55c6e5f0250ce63fc503f83ca10010081d63d086ae74fe76f4c71","ssdeep":"","tlshash":"7221abc4f216210f743386e01b688247fb5e243b0a4d09e8f5da9114cf7c904aa6ef6c","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-08-01T11:22:31.005347Z","times_seen":276,"resource_available":false,"data":"LyoqDQogKiBPd2wgQ2Fyb3VzZWwgdjIuMy40DQogKiBDb3B5cmlnaHQgMjAxMy0yMDE4IERhdmlkIERldXRzY2gNCiAqIExpY2Vuc2VkIHVuZGVyOiBTRUUgTElDRU5TRSBJTiBodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFDQogKi8NCg0KLm93bC10aGVtZSAub3dsLWRvdHMsDQoub3dsLXRoZW1lIC5vd2wtbmF2IHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudA0KfQ0KDQoub3dsLXRoZW1lIC5vd2wtbmF2IHsNCiAgICBtYXJnaW4tdG9wOiAxMHB4DQp9DQoNCi5vd2wtdGhlbWUgLm93bC1uYXYgW2NsYXNzKj1vd2wtXSB7DQogICAgY29sb3I6ICNGRkY7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIG1hcmdpbjogNXB4Ow0KICAgIHBhZGRpbmc6IDRweCA3cHg7DQogICAgYmFja2dyb3VuZDogI0Q2RDZENjsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGJvcmRlci1yYWRpdXM6IDNweA0KfQ0KDQoub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLV06aG92ZXIgew0KICAgIGJhY2tncm91bmQ6ICM4Njk3OTE7DQogICAgY29sb3I6ICNGRkY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lDQp9DQoNCi5vd2wtdGhlbWUgLm93bC1uYXYgLmRpc2FibGVkIHsNCiAgICBvcGFjaXR5OiAuNTsNCiAgICBjdXJzb3I6IGRlZmF1bHQNCn0NCg0KLm93bC10aGVtZSAub3dsLW5hdi5kaXNhYmxlZCsub3dsLWRvdHMgew0KICAgIG1hcmdpbi10b3A6IDEwcHgNCn0NCg0KLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Qgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB6b29tOiAxDQp9DQoNCi5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90IHNwYW4gew0KICAgIHdpZHRoOiAxMHB4Ow0KICAgIGhlaWdodDogMTBweDsNCiAgICBtYXJnaW46IDVweCA3cHg7DQogICAgYmFja2dyb3VuZDogI0Q2RDZENjsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7DQogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZTsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4DQp9DQoNCi5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLA0KLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXIgc3BhbiB7DQogICAgYmFja2dyb3VuZDogIzg2OTc5MQ0KfQ=="}},"time_used":323,"timings":{"blocked":231,"dns":0,"connect":0,"send":0,"wait":92,"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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/fonts/themify9f24.woff?-fvbane","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.217Z","timestamp":1785136900217,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /fonts/themify9f24.woff?-fvbane HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/css/themify-icons.css\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: font/woff\r\nContent-Length: 72\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":72,"size_decoded":280,"mime_type":"font/woff","magic":"ASCII text, with no line terminators","md5":"799d732dbad7040bb4f3b3528efd7ecd","sha1":"ddfea36d78ff0c1dd67a7acf8c4d0e94a80c1325","sha256":"bcef4a62e0a75caf7992deccd6d3efba4c2ca8f385724dc66c13e844adce8e5c","sha512":"dbb67e23c42dfa99167bb4d5af05d13822aa2da7ddd66a521828eab73fd06654bceed2f537d9dc00e9d87949a624392304f5a6e6390838f9825202b668078eb8","ssdeep":"","tlshash":"45a002e2564315484f1241ff75622455da0281f664c999c8dd9d836ec4f03537555b4d","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-07-27T09:51:37.997434Z","times_seen":22,"resource_available":false,"data":"Tm8gQ29udGVudDogaHR0cHM6Ly9jaGFpbmdsb2JhbGludmVzdC5jb20vZm9udHMvdGhlbWlmeTlmMjQud29mZj8tZnZiYW5l"}},"time_used":95,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":95,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/65675.b22e86384da95a427485.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.346Z","timestamp":1785136901346,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65675.b22e86384da95a427485.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-cb7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e1927ca0872b65e743cb49caa8a57c0f\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3255,"size_decoded":1610,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3255), with no line terminators","md5":"f53f02dd7b4726c0d3cb6dbbcfda7b87","sha1":"6862ca4abf23f4e0d6d8c01dd12160efe41a999d","sha256":"1007096185878202bece4ab281245577c9113dc3cc5d4071a5f58d2fd93407d5","sha512":"c72632fd3de5ba7a36701249d3475f260bafa4a1aa0fa9dbcf41a258300ec01af5288523af2efcd28a2301aa3a06827eacd95a80482ecbfe68fb7f636f7ac066","ssdeep":"","tlshash":"b861e3ae075e9cd934dc1f915763fc08377ad18e33222dbc618525f20bd2d3ae5a906a","first_seen":"2025-07-09T18:19:43.538072Z","last_seen":"2026-08-10T05:00:33.802791Z","times_seen":1379,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtazh4MDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWs4eDA6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4eHNtYWxse2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4c21hbGx7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0udHYtY2lyY2xlLWxvZ28tcGFpci0teHNtYWxse2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXNtYWxse2hlaWdodDoyOHB4O3dpZHRoOjI4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLW1lZGl1bXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS50di1jaXJjbGUtbG9nby1wYWlyLS1sYXJnZXtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS50di1jaXJjbGUtbG9nby1wYWlyLS14bGFyZ2V7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweH0udHYtY2lyY2xlLWxvZ28tcGFpci0teHhsYXJnZXtoZWlnaHQ6MTEycHg7d2lkdGg6MTEycHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4eGxhcmdle2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nb3tib3JkZXItcmFkaXVzOjUwJX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nbzpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWs4eDApfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvOmZpcnN0LWNoaWxkLC50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvOmxhc3QtY2hpbGR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGx7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGw6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2NGE4IDggMCAwIDEgOCA4aDRWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGw6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsNnB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhzbWFsbHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eHNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTIgMEgwdjYuMjU0QTggOCAwIDAgMSA1Ljc0NiAxMkgxMloiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhzbWFsbDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLThweCw4cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14c21hbGx7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTggMEgwdjQuNDFBMTEgMTEgMCAwIDEgMTMuNTkgMThIMThWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHNtYWxsOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXNtYWxse2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTggMEgwdjguMDRBMTEgMTEgMCAwIDEgOS45NiAxOEgxOFYwWiIpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS1zbWFsbDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwcHgsMTBweCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLW1lZGl1bXtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS1tZWRpdW06Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbWVkaXVtOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTJweCwxMnB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2V7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2U6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zMiAwSDB2MTRhMTggMTggMCAwIDEgMTggMThoMTRWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14bGFyZ2V7aGVpZ2h0OjM4cHg7d2lkdGg6MzhweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMzggMEgwdjE2LjAyTDEgMTZhMjEgMjEgMCAwIDEgMjAuOTggMjJIMzhWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teGxhcmdlOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMThweCwxOHB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhsYXJnZXtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNNzYgMEgwdjMyLjA1QTQyIDQyIDAgMCAxIDQzLjk1IDc2SDc2VjBaIil9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXh4bGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eHhsYXJnZXtoZWlnaHQ6MTE0cHg7d2lkdGg6MTE0cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXh4eGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4bGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC01NHB4LDU0cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLWVtcHR5e2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tZW1wdHl7YmFja2dyb3VuZC1pbWFnZTp1cmwoZW1wdHktY29pbi1kYXJrLmQ2ZDA3YmZmOTJkN2U0ZGZmNWFkLnN2Zyl9"}},"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/86423.79783aa72b6e29252d0c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.423Z","timestamp":1785136901423,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86423.79783aa72b6e29252d0c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-106\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b66bbe63df85261a0554ebfb971de11a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":262,"size_decoded":938,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b2d8da58ed7bd3636b389eac6ba9d38f","sha1":"5bcc1477edc39bcb360e79e0aa7ddabb5a3deb56","sha256":"1d71d0b986d1200ce5725b69e4e0e27ffda213045c040697e34b3502ec819deb","sha512":"75584fc30003c79c57e5f9ed6cfbc9c56a9bdcef58189661f2a31feb1e7ca0e8d5ed7f474386b82d61c4412d71173f50d58e54d1d97f4ce2abc5bf81015b9a08","ssdeep":"","tlshash":"70d0c2b19405d16c3a244958bf22bcadf384410a2a260fd7d2362e2185496b62e6249c","first_seen":"2026-07-17T14:15:58.491012Z","last_seen":"2026-08-10T05:01:44.365523Z","times_seen":276,"resource_available":false,"data":"LmRpdmlkZXItWmRfdHF1Y0R7cGFkZGluZzo2cHggMDt3aWR0aDoxMDAlfS5kaXZpZGVyLVpkX3RxdWNEOmZpcnN0LWNoaWxke3BhZGRpbmctdG9wOjB9LmRpdmlkZXItWmRfdHF1Y0Q6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTowfS5saW5lLVpkX3RxdWNEe2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLWRpdmlkZXJDb2xvcix2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSk7aGVpZ2h0OjFweDt3aWR0aDoxMDAlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCWBT.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.435Z","timestamp":1785136905435,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCWBT.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCPENGUPUD.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.508Z","timestamp":1785136905508,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCPENGUPUD.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/css/themify-icons.css","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.480Z","timestamp":1785136899480,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /css/themify-icons.css HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/css\r\nContent-Length: 19344\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":19344,"size_decoded":19554,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"b44546a5d921aeac140020a2c47ca1a1","sha1":"3693d932a6330f7eb8a98aee7da27fdfc196ea04","sha256":"39365b6873a1bb5a87936055912005be26c40198ff5038cb34f21a271bce4b4d","sha512":"64aad9101015a258151d9250982af94f9aad95e4e38af4504a25a5ccc061ad6801b0b266a82285b63dc6d3f7a0ec9bd5f5a810d6e59840ce63c080eff883478a","ssdeep":"192:8MlTgzkORrPbfc7awA+PsdkiKUxHYyObuFMqQY9dlY52egvDARVJmzplQJ/:JgzDPkCzTkYXRbMilQZ","tlshash":"9192dff8906f14a65723da51e3436a16eb05b636db420c5cf293ee4c5ee3a21d1c2edc","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-07-27T09:31:15.047242Z","times_seen":14,"resource_available":false,"data":"QGZvbnQtZmFjZSB7DQogICAgZm9udC1mYW1pbHk6ICd0aGVtaWZ5JzsNCiAgICBzcmM6IHVybCgnLi4vZm9udHMvdGhlbWlmeTlmMjQuZW90Py1mdmJhbmUnKTsNCiAgICBzcmM6IHVybCgnLi4vZm9udHMvdGhlbWlmeWQ0MWQuZW90PyNpZWZpeC1mdmJhbmUnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnLi4vZm9udHMvdGhlbWlmeTlmMjQud29mZj8tZnZiYW5lJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvdGhlbWlmeTlmMjQudHRmPy1mdmJhbmUnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnLi4vZm9udHMvdGhlbWlmeTlmMjQuc3ZnPy1mdmJhbmUjdGhlbWlmeScpIGZvcm1hdCgnc3ZnJyk7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQp9DQoNCltjbGFzc149InRpLSJdLA0KW2NsYXNzKj0iIHRpLSJdIHsNCiAgICBmb250LWZhbWlseTogJ3RoZW1pZnknOw0KICAgIHNwZWFrOiBub25lOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGZvbnQtdmFyaWFudDogbm9ybWFsOw0KICAgIHRleHQtdHJhbnNmb3JtOiBub25lOw0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqLw0KICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOw0KICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQp9DQoNCi50aS13YW5kOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjAwIjsNCn0NCg0KLnRpLXZvbHVtZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYwMSI7DQp9DQoNCi50aS11c2VyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjAyIjsNCn0NCg0KLnRpLXVubG9jazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYwMyI7DQp9DQoNCi50aS11bmxpbms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MDQiOw0KfQ0KDQoudGktdHJhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MDUiOw0KfQ0KDQoudGktdGhvdWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYwNiI7DQp9DQoNCi50aS10YXJnZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MDciOw0KfQ0KDQoudGktdGFnOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjA4IjsNCn0NCg0KLnRpLXRhYmxldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYwOSI7DQp9DQoNCi50aS1zdGFyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjBhIjsNCn0NCg0KLnRpLXNwcmF5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjBiIjsNCn0NCg0KLnRpLXNpZ25hbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYwYyI7DQp9DQoNCi50aS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjBkIjsNCn0NCg0KLnRpLXNob3BwaW5nLWNhcnQtZnVsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYwZSI7DQp9DQoNCi50aS1zZXR0aW5nczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYwZiI7DQp9DQoNCi50aS1zZWFyY2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MTAiOw0KfQ0KDQoudGktem9vbS1pbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYxMSI7DQp9DQoNCi50aS16b29tLW91dDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYxMiI7DQp9DQoNCi50aS1jdXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MTMiOw0KfQ0KDQoudGktcnVsZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MTQiOw0KfQ0KDQoudGktcnVsZXItcGVuY2lsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjE1IjsNCn0NCg0KLnRpLXJ1bGVyLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYxNiI7DQp9DQoNCi50aS1ib29rbWFyazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYxNyI7DQp9DQoNCi50aS1ib29rbWFyay1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MTgiOw0KfQ0KDQoudGktcmVsb2FkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjE5IjsNCn0NCg0KLnRpLXBsdXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MWEiOw0KfQ0KDQoudGktcGluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjFiIjsNCn0NCg0KLnRpLXBlbmNpbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYxYyI7DQp9DQoNCi50aS1wZW5jaWwtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjFkIjsNCn0NCg0KLnRpLXBhaW50LXJvbGxlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYxZSI7DQp9DQoNCi50aS1wYWludC1idWNrZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MWYiOw0KfQ0KDQoudGktbmE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MjAiOw0KfQ0KDQoudGktbW9iaWxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjIxIjsNCn0NCg0KLnRpLW1pbnVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjIyIjsNCn0NCg0KLnRpLW1lZGFsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYyMyI7DQp9DQoNCi50aS1tZWRhbGwtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjI0IjsNCn0NCg0KLnRpLW1hcmtlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYyNSI7DQp9DQoNCi50aS1tYXJrZXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjI2IjsNCn0NCg0KLnRpLWFycm93LXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjI3IjsNCn0NCg0KLnRpLWFycm93LXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjI4IjsNCn0NCg0KLnRpLWFycm93LWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MjkiOw0KfQ0KDQoudGktYXJyb3ctZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYyYSI7DQp9DQoNCi50aS1sb2NrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjJiIjsNCn0NCg0KLnRpLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjJjIjsNCn0NCg0KLnRpLWxpbms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MmQiOw0KfQ0KDQoudGktbGF5b3V0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjJlIjsNCn0NCg0KLnRpLWxheWVyczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYyZiI7DQp9DQoNCi50aS1sYXllcnMtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjMwIjsNCn0NCg0KLnRpLWtleTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYzMSI7DQp9DQoNCi50aS1pbXBvcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MzIiOw0KfQ0KDQoudGktaW1hZ2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MzMiOw0KfQ0KDQoudGktaGVhcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MzQiOw0KfQ0KDQoudGktaGVhcnQtYnJva2VuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjM1IjsNCn0NCg0KLnRpLWhhbmQtc3RvcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYzNiI7DQp9DQoNCi50aS1oYW5kLW9wZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2MzciOw0KfQ0KDQoudGktaGFuZC1kcmFnOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjM4IjsNCn0NCg0KLnRpLWZvbGRlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYzOSI7DQp9DQoNCi50aS1mbGFnOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjNhIjsNCn0NCg0KLnRpLWZsYWctYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjNiIjsNCn0NCg0KLnRpLWZsYWctYWx0LTI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2M2MiOw0KfQ0KDQoudGktZXllOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjNkIjsNCn0NCg0KLnRpLWV4cG9ydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYzZSI7DQp9DQoNCi50aS1leGNoYW5nZS12ZXJ0aWNhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTYzZiI7DQp9DQoNCi50aS1kZXNrdG9wOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjQwIjsNCn0NCg0KLnRpLWN1cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY0MSI7DQp9DQoNCi50aS1jcm93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY0MiI7DQp9DQoNCi50aS1jb21tZW50czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY0MyI7DQp9DQoNCi50aS1jb21tZW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjQ0IjsNCn0NCg0KLnRpLWNvbW1lbnQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjQ1IjsNCn0NCg0KLnRpLWNsb3NlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjQ2IjsNCn0NCg0KLnRpLWNsaXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NDciOw0KfQ0KDQoudGktYW5nbGUtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NDgiOw0KfQ0KDQoudGktYW5nbGUtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NDkiOw0KfQ0KDQoudGktYW5nbGUtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY0YSI7DQp9DQoNCi50aS1hbmdsZS1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjRiIjsNCn0NCg0KLnRpLWNoZWNrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjRjIjsNCn0NCg0KLnRpLWNoZWNrLWJveDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY0ZCI7DQp9DQoNCi50aS1jYW1lcmE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NGUiOw0KfQ0KDQoudGktYW5ub3VuY2VtZW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjRmIjsNCn0NCg0KLnRpLWJydXNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjUwIjsNCn0NCg0KLnRpLWJyaWVmY2FzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY1MSI7DQp9DQoNCi50aS1ib2x0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjUyIjsNCn0NCg0KLnRpLWJvbHQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjUzIjsNCn0NCg0KLnRpLWJsYWNrYm9hcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NTQiOw0KfQ0KDQoudGktYmFnOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjU1IjsNCn0NCg0KLnRpLW1vdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NTYiOw0KfQ0KDQoudGktYXJyb3dzLXZlcnRpY2FsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjU3IjsNCn0NCg0KLnRpLWFycm93cy1ob3Jpem9udGFsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjU4IjsNCn0NCg0KLnRpLWZ1bGxzY3JlZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NTkiOw0KfQ0KDQoudGktYXJyb3ctdG9wLXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjVhIjsNCn0NCg0KLnRpLWFycm93LXRvcC1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjViIjsNCn0NCg0KLnRpLWFycm93LWNpcmNsZS11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY1YyI7DQp9DQoNCi50aS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NWQiOw0KfQ0KDQoudGktYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NWUiOw0KfQ0KDQoudGktYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NWYiOw0KfQ0KDQoudGktYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjYwIjsNCn0NCg0KLnRpLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY2MSI7DQp9DQoNCi50aS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY2MiI7DQp9DQoNCi50aS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY2MyI7DQp9DQoNCi50aS16aXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NjQiOw0KfQ0KDQoudGktd29ybGQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NjUiOw0KfQ0KDQoudGktd2hlZWxjaGFpcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY2NiI7DQp9DQoNCi50aS12aWV3LWxpc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NjciOw0KfQ0KDQoudGktdmlldy1saXN0LWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY2OCI7DQp9DQoNCi50aS12aWV3LWdyaWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NjkiOw0KfQ0KDQoudGktdXBwZXJjYXNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjZhIjsNCn0NCg0KLnRpLXVwbG9hZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY2YiI7DQp9DQoNCi50aS11bmRlcmxpbmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NmMiOw0KfQ0KDQoudGktdHJ1Y2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NmQiOw0KfQ0KDQoudGktdGltZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NmUiOw0KfQ0KDQoudGktdGlja2V0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjZmIjsNCn0NCg0KLnRpLXRodW1iLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjcwIjsNCn0NCg0KLnRpLXRodW1iLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NzEiOw0KfQ0KDQoudGktdGV4dDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY3MiI7DQp9DQoNCi50aS1zdGF0cy11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY3MyI7DQp9DQoNCi50aS1zdGF0cy1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjc0IjsNCn0NCg0KLnRpLXNwbGl0LXY6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2NzUiOw0KfQ0KDQoudGktc3BsaXQtaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY3NiI7DQp9DQoNCi50aS1zbWFsbGNhcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY3NyI7DQp9DQoNCi50aS1zaGluZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY3OCI7DQp9DQoNCi50aS1zaGlmdC1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY3OSI7DQp9DQoNCi50aS1zaGlmdC1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjdhIjsNCn0NCg0KLnRpLXNoaWVsZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY3YiI7DQp9DQoNCi50aS1ub3RlcGFkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjdjIjsNCn0NCg0KLnRpLXNlcnZlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY3ZCI7DQp9DQoNCi50aS1xdW90ZS1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY3ZSI7DQp9DQoNCi50aS1xdW90ZS1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjdmIjsNCn0NCg0KLnRpLXB1bHNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjgwIjsNCn0NCg0KLnRpLXByaW50ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ODEiOw0KfQ0KDQoudGktcG93ZXItb2ZmOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjgyIjsNCn0NCg0KLnRpLXBsdWc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ODMiOw0KfQ0KDQoudGktcGllLWNoYXJ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjg0IjsNCn0NCg0KLnRpLXBhcmFncmFwaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY4NSI7DQp9DQoNCi50aS1wYW5lbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY4NiI7DQp9DQoNCi50aS1wYWNrYWdlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjg3IjsNCn0NCg0KLnRpLW11c2ljOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjg4IjsNCn0NCg0KLnRpLW11c2ljLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY4OSI7DQp9DQoNCi50aS1tb3VzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY4YSI7DQp9DQoNCi50aS1tb3VzZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2OGIiOw0KfQ0KDQoudGktbW9uZXk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2OGMiOw0KfQ0KDQoudGktbWljcm9waG9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY4ZCI7DQp9DQoNCi50aS1tZW51OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjhlIjsNCn0NCg0KLnRpLW1lbnUtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjhmIjsNCn0NCg0KLnRpLW1hcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY5MCI7DQp9DQoNCi50aS1tYXAtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjkxIjsNCn0NCg0KLnRpLWxvb3A6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2OTIiOw0KfQ0KDQoudGktbG9jYXRpb24tcGluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjkzIjsNCn0NCg0KLnRpLWxpc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2OTQiOw0KfQ0KDQoudGktbGlnaHQtYnVsYjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY5NSI7DQp9DQoNCi50aS1JdGFsaWM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2OTYiOw0KfQ0KDQoudGktaW5mbzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY5NyI7DQp9DQoNCi50aS1pbmZpbml0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY5OCI7DQp9DQoNCi50aS1pZC1iYWRnZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY5OSI7DQp9DQoNCi50aS1odW1tZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2OWEiOw0KfQ0KDQoudGktaG9tZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY5YiI7DQp9DQoNCi50aS1oZWxwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjljIjsNCn0NCg0KLnRpLWhlYWRwaG9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY5ZCI7DQp9DQoNCi50aS1oYXJkZHJpdmVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNjllIjsNCn0NCg0KLnRpLWhhcmRkcml2ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTY5ZiI7DQp9DQoNCi50aS1naWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmEwIjsNCn0NCg0KLnRpLWdhbWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YTEiOw0KfQ0KDQoudGktZmlsdGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmEyIjsNCn0NCg0KLnRpLWZpbGVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmEzIjsNCn0NCg0KLnRpLWZpbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YTQiOw0KfQ0KDQoudGktZXJhc2VyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmE1IjsNCn0NCg0KLnRpLWVudmVsb3BlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmE2IjsNCn0NCg0KLnRpLWRvd25sb2FkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmE3IjsNCn0NCg0KLnRpLWRpcmVjdGlvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZhOCI7DQp9DQoNCi50aS1kaXJlY3Rpb24tYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmE5IjsNCn0NCg0KLnRpLWRhc2hib2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZhYSI7DQp9DQoNCi50aS1jb250cm9sLXN0b3A6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YWIiOw0KfQ0KDQoudGktY29udHJvbC1zaHVmZmxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmFjIjsNCn0NCg0KLnRpLWNvbnRyb2wtcGxheTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZhZCI7DQp9DQoNCi50aS1jb250cm9sLXBhdXNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmFlIjsNCn0NCg0KLnRpLWNvbnRyb2wtZm9yd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZhZiI7DQp9DQoNCi50aS1jb250cm9sLWJhY2t3YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmIwIjsNCn0NCg0KLnRpLWNsb3VkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmIxIjsNCn0NCg0KLnRpLWNsb3VkLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmIyIjsNCn0NCg0KLnRpLWNsb3VkLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YjMiOw0KfQ0KDQoudGktY2xpcGJvYXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmI0IjsNCn0NCg0KLnRpLWNhcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZiNSI7DQp9DQoNCi50aS1jYWxlbmRhcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZiNiI7DQp9DQoNCi50aS1ib29rOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmI3IjsNCn0NCg0KLnRpLWJlbGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YjgiOw0KfQ0KDQoudGktYmFza2V0YmFsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZiOSI7DQp9DQoNCi50aS1iYXItY2hhcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YmEiOw0KfQ0KDQoudGktYmFyLWNoYXJ0LWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZiYiI7DQp9DQoNCi50aS1iYWNrLXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmJjIjsNCn0NCg0KLnRpLWJhY2stbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZiZCI7DQp9DQoNCi50aS1hcnJvd3MtY29ybmVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmJlIjsNCn0NCg0KLnRpLWFyY2hpdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YmYiOw0KfQ0KDQoudGktYW5jaG9yOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmMwIjsNCn0NCg0KLnRpLWFsaWduLXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmMxIjsNCn0NCg0KLnRpLWFsaWduLWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YzIiOw0KfQ0KDQoudGktYWxpZ24tanVzdGlmeTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZjMyI7DQp9DQoNCi50aS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YzQiOw0KfQ0KDQoudGktYWxlcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YzUiOw0KfQ0KDQoudGktYWxhcm0tY2xvY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2YzYiOw0KfQ0KDQoudGktYWdlbmRhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmM3IjsNCn0NCg0KLnRpLXdyaXRlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmM4IjsNCn0NCg0KLnRpLXdpbmRvdzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZjOSI7DQp9DQoNCi50aS13aWRnZXRpemVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmNhIjsNCn0NCg0KLnRpLXdpZGdldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZjYiI7DQp9DQoNCi50aS13aWRnZXQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmNjIjsNCn0NCg0KLnRpLXdhbGxldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZjZCI7DQp9DQoNCi50aS12aWRlby1jbGFwcGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmNlIjsNCn0NCg0KLnRpLXZpZGVvLWNhbWVyYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZjZiI7DQp9DQoNCi50aS12ZWN0b3I6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZDAiOw0KfQ0KDQoudGktdGhlbWlmeS1sb2dvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmQxIjsNCn0NCg0KLnRpLXRoZW1pZnktZmF2aWNvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZkMiI7DQp9DQoNCi50aS10aGVtaWZ5LWZhdmljb24tYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmQzIjsNCn0NCg0KLnRpLXN1cHBvcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZDQiOw0KfQ0KDQoudGktc3RhbXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZDUiOw0KfQ0KDQoudGktc3BsaXQtdi1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZDYiOw0KfQ0KDQoudGktc2xpY2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZDciOw0KfQ0KDQoudGktc2hvcnRjb2RlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmQ4IjsNCn0NCg0KLnRpLXNoaWZ0LXJpZ2h0LWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZkOSI7DQp9DQoNCi50aS1zaGlmdC1sZWZ0LWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZkYSI7DQp9DQoNCi50aS1ydWxlci1hbHQtMjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZkYiI7DQp9DQoNCi50aS1yZWNlaXB0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmRjIjsNCn0NCg0KLnRpLXBpbjI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZGQiOw0KfQ0KDQoudGktcGluLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZkZSI7DQp9DQoNCi50aS1wZW5jaWwtYWx0MjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZkZiI7DQp9DQoNCi50aS1wYWxldHRlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmUwIjsNCn0NCg0KLnRpLW1vcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZTEiOw0KfQ0KDQoudGktbW9yZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZTIiOw0KfQ0KDQoudGktbWljcm9waG9uZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZTMiOw0KfQ0KDQoudGktbWFnbmV0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmU0IjsNCn0NCg0KLnRpLWxpbmUtZG91YmxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmU1IjsNCn0NCg0KLnRpLWxpbmUtZG90dGVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmU2IjsNCn0NCg0KLnRpLWxpbmUtZGFzaGVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmU3IjsNCn0NCg0KLnRpLWxheW91dC13aWR0aC1mdWxsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmU4IjsNCn0NCg0KLnRpLWxheW91dC13aWR0aC1kZWZhdWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmU5IjsNCn0NCg0KLnRpLWxheW91dC13aWR0aC1kZWZhdWx0LWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZlYSI7DQp9DQoNCi50aS1sYXlvdXQtdGFiOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmViIjsNCn0NCg0KLnRpLWxheW91dC10YWItd2luZG93OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmVjIjsNCn0NCg0KLnRpLWxheW91dC10YWItdjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZlZCI7DQp9DQoNCi50aS1sYXlvdXQtdGFiLW1pbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZlZSI7DQp9DQoNCi50aS1sYXlvdXQtc2xpZGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmVmIjsNCn0NCg0KLnRpLWxheW91dC1zbGlkZXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmYwIjsNCn0NCg0KLnRpLWxheW91dC1zaWRlYmFyLXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmYxIjsNCn0NCg0KLnRpLWxheW91dC1zaWRlYmFyLW5vbmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZjIiOw0KfQ0KDQoudGktbGF5b3V0LXNpZGViYXItbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZmMyI7DQp9DQoNCi50aS1sYXlvdXQtcGxhY2Vob2xkZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZjQiOw0KfQ0KDQoudGktbGF5b3V0LW1lbnU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZjUiOw0KfQ0KDQoudGktbGF5b3V0LW1lbnUtdjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZmNiI7DQp9DQoNCi50aS1sYXlvdXQtbWVudS1zZXBhcmF0ZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZjciOw0KfQ0KDQoudGktbGF5b3V0LW1lbnUtZnVsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZmOCI7DQp9DQoNCi50aS1sYXlvdXQtbWVkaWEtcmlnaHQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmY5IjsNCn0NCg0KLnRpLWxheW91dC1tZWRpYS1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZmYSI7DQp9DQoNCi50aS1sYXlvdXQtbWVkaWEtb3ZlcmxheTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTZmYiI7DQp9DQoNCi50aS1sYXlvdXQtbWVkaWEtb3ZlcmxheS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZmMiOw0KfQ0KDQoudGktbGF5b3V0LW1lZGlhLW92ZXJsYXktYWx0LTI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU2ZmQiOw0KfQ0KDQoudGktbGF5b3V0LW1lZGlhLWxlZnQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmZlIjsNCn0NCg0KLnRpLWxheW91dC1tZWRpYS1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNmZmIjsNCn0NCg0KLnRpLWxheW91dC1tZWRpYS1jZW50ZXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzAwIjsNCn0NCg0KLnRpLWxheW91dC1tZWRpYS1jZW50ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MDEiOw0KfQ0KDQoudGktbGF5b3V0LWxpc3QtdGh1bWI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MDIiOw0KfQ0KDQoudGktbGF5b3V0LWxpc3QtdGh1bWItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzAzIjsNCn0NCg0KLnRpLWxheW91dC1saXN0LXBvc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MDQiOw0KfQ0KDQoudGktbGF5b3V0LWxpc3QtbGFyZ2UtaW1hZ2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MDUiOw0KfQ0KDQoudGktbGF5b3V0LWxpbmUtc29saWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MDYiOw0KfQ0KDQoudGktbGF5b3V0LWdyaWQ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzA3IjsNCn0NCg0KLnRpLWxheW91dC1ncmlkMzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTcwOCI7DQp9DQoNCi50aS1sYXlvdXQtZ3JpZDI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MDkiOw0KfQ0KDQoudGktbGF5b3V0LWdyaWQyLXRodW1iOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzBhIjsNCn0NCg0KLnRpLWxheW91dC1jdGEtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MGIiOw0KfQ0KDQoudGktbGF5b3V0LWN0YS1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzBjIjsNCn0NCg0KLnRpLWxheW91dC1jdGEtY2VudGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzBkIjsNCn0NCg0KLnRpLWxheW91dC1jdGEtYnRuLXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzBlIjsNCn0NCg0KLnRpLWxheW91dC1jdGEtYnRuLWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MGYiOw0KfQ0KDQoudGktbGF5b3V0LWNvbHVtbjQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MTAiOw0KfQ0KDQoudGktbGF5b3V0LWNvbHVtbjM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MTEiOw0KfQ0KDQoudGktbGF5b3V0LWNvbHVtbjI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MTIiOw0KfQ0KDQoudGktbGF5b3V0LWFjY29yZGlvbi1zZXBhcmF0ZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MTMiOw0KfQ0KDQoudGktbGF5b3V0LWFjY29yZGlvbi1tZXJnZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MTQiOw0KfQ0KDQoudGktbGF5b3V0LWFjY29yZGlvbi1saXN0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzE1IjsNCn0NCg0KLnRpLWluay1wZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MTYiOw0KfQ0KDQoudGktaW5mby1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MTciOw0KfQ0KDQoudGktaGVscC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MTgiOw0KfQ0KDQoudGktaGVhZHBob25lLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTcxOSI7DQp9DQoNCi50aS1oYW5kLXBvaW50LXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzFhIjsNCn0NCg0KLnRpLWhhbmQtcG9pbnQtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MWIiOw0KfQ0KDQoudGktaGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzFjIjsNCn0NCg0KLnRpLWhhbmQtcG9pbnQtZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTcxZCI7DQp9DQoNCi50aS1nYWxsZXJ5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzFlIjsNCn0NCg0KLnRpLWZhY2Utc21pbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MWYiOw0KfQ0KDQoudGktZmFjZS1zYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MjAiOw0KfQ0KDQoudGktY3JlZGl0LWNhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MjEiOw0KfQ0KDQoudGktY29udHJvbC1za2lwLWZvcndhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MjIiOw0KfQ0KDQoudGktY29udHJvbC1za2lwLWJhY2t3YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzIzIjsNCn0NCg0KLnRpLWNvbnRyb2wtcmVjb3JkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzI0IjsNCn0NCg0KLnRpLWNvbnRyb2wtZWplY3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MjUiOw0KfQ0KDQoudGktY29tbWVudHMtc21pbGV5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzI2IjsNCn0NCg0KLnRpLWJydXNoLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTcyNyI7DQp9DQoNCi50aS15b3V0dWJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzI4IjsNCn0NCg0KLnRpLXZpbWVvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzI5IjsNCn0NCg0KLnRpLXR3aXR0ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MmEiOw0KfQ0KDQoudGktdGltZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTcyYiI7DQp9DQoNCi50aS10dW1ibHI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MmMiOw0KfQ0KDQoudGktc2t5cGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MmQiOw0KfQ0KDQoudGktc2hhcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MmUiOw0KfQ0KDQoudGktc2hhcmUtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzJmIjsNCn0NCg0KLnRpLXJvY2tldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTczMCI7DQp9DQoNCi50aS1waW50ZXJlc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MzEiOw0KfQ0KDQoudGktbmV3LXdpbmRvdzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTczMiI7DQp9DQoNCi50aS1taWNyb3NvZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MzMiOw0KfQ0KDQoudGktbGlzdC1vbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTczNCI7DQp9DQoNCi50aS1saW5rZWRpbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTczNSI7DQp9DQoNCi50aS1sYXlvdXQtc2lkZWJhci0yOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzM2IjsNCn0NCg0KLnRpLWxheW91dC1ncmlkNC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3MzciOw0KfQ0KDQoudGktbGF5b3V0LWdyaWQzLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTczOCI7DQp9DQoNCi50aS1sYXlvdXQtZ3JpZDItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzM5IjsNCn0NCg0KLnRpLWxheW91dC1jb2x1bW40LWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTczYSI7DQp9DQoNCi50aS1sYXlvdXQtY29sdW1uMy1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3M2IiOw0KfQ0KDQoudGktbGF5b3V0LWNvbHVtbjItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzNjIjsNCn0NCg0KLnRpLWluc3RhZ3JhbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTczZCI7DQp9DQoNCi50aS1nb29nbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3M2UiOw0KfQ0KDQoudGktZ2l0aHViOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzNmIjsNCn0NCg0KLnRpLWZsaWNrcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc0MCI7DQp9DQoNCi50aS1mYWNlYm9vazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc0MSI7DQp9DQoNCi50aS1kcm9wYm94OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzQyIjsNCn0NCg0KLnRpLWRyaWJiYmxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzQzIjsNCn0NCg0KLnRpLWFwcGxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzQ0IjsNCn0NCg0KLnRpLWFuZHJvaWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NDUiOw0KfQ0KDQoudGktc2F2ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc0NiI7DQp9DQoNCi50aS1zYXZlLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc0NyI7DQp9DQoNCi50aS15YWhvbzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc0OCI7DQp9DQoNCi50aS13b3JkcHJlc3M6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NDkiOw0KfQ0KDQoudGktdmltZW8tYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzRhIjsNCn0NCg0KLnRpLXR3aXR0ZXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzRiIjsNCn0NCg0KLnRpLXR1bWJsci1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NGMiOw0KfQ0KDQoudGktdHJlbGxvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzRkIjsNCn0NCg0KLnRpLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzRlIjsNCn0NCg0KLnRpLXNvdW5kY2xvdWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NGYiOw0KfQ0KDQoudGktc2hhcmV0aGlzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzUwIjsNCn0NCg0KLnRpLXNoYXJldGhpcy1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NTEiOw0KfQ0KDQoudGktcmVkZGl0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlNzUyIjsNCn0NCg0KLnRpLXBpbnRlcmVzdC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NTMiOw0KfQ0KDQoudGktbWljcm9zb2Z0LWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc1NCI7DQp9DQoNCi50aS1saW51eDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc1NSI7DQp9DQoNCi50aS1qc2ZpZGRsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc1NiI7DQp9DQoNCi50aS1qb29tbGE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NTciOw0KfQ0KDQoudGktaHRtbDU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NTgiOw0KfQ0KDQoudGktZmxpY2tyLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc1OSI7DQp9DQoNCi50aS1lbWFpbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc1YSI7DQp9DQoNCi50aS1kcnVwYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NWIiOw0KfQ0KDQoudGktZHJvcGJveC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NWMiOw0KfQ0KDQoudGktY3NzMzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc1ZCI7DQp9DQoNCi50aS1yc3M6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGU3NWUiOw0KfQ0KDQoudGktcnNzLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTc1ZiI7DQp9"}},"time_used":371,"timings":{"blocked":-1,"dns":0,"connect":92,"send":0,"wait":183,"receive":0,"ssl":96},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.352Z","timestamp":1785136900352,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 146282d8e09e3115fc467c3cb8c03788\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-08-10T05:01:44.30606Z","times_seen":1436,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"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.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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.998Z","timestamp":1785136900998,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\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 07:21:40 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: f974016ae79aa357dd919f6c7f39564e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27626,"size_decoded":6249,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3069)","md5":"c37495f6ca72950f28ad5a6a79a0bab4","sha1":"b23429fd2dea7f2557a8a68545083949759c3ad4","sha256":"b4511e0c850bde295127e6af14148f016b9aea35ea705cdf3106a5a1edbd93b8","sha512":"ddee6e0c9cd60676d9195e2fb635982af76e72cf188acf0f42ba7ac648dbd5acc579a186a2c51fb5ac9d5e758c5289ab285ea4e80694b19f70a1715a5707b77c","ssdeep":"384:L+x0EMPsBRgXD2PTmdN2/5dQ1tHSJm/BtU:L7E2NJuJmI","tlshash":"2cc2c007cd96b099f3f6e24e0eb4d50c2cb453495270d702be868e289ae5ee69d2f315","first_seen":"2026-05-05T10:36:04.872376Z","last_seen":"2026-08-07T05:09:59.550994Z","times_seen":4614,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODY2N10sezI1ODY2NyhvKXtvLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxvLmV4cG9ydHNbIiNBQVBMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXBwbGUgSW5jIl0sby5leHBvcnRzWyIjQU1FWDpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nod2FiIFNob3J0LVRlcm0gVS5TLiBUcmVhc3VyeSBFVEYiXSxvLmV4cG9ydHNbIiNBTUVYOlNIWUctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFyZXMgMC01IFlFQVIgSGlnaCBZaWVsZCBDb3Jwb3JhdGUgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNBU1g6WEFGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYQVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIEFsbCBBdXN0cmFsaWFuIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYSk8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FVRENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyL0NhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0FVRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxvLmV4cG9ydHNbIiNBVURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0FVRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjQVVEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQVVEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JDQkE6SU1WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIE1FUlZBTCBJbmRleCJdLG8uZXhwb3J0c1siI0JDSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIEV1cm8iXSxvLmV4cG9ydHNbIiNCQ0hVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENhc2ggLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JFTEVYOkJFTEVYMTUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUxFWCAxNSBJbmRleCJdLG8uZXhwb3J0c1siI0JJU1Q6WFUxMDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCSVNUIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0JJVE1FWDpYQlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUU6SUJDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLG8uZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJPVi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJvdmVzcGEgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCUkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQnJhc2lsIEluZGV4Il0sby5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQlhMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJhemlsIDUwIEluZGV4Il0sby5leHBvcnRzWyIjQk1WOkNULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgU1gyMCBSVCJdLG8uZXhwb3J0c1siI0JNVjpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRm9yZCBNb3RvciBDb21wYW55Il0sby5leHBvcnRzWyIjQk1WOk1FLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0JNViBJUEMgSW5kZXgiXSxvLmV4cG9ydHNbIiNCUkxKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWxpYW4gUmVhbCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JTRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJVEkgTHRkIl0sby5leHBvcnRzWyIjQlNFOlNFTlNFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCBCU0UgU2Vuc2V4IEluZGV4Il0sby5leHBvcnRzWyIjQlRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjQlRDQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUQ0NOWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNCVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gRXVybyJdLG8uZXhwb3J0c1siI0JUQ0dCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjQlRDSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JUQ0tSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjQlRDUExOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI0JUQ1JVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQlRDVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFRoYWkgQmFodCJdLG8uZXhwb3J0c1siI0JUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gR29sZCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQlZMOlNQQkxQR1BULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gQlZMIFBlcnUgR2VuZXJhbCBJbmRleCAoUEVOKSJdLG8uZXhwb3J0c1siI0JWU1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgQm92ZXNwYSBJbmRleCJdLApvLmV4cG9ydHNbIiNDQURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDQURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0NCT0U6T0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0NCT0U6VklYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVm9sYXRpbGl0eSBTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjQ0JPVDpaQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVC1Cb25kIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3JuIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpNMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3liZWFuIE1lYWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6Wk4xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjEwIFllYXIgVC1Ob3RlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPYXQgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjMwIERheSBGZWRlcmFsIEZ1bmRzIEludGVyZXN0IFJhdGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJpY2UgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WEsxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gTWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0JPVF9NSU5JOlhXMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXaGVhdCBNaW5pIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBEb3cgSm9uZXMgKCQ1KSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0hGSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDSEZVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQ01FOkJUQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDTUUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpDQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnV0dGVyIEZ1dHVyZXMtQ2FzaCAoQ29udGludW91czogQ3VycmVudCBjb250cmFjdCBpbiBmcm9udCkiXSxvLmV4cG9ydHNbIiNDTUU6R0YxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZlZWRlciBDYXR0bGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpIRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGVhbiBIb2dzIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUU6TEUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdmUgQ2F0dGxlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUVfTUlOSTpFNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOkVTMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6SjcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOk5RMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOQVNEQVEgMTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6UlRZMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLU1pbmkgUnVzc2VsbCAyMDAwIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBRVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbml1bSBFdXJvcGVhbiBQcmVtaXVtIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBVVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbnVtIE1XIFUuUy4gVHJhbnNhY3Rpb24gUHJlbWl1bSBQbGF0dHMgKDI1TVQpIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpHQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6SEcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6U0kxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIENvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIChNaW5pKSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCAoTWluaSkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NPUFBFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIl0sby5leHBvcnRzWyIjQ09STlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29ybiJdLG8uZXhwb3J0c1siI0NPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ290dG9uIl0sby5leHBvcnRzWyIjQ1JZUFRPQ0FQOlRPVEFMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ3J5cHRvIFRvdGFsIE1hcmtldCBDYXAsICQiXSxvLmV4cG9ydHNbIiNERk06REZNR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJERk0gSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tcG9zaXRlIEF2ZXJhZ2UgSW5kZXgiXSwKby5leHBvcnRzWyIjREo6REpDSUFHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQWdyaWN1bHR1cmUgQ2FwcGVkIENvbXBvbmVudCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lDQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQ29jb2EiXSxvLmV4cG9ydHNbIiNESjpESkNJRU4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEVuZXJneSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR29sZCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR3JhaW5zIl0sby5leHBvcnRzWyIjREo6REpDSUlLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBOaWNrZWwiXSxvLmV4cG9ydHNbIiNESjpESkNJS0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvZmZlZSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lTQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggU3VnYXIiXSxvLmV4cG9ydHNbIiNESjpESkNJU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFNpbHZlciJdLG8uZXhwb3J0c1siI0RKOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVHJhbnNwb3J0YXRpb24gQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI0RKOkRKVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVdGlsaXR5IEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlVTQ0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVS5TLiBDb2FsIEluZGV4Il0sby5leHBvcnRzWyIjRUdYOkVHWDMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRUdYIDMwIEluZGV4Il0sby5leHBvcnRzWyIjRVRDQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNFVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0VUSEJUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQml0Y29pbiJdLG8uZXhwb3J0c1siI0VUSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUSEdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQnJpdGlzaCBQb3VuZCJdLG8uZXhwb3J0c1siI0VUSEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjRVRIS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjRVRIVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNFVEhVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sby5leHBvcnRzWyIjRVVSQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVSQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjRVVSQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0VVUkNIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0VVUkdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjRVVSSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0VVUk5PSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOb3J3ZWdpYW4gS3JvbmUiXSxvLmV4cG9ydHNbIiNFVVJOWkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjRVVST05FWFQ6QUVYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQUVYIEluZGV4Il0sby5leHBvcnRzWyIjRVVST05FWFQ6QkVMMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUwgMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJPTkVYVDpQWDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDQUMgNDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0VVUlJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxvLmV4cG9ydHNbIiNFVVJTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gU3dlZGlzaCBLcm9uYSJdLG8uZXhwb3J0c1siI0VVUlRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBUdXJraXNoIExpcmEiXSxvLmV4cG9ydHNbIiNFVVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNFVVNUWDUwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBTdG94eCA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0ZPUkVYQ09NOlVTMjAwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIFNtYWxsIENhcCAyMDAwIl0sCm8uZXhwb3J0c1siI0ZSQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sby5leHBvcnRzWyIjRlJFRDpHRFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHcm9zcyBEb21lc3RpYyBQcm9kdWN0LCAxIERlY2ltYWwiXSxvLmV4cG9ydHNbIiNGUkVEOlBPUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRvdGFsIFBvcHVsYXRpb246IEFsbCBBZ2VzIEluY2x1ZGluZyBBcm1lZCBGb3JjZXMgT3ZlcnNlYXMiXSxvLmV4cG9ydHNbIiNGUkVEOlVOUkFURS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNpdmlsaWFuIFVuZW1wbG95bWVudCBSYXRlIl0sby5leHBvcnRzWyIjRlRTRU1ZWDpGQk1LTENJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSBCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sby5leHBvcnRzWyIjRldCOktUMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktleSBUcm9uaWMgQ29y0YAuIl0sby5leHBvcnRzWyIjRlg6QVVTMjAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBJbmRleCJdLG8uZXhwb3J0c1siI0ZYOlVTMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sby5leHBvcnRzWyIjR0JQQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjR0JQQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0dCUENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0dCUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBFdXJvIl0sby5leHBvcnRzWyIjR0JQSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0dCUE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHQlBQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUG9saXNoIFpsb3R5Il0sby5leHBvcnRzWyIjR0JQUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIFJ1c3NpYW4gUnVibGUiXSxvLmV4cG9ydHNbIiNHQlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHRVIzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLG8uZXhwb3J0c1siI0dPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLG8uZXhwb3J0c1siI0dPT0dMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEEiXSxvLmV4cG9ydHNbIiNHUFc6QUNHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWNhdXRvZ2F6Il0sby5leHBvcnRzWyIjR1BXOldJRzIwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV0lHMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNIU0k6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjSUNFVVM6RFgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNJRFg6Q09NUE9TSVRFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSURYIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOkhTQ0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgQ2hpbmEgRW50ZXJwcmlzZXMgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpKS1NFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFrYXJ0YSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpLTFNFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1JQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQiBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1PWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6U1RJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU1RJIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6VFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOlhMWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFuZ2hhaSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJT1RVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJT1RBIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNKUE4yMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNKUFlLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjSlBZUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0pQWVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTEtPSC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxVS09JTCJdLG8uZXhwb3J0c1siI0xTRTpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nob2xpdW0gR3JvdXAgUGxjIE9yZCAxUCJdLG8uZXhwb3J0c1siI0xUQ0JSTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxvLmV4cG9ydHNbIiNMVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNMVENVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTFVOQVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkx1bmEgLyBVLlMuIERvbGxhciJdLApvLmV4cG9ydHNbIiNNT0VYOkJSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmVudCBPaWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6R0FaUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdBWlBST00iXSxvLmV4cG9ydHNbIiNNT0VYOklNT0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTU9FWCBSdXNzaWEgSW5kZXgiXSxvLmV4cG9ydHNbIiNNT0VYOk1HTlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNQUdOSVQiXSxvLmV4cG9ydHNbIiNNT0VYOk1JQ0VYSU5ERVhDRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sby5leHBvcnRzWyIjTU9FWDpNWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlDRVggSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6TVgyIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNNT0VYOlJJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6UlRTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJUUyBJbmRleCJdLG8uZXhwb3J0c1siI01PRVg6UlVBTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVuaXRlZCBDb21wYW55IFJVU0FMIFBMQyJdLG8uZXhwb3J0c1siI01PRVg6U0JFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNCRVJCQU5LIl0sby5leHBvcnRzWyIjTU9FWDpWVEJSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVlRCIl0sby5leHBvcnRzWyIjTVNGVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pY3Jvc29mdCBDb3JwLiJdLG8uZXhwb3J0c1siI05BUzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBDYXNoIENGRCJdLG8uZXhwb3J0c1siI05BU0RBUTpBTUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBZHZhbmNlZCBNaWNybyBEZXZpY2VzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpHT09HLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEMiXSxvLmV4cG9ydHNbIiNOQVNEQVE6R09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLG8uZXhwb3J0c1siI05BU0RBUTpIR1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIEhvdXNpbmcgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROklFRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgNy0xMCBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sby5leHBvcnRzWyIjTkFTREFROklFSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMy03IFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRlcmlzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpJWElDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmFzZGFxIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpMQ0lELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVjaWQgR3JvdXAsIEluYy4iXSxvLmV4cG9ydHNbIiNOQVNEQVE6TEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMYW5kcycgRW5kIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpORFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROk9TWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggT2lsIFNlcnZpY2UgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlNIWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMS0zIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6U09YLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGhpbGFkZWxwaGlhIFNlbWljb25kdWN0b3IgSW5kZXgiXSxvLmV4cG9ydHNbIiNOQVNEQVE6VExULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAyMCsgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLG8uZXhwb3J0c1siI05BU0RBUTpVVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIFV0aWxpdHkgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlhBVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggR29sZCBhbmQgU2lsdmVyIFNlY3RvciBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpaUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpzY2FsZXIgSW5jIl0sby5leHBvcnRzWyIjTkVPVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTkVPIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNOR0FTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmF0dXJhbCBHYXMgKEhlbnJ5IEh1YikiXSxvLmV4cG9ydHNbIiNOS1ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOU0U6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWFuIFRlbGVwaG9uZSBJbmR1c3RyaWVzIExpbWl0ZWQiXSxvLmV4cG9ydHNbIiNOU0U6TklGVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOaWZ0eSA1MCBJbmRleCJdLG8uZXhwb3J0c1siI05ZTUVYOkFFWjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgRXRoYW5vbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6Q0oxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvY29hIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpDTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGlnaHQgQ3J1ZGUgT2lsIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpITzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgSGFyYm9yIFVMU0QgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOktUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb2ZmZWUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOk5HMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBhbGxhZGl1bSBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEwxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIEZ1dHVyZXMiXSwKby5leHBvcnRzWyIjTllNRVg6UkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJCT0IgR2Fzb2xpbmUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOlRUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3R0b24gRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYX01JTkk6UUcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIExpZ2h0IENydWRlIE9pbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRVTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIEdhc29saW5lIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWVNFOkJBQkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbGliYWJhIEdyb3VwIEhvbGRpbmdzIEx0ZC4iXSxvLmV4cG9ydHNbIiNOWVNFOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGT1JEIE1UUiBDTyBERUwiXSxvLmV4cG9ydHNbIiNOWVNFOkhFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGF3YWlpYW4gRWxlY3RyaWMgSW5kdXN0cmllcyJdLG8uZXhwb3J0c1siI05ZU0U6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlBCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBFVFJPTEVPIEJSQVNJTEVJUk8gU0EgUEVUUk9CUiJdLG8uZXhwb3J0c1siI05ZU0U6WEFYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQU1FWCBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlhNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQVJDQSBNYWpvciBNYXJrZXQgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWkRKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNOWkRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI05aWDpBTExDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL05aWCBBbGwgSW5kZXggKENhcGl0YWwgSW5kZXgpIl0sby5leHBvcnRzWyIjTlpYOk5aNTBHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gTlpYIDUwIEluZGV4IEdyb3NzIl0sby5leHBvcnRzWyIjT0FOREE6TkFUR0FTVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBOYXR1cmFsIEdhcyJdLG8uZXhwb3J0c1siI09BTkRBOlNQWDUwMFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPQU5EQTpYQ1VVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENvcHBlciAoVVMkIC8gbGIpIl0sby5leHBvcnRzWyIjT01YQ09QOk9NWEMyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBDb3BlbmhhZ2VuIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YQ09QOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvdXcgJiBDbyBBL1MiXSxvLmV4cG9ydHNbIiNPTVhIRVg6T01YSDI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIEhlbHNpbmtpIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YUlNFOk9NWFJHSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBSaWdhIEdyb3NzIEluZGV4Il0sby5leHBvcnRzWyIjT01YU1RPOk9NWFMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBTdG9ja2hvbG0gMzAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhUU0U6T01YVEdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFRhbGxpbm4gR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhWU0U6T01YVkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFZpbG5pdXMgR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPVEM6SUhSTUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIE1TQ0kgSmFwYW4gU0hTIl0sby5leHBvcnRzWyIjUVNFOkdOUkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJRRSBJbmRleCJdLG8uZXhwb3J0c1siI1JUUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NpYW4gUlRTIEluZGV4Il0sby5leHBvcnRzWyIjUlVTU0VMTDpSVUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDMwMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNSVVNTRUxMOlJVSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMTAwMCBJbmRleCJdLG8uZXhwb3J0c1siI1JVU1NFTEw6UlVULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAyMDAwIEluZGV4Il0sby5leHBvcnRzWyIjU0VUOkdDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2xvYmFsIENvbm5lY3Rpb25zIFB1YmxpYyBDb21wYW55Il0sby5leHBvcnRzWyIjU0lYOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxvLmV4cG9ydHNbIiNTSVg6U01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sby5leHBvcnRzWyIjU09MVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU29sYW5hIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNTT1lCTlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU295YmVhbnMiXSxvLmV4cG9ydHNbIiNTUDpPRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BHU0NJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEdvbGRtYW4gU2FjaHMgQ29tbW9kaXR5IEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1NQOlNWWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgVmFsdWUgSW5kZXgiXSxvLmV4cG9ydHNbIiNTUFg1MDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1VHQVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFN1Z2FyIl0sCm8uZXhwb3J0c1siI1NaU0U6Mzk5MDAxLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hlbnpoZW4gQ29tcG9uZW50IEluZGV4Il0sby5leHBvcnRzWyIjVEFEQVdVTDoyMzcwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlkZGxlIEVhc3QgU3BlY2lhbGl6ZWQgQ2FibGVzIENvLiJdLG8uZXhwb3J0c1siI1RBREFXVUw6VEFTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhZGF3dWwgQWxsIFNoYXJlcyBJbmRleCJdLG8uZXhwb3J0c1siI1RBU0U6VEEzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRBLTM1IEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRTWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9UU1ggQ29tcG9zaXRlIEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRYNjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIDYwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkFVMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpBVTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkFYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkJYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6Q0ExMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNhbmFkaWFuIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkNBMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpDQUM0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpDTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpDTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNoaW5hIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6Q1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRFMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHZXJtYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpERTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkRFVTMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RFhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTcGFpbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkVVQlVORC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQnVuZCJdLG8uZXhwb3J0c1siI1RWQzpFWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkZSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGcmFuY2UgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpGUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkZUTUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlsYW5vIEl0YWxpYSBCb3JzYSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpHQjAyLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAyIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpHT0xELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBHb2xkIChVUyQgLyBPWikiXSxvLmV4cG9ydHNbIiNUVkM6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOklCRVgzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCRVggMzUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6SUQwMy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDMgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SUQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklEMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOklUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRhbHkgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLApvLmV4cG9ydHNbIiNUVkM6SVhJQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpKUDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpKUDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktPU1BJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgQ29tcG9zaXRlIFN0b2NrIFByaWNlIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLb3JlYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOktSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpNWTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWFsYXlzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpNWTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TkRYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5JMjI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gMjI1IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5MMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXRoZXJsYW5kcyBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpOTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6TloxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOk5aMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQQUxMQURJVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBhbGxhZGl1bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBMMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlBMQVRJTlVNLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQbGF0aW51bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOlBUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9ydHVnYWwgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpTQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU291dGggQWZyaWNhIFRvcCA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTSUxWRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFNpbHZlciAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlNQWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6U1NNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIE1hcmtldCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTdHJhaXRzIFRpbWVzIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYNUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlRSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUdXJrZXkgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpUUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlVLT0lMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBCcmVudCBDcnVkZSBPaWwiXSxvLmV4cG9ydHNbIiNUVkM6VUtYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlVTMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVMwMlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMwNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzA1WS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpVUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMzAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdUSSBDcnVkZSBPaWwiXSwKby5leHBvcnRzWyIjVFZDOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpaWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sby5leHBvcnRzWyIjVFdTRTpUQUlFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBDYXBpdGFsaXphdGlvbiBXZWlnaHRlZCBTdG9jayBJbmRleCJdLG8uZXhwb3J0c1siI1RXVFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUd2l0dGVyIEluYyJdLG8uZXhwb3J0c1siI1VLMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSAxMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNVS09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChCcmVudCkiXSxvLmV4cG9ydHNbIiNVTklVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbmlzd2FwIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI1VTREFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjVVNEQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDYW5hZGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sby5leHBvcnRzWyIjVVNEQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNVU0RES0stc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIERhbmlzaCBLcm9uZSJdLG8uZXhwb3J0c1siI1VTREVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRXVybyJdLG8uZXhwb3J0c1siI1VTREdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG91bmQgU3RlcmxpbmciXSxvLmV4cG9ydHNbIiNVU0RIS0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEhvbmcgS29uZyBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RIVUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEh1bmdhcmlhbiBGb3JpbnQiXSxvLmV4cG9ydHNbIiNVU0RJRFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1cGlhaCJdLG8uZXhwb3J0c1siI1VTRElMUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSXNyYWVsaSBTaGVrZWwiXSxvLmV4cG9ydHNbIiNVU0RJTlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEluZGlhbiBSdXBlZSJdLG8uZXhwb3J0c1siI1VTREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjVVNES1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBLb3JlYW4iXSxvLmV4cG9ydHNbIiNVU0RNWE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIE1leGljYW4gUGVzbyJdLG8uZXhwb3J0c1siI1VTRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEUEhQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQaGlsaXBwaW5lIHBlc28iXSxvLmV4cG9ydHNbIiNVU0RQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI1VTRFJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI1VTRFJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUgVE9NIl0sby5leHBvcnRzWyIjVVNEU0VLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTd2VkaXNoIEtyb25hIl0sby5leHBvcnRzWyIjVVNEU0dELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTaW5nYXBvcmUgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNVU0RUUlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFR1cmtpc2ggTGlyYSJdLG8uZXhwb3J0c1siI1VTRFpBUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU291dGggQWZyaWNhbiBSYW5kIl0sby5leHBvcnRzWyIjVVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoV1RJKSJdLG8uZXhwb3J0c1siI1dIRUFUVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBXaGVhdCJdLG8uZXhwb3J0c1siI1hBR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEFVVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBTcG90IC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYQlRDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEVUUjpEQVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxvLmV4cG9ydHNbIiNYTVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNb25lcm8gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI1hQRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIl0sCm8uZXhwb3J0c1siI1hQVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYUlBCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBCaXRjb2luIl0sby5leHBvcnRzWyIjWFJQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gRXVybyJdLG8uZXhwb3J0c1siI1hSUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWkVDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWmNhc2ggLyBVLlMuIERvbGxhciJdfX1dKTs="}},"time_used":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/price-scale-mode-buttons-renderer.3f61661793789559b605.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.689Z","timestamp":1785136901689,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-2c46\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c66b2055c7bde69bb564e3f60af6fd39\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11334,"size_decoded":5216,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"56b0517a2a0e43c0da91d29f067965d8","sha1":"cc29534e9373c38fabce93912d78c4f77387d041","sha256":"f05ba56fec95e4a8791aa9578861c23f07d46d60a98a78666a2670bfcdd0d2e5","sha512":"3eaec55d02c3544d9aa01a60122eac994af3c4f6ee9829185ce6c4ad79ee4a0e55932cbb67f11214a8e0021ca9cbfe4533a8e07a2af1fb1f2f7dd3b639f0966a","ssdeep":"192:/RR7jTjtKAbbSZcZ0hKoRAJ6LzcWagOzW0+CUc8BJ8Ij/cW20W90tcoMEd:n3Tjdb2hhfLMzP8z/bdzZ","tlshash":"f632c9ed70a1b0656aa328aa803f0406b2bd252d3c4e8874b695eddd35fc54c913bf6d","first_seen":"2026-07-20T16:56:18.262491Z","last_seen":"2026-07-28T06:17:53.475158Z","times_seen":97,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NDY0NCw3MTMwMCw3MTM3NV0sezkxNDQ4NyhlLHQpe3ZhciByOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07aWYocil7dmFyIHU9dHlwZW9mIHI7aWYoInN0cmluZyI9PT11fHwibnVtYmVyIj09PXUpZS5wdXNoKHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSYmci5sZW5ndGgpe3ZhciBhPW8uYXBwbHkobnVsbCxyKTthJiZlLnB1c2goYSl9ZWxzZSBpZigib2JqZWN0Ij09PXUpZm9yKHZhciBpIGluIHIpbi5jYWxsKHIsaSkmJnJbaV0mJmUucHVzaChpKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShyPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1yKX0oKX0sMzM0Njg1KGUpe2UuZXhwb3J0cz17cHJpY2VTY2FsZU1vZGVCdXR0b246InByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRlIixwcmljZVNjYWxlTW9kZUJ1dHRvbl9hY3RpdmF0ZWQ6InByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZSJ9fSw5MDA1MzAoZSl7ZS5leHBvcnRzPXtwcmljZVNjYWxlTW9kZUJ1dHRvbnM6InByaWNlU2NhbGVNb2RlQnV0dG9ucy1hYUtYNksxYSIscHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyOiJwcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXItYWFLWDZLMWEiLHByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uOiJwcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbi1hYUtYNksxYSJ9fSw4NjU1NjAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7VFZBcHBDb250ZXh0OigpPT5zLFRWQXBwQ29udGV4dFByb3ZpZGVyOigpPT5jfSk7dmFyIG49cig3Nzk0NzQpLG89cigxMTUyOTMpLHU9cig5OTk1MSksYT1yKDExNzMxMyk7Y29uc3QgaT17aU9zOiJvbGQiLGFuZHJvaWQ6Im5ldyIsb2xkOiJvbGQiLG5ldzoibmV3Iixhbnk6ImFueSJ9O2Z1bmN0aW9uIGMoZSl7Y29uc3RbdF09KDAsbi51c2VTdGF0ZSkoe2lzT25Nb2JpbGVBcHBQYWdlOmU9PigwLGEuaXNPbk1vYmlsZUFwcFBhZ2UpKGlbZV0pLGlzUnRsOigwLG8uaXNSdGwpKCksbG9jYWxlOndpbmRvdy5sb2NhbGUscmVuZGVyTW9kZTplLnJlbmRlck1vZGU/PyJsZWdhY3kifSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCh1LkFwcENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnR9LGUuY2hpbGRyZW4pfWNvbnN0IHM9dS5BcHBDb250ZXh0fSw1NzEzMDAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLnIodCksci5kKHQse2NyZWF0ZVJlYWN0Um9vdDooKT0+aX0pO3ZhciBuPXIoNzc5NDc0KSxvPXIoMTI5MzY1KSx1PXIoMzM2MzM0KSxhPXIoODY1NTYwKTtmdW5jdGlvbiBpKGUsdCxyPSJsZWdhY3kiKXtjb25zdCBpPW4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOnJ9LGUpO2lmKCJtb2Rlcm4iPT09cil7Y29uc3QgZT0oMCx1LmNyZWF0ZVJvb3QpKHQpO3JldHVybiBlLnJlbmRlcihpKSx7cmVuZGVyKHQpe2UucmVuZGVyKG4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOnJ9LHQpKX0sdW5tb3VudCgpe2UudW5tb3VudCgpfX19cmV0dXJuIG8ucmVuZGVyKGksdCkse3JlbmRlcihlKXtvLnJlbmRlcihuLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTpyfSxlKSx0KX0sdW5tb3VudCgpe28udW5tb3VudENvbXBvbmVudEF0Tm9kZSh0KX19fX0sOTk5NTEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7QXBwQ29udGV4dDooKT0+bn0pO2NvbnN0IG49KDAscig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtpc09uTW9iaWxlQXBwUGFnZTooKT0+ITEsaXNSdGw6ITEsbG9jYWxlOiJlbiIscmVuZGVyTW9kZToibGVnYWN5In0pfSwzMzYzMzQoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDEyOTM2NSk7dC5jcmVhdGVSb290PW4uY3JlYXRlUm9vdCxuLmh5ZHJhdGVSb290fSwxMjkzNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksZS5leHBvcnRzPXIoNTMyMzg3KX0sMTIyNzQ5KGUsdCl7InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxuPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLG89U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLGk9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxjPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxzPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLHA9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLGQ9U3ltYm9sLml0ZXJhdG9yO3ZhciBfPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSx5PU9iamVjdC5hc3NpZ24saD17fTtmdW5jdGlvbiB2KGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWgsdGhpcy51cGRhdGVyPXJ8fF99ZnVuY3Rpb24gbSgpe31mdW5jdGlvbiBiKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsCnRoaXMucmVmcz1oLHRoaXMudXBkYXRlcj1yfHxffXYucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT1lKXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsZSwiZm9yY2VVcGRhdGUiKX0sbS5wcm90b3R5cGU9di5wcm90b3R5cGU7dmFyIFM9Yi5wcm90b3R5cGU9bmV3IG07Uy5jb25zdHJ1Y3Rvcj1iLHkoUyx2LnByb3RvdHlwZSksUy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgTT1BcnJheS5pc0FycmF5LEU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxnPXtjdXJyZW50Om51bGx9LEM9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBSKGUsdCxuKXt2YXIgbyx1PXt9LGE9bnVsbCxpPW51bGw7aWYobnVsbCE9dClmb3IobyBpbiB2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksdClFLmNhbGwodCxvKSYmIUMuaGFzT3duUHJvcGVydHkobykmJih1W29dPXRbb10pO3ZhciBjPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09Yyl1LmNoaWxkcmVuPW47ZWxzZSBpZigxPGMpe2Zvcih2YXIgcz1BcnJheShjKSxsPTA7bDxjO2wrKylzW2xdPWFyZ3VtZW50c1tsKzJdO3UuY2hpbGRyZW49c31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IobyBpbiBjPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PXVbb10mJih1W29dPWNbb10pO3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZSxrZXk6YSxyZWY6aSxwcm9wczp1LF9vd25lcjpnLmN1cnJlbnR9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PXJ9dmFyIGs9L1wvKy9nO2Z1bmN0aW9uIE8oZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT9mdW5jdGlvbihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitlLnJlcGxhY2UoL1s9Ol0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9KCIiK2Uua2V5KTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB4KGUsdCxvLHUsYSl7dmFyIGk9dHlwZW9mIGU7InVuZGVmaW5lZCIhPT1pJiYiYm9vbGVhbiIhPT1pfHwoZT1udWxsKTt2YXIgYz0hMTtpZihudWxsPT09ZSljPSEwO2Vsc2Ugc3dpdGNoKGkpe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6Yz0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgcjpjYXNlIG46Yz0hMH19aWYoYylyZXR1cm4gYT1hKGM9ZSksZT0iIj09PXU/Ii4iK08oYywwKTp1LE0oYSk/KG89IiIsbnVsbCE9ZSYmKG89ZS5yZXBsYWNlKGssIiQmLyIpKyIvIikseChhLHQsbywiIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSkpOm51bGwhPWEmJih3KGEpJiYoYT1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZS50eXBlLGtleTp0LHJlZjplLnJlZixwcm9wczplLnByb3BzLF9vd25lcjplLl9vd25lcn19KGEsbysoIWEua2V5fHxjJiZjLmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShrLCIkJi8iKSsiLyIpK2UpKSx0LnB1c2goYSkpLDE7aWYoYz0wLHU9IiI9PT11PyIuIjp1KyI6IixNKGUpKWZvcih2YXIgcz0wO3M8ZS5sZW5ndGg7cysrKXt2YXIgbD11K08oaT1lW3NdLHMpO2MrPXgoaSx0LG8sbCxhKX1lbHNlIGlmKGw9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1kJiZlW2RdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH0oZSksImZ1bmN0aW9uIj09dHlwZW9mIGwpZm9yKGU9bC5jYWxsKGUpLHM9MDshKGk9ZS5uZXh0KCkpLmRvbmU7KWMrPXgoaT1pLnZhbHVlLHQsbyxsPXUrTyhpLHMrKyksYSk7ZWxzZSBpZigib2JqZWN0Ij09PWkpdGhyb3cgdD1TdHJpbmcoZSksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT10PyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGUpLmpvaW4oIiwgIikrIn0iOnQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIik7cmV0dXJuIGN9ZnVuY3Rpb24gQShlLHQscil7aWYobnVsbD09ZSlyZXR1cm4gZTt2YXIgbj1bXSxvPTA7cmV0dXJuIHgoZSxuLCIiLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKHIsZSxvKyspfSkpLG59ZnVuY3Rpb24gUChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbigoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9dCl9KSwoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MixlLl9yZXN1bHQ9dCl9KSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBMPXtjdXJyZW50Om51bGx9LEI9e3RyYW5zaXRpb246bnVsbH0sJD17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpMLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOkIsUmVhY3RDdXJyZW50T3duZXI6Z307dC5DaGlsZHJlbj17bWFwOkEsZm9yRWFjaDpmdW5jdGlvbihlLHQscil7QShlLChmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkscil9LGNvdW50OmZ1bmN0aW9uKGUpewp2YXIgdD0wO3JldHVybiBBKGUsKGZ1bmN0aW9uKCl7dCsrfSkpLHR9LHRvQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIEEoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCF3KGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LHQuQ29tcG9uZW50PXYsdC5GcmFnbWVudD1vLHQuUHJvZmlsZXI9YSx0LlB1cmVDb21wb25lbnQ9Yix0LlN0cmljdE1vZGU9dSx0LlN1c3BlbnNlPWwsdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD0kLHQuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2UrIi4iKTt2YXIgbz15KHt9LGUucHJvcHMpLHU9ZS5rZXksYT1lLnJlZixpPWUuX293bmVyO2lmKG51bGwhPXQpe2lmKHZvaWQgMCE9PXQucmVmJiYoYT10LnJlZixpPWcuY3VycmVudCksdm9pZCAwIT09dC5rZXkmJih1PSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGM9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IocyBpbiB0KUUuY2FsbCh0LHMpJiYhQy5oYXNPd25Qcm9wZXJ0eShzKSYmKG9bc109dm9pZCAwPT09dFtzXSYmdm9pZCAwIT09Yz9jW3NdOnRbc10pfXZhciBzPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09cylvLmNoaWxkcmVuPW47ZWxzZSBpZigxPHMpe2M9QXJyYXkocyk7Zm9yKHZhciBsPTA7bDxzO2wrKyljW2xdPWFyZ3VtZW50c1tsKzJdO28uY2hpbGRyZW49Y31yZXR1cm57JCR0eXBlb2Y6cix0eXBlOmUudHlwZSxrZXk6dSxyZWY6YSxwcm9wczpvLF9vd25lcjppfX0sdC5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpjLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfZGVmYXVsdFZhbHVlOm51bGwsX2dsb2JhbE5hbWU6bnVsbH0pLlByb3ZpZGVyPXskJHR5cGVvZjppLF9jb250ZXh0OmV9LGUuQ29uc3VtZXI9ZX0sdC5jcmVhdGVFbGVtZW50PVIsdC5jcmVhdGVGYWN0b3J5PWZ1bmN0aW9uKGUpe3ZhciB0PVIuYmluZChudWxsLGUpO3JldHVybiB0LnR5cGU9ZSx0fSx0LmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSx0LmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnMscmVuZGVyOmV9fSx0LmlzVmFsaWRFbGVtZW50PXcsdC5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpmLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6UH19LHQubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpwLHR5cGU6ZSxjb21wYXJlOnZvaWQgMD09PXQ/bnVsbDp0fX0sdC5zdGFydFRyYW5zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9Qi50cmFuc2l0aW9uO0IudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7Qi50cmFuc2l0aW9uPXR9fSx0LnVuc3RhYmxlX2FjdD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfSx0LnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VDYWxsYmFjayhlLHQpfSx0LnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VDb250ZXh0KGUpfSx0LnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LHQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9LHQudXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VFZmZlY3QoZSx0KX0sdC51c2VJZD1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlSWQoKX0sdC51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gTC5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfSx0LnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBMLmN1cnJlbnQudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LHQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sdC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VNZW1vKGUsdCl9LHQudXNlUmVkdWNlcj1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwuY3VycmVudC51c2VSZWR1Y2VyKGUsdCxyKX0sdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VSZWYoZSl9LHQudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VTdGF0ZShlKX0sdC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwuY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQscil9LHQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfSx0LnZlcnNpb249IjE4LjIuMCJ9LDc3OTQ3NChlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDEyMjc0OSl9LDkzMTg3MChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtQcmljZVNjYWxlTW9kZUJ1dHRvbnNSZW5kZXJlcjooKT0+ZH0pO3ZhciBuPXIoNzc5NDc0KSxvPXIoMTM4NjM4KSx1PXIoMTg1MjcxKSxhPXIoMzE4OTc0KSxpPXIoNTcxMzAwKSxjPXIoOTE0NDg3KSxzPXIubihjKSxsPXIoMzM0Njg1KTtmdW5jdGlvbiBwKGUpe2NvbnN0e2FjdGl2YXRlZDp0LG9uQ2xpY2s6cixjb250ZW50Om8sdG9vbHRpcDp1LGFyaWFMYWJlbDphLGNsYXNzTmFtZTppfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsewpjbGFzc05hbWU6cygpKGwucHJpY2VTY2FsZU1vZGVCdXR0b24sdCYmbC5wcmljZVNjYWxlTW9kZUJ1dHRvbl9hY3RpdmF0ZWQsaSx1JiYiYXBwbHktY29tbW9uLXRvb2x0aXAiKSxvbkNsaWNrOnIsImRhdGEtdG9vbHRpcCI6dSwiYXJpYS1sYWJlbCI6YX0sbyl9dmFyIGY9cig5MDA1MzApO2NsYXNzIGR7Y29uc3RydWN0b3Ioe3NldE1vZGU6ZSxnZXRNb2RlOnQsY2xhc3NOYW1lOnI9IiJ9KXt0aGlzLl9yZWFjdFJvb3Q9bnVsbCx0aGlzLl9zZXRBdXRvTW9kZT0oKT0+KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXRNb2RlRnVuY3Rpb24pKCJhdXRvIiksdGhpcy5fc2V0TG9nYXJpdGhtTW9kZT0oKT0+KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXRNb2RlRnVuY3Rpb24pKCJsb2ciKSx0aGlzLl9zZXRNb2RlRnVuY3Rpb249ZSx0aGlzLl9nZXRNb2RlRnVuY3Rpb249dDtjb25zdCBuPXRoaXMuX3dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5jbGFzc0xpc3QuYWRkKHIpLG4uYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLHRoaXMuX3N0b3BQcm9wYWdhdGlvbix7Y2FwdHVyZTohMH0pLG4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fc3RvcFByb3BhZ2F0aW9uLHtjYXB0dXJlOiEwfSksdGhpcy5fcmVuZGVyKCl9ZGVzdHJveSgpe3RoaXMuX3JlYWN0Um9vdD8udW5tb3VudCgpLHRoaXMuX3dyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLHRoaXMuX3N0b3BQcm9wYWdhdGlvbiksdGhpcy5fd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9zdG9wUHJvcGFnYXRpb24pLHRoaXMuX3dyYXBwZXIucmVtb3ZlKCksdGhpcy5fc2V0TW9kZUZ1bmN0aW9uPW51bGwsdGhpcy5fZ2V0TW9kZUZ1bmN0aW9uPW51bGx9ZWxlbWVudCgpe3JldHVybiB0aGlzLl93cmFwcGVyfXdpZHRoKCl7cmV0dXJuIDUyfXVwZGF0ZSgpe3RoaXMuX3JlbmRlcigpfV9yZW5kZXIoKXtjb25zdCBlPWEuQ2hlY2tNb2JpbGUuYW55KCkse2F1dG9TY2FsZTp0PSExLGxvZzpjPSExfT0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX2dldE1vZGVGdW5jdGlvbikoKXx8e30scz1uLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLnByaWNlU2NhbGVNb2RlQnV0dG9uc30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zi5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXIsb25DbGljazplP3RoaXMuX3NldEF1dG9Nb2RlOnZvaWQgMCwiYXJpYS1sYWJlbCI6ZT91LnQobnVsbCx2b2lkIDAscigzNzI3MTkpKTp2b2lkIDB9LG4uY3JlYXRlRWxlbWVudChwLHthY3RpdmF0ZWQ6dCxjb250ZW50OnUudChudWxsLHtjb250ZXh0OidUaGUgZmlyc3QgbGV0dGVyIG9mIHRoZSAiYXV0byIgd29yZCd9LHIoNDk5MzkyKSksdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAscig2MzM3NTIpKSxvbkNsaWNrOmU/dm9pZCAwOnRoaXMuX3NldEF1dG9Nb2RlLGFyaWFMYWJlbDplP3ZvaWQgMDp1LnQobnVsbCx2b2lkIDAscigzNzI3MTkpKSxjbGFzc05hbWU6Zi5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbn0pKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uV3JhcHBlcixvbkNsaWNrOmU/dGhpcy5fc2V0TG9nYXJpdGhtTW9kZTp2b2lkIDAsImFyaWEtbGFiZWwiOmU/dS50KG51bGwsdm9pZCAwLHIoMjA2NDUxKSk6dm9pZCAwfSxuLmNyZWF0ZUVsZW1lbnQocCx7YWN0aXZhdGVkOmMsY29udGVudDp1LnQobnVsbCx7Y29udGV4dDonVGhlIGZpcnN0IGxldHRlciBvZiB0aGUgImxvZ2FyaXRobWljIiB3b3JkJ30scig0MjAxODYpKSx0b29sdGlwOnUudChudWxsLHZvaWQgMCxyKDUwMzU1OCkpLG9uQ2xpY2s6ZT92b2lkIDA6dGhpcy5fc2V0TG9nYXJpdGhtTW9kZSxhcmlhTGFiZWw6ZT92b2lkIDA6dS50KG51bGwsdm9pZCAwLHIoMjA2NDUxKSksY2xhc3NOYW1lOmYucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b259KSkpO3RoaXMuX3JlYWN0Um9vdD90aGlzLl9yZWFjdFJvb3QucmVuZGVyKHMpOnRoaXMuX3JlYWN0Um9vdD0oMCxpLmNyZWF0ZVJlYWN0Um9vdCkocyx0aGlzLl93cmFwcGVyLCJtb2Rlcm4iKX1fc3RvcFByb3BhZ2F0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9fX19XSk7"}},"time_used":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/61495.37ee7d182cf84caa7681.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.989Z","timestamp":1785136900989,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/61495.37ee7d182cf84caa7681.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7f91\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:20:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 40744c29a28dba9b5596616803ef3e0d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32657,"size_decoded":11309,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"1101547aa0a5f1429817d5e491a4287b","sha1":"0bb8f75c93fe64e583a0bc2f0859ff602e1d94a7","sha256":"1f91a265530e9f4142c3b135c93094b7746dba4d3ff42b4ba49d8690c98c7597","sha512":"9f661d05439bbe5f87c7b8580707ce9d517a82a994773de68693c0ba9d653c3bf2565b248d08253aecfc1781e4706198fc30eab02cf96336de418992131d8497","ssdeep":"768:VbtJRlpt8ZUxC6nEFMQQE0rmtel4/0Q+xg23ba1Sj7Fk+1/1NB2VVR4m:VbtvCZLu/004/7+Gsba1SaU2F","tlshash":"cbe2e55632357a3601ef508b58fb0043e23a64486114992dfc7cdeec6ebdd8a623657f","first_seen":"2026-07-25T03:24:57.451516Z","last_seen":"2026-07-28T04:58:41.853687Z","times_seen":292,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2MTQ5NSw2MzU5NV0sezgwMzI4NyhlKXtlLmV4cG9ydHM9eyJkZWZhdWx0LWRyYXdlci1taW4tdG9wLWRpc3RhbmNlIjoiMTAwcHgiLHdyYXA6IndyYXAtaWlpMTE4b04iLHBvc2l0aW9uQm90dG9tOiJwb3NpdGlvbkJvdHRvbS1paWkxMThvTiIsYmFja2Ryb3A6ImJhY2tkcm9wLWlpaTExOG9OIixkcmF3ZXI6ImRyYXdlci1paWkxMThvTiIscG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sNzUxODYzKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1HaERqWHpCeCIsaW5wdXQ6ImlucHV0LUdoRGpYekJ4Iixib3g6ImJveC1HaERqWHpCeCIsaG92ZXJEb3Q6ImhvdmVyRG90LUdoRGpYekJ4IixyZWQ6InJlZC1HaERqWHpCeCIsYmx1ZToiYmx1ZS1HaERqWHpCeCIsZ3JlZW46ImdyZWVuLUdoRGpYekJ4IixvcmFuZ2U6Im9yYW5nZS1HaERqWHpCeCIscHVycGxlOiJwdXJwbGUtR2hEalh6QngiLGN5YW46ImN5YW4tR2hEalh6QngiLHBpbms6InBpbmstR2hEalh6QngiLGxhcmdlOiJsYXJnZS1HaERqWHpCeCIscGlja2VyRG90OiJwaWNrZXJEb3QtR2hEalh6QngifX0sNTU4OTcyKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1WbmVRVm9OdiIsc2VsZWN0b3I6InNlbGVjdG9yLVZuZVFWb052IixhcnJvd0xlZnQ6ImFycm93TGVmdC1WbmVRVm9OdiIsY29sb3JTZWxlY3RCdXR0b246ImNvbG9yU2VsZWN0QnV0dG9uLVZuZVFWb052Iixwb3B1cDoicG9wdXAtVm5lUVZvTnYifX0sOTE2MjYoZSl7ZS5leHBvcnRzPXtpdGVtOiJpdGVtLXZUbThPMExNIixpbnRlcmFjdGl2ZToiaW50ZXJhY3RpdmUtdlRtOE8wTE0iLGhvdmVyZWQ6ImhvdmVyZWQtdlRtOE8wTE0iLGRpc2FibGVkOiJkaXNhYmxlZC12VG04TzBMTSIsYWN0aXZlOiJhY3RpdmUtdlRtOE8wTE0iLHNob3J0Y3V0OiJzaG9ydGN1dC12VG04TzBMTSIsbm9ybWFsOiJub3JtYWwtdlRtOE8wTE0iLGJpZzoiYmlnLXZUbThPMExNIixpY29uQ2VsbDoiaWNvbkNlbGwtdlRtOE8wTE0iLGljb246Imljb24tdlRtOE8wTE0iLGNvbnRlbnQ6ImNvbnRlbnQtdlRtOE8wTE0iLGxhYmVsOiJsYWJlbC12VG04TzBMTSIsY2hlY2tlZDoiY2hlY2tlZC12VG04TzBMTSIsdG9vbGJveDoidG9vbGJveC12VG04TzBMTSIsc2hvd1Rvb2xib3hPbkhvdmVyOiJzaG93VG9vbGJveE9uSG92ZXItdlRtOE8wTE0iLGFycm93SWNvbjoiYXJyb3dJY29uLXZUbThPMExNIixzdWJNZW51OiJzdWJNZW51LXZUbThPMExNIixpbnZpc2libGVIb3RrZXk6ImludmlzaWJsZUhvdGtleS12VG04TzBMTSJ9fSwxMDc5NjYoZSl7ZS5leHBvcnRzPXtpdGVtOiJpdGVtLWQ5akxPTHJSIixlbXB0eUljb25zOiJlbXB0eUljb25zLWQ5akxPTHJSIixsb2FkaW5nOiJsb2FkaW5nLWQ5akxPTHJSIixkaXNhYmxlZDoiZGlzYWJsZWQtZDlqTE9MclIiLGludGVyYWN0aXZlOiJpbnRlcmFjdGl2ZS1kOWpMT0xyUiIsaG92ZXJlZDoiaG92ZXJlZC1kOWpMT0xyUiIsbm9ybWFsOiJub3JtYWwtZDlqTE9MclIiLGJpZzoiYmlnLWQ5akxPTHJSIixpY29uOiJpY29uLWQ5akxPTHJSIixsYWJlbDoibGFiZWwtZDlqTE9MclIiLHRpdGxlOiJ0aXRsZS1kOWpMT0xyUiIsbmVzdGVkOiJuZXN0ZWQtZDlqTE9MclIiLHNob3J0Y3V0OiJzaG9ydGN1dC1kOWpMT0xyUiIscmVtb3ZlOiJyZW1vdmUtZDlqTE9MclIifX0sOTU0NDc4KGUpe2UuZXhwb3J0cz17c2VwYXJhdG9yOiJzZXBhcmF0b3ItS0h0eU1UWUcifX0sMzEzNzcyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0RyYXdlckNvbnRleHQ6KCk9PmMsRHJhd2VyTWFuYWdlcjooKT0+bn0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTk1Njc4KTtjbGFzcyBuIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2lzQm9keUZpeGVkPSExLHRoaXMuX2FkZERyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazpbLi4udC5zdGFjayxlXX0pKSl9LHRoaXMuX3JlbW92ZURyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazp0LnN0YWNrLmZpbHRlcigodD0+dCE9PWUpKX0pKSl9LHRoaXMuc3RhdGU9e3N0YWNrOltdfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXshdC5zdGFjay5sZW5ndGgmJnRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiYoKDAsaS5yZXF1ZXN0TW9kYWxTY3JvbGxMb2NrKSh3aW5kb3cpLHRoaXMuX2lzQm9keUZpeGVkPSEwKSx0LnN0YWNrLmxlbmd0aCYmIXRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiZ0aGlzLl9pc0JvZHlGaXhlZCYmKCgwLGkucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigwLGkucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KX1yZW5kZXIoKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGMuUHJvdmlkZXIse3ZhbHVlOnthZGREcmF3ZXI6dGhpcy5fYWRkRHJhd2VyLHJlbW92ZURyYXdlcjp0aGlzLl9yZW1vdmVEcmF3ZXIsY3VycmVudERyYXdlcjp0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aD90aGlzLnN0YXRlLnN0YWNrW3RoaXMuc3RhdGUuc3RhY2subGVuZ3RoLTFdOm51bGx9fSx0aGlzLnByb3BzLmNoaWxkcmVuKX19Y29uc3QgYz1vLmNyZWF0ZUNvbnRleHQobnVsbCl9LDk2NDIxNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtEcmF3ZXI6KCk9Pl99KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDkxNDQ4Nyksbj1zLm4oaSksYz1zKDEzODYzOCksbD1zKDU4NTQ4KSxyPXMoMTUwMTUwKSxhPXMoMzEzNzcyKSxoPXMoNjMyOTkyKSxkPXMoNTU4MDMwKSx1PXMoODAzMjg3KTt2YXIgbTtmdW5jdGlvbiBfKGUpe2NvbnN0e3Bvc2l0aW9uOnQ9IkJvdHRvbSIsb25DbG9zZTpzLGNoaWxkcmVuOmkscmVmZXJlbmNlOmQsY2xhc3NOYW1lOm0sdGhlbWU6Xz11fT1lLHA9KDAsYy5lbnN1cmVOb3ROdWxsKSgoMCxvLnVzZUNvbnRleHQpKGEuRHJhd2VyQ29udGV4dCkpLFt2XT0oMCwKby51c2VTdGF0ZSkoKCgpPT4oMCxyLnJhbmRvbUhhc2gpKCkpKSxmPSgwLG8udXNlUmVmKShudWxsKSxiPSgwLG8udXNlQ29udGV4dCkoaC5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGMuZW5zdXJlTm90TnVsbCkoZi5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGIuc3Vic2NyaWJlKHAscykscC5hZGREcmF3ZXIodiksKCk9PntwLnJlbW92ZURyYXdlcih2KSxiLnVuc3Vic2NyaWJlKHAscyl9KSksW10pLG8uY3JlYXRlRWxlbWVudChsLlBvcnRhbCxudWxsLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmQsY2xhc3NOYW1lOm4oKSh1LndyYXAsdVtgcG9zaXRpb24ke3R9YF0pfSx2PT09cC5jdXJyZW50RHJhd2VyJiZvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp1LmJhY2tkcm9wLG9uQ2xpY2s6c30pLG8uY3JlYXRlRWxlbWVudChnLHtjbGFzc05hbWU6bigpKF8uZHJhd2VyLHVbYHBvc2l0aW9uJHt0fWBdLG0pLHJlZjpmLCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LGkpKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KG18fChtPXt9KSk7Y29uc3QgZz0oMCxvLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpzLC4uLml9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKHUuZHJhd2VyLHMpLHRhYkluZGV4Oi0xLHJlZjp0LC4uLml9KX0pKX0sNjMyOTkyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7dmFyIG89cyg3Nzk0NzQpLGk9cygyNzYwMTkpO2NvbnN0IG49by5jcmVhdGVDb250ZXh0KGkuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDM4NzIzMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0LHM9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LHM9e30pe2NvbnN0IG89T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3Qgbj1zW2ldfHxpO24gaW4gZSYmKG9baV09W2Vbbl0sdFtpXV0uam9pbigiICIpKX1yZXR1cm4gb30oZSx0LHMpKX1zLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm99KX0sOTAwODQxKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQscyxvLGkpe2Z1bmN0aW9uIG4oaSl7aWYoZT5pLnRpbWVTdGFtcClyZXR1cm47Y29uc3Qgbj1pLnRhcmdldDt2b2lkIDAhPT1zJiZudWxsIT09dCYmbnVsbCE9PW4mJm4ub3duZXJEb2N1bWVudD09PW8mJih0LmNvbnRhaW5zKG4pfHxzKGkpKX1yZXR1cm4gaS5jbGljayYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbiwhMSksaS5tb3VzZURvd24mJm8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixuLCExKSxpLnRvdWNoRW5kJiZvLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixuLCExKSxpLnRvdWNoU3RhcnQmJm8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbiwhMSksKCk9PntvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixuLCExKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsbiwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixuLCExKX19cy5kKHQse2FkZE91dHNpZGVFdmVudExpc3RlbmVyOigpPT5vfSl9LDIzNjc2NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt1c2VPdXRzaWRlRXZlbnQ6KCk9PmN9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDYxNjMxMSksbj1zKDkwMDg0MSk7ZnVuY3Rpb24gYyhlKXtjb25zdHtjbGljazp0LG1vdXNlRG93bjpzLHRvdWNoRW5kOmMsdG91Y2hTdGFydDpsLGhhbmRsZXI6cixyZWZlcmVuY2U6YX09ZSxoPSgwLG8udXNlUmVmKShudWxsKSxkPSgwLG8udXNlUmVmKSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8wOm5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRpbWVzdGFtcCIpLnRpbWVTdGFtcCk7cmV0dXJuKDAsaS51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXtjbGljazp0LG1vdXNlRG93bjpzLHRvdWNoRW5kOmMsdG91Y2hTdGFydDpsfSxvPWE/YS5jdXJyZW50OmguY3VycmVudDtyZXR1cm4oMCxuLmFkZE91dHNpZGVFdmVudExpc3RlbmVyKShkLmN1cnJlbnQsbyxyLGRvY3VtZW50LGUpfSksW3QscyxjLGwscl0pLGF8fGh9fSw4Njk4NDIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U3dpdGNoR3JvdXBDb250ZXh0OigpPT5ufSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg4NjIzODgpO2NvbnN0IG49KDAsby5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+aS5kZWZhdWx0LHN1YnNjcmliZTppLmRlZmF1bHQsdW5zdWJzY3JpYmU6aS5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9Pm59KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDg2OTg0Mik7ZnVuY3Rpb24gbihlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpewpyZXR1cm4gdGhpcy5jb250ZXh0LmdldE5hbWUoKX1faXNDaGVja2VkKCl7cmV0dXJuIHRoaXMuY29udGV4dC5nZXRWYWx1ZXMoKS5pbmNsdWRlcyh0aGlzLnByb3BzLnZhbHVlKX19LHQuY29udGV4dFR5cGU9aS5Td2l0Y2hHcm91cENvbnRleHQsdH19LDE0OTM2NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTd2l0Y2hHcm91cDooKT0+bn0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoODY5ODQyKTtjbGFzcyBuIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX3N1YnNjcmlwdGlvbnM9bmV3IFNldCx0aGlzLl9nZXROYW1lPSgpPT50aGlzLnByb3BzLm5hbWUsdGhpcy5fZ2V0VmFsdWVzPSgpPT50aGlzLnByb3BzLnZhbHVlcyx0aGlzLl9nZXRPbkNoYW5nZT0oKT0+dGhpcy5wcm9wcy5vbkNoYW5nZSx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKGUpfSx0aGlzLl91bnN1YnNjcmliZT1lPT57dGhpcy5fc3Vic2NyaXB0aW9ucy5kZWxldGUoZSl9LHRoaXMuc3RhdGU9e3N3aXRjaEdyb3VwQ29udGV4dDp7Z2V0TmFtZTp0aGlzLl9nZXROYW1lLGdldFZhbHVlczp0aGlzLl9nZXRWYWx1ZXMsZ2V0T25DaGFuZ2U6dGhpcy5fZ2V0T25DaGFuZ2Usc3Vic2NyaWJlOnRoaXMuX3N1YnNjcmliZSx1bnN1YnNjcmliZTp0aGlzLl91bnN1YnNjcmliZX19fXJlbmRlcigpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5Td2l0Y2hHcm91cENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXMuc3RhdGUuc3dpdGNoR3JvdXBDb250ZXh0fSx0aGlzLnByb3BzLmNoaWxkcmVuKX1jb21wb25lbnREaWRVcGRhdGUoZSl7dGhpcy5fbm90aWZ5KHRoaXMuX2dldFVwZGF0ZXModGhpcy5wcm9wcy52YWx1ZXMsZS52YWx1ZXMpKX1fbm90aWZ5KGUpe3RoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaCgodD0+dChlKSkpfV9nZXRVcGRhdGVzKGUsdCl7cmV0dXJuWy4uLnQsLi4uZV0uZmlsdGVyKChzPT50LmluY2x1ZGVzKHMpPyFlLmluY2x1ZGVzKHMpOmUuaW5jbHVkZXMocykpKX19fSwzMTQ3MjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUpe2NvbnN0e3BhZGRpbmdUb3A6dCxwYWRkaW5nQm90dG9tOnN9PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpO3JldHVyblt0LHNdLnJlZHVjZSgoKGUsdCk9PmUtTnVtYmVyKCh0fHwiIikucmVwbGFjZSgicHgiLCIiKSkpLGUuY2xpZW50SGVpZ2h0KX1mdW5jdGlvbiBpKGUsdD0hMSl7Y29uc3Qgcz1nZXRDb21wdXRlZFN0eWxlKGUpLG89W3MuaGVpZ2h0XTtyZXR1cm4iYm9yZGVyLWJveCIhPT1zLmJveFNpemluZyYmby5wdXNoKHMucGFkZGluZ1RvcCxzLnBhZGRpbmdCb3R0b20scy5ib3JkZXJUb3BXaWR0aCxzLmJvcmRlckJvdHRvbVdpZHRoKSx0JiZvLnB1c2gocy5tYXJnaW5Ub3Ascy5tYXJnaW5Cb3R0b20pLG8ucmVkdWNlKCgoZSx0KT0+ZSsocGFyc2VGbG9hdCh0KXx8MCkpLDApfWZ1bmN0aW9uIG4oZSx0PSExKXtjb25zdCBzPWdldENvbXB1dGVkU3R5bGUoZSksbz1bcy53aWR0aF07cmV0dXJuImJvcmRlci1ib3giIT09cy5ib3hTaXppbmcmJm8ucHVzaChzLnBhZGRpbmdMZWZ0LHMucGFkZGluZ1JpZ2h0LHMuYm9yZGVyTGVmdFdpZHRoLHMuYm9yZGVyUmlnaHRXaWR0aCksdCYmby5wdXNoKHMubWFyZ2luTGVmdCxzLm1hcmdpblJpZ2h0KSxvLnJlZHVjZSgoKGUsdCk9PmUrKHBhcnNlRmxvYXQodCl8fDApKSwwKX1zLmQodCx7Y29udGVudEhlaWdodDooKT0+byxvdXRlckhlaWdodDooKT0+aSxvdXRlcldpZHRoOigpPT5ufSl9LDQ0MDcxNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb250ZXh0TWVudUNvbnRleHQ6KCk9Pm99KTtjb25zdCBvPXMoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw1MjUxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0hpbnQ6KCk9Pmx9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDkxNDQ4Nyksbj1zLm4oaSksYz1zKDkxNjI2KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3RleHQ6dD0iIixjbGFzc05hbWU6c309ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShjLnNob3J0Y3V0LHMpfSx0KX19LDcyMTE2NyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb250ZXh0TWVudUl0ZW06KCk9Pl99KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDkxNDQ4Nyksbj1zLm4oaSksYz1zKDI3MzMxMCksbD1zKDY0OTE2Nikscj1zKDc3OTEwOCksYT1zKDUyNTEpLGg9cygzODA1NiksZD1zKDU4MDU5NiksdT1zKDQ2MjcwNCksbT1zKDEwNzk2Nik7ZnVuY3Rpb24gXyhlKXtjb25zdHtjbGFzc05hbWU6dCxpc1RpdGxlOnMsaXNMb2FkaW5nOmksaXNIb3ZlcmVkOl8sYWN0aXZlOmcsY2hlY2thYmxlOnAsZGlzYWJsZWQ6dixjaGVja2VkOmYsaWNvbjpiLGljb25DaGVja2VkOkMsaGludDpJLHN1Ykl0ZW1zOkUsbGFiZWw6eSxzdHlsZWRMYWJlbDprLG9uQ2xpY2s6eCxjaGlsZHJlbjpMLHRvb2xib3g6dyxqc3hMYWJlbDpOLHNpemU6Uz0ibm9ybWFsIn09ZSxNPSgwLG8udXNlQ29udGV4dCkoci5FbXB0eUljb25zQ29udGV4dCksRD0hIUUubGVuZ3RoO3JldHVybiBpP28uY3JlYXRlRWxlbWVudCgibGkiLHtjbGFzc05hbWU6bigpKHQsbS5pdGVtLG0ubG9hZGluZyxtW1NdKX0sby5jcmVhdGVFbGVtZW50KGwuTG9hZGVyLG51bGwpKTpvLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOm4oKSh0LG0uaXRlbSxtLmludGVyYWN0aXZlLHMmJm0udGl0bGUsdiYmbS5kaXNhYmxlZCxfJiZtLmhvdmVyZWQsZyYmbS5hY3RpdmUsTSYmbS5lbXB0eUljb25zLG1bU10pLG9uQ2xpY2s6eH0sby5jcmVhdGVFbGVtZW50KGMuSWNvbix7Y2xhc3NOYW1lOm4oKShtLmljb24pLGljb246ZnVuY3Rpb24oKXtpZihwJiZmKXJldHVybiBDfHxifHxoO3JldHVybiBifSgpfSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShtLmxhYmVsKX0sIU4mJms/ay5tYXAoKCh7dGV4dDplLC4uLnR9LHMpPT5vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6cyxzdHlsZTp0fSxlKSkpOk4/P3kpLCEhdyYmby5jcmVhdGVFbGVtZW50KGMuSWNvbix7Cm9uQ2xpY2s6ZnVuY3Rpb24oKXt3JiZ3LmFjdGlvbigpfSxjbGFzc05hbWU6bS5yZW1vdmUsaWNvbjp1fSksIUQmJkkmJm8uY3JlYXRlRWxlbWVudChhLkhpbnQse2NsYXNzTmFtZTptLnNob3J0Y3V0LHRleHQ6SX0pLEQmJm8uY3JlYXRlRWxlbWVudChjLkljb24se2NsYXNzTmFtZTptLm5lc3RlZCxpY29uOmR9KSxMKX19LDMyMzgzMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb250ZXh0TWVudUxpc3Q6KCk9Pl99KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDk1NDQ3OCk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJsaSIse2NsYXNzTmFtZTppLnNlcGFyYXRvcn0pfXZhciBjPXMoNzIxMTY3KSxsPXMoNTY5Mzk4KSxyPXMoOTY0MjE0KSxhPXMoMjc2MDE5KTtjb25zdCBoPSgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImZvcmNlX2Rpc2FibGVfanN4X21lbnVfaXRlbXNfcmVuZGVyaW5nIik7ZnVuY3Rpb24gZChlKXtjb25zdCB0PWg/ZS5hY3Rpb246ZS5hY3Rpb24uY3VzdG9tKCk/P2UuYWN0aW9uLFtzLGldPSgwLG8udXNlU3RhdGUpKCgoKT0+dC5nZXRTdGF0ZSgpKSksW24sbF09KDAsby51c2VTdGF0ZSkoITEpLGQ9ISFzLnN1Ykl0ZW1zLmxlbmd0aCx1PWQmJm47cmV0dXJuKDAsby51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KCk9PmkodC5nZXRTdGF0ZSgpKTtyZXR1cm4gdC5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLGUpLCgpPT57dC5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsZSl9fSksW10pLG8uY3JlYXRlRWxlbWVudChjLkNvbnRleHRNZW51SXRlbSx7Li4ucyxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKHMuZGlzYWJsZWR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoZClyZXR1cm4gdm9pZCBsKCEwKTtzLmRvTm90Q2xvc2VPbkNsaWNrfHwoMCxhLmdsb2JhbENsb3NlTWVudSkoKTt0LmV4ZWN1dGUoKX0saXNMb2FkaW5nOnMubG9hZGluZyxpc0hvdmVyZWQ6dX0sdSYmby5jcmVhdGVFbGVtZW50KHIuRHJhd2VyLHtvbkNsb3NlOm19LG8uY3JlYXRlRWxlbWVudChfLHtpdGVtczpzLnN1Ykl0ZW1zLHBhcmVudEFjdGlvbjp0LGNsb3NlTmVzdGVkOm19KSkpO2Z1bmN0aW9uIG0oZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwoITEpfX12YXIgdT1zKDc3OTEwOCksbT1zKDMzNDU1MCk7ZnVuY3Rpb24gXyhlKXtjb25zdHtpdGVtczp0LHBhcmVudEFjdGlvbjpzLGNsb3NlTmVzdGVkOml9PWUsbD0hQm9vbGVhbihzKSYmdC5ldmVyeSgoZT0+IUJvb2xlYW4oInNlcGFyYXRvciIhPT1lLnR5cGUmJihlLmdldFN0YXRlKCkuaWNvbnx8ZS5nZXRTdGF0ZSgpLmNoZWNrYWJsZSkpKSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh1LkVtcHR5SWNvbnNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpsfSxvLmNyZWF0ZUVsZW1lbnQoInVsIixudWxsLHMmJm8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGMuQ29udGV4dE1lbnVJdGVtLHtsYWJlbDpzLmdldFN0YXRlKCkubGFiZWwsaXNUaXRsZTohMCxhY3RpdmU6ITEsZGlzYWJsZWQ6ITEsc3ViSXRlbXM6W10sY2hlY2thYmxlOiExLGNoZWNrZWQ6ITEsZG9Ob3RDbG9zZU9uQ2xpY2s6ITEsaWNvbjptLG9uQ2xpY2s6aX0pLG8uY3JlYXRlRWxlbWVudChuLG51bGwpKSx0Lm1hcCgoZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KGQse2tleTplLmlkLGFjdGlvbjplfSk7Y2FzZSJzZXBhcmF0b3IiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQobix7a2V5OmUuaWR9KX19KSkpKX19LDc3OTEwOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtFbXB0eUljb25zQ29udGV4dDooKT0+b30pO2NvbnN0IG89cyg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoITEpfSwzMjk2NjgoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztmdW5jdGlvbiBpKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSl9ZnVuY3Rpb24gbihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiKSl9cy5kKHQse2JlY29tZU1haW5FbGVtZW50OigpPT5pLGJlY29tZVNlY29uZGFyeUVsZW1lbnQ6KCk9Pm59KSxmdW5jdGlvbihlKXtlLk1haW5FbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixlLlNlY29uZGFyeUVsZW1lbnQ9InJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCJ9KG98fChvPXt9KSl9LDMwNjYwMShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb2xvclNlbGVjdG9yOigpPT5JfSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg3MTIxMzQpLG49cygyMzU3MjQpLGM9cygxNDkzNjQpLGw9cyg5ODM2MTYpLHI9cygzMjk2NjgpLGE9cyg5MTQ0ODcpLGg9cy5uKGEpLGQ9cyg2NTg0NiksdT1zKDI3MzMxMCksbT1zKDE4NTI3MSksXz1zKDQ0MDcxNSksZz1zKDE4MjMwOCkscD1zKDI3NDg1MSksdj1zKDIwMzMwOSksZj1zKDc1MTg2Myk7Y29uc3QgYj0oMCxkLm1ha2VTd2l0Y2hHcm91cEl0ZW0pKChmdW5jdGlvbihlKXtjb25zdHtjbGFzc05hbWU6dCx2YWx1ZTpuPWkuTGlzdENvbG9yLlJlZCxuYW1lOmMsY2hlY2tlZDpsfT1lLFtyLGFdPSgwLGcudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxkPSgwLG8udXNlQ29udGV4dCkoXy5Db250ZXh0TWVudUNvbnRleHQpLGI9ZD8udHlwZT8/Im1lbnUiLEM9bjtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJsYWJlbCIse3JlZjpyLHRhYkluZGV4OmEsY2xhc3NOYW1lOmgoKSh0LGYud3JhcCwiZHJhd2VyIj09PWImJmYubGFyZ2UpLCJkYXRhLWNvbG9yIjpDLHJvbGU6Im1lbnVpdGVtIiwiYXJpYS1sYWJlbCI6bS50KG51bGwse3JlcGxhY2U6e2NvbG9yOkN9fSxzKDUwNjkxNSkpLCJhcmlhLWNoZWNrZWQiOmx9LG8uY3JlYXRlRWxlbWVudCgiaW5wdXQiLHtjbGFzc05hbWU6Zi5pbnB1dCx0eXBlOiJyYWRpbyIsbmFtZTpjLHZhbHVlOm4sY2hlY2tlZDpsLG9uQ2hhbmdlOmUub25DaGFuZ2Usb25DbGljazpsP2Z1bmN0aW9uKCl7CmUub25DbGlja0lmQ2hlY2tlZCYmZS5vbkNsaWNrSWZDaGVja2VkKG4pfTp2b2lkIDB9KSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpoKCkoZi5ib3gsZltDXSwiZHJhd2VyIj09PWImJmYubGFyZ2UpfSxsP28uY3JlYXRlRWxlbWVudCh1Lkljb24se2ljb246cH0pOm8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmYucGlja2VyRG90fSxvLmNyZWF0ZUVsZW1lbnQodS5JY29uLHtjbGFzc05hbWU6Zi5ob3ZlckRvdCxpY29uOnZ9KSkpKX0pKSxDPVszOSwzNywxMywzMiwyN107ZnVuY3Rpb24gSShlKXtjb25zdHtidXR0b25DbGFzc05hbWU6dCx2YWx1ZTpzLG9uU2VsZWN0ZWRDbGljazphLGZyb21LZXlib2FyZDpofT1lLGQ9KDAsby51c2VSZWYpKG51bGwpLHU9KDAsby51c2VDYWxsYmFjaykoKGU9PntpZighZC5jdXJyZW50fHxlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKTtpZighQy5pbmNsdWRlcyh0KSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IG89KDAsbC5xdWVyeUZvY3VzYWJsZUVsZW1lbnRzKShkLmN1cnJlbnQpLnNvcnQobC5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxjPW8uZmluZEluZGV4KChlPT5lPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpO2lmKC0xPT09YylyZXR1cm47Y29uc3QgYT1vW2NdO2xldCBoO3N3aXRjaCh0KXtjYXNlIDEzOmNhc2UgMzI6XyhhLmRhdGFzZXQuY29sb3J8fGkuTGlzdENvbG9yLlJlZCk7YnJlYWs7Y2FzZSAyNzpfKHMpfXN3aXRjaCgoMCxsLm1hcEtleUNvZGVUb0RpcmVjdGlvbikodCkpe2Nhc2UiaW5saW5lTmV4dCI6aD1vW2MrMV18fG9bMF07YnJlYWs7Y2FzZSJpbmxpbmVQcmV2IjpoPW9bYy0xXXx8b1tvLmxlbmd0aC0xXX1oIGluc3RhbmNlb2YgSFRNTExhYmVsRWxlbWVudCYmKCgwLHIuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoYSksKDAsci5iZWNvbWVNYWluRWxlbWVudCkoaCksaC5mb2N1cygpKX0pLFtdKTsoMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT57aWYoIWgpcmV0dXJuO2NvbnN0IGU9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCx0PWQuY3VycmVudDtpZighdClyZXR1cm47Y29uc3Rbc109KDAsbC5xdWVyeUZvY3VzYWJsZUVsZW1lbnRzKSh0KS5zb3J0KGwubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7cmV0dXJuIHM/KCgwLHIuYmVjb21lTWFpbkVsZW1lbnQpKHMpLHMuZm9jdXMoKSwoKT0+e2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZS5mb2N1cygpfSk6dm9pZCAwfSksW10pO2NvbnN0IG09aS5MSVNUX0NPTE9SUy5tYXAoKChlLHMpPT5vLmNyZWF0ZUVsZW1lbnQoYix7a2V5OnMsY2xhc3NOYW1lOnQsb25DbGlja0lmQ2hlY2tlZDphLHZhbHVlOmV9KSkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoIm1lbnUiLHtyZWY6ZCxvbktleURvd246dX0sby5jcmVhdGVFbGVtZW50KGMuU3dpdGNoR3JvdXAse25hbWU6ImNvbG9yLXNlbGVjdG9yIixvbkNoYW5nZTpfLHZhbHVlczp2b2lkIDAhPT1zP1tzXTpbXX0sbSkpO2Z1bmN0aW9uIF8odCl7ZS5vbkNoYW5nZSYmdm9pZCAwIT09dCYmZS5vbkNoYW5nZSh0KX19fSw4MzQxODgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UG9wdXBDb2xvclNlbGVjdG9yOigpPT5JfSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg2MDc4MzIpLG49cyg2MDk1MjgpLGM9cyg0MDYxMTApLGw9cygzMTM3NzIpLHI9cyg5NjQyMTQpLGE9cygzMjM4MzApLGg9cyg0NDA3MTUpLGQ9cyg5NjkxNjgpLHU9cyg1ODU0OCksbT1zKDMwNjYwMSksXz1zKDM2MzI2OSksZz1zKDU1ODk3Mik7Y2xhc3MgcCBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb21wb25lbnREaWRNb3VudCgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmKF8ubW9iaWxldG91Y2g/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCk6KHRoaXMucHJvcHMuZWxlbS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLnByb3BzLmhpZGUpKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihfLm1vYmlsZXRvdWNoP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoU3RhcnQpOnRoaXMucHJvcHMuZWxlbSYmKHRoaXMucHJvcHMuZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMucHJvcHMuaGlkZSkpKX1yZW5kZXIoKXtjb25zdCBlPXt0b3A6MH07aWYodGhpcy5wcm9wcy5lbGVtKXtjb25zdCB0PXRoaXMucHJvcHMuZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlLnRvcD10LnRvcCt0LmhlaWdodC8yLCgwLGQuaXNSdGwpKCk/ZS5yaWdodD13aW5kb3cuaW5uZXJXaWR0aC10LmxlZnQ6ZS5sZWZ0PXQubGVmdCt0LndpZHRofWVsc2UgZS5sZWZ0PTA7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh1LlBvcnRhbCxudWxsLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6ZSxjbGFzc05hbWU6Zy5wb3B1cCxyZWY6dGhpcy5fc2V0UG9wVXBFbGVtLG9uTW91c2VMZWF2ZTpfLm1vYmlsZXRvdWNoP3ZvaWQgMDp0aGlzLl9vblBvcFVwTW91c2VMZWF2ZX0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zy53cmFwcGVyfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLnNlbGVjdG9yfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLmFycm93TGVmdH0pLG8uY3JlYXRlRWxlbWVudChtLkNvbG9yU2VsZWN0b3Ise2J1dHRvbkNsYXNzTmFtZTpnLmNvbG9yU2VsZWN0QnV0dG9uLHZhbHVlOnRoaXMucHJvcHMuY3VycmVudENvbG9yLGZyb21LZXlib2FyZDp0aGlzLnByb3BzLmZyb21LZXlib2FyZCxvbkNoYW5nZTp0aGlzLl9vbkNoYW5nZX0pKSkpKQp9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3BvcFVwRWxlbT1udWxsLHRoaXMuX29uQ2hhbmdlPWU9Pnt0aGlzLnByb3BzLm9uU2VsZWN0Q29sb3IoZSksdGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZT1lPT57Y29uc3QgdD0hIWUucmVsYXRlZFRhcmdldC5ub2RlTmFtZSxzPWUucmVsYXRlZFRhcmdldD09PXRoaXMuX3BvcFVwRWxlbSxvPXRoaXMuX3BvcFVwRWxlbSYmdCYmdGhpcy5fcG9wVXBFbGVtLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCk7c3x8b3x8dGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX29uUG9wVXBNb3VzZUxlYXZlPWU9Pntjb25zdCB0PSEhZS5uYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0Lm5vZGVOYW1lLHM9ZS5uYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0PT09dGhpcy5wcm9wcy5lbGVtLG89dCYmdGhpcy5wcm9wcy5lbGVtLmNvbnRhaW5zKGUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldCk7c3x8b3x8dGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX29uVG91Y2hTdGFydD1lPT57Y29uc3QgdD0hIWUudGFyZ2V0Lm5vZGVOYW1lLHM9ZS50YXJnZXQ9PT10aGlzLnByb3BzLmVsZW0sbz1lLnRhcmdldD09PXRoaXMuX3BvcFVwRWxlbSxpPXQmJnRoaXMucHJvcHMuZWxlbS5jb250YWlucyhlLnRhcmdldCksbj10aGlzLl9wb3BVcEVsZW0mJnQmJnRoaXMuX3BvcFVwRWxlbS5jb250YWlucyhlLnRhcmdldCk7c3x8aXx8b3x8bnx8dGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX3NldFBvcFVwRWxlbT1lPT57dGhpcy5fcG9wVXBFbGVtPWV9fX1mdW5jdGlvbiB2KGUpe2NvbnN0e2FjdGlvbnM6dCwuLi5zfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYy5NYXRjaE1lZGlhLHtydWxlOm4uRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChlPT5lJiZ0P28uY3JlYXRlRWxlbWVudChsLkRyYXdlck1hbmFnZXIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoaC5Db250ZXh0TWVudUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnt0eXBlOiJkcmF3ZXIifX0sby5jcmVhdGVFbGVtZW50KHIuRHJhd2VyLHtvbkNsb3NlOnMuaGlkZSxwb3NpdGlvbjoiQm90dG9tIn0sby5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVMaXN0LHtpdGVtczp0fSkpKSk6by5jcmVhdGVFbGVtZW50KHAsey4uLnN9KSkpfXZhciBmPXMoNTcxMzAwKTtsZXQgYj1udWxsLEM9bnVsbDt2YXIgSTshZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe2ImJkM/LnVubW91bnQoKX1lLnNob3c9ZnVuY3Rpb24oZSl7Ynx8KGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHQoKSxDPSgwLGYuY3JlYXRlUmVhY3RSb290KShvLmNyZWF0ZUVsZW1lbnQoaS5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6ZS5tYW5hZ2VyfHxudWxsfSxvLmNyZWF0ZUVsZW1lbnQodix7Li4uZSxoaWRlOnR9KSksYil9LGUuaGlkZT10fShJfHwoST17fSkpfSw4NTU5ODkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlU2VsZWN0YWJsZUxpc3Q6KCk9PnB9KTtjbGFzcyBve2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NvbGw9ZX1nZXRJdGVtQnlJZHgoZSl7cmV0dXJuIHRoaXMuX2NvbGwuaXRlbShlKX1nZXRJdGVtcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuX2NvbGwpfWdldEZpcnN0SXRlbSgpe3JldHVybiB0aGlzLmdldEl0ZW1CeUlkeCgwKX1nZXRMYXN0SXRlbSgpe2NvbnN0IGU9dGhpcy5fY29sbC5sZW5ndGg7cmV0dXJuIHRoaXMuZ2V0SXRlbUJ5SWR4KGUtMSl9Z2V0SXRlbUlkeChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleC5jYWxsKHRoaXMuX2NvbGwsKHQ9PnQ9PT1lKSl9Z2V0TGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2NvbGwubGVuZ3RofWNvbnRhaW5zKGUpe3JldHVybi0xIT09dGhpcy5nZXRJdGVtSWR4KGUpfX12YXIgaSxuPXMoNzI3MDkpOyFmdW5jdGlvbihlKXtlW2UuUHJldj0tMV09IlByZXYiLGVbZS5OZXh0PTFdPSJOZXh0In0oaXx8KGk9e30pKTtjb25zdCBjPSJjdXJzb3IiO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fZW5hYmxlRm9jdXNET01FbGVtZW50PSExLHRoaXMuX2xpc3Q9ZS5saXN0LHRoaXMuX2l0ZW1zPW5ldyBvKHRoaXMuX2xpc3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlLmxpc3RJdGVtQ2xhc3MpKSx0aGlzLl9mb2N1c2VkPW5ldyBvKHRoaXMuX2xpc3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlLmZvY3VzZWRMaXN0SXRlbUNsYXNzKSksdGhpcy5fc2VsZWN0ZWQ9bmV3IG8odGhpcy5fbGlzdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUuc2VsZWN0ZWRMaXN0SXRlbUNsYXNzKSksdGhpcy5fY3Vyc29yPW5ldyBvKHRoaXMuX2xpc3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjKSksdGhpcy5fc2VsZWN0ZWRMaXN0SXRlbUNsYXNzPWUuc2VsZWN0ZWRMaXN0SXRlbUNsYXNzLHRoaXMuX2ZvY3VzZWRMaXN0SXRlbUNsYXNzPWUuZm9jdXNlZExpc3RJdGVtQ2xhc3MsdGhpcy5fb25TZWxlY3Q9ZS5vblNlbGVjdCx0aGlzLl9vbk5hdmlnYXRlPWUub25OYXZpZ2F0ZSx0aGlzLl9vbkNvbmZpcm09ZS5vbkNvbmZpcm0sdGhpcy5fb25EZWxldGU9ZS5vbkRlbGV0ZSx0aGlzLl9tb3VzZUFjdGlvbnM9bmV3IE1hcCx0aGlzLl9jeWNsaWNOYXZpZ2F0aW9uRGlzYWJsZWQ9Qm9vbGVhbihlLmN5Y2xpY05hdmlnYXRpb25EaXNhYmxlZCksdGhpcy5fZW5hYmxlRm9jdXNET01FbGVtZW50PUJvb2xlYW4oZS5lbmFibGVGb2N1c0RPTUVsZW1lbnQpLHRoaXMuaG90a2V5cz0oMCxuLmNyZWF0ZUdyb3VwKSh7ZGVzYzoiU2VsZWN0YWJsZSBsaXN0In0pLGUubW9kZXMmJmUubW9kZXMuZm9yRWFjaCgodD0+bmV3IHQoe3NlbGVjdGlvbjp0aGlzLGxvY2FsSG90a2V5RWxlbWVudDp0aGlzLl9saXN0LGdsb2JhbEhvdGtleUVsZW1lbnQ6ZS5nbG9iYWxIb3RrZXlzP251bGw6dGhpcy5fbGlzdH0pKSl9c2VsZWN0SXRlbShlKXtlLmNsYXNzTGlzdC5hZGQodGhpcy5fc2VsZWN0ZWRMaXN0SXRlbUNsYXNzKX11bnNlbGVjdEl0ZW0oZSl7ZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX3NlbGVjdGVkTGlzdEl0ZW1DbGFzcyl9dmlzdWFsbHlGb2N1c0l0ZW0oZSl7CnRoaXMucmVtb3ZlRm9jdXMoKSxlLmNsYXNzTGlzdC5hZGQodGhpcy5fZm9jdXNlZExpc3RJdGVtQ2xhc3MpLHRoaXMuc2V0Q3Vyc29yKGUpfWZvY3VzSXRlbShlKXt0aGlzLnZpc3VhbGx5Rm9jdXNJdGVtKGUpLHRoaXMuX2VuYWJsZUZvY3VzRE9NRWxlbWVudCYmZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0aGlzLl9mb2N1c0RPTUVsZW1lbnQoZSl9Z2V0Rm9jdXNlZEl0ZW1JZHgoKXtjb25zdCBlPXRoaXMuX2ZvY3VzZWQuZ2V0Rmlyc3RJdGVtKCk7cmV0dXJuIGU/dGhpcy5faXRlbXMuZ2V0SXRlbUlkeChlKTotMX1nZXRGb2N1c2VkSXRlbSgpe3JldHVybiB0aGlzLl9mb2N1c2VkLmdldEZpcnN0SXRlbSgpfWlzU2VsZWN0ZWQoZSl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkLmNvbnRhaW5zKGUpfWlzRm9jdXNlZChlKXtyZXR1cm4gdGhpcy5fZm9jdXNlZC5jb250YWlucyhlKX1pc0xpc3RJdGVtKGUpe3JldHVybiB0aGlzLl9pdGVtcy5jb250YWlucyhlKX1yZW1vdmVTZWxlY3Rpb25zKCl7dGhpcy5fc2VsZWN0ZWQuZ2V0SXRlbXMoKS5mb3JFYWNoKChlPT5lLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fc2VsZWN0ZWRMaXN0SXRlbUNsYXNzKSkpfXJlbW92ZUZvY3VzKCl7dGhpcy5fZm9jdXNlZC5nZXRJdGVtcygpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9mb2N1c2VkTGlzdEl0ZW1DbGFzcykpKX1tb3ZlKGUsdCxzKXtjb25zdCBvPWU/dGhpcy5faXRlbXMuZ2V0SXRlbUlkeChlKTotMTtsZXQgaTtpPSJudW1iZXIiPT10eXBlb2YgdD90aGlzLl9pdGVtcy5nZXRJdGVtQnlJZHgodGhpcy5fY2FsY05leHRJdGVtSWR4KG8sdCkpOnQsaSYmKHMoaSxlKSx0aGlzLl9zY3JvbGxJZk5vdFZpc2libGUoaSkpfWdldFNlbGVjdGVkSXRlbXMoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWQuZ2V0SXRlbXMoKX1nZXRMaXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9Z2V0SXRlbXNDb2xsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfWdldFNlbGVjdGVkQ29sbGVjdGlvbigpe3JldHVybiB0aGlzLl9zZWxlY3RlZH1zZXRDdXJzb3IoZSl7dGhpcy5yZW1vdmVDdXJzb3IoKSxlLmNsYXNzTGlzdC5hZGQoYyl9cmVtb3ZlQ3Vyc29yKCl7dGhpcy5fY3Vyc29yLmdldEl0ZW1zKCkuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QucmVtb3ZlKGMpKSl9Z2V0Q3Vyc29ySXRlbSgpe3JldHVybiB0aGlzLl9jdXJzb3IuZ2V0Rmlyc3RJdGVtKCl9Z2V0Q3Vyc29ySXRlbUlkeCgpe2NvbnN0IGU9dGhpcy5nZXRDdXJzb3JJdGVtKCk7cmV0dXJuIGU/dGhpcy5faXRlbXMuZ2V0SXRlbUlkeChlKTotMX1vblNlbGVjdChlLHQpe3RoaXMuX29uU2VsZWN0JiZ0aGlzLl9vblNlbGVjdCh7Y3Vyc29yOnQsaXRlbXM6dGhpcy5nZXRTZWxlY3RlZEl0ZW1zKCksYWN0aW9uOmV9KX1vbk5hdmlnYXRlKGUsdCl7dGhpcy5fb25OYXZpZ2F0ZSYmdGhpcy5fb25OYXZpZ2F0ZSh7Y3Vyc29yOmUsY3Vyc29ySWR4OnRoaXMuZ2V0Q3Vyc29ySXRlbUlkeCgpLGl0ZW1zOltlXSxhY3Rpb246dH0pfW9uQ29uZmlybShlLHQpe3RoaXMuX29uQ29uZmlybSYmdGhpcy5fb25Db25maXJtKHtjdXJzb3I6ZSxpdGVtczpbZV0sYWN0aW9uOnR9KX1vbkRlbGV0ZShlLHQscyl7dGhpcy5fb25EZWxldGUmJnRoaXMuX29uRGVsZXRlKHtjdXJzb3I6cyxpdGVtczplLGFjdGlvbjp0fSl9cmVnaXN0ZXJNb3VzZUFjdGlvbihlLHQpe3RoaXMuX21vdXNlQWN0aW9ucy5zZXQoZSx0KX1kaXNwYXRjaE1vdXNlRXZlbnQoZSx0KXtjb25zdCBzPXRoaXMuX21vdXNlQWN0aW9ucy5nZXQoZSk7cyYmcyh0KX1kZWxlZ2F0ZUNsaWNrKGUpe3JldHVybiB0PT57aWYoIXQuZGVmYXVsdFByZXZlbnRlZCl7Y29uc3Qgcz10aGlzLl9saXN0LmNvbnRhaW5zKHQudGFyZ2V0KTtsZXQgbz10LnRhcmdldDtmb3IoO3MmJm8hPT10aGlzLl9saXN0Oyl7aWYobyYmdGhpcy5pc0xpc3RJdGVtKG8pKXJldHVybiB2b2lkIGUobyk7bz1vJiZvLnBhcmVudEVsZW1lbnR9fX19Y2xlYXIoKXt0aGlzLnJlbW92ZVNlbGVjdGlvbnMoKSx0aGlzLnJlbW92ZUZvY3VzKCksdGhpcy5yZW1vdmVDdXJzb3IoKX1kZXN0cm95KCl7dGhpcy5ob3RrZXlzLmRlc3Ryb3koKSxkZWxldGUgdGhpcy5fbGlzdCxkZWxldGUgdGhpcy5faXRlbXMsZGVsZXRlIHRoaXMuX3NlbGVjdGVkLGRlbGV0ZSB0aGlzLl9mb2N1c2VkLGRlbGV0ZSB0aGlzLl9jdXJzb3IsZGVsZXRlIHRoaXMuX21vdXNlQWN0aW9uc31fc2Nyb2xsSWZOb3RWaXNpYmxlKGUpe2NvbnN0IHQ9dGhpcy5fbGlzdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz10LnRvcCxpPXQuYm90dG9tLG49cy50b3AsYz1zLmJvdHRvbTtuPG8/dGhpcy5fbGlzdC5zY3JvbGxUb3AtPW8tbjpjPmkmJih0aGlzLl9saXN0LnNjcm9sbFRvcCs9Yy1pKX1fY2FsY05leHRJdGVtSWR4KGUsdCl7Y29uc3Qgcz10aGlzLl9pdGVtcy5nZXRMZW5ndGgoKS0xO2xldCBvPWUrdDtpZihvPDApe2lmKHRoaXMuX2N5Y2xpY05hdmlnYXRpb25EaXNhYmxlZClyZXR1cm4tMTtvPXN9aWYobz5zKXtpZih0aGlzLl9jeWNsaWNOYXZpZ2F0aW9uRGlzYWJsZWQpcmV0dXJuLTE7bz0wfXJldHVybiBvfV9mb2N1c0RPTUVsZW1lbnQoZSl7ZS5mb2N1cygpfX12YXIgcj1zKDIzNTcyNCk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9mb2N1c05leHQ9KCk9PntpZighdGhpcy5faXNWYWxpZE5hdmlnYXRpb24oKSlyZXR1cm47Y29uc3QgZT10aGlzLl9zZWxlY3Rpb24uZ2V0Q3Vyc29ySXRlbSgpO3RoaXMuX3NlbGVjdGlvbi5tb3ZlKGUsaS5OZXh0LHRoaXMuX2ZvY3VzSXRlbS5iaW5kKHRoaXMsImRvd24iKSl9LHRoaXMuX2ZvY3VzUHJldj0oKT0+e2lmKCF0aGlzLl9pc1ZhbGlkTmF2aWdhdGlvbigpKXJldHVybjtjb25zdCBlPXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLm1vdmUoZSxpLlByZXYsdGhpcy5fZm9jdXNJdGVtLmJpbmQodGhpcywidXAiKSl9LHRoaXMuX2ZvY3VzRmlyc3Q9KCk9PntpZighdGhpcy5faXNWYWxpZE5hdmlnYXRpb24oKSlyZXR1cm4KO2NvbnN0IGU9dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEZpcnN0SXRlbSgpLHQ9dGhpcy5fc2VsZWN0aW9uLmdldEZvY3VzZWRJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLm1vdmUodCxlLHRoaXMuX2ZvY3VzSXRlbS5iaW5kKHRoaXMsImhvbWUiKSl9LHRoaXMuX2ZvY3VzTGFzdD0oKT0+e2lmKCF0aGlzLl9pc1ZhbGlkTmF2aWdhdGlvbigpKXJldHVybjtjb25zdCBlPXRoaXMuX3NlbGVjdGlvbi5nZXRJdGVtc0NvbGxlY3Rpb24oKS5nZXRMYXN0SXRlbSgpLHQ9dGhpcy5fc2VsZWN0aW9uLmdldEZvY3VzZWRJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLm1vdmUodCxlLHRoaXMuX2ZvY3VzSXRlbS5iaW5kKHRoaXMsImVuZCIpKX0sdGhpcy5fc2VsZWN0aW9uPWUuc2VsZWN0aW9uLHRoaXMuX3NlbGVjdGlvbi5yZWdpc3Rlck1vdXNlQWN0aW9uKCJjbGljayIsdGhpcy5fc2VsZWN0aW9uLmRlbGVnYXRlQ2xpY2sodGhpcy5fZm9jdXNJdGVtLmJpbmQodGhpcywiY2xpY2siKSkpLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRm9jdXMgUHJldmlvdXMiLGhvdGtleTozOCxoYW5kbGVyOnRoaXMuX2ZvY3VzUHJldixlbGVtZW50OmUuZ2xvYmFsSG90a2V5RWxlbWVudCxpc1JlcGVhdEFjY2VwdGVkOiEwfSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtkZXNjOiJGb2N1cyBOZXh0Iixob3RrZXk6NDAsaGFuZGxlcjp0aGlzLl9mb2N1c05leHQsZWxlbWVudDplLmdsb2JhbEhvdGtleUVsZW1lbnQsaXNSZXBlYXRBY2NlcHRlZDohMH0pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRm9jdXMgUHJldmlvdXMiLGhvdGtleTpyLk1vZGlmaWVycy5TaGlmdCszMixoYW5kbGVyOnRoaXMuX2ZvY3VzUHJldixlbGVtZW50OmUuZ2xvYmFsSG90a2V5RWxlbWVudCxpc1JlcGVhdEFjY2VwdGVkOiEwfSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtkZXNjOiJGb2N1cyBOZXh0Iixob3RrZXk6MzIsaGFuZGxlcjp0aGlzLl9mb2N1c05leHQsZWxlbWVudDplLmdsb2JhbEhvdGtleUVsZW1lbnQsaXNSZXBlYXRBY2NlcHRlZDohMH0pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRm9jdXMgRmlyc3QiLGhvdGtleTozNixoYW5kbGVyOnRoaXMuX2ZvY3VzRmlyc3QsZWxlbWVudDplLmdsb2JhbEhvdGtleUVsZW1lbnR9KSx0aGlzLl9zZWxlY3Rpb24uaG90a2V5cy5hZGQoe2Rlc2M6IkZvY3VzIExhc3QiLGhvdGtleTozNSxoYW5kbGVyOnRoaXMuX2ZvY3VzTGFzdCxlbGVtZW50OmUuZ2xvYmFsSG90a2V5RWxlbWVudH0pfV9mb2N1c0l0ZW0oZSx0KXt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpLHRoaXMuX3NlbGVjdGlvbi5mb2N1c0l0ZW0odCksdGhpcy5fc2VsZWN0aW9uLnNldEN1cnNvcih0KSx0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbSh0KSx0aGlzLl9zZWxlY3Rpb24ub25OYXZpZ2F0ZSh0LGUpfV9pc1ZhbGlkTmF2aWdhdGlvbigpe3JldHVybiBkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keXx8dGhpcy5fc2VsZWN0aW9uLmdldExpc3QoKS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KX19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zZWxlY3Rpb249ZS5zZWxlY3Rpb24sdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtob3RrZXk6ci5Nb2RpZmllcnMuQWx0KzEzLGhhbmRsZXI6dGhpcy5fb25JdGVtS2V5RG93bi5iaW5kKHRoaXMsImFsdCtyZXR1cm4iKSxlbGVtZW50OmUubG9jYWxIb3RrZXlFbGVtZW50fSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtob3RrZXk6ci5Nb2RpZmllcnMuQWx0K3IuTW9kaWZpZXJzLlNoaWZ0KzEzLGhhbmRsZXI6dGhpcy5fb25JdGVtS2V5RG93bi5iaW5kKHRoaXMsImFsdCtyZXR1cm4iKSxlbGVtZW50OmUubG9jYWxIb3RrZXlFbGVtZW50fSl9X29uSXRlbUtleURvd24oZSx0KXtjb25zdCBzPXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7cyYmdGhpcy5fc2VsZWN0aW9uLm9uQ29uZmlybShzLGUpfX1jbGFzcyBke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3NlbGVjdGlvbj1lLnNlbGVjdGlvbix0aGlzLl9zZWxlY3Rpb24ucmVnaXN0ZXJNb3VzZUFjdGlvbigic2hpZnQrY2xpY2siLHRoaXMuX3NlbGVjdGlvbi5kZWxlZ2F0ZUNsaWNrKHRoaXMuX29uSXRlbUNsaWNrLmJpbmQodGhpcywic2hpZnQrY2xpY2siKSkpLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRXh0ZW5kIFNlbGVjdGlvbiBEb3duIixob3RrZXk6ci5Nb2RpZmllcnMuU2hpZnQrNDAsaGFuZGxlcjp0aGlzLl9uZXh0UmFuZ2VJdGVtLmJpbmQodGhpcywic2hpZnQrZG93biIpLGVsZW1lbnQ6ZS5sb2NhbEhvdGtleUVsZW1lbnR9KSx0aGlzLl9zZWxlY3Rpb24uaG90a2V5cy5hZGQoe2Rlc2M6IkV4dGVuZCBTZWxlY3Rpb24gVXAiLGhvdGtleTpyLk1vZGlmaWVycy5TaGlmdCszOCxoYW5kbGVyOnRoaXMuX3ByZXZSYW5nZUl0ZW0uYmluZCh0aGlzLCJzaGlmdCt1cCIpLGVsZW1lbnQ6ZS5sb2NhbEhvdGtleUVsZW1lbnR9KX1fbmV4dFJhbmdlSXRlbShlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRJdGVtc0NvbGxlY3Rpb24oKSxzPXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLmdldEN1cnNvckl0ZW1JZHgoKSE9PXQuZ2V0TGVuZ3RoKCktMSYmdGhpcy5fc2VsZWN0aW9uLm1vdmUocyxpLk5leHQsdGhpcy5fYWRkSXRlbVRvUmFuZ2UoZSwoKGUsdCk9PmU8dCkpKX1fcHJldlJhbmdlSXRlbShlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7MCE9PXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtSWR4KCkmJnRoaXMuX3NlbGVjdGlvbi5tb3ZlKHQsaS5QcmV2LHRoaXMuX2FkZEl0ZW1Ub1JhbmdlKGUsKChlLHQpPT5lPnQpKSl9X29uSXRlbUNsaWNrKGUsdCl7Y29uc3Qgcz10aGlzLl9zZWxlY3Rpb24uZ2V0SXRlbXNDb2xsZWN0aW9uKCkuZ2V0SXRlbXMoKSxvPXRoaXMuX2dldFJhbmdlSW5mbyh0KTt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpCjtmb3IobGV0IGU9by5zdGFydDtlPD1vLmVuZDtlKyspdGhpcy5fc2VsZWN0aW9uLmlzU2VsZWN0ZWQoc1tlXSl8fHRoaXMuX3NlbGVjdGlvbi5zZWxlY3RJdGVtKHNbZV0pO3RoaXMuX3NlbGVjdGlvbi5zZXRDdXJzb3IodCksdGhpcy5fc2VsZWN0aW9uLm9uU2VsZWN0KGUsdCl9X2dldFJhbmdlSW5mbyhlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRJdGVtc0NvbGxlY3Rpb24oKS5nZXRJdGVtSWR4KGUpLHM9dGhpcy5fc2VsZWN0aW9uLmdldEZvY3VzZWRJdGVtSWR4KCksbz0tMSE9PXM/czowO3JldHVybiB0Pm8/e3N0YXJ0Om8sZW5kOnR9OntzdGFydDp0LGVuZDpvfX1fYWRkSXRlbVRvUmFuZ2UoZSx0KXtyZXR1cm4ocyxvKT0+e2NvbnN0IGk9dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEl0ZW1JZHgocyksbj10aGlzLl9zZWxlY3Rpb24uZ2V0Rm9jdXNlZEl0ZW1JZHgoKTswPT09dGhpcy5fc2VsZWN0aW9uLmdldFNlbGVjdGVkQ29sbGVjdGlvbigpLmdldExlbmd0aCgpJiZvJiZ0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbShvKSx0KG4saSk/dGhpcy5fc2VsZWN0aW9uLnNlbGVjdEl0ZW0ocyk6byYmdGhpcy5fc2VsZWN0aW9uLnVuc2VsZWN0SXRlbShvKSx0aGlzLl9zZWxlY3Rpb24uc2V0Q3Vyc29yKHMpLHRoaXMuX3NlbGVjdGlvbi5vblNlbGVjdChlLHMpfX19Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zZWxlY3Rpb249ZS5zZWxlY3Rpb24sdGhpcy5fc2VsZWN0aW9uLnJlZ2lzdGVyTW91c2VBY3Rpb24oImN0cmwrY2xpY2siLHRoaXMuX3NlbGVjdGlvbi5kZWxlZ2F0ZUNsaWNrKHRoaXMuX29uSXRlbUNsaWNrLmJpbmQodGhpcywiY3RybCtjbGljayIpKSksdGhpcy5fc2VsZWN0aW9uLnJlZ2lzdGVyTW91c2VBY3Rpb24oIm1ldGErY2xpY2siLHRoaXMuX3NlbGVjdGlvbi5kZWxlZ2F0ZUNsaWNrKHRoaXMuX29uSXRlbUNsaWNrLmJpbmQodGhpcywibWV0YStjbGljayIpKSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtob3RrZXk6ci5Nb2RpZmllcnMuTW9kKzY1LGhhbmRsZXI6dGhpcy5fc2VsZWN0QWxsLmJpbmQodGhpcywiY3RybCthIiksZWxlbWVudDplLmxvY2FsSG90a2V5RWxlbWVudH0pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7aG90a2V5OjI3LGhhbmRsZXI6dGhpcy5fdW5zZWxlY3RBbGwuYmluZCh0aGlzLCJlc2MiKSxlbGVtZW50OmUubG9jYWxIb3RrZXlFbGVtZW50fSl9X29uSXRlbUNsaWNrKGUsdCl7Y29uc3Qgcz10aGlzLl9zZWxlY3Rpb24uZ2V0Rm9jdXNlZEl0ZW0oKSxvPXRoaXMuX3NlbGVjdGlvbi5nZXRTZWxlY3RlZENvbGxlY3Rpb24oKS5nZXRMZW5ndGgoKTtzJiYwPT09byYmdGhpcy5fc2VsZWN0aW9uLnNlbGVjdEl0ZW0ocyksdGhpcy5fdG9nZ2xlU2VsZWN0aW9uKHQpLHRoaXMuX3NlbGVjdGlvbi5vblNlbGVjdChlLHQpfV90b2dnbGVTZWxlY3Rpb24oZSl7dGhpcy5fc2VsZWN0aW9uLmlzU2VsZWN0ZWQoZSk/dGhpcy5fc2VsZWN0aW9uLnVuc2VsZWN0SXRlbShlKTp0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbShlKSx0aGlzLl9zZWxlY3Rpb24uc2V0Q3Vyc29yKGUpfV9zZWxlY3RBbGwoZSl7dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEl0ZW1zKCkuZm9yRWFjaCgoZT0+dGhpcy5fc2VsZWN0aW9uLnNlbGVjdEl0ZW0oZSkpKSx0aGlzLl9zZWxlY3Rpb24ub25TZWxlY3QoZSl9X3Vuc2VsZWN0QWxsKGUpe3RoaXMuX3NlbGVjdGlvbi5yZW1vdmVTZWxlY3Rpb25zKCk7Y29uc3QgdD10aGlzLl9zZWxlY3Rpb24uZ2V0Rm9jdXNlZEl0ZW0oKTt0JiZ0aGlzLl9zZWxlY3Rpb24uc2V0Q3Vyc29yKHQpLHRoaXMuX3NlbGVjdGlvbi5vblNlbGVjdChlKX19Y2xhc3MgbXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zZWxlY3Rpb249ZS5zZWxlY3Rpb24sdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtkZXNjOiJEZWxldGUiLGhvdGtleTo0NixoYW5kbGVyOnRoaXMuX2RlbGV0ZS5iaW5kKHRoaXMsImRlbCIpLGVsZW1lbnQ6ZS5nbG9iYWxIb3RrZXlFbGVtZW50fSl9X2RlbGV0ZShlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRTZWxlY3RlZEl0ZW1zKCkscz10aGlzLl9zZWxlY3Rpb24uZ2V0Q3Vyc29ySXRlbSgpO3MmJnQubGVuZ3RoPjA/dGhpcy5fc2VsZWN0aW9uLm9uRGVsZXRlKHQsZSxzKTpzJiZ0aGlzLl9zZWxlY3Rpb24ub25EZWxldGUoW3NdLGUscyl9fXZhciBfPXMoMzE4OTc0KTtjbGFzcyBne2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Rpc3BhdGNoQ2xpY2s9ZT0+e2UuY3RybEtleSYmISgwLF8uaXNNYWMpKCk/dGhpcy5fc2VsZWN0aW9uLmRpc3BhdGNoTW91c2VFdmVudCgiY3RybCtjbGljayIsZSk6ZS5zaGlmdEtleT90aGlzLl9zZWxlY3Rpb24uZGlzcGF0Y2hNb3VzZUV2ZW50KCJzaGlmdCtjbGljayIsZSk6ZS5tZXRhS2V5JiYoMCxfLmlzTWFjKSgpP3RoaXMuX3NlbGVjdGlvbi5kaXNwYXRjaE1vdXNlRXZlbnQoIm1ldGErY2xpY2siLGUpOnRoaXMuX3NlbGVjdGlvbi5kaXNwYXRjaE1vdXNlRXZlbnQoImNsaWNrIixlKX0sdGhpcy5fb25TZWxlY3Q9ZT0+e3RoaXMuX2NvbGxlY3RLZXlzKCksdGhpcy5fb3B0cy5vblNlbGVjdCYmdGhpcy5fb3B0cy5vblNlbGVjdChlKX0sdGhpcy5fb25OYXZpZ2F0ZT1lPT57dGhpcy5fY29sbGVjdEtleXMoKSx0aGlzLl9vcHRzLm9uTmF2aWdhdGUmJnRoaXMuX29wdHMub25OYXZpZ2F0ZShlKX0sdGhpcy5fZGlzYWJsZVNlbGVjdGlvbj0oKT0+e3RoaXMuX2xpc3Qub25zZWxlY3RzdGFydD0oKT0+ITF9LHRoaXMuX2VuYWJsZVNlbGVjdGlvbj0oKT0+e3RoaXMuX2xpc3Qub25zZWxlY3RzdGFydD0oKT0+bnVsbH0sdGhpcy5fb3B0cz1lLHRoaXMuX2xpc3Q9ZS5saXN0LHRoaXMuX3NlbGVjdGlvbj1uZXcgbCh7bGlzdDplLmxpc3QsbGlzdEl0ZW1DbGFzczplLmxpc3RJdGVtQ2xhc3Msc2VsZWN0ZWRMaXN0SXRlbUNsYXNzOmUuc2VsZWN0ZWRMaXN0SXRlbUNsYXNzLGZvY3VzZWRMaXN0SXRlbUNsYXNzOmUuZm9jdXNlZExpc3RJdGVtQ2xhc3Msb25TZWxlY3Q6dGhpcy5fb25TZWxlY3Qsb25OYXZpZ2F0ZTp0aGlzLl9vbk5hdmlnYXRlLApvbkNvbmZpcm06ZS5vbkNvbmZpcm0sb25EZWxldGU6ZS5vbkRlbGV0ZSxtb2RlczplLm1vZGVzLGdsb2JhbEhvdGtleXM6Qm9vbGVhbihlLmdsb2JhbEhvdGtleXMpLGN5Y2xpY05hdmlnYXRpb25EaXNhYmxlZDpCb29sZWFuKGUuY3ljbGljTmF2aWdhdGlvbkRpc2FibGVkKSxlbmFibGVGb2N1c0RPTUVsZW1lbnQ6Qm9vbGVhbihlLmVuYWJsZUZvY3VzRE9NRWxlbWVudCl9KSx0aGlzLl9zZWxlY3RlZEtleXM9W10sdGhpcy5fZm9jdXNlZEtleT1udWxsLHRoaXMuX2N1cnNvcktleT1udWxsLHRoaXMuYWN0aXZhdGUoKSx0aGlzLl9jb2xsZWN0S2V5cygpfWFjdGl2YXRlKCl7dGhpcy5fbGlzdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fZGlzcGF0Y2hDbGljayksdGhpcy5fbGlzdC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9kaXNhYmxlU2VsZWN0aW9uKSx0aGlzLl9saXN0LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9lbmFibGVTZWxlY3Rpb24pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLnByb21vdGUoKX1kZWFjdGl2YXRlKCl7dGhpcy5fbGlzdC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fZGlzcGF0Y2hDbGljayksdGhpcy5fbGlzdC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9kaXNhYmxlU2VsZWN0aW9uKSx0aGlzLl9saXN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9lbmFibGVTZWxlY3Rpb24pfWZvY3VzSXRlbShlKXt0aGlzLl9pc05vdEZvY3VzZWQoZSkmJih0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpLHRoaXMuX3NlbGVjdGlvbi5mb2N1c0l0ZW0oZSkpfXZpc3VhbGx5Rm9jdXNJdGVtKGUpe3RoaXMuX2lzTm90Rm9jdXNlZChlKSYmKHRoaXMuX3NlbGVjdGlvbi5yZW1vdmVTZWxlY3Rpb25zKCksdGhpcy5fc2VsZWN0aW9uLnZpc3VhbGx5Rm9jdXNJdGVtKGUpLHRoaXMuX3NlbGVjdGlvbi5zZWxlY3RJdGVtKGUpKX1yZW1vdmVGb2N1cygpe3RoaXMuX3NlbGVjdGlvbi5yZW1vdmVGb2N1cygpfXJlbW92ZVNlbGVjdGlvbnMoKXt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpfXJlc3RvcmUoKXtpZih0aGlzLl9vcHRzLmdldE5vZGVLZXkpe2NvbnN0IGU9dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEl0ZW1zKCksdD10aGlzLl9vcHRzLmdldE5vZGVLZXk7ZS5mb3JFYWNoKChlPT57Y29uc3Qgcz10KGUpO3RoaXMuX2ZvY3VzZWRLZXk9PT1zJiZ0aGlzLl9zZWxlY3Rpb24uZm9jdXNJdGVtKGUpLHRoaXMuX2N1cnNvcktleT09PXMmJnRoaXMuX3NlbGVjdGlvbi5zZXRDdXJzb3IoZSksdGhpcy5fc2VsZWN0ZWRLZXlzLmluY2x1ZGVzKHMpJiZ0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbShlKX0pKX19Z2V0U2VsZWN0ZWRLZXlzKCl7cmV0dXJuIHRoaXMuX2NvbGxlY3RLZXlzKCksdGhpcy5fc2VsZWN0ZWRLZXlzfWdldEZvY3VzZWRLZXkoKXtyZXR1cm4gdGhpcy5fY29sbGVjdEtleXMoKSx0aGlzLl9mb2N1c2VkS2V5fHxudWxsfWNsZWFyKCl7dGhpcy5fc2VsZWN0aW9uLmNsZWFyKCl9ZGVzdHJveSgpe3RoaXMuZGVhY3RpdmF0ZSgpLHRoaXMuX3NlbGVjdGlvbi5kZXN0cm95KCksZGVsZXRlIHRoaXMuX3NlbGVjdGlvbixkZWxldGUgdGhpcy5fbGlzdCxkZWxldGUgdGhpcy5fb3B0c31fY29sbGVjdEtleXMoKXtpZih0aGlzLl9vcHRzLmdldE5vZGVLZXkpe2NvbnN0IGU9dGhpcy5fb3B0cy5nZXROb2RlS2V5LHQ9dGhpcy5fc2VsZWN0aW9uLmdldFNlbGVjdGVkSXRlbXMoKSxzPXRoaXMuX3NlbGVjdGlvbi5nZXRGb2N1c2VkSXRlbSgpLG89dGhpcy5fc2VsZWN0aW9uLmdldEN1cnNvckl0ZW0oKTt0aGlzLl9zZWxlY3RlZEtleXM9dC5tYXAoKHQ9PmUodCkpKSx0aGlzLl9mb2N1c2VkS2V5PXM/ZShzKTpudWxsLHRoaXMuX2N1cnNvcktleT1vP2Uobyk6bnVsbH19X2lzTm90Rm9jdXNlZChlKXtyZXR1cm4hdGhpcy5fc2VsZWN0aW9uLmlzU2VsZWN0ZWQoZSkmJiF0aGlzLl9zZWxlY3Rpb24uaXNGb2N1c2VkKGUpfX1mdW5jdGlvbiBwKGUpe3JldHVybiBuZXcgZyhPYmplY3QuYXNzaWduKHt9LHttb2RlczpbYSxoLG0sdSxkXX0sZSkpfX0sMTY4ODI0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtjb25zdFt0LHMsb109ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnRvU3RyaW5nKCk7cmV0dXJuW051bWJlcih0LnNsaWNlKDAsNCkpLE51bWJlcih0LnNsaWNlKDQsNikpLE51bWJlcih0LnNsaWNlKDYpKV19KGUpO3JldHVybiBuZXcgRGF0ZSh0LHMtMSxvKX1zLmQodCx7Z2V0RGF0ZUZyb21ZWVlZTU1ERDooKT0+b30pfSwxODIzMDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5jfSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg3ODc4OTUpLG49cyg2MTYzMTEpO2Z1bmN0aW9uIGMoZSx0PVtdKXtjb25zdFtzLGNdPSgwLG8udXNlU3RhdGUpKCExKSxsPSgwLGkudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsbi51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPWwuY3VycmVudDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IjpjKCEwKTticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6YyghMSl9fTtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLHQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50Iix0KX19KSx0KSxbbCxzPzA6LTFdfX0sMzA5ODM2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2FkZFV0bVRvVXJsOigpPT5pfSk7dmFyIG89cyg2MDE1ODcpO2Z1bmN0aW9uIGkoZSx0KXsKaWYoIS8oW2EtekEtWjAtOS4tXSp0cmFkaW5ndmlldy5jb20pfGxvY2FsaG9zdC8udGVzdChlKSlyZXR1cm4gZTtjb25zdCBzPSgwLG8uYnVpbGRVdG1RdWVyeVN0cmluZykodCk7aWYoIiI9PT1zKXJldHVybiBlO2NvbnN0IGk9ZS5pbmRleE9mKCI/Iiksbj1lLmluZGV4T2YoIiMiKSxjPS0xIT09bjtpZigtMSE9PWkmJighY3x8aTxuKSl7cmV0dXJuYCR7ZS5zbGljZSgwLGkpfT8ke2M/ZS5zbGljZShpKzEsbik6ZS5zbGljZShpKzEpfSYke3N9JHtjP2Uuc2xpY2Uobik6IiJ9YH1pZihjKXtyZXR1cm5gJHtlLnNsaWNlKDAsbil9PyR7c30ke2Uuc2xpY2Uobil9YH1yZXR1cm5gJHtlfT8ke3N9YH19LDYwMTU4NyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5yLGZpbHRlclV0bUluZm86KCk9PmN9KTt2YXIgbz1zKDQ5MjY3NyksaT1zKDY0MTU5Myk7Y29uc3Qgbj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXt9O3JldHVybiBuLmZvckVhY2goKHM9Pntjb25zdCBvPWVbc107InN0cmluZyI9PXR5cGVvZiBvJiYiIiE9PW8mJih0W3NdPSgwLGkuaHRtbEVzY2FwZSkobykpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IHM9KDAsby5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBzJiZ0PyI/IitzOnN9ZnVuY3Rpb24gcihlKXtyZXR1cm4gbChjKCgwLG8uZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDQ2MjcwNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgNGgzdjFoLTEuMDRsLS44OCA5LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZINi40MmExLjUgMS41IDAgMCAxLTEuNS0xLjM2TDQuMDUgNUgzVjRoM3YtLjVDNiAyLjY3IDYuNjcgMiA3LjUgMmgzYy44MyAwIDEuNS42NyAxLjUgMS41VjRaTTcuNSAzYS41LjUgMCAwIDAtLjUuNVY0aDR2LS41YS41LjUgMCAwIDAtLjUtLjVoLTNaTTUuMDUgNWwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTIuOTQgNWgtNy45WiIvPjwvc3ZnPid9LDIwMzMwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQgOGE0IDQgMCAxIDAgOCAwIDQgNCAwIDEgMC04IDAiLz48L3N2Zz4nfSwyNzQ4NTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTAgOGE4IDggMCAxIDAgMTYgMEE4IDggMCAxIDAgMCA4em0yIDBhNiA2IDAgMSAwIDEyIDBBNiA2IDAgMSAwIDIgOHptMiAwYTQgNCAwIDEgMCA4IDAgNCA0IDAgMSAwLTggMCIvPjwvc3ZnPid9LDMzNDU1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTYuNSAyMEwxMSAxNC41IDE2LjUgOSIvPjwvc3ZnPid9LDM4MDU2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNSIgZD0iTTcgMTVsNSA1TDIzIDkiLz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93416.90818d73e0e3a9a9fe2a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.307Z","timestamp":1785136901307,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93416.90818d73e0e3a9a9fe2a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-244\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 65dab7ca3c44ad3581a4643f50ad9379\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":580,"size_decoded":1088,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (580), with no line terminators","md5":"34f5e63cca1a0c5f41a95164111b3b4c","sha1":"c652860824e5dfe8605dfd2c449ab1999dbb7320","sha256":"d836659d40ccee20b3bda744c4d2935c90d75eb285a16b35fea1a995e18a1d80","sha512":"4e47b6897f850a154d8b07315c97ee8b4d0b2f5d4909f78c8ccc1de89e165e871ba201c85af37eb3c384ef96de09c261da19a74b11a2290fa42b7872527a8638","ssdeep":"","tlshash":"02f04c1aa2b98f9f9063c899053cb21b5451dd93de221f27b6d8c52c81cbed71307a0c","first_seen":"2026-07-17T03:30:51.191624Z","last_seen":"2026-08-10T05:00:33.728026Z","times_seen":246,"resource_available":false,"data":"LmNoZWNrYm94LWhVc25uMlpfe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2dhcDo4cHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbH0uY2hlY2tib3gtaFVzbm4yWl8ucmV2ZXJzZS1oVXNubjJaX3tmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmNoZWNrYm94LWhVc25uMlpfLmJhc2VsaW5lLWhVc25uMlpfe2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LmxhYmVsLWhVc25uMlpfe21pbi13aWR0aDowfS5kaXNhYmxlZC1oVXNubjJaX3tvcGFjaXR5Oi41fS5wcmltYXJ5LWhVc25uMlpfe2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmRhbmdlci1oVXNubjJaX3tjb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.540Z","timestamp":1785136901540,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-cc58\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 996a0a5e7ca939a827626e122c6439ec\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":52312,"size_decoded":18239,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"b35e59efb0bd11483b985f2bd44f849a","sha1":"c6462f8d45b288692eefab16cfce1bde8633a682","sha256":"aa5adcee7d49a8b57e50e07d14931f3c5213ddbe82695bbab124f86371af9dfa","sha512":"ef350f2c4925c583157615f8d1dd4471e1f6fd1336c82a65652400776b43fba8fc75a96d410457e518e6a1dbd3f932f6386b6c178959ff9de6c112734a06ac42","ssdeep":"1536:q/H3qVRbkqWN+plfUCCCsHllfltQO45eQjF4ff1qcfTjD5NQcj1kfBZoBIgd6:q/H3qXkCp8R7Igd6","tlshash":"013308547175b0384ad720aed43b0407b36a68a9b41f51a8f2f49ddd35edd8cd22ab3c","first_seen":"2026-07-24T11:36:48.152611Z","last_seen":"2026-07-28T06:17:53.344523Z","times_seen":102,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MzkyNiw2NDY0NF0sezkxNDQ4NyhlLHQpe3ZhciByOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBuKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07aWYocil7dmFyIGk9dHlwZW9mIHI7aWYoInN0cmluZyI9PT1pfHwibnVtYmVyIj09PWkpZS5wdXNoKHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSYmci5sZW5ndGgpe3ZhciBhPW4uYXBwbHkobnVsbCxyKTthJiZlLnB1c2goYSl9ZWxzZSBpZigib2JqZWN0Ij09PWkpZm9yKHZhciBvIGluIHIpcy5jYWxsKHIsbykmJnJbb10mJmUucHVzaChvKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8obi5kZWZhdWx0PW4sZS5leHBvcnRzPW4pOnZvaWQgMD09PShyPWZ1bmN0aW9uKCl7cmV0dXJuIG59LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1yKX0oKX0sODQ2MDExKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1xWW00eDJ1dSIsd3JhcFdpdGhBcnJvd3NPdXRpbmc6IndyYXBXaXRoQXJyb3dzT3V0aW5nLXFZbTR4MnV1Iix3cmFwT3ZlcmZsb3c6IndyYXBPdmVyZmxvdy1xWW00eDJ1dSIsc2Nyb2xsV3JhcDoic2Nyb2xsV3JhcC1xWW00eDJ1dSIsbm9TY3JvbGxCYXI6Im5vU2Nyb2xsQmFyLXFZbTR4MnV1IixpY29uOiJpY29uLXFZbTR4MnV1IixzY3JvbGxMZWZ0OiJzY3JvbGxMZWZ0LXFZbTR4MnV1IixzY3JvbGxSaWdodDoic2Nyb2xsUmlnaHQtcVltNHgydXUiLGlzVmlzaWJsZToiaXNWaXNpYmxlLXFZbTR4MnV1IixpY29uV3JhcDoiaWNvbldyYXAtcVltNHgydXUiLGZhZGVMZWZ0OiJmYWRlTGVmdC1xWW00eDJ1dSIsZmFkZVJpZ2h0OiJmYWRlUmlnaHQtcVltNHgydXUifX0sNTc1MTM3KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4In19LDYzMzI5KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4Iix0b29sYmFyOiJ0b29sYmFyLU5DWXlvemhoIixpc0hpZGRlbjoiaXNIaWRkZW4tTkNZeW96aGgiLG92ZXJmbG93V3JhcDoib3ZlcmZsb3dXcmFwLU5DWXlvemhoIixjdXN0b21CdXR0b246ImN1c3RvbUJ1dHRvbi1OQ1l5b3poaCIsaG92ZXI6ImhvdmVyLU5DWXlvemhoIixjbGlja2VkOiJjbGlja2VkLU5DWXlvemhoIn19LDM3MDc3NShlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtVUwzRklwc2UiLGljb246Imljb24tVUwzRklwc2UifX0sMjE4NjAzKGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4Iixpbm5lcldyYXA6ImlubmVyV3JhcC1kbEZETjBaZCIsaW5uZXI6ImlubmVyLWRsRkROMFpkIixmYWtlOiJmYWtlLWRsRkROMFpkIixmaWxsOiJmaWxsLWRsRkROMFpkIixjb2xsYXBzZToiY29sbGFwc2UtZGxGRE4wWmQiLGJ1dHRvbjoiYnV0dG9uLWRsRkROMFpkIixpY29uQnV0dG9uOiJpY29uQnV0dG9uLWRsRkROMFpkIixoaWRkZW46ImhpZGRlbi1kbEZETjBaZCIsY29udGVudDoiY29udGVudC1kbEZETjBaZCIsZGVza3RvcFRyYWRlOiJkZXNrdG9wVHJhZGUtZGxGRE4wWmQiLGRlc2t0b3BQdWJsaXNoOiJkZXNrdG9wUHVibGlzaC1kbEZETjBaZCIsbW9iaWxlVHJhZGU6Im1vYmlsZVRyYWRlLWRsRkROMFpkIixtb2JpbGVQdWJsaXNoOiJtb2JpbGVQdWJsaXNoLWRsRkROMFpkIn19LDI3OTUzMihlKXtlLmV4cG9ydHM9e2dyb3VwOiJncm91cC1MTFpBYnMwRyIsc2VwYXJhdG9yOiJzZXBhcmF0b3ItTExaQWJzMEciLG5vTGVmdERlY29yYXRpb246Im5vTGVmdERlY29yYXRpb24tTExaQWJzMEciLG5vUmlnaHREZWNvcmF0aW9uOiJub1JpZ2h0RGVjb3JhdGlvbi1MTFpBYnMwRyIsbm9NaW5pbWFsV2lkdGg6Im5vTWluaW1hbFdpZHRoLUxMWkFiczBHIixzZXBhcmF0b3JXcmFwOiJzZXBhcmF0b3JXcmFwLUxMWkFiczBHIn19LDE2NDU2NihlKXtlLmV4cG9ydHM9e3NlcGFyYXRvcjoic2VwYXJhdG9yLWxsdXF1ZlZxIn19LDUwOTk5MChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtNZWFzdXJlOigpPT5ufSk7dmFyIHM9cig3MTk0MjUpO2Z1bmN0aW9uIG4oZSl7Y29uc3R7Y2hpbGRyZW46dCxvblJlc2l6ZTpyfT1lO3JldHVybiB0KCgwLHMudXNlUmVzaXplT2JzZXJ2ZXIpKHJ8fCgoKT0+e30pLFtudWxsPT09cl0pKX19LDc4Nzg5NShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHt1c2VGdW5jdGlvbmFsUmVmT2JqZWN0OigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpLG49cig2MTYzMTEpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxzLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1yPT57ZShyKSx0LmN1cnJlbnQ9cn07cmV0dXJuIHQuY3VycmVudD1udWxsLHR9KChlPT57by5jdXJyZW50KGUpfSkpKSxbXSkscj0oMCxzLnVzZVJlZikobnVsbCksaT10PT57aWYobnVsbD09PXQpcmV0dXJuIGEoci5jdXJyZW50LHQpLHZvaWQoci5jdXJyZW50PW51bGwpO3IuY3VycmVudCE9PWUmJihyLmN1cnJlbnQ9ZSxhKHIuY3VycmVudCx0KSl9LG89KDAscy51c2VSZWYpKGkpO3JldHVybiBvLmN1cnJlbnQ9aSwoMCxuLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKG51bGwhPT10LmN1cnJlbnQpcmV0dXJuIG8uY3VycmVudCh0LmN1cnJlbnQpLCgpPT5vLmN1cnJlbnQobnVsbCl9KSxbZV0pLHR9ZnVuY3Rpb24gYShlLHQpe251bGwhPT1lJiYoImZ1bmN0aW9uIj09dHlwZW9mIGU/ZSh0KTplLmN1cnJlbnQ9dCl9fSw2ODk4OTQoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7aG92ZXJNb3VzZUV2ZW50RmlsdGVyOigpPT5hLHVzZUFjY3VyYXRlSG92ZXI6KCk9Pm8sdXNlSG92ZXI6KCk9Pm4sdXNlSG92ZXJEZXByZWNhdGVkOigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpO2Z1bmN0aW9uIG4oKXtjb25zdFtlLHRdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZUVudGVyOmZ1bmN0aW9uKGUpe3QoITApfSwKb25Nb3VzZUxlYXZlOmZ1bmN0aW9uKGUpe3QoITEpfX1dfWZ1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZU92ZXI6ZnVuY3Rpb24oZSl7YShlKSYmdCghMCl9LG9uTW91c2VPdXQ6ZnVuY3Rpb24oZSl7YShlKSYmdCghMSl9fV19ZnVuY3Rpb24gYShlKXtyZXR1cm4hZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl9ZnVuY3Rpb24gbyhlKXtjb25zdFt0LHJdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD10PT57aWYobnVsbD09PWUuY3VycmVudClyZXR1cm47Y29uc3Qgcz1lLmN1cnJlbnQuY29udGFpbnModC50YXJnZXQpO3Iocyl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpfSksW10pLHR9fSw3MTk0MjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7dXNlUmVzaXplT2JzZXJ2ZXI6KCk9PmF9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDYxNjMxMSksaT1yKDc4Nzg5NSk7ZnVuY3Rpb24gYShlLHQ9W10pe2NvbnN0e2NhbGxiYWNrOnIscmVmOmE9bnVsbH09ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGU/e2NhbGxiYWNrOmV9OmV9KGUpLG89KDAscy51c2VSZWYpKG51bGwpLGw9KDAscy51c2VSZWYpKHIpO2wuY3VycmVudD1yO2NvbnN0IGM9KDAsaS51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShhKSx1PSgwLHMudXNlQ2FsbGJhY2spKChlPT57YyhlKSxudWxsIT09by5jdXJyZW50JiYoby5jdXJyZW50LmRpc2Nvbm5lY3QoKSxudWxsIT09ZSYmby5jdXJyZW50Lm9ic2VydmUoZSkpfSksW2Msb10pO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT4oby5jdXJyZW50PW5ldyBSZXNpemVPYnNlcnZlcigoKGUsdCk9PntsLmN1cnJlbnQoZSx0KX0pKSxjLmN1cnJlbnQmJnUoYy5jdXJyZW50KSwoKT0+e28uY3VycmVudD8uZGlzY29ubmVjdCgpfSkpLFtjLC4uLnRdKSx1fX0sMjczMzEwKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse0ljb246KCk9Pm59KTt2YXIgcz1yKDc3OTQ3NCk7Y29uc3Qgbj1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpyPSIiLHRpdGxlOm4sYXJpYUxhYmVsOmksYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOm8sLi4ubH09ZSxjPSEhKG58fGl8fGEpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmwscmVmOnQsImFyaWEtbGFiZWwiOmksImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOm98fCFjLHRpdGxlOm4sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpyfX0pfSkpfSw4MzM5MDMoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKC4uLmUpe3JldHVybiB0PT57Zm9yKGNvbnN0IHIgb2YgZSl2b2lkIDAhPT1yJiZyKHQpfX1yLmQodCx7Y3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcjooKT0+c30pfSwzNjUyMTcoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7SEVBREVSX1RPT0xCQVJfSEVJR0hUX0NPTExBUFNFRDooKT0+aSxIRUFERVJfVE9PTEJBUl9IRUlHSFRfRVhQQU5ERUQ6KCk9Pm59KTt2YXIgcz1yKDU3NTEzNyk7Y29uc3Qgbj1wYXJzZUludChzWyJjc3MtdmFsdWUtaGVhZGVyLXRvb2xiYXItaGVpZ2h0Il0pLGk9M30sNTIzODAxKGUsdCxyKXsidXNlIHN0cmljdCI7ci5yKHQpLHIuZCh0LHtIZWFkZXJUb29sYmFyOigpPT5fZX0pO3ZhciBzPXIoNzc5NDc0KSxuPXIoOTE0NDg3KSxpPXIubihuKSxhPXIoNTI3MzIzKSxvPXIubihhKSxsPXIoNTg3MTY4KSxjPXIoMzA0MjIxKTtjb25zdCB1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lfTt2YXIgZD1yKDEzODYzOCksaD1yKDIzMjM2NCksbT1yKDkzMDIzMSksdj1yKDE3OTc3MSkscD1yKDIyMTg5NiksZj1yKDM2MzI2OSksUz1yKDk5ODE1OCksYj1yKDE2NDU2Nik7ZnVuY3Rpb24gZyhlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGIuc2VwYXJhdG9yLGUuY2xhc3NOYW1lKX0pfXZhciBfPXIoMjc5NTMyKTtmdW5jdGlvbiB5KGUpe2NvbnN0e2NoaWxkcmVuOnQsY2xhc3NOYW1lOnIsbm9MZWZ0RGVjb3JhdGlvbjpuLG5vUmlnaHREZWNvcmF0aW9uOmEsbm9NaW5pbWFsV2lkdGg6byxvbkNsaWNrOmwscmVtb3ZlU2VwYXJhdG9yOmN9PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsIWMmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOl8uc2VwYXJhdG9yV3JhcH0scy5jcmVhdGVFbGVtZW50KGcse2NsYXNzTmFtZTpfLnNlcGFyYXRvcn0pKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkocixfLmdyb3VwLHtbXy5ub01pbmltYWxXaWR0aF06byxbXy5ub0xlZnREZWNvcmF0aW9uXTpuLFtfLm5vUmlnaHREZWNvcmF0aW9uXTphfSksb25DbGljazpsfSx0KSl9dmFyIEU9cig1MDk5OTApLEM9cigxODUyNzEpLFQ9cigyNzMzMTApLHc9cigzNzA3NzUpLEQ9cigzMDE2MDcpO2NvbnN0IE09e3RleHQ6Qy50KG51bGwsdm9pZCAwLHIoNTQwOTEwKSl9O2Z1bmN0aW9uIFIoZSl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOncud3JhcH0scy5jcmVhdGVFbGVtZW50KFQuSWNvbix7Y2xhc3NOYW1lOncuaWNvbixpY29uOkR9KSxNLnRleHQpfXZhciBrPXIoMjE4ODE0KSxJPXIoMTE1MjkzKSxGPXIoMzQyNzgpLE89cigzOTE4OTApLEE9cig4NDYwMTEpO2NvbnN0IFY9e2lzVmlzaWJsZVNjcm9sbGJhcjohMCxzaG91bGRNZWFzdXJlOiEwLGhpZGVCdXR0b25zRnJvbToxfTtmdW5jdGlvbiBOKGUpe3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkoQS5mYWRlTGVmdCxlLmNsYXNzTmFtZSx7W0EuaXNWaXNpYmxlXTplLmlzVmlzaWJsZX0pfSl9ZnVuY3Rpb24gTChlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKEEuZmFkZVJpZ2h0LGUuY2xhc3NOYW1lLHsKW0EuaXNWaXNpYmxlXTplLmlzVmlzaWJsZX0pfSl9ZnVuY3Rpb24geChlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KEIsey4uLmUsY2xhc3NOYW1lOkEuc2Nyb2xsTGVmdH0pfWZ1bmN0aW9uIFcoZSl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChCLHsuLi5lLGNsYXNzTmFtZTpBLnNjcm9sbFJpZ2h0fSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGUuY2xhc3NOYW1lLHtbQS5pc1Zpc2libGVdOmUuaXNWaXNpYmxlfSksb25DbGljazplLm9uQ2xpY2t9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkEuaWNvbldyYXB9LHMuY3JlYXRlRWxlbWVudChULkljb24se2ljb246TyxjbGFzc05hbWU6QS5pY29ufSkpKX1jb25zdCBQPWZ1bmN0aW9uKGU9eCx0PVcscj1OLG49TCl7dmFyIGE7cmV0dXJuKGE9Y2xhc3MgZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fc2Nyb2xsPXMuY3JlYXRlUmVmKCksdGhpcy5faGFuZGxlU2Nyb2xsTGVmdD0oKT0+e2lmKHRoaXMucHJvcHMub25TY3JvbGxCdXR0b25DbGljaylyZXR1cm4gdm9pZCB0aGlzLnByb3BzLm9uU2Nyb2xsQnV0dG9uQ2xpY2soImxlZnQiKTtjb25zdCBlPXRoaXMucHJvcHMuc2Nyb2xsU3RlcFNpemV8fHRoaXMuc3RhdGUud2lkdGhXcmFwLTUwO3RoaXMuYW5pbWF0ZVRvKE1hdGgubWF4KDAsdGhpcy5jdXJyZW50UG9zaXRpb24oKS1lKSl9LHRoaXMuX2hhbmRsZVNjcm9sbFJpZ2h0PSgpPT57aWYodGhpcy5wcm9wcy5vblNjcm9sbEJ1dHRvbkNsaWNrKXJldHVybiB2b2lkIHRoaXMucHJvcHMub25TY3JvbGxCdXR0b25DbGljaygicmlnaHQiKTtjb25zdCBlPXRoaXMucHJvcHMuc2Nyb2xsU3RlcFNpemV8fHRoaXMuc3RhdGUud2lkdGhXcmFwLTUwO3RoaXMuYW5pbWF0ZVRvKE1hdGgubWluKCh0aGlzLnN0YXRlLndpZHRoQ29udGVudHx8MCktKHRoaXMuc3RhdGUud2lkdGhXcmFwfHwwKSx0aGlzLmN1cnJlbnRQb3NpdGlvbigpK2UpKX0sdGhpcy5faGFuZGxlUmVzaXplV3JhcD0oW2VdKT0+e2NvbnN0IHQ9ZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5wcm9wcy5vbk1lYXN1cmVXcmFwJiZ0aGlzLnByb3BzLm9uTWVhc3VyZVdyYXAodCksdGhpcy5zZXRTdGF0ZSh7d2lkdGhXcmFwOnQud2lkdGh9KSx0aGlzLl9jaGVja0J1dHRvbnNWaXNpYmlsaXR5KCl9LHRoaXMuX2hhbmRsZVJlc2l6ZUNvbnRlbnQ9KFtlXSk9Pntjb25zdCB0PWUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMucHJvcHMub25NZWFzdXJlQ29udGVudCYmdGhpcy5wcm9wcy5vbk1lYXN1cmVDb250ZW50KHQpO2NvbnN0e3Nob3VsZERlY3JlYXNlV2lkdGhDb250ZW50OnIsYnV0dG9uc1dpZHRoSWZEZWNyZWFzZWRXaWR0aENvbnRlbnQ6c309dGhpcy5wcm9wcztyJiZzP3RoaXMuc2V0U3RhdGUoe3dpZHRoQ29udGVudDp0LndpZHRoKzIqc30pOnRoaXMuc2V0U3RhdGUoe3dpZHRoQ29udGVudDp0LndpZHRofSl9LHRoaXMuX2hhbmRsZVNjcm9sbD0oKT0+e2NvbnN0e29uU2Nyb2xsOmV9PXRoaXMucHJvcHM7ZSYmZSh0aGlzLmN1cnJlbnRQb3NpdGlvbigpLHRoaXMuaXNBdExlZnQoKSx0aGlzLmlzQXRSaWdodCgpKSx0aGlzLl9jaGVja0J1dHRvbnNWaXNpYmlsaXR5KCl9LHRoaXMuX2NoZWNrQnV0dG9uc1Zpc2liaWxpdHk9KCk9Pntjb25zdHtpc1Zpc2libGVMZWZ0QnV0dG9uOmUsaXNWaXNpYmxlUmlnaHRCdXR0b246dH09dGhpcy5zdGF0ZSxyPXRoaXMuaXNBdExlZnQoKSxzPXRoaXMuaXNBdFJpZ2h0KCk7cnx8ZT9yJiZlJiZ0aGlzLnNldFN0YXRlKHtpc1Zpc2libGVMZWZ0QnV0dG9uOiExfSk6dGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlTGVmdEJ1dHRvbjohMH0pLHN8fHQ/cyYmdCYmdGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlUmlnaHRCdXR0b246ITF9KTp0aGlzLnNldFN0YXRlKHtpc1Zpc2libGVSaWdodEJ1dHRvbjohMH0pfSx0aGlzLnN0YXRlPXt3aWR0aENvbnRlbnQ6MCx3aWR0aFdyYXA6MCxpc1Zpc2libGVSaWdodEJ1dHRvbjohMSxpc1Zpc2libGVMZWZ0QnV0dG9uOiExfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX2NoZWNrQnV0dG9uc1Zpc2liaWxpdHkoKX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0LndpZHRoV3JhcD09PXRoaXMuc3RhdGUud2lkdGhXcmFwJiZ0LndpZHRoQ29udGVudD09PXRoaXMuc3RhdGUud2lkdGhDb250ZW50fHx0aGlzLl9oYW5kbGVTY3JvbGwoKX1jdXJyZW50UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsLmN1cnJlbnQ/KDAsSS5pc1J0bCkoKT8oMCxJLmdldExUUlNjcm9sbExlZnQpKHRoaXMuX3Njcm9sbC5jdXJyZW50KTp0aGlzLl9zY3JvbGwuY3VycmVudC5zY3JvbGxMZWZ0OjB9aXNBdExlZnQoKXtyZXR1cm4hdGhpcy5faXNPdmVyZmxvd2VkKCl8fHRoaXMuY3VycmVudFBvc2l0aW9uKCk8PSgwLGQuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wcy5oaWRlQnV0dG9uc0Zyb20pfWlzQXRSaWdodCgpe3JldHVybiF0aGlzLl9pc092ZXJmbG93ZWQoKXx8dGhpcy5jdXJyZW50UG9zaXRpb24oKSt0aGlzLnN0YXRlLndpZHRoV3JhcD49dGhpcy5zdGF0ZS53aWR0aENvbnRlbnQtKDAsZC5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BzLmhpZGVCdXR0b25zRnJvbSl9YW5pbWF0ZVRvKGUsdD1rLmR1cil7Y29uc3Qgcj10aGlzLl9zY3JvbGwuY3VycmVudDtyJiYoKDAsSS5pc1J0bCkoKSYmKGU9KDAsSS5nZXRMVFJTY3JvbGxMZWZ0T2Zmc2V0KShyLGUpKSx0PD0wP3Iuc2Nyb2xsTGVmdD1NYXRoLnJvdW5kKGUpOigwLEYuZG9BbmltYXRlKSh7b25TdGVwKGUsdCl7ci5zY3JvbGxMZWZ0PU1hdGgucm91bmQodCl9LGZyb206ci5zY3JvbGxMZWZ0LHRvOk1hdGgucm91bmQoZSksZWFzaW5nOmsuZWFzaW5nRnVuYy5lYXNlSW5PdXRDdWJpYyxkdXJhdGlvbjp0fSkpfXJlbmRlcigpewpjb25zdHtjaGlsZHJlbjphLGlzVmlzaWJsZVNjcm9sbGJhcjpvLGlzVmlzaWJsZUZhZGU6bCxpc1Zpc2libGVCdXR0b25zOmMsc2hvdWxkTWVhc3VyZTp1LHNob3VsZERlY3JlYXNlV2lkdGhDb250ZW50OmQsYnV0dG9uc1dpZHRoSWZEZWNyZWFzZWRXaWR0aENvbnRlbnQ6aCxvbk1vdXNlT3ZlcjptLG9uTW91c2VPdXQ6dixzY3JvbGxXcmFwQ2xhc3NOYW1lOnAsZmFkZUNsYXNzTmFtZTpmfT10aGlzLnByb3BzLHtpc1Zpc2libGVSaWdodEJ1dHRvbjpTLGlzVmlzaWJsZUxlZnRCdXR0b246Yn09dGhpcy5zdGF0ZSxnPWQmJmg7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChFLk1lYXN1cmUse29uUmVzaXplOnU/dGhpcy5faGFuZGxlUmVzaXplV3JhcDpudWxsfSwoZD0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6QS53cmFwT3ZlcmZsb3csb25Nb3VzZU92ZXI6bSxvbk1vdXNlT3V0OnYscmVmOmR9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShBLndyYXAsZz9BLndyYXBXaXRoQXJyb3dzT3V0aW5nOiIiKX0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKEEuc2Nyb2xsV3JhcCxwLHtbQS5ub1Njcm9sbEJhcl06IW99KSxvblNjcm9sbDp0aGlzLl9oYW5kbGVTY3JvbGwscmVmOnRoaXMuX3Njcm9sbH0scy5jcmVhdGVFbGVtZW50KEUuTWVhc3VyZSx7b25SZXNpemU6dT90aGlzLl9oYW5kbGVSZXNpemVDb250ZW50Om51bGx9LGEpKSxsJiZzLmNyZWF0ZUVsZW1lbnQocix7aXNWaXNpYmxlOmIsY2xhc3NOYW1lOmZ9KSxsJiZzLmNyZWF0ZUVsZW1lbnQobix7aXNWaXNpYmxlOlMsY2xhc3NOYW1lOmZ9KSxjJiZzLmNyZWF0ZUVsZW1lbnQoZSx7b25DbGljazp0aGlzLl9oYW5kbGVTY3JvbGxMZWZ0LGlzVmlzaWJsZTpifSksYyYmcy5jcmVhdGVFbGVtZW50KHQse29uQ2xpY2s6dGhpcy5faGFuZGxlU2Nyb2xsUmlnaHQsaXNWaXNpYmxlOlN9KSkpKSl9X2lzT3ZlcmZsb3dlZCgpe2NvbnN0e3dpZHRoQ29udGVudDplLHdpZHRoV3JhcDp0fT10aGlzLnN0YXRlO3JldHVybiBlPnR9fSkuZGVmYXVsdFByb3BzPVYsYX0oeCxXLE4sTCk7dmFyIEgsej1yKDUxODc1KTshZnVuY3Rpb24oZSl7ZS5TeW1ib2xTZWFyY2g9ImhlYWRlci10b29sYmFyLXN5bWJvbC1zZWFyY2giLGUuSW50ZXJ2YWxzPSJoZWFkZXItdG9vbGJhci1pbnRlcnZhbHMiLGUuQ2hhcnRTdHlsZXM9ImhlYWRlci10b29sYmFyLWNoYXJ0LXN0eWxlcyIsZS5Db21wYXJlPSJoZWFkZXItdG9vbGJhci1jb21wYXJlIixlLkluZGljYXRvcnM9ImhlYWRlci10b29sYmFyLWluZGljYXRvcnMiLGUuU3R1ZHlUZW1wbGF0ZXM9ImhlYWRlci10b29sYmFyLXN0dWR5LXRlbXBsYXRlcyIsZS5Ecm9wZG93bj0iaGVhZGVyLXRvb2xiYXItZHJvcGRvd24iLGUuQWxlcnRzPSJoZWFkZXItdG9vbGJhci1hbGVydHMiLGUuTGF5b3V0cz0iaGVhZGVyLXRvb2xiYXItbGF5b3V0cyIsZS5TYXZlTG9hZD0iaGVhZGVyLXRvb2xiYXItc2F2ZS1sb2FkIixlLlVuZG9SZWRvPSJoZWFkZXItdG9vbGJhci11bmRvLXJlZG8iLGUuUHJvcGVydGllcz0iaGVhZGVyLXRvb2xiYXItcHJvcGVydGllcyIsZS5RdWlja1NlYXJjaD0iaGVhZGVyLXRvb2xiYXItcXVpY2stc2VhcmNoIixlLlRyYWRlRGVza3RvcD0iaGVhZGVyLXRvb2xiYXItdHJhZGUtZGVza3RvcCIsZS5UcmFkZU1vYmlsZT0iaGVhZGVyLXRvb2xiYXItdHJhZGUtbW9iaWxlIixlLlB1Ymxpc2hEZXNrdG9wPSJoZWFkZXItdG9vbGJhci1wdWJsaXNoLWRlc2t0b3AiLGUuUHVibGlzaE1vYmlsZT0iaGVhZGVyLXRvb2xiYXItcHVibGlzaC1tb2JpbGUiLGUuRnVsbHNjcmVlbj0iaGVhZGVyLXRvb2xiYXItZnVsbHNjcmVlbiIsZS5TY3JlZW5zaG90PSJoZWFkZXItdG9vbGJhci1zY3JlZW5zaG90IixlLlRlbGVncmFtU2hhcmU9ImhlYWRlci10b29sYmFyLXRlbGVncmFtLXNoYXJlIixlLlJlcGxheT0iaGVhZGVyLXRvb2xiYXItcmVwbGF5IixlLkZpbmFuY2lhbHM9ImhlYWRlci10b29sYmFyLWZpbmFuY2lhbHMifShIfHwoSD17fSkpO3ZhciBxPXIoNjg5ODk0KSxqPXIoNTY5NjUyKSxHPXIoNzMwMDA5KSxVPXIoNTY5Mzk4KSxLPXIoMzE4OTc0KSwkPXIoMzg2OTMxKSxZPXIoNzAxMTU2KSxKPXIoMjE4NjAzKTtjb25zdCBaPSgwLGoucmVnaXN0cnlDb250ZXh0VHlwZSkoKSxYPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpO2NsYXNzIFEgZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZU1vdXNlT3Zlcj1lPT57KDAscS5ob3Zlck1vdXNlRXZlbnRGaWx0ZXIpKGUpJiZ0aGlzLnNldFN0YXRlKHtpc0hvdmVyZWQ6ITB9KX0sdGhpcy5faGFuZGxlTW91c2VPdXQ9ZT0+eygwLHEuaG92ZXJNb3VzZUV2ZW50RmlsdGVyKShlKSYmdGhpcy5zZXRTdGF0ZSh7aXNIb3ZlcmVkOiExfSl9LHRoaXMuX2hhbmRsZUlubmVyUmVzaXplPShbZV0pPT57Y29uc3QgdD1lLmNvbnRlbnRSZWN0LndpZHRoLHtvbldpZHRoQ2hhbmdlOnJ9PXRoaXMucHJvcHM7ciYmcih0KX0sdGhpcy5faGFuZGxlTWVhc3VyZUF2YWlsYWJsZVNwYWNlPWU9Pntjb25zdHtvbkF2YWlsYWJsZVNwYWNlQ2hhbmdlOnR9PXRoaXMucHJvcHM7dCYmdChlLndpZHRoKX0sdGhpcy5fcHJvY2Vzc0N1c3RvbXM9KGUsdD0hMSk9Pntjb25zdHtpc0Zha2U6cixkaXNwbGF5TW9kZTpufT10aGlzLnByb3BzLHt0b29sczppfT10aGlzLmNvbnRleHQ7cmV0dXJuIGUubWFwKChlPT5zLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OmUuaWQscmVtb3ZlU2VwYXJhdG9yOnR9LChlPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJCdXR0b24iOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5DdXN0b20sey4uLmUucGFyYW1zLGlzRmFrZTpyfSk7Y2FzZSJUcmFkaW5nVmlld1N0eWxlZEJ1dHRvbiI6cmV0dXJuIHMuY3JlYXRlRWxlbWVudChpLkN1c3RvbVRyYWRpbmdWaWV3U3R5bGVkQnV0dG9uLHsuLi5lLnBhcmFtcyxjbGFzc05hbWU6Si5idXR0b24sZGlzcGxheU1vZGU6bn0pO2Nhc2UiRHJvcGRvd24iOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5Ecm9wZG93bix7ZGlzcGxheU1vZGU6biwKcGFyYW1zOmUucGFyYW1zfSk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KShlKSkpKX0sdGhpcy5fZml4TGFzdEdyb3VwPShlLHQscik9PntpZih0PT09ci5sZW5ndGgtMSYmcy5pc1ZhbGlkRWxlbWVudChlKSYmZS50eXBlPT09eSl7Y29uc3QgdD12b2lkIDAhPT10aGlzLmNvbnRleHQudG9vbHMuUHVibGlzaCYmIXRoaXMucHJvcHMucmVhZE9ubHk7cmV0dXJuIHMuY2xvbmVFbGVtZW50KGUse25vUmlnaHREZWNvcmF0aW9uOnR9KX1yZXR1cm4gZX0sdGhpcy5faGFuZGxlRGlhbG9nVG9vbHNDaGFuZ2U9ZT0+e3RoaXMuc2V0U3RhdGUoe2FjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOmV9KX0sKDAsai52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHt0b29sczpwLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNIb3ZlcmVkOiExLGFjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOm51bGx9fWNvbXBvbmVudERpZE1vdW50KCl7KDAsWS5nZXREaWFsb2dUb29sc01hbmFnZXIpKCk/LmdldEFjdGl2ZURpYWxvZ1Rvb2xzKCkuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZURpYWxvZ1Rvb2xzQ2hhbmdlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpeygwLFkuZ2V0RGlhbG9nVG9vbHNNYW5hZ2VyKSgpPy5nZXRBY3RpdmVEaWFsb2dUb29scygpLnVuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZURpYWxvZ1Rvb2xzQ2hhbmdlKX1yZW5kZXIoKXtjb25zdHt0b29sczplfT10aGlzLmNvbnRleHQse3JlYWRPbmx5OnQsc2hvd1Njcm9sbGJhcldoZW46cixkaXNwbGF5TW9kZTpuLGlzRmFrZTphPSExfT10aGlzLnByb3BzLHtpc0hvdmVyZWQ6b309dGhpcy5zdGF0ZSxsPXIuaW5jbHVkZXMobik7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChHLlRvb2xiYXIse2NsYXNzTmFtZTppKCkoSi5pbm5lcix7W0ouZmFrZV06YX0pLG9uQ29udGV4dE1lbnU6ei5wcmV2ZW50RGVmYXVsdEZvckNvbnRleHRNZW51LCJkYXRhLWlzLWZha2UtbWFpbi1wYW5lbCI6YSwiYXJpYS1oaWRkZW4iOmF9LHMuY3JlYXRlRWxlbWVudChQLHtpc1Zpc2libGVGYWRlOmYubW9iaWxldG91Y2gmJmwsaXNWaXNpYmxlQnV0dG9uczohZi5tb2JpbGV0b3VjaCYmbCYmbyxpc1Zpc2libGVTY3JvbGxiYXI6ITEsc2hvdWxkTWVhc3VyZTohYSxvbk1vdXNlT3Zlcjp0aGlzLl9oYW5kbGVNb3VzZU92ZXIsb25Nb3VzZU91dDp0aGlzLl9oYW5kbGVNb3VzZU91dCxvbk1lYXN1cmVXcmFwOnRoaXMuX2hhbmRsZU1lYXN1cmVBdmFpbGFibGVTcGFjZX0sKGU9PnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkouY29udGVudCxyZWY6ZSxyb2xlOiJub25lIn0scy5jcmVhdGVFbGVtZW50KEUuTWVhc3VyZSx7b25SZXNpemU6YT90aGlzLl9oYW5kbGVJbm5lclJlc2l6ZTpudWxsfSwoZT0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Si5pbm5lcldyYXAscmVmOmV9LHRoaXMuc3RhdGUuYWN0aXZlRGlhbG9nVG9vbHNDb25maWc/dGhpcy5fcmVuZGVyRGlhbG9nVG9vbHMoKTpzLmNyZWF0ZUVsZW1lbnQoUy5GcmFnbWVudE1hcCx7bWFwOnRoaXMuX2ZpeExhc3RHcm91cH0sdGhpcy5fcmVuZGVyTGVmdFRvb2xzKCksdGhpcy5fcmVuZGVyUmlnaHRUb29scygpKSkpKSkpKSwhdCYmIWEmJiF0aGlzLnN0YXRlLmFjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnJiZzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLCEoMCxLLmlzU3ltcGhvbnlFbWJlZCkoKSYmZS5UcmFkZSYmcy5jcmVhdGVFbGVtZW50KGUuVHJhZGUse2lkOkguVHJhZGVEZXNrdG9wLGNsYXNzTmFtZTpKLmRlc2t0b3BUcmFkZX0pLGUuUHVibGlzaCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfcHVibGlzaF9idXR0b24iKSYmcy5jcmVhdGVFbGVtZW50KGUuUHVibGlzaCx7aWQ6SC5QdWJsaXNoRGVza3RvcCxjbGFzc05hbWU6Si5kZXNrdG9wUHVibGlzaH0pKSl9X3RyYWNrRnVsbHNjcmVlbkJ1dHRvbkNsaWNrKCl7KDAsJC50cmFja0V2ZW50KSgiR1VJIiwiQ2hhcnQgSGVhZGVyIFRvb2xiYXIiLCJmdWxsc2NyZWVuIil9X3JlbmRlckxlZnRUb29scygpe2NvbnN0e3Rvb2xzOmV9PXRoaXMuY29udGV4dCx7ZmVhdHVyZXM6dCxkaXNwbGF5TW9kZTpyLHN0dWR5TWFya2V0Om4sbGVmdEN1c3RvbUVsZW1lbnRzOmkscmVhZE9ubHk6YSxpc0Zha2U6bz0hMX09dGhpcy5wcm9wcztpZihhKXJldHVybiBudWxsO2NvbnN0IGw9dGhpcy5fcHJvY2Vzc0N1c3RvbXMoaSk7cmV0dXJuIHMuQ2hpbGRyZW4udG9BcnJheShbKGUuU3ltYm9sU2VhcmNofHwhWCYmZS5Db21wYXJlKSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToic3ltYm9sIn0sZS5TeW1ib2xTZWFyY2gmJnMuY3JlYXRlRWxlbWVudChlLlN5bWJvbFNlYXJjaCx7aWQ6bz92b2lkIDA6SC5TeW1ib2xTZWFyY2gsaXNGYWtlOm8saXNBY3Rpb25zVmlzaWJsZTp0LmFsbG93U3ltYm9sU2VhcmNoU3ByZWFkfSksZS5Db21wYXJlJiZzLmNyZWF0ZUVsZW1lbnQoZS5Db21wYXJlLHtpZDpvP3ZvaWQgMDpILkNvbXBhcmUsY2xhc3NOYW1lOkouYnV0dG9uLGRpc3BsYXlNb2RlOnJ9KSksZS5EYXRlUmFuZ2UmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InJhbmdlIn0scy5jcmVhdGVFbGVtZW50KGUuRGF0ZVJhbmdlLG51bGwpKSxlLkludGVydmFscyYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiaW50ZXJ2YWxzIn0scy5jcmVhdGVFbGVtZW50KGUuSW50ZXJ2YWxzLHtpZDpvP3ZvaWQgMDpILkludGVydmFscyxpc1Nob3duUXVpY2tzOnQuYWxsb3dGYXZvcml0aW5nLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dC5hbGxvd0Zhdm9yaXRpbmcsZGlzcGxheU1vZGU6cixpc0Zha2U6b30pKSxlLkJhcnMmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InN0eWxlcyJ9LHMuY3JlYXRlRWxlbWVudChlLkJhcnMse2lkOm8/dm9pZCAwOkguQ2hhcnRTdHlsZXMsaXNTaG93blF1aWNrczp0LmFsbG93RmF2b3JpdGluZyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnQuYWxsb3dGYXZvcml0aW5nLGRpc3BsYXlNb2RlOnIsaXNGYWtlOm99KSksWCYmZS5Db21wYXJlJiYhZS5TeW1ib2xTZWFyY2gmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6ImNvbXBhcmUifSxzLmNyZWF0ZUVsZW1lbnQoZS5Db21wYXJlLHsKaWQ6bz92b2lkIDA6SC5Db21wYXJlLGNsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuSW5kaWNhdG9ycyYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiaW5kaWNhdG9ycyJ9LHMuY3JlYXRlRWxlbWVudChlLkluZGljYXRvcnMse2lkOm8/dm9pZCAwOkguSW5kaWNhdG9ycyxjbGFzc05hbWU6Si5idXR0b24sc3R1ZHlNYXJrZXQ6bixkaXNwbGF5TW9kZTpyfSksZS5UZW1wbGF0ZXMmJnMuY3JlYXRlRWxlbWVudChlLlRlbXBsYXRlcyx7aWQ6bz92b2lkIDA6SC5TdHVkeVRlbXBsYXRlcyxpc1Nob3duUXVpY2tzOnQuYWxsb3dGYXZvcml0aW5nLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dC5hbGxvd0Zhdm9yaXRpbmcsZGlzcGxheU1vZGU6cn0pKSxlLkFsZXJ0JiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJhbGVydCJ9LHMuY3JlYXRlRWxlbWVudChlLkFsZXJ0LHtpZDpvP3ZvaWQgMDpILkFsZXJ0cyxjbGFzc05hbWU6Si5idXR0b24sZGlzcGxheU1vZGU6cn0pLGUuUmVwbGF5JiZzLmNyZWF0ZUVsZW1lbnQoZS5SZXBsYXkse2lkOm8/dm9pZCAwOkguUmVwbGF5LGNsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuQWxlcnRSZWZlcnJhbCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfYWxlcnRfcmVmZXJyYWxfdG9vbCIpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJhbGVydC1yZWZlcnJhbCJ9LHMuY3JlYXRlRWxlbWVudChlLkFsZXJ0UmVmZXJyYWwse2NsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuU2NhbGVQZXJjZW50YWdlJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJwZXJjZW50YWdlIn0scy5jcmVhdGVFbGVtZW50KGUuU2NhbGVQZXJjZW50YWdlLG51bGwpKSxlLlNjYWxlTG9nYXJpdGhtJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJsb2dhcml0aG0ifSxzLmNyZWF0ZUVsZW1lbnQoZS5TY2FsZUxvZ2FyaXRobSxudWxsKSksLi4ubF0pfV9yZW5kZXJSaWdodFRvb2xzKCl7Y29uc3R7dG9vbHM6ZX09dGhpcy5jb250ZXh0LHtmZWF0dXJlczp0LGRpc3BsYXlNb2RlOnIsY2hhcnRTYXZlcjpuLHJlYWRPbmx5OmEsc2F2ZUxvYWRTeW5jRW1pdHRlcjpvLHJpZ2h0Q3VzdG9tRWxlbWVudHM6bCxpc0Zha2U6Yz0hMX09dGhpcy5wcm9wcyx1PXRoaXMuX3Byb2Nlc3NDdXN0b21zKGwpO3JldHVybiB0ZShzLkNoaWxkcmVuLnRvQXJyYXkoW2EmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InZpZXctb25seS1iYWRnZSIscmVtb3ZlU2VwYXJhdG9yOiEwfSxzLmNyZWF0ZUVsZW1lbnQoUixudWxsKSksIWEmJmUuVW5kb1JlZG8mJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InVuZG8tcmVkbyJ9LHMuY3JlYXRlRWxlbWVudChlLlVuZG9SZWRvLHtpZDpjP3ZvaWQgMDpILlVuZG9SZWRvfSkpLHMuY3JlYXRlRWxlbWVudCh5LHtyZW1vdmVTZXBhcmF0b3I6ITAsa2V5OiJnYXAtMSIsY2xhc3NOYW1lOmkoKShKLmZpbGwsYyYmSi5jb2xsYXBzZSl9KSwoZS5MYXlvdXR8fGUuU2F2ZUxvYWQpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJsYXlvdXQiLHJlbW92ZVNlcGFyYXRvcjohMH0sIWEmJmUuTGF5b3V0JiZzLmNyZWF0ZUVsZW1lbnQoZS5MYXlvdXQse2lkOmM/dm9pZCAwOkguTGF5b3V0c30pLGUuU2F2ZUxvYWQmJnMuY3JlYXRlRWxlbWVudChlLlNhdmVMb2FkLHtpZDpjP3ZvaWQgMDpILlNhdmVMb2FkLGNoYXJ0U2F2ZXI6bixpc1JlYWRPbmx5OmEsZGlzcGxheU1vZGU6cixpc0Zha2U6YyxzdGF0ZVN5bmNFbWl0dGVyOm99KSksZS5TYXZlTG9hZFJlZmVycmFsJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJzYXZlLWxvYWQtcmVmZXJyYWwifSxzLmNyZWF0ZUVsZW1lbnQoZS5TYXZlTG9hZFJlZmVycmFsLHtpc1JlYWRPbmx5OmEsZGlzcGxheU1vZGU6cn0pKSx0LnNob3dMYXVuY2hJblBvcHVwQnV0dG9uJiZlLk9wZW5Qb3B1cCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb3Blbl9wb3B1cF9idXR0b24iKSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToicG9wdXAifSxzLmNyZWF0ZUVsZW1lbnQoZS5PcGVuUG9wdXAsbnVsbCkpLCFhJiYhWCYmKGUuUHJvcGVydGllc3x8ZS5GdWxsc2NyZWVufHxlLlNjcmVlbnNob3QpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJwcm9wZXJ0aWVzIn0sIWEmJmUuUXVpY2tTZWFyY2gmJnMuY3JlYXRlRWxlbWVudChlLlF1aWNrU2VhcmNoLHtpZDpjP3ZvaWQgMDpILlF1aWNrU2VhcmNoLGNsYXNzTmFtZTpKLmljb25CdXR0b259KSwhYSYmZS5Qcm9wZXJ0aWVzJiZzLmNyZWF0ZUVsZW1lbnQoZS5Qcm9wZXJ0aWVzLHtpZDpjP3ZvaWQgMDpILlByb3BlcnRpZXMsY2xhc3NOYW1lOkouaWNvbkJ1dHRvbn0pLHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsIWEmJmUuRnVsbHNjcmVlbiYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiZnVsbHNjcmVlbiIsb25DbGljazp0aGlzLl90cmFja0Z1bGxzY3JlZW5CdXR0b25DbGljayxyZW1vdmVTZXBhcmF0b3I6ITB9LHMuY3JlYXRlRWxlbWVudChlLkZ1bGxzY3JlZW4se2lkOmM/dm9pZCAwOkguRnVsbHNjcmVlbixjbGlja0FyZWE6InRvcCB0b29sYmFyIn0pKSwhWCYmZS5TY3JlZW5zaG90JiZzLmNyZWF0ZUVsZW1lbnQoZS5TY3JlZW5zaG90LHtpZDpjP3ZvaWQgMDpILlNjcmVlbnNob3QsY2xhc3NOYW1lOkouaWNvbkJ1dHRvbn0pKSksWCYmIWEmJmUuRnVsbHNjcmVlbiYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiZnVsbHNjcmVlbiIsb25DbGljazp0aGlzLl90cmFja0Z1bGxzY3JlZW5CdXR0b25DbGljayxyZW1vdmVTZXBhcmF0b3I6ITB9LHMuY3JlYXRlRWxlbWVudChlLkZ1bGxzY3JlZW4se2lkOmM/dm9pZCAwOkguRnVsbHNjcmVlbixjbGlja0FyZWE6InRvcCB0b29sYmFyIn0pKSxYJiZlLlNjcmVlbnNob3QmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InNjcmVlbnNob3QiLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuU2NyZWVuc2hvdCx7aWQ6Yz92b2lkIDA6SC5TY3JlZW5zaG90LGNsYXNzTmFtZTpKLmljb25CdXR0b259KSksWCYmZS5UZWxlZ3JhbVNoYXJlJiYoISgwLApVLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9kaXNhYmxlX3NoYXJlX2xhc3RfcHJpY2UiKXx8ISgwLFUuaXNGZWF0dXJlRW5hYmxlZCkoInRlbGVncmFtX21pbmlfYXBwX2Rpc2FibGVfc2hhcmVfc25hcHNob3QiKSkmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InRlbGVncmFtc2hhcmUiLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuVGVsZWdyYW1TaGFyZSx7aWQ6Yz92b2lkIDA6SC5UZWxlZ3JhbVNoYXJlLGNsYXNzTmFtZTpKLmljb25CdXR0b259KSksIWEmJiEoMCxLLmlzU3ltcGhvbnlFbWJlZCkoKSYmZS5UcmFkZSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToidHJhZGUiLGNsYXNzTmFtZTpKLm1vYmlsZVRyYWRlLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuVHJhZGUse2lkOmM/dm9pZCAwOkguVHJhZGVNb2JpbGUsbW9iaWxlOiEwfSkpLCFhJiZlLlB1Ymxpc2gmJiEoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3B1Ymxpc2hfYnV0dG9uIikmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InB1Ymxpc2giLGNsYXNzTmFtZTpKLm1vYmlsZVB1Ymxpc2gscmVtb3ZlU2VwYXJhdG9yOiEwfSxzLmNyZWF0ZUVsZW1lbnQoZS5QdWJsaXNoLHtpZDpjP3ZvaWQgMDpILlB1Ymxpc2hNb2JpbGV9KSksLi4udV0pKX1fcmVuZGVyRGlhbG9nVG9vbHMoKXtjb25zdHt0b29sczplfT10aGlzLmNvbnRleHQse2lzRmFrZTp0LGZlYXR1cmVzOnJ9PXRoaXMucHJvcHMse2FjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOm59PXRoaXMuc3RhdGU7aWYoIW4pcmV0dXJuIG51bGw7Y29uc3QgYT10aGlzLl9wcm9jZXNzQ3VzdG9tcyhuLmN1c3RvbUVsZW1lbnRzLCEwKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KHMuRnJhZ21lbnQsbnVsbCxzLmNyZWF0ZUVsZW1lbnQoUy5GcmFnbWVudE1hcCx7bWFwOnRoaXMuX2ZpeExhc3RHcm91cH0scy5DaGlsZHJlbi50b0FycmF5KFtlLlN5bWJvbFNlYXJjaCYmcy5jcmVhdGVFbGVtZW50KHkse2tleToic3ltYm9sIn0scy5jcmVhdGVFbGVtZW50KGUuU3ltYm9sU2VhcmNoLHtpc0Zha2U6dCxpZDp0P3ZvaWQgMDpILlN5bWJvbFNlYXJjaCxpc0FjdGlvbnNWaXNpYmxlOnIuYWxsb3dTeW1ib2xTZWFyY2hTcHJlYWR9KSksLi4uYV0pLHRlKHMuQ2hpbGRyZW4udG9BcnJheShbcy5jcmVhdGVFbGVtZW50KHkse3JlbW92ZVNlcGFyYXRvcjohMCxrZXk6ImdhcC0xIixjbGFzc05hbWU6aSgpKEouZmlsbCx0JiZKLmNvbGxhcHNlKX0pXSkpKSl9fXZhciBlZTtmdW5jdGlvbiB0ZShlKXtyZXR1cm5bZS5maW5kSW5kZXgoKGU9PnMuaXNWYWxpZEVsZW1lbnQoZSkmJiEhZS5rZXkmJi0xIT09ZS5rZXkudG9TdHJpbmcoKS5pbmRleE9mKCJ2aWV3LW9ubHktYmFkZ2UiKSkpXS5maWx0ZXIoKGU9PmU+PTApKS5mb3JFYWNoKCh0PT57ZT1zLkNoaWxkcmVuLm1hcChlLCgoZSxyKT0+e2lmKHMuaXNWYWxpZEVsZW1lbnQoZSkpe3N3aXRjaChbdC0xLHQsdCsxXS5pbmRleE9mKHIpKXtjYXNlIDA6Y29uc3QgdD17bm9SaWdodERlY29yYXRpb246ITB9O2U9cy5jbG9uZUVsZW1lbnQoZSx0KTticmVhaztjYXNlIDE6Y29uc3Qgcj17bm9MZWZ0RGVjb3JhdGlvbjohMCxub1JpZ2h0RGVjb3JhdGlvbjohMH07ZT1zLmNsb25lRWxlbWVudChlLHIpO2JyZWFrO2Nhc2UgMjpjb25zdCBuPXtub0xlZnREZWNvcmF0aW9uOiEwfTtlPXMuY2xvbmVFbGVtZW50KGUsbil9fXJldHVybiBlfSkpfSkpLGV9US5jb250ZXh0VHlwZT1aLGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTBdPSJMZWZ0IixlW2UuU2VsZj0xXT0iU2VsZiIsZVtlLlJpZ2h0PTJdPSJSaWdodCJ9KGVlfHwoZWU9e30pKTt2YXIgcmU9cig3MDIxNTMpLHNlPXIoNjMzMzE4KSxuZT1yKDQyNjA3NSksaWU9cigxNTI2OTkpLGFlPXIoOTMwNTY2KSxvZT1yKDM2NTIxNyksbGU9cigzNDQ1MzYpLGNlPXIoMjU0NjczKSx1ZT1yKDM3NTI2Mik7Y29uc3QgZGU9e1tjZS5SZXNvbHV0aW9uS2luZC5UaWNrc106ITEsW2NlLlJlc29sdXRpb25LaW5kLlNlY29uZHNdOiExLFtjZS5SZXNvbHV0aW9uS2luZC5NaW51dGVzXTohMSxbY2UuU3BlY2lhbFJlc29sdXRpb25LaW5kLkhvdXJzXTohMSxbY2UuUmVzb2x1dGlvbktpbmQuRGF5c106ITEsW2NlLlJlc29sdXRpb25LaW5kLlJhbmdlXTohMX07Y2xhc3MgaGUgZXh0ZW5kcyB1ZS5Db21tb25Kc29uU3RvcmVTZXJ2aWNle2NvbnN0cnVjdG9yKGUsdCxyPWRlKXtzdXBlcihlLHQsIklOVEVSVkFMU19NRU5VX1ZJRVdfU1RBVEVfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0Lm1lbnUudmlld1N0YXRlIixyKX1pc0FsbG93ZWQoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGRlKS5pbmNsdWRlcyhlKX19Y29uc3QgbWU9e2RlZmF1bHRzQ29sbGFwc2VkOiExfTtjbGFzcyB2ZSBleHRlbmRzIHVlLkNvbW1vbkpzb25TdG9yZVNlcnZpY2V7Y29uc3RydWN0b3IoZSx0LHI9bWUpe3N1cGVyKGUsdCwiVEVNUExBVEVTX01FTlVfVklFV19TVEFURV9DSEFOR0VEIiwiVGVtcGxhdGVzV2lkZ2V0Lm1lbnUudmlld1N0YXRlIixyKX19dmFyIHBlPXIoNDgwMDYxKTtjb25zdCBmZT17dG9vbHM6cC5hbnkuaXNSZXF1aXJlZCxpc0Z1bmRhbWVudGFsOnAuYW55LGNoYXJ0QXBpSW5zdGFuY2U6cC5hbnksYXZhaWxhYmxlVGltZUZyYW1lczpwLmFueSxjaGFydFdpZGdldENvbGxlY3Rpb246cC5hbnksd2luZG93TWVzc2FnZVNlcnZpY2U6cC5hbnksZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6cC5hbnksZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOnAuYW55LGludGVydmFsU2VydmljZTpwLmFueSxyZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U6cC5hbnksc3R1ZHlUZW1wbGF0ZXM6cC5hbnksY2hhcnRDaGFuZ2VzV2F0Y2hlcjpwLmFueSxzYXZlQ2hhcnRTZXJ2aWNlOnAuYW55LHNoYXJpbmdDaGFydFNlcnZpY2U6cC5hbnksbG9hZENoYXJ0U2VydmljZTpwLmFueSxjaGFydFdpZGdldDpwLmFueSxmYXZvcml0ZVNjcmlwdHNNb2RlbDpwLmFueSxpbnRlcnZhbHNNZW51Vmlld1N0YXRlU2VydmljZTpwLmFueSx0ZW1wbGF0ZXNNZW51Vmlld1N0YXRlU2VydmljZTpwLmFueSwKb3Blbkdsb2JhbFNlYXJjaDpwLmFueSxzbmFwc2hvdFVybDpwLmFueSxnZXRUcmFkaW5nRmVhdHVyZUZsYWdzU2VydmljZTpwLmFueX07dmFyIFNlPXIoNDQzNTU3KSxiZT1yKDYzMzI5KTtjb25zdCBnZT1bXTtjbGFzcyBfZSBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9zYXZlTG9hZFN5bmNFbWl0dGVyPW5ldyhvKCkpLHRoaXMuX2hhbmRsZUZ1bGxXaWR0aENoYW5nZT1lPT57dGhpcy5fZnVsbFdpZHRoPWUsdGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiExfSl9LHRoaXMuX2hhbmRsZUZhdm9yaXRlc1dpZHRoQ2hhbmdlPWU9Pnt0aGlzLl9mYXZvcml0ZXNXaWR0aD1lLHRoaXMuc2V0U3RhdGUoe21lYXN1cmVWYWxpZDohMX0pfSx0aGlzLl9oYW5kbGVDb2xsYXBzZVdpZHRoQ2hhbmdlPWU9Pnt0aGlzLl9jb2xsYXBzZVdpZHRoPWUsdGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiExfSl9LHRoaXMuX2hhbmRsZU1lYXN1cmU9ZT0+e3RoaXMuc2V0U3RhdGUoe2F2YWlsYWJsZVdpZHRoOmUsbWVhc3VyZVZhbGlkOiExfSl9O2NvbnN0e3Rvb2xzOnQsd2luZG93TWVzc2FnZVNlcnZpY2U6cixjaGFydFdpZGdldENvbGxlY3Rpb246cyxjaGFydEFwaUluc3RhbmNlOm4sYXZhaWxhYmxlVGltZUZyYW1lczppLGlzRnVuZGFtZW50YWw6YSxmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6YyxmYXZvcml0ZUNoYXJ0U3R5bGVzU2VydmljZTp1LHJlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTpoLHN0dWR5VGVtcGxhdGVzOnYsc2F2ZUNoYXJ0U2VydmljZTpwLHNoYXJpbmdDaGFydFNlcnZpY2U6Zixsb2FkQ2hhcnRTZXJ2aWNlOlMsc25hcHNob3RVcmw6YixvcGVuR2xvYmFsU2VhcmNoOmd9PWU7dGhpcy5fc2hvd1Njcm9sbGJhcldoZW49KDAsZC5lbnN1cmVEZWZpbmVkKShlLmFsbG93ZWRNb2Rlcykuc2xpY2UoLTEpLHRoaXMucmVzaXplckJyaWRnZT1lLnJlc2l6ZXJCcmlkZ2UsdGhpcy5fcGFuZWxXaWR0aENoYW5nZUhhbmRsZXJzPXtmdWxsOnRoaXMuX2hhbmRsZUZ1bGxXaWR0aENoYW5nZSxtZWRpdW06dGhpcy5faGFuZGxlRmF2b3JpdGVzV2lkdGhDaGFuZ2Usc21hbGw6dGhpcy5faGFuZGxlQ29sbGFwc2VXaWR0aENoYW5nZX07Y29uc3R7Y2hhcnRDaGFuZ2VzV2F0Y2hlcjpffT1lO3RoaXMuX2NoYXJ0Q2hhbmdlc1dhdGNoZXI9Xztjb25zdCB5PSgwLHBlLmdldERlZmF1bHRGYXZvcml0ZUNoYXJ0U3R5bGVzKSh0aGlzLnByb3BzLmRlZmF1bHRGYXZvcml0ZVN0eWxlcyk7dGhpcy5fZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U9dXx8bmV3IHJlLkZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlKGllLlRWWFdpbmRvd0V2ZW50cyxhZSx5KTtjb25zdCBFPSgwLHBlLmdldERlZmF1bHRGYXZvcml0ZVJlc29sdXRpb25zKSh0aGlzLnByb3BzLmRlZmF1bHRGYXZvcml0ZUludGVydmFscyk7dGhpcy5fZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlPWN8fG5ldyBzZS5GYXZvcml0ZUludGVydmFsc1NlcnZpY2UoaWUuVFZYV2luZG93RXZlbnRzLGFlLEUpLHRoaXMuX2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlPW5ldyBoZShpZS5UVlhXaW5kb3dFdmVudHMsYWUpLHRoaXMuX2ludGVydmFsU2VydmljZT1uZXcgbmUuSW50ZXJ2YWxzU2VydmljZShuLmRlZmF1bHRSZXNvbHV0aW9ucyksdGhpcy5fdGVtcGxhdGVzTWVudVZ1ZXdTdGF0ZVNlcnZpY2U9bmV3IHZlKGllLlRWWFdpbmRvd0V2ZW50cyxhZSksdGhpcy5fcmVnaXN0cnk9e3Rvb2xzOnQsaXNGdW5kYW1lbnRhbDphLGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpzLHdpbmRvd01lc3NhZ2VTZXJ2aWNlOnIsY2hhcnRBcGlJbnN0YW5jZTpuLGF2YWlsYWJsZVRpbWVGcmFtZXM6aSxyZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U6aCxzdHVkeVRlbXBsYXRlczp2LHNhdmVDaGFydFNlcnZpY2U6cCxzaGFyaW5nQ2hhcnRTZXJ2aWNlOmYsbG9hZENoYXJ0U2VydmljZTpTLGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOnRoaXMuX2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOnRoaXMuX2Zhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlLGZhdm9yaXRlSW50ZXJ2YWxzU2VydmljZTp0aGlzLl9mYXZvcml0ZUludGVydmFsc1NlcnZpY2UsaW50ZXJ2YWxTZXJ2aWNlOnRoaXMuX2ludGVydmFsU2VydmljZSxjaGFydENoYW5nZXNXYXRjaGVyOnRoaXMuX2NoYXJ0Q2hhbmdlc1dhdGNoZXIsY2hhcnRXaWRnZXQ6cy5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLGZhdm9yaXRlU2NyaXB0c01vZGVsOmxlLkZhdm9yaXRlU2NyaXB0c01vZGVsLmdldEluc3RhbmNlKCksdGVtcGxhdGVzTWVudVZpZXdTdGF0ZVNlcnZpY2U6dGhpcy5fdGVtcGxhdGVzTWVudVZ1ZXdTdGF0ZVNlcnZpY2Usc25hcHNob3RVcmw6YixvcGVuR2xvYmFsU2VhcmNoOmcsZ2V0VHJhZGluZ0ZlYXR1cmVGbGFnc1NlcnZpY2U6ZS5nZXRUcmFkaW5nRmVhdHVyZUZsYWdzU2VydmljZX0sdGhpcy5zdGF0ZT17aXNWaXNpYmxlOiEwLGF2YWlsYWJsZVdpZHRoOjAsZGlzcGxheU1vZGU6ImZ1bGwiLG1lYXN1cmVWYWxpZDohMSxsZWZ0Q3VzdG9tRWxlbWVudHM6W10scmlnaHRDdXN0b21FbGVtZW50czpbXX0sdGhpcy5fcmVhZE9ubHk9cy5yZWFkT25seSgpLHRoaXMuX2ZlYXR1cmVzPXthbGxvd0Zhdm9yaXRpbmc6KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaXRlbXNfZmF2b3JpdGluZyIpLHNob3dJZGVhc0J1dHRvbjpCb29sZWFuKHRoaXMucHJvcHMuaWRlYXMpLHNob3dMYXVuY2hJblBvcHVwQnV0dG9uOkJvb2xlYW4odGhpcy5wcm9wcy5wb3B1cEJ1dHRvbiksYWxsb3dTeW1ib2xTZWFyY2hTcHJlYWQ6KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3N5bWJvbF9zZWFyY2giKSYmITAsYWxsb3dUb29sYmFySGlkaW5nOigwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNvbGxhcHNpYmxlX2hlYWRlciIpfSx0aGlzLl9zZXREaXNwbGF5TW9kZT0oMCxsLmRlZmF1bHQpKHRoaXMuX3NldERpc3BsYXlNb2RlLDEwMCksdGhpcy5fbmVnb3RpYXRlUmVzaXplcigpfQpjb21wb25lbnREaWRVcGRhdGUoZSx0KXtjb25zdHtpc1Zpc2libGU6cixtZWFzdXJlVmFsaWQ6c309dGhpcy5zdGF0ZTtyIT09dC5pc1Zpc2libGUmJih2LmVtaXQoInRvZ2dsZV9oZWFkZXIiLHIpLHRoaXMuX25lZ290aWF0ZVJlc2l6ZXIoKSksc3x8dGhpcy5fc2V0RGlzcGxheU1vZGUoKX1yZW5kZXIoKXtjb25zdHtyZXNpemVyQnJpZGdlOmUsYWxsb3dlZE1vZGVzOnQsLi4ucn09dGhpcy5wcm9wcyx7ZGlzcGxheU1vZGU6bixpc1Zpc2libGU6YSxsZWZ0Q3VzdG9tRWxlbWVudHM6byxyaWdodEN1c3RvbUVsZW1lbnRzOmx9PXRoaXMuc3RhdGUsYz17ZmVhdHVyZXM6dGhpcy5fZmVhdHVyZXMscmVhZE9ubHk6dGhpcy5fcmVhZE9ubHksaXNGYWtlOiExLHNhdmVMb2FkU3luY0VtaXR0ZXI6dGhpcy5fc2F2ZUxvYWRTeW5jRW1pdHRlcixsZWZ0Q3VzdG9tRWxlbWVudHM6byxyaWdodEN1c3RvbUVsZW1lbnRzOmwsLi4ucn0sdT17Li4uYyxpc0Zha2U6ITAsc2hvd1Njcm9sbGJhcldoZW46Z2V9LGg9KDAsZC5lbnN1cmVEZWZpbmVkKSh0KSxtPXRoaXMucHJvcHMudG9vbHMuUHVibGlzaEJ1dHRvbk1hbmFnZXJ8fHMuRnJhZ21lbnQ7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChqLlJlZ2lzdHJ5UHJvdmlkZXIse3ZhbHVlOnRoaXMuX3JlZ2lzdHJ5LHZhbGlkYXRpb246ZmV9LHMuY3JlYXRlRWxlbWVudChtLG51bGwscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGJlLnRvb2xiYXIse1tiZS5pc0hpZGRlbl06IWF9KSxvbkNsaWNrOnRoaXMucHJvcHMub25DbGlja30scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YmUub3ZlcmZsb3dXcmFwfSxoLm1hcCgoZT0+cy5jcmVhdGVFbGVtZW50KFEse2tleTplLGRpc3BsYXlNb2RlOmUsb25XaWR0aENoYW5nZTp0aGlzLl9wYW5lbFdpZHRoQ2hhbmdlSGFuZGxlcnNbZV0sLi4udX0pKSkscy5jcmVhdGVFbGVtZW50KFEse2tleToibGl2ZSIsc2hvd1Njcm9sbGJhcldoZW46dGhpcy5fc2hvd1Njcm9sbGJhcldoZW4sZGlzcGxheU1vZGU6bixvbkF2YWlsYWJsZVNwYWNlQ2hhbmdlOnRoaXMuX2hhbmRsZU1lYXN1cmUsLi4uY30pKSkpKX1hZGRCdXR0b24oZSx0KXtpZighdC51c2VUcmFkaW5nVmlld1N0eWxlKXJldHVybiB0aGlzLl9hZGRDdXN0b21IVE1MQnV0dG9uKGUsdC5hbGlnbik7dGhpcy5fYWRkQ3VzdG9tVHJhZGluZ1ZpZXdTdHlsZWRCdXR0b24oZSx0KX1yZW1vdmVCdXR0b24oZSl7Y29uc3R7bGVmdEN1c3RvbUVsZW1lbnRzOnQscmlnaHRDdXN0b21FbGVtZW50czpyfT10aGlzLnN0YXRlO2lmKCgwLGMuZGVmYXVsdCkoZSkpdGhpcy5fcmVtb3ZlQ3VzdG9tRWxlbWVudFRvU3RhdGUoZSk7ZWxzZXtjb25zdCBzPXQ9PiJlbGVtZW50ImluIHQucGFyYW1zJiZ0LnBhcmFtcy5lbGVtZW50PT09ZSxuPXQuZmluZChzKT8uaWQ/P3IuZmluZChzKT8uaWQ7dShuKXx8dGhpcy5fcmVtb3ZlQ3VzdG9tRWxlbWVudFRvU3RhdGUobil9fWFkZERyb3Bkb3duKGUsdCl7Y29uc3R7bGVmdEN1c3RvbUVsZW1lbnRzOnIscmlnaHRDdXN0b21FbGVtZW50czpzfT10aGlzLnN0YXRlLG49e3R5cGU6IkRyb3Bkb3duIixpZDplLHBhcmFtczp0fTsibGVmdCI9PT10LmFsaWduP3RoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czpbLi4ucixuXX0pOnRoaXMuc2V0U3RhdGUoe3JpZ2h0Q3VzdG9tRWxlbWVudHM6Wy4uLnMsbl19KX11cGRhdGVEcm9wZG93bihlLHQpe2NvbnN0IHI9dD0+IkRyb3Bkb3duIj09PXQudHlwZSYmdC5pZD09PWUscz10aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5maW5kKHIpfHx0aGlzLnN0YXRlLnJpZ2h0Q3VzdG9tRWxlbWVudHMuZmluZChyKTt2b2lkIDAhPT1zJiYocy5wYXJhbXM9ey4uLnMucGFyYW1zLC4uLnR9LHRoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5zbGljZSgpLHJpZ2h0Q3VzdG9tRWxlbWVudHM6dGhpcy5zdGF0ZS5yaWdodEN1c3RvbUVsZW1lbnRzLnNsaWNlKCl9KSl9cmVtb3ZlRHJvcGRvd24oZSl7Y29uc3QgdD10PT4iRHJvcGRvd24iPT09dC50eXBlJiZ0LmlkIT09ZSxyPXRoaXMuc3RhdGUubGVmdEN1c3RvbUVsZW1lbnRzLmZpbHRlcih0KSxzPXRoaXMuc3RhdGUucmlnaHRDdXN0b21FbGVtZW50cy5maWx0ZXIodCk7dGhpcy5zZXRTdGF0ZSh7bGVmdEN1c3RvbUVsZW1lbnRzOnIscmlnaHRDdXN0b21FbGVtZW50czpzfSl9X25lZ290aWF0ZVJlc2l6ZXIoKXt0aGlzLnByb3BzLnJlc2l6ZXJCcmlkZ2UubmVnb3RpYXRlSGVpZ2h0KHRoaXMuc3RhdGUuaXNWaXNpYmxlP29lLkhFQURFUl9UT09MQkFSX0hFSUdIVF9FWFBBTkRFRDpvZS5IRUFERVJfVE9PTEJBUl9IRUlHSFRfQ09MTEFQU0VEKX1fc2V0RGlzcGxheU1vZGUoKXtjb25zdHthdmFpbGFibGVXaWR0aDplfT10aGlzLnN0YXRlLHthbGxvd2VkTW9kZXM6dH09dGhpcy5wcm9wcyxyPXtmdWxsOnRoaXMuX2Z1bGxXaWR0aCxtZWRpdW06dGhpcy5fZmF2b3JpdGVzV2lkdGgsc21hbGw6dGhpcy5fY29sbGFwc2VXaWR0aH0scz0oMCxkLmVuc3VyZURlZmluZWQpKHQpO2xldCBuPXMubWFwKChlPT5yW2VdKSkuZmluZEluZGV4KCh0PT5lPj10KSk7LTE9PT1uJiYobj1zLmxlbmd0aC0xKTtjb25zdCBpPXNbbl07dGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiEwLGRpc3BsYXlNb2RlOml9KX1fYWRkQ3VzdG9tSFRNTEJ1dHRvbihlLHQ9ImxlZnQiKXtjb25zdCByPW5ldyBoLldhdGNoZWRWYWx1ZSgwKSxzPSgwLFNlLnBhcnNlSHRtbEVsZW1lbnQpKGA8ZGl2IGNsYXNzPSJhcHBseS1jb21tb24tdG9vbHRpcCAke2JlLmN1c3RvbUJ1dHRvbn0iPmApLG49e3R5cGU6IkJ1dHRvbiIsaWQ6ZSxwYXJhbXM6e2tleTpOdW1iZXIobmV3IERhdGUpLGVsZW1lbnQ6cyx3aWR0aDpyfX07cmV0dXJuIHRoaXMuX2FkZEN1c3RvbUVsZW1lbnRUb1N0YXRlKHQsbiksc31fYWRkQ3VzdG9tVHJhZGluZ1ZpZXdTdHlsZWRCdXR0b24oZSx0KXtjb25zdCByPXt0eXBlOiJUcmFkaW5nVmlld1N0eWxlZEJ1dHRvbiIsaWQ6ZSxwYXJhbXM6e2tleTpOdW1iZXIobmV3IERhdGUpLHRleHQ6dC50ZXh0LAp0aXRsZTp0LnRpdGxlLG9uQ2xpY2s6dC5vbkNsaWNrfX07dGhpcy5fYWRkQ3VzdG9tRWxlbWVudFRvU3RhdGUodC5hbGlnbixyKX1fYWRkQ3VzdG9tRWxlbWVudFRvU3RhdGUoZSx0KXtjb25zdHtsZWZ0Q3VzdG9tRWxlbWVudHM6cixyaWdodEN1c3RvbUVsZW1lbnRzOnN9PXRoaXMuc3RhdGU7ImxlZnQiPT09ZT90aGlzLnNldFN0YXRlKHtsZWZ0Q3VzdG9tRWxlbWVudHM6Wy4uLnIsdF19KTp0aGlzLnNldFN0YXRlKHtyaWdodEN1c3RvbUVsZW1lbnRzOlsuLi5zLHRdfSl9X3JlbW92ZUN1c3RvbUVsZW1lbnRUb1N0YXRlKGUpe3RoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5maWx0ZXIoKHQ9PnQuaWQhPT1lKSkscmlnaHRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLnJpZ2h0Q3VzdG9tRWxlbWVudHMuZmlsdGVyKCh0PT50LmlkIT09ZSkpfSl9fV9lLmRlZmF1bHRQcm9wcz17YWxsb3dlZE1vZGVzOlsiZnVsbCIsIm1lZGl1bSJdfX0sNzAyMTUzKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse0Zhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOigpPT5ufSk7dmFyIHM9cigzNzUyNjIpO2NsYXNzIG4gZXh0ZW5kcyBzLkNvbW1vbkpzb25TdG9yZVNlcnZpY2V7Y29uc3RydWN0b3IoZSx0LHI9W10pe3N1cGVyKGUsdCwiRkFWT1JJVEVfQ0hBUlRfU1RZTEVTX0NIQU5HRUQiLCJTdHlsZVdpZGdldC5xdWlja3MiLHIpfX19LDMwNTA2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtDdXN0b21JbnRlcnZhbHNTZXJ2aWNlOigpPT5oLGN1c3RvbUludGVydmFsc1NlcnZpY2VJbnN0YW5jZTooKT0+bX0pO3ZhciBzPXIoOTMwNTY2KSxuPXIoMTUyNjk5KSxpPXIoNzM2MDYzKSxhPXIoNjU1NTg0KSxvPXIoMzE4OTc0KSxsPXIoMzc1MjYyKSxjPXIoNDY1MTM3KSx1PXIoMTc2ODUxKTtjb25zdCBkPVsiMiIsIjEwIl07Y2xhc3MgaCBleHRlbmRzIGwuQWJzdHJhY3RKc29uU3RvcmVTZXJ2aWNle2NvbnN0cnVjdG9yKGUsdCxyPSgoMCxvLm9uV2lkZ2V0KSgpP1tdOmQpKXtzdXBlcihlLHQsIkNVU1RPTV9JTlRFUlZBTFNfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0LmludGVydmFscyIscil9c2V0KGUsdCl7KDAsaS50cmFja0dvUHJvRmVhdHVyZSkoImN1c3RvbUludGVydmFscyIpO2NvbnN0IHI9KCk9PnsoMCxvLm9uV2lkZ2V0KSgpfHx0aGlzLl9qc29uS2V5VmFsdWVTdG9yZS5zZXRKU09OKCJJbnRlcnZhbFdpZGdldC5pbnRlcnZhbHNEZWZhdWx0czJhbmQxME1pbnV0ZXNNaWdyYXRpb24iLCEwKSxzdXBlci5zZXQoZSx0KX07ZS5sZW5ndGg8dGhpcy5nZXQoKS5sZW5ndGg/cigpOigwLGEucnVuT3JHb1BybykoKCgpPT5yKCkpLCJDVVNUT01fSU5URVJWQUxTIix7ZmVhdHVyZToiY3VzdG9tSW50ZXJ2YWxzIn0pfV9zZXJpYWxpemUoZSl7cmV0dXJuKDAsdS51bmlxKShlLm1hcChjLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKSl9X2Rlc2VyaWFsaXplKGUpe2NvbnN0IHQ9W107cmV0dXJuKDAsby5vbldpZGdldCkoKXx8dGhpcy5fanNvbktleVZhbHVlU3RvcmUuZ2V0SlNPTigiSW50ZXJ2YWxXaWRnZXQuaW50ZXJ2YWxzRGVmYXVsdHMyYW5kMTBNaW51dGVzTWlncmF0aW9uIiwhMSl8fHQucHVzaCguLi5kKSwoMCx1LnVuaXEpKFsuLi50LC4uLigwLGMuY29udmVydFJlc29sdXRpb25zRnJvbVNldHRpbmdzKShlKS5maWx0ZXIoYy5pc1Jlc29sdXRpb25NdWx0aXBsaWVyVmFsaWQpLm1hcChjLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKV0pfX1jb25zdCBtPW5ldyBoKG4uVFZYV2luZG93RXZlbnRzLHMpfSw2MzMzMTgoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7RmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOigpPT5hfSk7dmFyIHM9cigzNzUyNjIpLG49cig0NjUxMzcpLGk9cigxNzY4NTEpO2NsYXNzIGEgZXh0ZW5kcyBzLkFic3RyYWN0SnNvblN0b3JlU2VydmljZXtjb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoZSx0LCJGQVZPUklURV9JTlRFUlZBTFNfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0LnF1aWNrcyIscil9X3NlcmlhbGl6ZShlKXtyZXR1cm4oMCxpLnVuaXEpKGUubWFwKG4ubm9ybWFsaXplSW50ZXJ2YWxTdHJpbmcpKX1fZGVzZXJpYWxpemUoZSl7cmV0dXJuKDAsaS51bmlxKSgoMCxuLmNvbnZlcnRSZXNvbHV0aW9uc0Zyb21TZXR0aW5ncykoZSkuZmlsdGVyKG4uaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkKS5tYXAobi5ub3JtYWxpemVJbnRlcnZhbFN0cmluZykpfX19LDQyNjA3NShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtJbnRlcnZhbHNTZXJ2aWNlOigpPT5sfSk7dmFyIHM9cigyMjUyOTgpLG49cig5NDgzODApLGk9cigzMDUwNjEpLGE9cig3MzE5MzkpLG89cig0NjUxMzcpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZT1pLmN1c3RvbUludGVydmFsc1NlcnZpY2VJbnN0YW5jZSx0aGlzLl9zdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2U9bmV3IG4uRGVsZWdhdGUsdGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZT0oKT0+e3RoaXMuX3N1cHBvcnRlZEludGVydmFsc01heUNoYW5nZS5maXJlKCl9LHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI9KCk9PltdLHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI9ZSxzLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5yYW5nZS5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLnNlY29uZHMuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy50aWNrcy5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLmludHJhZGF5LnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpfWRlc3Ryb3koKXsKcy5saW5raW5nLnN1cHBvcnRlZFJlc29sdXRpb25zLnVuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5yYW5nZS51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcuc2Vjb25kcy51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcudGlja3MudW5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLmludHJhZGF5LnVuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5kYXRhRnJlcXVlbmN5UmVzb2x1dGlvbi51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKX1nZXREZWZhdWx0SW50ZXJ2YWxzKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI/dGhpcy5fcmVzb2x1dGlvbkdldHRlcigpLm1hcChvLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKTpbXX1nZXRDdXN0b21JbnRlcnZhbHMoKXtyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5nZXQoKX1hZGQoZSx0LHIpe2lmKCF3aW5kb3cudXNlci5pc19wcm8mJnIpcmV0dXJuIHIoKSxudWxsO2lmKCF0aGlzLmlzVmFsaWRJbnRlcnZhbChlLHQpKXJldHVybiBudWxsO2NvbnN0IHM9KDAsby5ub3JtYWxpemVJbnRlcnZhbFN0cmluZykoYCR7ZX0ke3R9YCksbj10aGlzLmdldEN1c3RvbUludGVydmFscygpO3JldHVybiB0aGlzLl9pc0ludGVydmFsRGVmYXVsdChzKXx8bi5pbmNsdWRlcyhzKT9udWxsOih0aGlzLl9jdXN0b21JbnRlcnZhbHNTZXJ2aWNlLnNldCgoMCxvLnNvcnRSZXNvbHV0aW9ucykoWy4uLm4sc10pKSxzKX1yZW1vdmUoZSl7dGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5zZXQodGhpcy5nZXRDdXN0b21JbnRlcnZhbHMoKS5maWx0ZXIoKHQ9PnQhPT1lKSkpfWlzVmFsaWRJbnRlcnZhbChlLHQpe3JldHVybigwLG8uaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkKShgJHtlfSR7dH1gKX1pc1N1cHBvcnRlZEludGVydmFsKGUpe3JldHVybigwLG8uaXNBdmFpbGFibGUpKGUpfXN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSgpe3JldHVybiB0aGlzLl9zdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2V9Z2V0T25DaGFuZ2UoKXtyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5nZXRPbkNoYW5nZSgpfWdldFBvc3NpYmxlSW50ZXJ2YWxzKCl7cmV0dXJuIGEuSU5URVJWQUxTfWdldFJlc29sdXRpb25VdGlscygpe3JldHVybntnZXRNYXhSZXNvbHV0aW9uVmFsdWU6by5nZXRNYXhSZXNvbHV0aW9uVmFsdWUsZ2V0VHJhbnNsYXRlZFJlc29sdXRpb25Nb2RlbDpvLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwsbWVyZ2VSZXNvbHV0aW9uczpvLm1lcmdlUmVzb2x1dGlvbnMsc29ydFJlc29sdXRpb25zOm8uc29ydFJlc29sdXRpb25zfX1faXNJbnRlcnZhbERlZmF1bHQoZSl7cmV0dXJuIHRoaXMuZ2V0RGVmYXVsdEludGVydmFscygpLmluY2x1ZGVzKGUpfX19LDczMTkzOShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtJTlRFUlZBTFM6KCk9Pml9KTt2YXIgcz1yKDE4NTI3MSksbj1yKDU2OTM5OCk7Y29uc3QgaT1be25hbWU6IiIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scigzNDM3NTcpKX0se25hbWU6IkgiLGxhYmVsOnMudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbCJ9LHIoODAwMDA5KSl9LHtuYW1lOiJEIixsYWJlbDpzLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWwifSxyKDMxNzI5KSl9LHtuYW1lOiJXIixsYWJlbDpzLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWwifSxyKDU0ODM3NCkpfSx7bmFtZToiTSIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scig1NTQ2NTEpKX1dO2kucHVzaCh7bmFtZToiUiIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scig5NzMzNDcpKX0pLCgwLG4uaXNGZWF0dXJlRW5hYmxlZCkoImN1c3RvbV90aWNrcyIpJiZpLnB1c2goe25hbWU6IlQiLGxhYmVsOnMudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbCJ9LHIoMzY5MTI5KSl9KX0sNzAxMTU2KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2dldERpYWxvZ1Rvb2xzTWFuYWdlcjooKT0+b30pO3ZhciBzPXIoODM5NDI2KSxuPXIoOTMwMjMxKSxpPXIoMjMyMzY0KTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fYWN0aXZlRGlhbG9nVG9vbHM9bmV3IGkuV2F0Y2hlZFZhbHVlKG51bGwpfXJlZ2lzdGVyRGlhbG9nVG9vbHMoZSl7dGhpcy5fYWN0aXZlRGlhbG9nVG9vbHMuc2V0VmFsdWUoZSl9Y2xlYXJEaWFsb2dUb29scyhlKXtjb25zdCB0PXRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzLnZhbHVlKCk7dCYmdC5kaWFsb2dJZD09PWUmJnRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzLnNldFZhbHVlKG51bGwpfWdldEFjdGl2ZURpYWxvZ1Rvb2xzKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzfWhhc0FjdGl2ZURpYWxvZ1Rvb2xzKCl7cmV0dXJuIG51bGwhPT10aGlzLl9hY3RpdmVEaWFsb2dUb29scy52YWx1ZSgpfX1jb25zdCBvPSgwLHMuZGVmYXVsdCkoKCgpPT4oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBhKSl9LDMyOTY2OChlLHQscil7InVzZSBzdHJpY3QiO3ZhciBzO2Z1bmN0aW9uIG4oZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIpKX1mdW5jdGlvbiBpKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIpKX1yLmQodCx7YmVjb21lTWFpbkVsZW1lbnQ6KCk9Pm4sYmVjb21lU2Vjb25kYXJ5RWxlbWVudDooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuTWFpbkVsZW1lbnQ9InJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLGUuU2Vjb25kYXJ5RWxlbWVudD0icm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50In0oc3x8KHM9e30pKX0sCjk4MzYxNihlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHttYXBLZXlDb2RlVG9EaXJlY3Rpb246KCk9PnUsbmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcjooKT0+YSxxdWVyeUZvY3VzYWJsZUVsZW1lbnRzOigpPT5sLHF1ZXJ5VGFiYmFibGVFbGVtZW50czooKT0+byx1cGRhdGVUYWJJbmRleGVzOigpPT5jfSk7dmFyIHMsbj1yKDk2OTE2OCksaT1yKDY4MjM4MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPT09dD8wOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/LTE6MX1mdW5jdGlvbiBvKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b246bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSksIFt0YWJpbmRleF06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbYXJpYS1kaXNhYmxlZD0iIl0pJykpLmZpbHRlcigoMCxpLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShlKSl9ZnVuY3Rpb24gYygpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsbi5pc1J0bCkoKTtzd2l0Y2goZSl7Y2FzZSAzODpyZXR1cm4iYmxvY2tQcmV2IjtjYXNlIDQwOnJldHVybiJibG9ja05leHQiO2Nhc2UgMzc6cmV0dXJuIHQ/ImlubGluZU5leHQiOiJpbmxpbmVQcmV2IjtjYXNlIDM5OnJldHVybiB0PyJpbmxpbmVQcmV2IjoiaW5saW5lTmV4dCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19IWZ1bmN0aW9uKGUpe2UuQmxvY2tQcmV2PSJibG9ja1ByZXYiLGUuQmxvY2tOZXh0PSJibG9ja05leHQiLGUuSW5saW5lUHJldj0iaW5saW5lUHJldiIsZS5JbmxpbmVOZXh0PSJpbmxpbmVOZXh0In0oc3x8KHM9e30pKX0sNzMwMDA5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse1Rvb2xiYXI6KCk9PmR9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDEzODYzOCksaT1yKDgzMzkwMyksYT1yKDIzNTcyNCksbz1yKDk4MzYxNiksbD1yKDMyOTY2OCksYz1yKDc4Nzg5NSksdT1yKDQ1MDE0MCk7Y29uc3QgZD0oMCxzLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e29uS2V5RG93bjpyLG9yaWVudGF0aW9uOmQsYmx1ck9uRXNjS2V5ZG93bjpoPSEwLGJsdXJPbkNsaWNrOm09ITAsLi4udn09ZSxwPSgwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCk7cmV0dXJuKDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKShwLmN1cnJlbnQpLHQ9KCk9Pntjb25zdCB0PSgwLG8ucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShlKS5zb3J0KG8ubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7aWYoMD09PXQubGVuZ3RoKXtjb25zdFt0XT0oMCxvLnF1ZXJ5Rm9jdXNhYmxlRWxlbWVudHMpKGUpLnNvcnQoby5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtpZih2b2lkIDA9PT10KXJldHVybjsoMCxsLmJlY29tZU1haW5FbGVtZW50KSh0KX1pZih0Lmxlbmd0aD4xKXtjb25zdFssLi4uZV09dDtmb3IoY29uc3QgdCBvZiBlKSgwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkodCl9fTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsdCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHQpfSksW10pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4udS5Nb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyLmF0dHJpYnV0ZXMobSksLi4udixyb2xlOiJ0b29sYmFyIiwiYXJpYS1vcmllbnRhdGlvbiI6ZCxyZWY6cCxvbktleURvd246KDAsaS5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKSgoZnVuY3Rpb24oZSl7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpcmV0dXJuO2NvbnN0IHQ9KDAsYS5oYXNoRnJvbUV2ZW50KShlKTtpZihoJiYyNz09PXQpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx2b2lkIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO2lmKCJ2ZXJ0aWNhbCIhPT1kJiYzNyE9PXQmJjM5IT09dClyZXR1cm47aWYoInZlcnRpY2FsIj09PWQmJjM4IT09dCYmNDAhPT10KXJldHVybjtjb25zdCByPWUuY3VycmVudFRhcmdldCxzPSgwLG8ucXVlcnlGb2N1c2FibGVFbGVtZW50cykocikuc29ydChvLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO2lmKDA9PT1zLmxlbmd0aClyZXR1cm47Y29uc3Qgbj1zLmluZGV4T2YoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7aWYoLTE9PT1uKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT0oKT0+e2NvbnN0IGU9KG4rcy5sZW5ndGgtMSklcy5sZW5ndGg7KDAsbC5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShzW25dKSwoMCxsLmJlY29tZU1haW5FbGVtZW50KShzW2VdKSxzW2VdLmZvY3VzKCl9LGM9KCk9Pntjb25zdCBlPShuK3MubGVuZ3RoKzEpJXMubGVuZ3RoOygwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoc1tuXSksKDAsbC5iZWNvbWVNYWluRWxlbWVudCkoc1tlXSksc1tlXS5mb2N1cygpfTtzd2l0Y2goKDAsby5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZVByZXYiOiJ2ZXJ0aWNhbCIhPT1kJiZpKCk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjoKInZlcnRpY2FsIiE9PWQmJmMoKTticmVhaztjYXNlImJsb2NrUHJldiI6InZlcnRpY2FsIj09PWQmJmkoKTticmVhaztjYXNlImJsb2NrTmV4dCI6InZlcnRpY2FsIj09PWQmJmMoKX19KSxyKSwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIn0pfSkpfSw1Njk2NTIoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7UmVnaXN0cnlQcm92aWRlcjooKT0+bCxyZWdpc3RyeUNvbnRleHRUeXBlOigpPT51LHVzZVJlZ2lzdHJ5OigpPT5jLHZhbGlkYXRlUmVnaXN0cnk6KCk9Pm99KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDIyMTg5NiksaT1yLm4obik7Y29uc3QgYT1zLmNyZWF0ZUNvbnRleHQoe30pO2Z1bmN0aW9uIG8oZSx0KXtpKCkuY2hlY2tQcm9wVHlwZXModCxlLCJjb250ZXh0IiwiUmVnaXN0cnlDb250ZXh0Iil9ZnVuY3Rpb24gbChlKXtjb25zdHt2YWxpZGF0aW9uOnQsdmFsdWU6cn09ZTtyZXR1cm4gbyhyLHQpLHMuY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTpyfSxlLmNoaWxkcmVuKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAscy51c2VDb250ZXh0KShhKTtyZXR1cm4gbyh0LGUpLHR9ZnVuY3Rpb24gdSgpe3JldHVybiBhfX0sNjE2MzExKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6KCk9Pm59KTt2YXIgcz1yKDc3OTQ3NCk7ZnVuY3Rpb24gbihlLHQpeygidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz9zLnVzZUVmZmVjdDpzLnVzZUxheW91dEVmZmVjdCkoZSx0KX19LDk5ODE1OChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtGcmFnbWVudE1hcDooKT0+bn0pO3ZhciBzPXIoNzc5NDc0KTtmdW5jdGlvbiBuKGUpe2lmKGUubWFwKXtyZXR1cm4gcy5DaGlsZHJlbi50b0FycmF5KGUuY2hpbGRyZW4pLm1hcChlLm1hcCl9cmV0dXJuIGUuY2hpbGRyZW59fSw5OTQxNzgoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz1yKDk2NzEyMSk7ZnVuY3Rpb24gbigpe31mdW5jdGlvbiBpKCl7fWkucmVzZXRXYXJuaW5nQ2FjaGU9bixlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxyLG4saSxhKXtpZihhIT09cyl7dmFyIG89bmV3IEVycm9yKCJDYWxsaW5nIFByb3BUeXBlcyB2YWxpZGF0b3JzIGRpcmVjdGx5IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLiBVc2UgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCkgdG8gY2FsbCB0aGVtLiBSZWFkIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3VzZS1jaGVjay1wcm9wLXR5cGVzIik7dGhyb3cgby5uYW1lPSJJbnZhcmlhbnQgVmlvbGF0aW9uIixvfX1mdW5jdGlvbiB0KCl7cmV0dXJuIGV9ZS5pc1JlcXVpcmVkPWU7dmFyIHI9e2FycmF5OmUsYm9vbDplLGZ1bmM6ZSxudW1iZXI6ZSxvYmplY3Q6ZSxzdHJpbmc6ZSxzeW1ib2w6ZSxhbnk6ZSxhcnJheU9mOnQsZWxlbWVudDplLGVsZW1lbnRUeXBlOmUsaW5zdGFuY2VPZjp0LG5vZGU6ZSxvYmplY3RPZjp0LG9uZU9mOnQsb25lT2ZUeXBlOnQsc2hhcGU6dCxleGFjdDp0LGNoZWNrUHJvcFR5cGVzOmkscmVzZXRXYXJuaW5nQ2FjaGU6bn07cmV0dXJuIHIuUHJvcFR5cGVzPXIscn19LDIyMTg5NihlLHQscil7ZS5leHBvcnRzPXIoOTk0MTc4KSgpfSw5NjcxMjEoZSl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz0iU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQifSwxMjkzNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksZS5leHBvcnRzPXIoNTMyMzg3KX0sMTIyNzQ5KGUsdCl7InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxzPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLG49U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLG89U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxsPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxjPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksdT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLGQ9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGg9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLG09U3ltYm9sLml0ZXJhdG9yO3ZhciB2PXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxwPU9iamVjdC5hc3NpZ24sZj17fTtmdW5jdGlvbiBTKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWYsdGhpcy51cGRhdGVyPXJ8fHZ9ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBnKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWYsdGhpcy51cGRhdGVyPXJ8fHZ9Uy5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSxTLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLHQpe2lmKCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJm51bGwhPWUpdGhyb3cgRXJyb3IoInNldFN0YXRlKC4uLik6IHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLiIpO3RoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcyxlLHQsInNldFN0YXRlIil9LFMucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxlLCJmb3JjZVVwZGF0ZSIpfSwKYi5wcm90b3R5cGU9Uy5wcm90b3R5cGU7dmFyIF89Zy5wcm90b3R5cGU9bmV3IGI7Xy5jb25zdHJ1Y3Rvcj1nLHAoXyxTLnByb3RvdHlwZSksXy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgeT1BcnJheS5pc0FycmF5LEU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxDPXtjdXJyZW50Om51bGx9LFQ9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiB3KGUsdCxzKXt2YXIgbixpPXt9LGE9bnVsbCxvPW51bGw7aWYobnVsbCE9dClmb3IobiBpbiB2b2lkIDAhPT10LnJlZiYmKG89dC5yZWYpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksdClFLmNhbGwodCxuKSYmIVQuaGFzT3duUHJvcGVydHkobikmJihpW25dPXRbbl0pO3ZhciBsPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09bClpLmNoaWxkcmVuPXM7ZWxzZSBpZigxPGwpe2Zvcih2YXIgYz1BcnJheShsKSx1PTA7dTxsO3UrKyljW3VdPWFyZ3VtZW50c1t1KzJdO2kuY2hpbGRyZW49Y31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IobiBpbiBsPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PWlbbl0mJihpW25dPWxbbl0pO3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZSxrZXk6YSxyZWY6byxwcm9wczppLF9vd25lcjpDLmN1cnJlbnR9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PXJ9dmFyIE09L1wvKy9nO2Z1bmN0aW9uIFIoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT9mdW5jdGlvbihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitlLnJlcGxhY2UoL1s9Ol0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9KCIiK2Uua2V5KTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiBrKGUsdCxuLGksYSl7dmFyIG89dHlwZW9mIGU7InVuZGVmaW5lZCIhPT1vJiYiYm9vbGVhbiIhPT1vfHwoZT1udWxsKTt2YXIgbD0hMTtpZihudWxsPT09ZSlsPSEwO2Vsc2Ugc3dpdGNoKG8pe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6bD0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgcjpjYXNlIHM6bD0hMH19aWYobClyZXR1cm4gYT1hKGw9ZSksZT0iIj09PWk/Ii4iK1IobCwwKTppLHkoYSk/KG49IiIsbnVsbCE9ZSYmKG49ZS5yZXBsYWNlKE0sIiQmLyIpKyIvIiksayhhLHQsbiwiIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSkpOm51bGwhPWEmJihEKGEpJiYoYT1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZS50eXBlLGtleTp0LHJlZjplLnJlZixwcm9wczplLnByb3BzLF9vd25lcjplLl9vd25lcn19KGEsbisoIWEua2V5fHxsJiZsLmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShNLCIkJi8iKSsiLyIpK2UpKSx0LnB1c2goYSkpLDE7aWYobD0wLGk9IiI9PT1pPyIuIjppKyI6Iix5KGUpKWZvcih2YXIgYz0wO2M8ZS5sZW5ndGg7YysrKXt2YXIgdT1pK1Iobz1lW2NdLGMpO2wrPWsobyx0LG4sdSxhKX1lbHNlIGlmKHU9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1tJiZlW21dfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH0oZSksImZ1bmN0aW9uIj09dHlwZW9mIHUpZm9yKGU9dS5jYWxsKGUpLGM9MDshKG89ZS5uZXh0KCkpLmRvbmU7KWwrPWsobz1vLnZhbHVlLHQsbix1PWkrUihvLGMrKyksYSk7ZWxzZSBpZigib2JqZWN0Ij09PW8pdGhyb3cgdD1TdHJpbmcoZSksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT10PyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGUpLmpvaW4oIiwgIikrIn0iOnQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIik7cmV0dXJuIGx9ZnVuY3Rpb24gSShlLHQscil7aWYobnVsbD09ZSlyZXR1cm4gZTt2YXIgcz1bXSxuPTA7cmV0dXJuIGsoZSxzLCIiLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKHIsZSxuKyspfSkpLHN9ZnVuY3Rpb24gRihlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbigoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9dCl9KSwoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MixlLl9yZXN1bHQ9dCl9KSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBPPXtjdXJyZW50Om51bGx9LEE9e3RyYW5zaXRpb246bnVsbH0sVj17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpPLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOkEsUmVhY3RDdXJyZW50T3duZXI6Q307dC5DaGlsZHJlbj17bWFwOkksZm9yRWFjaDpmdW5jdGlvbihlLHQscil7SShlLChmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkscil9LGNvdW50OmZ1bmN0aW9uKGUpe3ZhciB0PTA7cmV0dXJuIEkoZSwoZnVuY3Rpb24oKXt0Kyt9KSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gSShlLChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKXx8W119LG9ubHk6ZnVuY3Rpb24oZSl7aWYoIUQoZSkpdGhyb3cgRXJyb3IoIlJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLiIpO3JldHVybiBlfX0sdC5Db21wb25lbnQ9Uyx0LkZyYWdtZW50PW4sdC5Qcm9maWxlcj1hLHQuUHVyZUNvbXBvbmVudD1nLHQuU3RyaWN0TW9kZT1pLHQuU3VzcGVuc2U9dSx0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPVYsdC5jbG9uZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LHMpewppZihudWxsPT1lKXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2UrIi4iKTt2YXIgbj1wKHt9LGUucHJvcHMpLGk9ZS5rZXksYT1lLnJlZixvPWUuX293bmVyO2lmKG51bGwhPXQpe2lmKHZvaWQgMCE9PXQucmVmJiYoYT10LnJlZixvPUMuY3VycmVudCksdm9pZCAwIT09dC5rZXkmJihpPSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGw9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IoYyBpbiB0KUUuY2FsbCh0LGMpJiYhVC5oYXNPd25Qcm9wZXJ0eShjKSYmKG5bY109dm9pZCAwPT09dFtjXSYmdm9pZCAwIT09bD9sW2NdOnRbY10pfXZhciBjPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09YyluLmNoaWxkcmVuPXM7ZWxzZSBpZigxPGMpe2w9QXJyYXkoYyk7Zm9yKHZhciB1PTA7dTxjO3UrKylsW3VdPWFyZ3VtZW50c1t1KzJdO24uY2hpbGRyZW49bH1yZXR1cm57JCR0eXBlb2Y6cix0eXBlOmUudHlwZSxrZXk6aSxyZWY6YSxwcm9wczpuLF9vd25lcjpvfX0sdC5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpsLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfZGVmYXVsdFZhbHVlOm51bGwsX2dsb2JhbE5hbWU6bnVsbH0pLlByb3ZpZGVyPXskJHR5cGVvZjpvLF9jb250ZXh0OmV9LGUuQ29uc3VtZXI9ZX0sdC5jcmVhdGVFbGVtZW50PXcsdC5jcmVhdGVGYWN0b3J5PWZ1bmN0aW9uKGUpe3ZhciB0PXcuYmluZChudWxsLGUpO3JldHVybiB0LnR5cGU9ZSx0fSx0LmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSx0LmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOmMscmVuZGVyOmV9fSx0LmlzVmFsaWRFbGVtZW50PUQsdC5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpoLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6Rn19LHQubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpkLHR5cGU6ZSxjb21wYXJlOnZvaWQgMD09PXQ/bnVsbDp0fX0sdC5zdGFydFRyYW5zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9QS50cmFuc2l0aW9uO0EudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7QS50cmFuc2l0aW9uPXR9fSx0LnVuc3RhYmxlX2FjdD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfSx0LnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VDYWxsYmFjayhlLHQpfSx0LnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VDb250ZXh0KGUpfSx0LnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LHQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gTy5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9LHQudXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VFZmZlY3QoZSx0KX0sdC51c2VJZD1mdW5jdGlvbigpe3JldHVybiBPLmN1cnJlbnQudXNlSWQoKX0sdC51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gTy5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfSx0LnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBPLmN1cnJlbnQudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LHQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sdC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VNZW1vKGUsdCl9LHQudXNlUmVkdWNlcj1mdW5jdGlvbihlLHQscil7cmV0dXJuIE8uY3VycmVudC51c2VSZWR1Y2VyKGUsdCxyKX0sdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VSZWYoZSl9LHQudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VTdGF0ZShlKX0sdC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIE8uY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQscil9LHQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBPLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfSx0LnZlcnNpb249IjE4LjIuMCJ9LDc3OTQ3NChlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDEyMjc0OSl9LDM3NTI2MihlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtBYnN0cmFjdEpzb25TdG9yZVNlcnZpY2U6KCk9PmksQ29tbW9uSnNvblN0b3JlU2VydmljZTooKT0+YX0pO3ZhciBzPXIoOTQ4MzgwKTtjb25zdCBuPVN5bWJvbCgiTk9fVkFMVUVfU0VOVElORUwiKTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUsdCxyLG4saSl7dGhpcy5fb25DaGFuZ2U9bmV3IHMuRGVsZWdhdGUsdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57dGhpcy5fb25DaGFuZ2UuZmlyZSh0aGlzLmdldCgpKX0sdGhpcy5fY3Jvc3NUYWJFdmVudHM9ZSx0aGlzLl9qc29uS2V5VmFsdWVTdG9yZT10LHRoaXMuQ1JPU1NUQUJfRVZFTlRfTkFNRT1yLHRoaXMuSlNPTl9TVE9SRV9LRVk9bix0aGlzLmRlZmF1bHRTdG9yZVZhbHVlPXRoaXMuX3NlcmlhbGl6ZShpKSx0aGlzLl9zdWJzY3JpYmUoKX1nZXQoKXtjb25zdCBlPXRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLmdldEpTT04odGhpcy5KU09OX1NUT1JFX0tFWSx0aGlzLmRlZmF1bHRTdG9yZVZhbHVlKTtyZXR1cm4gdGhpcy5fZGVzZXJpYWxpemUoZSl9c2V0KGUsdCl7Y29uc3Qgcj10aGlzLl9zZXJpYWxpemUoZSk7dGhpcy5fanNvbktleVZhbHVlU3RvcmUuc2V0SlNPTih0aGlzLkpTT05fU1RPUkVfS0VZLHIsdCksdGhpcy5fY3Jvc3NUYWJFdmVudHMuZW1pdCh0aGlzLkNST1NTVEFCX0VWRU5UX05BTUUpLHRoaXMuX29uQ2hhbmdlLmZpcmUoZSl9aGFzVmFsdWUoKXsKcmV0dXJuIHRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLmdldEpTT04odGhpcy5KU09OX1NUT1JFX0tFWSxuKSE9PW59Z2V0T25DaGFuZ2UoKXtyZXR1cm4gdGhpcy5fb25DaGFuZ2V9ZGVzdHJveSgpe3RoaXMuX3Vuc3Vic2NyaWJlKCksdGhpcy5fb25DaGFuZ2UuZGVzdHJveSgpLGRlbGV0ZSB0aGlzLl9vbkNoYW5nZX1fc3Vic2NyaWJlKCl7dGhpcy5fY3Jvc3NUYWJFdmVudHMub24odGhpcy5DUk9TU1RBQl9FVkVOVF9OQU1FLHRoaXMuX2hhbmRsZUNoYW5nZSksdGhpcy5fanNvbktleVZhbHVlU3RvcmUub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZSl9X3Vuc3Vic2NyaWJlKCl7dGhpcy5fY3Jvc3NUYWJFdmVudHMub2ZmKHRoaXMuQ1JPU1NUQUJfRVZFTlRfTkFNRSx0aGlzLl9oYW5kbGVDaGFuZ2UpLHRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLm9uU3luYy51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZSl9fWNsYXNzIGEgZXh0ZW5kcyBpe19zZXJpYWxpemUoZSl7cmV0dXJuIGV9X2Rlc2VyaWFsaXplKGUpe3JldHVybiBlfX19LDQ4MDA2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6KCk9Pm0sZ2V0RGVmYXVsdEZhdm9yaXRlQ2hhcnRTdHlsZXM6KCk9PmQsZ2V0RGVmYXVsdEZhdm9yaXRlUmVzb2x1dGlvbnM6KCk9Pmh9KTt2YXIgcz1yKDE1MjY5OSksbj1yKDkzMDU2NiksaT1yKDkzMDIzMSksYT1yKDQ2NTEzNyksbz1yKDYzMzMxOCksbD1yKDcwMjE1Myk7Y29uc3QgYz17QXJlYTozLCJITEMgYXJlYSI6MTYsQmFyczowLENhbmRsZXM6MSwiSGVpa2VuIEFzaGkiOjgsIkhvbGxvdyBDYW5kbGVzIjo5LExpbmU6MixSZW5rbzo0LEthZ2k6NSwiUG9pbnQgJiBmaWd1cmUiOjYsIkxpbmUgQnJlYWsiOjcsQmFzZWxpbmU6MTAsTGluZVdpdGhNYXJrZXJzOjE0LFN0ZXBsaW5lOjE1LENvbHVtbnM6MTMsIkhpZ2gtbG93IjoxMn0sdT1bIjEiLCIzMCIsIjYwIl07ZnVuY3Rpb24gZChlPVtdKXtsZXQgdD1lLm1hcCgoZT0+Y1tlXSkpfHxbMSw0LDUsNl07cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJih0PVswLDEsM10pLHR9ZnVuY3Rpb24gaChlPVtdKXtyZXR1cm4oMCxhLm1lcmdlUmVzb2x1dGlvbnMpKGUsKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Iik/dTpbXSl9Y29uc3QgbT1uZXcgby5GYXZvcml0ZUludGVydmFsc1NlcnZpY2Uocy5UVlhXaW5kb3dFdmVudHMsbixoKCkpO25ldyBsLkZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlKHMuVFZYV2luZG93RXZlbnRzLG4sZCgpKX0sMzQ0NTM2KGUsdCxyKXsidXNlIHN0cmljdCI7ci5yKHQpLHIuZCh0LHtGYXZvcml0ZVNjcmlwdHNNb2RlbDooKT0+ZH0pO3ZhciBzPXIoOTMwNTY2KSxuPXIoMTUyNjk5KSxpPXIoNjM0ODYpLGE9cig2MzI0NDQpCjtjb25zdCBvPUpTT04ucGFyc2UoJ3siQUNDREB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7QWNjdW11bGF0aW9uX0Rpc3RyaWJ1dGlvbiIsInN0dWR5QURSQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtBZHZhbmNlX0RlY2xpbmVfUmF0aW9fQmFycyIsIkFST09OQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtBcm9vbiIsIkFUUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7QXZlcmFnZV9UcnVlX1JhbmdlIiwiQXdlc29tZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0F3ZXNvbWVfT3NjaWxsYXRvciIsIkJCQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtCb2xsaW5nZXJfQmFuZHMiLCJCb2xsaW5nZXJCYW5kc1JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0JvbGxpbmdlcl9CYW5kc19CIiwiQm9sbGluZ2VyQmFuZHNXaWR0aEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Qm9sbGluZ2VyX0JhbmRzX1dpZHRoIiwiQ01GQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaGFpa2luX01vbmV5X0Zsb3ciLCJDaGFpa2luT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q2hhaWtpbl9Pc2NpbGxhdG9yIiwiQ2hvcHBpbmVzc0luZGV4QHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaG9wcGluZXNzX0luZGV4IiwiRG91YmxlRU1BQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtERU1BIiwiV2lsbGlhbVJAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1dpbGxhbXNfUiIsIkNDSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q0NJIiwiQ1JTSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q29ubm9yc19SU0kiLCJEZXRyZW5kZWRQcmljZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0RQTyIsIkRNQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtETUkiLCJET05DSEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RG9uY2hpYW5fQ2hhbm5lbHMiLCJFYXNlT2ZNb3ZlbWVudEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RU9NIiwiRUZJQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtFRkkiLCJFTlZAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0VOViIsIkZpc2hlclRyYW5zZm9ybUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RmlzaGVyX1RyYW5zZm9ybSIsIkhWQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtIaXN0b3JpY2FsX1ZvbGF0aWxpdHkiLCJLTFROUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7S2VsdG5lcl9DaGFubmVscyIsIk1PTUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7TW9tZW50dW0iLCJNRkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7TW9uZXlfRmxvdyIsIlVsdGltYXRlT3NjQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtVbHRpbWF0ZV9Pc2NpbGxhdG9yIiwiVHJpeEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7VFJJWCIsIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1N0b2NoYXN0aWMiLCJTdG9jaGFzdGljUlNJQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtTdG9jaGFzdGljX1JTSSIsIlJTSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UlNJIiwiUk9DQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtST0MiLCJQcmljZU9zY0B0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UHJpY2VfT3NjaWxsYXRvciIsIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtTTUEiLCJPQlZAdHYtYmFzaWNzdHVkaWVzIjoiU1REO09uX0JhbGFuY2VfVm9sdW1lIiwiUFNBUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UFNBUiIsIlZpZ29ySW5kZXhAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1JlbGF0aXZlX1ZpZ29yX0luZGV4IiwiVm9sYXRpbGl0eUluZGV4QHR2LWJhc2ljc3R1ZGllcyI6IlNURDtSZWxhdGl2ZV9Wb2xhdGlsaXR5X0luZGV4IiwiU01JRXJnb2RpY0luZGljYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7U01JX0VyZ29kaWNfSW5kaWNhdG9yX09zY2lsbGF0b3IiLCJTTUlFcmdvZGljT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7U01JX0VyZ29kaWNfT3NjaWxsYXRvciIsIk1BQ0RAdHYtYmFzaWNzdHVkaWVzIjoiU1REO01BQ0QiLCJNQVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtXTUEiLCJNQUV4cEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RU1BIiwiaHVsbE1BQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtIdWxsJTFNQSIsImNoYW5kZU1PQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaGFuZGVfTW9tZW50dW1fT3NjaWxsYXRvciIsIlRyaXBsZUVNQUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7VEVNQSIsIk1BVm9sdW1lV2VpZ2h0ZWRAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1ZXTUEiLCJXaWxsaWFtc0FsbGlnYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7V2lsbGlhbXNfQWxsaWdhdG9yIiwiV2lsbGlhbXNGcmFjdGFsQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtXaGlsbGlhbXNfRnJhY3RhbHMifScpO3ZhciBsPXIoOTQ4MzgwKTtjb25zdCBjPW87bGV0IHU9bnVsbDtjbGFzcyBke2NvbnN0cnVjdG9yKGU9cyl7dGhpcy5fZmF2b3JpdGVzPVtdLHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fc2V0dGluZ3M9ZSxuLlRWWFdpbmRvd0V2ZW50cy5vbigiU3R1ZHlGYXZvcml0ZXNDaGFuZ2VkIiwoZT0+e2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9sb2FkRnJvbVN0YXRlKHQuZmF2b3JpdGVzfHxbXSl9KSksdGhpcy5fc2V0dGluZ3Mub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2xvYWRGYXZzKSx0aGlzLl9sb2FkRmF2cygpfWlzRmF2KGUpe2NvbnN0IHQ9dGhpcy5mYXZJZChlKTtyZXR1cm4tMSE9PXRoaXMuX2ZpbmRGYXZJbmRleCh0KX10b2dnbGVGYXZvcml0ZShlKXt0aGlzLmlzRmF2KGUpP3RoaXMucmVtb3ZlRmF2b3JpdGUoZSk6dGhpcy5hZGRGYXZvcml0ZShlKX1hZGRGYXZvcml0ZShlKXtjb25zdCB0PXRoaXMuZmF2SWQoZSk7dGhpcy5fZmF2b3JpdGVzLnB1c2gobSh0KSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKHQpLHRoaXMuX3NhdmVGYXZzKCl9cmVtb3ZlRmF2b3JpdGUoZSl7Y29uc3QgdD10aGlzLmZhdklkKGUpLHI9dGhpcy5fZmluZEZhdkluZGV4KHQpOy0xIT09ciYmKHRoaXMuX2Zhdm9yaXRlcy5zcGxpY2UociwxKSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUodCkpLHRoaXMuX3NhdmVGYXZzKCl9ZmF2SWQoZSl7CnJldHVybigwLGEuaXNQaW5lSWRTdHJpbmcpKGUpP2U6KDAsYS5leHRyYWN0UGluZUlkKShlKXx8KDAsaS5leHRyYWN0U3R1ZHlJZCkoZSl9ZmF2b3JpdGVzKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc31mYXZvcml0ZVBpbmVJZHMoKXtyZXR1cm4gdGhpcy5fZmF2b3JpdGVzLmZpbHRlcigoZT0+InBpbmUiPT09ZS50eXBlKSkubWFwKChlPT5lLnBpbmVJZCkpfWZhdm9yaXRlc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZH1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gbnVsbD09PXUmJih1PW5ldyBkKSx1fXN0YXRpYyBjcmVhdGUoZSl7cmV0dXJuIG5ldyBkKGUpfV9sb2FkRmF2cygpe2NvbnN0IGU9dGhpcy5fc2V0dGluZ3MuZ2V0SlNPTigic3R1ZHlNYXJrZXQuZmF2b3JpdGVzIixbXSk7dGhpcy5fbG9hZEZyb21TdGF0ZShlKX1fc2F2ZUZhdnMoKXtjb25zdCBlPXRoaXMuX3N0YXRlVG9TYXZlKCk7dGhpcy5fc2V0dGluZ3Muc2V0SlNPTigic3R1ZHlNYXJrZXQuZmF2b3JpdGVzIixlLHtmb3JjZUZsdXNoOiEwfSksbi5UVlhXaW5kb3dFdmVudHMuZW1pdCgiU3R1ZHlGYXZvcml0ZXNDaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh7ZmF2b3JpdGVzOmV9KSl9X3N0YXRlVG9TYXZlKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlcy5tYXAoaCl9X2xvYWRGcm9tU3RhdGUoZSl7dGhpcy5fZmF2b3JpdGVzPWUubWFwKChlPT5tKGZ1bmN0aW9uKGUpe3JldHVybiBlIGluIGM/Y1tlXTplfShlKSkpKSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUoKX1fZmluZEZhdkluZGV4KGUpe3JldHVybiB0aGlzLl9mYXZvcml0ZXMuZmluZEluZGV4KCh0PT5lPT09aCh0KSkpfX1mdW5jdGlvbiBoKGUpe3JldHVybiJqYXZhIj09PWUudHlwZT9lLnN0dWR5SWQ6ZS5waW5lSWR9ZnVuY3Rpb24gbShlKXtyZXR1cm4oMCxhLmlzUGluZUlkU3RyaW5nKShlKT97dHlwZToicGluZSIscGluZUlkOmV9Ont0eXBlOiJqYXZhIixzdHVkeUlkOmV9fX0sMzkxODkwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjEwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik0yIDFsOCA4IDgtOCIvPjwvc3ZnPid9LDMwMTYwNyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNC41NiAxNGExMC4wNSAxMC4wNSAwIDAwLjUyLjkxYy40MS42OSAxLjA0IDEuNiAxLjg1IDIuNUM4LjU4IDE5LjI1IDEwLjk1IDIxIDE0IDIxYzMuMDUgMCA1LjQyLTEuNzYgNy4wNy0zLjU4QTE3LjE4IDE3LjE4IDAgMDAyMy40NCAxNGE5LjQ3IDkuNDcgMCAwMC0uNTItLjkxYy0uNDEtLjY5LTEuMDQtMS42LTEuODUtMi41QzE5LjQyIDguNzUgMTcuMDUgNyAxNCA3Yy0zLjA1IDAtNS40MiAxLjc2LTcuMDcgMy41OEExNy4xOCAxNy4xOCAwIDAwNC41NiAxNHpNMjQgMTRsLjQ1LS4yMS0uMDEtLjAzYTcuMDMgNy4wMyAwIDAwLS4xNi0uMzJjLS4xMS0uMi0uMjgtLjUxLS41LS44Ny0uNDQtLjcyLTEuMS0xLjY5LTEuOTctMi42NUMyMC4wOCA3Ljk5IDE3LjQ1IDYgMTQgNmMtMy40NSAwLTYuMDggMi03LjggMy45MmExOC4xOCAxOC4xOCAwIDAwLTIuNjQgMy44NHYuMDJoLS4wMUw0IDE0bC0uNDUtLjIxLS4xLjIxLjEuMjFMNCAxNGwtLjQ1LjIxLjAxLjAzYTUuODUgNS44NSAwIDAwLjE2LjMyYy4xMS4yLjI4LjUxLjUuODcuNDQuNzIgMS4xIDEuNjkgMS45NyAyLjY1QzcuOTIgMjAuMDEgMTAuNTUgMjIgMTQgMjJjMy40NSAwIDYuMDgtMiA3LjgtMy45MmExOC4xOCAxOC4xOCAwIDAwMi42NC0zLjg0di0uMDJoLjAxTDI0IDE0em0wIDBsLjQ1LjIxLjEtLjIxLS4xLS4yMUwyNCAxNHptLTEwLTNhMyAzIDAgMTAwIDYgMyAzIDAgMDAwLTZ6bS00IDNhNCA0IDAgMTE4IDAgNCA0IDAgMDEtOCAweiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCUSDT.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.358Z","timestamp":1785136905358,"http_version":"HTTP/2","security_state":"secure","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 /crypto/XTVCUSDT.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"bbb4f6e32f1ca29b50e4d51d2ff90533\"\r\nlast-modified: Fri, 18 Nov 2022 08:44:56 GMT\r\ncdn-cachedat: 08/14/2025 09:10:44\r\nx-amz-id-2: PXmOOGMViiNnoCdov+1hcTtPGCBToIyWP2JF1AB05/93zZCqs0jn+SDzYbEK5GovJviIM1DiIws=\r\nx-amz-request-id: 2P81BRT97X8XR56M\r\nx-amz-meta-hash: bbb4f6e32f1ca29b50e4d51d2ff90533\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c428e86a05ddd70d598296ab91232d15\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCMONAD.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.520Z","timestamp":1785136905520,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCMONAD.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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://huobiget.com/","date":"2026-07-27T07:21:40.216Z","timestamp":1785136900216,"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/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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://huobiget.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: 48320\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:19 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:19 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:30:41 GMT\r\ncontent-type: font/woff2\r\nage: 411081\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":48320,"size_decoded":49133,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48320, version 1.0","md5":"dcf31ebe107435bd68e0164d59e19b87","sha1":"b68160c9333af833fe483928b3ef7128c07a56a0","sha256":"d8e4fe0452aa2076429a9bb5d8757d00a994dd95986cf950e9a1a371b9a072a0","sha512":"130cd52c3cccc36a7029bf92b2ddb363b8b36d206454aacc246739919552fccec5cacbad615ba4ac3817da3e83239371fe51324bdadd08357e3495087f62cb08","ssdeep":"768:Jzqdwl5YV7FVmpudK5a8dF8D8Z7J78VGnNFZEKh02dmSTPe9UiallHcOEi2c0NC1:9q+SYuMaVwZ7oGRNh02dd6UialBcOEpE","tlshash":"1623f218f29471f7edecd4d500a18c72baa528d442f116ed07b8d53ca36ca817a729fb","first_seen":"2025-09-17T00:07:53.723302Z","last_seen":"2026-08-10T09:50:12.954476Z","times_seen":324238,"resource_available":false,"data":"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"}},"time_used":79,"timings":{"blocked":12,"dns":0,"connect":0,"send":0,"wait":18,"receive":49,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/favicons/apple-touch-icon.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:41.236Z","timestamp":1785136901236,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/favicons/apple-touch-icon.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:41 GMT\r\nContent-Type: image/png\r\nContent-Length: 29815\r\nConnection: keep-alive\r\nLast-Modified: Sat, 28 Sep 2024 12:10:10 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":29815,"size_decoded":30026,"mime_type":"image/png","magic":"PNG image data, 178 x 283, 8-bit/color RGBA, non-interlaced","md5":"f158c33e64f3109220aca9fa6bdcfed0","sha1":"db044e6a27ccdb3831fb015902f88b1f040fb29f","sha256":"fe99d512c84442245a399dfe5abdd23ff1891db76c8ec352fffdee78a5b1d6e8","sha512":"8f92b93f2adc0589faf29bbbdf11258a37f0b973b4eca703ea531ad2d19fb804a0a6ac9b5ce19627e9dc4f8cca8efd05d5c06af3940c0d885c50225e84e3c0fb","ssdeep":"384:DNMKjG3DQwstXgmrMVJhMSpK6FCYT8mvuzaihncnAyvQ7cxa8CoRTghoPkrKCdpc:5G3Ps0JfI4nT1Ccnlg2anKkeND71","tlshash":"45d2e1bbe1327e8a4558325ab82e3dadf4482c8cd03948f7875dad281b3eba15043017","first_seen":"2026-07-27T04:48:05.173625Z","last_seen":"2026-07-27T07:23:37.170134Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":95,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":95,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/94948.0fc88fa63c054a8d7684.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.274Z","timestamp":1785136901274,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94948.0fc88fa63c054a8d7684.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 58\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-3a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 766088064026cc8141cf2b08e8b36c4f\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":58,"size_decoded":842,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5592fcacaacd1e8d44b8a3fbb380b590","sha1":"c1941ebad54702aac9c07152c40ea90c524ed011","sha256":"fe2e73df95dfdba476a9f13e9a0654010c8fbfe8266e38067621719d71bd179b","sha512":"87708aa11fe40f2364325f5d9f72a006dbfbfda851f696a21b2359441ee7c274d65722ab3df0dd59a66fcc87d7207404a4ba63b630689462beec57d1d7da5a3f","ssdeep":"","tlshash":"6aa002c61bf521e442796c0e8ec00307e4d144a100002dd78427c0700caef9f449031f","first_seen":"2026-07-17T03:30:51.219732Z","last_seen":"2026-08-10T05:01:44.245941Z","times_seen":301,"resource_available":false,"data":"LmJsb2NrSWNvbi1ndk9RVmlWNywuYmxvY2tJY29uLWd2T1FWaVY3IHN2Z3tkaXNwbGF5OmJsb2NrfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSTXS.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.516Z","timestamp":1785136905516,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSTXS.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.152Z","timestamp":1785136900152,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tradingview.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Fri, 12 Dec 2025 00:00:00 GMT","end":"Sun, 10 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"93:7A:32:54:9B:07:78:A4:C2:12:01:FE:F8:01:86:4E:F4:B0:E5:88","sha256":"DC:6B:BC:C2:10:66:1A:99:2E:BE:17:BD:A9:27:49:E3:D8:CA:EB:13:B6:95:9C:BF:68:76:22:17:62:D1:05:57"}}},"request":{"raw":"GET /widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en HTTP/1.1\r\nHost: s.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:19:42 GMT\r\nserver: tv\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nexpires: Mon, 27 Jul 2026 07:21:42 GMT\r\ncache-control: max-age=120\r\ncontent-security-policy: script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/ https://www.tradingview-widget.com/static/bundles/embed/ 'nonce-pRuWnLYX/SCfTRU0OB3mMw=='; object-src 'none'; default-src 'self' https: data: blob: wss: 'unsafe-inline'; 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: Hit from cloudfront\r\nvia: 1.1 9fde400234236c10982fe8b8a3ca9eb2.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN56-P1\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: fJg2QOtZH7Bj7NpqovqjULVYCh6n7YCv48l0Rxg0i9Kfw2DQWq4a2w==\r\nage: 118\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":"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":76549,"size_decoded":18289,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (17729)","md5":"cec8550ff8b677889169e592ed1fc25b","sha1":"65ead1968603c43597eb03553e86b649023bf207","sha256":"e8767e752672b3baa993d7ffe4f0ba4445877857e32e5fb6a081c5e202221a32","sha512":"33d4793bcbaa5fcb7369b92109817825b4dbab2113bd2889830a488dfd827dff9866c23444fc3caff0c943cf7d5a957d550f8311b480ead40581e8c9cb98e9ae","ssdeep":"1536:D8DCteAQTe8NzMob3e9c/1fuNogdf3y4UNogd1Wn+66ceuvRMg:D8DCteAQTe8NzMob3e9c/1fuNlUNl1Wb","tlshash":"fa73f753d80d8705d9968a557c33b202fd29036c859268947aecdcec149bec3f19bbbe","first_seen":"2026-07-27T07:22:35.617375Z","last_seen":"2026-07-27T07:22:35.617375Z","times_seen":1,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UcmFkaW5nVmlldyBDaGFydCBXaWRnZXQ8L3RpdGxlPgoKCjxsaW5rCglyZWw9ImNvbnZlcnNpb25zLWNvbmZpZyBwcmVmZXRjaCIKYXM9ImZldGNoIiBjcm9zc29yaWdpbglocmVmPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9jb252ZXJzaW9uc19lbi5qc29uIgo+CjxsaW5rCglyZWw9Im1ldHJpY3MtY29uZmlnIHByZWZldGNoIgphcz0iZmV0Y2giCWhyZWY9Imh0dHBzOi8vc2Nhbm5lci1iYWNrZW5kLnRyYWRpbmd2aWV3LmNvbS9lbnVtL29yZGVyZWQ/aWQ9bWV0cmljc19mdWxsX25hbWUsbWV0cmljcyZsYW5nPWVuJmxhYmVsLXByb2R1Y3Q9eXRtLW1ldHJpY3MtcGxhbi5qc29uIgoJY3Jvc3NvcmlnaW4KPjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3BpbmUtZmFjYWRlLnRyYWRpbmd2aWV3LmNvbS9waW5lLWZhY2FkZSIgY3Jvc3NvcmlnaW49InVzZS1jcmVkZW50aWFscyI+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NDY4MS5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMTgzNy5kMzY4Y2FhNjRkNDk0YTQwODdjYy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTUwOC43NjcyMTkyODNjNjVmNGQ0Y2E2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTUxOC4wODFmOTYzN2I5NGVlNjJhNmU2Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjYzMi41OTZlNTM0OGExNTM4YTE4ZmQ0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84NDA4LmRlNTM0NjYzZTA1MjA3NWJhMTJmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzExNDA5LmZmODRjZTRkNTIzZDM1NDBjN2IyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjAwLjcxZGEwNzZmYjAxOTdlNGQ1OTUzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg4OTA2LjBkNjUwNDY5YzljODQzNTc3YjQ3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzODA5LmMyYmIxNjIzY2VkNzdhZDA3ZjljLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg1NTEwLmRlODYyZjlkMjZkYjdjZjNjZDA4LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMzNzM1LjJjYjg0NGFkMmIwZjNjODkyMTYyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoKPHNjcmlwdCBub25jZT0icFJ1V25MWVgvU0NmVFJVME9CM21Ndz09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJwUnVXbkxZWC9TQ2ZUUlUwT0IzbU13PT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNjIzNTEuYjM4MmRhMTc0ZjA5N2EwZDBlNDMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NjI1OC4yODJlNjE0MWZjMDJhYzg1ZDBkNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTM2MjcuMTE1MTk1YjcyZjJkOTJjZWNiOWIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NDkxMS5mYTYxZDJhMjc0ZDQyMjQ0MzRjYS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDgyNS44YTkwYzBjM2ViZDQxM2ViOWM4MS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY5MzQuOTBlZGZlZjZjZTk4MzY5YWUwNGEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk1MjQ0LjlkYTg4OWMxMzZkMjUwNmEzZDgxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTM0MjYuMDA4M2QxNjNkNzI4YmZmNzg0ZDkuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYzMTYwLjJhM2EyMTE4NWZiY2M3MDc5ZGFlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTk0NjUuOGU5YzA2Yjc2YzlkNTBiYzI0MmIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX2FkdmFuY2VkX2NoYXJ0LjZkMDdlNGZkOGUzZjI3ODVjZjI1LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz48c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi42MjM1MS5iMzgyZGExNzRmMDk3YTBkMGU0My5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTYyNTguMjgyZTYxNDFmYzAyYWM4NWQwZDUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MzYyNy4xMTUxOTViNzJmMmQ5MmNlY2I5Yi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDQ5MTEuZmE2MWQyYTI3NGQ0MjI0NDM0Y2EuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0ODI1LjhhOTBjMGMzZWJkNDEzZWI5YzgxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM0LjkwZWRmZWY2Y2U5ODM2OWFlMDRhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTUyNDQuOWRhODg5YzEzNmQyNTA2YTNkODEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzkzNDI2LjAwODNkMTYzZDcyOGJmZjc4NGQ5LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjMxNjAuMmEzYTIxMTg1ZmJjYzcwNzlkYWUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzU5NDY1LjhlOWMwNmI3NmM5ZDUwYmMyNDJiLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfYWR2YW5jZWRfY2hhcnQuNmQwN2U0ZmQ4ZTNmMjc4NWNmMjUuanMiIGRlZmVyPjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9InBSdVduTFlYL1NDZlRSVTBPQjNtTXc9PSI+d2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMzUsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC4zfTsKd2luZG93LmluaXREYXRhID0ge307CgkJd2luZG93LlMzX0xPR09fU0VSVklDRV9CQVNFX1VSTCA9ICJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iOwoKd2luZG93LmluaXREYXRhID0geyJ3aWRnZXREZWZhdWx0cyI6eyJkZWZfaGlkZV9zeW1ib2xfZWRpdCI6dHJ1ZSwid2lkZ2V0RmVhdHVyZXNldCI6IndpZGdldCIsImJvZHlJZCI6IndpZGdldC1jb250YWluZXIiLCJib2R5Q2xhc3NlcyI6WyJjaGFydC1wYWdlIiwidW5zZWxlY3RhYmxlIiwib24td2lkZ2V0Il0sImNvbG9yVGhlbWUiOiJsaWdodCIsImxvY2FsZSI6ImVuIn19OwoJCXdpbmRvdy5pbml0RGF0YS5jdXJyZW50TG9jYWxlSW5mbyA9IHsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9OwoJCXdpbmRvdy5pbml0RGF0YS5zZXR0aW5ncyA9IHsnUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLycsICdTM19ORVdTX0lNQUdFX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vbmV3cy8nLCAnV0VCUEFDS19TVEFUSUNfUEFUSCc6ICdodHRwczovL3N0YXRpYy50cmFkaW5ndmlldy5jb20vc3RhdGljL2J1bmRsZXMvJywgJ1RSQURJTkdfVVJMUyc6IHsnZnJlZSc6ICdodHRwczovL3BhcGVydHJhZGluZy1mcmVlLnRyYWRpbmd2aWV3LmNvbScsICdwcm8nOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmcudHJhZGluZ3ZpZXcuY29tJ30sICdDT05URVNUU19VUkwnOiAnL3BhcGVyLXRyYWRpbmcnLCAnQ1JVRF9TVE9SQUdFX1VSTCc6ICdodHRwczovL2NydWQtc3RvcmFnZS50cmFkaW5ndmlldy5jb20nfTs8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJwUnVXbkxZWC9TQ2ZUUlUwT0IzbU13PT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBlPXt3aGl0ZWxhYmVsOiEwLHBlcm1pc3Npb25PdmVycmlkZXM6ITAsbGlua0NhcHR1cmluZ0FsbG93ZWQ6ITAsc3ltYm9sX3NlYXJjaF9kZWZhdWx0X2V4Y2hhbmdlOiEwLHN5bWJvbF9zZWFyY2hfYWxsb3dlZF9leGNoYW5nZXM6ITB9O2NvbnN0IHQ9d2luZG93O3QuaW5pdERhdGE9dC5pbml0RGF0YXx8e307Y29uc3QgYT0vXCsvZyxuPS88XC8/W14+XSsoPnwkKS9nLHM9ZT0+ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZShhLCIgIikpLnJlcGxhY2UobiwiIiksbz10LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSksYz0vKFteJj1dKyk9PyhbXiZdKikvZyxpPXt9O2xldCBsLHI9Yy5leGVjKG8pO2Zvcig7bnVsbCE9PXI7KWlbcyhyWzFdKV09cyhyWzJdKSxyPWMuZXhlYyhvKTt0cnl7bD1KU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh0LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSksIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bHx8KGw9e30pfWNhdGNoKGUpe2w9e319dmFyIGg7dC5pbml0RGF0YS5xdWVyeVNldHRpbmdzPWksdC5pbml0RGF0YS5oYXNoU2V0dGluZ3M9KGg9bCxPYmplY3Qua2V5cyhoKS5mb3JFYWNoKCh0PT57ZVt0XSYmZGVsZXRlIGhbdF19KSksaCl9KSgpOwoJPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0icFJ1V25MWVgvU0NmVFJVME9CM21Ndz09Ij53aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCQl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKd2luZG93LlBJTkVfVVJMID0gImh0dHBzOi8vcGluZS1mYWNhZGUudHJhZGluZ3ZpZXcuY29tL3BpbmUtZmFjYWRlIjsKCgl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gW3dpbmRvdy5pbml0RGF0YS53aWRnZXREZWZhdWx0cy53aWRnZXRGZWF0dXJlc2V0XQoJCS5jb25jYXQoSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEucXVlcnlTZXR0aW5ncy5lbmFibGVkX2ZlYXR1cmVzIHx8ICJbXSIpKQoJCS5jb25jYXQoSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMuZW5hYmxlZF9mZWF0dXJlcyB8fCAiW10iKSkKCTsKCgl3aW5kb3cuX19pbml0aWFsRGlzYWJsZWRGZWF0dXJlc2V0cyA9IEpTT04ucGFyc2Uod2luZG93LmluaXREYXRhLnF1ZXJ5U2V0dGluZ3MuZGlzYWJsZWRfZmVhdHVyZXMgfHwgIltdIikKCQkuY29uY2F0KEpTT04ucGFyc2Uod2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLmRpc2FibGVkX2ZlYXR1cmVzIHx8ICJbXSIpKQoJOwoKCXdpbmRvdy5fX2RlZmF1bHRzT3ZlcnJpZGVzID0gSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEucXVlcnlTZXR0aW5ncy5vdmVycmlkZXMgfHwgd2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLm92ZXJyaWRlcyB8fCAie30iKTsKCgl3aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7Cgl3aW5kb3cuU1NfRE9NQUlOX1BBUkFNRVRFUiA9ICJwcm9kdWN0aW9uIjsKCXdpbmRvdy5XSURHRVRfU0hFUklGRl9IT1NUID0gImh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbSI7Cgl3aW5kb3cuVEVMRU1FVFJZX1dTX0VSUk9SX0xPR1NfVEhSRVNIT0xEID0gMTAwOwoJd2luZG93LlBVU0hTVFJFQU1fVVJMID0gIndzczovL3B1c2hzdHJlYW0udHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5DSEFSVEVWRU5UU19VUkwgPSAiaHR0cHM6Ly9jaGFydGV2ZW50cy1yZXV0ZXJzLnRyYWRpbmd2aWV3LmNvbS8iOwoJd2luZG93LkVDT05PTUlDX0NBTEVOREFSX1VSTCA9ICJodHRwczovL2Vjb25vbWljLWNhbGVuZGFyLnRyYWRpbmd2aWV3LmNvbS8iOwoJd2luZG93LkVBUk5JTkdTX0NBTEVOREFSX1VSTCA9ICJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5ORVdTX1NFUlZJQ0VfVVJMID0gImh0dHBzOi8vbmV3cy1oZWFkbGluZXMudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5ORVdTX01FRElBVE9SX1VSTCA9ICJodHRwczovL25ld3MtbWVkaWF0b3IudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5ORVdTX1NUUkVBTUlOR19VUkwgPSAiaHR0cHM6Ly9ub3RpZmljYXRpb25zLnRyYWRpbmd2aWV3LmNvbS9uZXdzL2NoYW5uZWwiOwoJd2luZG93LlNDUkVFTkVSX0hPU1QgPSAiaHR0cHM6Ly9zY2FubmVyLnRyYWRpbmd2aWV3LmNvbSI7Cgl3aW5kb3cuQ09VTlRSWV9DT0RFX1RPX0RFRkFVTFRfRVhDSEFOR0UgPSB7ImVuIjoiVVMiLCJ1cyI6IlVTIiwiYWUiOiJBRFgiLCJhciI6IkJDQkEiLCJhdCI6IlZJRSIsImF1IjoiQVNYIiwiYmQiOiJEU0VCRCIsImJlIjoiRVVST05FWFRfQlJVIiwiYmciOiJCU0VTT0YiLCJiaCI6IkJBSFJBSU4iLCJiciI6IkJNRkJPVkVTUEEiLCJjYSI6IlRTWCIsImNoIjoiU0lYIiwiY2wiOiJCQ1MiLCJ6aF9DTiI6IlNTRSIsImNvIjoiQlZDIiwiaHIiOiJaU0UiLCJjeSI6IkNTRUNZIiwiY3oiOiJQU0VDWiIsImRlX0RFIjoiWEVUUiIsImRrIjoiT01YQ09QIiwiZWUiOiJPTVhUU0UiLCJlZyI6IkVHWCIsImVzIjoiQk1FIiwiZmkiOiJPTVhIRVgiLCJmciI6IkVVUk9ORVhUX1BBUiIsImdyIjoiQVRIRVgiLCJoayI6IkhLRVgiLCJodSI6IkJFVCIsImlkIjoiSURYIiwiaWUiOiJFVVJPTkVYVERVQiIsImhlX0lMIjoiVEFTRSIsImluIjoiQlNFIiwiaXMiOiJPTVhJQ0UiLCJpdCI6Ik1JTCIsImphIjoiVFNFIiwia2UiOiJOU0VLRSIsImtyIjoiS1JYIiwia3ciOiJLU0UiLCJsayI6IkNTRUxLIiwibHQiOiJPTVhWU0UiLCJsdiI6Ik9NWFJTRSIsImx1IjoiTFVYU0UiLCJteCI6IkJNViIsIm1hIjoiQ1NFTUEiLCJtc19NWSI6Ik1ZWCIsIm5nIjoiTlNFTkciLCJubCI6IkVVUk9ORVhUX0FNUyIsIm5vIjoiT1NMIiwibnoiOiJOWlgiLCJwZSI6IkJWTCIsInBoIjoiUFNFIiwicGsiOiJQU1giLCJwbCI6IkdQVyIsInB0IjoiRVVST05FWFRfTElTIiwicWEiOiJRU0UiLCJycyI6IkJFTEVYIiwicnUiOiJSVVMiLCJybyI6IkJWQiIsImFyX0FFIjoiVEFEQVdVTCIsInNlIjoiTkdNIiwic2ciOiJTR1giLCJzaSI6IkxKU0UiLCJzayI6IkJTU0UiLCJ0aF9USCI6IlNFVCIsInRuIjoiQlZNVCIsInRyIjoiQklTVCIsInpoX1RXIjoiVFdTRSIsImdiIjoiTFNFIiwidmUiOiJCVkNWIiwidmlfVk4iOiJIT1NFIiwiemEiOiJKU0UifTsKCXdpbmRvdy5QSU5FX1VSTCA9ICJodHRwczovL3BpbmUtZmFjYWRlLnRyYWRpbmd2aWV3LmNvbS9waW5lLWZhY2FkZSI7Cgl3aW5kb3cuVEVMRU1FVFJZX0hPU1RTID0geyJjaGFydHMiOnsiZnJlZSI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9mcmVlIiwicHJvIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3BybyIsIndpZGdldCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS93aWRnZXQiLCJpb3NfZnJlZSI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9jaGFydHMtaW9zLWZyZWUiLCJpb3NfcHJvIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1pb3MtcHJvIiwiYW5kcm9pZF9mcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1hbmRyb2lkLWZyZWUiLCJhbmRyb2lkX3BybyI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9jaGFydHMtYW5kcm9pZC1wcm8ifSwiYWxlcnRzIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9hbGVydHMifSwibGluZV90b29sc19zdG9yYWdlIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9saW5lLXRvb2xzLXN0b3JhZ2UifSwibmV3cyI6eyJhbGwiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vbmV3cyJ9LCJwaW5lIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9waW5lIn0sImNhbGVuZGFycyI6eyJhbGwiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vY2FsZW5kYXJzIn0sInNpdGUiOnsiZnJlZSI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9zaXRlLWZyZWUiLCJwcm8iOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vc2l0ZS1wcm8iLCJ3aWRnZXQiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vc2l0ZS13aWRnZXQifSwidHJhZGluZyI6eyJhbGwiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vdHJhZGluZyJ9fTsKCgkvLyBSRUNBUFRDSEFfU0lURV9LRVkgaXMgTk9UIHVudXNlZCEgU2VlIFRWLTEyNjk5LCBUVi0xMzAwMSBhbmQgc3RhdGljL2pzL2RpYWxvZ3Mvc2lnbi1tb2RhbC9zaWduLW1vZGFsLWltcGwuZXM2Cgl3aW5kb3cuUkVDQVBUQ0hBX1NJVEVfS0VZID0gIjZMY3F2MjRVQUFBQUFJdmtFbER2d1B4RDBSOHNjRG5NcGl6YUJjSFEiOwoJd2luZG93LlJFQ0FQVENIQV9TSVRFX0tFWV9WMyA9ICI2TGVRTUhnVUFBQUFBS0NZY3RpQkdXWXJYTl90dnJPRFNaN2k5ZExBIjsKCgl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKCXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjM1LCJjaGFydF9hdXRvc2F2ZV81bWluIjoxLjAsImNoYXJ0X2F1dG9zYXZlXzMwbWluIjoxLjAsInBlcmZvcm1hbmNlX3Rlc3RfbW9kZSI6MS4wLCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCI6MS4wLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzYwbWluIjoxLjAsInN1cHBvcnRfcGVyc2lzdGVudF9sb2dzIjoxLjAsIm5ld19zdG9yYWdlX3N1YnNjcmlwdGlvbl91cmwiOjEuMCwicmVtb3ZlX2FuY2hvcmVkX3RleHQiOjEuMCwiZW5hYmxlX3N0ZXBfYnlfc3RlcF9oaW50c19mb3JfZHJhd2luZ3MiOjEuMCwicHVzaHN0cmVhbV9iYXNpY190ZWxlbWV0cnkiOjEuMCwiYWxsb3dfYnJhY2tldHNfcHJvZml0X2xvc3MiOjEuMCwiZW5hYmxlX3RyYWRlZF9jb250ZXh0X2xpbmtpbmciOjEuMCwib3JkZXJfY29udGV4dF92YWxpZGF0aW9uX2luX2luc3RhbnRfbW9kZSI6MS4wLCJhbGVydHMtb24tZnVuZGFtZW50YWwtbWV0cmljcyI6MS4wLCJhbGVydHMtbm90aWZpY2F0aW9uLXNjaGVkdWxlIjoxLjAsImFsZXJ0cy13YXRjaGxpc3QtZXh0ZW5kZWQtaG91cnMiOjEuMCwiZW5hYmxlX3N5bWJvbF9jaGFuZ2VfcmVzdHJpY3Rpb25fb25fd2lkZ2V0cyI6MS4wLCJlbmFibGVfYXN4X3N5bWJvbF9yZXN0cmljdGlvbiI6MS4wLCJzeW1waG9ueV9hbGxvd19ub25fcGFydGl0aW9uZWRfY29va2llX29uX29sZF9zeW1waG9ueSI6MS4wLCJzeW1waG9ueV9ub3RpZmljYXRpb25fYmFkZ2VzIjoxLjAsInN5bXBob255X3VzZV9hZGtfZm9yX3VwZ3JhZGVfcmVxdWVzdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF90cmFja2luZyI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9zb2Z0X2xpbWl0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X2hhcmRfbGltaXQiOjEuMCwidGVsZWdyYW1fbWluaV9hcHBfcmVkdWNlX3NuYXBzaG90X3F1YWxpdHkiOjEuMCwibmV3c19zeW1ib2xfb3ZlcnZpZXdfa2V5X2ZhY3RzIjoxLjAsInRpbWVvdXRfZGphbmdvX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb191c2Vyc2V0dGluZ3NfZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX2NoYXJ0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fc3ltYm9sc19saXN0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fbWluZHNfZGIiOjAuMDUsInRpbWVvdXRfZGphbmdvX2xvZ2dpbmdfZGIiOjAuMjUsImRpc2FibGVfc2VydmljZXNfbW9uaXRvcl9tZXRyaWNzIjoxLjAsImVuYWJsZV9zaWduaW5fcmVjYXB0Y2hhIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sX2NvbW1lbnRzIjoxLjAsImVuYWJsZV9zcGFtZGV0ZWN0b3JtbF9jaGF0IjoxLjAsImVuYWJsZV9taW5kc19zcGFtZGV0ZWN0b3JtbCI6MS4wLCJiYWNrZW5kLWNvbm5lY3Rpb25zLWluLXRva2VuIjoxLjAsIm9uZV9jb25uZWN0aW9uX3dpdGhfZXhjaGFuZ2VzIjoxLjAsIm1vYmlsZS1hZHMtaW9zIjoxLjAsIm1vYmlsZS1hZHMtYW5kcm9pZCI6MS4wLCJnb29nbGUtb25lLXRhcC1zaWduaW4iOjEuMCwiYnJhaW50cmVlLWdvcHJvLWluLW9yZGVyLWRpYWxvZyI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5IjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5IjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktZnJvbS1pb3MtYXBwIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktdHJpYWwiOjEuMCwidHJpcGxlYS1wYXltZW50cyI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheS10cmlhbCI6MS4wLCJicmFpbnRyZWUtb25lLXVzZC12ZXJpZmljYXRpb24iOjEuMCwiYnJhaW50cmVlLTNkcy1lbmFibGVkIjoxLjAsImJyYWludHJlZS0zZHMtc3RhdHVzLWNoZWNrIjoxLjAsImJyYWludHJlZS1hZGRpdGlvbmFsLWNhcmQtY2hlY2tzLWZvci10cmlhbCI6MS4wLCJicmFpbnRyZWUtaW5zdGFudC1zZXR0bGVtZW50IjoxLjAsImJyYWludHJlZV9yZWN1cnJpbmdfYmlsbGluZ19zY2hlZHVsZXJfc3Vic2NyaXB0aW9uIjoxLjAsImNoZWNrb3V0X21hbnVhbF9jYXB0dXJlX3JlcXVpcmVkIjoxLjAsImNoZWNrb3V0LXN1YnNjcmlwdGlvbnMiOjEuMCwiY2hlY2tvdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY29tbWVyY2lhbF9jYXJkX3RyaWFsIjoxLjAsImVuYWJsZV9wYXltZW50c18zZHNfb3B0aW1pemF0aW9uIjoxLjAsImNvdW50cnlfb2ZfaXNzdWFuY2VfdnNfYmlsbGluZ19jb3VudHJ5IjoxLjAsImNoZWNrb3V0X3Nob3dfaW5zdGVhZF9vZl9icmFpbnRyZWUiOjEuMCwiY2hlY2tvdXQtM2RzIjoxLjAsImNoZWNrb3V0LXBheXBhbCI6MS4wLCJjaGVja291dF9pbmNsdWRlX2FjY291bnRfaG9sZGVyIjoxLjAsImNoZWNrb3V0LXBheXBhbC10cmlhbCI6MS4wLCJhbm51YWxfdG9fbW9udGhseV9kb3duZ3JhZGVfYXR0ZW1wdCI6MS4wLCJyYXpvcnBheV90cmlhbF8xMF9pbnIiOjEuMCwicmF6b3JwYXktY2FyZC1vcmRlci10b2tlbi1zZWN0aW9uIjoxLjAsInJhem9ycGF5LWNhcmQtc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS11cGktc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS1zMy1pbnZvaWNlLXVwbG9hZCI6MS4wLCJyYXpvcnBheV9pbmNsdWRlX2RhdGVfb2ZfYmlydGgiOjEuMCwiZGxvY2FsLXBheW1lbnRzIjoxLjAsInJldm9sdXQtcGF5LXBheW1lbnRzIjoxLjAsInJldm9sdXQtY2FyZC1wYXltZW50cyI6MC41LCJkbG9jYWwtcGl4LWF1dG9tYXRpY28iOjEuMCwiYnJhaW50cmVlX3RyYW5zYWN0aW9uX3NvdXJjZSI6MS4wLCJ2ZXJ0ZXgtdGF4IjoxLjAsInZlcnRleC10YXgtZml4IjoxLjAsInJlY2VpcHRfaW5fZW1haWxzIjoxLjAsImFkd29yZHMtYW5hbHl0aWNzIjoxLjAsImNtMzYwLWFuYWx5dGljcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfaW9zIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9hbmRyb2lkIjoxLjAsInJlcXVpcmVkX2FncmVlbWVudF9mb3JfcnQiOjEuMCwiY2hlY2tfbWFya2V0X2RhdGFfbGltaXRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2RhdGEiOjEuMCwiZm9yY2VfdG9fdXBncmFkZV90b19leHBlcnQiOjEuMCwic2VuZF90cmFkZXZhbl9pbnZvaWNlIjoxLjAsInNob3dfcGVwZV9hbmltYXRpb24iOjEuMCwic2VuZF9uZXh0X3BheW1lbnRfaW5mb19yZWNlaXB0IjoxLjAsInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iOjEuMCwic2NyZWVuZXItYWxlcnRzLXJlYWQtb25seSI6MS4wLCJzY3JlZW5lcl9ib25kX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9zdG9ja19haV9maWx0ZXJzX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfaXNfYWxsb3dlZF90b19jcmVhdGVfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JhdGluZ19jb2x1bW5zX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3NvcnRpbmdfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfZ3JvdXBfYnlfaXNpbl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zeW1ib2xfc2VhcmNoX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JlZ2lzdHJhdGlvbl9iYW5uZXJfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNlc190cmFja2luZyI6MS4wLCJzZW5kX2ZpbmFuY2lhbF9ub3RpZmljYXRpb25zIjoxLjAsInNwYXJrX3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya19jYXRlZ29yeV90cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfdGFnc190cmFuc2xhdGlvbnMiOjEuMCwicHJvX3BsYW5faW5pdGlhbF9yZWZ1bmRzX2Rpc2FibGVkIjoxLjAsInByZXZpb3VzX21vbm9wcm9kdWN0X3B1cmNoYXNlc19yZWZ1bmRzX2VuYWJsZWQiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9ucyI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zX2ZlZWQiOjEuMCwiZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJldGhvY2FfYWxlcnRfbm90aWZpY2F0aW9uX3dlYmhvb2siOjEuMCwiaGlkZV9zdXNwaWNpb3VzX3VzZXJzX2lkZWFzIjoxLjAsImRpc2FibGVfcHVibGlzaF9zdHJhdGVneV9yYW5nZV9iYXNlZF9jaGFydCI6MS4wLCJyZXN0cmljdF9zaW11bHRhbmVvdXNfcmVxdWVzdHMiOjEuMCwibG9naW5fZnJvbV9uZXdfZGV2aWNlX2VtYWlsIjoxLjAsInNzcl93b3JrZXJfbm93YWl0IjoxLjAsImJyb2tlcl9BMUNBUElUQUwiOjEuMCwiYnJva2VyX0FDVElWVFJBREVTIjoxLjAsImJyb2tlcl9BTENIRU1ZTUFSS0VUUyI6MS4wLCJicm9rZXJfQUxJQ0VCTFVFIjoxLjAsImhpZGVfQUxPUl9vbl9pb3MiOjEuMCwiaGlkZV9BTE9SX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9BTE9SX29uX21vYmlsZV93ZWIiOjEuMCwiYWxvci1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0FMUEFDQSI6MS4wLCJicm9rZXJfQUxSQU1aIjoxLjAsImJyb2tlcl9BTVAiOjEuMCwiYnJva2VyX0FOR0VMT05FIjoxLjAsImJyb2tlcl9BVkFfRlVUVVJFUyI6MS4wLCJBVkFfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9CMlBSSU1FIjoxLjAsImJyb2tlcl9CQUpBSiI6MS4wLCJicm9rZXJfQkVZT05EIjoxLjAsImJyb2tlcl9CSU5BTkNFIjoxLjAsImVuYWJsZV9iaW5hbmNlYXBpc19iYXNlX3VybCI6MS4wLCJicm9rZXJfQklOR0JPTiI6MS4wLCJicm9rZXJfQklUQVpaQSI6MS4wLCJicm9rZXJfQklUR0VUIjoxLjAsImJyb2tlcl9CSVRNRVgiOjEuMCwiYnJva2VyX0JJVFNUQU1QIjoxLjAsImJyb2tlcl9CTEFDS0JVTEwiOjEuMCwiYnJva2VyX0JMVUVCRVJSWU1BUktFVFMiOjEuMCwiYnJva2VyX0JUQ0MiOjEuMCwiYnJva2VyX0JZQklUIjoxLjAsImJyb2tlcl9DQVBJVEFMQ09NIjoxLjAsImJyb2tlcl9DQVBUUkFERVIiOjEuMCwiQ0FQVFJBREVSX3NlcGFyYXRlX2ludGVncmF0aW9uX21pZ3JhdGlvbl93YXJuaW5nIjoxLjAsImJyb2tlcl9DRkkiOjEuMCwiYnJva2VyX0NHU0kiOjEuMCwiYnJva2VyX0NJVFlJTkRFWCI6MS4wLCJjaXR5aW5kZXhfc3ByZWFkYmV0dGluZyI6MS4wLCJDTEVBUlNUUkVFVF9iZXRhIjoxLjAsImJyb2tlcl9DTUNNQVJLRVRTIjoxLjAsImJyb2tlcl9DT0JSQVRSQURJTkciOjEuMCwiYnJva2VyX0NPSU5CQVNFIjoxLjAsImNvaW5iYXNlX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJjb2luYmFzZV9jYW5jZWxfcG9zaXRpb25fYnJhY2tldHMiOjEuMCwiYnJva2VyX0NPSU5KQVIiOjEuMCwiQ09JTkpBUl9iZXRhIjoxLjAsImJyb2tlcl9DT0lOU1dJVENIIjoxLjAsImJyb2tlcl9DT0lOVyI6MS4wLCJicm9rZXJfQ09MTUVYIjoxLjAsImhpZGVfQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiY3FnLXJlYWx0aW1lLWJhbmR3aWR0aC1saW1pdCI6MS4wLCJicm9rZXJfQ1JZUFRPQ09NIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25faW9zIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0NYTSI6MS4wLCJicm9rZXJfREFPTCI6MS4wLCJicm9rZXJfREFSV0lORVgiOjEuMCwiREFSV0lORVhfYmV0YSI6MS4wLCJicm9rZXJfREVMVEEiOjEuMCwiYnJva2VyX0RFUkFZQUgiOjEuMCwiYnJva2VyX0RFUklWIjoxLjAsImJyb2tlcl9ESEFOIjoxLjAsImJyb2tlcl9ETlNFIjoxLjAsImJyb2tlcl9ET1JNQU4iOjEuMCwiaGlkZV9EVU1NWV9vbl9pb3MiOjEuMCwiaGlkZV9EVU1NWV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRFVNTVlfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRUFTWU1BUktFVFMiOjEuMCwiYnJva2VyX0VDT1ZBTE9SRVMiOjEuMCwiYnJva2VyX0VER0VDTEVBUiI6MS4wLCJlZGdlY2xlYXJfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfRUlHSFRDQVAiOjEuMCwiYnJva2VyX0VSUkFOVEUiOjEuMCwiYnJva2VyX0VTQUZYIjoxLjAsIkZJREVMSVRZX2JldGEiOjEuMCwiRklERUxJVFlfdXNfcmVsZWFzZSI6MC4yNSwiZmlkZWxpdHlfc2VjdXJpdHlfdG9rZW4iOjEuMCwiYnJva2VyX0ZPUkVYQ09NIjoxLjAsImZvcmV4Y29tX3Nlc3Npb25fdjIiOjEuMCwiYnJva2VyX0ZQTUFSS0VUUyI6MS4wLCJoaWRlX0ZUWF9vbl9pb3MiOjEuMCwiaGlkZV9GVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImZ0eF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZVU0lPTk1BUktFVFMiOjEuMCwiZnhjbV9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GWENNIjoxLjAsImhpZGVfRlhPUEVOX29uX2lvcyI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlhPUEVOX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0ZYUFJPIjoxLjAsImJyb2tlcl9GWFRGIjoxLjAsImJyb2tlcl9GWUVSUyI6MS4wLCJicm9rZXJfR0FURSI6MS4wLCJicm9rZXJfR0JFQlJPS0VSUyI6MS4wLCJnZW1pbmktYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HRU5JQUxJTlZFU1RJTUVOVE9TIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25faW9zIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX21vYmlsZV93ZWIiOjEuMCwiZ2xvYmFscHJpbWUtYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HT01BUktFVFMiOjEuMCwiYnJva2VyX0dPVFJBREUiOjEuMCwiZ290cmFkZV9lbmFibGVfc3RyZWFtaW5nX2VuZHBvaW50cyI6MS4wLCJicm9rZXJfSEVSRU5ZQSI6MS4wLCJoaWRlX0hUWF9vbl9pb3MiOjEuMCwiaGlkZV9IVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0hUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9JQktSIjoxLjAsImNoZWNrX2lia3Jfc2lkZV9tYWludGVuYW5jZSI6MS4wLCJpYmtyX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3BhcmFsbGVsX3Byb3ZpZGVyX2luaXRpYWxpemF0aW9uIjoxLjAsImlia3Jfd3NfYWNjb3VudF9zdW1tYXJ5IjoxLjAsImlia3Jfd3Nfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3N1YnNjcmliZV90b19vcmRlcl91cGRhdGVzX2ZpcnN0IjoxLjAsImlia3Jfd3NfYWNjb3VudF9sZWRnZXIiOjEuMCwiYnJva2VyX0lCUk9LRVIiOjEuMCwiYnJva2VyX0lDTUFSS0VUUyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0FTSUMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19FVSI6MS4wLCJicm9rZXJfSUciOjEuMCwiYnJva2VyX0lORFNUT0NLUyI6MS4wLCJicm9rZXJfSU5GT1lBVElSSU0iOjEuMCwiYnJva2VyX0lOTk9WRVNUWCI6MS4wLCJicm9rZXJfSU5URVJBQ1RJVkVJTCI6MS4wLCJicm9rZXJfSU5WRVNUUkFERSI6MS4wLCJJTlZFU1RSQURFX2JldGEiOjEuMCwiYnJva2VyX0lST05CRUFNIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tJV09PTSI6MS4wLCJraXdvb21fdXNlX3NlcGFyYXRlX3N0cmVhbWluZ191cmwiOjEuMCwiYnJva2VyX0tPVEFLIjoxLjAsImhpZGVfS09UQUtfb25faW9zIjoxLjAsImhpZGVfS09UQUtfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0tPVEFLX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tSQUtFTiI6MS4wLCJoaWRlX0tSQUtFTl9vbl9pb3MiOjEuMCwiaGlkZV9LUkFLRU5fb25fYW5kcm9pZCI6MS4wLCJLUkFLRU5fYmV0YSI6MS4wLCJrcmFrZW5fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9LU0VDVVJJVElFUyI6MS4wLCJicm9rZXJfTElCRVJBVE9SIjoxLjAsImJyb2tlcl9NRVhDIjoxLjAsImJyb2tlcl9NRVhFTSI6MS4wLCJicm9rZXJfTUlEQVMiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX01PT01PTyI6MS4wLCJicm9rZXJfTU9USUxBTE9TV0FMIjoxLjAsImJyb2tlcl9OSU5KQVRSQURFUiI6MS4wLCJicm9rZXJfT0FOREEiOjEuMCwib2FuZGFfc2VydmVyX2xvZ2dpbmciOjEuMCwib2FuZGFfb2F1dGhfbXVsdGlwbGV4aW5nIjoxLjAsImJyb2tlcl9PS1giOjEuMCwiYnJva2VyX09QT0ZJTkFOQ0UiOjEuMCwiYnJva2VyX09QVElNVVMiOjEuMCwiYnJva2VyX09TTUFOTEkiOjEuMCwiYnJva2VyX09TTUFOTElGWCI6MS4wLCJwYXBlcl9mb3JjZV9jb25uZWN0X3B1c2hzdHJlYW0iOjEuMCwicGFwZXJfc3ViYWNjb3VudF9jdXN0b21fY3VycmVuY3kiOjEuMCwicGFwZXJfb3V0c2lkZV9ydGgiOjEuMCwiYnJva2VyX1BBWVRNIjoxLjAsImJyb2tlcl9QRVBQRVJTVE9ORSI6MS4wLCJicm9rZXJfUEhFTUVYIjoxLjAsImJyb2tlcl9QSElMTElQQ0FQSVRBTF9UUiI6MS4wLCJicm9rZXJfUEhJTExJUE5PVkEiOjEuMCwiYnJva2VyX1BMVVM1MDAiOjEuMCwicGx1czUwMF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIlBMVVM1MDBVU19iZXRhIjoxLjAsImJyb2tlcl9QVVJQTEVUUkFESU5HIjoxLjAsImJyb2tlcl9RVUVTVFJBREUiOjEuMCwiYnJva2VyX1JBVkFCVVJTQVRJTCI6MS4wLCJSQVZBQlVSU0FUSUxfYmV0YSI6MS4wLCJicm9rZXJfUklZQURDQVBJVEFMIjoxLjAsImJyb2tlcl9ST0JPTUFSS0VUUyI6MS4wLCJicm9rZXJfUkVQTEFZQlJPS0VSIjoxLjAsImJyb2tlcl9TQU1VRUwiOjEuMCwiYnJva2VyX1NBWE9CQU5LIjoxLjAsImJyb2tlcl9TSEFSRU1BUktFVCI6MS4wLCJicm9rZXJfU0tJTExJTkciOjEuMCwiYnJva2VyX1NQUkVBREVYIjoxLjAsImJyb2tlcl9TV0lTU1FVT1RFIjoxLjAsImJyb2tlcl9TVE9ORVgiOjEuMCwiYnJva2VyX1RBU1RZRlgiOjEuMCwiYnJva2VyX1RBU1RZVFJBREUiOjEuMCwiYnJva2VyX1RISU5LTUFSS0VUUyI6MS4wLCJ0aGlua21hcmtldHNfYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJicm9rZXJfVElDS01JTEwiOjEuMCwiaGlkZV9USUdFUl9vbl9pb3MiOjEuMCwiaGlkZV9USUdFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVElHRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfVFJBREVOQVRJT04iOjEuMCwiYnJva2VyX1RSQURFU1RBVElPTiI6MS4wLCJ0cmFkZXN0YXRpb25fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInRyYWRlc3RhdGlvbl9hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsInRyYWRlc3RhdGlvbl9zdHJlYW1pbmdfc2VydmVyX2xvZ2dpbmciOjEuMCwiYnJva2VyX1RSQURFWkVSTyI6MS4wLCJicm9rZXJfVFJBRElFUiI6MS4wLCJicm9rZXJfVFJBRElFUl9GVVRVUkVTIjoxLjAsInRyYWRpZXJfZnV0dXJlc19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9UUkFET1ZBVEUiOjEuMCwiaGlkZV9UUkFEVV9vbl9pb3MiOjEuMCwiaGlkZV9UUkFEVV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVFJBRFVfb25fbW9iaWxlX3dlYiI6MS4wLCJ0cmFkdV9zcHJlYWRfYmV0IjoxLjAsImJyb2tlcl9UUklWRSI6MS4wLCJicm9rZXJfVkFOVEFHRSI6MS4wLCJicm9rZXJfVkVMT0NJVFkiOjEuMCwiYnJva2VyX1dFQlVMTCI6MS4wLCJicm9rZXJfV0VCVUxMSkFQQU4iOjEuMCwiYnJva2VyX1dFQlVMTFBBWSI6MS4wLCJicm9rZXJfV0VCVUxMVUsiOjEuMCwiYnJva2VyX1dISVRFQklUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1QiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVF9GVVRVUkVTIjoxLjAsIldIU0VMRklOVkVTVF9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1hDVUJFIjoxLjAsImJyb2tlcl9ZTEciOjEuMCwiYnJva2VyX2lkX3Nlc3Npb24iOjEuMCwiZGlzYWxsb3dfY29uY3VycmVudF9zZXNzaW9ucyI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXJfZm9yX3VudGVzdGVkX2Jyb2tlcnMiOjEuMCwibW9iaWxlX3RyYWRpbmdfd2ViIjoxLjAsIm1vYmlsZV90cmFkaW5nX2lvcyI6MS4wLCJtb2JpbGVfdHJhZGluZ19hbmRyb2lkIjoxLjAsImNvbnRpbnVvdXNfZnJvbnRfY29udHJhY3RfdHJhZGluZyI6MS4wLCJ0cmFkaW5nX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJvYXV0aDJfY29kZV9mbG93X3Byb3ZpZGVyX3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9vYXV0aDJfY29kZV9mbG93X211bHRpcGxleGluZyI6MS4wLCJyZXN0X2xvZ291dF9vbl80MjkiOjEuMCwicmV2aWV3X3BvcHVwX29uX2NoYXJ0IjoxLjAsInNob3dfY29uY3VycmVudF9jb25uZWN0aW9uX3dhcm5pbmciOjEuMCwiZW5hYmxlX3RyYWRpbmdfc2VydmVyX2xvZ2dlciI6MS4wLCJvcmRlcl9wcmVzZXRzIjoxLjAsIm9yZGVyX3RpY2tldF9yZXNpemFibGVfZHJhd2VyX29uIjoxLjAsInJlc3RfdXNlX2FzeW5jX21hcHBlciI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9iYW5uZXJfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2ciOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2dfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fbGVhZGVyYm9hcmQiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fcHJldmlvdXNfY29tcGV0aXRpb25zIjoxLjAsImFtcF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJsdWVsaW5lX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiZG9ybWFuX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiaXJvbmJlYW1fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJvcHRpbXVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwic3RvbmV4X29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwieWxnX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwidHJhZGluZ19nZW5lcmFsX2V2ZW50c19nYV90cmFja2luZyI6MS4wLCJyZXBsYXlfcmVzdWx0X3NoYXJpbmciOjEuMCwicmVwbGF5X3RyYWRpbmdfYnJhY2tldHMiOjEuMCwiaGlkZV9hbGxfYnJva2Vyc19idXR0b25faW5faW9zX2FwcCI6MS4wLCJmb3JjZV9tYXhfYWxsb3dlZF9wdWxsaW5nX2ludGVydmFscyI6MS4wLCJwYXBlcl9kZWxheV90cmFkaW5nIjoxLjAsImVuYWJsZV9maXJzdF90b3VjaF9pc19zZWxlY3Rpb24iOjEuMCwiY2xlYXJfcHJvamVjdF9vcmRlcl9vbl9vcmRlcl90aWNrZXRfY2xvc2UiOjEuMCwiZW5hYmxlX25ld19iZWhhdmlvcl9vZl9jb25maXJtX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsInJlbmV3X3Rva2VuX3ByZWVtcHRpb25fMzAiOjEuMCwiZG9fbm90X29wZW5fb3RfZnJvbV9wbHVzX2J1dHRvbiI6MS4wLCJicm9rZXJfc2lkZV9wcm9tb3Rpb24iOjEuMCwiZW5hYmxlX25ld190cmFkaW5nX21lbnVfc3RydWN0dXJlIjoxLjAsInF1aWNrX3RyYWRpbmdfcGFuZWwiOjEuMCwicGFwZXJfb3JkZXJfY29uZmlybWF0aW9uX2RpYWxvZyI6MS4wLCJwYXBlcl9tdWx0aXBsZV9sZXZlbHNfZW5hYmxlZCI6MS4wLCJwYXBlcl9tYXJnaW5fY29udHJvbCI6MS4wLCJlbmFibGVfc2VnbWVudGF0aW9uX3BhcGVyX3RyYWRpbmciOjEuMCwiZW5hYmxlX2NoYXJ0X2FkYXB0aXZlX3Rwc2xfYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwiZW5hYmxlX21hcmtldF9wcm9qZWN0X29yZGVyIjoxLjAsImVuYWJsZV9zeW1ib2xzX3BvcHVsYXJpdHlfc2hvd2luZyI6MS4wLCJlbmFibGVfdHJhbnNsYXRpb25zX3MzX3VwbG9hZCI6MS4wLCJldGZfZnVuZF9mbG93c19vbmx5X2RheXNfcmVzb2x1dGlvbnMiOjEuMCwiZGlzYWJsZV9zbm93cGxvd19wbGF0Zm9ybV9ldmVudHMiOjEuMCwibm90aWZ5X2lkZWFfbW9kc19hYm91dF9maXJzdF9wdWJsaWNhdGlvbiI6MS4wLCJlbmFibGVfd2FmX3RyYWNraW5nIjoxLjAsIm5ld19lcnJvcnNfZmxvdyI6MS4wLCJxdW90ZS10b2tlbi1maWx0ZXItb3duLXNjcmlwdHMtYnktYWNjZXNzIjoxLjAsImtlZXBfaW5kaWNhdG9yc19zZWFyY2hfc3RhdGUiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3RhYl9zY3JvbGxfc3RhdGUiOjEuMCwiY29uZmlndXJhYmxlX3NlYXJjaF9hbmRfZmlsdHJhdGlvbiI6MS4wLCJwaW5lX2VkaXRvcl93cmFwX29uX2xpbmVfc3BsaXQiOjEuMCwic3ltYm9sX3NlYXJjaF9jb3VudHJ5X3NvdXJjZXMiOjEuMCwid2F0Y2hsaXN0c19kaWFsb2dfc2Nyb2xsX3RvX2FjdGl2ZSI6MS4wLCJib3R0b21fcGFuZWxfdHJhY2tfZXZlbnRzIjoxLjAsInNub3dwbG93X2JlYWNvbl9mZWF0dXJlIjoxLjAsInNob3dfZGF0YV9wcm9ibGVtc19pbl9oZWxwX2NlbnRlciI6MS4wLCJlbmFibGVfYXBwbGVfZGV2aWNlX2NoZWNrIjoxLjAsImVuYWJsZV9hcHBsZV9pbnRyb19vZmZlcl9zaWduYXR1cmUiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX29mZmVyX3NpZ25hdHVyZV92MiI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfYW5kcm9pZCI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2lvcyI6MS4wLCJlbmFibGVfbWFudGljb3JlX2NsdXN0ZXIiOjEuMCwiZW5hYmxlX3B1c2hzdHJlYW1fYXV0aCI6MS4wLCJlbmFibGVfZW52b3lfcHJveHkiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3BhcGVydHJhZGluZyI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfc2NyZWVuZXIiOjEuMCwib3B0aW9uc19yZWR1Y2VfcG9sbGluZ19pbnRlcnZhbCI6MS4wLCJvcHRpb25zX2J1aWxkZXJfZ3JvdXBfYWN0aW9ucyI6MS4wLCJvcHRpb25zX2NoYWluX3NpZ21hX2ZpbHRlciI6MS4wLCJvcHRpb25zX2Jyb2tlcl9zdHJhdGVnaWVzIjoxLjAsInNob3dfdG9hc3RfYWJvdXRfdW5yZWFkX21lc3NhZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcGF5b3V0IjoxLjAsImVuYWJsZV9lbWFpbF9jaGFuZ2VfbG9nZ2luZyI6MS4wLCJlbmFibGVfZW1haWxfb25fcGFydG5lcl9zdGF0dXNfY2hhbmdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW1fYXBwbHkiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbSI6MS4wLCJjb21wcmVzc19jYWNoZV9kYXRhIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZyI6MS4wLCJuZXdzX3NjcmVlbmVyX3BhZ2VfY2xpZW50IjoxLjAsImVuYWJsZV9kZWNsYXJhdGlvbl9wb3B1cF9vbl9sb2FkIjoxLjAsInNob3dfZGF0YV9ib25kc19mcmVlX3VzZXJzIjoxLjAsImVuYWJsZV9tb2Rlcm5fcmVuZGVyX21vZGUiOjEuMCwiZW5hYmxlX3Byb2ZfcG9wdXBfZnJlZSI6MS4wLCJpb3NfYXBwX25ld3NfYW5kX21pbmRzIjoxLjAsImRvX25vdF9kaXNjbG9zZV9waG9uZV9vY2N1cGFuY3kiOjEuMCwiZW5hYmxlX3JlZGlyZWN0X3RvX3dpZGdldF9kb2N1bWVudGF0aW9uX29mX2FueV9sb2NhbGl6YXRpb24iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX2hpYmVybmF0aW9uIjoxLjAsIm5ld3Nfc3RyZWFtaW5nX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIjoxLjAsInBhc3NfcmVjb3Zlcnlfc2VhcmNoX2hpZGVfaW5mbyI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfb25fc2NyZWVuZXIiOjEuMCwiZW5hYmxlX2ZvcmNlZF9lbWFpbF9jb25maXJtYXRpb24iOjEuMCwic2hvd19naWZ0X2J1dHRvbiI6MS4wLCJhZGRyZXNzX3ZhbGlkYXRpb25fZW5hYmxlZCI6MS4wLCJkaXNhYmxlX3VudmVyaWZpZWRfYWRkcmVzcyI6MS4wLCJnZW5lcmF0ZV9pbnZvaWNlX251bWJlcl9ieV9jb3VudHJ5IjoxLjAsInNob3dfZmF2b3JpdGVfbGF5b3V0cyI6MS4wLCJlbmFibGVfc29jaWFsX2F1dGhfY29uZmlybWF0aW9uIjoxLjAsImVuYWJsZV9hZF9ibG9ja19kZXRlY3QiOjEuMCwidHZkX25ld190YWJfbGlua2luZyI6MS4wLCJ0dmRfdGltZV9hbmRfZGF0ZV9yYW5nZV9saW5raW5nIjoxLjAsInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ1c2VfZGVza3RvcF9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwid3JvbmdfYWNjb3VudF9kaWFsb2dfcHJpbWFyeV9zd2l0Y2giOjEuMCwiZW5hYmxlX2xpbmd1YV9sYW5nX2NoZWNrIjoxLjAsImdldF9zYXZlZF9hY3RpdmVfbGlzdF9iZWZvcmVfZ2V0dGluZ19hbGxfbGlzdHMiOjEuMCwid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iOjEuMCwic2hvd19yZWZlcnJhbF9ub3RpZmljYXRpb25fZGlhbG9nIjoxLjAsInNldF9uZXdfYmxhY2tfY29sb3IiOjEuMCwibmV3c191c2VfbmV3c19tZWRpYXRvciI6MS4wLCJhbGxvd190cmFpbGluZ193aGl0ZXNwYWNlX2luX251bWJlcl90b2tlbiI6MS4wLCJyZXN0cmljdF9wd25lZF9wYXNzd29yZF9zZXQiOjEuMCwibm90aWZfc2V0dGluZ3NfZW5hYmxlX25ld19zdG9yZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV93cml0ZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV9yZWFkIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrLWZvci1pbml0aWFsLXB1cmNoYXNlIjoxLjAsImVuYWJsZV9tZXRhZGVmZW5kZXJfY2hlY2tfZm9yX2FncmVlbWVudCI6MS4wLCJzaG93X2Rvd25sb2FkX3lpZWxkX2N1cnZlc19kYXRhIjoxLjAsIm1vdmVfa2V5X3Rlbm9yc190b19zZXR0aW5ncyI6MS4wLCJzaG93X3lpZWxkX2N1cnZlc19tYXAiOjEuMCwiZGlzYWJsZV93aWRnZXRiYXJfaW5fYXBwcyI6MS4wLCJoaWRlX3B1YmxpY2F0aW9uc19vZl9iYW5uZWRfdXNlcnMiOjEuMCwiZW5hYmxlX3N1bW1hcnlfdXBkYXRlc19mcm9tX2NoYXJ0X3Nlc3Npb24iOjEuMCwic2hvd19uZXdzX2Zsb3dfdG9vbF9yaWdodF9iYXIiOjEuMCwiZW5hYmxlX2NoYXJ0X3NhdmluZ19zdGF0cyI6MS4wLCJlbmFibGVfc2F2aW5nX3NhbWVfY2hhcnRfcmF0ZV9saW1pdCI6MS4wLCJuZXdzX2FsZXJ0c19lbmFibGVkIjoxLjAsIm5ld3NfbXVsdGlwbGVfYWxlcnRzX2VuYWJsZWQiOjEuMCwicmVmdW5kX3Vudm9pZGFibGVfY291cG9uc19lbmFibGVkIjoxLjAsImVuYWJsZV9zbm93cGxvd19lbWFpbF90cmFja2luZyI6MS4wLCJuZXdzX2VuYWJsZV9zZW50aW1lbnQiOjEuMCwidXNlX2luX3N5bWJvbF9zZWFyY2hfb3B0aW9uc19tY3hfZXhjaGFuZ2UiOjEuMCwiZW5hYmxlX3VzZXJzZXR0aW5nc19zeW1ib2xzX3Blcl9yb3dfc29mdF9saW1pdCI6MC4xLCJmb3JiaWRfbG9naW5fd2l0aF9wd25lZF9wYXNzd29yZHMiOjEuMCwiZGVidWdfZ2V0X3Rlc3RfYmFyc19kYXRhIjoxLjAsIm5ld3NfdXNlX21lZGlhdG9yX3N0b3J5IjoxLjAsIm5ld3NfZmxvd19yZWNvbmZpZ3VyZV9maWx0ZXJzIjoxLjAsImJsYWNrX2ZyaWRheV9lbmFibGVfc2tpcF90b19wYXltZW50IjoxLjAsImhpZGVfdHJhZGluZ19idXR0b25fb25fYm90dG9tX3BhbmVsX2FuZF9yZXBsYXlfdGFiIjoxLjAsImhpZGVfdHJhZGVfYnV0dG9uX2hpbnRfaW5faGVhZGVyX3Rvb2xiYXIiOjEuMCwiaGlkZV9zZWVfb25fc3VwZXJfY2hhcnRzX2J1dHRvbiI6MS4wLCJoaWRlX3N5bWJvbF9wYWdlX2NoYXJ0X3R5cGVfc3dpdGNoZXIiOjEuMCwiZGlzYWJsZV9jaGF0X3NwYW1fcHJvdGVjdGlvbl9mb3JfcHJlbWl1bV91c2VycyI6MS4wLCJkaXNhYmxlX3B1YmxpY19waW5lX3NjcmlwdF9wdWJsaXNoX2xpbWl0cyI6MS4wLCJtYWtlX3RyYWRpbmdfcGFuZWxfY29udGV4dHVhbF90YWIiOjEuMCwicmVjb25uZWN0X2dhaW5fc2Vzc2lvbl9vbl9sc19lcnJvciI6MS4wLCJjaGVja291dC1mbG93LXBheW1lbnRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2t5YyI6MS4wLCJpbmRpYV9leGNsdWRlX2JyYWludHJlZV90YWIiOjEuMCwibWFjcm9fbWFwc19oaWRlX3Rvb2x0aXBfY2hhcnRfYnV0dG9uIjoxLjAsImZvcmNlX2t5Y19mb3Jfbm9ucHJvX3B1cmNoYXNlX2J5X2NvbW1lcmNpYWwiOjEuMCwic2hvd19zcGxpdF9wYW5lbF9mdWxsc2NyZWVuX2J1dHRvbiI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX21vdmVfYnV0dG9uX3RvX3RpdGxlIjoxLjAsIm9yZGVyX3ByZXNldHNfY3J1ZF9zdG9yYWdlIjoxLjAsIm9yZGVyX3ByZXNldHNfcmVtb3ZlX2Zyb21fdHZfc2V0dGluZ3MiOjEuMCwiY2hlY2tvdXQtZmxvdy10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheSI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsIjoxLjAsImZvcmJpZF9zaWdudXBfd2l0aF9mYWtlX2dtYWlsX2RvbWFpbnMiOjEuMCwic2hvd19pbXBvcnRfZnJvbV9wYXBlcl90cmFkaW5nX2J1dHRvbiI6MS4wLCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwtdHJpYWwiOjEuMCwidm9pZF9ub3RfZm91bmRfY2tvX3BheW1lbnRfaW5fYXBwcm92ZWRfd2ViaG9vayI6MS4wLCJzaG93X3BhbmVsX2NvbGxhcHNlX2J1dHRvbiI6MS4wLCJkZWxheV9zdGF0dXNfb25fbGFzdF9iYXIiOjAuM307CgoJd2luZG93LlRyYWRpbmdWaWV3ID0gd2luZG93LlRyYWRpbmdWaWV3IHx8IHt9OwoKCXdpbmRvdy5pbml0RGF0YS5pZGNfZXhjaGFuZ2VzX2xpc3QgPSBbIm56eCIsImJtZSIsImJtZV9zdG9ja3MiLCJzaGZlIiwic3pzZSIsIm5hZyIsInRmeCIsInR3c2UiLCJidmMiLCJidmN2IiwiYm12IiwiYnZtdCIsImJ2bCIsImJjcyIsInNpeCIsImJzc2UiLCJiYWhyYWluIiwiYmVsZXgiLCJuc2VrZSIsInFzZSJdOwoKCQl3aW5kb3cubG9jYWxlX2RvbWFpbnMgPSB7ImVuIjoid3d3LnRyYWRpbmd2aWV3LmNvbSIsImFyX0FFIjoiYXIudHJhZGluZ3ZpZXcuY29tIiwiYnIiOiJici50cmFkaW5ndmlldy5jb20iLCJkZV9ERSI6ImRlLnRyYWRpbmd2aWV3LmNvbSIsImVzIjoiZXMudHJhZGluZ3ZpZXcuY29tIiwiZnIiOiJmci50cmFkaW5ndmlldy5jb20iLCJoZV9JTCI6ImlsLnRyYWRpbmd2aWV3LmNvbSIsImlkIjoiaWQudHJhZGluZ3ZpZXcuY29tIiwiaW4iOiJpbi50cmFkaW5ndmlldy5jb20iLCJpdCI6Iml0LnRyYWRpbmd2aWV3LmNvbSIsImphIjoianAudHJhZGluZ3ZpZXcuY29tIiwia3IiOiJrci50cmFkaW5ndmlldy5jb20iLCJtc19NWSI6Im15LnRyYWRpbmd2aWV3LmNvbSIsInBsIjoicGwudHJhZGluZ3ZpZXcuY29tIiwicnUiOiJydS50cmFkaW5ndmlldy5jb20iLCJ0aF9USCI6InRoLnRyYWRpbmd2aWV3LmNvbSIsInRyIjoidHIudHJhZGluZ3ZpZXcuY29tIiwidmlfVk4iOiJ2bi50cmFkaW5ndmlldy5jb20iLCJ6aF9DTiI6ImNuLnRyYWRpbmd2aWV3LmNvbSIsInpoX1RXIjoidHcudHJhZGluZ3ZpZXcuY29tIiwiY2FfRVMiOiJlcy50cmFkaW5ndmlldy5jb20ifTsKCgkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgPSB3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzIHx8IFtdOwoJCQkJd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cy5wdXNoKCd3aWRnZXQnKTsKCgkJd2luZG93LlRyYWRpbmdWaWV3ID0gd2luZG93LlRyYWRpbmdWaWV3IHx8IHt9Owo8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJwUnVXbkxZWC9TQ2ZUUlUwT0IzbU13PT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOwoJCXdpbmRvdy5CVUlMRF9USU1FID0gIjIwMjYtMDctMjRUMTE6NDA6MDgiOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVCA9ICJ3aWRnZXRkYXRhLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QgPSAid2lkZ2V0ZGF0YS1iYWNrdXAudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cudXNlciA9IHsndXNlcm5hbWUnOiAnR3Vlc3QnLCAnZm9sbG93aW5nJzogJzAnLCAnZm9sbG93ZXJzJzogJzAnLCAnaWdub3JlX2xpc3QnOiB7fSwgJ2RvX25vdF90cmFjayc6IHRydWV9Ozwvc2NyaXB0PgoJPHNjcmlwdCBub25jZT0icFJ1V25MWVgvU0NmVFJVME9CM21Ndz09Ij5sZXQgcGFyYW1zID0ge307CgkJCWNvbnN0IGh0dHBSZWcgPSBuZXcgUmVnRXhwKCdeaHR0cChzKT86Ly8nKTsKCgkJCXRyeSB7CgkJCQlwYXJhbXMgPSBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSkpOwoJCQl9IGNhdGNoIChlKSB7CgkJCQlwYXJhbXMgPSB7fTsKCQkJfQoKCQkJd2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTID0gewoJCQkJJ3dzX2FuY2VzdG9yX29yaWdpbic6IHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMgJiYgd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGggPyB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zW3dpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoIC0gMV0ucmVwbGFjZShodHRwUmVnLCAnJykgOiBudWxsLAoJCQkJJ3dzX3BhZ2VfdXJpJzogcGFyYW1zWydwYWdlLXVyaSddLAoJCQl9OygoKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IHM9InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxvPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1mdW5jdGlvbihlKXtjb25zdCB0PWUrIj0iLG49ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspe2xldCBzPW5bZV07Zm9yKDsiICI9PT1zLmNoYXJBdCgwKTspcz1zLnN1YnN0cmluZygxLHMubGVuZ3RoKTtpZigwPT09cy5pbmRleE9mKHQpKXJldHVybiBzLnN1YnN0cmluZyh0Lmxlbmd0aCxzLmxlbmd0aCl9cmV0dXJuIG51bGx9KCJ0dl9hcHAiKXx8IiI7c3x8PVsiYW5kcm9pZCIsImFuZHJvaWRfbnBzIl0uaW5jbHVkZXMoZSksb3x8PSJpb3MiPT09ZX1yZXR1cm4hKCJuZXciIT09ZSYmImFueSIhPT1lfHwhcyl8fCEoIm5ldyI9PT1lfHwhbyl9Y29uc3QgdD0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmInVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3Isbj10JiYib250b3VjaHN0YXJ0ImluIHdpbmRvdyxzPSh0JiZuJiZ3aW5kb3csdCYmKG58fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyksdCYmd2luZG93LmNocm9tZSYmd2luZG93LmNocm9tZS5ydW50aW1lLHQmJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpLHQmJi9cc0VkZ2VcL1xkXGRcYi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx0JiZCb29sZWFuKG5hdmlnYXRvci52ZW5kb3IpJiZuYXZpZ2F0b3IudmVuZG9yLmluZGV4T2YoIkFwcGxlIik+LTEmJi0xPT09bmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJDcmlPUyIpJiZuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksdCYmL21hYy9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvV2luMzJ8V2luNjQvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL0xpbnV4L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9BbmRyb2lkL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSksbz10JiYvQmxhY2tCZXJyeS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksaT10JiYvaVBob25lfGlQYWR8aVBvZC8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHI9dCYmL09wZXJhIE1pbmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGM9dCYmKCJNYWNJbnRlbCI9PT1uYXZpZ2F0b3IucGxhdGZvcm0mJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4xfHwvaVBhZC8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pKSxhPXN8fG98fGl8fHI7Y29uc3QgXz1uZXcgTWFwO2Z1bmN0aW9uIGQoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSx0PXdpbmRvdy5sb2NhdGlvbi5ob3N0LG49YCR7dH0ke2V9YDtyZXR1cm4gXy5oYXMobil8fF8uc2V0KG4sZnVuY3Rpb24oZSx0KXtjb25zdCBuPVsiXndpZGdldC1kb2NzIl07Zm9yKGNvbnN0IGUgb2YgbilpZihuZXcgUmVnRXhwKGUpLnRlc3QodCkpcmV0dXJuITA7Y29uc3Qgcz1bIl53aWRnZXRlbWJlZC8/JCIsIl5jbWV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldHN0YXRpYy8/JCIsIl4oWzAtOWEtekEtWi1dKyk/Lz9tZWRpdW13aWRnZXRlbWJlZC8/JCIsIl50d2l0dGVyLWNoYXJ0Lz8kIiwiXnRlbGVncmFtL2NoYXJ0Lz8kIiwiXmVtYmVkLyhbMC05YS16QS1aXXs4fSkvPyQiLCJed2lkZ2V0cG9wdXAvPyQiLCJeZXh0ZW5zaW9uLz8kIiwiXmlkZWEtcG9wdXAvPyQiLCJeaG90bGlzdHN3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvaG90bGlzdHN3aWRnZXRlbWJlZC8/JCIsIl5tYXJrZXRvdmVydmlld3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRvdmVydmlld3dpZGdldGVtYmVkLz8kIiwiXmV2ZW50c3dpZGdldGVtYmVkLz8kIiwiXnRpY2tlcnN3aWRnZXRlbWJlZC8/JCIsIl5mb3JleGNyb3NzcmF0ZXN3aWRnZXRlbWJlZC8/JCIsIl5mb3JleGhlYXRtYXB3aWRnZXRlbWJlZC8/JCIsIl5tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl5zY3JlZW5lcndpZGdldC8/JCIsIl5jcnlwdG9ta3RzY3JlZW5lcndpZGdldC8/JCIsIl4oWzAtOWEtekEtWi1dKykvY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL21hcmtldHF1b3Rlc3dpZGdldGVtYmVkLz8kIiwiXnRlY2huaWNhbC1hbmFseXNpcy13aWRnZXQtZW1iZWQvJCIsIl5zaW5nbGVxdW90ZXdpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9zaW5nbGVxdW90ZXdpZGdldGVtYmVkLz8kIiwiXmVtYmVkLXdpZGdldC8oWzAtOWEtekEtWi1dKykvKChbMC05YS16QS1aLV0rKS8pPyQiLCJed2lkZ2V0LWRvY3MvKFswLTlhLXpBLVotXSspLyhbMC05YS16QS1aLS9dKyk/JCJdLG89ZS5yZXBsYWNlKC9eXC8vLCIiKTtsZXQgaTtmb3IobGV0IGU9cy5sZW5ndGgtMTtlPj0wO2UtLSlpZihpPW5ldyBSZWdFeHAoc1tlXSksaS50ZXN0KG8pKXJldHVybiEwO3JldHVybiExfShlLHQpKSxfLmdldChuKT8/ITF9Y29uc3QgaD13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtjb25zdCBsPXtBbmRyb2lkOigpPT5zLEJsYWNrQmVycnk6KCk9Pm8saU9TOigpPT5pLE9wZXJhOigpPT5yLGlzSVBhZDooKT0+Yyxhbnk6KCk9PmF9O2guaXNNb2JpbGU9bCxoLm9uV2lkZ2V0PWQ7Y29uc3QgdT0oKT0+e30sZz0ifm1+IjtjbGFzcyBte2NvbnN0cnVjdG9yKGUsdD17fSl7dGhpcy5zZXNzaW9uaWQ9bnVsbCx0aGlzLmNvbm5lY3RlZD0hMSx0aGlzLl90aW1lb3V0PW51bGwsdGhpcy5fYmFzZT1lLHRoaXMuX29wdGlvbnM9e3RpbWVvdXQ6dC50aW1lb3V0fHwyZTQsY29ubmVjdGlvblR5cGU6dC5jb25uZWN0aW9uVHlwZSxhcGlLZXk6dC5hcGlLZXl9fWNvbm5lY3QoKXt0aGlzLl9zb2NrZXQ9bmV3IFdlYlNvY2tldCh0aGlzLl9wcmVwYXJlVXJsKCkpLAp0aGlzLl9zb2NrZXQub25tZXNzYWdlPWU9PntpZigic3RyaW5nIiE9dHlwZW9mIGUuZGF0YSl0aHJvdyBuZXcgVHlwZUVycm9yKGBUaGUgV2ViU29ja2V0IG1lc3NhZ2Ugc2hvdWxkIGJlIGEgc3RyaW5nLiBSZWNpZXZlZCAke09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlLmRhdGEpfWApO3RoaXMuX29uRGF0YShlLmRhdGEpfSx0aGlzLl9zb2NrZXQub25jbG9zZT10aGlzLl9vbkNsb3NlLmJpbmQodGhpcyksdGhpcy5fc29ja2V0Lm9uZXJyb3I9dGhpcy5fb25FcnJvci5iaW5kKHRoaXMpfXNlbmQoZSl7dGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQuc2VuZCh0aGlzLl9lbmNvZGUoZSkpfWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9ubWVzc2FnZT11LHRoaXMuX3NvY2tldC5vbmNsb3NlPXUsdGhpcy5fc29ja2V0Lm9uZXJyb3I9dSx0aGlzLl9zb2NrZXQuY2xvc2UoKSl9X2NsZWFySWRsZVRpbWVvdXQoKXtudWxsIT09dGhpcy5fdGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSx0aGlzLl90aW1lb3V0PW51bGwpfV9lbmNvZGUoZSl7bGV0IHQsbj0iIjtjb25zdCBzPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0sbz1zLmxlbmd0aDtmb3IobGV0IGU9MDtlPG87ZSsrKXQ9bnVsbD09PXNbZV18fHZvaWQgMD09PXNbZV0/IiI6bS5fc3RyaW5naWZ5KHNbZV0pLG4rPWcrdC5sZW5ndGgrZyt0O3JldHVybiBufV9kZWNvZGUoZSl7Y29uc3QgdD1bXTtsZXQgbixzO2Rve2lmKGUuc3Vic3RyaW5nKDAsMykhPT1nKXJldHVybiB0O249IiIscz0iIjtjb25zdCBvPShlPWUuc3Vic3RyaW5nKDMpKS5sZW5ndGg7Zm9yKGxldCB0PTA7dDxvO3QrKyl7aWYocz1OdW1iZXIoZS5zdWJzdHJpbmcodCx0KzEpKSxOdW1iZXIoZS5zdWJzdHJpbmcodCx0KzEpKSE9PXMpe2U9ZS5zdWJzdHJpbmcobi5sZW5ndGgrMyksbj1OdW1iZXIobik7YnJlYWt9bis9c310LnB1c2goZS5zdWJzdHJpbmcoMCxuKSksZT1lLnN1YnN0cmluZyhuKX13aGlsZSgiIiE9PWUpO3JldHVybiB0fV9vbkRhdGEoZSl7dGhpcy5fc2V0VGltZW91dCgpO2NvbnN0IHQ9dGhpcy5fZGVjb2RlKGUpLG49dC5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxuO2UrKyl0aGlzLl9vbk1lc3NhZ2UodFtlXSl9X3NldFRpbWVvdXQoKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fdGltZW91dD1zZXRUaW1lb3V0KHRoaXMuX29uVGltZW91dC5iaW5kKHRoaXMpLHRoaXMuX29wdGlvbnMudGltZW91dCl9X29uVGltZW91dCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX29uRGlzY29ubmVjdCh7Y29kZTo0ZTMscmVhc29uOiJzb2NrZXQuaW8gdGltZW91dCIsd2FzQ2xlYW46ITF9KX1fb25NZXNzYWdlKGUpe3RoaXMuc2Vzc2lvbmlkP3RoaXMuX2NoZWNrSWZIZWFydGJlYXQoZSk/dGhpcy5fb25IZWFydGJlYXQoZS5zbGljZSgzKSk6dGhpcy5fY2hlY2tJZkpzb24oZSk/dGhpcy5fYmFzZS5vbk1lc3NhZ2UoSlNPTi5wYXJzZShlLnNsaWNlKDMpKSk6dGhpcy5fYmFzZS5vbk1lc3NhZ2UoZSk6KHRoaXMuc2Vzc2lvbmlkPWUsdGhpcy5fb25Db25uZWN0KCkpfV9jaGVja0lmSGVhcnRiZWF0KGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImgiKX1fY2hlY2tJZkpzb24oZSl7cmV0dXJuIHRoaXMuX2NoZWNrTWVzc2FnZVR5cGUoZSwiaiIpfV9jaGVja01lc3NhZ2VUeXBlKGUsdCl7cmV0dXJuIGUuc3Vic3RyaW5nKDAsMyk9PT0ifiIrdCsifiJ9X29uSGVhcnRiZWF0KGUpe3RoaXMuc2VuZCgifmh+IitlKX1fb25Db25uZWN0KCl7dGhpcy5jb25uZWN0ZWQ9ITAsdGhpcy5fYmFzZS5vbkNvbm5lY3QoKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX2NsZWFyKCksdGhpcy5fYmFzZS5vbkRpc2Nvbm5lY3QoZSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1fY2xlYXIoKXt0aGlzLmNvbm5lY3RlZD0hMX1fcHJlcGFyZVVybCgpe2NvbnN0IHQ9ayh0aGlzLl9iYXNlLmhvc3QpO2lmKHQucGF0aG5hbWUrPSJzb2NrZXQuaW8vd2Vic29ja2V0Iix0LnByb3RvY29sPSJ3c3M6Iix0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImZyb20iLHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zbGljZSgxLDUwKSksdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJkYXRlIix3aW5kb3cuQlVJTERfVElNRXx8IiIpLGUoImFueSIpJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImNsaWVudCIsIm1vYmlsZSIpLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgidHlwZSIsdGhpcy5fb3B0aW9ucy5jb25uZWN0aW9uVHlwZSksd2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTKXtjb25zdHt3c19wYWdlX3VyaTplLHdzX2FuY2VzdG9yX29yaWdpbjpufT13aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1M7ZSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJwYWdlLXVyaSIsZSksbiYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhbmNlc3Rvci1vcmlnaW4iLG4pfWNvbnN0IG49d2luZG93LmxvY2F0aW9uLnNlYXJjaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIil8fHdpbmRvdy5sb2NhdGlvbi5oYXNoLmluY2x1ZGVzKCJ3aWRnZXRfdG9rZW4iKTtyZXR1cm4gZCgpfHxufHx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImF1dGgiLCJzZXNzaW9uaWQiKSx2b2lkIDAhPT10aGlzLl9vcHRpb25zLmFwaUtleSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhcGlfa2V5Iix0aGlzLl9vcHRpb25zLmFwaUtleSksdC5ocmVmfV9vbkNsb3NlKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9vbkRpc2Nvbm5lY3QoZSl9X29uRXJyb3IoZSl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX2NsZWFyKCksdGhpcy5fYmFzZS5lbWl0KCJlcnJvciIsW2VdKSx0aGlzLnNlc3Npb25pZD1udWxsfXN0YXRpYyBfc3RyaW5naWZ5KGUpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpPyJ+an4iK0pTT04uc3RyaW5naWZ5KGUpOlN0cmluZyhlKX19Y2xhc3Mgd3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuaG9zdD1lLAp0aGlzLl9jb25uZWN0aW5nPSExLHRoaXMuX2V2ZW50cz17fSx0aGlzLnRyYW5zcG9ydD10aGlzLl9nZXRUcmFuc3BvcnQodCl9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMudHJhbnNwb3J0JiZ0aGlzLnRyYW5zcG9ydC5jb25uZWN0ZWR9aXNDb25uZWN0aW5nKCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpbmd9Y29ubmVjdCgpe3RoaXMuaXNDb25uZWN0ZWQoKXx8KHRoaXMuX2Nvbm5lY3RpbmcmJnRoaXMuZGlzY29ubmVjdCgpLHRoaXMuX2Nvbm5lY3Rpbmc9ITAsdGhpcy50cmFuc3BvcnQuY29ubmVjdCgpKX1zZW5kKGUpe3RoaXMudHJhbnNwb3J0JiZ0aGlzLnRyYW5zcG9ydC5jb25uZWN0ZWQmJnRoaXMudHJhbnNwb3J0LnNlbmQoZSl9ZGlzY29ubmVjdCgpe3RoaXMudHJhbnNwb3J0JiZ0aGlzLnRyYW5zcG9ydC5kaXNjb25uZWN0KCl9b24oZSx0KXtlIGluIHRoaXMuX2V2ZW50c3x8KHRoaXMuX2V2ZW50c1tlXT1bXSksdGhpcy5fZXZlbnRzW2VdLnB1c2godCl9b2ZmQWxsKCl7dGhpcy5fZXZlbnRzPXt9fW9uTWVzc2FnZShlKXt0aGlzLmVtaXQoIm1lc3NhZ2UiLFtlXSl9ZW1pdChlLHQ9W10pe2lmKGUgaW4gdGhpcy5fZXZlbnRzKXtjb25zdCBuPXRoaXMuX2V2ZW50c1tlXS5jb25jYXQoKSxzPW4ubGVuZ3RoO2ZvcihsZXQgZT0wO2U8cztlKyspbltlXS5hcHBseSh0aGlzLHQpfX1vbkNvbm5lY3QoKXt0aGlzLmNsZWFyKCksdGhpcy5lbWl0KCJjb25uZWN0Iil9b25EaXNjb25uZWN0KGUpe3RoaXMuZW1pdCgiZGlzY29ubmVjdCIsW2VdKX1jbGVhcigpe3RoaXMuX2Nvbm5lY3Rpbmc9ITF9X2dldFRyYW5zcG9ydChlKXtyZXR1cm4gbmV3IG0odGhpcyxlKX19ZnVuY3Rpb24gayhlKXtjb25zdCB0PS0xIT09ZS5pbmRleE9mKCIvIik/bmV3IFVSTChlKTpuZXcgVVJMKCJ3c3M6Ly8iK2UpO2lmKCJ3c3M6IiE9PXQucHJvdG9jb2wmJiJodHRwczoiIT09dC5wcm90b2NvbCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgd2Vic29ja2V0IGJhc2UgIitlKTtyZXR1cm4gdC5wYXRobmFtZS5lbmRzV2l0aCgiLyIpfHwodC5wYXRobmFtZSs9Ii8iKSx0LnNlYXJjaD0iIix0LnVzZXJuYW1lPSIiLHQucGFzc3dvcmQ9IiIsdH12YXIgcCxiOyFmdW5jdGlvbihlKXtlW2UuTm9ybWFsPTMwMF09Ik5vcm1hbCIsZVtlLkFmdGVyQ2xvc2VFdmVudD01ZTNdPSJBZnRlckNsb3NlRXZlbnQifShwfHwocD17fSkpLGZ1bmN0aW9uKGUpe2VbZS5JbmZvPTBdPSJJbmZvIixlW2UuTm9ybWFsPTFdPSJOb3JtYWwiLGVbZS5EZWJ1Zz0yXT0iRGVidWciLGVbZS5FcnJvcj0zXT0iRXJyb3IifShifHwoYj17fSkpO2NvbnN0IGY9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJk51bWJlcih3aW5kb3cuVEVMRU1FVFJZX1dTX0VSUk9SX0xPR1NfVEhSRVNIT0xEKXx8MDt2YXIgeTshZnVuY3Rpb24oZSl7ZVtlLlBpbmdJbnRlcnZhbD0xZTRdPSJQaW5nSW50ZXJ2YWwiLGVbZS5NYXhQaW5nc0NvdW50PTEwXT0iTWF4UGluZ3NDb3VudCIsZVtlLk1heFJlZGlyZWN0cz0yMF09Ik1heFJlZGlyZWN0cyIsZVtlLk1heFJlY29ubmVjdHM9MjBdPSJNYXhSZWNvbm5lY3RzIn0oeXx8KHk9e30pKTtjbGFzcyBUe2NvbnN0cnVjdG9yKGUsdD17fSl7dGhpcy5fcXVldWVTdGFjaz1bXSx0aGlzLl9sb2dzUXVldWU9W10sdGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlPVtdLHRoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wLHRoaXMuX2Vycm9yc0NvdW50PTAsdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITEsdGhpcy5fY29ubmVjdGlvblN0YXJ0PW51bGwsdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fcmVjb25uZWN0VGltZW91dD1udWxsLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPW51bGwsdGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuX2luaXRpYWxIb3N0PXQuaW5pdGlhbEhvc3R8fG51bGwsdGhpcy5fc3VnZ2VzdGVkSG9zdD1lLHRoaXMuX3Byb0hvc3Q9dC5wcm9Ib3N0LHRoaXMuX3JlY29ubmVjdEhvc3Q9dC5yZWNvbm5lY3RIb3N0LHRoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0PSEwPT09dC5ub1JlY29ubmVjdEFmdGVyVGltZW91dCx0aGlzLl9kYXRhUmVxdWVzdFRpbWVvdXQ9dC5kYXRhUmVxdWVzdFRpbWVvdXQsdGhpcy5fY29ubmVjdGlvblR5cGU9dC5jb25uZWN0aW9uVHlwZSx0aGlzLl9hcGlLZXk9dC5hcGlLZXksdGhpcy5fZG9Db25uZWN0KCksdC5waW5nUmVxdWlyZWQmJi0xPT09d2luZG93LmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCJub3BpbmciKSYmdGhpcy5fc3RhcnRQaW5nKCl9Y29ubmVjdCgpe3RoaXMuX3RyeUNvbm5lY3QoKX1yZXNldENvdW50ZXJzKCl7dGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9yZWRpcmVjdENvdW50PTB9c2V0TG9nZ2VyKGUsdCl7dGhpcy5fbG9nZ2VyPWUsdGhpcy5fZ2V0TG9nSGlzdG9yeT10LHRoaXMuX2ZsdXNoTG9ncygpfXNldFRlbGVtZXRyeShlKXt0aGlzLl90ZWxlbWV0cnk9ZSx0aGlzLl90ZWxlbWV0cnkucmVwb3J0U2VudC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblRlbGVtZXRyeVNlbnQpLHRoaXMuX2ZsdXNoVGVsZW1ldHJ5KCl9b25SZWNvbm5lY3QoZSl7dGhpcy5fb25SZWNvbm5lY3Q9ZX1pc0Nvbm5lY3RlZCgpe3JldHVybiEhdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQuaXNDb25uZWN0ZWQoKX1pc0Nvbm5lY3RpbmcoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGluZygpfW9uKGUsdCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJigiY29ubmVjdCI9PT1lJiZ0aGlzLl9zb2NrZXQuaXNDb25uZWN0ZWQoKT90KCk6ImRpc2Nvbm5lY3QiPT09ZT90aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzLnB1c2godCk6dGhpcy5fc29ja2V0Lm9uKGUsdCksITApfWdldFNlc3Npb25JZCgpe3JldHVybiB0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC50cmFuc3BvcnQ/dGhpcy5fc29ja2V0LnRyYW5zcG9ydC5zZXNzaW9uaWQ6bnVsbH1zZW5kKGUpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCk/KHRoaXMuX3NvY2tldC5zZW5kKGUpLCEwKToodGhpcy5fcXVldWVNZXNzYWdlKGUpLCExKX0KZ2V0Q29ubmVjdGlvbkVzdGFibGlzaGVkKCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZH1nZXRIb3N0KCl7Y29uc3QgZT10aGlzLl90cnlHZXRQcm9Ib3N0KCk7cmV0dXJuIG51bGwhPT1lP2U6dGhpcy5fcmVjb25uZWN0SG9zdCYmdGhpcy5fcmVjb25uZWN0Q291bnQ+Mz90aGlzLl9yZWNvbm5lY3RIb3N0OnRoaXMuX3N1Z2dlc3RlZEhvc3R9Z2V0UmVjb25uZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVjb25uZWN0Q291bnR9Z2V0UmVkaXJlY3RDb3VudCgpe3JldHVybiB0aGlzLl9yZWRpcmVjdENvdW50fWdldENvbm5lY3Rpb25TdGFydCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uU3RhcnR9ZGlzY29ubmVjdCgpe3RoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLCh0aGlzLmlzQ29ubmVjdGVkKCl8fHRoaXMuaXNDb25uZWN0aW5nKCkpJiYodGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdCgpLHRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3M9W10sdGhpcy5fY2xvc2VTb2NrZXQoKSl9Zm9yYmlkQ29ubmVjdGlvbigpe3RoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMCx0aGlzLmRpc2Nvbm5lY3QoKX1hbGxvd0Nvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITEsdGhpcy5jb25uZWN0KCl9aXNNYXhSZWRpcmVjdHMoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudD49MjB9aXNNYXhSZWNvbm5lY3RzKCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50Pj0yMH1nZXRQaW5nSW5mbygpe3JldHVybiB0aGlzLl9waW5nSW5mb3x8bnVsbH1nZXRBcGlLZXkoKXtyZXR1cm4gdGhpcy5fYXBpS2V5fV90cnlHZXRQcm9Ib3N0KCl7cmV0dXJuIHdpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3Lm9uQ2hhcnRQYWdlJiYiYmF0dGxlIj09PXdpbmRvdy5lbnZpcm9ubWVudCYmIXRoaXMuX3JlZGlyZWN0Q291bnQmJi0xPT09d2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZigid3NfaG9zdCIpP3RoaXMuX2luaXRpYWxIb3N0P3RoaXMuX2luaXRpYWxIb3N0OnZvaWQgMCE9PXdpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5wcm9fcGxhbj90aGlzLl9wcm9Ib3N0fHx0aGlzLl9zdWdnZXN0ZWRIb3N0Om51bGw6bnVsbH1fcXVldWVNZXNzYWdlKGUpezA9PT10aGlzLl9xdWV1ZVN0YWNrLmxlbmd0aCYmdGhpcy5fbG9nTWVzc2FnZSgwLCJTb2NrZXQgaXMgbm90IGNvbm5lY3RlZC4gUXVldWVkIGEgbWVzc2FnZSIpLHRoaXMuX3F1ZXVlU3RhY2sucHVzaChlKX1fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpezAhPT10aGlzLl9xdWV1ZVN0YWNrLmxlbmd0aCYmKHRoaXMuX2xvZ01lc3NhZ2UoMCwiUHJvY2Vzc2luZyBxdWV1ZWQgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrLmZvckVhY2godGhpcy5zZW5kLmJpbmQodGhpcykpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiUHJvY2Vzc2VkICIrdGhpcy5fcXVldWVTdGFjay5sZW5ndGgrIiBtZXNzYWdlcyIpLHRoaXMuX3F1ZXVlU3RhY2s9W10pfV9vbkRpc2Nvbm5lY3QoZSl7dGhpcy5fbm9SZWNvbm5lY3RBZnRlclRpbWVvdXR8fG51bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0fHwodGhpcy5fcmVjb25uZWN0VGltZW91dD1zZXRUaW1lb3V0KHRoaXMuX3RyeVJlY29ubmVjdC5iaW5kKHRoaXMpLDVlMykpLHRoaXMuX2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKTtsZXQgdD0iZGlzY29ubmVjdCBzZXNzaW9uOiIrdGhpcy5nZXRTZXNzaW9uSWQoKTtlJiYodCs9IiwgY29kZToiK2UuY29kZSsiLCByZWFzb246IitlLnJlYXNvbiwxMDA1PT09ZS5jb2RlJiZ0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfY29kZV8xMDA1IikpLHRoaXMuX2xvZ01lc3NhZ2UoMCx0KSx0aGlzLl9wcm9wYWdhdGVEaXNjb25uZWN0KGUpLHRoaXMuX2Nsb3NlU29ja2V0KCksdGhpcy5fcXVldWVTdGFjaz1bXX1fY2xvc2VTb2NrZXQoKXtudWxsIT09dGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9mZkFsbCgpLHRoaXMuX3NvY2tldC5kaXNjb25uZWN0KCksdGhpcy5fc29ja2V0PW51bGwpfV9sb2dNZXNzYWdlKGUsdCl7Y29uc3Qgbj17bWV0aG9kOmUsbWVzc2FnZTp0fTt0aGlzLl9sb2dnZXI/dGhpcy5fZmx1c2hMb2dNZXNzYWdlKG4pOihuLm1lc3NhZ2U9YFskeyhuZXcgRGF0ZSkudG9JU09TdHJpbmcoKX1dICR7bi5tZXNzYWdlfWAsdGhpcy5fbG9nc1F1ZXVlLnB1c2gobikpfV9mbHVzaExvZ01lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlIDI6dGhpcy5fbG9nZ2VyLmxvZ0RlYnVnKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAzOnRoaXMuX2xvZ2dlci5sb2dFcnJvcihlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMDp0aGlzLl9sb2dnZXIubG9nSW5mbyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMTp0aGlzLl9sb2dnZXIubG9nTm9ybWFsKGUubWVzc2FnZSl9fV9mbHVzaExvZ3MoKXt0aGlzLl9mbHVzaExvZ01lc3NhZ2Uoe21ldGhvZDoxLG1lc3NhZ2U6Im1lc3NhZ2VzIGZyb20gcXVldWUuIFN0YXJ0LiJ9KSx0aGlzLl9sb2dzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShlKX0pKSx0aGlzLl9mbHVzaExvZ01lc3NhZ2Uoe21ldGhvZDoxLG1lc3NhZ2U6Im1lc3NhZ2VzIGZyb20gcXVldWUuIEVuZC4ifSksdGhpcy5fbG9nc1F1ZXVlPVtdfV9zZW5kVGVsZW1ldHJ5KGUsdCl7Y29uc3Qgbj17ZXZlbnQ6ZSxwYXJhbXM6dH07dGhpcy5fdGVsZW1ldHJ5P3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KG4pOnRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZS5wdXNoKG4pfV9mbHVzaFRlbGVtZXRyeU9iamVjdChlKXt0aGlzLl90ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KGUuZXZlbnQsZS5wYXJhbXMsITEpfV9mbHVzaFRlbGVtZXRyeSgpe3RoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZS5mb3JFYWNoKChlPT57dGhpcy5fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl9KSksdGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlPVtdfV9kb0Nvbm5lY3QoKXsKdGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl8fHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKSl8fCh0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5faG9zdD10aGlzLmdldEhvc3QoKSx0aGlzLl9zb2NrZXQ9bmV3IHcodGhpcy5faG9zdCx7dGltZW91dDp0aGlzLl9kYXRhUmVxdWVzdFRpbWVvdXQsY29ubmVjdGlvblR5cGU6dGhpcy5fY29ubmVjdGlvblR5cGUsYXBpS2V5OnRoaXMuX2FwaUtleX0pLHRoaXMuX2xvZ01lc3NhZ2UoMCwiQ29ubmVjdGluZyB0byAiK3RoaXMuX2hvc3QpLHRoaXMuX2JpbmRFdmVudHMoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9bnVsbCx0aGlzLl9zb2NrZXQuY29ubmVjdCgpLHBlcmZvcm1hbmNlLm1hcmsoIlNXU0MiLHtkZXRhaWw6IlN0YXJ0IFdlYlNvY2tldCBjb25uZWN0aW9uIn0pLHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57cGVyZm9ybWFuY2UubWFyaygiRVdTQyIse2RldGFpbDoiRW5kIFdlYlNvY2tldCBjb25uZWN0aW9uIn0pLHBlcmZvcm1hbmNlLm1lYXN1cmUoIldlYlNvY2tldCBjb25uZWN0aW9uIGRlbGF5IiwiU1dTQyIsIkVXU0MiKX0pKSl9X3Byb3BhZ2F0ZURpc2Nvbm5lY3QoZSl7Y29uc3QgdD10aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzLmxlbmd0aDtmb3IobGV0IG49MDtuPHQ7bisrKXRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3Nbbl0oZXx8e30pfV9iaW5kRXZlbnRzKCl7dGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9uKCJjb25uZWN0IiwoKCk9Pntjb25zdCBlPXRoaXMuZ2V0U2Vzc2lvbklkKCk7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7aWYodC5yZWRpcmVjdClyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudCs9MSx0aGlzLl9zdWdnZXN0ZWRIb3N0PXQucmVkaXJlY3QsdGhpcy5pc01heFJlZGlyZWN0cygpJiZ0aGlzLl9zZW5kVGVsZW1ldHJ5KCJyZWRpcmVjdF9iYWlsb3V0Iiksdm9pZCB0aGlzLl9yZWRpcmVjdCgpfXRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9wcm9jZXNzTWVzc2FnZVF1ZXVlKCksdGhpcy5fbG9nTWVzc2FnZSgwLCJjb25uZWN0IHNlc3Npb246IitlKX0pKSx0aGlzLl9zb2NrZXQub24oImRpc2Nvbm5lY3QiLHRoaXMuX29uRGlzY29ubmVjdC5iaW5kKHRoaXMpKSx0aGlzLl9zb2NrZXQub24oImNsb3NlIix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJlcnJvciIsKGU9Pnt0aGlzLl9sb2dNZXNzYWdlKDAsbmV3IERhdGUrIiBzZXNzaW9uOiIrdGhpcy5nZXRTZXNzaW9uSWQoKSsiIHdlYnNvY2tldCBlcnJvcjoiK0pTT04uc3RyaW5naWZ5KGUpKSx0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3IiKSx0aGlzLl9lcnJvcnNDb3VudCsrLCF0aGlzLl9lcnJvcnNJbmZvU2VudCYmdGhpcy5fZXJyb3JzQ291bnQ+PWYmJih2b2lkIDAhPT10aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFjayYmKHRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9jb25uZWN0X3N0YWNrIix7dGV4dDp0aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFja30pLGRlbGV0ZSB0aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFjayksdm9pZCAwIT09dGhpcy5fZ2V0TG9nSGlzdG9yeSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yX2xvZyIse3RleHQ6dGhpcy5fZ2V0TG9nSGlzdG9yeSg1MCkuam9pbigiXG4iKX0pLHRoaXMuX2Vycm9yc0luZm9TZW50PSEwKX0pKSl9X3JlZGlyZWN0KCl7dGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpfV90cnlSZWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCkmJih0aGlzLl9yZWNvbm5lY3RDb3VudCs9MSl9X3RyeUNvbm5lY3QoKXtyZXR1cm4hdGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuJiYodGhpcy5fY2xlYXJSZWNvbm5lY3RUaW1lb3V0KCksdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2s9bmV3IEVycm9yKGBXZWJTb2NrZXQgY29ubmVjdCBzdGFjay4gSXMgY29ubmVjdGVkOiAke3RoaXMuaXNDb25uZWN0ZWQoKX0uYCkuc3RhY2t8fCIiLCF0aGlzLmlzQ29ubmVjdGVkKCkmJih0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZWNvbm5lY3RXaGVuT25saW5lKCksITApKX1fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpe3RoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuJiYodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsKX1fY2xlYXJSZWNvbm5lY3RUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3JlY29ubmVjdFRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fcmVjb25uZWN0VGltZW91dCksdGhpcy5fcmVjb25uZWN0VGltZW91dD1udWxsKX1fcmVjb25uZWN0V2hlbk9ubGluZSgpe2lmKG5hdmlnYXRvci5vbkxpbmUpcmV0dXJuIHRoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdm9pZCh0aGlzLl9vblJlY29ubmVjdCYmdGhpcy5fb25SZWNvbm5lY3QoKSk7dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1czogb2ZmbGluZSAtIHdhaXQgdW50aWwgb25saW5lIiksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49ZnVuY3Rpb24oZSl7bGV0IHQ9ZTtjb25zdCBuPSgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsbiksdCYmdCgpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsbiksKCk9Pnt0PW51bGx9fSgoKCk9Pnt0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLl9kb0Nvbm5lY3QoKSx0aGlzLl9vblJlY29ubmVjdCYmdGhpcy5fb25SZWNvbm5lY3QoKX0pKX0KX29uVGVsZW1ldHJ5U2VudChlKXsid2Vic29ja2V0X2Vycm9yImluIGUmJih0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExKX1fc3RhcnRQaW5nKCl7aWYodGhpcy5fcGluZ0ludGVydmFsSWQpcmV0dXJuO2NvbnN0IGU9ayh0aGlzLmdldEhvc3QoKSk7ZS5wYXRobmFtZSs9InBpbmciLGUucHJvdG9jb2w9Imh0dHBzOiI7bGV0IHQ9MCxuPTA7Y29uc3Qgcz1lPT57dGhpcy5fcGluZ0luZm89dGhpcy5fcGluZ0luZm98fHttYXg6MCxtaW46MS8wLGF2ZzowfTtjb25zdCBzPShuZXcgRGF0ZSkuZ2V0VGltZSgpLWU7cz50aGlzLl9waW5nSW5mby5tYXgmJih0aGlzLl9waW5nSW5mby5tYXg9cyksczx0aGlzLl9waW5nSW5mby5taW4mJih0aGlzLl9waW5nSW5mby5taW49cyksdCs9cyxuKyssdGhpcy5fcGluZ0luZm8uYXZnPXQvbixuPj0xMCYmdGhpcy5fcGluZ0ludGVydmFsSWQmJihjbGVhckludGVydmFsKHRoaXMuX3BpbmdJbnRlcnZhbElkKSxkZWxldGUgdGhpcy5fcGluZ0ludGVydmFsSWQpfTt0aGlzLl9waW5nSW50ZXJ2YWxJZD1zZXRJbnRlcnZhbCgoKCk9Pntjb25zdCB0PShuZXcgRGF0ZSkuZ2V0VGltZSgpLG49bmV3IFhNTEh0dHBSZXF1ZXN0O24ub3BlbigiR0VUIixlLCEwKSxuLnNlbmQoKSxuLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e24ucmVhZHlTdGF0ZT09PVhNTEh0dHBSZXF1ZXN0LkRPTkUmJjIwMD09PW4uc3RhdHVzJiZzKHQpfX0pLDFlNCl9fQpjb25zdCBDPSJ3aWRnZXRfdXNlcl90b2tlbi0iLHY9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKVt3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcnx8IiJdfHwiIixTPXYuc3RhcnRzV2l0aChDKT92LnN1YnN0cmluZygxOCk6InRyYWRpbmd2aWV3Igo7d2luZG93LldTQmFja2VuZENvbm5lY3Rpb249bmV3IFQod2luZG93LldFQlNPQ0tFVF9IT1NULHtwaW5nUmVxdWlyZWQ6d2luZG93LldTX0hPU1RfUElOR19SRVFVSVJFRCxwcm9Ib3N0OndpbmRvdy5XRUJTT0NLRVRfUFJPX0hPU1QscmVjb25uZWN0SG9zdDp3aW5kb3cuV0VCU09DS0VUX0hPU1RfRk9SX1JFQ09OTkVDVCxpbml0aWFsSG9zdDp3aW5kb3cuV0VCU09DS0VUX0lOSVRJQUxfSE9TVCxjb25uZWN0aW9uVHlwZTp3aW5kb3cuV0VCU09DS0VUX0NPTk5FQ1RJT05fVFlQRSxhcGlLZXk6U30pLHdpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uQ3Rvcj1UfSkoKTsKCTwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5PgoJPHNjcmlwdCBub25jZT0icFJ1V25MWVgvU0NmVFJVME9CM21Ndz09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgdD0xMDE5O3ZhciBlLHMsbyxhLGQ7IWZ1bmN0aW9uKHQpe3QuQWRhcHRpdmU9ImFkYXB0aXZlIix0LlJlZ3VsYXI9InJlZ3VsYXIiLHQuQ29tcGFjdD0iY29tcGFjdCJ9KGV8fChlPXt9KSksZnVuY3Rpb24odCl7dC5BbGxTeW1ib2xzPSJhbGxfc3ltYm9scyIsdC5NYXJrZXQ9Im1hcmtldCIsdC5TeW1ib2w9InN5bWJvbCJ9KHN8fChzPXt9KSksZnVuY3Rpb24odCl7dC5DcnlwdG9jdXJyZW5jaWVzPSJjcnlwdG8iLHQuQ3VycmVuY2llcz0iZm9yZXgiLHQuU3RvY2tzPSJzdG9jayIsdC5JbmRpY2VzPSJpbmRleCIsdC5GdXR1cmVzPSJmdXR1cmVzIix0LkJvbmRzPSJjZmQifShvfHwobz17fSkpLGZ1bmN0aW9uKHQpe3QuSFRNTD0iaHRtbCIsdC5SZWFjdD0icmVhY3QifShhfHwoYT17fSkpLGZ1bmN0aW9uKHQpe3QuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0oZHx8KGQ9e30pKTtjb25zdCBjPXdpbmRvdztjLmluaXREYXRhPWMuaW5pdERhdGF8fHt9O2xldCBpPWMuaW5pdERhdGEuaGFzaFNldHRpbmdzO2lmKGMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMmJihpPXsuLi5jLmluaXREYXRhLndpZGdldERlZmF1bHRzLC4uLml9KSx2b2lkIDAhPT1pKXtpZih2b2lkIDAhPT1pLmNvbG9yVGhlbWUmJmZ1bmN0aW9uKHQsZT13aW5kb3cpe2NvbnN0IHM9InRoZW1lLSIrdCxvPWUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKG8pKXQuc3RhcnRzV2l0aCgidGhlbWUtIikmJnQhPT1zJiZvLnJlbW92ZSh0KTtvLmFkZChzKSxlLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LnRoZW1lPXR9KGkuY29sb3JUaGVtZSksKGkuaXNUcmFuc3BhcmVudHx8aS50cmFuc3BhcmVuY3kpJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaXMtdHJhbnNwYXJlbnQiKSx2b2lkIDAhPT1pLmRpc3BsYXlNb2RlJiZmdW5jdGlvbihzLG8pe2lmKG89PT1lLkFkYXB0aXZlKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKGAobWF4LXdpZHRoOiAke3R9cHgpYCksbz0oKT0+e3MuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLCFlLm1hdGNoZXMpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLGUubWF0Y2hlcyl9O28oKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsbyl9ZWxzZSBzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIixvPT09ZS5SZWd1bGFyKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixvPT09ZS5Db21wYWN0KX0oZG9jdW1lbnQuYm9keSxpLmRpc3BsYXlNb2RlKSxpLmJvZHlDbGFzc2VzKWZvcihjb25zdCB0IG9mIGkuYm9keUNsYXNzZXMpZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKHQpO2kuYm9keV9jbGFzcyYmZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKGkuYm9keV9jbGFzcyksaS5ib2R5SWQmJihkb2N1bWVudC5ib2R5LmlkPWkuYm9keUlkKX19KSgpOwoJPC9zY3JpcHQ+CgoKPHNjcmlwdCBub25jZT0icFJ1V25MWVgvU0NmVFJVME9CM21Ndz09Ij4KCXdpbmRvdy5pbml0RGF0YSA9IHdpbmRvdy5pbml0RGF0YSB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncyA9IHsKCQljb2xsZWN0b3JJZDogJ3R2X2NmJywKCQl1cmw6ICdzbm93cGxvdy1waXhlbC50cmFkaW5ndmlldy5jb20nLAoJCXBhcmFtczogewoJCQlhcHBJZDogJ3RyYWRpbmd2aWV3JywKCQkJcG9zdFBhdGg6ICcvY29tLnRyYWRpbmd2aWV3L3RyYWNrJywKCQl9LAoJCWVuYWJsZWQ6IHRydWUsCgl9Cjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg=="}},"time_used":61,"timings":{"blocked":-1,"dns":3,"connect":8,"send":0,"wait":33,"receive":0,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.341Z","timestamp":1785136900341,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 3c80a655d1b47445714b461c77ae9627\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":88966,"size_decoded":33770,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-08-10T05:01:44.114381Z","times_seen":2726,"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":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/56252.2b82f575ba1ceb54fa29.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.292Z","timestamp":1785136901292,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56252.2b82f575ba1ceb54fa29.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-53a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: acb1e20e5757ee3864564a6b833fff02\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1338,"size_decoded":1088,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1338), with no line terminators","md5":"272e9884ff18ecde00e6bbe6ba06878b","sha1":"6a2d777adf9bfb4226124e67b1c8b6502a80d59c","sha256":"3dc13cb5344c62a4a6fec134fe9299cec0caec608238263f8e302db4d3349897","sha512":"9eca5419c42ab9d42e5bd3f970e2165b06e9be445886dc0d1a4e8130bfe731b076ed63b12ec6c8ec2fbb512a50ce326719575e5ddc215c8e035243acdd22625a","ssdeep":"","tlshash":"9821c888f3719fb3bf2325ac126ca42d79916eb8fdd2bae570b5961503e0bf18701614","first_seen":"2024-11-26T05:27:28.178302Z","last_seen":"2026-08-10T05:00:33.824542Z","times_seen":2985,"resource_available":false,"data":"Lmljb24td3JhcHBlci1kaWtkZXd3eDphY3RpdmUsLmljb24td3JhcHBlci1kaWtkZXd3eDpmb2N1c3tjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLXdyYXBwZXItZGlrZGV3d3g6aG92ZXJ7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3IsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcikpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKSBhbmQgKHBvaW50ZXI6ZmluZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLXdyYXBwZXItZGlrZGV3d3g6aG92ZXJ7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3ItaG92ZXIsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3ZlcikpfX0uaWNvbi13cmFwcGVyLWRpa2Rld3d4OmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX19LndpdGgtbGluay1kaWtkZXd3eHtjdXJzb3I6cG9pbnRlcn1AbWVkaWEgKGhvdmVyOm5vbmUpIGFuZCAocG9pbnRlcjpjb2Fyc2Upey53aXRoLXRvb2x0aXAtZGlrZGV3d3g6Zm9jdXMtdmlzaWJsZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9Ym9keTpoYXMoI3Rvb2x0aXAtcm9vdC1lbGVtZW50ICopIC53aXRoLXRvb2x0aXAtZGlrZGV3d3g6Zm9jdXN7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3ItaG92ZXIsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtib2R5OmhhcygjdG9vbHRpcC1yb290LWVsZW1lbnQgKikgLndpdGgtdG9vbHRpcC1kaWtkZXd3eDpob3Zlcntjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9fWJvZHk6aGFzKCN0b29sdGlwLXJvb3QtZWxlbWVudCAqKSAud2l0aC10b29sdGlwLWRpa2Rld3d4OmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX19Lm5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eHstLXVpLWxpYi1pY29uLXFpLWNvbG9yLWFjdGl2ZTp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/35794.0a273bafc5de50a0d21d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.439Z","timestamp":1785136901439,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35794.0a273bafc5de50a0d21d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-929\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 82ec8fcfd704e515de6bc3b18d2e2200\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2345,"size_decoded":1476,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2345), with no line terminators","md5":"070dbbdaf81468918cc345dc05f9a381","sha1":"2ab8968ccfc58991cdc8860741aecf9533393e0f","sha256":"8782990aacf2d956262c5608c1f9f9be2c54e5b100e7e1fd85521c2424944d72","sha512":"c162784e77aaebd46d2c606d8ec9f965be7c21092d5143c64badbc4cc2b380589455fd4eb60cdd25a9cff11dceab520faac1d1753d1b999596c4c462a0fa0e43","ssdeep":"","tlshash":"e7418bafa148d8b0fe116198b3dd638db6e5ec70a90a05cdb633b839cce17f15d50158","first_seen":"2026-07-22T16:00:00.426214Z","last_seen":"2026-08-10T05:01:44.373402Z","times_seen":542,"resource_available":false,"data":"LnNtYWxsLXRXRElDVGF5ey0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplOjN9Lm1lZGl1bS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo0fS5sYXJnZS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo1fS5zd2l0Y2hWaWV3LXRXRElDVGF5ey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zd2l0Y2hWaWV3LXNpemUsdmFyKC0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplLDQpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTstLXN3aXRjaC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozNHB4KTtoZWlnaHQ6dmFyKC0tc3dpdGNoLWhlaWdodCk7LS1zd2l0Y2gtd2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjM4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo1NHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2NHB4KTt3aWR0aDp2YXIoLS1zd2l0Y2gtd2lkdGgpOy0tc3dpdGNoLXBhZGRpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4KTstLXN3aXRjaC10aHVtYjpjYWxjKHZhcigtLXN3aXRjaC1oZWlnaHQpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKjIpOy0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwpOy0tc3dpdGNoLWNvbG9yOnZhcigtLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yLHZhcigtLWRlZmF1bHQtY29sb3IpKX0uc3dpdGNoVmlldy10V0RJQ1RheS5jaGVja2VkLXRXRElDVGF5ey0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmRpc2FibGVkLXRXRElDVGF5e29wYWNpdHk6LjV9LnRyYWNrLXRXRElDVGF5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItcmFkaXVzOjIwcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0udGh1bWItdFdESUNUYXl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OnZhcigtLXN3aXRjaC10aHVtYik7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1zd2l0Y2gtcGFkZGluZyksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7d2lkdGg6dmFyKC0tc3dpdGNoLXRodW1iKX0udGh1bWItdFdESUNUYXk6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC1wYWRkaW5nKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0uY2hlY2tlZC10V0RJQ1RheSAudGh1bWItdFdESUNUYXl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSx2YXIoLS1zd2l0Y2gtcGFkZGluZykpfS5jaGVja2VkLXRXRElDVGF5IC50aHVtYi10V0RJQ1RheTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSENTIE.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.545Z","timestamp":1785136905545,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSENTIE.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/71414.e345ed752d3a20d19467.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.436Z","timestamp":1785136901436,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71414.e345ed752d3a20d19467.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-e5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4c4bd2e4217a4522ba8acc156d191d6f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":229,"size_decoded":932,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"dba3b8b6e522981747aa88dbb55e965d","sha1":"5a76446063310fe075cf2a937154a1aea73f1679","sha256":"83032ab92bfa437e6220899f5aec9d57a35bc5811fbb395c19f27e069db50c01","sha512":"6bf4cbdf37126f5115df62c04af8d2348ad30107f48d0156b0c25c4327f7632d11d42e318171954fbec505ddba87a7b228597ec6d2229e5633ff36d5f4a5aba9","ssdeep":"","tlshash":"bed0a75af604b031786fa136d38da4df7504b94b5400ae779650c5c94051ad2b3d9b58","first_seen":"2026-07-17T03:30:51.226443Z","last_seen":"2026-08-10T05:00:33.814276Z","times_seen":251,"resource_available":false,"data":"LnRpdGxlLW5ma0dtN05He2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCkpO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDttYXJnaW46NnB4IDA7cGFkZGluZzowIDEycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.739Z","timestamp":1785136901739,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3f84\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e035e7a0b075cbf7f28f5978f0354c96\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16260,"size_decoded":6269,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"1af372c8d2679eb4b4723ab88e601eef","sha1":"bdd83e7842c5a9012e55084e71cd31fdcd5f72d6","sha256":"7cd30257c9448f2910216296d47b421cb724c4657dd6b6da06196e9b6323451c","sha512":"2cbc64c079104c42314e0475923e68a449456822936c0c290ef608f65e01b8e76a18727eadf52df0f2fc73b20c0b817c4287d1b42ac30ce2cf06eaf5cb25079d","ssdeep":"384:533u26UHCVnsa67bSIVIZjgeWDGu2JL2qlSUOTeEX:peEwnsa67uIVEjHWDGj2QSUAeG","tlshash":"c572c6a5b1a9203a11e78667d1791743f231694db003479cb17e3cee1eae8893369f7c","first_seen":"2026-07-22T17:32:48.037533Z","last_seen":"2026-07-28T06:17:53.598563Z","times_seen":66,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTYwOV0sezQ0ODQxMSh0KXt0LmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLUdIVUg2XzFYIixyb3VuZGVkOiJyb3VuZGVkLUdIVUg2XzFYIixzaGFkb3dlZDoic2hhZG93ZWQtR0hVSDZfMVgiLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tR0hVSDZfMVgiLGRhcmtlcjoiZGFya2VyLUdIVUg2XzFYIixiYWNrZHJvcDoiYmFja2Ryb3AtR0hVSDZfMVgifX0sMTc1ODYzKHQpe3QuZXhwb3J0cz17InRhYmxldC1ub3JtYWwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDc2OHB4KSIsInRvb2x0aXAtb2Zmc2V0IjoiMjBweCIsZGlhbG9nOiJkaWFsb2ctcXlDdzBQYU4iLGRyYWdnaW5nOiJkcmFnZ2luZy1xeUN3MFBhTiIsbW9iaWxlOiJtb2JpbGUtcXlDdzBQYU4iLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tcXlDdzBQYU4iLGRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZToiZGlhbG9nQW5pbWF0ZWRBcHBlYXJhbmNlLXF5Q3cwUGFOIixkaWFsb2dBbmltYXRpb246ImRpYWxvZ0FuaW1hdGlvbi1xeUN3MFBhTiIsZGlhbG9nVG9vbHRpcDoiZGlhbG9nVG9vbHRpcC1xeUN3MFBhTiJ9fSw5MjM1MTModCl7dC5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci16TFZtNkI0dCIsY29udGVudDoiY29udGVudC16TFZtNkI0dCIsYXJyb3dIb2xkZXI6ImFycm93SG9sZGVyLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWJlbG93IjoiYXJyb3dIb2xkZXItLWJlbG93LXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFib3ZlIjoiYXJyb3dIb2xkZXItLWFib3ZlLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWJlZm9yZSI6ImFycm93SG9sZGVyLS1iZWZvcmUtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWZ0ZXIiOiJhcnJvd0hvbGRlci0tYWZ0ZXItekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWJvdmUtZml4IjoiYXJyb3dIb2xkZXItLWFib3ZlLWZpeC16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCI6ImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeC16TFZtNkI0dCIsImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4IjoiYXJyb3dIb2xkZXItLWFmdGVyLWx0ci1maXgtekxWbTZCNHQiLGxhYmVsOiJsYWJlbC16TFZtNkI0dCIsY2xvc2VCdXR0b246ImNsb3NlQnV0dG9uLXpMVm02QjR0In19LDQ5MDg5Myh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtQb3B1cENvbnRleHQ6KCk9Pm99KTtjb25zdCBvPWkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw5OTEwNjYodCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSx7RGlhbG9nOigpPT5kfSk7dmFyIG89aSg3Nzk0NzQpLHM9aSg5MTQ0ODcpLG49aS5uKHMpLGE9aSg2MDc4MzIpLHI9aSg5MDM0MiksbD1pKDM0NTExNiksaD1pKDQ0ODQxMSksYz1pLm4oaCk7Y2xhc3MgZCBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fbWFuYWdlcj1uZXcgci5PdmVybGFwTWFuYWdlcix0aGlzLl9oYW5kbGVTbG90PXQ9Pnt0aGlzLl9tYW5hZ2VyLnNldENvbnRhaW5lcih0KX19cmVuZGVyKCl7Y29uc3R7cm91bmRlZDp0PSEwLHNoYWRvd2VkOmU9ITAsZnVsbHNjcmVlbjppPSExLGRhcmtlcjpzPSExLGNsYXNzTmFtZTpyLGJhY2tkcm9wOmgsY29udGFpbmVyVGFiSW5kZXg6ZD0tMX09dGhpcy5wcm9wcyx1PW4oKShyLGMoKS5kaWFsb2csdCYmYygpLnJvdW5kZWQsZSYmYygpLnNoYWRvd2VkLGkmJmMoKS5mdWxsc2NyZWVuLHMmJmMoKS5kYXJrZXIpLHA9KDAsbC5maWx0ZXJEYXRhUHJvcHMpKHRoaXMucHJvcHMpLGc9dGhpcy5wcm9wcy5zdHlsZT97Li4udGhpcy5fY3JlYXRlU3R5bGVzKCksLi4udGhpcy5wcm9wcy5zdHlsZX06dGhpcy5fY3JlYXRlU3R5bGVzKCk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGEuU2xvdENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXMuX21hbmFnZXJ9LGgmJm8uY3JlYXRlRWxlbWVudCgiZGl2Iix7b25DbGljazp0aGlzLnByb3BzLm9uQ2xpY2tCYWNrZHJvcCxjbGFzc05hbWU6YygpLmJhY2tkcm9wfSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5wLGNsYXNzTmFtZTp1LHN0eWxlOmcscmVmOnRoaXMucHJvcHMucmVmZXJlbmNlLG9uRm9jdXM6dGhpcy5wcm9wcy5vbkZvY3VzLG9uTW91c2VEb3duOnRoaXMucHJvcHMub25Nb3VzZURvd24sb25Nb3VzZVVwOnRoaXMucHJvcHMub25Nb3VzZVVwLG9uQ2xpY2s6dGhpcy5wcm9wcy5vbkNsaWNrLG9uS2V5RG93bjp0aGlzLnByb3BzLm9uS2V5RG93bix0YWJJbmRleDpkLCJhcmlhLWxhYmVsIjp0aGlzLnByb3BzLmNvbnRhaW5lckFyaWFMYWJlbH0sdGhpcy5wcm9wcy5jaGlsZHJlbikpLG8uY3JlYXRlRWxlbWVudChhLlNsb3Qse3JlZmVyZW5jZTp0aGlzLl9oYW5kbGVTbG90fSkpfV9jcmVhdGVTdHlsZXMoKXtjb25zdHtib3R0b206dCxsZWZ0OmUsd2lkdGg6aSxyaWdodDpvLHRvcDpzLHpJbmRleDpuLGhlaWdodDphfT10aGlzLnByb3BzO3JldHVybntib3R0b206dCxsZWZ0OmUscmlnaHQ6byx0b3A6cyx6SW5kZXg6bixtYXhXaWR0aDppLGhlaWdodDphfX19fSw5OTU2ODIodCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSx7RHJhZ0hhbmRsZXI6KCk9PnN9KTt2YXIgbz1pKDUzMTkyOCk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcih0LGUsaT17Ym91bmRCeVNjcmVlbjohMH0pe3RoaXMuX2RyYWc9bnVsbCx0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITEsdGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0PXQ9PntpZigwIT09dC5idXR0b258fHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3QucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpO2NvbnN0IGU9KDAsby5jbGFtcFBvc2l0aW9uKSgoMCxvLnBvc2l0aW9uRnJvbU1vdXNlRXZlbnQpKHQpKQo7dGhpcy5fZHJhZ1N0YXJ0KGUpfSx0aGlzLl9vblRvdWNoRHJhZ1N0YXJ0PXQ9PntpZih0aGlzLl9pc1RhcmdldE5vRHJhZ2dhYmxlKHQpKXJldHVybjt0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITAsdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2hlYWRlci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX29uVG91Y2hEcmFnTW92ZSx7cGFzc2l2ZTohMX0pO2NvbnN0IGU9KDAsby5jbGFtcFBvc2l0aW9uKSgoMCxvLnBvc2l0aW9uRnJvbVRvdWNoRXZlbnQpKHQpKTt0aGlzLl9kcmFnU3RhcnQoZSl9LHRoaXMuX29uTW91c2VEcmFnRW5kPXQ9Pnt0LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUmJnRoaXMuX2hlYWRlci5jb250YWlucyh0LnRhcmdldCkmJnQucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpLHRoaXMuX29uRHJhZ1N0b3AoKX0sdGhpcy5fb25Ub3VjaERyYWdFbmQ9dD0+e3RoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX29uVG91Y2hEcmFnTW92ZSksdGhpcy5fb25EcmFnU3RvcCgpLHRoaXMuX2NhbkJlVG91Y2hDbGljayYmKHRoaXMuX2NhbkJlVG91Y2hDbGljaz0hMSwoMCxvLnNpbXVsYXRlQ2xpY2spKHQudGFyZ2V0KSl9LHRoaXMuX29uTW91c2VEcmFnTW92ZT10PT57Y29uc3QgZT0oMCxvLmNsYW1wUG9zaXRpb24pKCgwLG8ucG9zaXRpb25Gcm9tTW91c2VFdmVudCkodCkpO3RoaXMuX2RyYWdNb3ZlKGUpfSx0aGlzLl9vblRvdWNoRHJhZ01vdmU9dD0+e3RoaXMuX2NhbkJlVG91Y2hDbGljaz0hMSx0LnByZXZlbnREZWZhdWx0KCk7Y29uc3QgZT0oMCxvLmNsYW1wUG9zaXRpb24pKCgwLG8ucG9zaXRpb25Gcm9tVG91Y2hFdmVudCkodCkpO3RoaXMuX2RyYWdNb3ZlKGUpfSx0aGlzLl9vbkRyYWdTdG9wPSgpPT57dGhpcy5fZHJhZz1udWxsLHRoaXMuX2hlYWRlci5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLHRoaXMuX29wdGlvbnMub25EcmFnRW5kJiZ0aGlzLl9vcHRpb25zLm9uRHJhZ0VuZCgpfSx0aGlzLl9kaWFsb2c9dCx0aGlzLl9oZWFkZXI9ZSx0aGlzLl9vcHRpb25zPWksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5fb25Nb3VzZURyYWdTdGFydCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hEcmFnU3RhcnQpLHRoaXMuX2hlYWRlci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaERyYWdFbmQpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fZnJhbWUmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9oZWFkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlRHJhZ0VuZCksdGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hEcmFnU3RhcnQpLHRoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaERyYWdFbmQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uTW91c2VEcmFnRW5kKX11cGRhdGVPcHRpb25zKHQpe3RoaXMuX29wdGlvbnM9dH1fZHJhZ1N0YXJ0KHQpe2NvbnN0IGU9dGhpcy5fZGlhbG9nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX2RyYWc9e3N0YXJ0WDp0Lngsc3RhcnRZOnQueSxmaW5pc2hYOnQueCxmaW5pc2hZOnQueSxkaWFsb2dYOmUubGVmdCxkaWFsb2dZOmUudG9wfTtjb25zdCBpPU1hdGgucm91bmQoZS5sZWZ0KSxvPU1hdGgucm91bmQoZS50b3ApO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke2l9cHgsICR7b31weClgLHRoaXMuX2hlYWRlci5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLHRoaXMuX29wdGlvbnMub25EcmFnU3RhcnQmJnRoaXMuX29wdGlvbnMub25EcmFnU3RhcnQoKX1fZHJhZ01vdmUodCl7aWYodGhpcy5fZHJhZyl7aWYodGhpcy5fZHJhZy5maW5pc2hYPXQueCx0aGlzLl9kcmFnLmZpbmlzaFk9dC55LG51bGwhPT10aGlzLl9mcmFtZSlyZXR1cm47dGhpcy5fZnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e2lmKHRoaXMuX2RyYWcpe2NvbnN0IGU9dC54LXRoaXMuX2RyYWcuc3RhcnRYLGk9dC55LXRoaXMuX2RyYWcuc3RhcnRZO3RoaXMuX21vdmVEaWFsb2codGhpcy5fZHJhZy5kaWFsb2dYK2UsdGhpcy5fZHJhZy5kaWFsb2dZK2kpfXRoaXMuX2ZyYW1lPW51bGx9KSl9fV9tb3ZlRGlhbG9nKHQsZSl7Y29uc3QgaT10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse2JvdW5kQnlTY3JlZW46c309dGhpcy5fb3B0aW9ucyxuPSgwLG8uY2xhbXBTZWdtZW50KSh0LGkud2lkdGgscz8wOi0xLzAscz93aW5kb3cuaW5uZXJXaWR0aDoxLzApLGE9KDAsby5jbGFtcFNlZ21lbnQpKGUsaS5oZWlnaHQscz8wOi0xLzAscz93aW5kb3cuaW5uZXJIZWlnaHQ6MS8wKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYH1faXNUYXJnZXROb0RyYWdnYWJsZSh0KXtyZXR1cm4gdC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50JiZudWxsIT09dC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtZGlzYWJsZS1kcmFnXSIpfX19LDU4NTgyMSh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtQb3B1cERpYWxvZzooKT0+Rn0pO3ZhciBvPWkoNzc5NDc0KSxzPWkoOTE0NDg3KSxuPWkubihzKSxhPWkoMTM4NjM4KSxyPWkoOTkxMDY2KSxsPWkoNzE4NTUzKSxoPWkoOTMwMjMxKSxjPWkoNjU5ODc4KSxkPWkoOTk1NjgyKSx1PWkoNTMxOTI4KTtjb25zdCBwPXt2ZXJ0aWNhbDowfTtjbGFzcyBne2NvbnN0cnVjdG9yKHQsZSl7CnRoaXMuX2ZyYW1lPW51bGwsdGhpcy5faXNGdWxsc2NyZWVuPSExLHRoaXMuX2hhbmRsZVJlc2l6ZT0oKT0+e251bGw9PT10aGlzLl9mcmFtZSYmKHRoaXMuX2ZyYW1lPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLnJlY2FsY3VsYXRlQm91bmRzKCksdGhpcy5fZnJhbWU9bnVsbH0pKSl9LHRoaXMuX2RpYWxvZz10LHRoaXMuX2d1YXJkPWUuZ3VhcmR8fHAsdGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb249ZS5jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbix0aGlzLl9pbml0aWFsSGVpZ2h0PXQuc3R5bGUuaGVpZ2h0LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX2hhbmRsZVJlc2l6ZSl9dXBkYXRlT3B0aW9ucyh0KXt0aGlzLl9ndWFyZD10Lmd1YXJkfHxwLHRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uPXQuY2FsY3VsYXRlRGlhbG9nUG9zaXRpb259c2V0RnVsbHNjcmVlbih0KXt0aGlzLl9pc0Z1bGxzY3JlZW4hPT10JiYodGhpcy5faXNGdWxsc2NyZWVuPXQsdGhpcy5yZWNhbGN1bGF0ZUJvdW5kcygpKX1jZW50ZXJBbmRGaXQoKXtjb25zdHt4OnQseTplfT10aGlzLmdldERpYWxvZ3NUb3BMZWZ0Q29vcmRpbmF0ZXMoKSxpPXRoaXMuX2NhbGNBdmFpbGFibGVIZWlnaHQoKSxvPXRoaXMuX2NhbGNEaWFsb2dIZWlnaHQoKTtpZihpPT09bylpZih0aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbil7Y29uc3R7bGVmdDp0LHRvcDplfT10aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbih0aGlzLl9kaWFsb2csZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuX2d1YXJkKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKHQpfXB4LCAke01hdGgucm91bmQoZSl9cHgpYH1lbHNlIHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9bysicHgiO3RoaXMuX2RpYWxvZy5zdHlsZS50b3A9IjBweCIsdGhpcy5fZGlhbG9nLnN0eWxlLmxlZnQ9IjBweCIsdGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7dH1weCwgJHtlfXB4KWB9Z2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpe2NvbnN0e2NsaWVudFdpZHRoOnQsY2xpZW50SGVpZ2h0OmV9PXRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKSxpPXRoaXMuX2NhbGNEaWFsb2dIZWlnaHQoKSxvPXQvMi10aGlzLl9kaWFsb2cuY2xpZW50V2lkdGgvMixzPWUvMi1pLzIrdGhpcy5fZ2V0VG9wT2Zmc2V0KCk7cmV0dXJue3g6TWF0aC5yb3VuZChvKSx5Ok1hdGgucm91bmQocyl9fXJlY2FsY3VsYXRlQm91bmRzKCl7Y29uc3R7Y2xpZW50V2lkdGg6dCxjbGllbnRIZWlnaHQ6ZX09dGhpcy5fZ2V0Q2xpZW50RGltZW5zaW9ucygpLHt2ZXJ0aWNhbDppfT10aGlzLl9ndWFyZCxvPXRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uPy4odGhpcy5fZGlhbG9nLHtjbGllbnRXaWR0aDp0LGNsaWVudEhlaWdodDplfSx7dmVydGljYWw6aX0pO2lmKHRoaXMuX2lzRnVsbHNjcmVlbil7aWYodGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9IjEwMCUiLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09Im5vbmUiLG8pe2NvbnN0e2xlZnQ6dCx0b3A6ZSx3aWR0aDppLGhlaWdodDpzfT1vO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgLGkmJih0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9YCR7aX1weGAsdGhpcy5fZGlhbG9nLnN0eWxlLm1pbldpZHRoPSJ1bnNldCIpLHMmJih0aGlzLl9kaWFsb2cuc3R5bGUuaGVpZ2h0PWAke3N9cHhgLHRoaXMuX2RpYWxvZy5zdHlsZS5taW5IZWlnaHQ9InVuc2V0Iil9fWVsc2UgaWYobyl7Y29uc3R7bGVmdDp0LHRvcDplfT1vO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgfWVsc2V7dGhpcy5fZGlhbG9nLnN0eWxlLndpZHRoPSIiLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9IiI7Y29uc3Qgbz10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz1lLTIqaSxuPSgwLHUuY2xhbXBTZWdtZW50KShvLmxlZnQsby53aWR0aCwwLHQpLGE9KDAsdS5jbGFtcFNlZ21lbnQpKG8udG9wLG8uaGVpZ2h0LGksZSk7dGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYCx0aGlzLl9kaWFsb2cuc3R5bGUuaGVpZ2h0PXM8by5oZWlnaHQ/cysicHgiOnRoaXMuX2luaXRpYWxIZWlnaHR9fWRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9oYW5kbGVSZXNpemUpLG51bGwhPT10aGlzLl9mcmFtZSYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9mcmFtZT1udWxsKX1fZ2V0Q2xpZW50RGltZW5zaW9ucygpe3JldHVybntjbGllbnRIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxjbGllbnRXaWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh9fV9nZXRUb3BPZmZzZXQoKXtyZXR1cm4gMH1fY2FsY0RpYWxvZ0hlaWdodCgpe2NvbnN0IHQ9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpO3JldHVybiB0PHRoaXMuX2RpYWxvZy5jbGllbnRIZWlnaHQ/dDp0aGlzLl9kaWFsb2cuY2xpZW50SGVpZ2h0fV9jYWxjQXZhaWxhYmxlSGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKS5jbGllbnRIZWlnaHQtMip0aGlzLl9ndWFyZC52ZXJ0aWNhbH19dmFyIF89aSg1ODU0OCksbT1pKDQ5MDg5MyksZj1pKDg3MjUxOCksdj1pKDMzMjY2MCksRD1pKDExNzMxMykseT1pKDMzNzM2Mik7dmFyIEU9aSg2OTIyNjYpLHg9aSgxNDc5MDEpLHc9aSgxNzU4NjMpCjtjb25zdCBiPXdbInRvb2x0aXAtb2Zmc2V0Il0sVD0oMCxoLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpP2NsYXNzIGV4dGVuZHMgZ3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy5fZW5hYmxlZD0oMCxoLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpfV9nZXRDbGllbnREaW1lbnNpb25zKCl7Y29uc3QgdD1zdXBlci5fZ2V0Q2xpZW50RGltZW5zaW9ucygpO2lmKHRoaXMuX2VuYWJsZWQpe2NvbnN0IGU9eS5FbWJlZFZpZXdwb3J0RGltZW5zaW9uc1Byb3ZpZGVyLmdldEluc3RhbmNlKCkuZGF0YSgpO2UmJih0LmNsaWVudEhlaWdodD1lLmhlaWdodCl9cmV0dXJuIHR9X2dldFRvcE9mZnNldCgpe2lmKHRoaXMuX2VuYWJsZWQpe2NvbnN0IHQ9eS5FbWJlZFZpZXdwb3J0RGltZW5zaW9uc1Byb3ZpZGVyLmdldEluc3RhbmNlKCkuZGF0YSgpO2lmKHQpcmV0dXJuIHQudG9wfXJldHVybiBzdXBlci5fZ2V0VG9wT2Zmc2V0KCl9fTpnO2NsYXNzIFMgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fY2xlYW5VcEZ1bmN0aW9ucz1bXSx0aGlzLl9wcmV2QWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2V2ZW50RGlzcGF0Y2hlcj1uZXcgdi5EaWFsb2dFdmVudERpc3BhdGNoZXIsdGhpcy5faGFuZGxlRGlhbG9nUmVmPXQ9Pntjb25zdHtyZWZlcmVuY2U6ZX09dGhpcy5wcm9wczt0aGlzLl9kaWFsb2c9dCwiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9LHRoaXMuX2hhbmRsZUZvY3VzPSgpPT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuX2hhbmRsZU1vdXNlRG93bj10PT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQ9dD0+e3RoaXMuX21vdmVUb1RvcCgpfSx0aGlzLnN0YXRlPXtjYW5GaXRUb29sdGlwOiExfSx0aGlzLl9wcmV2QWN0aXZlRWxlbWVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50fXJlbmRlcigpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQobS5Qb3B1cENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LG8uY3JlYXRlRWxlbWVudChsLk91dHNpZGVFdmVudCx7bW91c2VEb3duOiEwLHRvdWNoU3RhcnQ6ITAsaGFuZGxlcjp0aGlzLnByb3BzLm9uQ2xpY2tPdXRzaWRlfSwodD0+by5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6dCwiZGF0YS1vdXRzaWRlLWJvdW5kYXJ5LWZvciI6dGhpcy5wcm9wcy5uYW1lLG9uRm9jdXM6dGhpcy5faGFuZGxlRm9jdXMsb25Nb3VzZURvd246dGhpcy5faGFuZGxlTW91c2VEb3duLG9uVG91Y2hTdGFydDp0aGlzLl9oYW5kbGVUb3VjaFN0YXJ0LCJkYXRhLWRpYWxvZy1uYW1lIjp0aGlzLnByb3BzWyJkYXRhLWRpYWxvZy1uYW1lIl0sImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIjoidHJ1ZSIsImRhdGEtcWEtaWQiOigwLHguZGF0YVFhSWRzKSgidWktbGliLVBvcHVwRGlhbG9nIix0aGlzLnByb3BzLmRhdGFRYUlkKX0sby5jcmVhdGVFbGVtZW50KHIuRGlhbG9nLHtzdHlsZTp0aGlzLl9hcHBseUFuaW1hdGlvbkNTU1ZhcmlhYmxlcygpLC4uLnRoaXMucHJvcHMscmVmZXJlbmNlOnRoaXMuX2hhbmRsZURpYWxvZ1JlZixjbGFzc05hbWU6bigpKHcuZGlhbG9nLCgwLEQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmIXRoaXMucHJvcHMubm9Nb2JpbGVBcHBTaGFkb3dzJiZ3Lm1vYmlsZSx0aGlzLnByb3BzLmZ1bGxzY3JlZW4mJncuZnVsbHNjcmVlbix0aGlzLnByb3BzLmNsYXNzTmFtZSl9LHRoaXMucHJvcHMuZGlhbG9nVG9vbHRpcCYmdGhpcy5zdGF0ZS5jYW5GaXRUb29sdGlwJiZvLmNyZWF0ZUVsZW1lbnQoRS5Ub29sdGlwV2lkZ2V0LHtjbGFzc05hbWU6dy5kaWFsb2dUb29sdGlwfSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXApLHRoaXMucHJvcHMuY2hpbGRyZW4pKSkpKX1jb21wb25lbnREaWRNb3VudCgpe2NvbnN0e2RyYWdnYWJsZTp0LGJvdW5kQnlTY3JlZW46ZSxvbkRyYWdTdGFydDppfT10aGlzLnByb3BzLG89KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kaWFsb2cpO2lmKHRoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLW9wZW4iKSx0KXtjb25zdCB0PW8ucXVlcnlTZWxlY3RvcigiW2RhdGEtZHJhZ2ctYXJlYV0iKTtpZih0JiZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe2NvbnN0IHM9bmV3IGQuRHJhZ0hhbmRsZXIobyx0LHtib3VuZEJ5U2NyZWVuOkJvb2xlYW4oZSksb25EcmFnU3RhcnQ6aX0pO3RoaXMuX2NsZWFuVXBGdW5jdGlvbnMucHVzaCgoKCk9PnMuZGVzdHJveSgpKSksdGhpcy5fZHJhZz1zfX10aGlzLnByb3BzLmF1dG9mb2N1cyYmIW8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkmJm8uZm9jdXMoKSwodGhpcy5faXNGdWxsU2NyZWVuKCl8fHRoaXMucHJvcHMuZml4ZWRCb2R5KSYmKDAsZi5zZXRGaXhlZEJvZHlTdGF0ZSkoITApO2NvbnN0e2d1YXJkOnMsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246bn09dGhpcy5wcm9wcztpZih0aGlzLnByb3BzLnJlc2l6ZUhhbmRsZXIpdGhpcy5fcmVzaXplPXRoaXMucHJvcHMucmVzaXplSGFuZGxlcjtlbHNle2NvbnN0IHQ9bmV3IFQobyx7Z3VhcmQ6cyxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjpufSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+dC5kZXN0cm95KCkpKSx0aGlzLl9yZXNpemU9dH1pZih0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpLHRoaXMucHJvcHMuaXNBbmltYXRpb25FbmFibGVkJiZ0aGlzLnByb3BzLmdyb3dQb2ludCYmdGhpcy5fYXBwbHlBcHBlYXJhbmNlQW5pbWF0aW9uKHRoaXMucHJvcHMuZ3Jvd1BvaW50KSx0aGlzLnByb3BzLmNlbnRlcmVkT25Nb3VudCYmdGhpcy5fcmVzaXplLmNlbnRlckFuZEZpdCgpLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXAmJnRoaXMuX2hhbmRsZVRvb2x0aXBGaXQoKSwKdGhpcy5wcm9wcy5zaG91bGRGb3JjZUZvY3VzKXtpZih0aGlzLnByb3BzLm9uRm9yY2VGb2N1cylyZXR1cm4gdm9pZCB0aGlzLnByb3BzLm9uRm9yY2VGb2N1cyhvKTtvLmZvY3VzKCl9aWYoIW8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpe2NvbnN0IHQ9KDAsdS5maW5kRGVmYXVsdEZvY3VzYWJsZUVsZW1lbnQpKG8pO3QgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5mb2N1cygpfX1jb21wb25lbnREaWRVcGRhdGUodCl7Y29uc3QgZT10LmZ1bGxzY3JlZW47aWYodGhpcy5fcmVzaXplKXtjb25zdHtndWFyZDp0LGNhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uOmV9PXRoaXMucHJvcHM7dGhpcy5fcmVzaXplLnVwZGF0ZU9wdGlvbnMoe2d1YXJkOnQsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246ZX0pLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKX1pZih0aGlzLl9kcmFnJiZ0aGlzLl9kcmFnLnVwZGF0ZU9wdGlvbnMoe2JvdW5kQnlTY3JlZW46Qm9vbGVhbih0aGlzLnByb3BzLmJvdW5kQnlTY3JlZW4pLG9uRHJhZ1N0YXJ0OnRoaXMucHJvcHMub25EcmFnU3RhcnR9KSx0LmZ1bGxzY3JlZW4hPT10aGlzLnByb3BzLmZ1bGxzY3JlZW4pe2NvbnN0IHQ9dGhpcy5wcm9wcy5mdWxsc2NyZWVuO3QmJiFlP3RoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLWZ1bGxzY3JlZW4tb24iKTohdCYmZSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vZmYiKX19Y29tcG9uZW50V2lsbFVubW91bnQoKXtpZih0aGlzLnByb3BzLnNob3VsZFJldHVybkZvY3VzJiZ0aGlzLl9wcmV2QWN0aXZlRWxlbWVudCYmZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLl9wcmV2QWN0aXZlRWxlbWVudCkmJihudWxsPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWRvY3VtZW50LmJvZHl8fHRoaXMuX2RpYWxvZz8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpKXRyeXtzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3ByZXZBY3RpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KSl9Y2F0Y2h7fWZvcihjb25zdCB0IG9mIHRoaXMuX2NsZWFuVXBGdW5jdGlvbnMpdCgpOyh0aGlzLl9pc0Z1bGxTY3JlZW4oKXx8dGhpcy5wcm9wcy5maXhlZEJvZHkpJiYoMCxmLnNldEZpeGVkQm9keVN0YXRlKSghMSksdGhpcy5faXNGdWxsU2NyZWVuKCkmJnRoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLWZ1bGxzY3JlZW4tb2ZmIiksdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctY2xvc2UiKX1mb2N1cygpe3RoaXMuX2RpYWxvZyYmdGhpcy5fZGlhbG9nLmZvY3VzKCl9Y2VudGVyQW5kRml0KCl7dGhpcy5fcmVzaXplJiZ0aGlzLl9yZXNpemUuY2VudGVyQW5kRml0KCl9cmVjYWxjdWxhdGVCb3VuZHMoKXt0aGlzLl9yZXNpemUmJnRoaXMuX3Jlc2l6ZS5yZWNhbGN1bGF0ZUJvdW5kcygpfV9tb3ZlVG9Ub3AoKXt0aGlzLnByb3BzLmlzWkluZGV4Rml4ZWR8fG51bGwhPT10aGlzLmNvbnRleHQmJnRoaXMuY29udGV4dC5tb3ZlVG9Ub3AoKX1fYXBwbHlBbmltYXRpb25DU1NWYXJpYWJsZXMoKXtyZXR1cm57Ii0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WSI6bnVsbCwiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFkiOm51bGx9fV9hcHBseUFwcGVhcmFuY2VBbmltYXRpb24odCl7aWYodGhpcy5fcmVzaXplJiZ0aGlzLl9kaWFsb2cpe2NvbnN0e3g6ZSx5Oml9PXQse3g6byx5OnN9PXRoaXMuX3Jlc2l6ZS5nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCk7dGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WCIsYCR7ZX1weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFkiLGAke2l9cHhgKSx0aGlzLl9kaWFsb2cuc3R5bGUuc2V0UHJvcGVydHkoIi0tYW5pbWF0aW9uVHJhbnNsYXRlRW5kWCIsYCR7b31weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRZIixgJHtzfXB4YCksdGhpcy5fZGlhbG9nLmNsYXNzTGlzdC5hZGQody5kaWFsb2dBbmltYXRlZEFwcGVhcmFuY2UpfX1faGFuZGxlVG9vbHRpcEZpdCgpe2lmKHRoaXMuX3Jlc2l6ZSl7Y29uc3QgdD10aGlzLl9yZXNpemUuZ2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpLnktcGFyc2VJbnQoYik+PTA7dGhpcy5zZXRTdGF0ZSh7Y2FuRml0VG9vbHRpcDp0fSl9fV9pc0Z1bGxTY3JlZW4oKXtyZXR1cm4gQm9vbGVhbih0aGlzLnByb3BzLmZ1bGxzY3JlZW4pfX1TLmNvbnRleHRUeXBlPV8uUG9ydGFsQ29udGV4dCxTLmRlZmF1bHRQcm9wcz17Ym91bmRCeVNjcmVlbjohMCxkcmFnZ2FibGU6ITAsY2VudGVyZWRPbk1vdW50OiEwLHNob3VsZFJldHVybkZvY3VzOiEwfTtjb25zdCBGPSgwLGMubWFrZU92ZXJsYXBhYmxlKShTLCEwKX0sNTMxOTI4KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2NsYW1wUG9zaXRpb246KCk9PnIsY2xhbXBTZWdtZW50OigpPT5hLGZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudDooKT0+ZCxwb3NpdGlvbkZyb21Nb3VzZUV2ZW50OigpPT5oLHBvc2l0aW9uRnJvbVRvdWNoRXZlbnQ6KCk9PmMsc2ltdWxhdGVDbGljazooKT0+bH0pO3ZhciBvLHM9aSg2NDA3NDQpLG49aSg2ODIzODEpO2Z1bmN0aW9uIGEodCxlLGksbyl7cmV0dXJuIHQrZT5vJiYodD1vLWUpLHQ8aSYmKHQ9aSksdH1mdW5jdGlvbiByKHQpe3JldHVybnt4OigwLHMuY2xhbXApKHQueCwyMCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgtMjApLHk6KDAscy5jbGFtcCkodC55LDIwLHdpbmRvdy5pbm5lckhlaWdodC0yMCl9fWZ1bmN0aW9uIGwodCl7aWYodCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIlNWR0V2ZW50cyIpCjtlLmluaXRFdmVudCgiY2xpY2siLCEwLCEwKSx0LmRpc3BhdGNoRXZlbnQoZSl9dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0LmNsaWNrKCl9ZnVuY3Rpb24gaCh0KXtyZXR1cm57eDp0LmNsaWVudFgseTp0LmNsaWVudFl9fWZ1bmN0aW9uIGModCl7cmV0dXJue3g6dC50b3VjaGVzWzBdLmNsaWVudFgseTp0LnRvdWNoZXNbMF0uY2xpZW50WX19ZnVuY3Rpb24gZCh0KXtjb25zdCBlPXQucXVlcnlTZWxlY3RvcigiW2F1dG9mb2N1c106bm90KFtkaXNhYmxlZF0pIik7aWYoZSlyZXR1cm4gZTtpZih0LnRhYkluZGV4Pj0wKXJldHVybiB0O2NvbnN0IGk9KDAsbi5nZXRBY3RpdmVFbGVtZW50U2VsZWN0b3JzKSgpLG89QXJyYXkuZnJvbSh0LnF1ZXJ5U2VsZWN0b3JBbGwoaSkpLmZpbHRlcigoMCxuLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKSh0KSk7bGV0IHM9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGE9bnVsbDtmb3IobGV0IHQ9MDt0PG8ubGVuZ3RoO3QrKyl7Y29uc3QgZT1vW3RdLGk9ZS5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iik7aWYobnVsbCE9PWkpe2NvbnN0IHQ9cGFyc2VJbnQoaSwxMCk7IWlzTmFOKHQpJiZ0PnMmJihzPXQsYT1lKX19cmV0dXJuIGF9IWZ1bmN0aW9uKHQpe3RbdC5Nb3VzZUd1YXJkWm9uZT0yMF09Ik1vdXNlR3VhcmRab25lIn0ob3x8KG89e30pKX0sODA2NjkzKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS43MDcgOWw0LjY0Ny00LjY0Ni0uNzA3LS43MDhMOSA4LjI5MyA0LjM1NCAzLjY0NmwtLjcwOC43MDhMOC4yOTMgOWwtNC42NDcgNC42NDYuNzA4LjcwOEw5IDkuNzA3bDQuNjQ2IDQuNjQ3LjcwOC0uNzA3TDkuNzA3IDl6Ii8+PC9zdmc+J319XSk7"}},"time_used":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":"s3-symbol-logo.tradingview.com/crypto/XTVCUNI.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.455Z","timestamp":1785136905455,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCUNI.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCWLDW.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.477Z","timestamp":1785136905477,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCWLDW.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCHUMA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.555Z","timestamp":1785136905555,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCHUMA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCMASK.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.598Z","timestamp":1785136905598,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCMASK.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/img/about-us.jpg","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.534Z","timestamp":1785136899534,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/about-us.jpg HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/jpeg\r\nContent-Length: 226037\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":226037,"size_decoded":226250,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 1104x1280, components 3","md5":"270433cc8b46dd9a84ed21442f8d372e","sha1":"2da5a7f00b021fe50b043cd5fb1dc92a40cc3a8e","sha256":"1d5078925aa60034c19d7056602c6d93b6a8a4fdbbc6fa216bfea81b9260f67b","sha512":"38532dca526600dea49056f83204d54cc7527fdaf06c920b8d689df2fc7d617676668d583b8ca3d484104fb8ae3c36d17686774fc8571e4b33be96e3fb7592d2","ssdeep":"6144:iIu1aKmrmPD5q06UvkZugB39KGOK20SKKoWpzEdkBHj:iAKPtt68kZ5N0odkBHj","tlshash":"992412477ae5d8e0ec00cd5cd271088dafbb0c84284b79f5307485bb79ab076bdb961a","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-07-27T13:11:21.924405Z","times_seen":76,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QP9aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ZGM3ZWQwMi05NzkzLTRiNGEtYmRhYS0zOWQwYWJjMjkwYzAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Rjc1ODgzRkQ0QjIwMTFFQUJGNTZFRTUwMEEwQjNGMTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Rjc1ODgzRkM0QjIwMTFFQUJGNTZFRTUwMEEwQjNGMTkiIHhtcDpDcmVhdG9yVG9vbD0iQ2FwdHVyZSBPbmUgMTAgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUJEMTZBRjkyQ0JFMTFFQTkwMTJEOTI3MDc4RTMzODgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUJEMTZBRkEyQ0JFMTFFQTkwMTJEOTI3MDc4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"}},"time_used":899,"timings":{"blocked":591,"dns":0,"connect":0,"send":0,"wait":93,"receive":215,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.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://huobiget.com/","date":"2026-07-27T07:21:40.330Z","timestamp":1785136900330,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /embed-widget/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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 GMT\r\ncontent-type: text/html; charset=utf-8\r\nvary: Accept-Encoding\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\ncache-control: max-age=120\r\nexpires: Mon, 27 Jul 2026 07:19:51 GMT\r\ncontent-security-policy: object-src 'none'; 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-UaeHkelr3okY5DWA7TVBiA=='\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/27/2026 07:19:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1601513f7d0f9356b955f7177480d580\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"]},{"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"]}],"data":{"size":52010,"size_decoded":17379,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17729)","md5":"7af7873d4109c82d6e5af03930f36b1c","sha1":"93715e66c47065c09ac297cfa3a1c4413f6a8ba2","sha256":"4358b4d53d6e16f9c628e19d4543fcefa9f75d4ea4f3592d9bd6ecfd749c2613","sha512":"9c42d7112f8697cfcf1bce588d2cf6fef2cdad215ed62bba87ac0a538c4c030c0276cee87746fdaa523858b35c8d2cb91a76bc6216cf98018b244533b1d41efe","ssdeep":"1536:Dp8RteetNzfMO53tCJNogd73aWn+66ceuvRMU:Dp8RteetNzfMO53tCJNl2We4MU","tlshash":"ea33e75398098b05dad64b057c33b203f92903a89552689479acecdc159ffc2f1a7bfe","first_seen":"2026-07-27T07:21:24.358676Z","last_seen":"2026-07-27T07:22:35.621589Z","times_seen":3,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UaWNrZXIgVGFwZSBXaWRnZXQ8L3RpdGxlPgoKCTxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KCgk8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM5MDcwLjU1Y2JjN2ExZGE5NjNiMzgyOWIzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NjkwNy5jNWFmOGFhN2I1MDgyYjE4NzVhNS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjgxNi4zNTVkNzViMjFhZTRiNTM0YTg0OS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80MzMyNS4yNTZmYTVhNTIxM2I5Y2I3MGY1Yy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zOTA1LjY4MmU4OWVmMmRjNGM3MDQyM2M2LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzE1OTMyLjJhNzBkMzk3YzM0ZjJlOWRlOTRmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxNTA4Ljc2NzIxOTI4M2M2NWY0ZDRjYTZlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg0MDguZGU1MzQ2NjNlMDUyMDc1YmExMmYuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODAwOTcuMGEzY2ZkYzI4MDI4Nzk1MjJhZWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+Cgo8c2NyaXB0IG5vbmNlPSJVYWVIa2VscjNva1k1RFdBN1RWQmlBPT0iPgoJd2luZG93LmxvY2FsZSA9ICdlbic7Cgl3aW5kb3cubGFuZ3VhZ2UgPSAnZW4nOwo8L3NjcmlwdD4KCTxzY3JpcHQgbm9uY2U9IlVhZUhrZWxyM29rWTVEV0E3VFZCaUE9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7PC9zY3JpcHQ+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX3RpY2tlcl90YXBlX3dpZGdldC45NjJmNzc3YzIzYjY2MGQ4MzBhNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU3MjkxLjcyMDgzODQyMTBmN2MzM2JjY2U0LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM1Mi4zMzAxMWYyNDRiOTJlYTBiNjQyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDcwOC43M2QyYmNhMzcyMDdjNjdhNDFmNC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA1OTQuZTg3NDQ0ZTI2ZjllMTI1NDUyMzEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc5MjA3LjZhNjJmYzgwM2QzZDA3ODk4OTM2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83Mjc4LjczODc1OWVmMGFjMzM0NjkyNTNiLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8yMDA2MS44NzE1YTQ1MjUxNGQ0NWQ1ZGQzYi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODc5MjYuOGFiOWNmZWRlMTYyOTUxMDcwMTcuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX3RpY2tlcl90YXBlX3dpZGdldC45NjVjOTBkYzZkNDEzMTlmMTMyZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+PHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF90aWNrZXJfdGFwZV93aWRnZXQuOTYyZjc3N2MyM2I2NjBkODMwYTUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjU3MjkxLjcyMDgzODQyMTBmN2MzM2JjY2U0LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwNzA2LmE1OTEzYWE2YWQ2MmQ5ZGJmMDMxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjkzNTIuMzMwMTFmMjQ0YjkyZWEwYjY0MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQ3MDguNzNkMmJjYTM3MjA3YzY3YTQxZjQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODA1OTQuZTg3NDQ0ZTI2ZjllMTI1NDUyMzEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83OTIwNy42YTYyZmM4MDNkM2QwNzg5ODkzNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzcyNzguNzM4NzU5ZWYwYWMzMzQ2OTI1M2IuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8yMDA2MS44NzE1YTQ1MjUxNGQ0NWQ1ZGQzYi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg3OTI2LjhhYjljZmVkZTE2Mjk1MTA3MDE3LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfdGlja2VyX3RhcGVfd2lkZ2V0Ljk2NWM5MGRjNmQ0MTMxOWYxMzJkLmpzIiBkZWZlcj48L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJVYWVIa2VscjNva1k1RFdBN1RWQmlBPT0iPndpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjM1LCJjaGFydF9hdXRvc2F2ZV81bWluIjoxLjAsImNoYXJ0X2F1dG9zYXZlXzMwbWluIjoxLjAsInBlcmZvcm1hbmNlX3Rlc3RfbW9kZSI6MS4wLCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCI6MS4wLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzYwbWluIjoxLjAsInN1cHBvcnRfcGVyc2lzdGVudF9sb2dzIjoxLjAsIm5ld19zdG9yYWdlX3N1YnNjcmlwdGlvbl91cmwiOjEuMCwicmVtb3ZlX2FuY2hvcmVkX3RleHQiOjEuMCwiZW5hYmxlX3N0ZXBfYnlfc3RlcF9oaW50c19mb3JfZHJhd2luZ3MiOjEuMCwicHVzaHN0cmVhbV9iYXNpY190ZWxlbWV0cnkiOjEuMCwiYWxsb3dfYnJhY2tldHNfcHJvZml0X2xvc3MiOjEuMCwiZW5hYmxlX3RyYWRlZF9jb250ZXh0X2xpbmtpbmciOjEuMCwib3JkZXJfY29udGV4dF92YWxpZGF0aW9uX2luX2luc3RhbnRfbW9kZSI6MS4wLCJhbGVydHMtb24tZnVuZGFtZW50YWwtbWV0cmljcyI6MS4wLCJhbGVydHMtbm90aWZpY2F0aW9uLXNjaGVkdWxlIjoxLjAsImFsZXJ0cy13YXRjaGxpc3QtZXh0ZW5kZWQtaG91cnMiOjEuMCwiZW5hYmxlX3N5bWJvbF9jaGFuZ2VfcmVzdHJpY3Rpb25fb25fd2lkZ2V0cyI6MS4wLCJlbmFibGVfYXN4X3N5bWJvbF9yZXN0cmljdGlvbiI6MS4wLCJzeW1waG9ueV9hbGxvd19ub25fcGFydGl0aW9uZWRfY29va2llX29uX29sZF9zeW1waG9ueSI6MS4wLCJzeW1waG9ueV9ub3RpZmljYXRpb25fYmFkZ2VzIjoxLjAsInN5bXBob255X3VzZV9hZGtfZm9yX3VwZ3JhZGVfcmVxdWVzdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF90cmFja2luZyI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9zb2Z0X2xpbWl0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X2hhcmRfbGltaXQiOjEuMCwidGVsZWdyYW1fbWluaV9hcHBfcmVkdWNlX3NuYXBzaG90X3F1YWxpdHkiOjEuMCwibmV3c19zeW1ib2xfb3ZlcnZpZXdfa2V5X2ZhY3RzIjoxLjAsInRpbWVvdXRfZGphbmdvX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb191c2Vyc2V0dGluZ3NfZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX2NoYXJ0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fc3ltYm9sc19saXN0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fbWluZHNfZGIiOjAuMDUsInRpbWVvdXRfZGphbmdvX2xvZ2dpbmdfZGIiOjAuMjUsImRpc2FibGVfc2VydmljZXNfbW9uaXRvcl9tZXRyaWNzIjoxLjAsImVuYWJsZV9zaWduaW5fcmVjYXB0Y2hhIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sX2NvbW1lbnRzIjoxLjAsImVuYWJsZV9zcGFtZGV0ZWN0b3JtbF9jaGF0IjoxLjAsImVuYWJsZV9taW5kc19zcGFtZGV0ZWN0b3JtbCI6MS4wLCJiYWNrZW5kLWNvbm5lY3Rpb25zLWluLXRva2VuIjoxLjAsIm9uZV9jb25uZWN0aW9uX3dpdGhfZXhjaGFuZ2VzIjoxLjAsIm1vYmlsZS1hZHMtaW9zIjoxLjAsIm1vYmlsZS1hZHMtYW5kcm9pZCI6MS4wLCJnb29nbGUtb25lLXRhcC1zaWduaW4iOjEuMCwiYnJhaW50cmVlLWdvcHJvLWluLW9yZGVyLWRpYWxvZyI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5IjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5IjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktZnJvbS1pb3MtYXBwIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktdHJpYWwiOjEuMCwidHJpcGxlYS1wYXltZW50cyI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheS10cmlhbCI6MS4wLCJicmFpbnRyZWUtb25lLXVzZC12ZXJpZmljYXRpb24iOjEuMCwiYnJhaW50cmVlLTNkcy1lbmFibGVkIjoxLjAsImJyYWludHJlZS0zZHMtc3RhdHVzLWNoZWNrIjoxLjAsImJyYWludHJlZS1hZGRpdGlvbmFsLWNhcmQtY2hlY2tzLWZvci10cmlhbCI6MS4wLCJicmFpbnRyZWUtaW5zdGFudC1zZXR0bGVtZW50IjoxLjAsImJyYWludHJlZV9yZWN1cnJpbmdfYmlsbGluZ19zY2hlZHVsZXJfc3Vic2NyaXB0aW9uIjoxLjAsImNoZWNrb3V0X21hbnVhbF9jYXB0dXJlX3JlcXVpcmVkIjoxLjAsImNoZWNrb3V0LXN1YnNjcmlwdGlvbnMiOjEuMCwiY2hlY2tvdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY29tbWVyY2lhbF9jYXJkX3RyaWFsIjoxLjAsImVuYWJsZV9wYXltZW50c18zZHNfb3B0aW1pemF0aW9uIjoxLjAsImNvdW50cnlfb2ZfaXNzdWFuY2VfdnNfYmlsbGluZ19jb3VudHJ5IjoxLjAsImNoZWNrb3V0X3Nob3dfaW5zdGVhZF9vZl9icmFpbnRyZWUiOjEuMCwiY2hlY2tvdXQtM2RzIjoxLjAsImNoZWNrb3V0LXBheXBhbCI6MS4wLCJjaGVja291dF9pbmNsdWRlX2FjY291bnRfaG9sZGVyIjoxLjAsImNoZWNrb3V0LXBheXBhbC10cmlhbCI6MS4wLCJhbm51YWxfdG9fbW9udGhseV9kb3duZ3JhZGVfYXR0ZW1wdCI6MS4wLCJyYXpvcnBheV90cmlhbF8xMF9pbnIiOjEuMCwicmF6b3JwYXktY2FyZC1vcmRlci10b2tlbi1zZWN0aW9uIjoxLjAsInJhem9ycGF5LWNhcmQtc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS11cGktc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS1zMy1pbnZvaWNlLXVwbG9hZCI6MS4wLCJyYXpvcnBheV9pbmNsdWRlX2RhdGVfb2ZfYmlydGgiOjEuMCwiZGxvY2FsLXBheW1lbnRzIjoxLjAsInJldm9sdXQtcGF5LXBheW1lbnRzIjoxLjAsInJldm9sdXQtY2FyZC1wYXltZW50cyI6MC41LCJkbG9jYWwtcGl4LWF1dG9tYXRpY28iOjEuMCwiYnJhaW50cmVlX3RyYW5zYWN0aW9uX3NvdXJjZSI6MS4wLCJ2ZXJ0ZXgtdGF4IjoxLjAsInZlcnRleC10YXgtZml4IjoxLjAsInJlY2VpcHRfaW5fZW1haWxzIjoxLjAsImFkd29yZHMtYW5hbHl0aWNzIjoxLjAsImNtMzYwLWFuYWx5dGljcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfaW9zIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9hbmRyb2lkIjoxLjAsInJlcXVpcmVkX2FncmVlbWVudF9mb3JfcnQiOjEuMCwiY2hlY2tfbWFya2V0X2RhdGFfbGltaXRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2RhdGEiOjEuMCwiZm9yY2VfdG9fdXBncmFkZV90b19leHBlcnQiOjEuMCwic2VuZF90cmFkZXZhbl9pbnZvaWNlIjoxLjAsInNob3dfcGVwZV9hbmltYXRpb24iOjEuMCwic2VuZF9uZXh0X3BheW1lbnRfaW5mb19yZWNlaXB0IjoxLjAsInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iOjEuMCwic2NyZWVuZXItYWxlcnRzLXJlYWQtb25seSI6MS4wLCJzY3JlZW5lcl9ib25kX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9zdG9ja19haV9maWx0ZXJzX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfaXNfYWxsb3dlZF90b19jcmVhdGVfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JhdGluZ19jb2x1bW5zX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3NvcnRpbmdfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfZ3JvdXBfYnlfaXNpbl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zeW1ib2xfc2VhcmNoX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JlZ2lzdHJhdGlvbl9iYW5uZXJfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNlc190cmFja2luZyI6MS4wLCJzZW5kX2ZpbmFuY2lhbF9ub3RpZmljYXRpb25zIjoxLjAsInNwYXJrX3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya19jYXRlZ29yeV90cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfdGFnc190cmFuc2xhdGlvbnMiOjEuMCwicHJvX3BsYW5faW5pdGlhbF9yZWZ1bmRzX2Rpc2FibGVkIjoxLjAsInByZXZpb3VzX21vbm9wcm9kdWN0X3B1cmNoYXNlc19yZWZ1bmRzX2VuYWJsZWQiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9ucyI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zX2ZlZWQiOjEuMCwiZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJldGhvY2FfYWxlcnRfbm90aWZpY2F0aW9uX3dlYmhvb2siOjEuMCwiaGlkZV9zdXNwaWNpb3VzX3VzZXJzX2lkZWFzIjoxLjAsImRpc2FibGVfcHVibGlzaF9zdHJhdGVneV9yYW5nZV9iYXNlZF9jaGFydCI6MS4wLCJyZXN0cmljdF9zaW11bHRhbmVvdXNfcmVxdWVzdHMiOjEuMCwibG9naW5fZnJvbV9uZXdfZGV2aWNlX2VtYWlsIjoxLjAsInNzcl93b3JrZXJfbm93YWl0IjoxLjAsImJyb2tlcl9BMUNBUElUQUwiOjEuMCwiYnJva2VyX0FDVElWVFJBREVTIjoxLjAsImJyb2tlcl9BTENIRU1ZTUFSS0VUUyI6MS4wLCJicm9rZXJfQUxJQ0VCTFVFIjoxLjAsImhpZGVfQUxPUl9vbl9pb3MiOjEuMCwiaGlkZV9BTE9SX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9BTE9SX29uX21vYmlsZV93ZWIiOjEuMCwiYWxvci1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0FMUEFDQSI6MS4wLCJicm9rZXJfQUxSQU1aIjoxLjAsImJyb2tlcl9BTVAiOjEuMCwiYnJva2VyX0FOR0VMT05FIjoxLjAsImJyb2tlcl9BVkFfRlVUVVJFUyI6MS4wLCJBVkFfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9CMlBSSU1FIjoxLjAsImJyb2tlcl9CQUpBSiI6MS4wLCJicm9rZXJfQkVZT05EIjoxLjAsImJyb2tlcl9CSU5BTkNFIjoxLjAsImVuYWJsZV9iaW5hbmNlYXBpc19iYXNlX3VybCI6MS4wLCJicm9rZXJfQklOR0JPTiI6MS4wLCJicm9rZXJfQklUQVpaQSI6MS4wLCJicm9rZXJfQklUR0VUIjoxLjAsImJyb2tlcl9CSVRNRVgiOjEuMCwiYnJva2VyX0JJVFNUQU1QIjoxLjAsImJyb2tlcl9CTEFDS0JVTEwiOjEuMCwiYnJva2VyX0JMVUVCRVJSWU1BUktFVFMiOjEuMCwiYnJva2VyX0JUQ0MiOjEuMCwiYnJva2VyX0JZQklUIjoxLjAsImJyb2tlcl9DQVBJVEFMQ09NIjoxLjAsImJyb2tlcl9DQVBUUkFERVIiOjEuMCwiQ0FQVFJBREVSX3NlcGFyYXRlX2ludGVncmF0aW9uX21pZ3JhdGlvbl93YXJuaW5nIjoxLjAsImJyb2tlcl9DRkkiOjEuMCwiYnJva2VyX0NHU0kiOjEuMCwiYnJva2VyX0NJVFlJTkRFWCI6MS4wLCJjaXR5aW5kZXhfc3ByZWFkYmV0dGluZyI6MS4wLCJDTEVBUlNUUkVFVF9iZXRhIjoxLjAsImJyb2tlcl9DTUNNQVJLRVRTIjoxLjAsImJyb2tlcl9DT0JSQVRSQURJTkciOjEuMCwiYnJva2VyX0NPSU5CQVNFIjoxLjAsImNvaW5iYXNlX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJjb2luYmFzZV9jYW5jZWxfcG9zaXRpb25fYnJhY2tldHMiOjEuMCwiYnJva2VyX0NPSU5KQVIiOjEuMCwiQ09JTkpBUl9iZXRhIjoxLjAsImJyb2tlcl9DT0lOU1dJVENIIjoxLjAsImJyb2tlcl9DT0lOVyI6MS4wLCJicm9rZXJfQ09MTUVYIjoxLjAsImhpZGVfQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiY3FnLXJlYWx0aW1lLWJhbmR3aWR0aC1saW1pdCI6MS4wLCJicm9rZXJfQ1JZUFRPQ09NIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25faW9zIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0NYTSI6MS4wLCJicm9rZXJfREFPTCI6MS4wLCJicm9rZXJfREFSV0lORVgiOjEuMCwiREFSV0lORVhfYmV0YSI6MS4wLCJicm9rZXJfREVMVEEiOjEuMCwiYnJva2VyX0RFUkFZQUgiOjEuMCwiYnJva2VyX0RFUklWIjoxLjAsImJyb2tlcl9ESEFOIjoxLjAsImJyb2tlcl9ETlNFIjoxLjAsImJyb2tlcl9ET1JNQU4iOjEuMCwiaGlkZV9EVU1NWV9vbl9pb3MiOjEuMCwiaGlkZV9EVU1NWV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRFVNTVlfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRUFTWU1BUktFVFMiOjEuMCwiYnJva2VyX0VDT1ZBTE9SRVMiOjEuMCwiYnJva2VyX0VER0VDTEVBUiI6MS4wLCJlZGdlY2xlYXJfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfRUlHSFRDQVAiOjEuMCwiYnJva2VyX0VSUkFOVEUiOjEuMCwiYnJva2VyX0VTQUZYIjoxLjAsIkZJREVMSVRZX2JldGEiOjEuMCwiRklERUxJVFlfdXNfcmVsZWFzZSI6MC4yNSwiZmlkZWxpdHlfc2VjdXJpdHlfdG9rZW4iOjEuMCwiYnJva2VyX0ZPUkVYQ09NIjoxLjAsImZvcmV4Y29tX3Nlc3Npb25fdjIiOjEuMCwiYnJva2VyX0ZQTUFSS0VUUyI6MS4wLCJoaWRlX0ZUWF9vbl9pb3MiOjEuMCwiaGlkZV9GVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImZ0eF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZVU0lPTk1BUktFVFMiOjEuMCwiZnhjbV9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GWENNIjoxLjAsImhpZGVfRlhPUEVOX29uX2lvcyI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlhPUEVOX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0ZYUFJPIjoxLjAsImJyb2tlcl9GWFRGIjoxLjAsImJyb2tlcl9GWUVSUyI6MS4wLCJicm9rZXJfR0FURSI6MS4wLCJicm9rZXJfR0JFQlJPS0VSUyI6MS4wLCJnZW1pbmktYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HRU5JQUxJTlZFU1RJTUVOVE9TIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25faW9zIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX21vYmlsZV93ZWIiOjEuMCwiZ2xvYmFscHJpbWUtYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HT01BUktFVFMiOjEuMCwiYnJva2VyX0dPVFJBREUiOjEuMCwiZ290cmFkZV9lbmFibGVfc3RyZWFtaW5nX2VuZHBvaW50cyI6MS4wLCJicm9rZXJfSEVSRU5ZQSI6MS4wLCJoaWRlX0hUWF9vbl9pb3MiOjEuMCwiaGlkZV9IVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0hUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9JQktSIjoxLjAsImNoZWNrX2lia3Jfc2lkZV9tYWludGVuYW5jZSI6MS4wLCJpYmtyX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3BhcmFsbGVsX3Byb3ZpZGVyX2luaXRpYWxpemF0aW9uIjoxLjAsImlia3Jfd3NfYWNjb3VudF9zdW1tYXJ5IjoxLjAsImlia3Jfd3Nfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3N1YnNjcmliZV90b19vcmRlcl91cGRhdGVzX2ZpcnN0IjoxLjAsImlia3Jfd3NfYWNjb3VudF9sZWRnZXIiOjEuMCwiYnJva2VyX0lCUk9LRVIiOjEuMCwiYnJva2VyX0lDTUFSS0VUUyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0FTSUMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19FVSI6MS4wLCJicm9rZXJfSUciOjEuMCwiYnJva2VyX0lORFNUT0NLUyI6MS4wLCJicm9rZXJfSU5GT1lBVElSSU0iOjEuMCwiYnJva2VyX0lOTk9WRVNUWCI6MS4wLCJicm9rZXJfSU5URVJBQ1RJVkVJTCI6MS4wLCJicm9rZXJfSU5WRVNUUkFERSI6MS4wLCJJTlZFU1RSQURFX2JldGEiOjEuMCwiYnJva2VyX0lST05CRUFNIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tJV09PTSI6MS4wLCJraXdvb21fdXNlX3NlcGFyYXRlX3N0cmVhbWluZ191cmwiOjEuMCwiYnJva2VyX0tPVEFLIjoxLjAsImhpZGVfS09UQUtfb25faW9zIjoxLjAsImhpZGVfS09UQUtfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0tPVEFLX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tSQUtFTiI6MS4wLCJoaWRlX0tSQUtFTl9vbl9pb3MiOjEuMCwiaGlkZV9LUkFLRU5fb25fYW5kcm9pZCI6MS4wLCJLUkFLRU5fYmV0YSI6MS4wLCJrcmFrZW5fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9LU0VDVVJJVElFUyI6MS4wLCJicm9rZXJfTElCRVJBVE9SIjoxLjAsImJyb2tlcl9NRVhDIjoxLjAsImJyb2tlcl9NRVhFTSI6MS4wLCJicm9rZXJfTUlEQVMiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX01PT01PTyI6MS4wLCJicm9rZXJfTU9USUxBTE9TV0FMIjoxLjAsImJyb2tlcl9OSU5KQVRSQURFUiI6MS4wLCJicm9rZXJfT0FOREEiOjEuMCwib2FuZGFfc2VydmVyX2xvZ2dpbmciOjEuMCwib2FuZGFfb2F1dGhfbXVsdGlwbGV4aW5nIjoxLjAsImJyb2tlcl9PS1giOjEuMCwiYnJva2VyX09QT0ZJTkFOQ0UiOjEuMCwiYnJva2VyX09QVElNVVMiOjEuMCwiYnJva2VyX09TTUFOTEkiOjEuMCwiYnJva2VyX09TTUFOTElGWCI6MS4wLCJwYXBlcl9mb3JjZV9jb25uZWN0X3B1c2hzdHJlYW0iOjEuMCwicGFwZXJfc3ViYWNjb3VudF9jdXN0b21fY3VycmVuY3kiOjEuMCwicGFwZXJfb3V0c2lkZV9ydGgiOjEuMCwiYnJva2VyX1BBWVRNIjoxLjAsImJyb2tlcl9QRVBQRVJTVE9ORSI6MS4wLCJicm9rZXJfUEhFTUVYIjoxLjAsImJyb2tlcl9QSElMTElQQ0FQSVRBTF9UUiI6MS4wLCJicm9rZXJfUEhJTExJUE5PVkEiOjEuMCwiYnJva2VyX1BMVVM1MDAiOjEuMCwicGx1czUwMF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIlBMVVM1MDBVU19iZXRhIjoxLjAsImJyb2tlcl9QVVJQTEVUUkFESU5HIjoxLjAsImJyb2tlcl9RVUVTVFJBREUiOjEuMCwiYnJva2VyX1JBVkFCVVJTQVRJTCI6MS4wLCJSQVZBQlVSU0FUSUxfYmV0YSI6MS4wLCJicm9rZXJfUklZQURDQVBJVEFMIjoxLjAsImJyb2tlcl9ST0JPTUFSS0VUUyI6MS4wLCJicm9rZXJfUkVQTEFZQlJPS0VSIjoxLjAsImJyb2tlcl9TQU1VRUwiOjEuMCwiYnJva2VyX1NBWE9CQU5LIjoxLjAsImJyb2tlcl9TSEFSRU1BUktFVCI6MS4wLCJicm9rZXJfU0tJTExJTkciOjEuMCwiYnJva2VyX1NQUkVBREVYIjoxLjAsImJyb2tlcl9TV0lTU1FVT1RFIjoxLjAsImJyb2tlcl9TVE9ORVgiOjEuMCwiYnJva2VyX1RBU1RZRlgiOjEuMCwiYnJva2VyX1RBU1RZVFJBREUiOjEuMCwiYnJva2VyX1RISU5LTUFSS0VUUyI6MS4wLCJ0aGlua21hcmtldHNfYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJicm9rZXJfVElDS01JTEwiOjEuMCwiaGlkZV9USUdFUl9vbl9pb3MiOjEuMCwiaGlkZV9USUdFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVElHRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfVFJBREVOQVRJT04iOjEuMCwiYnJva2VyX1RSQURFU1RBVElPTiI6MS4wLCJ0cmFkZXN0YXRpb25fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInRyYWRlc3RhdGlvbl9hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsInRyYWRlc3RhdGlvbl9zdHJlYW1pbmdfc2VydmVyX2xvZ2dpbmciOjEuMCwiYnJva2VyX1RSQURFWkVSTyI6MS4wLCJicm9rZXJfVFJBRElFUiI6MS4wLCJicm9rZXJfVFJBRElFUl9GVVRVUkVTIjoxLjAsInRyYWRpZXJfZnV0dXJlc19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9UUkFET1ZBVEUiOjEuMCwiaGlkZV9UUkFEVV9vbl9pb3MiOjEuMCwiaGlkZV9UUkFEVV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVFJBRFVfb25fbW9iaWxlX3dlYiI6MS4wLCJ0cmFkdV9zcHJlYWRfYmV0IjoxLjAsImJyb2tlcl9UUklWRSI6MS4wLCJicm9rZXJfVkFOVEFHRSI6MS4wLCJicm9rZXJfVkVMT0NJVFkiOjEuMCwiYnJva2VyX1dFQlVMTCI6MS4wLCJicm9rZXJfV0VCVUxMSkFQQU4iOjEuMCwiYnJva2VyX1dFQlVMTFBBWSI6MS4wLCJicm9rZXJfV0VCVUxMVUsiOjEuMCwiYnJva2VyX1dISVRFQklUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1QiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVF9GVVRVUkVTIjoxLjAsIldIU0VMRklOVkVTVF9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1hDVUJFIjoxLjAsImJyb2tlcl9ZTEciOjEuMCwiYnJva2VyX2lkX3Nlc3Npb24iOjEuMCwiZGlzYWxsb3dfY29uY3VycmVudF9zZXNzaW9ucyI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXJfZm9yX3VudGVzdGVkX2Jyb2tlcnMiOjEuMCwibW9iaWxlX3RyYWRpbmdfd2ViIjoxLjAsIm1vYmlsZV90cmFkaW5nX2lvcyI6MS4wLCJtb2JpbGVfdHJhZGluZ19hbmRyb2lkIjoxLjAsImNvbnRpbnVvdXNfZnJvbnRfY29udHJhY3RfdHJhZGluZyI6MS4wLCJ0cmFkaW5nX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJvYXV0aDJfY29kZV9mbG93X3Byb3ZpZGVyX3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9vYXV0aDJfY29kZV9mbG93X211bHRpcGxleGluZyI6MS4wLCJyZXN0X2xvZ291dF9vbl80MjkiOjEuMCwicmV2aWV3X3BvcHVwX29uX2NoYXJ0IjoxLjAsInNob3dfY29uY3VycmVudF9jb25uZWN0aW9uX3dhcm5pbmciOjEuMCwiZW5hYmxlX3RyYWRpbmdfc2VydmVyX2xvZ2dlciI6MS4wLCJvcmRlcl9wcmVzZXRzIjoxLjAsIm9yZGVyX3RpY2tldF9yZXNpemFibGVfZHJhd2VyX29uIjoxLjAsInJlc3RfdXNlX2FzeW5jX21hcHBlciI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9iYW5uZXJfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2ciOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2dfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fbGVhZGVyYm9hcmQiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fcHJldmlvdXNfY29tcGV0aXRpb25zIjoxLjAsImFtcF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJsdWVsaW5lX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiZG9ybWFuX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiaXJvbmJlYW1fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJvcHRpbXVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwic3RvbmV4X29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwieWxnX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwidHJhZGluZ19nZW5lcmFsX2V2ZW50c19nYV90cmFja2luZyI6MS4wLCJyZXBsYXlfcmVzdWx0X3NoYXJpbmciOjEuMCwicmVwbGF5X3RyYWRpbmdfYnJhY2tldHMiOjEuMCwiaGlkZV9hbGxfYnJva2Vyc19idXR0b25faW5faW9zX2FwcCI6MS4wLCJmb3JjZV9tYXhfYWxsb3dlZF9wdWxsaW5nX2ludGVydmFscyI6MS4wLCJwYXBlcl9kZWxheV90cmFkaW5nIjoxLjAsImVuYWJsZV9maXJzdF90b3VjaF9pc19zZWxlY3Rpb24iOjEuMCwiY2xlYXJfcHJvamVjdF9vcmRlcl9vbl9vcmRlcl90aWNrZXRfY2xvc2UiOjEuMCwiZW5hYmxlX25ld19iZWhhdmlvcl9vZl9jb25maXJtX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsInJlbmV3X3Rva2VuX3ByZWVtcHRpb25fMzAiOjEuMCwiZG9fbm90X29wZW5fb3RfZnJvbV9wbHVzX2J1dHRvbiI6MS4wLCJicm9rZXJfc2lkZV9wcm9tb3Rpb24iOjEuMCwiZW5hYmxlX25ld190cmFkaW5nX21lbnVfc3RydWN0dXJlIjoxLjAsInF1aWNrX3RyYWRpbmdfcGFuZWwiOjEuMCwicGFwZXJfb3JkZXJfY29uZmlybWF0aW9uX2RpYWxvZyI6MS4wLCJwYXBlcl9tdWx0aXBsZV9sZXZlbHNfZW5hYmxlZCI6MS4wLCJwYXBlcl9tYXJnaW5fY29udHJvbCI6MS4wLCJlbmFibGVfc2VnbWVudGF0aW9uX3BhcGVyX3RyYWRpbmciOjEuMCwiZW5hYmxlX2NoYXJ0X2FkYXB0aXZlX3Rwc2xfYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwiZW5hYmxlX21hcmtldF9wcm9qZWN0X29yZGVyIjoxLjAsImVuYWJsZV9zeW1ib2xzX3BvcHVsYXJpdHlfc2hvd2luZyI6MS4wLCJlbmFibGVfdHJhbnNsYXRpb25zX3MzX3VwbG9hZCI6MS4wLCJldGZfZnVuZF9mbG93c19vbmx5X2RheXNfcmVzb2x1dGlvbnMiOjEuMCwiZGlzYWJsZV9zbm93cGxvd19wbGF0Zm9ybV9ldmVudHMiOjEuMCwibm90aWZ5X2lkZWFfbW9kc19hYm91dF9maXJzdF9wdWJsaWNhdGlvbiI6MS4wLCJlbmFibGVfd2FmX3RyYWNraW5nIjoxLjAsIm5ld19lcnJvcnNfZmxvdyI6MS4wLCJxdW90ZS10b2tlbi1maWx0ZXItb3duLXNjcmlwdHMtYnktYWNjZXNzIjoxLjAsImtlZXBfaW5kaWNhdG9yc19zZWFyY2hfc3RhdGUiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3RhYl9zY3JvbGxfc3RhdGUiOjEuMCwiY29uZmlndXJhYmxlX3NlYXJjaF9hbmRfZmlsdHJhdGlvbiI6MS4wLCJwaW5lX2VkaXRvcl93cmFwX29uX2xpbmVfc3BsaXQiOjEuMCwic3ltYm9sX3NlYXJjaF9jb3VudHJ5X3NvdXJjZXMiOjEuMCwid2F0Y2hsaXN0c19kaWFsb2dfc2Nyb2xsX3RvX2FjdGl2ZSI6MS4wLCJib3R0b21fcGFuZWxfdHJhY2tfZXZlbnRzIjoxLjAsInNub3dwbG93X2JlYWNvbl9mZWF0dXJlIjoxLjAsInNob3dfZGF0YV9wcm9ibGVtc19pbl9oZWxwX2NlbnRlciI6MS4wLCJlbmFibGVfYXBwbGVfZGV2aWNlX2NoZWNrIjoxLjAsImVuYWJsZV9hcHBsZV9pbnRyb19vZmZlcl9zaWduYXR1cmUiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX29mZmVyX3NpZ25hdHVyZV92MiI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfYW5kcm9pZCI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2lvcyI6MS4wLCJlbmFibGVfbWFudGljb3JlX2NsdXN0ZXIiOjEuMCwiZW5hYmxlX3B1c2hzdHJlYW1fYXV0aCI6MS4wLCJlbmFibGVfZW52b3lfcHJveHkiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3BhcGVydHJhZGluZyI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfc2NyZWVuZXIiOjEuMCwib3B0aW9uc19yZWR1Y2VfcG9sbGluZ19pbnRlcnZhbCI6MS4wLCJvcHRpb25zX2J1aWxkZXJfZ3JvdXBfYWN0aW9ucyI6MS4wLCJvcHRpb25zX2NoYWluX3NpZ21hX2ZpbHRlciI6MS4wLCJvcHRpb25zX2Jyb2tlcl9zdHJhdGVnaWVzIjoxLjAsInNob3dfdG9hc3RfYWJvdXRfdW5yZWFkX21lc3NhZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcGF5b3V0IjoxLjAsImVuYWJsZV9lbWFpbF9jaGFuZ2VfbG9nZ2luZyI6MS4wLCJlbmFibGVfZW1haWxfb25fcGFydG5lcl9zdGF0dXNfY2hhbmdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW1fYXBwbHkiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbSI6MS4wLCJjb21wcmVzc19jYWNoZV9kYXRhIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZyI6MS4wLCJuZXdzX3NjcmVlbmVyX3BhZ2VfY2xpZW50IjoxLjAsImVuYWJsZV9kZWNsYXJhdGlvbl9wb3B1cF9vbl9sb2FkIjoxLjAsInNob3dfZGF0YV9ib25kc19mcmVlX3VzZXJzIjoxLjAsImVuYWJsZV9tb2Rlcm5fcmVuZGVyX21vZGUiOjEuMCwiZW5hYmxlX3Byb2ZfcG9wdXBfZnJlZSI6MS4wLCJpb3NfYXBwX25ld3NfYW5kX21pbmRzIjoxLjAsImRvX25vdF9kaXNjbG9zZV9waG9uZV9vY2N1cGFuY3kiOjEuMCwiZW5hYmxlX3JlZGlyZWN0X3RvX3dpZGdldF9kb2N1bWVudGF0aW9uX29mX2FueV9sb2NhbGl6YXRpb24iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX2hpYmVybmF0aW9uIjoxLjAsIm5ld3Nfc3RyZWFtaW5nX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIjoxLjAsInBhc3NfcmVjb3Zlcnlfc2VhcmNoX2hpZGVfaW5mbyI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfb25fc2NyZWVuZXIiOjEuMCwiZW5hYmxlX2ZvcmNlZF9lbWFpbF9jb25maXJtYXRpb24iOjEuMCwic2hvd19naWZ0X2J1dHRvbiI6MS4wLCJhZGRyZXNzX3ZhbGlkYXRpb25fZW5hYmxlZCI6MS4wLCJkaXNhYmxlX3VudmVyaWZpZWRfYWRkcmVzcyI6MS4wLCJnZW5lcmF0ZV9pbnZvaWNlX251bWJlcl9ieV9jb3VudHJ5IjoxLjAsInNob3dfZmF2b3JpdGVfbGF5b3V0cyI6MS4wLCJlbmFibGVfc29jaWFsX2F1dGhfY29uZmlybWF0aW9uIjoxLjAsImVuYWJsZV9hZF9ibG9ja19kZXRlY3QiOjEuMCwidHZkX25ld190YWJfbGlua2luZyI6MS4wLCJ0dmRfdGltZV9hbmRfZGF0ZV9yYW5nZV9saW5raW5nIjoxLjAsInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ1c2VfZGVza3RvcF9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwid3JvbmdfYWNjb3VudF9kaWFsb2dfcHJpbWFyeV9zd2l0Y2giOjEuMCwiZW5hYmxlX2xpbmd1YV9sYW5nX2NoZWNrIjoxLjAsImdldF9zYXZlZF9hY3RpdmVfbGlzdF9iZWZvcmVfZ2V0dGluZ19hbGxfbGlzdHMiOjEuMCwid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iOjEuMCwic2hvd19yZWZlcnJhbF9ub3RpZmljYXRpb25fZGlhbG9nIjoxLjAsInNldF9uZXdfYmxhY2tfY29sb3IiOjEuMCwibmV3c191c2VfbmV3c19tZWRpYXRvciI6MS4wLCJhbGxvd190cmFpbGluZ193aGl0ZXNwYWNlX2luX251bWJlcl90b2tlbiI6MS4wLCJyZXN0cmljdF9wd25lZF9wYXNzd29yZF9zZXQiOjEuMCwibm90aWZfc2V0dGluZ3NfZW5hYmxlX25ld19zdG9yZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV93cml0ZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV9yZWFkIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrLWZvci1pbml0aWFsLXB1cmNoYXNlIjoxLjAsImVuYWJsZV9tZXRhZGVmZW5kZXJfY2hlY2tfZm9yX2FncmVlbWVudCI6MS4wLCJzaG93X2Rvd25sb2FkX3lpZWxkX2N1cnZlc19kYXRhIjoxLjAsIm1vdmVfa2V5X3Rlbm9yc190b19zZXR0aW5ncyI6MS4wLCJzaG93X3lpZWxkX2N1cnZlc19tYXAiOjEuMCwiZGlzYWJsZV93aWRnZXRiYXJfaW5fYXBwcyI6MS4wLCJoaWRlX3B1YmxpY2F0aW9uc19vZl9iYW5uZWRfdXNlcnMiOjEuMCwiZW5hYmxlX3N1bW1hcnlfdXBkYXRlc19mcm9tX2NoYXJ0X3Nlc3Npb24iOjEuMCwic2hvd19uZXdzX2Zsb3dfdG9vbF9yaWdodF9iYXIiOjEuMCwiZW5hYmxlX2NoYXJ0X3NhdmluZ19zdGF0cyI6MS4wLCJlbmFibGVfc2F2aW5nX3NhbWVfY2hhcnRfcmF0ZV9saW1pdCI6MS4wLCJuZXdzX2FsZXJ0c19lbmFibGVkIjoxLjAsIm5ld3NfbXVsdGlwbGVfYWxlcnRzX2VuYWJsZWQiOjEuMCwicmVmdW5kX3Vudm9pZGFibGVfY291cG9uc19lbmFibGVkIjoxLjAsImVuYWJsZV9zbm93cGxvd19lbWFpbF90cmFja2luZyI6MS4wLCJuZXdzX2VuYWJsZV9zZW50aW1lbnQiOjEuMCwidXNlX2luX3N5bWJvbF9zZWFyY2hfb3B0aW9uc19tY3hfZXhjaGFuZ2UiOjEuMCwiZW5hYmxlX3VzZXJzZXR0aW5nc19zeW1ib2xzX3Blcl9yb3dfc29mdF9saW1pdCI6MC4xLCJmb3JiaWRfbG9naW5fd2l0aF9wd25lZF9wYXNzd29yZHMiOjEuMCwiZGVidWdfZ2V0X3Rlc3RfYmFyc19kYXRhIjoxLjAsIm5ld3NfdXNlX21lZGlhdG9yX3N0b3J5IjoxLjAsIm5ld3NfZmxvd19yZWNvbmZpZ3VyZV9maWx0ZXJzIjoxLjAsImJsYWNrX2ZyaWRheV9lbmFibGVfc2tpcF90b19wYXltZW50IjoxLjAsImhpZGVfdHJhZGluZ19idXR0b25fb25fYm90dG9tX3BhbmVsX2FuZF9yZXBsYXlfdGFiIjoxLjAsImhpZGVfdHJhZGVfYnV0dG9uX2hpbnRfaW5faGVhZGVyX3Rvb2xiYXIiOjEuMCwiaGlkZV9zZWVfb25fc3VwZXJfY2hhcnRzX2J1dHRvbiI6MS4wLCJoaWRlX3N5bWJvbF9wYWdlX2NoYXJ0X3R5cGVfc3dpdGNoZXIiOjEuMCwiZGlzYWJsZV9jaGF0X3NwYW1fcHJvdGVjdGlvbl9mb3JfcHJlbWl1bV91c2VycyI6MS4wLCJkaXNhYmxlX3B1YmxpY19waW5lX3NjcmlwdF9wdWJsaXNoX2xpbWl0cyI6MS4wLCJtYWtlX3RyYWRpbmdfcGFuZWxfY29udGV4dHVhbF90YWIiOjEuMCwicmVjb25uZWN0X2dhaW5fc2Vzc2lvbl9vbl9sc19lcnJvciI6MS4wLCJjaGVja291dC1mbG93LXBheW1lbnRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2t5YyI6MS4wLCJpbmRpYV9leGNsdWRlX2JyYWludHJlZV90YWIiOjEuMCwibWFjcm9fbWFwc19oaWRlX3Rvb2x0aXBfY2hhcnRfYnV0dG9uIjoxLjAsImZvcmNlX2t5Y19mb3Jfbm9ucHJvX3B1cmNoYXNlX2J5X2NvbW1lcmNpYWwiOjEuMCwic2hvd19zcGxpdF9wYW5lbF9mdWxsc2NyZWVuX2J1dHRvbiI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX21vdmVfYnV0dG9uX3RvX3RpdGxlIjoxLjAsIm9yZGVyX3ByZXNldHNfY3J1ZF9zdG9yYWdlIjoxLjAsIm9yZGVyX3ByZXNldHNfcmVtb3ZlX2Zyb21fdHZfc2V0dGluZ3MiOjEuMCwiY2hlY2tvdXQtZmxvdy10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheSI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsIjoxLjAsImZvcmJpZF9zaWdudXBfd2l0aF9mYWtlX2dtYWlsX2RvbWFpbnMiOjEuMCwic2hvd19pbXBvcnRfZnJvbV9wYXBlcl90cmFkaW5nX2J1dHRvbiI6MS4wLCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwtdHJpYWwiOjEuMCwidm9pZF9ub3RfZm91bmRfY2tvX3BheW1lbnRfaW5fYXBwcm92ZWRfd2ViaG9vayI6MS4wLCJzaG93X3BhbmVsX2NvbGxhcHNlX2J1dHRvbiI6MS4wLCJkZWxheV9zdGF0dXNfb25fbGFzdF9iYXIiOjAuM307CndpbmRvdy5pbml0RGF0YSA9IHt9OwoJCXdpbmRvdy5TM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwgPSAiaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIjsKCndpbmRvdy5pbml0RGF0YSA9IHsid2lkZ2V0RGVmYXVsdHMiOnsiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRpc3BsYXlNb2RlIjoiYWRhcHRpdmUiLCJzaG93U3ltYm9sTG9nbyI6ZmFsc2UsInN5bWJvbHMiOlt7InByb05hbWUiOiJGT1JFWENPTTpTUFhVU0QiLCJ0aXRsZSI6IlMmUCA1MDAgSW5kZXgifSx7InByb05hbWUiOiJGT1JFWENPTTpOU1hVU0QiLCJ0aXRsZSI6IlVTIDEwMCBDYXNoIENGRCJ9LHsicHJvTmFtZSI6IkZYX0lEQzpFVVJVU0QiLCJ0aXRsZSI6IkVVUiB0byBVU0QifSx7InByb05hbWUiOiJCSVRTVEFNUDpCVENVU0QiLCJ0aXRsZSI6IkJpdGNvaW4ifSx7InByb05hbWUiOiJCSVRTVEFNUDpFVEhVU0QiLCJ0aXRsZSI6IkV0aGVyZXVtIn1dLCJjb2xvclRoZW1lIjoibGlnaHQiLCJsb2NhbGUiOiJlbiJ9fTsKCQl3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm8gPSB7Imxhbmd1YWdlIjoiZW4iLCJsYW5ndWFnZV9uYW1lIjoiRW5nbGlzaCIsImZsYWciOiJ1cyIsImdlb2lwX2NvZGUiOiJ1cyIsImlzbyI6ImVuIiwiaXNvXzYzOV8zIjoiZW5nIiwiZ2xvYmFsX25hbWUiOiJFbmdsaXNoIiwiaXNfb25seV9yZWNvbW1lbmRlZF90d19hdXRvcmVwb3N0Ijp0cnVlfTsKCQl3aW5kb3cuaW5pdERhdGEuc2V0dGluZ3MgPSB7J1MzX0xPR09fU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8nLCAnUzNfTkVXU19JTUFHRV9TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL25ld3MvJywgJ1dFQlBBQ0tfU1RBVElDX1BBVEgnOiAnaHR0cHM6Ly9zdGF0aWMudHJhZGluZ3ZpZXcuY29tL3N0YXRpYy9idW5kbGVzLycsICdUUkFESU5HX1VSTFMnOiB7J2ZyZWUnOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmctZnJlZS50cmFkaW5ndmlldy5jb20nLCAncHJvJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLnRyYWRpbmd2aWV3LmNvbSd9LCAnQ09OVEVTVFNfVVJMJzogJy9wYXBlci10cmFkaW5nJywgJ0NSVURfU1RPUkFHRV9VUkwnOiAnaHR0cHM6Ly9jcnVkLXN0b3JhZ2UudHJhZGluZ3ZpZXcuY29tJ307PC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iVWFlSGtlbHIzb2tZNURXQTdUVkJpQT09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgZT17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtjb25zdCB0PXdpbmRvdzt0LmluaXREYXRhPXQuaW5pdERhdGF8fHt9O2NvbnN0IGE9L1wrL2csbj0vPFwvP1tePl0rKD58JCkvZyxzPWU9PmRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoYSwiICIpKS5yZXBsYWNlKG4sIiIpLG89dC5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGM9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtsZXQgbCxyPWMuZXhlYyhvKTtmb3IoO251bGwhPT1yOylpW3MoclsxXSldPXMoclsyXSkscj1jLmV4ZWMobyk7dHJ5e2w9SlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQodC5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSkpLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWx8fChsPXt9KX1jYXRjaChlKXtsPXt9fXZhciBoO3QuaW5pdERhdGEucXVlcnlTZXR0aW5ncz1pLHQuaW5pdERhdGEuaGFzaFNldHRpbmdzPShoPWwsT2JqZWN0LmtleXMoaCkuZm9yRWFjaCgodD0+e2VbdF0mJmRlbGV0ZSBoW3RdfSkpLGgpfSkoKTsKCTwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IlVhZUhrZWxyM29rWTVEV0E3VFZCaUE9PSI+d2luZG93LlNTX0hPU1QgPSAic3ltYm9sLXNlYXJjaC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XSURHRVRfU0hFUklGRl9IT1NUID0gImh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbSI7CgkJd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQgPSBmYWxzZTsKCgoJCXdpbmRvdy5sb2NhbGVfZG9tYWlucyA9IHsiZW4iOiJ3d3cudHJhZGluZ3ZpZXcuY29tIiwiYXJfQUUiOiJhci50cmFkaW5ndmlldy5jb20iLCJiciI6ImJyLnRyYWRpbmd2aWV3LmNvbSIsImRlX0RFIjoiZGUudHJhZGluZ3ZpZXcuY29tIiwiZXMiOiJlcy50cmFkaW5ndmlldy5jb20iLCJmciI6ImZyLnRyYWRpbmd2aWV3LmNvbSIsImhlX0lMIjoiaWwudHJhZGluZ3ZpZXcuY29tIiwiaWQiOiJpZC50cmFkaW5ndmlldy5jb20iLCJpbiI6ImluLnRyYWRpbmd2aWV3LmNvbSIsIml0IjoiaXQudHJhZGluZ3ZpZXcuY29tIiwiamEiOiJqcC50cmFkaW5ndmlldy5jb20iLCJrciI6ImtyLnRyYWRpbmd2aWV3LmNvbSIsIm1zX01ZIjoibXkudHJhZGluZ3ZpZXcuY29tIiwicGwiOiJwbC50cmFkaW5ndmlldy5jb20iLCJydSI6InJ1LnRyYWRpbmd2aWV3LmNvbSIsInRoX1RIIjoidGgudHJhZGluZ3ZpZXcuY29tIiwidHIiOiJ0ci50cmFkaW5ndmlldy5jb20iLCJ2aV9WTiI6InZuLnRyYWRpbmd2aWV3LmNvbSIsInpoX0NOIjoiY24udHJhZGluZ3ZpZXcuY29tIiwiemhfVFciOiJ0dy50cmFkaW5ndmlldy5jb20iLCJjYV9FUyI6ImVzLnRyYWRpbmd2aWV3LmNvbSJ9OwoKCQkJd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyA9IHdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgfHwgW107CgkJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLnB1c2goJ3dpZGdldCcpOwoKCQl3aW5kb3cuVHJhZGluZ1ZpZXcgPSB3aW5kb3cuVHJhZGluZ1ZpZXcgfHwge307Cjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IlVhZUhrZWxyM29rWTVEV0E3VFZCaUE9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7CgkJd2luZG93LkJVSUxEX1RJTUUgPSAiMjAyNi0wNy0yNFQxMTo0MDowOCI7CgkJd2luZG93LldFQlNPQ0tFVF9IT1NUID0gIndpZGdldGRhdGEudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1RfRk9SX1JFQ09OTkVDVCA9ICJ3aWRnZXRkYXRhLWJhY2t1cC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy51c2VyID0geyd1c2VybmFtZSc6ICdHdWVzdCcsICdmb2xsb3dpbmcnOiAnMCcsICdmb2xsb3dlcnMnOiAnMCcsICdpZ25vcmVfbGlzdCc6IHt9LCAnZG9fbm90X3RyYWNrJzogdHJ1ZX07PC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJVYWVIa2VscjNva1k1RFdBN1RWQmlBPT0iPmxldCBwYXJhbXMgPSB7fTsKCQkJY29uc3QgaHR0cFJlZyA9IG5ldyBSZWdFeHAoJ15odHRwKHMpPzovLycpOwoKCQkJdHJ5IHsKCQkJCXBhcmFtcyA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSk7CgkJCX0gY2F0Y2ggKGUpIHsKCQkJCXBhcmFtcyA9IHt9OwoJCQl9CgoJCQl3aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1MgPSB7CgkJCQknd3NfYW5jZXN0b3Jfb3JpZ2luJzogd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyAmJiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCA/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+Cgk8c2NyaXB0IG5vbmNlPSJVYWVIa2VscjNva1k1RFdBN1RWQmlBPT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCB0PTEwMTk7dmFyIGUscyxvLGEsZDshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0oZXx8KGU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0oc3x8KHM9e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KG98fChvPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGF8fChhPXt9KSksZnVuY3Rpb24odCl7dC5UaGVtZUNsYXNzUHJlZml4PSJ0aGVtZS0ifShkfHwoZD17fSkpO2NvbnN0IGM9d2luZG93O2MuaW5pdERhdGE9Yy5pbml0RGF0YXx8e307bGV0IGk9Yy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cyYmKGk9ey4uLmMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsLi4uaX0pLHZvaWQgMCE9PWkpe2lmKHZvaWQgMCE9PWkuY29sb3JUaGVtZSYmZnVuY3Rpb24odCxlPXdpbmRvdyl7Y29uc3Qgcz0idGhlbWUtIit0LG89ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCB0IG9mIEFycmF5LmZyb20obykpdC5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmdCE9PXMmJm8ucmVtb3ZlKHQpO28uYWRkKHMpLGUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9dH0oaS5jb2xvclRoZW1lKSwoaS5pc1RyYW5zcGFyZW50fHxpLnRyYW5zcGFyZW5jeSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy10cmFuc3BhcmVudCIpLHZvaWQgMCE9PWkuZGlzcGxheU1vZGUmJmZ1bmN0aW9uKHMsbyl7aWYobz09PWUuQWRhcHRpdmUpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEoYChtYXgtd2lkdGg6ICR7dH1weClgKSxvPSgpPT57cy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsIWUubWF0Y2hlcykscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsZS5tYXRjaGVzKX07bygpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixvKX1lbHNlIHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLG89PT1lLlJlZ3VsYXIpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLG89PT1lLkNvbXBhY3QpfShkb2N1bWVudC5ib2R5LGkuZGlzcGxheU1vZGUpLGkuYm9keUNsYXNzZXMpZm9yKGNvbnN0IHQgb2YgaS5ib2R5Q2xhc3Nlcylkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQodCk7aS5ib2R5X2NsYXNzJiZkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoaS5ib2R5X2NsYXNzKSxpLmJvZHlJZCYmKGRvY3VtZW50LmJvZHkuaWQ9aS5ib2R5SWQpfX0pKCk7Cgk8L3NjcmlwdD4KCgk8ZGl2IGlkPSJ3aWRnZXQtdGlja2VyLXRhcGUtY29udGFpbmVyIj48L2Rpdj4KCjxzY3JpcHQgbm9uY2U9IlVhZUhrZWxyM29rWTVEV0E3VFZCaUE9PSI+Cgl3aW5kb3cuaW5pdERhdGEgPSB3aW5kb3cuaW5pdERhdGEgfHwge307CgoJd2luZG93LmluaXREYXRhLnNub3dwbG93U2V0dGluZ3MgPSB7CgkJY29sbGVjdG9ySWQ6ICd0dl9jZicsCgkJdXJsOiAnc25vd3Bsb3ctcGl4ZWwudHJhZGluZ3ZpZXcuY29tJywKCQlwYXJhbXM6IHsKCQkJYXBwSWQ6ICd0cmFkaW5ndmlldycsCgkJCXBvc3RQYXRoOiAnL2NvbS50cmFkaW5ndmlldy90cmFjaycsCgkJfSwKCQllbmFibGVkOiB0cnVlLAoJfQo8L3NjcmlwdD48L2JvZHk+CjwvaHRtbD4="}},"time_used":15,"timings":{"blocked":-1,"dns":0,"connect":4,"send":0,"wait":2,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/96587.97fdd65f2012106ff11e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.299Z","timestamp":1785136901299,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/96587.97fdd65f2012106ff11e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-89c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7ba6e1659ddb655f2e3b917463f9ee05\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2204,"size_decoded":1357,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2204), with no line terminators","md5":"f433859778b8873df447ea9031315a49","sha1":"df04d29a1667cf45c2a516da5d3bedce4fc9a55c","sha256":"0df353dbede0a246d8930b6d765ced13c2b7fa3f8ea2d8db833f33027feb0606","sha512":"ebca2adbb2080c216fa0da94a394221c5adc6469fce46f03094243ce23b3b6b93db20d13fb260b091f955307ba74cb49d451ae5705b0dd620fc7bd82be87b980","ssdeep":"","tlshash":"b5418b63a9f028a035ff95aeca15d2dc128859b7d64552dcb6307f35c6c27f881a1a0c","first_seen":"2026-07-16T13:40:49.747928Z","last_seen":"2026-08-10T05:01:44.341659Z","times_seen":398,"resource_available":false,"data":"LnNjcm9sbENvbnRhaW5lci16RzJDcURlMntoZWlnaHQ6MDtvdmVyZmxvdy15OnNjcm9sbH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLXpHMkNxRGUye3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsQ29udGFpbmVyLXpHMkNxRGUyOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZmxleC1nbzBaZU5RRntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOmF1dG87LS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZzp2YXIoLS11aS1saWItcHJpdmF0ZS1wb3BvdmVyLWNvbnRlbnQtdmVydGljYWwtcGFkZGluZyw2cHgpO292ZXJmbG93OmhpZGRlbn0uZml4ZWRGb290ZXItZ28wWmVOUUYsLmZpeGVkSGVhZGVyLWdvMFplTlFGe2ZsZXg6bm9uZX0uZml4ZWRGb290ZXItZ28wWmVOUUYsLmZpeGVkSGVhZGVyLWdvMFplTlFGLC5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntwYWRkaW5nOjAgdmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5maXhlZEhlYWRlckNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZy10b3A6dmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5maXhlZEZvb3RlckNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZy1ib3R0b206dmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntmbGV4LWdyb3c6MTtmbGV4LXNocmluazoxO2hlaWdodDoxMDAlO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6c2Nyb2xsfUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9Lm1haW5TY3JvbGxXcmFwcGVyLWdvMFplTlFGOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0ubWFpblNjcm9sbFdyYXBwZXItZ28wWmVOUUYubm9TY3JvbGwtZ28wWmVOUUZ7b3ZlcmZsb3cteTpoaWRkZW59Lm1haW4tZ28wWmVOUUZ7bWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tdWktbGliLXByaXZhdGUtcG9wb3ZlckNvbnRlbnRWZXJ0aWNhbC1zY3JvbGwtY29tcGVuc2F0aW9uKX0ubWFpbkNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZzp2YXIoLS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZykgMH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.411Z","timestamp":1785136901411,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-9984\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f34e24a9da454b2c343db740654b8048\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":39300,"size_decoded":15763,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3429)","md5":"e07829b9c2f075e0d79539e09e8ef5c5","sha1":"c0ecb7b2378f8c8f6bb127ab7ce32a33f2867147","sha256":"de200e3269223b7eaed298c26e6c4f1aa89cfefab594c21c75d8fa254a074888","sha512":"6caeee99a9d13d9694e591f9382f08303b729630991f2a101d67c7c6e9ab1aa3679a35fe72b8511546c1ed034286f9ef93d5b2e8878aeb902fdbc675fef15d33","ssdeep":"768:35sPlyn1pNoHx1dy6DXt6MfuD92GrAhihIo0Z8Qa2L/aQmvYsYIlL7GL4EUdBkp4:KdFrbPfuD92G8mcZQ2L/BmRdBIJNWGHs","tlshash":"5103196ee220585d13c301b49c7f2957961b50e5350a4becb2bc9dee105e9dab633b3c","first_seen":"2026-07-23T14:00:31.655738Z","last_seen":"2026-07-28T06:17:53.414435Z","times_seen":119,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTg4M10sezc0NTgwOCh0KXt0LmV4cG9ydHM9e319LDIwNTYxMSh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5zfSk7dmFyIG89aSgyMzIzNjQpO2Z1bmN0aW9uIHModCxlKXtjb25zdCBpPW5ldyBvLldhdGNoZWRWYWx1ZSh0KCkpLHM9e307ZS5mb3JFYWNoKChlPT5lLnN1YnNjcmliZShzLCgoKT0+e2kuc2V0VmFsdWUodCgpKX0pKSkpO3JldHVybiBpLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT5lLmZvckVhY2goKHQ9PnQudW5zdWJzY3JpYmVBbGwocykpKSkpfX0sNDkyNjc3KHQsZSxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQucmVwbGFjZSgvXCsvZywiICIpKS5yZXBsYWNlKC88XC8/W14+XSsoPnwkKS9nLCIiKX1mdW5jdGlvbiBzKHQpe2NvbnN0IGU9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtpZighdClyZXR1cm4gaTtsZXQgcz1lLmV4ZWModCk7Zm9yKDtzOylpW28oc1sxXSldPW8oc1syXSkscz1lLmV4ZWModCk7cmV0dXJuIGl9ZnVuY3Rpb24gYSgpe3JldHVybiBzKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpKX1mdW5jdGlvbiBuKCl7Y29uc3QgdD13aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgiIyIpWzBdO3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSgiIixkb2N1bWVudC50aXRsZSx0KX1mdW5jdGlvbiByKHQpe2NvbnN0IGU9W107Zm9yKGNvbnN0IGkgaW4gdClpZih0Lmhhc093blByb3BlcnR5KGkpJiZudWxsIT10W2ldKXtjb25zdCBvPXRbaV0scz0ib2JqZWN0Ij09dHlwZW9mIG8/SlNPTi5zdHJpbmdpZnkobyk6U3RyaW5nKG8pO2UucHVzaCh7a2V5OmkscGFpcjplbmNvZGVVUklDb21wb25lbnQoaSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChzKX0pfXJldHVybiBlLnNvcnQoKCh0LGUpPT50LmtleT5lLmtleT8xOnQua2V5PGUua2V5Py0xOjApKS5tYXAoKHQ9PnQucGFpcikpLmpvaW4oIiYiKX1pLmQoZSx7Y3JlYXRlVXJsUGFyYW1zOigpPT5yLGdldFVybFBhcmFtczooKT0+YSxyZW1vdmVIYXNoRnJvbVVybDooKT0+bn0pfSw1Mjg4NjQodCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztpLmQoZSx7S25vd25BY3Rpb246KCk9Pm8sd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9PnN9KSxmdW5jdGlvbih0KXt0LkV4cGFuZD0iZXhwYW5kLWxvZ28iLHQuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShvfHwobz17fSkpO2NvbnN0IHM9bmV3IFNldChbby5FeHBhbmQsby5MYXJnZVRyYWRlTG9nb10pfSw0MDAxODEodCxlLGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBvKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoNzA2NDQpLGkuZSg5NTIwNyldKS50aGVuKGkuYmluZChpLDQ3NzE1MCkpO3JldHVybiB0KCl9aS5kKGUse2dldFRyYWNrZXI6KCk9Pm99KX0sOTA4NDU0KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2FkZEJyYW5kaW5nU291cmNlOigpPT5QdH0pO3ZhciBvPWkoOTUyOTAwKSxzPWkoMjA1NjExKSxhPWkoOTMwNTA2KSxuPWkoOTE4Nzc5KSxyPWkoNTQ3ODUxKSxoPWkoNzM2NTMxKSxsPWkoNzY4MzA1KSxkPWkoNTA1NTYpLGM9aSgxMzg2MzgpLGc9aSgxODUyNzEpLF89aSgzMTg5NzQpLG09aSg5MzAyMzEpLHU9aSg1OTYyNzIpLHc9aSg3NjMpLHA9aSgyMTg4MTQpLGY9aSg4NzM1NzMpLHY9aSgzNDI3OCkseD1pKDE1MTIxKSx5PWkoNDM5ODc5KSxiPWkoMzY0MTg4KSxBPWkoODM5NDEyKSxTPWkoNDAwMTgxKSxMPWkoNjAxNTg3KTthc3luYyBmdW5jdGlvbiBUKHQsZSl7Y29uc3QgaT1mdW5jdGlvbigpe2NvbnN0IHQ9d2luZG93LmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihPYmplY3Qua2V5cyh0KS5sZW5ndGg+MClyZXR1cm4oMCxMLmZpbHRlclV0bUluZm8pKHQpO2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5ocmVmKTtyZXR1cm57dXRtX2NhbXBhaWduOmUuZ2V0KCJ1dG1fY2FtcGFpZ24iKXx8dm9pZCAwLHV0bV9zb3VyY2U6ZS5nZXQoInV0bV9zb3VyY2UiKXx8dm9pZCAwfX0oKTsoYXdhaXQoMCxTLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfdHZfbGlua19jbGljay9qc29uc2NoZW1hLzEtMC0wIix7d2lkZ2V0X3R5cGU6ayhpKSxkb21haW46QyhpKSxsaW5rOnQsdGFyZ2V0X3R5cGU6ZX0pfWZ1bmN0aW9uIEModCl7Y29uc3QgZT1sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnM/LlswXXx8ZG9jdW1lbnQucmVmZXJyZXI7cmV0dXJuIHQudXRtX3NvdXJjZXx8ZnVuY3Rpb24odCl7dHJ5e3JldHVybiBuZXcgVVJMKHQpLmhvc3R9Y2F0Y2godCl7cmV0dXJuIiJ9fShlKX1mdW5jdGlvbiBrKHQpe2lmKHQudXRtX2NhbXBhaWduKXJldHVybiB0LnV0bV9jYW1wYWlnbjtjb25zdCBlPWxvY2F0aW9uLnBhdGhuYW1lO3JldHVybiBlLmluY2x1ZGVzKCJlbWJlZC13aWRnZXQiKT9lLnNwbGl0KCIvIilbMl06ZX12YXIgQj1pKDIyMTA2MSksUD1pKDM4NDAxNyksTT1pKDUyODg2NCk7Y29uc3QgVz13aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVHx8Imh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYueHN0YWdpbmctd2lkZ2V0LnR2IixWPSgwLEIuZ2V0TG9nZ2VyKSgiV2lkZ2V0U2hlcmlmZi5XaWRnZXQiKTtsZXQgej1udWxsO2FzeW5jIGZ1bmN0aW9uIFooKXtyZXR1cm4gbnVsbD09PXomJih6PWF3YWl0IGFzeW5jIGZ1bmN0aW9uKCl7Y29uc3QgdD1mdW5jdGlvbigpe2lmKGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyYmZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aClyZXR1cm4gZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zW2RvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgtMV07dHJ5e3JldHVybiBuZXcgVVJMKGRvY3VtZW50LnJlZmVycmVyKS5vcmlnaW59Y2F0Y2godCl7CnJldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT10KXJldHVybiBWLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgZT1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixXKTtlLnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsdCk7cmV0dXJuKGF3YWl0KDAsUC5mZXRjaCkoZS50b0pTT04oKSkudGhlbigodD0+e2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PXQuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOnQuanNvbigpfSkpLmNhdGNoKCh0PT4oVi5sb2dXYXJuKHQubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKCh0PT5NLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyh0KSkpfSgpKSxQcm9taXNlLnJlc29sdmUoeil9dmFyIEk9aSg0NzkzNCksSD1pKDc3NDUwNyksRj1pKDc4NjQzNiksTz1pKDgyMjcyNiksRD1pKDUxNTkyKSxSPWkoOTI2MTQ5KSxFPWkoOTc2ODEzKSxVPWkoNTk1ODAwKSxOPWkoMzkyMjIzKSwkPWkoODc3OTc5KSxqPWkoNzIxNjQ2KSxHPWkoMzMzMzE4KSxxPWkoNDIyNzExKSxLPWkoNTkyMTU1KTtpKDc0NTgwOCk7Y29uc3QgUT17Y3VzdG9tQnJhbmRpbmdUcmFkaW5nVmlld1RleHQ6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci1icmFuZCJdLGN1c3RvbUJyYW5kaW5nVGV4dDpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS04NTAiXSxiYWNrZ3JvdW5kOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHNoYWRvdzpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS03MDAiXSx0ZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3Itd2hpdGUiXSxzdGF0aWNUZXh0QmFja2dyb3VuZDooMCxmLmdlbmVyYXRlQ29sb3IpKGQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTgwMCJdLDIwKSxsb2dvOmQuY29sb3JzUGFsZXR0ZVsiY29sb3Itd2hpdGUiXSxwbGF0Zm9ybUJnQ29sb3I6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktOTAwIl0scGxhdGZvcm1GZ0NvbG9yOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTIwMCJdfSxKPXtjdXN0b21CcmFuZGluZ1RyYWRpbmdWaWV3VGV4dDpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWJyYW5kIl0sY3VzdG9tQnJhbmRpbmdUZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTg1MCJdLGJhY2tncm91bmQ6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci13aGl0ZSJdLHNoYWRvdzpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS0xNTAiXSx0ZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHN0YXRpY1RleHRCYWNrZ3JvdW5kOigwLGYuZ2VuZXJhdGVDb2xvcikoZC5jb2xvcnNQYWxldHRlWyJjb2xvci13aGl0ZSJdLDIwKSxsb2dvOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHBsYXRmb3JtQmdDb2xvcjpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLXdoaXRlIl0scGxhdGZvcm1GZ0NvbG9yOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdfTtmdW5jdGlvbiBZKHQsZSl7cmV0dXJuIHQucmVwbGFjZSgvYmxhY2svZyxlLnBsYXRmb3JtQmdDb2xvcikucmVwbGFjZSgvbGlnaHRncmF5L2csZS5wbGF0Zm9ybUZnQ29sb3IpfWNvbnN0IFg9W1sibG9nby1saWdodCIsWSgkLEopXSxbImxvZ28tZGFyayIsWSgkLFEpXSxbInByby1iYWRnZS1saWdodCIsWShqLEopXSxbInByby1iYWRnZS1kYXJrIixZKGosUSldLFsidHJhZGluZ3ZpZXctbGlnaHQiLFkoRyxKKV0sWyJ0cmFkaW5ndmlldy1kYXJrIixZKEcsUSldLFsibG9nby1vbGQtc3R5bGUiLFVdLFsidHJhZGluZ3ZpZXctb2xkLXN0eWxlIixOXSxbImxvZ28tdHJhZGUtd2l0aCIscV0sWyJ0cmFkaW5ndmlldy10cmFkZS13aXRoIixLXV0sdHQ9bmV3IE1hcChYKSxldD0ic2l0ZV9icmFuZGluZyIsaXQ9IndpZGdldF9icmFuZGluZyIsb3Q9IndpZGdldF9yZWZlcnJhbF9icmFuZGluZyIsc3Q9IndpZGdldF9jdXN0b21fYnJhbmRpbmciLGF0PSJ3aWRnZXRfY3VzdG9tX25vX3Bvd2VyZWRfYnJhbmRpbmciLG50PSJmdW5kYW1lbnRhbF9icmFuZGluZyIscnQ9ImZ1bmRhbWVudGFsX2N1c3RvbV9icmFuZGluZyIsaHQ9ImZ1bmRhbWVudGFsX2N1c3RvbV9ub19wb3dlcmVkX2JyYW5kaW5nIixsdD0ibGlicmFyeV9icmFuZGluZyIsZHQ9ImxpYnJhcnlfY3VzdG9tX2JyYW5kaW5nIixjdD0ibGlicmFyeV9jdXN0b21fbm9fcG93ZXJlZF9icmFuZGluZyIsZ3Q9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImNocm9tZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJlZGdlIiksX3Q9d2luZG93LnVybFBhcmFtc3x8e30sbXQ9d2luZG93LmluaXREYXRhfHx7fTtmdW5jdGlvbiB1dCh0KXtyZXR1cm4gX3RbdF18fG10Lmhhc2hTZXR0aW5nc1t0XXx8IiJ9KF90LnJlZmVycmFsX2lkfHxfdC5ub19yZWZlcnJhbF9pZCkmJigwLEEuZW5hYmxlKShfdC5yZWZlcnJhbF9pZHx8IiIsImFnZ3Jlc3NpdmUiKTtnLnQobnVsbCx2b2lkIDAsaSg0MTQwMTgpKSxnLnQobnVsbCx2b2lkIDAsaSg2MzM5MDYpKTtjb25zdCB3dD1nLnQobnVsbCx2b2lkIDAsaSgzMDA3ODgpKSxwdD1nLnQobnVsbCx2b2lkIDAsaSgyOTc5NDgpKSxmdD1nLnQobnVsbCx2b2lkIDAsaSg2MTgzNTkpKSsiICI7dmFyIHZ0OyFmdW5jdGlvbih0KXt0W3QuT2xkRm9udEFkZGl0aW9uYWxWZXJ0aWNhbE9mZnNldD0wXT0iT2xkRm9udEFkZGl0aW9uYWxWZXJ0aWNhbE9mZnNldCIsdFt0Lk5ld0ZvbnRBZGRpdGlvbmFsVmVydGljYWxPZmZzZXQ9LjFdPSJOZXdGb250QWRkaXRpb25hbFZlcnRpY2FsT2Zmc2V0Iix0W3QuU3Ryb2tlV2lkdGg9NF09IlN0cm9rZVdpZHRoIiwKdFt0LlN0YXRpY0xvZ29Ib3Jpem9udGFsVGV4dE9mZnNldD01XT0iU3RhdGljTG9nb0hvcml6b250YWxUZXh0T2Zmc2V0Iix0W3QuVGV4dFdpZHRoQ29tcGVuc2F0aW9uPTJdPSJUZXh0V2lkdGhDb21wZW5zYXRpb24iLHRbdC5BZGFwdGl2ZVdpZHRoVG9IaWRlVGV4dD01MDBdPSJBZGFwdGl2ZVdpZHRoVG9IaWRlVGV4dCIsdFt0LldpZHRoVG9IaWRlTG9nb0lmU21hbGxOb0Rpc3BsYXlFbmFibGVkPTQ4MF09IldpZHRoVG9IaWRlTG9nb0lmU21hbGxOb0Rpc3BsYXlFbmFibGVkIix0W3QuVGV4dEFkZGl0aW9uYWxDcm9wV2lkdGg9MTFdPSJUZXh0QWRkaXRpb25hbENyb3BXaWR0aCIsdFt0LkJhZGdlTG9nb01hcmdpbj0tMTFdPSJCYWRnZUxvZ29NYXJnaW4iLHRbdC5CYWRnZVRleHRNYXJnaW49LThdPSJCYWRnZVRleHRNYXJnaW4iLHRbdC5UZXh0QW5pbWF0ZWRBbHBoYVN0YXJ0PS4zXT0iVGV4dEFuaW1hdGVkQWxwaGFTdGFydCIsdFt0LlRleHRBbmltYXRlZEFscGhhRW5kPTFdPSJUZXh0QW5pbWF0ZWRBbHBoYUVuZCIsdFt0LkFuaW1hdGlvbkR1cmF0aW9uPTIwMF09IkFuaW1hdGlvbkR1cmF0aW9uIn0odnR8fCh2dD17fSkpO2NvbnN0IHh0PSgwLF8ub25XaWRnZXQpKCkseXQ9eHQ7Y2xhc3MgYnQgZXh0ZW5kcyB1LkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IodCxlLGkpe3N1cGVyKHQsZSksdGhpcy5fY2FudmFzV2lkdGg9MCx0aGlzLl9wYW5lSGVpZ2h0PTAsdGhpcy5fbGVmdD0xMyx0aGlzLl9ib3R0b209MzYsdGhpcy5fbGF5b3V0PWV0LHRoaXMuX25lZWRUb1Nob3c9ITAsdGhpcy5fc2hvd0JyYW5kaW5nPSExLHRoaXMuX2N1c3RvbUxvZ29TcmM9IiIsdGhpcy5fY3VzdG9tTG9nb0xpbms9IiIsdGhpcy5fdHJhZGluZ3ZpZXdMb2dvTGlua1RvUGF0aD0iIix0aGlzLl9jdWJpY0Jlemllcj1uZXcgcC5DdWJpY0JlemllciguNCwuMDEsLjIyLDEpLHRoaXMuX29wZW5BbmltYXRpb249bnVsbCx0aGlzLl9jbG9zZUFuaW1hdGlvbj1udWxsLHRoaXMuX3Bvd0J5PW51bGwsdGhpcy5fY3VzdG9tPW51bGwsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX21haW5TZXJpZXM9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLHRoaXMuX3Zpc2libGU9aSx0aGlzLl9zaG93Rm9yUHJvPSFlLm9uV2lkZ2V0KCk7Y29uc3Qgbz0oKT0+dGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpO3RoaXMuX3Zpc2libGUuc3Vic2NyaWJlKG8pLHRoaXMuX2Rhcms9ZS5kYXJrKCkuc3Bhd24oKSx0aGlzLl9kYXJrLnN1YnNjcmliZShvKSx0aGlzLl9jaGVja0xheW91dCgpLHRoaXMuX2xheW91dCE9PXN0JiZ0aGlzLl9sYXlvdXQhPT1ydHx8KHRoaXMuX2xlZnQ9OCx0aGlzLl9ib3R0b209NSk7Y29uc3Qgcz0oKT0+e3RoaXMuX25lZWRUb1Nob3c/dGhpcy5fc2hvd0JyYW5kaW5nPSEwOnRoaXMuX3Nob3dCcmFuZGluZz0hMX07dGhpcy5fcmVzaXplSGFuZGxlckRlbGF5ZWQ9KDAsci5kZWZhdWx0KShzLDIwMCkscygpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZUhhbmRsZXJEZWxheWVkKSx0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/dGhpcy5faW5pdCgpOih0aGlzLl9tYWluU2VyaWVzLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXQpLG51bGwhPT10aGlzLl9tYWluU2VyaWVzLnN5bWJvbEluZm8oKSYmdGhpcy5faW5pdCgpKSx0aGlzLl9yZW5kZXJlcj17ZHJhdzp0aGlzLmRyYXcuYmluZCh0aGlzKSxoaXRUZXN0OnRoaXMuaGl0VGVzdC5iaW5kKHRoaXMpfSxlLm9uV2lkZ2V0KCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXQpfWRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9yZXNpemVIYW5kbGVyRGVsYXllZCksdGhpcy5fbWFpblNlcmllcy5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9wb3dCeSYmdGhpcy5fcG93QnkuZGVzdHJveSgpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Zpc2libGUucmVsZWFzZSgpLHRoaXMuX2RhcmsuZGVzdHJveSgpLHRoaXMuX2Rlc3Ryb3llZD0hMH1wYW5lVmlld3ModCl7aWYod2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nJiZ0aGlzLl9sYXlvdXQhPT1hdCYmdGhpcy5fbGF5b3V0IT09aHQpcmV0dXJuW107aWYoIXRoaXMuX3Zpc2libGUudmFsdWUoKSlyZXR1cm5bXTtpZih0aGlzLl9sYXlvdXQ9PT1ldCYmIXRoaXMuX3Nob3dGb3JQcm8mJndpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5pc19wcm8pcmV0dXJuW107Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluUGFuZSgpO2lmKCFlKXJldHVybltdO2NvbnN0IGk9KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibW92ZV9sb2dvX3RvX21haW5fcGFuZSIpO2xldCBvPSExO2lmKHQubWF4aW1pemVkKCkudmFsdWUoKSlvPSEwO2Vsc2UgaWYoaSlvPWUuY29sbGFwc2VkKCkudmFsdWUoKT90PT09dGhpcy5fbW9kZWwucGFuZXMoKS5maW5kKCh0PT4hdC5jb2xsYXBzZWQoKS52YWx1ZSgpKSk6dC5pc01haW5QYW5lKCkudmFsdWUoKTtlbHNlIGlmKHRoaXMuX21vZGVsLmxhc3RQYW5lKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lcygpO2ZvcihsZXQgaT1lLmxlbmd0aC0xO2k+PTA7LS1pKXtjb25zdCBzPWVbaV07aWYoIXMuY29sbGFwc2VkKCkudmFsdWUoKSl7bz1zPT09dDticmVha319fWVsc2Ugbz10LmlzTGFzdCgpO3JldHVybiBvP1t7cmVuZGVyZXI6dGhpcy5yZW5kZXJlci5iaW5kKHRoaXMpfV06W119bGFiZWxQYW5lVmlld3ModCl7cmV0dXJuW119cHJpY2VBeGlzVmlld3ModCxlKXtyZXR1cm5bXX11cGRhdGVBbGxWaWV3cygpe311cGRhdGVWaWV3c0ZvclBhbmUodCl7fXByaWNlU2NhbGUoKXtyZXR1cm4gbnVsbH1yZW5kZXJlcih0KXtyZXR1cm4gdGhpcy5fcGFuZUhlaWdodD10Lm1lZGlhU2l6ZS5oZWlnaHQsdGhpcy5fY2FudmFzV2lkdGg9dC5tZWRpYVNpemUud2lkdGgsCnRoaXMuX3JlbmRlcmVyfWhhc0NvbnRleHRNZW51KCl7cmV0dXJuITF9b25DbGlja091dHNpZGUoKXt0aGlzLl9oYXNBbmltYXRpb24oKSYmdGhpcy5fc3RhcnRDbG9zZUFuaW1hdGlvbigpfWhpdFRlc3QodCl7aWYoIXRoaXMuX3Nob3dCcmFuZGluZ3x8KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibG9nb193aXRob3V0X2xpbmsiKSlyZXR1cm4gbnVsbDtpZih0aGlzLl9wb3dCeSYmdGhpcy5fbGF5b3V0IT09YXQmJnRoaXMuX2xheW91dCE9PWh0JiYodGhpcy5fcG93QnkuaGl0VGVzdCh0KXx8dGhpcy5fY3VzdG9tJiZ0aGlzLl9jdXN0b20uaGl0VGVzdCh0KSkpe2NvbnN0IHQ9dGhpcy5fbGF5b3V0IT09ZXR8fCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCgwLEkuY2FuVXBncmFkZVBsYW4pKCkpO3JldHVybiBuZXcgdy5IaXRUZXN0UmVzdWx0KHcuSGl0VGFyZ2V0LkN1c3RvbSx7aGlkZUNyb3NzaGFpckxpbmVzT25Ib3ZlcjohMCxjdXJzb3JUeXBlOnQ/RS5QYW5lQ3Vyc29yVHlwZS5Qb2ludGVyOkUuUGFuZUN1cnNvclR5cGUuRGVmYXVsdCxjbGlja0hhbmRsZXI6KCk9Pnt0aGlzLl9vcGVuTGluaygpLHRoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuYWN0aXZlPSExKX0sdGFwSGFuZGxlcjooKT0+e3RoaXMuX2hhc0FuaW1hdGlvbigpP3RoaXMuX3RvZ2dsZU9wZW5BbmltYXRlZE9yT3BlbkxpbmsoKTp0aGlzLl9vcGVuTGluaygpfSxtb3VzZUVudGVySGFuZGxlcjooKT0+e3RoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuaG92ZXJlZD0hMCksdGhpcy5faGFzQW5pbWF0aW9uKCkmJnRoaXMuX3N0YXJ0T3BlbkFuaW1hdGlvbigpfSxtb3VzZUxlYXZlSGFuZGxlcjooKT0+e3RoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuaG92ZXJlZD0hMSx0aGlzLl9wb3dCeS5hY3RpdmU9ITEpLHRoaXMuX2hhc0FuaW1hdGlvbigpJiZ0aGlzLl9zdGFydENsb3NlQW5pbWF0aW9uKCl9LG1vdXNlRG93bkhhbmRsZXI6KCk9Pnt0aGlzLl9wb3dCeSYmKHRoaXMuX3Bvd0J5LmFjdGl2ZT0hMCl9LG1vdXNlVXBIYW5kbGVyOigpPT57dGhpcy5fcG93QnkmJih0aGlzLl9wb3dCeS5hY3RpdmU9ITEpfX0pfXJldHVybiBudWxsfXR2VXJsKCl7Y29uc3QgdD1tdC5xdWVyeVNldHRpbmdzPy5sb2NhbGU/P210LmN1cnJlbnRMb2NhbGVJbmZvPy5sYW5ndWFnZSxlPSJodHRwczovLyIrKDAsYi5nZXRUVkhvc3RGcm9tTG9jYWxlKSh0fHwiZW4iKTtsZXQgaT1uZXcgVVJMKGUpO3tjb25zdCB0PXRoaXMuX21haW5TZXJpZXMucHJvU3ltYm9sKCksZT1tdC5jdXN0b21lcj8/bXQud2lkZ2V0RGVmYXVsdHM/LmN1c3RvbWVyO2lmKCgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInJlZmVycmFsX3Byb2dyYW1fZm9yX3dpZGdldF9vd25lcnMiKSl7Y29uc3QgdD0oMCxBLnJlZmVyZW5jZVRvVHJhZGluZ1ZpZXcpKCksZT10LmluZGV4T2YoInV0bV9zb3VyY2UiKTstMSE9PWUmJihpPW5ldyBVUkwodC5zbGljZSgwLGUpKSl9ZWxzZSBpZihlKXtpZigidHdpdHRlciI9PT1lJiYiL3R3aXR0ZXItY2hhcnQvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSlyZXR1cm4gaS5wYXRobmFtZT0iY2hhcnQiLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIix0KSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9zb3VyY2UiLCJ3d3cudHdpdHRlci5jb20iKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsInR3aXR0ZXItY2hhcnQiKSxpLnRvU3RyaW5nKCk7aWYoInRlbGVncmFtIj09PWUmJiIvdGVsZWdyYW0vY2hhcnQvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSlyZXR1cm4gaS5wYXRobmFtZT0iY2hhcnQiLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIix0KSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9zb3VyY2UiLCJ0ZWxlZ3JhbS5vcmciKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ0ZWxlZ3JhbS1taW5pLWFwcCIpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX2NhbXBhaWduIiwidGVsZWdyYW0tbWluaS1hcHAtbG9nbyIpLGkudG9TdHJpbmcoKX1lbHNlIGkucGF0aG5hbWU9ImNoYXJ0IixpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInN5bWJvbCIsdCk7Y29uc3Qgbz11dCgidXRtX2NhbXBhaWduIik7aS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fc291cmNlIix1dCgidXRtX3NvdXJjZSIpKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLHV0KCJ1dG1fbWVkaXVtIikpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX2NhbXBhaWduIixvP2Ake299LWxvZ29gOiIiKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV90ZXJtIix0KX1yZXR1cm4gaS50b1N0cmluZygpfWRyYXcodCxlKXtpZighdGhpcy5fc2hvd0JyYW5kaW5nKXJldHVybjtsZXQgaT0wO190LnV0bT0hMCwoMCx4LmRyYXdTY2FsZWQpKHQsZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyxlLnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9PntpZih0aGlzLl9wb3dCeSYmdGhpcy5fcG93Qnkuc2hvdyl7aT10aGlzLl9wb3dCeS5oZWlnaHQsdC5zYXZlKCk7Y29uc3Qgbz1uZXcgaC5Qb2ludCh0aGlzLl9sZWZ0LHRoaXMuX3BhbmVIZWlnaHQtdGhpcy5fYm90dG9tLWkpO3RoaXMuX3Bvd0J5LmRyYXcobyx0LGUsdGhpcy5fY2FudmFzV2lkdGgpLHQucmVzdG9yZSgpfWlmKHRoaXMuX2N1c3RvbSYmdGhpcy5fY3VzdG9tLnNob3cpe3Quc2F2ZSgpO2NvbnN0IG89bmV3IGguUG9pbnQodGhpcy5fbGVmdCx0aGlzLl9wYW5lSGVpZ2h0LXRoaXMuX2JvdHRvbS1pLXRoaXMuX2N1c3RvbS5oZWlnaHQpO3RoaXMuX2N1c3RvbS5kcmF3KG8sdCxlKSx0LnJlc3RvcmUoKX19KSl9X2luaXQoKXt0aGlzLl9jaGVja0xheW91dCgpO2NvbnN0IHQ9dGhpcy5fbWFpblNlcmllcy5zeW1ib2xJbmZvKCk7dGhpcy5fcG93QnkmJnRoaXMuX3Bvd0J5LmRlc3Ryb3koKSx0aGlzLl9wb3dCeT1uZXcgQ3QodGhpcy5fbGF5b3V0LHQ/Lm5hbWV8fCIiLHRoaXMuX21vZGVsLCgoKT0+dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpKSksCnRoaXMuX2N1c3RvbT1uZXcga3QodGhpcy5fbGF5b3V0LHRoaXMuX2N1c3RvbUxvZ29TcmMsKCgpPT50aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCkpKSx0aGlzLl9vcGVuQW5pbWF0aW9uPW51bGwsdGhpcy5fY2xvc2VBbmltYXRpb249bnVsbCwoMCxfLm9uV2lkZ2V0KSgpJiZaKCkudGhlbigodD0+e3QuaW5jbHVkZXMoTS5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbykmJnRoaXMuX3Bvd0J5JiZ0aGlzLl9wb3dCeS5zaG93VHJhZGVXaXRoTG9nbyghMCksKHQuaW5jbHVkZXMoTS5Lbm93bkFjdGlvbi5FeHBhbmQpfHx0LmluY2x1ZGVzKE0uS25vd25BY3Rpb24uTGFyZ2VUcmFkZUxvZ28pKSYmKHRoaXMuX3N0YXJ0T3BlbkFuaW1hdGlvbigpLHRoaXMuX2Nsb3NlQW5pbWF0aW9uPXtzdG9wOigpPT57fSxjb21wbGV0ZWQ6KCk9PiExfSl9KSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKX1fY2hlY2tMYXlvdXQoKXtpZigoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7Y29uc3QgdD1tdC53aWRnZXREZWZhdWx0cy5sb2dvfHx7fSxlPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZ1bmRhbWVudGFsX3dpZGdldCIpO3RoaXMuX25lZWRUb1Nob3c9IXQud2hpdGVsYWJlbCx0LmltYWdlPyh0aGlzLl9jdXN0b21Mb2dvU3JjPSIvc3RhdGljL2ltYWdlcy93aWRnZXQtZW1iZWQtbG9nby8iK3QuaW1hZ2UsdC5ub19wb3dlcmVkX2J5P3RoaXMuX2xheW91dD1lP2h0OmF0OnRoaXMuX2xheW91dD1lP3J0OnN0KTpfdC5yZWZlcnJhbF9pZHx8X3Qubm9fcmVmZXJyYWxfaWQ/dGhpcy5fbGF5b3V0PW90OnRoaXMuX2xheW91dD1lP250Oml0fWVsc2UgdGhpcy5fbGF5b3V0PWV0fV9zdGFydE9wZW5BbmltYXRpb24oKXtpZihudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbilyZXR1cm47bnVsbCE9PXRoaXMuX2Nsb3NlQW5pbWF0aW9uJiYodGhpcy5fY2xvc2VBbmltYXRpb24uc3RvcCgpLHRoaXMuX2Nsb3NlQW5pbWF0aW9uPW51bGwpO2NvbnN0IHQ9KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wb3dCeSkuYW5pbWF0aW9uU3RlcCgpO3RoaXMuX29wZW5BbmltYXRpb249KDAsdi5kb0FuaW1hdGUpKHtmcm9tOnQsdG86MSxkdXJhdGlvbjoyMDAqKDEtdCksZWFzaW5nOnRoaXMuX2N1YmljQmV6aWVyLmVhc2luZ0Z1bmMsb25TdGVwOnRoaXMuX2FuaW1hdGVkRHJhd1N0ZXAuYmluZCh0aGlzKX0pfV9zdGFydENsb3NlQW5pbWF0aW9uKCl7aWYobnVsbCE9PXRoaXMuX2Nsb3NlQW5pbWF0aW9uKXJldHVybjtudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbiYmKHRoaXMuX29wZW5BbmltYXRpb24uc3RvcCgpLHRoaXMuX29wZW5BbmltYXRpb249bnVsbCk7Y29uc3QgdD0oMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bvd0J5KS5hbmltYXRpb25TdGVwKCk7dGhpcy5fY2xvc2VBbmltYXRpb249KDAsdi5kb0FuaW1hdGUpKHtmcm9tOnQsdG86MCxkdXJhdGlvbjoyMDAqdCxlYXNpbmc6dGhpcy5fY3ViaWNCZXppZXIuZWFzaW5nRnVuYyxvblN0ZXA6dGhpcy5fYW5pbWF0ZWREcmF3U3RlcC5iaW5kKHRoaXMpfSl9X2FuaW1hdGVkRHJhd1N0ZXAodCxlKXsoMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bvd0J5KS5hbmltYXRlZERyYXdTdGVwKGUpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9X2hhc0FuaW1hdGlvbigpe3JldHVybiBudWxsIT09dGhpcy5fcG93QnkmJnRoaXMuX3Bvd0J5Lmhhc0FuaW1hdGlvbigpfV9vcGVuR29Qcm8oKXt3aW5kb3cucnVuT3JTaWduSW4oKGFzeW5jKCk9PntpZighKDAsSS5jYW5VcGdyYWRlUGxhbikoKSlyZXR1cm47Y29uc3R7b3BlbkdvUHJvOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMzk4MyksaS5lKDMzMjIxKSxpLmUoMTc5OTEpLGkuZSgyMjU0NyldKS50aGVuKGkuYmluZChpLDUxNzk5MSkpO3RoaXMuX2Rlc3Ryb3llZHx8dCh7Z29wcm9Tb3VyY2U6ImJyYWRpbmcifSwoKCk9Pnt9KSl9KSx7c291cmNlOiJicmFuZGluZyJ9KX1fb3BlbkxpbmsoKXtpZigoMCxfLmlzU3ltcGhvbnlFbWJlZCkoKSlyZXR1cm4hMTtpZih0aGlzLl9sYXlvdXQ9PT1ldClyZXR1cm4gdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpfHx0aGlzLl9vcGVuR29Qcm8oKSwhMTsoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSYmVCh0aGlzLnR2VXJsKCksImNvcHlyaWdodCIpO3JldHVybigwLGMuZW5zdXJlTm90TnVsbCkod2luZG93Lm9wZW4odGhpcy50dlVybCgpLCJfYmxhbmsiKSkub3BlbmVyPW51bGwsITB9X3RvZ2dsZU9wZW5BbmltYXRlZE9yT3BlbkxpbmsoKXtudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbiYmdGhpcy5fb3BlbkFuaW1hdGlvbi5jb21wbGV0ZWQoKT90aGlzLl9vcGVuTGluaygpfHx0aGlzLl9zdGFydENsb3NlQW5pbWF0aW9uKCk6dGhpcy5fc3RhcnRPcGVuQW5pbWF0aW9uKCl9fWxldCBBdD17fSxTdD17fTtmdW5jdGlvbiBMdCh0LGUsaSxvLHMpe2NvbnN0IGE9eXQ/U3Q6QXQsbj1bZSx5dCYmaSxzJiYidHJhZGVXaXRoIl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIi0iKSxyPWFbbl07aWYodm9pZCAwIT09cilyZXR1cm4gcjtjb25zdFtoLGwsZF09ZnVuY3Rpb24odCxlLGkpe3JldHVybiBpP1sibG9nby10cmFkZS13aXRoIiwidHJhZGluZ3ZpZXctdHJhZGUtd2l0aCJdOlt5dD8ibG9nby1vbGQtc3R5bGUiOmBsb2dvLSR7dH1gLHl0PyJ0cmFkaW5ndmlldy1vbGQtc3R5bGUiOmB0cmFkaW5ndmlldy0ke3R9YCx5dHx8IWU/dm9pZCAwOmBwcm8tYmFkZ2UtJHt0fWBdfShlLG8scyksZz10PT55dD90LnJlcGxhY2UoL2ZpbGw9IiNbXGRhLWZdezZ9Ii9naSxgZmlsbD0iJHtpfSJgKTp0LF89e2xvZ29JbWFnZTp0KGcoKDAsYy5lbnN1cmVEZWZpbmVkKSh0dC5nZXQoaCkpKSksdGV4dEltYWdlOnQoZygoMCxjLmVuc3VyZURlZmluZWQpKHR0LmdldChsKSkpKSxwcm9CYWRnZUltYWdlOmQ/dChnKCgwLGMuZW5zdXJlRGVmaW5lZCkodHQuZ2V0KGQpKSkpOnZvaWQgMH07cmV0dXJuIGFbbl09XyxffWNsYXNzIFR0e2NvbnN0cnVjdG9yKCl7dGhpcy5fdG9wTGVmdFBvaW50PW51bGwsdGhpcy5faGl0VGVzdEhlaWdodD1udWxsfWhpdFRlc3QodCl7CmNvbnN0IGU9dGhpcy5fZ2V0SGl0VGVzdEJveCgpO2lmKGUpcmV0dXJuKDAsbC5wb2ludEluQm94KSh0LGUpfV9nZXRIaXRUZXN0Qm94KCl7Y29uc3QgdD10aGlzLl90b3BMZWZ0UG9pbnQ7aWYodCl7Y29uc3R7eDplLHk6aX09dDtyZXR1cm4oMCxoLmJveCkodCxuZXcgaC5Qb2ludChlK3RoaXMud2lkdGgsaSsodGhpcy5faGl0VGVzdEhlaWdodD8/dGhpcy5oZWlnaHQpKSl9fX1jbGFzcyBDdCBleHRlbmRzIFR0e2NvbnN0cnVjdG9yKHQsZSxpLG8pe3N1cGVyKCksdGhpcy5zaG93PSEwLHRoaXMuaG92ZXJlZD0hMSx0aGlzLmFjdGl2ZT0hMSx0aGlzLl9uZWVkRGlzcGxheUltYWdlPSExLHRoaXMuX3RleHRBbmltYXRlZEFscGhhPTEsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydD0xLHRoaXMuX3RleHRBZGRpdGlvbmFsQ3JvcFdpZHRoPTAsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFFbmQ9MSx0aGlzLl9iYWRnZURhdGE9e2xvZ29NYXJnaW46MCx0ZXh0TWFyZ2luOjAsd2lkdGg6MH0sdGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb249ITEsdGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMSx0aGlzLl90eHQ9IlRyYWRpbmdWaWV3Iix0aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25UZXh0V2lkdGg9MCx0aGlzLl9sb2dvV2lkdGg9MCx0aGlzLl90ZXh0V2lkdGhDYWNoZT1uZXcgTy5UZXh0V2lkdGhDYWNoZSx0aGlzLl9waXhlbFJhdGlvPXtob3Jpem9udGFsUGl4ZWxSYXRpbzpOYU4sdmVydGljYWxQaXhlbFJhdGlvOk5hTn0sdGhpcy5fbW9kZWw9aSx0aGlzLl9sYXlvdXQ9dCx0aGlzLl9zeW1ib2w9ZSx0aGlzLl9zaG93VHJhZGVXaXRoTG9nbz0hMSx0aGlzLl9zaG93QW5pbWF0ZWRCcmFuZGluZz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2FuaW1hdGVkX2xvZ28iKXx8dD09PWl0LHRoaXMuX2Fsd2F5c01heGltaXplZD0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJsb2dvX2Fsd2F5c19tYXhpbWl6ZWQiKXx8dGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiYhXy5DaGVja01vYmlsZS5hbnkoKXx8IV8uQ2hlY2tNb2JpbGUuYW55KCkmJiF0aGlzLl9tb2RlbC5vbldpZGdldCgpJiYoIXdpbmRvdy51c2VyfHwhd2luZG93LnVzZXIuaXNfcHJvKSx0aGlzLl9mb250U2l6ZT10aGlzLl9zaG93QW5pbWF0ZWRCcmFuZGluZ3x8dGhpcy5fbGF5b3V0PT09b3Q/MTE6MTQsdGhpcy5fc2hvd0FuaW1hdGVkQnJhbmRpbmd8fHRoaXMuX2xheW91dCE9PXN0JiZ0aGlzLl9sYXlvdXQhPT1ydHx8KHRoaXMuX2ZvbnRTaXplPTEyKSx0aGlzLl9zaXplQ29uc3RhbnRzPWZ1bmN0aW9uKHQpe3tpZih4dClyZXR1cm57YnJhbmRDaXJjbGVTaXplOjMyLHRleHRBc0ltYWdlV2lkdGhDb21wZW5zYXRpb246MixsZWZ0T2Zmc2V0OjEsYm90dG9tT2Zmc2V0Oi0yMCxsb2dvTGVmdE9mZnNldDoxLGxvZ29UZXh0T2Zmc2V0OjR9O2NvbnN0IGU9e2JyYW5kQ2lyY2xlU2l6ZTo0OCx0ZXh0QXNJbWFnZVdpZHRoQ29tcGVuc2F0aW9uOjAsbGVmdE9mZnNldDotMTcsYm90dG9tT2Zmc2V0Oi0xNCxsb2dvTGVmdE9mZnNldDo4LGxvZ29UZXh0T2Zmc2V0OjF9O3JldHVybiB0P18uQ2hlY2tNb2JpbGUuYW55KCk/ey4uLmUsbGVmdE9mZnNldDotMjEsYm90dG9tT2Zmc2V0Oi0yMH06ey4uLmUsbGVmdE9mZnNldDotMTcsYm90dG9tT2Zmc2V0Oi0xNn06ZX19KHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSksdGhpcy53aWR0aD10aGlzLl9taW5pbWl6ZWRBbmltYXRpb25XaWR0aCgpLHRoaXMuX2FuaW1hdGVkV2lkdGg9dGhpcy53aWR0aCx0aGlzLmhlaWdodD10aGlzLl9mb250U2l6ZSsyLHRoaXMuX3JlcXVlc3RSZXBhaW50PW8sdGhpcy5faW5pdCgpLHRoaXMuX2NoZWNrRm9udExvYWRlZCgpLHRoaXMuX3JlY2FsY3VsYXRlTWV0cmljcygpfWRlc3Ryb3koKXt0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5vbkNoYXJ0VGhlbWVMb2FkZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKX1oYXNBbmltYXRpb24oKXtyZXR1cm4gdGhpcy5fc2hvd0FuaW1hdGVkQnJhbmRpbmcmJiF0aGlzLl9hbHdheXNNYXhpbWl6ZWR9YW5pbWF0aW9uU3RlcCgpe2NvbnN0IHQ9dGhpcy5fbWluaW1pemVkQW5pbWF0aW9uV2lkdGgoKSxlPXRoaXMuX21heGltaXplZEFuaW1hdGlvbldpZHRoKCk7cmV0dXJuKHRoaXMuX2FuaW1hdGVkV2lkdGgtdCkvKGUtdCl9YW5pbWF0ZWREcmF3U3RlcCh0KXtjb25zdCBlPXRoaXMuX21pbmltaXplZEFuaW1hdGlvbldpZHRoKCksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2FuaW1hdGVkV2lkdGg9ZSt0KihpLWUpLHRoaXMuX3RleHRBbmltYXRlZEFscGhhPXRoaXMuX3RleHRBbmltYXRlZEFscGhhU3RhcnQrdCoodGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFFbmQtdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydCl9ZHJhdyh0LGUsaSxvKXtjb25zdHticmFuZENpcmNsZVNpemU6cyxsb2dvTGVmdE9mZnNldDphLGxlZnRPZmZzZXQ6bixib3R0b21PZmZzZXQ6cn09dGhpcy5fc2l6ZUNvbnN0YW50czt0aGlzLl9uZWVkRGlzcGxheUltYWdlJiYodD1uZXcgaC5Qb2ludCh0Lngrbix0LnktcikpLHRoaXMuX3RvcExlZnRQb2ludD10LGUudHJhbnNsYXRlKHQueCx0LnkpO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmwsdmVydGljYWxQaXhlbFJhdGlvOmR9PWk7KDAsRC5lcXVhbFBpeGVsUmF0aW9zKShpLHRoaXMuX3BpeGVsUmF0aW8pfHwodGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9waXhlbFJhdGlvPXtob3Jpem9udGFsUGl4ZWxSYXRpbzpsLHZlcnRpY2FsUGl4ZWxSYXRpbzpkfSk7Y29uc3QgYz10aGlzLl9jb2xvcnM7aWYodGhpcy5fc2hvd1RyYWRlV2l0aExvZ28pe2NvbnN0IHQ9dGhpcy5fZ2V0TG9nb0ltYWdlKGMubG9nbyksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2RyYXdUcmFkZVdpdGhMb2dvKGUsdCxpKX1lbHNlIGlmKHRoaXMuX3Nob3dBbmltYXRlZEJyYW5kaW5nKXtpZih0aGlzLl9uZWVkRGlzcGxheUltYWdlKXsKY29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UoYy5sb2dvKTt0aGlzLndpZHRoPXRoaXMuX2FuaW1hdGVkV2lkdGgsdGhpcy5fZHJhd0xvZ28oZSx0LHRoaXMuX2FuaW1hdGVkV2lkdGgsdGhpcy5fYW5pbWF0ZWRXaWR0aCx0aGlzLl9hbmltYXRlZFdpZHRoPih5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0LmxvZ29JbWFnZS52aWV3Qm94KCkud2lkdGgrdGhpcy5fc2l6ZUNvbnN0YW50cy5sb2dvVGV4dE9mZnNldCt0aGlzLl9iYWRnZURhdGEubG9nb01hcmdpbit0aGlzLl9iYWRnZURhdGEud2lkdGgrdGhpcy5fYmFkZ2VEYXRhLnRleHRNYXJnaW4pKX19ZWxzZSBpZih0aGlzLl9sYXlvdXQ9PT1zdHx8dGhpcy5fbGF5b3V0PT09cnQpe2UuZm9udD10aGlzLl9mb250U2l6ZSt0aGlzLl9nZXRGb250RmFtaWx5KCk7Y29uc3QgdD1lLm1lYXN1cmVUZXh0KHRoaXMuX3R4dCkud2lkdGgrMjt0aGlzLndpZHRoPXQrZS5tZWFzdXJlVGV4dCgiVHJhZGluZ1ZpZXciKS53aWR0aCsyLGUuc2F2ZSgpLGUuZ2xvYmFsQWxwaGE9LjcsZS5maWxsU3R5bGU9dGhpcy5fY29sb3JzLmN1c3RvbUJyYW5kaW5nVGV4dCxlLmZpbGxUZXh0KHRoaXMuX3R4dCwwLDEyKSxlLmZpbGxTdHlsZT10aGlzLl9jb2xvcnMuY3VzdG9tQnJhbmRpbmdUcmFkaW5nVmlld1RleHQsZS5maWxsVGV4dCgiVHJhZGluZ1ZpZXciLHQsMTIpLGUucmVzdG9yZSgpfWVsc2UgaWYodGhpcy5fbGF5b3V0PT09b3Qpe2NvbnN0IHQ9dGhpcy5fZ2V0TG9nb0ltYWdlKGMubG9nbyksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2RyYXdMb2dvKGUsdCxpLGksITApfWVsc2UgaWYodGhpcy5fbmVlZERpc3BsYXlJbWFnZSl7Y29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UoYy5sb2dvKTtlLnNhdmUoKSx5dCYmdGhpcy5fZHJhd0JnQ2lyY2xlKGUscy8yKTtjb25zdHt3aWR0aDppLGhlaWdodDpvfT10LmxvZ29JbWFnZS52aWV3Qm94KCksbj1uZXcgaC5Qb2ludChNYXRoLnJvdW5kKChzLWkpLzIpLTErYSxNYXRoLmZsb29yKChzLW8pLzIpKzEpO3RoaXMuX2RyYXdMb2dvSW1hZ2UoZSxuLHQubG9nb0ltYWdlKTtjb25zdCByPSEwO3ImJihlLnRyYW5zbGF0ZShzKzUsTWF0aC5yb3VuZCh0aGlzLl9mb250U2l6ZSooInB4IEV1Y2xpZENpcmN1bGFyIj09PXRoaXMuX2dldEZvbnRGYW1pbHkoKT8uMTowKSkpLHRoaXMuX2RyYXdUZXh0U3Ryb2tlKGUpLHRoaXMuX2RyYXdUZXh0RmlsbChlKSksZS5yZXN0b3JlKCksdGhpcy53aWR0aD1zLHImJih0aGlzLndpZHRoKz10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25UZXh0V2lkdGgpfWVsc2V7Y29uc3QgdD0hMDt0JiYoZS5zYXZlKCksZS50cmFuc2xhdGUoZ3Q/LS41OjAsLS41KSx0aGlzLl9kcmF3VGV4dFN0cm9rZShlKSx0aGlzLl9kcmF3VGV4dEZpbGwoZSksZS5yZXN0b3JlKCkpLHQmJih0aGlzLndpZHRoPXRoaXMuX21heGltaXplZEFuaW1hdGlvblRleHRXaWR0aCl9fXNob3dUcmFkZVdpdGhMb2dvKHQpe3RoaXMuX3Nob3dUcmFkZVdpdGhMb2dvPXR9X21pbmltaXplZEFuaW1hdGlvbldpZHRoKCl7cmV0dXJuKHl0P3RoaXMuX3NpemVDb25zdGFudHMuYnJhbmRDaXJjbGVTaXplOnRoaXMuX2xvZ29XaWR0aCkrdGhpcy5fYmFkZ2VEYXRhLmxvZ29NYXJnaW4rdGhpcy5fYmFkZ2VEYXRhLndpZHRofV9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpe3JldHVybih5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0aGlzLl9sb2dvV2lkdGgpK3RoaXMuX3NpemVDb25zdGFudHMubG9nb1RleHRPZmZzZXQrdGhpcy5fbWF4aW1pemVkQW5pbWF0aW9uVGV4dFdpZHRoK3RoaXMuX2JhZGdlRGF0YS53aWR0aCt0aGlzLl9iYWRnZURhdGEudGV4dE1hcmdpbn1fZHJhd1RyYWRlV2l0aExvZ28odCxlLGkpe3t0LnNhdmUoKSx0aGlzLl9kcmF3RmlsbFJlY3RXaXRoUm91bmRlZENvcm5lcih0LC01LDEsMTQxLDM4LDgsNyk7Y29uc3R7d2lkdGg6byxoZWlnaHQ6c309ZS5sb2dvSW1hZ2Uudmlld0JveCgpLGE9bmV3IGguUG9pbnQoTWF0aC5yb3VuZChvLzIpLTE5LE1hdGguZmxvb3Iocy8yKS0xMik7dGhpcy5fZHJhd0xvZ29JbWFnZSh0LGEsZS5sb2dvSW1hZ2UpO2NvbnN0IG49bmV3IGguUG9pbnQoYS54K28sYS55KTt0aGlzLl9kcmF3SW1hZ2VDcm9wV2lkdGgodCxuLGUudGV4dEltYWdlLGkpLHRoaXMud2lkdGg9bytNYXRoLm1pbihlLnRleHRJbWFnZS52aWV3Qm94KCkud2lkdGgsaSksdC5yZXN0b3JlKCl9fV9kcmF3TG9nbyh0LGUsaSxvLHMpe2NvbnN0e2JyYW5kQ2lyY2xlU2l6ZTphLGxvZ29MZWZ0T2Zmc2V0Om4sbG9nb1RleHRPZmZzZXQ6cn09dGhpcy5fc2l6ZUNvbnN0YW50czt0LnNhdmUoKSx5dCYmdGhpcy5fZHJhd0ZpbGxSZWN0V2l0aFJvdW5kZWRDb3JuZXIodCwtLjUsMCxpLGEsYS8yKTtjb25zdHtsb2dvSW1hZ2U6bCx0ZXh0SW1hZ2U6ZCxwcm9CYWRnZUltYWdlOmN9PWUse3dpZHRoOmcsaGVpZ2h0Ol99PWwudmlld0JveCgpLG09bmV3IGguUG9pbnQoTWF0aC5yb3VuZCgoYS1nKS8yKS0xK24sTWF0aC5mbG9vcigoYS1fKS8yKSsxKTtpZihzKXtjb25zdCBlPW5ldyBoLlBvaW50KG0ueCtnK3IsbS55KSxpPXQuZ2xvYmFsQWxwaGE7dC5nbG9iYWxBbHBoYSo9dGhpcy5fdGV4dEFuaW1hdGVkQWxwaGE7Y29uc3Qgcz1vLSh5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0aGlzLl9sb2dvV2lkdGgpLXItdGhpcy5fYmFkZ2VEYXRhLmxvZ29NYXJnaW4tdGhpcy5fYmFkZ2VEYXRhLndpZHRoO3RoaXMuX2RyYXdJbWFnZUNyb3BXaWR0aCh0LGUsZCxzKSx0Lmdsb2JhbEFscGhhPWl9aWYoYyl7Y29uc3R7d2lkdGg6ZSxoZWlnaHQ6aX09Yy52aWV3Qm94KCk7Yy5yZW5kZXIodCx7dGFyZ2V0Vmlld0JveDp7eDptLngrdGhpcy53aWR0aC1lLHk6TWF0aC5mbG9vcigoYS1pKS8yKSsxLHdpZHRoOmUsaGVpZ2h0Oml9fSl9dGhpcy5fZHJhd0xvZ29JbWFnZSh0LG0sbCksdC5yZXN0b3JlKCl9X2luaXQoKXtTdD17fSxBdD17fSx0aGlzLl9jaGVja0xheW91dCgpLHRoaXMuc2hvdyYmKHRoaXMuX3VwZGF0ZUNvbG9ycygpLHRoaXMuX3VwZGF0ZUhlaWdodCgpLAp0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVDb2xvcnMpLHRoaXMuX21vZGVsLm9uQ2hhcnRUaGVtZUxvYWRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUNvbG9ycykpfV91cGRhdGVIZWlnaHQoKXtpZih0aGlzLl9uZWVkRGlzcGxheUltYWdlKWlmKHl0KXRoaXMuaGVpZ2h0PXRoaXMuX3NpemVDb25zdGFudHMuYnJhbmRDaXJjbGVTaXplO2Vsc2V7Y29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UodGhpcy5fY29sb3JzLmxvZ28pO2lmKG51bGwhPT10KXtjb25zdCBlPXQubG9nb0ltYWdlLnZpZXdCb3goKS5oZWlnaHQ7dGhpcy5oZWlnaHQ9TWF0aC5tYXgoZSx0LnRleHRJbWFnZS52aWV3Qm94KCkuaGVpZ2h0KSx0aGlzLl9oaXRUZXN0SGVpZ2h0PWV9fWVsc2UgdGhpcy5oZWlnaHQ9dGhpcy5fZm9udFNpemUrMn1fY2hlY2tGb250TG9hZGVkKCl7aWYoIXRoaXMuX3Nob3dBbmltYXRlZEJyYW5kaW5nJiZkb2N1bWVudC5mb250cyYmZG9jdW1lbnQuZm9udHMuY2hlY2smJmRvY3VtZW50LmZvbnRzLmxvYWQpe2RvY3VtZW50LmZvbnRzLmNoZWNrKGAke3RoaXMuX2ZvbnRTaXplfXB4IEV1Y2xpZENpcmN1bGFyYCk/dGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMDpkb2N1bWVudC5mb250cy5sb2FkKGAke3RoaXMuX2ZvbnRTaXplfXB4IEV1Y2xpZENpcmN1bGFyYCx0aGlzLl90eHQpLnRoZW4oKCgpPT57dGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMCx0aGlzLl9yZWNhbGN1bGF0ZU1ldHJpY3MoKSx0aGlzLl9yZXF1ZXN0UmVwYWludCgpfSkpfX1fZ2V0Rm9udEZhbWlseSgpe3JldHVybiB0aGlzLl9ldWNsaWRGb250QXZhaWxhYmxlPyJweCBFdWNsaWRDaXJjdWxhciI6YHB4ICR7Ui5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpfWB9X3JlY2FsY3VsYXRlTWV0cmljcygpe2NvbnN0IHQ9KDAseC5jcmVhdGVEaXNjb25uZWN0ZWRDYW52YXMpKGRvY3VtZW50LCgwLG4uc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSksZT0oMCx4LmdldFByZXNjYWxlZENvbnRleHQyRCkodCk7ZS5mb250PXRoaXMuX2ZvbnRTaXplK3RoaXMuX2dldEZvbnRGYW1pbHkoKTtjb25zdCBpPXRoaXMuX25lZWREaXNwbGF5SW1hZ2U/dGhpcy5fZ2V0TG9nb0ltYWdlKHRoaXMuX2NvbG9ycy5sb2dvKTpudWxsO2xldCBvPWk/aS50ZXh0SW1hZ2Uudmlld0JveCgpLndpZHRoK3RoaXMuX3NpemVDb25zdGFudHMudGV4dEFzSW1hZ2VXaWR0aENvbXBlbnNhdGlvbjpNYXRoLmNlaWwoZS5tZWFzdXJlVGV4dCh0aGlzLl90eHQpLndpZHRoKSsyKzg7byUyPT0wJiYobys9MSksdGhpcy5fbWF4aW1pemVkQW5pbWF0aW9uVGV4dFdpZHRoPW8sdGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9sb2dvV2lkdGg9aT8ubG9nb0ltYWdlLnZpZXdCb3goKS53aWR0aD8/MCx0aGlzLl9hbmltYXRlZFdpZHRoPXRoaXMuX2Fsd2F5c01heGltaXplZD90aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpOnRoaXMuX21pbmltaXplZEFuaW1hdGlvbldpZHRoKCl9X3VwZGF0ZUNvbG9ycygpe3RoaXMuX2NvbG9ycz10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT9ROkp9X2dldExvZ29JbWFnZSh0KXtyZXR1cm4gTHQoeS5zdmdSZW5kZXJlcix0aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT8iZGFyayI6ImxpZ2h0Iix0LCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJkJvb2xlYW4od2luZG93LnVzZXI/LmlzX2V4cGVydCkmJndpbmRvdy51c2VyPy5kZWNsYXJlZF9zdGF0dXM9PT1ILlVzZXJTdGF0dXMuUHJvLHRoaXMuX3Nob3dUcmFkZVdpdGhMb2dvKX1fY2hlY2tMYXlvdXQoKXtzd2l0Y2godGhpcy5fbGF5b3V0KXtjYXNlIGl0OmNhc2Ugb3Q6Y2FzZSBzdDpjYXNlIG50OmNhc2UgcnQ6Y2FzZSBkdDpjYXNlIGx0OmNhc2UgZXQ6dGhpcy5zaG93PSEwO2JyZWFrO2Nhc2UgYXQ6Y2FzZSBodDpjYXNlIGN0OnRoaXMuc2hvdz0hMX1zd2l0Y2godGhpcy5fbGF5b3V0KXtjYXNlIGl0OnRoaXMuX25lZWREaXNwbGF5SW1hZ2U9ITAsdGhpcy5fdHh0PXd0O2JyZWFrO2Nhc2UgbnQ6dGhpcy5fdHh0PXB0LmZvcm1hdCh7c3ltYm9sOnRoaXMuX3N5bWJvbH0pO2JyZWFrO2Nhc2Ugb3Q6dGhpcy5fbmVlZERpc3BsYXlJbWFnZT0hMDticmVhaztjYXNlIHN0OmNhc2UgcnQ6dGhpcy5fdHh0PWZ0O2JyZWFrO2Nhc2UgZXQ6dGhpcy5fbmVlZERpc3BsYXlJbWFnZT0hMDtjb25zdCB0PXRoaXMuX2dldExvZ29JbWFnZSgiIikucHJvQmFkZ2VJbWFnZTt0JiYhdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiYodGhpcy5fYmFkZ2VEYXRhPXtsb2dvTWFyZ2luOi0xMSx0ZXh0TWFyZ2luOi04LHdpZHRoOnQudmlld0JveCgpLndpZHRofSksdGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb249ITAsdGhpcy5fdGV4dEFkZGl0aW9uYWxDcm9wV2lkdGg9MTEsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydD0uMyx0aGlzLl90ZXh0QW5pbWF0ZWRBbHBoYUVuZD0xfX1fZHJhd1RleHRTdHJva2UodCl7dC5zYXZlKCksdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC50ZXh0QWxpZ249InN0YXJ0Iix0LmZvbnQ9dGhpcy5fZm9udFNpemUrdGhpcy5fZ2V0Rm9udEZhbWlseSgpLHQuc3Ryb2tlU3R5bGU9dGhpcy5fY29sb3JzLnN0YXRpY1RleHRCYWNrZ3JvdW5kLHQubGluZVdpZHRoPTQsdC5saW5lSm9pbj0icm91bmQiLHQuc3Ryb2tlVGV4dCh0aGlzLl90eHQsMCx0aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZS8yK3RoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKHQsdGhpcy5fdHh0KSksdC5yZXN0b3JlKCl9X2RyYXdUZXh0RmlsbCh0KXt0LnNhdmUoKSx0LnRleHRCYXNlbGluZT0ibWlkZGxlIix0LnRleHRBbGlnbj0ic3RhcnQiLHQuZm9udD10aGlzLl9mb250U2l6ZSt0aGlzLl9nZXRGb250RmFtaWx5KCksdC5maWxsU3R5bGU9dGhpcy5fY29sb3JzLnRleHQsCnQuZmlsbFRleHQodGhpcy5fdHh0LDAsdGhpcy5fc2l6ZUNvbnN0YW50cy5icmFuZENpcmNsZVNpemUvMit0aGlzLl90ZXh0V2lkdGhDYWNoZS55TWlkQ29ycmVjdGlvbih0LHRoaXMuX3R4dCkpLHQucmVzdG9yZSgpfV9kcmF3SW1hZ2VDcm9wV2lkdGgodCxlLGksbyl7dC5zYXZlKCk7Y29uc3R7bG9nb01hcmdpbjpzLHRleHRNYXJnaW46YX09dGhpcy5fYmFkZ2VEYXRhO3QuYmVnaW5QYXRoKCk7Y29uc3R7d2lkdGg6bixoZWlnaHQ6cn09aS52aWV3Qm94KCk7dC5yZWN0KGUueC10aGlzLl90ZXh0QWRkaXRpb25hbENyb3BXaWR0aCxlLnksbyt0aGlzLl90ZXh0QWRkaXRpb25hbENyb3BXaWR0aCxyKSx0LmNsaXAoKSxpLnJlbmRlcih0LHt0YXJnZXRWaWV3Qm94Ont4OmUueC0odGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb24/bi1vLXMrYTowKSx5OmUueSx3aWR0aDpuLGhlaWdodDpyfX0pLHQucmVzdG9yZSgpfV9kcmF3QmdDaXJjbGUodCxlKXtjb25zdCBpPTIqTWF0aC5QSTt0LnNhdmUoKSx0LmJlZ2luUGF0aCgpLHQuZmlsbFN0eWxlPXRoaXMuX2NvbG9ycy5zaGFkb3csdC5hcmMoZSxlLGUrMSwwLGkpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCksdC5zYXZlKCksdC5iZWdpblBhdGgoKSx0LmZpbGxTdHlsZT10aGlzLl9jb2xvcnMuYmFja2dyb3VuZCx0LmFyYyhlLGUsZSwwLGksITEpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCl9X2RyYXdGaWxsUmVjdFdpdGhSb3VuZGVkQ29ybmVyKHQsZSxpLG8scyxhLG4pe3Quc2F2ZSgpLCgwLEYuZHJhd1JvdW5kUmVjdCkodCxlLTEsaS0xLG8rMixzKzIsYSksdC5maWxsU3R5bGU9dGhpcy5fYmFja2dyb3VuZFNoYWRvd0ZpbGxTdHlsZSgpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCksdC5zYXZlKCksKDAsRi5kcmF3Um91bmRSZWN0KSh0LGUsaSxvLHMsbj8/YSksdC5maWxsU3R5bGU9dGhpcy5fYmFja2dyb3VuZEZpbGxTdHlsZSgpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCl9X3RyYWRlV2l0aExvZ29CYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5hY3RpdmU/dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/InJnYmEoNTQsIDU4LCA2OSkiOiJyZ2JhKDIyNCwgMjI3LCAyMzUpIjp0aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT8icmdiKDQyLCA0NiwgNTcpIjoicmdiKDI0MCwgMjQzLCAyNTApIn1fYmFja2dyb3VuZFNoYWRvd0ZpbGxTdHlsZSgpe3JldHVybiB0aGlzLl9zaG93VHJhZGVXaXRoTG9nbyYmKHRoaXMuYWN0aXZlfHx0aGlzLmhvdmVyZWQpP3RoaXMuX3RyYWRlV2l0aExvZ29CYWNrZ3JvdW5kQ29sb3IoKTp0aGlzLl9jb2xvcnMuc2hhZG93fV9iYWNrZ3JvdW5kRmlsbFN0eWxlKCl7cmV0dXJuIHRoaXMuX3Nob3dUcmFkZVdpdGhMb2dvJiYodGhpcy5hY3RpdmV8fHRoaXMuaG92ZXJlZCk/dGhpcy5fdHJhZGVXaXRoTG9nb0JhY2tncm91bmRDb2xvcigpOnRoaXMuX2NvbG9ycy5iYWNrZ3JvdW5kfV9kcmF3TG9nb0ltYWdlKHQsZSxpKXt5dHx8KHRoaXMuX3RvcExlZnRQb2ludD0oMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RvcExlZnRQb2ludCkuYWRkKGUpKTtjb25zdHt3aWR0aDpvLGhlaWdodDpzfT1pLnZpZXdCb3goKTtpLnJlbmRlcih0LHt0YXJnZXRWaWV3Qm94Ont4OmUueCx5OmUueSx3aWR0aDpvLGhlaWdodDpzfX0pfX1jbGFzcyBrdCBleHRlbmRzIFR0e2NvbnN0cnVjdG9yKHQsZSxpKXtzdXBlcigpLHRoaXMuc2hvdz0hMSx0aGlzLndpZHRoPTAsdGhpcy5oZWlnaHQ9MCx0aGlzLl9yZWFkeT0hMSx0aGlzLl9sYXlvdXQ9dCx0aGlzLl9zcmM9ZSx0aGlzLl9vblJlYWR5Q2FsbGJhY2s9aSx0aGlzLl9jaGVja0xheW91dCgpO2NvbnN0IG89bmV3IEltYWdlO3RoaXMuX2ltZz1vLHRoaXMuc2hvdyYmKG8uYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCgpPT57dGhpcy53aWR0aD1NYXRoLnJvdW5kKG8ud2lkdGgpLHRoaXMuaGVpZ2h0PU1hdGgucm91bmQoby5oZWlnaHQpLHRoaXMuX3JlYWR5PSEwLHRoaXMuX29uUmVhZHlDYWxsYmFjayYmdGhpcy5fb25SZWFkeUNhbGxiYWNrKCl9KSksby5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixvLnNyYz10aGlzLl9zcmMpfWRyYXcodCxlLGkpe3RoaXMuX3RvcExlZnRQb2ludD10LHRoaXMuX3JlYWR5JiYoZS50cmFuc2xhdGUodC54LHQueSksZS5kcmF3SW1hZ2UodGhpcy5faW1nLC0uNSwtLjUsdGhpcy53aWR0aCx0aGlzLmhlaWdodCkpfV9jaGVja0xheW91dCgpe3N3aXRjaCh0aGlzLl9sYXlvdXQpe2Nhc2Ugc3Q6Y2FzZSBhdDpjYXNlIHJ0OmNhc2UgaHQ6Y2FzZSBkdDpjYXNlIGN0OnRoaXMuc2hvdz0hMDticmVhaztjYXNlIGV0OmNhc2UgaXQ6Y2FzZSBvdDpjYXNlIG50OmNhc2UgbHQ6dGhpcy5zaG93PSExfX19Y29uc3QgQnQ9e3M6MCwiMmgiOjAsIjJ2IjoxLCIzaCI6MCwiM3YiOjIsIjNzIjowLCIzciI6MSwiMi0xIjoxLCIxLTIiOjEsNDoxLCI0diI6MywiNGgiOjAsIjRzIjowLCI0cy1sIjowLCIxLTMiOjEsIjMtMSI6MywiMi0yLWwiOjAsIjItMi1yIjoxLCIyLTIiOjMsIjEtNCI6MSwiNWgiOjAsIjV2IjowLCI1cyI6MCwiNXMtbCI6MCwiMi0zIjoyLCIzLTIiOjMsIjQtMSI6NCwiMi0zLWwiOjAsIjItMy1yIjoyLDY6MSwiNmgiOjAsIjZ2IjowLCI2YyI6NCwiMi00IjoyLCI0LTIiOjQsIjQtMyI6NCwiN2giOjAsIjdzIjowLDg6MSwiOGMiOjYsIjhoIjowLCI4diI6MCwiOXMiOjYsIjUtNCI6NSwiOWgiOjAsIjl2IjowLCIxMGM1IjoxLCIxMGgiOjAsIjEwdiI6MCwiMTJjNiI6MSwiMTJjNCI6MywiMTJoIjowLCIxNGM3IjoxLCIxNmM4IjoxLCIxNmM0IjozfTtmdW5jdGlvbiBQdCh0KXtjb25zdCBlPWZ1bmN0aW9uKHQsZSxpLGEpe2xldCBuPTA7Y29uc3Qgcj0oMCxzLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+KytuKSxbaSxhXSk7cmV0dXJuKDAsby5jb21iaW5lKSgoKGUsaSk9PnQoKVtCdFtlXV0/P251bGwpLGUud2Vha1JlZmVyZW5jZSgpLHIub3duZXJzaGlwKCkpCn0odC5nZXRBbGwuYmluZCh0KSx0LmxheW91dCx0LmNoYXJ0c1N3YXBwZWQoKSx0LmNoYXJ0V2lkZ2V0Q3JlYXRlZCgpKTt0LmFkZEN1c3RvbVNvdXJjZSgiYnJhbmRpbmciLCgoaSxzKT0+e2NvbnN0IGE9KDAsby5jb21iaW5lKSgoKHQsZSk9Pntjb25zdCBpPXQ/P2U7cmV0dXJuIG51bGwhPT1pJiZpLmhhc01vZGVsKCkmJmkubW9kZWwoKS5tb2RlbCgpPT09c30pLHQubWF4aW1pemVkQ2hhcnRXaWRnZXQoKS53ZWFrUmVmZXJlbmNlKCksZS5vd25lcnNoaXAoKSk7cmV0dXJuIG5ldyBidChpLHMsYS5vd25lcnNoaXAoKSl9KSxhLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpfX0sODM5NDEyKHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2VuYWJsZTooKT0+cixyZWZlcmVuY2VUb1RyYWRpbmdWaWV3OigpPT5ofSk7dmFyIG89aSgzODY5MzEpLHM9aSg2MDE1ODcpLGE9aSg5MzAyMzEpO2xldCBuO2Z1bmN0aW9uIHIodCxlKXtuPXQsZT1lfHwiYWdncmVzc2l2ZSIsKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInJlZmVycmFsX3Byb2dyYW1fcG9saWN5XyIrZSksKDAsby50cmFja0V2ZW50KSgiUmVmZXJyYWwgcHJvZ3JhbSBlbmFibGVkIixlKX1mdW5jdGlvbiBoKCl7Y29uc3QgdD0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIjtyZXR1cm4gbj90KyI/YWZmX2lkPSIrbisiJiIrKDAscy5idWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtcykoITEpOnQrKDAscy5idWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtcykoITApfX0sMzE5ODcyKHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2dldExvY2FsaXplZERvbWFpbjooKT0+cyxnZXRMb2NhbGl6ZWREb21haW5Vcmw6KCk9PmF9KTtjb25zdCBvPXthcl9BRToiYXIiLGRlX0RFOiJkZSIsZW46Ind3dyIsZXM6ImVzIixjYV9FUzoiZXMiLGZhX0lSOiJ3d3ciLGZyOiJmciIsaGVfSUw6ImlsIixpZDoiaWQiLGluOiJpbiIsaXQ6Iml0IixqYToianAiLGtyOiJrciIsbXNfTVk6Im15IixwbDoicGwiLGJyOiJiciIscnU6InJ1Iixzdl9TRToic2UiLHRoX1RIOiJ0aCIsdHI6InRyIix1azoidWsiLHZpX1ZOOiJ2biIsemhfQ046ImNuIix6aF9UVzoidHcifTtmdW5jdGlvbiBzKHQpe3JldHVybiBvW3RdfHwid3d3In1mdW5jdGlvbiBhKHQsZSl7Y29uc3QgaT1zKGUpLG89dC50b1N0cmluZygpLGE9YCR7dC5wYXRobmFtZX0ke3Quc2VhcmNofSR7dC5oYXNofWAsbj0vXmh0dHBzOlwvXC8oW1x3LV0rKVwueHN0YWdpbmcoLXdpZGdldCk/XC50di87cmV0dXJuL15odHRwczpcL1wvKChcdyotKT8oYmV0YXxiZXRhMCkpXC50cmFkaW5ndmlld1wuY29tLy50ZXN0KG8pPyJ3d3ciPT09aT9gaHR0cHM6Ly9iZXRhLnRyYWRpbmd2aWV3LmNvbSR7YX1gOmBodHRwczovLyR7aX0tYmV0YS50cmFkaW5ndmlldy5jb20ke2F9YDpuLnRlc3Qobyk/by5yZXBsYWNlKG4sImh0dHBzOi8vJDEueHN0YWdpbmcudHYiKTovXC9sb2NhbGhvc3QvLnRlc3Qobyk/bzovXmh0dHBzOlwvXC8oXHcrXC4pP3RyYWRpbmd2aWV3XC5jb20vLnRlc3Qobyk/YGh0dHBzOi8vJHtpfS50cmFkaW5ndmlldy5jb20ke2F9YDpvfX0sMzY0MTg4KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2dldFRWSG9zdEZyb21Mb2NhbGU6KCk9PnN9KTt2YXIgbz1pKDMxOTg3Mik7ZnVuY3Rpb24gcyh0KXtyZXR1cm4oMCxvLmdldExvY2FsaXplZERvbWFpbikodCkrIi50cmFkaW5ndmlldy5jb20ifX0sNjAxNTg3KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2J1aWxkVXRtUXVlcnlTdHJpbmc6KCk9PnIsYnVpbGRVdG1RdWVyeVN0cmluZ0Zyb21VcmxQYXJhbXM6KCk9PmgsZmlsdGVyVXRtSW5mbzooKT0+bn0pO3ZhciBvPWkoNDkyNjc3KSxzPWkoNjQxNTkzKTtjb25zdCBhPVsidXRtX3NvdXJjZSIsInV0bV9tZWRpdW0iLCJ1dG1fY2FtcGFpZ24iXTtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9e307cmV0dXJuIGEuZm9yRWFjaCgoaT0+e2NvbnN0IG89dFtpXTsic3RyaW5nIj09dHlwZW9mIG8mJiIiIT09byYmKGVbaV09KDAscy5odG1sRXNjYXBlKShvKSl9KSksZX1mdW5jdGlvbiByKHQsZT0hMSl7Y29uc3QgaT0oMCxvLmNyZWF0ZVVybFBhcmFtcykodCk7cmV0dXJuIGkmJmU/Ij8iK2k6aX1mdW5jdGlvbiBoKHQpe3JldHVybiByKG4oKDAsby5nZXRVcmxQYXJhbXMpKCkpLHQpfX0sNTk1ODAwKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAxOSIgd2lkdGg9IjIyIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSIjMTMxNzIyIiBkPSJNOSA0SDB2NGg1djdoNFY0Wm04IDExaC01bDQuNS0xMWg1TDE3IDE1Wm0tNS03YTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNFoiLz48L3N2Zz4nfSw4Nzc5NzkodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM1IDE5IiB3aWR0aD0iMzUiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMCAwaDE2djFhNC45OCA0Ljk4IDAgMCAxIDYuOS44N0wyMy42NSAwaDExLjNsLTcuNiAxOUg2di05SDBWMFoiLz48cGF0aCBmaWxsPSJsaWdodGdyYXkiIGQ9Ik0xNCAySDJ2Nmg2djloNlYyWk0yNiAxN2gtN2w2LTE1aDdsLTYgMTVaTTE5IDhhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvc3ZnPid9LDcyMTY0Nih0KXsKdC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwIDE5IiB3aWR0aD0iNTAiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTAuNjUgMGgzOS4zbC03LjYgMTlILjA1TDYgNGgzLjA1bDEuNi00WiIvPjxwYXRoIGZpbGw9ImxpZ2h0Z3JheSIgZD0ibTYgMTcgNi0xNWgzNWwtNiAxNUg2WiIvPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTkuMTUgNS45YzEuNDQgMCAyLjQ5IDEuMDQgMi40OSAyLjM5cy0xLjA1IDIuMzktMi40OSAyLjM5aC0uOTFWMTNoLTEuNDVWNS45aDIuMzZabS0uMDIgMy40MmMuNjYgMCAxLjEtLjQ1IDEuMS0xLjAzIDAtLjU4LS40NC0xLjAzLTEuMS0xLjAzaC0uODl2Mi4wNmguODlaTTIzLjQgMTNWNS45aDIuNzJjMS4zMyAwIDIuMTguOTIgMi4xOCAyLjEgMCAuOTUtLjUyIDEuNTUtMS40NiAxLjg1TDI5LjM5IDEzaC0xLjc1bC0yLjQzLTIuOTloLS4zNlYxM0gyMy40Wm0xLjQ1LTQuMjNoMS4xYy41NCAwIC45LS4yOS45LS43NyAwLS40OS0uMzYtLjc3LS45LS43N2gtMS4xdjEuNTRabTEyLjUuNjhhMy42NyAzLjY3IDAgMSAxLTcuMzQgMCAzLjY3IDMuNjcgMCAwIDEgNy4zNCAwWm0tNS44OCAwYzAgMS4yNC45NyAyLjI3IDIuMiAyLjI3YTIuMjQgMi4yNCAwIDAgMCAyLjIyLTIuMjdjMC0xLjI0LS45Ny0yLjI3LTIuMjEtMi4yN2EyLjI0IDIuMjQgMCAwIDAtMi4yMSAyLjI3WiIvPjwvc3ZnPid9LDM5MjIyMyh0KXt0LmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgODkgMTkiIHdpZHRoPSI4OSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iIzEzMTcyMiIgZD0iTTY3LjI1IDQuOWMwIC43My0uNiAxLjMyLTEuMzcgMS4zMi0uNzMgMC0xLjM2LS41OS0xLjM2LTEuMzEgMC0uNzIuNjMtMS4zMSAxLjM2LTEuMzEuNzYgMCAxLjM3LjU5IDEuMzcgMS4zWk02Ni45OCAxNWgtMi4yVjYuOTZoMi4yVjE1Wk0zMy41MiA2LjI0Yy43NyAwIDEuMzctLjU5IDEuMzctMS4zIDAtLjczLS42LTEuMzItMS4zNy0xLjMyLS43MyAwLTEuMzUuNTktMS4zNSAxLjMxIDAgLjcyLjYyIDEuMzEgMS4zNSAxLjMxWk0zMi4zOSAxNWgyLjJWNi45NmgtMi4yVjE1Wk01LjE1IDE1aC0yLjJWNi4yMkgwdi0yLjJoOC4xdjIuMkg1LjE1VjE1Wk0xMC4zIDE1bC0yLjIuMDFWNi45NmgyLjJ2MS4zOWMuMjctLjc0IDEtMS4zIDEuODYtMS4zaC4wM2MuMjIgMCAuNDQgMCAuNy4wN3YyLjFjLS4zNC0uMS0uNjItLjE1LS45OC0uMTUtMSAwLTEuNi43NC0xLjYgMS45OVYxNVpNMzguMjcgMTVoLTIuMlY2Ljk3bDIuMi0uMDF2LjczYy40My0uNiAxLjEzLS44OSAyLjE0LS44OSAxLjg5IDAgMy4wMSAxLjMzIDMuMDEgMy4yOFYxNWgtMi4ydi00LjM2YzAtMS4wOS0uNDItMS45Ni0xLjMtMS45Ni0xIDAtMS42NS42OC0xLjY1IDIuMTNWMTVaTTU5LjQ3IDE1bDQuNTctMTAuOTloLTIuNThsLTIuOTQgNy43My0zLjMyLTcuNzNoLTIuNTdMNTcuMjYgMTVoMi4yMVpNODYuNDUgMTVoLTIuMTZsLTEuNDgtNC41NEw4MS4zMyAxNWgtMi4xNWwtMi42My04LjA0aDIuMzFsMS41IDUuMTggMS42LTUuMThoMS42N2wxLjYyIDUuMTggMS40OC01LjE4aDIuMzNMODYuNDUgMTVaTTE2Ljg3IDE1LjIzYzEuMTIgMCAxLjktLjU2IDIuMjctMS4wOHYuOWgyLjJ2LTguMWgtMi4ydi45MmEyLjc4IDIuNzggMCAwIDAtMi4yNy0xLjA5Yy0yLjE1IDAtMy44IDEuOTQtMy44IDQuMjMgMCAyLjI4IDEuNjUgNC4yMiAzLjggNC4yMlptLjQ3LTIuMDJjLTEuMjMgMC0yLjA0LS45Mi0yLjA0LTIuMiAwLTEuMjguOC0yLjIgMi4wNC0yLjIgMS4yMyAwIDIuMDQuOTIgMi4wNCAyLjIgMCAxLjI4LS44MSAyLjItMi4wNCAyLjJaTTI4LjcgMTQuMTVhMi43OCAyLjc4IDAgMCAxLTIuMjYgMS4wOGMtMi4xNiAwLTMuOC0xLjk0LTMuOC00LjIyIDAtMi4yOSAxLjY0LTQuMjMgMy44LTQuMjMgMS4xMSAwIDEuOS41NyAyLjI3IDEuMDlWNC4wMmgyLjJ2MTEuMDNoLTIuMnYtLjlaTTI0Ljg4IDExYzAgMS4yOC44IDIuMiAyLjA0IDIuMiAxLjIzIDAgMi4wNC0uOTIgMi4wNC0yLjIgMC0xLjI4LS44MS0yLjItMi4wNC0yLjJzLTIuMDQuOTItMi4wNCAyLjJaTTQ4Ljc1IDE4LjZjMi40NyAwIDQuMjUtMS4yNiA0LjI1LTQuMThWNi45NmgtMi4yMXYuOWEyLjY1IDIuNjUgMCAwIDAtMi4yNS0xLjA4Yy0yLjEzIDAtMy44MyAxLjgxLTMuODMgNC4xIDAgMi4yNiAxLjcgNC4xNyAzLjgzIDQuMTdhMi44IDIuOCAwIDAgMCAyLjI1LTEuMTZ2LjU1YzAgMS4zLS43NiAyLjIyLTIuMDggMi4yMi0uOSAwLTEuODEtLjMxLTIuNTItMWwtMS4yMiAxLjY0Yy45My45IDIuMzcgMS4zIDMuNzggMS4zWm0uMjYtNS42NWEyLjAyIDIuMDIgMCAwIDEtMi4wNi0yLjA3YzAtMS4yNS45NC0yLjA4IDIuMDUtMi4wOCAxLjEyIDAgMi4wNi44MyAyLjA2IDIuMDggMCAxLjIzLS45NCAyLjA3LTIuMDUgMi4wN1pNNzYuMzkgMTMuMzhhNC40IDQuNCAwIDAgMS0zLjc2IDEuODFjLTIuNDEgMC00LjI5LTEuNjctNC4yOS00LjIyIDAtMi40IDEuOC00LjIzIDQuMjYtNC4yMyAyLjEyIDAgMy45OCAxLjM0IDMuOTggMy45OHYuMTJjMCAuMTkuMDEuNDQtLjAzLjcySDcwLjVjLjEzIDEuMDggMS4wOSAxLjYgMi4xNiAxLjZhMi40IDIuNCAwIDAgMCAyLjA5LTEuMDFsMS42NSAxLjIzWm0tMy44Ni00LjhjLS44MiAwLTEuNzQuNDEtMS45NSAxLjRoMy43OGMtLjE5LS45Ny0xLTEuNC0xLjgzLTEuNFoiLz48L3N2Zz4nfSwzMzMzMTgodCl7CnQuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMSAxMjYgMjQiIHdpZHRoPSIxMjYiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNNzYgMTMuOHYzLjM0YzAgMi40LS43NCA0LjQyLTIuMjggNS44YTguMDIgOC4wMiAwIDAgMS01LjUgMS44OGMtMi4yMSAwLTQuNzUtLjYzLTYuNS0yLjMybC0xLjI3LTEuMjIuOTUtMS4yOEgzOS42NEE2Ljc3IDYuNzcgMCAwIDEgMzMgMTguMTRWMjBoLTYuMzZjLS41Mi4xNS0xLjEuMjQtMS43Mi4yNC0zLjUyIDAtNi4xMy0yLjU4LTYuOTItNS43MlYyMEg0VjhIMFYxaDE1djRoM3YuMTZjLjE3LS4wMi4zNS0uMDMuNTItLjAzaC4wOGMuMyAwIC44MyAwIDEuNDUuMTdsMS40LjRhNi43IDYuNyAwIDAgMSA1LjItLjdIMzN2MS44NmE2Ljc3IDYuNzcgMCAwIDEgNi0yVjFoNi41OWEzLjg4IDMuODggMCAwIDEgMS45NS0uNTNBMy44MiAzLjgyIDAgMCAxIDUxLjMzIDVsMy44LS4wMWMuNTctLjE1IDEuMTctLjIxIDEuNzgtLjIxYTUuODggNS44OCAwIDAgMSA1LjI2IDNBNy4wMSA3LjAxIDAgMCAxIDY5LjcgNWgyLjVsLTEuNzQtNGg3Ljg3bDMuMDcgNy4xN0w4NC4xMiAxaDUuMzhjLjYtLjM2IDEuMjktLjU2IDItLjU2YTMuODIgMy44MiAwIDAgMSAzLjg3IDMuNzdBMy43IDMuNyAwIDAgMSA5NSA1LjgzdjEuMThhNy43NiA3Ljc2IDAgMCAxIDUuNjMtMi4zYy45IDAgMS44LjEzIDIuNjYuNDNsLS4wNC0uMTRoNy40bC42IDIuMDcuNjMtMi4wN2g1LjIxbC42NSAyLjA3LjU5LTIuMDdoNy40MmwtNC44NCAxNWgtNS44NGwtLjU2LTEuNzItLjU1IDEuNzJoLTUuODRsLS45Mi0yLjgzYTggOCAwIDAgMS02LjUyIDMuMDJBNy45MiA3LjkyIDAgMCAxIDk1IDE3LjkyVjIwaC03di05LjEyTDg0LjM1IDIwSDc4LjdMNzYgMTMuOFoiLz48cGF0aCBmaWxsPSJsaWdodGdyYXkiIGQ9Ik05My4zNyA0LjIxYzAgLjk5LS44MyAxLjc4LTEuODcgMS43OC0xIDAtMS44NC0uOC0xLjg0LTEuNzhzLjg1LTEuNzcgMS44NC0xLjc3YzEuMDQgMCAxLjg3LjggMS44NyAxLjc3Wk05MyAxOGgtM1Y3aDN2MTFaTTQ3LjU0IDYuMDJjMS4wNCAwIDEuODctLjggMS44Ny0xLjc3IDAtLjk5LS44My0xLjc4LTEuODctMS43OC0xIDAtMS44NC44LTEuODQgMS43OHMuODUgMS43NyAxLjg0IDEuNzdaTTQ2IDE4aDNWN2gtM3YxMVpNOSAxOEg2VjZIMlYzaDExdjNIOXYxMlpNMTYgMThsLTMgLjAyVjdoM3YxLjg5Yy4zNi0xIDEuMzQtMS43NiAyLjUzLTEuNzZoLjAzYy4zIDAgLjYgMCAuOTQuMXYyLjg0YTQgNCAwIDAgMC0xLjMxLS4yYy0xLjM4IDAtMi4xOSAxLTIuMTkgMi43VjE4Wk01NCAxOGgtM1Y3LjAxTDU0IDd2MWMuNTctLjgyIDEuNTMtMS4yMSAyLjktMS4yMSAyLjU3IDAgNC4xIDEuOCA0LjEgNC40NVYxOGgtM3YtNmMwLTEuNDctLjU2LTIuNjYtMS43Ny0yLjY2LTEuMzYgMC0yLjIzLjkzLTIuMjMgMi44OVYxOFpNODMgMThsNi0xNWgtMy41bC00IDEwLjVMNzcgM2gtMy41TDgwIDE4aDNaTTExOS40NSAxOGgtMi45M2wtMi4wMi02LjI1LTIgNi4yNWgtMi45M0wxMDYgN2gzLjE0bDIuMDUgNy4wNEwxMTMuMzYgN2gyLjI2bDIuMiA3LjA0TDExOS44MyA3SDEyM2wtMy41NSAxMVpNMjQuOTIgMTguMjRjMS41MiAwIDIuNTctLjc3IDMuMDgtMS40N1YxOGgzVjdoLTN2MS4yM2EzLjc4IDMuNzggMCAwIDAtMy4wOC0xLjQ3Yy0yLjkzIDAtNS4xNyAyLjY0LTUuMTcgNS43NHMyLjI0IDUuNzQgNS4xNyA1Ljc0Wm0uNjQtMi43NWMtMS42OCAwLTIuNzgtMS4yNS0yLjc4LTIuOTkgMC0xLjc0IDEuMS0zIDIuNzgtMyAxLjY3IDAgMi43NyAxLjI2IDIuNzcgM3MtMS4xIDMtMi43NyAzWk00MSAxNi43N2MtLjUuNy0xLjU2IDEuNDctMy4wOCAxLjQ3LTIuOTMgMC01LjE3LTIuNjQtNS4xNy01Ljc0czIuMjQtNS43NCA1LjE3LTUuNzRjMS41MiAwIDIuNTcuNzcgMy4wOCAxLjQ3VjNoM3YxNWgtM3YtMS4yM1ptLTUuMjItNC4yN2MwIDEuNzQgMS4xIDMgMi43OCAzIDEuNjcgMCAyLjc3LTEuMjYgMi43Ny0zcy0xLjEtMy0yLjc3LTNjLTEuNjggMC0yLjc4IDEuMjYtMi43OCAzWk02OC4yMyAyMi44MmMzLjM2IDAgNS43Ny0xLjcyIDUuNzctNS42OFY3aC0zdjEuMjNhMy42IDMuNiAwIDAgMC0zLjA2LTEuNDdjLTIuODggMC01LjIgMi40Ni01LjIgNS41NiAwIDMuMDggMi4zMiA1LjY4IDUuMiA1LjY4QTMuOCAzLjggMCAwIDAgNzEgMTYuNDJ2Ljc0YzAgMS43Ni0xLjA0IDMuMDItMi44MiAzLjAyYTQuODQgNC44NCAwIDAgMS0zLjQzLTEuMzdsLTEuNjUgMi4yNWMxLjI1IDEuMiAzLjIxIDEuNzYgNS4xMyAxLjc2Wm0uMzUtNy42OGEyLjc1IDIuNzUgMCAwIDEtMi44LTIuODJjMC0xLjY5IDEuMjgtMi44MSAyLjgtMi44MSAxLjUyIDAgMi44IDEuMTIgMi44IDIuODFhMi43NSAyLjc1IDAgMCAxLTIuOCAyLjgyWk0xMDUuNzggMTUuNzJhNS45NiA1Ljk2IDAgMCAxLTUuMSAyLjQ3Yy0zLjI4IDAtNS44My0yLjI3LTUuODMtNS43NGE1LjYyIDUuNjIgMCAwIDEgNS43OC01Ljc1YzIuODkgMCA1LjQyIDEuODMgNS40MiA1LjQyYTYuMDEgNi4wMSAwIDAgMS0uMDQgMS4xM2gtOC4yNGMuMTggMS40NyAxLjQ4IDIuMTkgMi45MyAyLjE5IDEuMzkgMCAyLjMzLS42MiAyLjg0LTEuMzlsMi4yNCAxLjY3Wm0tNS4yMy02LjUzYy0xLjEzIDAtMi4zOC41Ny0yLjY3IDEuOTFoNS4xNWMtLjI2LTEuMzItMS4zNi0xLjkxLTIuNDgtMS45MVoiLz48L3N2Zz4nfSw0MjI3MTEodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQwIDMyIiB3aWR0aD0iNDAiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTYgMjVIOVYxNEgyVjdoMTR2MThaTTM3LjUgNyAzMCAyNWgtOGw3LjUtMThoOFpNMjIgMTVhNCA0IDAgMSAwIDAtOCA0IDQgMCAwIDAgMCA4WiIvPjwvc3ZnPid9LDU5MjE1NSh0KXsKdC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDg5IDMyIiB3aWR0aD0iODkiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiPjxnIGZpbGw9IiMxMzE3MjIiIGNsaXAtcGF0aD0idXJsKCNhKSI+PHBhdGggZD0iTTcuNDg1IDI1Ljk0N0g5LjR2LTcuNTA1aDIuNTA2di0xLjgxSDUuMDA1djEuODFoMi40OHY3LjUwNVpNMTEuOTEgMjUuOTQ3aDEuNzk3di0zLjEzNmMwLTEuMDg5LjU2NC0xLjc0NSAxLjQxNy0xLjc0NS4zMDIgMCAuNTM4LjA1My44MTMuMTQ1di0xLjgyNGEyLjAxMSAyLjAxMSAwIDAgMC0uNjAzLS4wNzljLS43MzUgMC0xLjQwNC40ODYtMS42MjcgMS4xMjl2LTEuMDVoLTEuNzk4djYuNTZaTTE5LjM4OCAyNi4wOTJjLjkwNSAwIDEuNTg3LS40NiAxLjg4OS0uODh2LjczNWgxLjc5OHYtNi41NmgtMS43OTh2LjczNWMtLjMwMi0uNDItLjk4NC0uODgtMS44OS0uODgtMS43NDUgMC0zLjA4MyAxLjU3NS0zLjA4MyAzLjQyNSAwIDEuODUgMS4zMzggMy40MjUgMy4wODQgMy40MjVabS4zOC0xLjY0Yy0uOTk3IDAtMS42NTMtLjc0OC0xLjY1My0xLjc4NSAwLTEuMDM2LjY1Ni0xLjc4NCAxLjY1My0xLjc4NHMxLjY1My43NDggMS42NTMgMS43ODRjMCAxLjAzNy0uNjU2IDEuNzg1LTEuNjUzIDEuNzg1Wk0yNy4zNTQgMjYuMDkyYy45MDYgMCAxLjU4OC0uNDYgMS44OS0uODh2LjczNWgxLjc5N3YtOS44NGgtMS43OTd2NC4wMTVjLS4zMDItLjQyLS45ODQtLjg4LTEuODktLjg4LTEuNzQ1IDAtMy4wODMgMS41NzUtMy4wODMgMy40MjUgMCAxLjg1IDEuMzM4IDMuNDI1IDMuMDgzIDMuNDI1Wm0uMzgtMS42NGMtLjk5NiAwLTEuNjUyLS43NDgtMS42NTItMS43ODUgMC0xLjAzNi42NTYtMS43ODQgMS42NTMtMS43ODRzMS42NTMuNzQ4IDEuNjUzIDEuNzg0YzAgMS4wMzctLjY1NiAxLjc4NS0xLjY1MyAxLjc4NVpNMzMuNTUgMTguMzExYy42NDMgMCAxLjE1NS0uNTEyIDEuMTU1LTEuMTQyIDAtLjYzLS41MTItMS4xNDEtMS4xNTUtMS4xNDFhMS4xNSAxLjE1IDAgMCAwLTEuMTQyIDEuMTQyYzAgLjYzLjUyNSAxLjE0MSAxLjE0MiAxLjE0MVptLS44OTIgNy42MzZoMS43OTd2LTYuNTZoLTEuNzk3djYuNTZaTTM2LjA1IDI1Ljk0N2gxLjc5OHYtMy4yMDFjMC0xLjI2LjYxNy0xLjg2MyAxLjQ1Ni0xLjg2My43NDggMCAxLjE1NS41NzcgMS4xNTUgMS41MjJ2My41NDJoMS43OTd2LTMuODQ0YzAtMS43MDYtLjk0NC0yLjg2LTIuNTMyLTIuODYtLjg1MyAwLTEuNTIyLjM2Ny0xLjg3Ni44OTJ2LS43NDhIMzYuMDV2Ni41NlpNNDYuODMgMjQuMjQyYy0uOTA0IDAtMS42NjYtLjY4My0xLjY2Ni0xLjY4IDAtMS4wMS43NjEtMS42OCAxLjY2Ny0xLjY4LjkwNSAwIDEuNjY2LjY3IDEuNjY2IDEuNjggMCAuOTk3LS43NiAxLjY4LTEuNjY2IDEuNjhabS0uMjEgNC41NzljMi4wMDggMCAzLjUzLTEuMDI0IDMuNTMtMy4zODV2LTYuMDVoLTEuNzk3di43MzZjLS4zNTQtLjUxMi0xLjA2My0uODgtMS45MDMtLjg4LTEuNzE5IDAtMy4wOTYgMS40Ny0zLjA5NiAzLjMyIDAgMS44MzcgMS4zNzcgMy4zMDcgMy4wOTYgMy4zMDcuODQgMCAxLjU0OS0uMzggMS45MDMtLjg2NnYuNDQ2YzAgMS4wNS0uNjk2IDEuNzk3LTEuNzU4IDEuNzk3LS43MzUgMC0xLjQ3LS4yNDktMi4wNDctLjgxM2wtLjk4NCAxLjMzOGMuNzQ4LjcyMiAxLjkxNSAxLjA1IDMuMDU3IDEuMDVaTTUzLjk1MSAyNS45NDdoMS42OTNsMy44NTctOS4zMTZoLTIuMWwtMi41OTcgNi40Ny0yLjYzNy02LjQ3aC0yLjA2bDMuODQ0IDkuMzE2Wk02MS4xNSAxOC4zMTFjLjY0NCAwIDEuMTU1LS41MTIgMS4xNTUtMS4xNDIgMC0uNjMtLjUxMS0xLjE0MS0xLjE1NC0xLjE0MWExLjE1IDEuMTUgMCAwIDAtMS4xNDIgMS4xNDJjMCAuNjMuNTI1IDEuMTQxIDEuMTQyIDEuMTQxWm0tLjg5MiA3LjYzNmgxLjc5OHYtNi41NmgtMS43OTh2Ni41NlpNNjYuNzA4IDI2LjA5MmMxLjM3OCAwIDIuNDI3LS41NzggMy4wNDQtMS40N2wtMS4zMzgtLjk5N2MtLjMwMi40Ni0uODY2LjgyNy0xLjY5My44MjctLjg2NiAwLTEuNjQtLjQ4Ni0xLjc0NS0xLjM2NWg0LjkwN2MuMDQtLjI3Ni4wMjYtLjQ2LjAyNi0uNjE3IDAtMi4xMzgtMS41MDgtMy4yMjctMy4yMjctMy4yMjctMS45OTUgMC0zLjQ1MSAxLjQ4Mi0zLjQ1MSAzLjQyNCAwIDIuMDczIDEuNTIyIDMuNDI1IDMuNDc3IDMuNDI1Wm0tMS42NjYtNC4yMjVjLjE3LS44LjkxOC0xLjE0MiAxLjU4Ny0xLjE0Mi42NyAwIDEuMzI1LjM1NCAxLjQ4MyAxLjE0MmgtMy4wN1pNNzYuNjQ0IDI1Ljk0N2gxLjc4NGwyLjE2NS02LjU2aC0xLjkyOGwtMS4yMzQgNC4xOTktMS4zMzgtNC4yaC0xLjM3OGwtMS4zMjUgNC4yLTEuMjQ2LTQuMmgtMS45MTZsMi4xNzggNi41NjFoMS43ODRsMS4yMi0zLjcyNiAxLjIzNCAzLjcyNlpNNi45MjQgMTJWNi44ODZINS4xNjJ2LS45NThoNC41MzN2Ljk1OGgtMS43N1YxMmgtMVptMy4zMyAwVjUuOTI4aDIuMTljMS4xMjkgMCAxLjgzOS43MjcgMS44MzkgMS43MjcgMCAuODU2LS41MDUgMS40MTItMS4zNzcgMS42MTdMMTUuMTY0IDEyaC0xLjIzMmwtMi4yMjQtMi42NjhoLS40NTNWMTJoLTFabTEuMDAxLTMuNTRoMS4wN2MuNTkgMCAuOTU3LS4yODMuOTU3LS44MDUgMC0uNTIxLS4zNjgtLjgwNC0uOTU4LS44MDRoLTEuMDY5VjguNDZabTMuNDYgMy41NCAyLjY1MS02LjA3MmguODcyTDIwLjg5IDEyaC0xLjA0NGwtLjY5Mi0xLjU5aC0yLjcyTDE1Ljc1IDEyaC0xLjAzNVptMi4xMDQtMi40OGgxLjk1bC0uOTc1LTIuMjUtLjk3NSAyLjI1Wm00LjUxIDIuNDhWNS45MjhoMS44NjVjMS44MDUgMCAzLjE4MiAxLjMxNyAzLjE4MiAzLjAzNlMyNC45OTkgMTIgMjMuMTk0IDEySDIxLjMzWm0xLjAwMi0uOTMyaC44NjNjMS4zIDAgMi4xNjQtLjkxNSAyLjE2NC0yLjEwNHMtLjg2NC0yLjEwNC0yLjE2NC0yLjEwNGgtLjg2M3Y0LjIwOFptNC44MDQuOTMyVjUuOTI4aDMuNjUydi45NThoLTIuNjUydjEuNTU2aDIuMTM4VjkuNGgtMi4xMzh2MS42NDJoMi42NTJWMTJoLTMuNjUyWm0xMi4wMjMtMy4wMzZhMy4xMjQgMy4xMjQgMCAwIDEtMy4xMzggMy4xMzkgMy4xMiAzLjEyIDAgMCAxLTMuMTM5LTMuMTQgMy4xMiAzLjEyIDAgMCAxIDMuMTM5LTMuMTM4IDMuMTI0IDMuMTI0IDAgMCAxIDMuMTM4IDMuMTM5Wm0tNS4yNjggMGMwIDEuMjA2LjkyNCAyLjE3MiAyLjEzIDIuMTcyIDEuMTk3IDAgMi4xMi0uOTY2IDIuMTItMi4xNzIgMC0xLjIwNi0uOTIzLTIuMTcyLTIuMTItMi4xNzItMS4yMDYgMC0yLjEzLjk2Ni0yLjEzIDIuMTcyWk00NS4yMDggMTJoLS44NzJsLTMuNDIxLTQuMzdWMTJoLTFWNS45MjhoLjg3MmwzLjQxMiA0LjM1M1Y1LjkyOGgxLjAxVjEyWiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoODl2MzJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCMORPHO.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.485Z","timestamp":1785136905485,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCMORPHO.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/img/serv/forex.jpg","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.542Z","timestamp":1785136899542,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/serv/forex.jpg HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/jpeg\r\nContent-Length: 9490\r\nConnection: keep-alive\r\nLast-Modified: Sat, 28 Sep 2024 12:08:52 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":9490,"size_decoded":9701,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 275x183, components 3","md5":"1f31076a224b98ae3d9e2670690083b1","sha1":"5eeb23816d7c651c7b6b625310f3a340c4250f71","sha256":"4a83e73fe8763929670726ff392cce3d0da4376ac9df571a27a3f6ab3b1d9bca","sha512":"8895217a5ec4392fbb6e063de0b25e85e9bc6fcb8b32d1ab1e5d571cbcac6b012f007db6e80bb9f601a12a0c836e5621755e05de4c669fb16d5ad5c088ce018c","ssdeep":"192:QteI8zVKeXbk4Su+ImnEMjq057KcHg/k/sqOuK/vRPYV53nYZBh1GTP8gL4F:QtME7J1IN8scA/k/lj6vKV53aFG5L4F","tlshash":"8f12c0db0ff6b0419c0df231909f906dd911f3129117528a2f517b73ac09ab5b9cf925","first_seen":"2026-07-27T04:48:05.429221Z","last_seen":"2026-07-27T07:23:37.191779Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":903,"timings":{"blocked":809,"dns":0,"connect":0,"send":0,"wait":94,"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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/clients-logo-04.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.547Z","timestamp":1785136899547,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/clients-logo-04.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/png\r\nContent-Length: 14865\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":14865,"size_decoded":15076,"mime_type":"image/png","magic":"PNG image data, 280 x 100, 8-bit/color RGBA, non-interlaced","md5":"437071d3ca37bbb3f3d4814e6ef6029b","sha1":"480780d285aef220034f29cf7b4d0fd1bf28e197","sha256":"699521a2c3be4cc036eef7f6990221bd6555dfcae9274a5979a9b78eda7a8627","sha512":"74ce29b27a5462cc1f602dfa41f00ab327166d807b2ce462402f3289cb082a7b6949b5fca94080e990ddc41893c6e601a8ffcb4ae544ad8fb99b291154ce9e3a","ssdeep":"384:6ERMJn+M2l9hbK+QFgZb5K4+9+zzzuHBLtVvBZ6XuZ05qtnHdG:6Eic3h1Qcb5L+9SEBLtlBfZ05UnHI","tlshash":"5262d0bacd5e4efed485f1442b205627d27a5cb37560fabc4ca6d85f04734b6c0427a1","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-08-01T11:22:31.032655Z","times_seen":246,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAARgAAABkCAYAAABdGS+CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ5M0VBQzE2MTEyMTExRUFBN0VDQ0E5QTc3QUFDNjRCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ5M0VBQzE3MTEyMTExRUFBN0VDQ0E5QTc3QUFDNjRCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDkzRUFDMTQxMTIxMTFFQUE3RUNDQTlBNzdBQUM2NEIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDkzRUFDMTUxMTIxMTFFQUE3RUNDQTlBNzdBQUM2NEIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7Evbs+AAA2gUlEQVR42ux9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"}},"time_used":976,"timings":{"blocked":882,"dns":0,"connect":0,"send":0,"wait":94,"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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"min-api.cryptocompare.com/data/pricemultifull?fsyms=BTC,ETH,DASH,LTC,XRP,XMR,BCH,XLM\u0026tsyms=USD","fqdn":"min-api.cryptocompare.com","domain":"cryptocompare.com","tld":"com"},"ip":{"addr":"104.18.31.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.280Z","timestamp":1785136900280,"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":"cryptocompare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 21 Jun 2026 21:09:40 GMT","end":"Sat, 19 Sep 2026 22:09:34 GMT"},"fingerprint":{"sha1":"BC:5D:BA:6B:85:5B:AB:6D:AC:FA:AE:08:60:30:D5:B7:00:DF:7A:6D","sha256":"7F:4B:1F:9D:6C:9D:C6:6E:72:31:02:D1:AA:6A:28:51:EB:2B:06:FC:E9:0E:A3:03:26:25:FB:13:6A:CB:51:4D"}}},"request":{"raw":"GET /data/pricemultifull?fsyms=BTC,ETH,DASH,LTC,XRP,XMR,BCH,XLM\u0026tsyms=USD HTTP/1.1\r\nHost: min-api.cryptocompare.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://huobiget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 401 \r\ndate: Mon, 27 Jul 2026 07:21:40 GMT\r\ncontent-type: application/json\r\ncontent-length: 273\r\ncache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\nexpires: Thu, 01 Jan 1970 00:00:01 GMT\r\nreferrer-policy: same-origin\r\nx-frame-options: SAMEORIGIN\r\nserver: cloudflare\r\ncf-ray: a219e37ad95a569c-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"401","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":273,"size_decoded":646,"mime_type":"application/json","magic":"JSON text data","md5":"817fe0f750fa91ac954b06a6e179f676","sha1":"651023a67e8786f8c7a63d323d81512687d851f1","sha256":"e54a34359ebeb4245031b742ee300e3fdd72ccf608d481d57caca1fc16147f17","sha512":"b6f4a24f4e9fd1ad99775fcfddc5311c09b8a77a3fc53798f1918b49fe87efcf1063aca6f4c9b63bb0d60d87d11bb5d0ff6223049f30b58d8013b642f33b6109","ssdeep":"","tlshash":"87d012f75585191b2b3743567068a8ace8d3888d99416447957d4364a28cd39128f21a","first_seen":"2026-06-09T22:35:40.080024Z","last_seen":"2026-08-09T22:51:24.693355Z","times_seen":101,"resource_available":false,"data":"eyJEYXRhIjp7fSwiRXJyIjp7InR5cGUiOjIsIm1lc3NhZ2UiOiJBUEkga2V5IHJlcXVpcmVkLCBwbGVhc2UgcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9kZXZlbG9wZXJzLmNvaW5kZXNrLmNvbS8iLCJodHRwX3N0YXR1c19jb2RlIjo0MDEsImZyb250ZW5kIjp7InR5cGUiOjIsIm1lc3NhZ2UiOiJBUEkga2V5IHJlcXVpcmVkLCBwbGVhc2UgcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9kZXZlbG9wZXJzLmNvaW5kZXNrLmNvbS8ifX19"}},"time_used":24,"timings":{"blocked":-1,"dns":4,"connect":2,"send":0,"wait":6,"receive":0,"ssl":12},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/17087.a5eaeb30f7d269f97b41.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.305Z","timestamp":1785136901305,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/17087.a5eaeb30f7d269f97b41.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-42b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0b9c142716891315b60841a2700f064e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1067,"size_decoded":1275,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1067), with no line terminators","md5":"aea2379787588b2971ae93e1d08d1a76","sha1":"53a871c666693bc64ceee27711d27c2da35b8e8c","sha256":"3f0a48597dbd15d013833ffec5807ed9172b4072ca308dd16df1be793bcb6f34","sha512":"596f5b4924bfab46ac651687876c9a32ee13e028d0057c8165ce38a28d0049e29f55a5ea96f247401e43f0a6f2a6c054ea0b6e8eadca7d7ba33b29c3145d0cf1","ssdeep":"","tlshash":"6a111f148180f63dbd23f22087a0578a3279745199976e9eed0de17141cfbf52ba5cdc","first_seen":"2026-07-16T20:48:56.383088Z","last_seen":"2026-08-10T05:01:44.348616Z","times_seen":596,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbEhsRzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWxIbEc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LndyYXAtaWlpMTE4b057Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt6LWluZGV4OjB9LndyYXAtaWlpMTE4b04ucG9zaXRpb25Cb3R0b20taWlpMTE4b057YWxpZ24taXRlbXM6ZmxleC1lbmR9LmJhY2tkcm9wLWlpaTExOG9Oe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtbEhsRyk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6Ljc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmRyYXdlci1paWkxMThvTntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjZweCAwOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO3otaW5kZXg6MX0uZHJhd2VyLWlpaTExOG9OLnBvc2l0aW9uTGVmdC1paWkxMThvTnttYXJnaW4taW5saW5lLWVuZDo0MHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSA0MHB4KTttaW4td2lkdGg6MjYwcHh9LmRyYXdlci1paWkxMThvTi5wb3NpdGlvbkJvdHRvbS1paWkxMThvTntib3JkZXItc3RhcnQtZW5kLXJhZGl1czo2cHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czo2cHg7ZmxleC1iYXNpczoxMDAlO21hcmdpbi10b3A6dmFyKC0tZHJhd2VyLW1hcmdpbi10b3AtZGlzdGFuY2UsMTAwcHgpO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gdmFyKC0tZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UsIDEwMHB4KSk7b3ZlcmZsb3c6YXV0b30uZHJhd2VyLWlpaTExOG9OOmZvY3Vze291dGxpbmU6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/rolls-royce.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.045Z","timestamp":1785136902045,"http_version":"HTTP/2","security_state":"secure","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 /rolls-royce.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=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 07:21:42 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"a3d354137adcfdf284278e5eb3107d3b\"\r\nlast-modified: Wed, 08 Sep 2021 09:02:37 GMT\r\ncdn-cachedat: 08/09/2025 14:45:28\r\nx-amz-id-2: +i/8Jlg9f6exRqnouUEkU1jOGYReeGtFhWwjgrnI/b3AAF4emhEs+huCDfPWeFTokOfRZjgOdGc=\r\nx-amz-request-id: J6RF12YZYX1ZNW5W\r\nx-amz-meta-hash: a3d354137adcfdf284278e5eb3107d3b\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6589721c9a1e3234688e9f47f290760e\r\ncdn-cache: REVALIDATED\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":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":998,"size_decoded":1451,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (998), with no line terminators","md5":"a3d354137adcfdf284278e5eb3107d3b","sha1":"c1b13b8028ab94d3341bdaf296c7a60f97644a73","sha256":"4001de2b9c14412c9bffed8541acc3a058ab7f5a1def6ee46cbb41cc3210f223","sha512":"d5c5e9bf995598d0352fc527aecca95a89a5349eee4cf88bb6d45333ab1c152c64fc1e945f6dfdd782c4d831feee3917027f22752eb4be631b3ceea65d6ac5a5","ssdeep":"","tlshash":"4511afa69109d51c8896dad9eff69030260b74c9f3af82c8a5d38b2980875caf944c54","first_seen":"2025-11-11T01:58:30.374159Z","last_seen":"2026-07-27T07:23:37.073993Z","times_seen":8,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSIjMjgxRUE4IiBkPSJNMCAwaDE4djE4SDB6Ii8+PHBhdGggZD0iTTkgMTEuOThWOC45NWMtLjMuMDctLjY1LjEyLTEgLjE1djIuODhjMCAuNy0uMzMuOS0uNTQgMS4wMmgyLjFjLS4yLS4xMy0uNTYtLjMyLS41Ni0xLjAyeiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03IDguMDZWNC41OGgxLjM4Yy45NS4wMiAxLjguNDEgMS44IDEuNSAwIC44Ny0uNiAxLjk0LTMuMTggMS45OHpNMTEuNTIgMTJjLS4xOC0uMTUtLjQtLjI4LS40OS0uNzVhNy4yMiA3LjIyIDAgMDAtMS4zNi0zLjFjLjA0IDAgLjA2LS4wMi4xLS4wMy44OC0uNDQgMS40Mi0xLjE3IDEuNDItMi4wNSAwLS42My0uMzItMS4yNy0uOS0xLjY1QTMuMzggMy4zOCAwIDAwOC40MyA0SDUuNDVjLjIuMTMuNTUuMzIuNTUgMS4wMnY1Ljk3YzAgLjctLjM1Ljg4LS41NSAxLjAxaDIuMTdjLS4xOS0uMTMtLjYyLS4zLS42Mi0xLjAxVjguNjVjLjcyIDAgMS4zOC0uMSAxLjk2LS4yNC41Mi42MS45IDEuNyAxLjAzIDIuNTcuMDkuNjUtLjE0Ljg3LS4zIDEuMDJoMS44M3oiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMTEuNyA2LjJ2LS4xM2MuMDEtLjMtLjA2LS42LS4yLS44OGExLjk4IDEuOTggMCAwMTEuNDkgMS45YzAgLjg3LS41MiAxLjU3LTEuMzYgMi4wMmE2LjY1IDYuNjUgMCAwMTEuNDYgMy4wMmMuMS40Ny4zMi43MS40OC44N2gtMS44MmMuMTYtLjE2LjQtLjQ5LjMtMS4xNC0uMi0xLjMtLjc2LTIuNC0xLjM4LTMgMS4xNy0uMzkgMS4zLTEuMSAxLjMtMS43NCAwLS4zNi0uMDktLjY3LS4yNy0uOTF6TTguOSA1Yy4zNS4xLjY1LjI4LjgyLjU4SDl2MS42OGwtLjE1LjA2Yy0uMjYuMS0uNTUuMjMtLjg2LjI3di0xLjdjMC0uNi0uMjQtLjczLS40My0uODRhMS41NCAxLjU0IDAgMDEtLjEtLjA1SDguOXoiIGZpbGw9IiNmZmYiLz48L3N2Zz4="}},"time_used":220,"timings":{"blocked":-1,"dns":30,"connect":33,"send":0,"wait":138,"receive":-1,"ssl":14},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6934.90edfef6ce98369ae04a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.355Z","timestamp":1785136900355,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/6934.90edfef6ce98369ae04a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 34a54fda46ed170d8353ec355e62586b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":80040,"size_decoded":25281,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8855)","md5":"e360111388c7ca7cc416b65a333c1c13","sha1":"e46ada551fc22f5bd35034c2bca095f54b635503","sha256":"fcaf403c75b1a585c7a07556cb65bc683ba6feecbe0399257d62a34f85d430bd","sha512":"60b615d8b0f61e9026e63070379bd94624842f181c1c1fc3ebd02da9ec8b0937f58c344459767399d75cd658ba805c0033a4d1e60d237c8bf2cfd20377f72aa6","ssdeep":"1536:Rw7HUzRyKUuj/NJd07iwH2Hwzp0q2f70lq4Gf7TtJiO:RJzRyluj/NJ6kMpc7N4Gf7Tz3","tlshash":"0273b638f9d0a4b7b2e784fe6741e6919a26b88276265fe17235c6c47804ccf3135e1e","first_seen":"2026-07-23T13:54:09.170539Z","last_seen":"2026-07-28T06:17:53.380432Z","times_seen":310,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2OTM0XSx7ODQ1NTc3KG8pe28uZXhwb3J0cz17InR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUiOiJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLWo0SmxyWVZIIiwidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwiOiJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCJ9fSw3MzIwNDAobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtmdW5jdGlvbiB0KG8scj13aW5kb3cpe2NvbnN0IGU9InRoZW1lLSIrbyxsPXIuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtmb3IoY29uc3QgbyBvZiBBcnJheS5mcm9tKGwpKW8uc3RhcnRzV2l0aCgidGhlbWUtIikmJm8hPT1lJiZsLnJlbW92ZShvKTtsLmFkZChlKSxyLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LnRoZW1lPW99ZS5kKHIse2FwcGx5VGhlbWU6KCk9PnR9KSxmdW5jdGlvbihvKXtvLlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGx8fChsPXt9KSl9LDIwMDY2NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtzZXRUaGVtZTooKT0+YSx3YXRjaGVkVGhlbWU6KCk9PmN9KTt2YXIgbD1lKDIzMjM2NCksdD1lKDczMjA0MCk7Y29uc3QgYz1uZXcgbC5XYXRjaGVkVmFsdWU7ZnVuY3Rpb24gYShvKXtjLnNldFZhbHVlKG8pfWMuc3Vic2NyaWJlKChvPT57KDAsdC5hcHBseVRoZW1lKShvLHdpbmRvdyl9KSl9LDgzMDc4MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHt0cnlQYXJzZU5hbWVkUmdiYTooKT0+dH0pCjtjb25zdCBsPW5ldyBNYXAoW1siYWxpY2VibHVlIiwiI2YwZjhmZiJdLFsiYW50aXF1ZXdoaXRlIiwiI2ZhZWJkNyJdLFsiYXF1YSIsIiMwMGZmZmYiXSxbImFxdWFtYXJpbmUiLCIjN2ZmZmQ0Il0sWyJhenVyZSIsIiNmMGZmZmYiXSxbImJlaWdlIiwiI2Y1ZjVkYyJdLFsiYmlzcXVlIiwiI2ZmZTRjNCJdLFsiYmxhY2siLCIjMDAwMDAwIl0sWyJibGFuY2hlZGFsbW9uZCIsIiNmZmViY2QiXSxbImJsdWUiLCIjMDAwMGZmIl0sWyJibHVldmlvbGV0IiwiIzhhMmJlMiJdLFsiYnJvd24iLCIjYTUyYTJhIl0sWyJidXJseXdvb2QiLCIjZGViODg3Il0sWyJjYWRldGJsdWUiLCIjNWY5ZWEwIl0sWyJjaGFydHJldXNlIiwiIzdmZmYwMCJdLFsiY2hvY29sYXRlIiwiI2QyNjkxZSJdLFsiY29yYWwiLCIjZmY3ZjUwIl0sWyJjb3JuZmxvd2VyYmx1ZSIsIiM2NDk1ZWQiXSxbImNvcm5zaWxrIiwiI2ZmZjhkYyJdLFsiY3JpbXNvbiIsIiNkYzE0M2MiXSxbImN5YW4iLCIjMDBmZmZmIl0sWyJkYXJrYmx1ZSIsIiMwMDAwOGIiXSxbImRhcmtjeWFuIiwiIzAwOGI4YiJdLFsiZGFya2dvbGRlbnJvZCIsIiNiODg2MGIiXSxbImRhcmtncmF5IiwiI2E5YTlhOSJdLFsiZGFya2dyZWVuIiwiIzAwNjQwMCJdLFsiZGFya2toYWtpIiwiI2JkYjc2YiJdLFsiZGFya21hZ2VudGEiLCIjOGIwMDhiIl0sWyJkYXJrb2xpdmVncmVlbiIsIiM1NTZiMmYiXSxbImRhcmtvcmFuZ2UiLCIjZmY4YzAwIl0sWyJkYXJrb3JjaGlkIiwiIzk5MzJjYyJdLFsiZGFya3JlZCIsIiM4YjAwMDAiXSxbImRhcmtzYWxtb24iLCIjZTk5NjdhIl0sWyJkYXJrc2VhZ3JlZW4iLCIjOGZiYzhmIl0sWyJkYXJrc2xhdGVibHVlIiwiIzQ4M2Q4YiJdLFsiZGFya3NsYXRlZ3JheSIsIiMyZjRmNGYiXSxbImRhcmt0dXJxdW9pc2UiLCIjMDBjZWQxIl0sWyJkYXJrdmlvbGV0IiwiIzk0MDBkMyJdLFsiZGVlcHBpbmsiLCIjZmYxNDkzIl0sWyJkZWVwc2t5Ymx1ZSIsIiMwMGJmZmYiXSxbImRpbWdyYXkiLCIjNjk2OTY5Il0sWyJkb2RnZXJibHVlIiwiIzFlOTBmZiJdLFsiZmVsZHNwYXIiLCIjZDE5Mjc1Il0sWyJmaXJlYnJpY2siLCIjYjIyMjIyIl0sWyJmbG9yYWx3aGl0ZSIsIiNmZmZhZjAiXSxbImZvcmVzdGdyZWVuIiwiIzIyOGIyMiJdLFsiZnVjaHNpYSIsIiNmZjAwZmYiXSxbImdhaW5zYm9ybyIsIiNkY2RjZGMiXSxbImdob3N0d2hpdGUiLCIjZjhmOGZmIl0sWyJnb2xkIiwiI2ZmZDcwMCJdLFsiZ29sZGVucm9kIiwiI2RhYTUyMCJdLFsiZ3JheSIsIiM4MDgwODAiXSxbImdyZWVuIiwiIzAwODAwMCJdLFsiZ3JlZW55ZWxsb3ciLCIjYWRmZjJmIl0sWyJob25leWRldyIsIiNmMGZmZjAiXSxbImhvdHBpbmsiLCIjZmY2OWI0Il0sWyJpbmRpYW5yZWQiLCIjY2Q1YzVjIl0sWyJpbmRpZ28iLCIjNGIwMDgyIl0sWyJpdm9yeSIsIiNmZmZmZjAiXSxbImtoYWtpIiwiI2YwZTY4YyJdLFsibGF2ZW5kZXIiLCIjZTZlNmZhIl0sWyJsYXZlbmRlcmJsdXNoIiwiI2ZmZjBmNSJdLFsibGF3bmdyZWVuIiwiIzdjZmMwMCJdLFsibGVtb25jaGlmZm9uIiwiI2ZmZmFjZCJdLFsibGlnaHRibHVlIiwiI2FkZDhlNiJdLFsibGlnaHRjb3JhbCIsIiNmMDgwODAiXSxbImxpZ2h0Y3lhbiIsIiNlMGZmZmYiXSxbImxpZ2h0Z29sZGVucm9keWVsbG93IiwiI2ZhZmFkMiJdLFsibGlnaHRncmVlbiIsIiM5MGVlOTAiXSxbImxpZ2h0Z3JleSIsIiNkM2QzZDMiXSxbImxpZ2h0cGluayIsIiNmZmI2YzEiXSxbImxpZ2h0c2FsbW9uIiwiI2ZmYTA3YSJdLFsibGlnaHRzZWFncmVlbiIsIiMyMGIyYWEiXSxbImxpZ2h0c2t5Ymx1ZSIsIiM4N2NlZmEiXSxbImxpZ2h0c2xhdGVibHVlIiwiIzg0NzBmZiJdLFsibGlnaHRzbGF0ZWdyYXkiLCIjNzc4ODk5Il0sWyJsaWdodHN0ZWVsYmx1ZSIsIiNiMGM0ZGUiXSxbImxpZ2h0eWVsbG93IiwiI2ZmZmZlMCJdLFsibGltZSIsIiMwMGZmMDAiXSxbImxpbWVncmVlbiIsIiMzMmNkMzIiXSxbImxpbmVuIiwiI2ZhZjBlNiJdLFsibWFnZW50YSIsIiNmZjAwZmYiXSxbIm1hcm9vbiIsIiM4MDAwMDAiXSxbIm1lZGl1bWFxdWFtYXJpbmUiLCIjNjZjZGFhIl0sWyJtZWRpdW1ibHVlIiwiIzAwMDBjZCJdLFsibWVkaXVtb3JjaGlkIiwiI2JhNTVkMyJdLFsibWVkaXVtcHVycGxlIiwiIzkzNzBkOCJdLFsibWVkaXVtc2VhZ3JlZW4iLCIjM2NiMzcxIl0sWyJtZWRpdW1zbGF0ZWJsdWUiLCIjN2I2OGVlIl0sWyJtZWRpdW1zcHJpbmdncmVlbiIsIiMwMGZhOWEiXSxbIm1lZGl1bXR1cnF1b2lzZSIsIiM0OGQxY2MiXSxbIm1lZGl1bXZpb2xldHJlZCIsIiNjNzE1ODUiXSxbIm1pZG5pZ2h0Ymx1ZSIsIiMxOTE5NzAiXSxbIm1pbnRjcmVhbSIsIiNmNWZmZmEiXSxbIm1pc3R5cm9zZSIsIiNmZmU0ZTEiXSxbIm1vY2Nhc2luIiwiI2ZmZTRiNSJdLFsibmF2YWpvd2hpdGUiLCIjZmZkZWFkIl0sWyJuYXZ5IiwiIzAwMDA4MCJdLFsib2xkbGFjZSIsIiNmZGY1ZTYiXSxbIm9saXZlIiwiIzgwODAwMCJdLFsib2xpdmVkcmFiIiwiIzZiOGUyMyJdLFsib3JhbmdlIiwiI2ZmYTUwMCJdLFsib3JhbmdlcmVkIiwiI2ZmNDUwMCJdLFsib3JjaGlkIiwiI2RhNzBkNiJdLFsicGFsZWdvbGRlbnJvZCIsIiNlZWU4YWEiXSxbInBhbGVncmVlbiIsIiM5OGZiOTgiXSxbInBhbGV0dXJxdW9pc2UiLCIjYWZlZWVlIl0sWyJwYWxldmlvbGV0cmVkIiwiI2Q4NzA5MyJdLFsicGFwYXlhd2hpcCIsIiNmZmVmZDUiXSxbInBlYWNocHVmZiIsIiNmZmRhYjkiXSxbInBlcnUiLCIjY2Q4NTNmIl0sWyJwaW5rIiwiI2ZmYzBjYiJdLFsicGx1bSIsIiNkZGEwZGQiXSxbInBvd2RlcmJsdWUiLCIjYjBlMGU2Il0sWyJwdXJwbGUiLCIjODAwMDgwIl0sWyJyZWQiLCIjZmYwMDAwIl0sWyJyb3N5YnJvd24iLCIjYmM4ZjhmIl0sWyJyb3lhbGJsdWUiLCIjNDE2OWUxIl0sWyJzYWRkbGVicm93biIsIiM4YjQ1MTMiXSxbInNhbG1vbiIsIiNmYTgwNzIiXSxbInNhbmR5YnJvd24iLCIjZjRhNDYwIl0sWyJzZWFncmVlbiIsIiMyZThiNTciXSxbInNlYXNoZWxsIiwiI2ZmZjVlZSJdLFsic2llbm5hIiwiI2EwNTIyZCJdLFsic2lsdmVyIiwiI2MwYzBjMCJdLFsic2t5Ymx1ZSIsIiM4N2NlZWIiXSxbInNsYXRlYmx1ZSIsIiM2YTVhY2QiXSxbInNsYXRlZ3JheSIsIiM3MDgwOTAiXSxbInNub3ciLCIjZmZmYWZhIl0sWyJzcHJpbmdncmVlbiIsIiMwMGZmN2YiXSxbInN0ZWVsYmx1ZSIsIiM0NjgyYjQiXSxbInRhbiIsIiNkMmI0OGMiXSxbInRlYWwiLCIjMDA4MDgwIl0sWyJ0aGlzdGxlIiwiI2Q4YmZkOCJdLFsidG9tYXRvIiwiI2ZmNjM0NyJdLFsidHVycXVvaXNlIiwiIzQwZTBkMCJdLFsidmlvbGV0IiwiI2VlODJlZSJdLFsidmlvbGV0cmVkIiwiI2QwMjA5MCJdLFsid2hlYXQiLCIjZjVkZWIzIl0sWyJ3aGl0ZSIsIiNmZmZmZmYiXSxbIndoaXRlc21va2UiLCIjZjVmNWY1Il0sWyJ5ZWxsb3ciLCIjZmZmZjAwIl0sWyJ5ZWxsb3dncmVlbiIsIiM5YWNkMzIiXV0pCjtmdW5jdGlvbiB0KG8pe2NvbnN0IHI9bC5nZXQobyk7aWYodm9pZCAwPT09cilyZXR1cm4gbnVsbDtyZXR1cm5bcGFyc2VJbnQoci5zbGljZSgxLDMpLDE2KSxwYXJzZUludChyLnNsaWNlKDMsNSksMTYpLHBhcnNlSW50KHIuc2xpY2UoNSw3KSwxNiksMV19fSw3Nzg0NTgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7YnJlYWtwb2ludHM6KCk9PmwsbW9iaWxlRmlyc3RCcmVha3BvaW50czooKT0+dCxtb2JpbGVGaXJzdExlZ2FjeUJyZWFrcG9pbnRzOigpPT5jfSk7Y29uc3QgbD17ZGVza3RvcDoxLzAsZGVza3RvcEhkOjE5MTkscGhvbmU6NzY3LCJwaG9uZS12ZXJ0aWNhbCI6NDc5LHRhYmxldDoxMDE5fSx0PXtiYXNlOjAsIm1lZGlhLW1mLXBob25lLXZlcnRpY2FsIjozMjAsIm1lZGlhLW1mLXBob25lLWxhbmRzY2FwZSI6NTY4LCJtZWRpYS1tZi10YWJsZXQtdmVydGljYWwiOjc2OCwibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSI6MTAyNCwibWVkaWEtbWYtbGFwdG9wIjoxMjgwLCJtZWRpYS1tZi1kZXNrdG9wLW1lZGl1bSI6MTQ0MCwibWVkaWEtbWYtZGVza3RvcC1sYXJnZSI6MTkyMCwibWVkaWEtbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6MjU2MH0sYz17Im1lZGlhLW1mLWxlZ2FjeS1waG9uZS12ZXJ0aWNhbCI6MzMwLCJtZWRpYS1tZi1sZWdhY3ktcGhvbmUiOjQ4MCwibWVkaWEtbWYtbGVnYWN5LW5vdGVib29rIjoxMDIwLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcC1tZWRpdW0iOjE0ODAsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wIjoxNTMxfX0sMjc2MDE5KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dsb2JhbENsb3NlRGVsZWdhdGU6KCk9PmwsZ2xvYmFsQ2xvc2VNZW51OigpPT50fSk7Y29uc3QgbD1uZXcoZSg5NDgzODApLkRlbGVnYXRlKTtmdW5jdGlvbiB0KCl7bC5maXJlKCl9fSw1MDU1NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtjb2xvcnNQYWxldHRlOigpPT5nLGdldEhleENvbG9yQnlOYW1lOigpPT51fSk7dmFyIGw9ZSgzMTc2NjMpLHQ9ZSg4Njc1MjIpLGM9ZSgxMzg2MzgpO2NvbnN0IGE9ey4uLmwsLi4udH0sbj17fSxpPU9iamVjdC5rZXlzKGEpLmxlbmd0aCxkPS9eIygoW2EtZjAtOV17Mn0pezIsNH18W2EtZjAtOV17M30pJC9pO2Z1bmN0aW9uIHMobyxyPVtdLGU9YSl7Y29uc3QgbD1lW29dO2lmKCFsKXJldHVybiBudWxsO2lmKGQudGVzdChsKSlyZXR1cm4gbDtjb25zdCB0PWw7cmV0dXJuIHIucHVzaChvKSwtMSE9PXIuaW5kZXhPZih0KT8oY29uc29sZS53YXJuKCJDb2xvcnMgZGVmaW5pdGlvbnMgY3ljbGVkIiksbCk6ci5sZW5ndGg+aT8oY29uc29sZS53YXJuKCJUb28gbWFueSB2YXJpYWJsZXMtbGluayBpbiBIRVgtY29sb3Igc2VhcmNoOiAiK3JbMF0pLG51bGwpOnModCxyLGUpfU9iamVjdC5rZXlzKGEpLmZvckVhY2goKG89Pntjb25zdCByPXMobyk7bltvXT0oMCxjLmVuc3VyZU5vdE51bGwpKHIpfSkpO2NvbnN0IGc9bjtmdW5jdGlvbiB1KG8scj1nKXtjb25zdCBlPXJbb107aWYoIWUpe2lmKGQudGVzdChvKSlyZXR1cm4gbzt0aHJvdyBuZXcgRXJyb3IoIk5vIHN1Y2ggY29sb3IgIitvKX1yZXR1cm4gZX19LDIxODgxNChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtDdWJpY0JlemllcjooKT0+Yyxjb2xvcjooKT0+YSxkdXI6KCk9PmwsZWFzaW5nRnVuYzooKT0+dH0pO2NvbnN0IGw9MzUwLHQ9e2xpbmVhcjpvPT5vLGVhc2VJblF1YWQ6bz0+bypvLGVhc2VPdXRRdWFkOm89Pm8qKDItbyksZWFzZUluT3V0UXVhZDpvPT5vPC41PzIqbypvOig0LTIqbykqby0xLGVhc2VJbkN1YmljOm89Pm8qbypvLGVhc2VPdXRDdWJpYzpvPT4tLW8qbypvKzEsZWFzZUluT3V0Q3ViaWM6bz0+bzwuNT80Km8qbypvOihvLTEpKigyKm8tMikqKDIqby0yKSsxLGVhc2VJblF1YXJ0Om89Pm8qbypvKm8sZWFzZU91dFF1YXJ0Om89PjEtIC0tbypvKm8qbyxlYXNlSW5PdXRRdWFydDpvPT5vPC41PzgqbypvKm8qbzoxLTgqLS1vKm8qbypvLGVhc2VJblF1aW50Om89Pm8qbypvKm8qbyxlYXNlT3V0UXVpbnQ6bz0+MSstLW8qbypvKm8qbyxlYXNlSW5PdXRRdWludDpvPT5vPC41PzE2Km8qbypvKm8qbzoxKzE2Ki0tbypvKm8qbypvfTtjbGFzcyBje2NvbnN0cnVjdG9yKG8scixlLGwpe3RoaXMuX21YMT1vLHRoaXMuX21ZMT1yLHRoaXMuX21YMj1lLHRoaXMuX21ZMj1sfWVhc2luZ0Z1bmMobyl7cmV0dXJuIHRoaXMuX21YMT09PXRoaXMuX21ZMSYmdGhpcy5fbVgyPT09dGhpcy5fbVkyP286dGhpcy5fY2FsY0Jlemllcih0aGlzLl9nZXRURm9yWChvKSl9X2EobyxyKXtyZXR1cm4gMS0zKnIrMypvfV9iKG8scil7cmV0dXJuIDMqci02Km99X2Mobyl7cmV0dXJuIDMqb31fY2FsY0JlemllcihvKXtyZXR1cm4oKHRoaXMuX2EodGhpcy5fbVkxLHRoaXMuX21ZMikqbyt0aGlzLl9iKHRoaXMuX21ZMSx0aGlzLl9tWTIpKSpvK3RoaXMuX2ModGhpcy5fbVkxKSkqb31fZ2V0U2xvcGUobyl7cmV0dXJuIDMqdGhpcy5fYSh0aGlzLl9tWDEsdGhpcy5fbVgyKSpvKm8rMip0aGlzLl9iKHRoaXMuX21YMSx0aGlzLl9tWDIpKm8rdGhpcy5fYyh0aGlzLl9tWDEpfV9nZXRURm9yWChvKXtsZXQgcj1vO2ZvcihsZXQgZT0wO2U8NDsrK2Upe2NvbnN0IGU9dGhpcy5fZ2V0U2xvcGUocik7aWYoMD09PWUpcmV0dXJuIHI7ci09KHRoaXMuX2NhbGNCZXppZXIociktbykvZX1yZXR1cm4gcn19Y29uc3QgYT17YmxhY2s3MDoiIzRBNEE0QSIsYmxhY2s4MDoiIzUzNTM1MyJ9fSw1Njc0NzkobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7REVGQVVMVF9TSVpFOigpPT5sLHNwaW5uZXJTaXplTWFwOigpPT50fSk7Y29uc3QgbD0ibGFyZ2UiLHQ9e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwxMjEzMShvLHIsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGwobyxyKXtsZXQgZTtjb25zdCBsPSgpPT57Y2xlYXJUaW1lb3V0KGUpLGU9dm9pZCAwfTtyZXR1cm57c3RhcnQ6KCk9PntsKCksZT1zZXRUaW1lb3V0KG8scil9LHJlc2V0Omx9fWUuZChyLHtjcmVhdGVUaW1lcjooKT0+bH0pfSwKODQ4OTg4KG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbChvKXtyZXR1cm4gMD09PW8uZGV0YWlsfWUuZChyLHtpc0tleWJvYXJkQ2xpY2s6KCk9Pmx9KX0sMzgyMjQyKG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldEZpcnN0RGVzY2VuZGFudDooKT0+YyxnZXRMYXN0RGVzY2VuZGFudDooKT0+YSxnZXRQcmV2aW91c05vblBhcmVudDooKT0+bixnZXRTZWxlY3RvclRyZWVXYWxrZXI6KCk9PnR9KTt2YXIgbD1lKDY4MjM4MSk7Y29uc3QgdD0obz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQscik9PmRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIobyxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCwobz0+cj0+e2lmKDEhPT1yLm5vZGVUeXBlKXJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9TS0lQO2NvbnN0IGU9cjtyZXR1cm4oMCxsLmlzSW5lcnRSb290KShlKT9Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q6KDAsbC5pc1Zpc2liaWxpdHlWaXNpYmxlKShlKSYmZS5tYXRjaGVzKG8pP05vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDpOb2RlRmlsdGVyLkZJTFRFUl9TS0lQfSkocikpO2Z1bmN0aW9uIGMobyl7cmV0dXJuIG8uY3VycmVudE5vZGU9by5yb290LG8ubmV4dE5vZGUoKX1mdW5jdGlvbiBhKG8pe2ZvcihvLmN1cnJlbnROb2RlPW8ucm9vdDtudWxsIT09by5sYXN0Q2hpbGQoKTspO3JldHVybiBvLmN1cnJlbnROb2RlPT09by5yb290P251bGw6by5jdXJyZW50Tm9kZX1mdW5jdGlvbiBuKG8pe2NvbnN0IHI9by5jdXJyZW50Tm9kZTtsZXQgZT1vLnByZXZpb3VzTm9kZSgpO2Zvcig7ZSYmZS5jb250YWlucyhyKTspZT1vLnByZXZpb3VzTm9kZSgpO3JldHVybiBlfX0sNzEwMTEyKG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbCgpe2NvbnN0IG89bmV3IFNldCxyPW5ldyBTZXQ7Y29uc3QgZT17dXBkYXRlOmZ1bmN0aW9uKGwsdCl7bD9yLmFkZCh0KTpyLmRlbGV0ZSh0KTtjb25zdCBjPXIuc2l6ZT4wO2UudmFsdWUhPT1jJiYoZS52YWx1ZT1jLG8uZm9yRWFjaCgobz0+e28obCl9KSkpfSx2YWx1ZTohMSxzdWJzY3JpYmU6ZnVuY3Rpb24ocil7cmV0dXJuIG8uYWRkKHIpLCgpPT57by5kZWxldGUocil9fX07cmV0dXJuIGV9ZS5kKHIse2NyZWF0ZVVzZXJJbnRlcmFjdGlvblN0YXR1czooKT0+bH0pfSwyMjI0MjMobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7QWdncmVnYXRlRXJyb3I6KCk9Pl8sQXBpRXJyb3I6KCk9Pm0sU01TX0JBTk5FRF9TVEFUVVM6KCk9PmMsYWNjdW11bGF0ZUVycm9yczooKT0+bixjaGVja1Bob25lQ29kZTooKT0+dSxjb250aW51ZVBhcnRpYWxBdXRoOigpPT53LGZpcnN0TG9naW5EYXRhOigpPT5zLGZpcnN0TG9naW5EYXRhVXJsOigpPT5hLGdlbmVyYXRlU2lnbmluQ2hhbGxlbmdlOigpPT5SLGdldEFwaUVycm9yTWVzc2FnZTooKT0+QSxyZWNvdmVyUGFzc3dvcmQ6KCk9PmYscmVjb3ZlclBhc3N3b3JkVXJsOigpPT5ULHJlY292ZXJ5UGFzc3dvcmQ6KCk9PnAscmVzZW5kTGluazooKT0+ZyxzZWNvbmRGYWN0b3JTaWduaW46KCk9Pk4sc2lnbmluOigpPT5iLHNpZ25pblVybDooKT0+QyxzaWdudXA6KCk9PkUsc2lnbnVwVXJsOigpPT5oLHNvY2lhbEF1dGg6KCk9PnZ9KTt2YXIgbD1lKDM4NDAxNyksdD1lKDE4NTI3MSk7Y29uc3QgYz00MDMsYT0iL2FjY291bnRzL2ZpcnN0X2xvZ2luX2RhdGEvIjtmdW5jdGlvbiBuKG8scil7cmV0dXJuIE9iamVjdC5lbnRyaWVzKG8pLm1hcCgobz0+bmV3IG0ob1sxXS5qb2luKCJcbiIpLHIsb1swXSkpKX1mdW5jdGlvbiBpKG8scil7cmV0dXJuKDAsbC5mZXRjaCkobyx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsbW9kZToic2FtZS1vcmlnaW4iLGJvZHk6cn0pfWFzeW5jIGZ1bmN0aW9uIGQobyl7dHJ5e3JldHVybiBhd2FpdCBvLmpzb24oKX1jYXRjaHt0aHJvdyBuZXcgbSh0LnQobnVsbCx7Y29udGV4dDoiYXBpIGVycm9yIn0sZSg2ODM2MjcpKSxvLnN0YXR1cywic2VydmVyX2Vycm9yIil9fWZ1bmN0aW9uIHMobyl7cmV0dXJuIGkoYSxvKS50aGVuKChvPT5vLm9rP2Qobyk6ZChvKS50aGVuKChyPT57dGhyb3cgbmV3IF8obihyLmVycm9ycyxvLnN0YXR1cykpfSkpKSl9ZnVuY3Rpb24gZygpe3JldHVybiBpKCIvYXBpL3YxL3VzZXJzL2Fub24vY2hhbmdlLWVtYWlsL3Jlc2VuZC8iKS50aGVuKChvPT5vLm9rP2Qobyk6ZChvKS50aGVuKChvPT57dGhyb3cgRXJyb3Ioby5lcnJvcil9KSkpKX1mdW5jdGlvbiB1KG8pe3JldHVybiBpKCIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvY2hlY2tfcGhvbmVfY29kZS8iLG8pLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKG89Pnt0aHJvdyBFcnJvcihvLmVycm9yKX0pKSkpfWZ1bmN0aW9uIHAobyl7cmV0dXJuIGkoIi9hcGkvdjEvcmVjb3Zlcl9wYXNzd29yZC8iLG8pLnRoZW4oKG89Pm8pKX1jb25zdCBDPSIvYWNjb3VudHMvc2lnbmluLyI7ZnVuY3Rpb24geShvKXtyZXR1cm4gZChvKS50aGVuKChyPT57aWYoImVycm9ycyJpbiByJiZPYmplY3Qua2V5cyhyLmVycm9ycykubGVuZ3RoKXRocm93IG5ldyBfKG4oci5lcnJvcnMsby5zdGF0dXMpKTtpZigiZXJyb3IiaW4gciYmIiIhPT1yLmVycm9yfHwiY29kZSJpbiByfHwhby5vayl0aHJvdyBuZXcgbShyLmVycm9yfHxyLmRldGFpbCxvLnN0YXR1cyxyLmNvZGUsci5jb25maXJtX2F1dGhfZGF0YSxyLnR3b19mYWN0b3JfdHlwZXMsZnVuY3Rpb24obyl7aWYoby5zaWduYXR1cmUpcmV0dXJue3NpZ25hdHVyZTpvLnNpZ25hdHVyZSxlbWFpbDpvLmVtYWlsfHwiIixwaG9uZTpvLnBob25lfHwiIixzb2NpYWxzOltdfTtyZXR1cm59KHIpKTtyZXR1cm4gcn0pKX1mdW5jdGlvbiBiKG8pe3JldHVybiBpKEMsbykudGhlbih5KX1jb25zdCBoPSIvYWNjb3VudHMvc2lnbnVwLyI7ZnVuY3Rpb24gRShvKXtyZXR1cm4gaShoLG8pLnRoZW4oKG89PmQobykudGhlbigocj0+e2lmKCJlcnJvcnMiaW4gciYmIiIhPT1yLmVycm9ycyl0aHJvdyBuZXcgXyhuKHIuZXJyb3JzLG8uc3RhdHVzKSl9KSkpKX1jbGFzcyBtIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IobyxyLGUsbCx0LGMpe3N1cGVyKG8pLHRoaXMudHlwZT1lLAp0aGlzLnN0YXR1cz1yLHRoaXMuc2Vjb25kRmFjdG9yVHlwZXM9dCx0aGlzLnNvY2lhbENvbmZpcm1EYXRhPWwsdGhpcy5yZXNldFBhc3N3b3JkRGF0YT1jfX1mdW5jdGlvbiBBKG8scil7cmV0dXJuIG8gaW5zdGFuY2VvZiBtJiZ2b2lkIDAhPT1vLnN0YXR1cz9gJHtvLm1lc3NhZ2V8fHJ8fHQudChudWxsLHtjb250ZXh0OiJhcGkgZXJyb3IifSxlKDY4MzYyNykpfSAoJHtvLnN0YXR1c30pYDpvIGluc3RhbmNlb2YgRXJyb3ImJm8ubWVzc2FnZT9vLm1lc3NhZ2U6cnx8dC50KG51bGwse2NvbnRleHQ6ImFwaSBlcnJvciJ9LGUoNjgzNjI3KSl9Y2xhc3MgXyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG8pe3N1cGVyKG8ubWFwKChvPT5vLm1lc3NhZ2UpKS5qb2luKCJcbiIpKSx0aGlzLmVycm9ycz1bXSx0aGlzLmVycm9ycz1vfX1jb25zdCBUPSIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvc2VhcmNoLyI7ZnVuY3Rpb24gZihvKXtyZXR1cm4gaShULG8pLnRoZW4oeSl9Y29uc3QgUz17QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn07ZnVuY3Rpb24gdihvLHIpe2NvbnN0IGU9bmV3IFVSTCh3aW5kb3cub3JpZ2luKyIvYWNjb3VudHMvY29tcGxldGUvYW5kcm9pZC1qd3QvIik7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHIpLmZvckVhY2goKChbbyxyXSk9PnImJmUuc2VhcmNoUGFyYW1zLmFwcGVuZChvLHIpKSksKDAsbC5mZXRjaCkoZS5ocmVmLHttZXRob2Q6IlBPU1QiLGJvZHk6byxoZWFkZXJzOlN9KS50aGVuKHkpfWZ1bmN0aW9uIHcobyxyKXtjb25zdCBlPW5ldyBVUkwod2luZG93Lm9yaWdpbitgL2FjY291bnRzL2NvbXBsZXRlLyR7b30vYCksdD1uZXcgRm9ybURhdGE7cmV0dXJuIHQuYXBwZW5kKCJwYXJ0aWFsX3Rva2VuIixyKSwoMCxsLmZldGNoKShlLmhyZWYse21ldGhvZDoiUE9TVCIsYm9keTp0LGhlYWRlcnM6U30pLnRoZW4oeSl9ZnVuY3Rpb24gUihvKXtyZXR1cm4gaShgL2FjY291bnRzL3R3by1mYWN0b3Ivc2lnbmluLyR7b30vZ2VuZXJhdGUtY2hhbGxlbmdlL2ApLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKCh7ZGV0YWlsOm99KT0+e3Rocm93IEVycm9yKG8pfSkpKSl9ZnVuY3Rpb24gTihvLHIpe3JldHVybiBpKGAvYWNjb3VudHMvdHdvLWZhY3Rvci9zaWduaW4vJHtvfS9gLHIpLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKHI9PntpZigicmVxdWlyZV9wYXJhbWV0ZXJzIj09PXIuY29kZSl0aHJvdyBuZXcgXyhuKHIuZXJyb3JzLG8uc3RhdHVzKSk7dGhyb3cgbmV3IG0oci5kZXRhaWwsby5zdGF0dXMsci5jb2RlKX0pKSkpfX0sODI3MDY3KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2lzU2lnbmVkRXhjaGFuZ2VBZ3JlZW1lbnQ6KCk9Pm4sc2F2ZUV4Y2hhbmdlQWdyZWVtZW50OigpPT5jfSk7dmFyIGw9ZSgzODQwMTcpLHQ9ZSgyMjI0MjMpO2Z1bmN0aW9uIGMobyl7cmV0dXJuKDAsbC5mZXRjaCkoIi9leGNoYW5nZS1hZ3JlZW1lbnQvIix7aGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkobyl9KS50aGVuKChvPT5vLm9rP28uanNvbigpOm8uanNvbigpLnRoZW4oKHI9Pnt0aHJvdyBuZXcgdC5BZ2dyZWdhdGVFcnJvcigoMCx0LmFjY3VtdWxhdGVFcnJvcnMpKHIuZXJyb3JzLG8uc3RhdHVzKSl9KSkpKX1jb25zdCBhPXt9O2FzeW5jIGZ1bmN0aW9uIG4obyl7bGV0IHI9Ii9pcy1zaWduZWQtZXhjaGFuZ2UtYWdyZWVtZW50LyI7aWYoby5leGNoYW5nZSYmKHIrPWA/ZXhjaGFuZ2U9JHtvLmV4Y2hhbmdlfWAsYVtvLmV4Y2hhbmdlXSkpcmV0dXJuIGFbby5leGNoYW5nZV07Y29uc3QgZT1hd2FpdCgwLGwuZmV0Y2gpKHIpO2lmKCFlLm9rKXtjb25zdCBvPWF3YWl0IGUuanNvbigpO3Rocm93IEVycm9yKG8uZGV0YWlsKX1jb25zdCB0PWF3YWl0IGUuanNvbigpO3JldHVybiBvLmV4Y2hhbmdlJiYoYVtvLmV4Y2hhbmdlXT10KSx0fX0sNTU0NjU0KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse3NvbHV0aW9uSWRzOigpPT5sfSkKO2NvbnN0IGw9SlNPTi5wYXJzZSgneyJFWFRFTkRFRF9IT1VSUyI6NDMwMDA1MDIwMjMsIlBSRV9NQVJLRVQiOjQzMDAwNTAyMDIzLCJQT1NUX01BUktFVCI6NDMwMDA1MDIwMjMsIlNQUkVBRF9DSEFSVFMiOjQzMDAwNTAyMjk4LCJBTEVSVFMiOjQzMDAwNTIwMTQ5LCJBTEVSVF9PTl9TVFJBVEVHWSI6NDMwMDA0ODEzNjgsIkFMRVJUU19PTl9GVU5EQU1FTlRBTFMiOjQzMDAwNzg2ODMxLCJBTEVSVF9XRUJIT09LIjo0MzAwMDUyOTM0OCwiQUxFUlRfV0VCSE9PS19FUlJPUlMiOjQzMDAwNzc2ODk0LCJBTEVSVF9ERVNDUklQVElPTl9QTEFDRUhPTERFUiI6NDMwMDA1MzEwMjEsIkFMRVJUX1JFQ0VJVkVfTk9USUZJQ0FUSU9OU19PSF9QSE9ORSI6NDMwMDA0NzQzODksIkFMRVJUX1VTRV9BTFRFUk5BVElWRV9FTUFJTCI6NDMwMDA0NzQzOTQsIkFMRVJUX1dFQkhPT0tfQ1JFREVOVElBTFMiOjQzMDAwNzIyMDE1LCJBTEVSVF9LRUVQX1RPQVNUU19WSVNJQkxFIjo0MzAwMDczNzk4MiwiVk9MVU1FX1BST0ZJTEUiOjQzMDAwNTAyMDQwLCJWT0xVTUVfUFJPRklMRV9JTkRJQ0FUT1IiOjQzMDAwNTU3NDUwLCJSRU5LTyI6NDMwMDA1MDIyODQsIktBR0kiOjQzMDAwNTAyMjcyLCJMSU5FX0JSRUFLIjo0MzAwMDUwMjI3MywiUE5GIjo0MzAwMDUwMjI3NiwiRklOQU5DSUFMX0RBVEEiOjQzMDAwNTQzNTA2LCJCUk9LRVJfUkFUSU5HIjo0MzAwMDU0MjQ5MCwiQ1JZUFRPX01BUktFVF9DQVAiOjQzMDAwNTQwOTQxLCJDUllQVE9fUEFZTUVOVCI6NDMwMDA0ODU1MzYsIkFMRVJUX09OX1NQUkVBRCI6NDMwMDA0Nzg0MDYsIkFMRVJUX0RFR1JBREVEX1NUQVRFIjo0MzAwMDczOTUyMSwiQUxFUlRfT05fTE9HX1NDQUxFIjo0MzAwMDY5MDk0MiwiQUxFUlRfT05fQ1VTVE9NX1NDUklQVCI6NDMwMDA0Nzg0MTUsIkFMRVJUX09OX1BPU0lUSU9OIjo0MzAwMDUxNjk5MiwiQUxFUlRfRlVOQ1RJT04iOjQzMDAwNTk3NDk0LCJBTEVSVF9NVUxUSUNPTkRJVElPTlMiOjQzMDAwNzYxNDkyLCJBTEVSVF9OT1RJRklDQVRJT05fU0NIRURVTEUiOjQzMDAwNzg3MTk2LCJTTVNfVkVSSUZJQ0FUSU9OIjo0MzAwMDU1MzQyOSwiTUFHTkVUX01PREUiOjQzMDAwNTM3MjcwLCJQUklWQUNZX1NFVFRJTkdTIjo0MzAwMDU0ODMzNSwiUFVCTElDQVRJT05fVFlQRSI6NDMwMDA2MDk0OTcsIlNDUklQVF9BQ0NFU1MiOjQzMDAwNDgyNTczLCJGUkVFX1VTRVJfRkFRUyI6NDMwMDA1OTA5NDcsIlNUUkFURUdZX1VOUkVBTElTVElDX1JFU1VMVFMiOjQzMDAwNDgxMDI5LCJTVFJBVEVHWV9GVVRVUkVfREFUQSI6NDMwMDA2MTQ3MDUsIkhPV19UT19VU0VfUEFQRVIiOjQzMDAwNTE2NDY2LCJIT1dfVE9fVVNFX0NRRyI6NDMwMDA1MTYzNzIsIkhPV19UT19VU0VfT0FOREEiOjQzMDAwNTE2Mzc1LCJIT1dfVE9fVVNFX0ZPUkVYQ09NIjo0MzAwMDUxNjM3NCwiRkFWT1JJVEVfSURFQSI6NDMwMDA1NTUyMTYsIkFVVEhPUlNfSU5TVFJVQ1RJT05TX1BVQkNMSUNBVElPTiI6NDMwMDA1NDk5NTEsIkFVVEhPUlNfSU5TVFJVQ1RJT05TX0VESVQiOjQzMDAwNjE0NjE4LCJTQ1JJUFRfSU5TVFJVQ1RJT05TIjo0MzAwMDQ4MjU3MywiQkFSX1JFUExBWV9VTkFWQUlMQUJJTElUWSI6NDMwMDA0NzU0NzAsIldIQVRfSVNfQ0JPRV9CWlhfRVhDSEFOR0UiOjQzMDAwNDczOTI0LCJHT1BST19VUEdSQURFX0RFU0NSSVBUSU9OIjo0MzAwMDQ3MzMyNCwiR09QUk9fRE9XTkdSQURFX0RFU0NSSVBUSU9OIjo0MzAwMDQ4NTQzNywiR09QUk9fUkVORVdfQU5OVUFMX01PTlRITFlfREVTQ1JJUFRJT04iOjQzMDAwNjQ0NDkxLCJGSU5BTkNJQUxTX09XTkVSU0hJUCI6NDMwMDA2OTk0NzksIkZJTkFOQ0lBTFNfVkFMVUFUSU9OX1NVTU1BUlkiOjQzMDAwNjk5NDg0LCJGSU5BTkNJQUxTX1ZBTFVBVElPTl9SQVRJT1MiOjQzMDAwNjk5NDk1LCJGSU5BTkNJQUxTX0dST1dUSF9BTkRfUFJPRklUQUJJTElUWSI6NDMwMDA2OTk0ODUsIkZJTkFOQ0lBTFNfUkVWRU5VRV9UT19QUk9GSVRfQ09OVkVSU0lPTiI6NDMwMDA2OTk0OTYsIkZJTkFOQ0lBTFNfUkVWRU5VRV9CUkVBS0RPV05fQllfU09VUkNFIjo0MzAwMDY5OTQ4NywiRklOQU5DSUFMU19SRVZFTlVFX0JSRUFLRE9XTl9CWV9DT1VOVFJZIjo0MzAwMDY5OTQ5NywiRklOQU5DSUFMU19SRVZFTlVFX0VTVElNQVRFUyI6NDMwMDA2OTk0ODksIkZJTkFOQ0lBTFNfRUFSTklOR1NfRVNUSU1BVEVTIjo0MzAwMDY5OTQ5OCwiRklOQU5DSUFMU19ESVZJREVORF9TVU1NQVJZIjo0MzAwMDY5OTUwMCwiRklOQU5DSUFMU19ESVZJREVORF9ISVNUT1JZIjo0MzAwMDY5OTUwMSwiRklOQU5DSUFMU19ERUJUX0xFVkVMIjo0MzAwMDY5OTUwMiwiRklOQU5DSUFMU19QT1NJVElPTiI6NDMwMDA2OTk1MDMsIkZJUkVfQ09OVFJPTF9TT0xVVElPTiI6NDMwMDA2OTA5MzksIkJST0tFUkFHRV9SRVZJRVdTIjo0MzAwMDU5MTM1MSwiTElOS1NfVE9fU09DSUFMX01FRElBIjo0MzAwMDYzNTgwNiwiUElORV9MSUJSQVJZX0lORk8iOjQzMDAwNjM4MzcxLCJURUNITklDQUxfUkFUSU5HUyI6NDMwMDA2MTQzMzEsIkJBQ0tURVNUSU5HX1dJREdFVCI6NDMwMDA1NjIzNjIsIkJBQ0tURVNUSU5HX05PX0RBVEEiOjQzMDAwNDc4NDUwLCJCQUNLRU5EX0NPTk5FQ1RJT05TIjo0MzAwMDY5NDQ3NCwiREVFUF9CQUNLVEVTVElOR19XSURHRVQiOjQzMDAwNjcwNTY2LCJERUVQX0JBQ0tURVNUSU5HIjo0MzAwMDY2NjE5OSwiREVFUF9CQUNLVEVTVElOR19BVkFJTEFCTEVfREFUQSI6NDMwMDA2NjgyMTAsIkJFVEFfQlJPS0VSUyI6NDMwMDA2NzM0MzQsIlZJREVPX1VQTE9BRF9GQUlMRUQiOjQzMDAwNjY2NjA3LCJWSURFT19ERVZJQ0VfQUNDRVNTIjo0MzAwMDY3NzIwOSwiSU5WSVRFX09OTFlfU0NSSVBUUyI6NDMwMDA2MTQ2MTcsIkhPV19ET0VTX0JSQUNLRVRTX01BTkFHRU1FTlRfV09SSyI6NDMwMDA2MzE5ODcsIkhPV19UT19TRUVfVEhFX0RFRVBFU1RfSElTVF9EQVRBIjo0MzAwMDY4NzA1MywiSV9DQU5UX1NFRV9BTExfSElTVF9EQVRBX09OX1JFU19MT1dFUl9USEFOX0RBWSI6NDMwMDA0ODA2NzksIklERUFTX09OX0NIQVJUIjo0MzAwMDY5NDI4NSwiR0VUX0FfUkVGVU5EIjo0MzAwMDQ4NTQzMCwiVVNFX1NFVFRMRU1FTlRfQVNfQ0xPU0VfT05fREFJTFlfSU5UUkVWQUwiOjQzMDAwNjg1MjY4LCJBREpVU1RfRk9SX0NPTlRSQUNUX0NIQU5HRVMiOjQzMDAwNjg1MjY2LCJTV0lUQ0hJTkdfQ09OVElOVU9VU19GVVRVUkVTX0NPTlRSQUNUUyI6NDMwMDA2ODkzMTMsIkFESlVTVF9EQVRBX0ZPUl9ESVZJREVORFMiOjQzMDAwNTkwNTk3LCJXSFlfSVNfTVlfQUNDT1VOVF9CQU5ORUQiOjQzMDAwNjc0NzI2LCJURUxMX01FX01PUkVfQUJPVVRfVEhFX0NPTU1VTklUWV9TQ1JJUFRTIjo0MzAwMDU1ODUyMiwiSE9XX1RPX1BPU1RfQVdFU09NRV9JREVBU19BTkRfR0VUX0xPVFNfT0ZfTElLRVMiOjQzMDAwNjAzNzQ4LCJBQk9VVF9FWFBFUlRfUExBTiI6NDMwMDA2NzczODIsIkNPTk5FQ1RJT05TX0xJTUlUX0VYQ0VFREVEIjo0MzAwMDY5Mzg3NywiQUNDT1VOVF9SRUNPVkVSWSI6NDMwMDA2MTk1OTcsIkhPV19UT19TWU5DX0NIQVJUU19PTl9MQVlPVVQiOjQzMDAwNjI5OTkyLCJIT1dfVE9fU0VFX0JVSUxUSU5fSU5ESUNBVE9SX1NPVVJDRSI6NDMwMDA0ODE2NTksIk1VTFRJX0NIQVJUX01PREUiOjQzMDAwNjI5OTkwLCJRVUlDS19TRUFSQ0giOjQzMDAwNjU5NjcxLCJXSEFUU19BTl9JTkRJQ0FUT1IiOjQzMDAwNTQzNjI2LCJDSEFSVF9UWVBFUyI6NDMwMDA3MDM0MDcsIkRSQVdJTkdfVE9PTFMiOjQzMDAwNzAzMzk2LCJDVVNUT01fSU5URVJWQUxTIjo0MzAwMDU0Mzg4MywiQ1VTVE9NX1JBTkdFX0JBUlMiOjQzMDAwNDc0MDA3LCJDQU5ETEVTVElDS19QQVRURVJOUyI6NDMwMDA1ODQ0NjIsIk1VTFRJX1RJTUVGUkFNRV9DSEFSVFMiOjQzMDAwNTAyNTkxLCJCQVJfUkVQTEFZIjo0MzAwMDcxMjc0NywiUElORV9TQ1JJUFQiOjQzMDAwNTYxODM2LCJTQ1JFRU5FUl9PVkVSVklFVyI6NDMwMDA2MzU3OTYsIkFVVE9fQ0hBUlRfUEFUVEVSTlMiOjQzMDAwNjkwNDY0LCJIT1dfVE9fUFJPVEVDVF9ZT1VSX0FDQ09VTlQiOjQzMDAwNTgyMjc3LCJQTFVTX0JVVFRPTiI6NDMwMDA2NDUyNTYsIlBVUkNIQVNFX01BUktFVF9EQVRBIjo0MzAwMDQ3MTcwNSwiV0hZX1RBWF9IQVNfQkVFTl9BRERFRF9UT19NWV9CSUxMIjo0MzAwMDY4NDc0MSwiQ09NUEFSRV9TWU1CT0xTX1RPT0wiOjQzMDAwNTQzMDUzLCJTQVZFRF9DSEFSVCI6NDMwMDA2OTI0MDQsIkNVU1RPTV9JTkRJQ0FUT1IiOjQzMDAwNTQzMDQ4LCJCSVNUX01JWEVEX1NVQlNDUklQVElPTiI6NDMwMDA2MDkxMzcsIldIWV9SRU5LT19OT1RfV09SSyI6NDMwMDA3MTE1MDIsIkFMRVJUU19TRVBBUkFUSU9OX0JZX1RZUEUiOjQzMDAwNjk2NDAzLCJXQVRDSExJU1RfQUxFUlRTIjo0MzAwMDczOTcwOCwiSE9XX1RPX1NFVF9VUF9BTEVSVFMiOjQzMDAwNTk1MzE1LCJQSU5FX1NDUkVFTkVSIjo0MzAwMDc0MjQzNiwiRUNPTk9NSUNfQ0FMRU5EQVIiOjQzMDAwNzA3MzkxLCJTQ1JJUFRfUFVCTElTSElOR19SVUxFUyI6NDMwMDA1OTA1OTksIkhPV19UT19VU0VfTUlORFMiOjQzMDAwNjkwMjI2LCJIT1dfVE9fVVNFX1RSQURJTkdWSUVXX0NIQVQiOjQzMDAwNjA0NDQ4LCJQQVBFUl9DT01QRVRJVElPTiI6NDMwMDA1OTM1NzksIlBBUEVSX0NPTVBFVElUSU9OX0FDQ09VTlQiOjQzMDAwNzIxMzE1LCJQQVBFUl9DT01QRVRJVElPTl9QUklaRSI6NDMwMDA3MjEzMTcsIlBBUEVSX0NPTVBFVElUSU9OX0ZSRUVfQUNDT1VOVCI6NDMwMDA3MjEzMTAsIlBVQkxJU0hJTkdfQU5EX1VQREFUSU5HX0lERUFTIjo0MzAwMDU5MTMzOCwiVVNJTkdfTUlORFMiOjQzMDAwNjk2MzAxLCJQVUJMSVNIX1ZJREVPX0lERUEiOjQzMDAwNDc2NzUyLCJUQVJPVF9ERUNLIjo0MzAwMDcyNDAyMCwiVkFUX05VTUJFUl9HVUlERSI6NDMwMDA3MjE5MTAsIlBJTkVfUEVSRk9STUFOQ0VfUFJPRklMRVIiOjQzMDAwNzI1MjE2LCJQSU5FX0xPR1NfSU5GTyI6NDMwMDA3MTA4NzYsIklORElDQVRPUlMiOjQzMDAwNDc0MDQ4LCJDSEFSVF9EQVRBX0VYUE9SVCI6NDMwMDA1MzcyNTUsIlRJTUVfUFJJQ0VfT1BQT1JUVU5JVElFUyI6NDMwMDA3MTMzMDYsIlRJQ0tfSU5URVJWQUxTIjo0MzAwMDcwOTIyNSwiVk9MVU1FX0ZPT1RQUklOVCI6NDMwMDA3MjYxNjQsIlZPTFVNRV9DQU5ETEVTIjo0MzAwMDcyNDk5NSwiSEVJS0lOX0FTSEkiOjQzMDAwNjE5NDM2LCJITENfQVJFQSI6NDMwMDA3MDkwNjIsIkJBU0VMSU5FIjo0MzAwMDY5MDIzMiwiSElHSF9MT1ciOjQzMDAwNjc3MTk2LCJDT0xVTU5TIjo0MzAwMDY3MzkxMiwiR0lGVFMiOjQzMDAwNzM5NDAxLCJIT1dfVE9fQkVDT01FX01PREVSQVRPUiI6NDMwMDA1OTEzNTYsIkhPV19UT19GSU5EX1BJTkVfUFJPR1JBTU1FUiI6NDMwMDA2MDE2NzcsIkhPV19UT19DSEFOR0VfUkVQTEFZX0lOVEVSVkFMIjo0MzAwMDczOTE1OCwiU0VBU09OQUxTIjo0MzAwMDc0NTIwMSwiQkFSX0NIQVJUUyI6NDMwMDA2NzI0MDMsIkNBTkRMRVNfQ0hBUlRTIjo0MzAwMDc0NTI2OSwiSE9MTE9XX0NBTkRMRVNfQ0hBUlRTIjo0MzAwMDc0NTI3MCwiTElORV9DSEFSVFMiOjQzMDAwNzQ1MjcxLCJTVEVQX0xJTkVfQ0hBUlRTIjo0MzAwMDc0NTI3MiwiTElORV9XSVRIX01BUktFUlNfQ0hBUlRTIjo0MzAwMDc0NTI3MywiQVJFQV9DSEFSVFMiOjQzMDAwNzQ1Mjc0LCJTRVNTSU9OX1ZPTFVNRV9QUk9GSUxFX0NIQVJUUyI6NDMwMDA3NDUyNzUsIlRJTUVfUFJJQ0VfT1BQT1JUVU5JVElFU19DSEFSVFMiOjQzMDAwNzI1NTkwLCJCQUNLVEVTVElOR19CQVJfTUFHTklGSUVSIjo0MzAwMDY2OTI4NSwiQkFDS1RFU1RJTkdfQkFSX0RFVEFMSVpBVElPTiI6NDMwMDA3ODYxODAsIkJBQ0tURVNUSU5HX1NDUklQVF9FWEVDVVRJT04iOjQzMDAwNzg2MTc4LCJCUk9LRVJfRU1VTEFUT1IiOjQzMDAwNzg2MTgxLCJTT0NJQUxfTkVUV09SS19IT1VTRV9SVUxFUyI6NDMwMDA1OTE2MzgsIlFVSUNLX0FORF9FQVNZX0dVSURFIjo0MzAwMDcxODg4NSwiSE9XX1RPX1VTRV9GSUxURVJTIjo0MzAwMDcxODc0NSwiQ0hBUlRfVklFV19NT0RFIjo0MzAwMDcyNDIzMywiV0FUQ0hMSVNUX0FMRVJUU19IT1ciOjQzMDAwNjUzMzY5LCJXQVRDSExJU1RfQUxFUlRTX0NVU1RPTUlaRSI6NDMwMDA2NjI1MDYsIlBVQkxJU0hfQU5fSURFQSI6NDMwMDA1ODkwODMsIlNVUEVSQ0hBUlRTIjo0MzAwMDc0NjQ2NCwiQkFTSUNTIjo0MzAwMDc0NjY4MiwiVElNRV9JTlRFUlZBTFMiOjQzMDAwNzQ3OTM0LCJMQVlPVVRTIjo0MzAwMDc0Njk3NSwiQ09ORklHVVJFIjo0MzAwMDc0ODE2NiwiTUFTVEVSSU5HIjo0MzAwMDc0NTgyNSwiTVVMVElfVElNRUZSQU1FX0FOQUxZU0lTIjo0MzAwMDU5MTU1NSwiU0VUX1VQX0FMVEVSTkFUSVZFX0VNQUlMX0FERFJFU1MiOjQzMDAwNDc0Mzk4LCJERUxFVEVfQUNDT1VOVCI6NDMwMDA1NTA1MzQsIlNJR05BVFVSRV9PTl9QT1NUUyI6NDMwMDA0NzI3NzAsIlNDUkVFTkVSX0RFWCI6NDMwMDA3NDQ0NjUsIlNDUkVFTkVSX0NFWCI6NDMwMDA3NDYxMTAsIlNDUkVFTkVSX0NSWVBUTyI6NDMwMDA3MTg3NDIsIlNDUkVFTkVSX0JPTkQiOjQzMDAwNzQzOTUxLCJTQ1JFRU5FUl9FVEYiOjQzMDAwNzE4NzQzLCJTQ1JFRU5FUl9TVE9DSyI6NDMwMDA3MTg4NjYsIk9QVElPTlNfQlVJTERFUiI6NDMwMDA3MDcyMTQsIk5FV1NfRkxPVyI6NDMwMDA3Mjg4MjgsIkhPV19UT19DT05GSUdVUkVfMkZBIjo0MzAwMDU3MjQ2MCwiSU5UUkFEQVlfUkVOS09fS0FHSSI6NDMwMDA3NTg2MTcsIkRBVEFfRUNPTk9NSUNfQ0FMRU5EQVIiOjQzMDAwNzU5OTExLCJFQVJOSU5HU19DQUxFTkRBUiI6NDMwMDA3NTk5MTIsIkRJVklERU5EX0NBTEVOREFSIjo0MzAwMDc1OTkxMywiVEVDSE5JQ0FMX0FOQUxZU0lTIjo0MzAwMDc1OTU3NywiRlVOREFNRU5UQUxfQU5BTFlTSVMiOjQzMDAwNzU5NTc0LCJGSU5BTkNJQUxfU1RBVEVNRU5UU19IT1dUTyI6NDMwMDA3NjAwNTksIk9ORV9DTElDS19UUkFESU5HIjo0MzAwMDQ4MDkyMCwiT05FX1RBUF9UUkFESU5HIjo0MzAwMDc3NjI2NCwiUFJPRklUX0xPU1NfVFlQRV9TRUxFQ1RJT04iOjQzMDAwNzYxMTgxLCJUSVBTX0ZPUl9TQ1JJUFRfQVVUSE9SUyI6NDMwMDA1NDk5MzUsIlVQREFURV9QSU5FX1NDUklQVFMiOjQzMDAwNTMwNzIwLCJFWFBPUlRfU1RSQVRFR1lfREFUQSI6NDMwMDA2MTM2ODAsIllJRUxEX0NVUlZFUyI6NDMwMDA3NTgxMjMsIk5FV1NfQUxFUlRTIjo0MzAwMDc2MjgzOCwiUE9TSVRJT05TX0FORF9PUkRFUlNfT05fQ0hBUlQiOjQzMDAwNzYzMzYyLCJFWEVDVVRJT05TX01BUktTX09OX0NIQVJUIjo0MzAwMDc2MzM3MSwiUFJJQ0VfQUxFUlRTIjo0MzAwMDc2MzMxMywiVEVDSE5JQ0FMX0FMRVJUUyI6NDMwMDA3NjMzMTUsIkhJU1RPUklDQUxfREFUQSI6NDMwMDA2OTE4ODksIlBJTkVfRURJVE9SIjo0MzAwMDc2MzMyMCwiU1RSQVRFR1lfUFVCTElTSElOR19SVUxFUyI6NDMwMDA3NjQ2ODEsIkFTU0VUU19ZT1VfQ0FOX0FOQUxZWkUiOjQzMDAwNzY0ODg5LCJDSEFOR0VfQUNDT1VOVF9DVVJSRU5DWSI6NDMwMDA0ODA5MDMsIlNFVF9MRVZFUkFHRSI6NDMwMDA3NDI2OTksIlNDQU5fU1RPQ0tTIjo0MzAwMDY2OTg3NywiTUFDUk9fTUFQUyI6NDMwMDA3NjQ5MjUsIk9QVElPTlNfQ0hBSU4iOjQzMDAwNzYwODM3LCJHUkVFS1MiOjQzMDAwNzA4MTM3LCJTRUNPTkRfQkFTRURfSU5URVJWQUxTIjo0MzAwMDc2MjA2OCwiUEFJRF9TUEFDRSI6NDMwMDA3NjU4NzcsIlBBSURfU1BBQ0VfQVVUSE9SX1JVTEVTIjo0MzAwMDc2NTg3OCwiQ1JFQVRPUl9QUk9HUkFNX1BBSURfU1BBQ0VTX1RFUk1TIjo0MzAwMDc3MjE3NywiRUFSTklOR19MT0xMSVBPUF9GSUVMRFMiOjQzMDAwNjI5NzkwLCJFVkVSWVRISU5HX1lPVV9XQU5UX1RPX0tOT1ciOjQzMDAwNTgxODE3LCJNVUxUSVBMRV9MRVZFTFMiOjQzMDAwNzcyMzM0LCJIRUFUTUFQUyI6NDMwMDA3NjY0NDYsIldIQVRfSUZfU0NFTkFSSU9TIjo0MzAwMDc2Mjk1MywiT1BUSU9OU19TVFJBVEVHWSI6NDMwMDA3MDgxMDMsIk9QVElPTlNfRVhQSVJBVElPTiI6NDMwMDA3MzU2MTMsIk5FV1NfQllfTUFSS0VUIjo0MzAwMDczMjU2MiwiTkVXU19CWV9QUk9WSURFUiI6NDMwMDA3MzI1NjUsIk5FV1NfQllfQ09SUE9SQVRJT04iOjQzMDAwNzMyNTYzLCJDSEFSVFNfT1JERVJfVFJBQ0tJTkciOjQzMDAwNzY2MzM0LCJGVU5EQU1FTlRBTF9HUkFQSFMiOjQzMDAwNzYzMzc2LCJDT05URVhUX0hJTlRTIjo0MzAwMDU0Mjk2MywiSU5ESUNBVE9SU19WRVJTSU9OUyI6NDMwMDA3NDY3NTIsIlNUUkFURUdZX1RFU1RFUiI6NDMwMDA3NjQxMzgsIlRIRV9MRUFQIjo0MzAwMDc3MTU5NCwiUE9SVEZPTElPUyI6NDMwMDA3NjA5MzcsIldBVENITElTVF9TQ1JFRU5FUl9TRUFSQ0giOjQzMDAwNDczOTMwLCJIT1RMSVNUUyI6NDMwMDA3NjIwMjksIkRFUFRIX09GX01BUktFVCI6NDMwMDA1MTY0NTksIkxBU1RfT1BFTl9DSEFSVF9NT0JJTEUiOjQzMDAwNzU1NDc5LCJJT1NfUFVTSEVTIjo0MzAwMDQ3NDU5MCwiSU9TX0VESVRfV0lER0VUUyI6NDMwMDA3NTQ1MzYsIk1VTFRJQVBQX1dJTkRPV1MiOjQzMDAwNjExNTQzLCJTWU1CT0xfU1lOQ0lORyI6NDMwMDA2NzM4OTMsIkRFU0tUT1BfQVBQIjo0MzAwMDY3MTYxOCwiQ1VTVE9NRVJfU1VQUE9SVCI6NDMwMDA2NDgyNDgsIlJFTktPX0NIQVJUX0RJU1BMQVlfSVNTVUVTIjo0MzAwMDQ3NDMwNSwiQUNDRVNTX0FDUk9TU19ERVZJQ0VTIjo0MzAwMDc3NzcxOCwiV0FUQ0hMSVNUX0FTX0ZJTFRFUiI6NDMwMDA3MjQ1NDksIkRBVEFfRVhQT1JUIjo0MzAwMDQ3NDQzMiwiU0NSRUVORVJfVElNRUZSQU1FUyI6NDMwMDA3MjM2MTYsIlNIQVJFX1BPUlRGT0xJTyI6NDMwMDA3ODc1ODd9JykKfSwzODk4NDQobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKG8pe3JldHVybiB0KCk/MDpjKCk/NDU6TWF0aC5taW4oTWF0aC5tYXgobyw0NSksNDUwKX1lLmQocix7Z2V0V2lkZ2V0QmFyUGFkZGluZzooKT0+bH0pO2NvbnN0IHQ9KCk9PiF3aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogNzY4cHgpIikubWF0Y2hlcyxjPSgpPT4hd2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDEyODBweCkiKS5tYXRjaGVzfSw1NTcwNjUobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKCl7cmV0dXJuIG5hdmlnYXRvci5hbmRyb2lkQ2xpcGJvYXJkPz9uYXZpZ2F0b3IuY2xpcGJvYXJkfWZ1bmN0aW9uIHQobyl7cmV0dXJuIGMobyxudWxsKX1mdW5jdGlvbiBjKG8scil7Y29uc3QgZT1vLmZpbGVzJiZvLmZpbGVzLmxlbmd0aD4wO2lmKCFlJiZyJiZyLmV2ZW50UGhhc2U+MClyZXR1cm4gYShyLG8pLFByb21pc2UucmVzb2x2ZSgpO2lmKCFlKXtsZXQgcj0hMTtjb25zdCBlPWU9PntlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGEoZSxvKSxyPSEwfTt0cnl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsZSwhMCksZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKX1maW5hbGx5e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvcHkiLGUsITApfWlmKHIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBhc3luYyBmdW5jdGlvbihvKXtjb25zdCByPWwoKTtpZighcnx8IXIud3JpdGV8fCF3aW5kb3cuQ2xpcGJvYXJkSXRlbSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJDbGlwYm9hcmRBcGkgaXMgbm90IHN1cHBvcnRlZCIsIk5vdFN1cHBvcnRlZEVycm9yIik7Y29uc3QgZT17fTtmb3IoY29uc3QgciBvZiBvLmZpbGVzfHxbXSllW3IudHlwZV09cjtvLnRleHQmJihlWyJ0ZXh0L3BsYWluIl09by50ZXh0KTtvLmh0bWwmJihlWyJ0ZXh0L2h0bWwiXT1vLmh0bWwpO3JldHVybiByLndyaXRlKFtuZXcgd2luZG93LkNsaXBib2FyZEl0ZW0oZSldKX0obyl9ZnVuY3Rpb24gYShvLHIpe28ucHJldmVudERlZmF1bHQoKTtjb25zdCBlPW8uY2xpcGJvYXJkRGF0YTtyLnRleHQmJmUuc2V0RGF0YSgidGV4dC9wbGFpbiIsci50ZXh0KSxyLmh0bWwmJmUuc2V0RGF0YSgidGV4dC9odG1sIixyLmh0bWwpfWFzeW5jIGZ1bmN0aW9uIG4obyxyKXtjb25zdCBlPWwoKTtpZigidGV4dC9wbGFpbiI9PT1yJiYhZS53cml0ZSl7Y29uc3Qgcj1hd2FpdCBvO3JldHVybiBlLndyaXRlVGV4dChhd2FpdCByLnRleHQoKSl9aWYoIWV8fCFlLndyaXRlfHwhd2luZG93LkNsaXBib2FyZEl0ZW0pdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigiQ2xpcGJvYXJkQXBpIGlzIG5vdCBzdXBwb3J0ZWQiLCJOb3RTdXBwb3J0ZWRFcnJvciIpO2xldCB0PW51bGw7dHJ5e3Q9bmV3IHdpbmRvdy5DbGlwYm9hcmRJdGVtKHtbcl06b30pfWNhdGNoKGUpe3Q9bmV3IHdpbmRvdy5DbGlwYm9hcmRJdGVtKHtbcl06YXdhaXQgb30pfWlmKHQpcmV0dXJuIGUud3JpdGUoW3RdKTt0aHJvdyBuZXcgRXJyb3IoIkNsaXBib2FyZEFwaSBpcyBub3Qgc3VwcG9ydGVkIil9ZS5kKHIse2NvcHlUb0NsaXBib2FyZDooKT0+dCxnZXRDbGlwYm9hcmQ6KCk9Pmwsd3JpdGVJbXBsOigpPT5jLHdyaXRlUHJvbWlzZVVzaW5nQXBpOigpPT5ufSl9LDcyNzA2NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHthZHdvcmRzQW5hbHl0aWNzRW5hYmxlZDooKT0+YSxjcmVhdGVJbWFnZTooKT0+dCxtYXJrZXRpbmdBbmFseXRpY3NFbmFibGVkOigpPT5jfSk7dmFyIGw9ZSg1NjkzOTgpO2Z1bmN0aW9uIHQobyl7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtyZXR1cm4gci5zcmM9byxyfWZ1bmN0aW9uIGMoKXtyZXR1cm4oMCxsLmlzRmVhdHVyZUVuYWJsZWQpKCJtYXJrZXRpbmctYW5hbHl0aWNzIil9ZnVuY3Rpb24gYSgpe3JldHVybigwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImFkd29yZHMtYW5hbHl0aWNzIil9fSwxNTc5MTcobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7Q21FdmVudDooKT0+bCx0cmFja0NtRXZlbnQ6KCk9Pml9KSxmdW5jdGlvbihvKXtvLlBhZ2VWaWV3PSJwYWdlVmlldyIsby5BYm91dFZpc2l0PSJhYm91dFZpc2l0IixvLlJlZ2lzdHJhdGlvbkNvbXBsZXRlZD0icmVnaXN0cmF0aW9uQ29tcGxldGVkIixvLlRyaWFsU2lnblVwPSJ0cmlhbFNpZ25VcCIsby5QYWlkUGxhbkFjcXVpcmVkPSJwYWlkUGxhbkFjcXVpcmVkIn0obHx8KGw9e30pKTt2YXIgdD1lKDcyNzA2Nik7Y29uc3QgYz17W2wuUGFnZVZpZXddOnt0eXBlOiJ3Y291bnQiLGNhdDoidmlzaXQifSxbbC5BYm91dFZpc2l0XTp7dHlwZToid2NvdW50IixjYXQ6InRyYWRpMDAifSxbbC5SZWdpc3RyYXRpb25Db21wbGV0ZWRdOnt0eXBlOiJ3Y291bnQiLGNhdDoidHJhZGkwMDAifSxbbC5UcmlhbFNpZ25VcF06e3R5cGU6Indjb3VudCIsY2F0OiJ0cmFkaTAwMSJ9LFtsLlBhaWRQbGFuQWNxdWlyZWRdOnt0eXBlOiJ3c2FsZXMiLGNhdDoidHJhZGkwIn19O2Z1bmN0aW9uIGEoKXtyZXR1cm4gZnVuY3Rpb24obz0iX3NwXyIpe2NvbnN0IHI9bmV3IFJlZ0V4cChvKyJpZFxcLlthLWYwLTldKz0oW147XSspOz8iKSxlPWRvY3VtZW50LmNvb2tpZS5tYXRjaChyKTtyZXR1cm4gZSYmZVsxXT9lWzFdLnNwbGl0KCIuIilbMF06IiJ9KCl9ZnVuY3Rpb24gbihvLHIpe3JldHVybiBvJiZudWxsIT1yLnRyYW5zYWN0aW9uSWQ/ci50cmFuc2FjdGlvbklkOmAke0RhdGUubm93KCl9JHtNYXRoLmZsb29yKDFlOSpNYXRoLnJhbmRvbSgpKX1gfWZ1bmN0aW9uIGkobyxyPXt9KXsoMCx0LmNyZWF0ZUltYWdlKShmdW5jdGlvbihvLHI9e30pe2NvbnN0e3R5cGU6ZSxjYXQ6bH09Y1tvXSx0PSJ3c2FsZXMiPT09ZSxpPXQ/ZnVuY3Rpb24obyl7bGV0IHI9InF0eT0xOyI7cmV0dXJuIG51bGwhPW8udmFsdWUmJihyKz1gY29zdD0ke28udmFsdWV9O2ApLHJ9KHIpOiIiCjtyZXR1cm5gaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvZGRtL2FjdGl2aXR5L3NyYz0xMzkxOTM5OTt0eXBlPSR7ZX07Y2F0PSR7bH07JHtpfSR7W2B1Mjc9JHthKCl9YCxgdTI4PSR7d2luZG93LnVzZXIuaWR9YCwiZGNfbGF0PSIsImRjX3JkaWQ9IiwidGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9IiwidGZ1YT0iLCJucGE9Il0uam9pbigiOyIpfTtvcmQ9JHtuKHQscil9P2B9KG8scikpfX0sMTQxMzEobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7R1RhZ0V2ZW50OigpPT5sLHRyYWNrR1RhZ0Fkc0V2ZW50OigpPT55fSksZnVuY3Rpb24obyl7by5QYWdlVmlldz0ia3duUkNQNkF3cXNCRU9UdnZ1RUQiLG8uVHJpYWxTaWduVXA9IjZfZ0NDT3llanNBQ0VLM3NxNmdCIixvLlJlZ2lzdHJhdGlvbkNvbXBsZXRlZD0iSnpZaENJT3I1NzhDRUszc3E2Z0IiLG8uUGFpZFBsYW5BY3F1aXJlZD0iY2E4aUNOckc1NzhDRUszc3E2Z0IifShsfHwobD17fSkpO3ZhciB0PWUoMTc5NzcxKSxjPWUoNjgwODQyKSxhPWUoMTE3MzEzKSxuPWUoMzE4OTc0KSxpPWUoNjMxNjM0KSxkPWUoNzI3MDY2KSxzPWUoNDQ5NTA4KTtsZXQgZz0hMSx1PSExO2Z1bmN0aW9uIHAoKXtyZXR1cm4oMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fG4uQ2hlY2tNb2JpbGUuaU9TKCl8fCgwLG4uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxuLmlzRGVza3RvcEFwcCkoKX1mdW5jdGlvbiBDKG8pe3JldHVybiEoIW98fHAoKSkmJigoMCxzLmVuc3VyZUd0YWdCb290c3RyYXApKG8pLHV8fCh3aW5kb3cuZ3RhZygiY29uc2VudCIsImRlZmF1bHQiLHthZF9zdG9yYWdlOigwLGMuZ2V0Q29va2llU2V0dGluZykoYy5Db29raWVTZXR0aW5ncy5BZHZlcnRpc2luZyk/ImdyYW50ZWQiOiJkZW5pZWQifSksdC5zdWJzY3JpYmUoYy5jb29raWVTZXR0aW5nc0NoYW5nZUV2ZW50LCgobyxyKT0+e289PT1jLkNvb2tpZVNldHRpbmdzLkFkdmVydGlzaW5nJiZ3aW5kb3cuZ3RhZygiY29uc2VudCIsInVwZGF0ZSIse2FkX3N0b3JhZ2U6cj8iZ3JhbnRlZCI6ImRlbmllZCJ9KX0pLG51bGwpLHU9ITApLCEwKX1mdW5jdGlvbiB5KG8scj17fSl7aWYoZnVuY3Rpb24oKXtpZihnfHwhKDAsZC5hZHdvcmRzQW5hbHl0aWNzRW5hYmxlZCkoKXx8cCgpKXJldHVybjsoMCxpLnVwZGF0ZUluaXREYXRhKSgpO2NvbnN0IG89KDAsaS5nZXRJbml0RGF0YSkoKTtvLmdhZHdJZCYmQyhvLmdhZHdJZCkmJihnPSEwLHdpbmRvdy5ndGFnKCJjb25maWciLG8uZ2Fkd0lkKSl9KCksIWcpcmV0dXJuO2NvbnN0IGU9KDAsaS5nZXRJbml0RGF0YSkoKS5nYWR3SWQ7d2luZG93Lmd0YWcoImV2ZW50IiwiY29udmVyc2lvbiIse3NlbmRfdG86YCR7ZX0vJHtvfWAsdXNlcl9pZDp3aW5kb3cudXNlci5pZCwuLi5yfSl9fSw0NDk1MDgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZW5zdXJlR3RhZ0Jvb3RzdHJhcDooKT0+YX0pO3ZhciBsPWUoMTk4NTgxKTtsZXQgdD0hMSxjPSExO2Z1bmN0aW9uIGEobyl7byYmKHR8fCgoMCxsLmFwcGVuZFNjcmlwdCkoKG89PmBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPSR7b31gKShvKSksdD0hMCksQXJyYXkuaXNBcnJheSh3aW5kb3cuZGF0YUxheWVyKXx8KHdpbmRvdy5kYXRhTGF5ZXI9W10pLGN8fCh3aW5kb3cuZ3RhZz1mdW5jdGlvbigpe3dpbmRvdy5kYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpfSx3aW5kb3cuZ3RhZygianMiLG5ldyBEYXRlKSxjPSEwKSl9fSw1NDkxOTkobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7VHdpdHRlckV2ZW50OigpPT5sLHRyYWNrVHdpdHRlckV2ZW50OigpPT5hfSksZnVuY3Rpb24obyl7by5TaXRlVmlzaXQ9Im8yZWcyIixvLlRyaWFsU2lnblVwPSJvMXdqbyIsby5SZWdpc3RyYXRpb25Db21wbGV0ZWQ9Im8xd2pxIixvLlBhaWRQbGFuQWNxdWlyZWQ9Im8xd2pyIn0obHx8KGw9e30pKTt2YXIgdD1lKDcyNzA2NiksYz1lKDY4MDg0Mik7ZnVuY3Rpb24gYShvKXsoMCx0Lm1hcmtldGluZ0FuYWx5dGljc0VuYWJsZWQpKCkmJigwLGMuZ2V0Q29va2llU2V0dGluZykoYy5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MpJiYobz0+W2BodHRwczovL2FuYWx5dGljcy50d2l0dGVyLmNvbS9pL2Fkc2N0P3R4bl9pZD0ke299JnBfaWQ9VHdpdHRlciZ0d19zYWxlX2Ftb3VudD0wJnR3X29yZGVyX3F1YW50aXR5PTBgLGBodHRwczovL3QuY28vaS9hZHNjdD90eG5faWQ9JHtvfSZwX2lkPVR3aXR0ZXImdHdfc2FsZV9hbW91bnQ9MCZ0d19vcmRlcl9xdWFudGl0eT0wImBdKShvKS5tYXAodC5jcmVhdGVJbWFnZSl9fSwxOTg1ODEobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7YXBwZW5kU2NyaXB0OigpPT50fSk7dmFyIGw9ZSg1ODQ2NzcpO2Z1bmN0aW9uIHQobyl7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLmFzeW5jPSEwLHIuc3JjPW87Y29uc3QgZT0oMCxsLmdldENzcE5vbmNlKSgpO3JldHVybiBlJiZyLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocikscn19LDY4MDg0MihvLHIsZSl7InVzZSBzdHJpY3QiO3ZhciBsO2UuZChyLHtDb29raWVTZXR0aW5nczooKT0+bCxiYW5uZXJQcml2YWN5UHJlZmVyZW5jZUtleTooKT0+cCxjaGVja0Jhbm5lclByaXZhY3lQcmVmZXJlbmNlS2V5OigpPT5mLGNvb2tpZVNldHRpbmdzQ2hhbmdlRXZlbnQ6KCk9PmQsZ2V0Q29va2llU2V0dGluZzooKT0+TixoaWRlQmFubmVyOigpPT5TLHJlamVjdEJhbm5lcjooKT0+dixzZXRDb29raWVTZXR0aW5nOigpPT5SfSksZnVuY3Rpb24obyl7by5BbmFseXRpY3M9ImFuYWx5dGljcyIsby5BZHZlcnRpc2luZz0iYWR2ZXJ0aXNpbmcifShsfHwobD17fSkpO3ZhciB0PWUoMTc5NzcxKSxjPWUoNzY4NzYwKSxhPWUoOTMyMzY1KSxuPWUoMTYwMjk2KSxpPWUoNTg3NDM2KTtjb25zdCBkPSJjb29raWVfc2V0dGluZ3NfY2hhbmdlZCIscz0oKDAsYy5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikpLGc9KDAsCm4uaXNMb2NhbCkoKT8iIjoiLiIrcy5zbGljZSgxLHMubGVuZ3RoKS5qb2luKCIuIiksdT0iY29va2llQmFubmVyIixwPSgwLG4uaXNQcm9kKSgpPyJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lclByb2R1Y3Rpb24iOiJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lckxvY2FsIixDPSJhY2NlcHRlZCIseT0ibm90QXBwbGljYWJsZSIsYj0icmVqZWN0IixoPSJjb29raWVzU2V0dGluZ3MiLEU9ImxvY2FsQ29va2llc1NldHRpbmdzIixtPSJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lciIsQT17W2wuQW5hbHl0aWNzXTohMSxbbC5BZHZlcnRpc2luZ106ITF9O2Z1bmN0aW9uIF8oKXtyZXR1cm4gYS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHUpfWZ1bmN0aW9uIFQobyl7cmV0dXJuW0MseSxiXS5pbmNsdWRlcyhhLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obyk/PyIiKX1mdW5jdGlvbiBmKCl7cmV0dXJuIG89cCxbQyx5LGJdLmluY2x1ZGVzKGkuZ2V0KG8pPz8iIik7dmFyIG99ZnVuY3Rpb24gUygpe3coQyl9ZnVuY3Rpb24gdigpe3coYil9ZnVuY3Rpb24gdyhvKXtpLnNldChwLG8sMzY1MywiLyIsZyl9ZnVuY3Rpb24gUihvLHIpe0Fbb109cixpLnNldCgoMCxuLmlzUHJvZCkoKT9oOkUsSlNPTi5zdHJpbmdpZnkoQSksMzY1MywiLyIsZyksdC5lbWl0KGQsbyxyKX1mdW5jdGlvbiBOKG8pe3JldHVybiBBW29dfWZ1bmN0aW9uIEkoKXtyZXR1cm4gYS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG0pfSFmdW5jdGlvbigpe2NvbnN0IG89aS5nZXQoKDAsbi5pc1Byb2QpKCk/aDpFKSxyPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShtKSxlPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShoKTtpZihvKXtyJiZlJiYoSSgpLGEuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShoKSksVCh1KSYmXygpO3RyeXtjb25zdCByPUpTT04ucGFyc2Uobyk7QVtsLkFuYWx5dGljc109cj8uW2wuQW5hbHl0aWNzXXx8ITEsQVtsLkFkdmVydGlzaW5nXT1yPy5bbC5BZHZlcnRpc2luZ118fCExfWNhdGNoe319ZWxzZSBpZihUKHUpJiYoUihsLkFuYWx5dGljcywhMCksUihsLkFkdmVydGlzaW5nLCEwKSxTKCksXygpKSxyJiZlKXtjb25zdCBvPUpTT04ucGFyc2UoZSk7dyhyKSxSKGwuQW5hbHl0aWNzLG8/LltsLkFuYWx5dGljc10pLFIobC5BZHZlcnRpc2luZyxvPy5bbC5BZHZlcnRpc2luZ10pLEkoKSxhLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaCl9fSgpfSw1ODQ2NzcobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKCl7cmV0dXJuIGZ1bmN0aW9uKG8pe2lmKG51bGwhPT1vKXJldHVybiBvLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8by5ub25jZX0oZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W25vbmNlXSIpKX1lLmQocix7Z2V0Q3NwTm9uY2U6KCk9Pmx9KX0sMTEyNTQyKG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldENTU1Byb3BlcnR5OigpPT5uLGdldENTU1Byb3BlcnR5TnVtZXJpY1ZhbHVlOigpPT5pLGdldENvbnRlbnRXaWR0aDooKT0+YyxnZXRTY3JvbGxiYXJXaWR0aDooKT0+bCxtYXRjaE1lZGlhTWluTWF4OigpPT50LHNldFN0eWxlOigpPT5hfSk7Y29uc3QgbD0oKCk9PntsZXQgbztyZXR1cm4oKT0+e2lmKHZvaWQgMD09PW8pe2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1yLnN0eWxlO2UudmlzaWJpbGl0eT0iaGlkZGVuIixlLndpZHRoPSIxMDBweCIsZS5tc092ZXJmbG93U3R5bGU9InNjcm9sbGJhciIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyKTtjb25zdCBsPXIub2Zmc2V0V2lkdGg7ci5zdHlsZS5vdmVyZmxvdz0ic2Nyb2xsIjtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3Quc3R5bGUud2lkdGg9IjEwMCUiLHIuYXBwZW5kQ2hpbGQodCk7Y29uc3QgYz10Lm9mZnNldFdpZHRoO3IucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQociksbz1sLWN9cmV0dXJuIG99fSkoKTtmdW5jdGlvbiB0KG8scil7cmV0dXJuIHI9PT0xLzA/d2luZG93Lm1hdGNoTWVkaWEoYChtaW4td2lkdGg6ICR7b31weClgKTp3aW5kb3cubWF0Y2hNZWRpYShgKG1pbi13aWR0aDogJHtvfXB4KSBhbmQgKG1heC13aWR0aDogJHtyfXB4KWApfWZ1bmN0aW9uIGMobyl7cmV0dXJuIGkobywid2lkdGgiKS1pKG8sInBhZGRpbmctbGVmdCIpLWkobywicGFkZGluZy1yaWdodCIpfWZ1bmN0aW9uIGEobyxyLGUpe251bGwhPT1vJiZvLnN0eWxlLnNldFByb3BlcnR5KHIsZSl9ZnVuY3Rpb24gbihvLHIpe3JldHVybiBnZXRDb21wdXRlZFN0eWxlKG8sbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShyKX1mdW5jdGlvbiBpKG8scil7cmV0dXJuIHBhcnNlSW50KG4obyxyKSl9fSw4NzI1MTgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7c2V0Rml4ZWRCb2R5U3RhdGU6KCk9Pm59KTt2YXIgbD1lKDExMjU0MiksdD1lKDM4OTg0NCk7bGV0IGM9MCxhPSExO2Z1bmN0aW9uIG4obyl7Y29uc3R7Ym9keTpyfT1kb2N1bWVudCxlPXIucXVlcnlTZWxlY3RvcigiLndpZGdldGJhci13cmFwIik7aWYobyYmMT09KytjKXtjb25zdCBvPSgwLGwuZ2V0Q1NTUHJvcGVydHkpKHIsIm92ZXJmbG93IiksdD0oMCxsLmdldENTU1Byb3BlcnR5TnVtZXJpY1ZhbHVlKShyLCJwYWRkaW5nLXJpZ2h0Iik7ImhpZGRlbiIhPT1vLnRvTG93ZXJDYXNlKCkmJnIuc2Nyb2xsSGVpZ2h0PnIub2Zmc2V0SGVpZ2h0JiYoKDAsbC5zZXRTdHlsZSkoZSwicmlnaHQiLGAkeygwLGwuZ2V0U2Nyb2xsYmFyV2lkdGgpKCl9cHhgKSxyLnN0eWxlLnBhZGRpbmdSaWdodD1gJHt0KygwLGwuZ2V0U2Nyb2xsYmFyV2lkdGgpKCl9cHhgLGE9ITApLHIuY2xhc3NMaXN0LmFkZCgiaS1uby1zY3JvbGwiKX1lbHNlIGlmKCFvJiZjPjAmJjA9PS0tYyYmKHIuY2xhc3NMaXN0LnJlbW92ZSgiaS1uby1zY3JvbGwiKSxhKSl7KDAsbC5zZXRTdHlsZSkoZSwicmlnaHQiLCIwcHgiKTtsZXQgbz0wO289ZT8oMCx0LmdldFdpZGdldEJhclBhZGRpbmcpKCgwLGwuZ2V0Q29udGVudFdpZHRoKShlKSk6MCxyLnNjcm9sbEhlaWdodDw9ci5jbGllbnRIZWlnaHQmJihvLT0oMCxsLmdldFNjcm9sbGJhcldpZHRoKSgpKSwKci5zdHlsZS5wYWRkaW5nUmlnaHQ9KG88MD8wOm8pKyJweCIsYT0hMX19fSwxNTI3MTcobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7c3luY1VzZXJDb252ZXJzaW9uRGF0YTooKT0+dSxzeW5jVXNlckRhdGE6KCk9Pmd9KTt2YXIgbD1lKDIyMTA2MSksdD1lKDM4NjkzMSksYz1lKDgyNzAxKSxhPWUoMzg0MDE3KSxuPWUoNTI0MDY5KTtjb25zdCBpPSgwLGwuZ2V0TG9nZ2VyKSgiVXNlci5TeW5jIik7ZnVuY3Rpb24gZChvKXtyZXR1cm5gJHtvfV8ke3dpbmRvdy51c2VyJiZ3aW5kb3cudXNlci51c2VybmFtZXx8IiJ9YH1mdW5jdGlvbiBzKG8pe2NvbnN0e3NvdXJjZTpyLGlzQXV0aGVudGljYXRlZDplLHByb1BsYW46bCxvZmZlcnM6YSxmaXJlTG9naW5DaGFuZ2U6bj0hMH09bztsIT09d2luZG93LnVzZXIucHJvX3BsYW4mJih3aW5kb3cudXNlci5wcm9fcGxhbj1sLHdpbmRvdy51c2VyLmlzX3Bybz1Cb29sZWFuKGwpLCgwLHQudHJhY2tFdmVudCkoIlN5bmMgVXNlciBEYXRhIiwiRGlmZmVyZW50IFBybyBQbGFuIixkKHIpKSksZSE9PXdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ZSxuJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5maXJlKCksKDAsdC50cmFja0V2ZW50KSgiU3luYyBVc2VyIERhdGEiLCJEaWZmZXJlbnQgQXV0aCIsZChyKSkpLGEmJmMuYXZhaWxhYmxlT2ZmZXJzLnNldEluaXRpYWwoYSl9YXN5bmMgZnVuY3Rpb24gZyhvKXt0cnl7cyh7c291cmNlOm8saXNBdXRoZW50aWNhdGVkOiEwLHByb1BsYW46KGF3YWl0KDAsbi5nZXRQcm9QbGFuRGV0YWlsc0ZvclVzZXIpKCkpLnByb19wbGFufSl9Y2F0Y2gocil7IWZ1bmN0aW9uKG8scil7NDAzPT09ci5zdGF0dXMmJlsibm90X2F1dGhlbnRpY2F0ZWQiLCJsb2dpbl9yZXF1aXJlZCJdLmluY2x1ZGVzKHIudHlwZXx8IiIpP3Moe3NvdXJjZTpvLGlzQXV0aGVudGljYXRlZDohMSxwcm9QbGFuOnZvaWQgMH0pOmkubG9nRXJyb3Ioci5tZXNzYWdlKX0obyxyKX19YXN5bmMgZnVuY3Rpb24gdShvLHI9ITApe2NvbnN0IGU9bmV3IFVSTCgiL3ByaWNpbmcvIix3aW5kb3cubG9jYXRpb24ub3JpZ2luKSxsPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7bC5oYXMoIl90ZXN0X2NvdW50cnkiKSYmZS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJfdGVzdF9jb3VudHJ5IixsLmdldCgiX3Rlc3RfY291bnRyeSIpPz8iIiksZS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjb21wb25lbnQtZGF0YS1vbmx5IiwiMSIpO2NvbnN0IHQ9YXdhaXQoMCxhLmZldGNoKShlLmhyZWYpLGM9YXdhaXQgdC5qc29uKCk7cmV0dXJuIHMoe3NvdXJjZTpvLGlzQXV0aGVudGljYXRlZDpjLmlzX2F1dGhlbnRpY2F0ZWQscHJvUGxhbjpjLnVzZXIucHJvX3BsYW4sZmlyZUxvZ2luQ2hhbmdlOnIsb2ZmZXJzOmMudXNlci5hdmFpbGFibGVfb2ZmZXJzfSksY319LDQzMjc4MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtERUZBVUxUX1RIRU1FOigpPT5sfSk7Y29uc3QgbD0ibGlnaHQifSwyNDQ2NjQobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7dGhlbWVzOigpPT5ufSk7dmFyIGw9ZSg4MTA0MSksdD1lKDE4NTI3MSkKO2NvbnN0IGM9SlNPTi5wYXJzZSgneyJjb2xvci1oZWFkZXItYmciOiJjb2xvci1ibGFjayIsImNvbG9yLWJvZHktYmciOiJjb2xvci1ibGFjayIsImNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJnLXByaW1hcnkiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItYmctcHJpbWFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1iZy1zZWNvbmRhcnkiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYmctaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJnLXNjcm9sbC1idXR0b25zIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1sZWdhY3ktYmctd2lkZ2V0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRleHQtcHJpbWFyeSI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10ZXh0LXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci10ZXh0LXRlcnRpYXJ5IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXRleHQtZGlzYWJsZWQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItYWNjZW50LWNvbnRlbnQiOiJjb2xvci13aGl0ZSIsImNvbG9yLWRpdmlkZXIiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItZGl2aWRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1kaXZpZGVyLXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1ib3gtc2hhZG93IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWFjdGl2ZS1ob3Zlci10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLWFsZXJ0LXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLWJvcmRlci1jaGF0LWZpZWxkcyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItYm9yZGVyLXRhYmxlIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWJyYW5kIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1icmFuZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci1idXR0b24taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItY2hhcnQtcGFnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1jb21tb24tdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1kYW5nZXIiOiJjb2xvci1yaXBlLXJlZC02MDAiLCJjb2xvci1kYW5nZXItaG92ZXIiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1kYW5nZXItYWN0aXZlIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1maWxsLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItZGlzYWJsZWQtaW5wdXQiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UiOiJjb2xvci1jb2xkLWdyYXktNDUwIiwiY29sb3ItaGlnaGxpZ2h0LW5ldyI6ImNvbG9yLXR2LWJsdWUtYTgwMCIsImNvbG9yLWljb25zIjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLWlucHV0LWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWlucHV0LXRleHRhcmVhLXJlYWRvbmx5IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItaW5wdXQtcHVibGlzaC1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1pdGVtLWFjdGl2ZS1ibHVlIjoiY29sb3ItdHYtYmx1ZS1hOTAwIiwiY29sb3ItaXRlbS1ob3Zlci1hY3RpdmUtYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItaXRlbS1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1pdGVtLWhvdmVyLWJsdWUiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1pdGVtLWFjdGl2ZS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLWl0ZW0tYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1saW5rLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItbGlzdC1pdGVtIjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnIjoiY29sb3ItY29sZC1ncmF5LTg1MCIsImNvbG9yLW5ld3MtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBhbmUtYmciOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcGFuZS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItcGxhY2Vob2xkZXIiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLXByaW1hcnktc3ltYm9sIjoiY29sb3Itc2t5LWJsdWUtNTAwIiwiY29sb3Itcm93LWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZyI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS03MDAiLCJjb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdCI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNzAwIiwiY29sb3Itc3VjY2Vzcy1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLXN1Y2Nlc3MtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItdGFnLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci10YWctaG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdGV4dC1yZWd1bGFyIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLWE5MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtYTgwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbiI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS03MDAiLCJjb2xvci1wb3B1cC1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTg1MCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMjUwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNjAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS01MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTIwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci10di1idXR0b24tY2hlY2tlZCI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci10di1kaWFsb2ctY2FwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS01MCIsImNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdW5kZXJsaW5lZC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLXdpZGdldC1wYWdlcy1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci13YXJuaW5nIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1mb3JleC1pY29uIjoiY29sb3Itd2hpdGUiLCJjb2xvci1saXN0LWl0ZW0tYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saXN0LWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItbGlzdC1pdGVtLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItcHJpY2UtYXhpcy1sYWJlbC1iYWNrIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS01MDAiLCJjb2xvci1wcmljZS1heGlzLWdlYXIiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItcHJpY2UtYXhpcy1nZWFyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWJpZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3Itc2Nyb2xsLWJnIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLXNjcm9sbC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3Itd2lkZ2V0LWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyIjoiY29sb3ItcmlwZS1yZWQtNTAwIiwiY29sb3ItZ3Jvd2luZyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWZhbGxpbmciOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcHJlLW1hcmtldCI6ImNvbG9yLXRhbi1vcmFuZ2UtNjAwIiwiY29sb3ItcG9zdC1tYXJrZXQiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLW5vdGFjY3VyYXRlLW1vZGUiOiJjb2xvci1iZXJyeS1waW5rLWEyMDAiLCJjb2xvci1kZWxheS1tb2RlIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1kZWxheS1tb2RlLWJnIjoiY29sb3ItdGFuLW9yYW5nZS00MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQiOiJjb2xvci10di1ibHVlLWE5MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLWE3MDAiLCJjb2xvci1zY3JlZW5lci1oZWFkZXItYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLW92ZXJsYXkiOiJjb2xvci1jb2xkLWdyYXktOTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1jb250ZW50LWhvdmVyIjoiY29sb3Itd2hpdGUiLCJjb2xvci1ib29zdC1idXR0b24tYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWRlZmF1bHQiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3IteC10d2l0dGVyLWNvbnRlbnQiOiJjb2xvci13aGl0ZSIsImNvbG9yLWNhcmQtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTYwMCIsImNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItYmxhY2siLCJjb2xvci1zdHJva2Utc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXNlbGVjdGlvbi1iZyI6ImNvbG9yLXR2LWJsdWUtYTcwMCIsImNvbG9yLWRlZmF1bHQtZ3JheSI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZy1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAifScpCjt2YXIgYT1lKDUwNTU2KTtjb25zdCBuPXtbbC5TdGRUaGVtZS5MaWdodF06e25hbWU6bC5TdGRUaGVtZS5MaWdodCxsYWJlbDooKT0+dC50KG51bGwse2NvbnRleHQ6ImNvbG9yVGhlbWVOYW1lIn0sZSgyNDcxNjcpKSxvcmRlcjoyLGdldFRoZW1lZENvbG9yOm89PigwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKG8pfSxbbC5TdGRUaGVtZS5EYXJrXTp7bmFtZTpsLlN0ZFRoZW1lLkRhcmssbGFiZWw6KCk9PnQudChudWxsLHtjb250ZXh0OiJjb2xvclRoZW1lTmFtZSJ9LGUoOTQ1MzYyKSksb3JkZXI6MSxnZXRUaGVtZWRDb2xvcjpvPT57Y29uc3Qgcj1jW29dfHxvO3JldHVybigwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKHIpfX19fSw0NTM5NjgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7aXNTdGRUaGVtZU5hbWU6KCk9PnR9KTt2YXIgbD1lKDgxMDQxKTtmdW5jdGlvbiB0KG8pe3JldHVybiBvPT09bC5TdGRUaGVtZS5MaWdodHx8bz09PWwuU3RkVGhlbWUuRGFya319LDUwNzYwNChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtjb2xvcnM6KCk9Pm59KTt2YXIgbD1lKDUwNTU2KSx0PWUoODczNTczKTtjb25zdCBjPXtjb2xvckJsYWNrOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ibGFjayIpLGNvbG9yV2hpdGU6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXdoaXRlIiksY29sb3JUdkJsdWU1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MCIpLGNvbG9yVHZCbHVlMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTIwMCIpLGNvbG9yVHZCbHVlNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTQwMCIpLGNvbG9yVHZCbHVlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpLGNvbG9yVHZCbHVlNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTYwMCIpLGNvbG9yVHZCbHVlODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTgwMCIpLGNvbG9yVHZCbHVlQTgwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS1hODAwIiksY29sb3JEZWVwQmx1ZTIwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItZGVlcC1ibHVlLTIwMCIpLGNvbG9yRGVlcEJsdWUzMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS0zMDAiKSxjb2xvckRlZXBCbHVlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1kZWVwLWJsdWUtNTAwIiksY29sb3JEZWVwQmx1ZUEyMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hMjAwIiksY29sb3JEZWVwQmx1ZUE0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hNDAwIiksY29sb3JEZWVwQmx1ZUE3MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hNzAwIiksY29sb3JTa3lCbHVlNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1za3ktYmx1ZS00MDAiKSxjb2xvclNreUJsdWU1MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXNreS1ibHVlLTUwMCIpLGNvbG9yU2t5Qmx1ZTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itc2t5LWJsdWUtNzAwIiksY29sb3JTa3lCbHVlQTQwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itc2t5LWJsdWUtYTQwMCIpLGNvbG9yRGVmYXVsdFJlZDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3IteW91dHViZSIpLGNvbG9yUmlwZVJlZDIwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtMjAwIiksY29sb3JSaXBlUmVkMzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC0zMDAiKSxjb2xvclJpcGVSZWQ0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTQwMCIpLGNvbG9yUmlwZVJlZDUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksY29sb3JSaXBlUmVkNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC02MDAiKSxjb2xvclJpcGVSZWQ4MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTgwMCIpLGNvbG9yUmlwZVJlZEE5MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLWE5MDAiKSxjb2xvclJpcGVSZWRBNzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC1hNzAwIiksY29sb3JHcmFwZXNQdXJwbGVBMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLWEyMDAiKSxjb2xvckdyYXBlc1B1cnBsZUE0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLGNvbG9yR3JhcGVzUHVycGxlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLTUwMCIpLGNvbG9yR3JhcGVzUHVycGxlNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLTYwMCIpLGNvbG9yQmVycnlQaW5rNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1iZXJyeS1waW5rLTQwMCIpLGNvbG9yQmVycnlQaW5rNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1iZXJyeS1waW5rLTUwMCIpLGNvbG9yTWludHlHcmVlbjEwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tMTAwIiksY29sb3JNaW50eUdyZWVuMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi0yMDAiKSxjb2xvck1pbnR5R3JlZW40MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTQwMCIpLGNvbG9yTWludHlHcmVlbjUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIiksY29sb3JNaW50eUdyZWVuNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi02MDAiKSwKY29sb3JNaW50eUdyZWVuODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi04MDAiKSxjb2xvck1pbnR5R3JlZW5BOTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi1hOTAwIiksY29sb3JJZ3VhbmFHcmVlbjMwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItaWd1YW5hLWdyZWVuLTMwMCIpLGNvbG9ySWd1YW5hR3JlZW41MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWlndWFuYS1ncmVlbi01MDAiKSxjb2xvcklndWFuYUdyZWVuQTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItaWd1YW5hLWdyZWVuLWE3MDAiKSxjb2xvclRhbk9yYW5nZTMwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS0zMDAiKSxjb2xvclRhbk9yYW5nZTUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS01MDAiKSxjb2xvclRhbk9yYW5nZTYwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS02MDAiKSxjb2xvclRhbk9yYW5nZTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS03MDAiKSxjb2xvckNvbGRHcmF5MTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMTAwIiksY29sb3JDb2xkR3JheTE1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTE1MCIpLGNvbG9yQ29sZEdyYXkyMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS0yMDAiKSxjb2xvckNvbGRHcmF5MzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksY29sb3JDb2xkR3JheTQwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTQwMCIpLGNvbG9yQ29sZEdyYXk0NTA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS00NTAiKSxjb2xvckNvbGRHcmF5NTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNTAwIiksY29sb3JDb2xkR3JheTU1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpLGNvbG9yQ29sZEdyYXk2MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02MDAiKSxjb2xvckNvbGRHcmF5NjUwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNjUwIiksY29sb3JDb2xkR3JheTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTcwMCIpLGNvbG9yQ29sZEdyYXk3NTA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS03NTAiKSxjb2xvckNvbGRHcmF5ODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktODAwIiksY29sb3JDb2xkR3JheTg1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTg1MCIpLGNvbG9yQ29sZEdyYXk5MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS05MDAiKSxjb2xvckZvcmVzdEdyZWVuMzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIil9LGE9e2NvbG9yV2hpdGVBbHBoYTI1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvcldoaXRlLDc1KSxjb2xvclR2Qmx1ZTUwMEFscGhhNDA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDYwKSxjb2xvclR2Qmx1ZTUwMEFscGhhMzA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDcwKSxjb2xvclR2Qmx1ZTUwMEFscGhhMjg6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDcyKSxjb2xvclR2Qmx1ZTUwMEFscGhhMjU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDc1KSxjb2xvclR2Qmx1ZTUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDgwKSxjb2xvckRlZXBCbHVlNTAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JEZWVwQmx1ZTUwMCw4MCksY29sb3JTa3lCbHVlNDAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclNreUJsdWU0MDAsOTUpLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yU2t5Qmx1ZTQwMCw1MCksY29sb3JTa3lCbHVlNDAwQWxwaGE3NTooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JTa3lCbHVlNDAwLDI1KSxjb2xvclNreUJsdWU1MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclNreUJsdWU1MDAsODApLGNvbG9yU2t5Qmx1ZTUwMEFscGhhMjU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yU2t5Qmx1ZTUwMCw3NSksY29sb3JTa3lCbHVlNzAwQWxwaGE3MDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JTa3lCbHVlNzAwLDMwKSxjb2xvclJpcGVSZWQ0MDBBbHBoYTU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDQwMCw5NSksY29sb3JSaXBlUmVkNTAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclJpcGVSZWQ1MDAsOTUpLGNvbG9yUmlwZVJlZDUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDUwMCw4MCksY29sb3JSaXBlUmVkNTAwQWxwaGEyODooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JSaXBlUmVkNTAwLDcyKSxjb2xvclJpcGVSZWQ1MDBBbHBoYTMwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclJpcGVSZWQ1MDAsNzApLGNvbG9yUmlwZVJlZDUwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDUwMCw1MCksY29sb3JHcmFwZXNQdXJwbGVBMjAwQWxwaGExNTooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JHcmFwZXNQdXJwbGVBMjAwLDg1KSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JHcmFwZXNQdXJwbGU1MDAsMTAwKSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhMjA6KDAsCnQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckdyYXBlc1B1cnBsZTUwMCw4MCksY29sb3JHcmFwZXNQdXJwbGU1MDBBbHBoYTcwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckdyYXBlc1B1cnBsZTUwMCwzMCksY29sb3JCZXJyeVBpbms0MDBBbHBoYTUwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazQwMCw1MCksY29sb3JCZXJyeVBpbms0MDBBbHBoYTc1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazQwMCwyNSksY29sb3JCZXJyeVBpbms1MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazUwMCw4MCksY29sb3JCZXJyeVBpbms1MDBBbHBoYTI1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazUwMCw3NSksY29sb3JNaW50eUdyZWVuNTAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JNaW50eUdyZWVuNTAwLDgwKSxjb2xvck1pbnR5R3JlZW41MDBBbHBoYTI4OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvck1pbnR5R3JlZW41MDAsNzIpLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yTWludHlHcmVlbjUwMCw1MCksY29sb3JNaW50eUdyZWVuNTAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvck1pbnR5R3JlZW41MDAsOTUpLGNvbG9ySWd1YW5hR3JlZW41MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvcklndWFuYUdyZWVuNTAwLDgwKSxjb2xvclRhbk9yYW5nZTUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVGFuT3JhbmdlNTAwLDgwKSxjb2xvckZvcmVzdEdyZWVuMzAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckZvcmVzdEdyZWVuMzAwLDk1KSxjb2xvckNvbGRHcmF5MTAwQWxwaGEwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckNvbGRHcmF5MTAwLDEwMCksY29sb3JDb2xkR3JheTEwMEFscGhhNjooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JDb2xkR3JheTEwMCw5NCksY29sb3JDb2xkR3JheTEwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yQ29sZEdyYXkxMDAsODApLGNvbG9yQ29sZEdyYXk4MDBBbHBoYTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yQ29sZEdyYXk4MDAsMTAwKSxjb2xvckNvbGRHcmF5ODAwQWxwaGE2OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckNvbGRHcmF5ODAwLDk0KSxjb2xvckNvbGRHcmF5ODAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JDb2xkR3JheTgwMCw4MCl9LG49ey4uLmMsLi4uYX19LDk4NDQyNihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkYXJrOigpPT5jb30pO3ZhciBsPWUoMjI3ODI1KSx0PWUoNTA3NjA0KTtjb25zdHtjb2xvcldoaXRlOmMsY29sb3JDb2xkR3JheTEwMEFscGhhMDphLGNvbG9yQ29sZEdyYXkxMDBBbHBoYTIwOm4sY29sb3JDb2xkR3JheTIwMDppLGNvbG9yQ29sZEdyYXkzMDA6ZCxjb2xvckNvbGRHcmF5NDAwOnMsY29sb3JDb2xkR3JheTQ1MDpnLGNvbG9yQ29sZEdyYXk2MDA6dSxjb2xvckNvbGRHcmF5ODAwOnAsY29sb3JDb2xkR3JheTg1MDpDLGNvbG9yQ29sZEdyYXk5MDA6eSxjb2xvckRlZXBCbHVlQTIwMDpiLGNvbG9yR3JhcGVzUHVycGxlQTQwMDpoLGNvbG9yR3JhcGVzUHVycGxlQTIwMEFscGhhMTU6RSxjb2xvckdyYXBlc1B1cnBsZTYwMDptLGNvbG9yTWludHlHcmVlbjQwMDpBLGNvbG9yTWludHlHcmVlbjUwMDpfLGNvbG9yTWludHlHcmVlbjYwMDpULGNvbG9yTWludHlHcmVlbjgwMDpmLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTpTLGNvbG9yTWludHlHcmVlbjUwMEFscGhhMjg6dixjb2xvck1pbnR5R3JlZW41MDBBbHBoYTUwOncsY29sb3JNaW50eUdyZWVuQTkwMDpSLGNvbG9yUmlwZVJlZDQwMDpOLGNvbG9yUmlwZVJlZDUwMDpJLGNvbG9yUmlwZVJlZDYwMDpPLGNvbG9yUmlwZVJlZDgwMDprLGNvbG9yUmlwZVJlZDUwMEFscGhhNTpCLGNvbG9yUmlwZVJlZDUwMEFscGhhMjg6UCxjb2xvclJpcGVSZWQ1MDBBbHBoYTUwOkQsY29sb3JSaXBlUmVkQTkwMDpMLGNvbG9yQmVycnlQaW5rNTAwQWxwaGEyNTpGLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE1MDp4LGNvbG9yQmVycnlQaW5rNDAwQWxwaGE3NTpILGNvbG9yQmVycnlQaW5rNTAwOlUsY29sb3JJZ3VhbmFHcmVlbkE3MDA6Ryxjb2xvclNreUJsdWVBNDAwOk0sY29sb3JTa3lCbHVlNDAwQWxwaGE1OlcsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDpWLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6WSxjb2xvclNreUJsdWU1MDA6aixjb2xvclNreUJsdWU1MDBBbHBoYTI1OkssY29sb3JEZWVwQmx1ZUE0MDA6JCxjb2xvclR2Qmx1ZTQwMDpYLGNvbG9yVHZCbHVlNTAwOnEsY29sb3JUdkJsdWU1MDBBbHBoYTI4OkosY29sb3JUdkJsdWU2MDA6eixjb2xvclR2Qmx1ZTgwMDpRLGNvbG9yVHZCbHVlQTgwMDpaLGNvbG9yVGFuT3JhbmdlNTAwOm9vLGNvbG9yVGFuT3JhbmdlNjAwOnJvfT10LmNvbG9ycyxlbz17Y29sb3I6cSx0cG86e2NvbG9yczp7Z3JhZGllbnRDb2xvcnM6W1UsRyxqLCRdfX0sdm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6aSx2YWg6e2NvbG9yOml9LHZhbDp7Y29sb3I6aX0scG9jOntjb2xvcjppfSx2b2x1bWVDb2xvcjpWLHZhbHVlQXJlYUNvbG9yOll9LGxldmVsczp7cG9jQ29sb3I6aSxwb29ySGlnaENvbG9yOmIscG9vckxvd0NvbG9yOmIsc2luZ2xlcHJpbnRzQ29sb3I6RSx2YWhDb2xvcjppLHZhbENvbG9yOml9fSxsbz17dXBDb2xvcjpfLGRvd25Db2xvcjpJLGJvcmRlckNvbG9yOiIjMzc4NjU4Iixib3JkZXJVcENvbG9yOl8sYm9yZGVyRG93bkNvbG9yOkksd2lja0NvbG9yOiIjNzM3Mzc1Iix3aWNrVXBDb2xvcjpfLHdpY2tEb3duQ29sb3I6SSxpbWJhbGFuY2VIaWdobGlnaHQ6e2J1eUNvbG9yOl8sc2VsbENvbG9yOkl9LHVuZmluaXNoZWRBdWN0aW9uOntoaWdoQ29sb3I6aCxsb3dDb2xvcjpNfSxiZ0NvbG9yczp7YWRqQnV5QmdDb2xvcnM6W1IsZixULEFdLGFkalNlbGxCZ0NvbG9yczpbTCxrLE8sTl0sYWRqVG90YWxCZ0NvbG9yczpbWixRLHosWF0sYnV5QmdDb2xvcjpmLApzZWxsQmdDb2xvcjprLHRvdGFsQmdDb2xvcjpRLHBvY0NvbG9yOml9fSx0bz17dm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6aSx2b2x1bWVDb2xvclVwOlYsdm9sdW1lQ29sb3JEb3duOngsdmFsdWVBcmVhQ29sb3JVcDpZLHZhbHVlQXJlYUNvbG9yRG93bjpILGhpc3RvZ3JhbUJveENvbG9yOld9LHZhaDp7Y29sb3I6aX0sdmFsOntjb2xvcjppfSxwb2M6e2NvbG9yOml9LGRldmVsb3BpbmdQb2M6e2NvbG9yOml9LGRldmVsb3BpbmdWQTp7Y29sb3I6an19LGNvPXtjb250ZW50OntjaGFydFByb3BlcnRpZXM6e3NjYWxlc1Byb3BlcnRpZXM6e3RleHRDb2xvcjpkLGxpbmVDb2xvcjphLGJhY2tncm91bmRDb2xvcjpjfSxwYW5lUHJvcGVydGllczp7dmVydEdyaWRQcm9wZXJ0aWVzOntjb2xvcjpufSxob3J6R3JpZFByb3BlcnRpZXM6e2NvbG9yOm59LGNyb3NzSGFpclByb3BlcnRpZXM6e2NvbG9yOnN9LGJhY2tncm91bmQ6eSxiYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yOkMsYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3I6eSxiYWNrZ3JvdW5kVHlwZToic29saWQiLHNlcGFyYXRvckNvbG9yOnB9fSxzZXNzaW9uczp7c2Vzc2lvbkhpZ2hsaWdodDp7YmFja2dyb3VuZHM6e291dE9mU2Vzc2lvbjp7Y29sb3I6cSx0cmFuc3BhcmVuY3k6OTJ9LHByZU1hcmtldDp7Y29sb3I6b28sdHJhbnNwYXJlbmN5OjkyfSxwb3N0TWFya2V0Ontjb2xvcjpxLHRyYW5zcGFyZW5jeTo5Mn0sbmlnaHRNYXJrZXQ6e2NvbG9yOmgsdHJhbnNwYXJlbmN5OjkyfSxlbGVjdHJvbmljOntjb2xvcjpxLHRyYW5zcGFyZW5jeTo5Mn19LHZlcnRsaW5lczp7c2Vzc0JyZWFrczp7Y29sb3I6IiM0OTg1ZTcifX19fSxtYWluU291cmNlUHJvcGVydGllczp7YmFzZUxpbmVDb2xvcjp1LHByZXZDbG9zZVByaWNlTGluZUNvbG9yOiIjNTU1NTU1IixwcmljZUxpbmVDb2xvcjoiIixoaWdoTG93QXZnUHJpY2U6e2hpZ2hMb3dQcmljZUxpbmVzQ29sb3I6IiIsYXZlcmFnZVByaWNlTGluZUNvbG9yOiIifSxiaWRBc2s6e2JpZExpbmVDb2xvcjpxLGFza0xpbmVDb2xvcjpOfSxwcmVQb3N0TWFya2V0OntwcmVNYXJrZXRDb2xvcjpybyxwb3N0TWFya2V0Q29sb3I6cSxvdmVybmlnaHRNYXJrZXRDb2xvcjptfSxjYW5kbGVTdHlsZTp7Ym9yZGVyQ29sb3I6IiMzNzg2NTgiLHVwQ29sb3I6Xyx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOl8sd2lja0Rvd25Db2xvcjpJLGRvd25Db2xvcjpJLGJvcmRlclVwQ29sb3I6Xyxib3JkZXJEb3duQ29sb3I6SX0sdm9sQ2FuZGxlc1N0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjpfLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6Xyx3aWNrRG93bkNvbG9yOkksZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJfSxoYVN0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjpfLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6Xyx3aWNrRG93bkNvbG9yOkksZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJfSxobGNBcmVhU3R5bGU6e2hpZ2hMaW5lQ29sb3I6aixsb3dMaW5lQ29sb3I6VSxjbG9zZUxpbmVDb2xvcjpxLGhpZ2hDbG9zZUZpbGxDb2xvcjpLLGNsb3NlTG93RmlsbENvbG9yOkZ9LGhvbGxvd0NhbmRsZVN0eWxlOnt1cENvbG9yOl8sZG93bkNvbG9yOkksYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6Xyxib3JkZXJEb3duQ29sb3I6SSx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOl8sd2lja0Rvd25Db2xvcjpJfSxiYXJTdHlsZTp7ZG93bkNvbG9yOkksdXBDb2xvcjpffSxwbmZTdHlsZTp7ZG93bkNvbG9yOkksdXBDb2xvcjpfLHVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixkb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIn0sYmFzZWxpbmVTdHlsZTp7YmFzZWxpbmVDb2xvcjpnLHRvcEZpbGxDb2xvcjE6dix0b3BGaWxsQ29sb3IyOlMsYm90dG9tRmlsbENvbG9yMTpCLGJvdHRvbUZpbGxDb2xvcjI6UCx0b3BMaW5lQ29sb3I6Xyxib3R0b21MaW5lQ29sb3I6SX0sYXJlYVN0eWxlOnt0cmFuc3BhcmVuY3k6MTAwLGNvbG9yMTpKLGNvbG9yMjpxLGxpbmVjb2xvcjpxfSxoaWxvU3R5bGU6e2NvbG9yOnEsYm9yZGVyQ29sb3I6cSxsYWJlbENvbG9yOnF9LGNvbHVtblN0eWxlOnt1cENvbG9yOncsZG93bkNvbG9yOkR9LHJlbmtvU3R5bGU6e3VwQ29sb3I6Xyxkb3duQ29sb3I6SSxib3JkZXJVcENvbG9yOl8sYm9yZGVyRG93bkNvbG9yOkksdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YiLGJvcmRlclVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixib3JkZXJEb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIix3aWNrVXBDb2xvcjpfLHdpY2tEb3duQ29sb3I6SX0sbGluZVN0eWxlOntjb2xvclR5cGU6bC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6cSxncmFkaWVudFN0YXJ0Q29sb3I6aCxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sbGluZVdpdGhNYXJrZXJzU3R5bGU6e2NvbG9yVHlwZTpsLkNvbG9yVHlwZS5HcmFkaWVudCxjb2xvcjpxLGdyYWRpZW50U3RhcnRDb2xvcjpoLGdyYWRpZW50RW5kQ29sb3I6IiMwMEJDRTUifSxzdGVwbGluZVN0eWxlOntjb2xvclR5cGU6bC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6cSxncmFkaWVudFN0YXJ0Q29sb3I6aCxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sa2FnaVN0eWxlOntkb3duQ29sb3I6SSx1cENvbG9yOl8sdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YifSxwYlN0eWxlOnt1cENvbG9yOl8sZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJLHVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixkb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIixib3JkZXJVcENvbG9yUHJvamVjdGlvbjoiIzMzNjg1NCIsYm9yZGVyRG93bkNvbG9yUHJvamVjdGlvbjoiIzdmMzIzZiJ9LHJhbmdlU3R5bGU6e3VwQ29sb3I6Xyxkb3duQ29sb3I6SSwKdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YiLGNhbmRsZXNVcENvbG9yOl8sY2FuZGxlc0Rvd25Db2xvcjpJLGNhbmRsZXNCb3JkZXJVcENvbG9yOl8sY2FuZGxlc0JvcmRlckRvd25Db2xvcjpJLGNhbmRsZXNXaWNrVXBDb2xvcjpfLGNhbmRsZXNXaWNrRG93bkNvbG9yOkl9LHRwb1N0eWxlOmVvLHZvbEZvb3RwcmludFN0eWxlOmxvLHN2cFN0eWxlOnRvLGhsY0JhcnNTdHlsZTp7Y29sb3I6cX19fX19LDcxNjc2OChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtsaWdodDooKT0+bG99KTt2YXIgbD1lKDUwNzYwNCksdD1lKDIyNzgyNSk7Y29uc3R7Y29sb3JXaGl0ZTpjLGNvbG9yQmxhY2s6YSxjb2xvckNvbGRHcmF5MTUwOm4sY29sb3JDb2xkR3JheTMwMDppLGNvbG9yQ29sZEdyYXk0MDA6ZCxjb2xvckNvbGRHcmF5NDUwOnMsY29sb3JDb2xkR3JheTgwMEFscGhhMDpnLGNvbG9yQ29sZEdyYXk4MDBBbHBoYTIwOnUsY29sb3JDb2xkR3JheTkwMDpwLGNvbG9yR3JhcGVzUHVycGxlQTQwMDpDLGNvbG9yR3JhcGVzUHVycGxlQTIwMEFscGhhMTU6eSxjb2xvckdyYXBlc1B1cnBsZTYwMDpiLGNvbG9yTWludHlHcmVlbjIwMDpoLGNvbG9yTWludHlHcmVlbjQwMDpFLGNvbG9yTWludHlHcmVlbjUwMDptLGNvbG9yTWludHlHcmVlbjYwMDpBLGNvbG9yTWludHlHcmVlbjgwMDpfLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTpULGNvbG9yTWludHlHcmVlbjUwMEFscGhhMjg6Zixjb2xvck1pbnR5R3JlZW41MDBBbHBoYTUwOlMsY29sb3JSaXBlUmVkMjAwOnYsY29sb3JSaXBlUmVkNDAwOncsY29sb3JSaXBlUmVkNTAwOlIsY29sb3JSaXBlUmVkNjAwOk4sY29sb3JSaXBlUmVkQTcwMDpJLGNvbG9yUmlwZVJlZDUwMEFscGhhNTpPLGNvbG9yUmlwZVJlZDUwMEFscGhhMjg6ayxjb2xvclJpcGVSZWQ1MDBBbHBoYTUwOkIsY29sb3JEZWVwQmx1ZUE3MDA6UCxjb2xvckJlcnJ5UGluazUwMDpELGNvbG9yQmVycnlQaW5rNTAwQWxwaGEyNTpMLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE1MDpGLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE3NTp4LGNvbG9ySWd1YW5hR3JlZW5BNzAwOkgsY29sb3JTa3lCbHVlNDAwQWxwaGE1OlUsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDpHLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6TSxjb2xvclNreUJsdWU1MDA6Vyxjb2xvclNreUJsdWU1MDBBbHBoYTI1OlYsY29sb3JTa3lCbHVlQTQwMDpZLGNvbG9yRGVlcEJsdWVBNDAwOmosY29sb3JUdkJsdWUyMDA6Syxjb2xvclR2Qmx1ZTQwMDokLGNvbG9yVHZCbHVlNTAwOlgsY29sb3JUdkJsdWU1MDBBbHBoYTI4OnEsY29sb3JUdkJsdWU2MDA6Sixjb2xvclR2Qmx1ZTgwMDp6LGNvbG9yVGFuT3JhbmdlNTAwOlEsY29sb3JUYW5PcmFuZ2U2MDA6Wn09bC5jb2xvcnMsb289e2NvbG9yOlgsdHBvOntjb2xvcnM6e2dyYWRpZW50Q29sb3JzOltELEgsVyxqXX19LHZvbHVtZVByb2ZpbGU6e3ZhbHVlc0NvbG9yOnAsdmFoOntjb2xvcjpwfSx2YWw6e2NvbG9yOnB9LHBvYzp7Y29sb3I6cH0sdm9sdW1lQ29sb3I6Ryx2YWx1ZUFyZWFDb2xvcjpNfSxsZXZlbHM6e3BvY0NvbG9yOnAscG9vckhpZ2hDb2xvcjpQLHBvb3JMb3dDb2xvcjpQLHNpbmdsZXByaW50c0NvbG9yOnksdmFoQ29sb3I6cCx2YWxDb2xvcjpwfX0scm89e3VwQ29sb3I6bSxkb3duQ29sb3I6Uixib3JkZXJDb2xvcjoiIzM3ODY1OCIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsaW1iYWxhbmNlSGlnaGxpZ2h0OntidXlDb2xvcjptLHNlbGxDb2xvcjpSfSx1bmZpbmlzaGVkQXVjdGlvbjp7aGlnaENvbG9yOkMsbG93Q29sb3I6WX0sYmdDb2xvcnM6e2FkakJ1eUJnQ29sb3JzOltoLEUsQSxfXSxhZGpTZWxsQmdDb2xvcnM6W3YsdyxOLEldLGFkalRvdGFsQmdDb2xvcnM6W0ssJCxKLHpdLGJ1eUJnQ29sb3I6RSxzZWxsQmdDb2xvcjp3LHRvdGFsQmdDb2xvcjokLHBvY0NvbG9yOmF9fSxlbz17dm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6cCx2b2x1bWVDb2xvclVwOkcsdm9sdW1lQ29sb3JEb3duOkYsdmFsdWVBcmVhQ29sb3JVcDpNLHZhbHVlQXJlYUNvbG9yRG93bjp4LGhpc3RvZ3JhbUJveENvbG9yOlV9LHZhaDp7Y29sb3I6cH0sdmFsOntjb2xvcjpwfSxwb2M6e2NvbG9yOnB9LGRldmVsb3BpbmdQb2M6e2NvbG9yOnB9LGRldmVsb3BpbmdWQTp7Y29sb3I6V319LGxvPXtjb250ZW50OntjaGFydFByb3BlcnRpZXM6e3NjYWxlc1Byb3BlcnRpZXM6e3RleHRDb2xvcjpwLGxpbmVDb2xvcjpnLGJhY2tncm91bmRDb2xvcjpjfSxwYW5lUHJvcGVydGllczp7dmVydEdyaWRQcm9wZXJ0aWVzOntjb2xvcjp1fSxob3J6R3JpZFByb3BlcnRpZXM6e2NvbG9yOnV9LGNyb3NzSGFpclByb3BlcnRpZXM6e2NvbG9yOmR9LGJhY2tncm91bmRUeXBlOnQuQ29sb3JUeXBlLlNvbGlkLGJhY2tncm91bmQ6YyxiYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yOmMsYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3I6YyxzZXBhcmF0b3JDb2xvcjpufX0sc2Vzc2lvbnM6e3Nlc3Npb25IaWdobGlnaHQ6e2JhY2tncm91bmRzOntvdXRPZlNlc3Npb246e2NvbG9yOlgsdHJhbnNwYXJlbmN5OjkyfSxwcmVNYXJrZXQ6e2NvbG9yOlEsdHJhbnNwYXJlbmN5OjkyfSxwb3N0TWFya2V0Ontjb2xvcjpYLHRyYW5zcGFyZW5jeTo5Mn0sbmlnaHRNYXJrZXQ6e2NvbG9yOkMsdHJhbnNwYXJlbmN5OjkyfSxlbGVjdHJvbmljOntjb2xvcjpYLHRyYW5zcGFyZW5jeTo5Mn19LHZlcnRsaW5lczp7c2Vzc0JyZWFrczp7Y29sb3I6IiM0OTg1ZTcifX19fSxtYWluU291cmNlUHJvcGVydGllczp7YmFzZUxpbmVDb2xvcjppLHByZXZDbG9zZVByaWNlTGluZUNvbG9yOiIjNTU1NTU1IixwcmljZUxpbmVDb2xvcjoiIixoaWdoTG93QXZnUHJpY2U6e2hpZ2hMb3dQcmljZUxpbmVzQ29sb3I6IiIsYXZlcmFnZVByaWNlTGluZUNvbG9yOiIifSxiaWRBc2s6e2JpZExpbmVDb2xvcjpYLGFza0xpbmVDb2xvcjp3fSxwcmVQb3N0TWFya2V0OntwcmVNYXJrZXRDb2xvcjpaLApwb3N0TWFya2V0Q29sb3I6WCxvdmVybmlnaHRNYXJrZXRDb2xvcjpifSxjYW5kbGVTdHlsZTp7Ym9yZGVyQ29sb3I6IiMzNzg2NTgiLHVwQ29sb3I6bSx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOm0sd2lja0Rvd25Db2xvcjpSLGRvd25Db2xvcjpSLGJvcmRlclVwQ29sb3I6bSxib3JkZXJEb3duQ29sb3I6Un0sdm9sQ2FuZGxlc1N0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjptLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSfSxoYVN0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjptLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSfSxobGNBcmVhU3R5bGU6e2hpZ2hMaW5lQ29sb3I6Vyxsb3dMaW5lQ29sb3I6RCxjbG9zZUxpbmVDb2xvcjpYLGhpZ2hDbG9zZUZpbGxDb2xvcjpWLGNsb3NlTG93RmlsbENvbG9yOkx9LGhvbGxvd0NhbmRsZVN0eWxlOnt1cENvbG9yOm0sZG93bkNvbG9yOlIsYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6bSxib3JkZXJEb3duQ29sb3I6Uix3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOm0sd2lja0Rvd25Db2xvcjpSfSxiYXJTdHlsZTp7ZG93bkNvbG9yOlIsdXBDb2xvcjptfSxwbmZTdHlsZTp7ZG93bkNvbG9yOlIsdXBDb2xvcjptLHVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixkb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIn0sYmFzZWxpbmVTdHlsZTp7YmFzZWxpbmVDb2xvcjpzLHRvcEZpbGxDb2xvcjE6Zix0b3BGaWxsQ29sb3IyOlQsYm90dG9tRmlsbENvbG9yMTpPLGJvdHRvbUZpbGxDb2xvcjI6ayx0b3BMaW5lQ29sb3I6bSxib3R0b21MaW5lQ29sb3I6Un0sYXJlYVN0eWxlOnt0cmFuc3BhcmVuY3k6MTAwLGNvbG9yMTpxLGNvbG9yMjpYLGxpbmVjb2xvcjpYfSxoaWxvU3R5bGU6e2NvbG9yOlgsYm9yZGVyQ29sb3I6WCxsYWJlbENvbG9yOlh9LGNvbHVtblN0eWxlOnt1cENvbG9yOlMsZG93bkNvbG9yOkJ9LHJlbmtvU3R5bGU6e3VwQ29sb3I6bSxkb3duQ29sb3I6Uixib3JkZXJVcENvbG9yOm0sYm9yZGVyRG93bkNvbG9yOlIsdXBDb2xvclByb2plY3Rpb246IiNhOWRjYzMiLGRvd25Db2xvclByb2plY3Rpb246IiNmNWE2YWUiLGJvcmRlclVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixib3JkZXJEb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIix3aWNrVXBDb2xvcjptLHdpY2tEb3duQ29sb3I6Un0sbGluZVN0eWxlOntjb2xvclR5cGU6dC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6WCxncmFkaWVudFN0YXJ0Q29sb3I6QyxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sbGluZVdpdGhNYXJrZXJzU3R5bGU6e2NvbG9yVHlwZTp0LkNvbG9yVHlwZS5HcmFkaWVudCxjb2xvcjpYLGdyYWRpZW50U3RhcnRDb2xvcjpDLGdyYWRpZW50RW5kQ29sb3I6IiMwMEJDRTUifSxzdGVwbGluZVN0eWxlOntjb2xvclR5cGU6dC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6WCxncmFkaWVudFN0YXJ0Q29sb3I6QyxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sa2FnaVN0eWxlOntkb3duQ29sb3I6Uix1cENvbG9yOm0sdXBDb2xvclByb2plY3Rpb246IiNhOWRjYzMiLGRvd25Db2xvclByb2plY3Rpb246IiNmNWE2YWUifSxwYlN0eWxlOnt1cENvbG9yOm0sZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSLHVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixkb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIixib3JkZXJVcENvbG9yUHJvamVjdGlvbjoiI2E5ZGNjMyIsYm9yZGVyRG93bkNvbG9yUHJvamVjdGlvbjoiI2Y1YTZhZSJ9LHJhbmdlU3R5bGU6e3VwQ29sb3I6bSxkb3duQ29sb3I6Uix1cENvbG9yUHJvamVjdGlvbjoiI2E5ZGNjMyIsZG93bkNvbG9yUHJvamVjdGlvbjoiI2Y1YTZhZSIsY2FuZGxlc1VwQ29sb3I6bSxjYW5kbGVzRG93bkNvbG9yOlIsY2FuZGxlc0JvcmRlclVwQ29sb3I6bSxjYW5kbGVzQm9yZGVyRG93bkNvbG9yOlIsY2FuZGxlc1dpY2tVcENvbG9yOm0sY2FuZGxlc1dpY2tEb3duQ29sb3I6Un0sdHBvU3R5bGU6b28sdm9sRm9vdHByaW50U3R5bGU6cm8sc3ZwU3R5bGU6ZW8saGxjQmFyc1N0eWxlOntjb2xvcjpYfX19fX0sMTEzNjU2KG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbCgpe3JldHVybi8oPzpefDspXHMqdGhlbWU9KGRhcmt8bGlnaHQpKD86O3wkKXwkLy5leGVjKGRvY3VtZW50LmNvb2tpZSlbMV19ZnVuY3Rpb24gdChvKXtjb25zdCByPWZ1bmN0aW9uKCl7Y29uc3Qgbz1sb2NhdGlvbi5ob3N0bmFtZS5zcGxpdCgiLiIpLmZpbHRlcihCb29sZWFuKTtyZXR1cm4gby5ldmVyeShpc0Zpbml0ZSk/bG9jYXRpb24uaG9zdDpvLnNsaWNlKC0yKS5qb2luKCIuIil9KCksZT12b2lkIDA9PT1vPy0xOjNlODtkb2N1bWVudC5jb29raWU9YHRoZW1lPSR7b307cGF0aD0vO2RvbWFpbj0ke3J9O21heC1hZ2U9JHtlfWB9ZS5kKHIse2dldFRoZW1lRnJvbUNvb2tpZTooKT0+bCxzZXRUaGVtZVRvQ29va2llOigpPT50fSl9LDQ4NTY1MShvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtnZXRUaGVtZUZyb21Vc2VyU2V0dGluZ3M6KCk9PmMsc2F2ZVRoZW1lSW5Vc2VyU2V0dGluZ3M6KCk9PmF9KTt2YXIgbD1lKDkzMDU2NiksdD1lKDExMzY1Nik7ZnVuY3Rpb24gYygpe3JldHVybigwLHQuZ2V0VGhlbWVGcm9tQ29va2llKSgpfHwoMCxsLmdldFZhbHVlKSgiY3VycmVudF90aGVtZS5uYW1lIil8fG51bGx9ZnVuY3Rpb24gYShvKXsoMCx0LnNldFRoZW1lVG9Db29raWUpKG8pLCgwLGwuc2V0VmFsdWUpKCJjdXJyZW50X3RoZW1lLm5hbWUiLG8se2ZvcmNlRmx1c2g6ITB9KX19LDY2NTE4NyhvLHIsZSl7InVzZSBzdHJpY3QiO2UucihyKSxlLmQocix7REVGQVVMVF9USEVNRTooKT0+RS5ERUZBVUxUX1RIRU1FLGdldEN1cnJlbnRUaGVtZTooKT0+XyxnZXRTdGRUaGVtZTooKT0+SSwKZ2V0U3RkVGhlbWVOYW1lczooKT0+TixnZXRTdGRUaGVtZWRWYWx1ZTooKT0+TyxnZXRUaGVtZTooKT0+dyxnZXRUaGVtZU5hbWVzOigpPT5SLGdldFRoZW1lZENvbG9yOigpPT5ULGlzU3RkVGhlbWVOYW1lOigpPT5BLmlzU3RkVGhlbWVOYW1lLGlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlOigpPT5rLGlzVGhlbWVFeGlzdDooKT0+RCxyZW1vdmVUaGVtZTooKT0+UCxyZXN0b3JlVGhlbWU6KCk9PmYsc2F2ZVRoZW1lOigpPT5CLHNhdmVkVGhlbWVOYW1lOigpPT5TLHN5bmNUaGVtZTooKT0+dix0aGVtZUxpc3RDaGFuZ2VkOigpPT5GLHRoZW1lczooKT0+bS50aGVtZXMsdHJhbnNsYXRlU3RkVGhlbWVOYW1lOigpPT5MfSk7dmFyIGw9e307aWYoZS5yKGwpLGUuZChsLHtpc1RoZW1lRXhpc3Q6KCk9PkMsbG9hZFRoZW1lOigpPT5zLGxvYWRUaGVtZXM6KCk9PmcscmVtb3ZlVGhlbWU6KCk9PnAsc2F2ZVRoZW1lOigpPT51fSksL14oNzk3OTV8OTQzODkpJC8udGVzdChlLmopKXZhciB0PWUoMTM0NjcpO3ZhciBjPWUoOTQ4MzgwKSxhPWUoNDg1NjUxKSxuPWUoMzg0MDE3KTtjb25zdCBpPSgwLGUoMjIxMDYxKS5nZXRMb2dnZXIpKCJUaGVtZXMuUHJvdmlkZXIiKTtsZXQgZD1udWxsO2Z1bmN0aW9uIHMobyl7cmV0dXJuKDAsbi5mZXRjaCkoIi90aGVtZS8/dGhlbWVOYW1lPSIrZW5jb2RlVVJJQ29tcG9uZW50KG8pLHtjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJHRVQifSkudGhlbigobz0+by5qc29uKCkpKS50aGVuKChvPT57Y29uc3Qgcj17fTtyZXR1cm4gby5jb250ZW50JiYoci5jb250ZW50PUpTT04ucGFyc2Uoby5jb250ZW50KSkscn0pKX1mdW5jdGlvbiBnKCl7cmV0dXJuIGR8fCgwLG4uZmV0Y2gpKCIvdGhlbWVzLyIse2NyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IkdFVCJ9KS50aGVuKChvPT4oZD1vLmpzb24oKSxkKSkpfWZ1bmN0aW9uIHUobyxyKXtjb25zdCBlPW5ldyBGb3JtRGF0YTtyZXR1cm4gZS5hcHBlbmQoImNvbnRlbnQiLEpTT04uc3RyaW5naWZ5KHIpKSxlLmFwcGVuZCgibmFtZSIsbyksZD1udWxsLCgwLG4uZmV0Y2gpKCIvc2F2ZS10aGVtZS8iLHtjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJQT1NUIixib2R5OmV9KS50aGVuKChvPT5vLmpzb24oKSksKG89PmkubG9nRXJyb3IobykpKX1mdW5jdGlvbiBwKG8pe2NvbnN0IHI9bmV3IEZvcm1EYXRhO3JldHVybiByLmFwcGVuZCgibmFtZSIsbyksZD1udWxsLCgwLG4uZmV0Y2gpKCIvcmVtb3ZlLXRoZW1lLyIse2NyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IlBPU1QiLGJvZHk6cn0pLnRoZW4oKG89Pm8uanNvbigpKSwobz0+aS5sb2dFcnJvcihvKSkpfWZ1bmN0aW9uIEMobyl7cmV0dXJuIHMobykudGhlbigobz0+Qm9vbGVhbihvLmNvbnRlbnQpKSl9Y29uc3QgeT0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KGUuaik/bDpudWxsO3ZhciBiPWUoNzI4NTQpLGg9ZSgyMDA2NjYpLEU9ZSg0MzI3ODMpLG09ZSgyNDQ2NjQpLEE9ZSg0NTM5NjgpO2Z1bmN0aW9uIF8oKXtyZXR1cm4gbS50aGVtZXNbaC53YXRjaGVkVGhlbWUudmFsdWUoKV18fG0udGhlbWVzW0UuREVGQVVMVF9USEVNRV19ZnVuY3Rpb24gVChvKXtyZXR1cm4gXygpLmdldFRoZW1lZENvbG9yKG8pfWZ1bmN0aW9uIGYoKXsoMCxoLnNldFRoZW1lKSgoMCxhLmdldFRoZW1lRnJvbVVzZXJTZXR0aW5ncykoKXx8RS5ERUZBVUxUX1RIRU1FKX1mdW5jdGlvbiBTKCl7cmV0dXJuKDAsYS5nZXRUaGVtZUZyb21Vc2VyU2V0dGluZ3MpKCl9ZnVuY3Rpb24gdigpeygwLGEuc2F2ZVRoZW1lSW5Vc2VyU2V0dGluZ3MpKF8oKS5uYW1lKX1mdW5jdGlvbiB3KG8pe3JldHVybiB5LmxvYWRUaGVtZShvKX1mdW5jdGlvbiBSKCl7cmV0dXJuIHkubG9hZFRoZW1lcygpfWZ1bmN0aW9uIE4oKXtyZXR1cm4gYi5nZXRTdGRUaGVtZU5hbWVzKCl9ZnVuY3Rpb24gSShvKXtyZXR1cm4gYi5nZXRTdGRDaGFydFRoZW1lKG8pfHx7Y29udGVudDp2b2lkIDB9fWZ1bmN0aW9uIE8obyxyKXtjb25zdCBlPXJ8fF8oKS5uYW1lLGw9Yi5nZXRTdGRDaGFydFRoZW1lKGUpLHQ9MCE9PW8ubGVuZ3RoJiZvLnNwbGl0KCIuIik7cmV0dXJuIGwmJmwuY29udGVudCYmdD90LnJlZHVjZSgoKG8scik9Pm9bcl0pLGwuY29udGVudCk6bnVsbH1mdW5jdGlvbiBrKG8scixlKXtjb25zdCBsPU8obyxlKTtyZXR1cm4gbnVsbCE9PWwmJigwLHQuYXJlRXF1YWxSZ2JhKSgoMCx0LnBhcnNlUmdiYSkobCksKDAsdC5wYXJzZVJnYmEpKFN0cmluZyhyKSkpfWFzeW5jIGZ1bmN0aW9uIEIobyxyKXt0cnl7cmV0dXJuIGF3YWl0IHkuc2F2ZVRoZW1lKG8scil9ZmluYWxseXtGLmZpcmUoKX19YXN5bmMgZnVuY3Rpb24gUChvKXt0cnl7cmV0dXJuIGF3YWl0IHkucmVtb3ZlVGhlbWUobyl9ZmluYWxseXtGLmZpcmUoKX19ZnVuY3Rpb24gRChvKXtyZXR1cm4geS5pc1RoZW1lRXhpc3Qobyl9ZnVuY3Rpb24gTChvKXtyZXR1cm4gYi50cmFuc2xhdGVUaGVtZU5hbWUobyl9Y29uc3QgRj1uZXcgYy5EZWxlZ2F0ZX0sMjI3ODI1KG8scixlKXsidXNlIHN0cmljdCI7dmFyIGw7ZS5kKHIse0NvbG9yVHlwZTooKT0+bH0pLGZ1bmN0aW9uKG8pe28uU29saWQ9InNvbGlkIixvLkdyYWRpZW50PSJncmFkaWVudCJ9KGx8fChsPXt9KSl9LDg3MzU3MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHthbHBoYVRvVHJhbnNwYXJlbmN5OigpPT5hLGFwcGx5QWxwaGE6KCk9PmMsYXBwbHlUcmFuc3BhcmVuY3k6KCk9PmksY29sb3JGcm9tQmFja2dyb3VuZDooKT0+Zyxjb2xvclRvSW50ZWdlcjooKT0+QyxnZW5lcmF0ZUNvbG9yOigpPT50LGdyYWRpZW50Q29sb3JBdFBlcmNlbnQ6KCk9PnUsaXNIZXhDb2xvcjooKT0+cyxyZXNldFRyYW5zcGFyZW5jeTooKT0+ZCxyZ2JhRnJvbUludGVnZXI6KCk9PnAsdHJhbnNwYXJlbmN5VG9BbHBoYTooKT0+bn0pO3ZhciBsPWUoMTM0NjcpO2Z1bmN0aW9uIHQobyxyLGUpe2lmKHI9cnx8MCwhcyhvKSlyZXR1cm4gZT8oMCxsLnJnYmFUb1N0cmluZykoKDAsbC5yZ2JhKSgoMCxsLnBhcnNlUmdiKShvKSwoMCxsLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KShuKHIpKSkpOm87Y29uc3RbdCxjLGFdPSgwLApsLnBhcnNlUmdiKShvKSxpPSgwLGwubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKG4ocikpO3JldHVybigwLGwucmdiYVRvU3RyaW5nKShbdCxjLGEsaV0pfWZ1bmN0aW9uIGMobyxyLGUpe2NvbnN0IHQ9KDAsbC50cnlQYXJzZVJnYmEpKG8pO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2xvcjogJHtvfWApO2NvbnN0W2MsYSxuLGldPXQsZD0oMCxsLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KShyKihlP2k6MSkpO3JldHVybigwLGwucmdiYVRvU3RyaW5nKSgoMCxsLnJnYmEpKFtjLGEsbl0sZCkpfWZ1bmN0aW9uIGEobyl7cmV0dXJuIDEwMCooMS1vKX1mdW5jdGlvbiBuKG8pe2lmKG88MHx8bz4xMDApdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHRyYW5zcGFyZW5jeSIpO3JldHVybiAxLW8vMTAwfWZ1bmN0aW9uIGkobyxyKXtpZigidHJhbnNwYXJlbnQiPT09bylyZXR1cm4gbztjb25zdCBlPSgwLGwucGFyc2VSZ2JhKShvKSx0PWVbM107cmV0dXJuKDAsbC5yZ2JhVG9TdHJpbmcpKCgwLGwucmdiYSkoZVswXSxlWzFdLGVbMl0sbihyKSp0KSl9ZnVuY3Rpb24gZChvKXtyZXR1cm4idHJhbnNwYXJlbnQiPT09bz9vOnMobyk/by5zbGljZSgwLDcpOigwLGwucmdiYVRvU3RyaW5nKSgoMCxsLnJnYmEpKCgwLGwucGFyc2VSZ2IpKG8pLCgwLGwubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKDEpKSl9ZnVuY3Rpb24gcyhvKXtyZXR1cm4gMD09PW8uaW5kZXhPZigiIyIpfWZ1bmN0aW9uIGcobyl7cmV0dXJuImJsYWNrIj09PSgwLGwucmdiVG9CbGFja1doaXRlU3RyaW5nKSgoMCxsLnBhcnNlUmdiKShvKSwxNTApPyIjZmZmZmZmIjoiIzAwMDAwMCJ9ZnVuY3Rpb24gdShvLHIsZSl7Y29uc3RbdCxjLGEsbl09KDAsbC5wYXJzZVJnYmEpKG8pLFtpLGQscyxnXT0oMCxsLnBhcnNlUmdiYSkociksdT0oMCxsLnJnYmEpKE1hdGgucm91bmQodCtlKihpLXQpKSxNYXRoLnJvdW5kKGMrZSooZC1jKSksTWF0aC5yb3VuZChhK2UqKHMtYSkpLG4rZSooZy1uKSk7cmV0dXJuKDAsbC5yZ2JhVG9TdHJpbmcpKHUpfWZ1bmN0aW9uIHAobyl7Y29uc3Qgcj0obz1NYXRoLnJvdW5kKG8pKSUyNTY7by09cjtjb25zdCBlPShvLz0yNTYpJTI1NjtvLT1lO2NvbnN0IGw9KG8vPTI1NiklMjU2O28tPWw7cmV0dXJuYHJnYmEoJHtyfSwke2V9LCR7bH0sJHsoby89MjU2KS8yNTV9KWB9ZnVuY3Rpb24gQyhvKXtjb25zdCByPSgwLGwudHJ5UGFyc2VSZ2JhKShvKTtyZXR1cm4gbnVsbD09PXI/MDpmdW5jdGlvbihvKXtjb25zdCByPU1hdGgucm91bmQoMjU1Km9bM10pO3JldHVybiBvWzBdKzI1NipvWzFdKzY1NTM2Km9bMl0rMTY3NzcyMTYqcn0ocil9fSw5OTk2NDAobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7cGF5d2FsbE1vYmlsZUludGVyY2VwdG9yOigpPT5sfSk7Y29uc3QgbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9oaWRkZW5GZWF0dXJlcz1uZXcgU2V0LHRoaXMuX2xpc3RlbmVycz1bXSx0aGlzLmhpZGU9bz0+e3RoaXMuX2hpZGRlbkZlYXR1cmVzLmFkZChvKX0sdGhpcy5pc0hpZGRlbkZlYXR1cmU9bz0+dGhpcy5faGlkZGVuRmVhdHVyZXMuaGFzKG8pLHRoaXMuc3Vic2NyaWJlPW89Pnt0aGlzLl9saXN0ZW5lcnMucHVzaChvKX0sdGhpcy5pbnZva2U9bz0+e3RoaXMuX2xpc3RlbmVycy5mb3JFYWNoKChyPT5yKG8pKSl9fX19LDUwNzQyNihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtwYWlkQWNjb3VudENoZWNrOigpPT5hfSk7dmFyIGw9ZSg5MzIzNjUpLHQ9ZSgzMTg5NzQpO2NvbnN0IGM9KDAsZSgyMjEwNjEpLmdldExvZ2dlcikoIlBhaWRBY2NvdW50Q2hlY2siKTthc3luYyBmdW5jdGlvbiBhKG8pe2NvbnN0e29ubHlDaGVjazpyLHN1Y2Nlc3NCdXR0b25UZXh0OmEsaXNOZWVkQ2FuY2VsQnV0dG9uOm59PW8saT13aW5kb3cudXNlcixkPWwuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgicHJldmlvdXNfdXNlcm5hbWUiKTtpZihpJiZ3aW5kb3cuaXNfYXV0aGVudGljYXRlZCYmIWkuaXNfcHJvJiZkJiYhKDAsdC5pc1N5bXBob255RW1iZWQpKCkpe2NvbnN0e2dldFByb2ZpbGU6b309YXdhaXQgZS5lKDM5NjEpLnRoZW4oZS5iaW5kKGUsNTY5MDE1KSk7dHJ5e2NvbnN0IGw9YXdhaXQgbyhkKTtpZihCb29sZWFuKGwucHJvX3BsYW4pKXtpZihyKXJldHVybiBkO3tjb25zdHtzaG93V3JvbmdBY2NvdW50RGlhbG9nOm99PWF3YWl0IFByb21pc2UuYWxsKFtlLmUoNjM1NTMpLGUuZSgxNjc4KSxlLmUoNjk4ODEpXSkudGhlbihlLmJpbmQoZSw2ODY5MDEpKTtyZXR1cm4gbyh7dXNlck5hbWU6ZCxpc05lZWRDYW5jZWxCdXR0b246bixzdWNjZXNzQnV0dG9uVGV4dDphfSl9fX1jYXRjaChvKXtjLmxvZ0Vycm9yKG8ubWVzc2FnZSl9fXJldHVybiExfX0sNDgyNTA0KG8scixlKXtjb25zdCBsPWUoMTk5ODI3KTtvLmV4cG9ydHM9bCxsKGRvY3VtZW50KS5hamF4U2VuZCgoKG8scixlKT0+e2UuY3Jvc3NEb21haW4mJiFlLmZvcmNlTGFuZ3VhZ2VIZWFkZXJ8fCh3aW5kb3cubG9jYWxlP3Iuc2V0UmVxdWVzdEhlYWRlcigiWC1MYW5ndWFnZSIsd2luZG93LmxvY2FsZSk6Y29uc29sZS53YXJuKCJ3aW5kb3cubG9jYWxlIGlzIG5vdCBkZWZpbmVkIikpfSkpfSw1MjQwNjkobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7Z2V0UHJvUGxhbkRldGFpbHNGb3JVc2VyOigpPT5uLGdldFByb1BsYW5XZWlnaHQ6KCk9PmF9KTtlKDQ3OTM0KTt2YXIgbD1lKDIxMjIyOSksdD1lKDM4NDAxNyksYz1lKDIyMjQyMyk7ZnVuY3Rpb24gYShvKXtyZXR1cm4gd2luZG93LnBybz8iZnJlZSI9PT1vPy0xOndpbmRvdy5wcm8uZ2V0UHJvZHVjdCgoMCxsLmdldFByb2R1Y3RGb3JUcmlhbCkobykpLnVwZ3JhZGVfd2VpZ2h0OjB9YXN5bmMgZnVuY3Rpb24gbigpe2NvbnN0IG89YXdhaXQoMCx0LmZldGNoKSgiL3Byby1wbGFucy9wcm9maWxlLyIpLHI9YXdhaXQgby5qc29uKCk7aWYoby5vaylyZXR1cm4gcjtpZig0MDM9PT1vLnN0YXR1cyl7Y29uc3QgZT1yO3Rocm93IG5ldyBjLkFwaUVycm9yKGUuZGV0YWlsLG8uc3RhdHVzLGUuY29kZSl9CnRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGhhbmRsZSB1bmV4cGVjdGVkIHJlc3BvbnNlOiAke1N0cmluZyhvLnRleHQoKSl9YCl9fSwyMjE3MDAobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZGlzYWJsZTooKT0+ZCxlbmFibGU6KCk9PnMscHVzaEJhY2tMaXN0ZW5lcjooKT0+aX0pO3ZhciBsPWUoMTUwMTUwKTtjb25zdCB0PVtdO2xldCBjPW51bGw7ZnVuY3Rpb24gYShvKXtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrKylpZih0W3JdLm5hbWU9PT1vKXJldHVybiByO3JldHVybi0xfWZ1bmN0aW9uIG4obyl7aWYoIWMpZm9yKGxldCByPXQubGVuZ3RoLTE7cj49MCYmITAhPT10W3JdLmZ1bmMobyk7ci0tKTt9ZnVuY3Rpb24gaShvLHIpe2NvbnN0IGU9e25hbWU6byxmdW5jOnJ9LGw9YShlLm5hbWUpO2w+LTEmJnQuc3BsaWNlKGwsMSksdC51bnNoaWZ0KGUpfWZ1bmN0aW9uIGQoKXtyZXR1cm4gYz9udWxsOihjPSgwLGwucmFuZG9tSGFzaE4pKDQpLGMpfWZ1bmN0aW9uIHMobyl7aWYobyE9PWMpdGhyb3cgRXJyb3IoIkxvY2sgaWQgaXMgb3V0ZGF0ZWQiKTtjPW51bGx9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXByZXNzIixuLCExKX0sMzE3NjYzKG8peyJ1c2Ugc3RyaWN0Igo7by5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29sb3Itd2hpdGUiOiIjZmZmZmZmIiwiY29sb3ItYmxhY2siOiIjMDAwMDAwIiwiY29sb3ItdHJhbnNwYXJlbnQiOiIjMDAwMDAwMDAiLCJjb2xvci1jb2xkLWdyYXktNTAiOiIjRjlGOUY5IiwiY29sb3ItY29sZC1ncmF5LTEwMCI6IiNGMkYyRjIiLCJjb2xvci1jb2xkLWdyYXktMTUwIjoiI0VCRUJFQiIsImNvbG9yLWNvbGQtZ3JheS0yMDAiOiIjREJEQkRCIiwiY29sb3ItY29sZC1ncmF5LTI1MCI6IiNDOUM5QzkiLCJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0I4QjhCOCIsImNvbG9yLWNvbGQtZ3JheS0zNTAiOiIjQThBOEE4IiwiY29sb3ItY29sZC1ncmF5LTQwMCI6IiM5QzlDOUMiLCJjb2xvci1jb2xkLWdyYXktNDUwIjoiIzhDOEM4QyIsImNvbG9yLWNvbGQtZ3JheS01MDAiOiIjODA4MDgwIiwiY29sb3ItY29sZC1ncmF5LTU1MCI6IiM3MDcwNzAiLCJjb2xvci1jb2xkLWdyYXktNjAwIjoiIzYzNjM2MyIsImNvbG9yLWNvbGQtZ3JheS02NTAiOiIjNTc1NzU3IiwiY29sb3ItY29sZC1ncmF5LTcwMCI6IiM0QTRBNEEiLCJjb2xvci1jb2xkLWdyYXktNzUwIjoiIzNEM0QzRCIsImNvbG9yLWNvbGQtZ3JheS04MDAiOiIjMkUyRTJFIiwiY29sb3ItY29sZC1ncmF5LTg1MCI6IiMxRjFGMUYiLCJjb2xvci1jb2xkLWdyYXktOTAwIjoiIzBGMEYwRiIsImNvbG9yLWNvbGQtZ3JheS05NTAiOiIjMDAwMDAwIiwiY29sb3ItcmlwZS1yZWQtNTAiOiIjRkZFQkVDIiwiY29sb3ItcmlwZS1yZWQtMTAwIjoiI0ZDQ0JDRCIsImNvbG9yLXJpcGUtcmVkLTIwMCI6IiNGQUExQTQiLCJjb2xvci1yaXBlLXJlZC0zMDAiOiIjRjc3QzgwIiwiY29sb3ItcmlwZS1yZWQtNDAwIjoiI0Y3NTI1RiIsImNvbG9yLXJpcGUtcmVkLTUwMCI6IiNGMjM2NDUiLCJjb2xvci1yaXBlLXJlZC02MDAiOiIjQ0MyRjNDIiwiY29sb3ItcmlwZS1yZWQtNzAwIjoiI0IyMjgzMyIsImNvbG9yLXJpcGUtcmVkLTgwMCI6IiM5OTFGMjkiLCJjb2xvci1yaXBlLXJlZC05MDAiOiIjODAxOTIyIiwiY29sb3ItcmlwZS1yZWQtYTEwMCI6IiNGRjgwODAiLCJjb2xvci1yaXBlLXJlZC1hMjAwIjoiI0ZGNTI1MiIsImNvbG9yLXJpcGUtcmVkLWE0MDAiOiIjRkYzMzMzIiwiY29sb3ItcmlwZS1yZWQtYTYwMCI6IiNDQzI5MjkiLCJjb2xvci1yaXBlLXJlZC1hNzAwIjoiIzgwMjAyOCIsImNvbG9yLXJpcGUtcmVkLWE4MDAiOiIjNEQxOTFEIiwiY29sb3ItcmlwZS1yZWQtYTkwMCI6IiMzMzFGMjAiLCJjb2xvci10YW4tb3JhbmdlLTUwIjoiI0ZGRjNFMCIsImNvbG9yLXRhbi1vcmFuZ2UtMTAwIjoiI0ZGRTBCMiIsImNvbG9yLXRhbi1vcmFuZ2UtMjAwIjoiI0ZGQ0M4MCIsImNvbG9yLXRhbi1vcmFuZ2UtMzAwIjoiI2ZmYjc0ZCIsImNvbG9yLXRhbi1vcmFuZ2UtNDAwIjoiI0ZGQTcyNiIsImNvbG9yLXRhbi1vcmFuZ2UtNTAwIjoiI0ZGOTgwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNjAwIjoiI0ZCOEMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNzAwIjoiI0Y1N0MwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIjoiI0VGNkMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtOTAwIjoiI2U2NTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTEwMCI6IiNGRkQxODAiLCJjb2xvci10YW4tb3JhbmdlLWEyMDAiOiIjZmZhYjQwIiwiY29sb3ItdGFuLW9yYW5nZS1hNDAwIjoiI0ZGOTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTUwMCI6IiNFNTdFMTciLCJjb2xvci10YW4tb3JhbmdlLWE2MDAiOiIjQ0M3MDE0IiwiY29sb3ItdGFuLW9yYW5nZS1hNzAwIjoiIzhDNTQxQyIsImNvbG9yLXRhbi1vcmFuZ2UtYTgwMCI6IiM1OTNBMUIiLCJjb2xvci10YW4tb3JhbmdlLWE5MDAiOiIjMzMyNjFBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwIjoiI0U4RjVFOSIsImNvbG9yLWlndWFuYS1ncmVlbi0xMDAiOiIjQzhFNkM5IiwiY29sb3ItaWd1YW5hLWdyZWVuLTIwMCI6IiNBNUQ2QTciLCJjb2xvci1pZ3VhbmEtZ3JlZW4tMzAwIjoiIzgxYzc4NCIsImNvbG9yLWlndWFuYS1ncmVlbi00MDAiOiIjNjZCQjZBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwMCI6IiM0Y2FmNTAiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tNjAwIjoiIzQzYTA0NyIsImNvbG9yLWlndWFuYS1ncmVlbi03MDAiOiIjMzg4ZTNjIiwiY29sb3ItaWd1YW5hLWdyZWVuLTgwMCI6IiMyRTdEMzIiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tOTAwIjoiIzFCNUUyMCIsImNvbG9yLWlndWFuYS1ncmVlbi1hMTAwIjoiI0I5RjZDQSIsImNvbG9yLWlndWFuYS1ncmVlbi1hMjAwIjoiIzY5RjBBRSIsImNvbG9yLWlndWFuYS1ncmVlbi1hNDAwIjoiIzAwRTY3NiIsImNvbG9yLWlndWFuYS1ncmVlbi1hNzAwIjoiIzAwYzg1MyIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNTAiOiIjRkZGREU3IiwiY29sb3ItYmFuYW5hLXllbGxvdy0xMDAiOiIjRkZGOUM0IiwiY29sb3ItYmFuYW5hLXllbGxvdy0yMDAiOiIjRkZGNTlEIiwiY29sb3ItYmFuYW5hLXllbGxvdy0zMDAiOiIjRkZGMTc2IiwiY29sb3ItYmFuYW5hLXllbGxvdy00MDAiOiIjZmZlZTU4IiwiY29sb3ItYmFuYW5hLXllbGxvdy01MDAiOiIjZmZlYjNiIiwiY29sb3ItYmFuYW5hLXllbGxvdy02MDAiOiIjZmRkODM1IiwiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiOiIjZmJjMDJkIiwiY29sb3ItYmFuYW5hLXllbGxvdy04MDAiOiIjZjlhODI1IiwiY29sb3ItYmFuYW5hLXllbGxvdy05MDAiOiIjRjU3RjE3IiwiY29sb3ItYmFuYW5hLXllbGxvdy1hMTAwIjoiI0ZGRkY4RCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMCI6IiNGRkZGMDAiLCJjb2xvci1iYW5hbmEteWVsbG93LWE0MDAiOiIjZmZlYTAwIiwiY29sb3ItYmFuYW5hLXllbGxvdy1hNzAwIjoiI0VFREEwMSIsImNvbG9yLXR2LWJsdWUtNTAiOiIjRTNFRkZEIiwiY29sb3ItdHYtYmx1ZS0xMDAiOiIjQkJEOUZCIiwiY29sb3ItdHYtYmx1ZS0yMDAiOiIjOTBCRkY5IiwiY29sb3ItdHYtYmx1ZS0zMDAiOiIjNUI5Q0Y2IiwiY29sb3ItdHYtYmx1ZS00MDAiOiIjMzE3OUY1IiwiY29sb3ItdHYtYmx1ZS01MDAiOiIjMjk2MkZGIiwiY29sb3ItdHYtYmx1ZS02MDAiOiIjMUU1M0U1IiwiY29sb3ItdHYtYmx1ZS03MDAiOiIjMTg0OENDIiwiY29sb3ItdHYtYmx1ZS04MDAiOiIjMTQzRUIyIiwiY29sb3ItdHYtYmx1ZS05MDAiOiIjMEMzMjk5IiwiY29sb3ItdHYtYmx1ZS1hMTAwIjoiIzgyYjFmZiIsImNvbG9yLXR2LWJsdWUtYTIwMCI6IiM0NDhhZmYiLCJjb2xvci10di1ibHVlLWE0MDAiOiIjMjk3OWZmIiwiY29sb3ItdHYtYmx1ZS1hNjAwIjoiIzI5NjJGRiIsImNvbG9yLXR2LWJsdWUtYTcwMCI6IiMxNDNBODciLCJjb2xvci10di1ibHVlLWE4MDAiOiIjMTQyRTYxIiwiY29sb3ItdHYtYmx1ZS1hOTAwIjoiIzEzMjA0MiIsImNvbG9yLWRlZXAtYmx1ZS01MCI6IiNFREU3RjYiLCJjb2xvci1kZWVwLWJsdWUtMTAwIjoiI0QxQzRFOSIsImNvbG9yLWRlZXAtYmx1ZS0yMDAiOiIjQjM5RERCIiwiY29sb3ItZGVlcC1ibHVlLTMwMCI6IiM5NTc1Y2QiLCJjb2xvci1kZWVwLWJsdWUtNDAwIjoiIzdlNTdjMiIsImNvbG9yLWRlZXAtYmx1ZS01MDAiOiIjNjczYWI3IiwiY29sb3ItZGVlcC1ibHVlLTYwMCI6IiM1RTM1QjEiLCJjb2xvci1kZWVwLWJsdWUtNzAwIjoiIzUxMmRhOCIsImNvbG9yLWRlZXAtYmx1ZS04MDAiOiIjNDUyN0EwIiwiY29sb3ItZGVlcC1ibHVlLTkwMCI6IiMzMTFCOTIiLCJjb2xvci1kZWVwLWJsdWUtYTEwMCI6IiNiMzg4ZmYiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCI6IiM3QzRERkYiLCJjb2xvci1kZWVwLWJsdWUtYTQwMCI6IiM2NTFGRkYiLCJjb2xvci1kZWVwLWJsdWUtYTcwMCI6IiM2MjAwRUEiLCJjb2xvci1taW50eS1ncmVlbi01MCI6IiNEQUYyRUUiLCJjb2xvci1taW50eS1ncmVlbi0xMDAiOiIjQUNFNURDIiwiY29sb3ItbWludHktZ3JlZW4tMjAwIjoiIzcwQ0NCRCIsImNvbG9yLW1pbnR5LWdyZWVuLTMwMCI6IiM0MkJEQTgiLCJjb2xvci1taW50eS1ncmVlbi00MDAiOiIjMjJBQjk0IiwiY29sb3ItbWludHktZ3JlZW4tNTAwIjoiIzA4OTk4MSIsImNvbG9yLW1pbnR5LWdyZWVuLTYwMCI6IiMwNjgwNkIiLCJjb2xvci1taW50eS1ncmVlbi03MDAiOiIjMDU2NjU2IiwiY29sb3ItbWludHktZ3JlZW4tODAwIjoiIzAwNEQ0MCIsImNvbG9yLW1pbnR5LWdyZWVuLTkwMCI6IiMwMDMzMkEiLCJjb2xvci1taW50eS1ncmVlbi1hMTAwIjoiI0E3RkZGMCIsImNvbG9yLW1pbnR5LWdyZWVuLWEyMDAiOiIjNDVFNUNCIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCI6IiMyQkQ5QkMiLCJjb2xvci1taW50eS1ncmVlbi1hNjAwIjoiIzI0QjI5QiIsImNvbG9yLW1pbnR5LWdyZWVuLWE3MDAiOiIjMUI3NjY3IiwiY29sb3ItbWludHktZ3JlZW4tYTgwMCI6IiMxMDQ0M0IiLCJjb2xvci1taW50eS1ncmVlbi1hOTAwIjoiIzA4MjYyMSIsImNvbG9yLWdyYXBlcy1wdXJwbGUtNTAiOiIjRjNFNUY1IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDAiOiIjRTFCRUU3IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0yMDAiOiIjQ0U5M0Q4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDAiOiIjYmE2OGM4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS00MDAiOiIjYWI0N2JjIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS01MDAiOiIjOWMyN2IwIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS02MDAiOiIjOGUyNGFhIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS03MDAiOiIjN2IxZmEyIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS04MDAiOiIjNkExQjlBIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS05MDAiOiIjNEExNDhDIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hMTAwIjoiI0VBODBGQyIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCI6IiNFMDQwRkIiLCJjb2xvci1ncmFwZXMtcHVycGxlLWE0MDAiOiIjRDUwMEY5IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hNzAwIjoiI2FhMDBmZiIsImNvbG9yLWJlcnJ5LXBpbmstNTAiOiIjRkNFNEVDIiwiY29sb3ItYmVycnktcGluay0xMDAiOiIjRjhCQkQwIiwiY29sb3ItYmVycnktcGluay0yMDAiOiIjZjQ4ZmIxIiwiY29sb3ItYmVycnktcGluay0zMDAiOiIjZjA2MjkyIiwiY29sb3ItYmVycnktcGluay00MDAiOiIjZWM0MDdhIiwiY29sb3ItYmVycnktcGluay01MDAiOiIjZTkxZTYzIiwiY29sb3ItYmVycnktcGluay02MDAiOiIjRDgxQjYwIiwiY29sb3ItYmVycnktcGluay03MDAiOiIjQzIxODVCIiwiY29sb3ItYmVycnktcGluay04MDAiOiIjQUQxNDU3IiwiY29sb3ItYmVycnktcGluay05MDAiOiIjODgwRTRGIiwiY29sb3ItYmVycnktcGluay1hMTAwIjoiI2ZmODBhYiIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCI6IiNmZjQwODEiLCJjb2xvci1iZXJyeS1waW5rLWE0MDAiOiIjZjUwMDU3IiwiY29sb3ItYmVycnktcGluay1hNzAwIjoiI2M1MTE2MiIsImNvbG9yLXNreS1ibHVlLTUwIjoiI0UwRjdGQSIsImNvbG9yLXNreS1ibHVlLTEwMCI6IiNCMkVCRjIiLCJjb2xvci1za3ktYmx1ZS0yMDAiOiIjODBERUVBIiwiY29sb3Itc2t5LWJsdWUtMzAwIjoiIzRkZDBlMSIsImNvbG9yLXNreS1ibHVlLTQwMCI6IiMyNmM2ZGEiLCJjb2xvci1za3ktYmx1ZS01MDAiOiIjMDBiY2Q0IiwiY29sb3Itc2t5LWJsdWUtNjAwIjoiIzAwYWNjMSIsImNvbG9yLXNreS1ibHVlLTcwMCI6IiMwMDk3QTciLCJjb2xvci1za3ktYmx1ZS04MDAiOiIjMDA4MzhGIiwiY29sb3Itc2t5LWJsdWUtOTAwIjoiIzAwNjA2NCIsImNvbG9yLXNreS1ibHVlLWExMDAiOiIjODRGRkZGIiwiY29sb3Itc2t5LWJsdWUtYTIwMCI6IiMxOEZGRkYiLCJjb2xvci1za3ktYmx1ZS1hNDAwIjoiIzAwZTVmZiIsImNvbG9yLXNreS1ibHVlLWE3MDAiOiIjMDBCOEQ0IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwIjoiI0RBRjJFNiIsImNvbG9yLWZvcmVzdC1ncmVlbi0xMDAiOiIjQUNFNUM5IiwiY29sb3ItZm9yZXN0LWdyZWVuLTIwMCI6IiM3MENDOUUiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIjoiIzQyQkQ3RiIsImNvbG9yLWZvcmVzdC1ncmVlbi00MDAiOiIjMjJBQjY3IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwMCI6IiMwODk5NTAiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tNjAwIjoiIzA2ODA0MyIsImNvbG9yLWZvcmVzdC1ncmVlbi03MDAiOiIjMDU2NjM2IiwiY29sb3ItZm9yZXN0LWdyZWVuLTgwMCI6IiMwMDREMjciLCJjb2xvci1mb3Jlc3QtZ3JlZW4tOTAwIjoiIzFBMzMyNiIsImNvbG9yLWZhY2Vib29rIjoiIzE4NzdGMiIsImNvbG9yLWRlZXAtZmFjZWJvb2siOiIjMTU2NENBIiwiY29sb3ItdHdpdHRlciI6IiMxREExRjIiLCJjb2xvci1kZWVwLXR3aXR0ZXIiOiIjMTg4Q0QzIiwiY29sb3IteW91dHViZSI6IiNGRjAwMDAiLCJjb2xvci1saW5rZWRpbiI6IiMwMDdCQjUiLCJjb2xvci1zZWVraW5nLWFscGhhLWJyYW5kIjoiI2ZmNzIwMCJ9JykKfSw4Njc1MjIobyl7InVzZSBzdHJpY3QiCjtvLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2xvci1oZWFkZXItYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWJnLXByaW1hcnkiOiJjb2xvci13aGl0ZSIsImNvbG9yLWJnLXByaW1hcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItYmctc2Vjb25kYXJ5IjoiY29sb3Itd2hpdGUiLCJjb2xvci1iZy1oaWdobGlnaHQiOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1sZWdhY3ktYmctc2Nyb2xsLWJ1dHRvbnMiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItbGVnYWN5LWJnLXdpZGdldCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItdGV4dC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRleHQtc2Vjb25kYXJ5IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRleHQtdGVydGlhcnkiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3ItdGV4dC1kaXNhYmxlZCI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1hY2NlbnQtY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1ib3gtc2hhZG93IjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWRpdmlkZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGl2aWRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1kaXZpZGVyLXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1hY3RpdmUtaG92ZXItdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1hbGVydC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvcmRlci10YWJsZSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1icmFuZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci1icmFuZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItY2hhcnQtcGFnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1kYW5nZXIiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1kYW5nZXItaG92ZXIiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1kYW5nZXItYWN0aXZlIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1zdHJva2Utc3R5bGUiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItaGlnaGxpZ2h0LW5ldyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAiLCJjb2xvci1pbnB1dC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaW5wdXQtcHVibGlzaC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItbGluayI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbGluay1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItbGluay1hY3RpdmUiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItcGFuZS1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItcGFuZS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXByaW1hcnktc3ltYm9sIjoiY29sb3Itc2t5LWJsdWUtNTAwIiwiY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb24iOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3Itc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLXN1Y2Nlc3MtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1zdWNjZXNzLWFjdGl2ZSI6ImNvbG9yLW1pbnR5LWdyZWVuLTcwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbiI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wb3B1cC1iYWNrZ3JvdW5kIjoiY29sb3Itd2hpdGUiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmUiOiJjb2xvci13aGl0ZSIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMjAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci10b29sdGlwLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdW5kZXJsaW5lZC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXdpZGdldC1wYWdlcy1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItZ3Jvd2luZyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWZhbGxpbmciOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1mb3JleC1pY29uIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTQwMCIsImNvbG9yLWxpc3QtaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1saXN0LWl0ZW0tdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2siOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcHJpY2UtYXhpcy1sYWJlbC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXByaWNlLWF4aXMtZ2VhciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXIiOiJjb2xvci1ibGFjayIsImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJpZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvcmRlci1jaGF0LWZpZWxkcyI6ImNvbG9yLWNvbGQtZ3JheS0yNTAiLCJjb2xvci1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMjUwIiwiY29sb3ItYnV0dG9uLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZSI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRpc2FibGVkLWlucHV0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWVtcHR5LWNvbnRhaW5lci1tZXNzYWdlIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWljb25zIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWlucHV0LXRleHRhcmVhLXJlYWRvbmx5IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3ItaXRlbS1hY3RpdmUtYmx1ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1pdGVtLWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1ibHVlIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItaXRlbS1hY3RpdmUtdGV4dCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWxpc3QtaXRlbSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1uZXdzLWhpZ2hsaWdodCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItcGxhY2Vob2xkZXIiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3Itcm93LWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMzAwIiwiY29sb3Itc2VwYXJhdG9yLXRhYmxlLWNoYXQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGFnLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10YWctaG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGV4dC1yZWd1bGFyIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLXR2LWJ1dHRvbi1jaGVja2VkIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXNjcm9sbC1iZyI6ImNvbG9yLWNvbGQtZ3JheS00MDAiLCJjb2xvci1zY3JvbGwtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXdpZGdldC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3ciOiJjb2xvci13aGl0ZSIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmciOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRhbmdlciI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmUtbWFya2V0IjoiY29sb3ItdGFuLW9yYW5nZS02MDAiLCJjb2xvci1wb3N0LW1hcmtldCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3Itbm90YWNjdXJhdGUtbW9kZSI6ImNvbG9yLWJlcnJ5LXBpbmstNjAwIiwiY29sb3ItZGVsYXktbW9kZSI6ImNvbG9yLXRhbi1vcmFuZ2UtNzAwIiwiY29sb3ItZGVsYXktbW9kZS1iZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNDAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLTIwMCIsImNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLW1hcmtlci1mbGFnZ2VkIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItbWFya2VyLWZsYWdnZWQtaG92ZXJlZCI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFzayI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLXNlbGwiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1idXkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItcHJvIjoiY29sb3ItbWludHktZ3JlZW4tNDAwIiwiY29sb3ItcHJvLWhvdmVyIjoiY29sb3ItbWludHktZ3JlZW4tNjAwIiwiY29sb3ItcHJvLXBsdXMiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXByby1wbHVzLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1wcm8tcHJlbWl1bSI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItcHJvLXByZW1pdW0taG92ZXIiOiJjb2xvci10YW4tb3JhbmdlLTcwMCIsImNvbG9yLXRyaWFsIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRyaWFsLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLW1vZCI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLW1vZC1ob3ZlciI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQiOiJjb2xvci1taW50eS1ncmVlbi00MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1vdmVybGF5IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXNlYXJjaC1idXR0b24taG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1jb250ZW50LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1iZy1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1ib3JkZXItZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXJlcGxheS1kYXRhLW1vZGUiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1sZWdhY3ktc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTMwMCIsImNvbG9yLWNvbGxhcHNlLXRhYnMtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItYXR0ZW50aW9uIjoiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiLCJjb2xvci14LXR3aXR0ZXItY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1jYXJkLWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jYXJkLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1zZWxlY3Rpb24tYmciOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWRlZmF1bHQtZ3JheSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmciOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItZmVhdHVyZWQtYnJva2VyLWJhZGdlLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS10ZXh0IjoiY29sb3Itd2hpdGUifScpCn19XSk7"}},"time_used":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":"s3-symbol-logo.tradingview.com/crypto/XTVCSPX6.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.512Z","timestamp":1785136905512,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSPX6.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCFLUID3.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.544Z","timestamp":1785136905544,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCFLUID3.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.966Z","timestamp":1785136900966,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/62681.6883c4b17e6a89e4b87f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 9e9ad4c0ff61afa2d915c2ef3ed0efdc\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9941,"size_decoded":2933,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9941), with no line terminators","md5":"96701d95e8d00efdc09eb9279b871453","sha1":"f12c6f203f7a76e20a0c25bccfbc5f43206b0eda","sha256":"88302743f0b5328d7e90f7e88b47561bc485ab5932193d4dc7755f1bf64cce3d","sha512":"046a3817646c8aca396aad13fdab96075c8699a9d511bc761475ed9e6337ee12877ed966bdd5a60f6361578d948dec9b2e08e3aed8fd78bda1cf8782568c89fa","ssdeep":"192:wCNtGzkUD/UlZ9wmjuMhT27zNJbg9spNHXRWgCWCoTwtsyYIOi7wYdg6YN:Ep89spNHXRWVWnTwtsyYVkwYdg6YN","tlshash":"5b22fab2d16265a76213f62de3e1fe09e337e3939a131fdee223845dc4c6ad94138049","first_seen":"2026-03-24T19:47:05.242316Z","last_seen":"2026-08-10T05:01:44.207559Z","times_seen":1963,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteVR5eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8xLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi15VHl5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLV8zLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fNC15VHl5OnZhcigtLWNvbG9yLXdoaXRlKTstLV81LXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fNi15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzcteVR5eTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fOC15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzkteVR5eTojMWUyMjJkZDk7LS1fMTAteVR5eTojMWUyMjJkMDA7LS1fMTEteVR5eTojZmZmZmZmZDk7LS1fMTIteVR5eTojZmZmMDstLV8xMy15VHl5OiNmZmYwOy0tXzE0LXlUeXk6I2YwZjNmYTAwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteVR5eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fMi15VHl5OnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLV8zLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fNC15VHl5OnZhcigtLWNvbG9yLXdoaXRlKTstLV81LXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fNi15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tXzcteVR5eTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fOC15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzkteVR5eTojMWUyMjJkZDk7LS1fMTAteVR5eTojMWUyMjJkMDA7LS1fMTEteVR5eTojMDAwMDAwZDk7LS1fMTIteVR5eTojMDAwMDstLV8xMy15VHl5OiMwMDAwOy0tXzE0LXlUeXk6IzEzMTcyMjAwfS50di10YWJze2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NTNweDtsaW5lLWhlaWdodDo1M3B4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS50di10YWJzOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7Ym90dG9tOjA7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxcHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlfS50di10YWJzOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnR2LXRhYnMuaS1sb2FkZWR7cGFkZGluZzowfS50di10YWJzLS1jYXRlZ29yeS1jb250ZW50e3BhZGRpbmc6MCA2cHh9LnR2LXRhYnNfX3Njcm9sbC13cmFwe2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteDpzY3JvbGw7b3ZlcmZsb3cteTpoaWRkZW47cGFkZGluZy1ib3R0b206MTAwcHg7cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnR2LXRhYnNfX3Njcm9sbC1ib3h7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di10YWJzLmktbG9hZGVkIC50di10YWJzX19zY3JvbGwtYm94e3BhZGRpbmc6MCAxNnB4fS50di10YWJzX19hZGRpdGlvbmFsLWluZm97Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7dHJhbnNpdGlvbjppbmhlcml0fS50di10YWJzX190YWJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDo1M3B4O2xpbmUtaGVpZ2h0OjUzcHg7bWFyZ2luOjA7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaXppbmc6Ym9yZGVyLWJveDt0cmFuc2l0aW9uOmNvbG9yIC4zNXMgZWFzZX0udHYtdGFic19fdGFiOmFjdGl2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di10YWJzX190YWI6aG92ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtdGFic19fdGFiLmktYWN0aXZlLC50di10YWJzX190YWI6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRhYnNfX3RhYjpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9fS50di10YWJzX190YWIuaS1kaXNhYmxlZCwudHYtdGFic19fdGFiOmRpc2FibGVkLC50di10YWJzX190YWJbZGlzYWJsZWRde2NvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7Y3Vyc29yOmRlZmF1bHR9LnR2LXRhYnNfX3RhYi0tbm8tcGFkZGluZ3twYWRkaW5nOjB9LnR2LXRhYnNfX3RhYi0tcmlnaHQtc2hpZnRlcnttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99LnR2LXRhYnNfX3RhYi0taWNvbi10YWJ7cGFkZGluZzowfS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXJ7aGVpZ2h0OjQ2cHh9LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFie2ZvbnQtc2l6ZToxNnB4O2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHg7cGFkZGluZy1pbmxpbmUtZW5kOjE2cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTZweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFiOmhvdmVyLC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpob3ZlciAudHYtdGFic19fYWRkaXRpb25hbC1pbmZve2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFiLmktYWN0aXZle2N1cnNvcjpkZWZhdWx0fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYi5pLWFjdGl2ZSwudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX190YWIuaS1hY3RpdmUgLnR2LXRhYnNfX2FkZGl0aW9uYWwtaW5mb3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0udHYtdGFic19fc2xpZGVyLC50di10YWJzX190YWIuaS1hY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKTtib3R0b206MDtkaXNwbGF5OmJsb2NrO2hlaWdodDozcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZX0udHYtdGFicy0tY29tcGFjdCwudHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fc2Nyb2xsLWJveCwudHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fdGFie2hlaWdodDoyM3B4fS50di10YWJzLS1jb21wYWN0IC50di10YWJzX190YWJ7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MjNweH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyLmktbG9hZGVkLC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIuaS1sb2FkZWQgLnR2LXRhYnNfX3Njcm9sbC1ib3gsLnR2LXRhYnMtLWNvbXBhY3QsLnR2LXRhYnMtLWNvbXBhY3QuaS1sb2FkZWQgLnR2LXRhYnNfX3Njcm9sbC1ib3h7cGFkZGluZy1pbmxpbmUtZW5kOjA7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyLC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3Njcm9sbC1ib3gsLnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlci5pLWxvYWRlZCAudHYtdGFic19fc2Nyb2xsLWJveHtwYWRkaW5nLWlubGluZS1lbmQ6MjBweDtwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXI6YmVmb3JlLC50di10YWJzLS1jb21wYWN0OmJlZm9yZXtib3R0b206MH0udHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fdGFiOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6LTE2cHh9LnR2LXRhYnMtLWNvbXBhY3QgLnR2LXRhYnNfX3RhYjpsYXN0LWNoaWxke21hcmdpbi1pbmxpbmUtZW5kOi0xNnB4fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0Oi0xNnB4fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpsYXN0LWNoaWxke21hcmdpbi1pbmxpbmUtZW5kOi0xNnB4fS5wYWdlLXdpZGUgLnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFie3BhZGRpbmctaW5saW5lLWVuZDoxNnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjE2cHh9LnBhZ2Utd2lkZSAudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX190YWI6Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDotMTZweH0ucGFnZS13aWRlIC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpsYXN0LWNoaWxke21hcmdpbi1pbmxpbmUtZW5kOi0xNnB4fS50di10YWJzLS1jb21wYWN0IC50di10YWJzX190YWIuaS1oaWRkZW46Zmlyc3QtY2hpbGQrLnR2LXRhYnNfX3RhYnttYXJnaW4taW5saW5lLXN0YXJ0Oi0xNnB4fS50di10YWJzLS1jb21wYWN0IC50di10YWJzX19zbGlkZXIsLnR2LXRhYnMtLWNvbXBhY3QgLnR2LXRhYnNfX3RhYi5pLWFjdGl2ZTphZnRlcntib3R0b206MDtoZWlnaHQ6MXB4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtdGFicy0td2l0aC13cmFwLXBhZGRpbmctbW9iaWxlIC50di10YWJzX190YWI6Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnR2LXRhYnMtLXdpdGgtd3JhcC1wYWRkaW5nLW1vYmlsZSAudHYtdGFic19fdGFiOm50aC1sYXN0LWNoaWxkKDIpe21hcmdpbi1pbmxpbmUtZW5kOjA7cGFkZGluZy1pbmxpbmUtZW5kOjB9fS50di10YWJzLS1uby1tYXJnaW4gLnR2LXRhYnNfX3RhYjpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjB9LnR2LXRhYnMtLW5vLW1hcmdpbiAudHYtdGFic19fdGFiOmxhc3QtY2hpbGR7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fd3JhcHthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC15VHl5KTtib3JkZXItcmFkaXVzOjI1cHg7ZGlzcGxheTpmbGV4O2hlaWdodDoyM3B4O3BhZGRpbmc6MCAxNHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fd3JhcDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXlUeXkpfX0udHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fdGFie2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjEzcHg7cGFkZGluZzowIDZweH0udHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fdGFiLmktYWN0aXZlIC50di10YWJzX193cmFwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteVR5eSk7Y29sb3I6dmFyKC0tXzQteVR5eSl9LnR2LXRhYnMtLW5vLWJvcmRlcjpiZWZvcmV7ZGlzcGxheTpub25lfS50di10YWJzLS1uby1wYWRkaW5nLC50di10YWJzLS1uby1wYWRkaW5nLmktbG9hZGVkIC50di10YWJzX19zY3JvbGwtYm94e3BhZGRpbmc6MH0udHYtdGFicy0tbm8tcGFkZGluZyAudHYtdGFic19fdGFie3BhZGRpbmc6MCAxNnB4fS50di10YWJzLS1uby1wYWRkaW5nIC50di10YWJzX190YWIudHYtdGFic19fdGFiLS1uby1wYWRkaW5ne3BhZGRpbmc6MH0udHYtdGFicy5pLWxvYWRlZCAudHYtdGFic19fdGFiLmktYWN0aXZlOmFmdGVye2NvbnRlbnQ6bm9uZTtkaXNwbGF5Om5vbmV9LnR2LXRhYnNfX2xlZnQtYXJyb3csLnR2LXRhYnNfX3JpZ2h0LWFycm93e2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym90dG9tOjA7Ym94LXNpemluZzppbml0aWFsO2N1cnNvcjpwb2ludGVyO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCA1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MzZweH0udHYtdGFic19fbGVmdC1hcnJvdzphZnRlciwudHYtdGFic19fcmlnaHQtYXJyb3c6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXRhYnNfX2xlZnQtYXJyb3cgc3ZnLC50di10YWJzX19yaWdodC1hcnJvdyBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEycHg7dHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zaXRpb246ZmlsbCAuMzVzIGVhc2U7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjEycHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di10YWJzX19sZWZ0LWFycm93OmhvdmVyIHN2ZywudHYtdGFic19fcmlnaHQtYXJyb3c6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tXzUteVR5eSk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtdGFic19fbGVmdC1hcnJvdzphY3RpdmUgc3ZnLC50di10YWJzX19yaWdodC1hcnJvdzphY3RpdmUgc3Zne2ZpbGw6dmFyKC0tXzYteVR5eSk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di10YWJzX19yaWdodC1hcnJvd3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fbGVmdC1hcnJvdywudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19yaWdodC1hcnJvd3tib3R0b206M3B4O21hcmdpbi10b3A6LTFweH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19sZWZ0LWFycm93IHN2ZywudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19yaWdodC1hcnJvdyBzdmd7dmVydGljYWwtYWxpZ246dG9wfS50di10YWJzX19sZWZ0LWFycm93e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLWNvbG9yLWJvZHktYmcpLHZhcigtLV8xMS15VHl5KSx2YXIoLS1fMTIteVR5eSkpO2xlZnQ6MDt0ZXh0LWFsaWduOmxlZnQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di10YWJzX19sZWZ0LWFycm93Lmktc2xpZGVke3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0udHYtdGFic19fcmlnaHQtYXJyb3d7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCx2YXIoLS1jb2xvci1ib2R5LWJnKSx2YXIoLS1fMTEteVR5eSksdmFyKC0tXzEyLXlUeXkpKTtyaWdodDowO3RleHQtYWxpZ246cmlnaHQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di10YWJzX19yaWdodC1hcnJvdy5pLXNsaWRlZHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX0udHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fbGVmdC1hcnJvdywudHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fcmlnaHQtYXJyb3d7d2lkdGg6MjNweH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19sZWZ0LWFycm93LC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3JpZ2h0LWFycm93e3dpZHRoOjQ1cHh9LnR2LXRhYnMtLXNlYXJjaGJhcjpiZWZvcmV7ZGlzcGxheTpub25lfS50di10YWJzLS1zZWFyY2hiYXIsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fc2Nyb2xsLWJveHtoZWlnaHQ6ODBweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di10YWJzLS1zZWFyY2hiYXIsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fc2Nyb2xsLWJveHtoZWlnaHQ6NTRweH19LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fc2xpZGVyLC50di10YWJzLS1zZWFyY2hiYXIgLnR2LXRhYnNfX3RhYi5pLWFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV83LXlUeXkpO2JvdHRvbTowfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fc2xpZGVyLC50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fdGFiLmktYWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Ym90dG9tOjB9LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fbGVmdC1hcnJvdyBzdmcsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fcmlnaHQtYXJyb3cgc3Zne2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpO29wYWNpdHk6LjY1fS50di10YWJzLS1zZWFyY2hiYXIgLnR2LXRhYnNfX2xlZnQtYXJyb3c6YWN0aXZlIHN2ZywudHYtdGFicy0tc2VhcmNoYmFyIC50di10YWJzX19yaWdodC1hcnJvdzphY3RpdmUgc3Zne2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpO29wYWNpdHk6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fbGVmdC1hcnJvdzpob3ZlciBzdmcsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fcmlnaHQtYXJyb3c6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpO29wYWNpdHk6MX19LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fbGVmdC1hcnJvdywudHYtdGFicy0tc2VhcmNoYmFyIC50di10YWJzX19yaWdodC1hcnJvd3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1fOC15VHl5KSx2YXIoLS1fOS15VHl5KSx2YXIoLS1fMTAteVR5eSkpfS50di10YWJzLS1zZWFyY2hiYXJfc3ViLC50di10YWJzLS1zZWFyY2hiYXJfc3ViIC50di10YWJzX19zY3JvbGwtYm94e2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHh9LnR2LXRhYnMtLXNlYXJjaGJhcl9zdWIgLnR2LXRhYnNfX2xlZnQtYXJyb3d7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzI2NWFlYiAwLCMyNjVhZWIgMTUlLCMyNjVhZWIwMCl9LnR2LXRhYnMtLXNlYXJjaGJhcl9zdWIgLnR2LXRhYnNfX3JpZ2h0LWFycm93e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMyNjVhZWIwMCAwLCMyNjVhZWIgODUlLCMyNjVhZWIpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fbGVmdC1hcnJvd3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1jb2xvci1oZWFkZXItYmcpIDAsdmFyKC0tY29sb3ItaGVhZGVyLWJnKSA0NSUsdmFyKC0tXzEzLXlUeXkpIDEwMCUpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fcmlnaHQtYXJyb3d7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsdmFyKC0tXzEzLXlUeXkpIDAsdmFyKC0tY29sb3ItaGVhZGVyLWJnKSA1NSUsdmFyKC0tY29sb3ItaGVhZGVyLWJnKSAxMDAlKX0udHYtdGFicy0tc2VhcmNoYmFyLXByb2ZpbGUgLnR2LXRhYnNfX2xlZnQtYXJyb3csLnR2LXRhYnMtLXNlYXJjaGJhci1wcm9maWxlIC50di10YWJzX19yaWdodC1hcnJvd3tjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZS50di10YWJzLS1zZWFyY2hiYXJfc3ViIC50di10YWJzX19sZWZ0LWFycm93e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnKSAwLHZhcigtLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnKSA0NSUsdmFyKC0tXzE0LXlUeXkpIDEwMCUpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZS50di10YWJzLS1zZWFyY2hiYXJfc3ViIC50di10YWJzX19yaWdodC1hcnJvd3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1fMTQteVR5eSkgMCx2YXIoLS1jb2xvci1ib2R5LXNlY29uZGFyeS1iZykgNTUlLHZhcigtLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnKSAxMDAlKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.005Z","timestamp":1785136901005,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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 07:21:41 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: f5457f976398457f9592b5d2b0727cd2\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":4689,"size_decoded":2599,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"5892ca5b3227e78df9d2ab92c3248724","sha1":"60544e547f80c21daf35460e9a75d3e817a58acd","sha256":"69236d01bc831a7a43ff776d09a39734ce30f2be4ecd83b55272b4c1d798c182","sha512":"1a6f2ba628e22166c5e1285ea8771085d4fb4bc18728dd29dcc612bfff921b3cde7047233fac48e47050cb6922013824b1166676d4d77219f87ed820d7333524","ssdeep":"48:fGoeBtt/RMHZr15WY7bq5+EGbplkGbDlZ6JGbHwa+EPyZT1k0SL6tGbdnRyeqg5v:RZ15FbqYtZ6UyEeT1hUAeJ4hZ72cYtOO","tlshash":"6ea165cd33c5f46523e2aad7a4bf510be13e198d601c6814b399e8e178579ce8132f78","first_seen":"2026-07-23T13:38:20.554349Z","last_seen":"2026-07-28T04:59:54.480901Z","times_seen":889,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2OTM1Ml0sezkxNDQ4NyhlLHQpe3ZhciBuOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBpKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07aWYobil7dmFyIHM9dHlwZW9mIG47aWYoInN0cmluZyI9PT1zfHwibnVtYmVyIj09PXMpZS5wdXNoKG4pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGgpe3ZhciBvPWkuYXBwbHkobnVsbCxuKTtvJiZlLnB1c2gobyl9ZWxzZSBpZigib2JqZWN0Ij09PXMpZm9yKHZhciB1IGluIG4pci5jYWxsKG4sdSkmJm5bdV0mJmUucHVzaCh1KX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oaS5kZWZhdWx0PWksZS5leHBvcnRzPWkpOnZvaWQgMD09PShuPWZ1bmN0aW9uKCl7cmV0dXJuIGl9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0oKX0sODI5MTgwKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9big2MDE4NDEpO2NvbnN0IGk9L3soXHcrKX0vZyxzPS97KFxkKyl9L2c7U3RyaW5nLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oLi4uZSl7Y29uc3QgdD0oMCxyLmlzT2JqZWN0KShlWzBdKSxuPXQ/aTpzLG89dD8odCxuKT0+e2NvbnN0IHI9ZVswXTtyZXR1cm4gdm9pZCAwIT09cltuXT9yW25dOnR9Oih0LG4pPT57Y29uc3Qgcj1wYXJzZUludChuLDEwKSxpPWVbcl07cmV0dXJuIHZvaWQgMCE9PWk/aTp0fTtyZXR1cm4gdGhpcy5yZXBsYWNlKG4sbyl9fSwzNjMyNjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bW9iaWxldG91Y2g6KCk9Pmksc2V0Q2xhc3NlczooKT0+c30pO3ZhciByPW4oNzM4NDU4KTtjb25zdCBpPXIubW9iaWxldG91Y2g7ci50b3VjaDtmdW5jdGlvbiBzKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoci50b3VjaD8iZmVhdHVyZS10b3VjaCI6ImZlYXR1cmUtbm8tdG91Y2giLHIubW9iaWxldG91Y2g/ImZlYXR1cmUtbW9iaWxldG91Y2giOiJmZWF0dXJlLW5vLW1vYmlsZXRvdWNoIil9fSwxODUyNzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dDooKT0+ci50fSk7big4MjkxODApO3ZhciByPW4oNzgzMjU0KX0sNTI3MzIzKGUsdCxuKXt2YXIgcjshZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoKXt9dmFyIHM9aS5wcm90b3R5cGUsbz10LkV2ZW50RW1pdHRlcjtmdW5jdGlvbiB1KGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoO24tLTspaWYoZVtuXS5saXN0ZW5lcj09PXQpcmV0dXJuIG47cmV0dXJuLTF9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tlXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGEoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV8fGUgaW5zdGFuY2VvZiBSZWdFeHB8fCEoIWV8fCJvYmplY3QiIT10eXBlb2YgZSkmJmEoZS5saXN0ZW5lcil9cy5nZXRMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7dmFyIHQsbixyPXRoaXMuX2dldEV2ZW50cygpO2lmKGUgaW5zdGFuY2VvZiBSZWdFeHApZm9yKG4gaW4gdD17fSxyKXIuaGFzT3duUHJvcGVydHkobikmJmUudGVzdChuKSYmKHRbbl09cltuXSk7ZWxzZSB0PXJbZV18fChyW2VdPVtdKTtyZXR1cm4gdH0scy5mbGF0dGVuTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0LG49W107Zm9yKHQ9MDt0PGUubGVuZ3RoO3QrPTEpbi5wdXNoKGVbdF0ubGlzdGVuZXIpO3JldHVybiBufSxzLmdldExpc3RlbmVyc0FzT2JqZWN0PWZ1bmN0aW9uKGUpe3ZhciB0LG49dGhpcy5nZXRMaXN0ZW5lcnMoZSk7cmV0dXJuIG4gaW5zdGFuY2VvZiBBcnJheSYmKCh0PXt9KVtlXT1uKSx0fHxufSxzLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYoIWEodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigibGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dmFyIG4scj10aGlzLmdldExpc3RlbmVyc0FzT2JqZWN0KGUpLGk9Im9iamVjdCI9PXR5cGVvZiB0O2ZvcihuIGluIHIpci5oYXNPd25Qcm9wZXJ0eShuKSYmLTE9PT11KHJbbl0sdCkmJnJbbl0ucHVzaChpP3Q6e2xpc3RlbmVyOnQsb25jZTohMX0pO3JldHVybiB0aGlzfSxzLm9uPWMoImFkZExpc3RlbmVyIikscy5hZGRPbmNlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5hZGRMaXN0ZW5lcihlLHtsaXN0ZW5lcjp0LG9uY2U6ITB9KX0scy5vbmNlPWMoImFkZE9uY2VMaXN0ZW5lciIpLHMuZGVmaW5lRXZlbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZ2V0TGlzdGVuZXJzKGUpLHRoaXN9LHMuZGVmaW5lRXZlbnRzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCs9MSl0aGlzLmRlZmluZUV2ZW50KGVbdF0pO3JldHVybiB0aGlzfSxzLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpPXRoaXMuZ2V0TGlzdGVuZXJzQXNPYmplY3QoZSk7Zm9yKHIgaW4gaSlpLmhhc093blByb3BlcnR5KHIpJiYtMSE9PShuPXUoaVtyXSx0KSkmJmlbcl0uc3BsaWNlKG4sMSk7cmV0dXJuIHRoaXN9LHMub2ZmPWMoInJlbW92ZUxpc3RlbmVyIikscy5hZGRMaXN0ZW5lcnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYW5pcHVsYXRlTGlzdGVuZXJzKCExLGUsdCl9LHMucmVtb3ZlTGlzdGVuZXJzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubWFuaXB1bGF0ZUxpc3RlbmVycyghMCxlLHQpfSxzLm1hbmlwdWxhdGVMaXN0ZW5lcnM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGkscz1lP3RoaXMucmVtb3ZlTGlzdGVuZXI6dGhpcy5hZGRMaXN0ZW5lcixvPWU/dGhpcy5yZW1vdmVMaXN0ZW5lcnM6dGhpcy5hZGRMaXN0ZW5lcnM7aWYoIm9iamVjdCIhPXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgUmVnRXhwKWZvcihyPW4ubGVuZ3RoO3ItLTspcy5jYWxsKHRoaXMsdCxuW3JdKTtlbHNlIGZvcihyIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShyKSYmKGk9dFtyXSkmJigiZnVuY3Rpb24iPT10eXBlb2YgaT9zLmNhbGwodGhpcyxyLGkpOm8uY2FsbCh0aGlzLHIsaSkpCjtyZXR1cm4gdGhpc30scy5yZW1vdmVFdmVudD1mdW5jdGlvbihlKXt2YXIgdCxuPXR5cGVvZiBlLHI9dGhpcy5fZ2V0RXZlbnRzKCk7aWYoInN0cmluZyI9PT1uKWRlbGV0ZSByW2VdO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIFJlZ0V4cClmb3IodCBpbiByKXIuaGFzT3duUHJvcGVydHkodCkmJmUudGVzdCh0KSYmZGVsZXRlIHJbdF07ZWxzZSBkZWxldGUgdGhpcy5fZXZlbnRzO3JldHVybiB0aGlzfSxzLnJlbW92ZUFsbExpc3RlbmVycz1jKCJyZW1vdmVFdmVudCIpLHMuZW1pdEV2ZW50PWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLHMsbz10aGlzLmdldExpc3RlbmVyc0FzT2JqZWN0KGUpO2ZvcihzIGluIG8paWYoby5oYXNPd25Qcm9wZXJ0eShzKSlmb3Iobj1vW3NdLnNsaWNlKDApLGk9MDtpPG4ubGVuZ3RoO2krKykhMD09PShyPW5baV0pLm9uY2UmJnRoaXMucmVtb3ZlTGlzdGVuZXIoZSxyLmxpc3RlbmVyKSxyLmxpc3RlbmVyLmFwcGx5KHRoaXMsdHx8W10pPT09dGhpcy5fZ2V0T25jZVJldHVyblZhbHVlKCkmJnRoaXMucmVtb3ZlTGlzdGVuZXIoZSxyLmxpc3RlbmVyKTtyZXR1cm4gdGhpc30scy50cmlnZ2VyPWMoImVtaXRFdmVudCIpLHMuZW1pdD1mdW5jdGlvbihlKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIHRoaXMuZW1pdEV2ZW50KGUsdCl9LHMuc2V0T25jZVJldHVyblZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9vbmNlUmV0dXJuVmFsdWU9ZSx0aGlzfSxzLl9nZXRPbmNlUmV0dXJuVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5oYXNPd25Qcm9wZXJ0eSgiX29uY2VSZXR1cm5WYWx1ZSIpfHx0aGlzLl9vbmNlUmV0dXJuVmFsdWV9LHMuX2dldEV2ZW50cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9e30pfSxpLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5FdmVudEVtaXR0ZXI9byxpfSx2b2lkIDA9PT0ocj1mdW5jdGlvbigpe3JldHVybiBpfS5jYWxsKHQsbix0LGUpKXx8KGUuZXhwb3J0cz1yKX0odGhpc3x8e30pfSw4MTczNTAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+c30pO3ZhciByPW4oMTc4NDk3KSxpPW4oMzYwNjIwKTtjb25zdCBzPWZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZXx8ITE9PT1lfHwoMCxpLmRlZmF1bHQpKGUpJiYiW29iamVjdCBCb29sZWFuXSI9PSgwLHIuZGVmYXVsdCkoZSl9fSwyMDY2NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+c30pO3ZhciByPW4oMTc4NDk3KSxpPW4oMzYwNjIwKTtjb25zdCBzPWZ1bmN0aW9uKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZXx8KDAsaS5kZWZhdWx0KShlKSYmIltvYmplY3QgTnVtYmVyXSI9PSgwLHIuZGVmYXVsdCkoZSl9fSwzMDQyMjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+b30pO3ZhciByPW4oMTc4NDk3KSxpPW4oMjk1NjM1KSxzPW4oMzYwNjIwKTtjb25zdCBvPWZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZXx8ISgwLGkuZGVmYXVsdCkoZSkmJigwLHMuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IFN0cmluZ10iPT0oMCxyLmRlZmF1bHQpKGUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCLINK.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.424Z","timestamp":1785136905424,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCLINK.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"d2c970ea396451c50ca7e3b8e0768f11\"\r\nlast-modified: Wed, 08 Sep 2021 09:05:23 GMT\r\ncdn-cachedat: 08/09/2025 14:32:10\r\nx-amz-id-2: aU+9FANP8RQNUyju1Z8/5nXSozU7ZcY5l0x4mRLkuEsT7asp0jtvZkfO6xU2qwu5IJkHjyTvebc=\r\nx-amz-request-id: GT25DVX4XB6KZA67\r\nx-amz-meta-hash: d2c970ea396451c50ca7e3b8e0768f11\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7ab2cd1cacf177f0b7166be568dc4d6c\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCXAUT.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.453Z","timestamp":1785136905453,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCXAUT.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCLUNC.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.514Z","timestamp":1785136905514,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCLUNC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/js/jquery.magnific-popup.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.512Z","timestamp":1785136899512,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/jquery.magnific-popup.min.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 33461\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":33461,"size_decoded":33678,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (562), with CRLF line terminators","md5":"a6c294f0c10a89a48f6585a27bcabc9b","sha1":"623eef7cd97ecc3ba679e77af55e4ecb7d7aad8e","sha256":"d4c84447872bd11007113a6aad3fe17f28ed9c216d939eb6ef3f510fa814c381","sha512":"d5033877192fa2eefb277405dc8958441fe7b18ad4d44568d69094ae31fe40f7f10166aae429e56bd25e8873e7d18a9b2f723a95b3365f7a7d3678a105f5e143","ssdeep":"768:9OfPuCOxgIBdyWshf66+2ThcWhhe6V1YIgd9vY2Uu:9Ej0H6hf66+0h7Yy1YIQ9vYDu","tlshash":"19e29719f1e2212b9773b338de7b8d08f2755227e6108c463e7c50a89fb585485b5fac","first_seen":"2023-03-11T12:39:30Z","last_seen":"2026-08-03T02:54:52.772081Z","times_seen":300,"resource_available":true,"data":"LyohIE1hZ25pZmljIFBvcHVwIC0gdjEuMS4wIC0gMjAxNi0wMi0yMA0KICogaHR0cDovL2RpbXNlbWVub3YuY29tL3BsdWdpbnMvbWFnbmlmaWMtcG9wdXAvDQogKiBDb3B5cmlnaHQgKGMpIDIwMTYgRG1pdHJ5IFNlbWVub3Y7ICovDQohIGZ1bmN0aW9uKGEpIHsNCiAgICAiZnVuY3Rpb24iID09IHR5cGVvZiBkZWZpbmUgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShbImpxdWVyeSJdLCBhKSA6IGEoIm9iamVjdCIgPT0gdHlwZW9mIGV4cG9ydHMgPyByZXF1aXJlKCJqcXVlcnkiKSA6IHdpbmRvdy5qUXVlcnkgfHwgd2luZG93LlplcHRvKQ0KfShmdW5jdGlvbihhKSB7DQogICAgdmFyIGIsIGMsIGQsIGUsIGYsIGcsIGggPSAiQ2xvc2UiLA0KICAgICAgICBpID0gIkJlZm9yZUNsb3NlIiwNCiAgICAgICAgaiA9ICJBZnRlckNsb3NlIiwNCiAgICAgICAgayA9ICJCZWZvcmVBcHBlbmQiLA0KICAgICAgICBsID0gIk1hcmt1cFBhcnNlIiwNCiAgICAgICAgbSA9ICJPcGVuIiwNCiAgICAgICAgbiA9ICJDaGFuZ2UiLA0KICAgICAgICBvID0gIm1mcCIsDQogICAgICAgIHAgPSAiLiIgKyBvLA0KICAgICAgICBxID0gIm1mcC1yZWFkeSIsDQogICAgICAgIHIgPSAibWZwLXJlbW92aW5nIiwNCiAgICAgICAgcyA9ICJtZnAtcHJldmVudC1jbG9zZSIsDQogICAgICAgIHQgPSBmdW5jdGlvbigpIHt9LA0KICAgICAgICB1ID0gISF3aW5kb3cualF1ZXJ5LA0KICAgICAgICB2ID0gYSh3aW5kb3cpLA0KICAgICAgICB3ID0gZnVuY3Rpb24oYSwgYykgew0KICAgICAgICAgICAgYi5ldi5vbihvICsgYSArIHAsIGMpDQogICAgICAgIH0sDQogICAgICAgIHggPSBmdW5jdGlvbihiLCBjLCBkLCBlKSB7DQogICAgICAgICAgICB2YXIgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgICAgICAgICAgcmV0dXJuIGYuY2xhc3NOYW1lID0gIm1mcC0iICsgYiwgZCAmJiAoZi5pbm5lckhUTUwgPSBkKSwgZSA/IGMgJiYgYy5hcHBlbmRDaGlsZChmKSA6IChmID0gYShmKSwgYyAmJiBmLmFwcGVuZFRvKGMpKSwgZg0KICAgICAgICB9LA0KICAgICAgICB5ID0gZnVuY3Rpb24oYywgZCkgew0KICAgICAgICAgICAgYi5ldi50cmlnZ2VySGFuZGxlcihvICsgYywgZCksIGIuc3QuY2FsbGJhY2tzICYmIChjID0gYy5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIGMuc2xpY2UoMSksIGIuc3QuY2FsbGJhY2tzW2NdICYmIGIuc3QuY2FsbGJhY2tzW2NdLmFwcGx5KGIsIGEuaXNBcnJheShkKSA/IGQgOiBbZF0pKQ0KICAgICAgICB9LA0KICAgICAgICB6ID0gZnVuY3Rpb24oYykgew0KICAgICAgICAgICAgcmV0dXJuIGMgPT09IGcgJiYgYi5jdXJyVGVtcGxhdGUuY2xvc2VCdG4gfHwgKGIuY3VyclRlbXBsYXRlLmNsb3NlQnRuID0gYShiLnN0LmNsb3NlTWFya3VwLnJlcGxhY2UoIiV0aXRsZSUiLCBiLnN0LnRDbG9zZSkpLCBnID0gYyksIGIuY3VyclRlbXBsYXRlLmNsb3NlQnRuDQogICAgICAgIH0sDQogICAgICAgIEEgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGEubWFnbmlmaWNQb3B1cC5pbnN0YW5jZSB8fCAoYiA9IG5ldyB0LCBiLmluaXQoKSwgYS5tYWduaWZpY1BvcHVwLmluc3RhbmNlID0gYikNCiAgICAgICAgfSwNCiAgICAgICAgQiA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIikuc3R5bGUsDQogICAgICAgICAgICAgICAgYiA9IFsibXMiLCAiTyIsICJNb3oiLCAiV2Via2l0Il07DQogICAgICAgICAgICBpZiAodm9pZCAwICE9PSBhLnRyYW5zaXRpb24pIHJldHVybiAhMDsNCiAgICAgICAgICAgIGZvciAoOyBiLmxlbmd0aDspDQogICAgICAgICAgICAgICAgaWYgKGIucG9wKCkgKyAiVHJhbnNpdGlvbiIgaW4gYSkgcmV0dXJuICEwOw0KICAgICAgICAgICAgcmV0dXJuICExDQogICAgICAgIH07DQogICAgdC5wcm90b3R5cGUgPSB7DQogICAgICAgIGNvbnN0cnVjdG9yOiB0LA0KICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciBjID0gbmF2aWdhdG9yLmFwcFZlcnNpb247DQogICAgICAgICAgICBiLmlzTG93SUUgPSBiLmlzSUU4ID0gZG9jdW1lbnQuYWxsICYmICFkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyLCBiLmlzQW5kcm9pZCA9IC9hbmRyb2lkL2dpLnRlc3QoYyksIGIuaXNJT1MgPSAvaXBob25lfGlwYWR8aXBvZC9naS50ZXN0KGMpLCBiLnN1cHBvcnRzVHJhbnNpdGlvbiA9IEIoKSwgYi5wcm9iYWJseU1vYmlsZSA9IGIuaXNBbmRyb2lkIHx8IGIuaXNJT1MgfHwgLyhPcGVyYSBNaW5pKXxLaW5kbGV8d2ViT1N8QmxhY2tCZXJyeXwoT3BlcmEgTW9iaSl8KFdpbmRvd3MgUGhvbmUpfElFTW9iaWxlL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSwgZCA9IGEoZG9jdW1lbnQpLCBiLnBvcHVwc0NhY2hlID0ge30NCiAgICAgICAgfSwNCiAgICAgICAgb3BlbjogZnVuY3Rpb24oYykgew0KICAgICAgICAgICAgdmFyIGU7DQogICAgICAgICAgICBpZiAoYy5pc09iaiA9PT0gITEpIHsNCiAgICAgICAgICAgICAgICBiLml0ZW1zID0gYy5pdGVtcy50b0FycmF5KCksIGIuaW5kZXggPSAwOw0KICAgICAgICAgICAgICAgIHZhciBnLCBoID0gYy5pdGVtczsNCiAgICAgICAgICAgICAgICBmb3IgKGUgPSAwOyBlIDwgaC5sZW5ndGg7IGUrKykNCiAgICAgICAgICAgICAgICAgICAgaWYgKGcgPSBoW2VdLCBnLnBhcnNlZCAmJiAoZyA9IGcuZWxbMF0pLCBnID09PSBjLmVsWzBdKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBiLmluZGV4ID0gZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0gZWxzZSBiLml0ZW1zID0gYS5pc0FycmF5KGMuaXRlbXMpID8gYy5pdGVtcyA6IFtjLml0ZW1zXSwgYi5pbmRleCA9IGMuaW5kZXggfHwgMDsNCiAgICAgICAgICAgIGlmIChiLmlzT3BlbikgcmV0dXJuIHZvaWQgYi51cGRhdGVJdGVtSFRNTCgpOw0KICAgICAgICAgICAgYi50eXBlcyA9IFtdLCBmID0gIiIsIGMubWFpbkVsICYmIGMubWFpbkVsLmxlbmd0aCA/IGIuZXYgPSBjLm1haW5FbC5lcSgwKSA6IGIuZXYgPSBkLCBjLmtleSA/IChiLnBvcHVwc0NhY2hlW2Mua2V5XSB8fCAoYi5wb3B1cHNDYWNoZVtjLmtleV0gPSB7fSksIGIuY3VyclRlbXBsYXRlID0gYi5wb3B1cHNDYWNoZVtjLmtleV0pIDogYi5jdXJyVGVtcGxhdGUgPSB7fSwgYi5zdCA9IGEuZXh0ZW5kKCEwLCB7fSwgYS5tYWduaWZpY1BvcHVwLmRlZmF1bHRzLCBjKSwgYi5maXhlZENvbnRlbnRQb3MgPSAiYXV0byIgPT09IGIuc3QuZml4ZWRDb250ZW50UG9zID8gIWIucHJvYmFibHlNb2JpbGUgOiBiLnN0LmZpeGVkQ29udGVudFBvcywgYi5zdC5tb2RhbCAmJiAoYi5zdC5jbG9zZU9uQ29udGVudENsaWNrID0gITEsIGIuc3QuY2xvc2VPbkJnQ2xpY2sgPSAhMSwgYi5zdC5zaG93Q2xvc2VCdG4gPSAhMSwgYi5zdC5lbmFibGVFc2NhcGVLZXkgPSAhMSksIGIuYmdPdmVybGF5IHx8IChiLmJnT3ZlcmxheSA9IHgoImJnIikub24oImNsaWNrIiArIHAsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGIuY2xvc2UoKQ0KICAgICAgICAgICAgfSksIGIud3JhcCA9IHgoIndyYXAiKS5hdHRyKCJ0YWJpbmRleCIsIC0xKS5vbigiY2xpY2siICsgcCwgZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIGIuX2NoZWNrSWZDbG9zZShhLnRhcmdldCkgJiYgYi5jbG9zZSgpDQogICAgICAgICAgICB9KSwgYi5jb250YWluZXIgPSB4KCJjb250YWluZXIiLCBiLndyYXApKSwgYi5jb250ZW50Q29udGFpbmVyID0geCgiY29udGVudCIpLCBiLnN0LnByZWxvYWRlciAmJiAoYi5wcmVsb2FkZXIgPSB4KCJwcmVsb2FkZXIiLCBiLmNvbnRhaW5lciwgYi5zdC50TG9hZGluZykpOw0KICAgICAgICAgICAgdmFyIGkgPSBhLm1hZ25pZmljUG9wdXAubW9kdWxlczsNCiAgICAgICAgICAgIGZvciAoZSA9IDA7IGUgPCBpLmxlbmd0aDsgZSsrKSB7DQogICAgICAgICAgICAgICAgdmFyIGogPSBpW2VdOw0KICAgICAgICAgICAgICAgIGogPSBqLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgai5zbGljZSgxKSwgYlsiaW5pdCIgKyBqXS5jYWxsKGIpDQogICAgICAgICAgICB9DQogICAgICAgICAgICB5KCJCZWZvcmVPcGVuIiksIGIuc3Quc2hvd0Nsb3NlQnRuICYmIChiLnN0LmNsb3NlQnRuSW5zaWRlID8gKHcobCwgZnVuY3Rpb24oYSwgYiwgYywgZCkgew0KICAgICAgICAgICAgICAgIGMuY2xvc2VfcmVwbGFjZVdpdGggPSB6KGQudHlwZSkNCiAgICAgICAgICAgIH0pLCBmICs9ICIgbWZwLWNsb3NlLWJ0bi1pbiIpIDogYi53cmFwLmFwcGVuZCh6KCkpKSwgYi5zdC5hbGlnblRvcCAmJiAoZiArPSAiIG1mcC1hbGlnbi10b3AiKSwgYi5maXhlZENvbnRlbnRQb3MgPyBiLndyYXAuY3NzKHsNCiAgICAgICAgICAgICAgICBvdmVyZmxvdzogYi5zdC5vdmVyZmxvd1ksDQogICAgICAgICAgICAgICAgb3ZlcmZsb3dYOiAiaGlkZGVuIiwNCiAgICAgICAgICAgICAgICBvdmVyZmxvd1k6IGIuc3Qub3ZlcmZsb3dZDQogICAgICAgICAgICB9KSA6IGIud3JhcC5jc3Moew0KICAgICAgICAgICAgICAgIHRvcDogdi5zY3JvbGxUb3AoKSwNCiAgICAgICAgICAgICAgICBwb3NpdGlvbjogImFic29sdXRlIg0KICAgICAgICAgICAgfSksIChiLnN0LmZpeGVkQmdQb3MgPT09ICExIHx8ICJhdXRvIiA9PT0gYi5zdC5maXhlZEJnUG9zICYmICFiLmZpeGVkQ29udGVudFBvcykgJiYgYi5iZ092ZXJsYXkuY3NzKHsNCiAgICAgICAgICAgICAgICBoZWlnaHQ6IGQuaGVpZ2h0KCksDQogICAgICAgICAgICAgICAgcG9zaXRpb246ICJhYnNvbHV0ZSINCiAgICAgICAgICAgIH0pLCBiLnN0LmVuYWJsZUVzY2FwZUtleSAmJiBkLm9uKCJrZXl1cCIgKyBwLCBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgMjcgPT09IGEua2V5Q29kZSAmJiBiLmNsb3NlKCkNCiAgICAgICAgICAgIH0pLCB2Lm9uKCJyZXNpemUiICsgcCwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgYi51cGRhdGVTaXplKCkNCiAgICAgICAgICAgIH0pLCBiLnN0LmNsb3NlT25Db250ZW50Q2xpY2sgfHwgKGYgKz0gIiBtZnAtYXV0by1jdXJzb3IiKSwgZiAmJiBiLndyYXAuYWRkQ2xhc3MoZik7DQogICAgICAgICAgICB2YXIgayA9IGIud0ggPSB2LmhlaWdodCgpLA0KICAgICAgICAgICAgICAgIG4gPSB7fTsNCiAgICAgICAgICAgIGlmIChiLmZpeGVkQ29udGVudFBvcyAmJiBiLl9oYXNTY3JvbGxCYXIoaykpIHsNCiAgICAgICAgICAgICAgICB2YXIgbyA9IGIuX2dldFNjcm9sbGJhclNpemUoKTsNCiAgICAgICAgICAgICAgICBvICYmIChuLm1hcmdpblJpZ2h0ID0gbykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGIuZml4ZWRDb250ZW50UG9zICYmIChiLmlzSUU3ID8gYSgiYm9keSwgaHRtbCIpLmNzcygib3ZlcmZsb3ciLCAiaGlkZGVuIikgOiBuLm92ZXJmbG93ID0gImhpZGRlbiIpOw0KICAgICAgICAgICAgdmFyIHIgPSBiLnN0Lm1haW5DbGFzczsNCiAgICAgICAgICAgIHJldHVybiBiLmlzSUU3ICYmIChyICs9ICIgbWZwLWllNyIpLCByICYmIGIuX2FkZENsYXNzVG9NRlAociksIGIudXBkYXRlSXRlbUhUTUwoKSwgeSgiQnVpbGRDb250cm9scyIpLCBhKCJodG1sIikuY3NzKG4pLCBiLmJnT3ZlcmxheS5hZGQoYi53cmFwKS5wcmVwZW5kVG8oYi5zdC5wcmVwZW5kVG8gfHwgYShkb2N1bWVudC5ib2R5KSksIGIuX2xhc3RGb2N1c2VkRWwgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50LCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGIuY29udGVudCA/IChiLl9hZGRDbGFzc1RvTUZQKHEpLCBiLl9zZXRGb2N1cygpKSA6IGIuYmdPdmVybGF5LmFkZENsYXNzKHEpLCBkLm9uKCJmb2N1c2luIiArIHAsIGIuX29uRm9jdXNJbikNCiAgICAgICAgICAgIH0sIDE2KSwgYi5pc09wZW4gPSAhMCwgYi51cGRhdGVTaXplKGspLCB5KG0pLCBjDQogICAgICAgIH0sDQogICAgICAgIGNsb3NlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGIuaXNPcGVuICYmICh5KGkpLCBiLmlzT3BlbiA9ICExLCBiLnN0LnJlbW92YWxEZWxheSAmJiAhYi5pc0xvd0lFICYmIGIuc3VwcG9ydHNUcmFuc2l0aW9uID8gKGIuX2FkZENsYXNzVG9NRlAociksIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgYi5fY2xvc2UoKQ0KICAgICAgICAgICAgfSwgYi5zdC5yZW1vdmFsRGVsYXkpKSA6IGIuX2Nsb3NlKCkpDQogICAgICAgIH0sDQogICAgICAgIF9jbG9zZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB5KGgpOw0KICAgICAgICAgICAgdmFyIGMgPSByICsgIiAiICsgcSArICIgIjsNCiAgICAgICAgICAgIGlmIChiLmJnT3ZlcmxheS5kZXRhY2goKSwgYi53cmFwLmRldGFjaCgpLCBiLmNvbnRhaW5lci5lbXB0eSgpLCBiLnN0Lm1haW5DbGFzcyAmJiAoYyArPSBiLnN0Lm1haW5DbGFzcyArICIgIiksIGIuX3JlbW92ZUNsYXNzRnJvbU1GUChjKSwgYi5maXhlZENvbnRlbnRQb3MpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHsNCiAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICIiDQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICBiLmlzSUU3ID8gYSgiYm9keSwgaHRtbCIpLmNzcygib3ZlcmZsb3ciLCAiIikgOiBlLm92ZXJmbG93ID0gIiIsIGEoImh0bWwiKS5jc3MoZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGQub2ZmKCJrZXl1cCIgKyBwICsgIiBmb2N1c2luIiArIHApLCBiLmV2Lm9mZihwKSwgYi53cmFwLmF0dHIoImNsYXNzIiwgIm1mcC13cmFwIikucmVtb3ZlQXR0cigic3R5bGUiKSwgYi5iZ092ZXJsYXkuYXR0cigiY2xhc3MiLCAibWZwLWJnIiksIGIuY29udGFpbmVyLmF0dHIoImNsYXNzIiwgIm1mcC1jb250YWluZXIiKSwgIWIuc3Quc2hvd0Nsb3NlQnRuIHx8IGIuc3QuY2xvc2VCdG5JbnNpZGUgJiYgYi5jdXJyVGVtcGxhdGVbYi5jdXJySXRlbS50eXBlXSAhPT0gITAgfHwgYi5jdXJyVGVtcGxhdGUuY2xvc2VCdG4gJiYgYi5jdXJyVGVtcGxhdGUuY2xvc2VCdG4uZGV0YWNoKCksIGIuc3QuYXV0b0ZvY3VzTGFzdCAmJiBiLl9sYXN0Rm9jdXNlZEVsICYmIGEoYi5fbGFzdEZvY3VzZWRFbCkuZm9jdXMoKSwgYi5jdXJySXRlbSA9IG51bGwsIGIuY29udGVudCA9IG51bGwsIGIuY3VyclRlbXBsYXRlID0gbnVsbCwgYi5wcmV2SGVpZ2h0ID0gMCwgeShqKQ0KICAgICAgICB9LA0KICAgICAgICB1cGRhdGVTaXplOiBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICBpZiAoYi5pc0lPUykgew0KICAgICAgICAgICAgICAgIHZhciBjID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gd2luZG93LmlubmVyV2lkdGgsDQogICAgICAgICAgICAgICAgICAgIGQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgKiBjOw0KICAgICAgICAgICAgICAgIGIud3JhcC5jc3MoImhlaWdodCIsIGQpLCBiLndIID0gZA0KICAgICAgICAgICAgfSBlbHNlIGIud0ggPSBhIHx8IHYuaGVpZ2h0KCk7DQogICAgICAgICAgICBiLmZpeGVkQ29udGVudFBvcyB8fCBiLndyYXAuY3NzKCJoZWlnaHQiLCBiLndIKSwgeSgiUmVzaXplIikNCiAgICAgICAgfSwNCiAgICAgICAgdXBkYXRlSXRlbUhUTUw6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGMgPSBiLml0ZW1zW2IuaW5kZXhdOw0KICAgICAgICAgICAgYi5jb250ZW50Q29udGFpbmVyLmRldGFjaCgpLCBiLmNvbnRlbnQgJiYgYi5jb250ZW50LmRldGFjaCgpLCBjLnBhcnNlZCB8fCAoYyA9IGIucGFyc2VFbChiLmluZGV4KSk7DQogICAgICAgICAgICB2YXIgZCA9IGMudHlwZTsNCiAgICAgICAgICAgIGlmICh5KCJCZWZvcmVDaGFuZ2UiLCBbYi5jdXJySXRlbSA/IGIuY3Vyckl0ZW0udHlwZSA6ICIiLCBkXSksIGIuY3Vyckl0ZW0gPSBjLCAhYi5jdXJyVGVtcGxhdGVbZF0pIHsNCiAgICAgICAgICAgICAgICB2YXIgZiA9IGIuc3RbZF0gPyBiLnN0W2RdLm1hcmt1cCA6ICExOw0KICAgICAgICAgICAgICAgIHkoIkZpcnN0TWFya3VwUGFyc2UiLCBmKSwgZiA/IGIuY3VyclRlbXBsYXRlW2RdID0gYShmKSA6IGIuY3VyclRlbXBsYXRlW2RdID0gITANCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGUgJiYgZSAhPT0gYy50eXBlICYmIGIuY29udGFpbmVyLnJlbW92ZUNsYXNzKCJtZnAtIiArIGUgKyAiLWhvbGRlciIpOw0KICAgICAgICAgICAgdmFyIGcgPSBiWyJnZXQiICsgZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGQuc2xpY2UoMSldKGMsIGIuY3VyclRlbXBsYXRlW2RdKTsNCiAgICAgICAgICAgIGIuYXBwZW5kQ29udGVudChnLCBkKSwgYy5wcmVsb2FkZWQgPSAhMCwgeShuLCBjKSwgZSA9IGMudHlwZSwgYi5jb250YWluZXIucHJlcGVuZChiLmNvbnRlbnRDb250YWluZXIpLCB5KCJBZnRlckNoYW5nZSIpDQogICAgICAgIH0sDQogICAgICAgIGFwcGVuZENvbnRlbnQ6IGZ1bmN0aW9uKGEsIGMpIHsNCiAgICAgICAgICAgIGIuY29udGVudCA9IGEsIGEgPyBiLnN0LnNob3dDbG9zZUJ0biAmJiBiLnN0LmNsb3NlQnRuSW5zaWRlICYmIGIuY3VyclRlbXBsYXRlW2NdID09PSAhMCA/IGIuY29udGVudC5maW5kKCIubWZwLWNsb3NlIikubGVuZ3RoIHx8IGIuY29udGVudC5hcHBlbmQoeigpKSA6IGIuY29udGVudCA9IGEgOiBiLmNvbnRlbnQgPSAiIiwgeShrKSwgYi5jb250YWluZXIuYWRkQ2xhc3MoIm1mcC0iICsgYyArICItaG9sZGVyIiksIGIuY29udGVudENvbnRhaW5lci5hcHBlbmQoYi5jb250ZW50KQ0KICAgICAgICB9LA0KICAgICAgICBwYXJzZUVsOiBmdW5jdGlvbihjKSB7DQogICAgICAgICAgICB2YXIgZCwgZSA9IGIuaXRlbXNbY107DQogICAgICAgICAgICBpZiAoZS50YWdOYW1lID8gZSA9IHsNCiAgICAgICAgICAgICAgICAgICAgZWw6IGEoZSkNCiAgICAgICAgICAgICAgICB9IDogKGQgPSBlLnR5cGUsIGUgPSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGE6IGUsDQogICAgICAgICAgICAgICAgICAgIHNyYzogZS5zcmMNCiAgICAgICAgICAgICAgICB9KSwgZS5lbCkgew0KICAgICAgICAgICAgICAgIGZvciAodmFyIGYgPSBiLnR5cGVzLCBnID0gMDsgZyA8IGYubGVuZ3RoOyBnKyspDQogICAgICAgICAgICAgICAgICAgIGlmIChlLmVsLmhhc0NsYXNzKCJtZnAtIiArIGZbZ10pKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBkID0gZltnXTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBlLnNyYyA9IGUuZWwuYXR0cigiZGF0YS1tZnAtc3JjIiksIGUuc3JjIHx8IChlLnNyYyA9IGUuZWwuYXR0cigiaHJlZiIpKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGUudHlwZSA9IGQgfHwgYi5zdC50eXBlIHx8ICJpbmxpbmUiLCBlLmluZGV4ID0gYywgZS5wYXJzZWQgPSAhMCwgYi5pdGVtc1tjXSA9IGUsIHkoIkVsZW1lbnRQYXJzZSIsIGUpLCBiLml0ZW1zW2NdDQogICAgICAgIH0sDQogICAgICAgIGFkZEdyb3VwOiBmdW5jdGlvbihhLCBjKSB7DQogICAgICAgICAgICB2YXIgZCA9IGZ1bmN0aW9uKGQpIHsNCiAgICAgICAgICAgICAgICBkLm1mcEVsID0gdGhpcywgYi5fb3BlbkNsaWNrKGQsIGEsIGMpDQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgYyB8fCAoYyA9IHt9KTsNCiAgICAgICAgICAgIHZhciBlID0gImNsaWNrLm1hZ25pZmljUG9wdXAiOw0KICAgICAgICAgICAgYy5tYWluRWwgPSBhLCBjLml0ZW1zID8gKGMuaXNPYmogPSAhMCwgYS5vZmYoZSkub24oZSwgZCkpIDogKGMuaXNPYmogPSAhMSwgYy5kZWxlZ2F0ZSA/IGEub2ZmKGUpLm9uKGUsIGMuZGVsZWdhdGUsIGQpIDogKGMuaXRlbXMgPSBhLCBhLm9mZihlKS5vbihlLCBkKSkpDQogICAgICAgIH0sDQogICAgICAgIF9vcGVuQ2xpY2s6IGZ1bmN0aW9uKGMsIGQsIGUpIHsNCiAgICAgICAgICAgIHZhciBmID0gdm9pZCAwICE9PSBlLm1pZENsaWNrID8gZS5taWRDbGljayA6IGEubWFnbmlmaWNQb3B1cC5kZWZhdWx0cy5taWRDbGljazsNCiAgICAgICAgICAgIGlmIChmIHx8ICEoMiA9PT0gYy53aGljaCB8fCBjLmN0cmxLZXkgfHwgYy5tZXRhS2V5IHx8IGMuYWx0S2V5IHx8IGMuc2hpZnRLZXkpKSB7DQogICAgICAgICAgICAgICAgdmFyIGcgPSB2b2lkIDAgIT09IGUuZGlzYWJsZU9uID8gZS5kaXNhYmxlT24gOiBhLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMuZGlzYWJsZU9uOw0KICAgICAgICAgICAgICAgIGlmIChnKQ0KICAgICAgICAgICAgICAgICAgICBpZiAoYS5pc0Z1bmN0aW9uKGcpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWcuY2FsbChiKSkgcmV0dXJuICEwDQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodi53aWR0aCgpIDwgZykgcmV0dXJuICEwOw0KICAgICAgICAgICAgICAgIGMudHlwZSAmJiAoYy5wcmV2ZW50RGVmYXVsdCgpLCBiLmlzT3BlbiAmJiBjLnN0b3BQcm9wYWdhdGlvbigpKSwgZS5lbCA9IGEoYy5tZnBFbCksIGUuZGVsZWdhdGUgJiYgKGUuaXRlbXMgPSBkLmZpbmQoZS5kZWxlZ2F0ZSkpLCBiLm9wZW4oZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgdXBkYXRlU3RhdHVzOiBmdW5jdGlvbihhLCBkKSB7DQogICAgICAgICAgICBpZiAoYi5wcmVsb2FkZXIpIHsNCiAgICAgICAgICAgICAgICBjICE9PSBhICYmIGIuY29udGFpbmVyLnJlbW92ZUNsYXNzKCJtZnAtcy0iICsgYyksIGQgfHwgImxvYWRpbmciICE9PSBhIHx8IChkID0gYi5zdC50TG9hZGluZyk7DQogICAgICAgICAgICAgICAgdmFyIGUgPSB7DQogICAgICAgICAgICAgICAgICAgIHN0YXR1czogYSwNCiAgICAgICAgICAgICAgICAgICAgdGV4dDogZA0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgeSgiVXBkYXRlU3RhdHVzIiwgZSksIGEgPSBlLnN0YXR1cywgZCA9IGUudGV4dCwgYi5wcmVsb2FkZXIuaHRtbChkKSwgYi5wcmVsb2FkZXIuZmluZCgiYSIpLm9uKCJjbGljayIsIGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICAgICAgYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKQ0KICAgICAgICAgICAgICAgIH0pLCBiLmNvbnRhaW5lci5hZGRDbGFzcygibWZwLXMtIiArIGEpLCBjID0gYQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBfY2hlY2tJZkNsb3NlOiBmdW5jdGlvbihjKSB7DQogICAgICAgICAgICBpZiAoIWEoYykuaGFzQ2xhc3MocykpIHsNCiAgICAgICAgICAgICAgICB2YXIgZCA9IGIuc3QuY2xvc2VPbkNvbnRlbnRDbGljaywNCiAgICAgICAgICAgICAgICAgICAgZSA9IGIuc3QuY2xvc2VPbkJnQ2xpY2s7DQogICAgICAgICAgICAgICAgaWYgKGQgJiYgZSkgcmV0dXJuICEwOw0KICAgICAgICAgICAgICAgIGlmICghYi5jb250ZW50IHx8IGEoYykuaGFzQ2xhc3MoIm1mcC1jbG9zZSIpIHx8IGIucHJlbG9hZGVyICYmIGMgPT09IGIucHJlbG9hZGVyWzBdKSByZXR1cm4gITA7DQogICAgICAgICAgICAgICAgaWYgKGMgPT09IGIuY29udGVudFswXSB8fCBhLmNvbnRhaW5zKGIuY29udGVudFswXSwgYykpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGQpIHJldHVybiAhMA0KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZSAmJiBhLmNvbnRhaW5zKGRvY3VtZW50LCBjKSkgcmV0dXJuICEwOw0KICAgICAgICAgICAgICAgIHJldHVybiAhMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBfYWRkQ2xhc3NUb01GUDogZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgYi5iZ092ZXJsYXkuYWRkQ2xhc3MoYSksIGIud3JhcC5hZGRDbGFzcyhhKQ0KICAgICAgICB9LA0KICAgICAgICBfcmVtb3ZlQ2xhc3NGcm9tTUZQOiBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICB0aGlzLmJnT3ZlcmxheS5yZW1vdmVDbGFzcyhhKSwgYi53cmFwLnJlbW92ZUNsYXNzKGEpDQogICAgICAgIH0sDQogICAgICAgIF9oYXNTY3JvbGxCYXI6IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgIHJldHVybiAoYi5pc0lFNyA/IGQuaGVpZ2h0KCkgOiBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCkgPiAoYSB8fCB2LmhlaWdodCgpKQ0KICAgICAgICB9LA0KICAgICAgICBfc2V0Rm9jdXM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgKGIuc3QuZm9jdXMgPyBiLmNvbnRlbnQuZmluZChiLnN0LmZvY3VzKS5lcSgwKSA6IGIud3JhcCkuZm9jdXMoKQ0KICAgICAgICB9LA0KICAgICAgICBfb25Gb2N1c0luOiBmdW5jdGlvbihjKSB7DQogICAgICAgICAgICByZXR1cm4gYy50YXJnZXQgPT09IGIud3JhcFswXSB8fCBhLmNvbnRhaW5zKGIud3JhcFswXSwgYy50YXJnZXQpID8gdm9pZCAwIDogKGIuX3NldEZvY3VzKCksICExKQ0KICAgICAgICB9LA0KICAgICAgICBfcGFyc2VNYXJrdXA6IGZ1bmN0aW9uKGIsIGMsIGQpIHsNCiAgICAgICAgICAgIHZhciBlOw0KICAgICAgICAgICAgZC5kYXRhICYmIChjID0gYS5leHRlbmQoZC5kYXRhLCBjKSksIHkobCwgW2IsIGMsIGRdKSwgYS5lYWNoKGMsIGZ1bmN0aW9uKGMsIGQpIHsNCiAgICAgICAgICAgICAgICBpZiAodm9pZCAwID09PSBkIHx8IGQgPT09ICExKSByZXR1cm4gITA7DQogICAgICAgICAgICAgICAgaWYgKGUgPSBjLnNwbGl0KCJfIiksIGUubGVuZ3RoID4gMSkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZiA9IGIuZmluZChwICsgIi0iICsgZVswXSk7DQogICAgICAgICAgICAgICAgICAgIGlmIChmLmxlbmd0aCA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBnID0gZVsxXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICJyZXBsYWNlV2l0aCIgPT09IGcgPyBmWzBdICE9PSBkWzBdICYmIGYucmVwbGFjZVdpdGgoZCkgOiAiaW1nIiA9PT0gZyA/IGYuaXMoImltZyIpID8gZi5hdHRyKCJzcmMiLCBkKSA6IGYucmVwbGFjZVdpdGgoYSgiPGltZz4iKS5hdHRyKCJzcmMiLCBkKS5hdHRyKCJjbGFzcyIsIGYuYXR0cigiY2xhc3MiKSkpIDogZi5hdHRyKGVbMV0sIGQpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGVsc2UgYi5maW5kKHAgKyAiLSIgKyBjKS5odG1sKGQpDQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgICAgICBfZ2V0U2Nyb2xsYmFyU2l6ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiAodm9pZCAwID09PSBiLnNjcm9sbGJhclNpemUpIHsNCiAgICAgICAgICAgICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KICAgICAgICAgICAgICAgIGEuc3R5bGUuY3NzVGV4dCA9ICJ3aWR0aDogOTlweDsgaGVpZ2h0OiA5OXB4OyBvdmVyZmxvdzogc2Nyb2xsOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTk5OTlweDsiLCBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpLCBiLnNjcm9sbGJhclNpemUgPSBhLm9mZnNldFdpZHRoIC0gYS5jbGllbnRXaWR0aCwgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGIuc2Nyb2xsYmFyU2l6ZQ0KICAgICAgICB9DQogICAgfSwgYS5tYWduaWZpY1BvcHVwID0gew0KICAgICAgICBpbnN0YW5jZTogbnVsbCwNCiAgICAgICAgcHJvdG86IHQucHJvdG90eXBlLA0KICAgICAgICBtb2R1bGVzOiBbXSwNCiAgICAgICAgb3BlbjogZnVuY3Rpb24oYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIEEoKSwgYiA9IGIgPyBhLmV4dGVuZCghMCwge30sIGIpIDoge30sIGIuaXNPYmogPSAhMCwgYi5pbmRleCA9IGMgfHwgMCwgdGhpcy5pbnN0YW5jZS5vcGVuKGIpDQogICAgICAgIH0sDQogICAgICAgIGNsb3NlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiBhLm1hZ25pZmljUG9wdXAuaW5zdGFuY2UgJiYgYS5tYWduaWZpY1BvcHVwLmluc3RhbmNlLmNsb3NlKCkNCiAgICAgICAgfSwNCiAgICAgICAgcmVnaXN0ZXJNb2R1bGU6IGZ1bmN0aW9uKGIsIGMpIHsNCiAgICAgICAgICAgIGMub3B0aW9ucyAmJiAoYS5tYWduaWZpY1BvcHVwLmRlZmF1bHRzW2JdID0gYy5vcHRpb25zKSwgYS5leHRlbmQodGhpcy5wcm90bywgYy5wcm90byksIHRoaXMubW9kdWxlcy5wdXNoKGIpDQogICAgICAgIH0sDQogICAgICAgIGRlZmF1bHRzOiB7DQogICAgICAgICAgICBkaXNhYmxlT246IDAsDQogICAgICAgICAgICBrZXk6IG51bGwsDQogICAgICAgICAgICBtaWRDbGljazogITEsDQogICAgICAgICAgICBtYWluQ2xhc3M6ICIiLA0KICAgICAgICAgICAgcHJlbG9hZGVyOiAhMCwNCiAgICAgICAgICAgIGZvY3VzOiAiIiwNCiAgICAgICAgICAgIGNsb3NlT25Db250ZW50Q2xpY2s6ICExLA0KICAgICAgICAgICAgY2xvc2VPbkJnQ2xpY2s6ICEwLA0KICAgICAgICAgICAgY2xvc2VCdG5JbnNpZGU6ICEwLA0KICAgICAgICAgICAgc2hvd0Nsb3NlQnRuOiAhMCwNCiAgICAgICAgICAgIGVuYWJsZUVzY2FwZUtleTogITAsDQogICAgICAgICAgICBtb2RhbDogITEsDQogICAgICAgICAgICBhbGlnblRvcDogITEsDQogICAgICAgICAgICByZW1vdmFsRGVsYXk6IDAsDQogICAgICAgICAgICBwcmVwZW5kVG86IG51bGwsDQogICAgICAgICAgICBmaXhlZENvbnRlbnRQb3M6ICJhdXRvIiwNCiAgICAgICAgICAgIGZpeGVkQmdQb3M6ICJhdXRvIiwNCiAgICAgICAgICAgIG92ZXJmbG93WTogImF1dG8iLA0KICAgICAgICAgICAgY2xvc2VNYXJrdXA6ICc8YnV0dG9uIHRpdGxlPSIldGl0bGUlIiB0eXBlPSJidXR0b24iIGNsYXNzPSJtZnAtY2xvc2UiPiYjMjE1OzwvYnV0dG9uPicsDQogICAgICAgICAgICB0Q2xvc2U6ICJDbG9zZSAoRXNjKSIsDQogICAgICAgICAgICB0TG9hZGluZzogIkxvYWRpbmcuLi4iLA0KICAgICAgICAgICAgYXV0b0ZvY3VzTGFzdDogITANCiAgICAgICAgfQ0KICAgIH0sIGEuZm4ubWFnbmlmaWNQb3B1cCA9IGZ1bmN0aW9uKGMpIHsNCiAgICAgICAgQSgpOw0KICAgICAgICB2YXIgZCA9IGEodGhpcyk7DQogICAgICAgIGlmICgic3RyaW5nIiA9PSB0eXBlb2YgYykNCiAgICAgICAgICAgIGlmICgib3BlbiIgPT09IGMpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSwgZiA9IHUgPyBkLmRhdGEoIm1hZ25pZmljUG9wdXAiKSA6IGRbMF0ubWFnbmlmaWNQb3B1cCwNCiAgICAgICAgICAgICAgICAgICAgZyA9IHBhcnNlSW50KGFyZ3VtZW50c1sxXSwgMTApIHx8IDA7DQogICAgICAgICAgICAgICAgZi5pdGVtcyA/IGUgPSBmLml0ZW1zW2ddIDogKGUgPSBkLCBmLmRlbGVnYXRlICYmIChlID0gZS5maW5kKGYuZGVsZWdhdGUpKSwgZSA9IGUuZXEoZykpLCBiLl9vcGVuQ2xpY2soew0KICAgICAgICAgICAgICAgICAgICBtZnBFbDogZQ0KICAgICAgICAgICAgICAgIH0sIGQsIGYpDQogICAgICAgICAgICB9IGVsc2UgYi5pc09wZW4gJiYgYltjXS5hcHBseShiLCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpKTsNCiAgICAgICAgZWxzZSBjID0gYS5leHRlbmQoITAsIHt9LCBjKSwgdSA/IGQuZGF0YSgibWFnbmlmaWNQb3B1cCIsIGMpIDogZFswXS5tYWduaWZpY1BvcHVwID0gYywgYi5hZGRHcm91cChkLCBjKTsNCiAgICAgICAgcmV0dXJuIGQNCiAgICB9Ow0KICAgIHZhciBDLCBELCBFLCBGID0gImlubGluZSIsDQogICAgICAgIEcgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIEUgJiYgKEQuYWZ0ZXIoRS5hZGRDbGFzcyhDKSkuZGV0YWNoKCksIEUgPSBudWxsKQ0KICAgICAgICB9Ow0KICAgIGEubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZShGLCB7DQogICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgIGhpZGRlbkNsYXNzOiAiaGlkZSIsDQogICAgICAgICAgICBtYXJrdXA6ICIiLA0KICAgICAgICAgICAgdE5vdEZvdW5kOiAiQ29udGVudCBub3QgZm91bmQiDQogICAgICAgIH0sDQogICAgICAgIHByb3RvOiB7DQogICAgICAgICAgICBpbml0SW5saW5lOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBiLnR5cGVzLnB1c2goRiksIHcoaCArICIuIiArIEYsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBHKCkNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGdldElubGluZTogZnVuY3Rpb24oYywgZCkgew0KICAgICAgICAgICAgICAgIGlmIChHKCksIGMuc3JjKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBlID0gYi5zdC5pbmxpbmUsDQogICAgICAgICAgICAgICAgICAgICAgICBmID0gYShjLnNyYyk7DQogICAgICAgICAgICAgICAgICAgIGlmIChmLmxlbmd0aCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGcgPSBmWzBdLnBhcmVudE5vZGU7DQogICAgICAgICAgICAgICAgICAgICAgICBnICYmIGcudGFnTmFtZSAmJiAoRCB8fCAoQyA9IGUuaGlkZGVuQ2xhc3MsIEQgPSB4KEMpLCBDID0gIm1mcC0iICsgQyksIEUgPSBmLmFmdGVyKEQpLmRldGFjaCgpLnJlbW92ZUNsYXNzKEMpKSwgYi51cGRhdGVTdGF0dXMoInJlYWR5IikNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGIudXBkYXRlU3RhdHVzKCJlcnJvciIsIGUudE5vdEZvdW5kKSwgZiA9IGEoIjxkaXY+Iik7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBjLmlubGluZUVsZW1lbnQgPSBmLCBmDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiBiLnVwZGF0ZVN0YXR1cygicmVhZHkiKSwgYi5fcGFyc2VNYXJrdXAoZCwge30sIGMpLCBkDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KTsNCiAgICB2YXIgSCwgSSA9ICJhamF4IiwNCiAgICAgICAgSiA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgSCAmJiBhKGRvY3VtZW50LmJvZHkpLnJlbW92ZUNsYXNzKEgpDQogICAgICAgIH0sDQogICAgICAgIEsgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIEooKSwgYi5yZXEgJiYgYi5yZXEuYWJvcnQoKQ0KICAgICAgICB9Ow0KICAgIGEubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZShJLCB7DQogICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgIHNldHRpbmdzOiBudWxsLA0KICAgICAgICAgICAgY3Vyc29yOiAibWZwLWFqYXgtY3VyIiwNCiAgICAgICAgICAgIHRFcnJvcjogJzxhIGhyZWY9IiV1cmwlIj5UaGUgY29udGVudDwvYT4gY291bGQgbm90IGJlIGxvYWRlZC4nDQogICAgICAgIH0sDQogICAgICAgIHByb3RvOiB7DQogICAgICAgICAgICBpbml0QWpheDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgYi50eXBlcy5wdXNoKEkpLCBIID0gYi5zdC5hamF4LmN1cnNvciwgdyhoICsgIi4iICsgSSwgSyksIHcoIkJlZm9yZUNoYW5nZS4iICsgSSwgSykNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBnZXRBamF4OiBmdW5jdGlvbihjKSB7DQogICAgICAgICAgICAgICAgSCAmJiBhKGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKEgpLCBiLnVwZGF0ZVN0YXR1cygibG9hZGluZyIpOw0KICAgICAgICAgICAgICAgIHZhciBkID0gYS5leHRlbmQoew0KICAgICAgICAgICAgICAgICAgICB1cmw6IGMuc3JjLA0KICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihkLCBlLCBmKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZyA9IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBkLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhocjogZg0KICAgICAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHkoIlBhcnNlQWpheCIsIGcpLCBiLmFwcGVuZENvbnRlbnQoYShnLmRhdGEpLCBJKSwgYy5maW5pc2hlZCA9ICEwLCBKKCksIGIuX3NldEZvY3VzKCksIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYi53cmFwLmFkZENsYXNzKHEpDQogICAgICAgICAgICAgICAgICAgICAgICB9LCAxNiksIGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpLCB5KCJBamF4Q29udGVudEFkZGVkIikNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgSigpLCBjLmZpbmlzaGVkID0gYy5sb2FkRXJyb3IgPSAhMCwgYi51cGRhdGVTdGF0dXMoImVycm9yIiwgYi5zdC5hamF4LnRFcnJvci5yZXBsYWNlKCIldXJsJSIsIGMuc3JjKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0sIGIuc3QuYWpheC5zZXR0aW5ncyk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGIucmVxID0gYS5hamF4KGQpLCAiIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSk7DQogICAgdmFyIEwsIE0gPSBmdW5jdGlvbihjKSB7DQogICAgICAgIGlmIChjLmRhdGEgJiYgdm9pZCAwICE9PSBjLmRhdGEudGl0bGUpIHJldHVybiBjLmRhdGEudGl0bGU7DQogICAgICAgIHZhciBkID0gYi5zdC5pbWFnZS50aXRsZVNyYzsNCiAgICAgICAgaWYgKGQpIHsNCiAgICAgICAgICAgIGlmIChhLmlzRnVuY3Rpb24oZCkpIHJldHVybiBkLmNhbGwoYiwgYyk7DQogICAgICAgICAgICBpZiAoYy5lbCkgcmV0dXJuIGMuZWwuYXR0cihkKSB8fCAiIg0KICAgICAgICB9DQogICAgICAgIHJldHVybiAiIg0KICAgIH07DQogICAgYS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKCJpbWFnZSIsIHsNCiAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgbWFya3VwOiAnPGRpdiBjbGFzcz0ibWZwLWZpZ3VyZSI+PGRpdiBjbGFzcz0ibWZwLWNsb3NlIj48L2Rpdj48ZmlndXJlPjxkaXYgY2xhc3M9Im1mcC1pbWciPjwvZGl2PjxmaWdjYXB0aW9uPjxkaXYgY2xhc3M9Im1mcC1ib3R0b20tYmFyIj48ZGl2IGNsYXNzPSJtZnAtdGl0bGUiPjwvZGl2PjxkaXYgY2xhc3M9Im1mcC1jb3VudGVyIj48L2Rpdj48L2Rpdj48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PC9kaXY+JywNCiAgICAgICAgICAgIGN1cnNvcjogIm1mcC16b29tLW91dC1jdXIiLA0KICAgICAgICAgICAgdGl0bGVTcmM6ICJ0aXRsZSIsDQogICAgICAgICAgICB2ZXJ0aWNhbEZpdDogITAsDQogICAgICAgICAgICB0RXJyb3I6ICc8YSBocmVmPSIldXJsJSI+VGhlIGltYWdlPC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLicNCiAgICAgICAgfSwNCiAgICAgICAgcHJvdG86IHsNCiAgICAgICAgICAgIGluaXRJbWFnZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIGMgPSBiLnN0LmltYWdlLA0KICAgICAgICAgICAgICAgICAgICBkID0gIi5pbWFnZSI7DQogICAgICAgICAgICAgICAgYi50eXBlcy5wdXNoKCJpbWFnZSIpLCB3KG0gKyBkLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgImltYWdlIiA9PT0gYi5jdXJySXRlbS50eXBlICYmIGMuY3Vyc29yICYmIGEoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoYy5jdXJzb3IpDQogICAgICAgICAgICAgICAgfSksIHcoaCArIGQsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBjLmN1cnNvciAmJiBhKGRvY3VtZW50LmJvZHkpLnJlbW92ZUNsYXNzKGMuY3Vyc29yKSwgdi5vZmYoInJlc2l6ZSIgKyBwKQ0KICAgICAgICAgICAgICAgIH0pLCB3KCJSZXNpemUiICsgZCwgYi5yZXNpemVJbWFnZSksIGIuaXNMb3dJRSAmJiB3KCJBZnRlckNoYW5nZSIsIGIucmVzaXplSW1hZ2UpDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgcmVzaXplSW1hZ2U6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBhID0gYi5jdXJySXRlbTsNCiAgICAgICAgICAgICAgICBpZiAoYSAmJiBhLmltZyAmJiBiLnN0LmltYWdlLnZlcnRpY2FsRml0KSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjID0gMDsNCiAgICAgICAgICAgICAgICAgICAgYi5pc0xvd0lFICYmIChjID0gcGFyc2VJbnQoYS5pbWcuY3NzKCJwYWRkaW5nLXRvcCIpLCAxMCkgKyBwYXJzZUludChhLmltZy5jc3MoInBhZGRpbmctYm90dG9tIiksIDEwKSksIGEuaW1nLmNzcygibWF4LWhlaWdodCIsIGIud0ggLSBjKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBfb25JbWFnZUhhc1NpemU6IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICBhLmltZyAmJiAoYS5oYXNTaXplID0gITAsIEwgJiYgY2xlYXJJbnRlcnZhbChMKSwgYS5pc0NoZWNraW5nSW1nU2l6ZSA9ICExLCB5KCJJbWFnZUhhc1NpemUiLCBhKSwgYS5pbWdIaWRkZW4gJiYgKGIuY29udGVudCAmJiBiLmNvbnRlbnQucmVtb3ZlQ2xhc3MoIm1mcC1sb2FkaW5nIiksIGEuaW1nSGlkZGVuID0gITEpKQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGZpbmRJbWFnZVNpemU6IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICB2YXIgYyA9IDAsDQogICAgICAgICAgICAgICAgICAgIGQgPSBhLmltZ1swXSwNCiAgICAgICAgICAgICAgICAgICAgZSA9IGZ1bmN0aW9uKGYpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIEwgJiYgY2xlYXJJbnRlcnZhbChMKSwgTCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkLm5hdHVyYWxXaWR0aCA+IDAgPyB2b2lkIGIuX29uSW1hZ2VIYXNTaXplKGEpIDogKGMgPiAyMDAgJiYgY2xlYXJJbnRlcnZhbChMKSwgYysrLCB2b2lkKDMgPT09IGMgPyBlKDEwKSA6IDQwID09PSBjID8gZSg1MCkgOiAxMDAgPT09IGMgJiYgZSg1MDApKSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIGYpDQogICAgICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgZSgxKQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGdldEltYWdlOiBmdW5jdGlvbihjLCBkKSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSAwLA0KICAgICAgICAgICAgICAgICAgICBmID0gZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBjICYmIChjLmltZ1swXS5jb21wbGV0ZSA/IChjLmltZy5vZmYoIi5tZnBsb2FkZXIiKSwgYyA9PT0gYi5jdXJySXRlbSAmJiAoYi5fb25JbWFnZUhhc1NpemUoYyksIGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpKSwgYy5oYXNTaXplID0gITAsIGMubG9hZGVkID0gITAsIHkoIkltYWdlTG9hZENvbXBsZXRlIikpIDogKGUrKywgMjAwID4gZSA/IHNldFRpbWVvdXQoZiwgMTAwKSA6IGcoKSkpDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGcgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGMgJiYgKGMuaW1nLm9mZigiLm1mcGxvYWRlciIpLCBjID09PSBiLmN1cnJJdGVtICYmIChiLl9vbkltYWdlSGFzU2l6ZShjKSwgYi51cGRhdGVTdGF0dXMoImVycm9yIiwgaC50RXJyb3IucmVwbGFjZSgiJXVybCUiLCBjLnNyYykpKSwgYy5oYXNTaXplID0gITAsIGMubG9hZGVkID0gITAsIGMubG9hZEVycm9yID0gITApDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGggPSBiLnN0LmltYWdlLA0KICAgICAgICAgICAgICAgICAgICBpID0gZC5maW5kKCIubWZwLWltZyIpOw0KICAgICAgICAgICAgICAgIGlmIChpLmxlbmd0aCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgaiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOw0KICAgICAgICAgICAgICAgICAgICBqLmNsYXNzTmFtZSA9ICJtZnAtaW1nIiwgYy5lbCAmJiBjLmVsLmZpbmQoImltZyIpLmxlbmd0aCAmJiAoai5hbHQgPSBjLmVsLmZpbmQoImltZyIpLmF0dHIoImFsdCIpKSwgYy5pbWcgPSBhKGopLm9uKCJsb2FkLm1mcGxvYWRlciIsIGYpLm9uKCJlcnJvci5tZnBsb2FkZXIiLCBnKSwgai5zcmMgPSBjLnNyYywgaS5pcygiaW1nIikgJiYgKGMuaW1nID0gYy5pbWcuY2xvbmUoKSksIGogPSBjLmltZ1swXSwgai5uYXR1cmFsV2lkdGggPiAwID8gYy5oYXNTaXplID0gITAgOiBqLndpZHRoIHx8IChjLmhhc1NpemUgPSAhMSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmV0dXJuIGIuX3BhcnNlTWFya3VwKGQsIHsNCiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IE0oYyksDQogICAgICAgICAgICAgICAgICAgIGltZ19yZXBsYWNlV2l0aDogYy5pbWcNCiAgICAgICAgICAgICAgICB9LCBjKSwgYi5yZXNpemVJbWFnZSgpLCBjLmhhc1NpemUgPyAoTCAmJiBjbGVhckludGVydmFsKEwpLCBjLmxvYWRFcnJvciA/IChkLmFkZENsYXNzKCJtZnAtbG9hZGluZyIpLCBiLnVwZGF0ZVN0YXR1cygiZXJyb3IiLCBoLnRFcnJvci5yZXBsYWNlKCIldXJsJSIsIGMuc3JjKSkpIDogKGQucmVtb3ZlQ2xhc3MoIm1mcC1sb2FkaW5nIiksIGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpKSwgZCkgOiAoYi51cGRhdGVTdGF0dXMoImxvYWRpbmciKSwgYy5sb2FkaW5nID0gITAsIGMuaGFzU2l6ZSB8fCAoYy5pbWdIaWRkZW4gPSAhMCwgZC5hZGRDbGFzcygibWZwLWxvYWRpbmciKSwgYi5maW5kSW1hZ2VTaXplKGMpKSwgZCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0pOw0KICAgIHZhciBOLCBPID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiB2b2lkIDAgPT09IE4gJiYgKE4gPSB2b2lkIDAgIT09IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKS5zdHlsZS5Nb3pUcmFuc2Zvcm0pLCBODQogICAgfTsNCiAgICBhLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoInpvb20iLCB7DQogICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgIGVuYWJsZWQ6ICExLA0KICAgICAgICAgICAgZWFzaW5nOiAiZWFzZS1pbi1vdXQiLA0KICAgICAgICAgICAgZHVyYXRpb246IDMwMCwNCiAgICAgICAgICAgIG9wZW5lcjogZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBhLmlzKCJpbWciKSA/IGEgOiBhLmZpbmQoImltZyIpDQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIHByb3RvOiB7DQogICAgICAgICAgICBpbml0Wm9vbTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIGEsIGMgPSBiLnN0Lnpvb20sDQogICAgICAgICAgICAgICAgICAgIGQgPSAiLnpvb20iOw0KICAgICAgICAgICAgICAgIGlmIChjLmVuYWJsZWQgJiYgYi5zdXBwb3J0c1RyYW5zaXRpb24pIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGUsIGYsIGcgPSBjLmR1cmF0aW9uLA0KICAgICAgICAgICAgICAgICAgICAgICAgaiA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYiA9IGEuY2xvbmUoKS5yZW1vdmVBdHRyKCJzdHlsZSIpLnJlbW92ZUF0dHIoImNsYXNzIikuYWRkQ2xhc3MoIm1mcC1hbmltYXRlZC1pbWFnZSIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkID0gImFsbCAiICsgYy5kdXJhdGlvbiAvIDFlMyArICJzICIgKyBjLmVhc2luZywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZSA9IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiZml4ZWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgekluZGV4OiA5OTk5LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHkiOiAiaGlkZGVuIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gInRyYW5zaXRpb24iOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlWyItd2Via2l0LSIgKyBmXSA9IGVbIi1tb3otIiArIGZdID0gZVsiLW8tIiArIGZdID0gZVtmXSA9IGQsIGIuY3NzKGUpLCBiDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgayA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIuY29udGVudC5jc3MoInZpc2liaWxpdHkiLCAidmlzaWJsZSIpDQogICAgICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAgICB3KCJCdWlsZENvbnRyb2xzIiArIGQsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGIuX2FsbG93Wm9vbSgpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNsZWFyVGltZW91dChlKSwgYi5jb250ZW50LmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKSwgYSA9IGIuX2dldEl0ZW1Ub1pvb20oKSwgIWEpIHJldHVybiB2b2lkIGsoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gaihhKSwgZi5jc3MoYi5fZ2V0T2Zmc2V0KCkpLCBiLndyYXAuYXBwZW5kKGYpLCBlID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZi5jc3MoYi5fZ2V0T2Zmc2V0KCEwKSksIGUgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaygpLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYucmVtb3ZlKCksIGEgPSBmID0gbnVsbCwgeSgiWm9vbUFuaW1hdGlvbkVuZGVkIikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDE2KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDE2KQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KSwgdyhpICsgZCwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoYi5fYWxsb3dab29tKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2xlYXJUaW1lb3V0KGUpLCBiLnN0LnJlbW92YWxEZWxheSA9IGcsICFhKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhID0gYi5fZ2V0SXRlbVRvWm9vbSgpLCAhYSkgcmV0dXJuOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gaihhKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLmNzcyhiLl9nZXRPZmZzZXQoITApKSwgYi53cmFwLmFwcGVuZChmKSwgYi5jb250ZW50LmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZi5jc3MoYi5fZ2V0T2Zmc2V0KCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTYpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pLCB3KGggKyBkLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGIuX2FsbG93Wm9vbSgpICYmIChrKCksIGYgJiYgZi5yZW1vdmUoKSwgYSA9IG51bGwpDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIF9hbGxvd1pvb206IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW1hZ2UiID09PSBiLmN1cnJJdGVtLnR5cGUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBfZ2V0SXRlbVRvWm9vbTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGIuY3Vyckl0ZW0uaGFzU2l6ZSA/IGIuY3Vyckl0ZW0uaW1nIDogITENCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBfZ2V0T2Zmc2V0OiBmdW5jdGlvbihjKSB7DQogICAgICAgICAgICAgICAgdmFyIGQ7DQogICAgICAgICAgICAgICAgZCA9IGMgPyBiLmN1cnJJdGVtLmltZyA6IGIuc3Quem9vbS5vcGVuZXIoYi5jdXJySXRlbS5lbCB8fCBiLmN1cnJJdGVtKTsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IGQub2Zmc2V0KCksDQogICAgICAgICAgICAgICAgICAgIGYgPSBwYXJzZUludChkLmNzcygicGFkZGluZy10b3AiKSwgMTApLA0KICAgICAgICAgICAgICAgICAgICBnID0gcGFyc2VJbnQoZC5jc3MoInBhZGRpbmctYm90dG9tIiksIDEwKTsNCiAgICAgICAgICAgICAgICBlLnRvcCAtPSBhKHdpbmRvdykuc2Nyb2xsVG9wKCkgLSBmOw0KICAgICAgICAgICAgICAgIHZhciBoID0gew0KICAgICAgICAgICAgICAgICAgICB3aWR0aDogZC53aWR0aCgpLA0KICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICh1ID8gZC5pbm5lckhlaWdodCgpIDogZFswXS5vZmZzZXRIZWlnaHQpIC0gZyAtIGYNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgIHJldHVybiBPKCkgPyBoWyItbW96LXRyYW5zZm9ybSJdID0gaC50cmFuc2Zvcm0gPSAidHJhbnNsYXRlKCIgKyBlLmxlZnQgKyAicHgsIiArIGUudG9wICsgInB4KSIgOiAoaC5sZWZ0ID0gZS5sZWZ0LCBoLnRvcCA9IGUudG9wKSwgaA0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSk7DQogICAgdmFyIFAgPSAiaWZyYW1lIiwNCiAgICAgICAgUSA9ICIvL2Fib3V0OmJsYW5rIiwNCiAgICAgICAgUiA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgIGlmIChiLmN1cnJUZW1wbGF0ZVtQXSkgew0KICAgICAgICAgICAgICAgIHZhciBjID0gYi5jdXJyVGVtcGxhdGVbUF0uZmluZCgiaWZyYW1lIik7DQogICAgICAgICAgICAgICAgYy5sZW5ndGggJiYgKGEgfHwgKGNbMF0uc3JjID0gUSksIGIuaXNJRTggJiYgYy5jc3MoImRpc3BsYXkiLCBhID8gImJsb2NrIiA6ICJub25lIikpDQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgYS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKFAsIHsNCiAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgbWFya3VwOiAnPGRpdiBjbGFzcz0ibWZwLWlmcmFtZS1zY2FsZXIiPjxkaXYgY2xhc3M9Im1mcC1jbG9zZSI+PC9kaXY+PGlmcmFtZSBjbGFzcz0ibWZwLWlmcmFtZSIgc3JjPSIvL2Fib3V0OmJsYW5rIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPjwvZGl2PicsDQogICAgICAgICAgICBzcmNBY3Rpb246ICJpZnJhbWVfc3JjIiwNCiAgICAgICAgICAgIHBhdHRlcm5zOiB7DQogICAgICAgICAgICAgICAgeW91dHViZTogew0KICAgICAgICAgICAgICAgICAgICBpbmRleDogInlvdXR1YmUuY29tIiwNCiAgICAgICAgICAgICAgICAgICAgaWQ6ICJ2PSIsDQogICAgICAgICAgICAgICAgICAgIHNyYzogIi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyVpZCU/YXV0b3BsYXk9MSINCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHZpbWVvOiB7DQogICAgICAgICAgICAgICAgICAgIGluZGV4OiAidmltZW8uY29tLyIsDQogICAgICAgICAgICAgICAgICAgIGlkOiAiLyIsDQogICAgICAgICAgICAgICAgICAgIHNyYzogIi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8laWQlP2F1dG9wbGF5PTEiDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBnbWFwczogew0KICAgICAgICAgICAgICAgICAgICBpbmRleDogIi8vbWFwcy5nb29nbGUuIiwNCiAgICAgICAgICAgICAgICAgICAgc3JjOiAiJWlkJSZvdXRwdXQ9ZW1iZWQiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBwcm90bzogew0KICAgICAgICAgICAgaW5pdElmcmFtZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgYi50eXBlcy5wdXNoKFApLCB3KCJCZWZvcmVDaGFuZ2UiLCBmdW5jdGlvbihhLCBiLCBjKSB7DQogICAgICAgICAgICAgICAgICAgIGIgIT09IGMgJiYgKGIgPT09IFAgPyBSKCkgOiBjID09PSBQICYmIFIoITApKQ0KICAgICAgICAgICAgICAgIH0pLCB3KGggKyAiLiIgKyBQLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgUigpDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBnZXRJZnJhbWU6IGZ1bmN0aW9uKGMsIGQpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IGMuc3JjLA0KICAgICAgICAgICAgICAgICAgICBmID0gYi5zdC5pZnJhbWU7DQogICAgICAgICAgICAgICAgYS5lYWNoKGYucGF0dGVybnMsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZS5pbmRleE9mKHRoaXMuaW5kZXgpID4gLTEgPyAodGhpcy5pZCAmJiAoZSA9ICJzdHJpbmciID09IHR5cGVvZiB0aGlzLmlkID8gZS5zdWJzdHIoZS5sYXN0SW5kZXhPZih0aGlzLmlkKSArIHRoaXMuaWQubGVuZ3RoLCBlLmxlbmd0aCkgOiB0aGlzLmlkLmNhbGwodGhpcywgZSkpLCBlID0gdGhpcy5zcmMucmVwbGFjZSgiJWlkJSIsIGUpLCAhMSkgOiB2b2lkIDANCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB2YXIgZyA9IHt9Ow0KICAgICAgICAgICAgICAgIHJldHVybiBmLnNyY0FjdGlvbiAmJiAoZ1tmLnNyY0FjdGlvbl0gPSBlKSwgYi5fcGFyc2VNYXJrdXAoZCwgZywgYyksIGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpLCBkDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KTsNCiAgICB2YXIgUyA9IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgIHZhciBjID0gYi5pdGVtcy5sZW5ndGg7DQogICAgICAgICAgICByZXR1cm4gYSA+IGMgLSAxID8gYSAtIGMgOiAwID4gYSA/IGMgKyBhIDogYQ0KICAgICAgICB9LA0KICAgICAgICBUID0gZnVuY3Rpb24oYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEucmVwbGFjZSgvJWN1cnIlL2dpLCBiICsgMSkucmVwbGFjZSgvJXRvdGFsJS9naSwgYykNCiAgICAgICAgfTsNCiAgICBhLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoImdhbGxlcnkiLCB7DQogICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgIGVuYWJsZWQ6ICExLA0KICAgICAgICAgICAgYXJyb3dNYXJrdXA6ICc8YnV0dG9uIHRpdGxlPSIldGl0bGUlIiB0eXBlPSJidXR0b24iIGNsYXNzPSJtZnAtYXJyb3cgbWZwLWFycm93LSVkaXIlIj48L2J1dHRvbj4nLA0KICAgICAgICAgICAgcHJlbG9hZDogWzAsIDJdLA0KICAgICAgICAgICAgbmF2aWdhdGVCeUltZ0NsaWNrOiAhMCwNCiAgICAgICAgICAgIGFycm93czogITAsDQogICAgICAgICAgICB0UHJldjogIlByZXZpb3VzIChMZWZ0IGFycm93IGtleSkiLA0KICAgICAgICAgICAgdE5leHQ6ICJOZXh0IChSaWdodCBhcnJvdyBrZXkpIiwNCiAgICAgICAgICAgIHRDb3VudGVyOiAiJWN1cnIlIG9mICV0b3RhbCUiDQogICAgICAgIH0sDQogICAgICAgIHByb3RvOiB7DQogICAgICAgICAgICBpbml0R2FsbGVyeTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdmFyIGMgPSBiLnN0LmdhbGxlcnksDQogICAgICAgICAgICAgICAgICAgIGUgPSAiLm1mcC1nYWxsZXJ5IjsNCiAgICAgICAgICAgICAgICByZXR1cm4gYi5kaXJlY3Rpb24gPSAhMCwgYyAmJiBjLmVuYWJsZWQgPyAoZiArPSAiIG1mcC1nYWxsZXJ5IiwgdyhtICsgZSwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIGMubmF2aWdhdGVCeUltZ0NsaWNrICYmIGIud3JhcC5vbigiY2xpY2siICsgZSwgIi5tZnAtaW1nIiwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYi5pdGVtcy5sZW5ndGggPiAxID8gKGIubmV4dCgpLCAhMSkgOiB2b2lkIDANCiAgICAgICAgICAgICAgICAgICAgfSksIGQub24oImtleWRvd24iICsgZSwgZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMzcgPT09IGEua2V5Q29kZSA/IGIucHJldigpIDogMzkgPT09IGEua2V5Q29kZSAmJiBiLm5leHQoKQ0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIH0pLCB3KCJVcGRhdGVTdGF0dXMiICsgZSwgZnVuY3Rpb24oYSwgYykgew0KICAgICAgICAgICAgICAgICAgICBjLnRleHQgJiYgKGMudGV4dCA9IFQoYy50ZXh0LCBiLmN1cnJJdGVtLmluZGV4LCBiLml0ZW1zLmxlbmd0aCkpDQogICAgICAgICAgICAgICAgfSksIHcobCArIGUsIGZ1bmN0aW9uKGEsIGQsIGUsIGYpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGcgPSBiLml0ZW1zLmxlbmd0aDsNCiAgICAgICAgICAgICAgICAgICAgZS5jb3VudGVyID0gZyA+IDEgPyBUKGMudENvdW50ZXIsIGYuaW5kZXgsIGcpIDogIiINCiAgICAgICAgICAgICAgICB9KSwgdygiQnVpbGRDb250cm9scyIgKyBlLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGIuaXRlbXMubGVuZ3RoID4gMSAmJiBjLmFycm93cyAmJiAhYi5hcnJvd0xlZnQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkID0gYy5hcnJvd01hcmt1cCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlID0gYi5hcnJvd0xlZnQgPSBhKGQucmVwbGFjZSgvJXRpdGxlJS9naSwgYy50UHJldikucmVwbGFjZSgvJWRpciUvZ2ksICJsZWZ0IikpLmFkZENsYXNzKHMpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBiLmFycm93UmlnaHQgPSBhKGQucmVwbGFjZSgvJXRpdGxlJS9naSwgYy50TmV4dCkucmVwbGFjZSgvJWRpciUvZ2ksICJyaWdodCIpKS5hZGRDbGFzcyhzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGUuY2xpY2soZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYi5wcmV2KCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBmLmNsaWNrKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIubmV4dCgpDQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgYi5jb250YWluZXIuYXBwZW5kKGUuYWRkKGYpKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSksIHcobiArIGUsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBiLl9wcmVsb2FkVGltZW91dCAmJiBjbGVhclRpbWVvdXQoYi5fcHJlbG9hZFRpbWVvdXQpLCBiLl9wcmVsb2FkVGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBiLnByZWxvYWROZWFyYnlJbWFnZXMoKSwgYi5fcHJlbG9hZFRpbWVvdXQgPSBudWxsDQogICAgICAgICAgICAgICAgICAgIH0sIDE2KQ0KICAgICAgICAgICAgICAgIH0pLCB2b2lkIHcoaCArIGUsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBkLm9mZihlKSwgYi53cmFwLm9mZigiY2xpY2siICsgZSksIGIuYXJyb3dSaWdodCA9IGIuYXJyb3dMZWZ0ID0gbnVsbA0KICAgICAgICAgICAgICAgIH0pKSA6ICExDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgbmV4dDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgYi5kaXJlY3Rpb24gPSAhMCwgYi5pbmRleCA9IFMoYi5pbmRleCArIDEpLCBiLnVwZGF0ZUl0ZW1IVE1MKCkNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBwcmV2OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBiLmRpcmVjdGlvbiA9ICExLCBiLmluZGV4ID0gUyhiLmluZGV4IC0gMSksIGIudXBkYXRlSXRlbUhUTUwoKQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGdvVG86IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICBiLmRpcmVjdGlvbiA9IGEgPj0gYi5pbmRleCwgYi5pbmRleCA9IGEsIGIudXBkYXRlSXRlbUhUTUwoKQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHByZWxvYWROZWFyYnlJbWFnZXM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHZhciBhLCBjID0gYi5zdC5nYWxsZXJ5LnByZWxvYWQsDQogICAgICAgICAgICAgICAgICAgIGQgPSBNYXRoLm1pbihjWzBdLCBiLml0ZW1zLmxlbmd0aCksDQogICAgICAgICAgICAgICAgICAgIGUgPSBNYXRoLm1pbihjWzFdLCBiLml0ZW1zLmxlbmd0aCk7DQogICAgICAgICAgICAgICAgZm9yIChhID0gMTsgYSA8PSAoYi5kaXJlY3Rpb24gPyBlIDogZCk7IGErKykgYi5fcHJlbG9hZEl0ZW0oYi5pbmRleCArIGEpOw0KICAgICAgICAgICAgICAgIGZvciAoYSA9IDE7IGEgPD0gKGIuZGlyZWN0aW9uID8gZCA6IGUpOyBhKyspIGIuX3ByZWxvYWRJdGVtKGIuaW5kZXggLSBhKQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIF9wcmVsb2FkSXRlbTogZnVuY3Rpb24oYykgew0KICAgICAgICAgICAgICAgIGlmIChjID0gUyhjKSwgIWIuaXRlbXNbY10ucHJlbG9hZGVkKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBkID0gYi5pdGVtc1tjXTsNCiAgICAgICAgICAgICAgICAgICAgZC5wYXJzZWQgfHwgKGQgPSBiLnBhcnNlRWwoYykpLCB5KCJMYXp5TG9hZCIsIGQpLCAiaW1hZ2UiID09PSBkLnR5cGUgJiYgKGQuaW1nID0gYSgnPGltZyBjbGFzcz0ibWZwLWltZyIgLz4nKS5vbigibG9hZC5tZnBsb2FkZXIiLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGQuaGFzU2l6ZSA9ICEwDQogICAgICAgICAgICAgICAgICAgIH0pLm9uKCJlcnJvci5tZnBsb2FkZXIiLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGQuaGFzU2l6ZSA9ICEwLCBkLmxvYWRFcnJvciA9ICEwLCB5KCJMYXp5TG9hZEVycm9yIiwgZCkNCiAgICAgICAgICAgICAgICAgICAgfSkuYXR0cigic3JjIiwgZC5zcmMpKSwgZC5wcmVsb2FkZWQgPSAhMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0pOw0KICAgIHZhciBVID0gInJldGluYSI7DQogICAgYS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKFUsIHsNCiAgICAgICAgb3B0aW9uczogew0KICAgICAgICAgICAgcmVwbGFjZVNyYzogZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBhLnNyYy5yZXBsYWNlKC9cLlx3KyQvLCBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiQDJ4IiArIGENCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHJhdGlvOiAxDQogICAgICAgIH0sDQogICAgICAgIHByb3RvOiB7DQogICAgICAgICAgICBpbml0UmV0aW5hOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBpZiAod2luZG93LmRldmljZVBpeGVsUmF0aW8gPiAxKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBhID0gYi5zdC5yZXRpbmEsDQogICAgICAgICAgICAgICAgICAgICAgICBjID0gYS5yYXRpbzsNCiAgICAgICAgICAgICAgICAgICAgYyA9IGlzTmFOKGMpID8gYygpIDogYywgYyA+IDEgJiYgKHcoIkltYWdlSGFzU2l6ZS4iICsgVSwgZnVuY3Rpb24oYSwgYikgew0KICAgICAgICAgICAgICAgICAgICAgICAgYi5pbWcuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4LXdpZHRoIjogYi5pbWdbMF0ubmF0dXJhbFdpZHRoIC8gYywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogIjEwMCUiDQogICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICB9KSwgdygiRWxlbWVudFBhcnNlLiIgKyBVLCBmdW5jdGlvbihiLCBkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBkLnNyYyA9IGEucmVwbGFjZVNyYyhkLCBjKQ0KICAgICAgICAgICAgICAgICAgICB9KSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KSwgQSgpDQp9KTs="}},"time_used":495,"timings":{"blocked":400,"dns":0,"connect":0,"send":0,"wait":94,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/webfonts/fa-solid-900.woff","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.863Z","timestamp":1785136900863,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /webfonts/fa-solid-900.woff HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/css/all.min.css\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: font/woff\r\nContent-Length: 98996\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":98996,"size_decoded":99207,"mime_type":"font/woff","magic":"Web Open Font Format, TrueType, length 98996, version 330.-16253","md5":"93f284548b42ab76fe3fd03a9d3a2180","sha1":"61f40daca6978e6e7ab761e748c2dd9d236c7586","sha256":"3b60c77e0c81c1c9cdc9adb96ade6dbac7ef2b9402a316185855de7122e517db","sha512":"0bedae5c742cadfc19982366d64ee40e5bfda7f7a51809f2c2c0887854d4496650debb80a50a0ffe97bfeceb677c73e026424cb7850edc4846b001208f4eb410","ssdeep":"3072:Uf67ZRHBeOxl0/Z0jr0JdRBISebxZoRp6w0QHos:Ui7rHMYrWdK9mRp6dQHos","tlshash":"e8a312bced0f2d47d175e967e3e2c7dde96a6ad8462fc67c3d8c02518989c537808a02","first_seen":"2023-05-17T19:28:17Z","last_seen":"2026-08-09T21:13:38.254052Z","times_seen":445,"resource_available":false,"data":"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"}},"time_used":93,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":92,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/52095.e6eb530a13b2febd2cd3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.312Z","timestamp":1785136901312,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52095.e6eb530a13b2febd2cd3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-18c2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7f0b4ee85022718bc14d605cd3cbad8b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6338,"size_decoded":2044,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6338), with no line terminators","md5":"caf4bfb0a92f81c0fb9d32b268c23f3c","sha1":"9157a7392cd2a99623089b8a8b0c46066c18c88b","sha256":"3fac059dd2a8faed0d0e54c7f4f74b33d35ee9572c353c6fde78c6cd96f168a1","sha512":"d6b7104f441ac900f2633fda4217d59f42503ae78aed48880181f69174c8e2422ec2a64e191f78c7760476881aa76db8007e9f911ebe2ff98ccab39b640ff4ef","ssdeep":"192:lnsu2uCTwTyQnjnvOJOdr45YERrzxD0VOnPn3nTuouzTmTogen9gqpnq:BI","tlshash":"0fd1794cf146b43e265f353a4319d1eca218b4c2e9c21ff7b971d2244ae1bc2e5f991a","first_seen":"2026-07-23T14:00:31.721517Z","last_seen":"2026-07-28T06:17:53.578409Z","times_seen":383,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtemtrcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXpra3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9Lml0ZW0tdlRtOE8wTE17dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcH0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9Lml0ZW0tdlRtOE8wTE0uaW50ZXJhY3RpdmUtdlRtOE8wTE0uaG92ZXJlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNLmhvdmVyZWQtdlRtOE8wTE17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tdlRtOE8wTE0uZGlzYWJsZWQtdlRtOE8wTE17Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNX0uaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmRpc2FibGVkLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfX0uaXRlbS12VG04TzBMTS5hY3RpdmUtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTSAuc2hvcnRjdXQtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZSAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlciAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLXZUbThPMExNLm5vcm1hbC12VG04TzBMTXtoZWlnaHQ6MzJweH0uaXRlbS12VG04TzBMTS5iaWctdlRtOE8wTE17aGVpZ2h0OjY4cHh9Lmljb25DZWxsLXZUbThPMExNe21pbi13aWR0aDo2cHh9Lmljb24tdlRtOE8wTE17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweDt3aWR0aDoyOHB4fS5pY29uLXZUbThPMExNIHN2Z3toZWlnaHQ6MjhweDt3aWR0aDoyOHB4fS5jb250ZW50LXZUbThPMExNe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjM2NXB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWwtdlRtOE8wTE17ZmxleDoxIDEgYXV0bztmb250LXNpemU6MTRweDtvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nLWlubGluZS1zdGFydDoycHg7dGV4dC1hbGlnbjpzdGFydH0udG9vbGJveC12VG04TzBMTXtmbGV4OjAgMSBhdXRvO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC5pdGVtLXZUbThPMExNOmhvdmVyIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjF9fS5hcnJvd0ljb24tdlRtOE8wTE17ZmxleDowIDEgYXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHh9LmFycm93SWNvbi12VG04TzBMTSBzdmd7aGVpZ2h0OjEwcHg7ZmlsbDpjdXJyZW50Q29sb3J9LmFycm93SWNvbi12VG04TzBMTSBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LXZUbThPMExNe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0KSk7ZmxleDowIDEgYXV0bztmb250LXNpemU6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7cGFkZGluZy10b3A6MnB4fS5zdWJNZW51LXZUbThPMExNe2hlaWdodDowfS5pbnZpc2libGVIb3RrZXktdlRtOE8wTE17dmlzaWJpbGl0eTpoaWRkZW59Lml0ZW0tZDlqTE9MclJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmctYmxvY2s6OHB4IDhweDtwYWRkaW5nLWlubGluZTo0MnB4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0uaXRlbS1kOWpMT0xyUi5lbXB0eUljb25zLWQ5akxPTHJSe3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lml0ZW0tZDlqTE9MclIubG9hZGluZy1kOWpMT0xyUntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5pdGVtLWQ5akxPTHJSLmRpc2FibGVkLWQ5akxPTHJSe2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjV9Lml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5kaXNhYmxlZC1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfS5pdGVtLWQ5akxPTHJSLmludGVyYWN0aXZlLWQ5akxPTHJSLmhvdmVyZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0uaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUi5ob3ZlcmVkLWQ5akxPTHJSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5pdGVtLWQ5akxPTHJSLm5vcm1hbC1kOWpMT0xyUnttaW4taGVpZ2h0OjQwcHh9Lml0ZW0tZDlqTE9MclIuYmlnLWQ5akxPTHJSe21pbi1oZWlnaHQ6NjhweH0uaWNvbi1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3dpZHRoOjI4cHh9Lmljb24tZDlqTE9MclIsLmxhYmVsLWQ5akxPTHJSe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX0ubGFiZWwtZDlqTE9MclJ7ZmxleC1ncm93OjE7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4taW5saW5lLWVuZDo4cHg7bWF4LXdpZHRoOjEwMCU7d29yZC1icmVhazpicmVhay13b3JkfS50aXRsZS1kOWpMT0xyUntmb250LXdlaWdodDo3MDB9LnRpdGxlLWQ5akxPTHJSIC5pY29uLWQ5akxPTHJSOmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5uZXN0ZWQtZDlqTE9MclJ7YWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0bzt3aWR0aDoxOHB4fS5uZXN0ZWQtZDlqTE9MclI6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LWQ5akxPTHJSe2xpbmUtaGVpZ2h0OjI0cHg7cGFkZGluZzowfS5yZW1vdmUtZDlqTE9MclIsLnNob3J0Y3V0LWQ5akxPTHJSe21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99LnJlbW92ZS1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23743.4733137af2f232a6a34a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.360Z","timestamp":1785136901360,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23743.4733137af2f232a6a34a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5062\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 25cd45c90df3aa3b110fb62993ee8c44\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20578,"size_decoded":7832,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"0662db7d4ac07059ef6d238a7fa48e27","sha1":"736ed22fb893e48eb48b0150ec68ee0e3c69c7b2","sha256":"af1154bdae13a0f96f45923150360a2e20a73f83a62d0d671a137604a1ffe7bd","sha512":"d0f916877c8757288f5d0a63c009b2a6c596c888960ca29b3ca6ac71f629591e473f08f48b89b10d13d074a78ffe51c1cee690861938863df5a0265605fd6df2","ssdeep":"384:9Xwl5lUwL/+MbKlpYZketvNCY7hbyc7KukFhX3ma3anayRwsix6udtd4MkiAN:9Xwl57/bYCPzCY7IgNWaayRD06u3SWAN","tlshash":"739208723591307133efebeb5096041cf330b418a94b88e4b1e9689d35e26b461b6fde","first_seen":"2026-07-23T14:00:31.578797Z","last_seen":"2026-07-29T11:04:57.476864Z","times_seen":278,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMzc0M10sezY4MzU0MihlKXtlLmV4cG9ydHM9e2NvbnRlbnREZWZhdWx0QXBwZWFyYW5jZU1vYmlsZToiY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05YIixiZWdpbjoiYmVnaW4tZzhSb2hnTlgiLGVuZDoiZW5kLWc4Um9oZ05YIix0b3A6InRvcC1nOFJvaGdOWCIsYm90dG9tOiJib3R0b20tZzhSb2hnTlgiLGNvbnRlbnREZWZhdWx0QXBwZWFyYW5jZToiY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05YIn19LDg5NTM3KGUpe2UuZXhwb3J0cz17cG9zaXRpb25lcjoicG9zaXRpb25lci1oQlZrYVAyUCIsbm9Ib3Jpem9udGFsU2hyaW5rOiJub0hvcml6b250YWxTaHJpbmstaEJWa2FQMlAiLG5vSG9yaXpvbnRhbEdyb3c6Im5vSG9yaXpvbnRhbEdyb3ctaEJWa2FQMlAiLG5vVmVydGljYWxTaHJpbms6Im5vVmVydGljYWxTaHJpbmstaEJWa2FQMlAiLG5vVmVydGljYWxHcm93OiJub1ZlcnRpY2FsR3Jvdy1oQlZrYVAyUCIsaW52aXNpYmxlOiJpbnZpc2libGUtaEJWa2FQMlAiLHBvcnRhbDoicG9ydGFsLWhCVmthUDJQIn19LDk5NTczOChlKXtlLmV4cG9ydHM9e3N0dWI6InN0dWItSXVoT2pvdVkifX0sMzI3ODA4KGUpe2UuZXhwb3J0cz17Y29udGVudDoiY29udGVudC1hZjBMQ2d5NSIsc3RyZXRjaDoic3RyZXRjaC1hZjBMQ2d5NSIsYmVnaW46ImJlZ2luLWFmMExDZ3k1IixlbmQ6ImVuZC1hZjBMQ2d5NSIsdG9wOiJ0b3AtYWYwTENneTUiLGJvdHRvbToiYm90dG9tLWFmMExDZ3k1IixiYWNrZHJvcDoiYmFja2Ryb3AtYWYwTENneTUifX0sNzg4NDY1KGUpe2UuZXhwb3J0cz17c2Nyb2xsVHJhcDoic2Nyb2xsVHJhcC1MbjBBSVc0RiIsc2Nyb2xsVHJhcENvbnRlbnQ6InNjcm9sbFRyYXBDb250ZW50LUxuMEFJVzRGIn19LDU2NTUzMChlKXtlLmV4cG9ydHM9e2JvZHlOb1Njcm9sbDoiYm9keU5vU2Nyb2xsLWZPSVJLQXRIIn19LDMxOTY5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU1lcmdlZFJlZnM6KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk2NDU5NCk7ZnVuY3Rpb24gcihlKXtyZXR1cm4oMCxvLnVzZUNhbGxiYWNrKSgoMCxpLm1lcmdlUmVmcykoZSksZSl9fSwyMzY0NTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVk6KCk9PnMsUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRTooKT0+YyxQT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fUkVTSVpFX1dJTkRPVzooKT0+dSxQT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fU0NST0xMX09VVFNJREU6KCk9PmwsUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1RBQjooKT0+ZCxQT1BPVkVSX0RFRkFVTFRfSEVJR0hUOigpPT5yLFBPUE9WRVJfREVGQVVMVF9QTEFDRU1FTlRfUlVMRVM6KCk9PmEsUE9QT1ZFUl9ERUZBVUxUX1dJRFRIOigpPT5pfSk7dmFyIG89big2NDA1MTMpO2NvbnN0IGk9W3tieToiYW5jaG9yIix0eXBlOiJtaW4ifSx7Ynk6ImNvbnRlbnQifV0scj1bXSxhPVtvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVCxvLlBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVCxvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQsby5QTEFDRU1FTlRfVE9QX0FMSUdOX1JJR0hUXSxjPSEwLHM9InBvaW50ZXJkb3duIixsPSEwLHU9ITAsZD0hMH0sNDQ1NDkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcG92ZXJDb250ZXh0UHJvdmlkZXI6KCk9PmEsdXNlUG9wb3ZlckNvbnRleHQ6KCk9PmN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk1NjczMCk7Y29uc3Qgcj0oMCxvLmNyZWF0ZUNvbnRleHQpKHtjbG9zZVBvcG92ZXI6KCk9Pnt9LGlzUnRsOiExLGlzSW5Qb3BvdmVyOiExLGlzQW5jaG9yUG9zaXRpb25lcjohMSxpc01vYmlsZVBvc2l0aW9uZXI6ITF9KTtmdW5jdGlvbiBhKGUpe2NvbnN0e3Bvc2l0aW9uZXI6dCxvbkNsb3NlOm4saXNSdGw6YSxjaGlsZHJlbjpjLG9uUG9wb3ZlckNvbnRlbnRSZXNpemU6c309ZSxsPSgwLG8udXNlTWVtbykoKCgpPT4oe2Nsb3NlUG9wb3ZlcjpuLGlzUnRsOmEsaXNJblBvcG92ZXI6ITAsb25Qb3BvdmVyQ29udGVudFJlc2l6ZTpzLGlzQW5jaG9yUG9zaXRpb25lcjoiYW5jaG9yIj09PXQsaXNNb2JpbGVQb3NpdGlvbmVyOiJtb2JpbGUiPT09dH0pKSxbbixhLHMsdF0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoci5Qcm92aWRlcix7dmFsdWU6bH0sby5jcmVhdGVFbGVtZW50KGkuUG9zaXRpb25lckNvbnRleHRQcm92aWRlcix7cG9zaXRpb25lcjp0fSxjKSl9ZnVuY3Rpb24gYygpe3JldHVybigwLG8udXNlQ29udGV4dCkocil9fSwyMzc2MTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9wb3ZlcjooKT0+Z30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxyPW4ubihpKSxhPW4oMTk0Mjc1KSxjPW4oNzE3OTMyKSxzPW4oMjg2MzEwKSxsPW4oOTcwMzQyKSx1PW4oNzg3ODk1KTtmdW5jdGlvbiBkKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHthbmNob3JlZDpuLHBsYWNlbWVudFJ1bGVzOmksd2lkdGg6cixoZWlnaHQ6YSxpc09wZW46Yyxpc1J0bDpkLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpoLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnA9dCxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmYsYXJpYUxhYmVsbGVkYnk6UCxhcmlhTXVsdGlzZWxlY3RhYmxlOm0scm9sZTpiLGNoaWxkcmVuOngsZ2V0Um9vdFJlY3Q6ZyxyZXBvc2l0aW9uVHJpZ2dlcnM6QyxyZXBvc2l0aW9uRGVwZW5kZW5jaWVzOkUsY29udGVudFJlc2l6ZTp2LGRhdGFRYUlkOnksc2Nyb2xsQ29udGFpbmVyOlJ9PWUsdz0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHApO3N3aXRjaChuLnR5cGUpe2Nhc2UiZWxlbWVudCI6cmV0dXJuIG8uY3JlYXRlRWxlbWVudChsLkVsZW1lbnRQb3NpdGlvbmVyLHtwbGFjZW1lbnRSdWxlczppLHdpZHRoOnIsaGVpZ2h0OmEsaXNPcGVuOmMsaXNSdGw6ZCwKYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmgscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dyxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmYsYXJpYUxhYmVsbGVkYnk6UCxhcmlhTXVsdGlzZWxlY3RhYmxlOm0scm9sZTpiLGNoaWxkcmVuOngsYW5jaG9yZWRBdDpuLmF0LGdldFJvb3RSZWN0OmcscmVwb3NpdGlvblRyaWdnZXJzOkMsY29udGVudFJlc2l6ZTp2LHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6RSxkYXRhUWFJZDp5LHNjcm9sbENvbnRhaW5lcjpSfSk7Y2FzZSJyZWN0YW5nbGUiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQocy5SZWN0YW5nbGVQb3NpdGlvbmVyLHtwbGFjZW1lbnRSdWxlczppLHdpZHRoOnIsaGVpZ2h0OmEsaXNPcGVuOmMsaXNSdGw6ZCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6aCxyZWZPYmplY3RUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp3LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6ZixhcmlhTGFiZWxsZWRieTpQLGFyaWFNdWx0aXNlbGVjdGFibGU6bSxyb2xlOmIsY2hpbGRyZW46eCxhbmNob3JlZEF0Om4uYXQsZ2V0Um9vdFJlY3Q6Zyxjb250ZW50UmVzaXplOnYscmVwb3NpdGlvbkRlcGVuZGVuY2llczpFLHJlcG9zaXRpb25UcmlnZ2VyczpDLGRhdGFRYUlkOnksc2Nyb2xsQ29udGFpbmVyOlJ9KX19dmFyIGg9big0NDU0OTMpLHA9big1NjI5OCksZj1uKDg3MzA5MCksUD1uKDcwNjk0MyksbT1uKDk1NjczMCksYj1uKDY4MzU0MikseD1uLm4oYik7Y29uc3QgZz0oMCxwLmlnbm9yZU9uU1NSKSgoZnVuY3Rpb24oZSl7Y29uc3R7aXNSdGw6dH09KDAsaC51c2VQb3BvdmVyQ29udGV4dCkoKSx7aXNPcGVuOm4sb25DbG9zZTppLG1vYmlsZVBvc2l0aW9uZXJTaWRlOnM9ImJvdHRvbSIsbW9iaWxlUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmw9cigpKHgoKS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUseCgpW3NdKSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp1LGlzUnRsOnA9dCxjaGlsZHJlbjpiLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpnPXgoKS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2Uscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eSxwbGFjZW1lbnRSdWxlczpSLHdpZHRoOncsaGVpZ2h0OlMsYW5jaG9yZWQ6Tyxtb2JpbGVQb3NpdGlvbmVyU3RyZXRjaDpBLHJlcG9zaXRpb25UcmlnZ2VyczpNPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VCxtb2JpbGVCcmVha3BvaW50OkwsY29udGVudFJlc2l6ZTpOLGRhdGFRYUlkOkYsc2Nyb2xsQ29udGFpbmVyOl99PWUse2lzSW5Qb3BvdmVyOkl9PSgwLGgudXNlUG9wb3ZlckNvbnRleHQpKCkse2lzTW9iaWxlUG9zaXRpb25lcjpXfT0oMCxtLnVzZVBvc2l0aW9uZXJDb250ZXh0KSgpLHo9KDAsYy51c2VNYXRjaE1lZGlhKShMPz9mLkRFRkFVTFRfUE9QT1ZFUl9CUkVBS1BPSU5UKSxEPSgwLG8udXNlTWVtbykoUC5jcmVhdGVTaWduYWwsW10pO3JldHVybih2b2lkIDA9PT1MJiZJP1c6eik/by5jcmVhdGVFbGVtZW50KGEuTW9iaWxlUG9zaXRpb25lcix7aXNPcGVuOm4sb25DbG9zZTppLGNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmwscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dSxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OnksYW5jaG9yZWRBdDoiZWxlbWVudCI9PT1PLnR5cGU/Ty5hdDp2b2lkIDAsY2hpbGRyZW46by5jcmVhdGVFbGVtZW50KGguUG9wb3ZlckNvbnRleHRQcm92aWRlcix7cG9zaXRpb25lcjoibW9iaWxlIixvbkNsb3NlOmksaXNSdGw6cH0sYikscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LHNpZGU6cyxzdHJldGNoOkEsZGF0YVFhSWQ6Rn0pOm8uY3JlYXRlRWxlbWVudChkLHthbmNob3JlZDpPLGlzUnRsOnAsaXNPcGVuOm4sYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmcscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp1LHBsYWNlbWVudFJ1bGVzOlIsd2lkdGg6dyxoZWlnaHQ6UyxjaGlsZHJlbjpvLmNyZWF0ZUVsZW1lbnQoaC5Qb3BvdmVyQ29udGV4dFByb3ZpZGVyLHtwb3NpdGlvbmVyOiJhbmNob3IiLG9uQ2xvc2U6aSxpc1J0bDpwLG9uUG9wb3ZlckNvbnRlbnRSZXNpemU6RC5maXJlfSxiKSxyZXBvc2l0aW9uVHJpZ2dlcnM6Wy4uLk0sRF0scmVwb3NpdGlvbkRlcGVuZGVuY2llczpULGNvbnRlbnRSZXNpemU6TixkYXRhUWFJZDpGLHNjcm9sbENvbnRhaW5lcjpffSl9KSl9LDk3MDM0MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtFbGVtZW50UG9zaXRpb25lcjooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oODU0MzM4KSxyPW4oODk1OTIxKSxhPW4oMjg2MzEwKTtmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHthbmNob3JlZEF0Om4saXNPcGVuOmMscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6cz10LHdpZHRoOmwsaGVpZ2h0OnUsaXNSdGw6ZCxwbGFjZW1lbnRSdWxlczpoLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpwLGNoaWxkcmVuOmYscm9sZTpQLGFyaWFMYWJlbGxlZGJ5Om0sYXJpYU11bHRpc2VsZWN0YWJsZTpiLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eCxvblBsYWNlbWVudFJ1bGVTZWxlY3RlZDpnLGdldFJvb3RSZWN0OkMscmVwb3NpdGlvblRyaWdnZXJzOkUsY29udGVudFJlc2l6ZTp2LHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6eSxkYXRhUWFJZDpSLHNjcm9sbENvbnRhaW5lcjp3fT1lLFM9KDAsci51c2VSZWZSZWN0KShuLGMsRSx5KTtyZXR1cm4oMCxpLnVzZUFuY2hvclBvcnRhbFBhaXIpKG4scyksUz9vLmNyZWF0ZUVsZW1lbnQoYS5SZWN0YW5nbGVQb3NpdGlvbmVyLHt3aWR0aDpsLGhlaWdodDp1LGlzUnRsOmQsaXNPcGVuOmMscGxhY2VtZW50UnVsZXM6aCwKYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOnAsY2hpbGRyZW46Zixyb2xlOlAsYXJpYUxhYmVsbGVkYnk6bSxhcmlhTXVsdGlzZWxlY3RhYmxlOmIsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDp4LHJlZk9iamVjdFRvQ29udGVudFdyYXBwZXJFbGVtZW50OnMsYW5jaG9yZWRBdDpTLG9uUGxhY2VtZW50UnVsZVNlbGVjdGVkOmcsZ2V0Um9vdFJlY3Q6Qyxjb250ZW50UmVzaXplOnYscmVwb3NpdGlvblRyaWdnZXJzOkUscmVwb3NpdGlvbkRlcGVuZGVuY2llczp5LGRhdGFRYUlkOlIsc2Nyb2xsQ29udGFpbmVyOnd9KTpudWxsfX0sODk1OTIxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVJlZlJlY3Q6KCk9PmF9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDUyNTI0KTtmdW5jdGlvbiByKGUpe2lmKCFlKXJldHVybjtjb25zdHt4OnQseTpuLHdpZHRoOm8saGVpZ2h0Oml9PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3g6dCx5Om4sd2lkdGg6byxoZWlnaHQ6aX19ZnVuY3Rpb24gYShlLHQsbj1bXSxhPVtdKXtjb25zdFtjLHNdPSgwLG8udXNlU3RhdGUpKCk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKCF0KXJldHVybjtjb25zdCBvPSgpPT57cyhmdW5jdGlvbihlKXtyZXR1cm4gcihlLmN1cnJlbnQpfShlKSl9LGE9bi5tYXAoKGU9PihlLnN1YnNjcmliZShvKSwoKT0+ZS51bnN1YnNjcmliZShvKSkpKTtyZXR1cm4oMCxpLmZvcmtGbikoLi4uYSl9KSxbZSx0LC4uLm5dKSwoMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT57cyh0P3IoZS5jdXJyZW50KTp2b2lkIDApfSksW2UsdCwuLi5hXSksY319LDQwNjI5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7cmV0dXJue3g6MS1lLngseTplLnl9fWZ1bmN0aW9uIGkoZSl7cmV0dXJuIGUubWFwKChlPT5mdW5jdGlvbihlKXtyZXR1cm57Li4uZSxuYW1lOmUucnRsTmFtZXx8ZS5uYW1lLGFuY2hvclBvaW50Om8oZS5hbmNob3JQb2ludCksY29udGVudFBvaW50Om8oZS5jb250ZW50UG9pbnQpLG9mZnNldDplLm9mZnNldD8odD1lLm9mZnNldCx7eDotdC54LHk6dC55fSk6dm9pZCAwfTt2YXIgdH0oZSkpKX1mdW5jdGlvbiByKGUpe3JldHVybntsZWZ0OmUueCxyaWdodDplLngrZS53aWR0aCx0b3A6ZS55LGJvdHRvbTplLnkrZS5oZWlnaHR9fWZ1bmN0aW9uIGEoZSx0LG4pe3JldHVybigxLWUpKnQrZSpufWZ1bmN0aW9uIGMoZSx0LG4sbyxpLHIsYSxjLHMsdSl7Y29uc3R7YW5jaG9yZWRBdFB4OmQsY29udGVudFBvaW50OmgsY29udGVudFN0YXJ0OnAsY29udGVudEVuZDpmfT1mdW5jdGlvbihlLHQsbixvLGkscixhLGMpe2xldCBzPWksbD1yO2NvbnN0IHU9Yy1hLGQ9ZS1zK247MDxkJiYocys9ZCxsKz1kL3UpO2NvbnN0IGg9ZS1vK3M7MDxoJiYocy09aCxsLT1oL3UpO2NvbnN0IHA9dC1sKnU7MDxwJiYocys9cCxsKz1wL3UpO2NvbnN0IGY9dC0oMS1sKSp1OzA8ZiYmKHMtPWYsbC09Zi91KTtyZXR1cm57YW5jaG9yZWRBdFB4OnMsY29udGVudFBvaW50OmwsY29udGVudFN0YXJ0OmEsY29udGVudEVuZDpjfX0oZSx0LG4sbyxpLGMscyx1KTtyZXR1cm4gbChlLHQsbyxkLHIsaCxwLGYpfHwoKFA9bChlLHQsLW4sLWQsLWEsMS1oLC1mLC1wKSk/e2NvbnRlbnRQb2ludEZyYWN0aW9uOjEtUC5jb250ZW50UG9pbnRGcmFjdGlvbixhbmNob3JlZFB4Oi1QLmFuY2hvcmVkUHgsc2xpZGU6UC5zbGlkZX06dm9pZCAwKXx8e2NvbnRlbnRQb2ludEZyYWN0aW9uOmgsYW5jaG9yZWRQeDpkLHNsaWRlOjB9O3ZhciBQfWZ1bmN0aW9uIHMoZSx0LG4pe3JldHVybntjb250ZW50UG9pbnRGcmFjdGlvbjphKGUsdC5jb250ZW50UG9pbnRGcmFjdGlvbixuLmNvbnRlbnRQb2ludEZyYWN0aW9uKSxhbmNob3JlZFB4OmEoZSx0LmFuY2hvcmVkUHgsbi5hbmNob3JlZFB4KSxzbGlkZTphKGUsdC5zbGlkZSxuLnNsaWRlKX19ZnVuY3Rpb24gbChlLHQsbixvLGkscixhLGMpe2NvbnN0IGw9Yy1hLHU9YStyKmwtdCxkPW4tZS10LGg9bCpyLXQscD17Y29udGVudFBvaW50RnJhY3Rpb246dC9sLGFuY2hvcmVkUHg6byxzbGlkZTpofSxmPXtjb250ZW50UG9pbnRGcmFjdGlvbjp0L2wsYW5jaG9yZWRQeDpuLWUsc2xpZGU6aCsobi1vLWUpfTtpZighKGE+PWkpKXJldHVybiB1Pj1pP3MoKGktYSkvKHUtYSkse2NvbnRlbnRQb2ludEZyYWN0aW9uOnIsYW5jaG9yZWRQeDpvLHNsaWRlOjB9LHApOmQ+PWk/cygoaS11KS8oZC11KSxwLGYpOmZ9ZnVuY3Rpb24gdShlLHQsbixvLGksYSxjKXtjb25zdCBzPXsuLi5vLC4uLnIobyl9LGw9ZnVuY3Rpb24oZSx0KXtyZXR1cm57eDplLngrdC5hbmNob3JQb2ludC54KmUud2lkdGgrKHQub2Zmc2V0Py54Pz8wKSx5OmUueSt0LmFuY2hvclBvaW50LnkqZS5oZWlnaHQrKHQub2Zmc2V0Py55Pz8wKX19KGUsaSksdT1uLndpZHRoLHA9aChpLm92ZXJmbG93SG9yaXpvbnRhbCxsLngscy5sZWZ0LHMucmlnaHQsaS5jb250ZW50UG9pbnQueCx1KSxmPU1hdGgubWluKHUscD8/MS8wKSxQPWMmJnZvaWQgMCE9PXAmJmY8dTtQJiZ0LnN0eWxlLnNldFByb3BlcnR5KGEsYCR7cH1weGApO2NvbnN0IG09UD90LmNsaWVudEhlaWdodDpuLmhlaWdodCxiPWgoaS5vdmVyZmxvd1ZlcnRpY2FsLGwueSxzLnRvcCxzLmJvdHRvbSxpLmNvbnRlbnRQb2ludC55LG0pLHg9TWF0aC5taW4obSxiPz8xLzApO1AmJnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoYSk7Y29uc3QgZz1sLngtaS5jb250ZW50UG9pbnQueCp1LEM9bC54KygxLWkuY29udGVudFBvaW50LngpKnUsRT1kKGkub3ZlcmZsb3dIb3Jpem9udGFsLGUueCxlLngrZS53aWR0aCxsLngscy5sZWZ0LHMucmlnaHQsaS5jb250ZW50UG9pbnQueCxnLEMpLHY9bC55LWkuY29udGVudFBvaW50LnkqbSx5PWwueSsoMS1pLmNvbnRlbnRQb2ludC55KSptLFI9ZChpLm92ZXJmbG93VmVydGljYWwsZS55LGUueStlLmhlaWdodCxsLnkscy50b3Ascy5ib3R0b20saS5jb250ZW50UG9pbnQueSx2LHkpO3JldHVybnthbmNob3JlZFB4Ont4OkUuYW5jaG9yZWRQeCx5OlIuYW5jaG9yZWRQeH0sY29udGVudFBvaW50RnJhY3Rpb246ewp4OkUuY29udGVudFBvaW50RnJhY3Rpb24seTpSLmNvbnRlbnRQb2ludEZyYWN0aW9ufSxydWxlOmksaW5pdGlhbENvbnRlbnRTaXplUHg6e3dpZHRoOm4ud2lkdGgsaGVpZ2h0Om4uaGVpZ2h0fSxjb250ZW50U2l6ZUFmdGVyV2lkdGhSZXN0cmljdGlvblB4Ont3aWR0aDpmLGhlaWdodDptfSxjb250ZW50U2l6ZVB4Ont3aWR0aDpmLGhlaWdodDp4fSxtYXhDb250ZW50U2l6ZVB4Ont3aWR0aDpwLGhlaWdodDpifSxzbGlkZTp7eDpFLnNsaWRlLHk6Ui5zbGlkZX19fWZ1bmN0aW9uIGQoZSx0LG4sbyxpLHIsYSxzLGwpe2NvbnN0IHU9aS1zLGQ9bC1yO2lmKCJzbGlkZSI9PT1lfHwiY3JvcCI9PT1lKXtpZihsLXM+ci1pfHx1PjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjAsYW5jaG9yZWRQeDppLHNsaWRlOk1hdGgubWF4KDAsdSl9O2lmKGQ+MClyZXR1cm57Y29udGVudFBvaW50RnJhY3Rpb246MSxhbmNob3JlZFB4OnIsc2xpZGU6TWF0aC5tYXgoMCxkKX19aWYoImNyb3BTbGlkZSI9PT1lKXtjb25zdCBlPWktbyx0PW8tcjtpZihlPjB8fHU+MClyZXR1cm57Y29udGVudFBvaW50RnJhY3Rpb246MCxhbmNob3JlZFB4Omksc2xpZGU6TWF0aC5tYXgoMCxlKX07aWYodD4wfHxkPjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjEsYW5jaG9yZWRQeDpyLHNsaWRlOk1hdGgubWF4KDAsdCl9fWlmKCJjcm9wT3ZlcmZsb3ciPT09ZSl7aWYodT4wKXJldHVybntjb250ZW50UG9pbnRGcmFjdGlvbjowLGFuY2hvcmVkUHg6TWF0aC5taW4oaSxvKSxzbGlkZTowfTtpZihkPjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjEsYW5jaG9yZWRQeDpNYXRoLm1heChyLG8pLHNsaWRlOjB9fXJldHVybiBwKGUpP2MoZS5hbmNob3JTYWZlU3BhY2UsZS5wb3NpdGlvbmVyU2FmZVNwYWNlLHQsbixvLGkscixhLHMsbCk6e2NvbnRlbnRQb2ludEZyYWN0aW9uOmEsYW5jaG9yZWRQeDpvLHNsaWRlOjB9fWZ1bmN0aW9uIGgoZSx0LG4sbyxpLHIpe3JldHVybiJjcm9wIj09PWU/ZnVuY3Rpb24oZSx0LG4sbyxpKXtjb25zdCByPWUtdD49MCYmbi1lPj0wO2lmKHImJigxPT09b3x8MD09PW8pKXJldHVybiBmdW5jdGlvbihlLHQsbixvKXtyZXR1cm4gMD09PW8/bi1lOmUtdH0oZSx0LG4sbyk7Y29uc3R7YXZhaWxhYmxlU3BhY2VTdGFydDphLGF2YWlsYWJsZVNwYWNlRW5kOmN9PVAobyxpLGUsdCxuKTtyZXR1cm4gYStjfSh0LG4sbyxpLHIpOiJjcm9wT3ZlcmZsb3ciPT09ZT9mKHQsbixvLGkscik6InNsaWRlIj09PWU/by1uOiJjcm9wU2xpZGUiPT09ZT9NYXRoLm1pbihvLW4sZih0LG4sbyxpLHIpKToia2VlcE5vbkZpdHRpbmciIT09ZSYmcChlKT90PG4/by10OnQ+bz90LW46dm9pZCAwOnZvaWQgMH1mdW5jdGlvbiBwKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmInNsaWRlT3ZlcmZsb3ciPT09ZS5raW5kfWZ1bmN0aW9uIGYoZSx0LG4sbyxpKXtpZihvPj0xfHxvPD0wKXJldHVybiBmdW5jdGlvbihlLHQsbixvKXtjb25zdCBpPU1hdGgubWF4KDAsZS10KSxyPU1hdGgubWF4KDAsbi1lKSxhPW8+MD9pL286TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGM9bzwxP3IvKDEtbyk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO3JldHVybiBNYXRoLm1pbihhLGMpfShlLHQsbixvKTtjb25zdHthdmFpbGFibGVTcGFjZVN0YXJ0OnIsYXZhaWxhYmxlU3BhY2VFbmQ6YX09UChvLGksZSx0LG4pO3JldHVybiBNYXRoLm1heCgwLHIpK01hdGgubWF4KDAsYSl9ZnVuY3Rpb24gUChlLHQsbixvLGkpe2NvbnN0IHI9dCpNYXRoLm1heChlLDApLGE9dCpNYXRoLm1heCgxLWUsMCk7cmV0dXJue2F2YWlsYWJsZVNwYWNlU3RhcnQ6TWF0aC5taW4obi1vLHIpLGF2YWlsYWJsZVNwYWNlRW5kOk1hdGgubWluKGktbixhKX19ZnVuY3Rpb24gbShlKXtyZXR1cm4gZS5pbml0aWFsQ29udGVudFNpemVQeC53aWR0aC1lLmNvbnRlbnRTaXplUHgud2lkdGh9ZnVuY3Rpb24gYihlKXtyZXR1cm4gZS5jb250ZW50U2l6ZUFmdGVyV2lkdGhSZXN0cmljdGlvblB4LmhlaWdodC1lLmNvbnRlbnRTaXplUHguaGVpZ2h0fWZ1bmN0aW9uIHgoZSl7cmV0dXJuIGUuc2xpZGUueCtlLnNsaWRlLnl9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IG49ZnVuY3Rpb24oZSx0KXtjb25zdCBuPXIoe3g6ZS5hbmNob3JlZFB4LngtZS5jb250ZW50UG9pbnRGcmFjdGlvbi54KmUuY29udGVudFNpemVQeC53aWR0aCx5OmUuYW5jaG9yZWRQeC55LWUuY29udGVudFBvaW50RnJhY3Rpb24ueSplLmNvbnRlbnRTaXplUHguaGVpZ2h0LHdpZHRoOmUuY29udGVudFNpemVQeC53aWR0aCxoZWlnaHQ6ZS5jb250ZW50U2l6ZVB4LmhlaWdodH0pLG89cih0KTtyZXR1cm57bGVmdDpNYXRoLm1heCgwLG8ubGVmdC1uLmxlZnQpLHJpZ2h0Ok1hdGgubWF4KDAsbi5yaWdodC1vLnJpZ2h0KSx0b3A6TWF0aC5tYXgoMCxvLnRvcC1uLnRvcCksYm90dG9tOk1hdGgubWF4KDAsbi5ib3R0b20tby5ib3R0b20pfX0oZSx0KTtyZXR1cm4oMStuLmxlZnQrbi5yaWdodCkqKDErbi50b3Arbi5ib3R0b20pLTF9ZnVuY3Rpb24gQyhlLHQpe3JldHVybntydWxlOmUsb3ZlcmZsb3c6ZyhlLHQpLHdpZHRoRGlmZjptKGUpLGhlaWdodERpZmY6YihlKSxzbGlkZTp4KGUpfX1mdW5jdGlvbiBFKGUpe3JldHVybiAwPT09ZS5vdmVyZmxvdyYmMD09PWUud2lkdGhEaWZmJiYwPT09ZS5oZWlnaHREaWZmJiYwPT09ZS5zbGlkZX1mdW5jdGlvbiB2KGUsdCxuLG8scil7Y29uc3R7cnRsOmEsc2Nyb2xsQ29udGFpbmVyOmMsbWF4V2lkdGhDc3NQcm9wZXJ0eTpzPSJtYXgtd2lkdGgiLG1heEhlaWdodENzc1Byb3BlcnR5Omw9Im1heC1oZWlnaHQiLGNvbnRlbnRPdmVyZmxvd1dyYXA6ZD0hMH09cnx8e30saD1hP2kobyk6byxwPWZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybjtjb25zdCB0PWUuc2Nyb2xsVG9wO3JldHVybigpPT57ZS5zY3JvbGxUb3A9dH19KGMpLGY9ZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQubWFwKCh0PT5bdCxlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUodCldKSk7cmV0dXJuIG4uZm9yRWFjaCgoKFt0LG5dKT0+e24mJmUuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9KSksKCk9PnsKbi5mb3JFYWNoKCgoW3Qsbl0pPT57ZS5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4pfSkpfX0odCxbcyxsXSksUD10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IG09ZnVuY3Rpb24oKXtjb25zdCBvPVtdO2Zvcihjb25zdCBpIG9mIGgpe2NvbnN0IHI9dShlLHQsUCxuLHsuLi5pfSxzLGQpLGE9QyhyLG4pO2lmKEUoYSkpcmV0dXJuIHI7by5wdXNoKGEpfXJldHVybiAxPT09KGk9bykubGVuZ3RoP2lbMF0ucnVsZTppLnNsaWNlKCkuc29ydCgoKGUsdCk9PmUub3ZlcmZsb3chPT10Lm92ZXJmbG93P2Uub3ZlcmZsb3ctdC5vdmVyZmxvdzplLndpZHRoRGlmZiE9PXQud2lkdGhEaWZmP2Uud2lkdGhEaWZmLXQud2lkdGhEaWZmOmUuaGVpZ2h0RGlmZiE9PXQuaGVpZ2h0RGlmZj9lLmhlaWdodERpZmYtdC5oZWlnaHREaWZmOmUuc2xpZGUtdC5zbGlkZSkpWzBdLnJ1bGU7dmFyIGl9KCk7cmV0dXJuIGYoKSxwPy4oKSxtfW4uZCh0LHtjaG9zZVBvc2l0aW9uOigpPT52fSl9LDc3MTQ0NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm4gdC54PD1lLngmJmUueDw9dC54K3Qud2lkdGgmJnQueTw9ZS55JiZlLnk8PXQueSt0LmhlaWdodH1uLmQodCx7aXNJblJlY3Q6KCk9Pm99KX0sMjg2MzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1JlY3RhbmdsZVBvc2l0aW9uZXI6KCk9Pnh9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nykscj1uLm4oaSksYT1uKDU2NTc0NSksYz1uKDU4NTQ4KSxzPW4oODY1MDApLGw9big0MDYyOTQpO2Z1bmN0aW9uIHUoKXtyZXR1cm57eDowLHk6MCx3aWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsaGVpZ2h0OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR9fXZhciBkPW4oMzE5NjkpLGg9big1MjUyNCk7dmFyIHA9big2MDE4NDEpO2Z1bmN0aW9uIGYoZSl7cmV0dXJuIHZvaWQgMCE9PWUmJmlzRmluaXRlKGUpP2Ake2V9cHhgOnZvaWQgMH12YXIgUCxtPW4oODk1MzcpLGI9bi5uKG0pO2Z1bmN0aW9uIHgoZSl7Y29uc3R7aXNSdGw6dCxhbmNob3JlZEF0Om4saXNPcGVuOmkscGxhY2VtZW50UnVsZXM6UCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6bSxyZWZPYmplY3RUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp4LGNoaWxkcmVuOkMsb25QbGFjZW1lbnRSdWxlU2VsZWN0ZWQ6RSxnZXRSb290UmVjdDp2PXUsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDp5LGFyaWFMYWJlbGxlZGJ5OlIsYXJpYU11bHRpc2VsZWN0YWJsZTp3LHJvbGU6Uyx3aWR0aDpPLGhlaWdodDpBLHJlcG9zaXRpb25UcmlnZ2VyczpNPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VD1bXSxjb250ZW50UmVzaXplOkw9MTUsZGF0YVFhSWQ6TixzY3JvbGxDb250YWluZXI6Rixhc3N1bWVOb0NvbnRlbnRXcmFwOl99PWUsST0oMCxvLnVzZU1lbW8pKCgoKT0+KDAscC5pc0FycmF5KShQKT9QOltQXSksW1BdKSxXPSgwLG8udXNlUmVmKShudWxsKSxbeixEXT0oMCxvLnVzZVN0YXRlKSh2b2lkIDApLGs9ZnVuY3Rpb24oZSl7Y29uc3RbdCxuXT0oMCxvLnVzZVN0YXRlKSgoKCk9PlN5bWJvbCgpKSk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IHQ9ZS5tYXAoKGU9Pntjb25zdCB0PSgpPT57bihTeW1ib2woKSl9O3JldHVybiBlLnN1YnNjcmliZSh0KSwoKT0+ZS51bnN1YnNjcmliZSh0KX0pKTtyZXR1cm4oMCxoLmZvcmtGbikoLi4udCl9KSxbLi4uZV0pLHR9KE0pOygwLG8udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpJiZXLmN1cnJlbnQ/RCgoMCxsLmNob3NlUG9zaXRpb24pKG4sVy5jdXJyZW50LHYoKSxJLHtydGw6ISF0LHNjcm9sbENvbnRhaW5lcjpGPy5jdXJyZW50LG1heEhlaWdodENzc1Byb3BlcnR5OiItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhIZWlnaHQiLG1heFdpZHRoQ3NzUHJvcGVydHk6Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1zY3JlZW5SZXN0cmljdGlvbk1heFdpZHRoIixjb250ZW50T3ZlcmZsb3dXcmFwOiFffSkpOkQodm9pZCAwKX0pLFtuLFcsdixJLGksayx0LEYsXywuLi5UXSksKDAsby51c2VFZmZlY3QpKCgoKT0+e2lmKHo/LnJ1bGUmJkUpcmV0dXJuIEUoei5ydWxlKX0pLFt6Py5ydWxlLEVdKTtjb25zdCBWPSgwLGQudXNlTWVyZ2VkUmVmcykoW3gsV10pO2lmKCFpKXJldHVybiBudWxsO2NvbnN0e2NsYXNzbmFtZXM6SCxzdHlsZTpCfT1mdW5jdGlvbihlLHQsbil7Y29uc3Qgbz1bXSxpPXt9LHI9e3dpZHRoOnQsaGVpZ2h0Om59O2Zvcihjb25zdCB0IG9mWyJ3aWR0aCIsImhlaWdodCJdKXtjb25zdCBuPXJbdF07KEFycmF5LmlzQXJyYXkobik/bjpbbl0pLmZpbHRlcihhLmlzRXhpc3RlbnQpLmZvckVhY2goKG49Pntzd2l0Y2gobi5ieSl7Y2FzZSJjb250ZW50IjpyZXR1cm47Y2FzZSJjbGFzcyI6cmV0dXJuIHZvaWQgby5wdXNoKG4uY2xhc3NOYW1lKTtjYXNlImFuY2hvciI6e2NvbnN0IG89bi50eXBlPz8iZXhhY3QiO2lbZ1t0XVtvXV09ZihlW3RdKX19fSkpfXJldHVybntjbGFzc25hbWVzOm8sc3R5bGU6aX19KG4sTyxBKSxHPVttLGIoKS5wb3NpdGlvbmVyXSxqPSEoMSZMKSxVPSEoMiZMKSxRPSEoNCZMKSxYPSEoOCZMKSxZPXIoKShqJiZiKCkubm9Ib3Jpem9udGFsU2hyaW5rLFUmJmIoKS5ub0hvcml6b250YWxHcm93LFEmJmIoKS5ub1ZlcnRpY2FsU2hyaW5rLFgmJmIoKS5ub1ZlcnRpY2FsR3JvdykscT17Li4uQiwiLS11aS1saWItb3V0LXBvc2l0aW9uZXItYW5jaG9yV2lkdGgiOmYobi53aWR0aCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvckhlaWdodCI6ZihuLmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvclRvcCI6ZihuLnkpLCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JMZWZ0IjpmKG4ueCl9O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYy5Qb3J0YWwse2NsYXNzTmFtZTpiKCkucG9ydGFsfSx2b2lkIDA9PT16P28uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShiKCkuaW52aXNpYmxlLC4uLkgsLi4uRyxZKSxzdHlsZTpxLHJlZjpWLAoiZGF0YS1xYS1pZCI6Tn0sQyk6by5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cigpKC4uLkcsLi4uSCxZKSxzdHlsZTp7Ii0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRQb2ludFgiOnouY29udGVudFBvaW50RnJhY3Rpb24ueCwiLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WSI6ei5jb250ZW50UG9pbnRGcmFjdGlvbi55LCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JlZFgiOmYoei5hbmNob3JlZFB4LngpLCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JlZFkiOmYoei5hbmNob3JlZFB4LnkpLCItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhXaWR0aCI6Zih6Lm1heENvbnRlbnRTaXplUHgud2lkdGgpLCItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhIZWlnaHQiOmYoei5tYXhDb250ZW50U2l6ZVB4LmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRIZWlnaHQiOmYoei5jb250ZW50U2l6ZVB4LmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCI6Zih6LmNvbnRlbnRTaXplUHgud2lkdGgpLC4uLnF9LC4uLigwLHMuY29udGVudFByb3BzKSh5LFIsdyxTKSxyZWY6ViwiZGF0YS1xYS1pZCI6Tn0sQykpfSFmdW5jdGlvbihlKXtlW2UuQWxsb3dIb3Jpem9udGFsU2hyaW5rPTFdPSJBbGxvd0hvcml6b250YWxTaHJpbmsiLGVbZS5BbGxvd0hvcml6b250YWxHcm93PTJdPSJBbGxvd0hvcml6b250YWxHcm93IixlW2UuQWxsb3dWZXJ0aWNhbFNocmluaz00XT0iQWxsb3dWZXJ0aWNhbFNocmluayIsZVtlLkFsbG93VmVydGljYWxHcm93PThdPSJBbGxvd1ZlcnRpY2FsR3JvdyJ9KFB8fChQPXt9KSk7Y29uc3QgZz17aGVpZ2h0OntleGFjdDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvckV4YWN0SGVpZ2h0IixtYXg6Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNYXhIZWlnaHQiLG1pbjoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1pbkhlaWdodCJ9LHdpZHRoOntleGFjdDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvckV4YWN0V2lkdGgiLG1heDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1heFdpZHRoIixtaW46Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNaW5XaWR0aCJ9fX0sODY1MDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUsdCxuLG8pe3JldHVybntyb2xlOm8sImFyaWEtbGFiZWxsZWRieSI6dCwiYXJpYS1tdWx0aXNlbGVjdGFibGUiOm4saWQ6ZX19bi5kKHQse2NvbnRlbnRQcm9wczooKT0+b30pfSwxOTQyNzUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TW9iaWxlUG9zaXRpb25lcjooKT0+TX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxyPW4ubihpKSxhPW4oODU0MzM4KSxjPW4oNTg1NDgpLHM9big4NjUwMCksbD1uKDc4Nzg5NSksdT1uKDU4NzE2OCksZD1uKDMxOTY5KSxoPW4oNzM4NDU4KSxwPW4oNTY1NTMwKSxmPW4ubihwKTtmdW5jdGlvbiBQKGU9ITApe2NvbnN0IHQ9d2luZG93LmlubmVyV2lkdGgtZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDt2YXIgbixvO2lmKGV8fCFoLmlzU2FmYXJpfHwwPT09dClyZXR1cm4gZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS11aS1saWItcHJpdmF0ZS1zY3JvbGxUcmFwLXNjcm9sbC13aWR0aCIsYCR7dH1weGApLG49ZG9jdW1lbnQuYm9keSxvPWYoKS5ib2R5Tm9TY3JvbGwsbi5jbGFzc05hbWU9W24uY2xhc3NOYW1lLG9dLmpvaW4oIiAiKSwoKT0+eyFmdW5jdGlvbihlLHQpe2NvbnN0IG49ZS5jbGFzc05hbWUucmVwbGFjZSh0LCIiKSxvPW4uc3BsaXQoIiAiKS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpO2UuY2xhc3NOYW1lPW99KGRvY3VtZW50LmJvZHksZigpLmJvZHlOb1Njcm9sbCksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoZigpLmJvZHlOb1Njcm9sbCl8fGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tdWktbGliLXByaXZhdGUtc2Nyb2xsVHJhcC1zY3JvbGwtd2lkdGgiKX19dmFyIG09big3ODg0NjUpLGI9bi5uKG0pO2NvbnN0IHg9ZT0+e2UmJmcoZSl9O2Z1bmN0aW9uIGcoZSl7ZS5zY3JvbGxUb3A9NWUzLGUuc2Nyb2xsTGVmdD01ZTN9Y29uc3QgQz0oMCx1LmRlZmF1bHQpKChlPT57ZyhlLmN1cnJlbnRUYXJnZXQpfSksMTAwKTtmdW5jdGlvbiBFKGUpe2NvbnN0e3JlZmVyZW5jZTp0LGRpc2FibGVTYWZhcmlTY3JvbGxiYXJzOm49ITB9PWUsaT0oMCxkLnVzZU1lcmdlZFJlZnMpKFt4LHRdKTtyZXR1cm4oMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT5QKG4pKSxbbl0pLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmIoKS5zY3JvbGxUcmFwLHJlZjppLG9uU2Nyb2xsOkN9LGUuY2hpbGRyZW4sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YigpLnNjcm9sbFRyYXBDb250ZW50fSkpfXZhciB2PW4oMTI5MzY1KSx5PW4oOTk1NzM4KSxSPW4ubih5KTtmdW5jdGlvbiB3KCl7cmV0dXJuIGguaXNTYWZhcmkmJmguaXNJT1M/by5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCwoMCx2LmNyZWF0ZVBvcnRhbCkoby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6UigpLnN0dWJ9KSxkb2N1bWVudC5ib2R5KSk6bnVsbH12YXIgUyxPPW4oMzI3ODA4KSxBPW4ubihPKTtmdW5jdGlvbiBNKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHtpc09wZW46bixvbkNsb3NlOmksY2hpbGRyZW46dSxjYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpkLGFuY2hvcmVkQXQ6aCxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpwPXQsc2lkZTpmPSJib3R0b20iLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6UCxhcmlhTGFiZWxsZWRieTptLGFyaWFNdWx0aXNlbGVjdGFibGU6Yixyb2xlOngsc3RyZXRjaDpnLGRhdGFRYUlkOkN9PWUsdj0oMCxsLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHApO3JldHVybigwLAphLnVzZUFuY2hvclBvcnRhbFBhaXIpKGgsdiksbj9vLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudChjLlBvcnRhbCxudWxsLG8uY3JlYXRlRWxlbWVudChFLHtyZWZlcmVuY2U6dixkaXNhYmxlU2FmYXJpU2Nyb2xsYmFyczohMX0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi4oMCxzLmNvbnRlbnRQcm9wcykoUCxtLGIseCksImRhdGEtcWEtaWQiOkMsY2xhc3NOYW1lOnIoKShBKCkuY29udGVudCxBKClbZl0sZCxnJiZBKCkuc3RyZXRjaCl9LHUpLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToicHJlc2VudGF0aW9uIixjbGFzc05hbWU6QSgpLmJhY2tkcm9wLG9uQ2xpY2s6KCk9PntpKCExKX0sb25Qb2ludGVyRG93bjplPT57ZS5zdG9wUHJvcGFnYXRpb24oKX19KSkpLCJib3R0b20iPT09ZiYmby5jcmVhdGVFbGVtZW50KHcsbnVsbCkpOm51bGx9IWZ1bmN0aW9uKGUpe2UuU2lkZUJlZ2luPSJiZWdpbiIsZS5TaWRlRW5kPSJlbmQiLGUuVG9wPSJ0b3AiLGUuQm90dG9tPSJib3R0b20ifShTfHwoUz17fSkpfSw4NTQzMzgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHM6KCk9PmQsaXNYWUluc2lkZUVsZW1lbnRUaHJvdWdoUG9ydGFsczooKT0+dSx1c2VBbmNob3JQb3J0YWxQYWlyOigpPT5sfSk7dmFyIG89big3Nzk0NzQpLGk9bigxMzg2MzgpLHI9big3NzE0NDcpO2NvbnN0IGE9bmV3IE1hcDtsZXQgYz0wO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD0oMCxvLnVzZUNhbGxiYWNrKSgoKCk9Pntjb25zdCB0PSgwLGkuZW5zdXJlKShlKTtyZXR1cm4iY3VycmVudCJpbiB0P3QuY3VycmVudDp0KCl9KSxbZV0pO2lmKGUpcmV0dXJuIHR9ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49cyhlKSxpPXModCk7KDAsby51c2VFZmZlY3QpKCgoKT0+e2lmKG4mJmkpcmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1jKys7cmV0dXJuIGEuc2V0KG4sW2UsdF0pLCgpPT57YS5kZWxldGUobil9fShuLGkpfSksW24saV0pfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4oMCxyLmlzSW5SZWN0KSh7eDp0LHk6bn0sZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9KGUsdCxuKSlyZXR1cm4hMDtmb3IoY29uc3QgbyBvZiBhLnZhbHVlcygpKXtjb25zdCBpPW9bMF0oKSxyPW9bMV0oKTtpZihpJiZyJiZlLmNvbnRhaW5zKGkpJiZ1KHIsdCxuKSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBkKGUsdCl7aWYoZS5jb250YWlucyh0KSlyZXR1cm4hMDtmb3IoY29uc3QgbiBvZiBhLnZhbHVlcygpKXtjb25zdCBvPW5bMF0oKSxpPW5bMV0oKTtpZihvJiZpJiZlLmNvbnRhaW5zKG8pJiZkKGksdCkpcmV0dXJuITB9cmV0dXJuITF9fSw5NTY3MzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9zaXRpb25lckNvbnRleHRQcm92aWRlcjooKT0+cyx1c2VQb3NpdGlvbmVyQ29udGV4dDooKT0+bH0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNjIzNjEzKSxyPW4ubihpKTtjb25zdCBhPSgwLG8uY3JlYXRlQ29udGV4dCkoe2lzQW5jaG9yUG9zaXRpb25lcjohMSxpc01vYmlsZVBvc2l0aW9uZXI6ITF9KTt2YXIgYztmdW5jdGlvbiBzKGUpe2NvbnN0e3Bvc2l0aW9uZXI6dCxjaGlsZHJlbjpufT1lLGk9KDAsby51c2VNZW1vKSgoKCk9Pih7aXNBbmNob3JQb3NpdGlvbmVyOiJhbmNob3IiPT09dCxpc01vYmlsZVBvc2l0aW9uZXI6Im1vYmlsZSI9PT10fSkpLFt0XSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTppfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToibW9iaWxlIj09PXQ/cigpLm1vYmlsZUNvbnRleHQ6cigpLmFuY2hvckNvbnRleHR9LG4pKX1mdW5jdGlvbiBsKCl7cmV0dXJuKDAsby51c2VDb250ZXh0KShhKX0hZnVuY3Rpb24oZSl7ZS5BbmNob3I9ImFuY2hvciIsZS5Nb2JpbGU9Im1vYmlsZSJ9KGN8fChjPXt9KSl9LDUyNTI0KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyguLi5lKXtyZXR1cm4oLi4udCk9PntlLmZvckVhY2goKGU9PmU/LiguLi50KSkpfX1uLmQodCx7Zm9ya0ZuOigpPT5vfSl9LDcwNjk0MyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oKXtjb25zdCBlPW5ldyBTZXQ7cmV0dXJue3N1YnNjcmliZTp0PT57ZS5hZGQodCl9LHVuc3Vic2NyaWJlOnQ9PntlLmRlbGV0ZSh0KX0sZmlyZTooKT0+e2UuZm9yRWFjaCgoZT0+ZSgpKSl9fX1uLmQodCx7Y3JlYXRlU2lnbmFsOigpPT5vfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/202.072e990c76641068d8e3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.448Z","timestamp":1785136901448,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/202.072e990c76641068d8e3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-132\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 036c2b1bcc9f5c717f4431dc15ef80f2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":306,"size_decoded":944,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (306), with no line terminators","md5":"cb8fa6b3f87a2345533ef73d9ce94efb","sha1":"534e37132178ef4786a8b4671717bfd4ef5867cd","sha256":"33b229a3fbec03996ba88aa195ef07f83ff055cbdd2c760874be142bc7eabdaa","sha512":"65cdae9e4fe341fde4951075dcf1c7ff79f7904b1b0f1aba42cfc73327300fb696a189161e0fd149becaf22695a1d1e435c6e7b2cb662b2691265f303073bb95","ssdeep":"","tlshash":"58e0c21532d4253ad20f223a83f5c8fcf002dd13cc8ce6736c29d692d004fd62381928","first_seen":"2026-07-17T03:30:51.171265Z","last_seen":"2026-08-10T05:00:33.810369Z","times_seen":246,"resource_available":false,"data":"LnNlcGFyYXRvci13c055UDllMntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7ZmxleC1zaHJpbms6MDtoZWlnaHQ6MXB4O21hcmdpbjo2cHggMH0uc21hbGwtd3NOeVA5ZTJ7bWFyZ2luLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDo0cHh9Lm5vcm1hbC13c055UDllMnttYXJnaW4tYm90dG9tOjZweDttYXJnaW4tdG9wOjZweH0ubGFyZ2Utd3NOeVA5ZTJ7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLXRvcDo4cHh9"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/product/2x/translate_24dp.png","fqdn":"www.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":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:41.763Z","timestamp":1785136901763,"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 /images/branding/product/2x/translate_24dp.png HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: 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.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1842\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 07:17:13 GMT\r\nexpires: Sat, 24 Jul 2027 07:17:13 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 14 Oct 2021 09:08:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 259468\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":1842,"size_decoded":2516,"mime_type":"image/png","magic":"PNG image data, 48 x 48, 8-bit/color RGBA, non-interlaced","md5":"c69c796362406f9e11c7f4bf5bb628da","sha1":"e489ce95ab56208090868882113d7416abf46775","sha256":"4dac0026fbfa2615dce30c0af12830863fe885f84387a0147b9e338f548d5d82","sha512":"d3ad560ed0fd29be7d2cc434694f09e5a6fbea8b29c0611aecb54a1b73b4d722c53f42a19dae9e3d5d358444e50fb8fffbc39d67ce751bdbc8c861f6f95d3162","ssdeep":"","tlshash":"4e31f9fd129220437101ade72165eef798347c15f412da60ce65ba389c9fe20ed9a619","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-08-10T09:38:30.550621Z","times_seen":74375,"resource_available":false,"data":"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"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43808.5ad3651a38630f775442.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.889Z","timestamp":1785136901889,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43808.5ad3651a38630f775442.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a267ddd-734c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 08 Jun 2026 08:31:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/08/2026 10:13:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 720dbde9edd5ec57eede52829d5ab5d8\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":29516,"size_decoded":7156,"mime_type":"text/css; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (29514), with no line terminators","md5":"89d54002d9dff292d378d97abe4e3410","sha1":"6ad49e20962e85a41c0ed2955a7d9b8bf56fcb47","sha256":"c2f76e73327dad5c04fe2f8617bc8b3aab016114e3cc57f1a9757f1b8ff7530a","sha512":"bf553ad2781e9c3bf61da104cf8e0b85b64f3eb4a469d7ea50a1131c1c45ca98ce6f3fe2673c2a6f86857e8b0005fa4baa2df74ef8e80fbbfb9684cb81792860","ssdeep":"384:QTsoqYs5cN4nzyHDmcWE5N9cVOS8RSACPZhnT7HumHZKefLpKY7:QRgcN4zyHDm/E5N9cVOS8/CPZhT7hnLB","tlshash":"e6d297c5f701a0367bb7572d5770a24daa1cec83d50a4be9fd81be1988c5bfb3069608","first_seen":"2026-06-08T18:14:42.108897Z","last_seen":"2026-07-28T04:48:50.443867Z","times_seen":135,"resource_available":false,"data":"LmNvbnRhaW5lci1UYUZfYVlFRnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjAgY2FsYyh2YXIoLS1vcHRpb25zLXRhYmxlLWNlbGwtaG9yei1wYWRkaW5nKSotMSk7cG9zaXRpb246cmVsYXRpdmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItVGFGX2FZRUY6aG92ZXIgLmZsYWctVGFGX2FZRUZ7ZGlzcGxheTpmbGV4fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZmxhZy1UYUZfYVlFRntkaXNwbGF5Om5vbmV9fS5jb250ZW50LVRhRl9hWUVGe3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZX0uY29udGVudC1UYUZfYVlFRjpmaXJzdC1sZXR0ZXJ7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0udW5kZXJseWluZ0NlbGwtVWNjZEhsaGcudW5kZXJseWluZ0NlbGwtVWNjZEhsaGd7Ym90dG9tOnZhcigtLW9wdGlvbnMtdGFibGUtYm9keS1ib3R0b20pO2hlaWdodDowO3Bvc2l0aW9uOnN0aWNreTt0b3A6Y2FsYyh2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpKjIpO3dpZHRoOjEwMCU7ei1pbmRleDoxMH0udW5kZXJseWluZ0NlbGwtVWNjZEhsaGc6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQpO2NvbnRlbnQ6IiI7aGVpZ2h0OjFweDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0xcHh9LnVuZGVybHlpbmdCYWRnZS1VY2NkSGxoZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1oZWF2eSk7Ym9yZGVyLXJhZGl1czozcHg7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSk7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NjAwO2luc2V0LWlubGluZS1zdGFydDo1MCU7bGluZS1oZWlnaHQ6dmFyKC0tb3B0aW9ucy10YWJsZS11bmRlcmx5aW5nLXJvdy1saW5lLWhlaWdodCk7cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYyh2YXIoLS1vcHRpb25zLXRhYmxlLXVuZGVybHlpbmctcm93LWxpbmUtaGVpZ2h0KSotMS8yIC0gMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpfS51bmRlcmx5aW5nQmFkZ2UtVWNjZEhsaGc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZSg1MCUpfS5yb290LU53RlVaY25Se2hlaWdodDoxMDAlfS5jaGFpbi1Od0ZVWmNuUnstLW9wdGlvbnMtY2hhaW4tYmctY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrLXNlY29uZGFyeSk7LS1vcHRpb24tY2hhaW4tY2VudHJhbC1jZWxsLWJnLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW4pOy0tb3B0aW9ucy10YWJsZS11bmRlcmx5aW5nLXJvdy1saW5lLWhlaWdodDoxNXB4Oy0tb3B0aW9ucy10YWJsZS1ib2R5LWJvdHRvbTpjYWxjKHZhcigtLW9wdGlvbnMtdGFibGUtdW5kZXJseWluZy1yb3ctbGluZS1oZWlnaHQpLzIpO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MH0uc2VsZWN0b3ItTndGVVpjblJ7LS1vcHRpb25zLXBpY2tlci1ibHVyLWNvbG9yOnZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnkpO21hcmdpbjowIDIwcHh9LmVtcHR5U3RhdGVJY29uLU53RlVaY25Se2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWdob3N0LmM1YWI4ODEzYzU2OGM5MzkxMDYwLnN2Zyk7aGVpZ2h0OjEyMHB4O3dpZHRoOjEyMHB4fWh0bWwudGhlbWUtZGFyayAuZW1wdHlTdGF0ZUljb24tTndGVVpjblJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZW1wdHktZ2hvc3QtZGFyay5hM2YxYTg5NjhiMGY2OTZiMWM4OS5zdmcpfS5lbXB0eS1Od0ZVWmNuUnthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZW1wdHktTndGVVpjblIsLnJvb3QtWHdKb19pUDZ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ucm9vdC1Yd0pvX2lQNntnYXA6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UpO21pbi1oZWlnaHQ6MH0uc2VsZWN0b3ItWHdKb19pUDZ7LS1vcHRpb25zLXBpY2tlci1ibHVyLWNvbG9yOnZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnkpO21hcmdpbjowIDIwcHh9LmNoYWluLVh3Sm9faVA2ey0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcjp2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstc2Vjb25kYXJ5KTtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjB9LmVtcHR5LVh3Sm9faVA2e2hlaWdodDoxMDAlfS50aXRsZS1jMTJsYTVpTXthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo0cHg7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS5pY29uLWMxMmxhNWlNe2ZsZXg6MCAwIDE4cHh9LmNoaWxkcmVuV3JhcHBlci1NZ3BEOXVUT3thbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MSAwIGF1dG87ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXJ9QG1lZGlhIChtYXgtaGVpZ2h0OjQ0MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LmNoaWxkcmVuV3JhcHBlci1NZ3BEOXVUT3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH19LmNvbnRhaW5lci1NZ3BEOXVUT3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOjhweH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1OMVB4OnZhcigtLWNvbG9yLXdoaXRlKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLU4xUHg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCl9LnRpdGxlLU5kM3dza2xLe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtTjFQeCk7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KTtjdXJzb3I6ZGVmYXVsdDtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouNHB4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZy1ib3R0b206OHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjQycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLUlOYTc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fMS1JTmE3OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzItSU5hNzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8zLUlOYTc6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzQtSU5hNzp2YXIoLS1jb2xvci10di1ibHVlLTIwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1JTmE3OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzEtSU5hNzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8yLUlOYTc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fMy1JTmE3OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzQtSU5hNzp2YXIoLS1jb2xvci10di1ibHVlLTIwMCl9LndyYXAtSEVpSVFlYkJ7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YnJlYWstaW5zaWRlOmF2b2lkO2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OmhpZGRlbn0ud3JhcC1IRWlJUWViQi5saWJBbGxTZWxlY3RlZC1IRWlJUWViQntjb2x1bW4tc3BhbjphbGx9LmNvbnRhaW5lci1IRWlJUWViQnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy1JTmE3KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4fS5jb250YWluZXItSEVpSVFlYkIgLmljb25XcmFwLUhFaUlRZWJCe2ZsZXgtc2hyaW5rOjB9LmNvbnRhaW5lci1IRWlJUWViQiAuaWNvbi1IRWlJUWViQiwuY29udGFpbmVyLUhFaUlRZWJCIC5pY29uV3JhcC1IRWlJUWViQnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmNvbnRhaW5lci1IRWlJUWViQiAudGl0bGUtSEVpSVFlYkJ7Y29sb3I6dmFyKC0tXzAtSU5hNyk7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jb250YWluZXItSEVpSVFlYkIgLnRpdGxlLUhFaUlRZWJCIC5oaWdobGlnaHRlZC1IRWlJUWViQntjb2xvcjp2YXIoLS1fNC1JTmE3KX0uY29udGFpbmVyLUhFaUlRZWJCIC5kZXNjcmlwdGlvbi1IRWlJUWViQntjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpO2xpbmUtaGVpZ2h0OjE3cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jb250YWluZXItSEVpSVFlYkIubGliQWxsU2VsZWN0ZWQtSEVpSVFlYkJ7d2lkdGg6Y2FsYyg1MCUgLSAycHgpfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsuY29udGFpbmVyLUhFaUlRZWJCLmxpYkFsbFNlbGVjdGVkLUhFaUlRZWJCe3dpZHRoOmF1dG99fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCe2hlaWdodDo1MnB4fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCLmFsbFNlbGVjdGVkLUhFaUlRZWJCe2hlaWdodDo0MHB4fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCIC5pY29uV3JhcC1IRWlJUWViQnttYXJnaW4taW5saW5lLXN0YXJ0OjJweDt3aWR0aDo0MHB4fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCIC5pY29uLUhFaUlRZWJCe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LmNvbnRhaW5lci1IRWlJUWViQi5tb2JpbGUtSEVpSVFlYkIgLnRpdGxlLUhFaUlRZWJCe2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI0cHh9LmNvbnRhaW5lci1IRWlJUWViQi5tb2JpbGUtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCe2ZvbnQtc2l6ZToxMnB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQntib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjQ2cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAuaWNvbldyYXAtSEVpSVFlYkJ7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAuaWNvbi1IRWlJUWViQntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAuYWxsU2VsZWN0ZWRJY29uLUhFaUlRZWJCIHN2Z3toZWlnaHQ6MjBweDt3aWR0aDoyMHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAudGl0bGUtSEVpSVFlYkJ7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjJweH0uY29udGFpbmVyLUhFaUlRZWJCLmRlc2t0b3AtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCe2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQjpob3Zlcjpub3QoLnNlbGVjdGVkLUhFaUlRZWJCKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yLUlOYTcpfX0uY29udGFpbmVyLUhFaUlRZWJCe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5jb250YWluZXItSEVpSVFlYkI6Zm9jdXN7b3V0bGluZTpub25lfS5jb250YWluZXItSEVpSVFlYkI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmNvbnRhaW5lci1IRWlJUWViQjphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uY29udGFpbmVyLUhFaUlRZWJCLmZvY3VzZWQtSEVpSVFlYkI6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uY29udGFpbmVyLUhFaUlRZWJCLnNlbGVjdGVkLUhFaUlRZWJCe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCLC5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIgLmljb24tSEVpSVFlYkIsLmNvbnRhaW5lci1IRWlJUWViQi5zZWxlY3RlZC1IRWlJUWViQiAudGl0bGUtSEVpSVFlYkJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCIC5oaWdobGlnaHRlZC1IRWlJUWViQntjb2xvcjp2YXIoLS1fNC1JTmE3KX0uY29udGFpbmVyLUhFaUlRZWJCLnNlbGVjdGVkLUhFaUlRZWJCe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkI6Zm9jdXN7b3V0bGluZTpub25lfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmNvbnRhaW5lci1IRWlJUWViQi5zZWxlY3RlZC1IRWlJUWViQjphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgLSAycHgpO2luc2V0LWlubGluZS1zdGFydDoxcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MXB4O3dpZHRoOmNhbGMoMTAwJSAtIDJweCk7ei1pbmRleDoxfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIuZm9jdXNlZC1IRWlJUWViQjphZnRlcntkaXNwbGF5OmJsb2NrfS50aXRsZVdpdGhvdXREZXNjLUhFaUlRZWJCe3BhZGRpbmctYm90dG9tOjhweDtwYWRkaW5nLXRvcDo4cHh9LnRleHRCbG9jay1IRWlJUWViQntkaXNwbGF5OmZsZXg7ZmxleDowIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjB9LmJvcmRlcmVkLUhFaUlRZWJCe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLV8xLUlOYTcpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXdkdk46dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13ZHZOOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5jb250YWluZXItdHNqbVF0WFF7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5jb250ZW50TGlzdC10c2ptUXRYUXtvdmVyZmxvdy15OmF1dG87cGFkZGluZzo2cHggMH1AbWVkaWEgKHBvaW50ZXI6ZmluZSl7QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LmNvbnRlbnRMaXN0LXRzam1RdFhRe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LmNvbnRlbnRMaXN0LXRzam1RdFhROjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0uY29udGVudExpc3QtdHNqbVF0WFE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LmNvbnRlbnRMaXN0LXRzam1RdFhROjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LmNvbnRlbnRMaXN0LXRzam1RdFhROjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfX0uY29udGVudExpc3REZXNrdG9wLXRzam1RdFhRe3BhZGRpbmc6MTZweCAwfS5zZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lci10c2ptUXRYUXttYXJnaW4tYm90dG9tOjE2cHh9LnNlYXJjaFNvdXJjZUl0ZW1zQ29udGFpbmVyLXRzam1RdFhROmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5zZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lci10c2ptUXRYUS5vbmVDb2x1bW4tdHNqbVF0WFF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0uc2VhcmNoU291cmNlSXRlbXNDb250YWluZXJEZXNrdG9wLXRzam1RdFhRe2NvbHVtbi1nYXA6NHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtqdXN0aWZ5LWNvbnRlbnQ6c3RyZXRjaDttYXJnaW4tYm90dG9tOjI0cHg7cGFkZGluZzowIDEycHh9LnNlYXJjaFNvdXJjZUl0ZW1zQ29udGFpbmVyRGVza3RvcC10c2ptUXRYUTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uZ3JvdXBUaXRsZURlc2t0b3AtdHNqbVF0WFF7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH0uY29sdW1uLXRzam1RdFhRe292ZXJmbG93OmhpZGRlbn0uZW1wdHlUZXh0LXRzam1RdFhRe2NvbG9yOnZhcigtLV8wLXdkdk4pO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjEycHggMjBweDt0ZXh0LWFsaWduOmNlbnRlcn1AbWVkaWEgKG1heC1oZWlnaHQ6NDQwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuZW1wdHlJY29uLXRzam1RdFhRe2Rpc3BsYXk6bm9uZX19Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFF7ZmxleDoxIDA7b3ZlcmZsb3c6YXV0bztwYWRkaW5nLWJvdHRvbTo1NHB4O3BhZGRpbmctdG9wOjI0cHh9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFF7c2Nyb2xsYmFyLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpICMwMDAwO3Njcm9sbGJhci13aWR0aDp0aGlufX0ubm9SZXN1bHRzRGVza3RvcC10c2ptUXRYUTo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweH0ubm9SZXN1bHRzRGVza3RvcC10c2ptUXRYUTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uYWN0aW9ucy1vQXRvWGxSNHtkaXNwbGF5OmZsZXg7bWFyZ2luLWlubGluZS1lbmQ6OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5hY3Rpb24tb0F0b1hsUjQuZGlzYWJsZWQtb0F0b1hsUjR7LS11aS1saWItaWNvbkJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiMwMDAwOy0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCl9LmFjdGlvbi1vQXRvWGxSNCsuYWN0aW9uLW9BdG9YbFI0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5mbGFnLU5tMTc0enFTe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXRlcnRpYXJ5LWludmVyc2UpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5mbGFncy1ObTE3NHpxU3tkaXNwbGF5OmZsZXh9LmZsYWdDb250YWluZXItTm0xNzR6cVN7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0uZmxhZ0NvbnRhaW5lci1ObTE3NHpxUzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0Oi0xMHB4fS5jb3VudGVyLU5tMTc0enFTe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxNnB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCk7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4fS5jb250YWluZXItTm0xNzR6cVN7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtpc29sYXRpb246aXNvbGF0ZX0uZmxhZ1dyYXAtRUJOWmRDSDF7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjNweH0uZmxhZ1dyYXAtRUJOWmRDSDEgLmljb24tRUJOWmRDSDF7ZGlzcGxheTpmbGV4O2hlaWdodDoyMHB4O21hcmdpbi1pbmxpbmUtZW5kOjRweDtwYWRkaW5nOjRweDt3aWR0aDoyMHB4fS5mbGFnV3JhcC1FQk5aZENIMSAuaWNvbi1FQk5aZENIMSBzdmd7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZsYWdXcmFwLUVCTlpkQ0gxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeS1ob3Zlcik7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQtaG92ZXIpfS5mbGFnV3JhcC1FQk5aZENIMTpob3ZlciAuY2FyZXQtRUJOWmRDSDF7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KX19LnRpdGxlLUVCTlpkQ0gxe3doaXRlLXNwYWNlOm5vd3JhcH0uY2FyZXQtRUJOWmRDSDF7ZGlzcGxheTpmbGV4O2hlaWdodDoxOHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MThweH0uYnV0dG9uQ29sb3JzLXBlTWpRYnV6ey0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0uYnV0dG9uQ29sb3JzLXBlTWpRYnV6OmFjdGl2ZXstLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsKX0ud3JhcC1CZDA1QmpVYXtkaXNwbGF5OmNvbnRlbnRzfS5pdGVtLUJkMDVCalVhe2hlaWdodDo0MHB4O3BhZGRpbmctaW5saW5lLWVuZDoyNHB4fS5pdGVtLUJkMDVCalVhOmZpcnN0LWNoaWxke2dyaWQtY29sdW1uLWVuZDozO21pbi13aWR0aDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lml0ZW0tQmQwNUJqVWE6bGFzdC1jaGlsZHtncmlkLWNvbHVtbi1zdGFydDpzcGFuIDM7cGFkZGluZy1pbmxpbmUtZW5kOjE3cHh9Lml0ZW0tQmQwNUJqVWEsLndyYXAtQmQwNUJqVWEuc21hbGwtQmQwNUJqVWF7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cG9zaXRpb246c3RpY2t5O3RvcDotMXB4O3otaW5kZXg6MX0ud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWF7ZmxleDowIDAgYXV0bztmbGV4LWZsb3c6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtvdmVyZmxvdy14OmF1dG87cGFkZGluZzo4cHggMjBweH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWF7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9fS53cmFwLUJkMDVCalVhLm5ld1N0eWxlcy1CZDA1QmpVYS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LndyYXAtQmQwNUJqVWEubmV3U3R5bGVzLUJkMDVCalVhOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0ud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC53cmFwLUJkMDVCalVhLm5ld1N0eWxlcy1CZDA1QmpVYTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS53cmFwLUJkMDVCalVhLm5ld1N0eWxlcy1CZDA1QmpVYTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0ud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWEubW9iaWxlLUJkMDVCalVhe2ZsZXgtZmxvdzp1bnNldH0udGV4dC1CZDA1QmpVYXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxNnB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwfS5leGNoYW5nZS1CZDA1QmpVYSwudGV4dC1CZDA1QmpVYXtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmV4Y2hhbmdlLUJkMDVCalVhey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4fS5maWx0ZXJJdGVtLUJkMDVCalVhe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LnRyYWRpbmdGaWx0ZXJCdXR0b25XcmFwLUJkMDVCalVhe21hcmdpbi1pbmxpbmUtZW5kOjhweH0uZW1wdHlTcGFjZS1CZDA1QmpVYXtmbGV4LXNocmluazowO2hlaWdodDo4cHh9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtazUxTjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tXzEtazUxTjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8yLWs1MU46dmFyKC0tY29sb3Itd2hpdGUpOy0tXzMtazUxTjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tXzQtazUxTjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWs1MU46dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLV8xLWs1MU46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fMi1rNTFOOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzMtazUxTjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzQtazUxTjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1Aa2V5ZnJhbWVzIGhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtbGlnaHQtcl9mNVFhbld7NTAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCl9fUBrZXlmcmFtZXMgaGlnaGxpZ2h0LWFuaW1hdGlvbi10aGVtZS1kYXJrLXJfZjVRYW5XezUwJXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCl9fS5pdGVtUm93LXJfZjVRYW5Xe2Rpc3BsYXk6Y29udGVudHN9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5Xe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjUycHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVzpoYXMoLmNvbXBvc2l0ZURlc2NyaXB0aW9uLXJfZjVRYW5XKXtoZWlnaHQ6NzBweH19Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5Xe2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJX0uaXRlbVJvdy1yX2Y1UWFuVy5tdWx0aUxpbmUtcl9mNVFhblcgLml0ZW1JbmZvQ2VsbC1yX2Y1UWFuV3tmbGV4OjEgMSBhdXRvO21heC13aWR0aDpub25lO3BhZGRpbmctaW5saW5lLWVuZDoxNnB4fS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuZGVzY3JpcHRpb24tcl9mNVFhbld7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuV3tjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxN3B4O2xpbmUtaGVpZ2h0OjE3cHg7cGFkZGluZy1pbmxpbmUtZW5kOjB9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuY29tcG9zaXRlRGVzY3JpcHRpb24tcl9mNVFhbld7aGVpZ2h0OmF1dG99fS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuZmxhZy1yX2Y1UWFuV3ttYXJnaW4taW5saW5lLXN0YXJ0OjhweH0uaXRlbVJvdy1yX2Y1UWFuVy5tdWx0aUxpbmUtcl9mNVFhblcgLmV4Y2hhbmdlRGVzY3JpcHRpb24tcl9mNVFhbld7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5leGNoYW5nZU5hbWUtcl9mNVFhblcsLml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5tYXJrZXRUeXBlLXJfZjVRYW5Xe3RleHQtYWxpZ246ZW5kfS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuZXhjaGFuZ2VOYW1lLXJfZjVRYW5Xe21hcmdpbi1pbmxpbmUtZW5kOjB9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5tYXJrZXRUeXBlLXJfZjVRYW5Xe2xpbmUtaGVpZ2h0OjE3cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0uaXRlbVJvdy1yX2Y1UWFuVy5tdWx0aUxpbmUtcl9mNVFhblcgLmFjdGlvbkhhbmRsZVdyYXAtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuc291cmNlLXJfZjVRYW5Xe2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tdG9wOjRweH0uaXRlbVJvdy1yX2Y1UWFuVy5hY3RpdmUtcl9mNVFhblcgLmNlbGwtcl9mNVFhblc6YWZ0ZXIsLml0ZW1Sb3ctcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhblcgLmNlbGwtcl9mNVFhblc6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci10b3Atd2lkdGg6MnB4O2JvdHRvbTowO2NvbnRlbnQ6IiI7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxfS5pdGVtUm93LXJfZjVRYW5XLmFjdGl2ZS1yX2Y1UWFuVyAubmVzdGVkQm9yZGVyT3ZlcmxhcC1yX2Y1UWFuVysuY2VsbC1yX2Y1UWFuVzphZnRlciwuaXRlbVJvdy1yX2Y1UWFuVy5zZWxlY3RlZC1yX2Y1UWFuVyAubmVzdGVkQm9yZGVyT3ZlcmxhcC1yX2Y1UWFuVysuY2VsbC1yX2Y1UWFuVzphZnRlcntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czo0cHg7Ym9yZGVyLWlubGluZS1zdGFydC13aWR0aDoycHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czo0cHh9Lml0ZW1Sb3ctcl9mNVFhblcuYWN0aXZlLXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5XOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9Lml0ZW1Sb3ctcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhblcgLmNlbGwtcl9mNVFhblc6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50KX0uaXRlbVJvdy1yX2Y1UWFuVzphY3RpdmU6bm90KDpmb2N1cy13aXRoaW4pIC5jZWxsLXJfZjVRYW5Xe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uaXRlbVJvdy1yX2Y1UWFuVy5leHBhbmRlZC1yX2Y1UWFuVyAuY2VsbC1yX2Y1UWFuVywuaXRlbVJvdy1yX2Y1UWFuVy5uZXN0ZWQtcl9mNVFhblcgLmNlbGwtcl9mNVFhbld7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC10aGluKTstLXR2LWNvbG9yLWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC10aGluKX0uaXRlbVJvdy1yX2Y1UWFuVy5uZXN0ZWQtcl9mNVFhblcgLm5lc3RlZEJvcmRlck92ZXJsYXAtcl9mNVFhblc6YmVmb3Jle2NvbnRlbnQ6IiJ9Lml0ZW1Sb3ctcl9mNVFhblcuaG92ZXItcl9mNVFhblcgLmNlbGwtcl9mNVFhbld7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbVJvdy1yX2Y1UWFuVzpob3ZlciAuY2VsbC1yX2Y1UWFuV3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCl9fS5pdGVtUm93LXJfZjVRYW5XLmhvdmVyLXJfZjVRYW5XIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZSwuaXRlbVJvdy1yX2Y1UWFuVy5ob3Zlci1yX2Y1UWFuVysubmVzdGVkLXJfZjVRYW5XIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZXtjb250ZW50Om5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtUm93LXJfZjVRYW5XOmhvdmVyIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZSwuaXRlbVJvdy1yX2Y1UWFuVzpob3ZlcisubmVzdGVkLXJfZjVRYW5XIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZXtjb250ZW50Om5vbmV9fS5pdGVtUm93LXJfZjVRYW5XLmhpZ2hsaWdodGVkLXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5Xe2FuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlfS5pdGVtUm93LXJfZjVRYW5XLmhpZ2hsaWdodGVkLXJfZjVRYW5XLmxpZ2h0LXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5Xe2FuaW1hdGlvbi1uYW1lOmhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtbGlnaHQtcl9mNVFhbld9Lml0ZW1Sb3ctcl9mNVFhblcuaGlnaGxpZ2h0ZWQtcl9mNVFhblcuZGFyay1yX2Y1UWFuVyAuY2VsbC1yX2Y1UWFuV3thbmltYXRpb24tbmFtZTpoaWdobGlnaHQtYW5pbWF0aW9uLXRoZW1lLWRhcmstcl9mNVFhbld9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtUm93LXJfZjVRYW5XOmhvdmVyIC5tYXJrZWRGbGFnLXJfZjVRYW5Xe2Rpc3BsYXk6ZmxleH19Lml0ZW1Sb3ctcl9mNVFhblcgLml0ZW1JbmZvQ2VsbC1yX2Y1UWFuV3tkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjI0MHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWlubGluZS1lbmQ6MjRweH0uaXRlbVJvdy1yX2Y1UWFuVyAuaXRlbUluZm9DZWxsLXJfZjVRYW5XLm9mZnNldC1yX2Y1UWFuV3twYWRkaW5nLWlubGluZS1zdGFydDo4cHh9Lml0ZW1Sb3ctcl9mNVFhblcgLml0ZW1JbmZvQ2VsbC1yX2Y1UWFuVyAuZGVzY3JpcHRpb24tcl9mNVFhbld7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbn0uaXRlbVJvdy1yX2Y1UWFuVyAuaXRlbUluZm9DZWxsLXJfZjVRYW5XIC5kZXNjcmlwdGlvbi1yX2Y1UWFuVy5vZmZzZXQtcl9mNVFhbld7bWFyZ2luLWlubGluZS1zdGFydDo0NHB4fS5pdGVtUm93LXJfZjVRYW5XIC5kZXNjcmlwdGlvbkNlbGwtcl9mNVFhbld7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS5pdGVtUm93LXJfZjVRYW5XIC5kZXNjcmlwdGlvbkNlbGwtcl9mNVFhblcuYWRkaXRpb24tcl9mNVFhbld7Z3JpZC1jb2x1bW46My81fS5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1pbmxpbmUtZW5kOjIwcHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhbld7bWF4LXdpZHRoOjEyNHB4fS5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhblc6aGFzKC5tdWx0aXBsZUZsYWdzLXJfZjVRYW5XKXttYXgtd2lkdGg6MTgwcHh9fS5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhblcuaGlkZGVuLXJfZjVRYW5Xe2Rpc3BsYXk6bm9uZX0uaXRlbVJvdy1yX2Y1UWFuVy5uZXN0ZWQtcl9mNVFhblcgLmV4Y2hhbmdlQ2VsbC1yX2Y1UWFuV3twYWRkaW5nLWlubGluZS1lbmQ6NDZweH0uaXRlbVJvdy1yX2Y1UWFuVyAuaG92ZXJDZWxsLXJfZjVRYW5Xe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7cGFkZGluZy1pbmxpbmUtZW5kOjIwcHh9Lml0ZW1Sb3ctcl9mNVFhblcgLmNlbGwtcl9mNVFhblcgLmhvdmVyQ2VsbC1yX2Y1UWFuVzphZnRlcntjb250ZW50Om5vbmV9Lm5lc3RlZEJvcmRlck92ZXJsYXAtcl9mNVFhbld7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MH0ubmVzdGVkQm9yZGVyT3ZlcmxhcC1yX2Y1UWFuVzpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC10aGluKTtoZWlnaHQ6NHB4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMXB4O3dpZHRoOjEycHh9LmFjdGlvbkhhbmRsZVdyYXAtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowfS5hY3Rpb25IYW5kbGVXcmFwLXJfZjVRYW5XLmZpeGVkV2lkdGgtcl9mNVFhbld7d2lkdGg6MjBweH0uZXhwYW5kVG9nZ2xlLXJfZjVRYW5Xe21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo2cHggLTJweH0uc3ltYm9sRGVzY3JpcHRpb24tcl9mNVFhblcsLnN5bWJvbFRpdGxlLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuVy5pbnZhbGlkLXJfZjVRYW5XLC5zeW1ib2xUaXRsZS1yX2Y1UWFuVy5pbnZhbGlkLXJfZjVRYW5Xe2NvbG9yOnZhcigtLV8wLWs1MU4pfS5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuVyBlbSwuc3ltYm9sVGl0bGUtcl9mNVFhblcgZW17Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2ZvbnQtc3R5bGU6bm9ybWFsfS5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuVy5ub0Rlc2NyaXB0aW9uLXJfZjVRYW5XLC5zeW1ib2xUaXRsZS1yX2Y1UWFuVy5ub0Rlc2NyaXB0aW9uLXJfZjVRYW5Xe3BhZGRpbmctdG9wOjFweH0uaGlnaGxpZ2h0ZWRUZXh0LXJfZjVRYW5Xe2ZvbnQtd2VpZ2h0OjcwMH0uc3ltYm9sVGl0bGUtcl9mNVFhbld7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnN5bWJvbERlc2NyaXB0aW9uLXJfZjVRYW5Xe2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjM5cHg7bWFyZ2luLWlubGluZS1lbmQ6YXV0bztwYWRkaW5nLWlubGluZS1lbmQ6MjRweH0uY29tcG9zaXRlRGVzY3JpcHRpb24tcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWF4LXdpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5jb21wb3NpdGVEZXNjcmlwdGlvbi1yX2Y1UWFuV3thbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19LnN5bWJvbERlc2NyaXB0aW9uTWFpbi1yX2Y1UWFuV3tmbGV4LXNocmluazoxO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc3ltYm9sRGVzY3JpcHRpb25EZXRhaWxzLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKTtmbGV4LXNocmluazowfS5zeW1ib2xEZXNjcmlwdGlvbkRldGFpbHMtcl9mNVFhblc6YmVmb3Jle2NvbnRlbnQ6IuKAoiI7bWFyZ2luOjAgNHB4fUBtZWRpYSAobWF4LXdpZHRoOjQ0MHB4KXsuc3ltYm9sRGVzY3JpcHRpb25EZXRhaWxzLXJfZjVRYW5XOmJlZm9yZXtjb250ZW50Om5vbmV9fS5leGNoYW5nZURlc2NyaXB0aW9uLXJfZjVRYW5Xe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW59LmZsYWctcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowfS5leGNoYW5nZU5hbWUtcl9mNVFhbld7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lm5hcnJvdy1yX2Y1UWFuV3ttYXgtd2lkdGg6MTAwcHh9LndpZGUtcl9mNVFhbld7bWF4LXdpZHRoOjE4MHB4fS5tYXJrZXRUeXBlLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjFweDttYXJnaW4taW5saW5lLWVuZDo4cHh9LmV4Y2hhbmdlTmFtZS1yX2Y1UWFuVywubWFya2V0VHlwZS1yX2Y1UWFuV3t0ZXh0LWFsaWduOnN0YXJ0fS5leGNoYW5nZU5hbWUtcl9mNVFhblcsLm1hcmtldFR5cGUtcl9mNVFhblcsLnN5bWJvbERlc2NyaXB0aW9uLXJfZjVRYW5XLC5zeW1ib2xUaXRsZS1yX2Y1UWFuV3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmRhdGFNb2RlLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwKTtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjJweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dmVydGljYWwtYWxpZ246dG9wfS5jZWxsLXJfZjVRYW5Xe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTtjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MzlweDtpc29sYXRpb246aXNvbGF0ZTtwb3NpdGlvbjpyZWxhdGl2ZX0uY2VsbC1yX2Y1UWFuVzphZnRlcntib3JkZXItd2lkdGg6MH0uYWN0aW9uc0NlbGwtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWlubGluZS1lbmQ6MTJweH0uYWN0aW9uc0NlbGwtcl9mNVFhblcgLmFjdGlvbi1yX2Y1UWFuV3toZWlnaHQ6MjhweDttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MjhweDstLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1rNTFOKX0uYWN0aW9uc0NlbGwtcl9mNVFhblcgLmFjdGlvbi1yX2Y1UWFuVy5zZWxlY3RlZC1yX2Y1UWFuV3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZC1ob3Zlcil9LmFjdGlvbnNDZWxsLXJfZjVRYW5XIC50YXJnZXRBY3Rpb24tcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhbld7Y29sb3I6dmFyKC0tXzQtazUxTil9LmFjdGlvbnNDZWxsLXJfZjVRYW5XIC5yZW1vdmVBY3Rpb24tcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhbld7Y29sb3I6dmFyKC0tXzMtazUxTil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5hY3Rpb25zQ2VsbC1yX2Y1UWFuVyAucmVtb3ZlQWN0aW9uLXJfZjVRYW5XOmhvdmVye2NvbG9yOnZhcigtLV8zLWs1MU4pfX0uYWN0aW9uc0NlbGwtcl9mNVFhblcgLmFkZEFjdGlvbi1yX2Y1UWFuV3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmFjdGlvbnNDZWxsLXJfZjVRYW5XIC5hZGRBY3Rpb24tcl9mNVFhblc6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9fS5hY3Rpb25zQ2VsbC1yX2Y1UWFuVzphZnRlciwuY2VsbC1yX2Y1UWFuVzpoYXMoKy5lbXB0eUFjdGlvbnMtcl9mNVFhblcpOmFmdGVyLC5jZWxsLXJfZjVRYW5XOmhhcygrLmV4Y2hhbmdlQ2VsbC1yX2Y1UWFuVy5oaWRkZW4tcl9mNVFhblcrLmVtcHR5QWN0aW9ucy1yX2Y1UWFuVyk6YWZ0ZXJ7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjRweDtib3JkZXItaW5saW5lLWVuZC13aWR0aDoycHg7Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6NHB4fS5tYXJrZWRGbGFnV3JhcC1yX2Y1UWFuV3thbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXJrZWRGbGFnV3JhcC1yX2Y1UWFuVy5vZmZzZXQtcl9mNVFhbld7bWFyZ2luLWlubGluZS1zdGFydDotOHB4fS5tYXJrZWRGbGFnLXJfZjVRYW5Xe2Rpc3BsYXk6bm9uZX0ubWFya2VkRmxhZ01vYmlsZS1yX2Y1UWFuV3tkaXNwbGF5OmZsZXh9LmxvZ28tcl9mNVFhbld7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MjBweH0uc291cmNlLXJfZjVRYW5Xe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS5wcmltYXJ5SWNvbi1yX2Y1UWFuV3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbGlnaHQpO2JvcmRlci1yYWRpdXM6NnB4O2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaGVhdnkpO2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtZW5kOjRweH0ucHJvbW9CYWRnZS1yX2Y1UWFuV3thbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4taW5saW5lLWVuZDo4cHg7LS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpOy0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjYjEzMWI4LCMyYzIzOTEgMjAlLCMwYjA5MjMgNDAlLCMwYjA5MjMgNjAlLCMyYzIzOTEgODAlLCNiMTMxYjgpfS5wcm9tb0ljb24tcl9mNVFhbld7bWFyZ2luLWlubGluZS1lbmQ6NHB4Oy0tdWktbGliLWJhZGdlLXBhZGRpbmctbGVmdDoxcHg7LS11aS1saWItYmFkZ2UtcGFkZGluZy1yaWdodDoxcHh9LndyYXAtRlNYNkFhdFh7Y29udGFpbjpzdHJpY3Q7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH0ud3JhcC1GU1g2QWF0WC53YXRjaGxpc3QtRlNYNkFhdFh7cGFkZGluZy10b3A6MH0ud3JhcC1GU1g2QWF0WC5ub0ZlZWQtRlNYNkFhdFh7bWF4LWhlaWdodDo0MHB4fS53cmFwLUZTWDZBYXRYLm5ld1N0eWxlcy1GU1g2QWF0WHttYXgtaGVpZ2h0OjB9LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WHtoZWlnaHQ6MTAwJTttYXJnaW4tdG9wOjFweDtvdmVyZmxvdzphdXRvO3Njcm9sbC1wYWRkaW5nLXRvcDo0MHB4fUBtZWRpYSAocG9pbnRlcjpmaW5lKXtAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLUZTWDZBYXRYe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WDo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsQ29udGFpbmVyLUZTWDZBYXRYOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX19LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WC5ub0ZlZWQtRlNYNkFhdFh7b3ZlcmZsb3c6aGlkZGVufS5saXN0Q29udGFpbmVyLUZTWDZBYXRYLC53YXRjaGxpc3RDb250YWluZXItRlNYNkFhdFh7Ym94LXNpemluZzpib3JkZXItYm94O21heC13aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjZweH0ubGlzdENvbnRhaW5lci1GU1g2QWF0WHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczowZnIgbWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50IG1pbi1jb250ZW50O21hcmdpbi10b3A6LTFweDtwYWRkaW5nLXRvcDoxcHh9Lmxpc3RDb250YWluZXItRlNYNkFhdFgubXVsdGlMaW5lSXRlbXNDb250YWluZXItRlNYNkFhdFh7ZGlzcGxheTpibG9ja30ubGlzdENvbnRhaW5lci1GU1g2QWF0WC53aXRoU3Bpbm5lci1GU1g2QWF0WHtwYWRkaW5nLWJvdHRvbTowfS5zcGlubmVyQ29udGFpbmVyLUZTWDZBYXRYe2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2dyaWQtY29sdW1uOjEvLTE7aGVpZ2h0OjQwcHg7bWFyZ2luLWJvdHRvbTo2cHg7cG9zaXRpb246cmVsYXRpdmV9LnNwaW5uZXJDb250YWluZXItRlNYNkFhdFgubGFyZ2VTcGlubmVyLUZTWDZBYXRYe2hlaWdodDo1MnB4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLTlhMkg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC05YTJIOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5vdGhlclN5bWJvbHMtUjFvV21vcE17Y29sb3I6dmFyKC0tXzAtOWEySCk7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZToxNnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MCAyMHB4O3RleHQtYWxpZ246Y2VudGVyfS5vdGhlclN5bWJvbHMtUjFvV21vcE0ubmV3U3R5bGVzLVIxb1dtb3BNe2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE4cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDttYXJnaW4tYm90dG9tOjEycHh9Lm90aGVyU3ltYm9scy1SMW9XbW9wTS5uZXdTdHlsZXMtUjFvV21vcE0sLm90aGVyU3ltYm9scy1SMW9XbW9wTS5zbWFsbEZvbnQtUjFvV21vcE17Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9Lm90aGVyU3ltYm9scy1SMW9XbW9wTS5zbWFsbEZvbnQtUjFvV21vcE17Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4fS5yZXNldEZpbHRlcnMtUjFvV21vcE17YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6OHB4O2hlaWdodDozNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLXRvcDoxNnB4fS5ib2xkLVIxb1dtb3BNe2ZvbnQtd2VpZ2h0OjcwMH0uZXhjaGFuZ2VXcmFwLVIxb1dtb3BNe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9Lmljb24tUjFvV21vcE17aGVpZ2h0OjE4cHg7bWFyZ2luLWJsb2NrOjAgMnB4O21hcmdpbi1pbmxpbmU6MTBweCA2cHg7d2lkdGg6MThweH0ubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTXtmbGV4OjEgMDtvdmVyZmxvdzphdXRvO3BhZGRpbmctYm90dG9tOjU0cHg7cGFkZGluZy10b3A6MjRweH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTXtzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5ub1Jlc3VsdHNEZXNrdG9wLVIxb1dtb3BNOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0ubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5ub1Jlc3VsdHNEZXNrdG9wLVIxb1dtb3BNOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS50b2tlbi1SMW9XbW9wTXtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9LnNob3dNZS1SMW9XbW9wTXtib3JkZXItcmFkaXVzOjZweH1bZGF0YS10aGVtZT1saWdodF17LS1fMC0tZDdPOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtLWQ3Tzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uc2VhcmNoLWsyUkJ2TFZNOjpwbGFjZWhvbGRlcnt0ZXh0LXRyYW5zZm9ybTpub25lfS5zZWFyY2gtazJSQnZMVk0udXBwZXJDYXNlLWsyUkJ2TFZNe3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaW5wdXRDb250YWluZXItazJSQnZMVk17cGFkZGluZzowIDIwcHggOHB4fS5zcHJlYWRzLWsyUkJ2TFZNe2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4taW5saW5lLWVuZDo5cHg7cGFkZGluZzowIDVweH0uc3ByZWFkcy1rMlJCdkxWTTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wbGF0Zm9ybS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLWNoYXJ0LXBhZ2UtYmcpKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4fS5idWJibGVzQ29udGFpbmVyLWsyUkJ2TFZNey0tdWktbGliLXJvdW5kLXRhYnMtaG9yLXBhZGRpbmc6MH0uYnViYmxlc0NvbnRhaW5lci1rMlJCdkxWTSAuYnViYmxlcy1rMlJCdkxWTXttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDowO21pbi1oZWlnaHQ6Zml0LWNvbnRlbnQ7cGFkZGluZzo4cHggMjBweDt3aWR0aDp1bnNldH0uc3Bpbm5lcldyYXAtazJSQnZMVk17aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0uZW1wdHlUZXh0LWsyUkJ2TFZNe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MThweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyOHB4O2NvbG9yOnZhcigtLV8wLS1kN08pO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttYXJnaW46MCAyMHB4O3RleHQtYWxpZ246Y2VudGVyfUBtZWRpYSAobWF4LWhlaWdodDo0NDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5lbXB0eUljb24tazJSQnZMVk17ZGlzcGxheTpub25lfX0ubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTXtmbGV4OjEgMDtvdmVyZmxvdzphdXRvO3BhZGRpbmctYm90dG9tOjU0cHg7cGFkZGluZy10b3A6MjRweH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTXtzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5ub1Jlc3VsdHNEZXNrdG9wLWsyUkJ2TFZNOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0ubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5ub1Jlc3VsdHNEZXNrdG9wLWsyUkJ2TFZNOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS50cmFkaW5nRmlsdGVyQnV0dG9uV3JhcC1rMlJCdkxWTXtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luLWlubGluZS1lbmQ6YXV0bzttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxMnB4fS5kaWFsb2ctc2FiaDFmaDR7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCV9LnRhYmxldERpYWxvZy1zYWJoMWZoNHtoZWlnaHQ6NTYycHg7bWF4LXdpZHRoOjU2MHB4fS5kZXNrdG9wRGlhbG9nLXNhYmgxZmg0e2hlaWdodDo2ODBweDttYXgtd2lkdGg6ODQwcHg7bWluLXdpZHRoOjcxOXB4O3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kZXNrdG9wRGlhbG9nLXNhYmgxZmg0e21heC13aWR0aDo2NDBweDttaW4td2lkdGg6NDgwcHh9fUBtZWRpYSAobWF4LXdpZHRoOjUxOXB4KXsuZGVza3RvcERpYWxvZy1zYWJoMWZoNHttYXgtd2lkdGg6NDc5cHg7bWluLXdpZHRoOjM4MHB4fX0uYmFja0J1dHRvbi1zYWJoMWZoNHttYXJnaW4taW5saW5lLWVuZDoxN3B4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTNweH0="}},"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":"huobiget.com/js/jquery.mb.YTPlayer.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.515Z","timestamp":1785136899515,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/jquery.mb.YTPlayer.min.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 89783\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":89783,"size_decoded":90000,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (2606), with CRLF line terminators","md5":"0fea33486cef3e70a8fbdb1988fcb02c","sha1":"ac88535aca62f4a5cd2c8118cf2d926fb68c7c11","sha256":"5ba460ce0e9f08ad1e0c25ccdc6bfc440485984c2934c6f43f483d3324de54c6","sha512":"c2b8753dbed7f218ced4039a196ed98a53f2bebeb1806af5a147f438bbc42e061161291710bfd7d52d6c57b2ec55205dbeedf03d52b8446a3691cc2ca047f2fe","ssdeep":"1536:QMF59EiORs0eEl0agBW+5Kd99V4ho2z/eM+nbs7/eXX:QMF59EiORs0+agLh7NAX","tlshash":"5b93600e559d502dc6336b65b47ac32cf234472752438616b42fe158af3e42fa1eafb8","first_seen":"2023-06-17T17:20:00Z","last_seen":"2026-07-27T12:35:10.478215Z","times_seen":52,"resource_available":true,"data":"LypqcXVlcnkubWIuWVRQbGF5ZXIgMDktMDYtMjAxOQ0KIF8ganF1ZXJ5Lm1iLmNvbXBvbmVudHMNCiBfIGVtYWlsOiBtYXRiaWNvY0BnbWFpbC5jb20NCiBfIENvcHlyaWdodCAoYykgMjAwMS0yMDE5LiBNYXR0ZW8gQmljb2NjaGkgKFB1cHVuemkpOw0KIF8gYmxvZzogaHR0cDovL3B1cHVuemkub3Blbi1sYWIuY29tDQogXyBPcGVuIExhYiBzLnIubC4sIEZsb3JlbmNlIC0gSXRhbHkNCiAqLw0KDQp2YXIgeXRwID0geXRwIHx8IHt9Ow0KDQpmdW5jdGlvbiBvbllvdVR1YmVJZnJhbWVBUElSZWFkeSgpIHsNCiAgICB5dHAuWVRBUElSZWFkeSB8fCAoeXRwLllUQVBJUmVhZHkgPSAhMCwgalF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCJZVEFQSVJlYWR5IikpDQp9DQpsZXQgZ2V0WVRQVmlkZW9JRCA9IGZ1bmN0aW9uKGUpIHsNCiAgICBsZXQgciwgdDsNCiAgICByZXR1cm4gZS5pbmRleE9mKCJ5b3V0dS5iZSIpID4gMCB8fCBlLmluZGV4T2YoInlvdXR1YmUuY29tL2VtYmVkIikgPiAwID8gciA9ICh0ID0gKHIgPSBlLnN1YnN0cihlLmxhc3RJbmRleE9mKCIvIikgKyAxLCBlLmxlbmd0aCkpLmluZGV4T2YoIj9saXN0PSIpID4gMCA/IHIuc3Vic3RyKHIubGFzdEluZGV4T2YoIj0iKSwgci5sZW5ndGgpIDogbnVsbCkgPyByLnN1YnN0cigwLCByLmxhc3RJbmRleE9mKCI/IikpIDogciA6IGUuaW5kZXhPZigiaHR0cCIpID4gLTEgPyAociA9IGUubWF0Y2goL1tcXD8mXXY9KFteJiNdKikvKVsxXSwgdCA9IGUuaW5kZXhPZigibGlzdD0iKSA+IDAgPyBlLm1hdGNoKC9bXFw/Jl1saXN0PShbXiYjXSopLylbMV0gOiBudWxsKSA6IHQgPSAociA9IGUubGVuZ3RoID4gMTUgPyBudWxsIDogZSkgPyBudWxsIDogZSwgew0KICAgICAgICB2aWRlb0lEOiByLA0KICAgICAgICBwbGF5bGlzdElEOiB0DQogICAgfQ0KfTsNCg0KZnVuY3Rpb24gaU9TdmVyc2lvbigpIHsNCiAgICBpZiAoL2lQKGhvbmV8b2R8YWQpLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpIHsNCiAgICAgICAgbGV0IGUgPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbi5tYXRjaCgvT1MgKFxkKylfKFxkKylfPyhcZCspPy8pOw0KICAgICAgICByZXR1cm4gW3BhcnNlSW50KGVbMV0sIDEwKSwgcGFyc2VJbnQoZVsyXSwgMTApLCBwYXJzZUludChlWzNdIHx8IDAsIDEwKV0NCiAgICB9DQp9ISBmdW5jdGlvbihqUXVlcnksIHl0cCkgew0KICAgIGpRdWVyeS5tYllUUGxheWVyID0gew0KICAgICAgICBuYW1lOiAianF1ZXJ5Lm1iLllUUGxheWVyIiwNCiAgICAgICAgdmVyc2lvbjogIjMuMi4xMCIsDQogICAgICAgIGJ1aWxkOiAiNzQ0NSIsDQogICAgICAgIGF1dGhvcjogIk1hdHRlbyBCaWNvY2NoaSAocHVwdW56aSkiLA0KICAgICAgICBhcGlLZXk6ICIiLA0KICAgICAgICBkZWZhdWx0czogew0KICAgICAgICAgICAgdmlkZW9VUkw6IG51bGwsDQogICAgICAgICAgICBjb250YWlubWVudDogImJvZHkiLA0KICAgICAgICAgICAgcmF0aW86ICJhdXRvIiwNCiAgICAgICAgICAgIGZhZGVPblN0YXJ0VGltZTogMWUzLA0KICAgICAgICAgICAgc3RhcnRBdDogMCwNCiAgICAgICAgICAgIHN0b3BBdDogMCwNCiAgICAgICAgICAgIGF1dG9QbGF5OiAhMCwNCiAgICAgICAgICAgIGNvdmVySW1hZ2U6ICExLA0KICAgICAgICAgICAgbG9vcDogITAsDQogICAgICAgICAgICBhZGRSYXN0ZXI6ICExLA0KICAgICAgICAgICAgbWFzazogITEsDQogICAgICAgICAgICBvcGFjaXR5OiAxLA0KICAgICAgICAgICAgcXVhbGl0eTogImRlZmF1bHQiLA0KICAgICAgICAgICAgdm9sOiA1MCwNCiAgICAgICAgICAgIG11dGU6ICExLA0KICAgICAgICAgICAgc2hvd0NvbnRyb2xzOiAhMCwNCiAgICAgICAgICAgIGFuY2hvcjogImNlbnRlcixjZW50ZXIiLA0KICAgICAgICAgICAgc2hvd0Fubm90YXRpb25zOiAhMSwNCiAgICAgICAgICAgIGNjX2xvYWRfcG9saWN5OiAhMSwNCiAgICAgICAgICAgIHNob3dZVExvZ286ICEwLA0KICAgICAgICAgICAgdXNlT25Nb2JpbGU6ICEwLA0KICAgICAgICAgICAgcGxheU9ubHlJZlZpc2libGU6ICExLA0KICAgICAgICAgICAgb25TY3JlZW5QZXJjZW50YWdlOiAzMCwNCiAgICAgICAgICAgIHN0b3BNb3ZpZU9uQmx1cjogITAsDQogICAgICAgICAgICByZWFsRnVsbHNjcmVlbjogITAsDQogICAgICAgICAgICBvcHRpbWl6ZURpc3BsYXk6ICEwLA0KICAgICAgICAgICAgYWJ1bmRhbmNlOiAuMywNCiAgICAgICAgICAgIGdhVHJhY2s6ICEwLA0KICAgICAgICAgICAgcmVtZW1iZXJfbGFzdF90aW1lOiAhMSwNCiAgICAgICAgICAgIGFkZEZpbHRlcnM6ICExLA0KICAgICAgICAgICAgb25SZWFkeTogZnVuY3Rpb24oZSkge30sDQogICAgICAgICAgICBvbkVycm9yOiBmdW5jdGlvbihlLCByKSB7fQ0KICAgICAgICB9LA0KICAgICAgICBjb250cm9sczogew0KICAgICAgICAgICAgcGxheTogIlAiLA0KICAgICAgICAgICAgcGF1c2U6ICJwIiwNCiAgICAgICAgICAgIG11dGU6ICJNIiwNCiAgICAgICAgICAgIHVubXV0ZTogIkEiLA0KICAgICAgICAgICAgb25seVlUOiAiTyIsDQogICAgICAgICAgICBzaG93U2l0ZTogIlIiLA0KICAgICAgICAgICAgeXRMb2dvOiAiWSINCiAgICAgICAgfSwNCiAgICAgICAgY29udHJvbEJhcjogbnVsbCwNCiAgICAgICAgbG9jYXRpb25Qcm90b2NvbDogImh0dHBzOiIsDQogICAgICAgIGRlZmF1bHRGaWx0ZXJzOiB7DQogICAgICAgICAgICBncmF5c2NhbGU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB1bml0OiAiJSINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBodWVfcm90YXRlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgdW5pdDogImRlZyINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBpbnZlcnQ6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB1bml0OiAiJSINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBvcGFjaXR5OiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgdW5pdDogIiUiDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2F0dXJhdGU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB1bml0OiAiJSINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXBpYTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgIHVuaXQ6ICIlIg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGJyaWdodG5lc3M6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB1bml0OiAiJSINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb250cmFzdDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgIHVuaXQ6ICIlIg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGJsdXI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB1bml0OiAicHgiDQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIGJ1aWxkUGxheWVyOiBmdW5jdGlvbihvcHRpb25zKSB7DQogICAgICAgICAgICBpZiAoeXRwLllUQVBJUmVhZHkgfHwgdm9pZCAwICE9PSB3aW5kb3cuWVQpIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgalF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCJZVEFQSVJlYWR5IiksIHl0cC5ZVEFQSVJlYWR5ID0gITANCiAgICAgICAgICAgIH0sIDEwMCk7DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICBqUXVlcnkoIiNZVEFQSSIpLnJlbW92ZSgpOw0KICAgICAgICAgICAgICAgIGxldCBlID0galF1ZXJ5KCI8c2NyaXB0PiIpLmF0dHIoew0KICAgICAgICAgICAgICAgICAgICBzcmM6ICJodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpP3Y9IiArIGpRdWVyeS5tYllUUGxheWVyLnZlcnNpb24sDQogICAgICAgICAgICAgICAgICAgIGlkOiAiWVRBUEkiDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgalF1ZXJ5KCJoZWFkIikucHJlcGVuZChlKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBmdW5jdGlvbiBpc0lmcmFtZSgpIHsNCiAgICAgICAgICAgICAgICBsZXQgZSA9ICExOw0KICAgICAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgIHNlbGYubG9jYXRpb24uaHJlZiAhPSB0b3AubG9jYXRpb24uaHJlZiAmJiAoZSA9ICEwKQ0KICAgICAgICAgICAgICAgIH0gY2F0Y2ggKHIpIHsNCiAgICAgICAgICAgICAgICAgICAgZSA9ICEwDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiBlDQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gY29uc29sZS50aW1lKCJZVFBsYXllckluaXQiKSwgY29uc29sZS50aW1lKCJZVFBsYXllclN0YXJ0UGxheSIpLCB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgbGV0IFlUUGxheWVyID0gdGhpcywNCiAgICAgICAgICAgICAgICAgICAgJFlUUGxheWVyID0galF1ZXJ5KFlUUGxheWVyKTsNCiAgICAgICAgICAgICAgICAkWVRQbGF5ZXIuaGlkZSgpLCBZVFBsYXllci5sb29wID0gMCwgWVRQbGF5ZXIuc3RhdGUgPSAwLCBZVFBsYXllci5maWx0ZXJzID0galF1ZXJ5LmV4dGVuZCghMCwge30sIGpRdWVyeS5tYllUUGxheWVyLmRlZmF1bHRGaWx0ZXJzKSwgWVRQbGF5ZXIuZmlsdGVyc0VuYWJsZWQgPSAhMCwgWVRQbGF5ZXIuaWQgPSBZVFBsYXllci5pZCB8fCAiWVRQXyIgKyAobmV3IERhdGUpLmdldFRpbWUoKSwgJFlUUGxheWVyLmFkZENsYXNzKCJtYl9ZVFBsYXllciIpOw0KICAgICAgICAgICAgICAgIGxldCBwcm9wZXJ0eSA9ICRZVFBsYXllci5kYXRhKCJwcm9wZXJ0eSIpICYmICJzdHJpbmciID09IHR5cGVvZiAkWVRQbGF5ZXIuZGF0YSgicHJvcGVydHkiKSA/IGV2YWwoIigiICsgJFlUUGxheWVyLmRhdGEoInByb3BlcnR5IikgKyAiKSIpIDogJFlUUGxheWVyLmRhdGEoInByb3BlcnR5Iik7DQogICAgICAgICAgICAgICAgIm9iamVjdCIgIT0gdHlwZW9mIHByb3BlcnR5ICYmIChwcm9wZXJ0eSA9IHt9KSwgWVRQbGF5ZXIub3B0ID0galF1ZXJ5LmV4dGVuZCghMCwge30sIGpRdWVyeS5tYllUUGxheWVyLmRlZmF1bHRzLCBZVFBsYXllci5vcHQsIG9wdGlvbnMsIHByb3BlcnR5KSwgWVRQbGF5ZXIub3B0LmVsZW1lbnRJZCA9IFlUUGxheWVyLmlkLCAwID09PSBZVFBsYXllci5vcHQudm9sICYmIChZVFBsYXllci5vcHQudm9sID0gMSwgWVRQbGF5ZXIub3B0Lm11dGUgPSAhMCksIFlUUGxheWVyLm9wdC5hdXRvUGxheSAmJiAwID09IFlUUGxheWVyLm9wdC5tdXRlICYmIGpRdWVyeS5tYkJyb3dzZXIuY2hyb21lICYmIChqUXVlcnkoZG9jdW1lbnQpLm9uZSgibW91c2Vkb3duLllUUHN0YXJ0IiwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICRZVFBsYXllci5ZVFBQbGF5KCkNCiAgICAgICAgICAgICAgICB9KSwgY29uc29sZS5pbmZvKCJZVFBsYXllciBpbmZvOiBPbiBXZWJraXQgYnJvd3NlcnMgeW91IGNhbiBub3QgYXV0b3BsYXkgdGhlIHZpZGVvIGlmIHRoZSBhdWRpbyBpcyBvbi4iKSksIFlUUGxheWVyLm9wdC5sb29wICYmICJib29sZWFuIiA9PSB0eXBlb2YgWVRQbGF5ZXIub3B0Lmxvb3AgJiYgKFlUUGxheWVyLm9wdC5sb29wID0gOTk5OSk7DQogICAgICAgICAgICAgICAgbGV0IGZ1bGxTY3JlZW5BdmFpbGFibGUgPSBkb2N1bWVudC5mdWxsc2NyZWVuRW5hYmxlZCB8fCBkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCB8fCBkb2N1bWVudC5tb3pGdWxsU2NyZWVuRW5hYmxlZCB8fCBkb2N1bWVudC5tc0Z1bGxzY3JlZW5FbmFibGVkOw0KICAgICAgICAgICAgICAgIFlUUGxheWVyLm9wdC5yZWFsRnVsbHNjcmVlbiA9ICEoaXNJZnJhbWUoKSB8fCAhZnVsbFNjcmVlbkF2YWlsYWJsZSkgJiYgWVRQbGF5ZXIub3B0LnJlYWxGdWxsc2NyZWVuLCBZVFBsYXllci5vcHQuc2hvd0Fubm90YXRpb25zID0gWVRQbGF5ZXIub3B0LnNob3dBbm5vdGF0aW9ucyA/ICIxIiA6ICIzIiwgWVRQbGF5ZXIub3B0LmNjX2xvYWRfcG9saWN5ID0gWVRQbGF5ZXIub3B0LmNjX2xvYWRfcG9saWN5ID8gIjEiIDogIjAiLCBZVFBsYXllci5vcHQuY292ZXJJbWFnZSA9IFlUUGxheWVyLm9wdC5jb3ZlckltYWdlIHx8IFlUUGxheWVyLm9wdC5iYWNrZ3JvdW5kSW1hZ2UsIGpRdWVyeS5tYkJyb3dzZXIubXNpZSAmJiBqUXVlcnkubWJCcm93c2VyLnZlcnNpb24gPCA5ICYmIChZVFBsYXllci5vcHQub3BhY2l0eSA9IDEpLCBZVFBsYXllci5vcHQuY29udGFpbm1lbnQgPSAic2VsZiIgPT09IFlUUGxheWVyLm9wdC5jb250YWlubWVudCA/ICRZVFBsYXllciA6IGpRdWVyeShZVFBsYXllci5vcHQuY29udGFpbm1lbnQpLCBZVFBsYXllci5pc1JldGluYSA9IHdpbmRvdy5yZXRpbmEgfHwgd2luZG93LmRldmljZVBpeGVsUmF0aW8gPiAxLCBZVFBsYXllci5vcHQucmF0aW8gPSAiYXV0byIgPT09IFlUUGxheWVyLm9wdC5yYXRpbyA/IDE2IC8gOSA6IFlUUGxheWVyLm9wdC5yYXRpbywgWVRQbGF5ZXIub3B0LnJhdGlvID0gZXZhbChZVFBsYXllci5vcHQucmF0aW8pOw0KICAgICAgICAgICAgICAgIGxldCBvcmlnQ29udGFpbm1lbnRCYWNrZ3JvdW5kID0gWVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmNzcygiYmFja2dyb3VuZC1pbWFnZSIpOw0KICAgICAgICAgICAgICAgIG9yaWdDb250YWlubWVudEJhY2tncm91bmQgPSAibm9uZSIgPT0gb3JpZ0NvbnRhaW5tZW50QmFja2dyb3VuZCA/IG51bGwgOiBvcmlnQ29udGFpbm1lbnRCYWNrZ3JvdW5kLCBZVFBsYXllci5vcmlnX2NvbnRhaW5tZW50X2JhY2tncm91bmQgPSBvcmlnQ29udGFpbm1lbnRCYWNrZ3JvdW5kLCAkWVRQbGF5ZXIuYXR0cigiaWQiKSB8fCAkWVRQbGF5ZXIuYXR0cigiaWQiLCAieXRwXyIgKyAobmV3IERhdGUpLmdldFRpbWUoKSksIFlUUGxheWVyLnBsYXllcklEID0gImlmcmFtZV8iICsgWVRQbGF5ZXIuaWQsIFlUUGxheWVyLmlzQWxvbmUgPSAhMSwgWVRQbGF5ZXIuaGFzRm9jdXMgPSAhMCwgWVRQbGF5ZXIudmlkZW9JRCA9IFlUUGxheWVyLm9wdC52aWRlb1VSTCA/IGdldFlUUFZpZGVvSUQoWVRQbGF5ZXIub3B0LnZpZGVvVVJMKS52aWRlb0lEIDogISEkWVRQbGF5ZXIuYXR0cigiaHJlZiIpICYmIGdldFlUUFZpZGVvSUQoJFlUUGxheWVyLmF0dHIoImhyZWYiKSkudmlkZW9JRCwgWVRQbGF5ZXIucGxheWxpc3RJRCA9IFlUUGxheWVyLm9wdC52aWRlb1VSTCA/IGdldFlUUFZpZGVvSUQoWVRQbGF5ZXIub3B0LnZpZGVvVVJMKS5wbGF5bGlzdElEIDogISEkWVRQbGF5ZXIuYXR0cigiaHJlZiIpICYmIGdldFlUUFZpZGVvSUQoJFlUUGxheWVyLmF0dHIoImhyZWYiKSkucGxheWxpc3RJRDsNCiAgICAgICAgICAgICAgICBsZXQgc3RhcnRfZnJvbV9sYXN0ID0gMDsNCiAgICAgICAgICAgICAgICBpZiAoalF1ZXJ5Lm1iQ29va2llLmdldCgiWVRQbGF5ZXJfc3RhcnRfZnJvbSIgKyBZVFBsYXllci52aWRlb0lEKSAmJiAoc3RhcnRfZnJvbV9sYXN0ID0gcGFyc2VGbG9hdChqUXVlcnkubWJDb29raWUuZ2V0KCJZVFBsYXllcl9zdGFydF9mcm9tIiArIFlUUGxheWVyLnZpZGVvSUQpKSksIFlUUGxheWVyLm9wdC5yZW1lbWJlcl9sYXN0X3RpbWUgJiYgc3RhcnRfZnJvbV9sYXN0ICYmIChZVFBsYXllci5zdGFydF9mcm9tX2xhc3QgPSBzdGFydF9mcm9tX2xhc3QsIGpRdWVyeS5tYkNvb2tpZS5yZW1vdmUoIllUUGxheWVyX3N0YXJ0X2Zyb20iICsgWVRQbGF5ZXIudmlkZW9JRCkpLCBZVFBsYXllci5pc1BsYXllciA9ICRZVFBsYXllci5pcyhZVFBsYXllci5vcHQuY29udGFpbm1lbnQpLCBZVFBsYXllci5pc0JhY2tncm91bmQgPSBZVFBsYXllci5vcHQuY29udGFpbm1lbnQuaXMoImJvZHkiKSwgWVRQbGF5ZXIuaXNCYWNrZ3JvdW5kICYmIHl0cC5iYWNrZ3JvdW5kSXNJbml0ZWQpIHJldHVybjsNCiAgICAgICAgICAgICAgICBpZiAoWVRQbGF5ZXIuaXNQbGF5ZXIgJiYgJFlUUGxheWVyLnNob3coKSwgWVRQbGF5ZXIub3ZlcmxheSA9IGpRdWVyeSgiPGRpdi8+IikuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiMTAwJSIsDQogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICIxMDAlIg0KICAgICAgICAgICAgICAgICAgICB9KS5hZGRDbGFzcygiWVRQT3ZlcmxheSIpLCBZVFBsYXllci5vcHQuY292ZXJJbWFnZSB8fCBZVFBsYXllci5vcmlnX2NvbnRhaW5tZW50X2JhY2tncm91bmQpIHsNCiAgICAgICAgICAgICAgICAgICAgbGV0IGUgPSBZVFBsYXllci5vcHQuY292ZXJJbWFnZSA/ICJ1cmwoIiArIFlUUGxheWVyLm9wdC5jb3ZlckltYWdlICsgIikgY2VudGVyIGNlbnRlciIgOiBZVFBsYXllci5vcmlnX2NvbnRhaW5tZW50X2JhY2tncm91bmQ7DQogICAgICAgICAgICAgICAgICAgIGUgJiYgWVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmNzcyh7DQogICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBlLA0KICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFNpemU6ICJjb3ZlciIsDQogICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kUmVwZWF0OiAibm8tcmVwZWF0Ig0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBZVFBsYXllci53cmFwcGVyID0galF1ZXJ5KCI8ZGl2Lz4iKS5hdHRyKCJpZCIsICJ3cmFwcGVyXyIgKyBZVFBsYXllci5pZCkuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJhYnNvbHV0ZSIsDQogICAgICAgICAgICAgICAgICAgIHpJbmRleDogMCwNCiAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg6ICIxMDAlIiwNCiAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiAiMTAwJSIsDQogICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAsDQogICAgICAgICAgICAgICAgICAgIHRvcDogMCwNCiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICJoaWRkZW4iLA0KICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwDQogICAgICAgICAgICAgICAgfSkuYWRkQ2xhc3MoIm1iWVRQX3dyYXBwZXIiKSwgWVRQbGF5ZXIuaXNQbGF5ZXIgJiYgKFlUUGxheWVyLmlubGluZVBsYXlCdXR0b24gPSBqUXVlcnkoIjxkaXYvPiIpLmFkZENsYXNzKCJpbmxpbmVQbGF5QnV0dG9uIikuaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy5wbGF5KSwgJFlUUGxheWVyLmFwcGVuZChZVFBsYXllci5pbmxpbmVQbGF5QnV0dG9uKSwgWVRQbGF5ZXIuaW5saW5lUGxheUJ1dHRvbi5vbigiY2xpY2siLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICRZVFBsYXllci5ZVFBQbGF5KCksIGUuc3RvcFByb3BhZ2F0aW9uKCkNCiAgICAgICAgICAgICAgICB9KSwgWVRQbGF5ZXIub3B0LmF1dG9QbGF5ICYmIFlUUGxheWVyLmlubGluZVBsYXlCdXR0b24uaGlkZSgpLCBZVFBsYXllci5vdmVybGF5Lm9uKCJjbGljayIsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAkWVRQbGF5ZXIuWVRQVG9nZ2xlUGxheSgpDQogICAgICAgICAgICAgICAgfSkuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiAicG9pbnRlciINCiAgICAgICAgICAgICAgICB9KSk7DQogICAgICAgICAgICAgICAgbGV0IHBsYXllckJveCA9IGpRdWVyeSgiPGRpdi8+IikuYXR0cigiaWQiLCBZVFBsYXllci5wbGF5ZXJJRCkuYWRkQ2xhc3MoInBsYXllckJveCIpOw0KICAgICAgICAgICAgICAgIGlmIChwbGF5ZXJCb3guY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiYWJzb2x1dGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgekluZGV4OiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICIxMDAlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogIjEwMCUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAiaGlkZGVuIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgICAgICAgICAgICAgfSksIFlUUGxheWVyLndyYXBwZXIuYXBwZW5kKHBsYXllckJveCksIHBsYXllckJveC5hZnRlcihZVFBsYXllci5vdmVybGF5KSwgWVRQbGF5ZXIuaXNQbGF5ZXIgJiYgKFlUUGxheWVyLmlubGluZVdyYXBwZXIgPSBqUXVlcnkoIjxkaXYvPiIpLmFkZENsYXNzKCJpbmxpbmUtWVRQbGF5ZXIiKSwgWVRQbGF5ZXIuaW5saW5lV3JhcHBlci5jc3Moew0KICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICJyZWxhdGl2ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICBtYXhXaWR0aDogWVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmNzcygid2lkdGgiKQ0KICAgICAgICAgICAgICAgICAgICB9KSwgWVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmNzcyh7DQogICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogInJlbGF0aXZlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmdCb3R0b206ICI1Ni4yNSUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICJoaWRkZW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwDQogICAgICAgICAgICAgICAgICAgIH0pLCBZVFBsYXllci5vcHQuY29udGFpbm1lbnQud3JhcChZVFBsYXllci5pbmxpbmVXcmFwcGVyKSksIFlUUGxheWVyLm9wdC5jb250YWlubWVudC5jaGlsZHJlbigpLm5vdCgic2NyaXB0LCBzdHlsZSIpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAic3RhdGljIiA9PSBqUXVlcnkodGhpcykuY3NzKCJwb3NpdGlvbiIpICYmIGpRdWVyeSh0aGlzKS5jc3MoInBvc2l0aW9uIiwgInJlbGF0aXZlIikNCiAgICAgICAgICAgICAgICAgICAgfSksIFlUUGxheWVyLmlzQmFja2dyb3VuZCA/IChqUXVlcnkoImJvZHkiKS5jc3Moew0KICAgICAgICAgICAgICAgICAgICAgICAgYm94U2l6aW5nOiAiYm9yZGVyLWJveCINCiAgICAgICAgICAgICAgICAgICAgfSksIFlUUGxheWVyLndyYXBwZXIuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAiZml4ZWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogMA0KICAgICAgICAgICAgICAgICAgICB9KSkgOiAic3RhdGljIiA9PSBZVFBsYXllci5vcHQuY29udGFpbm1lbnQuY3NzKCJwb3NpdGlvbiIpICYmIChZVFBsYXllci5vcHQuY29udGFpbm1lbnQuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAicmVsYXRpdmUiDQogICAgICAgICAgICAgICAgICAgIH0pLCAkWVRQbGF5ZXIuc2hvdygpKSwgWVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LnByZXBlbmQoWVRQbGF5ZXIud3JhcHBlciksIFlUUGxheWVyLmlzQmFja2dyb3VuZCB8fCBZVFBsYXllci5vdmVybGF5Lm9uKCJtb3VzZWVudGVyIiwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBZVFBsYXllci5jb250cm9sQmFyICYmIFlUUGxheWVyLmNvbnRyb2xCYXIubGVuZ3RoICYmIFlUUGxheWVyLmNvbnRyb2xCYXIuYWRkQ2xhc3MoInZpc2libGUiKQ0KICAgICAgICAgICAgICAgICAgICB9KS5vbigibW91c2VsZWF2ZSIsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgWVRQbGF5ZXIuY29udHJvbEJhciAmJiBZVFBsYXllci5jb250cm9sQmFyLmxlbmd0aCAmJiBZVFBsYXllci5jb250cm9sQmFyLnJlbW92ZUNsYXNzKCJ2aXNpYmxlIikNCiAgICAgICAgICAgICAgICAgICAgfSksIGpRdWVyeS5tYkJyb3dzZXIubW9iaWxlICYmICFZVFBsYXllci5vcHQudXNlT25Nb2JpbGUpIHJldHVybiBZVFBsYXllci5vcHQuY292ZXJJbWFnZSAmJiAoWVRQbGF5ZXIud3JhcHBlci5jc3Moew0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICJ1cmwoIiArIFlUUGxheWVyLm9wdC5jb3ZlckltYWdlICsgIikiLA0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246ICJjZW50ZXIgY2VudGVyIiwNCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFNpemU6ICJjb3ZlciIsDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRSZXBlYXQ6ICJuby1yZXBlYXQiLA0KICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxDQogICAgICAgICAgICAgICAgfSksIFlUUGxheWVyLndyYXBwZXIuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMQ0KICAgICAgICAgICAgICAgIH0pKSwgJFlUUGxheWVyOw0KICAgICAgICAgICAgICAgIGpRdWVyeS5tYkJyb3dzZXIubW9iaWxlICYmIFlUUGxheWVyLm9wdC5hdXRvUGxheSAmJiBZVFBsYXllci5vcHQudXNlT25Nb2JpbGUgJiYgalF1ZXJ5KCJib2R5Iikub25lKCJ0b3VjaHN0YXJ0IiwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIFlUUGxheWVyLnBsYXllci5wbGF5VmlkZW8oKQ0KICAgICAgICAgICAgICAgIH0pLCBqUXVlcnkoZG9jdW1lbnQpLm9uZSgiWVRBUElSZWFkeSIsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAkWVRQbGF5ZXIudHJpZ2dlcigiWVRBUElSZWFkeV8iICsgWVRQbGF5ZXIuaWQpLCB5dHAuWVRBUElSZWFkeSA9ICEwDQogICAgICAgICAgICAgICAgfSksIFlUUGxheWVyLmlzT25TY3JlZW4gPSBqUXVlcnkubWJZVFBsYXllci5pc09uU2NyZWVuKFlUUGxheWVyLCBZVFBsYXllci5vcHQub25TY3JlZW5QZXJjZW50YWdlKSwgJFlUUGxheWVyLm9uZSgiWVRBUElSZWFkeV8iICsgWVRQbGF5ZXIuaWQsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBsZXQgZSA9IHRoaXMsDQogICAgICAgICAgICAgICAgICAgICAgICByID0galF1ZXJ5KGUpOw0KICAgICAgICAgICAgICAgICAgICBlLmlzQmFja2dyb3VuZCAmJiB5dHAuYmFja2dyb3VuZElzSW5pdGVkIHx8IGUuaXNJbml0IHx8IChlLmlzQmFja2dyb3VuZCAmJiAoeXRwLmJhY2tncm91bmRJc0luaXRlZCA9ICEwKSwgZS5vcHQuYXV0b1BsYXkgPSB2b2lkIDAgPT09IGUub3B0LmF1dG9QbGF5ID8gISFlLmlzQmFja2dyb3VuZCA6IGUub3B0LmF1dG9QbGF5LCBlLm9wdC52b2wgPSBlLm9wdC52b2wgPyBlLm9wdC52b2wgOiAxMDAsIGpRdWVyeS5tYllUUGxheWVyLmdldERhdGFGcm9tQVBJKGUpLCBqUXVlcnkoZSkub24oIllUUENoYW5nZWQiLCBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5pc0luaXQpIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgICAgIGUuaXNJbml0ID0gITA7DQogICAgICAgICAgICAgICAgICAgICAgICBsZXQgYSA9IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2Rlc3RicmFuZGluZzogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheTogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sczogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93aW5mbzogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw6IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlanNhcGk6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjogMywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGF5ZXJhcGlpZDogZS5wbGF5ZXJJRCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW46ICIqIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2Z1bGxzY3JlZW46ICEwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdtb2RlOiAidHJhbnNwYXJlbnQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl2X2xvYWRfcG9saWN5OiBlLm9wdC5zaG93QW5ub3RhdGlvbnMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2NfbG9hZF9wb2xpY3k6IGUub3B0LmNjX2xvYWRfcG9saWN5LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXlzaW5saW5lOiBqUXVlcnkubWJCcm93c2VyLm1vYmlsZSA/IDEgOiAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWw1OiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2aWRlbyIpLmNhblBsYXlUeXBlID8gMSA6IDANCiAgICAgICAgICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgICAgICAgICBuZXcgWVQuUGxheWVyKGUucGxheWVySUQsIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGF5ZXJWYXJzOiBhLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50czogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblJlYWR5OiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnBsYXllciA9IHQudGFyZ2V0LCBlLnBsYXllci5sb2FkVmlkZW9CeUlkKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWRlb0lkOiBlLnZpZGVvSUQudG9TdHJpbmcoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWdnZXN0ZWRRdWFsaXR5OiBlLm9wdC5xdWFsaXR5DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgci50cmlnZ2VyKCJZVFBsYXllcklzUmVhZHlfIiArIGUuaWQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU3RhdGVDaGFuZ2U6IGZ1bmN0aW9uKHIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgiZnVuY3Rpb24iICE9IHR5cGVvZiByLnRhcmdldC5nZXRQbGF5ZXJTdGF0ZSkgcmV0dXJuOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHQsIGEgPSByLnRhcmdldC5nZXRQbGF5ZXJTdGF0ZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUucHJldmVudFRyaWdnZXIgfHwgZS5pc1N0YXJ0aW5nKSByZXR1cm4gdm9pZChlLnByZXZlbnRUcmlnZ2VyID0gITEpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChlLnN0YXRlID0gYSwgci5kYXRhID09IFlULlBsYXllclN0YXRlLlBMQVlJTkcgJiYgci50YXJnZXQuc2V0UGxheWJhY2tRdWFsaXR5KGUub3B0LnF1YWxpdHkpLCBhKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAtMToNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9ICJZVFBVbnN0YXJ0ZWQiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDA6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPSAiWVRQUmVhbEVuZCI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9ICJZVFBQbGF5IiwgZS5jb250cm9sQmFyLmxlbmd0aCAmJiBlLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFBsYXlQYXVzZSIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGF1c2UpLCBlLmlzUGxheWVyICYmIGUuaW5saW5lUGxheUJ1dHRvbi5oaWRlKCksIGpRdWVyeShkb2N1bWVudCkub2ZmKCJtb3VzZWRvd24uWVRQc3RhcnQiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ID0gIllUUFBhdXNlIiwgZS5jb250cm9sQmFyLmxlbmd0aCAmJiBlLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFBsYXlQYXVzZSIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGxheSksIGUuaXNQbGF5ZXIgJiYgZS5pbmxpbmVQbGF5QnV0dG9uLnNob3coKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnBsYXllci5zZXRQbGF5YmFja1F1YWxpdHkoZS5vcHQucXVhbGl0eSksIHQgPSAiWVRQQnVmZmVyaW5nIiwgZS5jb250cm9sQmFyLmxlbmd0aCAmJiBlLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFBsYXlQYXVzZSIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGxheSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNToNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9ICJZVFBDdWVkIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG8gPSBqUXVlcnkuRXZlbnQodCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLnRpbWUgPSBlLmN1cnJlbnRUaW1lLCBqUXVlcnkoZSkudHJpZ2dlcihvKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblBsYXliYWNrUXVhbGl0eUNoYW5nZTogZnVuY3Rpb24ocikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHQgPSByLnRhcmdldC5nZXRQbGF5YmFja1F1YWxpdHkoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhID0galF1ZXJ5LkV2ZW50KCJZVFBRdWFsaXR5Q2hhbmdlIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLnF1YWxpdHkgPSB0LCBqUXVlcnkoZSkudHJpZ2dlcihhKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yOiBmdW5jdGlvbih0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKCJmdW5jdGlvbiIgPT0gdHlwZW9mIGUub3B0Lm9uRXJyb3IgJiYgZS5vcHQub25FcnJvcihyLCB0KSwgdC5kYXRhKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJ2aWRlbyBJRDo6ICIgKyBlLnZpZGVvSUQgKyAiOiBUaGUgcmVxdWVzdCBjb250YWlucyBhbiBpbnZhbGlkIHBhcmFtZXRlciB2YWx1ZS4gRm9yIGV4YW1wbGUsIHRoaXMgZXJyb3Igb2NjdXJzIGlmIHlvdSBzcGVjaWZ5IGEgdmlkZW8gSUQgdGhhdCBkb2VzIG5vdCBoYXZlIDExIGNoYXJhY3RlcnMsIG9yIGlmIHRoZSB2aWRlbyBJRCBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMsIHN1Y2ggYXMgZXhjbGFtYXRpb24gcG9pbnRzIG9yIGFzdGVyaXNrcy4iKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA1Og0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJ2aWRlbyBJRDo6ICIgKyBlLnZpZGVvSUQgKyAiOiBUaGUgcmVxdWVzdGVkIGNvbnRlbnQgY2Fubm90IGJlIHBsYXllZCBpbiBhbiBIVE1MNSBwbGF5ZXIgb3IgYW5vdGhlciBlcnJvciByZWxhdGVkIHRvIHRoZSBIVE1MNSBwbGF5ZXIgaGFzIG9jY3VycmVkLiIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwMDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcigidmlkZW8gSUQ6OiAiICsgZS52aWRlb0lEICsgIjogVGhlIHZpZGVvIHJlcXVlc3RlZCB3YXMgbm90IGZvdW5kLiBUaGlzIGVycm9yIG9jY3VycyB3aGVuIGEgdmlkZW8gaGFzIGJlZW4gcmVtb3ZlZCAoZm9yIGFueSByZWFzb24pIG9yIGhhcyBiZWVuIG1hcmtlZCBhcyBwcml2YXRlLiIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwMToNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE1MDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcigidmlkZW8gSUQ6OiAiICsgZS52aWRlb0lEICsgIjogVGhlIG93bmVyIG9mIHRoZSByZXF1ZXN0ZWQgdmlkZW8gZG9lcyBub3QgYWxsb3cgaXQgdG8gYmUgcGxheWVkIGluIGVtYmVkZGVkIHBsYXllcnMuIikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuaXNMaXN0ICYmIGpRdWVyeShlKS5ZVFBQbGF5TmV4dCgpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgci5vbigiWVRQbGF5ZXJJc1JlYWR5XyIgKyBlLmlkLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5pc1JlYWR5KSByZXR1cm4gdGhpczsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnBsYXllckVsID0gZS5wbGF5ZXIuZ2V0SWZyYW1lKCksIGpRdWVyeShlLnBsYXllckVsKS51bnNlbGVjdGFibGUoKSwgci5vcHRpbWl6ZURpc3BsYXkoKSwgalF1ZXJ5KHdpbmRvdykub2ZmKCJyZXNpemUuWVRQXyIgKyBlLmlkKS5vbigicmVzaXplLllUUF8iICsgZS5pZCwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIub3B0aW1pemVEaXNwbGF5KCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgZS5vcHQucmVtZW1iZXJfbGFzdF90aW1lICYmIGpRdWVyeSh3aW5kb3cpLm9uKCJ1bmxvYWQuWVRQXyIgKyBlLmlkLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHIgPSBlLnBsYXllci5nZXRDdXJyZW50VGltZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkubWJDb29raWUuc2V0KCJZVFBsYXllcl9zdGFydF9mcm9tIiArIGUudmlkZW9JRCwgciwgMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgci5ZVFBDaGVja0ZvclN0YXRlKCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIH0pKQ0KICAgICAgICAgICAgICAgIH0pLCAkWVRQbGF5ZXIub2ZmKCJZVFBUaW1lLm1hc2siKSwgalF1ZXJ5Lm1iWVRQbGF5ZXIuYXBwbHlNYXNrKFlUUGxheWVyKSwgY29uc29sZS50aW1lRW5kKCJZVFBsYXllckluaXQiKQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgaXNPblNjcmVlbjogZnVuY3Rpb24oZSwgcikgew0KICAgICAgICAgICAgciA9IHIgfHwgMTA7DQogICAgICAgICAgICBsZXQgdCA9IGUud3JhcHBlciwNCiAgICAgICAgICAgICAgICBhID0galF1ZXJ5KHdpbmRvdykuc2Nyb2xsVG9wKCksDQogICAgICAgICAgICAgICAgbyA9IGEgKyBqUXVlcnkod2luZG93KS5oZWlnaHQoKSwNCiAgICAgICAgICAgICAgICBuID0gdC5oZWlnaHQoKSAqIHIgLyAxMDAsDQogICAgICAgICAgICAgICAgaSA9IHQub2Zmc2V0KCkudG9wICsgbjsNCiAgICAgICAgICAgIHJldHVybiB0Lm9mZnNldCgpLnRvcCArICh0LmhlaWdodCgpIC0gbikgPD0gbyAmJiBpID49IGENCiAgICAgICAgfSwNCiAgICAgICAgZ2V0RGF0YUZyb21BUEk6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIGUudmlkZW9EYXRhID0galF1ZXJ5Lm1iU3RvcmFnZS5nZXQoIllUUGxheWVyX2RhdGFfIiArIGUudmlkZW9JRCksIGUudmlkZW9EYXRhID8gKHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgZS5kYXRhUmVjZWl2ZWQgPSAhMDsNCiAgICAgICAgICAgICAgICBsZXQgciA9IGpRdWVyeS5FdmVudCgiWVRQQ2hhbmdlZCIpOw0KICAgICAgICAgICAgICAgIHIudGltZSA9IGUuY3VycmVudFRpbWUsIHIudmlkZW9JZCA9IGUudmlkZW9JRCwgci5vcHQgPSBlLm9wdCwgalF1ZXJ5KGUpLnRyaWdnZXIocik7DQogICAgICAgICAgICAgICAgbGV0IHQgPSBqUXVlcnkuRXZlbnQoIllUUERhdGEiKTsNCiAgICAgICAgICAgICAgICB0LnByb3AgPSB7fTsNCiAgICAgICAgICAgICAgICBmb3IgKGxldCByIGluIGUudmlkZW9EYXRhKSB0LnByb3Bbcl0gPSBlLnZpZGVvRGF0YVtyXTsNCiAgICAgICAgICAgICAgICBqUXVlcnkoZSkudHJpZ2dlcih0KQ0KICAgICAgICAgICAgfSwgZS5vcHQuZmFkZU9uU3RhcnRUaW1lKSwgZS5oYXNEYXRhID0gITApIDogalF1ZXJ5Lm1iWVRQbGF5ZXIuYXBpS2V5ID8galF1ZXJ5LmdldEpTT04oImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3lvdXR1YmUvdjMvdmlkZW9zP2lkPSIgKyBlLnZpZGVvSUQgKyAiJmtleT0iICsgalF1ZXJ5Lm1iWVRQbGF5ZXIuYXBpS2V5ICsgIiZwYXJ0PXNuaXBwZXQiLCBmdW5jdGlvbihyKSB7DQogICAgICAgICAgICAgICAgZS5kYXRhUmVjZWl2ZWQgPSAhMDsNCiAgICAgICAgICAgICAgICBsZXQgdCA9IGpRdWVyeS5FdmVudCgiWVRQQ2hhbmdlZCIpOw0KICAgICAgICAgICAgICAgIHQudGltZSA9IGUuY3VycmVudFRpbWUsIHQudmlkZW9JZCA9IGUudmlkZW9JRCwgalF1ZXJ5KGUpLnRyaWdnZXIodCksIHIuaXRlbXNbMF0gPyAoISBmdW5jdGlvbihyKSB7DQogICAgICAgICAgICAgICAgICAgIGUudmlkZW9EYXRhID0ge30sIGUudmlkZW9EYXRhLmlkID0gZS52aWRlb0lELCBlLnZpZGVvRGF0YS5jaGFubmVsVGl0bGUgPSByLmNoYW5uZWxUaXRsZSwgZS52aWRlb0RhdGEudGl0bGUgPSByLnRpdGxlLCBlLnZpZGVvRGF0YS5kZXNjcmlwdGlvbiA9IHIuZGVzY3JpcHRpb24ubGVuZ3RoIDwgNDAwID8gci5kZXNjcmlwdGlvbiA6IHIuZGVzY3JpcHRpb24uc3Vic3RyaW5nKDAsIDQwMCkgKyAiIC4uLiIsIGUudmlkZW9EYXRhLnRodW1iX21heCA9IHIudGh1bWJuYWlscy5tYXhyZXMgPyByLnRodW1ibmFpbHMubWF4cmVzLnVybCA6IG51bGwsIGUudmlkZW9EYXRhLnRodW1iX2hpZ2ggPSByLnRodW1ibmFpbHMuaGlnaCA/IHIudGh1bWJuYWlscy5oaWdoLnVybCA6IG51bGwsIGUudmlkZW9EYXRhLnRodW1iX21lZGl1bSA9IHIudGh1bWJuYWlscy5tZWRpdW0gPyByLnRodW1ibmFpbHMubWVkaXVtLnVybCA6IG51bGwsIGpRdWVyeS5tYlN0b3JhZ2Uuc2V0KCJZVFBsYXllcl9kYXRhXyIgKyBlLnZpZGVvSUQsIGUudmlkZW9EYXRhKQ0KICAgICAgICAgICAgICAgIH0oci5pdGVtc1swXS5zbmlwcGV0KSwgZS5oYXNEYXRhID0gITApIDogKGUudmlkZW9EYXRhID0ge30sIGUuaGFzRGF0YSA9ICExKTsNCiAgICAgICAgICAgICAgICBsZXQgYSA9IGpRdWVyeS5FdmVudCgiWVRQRGF0YSIpOw0KICAgICAgICAgICAgICAgIGEucHJvcCA9IHt9Ow0KICAgICAgICAgICAgICAgIGZvciAobGV0IHIgaW4gZS52aWRlb0RhdGEpIGEucHJvcFtyXSA9IGUudmlkZW9EYXRhW3JdOw0KICAgICAgICAgICAgICAgIGpRdWVyeShlKS50cmlnZ2VyKGEpDQogICAgICAgICAgICB9KSA6IChzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGxldCByID0galF1ZXJ5LkV2ZW50KCJZVFBDaGFuZ2VkIik7DQogICAgICAgICAgICAgICAgci50aW1lID0gZS5jdXJyZW50VGltZSwgci52aWRlb0lkID0gZS52aWRlb0lELCBqUXVlcnkoZSkudHJpZ2dlcihyKQ0KICAgICAgICAgICAgfSwgMTApLCBlLnZpZGVvRGF0YSA9IG51bGwpLCBlLm9wdC5yYXRpbyA9ICJhdXRvIiA9PSBlLm9wdC5yYXRpbyA/IDE2IC8gOSA6IGUub3B0LnJhdGlvLCBlLmlzUGxheWVyICYmICFlLm9wdC5hdXRvUGxheSAmJiAoZS5sb2FkaW5nID0galF1ZXJ5KCI8ZGl2Lz4iKS5hZGRDbGFzcygibG9hZGluZyIpLmh0bWwoIkxvYWRpbmciKS5oaWRlKCksIGpRdWVyeShlKS5hcHBlbmQoZS5sb2FkaW5nKSwgZS5sb2FkaW5nLmZhZGVJbigpKQ0KICAgICAgICB9LA0KICAgICAgICByZW1vdmVTdG9yZWREYXRhOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGpRdWVyeS5tYlN0b3JhZ2UucmVtb3ZlKCkNCiAgICAgICAgfSwNCiAgICAgICAgZ2V0VmlkZW9EYXRhOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldCgwKS52aWRlb0RhdGENCiAgICAgICAgfSwNCiAgICAgICAgZ2V0VmlkZW9JRDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQoMCkudmlkZW9JRCB8fCAhMQ0KICAgICAgICB9LA0KICAgICAgICBnZXRQbGF5bGlzdElEOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldCgwKS5wbGF5bGlzdElEIHx8ICExDQogICAgICAgIH0sDQogICAgICAgIHNldFZpZGVvUXVhbGl0eTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgbGV0IHIgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIHJldHVybiBqUXVlcnkocikuWVRQUGF1c2UoKSwgci5vcHQucXVhbGl0eSA9IGUsIHIucGxheWVyLnNldFBsYXliYWNrUXVhbGl0eShlKSwgalF1ZXJ5KHIpLllUUFBsYXkoKSwgdGhpcw0KICAgICAgICB9LA0KICAgICAgICBnZXRWaWRlb1F1YWxpdHk6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KDApLnBsYXllci5nZXRQbGF5YmFja1F1YWxpdHkoKQ0KICAgICAgICB9LA0KICAgICAgICBwbGF5bGlzdDogZnVuY3Rpb24oZSwgciwgdCkgew0KICAgICAgICAgICAgbGV0IGEgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIHJldHVybiBhLmlzTGlzdCA9ICEwLCByICYmIChlID0galF1ZXJ5LnNodWZmbGUoZSkpLCBhLnZpZGVvSUQgfHwgKGEudmlkZW9zID0gZSwgYS52aWRlb0NvdW50ZXIgPSAxLCBhLnZpZGVvTGVuZ3RoID0gZS5sZW5ndGgsIGpRdWVyeShhKS5kYXRhKCJwcm9wZXJ0eSIsIGVbMF0pLCBqUXVlcnkoYSkuWVRQbGF5ZXIoKSksICJmdW5jdGlvbiIgPT0gdHlwZW9mIHQgJiYgalF1ZXJ5KGEpLm9uKCJZVFBDaGFuZ2VkIiwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgdChhKQ0KICAgICAgICAgICAgfSksIGpRdWVyeShhKS5vbigiWVRQRW5kIiwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgalF1ZXJ5KGEpLllUUFBsYXlOZXh0KCkNCiAgICAgICAgICAgIH0pLCB0aGlzDQogICAgICAgIH0sDQogICAgICAgIHBsYXlOZXh0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGxldCBlID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICByZXR1cm4gZS52aWRlb0NvdW50ZXIrKywgZS52aWRlb0NvdW50ZXIgPiBlLnZpZGVvTGVuZ3RoICYmIChlLnZpZGVvQ291bnRlciA9IDEpLCBqUXVlcnkoZSkuWVRQUGxheUluZGV4KGUudmlkZW9Db3VudGVyKSwgdGhpcw0KICAgICAgICB9LA0KICAgICAgICBwbGF5UHJldjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBsZXQgZSA9IHRoaXMuZ2V0KDApOw0KICAgICAgICAgICAgcmV0dXJuIGUudmlkZW9Db3VudGVyLS0sIGUudmlkZW9Db3VudGVyIDw9IDAgJiYgKGUudmlkZW9Db3VudGVyID0gZS52aWRlb0xlbmd0aCksIGpRdWVyeShlKS5ZVFBQbGF5SW5kZXgoZS52aWRlb0NvdW50ZXIpLCB0aGlzDQogICAgICAgIH0sDQogICAgICAgIHBsYXlJbmRleDogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgbGV0IHIgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIHIuY2hlY2tGb3JTdGFydEF0ICYmIChjbGVhckludGVydmFsKHIuY2hlY2tGb3JTdGFydEF0KSwgY2xlYXJJbnRlcnZhbChyLmdldFN0YXRlKSksIHIudmlkZW9Db3VudGVyID0gZSwgci52aWRlb0NvdW50ZXIgPj0gci52aWRlb0xlbmd0aCAmJiAoci52aWRlb0NvdW50ZXIgPSByLnZpZGVvTGVuZ3RoKTsNCiAgICAgICAgICAgIGxldCB0ID0gci52aWRlb3Nbci52aWRlb0NvdW50ZXIgLSAxXTsNCiAgICAgICAgICAgIHJldHVybiBqUXVlcnkocikuWVRQQ2hhbmdlVmlkZW8odCksIHRoaXMNCiAgICAgICAgfSwNCiAgICAgICAgY2hhbmdlVmlkZW86IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIGxldCByID0gdGhpcywNCiAgICAgICAgICAgICAgICB0ID0gci5nZXQoMCk7DQogICAgICAgICAgICB0Lm9wdC5zdGFydEF0ID0gMCwgdC5vcHQuc3RvcEF0ID0gMCwgdC5vcHQubWFzayA9ICExLCB0Lm9wdC5tdXRlID0gITAsIHQub3B0LmF1dG9QbGF5ID0gITAsIHQub3B0LmFkZEZpbHRlcnMgPSAhMSwgdC5vcHQuY292ZXJJbWFnZSA9ICExLCB0Lmhhc0RhdGEgPSAhMSwgdC5oYXNDaGFuZ2VkID0gITAsIHQucGxheWVyLmxvb3BUaW1lID0gdm9pZCAwLCBlICYmIGpRdWVyeS5leHRlbmQodC5vcHQsIGUpLCB0LnZpZGVvSUQgPSBnZXRZVFBWaWRlb0lEKHQub3B0LnZpZGVvVVJMKS52aWRlb0lELCB0Lm9wdC5sb29wICYmICJib29sZWFuIiA9PSB0eXBlb2YgdC5vcHQubG9vcCAmJiAodC5vcHQubG9vcCA9IDk5OTkpLCB0LndyYXBwZXIuY3NzKHsNCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAibm9uZSINCiAgICAgICAgICAgIH0pLCBqUXVlcnkodC5wbGF5ZXJFbCkuQ1NTQW5pbWF0ZSh7DQogICAgICAgICAgICAgICAgb3BhY2l0eTogMA0KICAgICAgICAgICAgfSwgdC5vcHQuZmFkZU9uU3RhcnRUaW1lLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBqUXVlcnkubWJZVFBsYXllci5nZXREYXRhRnJvbUFQSSh0KSwgci5ZVFBHZXRQbGF5ZXIoKS5sb2FkVmlkZW9CeUlkKHsNCiAgICAgICAgICAgICAgICAgICAgdmlkZW9JZDogdC52aWRlb0lELA0KICAgICAgICAgICAgICAgICAgICBzdWdnZXN0ZWRRdWFsaXR5OiB0Lm9wdC5xdWFsaXR5DQogICAgICAgICAgICAgICAgfSksIHIuWVRQUGF1c2UoKSwgci5vcHRpbWl6ZURpc3BsYXkoKSwgci5ZVFBDaGVja0ZvclN0YXRlKCkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgbGV0IGEgPSBqUXVlcnkuRXZlbnQoIllUUENoYW5nZVZpZGVvIik7DQogICAgICAgICAgICByZXR1cm4gYS50aW1lID0gdC5jdXJyZW50VGltZSwgalF1ZXJ5KHQpLnRyaWdnZXIoYSksIGpRdWVyeS5tYllUUGxheWVyLmFwcGx5TWFzayh0KSwgdGhpcw0KICAgICAgICB9LA0KICAgICAgICBnZXRQbGF5ZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgbGV0IGUgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIHJldHVybiBlLmlzUmVhZHkgJiYgZS5wbGF5ZXIgfHwgbnVsbA0KICAgICAgICB9LA0KICAgICAgICBwbGF5ZXJEZXN0cm95OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGxldCBlID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICByZXR1cm4gZS5pc1JlYWR5ID8gKHl0cC5ZVEFQSVJlYWR5ID0gITAsIHl0cC5iYWNrZ3JvdW5kSXNJbml0ZWQgPSAhMSwgZS5pc0luaXQgPSAhMSwgZS52aWRlb0lEID0gbnVsbCwgZS5pc1JlYWR5ID0gITEsIGUud3JhcHBlci5yZW1vdmUoKSwgalF1ZXJ5KCIjY29udHJvbEJhcl8iICsgZS5pZCkucmVtb3ZlKCksIGNsZWFySW50ZXJ2YWwoZS5jaGVja0ZvclN0YXJ0QXQpLCBjbGVhckludGVydmFsKGUuZ2V0U3RhdGUpLCB0aGlzKSA6IHRoaXMNCiAgICAgICAgfSwNCiAgICAgICAgZnVsbHNjcmVlbjogZnVuY3Rpb24ocmVhbCkgew0KICAgICAgICAgICAgbGV0IFlUUGxheWVyID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICB2b2lkIDAgPT09IHJlYWwgJiYgKHJlYWwgPSBldmFsKFlUUGxheWVyLm9wdC5yZWFsRnVsbHNjcmVlbikpOw0KICAgICAgICAgICAgbGV0IGNvbnRyb2xzID0galF1ZXJ5KCIjY29udHJvbEJhcl8iICsgWVRQbGF5ZXIuaWQpLA0KICAgICAgICAgICAgICAgIGZ1bGxTY3JlZW5CdG4gPSBjb250cm9scy5maW5kKCIubWJfT25seVlUIiksDQogICAgICAgICAgICAgICAgdmlkZW9XcmFwcGVyID0gWVRQbGF5ZXIuaXNQbGF5ZXIgPyBZVFBsYXllci5vcHQuY29udGFpbm1lbnQgOiBZVFBsYXllci53cmFwcGVyOw0KICAgICAgICAgICAgaWYgKHJlYWwpIHsNCiAgICAgICAgICAgICAgICBsZXQgZSA9IGpRdWVyeS5tYkJyb3dzZXIubW96aWxsYSA/ICJtb3pmdWxsc2NyZWVuY2hhbmdlIiA6IGpRdWVyeS5tYkJyb3dzZXIud2Via2l0ID8gIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiIDogImZ1bGxzY3JlZW5jaGFuZ2UiOw0KICAgICAgICAgICAgICAgIGpRdWVyeShkb2N1bWVudCkub2ZmKGUpLm9uKGUsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBSdW5QcmVmaXhNZXRob2QoZG9jdW1lbnQsICJJc0Z1bGxTY3JlZW4iKSB8fCBSdW5QcmVmaXhNZXRob2QoZG9jdW1lbnQsICJGdWxsU2NyZWVuIikgPyAoalF1ZXJ5KFlUUGxheWVyKS5ZVFBTZXRWaWRlb1F1YWxpdHkoImRlZmF1bHQiKSwgalF1ZXJ5KFlUUGxheWVyKS50cmlnZ2VyKCJZVFBGdWxsU2NyZWVuU3RhcnQiKSkgOiAoWVRQbGF5ZXIuaXNBbG9uZSA9ICExLCBmdWxsU2NyZWVuQnRuLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMub25seVlUKSwgalF1ZXJ5KFlUUGxheWVyKS5ZVFBTZXRWaWRlb1F1YWxpdHkoWVRQbGF5ZXIub3B0LnF1YWxpdHkpLCB2aWRlb1dyYXBwZXIucmVtb3ZlQ2xhc3MoIllUUEZ1bGxzY3JlZW4iKSwgdmlkZW9XcmFwcGVyLkNTU0FuaW1hdGUoew0KICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogWVRQbGF5ZXIub3B0Lm9wYWNpdHkNCiAgICAgICAgICAgICAgICAgICAgfSwgWVRQbGF5ZXIub3B0LmZhZGVPblN0YXJ0VGltZSksIHZpZGVvV3JhcHBlci5jc3Moew0KICAgICAgICAgICAgICAgICAgICAgICAgekluZGV4OiAwDQogICAgICAgICAgICAgICAgICAgIH0pLCBZVFBsYXllci5pc0JhY2tncm91bmQgPyBqUXVlcnkoImJvZHkiKS5hZnRlcihjb250cm9scykgOiBZVFBsYXllci53cmFwcGVyLmJlZm9yZShjb250cm9scyksIGpRdWVyeSh3aW5kb3cpLnJlc2l6ZSgpLCBqUXVlcnkoWVRQbGF5ZXIpLnRyaWdnZXIoIllUUEZ1bGxTY3JlZW5FbmQiKSkNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKFlUUGxheWVyLmlzQWxvbmUpIGpRdWVyeShkb2N1bWVudCkub2ZmKCJtb3VzZW1vdmUuWVRQbGF5ZXIiKSwgY2xlYXJUaW1lb3V0KFlUUGxheWVyLmhpZGVDdXJzb3IpLCBZVFBsYXllci5vdmVybGF5LmNzcyh7DQogICAgICAgICAgICAgICAgY3Vyc29yOiAiYXV0byINCiAgICAgICAgICAgIH0pLCByZWFsID8gY2FuY2VsRnVsbHNjcmVlbigpIDogKHZpZGVvV3JhcHBlci5DU1NBbmltYXRlKHsNCiAgICAgICAgICAgICAgICBvcGFjaXR5OiBZVFBsYXllci5vcHQub3BhY2l0eQ0KICAgICAgICAgICAgfSwgWVRQbGF5ZXIub3B0LmZhZGVPblN0YXJ0VGltZSksIHZpZGVvV3JhcHBlci5jc3Moew0KICAgICAgICAgICAgICAgIHpJbmRleDogMA0KICAgICAgICAgICAgfSkpLCBmdWxsU2NyZWVuQnRuLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMub25seVlUKSwgWVRQbGF5ZXIuaXNBbG9uZSA9ICExOw0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgZnVuY3Rpb24gaGlkZU1vdXNlKCkgew0KICAgICAgICAgICAgICAgICAgICBZVFBsYXllci5vdmVybGF5LmNzcyh7DQogICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6ICJub25lIg0KICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBqUXVlcnkoZG9jdW1lbnQpLm9uKCJtb3VzZW1vdmUuWVRQbGF5ZXIiLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIFlUUGxheWVyLm92ZXJsYXkuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogImF1dG8iDQogICAgICAgICAgICAgICAgICAgIH0pLCBjbGVhclRpbWVvdXQoWVRQbGF5ZXIuaGlkZUN1cnNvciksIGpRdWVyeShlLnRhcmdldCkucGFyZW50cygpLmlzKCIubWJfWVRQQmFyIikgfHwgKFlUUGxheWVyLmhpZGVDdXJzb3IgPSBzZXRUaW1lb3V0KGhpZGVNb3VzZSwgM2UzKSkNCiAgICAgICAgICAgICAgICB9KSwgaGlkZU1vdXNlKCksIHJlYWwgPyAodmlkZW9XcmFwcGVyLmNzcyh7DQogICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDANCiAgICAgICAgICAgICAgICB9KSwgdmlkZW9XcmFwcGVyLmFkZENsYXNzKCJZVFBGdWxsc2NyZWVuIiksIGxhdW5jaEZ1bGxzY3JlZW4odmlkZW9XcmFwcGVyLmdldCgwKSksIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZpZGVvV3JhcHBlci5DU1NBbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgICAgICAgICAgICAgfSwgMiAqIFlUUGxheWVyLm9wdC5mYWRlT25TdGFydFRpbWUpLCB2aWRlb1dyYXBwZXIuYXBwZW5kKGNvbnRyb2xzKSwgalF1ZXJ5KFlUUGxheWVyKS5vcHRpbWl6ZURpc3BsYXkoKSwgWVRQbGF5ZXIucGxheWVyLnNlZWtUbyhZVFBsYXllci5wbGF5ZXIuZ2V0Q3VycmVudFRpbWUoKSArIC4xLCAhMCkNCiAgICAgICAgICAgICAgICB9LCBZVFBsYXllci5vcHQuZmFkZU9uU3RhcnRUaW1lKSkgOiB2aWRlb1dyYXBwZXIuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgekluZGV4OiAxZTQNCiAgICAgICAgICAgICAgICB9KS5DU1NBbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMQ0KICAgICAgICAgICAgICAgIH0sIDIgKiBZVFBsYXllci5vcHQuZmFkZU9uU3RhcnRUaW1lKSwgZnVsbFNjcmVlbkJ0bi5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnNob3dTaXRlKSwgWVRQbGF5ZXIuaXNBbG9uZSA9ICEwDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIFJ1blByZWZpeE1ldGhvZChlLCByKSB7DQogICAgICAgICAgICAgICAgbGV0IHQsIGEsIG8gPSBbIndlYmtpdCIsICJtb3oiLCAibXMiLCAibyIsICIiXSwNCiAgICAgICAgICAgICAgICAgICAgbiA9IDA7DQogICAgICAgICAgICAgICAgZm9yICg7IG4gPCBvLmxlbmd0aCAmJiAhZVt0XTspIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHQgPSByLCAiIiA9PSBvW25dICYmICh0ID0gdC5zdWJzdHIoMCwgMSkudG9Mb3dlckNhc2UoKSArIHQuc3Vic3RyKDEpKSwgInVuZGVmaW5lZCIgIT0gKGEgPSB0eXBlb2YgZVt0ID0gb1tuXSArIHRdKSkgcmV0dXJuIG8gPSBbb1tuXV0sICJmdW5jdGlvbiIgPT0gYSA/IGVbdF0oKSA6IGVbdF07DQogICAgICAgICAgICAgICAgICAgIG4rKw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZnVuY3Rpb24gbGF1bmNoRnVsbHNjcmVlbihlKSB7DQogICAgICAgICAgICAgICAgUnVuUHJlZml4TWV0aG9kKGUsICJSZXF1ZXN0RnVsbFNjcmVlbiIpDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIGNhbmNlbEZ1bGxzY3JlZW4oKSB7DQogICAgICAgICAgICAgICAgKFJ1blByZWZpeE1ldGhvZChkb2N1bWVudCwgIkZ1bGxTY3JlZW4iKSB8fCBSdW5QcmVmaXhNZXRob2QoZG9jdW1lbnQsICJJc0Z1bGxTY3JlZW4iKSkgJiYgUnVuUHJlZml4TWV0aG9kKGRvY3VtZW50LCAiQ2FuY2VsRnVsbFNjcmVlbiIpDQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdGhpcw0KICAgICAgICB9LA0KICAgICAgICB0b2dnbGVMb29wczogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBsZXQgZSA9IHRoaXMuZ2V0KDApLA0KICAgICAgICAgICAgICAgIHIgPSBlLm9wdDsNCiAgICAgICAgICAgIHJldHVybiAxID09IHIubG9vcCA/IHIubG9vcCA9IDAgOiAoci5zdGFydEF0ID8gZS5wbGF5ZXIuc2Vla1RvKHIuc3RhcnRBdCkgOiBlLnBsYXllci5wbGF5VmlkZW8oKSwgci5sb29wID0gMSksIHRoaXMNCiAgICAgICAgfSwNCiAgICAgICAgcGxheTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBsZXQgZSA9IHRoaXMuZ2V0KDApLA0KICAgICAgICAgICAgICAgIHIgPSBqUXVlcnkoZSk7DQogICAgICAgICAgICByZXR1cm4gZS5pc1JlYWR5ID8gKHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgci5ZVFBTZXRBYnVuZGFuY2UoZS5vcHQuYWJ1bmRhbmNlKQ0KICAgICAgICAgICAgfSwgMzAwKSwgZS5wbGF5ZXIucGxheVZpZGVvKCksIGpRdWVyeShlLnBsYXllckVsKS5jc3Moew0KICAgICAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgICAgIH0pLCBlLndyYXBwZXIuY3NzKHsNCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICJub25lIg0KICAgICAgICAgICAgfSksIGUud3JhcHBlci5DU1NBbmltYXRlKHsNCiAgICAgICAgICAgICAgICBvcGFjaXR5OiBlLmlzQWxvbmUgPyAxIDogZS5vcHQub3BhY2l0eQ0KICAgICAgICAgICAgfSwgZS5vcHQuZmFkZU9uU3RhcnRUaW1lKSwgalF1ZXJ5KCIjY29udHJvbEJhcl8iICsgZS5pZCkuZmluZCgiLm1iX1lUUFBsYXlQYXVzZSIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGF1c2UpLCBlLnN0YXRlID0gMSwgdGhpcykgOiB0aGlzDQogICAgICAgIH0sDQogICAgICAgIHRvZ2dsZVBsYXk6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIGxldCByID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICByZXR1cm4gci5pc1JlYWR5ID8gKDEgPT0gci5zdGF0ZSA/IHRoaXMuWVRQUGF1c2UoKSA6IHRoaXMuWVRQUGxheSgpLCAiZnVuY3Rpb24iID09IHR5cGVvZiBlICYmIGUoci5zdGF0ZSksIHRoaXMpIDogdGhpcw0KICAgICAgICB9LA0KICAgICAgICBzdG9wOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGxldCBlID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICByZXR1cm4gZS5pc1JlYWR5ID8gKGpRdWVyeSgiI2NvbnRyb2xCYXJfIiArIGUuaWQpLmZpbmQoIi5tYl9ZVFBQbGF5UGF1c2UiKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnBsYXkpLCBlLnBsYXllci5zdG9wVmlkZW8oKSwgdGhpcykgOiB0aGlzDQogICAgICAgIH0sDQogICAgICAgIHBhdXNlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGxldCBlID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICByZXR1cm4gZS5pc1JlYWR5ID8gKGUub3B0LmFidW5kYW5jZSA8IC4yICYmIHRoaXMuWVRQU2V0QWJ1bmRhbmNlKC4yKSwgZS5wbGF5ZXIucGF1c2VWaWRlbygpLCBlLnN0YXRlID0gMiwgdGhpcykgOiB0aGlzDQogICAgICAgIH0sDQogICAgICAgIHNlZWtUbzogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgbGV0IHIgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIHJldHVybiByLmlzUmVhZHkgPyAoci5wbGF5ZXIuc2Vla1RvKGUsICEwKSwgdGhpcykgOiB0aGlzDQogICAgICAgIH0sDQogICAgICAgIHNldFZvbHVtZTogZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgbGV0IHIgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIHJldHVybiByLmlzUmVhZHkgPyAoci5vcHQudm9sID0gZSwgdGhpcy5ZVFBVbm11dGUoKSwgci5wbGF5ZXIuc2V0Vm9sdW1lKHIub3B0LnZvbCksIHIudm9sdW1lQmFyICYmIHIudm9sdW1lQmFyLmxlbmd0aCAmJiByLnZvbHVtZUJhci51cGRhdGVTbGlkZXJWYWwoZSksIHRoaXMpIDogdGhpcw0KICAgICAgICB9LA0KICAgICAgICBnZXRWb2x1bWU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgbGV0IGUgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIHJldHVybiBlLmlzUmVhZHkgPyBlLnBsYXllci5nZXRWb2x1bWUoKSA6IHRoaXMNCiAgICAgICAgfSwNCiAgICAgICAgdG9nZ2xlVm9sdW1lOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGxldCBlID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICByZXR1cm4gZS5pc1JlYWR5ID8gKGUuaXNNdXRlID8gKGpRdWVyeS5tYkJyb3dzZXIubW9iaWxlIHx8IHRoaXMuWVRQU2V0Vm9sdW1lKGUub3B0LnZvbCksIHRoaXMuWVRQVW5tdXRlKCkpIDogdGhpcy5ZVFBNdXRlKCksIHRoaXMpIDogdGhpcw0KICAgICAgICB9LA0KICAgICAgICBtdXRlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGxldCBlID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICBpZiAoIWUuaXNSZWFkeSkgcmV0dXJuIHRoaXM7DQogICAgICAgICAgICBpZiAoZS5pc011dGUpIHJldHVybiB0aGlzOw0KICAgICAgICAgICAgZS5wbGF5ZXIubXV0ZSgpLCBlLmlzTXV0ZSA9ICEwLCBlLnBsYXllci5zZXRWb2x1bWUoMCksIGUudm9sdW1lQmFyICYmIGUudm9sdW1lQmFyLmxlbmd0aCAmJiBlLnZvbHVtZUJhci53aWR0aCgpID4gMTAgJiYgZS52b2x1bWVCYXIudXBkYXRlU2xpZGVyVmFsKDApLCBqUXVlcnkoIiNjb250cm9sQmFyXyIgKyBlLmlkKS5maW5kKCIubWJfWVRQTXV0ZVVubXV0ZSIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMudW5tdXRlKSwgalF1ZXJ5KGUpLmFkZENsYXNzKCJpc011dGVkIiksIGUudm9sdW1lQmFyICYmIGUudm9sdW1lQmFyLmxlbmd0aCAmJiBlLnZvbHVtZUJhci5hZGRDbGFzcygibXV0ZWQiKTsNCiAgICAgICAgICAgIGxldCByID0galF1ZXJ5LkV2ZW50KCJZVFBNdXRlZCIpOw0KICAgICAgICAgICAgcmV0dXJuIHIudGltZSA9IGUuY3VycmVudFRpbWUsIGUucHJldmVudFRyaWdnZXIgfHwgalF1ZXJ5KGUpLnRyaWdnZXIociksIHRoaXMNCiAgICAgICAgfSwNCiAgICAgICAgdW5tdXRlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGxldCBlID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICBpZiAoIWUuaXNSZWFkeSkgcmV0dXJuIHRoaXM7DQogICAgICAgICAgICBpZiAoIWUuaXNNdXRlKSByZXR1cm4gdGhpczsNCiAgICAgICAgICAgIGUucGxheWVyLnVuTXV0ZSgpLCBlLmlzTXV0ZSA9ICExLCBqUXVlcnkoZSkuWVRQU2V0Vm9sdW1lKGUub3B0LnZvbCksIGUudm9sdW1lQmFyICYmIGUudm9sdW1lQmFyLmxlbmd0aCAmJiBlLnZvbHVtZUJhci51cGRhdGVTbGlkZXJWYWwoZS5vcHQudm9sID4gMTAgPyBlLm9wdC52b2wgOiAxMCksIGpRdWVyeSgiI2NvbnRyb2xCYXJfIiArIGUuaWQpLmZpbmQoIi5tYl9ZVFBNdXRlVW5tdXRlIikuaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy5tdXRlKSwgalF1ZXJ5KGUpLnJlbW92ZUNsYXNzKCJpc011dGVkIiksIGUudm9sdW1lQmFyICYmIGUudm9sdW1lQmFyLmxlbmd0aCAmJiBlLnZvbHVtZUJhci5yZW1vdmVDbGFzcygibXV0ZWQiKTsNCiAgICAgICAgICAgIGxldCByID0galF1ZXJ5LkV2ZW50KCJZVFBVbm11dGVkIik7DQogICAgICAgICAgICByZXR1cm4gci50aW1lID0gZS5jdXJyZW50VGltZSwgZS5wcmV2ZW50VHJpZ2dlciB8fCBqUXVlcnkoZSkudHJpZ2dlcihyKSwgdGhpcw0KICAgICAgICB9LA0KICAgICAgICBhcHBseUZpbHRlcjogZnVuY3Rpb24oZSwgcikgew0KICAgICAgICAgICAgbGV0IHQgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIGlmICghdC5pc1JlYWR5KSByZXR1cm4gdGhpczsNCiAgICAgICAgICAgIHQuZmlsdGVyc1tlXS52YWx1ZSA9IHIsIHQuZmlsdGVyc0VuYWJsZWQgJiYgdGhpcy5ZVFBFbmFibGVGaWx0ZXJzKCkNCiAgICAgICAgfSwNCiAgICAgICAgYXBwbHlGaWx0ZXJzOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICBsZXQgciA9IHRoaXMsDQogICAgICAgICAgICAgICAgdCA9IHIuZ2V0KDApOw0KICAgICAgICAgICAgaWYgKCF0LmlzUmVhZHkpIHJldHVybiBqUXVlcnkodCkub24oIllUUFJlYWR5IiwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgci5ZVFBBcHBseUZpbHRlcnMoZSkNCiAgICAgICAgICAgIH0pLCB0aGlzOw0KICAgICAgICAgICAgZm9yIChsZXQgdCBpbiBlKSByLllUUEFwcGx5RmlsdGVyKHQsIGVbdF0pOw0KICAgICAgICAgICAgci50cmlnZ2VyKCJZVFBGaWx0ZXJzQXBwbGllZCIpDQogICAgICAgIH0sDQogICAgICAgIHRvZ2dsZUZpbHRlcjogZnVuY3Rpb24oZSwgcikgew0KICAgICAgICAgICAgbGV0IHQgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIHJldHVybiB0LmlzUmVhZHkgPyAodC5maWx0ZXJzW2VdLnZhbHVlID8gdC5maWx0ZXJzW2VdLnZhbHVlID0gMCA6IHQuZmlsdGVyc1tlXS52YWx1ZSA9IHIsIHQuZmlsdGVyc0VuYWJsZWQgJiYgalF1ZXJ5KHQpLllUUEVuYWJsZUZpbHRlcnMoKSwgdGhpcykgOiB0aGlzDQogICAgICAgIH0sDQogICAgICAgIHRvZ2dsZUZpbHRlcnM6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIGxldCByID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICByZXR1cm4gci5pc1JlYWR5ID8gKHIuZmlsdGVyc0VuYWJsZWQgPyAoalF1ZXJ5KHIpLnRyaWdnZXIoIllUUERpc2FibGVGaWx0ZXJzIiksIGpRdWVyeShyKS5ZVFBEaXNhYmxlRmlsdGVycygpKSA6IChqUXVlcnkocikuWVRQRW5hYmxlRmlsdGVycygpLCBqUXVlcnkocikudHJpZ2dlcigiWVRQRW5hYmxlRmlsdGVycyIpKSwgImZ1bmN0aW9uIiA9PSB0eXBlb2YgZSAmJiBlKHIuZmlsdGVyc0VuYWJsZWQpLCB0aGlzKSA6IHRoaXMNCiAgICAgICAgfSwNCiAgICAgICAgZGlzYWJsZUZpbHRlcnM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgbGV0IGUgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIGlmICghZS5pc1JlYWR5KSByZXR1cm4gdGhpczsNCiAgICAgICAgICAgIGxldCByID0galF1ZXJ5KGUucGxheWVyRWwpOw0KICAgICAgICAgICAgcmV0dXJuIHIuY3NzKCItd2Via2l0LWZpbHRlciIsICIiKSwgci5jc3MoImZpbHRlciIsICIiKSwgZS5maWx0ZXJzRW5hYmxlZCA9ICExLCB0aGlzDQogICAgICAgIH0sDQogICAgICAgIGVuYWJsZUZpbHRlcnM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgbGV0IGUgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIGlmICghZS5pc1JlYWR5KSByZXR1cm4gdGhpczsNCiAgICAgICAgICAgIGxldCByID0galF1ZXJ5KGUucGxheWVyRWwpLA0KICAgICAgICAgICAgICAgIHQgPSAiIjsNCiAgICAgICAgICAgIGZvciAobGV0IHIgaW4gZS5maWx0ZXJzKSBlLmZpbHRlcnNbcl0udmFsdWUgJiYgKHQgKz0gci5yZXBsYWNlKCJfIiwgIi0iKSArICIoIiArIGUuZmlsdGVyc1tyXS52YWx1ZSArIGUuZmlsdGVyc1tyXS51bml0ICsgIikgIik7DQogICAgICAgICAgICByZXR1cm4gci5jc3MoIi13ZWJraXQtZmlsdGVyIiwgdCksIHIuY3NzKCJmaWx0ZXIiLCB0KSwgZS5maWx0ZXJzRW5hYmxlZCA9ICEwLCB0aGlzDQogICAgICAgIH0sDQogICAgICAgIHJlbW92ZUZpbHRlcjogZnVuY3Rpb24oZSwgcikgew0KICAgICAgICAgICAgbGV0IHQgPSB0aGlzLA0KICAgICAgICAgICAgICAgIGEgPSB0LmdldCgwKTsNCiAgICAgICAgICAgIGlmICghYS5pc1JlYWR5KSByZXR1cm4gdGhpczsNCiAgICAgICAgICAgIGlmICgiZnVuY3Rpb24iID09IHR5cGVvZiBlICYmIChyID0gZSwgZSA9IG51bGwpLCBlKSB0LllUUEFwcGx5RmlsdGVyKGUsIDApLCAiZnVuY3Rpb24iID09IHR5cGVvZiByICYmIHIoZSk7DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICBmb3IgKGxldCBlIGluIGEuZmlsdGVycykgdC5ZVFBBcHBseUZpbHRlcihlLCAwKTsNCiAgICAgICAgICAgICAgICAiZnVuY3Rpb24iID09IHR5cGVvZiByICYmIHIoa2V5KSwgYS5maWx0ZXJzID0galF1ZXJ5LmV4dGVuZCghMCwge30sIGpRdWVyeS5tYllUUGxheWVyLmRlZmF1bHRGaWx0ZXJzKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgbGV0IG8gPSBqUXVlcnkuRXZlbnQoIllUUEZpbHRlcnNBcHBsaWVkIik7DQogICAgICAgICAgICByZXR1cm4gdC50cmlnZ2VyKG8pLCB0aGlzDQogICAgICAgIH0sDQogICAgICAgIGdldEZpbHRlcnM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgbGV0IGUgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgIHJldHVybiBlLmlzUmVhZHkgPyBlLmZpbHRlcnMgOiB0aGlzDQogICAgICAgIH0sDQogICAgICAgIGFkZE1hc2s6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIGxldCByID0gdGhpcy5nZXQoMCk7DQogICAgICAgICAgICBlIHx8IChlID0gci5hY3R1YWxNYXNrKTsNCiAgICAgICAgICAgIGxldCB0ID0galF1ZXJ5KCI8aW1nLz4iKS5hdHRyKCJzcmMiLCBlKS5vbigibG9hZCIsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHIub3ZlcmxheS5DU1NBbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMA0KICAgICAgICAgICAgICAgIH0sIHIub3B0LmZhZGVPblN0YXJ0VGltZSwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHIuaGFzTWFzayA9ICEwLCB0LnJlbW92ZSgpLCByLm92ZXJsYXkuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogInVybCgiICsgZSArICIpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRSZXBlYXQ6ICJuby1yZXBlYXQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFBvc2l0aW9uOiAiY2VudGVyIGNlbnRlciIsDQogICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogImNvdmVyIg0KICAgICAgICAgICAgICAgICAgICB9KSwgci5vdmVybGF5LkNTU0FuaW1hdGUoew0KICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMQ0KICAgICAgICAgICAgICAgICAgICB9LCByLm9wdC5mYWRlT25TdGFydFRpbWUpDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMNCiAgICAgICAgfSwNCiAgICAgICAgcmVtb3ZlTWFzazogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBsZXQgZSA9IHRoaXMuZ2V0KDApOw0KICAgICAgICAgICAgcmV0dXJuIGUub3ZlcmxheS5DU1NBbmltYXRlKHsNCiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwDQogICAgICAgICAgICB9LCBlLm9wdC5mYWRlT25TdGFydFRpbWUsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIGUuaGFzTWFzayA9ICExLCBlLm92ZXJsYXkuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOiAiIiwNCiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogIiIsDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogIiIsDQogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRTaXplOiAiIg0KICAgICAgICAgICAgICAgIH0pLCBlLm92ZXJsYXkuQ1NTQW5pbWF0ZSh7DQogICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgICAgICAgICB9LCBlLm9wdC5mYWRlT25TdGFydFRpbWUpDQogICAgICAgICAgICB9KSwgdGhpcw0KICAgICAgICB9LA0KICAgICAgICBhcHBseU1hc2s6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIGxldCByID0galF1ZXJ5KGUpOw0KICAgICAgICAgICAgaWYgKHIub2ZmKCJZVFBUaW1lLm1hc2siKSwgZS5vcHQubWFzaykNCiAgICAgICAgICAgICAgICBpZiAoInN0cmluZyIgPT0gdHlwZW9mIGUub3B0Lm1hc2spIHIuWVRQQWRkTWFzayhlLm9wdC5tYXNrKSwgZS5hY3R1YWxNYXNrID0gZS5vcHQubWFzazsNCiAgICAgICAgICAgICAgICBlbHNlIGlmICgib2JqZWN0IiA9PSB0eXBlb2YgZS5vcHQubWFzaykgew0KICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoZS5vcHQubWFzayk7DQogICAgICAgICAgICAgICAgZm9yIChsZXQgciBpbiBlLm9wdC5tYXNrKSBlLm9wdC5tYXNrW3JdICYmIChpbWcgPSBqUXVlcnkoIjxpbWcvPiIpLmF0dHIoInNyYyIsIGUub3B0Lm1hc2tbcl0pKTsNCiAgICAgICAgICAgICAgICBlLm9wdC5tYXNrWzBdICYmIHIuWVRQQWRkTWFzayhlLm9wdC5tYXNrWzBdKSwgci5vbigiWVRQVGltZS5tYXNrIiwgZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBhIGluIGUub3B0Lm1hc2spIHQudGltZSA9PSBhICYmIChlLm9wdC5tYXNrW2FdID8gKHIuWVRQQWRkTWFzayhlLm9wdC5tYXNrW2FdKSwgZS5hY3R1YWxNYXNrID0gZS5vcHQubWFza1thXSkgOiByLllUUFJlbW92ZU1hc2soKSkNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICB0b2dnbGVNYXNrOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGxldCBlID0gdGhpcy5nZXQoMCksDQogICAgICAgICAgICAgICAgciA9IGpRdWVyeShlKTsNCiAgICAgICAgICAgIHJldHVybiBlLmhhc01hc2sgPyByLllUUFJlbW92ZU1hc2soKSA6IHIuWVRQQWRkTWFzaygpLCB0aGlzDQogICAgICAgIH0sDQogICAgICAgIG1hbmFnZVByb2dyZXNzOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGxldCBlID0gdGhpcy5nZXQoMCksDQogICAgICAgICAgICAgICAgciA9IGpRdWVyeSgiI2NvbnRyb2xCYXJfIiArIGUuaWQpLA0KICAgICAgICAgICAgICAgIHQgPSByLmZpbmQoIi5tYl9ZVFBQcm9ncmVzcyIpLA0KICAgICAgICAgICAgICAgIGEgPSByLmZpbmQoIi5tYl9ZVFBMb2FkZWQiKSwNCiAgICAgICAgICAgICAgICBvID0gci5maW5kKCIubWJfWVRQc2Vla2JhciIpLA0KICAgICAgICAgICAgICAgIG4gPSB0Lm91dGVyV2lkdGgoKSwNCiAgICAgICAgICAgICAgICBpID0gTWF0aC5mbG9vcihlLnBsYXllci5nZXRDdXJyZW50VGltZSgpKSwNCiAgICAgICAgICAgICAgICBsID0gTWF0aC5mbG9vcihlLnBsYXllci5nZXREdXJhdGlvbigpKSwNCiAgICAgICAgICAgICAgICBzID0gaSAqIG4gLyBsLA0KICAgICAgICAgICAgICAgIHUgPSAxMDAgKiBlLnBsYXllci5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCk7DQogICAgICAgICAgICByZXR1cm4gYS5jc3Moew0KICAgICAgICAgICAgICAgIGxlZnQ6IDAsDQogICAgICAgICAgICAgICAgd2lkdGg6IHUgKyAiJSINCiAgICAgICAgICAgIH0pLCBvLmNzcyh7DQogICAgICAgICAgICAgICAgbGVmdDogMCwNCiAgICAgICAgICAgICAgICB3aWR0aDogcw0KICAgICAgICAgICAgfSksIHsNCiAgICAgICAgICAgICAgICB0b3RhbFRpbWU6IGwsDQogICAgICAgICAgICAgICAgY3VycmVudFRpbWU6IGkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgYnVpbGRDb250cm9sczogZnVuY3Rpb24oWVRQbGF5ZXIpIHsNCiAgICAgICAgICAgIGlmIChqUXVlcnkoIiNjb250cm9sQmFyXyIgKyBZVFBsYXllci5pZCkucmVtb3ZlKCksICFZVFBsYXllci5vcHQuc2hvd0NvbnRyb2xzKSByZXR1cm4gdm9pZChZVFBsYXllci5jb250cm9sQmFyID0gITEpOw0KICAgICAgICAgICAgaWYgKFlUUGxheWVyLm9wdC5zaG93WVRMb2dvID0gWVRQbGF5ZXIub3B0LnNob3dZVExvZ28gfHwgWVRQbGF5ZXIub3B0LnByaW50VXJsLCBqUXVlcnkoIiNjb250cm9sQmFyXyIgKyBZVFBsYXllci5pZCkubGVuZ3RoKSByZXR1cm47DQogICAgICAgICAgICBZVFBsYXllci5jb250cm9sQmFyID0galF1ZXJ5KCI8ZGl2Lz4iKS5hdHRyKCJpZCIsICJjb250cm9sQmFyXyIgKyBZVFBsYXllci5pZCkuYWRkQ2xhc3MoIm1iX1lUUEJhciIpLmNzcyh7DQogICAgICAgICAgICAgICAgd2hpdGVTcGFjZTogIm5vV3JhcCIsDQogICAgICAgICAgICAgICAgcG9zaXRpb246IFlUUGxheWVyLmlzQmFja2dyb3VuZCA/ICJmaXhlZCIgOiAiYWJzb2x1dGUiLA0KICAgICAgICAgICAgICAgIHpJbmRleDogWVRQbGF5ZXIuaXNCYWNrZ3JvdW5kID8gMWU0IDogMWUzDQogICAgICAgICAgICB9KS5oaWRlKCkub24oImNsaWNrIiwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgbGV0IGJ1dHRvbkJhciA9IGpRdWVyeSgiPGRpdi8+IikuYWRkQ2xhc3MoImJ1dHRvbkJhciIpLA0KICAgICAgICAgICAgICAgIHBsYXlwYXVzZSA9IGpRdWVyeSgiPHNwYW4+IiArIGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnBsYXkgKyAiPC9zcGFuPiIpLmFkZENsYXNzKCJtYl9ZVFBQbGF5UGF1c2UgeXRwaWNvbiIpLm9uKCJjbGljayIsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKSwgalF1ZXJ5KFlUUGxheWVyKS5ZVFBUb2dnbGVQbGF5KCkNCiAgICAgICAgICAgICAgICB9KSwNCiAgICAgICAgICAgICAgICBNdXRlVW5tdXRlID0galF1ZXJ5KCI8c3Bhbj4iICsgalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMubXV0ZSArICI8L3NwYW4+IikuYWRkQ2xhc3MoIm1iX1lUUE11dGVVbm11dGUgeXRwaWNvbiIpLm9uKCJjbGljayIsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKSwgalF1ZXJ5KFlUUGxheWVyKS5ZVFBUb2dnbGVWb2x1bWUoKQ0KICAgICAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgICAgIHZvbHVtZUJhciA9IGpRdWVyeSgiPGRpdi8+IikuYWRkQ2xhc3MoIm1iX1lUUFZvbHVtZUJhciIpLmNzcyh7DQogICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICJpbmxpbmUtYmxvY2siDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBZVFBsYXllci52b2x1bWVCYXIgPSB2b2x1bWVCYXI7DQogICAgICAgICAgICBsZXQgaWR4ID0galF1ZXJ5KCI8c3Bhbi8+IikuYWRkQ2xhc3MoIm1iX1lUUFRpbWUiKSwNCiAgICAgICAgICAgICAgICB2VVJMID0gWVRQbGF5ZXIub3B0LnZpZGVvVVJMID8gWVRQbGF5ZXIub3B0LnZpZGVvVVJMIDogIiI7DQogICAgICAgICAgICB2VVJMLmluZGV4T2YoImh0dHAiKSA8IDAgJiYgKHZVUkwgPSAiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0iICsgWVRQbGF5ZXIub3B0LnZpZGVvVVJMKTsNCiAgICAgICAgICAgIGxldCBtb3ZpZVVybCA9IGpRdWVyeSgiPHNwYW4vPiIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMueXRMb2dvKS5hZGRDbGFzcygibWJfWVRQVXJsIHl0cGljb24iKS5hdHRyKCJ0aXRsZSIsICJ2aWV3IG9uIFlvdVR1YmUiKS5vbigiY2xpY2siLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4odlVSTCwgInZpZXdPbllUIikNCiAgICAgICAgICAgICAgICB9KSwNCiAgICAgICAgICAgICAgICBvbmx5VmlkZW8gPSBqUXVlcnkoIjxzcGFuLz4iKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLm9ubHlZVCkuYWRkQ2xhc3MoIm1iX09ubHlZVCB5dHBpY29uIikub24oImNsaWNrIiwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpLCBqUXVlcnkoWVRQbGF5ZXIpLllUUEZ1bGxzY3JlZW4oWVRQbGF5ZXIub3B0LnJlYWxGdWxsc2NyZWVuKQ0KICAgICAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgICAgIHByb2dyZXNzQmFyID0galF1ZXJ5KCI8ZGl2Lz4iKS5hZGRDbGFzcygibWJfWVRQUHJvZ3Jlc3MiKS5jc3MoInBvc2l0aW9uIiwgImFic29sdXRlIikub24oImNsaWNrIiwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpLCB0aW1lQmFyLmNzcyh7DQogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZS5jbGllbnRYIC0gdGltZUJhci5vZmZzZXQoKS5sZWZ0DQogICAgICAgICAgICAgICAgICAgIH0pLCBZVFBsYXllci50aW1lVyA9IGUuY2xpZW50WCAtIHRpbWVCYXIub2Zmc2V0KCkubGVmdCwgWVRQbGF5ZXIuY29udHJvbEJhci5maW5kKCIubWJfWVRQTG9hZGVkIikuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICBsZXQgciA9IE1hdGguZmxvb3IoWVRQbGF5ZXIucGxheWVyLmdldER1cmF0aW9uKCkpOw0KICAgICAgICAgICAgICAgICAgICBZVFBsYXllci5nb3RvID0gdGltZUJhci5vdXRlcldpZHRoKCkgKiByIC8gcHJvZ3Jlc3NCYXIub3V0ZXJXaWR0aCgpLCBZVFBsYXllci5wbGF5ZXIuc2Vla1RvKHBhcnNlRmxvYXQoWVRQbGF5ZXIuZ290byksICEwKSwgWVRQbGF5ZXIuY29udHJvbEJhci5maW5kKCIubWJfWVRQTG9hZGVkIikuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgbG9hZGVkQmFyID0galF1ZXJ5KCI8ZGl2Lz4iKS5hZGRDbGFzcygibWJfWVRQTG9hZGVkIikuY3NzKCJwb3NpdGlvbiIsICJhYnNvbHV0ZSIpLA0KICAgICAgICAgICAgICAgIHRpbWVCYXIgPSBqUXVlcnkoIjxkaXYvPiIpLmFkZENsYXNzKCJtYl9ZVFBzZWVrYmFyIikuY3NzKCJwb3NpdGlvbiIsICJhYnNvbHV0ZSIpOw0KICAgICAgICAgICAgcHJvZ3Jlc3NCYXIuYXBwZW5kKGxvYWRlZEJhcikuYXBwZW5kKHRpbWVCYXIpLCBidXR0b25CYXIuYXBwZW5kKHBsYXlwYXVzZSkuYXBwZW5kKE11dGVVbm11dGUpLmFwcGVuZCh2b2x1bWVCYXIpLmFwcGVuZChpZHgpLCBZVFBsYXllci5vcHQuc2hvd1lUTG9nbyAmJiBidXR0b25CYXIuYXBwZW5kKG1vdmllVXJsKSwgKFlUUGxheWVyLmlzQmFja2dyb3VuZCB8fCBldmFsKFlUUGxheWVyLm9wdC5yZWFsRnVsbHNjcmVlbikgJiYgIVlUUGxheWVyLmlzQmFja2dyb3VuZCkgJiYgYnV0dG9uQmFyLmFwcGVuZChvbmx5VmlkZW8pLCBZVFBsYXllci5jb250cm9sQmFyLmFwcGVuZChidXR0b25CYXIpLmFwcGVuZChwcm9ncmVzc0JhciksIFlUUGxheWVyLmlzQmFja2dyb3VuZCA/IGpRdWVyeSgiYm9keSIpLmFmdGVyKFlUUGxheWVyLmNvbnRyb2xCYXIpIDogKFlUUGxheWVyLmNvbnRyb2xCYXIuYWRkQ2xhc3MoImlubGluZVBsYXllciIpLCBZVFBsYXllci53cmFwcGVyLmJlZm9yZShZVFBsYXllci5jb250cm9sQmFyKSksIHZvbHVtZUJhci5zaW1wbGVTbGlkZXIoew0KICAgICAgICAgICAgICAgIGluaXRpYWx2YWw6IFlUUGxheWVyLm9wdC52b2wsDQogICAgICAgICAgICAgICAgc2NhbGU6IDEwMCwNCiAgICAgICAgICAgICAgICBvcmllbnRhdGlvbjogImgiLA0KICAgICAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgIDAgPT0gZS52YWx1ZSA/IGpRdWVyeShZVFBsYXllcikuWVRQTXV0ZSgpIDogalF1ZXJ5KFlUUGxheWVyKS5ZVFBVbm11dGUoKSwgWVRQbGF5ZXIucGxheWVyLnNldFZvbHVtZShlLnZhbHVlKSwgWVRQbGF5ZXIuaXNNdXRlIHx8IChZVFBsYXllci5vcHQudm9sID0gZS52YWx1ZSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgICAgICBjaGVja0ZvclN0YXRlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGxldCBZVFBsYXllciA9IHRoaXMuZ2V0KDApLA0KICAgICAgICAgICAgICAgICRZVFBsYXllciA9IGpRdWVyeShZVFBsYXllcik7DQogICAgICAgICAgICBjbGVhckludGVydmFsKFlUUGxheWVyLmdldFN0YXRlKTsNCiAgICAgICAgICAgIGxldCBpbnRlcnZhbCA9IDEwMDsNCiAgICAgICAgICAgIGlmICghalF1ZXJ5LmNvbnRhaW5zKGRvY3VtZW50LCBZVFBsYXllcikpIHJldHVybiAkWVRQbGF5ZXIuWVRQUGxheWVyRGVzdHJveSgpLCBjbGVhckludGVydmFsKFlUUGxheWVyLmdldFN0YXRlKSwgdm9pZCBjbGVhckludGVydmFsKFlUUGxheWVyLmNoZWNrRm9yU3RhcnRBdCk7DQogICAgICAgICAgICBqUXVlcnkubWJZVFBsYXllci5jaGVja0ZvclN0YXJ0KFlUUGxheWVyKSwgWVRQbGF5ZXIuZ2V0U3RhdGUgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBsZXQgJFlUUGxheWVyID0galF1ZXJ5KFlUUGxheWVyKTsNCiAgICAgICAgICAgICAgICBpZiAoIVlUUGxheWVyLmlzUmVhZHkpIHJldHVybjsNCiAgICAgICAgICAgICAgICBsZXQgcHJvZyA9IGpRdWVyeShZVFBsYXllcikuWVRQTWFuYWdlUHJvZ3Jlc3MoKSwNCiAgICAgICAgICAgICAgICAgICAgc3RvcEF0ID0gWVRQbGF5ZXIub3B0LnN0b3BBdCA+IFlUUGxheWVyLm9wdC5zdGFydEF0ID8gWVRQbGF5ZXIub3B0LnN0b3BBdCA6IDA7DQogICAgICAgICAgICAgICAgaWYgKHN0b3BBdCA9IHN0b3BBdCA8IFlUUGxheWVyLnBsYXllci5nZXREdXJhdGlvbigpID8gc3RvcEF0IDogMCwgWVRQbGF5ZXIuY3VycmVudFRpbWUgIT0gcHJvZy5jdXJyZW50VGltZSkgew0KICAgICAgICAgICAgICAgICAgICBsZXQgZSA9IGpRdWVyeS5FdmVudCgiWVRQVGltZSIpOw0KICAgICAgICAgICAgICAgICAgICBlLnRpbWUgPSBZVFBsYXllci5jdXJyZW50VGltZSwgalF1ZXJ5KFlUUGxheWVyKS50cmlnZ2VyKGUpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChZVFBsYXllci5jdXJyZW50VGltZSA9IHByb2cuY3VycmVudFRpbWUsIFlUUGxheWVyLnRvdGFsVGltZSA9IFlUUGxheWVyLnBsYXllci5nZXREdXJhdGlvbigpLCAwID09IFlUUGxheWVyLnBsYXllci5nZXRWb2x1bWUoKSA/ICRZVFBsYXllci5hZGRDbGFzcygiaXNNdXRlZCIpIDogJFlUUGxheWVyLnJlbW92ZUNsYXNzKCJpc011dGVkIiksIFlUUGxheWVyLm9wdC5zaG93Q29udHJvbHMgJiYgKHByb2cudG90YWxUaW1lID8gWVRQbGF5ZXIuY29udHJvbEJhci5maW5kKCIubWJfWVRQVGltZSIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuZm9ybWF0VGltZShwcm9nLmN1cnJlbnRUaW1lKSArICIgLyAiICsgalF1ZXJ5Lm1iWVRQbGF5ZXIuZm9ybWF0VGltZShwcm9nLnRvdGFsVGltZSkpIDogWVRQbGF5ZXIuY29udHJvbEJhci5maW5kKCIubWJfWVRQVGltZSIpLmh0bWwoIi0tIDogLS0gLyAtLSA6IC0tIikpLCBldmFsKFlUUGxheWVyLm9wdC5zdG9wTW92aWVPbkJsdXIpICYmIChkb2N1bWVudC5oYXNGb2N1cygpID8gZG9jdW1lbnQuaGFzRm9jdXMoKSAmJiAhWVRQbGF5ZXIuaGFzRm9jdXMgJiYgLTEgIT0gWVRQbGF5ZXIuc3RhdGUgJiYgMCAhPSBZVFBsYXllci5zdGF0ZSAmJiAoWVRQbGF5ZXIuaGFzRm9jdXMgPSAhMCwgWVRQbGF5ZXIucHJldmVudFRyaWdnZXIgPSAhMCwgJFlUUGxheWVyLllUUFBsYXkoKSkgOiAxID09IFlUUGxheWVyLnN0YXRlICYmIChZVFBsYXllci5oYXNGb2N1cyA9ICExLCBZVFBsYXllci5wcmV2ZW50VHJpZ2dlciA9ICEwLCAkWVRQbGF5ZXIuWVRQUGF1c2UoKSkpLCBZVFBsYXllci5vcHQucGxheU9ubHlJZlZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgbGV0IGUgPSBqUXVlcnkubWJZVFBsYXllci5pc09uU2NyZWVuKFlUUGxheWVyLCBZVFBsYXllci5vcHQub25TY3JlZW5QZXJjZW50YWdlKTsNCiAgICAgICAgICAgICAgICAgICAgZSB8fCAxICE9IFlUUGxheWVyLnN0YXRlID8gZSAmJiAhWVRQbGF5ZXIuaXNPblNjcmVlbiAmJiAoWVRQbGF5ZXIuaXNPblNjcmVlbiA9ICEwLCBZVFBsYXllci5wbGF5ZXIucGxheVZpZGVvKCkpIDogKFlUUGxheWVyLmlzT25TY3JlZW4gPSAhMSwgJFlUUGxheWVyLllUUFBhdXNlKCkpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChZVFBsYXllci5jb250cm9sQmFyLmxlbmd0aCAmJiBZVFBsYXllci5jb250cm9sQmFyLm91dGVyV2lkdGgoKSA8PSA0MDAgJiYgIVlUUGxheWVyLmlzQ29tcGFjdCA/IChZVFBsYXllci5jb250cm9sQmFyLmFkZENsYXNzKCJjb21wYWN0IiksIFlUUGxheWVyLmlzQ29tcGFjdCA9ICEwLCAhWVRQbGF5ZXIuaXNNdXRlICYmIFlUUGxheWVyLnZvbHVtZUJhciAmJiBZVFBsYXllci52b2x1bWVCYXIudXBkYXRlU2xpZGVyVmFsKFlUUGxheWVyLm9wdC52b2wpKSA6IFlUUGxheWVyLmNvbnRyb2xCYXIubGVuZ3RoICYmIFlUUGxheWVyLmNvbnRyb2xCYXIub3V0ZXJXaWR0aCgpID4gNDAwICYmIFlUUGxheWVyLmlzQ29tcGFjdCAmJiAoWVRQbGF5ZXIuY29udHJvbEJhci5yZW1vdmVDbGFzcygiY29tcGFjdCIpLCBZVFBsYXllci5pc0NvbXBhY3QgPSAhMSwgIVlUUGxheWVyLmlzTXV0ZSAmJiBZVFBsYXllci52b2x1bWVCYXIgJiYgWVRQbGF5ZXIudm9sdW1lQmFyLnVwZGF0ZVNsaWRlclZhbChZVFBsYXllci5vcHQudm9sKSksIFlUUGxheWVyLnBsYXllci5nZXRQbGF5ZXJTdGF0ZSgpID4gMCAmJiAocGFyc2VGbG9hdChZVFBsYXllci5wbGF5ZXIuZ2V0RHVyYXRpb24oKSAtIFlUUGxheWVyLm9wdC5mYWRlT25TdGFydFRpbWUgLyAxZTMpIDwgWVRQbGF5ZXIucGxheWVyLmdldEN1cnJlbnRUaW1lKCkgfHwgc3RvcEF0ID4gMCAmJiBwYXJzZUZsb2F0KFlUUGxheWVyLnBsYXllci5nZXRDdXJyZW50VGltZSgpKSA+PSBzdG9wQXQpKSB7DQogICAgICAgICAgICAgICAgICAgIGlmIChZVFBsYXllci5pc0VuZGVkKSByZXR1cm47DQogICAgICAgICAgICAgICAgICAgIGlmIChZVFBsYXllci5pc0VuZGVkID0gITAsIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgWVRQbGF5ZXIuaXNFbmRlZCA9ICExDQogICAgICAgICAgICAgICAgICAgICAgICB9LCAxZTMpLCBZVFBsYXllci5pc0xpc3QpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghWVRQbGF5ZXIub3B0Lmxvb3AgfHwgWVRQbGF5ZXIub3B0Lmxvb3AgPiAwICYmIFlUUGxheWVyLnBsYXllci5sb29wVGltZSA9PT0gWVRQbGF5ZXIub3B0Lmxvb3AgLSAxKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgWVRQbGF5ZXIucGxheWVyLmxvb3BUaW1lID0gdm9pZCAwLCBjbGVhckludGVydmFsKFlUUGxheWVyLmdldFN0YXRlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZSA9IGpRdWVyeS5FdmVudCgiWVRQRW5kIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUudGltZSA9IFlUUGxheWVyLmN1cnJlbnRUaW1lLCB2b2lkIGpRdWVyeShZVFBsYXllcikudHJpZ2dlcihlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFZVFBsYXllci5vcHQubG9vcCB8fCBZVFBsYXllci5vcHQubG9vcCA+IDAgJiYgWVRQbGF5ZXIucGxheWVyLmxvb3BUaW1lID09PSBZVFBsYXllci5vcHQubG9vcCAtIDEpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChZVFBsYXllci5wbGF5ZXIubG9vcFRpbWUgPSB2b2lkIDAsIFlUUGxheWVyLnN0YXRlID0gMiwgWVRQbGF5ZXIub3B0LmNvdmVySW1hZ2UgfHwgWVRQbGF5ZXIub3JpZ19jb250YWlubWVudF9iYWNrZ3JvdW5kKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGUgPSBZVFBsYXllci5vcHQuY292ZXJJbWFnZSA/ICJ1cmwoIiArIFlUUGxheWVyLm9wdC5jb3ZlckltYWdlICsgIikgY2VudGVyIGNlbnRlciIgOiBZVFBsYXllci5vcmlnX2NvbnRhaW5tZW50X2JhY2tncm91bmQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZSAmJiBZVFBsYXllci5vcHQuY29udGFpbm1lbnQuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFNpemU6ICJjb3ZlciIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRSZXBlYXQ6ICJuby1yZXBlYXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBqUXVlcnkoWVRQbGF5ZXIpLllUUFBhdXNlKCksIHZvaWQgWVRQbGF5ZXIud3JhcHBlci5DU1NBbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwDQogICAgICAgICAgICAgICAgICAgICAgICB9LCBZVFBsYXllci5vcHQuZmFkZU9uU3RhcnRUaW1lLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBZVFBsYXllci5jb250cm9sQmFyLmxlbmd0aCAmJiBZVFBsYXllci5jb250cm9sQmFyLmZpbmQoIi5tYl9ZVFBQbGF5UGF1c2UiKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnBsYXkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBlID0galF1ZXJ5LkV2ZW50KCJZVFBFbmQiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS50aW1lID0gWVRQbGF5ZXIuY3VycmVudFRpbWUsIGpRdWVyeShZVFBsYXllcikudHJpZ2dlcihlKSwgWVRQbGF5ZXIucGxheWVyLnNlZWtUbyhZVFBsYXllci5vcHQuc3RhcnRBdCwgITApLCBZVFBsYXllci5vcHQuY292ZXJJbWFnZSB8fCBZVFBsYXllci5vcmlnX2NvbnRhaW5tZW50X2JhY2tncm91bmQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGUgPSBZVFBsYXllci5vcHQuY292ZXJJbWFnZSA/ICJ1cmwoIiArIFlUUGxheWVyLm9wdC5jb3ZlckltYWdlICsgIikgY2VudGVyIGNlbnRlciIgOiBZVFBsYXllci5vcmlnX2NvbnRhaW5tZW50X2JhY2tncm91bmQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgJiYgWVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmNzcyh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFNpemU6ICJjb3ZlciIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kUmVwZWF0OiAibm8tcmVwZWF0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgWVRQbGF5ZXIucGxheWVyLmxvb3BUaW1lID0gWVRQbGF5ZXIucGxheWVyLmxvb3BUaW1lID8gKytZVFBsYXllci5wbGF5ZXIubG9vcFRpbWUgOiAxLCBZVFBsYXllci5vcHQuc3RhcnRBdCA9IFlUUGxheWVyLm9wdC5zdGFydEF0IHx8IDEsIFlUUGxheWVyLnByZXZlbnRUcmlnZ2VyID0gITAsIFlUUGxheWVyLnN0YXRlID0gMiwgWVRQbGF5ZXIucGxheWVyLnNlZWtUbyhZVFBsYXllci5vcHQuc3RhcnRBdCwgITApDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgaW50ZXJ2YWwpDQogICAgICAgIH0sDQogICAgICAgIGNoZWNrRm9yU3RhcnQ6IGZ1bmN0aW9uKFlUUGxheWVyKSB7DQogICAgICAgICAgICBsZXQgJFlUUGxheWVyID0galF1ZXJ5KFlUUGxheWVyKTsNCiAgICAgICAgICAgIGlmICghalF1ZXJ5LmNvbnRhaW5zKGRvY3VtZW50LCBZVFBsYXllcikpIHJldHVybiB2b2lkICRZVFBsYXllci5ZVFBQbGF5ZXJEZXN0cm95KCk7DQogICAgICAgICAgICBpZiAoalF1ZXJ5Lm1iWVRQbGF5ZXIuYnVpbGRDb250cm9scyhZVFBsYXllciksIFlUUGxheWVyLm92ZXJsYXkpDQogICAgICAgICAgICAgICAgaWYgKFlUUGxheWVyLm9wdC5hZGRSYXN0ZXIpIHsNCiAgICAgICAgICAgICAgICAgICAgbGV0IGUgPSAiZG90IiA9PSBZVFBsYXllci5vcHQuYWRkUmFzdGVyID8gInJhc3Rlci1kb3QiIDogInJhc3RlciI7DQogICAgICAgICAgICAgICAgICAgIFlUUGxheWVyLm92ZXJsYXkuYWRkQ2xhc3MoWVRQbGF5ZXIuaXNSZXRpbmEgPyBlICsgIiByZXRpbmEiIDogZSkNCiAgICAgICAgICAgICAgICB9IGVsc2UgWVRQbGF5ZXIub3ZlcmxheS5yZW1vdmVDbGFzcyhmdW5jdGlvbihlLCByKSB7DQogICAgICAgICAgICAgICAgICAgIGxldCB0ID0gci5zcGxpdCgiICIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgYSA9IFtdOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4galF1ZXJ5LmVhY2godCwgZnVuY3Rpb24oZSwgcikgew0KICAgICAgICAgICAgICAgICAgICAgICAgL3Jhc3Rlci4qLy50ZXN0KHIpICYmIGEucHVzaChyKQ0KICAgICAgICAgICAgICAgICAgICB9KSwgYS5wdXNoKCJyZXRpbmEiKSwgYS5qb2luKCIgIikNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIFlUUGxheWVyLnByZXZlbnRUcmlnZ2VyID0gITAsIFlUUGxheWVyLnN0YXRlID0gMiwgWVRQbGF5ZXIucHJldmVudFRyaWdnZXIgPSAhMCwgWVRQbGF5ZXIucGxheWVyLm11dGUoKSwgWVRQbGF5ZXIucGxheWVyLnBsYXlWaWRlbygpLCBZVFBsYXllci5pc1N0YXJ0aW5nID0gITA7DQogICAgICAgICAgICBsZXQgc3RhcnRBdCA9IFlUUGxheWVyLnN0YXJ0X2Zyb21fbGFzdCA/IFlUUGxheWVyLnN0YXJ0X2Zyb21fbGFzdCA6IFlUUGxheWVyLm9wdC5zdGFydEF0ID8gWVRQbGF5ZXIub3B0LnN0YXJ0QXQgOiAxOw0KICAgICAgICAgICAgcmV0dXJuIFlUUGxheWVyLnByZXZlbnRUcmlnZ2VyID0gITAsIFlUUGxheWVyLmNoZWNrRm9yU3RhcnRBdCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIFlUUGxheWVyLnBsYXllci5tdXRlKCksIFlUUGxheWVyLnBsYXllci5zZWVrVG8oc3RhcnRBdCwgITApOw0KICAgICAgICAgICAgICAgIGxldCBjYW5QbGF5VmlkZW8gPSBZVFBsYXllci5wbGF5ZXIuZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbigpID49IHN0YXJ0QXQgLyBZVFBsYXllci5wbGF5ZXIuZ2V0RHVyYXRpb24oKTsNCiAgICAgICAgICAgICAgICBpZiAoWVRQbGF5ZXIucGxheWVyLmdldER1cmF0aW9uKCkgPiAwICYmIFlUUGxheWVyLnBsYXllci5nZXRDdXJyZW50VGltZSgpID49IHN0YXJ0QXQgJiYgY2FuUGxheVZpZGVvKSB7DQogICAgICAgICAgICAgICAgICAgIFlUUGxheWVyLnN0YXJ0X2Zyb21fbGFzdCA9IG51bGwsIFlUUGxheWVyLnByZXZlbnRUcmlnZ2VyID0gITAsICRZVFBsYXllci5ZVFBQYXVzZSgpLCBjbGVhckludGVydmFsKFlUUGxheWVyLmNoZWNrRm9yU3RhcnRBdCksICJmdW5jdGlvbiIgPT0gdHlwZW9mIFlUUGxheWVyLm9wdC5vblJlYWR5ICYmIFlUUGxheWVyLm9wdC5vblJlYWR5KFlUUGxheWVyKSwgWVRQbGF5ZXIuaXNSZWFkeSA9ICEwLCAkWVRQbGF5ZXIuWVRQUmVtb3ZlRmlsdGVyKCksIFlUUGxheWVyLm9wdC5hZGRGaWx0ZXJzID8gJFlUUGxheWVyLllUUEFwcGx5RmlsdGVycyhZVFBsYXllci5vcHQuYWRkRmlsdGVycykgOiAkWVRQbGF5ZXIuWVRQQXBwbHlGaWx0ZXJzKCksICRZVFBsYXllci5ZVFBFbmFibGVGaWx0ZXJzKCk7DQogICAgICAgICAgICAgICAgICAgIGxldCBZVFByZWFkeSA9IGpRdWVyeS5FdmVudCgiWVRQUmVhZHkiKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKFlUUHJlYWR5LnRpbWUgPSBZVFBsYXllci5jdXJyZW50VGltZSwgJFlUUGxheWVyLnRyaWdnZXIoWVRQcmVhZHkpLCBZVFBsYXllci5zdGF0ZSA9IDIsIFlUUGxheWVyLm9wdC5tdXRlID8gJFlUUGxheWVyLllUUE11dGUoKSA6IChZVFBsYXllci5vcHQuYXV0b1BsYXkgJiYgKGNvbnNvbGUuZGVidWcoIlRvIG1ha2UgdGhlIHZpZGVvICdhdXRvLXBsYXknIHlvdSBtdXN0IG11dGUgdGhlIGF1ZGlvIGFjY29yZGluZyB3aXRoIHRoZSBsYXRlc3QgdmVuZG9yIHBvbGljeSIpLCBZVFBsYXllci5wbGF5ZXIubXV0ZSgpKSwgWVRQbGF5ZXIucGxheWVyLnVuTXV0ZSgpKSwgInVuZGVmaW5lZCIgIT0gdHlwZW9mIF9nYXEgJiYgZXZhbChZVFBsYXllci5vcHQuZ2FUcmFjaykgPyBfZ2FxLnB1c2goWyJfdHJhY2tFdmVudCIsICJZVFBsYXllciIsICJQbGF5IiwgWVRQbGF5ZXIuaGFzRGF0YSA/IFlUUGxheWVyLnZpZGVvRGF0YS50aXRsZSA6IFlUUGxheWVyLnZpZGVvSUQudG9TdHJpbmcoKV0pIDogInVuZGVmaW5lZCIgIT0gdHlwZW9mIGdhICYmIGV2YWwoWVRQbGF5ZXIub3B0LmdhVHJhY2spICYmIGdhKCJzZW5kIiwgImV2ZW50IiwgIllUUGxheWVyIiwgInBsYXkiLCBZVFBsYXllci5oYXNEYXRhID8gWVRQbGF5ZXIudmlkZW9EYXRhLnRpdGxlIDogWVRQbGF5ZXIudmlkZW9JRC50b1N0cmluZygpKSwgWVRQbGF5ZXIub3B0LmF1dG9QbGF5KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBsZXQgZSA9IGpRdWVyeS5FdmVudCgiWVRQU3RhcnQiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGUudGltZSA9IFlUUGxheWVyLmN1cnJlbnRUaW1lLCBqUXVlcnkoWVRQbGF5ZXIpLnRyaWdnZXIoZSksIFlUUGxheWVyLmlzU3RhcnRpbmcgPSAhMSwgIm1hYyIgPT0galF1ZXJ5Lm1iQnJvd3Nlci5vcy5uYW1lICYmIGpRdWVyeS5tYkJyb3dzZXIuc2FmYXJpICYmIGpRdWVyeSgiYm9keSIpLm9uZSgibW91c2Vkb3duLllUUHN0YXJ0IiwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFlUUGxheWVyLllUUFBsYXkoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSksICRZVFBsYXllci5ZVFBQbGF5KCksIGNvbnNvbGUudGltZUVuZCgiWVRQbGF5ZXJTdGFydFBsYXkiKQ0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgWVRQbGF5ZXIucHJldmVudFRyaWdnZXIgPSAhMCwgJFlUUGxheWVyLllUUFBhdXNlKCksIFlUUGxheWVyLnN0YXJ0X2Zyb21fbGFzdCAmJiBZVFBsYXllci5wbGF5ZXIuc2Vla1RvKHN0YXJ0QXQsICEwKSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFlUUGxheWVyLnByZXZlbnRUcmlnZ2VyID0gITAsICRZVFBsYXllci5ZVFBQYXVzZSgpLCBZVFBsYXllci5pc1BsYXllciB8fCAoWVRQbGF5ZXIub3B0LmNvdmVySW1hZ2UgPyAoWVRQbGF5ZXIud3JhcHBlci5jc3Moew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDANCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChZVFBsYXllci5vcHQuY292ZXJJbWFnZSB8fCBZVFBsYXllci5vcmlnX2NvbnRhaW5tZW50X2JhY2tncm91bmQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGUgPSBZVFBsYXllci5vcHQuY292ZXJJbWFnZSA/ICJ1cmwoIiArIFlUUGxheWVyLm9wdC5jb3ZlckltYWdlICsgIikgY2VudGVyIGNlbnRlciIgOiBZVFBsYXllci5vcmlnX2NvbnRhaW5tZW50X2JhY2tncm91bmQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgJiYgWVRQbGF5ZXIud3JhcHBlci5jc3Moew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRTaXplOiAiY292ZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogIm5vLXJlcGVhdCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9LCBZVFBsYXllci5vcHQuZmFkZU9uU3RhcnRUaW1lKSkgOiAoalF1ZXJ5KFlUUGxheWVyLnBsYXllckVsKS5DU1NBbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxDQogICAgICAgICAgICAgICAgICAgICAgICB9LCBZVFBsYXllci5vcHQuZmFkZU9uU3RhcnRUaW1lKSwgWVRQbGF5ZXIud3JhcHBlci5DU1NBbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBZVFBsYXllci5pc0Fsb25lID8gMSA6IFlUUGxheWVyLm9wdC5vcGFjaXR5DQogICAgICAgICAgICAgICAgICAgICAgICB9LCBZVFBsYXllci5vcHQuZmFkZU9uU3RhcnRUaW1lKSkpLCBZVFBsYXllci5pc1N0YXJ0aW5nID0gITENCiAgICAgICAgICAgICAgICAgICAgfSwgNTAwKSwgWVRQbGF5ZXIuY29udHJvbEJhci5sZW5ndGggJiYgWVRQbGF5ZXIuY29udHJvbEJhci5maW5kKCIubWJfWVRQUGxheVBhdXNlIikuaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy5wbGF5KTsNCiAgICAgICAgICAgICAgICAgICAgWVRQbGF5ZXIuaXNQbGF5ZXIgJiYgIVlUUGxheWVyLm9wdC5hdXRvUGxheSAmJiBZVFBsYXllci5sb2FkaW5nICYmIFlUUGxheWVyLmxvYWRpbmcubGVuZ3RoICYmIChZVFBsYXllci5sb2FkaW5nLmh0bWwoIlJlYWR5IiksIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBZVFBsYXllci5sb2FkaW5nLmZhZGVPdXQoKQ0KICAgICAgICAgICAgICAgICAgICB9LCAxMDApKSwgWVRQbGF5ZXIuY29udHJvbEJhciAmJiBZVFBsYXllci5jb250cm9sQmFyLmxlbmd0aCAmJiBZVFBsYXllci5jb250cm9sQmFyLnNsaWRlRG93bigxZTMpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICJtYWMiID09IGpRdWVyeS5tYkJyb3dzZXIub3MubmFtZSAmJiBqUXVlcnkubWJCcm93c2VyLnNhZmFyaSAmJiAoWVRQbGF5ZXIucGxheWVyLnBsYXlWaWRlbygpLCBzdGFydEF0ID49IDAgJiYgWVRQbGF5ZXIucGxheWVyLnNlZWtUbyhzdGFydEF0LCAhMCkpDQogICAgICAgICAgICB9LCAxMDApLCAkWVRQbGF5ZXINCiAgICAgICAgfSwNCiAgICAgICAgZ2V0VGltZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBsZXQgZSA9IHRoaXMuZ2V0KDApOw0KICAgICAgICAgICAgcmV0dXJuIGpRdWVyeS5tYllUUGxheWVyLmZvcm1hdFRpbWUoZS5jdXJyZW50VGltZSkNCiAgICAgICAgfSwNCiAgICAgICAgZ2V0VG90YWxUaW1lOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICBsZXQgciA9IHRoaXMuZ2V0KDApOw0KICAgICAgICAgICAgcmV0dXJuIGpRdWVyeS5tYllUUGxheWVyLmZvcm1hdFRpbWUoci50b3RhbFRpbWUpDQogICAgICAgIH0sDQogICAgICAgIGZvcm1hdFRpbWU6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIGxldCByID0gTWF0aC5mbG9vcihlIC8gNjApLA0KICAgICAgICAgICAgICAgIHQgPSBNYXRoLmZsb29yKGUgLSA2MCAqIHIpOw0KICAgICAgICAgICAgcmV0dXJuIChyIDw9IDkgPyAiMCIgKyByIDogcikgKyAiIDogIiArICh0IDw9IDkgPyAiMCIgKyB0IDogdCkNCiAgICAgICAgfSwNCiAgICAgICAgc2V0QW5jaG9yOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICB0aGlzLm9wdGltaXplRGlzcGxheShlKQ0KICAgICAgICB9LA0KICAgICAgICBnZXRBbmNob3I6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KDApLm9wdC5hbmNob3INCiAgICAgICAgfSwNCiAgICAgICAgc2V0QWJ1bmRhbmNlOiBmdW5jdGlvbihlLCByKSB7DQogICAgICAgICAgICBsZXQgdCA9IHRoaXMuZ2V0KDApOw0KICAgICAgICAgICAgcmV0dXJuIHIgJiYgKHQub3B0LmFidW5kYW5jZSA9IGUpLCB0aGlzLm9wdGltaXplRGlzcGxheSh0Lm9wdC5hbmNob3IsIGUpLCB0aGlzDQogICAgICAgIH0sDQogICAgICAgIGdldEFidW5kYW5jZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQoMCkub3B0LmFidW5kYW5jZQ0KICAgICAgICB9LA0KICAgICAgICBzZXRPcHRpb246IGZ1bmN0aW9uKGUsIHIpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldCgwKS5vcHRbZV0gPSByLCB0aGlzDQogICAgICAgIH0NCiAgICB9LCBqUXVlcnkuZm4ub3B0aW1pemVEaXNwbGF5ID0gZnVuY3Rpb24oYW5jaG9yLCBhYnVuZGFuY2VYKSB7DQogICAgICAgIGxldCBZVFBsYXllciA9IHRoaXMuZ2V0KDApLA0KICAgICAgICAgICAgdmlkID0ge30sDQogICAgICAgICAgICBlbCA9IFlUUGxheWVyLndyYXBwZXIsDQogICAgICAgICAgICBpZnJhbWUgPSBqUXVlcnkoWVRQbGF5ZXIucGxheWVyRWwpOw0KICAgICAgICBZVFBsYXllci5vcHQuYW5jaG9yID0gYW5jaG9yIHx8IFlUUGxheWVyLm9wdC5hbmNob3IsIFlUUGxheWVyLm9wdC5hbmNob3IgPSAidW5kZWZpbmVkICIgIT0gdHlwZW9mIFlUUGxheWVyLm9wdC5hbmNob3IgPyBZVFBsYXllci5vcHQuYW5jaG9yIDogImNlbnRlcixjZW50ZXIiOw0KICAgICAgICBsZXQgWVRQQWxpZ24gPSBZVFBsYXllci5vcHQuYW5jaG9yLnNwbGl0KCIsIiksDQogICAgICAgICAgICBhYiA9IGFidW5kYW5jZVggfHwgWVRQbGF5ZXIub3B0LmFidW5kYW5jZTsNCiAgICAgICAgaWYgKFlUUGxheWVyLm9wdC5vcHRpbWl6ZURpc3BsYXkpIHsNCiAgICAgICAgICAgIGxldCBhYnVuZGFuY2UgPSBlbC5oZWlnaHQoKSAqIGFiLA0KICAgICAgICAgICAgICAgIHdpbiA9IHt9Ow0KICAgICAgICAgICAgd2luLndpZHRoID0gZWwub3V0ZXJXaWR0aCgpLCB3aW4uaGVpZ2h0ID0gZWwub3V0ZXJIZWlnaHQoKSArIGFidW5kYW5jZSwgWVRQbGF5ZXIub3B0LnJhdGlvID0gImF1dG8iID09PSBZVFBsYXllci5vcHQucmF0aW8gPyAxNiAvIDkgOiBZVFBsYXllci5vcHQucmF0aW8sIFlUUGxheWVyLm9wdC5yYXRpbyA9IGV2YWwoWVRQbGF5ZXIub3B0LnJhdGlvKSwgdmlkLndpZHRoID0gd2luLndpZHRoICsgYWJ1bmRhbmNlLCB2aWQuaGVpZ2h0ID0gTWF0aC5jZWlsKHZpZC53aWR0aCAvIFlUUGxheWVyLm9wdC5yYXRpbyksIHZpZC5tYXJnaW5Ub3AgPSBNYXRoLmNlaWwoLSh2aWQuaGVpZ2h0IC0gd2luLmhlaWdodCArIGFidW5kYW5jZSkgLyAyKSwgdmlkLm1hcmdpbkxlZnQgPSAtYWJ1bmRhbmNlIC8gMjsNCiAgICAgICAgICAgIGxldCBsb3dlc3QgPSB2aWQuaGVpZ2h0IDwgd2luLmhlaWdodDsNCiAgICAgICAgICAgIGxvd2VzdCAmJiAodmlkLmhlaWdodCA9IHdpbi5oZWlnaHQgKyBhYnVuZGFuY2UsIHZpZC53aWR0aCA9IE1hdGguY2VpbCh2aWQuaGVpZ2h0ICogWVRQbGF5ZXIub3B0LnJhdGlvKSwgdmlkLm1hcmdpblRvcCA9IC1hYnVuZGFuY2UgLyAyLCB2aWQubWFyZ2luTGVmdCA9IE1hdGguY2VpbCgtKHZpZC53aWR0aCAtIHdpbi53aWR0aCkgLyAyKSk7DQogICAgICAgICAgICBmb3IgKGxldCBlIGluIFlUUEFsaWduKQ0KICAgICAgICAgICAgICAgIGlmIChZVFBBbGlnbi5oYXNPd25Qcm9wZXJ0eShlKSkgew0KICAgICAgICAgICAgICAgICAgICBsZXQgciA9IFlUUEFsaWduW2VdLnJlcGxhY2UoLyAvZywgIiIpOw0KICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInRvcCI6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlkLm1hcmdpblRvcCA9IC1hYnVuZGFuY2U7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJib3R0b20iOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZC5tYXJnaW5Ub3AgPSBNYXRoLmNlaWwoLSh2aWQuaGVpZ2h0IC0gd2luLmhlaWdodCkgLSBhYnVuZGFuY2UgLyAyKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImxlZnQiOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZC5tYXJnaW5MZWZ0ID0gLWFidW5kYW5jZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgInJpZ2h0IjoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWQubWFyZ2luTGVmdCA9IE1hdGguY2VpbCgtKHZpZC53aWR0aCAtIHdpbi53aWR0aCkgKyBhYnVuZGFuY2UgLyAyKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICB9IGVsc2UgdmlkLndpZHRoID0gIjEwMCUiLCB2aWQuaGVpZ2h0ID0gIjEwMCUiLCB2aWQubWFyZ2luVG9wID0gMCwgdmlkLm1hcmdpbkxlZnQgPSAwOw0KICAgICAgICBpZnJhbWUuY3NzKHsNCiAgICAgICAgICAgIHdpZHRoOiB2aWQud2lkdGgsDQogICAgICAgICAgICBoZWlnaHQ6IHZpZC5oZWlnaHQsDQogICAgICAgICAgICBtYXJnaW5Ub3A6IHZpZC5tYXJnaW5Ub3AsDQogICAgICAgICAgICBtYXJnaW5MZWZ0OiB2aWQubWFyZ2luTGVmdCwNCiAgICAgICAgICAgIG1heFdpZHRoOiAiaW5pdGlhbCINCiAgICAgICAgfSkNCiAgICB9LCBqUXVlcnkuc2h1ZmZsZSA9IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgbGV0IHIgPSBlLnNsaWNlKCksDQogICAgICAgICAgICB0ID0gci5sZW5ndGgsDQogICAgICAgICAgICBhID0gdDsNCiAgICAgICAgZm9yICg7IGEtLTspIHsNCiAgICAgICAgICAgIGxldCBlID0gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSAqIHQpLA0KICAgICAgICAgICAgICAgIG8gPSByW2FdOw0KICAgICAgICAgICAgclthXSA9IHJbZV0sIHJbZV0gPSBvDQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHINCiAgICB9LCBqUXVlcnkuZm4udW5zZWxlY3RhYmxlID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBqUXVlcnkodGhpcykuY3NzKHsNCiAgICAgICAgICAgICAgICAiLW1vei11c2VyLXNlbGVjdCI6ICJub25lIiwNCiAgICAgICAgICAgICAgICAiLXdlYmtpdC11c2VyLXNlbGVjdCI6ICJub25lIiwNCiAgICAgICAgICAgICAgICAidXNlci1zZWxlY3QiOiAibm9uZSINCiAgICAgICAgICAgIH0pLmF0dHIoInVuc2VsZWN0YWJsZSIsICJvbiIpDQogICAgICAgIH0pDQogICAgfSwgalF1ZXJ5LmZuLllUUGxheWVyID0galF1ZXJ5Lm1iWVRQbGF5ZXIuYnVpbGRQbGF5ZXIsIGpRdWVyeS5mbi5tYl9ZVFBsYXllciA9IGpRdWVyeS5tYllUUGxheWVyLmJ1aWxkUGxheWVyLCBqUXVlcnkuZm4uWVRQQ2hlY2tGb3JTdGF0ZSA9IGpRdWVyeS5tYllUUGxheWVyLmNoZWNrRm9yU3RhdGUsIGpRdWVyeS5mbi5ZVFBHZXRQbGF5ZXIgPSBqUXVlcnkubWJZVFBsYXllci5nZXRQbGF5ZXIsIGpRdWVyeS5mbi5ZVFBHZXRWaWRlb0lEID0galF1ZXJ5Lm1iWVRQbGF5ZXIuZ2V0VmlkZW9JRCwgalF1ZXJ5LmZuLllUUEdldFBsYXlsaXN0SUQgPSBqUXVlcnkubWJZVFBsYXllci5nZXRQbGF5bGlzdElELCBqUXVlcnkuZm4uWVRQQ2hhbmdlVmlkZW8gPSBqUXVlcnkuZm4uWVRQQ2hhbmdlTW92aWUgPSBqUXVlcnkubWJZVFBsYXllci5jaGFuZ2VWaWRlbywgalF1ZXJ5LmZuLllUUFBsYXllckRlc3Ryb3kgPSBqUXVlcnkubWJZVFBsYXllci5wbGF5ZXJEZXN0cm95LCBqUXVlcnkuZm4uWVRQUGxheSA9IGpRdWVyeS5tYllUUGxheWVyLnBsYXksIGpRdWVyeS5mbi5ZVFBUb2dnbGVQbGF5ID0galF1ZXJ5Lm1iWVRQbGF5ZXIudG9nZ2xlUGxheSwgalF1ZXJ5LmZuLllUUFN0b3AgPSBqUXVlcnkubWJZVFBsYXllci5zdG9wLCBqUXVlcnkuZm4uWVRQUGF1c2UgPSBqUXVlcnkubWJZVFBsYXllci5wYXVzZSwgalF1ZXJ5LmZuLllUUFNlZWtUbyA9IGpRdWVyeS5tYllUUGxheWVyLnNlZWtUbywgalF1ZXJ5LmZuLllUUGxheWxpc3QgPSBqUXVlcnkubWJZVFBsYXllci5wbGF5bGlzdCwgalF1ZXJ5LmZuLllUUFBsYXlOZXh0ID0galF1ZXJ5Lm1iWVRQbGF5ZXIucGxheU5leHQsIGpRdWVyeS5mbi5ZVFBQbGF5UHJldiA9IGpRdWVyeS5tYllUUGxheWVyLnBsYXlQcmV2LCBqUXVlcnkuZm4uWVRQUGxheUluZGV4ID0galF1ZXJ5Lm1iWVRQbGF5ZXIucGxheUluZGV4LCBqUXVlcnkuZm4uWVRQTXV0ZSA9IGpRdWVyeS5tYllUUGxheWVyLm11dGUsIGpRdWVyeS5mbi5ZVFBVbm11dGUgPSBqUXVlcnkubWJZVFBsYXllci51bm11dGUsIGpRdWVyeS5mbi5ZVFBUb2dnbGVWb2x1bWUgPSBqUXVlcnkubWJZVFBsYXllci50b2dnbGVWb2x1bWUsIGpRdWVyeS5mbi5ZVFBTZXRWb2x1bWUgPSBqUXVlcnkubWJZVFBsYXllci5zZXRWb2x1bWUsIGpRdWVyeS5mbi5ZVFBHZXRWb2x1bWUgPSBqUXVlcnkubWJZVFBsYXllci5nZXRWb2x1bWUsIGpRdWVyeS5mbi5ZVFBHZXRWaWRlb0RhdGEgPSBqUXVlcnkubWJZVFBsYXllci5nZXRWaWRlb0RhdGEsIGpRdWVyeS5mbi5ZVFBGdWxsc2NyZWVuID0galF1ZXJ5Lm1iWVRQbGF5ZXIuZnVsbHNjcmVlbiwgalF1ZXJ5LmZuLllUUFRvZ2dsZUxvb3BzID0galF1ZXJ5Lm1iWVRQbGF5ZXIudG9nZ2xlTG9vcHMsIGpRdWVyeS5mbi5ZVFBNYW5hZ2VQcm9ncmVzcyA9IGpRdWVyeS5tYllUUGxheWVyLm1hbmFnZVByb2dyZXNzLCBqUXVlcnkuZm4uWVRQU2V0VmlkZW9RdWFsaXR5ID0galF1ZXJ5Lm1iWVRQbGF5ZXIuc2V0VmlkZW9RdWFsaXR5LCBqUXVlcnkuZm4uWVRQR2V0VmlkZW9RdWFsaXR5ID0galF1ZXJ5Lm1iWVRQbGF5ZXIuZ2V0VmlkZW9RdWFsaXR5LCBqUXVlcnkuZm4uWVRQQXBwbHlGaWx0ZXIgPSBqUXVlcnkubWJZVFBsYXllci5hcHBseUZpbHRlciwgalF1ZXJ5LmZuLllUUEFwcGx5RmlsdGVycyA9IGpRdWVyeS5tYllUUGxheWVyLmFwcGx5RmlsdGVycywgalF1ZXJ5LmZuLllUUFRvZ2dsZUZpbHRlciA9IGpRdWVyeS5tYllUUGxheWVyLnRvZ2dsZUZpbHRlciwgalF1ZXJ5LmZuLllUUFRvZ2dsZUZpbHRlcnMgPSBqUXVlcnkubWJZVFBsYXllci50b2dnbGVGaWx0ZXJzLCBqUXVlcnkuZm4uWVRQUmVtb3ZlRmlsdGVyID0galF1ZXJ5Lm1iWVRQbGF5ZXIucmVtb3ZlRmlsdGVyLCBqUXVlcnkuZm4uWVRQRGlzYWJsZUZpbHRlcnMgPSBqUXVlcnkubWJZVFBsYXllci5kaXNhYmxlRmlsdGVycywgalF1ZXJ5LmZuLllUUEVuYWJsZUZpbHRlcnMgPSBqUXVlcnkubWJZVFBsYXllci5lbmFibGVGaWx0ZXJzLCBqUXVlcnkuZm4uWVRQR2V0RmlsdGVycyA9IGpRdWVyeS5tYllUUGxheWVyLmdldEZpbHRlcnMsIGpRdWVyeS5mbi5ZVFBHZXRUaW1lID0galF1ZXJ5Lm1iWVRQbGF5ZXIuZ2V0VGltZSwgalF1ZXJ5LmZuLllUUEdldFRvdGFsVGltZSA9IGpRdWVyeS5tYllUUGxheWVyLmdldFRvdGFsVGltZSwgalF1ZXJ5LmZuLllUUEFkZE1hc2sgPSBqUXVlcnkubWJZVFBsYXllci5hZGRNYXNrLCBqUXVlcnkuZm4uWVRQUmVtb3ZlTWFzayA9IGpRdWVyeS5tYllUUGxheWVyLnJlbW92ZU1hc2ssIGpRdWVyeS5mbi5ZVFBUb2dnbGVNYXNrID0galF1ZXJ5Lm1iWVRQbGF5ZXIudG9nZ2xlTWFzaywgalF1ZXJ5LmZuLllUUEdldEFidW5kYW5jZSA9IGpRdWVyeS5tYllUUGxheWVyLmdldEFidW5kYW5jZSwgalF1ZXJ5LmZuLllUUFNldEFidW5kYW5jZSA9IGpRdWVyeS5tYllUUGxheWVyLnNldEFidW5kYW5jZSwgalF1ZXJ5LmZuLllUUFNldEFuY2hvciA9IGpRdWVyeS5tYllUUGxheWVyLnNldEFuY2hvciwgalF1ZXJ5LmZuLllUUEdldEFuY2hvciA9IGpRdWVyeS5tYllUUGxheWVyLmdldEFuY2hvciwgalF1ZXJ5LmZuLllUUFNldE9wdGlvbiA9IGpRdWVyeS5tYllUUGxheWVyLnNldE9wdGlvbg0KfShqUXVlcnksIHl0cCk7DQp2YXIgbkFndCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7DQoNCmZ1bmN0aW9uIGlzVG91Y2hTdXBwb3J0ZWQoKSB7DQogICAgdmFyIGUgPSBuQWd0Lm1zTWF4VG91Y2hQb2ludHMsDQogICAgICAgIHIgPSAib250b3VjaHN0YXJ0IiBpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCiAgICByZXR1cm4gISghZSAmJiAhcikNCn0NCmpRdWVyeS5icm93c2VyID0galF1ZXJ5LmJyb3dzZXIgfHwge30sIGpRdWVyeS5icm93c2VyLm1vemlsbGEgPSAhMSwgalF1ZXJ5LmJyb3dzZXIud2Via2l0ID0gITEsIGpRdWVyeS5icm93c2VyLm9wZXJhID0gITEsIGpRdWVyeS5icm93c2VyLnNhZmFyaSA9ICExLCBqUXVlcnkuYnJvd3Nlci5jaHJvbWUgPSAhMSwgalF1ZXJ5LmJyb3dzZXIuYW5kcm9pZFN0b2NrID0gITEsIGpRdWVyeS5icm93c2VyLm1zaWUgPSAhMSwgalF1ZXJ5LmJyb3dzZXIuZWRnZSA9ICExLCBqUXVlcnkuYnJvd3Nlci51YSA9IG5BZ3Q7DQp2YXIgZ2V0T1MgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGUgPSB7DQogICAgICAgICAgICB2ZXJzaW9uOiAiVW5rbm93biB2ZXJzaW9uIiwNCiAgICAgICAgICAgIG5hbWU6ICJVbmtub3duIE9TIg0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gLTEgIT0gbmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZigiV2luIikgJiYgKGUubmFtZSA9ICJXaW5kb3dzIiksIC0xICE9IG5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoIk1hYyIpICYmIDAgPiBuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNb2JpbGUiKSAmJiAoZS5uYW1lID0gIk1hYyIpLCAtMSAhPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJMaW51eCIpICYmIChlLm5hbWUgPSAiTGludXgiKSwgL01hYyBPUyBYLy50ZXN0KG5BZ3QpICYmICEvTW9iaWxlLy50ZXN0KG5BZ3QpICYmIChlLnZlcnNpb24gPSAvTWFjIE9TIFggKDEwW1wuXF9cZF0rKS8uZXhlYyhuQWd0KVsxXSwgZS52ZXJzaW9uID0gZS52ZXJzaW9uLnJlcGxhY2UoL18vZywgIi4iKS5zdWJzdHJpbmcoMCwgNSkpLCAvV2luZG93cy8udGVzdChuQWd0KSAmJiAoZS52ZXJzaW9uID0gIlVua25vd24uVW5rbm93biIpLCAvV2luZG93cyBOVCA1LjEvLnRlc3QobkFndCkgJiYgKGUudmVyc2lvbiA9ICI1LjEiKSwgL1dpbmRvd3MgTlQgNi4wLy50ZXN0KG5BZ3QpICYmIChlLnZlcnNpb24gPSAiNi4wIiksIC9XaW5kb3dzIE5UIDYuMS8udGVzdChuQWd0KSAmJiAoZS52ZXJzaW9uID0gIjYuMSIpLCAvV2luZG93cyBOVCA2LjIvLnRlc3QobkFndCkgJiYgKGUudmVyc2lvbiA9ICI2LjIiKSwgL1dpbmRvd3MgTlQgMTAuMC8udGVzdChuQWd0KSAmJiAoZS52ZXJzaW9uID0gIjEwLjAiKSwgL0xpbnV4Ly50ZXN0KG5BZ3QpICYmIC9MaW51eC8udGVzdChuQWd0KSAmJiAoZS52ZXJzaW9uID0gIlVua25vd24uVW5rbm93biIpLCBlLm5hbWUgPSBlLm5hbWUudG9Mb3dlckNhc2UoKSwgZS5tYWpvcl92ZXJzaW9uID0gIlVua25vd24iLCBlLm1pbm9yX3ZlcnNpb24gPSAiVW5rbm93biIsICJVbmtub3duLlVua25vd24iICE9IGUudmVyc2lvbiAmJiAoZS5tYWpvcl92ZXJzaW9uID0gcGFyc2VGbG9hdChlLnZlcnNpb24uc3BsaXQoIi4iKVswXSksIGUubWlub3JfdmVyc2lvbiA9IHBhcnNlRmxvYXQoZS52ZXJzaW9uLnNwbGl0KCIuIilbMV0pKSwgZQ0KICAgIH0sDQogICAgbmFtZU9mZnNldCwgdmVyT2Zmc2V0LCBpeDsNCmlmIChqUXVlcnkuYnJvd3Nlci5vcyA9IGdldE9TKCksIGpRdWVyeS5icm93c2VyLmhhc1RvdWNoID0gaXNUb3VjaFN1cHBvcnRlZCgpLCBqUXVlcnkuYnJvd3Nlci5uYW1lID0gbmF2aWdhdG9yLmFwcE5hbWUsIGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uID0gIiIgKyBwYXJzZUZsb2F0KG5hdmlnYXRvci5hcHBWZXJzaW9uKSwgalF1ZXJ5LmJyb3dzZXIubWFqb3JWZXJzaW9uID0gcGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24sIDEwKSwgLTEgIT0gKHZlck9mZnNldCA9IG5BZ3QuaW5kZXhPZigiT3BlcmEiKSkpIGpRdWVyeS5icm93c2VyLm9wZXJhID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiT3BlcmEiLCBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCArIDYpLCAtMSAhPSAodmVyT2Zmc2V0ID0gbkFndC5pbmRleE9mKCJWZXJzaW9uIikpICYmIChqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCArIDgpKTsNCmVsc2UgaWYgKC0xICE9ICh2ZXJPZmZzZXQgPSBuQWd0LmluZGV4T2YoIk9QUiIpKSkgalF1ZXJ5LmJyb3dzZXIub3BlcmEgPSAhMCwgalF1ZXJ5LmJyb3dzZXIubmFtZSA9ICJPcGVyYSIsIGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uID0gbkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0ICsgNCk7DQplbHNlIGlmICgtMSAhPSAodmVyT2Zmc2V0ID0gbkFndC5pbmRleE9mKCJNU0lFIikpKSBqUXVlcnkuYnJvd3Nlci5tc2llID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIiwgalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBuQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQgKyA1KTsNCmVsc2UgaWYgKC0xICE9IG5BZ3QuaW5kZXhPZigiVHJpZGVudCIpKSB7DQogICAgalF1ZXJ5LmJyb3dzZXIubXNpZSA9ICEwLCBqUXVlcnkuYnJvd3Nlci5uYW1lID0gIk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciI7DQogICAgdmFyIHN0YXJ0ID0gbkFndC5pbmRleE9mKCJydjoiKSArIDMsDQogICAgICAgIGVuZCA9IHN0YXJ0ICsgNDsNCiAgICBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHN0YXJ0LCBlbmQpDQp9IGVsc2UgLTEgIT0gKHZlck9mZnNldCA9IG5BZ3QuaW5kZXhPZigiRWRnZSIpKSA/IChqUXVlcnkuYnJvd3Nlci5lZGdlID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiTWljcm9zb2Z0IEVkZ2UiLCBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCArIDUpKSA6IC0xICE9ICh2ZXJPZmZzZXQgPSBuQWd0LmluZGV4T2YoIkNocm9tZSIpKSA/IChqUXVlcnkuYnJvd3Nlci53ZWJraXQgPSAhMCwgalF1ZXJ5LmJyb3dzZXIuY2hyb21lID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiQ2hyb21lIiwgalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBuQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQgKyA3KSkgOiAtMSA8IG5BZ3QuaW5kZXhPZigibW96aWxsYS81LjAiKSAmJiAtMSA8IG5BZ3QuaW5kZXhPZigiYW5kcm9pZCAiKSAmJiAtMSA8IG5BZ3QuaW5kZXhPZigiYXBwbGV3ZWJraXQiKSAmJiAhKC0xIDwgbkFndC5pbmRleE9mKCJjaHJvbWUiKSkgPyAodmVyT2Zmc2V0ID0gbkFndC5pbmRleE9mKCJDaHJvbWUiKSwgalF1ZXJ5LmJyb3dzZXIud2Via2l0ID0gITAsIGpRdWVyeS5icm93c2VyLmFuZHJvaWRTdG9jayA9ICEwLCBqUXVlcnkuYnJvd3Nlci5uYW1lID0gImFuZHJvaWRTdG9jayIsIGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uID0gbkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0ICsgNykpIDogLTEgIT0gKHZlck9mZnNldCA9IG5BZ3QuaW5kZXhPZigiU2FmYXJpIikpID8gKGpRdWVyeS5icm93c2VyLndlYmtpdCA9ICEwLCBqUXVlcnkuYnJvd3Nlci5zYWZhcmkgPSAhMCwgalF1ZXJ5LmJyb3dzZXIubmFtZSA9ICJTYWZhcmkiLCBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCArIDcpLCAtMSAhPSAodmVyT2Zmc2V0ID0gbkFndC5pbmRleE9mKCJWZXJzaW9uIikpICYmIChqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCArIDgpKSkgOiAtMSAhPSAodmVyT2Zmc2V0ID0gbkFndC5pbmRleE9mKCJBcHBsZVdlYmtpdCIpKSA/IChqUXVlcnkuYnJvd3Nlci53ZWJraXQgPSAhMCwgalF1ZXJ5LmJyb3dzZXIuc2FmYXJpID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiU2FmYXJpIiwgalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBuQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQgKyA3KSwgLTEgIT0gKHZlck9mZnNldCA9IG5BZ3QuaW5kZXhPZigiVmVyc2lvbiIpKSAmJiAoalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBuQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQgKyA4KSkpIDogLTEgIT0gKHZlck9mZnNldCA9IG5BZ3QuaW5kZXhPZigiRmlyZWZveCIpKSA/IChqUXVlcnkuYnJvd3Nlci5tb3ppbGxhID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiRmlyZWZveCIsIGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uID0gbkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0ICsgOCkpIDogKG5hbWVPZmZzZXQgPSBuQWd0Lmxhc3RJbmRleE9mKCIgIikgKyAxKSA8ICh2ZXJPZmZzZXQgPSBuQWd0Lmxhc3RJbmRleE9mKCIvIikpICYmIChqUXVlcnkuYnJvd3Nlci5uYW1lID0gbkFndC5zdWJzdHJpbmcobmFtZU9mZnNldCwgdmVyT2Zmc2V0KSwgalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBuQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQgKyAxKSwgalF1ZXJ5LmJyb3dzZXIubmFtZS50b0xvd2VyQ2FzZSgpID09IGpRdWVyeS5icm93c2VyLm5hbWUudG9VcHBlckNhc2UoKSAmJiAoalF1ZXJ5LmJyb3dzZXIubmFtZSA9IG5hdmlnYXRvci5hcHBOYW1lKSk7DQoNCmZ1bmN0aW9uIHVuY2FtZWwoZSkgew0KICAgIHJldHVybiBlLnJlcGxhY2UoLyhbQS1aXSkvZywgZnVuY3Rpb24oZSkgew0KICAgICAgICByZXR1cm4gIi0iICsgZS50b0xvd2VyQ2FzZSgpDQogICAgfSkNCn0NCg0KZnVuY3Rpb24gc2V0VW5pdChlLCByKSB7DQogICAgcmV0dXJuICJzdHJpbmciICE9IHR5cGVvZiBlIHx8IGUubWF0Y2goL15bXC0wLTlcLl0ralF1ZXJ5LykgPyAiIiArIGUgKyByIDogZQ0KfQ0KDQpmdW5jdGlvbiBzZXRGaWx0ZXIoZSwgciwgdCkgew0KICAgIHZhciBhID0gdW5jYW1lbChyKSwNCiAgICAgICAgbyA9IGpRdWVyeS5icm93c2VyLm1vemlsbGEgPyAiIiA6IGpRdWVyeS5DU1Muc2Z4Ow0KICAgIGVbbyArICJmaWx0ZXIiXSA9IGVbbyArICJmaWx0ZXIiXSB8fCAiIiwgdCA9IHNldFVuaXQodCA+IGpRdWVyeS5DU1MuZmlsdGVyc1tyXS5tYXggPyBqUXVlcnkuQ1NTLmZpbHRlcnNbcl0ubWF4IDogdCwgalF1ZXJ5LkNTUy5maWx0ZXJzW3JdLnVuaXQpLCBlW28gKyAiZmlsdGVyIl0gKz0gYSArICIoIiArIHQgKyAiKSAiLCBkZWxldGUgZVtyXQ0KfSAtIDEgIT0gKGl4ID0galF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24uaW5kZXhPZigiOyIpKSAmJiAoalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbi5zdWJzdHJpbmcoMCwgaXgpKSwgLTEgIT0gKGl4ID0galF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24uaW5kZXhPZigiICIpKSAmJiAoalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbi5zdWJzdHJpbmcoMCwgaXgpKSwgalF1ZXJ5LmJyb3dzZXIubWFqb3JWZXJzaW9uID0gcGFyc2VJbnQoIiIgKyBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiwgMTApLCBpc05hTihqUXVlcnkuYnJvd3Nlci5tYWpvclZlcnNpb24pICYmIChqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9ICIiICsgcGFyc2VGbG9hdChuYXZpZ2F0b3IuYXBwVmVyc2lvbiksIGpRdWVyeS5icm93c2VyLm1ham9yVmVyc2lvbiA9IHBhcnNlSW50KG5hdmlnYXRvci5hcHBWZXJzaW9uLCAxMCkpLCBqUXVlcnkuYnJvd3Nlci52ZXJzaW9uID0galF1ZXJ5LmJyb3dzZXIubWFqb3JWZXJzaW9uLCBqUXVlcnkuYnJvd3Nlci5hbmRyb2lkID0gL0FuZHJvaWQvaS50ZXN0KG5BZ3QpLCBqUXVlcnkuYnJvd3Nlci5ibGFja2JlcnJ5ID0gL0JsYWNrQmVycnl8QkJ8UGxheUJvb2svaS50ZXN0KG5BZ3QpLCBqUXVlcnkuYnJvd3Nlci5pb3MgPSAvaVBob25lfGlQYWR8aVBvZHx3ZWJPUy9pLnRlc3QobkFndCksIGpRdWVyeS5icm93c2VyLm9wZXJhTW9iaWxlID0gL09wZXJhIE1pbmkvaS50ZXN0KG5BZ3QpLCBqUXVlcnkuYnJvd3Nlci53aW5kb3dzTW9iaWxlID0gL0lFTW9iaWxlfFdpbmRvd3MgUGhvbmUvaS50ZXN0KG5BZ3QpLCBqUXVlcnkuYnJvd3Nlci5raW5kbGUgPSAvS2luZGxlfFNpbGsvaS50ZXN0KG5BZ3QpLCBqUXVlcnkuYnJvd3Nlci5tb2JpbGUgPSBqUXVlcnkuYnJvd3Nlci5hbmRyb2lkIHx8IGpRdWVyeS5icm93c2VyLmJsYWNrYmVycnkgfHwgalF1ZXJ5LmJyb3dzZXIuaW9zIHx8IGpRdWVyeS5icm93c2VyLndpbmRvd3NNb2JpbGUgfHwgalF1ZXJ5LmJyb3dzZXIub3BlcmFNb2JpbGUgfHwgalF1ZXJ5LmJyb3dzZXIua2luZGxlLCBqUXVlcnkuaXNNb2JpbGUgPSBqUXVlcnkuYnJvd3Nlci5tb2JpbGUsIGpRdWVyeS5pc1RhYmxldCA9IGpRdWVyeS5icm93c2VyLm1vYmlsZSAmJiA3NjUgPCBqUXVlcnkod2luZG93KS53aWR0aCgpLCBqUXVlcnkuaXNBbmRyb2lkRGVmYXVsdCA9IGpRdWVyeS5icm93c2VyLmFuZHJvaWQgJiYgIS9jaHJvbWUvaS50ZXN0KG5BZ3QpLCBqUXVlcnkubWJCcm93c2VyID0galF1ZXJ5LmJyb3dzZXIsIGpRdWVyeS5icm93c2VyLnZlcnNpb25Db21wYXJlID0gZnVuY3Rpb24oZSwgcikgew0KICAgIGlmICgic3RyaW5nc3RyaW5nIiAhPSB0eXBlb2YgZSArIHR5cGVvZiByKSByZXR1cm4gITE7DQogICAgZm9yICh2YXIgdCA9IGUuc3BsaXQoIi4iKSwgYSA9IHIuc3BsaXQoIi4iKSwgbyA9IDAsIG4gPSBNYXRoLm1heCh0Lmxlbmd0aCwgYS5sZW5ndGgpOyBvIDwgbjsgbysrKSB7DQogICAgICAgIGlmICh0W29dICYmICFhW29dICYmIDAgPCBwYXJzZUludCh0W29dKSB8fCBwYXJzZUludCh0W29dKSA+IHBhcnNlSW50KGFbb10pKSByZXR1cm4gMTsNCiAgICAgICAgaWYgKGFbb10gJiYgIXRbb10gJiYgMCA8IHBhcnNlSW50KGFbb10pIHx8IHBhcnNlSW50KHRbb10pIDwgcGFyc2VJbnQoYVtvXSkpIHJldHVybiAtMQ0KICAgIH0NCiAgICByZXR1cm4gMA0KfSwgalF1ZXJ5LnN1cHBvcnQuQ1NTdHJhbnNpdGlvbiA9IGZ1bmN0aW9uKCkgew0KICAgIHZhciBlID0gKGRvY3VtZW50LmJvZHkgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5zdHlsZTsNCiAgICByZXR1cm4gdm9pZCAwICE9PSBlLnRyYW5zaXRpb24gfHwgdm9pZCAwICE9PSBlLldlYmtpdFRyYW5zaXRpb24gfHwgdm9pZCAwICE9PSBlLk1velRyYW5zaXRpb24gfHwgdm9pZCAwICE9PSBlLk1zVHJhbnNpdGlvbiB8fCB2b2lkIDAgIT09IGUuT1RyYW5zaXRpb24NCn0oKSwgalF1ZXJ5LkNTUyA9IHsNCiAgICBuYW1lOiAibWIuQ1NTQW5pbWF0ZSIsDQogICAgYXV0aG9yOiAiTWF0dGVvIEJpY29jY2hpIiwNCiAgICB2ZXJzaW9uOiAiMi4wLjAiLA0KICAgIHRyYW5zaXRpb25FbmQ6ICJ0cmFuc2l0aW9uRW5kIiwNCiAgICBzZng6ICIiLA0KICAgIGZpbHRlcnM6IHsNCiAgICAgICAgYmx1cjogew0KICAgICAgICAgICAgbWluOiAwLA0KICAgICAgICAgICAgbWF4OiAxMDAsDQogICAgICAgICAgICB1bml0OiAicHgiDQogICAgICAgIH0sDQogICAgICAgIGJyaWdodG5lc3M6IHsNCiAgICAgICAgICAgIG1pbjogMCwNCiAgICAgICAgICAgIG1heDogNDAwLA0KICAgICAgICAgICAgdW5pdDogIiUiDQogICAgICAgIH0sDQogICAgICAgIGNvbnRyYXN0OiB7DQogICAgICAgICAgICBtaW46IDAsDQogICAgICAgICAgICBtYXg6IDQwMCwNCiAgICAgICAgICAgIHVuaXQ6ICIlIg0KICAgICAgICB9LA0KICAgICAgICBncmF5c2NhbGU6IHsNCiAgICAgICAgICAgIG1pbjogMCwNCiAgICAgICAgICAgIG1heDogMTAwLA0KICAgICAgICAgICAgdW5pdDogIiUiDQogICAgICAgIH0sDQogICAgICAgIGh1ZVJvdGF0ZTogew0KICAgICAgICAgICAgbWluOiAwLA0KICAgICAgICAgICAgbWF4OiAzNjAsDQogICAgICAgICAgICB1bml0OiAiZGVnIg0KICAgICAgICB9LA0KICAgICAgICBpbnZlcnQ6IHsNCiAgICAgICAgICAgIG1pbjogMCwNCiAgICAgICAgICAgIG1heDogMTAwLA0KICAgICAgICAgICAgdW5pdDogIiUiDQogICAgICAgIH0sDQogICAgICAgIHNhdHVyYXRlOiB7DQogICAgICAgICAgICBtaW46IDAsDQogICAgICAgICAgICBtYXg6IDQwMCwNCiAgICAgICAgICAgIHVuaXQ6ICIlIg0KICAgICAgICB9LA0KICAgICAgICBzZXBpYTogew0KICAgICAgICAgICAgbWluOiAwLA0KICAgICAgICAgICAgbWF4OiAxMDAsDQogICAgICAgICAgICB1bml0OiAiJSINCiAgICAgICAgfQ0KICAgIH0sDQogICAgbm9ybWFsaXplQ3NzOiBmdW5jdGlvbihlKSB7DQogICAgICAgIHZhciByID0galF1ZXJ5LmV4dGVuZCghMCwge30sIGUpOw0KICAgICAgICBmb3IgKHZhciB0IGluIGpRdWVyeS5icm93c2VyLndlYmtpdCB8fCBqUXVlcnkuYnJvd3Nlci5vcGVyYSA/IGpRdWVyeS5DU1Muc2Z4ID0gIi13ZWJraXQtIiA6IGpRdWVyeS5icm93c2VyLm1vemlsbGEgPyBqUXVlcnkuQ1NTLnNmeCA9ICItbW96LSIgOiBqUXVlcnkuYnJvd3Nlci5tc2llICYmIChqUXVlcnkuQ1NTLnNmeCA9ICItbXMtIiksIGpRdWVyeS5DU1Muc2Z4ID0gIiIsIHIpIHsNCiAgICAgICAgICAgIGlmICgidHJhbnNmb3JtIiA9PT0gdCAmJiAocltqUXVlcnkuQ1NTLnNmeCArICJ0cmFuc2Zvcm0iXSA9IHJbdF0sIGRlbGV0ZSByW3RdKSwgInRyYW5zZm9ybS1vcmlnaW4iID09PSB0ICYmIChyW2pRdWVyeS5DU1Muc2Z4ICsgInRyYW5zZm9ybS1vcmlnaW4iXSA9IGVbdF0sIGRlbGV0ZSByW3RdKSwgImZpbHRlciIgIT09IHQgfHwgalF1ZXJ5LmJyb3dzZXIubW96aWxsYSB8fCAocltqUXVlcnkuQ1NTLnNmeCArICJmaWx0ZXIiXSA9IGVbdF0sIGRlbGV0ZSByW3RdKSwgImJsdXIiID09PSB0ICYmIHNldEZpbHRlcihyLCAiYmx1ciIsIGVbdF0pLCAiYnJpZ2h0bmVzcyIgPT09IHQgJiYgc2V0RmlsdGVyKHIsICJicmlnaHRuZXNzIiwgZVt0XSksICJjb250cmFzdCIgPT09IHQgJiYgc2V0RmlsdGVyKHIsICJjb250cmFzdCIsIGVbdF0pLCAiZ3JheXNjYWxlIiA9PT0gdCAmJiBzZXRGaWx0ZXIociwgImdyYXlzY2FsZSIsIGVbdF0pLCAiaHVlUm90YXRlIiA9PT0gdCAmJiBzZXRGaWx0ZXIociwgImh1ZVJvdGF0ZSIsIGVbdF0pLCAiaW52ZXJ0IiA9PT0gdCAmJiBzZXRGaWx0ZXIociwgImludmVydCIsIGVbdF0pLCAic2F0dXJhdGUiID09PSB0ICYmIHNldEZpbHRlcihyLCAic2F0dXJhdGUiLCBlW3RdKSwgInNlcGlhIiA9PT0gdCAmJiBzZXRGaWx0ZXIociwgInNlcGlhIiwgZVt0XSksICJ4IiA9PT0gdCkgew0KICAgICAgICAgICAgICAgIHZhciBhID0galF1ZXJ5LkNTUy5zZnggKyAidHJhbnNmb3JtIjsNCiAgICAgICAgICAgICAgICByW2FdID0gclthXSB8fCAiIiwgclthXSArPSAiIHRyYW5zbGF0ZVgoIiArIHNldFVuaXQoZVt0XSwgInB4IikgKyAiKSIsIGRlbGV0ZSByW3RdDQogICAgICAgICAgICB9DQogICAgICAgICAgICAieSIgPT09IHQgJiYgKHJbYSA9IGpRdWVyeS5DU1Muc2Z4ICsgInRyYW5zZm9ybSJdID0gclthXSB8fCAiIiwgclthXSArPSAiIHRyYW5zbGF0ZVkoIiArIHNldFVuaXQoZVt0XSwgInB4IikgKyAiKSIsIGRlbGV0ZSByW3RdKSwgInoiID09PSB0ICYmIChyW2EgPSBqUXVlcnkuQ1NTLnNmeCArICJ0cmFuc2Zvcm0iXSA9IHJbYV0gfHwgIiIsIHJbYV0gKz0gIiB0cmFuc2xhdGVaKCIgKyBzZXRVbml0KGVbdF0sICJweCIpICsgIikiLCBkZWxldGUgclt0XSksICJyb3RhdGUiID09PSB0ICYmIChyW2EgPSBqUXVlcnkuQ1NTLnNmeCArICJ0cmFuc2Zvcm0iXSA9IHJbYV0gfHwgIiIsIHJbYV0gKz0gIiByb3RhdGUoIiArIHNldFVuaXQoZVt0XSwgImRlZyIpICsgIikiLCBkZWxldGUgclt0XSksICJyb3RhdGVYIiA9PT0gdCAmJiAoclthID0galF1ZXJ5LkNTUy5zZnggKyAidHJhbnNmb3JtIl0gPSByW2FdIHx8ICIiLCByW2FdICs9ICIgcm90YXRlWCgiICsgc2V0VW5pdChlW3RdLCAiZGVnIikgKyAiKSIsIGRlbGV0ZSByW3RdKSwgInJvdGF0ZVkiID09PSB0ICYmIChyW2EgPSBqUXVlcnkuQ1NTLnNmeCArICJ0cmFuc2Zvcm0iXSA9IHJbYV0gfHwgIiIsIHJbYV0gKz0gIiByb3RhdGVZKCIgKyBzZXRVbml0KGVbdF0sICJkZWciKSArICIpIiwgZGVsZXRlIHJbdF0pLCAicm90YXRlWiIgPT09IHQgJiYgKHJbYSA9IGpRdWVyeS5DU1Muc2Z4ICsgInRyYW5zZm9ybSJdID0gclthXSB8fCAiIiwgclthXSArPSAiIHJvdGF0ZVooIiArIHNldFVuaXQoZVt0XSwgImRlZyIpICsgIikiLCBkZWxldGUgclt0XSksICJzY2FsZSIgPT09IHQgJiYgKHJbYSA9IGpRdWVyeS5DU1Muc2Z4ICsgInRyYW5zZm9ybSJdID0gclthXSB8fCAiIiwgclthXSArPSAiIHNjYWxlKCIgKyBzZXRVbml0KGVbdF0sICIiKSArICIpIiwgZGVsZXRlIHJbdF0pLCAic2NhbGVYIiA9PT0gdCAmJiAoclthID0galF1ZXJ5LkNTUy5zZnggKyAidHJhbnNmb3JtIl0gPSByW2FdIHx8ICIiLCByW2FdICs9ICIgc2NhbGVYKCIgKyBzZXRVbml0KGVbdF0sICIiKSArICIpIiwgZGVsZXRlIHJbdF0pLCAic2NhbGVZIiA9PT0gdCAmJiAoclthID0galF1ZXJ5LkNTUy5zZnggKyAidHJhbnNmb3JtIl0gPSByW2FdIHx8ICIiLCByW2FdICs9ICIgc2NhbGVZKCIgKyBzZXRVbml0KGVbdF0sICIiKSArICIpIiwgZGVsZXRlIHJbdF0pLCAic2NhbGVaIiA9PT0gdCAmJiAoclthID0galF1ZXJ5LkNTUy5zZnggKyAidHJhbnNmb3JtIl0gPSByW2FdIHx8ICIiLCByW2FdICs9ICIgc2NhbGVaKCIgKyBzZXRVbml0KGVbdF0sICIiKSArICIpIiwgZGVsZXRlIHJbdF0pLCAic2tldyIgPT09IHQgJiYgKHJbYSA9IGpRdWVyeS5DU1Muc2Z4ICsgInRyYW5zZm9ybSJdID0gclthXSB8fCAiIiwgclthXSArPSAiIHNrZXcoIiArIHNldFVuaXQoZVt0XSwgImRlZyIpICsgIikiLCBkZWxldGUgclt0XSksICJza2V3WCIgPT09IHQgJiYgKHJbYSA9IGpRdWVyeS5DU1Muc2Z4ICsgInRyYW5zZm9ybSJdID0gclthXSB8fCAiIiwgclthXSArPSAiIHNrZXdYKCIgKyBzZXRVbml0KGVbdF0sICJkZWciKSArICIpIiwgZGVsZXRlIHJbdF0pLCAic2tld1kiID09PSB0ICYmIChyW2EgPSBqUXVlcnkuQ1NTLnNmeCArICJ0cmFuc2Zvcm0iXSA9IHJbYV0gfHwgIiIsIHJbYV0gKz0gIiBza2V3WSgiICsgc2V0VW5pdChlW3RdLCAiZGVnIikgKyAiKSIsIGRlbGV0ZSByW3RdKSwgInBlcnNwZWN0aXZlIiA9PT0gdCAmJiAoclthID0galF1ZXJ5LkNTUy5zZnggKyAidHJhbnNmb3JtIl0gPSByW2FdIHx8ICIiLCByW2FdICs9ICIgcGVyc3BlY3RpdmUoIiArIHNldFVuaXQoZVt0XSwgInB4IikgKyAiKSIsIGRlbGV0ZSByW3RdKQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByDQogICAgfSwNCiAgICBnZXRQcm9wOiBmdW5jdGlvbihlKSB7DQogICAgICAgIHZhciByLCB0ID0gW107DQogICAgICAgIGZvciAociBpbiBlKSAwID4gdC5pbmRleE9mKHIpICYmIHQucHVzaCh1bmNhbWVsKHIpKTsNCiAgICAgICAgcmV0dXJuIHQuam9pbigiLCIpDQogICAgfSwNCiAgICBhbmltYXRlOiBmdW5jdGlvbihlLCByLCB0LCBhLCBvKSB7DQogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBuKCkgew0KICAgICAgICAgICAgICAgIGkuY2FsbGVkID0gITAsIGkuQ1NTQUlzUnVubmluZyA9ICExLCBsLm9mZihqUXVlcnkuQ1NTLnRyYW5zaXRpb25FbmQgKyAiLiIgKyBpLmlkKSwgY2xlYXJUaW1lb3V0KGkudGltZW91dCksIGwuY3NzKGpRdWVyeS5DU1Muc2Z4ICsgInRyYW5zaXRpb24iLCAiIiksICJmdW5jdGlvbiIgPT0gdHlwZW9mIG8gJiYgby5hcHBseShpKSwgImZ1bmN0aW9uIiA9PSB0eXBlb2YgaS5DU1NxdWV1ZSAmJiAoaS5DU1NxdWV1ZSgpLCBpLkNTU3F1ZXVlID0gbnVsbCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBpID0gdGhpcywNCiAgICAgICAgICAgICAgICBsID0galF1ZXJ5KHRoaXMpOw0KICAgICAgICAgICAgaS5pZCA9IGkuaWQgfHwgIkNTU0FfIiArIChuZXcgRGF0ZSkuZ2V0VGltZSgpOw0KICAgICAgICAgICAgdmFyIHMgPSBzIHx8IHsNCiAgICAgICAgICAgICAgICB0eXBlOiAibm9FdmVudCINCiAgICAgICAgICAgIH07DQogICAgICAgICAgICBpZiAoaS5DU1NBSXNSdW5uaW5nICYmIGkuZXZlbnRUeXBlID09IHMudHlwZSAmJiAhalF1ZXJ5LmJyb3dzZXIubXNpZSAmJiA5ID49IGpRdWVyeS5icm93c2VyLnZlcnNpb24pIGkuQ1NTcXVldWUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBsLkNTU0FuaW1hdGUoZSwgciwgdCwgYSwgbykNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICBlbHNlIGlmIChpLkNTU3F1ZXVlID0gbnVsbCwgaS5ldmVudFR5cGUgPSBzLnR5cGUsIDAgIT09IGwubGVuZ3RoICYmIGUpIHsNCiAgICAgICAgICAgICAgICBpZiAoZSA9IGpRdWVyeS5ub3JtYWxpemVDc3MoZSksIGkuQ1NTQUlzUnVubmluZyA9ICEwLCAiZnVuY3Rpb24iID09IHR5cGVvZiByICYmIChvID0gciwgciA9IGpRdWVyeS5meC5zcGVlZHMuX2RlZmF1bHQpLCAiZnVuY3Rpb24iID09IHR5cGVvZiB0ICYmIChhID0gdCwgdCA9IDApLCAic3RyaW5nIiA9PSB0eXBlb2YgdCAmJiAobyA9IHQsIHQgPSAwKSwgImZ1bmN0aW9uIiA9PSB0eXBlb2YgYSAmJiAobyA9IGEsIGEgPSAiY3ViaWMtYmV6aWVyKDAuNjUsMC4wMywwLjM2LDAuNzIpIiksICJzdHJpbmciID09IHR5cGVvZiByKQ0KICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciB1IGluIGpRdWVyeS5meC5zcGVlZHMpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyID09IHUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0galF1ZXJ5LmZ4LnNwZWVkc1t1XTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgciA9IGpRdWVyeS5meC5zcGVlZHMuX2RlZmF1bHQNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChyIHx8IChyID0galF1ZXJ5LmZ4LnNwZWVkcy5fZGVmYXVsdCksICJzdHJpbmciID09IHR5cGVvZiBvICYmIChhID0gbywgbyA9IG51bGwpLCBqUXVlcnkuc3VwcG9ydC5DU1N0cmFuc2l0aW9uKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB5ID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogImVhc2UiLA0KICAgICAgICAgICAgICAgICAgICAgICAgaW46ICJlYXNlLWluIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG91dDogImVhc2Utb3V0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJpbi1vdXQiOiAiZWFzZS1pbi1vdXQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgc25hcDogImN1YmljLWJlemllcigwLDEsLjUsMSkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzZU91dEN1YmljOiAiY3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzZUluT3V0Q3ViaWM6ICJjdWJpYy1iZXppZXIoLjY0NSwuMDQ1LC4zNTUsMSkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzZUluQ2lyYzogImN1YmljLWJlemllciguNiwuMDQsLjk4LC4zMzUpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2VPdXRDaXJjOiAiY3ViaWMtYmV6aWVyKC4wNzUsLjgyLC4xNjUsMSkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzZUluT3V0Q2lyYzogImN1YmljLWJlemllciguNzg1LC4xMzUsLjE1LC44NikiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzZUluRXhwbzogImN1YmljLWJlemllciguOTUsLjA1LC43OTUsLjAzNSkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzZU91dEV4cG86ICJjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2VJbk91dEV4cG86ICJjdWJpYy1iZXppZXIoMSwwLDAsMSkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzZUluUXVhZDogImN1YmljLWJlemllciguNTUsLjA4NSwuNjgsLjUzKSIsDQogICAgICAgICAgICAgICAgICAgICAgICBlYXNlT3V0UXVhZDogImN1YmljLWJlemllciguMjUsLjQ2LC40NSwuOTQpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2VJbk91dFF1YWQ6ICJjdWJpYy1iZXppZXIoLjQ1NSwuMDMsLjUxNSwuOTU1KSIsDQogICAgICAgICAgICAgICAgICAgICAgICBlYXNlSW5RdWFydDogImN1YmljLWJlemllciguODk1LC4wMywuNjg1LC4yMikiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzZU91dFF1YXJ0OiAiY3ViaWMtYmV6aWVyKC4xNjUsLjg0LC40NCwxKSIsDQogICAgICAgICAgICAgICAgICAgICAgICBlYXNlSW5PdXRRdWFydDogImN1YmljLWJlemllciguNzcsMCwuMTc1LDEpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2VJblF1aW50OiAiY3ViaWMtYmV6aWVyKC43NTUsLjA1LC44NTUsLjA2KSIsDQogICAgICAgICAgICAgICAgICAgICAgICBlYXNlT3V0UXVpbnQ6ICJjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2VJbk91dFF1aW50OiAiY3ViaWMtYmV6aWVyKC44NiwwLC4wNywxKSIsDQogICAgICAgICAgICAgICAgICAgICAgICBlYXNlSW5TaW5lOiAiY3ViaWMtYmV6aWVyKC40NywwLC43NDUsLjcxNSkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzZU91dFNpbmU6ICJjdWJpYy1iZXppZXIoLjM5LC41NzUsLjU2NSwxKSIsDQogICAgICAgICAgICAgICAgICAgICAgICBlYXNlSW5PdXRTaW5lOiAiY3ViaWMtYmV6aWVyKC40NDUsLjA1LC41NSwuOTUpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2VJbkJhY2s6ICJjdWJpYy1iZXppZXIoLjYsLS4yOCwuNzM1LC4wNDUpIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGVhc2VPdXRCYWNrOiAiY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsLjMyLDEuMjc1KSIsDQogICAgICAgICAgICAgICAgICAgICAgICBlYXNlSW5PdXRCYWNrOiAiY3ViaWMtYmV6aWVyKC42OCwtLjU1LC4yNjUsMS41NSkiDQogICAgICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgICAgIHlbYV0gJiYgKGEgPSB5W2FdKSwgbC5vZmYoalF1ZXJ5LkNTUy50cmFuc2l0aW9uRW5kICsgIi4iICsgaS5pZCksIHkgPSBqUXVlcnkuQ1NTLmdldFByb3AoZSk7DQogICAgICAgICAgICAgICAgICAgIHZhciBkID0ge307DQogICAgICAgICAgICAgICAgICAgIGpRdWVyeS5leHRlbmQoZCwgZSksIGRbalF1ZXJ5LkNTUy5zZnggKyAidHJhbnNpdGlvbi1wcm9wZXJ0eSJdID0geSwgZFtqUXVlcnkuQ1NTLnNmeCArICJ0cmFuc2l0aW9uLWR1cmF0aW9uIl0gPSByICsgIm1zIiwgZFtqUXVlcnkuQ1NTLnNmeCArICJ0cmFuc2l0aW9uLWRlbGF5Il0gPSB0ICsgIm1zIiwgZFtqUXVlcnkuQ1NTLnNmeCArICJ0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiJdID0gYSwgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGwub25lKGpRdWVyeS5DU1MudHJhbnNpdGlvbkVuZCArICIuIiArIGkuaWQsIG4pLCBsLmNzcyhkKQ0KICAgICAgICAgICAgICAgICAgICB9LCAxKSwgaS50aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGkuY2FsbGVkIHx8ICFvID8gKGkuY2FsbGVkID0gITEsIGkuQ1NTQUlzUnVubmluZyA9ICExKSA6IChsLmNzcyhqUXVlcnkuQ1NTLnNmeCArICJ0cmFuc2l0aW9uIiwgIiIpLCBvLmFwcGx5KGkpLCBpLkNTU0FJc1J1bm5pbmcgPSAhMSwgImZ1bmN0aW9uIiA9PSB0eXBlb2YgaS5DU1NxdWV1ZSAmJiAoaS5DU1NxdWV1ZSgpLCBpLkNTU3F1ZXVlID0gbnVsbCkpDQogICAgICAgICAgICAgICAgICAgIH0sIHIgKyB0ICsgMTApDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgZm9yICh5IGluIGUpICJ0cmFuc2Zvcm0iID09PSB5ICYmIGRlbGV0ZSBlW3ldLCAiZmlsdGVyIiA9PT0geSAmJiBkZWxldGUgZVt5XSwgInRyYW5zZm9ybS1vcmlnaW4iID09PSB5ICYmIGRlbGV0ZSBlW3ldLCAiYXV0byIgPT09IGVbeV0gJiYgZGVsZXRlIGVbeV0sICJ4IiA9PT0geSAmJiAocyA9IGVbeV0sIGVbdSA9ICJsZWZ0Il0gPSBzLCBkZWxldGUgZVt5XSksICJ5IiA9PT0geSAmJiAocyA9IGVbeV0sIGVbdSA9ICJ0b3AiXSA9IHMsIGRlbGV0ZSBlW3ldKSwgIi1tcy10cmFuc2Zvcm0iICE9PSB5ICYmICItbXMtZmlsdGVyIiAhPT0geSB8fCBkZWxldGUgZVt5XTsNCiAgICAgICAgICAgICAgICAgICAgbC5kZWxheSh0KS5hbmltYXRlKGUsIHIsIG8pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KQ0KICAgIH0NCn0sIGpRdWVyeS5mbi5DU1NBbmltYXRlID0galF1ZXJ5LkNTUy5hbmltYXRlLCBqUXVlcnkubm9ybWFsaXplQ3NzID0galF1ZXJ5LkNTUy5ub3JtYWxpemVDc3MsIGpRdWVyeS5mbi5jc3MzID0gZnVuY3Rpb24oZSkgew0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciByID0galF1ZXJ5KHRoaXMpLA0KICAgICAgICAgICAgdCA9IGpRdWVyeS5ub3JtYWxpemVDc3MoZSk7DQogICAgICAgIHIuY3NzKHQpDQogICAgfSkNCn07DQp2YXIgbkFndCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7DQoNCmZ1bmN0aW9uIGlzVG91Y2hTdXBwb3J0ZWQoKSB7DQogICAgdmFyIGUgPSBuQWd0Lm1zTWF4VG91Y2hQb2ludHMsDQogICAgICAgIHIgPSAib250b3VjaHN0YXJ0IiBpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCiAgICByZXR1cm4gISghZSAmJiAhcikNCn0NCmpRdWVyeS5icm93c2VyID0galF1ZXJ5LmJyb3dzZXIgfHwge30sIGpRdWVyeS5icm93c2VyLm1vemlsbGEgPSAhMSwgalF1ZXJ5LmJyb3dzZXIud2Via2l0ID0gITEsIGpRdWVyeS5icm93c2VyLm9wZXJhID0gITEsIGpRdWVyeS5icm93c2VyLnNhZmFyaSA9ICExLCBqUXVlcnkuYnJvd3Nlci5jaHJvbWUgPSAhMSwgalF1ZXJ5LmJyb3dzZXIuYW5kcm9pZFN0b2NrID0gITEsIGpRdWVyeS5icm93c2VyLm1zaWUgPSAhMSwgalF1ZXJ5LmJyb3dzZXIuZWRnZSA9ICExLCBqUXVlcnkuYnJvd3Nlci51YSA9IG5BZ3Q7DQp2YXIgZ2V0T1MgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGUgPSB7DQogICAgICAgICAgICB2ZXJzaW9uOiAiVW5rbm93biB2ZXJzaW9uIiwNCiAgICAgICAgICAgIG5hbWU6ICJVbmtub3duIE9TIg0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gLTEgIT0gbmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZigiV2luIikgJiYgKGUubmFtZSA9ICJXaW5kb3dzIiksIC0xICE9IG5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoIk1hYyIpICYmIDAgPiBuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNb2JpbGUiKSAmJiAoZS5uYW1lID0gIk1hYyIpLCAtMSAhPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJMaW51eCIpICYmIChlLm5hbWUgPSAiTGludXgiKSwgL01hYyBPUyBYLy50ZXN0KG5BZ3QpICYmICEvTW9iaWxlLy50ZXN0KG5BZ3QpICYmIChlLnZlcnNpb24gPSAvTWFjIE9TIFggKDEwW1wuXF9cZF0rKS8uZXhlYyhuQWd0KVsxXSwgZS52ZXJzaW9uID0gZS52ZXJzaW9uLnJlcGxhY2UoL18vZywgIi4iKS5zdWJzdHJpbmcoMCwgNSkpLCAvV2luZG93cy8udGVzdChuQWd0KSAmJiAoZS52ZXJzaW9uID0gIlVua25vd24uVW5rbm93biIpLCAvV2luZG93cyBOVCA1LjEvLnRlc3QobkFndCkgJiYgKGUudmVyc2lvbiA9ICI1LjEiKSwgL1dpbmRvd3MgTlQgNi4wLy50ZXN0KG5BZ3QpICYmIChlLnZlcnNpb24gPSAiNi4wIiksIC9XaW5kb3dzIE5UIDYuMS8udGVzdChuQWd0KSAmJiAoZS52ZXJzaW9uID0gIjYuMSIpLCAvV2luZG93cyBOVCA2LjIvLnRlc3QobkFndCkgJiYgKGUudmVyc2lvbiA9ICI2LjIiKSwgL1dpbmRvd3MgTlQgMTAuMC8udGVzdChuQWd0KSAmJiAoZS52ZXJzaW9uID0gIjEwLjAiKSwgL0xpbnV4Ly50ZXN0KG5BZ3QpICYmIC9MaW51eC8udGVzdChuQWd0KSAmJiAoZS52ZXJzaW9uID0gIlVua25vd24uVW5rbm93biIpLCBlLm5hbWUgPSBlLm5hbWUudG9Mb3dlckNhc2UoKSwgZS5tYWpvcl92ZXJzaW9uID0gIlVua25vd24iLCBlLm1pbm9yX3ZlcnNpb24gPSAiVW5rbm93biIsICJVbmtub3duLlVua25vd24iICE9IGUudmVyc2lvbiAmJiAoZS5tYWpvcl92ZXJzaW9uID0gcGFyc2VGbG9hdChlLnZlcnNpb24uc3BsaXQoIi4iKVswXSksIGUubWlub3JfdmVyc2lvbiA9IHBhcnNlRmxvYXQoZS52ZXJzaW9uLnNwbGl0KCIuIilbMV0pKSwgZQ0KICAgIH0sDQogICAgbmFtZU9mZnNldCwgdmVyT2Zmc2V0LCBpeDsNCmlmIChqUXVlcnkuYnJvd3Nlci5vcyA9IGdldE9TKCksIGpRdWVyeS5icm93c2VyLmhhc1RvdWNoID0gaXNUb3VjaFN1cHBvcnRlZCgpLCBqUXVlcnkuYnJvd3Nlci5uYW1lID0gbmF2aWdhdG9yLmFwcE5hbWUsIGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uID0gIiIgKyBwYXJzZUZsb2F0KG5hdmlnYXRvci5hcHBWZXJzaW9uKSwgalF1ZXJ5LmJyb3dzZXIubWFqb3JWZXJzaW9uID0gcGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24sIDEwKSwgLTEgIT0gKHZlck9mZnNldCA9IG5BZ3QuaW5kZXhPZigiT3BlcmEiKSkpIGpRdWVyeS5icm93c2VyLm9wZXJhID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiT3BlcmEiLCBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCArIDYpLCAtMSAhPSAodmVyT2Zmc2V0ID0gbkFndC5pbmRleE9mKCJWZXJzaW9uIikpICYmIChqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCArIDgpKTsNCmVsc2UgaWYgKC0xICE9ICh2ZXJPZmZzZXQgPSBuQWd0LmluZGV4T2YoIk9QUiIpKSkgalF1ZXJ5LmJyb3dzZXIub3BlcmEgPSAhMCwgalF1ZXJ5LmJyb3dzZXIubmFtZSA9ICJPcGVyYSIsIGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uID0gbkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0ICsgNCk7DQplbHNlIGlmICgtMSAhPSAodmVyT2Zmc2V0ID0gbkFndC5pbmRleE9mKCJNU0lFIikpKSBqUXVlcnkuYnJvd3Nlci5tc2llID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIiwgalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBuQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQgKyA1KTsNCmVsc2UgaWYgKC0xICE9IG5BZ3QuaW5kZXhPZigiVHJpZGVudCIpKSB7DQogICAgalF1ZXJ5LmJyb3dzZXIubXNpZSA9ICEwLCBqUXVlcnkuYnJvd3Nlci5uYW1lID0gIk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciI7DQogICAgdmFyIHN0YXJ0ID0gbkFndC5pbmRleE9mKCJydjoiKSArIDMsDQogICAgICAgIGVuZCA9IHN0YXJ0ICsgNDsNCiAgICBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHN0YXJ0LCBlbmQpDQp9IGVsc2UgLTEgIT0gKHZlck9mZnNldCA9IG5BZ3QuaW5kZXhPZigiRWRnZSIpKSA/IChqUXVlcnkuYnJvd3Nlci5lZGdlID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiTWljcm9zb2Z0IEVkZ2UiLCBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCArIDUpKSA6IC0xICE9ICh2ZXJPZmZzZXQgPSBuQWd0LmluZGV4T2YoIkNocm9tZSIpKSA/IChqUXVlcnkuYnJvd3Nlci53ZWJraXQgPSAhMCwgalF1ZXJ5LmJyb3dzZXIuY2hyb21lID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiQ2hyb21lIiwgalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBuQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQgKyA3KSkgOiAtMSA8IG5BZ3QuaW5kZXhPZigibW96aWxsYS81LjAiKSAmJiAtMSA8IG5BZ3QuaW5kZXhPZigiYW5kcm9pZCAiKSAmJiAtMSA8IG5BZ3QuaW5kZXhPZigiYXBwbGV3ZWJraXQiKSAmJiAhKC0xIDwgbkFndC5pbmRleE9mKCJjaHJvbWUiKSkgPyAodmVyT2Zmc2V0ID0gbkFndC5pbmRleE9mKCJDaHJvbWUiKSwgalF1ZXJ5LmJyb3dzZXIud2Via2l0ID0gITAsIGpRdWVyeS5icm93c2VyLmFuZHJvaWRTdG9jayA9ICEwLCBqUXVlcnkuYnJvd3Nlci5uYW1lID0gImFuZHJvaWRTdG9jayIsIGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uID0gbkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0ICsgNykpIDogLTEgIT0gKHZlck9mZnNldCA9IG5BZ3QuaW5kZXhPZigiU2FmYXJpIikpID8gKGpRdWVyeS5icm93c2VyLndlYmtpdCA9ICEwLCBqUXVlcnkuYnJvd3Nlci5zYWZhcmkgPSAhMCwgalF1ZXJ5LmJyb3dzZXIubmFtZSA9ICJTYWZhcmkiLCBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCArIDcpLCAtMSAhPSAodmVyT2Zmc2V0ID0gbkFndC5pbmRleE9mKCJWZXJzaW9uIikpICYmIChqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IG5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCArIDgpKSkgOiAtMSAhPSAodmVyT2Zmc2V0ID0gbkFndC5pbmRleE9mKCJBcHBsZVdlYmtpdCIpKSA/IChqUXVlcnkuYnJvd3Nlci53ZWJraXQgPSAhMCwgalF1ZXJ5LmJyb3dzZXIuc2FmYXJpID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiU2FmYXJpIiwgalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBuQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQgKyA3KSwgLTEgIT0gKHZlck9mZnNldCA9IG5BZ3QuaW5kZXhPZigiVmVyc2lvbiIpKSAmJiAoalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBuQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQgKyA4KSkpIDogLTEgIT0gKHZlck9mZnNldCA9IG5BZ3QuaW5kZXhPZigiRmlyZWZveCIpKSA/IChqUXVlcnkuYnJvd3Nlci5tb3ppbGxhID0gITAsIGpRdWVyeS5icm93c2VyLm5hbWUgPSAiRmlyZWZveCIsIGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uID0gbkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0ICsgOCkpIDogKG5hbWVPZmZzZXQgPSBuQWd0Lmxhc3RJbmRleE9mKCIgIikgKyAxKSA8ICh2ZXJPZmZzZXQgPSBuQWd0Lmxhc3RJbmRleE9mKCIvIikpICYmIChqUXVlcnkuYnJvd3Nlci5uYW1lID0gbkFndC5zdWJzdHJpbmcobmFtZU9mZnNldCwgdmVyT2Zmc2V0KSwgalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24gPSBuQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQgKyAxKSwgalF1ZXJ5LmJyb3dzZXIubmFtZS50b0xvd2VyQ2FzZSgpID09IGpRdWVyeS5icm93c2VyLm5hbWUudG9VcHBlckNhc2UoKSAmJiAoalF1ZXJ5LmJyb3dzZXIubmFtZSA9IG5hdmlnYXRvci5hcHBOYW1lKSk7IC0gMSAhPSAoaXggPSBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbi5pbmRleE9mKCI7IikpICYmIChqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uLnN1YnN0cmluZygwLCBpeCkpLCAtMSAhPSAoaXggPSBqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbi5pbmRleE9mKCIgIikpICYmIChqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbiA9IGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uLnN1YnN0cmluZygwLCBpeCkpLCBqUXVlcnkuYnJvd3Nlci5tYWpvclZlcnNpb24gPSBwYXJzZUludCgiIiArIGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uLCAxMCksIGlzTmFOKGpRdWVyeS5icm93c2VyLm1ham9yVmVyc2lvbikgJiYgKGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uID0gIiIgKyBwYXJzZUZsb2F0KG5hdmlnYXRvci5hcHBWZXJzaW9uKSwgalF1ZXJ5LmJyb3dzZXIubWFqb3JWZXJzaW9uID0gcGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24sIDEwKSksIGpRdWVyeS5icm93c2VyLnZlcnNpb24gPSBqUXVlcnkuYnJvd3Nlci5tYWpvclZlcnNpb24sIGpRdWVyeS5icm93c2VyLmFuZHJvaWQgPSAvQW5kcm9pZC9pLnRlc3QobkFndCksIGpRdWVyeS5icm93c2VyLmJsYWNrYmVycnkgPSAvQmxhY2tCZXJyeXxCQnxQbGF5Qm9vay9pLnRlc3QobkFndCksIGpRdWVyeS5icm93c2VyLmlvcyA9IC9pUGhvbmV8aVBhZHxpUG9kfHdlYk9TL2kudGVzdChuQWd0KSwgalF1ZXJ5LmJyb3dzZXIub3BlcmFNb2JpbGUgPSAvT3BlcmEgTWluaS9pLnRlc3QobkFndCksIGpRdWVyeS5icm93c2VyLndpbmRvd3NNb2JpbGUgPSAvSUVNb2JpbGV8V2luZG93cyBQaG9uZS9pLnRlc3QobkFndCksIGpRdWVyeS5icm93c2VyLmtpbmRsZSA9IC9LaW5kbGV8U2lsay9pLnRlc3QobkFndCksIGpRdWVyeS5icm93c2VyLm1vYmlsZSA9IGpRdWVyeS5icm93c2VyLmFuZHJvaWQgfHwgalF1ZXJ5LmJyb3dzZXIuYmxhY2tiZXJyeSB8fCBqUXVlcnkuYnJvd3Nlci5pb3MgfHwgalF1ZXJ5LmJyb3dzZXIud2luZG93c01vYmlsZSB8fCBqUXVlcnkuYnJvd3Nlci5vcGVyYU1vYmlsZSB8fCBqUXVlcnkuYnJvd3Nlci5raW5kbGUsIGpRdWVyeS5pc01vYmlsZSA9IGpRdWVyeS5icm93c2VyLm1vYmlsZSwgalF1ZXJ5LmlzVGFibGV0ID0galF1ZXJ5LmJyb3dzZXIubW9iaWxlICYmIDc2NSA8IGpRdWVyeSh3aW5kb3cpLndpZHRoKCksIGpRdWVyeS5pc0FuZHJvaWREZWZhdWx0ID0galF1ZXJ5LmJyb3dzZXIuYW5kcm9pZCAmJiAhL2Nocm9tZS9pLnRlc3QobkFndCksIGpRdWVyeS5tYkJyb3dzZXIgPSBqUXVlcnkuYnJvd3NlciwgalF1ZXJ5LmJyb3dzZXIudmVyc2lvbkNvbXBhcmUgPSBmdW5jdGlvbihlLCByKSB7DQogICAgICAgIGlmICgic3RyaW5nc3RyaW5nIiAhPSB0eXBlb2YgZSArIHR5cGVvZiByKSByZXR1cm4gITE7DQogICAgICAgIGZvciAodmFyIHQgPSBlLnNwbGl0KCIuIiksIGEgPSByLnNwbGl0KCIuIiksIG8gPSAwLCBuID0gTWF0aC5tYXgodC5sZW5ndGgsIGEubGVuZ3RoKTsgbyA8IG47IG8rKykgew0KICAgICAgICAgICAgaWYgKHRbb10gJiYgIWFbb10gJiYgMCA8IHBhcnNlSW50KHRbb10pIHx8IHBhcnNlSW50KHRbb10pID4gcGFyc2VJbnQoYVtvXSkpIHJldHVybiAxOw0KICAgICAgICAgICAgaWYgKGFbb10gJiYgIXRbb10gJiYgMCA8IHBhcnNlSW50KGFbb10pIHx8IHBhcnNlSW50KHRbb10pIDwgcGFyc2VJbnQoYVtvXSkpIHJldHVybiAtMQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAwDQogICAgfSwNCiAgICBmdW5jdGlvbihlKSB7DQogICAgICAgIGUuc2ltcGxlU2xpZGVyID0gew0KICAgICAgICAgICAgZGVmYXVsdHM6IHsNCiAgICAgICAgICAgICAgICBpbml0aWFsdmFsOiAwLA0KICAgICAgICAgICAgICAgIHNjYWxlOiAxMDAsDQogICAgICAgICAgICAgICAgb3JpZW50YXRpb246ICJoIiwNCiAgICAgICAgICAgICAgICByZWFkb25seTogITEsDQogICAgICAgICAgICAgICAgY2FsbGJhY2s6ICExDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZXZlbnRzOiB7DQogICAgICAgICAgICAgICAgc3RhcnQ6IGUuYnJvd3Nlci5tb2JpbGUgPyAidG91Y2hzdGFydCIgOiAibW91c2Vkb3duIiwNCiAgICAgICAgICAgICAgICBlbmQ6IGUuYnJvd3Nlci5tb2JpbGUgPyAidG91Y2hlbmQiIDogIm1vdXNldXAiLA0KICAgICAgICAgICAgICAgIG1vdmU6IGUuYnJvd3Nlci5tb2JpbGUgPyAidG91Y2htb3ZlIiA6ICJtb3VzZW1vdmUiDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24ocikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciB0ID0gdGhpcywNCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBlKHQpOw0KICAgICAgICAgICAgICAgICAgICBhLmFkZENsYXNzKCJzaW1wbGVTbGlkZXIiKSwgdC5vcHQgPSB7fSwgZS5leHRlbmQodC5vcHQsIGUuc2ltcGxlU2xpZGVyLmRlZmF1bHRzLCByKSwgZS5leHRlbmQodC5vcHQsIGEuZGF0YSgpKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSAiaCIgPT0gdC5vcHQub3JpZW50YXRpb24gPyAiaG9yaXpvbnRhbCIgOiAidmVydGljYWwiOw0KICAgICAgICAgICAgICAgICAgICBvID0gZSgiPGRpdi8+IikuYWRkQ2xhc3MoImxldmVsIikuYWRkQ2xhc3MobyksIGEucHJlcGVuZChvKSwgdC5sZXZlbCA9IG8sIGEuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogImRlZmF1bHQiDQogICAgICAgICAgICAgICAgICAgIH0pLCAiYXV0byIgPT0gdC5vcHQuc2NhbGUgJiYgKHQub3B0LnNjYWxlID0gZSh0KS5vdXRlcldpZHRoKCkpLCBhLnVwZGF0ZVNsaWRlclZhbCgpLCB0Lm9wdC5yZWFkb25seSB8fCAoYS5vbihlLnNpbXBsZVNsaWRlci5ldmVudHMuc3RhcnQsIGZ1bmN0aW9uKHIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGUuYnJvd3Nlci5tb2JpbGUgJiYgKHIgPSByLmNoYW5nZWRUb3VjaGVzWzBdKSwgdC5jYW5TbGlkZSA9ICEwLCBhLnVwZGF0ZVNsaWRlclZhbChyKSwgImgiID09IHQub3B0Lm9yaWVudGF0aW9uID8gYS5jc3Moew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogImNvbC1yZXNpemUiDQogICAgICAgICAgICAgICAgICAgICAgICB9KSA6IGEuY3NzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6ICJyb3ctcmVzaXplIg0KICAgICAgICAgICAgICAgICAgICAgICAgfSksIGUuYnJvd3Nlci5tb2JpbGUgfHwgKHIucHJldmVudERlZmF1bHQoKSwgci5zdG9wUHJvcGFnYXRpb24oKSkNCiAgICAgICAgICAgICAgICAgICAgfSksIGUoZG9jdW1lbnQpLm9uKGUuc2ltcGxlU2xpZGVyLmV2ZW50cy5tb3ZlLCBmdW5jdGlvbihyKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBlLmJyb3dzZXIubW9iaWxlICYmIChyID0gci5jaGFuZ2VkVG91Y2hlc1swXSksIHQuY2FuU2xpZGUgJiYgKGUoZG9jdW1lbnQpLmNzcyh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiAiZGVmYXVsdCINCiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBhLnVwZGF0ZVNsaWRlclZhbChyKSwgZS5icm93c2VyLm1vYmlsZSB8fCAoci5wcmV2ZW50RGVmYXVsdCgpLCByLnN0b3BQcm9wYWdhdGlvbigpKSkNCiAgICAgICAgICAgICAgICAgICAgfSkub24oZS5zaW1wbGVTbGlkZXIuZXZlbnRzLmVuZCwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBlKGRvY3VtZW50KS5jc3Moew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogImF1dG8iDQogICAgICAgICAgICAgICAgICAgICAgICB9KSwgdC5jYW5TbGlkZSA9ICExLCBhLmNzcyh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiAiYXV0byINCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIH0pKQ0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdXBkYXRlU2xpZGVyVmFsOiBmdW5jdGlvbihyKSB7DQogICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLmdldCgwKTsNCiAgICAgICAgICAgICAgICBpZiAodC5vcHQpIHsNCiAgICAgICAgICAgICAgICAgICAgdC5vcHQuaW5pdGlhbHZhbCA9ICJudW1iZXIiID09IHR5cGVvZiB0Lm9wdC5pbml0aWFsdmFsID8gdC5vcHQuaW5pdGlhbHZhbCA6IHQub3B0LmluaXRpYWx2YWwodCk7DQogICAgICAgICAgICAgICAgICAgIHZhciBhID0gZSh0KS5vdXRlcldpZHRoKCksDQogICAgICAgICAgICAgICAgICAgICAgICBvID0gZSh0KS5vdXRlckhlaWdodCgpOw0KICAgICAgICAgICAgICAgICAgICB0LnggPSAib2JqZWN0IiA9PSB0eXBlb2YgciA/IHIuY2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCAtIHRoaXMub2Zmc2V0KCkubGVmdCA6ICJudW1iZXIiID09IHR5cGVvZiByID8gciAqIGEgLyB0Lm9wdC5zY2FsZSA6IHQub3B0LmluaXRpYWx2YWwgKiBhIC8gdC5vcHQuc2NhbGUsIHQueSA9ICJvYmplY3QiID09IHR5cGVvZiByID8gci5jbGllbnRZICsgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgLSB0aGlzLm9mZnNldCgpLnRvcCA6ICJudW1iZXIiID09IHR5cGVvZiByID8gKHQub3B0LnNjYWxlIC0gdC5vcHQuaW5pdGlhbHZhbCAtIHIpICogbyAvIHQub3B0LnNjYWxlIDogdC5vcHQuaW5pdGlhbHZhbCAqIG8gLyB0Lm9wdC5zY2FsZSwgdC55ID0gdGhpcy5vdXRlckhlaWdodCgpIC0gdC55LCB0LnNjYWxlWCA9IHQueCAqIHQub3B0LnNjYWxlIC8gYSwgdC5zY2FsZVkgPSB0LnkgKiB0Lm9wdC5zY2FsZSAvIG8sIHQub3V0T2ZSYW5nZVggPSB0LnNjYWxlWCA+IHQub3B0LnNjYWxlID8gdC5zY2FsZVggLSB0Lm9wdC5zY2FsZSA6IDAgPiB0LnNjYWxlWCA/IHQuc2NhbGVYIDogMCwgdC5vdXRPZlJhbmdlWSA9IHQuc2NhbGVZID4gdC5vcHQuc2NhbGUgPyB0LnNjYWxlWSAtIHQub3B0LnNjYWxlIDogMCA+IHQuc2NhbGVZID8gdC5zY2FsZVkgOiAwLCB0Lm91dE9mUmFuZ2UgPSAiaCIgPT0gdC5vcHQub3JpZW50YXRpb24gPyB0Lm91dE9mUmFuZ2VYIDogdC5vdXRPZlJhbmdlWSwgdC52YWx1ZSA9IHZvaWQgMCAhPT0gciA/ICJoIiA9PSB0Lm9wdC5vcmllbnRhdGlvbiA/IHQueCA+PSB0aGlzLm91dGVyV2lkdGgoKSA/IHQub3B0LnNjYWxlIDogMCA+PSB0LnggPyAwIDogdC5zY2FsZVggOiB0LnkgPj0gdGhpcy5vdXRlckhlaWdodCgpID8gdC5vcHQuc2NhbGUgOiAwID49IHQueSA/IDAgOiB0LnNjYWxlWSA6ICJoIiA9PSB0Lm9wdC5vcmllbnRhdGlvbiA/IHQuc2NhbGVYIDogdC5zY2FsZVksICJoIiA9PSB0Lm9wdC5vcmllbnRhdGlvbiA/IHQubGV2ZWwud2lkdGgoTWF0aC5mbG9vcigxMDAgKiB0LnggLyBhKSArICIlIikgOiB0LmxldmVsLmhlaWdodChNYXRoLmZsb29yKDEwMCAqIHQueSAvIG8pKSwgImZ1bmN0aW9uIiA9PSB0eXBlb2YgdC5vcHQuY2FsbGJhY2sgJiYgdC5vcHQuY2FsbGJhY2sodCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0sIGUuZm4uc2ltcGxlU2xpZGVyID0gZS5zaW1wbGVTbGlkZXIuaW5pdCwgZS5mbi51cGRhdGVTbGlkZXJWYWwgPSBlLnNpbXBsZVNsaWRlci51cGRhdGVTbGlkZXJWYWwNCiAgICB9KGpRdWVyeSksDQogICAgZnVuY3Rpb24oZSkgew0KICAgICAgICBlLm1iQ29va2llID0gew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbihlLCByLCB0LCBhKSB7DQogICAgICAgICAgICAgICAgIm9iamVjdCIgPT0gdHlwZW9mIHIgJiYgKHIgPSBKU09OLnN0cmluZ2lmeShyKSksIGEgPSBhID8gIjsgZG9tYWluPSIgKyBhIDogIiI7DQogICAgICAgICAgICAgICAgdmFyIG8gPSBuZXcgRGF0ZSwNCiAgICAgICAgICAgICAgICAgICAgbiA9ICIiOw0KICAgICAgICAgICAgICAgIDAgPCB0ICYmIChvLnNldFRpbWUoby5nZXRUaW1lKCkgKyA4NjRlNSAqIHQpLCBuID0gIjsgZXhwaXJlcz0iICsgby50b0dNVFN0cmluZygpKSwgZG9jdW1lbnQuY29va2llID0gZSArICI9IiArIHIgKyBuICsgIjsgcGF0aD0vIiArIGENCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICBlICs9ICI9IjsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciByID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCI7IiksIHQgPSAwOyB0IDwgci5sZW5ndGg7IHQrKykgew0KICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBhID0gclt0XTsNCiAgICAgICAgICAgICAgICAgICAgICAgICIgIiA9PSBhLmNoYXJBdCgwKTspIGEgPSBhLnN1YnN0cmluZygxLCBhLmxlbmd0aCk7DQogICAgICAgICAgICAgICAgICAgIGlmICgwID09IGEuaW5kZXhPZihlKSkgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGEuc3Vic3RyaW5nKGUubGVuZ3RoLCBhLmxlbmd0aCkpDQogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKHIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnN1YnN0cmluZyhlLmxlbmd0aCwgYS5sZW5ndGgpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmV0dXJuIG51bGwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICByZW1vdmU6IGZ1bmN0aW9uKHIpIHsNCiAgICAgICAgICAgICAgICBlLm1iQ29va2llLnNldChyLCAiIiwgLTEpDQogICAgICAgICAgICB9DQogICAgICAgIH0sIGUubWJTdG9yYWdlID0gew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbihlLCByKSB7DQogICAgICAgICAgICAgICAgIm9iamVjdCIgPT0gdHlwZW9mIHIgJiYgKHIgPSBKU09OLnN0cmluZ2lmeShyKSksIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGUsIHIpDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgaWYgKCFsb2NhbFN0b3JhZ2VbZV0pIHJldHVybiBudWxsOw0KICAgICAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZVtlXSkNCiAgICAgICAgICAgICAgICB9IGNhdGNoIChyKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2VbZV0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgZSA/IGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGUpIDogbG9jYWxTdG9yYWdlLmNsZWFyKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0oalF1ZXJ5KTs="}},"time_used":583,"timings":{"blocked":488,"dns":0,"connect":0,"send":0,"wait":93,"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":"huobiget.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/11409.ff84ce4d523d3540c7b2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.315Z","timestamp":1785136900315,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/11409.ff84ce4d523d3540c7b2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: cdf06c3981fdf7f667333bfd0f7614a7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12448,"size_decoded":2540,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (12448), with no line terminators","md5":"9cbd709ec51e71339f9e69c3d1123c45","sha1":"18fc795afdbb481ad608bd860ac9b7bb46ee7e64","sha256":"16656563dbea106cf3921679f643ec67ec00cb3aa403ca62d51a28b02edc49cd","sha512":"26e5802457dc337b290fa5ffd9b5ab3134a9243bc599ee54d8bf8129ad1f8c76256660c9eb5ea4e260161ba1568a64085cfdb3496f618dab283564cf760fcb96","ssdeep":"192:kOE3SjlWLR0cFLonGDgTVoTRRCc0OE3R25jqBfm2GKctwCYzcbyVjEBRroRGR7lW:2Wc1z3lTlftwE+VjEkARZVsr","tlshash":"45428b8ce94142af6813903c1339eb38de46ff53dc524bab7769544a4bc3ae161ebb44","first_seen":"2026-06-17T17:32:05.658594Z","last_seen":"2026-07-28T06:17:53.392875Z","times_seen":933,"resource_available":false,"data":"LnN0YXR1c2VzV3JhcC1VUklqRUI5OHtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXXthbGlnbi1zZWxmOmNlbnRlcjtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo5cHg7ZGlzcGxheTppbmxpbmUtZmxleDttaW4td2lkdGg6NnB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7b3V0bGluZS1vZmZzZXQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06ZW1wdHksW2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXV9oaWRkZW57ZGlzcGxheTpub25lfVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0uc21hbGwtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo5cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5tZWRpdW0tVVJJakVCOTh7Ym9yZGVyLXJhZGl1czoxMXB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0ubGFyZ2UtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo4cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5ibGlua2luZy1VUklqRUI5OHt3aWxsLWNoYW5nZTpvcGFjaXR5fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4e2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zdGF0dXNJdGVtLVVSSWpFQjk4OmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6LTF9LnN0YXR1c0l0ZW0tVVJJakVCOTggc3Zne2luc2V0LWlubGluZS1zdGFydDo1MCU7cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ei1pbmRleDowfS5zdGF0dXNJdGVtLVVSSWpFQjk4IHN2ZzpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKDUwJSwtNTAlKX0uc3RhdHVzSXRlbS1VUklqRUI5OC5zbWFsbC1VUklqRUI5OHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4Lm1lZGl1bS1VUklqRUI5OHtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4LmxhcmdlLVVSSWpFQjk4e2hlaWdodDoyOHB4O3dpZHRoOjI4cHh9LnN0YXR1c0l0ZW0tVVJJakVCOTguYmxpbmtpbmctVVJJakVCOTg6YWZ0ZXJ7YW5pbWF0aW9uOmJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OCAyLjVzIGN1YmljLWJlemllciguMjUsMCwuNzUsMSkgaW5maW5pdGV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zdGF0dXNJdGVtLVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19LnN0YXR1c0l0ZW0tVVJJakVCOTg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bH0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKX0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQcmUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUHJlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQb3N0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUG9zdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c092ZXJuaWdodC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5tYXJrZXRTdGF0dXNIb2xpZGF5LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubWFya2V0U3RhdHVzSG9saWRheS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzRGVsaXN0ZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcil9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTh7Y29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQpKX0ubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbGlnaHQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsKSl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXN0b20tc3RhdHVzLWNvbG9yLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZCkpfS5pbnZhbGlkU3ltYm9sLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaW52YWxpZFN5bWJvbC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFjdGl2ZVN0cmF0ZWd5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1ib2xkKX0uYWxlcnQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcyl9LmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuYWxlcnQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQpfS5hbGVydEl0ZW1zQ29udGFpbmVyLVVSSWpFQjk4e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHh9LmFsZXJ0SXRlbS1VUklqRUI5OHtkaXNwbGF5OmZsZXh9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OCwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlciwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4OmFmdGVyLFtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQYXVzZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlcixbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkKX0ucmVwbGF5TW9kZVBvaW50U2VsZWN0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OC5ibGlua2luZy1VUklqRUI5ODphZnRlcnthbmltYXRpb246YmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OCAxcyBjdWJpYy1iZXppZXIoLjc3LC4yMSwuMSwuNzQpIGluZmluaXRlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19Lm5vdEFjY3VyYXRlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0ubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5ub3RBY2N1cmF0ZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAub3BlbmVkSW5QaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQpfS5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCl9Lm9wZW5lZEluRGV0YWNoZWRQaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5kZWxheS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkKX0uZGVsYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZCl9LmVvZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0uZW9kLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZCl9LmRhdGFQcm9ibGVtSGlnaC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5kYXRhUHJvYmxlbUhpZ2gtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5kYXRhUHJvYmxlbUxvdy1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaGFzRXJyb3ItVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1vdGhlci1ub3JtYWwpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ib2xkKX1Aa2V5ZnJhbWVzIGJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi4zfTUwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgYmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi41fTUwJXtvcGFjaXR5OjF9fQ=="}},"time_used":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/97472.e8195405f99055a83c6f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.369Z","timestamp":1785136900369,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97472.e8195405f99055a83c6f.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 8f3cd0de2e30f25ad0bb6103446adbff\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":63316,"size_decoded":11196,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"0813d0ea841f3538f1f27a58a88cb1e2","sha1":"5d7c725abcc841d95866532c0d0d9d124f9138d3","sha256":"82ac84224db5ccb6f92b82013e4473a579ddf4e881af126a3359ef556f33df28","sha512":"668be712980917e4cc39f91fd0fe150ce81cfe2bb4b72aaca4cc455fe6da6d382006c963a1bfa288f628a3a80ba1e1fd9dc921af4b34cc205dd127cb231eec04","ssdeep":"768:OzYrfKPQhauyuhs+66SY4n3sWvt5r96tY9hu+3fHxx+TS4YLTnW3H5uVHevzBAEb:EzsWvl8Y9hxXa","tlshash":"095379d8c5bc1d8c75b7d2c4bced7655448c3f13986286b0f8bbb819501abd829b9cb8","first_seen":"2026-07-23T13:54:09.171546Z","last_seen":"2026-07-31T06:34:35.473115Z","times_seen":383,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NzQ3Ml0sezY5NzQ3MihlLHIsbyl7InVzZSBzdHJpY3QiO28uZChyLHtnZXRFeGNoYW5nZXM6KCk9PnUsZ2V0V2lkZ2V0Q29uZmlndXJlZEV4Y2hhbmdlczooKT0+bCxnZXRXaWRnZXRTeW1ib2xTZWFyY2hDb25maWc6KCk9PmR9KTt2YXIgbj1vKDk5ODcwNCksaT1vKDMxODk3NCk7ZnVuY3Rpb24gdSgpe3JldHVybiBufWZ1bmN0aW9uIGwoZSxyKXtpZih2b2lkIDA9PT1yKXJldHVybiBlO2NvbnN0e2FsbG93ZWRFeGNoYW5nZXM6b309cjtsZXQgbj1lO2lmKHZvaWQgMCE9PW8mJm8ubGVuZ3RoPjApe2NvbnN0IHI9bmV3IE1hcDtmb3IoY29uc3QgbyBvZiBlKSIiPT09by52YWx1ZXx8by5oaWRlSW5TeW1ib2xTZWFyY2h8fHIuc2V0KG8udmFsdWUsbyk7Y29uc3QgaT1vLm1hcCgoZT0+ci5nZXQoZS50b1VwcGVyQ2FzZSgpKSkpLmZpbHRlcigoZT0+dm9pZCAwIT09ZSkpO2kubGVuZ3RoPjAmJihuPWkpfXJldHVybiBufWZ1bmN0aW9uIGQoKXtpZighKDAsaS5vbldpZGdldCkoKSlyZXR1cm47Y29uc3QgZT13aW5kb3cuaW5pdERhdGE/LndpZGdldERlZmF1bHRzO2lmKHZvaWQgMD09PWUpcmV0dXJuO2NvbnN0IHI9ZS5zeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2Usbz0ic3RyaW5nIj09dHlwZW9mIHImJiIiIT09cj9yOnZvaWQgMCxuPWUuc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlcyx1PUFycmF5LmlzQXJyYXkobik/bi5maWx0ZXIoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09b3x8dm9pZCAwIT09dSYmMCE9PXUubGVuZ3RoP3tkZWZhdWx0RXhjaGFuZ2U6byxhbGxvd2VkRXhjaGFuZ2VzOnV9OnZvaWQgMH19LDk5ODcwNChlLHIsbyl7ZS5leHBvcnRzPVt7dmFsdWU6IiIsbmFtZToiQWxsIEV4Y2hhbmdlcyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDU2NDIpKSxmbGFnOiIiLGNvdW50cnk6IiIsZ3JvdXA6IkFsbEV4Y2hhbmdlcyIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJMQkFOSyIsbmFtZToiTEJhbmsiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU5NjI4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJMQkFOSyIscHJvdmlkZXJJZDoibGJhbmsifSx7dmFsdWU6IkxGSjJET1QyIixuYW1lOiJMRkogVjIuMiAoQXZhbGFuY2hlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDM1MTQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkxGSjJET1QyIixwcm92aWRlcklkOiJsZmoyZG90MiJ9LHt2YWx1ZToiQkNIQUlOIixuYW1lOiJCQ0hBSU4gKE5hc2RhcSBEYXRhIExpbmspIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5NDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJDSEFJTiIscHJvdmlkZXJJZDoicXVhbmRsX2JjaGFpbiJ9LHt2YWx1ZToiQklTV0FQIixuYW1lOiJCaXN3YXAgdjIgKEJOQiBjaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQ2MDg2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVNXQVAiLHByb3ZpZGVySWQ6ImJpc3dhcCJ9LHt2YWx1ZToiQklUQVpaQSIsbmFtZToiQml0YXp6YSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTgwNDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVEFaWkEiLHByb3ZpZGVySWQ6ImJpdGF6emEifSx7dmFsdWU6IkJJVEhVTUIiLG5hbWU6IkJpdGh1bWIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjU4NjUwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRIVU1CIixwcm92aWRlcklkOiJiaXRodW1iIn0se3ZhbHVlOiJCSVRLVUIiLG5hbWU6IkJpdGt1YiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NzkzNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUS1VCIixwcm92aWRlcklkOiJiaXRrdWIifSx7dmFsdWU6IkJJVFJVRSIsbmFtZToiQml0cnVlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0NDExNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUUlVFIixwcm92aWRlcklkOiJiaXRydWUifSx7dmFsdWU6IkJJVE1BUlQiLG5hbWU6IkJpdE1hcnQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjY0NTA2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRNQVJUIixwcm92aWRlcklkOiJiaXRtYXJ0In0se3ZhbHVlOiJCSVRTTyIsbmFtZToiQml0c28iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE5NzkyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRTTyIscHJvdmlkZXJJZDoiYml0c28ifSx7dmFsdWU6IkNPSU5NRVRSSUNTIixuYW1lOiJDb2luIE1ldHJpY3MiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk1MDk3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOTUVUUklDUyIscHJvdmlkZXJJZDoiY29pbm1ldHJpY3MifSx7dmFsdWU6Ik1FWEMiLG5hbWU6Ik1FWEMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjUxNTkxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJNRVhDIixwcm92aWRlcklkOiJtZXhjIn0se3ZhbHVlOiJHQVRFIixuYW1lOiJHYXRlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NDA2MCkpLApmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkdBVEUiLHByb3ZpZGVySWQ6ImdhdGUifSx7dmFsdWU6IkhUWCIsbmFtZToiSFRYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkxNTY0MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiSFRYIixwcm92aWRlcklkOiJodHgifSx7dmFsdWU6Ijc5NiIsbmFtZToiNzk2IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM5MDgxNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJERURVU1QiLG5hbWU6IkRlRHVzdC5pbyAoVE9OKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMjA2MjcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkRFRFVTVCIscHJvdmlkZXJJZDoiZGVkdXN0In0se3ZhbHVlOiJERUVQQ09JTiIsbmFtZToiRGVlcGNvaW4iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDM4NzE2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUVQQ09JTiIscHJvdmlkZXJJZDoiZGVlcGNvaW4ifSx7dmFsdWU6IkRFUklCSVQiLG5hbWU6IkRlcmliaXQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU0OTQwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERVJJQklUIixwcm92aWRlcklkOiJkZXJpYml0In0se3ZhbHVlOiJEWURYIixuYW1lOiJkWWRYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2NDAxOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiRFlEWCIscHJvdmlkZXJJZDoiZHlkeCJ9LHt2YWx1ZToiREVGSUxMQU1BIixuYW1lOiJEZWZpTGxhbWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTYwMjY1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUZJTExBTUEiLHByb3ZpZGVySWQ6ImRlZmlsbGFtYSJ9LHt2YWx1ZToiR0xBU1NOT0RFIixuYW1lOiJHbGFzc25vZGUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTA5ODQ2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJHTEFTU05PREUiLHByb3ZpZGVySWQ6ImdsYXNzbm9kZSJ9LHt2YWx1ZToiTUVURU9SQURMTU0iLG5hbWU6Ik1ldGVvcmEgRExNTSAoU29sYW5hKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDcwNDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik1FVEVPUkFETE1NIixwcm92aWRlcklkOiJtZXRlb3JhZGxtbSJ9LHt2YWx1ZToiTUVURU9SQURZTiIsbmFtZToiTWV0ZW9yYSBEWU4gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODMxOTczKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJNRVRFT1JBRFlOIixwcm92aWRlcklkOiJtZXRlb3JhZHluIn0se3ZhbHVlOiJPS1giLG5hbWU6Ik9LWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzE1NjgpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik9LWCIscHJvdmlkZXJJZDoib2t4In0se3ZhbHVlOiJPUkNBIixuYW1lOiJPcmNhIChTb2xhbmEpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3MDQyOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiT1JDQSIscHJvdmlkZXJJZDoib3JjYSJ9LHt2YWx1ZToiUEFOR09MSU4iLG5hbWU6IlBhbmdvbGluIHYyIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU2MjIxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOR09MSU4iLHByb3ZpZGVySWQ6InBhbmdvbGluIn0se3ZhbHVlOiJQQU5DQUtFU1dBUCIsbmFtZToiUGFuY2FrZVN3YXAgdjIgKEJOQiBjaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjgxNTY0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQQU5DQUtFU1dBUCIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAifSx7dmFsdWU6IlBBTkNBS0VTV0FQM0FSQklUUlVNIixuYW1lOiJQYW5jYWtlc3dhcCB2MyAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4NTYyOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzQVJCSVRSVU0iLHByb3ZpZGVySWQ6InBhbmNha2Vzd2FwMyJ9LHt2YWx1ZToiUEFOQ0FLRVNXQVAzQkFTRSIsbmFtZToiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMDkxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzQkFTRSIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAzIn0se3ZhbHVlOiJQQU5DQUtFU1dBUDNCU0MiLG5hbWU6IlBhbmNha2VTd2FwIHYzIChCTkIgY2hhaW4pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUwMjI0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQQU5DQUtFU1dBUDNCU0MiLHByb3ZpZGVySWQ6InBhbmNha2Vzd2FwMyJ9LHt2YWx1ZToiUEFOQ0FLRVNXQVAzRVRIIixuYW1lOiJQYW5jYWtlU3dhcCB2MyAoRXRoZXJldW0pIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNjEzMTQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBBTkNBS0VTV0FQM0VUSCIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAzIn0se3ZhbHVlOiJQQU5DQUtFU1dBUDNaS1NZTkMiLG5hbWU6IlBhbmNha2Vzd2FwIHYzICh6a1N5bmMpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMDM0MCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzWktTWU5DIixwcm92aWRlcklkOiJwYW5jYWtlc3dhcDMifSx7dmFsdWU6IkNVUlZFIixuYW1lOiJDdXJ2ZSAoRXRoZXJldW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQwOTAyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDVVJWRSIscHJvdmlkZXJJZDoiY3VydmUifSx7dmFsdWU6IkNVUlZFQVJCSVRSVU0iLG5hbWU6IkN1cnZlIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTA0MzMxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDVVJWRUFSQklUUlVNIixwcm92aWRlcklkOiJjdXJ2ZSJ9LHt2YWx1ZToiUElPTkVYIixuYW1lOiJQaW9uZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjc0NjcwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQSU9ORVgiLHByb3ZpZGVySWQ6InBpb25leCJ9LHt2YWx1ZToiUFVMU0VYMiIsbmFtZToiUHVsc2VYIHYyIChQdWxzZWNoYWluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Nzk3NTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBVTFNFWDIiLHByb3ZpZGVySWQ6InB1bHNleCJ9LHt2YWx1ZToiUFlUSCIsbmFtZToiUHl0aCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDgxNjApKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBZVEgiLHByb3ZpZGVySWQ6InB5dGgifSx7dmFsdWU6IlJBTVNFUzIiLG5hbWU6IlJhbXNlcyB2MiAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyODA0OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUkFNU0VTMiIscHJvdmlkZXJJZDoicmFtc2VzMiJ9LHt2YWx1ZToiUkFZRElVTSIsbmFtZToiUmF5ZGl1bSAoU29sYW5hKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NjU2MTEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlJBWURJVU0iLHByb3ZpZGVySWQ6InJheWRpdW0ifSx7dmFsdWU6IlJBWURJVU1DTE1NIixuYW1lOiJSYXlkaXVtIENMTU0gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQzNzkxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJSQVlESVVNQ0xNTSIscHJvdmlkZXJJZDoicmF5ZGl1bWNsbW0ifSx7dmFsdWU6IlJBWURJVU1DUE1NIixuYW1lOiJSYXlkaXVtIENQTU0gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA4OTcyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJSQVlESVVNQ1BNTSIscHJvdmlkZXJJZDoicmF5ZGl1bWNwbW0ifSx7dmFsdWU6IlNUT05GSSIsbmFtZToiU1RPTi5maSAoVE9OKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NzI5MDkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNUT05GSSIscHJvdmlkZXJJZDoic3RvbmZpIn0se3ZhbHVlOiJTVE9ORkkyIixuYW1lOiJTVE9OLmZpIHYyIChUT04pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4NDQ5NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1RPTkZJMiIscHJvdmlkZXJJZDoic3RvbmZpIn0se3ZhbHVlOiJTVU5TV0FQMiIsbmFtZToiU3VuU3dhcCB2MiAoVFJPTikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDMxNTE2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTVU5TV0FQMiIscHJvdmlkZXJJZDoic3Vuc3dhcCJ9LHt2YWx1ZToiV0hJVEVCSVQiLG5hbWU6IldoaXRlQklUIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDczMjQ0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiV0hJVEVCSVQiLHByb3ZpZGVySWQ6IndoaXRlYml0In0se3ZhbHVlOiJXT09ORVRXT1JLIixuYW1lOiJXT08gWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjUyNjApKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IldPT05FVFdPUksiLHByb3ZpZGVySWQ6Indvb25ldHdvcmsifSx7dmFsdWU6IlZPTE1FWCIsbmFtZToiVm9sbWV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMzA3NykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVk9MTUVYIixwcm92aWRlcklkOiJ2b2xtZXgifSx7dmFsdWU6IlpLU1dBUCIsbmFtZToiemtTd2FwICh6a1N5bmMpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMxODIzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJaS1NXQVAiLHByb3ZpZGVySWQ6Inprc3dhcCJ9LHt2YWx1ZToiWk9PTUVYIixuYW1lOiJab29tZXgiLApkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3MDQwMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiWk9PTUVYIixwcm92aWRlcklkOiJ6b29tZXgifSx7dmFsdWU6IkFEWCIsbmFtZToiQURYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3NDE1MikpLGZsYWc6ImFlIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6ImFlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjMxMTApKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDkwOTEpKV19LHt2YWx1ZToiSUNFQUJVRCIsbmFtZToiSUNFQUQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQ0MzQ1KSksZmxhZzoiYWUiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiYWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2MzExMCkpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXX0se3ZhbHVlOiJERk0iLG5hbWU6IkRGTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MDc0NDEpKSxmbGFnOiJhZSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJhZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTYzMTEwKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjQ5MDkxKSldfSx7dmFsdWU6Ik5BU0RBUURVQkFJIixuYW1lOiJOQVNEQVEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTAzNjUwKSksZmxhZzoiYWUiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiYWUiLHByaW9yaXR5SW5Hcm91cDoxLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2MzExMCkpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXX0se3ZhbHVlOiJBUVVJUyIsbmFtZToiQVFVSVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzY5ODI4KSksZmxhZzoidWsiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InVrIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1ODc1MzMpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyODI3MykpXX0se3ZhbHVlOiJMU0UiLG5hbWU6IkxTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNDM4MDMpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IkxNRSIsbmFtZToiTE1FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4OTI0MykpLGZsYWc6InVrIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ1ayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg3NTMzKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNzMpKV19LHt2YWx1ZToiTFNJTiIsbmFtZToiTFNJTiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNDczMzcpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IlRVUlFVT0lTRSIsbmFtZToiVHVycXVvaXNlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM2MTYzMikpLGZsYWc6InVrIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ1ayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg3NTMzKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNzMpKV19LHt2YWx1ZToiRlRTRSIsbmFtZToiRlRTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNzkyNTcpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IkVVUkVYIixuYW1lOiJFVVJFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Njg1OTYpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6Ik1HRVgiLG5hbWU6Ik1HRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzYxNTk2KSksZmxhZzoidXNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiTkFTREFRIixuYW1lOiJOQVNEQVEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ4NjcwKSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDoxLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJOWVNFIixuYW1lOiJOWVNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0MjQ4NCkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcmlvcml0eUluR3JvdXA6Mixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiQU1FWCIsbmFtZToiQXJjYSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2Njg0MDMpKSxmbGFnOiJ1c2EiLApncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDozLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJPVEMiLG5hbWU6Ik9UQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDA0MTMpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjQscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkRKIixuYW1lOiJESiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MDcxNTgpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjUscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IlNQIixuYW1lOiJTUCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDgyNTUpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjYscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNCT0UiLG5hbWU6IkNCT0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk5ODc3KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo3LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJNU1RBUl9JTkRJQ0VTIixuYW1lOiJNU1RBUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1MTI3NCkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiRklOUkFCVERTIixuYW1lOiJGSU5SQSBCVERTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0MjgyNikpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiT1BSQSIsbmFtZToiT1BSQSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1OTQxNzApKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkZJTlJBQVREUyIsbmFtZToiRklOUkEgQVREUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTU1MTYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNCT0VFVSIsbmFtZToiQ0JPRSBFVSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzODg4NTYpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6IkNCT1QiLG5hbWU6IkNCT1QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTAyNzIxKSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo4LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDTUUiLG5hbWU6IkNNRSBHTE9CRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzcxNjY1KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo5LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDT01FWCIsbmFtZToiQ09NRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjkzOTg2KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDoxMCxwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiTllNRVgiLG5hbWU6Ik5ZTUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4MTYxNykpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcmlvcml0eUluR3JvdXA6MTEscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IklDRVVTIixuYW1lOiJJQ0VVUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Mjg4MTApKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjEyLHByb3ZpZGVySWQ6IiIsCnNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiSUNFVVNDQSIsbmFtZToiSUNFVVNDQSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NDU2MTYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNTRSIsbmFtZToiQ1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5MzkzMykpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTMscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiQ0JPRV9DQU5BREEiLG5hbWU6IkNib2UgQ2FuYWRhIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0NTAxOCkpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTQscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiVFNYIixuYW1lOiJUU1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODk1MjQ2KSksZmxhZzoiY2FuYWRhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToiY2EiLHByaW9yaXR5SW5Hcm91cDoxNSxwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNTE4OSkpXX0se3ZhbHVlOiJUU1hWIixuYW1lOiJUU1hWIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE4MzUyNCkpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTYscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiVE1YIixuYW1lOiJUTVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg1NDg0KSksZmxhZzoiY2FuYWRhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToiY2EiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MTg5KSldfSx7dmFsdWU6IlJVUyIsbmFtZToiUlVTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzMzNikpLGZsYWc6InJ1c3NpYSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToicnUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM5MDU5OCkpXX0se3ZhbHVlOiJNWVgiLG5hbWU6Ik1ZWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NjUwNjgpKSxmbGFnOiJtYWxheXNpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJteSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjI3OTY3KSldfSx7dmFsdWU6IkZUU0VNWVgiLG5hbWU6IkZUU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODU1NDc5KSksZmxhZzoibWFsYXlzaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToibXkiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDYyNzk2NykpXX0se3ZhbHVlOiJIT1NFIixuYW1lOiJIT1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4OTU2OSkpLGZsYWc6InZpZXRuYW0iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidm4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjIxKSldfSx7dmFsdWU6IkhOWCIsbmFtZToiSE5YIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEwNTg1NSkpLGZsYWc6InZpZXRuYW0iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidm4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjIxKSldfSx7dmFsdWU6IlVQQ09NIixuYW1lOiJITlggVVBDb00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTkxNDUpKSxmbGFnOiJ2aWV0bmFtIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InZuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NTIyMSkpXX0se3ZhbHVlOiJDU0VMSyIsbmFtZToiQ1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNTY4NCkpLGZsYWc6InNyaV9sYW5rYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJsayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA0NzY2KSldfSx7dmFsdWU6IkJJVFNUQU1QIixuYW1lOiJCaXRzdGFtcCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDY2NjYpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFNUQU1QIixwcm92aWRlcklkOiJiaXRzdGFtcCJ9LHt2YWx1ZToiQUNUSVZUUkFERVMiLG5hbWU6IkFjdGl2VHJhZGVzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NzY5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQUNUSVZUUkFERVMiLHByb3ZpZGVySWQ6ImFjdGl2dHJhZGVzIn0se3ZhbHVlOiJCMlBSSU1FIixuYW1lOiJCMlBSSU1FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0ODczNCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkIyUFJJTUUiLHByb3ZpZGVySWQ6ImIycHJpbWUifSx7dmFsdWU6IkJMQUNLQlVMTCIsbmFtZToiQmxhY2tCdWxsIE1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTEyODQxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsCmNvdW50cnk6IiIsc291cmNlSWQ6IkJMQUNLQlVMTCIscHJvdmlkZXJJZDoiYmxhY2tidWxsbWFya2V0cyJ9LHt2YWx1ZToiQkxVRUJFUlJZIixuYW1lOiJCbHVlYmVycnkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTAyNDMzKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQkxVRUJFUlJZIixwcm92aWRlcklkOiJibHVlYmVycnkifSx7dmFsdWU6IkNNQ01BUktFVFMiLG5hbWU6IkNNQyBNYXJrZXRzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ5NzExMCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkNNQ01BUktFVFMiLHByb3ZpZGVySWQ6ImNtY21hcmtldHMifSx7dmFsdWU6IkNYTSIsbmFtZToiQ1hNIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1NDk3KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ1hNIixwcm92aWRlcklkOiJjeG0ifSx7dmFsdWU6IkRBUldJTkVYIixuYW1lOiJEYXJ3aW5leCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMzU5NjUpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJEQVJXSU5FWCIscHJvdmlkZXJJZDoiZGFyd2luZXgifSx7dmFsdWU6IkRFUklWIixuYW1lOiJEZXJpdiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDI4NjkpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERVJJViIscHJvdmlkZXJJZDoiZGVyaXYifSx7dmFsdWU6IkZQTUFSS0VUUyIsbmFtZToiRlAgTWFya2V0cyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODU2MDYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJGUE1BUktFVFMiLHByb3ZpZGVySWQ6ImZwbWFya2V0cyJ9LHt2YWx1ZToiRlVTSU9OTUFSS0VUUyIsbmFtZToiRnVzaW9uIE1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTIwMzE5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRlVTSU9OTUFSS0VUUyIscHJvdmlkZXJJZDoiZnVzaW9ubWFya2V0cyJ9LHt2YWx1ZToiR09NQVJLRVRTIixuYW1lOiJHTyBNYXJrZXRzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU0OTc4MSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkdPTUFSS0VUUyIscHJvdmlkZXJJZDoiZ29tYXJrZXRzIn0se3ZhbHVlOiJJRyIsbmFtZToiSUciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU2OTY0KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiSUciLHByb3ZpZGVySWQ6ImlnIn0se3ZhbHVlOiJUQVNUWUZYIixuYW1lOiJ0YXN0eWZ4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NDMyMSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoidGFzdHlmeCJ9LHt2YWx1ZToiVEhJTktNQVJLRVRTIixuYW1lOiJUaGlua01hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTE5MTkyKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVEhJTktNQVJLRVRTIixwcm92aWRlcklkOiJ0aGlua21hcmtldHMifSx7dmFsdWU6IlRJQ0tNSUxMIixuYW1lOiJUaWNrbWlsbCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTgwNDQpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJUSUNLTUlMTCIscHJvdmlkZXJJZDoidGlja21pbGwifSx7dmFsdWU6IlRSQURFTkFUSU9OIixuYW1lOiJUcmFkZSBOYXRpb24iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAwMDA1KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVFJBREVOQVRJT04iLHByb3ZpZGVySWQ6InRyYWRlbmF0aW9uIn0se3ZhbHVlOiJUUklWRSIsbmFtZToiVHJpdmUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTY1NDY1KSksZmxhZzoiRm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVFJJVkUiLHByb3ZpZGVySWQ6InRyaXZlIn0se3ZhbHVlOiJWQU5UQUdFIixuYW1lOiJWYW50YWdlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2MjUxNykpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlZBTlRBR0UiLHByb3ZpZGVySWQ6InZhbnRhZ2VmeCJ9LHt2YWx1ZToiVkVMT0NJVFkiLG5hbWU6IlZlbG9jaXR5IFRyYWRlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4MDc5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJ2ZWxvY2l0eXRyYWRlIn0se3ZhbHVlOiJGWCIsbmFtZToiRlhDTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTI3MjYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6ImZ4Y20ifSx7dmFsdWU6IkZYUFJPIixuYW1lOiJGeFBybyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjE0MDApKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJGWFBSTyIscHJvdmlkZXJJZDoiZnhwcm8ifSx7dmFsdWU6IkZYVEYiLG5hbWU6IkZYVEYiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE0MTE1KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRlhURiIscHJvdmlkZXJJZDoiZnh0ZiJ9LHt2YWx1ZToiRUlHSFRDQVAiLG5hbWU6IkVpZ2h0Y2FwIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1OTQ1OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkVJR0hUQ0FQIixwcm92aWRlcklkOiJlaWdodGNhcCJ9LHt2YWx1ZToiRVJSQU5URSIsbmFtZToiRXJyYW50ZSIsCmRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjM2ODgpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJFUlJBTlRFIixwcm92aWRlcklkOiJlcnJhbnRlIn0se3ZhbHVlOiJFU0FGWCIsbmFtZToiRXNhRlgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTA4ODQ2KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJlc2FmeCJ9LHt2YWx1ZToiT1NNQU5MSUZYIixuYW1lOiJPc21hbmxpIEZYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQzOTU0OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoib3NtYW5saWZ4In0se3ZhbHVlOiJCVENFIixuYW1lOiJCVEMtZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzI1NzQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiSE9ORVlTV0FQIixuYW1lOiJIb25leXN3YXAgdjIgKEdub3NpcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDA2NzMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhPTkVZU1dBUCIscHJvdmlkZXJJZDoiaG9uZXlzd2FwIn0se3ZhbHVlOiJIWVBFUkxJUVVJRCIsbmFtZToiSHlwZXJsaXF1aWQgKEh5cGVybGlxdWlkKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMzIzMDEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhZUEVSTElRVUlEIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiSElQM1hZWiIsbmFtZToiSHlwZXJsaXF1aWQgKFhZWiBISVAtMykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMyMzAzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJISVAzWFlaIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiSElQM1BBUkEiLG5hbWU6Ikh5cGVybGlxdWlkIChQQVJBIEhJUC0zKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MzQxODUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhJUDNQQVJBIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiQlNFIixuYW1lOiJCU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQ1NzYwKSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJNU0VJIixuYW1lOiJNU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzE5ODY0KSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJOWU1FWF9NSU5JIixuYW1lOiJOWU1FWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODE2MTcpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDT01FWF9NSU5JIixuYW1lOiJDT01FWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTM5ODYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJJQ0VFTkRFWCIsbmFtZToiSUNFRU5ERVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjE5ODMzKSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJJQ0VFVVJGSU4iLG5hbWU6IklDRUVVUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NzU1NTgpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6IklDRUVVUkNPTU0iLG5hbWU6IklDRUVVUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NTU1MjcpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6Ik5TRSIsbmFtZToiTlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4MDcxKSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJNQ1giLG5hbWU6Ik1DWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1MDI3OCkpLGZsYWc6ImluZGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImluIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNzI1MjApKV19LHt2YWx1ZToiTkNERVgiLG5hbWU6Ik5DREVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU0MTI1NSkpLGZsYWc6ImluZGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImluIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNzI1MjApKV19LHt2YWx1ZToiS0NCVCIsbmFtZToiS0NCVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNTgxOTQpKSxmbGFnOiJ1c2EiLApoaWRlSW5TeW1ib2xTZWFyY2g6ITAsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiQ0JPVF9NSU5JIixuYW1lOiJDQk9UIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUwMjcyMSkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IktSQUtFTiIsbmFtZToiS3Jha2VuIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE5MDEyMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiS1JBS0VOIixwcm92aWRlcklkOiJrcmFrZW4ifSx7dmFsdWU6IktVQ09JTiIsbmFtZToiS3VDb2luIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQwODQwOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiS1VDT0lOIixwcm92aWRlcklkOiJrdWNvaW4ifSx7dmFsdWU6IkxVTkFSQ1JVU0giLG5hbWU6Ikx1bmFyQ3J1c2giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzIzODk0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJMVU5BUkNSVVNIIixwcm92aWRlcklkOiJsdW5hcmNydXNoIn0se3ZhbHVlOiJYRVhDSEFOR0UiLG5hbWU6InhFeGNoYW5nZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDM0OTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlhFWENIQU5HRSIscHJvdmlkZXJJZDoieGV4Y2hhbmdlIn0se3ZhbHVlOiJYVENPTSIsbmFtZToiWFQuY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4NjExNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiWFRDT00iLHByb3ZpZGVySWQ6Inh0Y29tIn0se3ZhbHVlOiJDTUVfTUlOSSIsbmFtZToiQ01FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MTY2NSkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkRKIixuYW1lOiJESiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMjI0NzEpKSxmbGFnOiJ1c2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJTUCIsbmFtZToiU1AiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTQxOTgpKSxmbGFnOiJ1c2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJCVENDSElOQSIsbmFtZToiQlRDIENoaW5hIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ0NzIyNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJBTlgiLG5hbWU6IkFOWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTk5NykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJNRVhCVCIsbmFtZToibWVYQlQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ1MTUzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5IixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToiIixwcm92aWRlcklkOiIifSx7dmFsdWU6IkdFTUlOSSIsbmFtZToiR2VtaW5pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUxODMxMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiR0VNSU5JIixwcm92aWRlcklkOiJnZW1pbmkifSx7dmFsdWU6IkJJVFZDIixuYW1lOiJCaXRWQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDYwMjcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiQklUWUVTIixuYW1lOiJCaXRZZXMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE1NDEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiQklURkxZRVIiLG5hbWU6ImJpdEZseWVyIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI1MTk0OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklURkxZRVIiLHByb3ZpZGVySWQ6ImJpdGZseWVyIn0se3ZhbHVlOiJCWUJJVCIsbmFtZToiQnliaXQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzE4OTY3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLApzb3VyY2VJZDoiQllCSVQiLHByb3ZpZGVySWQ6ImJ5Yml0In0se3ZhbHVlOiJCWURGSSIsbmFtZToiQllERmkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE0OTExKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCWURGSSIscHJvdmlkZXJJZDoiYnlkZmkifSx7dmFsdWU6IkJJVE1FWCIsbmFtZToiQml0TUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1NTc2NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUTUVYIixwcm92aWRlcklkOiJiaXRtZXgifSx7dmFsdWU6IkNBUElUQUxDT00iLG5hbWU6IkNhcGl0YWwuY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgwNzc2KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0FQSVRBTENPTSIscHJvdmlkZXJJZDoiY2FwaXRhbGNvbSJ9LHt2YWx1ZToiQ0ZJIixuYW1lOiJDRkkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTE1NzM4KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0ZJIixwcm92aWRlcklkOiJjZmlmaW5hbmNpYWwifSx7dmFsdWU6IkNPSU5FWCIsbmFtZToiQ29pbkV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2OTE1MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkVYIixwcm92aWRlcklkOiJjb2luZXgifSx7dmFsdWU6IkNPSU5KQVIiLG5hbWU6IkNvaW5KYXIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzAzNzQ4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOSkFSIixwcm92aWRlcklkOiJjb2luamFyIn0se3ZhbHVlOiJDT0lOVyIsbmFtZToiQ29pblciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzkzMDk2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOVyIscHJvdmlkZXJJZDoiY29pbncifSx7dmFsdWU6IkNPSU5TV0lUQ0giLG5hbWU6IkNvaW5Td2l0Y2giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzM4ODI5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOU1dJVENIIixwcm92aWRlcklkOiJjb2luc3dpdGNoIn0se3ZhbHVlOiJFQVNZTUFSS0VUUyIsbmFtZToiZWFzeU1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDI0MzM0KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRUFTWU1BUktFVFMiLHByb3ZpZGVySWQ6ImVhc3ltYXJrZXRzIn0se3ZhbHVlOiJGT1JFWENPTSIsbmFtZToiRk9SRVguY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3MjQ0MikpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiZ2FpbiJ9LHt2YWx1ZToiRlhfSURDIixuYW1lOiJJQ0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDAzNDMwKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJpY2UifSx7dmFsdWU6IklCS1IiLG5hbWU6IkludGVyYWN0aXZlIEJyb2tlcnMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQyNDYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJJQktSIixwcm92aWRlcklkOiJpYmtyIn0se3ZhbHVlOiJJQlJPS0VSIixuYW1lOiJpQnJva2VyIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY1MzU3MCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IklCUk9LRVIiLHByb3ZpZGVySWQ6Imlicm9rZXIifSx7dmFsdWU6IklDTUFSS0VUUyIsbmFtZToiSUMgTWFya2V0cyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MDkyMTIpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJJQ01BUktFVFMiLHByb3ZpZGVySWQ6ImljbWFya2V0cyJ9LHt2YWx1ZToiQklURklORVgiLG5hbWU6IkJpdGZpbmV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc1ODAyMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklURklORVgiLHByb3ZpZGVySWQ6ImJpdGZpbmV4In0se3ZhbHVlOiJNVEdPWCIsbmFtZToiTXQuR294IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMjg4OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIsc291cmNlSWQ6Ik1UR09YIixwcm92aWRlcklkOiJtdGdveCJ9LHt2YWx1ZToiUEhBUkFPSCIsbmFtZToiUGhhcmFvaCAoQXZhbGFuY2hlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MzM1MzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBIQVJBT0giLHByb3ZpZGVySWQ6InBoYXJhb2gifSx7dmFsdWU6IlBIRU1FWCIsbmFtZToiUGhlbWV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcwNTMyMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEhFTUVYIixwcm92aWRlcklkOiJwaGVtZXgifSx7dmFsdWU6IlBPTE9OSUVYIixuYW1lOiJQb2xvbmlleCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDMyMzUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBPTE9OSUVYIixwcm92aWRlcklkOiJwb2xvbmlleCJ9LHt2YWx1ZToiUFVMU0VYIixuYW1lOiJQdWxzZXggKFB1bHNlY2hhaW4pIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MzkzMDcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBVTFNFWCIscHJvdmlkZXJJZDoicHVsc2V4In0se3ZhbHVlOiJRVUlDS1NXQVAiLG5hbWU6IlF1aWNrU3dhcCB2MiAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDkyMjgxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJRVUlDS1NXQVAiLHByb3ZpZGVySWQ6InF1aWNrc3dhcCJ9LHt2YWx1ZToiUVVJQ0tTV0FQM1BPTFlHT05aS0VWTSIsbmFtZToiUXVpY2tTd2FwIHYzIChQb2x5Z29uIHprRVZNKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NzMzOTUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlFVSUNLU1dBUDNQT0xZR09OWktFVk0iLHByb3ZpZGVySWQ6InF1aWNrc3dhcDMifSx7dmFsdWU6IlFVSUNLU1dBUDNQT0xZR09OIixuYW1lOiJRdWlja1N3YXAgdjMgKFBvbHlnb24pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU5NjU0MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUVVJQ0tTV0FQM1BPTFlHT04iLHByb3ZpZGVySWQ6InF1aWNrc3dhcDMifSx7dmFsdWU6IlNVU0hJU1dBUCIsbmFtZToiU3VzaGlTd2FwIHYyIChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTAzNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1VTSElTV0FQIixwcm92aWRlcklkOiJzdXNoaXN3YXAifSx7dmFsdWU6IlNVU0hJU1dBUFBPTFlHT04iLG5hbWU6IlN1c2hpU3dhcCB2MiAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzI0NzA5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTVVNISVNXQVBQT0xZR09OIixwcm92aWRlcklkOiJzdXNoaXN3YXAifSx7dmFsdWU6IlNZTkNTV0FQIixuYW1lOiJTeW5jU3dhcCAoemtTeW5jKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNDk5ODMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNZTkNTV0FQIixwcm92aWRlcklkOiJzeW5jc3dhcCJ9LHt2YWx1ZToiU1lOQ1NXQVAyIixuYW1lOiJTeW5jU3dhcCB2MiAoemtTeW5jKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjExMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1lOQ1NXQVAyIixwcm92aWRlcklkOiJzeW5jc3dhcDIifSx7dmFsdWU6IlRPT0JJVCIsbmFtZToiVG9vYml0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQxNjE5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJUT09CSVQiLHByb3ZpZGVySWQ6InRvb2JpdCJ9LHt2YWx1ZToiVFJBREVSSk9FIixuYW1lOiJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MDI0MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVFJBREVSSk9FIixwcm92aWRlcklkOiJ0cmFkZXJqb2UifSx7dmFsdWU6IlRVUkJPU0ZJTkFOQ0UiLG5hbWU6IlR1cmJvcyBGaW5hbmNlIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0OTE4MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVFVSQk9TRklOQU5DRSIscHJvdmlkZXJJZDoidHVyYm9zZmluYW5jZSJ9LHt2YWx1ZToiVU5JU1dBUCIsbmFtZToiVW5pc3dhcCB2MiAoRXRoZXJldW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM2NTk0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUCIscHJvdmlkZXJJZDoidW5pc3dhcCJ9LHt2YWx1ZToiVU5JU1dBUEJBU0UiLG5hbWU6IlVuaXN3YXAgdjIgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcwMzkyOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUEJBU0UiLHByb3ZpZGVySWQ6InVuaXN3YXAifSx7dmFsdWU6IlVOSVNXQVAzRVRIIixuYW1lOiJVbmlzd2FwIHYzIChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNTA1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0VUSCIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVAzUE9MWUdPTiIsbmFtZToiVW5pc3dhcCB2MyAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzgzNzc1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM1BPTFlHT04iLHByb3ZpZGVySWQ6InVuaXN3YXAzIn0se3ZhbHVlOiJVTklTV0FQM0FSQklUUlVNIixuYW1lOiJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTkxOTcwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0FSQklUUlVNIixwcm92aWRlcklkOiJ1bmlzd2FwMyJ9LHt2YWx1ZToiVU5JU1dBUDNPUFRJTUlTTSIsbmFtZToiVW5pc3dhcCB2MyAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg0Mzc4NCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDNPUFRJTUlTTSIsCnByb3ZpZGVySWQ6InVuaXN3YXAzIn0se3ZhbHVlOiJVTklTV0FQM0JTQyIsbmFtZToiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MDA2OTcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVAzQlNDIixwcm92aWRlcklkOiJ1bmlzd2FwMyJ9LHt2YWx1ZToiVU5JU1dBUDNCQVNFIixuYW1lOiJVbmlzd2FwIHYzIChCYXNlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTYyNjUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVAzQkFTRSIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVAzQVZBTEFOQ0hFIixuYW1lOiJVbmlzd2FwIHYzIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4MTUxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0FWQUxBTkNIRSIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVA0RVRIIixuYW1lOiJVbmlzd2FwIHY0IChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzA4NjgyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEVUSCIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVOSVNXQVA0QlNDIixuYW1lOiJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0NTE2MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRCU0MiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNEJBU0UiLG5hbWU6IlVuaXN3YXAgdjQgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3Mjg0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEJBU0UiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNEFSQklUUlVNIixuYW1lOiJVbmlzd2FwIHY0IChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzU3NTkzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEFSQklUUlVNIixwcm92aWRlcklkOiJ1bmlzd2FwNCJ9LHt2YWx1ZToiVU5JU1dBUDRQT0xZR09OIixuYW1lOiJVbmlzd2FwIHY0IChQb2x5Z29uKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3ODQxMjIpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVA0UE9MWUdPTiIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVOSVNXQVA0QVZBTEFOQ0hFIixuYW1lOiJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDExMTMwMCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRBVkFMQU5DSEUiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNFVOSUNIQUlOIixuYW1lOiJVbmlzd2FwIHY0IChVbmljaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjg5MzE3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNFVOSUNIQUlOIixwcm92aWRlcklkOiJ1bmlzd2FwNCJ9LHt2YWx1ZToiVU5JU1dBUDRPUFRJTUlTTSIsbmFtZToiVW5pc3dhcCB2NCAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ3MDQ4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRPUFRJTUlTTSIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVQQklUIixuYW1lOiJVcEJpdCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxOTM4MTgpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVQQklUIixwcm92aWRlcklkOiJ1cGJpdCJ9LHt2YWx1ZToiQU5UQVJDVElDIixuYW1lOiJBbnRhcmN0aWMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ2ODcyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJBTlRBUkNUSUMiLHByb3ZpZGVySWQ6ImFudGFyY3RpYyJ9LHt2YWx1ZToiQklOR1giLG5hbWU6IkJpbmdYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NzUzNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklOR1giLHByb3ZpZGVySWQ6ImJpbmd4In0se3ZhbHVlOiJCVFNFIixuYW1lOiJCVFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxMTE3NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQlRTRSIscHJvdmlkZXJJZDoiYnRzZSJ9LHt2YWx1ZToiQklUVFJFWCIsbmFtZToiQml0dHJleCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MDg0NTUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFRSRVgiLHByb3ZpZGVySWQ6ImJpdHRyZXgifSx7dmFsdWU6IkJJVFZBVk8iLG5hbWU6IkJpdHZhdm8iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzIwODM5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRWQVZPIixwcm92aWRlcklkOiJiaXR2YXZvIn0se3ZhbHVlOiJCSVRVTklYIixuYW1lOiJCaXR1bml4IiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Mjg1NzMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFVOSVgiLHByb3ZpZGVySWQ6ImJpdHVuaXgifSx7dmFsdWU6IkJJTkFOQ0UiLG5hbWU6IkJpbmFuY2UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjA1ZTMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJTkFOQ0UiLHByb3ZpZGVySWQ6ImJpbmFuY2UifSx7dmFsdWU6IkJJVEdFVCIsbmFtZToiQml0Z2V0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNjYwOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUR0VUIixwcm92aWRlcklkOiJiaXRnZXQifSx7dmFsdWU6IkJJTkFOQ0VVUyIsbmFtZToiQmluYW5jZS5VUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMTE2NzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJTkFOQ0VVUyIscHJvdmlkZXJJZDoiYmluYW5jZSJ9LHt2YWx1ZToiREVMVEFJTiIsbmFtZToiRGVsdGEgRXhjaGFuZ2UgSW5kaWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTc2NTQ4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUxUQUlOIixwcm92aWRlcklkOiJkZWx0YWluIn0se3ZhbHVlOiJCTE9GSU4iLG5hbWU6IkJsb0ZpbiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDI5ODcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJMT0ZJTiIscHJvdmlkZXJJZDoiYmxvZmluIn0se3ZhbHVlOiJCTEFDS0hPTEUzIixuYW1lOiJCbGFja2hvbGUgdjMgKEF2YWxhbmNoZSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgzMjg3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCTEFDS0hPTEUzIixwcm92aWRlcklkOiJibGFja2hvbGUzIn0se3ZhbHVlOiJCTFVFRklOIixuYW1lOiJCbHVlZmluIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMxNTQyNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQkxVRUZJTiIscHJvdmlkZXJJZDoiYmx1ZWZpbiJ9LHt2YWx1ZToiQk5DIixuYW1lOiJCcmF2ZSBOZXcgQ29pbiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzkxNTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJOQyIscHJvdmlkZXJJZDoiYm5jIn0se3ZhbHVlOiJCVENDIixuYW1lOiJCVENDIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NDMxNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQlRDQyIscHJvdmlkZXJJZDoiYnRjYyJ9LHt2YWx1ZToiS0FUQU5BIixuYW1lOiJLYXRhbmEgKFJvbmluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5ODA3MzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IktBVEFOQSIscHJvdmlkZXJJZDoia2F0YW5hIn0se3ZhbHVlOiJLQVRBTkEzIixuYW1lOiJLYXRhbmEgdjMgKFJvbmluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNTc2MDUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IktBVEFOQTMiLHByb3ZpZGVySWQ6ImthdGFuYTMifSx7dmFsdWU6IktDRVgiLG5hbWU6IktDRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDk4ODk2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJLQ0VYIixwcm92aWRlcklkOiJrY2V4In0se3ZhbHVlOiJDQU1FTE9UIixuYW1lOiJDYW1lbG90IHYyIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODg0MTYzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDQU1FTE9UIixwcm92aWRlcklkOiJjYW1lbG90MiJ9LHt2YWx1ZToiQ0FNRUxPVDNBUkJJVFJVTSIsbmFtZToiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY3NzY4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ0FNRUxPVDNBUkJJVFJVTSIscHJvdmlkZXJJZDoiY2FtZWxvdDMifSx7dmFsdWU6IkNPSU5ERVNLIixuYW1lOiJDb2luRGVzayBJbmRpY2VzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1ODc4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkRFU0siLHByb3ZpZGVySWQ6ImNvaW5kZXNrIn0se3ZhbHVlOiJDUllQVE9DT00iLG5hbWU6IkNyeXB0by5jb20iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjI4NDQ5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDUllQVE9DT00iLHByb3ZpZGVySWQ6ImNyeXB0b2NvbSJ9LHt2YWx1ZToiVkVMT0RST01FIixuYW1lOiJWZWxvZHJvbWUgKE9wdGltaXNtKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NDQ4MjUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlZFTE9EUk9NRSIscHJvdmlkZXJJZDoidmVsb2Ryb21lIn0se3ZhbHVlOiJWRUxPRFJPTUUyIixuYW1lOiJWZWxvZHJvbWUgdjIgKE9wdGltaXNtKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NTc3MzQpKSxmbGFnOiJiaXRjb2luIiwKZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWRUxPRFJPTUUyIixwcm92aWRlcklkOiJ2ZWxvZHJvbWUyIn0se3ZhbHVlOiJWRUxPRFJPTUVTTElQU1RSRUFNIixuYW1lOiJWZWxvZHJvbWUgU2xpcFN0cmVhbSAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMzI1MCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVkVMT0RST01FU0xJUFNUUkVBTSIscHJvdmlkZXJJZDoidmVsb2Ryb21lc2xpcHN0cmVhbSJ9LHt2YWx1ZToiVlZTRklOQU5DRSIsbmFtZToiVlZTIEZpbmFuY2UgKENyb25vcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjMxMzI1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWVlNGSU5BTkNFIixwcm92aWRlcklkOiJ2dnNmaW5hbmNlIn0se3ZhbHVlOiJWVlMzIixuYW1lOiJWVlMgdjMgKENyb25vcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk0MTc2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWVlMzIixwcm92aWRlcklkOiJ2dnMzIn0se3ZhbHVlOiJXRUJVTExQQVkiLG5hbWU6IldlYnVsbCBQYXkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY1ODUxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJXRUJVTExQQVkiLHByb3ZpZGVySWQ6IndlYnVsbHBheSJ9LHt2YWx1ZToiQ0VUVVMiLG5hbWU6IkNldHVzIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NDE0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ0VUVVMiLHByb3ZpZGVySWQ6ImNldHVzIn0se3ZhbHVlOiJXRUVYIixuYW1lOiJXRUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQzNjg3MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiV0VFWCIscHJvdmlkZXJJZDoid2VleCJ9LHt2YWx1ZToiTU1GSU5BTkNFIixuYW1lOiJNTSBGaW5hbmNlIChDcm9ub3MpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MjUxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiTU1GSU5BTkNFIixwcm92aWRlcklkOiJtbWZpbmFuY2UifSx7dmFsdWU6IkFFUk9EUk9NRSIsbmFtZToiQWVyb2Ryb21lIChCYXNlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMTc4NjQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkFFUk9EUk9NRSIscHJvdmlkZXJJZDoiYWVyb2Ryb21lIn0se3ZhbHVlOiJBRVJPRFJPTUVTTElQU1RSRUFNIixuYW1lOiJBZXJvZHJvbWUgU2xpcFN0cmVhbSAoQmFzZSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI1MjEyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJBRVJPRFJPTUVTTElQU1RSRUFNIixwcm92aWRlcklkOiJhZXJvZHJvbWVzbGlwc3RyZWFtIn0se3ZhbHVlOiJCQVNFU1dBUCIsbmFtZToiQmFzZVN3YXAgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIyMTM1OSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQkFTRVNXQVAiLHByb3ZpZGVySWQ6ImJhc2Vzd2FwIn0se3ZhbHVlOiJCQ0JBIixuYW1lOiJCWU1BIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwNjkwOSkpLGZsYWc6ImFyZ2VudGluYSIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiYXIiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1NzU4NykpXX0se3ZhbHVlOiJNQVRCQVJPRkVYIixuYW1lOiJST0ZFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MjM0MDEpKSxmbGFnOiJhcmdlbnRpbmEiLGdyb3VwOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLGNvdW50cnk6ImFyIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NTc1ODcpKV19LHt2YWx1ZToiQk1GQk9WRVNQQSIsbmFtZToiQjMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDc5MzQxKSksZmxhZzoiYnJhc2lsIixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJiciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjEyOTY3KSldfSx7dmFsdWU6IkJNViIsbmFtZToiQk1WIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwOTQyNykpLGZsYWc6Im1leGljbyIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToibXgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2NTcwMCkpXX0se3ZhbHVlOiJCSVZBIixuYW1lOiJCSVZBIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4MjI0OSkpLGZsYWc6Im1leGljbyIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToibXgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2NTcwMCkpXX0se3ZhbHVlOiJCVkwiLG5hbWU6IkJWTCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNTEwNzYpKSxmbGFnOiJwZXJ1Iixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJwZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODUxMTExKSldfSx7dmFsdWU6IkJDUyIsbmFtZToiU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMyMTE3NSkpLGZsYWc6ImNoaWxlIiwKZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiY2wiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkwNDMzOCkpXX0se3ZhbHVlOiJCVkMiLG5hbWU6IkJWQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxODQ2MTkpKSxmbGFnOiJjb2xvbWJpYSIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiY28iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzNTg2NykpXX0se3ZhbHVlOiJCVkNWIixuYW1lOiJCVkMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzA1OTUyKSksZmxhZzoidmVuZXp1ZWxhIixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJ2ZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjQzNTAzKSldfSx7dmFsdWU6Ik5BRyIsbmFtZToiTlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkyMjc3MCkpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiVFNFIixuYW1lOiJUU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQxNzQpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6IlRGRVgiLG5hbWU6IlRGRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTUxNDkxKSksZmxhZzoidGhhaWxhbmQiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidGgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU1MzA0NCkpXX0se3ZhbHVlOiJURlgiLG5hbWU6IlRGWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NjMyNzgpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6IlRPQ09NIixuYW1lOiJUT0NPTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3ODIxNjIpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6Ik9TRSIsbmFtZToiT1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNDAzNykpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiU0dYIixuYW1lOiJTR1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzkzMjUpKSxmbGFnOiJzaW5nYXBvcmUiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToic2ciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY0Mzc5NSkpXX0se3ZhbHVlOiJBQkFYWCIsbmFtZToiQWJheHgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAzMjEwKSksZmxhZzoic2luZ2Fwb3JlIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InNnIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NDM3OTUpKV19LHt2YWx1ZToiSUNFU0ciLG5hbWU6IklDRSBGdXR1cmVzIFNpbmdhcG9yZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NDQzMSkpLGZsYWc6InNpbmdhcG9yZSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJzZyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjQzNzk1KSldfSx7dmFsdWU6IkZUU0VTVCIsbmFtZToiRlRTRSBTVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTIwNjcpKSxmbGFnOiJzaW5nYXBvcmUiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToic2ciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY0Mzc5NSkpXX0se3ZhbHVlOiJTQVBTRSIsbmFtZToiU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMzI5MCkpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiRlNFIixuYW1lOiJGU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI3MjMwKSksZmxhZzoiamFwYW4iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToianAiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwMDA2OCkpXX0se3ZhbHVlOiJUUEVYIixuYW1lOiJUUEV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3NDgxOCkpLGZsYWc6InRhaXdhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlRBSUZFWCIsbmFtZToiVEFJRkVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMjcwNykpLGZsYWc6InRhaXdhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlRXU0UiLG5hbWU6IlRXU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODE2MjUzKSksZmxhZzoidGFpd2FuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLApjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlNFVCIsbmFtZToiU0VUIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3NjM0NikpLGZsYWc6InRoYWlsYW5kIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InRoIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTMwNDQpKV19LHt2YWx1ZToiS1JYIixuYW1lOiJLUlgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTYxMjg5KSksZmxhZzoic291dGhfa29yZWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToia3IiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4Nzc1MikpXX0se3ZhbHVlOiJCQUhSQUlOIixuYW1lOiJCSEIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTQ0NjUpKSxmbGFnOiJiYWhyYWluIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6ImJoIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Nzg2NjUpKV19LHt2YWx1ZToiS1NFIixuYW1lOiJLU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzY2MDQwKSksZmxhZzoia3V3YWl0Iixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6Imt3Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTUxMzApKV19LHt2YWx1ZToiQ1NFQ1kiLG5hbWU6IkNTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDM4ODMpKSxmbGFnOiJjeXBydXMiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImN5Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MzQ3MzcpKV19LHt2YWx1ZToiQlZNVCIsbmFtZToiQlZNVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NzMzNikpLGZsYWc6InR1bmlzaWEiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToidG4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY3NzU5KSldfSx7dmFsdWU6IkFUSEVYIixuYW1lOiJBVEhFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NDExNzYpKSxmbGFnOiJncmVlY2UiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImdyIixwcm92aWRlcklkOiIifSx7dmFsdWU6IkJFTEVYIixuYW1lOiJCRUxFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMDQyMDApKSxmbGFnOiJzZXJiaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InJzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MTg1MjkpKV19LHt2YWx1ZToiRUdYIixuYW1lOiJFR1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTk3MTI1KSksZmxhZzoiZWd5cHQiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiZWciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMzNzQzNykpXX0se3ZhbHVlOiJUQURBV1VMIixuYW1lOiJUYWRhd3VsIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NzY0NykpLGZsYWc6InNhdWRpX2FyYWJpYSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJzYSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzYxNTIzKSldfSx7dmFsdWU6IkNTRU1BIixuYW1lOiJDU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzM5MDk3KSksZmxhZzoibW9yb2NjbyIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJtYSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzIxNDMzKSldfSx7dmFsdWU6IklEWCIsbmFtZToiSURYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc1MTA1OCkpLGZsYWc6ImluZG9uZXNpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJpZCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAyOTc1KSldfSx7dmFsdWU6IkhTSSIsbmFtZToiSFNJIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5NTU1NSkpLGZsYWc6Imhvbmdfa29uZyIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJoayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDYzNzc5KSldfSx7dmFsdWU6IlFTRSIsbmFtZToiUVNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU5NTU1NSkpLGZsYWc6InFhdGFyIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6InFhIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MzM3NTMpKV19LHt2YWx1ZToiT0FOREEiLG5hbWU6Ik9BTkRBIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NTE4NCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik9BTkRBIixwcm92aWRlcklkOiJvYW5kYSJ9LHt2YWx1ZToiT1BPRklOQU5DRSIsbmFtZToiT3BvZmluYW5jZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMzIwNzApKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJPUE9GSU5BTkNFIixwcm92aWRlcklkOiJvcG9maW5hbmNlIn0se3ZhbHVlOiJTQVhPIixuYW1lOiJTYXhvIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3MzQ3OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNBWE8iLHByb3ZpZGVySWQ6InNheG9iYW5rIn0se3ZhbHVlOiJQRVBQRVJTVE9ORSIsbmFtZToiUGVwcGVyc3RvbmUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg5NDkzKSksZmxhZzoiZm9yZXgiLApncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBFUFBFUlNUT05FIixwcm92aWRlcklkOiJwZXBwZXJzdG9uZSJ9LHt2YWx1ZToiUEhJTExJUE5PVkEiLG5hbWU6IlBoaWxsaXAgTm92YSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzIwMzYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6InBoaWxsaXBub3ZhIn0se3ZhbHVlOiJQVVJQTEVUUkFESU5HIixuYW1lOiJQdXJwbGUgVHJhZGluZyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMTU3OTEpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQVVJQTEVUUkFESU5HIixwcm92aWRlcklkOiJwdXJwbGV0cmFkaW5nIn0se3ZhbHVlOiJTS0lMTElORyIsbmFtZToiU2tpbGxpbmciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA2OTczKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiU0tJTExJTkciLHByb3ZpZGVySWQ6InNraWxsaW5nIn0se3ZhbHVlOiJTUFJFQURFWCIsbmFtZToiU3ByZWFkZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjkxMjc5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJzcHJlYWRleCJ9LHt2YWx1ZToiU1dJU1NRVU9URSIsbmFtZToiU3dpc3NxdW90ZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NjA1MzQpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTV0lTU1FVT1RFIixwcm92aWRlcklkOiJzd2lzc3F1b3RlIn0se3ZhbHVlOiJHQkVCUk9LRVJTIixuYW1lOiJHQkUgYnJva2VycyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTkxNzIpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJHQkVCUk9LRVJTIixwcm92aWRlcklkOiJnYmVicm9rZXJzIn0se3ZhbHVlOiJFVVJPTkVYVCIsbmFtZToiRXVyb25leHQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI0NzY0KSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJFVVJPTkVYVEFNUyIsbmFtZToiRVVST05FWFRBTVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDgyMDc5KSksZmxhZzoibmV0aGVybGFuZHMiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Im5sIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MTY4NjIpKV19LHt2YWx1ZToiRVVST05FWFRCUlUiLG5hbWU6IkVVUk9ORVhUQlJVIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMzNzE1NikpLGZsYWc6ImJlbGdpdW0iLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImJlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzMyNCkpXX0se3ZhbHVlOiJFVVJPTkVYVERVQiIsbmFtZToiRVVST05FWFREVUIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg4MzM2KSksZmxhZzoiaXJlbGFuZCIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiaWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcxMTUyNykpXX0se3ZhbHVlOiJFVVJPTkVYVExJUyIsbmFtZToiRVVST05FWFRMSVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzk4MzAyKSksZmxhZzoicG9ydHVnYWwiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InB0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTg5NCkpXX0se3ZhbHVlOiJFVVJPTkVYVFBBUiIsbmFtZToiRVVST05FWFRQQVIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzIyODMxKSksZmxhZzoiZnJhbmNlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJmciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTM2MjM4KSldfSx7dmFsdWU6Ik9TTCIsbmFtZToiRVVST05FWFRPU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTcwMTY4KSksZmxhZzoibm9yd2F5Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJubyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODQ1NTIzKSldfSx7dmFsdWU6IkVVUk9UTFgiLG5hbWU6IkVVUk9UTFgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDkyOTg1KSksZmxhZzoiaXRhbHkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Iml0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTgxNjMpKV19LHt2YWx1ZToiT01YIixuYW1lOiJPTVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzMzMzQ5KSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJGV0IiLG5hbWU6IkZXQiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MTA2MDEpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IkVFWCIsbmFtZToiRUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk4OTI5OCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiRlJBIixuYW1lOiJGUkEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjc3MDgwKSksZmxhZzoiZ2VybWFueSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTFMiLG5hbWU6IkxTIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4ODA0NzEpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IkxTWCIsbmFtZToiTFNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg4MDQ3MSkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiU1dCIixuYW1lOiJTV0IiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzA3OTYpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IlhFVFIiLG5hbWU6IlhFVFIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTYxODQ3KSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJCTUUiLG5hbWU6IkJNRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MTE0NTYpKSxmbGFnOiJzcGFpbiIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4ODMyMSkpXX0se3ZhbHVlOiJCU1NFIixuYW1lOiJCU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0NzU2OSkpLGZsYWc6InNsb3Zha2lhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJzayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjYzNDMyKSldfSx7dmFsdWU6IkJWQiIsbmFtZToiQlZCIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NTY5MykpLGZsYWc6InJvbWFuaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InJvIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MDU5NDUpKV19LHt2YWx1ZToiQkVUIixuYW1lOiJCRVQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQxMzQxKSksZmxhZzoiaHVuZ2FyeSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiaHUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY2MTM2NikpXX0se3ZhbHVlOiJHUFciLG5hbWU6IkdQVyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTQzMjQpKSxmbGFnOiJwb2xhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InBsIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Njg2MDkpKV19LHt2YWx1ZToiTkVXQ09OTkVDVCIsbmFtZToiR1BXIOKAlCBOZXdDb25uZWN0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1NjI2KSksZmxhZzoicG9sYW5kIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJwbCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTY4NjA5KSldfSx7dmFsdWU6IlpTRSIsbmFtZToiWlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNzEzNykpLGZsYWc6ImNyb2F0aWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImhyIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MDc0KSldfSx7dmFsdWU6IkxVWFNFIixuYW1lOiJMVVhTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MzYyNTMpKSxmbGFnOiJsdXhlbWJvdXJnIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJsdSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTc1NDQ3KSldfSx7dmFsdWU6IkxKU0UiLG5hbWU6IkxKU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzEzOTY0KSksZmxhZzoic2xvdmVuaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InNpIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MjE4MjEpKV19LHt2YWx1ZToiTUlMIixuYW1lOiJNSUwiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzg1ODI0KSksZmxhZzoiaXRhbHkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Iml0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTgxNjMpKV19LHt2YWx1ZToiTkdNIixuYW1lOiJOR00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjIwNTU3KSksZmxhZzoic3dlZGVuIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJzZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzY5OTYzKSldfSx7dmFsdWU6IkRVUyIsbmFtZToiRFVTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1MzIzNCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiSEFNIixuYW1lOiJIQU0iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODg1NTUwKSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJIQU4iLG5hbWU6IkhBTiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY0OCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTVVOIixuYW1lOiJNVU4iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjU0NDgzKSksCmZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiVFJBREVHQVRFIixuYW1lOiJUUkFERUdBVEUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTM3NTUxKSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJHRVRURVgiLG5hbWU6IkdFVFRFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3OTM2MDIpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiZmluYW56ZW4iLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTUlMU0VERVgiLG5hbWU6Ik1JTFNFREVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0OTgyNikpLGZsYWc6Iml0YWx5Iixncm91cDoiRXVyb3BlIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToiaXQiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg5ODE2MykpXX0se3ZhbHVlOiJJU1QiLG5hbWU6IklTVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMzUxMjIpKSxmbGFnOiJ0dXJrZXkiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ0ciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMxODEwKSldfSx7dmFsdWU6IkJJU1QiLG5hbWU6IkJJU1QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg5NjcwKSksZmxhZzoidHVya2V5Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ0ciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMxODEwKSldfSx7dmFsdWU6IlRBU0UiLG5hbWU6IlRBU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjMzNTUpKSxmbGFnOiJpc3JhZWwiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiaWwiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgwMzM1NCkpXX0se3ZhbHVlOiJTSVgiLG5hbWU6IlNJWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MjMyNykpLGZsYWc6InN3aXR6ZXJsYW5kIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJjaCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzMzOTcxKSldfSx7dmFsdWU6IkJYIixuYW1lOiJCWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NjI0NjEpKSxmbGFnOiJzd2l0emVybGFuZCIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiY2giLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDczMzk3MSkpXX0se3ZhbHVlOiJQU0VDWiIsbmFtZToiUFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzMzQ2NCkpLGZsYWc6ImN6ZWNoIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJjeiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTI5ODA4KSldfSx7dmFsdWU6IkFTWCIsbmFtZToiQVNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc0MTU3MykpLGZsYWc6ImF1c3RyYWxpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJhdSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc5MjMzKSldfSx7dmFsdWU6IkNISVhBVSIsbmFtZToiQ2JvZSBBdXN0cmFsaWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzI4ODQ3KSksZmxhZzoiYXVzdHJhbGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImF1Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzkyMzMpKV19LHt2YWx1ZToiVklFIixuYW1lOiJXQiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTA3MjIpKSxmbGFnOiJhdXN0cmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJhdCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjM4Mjc4KSldfSx7dmFsdWU6IkRTRUJEIixuYW1lOiJEU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE1MjI0KSksZmxhZzoiYmFuZ2xhZGVzaCIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJiZCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDUyMDE1KSldfSx7dmFsdWU6Ik5aWCIsbmFtZToiTlpYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzYyKSksZmxhZzoibmV3X3plYWxhbmQiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToibnoiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQyMTYpKV19LHt2YWx1ZToiQ0ZGRVgiLG5hbWU6IkNGRkVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MDY1OCkpLGZsYWc6ImNoaW5hIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImNuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiU1NFIixuYW1lOiJTU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzY4OTIpKSxmbGFnOiJjaGluYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJjbiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldfSx7dmFsdWU6IlNIRkUiLG5hbWU6IlNIRkUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQ2NjM0KSksZmxhZzoiY2hpbmEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiY24iLHByb3ZpZGVySWQ6IiIsCnNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiU1pTRSIsbmFtZToiU1pTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzQ5NjEpKSxmbGFnOiJjaGluYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJjbiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldfSx7dmFsdWU6IlpDRSIsbmFtZToiWkNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxODg1MCkpLGZsYWc6ImNoaW5hIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImNuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiSEtFWCIsbmFtZToiSEtFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2Njk4MzcpKSxmbGFnOiJob25nX2tvbmciLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaGsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2Mzc3OSkpXX0se3ZhbHVlOiJQU0UiLG5hbWU6IlBTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NjAyMTEpKSxmbGFnOiJwaGlsaXBwaW5lcyIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJwaCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjEzNjQ3KSldfSx7dmFsdWU6IlBTWCIsbmFtZToiUFNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk2MTI0NSkpLGZsYWc6InBha2lzdGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InBrIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDQ0MzYpKV19LHt2YWx1ZToiTlNFTkciLG5hbWU6Ik5TRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NDQxMjEpKSxmbGFnOiJuaWdlcmlhIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6Im5nIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDk4NjgpKV19LHt2YWx1ZToiTlNFS0UiLG5hbWU6Ik5TRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDUyNDkpKSxmbGFnOiJrZW55YSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJrZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODE0OTY2KSldfSx7dmFsdWU6IkpTRSIsbmFtZToiSlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxOTI4OSkpLGZsYWc6InNvdXRoX2FmcmljYSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJ6YSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzEwMDgyKSldfSx7dmFsdWU6IkpGWCIsbmFtZToiSkZYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkzMTIzMikpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiamZ4In0se3ZhbHVlOiJNQVRTVUkiLG5hbWU6Ik1BVFNVSSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NjAwNjkpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6Im1hdHN1aSJ9LHt2YWx1ZToiQ09JTkJBU0UiLG5hbWU6IkNvaW5iYXNlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE5NTg4NikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkJBU0UiLHByb3ZpZGVySWQ6ImNvaW5iYXNlIn0se3ZhbHVlOiJDSVRZSU5ERVgiLG5hbWU6IkNpdHkgSW5kZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjUyOTUxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0lUWUlOREVYIixwcm92aWRlcklkOiJjaXR5aW5kZXgifSx7dmFsdWU6IlVTSSIsbmFtZToiVVNJIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzOTE0MSkpLGZsYWc6InVzYSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6Ik9NWEhFWCIsbmFtZToiSEVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5ODE4MCkpLGZsYWc6ImZpbmxhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImZpIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NzY0NTQpKV19LHt2YWx1ZToiT01YSUNFIixuYW1lOiJJQ0VYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE4OTU5MCkpLGZsYWc6ImljZWxhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImlzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NDAxODgpKV19LHt2YWx1ZToiT01YQ09QIixuYW1lOiJDU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQyMzE3KSksZmxhZzoiZGVubWFyayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjUwMSkpXX0se3ZhbHVlOiJPTVhTVE8iLG5hbWU6IlNUTyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMjU1NjgpKSxmbGFnOiJzd2VkZW4iLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InNlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjk5NjMpKV19LHt2YWx1ZToiT01YVlNFIixuYW1lOiJWU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk3NTAwKSksZmxhZzoibGl0aHVhbmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJsdCIsCnByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg5MjEwMCkpXX0se3ZhbHVlOiJPTVhUU0UiLG5hbWU6IlRBTFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3Nzk3KSksZmxhZzoiZXN0b25pYSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0MTIwKSldfSx7dmFsdWU6Ik9NWFJTRSIsbmFtZToiT01YUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxODE4MTUpKSxmbGFnOiJsYXR2aWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Imx2Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyODI3NzMpKV19LHt2YWx1ZToiT01YTk9SRElDIixuYW1lOiJPTVhOT1JESUMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTExMjcpKSxmbGFnOiJldXJvcGUiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJPTVhCQUxUSUMiLG5hbWU6Ik9NWEJBTFRJQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MjAyODcpKSxmbGFnOiJldXJvcGUiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJGUkVEIixuYW1lOiJGUkVEIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3MTAwNikpLGZsYWc6InVzYSIsZ3JvdXA6IkVjb25vbXkiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiZnJlZDIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiSVNNIixuYW1lOiJJU00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTEzNjUxKSksZmxhZzoidXNhIixncm91cDoiRWNvbm9teSIsY291bnRyeToiIixwcm92aWRlcklkOiJxdWFuZGxfaXNtIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkZSQk5ZIixuYW1lOiJGUkJOWSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MDI4NTUpKSxmbGFnOiJ1c2EiLGdyb3VwOiJFY29ub215Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6InF1YW5kbF9mcmJueSIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJGUkJQIixuYW1lOiJGUkJQIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwNTExNykpLGZsYWc6InVzYSIsZ3JvdXA6IkVjb25vbXkiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoicXVhbmRsX2ZyYnAiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiRUNPTk9NSUNTIixuYW1lOiJUcmFkaW5nIEVjb25vbWljcyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTQzNDIpKSxmbGFnOiJ1c2EiLGdyb3VwOiJFY29ub215Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6ImVjb25vbWljcyIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJXSFNFTEZJTlZFU1QiLG5hbWU6IldIIFNlbGZJbnZlc3QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDIwOTAxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJ3aHNlbGZpbnZlc3QifSx7dmFsdWU6IkJTRVNPRiIsbmFtZToiQlNFU09GIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg0NzQyNCkpLGZsYWc6ImJ1bGdhcmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJiZyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzE0MDMxKSldfV19fV0pOw=="}},"time_used":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":"s3-symbol-logo.tradingview.com/crypto/XTVCCCCA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.440Z","timestamp":1785136905440,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCCCCA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCPLUME.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.551Z","timestamp":1785136905551,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCPLUME.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49518.081f9637b94ee62a6e6f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.952Z","timestamp":1785136900952,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49518.081f9637b94ee62a6e6f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 07ac98eb215acb9ee6ff20c18f7f8010\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5353,"size_decoded":1929,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5353), with no line terminators","md5":"d7a9f60b8ae2b7f3ca613c9e5b32c1be","sha1":"96edacc2eaf0e2cf90be1c863bcdf71fce951db7","sha256":"62105e79933d1412be7816bc118e665a99e90c3d846b5e3282d35372ec43018a","sha512":"be8a4d2d71a8547c7dd2aa502370f205f86911c5def4816629a2da7cd82f3786e92dd78ecc49e89a9af136891ed67fb875ef4fcddcc07ccc31b5f51d430f4da3","ssdeep":"48:DVGIKVGI0GIKZGIpGIoVGIRGIqGIuGIjVGI0QVGIZGITZGI0LGI06GIHGI8GI/G7:D81CWQbawWxrGn5W+orw57Ur6Mpk98","tlshash":"12b1f676e8201aa675ba5a192380fad45034d022bf219ffff3c568168dcf1c6789381d","first_seen":"2026-03-24T10:46:27.490841Z","last_seen":"2026-08-10T05:01:44.092741Z","times_seen":1909,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzMtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV80LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNS02YW5NOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fNy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzgtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLV85LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzEtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8yLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzQtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV81LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzctNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV84LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fOS02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLWNoZWNrYm94ey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0udHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6NTAlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6bm9uZX19LnR2LWNvbnRyb2wtY2hlY2tib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtY29udHJvbC1jaGVja2JveC0tbm93cmFwLC50di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXR7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtib3JkZXItcmFkaXVzOjNweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzAtNmFuTSk7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1jaGVja2JveF9fYm94IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEycHg7c3Ryb2tlOiMwMDAwO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2l0aW9uOnN0cm9rZSAuMzVzIGVhc2UgMW1zLHRyYW5zZm9ybSAuMzVzIGVhc2UgMW1zfS50di1jb250cm9sLWNoZWNrYm94X19sYWJlbHttYXJnaW4taW5saW5lLWVuZDoxMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLXR3by1saW5lc3t3aWR0aDoxNTVweH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsLS1saWwtbGluZS1oZWlnaHR7bGluZS1oZWlnaHQ6MTZweDttYXgtd2lkdGg6ODAlO21pbi13aWR0aDo0NSV9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsKy50di1jb250cm9sLWNoZWNrYm94e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtY29udHJvbC1jaGVja2JveCsudHYtY29udHJvbC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDFleCAtIDI4cHgpfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWNoZWNrYm94OmhvdmVyIC50di1jb250cm9sLWNoZWNrYm94X19ib3h7d2lsbC1jaGFuZ2U6YmFja2dyb3VuZC1jb2xvcn19LnR2LWNvbnRyb2wtY2hlY2tib3g6YWN0aXZlIC50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3JlLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sYm9yZGVyLXJhZGl1c31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzEtNmFuTSk7d2lsbC1jaGFuZ2U6Ym9yZGVyLWNvbG9yfX0udHYtY29udHJvbC1jaGVja2JveDphY3RpdmUgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzItNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLWNoZWNrYm94X19ib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzQtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveCBzdmd7c3Ryb2tlOnZhcigtLV81LTZhbk0pO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLWRlbGF5Ojg3LjVtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTt3aWxsLWNoYW5nZTpzdHJva2UsdHJhbnNmb3JtfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1jaGVja2JveDpob3ZlciAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94e2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzctNmFuTSl9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzktNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0W2Rpc2FibGVkXSsudHYtY29udHJvbC1jaGVja2JveF9fYm94e29wYWNpdHk6LjV9LnR2LWNvbnRyb2wtY2hlY2tib3guaS1lcnJvciAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/78652.4b4e097a303d21bc9781.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.432Z","timestamp":1785136901432,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/78652.4b4e097a303d21bc9781.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-93\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3d922cc71d538d732797c5dc74fbfcde\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":147,"size_decoded":898,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"d495be7c67520b3518ab3adbf5c62805","sha1":"194c04504f3be1bcc65c2c60fcc6b7feedafce35","sha256":"bbc2d1c9270827bfab04417c239e5264a20fc0f30e4ec1791d3810b7957b2a82","sha512":"7d9bc066af26016a6d8c93fddc2cce36252806a2fcc37fcd6908ef2a7ab5fa58453186cbb259e40244eebfde37ac1e6e7e018bca8969700d643a830a0d8f8a6e","ssdeep":"","tlshash":"b3c08cf80653324eb96554a04eb20a22a523c966e687400f008a624f0acd68206f4ba5","first_seen":"2026-07-17T14:15:58.462713Z","last_seen":"2026-08-10T05:01:44.20034Z","times_seen":276,"resource_available":false,"data":"LndyYXBwZXItVHk1TzFXSlF7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI4cHh9LmRpck1hdGNoaW5nLVR5NU8xV0pROmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZSgtMSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCAEROD.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.506Z","timestamp":1785136905506,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCAEROD.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSAHARA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.610Z","timestamp":1785136905610,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSAHARA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCLUNA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.611Z","timestamp":1785136905611,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCLUNA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30288.59207aa2607ea1597287.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.990Z","timestamp":1785136900990,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30288.59207aa2607ea1597287.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-c680\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c0bc177e010849a99fd8cd0bfda01f68\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":50816,"size_decoded":20318,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"ea1d9d8d3342c88f33ec3b530e0573ef","sha1":"d655950fc76c40243ee9494c5fcc45e069dbaad3","sha256":"5c4b42f42930e52d140aec5e82b967b86ea0bc4581cfea3ecd33ca21c156520f","sha512":"4a85bff8bc70939b4386535712fa0ce2eae8d2f970a7e4c0f966b40eef502520b53f0bcc55b8062e0d4154ec40c589d4be511f57f11176afdb68166e3b090436","ssdeep":"1536:M/5WmDah7ltfnbgA/bllhJ9AwCh85Q9BO9X/tH78kJM:MZilpvbAR9By/5M","tlshash":"6e330ac572d6f0ab03d605e584bb5042f33d49a9b80d84a1f658e9d13c66c9e63b3fac","first_seen":"2026-07-23T22:46:45.786098Z","last_seen":"2026-07-28T04:58:42.063064Z","times_seen":361,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMDI4OF0sezg2MDAyNShlKXtlLmV4cG9ydHM9e3BhaXI6InBhaXIteHdHc1NYUjAiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwIix4eHh4c21hbGw6Inh4eHhzbWFsbC14d0dzU1hSMCIseHh4c21hbGw6Inh4eHNtYWxsLXh3R3NTWFIwIix4eHNtYWxsOiJ4eHNtYWxsLXh3R3NTWFIwIix4c21hbGw6InhzbWFsbC14d0dzU1hSMCIsc21hbGw6InNtYWxsLXh3R3NTWFIwIixtZWRpdW06Im1lZGl1bS14d0dzU1hSMCIsbGFyZ2U6ImxhcmdlLXh3R3NTWFIwIix4bGFyZ2U6InhsYXJnZS14d0dzU1hSMCIseHhsYXJnZToieHhsYXJnZS14d0dzU1hSMCIseHh4bGFyZ2U6Inh4eGxhcmdlLXh3R3NTWFIwIixsb2dvOiJsb2dvLXh3R3NTWFIwIixza2VsZXRvbjoic2tlbGV0b24teHdHc1NYUjAiLGVtcHR5OiJlbXB0eS14d0dzU1hSMCJ9fSwxNDAwMTcoZSl7ZS5leHBvcnRzPXtsb2dvOiJsb2dvLVZDTkt1YldxIixoaWRkZW46ImhpZGRlbi1WQ05LdWJXcSIseHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzOiJ4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3EiLHh4eHNtYWxsOiJ4eHhzbWFsbC1WQ05LdWJXcSIseHhzbWFsbDoieHhzbWFsbC1WQ05LdWJXcSIseHNtYWxsOiJ4c21hbGwtVkNOS3ViV3EiLHNtYWxsOiJzbWFsbC1WQ05LdWJXcSIsbWVkaXVtOiJtZWRpdW0tVkNOS3ViV3EiLGxhcmdlOiJsYXJnZS1WQ05LdWJXcSIseGxhcmdlOiJ4bGFyZ2UtVkNOS3ViV3EiLHh4bGFyZ2U6Inh4bGFyZ2UtVkNOS3ViV3EiLHh4eGxhcmdlOiJ4eHhsYXJnZS1WQ05LdWJXcSIsc2tlbGV0b246InNrZWxldG9uLVZDTkt1YldxIixsZXR0ZXI6ImxldHRlci1WQ05LdWJXcSJ9fSw5NzUyODUoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLWhjdDJ5SnZLIixhbmltYXRlZDoiYW5pbWF0ZWQtaGN0MnlKdksiLHB1bHNhdGlvbjoicHVsc2F0aW9uLWhjdDJ5SnZLIn19LDM5OTA5MihlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zIjoiLjZzIDBzIGN1YmljLWJlemllciguNCwgLjAxLCAuMjIsIDEpIiwiY3NzLXZhbHVlLWNvcHlyaWdodC10cmFuc2l0aW9uLXBhcmFtcy1oYWxmLXRpbWUiOiIuM3MgMHMgY3ViaWMtYmV6aWVyKC40LCAuMDEsIC4yMiwgMSkiLGxhYmVsOiJsYWJlbC1kemJkN2x5ViIsbG9nb1dyYXA6ImxvZ29XcmFwLWR6YmQ3bHlWIixleHBhbmRlZFdpdGhUcmFuc2l0aW9uOiJleHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWIixleHBhbmRlZEJ5Q2xpY2s6ImV4cGFuZGVkQnlDbGljay1kemJkN2x5ViIsc3RhcnQ6InN0YXJ0LWR6YmQ3bHlWIixlbmQ6ImVuZC1kemJkN2x5ViIsc25hcDoic25hcC1kemJkN2x5ViIsdG9wOiJ0b3AtZHpiZDdseVYiLGJvdHRvbToiYm90dG9tLWR6YmQ3bHlWIixsYXJnZToibGFyZ2UtZHpiZDdseVYiLGV4cGFuZGVkOiJleHBhbmRlZC1kemJkN2x5ViIsbGFiZWxfX2xpbms6ImxhYmVsX19saW5rLWR6YmQ3bHlWIn19LDU2OTM5OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT5wLG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9PmN9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDM3NzIyNiksbz1uKDg1NjE5Nikscz1uKDkzMjM2NSk7Y29uc3QgYT1uZXcgci5EZWxlZ2F0ZSxjPSgpPT5hLGw9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IHU9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGwrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obCtlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGwrZSksYS5maXJlKGUpfW9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gYX19O2Z1bmN0aW9uIGQoZSx0KXtyZXR1cm4oIWVbdF18fC0xIT09ZVt0XSkmJighISgidHJ1ZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJ0cnVlIj09PXdpbmRvdy51c2VyPy5zZXR0aW5ncz8uW2wrdF0pfHwhKCJmYWxzZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJmYWxzZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltsK3RdKSYmKCEhZVt0XSYmKDE9PT1lW3RdfHwoMCxvLnNob3VsZEFmZmVjdFVzZXIpKHQsZVt0XSkpKSl9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e30sd2luZG93LlRyYWRpbmdWaWV3LkZlYXR1cmVUb2dnbGU9dTtjb25zdCBwPShnPXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGV8fHt9LCgwLGkub25XaWRnZXQpKCl8fFByb21pc2UuYWxsKFtuLmUoODU0MzQpLG4uZSg3Mjg1KSxuLmUoMTM5OTMpXSkudGhlbihuLmJpbmQobiw1MDcyODUpKS50aGVuKChlPT57ZS5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub24oImZlYXR1cmV0b2dnbGUiLChlPT57Y29uc3QgdD1kKGcsZS5uYW1lKTtnW2UubmFtZV09ZS5zdGF0ZSx0IT09ZChnLGUubmFtZSkmJmEuZmlyZShlLm5hbWUpfSkpfSkpLGQuYmluZChudWxsLGcpKTt2YXIgZzt3aW5kb3cuVHJhZGluZ1ZpZXcuaXNGZWF0dXJlRW5hYmxlZD1wfSw3OTI2MTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0RnJlc2hJbml0RGF0YTooKT0+bCxnZXRJbml0RGF0YTooKT0+Yyx1cGRhdGVJbml0RGF0YTooKT0+YX0pO3ZhciByPW4oMTM4NjM4KTtjb25zdCBpPSgwLG4oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uSW5pdERhdGEiKSxvPXdpbmRvdy5pbml0RGF0YXx8e307ZnVuY3Rpb24gcygpeyFmdW5jdGlvbigpe2NvbnN0IGU9d2luZG93O2UuaW5pdERhdGEmJmUuaW5pdERhdGEhPT1vJiYoT2JqZWN0LmFzc2lnbihvLGUuaW5pdERhdGEpLGUuaW5pdERhdGE9bykKfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLHIuZW5zdXJlTm90TnVsbCkobi50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24obyxlKX1jYXRjaChlKXtpLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxyLmVuc3VyZU5vdE51bGwpKG4ucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQobil9fWNvbnN0IHQ9by5jb250ZW50O3QmJm8uc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLm8uc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtzKCl9ZnVuY3Rpb24gYygpe3JldHVybiBvfWZ1bmN0aW9uIGwoKXtyZXR1cm4gcygpLG99fSwxMTczMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNPbk1vYmlsZUFwcFBhZ2U6KCk9PmksdXJsV2l0aE1vYmlsZUFwcFBhcmFtczooKT0+b30pO3ZhciByPW4oNTg3NDM2KTtmdW5jdGlvbiBpKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IGk9InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxvPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1yLmdldCgidHZfYXBwIil8fCIiO2l8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IWkpfHwhKCJuZXciPT09ZXx8IW8pfWZ1bmN0aW9uIG8oZSx0PSExKXtpZihpKCJuZXciLHQpKXtjb25zdCB0PW5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKTt0LnNlYXJjaFBhcmFtcy5zZXQoIm1vYmlsZWFwcF9uZXciLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9aWYoaSgib2xkIix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHAiLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9cmV0dXJuIGV9fSw5MzA1NjYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2RlZmF1bHQ6KCk9PkosZ2V0Qm9vbDooKT0+SSxnZXRGbG9hdDooKT0+TyxnZXRJbnQ6KCk9PkQsZ2V0SlNPTjooKT0+TSxnZXRWYWx1ZTooKT0+TixrZXlzOigpPT5CLGtleXNNYXNrOigpPT5XLGxvYWRlZDooKT0+Ryxsb2FkZWRNb2RlbDooKT0+cSxvblN5bmM6KCk9PmoscmVtb3ZlOigpPT5WLHNldEpTT046KCk9PkEsc2V0U2V0dGluZ3NBZGFwdGVyOigpPT5LLHNldFZhbHVlOigpPT5SLHN5bmM6KCk9Pkh9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDIyMTA2MSksbz1uKDU0MDU3OCkscz1uKDkzMDIzMSksYT1uKDU2OTM5OCksYz1uKDkwOTc5OCksbD1uKDM3NzIyNiksdT1uKDM4NDAxNyksZD1uKDE1MjY5OSkscD1uKDkzMjM2NSk7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgZz1bInMudHJhZGluZ3ZpZXcuY29tIiwiYmV0YWNkbi50cmFkaW5ndmlldy5jb20iXSxmPSgoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpLCJsb2NhbCI9PT13aW5kb3cuZW52aXJvbm1lbnQ/NWUzOjEyZTQpLG09KDAsbC5vbldpZGdldCkoKT8idHJhZGluZ3ZpZXctd2lkZ2V0IjoidHJhZGluZ3ZpZXciLGg9bSsiLiI7bGV0IHksdix3LGI9ITEsXz1udWxsLHg9e30sUz1bXTtjb25zdCBrPVsvXndpZGdldGJhclwud2lkZ2V0XC53YXRjaGxpc3QuKy8sLy4rcXVpY2tzJC8sL153aWRnZXRiYXJcLmxheW91dC1zZXR0aW5ncyQvLC9eQ2hhcnRTaWRlVG9vbGJhcldpZGdldFwudmlzaWJsZSQvLC9eb253aWRnZXRcLndhdGNobGlzdCQvLC9eY2hhcnRcLmZhdm9yaXRlRHJhd2luZ3MkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzUG9zaXRpb24kLywvXmNoYXJ0XC5mYXZvcml0ZUxpYnJhcnlJbmRpY2F0b3JzJC8sL15sb2FkQ2hhcnREaWFsb2cuZmF2b3JpdGVzJC8sL15DaGFydEZhdm9yaXRlRHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvLC9edHJhZGluZ1wuY2hhcnRcLnByb3RlcnR5JC8sL150cmFkaW5nX2Zsb2F0aW5nX3Rvb2xiYXJcLnBvc2l0aW9uJC8sL150cmFkaW5nXC5vcmRlcldpZGdldE1vZGVcLi8sL15zeW1ib2xXYXRlcm1hcmskLywvXnBpbmVyZWZlcmVuY2VcLnNpemUkLywvXnBpbmVyZWZlcmVuY2VcLnBvc2l0aW9uJC8sL15oaW50XC4rLywvXkNoYXJ0RHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvXTtjb25zdCBUPSgpPT4hKF98fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSxQPWU9PmgrZSxDPSgwLGkuZ2V0TG9nZ2VyKSgiTGliLlRWU2V0dGluZ3MiKSxFPWU9PntpZihifHx3KXJldHVybjtpZigoMCxhLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3NhdmVfc2V0dGluZ3MiKSlyZXR1cm4gdm9pZCBDPy5sb2dXYXJuKCJTZXR0aW5ncyBmbGFzaGluZyBoYXMgYmVlbiBza2lwcGVkIGJlY2F1c2Ugb2YgZGlzYWJsZV9zYXZlX3NldHRpbmdzIGZlYXR1cmV0b2dnbGUiKTtpZigoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSlyZXR1cm47aWYoVCgpKXJldHVybjtpZigwPT09Uy5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9UztTPVtdO2NvbnN0IG49e307Zm9yKGxldCBlPXQubGVuZ3RoO2UtLTspe2NvbnN0IHI9dFtlXTtuW3JdPXhbcl0/P251bGx9Y29uc3Qgcj1uZXcgRm9ybURhdGE7ci5hcHBlbmQoImRlbHRhIixKU09OLnN0cmluZ2lmeShuKSksZSYmbmF2aWdhdG9yLnNlbmRCZWFjb24/bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9zYXZlc2V0dGluZ3MvIixyKTooMCx1LmZldGNoKSgiL3NhdmVzZXR0aW5ncy8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixib2R5OnJ9KS50aGVuKChuPT57aWYobi5va3x8KFM9Uy5jb25jYXQodCkpLFs0MjksNTAzXS5pbmNsdWRlcyhuLnN0YXR1cykpewpjb25zdCB0PTFlMyorKG4uaGVhZGVycy5nZXQoInJldHJ5LWFmdGVyIil8fDApfHwzZTU7dz1zZXRUaW1lb3V0KCgoKT0+e3c9dm9pZCAwLEUoZSl9KSx0KX19KSkuY2F0Y2goKCgpPT57Uz1TLmNvbmNhdCh0KX0pKX0sRj0oKT0+e3k9dm9pZCAwLFMubGVuZ3RoJiZFKCl9LEw9KGUsdD17fSk9PntpZihfKW51bGw9PXhbZV0/Xy5yZW1vdmVWYWx1ZShlKTpfLnNldFZhbHVlKGUseFtlXSk7ZWxzZSBpZihUKCkpdHJ5e251bGw9PXhbZV0/cC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFAoZSkpOnAuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShQKGUpLHhbZV0pfWNhdGNoKGUpe31lbHNlIFMucHVzaChlKSx5fHwoeT1zZXRUaW1lb3V0KEYsZikpO3Quc2tpcENyb3NzV2luZG93RXZlbnR8fGQuVFZYV2luZG93RXZlbnRzLmVtaXQoInNldHRpbmdzIixKU09OLnN0cmluZ2lmeSh7a2V5OmUsdmFsdWU6eFtlXX0pKX07ZnVuY3Rpb24gTihlLHQpe2NvbnN0IG49eFtlXTtyZXR1cm4gbj8/dH1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7dHJ5e3JldHVybiBKU09OLnBhcnNlKG4pfWNhdGNoKG4pe3JldHVybiBWKGUpLHR9fWZ1bmN0aW9uIFYoZSx0PXt9KXtyZXR1cm4gbnVsbCE9eFtlXSYmKGRlbGV0ZSB4W2VdLEwoZSkpLHQuZm9yY2VGbHVzaCYmRSgpLFh9ZnVuY3Rpb24gSShlLHQpe2NvbnN0IG49TihlKTtyZXR1cm4gbnVsbD09bj90OiEoIW58fCJmYWxzZSI9PT1ufHwwPT0rbil9ZnVuY3Rpb24gTyhlLHQpe2NvbnN0IG49TihlKTtpZihudWxsPT1uKXJldHVybiB0O2NvbnN0IHI9cGFyc2VGbG9hdChuKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgZmxvYXQgKGtleTogIicrZSsnIiknKTtyZXR1cm4gcn1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7Y29uc3Qgcj1wYXJzZUludChuLDEwKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgaW50IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIHJ9ZnVuY3Rpb24gUihlLHQsbj17fSl7Y29uc3Qgcj0iIit0O3JldHVybiB4W2VdIT09ciYmKHhbZV09cixMKGUsbikpLG4uZm9yY2VGbHVzaCYmIXYmJih2PXNldFRpbWVvdXQoKCgpPT57dj12b2lkIDAsRSgpfSksMTApKSxYfWZ1bmN0aW9uIEEoZSx0LG4pe3JldHVybiBSKGUsSlNPTi5zdHJpbmdpZnkodCksbiksWH1mdW5jdGlvbiBCKCl7cmV0dXJuIE9iamVjdC5rZXlzKHgpfWZ1bmN0aW9uIFcoZSl7Y29uc3QgdD1CKCksbj1bXSxyPW5ldyBSZWdFeHAoIl4iKygwLG8ucmVnRXhwRXNjYXBlKShlKS5yZXBsYWNlKC9cXFwqXFxcKi9naSwiLisiKS5yZXBsYWNlKC9cXFwqL2dpLCJbXi5dKyIpKyIkIiwiZ2kiKTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSlyLnRlc3QodFtlXSkmJm4ucHVzaCh0W2VdKSxyLmxhc3RJbmRleD0wO3JldHVybiBufWQuVFZYV2luZG93RXZlbnRzLm9uKCJzZXR0aW5ncyIsKGU9Pntjb25zdCB0PUpTT04ucGFyc2UoZSk7bnVsbD09dC52YWx1ZT9kZWxldGUgeFt0LmtleV06eFt0LmtleV09dC52YWx1ZX0pKTtjb25zdCBVPWU9Pntmb3IobGV0IHQ9MDt0PGsubGVuZ3RoOysrdClpZihrW3RdLmV4ZWMoZSkpcmV0dXJuITA7cmV0dXJuITF9LCQ9ZT0+ZS5zdWJzdHJpbmcoMCxoLmxlbmd0aCk9PT1oLHo9ZT0+e3g9e307Y29uc3QgdD0wPT09T2JqZWN0LmtleXMoZSkubGVuZ3RoO3R8fChlPT57T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e3hbdF09ZVt0XSsiIn0pKX0pKGUpLChlPT57Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7biYmJChuKSYmKGUmJlIobi5zdWJzdHJpbmcoaC5sZW5ndGgpLHAuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShuKSkscC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG4pKX19KSh0KX0saj1uZXcgci5EZWxlZ2F0ZTtmdW5jdGlvbiBIKGUpe251bGwhPT1lPyhfP3ooXy5pbml0aWFsU2V0dGluZ3N8fHt9KTpUKCk/KCgoKT0+e2lmKCEoMCxsLm9uV2lkZ2V0KSgpfHwhZy5pbmNsdWRlcyh3aW5kb3cubG9jYXRpb24uaG9zdCkpcmV0dXJuO2NvbnN0IGU9InRyYWRpbmd2aWV3LiI7Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoMD09PW4uaW5kZXhPZihlKSl7Y29uc3QgdD1uLnJlcGxhY2UoZSxtKyIuIik7cC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQscC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKSxwLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obil9fX0pKCksKCgpPT57eD17fTtjb25zdCBlPSEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSIpO2ZvcihsZXQgdD1wLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBuPXAuVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKCFufHwhJChuKSljb250aW51ZTtjb25zdCByPW4uc3Vic3RyaW5nKGgubGVuZ3RoKTtlJiYhVShyKXx8KHhbcl09cC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKX19KSgpKTp6KGV8fHt9KSxqLmZpcmUoKSk6Yj0hMH1mdW5jdGlvbiBLKGUpe189ZX1jb25zdCBHPSExLHE9ITEsWD17bG9hZGVkOkcsbG9hZGVkTW9kZWw6cSxnZXRWYWx1ZTpOLGdldEpTT046TSxnZXRCb29sOkksZ2V0RmxvYXQ6TyxnZXRJbnQ6RCxzZXRWYWx1ZTpSLHNldEpTT046QSxyZW1vdmU6VixrZXlzOkIsa2V5c01hc2s6VyxzeW5jOkgsb25TeW5jOmosc2V0U2V0dGluZ3NBZGFwdGVyOkt9LEo9WDt3aW5kb3cuVFZTZXR0aW5ncz1YLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLCgoKT0+eyJoaWRkZW4iIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiYhMCE9PWRvY3VtZW50LmhpZGRlbnx8RSgpfSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsKCgpPT57RSghMCl9KSksCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+e0UoITApfSkpLGMuZmx1c2hEZWxlZ2F0ZS5zdWJzY3JpYmUobnVsbCwoKCk9PntFKCl9KSksc2V0VGltZW91dCgoYXN5bmMoKT0+e2NvbnN0e2NsZWFyT2xkU2V0dGluZ3M6ZX09YXdhaXQgbi5lKDM1OTgwKS50aGVuKG4uYmluZChuLDc1NDE4NSkpO2UoKX0pLDNlNCl9LDE1MjE4MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRDaXJjbGVMb2dvUGFpckh0bWw6KCk9Pml9KTt2YXIgcj1uKDYyNzg0OCk7ZnVuY3Rpb24gaShlKXtjb25zdHtwcmltYXJ5TG9nb1VybDp0LHNlY29uZGFyeUxvZ29Vcmw6bixzaXplOmksY2xhc3NOYW1lOnN9PWU7cmV0dXJuYDxzcGFuIGNsYXNzPSIkeygwLHIuZ2V0QmxvY2tTdHlsZUNsYXNzZXMpKGkscyl9Ij5cblx0XHRcdCR7byh7bG9nb1VybDpuLHNpemU6aX0pfVxuXHRcdFx0JHtvKHtsb2dvVXJsOnQsc2l6ZTppfSl9XG5cdFx0PC9zcGFuPmB9ZnVuY3Rpb24gbyhlKXtjb25zdHtsb2dvVXJsOnQsc2l6ZTpufT1lLGk9KDAsci5nZXRMb2dvU3R5bGVDbGFzc2VzKShuLDIsQm9vbGVhbih0KSk7cmV0dXJuIHZvaWQgMD09PXQ/YDxzcGFuIGNsYXNzPSIke2l9Ij48L3NwYW4+YDpgPGltZyBjbGFzcz0iJHtpfSIgY3Jvc3NvcmlnaW4gc3JjPSIke3R9IiBhbHQ9IiIgLz5gfX0sNjI3ODQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldEJsb2NrU3R5bGVDbGFzc2VzOigpPT5jLGdldExvZ29TdHlsZUNsYXNzZXM6KCk9Pmx9KTt2YXIgcj1uKDkxNDQ4NyksaT1uLm4ociksbz1uKDEzNjQpLHM9big4NjAwMjUpLGE9bi5uKHMpO2Z1bmN0aW9uIGMoZSx0KXtyZXR1cm4gaSgpKGEoKS5wYWlyLGEoKVtlXSx0KX1mdW5jdGlvbiBsKGUsdD0yLG49ITApe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLGEoKS5za2VsZXRvbixvLnNrZWxldG9uVGhlbWUud3JhcHBlciwhbiYmYSgpLmVtcHR5LDE9PT10JiZpKCkoby5za2VsZXRvblRoZW1lLmFuaW1hdGVkKSl9fSw4ODQ3OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0Q2lyY2xlTG9nb0h0bWw6KCk9Pml9KTt2YXIgcj1uKDc5NDE4Nyk7bigxNDAwMTcpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxyLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLDIsZS5jbGFzc05hbWUpO3JldHVybigwLHIuaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKT9gPGltZyBjbGFzcz0iJHt0fSIgY3Jvc3NvcmlnaW4gc3JjPSIke2UubG9nb1VybH0iIGFsdD0iIj5gOmA8c3BhbiBjbGFzcz0iJHt0fSI+JHtlLnBsYWNlaG9sZGVyTGV0dGVyfHwiIn08L3NwYW4+YH19LDc5NDE4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PmMsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5sfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY0KSxzPW4oMTQwMDE3KSxhPW4ubihzKTtmdW5jdGlvbiBjKGUsdD0yLG4pe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLG4sMD09PXR8fDE9PT10P2koKShvLnNrZWxldG9uVGhlbWUud3JhcHBlcixhKCkuc2tlbGV0b24pOmEoKS5sZXR0ZXIsMT09PXQmJm8uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sMzA5OTIwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0N1c3RvbUJlaGF2aW91ckNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7ZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ITB9KTtyLmRpc3BsYXlOYW1lPSJDdXN0b21CZWhhdmlvdXJDb250ZXh0In0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3QgaT1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6cyxhcmlhSGlkZGVuOmEsLi4uY309ZSxsPSEhKGl8fG98fHMpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmMscmVmOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1oaWRkZW4iOmF8fCFsLHRpdGxlOmksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pml9KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3QgaT1uLm4ocikoKX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0sbj1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpvfSx7cGF0dGVybjoiKSIsY3RvcjpzfSx7cGF0dGVybjoiKyIsY3RvcjpjfSx7cGF0dGVybjoiLSIsY3RvcjpsfSx7cGF0dGVybjoiKiIsY3Rvcjp1fSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3RvcjpwfSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmh9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp3fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7CnBhdHRlcm46LydbXiddKi8sY3Rvcjp2fSx7cGF0dGVybjovW1wwLVx4MjBcc10rLyxjdG9yOml9XTtmdW5jdGlvbiBuKGUsdCl7dmFyIG49ZnVuY3Rpb24oKXt9O3JldHVybiBuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlfWZ1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gaShlKXt0aGlzLnZhbHVlPWV9ZnVuY3Rpb24gbygpe31mdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGEoKXt9ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIHUoKXt9ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBwKCl7fXIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LG4oaSxyKSxuKG8sciksby5wcm90b3R5cGUudmFsdWU9IigiLG4ocyxyKSxzLnByb3RvdHlwZS52YWx1ZT0iKSIsbihhLHIpLG4oYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iKyIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4obCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iLSIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4odSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iKiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0xLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4oZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4ocCxhKSxwLnByb3RvdHlwZS52YWx1ZT0iXiIscC5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHAucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBnPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLGY9L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGgoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHkoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHYoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB3KCl7aC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9bihtLHIpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1mLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9Zy5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LG49MjtuPj0xOy0tbil7dmFyIHI9dGhpcy5fdGlja2VyLnNsaWNlKDAsbik7aWYoZShyKSl7dGhpcy5fcm9vdD1yLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShuKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0sbihoLHIpLGgucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0saC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0seS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sbih2LG0pLHYucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCx2LnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxuKHcsaCksdy5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciBiPW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpCjtmdW5jdGlvbiBfKHQsbil7dmFyIHIsbz1bXTtlOmZvcig7cj1iLmV4ZWModCk7KXtmb3IodmFyIHM9ZS5sZW5ndGg7cy0tOylpZihyW3MrMV0pe2lmKGVbc10uY3Rvcil7dmFyIGE9bmV3IGVbc10uY3RvcihyW3MrMV0pO2EuX29mZnNldD1yLmluZGV4LG8ucHVzaChhKX1jb250aW51ZSBlfXZhciBjPW5ldyB5KHJbMF0pO2MuX29mZnNldD1yLmluZGV4LG8ucHVzaChjKX1pZihuJiZuLnJlY292ZXIpe3ZhciBsO2ZvcihzPW8ubGVuZ3RoO3MtLTspe3ZhciB1PW9bc107aWYodSBpbnN0YW5jZW9mIGh8fHUgaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1sKXt2YXIgZD1uZXcgbSgiIikscD1vLnNwbGljZShzLGwtcysxLGQpO2QudmFsdWU9cC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWw9c31lbHNlIHUgaW5zdGFuY2VvZiBpfHwobD12b2lkIDApfX1yZXR1cm4gb31mdW5jdGlvbiB4KGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspZVtuXWluc3RhbmNlb2YgaXx8dC5wdXNoKGVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIFMoZSl7ZT14KGUpO2Zvcih2YXIgdCxuPVtdLHI9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYz1lW2ldO2lmKGMgaW5zdGFuY2VvZiBhKXIubGVuZ3RoJiZyW3IubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+Yy5wcmVjZWRlbmNlJiYocltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWMucHJlY2VkZW5jZSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgbylyLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6aX0pO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIHMpe3ZhciBsPWVbKHQ9ci5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0sdT1lW2krMV07dSBpbnN0YW5jZW9mIGEmJiEodS5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEobCBpbnN0YW5jZW9mIGEpfHxsLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxsLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmwuY29tbXV0YXRpdmUpfHwobi51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLG4ucHVzaChpKSxyLmxlbmd0aCYmcltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHJbci5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKGk9bi5sZW5ndGg7aS0tOyllLnNwbGljZShuW2ldLDEpO3JldHVybiBlfWZ1bmN0aW9uIGsoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPV8oZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1rKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4oZT1rKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOl8sdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixuPSJ2YXIiLHI9dCxjPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sbD1bXSx1PTA7dTxlLmxlbmd0aDt1Kyspe2lmKCEoKHA9ZVt1XSlpbnN0YW5jZW9mIGkpKXtpZihkZWxldGUgYy5pc0VtcHR5LHAuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH07aWYocC5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnAuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGMud2FybmluZ3MucHVzaChkKSx1IT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYocCBpbnN0YW5jZW9mIG18fHAgaW5zdGFuY2VvZiBoKXtpZihyPT09bil7Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnB9KTtjb250aW51ZX1yPW59ZWxzZSBpZihwIGluc3RhbmNlb2YgYSl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9cj0ib3BlcmF0b3IifWVsc2UgaWYocCBpbnN0YW5jZW9mIG8pe2lmKHI9PT1uKXtjLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pO2NvbnRpbnVlfWwucHVzaChwKSxyPXR9ZWxzZSBpZihwIGluc3RhbmNlb2Ygcyl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9bC5wb3AoKXx8Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnAscmVjb3Zlcjp7cHJlcGVuZDpuZXcgb319KSxyPW59ZWxzZSBwIGluc3RhbmNlb2YgeSYmYy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pfX1mb3IoYy5icmFjZUJhbGFuY2U9bC5sZW5ndGgsciE9PW4mJmMud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2wubGVuZ3RoOyl7dmFyIHA7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoocD1sLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnB9O3I9PT1uJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IHN9KSxjLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGMuY3VycmVudFN0YXRlPXIsMD09PWMud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgYy53YXJuaW5ncywKMD09PWMuZXJyb3JzLmxlbmd0aCYmZGVsZXRlIGMuZXJyb3JzLGN9LGZhY3Rvck91dEJyYWNlczpTLG5vcm1hbGl6ZVRva2VuczpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnBhcnNlJiZlW3RdLnBhcnNlKCk7cmV0dXJuIGV9LGZsaXA6ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MCxyPTEsYz0yLGw9Myx1PW4scD0wLGc9MDtnPGUubGVuZ3RoO2crKyl7dmFyIGY9ZVtnXTtpZighKGYgaW5zdGFuY2VvZiBpKSlzd2l0Y2godSl7Y2FzZSBuOmlmKCEoZiBpbnN0YW5jZW9mIGgmJjE9PStmLnZhbHVlKSlyZXR1cm4hMTt1PXI7YnJlYWs7Y2FzZSByOmlmKCEodT09PXImJmYgaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTt1PWMsdD1nKzE7YnJlYWs7Y2FzZSBjOmlmKGYgaW5zdGFuY2VvZiBvKXU9bCxwPTE7ZWxzZSBpZihmIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGw6ZiBpbnN0YW5jZW9mIG8/cCsrOmYgaW5zdGFuY2VvZiBzJiYtLXA8PTAmJih1PWMpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIFModHx8W25ldyBoKCIxIiksbmV3IGQsbmV3IG9dLmNvbmNhdChlKS5jb25jYXQobmV3IHMpKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIFAoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4gUChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiBQKGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6ayxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjp2LE51bWJlclRva2VuOmgsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOm8sQ2xvc2VCcmFjZVRva2VuOnMsdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1TKHgoXyhlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLEModCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIEMoUyh4KF8oZSkpKSl9fX0oKTtlLmV4cG9ydHM9bn0sMjMyOTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFByb2R1Y3RJZDooKT0+dSxpc0V4Y2hhbmdlOigpPT5sLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmMsaXNQcm86KCk9PnMsaXNQcm9kdWN0RGVmaW5lZDooKT0+aSxpc1RyaWFsOigpPT5vfSk7dmFyIHI9big1ODE4OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIHMoZSkmJiFvKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnR5cGU9PT1yLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGU/bChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sODY0MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse0JpbGxpbmdDeWNsZTooKT0+cixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+byxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0ocnx8KHI9e30pKTtjb25zdCBpPTcsbz0zMH0sNTgxODkzKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse1Byb2R1Y3RUeXBlOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHJ8fChyPXt9KSl9LDQ5ODY1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5pfSk7dmFyIHI9bigyMzI5NDgpO2Z1bmN0aW9uIGkoZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IG49d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PW58fCEoMCxyLmlzUHJvZHVjdERlZmluZWQpKG4pfHwodD8hbi5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohbi5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IG49KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKG4pPz8hMX19LDk1MjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthY2N1bXVsYXRlOigpPT5zLGNvbWJpbmU6KCk9Pm99KTt2YXIgcj1uKDIzMjM2NCk7ZnVuY3Rpb24gaShlLHQsLi4ubil7bGV0IGk9bnVsbAo7Y29uc3Qgbz0oLi4udCk9PmUoLi4udC5tYXAoKGU9PmUudmFsdWUoKSkpLGk/LnZhbHVlKCkpLHM9aT1uZXcgci5XYXRjaGVkVmFsdWUobyguLi5uKSksYT0oKT0+e2NvbnN0IGU9bi5tYXAoKChlLHQpPT5lLnZhbHVlKCkpKTt0KC4uLmUpJiZzLnNldFZhbHVlKG8oLi4ubikpfSxjPW4ubWFwKChlPT5lLnNwYXduKCkpKTtmb3IoY29uc3QgZSBvZiBjKWUuc3Vic2NyaWJlKGEpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57Yy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLG4uZm9yRWFjaCgoZT0+ZS5yZWxlYXNlKCkpKX0pKX1mdW5jdGlvbiBvKGUsLi4udCl7cmV0dXJuIGkoZSwoKCk9PiEwKSwuLi50KX1mdW5jdGlvbiBzKGUsdCwuLi5uKXtsZXQgaT1udWxsO2NvbnN0IHM9bygoKC4uLmUpPT4oZS5zcGxpY2UoLTEpLGUpKSwuLi5uKSxhPXQuc3Bhd24oKSxjPSh0LC4uLm4pPT57Y29uc3Qgcj10Lm1hcCgoZT0+ZS52YWx1ZSgpKSk7cmV0dXJuIGUociwuLi5uLGk/LnZhbHVlKCkpfSxsPWk9bmV3IHIuV2F0Y2hlZFZhbHVlKGMoYS52YWx1ZSgpLC4uLnMudmFsdWUoKSkpO2xldCB1PVtdO2NvbnN0IGQ9KCk9PntsLnNldFZhbHVlKGModSwuLi5zLnZhbHVlKCkpKX0scD1lPT57dS5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHU9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLHUuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoZCkpKSxkKCl9O3AoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShwKSxzLnN1YnNjcmliZShkKTtyZXR1cm4gbC5yZWFkb25seSgpLnNwYXduKCgoKT0+e3UuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxzLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDE1MDE1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9Pm8scmFuZG9tSGFzaE46KCk9PnN9KTtjb25zdCByPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBvKCl7cmV0dXJuIHMoMTIpfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9IiI7Zm9yKGxldCBuPTA7bjxlOysrbil7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPXJbZV19cmV0dXJuIHR9fSw2NDA3NDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCxuKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxuKX1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlJTI9PTB9bi5kKHQse2NlaWxlZEV2ZW46KCk9PmksY2VpbGVkT2RkOigpPT5vLGNsYW1wOigpPT5yLGlzRXZlbjooKT0+YSx0b0ludDooKT0+c30pfSwyNDE5NTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uOigpPT5pfSk7dmFyIHI9bigyMzIzNjQpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPW5ldyByLldhdGNoZWRWYWx1ZShlKCkpLGk9e307dC5zdWJzY3JpYmUoaSwoKCk9PntuLnNldFZhbHVlKGUobi52YWx1ZSgpKSl9KSk7cmV0dXJuIG4ucmVhZG9ubHkoKS5zcGF3bigoKCk9PnQudW5zdWJzY3JpYmVBbGwoaSkpKX19LDYwMTg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjbG9uZTooKT0+cyxkZWVwRXF1YWxzOigpPT5kLGhhc1Byb3BlcnR5OigpPT5sLGlzQXJyYXk6KCk9PnAsaXNFeGlzdGVudDooKT0+Zixpc0ludGVnZXI6KCk9Pm0saXNOYU46KCk9PmcsaXNOdW1iZXI6KCk9Pm8saXNPYmplY3Q6KCk9PmMsaXNTdHJpbmc6KCk9PmgsbWVyZ2U6KCk9PmEsbm90TnVsbDooKT0+eX0pO2NvbnN0IHI9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuaGFzKGUpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBzKGUpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ7dD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcj1lW25dO3Rbbl09ciYmIm9iamVjdCI9PXR5cGVvZiByP3Mocik6cn1yZXR1cm4gdH1mdW5jdGlvbiBhKGUsdCl7aWYoIWMoZSl8fCFjKHQpKXJldHVybiBlO2Zvcihjb25zdFtuLHJdb2YgT2JqZWN0LmVudHJpZXModCkpaShuKXx8KHImJih1KHIpfHwhcChyKSYmT2JqZWN0LmdldFByb3RvdHlwZU9mKHIpIT09T2JqZWN0LnByb3RvdHlwZSk/ZVtuXT1yOihlLmhhc093blByb3BlcnR5KG4pJiZjKGVbbl0pfHwhYyhyKXx8KGVbbl09QXJyYXkuaXNBcnJheShyKT9bXTp7fSksYyhyKSYmYyhlW25dKT9hKGVbbl0scik6ZVtuXT1yKSk7cmV0dXJuIGV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gdCBpbiBlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIG51bGwhPWUmJihlLmNvbnN0cnVjdG9yPT09RnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpfWZ1bmN0aW9uIGQoZSx0LG49IiIpe2lmKGU9PT10KXJldHVyblshMCxuXTtpZih1KGUpJiYoZT12b2lkIDApLHUodCkmJih0PXZvaWQgMCksbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsbl07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LG5dO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpewpjb25zdCByPWUubGVuZ3RoO2lmKHIhPT10Lmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGxldCBpPTA7aTxyO2krKyl7Y29uc3Qgcj1kKGVbaV0sdFtpXSxuKyJbIitpKyJdIik7aWYoIXJbMF0pcmV0dXJuIHJ9cmV0dXJuWyEwLG5dfWlmKEFycmF5LmlzQXJyYXkoZSl8fEFycmF5LmlzQXJyYXkodCkpcmV0dXJuWyExLG5dO2lmKE9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGNvbnN0IHIgaW4gZSl7Y29uc3QgaT1kKGVbcl0sdFtyXSxuKyJbIityKyJdIik7aWYoIWlbMF0pcmV0dXJuIGl9cmV0dXJuWyEwLG5dfWNvbnN0IHA9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX07ZnVuY3Rpb24gZyhlKXtyZXR1cm4hKGU8PTB8fGU+MCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gbnVsbCE9ZX1mdW5jdGlvbiBtKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG51bGwhPWUmJmUuY29uc3RydWN0b3I9PT1TdHJpbmd9ZnVuY3Rpb24geShlKXtyZXR1cm4gbnVsbCE9PWV9TnVtYmVyLmlzTmFOPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9fSw0OTI2NzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxuPXt9O2lmKCFlKXJldHVybiBuO2xldCBpPXQuZXhlYyhlKTtmb3IoO2k7KW5bcihpWzFdKV09cihpWzJdKSxpPXQuZXhlYyhlKTtyZXR1cm4gbn1mdW5jdGlvbiBvKCl7cmV0dXJuIGkod2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIHMoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF07d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKCIiLGRvY3VtZW50LnRpdGxlLGUpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgbiBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobikmJm51bGwhPWVbbl0pe2NvbnN0IHI9ZVtuXSxpPSJvYmplY3QiPT10eXBlb2Ygcj9KU09OLnN0cmluZ2lmeShyKTpTdHJpbmcocik7dC5wdXNoKHtrZXk6bixwYWlyOmVuY29kZVVSSUNvbXBvbmVudChuKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpfSl9cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUua2V5PnQua2V5PzE6ZS5rZXk8dC5rZXk/LTE6MCkpLm1hcCgoZT0+ZS5wYWlyKSkuam9pbigiJiIpfW4uZCh0LHtjcmVhdGVVcmxQYXJhbXM6KCk9PmEsZ2V0VXJsUGFyYW1zOigpPT5vLHJlbW92ZUhhc2hGcm9tVXJsOigpPT5zfSl9LDEwNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtOdW1lcmljRm9ybWF0dGVyOigpPT5vfSk7dmFyIHI9big1OTg5MjIpLGk9big1NDY0ODUpO2NsYXNzIG97Y29uc3RydWN0b3IoZT17fSl7dGhpcy5fb3B0aW9ucz1lfWZvcm1hdChlLHQ9e30pe2lmKCFOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIFN0cmluZyhlKTtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bj10aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTpzPXRoaXMuX29wdGlvbnMubm9FeHBvbmVudGlhbEZvcm19PXQse21pblByZWNpc2lvbjphLHByZWNpc2lvbjpjfT10aGlzLl9vcHRpb25zLGw9KDAsaS5nZXROdW1iZXJGb3JtYXQpKG4pO3JldHVybiB2b2lkIDA9PT1jP28uX2Zvcm1hdE5vRUltcGwoZSxsLGMsYSk6KDAsci5mb3JtYXROdW1iZXIpKGUsbCxjLHMsYSl9cGFyc2UoZSx0KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixwcmVjaXNpb246b309dGhpcy5fb3B0aW9ucyxzPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShufHx0Py5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBhPSgwLHIucGFyc2VOdW1iZXIpKGUscyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT8obyYmKGE9K2EudG9GaXhlZChvKSkse3JlczohMCx2YWx1ZTphfSk6e3JlczohMX19c3RhdGljIGZvcm1hdE5vRShlLHQpe3JldHVybiB0aGlzLl9mb3JtYXROb0VJbXBsKGUsdCl9c3RhdGljIF9mb3JtYXROb0VJbXBsKGUsdCxuLGkpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoZSk/KHQ9dD8/e2dyb3VwaW5nU2VwYXJhdG9yOiIiLGRlY2ltYWxTaWduOiIuIn0sKDAsci5mb3JtYXROdW1iZXIpKGUsdCxuLCEwLGkpKTpTdHJpbmcoZSl9fX0sMTI1MjE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9Pm99KTt2YXIgcj1uKDExNTI5MyksaT1uKDc1NTYyNyk7Y2xhc3MgbyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om49ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG4/KDAsci5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgbyhlKX19fSw5ODQzNzYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VfSE9MREVSOigpPT5zLFZvbHVtZUZvcm1hdHRlcjooKT0+bH0pO3ZhciByPW4oNzgzMjU0KSxpPW4oNjAxODQxKSxvPW4oMTA3MDQ1KTtjb25zdCBzPSItLS0iLGE9W3t2YWx1ZTozLGxldHRlcjoiSyJ9LHt2YWx1ZTo2LGxldHRlcjoiTSJ9LHt2YWx1ZTo5LGxldHRlcjoiQiJ9LHsKdmFsdWU6MTIsbGV0dGVyOiJUIn1dO2Z1bmN0aW9uIGMoZSx0KXtjb25zdCBuPWUtdDtyZXR1cm4gYS5maW5kKChlPT5lLnZhbHVlPj1uKSk/P2FbYS5sZW5ndGgtMV19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InZvbHVtZSI7Y29uc3R7cHJlY2lzaW9uOnQ9MCxtaW5QcmVjaXNpb246bj0wLGRpbWVuc2lvblByZWNpc2lvbjpyPTIsZGltZW5zaW9uTWluUHJlY2lzaW9uOmk9MCxzaWduaWZpY2FudERpZ2l0czpzPTMsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEsbm9FeHBvbmVudGlhbEZvcm06YyxyZW1vdmVTcGFjZUJlZm9yZURpbWVuc2lvbjpsfT1lO3RoaXMuX3ByZWNpc2lvbj10LHRoaXMuX2Zvcm1hdHRlcj1uZXcgby5OdW1lcmljRm9ybWF0dGVyKHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6YSxwcmVjaXNpb246dGhpcy5fcHJlY2lzaW9uLG1pblByZWNpc2lvbjpuLG5vRXhwb25lbnRpYWxGb3JtOmN9KSx0aGlzLl9kaW1lbnNpb25QcmVjaXNpb249cix0aGlzLl9kaW1lbnNpb25Gb3JtYXR0ZXI9bmV3IG8uTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX2RpbWVuc2lvblByZWNpc2lvbixtaW5QcmVjaXNpb246aSxub0V4cG9uZW50aWFsRm9ybTpjfSksdGhpcy5fc2lnbmlmaWNhbnREaWdpdHM9cyx0aGlzLl9mcmFjdGlvbmFsVmFsdWVzPXZvaWQgMCE9PXQmJnQ+MCx0aGlzLl9zcGFjZUJlZm9yZURpbWVuc2lvbj1sPyIiOiLigK8iLHRoaXMuX29wdGlvbnM9ZX1zdGF0ZSgpe2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDplLC4uLnR9PXRoaXMuX29wdGlvbnM7cmV0dXJuIHR9Zm9ybWF0KGUsdCl7aWYoISgwLGkuaXNOdW1iZXIpKGUpKXJldHVybiBzO2lmKE1hdGguYWJzKGUpPj0xZTEwMClyZXR1cm4gci50KG51bGwse2NvbnRleHQ6InZvbHVtZS1mb3JtYXR0ZXIifSxuKDU3MDYyKSk7bGV0IG89IiI7TWF0aC5hYnMoZSk8MSYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pKSxlPDA/bz0i4oiSIjplPjAmJnQ/LnNpZ25Qb3NpdGl2ZSYmKG89IisiKSxlPU1hdGguYWJzKGUpO2NvbnN0IGE9ISEodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Pz90aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCk7bGV0IGwsdSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMTtpZihkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cyYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLGQ9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxKSxkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cylsPXRoaXMuX2Zvcm1hdE51bWJlcihlLGEsdGhpcy5fZm9ybWF0dGVyKTtlbHNle2xldCB0PWMoZCx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyk7Y29uc3Qgbj1NYXRoLnBvdygxMCx0LnZhbHVlKTtlPSsoZS9uKS50b0ZpeGVkKHRoaXMuX2RpbWVuc2lvblByZWNpc2lvbikqbix0PWMoTWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzKSxsPXRoaXMuX2Zvcm1hdE51bWJlcihlL01hdGgucG93KDEwLHQudmFsdWUpLGEsdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyKSx1PXQubGV0dGVyfXJldHVybiB1P2Ake299JHtsfSR7dGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb259JHt1fWA6YCR7b30ke2x9YH1wYXJzZShlLHQpe2lmKGU9PT1zKXJldHVybntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfTtjb25zdCBuPXtLOjFlMyxNOjFlNixCOjFlOSxUOjFlMTJ9LHI9KGU9ZS5yZXBsYWNlKCLiiJIiLCItIikpLnNsaWNlKC0xKTtpZihuLmhhc093blByb3BlcnR5KHIpKXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnNsaWNlKDAsLTEpLnRyaW0oKSx0KSxzPW8ucmVzP28udmFsdWU6TmFOO3JldHVybigwLGkuaXNOdW1iZXIpKHMpP3tyZXM6ITAsdmFsdWU6cypuW3JdfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19e2NvbnN0IG49dGhpcy5fZm9ybWF0dGVyLnBhcnNlKGUudHJpbSgpLHQpO2xldCByPW4ucmVzP24udmFsdWU6TmFOO3JldHVybi0wPT09ciYmKHI9MCksKDAsaS5pc051bWJlcikocik/e3JlczohMCx2YWx1ZTpyfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19fXN0YXRpYyBzZXJpYWxpemUoZSl7cmV0dXJuIGUuc3RhdGUoKX1zdGF0aWMgZGVzZXJpYWxpemUoZSl7cmV0dXJuIG5ldyBsKGUpfV9mb3JtYXROdW1iZXIoZSx0LG4pe2lmKHRoaXMuX2ZyYWN0aW9uYWxWYWx1ZXMmJjAhPT1lKXtjb25zdCB0PTE0LU1hdGguY2VpbChNYXRoLmxvZzEwKGUpKSxuPU1hdGgucG93KDEwLHQpO2U9TWF0aC5yb3VuZChlKm4pL259cmV0dXJuIG4uZm9ybWF0KGUse2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0fSl9fX0sOTAxMDIyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnIsaXNTZXBhcmF0b3JJdGVtOigpPT5pfSk7Y29uc3Qgcj0iIyMjIjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocil9fSw2NDE1OTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVySW5Xb3JkOigpPT5kLGRlY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+cCxodG1sRXNjYXBlOigpPT5sLHJlbW92ZVRhZ3M6KCk9PnV9KTtjb25zdCByPS9bPCInJj5dL2csaT1lPT5gJiMke2UuY2hhckNvZGVBdCgwKX07YCxvPXsiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZxdW90OyI6JyInLCImYXBvczsiOiInIiwiJmFtcDsiOiImIiwiJiM2MDsiOiI8IiwiJiM2MjsiOiI+IiwiJiMzNDsiOiciJywiJiMzOTsiOiInIiwiJiMwMzk7IjoiJyIsIiYjMzg7IjoiJiJ9LHM9T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhvKS5tYXAoKChbZSx0XSk9Pih7W3RdOmV9KSkpKSxhPW5ldyBSZWdFeHAoT2JqZWN0LmtleXMobykuam9pbigifCIpLCJnIik7bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhzKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiBjKGUpewpyZXR1cm4gZS5yZXBsYWNlKGEsKGU9Pm9bZV18fGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnJlcGxhY2UocixpKX1mdW5jdGlvbiB1KGU9IiIpe3JldHVybiBlLnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCIiKX1mdW5jdGlvbiBkKGU9IiIpe3JldHVybiBlLnJlcGxhY2UoL1xiXHcvZywoZT0+ZS50b1VwcGVyQ2FzZSgpKSl9ZnVuY3Rpb24gcChlKXtjb25zdCB0PUludGwuU2VnbWVudGVyO2lmKHQpe2NvbnN0IG49bmV3IHQodm9pZCAwLHtncmFudWxhcml0eToiZ3JhcGhlbWUifSksW3tzZWdtZW50OnJ9PXtzZWdtZW50Om51bGx9XT1uLnNlZ21lbnQoZSk7cmV0dXJuIHI/LnRvVXBwZXJDYXNlKCk/P251bGx9e2NvbnN0IHQ9ZS5jb2RlUG9pbnRBdCgwKTtyZXR1cm4gdD9TdHJpbmcuZnJvbUNvZGVQb2ludCh0KS50b1VwcGVyQ2FzZSgpOm51bGx9fX0sMTM2OTkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5yLGNvcHlyaWdodExhYmVsOigpPT51fSk7dmFyIHIsaT1uKDE4NTI3MSksbz1uKDkxNDQ4Nykscz1uLm4obyksYT1uKDYwMTg0MSksYz1uKDM4NzIzMSksbD1uKDM5OTA5Mik7ZnVuY3Rpb24gdSh7c3ZnVGV4dDplLGljb246dCx0aGVtZTpvLHVybDp1LG1vZGU6ZCx2ZXJ0aWNhbFBvc2l0aW9uOnA9ci5WZXJ0aWNhbC5Cb3R0b20saG9yaXpvbnRhbFBvc2l0aW9uOmc9ci5Ib3Jpem9udGFsLkVuZCxzbmFwVG9FZGdlOmY9ITAsaXNFeHBhbmRlZDptPSExLGNsYXNzTmFtZTpofSl7bGV0IHk7c3dpdGNoKGQpe2Nhc2UibmV3IjpjYXNlIndpdGhfYm9yZGVyIjpjYXNlImxhcmdlX3RyYWRlIjp5PSgwLGEuY2xvbmUpKG8pO2JyZWFrO2RlZmF1bHQ6eT0oMCxjLm1lcmdlVGhlbWVzKSgoMCxhLmNsb25lKShsKSxvKX1jb25zdCB2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtsZXQgdzt1JiYodz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdy5jbGFzc0xpc3QuYWRkKC4uLnkubGFiZWxfX2xpbmsuc3BsaXQoL1xzLykpLHcuaHJlZj11LHcudGFyZ2V0PSJfYmxhbmsiLHcucmVsPSJub29wZW5lciBub3JlZmVycmVyIix3LnNldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQtdHlwZSIsImNvcHlyaWdodCIpLHcuYXJpYUxhYmVsPWkudChudWxsLHZvaWQgMCxuKDUxNzg1OSkpLHYuYXBwZW5kKHcpKSx2LmNsYXNzTmFtZT1zKCkoeS5sYWJlbCxnPT09ci5Ib3Jpem9udGFsLlN0YXJ0JiZ5LnN0YXJ0LGc9PT1yLkhvcml6b250YWwuRW5kJiZ5LmVuZCxwPT09ci5WZXJ0aWNhbC5Ub3AmJnkudG9wLHA9PT1yLlZlcnRpY2FsLkJvdHRvbSYmeS5ib3R0b20sZiYmImxhcmdlX3RyYWRlIiE9PWQmJnkuc25hcCwibGFyZ2Vfb2xkIj09PWQmJnkubGFyZ2UsKG18fCJsYXJnZV90cmFkZSI9PT1kKSYmeS5leHBhbmRlZCxoLCJqcy1jb3B5cmlnaHQtbGFiZWwiKSx2LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9PntmdW5jdGlvbiBlKCl7di5jbGFzc0xpc3QucmVtb3ZlKHkuZXhwYW5kZWRCeUNsaWNrKSx2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpfXYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbil8fHYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWQpfHwodi5jbGFzc0xpc3QuY29udGFpbnMoeS5leHBhbmRlZEJ5Q2xpY2spP3V8fGUoKToodi5jbGFzc0xpc3QuYWRkKHkuZXhwYW5kZWRCeUNsaWNrKSx2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpKSl9KSk7Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi5jbGFzc05hbWU9eS5sb2dvV3JhcCxiLmlubmVySFRNTD10O2NvbnN0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiBfLmNsYXNzTmFtZT15LnN2Z1RleHRXcmFwLF8uaW5uZXJIVE1MPWUsdi5hcHBlbmQoYixfKSxbdix5XX0hZnVuY3Rpb24oZSl7bGV0IHQsbjshZnVuY3Rpb24oZSl7ZVtlLkJvdHRvbT0wXT0iQm90dG9tIixlW2UuVG9wPTFdPSJUb3AifSh0PWUuVmVydGljYWx8fChlLlZlcnRpY2FsPXt9KSksZnVuY3Rpb24oZSl7ZVtlLlN0YXJ0PTBdPSJTdGFydCIsZVtlLkVuZD0xXT0iRW5kIn0obj1lLkhvcml6b250YWx8fChlLkhvcml6b250YWw9e30pKX0ocnx8KHI9e30pKX0sNjUzODE3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5vLkNvcHlyaWdodFBvc2l0aW9uLGNyZWF0ZUNvcHlyaWdodExhYmVsOigpPT5hfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY5OTEpLHM9big1Mjg4NjQpO2Z1bmN0aW9uIGEoe3NoZXJpZmZPcHRpb25zOmUsLi4udH0pe2NvbnN0W24scl09KDAsby5jb3B5cmlnaHRMYWJlbCkodCksYT1lJiZlLmluY2x1ZGVzKHMuS25vd25BY3Rpb24uRXhwYW5kKSxjPWUmJmUuaW5jbHVkZXMocy5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk7cmV0dXJuIG4uY2xhc3NOYW1lPWkoKShuLmNsYXNzTmFtZSwoYXx8YykmJnIuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbiksbn19LDc0MjU3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZSYmZS51dG1fY2FtcGFpZ24mJihlLnV0bV9jYW1wYWlnbis9YC0ke3R9YCksZX1hc3luYyBmdW5jdGlvbiBpKGUsdCxyLGkpe2lmKCJsZW50YXJ1Ij09PWUpe2NvbnN0e2dldExlbnRhQ29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDQ0MjUzKSxuLmUoODUwMzgpXSkudGhlbihuLmJpbmQobiwyODQwNDEpKTtyZXR1cm4gZSgpfWlmKCJjbW9uZXljb210dyI9PT1lKXtjb25zdHtnZXRDbW9uZXljb210d0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg1OTk0MSksbi5lKDY0NDUpLG4uZSg3MTM5NCldKS50aGVuKG4uYmluZChuLDc3Nzc2OSkpO3JldHVybiBlKHQscil9aWYoIm5ldyI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg5Nzc5Nyksbi5lKDc2MDQwKV0pLnRoZW4obi5iaW5kKG4sOTgxMTU3KSk7cmV0dXJuIGUodCxyKX1pZigid2l0aF9ib3JkZXIiPT09aSl7CmNvbnN0e2dldFRyYWRpbmdWaWV3Q29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDUzNTIxKSxuLmUoMTY4MTMpXSkudGhlbihuLmJpbmQobiw4NTI2NjkpKTtyZXR1cm4gZSh0LHIpfWlmKCJsYXJnZV90cmFkZSI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg3NDAxMSksbi5lKDc5MDQxKV0pLnRoZW4obi5iaW5kKG4sNDkzNTU5KSk7cmV0dXJuIGUodCxyKX17Y29uc3R7Z2V0VHJhZGluZ1ZpZXdDb3B5cmlnaHREYXRhOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNTk5NDEpLG4uZSg5NzUwOSldKS50aGVuKG4uYmluZChuLDcwNTc5MCkpO3JldHVybiBlKHQscil9fW4uZCh0LHthZGRVdG1DYW1wYWlnblNvdXJjZTooKT0+cixnZXRDdXN0b21lckNvcHlyaWdodERhdGE6KCk9Pml9KX0sNzQ4MDAyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFdpZGdldFNoZXJpZmZBY3Rpb25zOigpPT5sfSk7dmFyIHI9bigyMjEwNjEpLGk9bigzODQwMTcpLG89big1Mjg4NjQpO2NvbnN0IHM9d2luZG93LldJREdFVF9TSEVSSUZGX0hPU1R8fCJodHRwczovL3dpZGdldC1zaGVyaWZmLnhzdGFnaW5nLXdpZGdldC50diIsYT0oMCxyLmdldExvZ2dlcikoIldpZGdldFNoZXJpZmYuV2lkZ2V0Iik7bGV0IGM9bnVsbDthc3luYyBmdW5jdGlvbiBsKCl7cmV0dXJuIG51bGw9PT1jJiYoYz1hd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9ZnVuY3Rpb24oKXtpZihkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMmJmRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgpcmV0dXJuIGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1tkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoLTFdO3RyeXtyZXR1cm4gbmV3IFVSTChkb2N1bWVudC5yZWZlcnJlcikub3JpZ2lufWNhdGNoKGUpe3JldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT1lKXJldHVybiBhLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixzKTt0LnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsZSk7cmV0dXJuKGF3YWl0KDAsaS5mZXRjaCkodC50b0pTT04oKSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PWUuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOmUuanNvbigpfSkpLmNhdGNoKChlPT4oYS5sb2dXYXJuKGUubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKChlPT5vLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyhlKSkpfSgpKSxQcm9taXNlLnJlc29sdmUoYyl9fSw1Mjg4NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7S25vd25BY3Rpb246KCk9PnIsd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9Pml9KSxmdW5jdGlvbihlKXtlLkV4cGFuZD0iZXhwYW5kLWxvZ28iLGUuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShyfHwocj17fSkpO2NvbnN0IGk9bmV3IFNldChbci5FeHBhbmQsci5MYXJnZVRyYWRlTG9nb10pfSw0NzkzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtlbmFibGVkOigpPT5jLGdldENvbmZpZzooKT0+dSxnZXRQcm9kdWN0SWQ6KCk9PmF9KTt2YXIgcj1uKDUwMjU4NyksaT1uKDEyNzcxMSksbz1uKDMxODk3NCkscz1uKDIxMjIyOSk7ZnVuY3Rpb24gYShlKXtsZXQgdD13aW5kb3cudXNlcjsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LnVzZXImJih0PXdpbmRvdy51c2VyKSxlJiYodD1lKTtsZXQgbj10Py5wcm9fcGxhbnx8ImZyZWUiO3JldHVybiJmcmVlIiE9PW4mJiEoMCxzLmlzVHJpYWxQcm9kdWN0KShuKXx8KG49KDAscy5nZXRQcm9kdWN0Rm9yVHJpYWwpKG4pKSxufWZ1bmN0aW9uIGMoZSx0LG4pe2xldCByPXdpbmRvdy51c2VyO24mJihyPW4pO2NvbnN0IGk9dShlLHQscik7aWYoIWkpcmV0dXJuITE7aWYoaS5kaXNhYmxlX29uX3RyaWFsJiYoIXJ8fHIuaXNfdHJpYWwpKXJldHVybiExO2NvbnN0IHM9aS5kaXNhYmxlX29uX2xpdGVfcGxhbjtpZihzJiZyLmlzX2xpdGVfcGxhbil7aWYoImFsbCI9PT1zKXJldHVybiExO2lmKCJleGNsdWRlX21vYmlsZSI9PT1zJiYhby5DaGVja01vYmlsZS5hbnkoKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9cltlXTtyZXR1cm4gdD90LmV4dGVuZHM/T2JqZWN0LmFzc2lnbih7fSxsKHQuZXh0ZW5kcyksdCk6dDpudWxsfWZ1bmN0aW9uIHUoZSx0LG4pe2xldCByPWwodHx8KGEobik/PyIiKSk7aWYoIXIpcmV0dXJuIG51bGw7Y29uc3Qgbz13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyO3JldHVybiBvJiZpW29dJiYocj1PYmplY3QuYXNzaWduKHt9LHIsaVtvXSkpLHImJnJbZV18fG51bGx9fSw0Mjk2NihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDg1NjMyNCksaT1uKDk2MzA5OCk7KDAsci5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxyLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDYzMTYzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5zLGdldEluaXREYXRhOigpPT5vLHVwZGF0ZUluaXREYXRhOigpPT5pfSk7dmFyIHI9big3OTI2MTIpO2Z1bmN0aW9uIGkoKXsoMCxyLnVwZGF0ZUluaXREYXRhKSgpfWZ1bmN0aW9uIG8oKXtyZXR1cm4oMCxyLmdldEluaXREYXRhKSgpfWZ1bmN0aW9uIHMoKXtyZXR1cm4oMCxyLmdldEZyZXNoSW5pdERhdGEpKCl9fSw4NjIyMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TG9nb1NpemU6KCk9PnIuTG9nb1NpemUsZ2V0TG9nb1VybFJlc29sdmVyOigpPT51fSkKO3ZhciByPW4oNjIwMzU0KSxpPW4oMTM4NjM4KSxvPW4oNjMxNjM0KSxzPW4oODEwNDEpO2NvbnN0IGE9KDAsbigyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGN7Y29uc3RydWN0b3IoZSl7KDAsaS5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugci5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHIuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9cy5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHIuTG9nb1NpemUuTWVkaXVtKX19bGV0IGw7ZnVuY3Rpb24gdSgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFsKXtjb25zdCBlPSgwLG8uZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2w9bmV3IGModCl9cmV0dXJuIGx9KCl9fSw0MDAxODEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiByKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNzA2NDQpLG4uZSg5NTIwNyldKS50aGVuKG4uYmluZChuLDQ3NzE1MCkpO3JldHVybiBlKCl9bi5kKHQse2dldFRyYWNrZXI6KCk9PnJ9KX0sMTU2ODI5KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gaShlKXtyZXR1cm4iYm9uZCI9PT1lfWZ1bmN0aW9uIG8oZSl7cmV0dXJuImVjb25vbWljIj09PWV9ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfW4uZCh0LHtoYXNDcnlwdG9UeXBlc3BlYzooKT0+cixpc0JvbmQ6KCk9PmksaXNFY29ub21pY1N5bWJvbDooKT0+byxpc0Z1dHVyZXM6KCk9PnN9KX0sODUxNDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Rva2VuaXplOigpPT5jfSk7dmFyIHIsaT1uKDkwMTAyMiksbz1uKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KHJ8fChyPXt9KSk7Y29uc3Qgcz0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9KGU9KDAsby5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOnMsaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6aS5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1hKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IG49W10scj1PYmplY3Qua2V5cyh0KTtsZXQgaTtjb25zdCBvPSgoZT1hKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7aT1vLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9ci5sZW5ndGg7dC0tOylpZihpW3QrMV0pe3JbdF0mJm4ucHVzaCh7dmFsdWU6aVt0KzFdLHR5cGU6clt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0OmkuaW5kZXh9KSxlPSEwO2JyZWFrfWV8fG4ucHVzaCh7dmFsdWU6aVswXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDppLmluZGV4fSl9cmV0dXJuIG59fSw3OTUzODMoZSx0LG4pe24oMzYzMjY5KS5zZXRDbGFzc2VzKCksbig0Mjk2Niksbig2MTAyNjgpO3ZhciByPW4oNzQ5NjQ4KS53aGVuRG9jdW1lbnRSZWFkeSxpPW4oOTMxMTk4KS5oYW5kbGVUVkxpbmtzQ2xpY2s7cigoKCk9PntpKCl9KSl9LAo3OTgzOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTVFlMRV9TSE9SVF9OQU1FUzooKT0+cyxTWU1CT0xfU1RSSU5HX0RBVEE6KCk9PmwsaXNDaGFydFN0eWxlU3R1ZHlJbmZvQ29tcGxleDooKT0+YX0pO24oNTgwMzcpO3ZhciByPW4oNzI4NDM2KSxpPW4oNzc3NjYxKSxvPW4oNTUwMzkzKTtuZXcgU2V0KFszLDYsNyw4LDksMTFdKSxuZXcgU2V0KFsxLDJdKTtjb25zdCBzPXswOiJiYXIiLDE6ImNhbmRsZSIsOToiaG9sbG93Q2FuZGxlIiwyOiJsaW5lIiwxNDoibGluZVdpdGhNYXJrZXJzIiwxNToic3RlcGxpbmUiLDM6ImFyZWEiLDE2OiJobGNBcmVhIiw0OiJyZW5rbyIsNzoicGIiLDU6ImthZ2kiLDY6InBuZiIsODoiaGEiLDEwOiJiYXNlbGluZSIsMTE6InJhbmdlIiwxMjoiaGlsbyIsMTM6ImNvbHVtbiIsMTc6InZvbEZvb3RwcmludCIsMTg6InRwbyIsMTk6InZvbENhbmRsZXMiLDIwOiJzdnAiLDIxOiJobGNCYXJzIn07ZnVuY3Rpb24gYShlKXtyZXR1cm4idmFyaWFudHMiaW4gZX1jb25zdCBjPVt7dHlwZTppLnN0dWR5VHBvUHJlcmlvZGljSWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSx7dHlwZTppLnN0dWR5VHBvU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9XSxsPXs0Ont0eXBlOiJCYXJTZXRSZW5rb0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNzp7dHlwZToiQmFyU2V0UHJpY2VCcmVha0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjozNH0sNTp7dHlwZToiQmFyU2V0S2FnaUB0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNjp7dHlwZToiQmFyU2V0UG5GQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw4Ont0eXBlOiJCYXJTZXRIZWlrZW5Bc2hpQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NjB9LDExOnt0eXBlOiJCYXJTZXRSYW5nZUB0di1iYXNpY3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjcyfSwxNzp7dHlwZTpyLnN0dWR5Vm9sRm9vdHByaW50SWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSwxODp7dmFyaWFudHM6YyxzZWxlY3RvcjplPT57Y29uc3QgdD1lO3JldHVybiJEYXkiPT09dC5wZXJpb2QmJjE9PT10LnBlcmlvZHNOdW0/Y1sxXTpjWzBdfX0sMjA6e3R5cGU6by5zdHVkeVZiUFNlc3Npb25zSWQsYmFzaWNTdHVkeVZlcnNpb246MTI2fX19LDYxMDI2OChlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSwoMCxuKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ocnx8KHI9e30pKX0sMjEyMjI5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NVU1RPTV9TVUZGSVg6KCk9PmEsRUFfU1VGRklYOigpPT5zLFRSSUFMX1NVRkZJWDooKT0+byxiaWxsaW5nQ3ljbGVUb01vbnRoOigpPT52LGJpbGxpbmdDeWNsZVRvVGltZVVuaXQ6KCk9PmMsY291bnREaXNjb3VudEJ5QmlsbGluZ0N5Y2xlOigpPT55LGdldERpc2NvdW50UHJvZHVjdElkOigpPT5nLGdldFBsYW5OYW1lOigpPT54LGdldFByb2R1Y3RGb3JUcmlhbDooKT0+cCxnZXRSZWFkYWJsZUN5Y2xlOigpPT5sLGdldFJlYWRhYmxlTnVtZXJpY0N5Y2xlOigpPT51LGdldFJlbGF0aXZlQW1vdW50T2ZEYXlzRnJvbUJpbGxpbmdDeWNsZTooKT0+aCxodW1hbml6ZUNhcmRQbGFuOigpPT5tLGh1bWFuaXplUHJvUGxhbjooKT0+Zixpc1RyaWFsUHJvZHVjdDooKT0+ZCxyb3VuZDA6KCk9PmIscm91bmQyOigpPT53LHJvdW5kMm9yMDooKT0+X30pO24oODI5MTgwKTt2YXIgcj1uKDE4NTI3MSksaT1uKDg2NDAzNCk7Y29uc3Qgbz0iX3RyaWFsIixzPSJfZGlzY291bnQiLGE9Il9jdXN0b20iO2Z1bmN0aW9uIGMoZSl7cmV0dXJue3k6ci50KG51bGwse3BsdXJhbDoieWVhcnMiLGNvdW50OjF9LG4oNDQyNjY2KSksbTpyLnQobnVsbCx7cGx1cmFsOiJtb250aHMiLGNvdW50OjF9LG4oMzIzNDg1KSksIjNtIjpyLnQobnVsbCx2b2lkIDAsbig4NjM4NTIpKX1bZV18fCIifWZ1bmN0aW9uIGwoZSl7cmV0dXJue206ci50KG51bGwsdm9pZCAwLG4oNTU2NTY4KSkseTpyLnQobnVsbCx2b2lkIDAsbig3MjExMTgpKSwiM20iOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gdShlKXtyZXR1cm57W2kuQmlsbGluZ0N5Y2xlLk1vbnRobHldOnIudChudWxsLHZvaWQgMCxuKDU1NjU2OCkpLFtpLkJpbGxpbmdDeWNsZS5PbmVZZWFyXTpyLnQobnVsbCx2b2lkIDAsbigxMTE5NzYpKSxbaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHNdOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbmV3IFJlZ0V4cChvKyIkIikudGVzdChlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLnNwbGl0KG8pWzBdfWZ1bmN0aW9uIGcoZSx0LG4pe3JldHVybmAke2V9XyR7dH0ke259YH1mdW5jdGlvbiBmKGUsdCl7bGV0IGk9ZTtzd2l0Y2goZSl7Y2FzZSJmcmVlIjppPSJCYXNpYyI7YnJlYWs7Y2FzZSJwcm8iOmk9IkVzc2VudGlhbCI7YnJlYWs7Y2FzZSJwcm9fcmVhbHRpbWUiOmk9IlBsdXMiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW0iOmk9IlByZW1pdW0iO2JyZWFrO2Nhc2UicHJvX2V4cGVydCI6aT0iRXhwZXJ0IjticmVhaztjYXNlInByb19wcmVtaXVtX2V4cGVydCI6aT0iVWx0aW1hdGUifXJldHVybiB0JiYoaSs9IiAiK3IudChudWxsLHZvaWQgMCxuKDgzNTgpKSksaX1mdW5jdGlvbiBtKGUpe2xldCB0PWU7c3dpdGNoKGUpe2Nhc2UicHJvIjp0PSJFc3NlbnRpYWwiO2JyZWFrO2Nhc2UicHJvX3JlYWx0aW1lIjp0PSJQbHVzIjticmVhawo7Y2FzZSJwcm9fcHJlbWl1bSI6dD0iUHJlbWl1bSI7YnJlYWs7Y2FzZSJwcm9fZXhwZXJ0Ijp0PSJFeHBlcnQiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW1fZXhwZXJ0Ijp0PSJVbHRpbWF0ZSI7YnJlYWs7Y2FzZSJmcmVlIjp0PSJCYXNpYyJ9cmV0dXJuIHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG49dHx8bmV3IERhdGUscj12KGUpLGk9bi5nZXRNb250aCgpK3Isbz1uZXcgRGF0ZShuZXcgRGF0ZShuKS5zZXRNb250aChpKSk7cmV0dXJuIG8uZ2V0TW9udGgoKT5pJTEyJiZvLnNldERhdGUoMCksZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQuZ2V0VGltZSgpLWUuZ2V0VGltZSgpO3JldHVybiBNYXRoLnJvdW5kKG4vMWUzLzYwLzYwLzI0KX0obixvKX1mdW5jdGlvbiB5KGUsdCxuKXtyZXR1cm4gTWF0aC5yb3VuZCgodC1lKSp2KG4pKX1mdW5jdGlvbiB2KGUpe3N3aXRjaChlKXtjYXNlIGkuQmlsbGluZ0N5Y2xlLk9uZVllYXI6cmV0dXJuIDEyO2Nhc2UgaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHM6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4gMX19ZnVuY3Rpb24gdyhlKXtyZXR1cm4oTWF0aC5yb3VuZCgxMDAqZSkvMTAwKS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1NYXRoLnJvdW5kKDEwMCplKS8xMDA7cmV0dXJuIE1hdGgucm91bmQodCkudG9GaXhlZCgwKX1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9TWF0aC5yb3VuZCgxMDAqZSkvMTAwLG49TWF0aC5yb3VuZCh0KTtyZXR1cm4gTWF0aC5hYnModC1uKT4wP3QudG9GaXhlZCgyKTpuLnRvRml4ZWQoMCl9ZnVuY3Rpb24geChlKXtjb25zdCB0PXIudChudWxsLHZvaWQgMCxuKDE1Mzc2NikpO2lmKGQoZSkpe2NvbnN0IG49ZihwKGUpKTtyZXR1cm4gdC5mb3JtYXQoe3Byb1BsYW5OYW1lOm59KX1yZXR1cm4gZihlKX19LDQ0MzU1NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtwYXJzZUh0bWw6KCk9Pm8scGFyc2VIdG1sRWxlbWVudDooKT0+c30pO2NvbnN0IHI9bmV3IFdlYWtNYXA7dmFyIGk7ZnVuY3Rpb24gbyhlLHQpe2xldCBuLGk7cmV0dXJuIG49bnVsbD09dD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6OT09PXQubm9kZVR5cGU/dC5kb2N1bWVudEVsZW1lbnQ6dCxyJiYoaT1yLmdldChuKSksaXx8KGk9bi5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksaS5zZWxlY3ROb2RlQ29udGVudHMobiksciYmci5zZXQobixpKSksaS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoZSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49byhlLHQpLHI9bi5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gbnVsbCE9PXImJm4ucmVtb3ZlQ2hpbGQocikscn0hZnVuY3Rpb24oZSl7ZVtlLkVsZW1lbnQ9MV09IkVsZW1lbnQiLGVbZS5Eb2N1bWVudD05XT0iRG9jdW1lbnQifShpfHwoaT17fSkpfSw5MzExOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aGFuZGxlVFZMaW5rc0NsaWNrOigpPT5hfSk7dmFyIHI9big0MDAxODEpLGk9big2MDE1ODcpLG89big3MzA2NDUpO2NvbnN0IHM9ImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldF90dl9saW5rX2NsaWNrL2pzb25zY2hlbWEvMS0wLTAiO2Z1bmN0aW9uIGEoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9Pntjb25zdCB0PWUudGFyZ2V0LmNsb3Nlc3QoIjpsaW5rIik7dD8uaG9zdG5hbWUmJigwLG8uaXNJbnRlcm5hbEhvc3QpKHQuaG9zdG5hbWUsInRyYWRpbmd2aWV3LmNvbSIpJiZhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49ZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoPjApcmV0dXJuKDAsaS5maWx0ZXJVdG1JbmZvKShlKTtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uaHJlZik7cmV0dXJue3V0bV9jYW1wYWlnbjp0LmdldCgidXRtX2NhbXBhaWduIil8fHZvaWQgMCx1dG1fc291cmNlOnQuZ2V0KCJ1dG1fc291cmNlIil8fHZvaWQgMH19KCk7KGF3YWl0KDAsci5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYyhzLHt3aWRnZXRfdHlwZTpsKG4pLGRvbWFpbjpjKG4pLGxpbms6ZSx0YXJnZXRfdHlwZTp0fSl9KHQuaHJlZix0LmRhdGFzZXQudGFyZ2V0VHlwZXx8bnVsbCl9KSl9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PWxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdfHxkb2N1bWVudC5yZWZlcnJlcjtyZXR1cm4gZS51dG1fc291cmNlfHxmdW5jdGlvbihlKXt0cnl7cmV0dXJuIG5ldyBVUkwoZSkuaG9zdH1jYXRjaChlKXtyZXR1cm4iIn19KHQpfWZ1bmN0aW9uIGwoZSl7aWYoZS51dG1fY2FtcGFpZ24pcmV0dXJuIGUudXRtX2NhbXBhaWduO2NvbnN0IHQ9bG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIHQuaW5jbHVkZXMoImVtYmVkLXdpZGdldCIpP3Quc3BsaXQoIi8iKVsyXTp0fX0sMzg5Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3RyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvOigpPT5pfSk7dmFyIHI9big0MDAxODEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxyLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfbG9hZF9tZXRhX2luZm8vanNvbnNjaGVtYS8xLTAtMCIsZSl9fSw5MDIxMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZXh0cmFjdFdpZGdldFNldHRpbmdzOigpPT5pfSk7Y29uc3Qgcj17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtmdW5jdGlvbiBpKGUsdD1bXSxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4saT1bXSxvKXtjb25zdCBzPW4uc2xpY2UoMSksYT1kZWNvZGVVUklDb21wb25lbnQocyk7bGV0IGM9e307dHJ5eyIiIT09YSYmKGM9SlNPTi5wYXJzZShhKSx2b2lkIDAhPT1vJiZvKGUsYyksT2JqZWN0LmtleXMoYykuZm9yRWFjaCgoZT0+eyhyW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGNbZV19KSkpfWNhdGNoKGUpe2M9e30sCmNvbnNvbGUud2FybigiSGFzaCBwYXJhbXMgcGFyc2luZyBlcnJvciEgSGFzaCBwYXJhbXMgaWdub3JlZC4iKX1jb25zdCBsPXQuc2xpY2UoMSksdT10LmluY2x1ZGVzKCIlIik/ZGVjb2RlVVJJQ29tcG9uZW50KGwpOnQsZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHUpO2xldCBwPXt9O3RyeXtkLmZvckVhY2goKChlLHQpPT57aS5pbmNsdWRlcyh0KXx8KHBbdF09ZSl9KSksdm9pZCAwIT09byYmbyhlLHApfWNhdGNoKGUpe3A9e30sY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGMscCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxuKX19LDI1NDY3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnRlcnZhbDooKT0+dSxSZXNvbHV0aW9uS2luZDooKT0+byxTcGVjaWFsUmVzb2x1dGlvbktpbmQ6KCk9PnN9KTtjb25zdCByPS9eKFxkKikoW1RTSERXTVJdKSQvLGk9L14oXGQrKSQvO3ZhciBvLHM7IWZ1bmN0aW9uKGUpe2UuVGlja3M9InRpY2tzIixlLlNlY29uZHM9InNlY29uZHMiLGUuTWludXRlcz0ibWludXRlcyIsZS5EYXlzPSJkYXlzIixlLldlZWtzPSJ3ZWVrcyIsZS5Nb250aHM9Im1vbnRocyIsZS5SYW5nZT0icmFuZ2UiLGUuSW52YWxpZD0iaW52YWxpZCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5Ib3Vycz0iaG91cnMifShzfHwocz17fSkpO2NvbnN0IGE9e307YVtvLlRpY2tzXT0xZTMsYVtvLlNlY29uZHNdPTFlMyxhW28uTWludXRlc109NjAqYVtvLlNlY29uZHNdLGFbby5EYXlzXT0xNDQwKmFbby5NaW51dGVzXSxhW28uV2Vla3NdPTcqYVtvLkRheXNdO2NvbnN0IGM9e1Q6by5UaWNrcyxTOm8uU2Vjb25kcyxEOm8uRGF5cyxXOm8uV2Vla3MsTTpvLk1vbnRocyxSOm8uUmFuZ2V9LGw9bmV3IFNldChbby5UaWNrcyxvLlNlY29uZHMsby5NaW51dGVzXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2tpbmQ9by5JbnZhbGlkLHRoaXMuX211bHRpcGxpZXI9MCxlIT09by5JbnZhbGlkJiZ0PjAmJih0aGlzLl9raW5kPWUsdGhpcy5fbXVsdGlwbGllcj10KX1raW5kKCl7cmV0dXJuIHRoaXMuX2tpbmR9Z3VpS2luZCgpe3JldHVybiB0aGlzLmlzTWludXRlSG91cnMoKT9zLkhvdXJzOnRoaXMuX2tpbmR9bXVsdGlwbGllcigpe3JldHVybiB0aGlzLl9tdWx0aXBsaWVyfWlzVmFsaWQoKXtyZXR1cm4gdGhpcy5raW5kKCkhPT1vLkludmFsaWQmJnRoaXMubXVsdGlwbGllcigpPjB9aXNEV00oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJiF0aGlzLmlzUmFuZ2UoKSYmIXRoaXMuaXNJbnRyYWRheSgpJiYhdGhpcy5pc1RpY2tzKCl9aXNJbnRyYWRheSgpe2NvbnN0IGU9bC5oYXModGhpcy5raW5kKCkpO3JldHVybiB0aGlzLmlzVmFsaWQoKSYmZX1pc1NlY29uZHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLlNlY29uZHN9aXNNaW51dGVzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5NaW51dGVzfWlzTWludXRlSG91cnMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1pbnV0ZXMmJigoZT10aGlzLm11bHRpcGxpZXIoKSk+PTYwJiYhKGUlNjApKTt2YXIgZX1pc0RheXMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLkRheXN9aXNXZWVrcygpe3JldHVybiB0aGlzLmtpbmQoKT09PW8uV2Vla3N9aXNNb250aHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1vbnRoc31pc1JhbmdlKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5SYW5nZX1pc1RpY2tzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5UaWNrc31pczFUaWNrKCl7cmV0dXJuIHRoaXMuaXNUaWNrcygpJiYxPT09dGhpcy5tdWx0aXBsaWVyKCl9aXNUaW1lQmFzZWQoKXtyZXR1cm4hdGhpcy5pc1JhbmdlKCl9bGV0dGVyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZ0aGlzLmtpbmQoKSE9PW8uTWludXRlcz90aGlzLmtpbmQoKVswXS50b1VwcGVyQ2FzZSgpOiIifXZhbHVlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMua2luZCgpPT09by5NaW51dGVzP3RoaXMubXVsdGlwbGllcigpKyIiOnRoaXMubXVsdGlwbGllcigpK3RoaXMubGV0dGVyKCk6IiJ9aXNFcXVhbFRvKGUpe2lmKCEoZSBpbnN0YW5jZW9mIHUpKXRocm93IG5ldyBFcnJvcigiQXJndW1lbnQgaXMgbm90IGFuIEludGVydmFsIik7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCFlLmlzVmFsaWQoKSkmJih0aGlzLmtpbmQoKT09PWUua2luZCgpJiZ0aGlzLm11bHRpcGxpZXIoKT09PWUubXVsdGlwbGllcigpKX1pbk1pbGxpc2Vjb25kcyhlPURhdGUubm93KCkpe2lmKCF0aGlzLmlzVmFsaWQoKXx8dGhpcy5pc1JhbmdlKCkpcmV0dXJuIE5hTjtpZih0aGlzLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZSk7dC5zZXRVVENNb250aCh0LmdldFVUQ01vbnRoKCkrKHRoaXMubXVsdGlwbGllcigpfHwxKSk7cmV0dXJuK3QtZX1jb25zdCB0PXRoaXMubXVsdGlwbGllcigpO3JldHVybiBhW3RoaXMua2luZCgpXSp0fXN0YXRpYyBpc0VxdWFsKGUsdCl7cmV0dXJuIGU9PT10fHx1LnBhcnNlKGUpLmlzRXF1YWxUbyh1LnBhcnNlKHQpKX1zdGF0aWMgcGFyc2VFeHQoZSl7ZT0oZSsiIikudG9VcHBlckNhc2UoKS5zcGxpdCgiLCIpWzBdO2xldCB0PXIuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/IkgiPT09dFsyXT97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLDYwKmQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOnMuSG91cnN9OntpbnRlcnZhbDpuZXcgdShjW3RbMl1dLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOmNbdFsyXV19Oih0PWkuZXhlYyhlKSxudWxsIT09dD97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOm8uTWludXRlc306e2ludGVydmFsOm5ldyB1KG8uSW52YWxpZCwwKSxndWlSZXNvbHV0aW9uS2luZDpvLkludmFsaWR9KX1zdGF0aWMgcGFyc2UoZSl7cmV0dXJuIHUucGFyc2VFeHQoZSkuaW50ZXJ2YWx9c3RhdGljIGtpbmQoZSl7cmV0dXJuIHUucGFyc2UoZSkua2luZCgpfXN0YXRpYyBpc1ZhbGlkKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVmFsaWQoKQp9c3RhdGljIGlzRFdNKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzRFdNKCl9c3RhdGljIGlzSW50cmFkYXkoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNJbnRyYWRheSgpfXN0YXRpYyBpc1NlY29uZHMoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNTZWNvbmRzKCl9c3RhdGljIGlzTWludXRlcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZXMoKX1zdGF0aWMgaXNNaW51dGVIb3VycyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZUhvdXJzKCl9c3RhdGljIGlzRGF5cyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc0RheXMoKX1zdGF0aWMgaXNXZWVrcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc1dlZWtzKCl9c3RhdGljIGlzTW9udGhzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzTW9udGhzKCl9c3RhdGljIGlzUmFuZ2UoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNSYW5nZSgpfXN0YXRpYyBpc1RpY2tzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVGlja3MoKX1zdGF0aWMgaXNUaW1lQmFzZWQoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNUaW1lQmFzZWQoKX1zdGF0aWMgbm9ybWFsaXplKGUpe2NvbnN0IHQ9dS5wYXJzZShlKTtyZXR1cm4gdC5pc1ZhbGlkKCk/dC52YWx1ZSgpOm51bGx9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD8xOnBhcnNlSW50KGUsMTApfX0sNzM4NDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzQW5kcm9pZDooKT0+Zyxpc0FueU1vYmlsZTooKT0+dixpc0JsYWNrQmVycnk6KCk9PmYsaXNDaHJvbWU6KCk9PmEsaXNFZGdlOigpPT5sLGlzRkY6KCk9PmMsaXNJT1M6KCk9Pm0saXNJUGFkOigpPT55LGlzTGludXg6KCk9PnAsaXNNYWM6KCk9PmQsaXNPcGVyYU1pbmk6KCk9PmgsaXNTYWZhcmk6KCk9PnUsbW9iaWxldG91Y2g6KCk9Pm8sdG91Y2g6KCk9PnN9KTtjb25zdCByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixpPXImJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LG89ciYmaSYmIm9ub3JpZW50YXRpb25jaGFuZ2UiaW4gd2luZG93LHM9ciYmKGl8fCEhbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSxhPXImJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSxjPXImJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xLGw9ciYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHU9ciYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksZD1yJiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHA9KHImJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyJiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGc9ciYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGY9ciYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG09ciYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxoPXImJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx5PXImJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksdj1nfHxmfHxtfHxofX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.010Z","timestamp":1785136901010,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3552.4c5535183b7a0330a89d.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\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 07:21:41 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: 891b03839233c9cbe3c8a6ac4a4b37eb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12194,"size_decoded":4814,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"8cb7d12d58618d9e9433db7cf169e678","sha1":"dd2e2830dd9f4f8c3e4000fb90c94712f7315f67","sha256":"e54bba4bdf7867aec664fc0c023a4e77650464bb7e2e1a2d80ef75500363cd92","sha512":"9c9ce4a19d03df706a0fb6495901a15dd961b87797e48e43669a130ec51d4d3788fcd9e251dd54f1560134509553e5c7a1cc17249ad1f6f562d104b6b10d9a66","ssdeep":"192:ETCSGJXJ6h4GX8tWKEN7Nbj61RO2g6OQLgwF8TEz5XnC/x6/v60KjBHAH4yiFbBw:EmSGehtqWNN7Nbj61ROQLRF8TkVNjaAj","tlshash":"ab42b53d719358a8666780e980390b7ba6283980a58741bcfb78dccf46cddd46277f38","first_seen":"2026-07-22T11:33:41.980937Z","last_seen":"2026-07-28T07:05:00.655129Z","times_seen":1853,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTUyXSx7NDUwMjk1KHQpe3QuZXhwb3J0cz17fX0sNDYyMzUodCl7dC5leHBvcnRzPXt9fSw5NzMxMTkodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7cXVvdGVUaWNrZXJGb3JtYXRDaGFuZ2U6KCk9Pm59KTt2YXIgaT1zKDc1NTYyNyksYT1zKDk4NDM3Nik7dmFyIG89cygyMTYxMSk7ZnVuY3Rpb24gbih0LGUscyl7Y29uc3Qgbj0oMCxvLnRvTnVtYmVyT3JVbmRlZmluZWQpKHQpO2lmKCJlY29ub21pYyI9PT1lPy50eXBlJiYwPT09bnx8dm9pZCAwPT09bilyZXR1cm47Y29uc3QgbD1zPy5jdXN0b21QcmljZUZvcm1hdHRlcnx8InZvbHVtZSI9PT1lLmZvcm1hdCYmbmV3IGEuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pfHxuZXcgaS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTplLnByaWNlc2NhbGV8fDEwMCxtaW5Nb3ZlOmUubWlubW92fHwxLGZyYWN0aW9uYWw6ZS5mcmFjdGlvbmFsLG1pbk1vdmUyOmUubWlubW92ZTJ9KSxyPXZvaWQgMCE9PXM/LnNpZ25Qb3NpdGl2ZUNoYW5nZT9zLnNpZ25Qb3NpdGl2ZUNoYW5nZTpzPy5zaWduUG9zaXRpdmU7cmV0dXJuKCh0LGU9ITApPT5lP2AoJHt0fSlgOnQpKGwuZm9ybWF0KG4se3NpZ25Qb3NpdGl2ZTpyLHNpZ25OZWdhdGl2ZTpzPy5zaWduTmVnYXRpdmV9KSxzPy5jaGFuZ2VJbkJyYWNrZXRzKX19LDYwMjg3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3F1b3RlVGlja2VyRm9ybWF0Q3VycmVuY3k6KCk9PmF9KTt2YXIgaT1zKDE4NTI3MSk7ZnVuY3Rpb24gYSh0KXtzd2l0Y2godCl7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtjYXNlIlBDVERZIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDQ0NTA1KSk7Y2FzZSJQQ1RQQVIiOnJldHVybiBpLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNDY4NDYwKSk7ZGVmYXVsdDpyZXR1cm4gdH19Nzg2NzYwKHQsZSxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4ibWN4X2ZyZWUiPT09dH1mdW5jdGlvbiBhKHQpe3JldHVybiEhdCYmKGkodC5zeW1ib2xuYW1lKXx8InBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZpKHQudmFsdWVzPy5hbHRlcm5hdGl2ZSkpfXMuZChlLHtpc01jeFF1b3RlRGF0YTooKT0+YX0pfSwxMDE3MTIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3JldHVybiB0LmVuZHNXaXRoKCJfZGx5Iil9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hIXQmJighKHZvaWQgMD09PXQuc3ltYm9sbmFtZXx8IWkodC5zeW1ib2xuYW1lKSl8fEJvb2xlYW4oInBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZ0LnZhbHVlcyYmdm9pZCAwIT09dC52YWx1ZXMuYWx0ZXJuYXRpdmUmJmkodC52YWx1ZXMuYWx0ZXJuYXRpdmUpKSl9cy5kKGUse2lzU2ZRdW90ZURhdGE6KCk9PmF9KX0sMjAyNDYwKHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Fic3RyYWN0SW5kaWNhdG9yOigpPT5sfSk7dmFyIGk9cygyMjEwNjEpLGE9cygxNTAxNTApLG89cygxNTk1MTMpO3MoMzQ0Nzg1KTtjb25zdCBuPSgwLGkuZ2V0TG9nZ2VyKSgiR1VJLkJsb2Nrcy5BYnN0cmFjdEluZGljYXRvciIpO2NsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5fY2xhc3NTdWZmaXg9IiIsdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJhYnN0cmFjdC1pbmRpY2F0b3IiLHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9zaG93VG9vbHRpcD0hMCx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX3Rvb2x0aXBUeXBlPSJjdXN0b20iLHRoaXMuX2xhc3RUb29sdGlwVGV4dD0iIix0aGlzLl9xdW90ZVNlc3Npb249dC5xdW90ZVNlc3Npb259Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Z2V0VG9vbHRpcFRleHQoKXtyZXR1cm4gdGhpcy5fbGFiZWxNYXBbdGhpcy5fdmFsdWVdfHwiIn1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZWx9dXBkYXRlKHQsZSl7dGhpcy5fdXBkYXRlVmFsdWUodCxlKSx0aGlzLl9yZW5kZXIoKX1zZXRUb29sdGlwRW5hYmxlZCh0PSExKXt0aGlzLl9zaG93VG9vbHRpcCE9PXQmJih0aGlzLl9zaG93VG9vbHRpcD10LHRoaXMuX3JlbmRlclRvb2x0aXAoKSl9ZW5hYmxlU2hvcnRNb2RlKCl7ITAhPT10aGlzLl9zaG9ydE1vZGUmJih0aGlzLl9zaG9ydE1vZGU9ITAsdGhpcy5fcmVuZGVyKCkpfWRpc2FibGVTaG9ydE1vZGUoKXshMSE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLG8uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKHQpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09dCYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQsdGhpcy5fcmVuZGVyKCkpfV9pbml0KHQpe3RoaXMuX2VsPXQuZWw/dC5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPXQuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPXQuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPXQubGFiZWxNYXAsCnRoaXMuX3Nob3dUb29sdGlwPXQuc2hvd1Rvb2x0aXAsdGhpcy5fY2xhc3NTdWZmaXg9dC5jbGFzc1N1ZmZpeCx0aGlzLl9zeW1ib2xOYW1lPXQuc3ltYm9sLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQuc2Vzc2lvblN0YXR1c0ljb24sdGhpcy5fb25WYWx1ZUNoYW5nZT10Lm9uVmFsdWVDaGFuZ2UsdC50b29sdGlwVHlwZSYmKHRoaXMuX3Rvb2x0aXBUeXBlPXQudG9vbHRpcFR5cGUpLHRoaXMuX3F1b3RlU2Vzc2lvbkdVSUQ9KDAsYS5ndWlkKSgpLCEwPT09dC5zaG9ydCYmdGhpcy5lbmFibGVTaG9ydE1vZGUoKSx0LmRhdGEmJnRoaXMuX3VwZGF0ZVZhbHVlKHQuZGF0YSl9X2NsZWFyQ2xhc3Nlcygpe09iamVjdC52YWx1ZXModGhpcy5fY2xhc3NNYXApLm1hcCgodD0+e3RoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7dH1gKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGAke3R9JHt0aGlzLl9jbGFzc1N1ZmZpeH1gKX0pKX1fcmVuZGVyKCl7dGhpcy5fcmVuZGVyQ2xhc3NlcygpLHRoaXMuX3JlbmRlclRvb2x0aXAoKSx0aGlzLl9yZW5kZXJMYWJlbCgpfV9yZW5kZXJMYWJlbCgpe3RoaXMuX2VsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fdXBkYXRlVmFsdWUodCxlKXtjb25zdCBzPXRoaXMuX2dldFZhbHVlRnJvbURhdGEodCk7KGV8fHMhPT10aGlzLl92YWx1ZSkmJih0aGlzLl92YWx1ZT1zLHRoaXMuX29uVmFsdWVDaGFuZ2U/Lih0aGlzLl92YWx1ZSkpfV9yZW5kZXJDbGFzc2VzKCl7Y29uc3QgdD10aGlzLl9lbC5jbGFzc0xpc3Q7dC5hZGQodGhpcy5fY29tcG9uZW50Q2xhc3MsdGhpcy5fY29tcG9uZW50Q2xhc3MrdGhpcy5fY2xhc3NTdWZmaXgpO2NvbnN0IGU9dGhpcy5fY2xhc3NNYXBbdGhpcy5fdmFsdWVdO2Zvcihjb25zdCBzIGluIHRoaXMuX2NsYXNzTWFwKXtjb25zdCBpPXRoaXMuX2NsYXNzTWFwW3NdO2kmJihpPT09ZT8odC5hZGQoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5hZGQoaSsiX193aXRoSWNvbiIpKToodC5yZW1vdmUoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5yZW1vdmUoaSsiX193aXRoSWNvbiIpKSl9IWUmJnRoaXMuX3ZhbHVlJiZuLmxvZ1dhcm4oYG5vIGNsYXNzTmFtZSBmb3Igc3RhdHVzICR7dGhpcy5fdmFsdWV9YCl9X3JlbmRlclRvb2x0aXAoKXtjb25zdCB0PXRoaXMuX3Nob3dUb29sdGlwP3RoaXMuZ2V0VG9vbHRpcFRleHQoKToiIjt0IT09dGhpcy5fbGFzdFRvb2x0aXBUZXh0JiYodGhpcy5fbGFzdFRvb2x0aXBUZXh0PXQsdGhpcy5fZWwuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdCksImN1c3RvbSI9PT10aGlzLl90b29sdGlwVHlwZSYmdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHRoaXMuX3Nob3dUb29sdGlwKSl9X2dldFF1b3RlU2Vzc2lvbklkKCl7cmV0dXJuYCR7dGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4fS4ke3RoaXMuX3F1b3RlU2Vzc2lvbkdVSUR9YH19fSwzMDY5MCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtEYXRhTW9kZUluZGljYXRvcjooKT0+ZH0pO3ZhciBpLGE9cygxODUyNzEpLG89KHMoODI5MTgwKSxzKDQ1MDI5NSkscygyMDI0NjApKTshZnVuY3Rpb24odCl7dC5EZWxheWVkPSJkZWxheWVkIix0LkRlbGF5ZWRTdHJlYW1pbmc9ImRlbGF5ZWRfc3RyZWFtaW5nIix0LkVuZE9mRGF5PSJlbmRvZmRheSIsdC5TbmFwc2hvdD0ic25hcHNob3QiLHQuUmVhbHRpbWU9InJlYWx0aW1lIix0LkNvbm5lY3Rpbmc9ImNvbm5lY3RpbmciLHQuTG9hZGluZz0ibG9hZGluZyIsdC5JbnZhbGlkPSJpbnZhbGlkIix0LkZvcmJpZGRlbj0iZm9yYmlkZGVuIix0LlN0cmVhbWluZz0ic3RyZWFtaW5nIn0oaXx8KGk9e30pKTtjb25zdCBuPXtjb25uZWN0aW5nOiJ0di1kYXRhLW1vZGUtLWNvbm5lY3RpbmciLGRlbGF5ZWQ6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZGVsYXllZF9zdHJlYW1pbmc6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZW5kb2ZkYXk6InR2LWRhdGEtbW9kZS0tZW5kb2ZkYXkiLGZvcmJpZGRlbjoidHYtZGF0YS1tb2RlLS1mb3JiaWRkZW4iLHJlYWx0aW1lOiJ0di1kYXRhLW1vZGUtLXJlYWx0aW1lIixzbmFwc2hvdDoidHYtZGF0YS1tb2RlLS1zbmFwc2hvdCIsbG9hZGluZzoidHYtZGF0YS1tb2RlLS1sb2FkaW5nIixyZXBsYXk6InR2LWRhdGEtbW9kZS0tcmVwbGF5In07ZnVuY3Rpb24gbCgpe3JldHVybntjb25uZWN0aW5nOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfY29ubmVjdGluZ19sZXR0ZXIifSxzKDg1OTk5NCkpLGRlbGF5ZWQ6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LHMoODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxzKDM5NDUwMSkpLGVuZG9mZGF5OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxzKDU3MDkzOSkpLGZvcmJpZGRlbjphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxzKDM5NDkyMSkpLHJlYWx0aW1lOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0scyg4NjY0NCkpLHNuYXBzaG90OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0scygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxzKDc1NjQ1NykpfX1jb25zdCByPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgZCBleHRlbmRzIG8uQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KHQpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9CnNldE1vZGUodCxlKXt0aGlzLnVwZGF0ZSh7dmFsdWVzOnt1cGRhdGVfbW9kZTp0LHVwZGF0ZV9tb2RlX3NlY29uZHM6ZX19KX1oaWRlKCl7dGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKX1zaG93KCl7dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX1nZXRUb29sdGlwVGV4dCgpe2xldCB0PSIiO2NvbnN0IGU9dGhpcy5nZXRWYWx1ZSgpO2lmKCIiPT09ZSlyZXR1cm4gdDtzd2l0Y2goZSl7Y2FzZSJkZWxheWVkIjp0PWEudChudWxsLHZvaWQgMCxzKDc5MDUyNCkpO2JyZWFrO2Nhc2UiZGVsYXllZF9zdHJlYW1pbmciOnQ9YS50KG51bGwsdm9pZCAwLHMoODE0NjEpKTticmVhaztkZWZhdWx0OnQ9dGhpcy5fbGFiZWxNYXBbZV18fHR9cmV0dXJuWyJkZWxheWVkIiwiZGVsYXllZF9zdHJlYW1pbmciXS5pbmNsdWRlcyhlKSYmKHQ9dC5mb3JtYXQoe251bWJlcjpTdHJpbmcoTWF0aC5yb3VuZCh0aGlzLl9tb2RlSW50ZXJ2YWwvNjApKX0pKSx0fV9pbml0KHQ9e30pe2NvbnN0IGU9T2JqZWN0LmFzc2lnbih7fSx7Y2xhc3NNYXA6bixjbGFzc1N1ZmZpeDoiIixkYXRhOnt2YWx1ZXM6e3VwZGF0ZV9tb2RlOiJjb25uZWN0aW5nIn19LGxhYmVsTWFwOntjb25uZWN0aW5nOmEudChudWxsLHZvaWQgMCxzKDE5NDE5NCkpLGRlbGF5ZWQ6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZW5kb2ZkYXk6YS50KG51bGwsdm9pZCAwLHMoNjAxNzY0KSksZm9yYmlkZGVuOmEudChudWxsLHZvaWQgMCxzKDMyODMxMykpLHJlYWx0aW1lOmEudChudWxsLHZvaWQgMCxzKDg4MzkyOCkpLHNuYXBzaG90OmEudChudWxsLHZvaWQgMCxzKDU2MjM5NSkpLGxvYWRpbmc6IiIscmVwbGF5OmEudChudWxsLHZvaWQgMCxzKDk3NzI3KSl9LG1vZGVJbnRlcnZhbDo2MDAsc2hvcnQ6ITEsc2hvcnRMYWJlbE1hcDpsKCksc2hvd1Rvb2x0aXA6ITAsdG9vbHRpcFR5cGU6ImN1c3RvbSJ9LHQpO3RoaXMuX21vZGVJbnRlcnZhbD1lLm1vZGVJbnRlcnZhbHx8NjAwLHRoaXMuX3Nob3J0TGFiZWxNYXA9ZS5zaG9ydExhYmVsTWFwfHxsKCksc3VwZXIuX2luaXQoZSksdGhpcy5fcmVuZGVyKCl9X2dldFZhbHVlRnJvbURhdGEodCl7bGV0IGU7cmV0dXJuIGU9dm9pZCAwIT09dC52YWx1ZXMmJnZvaWQgMCE9PXQudmFsdWVzLnVwZGF0ZV9tb2RlP3QudmFsdWVzLnVwZGF0ZV9tb2RlOnRoaXMuZ2V0VmFsdWUoKSxyW2VdfHxlfV91cGRhdGVWYWx1ZSh0LGUpe3ZvaWQgMCE9PXQudmFsdWVzJiZ2b2lkIDAhPT10LnZhbHVlcy51cGRhdGVfbW9kZV9zZWNvbmRzJiYodGhpcy5fbW9kZUludGVydmFsPXQudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMpLHN1cGVyLl91cGRhdGVWYWx1ZSh0LGUpfX19LDU2MzkxOCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtNYXJrZXRTdGF0dXNJbmRpY2F0b3I6KCk9Pmx9KTt2YXIgaT1zKDE4NTI3MSksYT1zKDIwMjQ2MCk7cyg0NjIzNSk7Y29uc3Qgbz17aW52YWxpZDoidHYtbWFya2V0LXN0YXR1cy0taW52YWxpZCIsbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQiLG91dF9vZl9zZXNzaW9uOiJ0di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbiIscG9zdF9tYXJrZXQ6InR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0IixwcmVfbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IixuaWdodDoidHYtbWFya2V0LXN0YXR1cy0tbmlnaHQiLGxvYWRpbmc6InR2LW1hcmtldC1zdGF0dXMtLWxvYWRpbmciLGhvbGlkYXk6InR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkiLHJlcGxheToidHYtbWFya2V0LXN0YXR1cy0tcmVwbGF5IixkZWxpc3RlZDoidHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQifSxuPXtpbnZhbGlkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1pbnZhbGlkIixtYXJrZXQ6InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW1hcmtldCIsb3V0X29mX3Nlc3Npb246InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW91dC1vZi1zZXNzaW9uIixwb3N0X21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcG9zdC1tYXJrZXQiLG5pZ2h0OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1uaWdodCIscHJlX21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcHJlLW1hcmtldCIsbG9hZGluZzoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tbG9hZGluZyIsaG9saWRheToidHYtbWFya2V0LXN0YXR1c19faWNvbi0taG9saWRheSIscmVwbGF5OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1yZXBsYXkiLGRlbGlzdGVkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1kZWxpc3RlZCJ9O2NsYXNzIGwgZXh0ZW5kcyBhLkFic3RyYWN0SW5kaWNhdG9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMuX3F1b3RlU2Vzc2lvblByZWZpeD0ibWFya2V0LXN0YXR1cy1pbmRpY2F0b3IiLHRoaXMuX2NvbXBvbmVudENsYXNzPSJ0di1tYXJrZXQtc3RhdHVzIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2luaXQodCl9c2V0U3RhdHVzKHQsZSl7Y29uc3Qgcz17dmFsdWVzOntjdXJyZW50X3Nlc3Npb246ImRlbGlzdGVkIj09PXRoaXMuZ2V0VmFsdWUoKT8iZGVsaXN0ZWQiOnR9fTt0aGlzLnVwZGF0ZShzLGUpfWdldFRvb2x0aXBUZXh0KCl7bGV0IHQ9c3VwZXIuZ2V0VG9vbHRpcFRleHQoKTtyZXR1cm4iIj09PXR8fCIiIT09dGhpcy5fZXh0cmFUaXRsZSYmKHQ9YCR7dH0sICR7dGhpcy5fZXh0cmFUaXRsZX1gKSx0fXNldEV4dHJhVGl0bGUodCl7dGhpcy5fZXh0cmFUaXRsZT10fXJlc2V0KCl7dGhpcy5fY2xlYXJDbGFzc2VzKCksdGhpcy5fbGFiZWxFbC50ZXh0Q29udGVudD0iIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLCIiKSx0aGlzLl92YWx1ZT0iIn1lbmFibGVTaG9ydE1vZGUodD0hMCl7dm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpLHN1cGVyLmVuYWJsZVNob3J0TW9kZSgpfWRpc2FibGVTaG9ydE1vZGUoKXsKdm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHN1cGVyLmRpc2FibGVTaG9ydE1vZGUoKX1fcmVuZGVyTGFiZWwoKXt0aGlzLl9sYWJlbEVsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fZ2V0VmFsdWVGcm9tRGF0YSh0KXtyZXR1cm4gdC52YWx1ZXM/LnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpPyJkZWxpc3RlZCI6dm9pZCAwIT09dC52YWx1ZXM/LmN1cnJlbnRfc2Vzc2lvbj90LnZhbHVlcy5jdXJyZW50X3Nlc3Npb246dGhpcy5nZXRWYWx1ZSgpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJMYWJlbEVsZW1lbnQoKSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbj90aGlzLl9yZW5kZXJJY29uRWxlbWVudCgpOnRoaXMuX3JlbmRlckRvdEVsZW1lbnQoKSxzdXBlci5fcmVuZGVyKCl9X2luaXQodCl7Y29uc3QgZT1PYmplY3QuYXNzaWduKHt9LGZ1bmN0aW9uKCl7Y29uc3QgdD17aW52YWxpZDppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoNjM4NDA1KSksbWFya2V0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg3MDI3ODgpKSxvdXRfb2Zfc2Vzc2lvbjppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoOTE0NTcyKSkscG9zdF9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDg2NzQ1NSkpLHByZV9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDkxODg0MikpLGxvYWRpbmc6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDI3NDQxNSkpLGhvbGlkYXk6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDY4NTEwNCkpLGRlbGlzdGVkOmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg1NTIxNSkpLG5pZ2h0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg4OTc1OTEpKSxyZXBsYXk6IiJ9O3JldHVybntjbGFzc01hcDpvLGljb25DbGFzc01hcDpuLGNsYXNzU3VmZml4OiIiLGRhdGE6e30sZXh0cmFUaXRsZToiIixsYWJlbE1hcDp0LHNob3J0OiExLHNob3dUb29sdGlwOiEwLHRvb2x0aXBUeXBlOiJjdXN0b20ifX0oKSx0KTtzdXBlci5faW5pdChlKSx0aGlzLnNldEV4dHJhVGl0bGUoZS5leHRyYVRpdGxlKSx0aGlzLl9yZW5kZXIoKX1fcmVuZGVyTGFiZWxFbGVtZW50KCl7dm9pZCAwPT09dGhpcy5fbGFiZWxFbCYmKHRoaXMuX2xhYmVsRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2xhYmVsRWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2xhYmVsYCksdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKGAke3RoaXMuX2NvbXBvbmVudENsYXNzfV9fbGFiZWwke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2xhYmVsRWwpKX1fcmVuZGVyRG90RWxlbWVudCgpe3RoaXMuX2VsLmNvbnRhaW5zKHRoaXMuX2ljb25FbCkmJnRoaXMuX2VsLnJlbW92ZUNoaWxkKHRoaXMuX2ljb25FbCksdm9pZCAwPT09dGhpcy5fZG90RWwmJih0aGlzLl9kb3RFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZG90RWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2RvdGApLHRoaXMuX2RvdEVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19kb3Qke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2RvdEVsKSl9X3JlbmRlckljb25FbGVtZW50KCl7dGhpcy5fZWwuY29udGFpbnModGhpcy5fZG90RWwpJiZ0aGlzLl9lbC5yZW1vdmVDaGlsZCh0aGlzLl9kb3RFbCksdm9pZCAwPT09dGhpcy5faWNvbkVsJiZ0aGlzLl92YWx1ZSYmKHRoaXMuX2ljb25FbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uYCksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uJHt0aGlzLl9jbGFzc1N1ZmZpeH1gKSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9pY29uRWwpKX19fSw4OTE3NzgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UHJpY2VDb2xvcmVyOigpPT5pfSk7dmFyIGksYT1zKDIxODgxNCksbz1zKDUwNTU2KTshZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3JldHVybiAwPT09dD9lJiZ2b2lkIDAhPT1lLm5ldXRyYWw/ZS5uZXV0cmFsOmEuY29sb3IuYmxhY2s3MDp0PjA/ZSYmdm9pZCAwIT09ZS51cD9lLnVwOm8uY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdOmUmJnZvaWQgMCE9PWUuZG93bj9lLmRvd246by5jb2xvcnNQYWxldHRlWyJjb2xvci1kYW5nZXIiXX10LmZvcm1hdFNpZ249ZSx0LmZvcm1hdERpZmY9ZnVuY3Rpb24odCxzKXtyZXR1cm4gZShzLXQpfSx0LmRvbURpZmZlcmVuY2U9ZnVuY3Rpb24odCxlLHM9MCxpPSIiLGE9IiIpe2Z1bmN0aW9uIG8odCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIGUuaW5uZXJIVE1MPXQsZX1jb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKCFzKXJldHVybiBuLmFwcGVuZENoaWxkKG8odCkpLG47Y29uc3QgbD10KyIiLHI9ZSsiIjtsZXQgZD1udWxsO2lmKGwubGVuZ3RoPT09ci5sZW5ndGgpe2ZvcihsZXQgdD0wO3Q8bC5sZW5ndGg7dCsrKWlmKGwuY2hhckF0KHQpIT09ci5jaGFyQXQodCkpe2Q9dDticmVha319ZWxzZSBkPU51bWJlcigiMCIpO2lmKG51bGw9PT1kKXJldHVybiBuLmFwcGVuZENoaWxkKG8obCkpLG47Y29uc3QgXz1vKGwuc3Vic3RyaW5nKDAsZCkpLHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiB1LmNsYXNzTmFtZT1zPDA/aTphLHUuYXBwZW5kQ2hpbGQobyhsLnN1YnN0cmluZyhkKSkpLG4uYXBwZW5kQ2hpbGQoXyksbi5hcHBlbmRDaGlsZCh1KSxufX0oaXx8KGk9e30pKX19XSk7"}},"time_used":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/studies.c50f28eb9a346e093252.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.643Z","timestamp":1785136901643,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/studies.c50f28eb9a346e093252.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2dbb5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0920e167c916c7af3ab1600f2363f0cf\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":187317,"size_decoded":59413,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (5953)","md5":"7987bd9ad9ebf8cf88bfd546acda45a6","sha1":"9d7cd0f9c2870976e2d42691fcec9c54b559febe","sha256":"561baf84600f8c7de1b64b308c0ab5c5c64b4147787b87dc06b944c48ba625b6","sha512":"9b8f36f0dd7580b4de39537ae4436f51bc2c3209e74e6b6accddf56c1ae01b8f54a9b9c64310fd18ac27cc77a3823c6b038078c45fa7e8ecff7650e3008a8a9f","ssdeep":"3072:w9dsU/XupjW4Pz+u8HuG3x3TrbZ0jv8L2EChXqVIywmlgkOJGJcdbo5CgZPz4OyG:44PToPYEJYTgZPz4OyoczgJyylAt/W","tlshash":"19042a6172e178ea93eb10d949790543db1d2c86780984acf2bc4cee265dd4c723afbc","first_seen":"2026-07-24T11:36:47.85007Z","last_seen":"2026-07-28T06:17:53.472191Z","times_seen":79,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNTE5Niw0NzUzOCw1Mzc3MCw2NDY0NCw2Njg2Nl0sezkxNDQ4NyhlLHQpe3ZhciBzOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiByKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcz1hcmd1bWVudHNbdF07aWYocyl7dmFyIG49dHlwZW9mIHM7aWYoInN0cmluZyI9PT1ufHwibnVtYmVyIj09PW4pZS5wdXNoKHMpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShzKSYmcy5sZW5ndGgpe3ZhciBvPXIuYXBwbHkobnVsbCxzKTtvJiZlLnB1c2gobyl9ZWxzZSBpZigib2JqZWN0Ij09PW4pZm9yKHZhciBhIGluIHMpaS5jYWxsKHMsYSkmJnNbYV0mJmUucHVzaChhKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oci5kZWZhdWx0PXIsZS5leHBvcnRzPXIpOnZvaWQgMD09PShzPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1zKX0oKX0sNTQxODIwKGUpe2UuZXhwb3J0cz17c3VidGl0bGU6InN1YnRpdGxlLWJMVEJoQ3dKIix0ZXh0OiJ0ZXh0LWJMVEJoQ3dKIixzdW1tYXJ5OiJzdW1tYXJ5LWJMVEJoQ3dKIixncm91cDoiZ3JvdXAtYkxUQmhDd0oiLGdyb3VwSWNvbjoiZ3JvdXBJY29uLWJMVEJoQ3dKIixiZWZvcmVNYXJrZXRPcGVuOiJiZWZvcmVNYXJrZXRPcGVuLWJMVEJoQ3dKIixhZnRlck1hcmtldENsb3NlOiJhZnRlck1hcmtldENsb3NlLWJMVEJoQ3dKIixncm91cFRpdGxlOiJncm91cFRpdGxlLWJMVEJoQ3dKIixncm91cFJvdzoiZ3JvdXBSb3ctYkxUQmhDd0oiLGdyb3VwQ2VsbDoiZ3JvdXBDZWxsLWJMVEJoQ3dKIn19LDgwNjQxNShlKXtlLmV4cG9ydHM9e29wZXJhdG9yOiJvcGVyYXRvci1JSE5RVkFRSSJ9fSwyNzMzMTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7SWNvbjooKT0+cn0pO3ZhciBpPXMoNzc5NDc0KTtjb25zdCByPWkuZm9yd2FyZFJlZigoKGUsdCk9Pntjb25zdHtpY29uOnM9IiIsdGl0bGU6cixhcmlhTGFiZWw6bixhcmlhTGFiZWxsZWRieTpvLGFyaWFIaWRkZW46YSwuLi5sfT1lLHU9ISEocnx8bnx8byk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImltZyIsLi4ubCxyZWY6dCwiYXJpYS1sYWJlbCI6biwiYXJpYS1sYWJlbGxlZGJ5IjpvLCJhcmlhLWhpZGRlbiI6YXx8IXUsdGl0bGU6cixkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnN9fSl9KSl9LDYyODAwOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc0Z1bmRhbWVudGFsU3VwcG9ydGVkQnlBbGVydHM6KCk9PnJ9KTtjb25zdCBpPW5ldyBTZXQoWyJTVEQ7RnVuZF9idXliYWNrX3lpZWxkIiwiU1REO0Z1bmRfZGl2aWRlbmRfeWllbGRfY2FsY3VsYXRlZCIsIlNURDtGdW5kX2Vhcm5pbmdzX3lpZWxkIiwiU1REO0Z1bmRfbWFya2V0X2NhcF9iYXNpYyIsIlNURDtGdW5kX3ByaWNlX2Vhcm5pbmdzX2dyb3d0aF9yYXRpbyIsIlNURDtGdW5kX3ByaWNlX2Jvb2siLCJTVEQ7RnVuZF9wcmljZV9jYXNoX2Zsb3ciLCJTVEQ7RnVuZF9wcmljZV9lYXJuaW5ncyIsIlNURDtGdW5kX3ByaWNlX2ZyZWVfY2FzaF9mbG93IiwiU1REO0Z1bmRfcHJpY2Vfc2FsZXMiLCJTVEQ7RnVuZF9wcmljZV90YW5naWJsZV9ib29rIl0pO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGkuaGFzKGUpfX0sNTMyOTc1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldERvY3VtZW50c0FwaTooKT0+dX0pO3ZhciBpPXMoODM5NDI2KSxyPXMoMzg0MDE3KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcHVibGljUHJlZml4PSJwdWJsaWMvIix0aGlzLl9iYXNlVXJsPWUuZW5kc1dpdGgoIi8iKT9lOmAke2V9L2AsdGhpcy5fZmV0Y2g9dH1hc3luYyBfc2VuZFJlcXVlc3QoZSx0LHMpe2NvbnN0IGk9YXdhaXQgdGhpcy5fZmV0Y2godC50b1N0cmluZygpLHsuLi5zLG1ldGhvZDplfSk7aWYoIWkub2spe2NvbnN0IHM9YXdhaXQgaS50ZXh0KCk7dGhyb3cgbmV3IEVycm9yKGBFcnJvciB3aGlsZSBmZXRjaGluZyAke2V9ICR7dC50b1N0cmluZygpfS4gUmVzcG9uc2Ugc3RhdHVzICR7aS5zdGF0dXN9ICR7aS5zdGF0dXNUZXh0fS4gUmVzcG9uc2UgdGV4dDogJyR7c30nYCl9cmV0dXJuIGl9X3BhcnNlQm9keShlKXtyZXR1cm4gZS5qc29uKCl9X2dldFVSTChlLHQpe2NvbnN0IHM9bmV3IFVSTChlLHRoaXMuX2Jhc2VVcmwpO2lmKHQpe2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh0KTtzLnNlYXJjaD1lLnRvU3RyaW5nKCl9cmV0dXJuIHN9fWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zO3JldHVybiBudWxsIT1lLmNsaWVudCYmdC5zZXQoImNsaWVudCIsZS5jbGllbnQpLG51bGwhPWUuc3RyZWFtaW5nJiZ0LnNldCgic3RyZWFtaW5nIixTdHJpbmcoZS5zdHJlYW1pbmcpKSxudWxsIT1lLnB1YlVzYWdlJiZ0LnNldCgicHViX3VzYWdlIixlLnB1YlVzYWdlLmpvaW4oIiwiKSksZS5maWx0ZXJzLnNsaWNlKCkuc29ydCgoKGUsdCk9PmUuaWQ8dC5pZD8tMToxKSkuZm9yRWFjaCgoZT0+e2lmKDA9PT1lLnZhbHVlcy5sZW5ndGgpcmV0dXJuO2NvbnN0IHM9ZS52YWx1ZXMuc2xpY2UoKS5zb3J0KCkuam9pbigiLCIpO3QuYXBwZW5kKCJmaWx0ZXIiLGUuaWQrIjoiK3MpfSkpLHQuc29ydCgpLHQudG9TdHJpbmcoKX1jbGFzcyBhIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fYXBpUGF0aD0iZG9jLXNjcmVlbmVyL3YxIn1hc3luYyBnZXREb2N1bWVudHMoZSx0KXtjb25zdCBzPW8oZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vZG9jdW1lbnRzYCxzKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIsaSx0KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9fWNsYXNzIGwgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9hcGlQYXRoPSJuZXdzLWZsb3cvdjIifWFzeW5jIGdldFN1bW1hcmllcyhlLHQpewpjb25zdCBzPW8oZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vbmV3c2Ascyk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLGksdCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfX1jb25zdCB1PSgwLGkuZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oZSx0KT0+KDAsci5mZXRjaCkoZSx0KSx0PWZ1bmN0aW9uKCl7bGV0IGU9d2luZG93Lk5FV1NfTUVESUFUT1JfVVJMO2UuZW5kc1dpdGgoIi8iKXx8KGUrPSIvIik7cmV0dXJuIGV9KCk7cmV0dXJue2RvY1NjcmVlbmVyOnt2MTpuZXcgYSh0LGUpfSxkb2NTdW1tYXJpZXM6e3YyOm5ldyBsKHQsZSl9fX0pKX0sODExOTA0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5DYXJkUG9wdXA6KCk9Pml9KTtjb25zdCBpPShlLHQsaSxyKT0+UHJvbWlzZS5hbGwoW3MuZSg4NzU0Mikscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoMjQ1ODEpLHMuZSg5NjU4Nykscy5lKDExMjE4KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDkzNDIxKSxzLmUoNzg2NTIpLHMuZSg0OTU4OCkscy5lKDEwMzg1KSxzLmUoNTIwNjUpLHMuZSg0NzYzMikscy5lKDY2MDUpLHMuZSg3NDM4MSkscy5lKDE1NTI2KSxzLmUoNzE0MTQpLHMuZSg2MTgyMSkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSgzMjc0OCkscy5lKDE2NzYpLHMuZSg2NjI3MCkscy5lKDk3NDQpLHMuZSg4MzA0MSkscy5lKDcxNDgyKSxzLmUoMTk1MTMpLHMuZSgzNTE5OCkscy5lKDQ2NTkxKSxzLmUoNzE1MjgpLHMuZSg0NTM2OCkscy5lKDQ0NzcpLHMuZSgxNTA5KSxzLmUoNTUzMzYpLHMuZSg5MjM5Mykscy5lKDIwMjcxKSxzLmUoNTE4ODApLHMuZSg3NjMyOSkscy5lKDI3NTQ5KSxzLmUoMTY0MjEpLHMuZSg4MjI3MSkscy5lKDY5ODA5KSxzLmUoOWUzKSxzLmUoNzg0NzEpLHMuZSg4ODM4NSkscy5lKDUwMzI1KSxzLmUoNDcwMjEpLHMuZSg3MzU1MSkscy5lKDc4MjM3KSxzLmUoMTM2NzcpLHMuZSgzMjM4Nykscy5lKDc4MzEyKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDc3NTc4KSxzLmUoODk0Nikscy5lKDYxMTgzKSxzLmUoNzgxMDkpLHMuZSgxNjYwKSxzLmUoMjk3OTgpXSkudGhlbihzLmJpbmQocyw3MjE2NDcpKS50aGVuKChzPT5zLm9wZW5DYXJkUG9wdXAoZSx0LGkscikpKX0sMTEyNzI1KGUsdCxzKXsidXNlIHN0cmljdCI7aWYocy5kKHQse2J1aWxkU3VtbWFyaWVzTWFwOigpPT5fLGNhdGVnb3J5SGFzU3VtbWFyeTooKT0+YSxnZXREb2N1bWVudHNXaXRoU3VtbWFyeTooKT0+byxnZXRHcm91cGVkRG9jdW1lbnRzOigpPT5uLGxvb2t1cEJ5RG9jdW1lbnRJZDooKT0+cCxvcGVuRG9jdW1lbnRJbk5ld1RhYjooKT0+eSxwcmVwYXJlU3VtbWFyeTooKT0+bCxzb3J0Q2F0ZWdvcmllczooKT0+dSx0b0RvY3VtZW50Q2FyZFByb3BzOigpPT5jfSksNzk3OTU9PXMuail2YXIgaT1zKDMwNTEwOSk7Y29uc3Qgcj1uZXcgU2V0KFsiYW5udWFsX3JlcG9ydCIsImFubnVhbF9maW5hbmNpYWxfc3RhdGVtZW50Il0pO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlKXtpZighcy52aWV3cz8ubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IGU9e2lkOnMuaWQsdGl0bGU6cy50aXRsZSxldmVudDpzLmV2ZW50LHJlcG9ydGVkOnMucmVwb3J0ZWQsZmlzY2FsWWVhcjpzLmZpc2NhbF95ZWFyLGZpc2NhbFBlcmlvZDpzLmZpc2NhbF9wZXJpb2QsY2F0ZWdvcmllczpbe2RvY3VtZW50SWQ6cy5pZCxpZDpzLmNhdGVnb3J5LmlkLHRpdGxlOnMuY2F0ZWdvcnkudGl0bGUsdmlld3M6cy52aWV3cyxmb3JtOnMuZm9ybX1dfTt0W3MuY29ycmVsYXRpb25faWRdP3Rbcy5jb3JyZWxhdGlvbl9pZF0uY2F0ZWdvcmllcy5wdXNoKC4uLmUuY2F0ZWdvcmllcyk6dFtzLmNvcnJlbGF0aW9uX2lkXT1lfXJldHVybiBPYmplY3QudmFsdWVzKHQpfWZ1bmN0aW9uIG8oZSx0LHMsaSl7Y29uc3Qgcj1uKGUpLG89T2JqZWN0LmtleXMocykubWFwKChlPT5OdW1iZXIoZSkpKTtyZXR1cm4gci5tYXAoKGU9PmMoZSxfKHQpLG8scyxpKSkpfWZ1bmN0aW9uIGEoe3ZpZXdzOmV9KXtyZXR1cm4gZS5zb21lKCgoe3R5cGU6ZX0pPT4ic3VtbWFyeSI9PT1lKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZT8iLiI9PT1lW2UubGVuZ3RoLTFdP2U6YCR7ZX0uYDp2b2lkIDB9ZnVuY3Rpb24gdShlKXtjb25zdCB0PVsidHJhbnNjcmlwdCIsImNhbGxfdHJhbnNjcmlwdCIsImV2ZW50X3RyYW5zY3JpcHQiLCJlYXJuaW5nc19yZWxlYXNlIiwicXVhcnRlcmx5X3JlcG9ydCIsImFubnVhbF9yZXBvcnQiLCJzbGlkZXMiXTtyZXR1cm4gZS5zb3J0KCgoZSxzKT0+e2NvbnN0IGk9dC5pbmRleE9mKGUuaWQpLHI9dC5pbmRleE9mKHMuaWQpO3JldHVybigtMT09PWk/dC5sZW5ndGg6aSktKC0xPT09cj90Lmxlbmd0aDpyKX0pKX1mdW5jdGlvbiBjKGUsdCxzLG4sbyl7bGV0IGE9ZS50aXRsZTtjb25zdCBjPSJlYXJuaW5nIj09PWUuZXZlbnQsaD1lLmNhdGVnb3JpZXMuc29tZSgoZT0+ci5oYXMoZS5pZCkpKSxkPW5ldyBEYXRlKDFlMyplLnJlcG9ydGVkKS5nZXRGdWxsWWVhcigpO2MmJmUuZmlzY2FsUGVyaW9kJiZlLmZpc2NhbFllYXImJihhPWBFYXJuaW5ncywgJHtlLmZpc2NhbFBlcmlvZH0gRlkke2UuZmlzY2FsWWVhcn1gKTtjb25zdCBfPXUoZS5jYXRlZ29yaWVzKSx5PWZ1bmN0aW9uKGUsdCl7Zm9yKGNvbnN0IHMgb2YgZSl7Y29uc3QgZT1wKHMuZG9jdW1lbnRJZCx0KTtpZih2b2lkIDAhPT1lKXJldHVybiBlfXJldHVybn0oXyx0KSx2PWwoeSksZj1jJiZmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZS1tLGk9ZSttLHI9dC5maWx0ZXIoKGU9PmU+PXMmJmU8PWkpKQo7cmV0dXJuIHIubGVuZ3RoP3JbMF06dm9pZCAwfShlLnJlcG9ydGVkLHMpO3JldHVybnt0aXRsZTphLGlzQW5udWFsOmgsc3VtbWFyeTp2LGV2ZW50OmUuZXZlbnQsZGF0ZTplLnJlcG9ydGVkLHllYXI6ZS5maXNjYWxZZWFyfHxkLGNhdGVnb3JpZXM6XyxlYXJuaW5nOmYmJmYgaW4gbj8oMCxpLmdldERvY3VtZW50RWFybmluZ1NlcnZlcikobltmXSk6dm9pZCAwLGN1cnJlbmN5Om99fWZ1bmN0aW9uIGgoZSl7Y29uc3QgdD1lLmluZGV4T2YoIjoiKTtyZXR1cm4tMT09PXQ/ZTplLnN1YnN0cmluZyh0KzEpLnRyaW0oKX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9ZS5tYXRjaCgvOihcZCspLyk/LlsxXTtyZXR1cm4gdHx8bnVsbH1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPWQocy5pZCk7bnVsbCE9PWUmJnQuc2V0KGUsaChzLnRpdGxlKSl9cmV0dXJuIHR9ZnVuY3Rpb24gcChlLHQpe2NvbnN0IHM9ZChlKTtyZXR1cm4gbnVsbD09PXM/dm9pZCAwOnQuZ2V0KHMpfWZ1bmN0aW9uIHkoZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7dC5ocmVmPWUsdC50YXJnZXQ9Il9ibGFuayIsdC5yZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksdC5jbGljaygpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCl9Y29uc3QgbT03OTc5NT09cy5qPzE3MjgwMDpudWxsfSwzMDUxMDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtpZihzLmQodCx7Z2V0RG9jdW1lbnRFYXJuaW5nU2VydmVyOigpPT5yfSksNzk3OTU9PXMuail2YXIgaT1zKDk2MDk2Mik7ZnVuY3Rpb24gcihlKXtjb25zdCB0PWUuZGF0ZSxzPTE0PT09ZS50aW1lVHlwZSxyPXM/dm9pZCAwOigwLGkuaGFzTnVtYmVyKShlLnJlcG9ydGVkKT9lLnJlcG9ydGVkOnZvaWQgMCxuPSgwLGkuaGFzTnVtYmVyKShlLmVzdGltYXRlKT9lLmVzdGltYXRlOnZvaWQgMCxvPSgwLGkuaGFzTnVtYmVyKShyKSYmKDAsaS5oYXNOdW1iZXIpKG4pP3Itbjp2b2lkIDAsYT1vJiZuP01hdGguYWJzKG8vbioxMDApOnZvaWQgMCxsPXM/dm9pZCAwOigwLGkuaGFzTnVtYmVyKShlLnJldmVudWVWYWx1ZSk/MWU2KmUucmV2ZW51ZVZhbHVlOnZvaWQgMCx1PSgwLGkuaGFzTnVtYmVyKShlLnJldmVudWVFc3RpbWF0ZSk/MWU2KmUucmV2ZW51ZUVzdGltYXRlOnZvaWQgMCxjPSgwLGkuaGFzTnVtYmVyKShsKSYmKDAsaS5oYXNOdW1iZXIpKHUpP2wtdTp2b2lkIDAsaD1jJiZ1P01hdGguYWJzKGMvdSoxMDApOnZvaWQgMDtsZXQgZDtyZXR1cm4gZS50aW1lVHlwZT9lLnRpbWVUeXBlPDIwP2Q9MTA9PT1lLnRpbWVUeXBlPyJFc3RpbWF0ZWREYXRlIjoiRnV0dXJlIjpvJiYoZD1vPDA/Ik5lZ2F0aXZlIjoiUG9zaXRpdmUiKTpvP2Q9bzwwPyJOZWdhdGl2ZSI6IlBvc2l0aXZlIjp0JiZ0PkRhdGUubm93KCkmJihkPSJGdXR1cmUiKSx7ZGF0ZTp0LHR5cGU6ZCx0aW1lVHlwZTplLnRpbWVUeXBlLHBlcmlvZDplLnBlcmlvZHx8dm9pZCAwLHN0YW5kYXJkaXplZDplLnN0YW5kYXJkaXplZHx8dm9pZCAwLHJlcG9ydGVkOnIsZXN0aW1hdGU6bixzdXJwcmlzZTpvfHx2b2lkIDAsc3VycHJpc2VQZXJjZW50OmEscmV2ZW51ZVZhbHVlOmwscmV2ZW51ZUVzdGltYXRlOnUscmV2ZW51ZVN1cnByaXNlOmN8fHZvaWQgMCxyZXZlbnVlU3VycHJpc2VQZXJjZW50Omh9fX0sODg5Mzk3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3Nob3dGaW5hbmNpYWxzRGlhbG9nOigpPT5yfSk7dmFyIGk9cyg4OTA4MzUpO2Z1bmN0aW9uIHIoZSl7aS5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoImZpbmFuY2lhbHMiLGUpfX0sODg4NTYyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5GaW5hbmNpYWxzV2VidmlldzooKT0+aH0pO3ZhciBpPXMoNzU3ODI5KSxyPXMoNjIzNTExKSxuPXMoMTI4ODE0KSxvPXMoMzA5MDUyKQo7Y29uc3QgYT1uZXcgU2V0KFsibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImZvdW5kZWQiLCJjZW8iLCJtYXJrZXRfY2FwX2Jhc2ljIiwiZGl2aWRlbmRzX3lpZWxkIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsImN1cnJlbmN5X2NvZGUiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwiZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meV9oIiwiZmlzY2FsX3BlcmlvZF9mcV9oIiwiZmlzY2FsX3BlcmlvZF9maF9oIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImlzX25leHRfZWFybmluZ3NfcmVsZWFzZV9kYXRlX2VzdGltYXRlZCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnkiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9maCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZmhfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZmhfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnlfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmhfaCIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9meSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9maCIsInJldmVudWVfZnFfaCIsInJldmVudWVfZnlfaCIsInJldmVudWVfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfZnFfaCIsInJldmVudWVfZm9yZWNhc3RfZnlfaCIsInJldmVudWVfZm9yZWNhc3RfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9mcSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9meSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9maCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJkaXZpZGVuZF9wYXlvdXRfcmF0aW9fdHRtIiwiZGl2aWRlbmRzX3lpZWxkX2N1cnJlbnQiLCJkaXZpZGVuZF9leF9kYXRlX3VwY29taW5nIiwiZGl2aWRlbmRfYW1vdW50X3VwY29taW5nIiwiZGl2aWRlbmRfYW1vdW50X3JlY2VudCIsImRpdmlkZW5kX2V4X2RhdGVfcmVjZW50IiwiZGl2aWRlbmRfYW1vdW50X2giLCJkaXZpZGVuZF9wYXltZW50X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9wYXltZW50X2RhdGVfcmVjZW50IiwidG90YWxfcmV2ZW51ZV9meSIsImdyb3NzX3Byb2ZpdF9meSIsImViaXRkYV9meSIsImViaXRfZnkiLCJuZXRfaW5jb21lX2Z5IiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsInRvdGFsX2RlYnRfZnlfaCIsInRvdGFsX2RlYnRfZnFfaCIsInRvdGFsX2RlYnRfZmhfaCIsImZyZWVfY2FzaF9mbG93X2Z5X2giLCJmcmVlX2Nhc2hfZmxvd19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZmhfaCIsImNhc2hfbl9lcXVpdmFsZW50c19meV9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2ZxX2giLCJjYXNoX25fZXF1aXZhbGVudHNfZmhfaCIsImxvYW5zX25ldF9meV9oIiwibG9hbnNfbmV0X2ZxX2giLCJsb2Fuc19uZXRfZmhfaCIsInRvdGFsX2RlcG9zaXRzX2Z5X2giLCJ0b3RhbF9kZXBvc2l0c19mcV9oIiwidG90YWxfZGVwb3NpdHNfZmhfaCIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19meSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2Z5IiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnEiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicHJpY2VfZWFybmluZ3NfZnFfaCIsInByaWNlX2Vhcm5pbmdzX2Z5X2giLCJwcmljZV9lYXJuaW5nc19maF9oIiwicHJpY2Vfc2FsZXNfZnFfaCIsInByaWNlX3NhbGVzX2Z5X2giLCJwcmljZV9zYWxlc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meV9oIiwiZmlzY2FsX3BlcmlvZF9mcV9oIiwiZmlzY2FsX3BlcmlvZF9maF9oIiwibWFya2V0X2NhcF9iYXNpYyIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsImZ1bmRfdmlld19tb2RlcyIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiZnVuZGFtZW50YWxfY3VycmVuY3lfY29kZSIsInJldmVudWVfc2VnX2J5X2J1c2luZXNzX2giLCJyZXZlbnVlX3NlZ19ieV9yZWdpb25faCIsImZpc2NhbF9wZXJpb2RfZnkiLCJpbnRlcmVzdF9pbmNvbWVfZnkiLCJpbnRlcmVzdF9pbmNvbWVfZnEiLCJpbnRlcmVzdF9pbmNvbWVfZmgiLCJub25faW50ZXJlc3RfaW5jb21lX2Z5Iiwibm9uX2ludGVyZXN0X2luY29tZV9mcSIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZmgiLCJpbnRlcmVzdF9leHBlbnNlX2Z5IiwiaW50ZXJlc3RfZXhwZW5zZV9mcSIsImludGVyZXN0X2V4cGVuc2VfZmgiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2Z5IiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9mcSIsImxvYW5fbG9zc19wcm92aXNpb25fZmgiLCJub25faW50ZXJlc3RfZXhwZW5zZV9meSIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2ZxIiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZmgiLCJub25fb3Blcl9pbmNvbWVfZnkiLCJub25fb3Blcl9pbmNvbWVfZnEiLCJub25fb3Blcl9pbmNvbWVfZmgiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2Z5IiwidW51c3VhbF9leHBlbnNlX2luY19mcSIsInVudXN1YWxfZXhwZW5zZV9pbmNfZmgiLCJwcmV0YXhfaW5jb21lX2Z5IiwicHJldGF4X2luY29tZV9mcSIsInByZXRheF9pbmNvbWVfZmgiLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJuZXRfaW5jb21lX2Z5IiwibmV0X2luY29tZV9mcSIsIm5ldF9pbmNvbWVfZmgiLCJjb3N0X29mX2dvb2RzX2Z5IiwiY29zdF9vZl9nb29kc19mcSIsImNvc3Rfb2ZfZ29vZHNfZmgiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZnkiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZnEiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZmgiLCJvcGVyX2luY29tZV9meSIsIm9wZXJfaW5jb21lX2ZxIiwib3Blcl9pbmNvbWVfZmgiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZnkiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZnEiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZmgiLCJpbmNvbWVfdGF4X2Z5IiwiaW5jb21lX3RheF9mcSIsImluY29tZV90YXhfZmgiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2Z5IiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9mcSIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZmgiLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJlcXVpdHlfaW5fZWFybmluZ3NfZnkiLCJlcXVpdHlfaW5fZWFybmluZ3NfZnEiLCJlcXVpdHlfaW5fZWFybmluZ3NfZmgiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZnkiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZmgiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19meSIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2ZxIiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZmgiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwiZnVuZF92aWV3X21vZGVzIl0pLGw9KDAsCnIubGF6eVZhbHVlKSgoKCk9Pm5ldyBuLlF1b3RlU2Vzc2lvblNuYXBzaG90ZXIoe25hbWU6ImZpbmFuY2lhbHMtd2Vidmlldy1xdW90ZXMiLGZpZWxkczpbLi4uYV0sYXBpOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSkpKTtsZXQgdTtjbGFzcyBjIGV4dGVuZHMgaS5XZWJ2aWV3Q29udHJvbGxlckJhc2V7b3BlbihlKXtjb25zdCB0PXRoaXMuX2NyZWF0ZU9wZW5SZXF1ZXN0KGkuV2Vidmlld1BhZ2VOYW1lLkZpbmFuY2lhbHMsZSk7bCgpLmdldFNuYXBzaG90KHQuc3ltYm9sKCksYSk7dC5leGVjdXRlKCkuQ2hhcnRRdW90ZVNuYXBzaG90UHJvdmlkZXI9e2dldFF1b3RlU25hcHNob3QoKXtjb25zdCBlPW8uUVVPVEVfRklFTERTX0NBQ0hFLmdldCh0LnN5bWJvbCgpKTtyZXR1cm4gZT8udmFsdWVzPz97fX19fXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB1fHwodT1uZXcgYyksdX19ZnVuY3Rpb24gaChlKXtjLmdldEluc3RhbmNlKCkub3BlbihlKX19LDQwNzAwNihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7Z2V0TmV3c01lZGlhdG9yU2VydmljZTooKT0+aH0pO3ZhciBpPXMoODM5NDI2KSxyPXMoMzg0MDE3KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcHVibGljUHJlZml4PSJwdWJsaWMvIix0aGlzLl9iYXNlVXJsPWUuZW5kc1dpdGgoIi8iKT9lOmAke2V9L2AsdGhpcy5fZmV0Y2g9dH1hc3luYyBfc2VuZFJlcXVlc3QoZSx0LHMpe2NvbnN0IGk9YXdhaXQgdGhpcy5fZmV0Y2godC50b1N0cmluZygpLHsuLi5zLG1ldGhvZDplfSk7aWYoIWkub2spe2NvbnN0IHM9YXdhaXQgaS50ZXh0KCkscj1uZXcgRXJyb3IoYEVycm9yIHdoaWxlIGZldGNoaW5nICR7ZX0gJHt0LnRvU3RyaW5nKCl9LiBSZXNwb25zZSBzdGF0dXMgJHtpLnN0YXR1c30gJHtpLnN0YXR1c1RleHR9LiBSZXNwb25zZSB0ZXh0OiAnJHtzfSdgKTt0aHJvdyByLnN0YXR1cz1pLnN0YXR1cyxyfXJldHVybiBpfWFzeW5jIF9zZW5kSnNvbihlLHQscyxpLHI9ITApe2NvbnN0IG49ey4uLmksYm9keTpKU09OLnN0cmluZ2lmeShzKSxoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fTtyZXR1cm4gciYmKG4uY3JlZGVudGlhbHM9ImluY2x1ZGUiKSx0aGlzLl9zZW5kUmVxdWVzdChlLHRoaXMuX2dldFVSTCh0KSxuKX1fcGFyc2VCb2R5KGUpe3JldHVybiBlLmpzb24oKX1fZ2V0VVJMKGUsdCl7Y29uc3Qgcz1uZXcgVVJMKGUsdGhpcy5fYmFzZVVybCk7aWYodCl7Y29uc3QgZT1uZXcgVVJMU2VhcmNoUGFyYW1zKHQpO3Muc2VhcmNoPWUudG9TdHJpbmcoKX1yZXR1cm4gc319ZnVuY3Rpb24gbyhlKXtyZXR1cm5bKHM9ZS5maWx0ZXJzLHMuc2xpY2UoKS5zb3J0KCgoZSx0KT0+ZS5pZDx0LmlkPy0xOjEpKS5yZWR1Y2UoKChlLHQpPT57aWYoMD09PXQudmFsdWVzLmxlbmd0aClyZXR1cm4gZTtjb25zdCBzPXQudmFsdWVzLnNvcnQoKS5qb2luKCIsIiksaT1lbmNvZGVVUklDb21wb25lbnQodC5pZCsiOiIrcyk7cmV0dXJuIGUucHVzaChgZmlsdGVyPSR7aX1gKSxlfSksW10pLmpvaW4oIiYiKSksKHQ9ZSxsKHtjbGllbnQ6dC5jbGllbnQsc3RyZWFtaW5nOnQuc3RyZWFtaW5nLHB1Yl91c2FnZTp0LnB1YlVzYWdlP3QucHViVXNhZ2Uuam9pbigiLCIpOnZvaWQgMH0pKV0uZmlsdGVyKChlPT5lLmxlbmd0aD4wKSkuam9pbigiJiIpO3ZhciB0LHN9ZnVuY3Rpb24gYShlKXtyZXR1cm5bbCh7c3RyZWFtaW5nOmUuc3RyZWFtaW5nfSldLmZpbHRlcigoZT0+ZS5sZW5ndGg+MCkpLmpvaW4oIiYiKX1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IHMgaW4gZSllLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1lW3NdJiZ0LnB1c2goe2tleTpzLHBhaXI6ZW5jb2RlVVJJQ29tcG9uZW50KHMpKyI9IitlbmNvZGVVUklDb21wb25lbnQoZVtzXSl9KTtyZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5rZXk+dC5rZXk/MTplLmtleTx0LmtleT8tMTowKSkubWFwKChlPT5lLnBhaXIpKS5qb2luKCImIil9Y2xhc3MgdSBleHRlbmRzIG57Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUsdCksdGhpcy5fYXBpUGF0aD0ibmV3cy1mbG93L3YxIix0aGlzLmdldE1ldGE9YXN5bmMoZSx0KT0+e2NvbnN0IHM9dGhpcy5fZ2V0VVJMKGAke3RoaXMuX3B1YmxpY1ByZWZpeH0ke3RoaXMuX2FwaVBhdGh9L21ldGFgLHtsYW5nOmV9KTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIscyx0KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0U2NyZWVucz1hc3luYyhlLHQpPT57Y29uc3Qgcz1hKGUpLGk9YHZlcnNpb249JHt0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259YCxyPXM/YCR7c30mJHtpfWA6aSxuPXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zYCxyKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIsbix7Li4udCxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0U2luZ2xlU2NyZWVuPWFzeW5jKGUsdCk9Pntjb25zdCBzPXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zLyR7ZX1gKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIscyx7Li4udCxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0UmVjZW50U2NyZWVuPWFzeW5jIGU9Pntjb25zdCB0PXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zL3JlY2VudGApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiR0VUIix0LHsuLi5lLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy5kZWxldGVTY3JlZW49YXN5bmMoZSx0KT0+e2NvbnN0IHM9dGhpcy5fZ2V0VVJMKGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnMvJHtlfWApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiREVMRVRFIixzLHsuLi50LGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy5jcmVhdGVTY3JlZW49YXN5bmMoZSx0KT0+e2NvbnN0IHM9ey4uLmUsdmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259CjtyZXR1cm4gdGhpcy5fc2VuZEpzb24oIlBPU1QiLGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnNgLHMsdCwhMCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfSx0aGlzLnVwZGF0ZVNjcmVlbj1hc3luYyhlLHQpPT57Y29uc3Qgcz17Li4uZSx2ZXJzaW9uOnRoaXMuX3NjcmVlbnNEYXRhVmVyc2lvbn07cmV0dXJuIHRoaXMuX3NlbmRKc29uKCJQVVQiLGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnMvJHtlLmlkfWAscyx0LCEwKS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMudXBkYXRlU2NyZWVuQWxlcnRzPWFzeW5jKGUsdCxzKT0+e2NvbnN0IGk9ey4uLnQsdmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259O3JldHVybiB0aGlzLl9zZW5kSnNvbigiUFVUIixgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zLyR7ZX0vYWxlcnRzYCxpLHMsITApLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy50b3VjaFNjcmVlbj1hc3luYyhlLHQpPT57Y29uc3Qgcz17dmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259O3JldHVybiB0aGlzLl9zZW5kSnNvbigiUFVUIixgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zL3RvdWNoLyR7ZX1gLHMsdCwhMCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfSx0aGlzLmdldFN0b3J5PWFzeW5jKGUsdCk9Pntjb25zdCBzPXRoaXMuX2dldFVSTCgicHVibGljL25ld3MvdjEvc3RvcnkiLHsuLi5lfSksaT1hd2FpdCB0aGlzLl9zZW5kUmVxdWVzdCgiR0VUIixzLHR8fHt9KTtyZXR1cm4gaS5vaz90aGlzLl9wYXJzZUJvZHkoaSk6UHJvbWlzZS5yZWplY3QoaSl9LHRoaXMuX3NjcmVlbnNEYXRhVmVyc2lvbj1zfX1jbGFzcyBjIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fYXBpUGF0aD0ibmV3cy1mbG93L3YyIn1hc3luYyBnZXROZXdzKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vbmV3c2AsbyhlKSk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLHMsdCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfWFzeW5jIGdldFByaXZhdGVOZXdzKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRVUkwoYCR7dGhpcy5fYXBpUGF0aH0vbmV3c2AsbyhlKSk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLHMsey4uLnQsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbih0aGlzLl9wYXJzZUJvZHkpfWFzeW5jIGdldFNjcmVlbnMoZSx0KXtjb25zdCBzPWEoZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fYXBpUGF0aH0vc2NyZWVuc2Ascyk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLGksey4uLnQsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbih0aGlzLl9wYXJzZUJvZHkpfX1zKDMwMDI4Nik7Y29uc3QgaD0oMCxpLmRlZmF1bHQpKCgoKT0+e2NvbnN0IGU9KGUsdCk9PigwLHIuZmV0Y2gpKGUsdCksdD1mdW5jdGlvbigpe2xldCBlPWAke3dpbmRvdy5ORVdTX01FRElBVE9SX1VSTH1gO2UuZW5kc1dpdGgoIi8iKXx8KGUrPSIvIik7cmV0dXJuIGV9KCkscz13aW5kb3cuaW5pdERhdGEuTkVXU19TQ1JFRU5fREFUQV9WRVJTSU9OfHwxO3JldHVybnt2MTpuZXcgdSh0LGUscyksdjI6bmV3IGModCxlKX19KSl9LDg5MDgzNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjdXJyZW50TGF5b3V0OigpPT5pfSk7Y29uc3QgaT1uZXcocygyMzIzNjQpLldhdGNoZWRWYWx1ZSkobnVsbCl9LDUzNzQ4NyhlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBzPU1hdGguZmxvb3IodC8xZTQpJTFlNCxpPU1hdGguZmxvb3IodC8xMDApJTEwMC0xLHI9dCUxMDA7cmV0dXJuIGUuZm9ybWF0KG5ldyBEYXRlKERhdGUuVVRDKHMsaSxyKSkpfXMuZCh0LHtmb3JtYXRZWVlZTU1ERDooKT0+aX0pfSw1MjMwNzEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TUFUSF9NSU5VU19TSUdOOigpPT5yLHJvdW5kVG9UaGlyZERpZ2l0OigpPT5ufSk7dmFyIGk9cygxMDcwNDUpO2NvbnN0IHI9IuKIkiI7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IHM9TWF0aC5hYnMoTWF0aC5yb3VuZCgxZTMqZSkvMWUzKSxbLG5dPXMudG9GaXhlZCgzKS5zcGxpdCgiLiIpLG89IXQmJm4uZW5kc1dpdGgoIjAiKT9uZXcgaS5OdW1lcmljRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pOm5ldyBpLk51bWVyaWNGb3JtYXR0ZXIoe3ByZWNpc2lvbjozfSk7cmV0dXJuYCR7ZTwwP3I6IiJ9JHtvLmZvcm1hdChzKX1gfX0sMTI4ODE0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3RlU2Vzc2lvblNuYXBzaG90ZXI6KCk9Pmh9KTt2YXIgaT1zKDk0ODM4MCkscj1zKDE1MDE1MCksbj1zKDIxNDk4Nyksbz1zKDEzODYzOCksYT1zKDM2Nzk0NiksbD1zKDk3MDc3NCksdT1zKDMwOTA1Mik7Y29uc3QgYz1uZXcgTWFwKFtbImNoYW5nZSIsImNoIl0sWyJsYXN0X3ByaWNlIiwibHAiXSxbImNoYW5nZV9wZXJjZW50IiwiY2hwIl0sWyJ1cGRhdGVfbW9kZV9zZWNvbmRzIixudWxsXV0pO25ldyBNYXAoW1siY2giLCJjaGFuZ2UiXSxbImxwIiwibGFzdF9wcmljZSJdLFsiY2hwIiwiY2hhbmdlX3BlcmNlbnQiXV0pO2NsYXNzIGh7Y29uc3RydWN0b3IoZSl7aWYodGhpcy5fb25TeW1ib2xEYXRhPW5ldyBpLkRlbGVnYXRlLHRoaXMuX2luY29tcGxldGU9bmV3IFNldCx0aGlzLl91cGRhdGVkRmllbGRzPW5ldyBNYXAsdGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCx0aGlzLl9oYW5kbGVyPWU9Pntzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5faGFuZGxlQ29ubmVjdGVkKCkpO2JyZWFrO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlU3ltYm9sRGF0YShlLnBhcmFtc1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCl9Cn0sMD09PWUuZmllbGRzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoJ1N1cHBvcnQgZm9yIGVtcHR5ICJmaWVsZHMiIGFycmF5IGlzIG5vdCBpbXBsZW1lbnRlZCcpO2NvbnN0e3Byb3ZpZGVyOnQ9bC5RdW90ZVNlc3Npb259PWU7dGhpcy5fZmllbGRzPW5ldyBTZXQoZS5maWVsZHMpLHRoaXMuX3Nlc3Npb249bmV3IHQoZS5hcGksWyJzbmFwc2hvdGVyIixlLm5hbWUsKDAsci5yYW5kb21IYXNoKSgpXS5maWx0ZXIoQm9vbGVhbikuam9pbigiXyIpKSx0aGlzLl9zZXNzaW9uLmNvbm5lY3QodGhpcy5faGFuZGxlcil9Z2V0U25hcHNob3RTeW5jKGUsdCl7Y29uc3Qgcz1oLmNhY2hlLmdldChlKTtyZXR1cm4gcyYmdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHRpbWVzdGFtcDpudWxsfSk/czpudWxsfWdldFNuYXBzaG90c0ZvckFsbFN5bmMoZSx0KXtyZXR1cm4gZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3RTeW5jKGUsdCkpKX1nZXRTbmFwc2hvdChlLHQscyl7Y29uc3QgaT1zPy5zaWduYWw/P251bGwscj1zPy5mcmVzaG5lc3MsYT12b2lkIDAhPT1yP0RhdGUubm93KCktcjpudWxsO3JldHVybiBuZXcgUHJvbWlzZSgoKHMscik9PntpZihpJiZpLmFib3J0ZWQpdGhyb3coMCxuLmNyZWF0ZUFib3J0RXJyb3IpKCk7Y29uc3QgbD0oKT0+e3RoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLHUpLHIoKDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpKX0sdT0ocj1lKT0+e2lmKHIhPT1lKXJldHVybjtjb25zdCBuPWguY2FjaGUuZ2V0KGUpO24mJnRoaXMuX2lzU25hcHNob3RSZWFkeShuLHt0aW1lc3RhbXA6YSxzeW1ib2w6ZSxmaWVsZHM6dH0pJiYodGhpcy5fb25TeW1ib2xEYXRhLnVuc3Vic2NyaWJlKHRoaXMsdSksaT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGwpLHMobikpfTtpZighKCgpPT57Y29uc3QgaT1oLmNhY2hlLmdldChlKTtpZighaSlyZXR1cm4hMTtjb25zdCByPSgwLG8uZW5zdXJlTm90TnVsbCkoaC5jYWNoZS5nZXRUaW1lcyhlKSk7cmV0dXJuISF0aGlzLl9pc1NuYXBzaG90UmVhZHkoaSx7ZmllbGRzOnQsc3ltYm9sOmUsdGltZXN0YW1wOmEsdGltZXM6cn0pJiYocyhpKSwhMCl9KSgpJiYoaT8uYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGwse29uY2U6ITB9KSx0aGlzLl9vblN5bWJvbERhdGEuc3Vic2NyaWJlKHRoaXMsdSksIXRoaXMuX2luY29tcGxldGUuaGFzKGUpKSl7aWYodGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSxuZXcgU2V0KSx0aGlzLl9pbmNvbXBsZXRlLmFkZChlKSwhdGhpcy5fY29ubmVjdGVkKXJldHVybjtpZihudWxsPT09dGhpcy5fYmF0Y2hlcil7Y29uc3QgdD10aGlzLl9iYXRjaGVyPXtzeW1ib2xzOm5ldyBTZXQoW2VdKSxwcm9taXNlOlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fYmF0Y2hlcj09PXQmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhbLi4udC5zeW1ib2xzXSksdGhpcy5fYmF0Y2hlcj1udWxsKX0pKX19ZWxzZSB0aGlzLl9iYXRjaGVyLnN5bWJvbHMuYWRkKGUpfX0pKX1nZXRTbmFwc2hvdHNGb3JBbGwoZSx0LHMpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcCgoZT0+dGhpcy5nZXRTbmFwc2hvdChlLHQscykpKSl9c3RhdGljIHJlbGF4KGUpe3JldHVybiBlfXN0YXRpYyBpc1N1Y2Nlc3MoZSl7cmV0dXJuImVycm9yIiE9PWUuc3RhdHVzfXN0YXRpYyBoYXNBbGxGaWVsZHMoZSx0KXtmb3IoY29uc3QgcyBvZiBBcnJheS5mcm9tKHQpKWlmKCFlLmhhc093blByb3BlcnR5KHMpKXJldHVybiExO3JldHVybiEwfV9pc1NuYXBzaG90UmVhZHkoZSx0KXtjb25zdHtmaWVsZHM6cyx0aW1lc3RhbXA6aSx0aW1lczpyLHN5bWJvbDpufT10O3JldHVybiJlcnJvciI9PT1lLnN0YXR1c3x8KG51bGwhPT1pJiZyP3RoaXMuX2lzQWxsRmllbGRzVXBUb0RhdGUoZSxyLHMsaSk6bnVsbCE9PWkmJm4/dGhpcy5faXNBbGxGaWVsZHNVcGRhdGVkKGUsbixzKTp0aGlzLl9oYXNBbGxGaWVsZHMoZSxzKSl9X2lzQWxsRmllbGRzVXBkYXRlZChlLHQscyl7aWYoImVycm9yIj09PWUuc3RhdHVzKXJldHVybiEwO2NvbnN0IGk9dGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCk7aWYoIWl8fCFpLnNpemUpcmV0dXJuITE7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShzKSlpZighaS5oYXMoZSkpcmV0dXJuITE7cmV0dXJuITB9X2hhc0FsbEZpZWxkcyhlLHQpe3JldHVybiBoLmhhc0FsbEZpZWxkcyhlLnZhbHVlcyxBcnJheS5mcm9tKHQpKX1faXNBbGxGaWVsZHNVcFRvRGF0ZShlLHQscyxpKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7aWYoIXQpcmV0dXJuITE7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShzKSl7Y29uc3Qgcz10LmdldChlKTtpZighdC5oYXMoZSl8fHZvaWQgMD09PXMpcmV0dXJuITE7aWYoczxpKXJldHVybiExfXJldHVybiEwfV9oYW5kbGVDb25uZWN0ZWQoKXtpZih0aGlzLl9maWVsZHMuc2l6ZT4wKXtjb25zdCBlPVsuLi50aGlzLl9maWVsZHNdLmZsYXRNYXAoKGU9Pntjb25zdCB0PWMuZ2V0KGUpO3JldHVybiBudWxsIT09dD90Pz9lOltdfSkpO3RoaXMuX3Nlc3Npb24ucXVvdGVTZXRGaWVsZHMoZSl9dGhpcy5faW5jb21wbGV0ZS5zaXplPjAmJnRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKFsuLi50aGlzLl9pbmNvbXBsZXRlXSl9X2hhbmRsZUNvbXBsZXRlRGF0YShlKXtjb25zdCB0PWguY2FjaGUuZ2V0KGUpPz97c3ltYm9sbmFtZTplLHN0YXR1czoib2siLHZhbHVlczp7fX07aC5jYWNoZS51cGRhdGUodCx0aGlzLl9maWVsZHMsITApLHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsdGhpcy5fZmllbGRzKSx0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhbZV0pLHRoaXMuX2luY29tcGxldGUuZGVsZXRlKGUpLHRoaXMuX29uU3ltYm9sRGF0YS5maXJlKGUpfV9oYW5kbGVTeW1ib2xEYXRhKGUpeygwLGEubm9ybWFsaXplVXBkYXRlTW9kZSkoZS52YWx1ZXMpLGguY2FjaGUudXBkYXRlKGUsdGhpcy5fZmllbGRzLCExKTtjb25zdCB0PWUuc3ltYm9sbmFtZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCkpLGk9bmV3IFNldChzKQo7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZmllbGRzKWUudmFsdWVzLmhhc093blByb3BlcnR5KHQpJiZpLmFkZCh0KTt0aGlzLl91cGRhdGVkRmllbGRzLnNldCh0LGkpLCJlcnJvciI9PT1lLnN0YXR1cz90aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEodCk6dGhpcy5fb25TeW1ib2xEYXRhLmZpcmUodCl9fWguY2FjaGU9dS5RVU9URV9GSUVMRFNfQ0FDSEV9LDEwMDIzOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRWb2x1bWVVbml0OigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIHIoZSl7c3dpdGNoKGUudm9sdW1lX3R5cGUpe2Nhc2UiYmFzZSI6cmV0dXJuIGUuYmFzZV9jdXJyZW5jeXx8dm9pZCAwO2Nhc2UicXVvdGUiOnJldHVybiBlLmN1cnJlbmN5fHx2b2lkIDA7Y2FzZSJ0aWNrIjpyZXR1cm4gaS50KG51bGwsdm9pZCAwLHMoMzcwMjQzKSl9fX0sNjIzNTExKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtsZXQgdD1udWxsO3JldHVybigpPT4obnVsbD09PXQmJih0PWUoKSksdCl9cy5kKHQse2xhenlWYWx1ZTooKT0+aX0pfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIHM9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLGk9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIikscj1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLG49U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxvPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLHU9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksXz1TeW1ib2wuaXRlcmF0b3I7dmFyIHA9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LHk9T2JqZWN0LmFzc2lnbixtPXt9O2Z1bmN0aW9uIHYoZSx0LHMpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9bSx0aGlzLnVwZGF0ZXI9c3x8cH1mdW5jdGlvbiBmKCl7fWZ1bmN0aW9uIFMoZSx0LHMpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9bSx0aGlzLnVwZGF0ZXI9c3x8cH12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LGYucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBnPVMucHJvdG90eXBlPW5ldyBmO2cuY29uc3RydWN0b3I9Uyx5KGcsdi5wcm90b3R5cGUpLGcuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIGI9QXJyYXkuaXNBcnJheSx3PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksQz17Y3VycmVudDpudWxsfSxQPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24geChlLHQsaSl7dmFyIHIsbj17fSxvPW51bGwsYT1udWxsO2lmKG51bGwhPXQpZm9yKHIgaW4gdm9pZCAwIT09dC5yZWYmJihhPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKG89IiIrdC5rZXkpLHQpdy5jYWxsKHQscikmJiFQLmhhc093blByb3BlcnR5KHIpJiYobltyXT10W3JdKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpbi5jaGlsZHJlbj1pO2Vsc2UgaWYoMTxsKXtmb3IodmFyIHU9QXJyYXkobCksYz0wO2M8bDtjKyspdVtjXT1hcmd1bWVudHNbYysyXTtuLmNoaWxkcmVuPXV9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKHIgaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1uW3JdJiYobltyXT1sW3JdKTtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOmUsa2V5Om8scmVmOmEscHJvcHM6bixfb3duZXI6Qy5jdXJyZW50fX1mdW5jdGlvbiBEKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1zfXZhciBJPS9cLysvZztmdW5jdGlvbiBUKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gVihlLHQscixuLG8pe3ZhciBhPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09YSYmImJvb2xlYW4iIT09YXx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChhKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHM6Y2FzZSBpOmw9ITB9fWlmKGwpcmV0dXJuIG89byhsPWUpLGU9IiI9PT1uPyIuIitUKGwsMCk6bixiKG8pPyhyPSIiLG51bGwhPWUmJihyPWUucmVwbGFjZShJLCIkJi8iKSsiLyIpLFYobyx0LHIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1vJiYoRChvKSYmKG89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShvLHIrKCFvLmtleXx8bCYmbC5rZXk9PT1vLmtleT8iIjooIiIrby5rZXkpLnJlcGxhY2UoSSwiJCYvIikrIi8iKStlKSksCnQucHVzaChvKSksMTtpZihsPTAsbj0iIj09PW4/Ii4iOm4rIjoiLGIoZSkpZm9yKHZhciB1PTA7dTxlLmxlbmd0aDt1Kyspe3ZhciBjPW4rVChhPWVbdV0sdSk7bCs9VihhLHQscixjLG8pfWVsc2UgaWYoYz1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPV8mJmVbX118fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgYylmb3IoZT1jLmNhbGwoZSksdT0wOyEoYT1lLm5leHQoKSkuZG9uZTspbCs9VihhPWEudmFsdWUsdCxyLGM9bitUKGEsdSsrKSxvKTtlbHNlIGlmKCJvYmplY3QiPT09YSl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gbH1mdW5jdGlvbiBSKGUsdCxzKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBpPVtdLHI9MDtyZXR1cm4gVihlLGksIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwocyxlLHIrKyl9KSksaX1mdW5jdGlvbiBBKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIEw9e2N1cnJlbnQ6bnVsbH0sRT17dHJhbnNpdGlvbjpudWxsfSxNPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOkwsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6RSxSZWFjdEN1cnJlbnRPd25lcjpDfTt0LkNoaWxkcmVuPXttYXA6Uixmb3JFYWNoOmZ1bmN0aW9uKGUsdCxzKXtSKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxzKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gUihlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBSKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighRChlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9cix0LlByb2ZpbGVyPW8sdC5QdXJlQ29tcG9uZW50PVMsdC5TdHJpY3RNb2RlPW4sdC5TdXNwZW5zZT1jLHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9TSx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQsaSl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIHI9eSh7fSxlLnByb3BzKSxuPWUua2V5LG89ZS5yZWYsYT1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKG89dC5yZWYsYT1DLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYobj0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHUgaW4gdCl3LmNhbGwodCx1KSYmIVAuaGFzT3duUHJvcGVydHkodSkmJihyW3VdPXZvaWQgMD09PXRbdV0mJnZvaWQgMCE9PWw/bFt1XTp0W3VdKX12YXIgdT1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXUpci5jaGlsZHJlbj1pO2Vsc2UgaWYoMTx1KXtsPUFycmF5KHUpO2Zvcih2YXIgYz0wO2M8dTtjKyspbFtjXT1hcmd1bWVudHNbYysyXTtyLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOnMsdHlwZTplLnR5cGUsa2V5Om4scmVmOm8scHJvcHM6cixfb3duZXI6YX19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YSxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD14LHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD14LmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjp1LHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1ELHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6ZCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkF9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6aCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PUUudHJhbnNpdGlvbjtFLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e0UudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBMLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBMLmN1cnJlbnQudXNlQ29udGV4dChlKX0sCnQudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sdC51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBMLmN1cnJlbnQudXNlRGVmZXJyZWRWYWx1ZShlKX0sdC51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIEwuY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LHMpe3JldHVybiBMLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQscyl9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gTC5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LHMpfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gTC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxzKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEwuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxzKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXMoMTIyNzQ5KX0sNjMyNjA3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0xvbGxpcG9wR3JvdXBJY29uczooKT0+aSxMb2xsaXBvcFRvb2x0aXBNYWluQ29tbW9uUm93OigpPT51fSk7dmFyIGkscj1zKDU0MTgyMCk7IWZ1bmN0aW9uKGUpe2VbZS5CZWZvcmVNYXJrZXRPcGVuPXIuYmVmb3JlTWFya2V0T3Blbl09IkJlZm9yZU1hcmtldE9wZW4iLGVbZS5BZnRlck1hcmtldENsb3NlPXIuYWZ0ZXJNYXJrZXRDbG9zZV09IkFmdGVyTWFya2V0Q2xvc2UifShpfHwoaT17fSkpO3ZhciBuPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxhPXMubihvKSxsPXMoMjczMzEwKTtmdW5jdGlvbiB1KGUpe2NvbnN0e25hbWU6dCx2YWx1ZTpzLHN0eWxlOmksdmFsdWVTdHlsZTpvLG9uVmFsdWVDbGljazp1LHZhbHVlUmlnaHRJY29uOmMsY2xhc3NOYW1lOmh9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKShyLmdyb3VwUm93LGgpLHN0eWxlOml9LHQmJm4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIuZ3JvdXBDZWxsfSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ci50ZXh0fSx0KSksbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ci5ncm91cENlbGx9LG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyLnRleHQsc3R5bGU6byxvbkNsaWNrOnV9LHMpLGMmJm4uY3JlYXRlRWxlbWVudChsLkljb24se2ljb246Yy5pY29uQ29udGVudCxjbGFzc05hbWU6YSgpKHIuZ3JvdXBJY29uLGMuaWNvbkNsYXNzLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRpdGxlOmMudG9vbHRpcFRleHR9KSkpfX0sMjI4ODIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlRGl2aWRlbmRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzOigpPT5nZSxjcmVhdGVFYXJuaW5nc0xvbGxpcG9wVG9vbHRpcENvbnRlbnRQcm9wczooKT0+ZmUsY3JlYXRlU3BsaXRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzOigpPT5iZSxnZXRNb3JlRmluYW5jaWFsc0RpdmlkZW5kc0xpbmtUZXh0OigpPT5TZSxnZXRNb3JlRmluYW5jaWFsc0xpbmtUZXh0OigpPT51ZX0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoNjAxODQxKSxuPXMoMjE0OTg3KSxvPXMoMjIxMDYxKSxhPXMoMjc2MDE5KSxsPXMoNTIzMDcxKSx1PXMoNDkxMTY1KSxjPXMoOTI2OTk1KSxoPXMoNTMyOTc1KSxkPXMoNDA3MDA2KSxfPXMoMTEyNzI1KSxwPXMoODExOTA0KSx5PXMoMTg1MjcxKSxtPXMoNTE3MjkzKSx2PXMoNzcwNzU1KSxmPXMoOTY5MTY4KSxTPXMoNTU0NjU0KSxnPXMoODIyNzk1KSxiPXMoOTMwMjMxKSx3PXMoNTY5Mzk4KSxDPXMoODg4NTYyKSxQPXMoODg5Mzk3KSx4PXMoNzIxMDQyKSxEPXMoMjMzMjQ3KSxJPXMoNjMyNjA3KSxUPXMoODk0Njk3KSxWPXMoNDA4Mzc3KSxSPXMoMzUzMjA2KSxBPXMoNjkxOTgpLEw9cygyNDEyMjMpLEU9cygzMDc3MDgpLE09cyg1NTIwODQpLGs9cyg1MzY5MiksQj1zKDU1MTQzMCksTj1zKDQzNTI3MyksRj1zKDI0MTUzMik7Y29uc3QgTz0oMCxvLmdldExvZ2dlcikoIkNoYXJ0LkxvbGlwb3BDb250ZW50RmFjdG9yeSIpLEg9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDY0MTg3NSkpLHE9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDM4NTExMikpLHo9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDEzNjk1MikpLFU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDc1Njc4NCkpLFc9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDMzNjg3MSkpLCQ9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDkzMDU4NikpLEc9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ3MTEyNCkpLGo9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDMyNDUxKSksWT15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNDY0NjY3KSksSj15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoODQ3ODU4KSksUT15LnQobnVsbCx7CmNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ2Mjk5KSksWj15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNTE4MTQzKSksSz15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNDEwMzQ1KSksWD15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNzcyMTQ5KSksZWU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ2NTkzNikpLHRlPXkudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg2NTEyMjQpKSxzZT15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNjQyODE3KSksaWU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDI5OTU5MykpLHJlPSgwLEQuZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoKSxuZT0oMCxELmdldFZvbHVtZUZvcm1hdHRlcikoKSxvZT1uZXcgbS5DaXJjdWxhckNhY2hlQnVmZmVyKDMyKSxhZT1bImluIiwiZW4iXS5pbmNsdWRlcyh3aW5kb3cubGFuZ3VhZ2U/PyJlbiIpO2Z1bmN0aW9uIGxlKGUsdCxzPSJvdmVydmlldyIpe2lmKCEvXGJldGZcYi9pLnRlc3QoZT8uZGVzY3JpcHRpb258fCIiKSlyZXR1cm57Y2hpbGRyZW46dCxvbkNsaWNrOmFzeW5jKCk9PnthLmdsb2JhbENsb3NlRGVsZWdhdGUuZmlyZSgpLCgwLGIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZmluYW5jaWFsc193ZWJ2aWV3Iik/KDAsQy5vcGVuRmluYW5jaWFsc1dlYnZpZXcpKG5ldyBVUkxTZWFyY2hQYXJhbXMpOigwLFAuc2hvd0ZpbmFuY2lhbHNEaWFsb2cpKHtpbml0aWFsVGFiSWQ6c30pfX19ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIHkudChudWxsLHtyZXBsYWNlOntzeW1ib2w6ZT8ubmFtZT8/IiJ9LGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDI0MTc3KSl9ZnVuY3Rpb24gY2UoZSx0KXtyZXR1cm57aWNvbjpGLGNsYXNzTmFtZToiYXBwbHktY29tbW9uLXRvb2x0aXAiLCJkYXRhLXRvb2x0aXAiOnkudChudWxsLHZvaWQgMCxzKDM0NDQ4MikpLG9uQ2xpY2s6YXN5bmMoKT0+eygwLHgudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdCkoZS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCksImVhcm5pbmdzX2xvbGxpcG9wIiwiY2hhcnQiKSx3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8oMCxnLmludm9rZUFsZXJ0RWRpdG9yKSh7bW9kZTpnLkFsZXJ0RWRpdG9ySW52b2NhdGlvbk1vZGUuQ3JlYXRlQWxlcnQsZGF0YVNvdXJjZUh1YjplLGVhcm5pbmdzOnQsc291cmNlOiJjaGFydCIsbWV0aG9kOiJlYXJuaW5nc19sb2xsaXBvcCIsYWN0aW9uU291cmNlOiJlYXJuaW5nc19sb2xsaXBvcCJ9KTooMCx2Lm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToiYWxlcnRzT25FYXJuaW5ncyJ9KX19fWZ1bmN0aW9uIGhlKGUpe3JldHVybntkb2N1bWVudElkOmUuaWQsaWQ6ZS5jYXRlZ29yeS5pZCx0aXRsZTplLmNhdGVnb3J5LnRpdGxlLHZpZXdzOmUudmlld3MsZm9ybTplLmZvcm0/P251bGx9fWZ1bmN0aW9uIGRlKGUsdCl7cmV0dXJuKDAsaC5nZXREb2N1bWVudHNBcGkpKCkuZG9jU2NyZWVuZXIudjEuZ2V0RG9jdW1lbnRzKHtjbGllbnQ6ImNoYXJ0IixmaWx0ZXJzOlt7aWQ6ImxhbmciLHZhbHVlczpbd2luZG93Lmxhbmd1YWdlPz8iZW4iXX0se2lkOiJzeW1ib2wiLHZhbHVlczpbZV19XX0se3NpZ25hbDp0fSl9Y29uc3QgX2U9W1sidXJuOnN1bW1hcnlfZG9jdW1lbnRfcmVwb3J0OnF1YXJ0ci5jb20iLCJ1cm46cmVwb3J0OnF1YXJ0ci5jb20iXSxbInVybjpzdW1tYXJ5X2RvY3VtZW50X3NsaWRlczpxdWFydHIuY29tIiwidXJuOnNsaWRlczpxdWFydHIuY29tIl0sWyJ1cm46c3VtbWFyeV9kb2N1bWVudF90cmFuc2NyaXB0OnF1YXJ0ci5jb20iLCJ1cm46dHJhbnNjcmlwdHM6cXVhcnRyLmNvbSJdXTtmdW5jdGlvbiBwZShlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUuaXRlbXMuZm9yRWFjaCgoZT0+e2NvbnN0IHM9KChpPWUuaWQpLmVuZHNXaXRoKCI6MCIpJiYoaT1pLnNsaWNlKDAsLTIpKSxfZS5yZWR1Y2UoKChlLHQpPT5lLnJlcGxhY2UodFswXSx0WzFdKSksaSkpO3ZhciBpO3Quc2V0KHMsZS50aXRsZSl9KSksdH1mdW5jdGlvbiB5ZShlLHQpe3JldHVybigwLGQuZ2V0TmV3c01lZGlhdG9yU2VydmljZSkoKS52Mi5nZXROZXdzKHtjbGllbnQ6ImxhbmRpbmciLHN0cmVhbWluZzohMSxmaWx0ZXJzOlt7aWQ6InN5bWJvbCIsdmFsdWVzOltlXX0se2lkOiJwcm92aWRlciIsdmFsdWVzOlsicXVhcnRyIl19XX0se3NpZ25hbDp0fSkudGhlbihwZSl9ZnVuY3Rpb24gbWUoZSx0KXtjb25zdCBzPW9lLmdldChlKTtpZihzKXJldHVybiBzO2NvbnN0IGk9e2RvY3VtZW50c1JlcXVlc3Q6ZGUoZSx0KSxuZXdzUmVxdWVzdDp5ZShlLHQpfTtyZXR1cm4gb2Uuc2V0KGUsaSksaX1mdW5jdGlvbiB2ZShlKXtjb25zdCB0PWUucmVwb3J0ZWQscz1udWxsIT10LGk9ZS5lc3RpbWF0ZSxyPW51bGwhPWksbj1zJiZyP3QtaTpudWxsO2xldCBvPWUucmV2ZW51ZUVzdGltYXRlLGE9ITE7bnVsbCE9byYmKGE9ITAsbyo9MWU2KTtsZXQgbD1lLnJldmVudWVWYWx1ZSx1PSExO251bGwhPWwmJih1PSEwLGwqPTFlNik7Y29uc3QgYz11JiZhP2wtbzpudWxsO3JldHVybntzdXJwcmlzZTpuLHJldmVudWVTdXJwcmlzZTpjLHJldmVudWVFc3RpbWF0ZTpvLGlzUmV2ZW51ZUVzdGltYXRlOmEsaXNSZXBvcnRlZDpzLHJldmVudWVWYWx1ZTpsLGlzUmV2ZW51ZVZhbHVlOnUsZXN0aW1hdGU6aSxyZXBvcnRlZDp0LGlzRXN0aW1hdGU6cixzdXJwcmlzZVBlcmNlbnQ6bnVsbD09bj9udWxsOjEwMCpNYXRoLmFicyhuL2kpLHJldmVudWVTdXJwcmlzZVBlcmNlbnQ6bnVsbD09Yz9udWxsOjEwMCpNYXRoLmFicyhjL28pfX1hc3luYyBmdW5jdGlvbiBmZShlLHQsbyxhLGgsZCxtKXsKY29uc3R7c3VycHJpc2U6dixyZXZlbnVlU3VycHJpc2U6ZyxyZXZlbnVlRXN0aW1hdGU6Yixpc1JldmVudWVFc3RpbWF0ZTpDLHJldmVudWVWYWx1ZTpQLGlzUmV2ZW51ZVZhbHVlOngsZXN0aW1hdGU6RCxpc1JlcG9ydGVkOkEscmVwb3J0ZWQ6TCxpc0VzdGltYXRlOkYsc3VycHJpc2VQZXJjZW50OkcscmV2ZW51ZVN1cnByaXNlUGVyY2VudDpqfT12ZShlKSxZPSJGdXR1cmUiPT09ZS50eXBlfHwiRXN0aW1hdGVkRGF0ZSI9PT1lLnR5cGUsWj1vJiYhWT9hd2FpdCBhc3luYyBmdW5jdGlvbihlLHQscyl7Y29uc3R7cGVyaW9kOmksZGF0ZTpyfT10LG89bmV3IERhdGUoMWUzKmkpLGE9IlEiKyhvLmdldFVUQ01vbnRoKCkrMSkvMyxsPW1lKGUucHJvX25hbWUscyk7dHJ5e2NvbnN0W2UsdF09YXdhaXQgUHJvbWlzZS5hbGwoW2wuZG9jdW1lbnRzUmVxdWVzdCxsLm5ld3NSZXF1ZXN0XSk7aWYocy5hYm9ydGVkKXJldHVybiBudWxsO2NvbnN0IGk9ZS5pdGVtcy5maW5kKChlPT5bInF1YXJ0ZXJseV9yZXBvcnQiLCJlYXJuaW5nc19yZWxlYXNlIiwiYW5udWFsX3JlcG9ydCJdLmluY2x1ZGVzKGUuY2F0ZWdvcnkuaWQpJiYiZWFybmluZyI9PT1lLmV2ZW50JiZlLmZpc2NhbF9wZXJpb2Q9PT1hJiZlLmZpc2NhbF95ZWFyPT09by5nZXRVVENGdWxsWWVhcigpKSk7aWYoIWkpcmV0dXJuIG51bGw7Y29uc3Qgbj1pLmlkLHU9aS5jb3JyZWxhdGlvbl9pZCxjPWUuaXRlbXMuZmlsdGVyKChlPT5lLmNvcnJlbGF0aW9uX2lkPT09dSkpO3JldHVybntzdW1tYXJ5OmFlP3QuZ2V0KG4pPz8iIjoiIixmaXNjYWxQZXJpb2Q6YSxmaXNjYWxZZWFyOm8uZ2V0VVRDRnVsbFllYXIoKSxldmVudERhdGU6ci8xZTMsY2F0ZWdvcmllczpjLm1hcChoZSl9fWNhdGNoKGUpe3JldHVybiBuLmlzQWJvcnRFcnJvcnx8Ty5sb2dFcnJvcihgRXJyb3IgcmVxdWVzdGluZyBkb2N1bWVudHMgYW5kIG5ld3M6ICR7ZX1gKSxudWxsfX0obyxlLGQpOm51bGwsSz1lLnN0YW5kYXJkaXplZCxlZT1udWxsIT1LLG9lPTEwPT09ZS50aW1lVHlwZXx8MTQ9PT1lLnRpbWVUeXBlLHVlPSgwLFYuZWFybmluZ3NTdHlsZXMpKGEpO2xldCBkZSxfZSxwZSx5ZSxmZTtzd2l0Y2goZS50eXBlKXtjYXNlIkZ1dHVyZSI6X2U9dWUuZnV0dXJlLGRlPWs7YnJlYWs7Y2FzZSJFc3RpbWF0ZWREYXRlIjpfZT11ZS5lc3RpbWF0ZWREYXRlLGRlPVI7YnJlYWs7Y2FzZSJOZWdhdGl2ZSI6X2U9dWUubmVnYXRpdmUsZGU9TTticmVhaztjYXNlIlBvc2l0aXZlIjpfZT11ZS5wb3NpdGl2ZSxkZT1FO2JyZWFrO2RlZmF1bHQ6X2U9dWUudW5rbm93bixkZT1rfXN3aXRjaChlLnRpbWVUeXBlKXtjYXNlIDEyOmNhc2UgMjI6cGU9Tix5ZT1JLkxvbGxpcG9wR3JvdXBJY29ucy5BZnRlck1hcmtldENsb3NlLGZlPWllO2JyZWFrO2Nhc2UgMTE6Y2FzZSAyMTpwZT1CLHllPUkuTG9sbGlwb3BHcm91cEljb25zLkJlZm9yZU1hcmtldE9wZW4sZmU9c2V9Y29uc3QgU2U9e25hbWU6IkVzdGltYXRlZERhdGUiPT09ZS50eXBlP1E6Six2YWx1ZTpoKGUuZGF0ZSxvZSl9O3BlJiYoU2UudmFsdWVSaWdodEljb249e2ljb25Db250ZW50OnBlLGljb25DbGFzczp5ZSx0b29sdGlwVGV4dDpmZX0pO2NvbnN0IGdlPVtTZV07ZS5wZXJpb2QmJmdlLnB1c2goe25hbWU6WCx2YWx1ZTp1LmRhdGVGb3JtYXRGdW5jdGlvbnNbIk1NTSAneXkiXShuZXcgRGF0ZSgxZTMqZS5wZXJpb2QpLCExKX0pO2NvbnN0IGJlPVo/ZnVuY3Rpb24oZSx0LHIsbyl7Y29uc3R7c3VycHJpc2U6YSxyZXZlbnVlU3VycHJpc2U6bCxzdXJwcmlzZVBlcmNlbnQ6dSxyZXZlbnVlU3VycHJpc2VQZXJjZW50OmN9PXZlKHQpO3JldHVybntjaGlsZHJlbjp5LnQobnVsbCx7Y29udGV4dDoiRWFybmluZyBsb2xsaXBvcCBvbiBjaGFydCJ9LHMoNzY3NzcxKSkuZm9ybWF0KHtzeW1ib2w6ZT8ubmFtZT8/IiJ9KSxvbkNsaWNrOmFzeW5jKCk9PntpZihlJiZyKXRyeXtjb25zdCBzPWFlP2F3YWl0IG1lKGUucHJvX25hbWUsbykubmV3c1JlcXVlc3Q6bmV3IE1hcDtpZihvLmFib3J0ZWQpcmV0dXJuO2NvbnN0IG49ci5jYXRlZ29yaWVzLm1hcCgoZT0+KHtpZDplLmRvY3VtZW50SWQsdGl0bGU6cy5nZXQoZS5kb2N1bWVudElkKT8/IiJ9KSkpLGg9e3RpdGxlOmBFYXJuaW5ncywgJHtyLmZpc2NhbFBlcmlvZH0gRlkke3IuZmlzY2FsWWVhcn1gLGlzQW5udWFsOiExLGV2ZW50OiJlYXJuaW5nIixkYXRlOnIuZXZlbnREYXRlLHllYXI6ci5maXNjYWxZZWFyLHN1bW1hcnk6ci5zdW1tYXJ5LGNhdGVnb3JpZXM6KDAsXy5zb3J0Q2F0ZWdvcmllcykoci5jYXRlZ29yaWVzKSxjdXJyZW5jeTplLmN1cnJlbmN5X2NvZGUsZWFybmluZzp7Li4udCxzdGFuZGFyZGl6ZWQ6dC5zdGFuZGFyZGl6ZWQ/P3ZvaWQgMCxyZXBvcnRlZDp0LnJlcG9ydGVkPz92b2lkIDAsZXN0aW1hdGU6dC5lc3RpbWF0ZT8/dm9pZCAwLHJldmVudWVFc3RpbWF0ZTp0LnJldmVudWVFc3RpbWF0ZT8/dm9pZCAwLHJldmVudWVWYWx1ZTp0LnJldmVudWVWYWx1ZT8/dm9pZCAwLHN1cnByaXNlOmE/P3ZvaWQgMCxyZXZlbnVlU3VycHJpc2U6bD8/dm9pZCAwLHN1cnByaXNlUGVyY2VudDp1Pz92b2lkIDAscmV2ZW51ZVN1cnByaXNlUGVyY2VudDpjPz92b2lkIDB9fTsoMCxwLm9wZW5DYXJkUG9wdXApKHtwcm9fc3ltYm9sOmUucHJvX25hbWUsc2hvcnRfbmFtZTplLm5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3MsdHZfc3ltYm9sX3BhZ2VfdXJsX2ZvcmNlX2V4Y2hhbmdlOltdLGluc3RydW1lbnRfbmFtZTooMCxpLmVuc3VyZURlZmluZWQpKCgwLFQuZ2V0RGVzY3JpcHRpb25Gb3JUaXRsZUdlbmVyYXRpb24pKCJkZXNjcmlwdGlvbiIsZSkpfSxoLGguY2F0ZWdvcmllc1swXSxuKX1jYXRjaChlKXsoMCxuLmlzQWJvcnRFcnJvcikoZSl8fE8ubG9nRXJyb3IoYEVycm9yIHJlcXVlc3RpbmcgZG9jdW1lbnRzIGFuZCBuZXdzOiAke2V9YCl9fX19KG8sZSxaLGQpOmxlKG8sZnVuY3Rpb24oZSl7cmV0dXJuIHkudChudWxsLHtyZXBsYWNlOntzeW1ib2w6ZT8ubmFtZT8/IiJ9LGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMiCn0scyg3NTkxNTEpKX0obyksImVhcm5pbmdzIiksd2U9e3RpdGxlOnh8fEM/SDpxLGluZm9ybWF0aW9uQnV0dG9uUHJvcHM6e2FyaWFMYWJlbDp5LnQobnVsbCx2b2lkIDAscyg4Njk4NjcpKSxpY29uOiJxdWVzdGlvbiIsb25DbGljazooKT0+KDAsYy5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6Uy5zb2x1dGlvbklkcy5FQVJOSU5HX0xPTExJUE9QX0ZJRUxEU30pfSxhbGVydDptLGljb246ZGUsc3R5bGU6e2NvbG9yOl9lfSxhY3Rpb25zOltiZSwoMCx3LmlzRmVhdHVyZUVuYWJsZWQpKCJhbGVydHMtb24tbG9sbGlwb3AiKSYmWT9jZSh0LHtlc3RpbWF0ZWREYXRlOm5ldyBEYXRlKGUuZGF0ZSksZXN0aW1hdGVkUmV2ZW51ZTpiPz92b2lkIDAsZXN0aW1hdGVkRWFybmluZ3M6RD8/dm9pZCAwfSk6dm9pZCAwXS5maWx0ZXIoci5pc0V4aXN0ZW50KSxtYWluOnt0eXBlOiJjb21tb24iLHRpdGxlOmdlLGNvbnRlbnQ6W119LGRvY3VtZW50c0luZm86Wn0sQ2U9e3RpdGxlOnEsY29udGVudDpbXX07aWYoZWUmJkNlLmNvbnRlbnQucHVzaCh7bmFtZTp6LHZhbHVlOigwLGwucm91bmRUb1RoaXJkRGlnaXQpKEspfSksQSYmQ2UuY29udGVudC5wdXNoKHtuYW1lOlUsdmFsdWU6KDAsbC5yb3VuZFRvVGhpcmREaWdpdCkoTCl9KSxGJiZDZS5jb250ZW50LnB1c2goe25hbWU6Vyx2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KShEKX0pLG51bGwhPT12KXtsZXQgZT0oMCxsLnJvdW5kVG9UaGlyZERpZ2l0KSh2KTtpc0Zpbml0ZShHKSYmKGUrPSIgKCIrcmUuZm9ybWF0KEcpKyIpIiksQ2UuY29udGVudC5wdXNoKHtuYW1lOiQsdmFsdWU6KDAsZi5mb3JjZUxUUlN0cikoZSksc3R5bGU6e2ZvbnRXZWlnaHQ6ImJvbGQiLGNvbG9yOl9lfX0pfWlmKCgwLGkuZW5zdXJlRGVmaW5lZCkod2UubWFpbi5jb250ZW50KS5wdXNoKENlKSx4fHxDKXtjb25zdCBlPXt0aXRsZTp0ZSxjb250ZW50OltdfTtpZih4JiZlLmNvbnRlbnQucHVzaCh7bmFtZTpVLHZhbHVlOm5lLmZvcm1hdChQKX0pLEMmJmUuY29udGVudC5wdXNoKHtuYW1lOlcsdmFsdWU6bmUuZm9ybWF0KGIpfSksbnVsbCE9PWcpe2xldCB0PW5lLmZvcm1hdChnKTtpc0Zpbml0ZShqKSYmKHQrPSIgKCIrcmUuZm9ybWF0KGopKyIpIiksZS5jb250ZW50LnB1c2goe25hbWU6JCx2YWx1ZTooMCxmLmZvcmNlTFRSU3RyKSh0KSxzdHlsZTp7Zm9udFdlaWdodDoiYm9sZCIsY29sb3I6Zz49MD91ZS5wb3NpdGl2ZTp1ZS5uZWdhdGl2ZX19KX0oMCxpLmVuc3VyZURlZmluZWQpKHdlLm1haW4uY29udGVudCkucHVzaChlKX1yZXR1cm5bd2VdfWZ1bmN0aW9uIFNlKGUpe3JldHVybiB5LnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOmU/Lm5hbWU/PyIifSxjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scygzODE0NzkpKX1mdW5jdGlvbiBnZShlLHQscyxpKXtjb25zdHtkYXRlOm4sYW1vdW50RGl2aWRlbmRzOm8scGF5bWVudERhdGU6YSxhZGp1c3RlZEFtb3VudERpdmlkZW5kczp1fT1lLGM9W3tuYW1lOlosdmFsdWU6aShuKX1dO3JldHVybigwLHIuaXNOdW1iZXIpKG8pJiZjLnB1c2goe25hbWU6aix2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KShvKX0pLCgwLHIuaXNOdW1iZXIpKHUpJiZjLnB1c2goe25hbWU6WSx2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KSh1KX0pLCgwLHIuaXNOdW1iZXIpKGEpJiZjLnB1c2goe25hbWU6ZWUsdmFsdWU6aShhKX0pLFt7dGl0bGU6RyxpY29uOkwsc3R5bGU6e2NvbG9yOigwLFYuZGl2aWRlbmRzU3R5bGVzKShzKX0sYWN0aW9uczpbbGUodCxTZSh0KSwiZGl2aWRlbmRzIildLmZpbHRlcihyLmlzRXhpc3RlbnQpLG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6Y319XX1mdW5jdGlvbiBiZShlLHQscyxpKXtsZXQgbj1LO3JldHVybigwLHIuaXNOdW1iZXIpKGUubnVtZXJhdG9yKSYmKDAsci5pc051bWJlcikoZS5kZW5vbWluYXRvcikmJihuKz0iOiAiK2UubnVtZXJhdG9yKyIvIitlLmRlbm9taW5hdG9yKSxbe3RpdGxlOm4saWNvbjpBLHN0eWxlOntjb2xvcjooMCxWLnNwbGl0c1N0eWxlKShzKX0sYWN0aW9uczpbbGUodCx1ZSh0KSldLmZpbHRlcihyLmlzRXhpc3RlbnQpLG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6aShlLmRhdGUpfX1dfX0sNDA4Mzc3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RhcmtUaGVtZUVhcm5pbmdzU3R5bGU6KCk9PnIsZGl2aWRlbmRzU3R5bGVzOigpPT51LGVhcm5pbmdzU3R5bGVzOigpPT5vLGxpZ2h0VGhlbWVFYXJuaW5nc1N0eWxlOigpPT5uLHNwbGl0c1N0eWxlOigpPT5kfSk7dmFyIGk9cyg1MDU1Nik7Y29uc3Qgcj17cG9zaXRpdmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIpLG5lZ2F0aXZlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC02MDAiKSxmdXR1cmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLGVzdGltYXRlZERhdGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLHVua25vd246KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS0zNTAiKX0sbj17cG9zaXRpdmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLG5lZ2F0aXZlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxmdXR1cmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCIpLGVzdGltYXRlZERhdGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCIpLHVua25vd246KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS03MDAiKX07ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZT9yOm59Y29uc3QgYT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS02MDAiKSxsPSgwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIGU/YTpsfWNvbnN0IGM9KDAsCmkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10YW4tb3JhbmdlLTYwMCIpLGg9KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXRhbi1vcmFuZ2UtNTAwIik7ZnVuY3Rpb24gZChlKXtyZXR1cm4gZT9jOmh9fSw3NTc4MjkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaTtzLmQodCx7V2Vidmlld0NvbnRyb2xsZXJCYXNlOigpPT5uLFdlYnZpZXdQYWdlTmFtZTooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuRmluYW5jaWFscz0iZmluYW5jaWFscyIsZS5Gb3JlY2FzdD0iZm9yZWNhc3QiLGUuRGV0YWlscz0iZGV0YWlscyIsZS5UZWNobmljYWxzPSJ0ZWNobmljYWxzIixlLkNvcnBvcmF0ZUJvbmRzPSJjb3Jwb3JhdGUtYm9uZHMiLGUuU2Vhc29uYWxzPSJzZWFzb25hbHMiLGUuU3RvY2tCb25kcz0ic3RvY2stYm9uZHMiLGUuRm9yd2FyZEN1cnZlPSJmb3J3YXJkLWN1cnZlIixlLkJvbmRZaWVsZEN1cnZlPSJib25kLXlpZWxkLWN1cnZlIixlLllpZWxkQ3VydmVzPSJ5aWVsZC1jdXJ2ZXMiLGUuRG9jdW1lbnRzPSJkb2N1bWVudHMiLGUuRXRmcz0iZXRmcyIsZS5Db250cmFjdHM9ImNvbnRyYWN0cyIsZS5EZXJpdmF0aXZlcz0iZGVyaXZhdGl2ZXMiLGUuTmV3cz0ibmV3cyIsZS5Db21tdW5pdHk9ImNvbW11bml0eSJ9KGl8fChpPXt9KSk7dmFyIHI9cygyMjUyOTgpO2NsYXNzIG57X2NyZWF0ZU9wZW5SZXF1ZXN0KGUsdD1uZXcgVVJMU2VhcmNoUGFyYW1zKXtjb25zdCBzPXQuZ2V0KCJzeW1ib2wiKT8/ci5saW5raW5nLnN5bWJvbC52YWx1ZSgpO3JldHVybiB0LnNldCgic3ltYm9sIixzKSx7ZXhlY3V0ZSgpe2NvbnN0IHM9bmV3IFVSTChgd2Vidmlldy8ke2V9L2AsbG9jYXRpb24ub3JpZ2luKTtyZXR1cm4gcy5zZWFyY2g9dC50b1N0cmluZygpLHdpbmRvdy5vcGVuKHMsIl9ibGFuayIpfSxzeW1ib2w6KCk9PnN9fX19LDcwNjI0OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTZXNzaW9uczooKT0+X30pO3ZhciBpPXMoMTM4NjM4KSxyPXMoOTMwMjMxKSxuPXMoNzkxNDI3KSxvPXMoNzk5Mzc1KSxhPXMoMjE4NzY1KSxsPXMoNzU1NjI3KSx1PXMoNTk2MjcyKSxjPXMoOTY2NDA0KSxoPXMoNjA1MjU3KTtjb25zdCBkPW5ldyBsLlByaWNlRm9ybWF0dGVyO2NsYXNzIF8gZXh0ZW5kcyB1LkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IoZSx0LHMsaSl7c3VwZXIoZSx0KSx0aGlzLl9zdHVkeVNvdXJjZT1udWxsLHRoaXMuX3BhbmVWaWV3cz1bXSx0aGlzLl9tZXRhSW5mbz1udWxsLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9pc1N0YXJ0ZWQ9ITEsdGhpcy5fbG9hZGVkR3JhcGhpY3M9bnVsbCx0aGlzLl9kb3VibGVDbGlja0hhbmRsZXI9aSx0aGlzLl9wcm9wZXJ0aWVzPXMsdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByb3BlcnRpZXNDaGFuZ2VkKSx0aGlzLl9yZXF1ZXN0QW5kUHJvY2Vzc01ldGFJbmZvKCksdC50aW1lU2NhbGUoKS5vblJlc2V0KCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJEYXRhKSx0LnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnVwZGF0ZUFsbFZpZXdzLmJpbmQodGhpcywoMCxjLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpKSx0Lm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZSl9c3RhcnQoKXt0aGlzLl9pc1N0YXJ0ZWQ9ITAsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZSgpfXJlc3RhcnQoKXt0aGlzLl9jbGVhckRhdGEoKSwoMCxyLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdG9wX3N0dWR5X29uX3Jlc3RhcnQiKSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9pc1N0YXJ0ZWR9c3RvcCgpe3RoaXMuX2lzU3RhcnRlZD0hMSxudWxsIT09dGhpcy5fc3R1ZHlTb3VyY2UmJnRoaXMuX3N0dWR5U291cmNlLnN0b3AoKX1pc0hvdmVyZWRFbmFibGVkKCl7cmV0dXJuITF9cGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9wYW5lVmlld3N9dXBkYXRlQWxsVmlld3MoZSl7dGhpcy5fcGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSl9dXBkYXRlVmlld3NGb3JQYW5lKGUsdCl7dGhpcy51cGRhdGVBbGxWaWV3cyh0KX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLG51bGwhPT10aGlzLl9zdHVkeVNvdXJjZSYmKHRoaXMuX3N0dWR5U291cmNlLmRhdGFDbGVhcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc3R1ZHlTb3VyY2UuZGF0YVVwZGF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9zdHVkeVNvdXJjZS5kZXN0cm95KCksdGhpcy5fc3R1ZHlTb3VyY2U9bnVsbCksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkubG9naWNhbFJhbmdlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLm9uUmVzZXQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMudW5zdWJzY3JpYmVBbGwodGhpcyl9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKX1wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuc2VyaWVzKCkucHJpY2VTY2FsZSgpfWdyYXBoaWNzKCl7cmV0dXJuIHRoaXMuX2xvYWRlZEdyYXBoaWNzfHwoMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0dWR5U291cmNlKS5ncmFwaGljcygpfXZhbHVlQXQoZSx0KXtyZXR1cm4gbnVsbH1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Z3JhcGhpY3NJbmZvKCl7cmV0dXJuKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhSW5mbykuZ3JhcGhpY3N9Zmlyc3RWYWx1ZShlKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmZpcnN0VmFsdWUoKX1mb3JtYXR0ZXIoKXtyZXR1cm4gZH1zdGF0ZURhdGEoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21ldGFJbmZvP3tncmFwaGljczooMCwKYS5zYXZlU3R1ZHlHcmFwaGljcykodGhpcy5ncmFwaGljcygpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksbWV0YUluZm86dGhpcy5fbWV0YUluZm8uc3RhdGUoKX06bnVsbH1yZXN0b3JlU3RhdGVEYXRhKGUpe3ZvaWQgMCE9PWUmJih0aGlzLl9sb2FkU3R1ZHlHcmFwaGljcyhlLmdyYXBoaWNzKSx0aGlzLl9zZXRNZXRhSW5mbyhuZXcgbi5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pKSx0aGlzLl9jcmVhdGVQYW5lVmlld3MoKSl9bWV0YUluZm8oKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX21ldGFJbmZvKX1hc3luYyBfcmVxdWVzdEFuZFByb2Nlc3NNZXRhSW5mbygpe2lmKHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSlyZXR1cm47Y29uc3QgZT1hd2FpdCgwLGguc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6ImphdmEiLHN0dWR5SWQ6IlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyJ9KTt0aGlzLl9kZXN0cm95ZWR8fG51bGw9PT10aGlzLl9sb2FkZWRHcmFwaGljcyYmKHRoaXMuX3NldE1ldGFJbmZvKGUpLG51bGwhPT10aGlzLl9tZXRhSW5mbyYmKHRoaXMuX3N0dWR5U291cmNlPW5ldyBvLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMuX21vZGVsLmNoYXJ0QXBpKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLCJzZXNzaW9uc18iLHRoaXMuX21ldGFJbmZvKSx0aGlzLl9jcmVhdGVQYW5lVmlld3MoKSx0aGlzLl9zdHVkeVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMudXBkYXRlQWxsVmlld3MuYmluZCh0aGlzLCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpKSx0aGlzLl9zdHVkeVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMudXBkYXRlQWxsVmlld3MuYmluZCh0aGlzLCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpKSx0aGlzLl9zdHVkeVNvdXJjZS5zZXRJbnB1dHMoe30pLHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGUoKSkpfV9sb2FkU3R1ZHlHcmFwaGljcyhlKXtjb25zdCB0PWUuYmFja2dyb3VuZHM7aWYodm9pZCAwIT09dCl7Y29uc3QgZT10LmZpbmRJbmRleCgoZT0+ImluU2Vzc2lvbiI9PT1lLnN0eWxlSWQpKTstMSE9PWUmJnQuc3BsaWNlKGUsMSl9dGhpcy5fbG9hZGVkR3JhcGhpY3M9KDAsYS5sb2FkU3R1ZHlHcmFwaGljcykoZSl9X3NldE1ldGFJbmZvKGUpe2NvbnN0IHQ9ZS5ncmFwaGljcy5iYWNrZ3JvdW5kczt2b2lkIDAhPT10JiZ2b2lkIDAhPT10LmluU2Vzc2lvbiYmZGVsZXRlIHQuaW5TZXNzaW9uLHRoaXMuX21ldGFJbmZvPWV9X2NsZWFyRGF0YSgpe251bGwhPT10aGlzLl9zdHVkeVNvdXJjZSYmdGhpcy5fc3R1ZHlTb3VyY2UuY2xlYXJEYXRhKCl9X2NyZWF0ZVBhbmVWaWV3cygpe2NvbnN0IGU9e2RvdWJsZUNsaWNrSGFuZGxlcjp0aGlzLl9kb3VibGVDbGlja0hhbmRsZXJ9OygwLGEuY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MpKHRoaXMsdGhpcy5fbW9kZWwsZSkudGhlbigoZT0+e3RoaXMuX3BhbmVWaWV3cz1lLnJlZ3VsYXJQYW5lVmlld3MsdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKX0pKX1fb25Qcm9wZXJ0aWVzQ2hhbmdlZCgpe3RoaXMuX3Byb2Nlc3NIaWJlcm5hdGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpfV9wcm9jZXNzSGliZXJuYXRlKCl7aWYobnVsbCE9PXRoaXMuX3N0dWR5U291cmNlKXtjb25zdCBlPXRoaXMuX2NhbkJlSGliZXJuYXRlZCgpLHQ9dGhpcy5faXNIaWJlcm5hdGVkKCkscz10aGlzLl9zdHVkeVNvdXJjZS5pc1N0YXJ0ZWQoKTshdCYmZSYmcz90aGlzLl9zdHVkeVNvdXJjZS5zdG9wKCk6IXR8fGV8fHN8fHRoaXMuX3N0dWR5U291cmNlLnN0YXJ0KCl9fV9jYW5CZUhpYmVybmF0ZWQoKXtpZih0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKSlyZXR1cm4hMDtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2Vzc2lvbkhpZ2hsaWdodC5jaGlsZHMoKSx7cHJlTWFya2V0OnQscG9zdE1hcmtldDpzLGVsZWN0cm9uaWM6aSxvdXRPZlNlc3Npb246cn09ZS5iYWNrZ3JvdW5kcy5jaGlsZHMoKSx7c2Vzc0JyZWFrczpufT1lLnZlcnRsaW5lcy5jaGlsZHMoKSxvPXQuY2hpbGRzKCkuYXZhaWxhYmxlLnZhbHVlKCkmJnQuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpfHxzLmNoaWxkcygpLmF2YWlsYWJsZS52YWx1ZSgpJiZzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKXx8aS5jaGlsZHMoKS5hdmFpbGFibGUudmFsdWUoKSYmaS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fHIuY2hpbGRzKCkuYXZhaWxhYmxlLnZhbHVlKCkmJnIuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpLGE9bi5jaGlsZHMoKS5hdmFpbGFibGUudmFsdWUoKSYmbi5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCk7cmV0dXJuIW8mJiFhfV9pc0hpYmVybmF0ZWQoKXtyZXR1cm4gdGhpcy5faXNTdGFydGVkJiYobnVsbD09PXRoaXMuX3N0dWR5U291cmNlfHwhdGhpcy5fc3R1ZHlTb3VyY2UuaXNTdGFydGVkKCkpfX19LDkwOTU5MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9FU0QkVFZfRElWSURFTkRTOigpPT5zZSxzdHVkeV9FU0QkVFZfRUFSTklOR1M6KCk9PnJlLHN0dWR5X0VTRCRUVl9TUExJVFM6KCk9PmllfSk7dmFyIGk9cyg1MDU1Nikscj1zKDk1MjkwMCksbj1zKDU1NjkxMSksbz1zKDYwMTg0MSksYT1zKDg3MzU3MyksbD1zKDIyODgyKSx1PXMoNDA4Mzc3KTt2YXIgYyxoPXMoNzYzKSxkPXMoMjYwNjkpOyFmdW5jdGlvbihlKXtlLlBvc2l0aXZlRWFybmluZ0ZpbGxQYXRoPSJNMTEuMDggMS4zNmEzIDMgMCAwIDEgMi44NiAwbDcuNDkgNC4wNkEzIDMgMCAwIDEgMjMgOC4wNlYyMGEzIDMgMCAwIDEtMyAzSDVhMyAzIDAgMCAxLTMtM1Y4LjA2YTMgMyAwIDAgMSAxLjU3LTIuNjR6IiwKZS5Qb3NpdGl2ZUVhcm5pbmdTdHJva2VQYXRoPSJNMTEuOSAyLjkxYy4zNy0uMjIuODQtLjIyIDEuMjIgMGw3LjUgNC4yNWMuMzkuMjIuNjMuNjQuNjMgMS4wOVYyMGMwIC42OS0uNTYgMS4yNS0xLjI1IDEuMjVINWMtLjY5IDAtMS4yNS0uNTYtMS4yNS0xLjI1VjguMjVjMC0uNDUuMjQtLjg3LjYzLTEuMDl6IixlLlBvc2l0aXZlRWFybmluZ0xhYmVsUGF0aD0iTTEwIDE4VjloNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxOHoiLGUuTmVnYXRpdmVFYXJuaW5nRmlsbFBhdGg9Ik0xMS4wOCAyMy42NGEzIDMgMCAwIDAgMi44NiAwbDcuNDktNC4wNkEzIDMgMCAwIDAgMjMgMTYuOTRWNWEzIDMgMCAwIDAtMy0zSDVhMyAzIDAgMCAwLTMgM3YxMS45NGEzIDMgMCAwIDAgMS41NyAyLjY0eiIsZS5OZWdhdGl2ZUVhcm5pbmdTdHJva2VQYXRoPSJNMTEuOSAyMi4xYy4zNy4yLjg0LjIgMS4yMiAwbDcuNS00LjI2Yy4zOS0uMjIuNjMtLjYzLjYzLTEuMDhWNWMwLS42OS0uNTYtMS4yNS0xLjI1LTEuMjVINWMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjV2MTEuNzZjMCAuNDUuMjQuODYuNjMgMS4wOHoiLGUuTmVnYXRpdmVFYXJuaW5nTGFiZWxQYXRoPSJNMTAgMTdWOGg1LjJ2MS41aC0zLjd2Mi4yNWgyLjd2MS41aC0yLjd2Mi4yNWgzLjdWMTd6IixlLkRlZmF1bHRFYXJuaW5nRmlsbFBhdGg9Ik0yIDVhMyAzIDAgMCAxIDMtM2gxNWEzIDMgMCAwIDEgMyAzdjE1YTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zeiIsZS5EZWZhdWx0RWFybmluZ1N0cm9rZVBhdGg9Ik01IDMuNWgxNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxNWMwIC44My0uNjcgMS41LTEuNSAxLjVINUExLjUgMS41IDAgMCAxIDMuNSAyMFY0Ljg1QTEuNSAxLjUgMCAwIDEgNSAzLjVaIixlLkRlZmF1bHRFYXJuaW5nTGFiZWxQYXRoPSJNMTAgMTdWOGg1LjV2MS41aC00djIuMjVoM3YxLjVoLTN2Mi4yNWg0VjE3eiJ9KGN8fChjPXt9KSk7dmFyIF89cyg3MzY1MzEpLHA9cyg2MzcxMDQpLHk9cyg3ODY0MzYpO2Z1bmN0aW9uIG0oZSx0LHMpe0FycmF5LmlzQXJyYXkodCk/dC5mb3JFYWNoKCh0PT57bShlLHQscyl9KSk6ImZpbGwiPT09dC5tb2RlPyhlLmZpbGxTdHlsZT1zLGUuZmlsbCh0LnBhdGgpKToic3Ryb2tlIj09PXQubW9kZSYmKGUuc3Ryb2tlU3R5bGU9cyxlLnN0cm9rZSh0LnBhdGgpKX1mdW5jdGlvbiB2KGUsdCl7cmV0dXJue2JhY2tncm91bmQ6e2JvZHlQYXRoOntwYXRoOm5ldyBQYXRoMkQoZSksbW9kZToiZmlsbCJ9fSxmb3JlZ3JvdW5kOntib2R5UGF0aDp7cGF0aDpuZXcgUGF0aDJEKHQpLG1vZGU6ImZpbGwifSxib3JkZXJQYXRoOntwYXRoOm5ldyBQYXRoMkQodCksbW9kZToic3Ryb2tlIn19fX1jb25zdCBmPXYoIk0xMS4wOCAxLjM2YTMgMyAwIDAgMSAyLjg2IDBsNy40OSA0LjA2QTMgMyAwIDAgMSAyMyA4LjA2VjIwYTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zVjguMDZhMyAzIDAgMCAxIDEuNTctMi42NHoiLCJNMTEuOSAyLjkxYy4zNy0uMjIuODQtLjIyIDEuMjIgMGw3LjUgNC4yNWMuMzkuMjIuNjMuNjQuNjMgMS4wOVYyMGMwIC42OS0uNTYgMS4yNS0xLjI1IDEuMjVINWMtLjY5IDAtMS4yNS0uNTYtMS4yNS0xLjI1VjguMjVjMC0uNDUuMjQtLjg3LjYzLTEuMDl6IiksUz12KCJNMTEuMDggMjMuNjRhMyAzIDAgMCAwIDIuODYgMGw3LjQ5LTQuMDZBMyAzIDAgMCAwIDIzIDE2Ljk0VjVhMyAzIDAgMCAwLTMtM0g1YTMgMyAwIDAgMC0zIDN2MTEuOTRhMyAzIDAgMCAwIDEuNTcgMi42NHoiLCJNMTEuOSAyMi4xYy4zNy4yLjg0LjIgMS4yMiAwbDcuNS00LjI2Yy4zOS0uMjIuNjMtLjYzLjYzLTEuMDhWNWMwLS42OS0uNTYtMS4yNS0xLjI1LTEuMjVINWMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjV2MTEuNzZjMCAuNDUuMjQuODYuNjMgMS4wOHoiKSxnPXYoIk0yIDVhMyAzIDAgMCAxIDMtM2gxNWEzIDMgMCAwIDEgMyAzdjE1YTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zeiIsIk01IDMuNWgxNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxNWMwIC44My0uNjcgMS41LTEuNSAxLjVINUExLjUgMS41IDAgMCAxIDMuNSAyMFY0Ljg1QTEuNSAxLjUgMCAwIDEgNSAzLjVaIiksYj17YmFja2dyb3VuZDp7Ym9keVBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAyYTMgMyAwIDAgMSAzIDN2MTVhMyAzIDAgMCAxLTMgM0g1YTMgMyAwIDAgMS0zLTN2LTQuODNxLS42My4xNi0xIC42M1Y5LjdxLjM2LS40MiAxLS42MlY1YTMgMyAwIDAgMSAzLTN6IiksbW9kZToiZmlsbCJ9XX0sZm9yZWdyb3VuZDp7Ym9keVBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAzYTIgMiAwIDAgMSAyIDJ2MTVhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQuODRhMS45NSAxLjk1IDAgMCAwLTIgLjY0VjkuN2EyLjEgMi4xIDAgMCAxIDItLjY2VjVjMC0xLjEuOS0yIDItMnoiKSxtb2RlOiJmaWxsIn1dLGJvcmRlclBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAzYTIgMiAwIDAgMSAyIDJ2MTVhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQuODRjLjQ4LjE0Ljk4LjQ1IDEuNS42NVYyMGMwIC4yOC4yMi41LjUuNWgxNWEuNS41IDAgMCAwIC41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXY0LjY1Yy0uNDgtLjIyLS45Ny0uNS0xLjUtLjYxVjVjMC0xLjEuOS0yIDItMnoiKSxtb2RlOiJmaWxsIn0se3BhdGg6bmV3IFBhdGgyRCgiTTIuNjMgMTIuNzVjMS4wMSAwIDEuOTIuOSAyLjc5LjlxMS4wNS0uMDIgMS41OC0uN3YxLjM0Yy0uMzUuNC0uODkuNzEtMS42Mi43MS0xLjAyIDAtMS45My0uOS0yLjgtLjktLjcgMC0xLjIzLjI2LTEuNTguN3YtMS4zNGMuMzUtLjQuODktLjcxIDEuNjMtLjcxTTIuNjMgMTBjMS4wMSAwIDEuOTIuOSAyLjc5LjkuNyAwIDEuMjMtLjI2IDEuNTgtLjd2MS40Yy0uMzUuNC0uODkuNy0xLjYyLjctMS4wMiAwLTEuOTMtLjktMi44LS45LS43IDAtMS4yMy4yNi0xLjU4Ljd2LTEuNGMuMzUtLjM5Ljg5LS43IDEuNjMtLjciKSxtb2RlOiJmaWxsIn1dLGFjdGl2ZVBhdGg6ewpwYXRoOm5ldyBQYXRoMkQoIk0yLjYzIDEyLjc1YzEuMDEgMCAxLjkyLjkgMi43OS45cTEuMDUtLjAyIDEuNTgtLjd2MS4zNGMtLjM1LjQtLjg5LjcxLTEuNjIuNzEtMS4wMiAwLTEuOTMtLjktMi44LS45LS43IDAtMS4yMy4yNi0xLjU4Ljd2LTEuMzRjLjM1LS40Ljg5LS43MSAxLjYzLS43MU0yLjYzIDEwYzEuMDEgMCAxLjkyLjkgMi43OS45LjcgMCAxLjIzLS4yNiAxLjU4LS43djEuNGMtLjM1LjQtLjg5LjctMS42Mi43LTEuMDIgMC0xLjkzLS45LTIuOC0uOS0uNyAwLTEuMjMuMjYtMS41OC43di0xLjRjLjM1LS4zOS44OS0uNyAxLjYzLS43IiksbW9kZToiZmlsbCJ9fX0sdz17YmFja2dyb3VuZDp7cGF0aDpuZXcgUGF0aDJEKCJNMjcgNEMyNi45OTk5IDEuMjM4NzkgMjQuNzYxMiAtMC45OTk4NTMgMjIgLTFDMTkuMjM4NyAtMSAxNy4wMDAxIDEuMjM4NjkgMTcgNEMxNyA2Ljc2MTQyIDE5LjIzODYgOSAyMiA5QzI0Ljc2MTMgOC45OTk4NSAyNyA2Ljc2MTMzIDI3IDRaTTIyLjUwMiAwLjk5OTk5OVY0Ljk5NjA5SDE5LjVWMy45OTYwOUgyMS41MDJWMC45OTk5OTlIMjIuNTAyWk0xNS4zNDg2IDAuMjk3ODUxTDE2LjA2MzUgMC45OTcwNjlMMTkuMjkxIC0yLjMwMDc4TDE4LjU3NjIgLTNMMTUuMzQ4NiAwLjI5Nzg1MVpNMjQuNzA5IC0yLjMwMDc4TDI3LjkzNjUgMC45OTcwNjlMMjguNjUwNCAwLjI5Nzg1MUwyNS40MjI5IC0zTDI0LjcwOSAtMi4zMDA3OFpNMTYuMzU3NCAxLjk1MzEyQzE2LjAxODcgMi4wNTY5MyAxNS42MzUzIDEuOTc3MDYgMTUuMzY0MyAxLjcxMTkxTDE0LjY0OTQgMS4wMTI2OUMxNC40NTk4IDAuODI3MjA4IDE0LjM1MTUgMC41NzM4NDEgMTQuMzQ4NiAwLjMwODU5M0MxNC4zNDU4IDAuMDQzNDk3MSAxNC40NDg0IC0wLjIxMTg0OSAxNC42MzM4IC0wLjQwMTM2OEwxNy44NjEzIC0zLjY5OTIyQzE4LjI0NzUgLTQuMDkzODUgMTguODgwNyAtNC4xMDA5NiAxOS4yNzU0IC0zLjcxNDg0TDE5Ljk5MDIgLTMuMDE1NjNDMjAuMTc5OSAtMi44MzAxNCAyMC4yODgxIC0yLjU3Njc3IDIwLjI5MSAtMi4zMTE1MkMyMC4yOTM1IC0yLjA4MjY2IDIwLjIxNjMgLTEuODYxODUgMjAuMDc2MiAtMS42ODM1OUMyMC42ODAyIC0xLjg4Nzk5IDIxLjMyNyAtMiAyMiAtMkMyMi42NzI0IC0xLjk5OTk2IDIzLjMxODQgLTEuODg3NjMgMjMuOTIxOSAtMS42ODM1OUMyMy42MTA2IC0yLjA3OTUxIDIzLjY0MDggLTIuNjU1MTYgMjQuMDA4OCAtMy4wMTU2M0wyNC43MjI3IC0zLjcxNDg0TDI0Ljc5NjkgLTMuNzgwMjdDMjQuOTc2NCAtMy45MjQzIDI1LjIwMTQgLTQuMDAyNDYgMjUuNDMzNiAtNEMyNS42OTg4IC0zLjk5NzE1IDI1Ljk1MjIgLTMuODg4NzggMjYuMTM3NyAtMy42OTkyMkwyOS4zNjUyIC0wLjQwMTM2OEMyOS43NTEyIC0wLjAwNjc2MzAxIDI5Ljc0NDkgMC42MjY0MTQgMjkuMzUwNiAxLjAxMjY5TDI4LjYzNjcgMS43MTE5MUMyOC40NDcyIDEuODk3NTUgMjguMTkxMSAxLjk5OTg3IDI3LjkyNTggMS45OTcwN0MyNy44MjgyIDEuOTk2MDIgMjcuNzMyMiAxLjk4MDUzIDI3LjY0MDYgMS45NTIxNUMyNy44NzI3IDIuNTkxMjMgMjggMy4yODA3NSAyOCA0QzI4IDcuMzEzNjcgMjUuMzEzNSA5Ljk5OTgyIDIyIDEwQzE4LjY4NjMgMTAgMTYgNy4zMTM3MSAxNiA0QzE2IDMuMjgxMzEgMTYuMTI1NyAyLjU5MTggMTYuMzU3NCAxLjk1MzEyWiIpLG1vZGU6ImZpbGwifSxmb3JlZ3JvdW5kOntwYXRoOm5ldyBQYXRoMkQoIk0yMiAtMUMyNC43NjEyIC0wLjk5OTg1MyAyNi45OTk5IDEuMjM4NzkgMjcgNEMyNyA2Ljc2MTMzIDI0Ljc2MTMgOC45OTk4NSAyMiA5QzE5LjIzODYgOSAxNyA2Ljc2MTQyIDE3IDRDMTcuMDAwMSAxLjIzODY5IDE5LjIzODcgLTEgMjIgLTFaTTIxLjUwMiAwLjk5OTk5OVYzLjk5NjA5SDE5LjVWNC45OTYwOUgyMi41MDJWMC45OTk5OTlIMjEuNTAyWk0xOS4yOTEgLTIuMzAwNzhMMTYuMDYzNSAwLjk5NzA2OUwxNS4zNDg2IDAuMjk3ODUxTDE4LjU3NjIgLTNMMTkuMjkxIC0yLjMwMDc4Wk0yOC42NTA0IDAuMjk3ODUxTDI3LjkzNjUgMC45OTcwNjlMMjQuNzA5IC0yLjMwMDc4TDI1LjQyMjkgLTNMMjguNjUwNCAwLjI5Nzg1MVoiKSxtb2RlOiJmaWxsIn19O2Z1bmN0aW9uIEMoZSx0LHMsaSl7ZS5zYXZlKCksZS5zZXRUcmFuc2Zvcm0odCkscy5sb2xsaXBvcC5maWxsQ2lyY2xlJiZzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvciYmbShlLGkuYmFja2dyb3VuZC5ib2R5UGF0aCxzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvcikscy5sb2xsaXBvcC5maWxsQ2lyY2xlJiZzLmxvbGxpcG9wLmZpbGxTdHlsZSYmbShlLGkuZm9yZWdyb3VuZC5ib2R5UGF0aCxzLmxvbGxpcG9wLmZpbGxTdHlsZSksZS5saW5lV2lkdGg9cy5sb2xsaXBvcC5saW5lV2lkdGgsKDAseS5zZXRMaW5lU3R5bGUpKGUsZC5MSU5FU1RZTEVfU09MSUQpLGkuZm9yZWdyb3VuZC5ib3JkZXJQYXRoJiZtKGUsaS5mb3JlZ3JvdW5kLmJvcmRlclBhdGgscy5sb2xsaXBvcC5zdHJva2VTdHlsZSkscy5sb2xsaXBvcC5hY3RpdmUmJmkuZm9yZWdyb3VuZC5hY3RpdmVQYXRoJiZtKGUsaS5mb3JlZ3JvdW5kLmFjdGl2ZVBhdGgscy5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlKSxzLmxvbGxpcG9wLmhhc0FsZXJ0JiYobShlLHcuYmFja2dyb3VuZCxzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvcnx8InRyYW5zcGFyZW50IiksbShlLHcuZm9yZWdyb3VuZCxzLmxvbGxpcG9wLnN0cm9rZVN0eWxlKSksZS5yZXN0b3JlKCl9Y2xhc3MgUCBleHRlbmRzIHAuTG9sbGlwb3BSZW5kZXJlcntfaGl0VGVzdEJveCgpe2NvbnN0IGU9c3VwZXIuX2hpdFRlc3RCb3goKTtyZXR1cm4oMCxfLmJveCkoZS5taW4uYWRkKCgwLF8ucG9pbnQpKDIsMikpLGUubWF4LnN1YnRyYWN0KCgwLF8ucG9pbnQpKDIsMikpKX1fZHJhd0xvbGxpcG9wKGUpe2NvbnN0IHQ9dGhpcy5fZGF0YS5zdHlsZTtzd2l0Y2godC50eXBlKXtjYXNlIlBvc2l0aXZlIjohZnVuY3Rpb24oZSx0LHMpe0MoZSx0LHMsZil9KGUsdGhpcy5fbWF0cml4LHQpO2JyZWFrO2Nhc2UiTmVnYXRpdmUiOiFmdW5jdGlvbihlLHQscyl7QyhlLHQscyxTKX0oZSx0aGlzLl9tYXRyaXgsdCk7YnJlYWsKO2Nhc2UiRXN0aW1hdGVkRGF0ZSI6IWZ1bmN0aW9uKGUsdCxzKXtDKGUsdCxzLGIpfShlLHRoaXMuX21hdHJpeCx0KTticmVhaztkZWZhdWx0OiFmdW5jdGlvbihlLHQscyl7QyhlLHQscyxnKX0oZSx0aGlzLl9tYXRyaXgsdCl9fV9kcmF3TGFiZWwoZSl7bGV0IHQ7Y29uc3Qgcz10aGlzLl9kYXRhLnN0eWxlO3N3aXRjaChzLnR5cGUpe2Nhc2UiUG9zaXRpdmUiOnQ9bmV3IFBhdGgyRCgiTTEwIDE4VjloNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxOHoiKTticmVhaztjYXNlIkVzdGltYXRlZERhdGUiOnQ9bmV3IFBhdGgyRCgiTTEwIDE3VjhoNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxN3oiKTticmVhaztkZWZhdWx0OnQ9bmV3IFBhdGgyRCgiTTEwIDE3VjhoNS4ydjEuNWgtMy43djIuMjVoMi43djEuNWgtMi43djIuMjVoMy43VjE3eiIpfSgwLHAuZHJhd0xhYmVsKShlLHQsdGhpcy5fbWF0cml4LHtmaWxsQ29sb3I6cy5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlfSl9fWNsYXNzIHggZXh0ZW5kcyBwLkxvbGxpcG9wUmVuZGVyZXJ7X2RyYXdMYWJlbChlKXsoMCxwLmRyYXdMYWJlbCkoZSx4Ll9sYWJlbFBhdGgsdGhpcy5fbWF0cml4LHtmaWxsQ29sb3I6dGhpcy5fZGF0YS5zdHlsZS5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlfSl9fXguX2xhYmVsUGF0aD1uZXcgUGF0aDJEKCJNOS42OCAxNi42NnEuNzcuMzQgMS44Mi4zNCAxLjA3IDAgMS44Ni0uMzcuNzgtLjM4IDEuMjEtMS4wNC40My0uNjcuNDMtMS42IDAtLjc0LS4yOC0xLjI1YTIgMiAwIDAgMC0uODYtLjg3IDUgNSAwIDAgMC0xLjU0LS41NmwtLjk3LS4yMnEtLjU1LS4xMy0uOS0uM2ExLjMgMS4zIDAgMCAxLS41MS0uNDUgMSAxIDAgMCAxLS4xNy0uNnEwLS40LjIyLS43dC42MS0uNDVxLjM5LS4xNi44OC0uMTYuNTEgMCAuOS4xNnQuNjIuNDVxLjE3LjIuMjUuNDZoMS41NnEtLjA4LS42Ni0uNDUtMS4xOS0uNDItLjYtMS4xNS0uOTVBNCA0IDAgMCAwIDExLjUgN3EtLjk3IDAtMS43Mi4zNi0uNzYuMzYtMS4xOCAxdC0uNDIgMS41cTAgLjcuMjcgMS4yNS4yOS41NC44Ni45MS42LjM3IDEuNS41OGwuOTYuMnEuODguMjEgMS4yNi41NC4zNy4zMi4zNy44M3YuMDFxMCAuNDEtLjIzLjczLS4yNC4zLS42NS40OS0uNDIuMTctLjk2LjE3LS41NyAwLTEuMDEtLjE2LS40NS0uMTctLjcxLS40Ny0uMTgtLjItLjI1LS40NEg4cS4xLjY3LjQ3IDEuMi40NS42IDEuMjEuOTYiKTtjbGFzcyBEIGV4dGVuZHMgcC5Mb2xsaXBvcFJlbmRlcmVye19kcmF3TGFiZWwoZSl7KDAscC5kcmF3TGFiZWwpKGUsRC5fbGFiZWxQYXRoLHRoaXMuX21hdHJpeCx7ZmlsbENvbG9yOnRoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZX0pfX1ELl9sYWJlbFBhdGg9bmV3IFBhdGgyRCgiTTE0LjUgMTEuNWEzIDMgMCAwIDAtMy0zaC0ydjZoMlYxNkg4VjdoMy41YTQuNSA0LjUgMCAxIDEgMCA5di0xLjVhMyAzIDAgMCAwIDMtMyIpO3ZhciBJPXMoODg3MDI5KSxUPXMoMTg1MjcxKSxWPXMoNjQxNTkzKSxSPXMoMTE1MjkzKSxBPXMoNTY5Mzk4KSxMPXMoMTg2OTgzKSxFPXMoODA2NDE1KTtjb25zdCBNPVQudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg4NDQwMDkpKSxrPVQudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg0OTcwOTYpKTtmdW5jdGlvbiBCKGUpe2lmKCEoMCxBLmlzRmVhdHVyZUVuYWJsZWQpKCJhbGVydHMtb24tbG9sbGlwb3AiKXx8MD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PVtNLC4uLmUuc2xpY2UoMCw1KS5tYXAoTildLGk9ZS5sZW5ndGgtNTt2YXIgcjtyZXR1cm4gaT4wJiZ0LnB1c2goKHI9aSxULnQobnVsbCx7cGx1cmFsOiJhbmQge2NvdW50fSBtb3JlIGFsZXJ0cyIscmVwbGFjZTp7Y291bnQ6ci50b1N0cmluZygpfSxjb3VudDpyLGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDUxODcxOSkpKSkse2ljb246TCx0b29sdGlwOnQuam9pbigiPGJyPiIpLGFyaWFMYWJlbDprfX1mdW5jdGlvbiBOKGUpe2NvbnN0IHQ9ZS5maW5hbmNpYWxDb25kaXRpb25Ub2tlbnMoKTtyZXR1cm4gdD9mdW5jdGlvbihlKXtjb25zdHtzZXJpZXM6dCxvcGVyYXRvcjpzLHZhbHVlOml9PWUscj1bKDAsVi5odG1sRXNjYXBlKSh0KSxgPHNwYW4gY2xhc3M9IiR7RS5vcGVyYXRvcn0iPiR7KDAsVi5odG1sRXNjYXBlKShzKX08L3NwYW4+YF07aSYmci5wdXNoKCgwLFYuaHRtbEVzY2FwZSkoaSkpO3JldHVybigwLFIuZm9yY2VSVExNYXJrc1N0cikoci5qb2luKCIgIikpfSh0KToiIn12YXIgRixPPXMoMjMyMzY0KSxIPXMoMTExOTUzKTtmdW5jdGlvbiBxKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlLm1hcCgoZT0+e2NvbnN0IHQ9ZS5maW5hbmNpYWxDb25kaXRpb25Ub2tlbnMoKTtyZXR1cm5bZS5pZCgpLnZhbHVlKCksdD9bdC5zZXJpZXMsdC5vcGVyYXRvcix0LnZhbHVlXTpudWxsXX0pKSl9Y2xhc3Mgentjb25zdHJ1Y3RvcihlKXt0aGlzLl9tYXRjaGluZ0FsZXJ0cz1uZXcgTy5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX21hdGNoaW5nQWxlcnRzU2lnbmF0dXJlPXEoW10pLHRoaXMuX3VwZGF0ZUFsZXJ0cz0oKT0+e2NvbnN0IGU9dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi52YWx1ZSgpO2xldCB0PVtdO2lmKGUpe2NvbnN0IHM9KDAsSC51bndyYXBTaW1wbGVTeW1ib2wpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5hY3R1YWxTeW1ib2woKSksaT0oMCxILnVud3JhcFNpbXBsZVN5bWJvbCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb1N5bWJvbCgpKTt0PWUuYWxlcnRzKCkudmFsdWUoKS5maWx0ZXIoKGU9PihlLmNhbkRpc3BsYXlPbkVhcm5pbmdzTG9sbGlwb3Aocyl8fGUuY2FuRGlzcGxheU9uRWFybmluZ3NMb2xsaXBvcChpKSkmJmUuYWN0aXZlKCkudmFsdWUoKSkpfWNvbnN0IHM9cSh0KTtzIT09dGhpcy5fbWF0Y2hpbmdBbGVydHNTaWduYXR1cmUmJih0aGlzLl9tYXRjaGluZ0FsZXJ0c1NpZ25hdHVyZT1zLHRoaXMuX21hdGNoaW5nQWxlcnRzLnNldFZhbHVlKHQpKX0sdGhpcy5fbW9kZWw9ZSwKdGhpcy5fYWxlcnRzQ29sbGVjdGlvbj1lLmFsZXJ0c0NvbGxlY3Rpb24oKS5zcGF3bigpLHRoaXMuX2FsZXJ0c0NvbGxlY3Rpb24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsZXJ0c0xpc3QuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksZS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQWxlcnRzKX1kZXN0cm95KCl7dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5kZXN0cm95KCksdGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPy4oKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVBbGVydHMpfW1hdGNoaW5nQWxlcnRzKCl7cmV0dXJuIHRoaXMuX21hdGNoaW5nQWxlcnRzLnJlYWRvbmx5KCl9X3VwZGF0ZUFsZXJ0c0xpc3QoZSl7dGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPy4oKSx0aGlzLl9kZXN0cm95QWxlcnRzTGlzdFN1YnNjcmlwdGlvbnM9dm9pZCAwLGUmJihlLmFsZXJ0cygpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz0oKT0+ZS5hbGVydHMoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMpKSx0aGlzLl91cGRhdGVBbGVydHMoKX19IWZ1bmN0aW9uKGUpe2VbZS5Ib3ZlcmVkQ29sb3JUcmFuc3BhcmVuY3k9ODVdPSJIb3ZlcmVkQ29sb3JUcmFuc3BhcmVuY3kifShGfHwoRj17fSkpO2NvbnN0IFU9e2Rhcms6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS05MDAiKSxsaWdodDooMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKX07Y2xhc3MgVyBleHRlbmRzIEkuTG9sbGlwb3BTdHVkeVBhbmVWaWV3QmFzZXt9Y2xhc3MgJCBleHRlbmRzIFd7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2VzZEFsZXJ0TW9kZWw9bmV3IHooZSksdGhpcy5fZXNkQWxlcnRJbmZvPSgwLHIuY29tYmluZSkoQix0aGlzLl9lc2RBbGVydE1vZGVsLm1hdGNoaW5nQWxlcnRzKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9oYXNBbGVydD0oMCxyLmNvbWJpbmUpKGosdGhpcy5fZXNkQWxlcnRNb2RlbC5tYXRjaGluZ0FsZXJ0cygpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faGFzQWxlcnQuc3Vic2NyaWJlKHRoaXMuX29uSGFzQWxlcnRDaGFuZ2VkLmJpbmQodGhpcykpfWRlc3Ryb3koKXt0aGlzLl9lc2RBbGVydEluZm8uZGVzdHJveSgpLHRoaXMuX2hhc0FsZXJ0LmRlc3Ryb3koKSx0aGlzLl9lc2RBbGVydE1vZGVsLmRlc3Ryb3koKSxzdXBlci5kZXN0cm95KCl9c3R5bGVzKGUpe3JldHVybiBlP3UuZGFya1RoZW1lRWFybmluZ3NTdHlsZTp1LmxpZ2h0VGhlbWVFYXJuaW5nc1N0eWxlfWV4dHJhRGF0YShlKXtyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnR5cGUscz0xND09PXQsaT1lLnN0YW5kYXJkaXplZCxyPWUuZXN0aW1hdGUsbj1lLnBlcmlvZCxvPWUuZGF0ZSxhPXM/bnVsbDplLnJlcG9ydGVkLGw9bnVsbCE9YSYmbnVsbCE9cj9hLXI6bnVsbCx1PWUucmV2ZW51ZUVzdGltYXRlLGM9cz9udWxsOmUucmV2ZW51ZVZhbHVlO2xldCBoO3JldHVybiBudWxsIT10P3Q8MjA/aD0xMD09PXQ/IkVzdGltYXRlZERhdGUiOiJGdXR1cmUiOm51bGwhPT1sJiYoaD1sPDA/Ik5lZ2F0aXZlIjoiUG9zaXRpdmUiKTpudWxsIT09bD9oPWw8MD8iTmVnYXRpdmUiOiJQb3NpdGl2ZSI6bz5EYXRlLm5vdygpJiYoaD0iRnV0dXJlIikse3N0YW5kYXJkaXplZDppLHJlcG9ydGVkOmEsZXN0aW1hdGU6cixyZXZlbnVlVmFsdWU6YyxyZXZlbnVlRXN0aW1hdGU6dSxwZXJpb2Q6bixkYXRlOm8sdHlwZTpoLHRpbWVUeXBlOnQ/P3ZvaWQgMH19KHt0eXBlOmVbOF0sc3RhbmRhcmRpemVkOmVbMV0sZXN0aW1hdGU6ZVsyXSxwZXJpb2Q6ZVszXSxkYXRlOmVbNF0scmVwb3J0ZWQ6ZVs1XSxyZXZlbnVlRXN0aW1hdGU6ZVs2XSxyZXZlbnVlVmFsdWU6ZVs3XX0pfWFmdGVyVXBkYXRlKGUsdCxzLGkpe2NvbnN0IHI9dGhpcy5fc291cmNlLmdldEVzdGltYXRlKCk7aWYocil7Y29uc3Qgbj1yLnZhbHVlLnNsaWNlKCk7bls0XSo9MWUzLHRoaXMuYWRkTG9sbGlwb3AoZSx0LHMsaSxyLmluZGV4LG4pfX1nZXRTdHlsZShlKXtjb25zdCB0PXRoaXMuX2dldExvbGxpcG9wU3RhdHVzKGUpO2lmKHZvaWQgMD09PWUudHlwZSlyZXR1cm4gc3VwZXIuZ2V0U3R5bGUoZSx0KTtjb25zdCBzPXQ7bGV0IGk9cztlLnN0YWNrJiYoaSs9Il9zdGFjazoiK2Uuc3RhY2spO2xldCByPXRoaXMuX2dldFN0eWxlT2JqZWN0KGUudHlwZSxpKTtpZihudWxsIT09cilyZXR1cm4gdGhpcy5fd2l0aEFsZXJ0RmxhZyhyLGUudHlwZSk7aWYodGhpcy5fc3R5bGVzQ2FjaGV8fCh0aGlzLl9zdHlsZXNDYWNoZT17fSksIXRoaXMuX3N0eWxlc0NhY2hlW2ldKXtyPXRoaXMuX2dldFN0eWxlT2JqZWN0KGUudHlwZSxzKTtjb25zdCB0PSgwLG8uY2xvbmUpKHIpO3QmJihlLnN0YWNrJiYodC5sb2xsaXBvcC5pbmNIZWlnaHQ9MjUqZS5zdGFjayksdGhpcy5fc3R5bGVzQ2FjaGVbaV09dCl9cmV0dXJuIHRoaXMuX3dpdGhBbGVydEZsYWcodGhpcy5fc3R5bGVzQ2FjaGVbaV0sZS50eXBlKX1hc3luYyBfY3JlYXRlVG9vbHRpcENvbnRlbnQoZSx0KXtyZXR1cm4oMCxsLmNyZWF0ZUVhcm5pbmdzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzKShlLHRoaXMuX21vZGVsLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCksKChlLHQpPT50aGlzLl9mb3JtYXREYXRlKGUsdCkpLHQsdGhpcy5fZ2V0RXNkQWxlcnRJbmZvKGUudHlwZSkpfV9zaG93QmFyTGluZShlKXtyZXR1cm4gc3VwZXIuX3Nob3dCYXJMaW5lKGUpfHx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmVzZFNob3dCcmVha3MudmFsdWUoKX1fY3JlYXRlUmVuZGVyZXJGb3JMb2xsaXBvcChlLHQpewpyZXR1cm4gbmV3IFAoZSxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSx0KSx0aGlzLl90ZXh0V2lkdGhDYWNoZSl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKSx0PSgwLHUuZWFybmluZ3NTdHlsZXMpKGUpLHM9dC51bmtub3duLHI9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6c30sbG9sbGlwb3A6e3dpZHRoOjI1LGhlaWdodDoyNSxib3R0b206MCxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6ImVhcm5pbmdzIixzdHJva2VTdHlsZTpzLGJhY2tncm91bmRDb2xvcjplP1UuZGFyazpVLmxpZ2h0LGZpbGxDaXJjbGU6ITAsdGV4dDp7bGFiZWw6IiIsc3Ryb2tlU3R5bGU6cyxmb250OiIifX19LGw9e2xvbGxpcG9wOntmaWxsU3R5bGU6KDAsYS5nZW5lcmF0ZUNvbG9yKShzLDg1KX19LGM9e2xvbGxpcG9wOnthY3RpdmU6ITAsZmlsbFN0eWxlOnMsdGV4dDp7c3Ryb2tlU3R5bGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS01MCIpfX19O3RoaXMuX2RlZmF1bHRTdHlsZT0oMCxuLmRlZXBDb3B5KShyKSx0aGlzLl9ob3ZlcmVkU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkociksbCksdGhpcy5fYWN0aXZlU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkociksYyk7Y29uc3QgaD0oZSx0KT0+e2NvbnN0IHM9KDAsbi5kZWVwQ29weSkocik7cmV0dXJuIHMuYmFyTGluZS5zdHJva2VTdHlsZT1lLHMubG9sbGlwb3Auc3Ryb2tlU3R5bGU9ZSxzLmxvbGxpcG9wLnRleHQuc3Ryb2tlU3R5bGU9ZSxzLnR5cGU9dCxsLmxvbGxpcG9wLmZpbGxTdHlsZT0oMCxhLmdlbmVyYXRlQ29sb3IpKGUsODUpLGMubG9sbGlwb3AuZmlsbFN0eWxlPWUse2RlZmF1bHQ6cyxob3ZlcmVkOigwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLGwpLGFjdGl2ZTooMCxvLm1lcmdlKSgoMCxuLmRlZXBDb3B5KShzKSxjKX19O2MubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItZ3JhcGVzLXB1cnBsZS01MCIpO2NvbnN0IF89aCh0LmZ1dHVyZSwiRnV0dXJlIikscD1oKHQuZXN0aW1hdGVkRGF0ZSwiRXN0aW1hdGVkRGF0ZSIpO2MubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAiKTtjb25zdCB5PWgodC5wb3NpdGl2ZSwiUG9zaXRpdmUiKTtyLmxvbGxpcG9wLmJvdHRvbT0uNSxjLmxvbGxpcG9wLnRleHQuc3Ryb2tlU3R5bGU9KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwIik7Y29uc3QgbT1oKHQubmVnYXRpdmUsIk5lZ2F0aXZlIik7dGhpcy5fZWFybmluZ1R5cGVTdHlsZXM9e0Z1dHVyZTpfLFBvc2l0aXZlOnksTmVnYXRpdmU6bSxFc3RpbWF0ZWREYXRlOnB9LHRoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2dldFN0eWxlT2JqZWN0KGUsdCl7Y29uc3Qgcz10aGlzLl9lYXJuaW5nVHlwZVN0eWxlc1tlXTtzd2l0Y2godCl7Y2FzZSJkZWZhdWx0IjpyZXR1cm4gcy5kZWZhdWx0O2Nhc2UiaG92ZXJlZCI6cmV0dXJuIHMuaG92ZXJlZDtjYXNlImFjdGl2ZSI6cmV0dXJuIHMuYWN0aXZlfXJldHVybiBudWxsfV9vbkhhc0FsZXJ0Q2hhbmdlZCgpe3RoaXMuX3NvdXJjZS51cGRhdGVBbGxWaWV3c0FuZFJlcGFpbnQoKX1fd2l0aEFsZXJ0RmxhZyhlLHQpe3JldHVybiBlLmxvbGxpcG9wLmhhc0FsZXJ0PUcodCkmJnRoaXMuX2hhc0FsZXJ0LnZhbHVlKCksZX1fZ2V0RXNkQWxlcnRJbmZvKGUpe3JldHVybiBHKGUpP3RoaXMuX2VzZEFsZXJ0SW5mbzp2b2lkIDB9fWZ1bmN0aW9uIEcoZSl7cmV0dXJuIkZ1dHVyZSI9PT1lfHwiRXN0aW1hdGVkRGF0ZSI9PT1lfWZ1bmN0aW9uIGooZSl7cmV0dXJuIGUubGVuZ3RoPjB9Y2xhc3MgWSBleHRlbmRzIFd7ZXh0cmFEYXRhKGUpe2NvbnN0IHQ9ZVsxXTtyZXR1cm57bnVtZXJhdG9yOmVbMl0sZGVub21pbmF0b3I6dCxkYXRlOmVbM119fV9jcmVhdGVSZW5kZXJlckZvckxvbGxpcG9wKGUsdCl7cmV0dXJuIG5ldyB4KGUsbmV3IGguSGl0VGVzdFJlc3VsdChoLkhpdFRhcmdldC5DdXN0b20sdCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUpfWFzeW5jIF9jcmVhdGVUb29sdGlwQ29udGVudChlKXtyZXR1cm4oMCxsLmNyZWF0ZVNwbGl0c0xvbGxpcG9wVG9vbHRpcENvbnRlbnRQcm9wcykoZSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpLHRoaXMuX21vZGVsLmRhcmsoKS52YWx1ZSgpLCgoZSx0KT0+dGhpcy5fZm9ybWF0RGF0ZShlLHQpKSl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKSx0PSgwLHUuc3BsaXRzU3R5bGUpKGUpLHM9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6dH0sbG9sbGlwb3A6e3dpZHRoOjIzLGhlaWdodDoyMyxib3R0b206MSxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6InNwbGl0cyIsc3Ryb2tlU3R5bGU6dCxiYWNrZ3JvdW5kQ29sb3I6ZT9VLmRhcms6VS5saWdodCxmaWxsQ2lyY2xlOiEwLHRleHQ6e2xhYmVsOiIiLHN0cm9rZVN0eWxlOnQsZm9udDoiIn19fSxyPXtsb2xsaXBvcDp7ZmlsbFN0eWxlOigwLGEuZ2VuZXJhdGVDb2xvcikodCw4NSl9fSxsPXtsb2xsaXBvcDp7ZmlsbFN0eWxlOnQsdGV4dDp7c3Ryb2tlU3R5bGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXRhbi1vcmFuZ2UtNTAiKX19fTt0aGlzLl9kZWZhdWx0U3R5bGU9cyx0aGlzLl9ob3ZlcmVkU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkocyksciksdGhpcy5fYWN0aXZlU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkocyksbCksdGhpcy5fc3R5bGVzQ2FjaGU9bnVsbH19Y2xhc3MgSiBleHRlbmRzIFd7ZXh0cmFEYXRhKGUpe3JldHVybnthbW91bnREaXZpZGVuZHM6ZVsxXSxkYXRlOmVbMl0sYWRqdXN0ZWRBbW91bnREaXZpZGVuZHM6ZVszXSxwYXltZW50RGF0ZTplWzRdfX0KX2NyZWF0ZVJlbmRlcmVyRm9yTG9sbGlwb3AoZSx0KXtyZXR1cm4gbmV3IEQoZSxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSx0KSx0aGlzLl90ZXh0V2lkdGhDYWNoZSl9YXN5bmMgX2NyZWF0ZVRvb2x0aXBDb250ZW50KGUpe3JldHVybigwLGwuY3JlYXRlRGl2aWRlbmRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzKShlLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCksKChlLHQpPT50aGlzLl9mb3JtYXREYXRlKGUsdCkpKX1fcmVjcmVhdGVTdHlsZXMoKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhcmsoKS52YWx1ZSgpLHQ9KDAsdS5kaXZpZGVuZHNTdHlsZXMpKGUpLHM9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6dH0sbG9sbGlwb3A6e3dpZHRoOjIzLGhlaWdodDoyMyxib3R0b206MSxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6ImRpdmlkZW5kcyIsc3Ryb2tlU3R5bGU6dCxiYWNrZ3JvdW5kQ29sb3I6ZT9VLmRhcms6VS5saWdodCxmaWxsQ2lyY2xlOiEwLGFjdGl2ZTohMSx0ZXh0OntsYWJlbDoiIixzdHJva2VTdHlsZTp0LGZvbnQ6IiJ9fX0scj17bG9sbGlwb3A6e2ZpbGxTdHlsZTooMCxhLmdlbmVyYXRlQ29sb3IpKHQsODUpfX0sbD17bG9sbGlwb3A6e2ZpbGxTdHlsZTp0LHRleHQ6e3N0cm9rZVN0eWxlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwIil9fX07dGhpcy5fZGVmYXVsdFN0eWxlPXMsdGhpcy5faG92ZXJlZFN0eWxlPSgwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLHIpLHRoaXMuX2FjdGl2ZVN0eWxlPSgwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLGwpLHRoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKXtyZXR1cm4oMCxsLmdldE1vcmVGaW5hbmNpYWxzRGl2aWRlbmRzTGlua1RleHQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpfX12YXIgUT1zKDkwMDc5NyksWj1zKDYzMTUyMik7Y29uc3QgSz1RLnNvcnRTb3VyY2VzUHJlT3JkZXJlZC5EaXZpZGVuZHMsWD1RLnNvcnRTb3VyY2VzUHJlT3JkZXJlZC5TcGxpdHMsZWU9US5zb3J0U291cmNlc1ByZU9yZGVyZWQuRWFybmluZ3M7dmFyIHRlOyFmdW5jdGlvbihlKXtlW2UuSW5pdGlhbD0xXT0iSW5pdGlhbCIsZVtlLkFkanVzdGVkRGl2aWRlbmRzPTJdPSJBZGp1c3RlZERpdmlkZW5kcyJ9KHRlfHwodGU9e30pKTtjbGFzcyBzZSBleHRlbmRzIFouTG9sbGlwb3BTdHVkeUJhc2V7aWQoKXtyZXR1cm4iRVNEJFRWX0RJVklERU5EUyJ9em9yZGVyKCl7cmV0dXJuIEt9aXNWYWxpZChlKXtjb25zdCB0PWVbMl07cmV0dXJuKDAsby5pc051bWJlcikodCl9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7cmV0dXJuIHMuZGF0YS52ZXJzaW9uPTIsc31yZXN0b3JlRGF0YShlKXsoZS52ZXJzaW9uPz8xKTwyJiZlLmRhdGEuZm9yRWFjaCgoZT0+e2UudmFsdWVbM109bnVsbH0pKSxzdXBlci5yZXN0b3JlRGF0YShlKX1fY3JlYXRlVmlld3MoKXt0aGlzLl9wYW5lVmlldz1uZXcgSih0aGlzLl9tb2RlbCx0aGlzKSxzdXBlci5fY3JlYXRlVmlld3MoKX1fZXh0ZXJuYWxWaXNpYmlsaXR5UHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5lc2RTaG93RGl2aWRlbmRzfX1jbGFzcyBpZSBleHRlbmRzIFouTG9sbGlwb3BTdHVkeUJhc2V7aWQoKXtyZXR1cm4iRVNEJFRWX1NQTElUUyJ9em9yZGVyKCl7cmV0dXJuIFh9aXNWYWxpZChlKXtjb25zdCB0PWVbM107cmV0dXJuKDAsby5pc051bWJlcikodCl9X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcGFuZVZpZXc9bmV3IFkodGhpcy5fbW9kZWwsdGhpcyksc3VwZXIuX2NyZWF0ZVZpZXdzKCl9X2V4dGVybmFsVmlzaWJpbGl0eVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZXNkU2hvd1NwbGl0c319Y2xhc3MgcmUgZXh0ZW5kcyBaLkxvbGxpcG9wU3R1ZHlCYXNle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9lc3RpbWF0ZVBsb3RSb3c9bnVsbH1pZCgpe3JldHVybiJFU0QkVFZfRUFSTklOR1MifXpvcmRlcigpe3JldHVybiBlZX1pc1ZhbGlkKGUpe2NvbnN0IHQ9ZVszXSxzPWVbNF07cmV0dXJuKDAsby5pc051bWJlcikodCkmJigwLG8uaXNOdW1iZXIpKHMpfXJlc3RvcmVEYXRhKGUpe3N1cGVyLnJlc3RvcmVEYXRhKGUpO2xldCB0PW51bGw7aWYoZS5lc3RpbWF0ZXx8ZS5wb2ludFNldHMmJm51bGw9PWUucG9pbnRTZXRzVmVyc2lvbik7ZWxzZSBpZihlLnBvaW50U2V0cyYmIjEiPT09ZS5wb2ludFNldHNWZXJzaW9uKXtjb25zdCBzPXRoaXMuX2dldFN5bWJvbCgpO2lmKG51bGwhPT1zKXtjb25zdCBpPXMuc3BsaXQoIjoiKVsxXS50b1VwcGVyQ2FzZSgpO2UucG9pbnRTZXRzW3NdP3Q9ZS5wb2ludFNldHNbc10uZXN0aW1hdGU6ZS5wb2ludFNldHNbaV0mJih0PWUucG9pbnRTZXRzW2ldLmVzdGltYXRlKX19ZWxzZSBudWxsIT1lLmVzdGltYXRlUGxvdFJvdyYmIjIiPT09ZS5wb2ludFNldHNWZXJzaW9uJiYodD1lLmVzdGltYXRlUGxvdFJvdyk7dGhpcy5fZXN0aW1hdGVQbG90Um93PXR9Z2V0RXN0aW1hdGUoKXtyZXR1cm4gdGhpcy5fZXN0aW1hdGVQbG90Um93fV9jcmVhdGVWaWV3cygpe3RoaXMuX3BhbmVWaWV3PW5ldyAkKHRoaXMuX21vZGVsLHRoaXMpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmVzZFNob3dFYXJuaW5nc31fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Nlcmllcy5zeW1ib2xJbmZvKCk/LmJhc2VfbmFtZVswXS50b0xvd2VyQ2FzZSgpPz9udWxsfX19LDEyNTEzNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtGdW5kYW1lbnRhbDooKT0+d30pCjt2YXIgaT1zKDMwNDIyMSkscj1zKDEzODYzOCksbj1zKDc4MzI1NCksbz1zKDYyODAwOSksYT1zKDU2OTM5OCksbD1zKDE5NzI3MiksdT1zKDI1NjMxNCksYz1zKDY4MDEyNik7Y2xhc3MgaCBleHRlbmRzIGMuU3R1ZHlQcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9mdW5kYW1lbnRhbD1lfV91cGRhdGVQYW5lUmVuZGVyZXJEYXRhKGUpe2UudGV4dD0iIix0aGlzLl9zaG93UGFuZUxhYmVsKCkmJihlLnRleHQ9dGhpcy5fZnVuZGFtZW50YWwubGFiZWxUaXRsZSgpLGUudmlzaWJsZT0hMCl9fXZhciBkPXMoOTY5NCk7Y2xhc3MgXyBleHRlbmRzIGQuU3R1ZHlQcmljZUxpbmVBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fbW9kZWw9ZS5tb2RlbCgpfV9pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTGFzdFZhbHVlLnZhbHVlKCkmJnRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdG5hbWVdLmNoaWxkcygpLnRyYWNrUHJpY2UudmFsdWUoKX19dmFyIHA9cygxODUyNzEpLHk9cygyNzU4NDkpLG09cyg4Njc4MzEpO2NvbnN0IHY9cC50KG51bGwsdm9pZCAwLHMoODQyNjM1KSk7Y2xhc3MgZiBleHRlbmRzIHkuU3R1ZHlTdGF0dXNQcm92aWRlcntzb3VyY2VTdGF0dXNUZXh0KCl7Y29uc3QgZT10aGlzLl9zb3VyY2Uuc3RhdHVzKCk7cmV0dXJuIGUudHlwZT09PW0uU3R1ZHlTdGF0dXNUeXBlLkVycm9yJiZbInJlc29sdmVfZXJyb3IiLCJTeW1ib2wgcmVzb2x2ZSBlcnJvcjoiLCJJbnZhbGlkIHN5bWJvbDoiXS5zb21lKCh0PT5lLmVycm9yRGVzY3JpcHRpb24uZXJyb3Iuc3RhcnRzV2l0aCh0KSkpP3Y6c3VwZXIuc291cmNlU3RhdHVzVGV4dCgpfX12YXIgUz1zKDc3NTg2OSksZz1zKDk0Mzk1KSxiPXMoNTk2NzA2KTtjbGFzcyB3IGV4dGVuZHMgbC5TdHVkeXtjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLl9zeW1ib2xQcm9wZXJ0eT1udWxsLHRoaXMuX3N5bWJvbElucHV0PW51bGwsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5zdWJzY3JpYmUoKGU9Pnt2b2lkIDAhPT10aGlzLl9wZW5kaW5nQ3VycmVuY3lJZCYmbnVsbCE9PWUmJih0aGlzLnNldEN1cnJlbmN5KHRoaXMuX3BlbmRpbmdDdXJyZW5jeUlkKSx0aGlzLl9wZW5kaW5nQ3VycmVuY3lJZD12b2lkIDApfSkse29uY2U6ITB9KSx0aGlzLl9zeW1ib2xJbnB1dD10aGlzLm1ldGFJbmZvKCkuaW5wdXRzLmZpbmQoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSk/P251bGwsdGhpcy5fc3ltYm9sSW5wdXQmJih0aGlzLl9zeW1ib2xQcm9wZXJ0eT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGQodGhpcy5fc3ltYm9sSW5wdXQuaWQpPz9udWxsKSx0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbENoYW5nZWQoKS5zdWJzY3JpYmUobnVsbCx0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlQm91bmQpfXN5bWJvbCgpe3JldHVybiB0aGlzLl9zeW1ib2xQcm9wZXJ0eT8udmFsdWUoKXx8dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2woKX1oYXNPd25TeW1ib2woKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9zeW1ib2xQcm9wZXJ0eT8udmFsdWUoKSl9Y3VycmVuY3koKXtpZighdGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5KXJldHVybiBzdXBlci5jdXJyZW5jeSgpO2NvbnN0IGU9dGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5LnZhbHVlKCk7aWYoZSYmIkRlZmF1bHQiIT09ZSl7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnZhbHVlKCk7cmV0dXJuIG51bGwhPT10P3QuY3VycmVuY3lJZEJ5Q29kZShlKTpudWxsfXJldHVybiB0aGlzLnN5bWJvbFNvdXJjZSgpLmN1cnJlbmN5KCl9c2V0Q3VycmVuY3koZSl7aWYoIXRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eSlyZXR1cm4gc3VwZXIuc2V0Q3VycmVuY3koZSk7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnZhbHVlKCk7aWYobnVsbD09PXQpcmV0dXJuIHZvaWQodGhpcy5fcGVuZGluZ0N1cnJlbmN5SWQ9ZSk7Y29uc3Qgcz1lP3QuY3VycmVuY3lDb2RlQnlJZChlKT8/IkRlZmF1bHQiOiJEZWZhdWx0Ijt0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkuc2V0VmFsdWUocyl9bGFiZWxUaXRsZSgpe3JldHVybiB0aGlzLnRpdGxlKGcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITApfWhhc1N0YXRlRm9yQWxlcnQoKXtpZighKDAsYS5pc0ZlYXR1cmVFbmFibGVkKSgiYWxlcnRzLW9uLWZ1bmRhbWVudGFsLW1ldHJpY3MiKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5zY3JpcHRJZFBhcnQsdD10aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKT8udHlwZTtyZXR1cm4oMCxvLmlzRnVuZGFtZW50YWxTdXBwb3J0ZWRCeUFsZXJ0cykoZSkmJiJzdG9jayI9PT10JiZzdXBlci5oYXNTdGF0ZUZvckFsZXJ0KCl9dGl0bGVJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuW3RoaXMuX3RpdGxlKGUsISF0KV19c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyBmKHRoaXMpfWRlc3Ryb3koKXt0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbENoYW5nZWQoKS51bnN1YnNjcmliZShudWxsLHRoaXMuX3VwZGF0ZUFsZXJ0Q3JlYXRpb25BdmFpbGFibGVCb3VuZCksc3VwZXIuZGVzdHJveSgpfV9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKXtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5pbnB1dHMuZmluZCgoZT0+IkN1cnJlbmN5Ij09PWUubmFtZSkpO3JldHVybiBlPygwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkKGUuaWQpKTpudWxsfV9jcmVhdGVQcmljZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgaCh0aGlzLHtwbG90TmFtZTplfSl9X2NyZWF0ZVByaWNlTGluZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgXyh0aGlzLGUpfV9kZWZhdWx0RXJyb3JUaXRsZSgpe3JldHVybiJNZXRyaWMgZXJyb3IifV9jcmVhdGVTdHVkeUVycm9yKGUpewpyZXR1cm4hKDAsaS5kZWZhdWx0KShlKSYmZS5lcnJvci5lbmRzV2l0aCgiaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucyIpP3N1cGVyLl9jcmVhdGVTdHVkeUVycm9yKHtlcnJvcjoiR2V0IGFjY2VzcyB0byBmb3JlY2FzdCBtZXRyaWNzIHdpdGggYW4gdXBncmFkZWQgcGxhbi4iLHRpdGxlOiJVcGdyYWRlIHRvIHVubG9jayBmb3JlY2FzdCBtZXRyaWNzIn0pOnN1cGVyLl9jcmVhdGVTdHVkeUVycm9yKGUpfV90aXRsZShlLHQpe2NvbnN0IGk9dGhpcy5tZXRhSW5mbygpO2xldCByO3I9dD9pLnNob3J0RGVzY3JpcHRpb246aS5kZXNjcmlwdGlvbixyPW4udChyLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSk7Y29uc3Qgbz1pLmZpbmFuY2lhbFBlcmlvZDtpZih2b2lkIDAhPT1vJiYhKDAsdS5pc05vQWdncmVnYXRlZEZpbmFuY2lhbFBlcmlvZCkobykpe2NvbnN0IGU9dD8oMCx1LmZpbmFuY2lhbFBlcmlvZFRvU2hvcnRTdHJpbmcpKG8pOigwLHUuZmluYW5jaWFsUGVyaW9kVG9TdHJpbmcpKG8pO3I9YCR7bi50KHIse2NvbnRleHQ6InN0dWR5In0scyg4ODQ2OTMpKX0gwrcgJHtlfWB9Y29uc3QgYT1lPT09Zy5UaXRsZURpc3BsYXlUYXJnZXQuQWxlcnRzP3t9OnRoaXMuX3RpdGxlSW5wdXRzKCgwLFMudG9JbnB1dERpc3BsYXlGbGFncykoZSksITApLGw9T2JqZWN0LmtleXMoYSk7cmV0dXJuIGwubGVuZ3RoPjAmJihyPWAke24udChhW2xbMF1dLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSl9IMK3ICR7cn1gKSxyfV90aXRsZUlucHV0c09wdGlvbnMoZSx0LHMpe3JldHVybnsuLi5zdXBlci5fdGl0bGVJbnB1dHNPcHRpb25zKGUsdCxzKSxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czohMCxhbGxvd2VkSW5wdXRUeXBlczpbInN5bWJvbCJdfX1fdGl0bGVJbnB1dHMoZSx0LHMpe2NvbnN0IGk9c3VwZXIuX3RpdGxlSW5wdXRzKGUsdCxzKTtpZighdGhpcy5oYXNPd25TeW1ib2woKSlyZXR1cm4gaTtjb25zdCByPXRoaXMucmVzb2x2ZWRTeW1ib2xJbmZvQnlTeW1ib2wodGhpcy5zeW1ib2woKSk7aWYoIShudWxsIT09ciYmKDAsYi5pc0NyeXB0b1N5bWJvbCkoci50eXBlc3BlY3MpJiYhKDAsdS5pc05vQWdncmVnYXRlZEZpbmFuY2lhbFBlcmlvZCkodGhpcy5tZXRhSW5mbygpLmZpbmFuY2lhbFBlcmlvZCkpKXJldHVybiBpO2NvbnN0IG49cj8uYmFzZV9jdXJyZW5jeXx8bnVsbDtyZXR1cm4gdGhpcy5fc3ltYm9sSW5wdXQmJm4mJihpW3RoaXMuX3N5bWJvbElucHV0LmlkXT1uKSxpfX19LDUwMjcyNihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMaW5lYXJSZWdyZXNzaW9uU3R1ZHk6KCk9PmF9KTt2YXIgaT1zKDEzODYzOCkscj1zKDgxNDU4OSksbj1zKDg0MTU1OCksbz1zKDE2ODI1OCk7Y2xhc3MgYSBleHRlbmRzIG4uTm9uU2VyaWVzU3R1ZHl7c3RhcnRJbmRleCgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7aWYobnVsbD09ZXx8bnVsbD09dGhpcy5faW5kZXhlcylyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMuX2luZGV4ZXNbZS5zdGFydEluZGV4XTtyZXR1cm4gdCE9PXIuSU5WQUxJRF9USU1FX1BPSU5UX0lOREVYP3Q6bnVsbH1lbmRJbmRleCgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7aWYobnVsbD09ZXx8bnVsbD09dGhpcy5faW5kZXhlcylyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMuX2luZGV4ZXNbZS5lbmRJbmRleF07cmV0dXJuIHQhPT1yLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWD90Om51bGx9YmFzZUxpbmUoKXtjb25zdCBlPXRoaXMuY3VzdG9tRGF0YSgpO3JldHVybiBudWxsIT1lP2UuYmFzZUxpbmU6bnVsbH1kb3duTGluZSgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWU/ZS5kb3duTGluZTpudWxsfXVwTGluZSgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWU/ZS51cExpbmU6bnVsbH1wZWFyc29ucygpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWUmJnZvaWQgMCE9PWUucGVhcnNvbnM/ZS5wZWFyc29uczpudWxsfWlzVmlzaWJsZSgpe2lmKCF0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKSlyZXR1cm4hMTtjb25zdCBlPSgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpKTtyZXR1cm4gZS51cExpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV8fGUuZG93bkxpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV8fGUuYmFzZUxpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV9X2NyZWF0ZVZpZXdzKCl7c3VwZXIuX2NyZWF0ZVZpZXdzKCksUHJvbWlzZS5hbGwoW3MuZSg5NzU1OCkscy5lKDQ1Mjc3KSxzLmUoOTE2NjgpXSkudGhlbihzLmJpbmQocyw1MDEzNjMpKS50aGVuKCgoe0xpbmVhclJlZ3Jlc3Npb25QYW5lVmlldzplfSk9Pnt0aGlzLl9zZXRQYW5lVmlld3MoW25ldyBlKHRoaXMubW9kZWwoKSx0aGlzKV0pfSkpfX19LDYzMTUyMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2xsaXBvcFN0dWR5QmFzZTooKT0+aH0pO3ZhciBpLHI9cygxOTcyNzIpLG49cyg4MTQ1ODkpLG89cyg3Nzk1MTYpLGE9cyg5MzI2OTMpLGw9cygxNDc5OTIpLHU9cyg5NjY0MDQpOyFmdW5jdGlvbihlKXtlW2UuTWF4TXNlY3NQZXJQeD00MzJlNl09Ik1heE1zZWNzUGVyUHgiLGVbZS5GaXZlRGF5c01zPTQzMmU2XT0iRml2ZURheXNNcyJ9KGl8fChpPXt9KSk7Y29uc3QgYz1EYXRlLlVUQygyMDI0LDEsMSk7Y2xhc3MgaCBleHRlbmRzIHIuU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3N1cGVyKGUsdCxzLGkscixuKSx0aGlzLl9yZXN0YXJ0UmVxdWlyZWQ9ITEsdGhpcy5zZXRPd25lclNvdXJjZShlLm1haW5TZXJpZXMoKSk7Y29uc3Qgbz10aGlzLl9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpCjtudWxsIT09byYmKHRoaXMuX2Rlc3Ryb3lQcm9wZXJ0eUJpbmRlcj0oMCxsLmJpbmRQcm9wZXJ0aWVzKShvLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudmlzaWJsZSkpfWRlc3Ryb3koKXt0aGlzLl9wYW5lVmlldy5kZXN0cm95KCksdGhpcy5fZGVzdHJveVByb3BlcnR5QmluZGVyPy4oKSxzdXBlci5kZXN0cm95KCl9dXBkYXRlQWxsVmlld3NBbmRSZXBhaW50KCl7dGhpcy51cGRhdGVBbGxWaWV3cygoMCx1LnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9YXV0b1NjYWxlSW5mbygpe3JldHVybntyYW5nZTpudWxsfX1sb2xsaXBvcHNBdEluZGV4KGUpe3JldHVybiF0aGlzLmhpZGVMb2xsaXBvcHMoKSYmdGhpcy5kYXRhKCkuY29udGFpbnMoZSk/MTowfWhpZGVMb2xsaXBvcHMoKXt7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmluTWlsbGlzZWNvbmRzKGMpO2lmKGU8NDMyZTYpcmV0dXJuITE7cmV0dXJuIGUvdGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpPjQzMmU2fX1hc3luYyBzdGFydCgpe2NvbnN0IGU9c3VwZXIuc3RhcnQoKTtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXRQbG90U3Rhc2gpLHRoaXMuX2luaXRQbG90U3Rhc2goKSxlfXN0b3AoKXtzdXBlci5zdG9wKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faW5pdFBsb3RTdGFzaCl9cmVzdG9yZURhdGEoZSl7ZS5kYXRhPWUuZGF0YS5maWx0ZXIoKGU9PmUuaW5kZXghPT1uLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWCYmdGhpcy5pc1ZhbGlkKGUudmFsdWUpKSksdGhpcy5fdHJhbnNmb3JtRGF0YShlLmRhdGEpLGUuZW5kPWUuZGF0YS5sZW5ndGgsc3VwZXIucmVzdG9yZURhdGEoZSl9b25DbGlja091dHNpZGUoZSx0KXt0aGlzLl9wYW5lVmlldy5wcm9jZXNzQ2xpY2tPdXRzaWRlKGUsdCl9cHJlZmVyTm9TY2FsZSgpe3JldHVybiEwfXNob3dJbk9iamVjdFRyZWUoKXtyZXR1cm4hMX1pc1NhdmVkSW5TdHVkeVRlbXBsYXRlcygpe3JldHVybiExfWlzUmVtb3ZlZEJ5U3R1ZHlUZW1wbGF0ZXMoKXtyZXR1cm4hMX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMX1pc0RyYWdnYWJsZSgpe3JldHVybiExfWNvcGlhYmxlKCl7cmV0dXJuITF9c3RhdHVzVmlldygpe3JldHVybiBudWxsfWhhc1N0YXRlRm9yQWxlcnQoKXtyZXR1cm4hMX1pc1NhdmVkSW5DaGFydChlKXtyZXR1cm4gQm9vbGVhbihlKX1pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCl7cmV0dXJuITB9aXNVc2VyRGVsZXRhYmxlKCl7cmV0dXJuITF9Y2FuSGF2ZUNoaWxkcmVuKCl7cmV0dXJuITF9aXNJbmNsdWRlZEluQXV0b1NjYWxlKCl7cmV0dXJuITF9aXNDdXJyZW5jeVNvdXJjZSgpe3JldHVybiExfWlzVW5pdFNvdXJjZSgpe3JldHVybiExfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiBudWxsfV90cmFuc2Zvcm1EYXRhKGUpe2ZvcihsZXQgdD1lLmxlbmd0aC0xO3Q+PTA7LS10KXtjb25zdCBzPWVbdF0saT1zLmluZGV4IT09bi5JTlZBTElEX1RJTUVfUE9JTlRfSU5ERVgmJnRoaXMuaXNWYWxpZChzLnZhbHVlKTt0aGlzLl91cGRhdGVQbG90U3Rhc2gocyxpKX19X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcGFuZVZpZXdzPVt0aGlzLl9wYW5lVmlld10sdGhpcy5fcHJpY2VBeGlzVmlld3M9W10sdGhpcy5fZGF0YVdpbmRvd1ZpZXd8fCh0aGlzLl9kYXRhV2luZG93Vmlldz1uZXcgby5EYXRhV2luZG93VmlldyksdGhpcy5fbGVnZW5kVmlldz1udWxsLHRoaXMuX3N0YXR1c1ZpZXd8fCh0aGlzLl9zdGF0dXNWaWV3PW5ldyBhLlN0dWR5U3RhdHVzVmlldyh0aGlzKSl9X3Nlcmllc0RhdGFSYW5nZVRvU2F2ZShlKXtyZXR1cm4gdGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpfV9pbml0UGxvdFN0YXNoKCl7dGhpcy5fcGxvdFN0YXNoPXt9fV91cGRhdGVQbG90U3Rhc2goZSx0KXtpZih0aGlzLl9yZXN0YXJ0UmVxdWlyZWR8fCF0aGlzLl9wbG90U3Rhc2gpcmV0dXJuO2NvbnN0IHM9ZS52YWx1ZS5zbGljZSgpLGk9cy5zaGlmdCgpLHI9U3RyaW5nKGkpO3Q/dGhpcy5fcGxvdFN0YXNoW3JdP1N0cmluZyh0aGlzLl9wbG90U3Rhc2hbcl0pIT09U3RyaW5nKHMpJiYodGhpcy5fcmVzdGFydFJlcXVpcmVkPSEwKTp0aGlzLl9wbG90U3Rhc2hbcl09czp0aGlzLl9wbG90U3Rhc2hbcl0mJih0aGlzLl9yZXN0YXJ0UmVxdWlyZWQ9ITApfX19LDg4NzAyOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2xsaXBvcFN0dWR5UGFuZVZpZXdCYXNlOigpPT5ffSk7dmFyIGk9cyg3MzY1MzEpLHI9cygxMzg2MzgpLG49cyg3MDA4MDkpLG89cyg5MzAyMzEpLGE9cygyMjg4MiksbD1zKDI3NjAxOSksdT1zKDg3NDMwNiksYz1zKDg4OTM5NyksaD1zKDg4ODU2MiksZD1zKDQ5NDA3OSk7Y2xhc3MgXyBleHRlbmRzIGQuTG9sbGlwb3BQYW5lVmlld3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZ2V0TW9yZUZpbmFuY2lhbHNMaW5rSW5pdGlhbFRhYklkPSJvdmVydmlldyIsdGhpcy5fc3ltYm9sTmFtZT1udWxsfWFkZExvbGxpcG9wKGUsdCxzLHIsbixvLGEpe2lmKG51bGw9PT10aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fc3ltYm9sTmFtZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5uYW1lPz9udWxsLG51bGw9PT10aGlzLl9zeW1ib2xOYW1lKSlyZXR1cm4KO2NvbnN0IGw9YCR7dGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaWR9XyR7dGhpcy5fbG9sbGlwb3BJZChvKX1fJHt0aGlzLl9zeW1ib2xOYW1lfWAsdT10aGlzLl9sb2xsaXBvcHNbbF0sYz12b2lkIDAhPT11P3UuaXRlbUluZGV4OnRoaXMuX2xvbGxpcG9wc0NvdW50ZXIrKyxoPXRoaXMuX21vZGVsLmxhc3RIaXR0ZXN0RGF0YSgpLGQ9dGhpcy5fbW9kZWwuaG92ZXJlZFNvdXJjZSgpPT09dGhpcy5fc291cmNlJiZudWxsIT09aCYmaC5hY3RpdmVJdGVtJiZoLmFjdGl2ZUl0ZW0uaXRlbUluZGV4PT09Yzt0aGlzLl9sb2xsaXBvcHNbbF09e2lkOmwsaXRlbUluZGV4OmMsdmlzaWJsZTohMCxiYXNlUG9pbnQ6bmV3IGkuUG9pbnQocy5pbmRleFRvQ29vcmRpbmF0ZShuKSxlKSxob3ZlcmVkOmQsc3RhY2s6YSwuLi50aGlzLmV4dHJhRGF0YShvKX19cmVuZGVyZXIoZSl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbChlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fc291cmNlLmhpZGVMb2xsaXBvcHMoKT9udWxsOnRoaXMuX3JlbmRlcmVyfV9sb2xsaXBvcElkKGUpe3JldHVybiBlWzBdLnRvU3RyaW5nKCl9X3VwZGF0ZUltcGwoZSl7dGhpcy5fcmVuZGVyZXIuY2xlYXIoKTtjb25zdCB0PXRoaXMuX3NvdXJjZS5kYXRhKCkscz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG49dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxvPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxhPW8ucHJpY2VTY2FsZSgpLGw9by5maXJzdEJhcigpO2lmKGEuaXNFbXB0eSgpfHxzLmlzRW1wdHkoKXx8IWx8fCF0fHxudWxsPT09aSlyZXR1cm47Y29uc3QgdT10aGlzLl9tb2RlbC5tYWluUGFuZSgpO2lmKCF1KXJldHVybjtpZih0aGlzLl9zb3VyY2UuaGlkZUxvbGxpcG9wcygpKXJldHVybiB2b2lkIHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zZXRWYWx1ZShudWxsKTtmb3IoY29uc3QgZSBpbiB0aGlzLl9sb2xsaXBvcHMpdGhpcy5fbG9sbGlwb3BzLmhhc093blByb3BlcnR5KGUpJiYoKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9sb2xsaXBvcHNbZV0pLnZpc2libGU9ITEpO2NvbnN0IGM9dGhpcy5fZ2V0WSgpLGg9aS5maXJzdEJhcigpLGQ9aS5sYXN0QmFyKCksXz10aGlzLl9zb3VyY2Uuem9yZGVyKCkscD11LmxvbGxpcG9wRGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PmUhPT10aGlzLl9zb3VyY2UmJmUuem9yZGVyKCk+XyYmZS5pc1Zpc2libGUoKSkpO3QucmFuZ2UoaCxkKS5lYWNoKCgoZSx0KT0+e2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgcClpKz10LmxvbGxpcG9wc0F0SW5kZXgoZSk7cmV0dXJuIHRoaXMuYWRkTG9sbGlwb3AoYyxuLHMsYSxlLHQsaSksITF9KSksdGhpcy5hZnRlclVwZGF0ZShjLG4scyxhKSx0aGlzLl9jcmVhdGVSZW5kZXJlcnMoZSl9X2Zvcm1hdERhdGUoZSx0KXtsZXQgcyxpPSEwO2lmKGk9dS5WZXJzaW9uLnBhcnNlKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLnZlcnNpb24pLmlzTGVzc09yRXF1YWwobmV3IHUuVmVyc2lvbigxMzcsMCkpLGkpe2xldCB0PSJFdGMvVVRDIjt0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKXx8KHQ9dGhpcy5fbW9kZWwudGltZXpvbmVFeGNlcHRFeGNoYW5nZSgpLnZhbHVlKCk/PyIiKTtjb25zdCBpPSgwLG4uZ2V0X3RpbWV6b25lKSh0KTtzPSgwLG4udXRjX3RvX2NhbCkoaSxlKX1lbHNlIHM9bmV3IERhdGUoZSk7cmV0dXJuKHQ/IuKJiCAiOiIiKSt0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCkuZm9ybWF0KHMpfV9nZXRNb3JlRmluYW5jaWFsc0xpbmsoKXtpZighL1xiZXRmXGIvaS50ZXN0KHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk/LmRlc2NyaXB0aW9ufHwiIikpcmV0dXJue2NoaWxkcmVuOnRoaXMuX2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKSxvbkNsaWNrOigpPT57bC5nbG9iYWxDbG9zZURlbGVnYXRlLmZpcmUoKSwoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJtb2JpbGVfYXBwX2FjdGlvbl9vcGVuX2ZpbmFuY2lhbHNfd2VidmlldyIpPygwLGgub3BlbkZpbmFuY2lhbHNXZWJ2aWV3KShuZXcgVVJMU2VhcmNoUGFyYW1zKTooMCxjLnNob3dGaW5hbmNpYWxzRGlhbG9nKSh7aW5pdGlhbFRhYklkOnRoaXMuX2dldE1vcmVGaW5hbmNpYWxzTGlua0luaXRpYWxUYWJJZH0pfX19X2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKXtyZXR1cm4oMCxhLmdldE1vcmVGaW5hbmNpYWxzTGlua1RleHQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpfV9vblN5bWJvbE9ySW50ZXJ2YWxDaGFuZ2VkKCl7c3VwZXIuX29uU3ltYm9sT3JJbnRlcnZhbENoYW5nZWQoKSx0aGlzLl9zeW1ib2xOYW1lPW51bGx9fX0sNDY3OTIxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHttaWdyYXRlSmF2YVN0YXRlVG9QaW5lOigpPT5oLHBpbmVJZEZvckphdmFJZDooKT0+bH0pO2NvbnN0IGk9KDAsCnMoNTA1NTYpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS02MDAiKSxyPW5ldyBNYXAoW1sic3R1ZHlBRFJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0FkdmFuY2VfRGVjbGluZV9SYXRpb19CYXJzIl0sWyJBVFJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0F2ZXJhZ2VfVHJ1ZV9SYW5nZSJdLFsiQUNDREB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7QWNjdW11bGF0aW9uX0Rpc3RyaWJ1dGlvbiJdLFsiQVJPT05AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Fyb29uIl0sWyJBd2Vzb21lT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7QXdlc29tZV9Pc2NpbGxhdG9yIl0sWyJCQkB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Qm9sbGluZ2VyX0JhbmRzIl0sWyJCb2xsaW5nZXJCYW5kc1JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0JvbGxpbmdlcl9CYW5kc19CIl0sWyJCb2xsaW5nZXJCYW5kc1dpZHRoQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtCb2xsaW5nZXJfQmFuZHNfV2lkdGgiXSxbIkNDSUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Q0NJIl0sWyJDTUZAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYWlraW5fTW9uZXlfRmxvdyJdLFsiQ2hhaWtpbk9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYWlraW5fT3NjaWxsYXRvciJdLFsiY2hhbmRlTU9AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYW5kZV9Nb21lbnR1bV9Pc2NpbGxhdG9yIl0sWyJDaG9wcGluZXNzSW5kZXhAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Nob3BwaW5lc3NfSW5kZXgiXSxbIkNvbXBhcmVAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NvbXBhcmUiXSxbIkNSU0lAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Nvbm5vcnNfUlNJIl0sWyJDb3JyZWxhdGlvbkNvZWZmaWNpZW50QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtDb3JyZWxhdGlvbl9Db2VmZiJdLFsiRG91YmxlRU1BQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtERU1BIl0sWyJETUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RE1JIl0sWyJEZXRyZW5kZWRQcmljZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0RQTyJdLFsiRE9OQ0hAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0RvbmNoaWFuX0NoYW5uZWxzIl0sWyJFYXNlT2ZNb3ZlbWVudEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RU9NIl0sWyJFRklAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0VGSSJdLFsiRU5WQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtFTlYiXSxbIk1BRXhwQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtFTUEiXSxbIkZpc2hlclRyYW5zZm9ybUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RmlzaGVyX1RyYW5zZm9ybSJdLFsiSFZAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0hpc3RvcmljYWxfVm9sYXRpbGl0eSJdLFsiaHVsbE1BQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtIdWxsJTFNQSJdLFsiSWNoaW1va3VDbG91ZEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7SWNoaW1va3UlMUNsb3VkIl0sWyJLU1RAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0tub3dfU3VyZV9UaGluZyJdLFsiS0xUTlJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0tlbHRuZXJfQ2hhbm5lbHMiXSxbIkxpbmVhclJlZ3Jlc3Npb25AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0xpbmVhcl9SZWdyZXNzaW9uIl0sWyJNQUNEQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNQUNEIl0sWyJNQVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtXTUEiXSxbIk1PTUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7TW9tZW50dW0iXSxbIk1GQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNb25leV9GbG93Il0sWyJNVFBDQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNdWx0aS1UaW1lJVBlcmlvZCVDaGFydHMiXSxbIk9CVkB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7T25fQmFsYW5jZV9Wb2x1bWUiXSxbIlBTQVJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1BTQVIiXSxbIlBpdm90UG9pbnRzSGlnaExvd0B0di1iYXNpY3N0dWRpZXMiLCJTVEQ7UGl2b3QlMVBvaW50cyUxSGlnaCUxTG93Il0sWyJQaXZvdFBvaW50c1N0YW5kYXJkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtQaXZvdCUxUG9pbnRzJTFTdGFuZGFyZCJdLFsiUHJpY2VPc2NAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX09zY2lsbGF0b3IiXSxbIlByaWNlVm9sdW1lVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX1ZvbHVtZV9UcmVuZCJdLFsiUlNJQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSU0kiXSxbIlJPQ0B0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Uk9DIl0sWyJWaWdvckluZGV4QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSZWxhdGl2ZV9WaWdvcl9JbmRleCJdLFsiVm9sYXRpbGl0eUluZGV4QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSZWxhdGl2ZV9Wb2xhdGlsaXR5X0luZGV4Il0sWyJTTUlFcmdvZGljSW5kaWNhdG9yQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtTTUlfRXJnb2RpY19JbmRpY2F0b3JfT3NjaWxsYXRvciJdLFsiU01JRXJnb2RpY09zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1NNSV9FcmdvZGljX09zY2lsbGF0b3IiXSxbIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtTTUEiXSxbIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1N0b2NoYXN0aWMiXSxbIlN0b2NoYXN0aWNSU0lAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1N0b2NoYXN0aWNfUlNJIl0sWyJUcmlwbGVFTUFAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1RFTUEiXSxbIlRyaXhAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1RSSVgiXSxbIlVsdGltYXRlT3NjQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtVbHRpbWF0ZV9Pc2NpbGxhdG9yIl0sWyJWV0FQQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtWV0FQIl0sWyJNQVZvbHVtZVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtWV01BIl0sWyJWU1RPUEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Vm9sYXRpbGl0eV9TdG9wIl0sWyJXaWxsaWFtc0FsbGlnYXRvckB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7V2lsbGlhbXNfQWxsaWdhdG9yIl0sWyJXaWxsaWFtc0ZyYWN0YWxAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1doaWxsaWFtc19GcmFjdGFscyJdLFsiV2lsbGlhbVJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1dpbGxhbXNfUiJdLFsiWmlnWmFnQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtaaWdfWmFnIl0sWyJNb29uUGhhc2VzQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNb29uJTFQaGFzZXMiXSxbIlByaWNlVm9sdW1lVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX1ZvbHVtZV9UcmVuZCJdLFsiQ29ycmVsYXRpb25Db2VmZmljaWVudEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Q29ycmVsYXRpb25fQ29lZmYiXV0pLG49bmV3IE1hcChbWyJBUk9PTkB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siQXJvb25Eb3duIiwiQXJvb24gRG93biJdLFsiQXJvb25VcCIsIkFyb29uIFVwIl1dKV0sWyJETUB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siRElfTiIsIi1ESSJdLFsiRElfUCIsIitESSJdXSldLFsiRE9OQ0hAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIkRvbmNoaWFuQmFzaXMiLCJCYXNpcyJdLFsiRG9uY2hpYW5Mb3dlciIsIkxvd2VyIl0sWyJEb25jaGlhblVwcGVyIiwiVXBwZXIiXV0pXSxbIk1BRXhwQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJNb3ZBdmdFeHAiLCJFTUEiXV0pXSxbIkVOVkB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siZW52YmFzaXMiLCJCYXNpcyJdLFsiZW52dXBwZXIiLCJVcHBlciJdLFsiZW52bG93ZXIiLCJMb3dlciJdXSldLFsiSWNoaW1va3VDbG91ZEB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siVHVybmluZ0xpbmUiLCJDb252ZXJzaW9uIExpbmUiXSxbIlN0YW5kYXJkTGluZSIsIkJhc2UgTGluZSJdLFsiQ2xvc2VMaW5lIiwiTGFnZ2luZyBTcGFuIl0sWyJMZWFkMUxpbmUiLCJMZWFkaW5nIFNwYW4gQSJdLFsiTGVhZDJMaW5lIiwiTGVhZGluZyBTcGFuIEIiXV0pXSxbIktMVE5SQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJLZWx0bmVyVXBwZXIiLCJVcHBlciJdLFsiS2VsdG5lckNlbnRlciIsIkJhc2lzIl0sWyJLZWx0bmVyTG93ZXIiLCJMb3dlciJdXSldLFsiS1NUQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJTSUciLCJTaWduYWwiXV0pXSxbIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJNb3ZBdmdTaW1wbGUiLCJNQSJdXSldLFsiUlNJQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJSZWxhdGl2ZVN0cmVuZ3RoSW5kZXgiLCJSU0kiXV0pXSxbIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIksiLCIlSyJdLFsiRCIsIiVEIl1dKV0sWyJWaWdvckluZGV4QHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJTSUciLCJTaWduYWwiXV0pXV0pLG89bmV3IE1hcChbWyJLU1RAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIlplcm8gTGluZSIsIlplcm8iXV0pXSxbIlJTSUB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siVXBwZXIgQmFuZCIsIlJTSSBVcHBlciBCYW5kIl0sWyJMb3dlciBCYW5kIiwiUlNJIExvd2VyIEJhbmQiXV0pXV0pLGE9bmV3IE1hcChbWyJDUlNJQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJMZW5ST0MiLHsKbmFtZToiUk9DIExlbmd0aCJ9XSxbIkxlblJTSSIse25hbWU6IlJTSSBMZW5ndGgifV0sWyJMZW5VUCIse25hbWU6IlVwRG93biBMZW5ndGgifV1dKV0sWyJQaXZvdFBvaW50c0hpZ2hMb3dAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbImxlbmd0aCBoaWdoIix7Z3JvdXA6IkxFTkdUSCBMRUZUIC8gUklHSFQiLG5hbWU6IlBpdm90IEhpZ2gifV0sWyJsZW5ndGggbG93Iix7Z3JvdXA6IkxFTkdUSCBMRUZUIC8gUklHSFQiLG5hbWU6IlBpdm90IExvdyJ9XV0pXSxbIkljaGltb2t1Q2xvdWRAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbInR1cm5pbmcgbGluZSBwZXJpb2RzIix7bmFtZToiQ29udmVyc2lvbiBMaW5lIExlbmd0aCJ9XSxbInN0YW5kYXJkIGxpbmUgcGVyaW9kcyIse25hbWU6IkJhc2UgTGluZSBMZW5ndGgifV0sWyJsZWFkaW5nIHNwYW4gMiBwZXJpb2RzIix7bmFtZToiTGVhZGluZyBTcGFuIEIgTGVuZ3RoIn1dLFsiZGlzcGxhY2VtZW50Iix7bmFtZToiTGFnZ2luZyBTcGFuIn1dXSldXSk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gci5nZXQoZSk/P251bGx9Y29uc3QgdT1uZXcgU2V0KFsibGluZSIsInNoYXBlcyIsImNoYXJzIiwiYXJyb3dzIiwib2hsY19vcGVuIiwib2hsY19oaWdoIiwib2hsY19sb3ciLCJvaGxjX2Nsb3NlIl0pO2Z1bmN0aW9uIGMoZSx0LHMpe3JldHVybiBlLmlucHV0cy5maW5kKChlPT4oZS5uYW1lLnN0YXJ0c1dpdGgodCl8fGUubmFtZS5lbmRzV2l0aCh0KSkmJmUuZ3JvdXA9PT1zKSk/LmlkPz9udWxsfWZ1bmN0aW9uIGgoZSx0LHMpeyFmdW5jdGlvbihlKXtpZihlLmFyZWFCYWNrZ3JvdW5kKXtlLmZpbGxlZEFyZWFzU3R5bGU9ZS5maWxsZWRBcmVhc1N0eWxlPz97fTtjb25zdCB0PWUuZmlsbGVkQXJlYXNTdHlsZT8uZmlsbF8wPz97fTt0LmNvbG9yPWUuYXJlYUJhY2tncm91bmQuYmFja2dyb3VuZENvbG9yLHQudHJhbnNwYXJlbmN5PWUuYXJlYUJhY2tncm91bmQudHJhbnNwYXJlbmN5LHQudmlzaWJsZT1lLmFyZWFCYWNrZ3JvdW5kLmZpbGxCYWNrZ3JvdW5kLGUuZmlsbGVkQXJlYXNTdHlsZS5maWxsXzA9dH1kZWxldGUgZS5hcmVhQmFja2dyb3VuZH0oZSksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9e30scj1hLmdldCh0LmlkKT8/bmV3IE1hcDtzLmlucHV0cy5mb3JFYWNoKCh0PT57Y29uc3Qgcz10Lm5hbWUudG9Mb3dlckNhc2UoKSxuPXQuZ3JvdXA7Zm9yKGNvbnN0IG8gb2YgT2JqZWN0LmtleXMoZS5pbnB1dHMpKXtjb25zdCBhPXIuZ2V0KG8pPy5uYW1lPz9vLGw9ci5nZXQobyk/Lmdyb3VwPz9uO2lmKGEudG9Mb3dlckNhc2UoKT09PXMmJmw9PT1uKXtpW3QuaWRdPWUuaW5wdXRzW29dO2JyZWFrfX0ib2Zmc2V0Ij09PXMmJmUub2Zmc2V0JiYoaVt0LmlkXT1lLm9mZnNldC52YWwpfSkpLGUuaW5wdXRzPWksZGVsZXRlIGUub2Zmc2V0fShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9dC5wYWxldHRlcz8/e30scj1zLnBhbGV0dGVzPz97fSxuPU9iamVjdC5rZXlzKGkpLG89T2JqZWN0LmtleXMocik7MT09PW4ubGVuZ3RoJiYxPT09by5sZW5ndGgmJihlLnBhbGV0dGVzW29bMF1dPWUucGFsZXR0ZXNbblswXV0sZGVsZXRlIGUucGFsZXR0ZXNbblswXV0pfShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9bi5nZXQodC5pZCk/P25ldyBNYXAscj1zLnN0eWxlcz8/e30sbz1lLnN0eWxlcyxhPXt9LGw9dC5wbG90cy5maWx0ZXIoKGU9PnUuaGFzKGUudHlwZSkpKSxjPXMucGxvdHMuZmlsdGVyKChlPT51LmhhcyhlLnR5cGUpKSk7aWYoMT09PWMubGVuZ3RoJiYxPT09bC5sZW5ndGgpe2NvbnN0IGU9Y1swXS5pZCx0PWxbMF0uaWQ7dCYmKGFbZV09b1t0XSl9ZWxzZSBmb3IoY29uc3QgZSBvZiBjKXtjb25zdCB0PWUuaWQscz1yW3RdO2lmKHMpe2NvbnN0IGU9cy50aXRsZS50b0xvd2VyQ2FzZSgpO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKG8pKWlmKChpLmdldChzKT8/cykudG9Mb3dlckNhc2UoKT09PWUpe2FbdF09b1tzXTticmVha319fWUuc3R5bGVzPWF9KGUsdCxzKSxmdW5jdGlvbihlLHQscyl7Y29uc3QgaT1zLmJhbmRzLHI9ZS5iYW5kcyxuPW8uZ2V0KHQuaWQpPz9uZXcgTWFwO2lmKGkmJnIpe2NvbnN0IG89cy5kZWZhdWx0cy5iYW5kcz8ubGVuZ3RoPz8wLGE9QXJyYXkuZnJvbSh7bGVuZ3RoOm99KTsocy5kZWZhdWx0cy5iYW5kcz8/W10pLmZvckVhY2goKChlLHMpPT57Y29uc3Qgbz1pW3NdO2lmKG8pe2NvbnN0IGk9by5uYW1lLnRvTG93ZXJDYXNlKCksbD10LmJhbmRzPz9bXTthW3NdPWU7Zm9yKGxldCBlPTA7ZTxsLmxlbmd0aDtlKyspe2NvbnN0IHQ9bFtlXS5uYW1lO2lmKChuLmdldCh0KT8/dCkudG9Mb3dlckNhc2UoKT09PWkpe2Fbc109cltlXTticmVha319fX0pKSxlLmJhbmRzPWF9fShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2lmKGUuYmFuZHNCYWNrZ3JvdW5kKXtjb25zdCB0PShzLmZpbGxlZEFyZWFzPz9bXSkuZmluZCgoZT0+ImhsaW5lX2hsaW5lIj09PWUudHlwZSkpO2lmKHQpe2UuZmlsbGVkQXJlYXNTdHlsZT1lLmZpbGxlZEFyZWFzU3R5bGU/P3t9O2NvbnN0IHM9dC5pZCxpPWUuZmlsbGVkQXJlYXNTdHlsZVtzXT8/e307aS5jb2xvcj1lLmJhbmRzQmFja2dyb3VuZC5iYWNrZ3JvdW5kQ29sb3IsaS52aXNpYmxlPWUuYmFuZHNCYWNrZ3JvdW5kLmZpbGxCYWNrZ3JvdW5kLGkudHJhbnNwYXJlbmN5PWUuYmFuZHNCYWNrZ3JvdW5kLnRyYW5zcGFyZW5jeSxlLmZpbGxlZEFyZWFzU3R5bGVbc109aX19ZGVsZXRlIGUuYmFuZHNCYWNrZ3JvdW5kfShlLDAscyksIlBpdm90UG9pbnRzU3RhbmRhcmRAdHYtYmFzaWNzdHVkaWVzIiE9PXQuaWQmJiJQaXZvdFBvaW50c1N0YW5kYXJkIiE9PXQuaWR8fGZ1bmN0aW9uKGUsdCxzKXtlLmdyYXBoaWNzPWUuZ3JhcGhpY3M/P3t9LGUuZ3JhcGhpY3MuZHdnbGFiZWxzPWUuZ3JhcGhpY3MuZHdnbGFiZWxzPz97fSxlLmdyYXBoaWNzLmR3Z2xhYmVscy5sYWJlbHM9ZS5ncmFwaGljcy5kd2dsYWJlbHMubGFiZWxzPz97dmlzaWJsZTplLmxldmVsc1N0eWxlPy5zaG93TGFiZWxzPz8hMH0sZS5wYWxldHRlcz1lLnBhbGV0dGVzPz97fSwKZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbj1lLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uPz97fSxlLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uLmNvbG9ycz1lLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uLmNvbG9ycz8/e307bGV0IHI9MTtbIlAiLCJTMS9SMSIsIlMyL1IyIiwiUzMvUjMiLCJTNC9SNCIsIlM1L1I1Il0uZm9yRWFjaCgodD0+e2NvbnN0IG49ZS5sZXZlbHNTdHlsZT8uY29sb3JzPy5bdF0/P2k7dC5zcGxpdCgiLyIpLmZvckVhY2goKHQ9Pntjb25zdCBpPWMocyx0LCJsZXZlbHMiKTtpJiYoZS5pbnB1dHNbaV09biksZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbi5jb2xvcnNbcl09ZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbi5jb2xvcnNbcl0/P3t9LGUucGFsZXR0ZXMucGFsZXR0ZV9jb21tb24uY29sb3JzW3JdLmNvbG9yPW4scisrfSkpfSkpO2NvbnN0IG49YyhzLCJMaW5lIFdpZHRoIiwibGV2ZWxzIik7aWYobil7Y29uc3QgdD1lLmxldmVsc1N0eWxlPy53aWR0aHM/LlA/PzE7ZS5pbnB1dHNbbl09dH19KGUsMCxzKX19LDg0MTU1OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtOb25TZXJpZXNTdHVkeTooKT0+bn0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoMTk3MjcyKTtjbGFzcyBuIGV4dGVuZHMgci5TdHVkeXtpc0xpbmtlZFRvU2VyaWVzKCl7cmV0dXJuITB9Y2xlYXJEYXRhKCl7dGhpcy5fY3VzdG9tRGF0YT1udWxsLHRoaXMuX2luZGV4ZXM9bnVsbH1yZXN0b3JlRGF0YShlLHQscyl7c3VwZXIucmVzdG9yZURhdGEoZSksdGhpcy5fY3VzdG9tRGF0YT10LHRoaXMuX2luZGV4ZXM9c31zdGF0ZShlKXtjb25zdCB0PXN1cGVyLnN0YXRlKGUpO3JldHVybiBlJiYodC5ub25TZXJpZXNEYXRhPXRoaXMuX2N1c3RvbURhdGEsdC5pbmRleGVzPXRoaXMuX2luZGV4ZXMpLHR9Y3VzdG9tRGF0YSgpe3JldHVybiB0aGlzLl9jdXN0b21EYXRhfV9zZXRQYW5lVmlld3MoZSl7dGhpcy5fcGFuZVZpZXdzPWUsdGhpcy5tb2RlbCgpLmxpZ2h0VXBkYXRlKCl9X29uRGF0YVVwZGF0ZWQoZSx0LHMpe251bGwhPT10JiYodC5pbmRleGVzX3JlcGxhY2U/KCgwLGkuYXNzZXJ0KSgibm9jaGFuZ2UiIT09cyksdGhpcy5faW5kZXhlcz1zKToodGhpcy5fY3VzdG9tRGF0YT10LmRhdGEsIm5vY2hhbmdlIiE9PXMmJih0aGlzLl9pbmRleGVzPXMpKSksc3VwZXIuX29uRGF0YVVwZGF0ZWQoZSx0LHMpfX19LDg0NDcyNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9QaXZvdFBvaW50c1N0YW5kYXJkOigpPT5BfSk7dmFyIGk9cygxMzg2MzgpLHI9cyg4NDE1NTgpLG49cyg5MTg3NzkpLG89cygxNTEyMSk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscyxpKXt0aGlzLl9wcmljZUF4aXNGb250U2l6ZT0xMSx0aGlzLl9wcmljZXM9W10sdGhpcy5fbGFiZWxXaWR0aD0wLHRoaXMuX3BpeGVsUmF0aW9QYXJhbXM9ZSx0aGlzLl9yZWNyZWF0ZUNhbnZhc0FuZENvbnRleHQoKDAsbi5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pKSx0aGlzLnJlc2V0KHtmb250OnQsZm9udFNpemU6cyxiYWNrQ29sb3JzOml9KX1kZXN0cm95KCl7ZGVsZXRlIHRoaXMuX2NhbnZhcyxkZWxldGUgdGhpcy5fY2FjaGV9Y2FudmFzKCl7cmV0dXJuIHRoaXMuX2NhbnZhc31yZXNldChlKXt0aGlzLl9yZW5kZXJQYXJhbXM9ZSx0aGlzLl9wcmljZXM9W10sdGhpcy5fY2FjaGUuZm9udD1lLmZvbnRTaXplKyJweCAiK2UuZm9udCx0aGlzLl9sYWJlbFdpZHRoPVsiUCIsIlMxIiwiUjEiLCJTMiIsIlIyIiwiUzMiLCJSMyIsIlM0IiwiUjQiLCJTNSIsIlI1IiwiLyJdLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBzPXRoaXMuX2NhY2hlLm1lYXN1cmVUZXh0KHQpLndpZHRoO3JldHVybiBNYXRoLm1heChzLGUpfSksMCl9cm93SGVpZ2h0KCl7cmV0dXJuIHRoaXMuX3ByaWNlQXhpc0ZvbnRTaXplKzR9bGFiZWxSZWN0QnlJbmRleChlKXtyZXR1cm57bGVmdDowLHRvcDpNYXRoLnJvdW5kKHRoaXMuX3RvcEJ5SW5kZXgoZSkpLHdpZHRoOk1hdGgucm91bmQodGhpcy5fbGFiZWxXaWR0aCs0KSxoZWlnaHQ6TWF0aC5yb3VuZCh0aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUrOCl9fXNldFByaWNlcyhlKXtsZXQgdD0hMTtjb25zdCBzPShlLHQpPT57Y29uc3Qgcz12b2lkIDA9PT1lLHI9dm9pZCAwPT09dDtyZXR1cm4oIXMmJiFyfHxzPT09cikmJigwLGkuZW5zdXJlRGVmaW5lZCkoZSkuZm9ybWF0dGVkPT09KDAsaS5lbnN1cmVEZWZpbmVkKSh0KS5mb3JtYXR0ZWR9O2lmKGUubGVuZ3RoIT09dGhpcy5fcHJpY2VzLmxlbmd0aCl0PSEwO2Vsc2UgZm9yKGxldCBpPTA7aTx0aGlzLl9wcmljZXMubGVuZ3RoO2krKylpZighcyh0aGlzLl9wcmljZXNbaV0sZVtpXSkpe3Q9ITA7YnJlYWt9aWYodCl7Y29uc3QgdD10aGlzLl9sYWJlbFdpZHRoKzYscz10aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUsaT1NYXRoLm1heChlLmxlbmd0aCwyMikqKHMrOCk7dGhpcy5fcmVjcmVhdGVDYW52YXNBbmRDb250ZXh0KCgwLG4uc2l6ZSkoe3dpZHRoOnQsaGVpZ2h0Oml9KSksdGhpcy5fcHJpY2VzPWUsdGhpcy5fY2FjaGUuc2F2ZSgpLCgwLG8uZHJhd1NjYWxlZCkodGhpcy5fY2FjaGUsdGhpcy5fcGl4ZWxSYXRpb1BhcmFtcy5ob3Jpem9udGFsUGl4ZWxSYXRpbyx0aGlzLl9waXhlbFJhdGlvUGFyYW1zLnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9Pnt0aGlzLl9jYWNoZS50cmFuc2xhdGUoLjUsLjUpLHRoaXMuX2NhY2hlLmZvbnQ9dGhpcy5fcmVuZGVyUGFyYW1zLmZvbnRTaXplKyJweCAiK3RoaXMuX3JlbmRlclBhcmFtcy5mb250LHRoaXMuX2NhY2hlLnRleHRCYXNlbGluZT0ibWlkZGxlIjtmb3IobGV0IGU9MDtlPHRoaXMuX3ByaWNlcy5sZW5ndGg7ZSsrKXtpZighdGhpcy5fcHJpY2VzW2VdKWNvbnRpbnVlO2NvbnN0IHQ9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXVtlXTt0aGlzLl9jYWNoZS5maWxsU3R5bGU9dGhpcy5fcmVuZGVyUGFyYW1zLmJhY2tDb2xvcnNbZV0sdGhpcy5fY2FjaGUuZmlsbFRleHQodCwwLHRoaXMuX2NlbnRlckJ5SW5kZXgoZSkpLAp0aGlzLl9jYWNoZS5maWxsVGV4dCgiLyIsMCx0aGlzLl9jZW50ZXJCeUluZGV4KGUrMTEpKX19KSksdGhpcy5fY2FjaGUucmVzdG9yZSgpLHRoaXMuX3ByaWNlcz1lfX1fcmVjcmVhdGVDYW52YXNBbmRDb250ZXh0KGUpe3RoaXMuX2NhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0aGlzLl9jYW52YXMud2lkdGg9ZS53aWR0aCp0aGlzLl9waXhlbFJhdGlvUGFyYW1zLmhvcml6b250YWxQaXhlbFJhdGlvLHRoaXMuX2NhbnZhcy5oZWlnaHQ9ZS5oZWlnaHQqdGhpcy5fcGl4ZWxSYXRpb1BhcmFtcy52ZXJ0aWNhbFBpeGVsUmF0aW8sdGhpcy5fY2FjaGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jYW52YXMuZ2V0Q29udGV4dCgiMmQiKSl9X2NlbnRlckJ5SW5kZXgoZSl7cmV0dXJuIE1hdGgucm91bmQoKGUrLjUpKih0aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUrOCkpfV90b3BCeUluZGV4KGUpe3JldHVybiBNYXRoLnJvdW5kKGUqKHRoaXMuX3JlbmRlclBhcmFtcy5mb250U2l6ZSs4KSl9fXZhciBsPXMoOTI2MTQ5KSx1PXMoNzE2NzgpLGM9cyg4NzM1NzMpO2NvbnN0IGg9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXTtjbGFzcyBkIGV4dGVuZHMgdS5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9kYXRhPXQ7Y29uc3Qgcz10Lm5hbWU7dGhpcy5fY29tcGxldGVOYW1lPSJQIj09PXMudG9VcHBlckNhc2UoKT8iUCI6YFMke3NbMV19L1Ike3NbMV19YH1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxzKXtlLnZpc2libGU9ITEsdC52aXNpYmxlPSExO2NvbnN0IGk9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fY29tcGxldGVOYW1lLG49aS5sZXZlbHNTdHlsZS5jaGlsZHMoKS52aXNpYmlsaXR5LmNoaWxkcygpO2lmKCFuW3JdfHwhbltyXS52YWx1ZSgpKXJldHVybjtjb25zdCBvPXRoaXMuX3NvdXJjZS5tb2RlbCgpLGE9by50aW1lU2NhbGUoKSxsPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYoYS5pc0VtcHR5KCl8fG51bGw9PT1hLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKXx8bnVsbCE9PWwmJmwuaXNFbXB0eSgpKXJldHVybjtjb25zdCB1PXRoaXMuX3NvdXJjZS5jdXN0b21EYXRhKCk7aWYoIXV8fCF1LnBpdm90cylyZXR1cm47Y29uc3QgZD10aGlzLl9zb3VyY2UucHJpY2VzVmlldygpLnByaWNlcygpW2guaW5kZXhPZih0aGlzLl9kYXRhLm5hbWUudG9VcHBlckNhc2UoKSldO2lmKCFkKXJldHVybjtjb25zdCBfPSgwLGMucmVzZXRUcmFuc3BhcmVuY3kpKGQuY29sb3IpO3MuYmFja2dyb3VuZD1fLHMudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3Iocy5iYWNrZ3JvdW5kKSxzLmNvb3JkaW5hdGU9ZC5jb29yZGluYXRlO2NvbnN0IHA9dGhpcy5fc291cmNlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7cC5zaG93U3R1ZHlMYXN0VmFsdWUudmFsdWUoKSYmKGUudGV4dD1kLmZvcm1hdHRlZCxlLnZpc2libGU9ITApLHAuc2hvd1N0dWR5UGxvdExhYmVscy52YWx1ZSgpJiYodC50ZXh0PXRoaXMuX3NvdXJjZS5wcmljZUxhYmVsVGV4dCh0aGlzLl9kYXRhLm5hbWUpLHQudmlzaWJsZT0hMCksZS5zZWxlY3RlZE1hcmtDb2xvcj1vLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodGhpcy5fc291cmNlKT9fOnZvaWQgMH19dmFyIF89cygzNzY2NDUpLHA9cyg1MzY3MTApLHk9cyg5MzI2OTMpLG09cyg5MzYzMjYpO2NvbnN0IHY9WyJwIiwiczEiLCJyMSIsInMyIiwicjIiLCJzMyIsInIzIiwiczQiLCJyNCIsInM1IiwicjUiXSxmPXtQOiJQIixTMToiUzEvUjEiLFMyOiJTMi9SMiIsUzM6IlMzL1IzIixTNDoiUzQvUjQiLFM1OiJTNS9SNSIsUjE6IlMxL1IxIixSMjoiUzIvUjIiLFIzOiJTMy9SMyIsUjQ6IlM0L1I0IixSNToiUzUvUjUifTtjbGFzcyBTe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Zpc2libGVQaXZvdHM9bmV3IFNldCx0aGlzLl9pbnZpZGF0ZWQ9ITAsdGhpcy5fcHJpY2VzPVtdLHRoaXMuX3NvdXJjZT1lfXZpc2libGVQaXZvdHMoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZVBpdm90c311cGRhdGUoKXt0aGlzLl9pbnZpZGF0ZWQ9ITB9cHJpY2VzKCl7cmV0dXJuIHRoaXMuX2ludmlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZpZGF0ZWQ9ITEpLHRoaXMuX3ByaWNlc31fdXBkYXRlSW1wbCgpe3RoaXMuX3Zpc2libGVQaXZvdHMuY2xlYXIoKTtjb25zdCBlPXRoaXMuX3NvdXJjZS5tb2RlbCgpLHQ9dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKTtpZihudWxsPT09dClyZXR1cm47aWYoZS50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBzPWUudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1zKXJldHVybjtpZighdGhpcy5fc291cmNlLmN1c3RvbURhdGEoKXx8IXRoaXMuX3NvdXJjZS5jdXN0b21EYXRhKCkucGl2b3RzKXJldHVybjtjb25zdCBpPWUubWFpblNlcmllcygpLmJhcnMoKS5zZWFyY2gocy5sYXN0QmFyKCksbS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYobnVsbD09PWkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fc291cmNlLmluZGV4ZXMoKTtpZighcilyZXR1cm47Y29uc3Qgbj1pLmluZGV4LG89dGhpcy5fc291cmNlLmN1c3RvbURhdGEoKS5waXZvdHMsYT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLGw9dGhpcy5fc291cmNlLmZpcnN0VmFsdWUoKTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7aWYoIW9bZV0pY29udGludWU7Y29uc3Qgcz1yW29bZV0uc3RhcnRJbmRleF0saT1yW29bZV0uZW5kSW5kZXhdLHU9YS5pbnB1dHMuY2hpbGRzKCkuc2hvd0hpc3RvcmljYWxQaXZvdHMudmFsdWUoKTtpZihzPD1uJiYoaT49bnx8dSkpe3RoaXMuX3Zpc2libGVQaXZvdHMuYWRkKG9bZV0pLHRoaXMuX3ByaWNlcz1bXTtmb3IobGV0IHM9MDtzPHYubGVuZ3RoO3MrKyl7CmNvbnN0IGk9dltzXSxyPW9bZV1baV07aWYodm9pZCAwPT09cnx8bnVsbD09PWwpY29udGludWU7Y29uc3Qgbj10LnByaWNlVG9Db29yZGluYXRlKHIsbCksdT1pLnRvVXBwZXJDYXNlKCksYz1mW3VdLGg9YS5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKClbY10udmFsdWUoKTt0aGlzLl9wcmljZXMucHVzaCh7Zm9ybWF0dGVkOnQuZm9ybWF0UHJpY2UocixsKSxwcmljZTpyLGNvb3JkaW5hdGU6bixjb2xvcjpofSl9fX19fXZhciBnPXMoNzM2NTMxKSxiPXMoMjYwNjkpLHc9cyg3ODkxOTApLEM9cyg2NTA0ODApLFA9cyg3NjMpLHg9cyg5MzQzMDUpO2NsYXNzIEQgZXh0ZW5kcyB4LkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUsdCxzKXtzdXBlcigpLHRoaXMuX2RyYXdSZWN0cz1bXSx0aGlzLl9jYWNoZVByb3ZpZGVyPWUsdGhpcy5fcG9pbnQ9dCx0aGlzLl9sYWJlbD1zfWhpdFRlc3QoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZHJhd1JlY3RzKWlmKGUueD49dC5sZWZ0JiZlLng8PXQubGVmdCt0LndpZHRoJiZlLnk+PXQudG9wJiZlLnk8PXQudG9wK3QuaGVpZ2h0KXJldHVybiBuZXcgUC5IaXRUZXN0UmVzdWx0KFAuSGl0VGFyZ2V0LlJlZ3VsYXIpO3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2NhY2hlUHJvdmlkZXIoZSkse2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmksY29udGV4dDpyfT1lO3RoaXMuX2RyYXdSZWN0cz1bXTtjb25zdCBuPWU9Pntjb25zdCBuPXQubGFiZWxSZWN0QnlJbmRleChlKSxvPXtsZWZ0Ok1hdGgucm91bmQodGhpcy5fcG9pbnQueC1uLndpZHRoK2EpLHRvcDpNYXRoLnJvdW5kKHRoaXMuX3BvaW50Lnktbi5oZWlnaHQvMiksd2lkdGg6bi53aWR0aCxoZWlnaHQ6bi5oZWlnaHR9O3JldHVybiByLmRyYXdJbWFnZSh0LmNhbnZhcygpLE1hdGgucm91bmQobi5sZWZ0KnMpLE1hdGgucm91bmQobi50b3AqaSksbi53aWR0aCpzLG4uaGVpZ2h0KmksTWF0aC5yb3VuZChvLmxlZnQqcyksTWF0aC5yb3VuZChvLnRvcCppKSxvLndpZHRoKnMsby5oZWlnaHQqaSksdGhpcy5fZHJhd1JlY3RzLnB1c2gobyksbi53aWR0aH0sbz10aGlzLl9sYWJlbC5zcGxpdCgiLyIpO2xldCBhPTA7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IHQ9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXS5pbmRleE9mKG9bZV0pO2U+MCYmKGErPW4odCsxMSkvMiksYSs9bih0KS8yfX19ZnVuY3Rpb24gSShlKXtyZXR1cm4iUCI9PT1lP2U6IlMiK2VbMV0rIi9SIitlWzFdfWZ1bmN0aW9uIFQoZSx0LHMpe2NvbnN0IGk9dDt2b2lkIDA9PT1lW2ldP2VbaV09e3RleHQ6cyxpZHM6W0kocyldfTooZVtpXS50ZXh0Kz0iLyIrcyxlW2ldLmlkcy5wdXNoKEkocykpKX1jbGFzcyBWe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcGl2b3RzPVtdLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3JlbmRlcmVyPW5ldyB3LkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXQsdGhpcy5fY2FjaGVQcm92aWRlcj10aGlzLl9zb3VyY2UuZ2V0Q2FjaGUuYmluZCh0aGlzLl9zb3VyY2UpfXVwZGF0ZShlKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fcmVuZGVyZXJ9X3VwZGF0ZUltcGwoKXt0aGlzLl9yZW5kZXJlci5jbGVhcigpO2NvbnN0IGU9dGhpcy5fc291cmNlLm93bmVyU291cmNlKCk7aWYobnVsbD09PWUpcmV0dXJuO3RoaXMuX3NvdXJjZS5wcmljZXNWaWV3KCkucHJpY2VzKCksdGhpcy5fcGl2b3RzPVtdO2NvbnN0IHQ9dGhpcy5fc291cmNlLmN1c3RvbURhdGEoKTtpZighdHx8IXQucGl2b3RzKXJldHVybjtjb25zdCBzPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aWYoIXMudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCByPXQucGl2b3RzLG49dGhpcy5fc291cmNlLmluZGV4ZXMoKSxvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLGE9dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKSxsPWUuZmlyc3RWYWx1ZSgpO2lmKCFhfHxhLmlzRW1wdHkoKXx8by5pc0VtcHR5KCl8fCFyfHwhbnx8bnVsbD09PWwpcmV0dXJuO2NvbnN0IHU9KDAsaS5lbnN1cmVOb3ROdWxsKShvLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksYz11LmZpcnN0QmFyKCksaD11Lmxhc3RCYXIoKTtmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKyl7aWYoIXJbZV0pY29udGludWU7Y29uc3QgdD1uW3JbZV0uc3RhcnRJbmRleF0saT1uW3JbZV0uZW5kSW5kZXhdO2lmKGk8Y3x8dD5oKWNvbnRpbnVlO2NvbnN0IHU9e30sZD1zLmxldmVsc1N0eWxlLmNoaWxkcygpLnZpc2liaWxpdHkuY2hpbGRzKCk7ZC5QLnZhbHVlKCkmJlQodSxyW2VdLnAsIlAiKSxkWyJTMS9SMSJdLnZhbHVlKCkmJihUKHUscltlXS5zMSwiUzEiKSxUKHUscltlXS5yMSwiUjEiKSksZFsiUzIvUjIiXS52YWx1ZSgpJiYoVCh1LHJbZV0uczIsIlMyIiksVCh1LHJbZV0ucjIsIlIyIikpLGRbIlMzL1IzIl0udmFsdWUoKSYmKFQodSxyW2VdLnMzLCJTMyIpLFQodSxyW2VdLnIzLCJSMyIpKSxkWyJTNC9SNCJdLnZhbHVlKCkmJihUKHUscltlXS5zNCwiUzQiKSxUKHUscltlXS5yNCwiUjQiKSksZFsiUzUvUjUiXS52YWx1ZSgpJiYoVCh1LHJbZV0uczUsIlM1IiksVCh1LHJbZV0ucjUsIlI1IikpO2NvbnN0IF89by5pbmRleFRvQ29vcmRpbmF0ZSh0KSxwPW8uaW5kZXhUb0Nvb3JkaW5hdGUoaSk7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXModSkpe2NvbnN0IHM9cGFyc2VGbG9hdCh0KSxpPWEucHJpY2VUb0Nvb3JkaW5hdGUocyxsKTt0aGlzLl9waXZvdHMucHVzaCh7eDE6Xyx4MjpwLHk6aSxsYWJlbDp1W3RdLnRleHQsbGFiZWxJZHM6dVt0XS5pZHMsc3JjOnJbZV19KX19CmNvbnN0IGQ9cy5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMsXz1zLmxldmVsc1N0eWxlLmNoaWxkcygpLndpZHRocyxwPXRoaXMuX3NvdXJjZS52aXNpYmxlUGl2b3RzKCk7Zm9yKGxldCBlPTA7ZTx0aGlzLl9waXZvdHMubGVuZ3RoO2UrKyl7Y29uc3QgdD10aGlzLl9waXZvdHNbZV07aWYoIXAuaGFzKHQuc3JjKSljb250aW51ZTtjb25zdCBpPXtjb2xvcjpkLmNoaWxkcygpW3QubGFiZWxJZHNbMF1dLnZhbHVlKCksbGluZXdpZHRoOl8uY2hpbGRzKClbdC5sYWJlbElkc1swXV0udmFsdWUoKSxsaW5lc3R5bGU6Yi5MSU5FU1RZTEVfU09MSUQseTp0LnksbGVmdDp0LngxLHJpZ2h0OnQueDJ9LHI9bmV3IEMuSG9yaXpvbnRhbExpbmVSZW5kZXJlcjtyLnNldERhdGEoaSksci5zZXRIaXRUZXN0KG5ldyBQLkhpdFRlc3RSZXN1bHQoUC5IaXRUYXJnZXQuUmVndWxhcikpLHRoaXMuX3JlbmRlcmVyLmFwcGVuZChyKSxzLmxldmVsc1N0eWxlLmNoaWxkcygpLnNob3dMYWJlbHMudmFsdWUoKSYmdGhpcy5fcmVuZGVyZXIuYXBwZW5kKG5ldyBEKHRoaXMuX2NhY2hlUHJvdmlkZXIsbmV3IGcuUG9pbnQodC54MSx0LnkpLHQubGFiZWwpKX19fXZhciBSPXMoNjM1NTA5KTtjbGFzcyBBIGV4dGVuZHMgci5Ob25TZXJpZXNTdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbil7c3VwZXIoZSx0LHMsaSxyLG4pLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fY2FjaGVkUGl4ZWxSYXRpb1BhcmFtcz1udWxsO2NvbnN0IG89WyJQIiwiUzEvUjEiLCJTMi9SMiIsIlMzL1IzIiwiUzQvUjQiLCJTNS9SNSJdLGE9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGV2ZWxzU3R5bGUuY2hpbGRzKCkudmlzaWJpbGl0eTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKylhLmNoaWxkcygpW29bZV1dLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5wcm9jZXNzSGliZXJuYXRlKCkpKX1wcmljZXNWaWV3KCl7cmV0dXJuIHRoaXMuX3ByaWNlc1ZpZXd9aW5kZXhlcygpe3JldHVybiB0aGlzLl9pbmRleGVzfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31nZXRDYWNoZShlKXtpZihudWxsPT09dGhpcy5fY2FjaGV8fG51bGw9PXRoaXMuX2NhY2hlZFBpeGVsUmF0aW9QYXJhbXN8fCh0PWUscz10aGlzLl9jYWNoZWRQaXhlbFJhdGlvUGFyYW1zLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8hPT1zLmhvcml6b250YWxQaXhlbFJhdGlvfHx0LnZlcnRpY2FsUGl4ZWxSYXRpbyE9PXMudmVydGljYWxQaXhlbFJhdGlvKSl7dGhpcy5fY2FjaGUmJnRoaXMuX2NhY2hlLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX2dldEFjdHVhbENhY2hlUGFyYW1zKCkscz17aG9yaXpvbnRhbFBpeGVsUmF0aW86ZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZS52ZXJ0aWNhbFBpeGVsUmF0aW99O3RoaXMuX2NhY2hlPW5ldyBhKHMsdC5mb250LHQuZm9udFNpemUsdC5iYWNrQ29sb3JzKSx0aGlzLl9jYWNoZS5zZXRQcmljZXMoKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZXNWaWV3KS5wcmljZXMoKSksdGhpcy5fY2FjaGVkUGl4ZWxSYXRpb1BhcmFtcz1zLHRoaXMuX2NhY2hlLnJlc2V0KHQpfXZhciB0LHM7cmV0dXJuIHRoaXMuX2NhY2hlfXByaWNlTGFiZWxUZXh0KGUpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnNob3J0RGVzY3JpcHRpb24rIjoiK2UudG9VcHBlckNhc2UoKX11cGRhdGVBbGxWaWV3cyhlKXtzdXBlci51cGRhdGVBbGxWaWV3cyhlKSx0aGlzLl9wcmljZXNWaWV3LnVwZGF0ZSgpfXZpc2libGVQaXZvdHMoKXtyZXR1cm4gdGhpcy5fcHJpY2VzVmlldy52aXNpYmxlUGl2b3RzKCl9aXNWaXNpYmxlKCl7aWYoIXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKXx8IXRoaXMuaXNBY3R1YWxJbnRlcnZhbCgpKXJldHVybiExO2NvbnN0IGU9WyJQIiwiUzEvUjEiLCJTMi9SMiIsIlMzL1IzIiwiUzQvUjQiLCJTNS9SNSJdLHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGV2ZWxzU3R5bGUuY2hpbGRzKCkudmlzaWJpbGl0eTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKylpZih0LmNoaWxkcygpW2Vbc11dLnZhbHVlKCkpcmV0dXJuITA7cmV0dXJuITF9c3RvcCgpe3N1cGVyLnN0b3AoKSx0aGlzLl9jYWNoZSYmKHRoaXMuX2NhY2hlLmRlc3Ryb3koKSx0aGlzLl9jYWNoZT1udWxsKX1wcmljZVJhbmdlKGUpe2lmKGUudGFyZ2V0UHJpY2VTY2FsZSE9PXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5jdXN0b21EYXRhKCk/LnBpdm90cztpZighdHx8IXRoaXMuX2luZGV4ZXMpcmV0dXJuIG51bGw7aWYoIXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2NvbnN0IHM9dCxpPXRoaXMuX2luZGV4ZXMse3N0YXJ0VGltZVBvaW50OnIsZW5kVGltZVBvaW50Om59PWU7bGV0IG89bnVsbDtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKyl7aWYoIXNbZV0pY29udGludWU7Y29uc3QgdD1pW3NbZV0uc3RhcnRJbmRleF07aWYoaVtzW2VdLmVuZEluZGV4XTxyfHx0Pm4pY29udGludWU7Y29uc3QgYT1bXSxsPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmxldmVsc1N0eWxlLmNoaWxkcygpLnZpc2liaWxpdHkuY2hpbGRzKCk7bC5QLnZhbHVlKCkmJmEucHVzaChzW2VdLnApLGxbIlMxL1IxIl0udmFsdWUoKSYmYS5wdXNoKHNbZV0uczEsc1tlXS5yMSksbFsiUzIvUjIiXS52YWx1ZSgpJiZhLnB1c2goc1tlXS5zMixzW2VdLnIyKSxsWyJTMy9SMyJdLnZhbHVlKCkmJmEucHVzaChzW2VdLnMzLHNbZV0ucjMpLGxbIlM0L1I0Il0udmFsdWUoKSYmYS5wdXNoKHNbZV0uczQsc1tlXS5yNCksbFsiUzUvUjUiXS52YWx1ZSgpJiZhLnB1c2goc1tlXS5zNSxzW2VdLnI1KTtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrKylhW2VdJiYobnVsbD09PW8/bz1uZXcgUi5QcmljZVJhbmdlKGFbZV0sYVtlXSk6by5hcHBseShhW2VdLGFbZV0pKX1jb25zdCBhPXRoaXMucHJpY2VTY2FsZSgpCjtyZXR1cm4gYSYmYS5pc0xvZygpJiZvP25ldyBSLlByaWNlUmFuZ2UoYS5wcmljZVRvTG9naWNhbChvLm1pblZhbHVlKCkpLGEucHJpY2VUb0xvZ2ljYWwoby5tYXhWYWx1ZSgpKSk6b31fY3JlYXRlVmlld3MoKXt0aGlzLl9jYWNoZSYmKHRoaXMuX2NhY2hlLmRlc3Ryb3koKSx0aGlzLl9jYWNoZT1udWxsKSx0aGlzLl9wcmljZUF4aXNWaWV3cz1bXTtjb25zdCBlPVsiUCIsIlMxIiwiUjEiLCJTMiIsIlIyIiwiUzMiLCJSMyIsIlM0IiwiUjQiLCJTNSIsIlI1Il07dGhpcy5fcGFuZVZpZXdzLmxlbmd0aD0wLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdO2NvbnN0IHQ9bmV3IFYodGhpcy5fbW9kZWwsdGhpcyk7dGhpcy5fcGFuZVZpZXdzLnB1c2godCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IHM9bmV3IGQodGhpcyx7bmFtZTplW3RdfSk7dGhpcy5fcHJpY2VBeGlzVmlld3MucHVzaChzKSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKG5ldyBfLlBhbmVQcmljZUF4aXNWaWV3KHMsdGhpcyx0aGlzLl9tb2RlbCkpfXRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IHAuU3R1ZHlEYXRhV2luZG93Vmlldyh0aGlzLHRoaXMuX21vZGVsKSksdGhpcy5fc3RhdHVzVmlld3x8KHRoaXMuX3N0YXR1c1ZpZXc9bmV3IHkuU3R1ZHlTdGF0dXNWaWV3KHRoaXMpKSx0aGlzLl9sZWdlbmRWaWV3PW51bGwsdGhpcy5fcHJpY2VzVmlldz1uZXcgUyh0aGlzKX1fcG9zdFByb2Nlc3NHcmFwaGljcygpe31fZ2V0QWN0dWFsQ2FjaGVQYXJhbXMoKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLHQ9ZS5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKCk7cmV0dXJue2ZvbnQ6bC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLGZvbnRTaXplOmUuZm9udHNpemUudmFsdWUoKSxiYWNrQ29sb3JzOlt0LlAudmFsdWUoKSx0WyJTMS9SMSJdLnZhbHVlKCksdFsiUzEvUjEiXS52YWx1ZSgpLHRbIlMyL1IyIl0udmFsdWUoKSx0WyJTMi9SMiJdLnZhbHVlKCksdFsiUzMvUjMiXS52YWx1ZSgpLHRbIlMzL1IzIl0udmFsdWUoKSx0WyJTNC9SNCJdLnZhbHVlKCksdFsiUzQvUjQiXS52YWx1ZSgpLHRbIlM1L1I1Il0udmFsdWUoKSx0WyJTNS9SNSJdLnZhbHVlKCldfX19fSwzNjM2MTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c3R1ZHlfRVNEJFRWX1JPTExEQVRFUzooKT0+a30pO3ZhciBpPXMoNjMxNTIyKSxyPXMoMjAzNjgxKSxuPXMoNzQwMTYyKSxvPXMoNTA1NTYpLGE9cygxODUyNzEpLGw9cyg1NTQ2NTQpLHU9cyg5MjY5OTUpLGM9cyg4ODcwMjkpLGg9cygyNjA2OSksZD1zKDU5MDg5NCksXz1zKDkyNjE0OSkscD1zKDg3MzU3MykseT1zKDUzNzQ4NyksbT1zKDgyMTk5MSk7Y29uc3Qgdj1bYS50KG51bGwsdm9pZCAwLHMoOTQ0Nzg0KSksYS50KG51bGwsdm9pZCAwLHMoMzM2MzApKSxhLnQobnVsbCx2b2lkIDAscyg2MzU2NDMpKSxhLnQobnVsbCx2b2lkIDAscygxNTU4NTIpKSxhLnQobnVsbCx2b2lkIDAscyg4NDk5NzMpKSxhLnQobnVsbCx2b2lkIDAscyg0MDI0ODIpKSxhLnQobnVsbCx2b2lkIDAscyg5MjQ2ODkpKSxhLnQobnVsbCx2b2lkIDAscyg5NTk3NzIpKSxhLnQobnVsbCx2b2lkIDAscyg0MTUyNjEpKSxhLnQobnVsbCx2b2lkIDAscyg4MTQ1MDEpKSxhLnQobnVsbCx2b2lkIDAscyg5NzE1NjEpKSxhLnQobnVsbCx2b2lkIDAscygzMDk2NjYpKV07dmFyIGY9cyg3NjMpLFM9cyg2MzcxMDQpO2NvbnN0IGc9bmV3IFBhdGgyRCgibTE4LjA2IDEyLjAzLjUzLS41My0uNTMtLjUzLTMuNS0zLjUtMS4wNiAxLjA2IDIuMjIgMi4yMmgtNS4zOEw2LjA2IDYuNDcgNSA3LjUzbDQuNSA0LjUuMjIuMjJoNmwtMi4yMiAyLjIyIDEuMDYgMS4wNnptLTEwLjU2LjQ0LTMgMyAxLjA2IDEuMDYgMy0zeiIpO2NsYXNzIGIgZXh0ZW5kcyBTLkxvbGxpcG9wUmVuZGVyZXJ7X2RyYXdMYWJlbChlKXsoMCxTLmRyYXdMYWJlbCkoZSxnLHRoaXMuX21hdHJpeCx7ZmlsbENvbG9yOnRoaXMuX2RhdGEuc3R5bGUuaWNvbkNvbG9yfSl9fXZhciB3PXMoNzUyNzIpO2NvbnN0IEM9YS50KG51bGwsdm9pZCAwLHMoMjE5MTA0KSksUD1hLnQobnVsbCx2b2lkIDAscyg2MTY0OTQpKSx4PWEudChudWxsLHZvaWQgMCxzKDM4Mzc1MSkpLEQ9YS50KG51bGwsdm9pZCAwLHMoNTA3NzI5KSksST17ZGFyazp7YmFja2dyb3VuZDooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTkwMCIpLGZvcmVncm91bmQ6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hMjAwIiksbGlua0NvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpfSxsaWdodDp7YmFja2dyb3VuZDooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKSxmb3JlZ3JvdW5kOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1kZWVwLWJsdWUtYTQwMCIpLGxpbmtDb2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKX19O3ZhciBUOyFmdW5jdGlvbihlKXtlW2UuSG92ZXJlZENvbG9yQWxwaGE9LjE1XT0iSG92ZXJlZENvbG9yQWxwaGEiLGVbZS5PbmVJdGVtT2Zmc2V0PTNdPSJPbmVJdGVtT2Zmc2V0IixlW2UuTWF4SXRlbXNUb0V4dHJhY3Q9NF09Ik1heEl0ZW1zVG9FeHRyYWN0In0oVHx8KFQ9e30pKTtjb25zdCBWPXtiYXJMaW5lOntsaW5lU3R5bGU6aC5MSU5FU1RZTEVfREFTSEVELGxpbmVXaWR0aDoxLHN0cm9rZVN0eWxlOiIifSxsb2xsaXBvcDp7d2lkdGg6MjMsaGVpZ2h0OjIzLGJvdHRvbToxLGxpbmVXaWR0aDoxLjUsc3Ryb2tlU3R5bGU6IiIsYmFja2dyb3VuZENvbG9yOiIiLGZpbGxDaXJjbGU6ITAsZmlsbFN0eWxlOiIiLHRleHQ6e2xhYmVsOiIiLHN0cm9rZVN0eWxlOiIiLGZvbnQ6IiJ9fSxpY29uQ29sb3I6IiIsYmFja2dyb3VuZENvbG9yOiIiLG91dGVyQm9yZGVyQ29sb3I6IiJ9LFI9WyJGIiwiRyIsIkgiLCJKIiwiSyIsIk0iLCJOIiwiUSIsIlUiLCJWIiwiWCIsIloiXTtmdW5jdGlvbiBBKGUsdCl7Y29uc3Qgcz1NYXRoLmZsb29yKHQvMTAwKSxpPXQtMTAwKnMtMQo7cmV0dXJue25hbWU6YCR7ZX0ke1JbaV19JHtzfWAsZXhwaXJhdGlvbkRhdGU6YCR7dltpXX0gJHtzfWB9fWNsYXNzIEwgZXh0ZW5kcyBjLkxvbGxpcG9wU3R1ZHlQYW5lVmlld0Jhc2V7ZXh0cmFEYXRhKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBzPTA7czw0Oysrcyl7Y29uc3QgaT0zKnMrMTtpZighQm9vbGVhbihlW2ldKSlicmVhazt0LnB1c2goe2N1cnJlbnRDb250cmFjdENvZGU6ZVtpXSxuZXh0Q29udHJhY3RDb2RlOmVbaSsxXSxzd2l0Y2hEYXRlOmVbaSsyXX0pfXJldHVybntpdGVtczp0fX1fY3JlYXRlUmVuZGVyZXJGb3JMb2xsaXBvcChlLHQpe3JldHVybiBuZXcgYihlLG5ldyBmLkhpdFRlc3RSZXN1bHQoZi5IaXRUYXJnZXQuQ3VzdG9tLHQpLHRoaXMuX3RleHRXaWR0aENhY2hlKX1hc3luYyBfY3JlYXRlVG9vbHRpcENvbnRlbnQoZSl7cmV0dXJuIGUuaXRlbXMubWFwKChlPT57Y29uc3QgdD1be25hbWU6RCx2YWx1ZTooMCx5LmZvcm1hdFlZWVlNTUREKSh0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCksZS5zd2l0Y2hEYXRlKX1dLGk9dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/SS5kYXJrOkkubGlnaHQscj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksbj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKG51bGwhPT1uJiZ2b2lkIDAhPT1uLnJvb3Qpe2NvbnN0IHM9bi5saXN0ZWRfZXhjaGFuZ2Usbz17Y29sb3I6aS5saW5rQ29sb3IsY3Vyc29yOiJwb2ludGVyIn0sYT1BKG4ucm9vdCxlLmN1cnJlbnRDb250cmFjdENvZGUpO3QucHVzaCh7bmFtZTpQLHZhbHVlOmEubmFtZSx2YWx1ZVN0eWxlOm8sb25WYWx1ZUNsaWNrOigpPT50aGlzLl9tb2RlbC51bmRvTW9kZWwoKS5zZXRTeW1ib2wocixgJHtzfToke2EubmFtZX1gKX0pLHQucHVzaCh7bmFtZToiICIsdmFsdWU6YS5leHBpcmF0aW9uRGF0ZX0pO2NvbnN0IGw9QShuLnJvb3QsZS5uZXh0Q29udHJhY3RDb2RlKTt0LnB1c2goe25hbWU6eCx2YWx1ZTpsLm5hbWUsdmFsdWVTdHlsZTpvLG9uVmFsdWVDbGljazooKT0+dGhpcy5fbW9kZWwudW5kb01vZGVsKCkuc2V0U3ltYm9sKHIsYCR7c306JHtsLm5hbWV9YCl9KSx0LnB1c2goe25hbWU6IiAiLHZhbHVlOmwuZXhwaXJhdGlvbkRhdGV9KX1yZXR1cm57dGl0bGU6QyxpbmZvcm1hdGlvbkJ1dHRvblByb3BzOnthcmlhTGFiZWw6YS50KG51bGwsdm9pZCAwLHMoODY5ODY3KSksaWNvbjoicXVlc3Rpb24iLG9uQ2xpY2s6KCk9PigwLHUuc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOmwuc29sdXRpb25JZHMuU1dJVENISU5HX0NPTlRJTlVPVVNfRlVUVVJFU19DT05UUkFDVFN9KX0saWNvbjp3LHN0eWxlOntjb2xvcjppLmZvcmVncm91bmR9LG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6dH19fSkpfV9sb2xsaXBvcElkKGUpe3JldHVybiBlWzNdLnRvU3RyaW5nKCl9X3Nob3dCYXJMaW5lKGUpe3JldHVybiBzdXBlci5fc2hvd0JhckxpbmUoZSl8fHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0NvbnRpbnVvdXNDb250cmFjdFN3aXRjaGVzQnJlYWtzLnZhbHVlKCl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT9JLmRhcms6SS5saWdodCx0PWUuZm9yZWdyb3VuZCxzPWUuYmFja2dyb3VuZCxpPSgwLG4uZGVmYXVsdCkoKDAsci5kZWZhdWx0KShWKSx7bG9sbGlwb3A6e3RleHQ6e2ZvbnQ6KDAsZC5tYWtlRm9udCkoMTIsXy5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCJib2xkIil9fX0pO2kuaWNvbkNvbG9yPXQsaS5sb2xsaXBvcC5zdHJva2VTdHlsZT10LGkubG9sbGlwb3AuYmFja2dyb3VuZENvbG9yPXMsaS5iYXJMaW5lLnN0cm9rZVN0eWxlPXQsdGhpcy5fZGVmYXVsdFN0eWxlPWk7e2NvbnN0IGU9KDAsci5kZWZhdWx0KShpKTtlLmxvbGxpcG9wLmZpbGxTdHlsZT0oMCxtLmJsZW5kQ29sb3JzKShzLCgwLHAuYXBwbHlBbHBoYSkodCwuMTUpKSx0aGlzLl9ob3ZlcmVkU3R5bGU9ZX17Y29uc3QgZT0oMCxyLmRlZmF1bHQpKGkpO2UubG9sbGlwb3AuZmlsbFN0eWxlPXQsZS5pY29uQ29sb3I9cyx0aGlzLl9hY3RpdmVTdHlsZT1lfXRoaXMuX3N0eWxlc0NhY2hlPW51bGx9fXZhciBFPXMoOTAwNzk3KSxNPXMoNjAxODQxKTtjbGFzcyBrIGV4dGVuZHMgaS5Mb2xsaXBvcFN0dWR5QmFzZXtpZCgpe3JldHVybiJFU0QkVFZfUk9MTERBVEVTIn16b3JkZXIoKXtyZXR1cm4gRS5zb3J0U291cmNlc1ByZU9yZGVyZWQuUm9sbERhdGVzfWlzVmFsaWQoZSl7Y29uc3QgdD1lWzRdO3JldHVybigwLE0uaXNOdW1iZXIpKHQpfV9jcmVhdGVWaWV3cygpe3RoaXMuX3BhbmVWaWV3PW5ldyBMKHRoaXMuX21vZGVsLHRoaXMpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dDb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc319fSw1NDc1NzIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UmVwbGF5U3R1ZHlTdHJhdGVneTooKT0+b30pO3ZhciBpPXMoODc0MzY5KSxyPXMoODY3ODMxKSxuPXMoNzY4NzYwKTtjbGFzcyBvIGV4dGVuZHMgaS5TdHVkeVN0cmF0ZWd5e2NvbnN0cnVjdG9yKGUsdCxzLGkscixuLG8pe3QubWVyZ2Uoe3N0cmF0ZWd5OntvcmRlcnM6e3Nob3dMYWJlbHM6ITAsc2hvd1F0eTohMCx2aXNpYmxlOiEwfX19KSxzdXBlcihlLHQscyxpLHIsbixvLCEwKSx0aGlzLl9ub3RpZnlTdHVkeVR1cm5hcm91bmRDb3VudGVyPTAsdGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3M9bmV3IE1hcCx0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXM9bnVsbCx0aGlzLl9hc3NpZ25SZWNvdmVyeVN0YXRlPSgpPT57Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHM7aWYoInJlY292ZXJ5U3RhdGUiaW4gZS5jaGlsZHMoKSl7Y29uc3QgdD10aGlzLl9yZWNvdmVyeVN0YXRlKCk7ZS5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnNldFZhbHVlKEpTT04uc3RyaW5naWZ5KHQpKX19Cjtjb25zdCBhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cztlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Fzc2lnblJlY292ZXJ5U3RhdGUpLGUucmVwbGF5U3R1ZHlTdHJhdGVneVByb3BlcnRpZXMoKS50aGVuKChlPT57dGhpcy5faXNEZXN0cm95ZWR8fCh0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXM9ZSx0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXMuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLm1lcmdlQW5kRmlyZShlLnN0YXRlKCkpfSkpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5tZXJnZUFuZEZpcmUoZS5zdGF0ZSgpKSl9KSksYS5zdWJzY3JpYmUodGhpcywoKGUsdCk9PnsicmVjb3ZlcnlTdGF0ZSIhPT10JiZ0aGlzLl9hc3NpZ25SZWNvdmVyeVN0YXRlKCl9KSl9ZGVzdHJveSgpe3RoaXMuX25vdGlmaWNhdGlvbnNJblByb2dyZXNzLmZvckVhY2goKGU9PntlLnJlamVjdCgiVGhlIHN0dWR5IGhhcyBiZWVuIGRlc3Ryb3llZCIpfSkpLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3JlcGxheVN0dWR5UHJvcGVydGllcz8udW5zdWJzY3JpYmVBbGwodGhpcyksc3VwZXIuZGVzdHJveSgpfWlzSGliZXJuYXRpb25BbGxvd2VkKCl7cmV0dXJuITF9Y2xlYXJSZWNvdmVyeVN0YXRlQW5kUmVwb3J0KCl7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHM7InJlY292ZXJ5U3RhdGUiaW4gZS5jaGlsZHMoKSYmZS5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnNldFZhbHVlKCJ7fSIpLHRoaXMuX3JlcG9ydERhdGE9bnVsbH1yZWNvdmVyeVN0YXRlKCl7Y29uc3QgZT1KU09OLnN0cmluZ2lmeSh0aGlzLl9yZWNvdmVyeVN0YXRlKCkpO3JldHVybiJ7fSI9PT1lP251bGw6ZX1yZXN0b3JlUmVjb3ZlcnlTdGF0ZShlKXtjb25zdCB0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0czsicmVjb3ZlcnlTdGF0ZSJpbiB0LmNoaWxkcygpJiZ0LmNoaWxkcygpLnJlY292ZXJ5U3RhdGUuc2V0VmFsdWUoZSl9Y2xlYXJEYXRhKCl7dGhpcy5fYXNzaWduUmVjb3ZlcnlTdGF0ZSgpLHN1cGVyLmNsZWFyRGF0YSgpfXNob3dJbk9iamVjdFRyZWUoKXtyZXR1cm4hMX1zdGF0dXNWaWV3KCl7cmV0dXJuIG51bGx9YXN5bmMgbm90aWZ5U3R1ZHkoZSl7YXdhaXQgdGhpcy5fd2FpdEZvckNvbXBsZXRlKCk7Y29uc3QgdD0ibm90aWZ5XyIrICsrdGhpcy5fbm90aWZ5U3R1ZHlUdXJuYXJvdW5kQ291bnRlcixzPSgwLG4uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5zZXQodCxzKSx0aGlzLl9zZW5kTm90aWZ5Q29tbWFuZCh0LGUpLHMucHJvbWlzZX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMX1pc1JlbW92ZWRCeVN0dWR5VGVtcGxhdGVzKCl7cmV0dXJuITF9aXNTYXZlZEluQ2hhcnQoZSl7cmV0dXJuITF9aXNTYXZlZEluU3R1ZHlUZW1wbGF0ZXMoKXtyZXR1cm4hMX1fb25EYXRhKGUpe2lmKCJub3RpZnlfc3R1ZHlfb2siPT09ZS5tZXRob2Qpe2NvbnN0IHQ9ZS5wYXJhbXNbMV07dGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3MuZ2V0KHQpPy5yZXNvbHZlKCksdGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3MuZGVsZXRlKHQpfWlmKCJub3RpZnlfc3R1ZHlfZXJyb3IiPT09ZS5tZXRob2Qpe2NvbnN0IHQ9ZS5wYXJhbXNbMV0scz1lLnBhcmFtc1syXTt0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5nZXQodCk/LnJlamVjdChzKSx0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5kZWxldGUodCl9c3VwZXIuX29uRGF0YShlKX1hc3luYyBfd2FpdEZvckNvbXBsZXRlKCl7aWYodGhpcy5zdGF0dXMoKS50eXBlIT09ci5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkKXJldHVybiBuZXcgUHJvbWlzZSgoKGUsdCk9Pntjb25zdCBzPWk9PntpLnR5cGU9PT1yLlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWQ/KHRoaXMub25TdGF0dXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUobnVsbCxzKSxlKCkpOmkudHlwZT09PXIuU3R1ZHlTdGF0dXNUeXBlLkVycm9yJiYodGhpcy5vblN0YXR1c0NoYW5nZWQoKS51bnN1YnNjcmliZShudWxsLHMpLHQoaS5lcnJvckRlc2NyaXB0aW9uKSl9O3RoaXMub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKG51bGwscyl9KSl9X3JlY292ZXJ5U3RhdGUoKXtjb25zdCBlPXRoaXMucmVwb3J0RGF0YSgpO2lmKCFlKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnZhbHVlKCk7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybnt9fX1jb25zdHthY3RpdmVPcmRlcnM6dCxmaWxsZWRPcmRlcnM6cyxvcmRlcnNCcmFja2V0czppfT1lO3JldHVybnthY3RpdmVPcmRlcnM6dCxmaWxsZWRPcmRlcnM6cyxvcmRlcnNCcmFja2V0czppfX19fSwyMjI5MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9TY3JpcHRXaXRoRGF0YU9mZnNldDooKT0+bH0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoNjAxODQxKSxuPXMoODU3MTUxKSxvPXMoMTk3MjcyKSxhPXMoNTA0NDMxKTtjbGFzcyBsIGV4dGVuZHMgby5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbyl7c3VwZXIoZSx0LHMsaSxyLG8pLHRoaXMuX3VuZGVybHlpbmdEYXRhPW5ldyBuLlBsb3RMaXN0KCgwLGEuc3R1ZHlQbG90RnVuY3Rpb25NYXApKGkpLGEuc3R1ZHlFbXB0eVBsb3RWYWx1ZVByZWRpY2F0ZSl9Y2xlYXJEYXRhKCl7c3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fdW5kZXJseWluZ0RhdGEuY2xlYXIoKX1fbWVyZ2VEYXRhKGUpe3RoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKTtjb25zdCB0PXRoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKTt0aGlzLl91bmRlcmx5aW5nRGF0YS5tZXJnZShlKSwKdCE9PXRoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKSYmKHRoaXMuX2RhdGE9bmV3IG4uUGxvdExpc3QoKDAsYS5zdHVkeVBsb3RGdW5jdGlvbk1hcCkodGhpcy5fbWV0YUluZm8udmFsdWUoKSksYS5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKSk7bGV0IHM9bnVsbDtjb25zdCBpPXRoaXMuX2RhdGEubGFzdEluZGV4KCk/P3RoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKSxvPXRoaXMuX3VuZGVybHlpbmdEYXRhLmxhc3RJbmRleCgpO2lmKG51bGwhPT1pJiZudWxsIT09bylmb3IoY29uc3QgZSBvZiB0aGlzLl91bmRlcmx5aW5nRGF0YS5yYW5nZUl0ZXJhdG9yKGksbykpbnVsbD09PXMmJihzPWUpLHRoaXMuX2RhdGEuYWRkKGUuaW5kZXgsKDAsci5jbG9uZSkoZS52YWx1ZSkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Bsb3RzRm9yU3RyYXRlZ3lQcm9jZXNzaW5nKCkpe25ldyB1KGUuc3RyYXRlZ3lJbmRleCxlLnRhcmdldEluZGV4LGkpLnJlYnVpbGREYXRhKHRoaXMuX2RhdGEpfXJldHVybiBzfV9wbG90c0ZvclN0cmF0ZWd5UHJvY2Vzc2luZygpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKSx0PVtdO3JldHVybiBlLnBsb3RzLmZvckVhY2goKChzLHIpPT57aWYoImRhdGFvZmZzZXQiIT09cy50eXBlKXJldHVybjtjb25zdCBuPWUucGxvdHMuZmluZEluZGV4KChlPT5lLmlkPT09cy50YXJnZXQpKTsoMCxpLmFzc2VydCkobj49MCxgdGFyZ2V0IHBsb3Qgbm90IGZvdW5kIGZvciBzdHJhdGVneSBwbG90ICR7cy5pZH1gKSx0LnB1c2goe3N0cmF0ZWd5SW5kZXg6cix0YXJnZXRJbmRleDpufSl9KSksdH19Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RyYXRlZ3lQbG90SW5kZXg9ZSx0aGlzLl90YXJnZXRQbG90SW5kZXg9dCx0aGlzLl9zdGFydEluZGV4PXN9cmVidWlsZERhdGEoZSl7Y29uc3QgdD10aGlzLl90YXJnZXRQbG90SW5kZXgrMSxzPXRoaXMuX3N0cmF0ZWd5UGxvdEluZGV4KzE7bGV0IGk9bnVsbCxyPW51bGw7Y29uc3Qgbj10aGlzLl9zdGFydEluZGV4Pz9lLmZpcnN0SW5kZXgoKSxvPWUubGFzdEluZGV4KCk7aWYobnVsbCE9PW4mJm51bGwhPT1vKWZvcihjb25zdHtpbmRleDphLHZhbHVlOmx9b2YgZS5yYW5nZUl0ZXJhdG9yKG4sbykpe2NvbnN0IG49bFt0XSxvPWxbc10/TWF0aC5yb3VuZChsW3NdKTpudWxsO2lmKGxbdF09bnVsbCxsW3NdPW51bGwsIW98fG8+MCljb250aW51ZTtjb25zdCB1PWErbyxjPXtwb2ludEluZGV4OnUsdmFsdWU6bn07aWYocil7aWYoci5wb2ludEluZGV4IT09Yy5wb2ludEluZGV4KXtpZih1Pj0wKXtjb25zdCBzPWUudmFsdWVBdCh1KTtzJiYoc1t0XT1uKX1sZXQgcz0hMTtpZihpJiZyJiYocz1pLnZhbHVlPD1yLnZhbHVlJiZyLnZhbHVlPD1ufHxpLnZhbHVlPj1yLnZhbHVlJiZyLnZhbHVlPj1uKSxzKXtpZihyLnBvaW50SW5kZXg+PTApe2NvbnN0IHM9ZS52YWx1ZUF0KHIucG9pbnRJbmRleCk7cyYmKHNbdF09bnVsbCl9fWVsc2UgaT1yO3I9Y319ZWxzZSByPWN9fX19LDcxNDEwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtUcG9QZXJpb2RpY1N0dWR5OigpPT51LGNyZWF0ZVRwb1BlcmlvZGljU3R1ZHk6KCk9PmN9KTt2YXIgaT1zKDEyODk5OCkscj1zKDQzNzc0OSksbj1zKDYwNTI1Nyksbz1zKDg3MjM0MyksYT1zKDY4NDI2NSksbD1zKDc3NzY2MSk7Y2xhc3MgdSBleHRlbmRzIGEuVHBvU3R1ZHlCYXNle19zcGxpdHNBbmRNZXJnZXNBY3Rpb25zS2V5KGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLHM9dC5wcm9TeW1ib2woKSxyPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKSxuPVtzLHRoaXMuX2NoYXJ0U3R5bGVNb2RlfHwoMCxpLmlzVGltZUJhc2VkU3R5bGUpKHQuc3R5bGUoKSk/ImNvbW1vbiI6dC5zdHlsZSgpLHIuYmxvY2tTaXplLnZhbHVlKCksci5wZXJpb2RzTnVtLnZhbHVlKCksci5wZXJpb2QudmFsdWUoKV07cmV0dXJuIGU+MSYmbi5wdXNoKHQuc2Vzc2lvbklkKCkpLG4uam9pbigiOyIpfV9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCl7cmV0dXJuWyJibG9ja1NpemUiLCJwZXJpb2RzTnVtIiwicGVyaW9kIl19fWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBzPWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpsLnN0dWR5VHBvUHJlcmlvZGljSWR9KSxpPSgwLHIucHJlcGFyZVN0dWR5UHJvcGVydGllcykocyx7fSxudWxsLCgwLG4uc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuc3R1ZHlWZXJzaW9uaW5nKCksW10pO3JldHVybigwLG8uYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9UUE9QZXJpb2RpYyIse3N0dWR5Q29uc3RydWN0b3I6dSxjb2xvclJvdGF0aW9uTW9kZToic2hpZnQifSksbmV3IHUoZSxpLFtdLHMscywhMSwhMCx0KX19LDMzNDc0MihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7VHBvU2Vzc2lvbnNTdHVkeTooKT0+dSxjcmVhdGVUcG9TZXNzaW9uc1N0dWR5OigpPT5jfSk7dmFyIGk9cygxMjg5OTgpLHI9cyg2ODQyNjUpLG49cyg2MDUyNTcpLG89cyg4NzIzNDMpLGE9cyg0Mzc3NDkpLGw9cyg3Nzc2NjEpO2NsYXNzIHUgZXh0ZW5kcyByLlRwb1N0dWR5QmFzZXtfc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleShlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPXQucHJvU3ltYm9sKCkscj10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCksbj1bcyx0aGlzLl9jaGFydFN0eWxlTW9kZXx8KDAsaS5pc1RpbWVCYXNlZFN0eWxlKSh0LnN0eWxlKCkpPyJjb21tb24iOnQuc3R5bGUoKSxyLmJsb2NrU2l6ZS52YWx1ZSgpLHIucHJvZmlsZXNTZXNzaW9ucy52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvbi52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvblRaLnZhbHVlKCksci5jdXN0b21TZXNzaW9uMi52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvbjMudmFsdWUoKSxyLmN1c3RvbVNlc3Npb240LnZhbHVlKCksci5jdXN0b21TZXNzaW9uNS52YWx1ZSgpXQo7cmV0dXJuIGU+MSYmbi5wdXNoKHQuc2Vzc2lvbklkKCkpLG4uam9pbigiOyIpfV9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCl7cmV0dXJuWyJibG9ja1NpemUiLCJwcm9maWxlc1Nlc3Npb25zIiwiY3VzdG9tU2Vzc2lvbiIsImN1c3RvbVNlc3Npb25UWiIsImN1c3RvbVNlc3Npb24yIiwiY3VzdG9tU2Vzc2lvbjMiLCJjdXN0b21TZXNzaW9uNCIsImN1c3RvbVNlc3Npb241Il19fWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBzPWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpsLnN0dWR5VHBvU2Vzc2lvbnNJZH0pLGk9KDAsYS5wcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzKShzLHt9LG51bGwsKDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSxbXSk7cmV0dXJuKDAsby5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1RQT1Nlc3Npb25zIix7c3R1ZHlDb25zdHJ1Y3Rvcjp1LGNvbG9yUm90YXRpb25Nb2RlOiJzaGlmdCJ9KSxuZXcgdShlLGksW10scyxzLCExLCEwLHQpfX0sODMzMTc3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25Wb2x1bWUyU3R1ZHk6KCk9PlJ9KTt2YXIgaT1zKDEzODYzOCk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9zdGFydD0wLHRoaXMuX3NpemU9MCx0aGlzLl9idWZmZXI9bmV3IEFycmF5KGUpfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1jYXBhY2l0eSgpe3JldHVybiB0aGlzLl9idWZmZXIubGVuZ3RofWVucXVldWUoZSl7dGhpcy5fc2l6ZTx0aGlzLl9idWZmZXIubGVuZ3RoP3RoaXMuX3NpemUrKzp0aGlzLl9zdGFydD0odGhpcy5fc3RhcnQrMSkldGhpcy5fYnVmZmVyLmxlbmd0aDtjb25zdCB0PSh0aGlzLl9zdGFydCt0aGlzLl9zaXplLTEpJXRoaXMuX2J1ZmZlci5sZW5ndGg7dGhpcy5fYnVmZmVyW3RdPWV9ZGVxdWV1ZSgpe2lmKDA9PT10aGlzLl9zaXplKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIGlzIGVtcHR5Iik7Y29uc3QgZT10aGlzLl9idWZmZXJbdGhpcy5fc3RhcnRdO3JldHVybiB0aGlzLl9idWZmZXJbdGhpcy5fc3RhcnRdPXZvaWQgMCx0aGlzLl9zdGFydD0odGhpcy5fc3RhcnQrMSkldGhpcy5fYnVmZmVyLmxlbmd0aCx0aGlzLl9zaXplLS0sZX1nZXQoZSl7aWYoZT49dGhpcy5fc2l6ZSl0aHJvdyBuZXcgRXJyb3IoIkluZGV4IGlzIG91dCBvZiByYW5nZSIpO2NvbnN0IHQ9KHRoaXMuX3N0YXJ0K2UpJXRoaXMuX2J1ZmZlci5sZW5ndGg7cmV0dXJuIHRoaXMuX2J1ZmZlclt0XX1mb3JFYWNoKGUsdCl7Zm9yKGxldCBzPTA7czx0aGlzLl9zaXplO3MrKyl7Y29uc3QgaT0odGhpcy5fc3RhcnQrcykldGhpcy5fYnVmZmVyLmxlbmd0aDtlLmNhbGwodCx0aGlzLl9idWZmZXJbaV0saSx0aGlzKX19Y2xlYXIoKXtjb25zdCBlPXRoaXMuX2J1ZmZlci5sZW5ndGg7Zm9yKGxldCB0PTA7dDxlO3QrKyl0aGlzLl9idWZmZXJbdF09dm9pZCAwO3RoaXMuX3N0YXJ0PTAsdGhpcy5fc2l6ZT0wfX12YXIgbj1zKDE4NTI3MSksbz1zKDg1NzE1MSksYT1zKDYzNDg2KSxsPXMoNjI4MDYpLHU9cygyMjcwNTYpLGM9cyg4Njc4MzEpLGg9cyg3OTkzNzUpLGQ9cyg1MDQ0MzEpLF89cygyMTg3NjUpO2NsYXNzIHB7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaD1lLHRoaXMuX2RldGFpbGVkPXR9Zm9yRWFjaChlLHQpe3RoaXMuX21vc3REZXRhaWxlZEhvcml6TGluZXMoKS5mb3JFYWNoKChzPT57ZS5jYWxsKHQscyxzLHRoaXMpfSkpfWhhcyhlKXtsZXQgdD0hMTtyZXR1cm4gdGhpcy5fbW9zdERldGFpbGVkSG9yaXpMaW5lcygpLmZvckVhY2goKHM9Pnt0PXR8fHM9PT1lfSkpLHR9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fcm91Z2guc2l6ZX1bU3ltYm9sLml0ZXJhdG9yXSgpe2NvbnN0IGU9dGhpcy5fbW9zdERldGFpbGVkSG9yaXpMaW5lcygpLmVudHJpZXMoKTtyZXR1cm57W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc30sbmV4dCgpe2NvbnN0IHQ9ZS5uZXh0KCk7cmV0dXJuITA9PT10LmRvbmU/dDp7dmFsdWU6dC52YWx1ZVsxXX19fX1lbnRyaWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX1rZXlzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX12YWx1ZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfV9tb3N0RGV0YWlsZWRIb3JpekxpbmVzKCl7Y29uc3QgZT1uZXcgTWFwO3RoaXMuX3JvdWdoLmZvckVhY2goKHQ9PmUuc2V0KHQuc3RhcnRJbmRleCx0KSkpO2ZvcihsZXQgdD10aGlzLl9kZXRhaWxlZC5sZW5ndGgtMTt0Pj0wO3QtLSl7dGhpcy5fZGV0YWlsZWRbdF0uZm9yRWFjaCgodD0+e2UuaGFzKHQuc3RhcnRJbmRleCkmJmUuc2V0KHQuc3RhcnRJbmRleCx0KX0pKX1yZXR1cm4gZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21lcmdlZEhvcml6TGluZXNTZXQ9ZSx0aGlzLl9yb3VnaEl0ZXJhdG9yPXR9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc31uZXh0KCl7Y29uc3QgZT10aGlzLl9yb3VnaEl0ZXJhdG9yLm5leHQoKTtpZighMD09PWUuZG9uZSlyZXR1cm4gZTtjb25zdCB0PWUudmFsdWVbMF07cmV0dXJue3ZhbHVlOlt0LCgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWVyZ2VkSG9yaXpMaW5lc1NldC5nZXQodCkpXX19fWNsYXNzIG17Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaEhvcml6TGluZVNldHM9ZSx0aGlzLl9kZXRhaWxlZEhvcml6TGluZVNldHM9dH1mb3JFYWNoKGUsdCl7dGhpcy5fcm91Z2hIb3JpekxpbmVTZXRzLmZvckVhY2goKChzLHIpPT57ZS5jYWxsKHQsKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLmdldChyKSkscix0aGlzKX0pKX1nZXQoZSl7Y29uc3QgdD10aGlzLl9yb3VnaEhvcml6TGluZVNldHMuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpcmV0dXJuIG5ldyBwKHQsdGhpcy5fZGV0YWlsZWRIb3JpekxpbmVTZXRzLm1hcCgodD0+dC5nZXQoZSkpKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUpKSl9aGFzKGUpe3JldHVybiB0aGlzLl9yb3VnaEhvcml6TGluZVNldHMuaGFzKGUpfWdldCBzaXplKCl7CnJldHVybiB0aGlzLl9yb3VnaEhvcml6TGluZVNldHMuc2l6ZX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeSh0aGlzLHRoaXMuX3JvdWdoSG9yaXpMaW5lU2V0cy5lbnRyaWVzKCkpfWVudHJpZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWtleXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfXZhbHVlcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fWNsYXNzIHZ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaD1lLHRoaXMuX2RldGFpbGVkPXR9Zm9yRWFjaChlLHQpe3RoaXMuX3JvdWdoLmZvckVhY2goKChzLGkpPT57Zm9yKGNvbnN0IHMgb2YgdGhpcy5fZGV0YWlsZWQpe2NvbnN0IHI9cy5nZXQoaSk7aWYodm9pZCAwIT09cilyZXR1cm4gdm9pZCBlLmNhbGwodCxyLGksdGhpcyl9ZS5jYWxsKHQscyxpLHRoaXMpfSkpfWdldChlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9kZXRhaWxlZCl7Y29uc3Qgcz10LmdldChlKTtpZih2b2lkIDAhPT1zKXJldHVybiBzfXJldHVybiB0aGlzLl9yb3VnaC5nZXQoZSl9aGFzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2RldGFpbGVkKXtpZih0LmhhcyhlKSlyZXR1cm4hMH1yZXR1cm4gdGhpcy5fcm91Z2guaGFzKGUpfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuX3JvdWdoLnNpemV9W1N5bWJvbC5pdGVyYXRvcl0oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWVudHJpZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWtleXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfXZhbHVlcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fWNsYXNzIGZ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9ncmFwaGljcz1lLHRoaXMuX3N0eWxlSWQ9dH1mb3JFYWNoKGUsdCl7dGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLmZvckVhY2goKHM9PntzLmZvckVhY2goKHM9PntpZihzLnN0eWxlSWQ9PT10aGlzLl9zdHlsZUlkKXtjb25zdCBpPXtmaXJzdEJhclRpbWU6cy5maXJzdEJhclRpbWUsbGFzdEJhclRpbWU6cy5sYXN0QmFyVGltZSxyYXRlOnMucmF0ZSxwcmljZUhpZ2g6cy5wcmljZUhpZ2gscHJpY2VMb3c6cy5wcmljZUxvd307ZS5jYWxsKHQsaSxpLHRoaXMpfX0pKX0pKX1oYXMoZSl7bGV0IHQ9ITE7cmV0dXJuIHRoaXMuX2dyYXBoaWNzLmhoaXN0c0J5VGltZVBvaW50SW5kZXgoKS5mb3JFYWNoKChzPT57cy5mb3JFYWNoKChzPT57cy5zdHlsZUlkPT09dGhpcy5fc3R5bGVJZCYmcz09PWUmJih0PSEwKX0pKX0pKSx0fWdldCBzaXplKCl7bGV0IGU9MDtyZXR1cm4gdGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLmZvckVhY2goKHQ9Pnt0LmZvckVhY2goKHQ9Pnt0LnN0eWxlSWQ9PT10aGlzLl9zdHlsZUlkJiZlKyt9KSl9KSksZX1bU3ltYm9sLml0ZXJhdG9yXSgpe2NvbnN0IGU9dGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpW1N5bWJvbC5pdGVyYXRvcl0oKTtsZXQgdCxzO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0KCl7Zm9yKDs7KXtpZih2b2lkIDA9PT10JiYocz12b2lkIDAsdD1lLm5leHQoKSwhdC5kb25lJiYhdC52YWx1ZSkpcmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfTtjb25zdCBpPXQudmFsdWU7c3x8KHM9aVtTeW1ib2wuaXRlcmF0b3JdKCkpO2NvbnN0IHI9cy5uZXh0KCk7aWYoIXIuZG9uZSlyZXR1cm57dmFsdWU6ci52YWx1ZX07e2NvbnN0IGU9dDtpZih0PXZvaWQgMCxyLnZhbHVlKXJldHVybnt2YWx1ZTpyLnZhbHVlLGRvbmU6ZS5kb25lfX19fX19ZW50cmllcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9a2V5cygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9dmFsdWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19Y2xhc3MgU3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2dyYXBoaWNzSW5mbz1lLHRoaXMuX2dyYXBoaWNzPXR9Zm9yRWFjaChlLHQpe2lmKHZvaWQgMD09PXRoaXMuX2dyYXBoaWNzSW5mby5oaGlzdHMpcmV0dXJuO2NvbnN0IHM9T2JqZWN0LmtleXModGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0cyk7Zm9yKGNvbnN0IHIgb2YgcyllLmNhbGwodCwoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuZ2V0KHIpKSxyLHRoaXMpfWdldChlKXtpZih2b2lkIDAhPT10aGlzLl9ncmFwaGljc0luZm8uaGhpc3RzKXJldHVybiBuZXcgZih0aGlzLl9ncmFwaGljcyxlKX1oYXMoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX2dyYXBoaWNzSW5mby5oaGlzdHMmJmUgaW4gdGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0c31nZXQgc2l6ZSgpe3JldHVybiB2b2lkIDA9PT10aGlzLl9ncmFwaGljc0luZm8uaGhpc3RzPzA6T2JqZWN0LmtleXModGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0cykubGVuZ3RofVtTeW1ib2wuaXRlcmF0b3JdKCl7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9ncmFwaGljc0luZm8/LmhoaXN0cz8/e30pW1N5bWJvbC5pdGVyYXRvcl0oKTtyZXR1cm57W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc30sbmV4dDooKT0+e2NvbnN0IHQ9ZS5uZXh0KCk7cmV0dXJuIHQuZG9uZT97ZG9uZTohMCx2YWx1ZTp0LnZhbHVlP1t0LnZhbHVlLCgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5nZXQodC52YWx1ZSkpXTp2b2lkIDB9Ont2YWx1ZTpbdC52YWx1ZSwoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuZ2V0KHQudmFsdWUpKV0sZG9uZTp0LmRvbmV9fX19ZW50cmllcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9a2V5cygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9dmFsdWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fZ3JhcGhpY3NJbmZvPWUsdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzPXQsdGhpcy5fZGV0YWlsZWRTdHVkeUdyYXBoaWNzPXN9aG9yaXpsaW5lcygpewpyZXR1cm4gbmV3IG0odGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmhvcml6bGluZXMoKSx0aGlzLl9kZXRhaWxlZFN0dWR5R3JhcGhpY3MubWFwKChlPT5lLmhvcml6bGluZXMoKSkpKX12ZXJ0bGluZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnZlcnRsaW5lcygpfWxpbmVzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5saW5lcygpfWhsaW5lcygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuaGxpbmVzKCl9dGV4dG1hcmtzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy50ZXh0bWFya3MoKX1zaGFwZW1hcmtzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5zaGFwZW1hcmtzKCl9YmFja2dyb3VuZHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmJhY2tncm91bmRzKCl9cG9seWdvbnMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnBvbHlnb25zKCl9dHJlbmRjaGFubmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHJlbmRjaGFubmVscygpfWhoaXN0cygpe3JldHVybiBuZXcgUyh0aGlzLl9ncmFwaGljc0luZm8sdGhpcyl9aGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpe3JldHVybiBuZXcgdih0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLHRoaXMuX2RldGFpbGVkU3R1ZHlHcmFwaGljcy5tYXAoKGU9PmUuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpKSkpfWR3Z2xhYmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuZHdnbGFiZWxzKCl9ZHdnbGluZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z2xpbmVzKCl9ZHdncG9seWxpbmVzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5kd2dwb2x5bGluZXMoKX1kd2dib3hlcygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuZHdnYm94ZXMoKX1kd2d0YWJsZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z3RhYmxlcygpfWR3Z3RhYmxlY2VsbHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z3RhYmxlY2VsbHMoKX1kd2dsaW5lZmlsbHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z2xpbmVmaWxscygpfXRwb3MoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnRwb3MoKX10cG9CbG9ja1NldHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnRwb0Jsb2NrU2V0cygpfXRwb0xldmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHBvTGV2ZWxzKCl9dHBvVm9sdW1lUm93cygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHBvVm9sdW1lUm93cygpfXRwb1N1bW1hcnlJbmZvKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy50cG9TdW1tYXJ5SW5mbygpfWxvZ3MoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmxvZ3MoKX1wZXJmb3JtYW5jZSgpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MucGVyZm9ybWFuY2UoKX1mb290cHJpbnRzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5mb290cHJpbnRzKCl9Zm9vdHByaW50TGV2ZWxzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5mb290cHJpbnRMZXZlbHMoKX19dmFyIGI9cyg5NjY0MDQpLHc9cyg2MDUyNTcpO2NvbnN0IEM9InR2LXZvbHVtZWJ5cHJpY2UiLFA9KDAsYS5zdHVkeUlkU3RyaW5nKSgiVmJQU2Vzc2lvbnNSb3VnaCIsQykseD0oMCxhLnN0dWR5SWRTdHJpbmcpKCJWYlBTZXNzaW9uc0RldGFpbGVkIixDKSxEPSgwLGEuc3R1ZHlJZFN0cmluZykoIlZiUFNlc3Npb25zRGV0YWlsZWRBbGVydHMiLEMpLEk9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7dmFyIFQ7IWZ1bmN0aW9uKGUpe2VbZS5EZXRhaWxlZERhdGFCdWZmZXJDYXBhY2l0eT03XT0iRGV0YWlsZWREYXRhQnVmZmVyQ2FwYWNpdHkifShUfHwoVD17fSkpO2NvbnN0IFY9bi50KG51bGwsdm9pZCAwLHMoMzcxMjk3KSk7Y2xhc3MgUiBleHRlbmRzIHUuVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxuLG8pe3N1cGVyKGUsdCxzLGksbixvKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGU9QSgpLHRoaXMuX2FsZXJ0c1N0dWR5TWV0YUluZm89bnVsbCx0aGlzLl9yb3VnaERhdGFTb3VyY2U9bnVsbCx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U9bnVsbCx0aGlzLl9kZXRhaWxlZERhdGFCdWZmZXI9bmV3IHIoNyksdGhpcy5fbG9hZGVkR3JhcGhpY3M9bnVsbCx0aGlzLl9sb2FkZWRQbG90cz1udWxsLHRoaXMuX21lcmdlZEdyYXBoaWNzPSgwLF8uZW1wdHlTdHVkeUdyYXBoaWNzKSgpLHRoaXMuX21lcmdlZFBsb3RzPXRoaXMuX2VtcHR5UGxvdExpc3QoKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGV8fHRoaXMuX3NldFN0YXR1cyh7dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOntlcnJvcjpWfX0pLHRoaXMuX3NldEFsZXJ0c1N0dWR5TWV0YUluZm8oKX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZSYmKHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLmRhdGFDbGVhcmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblJvdWdoT3JEZXRhaWxlZERhdGFDbGVhcmVkKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLmRlc3Ryb3koKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U9bnVsbCksbnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZCksCnRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhQ2xlYXJlZCksdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kZXN0cm95KCksdGhpcy5fcm91Z2hEYXRhU291cmNlPW51bGwpLHN1cGVyLmRlc3Ryb3koKX1kYXRhKCl7cmV0dXJuIHRoaXMuX2xvYWRlZFBsb3RzfHx0aGlzLl9tZXJnZWRQbG90c31ncmFwaGljcygpe3JldHVybiB0aGlzLl9sb2FkZWRHcmFwaGljc3x8dGhpcy5fbWVyZ2VkR3JhcGhpY3N9Y2xlYXJEYXRhKCl7bnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLmNsZWFyRGF0YSgpLG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5jbGVhckRhdGEoKX1yZXN0b3JlRGF0YShlKXt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fbG9hZGVkUGxvdHM9dGhpcy5fZW1wdHlQbG90TGlzdCgpLHRoaXMuX2xvYWRlZFBsb3RzLnJlc3RvcmVTdGF0ZShlKSx2b2lkIDAhPT1lLmdyYXBoaWNzJiYodGhpcy5fbG9hZGVkR3JhcGhpY3M9KDAsXy5sb2FkU3R1ZHlHcmFwaGljcykoZS5ncmFwaGljcykpLHRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKSx0aGlzLl9zZXRTdGF0dXMoe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfSwhMCl9aXNGYWlsZWQoKXtyZXR1cm4hdGhpcy5faXNQYWNrYWdlQXZhaWxhYmxlfHxudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXMoKS50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuRXJyb3J8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5zdHVkeVN0YXR1cygpLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcn1pc0xvYWRpbmcoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzKCkudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmd8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5zdHVkeVN0YXR1cygpLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nfWlzU3RhcnRlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2UuaXNTdGFydGVkKCl8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pc1N0YXJ0ZWQoKX1zb3VyY2VJZCgpe3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCBvcGVyYXRpb24iKX1pZEZvckFsZXJ0KCl7cmV0dXJuIHN1cGVyLl9jb2xsZWN0RGVwc0ZvckFsZXJ0KCkuaWRGb3JBbGVydH1jYW5IYXZlQ2hpbGRyZW4oKXtyZXR1cm4hMX1pc0NoaWxkU3R1ZHkoKXtyZXR1cm4hMX1oYXNDaGlsZHJlbigpe3JldHVybiExfWdldEFsbENoaWxkcmVuKCl7cmV0dXJuW119aXNIaWJlcm5hdGVkKCl7cmV0dXJuISh0aGlzLmlzVmlzaWJsZSgpfHxudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2UuaXNTdGFydGVkKCl8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pc1N0YXJ0ZWQoKSl9X2FsZXJ0TWV0YUluZm8oKXtyZXR1cm4gdGhpcy5fYWxlcnRzU3R1ZHlNZXRhSW5mb31fc3RvcFN0dWR5T25TZXJ2ZXIoKXt0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiYodGhpcy5fcm91Z2hEYXRhU291cmNlPy5pc1N0YXJ0ZWQoKSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0b3AoKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U/LmlzU3RhcnRlZCgpJiZ0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RvcCgpKX1hc3luYyBfc3RhcnRBZnRlclN5bWJvbHNSZXNvbHZlZChlLHQpe2lmKCF0aGlzLmlzU3RhcnRlZCgpfHx0aGlzLmlzUmVzdGFydGluZygpKWlmKHRoaXMuX3Jlc3RhcnRpbmc9ITEsdGhpcy5faXNQYWNrYWdlQXZhaWxhYmxlPUEoKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGUpe2lmKHRoaXMuX2FsbElucHV0c0FyZVZhbGlkKCkpe2lmKHRoaXMuX2lucHV0cz10aGlzLl9hcGlJbnB1dHMoKSxudWxsPT09dGhpcy5fcm91Z2hEYXRhU291cmNlKXtjb25zdCBlPWF3YWl0KDAsdy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpQfSk7dGhpcy5fcm91Z2hEYXRhU291cmNlPW5ldyBoLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMubW9kZWwoKS5jaGFydEFwaSgpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksInZicHNlc3Npb25zcm91Z2hfIixlKSx0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YVVwZGF0ZWQpfWVsc2UgdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0b3AoKTtpZih0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc2V0SW5wdXRzKEwodGhpcy5fcm91Z2hEYXRhU291cmNlLm1ldGFJbmZvKCkuaW5wdXRzLHRoaXMuX2lucHV0cykpLG51bGw9PT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Upe2NvbnN0IGU9YXdhaXQoMCx3LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRCeUlkKHt0eXBlOiJqYXZhIixzdHVkeUlkOnh9KQo7dGhpcy5fZGV0YWlsZWREYXRhU291cmNlPW5ldyBoLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMubW9kZWwoKS5jaGFydEFwaSgpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksInZicHNlc3Npb25zZGV0YWlsZWRfIixlKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQpLHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YVVwZGF0ZWQpfWVsc2UgdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnN0b3AoKTt0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc2V0SW5wdXRzKEUodGhpcy5faW5wdXRzKSksdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0YXJ0KCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnN0YXJ0KCksdGhpcy5fY3JlYXRlU3R1ZHlHcmFwaGljcygpLHRoaXMuX3N1YnNjcmliZVRvU2Vzc2lvbklkKCksdGhpcy5fc2V0U3RhdHVzKHRoaXMuX3N0YXR1c1ZhbHVlRnJvbURhdGFTb3VyY2VzKCkpLHRoaXMuX29uU3RhcnQuZmlyZSgpLG51bGw9PT10aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvJiZhd2FpdCB0aGlzLl9zZXRBbGVydHNTdHVkeU1ldGFJbmZvKCl9fWVsc2UgdGhpcy5fc2V0U3RhdHVzKHt0eXBlOmMuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOlZ9fSl9YXN5bmMgX2NoYW5nZUlucHV0c0ltcGwoZSx0KXtpZihudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlKXtpZigoMCxsLmFyZVN0dWR5SW5wdXRzRXF1YWwpKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5tZXRhSW5mbygpLmlucHV0cyx0LGUpKXtpZihudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlKXtjb25zdCB0PUUoZSkscz0oMCxsLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dHNUb1RpbWVSYW5nZSkodCk7aWYodGhpcy5fbW9yZURldGFpbGVkRGF0YVJlcXVpcmVkRm9yVGltZVJhbmdlKHMpKXtpZih0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UuaXNBY3RpdmUoKSl7Y29uc3QgZT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RvcEFuZFN0ZWFsRGF0YSgpO2lmKGUucGxvdHMuc2l6ZSgpPjB8fCEoMCxfLmlzU3R1ZHlHcmFwaGljc0VtcHR5KShlLmdyYXBoaWNzKSl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pbnB1dHMoKSk7ZS5wbG90cz10aGlzLl9leHRyYWN0RWZmZWN0aXZlRGV0YWlsZWRQbG90VmFsdWVzKGUucGxvdHMsdCksdGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmVucXVldWUoe2xvZDpNKHQpLHZhbHVlOmV9KX19dGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnNldElucHV0cyh0KSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RhcnQoKX19fWVsc2UgdGhpcy5faW5wdXRzPWUsdGhpcy5fcm91Z2hEYXRhU291cmNlLnNldElucHV0cyhMKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5tZXRhSW5mbygpLmlucHV0cyxlKSksdGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmNsZWFyKCksbnVsbCE9PXRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZSYmdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnNldElucHV0cyhFKGUpKTtudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiZ0aGlzLl9jcmVhdGVTdHVkeUdyYXBoaWNzKCl9fV9jb2xsZWN0RGVwc0ZvckFsZXJ0KCl7Y29uc3QgZT1zdXBlci5fY29sbGVjdERlcHNGb3JBbGVydCgpO2lmKG51bGw9PT10aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvKXRocm93IG5ldyBFcnJvcigiQWxlcnRzIHN0dWR5IG1ldGFpbmZvIGlzIG5vdCByZWFkeSB5ZXQuIEhhdmUgeW91IGNoZWNrZWQgdGhlIGFsZXJ0IGF2YWlsYWJpbGl0eSB1c2luZyBoYXNTdGF0ZUZvckFsZXJ0KCk/Iik7cmV0dXJuey4uLmUsc3R1ZHlEZXBlbmRlbmNpZXM6ZS5zdHVkeURlcGVuZGVuY2llcy5tYXAoKGU9Pntjb25zdCB0PWUuc3R1ZHk9PT1rKHRoaXMubWV0YUluZm8oKSk7cmV0dXJue2lkOmUuaWQsaW5wdXRzOnQ/KHM9ZS5pbnB1dHMsey4uLnMsc3Vic2NyaWJlUmVhbHRpbWU6ITB9KTplLmlucHV0cyxzdHVkeTp0JiZudWxsIT09dGhpcy5fYWxlcnRzU3R1ZHlNZXRhSW5mbz9rKHRoaXMuX2FsZXJ0c1N0dWR5TWV0YUluZm8pOmUuc3R1ZHl9O3ZhciBzfSkpfX1fZ2V0QWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpe3JldHVybiExfV9zdGF0dXNWYWx1ZUZyb21EYXRhU291cmNlcygpe2NvbnN0IGU9e3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfTtpZihudWxsPT09dGhpcy5fcm91Z2hEYXRhU291cmNlfHxudWxsPT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlKXJldHVybiBlO2NvbnN0IHQ9dGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzKCkscz10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXMoKTtpZih0LnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcilyZXR1cm4gdDtpZihzLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcilyZXR1cm4gcztpZih0LnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nfHxzLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nKXtjb25zdCBlPXQudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmc/dC5zdGFydFRpbWU6MS8wLGk9cy50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZz9zLnN0YXJ0VGltZToxLzA7cmV0dXJue3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZyxzdGFydFRpbWU6TWF0aC5taW4oZSxpKX19cmV0dXJuIHQudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkNvbXBsZXRlZD97dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9OmV9X2VtcHR5UGxvdExpc3QoKXtyZXR1cm4gbmV3IG8uUGxvdExpc3QoKDAsCmQuc3R1ZHlQbG90RnVuY3Rpb25NYXApKHRoaXMubWV0YUluZm8oKSksZC5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKX1fY3JlYXRlU3R1ZHlQbG90cygpe2NvbnN0IGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yb3VnaERhdGFTb3VyY2UpLHQ9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UpO3RoaXMuX21lcmdlZFBsb3RzLmNsZWFyKCk7Y29uc3Qgcz1bXTtzLnB1c2goe2xvZDpJLHZhbHVlOmUucGxvdHMoKX0pLHRoaXMuX2RldGFpbGVkRGF0YUJ1ZmZlci5mb3JFYWNoKChlPT57cy5wdXNoKHtsb2Q6ZS5sb2QsdmFsdWU6ZS52YWx1ZS5wbG90c30pfSkpO2NvbnN0IHI9KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmlucHV0cygpKTtzLnB1c2goe2xvZDpNKHIpLHZhbHVlOnRoaXMuX2V4dHJhY3RFZmZlY3RpdmVEZXRhaWxlZFBsb3RWYWx1ZXModC5wbG90cygpLHIpfSkscy5zb3J0KCgoZSx0KT0+dC5sb2QtZS5sb2QpKTtmb3IoY29uc3QgZSBvZiBzKWUudmFsdWUuZWFjaCgoKGUsdCk9Pntmb3IoY29uc3QgZSBvZiB0KWlmKHZvaWQgMD09PWUpcmV0dXJuITE7cmV0dXJuIHRoaXMuX21lcmdlZFBsb3RzLmFkZChlLHQpLCExfSkpO3RoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKX1fY3JlYXRlU3R1ZHlHcmFwaGljcygpe2NvbnN0IGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yb3VnaERhdGFTb3VyY2UpLHQ9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UpLHM9W107dGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmZvckVhY2goKGU9PntzLnB1c2goe2xvZDplLmxvZCx2YWx1ZTplLnZhbHVlLmdyYXBoaWNzfSl9KSksdm9pZCAwIT09dGhpcy5faW5wdXRzJiZzLnB1c2goe2xvZDpNKHRoaXMuX2lucHV0cyksdmFsdWU6dC5ncmFwaGljcygpfSkscy5zb3J0KCgoZSx0KT0+ZS5sb2QtdC5sb2QpKTtjb25zdCByPXMubWFwKChlPT5lLnZhbHVlKSk7dGhpcy5fbWVyZ2VkR3JhcGhpY3M9bmV3IGcodGhpcy5tZXRhSW5mbygpLmdyYXBoaWNzLGUuZ3JhcGhpY3MoKSxyKSx0aGlzLl9wb3N0UHJvY2Vzc0dyYXBoaWNzKCl9X2V4dHJhY3RFZmZlY3RpdmVEZXRhaWxlZFBsb3RWYWx1ZXMoZSx0KXtjb25zdCBzPSgwLGwucmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0c1RvVGltZVJhbmdlKSh0KSxyPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS50aW1lUG9pbnRUb0luZGV4KHMuZnJvbSksbj10aGlzLm1vZGVsKCkudGltZVNjYWxlKCkudGltZVBvaW50VG9JbmRleChzLnRvKTtyZXR1cm4gZS5zaXplKCk+MD9lLnJhbmdlKHJ8fCgwLGkuZW5zdXJlTm90TnVsbCkoZS5maXJzdEluZGV4KCkpLG58fCgwLGkuZW5zdXJlTm90TnVsbCkoZS5sYXN0SW5kZXgoKSkpOnRoaXMuX2VtcHR5UGxvdExpc3QoKX1fbW9yZURldGFpbGVkRGF0YVJlcXVpcmVkRm9yVGltZVJhbmdlKGUpe2NvbnN0e2Zyb206dCx0bzpzfT1lO2xldCByPSExO3JldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fcm91Z2hEYXRhU291cmNlKS5ncmFwaGljcygpLmhoaXN0c0J5VGltZVBvaW50SW5kZXgoKS5mb3JFYWNoKCgoZSxpKT0+e2lmKHIpcmV0dXJuO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBuPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5pbmRleFRvVGltZVBvaW50KGkpO2lmKG51bGw9PT1ufHxuPHR8fHM8bilyZXR1cm47Y29uc3Qgbz1zLXQ7bGV0IGE9ITE7dGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmZvckVhY2goKGU9PntpZihlLmxvZDw9byl7ZS52YWx1ZS5ncmFwaGljcy5oaGlzdHNCeVRpbWVQb2ludEluZGV4KCkuaGFzKGkpJiYoYT0hMCl9fSkpLGF8fChyPSEwKX0pKSxyfV9vblN0dWR5U3RhdHVzQ2hhbmdlZCgpe2NvbnN0IGU9dGhpcy5zdGF0dXMoKTt0aGlzLl9zZXRTdGF0dXModGhpcy5fc3RhdHVzVmFsdWVGcm9tRGF0YVNvdXJjZXMoKSksZS50eXBlIT09dGhpcy5zdGF0dXMoKS50eXBlJiZ0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlKCksKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0dXNWaWV3KS51cGRhdGUoKDAsYi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSl9X29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQoKXtudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiYodGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuX2RldGFpbGVkRGF0YUJ1ZmZlci5jbGVhcigpLHRoaXMuX2NyZWF0ZVN0dWR5UGxvdHMoKSx0aGlzLl9jcmVhdGVTdHVkeUdyYXBoaWNzKCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxiLnNvdXJjZUNoYW5nZUV2ZW50KSh7c291cmNlSWQ6dGhpcy5pZCgpLGNsZWFyRGF0YTohMH0pKSx0aGlzLm1vZGVsKCkudXBkYXRlU291cmNlKHRoaXMpKX1fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZChlKXtudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiYoZS5sZW5ndGg+MCYmdGhpcy5fY3JlYXRlU3R1ZHlQbG90cygpLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsYi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSl9YXN5bmMgX3NldEFsZXJ0c1N0dWR5TWV0YUluZm8oKXt0aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvPWF3YWl0KDAsdy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpEfSksdGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpfX1mdW5jdGlvbiBBKCl7cmV0dXJuIHZvaWQgMCE9PXdpbmRvdy5wcm8mJndpbmRvdy5wcm8uaGFzUGFja2FnZShDKX1mdW5jdGlvbiBMKGUsdCl7Y29uc3Qgcz17fTtmb3IoY29uc3QgaSBvZiBlKXNbaS5pZF09dFtpLmlkXTtyZXR1cm4gc31mdW5jdGlvbiBFKGUpe2NvbnN0IHQ9ZS5sYXN0X3Zpc2libGVfYmFyX3RpbWUtZS5maXJzdF92aXNpYmxlX2Jhcl90aW1lO3JldHVybnsuLi5lLApmaXJzdF92aXNpYmxlX2Jhcl90aW1lOmUuZmlyc3RfdmlzaWJsZV9iYXJfdGltZS10LGxhc3RfdmlzaWJsZV9iYXJfdGltZTplLmxhc3RfdmlzaWJsZV9iYXJfdGltZSt0fX1mdW5jdGlvbiBNKGUpe2NvbnN0e2Zyb206dCx0bzpzfT0oMCxsLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dHNUb1RpbWVSYW5nZSkoZSk7cmV0dXJuIHMtdH1mdW5jdGlvbiBrKGUpe3JldHVybmAke2UuaWR9LSR7ZS52ZXJzaW9ufWB9fSwyNDM3MjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse1Nlc3Npb25Wb2x1bWVTdHVkeTooKT0+XyxjcmVhdGVTZXNzaW9uVm9sdW1lU3R1ZHk6KCk9Pnl9KTt2YXIgaT1zKDEzODYzOCkscj1zKDQzNzc0OSksbj1zKDYwNTI1Nyksbz1zKDE0MTM1MCksYT1zKDg3MjM0MyksbD1zKDIyNzA1NiksdT1zKDIzNDg2NiksYz1zKDg3MzYzKTtjbGFzcyBoIGV4dGVuZHMgYy5TdHVkeUNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXJ7Y29uc3RydWN0b3IoZSx0LHMsaSl7c3VwZXIoZSx0LGkpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyPW5ldyB1LlNlcmllc0NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIocyx0KX1nZXRJdGVtcygpe3JldHVyblsuLi5zdXBlci5nZXRJdGVtcygpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyLmdldEl0ZW1zKClbN11dfWdldFZhbHVlcyhlKXtyZXR1cm5bLi4uc3VwZXIuZ2V0VmFsdWVzKGUpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyLmdldFZhbHVlcyhlKVs3XV19fXZhciBkPXMoNTUwMzkzKTtjbGFzcyBfIGV4dGVuZHMgbC5Wb2x1bWVQcm9maWxlV2l0aFByaWNlUmFuZ2VTdHVkeXt9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXI9bnVsbH1wYW5lVmlld3MoZSl7cmV0dXJuIHRoaXMuX3BhbmVWaWV3c31wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCl9aGFzU3RhdGVGb3JBbGVydCgpe3JldHVybiExfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXImJih0aGlzLl9jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyPW5ldyBoKHRoaXMsdGhpcy5fbW9kZWwsdGhpcy5fbW9kZWwubWFpblNlcmllcygpKSksdGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcn1fY3JlYXRlZENoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiBuZXcgby5TdHVkeUNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldyh0aGlzLHRoaXMuX21vZGVsLCEwKX19YXN5bmMgZnVuY3Rpb24geShlKXtjb25zdCB0PWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpkLnN0dWR5VmJQU2Vzc2lvbnNJZH0pLHM9KDAsci5wcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzKSh0LHt9LG51bGwsKDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSxbXSksbz0iU2Vzc2lvblZvbHVtZUFzQ2hhcnRTdHlsZSI7KDAsYS5hZGRTdHVkeUluZm9Ub01hcCkobywoMCxhLmNyZWF0ZVN0dWR5SW5mbykoKGFzeW5jKCk9PnApLCJub1JvdGF0aW9ucyIpKTtjb25zdCBsPSgwLGkuZW5zdXJlRGVmaW5lZCkoKDAsYS5nZXRTdHVkeUluZm9CeU5hbWUpKG8pKTtyZXR1cm4gbC5zdHVkeUNvbnN0cnVjdG9yfHwobC5zdHVkeUNvbnN0cnVjdG9yPXApLG5ldyBwKGUscyxbXSx0LHQsITEpfX0sMjI3MDU2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1ZiUFZpc2libGVXcmFwcGVyOigpPT55LFZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnM6KCk9Pl8sVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHk6KCk9PnB9KTt2YXIgaT1zKDEzODYzOCkscj1zKDIzMjM2NCksbj1zKDYzNTUwOSk7dmFyIG89cyg3MTY3OCksYT1zKDg3MzU3Myk7Y2xhc3MgbCBleHRlbmRzIG8uUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5fc291cmNlPWUsdGhpcy5fc3R5bGVJZD10fV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LHMpe2UudmlzaWJsZT0hMTtjb25zdCBpPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCkscj10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFpfHxpLmlzRW1wdHkoKXx8IXIudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCBuPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuaG9yaXpsaW5lcz8uY2hpbGRzKClbdGhpcy5fc3R5bGVJZF0uY2hpbGRzKCk7aWYoIShuJiZuLnZpc2libGUmJm4udmlzaWJsZS52YWx1ZSgpJiZ0aGlzLl9pc0xhYmVsVmlzaWJsZUFjY29yZGluZ2x5VG9Qcm9wZXJ0aWVzKCkpKXJldHVybjtjb25zdCBvPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpLGw9dGhpcy5fc291cmNlLmZpcnN0VmFsdWUoKTtpZihudWxsPT09bHx8bnVsbD09PW8pcmV0dXJuO2NvbnN0IHU9e3ByaWNlOk5hTix0aW1lOi0xLzB9LGM9dGhpcy5fc291cmNlLmdyYXBoaWNzKCkuaG9yaXpsaW5lcygpLmdldCh0aGlzLl9zdHlsZUlkKTtpZih2b2lkIDA9PT1jKXJldHVybjtmb3IoY29uc3QgZSBvZiBjKXtpZih2b2lkIDA9PT1lLmxldmVsKWNvbnRpbnVlO2NvbnN0IHQ9by5jb250YWlucyhlLnN0YXJ0SW5kZXgsITApO3Q9PT1vLmNvbnRhaW5zKGUuZW5kSW5kZXgsITApJiYwIT09dHx8dS50aW1lPGUuZW5kSW5kZXgmJih1LnRpbWU9ZS5lbmRJbmRleCx1LnByaWNlPWUubGV2ZWwpfWlmKGlzTmFOKHUucHJpY2UpKXJldHVybjtjb25zdCBoPSgwLGEucmVzZXRUcmFuc3BhcmVuY3kpKG4uY29sb3IudmFsdWUoKSk7cy5iYWNrZ3JvdW5kPWgscy50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihoKSxzLmNvb3JkaW5hdGU9aS5wcmljZVRvQ29vcmRpbmF0ZSh1LnByaWNlLGwpLAplLnRleHQ9aS5mb3JtYXRQcmljZSh1LnByaWNlLGwse3NpZ25Qb3NpdGl2ZTppLmlzUGVyY2VudGFnZSgpfSksZS52aXNpYmxlPSEwLGUuc2VsZWN0ZWRNYXJrQ29sb3I9dGhpcy5fc291cmNlLm1vZGVsKCkuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP2g6dm9pZCAwfV9pc0xhYmVsVmlzaWJsZUFjY29yZGluZ2x5VG9Qcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKTtyZXR1cm4oZS5zaG93U3R1ZHlMYXN0VmFsdWUudmFsdWUoKXx8ZS5zaG93RnVuZGFtZW50YWxMYXN0VmFsdWUudmFsdWUoKSkmJnRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0xhYmVsc09uUHJpY2VTY2FsZS52YWx1ZSgpfX12YXIgdT1zKDE5NzI3MiksYz1zKDMxNTY1NCksaD1zKDg5ODkyNyk7Y2xhc3MgZCBleHRlbmRzIHUuU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3N1cGVyKGUsdCxzLGkscixuKX1wcmVmZXJyZWRaT3JkZXIoKXtyZXR1cm4gMH1hc3luYyBfY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MoKXtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5ncmFwaGljcyx0PXRoaXMubW9kZWwoKSxpPXtyZWd1bGFyUGFuZVZpZXdzOltdLGZvcmNlT3ZlcmxheVBhbmVWaWV3czpbXX0scj10aGlzLl9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCk7aWYoZS5oaGlzdHMpe2NvbnN0e0hIaXN0UGFuZVZpZXc6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg5NzU1OCkscy5lKDQ1Mjc3KSxzLmUoOTE2NjgpXSkudGhlbihzLmJpbmQocywyMjExNjUpKSxuPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLnBvbHlnb25zPy5jaGlsZHMoKTtpLnJlZ3VsYXJQYW5lVmlld3MucHVzaChuZXcgZSh0aGlzLHQsdm9pZCAwLG4/Lmhpc3RCb3hCZyxyKSl9aWYoZS5ob3JpemxpbmVzKXtjb25zdHtIb3JpekxpbmVQYW5lVmlldzplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDk3NTU4KSxzLmUoNDUyNzcpLHMuZSg5MTY2OCldKS50aGVuKHMuYmluZChzLDY3NzkwOSkpO2kucmVndWxhclBhbmVWaWV3cy5wdXNoKG5ldyBlKHRoaXMsdCx2b2lkIDAscikpfXJldHVybiBpfV9jcmVhdGVHcmFwaGljc1ByaWNlQXhpc1ZpZXdzKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubWV0YUluZm8oKS5ncmFwaGljcy5ob3JpemxpbmVzPz97fSkubWFwKChlPT5uZXcgbCh0aGlzLGUpKSl9X2NyZWF0ZVN0dWR5UGxvdFBhbmVWaWV3KGUpe3JldHVybiBuZXcgYy5TdHVkeVBsb3RQYW5lVmlldyh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxlLHRoaXMuX25lZWRFeHRlbmRUb0JhcnNFbmRpbmcoKSl9X2FwaUlucHV0cygpe3JldHVybnsuLi5zdXBlci5fYXBpSW5wdXRzKCksbWFwUmlnaHRCb3VuZGFyeVRvQmFyU3RhcnRUaW1lOiEhdGhpcy5fbmVlZEV4dGVuZFRvQmFyc0VuZGluZygpfHx2b2lkIDB9fV9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMubWV0YUluZm8oKS5kZWZhdWx0cy5pbnB1dHM/Lm1hcFJpZ2h0Qm91bmRhcnlUb0JhclN0YXJ0VGltZX19Y2xhc3MgXyBleHRlbmRzIGR7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3Quc2V0VGhlbWVkQ29sb3JzKCgwLGgudm9sdW1lUHJvZmlsZVRoZW1lZENvbG9ycykodC5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5wb2x5Z29ucz8uaGFzQ2hpbGQoImhpc3RCb3hCZyIpKSksc3VwZXIoZSx0LHMsaSxyLG4pfX1jbGFzcyBwIGV4dGVuZHMgX3twcmljZVJhbmdlKGUpe2lmKGUudGFyZ2V0UHJpY2VTY2FsZSE9PXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2xldCB0PSExO3RoaXMuZ3JhcGhpY3MoKS5oaGlzdHMoKS5mb3JFYWNoKCgoZSxzKT0+e3Q9dHx8KDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5oaGlzdHM/LmNoaWxkcygpW3NdKS52YWx1ZSgpfSkpO2NvbnN0IHM9ZnVuY3Rpb24oZSx0LHMsaSl7bGV0IHI9bnVsbDtyZXR1cm4gZS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLmZpcnN0QmFyVGltZTtudWxsIT09aSYmaTw9cyYmZS5sYXN0QmFyVGltZT49dCYmKG51bGw9PT1yP3I9e2xvdzp7bDplLnByaWNlTG93LGg6ZS5wcmljZUhpZ2h9LGhpZ2g6e2g6ZS5wcmljZUhpZ2h9fTooZS5wcmljZUxvdzxyLmxvdy5sJiYoci5sb3cubD1lLnByaWNlTG93LHIubG93Lmg9ZS5wcmljZUhpZ2gpLHIuaGlnaC5oPU1hdGgubWF4KHIuaGlnaC5oLGUucHJpY2VIaWdoKSkpfSkpfSkpLG51bGw9PT1yP251bGw6aT9uZXcgbi5QcmljZVJhbmdlKHIubG93LmwtLjgqKHIubG93Lmgtci5sb3cubCksci5oaWdoLmgpOm5ldyBuLlByaWNlUmFuZ2Uoci5sb3cubCxyLmhpZ2guaCl9KHRoaXMuZ3JhcGhpY3MoKS5oaGlzdHMoKSxlLnN0YXJ0VGltZVBvaW50LGUuZW5kVGltZVBvaW50LHQpO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IHI9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlU2NhbGUoKSk7cmV0dXJuIHIuaXNMb2coKT9uZXcgbi5QcmljZVJhbmdlKHIucHJpY2VUb0xvZ2ljYWwocy5taW5WYWx1ZSgpKSxyLnByaWNlVG9Mb2dpY2FsKHMubWF4VmFsdWUoKSkpOnN9fWNsYXNzIHkgZXh0ZW5kcyBwe2FsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKXtyZXR1cm4gbmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpfV9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCl7cmV0dXJuITF9fX0sODk4OTI3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3ZvbHVtZVByb2ZpbGVUaGVtZWRDb2xvcnM6KCk9Pl99KTt2YXIgaT1zKDUwNzYwNCk7Y29uc3R7Y29sb3JDb2xkR3JheTIwMDpyLGNvbG9yQ29sZEdyYXk5MDA6bixjb2xvckJlcnJ5UGluazQwMEFscGhhNTA6byxjb2xvckJlcnJ5UGluazQwMEFscGhhNzU6YSxjb2xvclNreUJsdWU0MDBBbHBoYTUwOmwsY29sb3JTa3lCbHVlNDAwQWxwaGE1OnUsY29sb3JTa3lCbHVlNDAwQWxwaGE3NTpjLGNvbG9yU2t5Qmx1ZTUwMDpofT1pLmNvbG9ycyxkPXsKdmFsOltuLHJdLHBvYzpbbixyXSx2YWg6W24scl0sZGV2ZWxvcGluZ1BvYzpbbixyXSxkZXZlbG9waW5nVkE6W2gsaF0sdmFsdWVzQ29sb3I6W24scl0sdm9sdW1lQ29sb3JVcDpbbCxsXSx2b2x1bWVDb2xvckRvd246W28sb10sdmFsdWVBcmVhQ29sb3JVcDpbYyxjXSx2YWx1ZUFyZWFDb2xvckRvd246W2EsYV0saGlzdG9ncmFtQm94Q29sb3I6W3UsdV19O2Z1bmN0aW9uIF8oZSl7Y29uc3QgdD0iZ3JhcGhpY3MuaG9yaXpsaW5lcyIscz0iZ3JhcGhpY3MuaGhpc3RzIixpPVt7cGF0aDpgJHt0fS5wb2NMaW5lcy5jb2xvcmAsY29sb3JzOmQucG9jfSx7cGF0aDpgJHt0fS52YWhMaW5lcy5jb2xvcmAsY29sb3JzOmQudmFofSx7cGF0aDpgJHt0fS52YWxMaW5lcy5jb2xvcmAsY29sb3JzOmQudmFsfSx7cGF0aDpgJHtzfS5oaXN0QmFyczIuY29sb3JzLjBgLGNvbG9yczpkLnZvbHVtZUNvbG9yVXB9LHtwYXRoOmAke3N9Lmhpc3RCYXJzMi5jb2xvcnMuMWAsY29sb3JzOmQudm9sdW1lQ29sb3JEb3dufSx7cGF0aDpgJHtzfS5oaXN0QmFyczIudmFsdWVzQ29sb3JgLGNvbG9yczpkLnZhbHVlc0NvbG9yfSx7cGF0aDpgJHtzfS5oaXN0QmFyc1ZBLmNvbG9ycy4wYCxjb2xvcnM6ZC52YWx1ZUFyZWFDb2xvclVwfSx7cGF0aDpgJHtzfS5oaXN0QmFyc1ZBLmNvbG9ycy4xYCxjb2xvcnM6ZC52YWx1ZUFyZWFDb2xvckRvd259LHtwYXRoOmAke3N9Lmhpc3RCYXJzVkEudmFsdWVzQ29sb3JgLGNvbG9yczpkLnZhbHVlc0NvbG9yfSx7cGF0aDoic3R5bGVzLmRldmVsb3BpbmdQb2MuY29sb3IiLGNvbG9yczpkLmRldmVsb3BpbmdQb2N9LHtwYXRoOiJzdHlsZXMuZGV2ZWxvcGluZ1ZBSGlnaC5jb2xvciIsY29sb3JzOmQuZGV2ZWxvcGluZ1ZBfSx7cGF0aDoic3R5bGVzLmRldmVsb3BpbmdWQUxvdy5jb2xvciIsY29sb3JzOmQuZGV2ZWxvcGluZ1ZBfV07cmV0dXJuIGUmJmkucHVzaCh7cGF0aDoiZ3JhcGhpY3MucG9seWdvbnMuaGlzdEJveEJnLmNvbG9yIixjb2xvcnM6ZC5oaXN0b2dyYW1Cb3hDb2xvcn0pLGl9fSw3MjAxMjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Vm9sdW1lU3R1ZHk6KCk9Pm99KTt2YXIgaT1zKDE5NzI3Mikscj1zKDEwMDIzOSksbj1zKDE2ODI1OCk7Y2xhc3MgbyBleHRlbmRzIGkuU3R1ZHl7YmFzZSgpe3JldHVybiAxfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCl9c2hvd09uVG9wT25Ib3ZlcmluZygpe3JldHVybiExfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiB0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpPT09dGhpcy5fbW9kZWwubWFpblBhbmUoKT9udWxsOnN1cGVyLmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpfV90aXRsZUluUGFydHMoZSx0LHMsaSxyLG4pe2NvbnN0IG89c3VwZXIuX3RpdGxlSW5QYXJ0cyhlLHQscyxpLHIpLGE9dGhpcy5fZ2V0Vm9sdW1lVW5pdCgpO3JldHVybiBhJiYhbiYmKG9bMF0rPWAgwrcgJHthfWApLG99X3NraXBwZWRUaXRsZUlucHV0cygpe2NvbnN0IGU9c3VwZXIuX3NraXBwZWRUaXRsZUlucHV0cygpO3RoaXMuX2dldFBsb3REaXNwbGF5VmFsdWUoInZvbF9tYSIpPT09bi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmUmJiFlLmluY2x1ZGVzKCJsZW5ndGgiKSYmZS5wdXNoKCJsZW5ndGgiKTtyZXR1cm4gZX1fZ2V0Vm9sdW1lVW5pdCgpe2NvbnN0IGU9dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2xJbmZvKCk7cmV0dXJuIGU/KDAsci5nZXRWb2x1bWVVbml0KSh7Li4uZSxjdXJyZW5jeTplLm9yaWdpbmFsX2N1cnJlbmN5X2NvZGV8fGUuY3VycmVuY3lfY29kZX0pOnZvaWQgMH19fSwxMjMyNjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c3R1ZHlfT3ZlcmxheTooKT0+T2V9KTt2YXIgaT1zKDEzODYzOCkscj1zKDYwMTg0MSksbj1zKDIzMjM2NCksbz1zKDk1MjkwMCksYT1zKDIyMTA2MSksbD1zKDQ3NTQ3OCksdT1zKDYxOTE2NSksYz1zKDg1NzE1MSksaD1zKDkzNjMyNiksZD1zKDkzMDIzMSksXz1zKDk2ODY3MSkscD1zKDU2OTg0NikseT1zKDMxODk3NCksbT1zKDE5NzI3Miksdj1zKDQ1OTY3MyksZj1zKDE1Mjc2NiksUz1zKDEyODk5OCksZz1zKDMxNDkxNCksYj1zKDc2ODI5Miksdz1zKDQwNzc5OSksQz1zKDY5OTU1MCksUD1zKDIwNjU3MCkseD1zKDMyMjU1NCksRD1zKDYzNTUwOSksST1zKDI1MDMzNCksVD1zKDkzMjY5MyksVj1zKDgwNjgxOCksUj1zKDcxNjc4KSxBPXMoMjI2NDc3KSxMPXMoMTIzNjE3KSxFPXMoODczNTczKTtjb25zdCBNPSgwLGQuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZvcmNlX2V4Y2hhbmdlX2FzX3RpdGxlIik7Y2xhc3MgayBleHRlbmRzIFIuUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3NvdXJjZT1lfV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LHMpe2UudmlzaWJsZT0hMSx0LnZpc2libGU9ITE7Y29uc3Qgcj10aGlzLl9zb3VyY2UubGFzdFZhbHVlRGF0YSgiY2xvc2UiLCExKTtpZihyLm5vRGF0YSlyZXR1cm47Y29uc3Qgbj10aGlzLl9zb3VyY2UubW9kZWwoKSxvPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PW8pcmV0dXJuO2lmKCFuLmlzUHJpY2VTY2FsZVZpc2libGUobykpcmV0dXJuO2NvbnN0IGE9bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksbD1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PWF8fG51bGw9PT1sKXJldHVybjtsZXQgdTtpZihsPD1hLmxhc3RCYXIoKSlzLmJhY2tncm91bmQ9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoci5jb2xvcikscy50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihyLmNvbG9yKSxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExLHU9cy5iYWNrZ3JvdW5kO2Vsc2V7Y29uc3Qgbz1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKHIuY29vcmRpbmF0ZS8oMCxpLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zb3VyY2UpKS5oZWlnaHQoKSk7cy5iYWNrZ3JvdW5kPW8scy50ZXh0Q29sb3I9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoci5jb2xvciksCnMuYm9yZGVyQ29sb3I9cy50ZXh0Q29sb3IsdT1zLmJvcmRlckNvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9cy5jb29yZGluYXRlPXIuY29vcmRpbmF0ZTtjb25zdCBjPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpO2Muc2hvd1Nlcmllc0xhc3RWYWx1ZS52YWx1ZSgpJiYoZS50ZXh0PSgwLEwuZ2V0Q3VycmVudE1vZGVQcmljZVRleHQpKG8sciksYy5zZXJpZXNMYXN0VmFsdWVNb2RlLnZhbHVlKCkhPT1BLlByaWNlQXhpc0xhc3RWYWx1ZU1vZGUuTGFzdFByaWNlQW5kUGVyY2VudGFnZVZhbHVlP2Uuc2Vjb25kTGluZT0iIjplLnNlY29uZExpbmU9KDAsTC5nZXRPcHBvc2l0ZU1vZGVQcmljZVRleHQpKG8sciksZS52aXNpYmxlPSEwKSx0LnRleHQ9IiIsYy5zaG93U3ltYm9sTGFiZWxzLnZhbHVlKCkmJih0LnRleHQ9dGhpcy5fcGFuZVRleHQoKSx0LnZpc2libGU9dC50ZXh0Lmxlbmd0aD4wKSxlLnNlbGVjdGVkTWFya0NvbG9yPW4uc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP3U6dm9pZCAwfV9wYW5lVGV4dCgpe2xldCBlPSIiO2NvbnN0IHQ9dGhpcy5fc291cmNlLmFsaWFzU3ltYm9sSW5mbygpO3JldHVybiBNP2U9KDAsUy5kaXNwbGF5ZWRTeW1ib2xFeGNoYW5nZSkodCk6dGhpcy5fc291cmNlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy52YWx1ZSgpJiYoZT0oMCxTLmRpc3BsYXllZFN5bWJvbE5hbWUpKHQpKSxlfX12YXIgQj1zKDk2OTQpO2NsYXNzIE4gZXh0ZW5kcyBCLlByaWNlTGluZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fc3R1ZHk9ZX1fdmFsdWUoKXtyZXR1cm4gdGhpcy5fc3R1ZHkubGFzdFZhbHVlRGF0YSgiIiwhMCl9X3ByaWNlTGluZUNvbG9yKGUpe3JldHVybiBlfV9saW5lV2lkdGgoKXtyZXR1cm4gMX1faXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNMYXN0VmFsdWUudmFsdWUoKTtyZXR1cm4gdGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dQcmljZUxpbmUudmFsdWUoKSYmZX19dmFyIEY9cygyNjA2OSksTz1zKDY1MDQ4MCk7Y2xhc3MgSHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9saW5lUmVuZGVyZXI9bmV3IE8uSG9yaXpvbnRhbExpbmVSZW5kZXJlcix0aGlzLl92aXNpYmxlPSExLHRoaXMuX3NvdXJjZT1lfXVwZGF0ZSgpe2lmKHRoaXMuX3Zpc2libGU9ITEsIXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd1ByaWNlTGluZS52YWx1ZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3NvdXJjZS5sYXN0VmFsdWVEYXRhKCIiLCEwKTtlLm5vRGF0YXx8KHRoaXMuX3Zpc2libGU9ITAsdGhpcy5fbGluZVJlbmRlcmVyLnNldERhdGEoe3k6ZS5jb29yZGluYXRlLGNvbG9yOmUuY29sb3IsbGluZXdpZHRoOjEsbGluZXN0eWxlOkYuTElORVNUWUxFX0RPVFRFRCx2aXNpYmxlOnRoaXMuX3Zpc2libGV9KSl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZT90aGlzLl9saW5lUmVuZGVyZXI6bnVsbH19dmFyIHEsej1zKDg2MDQ0MiksVT1zKDY3ODI4NSksVz1zKDk0Mzk1KTshZnVuY3Rpb24oZSl7ZVtlLk9wZW49MF09Ik9wZW4iLGVbZS5IaWdoPTFdPSJIaWdoIixlW2UuTG93PTJdPSJMb3ciLGVbZS5DbG9zZT0zXT0iQ2xvc2UiLGVbZS5Tb3VyY2U9NF09IlNvdXJjZSIsZVtlLkxhc3RQcmljZT01XT0iTGFzdFByaWNlIixlW2UuQ2hhbmdlPTZdPSJDaGFuZ2UiLGVbZS5MYXN0RGF5Q2hhbmdlPTddPSJMYXN0RGF5Q2hhbmdlIn0ocXx8KHE9e30pKTt2YXIgJD1zKDE4NTI3MSksRz1zKDk2OTE2OCksaj1zKDIzMzI0NyksWT1zKDE4OTgwMCksSj1zKDE2ODc3MSksUT1zKDQxNjM1KSxaPXMoODgyMDU2KSxLPXMoNjQwMjkyKTtjb25zdCBYPUoubGFzdERheUNoYW5nZUF2YWlsYWJsZXx8Si5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZSxlZT15LkNoZWNrTW9iaWxlLmFueSgpLHRlPSgwLGouZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoKSxzZT1LLm5vdEF2YWlsYWJsZSxpZT1gJHtzZX0gKCR7c2V9JSlgO2NsYXNzIHJle2NvbnN0cnVjdG9yKGUsdCxpPSEwKXt0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fc2VhcmNoTmVhcmVzdExlZnRWYWx1ZT1pLHRoaXMuX2VtcHR5VmFsdWVzPVt7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoOTc3ODEpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4OjAsb3JkZXJJbmRleDowLGlkOiJvcGVuIn0se3RpdGxlOiQudChudWxsLHZvaWQgMCxzKDg0NTU2MykpLHZpc2libGU6ITEsdmFsdWU6IiIsaW5kZXg6MSxvcmRlckluZGV4OjEsaWQ6ImhpZ2gifSx7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoODg4Njc4KSksdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDoyLG9yZGVySW5kZXg6MixpZDoibG93In0se3RpdGxlOiQudChudWxsLHtjb250ZXh0OiJpbnB1dCJ9LHMoMzEyMjk3KSksdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDozLG9yZGVySW5kZXg6MyxpZDoiY2xvc2UifSx7dGl0bGU6IiIsdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDo0LG9yZGVySW5kZXg6NCxpZDoic291cmNlIn0se3RpdGxlOiIiLHZpc2libGU6ITEsdmFsdWU6IiIsaW5kZXg6NSxvcmRlckluZGV4OjUsaWQ6Imxhc3RQcmljZSJ9LHt0aXRsZTokLnQobnVsbCx2b2lkIDAscyg2NzM0ODcpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4OjYsb3JkZXJJbmRleDo2LGlkOiJjaGFuZ2UifSx7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoMzE0NjcpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4Ojcsb3JkZXJJbmRleDo3LGlkOiJsYXN0RGF5Q2hhbmdlIn1dfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2VtcHR5VmFsdWVzfWdldFZhbHVlcyhlKXtjb25zdCB0PXRoaXMuX2VtcHR5VmFsdWVzLm1hcCgoZT0+KHsuLi5lfSkpKQo7aWYodGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaXNFbXB0eSgpKXJldHVybiB0O2NvbnN0IHM9dGhpcy5fc3R1ZHkuZGF0YSgpLGk9cy5sYXN0SW5kZXgoKTtpZigwPT09cy5zaXplKCl8fG51bGw9PT1pKXJldHVybiB0O2NvbnN0IG49dGhpcy5fc2VhcmNoTmVhcmVzdExlZnRWYWx1ZT9oLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OmguUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qsbz1zLnNlYXJjaChpLG4sMSk7aWYobnVsbD09PW8pcmV0dXJuIHQ7Y29uc3QgYT10aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpO2lmKCgwLHIuaXNOdW1iZXIpKGUpfHwoYT9lPWk6KGU9dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuYXBwbGllZEluZGV4KCksKDAsci5pc051bWJlcikoZSl8fChlPWkpKSksbnVsbD09PWV8fCEoMCxyLmlzTnVtYmVyKShlKSlyZXR1cm4gdDt0WzBdLnZhbHVlPXNlLHRbMV0udmFsdWU9c2UsdFsyXS52YWx1ZT1zZSx0WzNdLnZhbHVlPXNlLHRbN10udmFsdWU9aWUsdFs2XS52YWx1ZT1pZTtjb25zdCBsPXMuc2VhcmNoKGUsbiwxKSx1PXRoaXMuX21vZGVsLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCk7aWYobnVsbD09PWwpcmV0dXJuIHQ7Y29uc3QgYz1sLmluZGV4LGQ9bC52YWx1ZSxfPWRbMV0scD1kWzJdLHk9ZFszXSxtPWRbNF07Zm9yKGNvbnN0IGUgb2YgdCllLnZpc2libGU9IWE7Y29uc3Qgdj10WzRdO3YudmlzaWJsZT0hMTtjb25zdHtiYXJDaGFuZ2U6ZixsYXN0RGF5Q2hhbmdlOlN9PSgwLFkuY2hhbmdlc0RhdGEpKHMsdGhpcy5fc3R1ZHkucXVvdGVzKCksbC52YWx1ZSxsLmluZGV4LG8udmFsdWUpLGc9KDAsWi5nZXRQcmljZVZhbHVlRm9ybWF0dGVyRm9yU291cmNlKSh0aGlzLl9zdHVkeSk7aWYoKDAsWi5zaG91bGRCZUZvcm1hdHRlZEFzUGVyY2VudCkodGhpcy5fc3R1ZHkpfHwoMCxaLnNob3VsZEJlRm9ybWF0dGVkQXNJbmRleGVkVG8xMDApKHRoaXMuX3N0dWR5KSl0WzddLnZhbHVlPSIiLHRbNl0udmFsdWU9IiI7ZWxzZXtjb25zdCBlPXRoaXMuX3N0dWR5LmZvcm1hdHRlcigpLHM9e3NpZ25Qb3NpdGl2ZTohMH07aWYodm9pZCAwIT09Zil7Y29uc3R7Y3VycmVudFByaWNlOmkscHJldlByaWNlOnIsY2hhbmdlOm59PWYsbz1lLmZvcm1hdENoYW5nZT8uKGkscixzKT8/ZS5mb3JtYXQobixzKTt0WzZdLnZhbHVlPSgwLEcuZm9yY2VMVFJTdHIpKGAke299ICgke3RlLmZvcm1hdChmLnBlcmNlbnRDaGFuZ2Uscyl9KWApfWlmKHZvaWQgMCE9PVMpe2NvbnN0e2N1cnJlbnRQcmljZTppLHByZXZQcmljZTpyLGNoYW5nZTpuLHBlcmNlbnRDaGFuZ2U6b309UyxhPWUuZm9ybWF0Q2hhbmdlPy4oaSxyLHMpPz9lLmZvcm1hdChuLHMpO3RbN10udmFsdWU9KDAsRy5mb3JjZUxUUlN0cikoYCR7YX0gKCR7dGUuZm9ybWF0KG8scyl9KWApfX1sZXQgYj1udWxsO2lmKGEpdFs1XS52YWx1ZT1udWxsPT1tP3NlOmcobSksdFs1XS52aXNpYmxlPSEwLGI9dGhpcy5fZ2V0Q2hhbmdlQ29sb3IoUz8uY2hhbmdlKSx0WzZdLnZpc2libGU9dm9pZCAwIT09Zix0WzddLnZpc2libGU9dm9pZCAwIT09U3x8WDtlbHNle3RbMF0udmFsdWU9bnVsbD09Xz9zZTpnKF8pLHRbMV0udmFsdWU9bnVsbD09cD9zZTpnKHApLHRbMl0udmFsdWU9bnVsbD09eT9zZTpnKHkpLHRbM10udmFsdWU9bnVsbD09bT9zZTpnKG0pLHYudmFsdWU9Zyh0aGlzLl9zdHVkeS5iYXJGdW5jdGlvbigpKGQpKSx0WzVdLnZpc2libGU9ITE7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKSxzPTIxIT09dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk7dFswXS52aXNpYmxlPSFlJiZzLHRbMV0udmlzaWJsZT0hZSx0WzJdLnZpc2libGU9IWUsdFs3XS52aXNpYmxlPXZvaWQgMCE9PVN8fFgsdFs2XS52aXNpYmxlPXZvaWQgMCE9PWY7Y29uc3QgaT10aGlzLl9zdHVkeS5iYXJDb2xvcmVyKCkuYmFyU3R5bGUoYywhMSkscj1pLmJhckJvcmRlckNvbG9yPz9pLmJhckNvbG9yO2I9KDAsWS5jYWxjdWxhdGVDb2xvcikodSxyKX1iPSgwLEUucmVzZXRUcmFuc3BhcmVuY3kpKCgwLFkuY2FsY3VsYXRlQ29sb3IpKHUsYikpO2Zvcihjb25zdCBlIG9mIHQpZS5jb2xvcnx8KGUuY29sb3I9Yik7cmV0dXJuIHRbN10udmlzaWJsZSYmKHRbN10uY29sb3I9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoKDAsWS5jYWxjdWxhdGVDb2xvcikodSx0aGlzLl9nZXRDaGFuZ2VDb2xvcihTPy5jaGFuZ2UpKSkpLHR9X21vYmlsZU5vblRyYWNraW5nTW9kZSgpe3JldHVybiBlZSYmKG51bGw9PT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5wYW5lfHwoMCx6LmlzTGluZVRvb2xOYW1lKShVLnRvb2wudmFsdWUoKSl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdFZGl0ZWQoKSl9X3Nob3dMYXN0UHJpY2VBbmRDaGFuZ2VPbmx5KCl7cmV0dXJuIEouYWx3YXlzU2hvd0xhc3RQcmljZUFuZExhc3REYXlDaGFuZ2V8fHRoaXMuX21vYmlsZU5vblRyYWNraW5nTW9kZSgpfV9nZXRDaGFuZ2VDb2xvcihlKXtjb25zdCB0PXZvaWQgMD09PWV8fGU+PTA/US5TZXJpZXNCYXJDb2xvcmVyLnVwQ29sb3IodGhpcy5fc3R1ZHkucHJvcGVydGllcygpKTpRLlNlcmllc0JhckNvbG9yZXIuZG93bkNvbG9yKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKSk7cmV0dXJuIHQuYmFyQm9yZGVyQ29sb3I/P3QuYmFyQ29sb3J9fXZhciBuZT1zKDUzNjcxMCk7Y29uc3Qgb2U9eS5DaGVja01vYmlsZS5hbnkoKTtjbGFzcyBhZSBleHRlbmRzIG5lLlN0dWR5RGF0YVdpbmRvd1ZpZXd7X3VwZGF0ZUltcGwoKXt0aGlzLl9oZWFkZXI9dGhpcy5fc3R1ZHkudGl0bGUoVy5UaXRsZURpc3BsYXlUYXJnZXQuRGF0YVdpbmRvdyk7bGV0IGU7dGhpcy5fc2hvd0xhc3RQcmljZUFuZENoYW5nZU9ubHkoKT9lPXRoaXMuX3N0dWR5LmRhdGEoKS5sYXN0SW5kZXgoKTooZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKSwobnVsbD09PWV8fGlzTmFOKGUpKSYmKGU9dGhpcy5fc3R1ZHkuZGF0YSgpLmxhc3RJbmRleCgpLCgwLApkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbGFzdF92aXNpYmxlX2Jhcl92YWx1ZV9pbl9sZWdlbmQiKSYmKGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpPy5sYXN0QmFyKCk/P05hTikpKTtjb25zdCB0PXRoaXMuX3ZhbHVlUHJvdmlkZXIuZ2V0VmFsdWVzKGUpO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7KytlKXtjb25zdCBzPXRbZV0saT10aGlzLl9pdGVtc1tlXTtpLnNldFZhbHVlKHMudmFsdWUpLGkuc2V0VmlzaWJsZShzLnZpc2libGUpLGkuc2V0Q29sb3Iocy5jb2xvcil9fV9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpe3JldHVybiBvZSYmKG51bGw9PT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5wYW5lfHwoMCx6LmlzTGluZVRvb2xOYW1lKShVLnRvb2wudmFsdWUoKSl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdFZGl0ZWQoKSl9X2NyZWF0ZVZhbHVlc1Byb3ZpZGVyKGUsdCl7cmV0dXJuIG5ldyByZShlLHQpfX12YXIgbGU9cyg5NjY0MDQpO2NsYXNzIHVlIGV4dGVuZHMgcmV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpO2NvbnN0IHM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKTt0aGlzLl9zaG93QmFyQ2hhbmdlUHJvcD1zLnNob3dCYXJDaGFuZ2UsdGhpcy5fc2hvd0xhc3REYXlDaGFuZ2VQcm9wPXMuc2hvd0xhc3REYXlDaGFuZ2UsdGhpcy5fc2hvd1Nlcmllc09ITENQcm9wPXMuc2hvd1Nlcmllc09ITEN9Z2V0VmFsdWVzKGUpe2NvbnN0IHQ9c3VwZXIuZ2V0VmFsdWVzKGUpLHM9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLGk9cy5zdHlsZS52YWx1ZSgpLHI9MTIhPT1pLG49dGhpcy5fc2hvd1Nlcmllc09ITEMoKSxvPXImJnRoaXMuX3Nob3dCYXJDaGFuZ2VQcm9wLnZhbHVlKCksYT1yJiZ0aGlzLl9zaG93TGFzdERheUNoYW5nZVByb3AudmFsdWUoKTtpZih0aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpKXJldHVybiB0WzddLnZpc2libGUmJj1vLHRbNl0udmlzaWJsZT0hMSx0O2NvbnN0IGw9KDAsUy5pc1ByaWNlU291cmNlU3R5bGUpKGkpLHU9MTIhPT1pJiYxNiE9PWkmJjIxIT09aSxjPTEyIT09aSxoPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLnZhbHVlKCkuaXMxVGljaygpLGQ9biYmIWwsXz1uJiZsO2lmKHRbMF0udmlzaWJsZT1kJiZ1JiYhaCx0WzFdLnZpc2libGU9ZCYmIWgsdFsyXS52aXNpYmxlPWQmJiFoLHRbM10udmlzaWJsZT1kJiZjLHRbN10udmlzaWJsZSYmPWEsdFs2XS52aXNpYmxlJiY9byx0WzRdLnZpc2libGU9XywxNj09PWkpe2NvbnN0IGU9cy5obGNBcmVhU3R5bGUuY2hpbGRzKCk7dFsxXS5jb2xvcj1lLmhpZ2hMaW5lQ29sb3IudmFsdWUoKSx0WzJdLmNvbG9yPWUubG93TGluZUNvbG9yLnZhbHVlKCksdFszXS5jb2xvcj1lLmNsb3NlTGluZUNvbG9yLnZhbHVlKCl9cmV0dXJuIHR9X3Nob3dTZXJpZXNPSExDKCl7cmV0dXJuIHRoaXMuX3Nob3dTZXJpZXNPSExDUHJvcC52YWx1ZSgpfX12YXIgY2U9cyg3NDE2OTApLGhlPXMoOTQ3MzgyKTtjbGFzcyBkZSBleHRlbmRzIGFle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9hZGRpdGlvbmFsPW51bGwsdGhpcy5fc3R1ZHlPdmVybGF5PWUsdGhpcy5fYmFja2dyb3VuZENvbG9yU3Bhd249dC5iYWNrZ3JvdW5kVG9wQ29sb3IoKS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRDb2xvclNwYXduLnN1YnNjcmliZSh0aGlzLnVwZGF0ZS5iaW5kKHRoaXMsKDAsbGUuc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKTtjb25zdCBzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7dGhpcy5fdmlzaWJpbGl0eVByb3BlcnR5PSgwLGNlLmNvbWJpbmVQcm9wZXJ0eSkoKChlLHQpPT5lfHx0KSxzLnNob3dCYXJDaGFuZ2Uud2Vha1JlZmVyZW5jZSgpLHMuc2hvd1Nlcmllc09ITEMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl92aXNpYmlsaXR5UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsdGhpcy51cGRhdGUuYmluZCh0aGlzLCgwLGxlLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSl9YXJlVmFsdWVzVmlzaWJsZSgpe3JldHVybiB0aGlzLl92aXNpYmlsaXR5UHJvcGVydHkudmFsdWUoKX1hZGRpdGlvbmFsKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9hZGRpdGlvbmFsfWRlc3Ryb3koKXt0aGlzLl9iYWNrZ3JvdW5kQ29sb3JTcGF3bi5kZXN0cm95KCksdGhpcy5fdmlzaWJpbGl0eVByb3BlcnR5LmRlc3Ryb3koKX1fdXBkYXRlSW1wbCgpe3N1cGVyLl91cGRhdGVJbXBsKCk7e2NvbnN0IGU9KDAsaGUuZ2V0RGF0YVZlbmRvclN0cmluZykodGhpcy5fc3R1ZHlPdmVybGF5LnN5bWJvbEluZm8oKSk7dGhpcy5fYWRkaXRpb25hbD1lPyQudChudWxsLHZvaWQgMCxzKDM2NzUzOCkpKyIgIitlOm51bGx9fV9jcmVhdGVWYWx1ZXNQcm92aWRlcihlLHQpe3JldHVybiBuZXcgdWUoZSx0KX19dmFyIF9lPXMoMzc2NjQ1KSxwZT1zKDI3MzE4NykseWU9cygzMjA2NjUpLG1lPXMoNjMyNTM1KSx2ZT1zKDIyODI1MSksZmU9cyg3MzQ0NzkpLFNlPXMoNjU5MjkxKSxnZT1zKDY5Nzc5OSksYmU9cygzMTE2MTkpLHdlPXMoMTU3ODUzKSxDZT1zKDcwMTUwNiksUGU9cygyNzU4NDkpO2NsYXNzIHhlIGV4dGVuZHMgUGUuU3R1ZHlTdGF0dXNQcm92aWRlcntnZXRTcGxpdFRpdGxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5nZXRTcGxpdFRpdGxlKCExKX10ZXh0KCl7CnJldHVybiB0aGlzLl9zb3VyY2UuaXNBY3R1YWxJbnRlcnZhbCgpP3RoaXMuX3NvdXJjZS5pc0ZhaWxlZCgpP2Ake3RoaXMuX3NvdXJjZS50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwLHZvaWQgMCwhMSwhMSl9OiAke3RoaXMuc291cmNlU3RhdHVzVGV4dCgpfWA6YCR7dGhpcy5fc291cmNlLnRpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX0gJHt0aGlzLnNvdXJjZVN0YXR1c1RleHQoKX1gOnRoaXMuX3NvdXJjZS50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwLHZvaWQgMCwhMSwhMSl9fXZhciBEZT1zKDE0MTM1MCk7Y2xhc3MgSWUgZXh0ZW5kcyB1ZXtfc2hvd1Nlcmllc09ITEMoKXtyZXR1cm4hMH19dmFyIFRlPXMoNDg5MDMxKSxWZT1zKDIwNTYyMik7Y2xhc3MgUmV7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fdmFsdWVzUHJvdmlkZXI9bmV3IHJlKGUsdCwhMSl9Z2V0SXRlbXMoKXtjb25zdCBlPXRoaXMuX3ZhbHVlc1Byb3ZpZGVyLmdldEl0ZW1zKCksdD10aGlzLl9zdHVkeS5zdHlsZSgpO3JldHVybigwLFZlLmZpbGxTeW1ib2xTb3VyY2VWYWx1ZXNQcm92aWRlckl0ZW1zVmlzaWJpbGl0eSkoZSx0aGlzLl9zdHVkeS5wcmljZVNvdXJjZSgpLHQsdGhpcy5fbW9kZWwpLGVbN10udmlzaWJsZT0hMSxlfWdldFZhbHVlcyhlKXtjb25zdCB0PXRoaXMuX3N0dWR5LmRhdGEoKS5sYXN0SW5kZXgoKSxzPXRoaXMuX3N0dWR5LmRhdGEoKS5maXJzdEluZGV4KCk7cmV0dXJuIG51bGw9PT10fHxudWxsPT09c3x8ZT50fHxlPHM/bnVsbDp0aGlzLl92YWx1ZXNQcm92aWRlci5nZXRWYWx1ZXMoZSl9fXZhciBBZT1zKDcyMzUyNSk7KDAsZC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSIpO2NvbnN0IExlPSh5LkNoZWNrTW9iaWxlLmFueSgpLCEwKSxFZT0oMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiIpLE1lPSgoMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIiksKDAsZC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIikpLGtlPSEoMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iKSxCZT0oMCxhLmdldExvZ2dlcikoIkNoYXJ0LlN0dWR5T3ZlcmxheSIpO3ZhciBOZTtmdW5jdGlvbiBGZShlLHQpe3JldHVybiBudWxsPT1lW3RdfSFmdW5jdGlvbihlKXtlLlNuYXBTaG90U3ltYm9sSW5mb0tleT0iX19fc25hcHNob3QifShOZXx8KE5lPXt9KSk7Y2xhc3MgT2UgZXh0ZW5kcyBtLlN0dWR5e2NvbnN0cnVjdG9yKGUsdCxzLHIsbyxhKXtzdXBlcihlLGZ1bmN0aW9uKGUpe2UuaGFzQ2hpbGQoImN1cnJlbmN5SWQiKXx8ZS5hZGRDaGlsZCgiY3VycmVuY3lJZCIsbmV3IGIuUHJvcGVydHkobnVsbCkpLGUuaGFzQ2hpbGQoInVuaXRJZCIpfHxlLmFkZENoaWxkKCJ1bml0SWQiLG5ldyBiLlByb3BlcnR5KG51bGwpKSxlLmhhc0NoaWxkKCJtZXRyaWNJZCIpfHxlLmFkZENoaWxkKCJtZXRyaWNJZCIsbmV3IGIuUHJvcGVydHkobnVsbCkpLCgwLENlLmFsbENoYXJ0U3R5bGVzKSgpLmluY2x1ZGVzKGUuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSl8fGUuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgyKTtjb25zdCB0PWUuY2hpbGRzKCk7aWYodC5saW5lU3R5bGUuaGFzQ2hpbGQoInN0eWxlVHlwZSIpKXtjb25zdCBlPXQubGluZVN0eWxlLmNoaWxkcygpLHM9ZS5zdHlsZVR5cGUudmFsdWUoKTtsZXQgaSxyOzA9PT1zJiYocj0xNCxpPXQubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkpLDE9PT1zJiYocj0xNSxpPXQuc3RlcGxpbmVTdHlsZS5jaGlsZHMoKSksaSYmKGkuY29sb3Iuc2V0VmFsdWVTaWxlbnRseShlLmNvbG9yLnZhbHVlKCkpLGkubGluZXN0eWxlLnNldFZhbHVlU2lsZW50bHkoZS5saW5lc3R5bGUudmFsdWUoKSksaS5saW5ld2lkdGguc2V0VmFsdWVTaWxlbnRseShlLmxpbmV3aWR0aC52YWx1ZSgpKSxpLnByaWNlU291cmNlLnNldFZhbHVlU2lsZW50bHkoZS5wcmljZVNvdXJjZS52YWx1ZSgpKSksdm9pZCAwIT09ciYmMj09PXQuc3R5bGUudmFsdWUoKSYmdC5zdHlsZS5zZXRWYWx1ZVNpbGVudGx5KHIpLHQubGluZVN0eWxlLnJlbW92ZVByb3BlcnR5KCJzdHlsZVR5cGUiKX1yZXR1cm4gZS5hZGRFeGNsdWRlZEtleSgiY3VycmVuY3lJZCIsMSksZS5hZGRFeGNsdWRlZEtleSgidW5pdElkIiwxKSxlLmFkZEV4Y2x1ZGVkS2V5KCJtZXRyaWNJZCIsMSksZX0odCkscyxyLG8sYSksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlPW5ldyBuLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sSGliZXJuYXRlZD1uZXcgbi5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0eWxlVG9SZWNvdmVyPW51bGwsdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz1udWxsLHRoaXMuX2Jhc2U9MTAwLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbFNvdXJjZT0iIix0aGlzLl9kYXRhPW5ldyBjLlBsb3RMaXN0KCgwLHUuc2VyaWVzUGxvdEZ1bmN0aW9uTWFwKSgpLEZlKSx0aGlzLl9xdW90ZXNQcm92aWRlcj1uZXcgQy5RdW90ZXNQcm92aWRlcih2b2lkIDAsZS5jb2xsYXBzZWQoKS5zcGF3bk93bmVyc2hpcCgpKSxMZSYmdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpO2NvbnN0IGg9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aC5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSxoLnVuaXRJZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblVuaXRDaGFuZ2VkKSxoLm1ldHJpY0lkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTWV0cmljQ2hhbmdlZCksCmguYWxsb3dFeHRlbmRUaW1lU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25BbGxvd0V4dGVuZFRpbWVTY2FsZUNoYW5nZWQpLHRoaXMuX29uQWxsb3dFeHRlbmRUaW1lU2NhbGVDaGFuZ2VkKCksKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmRpdmlkZW5kc0FkanVzdG1lbnQpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3RyeUNoYW5nZUlucHV0cygpfSkpLGguc3R5bGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFN0eWxlQ2hhbmdlZCksaC5saW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGgubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguc3RlcGxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksaC5hcmVhU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguYmFzZWxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksaC5jb2x1bW5TdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24oKSxoLm1pblRpY2suc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25NaW5UaWNrQ2hhbmdlZCksdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcykpKSxlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fY2hlY2tTdHlsZSgpKSksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlcj1uZXcgbC5Db25mbGF0ZWRDaHVua3NCdWlsZGVyKHRoaXMuX2RhdGEsKGU9PnUuYmFyRnVuY3Rpb25zW2VdKSk7Y29uc3QgZD0oKT0+dGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5zZXRWYWx1ZSh0aGlzLnN5bWJvbEluZm8oKSk7dGhpcy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLGQpLHRoaXMub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsZCksZCgpLHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPSgwLHAuY3JlYXRlQWxpYXNTeW1ib2xJbmZvV1YpKHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpKSwodGhpcy5fYWxpYXNTeW1ib2xJbmZvV1Z8fHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8pLnN1YnNjcmliZSgoKCk9PnRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCkpKSx0aGlzLl9vdmVybGF5VmFsdWVzUHJvdmlkZXI9bmV3IHJlKHRoaXMsZSksdGhpcy5fb3ZlcmxheUxlZ2VuZFZhbHVlc1Byb3ZpZGVyPW5ldyB1ZSh0aGlzLGUpLHRoaXMuX292ZXJsYXlUYWJsZVZpZXdWYWx1ZXNQcm92aWRlcj1uZXcgUmUodGhpcyxlKSx0aGlzLl9vdmVybGF5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcj1uZXcgSWUodGhpcyxlKSx0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnNldFZhbHVlKCEwKSx0aGlzLl9pc1VuaXRPcmlnaW4uc2V0VmFsdWUoITApfWRlc3Ryb3koKXsoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZGl2aWRlbmRzQWRqdXN0bWVudCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcXVvdGVzUHJvdmlkZXIuZGVzdHJveSgpLHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfWJhc2UoKXtyZXR1cm4gdGhpcy5fYmFzZX1wcmVjb21wdXRlZEJhclN0eWxlKGUpe3JldHVybiB0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcy5nZXQoZSl9c2V0UHJlY29tcHV0ZWRCYXJTdHlsZShlLHQpe3RoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzLnNldChlLHQpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31iYXJDb2xvcmVyKCl7cmV0dXJuIG5ldyBRLlNlcmllc0JhckNvbG9yZXIoe2RhdGE6KCk9PnRoaXMuZGF0YSgpLGJhcnM6KCk9PnRoaXMuZGF0YSgpLG5zQmFyczooKT0+bmV3IGMuUGxvdExpc3QscHJpY2VTY2FsZTooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlU2NhbGUoKSkscHJvcGVydGllczooKT0+dGhpcy5wcm9wZXJ0aWVzKCksZmlyc3RWYWx1ZTooKT0+dGhpcy5maXJzdFZhbHVlKCksYmFyRnVuY3Rpb246KCk9PnRoaXMuYmFyRnVuY3Rpb24oKSxsaW5lQ29sb3JBdFlQZXJjZW50RnJvbVRvcDplPT50aGlzLmxpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGUpfSl9c3ltYm9sUGFyYW1zKCl7cmV0dXJuKDAsUC5zeW1ib2xQYXJhbXMpKHRoaXMpfWNvbXBhcmVTeW1ib2xQYXJhbXMoZSl7cmV0dXJuKDAsUC5jb21wYXJlU3ltYm9sUGFyYW1zKSh0aGlzLGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCksdGhpcy5fbW9kZWwubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSl9YXN5bmMgc2V0U3ltYm9sUGFyYW1zKGUpe3RoaXMuX3NldFN5bWJvbFBhcmFtc0ludGVybmFsKGUpfXN5bWJvbCgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCl9c3ltYm9sT3JBbGlhcygpe2NvbnN0IGU9dGhpcy5zeW1ib2woKSx0PXRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5nZXRBbGlhc0J5UHJvTmFtZShlKTtyZXR1cm4gdD8uYWxpYXNOYW1lPz9lfXN5bWJvbENoYW5nZWQoKXsKcmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2x9b25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xDaGFuZ2VkKCl9c2V0U3ltYm9sKGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtzeW1ib2w6ZX0pfXN5bWJvbEluZm8oKXtpZighdGhpcy5fcmVzb2x2ZWRTeW1ib2xzKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCk7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHQ7cmV0dXJuIHQ9dGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpP3RoaXMuX3Jlc29sdmVkU3ltYm9scy5fX19zbmFwc2hvdHx8bnVsbDp0aGlzLl9yZXNvbHZlZFN5bWJvbHNbdGhpcy5fZ2V0U3ltYm9sRm9yUmVzb2x2ZShlKV18fG51bGwsdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiZudWxsPT09dCYmKHQ9KDAsXy5nZXRPYnNvbGV0ZUlkZWFTeW1ib2xJbmZvKSh0aGlzLl9yZXNvbHZlZFN5bWJvbHMsZSx0aGlzLmN1cnJlbmN5KCkpLG51bGwhPT10JiYodGhpcy5fcmVzb2x2ZWRTeW1ib2xzLl9fX3NuYXBzaG90PXQpKSx0fXN5bWJvbEluZm9XVigpe3JldHVybiB0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnJlYWRvbmx5KCl9YWxpYXNTeW1ib2xJbmZvKCl7cmV0dXJuKHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPz90aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvPz9uZXcgbi5XYXRjaGVkVmFsdWUobnVsbCkpLnZhbHVlKCl9c3VwcG9ydHNDb25mbGF0ZWRDaHVua3MoKXtyZXR1cm4hMH1jb25mbGF0ZWRDaHVua3MoZSx0KXtyZXR1cm4gdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jb25mbGF0ZWRDaHVua3MoZSx0KX1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLnN5bWJvbHNSZXNvbHZlZCgpfXN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmV9c3ltYm9sSGliZXJuYXRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xIaWJlcm5hdGVkfWlzVmlzaWJsZSgpe2NvbnN0IGU9c3VwZXIuaXNWaXNpYmxlKCk7cmV0dXJuIHRoaXMuX3N5bWJvbEhpYmVybmF0ZWQuc2V0VmFsdWUoIWUpLGV9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4oMCxQLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybigwLHguc3ltYm9sU2FtZUFzUmVzb2x2ZWQpKGUsdGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlLHRoaXMuc3ltYm9sKCkpfXByaWNlU291cmNlKCl7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtzd2l0Y2goZS5zdHlsZS52YWx1ZSgpKXtjYXNlIDI6cmV0dXJuIGUubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCk7Y2FzZSAxNDpyZXR1cm4gZS5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2Nhc2UgMTU6cmV0dXJuIGUuc3RlcGxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2Nhc2UgMzpyZXR1cm4gZS5hcmVhU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTtjYXNlIDEwOnJldHVybiBlLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTtjYXNlIDEzOnJldHVybiBlLmNvbHVtblN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCl9cmV0dXJuIG51bGx9YmFyRnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFyRnVuY3Rpb259cXVvdGVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fcXVvdGVzUHJvdmlkZXJ9cXVvdGVzKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3RlcygpLnZhbHVlKCl9Y3VycmVuY3koKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY3VycmVuY3lJZC52YWx1ZSgpfHxudWxsfXNldEN1cnJlbmN5KGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtjdXJyZW5jeTplfSl9dW5pdCgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS51bml0SWQudmFsdWUoKXx8bnVsbH1zZXRVbml0KGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHt1bml0OmV9KX1tZXRyaWMoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubWV0cmljSWQudmFsdWUoKXx8bnVsbH1zZXRNZXRyaWMoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe21ldHJpYzplfSl9c3R5bGUoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKX1zZXRTdHlsZShlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7c3R5bGU6ZX0pfWludGVydmFsKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfXNldEludGVydmFsKGUpe312YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbdF0/P251bGx9YmFyc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXN9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7dGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCl8fGRlbGV0ZSBzLnN0YXRlLnVuaXRJZDtjb25zdCByPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHMuc3RhdGUuaW5wdXRzLnN5bWJvbD0oMCxTLnN5bWJvbFRvU2F2ZUluU3RhdGUpKHRoaXMuc3ltYm9sSW5mbygpPz90aGlzLl9tb2RlbC5jaGFydEFwaSgpLmxhc3RTeW1ib2xSZXNvbHZlSW5mbyhyKSxyKSxlJiYoKDAsaS5lbnN1cmVEZWZpbmVkKShzLmRhdGEpLnN5bWJvbHM9e19fX3NuYXBzaG90OnRoaXMuc3ltYm9sSW5mbygpfHx2b2lkIDB9KSxzfXN5bWJvbFRpdGxlKGUsdCxzKXtyZXR1cm4gdGhpcy50aXRsZShlLCEwLHt9LCExLHQpfXRpdGxlKGUsdCxzLGkscil7Y29uc3Qgbj10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyKTtyZXR1cm5bblswXSwuLi5uWzFdPz9bXV0uam9pbihgICR7Uy5zeW1ib2xUaXRsZVNlcGFyYXRvcn0gYCl9dGl0bGVJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuW3RoaXMudGl0bGUoZSx0LHMsaSxyKV19Zmlyc3RWYWx1ZSgpewpjb25zdCBlPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtjb25zdCB0PWUuZmlyc3RCYXIoKTtpZigwPT09dGhpcy5kYXRhKCkuc2l6ZSgpKXJldHVybiB0aGlzLl9vd25GaXJzdFZhbHVlO2NvbnN0IHM9dGhpcy5kYXRhKCkuc2VhcmNoKHQsaC5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQsMSk7cmV0dXJuIHRoaXMuX293bkZpcnN0VmFsdWU9bnVsbCE9PXM/dGhpcy5fYmFyRnVuY3Rpb24ocy52YWx1ZSwwKTpudWxsLHRoaXMuX293bkZpcnN0VmFsdWV9bGluZUNvbG9yQXRZUGVyY2VudEZyb21Ub3AoZSl7c3dpdGNoKHRoaXMuc3R5bGUoKSl7Y2FzZSAyOnJldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTtjYXNlIDE0OnJldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpO2Nhc2UgMTU6cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKX1yZXR1cm4gbnVsbH1sYXN0VmFsdWVEYXRhKGUsdCxzKXtjb25zdCBpPXtub0RhdGE6ITB9LG49dGhpcy5wcmljZVNjYWxlKCk7aWYodGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaXNFbXB0eSgpfHxudWxsPT09bnx8bi5pc0VtcHR5KCl8fHRoaXMuZGF0YSgpLmlzRW1wdHkoKSlyZXR1cm4gaTtjb25zdCBvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bylyZXR1cm4gaTtjb25zdCBhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFhLnZpc2libGUudmFsdWUoKSlyZXR1cm4gaTtjb25zdCBsPXRoaXMubmVhcmVzdEluZGV4KG8ubGFzdEJhcigpLGguUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQsMSk7aWYodm9pZCAwPT09bClyZXR1cm4gaTtjb25zdCB1PXRoaXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT11KXJldHVybiBpO2NvbnN0IGM9dGhpcy5fbGFzdE5vbkVtcHR5UGxvdFJvdyg0KSxkPW51bGwhPT1jJiZvLmNvbnRhaW5zKGMuaW5kZXgpLF89bnVsbCE9PWM/Yy52YWx1ZTpudWxsLHA9dHx8ZD9fOnRoaXMuZGF0YSgpLnZhbHVlQXQobCk7aWYobnVsbD09PXApcmV0dXJuIGk7Y29uc3QgeT10aGlzLl9iYXJGdW5jdGlvbihwLDIpO2lmKCEoMCxyLmlzTnVtYmVyKSh5KSlyZXR1cm4gaTtjb25zdCBtPW4ucHJpY2VUb0Nvb3JkaW5hdGUoeSx1KTtsZXQgdjtzd2l0Y2goYS5zdHlsZS52YWx1ZSgpKXtjYXNlIDA6dj1wWzFdPD1wWzRdP2EuYmFyU3R5bGUuY2hpbGRzKCkudXBDb2xvci52YWx1ZSgpOmEuYmFyU3R5bGUuY2hpbGRzKCkuZG93bkNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxOnY9cFsxXTw9cFs0XT9hLmNhbmRsZVN0eWxlLmNoaWxkcygpLnVwQ29sb3IudmFsdWUoKTphLmNhbmRsZVN0eWxlLmNoaWxkcygpLmRvd25Db2xvci52YWx1ZSgpO2JyZWFrO2Nhc2UgOTp2PXBbMV08PXBbNF0/YS5ob2xsb3dDYW5kbGVTdHlsZS5jaGlsZHMoKS51cENvbG9yLnZhbHVlKCk6YS5ob2xsb3dDYW5kbGVTdHlsZS5jaGlsZHMoKS5kb3duQ29sb3IudmFsdWUoKTticmVhaztjYXNlIDEzOnY9cFsxXTw9cFs0XT9hLmNvbHVtblN0eWxlLmNoaWxkcygpLnVwQ29sb3IudmFsdWUoKTphLmNvbHVtblN0eWxlLmNoaWxkcygpLmRvd25Db2xvci52YWx1ZSgpO2JyZWFrO2Nhc2UgMjp2PWEubGluZVN0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxNDp2PWEubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTticmVhaztjYXNlIDE1OnY9YS5zdGVwbGluZVN0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAzOnY9YS5hcmVhU3R5bGUuY2hpbGRzKCkubGluZWNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxNjp2PWEuaGxjQXJlYVN0eWxlLmNoaWxkcygpLmNsb3NlTGluZUNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxMDp7Y29uc3QgZT1hLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCk7dj1tPE1hdGgucm91bmQobi5oZWlnaHQoKSooTWF0aC5hYnMoMTAwLWUuYmFzZUxldmVsUGVyY2VudGFnZS52YWx1ZSgpKS8xMDApKT9lLnRvcExpbmVDb2xvci52YWx1ZSgpOmUuYm90dG9tTGluZUNvbG9yLnZhbHVlKCk7YnJlYWt9Y2FzZSAxMjp2PWEuaGlsb1N0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAyMTp2PWEuaGxjQmFyc1N0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb3ZlcmxheSBzdHlsZSIpfWNvbnN0IGY9ey4uLm4uZ2V0Rm9ybWF0dGVkVmFsdWVzKHksdSwhMCksbm9EYXRhOiExLGNvb3JkaW5hdGU6bSxjb2xvcjp2fTtyZXR1cm4gcyYmKGYucHJpY2U9eSksZn1wcmljZVJhbmdlKGUpe2NvbnN0e3N0YXJ0VGltZVBvaW50OnQsZW5kVGltZVBvaW50OnN9PWU7aWYoZS5mb3JjZU92ZXJsYXlPbmx5KXJldHVybiBudWxsO2lmKCEoMCxyLmlzSW50ZWdlcikodCkpcmV0dXJuIEJlLmxvZ0RlYnVnKCJwcmljZVJhbmdlOiBpbmNvcnJlY3Qgc3RhcnRCYXIiKSxudWxsO2lmKCEoMCxyLmlzSW50ZWdlcikocykpcmV0dXJuIEJlLmxvZ0RlYnVnKCJwcmljZVJhbmdlOiBpbmNvcnJlY3QgZW5kQmFyIiksbnVsbDtpZigwPT09dGhpcy5kYXRhKCkuc2l6ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5wcmljZVNvdXJjZSgpO2xldCBuO249bnVsbCE9PWk/dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZCh0LHMsW3tuYW1lOmksb2Zmc2V0OjB9XSk6dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZCh0LHMsW3tuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSk7Y29uc3Qgbz1udWxsIT09bj9uZXcgRC5QcmljZVJhbmdlKG4ubWluLG4ubWF4KTpudWxsO3JldHVybiB0aGlzLl9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UobyxlKX1iYXJzKCl7cmV0dXJuIHRoaXMuZGF0YSgpfW9wZW4oZSl7CnJldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5iYXJzKCkudmFsdWVBdChlKSlbMV19aGlnaChlKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLnZhbHVlQXQoZSkpWzJdfWxvdyhlKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLnZhbHVlQXQoZSkpWzNdfWNsb3NlKGUpe3JldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5iYXJzKCkudmFsdWVBdChlKSlbNF19aGwyKGUpe3JldHVybih0aGlzLmhpZ2goZSkrdGhpcy5sb3coZSkpLzJ9aGxjMyhlKXtyZXR1cm4odGhpcy5oaWdoKGUpK3RoaXMubG93KGUpK3RoaXMuY2xvc2UoZSkpLzN9b2hsYzQoZSl7cmV0dXJuKHRoaXMub3BlbihlKSt0aGlzLmhpZ2goZSkrdGhpcy5sb3coZSkrdGhpcy5jbG9zZShlKSkvNH1jYW5CZUhpZGRlbkJ5R2xvYmFsRmxhZygpe3JldHVybiExfWFzeW5jIHN0YXJ0KGUsdCl7dGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsO2NvbnN0IHM9c3VwZXIuc3RhcnQoZSx0KTtyZXR1cm4gdGhpcy5wcmljZVNjYWxlKCk/LnVwZGF0ZUZvcm1hdHRlcigpLExlJiZ0aGlzLl9zZXRRdW90ZXNTeW1ib2woKDAsdy5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QodGhpcy5zeW1ib2woKSkpKSxzfXN0b3AoZSl7c3VwZXIuc3RvcChlKSx0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKG51bGwpfWZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9mb3JtYXR0ZXJ8fHRoaXMuX3JlY3JlYXRlRm9ybWF0dGVyKCksKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mb3JtYXR0ZXIpfXN0YXR1c1ZpZXcoKXtyZXR1cm4ga2U/c3VwZXIuc3RhdHVzVmlldygpOm51bGx9bW92ZUl0ZW0oZSx0LHMpe2lmKDEwPT09dGhpcy5zdHlsZSgpJiYwPT09dCl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VTY2FsZSgpKSxzPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmJhc2VsaW5lU3R5bGUscj10LmhlaWdodCgpLG49MTAwLWUueS9yKjEwMCxvPW48MD8wOk1hdGgucm91bmQoMTAqbikvMTA7cy5jaGlsZHMoKS5iYXNlTGV2ZWxQZXJjZW50YWdlLnNldFZhbHVlKE1hdGgubWF4KE1hdGgubWluKG8sMTAwKSwwKSl9fW1lYXN1cmVVbml0SWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xJbmZvKCk/Lm1ldHJpY3M/bnVsbDooMCxTLm1lYXN1cmVVbml0SWQpKHRoaXMuc3ltYm9sSW5mbygpKX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH1hbGVydENyZWF0aW9uQXZhaWxhYmxlKCl7cmV0dXJuIG5ldyBuLldhdGNoZWRWYWx1ZSghdGhpcy5wcmljZVNjYWxlKCk/LmlzUGVyY2VudGFnZSgpJiZzdXBlci5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSkucmVhZG9ubHkoKX1sZWdlbmRWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9vdmVybGF5TGVnZW5kVmFsdWVzUHJvdmlkZXJ9dGFibGVWaWV3VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fb3ZlcmxheVRhYmxlVmlld1ZhbHVlc1Byb3ZpZGVyfXZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlWYWx1ZXNQcm92aWRlcn1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlDaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyfWRlZmF1bHRQbG90SWRGb3JBbGVydCgpe3JldHVybiIifXRhZ3MoKXtjb25zdCBlPVtdLHQ9dGhpcy5zeW1ib2xJbmZvKCk7aWYodCllLnB1c2godC5uYW1lKTtlbHNle2NvbnN0IHQ9dGhpcy5zeW1ib2woKTt0JiZlLnB1c2godCl9cmV0dXJuIGV9c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyB4ZSh0aGlzKX1pbnB1dHNJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuIG51bGx9X29uUHJvcGVydGllc0NoYW5nZWQoKXtzdXBlci5fb25Qcm9wZXJ0aWVzQ2hhbmdlZCgpLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwfWFzeW5jIF90cnlDaGFuZ2VJbnB1dHMoKXthd2FpdCBzdXBlci5fdHJ5Q2hhbmdlSW5wdXRzKCksdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLHRoaXMucHJpY2VTY2FsZSgpPy51cGRhdGVGb3JtYXR0ZXIoKX1fdHJ5Q3JlYXRlRm9ybWF0dGVyKCl7SS5jdXN0b21Gb3JtYXR0ZXJzPy5wcmljZUZvcm1hdHRlckZhY3Rvcnk/Lih0aGlzLnN5bWJvbEluZm8oKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5taW5UaWNrLnZhbHVlKCkpO3JldHVybigwLFMuY3JlYXRlU2VyaWVzRm9ybWF0dGVyKSh0aGlzLmFsaWFzU3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSl9X3RyeUNyZWF0ZURlZmF1bHRGb3JtYXR0ZXIoKXtyZXR1cm4oMCxTLmNyZWF0ZVNlcmllc0Zvcm1hdHRlcikodGhpcy5hbGlhc1N5bWJvbEluZm8oKSwiZGVmYXVsdCIpfV9nZXRTeW1ib2xTb3VyY2UoKXtyZXR1cm4gdGhpc31fb25Vbml0Q2hhbmdlZCgpeyJhbHdheXNPZmYiIT09KDAsZi5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZ0aGlzLmlzU3RhcnRlZCgpJiZ0aGlzLl90cnlDaGFuZ2VJbnB1dHMoKSx0aGlzLl91bml0Q2hhbmdlZC5maXJlKCl9X29uTWV0cmljQ2hhbmdlZCgpeyJhbHdheXNPZmYiIT09KDAsZi5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLHRoaXMuX21ldHJpY0NoYW5nZWQuZmlyZSgpfV9nZXRTeW1ib2xPYmplY3QoZSx0KXtjb25zdCBzPXN1cGVyLl9nZXRTeW1ib2xPYmplY3QoZSkscj10aGlzLmN1cnJlbmN5KCk7bnVsbCE9PXImJihzWyJjdXJyZW5jeS1pZCJdPXIpCjtjb25zdCBuPXRoaXMudW5pdCgpO3RoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09biYmKHNbInVuaXQtaWQiXT1uKTtjb25zdCBvPXRoaXMubWV0cmljKCk7cmV0dXJuIXQmJnRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkmJm51bGwhPT1vJiYocy5tZXRyaWM9bykscy5hZGp1c3RtZW50PSgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5kaXZpZGVuZHNBZGp1c3RtZW50KS52YWx1ZSgpPyJkaXZpZGVuZHMiOiJzcGxpdHMiLHN9X29uU3ltYm9sUmVzb2x2aW5nU3RhcnQoZSx0KXt0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2xTb3VyY2U9dCxzdXBlci5fb25TeW1ib2xSZXNvbHZpbmdTdGFydChlLHQpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMCl9X29uU3ltYm9sRXJyb3IoKXtzdXBlci5fb25TeW1ib2xFcnJvcigpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMSl9X29uU3ltYm9sUmVzb2x2ZWQoZSx0LHMpe3N1cGVyLl9vblN5bWJvbFJlc29sdmVkKGUsdCxzKSx0aGlzLl9iYXNlPXM/cy5wcmljZXNjYWxlL3MubWlubW92OjEwMCx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpO2NvbnN0IGk9dD09PXRoaXMuc3ltYm9sKCk/KDAsZy5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShzLHRoaXMuc3ltYm9sKCkpOm51bGwscj0oMCxTLnN5bWJvbEN1cnJlbmN5KShzKSxuPSgwLFMuc3ltYm9sVW5pdCkocyx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSksbz0oMCxTLnN5bWJvbE1ldHJpYykocyx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpKTt0aGlzLl9zZXRTeW1ib2xQYXJhbXNJbnRlcm5hbCh7c3ltYm9sOmk/P3ZvaWQgMCxjdXJyZW5jeTpyLHVuaXQ6bixtZXRyaWM6b30scyksTGUmJnRoaXMuX3NldFF1b3Rlc1N5bWJvbCgoMCx3LmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLnN5bWJvbCgpKSkpLHRoaXMuX2NoZWNrU3R5bGUoKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfWFzeW5jIF9jaGFuZ2VJbnB1dHNJbXBsKGUsdCl7YXdhaXQgc3VwZXIuX2NoYW5nZUlucHV0c0ltcGwoZSx0KSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpe3JldHVybiBQcm9taXNlLmFsbChbcy5lKDE1OTk4KSxzLmUoNTUyNTMpLHMuZSg2ODM4MSldKS50aGVuKHMuYmluZChzLDQ2OTM5OCkpLnRoZW4oKGU9PmUuU3R1ZHlPdmVybGF5RGVmaW5pdGlvbnNWaWV3TW9kZWwpKX1fc2V0UXVvdGVzU3ltYm9sKGUpe2NvbnN0IHQ9dGhpcy5zeW1ib2xJbmZvKCkscz0oMCxnLmV4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm8pKHQsZSksaT1zJiZ0aGlzLmdldFN5bWJvbFN0cmluZyhzLCEwKTt0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGkpfV9vblF1b3Rlc1VwZGF0ZShlLHQpeyF0aGlzLl9sZWdlbmRWaWV3fHx2b2lkIDA9PT10LnZhbHVlcy5jaGFuZ2UmJnZvaWQgMD09PXQudmFsdWVzLmNoYW5nZV9wZXJjZW50fHwodGhpcy5fbGVnZW5kVmlldy51cGRhdGUoKDAsbGUuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSl9X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcHJpY2VBeGlzVmlld3M9W107Y29uc3QgZT1uZXcgayh0aGlzKTt0aGlzLl9wcmljZUF4aXNWaWV3c0Jhc2U9W2VdO2NvbnN0IHQ9bmV3IE4odGhpcyk7dGhpcy5fcHJpY2VMaW5lc0F4aXNWaWV3cz1bdF0sdGhpcy5fcGFuZVZpZXdzPVtdLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdO2xldCBzPW51bGwscj1udWxsO3N3aXRjaCh0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpKXtjYXNlIDA6cj1uZXcgcGUuU2VyaWVzQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTpyPW5ldyB5ZS5TZXJpZXNDYW5kbGVzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSA5OnI9bmV3IGdlLlNlcmllc0hvbGxvd0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDEzOnI9bmV3IGJlLlNlcmllc0NvbHVtbnNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDI6Y2FzZSAxNDpjYXNlIDE1OnI9bmV3IG1lLlNlcmllc0xpbmVQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDM6cj1uZXcgdmUuU2VyaWVzQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTY6cj1uZXcgZmUuU2VyaWVzSExDQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTA6e3I9bmV3IFNlLlNlcmllc0Jhc2VsaW5lUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5iYXNlbGluZVN0eWxlLmNoaWxkcygpO3M9bmV3IFYuU2VyaWVzV2F0ZXJsaW5lUGFuZVZpZXcoe3BhbmVIZWlnaHQ6KCk9PigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5wcmljZVNjYWxlKCkpLmhlaWdodCgpLGNvbG9yOigpPT5lLmJhc2VsaW5lQ29sb3IudmFsdWUoKSxiYXNlTGV2ZWxQZXJjZW50YWdlOigpPT5lLmJhc2VMZXZlbFBlcmNlbnRhZ2UudmFsdWUoKX0pO2JyZWFrfWNhc2UgMTI6cj1uZXcgd2UuU2VyaWVzSGlMb1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMjE6cj1uZXcgVGUuU2VyaWVzSExDQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpfXImJnRoaXMuX3BhbmVWaWV3cy5wdXNoKHIpLG51bGwhPT1zJiZ0aGlzLl9wYW5lVmlld3MucHVzaChzKSx0aGlzLl9wYW5lVmlld3MucHVzaChuZXcgSCh0aGlzKSksCnRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IGFlKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9sZWdlbmRWaWV3fHwodGhpcy5fbGVnZW5kVmlldz1uZXcgZGUodGhpcyx0aGlzLl9tb2RlbCkpLHRoaXMuX3N0YXR1c1ZpZXd8fCh0aGlzLl9zdGF0dXNWaWV3PW5ldyBULlN0dWR5U3RhdHVzVmlldyh0aGlzKSksdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlld3x8KHRoaXMuX2Zsb2F0aW5nVG9vbHRpcFZpZXc9bmV3IERlLlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9wcmljZUF4aXNWaWV3cz1bLi4udGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlXSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKG5ldyBfZS5QYW5lUHJpY2VBeGlzVmlldyhlLHRoaXMsdGhpcy5fbW9kZWwpKX1fY3JlYXRlU3R1ZHlPblNlcnZlcigpe2NvbnN0IGU9c3VwZXIuX2NyZWF0ZVN0dWR5T25TZXJ2ZXIoKTtyZXR1cm4gdGhpcy5fcmVhbGlnbkxpbmVUb29sc0lmUGFyYW1zQ2hhbmdlZCgpLGV9X21vZGlmeVN0dWR5T25TZXJ2ZXIoZSl7c3VwZXIuX21vZGlmeVN0dWR5T25TZXJ2ZXIoZSwwKX1fdGl0bGVJblBhcnRzKGUsdCxzLGkscil7Y29uc3Qgbj10aGlzLl9nZXRTcGxpdFRpdGxlKHIpLG89W24ubGlzdGVkRXhjaGFuZ2Usbi5wcmljZVNvdXJjZV0uZmlsdGVyKChlPT52b2lkIDAhPT1lKSk7cmV0dXJuW24udGl0bGUsb119X2dldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm57dGl0bGU6dGhpcy5fZ2V0U3ltYm9sVGl0bGVQYXJ0KHQpLGxpc3RlZEV4Y2hhbmdlOnRoaXMuX2dldEV4Y2hhbmdlVGl0bGVQYXJ0KHQsZSk/P3ZvaWQgMCxwcmljZVNvdXJjZTp0aGlzLl9nZXRQcmljZVNvdXJjZVRpdGxlUGFydCh0KT8/dm9pZCAwfX1fbWVyZ2VEYXRhKGUpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5tZXJnZURhdGEoZSl9X2NsZWFyRGF0YSgpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIuY2xlYXJEYXRhKCl9X21vdmVEYXRhKGUpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubW92ZURhdGEoZSl9X2luaXRDdXJyZW5jeU1ldGFEYXRhKCl7KDAsby5jb21iaW5lKSgoZT0+e2NvbnN0IHQ9KDAsUy5zeW1ib2xDdXJyZW5jeSkoZSk7bnVsbCE9PWUmJm51bGwhPT10P3RoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUoe29yaWdpbmFsQ3VycmVuY3k6KDAsUy5zeW1ib2xPcmlnaW5hbEN1cnJlbmN5KShlKSxjdXJyZW50Q3VycmVuY3k6dCxiYXNlQ3VycmVuY3k6KDAsUy5zeW1ib2xCYXNlQ3VycmVuY3kpKGUpLGlzQ3VycmVuY3lDb252ZXJ0aWJsZTooMCxTLnN5bWJvbEN1cnJlbmN5Q29udmVydGlibGUpKGUpLGlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5OigwLFMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3kpKGUpLGN1cnJlbmN5T3JpZ2luTmFtZTooMCxTLnByb1N5bWJvbCkoZSx0aGlzLnN5bWJvbCgpKX0pOnRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUobnVsbCl9KSx0aGlzLl9zeW1ib2xTb3VyY2VTeW1ib2xJbmZvLndlYWtSZWZlcmVuY2UoKSl9X2luaXRVbml0TWV0YURhdGEoKXsoMCxvLmNvbWJpbmUpKCgoZSx0KT0+e2NvbnN0IHM9dGhpcy5fbW9kZWwsaT0oMCxTLnN5bWJvbFVuaXQpKGUscy51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk7bnVsbCE9PWUmJm51bGwhPT1pJiZudWxsIT09dD90aGlzLl91bml0TWV0YURhdGEuc2V0VmFsdWUoe3VuaXRPcmlnaW5OYW1lOigwLFMucHJvU3ltYm9sKShlLHRoaXMuc3ltYm9sKCkpLGNvbnZlcnRpYmxlR3JvdXBzOigwLEFlLnVuaXRDb252ZXJ0aWJsZUdyb3VwcykoZSxpLHQpLGlzQ29udmVydGVkVG9PdGhlclVuaXQ6KDAsUy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpLG9yaWdpbmFsVW5pdDooMCxTLnN5bWJvbE9yaWdpbmFsVW5pdCkoZSxzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxjdXJyZW50VW5pdDppfSk6dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fYXZhaWxhYmxlVW5pdHMud2Vha1JlZmVyZW5jZSgpKX1fZ2V0U3ltYm9sVGl0bGVQYXJ0KGUpe2lmKG51bGw9PT1lKXJldHVybiBNZT8iIjooZT0+dGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKGUpPy5hbGlhc05hbWU/P2UpKHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSk7Y29uc3QgdD10aGlzLl9tb2RlbC5zeW1ib2xBbGlhc1NlcnZpY2UoKT8uZ2V0QWxpYXNCeVByb05hbWUoZS5wcm9fbmFtZSk/LmFsaWFzTmFtZT8/ZS5uYW1lO2lmKEVlKXN3aXRjaCh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKS52YWx1ZSgpKXtjYXNlImRlc2NyaXB0aW9uIjpyZXR1cm4gZS5kZXNjcmlwdGlvbjtjYXNlInRpY2tlci1hbmQtZGVzY3JpcHRpb24iOnJldHVybmAke3R9LCAke2UuZGVzY3JpcHRpb259YDtjYXNlImxvbmctZGVzY3JpcHRpb24iOnJldHVybiBlLmxvbmdfZGVzY3JpcHRpb24/P2UuZGVzY3JpcHRpb259cmV0dXJuIHR9X2dldEV4Y2hhbmdlVGl0bGVQYXJ0KGUsdCl7cmV0dXJuIG51bGw9PT1lfHx0P251bGw6KDAsUy5nZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZSkoZSl9X2dldFByaWNlU291cmNlVGl0bGVQYXJ0KGUpe3JldHVybiBudWxsfV9vbkFsbG93RXh0ZW5kVGltZVNjYWxlQ2hhbmdlZCgpe31fc2V0U3ltYm9sUGFyYW1zSW50ZXJuYWwoZSx0KXsKY29uc3R7c3ltYm9sOnMsY3VycmVuY3k6aSx1bml0OnIsbWV0cmljOm4sc3R5bGU6b309ZSxhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLGw9YS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCksdT1hLmN1cnJlbmN5SWQudmFsdWUoKSxjPWEudW5pdElkLnZhbHVlKCksaD1hLm1ldHJpY0lkLnZhbHVlKCksZD1hLnN0eWxlLnZhbHVlKCk7aWYodm9pZCAwIT09cyYmYS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnNldFZhbHVlU2lsZW50bHkocyksdm9pZCAwIT09aSYmYS5jdXJyZW5jeUlkLnNldFZhbHVlU2lsZW50bHkoaSksdm9pZCAwIT09ciYmYS51bml0SWQuc2V0VmFsdWVTaWxlbnRseShyKSx2b2lkIDAhPT1uJiZhLm1ldHJpY0lkLnNldFZhbHVlU2lsZW50bHkobiksdm9pZCAwIT09byYmYS5zdHlsZS5zZXRWYWx1ZVNpbGVudGx5KG8pLHQpdGhpcy5fcmVzb2x2ZWRTeW1ib2xzQnlJbnB1dFt0aGlzLnN5bWJvbCgpXT10LHRoaXMuX3Jlc29sdmVkU3ltYm9sc1t0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKHRoaXMuc3ltYm9sKCkpXT10LHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM9bnVsbDtlbHNle2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihhLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxTLnN5bWJvbEN1cnJlbmN5KShlKSksYS51bml0SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxTLnN5bWJvbFVuaXQpKGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpKSxhLm1ldHJpY0lkLnNldFZhbHVlU2lsZW50bHkoKDAsUy5zeW1ib2xNZXRyaWMpKGUsdGhpcy5fbW9kZWwubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSkpLHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8uc2V0VmFsdWUoZSkpfWEuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpIT09bCYmYS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLmZpcmVDaGFuZ2VkKCksYS5jdXJyZW5jeUlkLnZhbHVlKCkhPT11JiZhLmN1cnJlbmN5SWQuZmlyZUNoYW5nZWQoKSxhLnVuaXRJZC52YWx1ZSgpIT09YyYmYS51bml0SWQuZmlyZUNoYW5nZWQoKSxhLm1ldHJpY0lkLnZhbHVlKCkhPT1oJiZhLm1ldHJpY0lkLmZpcmVDaGFuZ2VkKCksYS5zdHlsZS52YWx1ZSgpIT09ZCYmYS5zdHlsZS5maXJlQ2hhbmdlZCgpLHRoaXMuX2NoZWNrU3R5bGUoKSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X3VwZGF0ZUJhckZ1bmN0aW9uKCl7dGhpcy5fYmFyRnVuY3Rpb249KDAsdi5iYXJGdW5jdGlvbkJ5U3R5bGUpKHRoaXMuc3R5bGUoKSx0aGlzLnByaWNlU291cmNlKCkpfV9vbk1pblRpY2tDaGFuZ2VkKCl7dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKHt0eXBlOiJnbG9iYWwtY2hhbmdlIn0pLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX1fb25DaGFydFN0eWxlQ2hhbmdlZCgpe3RoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5fc3R5bGVUb1JlY292ZXI/Lm9yaWdpbmFsU3R5bGUhPT10aGlzLnN0eWxlKCkmJih0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKX1fY2hlY2tTdHlsZSgpe2NvbnN0IGU9dGhpcy5zdHlsZSgpOygwLFMuaXNDbG9zZUJhc2VkU3ltYm9sKSh0aGlzLnN5bWJvbEluZm8oKSl8fHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKT8oMCxTLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKXx8KHRoaXMuc2V0U3R5bGUoMiksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KTpudWxsIT09dGhpcy5fc3R5bGVUb1JlY292ZXImJih0aGlzLnNldFN0eWxlKHRoaXMuX3N0eWxlVG9SZWNvdmVyLm9yaWdpbmFsU3R5bGUpLHRoaXMuX3N0eWxlVG9SZWNvdmVyPW51bGwpfV9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl7bGV0IGU9bnVsbD09PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM7aWYobnVsbCE9PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpe2NvbnN0IHQ9dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpO2U9dC5zeW1ib2xDaGFuZ2VkfHx0LmludGVydmFsQ2hhbmdlZHx8dC5jdXJyZW5jeUNoYW5nZWR8fHQudW5pdENoYW5nZWR8fHQubWV0cmljQ2hhbmdlZH1lJiYodGhpcy5fbW9kZWwucmVhbGlnbkxpbmVUb29scyh0aGlzKSx0aGlzLl9yZWFsaWduVG9vbHNMYXN0UGFyYW1zPXRoaXMuc3ltYm9sUGFyYW1zKCkpfX19LDg3NDM2OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTdHVkeVN0cmF0ZWd5OigpPT5CfSk7dmFyIGk9cygxNjc1MDIpLHI9cygxMzg2MzgpLG49cygyMzIzNjQpLG89cyg5NDgzODApLGE9cyg0OTAzOTkpLGw9cygxOTcyNzIpLHU9cyg1MDU1NiksYz1zKDczNjUzMSksaD1zKDEzNDY3KSxkPXMoNzYzKSxfPXMoNTE1OTIpLHA9cygxNTEyMSkseT1zKDY0MDc0NCk7ZnVuY3Rpb24gbShlLHQscyl7cmV0dXJuIHM/TWF0aC5zaWduKGUpKihNYXRoLnJvdW5kKE1hdGguYWJzKGUpKSt0KTpNYXRoLnJvdW5kKGUpK3R9Y2xhc3Mgdntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2RhdGE9ZSx0aGlzLl90ZXh0V2lkdGhzPXR9ZHJhdyhlLHQpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOml9PXQ7dm9pZCAwIT09dGhpcy5fdGV4dFdpZHRocy5yZW5kZXJpbmdJbmZvJiYoMCxfLmVxdWFsUmVuZGVyaW5nSW5mb3MpKHRoaXMuX3RleHRXaWR0aHMucmVuZGVyaW5nSW5mbyx0KXx8KHRoaXMuX3RleHRXaWR0aHMucmVuZGVyaW5nSW5mbz10LHRoaXMuX3RleHRXaWR0aHMud2lkdGguY2xlYXIoKSk7Y29uc3Qgcj10aGlzLl9kYXRhO2UubGluZUpvaW49Im1pdGVyIixlLm1pdGVyTGltaXQ9TWF0aC5yb3VuZCgyKnMpLGUuc3Ryb2tlU3R5bGU9ci5iZ0NvbG9yLGUubGluZVdpZHRoPU1hdGgubWF4KDIsKDAseS5jZWlsZWRFdmVuKSgyKnMpKTtmb3IoY29uc3QgcyBvZiByLml0ZW1zKXtlLmJlZ2luUGF0aCgpCjtjb25zdCBuPSJsb3dlciI9PT1zLnBvcztlLnNhdmUoKTtjb25zdCBvPU1hdGgucm91bmQoci5vcmRlckFycm93LnZNYXJnaW4qaSk7ZS50cmFuc2xhdGUoMCxuP286LW8pLHRoaXMuX2RyYXdPcmRlckFycm93KGUscy5vcmRlclBvaW50LHIub3JkZXJBcnJvdyxyLmV4aXRMaW5lV2lkdGgsbix0KSxlLnJlc3RvcmUoKSxlLnNhdmUoKSx0aGlzLl9kcmF3UHJpY2VBcnJvdyhlLHMucHJpY2VQb2ludCxyLnByaWNlQXJyb3csIW4sdCksZS5yZXN0b3JlKCksZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpLGUuZmlsbFN0eWxlPXIuZXhpdExpbmVXaWR0aD9yLmV4aXRDb2xvcjoiYnV5Ij09PXMudHlwZT9yLmJ1eUNvbG9yOnIuc2VsbENvbG9yLGUuZmlsbCgpfWNvbnN0IG49ci50ZXh0O24udmlzaWJsZSYmKDAscC5kcmF3U2NhbGVkKShlLHMsaSwoKCk9PntlLmZvbnQ9bi5mb250U2l6ZSsicHggIituLmZvbnQsZS50ZXh0QWxpZ249ImNlbnRlciIsZS50ZXh0QmFzZWxpbmU9InRvcCIsZS5maWxsU3R5bGU9ci5sYWJlbENvbG9yLGUuc3Ryb2tlU3R5bGU9ci5iZ0NvbG9yLGUubGluZVdpZHRoPU1hdGgubWluKDIsTWF0aC5mbG9vcigyKnMpKTtmb3IoY29uc3QgdCBvZiByLml0ZW1zKXtjb25zdCBzPSJsb3dlciI9PT10LnBvcztlLnNhdmUoKTtjb25zdCBpPXM/MTotMSxvPXIub3JkZXJBcnJvdztlLnRyYW5zbGF0ZSgwLChvLmhlaWdodCtvLnZNYXJnaW4rci5leGl0TGluZVdpZHRoKSppKTtjb25zdCBhPXM/bi52TWFyZ2luOi1uLmZvbnRTaXplLW4udk1hcmdpbixsPWkqKG4uZm9udFNpemUrbi5saW5lU3BhY2luZyk7aWYodC5sYWJlbCYmKGUudHJhbnNsYXRlKDAsYSksZS5zdHJva2VUZXh0KHQubGFiZWwsTWF0aC5jZWlsKHQub3JkZXJQb2ludC54KSx0Lm9yZGVyUG9pbnQueSksZS5maWxsVGV4dCh0LmxhYmVsLE1hdGguY2VpbCh0Lm9yZGVyUG9pbnQueCksdC5vcmRlclBvaW50LnkpLHRoaXMuX3RleHRXaWR0aHMud2lkdGguaGFzKHQubGFiZWwpfHx0aGlzLl90ZXh0V2lkdGhzLndpZHRoLnNldCh0LmxhYmVsLGUubWVhc3VyZVRleHQodC5sYWJlbCkud2lkdGgpKSx0LnF0eSl7Y29uc3Qgcz1Cb29sZWFuKHQubGFiZWwpP2w6YTtlLnRyYW5zbGF0ZSgwLHMpLGUuc3Ryb2tlVGV4dCh0LnF0eSxNYXRoLmNlaWwodC5vcmRlclBvaW50LngpLHQub3JkZXJQb2ludC55KSxlLmZpbGxUZXh0KHQucXR5LE1hdGguY2VpbCh0Lm9yZGVyUG9pbnQueCksdC5vcmRlclBvaW50LnkpLHRoaXMuX3RleHRXaWR0aHMud2lkdGguaGFzKHQucXR5KXx8dGhpcy5fdGV4dFdpZHRocy53aWR0aC5zZXQodC5xdHksZS5tZWFzdXJlVGV4dCh0LnF0eSkud2lkdGgpfWUucmVzdG9yZSgpfX0pKX1oaXRUZXN0KGUpe2NvbnN0IHQ9dGhpcy5fdGVzdE9yZGVyQXJyb3dzKGUpLHM9IXQmJnRoaXMuX2RhdGEudGV4dCYmdGhpcy5fdGVzdFRleHQoZSk7cmV0dXJuIHR8fHM/bmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTpudWxsfV9kcmF3T3JkZXJBcnJvdyhlLHQscyxpLHIsbil7bGV0IG8sYTtyPyhlLnJvdGF0ZShNYXRoLlBJKSxvPS10LngsYT0tdC55KToobz10LngsYT10LnkpLGEtPXMuaGVpZ2h0K2k7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86bCx2ZXJ0aWNhbFBpeGVsUmF0aW86dX09bixjPU1hdGgubWF4KDEsTWF0aC5mbG9vcihsKSksaD1jJTI/LjU6MCxkPXI/ImZsb29yIjoiY2VpbCI7bz1tKG8qbCxoLHIpLGE9TWF0aC5yb3VuZCgoTWF0aFtkXShhKSsuNSkqdSksZS50cmFuc2xhdGUobyxhKTtjb25zdCBfPSgwLHkuY2VpbGVkRXZlbikocy53aWR0aCpsKS8yK2gscD0oMCx5LmNlaWxlZEV2ZW4pKHMudGFpbFdpZHRoKmwpLzIraCx2PU1hdGgucm91bmQocy50YWlsSGVpZ2h0KnUpO2lmKGUubW92ZVRvKC1wLDApLGUubGluZVRvKHAsMCksZS5saW5lVG8ocCx2KSxlLmxpbmVUbyhfLHYpLGUubGluZVRvKDAsTWF0aC5yb3VuZChzLmhlaWdodCp1KSksaSl7Y29uc3QgdD1NYXRoLmZsb29yKGMvMik7ZS5saW5lVG8oXyt0LE1hdGgucm91bmQocy5oZWlnaHQqdSkpLGUubGluZVRvKF8rdCxNYXRoLnJvdW5kKChzLmhlaWdodCtpKSp1KSksZS5saW5lVG8oLV8tdCxNYXRoLnJvdW5kKChzLmhlaWdodCtpKSp1KSksZS5saW5lVG8oLV8tdCxNYXRoLnJvdW5kKHMuaGVpZ2h0KnUpKSxlLmxpbmVUbygwLE1hdGgucm91bmQocy5oZWlnaHQqdSkpfWUubGluZVRvKC1fLHYpLGUubGluZVRvKC1wLHYpLGUubGluZVRvKC1wLDApLGUubGluZVRvKHAsMCl9X2RyYXdQcmljZUFycm93KGUsdCxzLGkscil7bGV0IG4sbztpPyhlLnJvdGF0ZShNYXRoLlBJKSxuPS10Lngsbz0tdC55KToobj10Lngsbz10LnkpO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmEsdmVydGljYWxQaXhlbFJhdGlvOmx9PXIsdT1NYXRoLm1heCgxLE1hdGguZmxvb3IoYSkpLGM9dSUyPy41OjA7bj1tKG4qYSxjLGkpLXUsbz1tKG8qbCxjLGkpO2NvbnN0IGg9KDAseS5jZWlsZWRFdmVuKSgyKnMud2lkdGgqbCkvMixkPS0oTWF0aC5yb3VuZChzLndpZHRoKmEpK2MpO2UudHJhbnNsYXRlKG4sbyksZS5tb3ZlVG8oMCwwKSxlLmxpbmVUbyhkLC1oKSxlLmxpbmVUbyhkLGgpLGUubGluZVRvKDAsMCksZS5saW5lVG8oZCwtaCl9X3Rlc3RPcmRlckFycm93cyhlKXtjb25zdCB0PXRoaXMuX2RhdGEscz10Lm9yZGVyQXJyb3cud2lkdGgvMjtmb3IoY29uc3QgaSBvZiB0Lml0ZW1zKXtjb25zdCByPWkub3JkZXJQb2ludDtpZihlLng8ci54LXN8fGUueD5yLngrcyljb250aW51ZTtjb25zdCBuPSJsb3dlciI9PT1pLnBvcztsZXQgbz10Lm9yZGVyQXJyb3cuaGVpZ2h0K3QuZXhpdExpbmVXaWR0aDtufHwobz0tbyk7Y29uc3QgYT1yLnkrKG4/dC5vcmRlckFycm93LnZNYXJnaW46LXQub3JkZXJBcnJvdy52TWFyZ2luKSxsPU1hdGgubWluKGEsYStvKSx1PU1hdGgubWF4KGEsYStvKTtpZighKGUueTxsfHxlLnk+dSkpcmV0dXJuITB9cmV0dXJuITF9X3Rlc3RUZXh0KGUpe2NvbnN0IHQ9dGhpcy5fZGF0YSxzPXQudGV4dDtpZighcy52aXNpYmxlKXJldHVybiExO2Zvcihjb25zdCBpIG9mIHQuaXRlbXMpewpjb25zdCByPWkub3JkZXJQb2ludCxuPSJsb3dlciI9PT1pLnBvcztsZXQgbz10Lm9yZGVyQXJyb3cudk1hcmdpbit0Lm9yZGVyQXJyb3cuaGVpZ2h0K3QuZXhpdExpbmVXaWR0aDtufHwobz0tbyk7Y29uc3QgYT1yLnkrbyxsPShpLmxhYmVsPzE6MCkrKGkucXR5PzE6MCk7bGV0IHU9cy52TWFyZ2luK3MuZm9udFNpemUqbCtzLmxpbmVTcGFjaW5nKk1hdGgubWF4KDAsbC0xKTtufHwodT0tdSk7Y29uc3QgYz1NYXRoLm1pbihhLGErdSksaD1NYXRoLm1heChhLGErdSk7aWYoZS55PGN8fGUueT5oKWNvbnRpbnVlO2NvbnN0IGQ9aS5sYWJlbCYmaS5xdHk/biYmZS55PGErcy5mb250U2l6ZXx8IW4mJmUueT5hLXMuZm9udFNpemU/aS5sYWJlbDppLnF0eTppLmxhYmVsfHxpLnF0eSxfPXRoaXMuX3RleHRXaWR0aHMud2lkdGguZ2V0KGQpO2lmKCEodm9pZCAwPT09X3x8ZS54PHIueC1fLzJ8fGUueD5yLngrXy8yKSlyZXR1cm4hMH1yZXR1cm4hMX19dmFyIGYsUz1zKDkyNjE0OSksZz1zKDkzNjMyNiksYj1zKDc4OTE5MCk7IWZ1bmN0aW9uKGUpe2VbZS5PcmRlckFycm93Vk1hcmdpbj0xMV09Ik9yZGVyQXJyb3dWTWFyZ2luIixlW2UuT3JkZXJBcnJvd1dpZHRoPTEwXT0iT3JkZXJBcnJvd1dpZHRoIixlW2UuT3JkZXJBcnJvd0hlaWdodD0xNV09Ik9yZGVyQXJyb3dIZWlnaHQiLGVbZS5PcmRlckFycm93VGFpbFdpZHRoPTJdPSJPcmRlckFycm93VGFpbFdpZHRoIixlW2UuT3JkZXJBcnJvd1RhaWxIZWlnaHQ9MTBdPSJPcmRlckFycm93VGFpbEhlaWdodCIsZVtlLk9yZGVyQXJyb3dFeGl0TGluZVdpZHRoPTJdPSJPcmRlckFycm93RXhpdExpbmVXaWR0aCIsZVtlLlByaWNlQXJyb3dXaWR0aD01XT0iUHJpY2VBcnJvd1dpZHRoIixlW2UuVGV4dFZNYXJnaW49N109IlRleHRWTWFyZ2luIixlW2UuRm9udFNpemU9MTJdPSJGb250U2l6ZSIsZVtlLkxpbmVTcGFjaW5nPTJdPSJMaW5lU3BhY2luZyIsZVtlLlRleHRWaXNpYmlsaXR5TWluQmFyU3BhY2luZz0xMF09IlRleHRWaXNpYmlsaXR5TWluQmFyU3BhY2luZyJ9KGZ8fChmPXt9KSk7Y29uc3Qgdz17QnV5Q29sb3I6KDAsdS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksU2VsbENvbG9yOiIjRkYxNzQ0IixFeGl0Q29sb3I6IiNENTAwRjkiLExhYmVsRGFya0NvbG9yOigwLHUuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksTGFiZWxMaWdodENvbG9yOigwLHUuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktOTAwIil9O2Z1bmN0aW9uIEMoZSl7cmV0dXJuITE9PT1lLmU/ImV4aXQiOmUuYj8iZW50cnlCdXkiOiJlbnRyeVNlbGwifWZ1bmN0aW9uIFAoZSl7cmV0dXJuIGUuYj8iYnV5Ijoic2VsbCJ9ZnVuY3Rpb24geChlLHQpe3JldHVybiB0PyFlLmI6ZS5ifWZ1bmN0aW9uIEQoZSx0KXtyZXR1cm4geChlLHQpPyJsb3dlciI6InVwcGVyIn1mdW5jdGlvbiBJKGUsdCxzKXtsZXQgaT1lW3RdLmdldChzKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9MCxlW3RdLnNldChzLGkpKSxpfWZ1bmN0aW9uIFQoZSx0LHMsaSl7Y29uc3Qgbj0oMCxyLmVuc3VyZURlZmluZWQpKGVbdF0uZ2V0KHMpKTtlW3RdLnNldChzLG4raSl9ZnVuY3Rpb24gVihlLHQpe3JldHVybiB0JiYoZS5jfHxlLmlkfHwiVW50aXRsZWQiKXx8IiJ9ZnVuY3Rpb24gUihlLHQpe3JldHVybiB0JiYoZS5iPyIrIjoiLSIpK2UucXx8IiJ9ZnVuY3Rpb24gQShlLHQscyl7cmV0dXJuKDAsci5lbnN1cmVOb3ROdWxsKShlLmI/cy52YWx1ZUF0KHQsMyk6cy52YWx1ZUF0KHQsMikpfWZ1bmN0aW9uIEwoZSx0KXtyZXR1cm4oImV4aXQiPT09QyhlKT8yOjApK3Qudk1hcmdpbit0LmhlaWdodH1jbGFzcyBFe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl90ZXh0V2lkdGhzPXt3aWR0aDpuZXcgTWFwfSx0aGlzLl9zdHVkeT1lLHRoaXMuX3Nlcmllcz10LHRoaXMuX21vZGVsPXMsdGhpcy5fb3JkZXJBcnJvdz17dk1hcmdpbjoxMSx3aWR0aDoxMCxoZWlnaHQ6MTUsdGFpbFdpZHRoOjIsdGFpbEhlaWdodDoxMH0sdGhpcy5fcHJpY2VBcnJvdz17d2lkdGg6NX0sdGhpcy5fcHJldmlvdXNGb250PVMuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSx0aGlzLl90ZXh0PXt2TWFyZ2luOjcsZm9udDp0aGlzLl9wcmV2aW91c0ZvbnQsZm9udFNpemU6MTIsbGluZVNwYWNpbmc6Mix2aXNpYmxlOiEwfSx0aGlzLl9pdGVtcz17ZW50cnlCdXk6W10sZW50cnlTZWxsOltdLGV4aXQ6W119LHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHJhdGVneS5jaGlsZHMoKS5vcmRlcnMuc3Vic2NyaWJlKHRoaXMsdGhpcy51cGRhdGUpfXVwZGF0ZSgpe3RoaXMuX2ludmFsaWRhdGVkPSEwfWNsZWFySXRlbXMoKXt0aGlzLl9pdGVtcy5lbnRyeUJ1eT1bXSx0aGlzLl9pdGVtcy5lbnRyeVNlbGw9W10sdGhpcy5faXRlbXMuZXhpdD1bXX1yZW5kZXJlcigpe2NvbnN0IGU9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFlLnZpc2libGUudmFsdWUoKXx8IWUuc3RyYXRlZ3kuY2hpbGRzKCkub3JkZXJzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4gbnVsbDtpZih0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5faXRlbXMuZW50cnlCdXkubGVuZ3RofHx0aGlzLl9pdGVtcy5lbnRyeVNlbGwubGVuZ3RofHx0aGlzLl9pdGVtcy5leGl0Lmxlbmd0aCl7Y29uc3QgZT1uZXcgYi5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdGhpcy5faXRlbXMuZW50cnlCdXkubGVuZ3RoJiZlLmFwcGVuZCh0aGlzLl9zdHJhdGVneU9yZGVyc1JlbmRlcmVyKHRoaXMuX2l0ZW1zLmVudHJ5QnV5LCExKSksdGhpcy5faXRlbXMuZW50cnlTZWxsLmxlbmd0aCYmZS5hcHBlbmQodGhpcy5fc3RyYXRlZ3lPcmRlcnNSZW5kZXJlcih0aGlzLl9pdGVtcy5lbnRyeVNlbGwsITEpKSx0aGlzLl9pdGVtcy5leGl0Lmxlbmd0aCYmZS5hcHBlbmQodGhpcy5fc3RyYXRlZ3lPcmRlcnNSZW5kZXJlcih0aGlzLl9pdGVtcy5leGl0LCEwKSksZX1yZXR1cm4gbnVsbH0KX3N0cmF0ZWd5T3JkZXJzUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCksaT0iYmxhY2siPT09KDAsaC5yZ2JUb0JsYWNrV2hpdGVTdHJpbmcpKCgwLGgucGFyc2VSZ2IpKHMpLDE1MCk7cmV0dXJuIG5ldyB2KHtpdGVtczplLGJ1eUNvbG9yOncuQnV5Q29sb3Isc2VsbENvbG9yOncuU2VsbENvbG9yLGV4aXRDb2xvcjp3LkV4aXRDb2xvcixsYWJlbENvbG9yOmk/dy5MYWJlbERhcmtDb2xvcjp3LkxhYmVsTGlnaHRDb2xvcixiZ0NvbG9yOnMsb3JkZXJBcnJvdzp0aGlzLl9vcmRlckFycm93LGV4aXRMaW5lV2lkdGg6dD8yOjAscHJpY2VBcnJvdzp0aGlzLl9wcmljZUFycm93LHRleHQ6dGhpcy5fdGV4dH0sdGhpcy5fdGV4dFdpZHRocyl9X3VwZGF0ZUltcGwoKXt0aGlzLmNsZWFySXRlbXMoKSx0aGlzLl9wcmV2aW91c0ZvbnQhPT1TLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkmJih0aGlzLl90ZXh0V2lkdGhzLndpZHRoLmNsZWFyKCksdGhpcy5fcHJldmlvdXNGb250PVMuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSx0aGlzLl90ZXh0LmZvbnQ9dGhpcy5fcHJldmlvdXNGb250KTtjb25zdCBlPXRoaXMuX3N0dWR5Lm9yZGVyc0RhdGEoKTtpZighZXx8IWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLHM9dGhpcy5fc2VyaWVzLnByaWNlU2NhbGUoKSxpPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKHQuaXNFbXB0eSgpfHxzLmlzRW1wdHkoKXx8bnVsbD09PWkpcmV0dXJuO2NvbnN0IG49dGhpcy5fc3R1ZHkuYmFyc0luZGV4ZXMoKSxvPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5maXJzdEJhcigpLGcuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KSxhPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5sYXN0QmFyKCksZy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09b3x8dm9pZCAwPT09YSlyZXR1cm47Y29uc3RbbCx1XT1mdW5jdGlvbihlLHQscyxpKXtjb25zdCByPVtdLG49W107Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDsrK28pe2NvbnN0IGE9aVtvXTthPHR8fGE+c3x8KHIucHVzaChlW29dKSxuLnB1c2goYSkpfXJldHVybltyLG5dfShlLG8sYSxuKSxbaCxkXT10aGlzLl9sYWJlbEFuZFF0eVZpc2liaWxpdHkobC5sZW5ndGgpLF89aHx8ZCxwPXRoaXMuX3RleHRIZWlnaHQoaCxkKSx5PSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKSksbT1zLmlzSW52ZXJ0ZWQoKSx2PXt1cHBlcjpuZXcgTWFwLGxvd2VyOm5ldyBNYXB9O2ZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSsrKXtjb25zdCBpPWxbZV0scj14KGksbSksbj11W2VdLG89dC5pbmRleFRvQ29vcmRpbmF0ZShuKSxhPUEoaSxuLHRoaXMuX3Nlcmllcyk7bGV0IF89cy5wcmljZVRvQ29vcmRpbmF0ZShhLHkpO2NvbnN0IGY9RChpLG0pLFM9SSh2LGYsbik7Xys9cj9TOi1TO1QodixmLG4sTChpLHRoaXMuX29yZGVyQXJyb3cpK3ApO2NvbnN0IGc9cy5wcmljZVRvQ29vcmRpbmF0ZShpLnAseSksYj1DKGkpO3RoaXMuX2l0ZW1zW2JdLnB1c2goe29yZGVyUG9pbnQ6bmV3IGMuUG9pbnQobyxfKSxwcmljZVBvaW50Om5ldyBjLlBvaW50KG8sZyksbGFiZWw6VihpLGgpLHF0eTpSKGksZCkscG9zOmYsdHlwZTpQKGkpfSl9dGhpcy5fdGV4dC52aXNpYmxlPV99X2xhYmVsQW5kUXR5VmlzaWJpbGl0eShlKXtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKHQuYmFyU3BhY2luZygpPDEwJiZ0aGlzLl9vcmRlckFycm93LndpZHRoKmUqMj50LndpZHRoKCkpcmV0dXJuWyExLCExXTtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHJhdGVneS5jaGlsZHMoKS5vcmRlcnMuY2hpbGRzKCk7cmV0dXJuW3Muc2hvd0xhYmVscy52YWx1ZSgpLHMuc2hvd1F0eS52YWx1ZSgpXX1fdGV4dEhlaWdodChlLHQpe3JldHVybiBlfHx0P2UmJnQ/Mip0aGlzLl90ZXh0LmZvbnRTaXplK3RoaXMuX3RleHQudk1hcmdpbit0aGlzLl90ZXh0LmxpbmVTcGFjaW5nOnRoaXMuX3RleHQuZm9udFNpemUrdGhpcy5fdGV4dC52TWFyZ2luOjB9fXZhciBNPXMoMjI2OTM3KTtjb25zdCBrPVsic3RyYXRlZ3lfcHJvcHMiXTtjbGFzcyBCIGV4dGVuZHMgbC5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsYSxsLHUpe3N1cGVyKGUsdCxzLGkscixhLGwpLHRoaXMud2F0Y2hlZERhdGE9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX3JlcG9ydERhdGE9bnVsbCx0aGlzLl9yZXBvcnRDaGFuZ2VkPW5ldyBvLkRlbGVnYXRlLHRoaXMuX2JhcnNJbmRleGVzPVtdLHRoaXMuX3NyY0JhcnNJbmRleGVzPVtdLHRoaXMuX3JlcG9ydERhdGFCdWZmZXI9bnVsbCx0aGlzLl9hY3RpdmVTdGF0ZT0hMSx1fHwodC5jaGlsZHMoKS52aXNpYmxlLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KCl9KSksdGhpcy5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KCkpKSx0aGlzLl9wcm9jZXNzQ2hhbmdlVmlzaWJpbGl0eShhKSl9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudmlzaWJsZS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1vZGVsKCkucmVtb3ZlU3RyYXRlZ3lTb3VyY2UodGhpcywwKSxzdXBlci5kZXN0cm95KCl9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfWhhc1N0YXRlRm9yQWxlcnQoKXtyZXR1cm4gYS5hbGVydHNBdmFpbGFibGUmJnRoaXMuX3Nlcmllcy5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKX1jYW5IYXNBbGVydE9uTGluZVRvb2xzKCl7cmV0dXJuITF9aW5wdXRzRm9yQWxlcnRTdGF0ZSgpe2NvbnN0IGU9dGhpcy5pbnB1dHMoKTtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5pbnB1dHMuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0LmlkXTtzJiZ0LmludGVybmFsSUQmJihzLmludGVybmFsSUQ9dC5pbnRlcm5hbElEKX0pKSxlfXJlcG9ydERhdGEoKXsKcmV0dXJuIHRoaXMuX3JlcG9ydERhdGF9b3JkZXJzRGF0YSgpe3JldHVybiB0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/P251bGx9YmFyc0luZGV4ZXMoKXtyZXR1cm4gdGhpcy5fYmFyc0luZGV4ZXN9Y2xlYXJEYXRhKCl7c3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fcmVwb3J0RGF0YUJ1ZmZlcj1udWxsLHRoaXMuX3JlcG9ydERhdGE9bnVsbCx0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3JiZ0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3LmNsZWFySXRlbXMoKSx0aGlzLl9yZXBvcnRDaGFuZ2VkLmZpcmUoe2FjdGl2ZU9yZGVyc0NoYW5nZWQ6ITAsZmlsbGVkT3JkZXJzQ2hhbmdlZDohMCxwb3NpdGlvbkNoYW5nZWQ6ITB9KX1yZXBvcnRDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3JlcG9ydENoYW5nZWR9c3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpe3JldHVybiB0aGlzLmlzU291cmNlSGlkZGVuKCk/bnVsbDp0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3fXJlc3RvcmVEYXRhKGUpe3N1cGVyLnJlc3RvcmVEYXRhKGUpO2NvbnN0IHQ9ZTt0aGlzLm1vZGVsKCkuYWRkU3RyYXRlZ3lTb3VyY2UodGhpcywwKSx0LnJlcG9ydERhdGEmJnQuYmFyc0luZGV4ZXMmJih0aGlzLl9yZXBvcnREYXRhPXQucmVwb3J0RGF0YSx0aGlzLl9iYXJzSW5kZXhlcz10LmJhcnNJbmRleGVzLHRoaXMud2F0Y2hlZERhdGEuc2V0VmFsdWUoe21ldGhvZDoiZGF0YV91cGRhdGUiLG5vblNlcmllc0RhdGE6e2luZGV4ZXNfcmVwbGFjZTohMSxkYXRhOntyZXBvcnQ6dGhpcy5fcmVwb3J0RGF0YX19fSkpLHQuYWN0aXZlU3RhdGUmJih0aGlzLl9hY3RpdmVTdGF0ZT0hMCl9YWN0aXZlU3RhdGUoKXtyZXR1cm4gdGhpcy5fYWN0aXZlU3RhdGV9dXBkYXRlQWxsVmlld3MoZSl7c3VwZXIudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fc3RyYXRlZ3lPcmRlcnNQYW5lVmlldyYmdGhpcy5fc3RyYXRlZ3lPcmRlcnNQYW5lVmlldy51cGRhdGUoKX1zdGF0ZShlLHQpe2NvbnN0IHM9c3VwZXIuc3RhdGUoZSx0KTtyZXR1cm4gZSYmdGhpcy5fcmVwb3J0RGF0YSYmdGhpcy5fYmFyc0luZGV4ZXMmJihzLmRhdGF8fChzLmRhdGE9e30pLHMuZGF0YS5yZXBvcnREYXRhPXRoaXMuX3JlcG9ydERhdGEscy5kYXRhLmJhcnNJbmRleGVzPXRoaXMuX2JhcnNJbmRleGVzLHMuZGF0YS5hY3RpdmVTdGF0ZT10aGlzLm1vZGVsKCkuYWN0aXZlU3RyYXRlZ3lTb3VyY2UoKS52YWx1ZSgpPT09dGhpcyksc31waW5lU291cmNlQ29kZU1vZGVsKCl7cmV0dXJuIHRoaXMubWV0YUluZm8oKS5waW5lPyh0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD1uZXcgTS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDQyMDk2KSxzLmUoMjQxMDgpXSkudGhlbihzLmJpbmQocyw0ODMzNjApKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLlBpbmVTdHJhdGVneVNvdXJjZUNvZGVNb2RlbCh0aGlzKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpKSx0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsLnByb21pc2UoKSk6UHJvbWlzZS5yZXNvbHZlKG51bGwpfV9vbkRhdGEoZSl7ZS5tZXRob2QmJiJkYXRhX3VwZGF0ZSIhPT1lLm1ldGhvZCYmdGhpcy53YXRjaGVkRGF0YS5zZXRWYWx1ZSh7bWV0aG9kOmUubWV0aG9kfSksc3VwZXIuX29uRGF0YShlKX1fb25EYXRhVXBkYXRlZChlLHQscyxuKXtsZXQgbz10JiYhdC5pbmRleGVzX3JlcGxhY2UmJnQuZGF0YSYmdC5kYXRhLnJlcG9ydDtpZihvKXtjb25zdCBlPSEoMCxpLmRlZmF1bHQpKG8uYWN0aXZlT3JkZXJzLHRoaXMuX3JlcG9ydERhdGE/LmFjdGl2ZU9yZGVycykscz0hKDAsaS5kZWZhdWx0KShvLmZpbGxlZE9yZGVycyx0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnMpLG49ISgwLGkuZGVmYXVsdCkoby5wb3NpdGlvbix0aGlzLl9yZXBvcnREYXRhPy5wb3NpdGlvbik7dCYmIXQuaW5kZXhlc19yZXBsYWNlJiZ0LmlzVXBkYXRlJiZ0aGlzLl9yZXBvcnREYXRhQnVmZmVyJiYobz17Li4udGhpcy5fcmVwb3J0RGF0YUJ1ZmZlciwuLi5vfSksdGhpcy5fcmVwb3J0RGF0YT17Li4udGhpcy5fcmVwb3J0RGF0YUJ1ZmZlciwuLi5vfSx0aGlzLl9yZXBvcnREYXRhQnVmZmVyPXRoaXMuX3JlcG9ydERhdGEsdGhpcy53YXRjaGVkRGF0YS5zZXRWYWx1ZSh7bWV0aG9kOiJkYXRhX3VwZGF0ZSIsbm9uU2VyaWVzRGF0YTooMCxyLmVuc3VyZU5vdE51bGwpKHQpfSksdGhpcy5fcmVwb3J0Q2hhbmdlZC5maXJlKHthY3RpdmVPcmRlcnNDaGFuZ2VkOmUsZmlsbGVkT3JkZXJzQ2hhbmdlZDpzLHBvc2l0aW9uQ2hhbmdlZDpufSl9ZWxzZSB0aGlzLndhdGNoZWREYXRhLnNldFZhbHVlKHttZXRob2Q6ImRhdGFfdXBkYXRlIixub25TZXJpZXNEYXRhOntpbmRleGVzX3JlcGxhY2U6ITEsZGF0YTp7cmVwb3J0OnRoaXMuX3JlcG9ydERhdGFCdWZmZXJ9fX0pO2NvbnN0IGE9ISghdHx8IXQuaW5kZXhlc19yZXBsYWNlKTsoIm5vY2hhbmdlIiE9PXMmJnMubGVuZ3RoPjB8fCh0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/Lmxlbmd0aD8/MCkhPT10aGlzLl9iYXJzSW5kZXhlcy5sZW5ndGgpJiYob3x8YSkmJnRoaXMuX2NvbGxhdGVCYXJzSW5kZXhlcyhBcnJheS5pc0FycmF5KHMpP3M6dGhpcy5fc3JjQmFyc0luZGV4ZXMpLHN1cGVyLl9vbkRhdGFVcGRhdGVkKGUsdCxzLG4pfV9jcmVhdGVWaWV3cygpe3N1cGVyLl9jcmVhdGVWaWV3cygpLHRoaXMuX3N0cmF0ZWd5T3JkZXJzUGFuZVZpZXc9bmV3IEUodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwpfV90aXRsZUlucHV0cyhlLHQscyl7cmV0dXJuIHRoaXMuaW5wdXRzKHtzeW1ib2xzRm9yRGlzcGxheTohMCxza2lwSGlkZGVuSW5wdXRzOiEwLHNraXBGYWtlSW5wdXRzOiExLGZha2VJbnB1dHNGb3JEaXNwbGF5OiEwLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6ayxub0V4Y2hhbmdlczp0LGRpc3BsYXlNYXNrOmV9KX1fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpe3JldHVybiJzdHJhdGVneSJ9X2NvbGxhdGVCYXJzSW5kZXhlcyhlKXt0aGlzLl9zcmNCYXJzSW5kZXhlcz1lCjtjb25zdCB0PXRoaXMuX3JlcG9ydERhdGE/LmZpbGxlZE9yZGVycztpZih0JiZ0Lmxlbmd0aCl7dGhpcy5fYmFyc0luZGV4ZXMubGVuZ3RoPTA7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspdGhpcy5fYmFyc0luZGV4ZXNbc109ZVt0W3NdLnRtXX19X3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KGUpe2NvbnN0IHQ9ITA9PT1lPzI6MDt0aGlzLmlzU291cmNlSGlkZGVuKCk/dGhpcy5tb2RlbCgpLnJlbW92ZVN0cmF0ZWd5U291cmNlKHRoaXMsdCk6dGhpcy5tb2RlbCgpLmFkZFN0cmF0ZWd5U291cmNlKHRoaXMsdCl9fX0sOTYwOTYyKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmlzRmluaXRlKGUpfXMuZCh0LHtoYXNOdW1iZXI6KCk9Pml9KX0sMjQxNTMyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjYzNSAzLjEzNUE3IDcgMCAwIDEgMTYgMTAuMDAxaC0xYTYuMDAzIDYuMDAzIDAgMCAwLTcuMTctNS44ODVBNiA2IDAgMCAwIDkgMTZ2MUE3LjAwMSA3LjAwMSAwIDAgMSA0LjA1IDUuMDVhNyA3IDAgMCAxIDMuNTg1LTEuOTE2TTE0IDE0LjAwMWgydjFoLTJ2MmgtMXYtMmgtMnYtMWgydi0yaDF6bS00LTNIN3YtMWgyVjdoMXpNNC44MzYgMS42OTdsLTMuNjIgMy43MTZMLjUgNC43MTYgNC4xMiAxem0xMi42NjEgMy4wMTgtLjcxNy42OTgtMy42MTktMy43MTYuNzE3LS42OTh6Ii8+PC9zdmc+J30sMTg2OTgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDVhNS41IDUuNSAwIDEgMSAwIDExQTUuNSA1LjUgMCAwIDEgOSA1bS0uNSA1SDZ2MS41aDRWN0g4LjV6TTYuMDAyIDMuMDYzIDIuMDYgNi45OTUgMSA1LjkzMyA0Ljk0MyAyem0xMSAyLjg3LTEuMDYgMS4wNjJMMTIgMy4wNjMgMTMuMDU5IDJ6Ii8+PC9zdmc+J30sNDM1MjczKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMi41NyA1LjVoLS4wN2EzLjUgMy41IDAgMSAwIC4wNyA3QTQuOTggNC45OCAwIDAgMSA0IDlhNSA1IDAgMCAxIDguNTctMy41eiIvPjwvc3ZnPid9LDU1MTQzMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIuMjIgMTEuNzhBMy40NyAzLjQ3IDAgMCAwIDkgNi45OGEzLjQ4IDMuNDggMCAwIDAtMy4yMiA0LjggNi45NyA2Ljk3IDAgMCAxIDYuNDQgMHpNNC4xOCA5LjgzTDIuMSA5LjI4bC4zMy0xLjI0IDIuMDcuNTUtLjMzIDEuMjR6TTYuMzggNi4zNmwtLjktMS45NCAxLjE2LS41NC45IDEuOTQtMS4xNi41NHpNMTAuNDYgNS44MmwuOS0xLjk0IDEuMTYuNTQtLjkgMS45NC0xLjE2LS41NHpNMTMuNDkgOC42bDIuMDctLjU2LjMzIDEuMjQtMi4wNy41NS0uMzMtMS4yNHoiLz48L3N2Zz4nfSwyNDEyMjMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTI0LjUgMTRBMTAuNSAxMC41IDAgMSAwIDE0IDI0LjVWMjZhMTIgMTIgMCAxIDEgMC0yNCAxMiAxMiAwIDAgMSAwIDI0di0xLjVjNS44IDAgMTAuNS00LjcgMTAuNS0xMC41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcuMyAxNEE0LjMgNC4zIDAgMCAwIDEzIDkuN2gtMS4zdjguNkgxM1YyMGgtM1Y4aDNhNiA2IDAgMCAxIC4zIDEySDEzdi0xLjdhNC4zIDQuMyAwIDAgMCA0LjMtNC4zIi8+PC9zdmc+J30sMzUzMjA2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMyAzYTIgMiAwIDAgMSAyIDJ2MThhMiAyIDAgMCAxLTEuOCAxLjk5TDIzIDI1SDVsLS4yLS4wMUEyIDIgMCAwIDEgMyAyMy4yTDMgMjN2LTYuMDhjLjQ5LjA1Ljk4LjMyIDEuNS41OFYyM2MwIC4yOC4yMi41LjUuNWgxOGEuNS41IDAgMCAwIC41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXY1LjVBNCA0IDAgMCAwIDMgMTBWNWMwLTEuMS45LTIgMi0yeiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYuMSAxNi45NmMtMS4xOSAwLTIuMjQtMS4wOC0zLjI1LTEuMDhxLTEuMjMuMDItMS44NS44NVYxNS4xYTIuNCAyLjQgMCAwIDEgMS45LS44NWMxLjE5IDAgMi4yNCAxLjA5IDMuMjUgMS4wOXExLjIyLS4wMiAxLjg1LS44NXYxLjYyYy0uNC40Ny0xLjA0Ljg0LTEuOS44NE02LjEgMTMuN2MtMS4xOSAwLTIuMjQtMS4wOC0zLjI1LTEuMDhxLTEuMjMuMDItMS44NS44NHYtMS42MUEyLjQgMi40IDAgMCAxIDIuOSAxMWMxLjE5IDAgMi4yNCAxLjA5IDMuMjUgMS4wOS44MSAwIDEuNDQtLjMyIDEuODUtLjg1djEuNjFjLS40LjQ4LTEuMDQuODUtMS45Ljg1TTExIDIwVjloNi41djEuN2gtNC44djIuOTVoMy44djEuN2gtMy44djIuOTVoNC44VjIweiIvPjwvc3ZnPid9LDUzNjkyKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjMgMjMuNVYyNUg1di0xLjV6bS41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXYxOGMwIC4yOC4yMi41LjUuNVYyNWwtLjItLjAxQTIgMiAwIDAgMSAzIDIzLjJMMyAyM1Y1YzAtMS4xLjktMiAyLTJoMThhMiAyIDAgMCAxIDIgMnYxOGEyIDIgMCAwIDEtMS44IDEuOTlMMjMgMjV2LTEuNWEuNS41IDAgMCAwIC41LS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgMjBWOWg2LjV2MS43aC00Ljh2Mi45NWgzLjh2MS43aC0zLjh2Mi45NWg0LjhWMjB6Ii8+PC9zdmc+J30sNTUyMDg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDMuNVYyaDE4djEuNXptLS41LjV2MTQuMjNxLjAxLjI3LjIzLjQybDkgNS43N2MuMTYuMS4zNy4xLjU0IDBsOS01Ljc3YS41LjUgMCAwIDAgLjIzLS40MlY0YS41LjUgMCAwIDAtLjUtLjVWMmwuMi4wMWEyIDIgMCAwIDEgMS44IDJ2MTQuMjJhMiAyIDAgMCAxLS44MiAxLjYxbC0uMS4wNy05IDUuNzdhMiAyIDAgMCAxLTIuMTYgMGwtOS01Ljc3QTIgMiAwIDAgMSAzIDE4LjIzVjRhMiAyIDAgMCAxIDEuOC0xLjk5SDV2MS41YS41LjUgMCAwIDAtLjUuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDE4VjdoNi41djEuN2gtNC44djIuOTVoMy44djEuN2gtMy44djIuOTVoNC44VjE4eiIvPjwvc3ZnPid9LDMwNzcwOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjMgMjQuNVYyNkg1di0xLjV6bS41LS41VjkuNzhhLjUuNSAwIDAgMC0uMjMtLjQzbC05LTUuNzdhLjUuNSAwIDAgMC0uNTQgMGwtOSA1Ljc3YS41LjUgMCAwIDAtLjIzLjQzVjI0YzAgLjI4LjIyLjUuNS41VjI2bC0uMi0uMDFBMiAyIDAgMCAxIDMgMjRWOS43OGEyIDIgMCAwIDEgLjgyLTEuNjJsLjEtLjA3IDktNS43N2EyIDIgMCAwIDEgMi4xNiAwbDkgNS43N0EyIDIgMCAwIDEgMjUgOS43N1YyNGEyIDIgMCAwIDEtMiAydi0xLjVhLjUuNSAwIDAgMCAuNS0uNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDIxVjEwaDYuNXYxLjdoLTQuOHYyLjk1aDMuOHYxLjdoLTMuOHYyLjk1aDQuOFYyMXoiLz48L3N2Zz4nfSw3NTI3MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjQuNSAxNEExMC41IDEwLjUgMCAxIDAgMTQgMjQuNVYyNmExMiAxMiAwIDEgMSAwLTI0IDEyIDEyIDAgMCAxIDAgMjR2LTEuNWM1LjggMCAxMC41LTQuNyAxMC41LTEwLjUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMS4xIDE0LjAzIDE3LjA1IDEwIDE2IDExLjA2bDIuMjIgMi4yMmgtNS4zOEw4LjU2IDkgNy41IDEwLjA2bDQuNzIgNC43Mmg2TDE2IDE3bDEuMDYgMS4wNnpNMTAgMTVsLTMgMyAxLjA2IDEuMDYgMy0zeiIvPjwvc3ZnPid9LDY5MTk4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yNC41IDE0QTEwLjUgMTAuNSAwIDEgMCAxNCAyNC41VjI2YTEyIDEyIDAgMSAxIDAtMjQgMTIgMTIgMCAwIDEgMCAyNHYtMS41YzUuOCAwIDEwLjUtNC43IDEwLjUtMTAuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjk5IDhxMS4xNCAwIDEuOTcuNDNBMy4zIDMuMyAwIDAgMSAxNy43OCAxMUgxNnEtLjEtLjMtLjI5LS41NWEyIDIgMCAwIDAtLjctLjU0IDMgMyAwIDAgMC0xLjAzLS4ycS0uNTcgMC0xIC4yLS40NS4xOS0uNy41NGExLjQgMS40IDAgMCAwLS4yNS44NHEwIC40LjE4LjcyLjIuMy41OC41My40LjIyIDEuMDQuMzdsMS4xLjI2cTEuMDkuMjYgMS43Ni42OC42Ny40MSAxIDEuMDQuMy42MS4zMSAxLjQ5IDAgMS4xMy0uNDkgMS45Mi0uNDguODEtMS4zOSAxLjI2VDE0IDIwcS0xLjIgMC0yLjA4LS40MUEzLjI4IDMuMjggMCAwIDEgMTAgMTdoMS44cS4wOS4zLjMuNTMuMy4zNi44LjU2YTMuMSAzLjEgMCAwIDAgMi4yNS0uMDFxLjQ4LS4yMi43NS0uNi4yNy0uMzYuMjctLjg2di0uMDFxMC0uNjItLjQ0LTFhMyAzIDAgMCAwLTEuNDMtLjY0bC0xLjEtLjI1cS0xLjA1LS4yNS0xLjcxLS43dC0uOTgtMS4xcS0uMzItLjY1LS4zMi0xLjQ5IDAtMS4wNC40OS0xLjguNDgtLjc2IDEuMzQtMS4yQTQgNCAwIDAgMSAxNCA4Ii8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/css/jquery.mb.YTPlayer.min.css","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.485Z","timestamp":1785136899485,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /css/jquery.mb.YTPlayer.min.css HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/css\r\nContent-Length: 10465\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":10465,"size_decoded":10675,"mime_type":"text/css","magic":"ASCII text, with very long lines (5048)","md5":"901273a083005ed8f05f19c235e1618e","sha1":"1c679b75452eb6fcd43e6d5a7c2bf5c1312529f3","sha256":"89122a24b64349cf4d1ae941cd23ca2a06460b807b732c3b2884869139fbcc25","sha512":"69470175bc1d4db318a8b96fcd215b73a3088d29f533484b82dfadcc14af85c034c8192b0ec8a1fc071a9d7cf0abe907dc3df453a4715a36ecbde4cb22717ea6","ssdeep":"192:y23C2pkgW7wRjcXpiOHdFqeVVVwJO7W8NUFbL0t2gvMgDY:z3CLH3FLqFHv","tlshash":"9022f9357eeb2b41651bc65827ba1bec2f181013124bccedbb957348cf5d69e48a0f88","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-08-01T11:22:31.042396Z","times_seen":224,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsKQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogeXRwcmVndWxhcjsKICAgIHNyYzogdXJsKGZvbnQveXRwLXJlZ3VsYXIuaHRtbCkKfQoKQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogeXRwcmVndWxhcjsKICAgIHNyYzogdXJsKGRhdGE6YXBwbGljYXRpb24veC1mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JnQUJBQUFBQUE1c0FCRUFBQUFBRkNBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUJnQUFBQUJ3QUFBQWNaOWl1TlVkRVJVWUFBQUdjQUFBQUhRQUFBQ0FBZEFBRVQxTXZNZ0FBQWJ3QUFBQkpBQUFBWUhVTVVyRmpiV0Z3QUFBQ0NBQUFBS2tBQUFHS241WHljV04yZENBQUFBSzBBQUFBTmdBQUFEWU5MUW9oWm5CbmJRQUFBdXdBQUFHeEFBQUNaVk8wTDZkbllYTndBQUFFb0FBQUFBZ0FBQUFJQUFBQUVHZHNlV1lBQUFTb0FBQUdWUUFBQjRqejg2ZFNhR1ZoWkFBQUN3QUFBQUF6QUFBQU5nYktPTnBvYUdWaEFBQUxOQUFBQUNBQUFBQWtFU1FMWEdodGRIZ0FBQXRVQUFBQVZBQUFBUnhPbXdWd2JHOWpZUUFBQzZnQUFBQWpBQUFBa0ZvRVhSUnRZWGh3QUFBTHpBQUFBQ0FBQUFBZ0FXb0I2MjVoYldVQUFBdnNBQUFBK3dBQUFlb2szRWIrY0c5emRBQUFET2dBQUFEQUFBQUJOOTl0djFsd2NtVndBQUFOcUFBQUFMa0FBQUZZM0k2aWtuZGxZbVlBQUE1a0FBQUFCZ0FBQUFiSE1sR25BQUFBQVFBQUFBRE1QYUxQQUFBQUFNM05rN1FBQUFBQXpjMTNzWGphWTJCa1lHRGdBMklKQmhCZ1ltQUVRamNnWmdIekdBQUhUQUI1QUFBQWVOcGpZR2Jad0RpQmdaV0JoZFdZNVN3REE4TXNDTTEwbGlHTktRM0lCMHJCQVNNREVnajFEdmRqY0dEZ2ZjREFsdllQcUpKVmxkRVpwb1pWa3VVWmtGSmdZQVFBVVVVTGV3QUFBSGphWTJCZ1lHYUFZQmtHUmdZUWFBSHlHTUY4Rm9ZTUlDM0dJQUFVWVFPeWVCa1VHS0lZcWhnV0tIQXA2Q3ZFUDJENC94K3NBeVR1eUpBSUZHZUFpelArLy9yLzhmL0QvL2Yrbi9IQThvSG8vV2NLYmxEenNRQkdvT2t3U1VZbUlNR0VyZ0RpUkx5QWhaV05uWU9UaTV1SGw0OWZRRkJJV0VSVVRGeENVa3BhUmhZaUx5ZXZvS2lrcktLcXBxNmhxYVd0bzZ1bmIyQm9aR3hpYW1iT1FGMWdRWll1QUlRbkg0SUFBQUFBQUFBQUFBQUJlZ0VuQUhFQXN3QzlBT0FBNVFEK0FSY0JJd0JkQUhJQnRnQmNBR0FBWmdCeUFJOEFvZ0VyQWJJQVV3QkVCUkVBQUhqYVhWRzdUbHRCRU4wTkR3T0J4TmdnT2RvVXM1bVF4bnVoQlFuRTFZMWlaRHVGNVFocE4zS1JpM0VCSDBDQlJBM2FyeG1nb2FSSW13WWhGMGg4UWo0aEVqTnJpS0kwT3p1emM4NlpNMHZLa2FwMzZXdlBVK2Nra01MZEJzMDIvVTVJdGJNQTk2VHI2NDJNdElNSFdteG05TXAxKy80TEJwdlJsRHRxQU9VOWJ5a1BHVTA3Z1ZxMHAvN1IvQXFHKy93Zjh6c1l0RFRUOU5RNkNla2hCT2FiY1V1RDd4bk51c3NQK29MVjRXSXdNS1NZcHVJdVA2WlMvcmMwNTJyTHNMV1IwYnlETXhINXlUUkFVMnR0QkpyKzFDSFY4M0VVUzVETHByRTJtSml5L2lRVHdZWEpkRlZUdGN6NDJzRmRzclBvWUlNcXpZRUgyTU5XZVF3ZURnOG1GTkszSk1vc0RSSDJZcXZFQ0JHVEhBbzU1ZHpKL3FSQStVZ1N4cnhKU2p2amhyVUd4cEhYd0tBMlQ3UC9QSnROYlc4ZHd2aFpITUYzdnhsTE92aklodG9ZRVdJN1lpbUFDVVJDUmxYNWhoclB2U3dHNUZMN3owQ1VnT1h4ajMrZENMVHUyRVE4bDdWMURqRldDSHArMjl6eXk0cTdWcm5PaTBKM2I2cHFxTklwemZ0ZXpyN0hBNTRlQzhOQlk4R2J6L3YrU29INlBDeXVOR2dPQkVONk4zci9vclhxaUt1OEZ6NnlKOU8vc1ZvQUFBQUFBUUFCLy84QUQzamFUWlZyYkJ4WEZjZnZ1Zk5lNzJObWR4Nzd0bWZITzJONzYxMTc3ODRPVHIxNTRZQWJSN1JRdVVRaHR0b1N1WFpLRlFWS0tZcWdpRkpBZ2twSWtWQ2xJbjhvcFNvbWpYWTNWSEhURmxkRUlZcGF5MWhSK0lENEJoYTI3Rm9JRVFHcGQ4SWR1NGxZN2M2ZU9mZWUvLzJmMyt6ZWl6QWFRd2lmNGlZUmd3UlViZ0dxakxZRk52Vnh0Y1Z6ZnhsdE01aUdxTVVFYVM1SXR3VSt2VFBhaGlCUEZGTXBtb281aG52OFhuakZuK1VtNy94bWpGMUdDTEhvUGYrZmdzVVZFWWNTS0ljR2tZYmFXWXhLTFozYmdHYTUwcXBBQ1EwTmV5WW9ZSUxhRFRxcHVyVUsyRlpCVVlsSlk4dWtFYzBlZ0xwYm8ra1k4Ty9CUWN4MmR2d1AyRmg2L1ErR2wxOWZ5cm91YkhtZXI3cnBqSGxsUFovTktCK3RwMi80L1R6eFN4MHpvLzc0dVVZMjl2SlpPRUhJZm5nNGx6ejdjanlYem4vakp3cUN3Q09MZGoyaVBTUDNGL2hVQUhGM3YrQ3ZpZWU1RElxaEpETFJBQ0xvUEdwSEVDcTFNN1NkNWlEWi9XNnpRVzhtdTlFY3FsN1NJNnhZYWlPcG54Q3lkd1BOV3FXSi90U1NqWTFtcXRxVTVaWU5wV2FsMnBKaUd5MFhTaTFiVnVLWDFGeWgxR3VNb0pZZVVlSnZ5L0dFVmJUcGZUT2pISlJWelVpbTB0bGN3ZWtiS0QxUXJnUjVNOTdPVjhuSXlNalFzS1BVRUtXR05FVkZGQndxRXMveUhNRVZGTU0xUEljNEZoaVdRVnhIY3hqRDB6elhFa2dibUhlNUcxZUE5VDk1NTQ1M3hkK0I5dGJwaTZ2ajEwK2Z2ajYrZXZIMEZqdTd2UERVNXN6Vlk4ZXV6bXcrdFhBQnY3a0Vvdi92MzNXT3Yrdi9DOExHOU0yeEQxOS9FcXV6Q3l1SFZ1WTZSMjVPYnozNStvZHc0TkRLd3V6V0hBSzg2cTl4MjF3S1lZUWtqRmVaM001Zi9UVW13NlFvMTJQKzM4V2YwekVacFZBQmxWQU5mUXUxb3dIWFhNRDFBZEl5UWh2Tmdlb3UyYjFMQXVoQWtWd3lFeFJwcy9wcEFFMjMwcXJUWDFNckVWWGlsNVc0cWxtOXRoTUFNcFIyTXRWSEFiWE1uQkp2WjhvVkdqZFo1WEs2dTZjd05FeHFkTko5ZG5tNEQrOGVJZVllTTdoSDBiM0g5YmNRdWN6ZGVINzVlZitUeFR2ZU8vNXR1REsyTXJzNWQrSG16UXR6bTdNcmJQNlpxeE1ycnoyK3ZmMzRheXNUVjUrNWlOOVloTWk1MVc5M1RpejUvd0ZwK3VqeS9NbnRHWHgrZGZyanFmbHJPNzg4T2I5ODlNYU1QNzE2K05yOEZPcENqYnZudzAzMkJVcm04MmdLZlFjMTBTSmFBd3daR0lOSEVVcmtzYUVuZEkzWENwcEJhdldhVTdOcmRhL3U3UWZQc25tQkYxUmVLNE5qQ3hia2dWUkpkVy9NZG1peWpIa2hDZ0t2R2tyTnErdUduZ1BMVURYVmlvSlRjR3hPTldndUVOT0lZbWtxMWxRcWFEdTJxMUFxS2k2cVJoNkNOMHVxaGxrbjFXSXd0MVozRlRxSDZsdDJrV0xrcVpwUTJGMUg0RDNYMUN6RlVrQ3AxUjhFVmFlS0dyM21nWHB5ZDNPS1pUY2dpb01pM3FJbXFBMkZhRlNZcmtIZDdCWUVTblNNZHFBeDFITmdnLzZwRzBCbzk1UkFHZWhxb05BdWFSSFI5MHdHZFh5SnRrQUoxRHhTRFZRQ2ZTOG9jdWkrRW9ocWFnTmpGcm9uaXlMQU9ZYkJndlNReHVYeGlVU0NHUVhSZUpCbmphZmhiZjZ4QnM4UDlaY2xMTEpkVEpmZEwzYkxSc2dkNTBOZjUyUDdKSVdqSW5ZcUZ1WmhVR0VydWNGMFFqL3pOSnRQR0FyRHo3RVlGaTBjaHZTcHc4Qy9tSlJnUlZMZmdyRWY3UnZvd2h5akozSlBmUGxYL2g4Ti82ZlpyeVg3YmgvcEpzUGo0UUxYOVJhODlOTDNRUWtsam1PcW5vZ25VNkhjeEtrb0kvSnNhSjhjRGNmQ3FaQU1DMmNmRmVTb0h1K1dGRW1XeklRcXg4UFZtQ1RoU0ZxUEtxTElzZ3hKeDBRWVp0MWlvY2pnZnJQYmpJb2lsdGtYeHp4VGxFNUZWVEwxemI3WW1UT1N6WEdpRUJVMFpnSHpYZXhqZDlIa2xEdFRjMlA3aVI0L1dtcWsvakdoZlpYalpXMWJZRlZwM3kwMUcrb2NyaC9LOVZTVDMrMDVPVXNhRW5BWUdLWlJmV0lwRFFhWFQyRWoyL3ZDbDFTNW5OZTdqSHE1ZUNBbE03ck9wRng4UFAxWmYvTnpDVWRrcFhqVWhIbWRmZGkvWHYzMUQ2V2NjUEFJRGpOTW1QbkJ6QytFckFpcFp6UGYrK0xrUXlHUmhUREVwQ05rYm1McHo4ODkyem1FMys4c3dxMVlPRElxZjJaN2xPOFJkSkhuN1JTOGtwWTZyMHFoQWc3eFhJSG5oVml1K3pCRGJoY3gxNlVPZkdWZ2FHa29YZTZMaHdTK2g3TmdTYSt2UjdFU1p2UHlxNlZVcU4rU0MwWlNUUG0zb0VUR294R0loL3A2MHczbmFJeUovR3l3ZjlDTW5uQWVtUjM1MjRoVDVERXJ4T3dCaFI1NUNPTXczZSt1MFQwdE9Fc1IwSk14K05CSGZ0RC9BSitEL2Y3di9UVys5dCtQK0JvOWUvN3ZOWXorQnk2RnNLa0FBQUI0Mm1OZ1pHQmdZR1J3Ykk4SVdoelBiL09WUVo2REFRVE9uaTNmQ0tQLysveDd5ck9CTlJUSTVXQmdBb2tDQUczbURiQUFlTnBqWUdSZ1lGWDl0NWVCZ2VmdGY1Ly9XVHdiR0lBaUtNQWRBSnljQnBoNDJtTjZ3K0RDd2NEQUFNSXNaOEQwSGhCTkxJYXA1MkQ0NzhmQndIUVJ5dmJCcFo3bkxZTXRLZVpqdDVPSmh4VDFUS3NZR0ZoREVUVGpjU0FHMGd5UG9SZ296aWdJcEwwaE5FaU9CY2dGQUVCb05DMTQybU5nWU5DQndqb2NjQUxEQkVZOVJoc2dQSU1NbVpjUmhIdEloa2NBOXBRc3BBQUFBUUFBQUVjQlZBQUxBQUFBQUFBQ0FBRUFBZ0FXQUFBQkFBQ1RBQUFBQUhqYWxaQ3hUZ0pCRkVYUEFwSm9ZWWdGOVZaVVNJQUZUZERDbm1pSWdzVEtzQVNRdUdpQ3UwWWFDcjRPZm9tS096c1RDSFJtTXpQbjNibHozOHNDRnl6SjR1WE9nYktXWlkrOEtzc1pMcWs3emtwOWNKeWpTT1Q0akQ5V2p2UFN0NDZ2S0hvRngydHh5ZkdHcW5mUE8xOGt5b2hTR2pCakpQcVJGbXFQbVdvbFdrWjlvMHVIWi9Fa2ZUTmdUbzBLVlgwMTd1alJwcytUeURxdlQ3eFc5VS9VVjFWejlacnlyUW44bzhRT0wxSnNkVkEvNUl3WnB2N2YvWXNLVFc1ME8xUHFwektOWnl3MVVuS292MmM5ZGJrRDdjMS96ZGhYRlNyTmRJejNIYnVhSkZIMUtNOUNaeUROM04zU29pRnVwZlA2Nm1iT1lBZDhrMEVHQUhqYWJjMDVUd0poSElUeFowQkJCYy9QNElrSTd5NHNoMGRCc29zSEtpcUhlTFVpaVRFMEZINTZYZGwvNlRTL1pJb1pVc3p6TSthZC8zSU9TaWxObW0xMjJHV1BmUTRvY0VpUkkwcVVjWGo0VktnU1VLTk9neWJIbkhES0dTRVI3WGpqZ2t1dTZIRE5EYmQwdWVPZUIzcjBHVERra1JGUFBQUENLMjlhMEtJeXltcEp5MXBSVG5tdGFrM3IydENtdGpManorL3BoNWVkZlUyY2MyRml5LzNweDRYcG1iNVpNYXRtWU5iTXV0a3dtMllyMFc4bkJuT2orT2NYVkRrMFBuamFSYzY3RG9KQUVBVlFGdVQ5ZnFzSkNTWjIrdzEyUWtOanJDQ3g5dytzYlN5MTlEc0dLLzlPYjNSWnVqazNrN256WnA4YnNidlNrWFhvUjhZZXc5Z2F2TjlRTkhTVUhURmNoNG9NZnVvVjB1cUdOTDRudjI1ZW1xM3lIenpBRHdWY3dPc0ZITUN0Qld6QVdRbFlnSjBJbUlBMXJSbUFlUmJRQVdNNnZRRDA0QTlHZ1hnbFJCbzRLaCsxOWdKR1lEZ3pCcU9uWkFMR084a1VUTGFTR1poV2tqbVlyU1VMTUE4a1M3Q1lpNVpnS1RsUXhyL1cxRjVhQUFBQUFBRlJwOGN4QUFBPSlmb3JtYXQoJ3dvZmYnKSwgdXJsKGZvbnQveXRwLXJlZ3VsYXIudHRmKWZvcm1hdCgndHJ1ZXR5cGUnKTsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBmb250LXN0eWxlOiBub3JtYWwKfQoKLm1iX1lUUGxheWVyOmZvY3VzIHsKICAgIG91dGxpbmU6IDAKfQoKLllUUFdyYXBwZXIgewogICAgZGlzcGxheTogYmxvY2s7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCl0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CiAgICBwZXJzcGVjdGl2ZTogMTAwMDsKICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveAp9CgoubWJfWVRQbGF5ZXIgLmxvYWRpbmcgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAxMHB4OwogICAgcmlnaHQ6IDEwcHg7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjUxKTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDJweCA0cHg7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBmb250LWZhbWlseTogIkRyb2lkIFNhbnMiLCBzYW5zLXNlcmlmOwogICAgLXdlYmtpdC1hbmltYXRpb246IGZhZGUgLjFzIGluZmluaXRlIGFsdGVybmF0ZTsKICAgIGFuaW1hdGlvbjogZmFkZSAuMXMgaW5maW5pdGUgYWx0ZXJuYXRlCn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlIHsKICAgIDAlIHsKICAgICAgICBvcGFjaXR5OiAuNQogICAgfQogICAgMTAwJSB7CiAgICAgICAgb3BhY2l0eTogMQogICAgfQp9CgpAa2V5ZnJhbWVzIGZhZGUgewogICAgMCUgewogICAgICAgIG9wYWNpdHk6IC41CiAgICB9CiAgICAxMDAlIHsKICAgICAgICBvcGFjaXR5OiAxCiAgICB9Cn0KCi5ZVFBGdWxsc2NyZWVuIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsKICAgIHRvcDogMCAhaW1wb3J0YW50OwogICAgbGVmdDogMCAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudAp9CgouaW5saW5lUGxheUJ1dHRvbiB7CiAgICBmb250LWZhbWlseTogeXRwcmVndWxhcjsKICAgIGZvbnQtc2l6ZTogNDVweDsKICAgIGNvbG9yOiAjZmZmOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjQpOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDgwcHg7CiAgICBoZWlnaHQ6IDgwcHg7CiAgICBsaW5lLWhlaWdodDogODBweDsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIG1hcmdpbjogYXV0bzsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNpdGlvbjogYWxsIC40czsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKQp9CgoubWJfWVRQbGF5ZXI6aG92ZXIgLmlubGluZVBsYXlCdXR0b24gewogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSkKfQoKLmlubGluZVBsYXlCdXR0b246aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSAhaW1wb3J0YW50Cn0KCi5tYllUUF93cmFwcGVyIGlmcmFtZSB7CiAgICBtYXgtd2lkdGg6IDgwMDBweCAhaW1wb3J0YW50Cn0KCi5pbmxpbmVfWVRQbGF5ZXIgewogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBsZWZ0OiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAuNyk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KQp9CgouaW5saW5lX1lUUGxheWVyIGltZyB7CiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQKfQoKLm1iX1lUUEJhciwKLm1iX1lUUEJhciAuYnV0dG9uQmFyIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBsZWZ0OiAwOwogICAgcGFkZGluZzogNXB4OwogICAgd2lkdGg6IDEwMCUKfQoKLm1iX1lUUEJhciAueXRwaWNvbiB7CiAgICBmb250LXNpemU6IDIwcHg7CiAgICBmb250LWZhbWlseTogeXRwcmVndWxhcgp9CgoubWJfWVRQQmFyIC5tYl9ZVFBVcmwueXRwaWNvbiB7CiAgICBmb250LXNpemU6IDMwcHgKfQoKLm1iX1lUUEJhciB7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41czsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgaGVpZ2h0OiAxMHB4OwogICAgYmFja2dyb3VuZDogIzMzMzsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIGJvdHRvbTogMDsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICB6LWluZGV4OiAxMDAwOwogICAgZm9udDogMTRweC8xNnB4IHNhbnMtc2VyaWY7CiAgICBjb2xvcjogI2ZmZjsKICAgIG9wYWNpdHk6IC4xCn0KCi5tYl9ZVFBCYXIudmlzaWJsZSwKLm1iX1lUUEJhcjpob3ZlciB7CiAgICBvcGFjaXR5OiAxCn0KCi5tYl9ZVFBCYXIgLmJ1dHRvbkJhciB7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzOwogICAgYmFja2dyb3VuZDogMCAwOwogICAgZm9udDogMTJweC8xNHB4IHNhbi1zZXJpZjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogLTMwcHg7CiAgICBoZWlnaHQ6IDQwcHgKfQoKLm1iX1lUUEJhcjpob3ZlciAuYnV0dG9uQmFyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjQpCn0KCi5tYl9ZVFBCYXIgc3BhbiB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBmb250OiAxNnB4LzIwcHggc2Fucy1zZXJpZjsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiAzMHB4OwogICAgaGVpZ2h0OiAyNXB4OwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZQp9CgoubWJfWVRQQmFyIHNwYW4ubWJfWVRQVGltZSB7CiAgICB3aWR0aDogMTMwcHgKfQoKLm1iX1lUUEJhciBzcGFuLm1iX09ubHlZVCwKLm1iX1lUUEJhciBzcGFuLm1iX1lUUFVybCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogYXV0bzsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdG9wOiA2cHg7CiAgICByaWdodDogMTBweDsKICAgIGN1cnNvcjogcG9pbnRlcgp9CgoubWJfWVRQQmFyIHNwYW4ubWJfWVRQVXJsIGltZyB7CiAgICB3aWR0aDogNjBweAp9CgoubWJfWVRQQmFyIHNwYW4ubWJfT25seVlUIHsKICAgIGxlZnQ6IDMwMHB4OwogICAgcmlnaHQ6IGF1dG8KfQoKLm1iX1lUUEJhciBzcGFuLm1iX09ubHlZVCBpbWcgewogICAgd2lkdGg6IDI1cHgKfQoKLm1iX1lUUEJhciBzcGFuLm1iX1lUUFVybCBhIHsKICAgIGNvbG9yOiAjZmZmCn0KCi5tYl9ZVFBCYXIgLm1iX1lUUE11dGVVbm11dGUsCi5tYl9ZVFBCYXIgLm1iX1lUUFBsYXlQYXVzZSwKLm1iX1lUUGxheWVyIC5tYl9ZVFBCYXIgLm1iX1lUUFBsYXlQYXVzZSBpbWcgewogICAgY3Vyc29yOiBwb2ludGVyCn0KCi5tYl9ZVFBCYXIgLm1iX1lUUFByb2dyZXNzIHsKICAgIGhlaWdodDogMTBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgYmFja2dyb3VuZDogIzIyMjsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDAKfQoKLm1iX1lUUEJhciAubWJfWVRQTG9hZGVkIHsKICAgIGhlaWdodDogMTBweDsKICAgIHdpZHRoOiAwOwogICAgYmFja2dyb3VuZDogIzQ0NDsKICAgIGxlZnQ6IDAKfQoKLm1iX1lUUEJhciAubWJfWVRQc2Vla2JhciB7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICB3aWR0aDogMDsKICAgIGJhY2tncm91bmQ6ICNiYjExMGU7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwogICAgYm94LXNoYWRvdzogcmdiYSg4MiwgODIsIDgyLCAuNDcpMXB4IDFweCAzcHgKfQoKLm1iX1lUUEJhciAuWVRQT3ZlcmxheSB7CiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiAiZmxhdCI7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi5ZVFBPdmVybGF5LnJhc3RlciB7CiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3Jhc3Rlci5odG1sKQp9CgouWVRQT3ZlcmxheS5yYXN0ZXIucmV0aW5hIHsKICAgIGJhY2tncm91bmQ6IHVybChpbWFnZXMvcmFzdGVyJTQwMnguaHRtbCkKfQoKLllUUE92ZXJsYXkucmFzdGVyLWRvdCB7CiAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3Jhc3Rlcl9kb3QuaHRtbCkKfQoKLllUUE92ZXJsYXkucmFzdGVyLWRvdC5yZXRpbmEgewogICAgYmFja2dyb3VuZDogdXJsKGltYWdlcy9yYXN0ZXJfZG90JTQwMnguaHRtbCkKfQoKLm1iX1lUUEJhciAuc2ltcGxlU2xpZGVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiAxMDBweDsKICAgIGhlaWdodDogMTBweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50OwogICAgYm9yZGVyLXJhZGl1czogM3B4Cn0KCi5tYl9ZVFBCYXIuY29tcGFjdCAuc2ltcGxlU2xpZGVyIHsKICAgIHdpZHRoOiA0MHB4Cn0KCi5tYl9ZVFBCYXIuY29tcGFjdCBzcGFuLm1iX09ubHlZVCB7CiAgICBsZWZ0OiAyNjBweAp9CgoubWJfWVRQQmFyIC5zaW1wbGVTbGlkZXIubXV0ZWQgewogICAgb3BhY2l0eTogLjMKfQoKLm1iX1lUUEJhciAubGV2ZWwgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIGJvdHRvbTogMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Cn0KCi5tYl9ZVFBCYXIgLmxldmVsLmhvcml6b250YWwgewogICAgaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDAKfQoKLm1iX1lUUEJhciAubGV2ZWwudmVydGljYWwgewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDEwMCUKfQ=="}},"time_used":381,"timings":{"blocked":-1,"dns":0,"connect":99,"send":0,"wait":186,"receive":0,"ssl":96},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.46024.97176aa48fe9d9a0d127.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.972Z","timestamp":1785136900972,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.46024.97176aa48fe9d9a0d127.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-1c38c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:53:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ee7d7cce552c58c534e43c4565b7af45\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":115596,"size_decoded":32391,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3072)","md5":"07d126f5f997c2ed316e3742d5b45af1","sha1":"826dfb648f32acec5e5699cc15a08026e137e6a3","sha256":"fb0cd50a605d7edce14affef79a6dfae9404ba2f7d7818008345363e9e26a988","sha512":"c7114acc89392a1469487feb62b74be0cd3a585a3b5d7a4bb38f30575f557f59860a020911d77ff07f283945810bbfe3bd8586e314442a21ea0c2e1e3625bfc6","ssdeep":"3072:WFM91hHo+AyVKC+wNBsx4A5b0jp4mMGOlyIhVh4dt//9:WFM91hHo+Ay/NNBM4A5bsp4mMGOlVp4d","tlshash":"69b3fe03c901d0ea9fb2d6063ba5dcc878f0774541f0e6c27b998f29c5a3da6593a778","first_seen":"2026-07-25T03:24:57.378453Z","last_seen":"2026-07-28T04:58:41.981265Z","times_seen":293,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNzg1OSwyMDg2NiwyNDkyOSw0MDI0MCw0NjAyNCw1MjMyNCw1NzE4NCw1ODY2Nyw5NDM4OF0sezE2MDU2MihlKXtlLmV4cG9ydHM9WyJDTUYiXX0sNjE3MzQwKGUpe2UuZXhwb3J0cz1bIkNvbHVtbnMiXX0sMTE4NDkxKGUpe2UuZXhwb3J0cz1bIkNhbmRsZXMiXX0sNzk2MDkzKGUpe2UuZXhwb3J0cz1bIkFyZWEiXX0sOTQxNjI5KGUpe2UuZXhwb3J0cz1bIkJhcnMiXX0sNTI1MzMxKGUpe2UuZXhwb3J0cz1bIkJhc2VsaW5lIl19LDQxMzQzKGUpe2UuZXhwb3J0cz1bIkthZ2kiXX0sOTY3ODQxKGUpe2UuZXhwb3J0cz1bIkhMQyBhcmVhIl19LDY4MzAwKGUpe2UuZXhwb3J0cz1bIkhMQyBiYXJzIl19LDMzMTgyNChlKXtlLmV4cG9ydHM9WyJIb2xsb3cgY2FuZGxlcyJdfSw4MzU1NDMoZSl7ZS5leHBvcnRzPVsiSGVpa2luIEFzaGkiXX0sOTUyODEwKGUpe2UuZXhwb3J0cz1bIkhpZ2gtbG93Il19LDIxMDQ5OShlKXtlLmV4cG9ydHM9WyJMaW5lIl19LDE4NjE0NyhlKXtlLmV4cG9ydHM9WyJMaW5lIHdpdGggbWFya2VycyJdfSwzMDc0MzYoZSl7ZS5leHBvcnRzPVsiTGluZSBicmVhayJdfSw2ODc5NTEoZSl7ZS5leHBvcnRzPVsiU2Vzc2lvbiB2b2x1bWUgcHJvZmlsZSJdfSw5MTYxNDgoZSl7ZS5leHBvcnRzPVsiU3RlcCBsaW5lIl19LDg2NzAyMShlKXtlLmV4cG9ydHM9WyJQb2ludCAmIGZpZ3VyZSJdfSwxODgzNTIoZSl7ZS5leHBvcnRzPVsiUmFuZ2UiXX0sNDYxNzM4KGUpe2UuZXhwb3J0cz1bIlJlbmtvIl19LDExNzk4NChlKXtlLmV4cG9ydHM9WyJUaW1lIHByaWNlIG9wcG9ydHVuaXR5Il19LDg5MjM3NShlKXtlLmV4cG9ydHM9WyJWb2x1bWUgY2FuZGxlcyJdfSwyMDEwNzMoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGZvb3RwcmludCJdfSw2NDE1OTgoZSl7ZS5leHBvcnRzPVsiUHJpY2VzIl19LDc1NDYoZSl7ZS5leHBvcnRzPVsiWWllbGQiXX0sNzUxMDMzKGUpe2UuZXhwb3J0cz1bIllpZWxkcyJdfSw5NDk3MDQoZSl7ZS5leHBvcnRzPVsiTUZJIl19LDI3NDg3NChlKXtlLmV4cG9ydHM9WyItREkiXX0sODE5MDQyKGUpe2UuZXhwb3J0cz1bIitESSJdfSwzNjIwMDQoZSl7ZS5leHBvcnRzPVsiQWxsIGl0ZW1zIl19LDMzMzM1KGUpe2UuZXhwb3J0cz1bIk5vdGhpbmcgc2VsZWN0ZWQiXX0sNzU0OTI1KGUpe2UuZXhwb3J0cz1bIlBhdHRlcm4iXX0sNjgzNjI3KGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIl19LDg1OTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDg5MjM2MyhlKXtlLmV4cG9ydHM9WyJEIl19LDM5NDUwMShlKXtlLmV4cG9ydHM9WyJEIl19LDU3MDkzOShlKXtlLmV4cG9ydHM9WyJFIl19LDM5NDkyMShlKXtlLmV4cG9ydHM9WyJGIl19LDg2NjQ0KGUpe2UuZXhwb3J0cz1bIlIiXX0sNzU2NDU3KGUpe2UuZXhwb3J0cz1bIlIiXX0sMjU3MzI2KGUpe2UuZXhwb3J0cz1bIlMiXX0sMTg1NDk5KGUpe2UuZXhwb3J0cz1bIkFsbCBQYWlycyJdfSwyMTc3ODgoZSl7ZS5leHBvcnRzPVsiTiJdfSw0MTM1MzcoZSl7ZS5leHBvcnRzPVsiQiJdfSw5OTE2OTcoZSl7ZS5leHBvcnRzPVsiUyJdfSwxOTE0MzIoZSl7ZS5leHBvcnRzPVsiRCJdfSw4ODkxMChlKXtlLmV4cG9ydHM9WyJNIl19LDMyMzU3MChlKXtlLmV4cG9ydHM9WyJXIl19LDI0MDczKGUpe2UuZXhwb3J0cz1bImgiXX0sNjE4NChlKXtlLmV4cG9ydHM9WyJtIl19LDIwNTkoZSl7ZS5leHBvcnRzPVsiTWFyZ2lucyJdfSw1NjU5NjIoZSl7ZS5leHBvcnRzPVsiQnV5Il19LDQ1OTQ2MyhlKXtlLmV4cG9ydHM9WyJOZXV0cmFsIl19LDI1NzY0MyhlKXtlLmV4cG9ydHM9WyJTZWxsIl19LDQ4OTg2OShlKXtlLmV4cG9ydHM9WyJTdHJvbmcgQnV5Il19LDY5MTU0MyhlKXtlLmV4cG9ydHM9WyJTdHJvbmcgU2VsbCJdfSw3MzQ3NTAoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDI0ODc4NShlKXtlLmV4cG9ydHM9WyJCdWxsIEJlYXIgUG93ZXIiXX0sOTMwMDk4KGUpe2UuZXhwb3J0cz1bIkRvamkiXX0sNzYzMjI2KGUpe2UuZXhwb3J0cz1bIlNwaW5uaW5nIFRvcCBCbGFjayJdfSwzMzM5MTQoZSl7ZS5leHBvcnRzPVsiU3Bpbm5pbmcgVG9wIFdoaXRlIl19LDQ3NzQ3NShlKXtlLmV4cG9ydHM9WyJUZWNobmljYWxzIl19LDU5NjE2OChlKXtlLmV4cG9ydHM9WyJWb2wiXX0sODY4NDE5KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw1MzkyMzgoZSl7ZS5leHBvcnRzPVsiJVIiXX0sMTYxNTgzKGUpe2UuZXhwb3J0cz1bIjEtTW9udGggSGlnaCJdfSwyMDA5MjAoZSl7ZS5leHBvcnRzPVsiMS1Nb250aCBMb3ciXX0sMTgxMjI4KGUpe2UuZXhwb3J0cz1bIjEtWSBCZXRhIl19LDE4NjcyNihlKXtlLmV4cG9ydHM9WyIxLVllYXIgQmV0YSJdfSwxMTE5NzYoZSl7ZS5leHBvcnRzPVsiMSB5ZWFyIl19LDgxODAwMihlKXtlLmV4cG9ydHM9WyIxIHllYXIgcHJpY2UgdGFyZ2V0Il19LDE3MzI0MChlKXtlLmV4cG9ydHM9WyIxNW0iXX0sODMyNzMzKGUpe2UuZXhwb3J0cz1bIjFNIl19LDQ5MjEzNShlKXtlLmV4cG9ydHM9WyIxVyJdfSw0MTU3NTEoZSl7ZS5leHBvcnRzPVsiMW0iXX0sMjg5NDY0KGUpe2UuZXhwb3J0cz1bIjFoIl19LDk5MDc3KGUpe2UuZXhwb3J0cz1bIjMtTW9udGggSGlnaCJdfSw4ODY5MTgoZSl7ZS5leHBvcnRzPVsiMy1Nb250aCBMb3ciXX0sNzc5MDgzKGUpe2UuZXhwb3J0cz1bIjMtTW9udGggUGVyZiJdfSw2NjQyNDIoZSl7ZS5leHBvcnRzPVsiMy1Nb250aCBQZXJmb3JtYW5jZSJdfSwzMjgwMzAoZSl7ZS5leHBvcnRzPVsiMyBtb250aHMiXX0sNTUyNzQzKGUpe2UuZXhwb3J0cz1bIjRoIl19LDE5MzI1OShlKXtlLmV4cG9ydHM9WyI1MiBXZWVrIEhpZ2giXX0sNjY5MzA4KGUpe2UuZXhwb3J0cz1bIjUyIFdlZWsgTG93Il19LDQ5MDU3NyhlKXtlLmV4cG9ydHM9WyI1WSBQZXJmIl19LDkzNTgxOShlKXtlLmV4cG9ydHM9WyI1WSBQZXJmb3JtYW5jZSJdfSw4MDE0ODAoZSl7ZS5leHBvcnRzPVsiNW0iXX0sCjk3ODc2MChlKXtlLmV4cG9ydHM9WyI2LU1vbnRoIEhpZ2giXX0sNjAzNTA5KGUpe2UuZXhwb3J0cz1bIjYtTW9udGggTG93Il19LDc2ODc4NihlKXtlLmV4cG9ydHM9WyI2LU1vbnRoIFBlcmYiXX0sOTYwNjYzKGUpe2UuZXhwb3J0cz1bIjYtTW9udGggUGVyZm9ybWFuY2UiXX0sNzUzMTYoZSl7ZS5leHBvcnRzPVsiQ0NJMjAiXX0sNzk2ODkxKGUpe2UuZXhwb3J0cz1bIkNFRiJdfSw0NDM2MjcoZSl7ZS5leHBvcnRzPVsiQ291bnRyeSJdfSwyMjU3MDYoZSl7ZS5leHBvcnRzPVsiQ291cG9uIl19LDgyNTE3OChlKXtlLmV4cG9ydHM9WyJDb3VyaWVyIFNlcnZpY2VzIl19LDY4Mzc0MChlKXtlLmV4cG9ydHM9WyJDb2FsIl19LDMxMDQoZSl7ZS5leHBvcnRzPVsiQ29hbCBNaW5pbmcgU3VwcG9ydCJdfSw4MzU4OTQoZSl7ZS5leHBvcnRzPVsiQ29hbCBXaG9sZXNhbGUiXX0sMzI1NzMyKGUpe2UuZXhwb3J0cz1bIkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIl19LDMyNzA4NChlKXtlLmV4cG9ydHM9WyJDb2ZmZWUgJiBUZWEiXX0sMzU1MDIoZSl7ZS5leHBvcnRzPVsiQ29mZmVlLCBUZWEgJiBDb2NvYSBGYXJtaW5nIl19LDU0NTgoZSl7ZS5leHBvcnRzPVsiQ29pbiJdfSw2MjM4MDkoZSl7ZS5leHBvcnRzPVsiQ29rZSBDb2FsIE1pbmluZyJdfSwxMzU4NjcoZSl7ZS5leHBvcnRzPVsiQ29sb21iaWEiXX0sNDkyNjc5KGUpe2UuZXhwb3J0cz1bIkNvbG9yaW5nIEFnZW50Il19LDcxODY3MyhlKXtlLmV4cG9ydHM9WyJDb2xsZWN0aXZlIEludmVzdG1lbnQgRnVuZCBPcGVyYXRvcnMiXX0sMzMyNjA5KGUpe2UuZXhwb3J0cz1bIkNvbHVtbiBzZXRzIl19LDU3OTA2NShlKXtlLmV4cG9ydHM9WyJDb2x1bW4gc2V0dXAiXX0sNDg0MTM2KGUpe2UuZXhwb3J0cz1bIkNvbW9yb3MiXX0sNjE3NDI3KGUpe2UuZXhwb3J0cz1bIkNvbW1vZGl0eSBDaGFubmVsIEluZGV4ICgyMCkiXX0sMTUyOTEzKGUpe2UuZXhwb3J0cz1bIkNvbW1vZGl0eSBDaGVtaWNhbHMiXX0sMTU4MDg1KGUpe2UuZXhwb3J0cz1bIkNvbW1vZGl0eSBDaGVtaWNhbHMgV2hvbGVzYWxlIl19LDk4MTI4MyhlKXtlLmV4cG9ydHM9WyJDb21tb24gU3RvY2siXX0sNDE1NjkoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBBaXJjcmFmdCBNYW51ZmFjdHVyaW5nIl19LDM2NzU4MyhlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEJhbmtzIl19LDg4OTIzOChlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEJ1aWxkaW5ncyJdfSw4MDI1MTkoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBEb2N1bWVudCBNYW5hZ2VtZW50Il19LDY5MjUxNihlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEVxdWlwbWVudCBSZW50YWwiXX0sNTc5ODM1KGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgRmlzaGluZyJdfSw1MzUwNyhlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEZvb2QgU2VydmljZXMiXX0sNjQ5NTEwKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgTGVhc2luZyJdfSw0NTg5NzkoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBMb2FucyJdfSw1MjUxNjMoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBOdXJzZXJpZXMiXX0sOTU3OTM1KGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgUHJpbnRpbmcvRm9ybXMiXX0sNzY2NDAyKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgUHJpbnRpbmcgU2VydmljZXMiXX0sNTQ3MjMyKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgUkVJVHMiXX0sNDM3NzAxKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgU2VydmljZXMiXX0sNTA1MjA5KGUpe2UuZXhwb3J0cz1bIkNvbW11dGVyIEZlcnJ5Il19LDM1NjY2MShlKXtlLmV4cG9ydHM9WyJDb21tdXRpbmcgU2VydmljZXMiXX0sNjg3NTIoZSl7ZS5leHBvcnRzPVsiQ29tbXVuaWNhdGlvbiAmIFNhdGVsbGl0ZSBFcXVpcG1lbnQiXX0sODU4MTgoZSl7ZS5leHBvcnRzPVsiQ29tbXVuaWNhdGlvbnMiXX0sODg1Njg4KGUpe2UuZXhwb3J0cz1bIkNvbW11bmljYXRpb25zICYgTmV0d29ya2luZyJdfSwyMjUwMjgoZSl7ZS5leHBvcnRzPVsiQ29tcHV0ZXIgJiBFbGVjdHJvbmljcyBSZXRhaWxlcnMiXX0sNjE3MjYzKGUpe2UuZXhwb3J0cz1bIkNvbXB1dGVyIENvbW11bmljYXRpb25zIl19LDY2NTQyMihlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBIYXJkd2FyZSJdfSw0MTI2NjUoZSl7ZS5leHBvcnRzPVsiQ29tcHV0ZXIgSGFyZHdhcmUgJiBTb2Z0d2FyZSBSZXRhaWxlcnMiXX0sMjgyMjE3KGUpe2UuZXhwb3J0cz1bIkNvbXB1dGVyIEhhcmR3YXJlIENvbXBvbmVudCBBc3NlbWJseSJdfSwzOTQ5NChlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBQZXJpcGhlcmFscyJdfSw3MjU4MzAoZSl7ZS5leHBvcnRzPVsiQ29tcHV0ZXIgUHJvY2Vzc2luZyBIYXJkd2FyZSJdfSw1NzA3NChlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBQcm9ncmFtbWluZyJdfSw4OTY0NShlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBUcmFpbmluZyJdfSw5NjQ4NTgoZSl7ZS5leHBvcnRzPVsiQ29uZ28iXX0sMjcxNTU4KGUpe2UuZXhwb3J0cz1bIkNvbmdvICh0aGUgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUpIl19LDcyMTMzMyhlKXtlLmV4cG9ydHM9WyJDb25nbG9tZXJhdGVzIl19LDEzMDgzMyhlKXtlLmV4cG9ydHM9WyJDb25mZXJlbmNpbmcgVG9vbHMgJiBTeXN0ZW1zIl19LDE5NDE5NChlKXtlLmV4cG9ydHM9WyJDb25uZWN0aW5nIl19LDgzNTk0NyhlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gJiBFbmdpbmVlcmluZyJdfSw2NjI4MTQoZSl7ZS5leHBvcnRzPVsiQ29uc3RydWN0aW9uIE1hY2hpbmVyeSJdfSwxNzg1OTQoZSl7ZS5leHBvcnRzPVsiQ29uc3RydWN0aW9uIE1hdGVyaWFsIFByb2Nlc3NpbmciXX0sOTk2NyhlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gTWF0ZXJpYWwgV2hvbGVzYWxlIl19LDUwMTQ4MihlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gTWF0ZXJpYWxzIl19LDI3NzQ1NChlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gU3VwcGxpZXMiXX0sODI0MjczKGUpe2UuZXhwb3J0cz1bIkNvbnN0cnVjdGlvbiBTdXBwbGllcyAmIEZpeHR1cmVzIl19LDEyNjgzOShlKXsKZS5leHBvcnRzPVsiQ29uc3RydWN0aW9uIFN1cHBsaWVzICYgRml4dHVyZXMgV2hvbGVzYWxlIl19LDM5NzkwOChlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBDcmVkaXQgQ2FyZHMgU2VydmljZXMiXX0sOTU5MjUyKGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEN5Y2xpY2FsIl19LDU0NTM5NShlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBDeWNsaWNhbHMiXX0sNzkwNzE2KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEdvb2RzIFJlbnRhbCJdfSw3MzE5ODMoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgRG9jdW1lbnQgTWFuYWdlbWVudCJdfSw3NTQ4NDMoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgRHVyYWJsZXMiXX0sNTU1MDg4KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEVsZWN0cm9uaWNzIFJldGFpbGVycyJdfSwyMjg0KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEVsZWN0cm9uaWNzL0FwcGxpYW5jZXMiXX0sOTI0MzkzKGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEVsZWN0cm9uaWMgV2hvbGVzYWxlIl19LDM5NDY2NihlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBMZWFzaW5nIl19LDMxOTM5MyhlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBMZW5kaW5nIl19LDgzMTg4MihlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBOb24tQ3ljbGljYWxzIl19LDU1NjQ3NShlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBOb24tRHVyYWJsZXMiXX0sMTUyODA4KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIFNlcnZpY2VzIl19LDg0NzM5OChlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBTdW5kcmllcyJdfSwxNjkyOTEoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgUHVibGlzaGluZyJdfSwzMjI1MjkoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgUmVwYWlyIFNlcnZpY2VzIl19LDI2NDkoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIvTm9uLUN5Y2xpY2FsIl19LDM2OTQzNihlKXtlLmV4cG9ydHM9WyJDb250YWluZXIgJiBQYWNrYWdpbmcgTWF0ZXJpYWwgV2hvbGVzYWxlIl19LDQ4NTM0OShlKXtlLmV4cG9ydHM9WyJDb250YWluZXJzL1BhY2thZ2luZyJdfSw2OTc5MzQoZSl7ZS5leHBvcnRzPVsiQ29udGVudCAmIFNpdGUgTWFuYWdlbWVudCBTZXJ2aWNlcyJdfSwyOTY1MjUoZSl7ZS5leHBvcnRzPVsiQ29udHJhY3QgRHJpbGxpbmciXX0sNzIzMjgyKGUpe2UuZXhwb3J0cz1bIkNvb2tpZSwgQ3JhY2tlciAmIFBhc3RhIE1hbnVmYWN0dXJpbmciXX0sNzA4ODU5KGUpe2UuZXhwb3J0cz1bIkNvb2sgSXNsYW5kcyJdfSwyMjI3NTkoZSl7ZS5leHBvcnRzPVsiQ29wcGVyIE9yZSAgTWluaW5nIl19LDIyNDQwNihlKXtlLmV4cG9ydHM9WyJDb3B5cmlnaHQgTWFuYWdlbWVudCJdfSwyNzIyMzkoZSl7ZS5leHBvcnRzPVsiQ29ycG9yYXRlIEFjY291bnRpbmcgU2VydmljZXMiXX0sMzUwNzQzKGUpe2UuZXhwb3J0cz1bIkNvcnBvcmF0ZSBGaW5hbmNpYWwgU2VydmljZXMiXX0sNzQzNzc4KGUpe2UuZXhwb3J0cz1bIkNvc21ldGljcyAmIFBlcmZ1bWVzIl19LDI2ODg0NChlKXtlLmV4cG9ydHM9WyJDb3N0YSBSaWNhIl19LDkxNTcwNShlKXtlLmV4cG9ydHM9WyJDYXRhbG9nL1NwZWNpYWx0eSBEaXN0cmlidXRpb24iXX0sNjQxMDI2KGUpe2UuZXhwb3J0cz1bIkNheW1hbiBJc2xhbmRzIl19LDkxMjgyNihlKXtlLmV4cG9ydHM9WyJDYWJsZSBTZXJ2aWNlIFByb3ZpZGVycyJdfSwzMTI4ODcoZSl7ZS5leHBvcnRzPVsiQ2FibGUvU2F0ZWxsaXRlIFRWIl19LDYwMTA5NyhlKXtlLmV4cG9ydHM9WyJDYWJvIFZlcmRlIl19LDMyOTgzMChlKXtlLmV4cG9ydHM9WyJDYWZlcyJdfSw5NjQ4MzQoZSl7ZS5leHBvcnRzPVsiQ2FsbCBDZW50ZXIgU2VydmljZXMiXX0sNTU1NDg5KGUpe2UuZXhwb3J0cz1bIkNhbWJvZGlhIl19LDk3NzAyOChlKXtlLmV4cG9ydHM9WyJDYW1lcm9vbiJdfSwxNTE4OShlKXtlLmV4cG9ydHM9WyJDYW5hZGEiXX0sNTM1MTMyKGUpe2UuZXhwb3J0cz1bIkNhcEV4ICh7cGVyaW9kfSkiXX0sMTQ5NTAzKGUpe2UuZXhwb3J0cz1bIkNhcGl0YWwiXX0sOTg2NTg5KGUpe2UuZXhwb3J0cz1bIkNhcGl0YWwgR29vZHMiXX0sNTQ4MzUyKGUpe2UuZXhwb3J0cz1bIkNhcGl0YWwgTG9uZyBUZXJtIl19LDI3NTEyMShlKXtlLmV4cG9ydHM9WyJDYXJib24gQ2FwdHVyZSAmIFN0b3JhZ2UiXX0sMzMwNTczKGUpe2UuZXhwb3J0cz1bIkNhcmJvbmF0ZWQgU29mdCBEcmlua3MiXX0sMzkxNzYoZSl7ZS5leHBvcnRzPVsiQ2FycGV0cyAmIEN1cnRhaW5zIl19LDQ3NjgzNyhlKXtlLmV4cG9ydHM9WyJDYXNoICYgRXF1aXZhbGVudHMgKEZZKSJdfSw3NjUwMTcoZSl7ZS5leHBvcnRzPVsiQ2FzaCAmIEVxdWl2YWxlbnRzIChNUlEpIl19LDI1NDk0NyhlKXtlLmV4cG9ydHM9WyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzIChGWSkiXX0sNzg4ODM4KGUpe2UuZXhwb3J0cz1bIkNhc2ggYW5kIHNob3J0IHRlcm0gaW52ZXN0bWVudHMgKE1SUSkiXX0sOTE1MTU0KGUpe2UuZXhwb3J0cz1bIkNhc2ggb24gaGFuZCAoRlkpIl19LDI0NzM2MChlKXtlLmV4cG9ydHM9WyJDYXNoIG9uIGhhbmQgKE1SUSkiXX0sNjA2MjA3KGUpe2UuZXhwb3J0cz1bIkNhc2lub3MiXX0sODU3MzQ1KGUpe2UuZXhwb3J0cz1bIkNhc2lub3MvR2FtaW5nIl19LDY1ODI1NihlKXtlLmV4cG9ydHM9WyJDYXNpbm9zICYgR2FtaW5nIl19LDkxMDQ2OChlKXtlLmV4cG9ydHM9WyJDYXN1YWx0eSBJbnN1cmFuY2UiXX0sMTQzNTE4KGUpe2UuZXhwb3J0cz1bIkNlbGx1bGFyIEZpYmVyIl19LDkwODQ1NihlKXtlLmV4cG9ydHM9WyJDZW1lbnQgJiBDb25jcmV0ZSBNYW51ZmFjdHVyaW5nIl19LDc3NDc4KGUpe2UuZXhwb3J0cz1bIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyJdfSw0ODM1NShlKXtlLmV4cG9ydHM9WyJDaGFkIl19LDI1ODE0MyhlKXtlLmV4cG9ydHM9WyJDaGFpa2luIE1vbmV5IEZsb3cgKDIwKSJdfSw2NzM0ODcoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIl19LDk2OTQ3MihlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgJSJdfSw2ODEwNDMoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIGZpbHRlciJdfSwzODI3NTEoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIGZyb20gT3BlbiJdfSw5MzYwMzQoZSl7CmUuZXhwb3J0cz1bIkNoYW5nZSBmcm9tIE9wZW4gJSJdfSw2NTcxMTQoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHtyZXNvbHV0aW9ufSJdfSw3OTA5NDkoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHtyZXNvbHV0aW9ufSwgJSJdfSw1OTU0NDEoZSl7ZS5leHBvcnRzPVsiQ2hhcnRlciAmIFByaXZhdGUgQWlyIFNlcnZpY2VzIl19LDgxODQ5NihlKXtlLmV4cG9ydHM9WyJDaGFydGVyIEJ1cyBTZXJ2aWNlcyJdfSwyNDAxOTEoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzOiBBZ3JpY3VsdHVyYWwiXX0sMjMzNzIoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzOiBNYWpvciBEaXZlcnNpZmllZCJdfSw5NjMwNTUoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzOiBTcGVjaWFsdHkiXX0sMjA1ODM0KGUpe2UuZXhwb3J0cz1bIkNoZyJdfSwyMTA4MTUoZSl7ZS5leHBvcnRzPVsiQ2hnICUiXX0sNjMzNDU0KGUpe2UuZXhwb3J0cz1bIkNoZyBmcm9tIE9wZW4iXX0sODUzODk1KGUpe2UuZXhwb3J0cz1bIkNoZyBmcm9tIE9wZW4gJSJdfSw0NDE1MjYoZSl7ZS5leHBvcnRzPVsiQ2hpbGQgQ2FyZSAmIEZhbWlseSBTZXJ2aWNlcyJdfSw3Mzg0MzIoZSl7ZS5leHBvcnRzPVsiQ2hpbGRyZW4gJiBJbmZhbnRzIENsb3RoaW5nIl19LDc4Njg1OChlKXtlLmV4cG9ydHM9WyJDaGlsZHJlbiAmIEluZmFudHMgQ2xvdGhpbmcgUmV0YWlsZXJzIl19LDkwNDMzOChlKXtlLmV4cG9ydHM9WyJDaGlsZSJdfSwzOTA2NTIoZSl7ZS5leHBvcnRzPVsiQ2huZyA0VyJdfSwyMzY3OTgoZSl7ZS5leHBvcnRzPVsiQ2huZyA1MlciXX0sNTI3NDI4KGUpe2UuZXhwb3J0cz1bIkNobmcgMVciXX0sMTQ4OTA5KGUpe2UuZXhwb3J0cz1bIkNob2NvbGF0ZSAmIENvbmZlY3Rpb25lcnkiXX0sMzk0MDM5KGUpe2UuZXhwb3J0cz1bIkNob3NlbiBtYXJrZXRzIGNvdW50Il19LDk1NjQ2NChlKXtlLmV4cG9ydHM9WyJDaHJpc3RtYXMgSXNsYW5kIl19LDU3NDg5NShlKXtlLmV4cG9ydHM9WyJDaXZpbCBFbmdpbmVlcnMgJiBBcmNoaXRlY3RzIl19LDI0MzY4NyhlKXtlLmV4cG9ydHM9WyJDaWdhcnMgJiBDaWdhcmV0dGUgTWFudWZhY3R1cmluZyJdfSwxNjUxOTgoZSl7ZS5leHBvcnRzPVsiQ2xlYW5pbmcgU2VydmljZXMiXX0sMjA0NDM3KGUpe2UuZXhwb3J0cz1bIkNsZWFyaW5nLCBTZXR0bGVtZW50ICYgQ3VzdG9kaWFsIFNlcnZpY2UiXX0sODIwODY2KGUpe2UuZXhwb3J0cz1bIkNsb3NlIl19LDY4OTg0KGUpe2UuZXhwb3J0cz1bIkNsb3NlZCBFbmQgRnVuZHMiXX0sNjM2MDAxKGUpe2UuZXhwb3J0cz1bIkNsb3NlZC1lbmQgZnVuZCJdfSw2OTc1MzQoZSl7ZS5leHBvcnRzPVsiQ2xvdWQgQ29tcHV0aW5nIFNlcnZpY2VzIl19LDM1OTUzMChlKXtlLmV4cG9ydHM9WyJDcnVpc2UgTGluZXMiXX0sMjg0MDA0KGUpe2UuZXhwb3J0cz1bIkNyeXB0b2N1cnJlbmNpZXMiXX0sNTA5OTgyKGUpe2UuZXhwb3J0cz1bIkNyYWZ0ICYgTWljcm8gQnJld2VycyJdfSw0NzQ3MjgoZSl7ZS5leHBvcnRzPVsiQ3JlZGl0IFVuaW9ucyJdfSw0MDc0KGUpe2UuZXhwb3J0cz1bIkNyb2F0aWEiXX0sOTU0ODM5KGUpe2UuZXhwb3J0cz1bIkNyb3NzZXMiXX0sNTYzNjY2KGUpe2UuZXhwb3J0cz1bIkNyb3NzZXMgRG93biJdfSwxNjc2MTMoZSl7ZS5leHBvcnRzPVsiQ3Jvc3NlcyBVcCJdfSw5NjU4ODMoZSl7ZS5leHBvcnRzPVsiQ3V0bGVyeSAmIEZsYXR3YXJlIl19LDc2OTE0MChlKXtlLmV4cG9ydHM9WyJDdWJhIl19LDU4OTQxNyhlKXtlLmV4cG9ydHM9WyJDdXJhY2FvIl19LDk0NTE3MShlKXtlLmV4cG9ydHM9WyJDdXJhw6dhbyJdfSwzODczNTIoZSl7ZS5leHBvcnRzPVsiQ3VycmVuY3kgb2YgdGhlIGxvY2FsIG1hcmtldCJdfSw0NDkwNjAoZSl7ZS5leHBvcnRzPVsiQ3VycmVudCB0cmFkaW5nIGRheSJdfSw4ODQxMjMoZSl7ZS5leHBvcnRzPVsiQ3VycmVudCBBc3NldHMiXX0sMjQzNTA3KGUpe2UuZXhwb3J0cz1bIkN1cnJlbnQgUmF0aW8iXX0sNDYwMTM5KGUpe2UuZXhwb3J0cz1bIkN1cnJlbnQgUmF0aW8gKE1SUSkiXX0sNDk5MjY1KGUpe2UuZXhwb3J0cz1bIkN1cnJlbnQgcmF0aW8gKHtwZXJpb2R9KSJdfSw2MzQ3MzcoZSl7ZS5leHBvcnRzPVsiQ3lwcnVzIl19LDEyOTgwOChlKXtlLmV4cG9ydHM9WyJDemVjaCBSZXB1YmxpYyJdfSwyNjE5OTAoZSl7ZS5leHBvcnRzPVsiQ3plY2hpYSJdfSw0OTg3NjIoZSl7ZS5leHBvcnRzPVsiQ8O0dGUgZCdJdm9pcmUiXX0sNzk5NTUzKGUpe2UuZXhwb3J0cz1bIkFPIl19LDE1MDQ3NChlKXtlLmV4cG9ydHM9WyJBRFIiXX0sODAzMDI0KGUpe2UuZXhwb3J0cz1bIkFEWCJdfSw5NjAwNjkoZSl7ZS5leHBvcnRzPVsiQVRSIl19LDQxOTUzKGUpe2UuZXhwb3J0cz1bIkFtdXNlbWVudCBQYXJrcyBhbmQgWm9vcyJdfSw3ODEwODgoZSl7ZS5leHBvcnRzPVsiQW1idWxhbmNlICYgRW1lcmdlbmN5IFNlcnZpY2VzIl19LDEwNDU1MyhlKXtlLmV4cG9ydHM9WyJBbWVyaWNhbiBTYW1vYSJdfSw5OTE0NjQoZSl7ZS5leHBvcnRzPVsiQW1lcmljYXMiXX0sMjk3NTcwKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpY2EiXX0sNzQ1ODkoZSl7ZS5leHBvcnRzPVsiQW50aWd1YSBhbmQgQmFyYnVkYSJdfSwzODAzNTAoZSl7ZS5leHBvcnRzPVsiQW50aXF1ZSBEZWFsZXJzIl19LDkyMTg0NyhlKXtlLmV4cG9ydHM9WyJBbnkiXX0sOTY1MjEzKGUpe2UuZXhwb3J0cz1bIkFuZG9ycmEiXX0sNzc3MjAoZSl7ZS5leHBvcnRzPVsiQW5nb2xhIl19LDg1NDkwMihlKXtlLmV4cG9ydHM9WyJBbmd1aWxsYSJdfSw0NzM4MzQoZSl7ZS5leHBvcnRzPVsiQW5pbWFsIEJyZWVkaW5nIl19LDY2MDY4NChlKXtlLmV4cG9ydHM9WyJBbmltYWwgRmVlZCJdfSw1NDM4NjYoZSl7ZS5leHBvcnRzPVsiQW5pbWFsIFNsYXVnaHRlcmluZyAmIFByb2Nlc3NpbmciXX0sODMxNzgxKGUpe2UuZXhwb3J0cz1bIkFubnVhbCBSZXYiXX0sMTU2OTY5KGUpe2UuZXhwb3J0cz1bIkFiYW5kb25lZCBCYWJ5IEJlYXJpc2giXX0sNzY0MTM2KGUpe2UuZXhwb3J0cz1bIkFiYW5kb25lZCBCYWJ5IEJ1bGxpc2giXX0sOTg2NTA1KGUpe2UuZXhwb3J0cz1bIkFib3ZlIl19LDY4NzQ3OShlKXsKZS5leHBvcnRzPVsiQWJvdmUgb3IgRXF1YWwiXX0sMjM5MDI3KGUpe2UuZXhwb3J0cz1bIkFjY2Vzc29yaWVzIl19LDYwMzI5MihlKXtlLmV4cG9ydHM9WyJBY2NvdW50aW5nICYgVGF4IFByZXBhcmF0aW9uIl19LDE4NzA3NShlKXtlLmV4cG9ydHM9WyJBZHVsdCBFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gJiBCcm9hZGNhc3RpbmciXX0sMjkwNzg0KGUpe2UuZXhwb3J0cz1bIkFkdWx0IFByb2R1Y3RzIFJldGFpbGVycyJdfSw3MDk5MyhlKXtlLmV4cG9ydHM9WyJBZHZhbmNlZCBFbGVjdHJvbmljIEVxdWlwbWVudCJdfSw2Mjk2NDAoZSl7ZS5leHBvcnRzPVsiQWR2YW5jZWQgTWVkaWNhbCBFcXVpcG1lbnQgJiBUZWNobm9sb2d5Il19LDI5NDAzMyhlKXtlLmV4cG9ydHM9WyJBZHZhbmNlZCBNZWRpY2FsIEVxdWlwbWVudCBXaG9sZXNhbGUiXX0sNTgwMzQwKGUpe2UuZXhwb3J0cz1bIkFkdmFuY2VkIFBvbHltZXIiXX0sMzc1ODc2KGUpe2UuZXhwb3J0cz1bIkFkdmVudHVyZSBTcG9ydHMgRmFjaWxpdGllcyAmIFNraSBSZXNvcnRzIl19LDI2ODM2OShlKXtlLmV4cG9ydHM9WyJBZHZlcnRpc2luZyAmIE1hcmtldGluZyJdfSwxMjY4NjkoZSl7ZS5leHBvcnRzPVsiQWR2ZXJ0aXNpbmcgQWdlbmN5Il19LDI4NTY3NyhlKXtlLmV4cG9ydHM9WyJBZHZlcnRpc2luZy9NYXJrZXRpbmcgU2VydmljZXMiXX0sMjM5MDc3KGUpe2UuZXhwb3J0cz1bIkFkZCBub3RlIGZvciB7c3ltYm9sfSJdfSw4MTU3MTIoZSl7ZS5leHBvcnRzPVsiQWRkIGFsbCBzZWxlY3RlZCB0byB3YXRjaGxpc3QiXX0sNzIwNTQ2KGUpe2UuZXhwb3J0cz1bIkFkZCBhbGwgc2VsZWN0ZWQgdG8gY29tcGFyZSJdfSw5OTUyOShlKXtlLmV4cG9ydHM9WyJBZGQgdG8gZmF2b3JpdGVzIl19LDU2MDQ3MChlKXtlLmV4cG9ydHM9WyJBZGQge3N5bWJvbH0gdG8gY29tcGFyZSJdfSwyMjQwNTYoZSl7ZS5leHBvcnRzPVsiQWRkIHtzeW1ib2xOYW1lfSB0byB3YXRjaGxpc3QiXX0sOTE4MzEwKGUpe2UuZXhwb3J0cz1bIkFkaGVzaXZlIl19LDEwMzQ4NihlKXtlLmV4cG9ydHM9WyJBZGp1c3QgZmlsdGVycyJdfSwxMzA5NjkoZSl7ZS5leHBvcnRzPVsiQWVyb3NwYWNlICYgRGVmZW5zZSJdfSw1NzI5NjIoZSl7ZS5leHBvcnRzPVsiQWZ0ZXIgQ2xvc2UiXX0sNTMyMDI4KGUpe2UuZXhwb3J0cz1bIkFmdGVyIGhvdXJzIGdhaW5lcnMiXX0sOTkzMTAxKGUpe2UuZXhwb3J0cz1bIkFmZ2hhbmlzdGFuIl19LDY1MDM0NChlKXtlLmV4cG9ydHM9WyJBZnJpY2EiXX0sNDgyMTAxKGUpe2UuZXhwb3J0cz1bIkFncmljdWx0dXJhbCBNYWNoaW5lcnkiXX0sNjg1MTUwKGUpe2UuZXhwb3J0cz1bIkFncmljdWx0dXJhbCBCaW90ZWNobm9sb2d5Il19LDM5MTY3MihlKXtlLmV4cG9ydHM9WyJBZ3JpY3VsdHVyYWwgQ2hlbWljYWxzIl19LDM2Mjg3OChlKXtlLmV4cG9ydHM9WyJBZ3JpY3VsdHVyYWwgQ2hlbWljYWxzIFdob2xlc2FsZSJdfSw2MDI2ODAoZSl7ZS5leHBvcnRzPVsiQWdyaWN1bHR1cmFsIENvbW1vZGl0aWVzL01pbGxpbmciXX0sODg3MzkyKGUpe2UuZXhwb3J0cz1bIkFncmljdWx0dXJlIFN1cHBvcnQgU2VydmljZXMiXX0sMjA4OTY0KGUpe2UuZXhwb3J0cz1bIkFpciAmIEdhcyBDb21wcmVzc29ycyJdfSw3MDQ4NDYoZSl7ZS5leHBvcnRzPVsiQWlyIEZyZWlnaHQiXX0sODA3MDQyKGUpe2UuZXhwb3J0cz1bIkFpciBGcmVpZ2h0ICYgQ291cmllciBTZXJ2aWNlcyJdfSw5NjQ4MTAoZSl7ZS5leHBvcnRzPVsiQWlyIEZyZWlnaHQgJiBMb2dpc3RpY3MiXX0sNzkwNDkzKGUpe2UuZXhwb3J0cz1bIkFpciBGcmVpZ2h0L0NvdXJpZXJzIl19LDU2ODMzNihlKXtlLmV4cG9ydHM9WyJBaXIgRnJlaWdodC9EZWxpdmVyeSBTZXJ2aWNlcyJdfSw2NDgwOTEoZSl7ZS5leHBvcnRzPVsiQWlyY3JhZnQgRXF1aXBtZW50IFdob2xlc2FsZSJdfSw3MDIxNzEoZSl7ZS5leHBvcnRzPVsiQWlyY3JhZnQgUGFydHMgTWFudWZhY3R1cmluZyJdfSw2MDgyNzYoZSl7ZS5leHBvcnRzPVsiQWlybGluZSBDYXRlcmluZyBTZXJ2aWNlcyJdfSwzNTA0MDMoZSl7ZS5leHBvcnRzPVsiQWlybGluZXMiXX0sNzg2NDcwKGUpe2UuZXhwb3J0cz1bIkFpcnBvcnQgT3BlcmF0b3JzIl19LDMwMjMwMyhlKXtlLmV4cG9ydHM9WyJBaXJwb3J0IFNlcnZpY2VzIl19LDcxNDUwMChlKXtlLmV4cG9ydHM9WyJBbHRlcm5hdGl2ZSBNZWRpY2luZSJdfSwyMTAwODEoZSl7ZS5leHBvcnRzPVsiQWx0ZXJuYXRpdmUgTWVkaWNpbmUgRmFjaWxpdGllcyJdfSwxOTU3NDUoZSl7ZS5leHBvcnRzPVsiQWx0ZXJuYXRpdmUgUG93ZXIgR2VuZXJhdGlvbiJdfSw2Njc5OTMoZSl7ZS5leHBvcnRzPVsiQWx1bWludW0iXX0sMjA3NzcxKGUpe2UuZXhwb3J0cz1bIkFsdW1pbnVtIFJvbGxpbmciXX0sMjgwMDI1KGUpe2UuZXhwb3J0cz1bIkFsYmFuaWEiXX0sMjk2MTgxKGUpe2UuZXhwb3J0cz1bIkFsZ2VyaWEiXX0sMjMzNjkwKGUpe2UuZXhwb3J0cz1bIkFsbCJdfSw5NjIwMTYoZSl7ZS5leHBvcnRzPVsiQWxsIE90aGVyIEZvb2QgTWFudWZhY3R1cmluZyJdfSw5MzA1NzgoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgSGlnaCJdfSwyNTM0NzEoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgTG93Il19LDgxNTQoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgUGVyZiJdfSw0ODYzMDIoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgUGVyZm9ybWFuY2UiXX0sMzIyOTg2KGUpe2UuZXhwb3J0cz1bIkFsbCBhYm91dCBuZXcgc2NyZWVuZXIiXX0sMjQxMzE3KGUpe2UuZXhwb3J0cz1bIkFsbC10aW1lIGhpZ2giXX0sNjI1NDg4KGUpe2UuZXhwb3J0cz1bIkFsbC10aW1lIGxvdyJdfSw1MjY3MzQoZSl7ZS5leHBvcnRzPVsiQXBwYXJlbC9Gb290d2VhciJdfSw5MDI5ODQoZSl7ZS5leHBvcnRzPVsiQXBwYXJlbC9Gb290d2VhciBSZXRhaWwiXX0sMjQxNzg3KGUpe2UuZXhwb3J0cz1bIkFwcGFyZWwgJiBBY2Nlc3NvcmllcyJdfSwzOTU3MjUoZSl7ZS5leHBvcnRzPVsiQXBwYXJlbCAmIEFjY2Vzc29yaWVzIFJldGFpbGVycyJdfSw5MjgwOShlKXtlLmV4cG9ydHM9WyJBcHBhcmVsIFdob2xlc2FsZSJdfSwzMDI0NDcoZSl7CmUuZXhwb3J0cz1bIkFwcGxpYW5jZSAmIEhvdXNld2FyZSBXaG9sZXNhbGUiXX0sMTE4NDAoZSl7ZS5leHBvcnRzPVsiQXBwbGlhbmNlcywgVG9vbHMgJiBIb3VzZXdhcmVzIl19LDg0MjE1NChlKXtlLmV4cG9ydHM9WyJBcHBsaWNhdGlvbiBTb2Z0d2FyZSJdfSwxNTc1MzgoZSl7ZS5leHBvcnRzPVsiQXBwbGllZCBmaWx0ZXJzIGNvdW50Il19LDUyNjc4NShlKXtlLmV4cG9ydHM9WyJBcHIiXX0sNTgxMjYwKGUpe2UuZXhwb3J0cz1bIkFxdWFjdWx0dXJlIl19LDExNDc1NihlKXtlLmV4cG9ydHM9WyJBcnViYSJdfSw4NTc1ODcoZSl7ZS5leHBvcnRzPVsiQXJnZW50aW5hIl19LDc3OTk1MihlKXtlLmV4cG9ydHM9WyJBcm1lbmlhIl19LDg4NjQ2NShlKXtlLmV4cG9ydHM9WyJBcm1zICYgQW1tdW5pdGlvbnMgTWFudWZhY3R1cmluZyJdfSw3NjU3NjUoZSl7ZS5leHBvcnRzPVsiQXJvb24gRG93biJdfSwyMTM3MDMoZSl7ZS5leHBvcnRzPVsiQXJvb24gRG93biAoMTQpIl19LDE1ODM5NihlKXtlLmV4cG9ydHM9WyJBcm9vbiBVcCJdfSw0NzM4NShlKXtlLmV4cG9ydHM9WyJBcm9vbiBVcCAoMTQpIl19LDY4OTE4MihlKXtlLmV4cG9ydHM9WyJBc2lhIl19LDc2NDE3MShlKXtlLmV4cG9ydHM9WyJBc2lhIC8gUGFjaWZpYyJdfSw2NzI3MTAoZSl7ZS5leHBvcnRzPVsiQXNrIl19LDc0ODI5MChlKXtlLmV4cG9ydHM9WyJBc3NldCB0dXJub3ZlciAoe3BlcmlvZH0pIl19LDY2Mzg2MChlKXtlLmV4cG9ydHM9WyJBc3NldHMiXX0sNDY1MjIyKGUpe2UuZXhwb3J0cz1bIkF1dG9tYXRpYyBWZW5kaW5nIE1hY2hpbmVzIl19LDI5ODY2MihlKXtlLmV4cG9ydHM9WyJBdXRvbW9iaWxlcyAmIE11bHRpIFV0aWxpdHkgVmVoaWNsZXMiXX0sMzY5NjQ2KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgQWNjZXNzb3JpZXMiXX0sNTQzMTU3KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgQWZ0ZXJtYXJrZXQiXX0sMTc1NzQ0KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgQmF0dGVyaWVzIl19LDM4NTU5MShlKXtlLmV4cG9ydHM9WyJBdXRvbW90aXZlIEJvZHkgUGFydHMiXX0sOTU3MDg5KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgUGFydHMgJiBBY2Nlc3NvcmllcyBSZXRhaWxlcnMiXX0sMTU3MjU0KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgU3lzdGVtcyJdfSwxMjU2NjIoZSl7ZS5leHBvcnRzPVsiQXV0byAmIFRydWNrIE1hbnVmYWN0dXJlcnMiXX0sODc1NTc5KGUpe2UuZXhwb3J0cz1bIkF1dG8gJiBUcnVjayBQYXJ0cyBXaG9sZXNhbGUiXX0sODc4NzIzKGUpe2UuZXhwb3J0cz1bIkF1dG8gJiBUcnVjayBXaG9sZXNhbGUiXX0sOTU4MjM1KGUpe2UuZXhwb3J0cz1bIkF1dG8gQ2xlYW5pbmcgUHJvZHVjdHMiXX0sMzcwMTIoZSl7ZS5leHBvcnRzPVsiQXV0byBQYXJ0czogT0VNIl19LDg5ODk4NyhlKXtlLmV4cG9ydHM9WyJBdXRvIFJlZnJlc2giXX0sOTk2OTcyKGUpe2UuZXhwb3J0cz1bIkF1dG8gVmVoaWNsZXMsIFBhcnRzICYgU2VydmljZSBSZXRhaWxlcnMiXX0sNjYxOTgzKGUpe2UuZXhwb3J0cz1bIkF1dG8sIFRydWNrICYgTW90b3JjeWNsZSBQYXJ0cyJdfSw5Mzc2MihlKXtlLmV4cG9ydHM9WyJBdWciXX0sMjc5MjMzKGUpe2UuZXhwb3J0cz1bIkF1c3RyYWxpYSJdfSwyMzgyNzgoZSl7ZS5leHBvcnRzPVsiQXVzdHJpYSJdfSw4MTMwNzcoZSl7ZS5leHBvcnRzPVsiQXZhaWwgQ29pbnMiXX0sODM1OTYxKGUpe2UuZXhwb3J0cz1bIkF2YWlsYWJsZSBDb2lucyJdfSwzMjMzOTIoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBEYXkgUmFuZ2UgKDE0KSJdfSw1NzgxOTgoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleCAoMTQpIl19LDMxNTQ2MihlKXtlLmV4cG9ydHM9WyJBdmVyYWdlIFRydWUgUmFuZ2UgKDE0KSJdfSwyOTc5MzAoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBWb2x1bWUgKDEwIGRheSkiXX0sNTY2NDM0KGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgVm9sdW1lICgzMCBkYXkpIl19LDk3NzA2MihlKXtlLmV4cG9ydHM9WyJBdmVyYWdlIFZvbHVtZSAoNjAgZGF5KSJdfSw1NzI1ODQoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBWb2x1bWUgKDkwIGRheSkiXX0sMjUyNzc4KGUpe2UuZXhwb3J0cz1bIkF2ZyBWb2wgKDEwKSJdfSw0OTU2MzIoZSl7ZS5leHBvcnRzPVsiQXZnIFZvbCAoMzApIl19LDI2OTE4MShlKXtlLmV4cG9ydHM9WyJBdmcgVm9sICg2MCkiXX0sNzk3NjA0KGUpe2UuZXhwb3J0cz1bIkF2ZyBWb2wgKDkwKSJdfSwzNDQ1NTIoZSl7ZS5leHBvcnRzPVsiQXdlc29tZSBPc2NpbGxhdG9yIl19LDQ2ODE3KGUpe2UuZXhwb3J0cz1bIkF6ZXJiYWlqYW4iXX0sNDMwNTMwKGUpe2UuZXhwb3J0cz1bIkJCIExvdyJdfSw5MTM5OTIoZSl7ZS5leHBvcnRzPVsiQkIgVXAiXX0sOTQ5ODI1KGUpe2UuZXhwb3J0cz1bIkJCUG93ZXIiXX0sNDI1Mzc4KGUpe2UuZXhwb3J0cz1bIkJvdHN3YW5hIl19LDE5NjcwMChlKXtlLmV4cG9ydHM9WyJCb3R0bGVkIFdhdGVyICYgSWNlIl19LDczMDc2MyhlKXtlLmV4cG9ydHM9WyJCb3V2ZXQgSXNsYW5kIl19LDkzMTMwNChlKXtlLmV4cG9ydHM9WyJCb2xpdmlhIl19LDE5NjY5MShlKXtlLmV4cG9ydHM9WyJCb2xsaW5nZXIgTG93ZXIgQmFuZCAoMjApIl19LDk5NTYzMShlKXtlLmV4cG9ydHM9WyJCb2xsaW5nZXIgVXBwZXIgQmFuZCAoMjApIl19LDU1NzIzNShlKXtlLmV4cG9ydHM9WyJCb25haXJlLCBTaW50IEV1c3RhdGl1cyBhbmQgU2FiYSJdfSw5NzYzNDYoZSl7ZS5leHBvcnRzPVsiQm9vayAmIE1hZ2F6aW5lIFJldGFpbGVycyJdfSwyNDUzMTcoZSl7ZS5leHBvcnRzPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgKHtwZXJpb2R9KSJdfSw0NDYyNDcoZSl7ZS5leHBvcnRzPVsiQm9vayBQcmludGluZyBTZXJ2aWNlcyJdfSw3NTAxODIoZSl7ZS5leHBvcnRzPVsiQm9vayBQdWJsaXNoaW5nIl19LDk3MDY5MShlKXtlLmV4cG9ydHM9WyJCb3NuaWEgYW5kIEhlcnplZ292aW5hIl19LDUzNTkwOChlKXtlLmV4cG9ydHM9WyJCYXRocm9vbSBGaXh0dXJlcyJdfSw2ODg1NTIoZSl7CmUuZXhwb3J0cz1bIkJhdHRlcmllcyAmIFVuaW50ZXJydXB0aWJsZSBQb3dlciBzdXBwbGllcyJdfSw0OTgyODgoZSl7ZS5leHBvcnRzPVsiQmF1eGl0ZSBNaW5pbmciXX0sNTA4NTQ5KGUpe2UuZXhwb3J0cz1bIkJhYnkgRm9vZCJdfSwzMzUyNTkoZSl7ZS5leHBvcnRzPVsiQmFoYW1hcyJdfSw1Nzg2NjUoZSl7ZS5leHBvcnRzPVsiQmFocmFpbiJdfSw5NDQxNTUoZSl7ZS5leHBvcnRzPVsiQmFsYW5jZSBTaGVldCJdfSw2ODg5NjkoZSl7ZS5leHBvcnRzPVsiQmFsbCAmIFJvbGxlciBCZWFyaW5ncyJdfSw0NTIwMTUoZSl7ZS5leHBvcnRzPVsiQmFuZ2xhZGVzaCJdfSw0OTc4MzcoZSl7ZS5leHBvcnRzPVsiQmFua3MiXX0sODI0NTk1KGUpe2UuZXhwb3J0cz1bIkJhbnF1ZXQgSGFsbHMgJiBDYXRlcmluZyJdfSw4MjkzODcoZSl7ZS5leHBvcnRzPVsiQmFyYmFkb3MiXX0sNzE2MTEoZSl7ZS5leHBvcnRzPVsiQmFzaWMgRVBTIChGWSkiXX0sMTAzNzkxKGUpe2UuZXhwb3J0cz1bIkJhc2ljIEVQUyAoVFRNKSJdfSw0MDExNjgoZSl7ZS5leHBvcnRzPVsiQmFzaWMgTWF0ZXJpYWxzIl19LDMwMzU3NShlKXtlLmV4cG9ydHM9WyJCZXRhIDVZIl19LDg5NzAwNyhlKXtlLmV4cG9ydHM9WyJCZXRhIC0gMyBZZWFyIl19LDEyODc5MShlKXtlLmV4cG9ydHM9WyJCZXRhIC0gNSBZZWFyIl19LDg2NzA0MChlKXtlLmV4cG9ydHM9WyJCZXRhIDNZIl19LDM2NTY2MChlKXtlLmV4cG9ydHM9WyJCZXR3ZWVuIl19LDc5Mjg2NihlKXtlLmV4cG9ydHM9WyJCZXZlcmFnZXMgKFByb2R1Y3Rpb24vRGlzdHJpYnV0aW9uKSJdfSw2NTc0NzEoZSl7ZS5leHBvcnRzPVsiQmV2ZXJhZ2VzOiBBbGNvaG9saWMiXX0sODkzODg1KGUpe2UuZXhwb3J0cz1bIkJldmVyYWdlczogTm9uLUFsY29ob2xpYyJdfSw0NjI4OTYoZSl7ZS5leHBvcnRzPVsiQmVhcmlzaCBFbmd1bGZpbmciXX0sNDUwOTA3KGUpe2UuZXhwb3J0cz1bIkJlYXJpc2ggSGFyYW1pIl19LDI3MzE0MihlKXtlLmV4cG9ydHM9WyJCZWF1dHkgU3VwcGx5IFNob3AiXX0sNTAxMTYoZSl7ZS5leHBvcnRzPVsiQmVlZiAmIFZlYWwgRmFybWluZyJdfSw5NDk2MzYoZSl7ZS5leHBvcnRzPVsiQmVlciwgV2luZSAmIExpcXVvciBTdG9yZXMiXX0sNzAwNTA4KGUpe2UuZXhwb3J0cz1bIkJlZm9yZSBPcGVuIl19LDUyMzU1MihlKXtlLmV4cG9ydHM9WyJCZWxhcnVzIl19LDgzMzI0KGUpe2UuZXhwb3J0cz1bIkJlbGdpdW0iXX0sNzg3NzAxKGUpe2UuZXhwb3J0cz1bIkJlbGl6ZSJdfSwxNzc1MDYoZSl7ZS5leHBvcnRzPVsiQmVsb3ciXX0sMjA0ODA0KGUpe2UuZXhwb3J0cz1bIkJlbG93IG9yIEVxdWFsIl19LDU4ODg0OChlKXtlLmV4cG9ydHM9WyJCZW5pbiJdfSwzMTQ3MzcoZSl7ZS5leHBvcnRzPVsiQmVybXVkYSJdfSwyODQ0NDIoZSl7ZS5leHBvcnRzPVsiQmh1dGFuIl19LDg5NDczOChlKXtlLmV4cG9ydHM9WyJCaWN5Y2xlIE1hbnVmYWN0dXJpbmciXX0sNDI5NTA4KGUpe2UuZXhwb3J0cz1bIkJpZCJdfSw4Njg4MTAoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IG1vbnRoLiJdfSw5MTM5NTUoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IHllYXIuIl19LDUzMjMxNihlKXtlLmV4cG9ydHM9WyJCaW8gTWVkaWNhbCBEZXZpY2VzIl19LDYzNTE1NyhlKXtlLmV4cG9ydHM9WyJCaW8gRGlhZ25vc3RpY3MgJiBUZXN0aW5nIl19LDY0ODI0OShlKXtlLmV4cG9ydHM9WyJCaW8gVGhlcmFwZXV0aWMgRHJ1Z3MiXX0sNzk2MjYoZSl7ZS5leHBvcnRzPVsiQmlvZGllc2VsIl19LDU1NzIzOShlKXtlLmV4cG9ydHM9WyJCaW9tYXNzICYgQmlvZ2FzIEZ1ZWxzIl19LDYzNzQwOShlKXtlLmV4cG9ydHM9WyJCaW9tZXRyaWMgUHJvZHVjdHMiXX0sMzQ1NzUzKGUpe2UuZXhwb3J0cz1bIkJpb3BoYXJtYWNldXRpY2FscyJdfSwxNzk0MTMoZSl7ZS5leHBvcnRzPVsiQmlvdGVjaG5vbG9neSJdfSw4OTIxNDMoZSl7ZS5leHBvcnRzPVsiQmlvdGVjaG5vbG9neSAmIE1lZGljYWwgUmVzZWFyY2giXX0sOTA0NzU3KGUpe2UuZXhwb3J0cz1bIkJpcnRoIENvbnRyb2wgUHJvZHVjdHMiXX0sMzkxOTA2KGUpe2UuZXhwb3J0cz1bIkJydW5laSJdfSw4MjEzOTkoZSl7ZS5leHBvcnRzPVsiQnJhbmRpbmcgJiBOYW1pbmciXX0sNjEyOTY3KGUpe2UuZXhwb3J0cz1bIkJyYXppbCJdfSw3ODkxODAoZSl7ZS5leHBvcnRzPVsiQnJlYWQgJiBCYWtlcnkgUHJvZHVjdCBNYW51ZmFjdHVyaW5nIl19LDI0MzA0MihlKXtlLmV4cG9ydHM9WyJCcmVha2Zhc3QgQ2VyZWFsIE1hbnVmYWN0dXJpbmciXX0sNDgwNDEzKGUpe2UuZXhwb3J0cz1bIkJyZXdlcnMiXX0sNzQ0MjQ2KGUpe2UuZXhwb3J0cz1bIkJyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeSJdfSw2NTMzNDAoZSl7ZS5leHBvcnRzPVsiQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyJdfSw4MTg2MTYoZSl7ZS5leHBvcnRzPVsiQnJvYWRjYXN0aW5nIl19LDk1MTk2MyhlKXtlLmV4cG9ydHM9WyJCcm9hZGNhc3RpbmcgRXF1aXBtZW50Il19LDYyODQ4MShlKXtlLmV4cG9ydHM9WyJCcm9rZXJhZ2UgU2VydmljZXMiXX0sNjU1MDc3KGUpe2UuZXhwb3J0cz1bIkJyb29tcywgQnJ1c2hlcyAmIER1c3RwYW5zIl19LDE2MTcxNyhlKXtlLmV4cG9ydHM9WyJCdWlsZGVyIE1lcmNoYW50cyJdfSwzODY3MTkoZSl7ZS5leHBvcnRzPVsiQnVpbGRpbmcgQ29udHJhY3RvcnMiXX0sMjU3MjM0KGUpe2UuZXhwb3J0cz1bIkJ1aWxkaW5nIFByb2R1Y3RzIl19LDcxNDAzMShlKXtlLmV4cG9ydHM9WyJCdWxnYXJpYSJdfSwzMzk1MjcoZSl7ZS5leHBvcnRzPVsiQnVsbGlzaCBFbmd1bGZpbmciXX0sNDYzODk2KGUpe2UuZXhwb3J0cz1bIkJ1bGxpc2ggSGFyYW1pIl19LDE5ODI5NyhlKXtlLmV4cG9ydHM9WyJCdXJraW5hIEZhc28iXX0sNzU4MjIoZSl7ZS5leHBvcnRzPVsiQnVydW5kaSJdfSwzNzI2NDcoZSl7ZS5leHBvcnRzPVsiQnVzaW5lc3MgU2VydmljZXMiXX0sOTczNShlKXtlLmV4cG9ydHM9WyJCdXNpbmVzcyBTdXBwb3J0IFNlcnZpY2VzIl19LDg3MDI5OShlKXtlLmV4cG9ydHM9WyJCdXNpbmVzcyBTdXBwb3J0IFN1cHBsaWVzIl19LDc4MzMxOChlKXsKZS5leHBvcnRzPVsiR292ZXJubWVudCJdfSw1NjUyOTQoZSl7ZS5leHBvcnRzPVsiR29sZCJdfSw2ODM1KGUpe2UuZXhwb3J0cz1bIkdvbGQgTWluaW5nIl19LDY5ODMyNShlKXtlLmV4cG9ydHM9WyJHb2xmIENvdXJzZXMiXX0sNzczOTI2KGUpe2UuZXhwb3J0cz1bIkdvb2R3aWxsIl19LDM2NzY5MChlKXtlLmV4cG9ydHM9WyJHYWJvbiJdfSw3MDg3ODUoZSl7ZS5leHBvcnRzPVsiR2FtYmlhIl19LDIyMDE1NihlKXtlLmV4cG9ydHM9WyJHYW1ibGluZyAmIEdhbWluZyBNYWNoaW5lIE1hbnVmYWN0dXJlcnMiXX0sNTg0ODQxKGUpe2UuZXhwb3J0cz1bIkdhbWVzLCBUb3lzICYgQ2hpbGRyZW4gVmVoaWNsZXMiXX0sNDg1OTM1KGUpe2UuZXhwb3J0cz1bIkdhbWluZyBNYWNoaW5lIE9wZXJhdG9ycyJdfSw5MzAwNjkoZSl7ZS5leHBvcnRzPVsiR2FwICUiXX0sMjM3OTk2KGUpe2UuZXhwb3J0cz1bIkdhcyBEaXN0cmlidXRvcnMiXX0sNTI1MTExKGUpe2UuZXhwb3J0cz1bIkdhcyBEcmlsbGluZyAtIE9uc2hvcmUiXX0sNjY3MzE2KGUpe2UuZXhwb3J0cz1bIkdhc29saW5lIHN0YXRpb25zIl19LDU2MzUzMChlKXtlLmV4cG9ydHM9WyJHZXQgcmVhZHkgdG8gc3dpdGNoIHRvIHRoZSBuZXcgU3RvY2sgU2NyZWVuZXIiXX0sOTEwODIxKGUpe2UuZXhwb3J0cz1bIkdlbmVyYWwiXX0sODU1MTc3KGUpe2UuZXhwb3J0cz1bIkdlbmVyYWwgRWR1Y2F0aW9uIFNlcnZpY2VzIl19LDI0MTk5NShlKXtlLmV4cG9ydHM9WyJHZW5lcmFsIEdvdmVybm1lbnQiXX0sMzQ2MTQ2KGUpe2UuZXhwb3J0cz1bIkdlbmVyaWMgUGhhcm1hY2V1dGljYWxzIl19LDgyNDEyMyhlKXtlLmV4cG9ydHM9WyJHZW9waHlzaWNhbCBTdXJ2ZXlpbmcgJiBNYXBwaW5nIFNlcnZpY2VzIl19LDc5NTk1MShlKXtlLmV4cG9ydHM9WyJHZW9yZ2lhIl19LDQ2NjY5OChlKXtlLmV4cG9ydHM9WyJHZXJtYW55Il19LDQ5ODY3OShlKXtlLmV4cG9ydHM9WyJHaGFuYSJdfSw3NzEwMTcoZSl7ZS5leHBvcnRzPVsiR2licmFsdGFyIl19LDE1MzI0MShlKXtlLmV4cG9ydHM9WyJHaWZ0LCBOb3ZlbHR5ICYgU291dmVuaXIgU3RvcmVzIl19LDIzNjIyMShlKXtlLmV4cG9ydHM9WyJHbGFzcyBDb250YWluZXJzICYgUGFja2FnaW5nIl19LDYwOTQ2MShlKXtlLmV4cG9ydHM9WyJHbGFzc2VzLCBTcGVjdGFjbGVzICYgQ29udGFjdCBsZW5zZXMiXX0sNjA1Njc0KGUpe2UuZXhwb3J0cz1bIkdsb2JhbCBjdXJyZW5jeSJdfSw3NTAyNzcoZSl7ZS5leHBvcnRzPVsiR3JhaW4gKENyb3ApIFByb2R1Y3Rpb24iXX0sMTIzNzM2KGUpe2UuZXhwb3J0cz1bIkdyYXZlc3RvbmUgRG9qaSJdfSwzMTgzOTkoZSl7ZS5leHBvcnRzPVsiR3JlZW5sYW5kIl19LDc5MzI4OShlKXtlLmV4cG9ydHM9WyJHcmVlY2UiXX0sOTMyMDg2KGUpe2UuZXhwb3J0cz1bIkdyZW5hZGEiXX0sMzc4Mzk5KGUpe2UuZXhwb3J0cz1bIkdyb3NzIE1hcmdpbiJdfSw5MDA5NDUoZSl7ZS5leHBvcnRzPVsiR3Jvc3MgTWFyZ2luIChGWSkiXX0sNjYxODkzKGUpe2UuZXhwb3J0cz1bIkdyb3NzIE1hcmdpbiAoVFRNKSJdfSwzNTYxMjUoZSl7ZS5leHBvcnRzPVsiR3Jvc3MgUHJvZml0IChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sODcwMjYyKGUpe2UuZXhwb3J0cz1bIkdyb3NzIFByb2ZpdCAoRlkpIl19LDQyNjY1MihlKXtlLmV4cG9ydHM9WyJHcm9zcyBQcm9maXQgKE1SUSkiXX0sMTkxNTc0KGUpe2UuZXhwb3J0cz1bIkdyb3NzIFByb2ZpdCAoUXVhcnRlcmx5IFFvUSBHcm93dGgpIl19LDEwNzkwNChlKXtlLmV4cG9ydHM9WyJHcm9zcyBQcm9maXQgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw3NjEzMDUoZSl7ZS5leHBvcnRzPVsiR3Jvc3MgUHJvZml0IChUVE0gWW9ZIEdyb3d0aCkiXX0sOTY2NTA1KGUpe2UuZXhwb3J0cz1bIkdyb3NzIG1hcmdpbiAoe3BlcmlvZH0pIl19LDM5NzYwMihlKXtlLmV4cG9ydHM9WyJHcm9zcyBwcm9maXQgKHtwZXJpb2R9KSJdfSwzMjkyOTEoZSl7ZS5leHBvcnRzPVsiR3JvdW5kIEZyZWlnaHQgJiBMb2dpc3RpY3MiXX0sODYyOTQ5KGUpe2UuZXhwb3J0cz1bIkdyb3VwIl19LDc5MDY1NihlKXtlLmV4cG9ydHM9WyJHcm91cHMiXX0sMjQyMTE2KGUpe2UuZXhwb3J0cz1bIkd1eWFuYSJdfSwxNjQ4NzcoZSl7ZS5leHBvcnRzPVsiR3VhZGVsb3VwZSJdfSw1NDQzMjUoZSl7ZS5leHBvcnRzPVsiR3VhbSJdfSw4Nzc0ODcoZSl7ZS5leHBvcnRzPVsiR3VhdGVtYWxhIl19LDQwODkxNihlKXtlLmV4cG9ydHM9WyJHdWVybnNleSJdfSw1ODQzMyhlKXtlLmV4cG9ydHM9WyJHdWlkZWQgVG91ciBPcGVyYXRvcnMiXX0sNDM2NDU1KGUpe2UuZXhwb3J0cz1bIkd1aW5lYSJdfSwzMDgyMjkoZSl7ZS5leHBvcnRzPVsiR3VpbmVhLUJpc3NhdSJdfSw3MTc3ODEoZSl7ZS5leHBvcnRzPVsiR3ltcywgRml0bmVzcyBhbmQgU3BhIENlbnRlcnMiXX0sMjM3MjQxKGUpe2UuZXhwb3J0cz1bIkRFQlQvRVFVSVRZIl19LDI4Nzk5OChlKXtlLmV4cG9ydHM9WyJEUiJdfSw5ODUyNTkoZSl7ZS5leHBvcnRzPVsiRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSBDb2x1bW4gU2V0ICd7bmFtZX0nID8iXX0sMjc3MDExKGUpe2UuZXhwb3J0cz1bIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgU2NyZWVuICd7bmFtZX0nID8iXX0sODMyNTYyKGUpe2UuZXhwb3J0cz1bIkRvY3RvcidzIE9mZmljZSJdfSw1MjQ1NyhlKXtlLmV4cG9ydHM9WyJEb2xscyAmIFN0dWZmZWQgVG95cyJdfSwxOTQzMjYoZSl7ZS5leHBvcnRzPVsiRG9taW5pY2EiXX0sODE4NjA0KGUpe2UuZXhwb3J0cz1bIkRvbWluaWNhbiBSZXB1YmxpYyJdfSwzNTE5NjMoZSl7ZS5leHBvcnRzPVsiRG9uY2hDaDIwIExvdyJdfSw2MTc0NjgoZSl7ZS5leHBvcnRzPVsiRG9uY2hDaDIwIFVwIl19LDYwODY1NihlKXtlLmV4cG9ydHM9WyJEb25jaGlhbiBDaGFubmVscyBMb3dlciBCYW5kICgyMCkiXX0sMzc4MDI0KGUpe2UuZXhwb3J0cz1bIkRvbmNoaWFuIENoYW5uZWxzIFVwcGVyIEJhbmQgKDIwKSJdfSwxODIxNDMoZSl7ZS5leHBvcnRzPVsiRG9vcnMgJiBXaW5kb3cgRnJhbWVzIl19LDg4NDc4MChlKXsKZS5leHBvcnRzPVsiRGF0YSBQcm9jZXNzaW5nIFNlcnZpY2VzIl19LDUwNzcyOShlKXtlLmV4cG9ydHM9WyJEYXRlIl19LDc4OTAxNShlKXtlLmV4cG9ydHM9WyJEYWlyeSBQcm9kdWN0cyJdfSw0OTUyMTAoZSl7ZS5leHBvcnRzPVsiRGVidCJdfSwyNTk2NShlKXtlLmV4cG9ydHM9WyJEZWJ0L0VxIl19LDMxNTA5MihlKXtlLmV4cG9ydHM9WyJEZWJ0L0VxdWl0eSwgTVJRIl19LDU0NzM2MihlKXtlLmV4cG9ydHM9WyJEZWJ0IHRvIEFzc2V0cyJdfSwzMDY5NjYoZSl7ZS5leHBvcnRzPVsiRGVidCB0byBFcXVpdHkgUmF0aW8gKE1SUSkiXX0sNzY5MDM2KGUpe2UuZXhwb3J0cz1bIkRlYyJdfSw4MjQ0MDMoZSl7ZS5leHBvcnRzPVsiRGVlcCBTZWEgRnJlaWdodCJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw0MzE0NDEoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIl19LDg1MjUwMShlKXtlLmV4cG9ydHM9WyJEZW5tYXJrIl19LDQzNjk3MChlKXtlLmV4cG9ydHM9WyJEZXBhcnRtZW50L1NwZWNpYWx0eSBSZXRhaWwgU3RvcmVzIl19LDQxNTEwNShlKXtlLmV4cG9ydHM9WyJEZXBhcnRtZW50IFN0b3JlcyJdfSw3MTQ3NDUoZSl7ZS5leHBvcnRzPVsiRGVwb3NpdGFyeSBSZWNlaXB0Il19LDM5Nzk4NyhlKXtlLmV4cG9ydHM9WyJEZXNjcmlwdGlvbiJdfSw5OTQwMjUoZSl7ZS5leHBvcnRzPVsiRGVzY3JpcHRpdmUiXX0sNzAyMjA2KGUpe2UuZXhwb3J0cz1bIkRlc2lnbiBTZXJ2aWNlcyJdfSwxODgzNjIoZSl7ZS5leHBvcnRzPVsiRGl2IFBhaWQiXX0sOTIyNzE0KGUpe2UuZXhwb3J0cz1bIkRpdiBQcmVmIl19LDQzODgxMChlKXtlLmV4cG9ydHM9WyJEaXYgWWllbGQgRldEIl19LDExNTMwNChlKXtlLmV4cG9ydHM9WyJEaXYgcGVyIFNoYXJlIChGWSkiXX0sMTExODI5KGUpe2UuZXhwb3J0cz1bIkRpdiBwZXIgU2hhcmUgKE1SUSkiXX0sODgyOTE5KGUpe2UuZXhwb3J0cz1bIkRpdmVyc2lmaWVkIENoZW1pY2FscyJdfSw2NjkxODUoZSl7ZS5leHBvcnRzPVsiRGl2ZXJzaWZpZWQgSW52ZXN0bWVudCBTZXJ2aWNlcyJdfSwzNjAwNihlKXtlLmV4cG9ydHM9WyJEaXZlcnNpZmllZCBSRUlUcyJdfSw5MDM3MzEoZSl7ZS5leHBvcnRzPVsiRGl2ZXJzaWZpZWQgVHJhZGluZyAmIERpc3RyaWJ1dGluZyJdfSw5NzY2MDcoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmQgWWllbGQgRm9yd2FyZCJdfSw0NTc1MDUoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmQgcGF5b3V0IHJhdGlvICh7cGVyaW9kfSkiXX0sNjU5MjY3KGUpe2UuZXhwb3J0cz1bIkRpdmlkZW5kcyJdfSw1NTAyMTYoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmRzIFBhaWQgKEZZKSJdfSw0OTMyMDAoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmRzIFByZWZlcnJlZCJdfSwyNzQ3MjkoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmRzIHBlciBTaGFyZSAoRlkpIl19LDI5MjIyMChlKXtlLmV4cG9ydHM9WyJEaXZpZGVuZHMgcGVyIFNoYXJlIChNUlEpIl19LDU1Nzk0MShlKXtlLmV4cG9ydHM9WyJEaXZpZGVuZHMgcGVyIHNoYXJlIChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sNTc4NTcxKGUpe2UuZXhwb3J0cz1bIkRpYWdub3N0aWMgJiBUZXN0aW5nIFN1YnN0YW5jZXMiXX0sMTg4MTIxKGUpe2UuZXhwb3J0cz1bIkRpYWdub3N0aWMgJiBUZXN0aW5nIFN1YnN0YW5jZXMgTWFudWZhY3R1cmVycyJdfSw5NTIwODkoZSl7ZS5leHBvcnRzPVsiRGlhbW9uZCBNaW5pbmciXX0sMTM3Mzc3KGUpe2UuZXhwb3J0cz1bIkRpZ2l0YWwgTWVkaWEgQWdlbmNpZXMiXX0sNDM2NDgwKGUpe2UuZXhwb3J0cz1bIkRpZ2l0YWwgUHVibGlzaGluZyJdfSwyNTE0OTYoZSl7ZS5leHBvcnRzPVsiRGlyZWN0IE1hcmtldGluZyJdfSw4NjUwMzEoZSl7ZS5leHBvcnRzPVsiRGlyZWN0b3J5IFB1Ymxpc2hpbmciXX0sNTE4MTE3KGUpe2UuZXhwb3J0cz1bIkRpc2NvdW50IFN0b3JlcyJdfSw2MzcxODQoZSl7ZS5leHBvcnRzPVsiRGlzY291bnQgU3RvcmVzIHdpdGggZ3JvY2VyaWVzIl19LDc5NTEyNChlKXtlLmV4cG9ydHM9WyJEaXNjb3VudCBTdG9yZXMgd2l0aG91dCBncm9jZXJpZXMiXX0sMjk5ODI0KGUpe2UuZXhwb3J0cz1bIkRpc3BsYXkgU2NyZWVucyJdfSwxMzAyMChlKXtlLmV4cG9ydHM9WyJEaXN0aWxsZXJpZXMiXX0sNTU4MDk1KGUpe2UuZXhwb3J0cz1bIkRpc3RpbGxlcnMgJiBXaW5lcmllcyJdfSwxNzEzNDIoZSl7ZS5leHBvcnRzPVsiRGlzdHJpYnV0aW9uIFNlcnZpY2VzIl19LDUwNzc5OChlKXtlLmV4cG9ydHM9WyJEamlib3V0aSJdfSw4OTY3NzIoZSl7ZS5leHBvcnRzPVsiRHJ1Z3N0b3JlIENoYWlucyJdfSw1NjEwNjAoZSl7ZS5leHBvcnRzPVsiRHJ1ZyBEZWxpdmVyeSBTeXN0ZW1zIl19LDU1OTIwNihlKXtlLmV4cG9ydHM9WyJEcnVnIFJldGFpbGVycyJdfSwzNzU0NChlKXtlLmV4cG9ydHM9WyJEcmFnb25mbHkgRG9qaSJdfSw0NzAxMDUoZSl7ZS5leHBvcnRzPVsiRS1jb21tZXJjZSAmIEF1Y3Rpb24gU2VydmljZXMiXX0sMTA3OTA1KGUpe2UuZXhwb3J0cz1bIkVNQTEwIl19LDY0OTY0NChlKXtlLmV4cG9ydHM9WyJFTUExMDAiXX0sMTQzNjMoZSl7ZS5leHBvcnRzPVsiRU1BMjAiXX0sNjA1NDM4KGUpe2UuZXhwb3J0cz1bIkVNQTIwMCJdfSw5NTQ4NTkoZSl7ZS5leHBvcnRzPVsiRU1BMzAiXX0sNTExODQ0KGUpe2UuZXhwb3J0cz1bIkVNQTUiXX0sNTM4MDE4KGUpe2UuZXhwb3J0cz1bIkVNQTUwIl19LDY3NzgxMyhlKXtlLmV4cG9ydHM9WyJFTVBMT1lFRVMiXX0sNjk5NyhlKXtlLmV4cG9ydHM9WyJFQklUREEiXX0sOTg2MjkyKGUpe2UuZXhwb3J0cz1bIkVCSVREQSAoQW5udWFsIFlvWSBHcm93dGgpIl19LDc0NjIzKGUpe2UuZXhwb3J0cz1bIkVCSVREQSAoUXVhcnRlcmx5IFFvUSBHcm93dGgpIl19LDUzOTcwNShlKXtlLmV4cG9ydHM9WyJFQklUREEgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw4MzQ2NjgoZSl7ZS5leHBvcnRzPVsiRUJJVERBIChUVE0gWW9ZIEdyb3d0aCkiXX0sNTQwOTkoZSl7ZS5leHBvcnRzPVsiRUJJVERBIChUVE0pIl19LDMyNzE0OShlKXtlLmV4cG9ydHM9WyJFUFMgKEZZKSJdfSwyNTU4NTcoZSl7ZS5leHBvcnRzPVsiRVBTIChUVE0pIl19LAo5MzEwOTMoZSl7ZS5leHBvcnRzPVsiRVBTIERpbHV0ZWQgKE1SUSkiXX0sNTI4OTcyKGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sMTEyMjc4KGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChGWSkiXX0sOTY2MjU2KGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChRdWFydGVybHkgUW9RIEdyb3d0aCkiXX0sODIyNzgyKGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChRdWFydGVybHkgWW9ZIEdyb3d0aCkiXX0sNDA2ODYzKGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChUVE0gWW9ZIEdyb3d0aCkiXX0sOTg2NTE2KGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChUVE0pIl19LDc4OTE1NShlKXtlLmV4cG9ydHM9WyJFUFMgRXN0aW1hdGUiXX0sMjA1NTQ4KGUpe2UuZXhwb3J0cz1bIkVQUyBGb3JlY2FzdCJdfSw4MDI1OTAoZSl7ZS5leHBvcnRzPVsiRVBTIEZvcmVjYXN0IChNUlEpIl19LDcyODU0NShlKXtlLmV4cG9ydHM9WyJFUFMgZGlsdXRlZCAoe3BlcmlvZH0pIl19LDMwMDI3NShlKXtlLmV4cG9ydHM9WyJFVEMiXX0sNjk0MDcyKGUpe2UuZXhwb3J0cz1bIkVURiJdfSw5NzIyNDAoZSl7ZS5leHBvcnRzPVsiRVROIl19LDI2MzIzMChlKXtlLmV4cG9ydHM9WyJFViJdfSw3NzY0NjQoZSl7ZS5leHBvcnRzPVsiRVYvRUJJVERBIl19LDQ4NTc5MChlKXtlLmV4cG9ydHM9WyJFbXBsb3ltZW50IFNlcnZpY2VzIl19LDI0OTk3OChlKXtlLmV4cG9ydHM9WyJFbnRlciBhIG5ldyBjb2x1bW4gc2V0IG5hbWU6Il19LDg5MDk5KGUpe2UuZXhwb3J0cz1bIkVudGVyIGEgbmV3IHNjcmVlbiBuYW1lOiJdfSw0NTgwMTEoZSl7ZS5leHBvcnRzPVsiRW50ZXJ0YWlubWVudCBQcm9kdWN0aW9uIl19LDIxODc2NyhlKXtlLmV4cG9ydHM9WyJFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gRXF1aXBtZW50ICYgU2VydmljZXMiXX0sNjczMTYxKGUpe2UuZXhwb3J0cz1bIkVudGVycHJpc2UgdmFsdWUiXX0sNjc0NDgxKGUpe2UuZXhwb3J0cz1bIkVudGVycHJpc2UgU29mdHdhcmUiXX0sMTExMTI1KGUpe2UuZXhwb3J0cz1bIkVudGVycHJpc2UgVmFsdWUvRUJJVERBIChUVE0pIl19LDUzMTI4OChlKXtlLmV4cG9ydHM9WyJFbnRlcnByaXNlIFZhbHVlIChNUlEpIl19LDkxNTEyNChlKXtlLmV4cG9ydHM9WyJFbnRpcmUgd29ybGQiXX0sMjA1MjA5KGUpe2UuZXhwb3J0cz1bIkVudmlyb25tZW50YWwgQmlvdGVjaG5vbG9neSJdfSw1ODA2NzIoZSl7ZS5leHBvcnRzPVsiRW52aXJvbm1lbnRhbCBDb25zdWx0YW5jeSBTZXJ2aWNlcyJdfSwzMDcwMTcoZSl7ZS5leHBvcnRzPVsiRW52aXJvbm1lbnRhbCBTZXJ2aWNlcyJdfSw2OTAwOTAoZSl7ZS5leHBvcnRzPVsiRW52aXJvbm1lbnRhbCBTZXJ2aWNlcyAmIEVxdWlwbWVudCJdfSw2MDE3NjQoZSl7ZS5leHBvcnRzPVsiRW5kIG9mIERheSJdfSw4MjU1NDIoZSl7ZS5leHBvcnRzPVsiRW5lcmd5Il19LDU2MDM4OShlKXtlLmV4cG9ydHM9WyJFbmVyZ3kgTWluZXJhbHMiXX0sMzY3NzYwKGUpe2UuZXhwb3J0cz1bIkVuZXJneSBEcmlua3MiXX0sMjk3MzA0KGUpe2UuZXhwb3J0cz1bIkVuZ2luZSAmIFBvd2VydHJhaW4gU3lzdGVtcyJdfSwyMjMyNjIoZSl7ZS5leHBvcnRzPVsiRW5naW5lZXJpbmcgJiBDb25zdHJ1Y3Rpb24iXX0sMTM0MDU5KGUpe2UuZXhwb3J0cz1bIkVhcm5pbmdzIHRoaXMgd2VlayJdfSw0MTMzOTcoZSl7ZS5leHBvcnRzPVsiRWN1YWRvciJdfSwyNDMwODIoZSl7ZS5leHBvcnRzPVsiRWR1Y2F0aW9uICYgVHJhaW5pbmcgSW5mb3JtYXRpb24gUHJvdmlkZXJzIl19LDE0NDI2MChlKXtlLmV4cG9ydHM9WyJFZHVjYXRpb25hbCBTZXJ2aWNlcyJdfSwzMzc0MzcoZSl7ZS5leHBvcnRzPVsiRWd5cHQiXX0sODgwODcyKGUpe2UuZXhwb3J0cz1bIkVsIFNhbHZhZG9yIl19LDI3NDc4MihlKXtlLmV4cG9ydHM9WyJFbGVjdHJpYyBDb25zdHJ1Y3Rpb24iXX0sNzg3MTcwKGUpe2UuZXhwb3J0cz1bIkVsZWN0cmljIEVxdWlwbWVudCBXaG9sZXNhbGUiXX0sODExODcwKGUpe2UuZXhwb3J0cz1bIkVsZWN0cmljIFV0aWxpdGllcyJdfSwzNDY3MTEoZSl7ZS5leHBvcnRzPVsiRWxlY3RyaWMgVXRpbGl0aWVzOiBDZW50cmFsIl19LDk5OTAxNChlKXtlLmV4cG9ydHM9WyJFbGVjdHJpY2FsIChBbHRlcm5hdGl2ZSkgVmVoaWNsZXMiXX0sNDYxMjI3KGUpe2UuZXhwb3J0cz1bIkVsZWN0cmljYWwgQ29tcG9uZW50cyAmIEVxdWlwbWVudCJdfSw0MTY1MzcoZSl7ZS5leHBvcnRzPVsiRWxlY3RyaWNhbCBNZWFzdXJpbmcgJiBUZXN0aW5nIEluc3RydW1lbnRzIl19LDYxNDQ0MChlKXtlLmV4cG9ydHM9WyJFbGVjdHJpY2FsIFByb2R1Y3RzIl19LDMyMTQ2NShlKXtlLmV4cG9ydHM9WyJFbGVjdHJvbiBUdWJlcyAmIEluc3VsYXRvcnMiXX0sMTAyMjQ3KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWNzIERpc3RyaWJ1dG9ycyJdfSw5NzcwMDkoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pY3MvQXBwbGlhbmNlIFN0b3JlcyJdfSwyNjAwMzcoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pY3MvQXBwbGlhbmNlcyJdfSwzNjg1NjAoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pYyBDb21wb25lbnQiXX0sNDQ5NDE5KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgQ29tcG9uZW50cyJdfSwxNTQwNDcoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pYyBFcXVpcG1lbnQgJiBQYXJ0cyJdfSwzOTYzMTYoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pYyBFcXVpcG1lbnQvSW5zdHJ1bWVudHMiXX0sNzczMTQ0KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgRXF1aXBtZW50cyAmIFBhcnRzIl19LDg5NDczNyhlKXtlLmV4cG9ydHM9WyJFbGVjdHJvbmljIFByb2R1Y3Rpb24gRXF1aXBtZW50Il19LDY1NDMyKGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgUmVwYWlyIFNlcnZpY2VzIl19LDc1OTYxNShlKXtlLmV4cG9ydHM9WyJFbGVjdHJvbmljIFRlY2hub2xvZ3kiXX0sOTIyNDU5KGUpe2UuZXhwb3J0cz1bIkVsZXZhdG9yICYgQ29udmV5aW5nIEVxdWlwbWVudCJdfSw4NzM0MDMoZSl7ZS5leHBvcnRzPVsiRXBveHkiXX0sMzQwMjM5KGUpe2UuZXhwb3J0cz1bIkVxdWFsIl0KfSw3NDY1MjQoZSl7ZS5leHBvcnRzPVsiRXF1YXRvcmlhbCBHdWluZWEiXX0sNzMwODczKGUpe2UuZXhwb3J0cz1bIkVyaXRyZWEiXX0sOTQxMjAoZSl7ZS5leHBvcnRzPVsiRXN0b25pYSJdfSw4OTgzMDMoZSl7ZS5leHBvcnRzPVsiRXN3YXRpbmkiXX0sNDUwNjIzKGUpe2UuZXhwb3J0cz1bIkV0aGFub2wgRnVlbHMiXX0sMzMxOTEoZSl7ZS5leHBvcnRzPVsiRXRoaW9waWEiXX0sOTUyMzY3KGUpe2UuZXhwb3J0cz1bIkV1cm9wZSJdfSw1MzUxNDYoZSl7ZS5leHBvcnRzPVsiRXVyb3BlYW4gVW5pb24iXX0sMzQ5NjcwKGUpe2UuZXhwb3J0cz1bIkV2ZW5pbmcgU3RhciJdfSw3MjE0NDEoZSl7ZS5leHBvcnRzPVsiRXh0ZW5kZWQgSG91cnMiXX0sODI2NjA3KGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIl19LDU0ODc1MyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSBUcmFkZWQgRnVuZCJdfSwyMjI1MzIoZSl7ZS5leHBvcnRzPVsiRXhjaGFuZ2UgVHJhZGVkIEZ1bmRzIl19LDYxMTExOChlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSB0eXBlIl19LDI5OTMxNihlKXtlLmV4cG9ydHM9WyJFeGVjdXRpdmUgU2VhcmNoIFNlcnZpY2VzIl19LDkxOTE3NyhlKXtlLmV4cG9ydHM9WyJFeGhpYml0aW9uICYgQ29uZmVyZW5jZSBTZXJ2aWNlcyJdfSw1ODA4MzIoZSl7ZS5leHBvcnRzPVsiRXhvdGljIl19LDM2NTU4OShlKXtlLmV4cG9ydHM9WyJFeHBpcmF0aW9uIl19LDYzNDUwNihlKXtlLmV4cG9ydHM9WyJFeHBvbmVudGlhbCBNb3ZpbmcgQXZlcmFnZSAoe251bWJlcn0pIl19LDM5MTI1MShlKXtlLmV4cG9ydHM9WyJFeHBsb3NpdmVzIl19LDIxNDI3OShlKXtlLmV4cG9ydHM9WyJGRCBNa3QgQ2FwIl19LDI5ODU3NihlKXtlLmV4cG9ydHM9WyJGUSJdfSwyODc5MTgoZSl7ZS5leHBvcnRzPVsiRlkiXX0sNjMyODQ3KGUpe2UuZXhwb3J0cz1bIkZvb2QgRGlzdHJpYnV0b3JzIl19LDQwMzk0MyhlKXtlLmV4cG9ydHM9WyJGb29kIEluZ3JlZGllbnRzIl19LDUxNDM4NyhlKXtlLmV4cG9ydHM9WyJGb29kIE1hcmtldHMiXX0sMTQ2MDQzKGUpe2UuZXhwb3J0cz1bIkZvb2QgUHJvY2Vzc2luZyJdfSwyMzE0MzQoZSl7ZS5leHBvcnRzPVsiRm9vZCBSZXRhaWwiXX0sODYzNjYxKGUpe2UuZXhwb3J0cz1bIkZvb2QgUmV0YWlsICYgRGlzdHJpYnV0aW9uIl19LDk3NjgyMihlKXtlLmV4cG9ydHM9WyJGb29kIFdob2xlc2FsZSJdfSwyNTc3MDkoZSl7ZS5leHBvcnRzPVsiRm9vZDogTWFqb3IgRGl2ZXJzaWZpZWQiXX0sNDI0Njg1KGUpe2UuZXhwb3J0cz1bIkZvb2Q6IE1lYXQvRmlzaC9EYWlyeSJdfSw5MzE4ODMoZSl7ZS5leHBvcnRzPVsiRm9vZDogU3BlY2lhbHR5L0NhbmR5Il19LDY5ODA1NyhlKXtlLmV4cG9ydHM9WyJGb290d2VhciJdfSw5MTUwMzcoZSl7ZS5leHBvcnRzPVsiRm9vdHdlYXIgUmV0YWlsZXJzIl19LDk3MzI5NShlKXtlLmV4cG9ydHM9WyJGb290d2VhciBXaG9sZXNhbGUiXX0sODA4MDA4KGUpe2UuZXhwb3J0cz1bIkZvcmVzdCAmIFdvb2QgUHJvZHVjdHMiXX0sNDY0MjM5KGUpe2UuZXhwb3J0cz1bIkZvcmVzdCBOdXJzZXJpZXMgJiBHYXRoZXJpbmcgb2YgRm9yZXN0IFByb2R1Y3RzIl19LDM0NDY1MyhlKXtlLmV4cG9ydHM9WyJGb3Jlc3QgUHJvZHVjdHMiXX0sODMxODc1KGUpe2UuZXhwb3J0cz1bIkZvcmVzdCBTdXBwb3J0ICYgU2VydmljZXMiXX0sMjU1MDkzKGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDI0OTgyKGUpe2UuZXhwb3J0cz1bIkZvc3NpbCBGdWVsIEVsZWN0cmljIFV0aWxpdGllcyJdfSwxOTM3MTEoZSl7ZS5leHBvcnRzPVsiRm9zc2lsIEZ1ZWwgSVBQcyJdfSwyNjA2MDUoZSl7ZS5leHBvcnRzPVsiRmF2b3JpdGUgc2V0cyJdfSw1ODA2NTgoZSl7ZS5leHBvcnRzPVsiRmFicmljIER5ZWluZyAmIEZpbmlzaGluZyJdfSw3NTI0MzAoZSl7ZS5leHBvcnRzPVsiRmFjdG9yaW5nIl19LDk5MzQ3NShlKXtlLmV4cG9ydHM9WyJGYWxrbGFuZCBJc2xhbmRzIl19LDYwNzcyMyhlKXtlLmV4cG9ydHM9WyJGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcykiXX0sNDI4OTc4KGUpe2UuZXhwb3J0cz1bIkZhbGxpbmcgcGFpcnMiXX0sNDUyNDg3KGUpe2UuZXhwb3J0cz1bIkZhcm9lIElzbGFuZHMiXX0sNzQ1NTE2KGUpe2UuZXhwb3J0cz1bIkZhc2hpb24gRXlld2VhciJdfSw2MTczNDEoZSl7ZS5leHBvcnRzPVsiRmViIl19LDYzNjA2NChlKXtlLmV4cG9ydHM9WyJGZXJ0aWxpemVyIl19LDIxNDg1KGUpe2UuZXhwb3J0cz1bIkZpYmVyIE9wdGljIENhYmxlIE1hbnVmYWN0dXJpbmciXX0sMTUyNDA5KGUpe2UuZXhwb3J0cz1bIkZpamkiXX0sMTQxNzI3KGUpe2UuZXhwb3J0cz1bIkZpbHRlcnMiXX0sNDYyMTkzKGUpe2UuZXhwb3J0cz1bIkZpbmFuY2UiXX0sOTkyMjk2KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2UvUmVudGFsL0xlYXNpbmciXX0sNjY1OTA1KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2U6IENvbnN1bWVyIFNlcnZpY2VzIl19LDc2OTg3NChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpbmcgY2FzaCBmbG93ICh7cGVyaW9kfSkiXX0sMTI4NDc5KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2lhbCJdfSw5MjA2NDIoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFsICYgQ29tbW9kaXR5IE1hcmtldCBPcGVyYXRvcnMiXX0sNTAwMjQ3KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2lhbCBDb25nbG9tZXJhdGVzIl19LDYxNDQzMyhlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWwgSW5mb3JtYXRpb24gUHJvdmlkZXJzIl19LDkzNzI2NChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWwgUHVibGlzaGluZy9TZXJ2aWNlcyJdfSw0NDM0OTYoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFsIFRlY2hub2xvZ3kgJiBJbmZyYXN0cnVjdHVyZSJdfSwzNjkzMjUoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFscyJdfSw2MTMxNChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWxzIGN1cnJlbmN5Il19LDM0MTI0NChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWxzIGluIl19LDk3NjQ1NChlKXtlLmV4cG9ydHM9WyJGaW5sYW5kIl19LDMxNDUyMShlKXtlLmV4cG9ydHM9WyJGaXNjYWwgeWVhciBlbmQiXX0sMzAxNjk1KGUpe2UuZXhwb3J0cz1bIkZpc2hpbmcgJiBGYXJtaW5nIl19LAoyMTYxODkoZSl7ZS5leHBvcnRzPVsiRmlzaGluZyAmIEZhcm1pbmcgV2hvbGVzYWxlIl19LDQ3NTIyNShlKXtlLmV4cG9ydHM9WyJGbHVpZCBQb3dlciBDeWxpbmRlciAmIEFjdHVhdG9ycyJdfSw3MjMwODgoZSl7ZS5leHBvcnRzPVsiRmxvYXQiXX0sNDg1NDI5KGUpe2UuZXhwb3J0cz1bIkZsb29yIENvdmVyaW5nIFJldGFpbGVycyJdfSw4MTg2MjgoZSl7ZS5leHBvcnRzPVsiRmxvb3JpbmcgJiBJbnRlcmlvciBUaWxlIE1hbnVmYWN0dXJlcnMiXX0sMzg5NDg3KGUpe2UuZXhwb3J0cz1bIkZsb3Jpc3RzIl19LDM5ODIzNyhlKXtlLmV4cG9ydHM9WyJGbG91ciBNaWxsaW5nIl19LDkxNjYyKGUpe2UuZXhwb3J0cz1bIkZydWl0ICYgVmVnZXRhYmxlIFByb2Nlc3NpbmciXX0sNzc0MjE2KGUpe2UuZXhwb3J0cz1bIkZydWl0IERyaW5rcyJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwxMzYyMzgoZSl7ZS5leHBvcnRzPVsiRnJhbmNlIl19LDE0NDYzKGUpe2UuZXhwb3J0cz1bIkZyZWUgQ2FzaCBGbG93Il19LDYwNzU2MChlKXtlLmV4cG9ydHM9WyJGcmVlIENhc2ggRmxvdyAoQW5udWFsIFlvWSBHcm93dGgpIl19LDM0NDM2KGUpe2UuZXhwb3J0cz1bIkZyZWUgQ2FzaCBGbG93IChRdWFydGVybHkgUW9RIEdyb3d0aCkiXX0sMjY1MDYoZSl7ZS5leHBvcnRzPVsiRnJlZSBDYXNoIEZsb3cgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw3ODU3MShlKXtlLmV4cG9ydHM9WyJGcmVlIENhc2ggRmxvdyAoVFRNIFlvWSBHcm93dGgpIl19LDE2NzY4OChlKXtlLmV4cG9ydHM9WyJGcmVlIENhc2ggRmxvdyAoVFRNKSJdfSw1MzExNzMoZSl7ZS5leHBvcnRzPVsiRnJlZSBDYXNoIEZsb3cgTWFyZ2luIChGWSkiXX0sOTI0NTUzKGUpe2UuZXhwb3J0cz1bIkZyZWUgQ2FzaCBGbG93IE1hcmdpbiAoVFRNKSJdfSw2MjI1NTkoZSl7ZS5leHBvcnRzPVsiRnJlZSBjYXNoIGZsb3cgKHtwZXJpb2R9KSJdfSw5NjkyMzcoZSl7ZS5leHBvcnRzPVsiRnJlaWdodCBMb2dpc3RpY3MiXX0sMzQyNzA2KGUpe2UuZXhwb3J0cz1bIkZyZWlnaHQgVHJ1Y2tpbmciXX0sOTc2MDc5KGUpe2UuZXhwb3J0cz1bIkZyZW5jaCBHdWlhbmEiXX0sODYzODI1KGUpe2UuZXhwb3J0cz1bIkZyZW5jaCBQb2x5bmVzaWEiXX0sMzI4NjA3KGUpe2UuZXhwb3J0cz1bIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyJdfSw3ODI5NjQoZSl7ZS5leHBvcnRzPVsiRnJvemVuIEZvb2QgTWFudWZhY3R1cmluZyJdfSw5NDM5MDMoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw2ODczMzIoZSl7ZS5leHBvcnRzPVsiRnVsbHkgRGlsdXRlZCBNYXJrZXQgQ2FwIl19LDg4MTkxOShlKXtlLmV4cG9ydHM9WyJGdW5lcmFsIFNlcnZpY2VzIl19LDI2NjY3MShlKXtlLmV4cG9ydHM9WyJGdXJuaXR1cmUiXX0sODM4NShlKXtlLmV4cG9ydHM9WyJGdXJuaXR1cmUgUmV0YWlsZXJzIl19LDk3ODU2MShlKXtlLmV4cG9ydHM9WyJHMjAiXX0sNTgxNjc5KGUpe2UuZXhwb3J0cz1bIktuaXR3ZWFyIl19LDY3Njg2KGUpe2UuZXhwb3J0cz1bIktvc292byJdfSwyNzc1NjAoZSl7ZS5leHBvcnRzPVsiS2F6YWtoc3RhbiJdfSw2Nzk1NDYoZSl7ZS5leHBvcnRzPVsiS2VsdG5lciBDaGFubmVscyBMb3dlciBCYW5kICgyMCkiXX0sMzA1ODg1KGUpe2UuZXhwb3J0cz1bIktlbHRuZXIgQ2hhbm5lbHMgVXBwZXIgQmFuZCAoMjApIl19LDgxNDk2NihlKXtlLmV4cG9ydHM9WyJLZW55YSJdfSw0NTcyNDIoZSl7ZS5leHBvcnRzPVsiS2l0Y2hlbiBBcHBsaWFuY2VzIl19LDQyMjYxOShlKXtlLmV4cG9ydHM9WyJLaXRjaGVuIENhYmluZXRzIl19LDQ1NzY5NChlKXtlLmV4cG9ydHM9WyJLaWNraW5nIEJlYXJpc2giXX0sNjE4NDkyKGUpe2UuZXhwb3J0cz1bIktpY2tpbmcgQnVsbGlzaCJdfSw0NDYyOTMoZSl7ZS5leHBvcnRzPVsiS2lyaWJhdGkiXX0sMjU3NzYwKGUpe2UuZXhwb3J0cz1bIktsdENoMjAgTG93Il19LDI0MDcxNShlKXtlLmV4cG9ydHM9WyJLbHRDaDIwIFVwIl19LDM5NTEzMChlKXtlLmV4cG9ydHM9WyJLdXdhaXQiXX0sNDU4NjYwKGUpe2UuZXhwb3J0cz1bIkt5cmd5enN0YW4iXX0sODgzNjIwKGUpe2UuZXhwb3J0cz1bIkhvdGVscyAmIE1vdGVscyJdfSwxNjQyNzcoZSl7ZS5leHBvcnRzPVsiSG90ZWxzL1Jlc29ydHMvQ3J1aXNlIGxpbmVzIl19LDM5OTc5MShlKXtlLmV4cG9ydHM9WyJIb3RlbHMsIE1vdGVscyAmIENydWlzZSBMaW5lcyJdfSw3MTg2MDcoZSl7ZS5leHBvcnRzPVsiSG91c2Vob2xkIEFwcGxpYW5jZXMiXX0sMjc1NDk4KGUpe2UuZXhwb3J0cz1bIkhvdXNlaG9sZCBFbGVjdHJvbmljcyJdfSw2OTkyODkoZSl7ZS5leHBvcnRzPVsiSG91c2Vob2xkIFByb2R1Y3RzIl19LDI5MzcwNyhlKXtlLmV4cG9ydHM9WyJIb3VzZWhvbGQvUGVyc29uYWwgQ2FyZSJdfSw3MzA0OTYoZSl7ZS5leHBvcnRzPVsiSG9sZGluZyBDb21wYW5pZXMiXX0sMTI3NDkoZSl7ZS5leHBvcnRzPVsiSG9seSBTZWUiXX0sNjc0MTA1KGUpe2UuZXhwb3J0cz1bIkhvbWUgQXVkaW8iXX0sMjY1NDIoZSl7ZS5leHBvcnRzPVsiSG9tZSBEZWNvciBSZXRhaWxlcnMiXX0sNzk3ODYoZSl7ZS5leHBvcnRzPVsiSG9tZSBGdXJuaXNoaW5ncyJdfSwyOTEyMDMoZSl7ZS5leHBvcnRzPVsiSG9tZSBGdXJuaXNoaW5ncyBSZXRhaWxlcnMiXX0sNDYxNDUyKGUpe2UuZXhwb3J0cz1bIkhvbWUgRnVybmlzaGluZ3MgV2hvbGVzYWxlIl19LDI5Njc4MShlKXtlLmV4cG9ydHM9WyJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiXX0sMTE2Mjg3KGUpe2UuZXhwb3J0cz1bIkhvbWUgSW1wcm92ZW1lbnQgQ2hhaW5zIl19LDY2MTE0NyhlKXtlLmV4cG9ydHM9WyJIb21lIEltcHJvdmVtZW50IFByb2R1Y3RzICYgU2VydmljZXMgUmV0YWlsZXJzIl19LDg1MjcyNChlKXtlLmV4cG9ydHM9WyJIb21lYnVpbGRpbmciXX0sMjAyODE2KGUpe2UuZXhwb3J0cz1bIkhvbmR1cmFzIl19LDQ2Mzc3OShlKXtlLmV4cG9ydHM9WyJIb25nIEtvbmcsIENoaW5hIl19LDU0NTkyNShlKXtlLmV4cG9ydHM9WyJIb3JzZSAmIERvZyBSYWNlIFRyYWNrcyJdfSwxMjQ0MDIoZSl7CmUuZXhwb3J0cz1bIkhvc2llcnkgJiBTb2NrIl19LDM4MDk0NChlKXtlLmV4cG9ydHM9WyJIb3NwaXRhbC9OdXJzaW5nIE1hbmFnZW1lbnQiXX0sNTQ5MTM3KGUpe2UuZXhwb3J0cz1bIkhvc3BpdGFsaXR5IFJFSVRzIl19LDc3MjU0OChlKXtlLmV4cG9ydHM9WyJIb3NwaXRhbHMsIENsaW5pY3MgJiBQcmltYXJ5IENhcmUgU2VydmljZXMiXX0sMTM2OTQ2KGUpe2UuZXhwb3J0cz1bIkhhaXIgQWNjZXNzb3JpZXMiXX0sODk0NzA5KGUpe2UuZXhwb3J0cz1bIkhhaXRpIl19LDgyODY0MShlKXtlLmV4cG9ydHM9WyJIYWxhbCBBbmltYWwgU2xhdWdodGVyaW5nICYgUHJvY2Vzc2luZyJdfSw4NjU5MDcoZSl7ZS5leHBvcnRzPVsiSGFtbWVyIl19LDM0ODMzMChlKXtlLmV4cG9ydHM9WyJIYW5naW5nIE1hbiJdfSw0NjY0NzkoZSl7ZS5leHBvcnRzPVsiSGFuZGJhZ3MgJiBMdWdnYWdlIl19LDE0NDAxKGUpe2UuZXhwb3J0cz1bIkhhbmRiYWdzICYgTHVnZ2FnZSBSZXRhaWxlcnMiXX0sMTAwOTU2KGUpe2UuZXhwb3J0cz1bIkhlYWx0aCBGb29kIFN0b3JlcyJdfSwzNTAwOTAoZSl7ZS5leHBvcnRzPVsiSGVhbHRoIEluc3VyYW5jZSJdfSw2MjA2MDEoZSl7ZS5leHBvcnRzPVsiSGVhbHRoIFNlcnZpY2VzIl19LDQxODQ1NyhlKXtlLmV4cG9ydHM9WyJIZWFsdGggVGVjaG5vbG9neSJdfSw4MDY4NjcoZSl7ZS5leHBvcnRzPVsiSGVhbHRoY2FyZSJdfSw2OTMxODUoZSl7ZS5leHBvcnRzPVsiSGVhbHRoY2FyZSBGYWNpbGl0aWVzICYgU2VydmljZXMiXX0sMTY4NzI4KGUpe2UuZXhwb3J0cz1bIkhlYWx0aGNhcmUgUkVJVHMiXX0sMjM2MTIzKGUpe2UuZXhwb3J0cz1bIkhlYXJkIElzbGFuZCBhbmQgTWNEb25hbGQgSXNsYW5kcyJdfSw1Mzk5MjIoZSl7ZS5leHBvcnRzPVsiSGVhdGluZywgVmVudGlsYXRpb24gJiBBaXIgQ29uZGl0aW9uaW5nIFN5c3RlbXMiXX0sMjYyOTgzKGUpe2UuZXhwb3J0cz1bIkhlYXZ5IEJ1c2VzICYgQ29hY2hlcyJdfSw0NTgxMjcoZSl7ZS5leHBvcnRzPVsiSGVhdnkgRWxlY3RyaWNhbCBFcXVpcG1lbnQiXX0sMjUwNTIoZSl7ZS5leHBvcnRzPVsiSGVhdnkgTW90b3JzICYgR2VuZXJhdG9ycyJdfSwzODE2MDQoZSl7ZS5leHBvcnRzPVsiSGVhdnkgTWFjaGluZXJ5ICYgVmVoaWNsZXMiXX0sNTE4MDQ0KGUpe2UuZXhwb3J0cz1bIkhlYXZ5IE1hY2hpbmVyeSAmIFZlaGljbGVzIFdob2xlc2FsZSJdfSw5OTgwNjcoZSl7ZS5leHBvcnRzPVsiSGVhdnkgVHJ1Y2tzIl19LDg5ODMzNihlKXtlLmV4cG9ydHM9WyJIZWRnZSBGdW5kcyJdfSwxMjI3NjQoZSl7ZS5leHBvcnRzPVsiSGlkZSBjdXJyZW5jeSJdfSw3MjEwMDEoZSl7ZS5leHBvcnRzPVsiSGlkZSBkZXNjcmlwdGlvbiJdfSw3NTcyMzEoZSl7ZS5leHBvcnRzPVsiSGlkZSByYXRpbmciXX0sOTI2ODI1KGUpe2UuZXhwb3J0cz1bIkhpZGUgc3ltYm9sIHR5cGUiXX0sODQ1NTYzKGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sODg1OTMoZSl7ZS5leHBvcnRzPVsiSGlnaC1kaXZpZGVuZCJdfSw5MDAzNzUoZSl7ZS5leHBvcnRzPVsiSGlnaCA1MlciXX0sNDczNzYyKGUpe2UuZXhwb3J0cz1bIkhpZ2h3YXkgJiBCcmlkZ2UgQ29uc3RydWN0aW9uIl19LDc3Mjg4NihlKXtlLmV4cG9ydHM9WyJIaWdod2F5IE9wZXJhdG9ycyJdfSw1MTM3NzYoZSl7ZS5leHBvcnRzPVsiSGlnaHdheXMgJiBSYWlsIFRyYWNrcyJdfSw3NjA3MTkoZSl7ZS5leHBvcnRzPVsiSHVsbCBNb3ZpbmcgQXZlcmFnZSAoOSkiXX0sNzM5MjAzKGUpe2UuZXhwb3J0cz1bIkh1bGxNQTkiXX0sNTk1OTk2KGUpe2UuZXhwb3J0cz1bIkh1bWFuIFJlc291cmNlcyBDb25zdWx0aW5nIFNlcnZpY2VzIl19LDY2MTM2NihlKXtlLmV4cG9ydHM9WyJIdW5nYXJ5Il19LDM0NzI0OShlKXtlLmV4cG9ydHM9WyJIeWRyb2dlbiBGdWVsIl19LDg4NzgzNyhlKXtlLmV4cG9ydHM9WyJIeWRyb3Bvd2VyIEVxdWlwbWVudCJdfSw1NzQ1NDMoZSl7ZS5leHBvcnRzPVsiSVQgU2VydmljZXMgJiBDb25zdWx0aW5nIl19LDcxNTEwNyhlKXtlLmV4cG9ydHM9WyJJbnRlZ3JhdGVkICBNaW5pbmciXX0sODg2ZTMoZSl7ZS5leHBvcnRzPVsiSW50ZWdyYXRlZCBDaXJjdWl0cyJdfSw0MTQ4NzMoZSl7ZS5leHBvcnRzPVsiSW50ZWdyYXRlZCBMb2dpc3RpY3MgT3BlcmF0b3JzIl19LDI2MjA0NShlKXtlLmV4cG9ydHM9WyJJbnRlZ3JhdGVkIE9pbCJdfSw5OTkxMzEoZSl7ZS5leHBvcnRzPVsiSW50ZWdyYXRlZCBPaWwgJiBHYXMiXX0sNzQ1NTkwKGUpe2UuZXhwb3J0cz1bIkludGVncmF0ZWQgVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIl19LDU5ODA4MyhlKXtlLmV4cG9ydHM9WyJJbnRlci1kZWFsZXIgQnJva2VyIl19LDI2NzcyMihlKXtlLmV4cG9ydHM9WyJJbnRlcmlvciBEZXNpZ24gU2VydmljZXMiXX0sODI3NDU2KGUpe2UuZXhwb3J0cz1bIkludGVybmF0aW9uYWwgVHJhZGUgRmluYW5jaW5nIl19LDgyMDQ2NChlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCAmIE1haWwgT3JkZXIgRGVwYXJ0bWVudCBTdG9yZXMiXX0sNzcxMjkyKGUpe2UuZXhwb3J0cz1bIkludGVybmV0ICYgTWFpbCBPcmRlciBEaXNjb3VudCBTdG9yZXMiXX0sMzA2OChlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCBHYW1pbmciXX0sNDYzNTIzKGUpe2UuZXhwb3J0cz1bIkludGVybmV0IFNvZnR3YXJlL1NlcnZpY2VzIl19LDc5Nzk5NyhlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCBTZWN1cml0eSAmIFRyYW5zYWN0aW9ucyBTZXJ2aWNlcyJdfSw5MDU1OTMoZSl7ZS5leHBvcnRzPVsiSW50ZXJuZXQgU2VydmljZSBQcm92aWRlcnMiXX0sNjc0NzI5KGUpe2UuZXhwb3J0cz1bIkludGVybmV0IFNlcnZpY2VzIl19LDI3NTAxMihlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCBSZXRhaWwiXX0sMjcyMTYxKGUpe2UuZXhwb3J0cz1bIkludmVydGVkIEhhbW1lciJdfSw2Mzg0OTgoZSl7ZS5leHBvcnRzPVsiSW52ZXN0aW5nIGNhc2ggZmxvdyAoe3BlcmlvZH0pIl19LDk4NjkxNChlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IEJhbmtlcnMvQnJva2Vycy9TZXJ2aWNlIl19LDQ3NTE3NChlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IEJhbmtpbmciXX0sOTEyNjU4KGUpewplLmV4cG9ydHM9WyJJbnZlc3RtZW50IEJhbmtpbmcgJiBCcm9rZXJhZ2UgU2VydmljZXMiXX0sOTczNzI0KGUpe2UuZXhwb3J0cz1bIkludmVzdG1lbnQgQmFua3MvQnJva2VycyJdfSw0MDkyNzIoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBNYW5hZ2VtZW50Il19LDU5MTk2MihlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IE1hbmFnZW1lbnQgJiBGdW5kIE9wZXJhdG9ycyJdfSwzNzkwNjUoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBNYW5hZ2VycyJdfSw3NTYxMzYoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBTdXBwb3J0IFRvb2xzIl19LDc4NDMzMihlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IFRydXN0cyJdfSwyOTU5NzIoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBUcnVzdHMvTXV0dWFsIEZ1bmRzIl19LDE4MjQzNyhlKXtlLmV4cG9ydHM9WyJJbmNvbWUiXX0sODQ3NTQ0KGUpe2UuZXhwb3J0cz1bIkluY29tZSBTdGF0ZW1lbnQiXX0sMTcyMjk1KGUpe2UuZXhwb3J0cz1bIkluZGVwZW5kZW50IFBvd2VyIFByb2R1Y2VycyJdfSwxMjI5MDAoZSl7ZS5leHBvcnRzPVsiSW5kZXgiXX0sMzcyNTIwKGUpe2UuZXhwb3J0cz1bIkluZGlhIl19LDgwMjk3NShlKXtlLmV4cG9ydHM9WyJJbmRvbmVzaWEiXX0sMTk1ODc4KGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgIFJlYWwgRXN0YXRlIERldmVsb3BtZW50Il19LDY1MDEwMyhlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIEJpb3RlY2hub2xvZ3kgQ2hlbWljYWxzIl19LDk0ODMxMChlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIENvbmdsb21lcmF0ZXMiXX0sODE3OTUxKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgQ2xvdGhpbmcgJiBVbmlmb3JtcyJdfSw2NjI2NjgoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBFbGVjdHJpY2FsIFN3aXRjaGdlYXIiXX0sMjI2NjcwKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgR2FzIl19LDQ5NDU4OChlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIE1hY2hpbmVyeSJdfSw2NTczNzEoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBNYWNoaW5lcnkgJiBFcXVpcG1lbnQiXX0sNzY2Nzc3KGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgTWFjaGluZXJ5ICYgRXF1aXBtZW50IFdob2xlc2FsZSJdfSwyNzYyNDcoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBNb3VsZHMiXX0sNjQxNjkoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBQYXJ0cyAmIENvbXBvbmVudHMiXX0sNTE3MjY0KGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUGxhbnQiXX0sMzIyMDgyKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUHJvY2VzcyBGdXJuYWNlICYgT3ZlbnMiXX0sMTA4MzYxKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUkVJVHMiXX0sNzM1NzIzKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUnViYmVyIFByb2R1Y3RzIl19LDk5OTU2MChlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIFNlcnZpY2VzIl19LDIxNDM5NihlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIFNwZWNpYWx0aWVzIl19LDI0OTI0OShlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIFZhbHZlIE1hbnVmYWN0dXJpbmciXX0sOTc4NTcyKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWxzIl19LDkwNTgzNShlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWVzIl19LDg3NzYxKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJ5Il19LDg5OTA4MChlKXtlLmV4cG9ydHM9WyJJbmZvcm1hdGlvbiBUZWNobm9sb2d5IFNlcnZpY2VzIl19LDQyMDg0KGUpe2UuZXhwb3J0cz1bIklubGFuZCBXYXRlciBGcmVpZ2h0Il19LDQwMzQ3NChlKXtlLmV4cG9ydHM9WyJJbnB1dCBEZXZpY2VzIl19LDcwOTQ5NyhlKXtlLmV4cG9ydHM9WyJJbnN0cnVtZW50IGN1cnJlbmN5Il19LDMyODMxMyhlKXtlLmV4cG9ydHM9WyJJbnN0cnVtZW50IGlzIG5vdCBhbGxvd2VkIl19LDQ2NzU1MihlKXtlLmV4cG9ydHM9WyJJbnN1cmFuY2UgLSBBdXRvbW9iaWxlIl19LDg3MTE1NihlKXtlLmV4cG9ydHM9WyJJbnN1cmFuY2UgQnJva2VycyJdfSw2NjQ2NzAoZSl7ZS5leHBvcnRzPVsiSW5zdXJhbmNlIEJyb2tlcnMvU2VydmljZXMiXX0sNDQwMTg4KGUpe2UuZXhwb3J0cz1bIkljZWxhbmQiXX0sNzAyOTQ2KGUpe2UuZXhwb3J0cz1bIkljaGltb2t1IENvbnZlcnNpb24iXX0sOTI2NChlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBDb252ZXJzaW9uIExpbmUgKDksIDI2LCA1MiwgMjYpIl19LDc1MjkzNChlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBCYXNlIl19LDQ5MDcyOChlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBCYXNlIExpbmUgKDksIDI2LCA1MiwgMjYpIl19LDMxMDE3NyhlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBMZWFkaW5nIFNwYW4gQSJdfSwyOTczMTAoZSl7ZS5leHBvcnRzPVsiSWNoaW1va3UgTGVhZGluZyBTcGFuIEEgKDksIDI2LCA1MiwgMjYpIl19LDgzOTU4MShlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBMZWFkaW5nIFNwYW4gQiJdfSw3MDY1NjIoZSl7ZS5leHBvcnRzPVsiSWNoaW1va3UgTGVhZGluZyBTcGFuIEIgKDksIDI2LCA1MiwgMjYpIl19LDM3MTc0NihlKXtlLmV4cG9ydHM9WyJJcmFxIl19LDcxMTUyNyhlKXtlLmV4cG9ydHM9WyJJcmVsYW5kIl19LDcwOTc5NChlKXtlLmV4cG9ydHM9WyJJcm9uIE9yZSBNaW5pbmciXX0sMjYzNDIxKGUpe2UuZXhwb3J0cz1bIklyb24sIFN0ZWVsIE1pbGxzICYgRm91bmRyaWVzIl19LDIwNzgyNShlKXtlLmV4cG9ydHM9WyJJc2xlIG9mIE1hbiJdfSw4MDMzNTQoZSl7ZS5leHBvcnRzPVsiSXNyYWVsIl19LDg5ODE2MyhlKXtlLmV4cG9ydHM9WyJJdGFseSJdfSw3MjQ5MTIoZSl7ZS5leHBvcnRzPVsiSeKAmW0gbm90IHJlYWR5Il19LDU4MzAwOShlKXtlLmV4cG9ydHM9WyJKb3JkYW4iXX0sMTYzNShlKXtlLmV4cG9ydHM9WyJKYW1haWNhIl19LDY1NzM3NChlKXtlLmV4cG9ydHM9WyJKYW4iXX0sMjAwMDY4KGUpe2UuZXhwb3J0cz1bIkphcGFuIl19LDY2MDI5NChlKXtlLmV4cG9ydHM9WyJKZXdlbHJ5Il19LDQ1NDk4MyhlKXtlLmV4cG9ydHM9WyJKZXdlbHJ5ICYgV2F0Y2ggUmV0YWlsZXJzIl19LDE2MTg0MChlKXtlLmV4cG9ydHM9WyJKZWFucyJdfSwKMTE4NTk4KGUpe2UuZXhwb3J0cz1bIkplcnNleSJdfSw2Njk2OTEoZSl7ZS5leHBvcnRzPVsiSnV2ZW5pbGUgRnVybml0dXJlIl19LDE4Mzk1OShlKXtlLmV4cG9ydHM9WyJKdWwiXX0sODc3NDUoZSl7ZS5leHBvcnRzPVsiSnVuIl19LDI4NTI5MyhlKXtlLmV4cG9ydHM9WyJPbWFuIl19LDI0MDIyKGUpe2UuZXhwb3J0cz1bIk9ubGluZSBKb2IgcG9ydGFscyJdfSw3MjgzMzcoZSl7ZS5leHBvcnRzPVsiT2N0Il19LDEyODc0KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQiXX0sODQ5MTE4KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQvU3VwcGxpZXMiXX0sNDI0ODYxKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQgJiBTdXBwbGllcyBSZW50YWwiXX0sMTM3NTI1KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQgV2hvbGVzYWxlIl19LDc5Nzc0OChlKXtlLmV4cG9ydHM9WyJPZmZpY2UgRnVybml0dXJlIl19LDkyNzcxMihlKXtlLmV4cG9ydHM9WyJPZmZpY2UgUkVJVHMiXX0sNDMzOTExKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCJdfSw3MDYzNDkoZSl7ZS5leHBvcnRzPVsiT2ZmaWNlIFJlYWwgRXN0YXRlIFNlcnZpY2VzIl19LDg1NjMyKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBTdXBwbGllcyJdfSw5NDAxMTUoZSl7ZS5leHBvcnRzPVsiT2ZmaWNlIFN1cHBsaWVzICYgU3RhdGlvbmVyeSBTdG9yZXMiXX0sMzc5NTA3KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBTdXBwbGllcyBXaG9sZXNhbGUiXX0sMjkwMzcwKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBUZWNobm9sb2d5IEVxdWlwbWVudCJdfSw2NDc0MzkoZSl7ZS5leHBvcnRzPVsiT2lsICYgR2FzIERyaWxsaW5nIl19LDE5NDQ1MChlKXtlLmV4cG9ydHM9WyJPaWwgJiBHYXMgRXhwbG9yYXRpb24gYW5kIFByb2R1Y3Rpb24iXX0sMjgzODg1KGUpe2UuZXhwb3J0cz1bIk9pbCAmIEdhcyBQaXBlbGluZXMiXX0sMzkxNyhlKXtlLmV4cG9ydHM9WyJPaWwgJiBHYXMgUHJvZHVjdGlvbiJdfSw1MDMzMTcoZSl7ZS5leHBvcnRzPVsiT2lsICYgR2FzIFJlZmluaW5nIGFuZCBNYXJrZXRpbmciXX0sOTIyNDkzKGUpe2UuZXhwb3J0cz1bIk9pbCAmIEdhcyBTdG9yYWdlIl19LDg5NjgxOShlKXtlLmV4cG9ydHM9WyJPaWwgJiBHYXMgVHJhbnNwb3J0YXRpb24gU2VydmljZXMiXX0sMjk4MDUwKGUpe2UuZXhwb3J0cz1bIk9pbCBEcmlsbGluZyAtIE9uc2hvcmUiXX0sMTc5NDk3KGUpe2UuZXhwb3J0cz1bIk9pbCBEcmlsbGluZyAtIE9mZnNob3JlIl19LDg1NzkxOChlKXtlLmV4cG9ydHM9WyJPaWwgRXhwbG9yYXRpb24gJiBQcm9kdWN0aW9uIC0gT2Zmc2hvcmUiXX0sNzM3MjMwKGUpe2UuZXhwb3J0cz1bIk9pbCBFeHBsb3JhdGlvbiAmIFByb2R1Y3Rpb24gLSBPbnNob3JlIl19LDEyODg3OShlKXtlLmV4cG9ydHM9WyJPaWwgUGlwZWxpbmUiXX0sNzkyMDMyKGUpe2UuZXhwb3J0cz1bIk9pbCBSZWZpbmluZy9NYXJrZXRpbmciXX0sNjY5MTU2KGUpe2UuZXhwb3J0cz1bIk9pbCBSZWxhdGVkIC0gU3VydmV5aW5nICYgTWFwcGluZyBTZXJ2aWNlcyJdfSw1NjE2MTUoZSl7ZS5leHBvcnRzPVsiT2lsIFJlbGF0ZWQgRXF1aXBtZW50Il19LDU3MzE2NyhlKXtlLmV4cG9ydHM9WyJPaWwgUmVsYXRlZCBTZXJ2aWNlcyJdfSwyMjA1MyhlKXtlLmV4cG9ydHM9WyJPaWwgUmVsYXRlZCBTZXJ2aWNlcyBhbmQgRXF1aXBtZW50Il19LDg4NTU0NihlKXtlLmV4cG9ydHM9WyJPaWxmaWVsZCBTZXJ2aWNlcy9FcXVpcG1lbnQiXX0sMjA4MDc4KGUpe2UuZXhwb3J0cz1bIk9rIl19LDc2ODQwMShlKXtlLmV4cG9ydHM9WyJPcHRpY2FsIEdvb2RzIFN0b3JlcyJdfSw5Nzc4MShlKXtlLmV4cG9ydHM9WyJPcGVuIl19LDkzNjEzNShlKXtlLmV4cG9ydHM9WyJPcGVuIHtzeW1ib2x9IENoYXJ0Li4uIl19LDcwNjQwMChlKXtlLmV4cG9ydHM9WyJPcGVuIHtzeW1ib2x9IFBhZ2UuLi4iXX0sMzIxMDI5KGUpe2UuZXhwb3J0cz1bIk9wZW4gUHJpY2UiXX0sMzMyOTkoZSl7ZS5leHBvcnRzPVsiT3BlcmF0aW5nIE1hcmdpbiJdfSw0MzUwNzAoZSl7ZS5leHBvcnRzPVsiT3BlcmF0aW5nIE1hcmdpbiAoRlkpIl19LDgwMDQzMyhlKXtlLmV4cG9ydHM9WyJPcGVyYXRpbmcgTWFyZ2luIChUVE0pIl19LDQ3MjY2OShlKXtlLmV4cG9ydHM9WyJPcGVyYXRpbmcgbWFyZ2luICh7cGVyaW9kfSkiXX0sMzU3Nzc0KGUpe2UuZXhwb3J0cz1bIk9wZXJhdGluZyBjYXNoIGZsb3cgKHtwZXJpb2R9KSJdfSw4NTAyMTEoZSl7ZS5leHBvcnRzPVsiT3BlcmF0aW5nIGluY29tZSAoe3BlcmlvZH0pIl19LDgxMzIxOChlKXtlLmV4cG9ydHM9WyJPcmdhbmljICYgRWNvbG9naWNhbGx5IFByb2R1Y2VkIEZhYnJpYyJdfSwzMDE3MzEoZSl7ZS5leHBvcnRzPVsiT3JnYW5pYyBGZXJ0aWxpemVyIl19LDM1OTE1MChlKXtlLmV4cG9ydHM9WyJPc2NpbGxhdG9ycyJdfSw1NDA0NDAoZSl7ZS5leHBvcnRzPVsiT3NjaWxsYXRvcnMgUmF0aW5nIl19LDQ2MzgwKGUpe2UuZXhwb3J0cz1bIk90aGVyIENvbnN1bWVyIFNlcnZpY2VzIl19LDkwNzc1MChlKXtlLmV4cG9ydHM9WyJPdGhlciBDb25zdW1lciBTcGVjaWFsdGllcyJdfSwxMDU4NzEoZSl7ZS5leHBvcnRzPVsiT3RoZXIgTWV0YWxzL01pbmVyYWxzIl19LDM2Njc4OShlKXtlLmV4cG9ydHM9WyJPdGhlciBTcGVjaWFsdHkgUmV0YWlsZXJzIl19LDUxMTU4NihlKXtlLmV4cG9ydHM9WyJPdGhlciBUcmFuc3BvcnRhdGlvbiJdfSw0MzA3OTgoZSl7ZS5leHBvcnRzPVsiT3V0ZG9vciBBZHZlcnRpc2luZyJdfSwyNzc5NDIoZSl7ZS5leHBvcnRzPVsiT3V0c291cmNpbmcgJiBTdGFmZmluZyBTZXJ2aWNlcyJdfSwxNzI1NDMoZSl7ZS5leHBvcnRzPVsiT3V0c2lkZSJdfSwzNzY1MzIoZSl7ZS5leHBvcnRzPVsiT3V0cGVyZm9ybWluZyBTTUE1MCJdfSwyMjI1OTcoZSl7ZS5leHBvcnRzPVsiT3ZlcmJvdWdodCJdfSw4MTEyMDMoZSl7ZS5leHBvcnRzPVsiT3ZlcnNvbGQiXX0sNTY4MzQ2KGUpe2UuZXhwb3J0cz1bIk92ZXJ2aWV3Il19LDg2MzkxNihlKXsKZS5leHBvcnRzPVsiTE5HIFRyYW5zcG9ydGF0aW9uICYgU3RvcmFnZSJdfSw3Mzg0MDcoZSl7ZS5leHBvcnRzPVsiTG90dGVyeSBPcGVyYXRvcnMiXX0sODg4Njc4KGUpe2UuZXhwb3J0cz1bIkxvdyJdfSw5NjI2NTQoZSl7ZS5leHBvcnRzPVsiTG93IDUyVyJdfSw0NDM0MyhlKXtlLmV4cG9ydHM9WyJMb2NhbCBBZ2VuY2llcyJdfSwyOTkxNzUoZSl7ZS5leHBvcnRzPVsiTG9jb21vdGl2ZSBFbmdpbmVzICYgUm9sbGluZyBTdG9jayJdfSw5ODAyNDYoZSl7ZS5leHBvcnRzPVsiTG9nZ2luZyAmIFNhd21pbGxzIl19LDc0ODAxNChlKXtlLmV4cG9ydHM9WyJMb25nIExvd2VyIFNoYWRvdyJdfSw4MTA4MTcoZSl7ZS5leHBvcnRzPVsiTG9uZyBVcHBlciBTaGFkb3ciXX0sMTYwODIoZSl7ZS5leHBvcnRzPVsiTG9va3MgbGlrZSB5b3UgYXJlIHRyeWluZyB0byBzZXQgdXAgYSBzY3JlZW5lciBhbGVydCB3aXRoIG5vIHNhdmVkIGZpbHRlcnMuIFBsZWFzZSBzZWxlY3QgeW91ciBwcmVmZXJyZWQgZmlsdGVyICYgc2F2ZSB5b3VyIHNjcmVlbiB0byBjcmVhdGUgYW4gYWxlcnQuIl19LDI4Mjc3MyhlKXtlLmV4cG9ydHM9WyJMYXR2aWEiXX0sNDcxOTgxKGUpe2UuZXhwb3J0cz1bIkxhdW5kcnkgU3VwcGxpZXMiXX0sNDU2NTM3KGUpe2UuZXhwb3J0cz1bIkxhbmQgRGl2aXNpb24gJiBTdWJkaXZpc2lvbiJdfSw1OTExODAoZSl7ZS5leHBvcnRzPVsiTGFvcyJdfSw1NTIyNzMoZSl7ZS5leHBvcnRzPVsiTGFwdG9wICYgRGVza3RvcCBDb21wdXRlcnMiXX0sNjA5NjY2KGUpe2UuZXhwb3J0cz1bIkxhc2VyIEVxdWlwbWVudCJdfSwyODUzMzMoZSl7ZS5leHBvcnRzPVsiTGFzdCBZZWFyIFJldmVudWUgKEZZKSJdfSw5NTA4MDIoZSl7ZS5leHBvcnRzPVsiTGFzdCBmaXNjYWwgcGVyaW9kIl19LDUzMDQ0NChlKXtlLmV4cG9ydHM9WyJMYXN0IGZpc2NhbCBwZXJpb2QgZW5kIGRhdGUiXX0sNzkyMjYwKGUpe2UuZXhwb3J0cz1bIkxhc3QgcGF5bWVudCBhbW91bnQiXX0sNTY0MDg5KGUpe2UuZXhwb3J0cz1bIkxhc3QgcGF5bWVudCBkYXRlIl19LDI5MjAzOChlKXtlLmV4cG9ydHM9WyJMZXTigJlzIGRvIHRoaXMiXX0sNDU4ODg4KGUpe2UuZXhwb3J0cz1bIkxlYWQgT3JlIE1pbmluZyJdfSw5MDgwNDMoZSl7ZS5leHBvcnRzPVsiTGVhdGhlciBHb29kcyJdfSw5NDU2MTMoZSl7ZS5leHBvcnRzPVsiTGViYW5vbiJdfSw4NjYxNzYoZSl7ZS5leHBvcnRzPVsiTGVnYWwgU2VydmljZXMiXX0sNzUyMjYoZSl7ZS5leHBvcnRzPVsiTGVpc3VyZSAmIFJlY3JlYXRpb24iXX0sNjE0MzMwKGUpe2UuZXhwb3J0cz1bIkxlaXN1cmUgUHJvZHVjdHMgV2hvbGVzYWxlIl19LDY1MzM5NShlKXtlLmV4cG9ydHM9WyJMZXNvdGhvIl19LDg5MjEwMChlKXtlLmV4cG9ydHM9WyJMaXRodWFuaWEiXX0sMTk0MDkxKGUpe2UuZXhwb3J0cz1bIkxpYWJpbGl0aWVzIChNUlEpIl19LDgyOTY1NihlKXtlLmV4cG9ydHM9WyJMaWFiaWxpdGllcyAoRlkpIl19LDY2MjEoZSl7ZS5leHBvcnRzPVsiTGliZXJpYSJdfSw1NTUzNTIoZSl7ZS5leHBvcnRzPVsiTGlieWEiXX0sMzg2NjY3KGUpe2UuZXhwb3J0cz1bIkxpZWNodGVuc3RlaW4iXX0sNjQzMzY1KGUpe2UuZXhwb3J0cz1bIkxpZmUvSGVhbHRoIEluc3VyYW5jZSJdfSw0ODc2NjAoZSl7ZS5leHBvcnRzPVsiTGlmZSAmIEhlYWx0aCBJbnN1cmFuY2UiXX0sNDkzMjY4KGUpe2UuZXhwb3J0cz1bIkxpZmUgJiBIZWFsdGggUmVpbnN1cmFuY2UiXX0sOTk0MTkyKGUpe2UuZXhwb3J0cz1bIkxpZmUgSW5zdXJhbmNlIl19LDcyODY0OShlKXtlLmV4cG9ydHM9WyJMaWdodCBUcnVja3MiXX0sMTkxNjMwKGUpe2UuZXhwb3J0cz1bIkxpZ2h0aW5nIEVxdWlwbWVudCJdfSw0NzkwOTEoZSl7ZS5leHBvcnRzPVsiTGlnaHRpbmcgRml4dHVyZXMiXX0sNjg0OTAxKGUpe2UuZXhwb3J0cz1bIkxpbmdlcmllIl19LDk3NTQ0NyhlKXtlLmV4cG9ydHM9WyJMdXhlbWJvdXJnIl19LDY3NTEwKGUpe2UuZXhwb3J0cz1bIkx1eHVyeSBBY2Nlc3NvcmllcyJdfSw0MDkzNTcoZSl7ZS5leHBvcnRzPVsiTHV4dXJ5IENhciBEZWFsZXJzIl19LDQyNTMwMShlKXtlLmV4cG9ydHM9WyJNT00iXX0sOTQwOTQzKGUpe2UuZXhwb3J0cz1bIk1BQ0QgTGV2ZWwiXX0sMjQ3NTYwKGUpe2UuZXhwb3J0cz1bIk1BQ0QgTGV2ZWwgKDEyLCAyNikiXX0sMzI3OTExKGUpe2UuZXhwb3J0cz1bIk1BQ0QgU2lnbmFsIl19LDk1MDY2MihlKXtlLmV4cG9ydHM9WyJNQUNEIFNpZ25hbCAoMTIsIDI2KSJdfSw1MTgwNDEoZSl7ZS5leHBvcnRzPVsiTUYiXX0sMzIwMDU4KGUpe2UuZXhwb3J0cz1bIk1vdG9yIFZlaGljbGVzIl19LDQ4MDA0NShlKXtlLmV4cG9ydHM9WyJNb3RvcmN5Y2xlIERlYWxlcnMiXX0sOTIyNjIoZSl7ZS5leHBvcnRzPVsiTW90b3JjeWNsZSBQYXJ0cyAmIEFjY2Vzc29yaWVzIl19LDU0MjY4KGUpe2UuZXhwb3J0cz1bIk1vdG9yY3ljbGVzICYgU2Nvb3RlcnMiXX0sMjAwNDUyKGUpe2UuZXhwb3J0cz1bIk1vdmluZyBBdmVyYWdlcyBSYXRpbmciXX0sNTg1ODQ1KGUpe2UuZXhwb3J0cz1bIk1vdmllIFRoZWF0ZXJzICYgTW92aWUgUHJvZHVjdHMiXX0sMTkyOTMxKGUpe2UuZXhwb3J0cz1bIk1vdmllLCBUViBQcm9kdWN0aW9uICYgRGlzdHJpYnV0aW9uIl19LDM3MDEwKGUpe2UuZXhwb3J0cz1bIk1vdmllcy9FbnRlcnRhaW5tZW50Il19LDEwMDAyNihlKXtlLmV4cG9ydHM9WyJNb3phbWJpcXVlIl19LDY4MjU1NyhlKXtlLmV4cG9ydHM9WyJNb2JpbGUgQXBwbGljYXRpb24gU29mdHdhcmUiXX0sNjI1NDUzKGUpe2UuZXhwb3J0cz1bIk1vYmlsZSBQaG9uZSBSZXRhaWxlcnMiXX0sNzUwMDMzKGUpe2UuZXhwb3J0cz1bIk1vYmlsZSBTeXN0ZW0gU29mdHdhcmUiXX0sMzIxMzM2KGUpe2UuZXhwb3J0cz1bIk1vbGRvdmEiXX0sNTMxNTAyKGUpe2UuZXhwb3J0cz1bIk1vbWVudHVtICgxMCkiXX0sMjA4OTA0KGUpe2UuZXhwb3J0cz1bIk1vbmFjbyJdfSw5MTM3MDkoZSl7ZS5leHBvcnRzPVsiTW9uZ29saWEiXX0sMTc4MDk2KGUpe2UuZXhwb3J0cz1bIk1vbmV5IEZsb3cgKDE0KSJdfSw3MzkzNjUoZSl7ZS5leHBvcnRzPVsiTW9udGVuZWdybyJdfSwKNDY3OTgyKGUpe2UuZXhwb3J0cz1bIk1vbnRobHkgUGVyZiJdfSw4MjI4NzUoZSl7ZS5leHBvcnRzPVsiTW9udGhseSBQZXJmb3JtYW5jZSJdfSwzMzMyNjIoZSl7ZS5leHBvcnRzPVsiTW9udHNlcnJhdCJdfSw3MjE0MzMoZSl7ZS5leHBvcnRzPVsiTW9yb2NjbyJdfSw3MTQ0NjMoZSl7ZS5leHBvcnRzPVsiTW9ybmluZyBTdGFyIl19LDQ5ODE1NChlKXtlLmV4cG9ydHM9WyJNb3J0Z2FnZSBSRUlUcyJdfSw2NTY2MDMoZSl7ZS5leHBvcnRzPVsiTW9zdCB2b2xhdGlsZSJdfSw1NTQxNTEoZSl7ZS5leHBvcnRzPVsiTW9zdCBjYXBpdGFsaXplZCJdfSwyNzc5ODQoZSl7ZS5leHBvcnRzPVsiTWF0dXJpdHkgRGF0ZSJdfSw2Njc5OTYoZSl7ZS5leHBvcnRzPVsiTWF1cml0YW5pYSJdfSwxNTAwNTQoZSl7ZS5leHBvcnRzPVsiTWF1cml0aXVzIl19LDQ4MzE0OShlKXtlLmV4cG9ydHM9WyJNYXlvdHRlIl19LDMwNzA2MihlKXtlLmV4cG9ydHM9WyJNYWNhbyJdfSw1MzIyNjkoZSl7ZS5leHBvcnRzPVsiTWFjYXUsIENoaW5hIl19LDQ1OTEwOChlKXtlLmV4cG9ydHM9WyJNYWNlZG9uaWEiXX0sNzQ1MDAzKGUpe2UuZXhwb3J0cz1bIk1hY2hpbmUgVG9vbHMiXX0sNjYwMTg4KGUpe2UuZXhwb3J0cz1bIk1hZGFnYXNjYXIiXX0sMTI3NjMzKGUpe2UuZXhwb3J0cz1bIk1hZ2F6aW5lIFB1Ymxpc2hpbmciXX0sNjAyNTE5KGUpe2UuZXhwb3J0cz1bIk1haW5sYW5kIENoaW5hIl19LDk4MDc4NihlKXtlLmV4cG9ydHM9WyJNYWludGVuYW5jZSAmIFJlcGFpciBTZXJ2aWNlcyJdfSw0NDc3NTMoZSl7ZS5leHBvcnRzPVsiTWFqb3IiXX0sMTQzNzc0KGUpe2UuZXhwb3J0cz1bIk1ham9yIEJhbmtzIl19LDkxNzU3OChlKXtlLmV4cG9ydHM9WyJNYWpvciBQaGFybWFjZXV0aWNhbHMiXX0sMjczMTAzKGUpe2UuZXhwb3J0cz1bIk1ham9yIFRlbGVjb21tdW5pY2F0aW9ucyJdfSwyNDU5NDgoZSl7ZS5leHBvcnRzPVsiTWFsYXdpIl19LDYyNzk2NyhlKXtlLmV4cG9ydHM9WyJNYWxheXNpYSJdfSwzMzE2MTUoZSl7ZS5leHBvcnRzPVsiTWFsZGl2ZXMiXX0sNjIzNDY1KGUpe2UuZXhwb3J0cz1bIk1hbGkiXX0sODQyMzEyKGUpe2UuZXhwb3J0cz1bIk1hbHQgcHJvZHVjZXJzIl19LDU2MzIzNyhlKXtlLmV4cG9ydHM9WyJNYWx0YSJdfSw4MTE0ODMoZSl7ZS5leHBvcnRzPVsiTWFuYWdlZCBIZWFsdGggQ2FyZSJdfSw1MjkzNDcoZSl7ZS5leHBvcnRzPVsiTWFuYWdlZCBIZWFsdGggY2FyZSJdfSwxMjIxMDIoZSl7ZS5leHBvcnRzPVsiTWFuYWdlbWVudCBDb25zdWx0aW5nIFNlcnZpY2VzIl19LDk5ODYxNihlKXtlLmV4cG9ydHM9WyJNYW51YWwgUmVmcmVzaCJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDI3ODYxNChlKXtlLmV4cG9ydHM9WyJNYXJrZXQgQ2FwaXRhbGl6YXRpb24iXX0sODQxNzYxKGUpe2UuZXhwb3J0cz1bIk1hcmtldCBSZXNlYXJjaCJdfSw5MzkxMzYoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGN1cnJlbmN5Il19LDg5NzM5MyhlKXtlLmV4cG9ydHM9WyJNYXJrZXRpbmcgQ29uc3VsdGluZyBTZXJ2aWNlcyJdfSw1NTMxNjQoZSl7ZS5leHBvcnRzPVsiTWFya2V0cyJdfSwyMzcxNTIoZSl7ZS5leHBvcnRzPVsiTWFyaW5hcyJdfSwyMzU5OTQoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIENhcmdvIEhhbmRsaW5nIFNlcnZpY2VzIl19LDY5MDM4OChlKXtlLmV4cG9ydHM9WyJNYXJpbmUgRnJlaWdodCAmIExvZ2lzdGljcyJdfSw3NjQwOTkoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIExvZ2lzdGljcyJdfSw2OTQ4NDkoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIFBhc3NlbmdlciBUcmFuc3BvcnRhdGlvbiJdfSw1MTE0NTIoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIFBvcnQgU2VydmljZXMiXX0sODA3NTYxKGUpe2UuZXhwb3J0cz1bIk1hcmluZSBTaGlwcGluZyJdfSw0Nzc4NDMoZSl7ZS5leHBvcnRzPVsiTWFyc2hhbGwgSXNsYW5kcyJdfSwxMzUxNTIoZSl7ZS5leHBvcnRzPVsiTWFydGluaXF1ZSJdfSw1MzU3ODMoZSl7ZS5leHBvcnRzPVsiTWFydWJvenUgQmxhY2siXX0sOTUyNTY1KGUpe2UuZXhwb3J0cz1bIk1hcnVib3p1IFdoaXRlIl19LDEwOTM3MihlKXtlLmV4cG9ydHM9WyJNZXRhbCBDb250YWluZXJzICYgUGFja2FnaW5nIl19LDUzNjc5NShlKXtlLmV4cG9ydHM9WyJNZXRhbCBGYWJyaWNhdGlvbiJdfSw1NTk3NjAoZSl7ZS5leHBvcnRzPVsiTWV0YWwgTWVyY2hhbnQgV2hvbGVzYWxlcnMiXX0sMjI5NTQwKGUpe2UuZXhwb3J0cz1bIk1ldGFsIFNlcnZpY2UgQ2VudGVycyJdfSw5NjI0MjcoZSl7ZS5leHBvcnRzPVsiTWV0YWxsaWMgUm9sbGluZyAmIERyYXdpbmcgUHJvZHVjdHMiXX0sODY1NzAwKGUpe2UuZXhwb3J0cz1bIk1leGljbyJdfSw1OTgyNDcoZSl7ZS5leHBvcnRzPVsiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIl19LDI1MjIwMyhlKXtlLmV4cG9ydHM9WyJNZWRpYSBDb25nbG9tZXJhdGVzIl19LDI2NjAyMChlKXtlLmV4cG9ydHM9WyJNZWRpYSBCdXlpbmcgQWdlbmN5Il19LDU5OTE1MChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsL051cnNpbmcgU2VydmljZXMiXX0sNDMyNjYyKGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgJiBEaWFnbm9zdGljIExhYm9yYXRvcmllcyJdfSw4NzA1NTkoZSl7ZS5leHBvcnRzPVsiTWVkaWNhbCBEZXZpY2VzICYgSW1wbGFudHMiXX0sNjU5OTcxKGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgRGlhZ25vc3RpYyAmIFRlc3RpbmcgRXF1aXBtZW50Il19LDUwNzg1KGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgRGlzdHJpYnV0b3JzIl19LDc5MjIwMChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIEVxdWlwbWVudCJdfSw1MzI4NTcoZSl7ZS5leHBvcnRzPVsiTWVkaWNhbCBFcXVpcG1lbnQgV2hvbGVzYWxlIl19LDcyMjU1NihlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIEVxdWlwbWVudCwgU3VwcGxpZXMgJiBEaXN0cmlidXRpb24iXX0sNzcxNDU3KGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgSW1hZ2luZyBTeXN0ZW1zIl19LDQ2Njc0OChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIE1vbml0b3JpbmcgU3lzdGVtcyJdfSw3Nzc3OChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIFByb3N0aGV0aWNzIl19LAo0MzMyNjQoZSl7ZS5leHBvcnRzPVsiTWVkaWNhbCBTb2Z0d2FyZSAmIFRlY2hub2xvZ3kgU2VydmljZXMiXX0sMzc2MzE2KGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgU3BlY2lhbHRpZXMiXX0sMjYwNDMyKGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgU3VwcGxpZXMiXX0sNjAzODMoZSl7ZS5leHBvcnRzPVsiTWVtb3J5IENoaXBzIChSQU0pIl19LDc5NjEwKGUpe2UuZXhwb3J0cz1bIk1lbidzIENsb3RoaW5nIl19LDk5NjY0OShlKXtlLmV4cG9ydHM9WyJNZW4ncyBBcHBhcmVsIFJldGFpbGVycyJdfSw3OTYwODIoZSl7ZS5leHBvcnRzPVsiTWVuJ3MgRm9vdHdlYXIiXX0sNzA2NjYoZSl7ZS5leHBvcnRzPVsiTWVyY2hhbnQgQmFua3MiXX0sNjA2MjY2KGUpe2UuZXhwb3J0cz1bIk1pY3JvZmluYW5jaW5nIl19LDI5MTA5OChlKXtlLmV4cG9ydHM9WyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSJdfSw2ODU3NTEoZSl7ZS5leHBvcnRzPVsiTWlkZGxlIEVhc3QiXX0sNjAzMDY1KGUpe2UuZXhwb3J0cz1bIk1pZGRsZSBFYXN0IC8gQWZyaWNhIl19LDgzODMzMChlKXtlLmV4cG9ydHM9WyJNaW5pbmcgTWFjaGluZXJ5ICYgRXF1aXBtZW50IE1hbnVmYWN0dXJpbmciXX0sNDA0ODU2KGUpe2UuZXhwb3J0cz1bIk1pbmluZyBTdXBwb3J0IEFjdGl2aXRpZXMiXX0sODE2ODQ1KGUpe2UuZXhwb3J0cz1bIk1pbmluZyBTdXBwb3J0IFNlcnZpY2VzICYgRXF1aXBtZW50Il19LDIwNjk4MyhlKXtlLmV4cG9ydHM9WyJNaW5vciJdfSwxNTcwMjMoZSl7ZS5leHBvcnRzPVsiTWlzY2VsbGFuZW91cyJdfSwxMzI5ODQoZSl7ZS5leHBvcnRzPVsiTWlzY2VsbGFuZW91cyBDb21tZXJjaWFsIFNlcnZpY2VzIl19LDk0NzcxNChlKXtlLmV4cG9ydHM9WyJNaXNjZWxsYW5lb3VzIE1hbnVmYWN0dXJpbmciXX0sMjY1NjIoZSl7ZS5leHBvcnRzPVsiTWt0IENhcCJdfSwxMDAwMyhlKXtlLmV4cG9ydHM9WyJNdXR1YWwgRnVuZHMiXX0sOTQwOTg2KGUpe2UuZXhwb3J0cz1bIk11dHVhbCBmdW5kIl19LDkxMzU2MShlKXtlLmV4cG9ydHM9WyJNdWx0aS1MaW5lIEluc3VyYW5jZSJdfSw2NzY1MTgoZSl7ZS5leHBvcnRzPVsiTXVsdGlsaW5lIEluc3VyYW5jZSAmIEJyb2tlcnMiXX0sMTczMDczKGUpe2UuZXhwb3J0cz1bIk11bHRpbGluZSBVdGlsaXRpZXMiXX0sNDQ3NjUxKGUpe2UuZXhwb3J0cz1bIk11bmljaXBhbGl0eSJdfSwyNDQ1NDUoZSl7ZS5leHBvcnRzPVsiTXVzZXVtcyAmIEhpc3RvcmljIFBsYWNlcyJdfSw2MjczNDAoZSl7ZS5leHBvcnRzPVsiTXVzaWMsIE11c2ljIFZpZGVvIFByb2R1Y3Rpb24gJiBEaXN0cmlidXRpb24iXX0sOTA4NzY5KGUpe2UuZXhwb3J0cz1bIk11c2ljYWwgSW5zdHJ1bWVudCBSZXRhaWxlcnMiXX0sNzE2NjY5KGUpe2UuZXhwb3J0cz1bIk11c2ljYWwgSW5zdHJ1bWVudHMiXX0sMjM5NDMoZSl7ZS5leHBvcnRzPVsiTXlhbm1hciJdfSwyMjgyOTEoZSl7ZS5leHBvcnRzPVsiTm8gbWF0Y2hlcyJdfSw0MTc3NyhlKXtlLmV4cG9ydHM9WyJObyBzeW1ib2xzIG1hdGNoIHlvdXIgY3JpdGVyaWEiXX0sMzQ5ODg5KGUpe2UuZXhwb3J0cz1bIk5vdCBFcXVhbCJdfSw1NjE2MDAoZSl7ZS5leHBvcnRzPVsiTm90aWZpY2F0aW9uIl19LDY0NjU0NShlKXtlLmV4cG9ydHM9WyJOb3YiXX0sOTg3NzE1KGUpe2UuZXhwb3J0cz1bIk5vbi1BbGNvaG9saWMgQmV2ZXJhZ2VzIl19LDU5MjUzOChlKXtlLmV4cG9ydHM9WyJOb24tRW5lcmd5IE1pbmVyYWxzIl19LDU0MjIzNShlKXtlLmV4cG9ydHM9WyJOb24tUGFwZXIgQ29udGFpbmVycyAmIFBhY2thZ2luZyJdfSw5ODk5NDAoZSl7ZS5leHBvcnRzPVsiTm9uLWZlcnJvdXMgTWV0YWwgTWluaW5nIl19LDgxOTU2NihlKXtlLmV4cG9ydHM9WyJOb24tZmVycm91cyBNZXRhbCBQcm9jZXNzaW5nIl19LDk2NzQxMihlKXtlLmV4cG9ydHM9WyJOb3Jmb2xrIElzbGFuZCJdfSw4NDU1MjMoZSl7ZS5leHBvcnRzPVsiTm9yd2F5Il19LDY4OTcxNihlKXtlLmV4cG9ydHM9WyJOb3J0aCBBbWVyaWNhIl19LDcyOTc4MihlKXtlLmV4cG9ydHM9WyJOb3J0aCBNYWNlZG9uaWEiXX0sNjEyNTU3KGUpe2UuZXhwb3J0cz1bIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyJdfSw5NTY0NjIoZSl7ZS5leHBvcnRzPVsiTmF0aW9uYWwgQWdlbmN5Il19LDIzMTMzNChlKXtlLmV4cG9ydHM9WyJOYXRpb25hbCBBZ2VuY2llcyJdfSwyMjgyMTEoZSl7ZS5leHBvcnRzPVsiTmF0dXJhbCBGYWJyaWNzIl19LDEwNTUzMihlKXtlLmV4cG9ydHM9WyJOYXR1cmFsIEdhcyBEaXN0cmlidXRpb24iXX0sNjUzMDMwKGUpe2UuZXhwb3J0cz1bIk5hdHVyYWwgR2FzIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9uc2hvcmUiXX0sMjM3MzQ5KGUpe2UuZXhwb3J0cz1bIk5hdHVyYWwgR2FzIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9mZnNob3JlIl19LDEyNDk5OChlKXtlLmV4cG9ydHM9WyJOYXR1cmFsIEdhcyBQaXBlbGluZSJdfSwyNTg3ODUoZSl7ZS5leHBvcnRzPVsiTmF0dXJhbCBHYXMgVXRpbGl0aWVzIl19LDQ3MzQzNyhlKXtlLmV4cG9ydHM9WyJOYXVydSJdfSw3MzQ5OTMoZSl7ZS5leHBvcnRzPVsiTmFtZSJdfSw1NzA2MTgoZSl7ZS5leHBvcnRzPVsiTmFtaWJpYSJdfSwxNzgxMTQoZSl7ZS5leHBvcnRzPVsiTmV0IE1hcmdpbiJdfSw5NDA3MTEoZSl7ZS5leHBvcnRzPVsiTmV0IE1hcmdpbiAoRlkpIl19LDE3NTE0MChlKXtlLmV4cG9ydHM9WyJOZXQgTWFyZ2luIChUVE0pIl19LDg0NTQ5NihlKXtlLmV4cG9ydHM9WyJOZXQgRGVidCJdfSw1MjY2OTgoZSl7ZS5leHBvcnRzPVsiTmV0IERlYnQgKE1SUSkiXX0sOTgzNjcxKGUpe2UuZXhwb3J0cz1bIk5ldCBJbmNvbWUgKEFubnVhbCBZb1kgR3Jvd3RoKSJdfSwxMzE2MzMoZSl7ZS5leHBvcnRzPVsiTmV0IEluY29tZSAoRlkpIl19LDE0ODU3MChlKXtlLmV4cG9ydHM9WyJOZXQgSW5jb21lIChRdWFydGVybHkgUW9RIEdyb3d0aCkiXX0sODUzMzQ2KGUpe2UuZXhwb3J0cz1bIk5ldCBJbmNvbWUgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw3ODkwNyhlKXtlLmV4cG9ydHM9WyJOZXQgSW5jb21lIChUVE0gWW9ZIEdyb3d0aCkiXX0sCjg5MDU0OChlKXtlLmV4cG9ydHM9WyJOZXQgbWFyZ2luICh7cGVyaW9kfSkiXX0sNTEwNzI2KGUpe2UuZXhwb3J0cz1bIk5ldCBpbmNvbWUgKHtwZXJpb2R9KSJdfSwyMzc1ODUoZSl7ZS5leHBvcnRzPVsiTmV0IGluY29tZSBwZXIgZW1wbG95ZWUgKHtwZXJpb2R9KSJdfSw2MTY4NjIoZSl7ZS5leHBvcnRzPVsiTmV0aGVybGFuZHMiXX0sMzYzMDgzKGUpe2UuZXhwb3J0cz1bIk5ldHdvcmsgRXF1aXBtZW50Il19LDQ1NzE5NShlKXtlLmV4cG9ydHM9WyJOZXcgNTItd2VlayBoaWdoIl19LDgzODY5MChlKXtlLmV4cG9ydHM9WyJOZXcgNTItd2VlayBsb3ciXX0sMjQ5NTg4KGUpe2UuZXhwb3J0cz1bIk5ldyBDYWxlZG9uaWEiXX0sMjI5NTU2KGUpe2UuZXhwb3J0cz1bIk5ldyBDYXIgRGVhbGVycyJdfSwzMDU0MDYoZSl7ZS5leHBvcnRzPVsiTmV3IEhpZ2giXX0sNTM4MjU0KGUpe2UuZXhwb3J0cz1bIk5ldyBMb3ciXX0sNDIxNihlKXtlLmV4cG9ydHM9WyJOZXcgWmVhbGFuZCJdfSw3NTk4NDEoZSl7ZS5leHBvcnRzPVsiTmV3IG1vbnRobHkgaGlnaCJdfSw5OTY1NzIoZSl7ZS5leHBvcnRzPVsiTmV3IG1vbnRobHkgbG93Il19LDE1OTkxMChlKXtlLmV4cG9ydHM9WyJOZXcge3RpdGxlfSJdfSwyMjEzNzEoZSl7ZS5leHBvcnRzPVsiTmV3c3BhcGVyICYgTWFnYXppbmUgUHJpbnRpbmcgU2VydmljZXMiXX0sMTg2NyhlKXtlLmV4cG9ydHM9WyJOZXdzcGFwZXIgUHVibGlzaGluZyJdfSw4MTk0NzMoZSl7ZS5leHBvcnRzPVsiTmV3c3ByaW50IE1pbGxzIl19LDM1MjI4NShlKXtlLmV4cG9ydHM9WyJOZXdzIEFnZW5jaWVzIl19LDU2MTE2MShlKXtlLmV4cG9ydHM9WyJOZXh0IDUgRGF5cyJdfSw0ODU0NTQoZSl7ZS5leHBvcnRzPVsiTmV4dCBXZWVrIl19LDk0MjUwNChlKXtlLmV4cG9ydHM9WyJOZXh0IHBheW1lbnQgYW1vdW50Il19LDc1MDA1MyhlKXtlLmV4cG9ydHM9WyJOZXh0IHBheW1lbnQgZGF0ZSJdfSwxNzQzMDkoZSl7ZS5leHBvcnRzPVsiTmVnYXRpdmUgRGlyZWN0aW9uYWwgSW5kaWNhdG9yICgxNCkiXX0sNDcxMjg4KGUpe2UuZXhwb3J0cz1bIk5lcGFsIl19LDkwNzQ3MChlKXtlLmV4cG9ydHM9WyJOaXVlIl19LDYyMzQ0MChlKXtlLmV4cG9ydHM9WyJOaWNhcmFndWEiXX0sNjA2ODU0KGUpe2UuZXhwb3J0cz1bIk5pY2tlbCBPcmUgTWluaW5nIl19LDU5MjE4OShlKXtlLmV4cG9ydHM9WyJOaWdlciJdfSw4NDk4NjgoZSl7ZS5leHBvcnRzPVsiTmlnZXJpYSJdfSw0NDI0MTMoZSl7ZS5leHBvcnRzPVsiTnVjbGVhciBJUFBzIl19LDY0NDg1NihlKXtlLmV4cG9ydHM9WyJOdWNsZWFyIFV0aWxpdGllcyJdfSwxNjQwNDIoZSl7ZS5leHBvcnRzPVsiTnVtYmVyIG9mIEVtcGxveWVlcyJdfSw1Nzk0MDMoZSl7ZS5leHBvcnRzPVsiTnVtYmVyIG9mIFNoYXJlaG9sZGVycyJdfSw3MDY2NzEoZSl7ZS5leHBvcnRzPVsiTnVyc2VyeSAmIEdhcmRlbiBDZW50ZXJzIl19LDEzNDA4NShlKXtlLmV4cG9ydHM9WyJTTUExMCJdfSwzMjg3ODQoZSl7ZS5leHBvcnRzPVsiU01BMTAwIl19LDM5ODAzOShlKXtlLmV4cG9ydHM9WyJTTUEyMCJdfSw2ODA3NChlKXtlLmV4cG9ydHM9WyJTTUEyMDAiXX0sNDU3NTQzKGUpe2UuZXhwb3J0cz1bIlNNQTMwIl19LDY1OTU2MChlKXtlLmV4cG9ydHM9WyJTTUE1Il19LDU1NjQ4NihlKXtlLmV4cG9ydHM9WyJTTUE1MCJdfSwxMTQwOTkoZSl7ZS5leHBvcnRzPVsiU0FSIl19LDkzMDc1NChlKXtlLmV4cG9ydHM9WyJTRyZBIFJhdGlvIChGWSkiXX0sMjQyNTMzKGUpe2UuZXhwb3J0cz1bIlNHJkEgUmF0aW8gKFRUTSkiXX0sNzk1MDIxKGUpe2UuZXhwb3J0cz1bIlNJTlQgTUFBUlRFTiAoRFVUQ0ggUEFSVCkiXX0sNTczMzExKGUpe2UuZXhwb3J0cz1bIlNtYXJ0IEdyaWQgJiBFbGVjdHJpY2FsIFRyYW5zbWlzc2lvbiJdfSwxODQyNzAoZSl7ZS5leHBvcnRzPVsiU21hcnQgR3JpZCAmIFBvd2VyIERpc3RyaWJ1dGlvbiBDb25zdHJ1Y3Rpb24iXX0sOTA4NDUoZSl7ZS5leHBvcnRzPVsiU25hY2sgRm9vZCAmIE5vbi1jaG9jb2xhdGUgQ29uZmVjdGlvbmFyeSJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sMzEwMDgyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEFmcmljYSJdfSw0NDc4NTQoZSl7ZS5leHBvcnRzPVsiU291dGggR2VvcmdpYSBhbmQgdGhlIFNvdXRoIFNhbmR3aWNoIElzbGFuZHMiXX0sNTg3NzUyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEtvcmVhIl19LDQ1NzE4NihlKXtlLmV4cG9ydHM9WyJTb3V0aCBTdWRhbiJdfSw3ODE5MzIoZSl7ZS5leHBvcnRzPVsiU292ZXJlaWduIl19LDgxODIyMihlKXtlLmV4cG9ydHM9WyJTb2NpYWwgTWVkaWEgJiBOZXR3b3JraW5nIl19LDgyNDU3OChlKXtlLmV4cG9ydHM9WyJTb2Z0IEZ1cm5pc2hpbmcgUmV0YWlsZXJzIl19LDU5NzEwMyhlKXtlLmV4cG9ydHM9WyJTb2Z0d2FyZSJdfSwxODE3OChlKXtlLmV4cG9ydHM9WyJTb2xvbW9uIElzbGFuZHMiXX0sNjAwNTcoZSl7ZS5leHBvcnRzPVsiU29tYWxpYSJdfSw3MzQwNzQoZSl7ZS5leHBvcnRzPVsiU2F0ZWxsaXRlICBTeXN0ZW1zICYgQWNjZXNzb3JpZXMiXX0sODU5MTE2KGUpe2UuZXhwb3J0cz1bIlNhdGVsbGl0ZSBTZXJ2aWNlIE9wZXJhdG9ycyJdfSw3NjE1MjMoZSl7ZS5leHBvcnRzPVsiU2F1ZGkgQXJhYmlhIl19LDYxMjY1NShlKXtlLmV4cG9ydHM9WyJTYXZlIl19LDMwMzY4NChlKXtlLmV4cG9ydHM9WyJTYXZlIENvbHVtbnMgQXMiXX0sMzk0MTMxKGUpe2UuZXhwb3J0cz1bIlNhdmUgU2NyZWVucyBBcyJdfSwzMzQ1MDcoZSl7ZS5leHBvcnRzPVsiU2F2aW5ncyBCYW5rcyJdfSwyMjc4NjEoZSl7ZS5leHBvcnRzPVsiU2FpbGluZyBZYWNodHMgJiBNb3RvcmJvYXRzIl19LDE5OTQ4MyhlKXtlLmV4cG9ydHM9WyJTYWludCBCYXJ0aMOpbGVteSJdfSw1NzY5NzUoZSl7ZS5leHBvcnRzPVsiU2FpbnQgS2l0dHMgYW5kIE5ldmlzIl19LDk1NTgzNShlKXtlLmV4cG9ydHM9WyJTYWludCBIZWxlbmEsIEFzY2Vuc2lvbiBhbmQgVHJpc3RhbiBkYSBDdW5oYSJdfSwyNTgzMTEoZSl7ZS5leHBvcnRzPVsiU2FpbnQgTHVjaWEiXX0sNDI1MDY0KGUpewplLmV4cG9ydHM9WyJTYWludCBNYXJ0aW4gKEZyZW5jaCBwYXJ0KSJdfSw3OTcwMzUoZSl7ZS5leHBvcnRzPVsiU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiJdfSw2MjI2MTMoZSl7ZS5leHBvcnRzPVsiU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMiXX0sMjE5NzE3KGUpe2UuZXhwb3J0cz1bIlNhbGVzIFByb21vdGlvbnMgJiBFdmVudHMgTWFuYWdlbWVudCJdfSw1OTg5NjMoZSl7ZS5leHBvcnRzPVsiU2Ftb2EiXX0sOTk5NzYyKGUpe2UuZXhwb3J0cz1bIlNhbiBNYXJpbm8iXX0sNjI3MzU1KGUpe2UuZXhwb3J0cz1bIlNhbml0YXJ5IFByb2R1Y3RzIl19LDI3OTM4MihlKXtlLmV4cG9ydHM9WyJTYW8gVG9tZSBhbmQgUHJpbmNpcGUiXX0sMTk4NjI4KGUpe2UuZXhwb3J0cz1bIlNjaWVudGlmaWMgJiBQcmVjaXNpb24gRXF1aXBtZW50Il19LDc2NjcwNChlKXtlLmV4cG9ydHM9WyJTY2llbnRpZmljICYgU3VwZXIgQ29tcHV0ZXJzIl19LDE1NDY0KGUpe2UuZXhwb3J0cz1bIlNjcmVlbmVyIG1haW50ZW5hbmNlIl19LDU3MDM0MyhlKXtlLmV4cG9ydHM9WyJTY3JlZW5zIl19LDUwNjkxNShlKXtlLmV4cG9ydHM9WyJTZXQge2NvbG9yfSBmbGFnIl19LDkwNDEzOShlKXtlLmV4cG9ydHM9WyJTZXdhZ2UgVHJlYXRtZW50IEZhY2lsaXRpZXMiXX0sNDIwODIxKGUpe2UuZXhwb3J0cz1bIlNleWNoZWxsZXMiXX0sNDA0NDEyKGUpe2UuZXhwb3J0cz1bIlNlYS1Cb3JuZSBUYW5rZXJzIl19LDIzMjY2OShlKXtlLmV4cG9ydHM9WyJTZWFmb29kIFByb2R1Y3QgUHJlcGFyYXRpb24gJiBQYWNrYWdpbmciXX0sMzUyMTI3KGUpe2UuZXhwb3J0cz1bIlNlYXJjaCJdfSw4OTIxNjIoZSl7ZS5leHBvcnRzPVsiU2VhcmNoIEVuZ2luZXMiXX0sODcxMTEwKGUpe2UuZXhwb3J0cz1bIlNlYXJjaCBjb2x1bW4iXX0sNTk4NyhlKXtlLmV4cG9ydHM9WyJTZWFyY2ggZmlsdGVyIl19LDg1MDI5OChlKXtlLmV4cG9ydHM9WyJTZWNvbmQgZnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSw5Nzg3MzgoZSl7ZS5leHBvcnRzPVsiU2Vjb25kYXJ5IFNtZWx0aW5nICYgQWxsb3lpbmcgb2YgQWx1bWludW0iXX0sMjc4NzI5KGUpe2UuZXhwb3J0cz1bIlNlY3RvciJdfSw3ODYwMTUoZSl7ZS5leHBvcnRzPVsiU2VjdXJpdGllcyAmIENvbW1vZGl0eSBFeGNoYW5nZXMiXX0sOTQ5MjY1KGUpe2UuZXhwb3J0cz1bIlNlY3VyaXR5ICYgU3VydmVpbGxhbmNlIl19LDEyNzI1MihlKXtlLmV4cG9ydHM9WyJTZWN1cml0eSBTZXJ2aWNlcyJdfSw5ODQ3OTAoZSl7ZS5leHBvcnRzPVsiU2VsZWN0IG1hcmtldHMiXX0sMTkyMjYoZSl7ZS5leHBvcnRzPVsiU2VsZi1TdG9yYWdlIFJFSVRzIl19LDk5MjQ3MChlKXtlLmV4cG9ydHM9WyJTZWxsaW5nIEdlbmVyYWwgJiBBZG1pbiBleHBlbnNlcyBSYXRpbyAoRlkpIl19LDU5MzgxMihlKXtlLmV4cG9ydHM9WyJTZWxsaW5nIEdlbmVyYWwgJiBBZG1pbiBleHBlbnNlcyBSYXRpbyAoVFRNKSJdfSwzOTIzODEoZSl7ZS5leHBvcnRzPVsiU2VtaWNvbmR1Y3RvciBFcXVpcG1lbnQgJiBUZXN0aW5nIl19LDE4MzIwOShlKXtlLmV4cG9ydHM9WyJTZW1pY29uZHVjdG9yIEVxdWlwbWVudCBXaG9sZXNhbGVycyJdfSw1NDk0NTkoZSl7ZS5leHBvcnRzPVsiU2VtaWNvbmR1Y3RvciBNYWNoaW5lcnkgTWFudWZhY3R1cmluZyJdfSwzMTY4NDUoZSl7ZS5leHBvcnRzPVsiU2VtaWNvbmR1Y3RvciBUZXN0aW5nIEVxdWlwbWVudCAmIFNlcnZpY2UiXX0sOTUxMzQ2KGUpe2UuZXhwb3J0cz1bIlNlbWljb25kdWN0b3IgV2hvbGVzYWxlIl19LDg1NTI4MihlKXtlLmV4cG9ydHM9WyJTZW1pY29uZHVjdG9ycyJdfSw3NzA3NzUoZSl7ZS5leHBvcnRzPVsiU2VtaXByZWNpb3VzIEdlbSBTdG9uZXMiXX0sMjI0Mjg5KGUpe2UuZXhwb3J0cz1bIlNlbmVnYWwiXX0sMTc4NDY5KGUpe2UuZXhwb3J0cz1bIlNlcCJdfSw3MTg1MjkoZSl7ZS5leHBvcnRzPVsiU2VyYmlhIl19LDI4NjM4NShlKXtlLmV4cG9ydHM9WyJTZXJ2ZXIgJiBEYXRhYmFzZSBTb2Z0d2FyZSJdfSwxNTUwOTYoZSl7ZS5leHBvcnRzPVsiU2VydmVycyAmIFN5c3RlbXMiXX0sNTM3MDU5KGUpe2UuZXhwb3J0cz1bIlNlcnZpY2VzIl19LDY1NDQwOChlKXtlLmV4cG9ydHM9WyJTZXJ2aWNlcyB0byB0aGUgSGVhbHRoIEluZHVzdHJ5Il19LDE2MTE1MihlKXtlLmV4cG9ydHM9WyJTaGFyZWhvbGRlcnMiXX0sMzc5OTMyKGUpe2UuZXhwb3J0cz1bIlNoYXJlcyJdfSw2MDUxNTkoZSl7ZS5leHBvcnRzPVsiU2hhcmVzIE91dHN0YW5kaW5nIl19LDE4ODU3NyhlKXtlLmV4cG9ydHM9WyJTaGFyZXMgRmxvYXQiXX0sOTgxNjQzKGUpe2UuZXhwb3J0cz1bIlNoYXJlcyBmbG9hdCJdfSw0MTg2OChlKXtlLmV4cG9ydHM9WyJTaGVsbCBDb21wYW5pZXMiXX0sNTExODM2KGUpe2UuZXhwb3J0cz1bIlNoaXAgUGFydCBNYW51ZmFjdHVyZXIiXX0sODk0ODkxKGUpe2UuZXhwb3J0cz1bIlNoaXAgUmVwYWlyaW5nICYgTWFpbnRhbmFuY2UiXX0sMzk5ODMxKGUpe2UuZXhwb3J0cz1bIlNoaXBidWlsZGluZyJdfSw3NzgwNChlKXtlLmV4cG9ydHM9WyJTaG9vdGluZyBTdGFyIl19LDY3NzQyNihlKXtlLmV4cG9ydHM9WyJTaG93IGN1cnJlbmN5Il19LDgyNTkyKGUpe2UuZXhwb3J0cz1bIlNob3cgZGVzY3JpcHRpb24iXX0sMjczNjgxKGUpe2UuZXhwb3J0cz1bIlNob3cgcmF0aW5nIl19LDYwMzUwNyhlKXtlLmV4cG9ydHM9WyJTaG93IHN5bWJvbCB0eXBlIl19LDE2NDk5MihlKXtlLmV4cG9ydHM9WyJTaWVycmEgTGVvbmUiXX0sMzI1MDc3KGUpe2UuZXhwb3J0cz1bIlNpZ25zICYgQWR2ZXJ0aXNpbmcgU3BlY2lhbHR5IFByb2R1Y2VycyJdfSwyNTYxMDMoZSl7ZS5leHBvcnRzPVsiU2lsdmVyIE1pbmluZyJdfSw0ODY1NzIoZSl7ZS5leHBvcnRzPVsiU2ltcGxlIE1vdmluZyBBdmVyYWdlICh7bnVtYmVyfSkiXX0sNjQzNzk1KGUpe2UuZXhwb3J0cz1bIlNpbmdhcG9yZSJdfSw3MzY0MChlKXtlLmV4cG9ydHM9WyJTaW50IE1hYXJ0ZW4gKER1dGNoIHBhcnQpIl19LDI2MzQzMihlKXtlLmV4cG9ydHM9WyJTbG92YWtpYSJdfSw3MjE4MjEoZSl7ZS5leHBvcnRzPVsiU2xvdmVuaWEiXX0sCjM1OTc2MShlKXtlLmV4cG9ydHM9WyJTcGFjZWNyYWZ0IE1hbnVmYWN0dXJpbmciXX0sNzg4MzIxKGUpe2UuZXhwb3J0cz1bIlNwYWluIl19LDgyNjU3MChlKXtlLmV4cG9ydHM9WyJTcGVjaWFsIEZvb2RzICYgV2VsYmVpbmcgUHJvZHVjdHMiXX0sNzA5NjEwKGUpe2UuZXhwb3J0cz1bIlNwZWNpYWwgRm9vZHMgJiBXZWxsYmVpbmcgUHJvZHVjdHMiXX0sMjE3NjI5KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWxpemVkIEF2aWF0aW9uIFNlcnZpY2VzIl19LDY3ODEyNihlKXtlLmV4cG9ydHM9WyJTcGVjaWFsaXplZCBQcmludGluZyBTZXJ2aWNlcyJdfSw3MjQ1MTEoZSl7ZS5leHBvcnRzPVsiU3BlY2lhbGl6ZWQgUkVJVHMiXX0sNDM2NTQ5KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSAmIEFkdmFuY2VkIFBoYXJtYWNldXRpY2FscyJdfSw4MTg3MDgoZSl7ZS5leHBvcnRzPVsiU3BlY2lhbHR5IE1pbmluZyAmIE1ldGFscyJdfSwzMDU1NDYoZSl7ZS5leHBvcnRzPVsiU3BlY2lhbHR5IE1pbmluZyAmIE1ldGFscyBXaG9sZXNhbGUiXX0sMzkwOTY0KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBDaGVtaWNhbHMiXX0sNjcxNzg2KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBDaGVtaWNhbHMgV2hvbGVzYWxlIl19LDIxMTI4NyhlKXtlLmV4cG9ydHM9WyJTcGVjaWFsdHkgSW5zdXJhbmNlIl19LDU1NTk3OShlKXtlLmV4cG9ydHM9WyJTcGVjaWFsdHkgSW5zdXJlcnMiXX0sMzU1MjgxKGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBTdG9yZXMiXX0sMzQ1NjUzKGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBUZWxlY29tbXVuaWNhdGlvbnMiXX0sOTg1ODk5KGUpe2UuZXhwb3J0cz1bIlNwb3J0aW5nICYgT3V0ZG9vciBHb29kcyJdfSw1NDQ0OTQoZSl7ZS5leHBvcnRzPVsiU3BvcnRpbmcgR29vZHMgU3RvcmVzIl19LDIxMzk4NyhlKXtlLmV4cG9ydHM9WyJTcG9ydHMgJiBPdXRkb29yIEZvb3R3ZWFyIl19LDM3MjE3MyhlKXtlLmV4cG9ydHM9WyJTcG9ydHMgJiBPdXRkb29ycyBSZXRhaWxlcnMiXX0sNjQ2MTQ0KGUpe2UuZXhwb3J0cz1bIlNwb3J0c3dlYXIgJiBPdXRkb29ycyBDbG90aGluZyJdfSwyODM0MTYoZSl7ZS5leHBvcnRzPVsiU3BvdCJdfSw4MDQ3NjYoZSl7ZS5leHBvcnRzPVsiU3JpIExhbmthIl19LDI5MTQ1NihlKXtlLmV4cG9ydHM9WyJTdGFyY2gsIFZlZ2V0YWJsZSBGYXQgJiBPaWwgTWFudWZhY3R1cmluZyJdfSwxNDIxODgoZSl7ZS5leHBvcnRzPVsiU3RhdGUgQWdlbmN5Il19LDc1MTA3NChlKXtlLmV4cG9ydHM9WyJTdGF0aW9uYXJ5IEZ1ZWwgQ2VsbHMiXX0sNDk4NjM4KGUpe2UuZXhwb3J0cz1bIlN0ZWFtICYgQWlyLUNvbmRpdGlvbmluZyBTdXBwbHkiXX0sNTcyNzUzKGUpe2UuZXhwb3J0cz1bIlN0ZWVsIl19LDQwNjI5OChlKXtlLmV4cG9ydHM9WyJTdG9jaCAlRCJdfSw1NTc4MDAoZSl7ZS5leHBvcnRzPVsiU3RvY2ggJUsiXX0sNzAwNjA4KGUpe2UuZXhwb3J0cz1bIlN0b2NoIFJTSSBGYXN0Il19LDYzOTU5NShlKXtlLmV4cG9ydHM9WyJTdG9jaCBSU0kgU2xvdyJdfSwzMTc4MzIoZSl7ZS5leHBvcnRzPVsiU3RvY2hhc3RpYyAlRCAoMTQsIDMsIDMpIl19LDIyMDcyNShlKXtlLmV4cG9ydHM9WyJTdG9jaGFzdGljICVLICgxNCwgMywgMykiXX0sNTg1Njg5KGUpe2UuZXhwb3J0cz1bIlN0b2NoYXN0aWMgUlNJIEZhc3QgKDMsIDMsIDE0LCAxNCkiXX0sMTEzNzMxKGUpe2UuZXhwb3J0cz1bIlN0b2NoYXN0aWMgUlNJIFNsb3cgKDMsIDMsIDE0LCAxNCkiXX0sNTIyMDE0KGUpe2UuZXhwb3J0cz1bIlN0b2NrcyJdfSw3NDYzMzAoZSl7ZS5leHBvcnRzPVsiU3RvcmFnZSBEZXZpY2VzIl19LDI1NTYyMihlKXtlLmV4cG9ydHM9WyJTdHJ1Y3R1cmVkIl19LDM3MDY4NyhlKXtlLmV4cG9ydHM9WyJTdWJtYXJrZXQiXX0sOTc0NDA0KGUpe2UuZXhwb3J0cz1bIlN1ZGFuIl19LDgyNjEwNyhlKXtlLmV4cG9ydHM9WyJTdWdhciAmIEFydGlmaWNpYWwgU3dlZXRlbmVycyJdfSwzMzY5ODgoZSl7ZS5leHBvcnRzPVsiU3VnYXJjYW5lIEZhcm1pbmciXX0sNzgwMjIoZSl7ZS5leHBvcnRzPVsiU3VwZXJtYXJrZXRzICYgQ29udmVuaWVuY2UgU3RvcmVzIl19LDc3NDM4NihlKXtlLmV4cG9ydHM9WyJTdXByYW5hdGlvbmFsIl19LDgxODgzNyhlKXtlLmV4cG9ydHM9WyJTdXJpbmFtZSJdfSwyNjk5NTUoZSl7ZS5leHBvcnRzPVsiU3VycHJpc2UiXX0sNTI0ODE3KGUpe2UuZXhwb3J0cz1bIlN1cnByaXNlICUiXX0sOTczOTE1KGUpe2UuZXhwb3J0cz1bIlN2YWxiYXJkIGFuZCBKYW4gTWF5ZW4iXX0sMzY5OTYzKGUpe2UuZXhwb3J0cz1bIlN3ZWRlbiJdfSw1MzIxMDkoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIG5vdyJdfSw3OTYzMDcoZSl7ZS5leHBvcnRzPVsiU3dpdGNoZ2VhciJdfSw3MzM5NzEoZSl7ZS5leHBvcnRzPVsiU3dpdHplcmxhbmQiXX0sMjg3MjQ0KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBUeXBlIl19LDQ1NTU1MChlKXtlLmV4cG9ydHM9WyJTeW50aGV0aWMgRmFicmljcyJdfSwyNzQ0ODUoZSl7ZS5leHBvcnRzPVsiU3lyaWEiXX0sNTcxNzI3KGUpe2UuZXhwb3J0cz1bIlN5c3RlbSBTb2Z0d2FyZSJdfSw3MzY2MjcoZSl7ZS5leHBvcnRzPVsiUCJdfSw2MjIxNShlKXtlLmV4cG9ydHM9WyJQL0IgKEZZKSJdfSw2MTE0NTkoZSl7ZS5leHBvcnRzPVsiUC9CIChNUlEpIl19LDU5MDIwNShlKXtlLmV4cG9ydHM9WyJQL0IgcmF0aW8iXX0sMzMyMjE0KGUpe2UuZXhwb3J0cz1bIlAvQ0YgcmF0aW8iXX0sMjEzMjQ4KGUpe2UuZXhwb3J0cz1bIlAvRSJdfSw1NTczMzYoZSl7ZS5leHBvcnRzPVsiUC9FIHJhdGlvIl19LDg2NDY0OChlKXtlLmV4cG9ydHM9WyJQL0ZDRiByYXRpbyJdfSwyNzkwMTAoZSl7ZS5leHBvcnRzPVsiUC9TIl19LDc4MjYxNChlKXtlLmV4cG9ydHM9WyJQL1MgcmF0aW8iXX0sMTIxOTY5KGUpe2UuZXhwb3J0cz1bIlBFRyJdfSw2MzU0MTUoZSl7ZS5leHBvcnRzPVsiUG91bHRyeSBGYXJtaW5nIl19LDgwOTIoZSl7ZS5leHBvcnRzPVsiUG9pbnQgb2YgU2FsZSBTeXN0ZW1zIl19LDk2ODYwOShlKXtlLmV4cG9ydHM9WyJQb2xhbmQiXX0sMjk1MTYwKGUpewplLmV4cG9ydHM9WyJQb3J0IE9wZXJhdG9ycyJdfSw3NTcwNjAoZSl7ZS5leHBvcnRzPVsiUG9ydCBXYXJlaG91c2luZyBTZXJ2aWNlcyJdfSwyNzc0NDMoZSl7ZS5leHBvcnRzPVsiUG9ydGFibGUgTW90b3JzICYgR2VuZXJhdG9ycyJdfSwyNjIyNDMoZSl7ZS5leHBvcnRzPVsiUG9ydGFibGUgU2F0ZWxsaXRlIE5hdmlnYXRpb24iXX0sMzk4OTQoZSl7ZS5leHBvcnRzPVsiUG9ydHVnYWwiXX0sNzY3ODI1KGUpe2UuZXhwb3J0cz1bIlBvc2l0aXZlIERpcmVjdGlvbmFsIEluZGljYXRvciAoMTQpIl19LDMwMDY1NShlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCBDaGFuZ2UiXX0sMzk5OTY4KGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0IENoYW5nZSAlIl19LDc4ODAwMihlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCBDbG9zZSJdfSw3NDIyOTkoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgSGlnaCJdfSwzOTczMzMoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgT3BlbiJdfSwxMzY5MDIoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgTG93Il19LDc5OTI2KGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0IFZvbHVtZSJdfSw0NTI3MjIoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgY2hnIl19LDY3MzcwMyhlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCBjaGcgJSJdfSw3OTEyNzEoZSl7ZS5leHBvcnRzPVsiUGFja2FnZWQgU29mdHdhcmUiXX0sOTkwNTc1KGUpe2UuZXhwb3J0cz1bIlBhY2lmaWMiXX0sMTYzODE3KGUpe2UuZXhwb3J0cz1bIlBhaW50ICYgQ29hdGluZyJdfSw0MDY2NzcoZSl7ZS5leHBvcnRzPVsiUGFpcnMiXX0sODQ0NDM2KGUpe2UuZXhwb3J0cz1bIlBha2lzdGFuIl19LDc5ODQ3NihlKXtlLmV4cG9ydHM9WyJQYWxhdSJdfSw2OTgwODMoZSl7ZS5leHBvcnRzPVsiUGFsZXN0aW5lLCBTdGF0ZSBvZiJdfSwxMDA3MjkoZSl7ZS5leHBvcnRzPVsiUGFuYW1hIl19LDM4OTIzNShlKXtlLmV4cG9ydHM9WyJQYXBlciBNaWxscyAmIFByb2R1Y3RzIl19LDgwMzQ0NihlKXtlLmV4cG9ydHM9WyJQYXBlciBQYWNrYWdpbmciXX0sMzI2NDc3KGUpe2UuZXhwb3J0cz1bIlBhcGVyIFBhY2thZ2luZyBXaG9sZXNhbGUiXX0sNTkyODQoZSl7ZS5leHBvcnRzPVsiUGFwZXIgUHJvZHVjdCBXaG9sZXNhbGUiXX0sOTQ5OTYwKGUpe2UuZXhwb3J0cz1bIlBhcGVyIFByb2R1Y3RzIl19LDcyNTY5NyhlKXtlLmV4cG9ydHM9WyJQYXB1YSBOZXcgR3VpbmVhIl19LDk0MTAyOChlKXtlLmV4cG9ydHM9WyJQYXJhYm9saWMgU0FSIl19LDQyMDEzNShlKXtlLmV4cG9ydHM9WyJQYXJhZ3VheSJdfSwyMTgzNTcoZSl7ZS5leHBvcnRzPVsiUGFya2luZyBMb3QgT3BlcmF0b3JzIl19LDg4NDMzOChlKXtlLmV4cG9ydHM9WyJQYXNzZW5nZXIgQ2FyIHJlbnRhbCJdfSw2MDc0MjcoZSl7ZS5leHBvcnRzPVsiUGFzc2VuZ2VyIFRyYW5zcG9ydGF0aW9uLCBHcm91bmQgJiBTZWEiXX0sMTQyMDEzKGUpe2UuZXhwb3J0cz1bIlBldCAmIFBldCBTdXBwbGllcyBSZXRhaWxlcnMiXX0sNTU5MDMxKGUpe2UuZXhwb3J0cz1bIlBldCBGb29kIE1hbnVmYWN0dXJpbmciXX0sNjcxOTIxKGUpe2UuZXhwb3J0cz1bIlBldHJvbGV1bSBQcm9kdWN0IFdob2xlc2FsZSJdfSwyODY3ODcoZSl7ZS5leHBvcnRzPVsiUGV0cm9sZXVtIFJlZmluaW5nIl19LDg4ODU2OChlKXtlLmV4cG9ydHM9WyJQZW5zaW9uIEZ1bmRzIl19LDExMTM0MShlKXtlLmV4cG9ydHM9WyJQZXJmb3JtYW5jZSJdfSwxNTY4NzQoZSl7ZS5leHBvcnRzPVsiUGVyaW9kIEVuZGluZyJdfSwxODczNTIoZSl7ZS5leHBvcnRzPVsiUGVyc29uYWwgJiBDYXIgTG9hbnMiXX0sOTU5MzM4KGUpe2UuZXhwb3J0cz1bIlBlcnNvbmFsIENhcmUgU2VydmljZXMiXX0sMzA1NjA0KGUpe2UuZXhwb3J0cz1bIlBlcnNvbmFsIExlZ2FsIFNlcnZpY2VzIl19LDk1NjA2MChlKXtlLmV4cG9ydHM9WyJQZXJzb25hbCBNdXNpYyBQbGF5ZXJzIl19LDY3MjM5OShlKXtlLmV4cG9ydHM9WyJQZXJzb25hbCBTZXJ2aWNlcyJdfSw2NTI2NzMoZSl7ZS5leHBvcnRzPVsiUGVyc29uYWwgUHJvZHVjdHMiXX0sOTI3MjYoZSl7ZS5leHBvcnRzPVsiUGVyc29ubmVsIFNlcnZpY2VzIl19LDU1Njg3NihlKXtlLmV4cG9ydHM9WyJQZXJwZXR1YWwiXX0sODUxMTExKGUpe2UuZXhwb3J0cz1bIlBlcnUiXX0sMjc2OTAwKGUpe2UuZXhwb3J0cz1bIlBlc3QgQ29udHJvbCBTZXJ2aWNlcyJdfSw1ODc2MDIoZSl7ZS5leHBvcnRzPVsiUGVzdGljaWRlIl19LDY5OTcyMyhlKXtlLmV4cG9ydHM9WyJQaGFybWFjZXV0aWNhbHMiXX0sMzYxODQ5KGUpe2UuZXhwb3J0cz1bIlBoYXJtYWNldXRpY2FsczogR2VuZXJpYyJdfSwxODI2NDMoZSl7ZS5leHBvcnRzPVsiUGhhcm1hY2V1dGljYWxzOiBNYWpvciJdfSw3NDUxODAoZSl7ZS5leHBvcnRzPVsiUGhhcm1hY2V1dGljYWxzOiBPdGhlciJdfSw2MTM2NDcoZSl7ZS5leHBvcnRzPVsiUGhpbGlwcGluZXMiXX0sMTMzMzMyKGUpe2UuZXhwb3J0cz1bIlBob25lcyAmIEhhbmRoZWxkIERldmljZXMiXX0sNTIzNzY0KGUpe2UuZXhwb3J0cz1bIlBob25lcyAmIFNtYXJ0IFBob25lcyJdfSwxNDU3NjIoZSl7ZS5leHBvcnRzPVsiUGhvdG92b2x0YWljIFNvbGFyIFN5c3RlbXMgJiBFcXVpcG1lbnQiXX0sODMwNzk3KGUpe2UuZXhwb3J0cz1bIlBob3RvZ3JhcGhpYyBFcXVpcG1lbnQiXX0sMzg0MzgyKGUpe2UuZXhwb3J0cz1bIlBpdGNhaXJuIl19LDg3NDQ2OShlKXtlLmV4cG9ydHM9WyJQaXZvdCBDYW1hcmlsbGEgUCJdfSw5Mzk4ODcoZSl7ZS5leHBvcnRzPVsiUGl2b3QgQ2FtYXJpbGxhIFIxIl19LDc1NDk0KGUpe2UuZXhwb3J0cz1bIlBpdm90IENhbWFyaWxsYSBSMiJdfSwxNDY0OTMoZSl7ZS5leHBvcnRzPVsiUGl2b3QgQ2FtYXJpbGxhIFIzIl19LDczNjM3MShlKXtlLmV4cG9ydHM9WyJQaXZvdCBDYW1hcmlsbGEgUzEiXX0sNzU1Nzg2KGUpe2UuZXhwb3J0cz1bIlBpdm90IENhbWFyaWxsYSBTMiJdfSw5NDI5NzcoZSl7ZS5leHBvcnRzPVsiUGl2b3QgQ2FtYXJpbGxhIFMzIl19LDU2NTUyNihlKXtlLmV4cG9ydHM9WyJQaXZvdCBDbGFzc2ljIFAiXX0sNjIyODM0KGUpewplLmV4cG9ydHM9WyJQaXZvdCBDbGFzc2ljIFIxIl19LDUxNzMwMChlKXtlLmV4cG9ydHM9WyJQaXZvdCBDbGFzc2ljIFIyIl19LDc3MTU2KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUjMiXX0sNDk1MzE3KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUzEiXX0sNTE5MDI3KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUzIiXX0sMTMwNDY3KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUzMiXX0sNDkxNTQwKGUpe2UuZXhwb3J0cz1bIlBpdm90IERNIFAiXX0sOTQxMjI0KGUpe2UuZXhwb3J0cz1bIlBpdm90IERNIFIxIl19LDg4MTcyMChlKXtlLmV4cG9ydHM9WyJQaXZvdCBETSBTMSJdfSw4ODU2MzQoZSl7ZS5leHBvcnRzPVsiUGl2b3QgRmlib25hY2NpIFAiXX0sMzc0NDA2KGUpe2UuZXhwb3J0cz1bIlBpdm90IEZpYm9uYWNjaSBSMSJdfSwxODcyMTUoZSl7ZS5leHBvcnRzPVsiUGl2b3QgRmlib25hY2NpIFIyIl19LDU4MTAxMihlKXtlLmV4cG9ydHM9WyJQaXZvdCBGaWJvbmFjY2kgUjMiXX0sMzg5Nzc4KGUpe2UuZXhwb3J0cz1bIlBpdm90IEZpYm9uYWNjaSBTMSJdfSwyMDI1ODcoZSl7ZS5leHBvcnRzPVsiUGl2b3QgRmlib25hY2NpIFMyIl19LDcxMjU3NihlKXtlLmV4cG9ydHM9WyJQaXZvdCBGaWJvbmFjY2kgUzMiXX0sMTU5MDkyKGUpe2UuZXhwb3J0cz1bIlBpdm90IFdvb2RpZSBQIl19LDI2ODcxNihlKXtlLmV4cG9ydHM9WyJQaXZvdCBXb29kaWUgUjEiXX0sODE1MjUoZSl7ZS5leHBvcnRzPVsiUGl2b3QgV29vZGllIFIyIl19LDg5NDMzNChlKXtlLmV4cG9ydHM9WyJQaXZvdCBXb29kaWUgUjMiXX0sMTI1NTUyKGUpe2UuZXhwb3J0cz1bIlBpdm90IFdvb2RpZSBTMSJdfSw5MzgzNjEoZSl7ZS5leHBvcnRzPVsiUGl2b3QgV29vZGllIFMyIl19LDMxOTEwNihlKXtlLmV4cG9ydHM9WyJQaXZvdCBXb29kaWUgUzMiXX0sMzg2NTYoZSl7ZS5leHBvcnRzPVsiUGx1bWJpbmcgRml4dHVyZXMgJiBGaXR0aW5ncyJdfSw5MDU5MzQoZSl7ZS5leHBvcnRzPVsiUGxhc3RpY3MiXX0sNjg5MzkzKGUpe2UuZXhwb3J0cz1bIlBsYXN0aWMgQ29udGFpbmVyICYgUGFja2FnaW5nIl19LDkzNjI2MChlKXtlLmV4cG9ydHM9WyJQbGF0aW51bSBNaW5pbmciXX0sNzQwMDMoZSl7ZS5leHBvcnRzPVsiUGxheXMgJiBDb25jZXJ0IFByb2R1Y3Rpb24iXX0sNTk3NzYzKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgQ2hhbmdlIl19LDMyNTcxMyhlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IENoYW5nZSAlIl19LDUwODI3NihlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IENoYW5nZSBmcm9tIE9wZW4iXX0sMzg2OTY5KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgQ2hhbmdlIGZyb20gT3BlbiAlIl19LDM4NjQ3NChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IENsb3NlIl19LDUxMTMxMyhlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IEdhcCAlIl19LDI0NTgxMihlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IEhpZ2giXX0sNDI1MjAwKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgTG93Il19LDIxNjc2NChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IE9wZW4iXX0sMTcxNDE1KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgVm9sdW1lIl19LDQ2NTU3NChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IGNoZyJdfSwyMDg4NDYoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCBjaGcgJSJdfSw0OTk0OTUoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCBjaGcgZnJvbSBPcGVuIl19LDY0MjMyOChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IGNoZyBmcm9tIE9wZW4gJSJdfSwzMjk2NDgoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCBnYWluZXJzIl19LDg2NDIxMihlKXtlLmV4cG9ydHM9WyJQcmVjaW91cyBNZXRhbHMiXX0sMTc2MDg5KGUpe2UuZXhwb3J0cz1bIlByZWNpb3VzIE1ldGFscyAmIE1pbmVyYWxzIl19LDg3MTA4OChlKXtlLmV4cG9ydHM9WyJQcmVmYWJyaWNhdGVkIEhvbWVzIl19LDI3NTY2MihlKXtlLmV4cG9ydHM9WyJQcmVmZXJyZWQgU3RvY2siXX0sNDIzMDUoZSl7ZS5leHBvcnRzPVsiUHJldGF4IE1hcmdpbiJdfSw4MjYxMTUoZSl7ZS5leHBvcnRzPVsiUHJldGF4IE1hcmdpbiAoVFRNKSJdfSw2NTY5NzEoZSl7ZS5leHBvcnRzPVsiUHJldGF4IG1hcmdpbiAoe3BlcmlvZH0pIl19LDgzMjEyMyhlKXtlLmV4cG9ydHM9WyJQcmV2Il19LDEzNzIwKGUpe2UuZXhwb3J0cz1bIlByZXZpb3VzIDUgRGF5cyJdfSwzNjYyNDgoZSl7ZS5leHBvcnRzPVsiUHJldmlvdXMgQ2xvc2UgUHJpY2UiXX0sNTY0NTYxKGUpe2UuZXhwb3J0cz1bIlByZXZpb3VzIFdlZWsiXX0sODM0OTAoZSl7ZS5leHBvcnRzPVsiUHJpY2UiXX0sOTg0MTQoZSl7ZS5leHBvcnRzPVsiUHJpY2UgJSBDaGFuZ2UgMSBXZWVrIl19LDYzNjM1MShlKXtlLmV4cG9ydHM9WyJQcmljZSAlIENoYW5nZSA0IFdlZWsiXX0sODM0MTIxKGUpe2UuZXhwb3J0cz1bIlByaWNlICUgQ2hhbmdlIDUyIFdlZWsiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDE3MTM5MShlKXtlLmV4cG9ydHM9WyJQcmljZSB0byBCb29rIChGWSkiXX0sNzk3NDUwKGUpe2UuZXhwb3J0cz1bIlByaWNlIHRvIEJvb2sgKE1SUSkiXX0sOTE3NzE1KGUpe2UuZXhwb3J0cz1bIlByaWNlIHRvIEVhcm5pbmdzIFJhdGlvIChUVE0pIl19LDMwNjM1NihlKXtlLmV4cG9ydHM9WyJQcmljZSB0byBGcmVlIENhc2ggRmxvdyAoVFRNKSJdfSw4MTkzNzEoZSl7ZS5leHBvcnRzPVsiUHJpY2UgdG8gU2FsZXMgKEZZKSJdfSwzMTMyNDYoZSl7ZS5leHBvcnRzPVsiUHJpY2UgdG8gUmV2ZW51ZSBSYXRpbyAoVFRNKSJdfSw0MjQ1NDUoZSl7ZS5leHBvcnRzPVsiUHJpY2UvRWFybmluZ3MvR3Jvd3RoIChUVE0pIl19LDgxNjk0NChlKXtlLmV4cG9ydHM9WyJQcmljZS9GcmVlIENhc2ggRmxvdyJdfSwyNjMzMzUoZSl7ZS5leHBvcnRzPVsiUHJpY2UvU2FsZXMiXX0sNjMxNDEwKGUpe2UuZXhwb3J0cz1bIlByaWNlL1JldiJdfSwyNTUzNyhlKXtlLmV4cG9ydHM9WyJQcmltYXJ5IEFsdW1pbnVtIFByb2R1Y3Rpb24iXX0sODE4MjczKGUpewplLmV4cG9ydHM9WyJQcmltYXJ5IExpc3RpbmciXX0sMjQzNzU2KGUpe2UuZXhwb3J0cz1bIlByaXZhdGUgQmFua3MiXX0sOTc5NTMyKGUpe2UuZXhwb3J0cz1bIlByaXZhdGUgRXF1aXR5Il19LDU0ODM2KGUpe2UuZXhwb3J0cz1bIlByb2Nlc3NvcnMiXX0sODIwNjk4KGUpe2UuZXhwb3J0cz1bIlByb2Nlc3MgSW5kdXN0cmllcyJdfSw1MzQzOShlKXtlLmV4cG9ydHM9WyJQcm9ncmFtbWluZyBTb2Z0d2FyZSAmIFRlc3RpbmcgVG9vbHMiXX0sNTI3NjQwKGUpe2UuZXhwb3J0cz1bIlByb2R1Y2VyIE1hbnVmYWN0dXJpbmciXX0sNTUzMzMwKGUpe2UuZXhwb3J0cz1bIlByb2Zlc3Npb25hbCBJbmZvcm1hdGlvbiBTZXJ2aWNlcyJdfSwxMDQwMTQoZSl7ZS5leHBvcnRzPVsiUHJvZmVzc2lvbmFsIFNwb3J0cyBWZW51ZXMiXX0sNzM2MDY2KGUpe2UuZXhwb3J0cz1bIlByb3BlcnR5ICYgQ2FzdWFsdHkgSW5zdXJhbmNlIl19LDg5NjIzMChlKXtlLmV4cG9ydHM9WyJQcm9wZXJ0eSAmIENhc3VhbHR5IFJlaW5zdXJhbmNlIl19LDM2NDg3NyhlKXtlLmV4cG9ydHM9WyJQcm9wZXJ0eSBJbnN1cmFuY2UiXX0sMzUxNjE0KGUpe2UuZXhwb3J0cz1bIlByb3BlcnR5LUNhc3VhbHR5IEluc3VyZXJzIl19LDY5NjQ3NyhlKXtlLmV4cG9ydHM9WyJQcm9wZXJ0eS9DYXN1YWx0eSBJbnN1cmFuY2UiXX0sNzY2OTIoZSl7ZS5leHBvcnRzPVsiUHJvdmluY2UvU3RhdGUiXX0sNTY4MzAoZSl7ZS5leHBvcnRzPVsiUHVibGljIFJlbGF0aW9ucyJdfSwxODIwOTcoZSl7ZS5leHBvcnRzPVsiUHVibGljIFNwb3J0IEZhY2lsaXRpZXMiXX0sMzEzMDU2KGUpe2UuZXhwb3J0cz1bIlB1Ymxpc2hpbmc6IEJvb2tzL01hZ2F6aW5lcyJdfSw3MDA0NDIoZSl7ZS5leHBvcnRzPVsiUHVibGlzaGluZzogTmV3c3BhcGVycyJdfSw5MzM0NjEoZSl7ZS5leHBvcnRzPVsiUHVicywgQmFycyAmIE5pZ2h0IENsdWJzIl19LDg0MzMyNyhlKXtlLmV4cG9ydHM9WyJQdWVydG8gUmljbyJdfSwzNjczNjEoZSl7ZS5leHBvcnRzPVsiUHVscCAmIFBhcGVyIl19LDM1Mjg1NihlKXtlLmV4cG9ydHM9WyJQdWxwIE1pbGxzIl19LDMyMTE3KGUpe2UuZXhwb3J0cz1bIlB1bXAgJiBQdW1waW5nIEVxdWlwbWVudCJdfSw4NDAzODYoZSl7ZS5leHBvcnRzPVsiUHVyaWZpY2F0aW9uICYgVHJlYXRtZW50IEVxdWlwbWVudCJdfSw4OTc2NyhlKXtlLmV4cG9ydHM9WyJRMSJdfSw5NDg5MjMoZSl7ZS5leHBvcnRzPVsiUTIiXX0sMzY3OTM1KGUpe2UuZXhwb3J0cz1bIlEzIl19LDE3NTUwNyhlKXtlLmV4cG9ydHM9WyJRNCJdfSw5MzM3NTMoZSl7ZS5leHBvcnRzPVsiUWF0YXIiXX0sOTQ3Mjk5KGUpe2UuZXhwb3J0cz1bIlF1aWNrIFNlcnZpY2UgUmVzdGF1cmFudHMiXX0sNTkyOTgxKGUpe2UuZXhwb3J0cz1bIlF1aWNrIFJhdGlvIl19LDQwMzEzMShlKXtlLmV4cG9ydHM9WyJRdWljayBSYXRpbyAoTVJRKSJdfSwxOTA2OTYoZSl7ZS5leHBvcnRzPVsiUXVvdGUgY3VycmVuY3kiXX0sODE0NjEoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiJdfSw3OTA1MjQoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiBhbmQgdXBkYXRlZCBldmVyeSAzMCBzZWNvbmRzIl19LDMzNDEwMihlKXtlLmV4cG9ydHM9WyJSJkQgUmF0aW8gKEZZKSJdfSw1MDIwODgoZSl7ZS5leHBvcnRzPVsiUiZEIFJhdGlvIChUVE0pIl19LDEyMzgwNShlKXtlLmV4cG9ydHM9WyJSMSJdfSw1OTQ0MDEoZSl7ZS5leHBvcnRzPVsiUjIiXX0sMTM0MTMoZSl7ZS5leHBvcnRzPVsiUjMiXX0sNTg5OTY0KGUpe2UuZXhwb3J0cz1bIlJPQSJdfSw4NDgxNTQoZSl7ZS5leHBvcnRzPVsiUk9DIl19LDE3MDk1MihlKXtlLmV4cG9ydHM9WyJST0UiXX0sMzg5NTI1KGUpe2UuZXhwb3J0cz1bIlJPSUMgJSJdfSw4MTAyMDIoZSl7ZS5leHBvcnRzPVsiUkVJVCJdfSw5NjcwMjMoZSl7ZS5leHBvcnRzPVsiUkZJRCBTeXN0ZW1zIl19LDQ5NjY3NChlKXtlLmV4cG9ydHM9WyJSU0kxNCJdfSw1Mjg2NTkoZSl7ZS5leHBvcnRzPVsiUlNJNyJdfSw4OTEzOTkoZSl7ZS5leHBvcnRzPVsiUm9jayBNaW5pbmciXX0sOTA1OTQ1KGUpe2UuZXhwb3J0cz1bIlJvbWFuaWEiXX0sMjkyMTM1KGUpe2UuZXhwb3J0cz1bIlJvb2ZpbmcgU3VwcGxpZXMiXX0sODAyMDg4KGUpe2UuZXhwb3J0cz1bIlJhdGUgT2YgQ2hhbmdlICg5KSJdfSwyMjc3NTQoZSl7ZS5leHBvcnRzPVsiUmF0aW5nIEFnZW5jaWVzIl19LDExOTg5MihlKXtlLmV4cG9ydHM9WyJSYWRpbyBCcm9hZGNhc3RpbmciXX0sNjAwNTc2KGUpe2UuZXhwb3J0cz1bIlJhaWwgU2VydmljZXMiXX0sNzY3MTQ3KGUpe2UuZXhwb3J0cz1bIlJhaWxyb2FkcyJdfSw2NjY1NDcoZSl7ZS5leHBvcnRzPVsiUmFpbHdheSBDb25zdHJ1Y3Rpb24iXX0sMzE5NzEzKGUpe2UuZXhwb3J0cz1bIlJhaWx3YXkgRnJlaWdodCBPcGVyYXRvcnMiXX0sOTE4NChlKXtlLmV4cG9ydHM9WyJSYXJlIEVhcnRoIE1pbmVyYWxzIl19LDk2MTIwNShlKXtlLmV4cG9ydHM9WyJSZXRhaWwgLSBEZXBhcnRtZW50IFN0b3JlcyJdfSw2NTk3NjEoZSl7ZS5leHBvcnRzPVsiUmV0YWlsIC0gRHJ1Z3Mgd2l0aCBHcm9jZXJ5Il19LDYwOTcyOChlKXtlLmV4cG9ydHM9WyJSZXRhaWwgLSBEcnVncyB3aXRob3V0IEdyb2NlcnkiXX0sNDEyNjIwKGUpe2UuZXhwb3J0cz1bIlJldGFpbCAgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiXX0sNzkyOTI2KGUpe2UuZXhwb3J0cz1bIlJldGFpbCAmIE1vcnRnYWdlIEJhbmtzIl19LDEwMTE0MChlKXtlLmV4cG9ydHM9WyJSZXRhaWwgUkVJVHMiXX0sNzA5NjI1KGUpe2UuZXhwb3J0cz1bIlJldGFpbCBSZWFsIEVzdGF0ZSBTZXJ2aWNlcyJdfSw1OTAwNjYoZSl7ZS5leHBvcnRzPVsiUmV0YWlsIFRyYWRlIl19LDkxODg5KGUpe2UuZXhwb3J0cz1bIlJldGlyZW1lbnQgSG9tZSBCdWlsZGVycyJdfSwxODUxMDMoZSl7ZS5leHBvcnRzPVsiUmV0dXJuIG9uIEFzc2V0cyAoVFRNKSJdfSwxMTk1MjMoZSl7ZS5leHBvcnRzPVsiUmV0dXJuIG9uIEVxdWl0eSAoVFRNKSJdfSwxNzg1MTMoZSl7CmUuZXhwb3J0cz1bIlJldHVybiBvbiBJbnZlc3RlZCBDYXBpdGFsICUgKFRUTSkiXX0sODA5NzI2KGUpe2UuZXhwb3J0cz1bIlJldHVybiBvbiBJbnZlc3RlZCBDYXBpdGFsIChUVE0pIl19LDgxODExMShlKXtlLmV4cG9ydHM9WyJSZXR1cm4gb24gYXNzZXRzICh7cGVyaW9kfSkiXX0sNDgxMDg3KGUpe2UuZXhwb3J0cz1bIlJldHVybiBvbiBlcXVpdHkgKHtwZXJpb2R9KSJdfSwyMzE3MyhlKXtlLmV4cG9ydHM9WyJSZXR1cm4gb24gaW52ZXN0ZWQgY2FwaXRhbCAoe3BlcmlvZH0pIl19LDU2ODA5MShlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIl19LDEyODM3NihlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sNDgyNTUzKGUpe2UuZXhwb3J0cz1bIlJldmVudWUgKFF1YXJ0ZXJseSBRb1EgR3Jvd3RoKSJdfSw4MDMyODEoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSAoUXVhcnRlcmx5IFlvWSBHcm93dGgpIl19LDc0MDkyOChlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIChUVE0gWW9ZIEdyb3d0aCkiXX0sNTg4MzczKGUpe2UuZXhwb3J0cz1bIlJldmVudWUgQWN0dWFsIl19LDQ1OTU4NyhlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIEZvcmVjYXN0Il19LDc5Mzc1MChlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIHBlciBFbXBsb3llZSJdfSw5NDIwMjUoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSBwZXIgRW1wbG95ZWUgKEZZKSJdfSw2MzA2NzYoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSBwZXIgZW1wbG95ZWUgKHtwZXJpb2R9KSJdfSwxMzI1NDgoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSBwZXIgc2hhcmUgKHtwZXJpb2R9KSJdfSw2MTM5NTEoZSl7ZS5leHBvcnRzPVsiUmVhZHktTWFkZSBNZWFscyJdfSw4ODM5MjgoZSl7ZS5leHBvcnRzPVsiUmVhbC10aW1lIl19LDQ0MTA0NShlKXtlLmV4cG9ydHM9WyJSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCJdfSw3MTIwMDQoZSl7ZS5leHBvcnRzPVsiUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQgJiBPcGVyYXRpb25zIl19LDE0MjA4NihlKXtlLmV4cG9ydHM9WyJSZWFsIEVzdGF0ZSBJbnZlc3RtZW50IFRydXN0cyJdfSwzNzYzNjUoZSl7ZS5leHBvcnRzPVsiUmVhbCBFc3RhdGUgU2VydmljZXMiXX0sNTAyMTI5KGUpe2UuZXhwb3J0cz1bIlJlY2VudCBFYXJuaW5ncyBEYXRlIl19LDEwNTcxKGUpe2UuZXhwb3J0cz1bIlJlY3JlYXRpb25hbCBQcm9kdWN0cyJdfSwzNzM3MjIoZSl7ZS5leHBvcnRzPVsiUmVmcmVzaCJdfSw4Njk3NTYoZSl7ZS5leHBvcnRzPVsiUmVmcmVzaCBldmVyeSBtaW51dGUiXX0sNzgyNjM0KGUpe2UuZXhwb3J0cz1bIlJlZnJlc2ggaW50ZXJ2YWwiXX0sMjI0ODIxKGUpe2UuZXhwb3J0cz1bIlJlZ2lvbiJdfSw3NjYxNjUoZSl7ZS5leHBvcnRzPVsiUmVnaW9uYWwgQWlybGluZXMiXX0sMzU4NjIzKGUpe2UuZXhwb3J0cz1bIlJlZ2lvbmFsIEJhbmtzIl19LDczNDQ3NyhlKXtlLmV4cG9ydHM9WyJSZWluc3VyYW5jZSJdfSw4MTM0MzIoZSl7ZS5leHBvcnRzPVsiUmVsYXRpdmUgU3RyZW5ndGggSW5kZXggKDE0KSJdfSw0MjM0NihlKXtlLmV4cG9ydHM9WyJSZWxhdGl2ZSBTdHJlbmd0aCBJbmRleCAoNykiXX0sMjUwNjU0KGUpe2UuZXhwb3J0cz1bIlJlbGF0aXZlIFZvbCJdfSw2OTkwOTAoZSl7ZS5leHBvcnRzPVsiUmVsYXRpdmUgVm9sIGF0IFRpbWUiXX0sNzgzMTkzKGUpe2UuZXhwb3J0cz1bIlJlbGF0aXZlIFZvbHVtZSJdfSwxOTMwNjYoZSl7ZS5leHBvcnRzPVsiUmVsYXRpdmUgVm9sdW1lIGF0IFRpbWUiXX0sNTkxMjI3KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBjb2x1bW4iXX0sNjk0MjA5KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBmcm9tIGZhdm9yaXRlcyJdfSw5MjQ4MjMoZSl7ZS5leHBvcnRzPVsiUmVuYW1lIl19LDY3MTIzKGUpe2UuZXhwb3J0cz1bIlJlbmFtZSBDb2x1bW4gU2V0Il19LDk0MTI1NyhlKXtlLmV4cG9ydHM9WyJSZW5hbWUgU2NyZWVucyJdfSw1Nzg5MzAoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIEVuZXJneSBFcXVpcG1lbnQgJiBTZXJ2aWNlcyJdfSw5MTk2MzkoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIEVuZXJneSBTZXJ2aWNlcyJdfSwzOTQxNzQoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIEZ1ZWxzIl19LDk4NDk5MyhlKXtlLmV4cG9ydHM9WyJSZW5ld2FibGUgSVBQcyJdfSwxODAwOTAoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIFV0aWxpdGllcyJdfSw4NTc4OTgoZSl7ZS5leHBvcnRzPVsiUmVwb3J0ZWQgRVBTIl19LDk3NzI3KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBNb2RlIl19LDg3MDMxNihlKXtlLmV4cG9ydHM9WyJSZXNlYXJjaCAmIGRldmVsb3BtZW50IFJhdGlvIChGWSkiXX0sNzAxMDM1KGUpe2UuZXhwb3J0cz1bIlJlc2VhcmNoICYgZGV2ZWxvcG1lbnQgUmF0aW8gKFRUTSkiXX0sNDI1NjUwKGUpe2UuZXhwb3J0cz1bIlJlc2V0Il19LDgyNjMxNChlKXtlLmV4cG9ydHM9WyJSZXNldCBhbGwiXX0sMzExNzM3KGUpe2UuZXhwb3J0cz1bIlJlc2V0IGZpbHRlciJdfSwyMDYxNDQoZSl7ZS5leHBvcnRzPVsiUmVzaWRlbnRpYWwgIFJlYWwgRXN0YXRlIERldmVsb3BtZW50Il19LDEyMjE4OShlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCAmIExvbmcgVGVybSBDYXJlIl19LDEwOTAwNyhlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCBBcmNoaXRlY3R1cmFsICYgSW50ZXJpb3IgRGVzaWduIFNlcnZpY2VzIl19LDU3ODgxMihlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCBCdWlsZGVycyAtIE11bHRpZmFtaWx5IEhvbWVzIl19LDE4Mjc5NyhlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCBCdWlsZGVycyAtIFNpbmdsZSBIb21lcyJdfSwyMjAyNjQoZSl7ZS5leHBvcnRzPVsiUmVzaWRlbnRpYWwgUkVJVHMiXX0sMTQ1MjgxKGUpe2UuZXhwb3J0cz1bIlJlc2lkZW50aWFsIFJlYWwgRXN0YXRlIFNlcnZpY2VzIl19LDg0MzE4MShlKXtlLmV4cG9ydHM9WyJSZXNvcnQgT3BlcmF0b3JzIl19LDMyMzg4OShlKXtlLmV4cG9ydHM9WyJSZXN0YXVyYW50cyJdfSwzMTUyMTMoZSl7ZS5leHBvcnRzPVsiUmVzdGF1cmFudHMgJiBCYXJzIl19LDQwNzQzOChlKXtlLmV4cG9ydHM9WyJSaXNpbmcgcGFpcnMiXX0sCjQ2MTk3MihlKXtlLmV4cG9ydHM9WyJSdWJiZXIgUGxhbnRhdGlvbiJdfSw5MzQ4ODMoZSl7ZS5leHBvcnRzPVsiUnVzc2lhIl19LDM5MDU5OChlKXtlLmV4cG9ydHM9WyJSdXNzaWFuIEZlZGVyYXRpb24iXX0sNzU4Mjk3KGUpe2UuZXhwb3J0cz1bIlJ3YW5kYSJdfSw4NzI2ODAoZSl7ZS5leHBvcnRzPVsiUsOpdW5pb24iXX0sMjI4MjkoZSl7ZS5leHBvcnRzPVsiUzEiXX0sNDQxODQxKGUpe2UuZXhwb3J0cz1bIlMyIl19LDg2MDg1MyhlKXtlLmV4cG9ydHM9WyJTMyJdfSw1NDE0MDUoZSl7ZS5leHBvcnRzPVsiV29tZW4ncyBBcHBhcmVsIFJldGFpbGVycyJdfSw1MDM3MTMoZSl7ZS5leHBvcnRzPVsiV29tZW4ncyBDbG90aGluZyJdfSw0MzQwNzcoZSl7ZS5leHBvcnRzPVsiV29tZW4ncyBGb290d2VhciJdfSw1MjQ1MzkoZSl7ZS5leHBvcnRzPVsiV29vZCBDb250YWluZXIgJiBQYWNrYWdpbmciXX0sMTAzNjQwKGUpe2UuZXhwb3J0cz1bIldvb2QgUHJvZHVjdCBXaG9sZXNhbGUiXX0sNzA2MDY1KGUpe2UuZXhwb3J0cz1bIldvb2QgUHJvZHVjdHMiXX0sNjQzMDc1KGUpe2UuZXhwb3J0cz1bIldvcmxkIl19LDYzMTA1MihlKXtlLmV4cG9ydHM9WyJXYXRjaGVzIl19LDg2MTY1NShlKXtlLmV4cG9ydHM9WyJXYXRlciAmIFNld2FnZSBDb25zdHJ1Y3Rpb24iXX0sNDM1OTgwKGUpe2UuZXhwb3J0cz1bIldhdGVyIFN1cHBseSAmIElycmlnYXRpb24gU3lzdGVtcyJdfSwzNjk5NDQoZSl7ZS5leHBvcnRzPVsiV2F0ZXIgVXRpbGl0aWVzIl19LDQwNTc3OShlKXtlLmV4cG9ydHM9WyJXYXZlIFBvd2VyIEVuZXJneSBFcXVpcG1lbnQiXX0sNTkwNTA1KGUpe2UuZXhwb3J0cz1bIldhbGxpcyBhbmQgRnV0dW5hIl19LDU1NDE3MyhlKXtlLmV4cG9ydHM9WyJXYWxscGFwZXIiXX0sOTA2Mzc5KGUpe2UuZXhwb3J0cz1bIldhcmVob3VzaW5nIl19LDQ5MzMzMyhlKXtlLmV4cG9ydHM9WyJXYXN0ZSBNYW5hZ2VtZW50LCBEaXNwb3NhbCAmIFJlY3ljbGluZyBTZXJ2aWNlcyJdfSwxMjEzMDEoZSl7ZS5leHBvcnRzPVsiV2FzdGUgdG8gRW5lcmd5IFN5c3RlbXMgJiBFcXVpcG1lbnQiXX0sMzMyODU1KGUpe2UuZXhwb3J0cz1bIldlIGFyZSBkb2luZyBzb21lIGJyaWVmIGRhaWx5IG1haW50ZW5hbmNlLiBTY3JlZW5lciB3aWxsIGJlIGJhY2sgcmVhbGx5IHNvb24sIHRoYW5rcyBmb3IgeW91ciBwYXRpZW5jZSEiXX0sNTI5MTYwKGUpe2UuZXhwb3J0cz1bIldlJ3ZlIGxhdW5jaGVkIG5ldyBhbmQgbW9yZSBwb3dlcmZ1bCBzY3JlZW5lcnMgZm9yIHtjcnlwdG9Db2luc1NjcmVlbmVyTGlua1N0YXJ0fWNyeXB0byBjb2luc3tsaW5rRW5kfSwge2NleFNjcmVlbmVyTGlua1N0YXJ0fUNFWCBwYWlyc3tsaW5rRW5kfSwgYW5kIHtkZXhTY3JlZW5lckxpbmtTdGFydH1ERVggcGFpcnN7bGlua0VuZH0uIFRoZXkncmUgcGFja2VkIHdpdGggZXZlcnl0aGluZyB5b3UgbG92ZWQgZnJvbSB0aGUgb2xkIHZlcnNpb24sIHBsdXMgbW9yZSBkYXRhLCBzbWFydGVyIGZpbHRlcnMsIGFuZCBleGNpdGluZyBmZWF0dXJlcyBhbmQgbWV0cmljcy5cblRvIHN0cmVhbWxpbmUgeW91ciBleHBlcmllbmNlLCB3ZSdsbCBiZSByZW1vdmluZyB0aGlzIG9sZCB2ZXJzaW9uIHNvb24uIEV4cGxvcmUgdGhlIG5ldyBzY3JlZW5lcnMgbm93LiJdfSw3OTU3NyhlKXtlLmV4cG9ydHM9WyJXZWFsdGggTWFuYWdlbWVudCJdfSw3ODE5OTMoZSl7ZS5leHBvcnRzPVsiV2Vla2x5IFBlcmYiXX0sODQ2NjE0KGUpe2UuZXhwb3J0cz1bIldlZWtseSBQZXJmb3JtYW5jZSJdfSw5MTQ4MTYoZSl7ZS5leHBvcnRzPVsiV2VsZGluZyAmIFNvbGRlcmluZyBFcXVpcG1lbnQiXX0sODgxMjc3KGUpe2UuZXhwb3J0cz1bIldlc3Rlcm4gU2FoYXJhIl19LDYwOTQ1NShlKXtlLmV4cG9ydHM9WyJXaG9sZXNhbGUgRGlzdHJpYnV0b3JzIl19LDYyODk1KGUpe2UuZXhwb3J0cz1bIldpLUZpICYgV2ktTWF4IFByb3ZpZGVycyJdfSwyNjA5MTAoZSl7ZS5leHBvcnRzPVsiV2lsbGlhbXMgUGVyY2VudCBSYW5nZSAoMTQpIl19LDE5OTc4OChlKXtlLmV4cG9ydHM9WyJXaW5kIFN5c3RlbXMgJiBFcXVpcG1lbnQiXX0sNjEzNjc1KGUpe2UuZXhwb3J0cz1bIldpbmVyaWVzIl19LDI0NzE2NShlKXtlLmV4cG9ydHM9WyJXaXJlZCBUZWxlY29tbXVuaWNhdGlvbnMgQ2FycmllcnMiXX0sMTc4MzA1KGUpe2UuZXhwb3J0cz1bIldpcmVsZXNzIFRlbGVjb20iXX0sODUzMTY0KGUpe2UuZXhwb3J0cz1bIldpcmVsZXNzIFRlbGVjb21tdW5pY2F0aW9ucyJdfSwxMjU3NDMoZSl7ZS5leHBvcnRzPVsiV2lyZWxlc3MgVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIl19LDgwMDg0NShlKXtlLmV4cG9ydHM9WyJXaXJlcyAmIENhYmxlcyJdfSwzNDQzNzUoZSl7ZS5leHBvcnRzPVsiVEYiXX0sODQ3MTQxKGUpe2UuZXhwb3J0cz1bIlRUTSJdfSwyMzc3NDgoZSl7ZS5leHBvcnRzPVsiVFYgJiBWaWRlbyJdfSw1NDM1MzIoZSl7ZS5leHBvcnRzPVsiVG90YWwgQ29pbnMiXX0sODEyMzM1KGUpe2UuZXhwb3J0cz1bIlRvdGFsIENhcGl0YWwiXX0sNTc5MTA5KGUpe2UuZXhwb3J0cz1bIlRvdGFsIEN1cnJlbnQgQXNzZXRzIChNUlEpIl19LDQwMzY0NyhlKXtlLmV4cG9ydHM9WyJUb3RhbCBBc3NldHMgKEFubnVhbCBZb1kgR3Jvd3RoKSJdfSw0MDIyKGUpe2UuZXhwb3J0cz1bIlRvdGFsIEFzc2V0cyAoTVJRKSJdfSw5NzM2MChlKXtlLmV4cG9ydHM9WyJUb3RhbCBBc3NldHMgKFF1YXJ0ZXJseSBRb1EgR3Jvd3RoKSJdfSw1NDgzNDIoZSl7ZS5leHBvcnRzPVsiVG90YWwgQXNzZXRzIChRdWFydGVybHkgWW9ZIEdyb3d0aCkiXX0sNjIzODM3KGUpe2UuZXhwb3J0cz1bIlRvdGFsIERlYnQgKEFubnVhbCBZb1kgR3Jvd3RoKSJdfSw1Njg5MzQoZSl7ZS5leHBvcnRzPVsiVG90YWwgRGVidCAoTVJRKSJdfSw3OTMwMzYoZSl7ZS5leHBvcnRzPVsiVG90YWwgRGVidCAoUXVhcnRlcmx5IFFvUSBHcm93dGgpIl19LDY3NTEwOChlKXtlLmV4cG9ydHM9WyJUb3RhbCBEZWJ0IChRdWFydGVybHkgWW9ZIEdyb3d0aCkiXX0sMzM0MTcxKGUpe2UuZXhwb3J0cz1bIlRvdGFsIExpYWJpbGl0aWVzIChNUlEpIl19LDYwNjkyMChlKXsKZS5leHBvcnRzPVsiVG90YWwgTGlhYmlsaXRpZXMgKEZZKSJdfSw1NDMwOTUoZSl7ZS5leHBvcnRzPVsiVG90YWwgU2hhcmVzIE91dHN0YW5kaW5nIl19LDQzNjQ3NChlKXtlLmV4cG9ydHM9WyJUb3RhbCBSZXZlbnVlIChGWSkiXX0sNDE0MjU4KGUpe2UuZXhwb3J0cz1bIlRvdGFsIGFzc2V0cyAoe3BlcmlvZH0pIl19LDQ2OTU1OChlKXtlLmV4cG9ydHM9WyJUb3RhbCBkZWJ0ICh7cGVyaW9kfSkiXX0sNzMzMjYoZSl7ZS5leHBvcnRzPVsiVG90YWwgZXF1aXR5ICh7cGVyaW9kfSkiXX0sMzM2MzAzKGUpe2UuZXhwb3J0cz1bIlRvdGFsIHNoYXJlcyBvdXRzdGFuZGluZyJdfSwzMDIxNjUoZSl7ZS5leHBvcnRzPVsiVG90YWwgcmV2ZW51ZSAoe3BlcmlvZH0pIl19LDE1MjgzMyhlKXtlLmV4cG9ydHM9WyJUb3lzICYgR2FtZXMgUmV0YWlsZXJzIl19LDM1NzgwNChlKXtlLmV4cG9ydHM9WyJUb3lzICYgSnV2ZW5pbGUgUHJvZHVjdHMiXX0sNjIyMzI3KGUpe2UuZXhwb3J0cz1bIlRveXMgJiBKdXZlbmlsZSBQcm9kdWN0cyBXaG9sZXNhbGUiXX0sNDcyOTcxKGUpe2UuZXhwb3J0cz1bIlRvYmFjY28iXX0sNjE0NDUwKGUpe2UuZXhwb3J0cz1bIlRvZGF5Il19LDgzMjQ0OChlKXtlLmV4cG9ydHM9WyJUb2dvIl19LDEwNDE3NyhlKXtlLmV4cG9ydHM9WyJUb2tlbGF1Il19LDk0MDQ4MyhlKXtlLmV4cG9ydHM9WyJUb21vcnJvdyJdfSwyNTA1NTUoZSl7ZS5leHBvcnRzPVsiVG9uZ2EiXX0sNjQ3MDgzKGUpe2UuZXhwb3J0cz1bIlRvb2xzICYgSGFyZHdhcmUiXX0sMTE4MDkyKGUpe2UuZXhwb3J0cz1bIlRvb2xzICYgSG91c2V3YXJlcyJdfSw1NDk0MzcoZSl7ZS5leHBvcnRzPVsiVG9wIDIwIGVjb25vbWllcyJdfSw4MTQwMjEoZSl7ZS5leHBvcnRzPVsiVG9wIGdhaW5lcnMiXX0sMzg0NTQwKGUpe2UuZXhwb3J0cz1bIlRvcCBsb3NlcnMiXX0sMTg5NDgoZSl7ZS5leHBvcnRzPVsiVGF4aSAmIExpbW91c2luZSJdfSw2OTkxMjIoZSl7ZS5leHBvcnRzPVsiVGFibGV0ICYgTmV0Ym9vayBDb21wdXRlcnMiXX0sMjczMTU3KGUpe2UuZXhwb3J0cz1bIlRhaXdhbiwgQ2hpbmEiXX0sOTY4NDU4KGUpe2UuZXhwb3J0cz1bIlRhamlraXN0YW4iXX0sNTk3MzQ4KGUpe2UuZXhwb3J0cz1bIlRhbm5pbmcgJiBTb2Z0ZW5pbmcgYWdlbnRzIl19LDQ5ODE4MyhlKXtlLmV4cG9ydHM9WyJUYW56YW5pYSJdfSw4NTE5OTMoZSl7ZS5leHBvcnRzPVsiVGV4dGlsZXMiXX0sMjIzNjQ0KGUpe2UuZXhwb3J0cz1bIlRleHRpbGVzICYgTGVhdGhlciBHb29kcyJdfSw4MjA2NDcoZSl7ZS5leHBvcnRzPVsiVGV4dGlsZXMgJiBMZWF0aGVyIEdvb2RzIFdob2xlc2FsZSJdfSw1Njk1OTUoZSl7ZS5leHBvcnRzPVsiVGVjaG5pY2FsIFJhdGluZyJdfSwyNzEwNzkoZSl7ZS5leHBvcnRzPVsiVGVjaG5vbG9neSJdfSw3NjA1MTMoZSl7ZS5leHBvcnRzPVsiVGVjaG5vbG9neSBDb25zdWx0aW5nICYgT3V0c291cmNpbmcgU2VydmljZXMiXX0sNjQwOTUzKGUpe2UuZXhwb3J0cz1bIlRlY2hub2xvZ3kgU2VydmljZXMiXX0sMjU1ODIwKGUpe2UuZXhwb3J0cz1bIlRlbGVtZWRpY2luZSBTZXJ2aWNlcyJdfSw5MTYxODUoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb24gQ29uc3RydWN0aW9uIl19LDE4NTE2NChlKXtlLmV4cG9ydHM9WyJUZWxlY29tbXVuaWNhdGlvbnMgTmV0d29yayBJbmZyYXN0cnVjdHVyZSJdfSwzODk2ODkoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb25zIEVxdWlwbWVudCJdfSw1NzMyNjcoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb25zIFJlc2VsbGVycyJdfSw4NTI1ODUoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIl19LDgyNzk4MChlKXtlLmV4cG9ydHM9WyJUZWxldmlzaW9uIEJyb2FkY2FzdGluZyJdfSwyMjEzNTUoZSl7ZS5leHBvcnRzPVsiVGVzdGluZyAmIE1lYXN1cmluZyBFcXVpcG1lbnQiXX0sOTIxNzg2KGUpe2UuZXhwb3J0cz1bIlRlc3RpbmcgTGFib3JhdG9yaWVzIl19LDQ5MjU3NyhlKXtlLmV4cG9ydHM9WyJUZXN0aW5nIFNlcnZpY2VzIl19LDU1MzA0NChlKXtlLmV4cG9ydHM9WyJUaGFpbGFuZCJdfSw1MTk0NzQoZSl7ZS5leHBvcnRzPVsiVGhlIGFsZXJ0IGNhbid0IGJlIGVuYWJsZWQiXX0sMTk0NjAwKGUpe2UuZXhwb3J0cz1bIlRoZSBjdXJyZW5jeSBzZXQgZm9yIHRoZSB0cmFkZWQgaW5zdHJ1bWVudCBieSB0aGUgcmVsZXZhbnQgY29tcGFueSJdfSw0MTU0MShlKXtlLmV4cG9ydHM9WyJUaGVhdHJlcyAmIFBlcmZvcm1pbmcgQXJ0cyJdfSwzNTg0MjEoZSl7ZS5leHBvcnRzPVsiVGhlcm1hbCBTb2xhciBTeXN0ZW1zICYgRXF1aXBtZW50Il19LDE3MDgwOShlKXtlLmV4cG9ydHM9WyJUaGlzIE1vbnRoIl19LDEyNzQ4MyhlKXtlLmV4cG9ydHM9WyJUaGlzIFdlZWsiXX0sNjc2NDQyKGUpe2UuZXhwb3J0cz1bIlRoaXMgZGF0YSBpcyBvbmx5IGF2YWlsYWJsZSBkaXJlY3RseSBvbiB7b3Blbkxpbmt9VHJhZGluZ1ZpZXd7Y2xvc2VMaW5rfSJdfSw3NDg1NDQoZSl7ZS5leHBvcnRzPVsiVGhpcyBsZWdhY3kgdmVyc2lvbiBvZiBDcnlwdG8gUGFpcnMgU2NyZWVuZXIgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCJdfSw4OTAzODcoZSl7ZS5leHBvcnRzPVsiVGhyZWUgQmxhY2sgQ3Jvd3MiXX0sMjc3MDk3KGUpe2UuZXhwb3J0cz1bIlRocmVlIFdoaXRlIFNvbGRpZXJzIl19LDgyODQyMChlKXtlLmV4cG9ydHM9WyJUaWNrZXIiXX0sNTgxNTEoZSl7ZS5leHBvcnRzPVsiVGlsZSAmIFBhdmluZyBNYXRlcmlhbCBNYW51ZmFjdHVyaW5nIl19LDc3NTc1NShlKXtlLmV4cG9ydHM9WyJUaW1iZXIgUkVJVHMiXX0sMzIwNyhlKXtlLmV4cG9ydHM9WyJUaW1iZXIgVHJhY3QgT3BlcmF0aW9ucyJdfSw4NjIxMTkoZSl7ZS5leHBvcnRzPVsiVGltZSJdfSw3NjUzKGUpe2UuZXhwb3J0cz1bIlRpbWUgSW50ZXJ2YWwiXX0sODAzMDUxKGUpe2UuZXhwb3J0cz1bIlRpbW9yLUxlc3RlIl19LDk2MDA1MyhlKXtlLmV4cG9ydHM9WyJUaXJlICYgVHViZSBNYW51ZmFjdHVyZXJzIl19LDEzNTAzMyhlKXtlLmV4cG9ydHM9WyJUaXJlIERlYWxlcnMiXX0sNTI2MDAxKGUpewplLmV4cG9ydHM9WyJUaXJlIFJldHJlYWRpbmciXX0sMjQyNzc1KGUpe2UuZXhwb3J0cz1bIlRpcmVzICYgUnViYmVyIFByb2R1Y3RzIl19LDE2MjEzMyhlKXtlLmV4cG9ydHM9WyJUaXJlcyAmIFJ1YmJlciBQcm9kdWN0cyBXaG9sZXNhbGUiXX0sNzIxMjI1KGUpe2UuZXhwb3J0cz1bIlRydWNraW5nIl19LDQyMTY0NyhlKXtlLmV4cG9ydHM9WyJUcnVja3MvQ29uc3RydWN0aW9uL0Zhcm0gTWFjaGluZXJ5Il19LDcyMTUyMihlKXtlLmV4cG9ydHM9WyJUcnVzdCBmdW5kIl19LDMzODg2NShlKXtlLmV4cG9ydHM9WyJUcmFkZSAmIEJ1c2luZXNzIFB1Ymxpc2hpbmciXX0sMjM0MDcxKGUpe2UuZXhwb3J0cz1bIlRyYWRlZCBWb2wiXX0sNTA5Njc5KGUpe2UuZXhwb3J0cz1bIlRyYWRlZCBWb2x1bWUiXX0sODE4NjAoZSl7ZS5leHBvcnRzPVsiVHJhbnNhY3Rpb24gJiBQYXltZW50IFNlcnZpY2VzIl19LDUzMzI2OShlKXtlLmV4cG9ydHM9WyJUcmFuc2xhdGlvbiAmIEludGVycHJldGF0aW9uIFNlcnZpY2VzIl19LDc2ODM5MChlKXtlLmV4cG9ydHM9WyJUcmFuc3BvcnRhdGlvbiJdfSw1MzM1OTEoZSl7ZS5leHBvcnRzPVsiVHJhdmVsIEFnZW50cyJdfSwxMTUyNzQoZSl7ZS5leHBvcnRzPVsiVHJlbmQtRm9sbG93aW5nIl19LDI5MTE3MyhlKXtlLmV4cG9ydHM9WyJUcmkgU3RhciBCZWFyaXNoIl19LDg2NzI2OChlKXtlLmV4cG9ydHM9WyJUcmkgU3RhciBCdWxsaXNoIl19LDMxNDg3KGUpe2UuZXhwb3J0cz1bIlRyaW5pZGFkIGFuZCBUb2JhZ28iXX0sNDMwMTM0KGUpe2UuZXhwb3J0cz1bIlR1dmFsdSJdfSw2Nzc1OShlKXtlLmV4cG9ydHM9WyJUdW5pc2lhIl19LDY4NzcyNShlKXtlLmV4cG9ydHM9WyJUdXJiaW5lIE1hbnVmYWN0dXJpbmciXX0sNzM1NjgzKGUpe2UuZXhwb3J0cz1bIlR1cmttZW5pc3RhbiJdfSw2MzE4MTAoZSl7ZS5leHBvcnRzPVsiVHVya2V5Il19LDk3MDYyNChlKXtlLmV4cG9ydHM9WyJUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMiXX0sNDMxMzc3KGUpe2UuZXhwb3J0cz1bIlUuUy4gVmlyZ2luIElzbGFuZHMiXX0sODk1Nzc0KGUpe2UuZXhwb3J0cz1bIlVPIl19LDE2MzExMChlKXtlLmV4cG9ydHM9WyJVQUUiXX0sNjIwMjExKGUpe2UuZXhwb3J0cz1bIlVJVCJdfSwzMDExMTcoZSl7ZS5leHBvcnRzPVsiVVNBIl19LDI1MDA3MihlKXtlLmV4cG9ydHM9WyJVbnVzdWFsIHZvbHVtZSJdfSwxMzc4ODgoZSl7ZS5leHBvcnRzPVsiVW5jb252ZW50aW9uYWwgT2lsICYgR2FzIERyaWxsaW5nIl19LDY2MTk3NihlKXtlLmV4cG9ydHM9WyJVbmNvbnZlbnRpb25hbCBPaWwgJiBHYXMgUHJvZHVjdGlvbiJdfSw3NDIzMzgoZSl7ZS5leHBvcnRzPVsiVW5kZXJwZXJmb3JtaW5nIFNNQTUwIl19LDI0OTA5MShlKXtlLmV4cG9ydHM9WyJVbml0ZWQgQXJhYiBFbWlyYXRlcyJdfSwyODI3MyhlKXtlLmV4cG9ydHM9WyJVbml0ZWQgS2luZ2RvbSJdfSw5Njc5NDEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyJdfSw3MzY3OTkoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIl19LDU4ODY5MyhlKXtlLmV4cG9ydHM9WyJVZ2FuZGEiXX0sMzE3NDc1KGUpe2UuZXhwb3J0cz1bIlVrcmFpbmUiXX0sOTk5OTYxKGUpe2UuZXhwb3J0cz1bIlVsdGltYXRlIE9zY2lsbGF0b3IgKDcsIDE0LCAyOCkiXX0sNzcwNDI0KGUpe2UuZXhwb3J0cz1bIlVwY29taW5nIEVhcm5pbmdzIERhdGUiXX0sOTI4NTUzKGUpe2UuZXhwb3J0cz1bIlVydWd1YXkiXX0sMzIzMTMyKGUpe2UuZXhwb3J0cz1bIlVyYW5pdW0iXX0sMTA3NDA1KGUpe2UuZXhwb3J0cz1bIlVyYW5pdW0gTWluaW5nIl19LDQ4NzAwNihlKXtlLmV4cG9ydHM9WyJVc2VkIENhciBEZWFsZXJzIl19LDU5MjYyNyhlKXtlLmV4cG9ydHM9WyJVc2VkIE1lcmNoYW5kaXNlIFN0b3JlcyJdfSw4OTExMzYoZSl7ZS5leHBvcnRzPVsiVXRpbGl0aWVzIl19LDc4Mzk3MChlKXtlLmV4cG9ydHM9WyJVemJla2lzdGFuIl19LDM3MjUyMyhlKXtlLmV4cG9ydHM9WyJWT0lQIEVxdWlwbWVudCAmIFN5c3RlbXMiXX0sMjk4MTEzKGUpe2UuZXhwb3J0cz1bIlZPSVAgU2VydmljZXMiXX0sMjUxMTY3KGUpe2UuZXhwb3J0cz1bIlZXQVAiXX0sMzM5NDA3KGUpe2UuZXhwb3J0cz1bIlZXTUEiXX0sMzUyNDU3KGUpe2UuZXhwb3J0cz1bIlZvbCAyNGggQ2hnICUiXX0sMjM0MDc3KGUpe2UuZXhwb3J0cz1bIlZvbCAyNGggaW4gVVNEIl19LDMzODM5MihlKXtlLmV4cG9ydHM9WyJWb2xhdGlsaXR5Il19LDkyOTU5NChlKXtlLmV4cG9ydHM9WyJWb2xhdGlsaXR5IE0iXX0sNTYzMzYzKGUpe2UuZXhwb3J0cz1bIlZvbGF0aWxpdHkgTW9udGgiXX0sMTExNTQ4KGUpe2UuZXhwb3J0cz1bIlZvbGF0aWxpdHkgVyJdfSwxNjIyNjUoZSl7ZS5leHBvcnRzPVsiVm9sYXRpbGl0eSBXZWVrIl19LDI0NzA2MihlKXtlLmV4cG9ydHM9WyJWb2x1bWUiXX0sNzExMTg4KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSAyNGggQ2hhbmdlICUiXX0sNTU3OTMzKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSAyNGggaW4gVVNEIl19LDU0MzM5MShlKXtlLmV4cG9ydHM9WyJWb2x1bWUgV2VpZ2h0ZWQgTW92aW5nIEF2ZXJhZ2UgKDIwKSJdfSwxNTUyODAoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGxlYWRlcnMiXX0sNjkwMjA2KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSpQcmljZSJdfSw3OTYyNTYoZSl7ZS5leHBvcnRzPVsiVmFsdWF0aW9uIl19LDMxMDg2OShlKXtlLmV4cG9ydHM9WyJWYWx1ZSJdfSw0MTYyNTcoZSl7ZS5leHBvcnRzPVsiVmFudWF0dSJdfSwxMjY3NChlKXtlLmV4cG9ydHM9WyJWZXRlcmluYXJ5IERydWdzIl19LDYxOTQ5MChlKXtlLmV4cG9ydHM9WyJWZXRlcmluYXJ5IE1lZGljYWwgRXF1aXBtZW50ICYgU3VwcGxpZXMiXX0sNzkxMzg0KGUpe2UuZXhwb3J0cz1bIlZldGVyaW5hcnkgU2VydmljZXMiXX0sNjEwNjgwKGUpe2UuZXhwb3J0cz1bIlZlZ2V0YWJsZSwgRnJ1aXQgJiBOdXQgRmFybWluZyJdfSwyNDk2ODUoZSl7ZS5leHBvcnRzPVsiVmVuZGluZyBNYWNoaW5lIFByb3ZpZGVycyJdfSw2NDM1MDMoZSl7ZS5leHBvcnRzPVsiVmVuZXp1ZWxhIl19LDM4NjU4NihlKXsKZS5leHBvcnRzPVsiVmVudHVyZSBDYXBpdGFsIl19LDg1MjIxKGUpe2UuZXhwb3J0cz1bIlZpZXRuYW0iXX0sNDIzMjA2KGUpe2UuZXhwb3J0cz1bIlZpcmdpbiBJc2xhbmRzIChCcml0aXNoKSJdfSwzMDEyMjkoZSl7ZS5leHBvcnRzPVsiVmlyZ2luIElzbGFuZHMgKFUuUy4pIl19LDUxNzg1OShlKXtlLmV4cG9ydHM9WyJWaXNpdCBUcmFkaW5nVmlldyDigJQgZmluYW5jaWFsIGNoYXJ0aW5nIHBsYXRmb3JtIGFuZCB0cmFkaW5nIGNvbW11bml0eSJdfSw2NDc0NzEoZSl7ZS5leHBvcnRzPVsiWVREIFBlcmYiXX0sODUzMTAwKGUpe2UuZXhwb3J0cz1bIllURCBQZXJmb3JtYW5jZSJdfSw3MjM2MyhlKXtlLmV4cG9ydHM9WyJZb3UgYXJlIG5vdGlmaWVkIl19LDcxNzM1MChlKXtlLmV4cG9ydHM9WyJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgaW4geW91ciBjdXJyZW50IGNvbHVtbiBzZXQuIFdvdWxkIHlvdSBsaWtlIHRvIHNhdmUgdGhlbT8iXX0sMjcwNjQ0KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBpbiB5b3VyIGN1cnJlbnQgZmlsdGVyIHNldC4gV291bGQgeW91IGxpa2UgdG8gc2F2ZSB0aGVtPyJdfSw5NjMzMTgoZSl7ZS5leHBvcnRzPVsiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGluIHlvdXIgY3VycmVudCBzY3JlZW4uIFdvdWxkIHlvdSBsaWtlIHRvIHNhdmUgdGhlbT8iXX0sMzI3MzA1KGUpe2UuZXhwb3J0cz1bIllvdSdyZSBjdXJyZW50bHkgdXNpbmcgb3VyIGxlZ2FjeSBTdG9jayBTY3JlZW5lci4gVGhpcyB2ZXJzaW9uIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgYW5kIHdvbid0IHJlY2VpdmUgYW55IHVwZGF0ZXMgb3IgZml4ZXMgbW92aW5nIGZvcndhcmQuIFRvIGNvbnRpbnVlIHNjcmVlbmluZyB3aXRoIGZ1bGwgc3BlZWQsIHJlbGlhYmlsaXR5LCBhbmQgbmV3IGZlYXR1cmVzLCBwbGVhc2Ugc3dpdGNoIHRvIG91ciBuZXcgU3RvY2sgU2NyZWVuZXIg4oCUIGJ1aWx0IGJhc2VkIG9uIHlvdXIgZmVlZGJhY2sgYW5kIHJlYWR5IHRvIHN1cHBvcnQgeW91ciB0cmFkaW5nIG5lZWRzLiBUcnVzdCB1cywgdGhlIG5ldyBzY3JlZW5lciBpcyB3b3J0aCBpdC4iXX0sMzA5NTIzKGUpe2UuZXhwb3J0cz1bIllhcm4gR29vZHMiXX0sMTgzNTY0KGUpe2UuZXhwb3J0cz1bIlllYXJseSBQZXJmIl19LDEyOTgwOShlKXtlLmV4cG9ydHM9WyJZZWFybHkgUGVyZm9ybWFuY2UiXX0sNDA5Mzg0KGUpe2UuZXhwb3J0cz1bIlllbWVuIl19LDk2NTU3MyhlKXtlLmV4cG9ydHM9WyJZZXN0ZXJkYXkiXX0sODY3MzkzKGUpe2UuZXhwb3J0cz1bIlphbWJpYSJdfSw5NTkxNTUoZSl7ZS5leHBvcnRzPVsiWmltYmFid2UiXX0sOTUwMjA3KGUpe2UuZXhwb3J0cz1bIlppbmMgT3JlIE1pbmluZyJdfSw3MjExMTgoZSl7ZS5leHBvcnRzPVsiYW5udWFsbHkiXX0sNjUzNjkoZSl7ZS5leHBvcnRzPVsiYmlsbGVkIG1vbnRobHkiXX0sMjYwMTkzKGUpe2UuZXhwb3J0cz1bImJpbGxlZCBhbm51YWxseSJdfSw1NTY1NjgoZSl7ZS5leHBvcnRzPVsibW9udGhseSJdfSw4NjM4NTIoZSl7ZS5leHBvcnRzPVsidGhyZWUgbW9udGhzIl19LDgzNTgoZSl7ZS5leHBvcnRzPVsidHJpYWwiXX0sMTUzNzY2KGUpe2UuZXhwb3J0cz1bIntwcm9QbGFuTmFtZX0gVHJpYWwiXX0sMjk1NjIwKGUpe2UuZXhwb3J0cz1bIntyZXNvbHV0aW9ufSBDSEciXX0sNjAyNjAxKGUpe2UuZXhwb3J0cz1bIntyZXNvbHV0aW9ufSBDSEcgJSJdfSw5MDY1NTQoZSl7ZS5leHBvcnRzPVsiw4VsYW5kIElzbGFuZHMiXX0sNTU0NzIyKGUpe2UuZXhwb3J0cz1bIlJlZnJlc2ggZXZlcnkgbWludXRlcyIsIlJlZnJlc2ggZXZlcnkgezB9IG1pbnV0ZXMiXX0sNjMxNDQ3KGUpe2UuZXhwb3J0cz1bIlJlZnJlc2ggZXZlcnkgc2Vjb25kIiwiUmVmcmVzaCBldmVyeSB7MH0gc2Vjb25kcyJdfSwzMjM0ODUoZSl7ZS5leHBvcnRzPVsibW9udGgiLCJtb250aHMiXX0sMjQ1MjYyKGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGRheSIsIntudW1iZXJ9IGRheXMiXX0sODI0MjE4KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGhvdXIiLCJ7bnVtYmVyfSBob3VycyJdfSw5ODM3NjQoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gaXRlbSIsIntudW1iZXJ9IGl0ZW1zIl19LDcyMDg5MyhlKXtlLmV4cG9ydHM9WyJ7bnVtYmVyfSBtb250aCIsIntudW1iZXJ9IG1vbnRocyJdfSw1NDA1NjUoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gbWF0Y2giLCJ7bnVtYmVyfSBtYXRjaGVzIl19LDcwNDk1OChlKXtlLmV4cG9ydHM9WyJ7bnVtYmVyfSBtaW51dGUiLCJ7bnVtYmVyfSBtaW51dGVzIl19LDgzMjcxNyhlKXtlLmV4cG9ydHM9WyJ7bnVtYmVyfSB3ZWVrIiwie251bWJlcn0gd2Vla3MiXX0sNDQyNjY2KGUpe2UuZXhwb3J0cz1bInllYXIiLCJ5ZWFycyJdfSwyNTg2NjcoZSl7ZS5leHBvcnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5leHBvcnRzWyIjQUFQTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFwcGxlIEluYyJdLGUuZXhwb3J0c1siI0FNRVg6U0NITy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNjaHdhYiBTaG9ydC1UZXJtIFUuUy4gVHJlYXN1cnkgRVRGIl0sZS5leHBvcnRzWyIjQU1FWDpTSFlHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hhcmVzIDAtNSBZRUFSIEhpZ2ggWWllbGQgQ29ycG9yYXRlIEJvbmQgRVRGIl0sZS5leHBvcnRzWyIjQVNYOlhBRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9BU1ggQWxsIEF1c3RyYWxpYW4gNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNBU1g6WEFULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiAyMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNBU1g6WEpPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCAyMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNBVURDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhci9DYW5hZGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNBVURDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sCmUuZXhwb3J0c1siI0FVREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQVVETlpELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxlLmV4cG9ydHNbIiNBVURSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUiXSxlLmV4cG9ydHNbIiNBVURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQkNCQTpJTVYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgTUVSVkFMIEluZGV4Il0sZS5leHBvcnRzWyIjQkNIRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDYXNoIC8gRXVybyJdLGUuZXhwb3J0c1siI0JDSFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQkVMRVg6QkVMRVgxNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJFTEVYIDE1IEluZGV4Il0sZS5leHBvcnRzWyIjQklTVDpYVTEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJJU1QgMTAwIEluZGV4Il0sZS5leHBvcnRzWyIjQklUTUVYOlhCVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciBJbmRleCJdLGUuZXhwb3J0c1siI0JNRTpJQkMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQkVYIDM1IEluZGV4Il0sZS5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQk9WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQm92ZXNwYSBJbmRleCJdLGUuZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJSQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCcmFzaWwgSW5kZXgiXSxlLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCWEwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNCTVY6Q1Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDaGluYSBTWDIwIFJUIl0sZS5leHBvcnRzWyIjQk1WOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxlLmV4cG9ydHNbIiNCTVY6TUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQk1WIElQQyBJbmRleCJdLGUuZXhwb3J0c1siI0JSTEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyYXppbGlhbiBSZWFsIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQlNFOklUSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklUSSBMdGQiXSxlLmV4cG9ydHNbIiNCU0U6U0VOU0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEJTRSBTZW5zZXggSW5kZXgiXSxlLmV4cG9ydHNbIiNCVENCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxlLmV4cG9ydHNbIiNCVENDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQlRDQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENoaW5lc2UgWXVhbiJdLGUuZXhwb3J0c1siI0JUQ0VVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBFdXJvIl0sZS5leHBvcnRzWyIjQlRDR0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyaXRpc2ggUG91bmQiXSxlLmV4cG9ydHNbIiNCVENKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQlRDS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFNvdXRoIEtvcmVhbiBXb24iXSxlLmV4cG9ydHNbIiNCVENQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gUG9saXNoIFpsb3R5Il0sZS5leHBvcnRzWyIjQlRDUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFJ1c3NpYW4gUnVibGUiXSxlLmV4cG9ydHNbIiNCVENUSEItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVGhhaSBCYWh0Il0sZS5leHBvcnRzWyIjQlRDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQlRHVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBHb2xkIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNCVkw6U1BCTFBHUFQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgLyBCVkwgUGVydSBHZW5lcmFsIEluZGV4IChQRU4pIl0sZS5leHBvcnRzWyIjQlZTUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyYXppbCBCb3Zlc3BhIEluZGV4Il0sZS5leHBvcnRzWyIjQ0FESlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQ0FEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNDQk9FOk9FWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNDQk9FOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLGUuZXhwb3J0c1siI0NCT1Q6WkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlQtQm9uZCBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ29ybiBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU295YmVhbiBNZWFsIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UOlpOMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyIxMCBZZWFyIFQtTm90ZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT2F0IEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UOlpRMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyIzMCBEYXkgRmVkZXJhbCBGdW5kcyBJbnRlcmVzdCBSYXRlIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UOlpSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSaWNlIEZ1dHVyZXMiXSwKZS5leHBvcnRzWyIjQ0JPVDpaUzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU295YmVhbiBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaVzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV2hlYXQgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NCT1RfTUlOSTpYSzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU295YmVhbiBNaW5pIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UX01JTkk6WFcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IE1pbmkgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NCT1RfTUlOSTpZTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIERvdyBKb25lcyAoJDUpIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDSEZKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIEphcGFuZXNlIFllbiJdLGUuZXhwb3J0c1siI0NIRlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNDTUU6QlRDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENNRSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FOkNCMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCdXR0ZXIgRnV0dXJlcy1DYXNoIChDb250aW51b3VzOiBDdXJyZW50IGNvbnRyYWN0IGluIGZyb250KSJdLGUuZXhwb3J0c1siI0NNRTpHRjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRmVlZGVyIENhdHRsZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FOkhFMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMZWFuIEhvZ3MgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NNRTpMRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGl2ZSBDYXR0bGUgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NNRV9NSU5JOkU3MSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEUtbWluaSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FX01JTkk6RVMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgRS1taW5pIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDTUVfTUlOSTpKNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEUtbWluaSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FX01JTkk6TlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5BU0RBUSAxMDAgRS1taW5pIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDTUVfTUlOSTpSVFkxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtTWluaSBSdXNzZWxsIDIwMDAgSW5kZXggRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NPTUVYOkFFUDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWx1bWluaXVtIEV1cm9wZWFuIFByZW1pdW0gRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NPTUVYOkFVUDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWx1bWludW0gTVcgVS5TLiBUcmFuc2FjdGlvbiBQcmVtaXVtIFBsYXR0cyAoMjVNVCkgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NPTUVYOkdDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHb2xkIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWDpIRzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ29wcGVyIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWDpTSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWF9NSU5JOlFDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLW1pbmkgQ29wcGVyIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWF9NSU5JOlFJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaWx2ZXIgKE1pbmkpIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWF9NSU5JOlFPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHb2xkIChNaW5pKSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ09QUEVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBDb3BwZXIiXSxlLmV4cG9ydHNbIiNDT1JOVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBDb3JuIl0sZS5leHBvcnRzWyIjQ09UVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBDb3R0b24iXSxlLmV4cG9ydHNbIiNDUllQVE9DQVA6VE9UQUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDcnlwdG8gVG90YWwgTWFya2V0IENhcCwgJCJdLGUuZXhwb3J0c1siI0RGTTpERk1HSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRGTSBJbmRleCJdLGUuZXhwb3J0c1siI0RKOkRKQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21wb3NpdGUgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI0RKOkRKQ0lBR0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEFncmljdWx0dXJlIENhcHBlZCBDb21wb25lbnQiXSxlLmV4cG9ydHNbIiNESjpESkNJQ0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvY29hIl0sZS5leHBvcnRzWyIjREo6REpDSUVOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBFbmVyZ3kiXSxlLmV4cG9ydHNbIiNESjpESkNJR0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEdvbGQiXSxlLmV4cG9ydHNbIiNESjpESkNJR1Itc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEdyYWlucyJdLGUuZXhwb3J0c1siI0RKOkRKQ0lJSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggTmlja2VsIl0sZS5leHBvcnRzWyIjREo6REpDSUtDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBDb2ZmZWUiXSxlLmV4cG9ydHNbIiNESjpESkNJU0Itc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFN1Z2FyIl0sZS5leHBvcnRzWyIjREo6REpDSVNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBTaWx2ZXIiXSxlLmV4cG9ydHNbIiNESjpESkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sCmUuZXhwb3J0c1siI0RKOkRKVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBUcmFuc3BvcnRhdGlvbiBBdmVyYWdlIEluZGV4Il0sZS5leHBvcnRzWyIjREo6REpVLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIFV0aWxpdHkgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI0RKOkRKVVNDTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVLlMuIENvYWwgSW5kZXgiXSxlLmV4cG9ydHNbIiNFR1g6RUdYMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFR1ggMzAgSW5kZXgiXSxlLmV4cG9ydHNbIiNFVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gQml0Y29pbiJdLGUuZXhwb3J0c1siI0VUQ0VVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBFdXJvIl0sZS5leHBvcnRzWyIjRVRDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjRVRIQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBCaXRjb2luIl0sZS5leHBvcnRzWyIjRVRIRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBFdXJvIl0sZS5leHBvcnRzWyIjRVRIR0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBCcml0aXNoIFBvdW5kIl0sZS5leHBvcnRzWyIjRVRISlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBKYXBhbmVzZSBZZW4iXSxlLmV4cG9ydHNbIiNFVEhLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFNvdXRoIEtvcmVhbiBXb24iXSxlLmV4cG9ydHNbIiNFVEhUSEItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFRoYWkgQmFodCJdLGUuZXhwb3J0c1siI0VUSFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNFVUJVTkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEJ1bmQiXSxlLmV4cG9ydHNbIiNFVVJBVUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNFVVJCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gQnJhemlsaWFuIFJlYWwiXSxlLmV4cG9ydHNbIiNFVVJDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gQ2FuYWRpYW4gRG9sbGFyIl0sZS5leHBvcnRzWyIjRVVSQ0hGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIFN3aXNzIEZyYW5jIl0sZS5leHBvcnRzWyIjRVVSR0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyaXRpc2ggUG91bmQiXSxlLmV4cG9ydHNbIiNFVVJKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjRVVSTk9LLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIE5vcndlZ2lhbiBLcm9uZSJdLGUuZXhwb3J0c1siI0VVUk5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxlLmV4cG9ydHNbIiNFVVJPTkVYVDpBRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBRVggSW5kZXgiXSxlLmV4cG9ydHNbIiNFVVJPTkVYVDpCRUwyMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJFTCAyMCBJbmRleCJdLGUuZXhwb3J0c1siI0VVUk9ORVhUOlBYMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLGUuZXhwb3J0c1siI0VVUlJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBSdXNzaWFuIFJ1YmxlIl0sZS5leHBvcnRzWyIjRVVSUlVCX1RPTS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBSdXNzaWFuIFJ1YmxlIFRPTSJdLGUuZXhwb3J0c1siI0VVUlNFSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2VkaXNoIEtyb25hIl0sZS5leHBvcnRzWyIjRVVSVFJZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIFR1cmtpc2ggTGlyYSJdLGUuZXhwb3J0c1siI0VVUlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI0VVU1RYNTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sZS5leHBvcnRzWyIjRk9SRVhDT006VVMyMDAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgU21hbGwgQ2FwIDIwMDAiXSxlLmV4cG9ydHNbIiNGUkE0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLGUuZXhwb3J0c1siI0ZSRUQ6R0RQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR3Jvc3MgRG9tZXN0aWMgUHJvZHVjdCwgMSBEZWNpbWFsIl0sZS5leHBvcnRzWyIjRlJFRDpQT1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUb3RhbCBQb3B1bGF0aW9uOiBBbGwgQWdlcyBJbmNsdWRpbmcgQXJtZWQgRm9yY2VzIE92ZXJzZWFzIl0sZS5leHBvcnRzWyIjRlJFRDpVTlJBVEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDaXZpbGlhbiBVbmVtcGxveW1lbnQgUmF0ZSJdLGUuZXhwb3J0c1siI0ZUU0VNWVg6RkJNS0xDSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZUU0UgQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLGUuZXhwb3J0c1siI0ZXQjpLVDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLZXkgVHJvbmljIENvctGALiJdLGUuZXhwb3J0c1siI0ZYOkFVUzIwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9BU1ggSW5kZXgiXSxlLmV4cG9ydHNbIiNGWDpVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI0dCUEFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBBdXN0cmFsaWFuIERvbGxhciJdLGUuZXhwb3J0c1siI0dCUENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBDYW5hZGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNHQlBDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gU3dpc3MgRnJhbmMiXSwKZS5leHBvcnRzWyIjR0JQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEV1cm8iXSxlLmV4cG9ydHNbIiNHQlBKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjR0JQTlpELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIE5ldyBaZWFsYW5kIERvbGxhciJdLGUuZXhwb3J0c1siI0dCUFBMTi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBQb2xpc2ggWmxvdHkiXSxlLmV4cG9ydHNbIiNHQlBSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUnVzc2lhbiBSdWJsZSJdLGUuZXhwb3J0c1siI0dCUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI0dFUjMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sZS5leHBvcnRzWyIjR09PRy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFscGhhYmV0IEluYyAoR29vZ2xlKSBDbGFzcyBDIl0sZS5leHBvcnRzWyIjR09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLGUuZXhwb3J0c1siI0dQVzpBQ0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBY2F1dG9nYXoiXSxlLmV4cG9ydHNbIiNHUFc6V0lHMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXSUcyMCBJbmRleCJdLGUuZXhwb3J0c1siI0hTSTpIU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgSW5kZXgiXSxlLmV4cG9ydHNbIiNJQ0VVUzpEWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXggRnV0dXJlcyJdLGUuZXhwb3J0c1siI0lEWDpDT01QT1NJVEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJRFggQ29tcG9zaXRlIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6SFNDRS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkhhbmcgU2VuZyBDaGluYSBFbnRlcnByaXNlcyBJbmRleCJdLGUuZXhwb3J0c1siI0lOREVYOkpLU0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYWthcnRhIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI0lOREVYOktMU0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6TUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlCIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6TU9ZMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gU3RveHggNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNJTkRFWDpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTVEkgSW5kZXgiXSxlLmV4cG9ydHNbIiNJTkRFWDpUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6WExZMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNoYW5naGFpIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI0lPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklPVEEgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI0pQTjIyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIDIyNSBJbmRleCJdLGUuZXhwb3J0c1siI0pQWUtSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFNvdXRoIEtvcmVhbiBXb24iXSxlLmV4cG9ydHNbIiNKUFlSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBSdXNzaWFuIFJ1YmxlIl0sZS5leHBvcnRzWyIjSlBZVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNMS09ILXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTFVLT0lMIl0sZS5leHBvcnRzWyIjTFNFOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvbGl1bSBHcm91cCBQbGMgT3JkIDFQIl0sZS5leHBvcnRzWyIjTFRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGl0ZWNvaW4gLyBCcmF6aWxpYW4gUmVhbCJdLGUuZXhwb3J0c1siI0xUQ0JUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQml0Y29pbiJdLGUuZXhwb3J0c1siI0xUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNMVU5BVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVuYSAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjTU9FWDpCUjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJlbnQgT2lsIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNNT0VYOkdBWlAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHQVpQUk9NIl0sZS5leHBvcnRzWyIjTU9FWDpJTU9FWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sZS5leHBvcnRzWyIjTU9FWDpNR05ULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUFHTklUIl0sZS5leHBvcnRzWyIjTU9FWDpNSUNFWElOREVYQ0Ytc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNT0VYIFJ1c3NpYSBJbmRleCJdLGUuZXhwb3J0c1siI01PRVg6TVgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNNT0VYOk1YMiEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNSUNFWCBJbmRleCBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTU9FWDpSSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUlRTIEluZGV4IEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNNT0VYOlJUU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXgiXSxlLmV4cG9ydHNbIiNNT0VYOlJVQUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbml0ZWQgQ29tcGFueSBSVVNBTCBQTEMiXSxlLmV4cG9ydHNbIiNNT0VYOlNCRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTQkVSQkFOSyJdLGUuZXhwb3J0c1siI01PRVg6VlRCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZUQiJdLGUuZXhwb3J0c1siI01TRlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNaWNyb3NvZnQgQ29ycC4iXSwKZS5leHBvcnRzWyIjTkFTMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIENhc2ggQ0ZEIl0sZS5leHBvcnRzWyIjTkFTREFROkFNRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFkdmFuY2VkIE1pY3JvIERldmljZXMgSW5jIl0sZS5leHBvcnRzWyIjTkFTREFROkdPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLGUuZXhwb3J0c1siI05BU0RBUTpHT09HTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFscGhhYmV0IEluYyAoR29vZ2xlKSBDbGFzcyBBIl0sZS5leHBvcnRzWyIjTkFTREFROkhHWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggSG91c2luZyBTZWN0b3IgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6SUVGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyA3LTEwIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxlLmV4cG9ydHNbIiNOQVNEQVE6SUVJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAzLTcgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLGUuZXhwb3J0c1siI05BU0RBUTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGVyaXMgSW5jIl0sZS5leHBvcnRzWyIjTkFTREFROklYSUMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgQ29tcG9zaXRlIEluZGV4Il0sZS5leHBvcnRzWyIjTkFTREFROkxDSUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMdWNpZCBHcm91cCwgSW5jLiJdLGUuZXhwb3J0c1siI05BU0RBUTpMRS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxhbmRzJyBFbmQgSW5jIl0sZS5leHBvcnRzWyIjTkFTREFROk5EWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5hc2RhcSAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6T1NYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUEhMWCBPaWwgU2VydmljZSBTZWN0b3IgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6U0hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAxLTMgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLGUuZXhwb3J0c1siI05BU0RBUTpTT1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQaGlsYWRlbHBoaWEgU2VtaWNvbmR1Y3RvciBJbmRleCJdLGUuZXhwb3J0c1siI05BU0RBUTpUTFQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIDIwKyBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sZS5leHBvcnRzWyIjTkFTREFROlVUWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggVXRpbGl0eSBTZWN0b3IgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6WEFVLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUEhMWCBHb2xkIGFuZCBTaWx2ZXIgU2VjdG9yIEluZGV4Il0sZS5leHBvcnRzWyIjTkFTREFROlpTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWnNjYWxlciBJbmMiXSxlLmV4cG9ydHNbIiNORU9VU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJORU8gLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI05HQVMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyAoSGVucnkgSHViKSJdLGUuZXhwb3J0c1siI05LWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIDIyNSBJbmRleCJdLGUuZXhwb3J0c1siI05TRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYW4gVGVsZXBob25lIEluZHVzdHJpZXMgTGltaXRlZCJdLGUuZXhwb3J0c1siI05TRTpOSUZUWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5pZnR5IDUwIEluZGV4Il0sZS5leHBvcnRzWyIjTllNRVg6QUVaMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOWSBFdGhhbm9sIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpDSjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ29jb2EgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYOkNMMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaWdodCBDcnVkZSBPaWwgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYOkhPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOWSBIYXJib3IgVUxTRCBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTllNRVg6S1QxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvZmZlZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTllNRVg6TkcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5hdHVyYWwgR2FzIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpQQTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGFsbGFkaXVtIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpQTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGxhdGludW0gRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYOlJCMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSQk9CIEdhc29saW5lIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpUVDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ290dG9uIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWF9NSU5JOlFHMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLW1pbmkgTmF0dXJhbCBHYXMgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYX01JTkk6UU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBMaWdodCBDcnVkZSBPaWwgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYX01JTkk6UVUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBHYXNvbGluZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTllTRTpCQUJBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxpYmFiYSBHcm91cCBIb2xkaW5ncyBMdGQuIl0sZS5leHBvcnRzWyIjTllTRTpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRk9SRCBNVFIgQ08gREVMIl0sZS5leHBvcnRzWyIjTllTRTpIRS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkhhd2FpaWFuIEVsZWN0cmljIEluZHVzdHJpZXMiXSxlLmV4cG9ydHNbIiNOWVNFOk5ZQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQ29tcG9zaXRlIEluZGV4Il0sZS5leHBvcnRzWyIjTllTRTpQQlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQRVRST0xFTyBCUkFTSUxFSVJPIFNBIFBFVFJPQlIiXSxlLmV4cG9ydHNbIiNOWVNFOlhBWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFNRVggQ29tcG9zaXRlIEluZGV4Il0sCmUuZXhwb3J0c1siI05ZU0U6WE1JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBBUkNBIE1ham9yIE1hcmtldCBJbmRleCJdLGUuZXhwb3J0c1siI05aREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIERvbGxhciAvIEphcGFuZXNlIFllbiJdLGUuZXhwb3J0c1siI05aRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIERvbGxhciAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjTlpYOkFMTEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvTlpYIEFsbCBJbmRleCAoQ2FwaXRhbCBJbmRleCkiXSxlLmV4cG9ydHNbIiNOWlg6Tlo1MEctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgLyBOWlggNTAgSW5kZXggR3Jvc3MiXSxlLmV4cG9ydHNbIiNPQU5EQTpOQVRHQVNVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIE5hdHVyYWwgR2FzIl0sZS5leHBvcnRzWyIjT0FOREE6U1BYNTAwVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLGUuZXhwb3J0c1siI09BTkRBOlhDVVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIChVUyQgLyBsYikiXSxlLmV4cG9ydHNbIiNPTVhDT1A6T01YQzI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIENvcGVuaGFnZW4gMjUgSW5kZXgiXSxlLmV4cG9ydHNbIiNPTVhDT1A6U0NITy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNjaG91dyAmIENvIEEvUyJdLGUuZXhwb3J0c1siI09NWEhFWDpPTVhIMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPTVggSGVsc2lua2kgMjUgSW5kZXgiXSxlLmV4cG9ydHNbIiNPTVhSU0U6T01YUkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFJpZ2EgR3Jvc3MgSW5kZXgiXSxlLmV4cG9ydHNbIiNPTVhTVE86T01YUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFN0b2NraG9sbSAzMCBJbmRleCJdLGUuZXhwb3J0c1siI09NWFRTRTpPTVhUR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPTVggVGFsbGlubiBHcm9zcyBJbmRleCJdLGUuZXhwb3J0c1siI09NWFZTRTpPTVhWR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPTVggVmlsbml1cyBHcm9zcyBJbmRleCJdLGUuZXhwb3J0c1siI09UQzpJSFJNRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgTVNDSSBKYXBhbiBTSFMiXSxlLmV4cG9ydHNbIiNRU0U6R05SSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlFFIEluZGV4Il0sZS5leHBvcnRzWyIjUlRTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2lhbiBSVFMgSW5kZXgiXSxlLmV4cG9ydHNbIiNSVVNTRUxMOlJVQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMzAwMCBJbmRleCJdLGUuZXhwb3J0c1siI1JVU1NFTEw6UlVJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAxMDAwIEluZGV4Il0sZS5leHBvcnRzWyIjUlVTU0VMTDpSVVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDIwMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNTRVQ6R0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHbG9iYWwgQ29ubmVjdGlvbnMgUHVibGljIENvbXBhbnkiXSxlLmV4cG9ydHNbIiNTSVg6Ri1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZvcmQgTW90b3IgQ29tcGFueSJdLGUuZXhwb3J0c1siI1NJWDpTTUktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBNYXJrZXQgSW5kZXgiXSxlLmV4cG9ydHNbIiNTT0xVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb2xhbmEgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI1NPWUJOVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBTb3liZWFucyJdLGUuZXhwb3J0c1siI1NQOk9FWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNTUDpTUEdTQ0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgR29sZG1hbiBTYWNocyBDb21tb2RpdHkgSW5kZXgiXSxlLmV4cG9ydHNbIiNTUDpTUFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sZS5leHBvcnRzWyIjU1A6U1ZYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBWYWx1ZSBJbmRleCJdLGUuZXhwb3J0c1siI1NQWDUwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNTVUdBUlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU3VnYXIiXSxlLmV4cG9ydHNbIiNTWlNFOjM5OTAwMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNoZW56aGVuIENvbXBvbmVudCBJbmRleCJdLGUuZXhwb3J0c1siI1RBREFXVUw6MjM3MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pZGRsZSBFYXN0IFNwZWNpYWxpemVkIENhYmxlcyBDby4iXSxlLmV4cG9ydHNbIiNUQURBV1VMOlRBU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUYWRhd3VsIEFsbCBTaGFyZXMgSW5kZXgiXSxlLmV4cG9ydHNbIiNUQVNFOlRBMzUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUQS0zNSBJbmRleCJdLGUuZXhwb3J0c1siI1RTWDpUU1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI1RTWDpUWDYwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL1RTWCA2MCBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpBVTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6QVUxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpBWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciBDdXJyZW5jeSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpCWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIEN1cnJlbmN5IEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOkNBMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLAplLmV4cG9ydHNbIiNUVkM6Q0ExMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOkNBQzQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOkNOMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDaGluYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOkNOMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpDWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6REUxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOkRFMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2VybWFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6REVVMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6REpJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpEWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpFUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3BhaW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpFUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6RVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sZS5leHBvcnRzWyIjVFZDOkVYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQ3VycmVuY3kgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6RlIxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOkZSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRnJhbmNlIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6RlRNSUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNaWxhbm8gSXRhbGlhIEJvcnNhIEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOkdCMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxlLmV4cG9ydHNbIiNUVkM6R0IxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVLIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6R0IxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOkdPTEQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIEdvbGQgKFVTJCAvIE9aKSJdLGUuZXhwb3J0c1siI1RWQzpIU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6SUJFWDM1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpJRDAzLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMyBZUiJdLGUuZXhwb3J0c1siI1RWQzpJRDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6SUQxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRvbmVzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpJTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpJTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6SVQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkl0YWx5IEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6SVQxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOklYSUMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBDb21wb3NpdGUgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6SlAxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6SlAxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOkpYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBDdXJyZW5jeSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpLT1NQSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktvcmVhIENvbXBvc2l0ZSBTdG9jayBQcmljZSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpLUjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpLUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktvcmVhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6TVkxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6TVkxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNYWxheXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOk5EWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpOSTIyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIDIyNSBJbmRleCJdLAplLmV4cG9ydHNbIiNUVkM6TkwxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOk5MMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV0aGVybGFuZHMgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpOWUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOWVNFIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpOWjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcywgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6TloxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlBBTExBRElVTS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIChVUyQgLyBPWikiXSxlLmV4cG9ydHNbIiNUVkM6UEwwNVktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb2xhbmQgR292ZXJubWVudCBCb25kcyA1IFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlBMMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6UExBVElOVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBsYXRpbnVtIChVUyQgLyBPWikiXSxlLmV4cG9ydHNbIiNUVkM6UFQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvcnR1Z2FsIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6UFQxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlNBNDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3V0aCBBZnJpY2EgVG9wIDQwIEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOlNJTFZFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU2lsdmVyIChVUyQgLyBPWikiXSxlLmV4cG9ydHNbIiNUVkM6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpTU01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOlNUSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN0cmFpdHMgVGltZXMgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6U1g1RS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gU3RveHggNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6U1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgQ3VycmVuY3kgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6VFIxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOlRSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVHVya2V5IEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6VUtPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIEJyZW50IENydWRlIE9pbCJdLGUuZXhwb3J0c1siI1RWQzpVS1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6VVMwMi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMiBZUiJdLGUuZXhwb3J0c1siI1RWQzpVUzAyWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMiBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpVUzA1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyA1IFlSIl0sZS5leHBvcnRzWyIjVFZDOlVTMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyA1IFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlVTMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOlVTMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAzMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpVU09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gV1RJIENydWRlIE9pbCJdLGUuZXhwb3J0c1siI1RWQzpWSVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJWb2xhdGlsaXR5IFMmUCA1MDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6WlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sZS5leHBvcnRzWyIjVFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLGUuZXhwb3J0c1siI1RXU0U6VEFJRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUYWl3YW4gQ2FwaXRhbGl6YXRpb24gV2VpZ2h0ZWQgU3RvY2sgSW5kZXgiXSxlLmV4cG9ydHNbIiNUV1RSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVHdpdHRlciBJbmMiXSxlLmV4cG9ydHNbIiNVSzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZUU0UgMTAwIEluZGV4Il0sZS5leHBvcnRzWyIjVUtPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoQnJlbnQpIl0sZS5leHBvcnRzWyIjVU5JVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVW5pc3dhcCAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjVVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxlLmV4cG9ydHNbIiNVU0RBVUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sZS5leHBvcnRzWyIjVVNEQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBCcmF6aWxpYW4gUmVhbCJdLAplLmV4cG9ydHNbIiNVU0RDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIENhbmFkaWFuIERvbGxhciJdLGUuZXhwb3J0c1siI1VTRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxlLmV4cG9ydHNbIiNVU0RDTlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIENoaW5lc2UgWXVhbiJdLGUuZXhwb3J0c1siI1VTRERLSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRGFuaXNoIEtyb25lIl0sZS5leHBvcnRzWyIjVVNERVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBFdXJvIl0sZS5leHBvcnRzWyIjVVNER0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQb3VuZCBTdGVybGluZyJdLGUuZXhwb3J0c1siI1VTREhLRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSG9uZyBLb25nIERvbGxhciJdLGUuZXhwb3J0c1siI1VTREhVRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSHVuZ2FyaWFuIEZvcmludCJdLGUuZXhwb3J0c1siI1VTRElEUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVwaWFoIl0sZS5leHBvcnRzWyIjVVNESUxTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBJc3JhZWxpIFNoZWtlbCJdLGUuZXhwb3J0c1siI1VTRElOUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSW5kaWFuIFJ1cGVlIl0sZS5leHBvcnRzWyIjVVNESlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxlLmV4cG9ydHNbIiNVU0RLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFNvdXRoIEtvcmVhbiJdLGUuZXhwb3J0c1siI1VTRE1YTi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTWV4aWNhbiBQZXNvIl0sZS5leHBvcnRzWyIjVVNETlpELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxlLmV4cG9ydHNbIiNVU0RQSFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBoaWxpcHBpbmUgcGVzbyJdLGUuZXhwb3J0c1siI1VTRFBMTi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG9saXNoIFpsb3R5Il0sZS5leHBvcnRzWyIjVVNEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sZS5leHBvcnRzWyIjVVNEUlVCX1RPTS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxlLmV4cG9ydHNbIiNVU0RTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3ZWRpc2ggS3JvbmEiXSxlLmV4cG9ydHNbIiNVU0RTR0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFNpbmdhcG9yZSBEb2xsYXIiXSxlLmV4cG9ydHNbIiNVU0RUSEItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFRoYWkgQmFodCJdLGUuZXhwb3J0c1siI1VTRFRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gVHVya2lzaCBMaXJhIl0sZS5leHBvcnRzWyIjVVNEWkFSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBBZnJpY2FuIFJhbmQiXSxlLmV4cG9ydHNbIiNVU09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChXVEkpIl0sZS5leHBvcnRzWyIjV0hFQVRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdoZWF0Il0sZS5leHBvcnRzWyIjWEFHVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNYQVVVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHb2xkIFNwb3QgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI1hCVENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDYW5hZGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNYRVRSOkRBWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLGUuZXhwb3J0c1siI1hNUlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1vbmVybyAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjWFBEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQYWxsYWRpdW0iXSxlLmV4cG9ydHNbIiNYUFRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQbGF0aW51bSAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjWFJQQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gQml0Y29pbiJdLGUuZXhwb3J0c1siI1hSUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIEV1cm8iXSxlLmV4cG9ydHNbIiNYUlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI1pFQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpjYXNoIC8gVS5TLiBEb2xsYXIiXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCPEAQ.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.582Z","timestamp":1785136905582,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCPEAQ.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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-screener.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://huobiget.com/","date":"2026-07-27T07:21:39.503Z","timestamp":1785136899503,"http_version":"HTTP/2","security_state":"secure","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-screener.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:39 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: \"1d1f8c8f959c6dfe16b5df875e3e6a20\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:26 GMT\r\nx-amz-id-2: z1oVUttC/UDTwi3gP9YBvln7R7QFgsd4g7jFu86Gf4xU8/4TWLGvQfDPmoH3DpF5VQ86I3Q3ZAwZs5xruP5dGQd/8iesC53t\r\nx-amz-request-id: 9YC20ASXZHS8PJ27\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: Dm0spBzLYd1nkuHWUau.UrjMnrL5T__C\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 11:04:04\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dee2b3c3fa047cd74fb53ca0732ff703\r\ncdn-cache: REVALIDATED\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":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":13242,"size_decoded":6026,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"1d1f8c8f959c6dfe16b5df875e3e6a20","sha1":"05c8ccc14d187d3f57e68109996ffb71835de5a8","sha256":"362c5302b447aa33060156e760f193574c506b4bcbcce3d720c0422a830da740","sha512":"66818bdae0d6b15dd9e97bd4ab64b6396595b2f685c5643165618cfce9f13699a12db224ea81c51e78e303be467795c01dd25084441a89c487fab2fcfb37882c","ssdeep":"384:gfLuCWoofYkFdjEUjrb2oNf0qIOj26eoVH7MXt:u4MUnb2oJDIOj26eQYXt","tlshash":"f452c6aab660ecbd41d945cbe07a2720b61d3a44b207eca4b5acd4c550edccca531f7e","first_seen":"2026-07-16T20:48:56.348973Z","last_seen":"2026-08-10T05:01:44.136894Z","times_seen":335,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3Qgcj1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIGksczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KGl8fChpPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLG89Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpvfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBjPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gclt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30scj17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0saT1PYmplY3Qua2V5cyhyKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIGkuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1yW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KHIpe2NvbnN0e3NjcmlwdFVSTDppLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczpvLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PXIsaD1sfHxmdW5jdGlvbih0LGU9Yyl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHsocj10Lmhvc3QsaT0zLHIuc3BsaXQoIi4iKS5zbGljZSgtaSkuam9pbigiLiIpKS5yZXBsYWNlKC9eYmV0YTAoPz1cLnhzdGFnaW5nXC50diQpL2ksImJldGEwLXhzdGFnaW5nIikucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9dmFyIHIsaTtyZXR1cm4gZS53aWRnZXRIb3N0fShpKSxkPW4ucGFyZW50Tm9kZTtvJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihvLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxyPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLGk9ZXx8cjtyZXR1cm4gaSYmdC5yZW1vdmVDaGlsZChpKSxpfShkKSxtPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8bTtjb25zdCBwPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmcD9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobykpLG8mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyh0aGlzLmRlZmF1bHRTZXR0aW5ncykpCjtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxTPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxiPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1iJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Yiksdm9pZCAwIT09UyYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1TKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixfPWxvY2F0aW9uLmhvc3RuYW1lLFQ9bT8id2lkZ2V0X25ldyI6IndpZGdldCIsQz10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Xyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09VCx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1DLHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoXyxULEMpO2NvbnN0IGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGgsYSxrLEEpLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoaCksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgRT10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoRT8odChFLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxFKSxuPy5yZW1vdmUoKSk6cD8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUscil7Y29uc3QgaT1lLmNvbnRlbnRXaW5kb3c7aWYoIWkpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09aSYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZyKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1iJiYodC5zdHlsZS53aWR0aD1iKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIix0LnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIsdC5pbm5lckhUTUw9dS5pbm5lckhUTUwsCnRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IHI9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChyKT9wYXJzZUludChyKTovXihcZCslfGF1dG8pJC8udGVzdChyKT9yOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxyPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1yJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PXIsITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09aC5pbmRleE9mKHQpKSkscj1mdW5jdGlvbih0LGUpe2NvbnN0IHI9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCBpIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihyW2ldPXRbaV0pO3JldHVybiByfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLGldb2YgT2JqZWN0LmVudHJpZXMocikpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUsaSl9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCByPXt9O2UmJihyLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoclt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoclsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKHIpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShyKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUscixpLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7ciYmKG4uaWQ9ciksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBvPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobyksdGhpcy5fc2V0SGFzaFN0cmluZyhvLHIpLG4uc2V0QXR0cmlidXRlKCJzcmMiLG8udG9TdHJpbmcoKSksbi50aXRsZT1pLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IHI9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsci5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLHIpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3QgaT10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO2kmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IHM9aS5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixyKSxpLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19bmV3IGNsYXNzIGV4dGVuZHMgZHtnZXQgd2lkZ2V0SWQoKXtjb25zdCB0PXRoaXMuc2V0dGluZ3M7cmV0dXJuIHQmJiJjcnlwdG9fbWt0Ij09PXQuc2NyZWVuZXJfdHlwZT8iY3J5cHRvLW1rdC1zY3JlZW5lciI6InNjcmVlbmVyIn1nZXQgdXNlU25vd3Bsb3dQYWdlVmlldygpe3JldHVybiEwfXdpZGdldFV0bU5hbWUoKXtjb25zdCB0PXRoaXMuc2V0dGluZ3M7aWYodCl7aWYoImZvcmV4Ij09PXQubWFya2V0KXJldHVybiJmb3JleHNjcmVlbmVyIjtpZigiY3J5cHRvX21rdCI9PT10LnNjcmVlbmVyX3R5cGUpcmV0dXJuImNyeXB0b21rdHNjcmVlbmVyIjtpZigiY3J5cHRvIj09PXQubWFya2V0KXJldHVybiJjcnlwdG9zY3JlZW5lciJ9cmV0dXJuInNjcmVlbmVyIn1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXsKcmV0dXJuWyJjb2xvclRoZW1lIiwiY3VzdG9tZXIiLCJkZWZhdWx0Q29sdW1uIiwiZGVmYXVsdFNjcmVlbiIsImRpc3BsYXlDdXJyZW5jeSIsImhlaWdodCIsImxhcmdlQ2hhcnRVcmwiLCJsb2NhbGUiLCJtYXJrZXQiLCJzY3JlZW5lcl90eXBlIiwic2hvd1Rvb2xiYXIiLCJpc1RyYW5zcGFyZW50Iiwid2lkdGgiXX1maWx0ZXJSYXdTZXR0aW5ncyh0KXtjb25zdCBlPXN1cGVyLmZpbHRlclJhd1NldHRpbmdzKHQpO3JldHVybiB2b2lkIDAhPT10LnRyYW5zcGFyZW5jeSYmKGUuaXNUcmFuc3BhcmVudD10LnRyYW5zcGFyZW5jeSksImNyeXB0b19ta3QiPT09ZS5zY3JlZW5lcl90eXBlJiYoZS5tYXJrZXQ9ImNyeXB0byIpLGUuZW5hYmxlU2Nyb2xsaW5nPSEwLGV9fX0pKCk7"}},"time_used":360,"timings":{"blocked":-1,"dns":7,"connect":2,"send":0,"wait":134,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.979Z","timestamp":1785136900979,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: e7f67d3f266d486c4de9af797b9a6293\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":88966,"size_decoded":33771,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-08-10T05:01:44.114381Z","times_seen":2726,"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/76577.f73a01e1f00043622b65.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.982Z","timestamp":1785136900982,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/76577.f73a01e1f00043622b65.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-12b22\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:20:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c7e0d40fb32bab604a9e4b544d515565\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":76578,"size_decoded":29340,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"6a57b1deb31991bb129476b06e9cad11","sha1":"d00dffa870d90063d146679279b23729d7cc0bb2","sha256":"4ba69451c43dc3871ed3f2b689d739650d0189c1095c65a1e4c3050c3ca9a662","sha512":"73f9b1560727a29f3cfe717e938a390645a6bb2cae109ebddc8e909a042a048adc3d51bccd2be01a77a3839b742c0edf3283489d06d79bb43e3d75bc2974df1e","ssdeep":"768:VXEgvhG7/2KArEGBxc1lmprTmMAo58FRGdfycQKRAppcS+oLAMzpOXYq9EqLN6e:V5G7/0r9HqlmprTmMAw8FRGdfycNAgVf","tlshash":"7873f8cdb281b46546e7a1b0803f550bf23a6998700d8488f235e8e97c7ca5ea177f7d","first_seen":"2026-07-25T03:24:57.112206Z","last_seen":"2026-07-28T04:58:41.945434Z","times_seen":292,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3NjU3N10sezEzMDY5OSh0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLHtjb25maWd1cmVTdG9yZTooKT0+TyxjcmVhdGVBc3luY1RodW5rOigpPT5qLGNyZWF0ZVNsaWNlOigpPT5rfSk7dmFyIGkscj1uKDMyNzIzOSksbz0obigzNjQzNTApLG4oNzg3NzI0KSkscz1uKDk1Mzc0OSksYT0oaT1mdW5jdGlvbih0LGUpe3JldHVybiBpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG4pJiYodFtuXT1lW25dKX0saSh0LGUpfSxmdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGUpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9aSh0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KG4ucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyBuKX0pLHU9ZnVuY3Rpb24odCxlKXt2YXIgbixpLHIsbyxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJnJbMF0pdGhyb3cgclsxXTtyZXR1cm4gclsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBvPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBhKG8pe3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24obyl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtzOyl0cnl7aWYobj0xLGkmJihyPTImb1swXT9pLnJldHVybjpvWzBdP2kudGhyb3d8fCgocj1pLnJldHVybikmJnIuY2FsbChpKSwwKTppLm5leHQpJiYhKHI9ci5jYWxsKGksb1sxXSkpLmRvbmUpcmV0dXJuIHI7c3dpdGNoKGk9MCxyJiYobz1bMiZvWzBdLHIudmFsdWVdKSxvWzBdKXtjYXNlIDA6Y2FzZSAxOnI9bzticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6b1sxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLGk9b1sxXSxvPVswXTtjb250aW51ZTtjYXNlIDc6bz1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKHI9cy50cnlzLChyPXIubGVuZ3RoPjAmJnJbci5sZW5ndGgtMV0pfHw2IT09b1swXSYmMiE9PW9bMF0pKXtzPTA7Y29udGludWV9aWYoMz09PW9bMF0mJighcnx8b1sxXT5yWzBdJiZvWzFdPHJbM10pKXtzLmxhYmVsPW9bMV07YnJlYWt9aWYoNj09PW9bMF0mJnMubGFiZWw8clsxXSl7cy5sYWJlbD1yWzFdLHI9bzticmVha31pZihyJiZzLmxhYmVsPHJbMl0pe3MubGFiZWw9clsyXSxzLm9wcy5wdXNoKG8pO2JyZWFrfXJbMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1vPWUuY2FsbCh0LHMpfWNhdGNoKHQpe289WzYsdF0saT0wfWZpbmFsbHl7bj1yPTB9aWYoNSZvWzBdKXRocm93IG9bMV07cmV0dXJue3ZhbHVlOm9bMF0/b1sxXTp2b2lkIDAsZG9uZTohMH19KFtvLGFdKX19fSxsPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTAsaT1lLmxlbmd0aCxyPXQubGVuZ3RoO248aTtuKysscisrKXRbcl09ZVtuXTtyZXR1cm4gdH0sYz1PYmplY3QuZGVmaW5lUHJvcGVydHksZj1PYmplY3QuZGVmaW5lUHJvcGVydGllcyxoPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLGQ9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxwPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksdj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLGc9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlIGluIHQ/Yyh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTp0W2VdPW59LG09ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZXx8KGU9e30pKXAuY2FsbChlLG4pJiZnKHQsbixlW25dKTtpZihkKWZvcih2YXIgaT0wLHI9ZChlKTtpPHIubGVuZ3RoO2krKyl7bj1yW2ldO3YuY2FsbChlLG4pJiZnKHQsbixlW25dKX1yZXR1cm4gdH0seT1mdW5jdGlvbih0LGUpe3JldHVybiBmKHQsaChlKSl9LGI9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9DT01QT1NFX18/d2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX0NPTVBPU0VfXzpmdW5jdGlvbigpe2lmKDAhPT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiJvYmplY3QiPT10eXBlb2YgYXJndW1lbnRzWzBdP28uY29tcG9zZTpvLmNvbXBvc2UuYXBwbHkobnVsbCxhcmd1bWVudHMpfTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18mJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fO2Z1bmN0aW9uIF8odCl7aWYoIm9iamVjdCIhPXR5cGVvZiB0fHxudWxsPT09dClyZXR1cm4hMTtmb3IodmFyIGU9dDtudWxsIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpOyllPU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09ZX12YXIgdz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7Zm9yKHZhciBuPVtdLGk9MDtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKW5baV09YXJndW1lbnRzW2ldO3ZhciByPXQuYXBwbHkodGhpcyxuKXx8dGhpcztyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKHIsZS5wcm90b3R5cGUpLHJ9cmV0dXJuIGEoZSx0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wuc3BlY2llcyx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksCmUucHJvdG90eXBlLmNvbmNhdD1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gdC5wcm90b3R5cGUuY29uY2F0LmFwcGx5KHRoaXMsZSl9LGUucHJvdG90eXBlLnByZXBlbmQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuXT1hcmd1bWVudHNbbl07cmV0dXJuIDE9PT10Lmxlbmd0aCYmQXJyYXkuaXNBcnJheSh0WzBdKT9uZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0WzBdLmNvbmNhdCh0aGlzKSkpKTpuZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0LmNvbmNhdCh0aGlzKSkpKX0sZX0oQXJyYXkpO2Z1bmN0aW9uIHgoKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10LnRodW5rLG49dm9pZCAwPT09ZXx8ZSxpPSh0LmltbXV0YWJsZUNoZWNrLHQuc2VyaWFsaXphYmxlQ2hlY2ssbmV3IHcpO24mJigiYm9vbGVhbiI9PXR5cGVvZiBuP2kucHVzaChzLmRlZmF1bHQpOmkucHVzaChzLmRlZmF1bHQud2l0aEV4dHJhQXJndW1lbnQobi5leHRyYUFyZ3VtZW50KSkpOzA7cmV0dXJuIGl9KHQpfX1mdW5jdGlvbiBPKHQpe3ZhciBlLG49eCgpLGk9dHx8e30scj1pLnJlZHVjZXIscz12b2lkIDA9PT1yP3ZvaWQgMDpyLGE9aS5taWRkbGV3YXJlLHU9dm9pZCAwPT09YT9uKCk6YSxjPWkuZGV2VG9vbHMsZj12b2lkIDA9PT1jfHxjLGg9aS5wcmVsb2FkZWRTdGF0ZSxkPXZvaWQgMD09PWg/dm9pZCAwOmgscD1pLmVuaGFuY2Vycyx2PXZvaWQgMD09PXA/dm9pZCAwOnA7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpZT1zO2Vsc2V7aWYoIV8ocykpdGhyb3cgbmV3IEVycm9yKCcicmVkdWNlciIgaXMgYSByZXF1aXJlZCBhcmd1bWVudCwgYW5kIG11c3QgYmUgYSBmdW5jdGlvbiBvciBhbiBvYmplY3Qgb2YgZnVuY3Rpb25zIHRoYXQgY2FuIGJlIHBhc3NlZCB0byBjb21iaW5lUmVkdWNlcnMnKTtlPSgwLG8uY29tYmluZVJlZHVjZXJzKShzKX12YXIgZz11OyJmdW5jdGlvbiI9PXR5cGVvZiBnJiYoZz1nKG4pKTt2YXIgeT1vLmFwcGx5TWlkZGxld2FyZS5hcHBseSh2b2lkIDAsZyksdz1vLmNvbXBvc2U7ZiYmKHc9YihtKHt0cmFjZTohMX0sIm9iamVjdCI9PXR5cGVvZiBmJiZmKSkpO3ZhciBPPVt5XTtBcnJheS5pc0FycmF5KHYpP089bChbeV0sdik6ImZ1bmN0aW9uIj09dHlwZW9mIHYmJihPPXYoTykpO3ZhciBFPXcuYXBwbHkodm9pZCAwLE8pO3JldHVybigwLG8uY3JlYXRlU3RvcmUpKGUsZCxFKX1mdW5jdGlvbiBFKHQsZSl7ZnVuY3Rpb24gbigpe2Zvcih2YXIgbj1bXSxpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKyluW2ldPWFyZ3VtZW50c1tpXTtpZihlKXt2YXIgcj1lLmFwcGx5KHZvaWQgMCxuKTtpZighcil0aHJvdyBuZXcgRXJyb3IoInByZXBhcmVBY3Rpb24gZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0Iik7cmV0dXJuIG0obSh7dHlwZTp0LHBheWxvYWQ6ci5wYXlsb2FkfSwibWV0YSJpbiByJiZ7bWV0YTpyLm1ldGF9KSwiZXJyb3IiaW4gciYme2Vycm9yOnIuZXJyb3J9KX1yZXR1cm57dHlwZTp0LHBheWxvYWQ6blswXX19cmV0dXJuIG4udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit0fSxuLnR5cGU9dCxuLm1hdGNoPWZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT10fSxufWZ1bmN0aW9uIEModCl7dmFyIGUsbj17fSxpPVtdLHI9e2FkZENhc2U6ZnVuY3Rpb24odCxlKXt2YXIgaT0ic3RyaW5nIj09dHlwZW9mIHQ/dDp0LnR5cGU7aWYoaSBpbiBuKXRocm93IG5ldyBFcnJvcigiYWRkQ2FzZSBjYW5ub3QgYmUgY2FsbGVkIHdpdGggdHdvIHJlZHVjZXJzIGZvciB0aGUgc2FtZSBhY3Rpb24gdHlwZSIpO3JldHVybiBuW2ldPWUscn0sYWRkTWF0Y2hlcjpmdW5jdGlvbih0LGUpe3JldHVybiBpLnB1c2goe21hdGNoZXI6dCxyZWR1Y2VyOmV9KSxyfSxhZGREZWZhdWx0Q2FzZTpmdW5jdGlvbih0KXtyZXR1cm4gZT10LHJ9fTtyZXR1cm4gdChyKSxbbixpLGVdfWZ1bmN0aW9uIGsodCl7dmFyIGU9dC5uYW1lLG49dC5pbml0aWFsU3RhdGU7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJgbmFtZWAgaXMgYSByZXF1aXJlZCBvcHRpb24gZm9yIGNyZWF0ZVNsaWNlIik7dmFyIGk9dC5yZWR1Y2Vyc3x8e30sbz0iZnVuY3Rpb24iPT10eXBlb2YgdC5leHRyYVJlZHVjZXJzP0ModC5leHRyYVJlZHVjZXJzKTpbdC5leHRyYVJlZHVjZXJzXSxzPW9bMF0sYT12b2lkIDA9PT1zP3t9OnMsdT1vWzFdLGM9dm9pZCAwPT09dT9bXTp1LGY9b1syXSxoPXZvaWQgMD09PWY/dm9pZCAwOmYsZD1PYmplY3Qua2V5cyhpKSxwPXt9LHY9e30sZz17fTtkLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBuLHIsbz1pW3RdLHM9ZSsiLyIrdDsicmVkdWNlciJpbiBvPyhuPW8ucmVkdWNlcixyPW8ucHJlcGFyZSk6bj1vLHBbdF09bix2W3NdPW4sZ1t0XT1yP0UocyxyKTpFKHMpfSkpO3ZhciB5PWZ1bmN0aW9uKHQsZSxuLGkpe3ZvaWQgMD09PW4mJihuPVtdKTt2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgZT9DKGUpOltlLG4saV0scz1vWzBdLGE9b1sxXSx1PW9bMl0sYz0oMCxyLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKCl7fSkpO3JldHVybiBmdW5jdGlvbih0LGUpe3ZvaWQgMD09PXQmJih0PWMpO3ZhciBuPWwoW3NbZS50eXBlXV0sYS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybigwLHQubWF0Y2hlcikoZSl9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2VyfSkpKTtyZXR1cm4gMD09PW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4hIXR9KSkubGVuZ3RoJiYobj1bdV0pLG4ucmVkdWNlKChmdW5jdGlvbih0LG4pe2lmKG4pe3ZhciBpO2lmKCgwLHIuaXNEcmFmdCkodCkpcmV0dXJuIHZvaWQgMD09PShpPW4odCxlKSk/dDppO2lmKCgwLHIuaXNEcmFmdGFibGUpKHQpKXJldHVybigwLHIuZGVmYXVsdCkodCwoZnVuY3Rpb24odCl7cmV0dXJuIG4odCxlKX0pKTtpZih2b2lkIDA9PT0oaT1uKHQsZSkpKXtpZihudWxsPT09dClyZXR1cm4gdAo7dGhyb3cgRXJyb3IoIkEgY2FzZSByZWR1Y2VyIG9uIGEgbm9uLWRyYWZ0YWJsZSB2YWx1ZSBtdXN0IG5vdCByZXR1cm4gdW5kZWZpbmVkIil9cmV0dXJuIGl9cmV0dXJuIHR9KSx0KX19KG4sbShtKHt9LGEpLHYpLGMsaCk7cmV0dXJue25hbWU6ZSxyZWR1Y2VyOnksYWN0aW9uczpnLGNhc2VSZWR1Y2VyczpwfX12YXIgUz1mdW5jdGlvbih0KXt2b2lkIDA9PT10JiYodD0yMSk7Zm9yKHZhciBlPSIiLG49dDtuLS07KWUrPSJNb2R1bGVTeW1iaGFzT3duUHItMDEyMzQ1Njc4OUFCQ0RFRkdITlJWZmdjdGlVdnpfS3FZVEprTHhwWlhJalFXIls2NCpNYXRoLnJhbmRvbSgpfDBdO3JldHVybiBlfSxEPVsibmFtZSIsIm1lc3NhZ2UiLCJzdGFjayIsImNvZGUiXSxNPWZ1bmN0aW9uKHQsZSl7dGhpcy5wYXlsb2FkPXQsdGhpcy5tZXRhPWV9LFA9ZnVuY3Rpb24odCxlKXt0aGlzLnBheWxvYWQ9dCx0aGlzLm1ldGE9ZX0sQT1mdW5jdGlvbih0KXtpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtmb3IodmFyIGU9e30sbj0wLGk9RDtuPGkubGVuZ3RoO24rKyl7dmFyIHI9aVtuXTsic3RyaW5nIj09dHlwZW9mIHRbcl0mJihlW3JdPXRbcl0pfXJldHVybiBlfXJldHVybnttZXNzYWdlOlN0cmluZyh0KX19O2Z1bmN0aW9uIGoodCxlLG4pe3ZhciBpPUUodCsiL2Z1bGZpbGxlZCIsKGZ1bmN0aW9uKHQsZSxuLGkpe3JldHVybntwYXlsb2FkOnQsbWV0YTp5KG0oe30saXx8e30pLHthcmc6bixyZXF1ZXN0SWQ6ZSxyZXF1ZXN0U3RhdHVzOiJmdWxmaWxsZWQifSl9fSkpLHI9RSh0KyIvcGVuZGluZyIsKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm57cGF5bG9hZDp2b2lkIDAsbWV0YTp5KG0oe30sbnx8e30pLHthcmc6ZSxyZXF1ZXN0SWQ6dCxyZXF1ZXN0U3RhdHVzOiJwZW5kaW5nIn0pfX0pKSxvPUUodCsiL3JlamVjdGVkIiwoZnVuY3Rpb24odCxlLGkscixvKXtyZXR1cm57cGF5bG9hZDpyLGVycm9yOihuJiZuLnNlcmlhbGl6ZUVycm9yfHxBKSh0fHwiUmVqZWN0ZWQiKSxtZXRhOnkobSh7fSxvfHx7fSkse2FyZzppLHJlcXVlc3RJZDplLHJlamVjdGVkV2l0aFZhbHVlOiEhcixyZXF1ZXN0U3RhdHVzOiJyZWplY3RlZCIsYWJvcnRlZDoiQWJvcnRFcnJvciI9PT0obnVsbD09dD92b2lkIDA6dC5uYW1lKSxjb25kaXRpb246IkNvbmRpdGlvbkVycm9yIj09PShudWxsPT10P3ZvaWQgMDp0Lm5hbWUpfSl9fSkpLHM9InVuZGVmaW5lZCIhPXR5cGVvZiBBYm9ydENvbnRyb2xsZXI/QWJvcnRDb250cm9sbGVyOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMuc2lnbmFsPXthYm9ydGVkOiExLGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oKXt9LGRpc3BhdGNoRXZlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sb25hYm9ydDpmdW5jdGlvbigpe30scmVtb3ZlRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbigpe319fXJldHVybiB0LnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpezB9LHR9KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihhLGwsYyl7dmFyIGYsaCxkPShudWxsIT0oZj1udWxsPT1uP3ZvaWQgMDpuLmlkR2VuZXJhdG9yKT9mOlMpKCkscD1uZXcgcyx2PW5ldyBQcm9taXNlKChmdW5jdGlvbih0LGUpe3JldHVybiBwLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUoe25hbWU6IkFib3J0RXJyb3IiLG1lc3NhZ2U6aHx8IkFib3J0ZWQifSl9KSl9KSksZz0hMTt2YXIgbT1mdW5jdGlvbigpe3JldHVybiBzPXRoaXMsZj1udWxsLGg9ZnVuY3Rpb24oKXt2YXIgcyxmLGg7cmV0dXJuIHUodGhpcywoZnVuY3Rpb24odSl7c3dpdGNoKHUubGFiZWwpe2Nhc2UgMDppZih1LnRyeXMucHVzaChbMCwyLCwzXSksbiYmbi5jb25kaXRpb24mJiExPT09bi5jb25kaXRpb24odCx7Z2V0U3RhdGU6bCxleHRyYTpjfSkpdGhyb3d7bmFtZToiQ29uZGl0aW9uRXJyb3IiLG1lc3NhZ2U6IkFib3J0ZWQgZHVlIHRvIGNvbmRpdGlvbiBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UuIn07cmV0dXJuIGc9ITAsYShyKGQsdCxudWxsPT0ocz1udWxsPT1uP3ZvaWQgMDpuLmdldFBlbmRpbmdNZXRhKT92b2lkIDA6cy5jYWxsKG4se3JlcXVlc3RJZDpkLGFyZzp0fSx7Z2V0U3RhdGU6bCxleHRyYTpjfSkpKSxbNCxQcm9taXNlLnJhY2UoW3YsUHJvbWlzZS5yZXNvbHZlKGUodCx7ZGlzcGF0Y2g6YSxnZXRTdGF0ZTpsLGV4dHJhOmMscmVxdWVzdElkOmQsc2lnbmFsOnAuc2lnbmFsLHJlamVjdFdpdGhWYWx1ZTpmdW5jdGlvbih0LGUpe3JldHVybiBuZXcgTSh0LGUpfSxmdWxmaWxsV2l0aFZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBQKHQsZSl9fSkpLnRoZW4oKGZ1bmN0aW9uKGUpe2lmKGUgaW5zdGFuY2VvZiBNKXRocm93IGU7cmV0dXJuIGUgaW5zdGFuY2VvZiBQP2koZS5wYXlsb2FkLGQsdCxlLm1ldGEpOmkoZSxkLHQpfSkpXSldO2Nhc2UgMTpyZXR1cm4gZj11LnNlbnQoKSxbMywzXTtjYXNlIDI6cmV0dXJuIGg9dS5zZW50KCksZj1oIGluc3RhbmNlb2YgTT9vKG51bGwsZCx0LGgucGF5bG9hZCxoLm1ldGEpOm8oaCxkLHQpLFszLDNdO2Nhc2UgMzpyZXR1cm4gbiYmIW4uZGlzcGF0Y2hDb25kaXRpb25SZWplY3Rpb24mJm8ubWF0Y2goZikmJmYubWV0YS5jb25kaXRpb258fGEoZiksWzIsZl19fSkpfSxuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxlKXt2YXIgbj1mdW5jdGlvbih0KXt0cnl7cihoLm5leHQodCkpfWNhdGNoKHQpe2UodCl9fSxpPWZ1bmN0aW9uKHQpe3RyeXtyKGgudGhyb3codCkpfWNhdGNoKHQpe2UodCl9fSxyPWZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbmU/dChlLnZhbHVlKTpQcm9taXNlLnJlc29sdmUoZS52YWx1ZSkudGhlbihuLGkpfTtyKChoPWguYXBwbHkocyxmKSkubmV4dCgpKX0pKTt2YXIgcyxmLGh9KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24obSx7YWJvcnQ6ZnVuY3Rpb24odCl7ZyYmKGg9dCxwLmFib3J0KCkpfSxyZXF1ZXN0SWQ6ZCxhcmc6dCx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gbS50aGVuKFQpfX0pfX0pLHtwZW5kaW5nOnIscmVqZWN0ZWQ6byxmdWxmaWxsZWQ6aSx0eXBlUHJlZml4OnR9KX1mdW5jdGlvbiBUKHQpewppZih0Lm1ldGEmJnQubWV0YS5yZWplY3RlZFdpdGhWYWx1ZSl0aHJvdyB0LnBheWxvYWQ7aWYodC5lcnJvcil0aHJvdyB0LmVycm9yO3JldHVybiB0LnBheWxvYWR9KDAsci5lbmFibGVFUzUpKCl9LDg1MzMzNih0LGUpe3ZhciBuLGkscjtpPVtlXSxuPWZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpe2Zvcih2YXIgZT0wLG49QXJyYXkodC5sZW5ndGgpO2U8dC5sZW5ndGg7ZSsrKW5bZV09dFtlXTtyZXR1cm4gbn1yZXR1cm4gQXJyYXkuZnJvbSh0KX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBpPXtnZXQgcGFzc2l2ZSgpe249ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwsaSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLGkpfXZhciByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksbz1bXSxzPSExLGE9LTEsdT12b2lkIDAsbD12b2lkIDAsYz1mdW5jdGlvbih0KXtyZXR1cm4gby5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4hKCFlLm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCFlLm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUodCkpfSkpfSxmPWZ1bmN0aW9uKHQpe3ZhciBlPXR8fHdpbmRvdy5ldmVudDtyZXR1cm4hIWMoZS50YXJnZXQpfHwxPGUudG91Y2hlcy5sZW5ndGh8fChlLnByZXZlbnREZWZhdWx0JiZlLnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1sJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9bCxsPXZvaWQgMCksdm9pZCAwIT09dSYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9dSx1PXZvaWQgMCl9KSl9O3QuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24odCxpKXtpZihyKXtpZighdClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKHQmJiFvLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRhcmdldEVsZW1lbnQ9PT10fSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDp0LG9wdGlvbnM6aXx8e319O289W10uY29uY2F0KGUobyksW2hdKSx0Lm9udG91Y2hzdGFydD1mdW5jdGlvbih0KXsxPT09dC50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGE9dC50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSx0Lm9udG91Y2htb3ZlPWZ1bmN0aW9uKGUpe3ZhciBuLGkscixvOzE9PT1lLnRhcmdldFRvdWNoZXMubGVuZ3RoJiYoaT10LG89KG49ZSkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWEsIWMobi50YXJnZXQpJiYoaSYmMD09PWkuc2Nyb2xsVG9wJiYwPG98fChyPWkpJiZyLnNjcm9sbEhlaWdodC1yLnNjcm9sbFRvcDw9ci5jbGllbnRIZWlnaHQmJm88MD9mKG4pOm4uc3RvcFByb3BhZ2F0aW9uKCkpKX0sc3x8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZixuP3twYXNzaXZlOiExfTp2b2lkIDApLHM9ITApfX1lbHNle3A9aSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWwpe3ZhciB0PSEhcCYmITA9PT1wLnJlc2VydmVTY3JvbGxCYXJHYXAsZT13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7dCYmMDxlJiYobD1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1lKyJweCIpfXZvaWQgMD09PXUmJih1PWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIGQ9e3RhcmdldEVsZW1lbnQ6dCxvcHRpb25zOml8fHt9fTtvPVtdLmNvbmNhdChlKG8pLFtkXSl9dmFyIHB9LHQuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtyPyhvLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCx0LnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxzJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixmLG4/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscz0hMSksbz1bXSxhPS0xKTooaCgpLG89W10pfSx0LmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24odCl7aWYocil7aWYoIXQpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7dC5vbnRvdWNoc3RhcnQ9bnVsbCx0Lm9udG91Y2htb3ZlPW51bGwsbz1vLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUudGFyZ2V0RWxlbWVudCE9PXR9KSkscyYmMD09PW8ubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixmLG4/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscz0hMSl9ZWxzZSAxPT09by5sZW5ndGgmJm9bMF0udGFyZ2V0RWxlbWVudD09PXQ/KGgoKSxvPVtdKTpvPW8uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZS50YXJnZXRFbGVtZW50IT09dH0pKX19LHZvaWQgMD09PShyPSJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkoZSxpKTpuKXx8KHQuZXhwb3J0cz1yKX0sMzI3MjM5KHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxuPUFycmF5KGU+MT9lLTE6MCksaT0xO2k8ZTtpKyspbltpLTFdPWFyZ3VtZW50c1tpXQo7dGhyb3cgRXJyb3IoIltJbW1lcl0gbWluaWZpZWQgZXJyb3IgbnI6ICIrdCsobi5sZW5ndGg/IiAiK24ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4iJyIrdCsiJyJ9KSkuam9pbigiLCIpOiIiKSsiLiBGaW5kIHRoZSBmdWxsIGVycm9yIGF0OiBodHRwczovL2JpdC5seS8zY1hFS1dmIil9ZnVuY3Rpb24gcih0KXtyZXR1cm4hIXQmJiEhdFtYXX1mdW5jdGlvbiBvKHQpe3JldHVybiEhdCYmKGZ1bmN0aW9uKHQpe2lmKCF0fHwib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuITE7dmFyIGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO2lmKG51bGw9PT1lKXJldHVybiEwO3ZhciBuPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsImNvbnN0cnVjdG9yIikmJmUuY29uc3RydWN0b3I7cmV0dXJuIG49PT1PYmplY3R8fCJmdW5jdGlvbiI9PXR5cGVvZiBuJiZGdW5jdGlvbi50b1N0cmluZy5jYWxsKG4pPT09WX0odCl8fEFycmF5LmlzQXJyYXkodCl8fCEhdFtLXXx8ISF0LmNvbnN0cnVjdG9yW0tdfHxkKHQpfHxwKHQpKX1mdW5jdGlvbiBzKHQpe3JldHVybiByKHQpfHxpKDIzLHQpLHRbWF0udH1mdW5jdGlvbiBhKHQsZSxuKXt2b2lkIDA9PT1uJiYobj0hMSksMD09PXUodCk/KG4/T2JqZWN0LmtleXM6JCkodCkuZm9yRWFjaCgoZnVuY3Rpb24oaSl7biYmInN5bWJvbCI9PXR5cGVvZiBpfHxlKGksdFtpXSx0KX0pKTp0LmZvckVhY2goKGZ1bmN0aW9uKG4saSl7cmV0dXJuIGUoaSxuLHQpfSkpfWZ1bmN0aW9uIHUodCl7dmFyIGU9dFtYXTtyZXR1cm4gZT9lLmk+Mz9lLmktNDplLmk6QXJyYXkuaXNBcnJheSh0KT8xOmQodCk/MjpwKHQpPzM6MH1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuIDI9PT11KHQpP3QuaGFzKGUpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4gMj09PXUodCk/dC5nZXQoZSk6dFtlXX1mdW5jdGlvbiBmKHQsZSxuKXt2YXIgaT11KHQpOzI9PT1pP3Quc2V0KGUsbik6Mz09PWk/KHQuZGVsZXRlKGUpLHQuYWRkKG4pKTp0W2VdPW59ZnVuY3Rpb24gaCh0LGUpe3JldHVybiB0PT09ZT8wIT09dHx8MS90PT0xL2U6dCE9dCYmZSE9ZX1mdW5jdGlvbiBkKHQpe3JldHVybiBVJiZ0IGluc3RhbmNlb2YgTWFwfWZ1bmN0aW9uIHAodCl7cmV0dXJuIHomJnQgaW5zdGFuY2VvZiBTZXR9ZnVuY3Rpb24gdih0KXtyZXR1cm4gdC5vfHx0LnR9ZnVuY3Rpb24gZyh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTt2YXIgZT1RKHQpO2RlbGV0ZSBlW1hdO2Zvcih2YXIgbj0kKGUpLGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIHI9bltpXSxvPWVbcl07ITE9PT1vLndyaXRhYmxlJiYoby53cml0YWJsZT0hMCxvLmNvbmZpZ3VyYWJsZT0hMCksKG8uZ2V0fHxvLnNldCkmJihlW3JdPXtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTpvLmVudW1lcmFibGUsdmFsdWU6dFtyXX0pfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0KSxlKX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSxiKHQpfHxyKHQpfHwhbyh0KXx8KHUodCk+MSYmKHQuc2V0PXQuYWRkPXQuY2xlYXI9dC5kZWxldGU9eSksT2JqZWN0LmZyZWV6ZSh0KSxlJiZhKHQsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG0oZSwhMCl9KSwhMCkpLHR9ZnVuY3Rpb24geSgpe2koMil9ZnVuY3Rpb24gYih0KXtyZXR1cm4gbnVsbD09dHx8Im9iamVjdCIhPXR5cGVvZiB0fHxPYmplY3QuaXNGcm96ZW4odCl9ZnVuY3Rpb24gXyh0KXt2YXIgZT1KW3RdO3JldHVybiBlfHxpKDE4LHQpLGV9ZnVuY3Rpb24gdyh0LGUpe0pbdF18fChKW3RdPWUpfWZ1bmN0aW9uIHgoKXtyZXR1cm4gQn1mdW5jdGlvbiBPKHQsZSl7ZSYmKF8oIlBhdGNoZXMiKSx0LnU9W10sdC5zPVtdLHQudj1lKX1mdW5jdGlvbiBFKHQpe0ModCksdC5wLmZvckVhY2goUyksdC5wPW51bGx9ZnVuY3Rpb24gQyh0KXt0PT09QiYmKEI9dC5sKX1mdW5jdGlvbiBrKHQpe3JldHVybiBCPXtwOltdLGw6QixoOnQsbTohMCxfOjB9fWZ1bmN0aW9uIFModCl7dmFyIGU9dFtYXTswPT09ZS5pfHwxPT09ZS5pP2UuaigpOmUuTz0hMH1mdW5jdGlvbiBEKHQsZSl7ZS5fPWUucC5sZW5ndGg7dmFyIG49ZS5wWzBdLHI9dm9pZCAwIT09dCYmdCE9PW47cmV0dXJuIGUuaC5nfHxfKCJFUzUiKS5TKGUsdCxyKSxyPyhuW1hdLlAmJihFKGUpLGkoNCkpLG8odCkmJih0PU0oZSx0KSxlLmx8fEEoZSx0KSksZS51JiZfKCJQYXRjaGVzIikuTShuW1hdLHQsZS51LGUucykpOnQ9TShlLG4sW10pLEUoZSksZS51JiZlLnYoZS51LGUucyksdCE9PUc/dDp2b2lkIDB9ZnVuY3Rpb24gTSh0LGUsbil7aWYoYihlKSlyZXR1cm4gZTt2YXIgaT1lW1hdO2lmKCFpKXJldHVybiBhKGUsKGZ1bmN0aW9uKHIsbyl7cmV0dXJuIFAodCxpLGUscixvLG4pfSksITApLGU7aWYoaS5BIT09dClyZXR1cm4gZTtpZighaS5QKXJldHVybiBBKHQsaS50LCEwKSxpLnQ7aWYoIWkuSSl7aS5JPSEwLGkuQS5fLS07dmFyIHI9ND09PWkuaXx8NT09PWkuaT9pLm89ZyhpLmspOmkubzthKDM9PT1pLmk/bmV3IFNldChyKTpyLChmdW5jdGlvbihlLG8pe3JldHVybiBQKHQsaSxyLGUsbyxuKX0pKSxBKHQsciwhMSksbiYmdC51JiZfKCJQYXRjaGVzIikuUihpLG4sdC51LHQucyl9cmV0dXJuIGkub31mdW5jdGlvbiBQKHQsZSxuLGkscyxhKXtpZihyKHMpKXt2YXIgdT1NKHQscyxhJiZlJiYzIT09ZS5pJiYhbChlLkQsaSk/YS5jb25jYXQoaSk6dm9pZCAwKTtpZihmKG4saSx1KSwhcih1KSlyZXR1cm47dC5tPSExfWlmKG8ocykmJiFiKHMpKXtpZighdC5oLkYmJnQuXzwxKXJldHVybjtNKHQscyksZSYmZS5BLmx8fEEodCxzKX19ZnVuY3Rpb24gQSh0LGUsbil7dm9pZCAwPT09biYmKG49ITEpLHQuaC5GJiZ0Lm0mJm0oZSxuKX1mdW5jdGlvbiBqKHQsZSl7dmFyIG49dFtYXTtyZXR1cm4obj92KG4pOnQpW2VdfWZ1bmN0aW9uIFQodCxlKXtpZihlIGluIHQpZm9yKHZhciBuPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtuOyl7CnZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobixlKTtpZihpKXJldHVybiBpO249T2JqZWN0LmdldFByb3RvdHlwZU9mKG4pfX1mdW5jdGlvbiBOKHQpe3QuUHx8KHQuUD0hMCx0LmwmJk4odC5sKSl9ZnVuY3Rpb24gSSh0KXt0Lm98fCh0Lm89Zyh0LnQpKX1mdW5jdGlvbiBMKHQsZSxuKXt2YXIgaT1kKGUpP18oIk1hcFNldCIpLk4oZSxuKTpwKGUpP18oIk1hcFNldCIpLlQoZSxuKTp0Lmc/ZnVuY3Rpb24odCxlKXt2YXIgbj1BcnJheS5pc0FycmF5KHQpLGk9e2k6bj8xOjAsQTplP2UuQTp4KCksUDohMSxJOiExLEQ6e30sbDplLHQsazpudWxsLG86bnVsbCxqOm51bGwsQzohMX0scj1pLG89WjtuJiYocj1baV0sbz10dCk7dmFyIHM9UHJveHkucmV2b2NhYmxlKHIsbyksYT1zLnJldm9rZSx1PXMucHJveHk7cmV0dXJuIGkuaz11LGkuaj1hLHV9KGUsbik6XygiRVM1IikuSihlLG4pO3JldHVybihuP24uQTp4KCkpLnAucHVzaChpKSxpfWZ1bmN0aW9uIFYodCl7cmV0dXJuIHIodCl8fGkoMjIsdCksZnVuY3Rpb24gdChlKXtpZighbyhlKSlyZXR1cm4gZTt2YXIgbixpPWVbWF0scj11KGUpO2lmKGkpe2lmKCFpLlAmJihpLmk8NHx8IV8oIkVTNSIpLksoaSkpKXJldHVybiBpLnQ7aS5JPSEwLG49UihlLHIpLGkuST0hMX1lbHNlIG49UihlLHIpO3JldHVybiBhKG4sKGZ1bmN0aW9uKGUscil7aSYmYyhpLnQsZSk9PT1yfHxmKG4sZSx0KHIpKX0pKSwzPT09cj9uZXcgU2V0KG4pOm59KHQpfWZ1bmN0aW9uIFIodCxlKXtzd2l0Y2goZSl7Y2FzZSAyOnJldHVybiBuZXcgTWFwKHQpO2Nhc2UgMzpyZXR1cm4gQXJyYXkuZnJvbSh0KX1yZXR1cm4gZyh0KX1mdW5jdGlvbiBXKCl7ZnVuY3Rpb24gdCh0LGUpe3ZhciBuPW9bdF07cmV0dXJuIG4/bi5lbnVtZXJhYmxlPWU6b1t0XT1uPXtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTplLGdldDpmdW5jdGlvbigpe3ZhciBlPXRoaXNbWF07cmV0dXJuIFouZ2V0KGUsdCl9LHNldDpmdW5jdGlvbihlKXt2YXIgbj10aGlzW1hdO1ouc2V0KG4sdCxlKX19LG59ZnVuY3Rpb24gZSh0KXtmb3IodmFyIGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7dmFyIHI9dFtlXVtYXTtpZighci5QKXN3aXRjaChyLmkpe2Nhc2UgNTppKHIpJiZOKHIpO2JyZWFrO2Nhc2UgNDpuKHIpJiZOKHIpfX19ZnVuY3Rpb24gbih0KXtmb3IodmFyIGU9dC50LG49dC5rLGk9JChuKSxyPWkubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBvPWlbcl07aWYobyE9PVgpe3ZhciBzPWVbb107aWYodm9pZCAwPT09cyYmIWwoZSxvKSlyZXR1cm4hMDt2YXIgYT1uW29dLHU9YSYmYVtYXTtpZih1P3UudCE9PXM6IWgoYSxzKSlyZXR1cm4hMH19dmFyIGM9ISFlW1hdO3JldHVybiBpLmxlbmd0aCE9PSQoZSkubGVuZ3RoKyhjPzA6MSl9ZnVuY3Rpb24gaSh0KXt2YXIgZT10Lms7aWYoZS5sZW5ndGghPT10LnQubGVuZ3RoKXJldHVybiEwO3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxlLmxlbmd0aC0xKTtyZXR1cm4hKCFufHxuLmdldCl9dmFyIG89e307dygiRVM1Iix7SjpmdW5jdGlvbihlLG4pe3ZhciBpPUFycmF5LmlzQXJyYXkoZSkscj1mdW5jdGlvbihlLG4pe2lmKGUpe2Zvcih2YXIgaT1BcnJheShuLmxlbmd0aCkscj0wO3I8bi5sZW5ndGg7cisrKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLCIiK3IsdChyLCEwKSk7cmV0dXJuIGl9dmFyIG89UShuKTtkZWxldGUgb1tYXTtmb3IodmFyIHM9JChvKSxhPTA7YTxzLmxlbmd0aDthKyspe3ZhciB1PXNbYV07b1t1XT10KHUsZXx8ISFvW3VdLmVudW1lcmFibGUpfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihuKSxvKX0oaSxlKSxvPXtpOmk/NTo0LEE6bj9uLkE6eCgpLFA6ITEsSTohMSxEOnt9LGw6bix0OmUsazpyLG86bnVsbCxPOiExLEM6ITF9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocixYLHt2YWx1ZTpvLHdyaXRhYmxlOiEwfSkscn0sUzpmdW5jdGlvbih0LG4sbyl7bz9yKG4pJiZuW1hdLkE9PT10JiZlKHQucCk6KHQudSYmZnVuY3Rpb24gdChlKXtpZihlJiYib2JqZWN0Ij09dHlwZW9mIGUpe3ZhciBuPWVbWF07aWYobil7dmFyIHI9bi50LG89bi5rLHM9bi5ELHU9bi5pO2lmKDQ9PT11KWEobywoZnVuY3Rpb24oZSl7ZSE9PVgmJih2b2lkIDAhPT1yW2VdfHxsKHIsZSk/c1tlXXx8dChvW2VdKTooc1tlXT0hMCxOKG4pKSl9KSksYShyLChmdW5jdGlvbih0KXt2b2lkIDAhPT1vW3RdfHxsKG8sdCl8fChzW3RdPSExLE4obikpfSkpO2Vsc2UgaWYoNT09PXUpe2lmKGkobikmJihOKG4pLHMubGVuZ3RoPSEwKSxvLmxlbmd0aDxyLmxlbmd0aClmb3IodmFyIGM9by5sZW5ndGg7YzxyLmxlbmd0aDtjKyspc1tjXT0hMTtlbHNlIGZvcih2YXIgZj1yLmxlbmd0aDtmPG8ubGVuZ3RoO2YrKylzW2ZdPSEwO2Zvcih2YXIgaD1NYXRoLm1pbihvLmxlbmd0aCxyLmxlbmd0aCksZD0wO2Q8aDtkKyspdm9pZCAwPT09c1tkXSYmdChvW2RdKX19fX0odC5wWzBdKSxlKHQucCkpfSxLOmZ1bmN0aW9uKHQpe3JldHVybiA0PT09dC5pP24odCk6aSh0KX19KX1uLmQoZSx7ZGVmYXVsdDooKT0+cnQsZW5hYmxlRVM1OigpPT5XLGlzRHJhZnQ6KCk9PnIsaXNEcmFmdGFibGU6KCk9Pm8sb3JpZ2luYWw6KCk9PnN9KTt2YXIgRixCLEg9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sKCJ4IiksVT0idW5kZWZpbmVkIiE9dHlwZW9mIE1hcCx6PSJ1bmRlZmluZWQiIT10eXBlb2YgU2V0LHE9InVuZGVmaW5lZCIhPXR5cGVvZiBQcm94eSYmdm9pZCAwIT09UHJveHkucmV2b2NhYmxlJiYidW5kZWZpbmVkIiE9dHlwZW9mIFJlZmxlY3QsRz1IP1N5bWJvbC5mb3IoImltbWVyLW5vdGhpbmciKTooKEY9e30pWyJpbW1lci1ub3RoaW5nIl09ITAsRiksSz1IP1N5bWJvbC5mb3IoImltbWVyLWRyYWZ0YWJsZSIpOiJfXyRpbW1lcl9kcmFmdGFibGUiLFg9SD9TeW1ib2wuZm9yKCJpbW1lci1zdGF0ZSIpOiJfXyRpbW1lcl9zdGF0ZSIsWT0oInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciwKIiIrT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciksJD0idW5kZWZpbmVkIiE9dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3Qub3duS2V5cz9SZWZsZWN0Lm93bktleXM6dm9pZCAwIT09T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9mdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCkuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCkpfTpPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxRPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzfHxmdW5jdGlvbih0KXt2YXIgZT17fTtyZXR1cm4gJCh0KS5mb3JFYWNoKChmdW5jdGlvbihuKXtlW25dPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKX0pKSxlfSxKPXt9LFo9e2dldDpmdW5jdGlvbih0LGUpe2lmKGU9PT1YKXJldHVybiB0O3ZhciBuPXYodCk7aWYoIWwobixlKSlyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3ZhciBpLHI9VChlLG4pO3JldHVybiByPyJ2YWx1ZSJpbiByP3IudmFsdWU6bnVsbD09PShpPXIuZ2V0KXx8dm9pZCAwPT09aT92b2lkIDA6aS5jYWxsKHQuayk6dm9pZCAwfSh0LG4sZSk7dmFyIGk9bltlXTtyZXR1cm4gdC5JfHwhbyhpKT9pOmk9PT1qKHQudCxlKT8oSSh0KSx0Lm9bZV09TCh0LkEuaCxpLHQpKTppfSxoYXM6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZSBpbiB2KHQpfSxvd25LZXlzOmZ1bmN0aW9uKHQpe3JldHVybiBSZWZsZWN0Lm93bktleXModih0KSl9LHNldDpmdW5jdGlvbih0LGUsbil7dmFyIGk9VCh2KHQpLGUpO2lmKG51bGw9PWk/dm9pZCAwOmkuc2V0KXJldHVybiBpLnNldC5jYWxsKHQuayxuKSwhMDtpZighdC5QKXt2YXIgcj1qKHYodCksZSksbz1udWxsPT1yP3ZvaWQgMDpyW1hdO2lmKG8mJm8udD09PW4pcmV0dXJuIHQub1tlXT1uLHQuRFtlXT0hMSwhMDtpZihoKG4scikmJih2b2lkIDAhPT1ufHxsKHQudCxlKSkpcmV0dXJuITA7SSh0KSxOKHQpfXJldHVybiB0Lm9bZV09PT1uJiYibnVtYmVyIiE9dHlwZW9mIG4mJih2b2lkIDAhPT1ufHxlIGluIHQubyl8fCh0Lm9bZV09bix0LkRbZV09ITAsITApfSxkZWxldGVQcm9wZXJ0eTpmdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDAhPT1qKHQudCxlKXx8ZSBpbiB0LnQ/KHQuRFtlXT0hMSxJKHQpLE4odCkpOmRlbGV0ZSB0LkRbZV0sdC5vJiZkZWxldGUgdC5vW2VdLCEwfSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6ZnVuY3Rpb24odCxlKXt2YXIgbj12KHQpLGk9UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobixlKTtyZXR1cm4gaT97d3JpdGFibGU6ITAsY29uZmlndXJhYmxlOjEhPT10Lml8fCJsZW5ndGgiIT09ZSxlbnVtZXJhYmxlOmkuZW51bWVyYWJsZSx2YWx1ZTpuW2VdfTppfSxkZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbigpe2koMTEpfSxnZXRQcm90b3R5cGVPZjpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHQudCl9LHNldFByb3RvdHlwZU9mOmZ1bmN0aW9uKCl7aSgxMil9fSx0dD17fTthKFosKGZ1bmN0aW9uKHQsZSl7dHRbdF09ZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzWzBdPWFyZ3VtZW50c1swXVswXSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KSksdHQuZGVsZXRlUHJvcGVydHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gWi5kZWxldGVQcm9wZXJ0eS5jYWxsKHRoaXMsdFswXSxlKX0sdHQuc2V0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gWi5zZXQuY2FsbCh0aGlzLHRbMF0sZSxuLHRbMF0pfTt2YXIgZXQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5nPXEsdGhpcy5GPSEwLHRoaXMucHJvZHVjZT1mdW5jdGlvbih0LG4scil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiBuKXt2YXIgcz1uO249dDt2YXIgYT1lO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10aGlzO3ZvaWQgMD09PXQmJih0PXMpO2Zvcih2YXIgaT1hcmd1bWVudHMubGVuZ3RoLHI9QXJyYXkoaT4xP2ktMTowKSxvPTE7bzxpO28rKylyW28tMV09YXJndW1lbnRzW29dO3JldHVybiBhLnByb2R1Y2UodCwoZnVuY3Rpb24odCl7dmFyIGk7cmV0dXJuKGk9bikuY2FsbC5hcHBseShpLFtlLHRdLmNvbmNhdChyKSl9KSl9fXZhciB1O2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuJiZpKDYpLHZvaWQgMCE9PXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiZpKDcpLG8odCkpe3ZhciBsPWsoZSksYz1MKGUsdCx2b2lkIDApLGY9ITA7dHJ5e3U9bihjKSxmPSExfWZpbmFsbHl7Zj9FKGwpOkMobCl9cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBQcm9taXNlJiZ1IGluc3RhbmNlb2YgUHJvbWlzZT91LnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiBPKGwsciksRCh0LGwpfSksKGZ1bmN0aW9uKHQpe3Rocm93IEUobCksdH0pKTooTyhsLHIpLEQodSxsKSl9aWYoIXR8fCJvYmplY3QiIT10eXBlb2YgdCl7aWYoKHU9bih0KSk9PT1HKXJldHVybjtyZXR1cm4gdm9pZCAwPT09dSYmKHU9dCksZS5GJiZtKHUsITApLHV9aSgyMSx0KX0sdGhpcy5wcm9kdWNlV2l0aFBhdGNoZXM9ZnVuY3Rpb24odCxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD9mdW5jdGlvbihuKXtmb3IodmFyIGk9YXJndW1lbnRzLmxlbmd0aCxyPUFycmF5KGk+MT9pLTE6MCksbz0xO288aTtvKyspcltvLTFdPWFyZ3VtZW50c1tvXTtyZXR1cm4gZS5wcm9kdWNlV2l0aFBhdGNoZXMobiwoZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodm9pZCAwLFtlXS5jb25jYXQocikpfSkpfTpbZS5wcm9kdWNlKHQsbiwoZnVuY3Rpb24odCxlKXtpPXQscj1lfSkpLGkscl07dmFyIGkscn0sImJvb2xlYW4iPT10eXBlb2YobnVsbD09dD92b2lkIDA6dC51c2VQcm94aWVzKSYmdGhpcy5zZXRVc2VQcm94aWVzKHQudXNlUHJveGllcyksImJvb2xlYW4iPT10eXBlb2YobnVsbD09dD92b2lkIDA6dC5hdXRvRnJlZXplKSYmdGhpcy5zZXRBdXRvRnJlZXplKHQuYXV0b0ZyZWV6ZSl9dmFyIGU9dC5wcm90b3R5cGU7cmV0dXJuIGUuY3JlYXRlRHJhZnQ9ZnVuY3Rpb24odCl7byh0KXx8aSg4KSxyKHQpJiYodD1WKHQpKTt2YXIgZT1rKHRoaXMpLG49TCh0aGlzLHQsdm9pZCAwKQo7cmV0dXJuIG5bWF0uQz0hMCxDKGUpLG59LGUuZmluaXNoRHJhZnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj0odCYmdFtYXSkuQTtyZXR1cm4gTyhuLGUpLEQodm9pZCAwLG4pfSxlLnNldEF1dG9GcmVlemU9ZnVuY3Rpb24odCl7dGhpcy5GPXR9LGUuc2V0VXNlUHJveGllcz1mdW5jdGlvbih0KXt0JiYhcSYmaSgyMCksdGhpcy5nPXR9LGUuYXBwbHlQYXRjaGVzPWZ1bmN0aW9uKHQsZSl7dmFyIG47Zm9yKG49ZS5sZW5ndGgtMTtuPj0wO24tLSl7dmFyIGk9ZVtuXTtpZigwPT09aS5wYXRoLmxlbmd0aCYmInJlcGxhY2UiPT09aS5vcCl7dD1pLnZhbHVlO2JyZWFrfX1uPi0xJiYoZT1lLnNsaWNlKG4rMSkpO3ZhciBvPV8oIlBhdGNoZXMiKS4kO3JldHVybiByKHQpP28odCxlKTp0aGlzLnByb2R1Y2UodCwoZnVuY3Rpb24odCl7cmV0dXJuIG8odCxlKX0pKX0sdH0oKSxudD1uZXcgZXQsaXQ9bnQucHJvZHVjZTtudC5wcm9kdWNlV2l0aFBhdGNoZXMuYmluZChudCksbnQuc2V0QXV0b0ZyZWV6ZS5iaW5kKG50KSxudC5zZXRVc2VQcm94aWVzLmJpbmQobnQpLG50LmFwcGx5UGF0Y2hlcy5iaW5kKG50KSxudC5jcmVhdGVEcmFmdC5iaW5kKG50KSxudC5maW5pc2hEcmFmdC5iaW5kKG50KTtjb25zdCBydD1pdH0sODE1NzI4KHQsZSxuKXt2YXIgaSxyLG8scz1uKDQ4MjUwNCk7IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3I9W24oNDgyNTA0KSxuKDIxMDk3MSksbigxODYyMzQpLG4oMTY4NzAxKV0saT1mdW5jdGlvbih0KXt2YXIgZT0idWktZWZmZWN0cy0iLG49InVpLWVmZmVjdHMtc3R5bGUiLGk9InVpLWVmZmVjdHMtYW5pbWF0ZWQiO3JldHVybiB0LmVmZmVjdHM9e2VmZmVjdDp7fX0sZnVuY3Rpb24oKXt2YXIgZSxuPVsiYWRkIiwicmVtb3ZlIiwidG9nZ2xlIl0saT17Ym9yZGVyOjEsYm9yZGVyQm90dG9tOjEsYm9yZGVyQ29sb3I6MSxib3JkZXJMZWZ0OjEsYm9yZGVyUmlnaHQ6MSxib3JkZXJUb3A6MSxib3JkZXJXaWR0aDoxLG1hcmdpbjoxLHBhZGRpbmc6MX07ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5yZXBsYWNlKC8tKFtcZGEtel0pL2dpLChmdW5jdGlvbih0LGUpe3JldHVybiBlLnRvVXBwZXJDYXNlKCl9KSl9ZnVuY3Rpb24gbyh0KXt2YXIgZSxuLGk9dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3P3Qub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCk6dC5jdXJyZW50U3R5bGUsbz17fTtpZihpJiZpLmxlbmd0aCYmaVswXSYmaVtpWzBdXSlmb3Iobj1pLmxlbmd0aDtuLS07KSJzdHJpbmciPT10eXBlb2YgaVtlPWlbbl1dJiYob1tyKGUpXT1pW2VdKTtlbHNlIGZvcihlIGluIGkpInN0cmluZyI9PXR5cGVvZiBpW2VdJiYob1tlXT1pW2VdKTtyZXR1cm4gb31mdW5jdGlvbiBhKGUsbil7dmFyIHIsbyxzPXt9O2ZvcihyIGluIG4pbz1uW3JdLGVbcl0hPT1vJiYoaVtyXXx8IXQuZnguc3RlcFtyXSYmaXNOYU4ocGFyc2VGbG9hdChvKSl8fChzW3JdPW8pKTtyZXR1cm4gc310LmVhY2goWyJib3JkZXJMZWZ0U3R5bGUiLCJib3JkZXJSaWdodFN0eWxlIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJUb3BTdHlsZSJdLChmdW5jdGlvbihlLG4pe3QuZnguc3RlcFtuXT1mdW5jdGlvbih0KXsoIm5vbmUiIT09dC5lbmQmJiF0LnNldEF0dHJ8fDE9PT10LnBvcyYmIXQuc2V0QXR0cikmJihzLnN0eWxlKHQuZWxlbSxuLHQuZW5kKSx0LnNldEF0dHI9ITApfX0pKSx0LmZuLmFkZEJhY2t8fCh0LmZuLmFkZEJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PXQ/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIodCkpfSksdC5lZmZlY3RzLmFuaW1hdGVDbGFzcz1mdW5jdGlvbihlLGkscixzKXt2YXIgdT10LnNwZWVkKGkscixzKTtyZXR1cm4gdGhpcy5xdWV1ZSgoZnVuY3Rpb24oKXt2YXIgaSxyPXQodGhpcykscz1yLmF0dHIoImNsYXNzIil8fCIiLGw9dS5jaGlsZHJlbj9yLmZpbmQoIioiKS5hZGRCYWNrKCk6cjtsPWwubWFwKChmdW5jdGlvbigpe3JldHVybntlbDp0KHRoaXMpLHN0YXJ0Om8odGhpcyl9fSkpLChpPWZ1bmN0aW9uKCl7dC5lYWNoKG4sKGZ1bmN0aW9uKHQsbil7ZVtuXSYmcltuKyJDbGFzcyJdKGVbbl0pfSkpfSkoKSxsPWwubWFwKChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVuZD1vKHRoaXMuZWxbMF0pLHRoaXMuZGlmZj1hKHRoaXMuc3RhcnQsdGhpcy5lbmQpLHRoaXN9KSksci5hdHRyKCJjbGFzcyIscyksbD1sLm1hcCgoZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49dC5EZWZlcnJlZCgpLGk9dC5leHRlbmQoe30sdSx7cXVldWU6ITEsY29tcGxldGU6ZnVuY3Rpb24oKXtuLnJlc29sdmUoZSl9fSk7cmV0dXJuIHRoaXMuZWwuYW5pbWF0ZSh0aGlzLmRpZmYsaSksbi5wcm9taXNlKCl9KSksdC53aGVuLmFwcGx5KHQsbC5nZXQoKSkuZG9uZSgoZnVuY3Rpb24oKXtpKCksdC5lYWNoKGFyZ3VtZW50cywoZnVuY3Rpb24oKXt2YXIgZT10aGlzLmVsO3QuZWFjaCh0aGlzLmRpZmYsKGZ1bmN0aW9uKHQpe2UuY3NzKHQsIiIpfSkpfSkpLHUuY29tcGxldGUuY2FsbChyWzBdKX0pKX0pKX0sdC5mbi5leHRlbmQoe2FkZENsYXNzOihlPXQuZm4uYWRkQ2xhc3MsZnVuY3Rpb24obixpLHIsbyl7cmV0dXJuIGk/dC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse2FkZDpufSxpLHIsbyk6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obixpLHIsbyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90LmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyx7cmVtb3ZlOm59LGkscixvKTplLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KHQuZm4ucmVtb3ZlQ2xhc3MpLHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuLGkscixvLHMpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGl8fHZvaWQgMD09PWk/cj90LmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyxpP3thZGQ6bn06e3JlbW92ZTpufSxyLG8scyk6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse3RvZ2dsZTpufSxpLHIsbykKfX0odC5mbi50b2dnbGVDbGFzcyksc3dpdGNoQ2xhc3M6ZnVuY3Rpb24oZSxuLGkscixvKXtyZXR1cm4gdC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse2FkZDpuLHJlbW92ZTplfSxpLHIsbyl9fSl9KCksZnVuY3Rpb24oKXt2YXIgcjtmdW5jdGlvbiBvKGUsbixpLHIpe3JldHVybiB0LmlzUGxhaW5PYmplY3QoZSkmJihuPWUsZT1lLmVmZmVjdCksZT17ZWZmZWN0OmV9LG51bGw9PW4mJihuPXt9KSwiZnVuY3Rpb24iPT10eXBlb2YgbiYmKHI9bixpPW51bGwsbj17fSksKCJudW1iZXIiPT10eXBlb2Ygbnx8dC5meC5zcGVlZHNbbl0pJiYocj1pLGk9bixuPXt9KSwiZnVuY3Rpb24iPT10eXBlb2YgaSYmKHI9aSxpPW51bGwpLG4mJnQuZXh0ZW5kKGUsbiksaT1pfHxuLmR1cmF0aW9uLGUuZHVyYXRpb249dC5meC5vZmY/MDoibnVtYmVyIj09dHlwZW9mIGk/aTppIGluIHQuZnguc3BlZWRzP3QuZnguc3BlZWRzW2ldOnQuZnguc3BlZWRzLl9kZWZhdWx0LGUuY29tcGxldGU9cnx8bi5jb21wbGV0ZSxlfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIShlJiYibnVtYmVyIiE9dHlwZW9mIGUmJiF0LmZ4LnNwZWVkc1tlXSl8fCgic3RyaW5nIj09dHlwZW9mIGUmJiF0LmVmZmVjdHMuZWZmZWN0W2VdfHwoImZ1bmN0aW9uIj09dHlwZW9mIGV8fCJvYmplY3QiPT10eXBlb2YgZSYmIWUuZWZmZWN0KSl9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPWUub3V0ZXJXaWR0aCgpLGk9ZS5vdXRlckhlaWdodCgpLHI9L15yZWN0XCgoLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0byksP1xzKigtP1xkKlwuP1xkKnB4fC0/XGQrJXxhdXRvKSw/XHMqKC0/XGQqXC4/XGQqcHh8LT9cZCslfGF1dG8pLD9ccyooLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0bylcKSQvLmV4ZWModCl8fFsiIiwwLG4saSwwXTtyZXR1cm57dG9wOnBhcnNlRmxvYXQoclsxXSl8fDAscmlnaHQ6ImF1dG8iPT09clsyXT9uOnBhcnNlRmxvYXQoclsyXSksYm90dG9tOiJhdXRvIj09PXJbM10/aTpwYXJzZUZsb2F0KHJbM10pLGxlZnQ6cGFyc2VGbG9hdChyWzRdKXx8MH19dC5leHByJiZ0LmV4cHIucHNldWRvcyYmdC5leHByLnBzZXVkb3MuYW5pbWF0ZWQmJih0LmV4cHIucHNldWRvcy5hbmltYXRlZD0ocj10LmV4cHIucHNldWRvcy5hbmltYXRlZCxmdW5jdGlvbihlKXtyZXR1cm4hIXQoZSkuZGF0YShpKXx8cihlKX0pKSwhMSE9PXQudWlCYWNrQ29tcGF0JiZ0LmV4dGVuZCh0LmVmZmVjdHMse3NhdmU6ZnVuY3Rpb24odCxuKXtmb3IodmFyIGk9MCxyPW4ubGVuZ3RoO2k8cjtpKyspbnVsbCE9PW5baV0mJnQuZGF0YShlK25baV0sdFswXS5zdHlsZVtuW2ldXSl9LHJlc3RvcmU6ZnVuY3Rpb24odCxuKXtmb3IodmFyIGkscj0wLG89bi5sZW5ndGg7cjxvO3IrKyludWxsIT09bltyXSYmKGk9dC5kYXRhKGUrbltyXSksdC5jc3MobltyXSxpKSl9LHNldE1vZGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4idG9nZ2xlIj09PWUmJihlPXQuaXMoIjpoaWRkZW4iKT8ic2hvdyI6ImhpZGUiKSxlfSxjcmVhdGVXcmFwcGVyOmZ1bmN0aW9uKGUpe2lmKGUucGFyZW50KCkuaXMoIi51aS1lZmZlY3RzLXdyYXBwZXIiKSlyZXR1cm4gZS5wYXJlbnQoKTt2YXIgbj17d2lkdGg6ZS5vdXRlcldpZHRoKCEwKSxoZWlnaHQ6ZS5vdXRlckhlaWdodCghMCksZmxvYXQ6ZS5jc3MoImZsb2F0Iil9LGk9dCgiPGRpdj48L2Rpdj4iKS5hZGRDbGFzcygidWktZWZmZWN0cy13cmFwcGVyIikuY3NzKHtmb250U2l6ZToiMTAwJSIsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsbWFyZ2luOjAscGFkZGluZzowfSkscj17d2lkdGg6ZS53aWR0aCgpLGhlaWdodDplLmhlaWdodCgpfSxvPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7dHJ5e28uaWR9Y2F0Y2godCl7bz1kb2N1bWVudC5ib2R5fXJldHVybiBlLndyYXAoaSksKGVbMF09PT1vfHx0LmNvbnRhaW5zKGVbMF0sbykpJiZ0KG8pLnRyaWdnZXIoImZvY3VzIiksaT1lLnBhcmVudCgpLCJzdGF0aWMiPT09ZS5jc3MoInBvc2l0aW9uIik/KGkuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSksZS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9KSk6KHQuZXh0ZW5kKG4se3Bvc2l0aW9uOmUuY3NzKCJwb3NpdGlvbiIpLHpJbmRleDplLmNzcygiei1pbmRleCIpfSksdC5lYWNoKFsidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0Il0sKGZ1bmN0aW9uKHQsaSl7bltpXT1lLmNzcyhpKSxpc05hTihwYXJzZUludChuW2ldLDEwKSkmJihuW2ldPSJhdXRvIil9KSksZS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOjAsbGVmdDowLHJpZ2h0OiJhdXRvIixib3R0b206ImF1dG8ifSkpLGUuY3NzKHIpLGkuY3NzKG4pLnNob3coKX0scmVtb3ZlV3JhcHBlcjpmdW5jdGlvbihlKXt2YXIgbj1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3JldHVybiBlLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFwcGVyIikmJihlLnBhcmVudCgpLnJlcGxhY2VXaXRoKGUpLChlWzBdPT09bnx8dC5jb250YWlucyhlWzBdLG4pKSYmdChuKS50cmlnZ2VyKCJmb2N1cyIpKSxlfX0pLHQuZXh0ZW5kKHQuZWZmZWN0cyx7dmVyc2lvbjoiMS4xMy4yIixkZWZpbmU6ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uLG49ImVmZmVjdCIpLHQuZWZmZWN0cy5lZmZlY3RbZV09aSx0LmVmZmVjdHMuZWZmZWN0W2VdLm1vZGU9bixpfSxzY2FsZWREaW1lbnNpb25zOmZ1bmN0aW9uKHQsZSxuKXtpZigwPT09ZSlyZXR1cm57aGVpZ2h0OjAsd2lkdGg6MCxvdXRlckhlaWdodDowLG91dGVyV2lkdGg6MH07dmFyIGk9Imhvcml6b250YWwiIT09bj8oZXx8MTAwKS8xMDA6MSxyPSJ2ZXJ0aWNhbCIhPT1uPyhlfHwxMDApLzEwMDoxO3JldHVybntoZWlnaHQ6dC5oZWlnaHQoKSpyLHdpZHRoOnQud2lkdGgoKSppLG91dGVySGVpZ2h0OnQub3V0ZXJIZWlnaHQoKSpyLG91dGVyV2lkdGg6dC5vdXRlcldpZHRoKCkqaX19LGNsaXBUb0JveDpmdW5jdGlvbih0KXtyZXR1cm57d2lkdGg6dC5jbGlwLnJpZ2h0LXQuY2xpcC5sZWZ0LGhlaWdodDp0LmNsaXAuYm90dG9tLXQuY2xpcC50b3AsbGVmdDp0LmNsaXAubGVmdCx0b3A6dC5jbGlwLnRvcH19LHVuc2hpZnQ6ZnVuY3Rpb24odCxlLG4pewp2YXIgaT10LnF1ZXVlKCk7ZT4xJiZpLnNwbGljZS5hcHBseShpLFsxLDBdLmNvbmNhdChpLnNwbGljZShlLG4pKSksdC5kZXF1ZXVlKCl9LHNhdmVTdHlsZTpmdW5jdGlvbih0KXt0LmRhdGEobix0WzBdLnN0eWxlLmNzc1RleHQpfSxyZXN0b3JlU3R5bGU6ZnVuY3Rpb24odCl7dFswXS5zdHlsZS5jc3NUZXh0PXQuZGF0YShuKXx8IiIsdC5yZW1vdmVEYXRhKG4pfSxtb2RlOmZ1bmN0aW9uKHQsZSl7dmFyIG49dC5pcygiOmhpZGRlbiIpO3JldHVybiJ0b2dnbGUiPT09ZSYmKGU9bj8ic2hvdyI6ImhpZGUiKSwobj8iaGlkZSI9PT1lOiJzaG93Ij09PWUpJiYoZT0ibm9uZSIpLGV9LGdldEJhc2VsaW5lOmZ1bmN0aW9uKHQsZSl7dmFyIG4saTtzd2l0Y2godFswXSl7Y2FzZSJ0b3AiOm49MDticmVhaztjYXNlIm1pZGRsZSI6bj0uNTticmVhaztjYXNlImJvdHRvbSI6bj0xO2JyZWFrO2RlZmF1bHQ6bj10WzBdL2UuaGVpZ2h0fXN3aXRjaCh0WzFdKXtjYXNlImxlZnQiOmk9MDticmVhaztjYXNlImNlbnRlciI6aT0uNTticmVhaztjYXNlInJpZ2h0IjppPTE7YnJlYWs7ZGVmYXVsdDppPXRbMV0vZS53aWR0aH1yZXR1cm57eDppLHk6bn19LGNyZWF0ZVBsYWNlaG9sZGVyOmZ1bmN0aW9uKG4pe3ZhciBpLHI9bi5jc3MoInBvc2l0aW9uIiksbz1uLnBvc2l0aW9uKCk7cmV0dXJuIG4uY3NzKHttYXJnaW5Ub3A6bi5jc3MoIm1hcmdpblRvcCIpLG1hcmdpbkJvdHRvbTpuLmNzcygibWFyZ2luQm90dG9tIiksbWFyZ2luTGVmdDpuLmNzcygibWFyZ2luTGVmdCIpLG1hcmdpblJpZ2h0Om4uY3NzKCJtYXJnaW5SaWdodCIpfSkub3V0ZXJXaWR0aChuLm91dGVyV2lkdGgoKSkub3V0ZXJIZWlnaHQobi5vdXRlckhlaWdodCgpKSwvXihzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KHIpJiYocj0iYWJzb2x1dGUiLGk9dCgiPCIrblswXS5ub2RlTmFtZSsiPiIpLmluc2VydEFmdGVyKG4pLmNzcyh7ZGlzcGxheTovXihpbmxpbmV8cnVieSkvLnRlc3Qobi5jc3MoImRpc3BsYXkiKSk/ImlubGluZS1ibG9jayI6ImJsb2NrIix2aXNpYmlsaXR5OiJoaWRkZW4iLG1hcmdpblRvcDpuLmNzcygibWFyZ2luVG9wIiksbWFyZ2luQm90dG9tOm4uY3NzKCJtYXJnaW5Cb3R0b20iKSxtYXJnaW5MZWZ0Om4uY3NzKCJtYXJnaW5MZWZ0IiksbWFyZ2luUmlnaHQ6bi5jc3MoIm1hcmdpblJpZ2h0IiksZmxvYXQ6bi5jc3MoImZsb2F0Iil9KS5vdXRlcldpZHRoKG4ub3V0ZXJXaWR0aCgpKS5vdXRlckhlaWdodChuLm91dGVySGVpZ2h0KCkpLmFkZENsYXNzKCJ1aS1lZmZlY3RzLXBsYWNlaG9sZGVyIiksbi5kYXRhKGUrInBsYWNlaG9sZGVyIixpKSksbi5jc3Moe3Bvc2l0aW9uOnIsbGVmdDpvLmxlZnQsdG9wOm8udG9wfSksaX0scmVtb3ZlUGxhY2Vob2xkZXI6ZnVuY3Rpb24odCl7dmFyIG49ZSsicGxhY2Vob2xkZXIiLGk9dC5kYXRhKG4pO2kmJihpLnJlbW92ZSgpLHQucmVtb3ZlRGF0YShuKSl9LGNsZWFuVXA6ZnVuY3Rpb24oZSl7dC5lZmZlY3RzLnJlc3RvcmVTdHlsZShlKSx0LmVmZmVjdHMucmVtb3ZlUGxhY2Vob2xkZXIoZSl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSxuLGkscil7cmV0dXJuIHI9cnx8e30sdC5lYWNoKG4sKGZ1bmN0aW9uKHQsbil7dmFyIG89ZS5jc3NVbml0KG4pO29bMF0+MCYmKHJbbl09b1swXSppK29bMV0pfSkpLHJ9fSksdC5mbi5leHRlbmQoe2VmZmVjdDpmdW5jdGlvbigpe3ZhciBlPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpLG49dC5lZmZlY3RzLmVmZmVjdFtlLmVmZmVjdF0scj1uLm1vZGUscz1lLnF1ZXVlLGE9c3x8ImZ4Iix1PWUuY29tcGxldGUsbD1lLm1vZGUsYz1bXSxmPWZ1bmN0aW9uKGUpe3ZhciBuPXQodGhpcyksbz10LmVmZmVjdHMubW9kZShuLGwpfHxyO24uZGF0YShpLCEwKSxjLnB1c2gobyksciYmKCJzaG93Ij09PW98fG89PT1yJiYiaGlkZSI9PT1vKSYmbi5zaG93KCksciYmIm5vbmUiPT09b3x8dC5lZmZlY3RzLnNhdmVTdHlsZShuKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmZSgpfTtpZih0LmZ4Lm9mZnx8IW4pcmV0dXJuIGw/dGhpc1tsXShlLmR1cmF0aW9uLHUpOnRoaXMuZWFjaCgoZnVuY3Rpb24oKXt1JiZ1LmNhbGwodGhpcyl9KSk7ZnVuY3Rpb24gaChvKXt2YXIgcz10KHRoaXMpO2Z1bmN0aW9uIGEoKXtzLnJlbW92ZURhdGEoaSksdC5lZmZlY3RzLmNsZWFuVXAocyksImhpZGUiPT09ZS5tb2RlJiZzLmhpZGUoKSxmKCl9ZnVuY3Rpb24gZigpeyJmdW5jdGlvbiI9PXR5cGVvZiB1JiZ1LmNhbGwoc1swXSksImZ1bmN0aW9uIj09dHlwZW9mIG8mJm8oKX1lLm1vZGU9Yy5zaGlmdCgpLCExPT09dC51aUJhY2tDb21wYXR8fHI/Im5vbmUiPT09ZS5tb2RlPyhzW2xdKCksZigpKTpuLmNhbGwoc1swXSxlLGEpOihzLmlzKCI6aGlkZGVuIik/ImhpZGUiPT09bDoic2hvdyI9PT1sKT8oc1tsXSgpLGYoKSk6bi5jYWxsKHNbMF0sZSxmKX1yZXR1cm4hMT09PXM/dGhpcy5lYWNoKGYpLmVhY2goaCk6dGhpcy5xdWV1ZShhLGYpLnF1ZXVlKGEsaCl9LHNob3c6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHMoZSkpcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InNob3ciLHRoaXMuZWZmZWN0LmNhbGwodGhpcyxuKX19KHQuZm4uc2hvdyksaGlkZTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYocyhlKSlyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIG49by5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG4ubW9kZT0iaGlkZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0odC5mbi5oaWRlKSx0b2dnbGU6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHMoZSl8fCJib29sZWFuIj09dHlwZW9mIGUpcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InRvZ2dsZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0odC5mbi50b2dnbGUpLGNzc1VuaXQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5jc3MoZSksaT1bXQo7cmV0dXJuIHQuZWFjaChbImVtIiwicHgiLCIlIiwicHQiXSwoZnVuY3Rpb24odCxlKXtuLmluZGV4T2YoZSk+MCYmKGk9W3BhcnNlRmxvYXQobiksZV0pfSkpLGl9LGNzc0NsaXA6ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dGhpcy5jc3MoImNsaXAiLCJyZWN0KCIrdC50b3ArInB4ICIrdC5yaWdodCsicHggIit0LmJvdHRvbSsicHggIit0LmxlZnQrInB4KSIpOmEodGhpcy5jc3MoImNsaXAiKSx0aGlzKX0sdHJhbnNmZXI6ZnVuY3Rpb24oZSxuKXt2YXIgaT10KHRoaXMpLHI9dChlLnRvKSxvPSJmaXhlZCI9PT1yLmNzcygicG9zaXRpb24iKSxzPXQoImJvZHkiKSxhPW8/cy5zY3JvbGxUb3AoKTowLHU9bz9zLnNjcm9sbExlZnQoKTowLGw9ci5vZmZzZXQoKSxjPXt0b3A6bC50b3AtYSxsZWZ0OmwubGVmdC11LGhlaWdodDpyLmlubmVySGVpZ2h0KCksd2lkdGg6ci5pbm5lcldpZHRoKCl9LGY9aS5vZmZzZXQoKSxoPXQoIjxkaXYgY2xhc3M9J3VpLWVmZmVjdHMtdHJhbnNmZXInPjwvZGl2PiIpO2guYXBwZW5kVG8oImJvZHkiKS5hZGRDbGFzcyhlLmNsYXNzTmFtZSkuY3NzKHt0b3A6Zi50b3AtYSxsZWZ0OmYubGVmdC11LGhlaWdodDppLmlubmVySGVpZ2h0KCksd2lkdGg6aS5pbm5lcldpZHRoKCkscG9zaXRpb246bz8iZml4ZWQiOiJhYnNvbHV0ZSJ9KS5hbmltYXRlKGMsZS5kdXJhdGlvbixlLmVhc2luZywoZnVuY3Rpb24oKXtoLnJlbW92ZSgpLCJmdW5jdGlvbiI9PXR5cGVvZiBuJiZuKCl9KSl9fSksdC5meC5zdGVwLmNsaXA9ZnVuY3Rpb24oZSl7ZS5jbGlwSW5pdHx8KGUuc3RhcnQ9dChlLmVsZW0pLmNzc0NsaXAoKSwic3RyaW5nIj09dHlwZW9mIGUuZW5kJiYoZS5lbmQ9YShlLmVuZCxlLmVsZW0pKSxlLmNsaXBJbml0PSEwKSx0KGUuZWxlbSkuY3NzQ2xpcCh7dG9wOmUucG9zKihlLmVuZC50b3AtZS5zdGFydC50b3ApK2Uuc3RhcnQudG9wLHJpZ2h0OmUucG9zKihlLmVuZC5yaWdodC1lLnN0YXJ0LnJpZ2h0KStlLnN0YXJ0LnJpZ2h0LGJvdHRvbTplLnBvcyooZS5lbmQuYm90dG9tLWUuc3RhcnQuYm90dG9tKStlLnN0YXJ0LmJvdHRvbSxsZWZ0OmUucG9zKihlLmVuZC5sZWZ0LWUuc3RhcnQubGVmdCkrZS5zdGFydC5sZWZ0fSl9fSgpLGZ1bmN0aW9uKCl7dmFyIGU9e307dC5lYWNoKFsiUXVhZCIsIkN1YmljIiwiUXVhcnQiLCJRdWludCIsIkV4cG8iXSwoZnVuY3Rpb24odCxuKXtlW25dPWZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLnBvdyhlLHQrMil9fSkpLHQuZXh0ZW5kKGUse1NpbmU6ZnVuY3Rpb24odCl7cmV0dXJuIDEtTWF0aC5jb3ModCpNYXRoLlBJLzIpfSxDaXJjOmZ1bmN0aW9uKHQpe3JldHVybiAxLU1hdGguc3FydCgxLXQqdCl9LEVsYXN0aWM6ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10fHwxPT09dD90Oi1NYXRoLnBvdygyLDgqKHQtMSkpKk1hdGguc2luKCg4MCoodC0xKS03LjUpKk1hdGguUEkvMTUpfSxCYWNrOmZ1bmN0aW9uKHQpe3JldHVybiB0KnQqKDMqdC0yKX0sQm91bmNlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTQ7dDwoKGU9TWF0aC5wb3coMiwtLW4pKS0xKS8xMTspO3JldHVybiAxL01hdGgucG93KDQsMy1uKS03LjU2MjUqTWF0aC5wb3coKDMqZS0yKS8yMi10LDIpfX0pLHQuZWFjaChlLChmdW5jdGlvbihlLG4pe3QuZWFzaW5nWyJlYXNlSW4iK2VdPW4sdC5lYXNpbmdbImVhc2VPdXQiK2VdPWZ1bmN0aW9uKHQpe3JldHVybiAxLW4oMS10KX0sdC5lYXNpbmdbImVhc2VJbk91dCIrZV09ZnVuY3Rpb24odCl7cmV0dXJuIHQ8LjU/bigyKnQpLzI6MS1uKC0yKnQrMikvMn19KSl9KCksdC5lZmZlY3RzfSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YgaT9pLmFwcGx5KGUscik6aSl8fCh0LmV4cG9ydHM9byl9KCl9LDI5MzI3MSh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigxNjg3MDEpXSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YoaT1mdW5jdGlvbih0KXtyZXR1cm4gdC51aS5pZT0hIS9tc2llIFtcdy5dKy8uZXhlYyhuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkpfSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSw0MDYwNzIodCxlLG4pe3ZhciBpLHIsbzshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cj1bbig0ODI1MDQpLG4oMTY4NzAxKV0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mKGk9ZnVuY3Rpb24odCl7dC5leHByLnBzZXVkb3N8fCh0LmV4cHIucHNldWRvcz10LmV4cHJbIjoiXSk7dC51bmlxdWVTb3J0fHwodC51bmlxdWVTb3J0PXQudW5pcXVlKTtpZighdC5lc2NhcGVTZWxlY3Rvcil7dmFyIGU9LyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15ceDgwLVx1RkZGRlx3LV0vZyxuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/IlwwIj09PXQ/Iu+/vSI6dC5zbGljZSgwLC0xKSsiXFwiK3QuY2hhckNvZGVBdCh0Lmxlbmd0aC0xKS50b1N0cmluZygxNikrIiAiOiJcXCIrdH07dC5lc2NhcGVTZWxlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4odCsiIikucmVwbGFjZShlLG4pfX10LmZuLmV2ZW4mJnQuZm4ub2RkfHx0LmZuLmV4dGVuZCh7ZXZlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQlMj09MH0pKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCUyPT0xfSkpfX0pfSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSwyMTA5NzEodCxlLG4pe3ZhciBpLHIsbzshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cj1bbig0ODI1MDQpLG4oMTY4NzAxKV0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mKGk9ZnVuY3Rpb24odCl7fSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSw3MTY5OSh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigxNjg3MDEpXSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YoaT1mdW5jdGlvbih0KXtyZXR1cm4gdC51aS5rZXlDb2RlPXtCQUNLU1BBQ0U6OCxDT01NQToxODgsREVMRVRFOjQ2LERPV046NDAsRU5EOjM1LEVOVEVSOjEzLApFU0NBUEU6MjcsSE9NRTozNixMRUZUOjM3LFBBR0VfRE9XTjozNCxQQUdFX1VQOjMzLFBFUklPRDoxOTAsUklHSFQ6MzksU1BBQ0U6MzIsVEFCOjksVVA6Mzh9fSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSwxODYyMzQodCxlLG4pe3ZhciBpLHIsbztyPVtuKDQ4MjUwNCldLGk9ZnVuY3Rpb24odCxlKXt2YXIgbixpPSJiYWNrZ3JvdW5kQ29sb3IgYm9yZGVyQm90dG9tQ29sb3IgYm9yZGVyTGVmdENvbG9yIGJvcmRlclJpZ2h0Q29sb3IgYm9yZGVyVG9wQ29sb3IgY29sb3IgY29sdW1uUnVsZUNvbG9yIG91dGxpbmVDb2xvciB0ZXh0RGVjb3JhdGlvbkNvbG9yIHRleHRFbXBoYXNpc0NvbG9yIixyPXt9LG89ci50b1N0cmluZyxzPS9eKFtcLStdKT1ccyooXGQrXC4/XGQqKS8sYT1be3JlOi9yZ2JhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKixccyooXGR7MSwzfSlccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuW3RbMV0sdFsyXSx0WzNdLHRbNF1dfX0se3JlOi9yZ2JhP1woXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuWzIuNTUqdFsxXSwyLjU1KnRbMl0sMi41NSp0WzNdLHRbNF1dfX0se3JlOi8jKFthLWYwLTldezJ9KShbYS1mMC05XXsyfSkoW2EtZjAtOV17Mn0pKFthLWYwLTldezJ9KT8vLHBhcnNlOmZ1bmN0aW9uKHQpe3JldHVybltwYXJzZUludCh0WzFdLDE2KSxwYXJzZUludCh0WzJdLDE2KSxwYXJzZUludCh0WzNdLDE2KSx0WzRdPyhwYXJzZUludCh0WzRdLDE2KS8yNTUpLnRvRml4ZWQoMik6MV19fSx7cmU6LyMoW2EtZjAtOV0pKFthLWYwLTldKShbYS1mMC05XSkoW2EtZjAtOV0pPy8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuW3BhcnNlSW50KHRbMV0rdFsxXSwxNikscGFyc2VJbnQodFsyXSt0WzJdLDE2KSxwYXJzZUludCh0WzNdK3RbM10sMTYpLHRbNF0/KHBhcnNlSW50KHRbNF0rdFs0XSwxNikvMjU1KS50b0ZpeGVkKDIpOjFdfX0se3JlOi9oc2xhP1woXHMqKFxkKyg/OlwuXGQrKT8pXHMqLFxzKihcZCsoPzpcLlxkKyk/KVwlXHMqLFxzKihcZCsoPzpcLlxkKyk/KVwlXHMqKD86LFxzKihcZD8oPzpcLlxkKyk/KVxzKik/XCkvLHNwYWNlOiJoc2xhIixwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm5bdFsxXSx0WzJdLzEwMCx0WzNdLzEwMCx0WzRdXX19XSx1PXQuQ29sb3I9ZnVuY3Rpb24oZSxuLGkscil7cmV0dXJuIG5ldyB0LkNvbG9yLmZuLnBhcnNlKGUsbixpLHIpfSxsPXtyZ2JhOntwcm9wczp7cmVkOntpZHg6MCx0eXBlOiJieXRlIn0sZ3JlZW46e2lkeDoxLHR5cGU6ImJ5dGUifSxibHVlOntpZHg6Mix0eXBlOiJieXRlIn19fSxoc2xhOntwcm9wczp7aHVlOntpZHg6MCx0eXBlOiJkZWdyZWVzIn0sc2F0dXJhdGlvbjp7aWR4OjEsdHlwZToicGVyY2VudCJ9LGxpZ2h0bmVzczp7aWR4OjIsdHlwZToicGVyY2VudCJ9fX19LGM9e2J5dGU6e2Zsb29yOiEwLG1heDoyNTV9LHBlcmNlbnQ6e21heDoxfSxkZWdyZWVzOnttb2Q6MzYwLGZsb29yOiEwfX0sZj11LnN1cHBvcnQ9e30saD10KCI8cD4iKVswXSxkPXQuZWFjaDtmdW5jdGlvbiBwKHQpe3JldHVybiBudWxsPT10P3QrIiI6Im9iamVjdCI9PXR5cGVvZiB0P3Jbby5jYWxsKHQpXXx8Im9iamVjdCI6dHlwZW9mIHR9ZnVuY3Rpb24gdih0LGUsbil7dmFyIGk9Y1tlLnR5cGVdfHx7fTtyZXR1cm4gbnVsbD09dD9ufHwhZS5kZWY/bnVsbDplLmRlZjoodD1pLmZsb29yP35+dDpwYXJzZUZsb2F0KHQpLGlzTmFOKHQpP2UuZGVmOmkubW9kPyh0K2kubW9kKSVpLm1vZDpNYXRoLm1pbihpLm1heCxNYXRoLm1heCgwLHQpKSl9ZnVuY3Rpb24gZyhlKXt2YXIgaT11KCkscj1pLl9yZ2JhPVtdO3JldHVybiBlPWUudG9Mb3dlckNhc2UoKSxkKGEsKGZ1bmN0aW9uKHQsbil7dmFyIG8scz1uLnJlLmV4ZWMoZSksYT1zJiZuLnBhcnNlKHMpLHU9bi5zcGFjZXx8InJnYmEiO2lmKGEpcmV0dXJuIG89aVt1XShhKSxpW2xbdV0uY2FjaGVdPW9bbFt1XS5jYWNoZV0scj1pLl9yZ2JhPW8uX3JnYmEsITF9KSksci5sZW5ndGg/KCIwLDAsMCwwIj09PXIuam9pbigpJiZ0LmV4dGVuZChyLG4udHJhbnNwYXJlbnQpLGkpOm5bZV19ZnVuY3Rpb24gbSh0LGUsbil7cmV0dXJuIDYqKG49KG4rMSklMSk8MT90KyhlLXQpKm4qNjoyKm48MT9lOjMqbjwyP3QrKGUtdCkqKDIvMy1uKSo2OnR9aC5zdHlsZS5jc3NUZXh0PSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMSwxLDEsLjUpIixmLnJnYmE9aC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IuaW5kZXhPZigicmdiYSIpPi0xLGQobCwoZnVuY3Rpb24odCxlKXtlLmNhY2hlPSJfIit0LGUucHJvcHMuYWxwaGE9e2lkeDozLHR5cGU6InBlcmNlbnQiLGRlZjoxfX0pKSx0LmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sIi5zcGxpdCgiICIpLChmdW5jdGlvbih0LGUpe3JbIltvYmplY3QgIitlKyJdIl09ZS50b0xvd2VyQ2FzZSgpfSkpLHUuZm49dC5leHRlbmQodS5wcm90b3R5cGUse3BhcnNlOmZ1bmN0aW9uKGkscixvLHMpe2lmKGk9PT1lKXJldHVybiB0aGlzLl9yZ2JhPVtudWxsLG51bGwsbnVsbCxudWxsXSx0aGlzOyhpLmpxdWVyeXx8aS5ub2RlVHlwZSkmJihpPXQoaSkuY3NzKHIpLHI9ZSk7dmFyIGE9dGhpcyxjPXAoaSksZj10aGlzLl9yZ2JhPVtdO3JldHVybiByIT09ZSYmKGk9W2kscixvLHNdLGM9ImFycmF5IiksInN0cmluZyI9PT1jP3RoaXMucGFyc2UoZyhpKXx8bi5fZGVmYXVsdCk6ImFycmF5Ij09PWM/KGQobC5yZ2JhLnByb3BzLChmdW5jdGlvbih0LGUpe2ZbZS5pZHhdPXYoaVtlLmlkeF0sZSl9KSksdGhpcyk6Im9iamVjdCI9PT1jPyhkKGwsaSBpbnN0YW5jZW9mIHU/ZnVuY3Rpb24odCxlKXtpW2UuY2FjaGVdJiYoYVtlLmNhY2hlXT1pW2UuY2FjaGVdLnNsaWNlKCkpfTpmdW5jdGlvbihlLG4pe3ZhciByPW4uY2FjaGUKO2Qobi5wcm9wcywoZnVuY3Rpb24odCxlKXtpZighYVtyXSYmbi50byl7aWYoImFscGhhIj09PXR8fG51bGw9PWlbdF0pcmV0dXJuO2Fbcl09bi50byhhLl9yZ2JhKX1hW3JdW2UuaWR4XT12KGlbdF0sZSwhMCl9KSksYVtyXSYmdC5pbkFycmF5KG51bGwsYVtyXS5zbGljZSgwLDMpKTwwJiYobnVsbD09YVtyXVszXSYmKGFbcl1bM109MSksbi5mcm9tJiYoYS5fcmdiYT1uLmZyb20oYVtyXSkpKX0pLHRoaXMpOnZvaWQgMH0saXM6ZnVuY3Rpb24odCl7dmFyIGU9dSh0KSxuPSEwLGk9dGhpcztyZXR1cm4gZChsLChmdW5jdGlvbih0LHIpe3ZhciBvLHM9ZVtyLmNhY2hlXTtyZXR1cm4gcyYmKG89aVtyLmNhY2hlXXx8ci50byYmci50byhpLl9yZ2JhKXx8W10sZChyLnByb3BzLChmdW5jdGlvbih0LGUpe2lmKG51bGwhPXNbZS5pZHhdKXJldHVybiBuPXNbZS5pZHhdPT09b1tlLmlkeF19KSkpLG59KSksbn0sX3NwYWNlOmZ1bmN0aW9uKCl7dmFyIHQ9W10sZT10aGlzO3JldHVybiBkKGwsKGZ1bmN0aW9uKG4saSl7ZVtpLmNhY2hlXSYmdC5wdXNoKG4pfSkpLHQucG9wKCl9LHRyYW5zaXRpb246ZnVuY3Rpb24odCxlKXt2YXIgbj11KHQpLGk9bi5fc3BhY2UoKSxyPWxbaV0sbz0wPT09dGhpcy5hbHBoYSgpP3UoInRyYW5zcGFyZW50Iik6dGhpcyxzPW9bci5jYWNoZV18fHIudG8oby5fcmdiYSksYT1zLnNsaWNlKCk7cmV0dXJuIG49bltyLmNhY2hlXSxkKHIucHJvcHMsKGZ1bmN0aW9uKHQsaSl7dmFyIHI9aS5pZHgsbz1zW3JdLHU9bltyXSxsPWNbaS50eXBlXXx8e307bnVsbCE9PXUmJihudWxsPT09bz9hW3JdPXU6KGwubW9kJiYodS1vPmwubW9kLzI/bys9bC5tb2Q6by11PmwubW9kLzImJihvLT1sLm1vZCkpLGFbcl09digodS1vKSplK28saSkpKX0pKSx0aGlzW2ldKGEpfSxibGVuZDpmdW5jdGlvbihlKXtpZigxPT09dGhpcy5fcmdiYVszXSlyZXR1cm4gdGhpczt2YXIgbj10aGlzLl9yZ2JhLnNsaWNlKCksaT1uLnBvcCgpLHI9dShlKS5fcmdiYTtyZXR1cm4gdSh0Lm1hcChuLChmdW5jdGlvbih0LGUpe3JldHVybigxLWkpKnJbZV0raSp0fSkpKX0sdG9SZ2JhU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIGU9InJnYmEoIixuPXQubWFwKHRoaXMuX3JnYmEsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGwhPXQ/dDplPjI/MTowfSkpO3JldHVybiAxPT09blszXSYmKG4ucG9wKCksZT0icmdiKCIpLGUrbi5qb2luKCkrIikifSx0b0hzbGFTdHJpbmc6ZnVuY3Rpb24oKXt2YXIgZT0iaHNsYSgiLG49dC5tYXAodGhpcy5oc2xhKCksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQmJih0PWU+Mj8xOjApLGUmJmU8MyYmKHQ9TWF0aC5yb3VuZCgxMDAqdCkrIiUiKSx0fSkpO3JldHVybiAxPT09blszXSYmKG4ucG9wKCksZT0iaHNsKCIpLGUrbi5qb2luKCkrIikifSx0b0hleFN0cmluZzpmdW5jdGlvbihlKXt2YXIgbj10aGlzLl9yZ2JhLnNsaWNlKCksaT1uLnBvcCgpO3JldHVybiBlJiZuLnB1c2gofn4oMjU1KmkpKSwiIyIrdC5tYXAobiwoZnVuY3Rpb24odCl7cmV0dXJuIDE9PT0odD0odHx8MCkudG9TdHJpbmcoMTYpKS5sZW5ndGg/IjAiK3Q6dH0pKS5qb2luKCIiKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuX3JnYmFbM10/InRyYW5zcGFyZW50Ijp0aGlzLnRvUmdiYVN0cmluZygpfX0pLHUuZm4ucGFyc2UucHJvdG90eXBlPXUuZm4sbC5oc2xhLnRvPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXRbMF18fG51bGw9PXRbMV18fG51bGw9PXRbMl0pcmV0dXJuW251bGwsbnVsbCxudWxsLHRbM11dO3ZhciBlLG4saT10WzBdLzI1NSxyPXRbMV0vMjU1LG89dFsyXS8yNTUscz10WzNdLGE9TWF0aC5tYXgoaSxyLG8pLHU9TWF0aC5taW4oaSxyLG8pLGw9YS11LGM9YSt1LGY9LjUqYztyZXR1cm4gZT11PT09YT8wOmk9PT1hPzYwKihyLW8pL2wrMzYwOnI9PT1hPzYwKihvLWkpL2wrMTIwOjYwKihpLXIpL2wrMjQwLG49MD09PWw/MDpmPD0uNT9sL2M6bC8oMi1jKSxbTWF0aC5yb3VuZChlKSUzNjAsbixmLHM/PzFdfSxsLmhzbGEuZnJvbT1mdW5jdGlvbih0KXtpZihudWxsPT10WzBdfHxudWxsPT10WzFdfHxudWxsPT10WzJdKXJldHVybltudWxsLG51bGwsbnVsbCx0WzNdXTt2YXIgZT10WzBdLzM2MCxuPXRbMV0saT10WzJdLHI9dFszXSxvPWk8PS41P2kqKDErbik6aStuLWkqbixzPTIqaS1vO3JldHVybltNYXRoLnJvdW5kKDI1NSptKHMsbyxlKzEvMykpLE1hdGgucm91bmQoMjU1Km0ocyxvLGUpKSxNYXRoLnJvdW5kKDI1NSptKHMsbyxlLTEvMykpLHJdfSxkKGwsKGZ1bmN0aW9uKHQsbil7dmFyIGk9bi5wcm9wcyxyPW4uY2FjaGUsbz1uLnRvLGE9bi5mcm9tO3UuZm5bdF09ZnVuY3Rpb24odCl7aWYobyYmIXRoaXNbcl0mJih0aGlzW3JdPW8odGhpcy5fcmdiYSkpLHQ9PT1lKXJldHVybiB0aGlzW3JdLnNsaWNlKCk7dmFyIG4scz1wKHQpLGw9ImFycmF5Ij09PXN8fCJvYmplY3QiPT09cz90OmFyZ3VtZW50cyxjPXRoaXNbcl0uc2xpY2UoKTtyZXR1cm4gZChpLChmdW5jdGlvbih0LGUpe3ZhciBuPWxbIm9iamVjdCI9PT1zP3Q6ZS5pZHhdO251bGw9PW4mJihuPWNbZS5pZHhdKSxjW2UuaWR4XT12KG4sZSl9KSksYT8oKG49dShhKGMpKSlbcl09YyxuKTp1KGMpfSxkKGksKGZ1bmN0aW9uKGUsbil7dS5mbltlXXx8KHUuZm5bZV09ZnVuY3Rpb24oaSl7dmFyIHIsbyxhLHUsbD1wKGkpO3JldHVybiBvPShyPXRoaXNbdT0iYWxwaGEiPT09ZT90aGlzLl9oc2xhPyJoc2xhIjoicmdiYSI6dF0oKSlbbi5pZHhdLCJ1bmRlZmluZWQiPT09bD9vOigiZnVuY3Rpb24iPT09bCYmKGw9cChpPWkuY2FsbCh0aGlzLG8pKSksbnVsbD09aSYmbi5lbXB0eT90aGlzOigic3RyaW5nIj09PWwmJihhPXMuZXhlYyhpKSkmJihpPW8rcGFyc2VGbG9hdChhWzJdKSooIisiPT09YVsxXT8xOi0xKSkscltuLmlkeF09aSx0aGlzW3VdKHIpKSl9KX0pKX0pKSx1Lmhvb2s9ZnVuY3Rpb24oZSl7dmFyIG49ZS5zcGxpdCgiICIpO2QobiwoZnVuY3Rpb24oZSxuKXt0LmNzc0hvb2tzW25dPXtzZXQ6ZnVuY3Rpb24oZSxpKXt2YXIgcixvLHM9IiI7aWYoInRyYW5zcGFyZW50IiE9PWkmJigic3RyaW5nIiE9PXAoaSl8fChyPWcoaSkpKSl7CmlmKGk9dShyfHxpKSwhZi5yZ2JhJiYxIT09aS5fcmdiYVszXSl7Zm9yKG89ImJhY2tncm91bmRDb2xvciI9PT1uP2UucGFyZW50Tm9kZTplOygiIj09PXN8fCJ0cmFuc3BhcmVudCI9PT1zKSYmbyYmby5zdHlsZTspdHJ5e3M9dC5jc3MobywiYmFja2dyb3VuZENvbG9yIiksbz1vLnBhcmVudE5vZGV9Y2F0Y2godCl7fWk9aS5ibGVuZChzJiYidHJhbnNwYXJlbnQiIT09cz9zOiJfZGVmYXVsdCIpfWk9aS50b1JnYmFTdHJpbmcoKX10cnl7ZS5zdHlsZVtuXT1pfWNhdGNoKHQpe319fSx0LmZ4LnN0ZXBbbl09ZnVuY3Rpb24oZSl7ZS5jb2xvckluaXR8fChlLnN0YXJ0PXUoZS5lbGVtLG4pLGUuZW5kPXUoZS5lbmQpLGUuY29sb3JJbml0PSEwKSx0LmNzc0hvb2tzW25dLnNldChlLmVsZW0sZS5zdGFydC50cmFuc2l0aW9uKGUuZW5kLGUucG9zKSl9fSkpfSx1Lmhvb2soaSksdC5jc3NIb29rcy5ib3JkZXJDb2xvcj17ZXhwYW5kOmZ1bmN0aW9uKHQpe3ZhciBlPXt9O3JldHVybiBkKFsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sKGZ1bmN0aW9uKG4saSl7ZVsiYm9yZGVyIitpKyJDb2xvciJdPXR9KSksZX19LG49dC5Db2xvci5uYW1lcz17YXF1YToiIzAwZmZmZiIsYmxhY2s6IiMwMDAwMDAiLGJsdWU6IiMwMDAwZmYiLGZ1Y2hzaWE6IiNmZjAwZmYiLGdyYXk6IiM4MDgwODAiLGdyZWVuOiIjMDA4MDAwIixsaW1lOiIjMDBmZjAwIixtYXJvb246IiM4MDAwMDAiLG5hdnk6IiMwMDAwODAiLG9saXZlOiIjODA4MDAwIixwdXJwbGU6IiM4MDAwODAiLHJlZDoiI2ZmMDAwMCIsc2lsdmVyOiIjYzBjMGMwIix0ZWFsOiIjMDA4MDgwIix3aGl0ZToiI2ZmZmZmZiIseWVsbG93OiIjZmZmZjAwIix0cmFuc3BhcmVudDpbbnVsbCxudWxsLG51bGwsMF0sX2RlZmF1bHQ6IiNmZmZmZmYifX0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mIGk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSwxNjg3MDEodCxlLG4pe3ZhciBpLHIsbzshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cj1bbig0ODI1MDQpXSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YoaT1mdW5jdGlvbih0KXtyZXR1cm4gdC51aT10LnVpfHx7fSx0LnVpLnZlcnNpb249IjEuMTMuMiJ9KT9pLmFwcGx5KGUscik6aSl8fCh0LmV4cG9ydHM9byl9KCl9LDY2NjM0OSh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigxNjg3MDEpXSxpPWZ1bmN0aW9uKHQpe3ZhciBlPTAsbj1BcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksaT1BcnJheS5wcm90b3R5cGUuc2xpY2U7cmV0dXJuIHQuY2xlYW5EYXRhPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgaSxyLG87Zm9yKG89MDtudWxsIT0ocj1uW29dKTtvKyspKGk9dC5fZGF0YShyLCJldmVudHMiKSkmJmkucmVtb3ZlJiZ0KHIpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKTtlKG4pfX0odC5jbGVhbkRhdGEpLHQud2lkZ2V0PWZ1bmN0aW9uKGUsbixpKXt2YXIgcixvLHMsYT17fSx1PWUuc3BsaXQoIi4iKVswXSxsPXUrIi0iKyhlPWUuc3BsaXQoIi4iKVsxXSk7cmV0dXJuIGl8fChpPW4sbj10LldpZGdldCksQXJyYXkuaXNBcnJheShpKSYmKGk9dC5leHRlbmQuYXBwbHkobnVsbCxbe31dLmNvbmNhdChpKSkpLHQuZXhwci5wc2V1ZG9zW2wudG9Mb3dlckNhc2UoKV09ZnVuY3Rpb24oZSl7cmV0dXJuISF0LmRhdGEoZSxsKX0sdFt1XT10W3VdfHx7fSxyPXRbdV1bZV0sbz10W3VdW2VdPWZ1bmN0aW9uKHQsZSl7aWYoIXRoaXN8fCF0aGlzLl9jcmVhdGVXaWRnZXQpcmV0dXJuIG5ldyBvKHQsZSk7YXJndW1lbnRzLmxlbmd0aCYmdGhpcy5fY3JlYXRlV2lkZ2V0KHQsZSl9LHQuZXh0ZW5kKG8scix7dmVyc2lvbjppLnZlcnNpb24sX3Byb3RvOnQuZXh0ZW5kKHt9LGkpLF9jaGlsZENvbnN0cnVjdG9yczpbXX0pLChzPW5ldyBuKS5vcHRpb25zPXQud2lkZ2V0LmV4dGVuZCh7fSxzLm9wdGlvbnMpLHQuZWFjaChpLChmdW5jdGlvbih0LGUpe2FbdF09ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZnVuY3Rpb24oKXtmdW5jdGlvbiBpKCl7cmV0dXJuIG4ucHJvdG90eXBlW3RdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiByKGUpe3JldHVybiBuLnByb3RvdHlwZVt0XS5hcHBseSh0aGlzLGUpfXJldHVybiBmdW5jdGlvbigpe3ZhciB0LG49dGhpcy5fc3VwZXIsbz10aGlzLl9zdXBlckFwcGx5O3JldHVybiB0aGlzLl9zdXBlcj1pLHRoaXMuX3N1cGVyQXBwbHk9cix0PWUuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX3N1cGVyPW4sdGhpcy5fc3VwZXJBcHBseT1vLHR9fSgpOmV9KSksby5wcm90b3R5cGU9dC53aWRnZXQuZXh0ZW5kKHMse3dpZGdldEV2ZW50UHJlZml4OnImJnMud2lkZ2V0RXZlbnRQcmVmaXh8fGV9LGEse2NvbnN0cnVjdG9yOm8sbmFtZXNwYWNlOnUsd2lkZ2V0TmFtZTplLHdpZGdldEZ1bGxOYW1lOmx9KSxyPyh0LmVhY2goci5fY2hpbGRDb25zdHJ1Y3RvcnMsKGZ1bmN0aW9uKGUsbil7dmFyIGk9bi5wcm90b3R5cGU7dC53aWRnZXQoaS5uYW1lc3BhY2UrIi4iK2kud2lkZ2V0TmFtZSxvLG4uX3Byb3RvKX0pKSxkZWxldGUgci5fY2hpbGRDb25zdHJ1Y3RvcnMpOm4uX2NoaWxkQ29uc3RydWN0b3JzLnB1c2gobyksdC53aWRnZXQuYnJpZGdlKGUsbyksb30sdC53aWRnZXQuZXh0ZW5kPWZ1bmN0aW9uKGUpe2Zvcih2YXIgcixvLHM9aS5jYWxsKGFyZ3VtZW50cywxKSxhPTAsdT1zLmxlbmd0aDthPHU7YSsrKWZvcihyIGluIHNbYV0pbz1zW2FdW3JdLG4uY2FsbChzW2FdLHIpJiZ2b2lkIDAhPT1vJiYodC5pc1BsYWluT2JqZWN0KG8pP2Vbcl09dC5pc1BsYWluT2JqZWN0KGVbcl0pP3Qud2lkZ2V0LmV4dGVuZCh7fSxlW3JdLG8pOnQud2lkZ2V0LmV4dGVuZCh7fSxvKTplW3JdPW8pO3JldHVybiBlfSx0LndpZGdldC5icmlkZ2U9ZnVuY3Rpb24oZSxuKXt2YXIgcj1uLnByb3RvdHlwZS53aWRnZXRGdWxsTmFtZXx8ZTt0LmZuW2VdPWZ1bmN0aW9uKG8pe3ZhciBzPSJzdHJpbmciPT10eXBlb2YgbyxhPWkuY2FsbChhcmd1bWVudHMsMSksdT10aGlzCjtyZXR1cm4gcz90aGlzLmxlbmd0aHx8Imluc3RhbmNlIiE9PW8/dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuLGk9dC5kYXRhKHRoaXMscik7cmV0dXJuImluc3RhbmNlIj09PW8/KHU9aSwhMSk6aT8iZnVuY3Rpb24iIT10eXBlb2YgaVtvXXx8Il8iPT09by5jaGFyQXQoMCk/dC5lcnJvcigibm8gc3VjaCBtZXRob2QgJyIrbysiJyBmb3IgIitlKyIgd2lkZ2V0IGluc3RhbmNlIik6KG49aVtvXS5hcHBseShpLGEpKSE9PWkmJnZvaWQgMCE9PW4/KHU9biYmbi5qcXVlcnk/dS5wdXNoU3RhY2sobi5nZXQoKSk6biwhMSk6dm9pZCAwOnQuZXJyb3IoImNhbm5vdCBjYWxsIG1ldGhvZHMgb24gIitlKyIgcHJpb3IgdG8gaW5pdGlhbGl6YXRpb247IGF0dGVtcHRlZCB0byBjYWxsIG1ldGhvZCAnIitvKyInIil9KSk6dT12b2lkIDA6KGEubGVuZ3RoJiYobz10LndpZGdldC5leHRlbmQuYXBwbHkobnVsbCxbb10uY29uY2F0KGEpKSksdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBlPXQuZGF0YSh0aGlzLHIpO2U/KGUub3B0aW9uKG98fHt9KSxlLl9pbml0JiZlLl9pbml0KCkpOnQuZGF0YSh0aGlzLHIsbmV3IG4obyx0aGlzKSl9KSkpLHV9fSx0LldpZGdldD1mdW5jdGlvbigpe30sdC5XaWRnZXQuX2NoaWxkQ29uc3RydWN0b3JzPVtdLHQuV2lkZ2V0LnByb3RvdHlwZT17d2lkZ2V0TmFtZToid2lkZ2V0Iix3aWRnZXRFdmVudFByZWZpeDoiIixkZWZhdWx0RWxlbWVudDoiPGRpdj4iLG9wdGlvbnM6e2NsYXNzZXM6e30sZGlzYWJsZWQ6ITEsY3JlYXRlOm51bGx9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24obixpKXtpPXQoaXx8dGhpcy5kZWZhdWx0RWxlbWVudHx8dGhpcylbMF0sdGhpcy5lbGVtZW50PXQoaSksdGhpcy51dWlkPWUrKyx0aGlzLmV2ZW50TmFtZXNwYWNlPSIuIit0aGlzLndpZGdldE5hbWUrdGhpcy51dWlkLHRoaXMuYmluZGluZ3M9dCgpLHRoaXMuaG92ZXJhYmxlPXQoKSx0aGlzLmZvY3VzYWJsZT10KCksdGhpcy5jbGFzc2VzRWxlbWVudExvb2t1cD17fSxpIT09dGhpcyYmKHQuZGF0YShpLHRoaXMud2lkZ2V0RnVsbE5hbWUsdGhpcyksdGhpcy5fb24oITAsdGhpcy5lbGVtZW50LHtyZW1vdmU6ZnVuY3Rpb24odCl7dC50YXJnZXQ9PT1pJiZ0aGlzLmRlc3Ryb3koKX19KSx0aGlzLmRvY3VtZW50PXQoaS5zdHlsZT9pLm93bmVyRG9jdW1lbnQ6aS5kb2N1bWVudHx8aSksdGhpcy53aW5kb3c9dCh0aGlzLmRvY3VtZW50WzBdLmRlZmF1bHRWaWV3fHx0aGlzLmRvY3VtZW50WzBdLnBhcmVudFdpbmRvdykpLHRoaXMub3B0aW9ucz10LndpZGdldC5leHRlbmQoe30sdGhpcy5vcHRpb25zLHRoaXMuX2dldENyZWF0ZU9wdGlvbnMoKSxuKSx0aGlzLl9jcmVhdGUoKSx0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuX3NldE9wdGlvbkRpc2FibGVkKHRoaXMub3B0aW9ucy5kaXNhYmxlZCksdGhpcy5fdHJpZ2dlcigiY3JlYXRlIixudWxsLHRoaXMuX2dldENyZWF0ZUV2ZW50RGF0YSgpKSx0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJue319LF9nZXRDcmVhdGVFdmVudERhdGE6dC5ub29wLF9jcmVhdGU6dC5ub29wLF9pbml0OnQubm9vcCxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9kZXN0cm95KCksdC5lYWNoKHRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXAsKGZ1bmN0aW9uKHQsbil7ZS5fcmVtb3ZlQ2xhc3Mobix0KX0pKSx0aGlzLmVsZW1lbnQub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpLnJlbW92ZURhdGEodGhpcy53aWRnZXRGdWxsTmFtZSksdGhpcy53aWRnZXQoKS5vZmYodGhpcy5ldmVudE5hbWVzcGFjZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLHRoaXMuYmluZGluZ3Mub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpfSxfZGVzdHJveTp0Lm5vb3Asd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGUsbil7dmFyIGkscixvLHM9ZTtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYoInN0cmluZyI9PXR5cGVvZiBlKWlmKHM9e30saT1lLnNwbGl0KCIuIiksZT1pLnNoaWZ0KCksaS5sZW5ndGgpe2ZvcihyPXNbZV09dC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tlXSksbz0wO288aS5sZW5ndGgtMTtvKyspcltpW29dXT1yW2lbb11dfHx7fSxyPXJbaVtvXV07aWYoZT1pLnBvcCgpLDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1yW2VdP251bGw6cltlXTtyW2VdPW59ZWxzZXtpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09dGhpcy5vcHRpb25zW2VdP251bGw6dGhpcy5vcHRpb25zW2VdO3NbZV09bn1yZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyhzKSx0aGlzfSxfc2V0T3B0aW9uczpmdW5jdGlvbih0KXt2YXIgZTtmb3IoZSBpbiB0KXRoaXMuX3NldE9wdGlvbihlLHRbZV0pO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuImNsYXNzZXMiPT09dCYmdGhpcy5fc2V0T3B0aW9uQ2xhc3NlcyhlKSx0aGlzLm9wdGlvbnNbdF09ZSwiZGlzYWJsZWQiPT09dCYmdGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQoZSksdGhpc30sX3NldE9wdGlvbkNsYXNzZXM6ZnVuY3Rpb24oZSl7dmFyIG4saSxyO2ZvcihuIGluIGUpcj10aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwW25dLGVbbl0hPT10aGlzLm9wdGlvbnMuY2xhc3Nlc1tuXSYmciYmci5sZW5ndGgmJihpPXQoci5nZXQoKSksdGhpcy5fcmVtb3ZlQ2xhc3MocixuKSxpLmFkZENsYXNzKHRoaXMuX2NsYXNzZXMoe2VsZW1lbnQ6aSxrZXlzOm4sY2xhc3NlczplLGFkZDohMH0pKSl9LF9zZXRPcHRpb25EaXNhYmxlZDpmdW5jdGlvbih0KXt0aGlzLl90b2dnbGVDbGFzcyh0aGlzLndpZGdldCgpLHRoaXMud2lkZ2V0RnVsbE5hbWUrIi1kaXNhYmxlZCIsbnVsbCwhIXQpLHQmJih0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmhvdmVyYWJsZSxudWxsLCJ1aS1zdGF0ZS1ob3ZlciIpLHRoaXMuX3JlbW92ZUNsYXNzKHRoaXMuZm9jdXNhYmxlLG51bGwsInVpLXN0YXRlLWZvY3VzIikpfSwKZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoe2Rpc2FibGVkOiExfSl9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyh7ZGlzYWJsZWQ6ITB9KX0sX2NsYXNzZXM6ZnVuY3Rpb24oZSl7dmFyIG49W10saT10aGlzO2Z1bmN0aW9uIHIoKXt2YXIgbj1bXTtlLmVsZW1lbnQuZWFjaCgoZnVuY3Rpb24oZSxyKXt0Lm1hcChpLmNsYXNzZXNFbGVtZW50TG9va3VwLChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdC5pcyhyKX0pKXx8bi5wdXNoKHIpfSkpLGkuX29uKHQobikse3JlbW92ZToiX3VudHJhY2tDbGFzc2VzRWxlbWVudCJ9KX1mdW5jdGlvbiBvKG8scyl7dmFyIGEsdTtmb3IodT0wO3U8by5sZW5ndGg7dSsrKWE9aS5jbGFzc2VzRWxlbWVudExvb2t1cFtvW3VdXXx8dCgpLGUuYWRkPyhyKCksYT10KHQudW5pcXVlU29ydChhLmdldCgpLmNvbmNhdChlLmVsZW1lbnQuZ2V0KCkpKSkpOmE9dChhLm5vdChlLmVsZW1lbnQpLmdldCgpKSxpLmNsYXNzZXNFbGVtZW50TG9va3VwW29bdV1dPWEsbi5wdXNoKG9bdV0pLHMmJmUuY2xhc3Nlc1tvW3VdXSYmbi5wdXNoKGUuY2xhc3Nlc1tvW3VdXSl9cmV0dXJuKGU9dC5leHRlbmQoe2VsZW1lbnQ6dGhpcy5lbGVtZW50LGNsYXNzZXM6dGhpcy5vcHRpb25zLmNsYXNzZXN8fHt9fSxlKSkua2V5cyYmbyhlLmtleXMubWF0Y2goL1xTKy9nKXx8W10sITApLGUuZXh0cmEmJm8oZS5leHRyYS5tYXRjaCgvXFMrL2cpfHxbXSksbi5qb2luKCIgIil9LF91bnRyYWNrQ2xhc3Nlc0VsZW1lbnQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpczt0LmVhY2gobi5jbGFzc2VzRWxlbWVudExvb2t1cCwoZnVuY3Rpb24oaSxyKXstMSE9PXQuaW5BcnJheShlLnRhcmdldCxyKSYmKG4uY2xhc3Nlc0VsZW1lbnRMb29rdXBbaV09dChyLm5vdChlLnRhcmdldCkuZ2V0KCkpKX0pKSx0aGlzLl9vZmYodChlLnRhcmdldCkpfSxfcmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLl90b2dnbGVDbGFzcyh0LGUsbiwhMSl9LF9hZGRDbGFzczpmdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMuX3RvZ2dsZUNsYXNzKHQsZSxuLCEwKX0sX3RvZ2dsZUNsYXNzOmZ1bmN0aW9uKHQsZSxuLGkpe2k9ImJvb2xlYW4iPT10eXBlb2YgaT9pOm47dmFyIHI9InN0cmluZyI9PXR5cGVvZiB0fHxudWxsPT09dCxvPXtleHRyYTpyP2U6bixrZXlzOnI/dDplLGVsZW1lbnQ6cj90aGlzLmVsZW1lbnQ6dCxhZGQ6aX07cmV0dXJuIG8uZWxlbWVudC50b2dnbGVDbGFzcyh0aGlzLl9jbGFzc2VzKG8pLGkpLHRoaXN9LF9vbjpmdW5jdGlvbihlLG4saSl7dmFyIHIsbz10aGlzOyJib29sZWFuIiE9dHlwZW9mIGUmJihpPW4sbj1lLGU9ITEpLGk/KG49cj10KG4pLHRoaXMuYmluZGluZ3M9dGhpcy5iaW5kaW5ncy5hZGQobikpOihpPW4sbj10aGlzLmVsZW1lbnQscj10aGlzLndpZGdldCgpKSx0LmVhY2goaSwoZnVuY3Rpb24oaSxzKXtmdW5jdGlvbiBhKCl7aWYoZXx8ITAhPT1vLm9wdGlvbnMuZGlzYWJsZWQmJiF0KHRoaXMpLmhhc0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpKXJldHVybigic3RyaW5nIj09dHlwZW9mIHM/b1tzXTpzKS5hcHBseShvLGFyZ3VtZW50cyl9InN0cmluZyIhPXR5cGVvZiBzJiYoYS5ndWlkPXMuZ3VpZD1zLmd1aWR8fGEuZ3VpZHx8dC5ndWlkKyspO3ZhciB1PWkubWF0Y2goL14oW1x3Oi1dKilccyooLiopJC8pLGw9dVsxXStvLmV2ZW50TmFtZXNwYWNlLGM9dVsyXTtjP3Iub24obCxjLGEpOm4ub24obCxhKX0pKX0sX29mZjpmdW5jdGlvbihlLG4pe249KG58fCIiKS5zcGxpdCgiICIpLmpvaW4odGhpcy5ldmVudE5hbWVzcGFjZSsiICIpK3RoaXMuZXZlbnROYW1lc3BhY2UsZS5vZmYobiksdGhpcy5iaW5kaW5ncz10KHRoaXMuYmluZGluZ3Mubm90KGUpLmdldCgpKSx0aGlzLmZvY3VzYWJsZT10KHRoaXMuZm9jdXNhYmxlLm5vdChlKS5nZXQoKSksdGhpcy5ob3ZlcmFibGU9dCh0aGlzLmhvdmVyYWJsZS5ub3QoZSkuZ2V0KCkpfSxfZGVsYXk6ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBuKCl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgdD9pW3RdOnQpLmFwcGx5KGksYXJndW1lbnRzKX12YXIgaT10aGlzO3JldHVybiBzZXRUaW1lb3V0KG4sZXx8MCl9LF9ob3ZlcmFibGU6ZnVuY3Rpb24oZSl7dGhpcy5ob3ZlcmFibGU9dGhpcy5ob3ZlcmFibGUuYWRkKGUpLHRoaXMuX29uKGUse21vdXNlZW50ZXI6ZnVuY3Rpb24oZSl7dGhpcy5fYWRkQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWhvdmVyIil9LG1vdXNlbGVhdmU6ZnVuY3Rpb24oZSl7dGhpcy5fcmVtb3ZlQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWhvdmVyIil9fSl9LF9mb2N1c2FibGU6ZnVuY3Rpb24oZSl7dGhpcy5mb2N1c2FibGU9dGhpcy5mb2N1c2FibGUuYWRkKGUpLHRoaXMuX29uKGUse2ZvY3VzaW46ZnVuY3Rpb24oZSl7dGhpcy5fYWRkQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWZvY3VzIil9LGZvY3Vzb3V0OmZ1bmN0aW9uKGUpe3RoaXMuX3JlbW92ZUNsYXNzKHQoZS5jdXJyZW50VGFyZ2V0KSxudWxsLCJ1aS1zdGF0ZS1mb2N1cyIpfX0pfSxfdHJpZ2dlcjpmdW5jdGlvbihlLG4saSl7dmFyIHIsbyxzPXRoaXMub3B0aW9uc1tlXTtpZihpPWl8fHt9LChuPXQuRXZlbnQobikpLnR5cGU9KGU9PT10aGlzLndpZGdldEV2ZW50UHJlZml4P2U6dGhpcy53aWRnZXRFdmVudFByZWZpeCtlKS50b0xvd2VyQ2FzZSgpLG4udGFyZ2V0PXRoaXMuZWxlbWVudFswXSxvPW4ub3JpZ2luYWxFdmVudClmb3IociBpbiBvKXIgaW4gbnx8KG5bcl09b1tyXSk7cmV0dXJuIHRoaXMuZWxlbWVudC50cmlnZ2VyKG4saSksISgiZnVuY3Rpb24iPT10eXBlb2YgcyYmITE9PT1zLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbbl0uY29uY2F0KGkpKXx8bi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fSx0LmVhY2goe3Nob3c6ImZhZGVJbiIsaGlkZToiZmFkZU91dCJ9LChmdW5jdGlvbihlLG4pe3QuV2lkZ2V0LnByb3RvdHlwZVsiXyIrZV09ZnVuY3Rpb24oaSxyLG8pewp2YXIgczsic3RyaW5nIj09dHlwZW9mIHImJihyPXtlZmZlY3Q6cn0pO3ZhciBhPXI/ITA9PT1yfHwibnVtYmVyIj09dHlwZW9mIHI/bjpyLmVmZmVjdHx8bjplOyJudW1iZXIiPT10eXBlb2Yocj1yfHx7fSk/cj17ZHVyYXRpb246cn06ITA9PT1yJiYocj17fSkscz0hdC5pc0VtcHR5T2JqZWN0KHIpLHIuY29tcGxldGU9byxyLmRlbGF5JiZpLmRlbGF5KHIuZGVsYXkpLHMmJnQuZWZmZWN0cyYmdC5lZmZlY3RzLmVmZmVjdFthXT9pW2VdKHIpOmEhPT1lJiZpW2FdP2lbYV0oci5kdXJhdGlvbixyLmVhc2luZyxvKTppLnF1ZXVlKChmdW5jdGlvbihuKXt0KHRoaXMpW2VdKCksbyYmby5jYWxsKGlbMF0pLG4oKX0pKX19KSksdC53aWRnZXR9LHZvaWQgMD09PShvPSJmdW5jdGlvbiI9PXR5cGVvZiBpP2kuYXBwbHkoZSxyKTppKXx8KHQuZXhwb3J0cz1vKX0oKX0sMjg5MTMyKHQsZSxuKXt2YXIgaSxyLG87IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3I9W24oNDgyNTA0KSxuKDI5MzI3MSksbigxNjg3MDEpLG4oNjY2MzQ5KV0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mKGk9ZnVuY3Rpb24odCl7dmFyIGU9ITE7cmV0dXJuIHQoZG9jdW1lbnQpLm9uKCJtb3VzZXVwIiwoZnVuY3Rpb24oKXtlPSExfSkpLHQud2lkZ2V0KCJ1aS5tb3VzZSIse3ZlcnNpb246IjEuMTMuMiIsb3B0aW9uczp7Y2FuY2VsOiJpbnB1dCwgdGV4dGFyZWEsIGJ1dHRvbiwgc2VsZWN0LCBvcHRpb24iLGRpc3RhbmNlOjEsZGVsYXk6MH0sX21vdXNlSW5pdDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5lbGVtZW50Lm9uKCJtb3VzZWRvd24uIit0aGlzLndpZGdldE5hbWUsKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9tb3VzZURvd24odCl9KSkub24oImNsaWNrLiIrdGhpcy53aWRnZXROYW1lLChmdW5jdGlvbihuKXtpZighMD09PXQuZGF0YShuLnRhcmdldCxlLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpKXJldHVybiB0LnJlbW92ZURhdGEobi50YXJnZXQsZS53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSxuLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCExfSkpLHRoaXMuc3RhcnRlZD0hMX0sX21vdXNlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5vZmYoIi4iK3RoaXMud2lkZ2V0TmFtZSksdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUmJnRoaXMuZG9jdW1lbnQub2ZmKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLm9mZigibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpfSxfbW91c2VEb3duOmZ1bmN0aW9uKG4pe2lmKCFlKXt0aGlzLl9tb3VzZU1vdmVkPSExLHRoaXMuX21vdXNlU3RhcnRlZCYmdGhpcy5fbW91c2VVcChuKSx0aGlzLl9tb3VzZURvd25FdmVudD1uO3ZhciBpPXRoaXMscj0xPT09bi53aGljaCxvPSEoInN0cmluZyIhPXR5cGVvZiB0aGlzLm9wdGlvbnMuY2FuY2VsfHwhbi50YXJnZXQubm9kZU5hbWUpJiZ0KG4udGFyZ2V0KS5jbG9zZXN0KHRoaXMub3B0aW9ucy5jYW5jZWwpLmxlbmd0aDtyZXR1cm4hKHImJiFvJiZ0aGlzLl9tb3VzZUNhcHR1cmUobikpfHwodGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlvbnMuZGVsYXksdGhpcy5tb3VzZURlbGF5TWV0fHwodGhpcy5fbW91c2VEZWxheVRpbWVyPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aS5tb3VzZURlbGF5TWV0PSEwfSksdGhpcy5vcHRpb25zLmRlbGF5KSksdGhpcy5fbW91c2VEaXN0YW5jZU1ldChuKSYmdGhpcy5fbW91c2VEZWxheU1ldChuKSYmKHRoaXMuX21vdXNlU3RhcnRlZD0hMSE9PXRoaXMuX21vdXNlU3RhcnQobiksIXRoaXMuX21vdXNlU3RhcnRlZCk/KG4ucHJldmVudERlZmF1bHQoKSwhMCk6KCEwPT09dC5kYXRhKG4udGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50IikmJnQucmVtb3ZlRGF0YShuLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBpLl9tb3VzZU1vdmUodCl9LHRoaXMuX21vdXNlVXBEZWxlZ2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbW91c2VVcCh0KX0sdGhpcy5kb2N1bWVudC5vbigibW91c2Vtb3ZlLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS5vbigibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpLG4ucHJldmVudERlZmF1bHQoKSxlPSEwLCEwKSl9fSxfbW91c2VNb3ZlOmZ1bmN0aW9uKGUpe2lmKHRoaXMuX21vdXNlTW92ZWQpe2lmKHQudWkuaWUmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHxkb2N1bWVudC5kb2N1bWVudE1vZGU8OSkmJiFlLmJ1dHRvbilyZXR1cm4gdGhpcy5fbW91c2VVcChlKTtpZighZS53aGljaClpZihlLm9yaWdpbmFsRXZlbnQuYWx0S2V5fHxlLm9yaWdpbmFsRXZlbnQuY3RybEtleXx8ZS5vcmlnaW5hbEV2ZW50Lm1ldGFLZXl8fGUub3JpZ2luYWxFdmVudC5zaGlmdEtleSl0aGlzLmlnbm9yZU1pc3NpbmdXaGljaD0hMDtlbHNlIGlmKCF0aGlzLmlnbm9yZU1pc3NpbmdXaGljaClyZXR1cm4gdGhpcy5fbW91c2VVcChlKX1yZXR1cm4oZS53aGljaHx8ZS5idXR0b24pJiYodGhpcy5fbW91c2VNb3ZlZD0hMCksdGhpcy5fbW91c2VTdGFydGVkPyh0aGlzLl9tb3VzZURyYWcoZSksZS5wcmV2ZW50RGVmYXVsdCgpKToodGhpcy5fbW91c2VEaXN0YW5jZU1ldChlKSYmdGhpcy5fbW91c2VEZWxheU1ldChlKSYmKHRoaXMuX21vdXNlU3RhcnRlZD0hMSE9PXRoaXMuX21vdXNlU3RhcnQodGhpcy5fbW91c2VEb3duRXZlbnQsZSksdGhpcy5fbW91c2VTdGFydGVkP3RoaXMuX21vdXNlRHJhZyhlKTp0aGlzLl9tb3VzZVVwKGUpKSwhdGhpcy5fbW91c2VTdGFydGVkKX0sX21vdXNlVXA6ZnVuY3Rpb24obil7dGhpcy5kb2N1bWVudC5vZmYoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkub2ZmKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSksCnRoaXMuX21vdXNlU3RhcnRlZCYmKHRoaXMuX21vdXNlU3RhcnRlZD0hMSxuLnRhcmdldD09PXRoaXMuX21vdXNlRG93bkV2ZW50LnRhcmdldCYmdC5kYXRhKG4udGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50IiwhMCksdGhpcy5fbW91c2VTdG9wKG4pKSx0aGlzLl9tb3VzZURlbGF5VGltZXImJihjbGVhclRpbWVvdXQodGhpcy5fbW91c2VEZWxheVRpbWVyKSxkZWxldGUgdGhpcy5fbW91c2VEZWxheVRpbWVyKSx0aGlzLmlnbm9yZU1pc3NpbmdXaGljaD0hMSxlPSExLG4ucHJldmVudERlZmF1bHQoKX0sX21vdXNlRGlzdGFuY2VNZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KE1hdGguYWJzKHRoaXMuX21vdXNlRG93bkV2ZW50LnBhZ2VYLXQucGFnZVgpLE1hdGguYWJzKHRoaXMuX21vdXNlRG93bkV2ZW50LnBhZ2VZLXQucGFnZVkpKT49dGhpcy5vcHRpb25zLmRpc3RhbmNlfSxfbW91c2VEZWxheU1ldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1vdXNlRGVsYXlNZXR9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKCl7fSxfbW91c2VEcmFnOmZ1bmN0aW9uKCl7fSxfbW91c2VTdG9wOmZ1bmN0aW9uKCl7fSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKCl7cmV0dXJuITB9fSl9KT9pLmFwcGx5KGUscik6aSl8fCh0LmV4cG9ydHM9byl9KCl9LDEyMTYzNCh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigyODkxMzIpLG4oNzE2OTkpLG4oMTY4NzAxKSxuKDY2NjM0OSldLGk9ZnVuY3Rpb24odCl7cmV0dXJuIHQud2lkZ2V0KCJ1aS5zbGlkZXIiLHQudWkubW91c2Use3ZlcnNpb246IjEuMTMuMiIsd2lkZ2V0RXZlbnRQcmVmaXg6InNsaWRlIixvcHRpb25zOnthbmltYXRlOiExLGNsYXNzZXM6eyJ1aS1zbGlkZXIiOiJ1aS1jb3JuZXItYWxsIiwidWktc2xpZGVyLWhhbmRsZSI6InVpLWNvcm5lci1hbGwiLCJ1aS1zbGlkZXItcmFuZ2UiOiJ1aS1jb3JuZXItYWxsIHVpLXdpZGdldC1oZWFkZXIifSxkaXN0YW5jZTowLG1heDoxMDAsbWluOjAsb3JpZW50YXRpb246Imhvcml6b250YWwiLHJhbmdlOiExLHN0ZXA6MSx2YWx1ZTowLHZhbHVlczpudWxsLGNoYW5nZTpudWxsLHNsaWRlOm51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGx9LG51bVBhZ2VzOjUsX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuX2tleVNsaWRpbmc9ITEsdGhpcy5fbW91c2VTbGlkaW5nPSExLHRoaXMuX2FuaW1hdGVPZmY9ITAsdGhpcy5faGFuZGxlSW5kZXg9bnVsbCx0aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpLHRoaXMuX21vdXNlSW5pdCgpLHRoaXMuX2NhbGN1bGF0ZU5ld01heCgpLHRoaXMuX2FkZENsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbiwidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiksdGhpcy5fcmVmcmVzaCgpLHRoaXMuX2FuaW1hdGVPZmY9ITF9LF9yZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy5fY3JlYXRlUmFuZ2UoKSx0aGlzLl9jcmVhdGVIYW5kbGVzKCksdGhpcy5fc2V0dXBFdmVudHMoKSx0aGlzLl9yZWZyZXNoVmFsdWUoKX0sX2NyZWF0ZUhhbmRsZXM6ZnVuY3Rpb24oKXt2YXIgZSxuLGk9dGhpcy5vcHRpb25zLHI9dGhpcy5lbGVtZW50LmZpbmQoIi51aS1zbGlkZXItaGFuZGxlIiksbz0iPHNwYW4gdGFiaW5kZXg9JzAnPjwvc3Bhbj4iLHM9W107Zm9yKG49aS52YWx1ZXMmJmkudmFsdWVzLmxlbmd0aHx8MSxyLmxlbmd0aD5uJiYoci5zbGljZShuKS5yZW1vdmUoKSxyPXIuc2xpY2UoMCxuKSksZT1yLmxlbmd0aDtlPG47ZSsrKXMucHVzaChvKTt0aGlzLmhhbmRsZXM9ci5hZGQodChzLmpvaW4oIiIpKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpKSx0aGlzLl9hZGRDbGFzcyh0aGlzLmhhbmRsZXMsInVpLXNsaWRlci1oYW5kbGUiLCJ1aS1zdGF0ZS1kZWZhdWx0IiksdGhpcy5oYW5kbGU9dGhpcy5oYW5kbGVzLmVxKDApLHRoaXMuaGFuZGxlcy5lYWNoKChmdW5jdGlvbihlKXt0KHRoaXMpLmRhdGEoInVpLXNsaWRlci1oYW5kbGUtaW5kZXgiLGUpLmF0dHIoInRhYkluZGV4IiwwKX0pKX0sX2NyZWF0ZVJhbmdlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO2UucmFuZ2U/KCEwPT09ZS5yYW5nZSYmKGUudmFsdWVzP2UudmFsdWVzLmxlbmd0aCYmMiE9PWUudmFsdWVzLmxlbmd0aD9lLnZhbHVlcz1bZS52YWx1ZXNbMF0sZS52YWx1ZXNbMF1dOkFycmF5LmlzQXJyYXkoZS52YWx1ZXMpJiYoZS52YWx1ZXM9ZS52YWx1ZXMuc2xpY2UoMCkpOmUudmFsdWVzPVt0aGlzLl92YWx1ZU1pbigpLHRoaXMuX3ZhbHVlTWluKCldKSx0aGlzLnJhbmdlJiZ0aGlzLnJhbmdlLmxlbmd0aD8odGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5yYW5nZSwidWktc2xpZGVyLXJhbmdlLW1pbiB1aS1zbGlkZXItcmFuZ2UtbWF4IiksdGhpcy5yYW5nZS5jc3Moe2xlZnQ6IiIsYm90dG9tOiIifSkpOih0aGlzLnJhbmdlPXQoIjxkaXY+IikuYXBwZW5kVG8odGhpcy5lbGVtZW50KSx0aGlzLl9hZGRDbGFzcyh0aGlzLnJhbmdlLCJ1aS1zbGlkZXItcmFuZ2UiKSksIm1pbiIhPT1lLnJhbmdlJiYibWF4IiE9PWUucmFuZ2V8fHRoaXMuX2FkZENsYXNzKHRoaXMucmFuZ2UsInVpLXNsaWRlci1yYW5nZS0iK2UucmFuZ2UpKToodGhpcy5yYW5nZSYmdGhpcy5yYW5nZS5yZW1vdmUoKSx0aGlzLnJhbmdlPW51bGwpfSxfc2V0dXBFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLl9vZmYodGhpcy5oYW5kbGVzKSx0aGlzLl9vbih0aGlzLmhhbmRsZXMsdGhpcy5faGFuZGxlRXZlbnRzKSx0aGlzLl9ob3ZlcmFibGUodGhpcy5oYW5kbGVzKSx0aGlzLl9mb2N1c2FibGUodGhpcy5oYW5kbGVzKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmhhbmRsZXMucmVtb3ZlKCksdGhpcy5yYW5nZSYmdGhpcy5yYW5nZS5yZW1vdmUoKSx0aGlzLl9tb3VzZURlc3Ryb3koKX0sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbihlKXt2YXIgbixpLHIsbyxzLGEsdSxsPXRoaXMsYz10aGlzLm9wdGlvbnM7cmV0dXJuIWMuZGlzYWJsZWQmJih0aGlzLmVsZW1lbnRTaXplPXt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKQp9LHRoaXMuZWxlbWVudE9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCksbj17eDplLnBhZ2VYLHk6ZS5wYWdlWX0saT10aGlzLl9ub3JtVmFsdWVGcm9tTW91c2Uobikscj10aGlzLl92YWx1ZU1heCgpLXRoaXMuX3ZhbHVlTWluKCkrMSx0aGlzLmhhbmRsZXMuZWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49TWF0aC5hYnMoaS1sLnZhbHVlcyhlKSk7KHI+bnx8cj09PW4mJihlPT09bC5fbGFzdENoYW5nZWRWYWx1ZXx8bC52YWx1ZXMoZSk9PT1jLm1pbikpJiYocj1uLG89dCh0aGlzKSxzPWUpfSkpLCExIT09dGhpcy5fc3RhcnQoZSxzKSYmKHRoaXMuX21vdXNlU2xpZGluZz0hMCx0aGlzLl9oYW5kbGVJbmRleD1zLHRoaXMuX2FkZENsYXNzKG8sbnVsbCwidWktc3RhdGUtYWN0aXZlIiksby50cmlnZ2VyKCJmb2N1cyIpLGE9by5vZmZzZXQoKSx1PSF0KGUudGFyZ2V0KS5wYXJlbnRzKCkuYWRkQmFjaygpLmlzKCIudWktc2xpZGVyLWhhbmRsZSIpLHRoaXMuX2NsaWNrT2Zmc2V0PXU/e2xlZnQ6MCx0b3A6MH06e2xlZnQ6ZS5wYWdlWC1hLmxlZnQtby53aWR0aCgpLzIsdG9wOmUucGFnZVktYS50b3Atby5oZWlnaHQoKS8yLShwYXJzZUludChvLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChvLmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChvLmNzcygibWFyZ2luVG9wIiksMTApfHwwKX0sdGhpcy5oYW5kbGVzLmhhc0NsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfHx0aGlzLl9zbGlkZShlLHMsaSksdGhpcy5fYW5pbWF0ZU9mZj0hMCwhMCkpfSxfbW91c2VTdGFydDpmdW5jdGlvbigpe3JldHVybiEwfSxfbW91c2VEcmFnOmZ1bmN0aW9uKHQpe3ZhciBlPXt4OnQucGFnZVgseTp0LnBhZ2VZfSxuPXRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZShlKTtyZXR1cm4gdGhpcy5fc2xpZGUodCx0aGlzLl9oYW5kbGVJbmRleCxuKSwhMX0sX21vdXNlU3RvcDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5oYW5kbGVzLG51bGwsInVpLXN0YXRlLWFjdGl2ZSIpLHRoaXMuX21vdXNlU2xpZGluZz0hMSx0aGlzLl9zdG9wKHQsdGhpcy5faGFuZGxlSW5kZXgpLHRoaXMuX2NoYW5nZSh0LHRoaXMuX2hhbmRsZUluZGV4KSx0aGlzLl9oYW5kbGVJbmRleD1udWxsLHRoaXMuX2NsaWNrT2Zmc2V0PW51bGwsdGhpcy5fYW5pbWF0ZU9mZj0hMSwhMX0sX2RldGVjdE9yaWVudGF0aW9uOmZ1bmN0aW9uKCl7dGhpcy5vcmllbnRhdGlvbj0idmVydGljYWwiPT09dGhpcy5vcHRpb25zLm9yaWVudGF0aW9uPyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwifSxfbm9ybVZhbHVlRnJvbU1vdXNlOmZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyLG87cmV0dXJuImhvcml6b250YWwiPT09dGhpcy5vcmllbnRhdGlvbj8oZT10aGlzLmVsZW1lbnRTaXplLndpZHRoLG49dC54LXRoaXMuZWxlbWVudE9mZnNldC5sZWZ0LSh0aGlzLl9jbGlja09mZnNldD90aGlzLl9jbGlja09mZnNldC5sZWZ0OjApKTooZT10aGlzLmVsZW1lbnRTaXplLmhlaWdodCxuPXQueS10aGlzLmVsZW1lbnRPZmZzZXQudG9wLSh0aGlzLl9jbGlja09mZnNldD90aGlzLl9jbGlja09mZnNldC50b3A6MCkpLChpPW4vZSk+MSYmKGk9MSksaTwwJiYoaT0wKSwidmVydGljYWwiPT09dGhpcy5vcmllbnRhdGlvbiYmKGk9MS1pKSxyPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSxvPXRoaXMuX3ZhbHVlTWluKCkraSpyLHRoaXMuX3RyaW1BbGlnblZhbHVlKG8pfSxfdWlIYXNoOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT17aGFuZGxlOnRoaXMuaGFuZGxlc1t0XSxoYW5kbGVJbmRleDp0LHZhbHVlOnZvaWQgMCE9PWU/ZTp0aGlzLnZhbHVlKCl9O3JldHVybiB0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpJiYoaS52YWx1ZT12b2lkIDAhPT1lP2U6dGhpcy52YWx1ZXModCksaS52YWx1ZXM9bnx8dGhpcy52YWx1ZXMoKSksaX0sX2hhc011bHRpcGxlVmFsdWVzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RofSxfc3RhcnQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdHJpZ2dlcigic3RhcnQiLHQsdGhpcy5fdWlIYXNoKGUpKX0sX3NsaWRlOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaSxyPXRoaXMudmFsdWUoKSxvPXRoaXMudmFsdWVzKCk7dGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKSYmKGk9dGhpcy52YWx1ZXMoZT8wOjEpLHI9dGhpcy52YWx1ZXMoZSksMj09PXRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoJiYhMD09PXRoaXMub3B0aW9ucy5yYW5nZSYmKG49MD09PWU/TWF0aC5taW4oaSxuKTpNYXRoLm1heChpLG4pKSxvW2VdPW4pLG4hPT1yJiYhMSE9PXRoaXMuX3RyaWdnZXIoInNsaWRlIix0LHRoaXMuX3VpSGFzaChlLG4sbykpJiYodGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLnZhbHVlcyhlLG4pOnRoaXMudmFsdWUobikpfSxfc3RvcDpmdW5jdGlvbih0LGUpe3RoaXMuX3RyaWdnZXIoInN0b3AiLHQsdGhpcy5fdWlIYXNoKGUpKX0sX2NoYW5nZTpmdW5jdGlvbih0LGUpe3RoaXMuX2tleVNsaWRpbmd8fHRoaXMuX21vdXNlU2xpZGluZ3x8KHRoaXMuX2xhc3RDaGFuZ2VkVmFsdWU9ZSx0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLHQsdGhpcy5fdWlIYXNoKGUpKSl9LHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fdHJpbUFsaWduVmFsdWUodCksdGhpcy5fcmVmcmVzaFZhbHVlKCksdm9pZCB0aGlzLl9jaGFuZ2UobnVsbCwwKSk6dGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlc1t0XT10aGlzLl90cmltQWxpZ25WYWx1ZShlKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx2b2lkIHRoaXMuX2NoYW5nZShudWxsLHQpO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLl92YWx1ZXMoKQo7aWYoIUFycmF5LmlzQXJyYXkoYXJndW1lbnRzWzBdKSlyZXR1cm4gdGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLl92YWx1ZXModCk6dGhpcy52YWx1ZSgpO2ZvcihuPXRoaXMub3B0aW9ucy52YWx1ZXMsaT1hcmd1bWVudHNbMF0scj0wO3I8bi5sZW5ndGg7cis9MSluW3JdPXRoaXMuX3RyaW1BbGlnblZhbHVlKGlbcl0pLHRoaXMuX2NoYW5nZShudWxsLHIpO3RoaXMuX3JlZnJlc2hWYWx1ZSgpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7dmFyIG4saT0wO3N3aXRjaCgicmFuZ2UiPT09dCYmITA9PT10aGlzLm9wdGlvbnMucmFuZ2UmJigibWluIj09PWU/KHRoaXMub3B0aW9ucy52YWx1ZT10aGlzLl92YWx1ZXMoMCksdGhpcy5vcHRpb25zLnZhbHVlcz1udWxsKToibWF4Ij09PWUmJih0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fdmFsdWVzKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoLTEpLHRoaXMub3B0aW9ucy52YWx1ZXM9bnVsbCkpLEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zLnZhbHVlcykmJihpPXRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSx0aGlzLl9zdXBlcih0LGUpLHQpe2Nhc2Uib3JpZW50YXRpb24iOnRoaXMuX2RldGVjdE9yaWVudGF0aW9uKCksdGhpcy5fcmVtb3ZlQ2xhc3MoInVpLXNsaWRlci1ob3Jpem9udGFsIHVpLXNsaWRlci12ZXJ0aWNhbCIpLl9hZGRDbGFzcygidWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbiksdGhpcy5fcmVmcmVzaFZhbHVlKCksdGhpcy5vcHRpb25zLnJhbmdlJiZ0aGlzLl9yZWZyZXNoUmFuZ2UoZSksdGhpcy5oYW5kbGVzLmNzcygiaG9yaXpvbnRhbCI9PT1lPyJib3R0b20iOiJsZWZ0IiwiIik7YnJlYWs7Y2FzZSJ2YWx1ZSI6dGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLl9jaGFuZ2UobnVsbCwwKSx0aGlzLl9hbmltYXRlT2ZmPSExO2JyZWFrO2Nhc2UidmFsdWVzIjpmb3IodGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoVmFsdWUoKSxuPWktMTtuPj0wO24tLSl0aGlzLl9jaGFuZ2UobnVsbCxuKTt0aGlzLl9hbmltYXRlT2ZmPSExO2JyZWFrO2Nhc2Uic3RlcCI6Y2FzZSJtaW4iOmNhc2UibWF4Ijp0aGlzLl9hbmltYXRlT2ZmPSEwLHRoaXMuX2NhbGN1bGF0ZU5ld01heCgpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpLHRoaXMuX2FuaW1hdGVPZmY9ITE7YnJlYWs7Y2FzZSJyYW5nZSI6dGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoKCksdGhpcy5fYW5pbWF0ZU9mZj0hMX19LF9zZXRPcHRpb25EaXNhYmxlZDpmdW5jdGlvbih0KXt0aGlzLl9zdXBlcih0KSx0aGlzLl90b2dnbGVDbGFzcyhudWxsLCJ1aS1zdGF0ZS1kaXNhYmxlZCIsISF0KX0sX3ZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLnZhbHVlO3JldHVybiB0PXRoaXMuX3RyaW1BbGlnblZhbHVlKHQpfSxfdmFsdWVzOmZ1bmN0aW9uKHQpe3ZhciBlLG4saTtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlPXRoaXMub3B0aW9ucy52YWx1ZXNbdF0sZT10aGlzLl90cmltQWxpZ25WYWx1ZShlKTtpZih0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpKXtmb3Iobj10aGlzLm9wdGlvbnMudmFsdWVzLnNsaWNlKCksaT0wO2k8bi5sZW5ndGg7aSs9MSluW2ldPXRoaXMuX3RyaW1BbGlnblZhbHVlKG5baV0pO3JldHVybiBufXJldHVybltdfSxfdHJpbUFsaWduVmFsdWU6ZnVuY3Rpb24odCl7aWYodDw9dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZih0Pj10aGlzLl92YWx1ZU1heCgpKXJldHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciBlPXRoaXMub3B0aW9ucy5zdGVwPjA/dGhpcy5vcHRpb25zLnN0ZXA6MSxuPSh0LXRoaXMuX3ZhbHVlTWluKCkpJWUsaT10LW47cmV0dXJuIDIqTWF0aC5hYnMobik+PWUmJihpKz1uPjA/ZTotZSkscGFyc2VGbG9hdChpLnRvRml4ZWQoNSkpfSxfY2FsY3VsYXRlTmV3TWF4OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLm1heCxlPXRoaXMuX3ZhbHVlTWluKCksbj10aGlzLm9wdGlvbnMuc3RlcDsodD1NYXRoLnJvdW5kKCh0LWUpL24pKm4rZSk+dGhpcy5vcHRpb25zLm1heCYmKHQtPW4pLHRoaXMubWF4PXBhcnNlRmxvYXQodC50b0ZpeGVkKHRoaXMuX3ByZWNpc2lvbigpKSl9LF9wcmVjaXNpb246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wcmVjaXNpb25PZih0aGlzLm9wdGlvbnMuc3RlcCk7cmV0dXJuIG51bGwhPT10aGlzLm9wdGlvbnMubWluJiYodD1NYXRoLm1heCh0LHRoaXMuX3ByZWNpc2lvbk9mKHRoaXMub3B0aW9ucy5taW4pKSksdH0sX3ByZWNpc2lvbk9mOmZ1bmN0aW9uKHQpe3ZhciBlPXQudG9TdHJpbmcoKSxuPWUuaW5kZXhPZigiLiIpO3JldHVybi0xPT09bj8wOmUubGVuZ3RoLW4tMX0sX3ZhbHVlTWluOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5taW59LF92YWx1ZU1heDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heH0sX3JlZnJlc2hSYW5nZTpmdW5jdGlvbih0KXsidmVydGljYWwiPT09dCYmdGhpcy5yYW5nZS5jc3Moe3dpZHRoOiIiLGxlZnQ6IiJ9KSwiaG9yaXpvbnRhbCI9PT10JiZ0aGlzLnJhbmdlLmNzcyh7aGVpZ2h0OiIiLGJvdHRvbToiIn0pfSxfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7dmFyIGUsbixpLHIsbyxzPXRoaXMub3B0aW9ucy5yYW5nZSxhPXRoaXMub3B0aW9ucyx1PXRoaXMsbD0hdGhpcy5fYW5pbWF0ZU9mZiYmYS5hbmltYXRlLGM9e307dGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLmhhbmRsZXMuZWFjaCgoZnVuY3Rpb24oaSl7bj0odS52YWx1ZXMoaSktdS5fdmFsdWVNaW4oKSkvKHUuX3ZhbHVlTWF4KCktdS5fdmFsdWVNaW4oKSkqMTAwLGNbImhvcml6b250YWwiPT09dS5vcmllbnRhdGlvbj8ibGVmdCI6ImJvdHRvbSJdPW4rIiUiLHQodGhpcykuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXShjLGEuYW5pbWF0ZSksITA9PT11Lm9wdGlvbnMucmFuZ2UmJigiaG9yaXpvbnRhbCI9PT11Lm9yaWVudGF0aW9uPygwPT09aSYmdS5yYW5nZS5zdG9wKDEsMSlbbD8iYW5pbWF0ZSI6ImNzcyJdKHtsZWZ0Om4rIiUifSxhLmFuaW1hdGUpLAoxPT09aSYmdS5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOm4tZSsiJSJ9LHtxdWV1ZTohMSxkdXJhdGlvbjphLmFuaW1hdGV9KSk6KDA9PT1pJiZ1LnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2JvdHRvbTpuKyIlIn0sYS5hbmltYXRlKSwxPT09aSYmdS5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDpuLWUrIiUifSx7cXVldWU6ITEsZHVyYXRpb246YS5hbmltYXRlfSkpKSxlPW59KSk6KGk9dGhpcy52YWx1ZSgpLHI9dGhpcy5fdmFsdWVNaW4oKSxvPXRoaXMuX3ZhbHVlTWF4KCksbj1vIT09cj8oaS1yKS8oby1yKSoxMDA6MCxjWyJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24/ImxlZnQiOiJib3R0b20iXT1uKyIlIix0aGlzLmhhbmRsZS5zdG9wKDEsMSlbbD8iYW5pbWF0ZSI6ImNzcyJdKGMsYS5hbmltYXRlKSwibWluIj09PXMmJiJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24mJnRoaXMucmFuZ2Uuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh7d2lkdGg6bisiJSJ9LGEuYW5pbWF0ZSksIm1heCI9PT1zJiYiaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1uKyIlIn0sYS5hbmltYXRlKSwibWluIj09PXMmJiJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDpuKyIlIn0sYS5hbmltYXRlKSwibWF4Ij09PXMmJiJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDoxMDAtbisiJSJ9LGEuYW5pbWF0ZSkpfSxfaGFuZGxlRXZlbnRzOntrZXlkb3duOmZ1bmN0aW9uKGUpe3ZhciBuLGkscixvPXQoZS50YXJnZXQpLmRhdGEoInVpLXNsaWRlci1oYW5kbGUtaW5kZXgiKTtzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIHQudWkua2V5Q29kZS5IT01FOmNhc2UgdC51aS5rZXlDb2RlLkVORDpjYXNlIHQudWkua2V5Q29kZS5QQUdFX1VQOmNhc2UgdC51aS5rZXlDb2RlLlBBR0VfRE9XTjpjYXNlIHQudWkua2V5Q29kZS5VUDpjYXNlIHQudWkua2V5Q29kZS5SSUdIVDpjYXNlIHQudWkua2V5Q29kZS5ET1dOOmNhc2UgdC51aS5rZXlDb2RlLkxFRlQ6aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCF0aGlzLl9rZXlTbGlkaW5nJiYodGhpcy5fa2V5U2xpZGluZz0hMCx0aGlzLl9hZGRDbGFzcyh0KGUudGFyZ2V0KSxudWxsLCJ1aS1zdGF0ZS1hY3RpdmUiKSwhMT09PXRoaXMuX3N0YXJ0KGUsbykpKXJldHVybn1zd2l0Y2gocj10aGlzLm9wdGlvbnMuc3RlcCxuPWk9dGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLnZhbHVlcyhvKTp0aGlzLnZhbHVlKCksZS5rZXlDb2RlKXtjYXNlIHQudWkua2V5Q29kZS5IT01FOmk9dGhpcy5fdmFsdWVNaW4oKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5FTkQ6aT10aGlzLl92YWx1ZU1heCgpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLlBBR0VfVVA6aT10aGlzLl90cmltQWxpZ25WYWx1ZShuKyh0aGlzLl92YWx1ZU1heCgpLXRoaXMuX3ZhbHVlTWluKCkpL3RoaXMubnVtUGFnZXMpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLlBBR0VfRE9XTjppPXRoaXMuX3RyaW1BbGlnblZhbHVlKG4tKHRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSkvdGhpcy5udW1QYWdlcyk7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuVVA6Y2FzZSB0LnVpLmtleUNvZGUuUklHSFQ6aWYobj09PXRoaXMuX3ZhbHVlTWF4KCkpcmV0dXJuO2k9dGhpcy5fdHJpbUFsaWduVmFsdWUobityKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5ET1dOOmNhc2UgdC51aS5rZXlDb2RlLkxFRlQ6aWYobj09PXRoaXMuX3ZhbHVlTWluKCkpcmV0dXJuO2k9dGhpcy5fdHJpbUFsaWduVmFsdWUobi1yKX10aGlzLl9zbGlkZShlLG8saSl9LGtleXVwOmZ1bmN0aW9uKGUpe3ZhciBuPXQoZS50YXJnZXQpLmRhdGEoInVpLXNsaWRlci1oYW5kbGUtaW5kZXgiKTt0aGlzLl9rZXlTbGlkaW5nJiYodGhpcy5fa2V5U2xpZGluZz0hMSx0aGlzLl9zdG9wKGUsbiksdGhpcy5fY2hhbmdlKGUsbiksdGhpcy5fcmVtb3ZlQ2xhc3ModChlLnRhcmdldCksbnVsbCwidWktc3RhdGUtYWN0aXZlIikpfX19KX0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mIGk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSw0OTE4Nih0LGUpe3ZhciBuLGkscixvO289ZnVuY3Rpb24odCl7dmFyIGU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxuPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1lLmNhbGwodCl9O2Z1bmN0aW9uIGkodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR9ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5yZXBsYWNlKC9bXC1cW1xde30oKSorPy4sXFxcXiR8I1xzXS9nLCJcXCQmIil9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHQmJmUgaW4gdH12YXIgcz1SZWdFeHAucHJvdG90eXBlLnRlc3QsYT0vXFMvO2Z1bmN0aW9uIHUodCl7cmV0dXJuIWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHMuY2FsbCh0LGUpfShhLHQpfXZhciBsPXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsJyInOiImcXVvdDsiLCInIjoiJiMzOTsiLCIvIjoiJiN4MkY7IiwiYCI6IiYjeDYwOyIsIj0iOiImI3gzRDsifSxjPS9ccyovLGY9L1xzKy8saD0vXHMqPS8sZD0vXHMqXH0vLHA9LyN8XF58XC98Pnxce3wmfD18IS87ZnVuY3Rpb24gdih0KXt0aGlzLnN0cmluZz10LHRoaXMudGFpbD10LHRoaXMucG9zPTB9ZnVuY3Rpb24gZyh0LGUpe3RoaXMudmlldz10LHRoaXMuY2FjaGU9eyIuIjp0aGlzLnZpZXd9LHRoaXMucGFyZW50PWV9ZnVuY3Rpb24gbSgpe3RoaXMuY2FjaGU9e319di5wcm90b3R5cGUuZW9zPWZ1bmN0aW9uKCl7cmV0dXJuIiI9PT10aGlzLnRhaWx9LHYucHJvdG90eXBlLnNjYW49ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy50YWlsLm1hdGNoKHQpO2lmKCFlfHwwIT09ZS5pbmRleClyZXR1cm4iIgo7dmFyIG49ZVswXTtyZXR1cm4gdGhpcy50YWlsPXRoaXMudGFpbC5zdWJzdHJpbmcobi5sZW5ndGgpLHRoaXMucG9zKz1uLmxlbmd0aCxufSx2LnByb3RvdHlwZS5zY2FuVW50aWw9ZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLnRhaWwuc2VhcmNoKHQpO3N3aXRjaChuKXtjYXNlLTE6ZT10aGlzLnRhaWwsdGhpcy50YWlsPSIiO2JyZWFrO2Nhc2UgMDplPSIiO2JyZWFrO2RlZmF1bHQ6ZT10aGlzLnRhaWwuc3Vic3RyaW5nKDAsbiksdGhpcy50YWlsPXRoaXMudGFpbC5zdWJzdHJpbmcobil9cmV0dXJuIHRoaXMucG9zKz1lLmxlbmd0aCxlfSxnLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZyh0LHRoaXMpfSxnLnByb3RvdHlwZS5sb29rdXA9ZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLmNhY2hlO2lmKG4uaGFzT3duUHJvcGVydHkodCkpZT1uW3RdO2Vsc2V7Zm9yKHZhciByLHMsYT10aGlzLHU9ITE7YTspe2lmKHQuaW5kZXhPZigiLiIpPjApZm9yKGU9YS52aWV3LHI9dC5zcGxpdCgiLiIpLHM9MDtudWxsIT1lJiZzPHIubGVuZ3RoOylzPT09ci5sZW5ndGgtMSYmKHU9byhlLHJbc10pKSxlPWVbcltzKytdXTtlbHNlIGU9YS52aWV3W3RdLHU9byhhLnZpZXcsdCk7aWYodSlicmVhazthPWEucGFyZW50fW5bdF09ZX1yZXR1cm4gaShlKSYmKGU9ZS5jYWxsKHRoaXMudmlldykpLGV9LG0ucHJvdG90eXBlLmNsZWFyQ2FjaGU9ZnVuY3Rpb24oKXt0aGlzLmNhY2hlPXt9fSxtLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihlLGkpe3ZhciBvPXRoaXMuY2FjaGUscz1vW2VdO3JldHVybiBudWxsPT1zJiYocz1vW2VdPWZ1bmN0aW9uKGUsaSl7aWYoIWUpcmV0dXJuW107dmFyIG8scyxhLGw9W10sZz1bXSxtPVtdLHk9ITEsYj0hMTtmdW5jdGlvbiBfKCl7aWYoeSYmIWIpZm9yKDttLmxlbmd0aDspZGVsZXRlIGdbbS5wb3AoKV07ZWxzZSBtPVtdO3k9ITEsYj0hMX1mdW5jdGlvbiB3KHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dC5zcGxpdChmLDIpKSwhbih0KXx8MiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB0YWdzOiAiK3QpO289bmV3IFJlZ0V4cChyKHRbMF0pKyJcXHMqIikscz1uZXcgUmVnRXhwKCJcXHMqIityKHRbMV0pKSxhPW5ldyBSZWdFeHAoIlxccyoiK3IoIn0iK3RbMV0pKX13KGl8fHQudGFncyk7Zm9yKHZhciB4LE8sRSxDLGssUyxEPW5ldyB2KGUpOyFELmVvcygpOyl7aWYoeD1ELnBvcyxFPUQuc2NhblVudGlsKG8pKWZvcih2YXIgTT0wLFA9RS5sZW5ndGg7TTxQOysrTSl1KEM9RS5jaGFyQXQoTSkpP20ucHVzaChnLmxlbmd0aCk6Yj0hMCxnLnB1c2goWyJ0ZXh0IixDLHgseCsxXSkseCs9MSwiXG4iPT09QyYmXygpO2lmKCFELnNjYW4obykpYnJlYWs7aWYoeT0hMCxPPUQuc2NhbihwKXx8Im5hbWUiLEQuc2NhbihjKSwiPSI9PT1PPyhFPUQuc2NhblVudGlsKGgpLEQuc2NhbihoKSxELnNjYW5VbnRpbChzKSk6InsiPT09Tz8oRT1ELnNjYW5VbnRpbChhKSxELnNjYW4oZCksRC5zY2FuVW50aWwocyksTz0iJiIpOkU9RC5zY2FuVW50aWwocyksIUQuc2NhbihzKSl0aHJvdyBuZXcgRXJyb3IoIlVuY2xvc2VkIHRhZyBhdCAiK0QucG9zKTtpZihrPVtPLEUseCxELnBvc10sZy5wdXNoKGspLCIjIj09PU98fCJeIj09PU8pbC5wdXNoKGspO2Vsc2UgaWYoIi8iPT09Tyl7aWYoIShTPWwucG9wKCkpKXRocm93IG5ldyBFcnJvcignVW5vcGVuZWQgc2VjdGlvbiAiJytFKyciIGF0ICcreCk7aWYoU1sxXSE9PUUpdGhyb3cgbmV3IEVycm9yKCdVbmNsb3NlZCBzZWN0aW9uICInK1NbMV0rJyIgYXQgJyt4KX1lbHNlIm5hbWUiPT09T3x8InsiPT09T3x8IiYiPT09Tz9iPSEwOiI9Ij09PU8mJncoRSl9aWYoUz1sLnBvcCgpKXRocm93IG5ldyBFcnJvcignVW5jbG9zZWQgc2VjdGlvbiAiJytTWzFdKyciIGF0ICcrRC5wb3MpO3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGUsbj1bXSxpPW4scj1bXSxvPTAscz10Lmxlbmd0aDtvPHM7KytvKXN3aXRjaCgoZT10W29dKVswXSl7Y2FzZSIjIjpjYXNlIl4iOmkucHVzaChlKSxyLnB1c2goZSksaT1lWzRdPVtdO2JyZWFrO2Nhc2UiLyI6ci5wb3AoKVs1XT1lWzJdLGk9ci5sZW5ndGg+MD9yW3IubGVuZ3RoLTFdWzRdOm47YnJlYWs7ZGVmYXVsdDppLnB1c2goZSl9cmV0dXJuIG59KGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuLGk9W10scj0wLG89dC5sZW5ndGg7cjxvOysrcikoZT10W3JdKSYmKCJ0ZXh0Ij09PWVbMF0mJm4mJiJ0ZXh0Ij09PW5bMF0/KG5bMV0rPWVbMV0sblszXT1lWzNdKTooaS5wdXNoKGUpLG49ZSkpO3JldHVybiBpfShnKSl9KGUsaSkpLHN9LG0ucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbih0LGUsbil7dmFyIGk9dGhpcy5wYXJzZSh0KSxyPWUgaW5zdGFuY2VvZiBnP2U6bmV3IGcoZSk7cmV0dXJuIHRoaXMucmVuZGVyVG9rZW5zKGkscixuLHQpfSxtLnByb3RvdHlwZS5yZW5kZXJUb2tlbnM9ZnVuY3Rpb24odCxlLG4saSl7Zm9yKHZhciByLG8scyxhPSIiLHU9MCxsPXQubGVuZ3RoO3U8bDsrK3Upcz12b2lkIDAsIiMiPT09KG89KHI9dFt1XSlbMF0pP3M9dGhpcy5yZW5kZXJTZWN0aW9uKHIsZSxuLGkpOiJeIj09PW8/cz10aGlzLnJlbmRlckludmVydGVkKHIsZSxuLGkpOiI+Ij09PW8/cz10aGlzLnJlbmRlclBhcnRpYWwocixlLG4saSk6IiYiPT09bz9zPXRoaXMudW5lc2NhcGVkVmFsdWUocixlKToibmFtZSI9PT1vP3M9dGhpcy5lc2NhcGVkVmFsdWUocixlKToidGV4dCI9PT1vJiYocz10aGlzLnJhd1ZhbHVlKHIpKSx2b2lkIDAhPT1zJiYoYSs9cyk7cmV0dXJuIGF9LG0ucHJvdG90eXBlLnJlbmRlclNlY3Rpb249ZnVuY3Rpb24odCxlLHIsbyl7dmFyIHM9dGhpcyxhPSIiLHU9ZS5sb29rdXAodFsxXSk7aWYodSl7aWYobih1KSlmb3IodmFyIGw9MCxjPXUubGVuZ3RoO2w8YzsrK2wpYSs9dGhpcy5yZW5kZXJUb2tlbnModFs0XSxlLnB1c2godVtsXSkscixvKTtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgdXx8InN0cmluZyI9PXR5cGVvZiB1fHwibnVtYmVyIj09dHlwZW9mIHUpYSs9dGhpcy5yZW5kZXJUb2tlbnModFs0XSxlLnB1c2godSkscixvKTtlbHNlIGlmKGkodSkpewppZigic3RyaW5nIiE9dHlwZW9mIG8pdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgdXNlIGhpZ2hlci1vcmRlciBzZWN0aW9ucyB3aXRob3V0IHRoZSBvcmlnaW5hbCB0ZW1wbGF0ZSIpO251bGwhPSh1PXUuY2FsbChlLnZpZXcsby5zbGljZSh0WzNdLHRbNV0pLChmdW5jdGlvbih0KXtyZXR1cm4gcy5yZW5kZXIodCxlLHIpfSkpKSYmKGErPXUpfWVsc2UgYSs9dGhpcy5yZW5kZXJUb2tlbnModFs0XSxlLHIsbyk7cmV0dXJuIGF9fSxtLnByb3RvdHlwZS5yZW5kZXJJbnZlcnRlZD1mdW5jdGlvbih0LGUsaSxyKXt2YXIgbz1lLmxvb2t1cCh0WzFdKTtpZighb3x8bihvKSYmMD09PW8ubGVuZ3RoKXJldHVybiB0aGlzLnJlbmRlclRva2Vucyh0WzRdLGUsaSxyKX0sbS5wcm90b3R5cGUucmVuZGVyUGFydGlhbD1mdW5jdGlvbih0LGUsbil7aWYobil7dmFyIHI9aShuKT9uKHRbMV0pOm5bdFsxXV07cmV0dXJuIG51bGwhPXI/dGhpcy5yZW5kZXJUb2tlbnModGhpcy5wYXJzZShyKSxlLG4scik6dm9pZCAwfX0sbS5wcm90b3R5cGUudW5lc2NhcGVkVmFsdWU9ZnVuY3Rpb24odCxlKXt2YXIgbj1lLmxvb2t1cCh0WzFdKTtpZihudWxsIT1uKXJldHVybiBufSxtLnByb3RvdHlwZS5lc2NhcGVkVmFsdWU9ZnVuY3Rpb24oZSxuKXt2YXIgaT1uLmxvb2t1cChlWzFdKTtpZihudWxsIT1pKXJldHVybiB0LmVzY2FwZShpKX0sbS5wcm90b3R5cGUucmF3VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19LHQubmFtZT0ibXVzdGFjaGUuanMiLHQudmVyc2lvbj0iMi4yLjEiLHQudGFncz1bInt7IiwifX0iXTt2YXIgeT1uZXcgbTt0LmNsZWFyQ2FjaGU9ZnVuY3Rpb24oKXtyZXR1cm4geS5jbGVhckNhY2hlKCl9LHQucGFyc2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS5wYXJzZSh0LGUpfSx0LnJlbmRlcj1mdW5jdGlvbih0LGUsaSl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgdGVtcGxhdGUhIFRlbXBsYXRlIHNob3VsZCBiZSBhICJzdHJpbmciIGJ1dCAiJysobihyPXQpPyJhcnJheSI6dHlwZW9mIHIpKyciIHdhcyBnaXZlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgZm9yIG11c3RhY2hlI3JlbmRlcih0ZW1wbGF0ZSwgdmlldywgcGFydGlhbHMpJyk7dmFyIHI7cmV0dXJuIHkucmVuZGVyKHQsZSxpKX0sdC50b19odG1sPWZ1bmN0aW9uKGUsbixyLG8pe3ZhciBzPXQucmVuZGVyKGUsbixyKTtpZighaShvKSlyZXR1cm4gcztvKHMpfSx0LmVzY2FwZT1mdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpLnJlcGxhY2UoL1smPD4iJ2A9XC9dL2csKGZ1bmN0aW9uKHQpe3JldHVybiBsW3RdfSkpfSx0LlNjYW5uZXI9dix0LkNvbnRleHQ9Zyx0LldyaXRlcj1tfSxlJiYic3RyaW5nIiE9dHlwZW9mIGUubm9kZU5hbWU/byhlKTooaT1bZV0sdm9pZCAwPT09KHI9ImZ1bmN0aW9uIj09dHlwZW9mKG49byk/bi5hcHBseShlLGkpOm4pfHwodC5leHBvcnRzPXIpKX0sMzIwNDAzKHQsZSl7InVzZSBzdHJpY3QiO3ZhciBuLGk9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8IXdpbmRvdy5kb2N1bWVudHx8IXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtmdW5jdGlvbiByKCl7aWYobilyZXR1cm4gbjtpZighaXx8IXdpbmRvdy5kb2N1bWVudC5ib2R5KXJldHVybiJpbmRldGVybWluYXRlIjt2YXIgdD13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkFCQ0QiKSksdC5kaXI9InJ0bCIsdC5zdHlsZS5mb250U2l6ZT0iMTRweCIsdC5zdHlsZS53aWR0aD0iNHB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS50b3A9Ii0xMDAwcHgiLHQuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KSxuPSJyZXZlcnNlIix0LnNjcm9sbExlZnQ+MD9uPSJkZWZhdWx0IjoodC5zY3JvbGxMZWZ0PTEsMD09PXQuc2Nyb2xsTGVmdCYmKG49Im5lZ2F0aXZlIikpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCksbn1lLmdldE5vcm1hbGl6ZWRTY3JvbGxMZWZ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49dC5zY3JvbGxMZWZ0O2lmKCJydGwiIT09ZSlyZXR1cm4gbjt2YXIgaT1yKCk7aWYoImluZGV0ZXJtaW5hdGUiPT09aSlyZXR1cm4gTnVtYmVyLk5hTjtzd2l0Y2goaSl7Y2FzZSJuZWdhdGl2ZSI6cmV0dXJuIHQuc2Nyb2xsV2lkdGgtdC5jbGllbnRXaWR0aCtuO2Nhc2UicmV2ZXJzZSI6cmV0dXJuIHQuc2Nyb2xsV2lkdGgtdC5jbGllbnRXaWR0aC1ufXJldHVybiBufX0sODI5MTgwKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciBpPW4oNjAxODQxKTtjb25zdCByPS97KFx3Kyl9L2csbz0veyhcZCspfS9nO1N0cmluZy5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKC4uLnQpe2NvbnN0IGU9KDAsaS5pc09iamVjdCkodFswXSksbj1lP3I6byxzPWU/KGUsbik9Pntjb25zdCBpPXRbMF07cmV0dXJuIHZvaWQgMCE9PWlbbl0/aVtuXTplfTooZSxuKT0+e2NvbnN0IGk9cGFyc2VJbnQobiwxMCkscj10W2ldO3JldHVybiB2b2lkIDAhPT1yP3I6ZX07cmV0dXJuIHRoaXMucmVwbGFjZShuLHMpfX0sMzYzMjY5KHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUse21vYmlsZXRvdWNoOigpPT5yLHNldENsYXNzZXM6KCk9PnMsdG91Y2g6KCk9Pm99KTt2YXIgaT1uKDczODQ1OCk7Y29uc3Qgcj1pLm1vYmlsZXRvdWNoLG89aS50b3VjaDtmdW5jdGlvbiBzKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoaS50b3VjaD8iZmVhdHVyZS10b3VjaCI6ImZlYXR1cmUtbm8tdG91Y2giLGkubW9iaWxldG91Y2g/ImZlYXR1cmUtbW9iaWxldG91Y2giOiJmZWF0dXJlLW5vLW1vYmlsZXRvdWNoIil9fSwzMTg5NzQodCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSx7Q2hlY2tNb2JpbGU6KCk9PmMsaXNEZXNrdG9wQXBwOigpPT51LGlzTGludXg6KCk9PmEsaXNNYWM6KCk9PnMsaXNTYWZhcmk6KCk9PmgsaXNTeW1waG9ueUVtYmVkOigpPT5sLG9uR29Qcm86KCk9PmQsCm9uV2lkZ2V0OigpPT5yLm9uV2lkZ2V0LHN1cHBvcnRUb3VjaDooKT0+Zn0pO3ZhciBpPW4oNzM4NDU4KSxyPW4oMzc3MjI2KTtjb25zdCBvPXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2Z1bmN0aW9uIHMoKXtyZXR1cm4gaS5pc01hY31mdW5jdGlvbiBhKCl7cmV0dXJuIGkuaXNMaW51eH1mdW5jdGlvbiB1KCl7cmV0dXJuL1RWRGVza3RvcC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCl9ZnVuY3Rpb24gbCgpe3JldHVybiBvLmlzU3ltcGhvbnl8fCExfWNvbnN0IGM9e0FuZHJvaWQ6KCk9PmkuaXNBbmRyb2lkLEJsYWNrQmVycnk6KCk9PmkuaXNCbGFja0JlcnJ5LGlPUzooKT0+aS5pc0lPUyxPcGVyYTooKT0+aS5pc09wZXJhTWluaSxpc0lQYWQ6KCk9PmkuaXNJUGFkLGFueTooKT0+aS5pc0FueU1vYmlsZX07ZnVuY3Rpb24gZigpe3JldHVybiBpLm1vYmlsZXRvdWNofHxpLnRvdWNofHxpLmlzQW55TW9iaWxlfW8uaXNNb2JpbGU9YyxvLm9uV2lkZ2V0PXIub25XaWRnZXQ7aS5pc0Nocm9tZSxpLmlzRkYsaS5pc0VkZ2U7Y29uc3QgaD1pLmlzU2FmYXJpO2Z1bmN0aW9uIGQoKXtyZXR1cm4iL3ByaWNpbmcvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX19LDMzNjMzNCh0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpPW4oMTI5MzY1KTtlLmNyZWF0ZVJvb3Q9aS5jcmVhdGVSb290LGkuaHlkcmF0ZVJvb3R9LDEyOTM2NSh0LGUsbil7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiB0KCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSh0KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfX0oKSx0LmV4cG9ydHM9big1MzIzODcpfSw3Nzk0NzQodCxlLG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9bigxMjI3NDkpfSw5ODY3MDUodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDQ4MjUwNCkscj1uKDM2MzI2OSkubW9iaWxldG91Y2g7IWZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiBpKGkscil7cj1yfHxpK247dmFyIG89dCgpLHM9aSsiLiIrcisiLXNwZWNpYWwtZXZlbnQiO2Z1bmN0aW9uIGEoZSl7dChvKS5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXQodGhpcyk7dGhpcz09PWUudGFyZ2V0fHxuLmhhcyhlLnRhcmdldCkubGVuZ3RofHxuLnRyaWdnZXJIYW5kbGVyKHIsW2UudGFyZ2V0XSl9KSl9dC5ldmVudC5zcGVjaWFsW3JdPXtzZXR1cDpmdW5jdGlvbigpe2RlbGV0ZShvPW8uYWRkKHRoaXMpKS5wcmV2T2JqZWN0LDE9PT1vLmxlbmd0aCYmdChlKS5iaW5kKHMsYSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7ZGVsZXRlKG89by5ub3QodGhpcykpLnByZXZPYmplY3QsMD09PW8ubGVuZ3RoJiZ0KGUpLnVuYmluZChzKX0sYWRkOmZ1bmN0aW9uKHQpe3ZhciBlPXQuaGFuZGxlcjt0LmhhbmRsZXI9ZnVuY3Rpb24odCxuKXt0LnRhcmdldD1uLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19fXQubWFwKCJjbGljayBkYmxjbGljayBtb3VzZW1vdmUgbW91c2Vkb3duIG1vdXNldXAgbW91c2VvdmVyIG1vdXNlb3V0IGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKHQpe2kodCl9KSksaSgiZm9jdXNpbiIsImZvY3VzIituKSxpKCJmb2N1c291dCIsImJsdXIiK24pLHImJihpKCJ0b3VjaHN0YXJ0IiwibW91c2Vkb3duIituKSxpKCJ0b3VjaG1vdmUiLCJtb3VzZW1vdmUiK24pLGkoInRvdWNoZW5kIiwibW91c2V1cCIrbikpLHQuYWRkT3V0c2lkZUV2ZW50PWl9KGksZG9jdW1lbnQsIm91dHNpZGUiKX0sOTM0MTkodCxlLG4peyJ1c2Ugc3RyaWN0IjtuKDQwNjA3Mil9LDM2NDgzOCh0LGUsbil7InVzZSBzdHJpY3QiO24oOTM0MTkpLG4oNjY2MzQ5KSxuKDI4OTEzMil9LDcxMTk3OSh0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpLHIsbyxzLGE9big0ODI1MDQpO3I9KGk9YSkod2luZG93KSxvPWkoZG9jdW1lbnQpLHM9ZnVuY3Rpb24odCl7dmFyIGU9YS5kYXRhKHQudGFyZ2V0KTtlLmxvY2FsU2Nyb2xsP3QudGFyZ2V0LnNjcm9sbFRvcD50LnRhcmdldC5zY3JvbGxIZWlnaHQtaSh0LnRhcmdldCkuaGVpZ2h0KCktKGUudG9sZXJhbmNlfHwxOTApJiZpKHRoaXMpLnRyaWdnZXIoInNjcm9sbHRvZW5kIik6ci5zY3JvbGxUb3AoKT5vLmhlaWdodCgpLXIuaW5uZXJIZWlnaHQoKS0oZS50b2xlcmFuY2V8fDE5MCkmJmkodGhpcykudHJpZ2dlcigic2Nyb2xsdG9lbmQiKX0saS5ldmVudC5zcGVjaWFsLnNjcm9sbHRvZW5kPXtzZXR1cDpmdW5jdGlvbih0LGUpe2kodGhpcykuYmluZCgic2Nyb2xsLnNjcm9sbHRvZW5kIixzKX0sdGVhcmRvd246ZnVuY3Rpb24odCl7aSh0aGlzKS51bmJpbmQoInNjcm9sbC5zY3JvbGx0b2VuZCIscyl9fSxhLmV2ZW50LnNwZWNpYWwuc2Nyb2xsdG89e2JpbmRUeXBlOiJzY3JvbGwiLGhhbmRsZTpmdW5jdGlvbih0KXt2YXIgZT10LmhhbmRsZU9iajt0LnNjcm9sbERhdGF8fCh0LnNjcm9sbERhdGE9e3Njcm9sbFRvcDpyLnNjcm9sbFRvcCgpfSk7dmFyIG49bnVsbDtpZigibnVtYmVyIj09dHlwZW9mIHQuZGF0YS50byluPXQuc2Nyb2xsRGF0YS5zY3JvbGxUb3A+dC5kYXRhLnRvLSh0LmRhdGEudG9sZXJhbmNlfHwwKTtlbHNle2lmKCJib3R0b20iIT09dC5kYXRhLnRvKXRocm93IG5ldyBFcnJvcignU3BlY2lhbCBldmVudCBzY3JvbGx0bzogcHJvcGVydHkgInRvIiBoYXMgdW5leHBlY3RlZCB2YWx1ZScpO3Quc2Nyb2xsRGF0YS5ib3R0b21PZmZzZXR8fCh0LnNjcm9sbERhdGEuYm90dG9tT2Zmc2V0PW8uaGVpZ2h0KCktci5pbm5lckhlaWdodCgpKSxuPXQuc2Nyb2xsRGF0YS5zY3JvbGxUb3A+dC5zY3JvbGxEYXRhLmJvdHRvbU9mZnNldC0odC5kYXRhLnRvbGVyYW5jZXx8MCl9dmFyIGk9QXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGFyZ3VtZW50cyk7cmV0dXJuIG4/KGkucHVzaCghMCksCmUuaGFuZGxlci5hcHBseSh0aGlzLGkpKTp0LmRhdGEudHdvd2F5PyhpLnB1c2goITEpLGUuaGFuZGxlci5hcHBseSh0aGlzLGkpKTp2b2lkIDB9fX0sODcyODgxKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUse2RlZmF1bHQ6KCk9Pk19KTt2YXIgaT1uKDg4NjUxNCkscj1uKDI2OTM2Nik7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK248aTspaWYoZSh0W25dLG4sdCkpcmV0dXJuITA7cmV0dXJuITF9O3ZhciBzPW4oNzEyODAxKTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxuLGksYSx1KXt2YXIgbD0xJm4sYz10Lmxlbmd0aCxmPWUubGVuZ3RoO2lmKGMhPWYmJiEobCYmZj5jKSlyZXR1cm4hMTt2YXIgaD11LmdldCh0KSxkPXUuZ2V0KGUpO2lmKGgmJmQpcmV0dXJuIGg9PWUmJmQ9PXQ7dmFyIHA9LTEsdj0hMCxnPTImbj9uZXcgci5kZWZhdWx0OnZvaWQgMDtmb3IodS5zZXQodCxlKSx1LnNldChlLHQpOysrcDxjOyl7dmFyIG09dFtwXSx5PWVbcF07aWYoaSl2YXIgYj1sP2koeSxtLHAsZSx0LHUpOmkobSx5LHAsdCxlLHUpO2lmKHZvaWQgMCE9PWIpe2lmKGIpY29udGludWU7dj0hMTticmVha31pZihnKXtpZighbyhlLChmdW5jdGlvbih0LGUpe2lmKCEoMCxzLmRlZmF1bHQpKGcsZSkmJihtPT09dHx8YShtLHQsbixpLHUpKSlyZXR1cm4gZy5wdXNoKGUpfSkpKXt2PSExO2JyZWFrfX1lbHNlIGlmKG0hPT15JiYhYShtLHksbixpLHUpKXt2PSExO2JyZWFrfX1yZXR1cm4gdS5kZWxldGUodCksdS5kZWxldGUoZSksdn07dmFyIHU9big4NzI5OTkpLGw9big4NjUzMzApLGM9big5MTA3NzgpO2NvbnN0IGY9ZnVuY3Rpb24odCl7dmFyIGU9LTEsbj1BcnJheSh0LnNpemUpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7blsrK2VdPVtpLHRdfSkpLG59O3ZhciBoPW4oOTcyMDE3KSxkPXUuZGVmYXVsdD91LmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxwPWQ/ZC52YWx1ZU9mOnZvaWQgMDtjb25zdCB2PWZ1bmN0aW9uKHQsZSxuLGkscixvLHMpe3N3aXRjaChuKXtjYXNlIltvYmplY3QgRGF0YVZpZXddIjppZih0LmJ5dGVMZW5ndGghPWUuYnl0ZUxlbmd0aHx8dC5ieXRlT2Zmc2V0IT1lLmJ5dGVPZmZzZXQpcmV0dXJuITE7dD10LmJ1ZmZlcixlPWUuYnVmZmVyO2Nhc2UiW29iamVjdCBBcnJheUJ1ZmZlcl0iOnJldHVybiEodC5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fCFvKG5ldyBsLmRlZmF1bHQodCksbmV3IGwuZGVmYXVsdChlKSkpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpjYXNlIltvYmplY3QgTnVtYmVyXSI6cmV0dXJuKDAsYy5kZWZhdWx0KSgrdCwrZSk7Y2FzZSJbb2JqZWN0IEVycm9yXSI6cmV0dXJuIHQubmFtZT09ZS5uYW1lJiZ0Lm1lc3NhZ2U9PWUubWVzc2FnZTtjYXNlIltvYmplY3QgUmVnRXhwXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiB0PT1lKyIiO2Nhc2UiW29iamVjdCBNYXBdIjp2YXIgdT1mO2Nhc2UiW29iamVjdCBTZXRdIjp2YXIgZD0xJmk7aWYodXx8KHU9aC5kZWZhdWx0KSx0LnNpemUhPWUuc2l6ZSYmIWQpcmV0dXJuITE7dmFyIHY9cy5nZXQodCk7aWYodilyZXR1cm4gdj09ZTtpfD0yLHMuc2V0KHQsZSk7dmFyIGc9YSh1KHQpLHUoZSksaSxyLG8scyk7cmV0dXJuIHMuZGVsZXRlKHQpLGc7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOmlmKHApcmV0dXJuIHAuY2FsbCh0KT09cC5jYWxsKGUpfXJldHVybiExfTt2YXIgZz1uKDgwNjI0MCksbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IHk9ZnVuY3Rpb24odCxlLG4saSxyLG8pe3ZhciBzPTEmbixhPSgwLGcuZGVmYXVsdCkodCksdT1hLmxlbmd0aDtpZih1IT0oMCxnLmRlZmF1bHQpKGUpLmxlbmd0aCYmIXMpcmV0dXJuITE7Zm9yKHZhciBsPXU7bC0tOyl7dmFyIGM9YVtsXTtpZighKHM/YyBpbiBlOm0uY2FsbChlLGMpKSlyZXR1cm4hMX12YXIgZj1vLmdldCh0KSxoPW8uZ2V0KGUpO2lmKGYmJmgpcmV0dXJuIGY9PWUmJmg9PXQ7dmFyIGQ9ITA7by5zZXQodCxlKSxvLnNldChlLHQpO2Zvcih2YXIgcD1zOysrbDx1Oyl7dmFyIHY9dFtjPWFbbF1dLHk9ZVtjXTtpZihpKXZhciBiPXM/aSh5LHYsYyxlLHQsbyk6aSh2LHksYyx0LGUsbyk7aWYoISh2b2lkIDA9PT1iP3Y9PT15fHxyKHYseSxuLGksbyk6Yikpe2Q9ITE7YnJlYWt9cHx8KHA9ImNvbnN0cnVjdG9yIj09Yyl9aWYoZCYmIXApe3ZhciBfPXQuY29uc3RydWN0b3Isdz1lLmNvbnN0cnVjdG9yO189PXd8fCEoImNvbnN0cnVjdG9yImluIHQpfHwhKCJjb25zdHJ1Y3RvciJpbiBlKXx8ImZ1bmN0aW9uIj09dHlwZW9mIF8mJl8gaW5zdGFuY2VvZiBfJiYiZnVuY3Rpb24iPT10eXBlb2YgdyYmdyBpbnN0YW5jZW9mIHd8fChkPSExKX1yZXR1cm4gby5kZWxldGUodCksby5kZWxldGUoZSksZH07dmFyIGI9big5Njk3ODUpLF89bigyOTU2MzUpLHc9big2NTkwMTgpLHg9bigxNjUyNjcpLE89IltvYmplY3QgQXJndW1lbnRzXSIsRT0iW29iamVjdCBBcnJheV0iLEM9IltvYmplY3QgT2JqZWN0XSIsaz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IFM9ZnVuY3Rpb24odCxlLG4scixvLHMpe3ZhciB1PSgwLF8uZGVmYXVsdCkodCksbD0oMCxfLmRlZmF1bHQpKGUpLGM9dT9FOigwLGIuZGVmYXVsdCkodCksZj1sP0U6KDAsYi5kZWZhdWx0KShlKSxoPShjPWM9PU8/QzpjKT09QyxkPShmPWY9PU8/QzpmKT09QyxwPWM9PWY7aWYocCYmKDAsdy5kZWZhdWx0KSh0KSl7aWYoISgwLHcuZGVmYXVsdCkoZSkpcmV0dXJuITE7dT0hMCxoPSExfWlmKHAmJiFoKXJldHVybiBzfHwocz1uZXcgaS5kZWZhdWx0KSx1fHwoMCx4LmRlZmF1bHQpKHQpP2EodCxlLG4scixvLHMpOnYodCxlLGMsbixyLG8scyk7aWYoISgxJm4pKXt2YXIgZz1oJiZrLmNhbGwodCwiX193cmFwcGVkX18iKSxtPWQmJmsuY2FsbChlLCJfX3dyYXBwZWRfXyIpO2lmKGd8fG0pe3ZhciBTPWc/dC52YWx1ZSgpOnQsRD1tP2UudmFsdWUoKTplO3JldHVybiBzfHwocz1uZXcgaS5kZWZhdWx0KSxvKFMsRCxuLHIscyl9fXJldHVybiEhcCYmKHN8fChzPW5ldyBpLmRlZmF1bHQpLAp5KHQsZSxuLHIsbyxzKSl9O3ZhciBEPW4oMzYwNjIwKTtjb25zdCBNPWZ1bmN0aW9uIHQoZSxuLGkscixvKXtyZXR1cm4gZT09PW58fChudWxsPT1lfHxudWxsPT1ufHwhKDAsRC5kZWZhdWx0KShlKSYmISgwLEQuZGVmYXVsdCkobik/ZSE9ZSYmbiE9bjpTKGUsbixpLHIsdCxvKSl9fSwxNjc1MDIodCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oODcyODgxKTtjb25zdCByPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKDAsaS5kZWZhdWx0KSh0LGUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.512Z","timestamp":1785136901512,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-9d25\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 19a4c4f549f5e2489441575b61e10fa4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":40229,"size_decoded":13400,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"ea7468c239d76d650fad0348355c0723","sha1":"1679d20934fd0a870c0c4f6841783538386be8df","sha256":"ff8eafc7002dfc18017837f333b737baf6428680efa8976420f7545ba953bdfe","sha512":"cf2c6f55abd325793a9a4a962acfca9cea5a94ee011812cc1d100a66f9250a768e7d62a0c4d661cd711718cc67e00c4038f82d532a6daeebf8078a78b9d62c89","ssdeep":"768:FahKIrmNWI3Vn8gACkdBEECQrhuWfGwsGiaYOBzYJdncihxGddE/HAKZAPt+Z0Mn:45I3Vn8gK/NTeezYW91k2+","tlshash":"8f03d9d673b2b61587a64092f87d8503e36c1a8164cc253ef66c8cdf264de48b136bbd","first_seen":"2026-07-23T14:00:31.639092Z","last_seen":"2026-07-28T06:17:53.359026Z","times_seen":109,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjExMjYsNjk2OTddLHs0MTE5OTIoZSx0LHMpe3MuZCh0LHtoYXNGaW5hbmNpYWxzQnlBdmFpbGFiaWxpdHlGbGFnczooKT0+aX0pO3ZhciByPXMoMTU2ODI5KTtuZXcgU2V0KFsic3RvY2siLCJkciIsInJpZ2h0Iiwid2FycmFudCIsInN0cnVjdHVyZWQiLCJib25kIl0pLG5ldyBTZXQoWyJtdXR1YWwiLCJ1bml0IiwidHJ1c3QiLCJyZWl0IiwiY2xvc2VkZW5kIiwiZXRuIl0pLG5ldyBTZXQoWyJldG4iXSksbmV3IFNldChbImNvbnZlcnRpYmxlIiwiY29ycG9yYXRlIl0pLG5ldyBTZXQoWyJjZmQiXSk7ZnVuY3Rpb24gaShlLHQscyl7aWYodCYmcyYmKDAsci5pc0V0ZikodCxzKSlyZXR1cm4hMTtjb25zdHtkaXZpZGVuZHNfYXZhaWxhYmlsaXR5OmksZWFybmluZ3NfYXZhaWxhYmlsaXR5Om4sZmluYW5jaWFsc19hdmFpbGFiaWxpdHk6b309ZTtyZXR1cm4gMT09PW98fDE9PT1pfHwxPT09bn19LDg4OTM5NyhlLHQscyl7cy5kKHQse3Nob3dGaW5hbmNpYWxzRGlhbG9nOigpPT5pfSk7dmFyIHI9cyg4OTA4MzUpO2Z1bmN0aW9uIGkoZSl7ci5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoImZpbmFuY2lhbHMiLGUpfX0sODI3MDI5KGUsdCxzKXt2YXIgcixpLG47cy5kKHQse0VVX01BUktFVFM6KCk9Pm8sR2xvYmFsTWFya2V0OigpPT5uLE5vblN0b2NrTWFya2V0OigpPT5pLFN0b2NrTWFya2V0OigpPT5yfSksZnVuY3Rpb24oZSl7ZS5BbWVyaWNhPSJhbWVyaWNhIixlLkFyZ2VudGluYT0iYXJnZW50aW5hIixlLkF1c3RyYWxpYT0iYXVzdHJhbGlhIixlLkF1c3RyaWE9ImF1c3RyaWEiLGUuQmFocmFpbj0iYmFocmFpbiIsZS5CYW5nbGFkZXNoPSJiYW5nbGFkZXNoIixlLkJlbGdpdW09ImJlbGdpdW0iLGUuQnVsZ2FyaWE9ImJ1bGdhcmlhIixlLkJyYXppbD0iYnJhemlsIixlLkNhbmFkYT0iY2FuYWRhIixlLkNoaWxlPSJjaGlsZSIsZS5DaGluYT0iY2hpbmEiLGUuQ29sb21iaWE9ImNvbG9tYmlhIixlLkNyb2F0aWE9ImNyb2F0aWEiLGUuQ3lwcnVzPSJjeXBydXMiLGUuQ3plY2g9ImN6ZWNoIixlLkRlbm1hcms9ImRlbm1hcmsiLGUuRWd5cHQ9ImVneXB0IixlLkVzdG9uaWE9ImVzdG9uaWEiLGUuRmlubGFuZD0iZmlubGFuZCIsZS5GcmFuY2U9ImZyYW5jZSIsZS5HZXJtYW55PSJnZXJtYW55IixlLkdyZWVjZT0iZ3JlZWNlIixlLkhvbmdLb25nPSJob25na29uZyIsZS5IdW5nYXJ5PSJodW5nYXJ5IixlLkljZWxhbmQ9ImljZWxhbmQiLGUuSW5kaWE9ImluZGlhIixlLkluZG9uZXNpYT0iaW5kb25lc2lhIixlLklyZWxhbmQ9ImlyZWxhbmQiLGUuSXNyYWVsPSJpc3JhZWwiLGUuSXRhbHk9Iml0YWx5IixlLkphcGFuPSJqYXBhbiIsZS5LZW55YT0ia2VueWEiLGUuS3V3YWl0PSJrdXdhaXQiLGUuTGF0dmlhPSJsYXR2aWEiLGUuTGl0aHVhbmlhPSJsaXRodWFuaWEiLGUuTHV4ZW1ib3VyZz0ibHV4ZW1ib3VyZyIsZS5NYWxheXNpYT0ibWFsYXlzaWEiLGUuTWV4aWNvPSJtZXhpY28iLGUuTW9yb2Njbz0ibW9yb2NjbyIsZS5OZXRoZXJsYW5kcz0ibmV0aGVybGFuZHMiLGUuTmV3WmVhbGFuZD0ibmV3emVhbGFuZCIsZS5OaWdlcmlhPSJuaWdlcmlhIixlLk5vcndheT0ibm9yd2F5IixlLlBha2lzdGFuPSJwYWtpc3RhbiIsZS5QZXJ1PSJwZXJ1IixlLlBoaWxpcHBpbmVzPSJwaGlsaXBwaW5lcyIsZS5Qb2xhbmQ9InBvbGFuZCIsZS5Qb3J0dWdhbD0icG9ydHVnYWwiLGUuUWF0YXI9InFhdGFyIixlLlJvbWFuaWE9InJvbWFuaWEiLGUuUnVzc2lhPSJydXNzaWEiLGUuU2F1ZGlBcmFiaWE9ImtzYSIsZS5TZXJiaWE9InNlcmJpYSIsZS5TaW5nYXBvcmU9InNpbmdhcG9yZSIsZS5TbG92YWtpYT0ic2xvdmFraWEiLGUuU2xvdmVuaWE9InNsb3ZlbmlhIixlLlNvdXRoQWZyaWNhPSJyc2EiLGUuU291dGhLb3JlYT0ia29yZWEiLGUuU3BhaW49InNwYWluIixlLlNyaUxhbmthPSJzcmlsYW5rYSIsZS5Td2VkZW49InN3ZWRlbiIsZS5Td2l0emVybGFuZD0ic3dpdHplcmxhbmQiLGUuVGFpd2FuPSJ0YWl3YW4iLGUuVGhhaWxhbmQ9InRoYWlsYW5kIixlLlR1bmlzaWE9InR1bmlzaWEiLGUuVHVya2V5PSJ0dXJrZXkiLGUuVUFFPSJ1YWUiLGUuVUs9InVrIixlLlZlbmV6dWVsYT0idmVuZXp1ZWxhIixlLlZpZXRuYW09InZpZXRuYW0ifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuRm9yZXg9ImZvcmV4IixlLkNyeXB0bz0iY3J5cHRvIixlLkNvaW49ImNvaW4iLGUuQ0ZEPSJjZmQiLGUuQm9uZHM9ImJvbmRzIixlLkJvbmQ9ImJvbmQiLGUuRnV0dXJlcz0iZnV0dXJlcyIsZS5PcHRpb25zPSJvcHRpb25zIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLkdsb2JhbD0iZ2xvYmFsIn0obnx8KG49e30pKTtyLkJlbGdpdW0sci5DeXBydXMsci5EZW5tYXJrLHIuRXN0b25pYSxyLkZpbmxhbmQsci5GcmFuY2Usci5HZXJtYW55LHIuR3JlZWNlLHIuSHVuZ2FyeSxyLkljZWxhbmQsci5JdGFseSxyLkxhdHZpYSxyLkxpdGh1YW5pYSxyLkx1eGVtYm91cmcsci5OZXRoZXJsYW5kcyxyLk5vcndheSxyLlBvbGFuZCxyLlBvcnR1Z2FsLHIuUm9tYW5pYSxyLlJ1c3NpYSxyLlNlcmJpYSxyLlNsb3Zha2lhLHIuU3BhaW4sci5Td2VkZW4sci5Td2l0emVybGFuZCxyLlR1cmtleSxyLlVLO2NvbnN0IG89W3IuQmVsZ2l1bSxyLkN5cHJ1cyxyLkRlbm1hcmssci5Fc3RvbmlhLHIuRmlubGFuZCxyLkZyYW5jZSxyLkdlcm1hbnksci5HcmVlY2Usci5IdW5nYXJ5LHIuSXRhbHksci5MYXR2aWEsci5MaXRodWFuaWEsci5MdXhlbWJvdXJnLHIuTmV0aGVybGFuZHMsci5Qb2xhbmQsci5Qb3J0dWdhbCxyLlJvbWFuaWEsci5TbG92YWtpYSxyLlNwYWluLHIuU3dlZGVuXX0sNTk1NTE3KGUsdCxzKXtzLmQodCx7Z2V0U2NhbjJEYXRhOigpPT5oLGdldFNjYW5EYXRhOigpPT51fSk7dmFyIHI9cygzODQwMTcpLGk9cygyMTYwNzkpLG49cygxNTg3NjMpLG89cygzMjYwNDgpLGE9cygxMzM4NzQpO2NvbnN0IGw9InVzZXIgZG9lcyBub3QgaGF2ZSByaWdodHMgdG8gd2F0Y2hsaXN0Igo7Y2xhc3MgXyBleHRlbmRzIGEuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9IldhdGNobGlzdFJpZ2h0c0Vycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1sOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fWZ1bmN0aW9uIGMoZSx0LHMsYSxjLHU9e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9KXtjb25zdCBoPXMuZ2V0TWFya2V0cygpLGQ9bmV3IFVSTCgoMCxpLmdldEJhY2tlbmRVcmwpKGgsYSkrZSk7YyYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJsYWJlbC1wcm9kdWN0IixjKTtjb25zdCBtPUpTT04uc3RyaW5naWZ5KHMuZ2V0UGFyYW1zKCkpO3JldHVybigwLHIuZmV0Y2gpKGQudG9TdHJpbmcoKSx7c2lnbmFsOnQsbWV0aG9kOiJQT1NUIixib2R5Om0sY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6dX0pLnRoZW4oKGU9PntpZig0MDA9PT1lLnN0YXR1cyl7Y29uc3R7c3RhdHVzOnQsc3RhdHVzVGV4dDpzfT1lO3JldHVybiBlLmpzb24oKS50aGVuKChlPT57Y29uc3Qgcj1lLmVycm9yO2lmKHZvaWQgMCE9PShpPXIpJiZpLmluY2x1ZGVzKGwpKXRocm93IG5ldyBfKHtzdGF0dXM6dCxzdGF0dXNUZXh0OnMsZXJyb3I6cn0pO3ZhciBpO3Rocm93IG5ldyBvLkJhZFJlcXVlc3RFcnJvclJlc3BvbnNlKHtzdGF0dXM6dCxzdGF0dXNUZXh0OnMsZXJyb3I6cn0pfSkpfWlmKGUub2spcmV0dXJuIGUuanNvbigpLnRoZW4oKGU9PmUpKTt0aHJvdyBuZXcgbi5IdHRwRXJyb3JSZXNwb25zZShlKX0pKX1mdW5jdGlvbiB1KGUsdCxzLHIpe3JldHVybiBjKCJzY2FuIixlLHQscyxyKX1mdW5jdGlvbiBoKGUsdCxzLHIpe3JldHVybiBjKCJzY2FuMiIsZSx0LHMscil9fSwzOTI1NzMoZSx0LHMpe3MuZCh0LHtDb2x1bW5zQ29sbGVjdGlvbjooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9jb2x1bW5zPW5ldyBTZXR9c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuY2xlYXIoKSxlLmZvckVhY2godGhpcy5fY29sdW1ucy5hZGQsdGhpcy5fY29sdW1ucyksdGhpc31hZGRDb2x1bW4oZSl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuYWRkKGUpLHRoaXN9ZGVsZXRlQ29sdW1uKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZShlKSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2NvbHVtbnNdfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fY29sdW1ucy5jbGVhcigpLHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5fY29sdW1ucy5zaXplfX19LDI0ODI2KGUsdCxzKXtzLmQodCx7RmlsdGVyQ29sbGVjdGlvbjooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJzPW5ldyBTZXR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5fZmlsdGVycy5zaXplfWNsb25lKCl7cmV0dXJuKG5ldyByKS5zZXRTdGF0ZSh0aGlzLmdldFN0YXRlKCkpfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2ZpbHRlcnNdfXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9yZXdyaXRlRmlsdGVyU2V0KHRoaXMuX2ZpbHRlcnMsZSksdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX2ZpbHRlcnMuY2xlYXIoKSx0aGlzfWFkZENvbmRpdGlvbihlKXtjb25zdCB0PUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9maWx0ZXJzLmFkZChlKTtyZXR1cm4gdGhpc31kZWxldGVDb25kaXRpb24oZSl7cmV0dXJuIHRoaXMuX2ZpbHRlcnMuZGVsZXRlKGUpLHRoaXN9X3Jld3JpdGVGaWx0ZXJTZXQoZSx0KXtlLmNsZWFyKCksdC5mb3JFYWNoKGUuYWRkLGUpfX19LDgxMjU4MyhlLHQscyl7cy5kKHQse0ZpbHRlcjI6KCk9PnJ9KTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlsdGVyPXZvaWQgMH1yZXNldEZpbHRlcigpe3JldHVybiB0aGlzLl9maWx0ZXI9dm9pZCAwLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fZmlsdGVyP0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVyKSk6dm9pZCAwfXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9maWx0ZXI9ZSx0aGlzfWFkZEZpbHRlcjIoZSl7Y29uc3QgdD10aGlzLmdldFN0YXRlKCk7aWYoIXQpcmV0dXJuIHRoaXMuc2V0U3RhdGUoe29wZXJhdG9yOmUub3BlcmF0b3Isb3BlcmFuZHM6ZS5vcGVyYW5kc30pLHRoaXM7Y29uc3R7b3BlcmF0b3I6cyxvcGVyYW5kczpyfT10O3JldHVybiB0aGlzLnNldFN0YXRlKHtvcGVyYXRvcjpzLG9wZXJhbmRzOlsuLi5yLC4uLmUub3BlcmFuZHNdfSksdGhpc319fSwyMTgxNDUoZSx0LHMpe3MuZCh0LHtPcHRpb25zOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX29wdGlvbnM9e319c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX29wdGlvbnM9ZSx0aGlzfXJlc3RyaWN0RW9kKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZGF0YV9yZXN0cmljdGlvbnM9IlBSRVZfQkFSIix0aGlzfW5vRW9kUmVzdHJpY3Rpb24oKXtyZXR1cm4gZGVsZXRlIHRoaXMuX29wdGlvbnMuZGF0YV9yZXN0cmljdGlvbnMsdGhpc31zZXRMYW5nKGUpe3JldHVybiB0aGlzLl9vcHRpb25zLmxhbmc9ZSx0aGlzfXJlc2V0TGFuZygpe3JldHVybiBkZWxldGUgdGhpcy5fb3B0aW9ucy5sYW5nLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm57Li4udGhpcy5fb3B0aW9uc319cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnM9e30sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT1PYmplY3QudmFsdWVzKHRoaXMuX29wdGlvbnMpLmxlbmd0aH19fSwxOTUyMjMoZSx0LHMpe3MuZCh0LHtTY2FuUHJpY2VDb252ZXJzaW9uOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3ByaWNlQ29udmVyc2lvbj17fX1zZXRQcmljZUNvbnZlcnNpb24oZSl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbj1lLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm57Li4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLnRvX3N5bWJvbD97dG9fc3ltYm9sOnRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19zeW1ib2x9Ont9LC4uLnZvaWQgMCE9PXRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19jdXJyZW5jeT97CnRvX2N1cnJlbmN5OnRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19jdXJyZW5jeX06e30sLi4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLmRpc2FibGVkP3tkaXNhYmxlZDp0aGlzLl9wcmljZUNvbnZlcnNpb24uZGlzYWJsZWR9Ont9fX1yZXNldCgpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb249e30sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT1PYmplY3QudmFsdWVzKHRoaXMuX3ByaWNlQ29udmVyc2lvbikubGVuZ3RofX19LDgyNDUwMihlLHQscyl7cy5kKHQse1JhbmdlOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3JhbmdlPVtdfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX3JhbmdlXX1zZXRTdGF0ZShlKXtyZXR1cm4gdGhpcy5fcmFuZ2U9ZSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fcmFuZ2U9W10sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzLl9yYW5nZS5sZW5ndGh9fX0sMTgwNjY3KGUsdCxzKXtzLmQodCx7U2NhblBhcmFtc01hbmFnZXI6KCk9PnV9KTt2YXIgcj1zKDI0ODI2KSxpPXMoMjE4MTQ1KSxuPXMoMTk1MjIzKSxvPXMoNzM4ODEpLGE9cygzOTI1NzMpLGw9cyg4MjQ1MDIpLF89cygzMjMwMjcpLGM9cyg4MTI1ODMpO2NsYXNzIHV7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJDb2xsZWN0aW9uPW5ldyByLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SPW5ldyByLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fY29sdW1ucz1uZXcgYS5Db2x1bW5zQ29sbGVjdGlvbix0aGlzLl9pZ25vcmVVbmtub3duRmllbGRzPSExLHRoaXMuX29wdGlvbnM9bmV3IGkuT3B0aW9ucyx0aGlzLl9wcmljZUNvbnZlcnNpb249bmV3IG4uU2NhblByaWNlQ29udmVyc2lvbix0aGlzLl9yYW5nZT1uZXcgbC5SYW5nZSx0aGlzLl9zb3J0PW5ldyBfLlNvcnQsdGhpcy5fc3ltYm9scz1uZXcgby5TeW1ib2xzLHRoaXMuX21hcmtldHM9W119Z2V0UGFyYW1zKCl7Y29uc3QgZT10aGlzLmdldEZpbHRlcjIoKSx0PWU/e2ZpbHRlcjI6ZX06dm9pZCAwLHM9dGhpcy5nZXRQcmVzZXQoKSxyPXM/e3ByZXNldDpzfTp2b2lkIDA7cmV0dXJue2NvbHVtbnM6dGhpcy5pc0NvbHVtbnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldENvbHVtbnMoKSxmaWx0ZXI6dGhpcy5pc0ZpbHRlcnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldEZpbHRlcnMoKSxmaWx0ZXJPUjp0aGlzLmlzRmlsdGVyT3JFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldEZpbHRlck9SKCksaWdub3JlX3Vua25vd25fZmllbGRzOnRoaXMuZ2V0SWdub3JlVW5rbm93bkZpZWxkcygpLG9wdGlvbnM6dGhpcy5pc09wdGlvbnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldE9wdGlvbnMoKSxwcmljZV9jb252ZXJzaW9uOnRoaXMuaXNQcmljZUNvbnZlcnNpb25zRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRQcmljZUNvbnZlcnNpb24oKSxyYW5nZTp0aGlzLmlzUmFuZ2VFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFJhbmdlKCksc29ydDp0aGlzLmlzU29ydEVtcHR5KCk/dm9pZCAwOnRoaXMuZ2V0U29ydCgpLHN5bWJvbHM6dGhpcy5pc1N5bWJvbHNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFN5bWJvbHMoKSxtYXJrZXRzOnRoaXMuaXNNYXJrZXRzRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRNYXJrZXRzKCksaW5kZXhfZmlsdGVyczp0aGlzLmdldEluZGV4RmlsdGVycygpLC4uLnIsLi4udH19Y2xvbmUoKXtjb25zdCBlPW5ldyB1LHQ9dGhpcy5nZXRQYXJhbXMoKTtyZXR1cm4gZS5zZXRQYXJhbXModCksZX1nZXRGaWx0ZXJzQ29sbGVjdGlvbkNsb25lKCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uY2xvbmUoKX1zZXRQYXJhbXMoZSl7Y29uc3QgdD17Y29sdW1uczooKT0+dGhpcy5zZXRDb2x1bW5zKGUuY29sdW1ucyksZmlsdGVyMjooKT0+dGhpcy5zZXRGaWx0ZXIyKGUuZmlsdGVyMiksZmlsdGVyOigpPT50aGlzLnNldEZpbHRlcnMoZS5maWx0ZXIpLGZpbHRlck9SOigpPT50aGlzLnNldEZpbHRlck9SKGUuZmlsdGVyT1IpLGlnbm9yZV91bmtub3duX2ZpZWxkczooKT0+ZS5pZ25vcmVfdW5rbm93bl9maWVsZHM/dGhpcy5pZ25vcmVVbmtub3duRmllbGRzKCk6dGhpcy5kb05vdElnbm9yZVVua25vd25GaWVsZHMoKSxtYXJrZXRzOigpPT50aGlzLnNldE1hcmtldHMoZS5tYXJrZXRzKSxvcHRpb25zOigpPT50aGlzLnNldE9wdGlvbnMoZS5vcHRpb25zKSxwcmljZV9jb252ZXJzaW9uOigpPT50aGlzLnNldFByaWNlQ29udmVyc2lvbihlLnByaWNlX2NvbnZlcnNpb24pLHJhbmdlOigpPT50aGlzLnNldFJhbmdlKGUucmFuZ2UpLHNvcnQ6KCk9PnRoaXMuc2V0U29ydChlLnNvcnQpLHN5bWJvbHM6KCk9PnRoaXMuc2V0U3ltYm9scyhlLnN5bWJvbHMpLHByZXNldDooKT0+dGhpcy5zZXRQcmVzZXQoZS5wcmVzZXQpLGluZGV4X2ZpbHRlcnM6KCk9PnRoaXMuc2V0SW5kZXhGaWx0ZXJzKGUuaW5kZXhfZmlsdGVycyl9O2Zvcihjb25zdFtzLHJdb2YgT2JqZWN0LmVudHJpZXModCkpZS5oYXNPd25Qcm9wZXJ0eShzKSYmdm9pZCAwIT09ZVtzXSYmcigpO3JldHVybiB0aGlzfXNldEZpbHRlcnMoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXIoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uYWRkQ29uZGl0aW9uKGUpLHRoaXN9Z2V0RmlsdGVycygpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmdldFN0YXRlKCl9ZGVsZXRlRmlsdGVyKGUpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmRlbGV0ZUNvbmRpdGlvbihlKSx0aGlzfXJlc2V0RmlsdGVycygpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uaXNFbXB0eSgpfXNldEZpbHRlck9SKGUpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1Iuc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXJPUihlKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmFkZENvbmRpdGlvbihlKSx0aGlzfWdldEZpbHRlck9SKCl7CnJldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuZ2V0U3RhdGUoKX1kZWxldGVGaWx0ZXJPUihlKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmRlbGV0ZUNvbmRpdGlvbihlKSx0aGlzfXJlc2V0RmlsdGVyT1IoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyT3JFbXB0eSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuaXNFbXB0eSgpfXNldEZpbHRlcjIoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlcjJ8fCh0aGlzLl9maWx0ZXIyPW5ldyBjLkZpbHRlcjIpLHRoaXMuX2ZpbHRlcjIuc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXIyKGUpe3JldHVybiB0aGlzLl9maWx0ZXIyfHwodGhpcy5fZmlsdGVyMj1uZXcgYy5GaWx0ZXIyKSx0aGlzLl9maWx0ZXIyLmFkZEZpbHRlcjIoZSksdGhpc31nZXRGaWx0ZXIyKCl7aWYodGhpcy5fZmlsdGVyMilyZXR1cm4gdGhpcy5fZmlsdGVyMi5nZXRTdGF0ZSgpfXJlc2V0RmlsdGVyMigpe3JldHVybiB0aGlzLl9maWx0ZXIyJiZ0aGlzLl9maWx0ZXIyLnJlc2V0RmlsdGVyKCksdGhpc31nZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZ2V0U3RhdGUoKX1zZXRPcHRpb25zKGUpe3JldHVybiB0aGlzLl9vcHRpb25zLnNldFN0YXRlKGUpLHRoaXN9cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVzZXRPcHRpb25zKCksdGhpc31yZXN0cmljdEVvZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnJlc3RyaWN0RW9kKCksdGhpc31ub0VvZFJlc3RyaWN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubm9Fb2RSZXN0cmljdGlvbigpLHRoaXN9c2V0T3B0aW9uc0xhbmcoZSl7cmV0dXJuIHRoaXMuX29wdGlvbnMuc2V0TGFuZyhlKSx0aGlzfXJlc2V0T3B0aW9uc0xhbmcoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5yZXNldExhbmcoKSx0aGlzfWlzT3B0aW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuaXNFbXB0eSgpfWdldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5nZXRTdGF0ZSgpfXNldFN5bWJvbHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0U3RhdGUoZSksdGhpc31yZXNldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFN0YXRlKCksdGhpc31zZXRUaWNrZXJzKGUpe3JldHVybiB0aGlzLl9zeW1ib2xzLnNldFRpY2tlcnMoZSksdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFRpY2tlcnMoKSx0aGlzfXNldFN5bWJvbHNldChlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRTeW1ib2xzZXQoZSksdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0U3ltYm9sc2V0KCksdGhpc31zZXRUeXBlcyhlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRUeXBlcyhlKSx0aGlzfXJlc2V0VHlwZXMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFR5cGVzKCksdGhpc31zZXRHcm91cHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0R3JvdXBzKGUpLHRoaXN9aXNTeW1ib2xzRW1wdHkoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5pc0VtcHR5KCl9Z2V0Q29sdW1ucygpe3JldHVybiB0aGlzLl9jb2x1bW5zLmdldFN0YXRlKCl9YWRkQ29sdW1ucyhlKXtjb25zdCB0PUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9jb2x1bW5zLmFkZENvbHVtbihlKTtyZXR1cm4gdGhpc31zZXRDb2x1bW5zKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLnNldFN0YXRlKGUpLHRoaXN9cmVzZXRDb2x1bW5zKCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMucmVzZXRTdGF0ZSgpLHRoaXN9ZGVsZXRlQ29sdW1uKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZUNvbHVtbihlKSx0aGlzfWlzQ29sdW1uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuaXNFbXB0eSgpfXNldFJhbmdlKGUpe3JldHVybiB0aGlzLl9yYW5nZS5zZXRTdGF0ZShlKSx0aGlzfWdldFJhbmdlKCl7cmV0dXJuIHRoaXMuX3JhbmdlLmdldFN0YXRlKCl9cmVzZXRSYW5nZSgpe3JldHVybiB0aGlzLl9yYW5nZS5yZXNldFN0YXRlKCksdGhpc31pc1JhbmdlRW1wdHkoKXtyZXR1cm4gdGhpcy5fcmFuZ2UuaXNFbXB0eSgpfXNldFNvcnQoZSl7cmV0dXJuIHRoaXMuX3NvcnQuc2V0U3RhdGUoZSksdGhpc31nZXRTb3J0KCl7cmV0dXJuIHRoaXMuX3NvcnQuZ2V0U3RhdGUoKX1yZXNldFNvcnQoKXtyZXR1cm4gdGhpcy5fc29ydC5yZXNldFN0YXRlKCksdGhpc31zb3J0QXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEFzYygpLHRoaXN9c29ydERlc2MoKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0RGVzYygpLHRoaXN9c29ydEJ5KGUpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeShlKSx0aGlzfWlzU29ydEVtcHR5KCl7cmV0dXJuIHRoaXMuX3NvcnQuaXNFbXB0eSgpfXNldFByaWNlQ29udmVyc2lvbihlKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uLnNldFByaWNlQ29udmVyc2lvbihlKSx0aGlzfWdldFByaWNlQ29udmVyc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24uZ2V0U3RhdGUoKX1yZXNldFByaWNlQ29udmVyc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24ucmVzZXQoKSx0aGlzfWlzUHJpY2VDb252ZXJzaW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbi5pc0VtcHR5KCl9c2V0UHJlc2V0KGUpe3JldHVybiB0aGlzLl9wcmVzZXQ9ZSx0aGlzfWdldFByZXNldCgpe3JldHVybiB0aGlzLl9wcmVzZXR9cmVzZXRQcmVzZXQoKXtyZXR1cm4gZGVsZXRlIHRoaXMuX3ByZXNldCx0aGlzfXNldEluZGV4RmlsdGVycyhlKXtyZXR1cm4gdGhpcy5faW5kZXhGaWx0ZXJzPWUsdGhpc31nZXRJbmRleEZpbHRlcnMoKXtyZXR1cm4gdGhpcy5faW5kZXhGaWx0ZXJzfXJlc2V0SW5kZXhGaWx0ZXJzKCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9pbmRleEZpbHRlcnMsdGhpc31kb05vdElnbm9yZVVua25vd25GaWVsZHMoKXtyZXR1cm4gdGhpcy5faWdub3JlVW5rbm93bkZpZWxkcz0hMSx0aGlzfWlnbm9yZVVua25vd25GaWVsZHMoKXsKcmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHM9ITAsdGhpc31nZXRJZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHN9c2V0TWFya2V0cyhlKXtyZXR1cm4gdGhpcy5fbWFya2V0cz1bLi4uZV0sdGhpc31nZXRNYXJrZXRzKCl7cmV0dXJuIHRoaXMuX21hcmtldHN9aXNNYXJrZXRzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX21hcmtldHMubGVuZ3RofWdldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLmdldFN5bWJvbHMoKS53YXRjaGxpc3R9c2V0V2F0Y2hsaXN0KGUpe3JldHVybiB0aGlzLnNldFN5bWJvbHMoey4uLnRoaXMuZ2V0U3ltYm9scygpLHdhdGNobGlzdDplfSksdGhpc31yZXNldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc31yZXNldFBhcmFtcygpe3JldHVybiB0aGlzLl9maWx0ZXIyPXZvaWQgMCx0aGlzLmRvTm90SWdub3JlVW5rbm93bkZpZWxkcygpLHRoaXMucmVzZXRDb2x1bW5zKCksdGhpcy5yZXNldEZpbHRlcnMoKSx0aGlzLnJlc2V0RmlsdGVyT1IoKSx0aGlzLnJlc2V0T3B0aW9ucygpLHRoaXMucmVzZXRQcmljZUNvbnZlcnNpb24oKSx0aGlzLnJlc2V0UmFuZ2UoKSx0aGlzLnJlc2V0U3ltYm9scygpLHRoaXMucmVzZXRJbmRleEZpbHRlcnMoKSx0aGlzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc319fSwzMjMwMjcoZSx0LHMpe3MuZCh0LHtTb3J0OigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3NvcnQ9e319c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX3NvcnQ9ZSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuey4uLnRoaXMuX3NvcnR9fXNvcnRCeShlKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0Qnk9ZSx0aGlzLl9zb3J0LnNvcnRPcmRlcnx8dGhpcy5zb3J0RGVzYygpLHRoaXN9c29ydEFzYygpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeSYmKHRoaXMuX3NvcnQuc29ydE9yZGVyPSJhc2MiKSx0aGlzfXNvcnREZXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEJ5JiYodGhpcy5fc29ydC5zb3J0T3JkZXI9ImRlc2MiKSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fc29ydD17fSx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gMD09PU9iamVjdC52YWx1ZXModGhpcy5fc29ydCkubGVuZ3RofX19LDczODgxKGUsdCxzKXtzLmQodCx7U3ltYm9sczooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9zeW1ib2xzPXt9fXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9zeW1ib2xzPWUsdGhpc31nZXRTdGF0ZSgpe2NvbnN0IGU9dGhpcy5fc3ltYm9scy5xdWVyeT97cXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnl9fTp7fSx0PXRoaXMuX3N5bWJvbHMudGlja2Vycz97dGlja2VyczpbLi4udGhpcy5fc3ltYm9scy50aWNrZXJzXX06W10scz10aGlzLl9zeW1ib2xzLmdyb3Vwcz97Z3JvdXBzOnRoaXMuX3N5bWJvbHMuZ3JvdXBzLm1hcCgoZT0+KHt0eXBlOmUudHlwZSx2YWx1ZXM6Wy4uLmUudmFsdWVzXX0pKSl9Ont9LHI9dGhpcy5fc3ltYm9scy5zeW1ib2xzZXQ/e3N5bWJvbHNldDpbLi4udGhpcy5fc3ltYm9scy5zeW1ib2xzZXRdfTpbXSxpPXRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0P3t3YXRjaGxpc3Q6e2lkOnRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0LmlkfX06e307cmV0dXJuey4uLmUsLi4udCwuLi5zLC4uLnIsLi4udm9pZCAwPT09dGhpcy5fc3ltYm9scy5ibGFja19saXN0X3N5bWJvbHM/e306e2JsYWNrX2xpc3Rfc3ltYm9sczp0aGlzLl9zeW1ib2xzLmJsYWNrX2xpc3Rfc3ltYm9sc30sLi4uaX19c2V0VGlja2VycyhlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPWUsdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPVtdLHRoaXN9c2V0VHlwZXMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9ey4uLnRoaXMuX3N5bWJvbHMscXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnksdHlwZXM6ZX19LHRoaXN9cmVzZXRUeXBlcygpe3JldHVybiB0aGlzLl9zeW1ib2xzPXsuLi50aGlzLl9zeW1ib2xzLHF1ZXJ5OnsuLi50aGlzLl9zeW1ib2xzLnF1ZXJ5LHR5cGVzOltdfX0sdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9e30sdGhpc31zZXRHcm91cHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuZ3JvdXBzPWUsdGhpc31yZXNldEdyb3Vwcygpe3JldHVybiBkZWxldGUgdGhpcy5fc3ltYm9scy5ncm91cHMsdGhpc31zZXRTeW1ib2xzZXQoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc3ltYm9sc2V0PWUsdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnN5bWJvbHNldD1bXSx0aGlzfXJlc2V0V2F0Y2hsaXN0KCl7Y29uc3R7d2F0Y2hsaXN0OmUsLi4udH09dGhpcy5fc3ltYm9scztyZXR1cm4gdGhpcy5fc3ltYm9scz10LHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9zeW1ib2xzKS5sZW5ndGh9fX0sMTI4ODE0KGUsdCxzKXtzLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+dX0pO3ZhciByPXMoOTQ4MzgwKSxpPXMoMTUwMTUwKSxuPXMoMjE0OTg3KSxvPXMoMTM4NjM4KSxhPXMoMzY3OTQ2KSxsPXMoOTcwNzc0KSxfPXMoMzA5MDUyKTtjb25zdCBjPW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHIuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWsKO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlU3ltYm9sRGF0YShlLnBhcmFtc1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCl9fSwwPT09ZS5maWVsZHMubGVuZ3RoKXRocm93IG5ldyBFcnJvcignU3VwcG9ydCBmb3IgZW1wdHkgImZpZWxkcyIgYXJyYXkgaXMgbm90IGltcGxlbWVudGVkJyk7Y29uc3R7cHJvdmlkZXI6dD1sLlF1b3RlU2Vzc2lvbn09ZTt0aGlzLl9maWVsZHM9bmV3IFNldChlLmZpZWxkcyksdGhpcy5fc2Vzc2lvbj1uZXcgdChlLmFwaSxbInNuYXBzaG90ZXIiLGUubmFtZSwoMCxpLnJhbmRvbUhhc2gpKCldLmZpbHRlcihCb29sZWFuKS5qb2luKCJfIikpLHRoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLl9oYW5kbGVyKX1nZXRTbmFwc2hvdFN5bmMoZSx0KXtjb25zdCBzPXUuY2FjaGUuZ2V0KGUpO3JldHVybiBzJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkocyx7ZmllbGRzOnQsdGltZXN0YW1wOm51bGx9KT9zOm51bGx9Z2V0U25hcHNob3RzRm9yQWxsU3luYyhlLHQpe3JldHVybiBlLm1hcCgoZT0+dGhpcy5nZXRTbmFwc2hvdFN5bmMoZSx0KSkpfWdldFNuYXBzaG90KGUsdCxzKXtjb25zdCByPXM/LnNpZ25hbD8/bnVsbCxpPXM/LmZyZXNobmVzcyxhPXZvaWQgMCE9PWk/RGF0ZS5ub3coKS1pOm51bGw7cmV0dXJuIG5ldyBQcm9taXNlKCgocyxpKT0+e2lmKHImJnIuYWJvcnRlZCl0aHJvdygwLG4uY3JlYXRlQWJvcnRFcnJvcikoKTtjb25zdCBsPSgpPT57dGhpcy5fb25TeW1ib2xEYXRhLnVuc3Vic2NyaWJlKHRoaXMsXyksaSgoMCxuLmNyZWF0ZUFib3J0RXJyb3IpKCkpfSxfPShpPWUpPT57aWYoaSE9PWUpcmV0dXJuO2NvbnN0IG49dS5jYWNoZS5nZXQoZSk7biYmdGhpcy5faXNTbmFwc2hvdFJlYWR5KG4se3RpbWVzdGFtcDphLHN5bWJvbDplLGZpZWxkczp0fSkmJih0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxfKSxyPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsbCkscyhuKSl9O2lmKCEoKCk9Pntjb25zdCByPXUuY2FjaGUuZ2V0KGUpO2lmKCFyKXJldHVybiExO2NvbnN0IGk9KDAsby5lbnN1cmVOb3ROdWxsKSh1LmNhY2hlLmdldFRpbWVzKGUpKTtyZXR1cm4hIXRoaXMuX2lzU25hcHNob3RSZWFkeShyLHtmaWVsZHM6dCxzeW1ib2w6ZSx0aW1lc3RhbXA6YSx0aW1lczppfSkmJihzKHIpLCEwKX0pKCkmJihyPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsbCx7b25jZTohMH0pLHRoaXMuX29uU3ltYm9sRGF0YS5zdWJzY3JpYmUodGhpcyxfKSwhdGhpcy5faW5jb21wbGV0ZS5oYXMoZSkpKXtpZih0aGlzLl91cGRhdGVkRmllbGRzLnNldChlLG5ldyBTZXQpLHRoaXMuX2luY29tcGxldGUuYWRkKGUpLCF0aGlzLl9jb25uZWN0ZWQpcmV0dXJuO2lmKG51bGw9PT10aGlzLl9iYXRjaGVyKXtjb25zdCB0PXRoaXMuX2JhdGNoZXI9e3N5bWJvbHM6bmV3IFNldChbZV0pLHByb21pc2U6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9Pnt0aGlzLl9iYXRjaGVyPT09dCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKFsuLi50LnN5bWJvbHNdKSx0aGlzLl9iYXRjaGVyPW51bGwpfSkpfX1lbHNlIHRoaXMuX2JhdGNoZXIuc3ltYm9scy5hZGQoZSl9fSkpfWdldFNuYXBzaG90c0ZvckFsbChlLHQscyl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90KGUsdCxzKSkpKX1zdGF0aWMgcmVsYXgoZSl7cmV0dXJuIGV9c3RhdGljIGlzU3VjY2VzcyhlKXtyZXR1cm4iZXJyb3IiIT09ZS5zdGF0dXN9c3RhdGljIGhhc0FsbEZpZWxkcyhlLHQpe2Zvcihjb25zdCBzIG9mIEFycmF5LmZyb20odCkpaWYoIWUuaGFzT3duUHJvcGVydHkocykpcmV0dXJuITE7cmV0dXJuITB9X2lzU25hcHNob3RSZWFkeShlLHQpe2NvbnN0e2ZpZWxkczpzLHRpbWVzdGFtcDpyLHRpbWVzOmksc3ltYm9sOm59PXQ7cmV0dXJuImVycm9yIj09PWUuc3RhdHVzfHwobnVsbCE9PXImJmk/dGhpcy5faXNBbGxGaWVsZHNVcFRvRGF0ZShlLGkscyxyKTpudWxsIT09ciYmbj90aGlzLl9pc0FsbEZpZWxkc1VwZGF0ZWQoZSxuLHMpOnRoaXMuX2hhc0FsbEZpZWxkcyhlLHMpKX1faXNBbGxGaWVsZHNVcGRhdGVkKGUsdCxzKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcj10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighcnx8IXIuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHMpKWlmKCFyLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIHUuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxzLHIpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHMpKXtjb25zdCBzPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09cylyZXR1cm4hMTtpZihzPHIpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9Yy5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9dS5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTt1LmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLAp0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhbZV0pLHRoaXMuX2luY29tcGxldGUuZGVsZXRlKGUpLHRoaXMuX29uU3ltYm9sRGF0YS5maXJlKGUpfV9oYW5kbGVTeW1ib2xEYXRhKGUpeygwLGEubm9ybWFsaXplVXBkYXRlTW9kZSkoZS52YWx1ZXMpLHUuY2FjaGUudXBkYXRlKGUsdGhpcy5fZmllbGRzLCExKTtjb25zdCB0PWUuc3ltYm9sbmFtZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCkpLHI9bmV3IFNldChzKTtmb3IoY29uc3QgdCBvZiB0aGlzLl9maWVsZHMpZS52YWx1ZXMuaGFzT3duUHJvcGVydHkodCkmJnIuYWRkKHQpO3RoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KHQsciksImVycm9yIj09PWUuc3RhdHVzP3RoaXMuX2hhbmRsZUNvbXBsZXRlRGF0YSh0KTp0aGlzLl9vblN5bWJvbERhdGEuZmlyZSh0KX19dS5jYWNoZT1fLlFVT1RFX0ZJRUxEU19DQUNIRX0sNjE1NTQ3KGUsdCxzKXtzLmQodCx7RGV0YWlsc0RhdGFQcm92aWRlcjooKT0+QSxnZXRCb25kc1JlcXVlc3RQYXJhbXM6KCk9PkIsZ2V0RnV0dXJlc1JlcXVlc3RQYXJhbXM6KCk9PlAsZ2V0U2NyZWVuZXJSZXF1ZXN0UGFyYW1zOigpPT5NLHByZXBhcmVCb25kc0RhdGE6KCk9PnEscHJlcGFyZUZ1dHVyZXNEYXRhOigpPT54fSk7dmFyIHI9cygxNTAxNTApLGk9cygxMzg2MzgpLG49cygxODA2NjcpLG89cyg4MjcwMjkpO2NvbnN0IGE9ZT0+ImZ1dHVyZXMiPT09ZT9vLk5vblN0b2NrTWFya2V0LkZ1dHVyZXM6by5HbG9iYWxNYXJrZXQuR2xvYmFsO3ZhciBsLF89cyg2MTkxMjMpLGM9cygxNTY4MjkpLHU9cyg3MzEwOTEpLGg9cygyMTQ5ODcpLGQ9cyg3NzA4MjUpOyFmdW5jdGlvbihlKXtlLkFsbFN0b2Nrcz0iYWxsX3N0b2NrcyIsZS5TbWFsbENhcD0ic21hbGxfY2FwIixlLkxhcmdlQ2FwPSJsYXJnZV9jYXAiLGUuTGFyZ2VzdEVtcGxveWVycz0ibGFyZ2VzdF9lbXBsb3llcnMiLGUuSGlnaERpdmlkZW5kPSJoaWdoX2RpdmlkZW5kIixlLkhpZ2hlc3ROZXRJbmNvbWU9ImhpZ2hlc3RfbmV0X2luY29tZSIsZS5IaWdoZXN0Q2FzaD0iaGlnaGVzdF9jYXNoIixlLkhpZ2hlc3RQcm9maXRQZXJFbXBsb3llZT0iaGlnaGVzdF9wcm9maXRfcGVyX2VtcGxveWVlIixlLkdhaW5lcnM9ImdhaW5lcnMiLGUuTG9zZXJzPSJsb3NlcnMiLGUuVm9sdW1lTGVhZGVycz0idm9sdW1lX2xlYWRlcnMiLGUuVW51c3VhbFZvbHVtZT0idW51c3VhbF92b2x1bWUiLGUuTW9zdFZvbGF0aWxlPSJtb3N0X3ZvbGF0aWxlIixlLkhpZ2hCZXRhPSJoaWdoX2JldGEiLGUuQmVzdFBlcmZvcm1pbmc9ImJlc3RfcGVyZm9ybWluZyIsZS5IaWdoZXN0UmV2ZW51ZT0iaGlnaGVzdF9yZXZlbnVlIixlLk1vc3RFeHBlbnNpdmU9Im1vc3RfZXhwZW5zaXZlIixlLlBlbm55U3RvY2tzPSJwZW5ueV9zdG9ja3MiLGUuT3ZlcmJvdWdodD0ib3ZlcmJvdWdodCIsZS5PdmVyc29sZD0ib3ZlcnNvbGQiLGUuQWxsVGltZUhpZ2g9ImFsbF90aW1lX2hpZ2giLGUuQWxsVGltZUxvdz0iYWxsX3RpbWVfbG93IixlLkFib3ZlNTJ3a0hpZ2g9ImFib3ZlXzUyd2tfaGlnaCIsZS5CZWxvdzUyd2tMb3c9ImJlbG93XzUyd2tfbG93IixlLlByZU1hcmtldEdhaW5lcnM9InByZS1tYXJrZXQtZ2FpbmVycyIsZS5QcmVNYXJrZXRMb3NlcnM9InByZS1tYXJrZXQtbG9zZXJzIixlLlByZU1hcmtldE1vc3RBY3RpdmU9InByZV9tYXJrZXRfbW9zdF9hY3RpdmUiLGUuUHJlTWFya2V0R2FwcGVycz0icHJlX21hcmtldF9nYXBwZXJzIixlLkFmdGVySG91cnNHYWluZXJzPSJhZnRlcl9ob3Vyc19nYWluZXJzIixlLkFmdGVySG91cnNMb3NlcnM9ImFmdGVyX2hvdXJzX2xvc2VycyIsZS5BY3RpdmVBZnRlckhvdXJzPSJhY3RpdmVfYWZ0ZXJfaG91cnMiLGUuUGlua1NoZWV0U3RvY2tzPSJwaW5rLXNoZWV0LXN0b2NrcyIsZS5FYXJuaW5nPSJlYXJuaW5nIixlLkNyeXB0b3BhaXJzTWFya2V0cz0iY3J5cHRvcGFpcnNfbWFya2V0cyIsZS5Ub3BEZWZpPSJ0b3AtZGVmaSIsZS5NYXJrZXRDYXBSYW5rPSJtYXJrZXQtY2FwLXJhbmsiLGUuV29ybGRzTGFyZ2VzdENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfY29tcGFuaWVzIixlLldvcmxkc05vblVzQ29tcGFuaWVzPSJ3b3JsZHNfbm9uX3VzX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0RW1wbG95ZXJzPSJ3b3JsZHNfbGFyZ2VzdF9lbXBsb3llcnMiLGUuV29ybGRzSGlnaGVzdFJldmVudWU9Indvcmxkc19oaWdoZXN0X3JldmVudWUiLGUuV29ybGRzSGlnaGVzdFJldmVudWVQZXJFbXBsb3llZUNvbXBhbmllcz0id29ybGRzX2hpZ2hlc3RfcmV2ZW51ZV9wZXJfZW1wbG95ZWVfY29tcGFuaWVzIixlLldvcmxkc0hpZ2hlc3RQcm9maXRQZXJFbXBsb3llZUNvbXBhbmllcz0id29ybGRzX2hpZ2hlc3RfcHJvZml0X3Blcl9lbXBsb3llZV9jb21wYW5pZXMiLGUuV29ybGRzSGlnaGVzdEVhcm5pbmdzPSJ3b3JsZHNfaGlnaGVzdF9lYXJuaW5ncyIsZS5Xb3JsZHNIaWdoZXN0RGl2aWRlbmRzPSJ3b3JsZHNfaGlnaGVzdF9kaXZpZGVuZHMiLGUuV29ybGRzTGFyZ2VzdE9pbEFuZEdhc0NvbXBhbmllcz0id29ybGRzX2xhcmdlc3Rfb2lsX2FuZF9nYXNfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RTZW1pY29uZHVjdG9yc1Byb2R1Y2Vycz0id29ybGRzX2xhcmdlc3Rfc2VtaWNvbmR1Y3RvcnNfcHJvZHVjZXJzIixlLldvcmxkc0xhcmdlc3RUZWxlY29tbXVuaWNhdGlvbkNvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfdGVsZWNvbW11bmljYXRpb25fY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RUZWNoQ29tcGFuaWVzPSJ3b3JsZHNfbGFyZ2VzdF90ZWNoX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0QmlvdGVjaENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfYmlvdGVjaF9jb21wYW5pZXMiLGUuV29ybGRzTGFyZ2VzdEZpbmFuY2VDb21wYW5pZXM9Indvcmxkc19sYXJnZXN0X2ZpbmFuY2VfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RCYW5rcz0id29ybGRzX2xhcmdlc3RfYmFua3MiLGUuV29ybGRzTGFyZ2VzdEVDb21tZXJjZUNvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfZV9jb21tZXJjZV9jb21wYW5pZXMiLAplLldvcmxkc0xhcmdlc3RTb2Z0d2FyZUNvbXBhbmllcz0id29ybGRzX2xhcmdlc3Rfc29mdHdhcmVfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RBdXRvbWFrZXJzPSJ3b3JsZHNfbGFyZ2VzdF9hdXRvbWFrZXJzIixlLldvcmxkc0xhcmdlc3RIb3RlbHNBbmRSZXNvcnRzPSJ3b3JsZHNfbGFyZ2VzdF9ob3RlbHNfYW5kX3Jlc29ydHMiLGUuV29ybGRzTGFyZ2VzdFJlc3RhdXJhbnRDaGFpbnM9Indvcmxkc19sYXJnZXN0X3Jlc3RhdXJhbnRfY2hhaW5zIixlLldvcmxkc0xhcmdlc3RTdG9yZXM9Indvcmxkc19sYXJnZXN0X3N0b3JlcyIsZS5Xb3JsZHNMYXJnZXN0QmV2ZXJhZ2VDb21wYW5pZXM9Indvcmxkc19sYXJnZXN0X2JldmVyYWdlX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0Rm9vZENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfZm9vZF9jb21wYW5pZXMiLGUuRnV0dXJlc0FsbD0iZnV0dXJlc19hbGwiLGUuRnV0dXJlc0FncmljdWx0dXJhbD0iZnV0dXJlc19hZ3JpY3VsdHVyYWwiLGUuRnV0dXJlc0VuZXJneT0iZnV0dXJlc19lbmVyZ3kiLGUuRnV0dXJlc0N1cnJlbmNpZXM9ImZ1dHVyZXNfY3VycmVuY2llcyIsZS5GdXR1cmVzTWV0YWxzPSJmdXR1cmVzX21ldGFscyIsZS5GdXR1cmVzV29ybGRJbmRpY2VzPSJmdXR1cmVzX3dvcmxkX2luZGljZXMiLGUuRnV0dXJlc0ludGVyZXN0UmF0ZXM9ImZ1dHVyZXNfaW50ZXJlc3RfcmF0ZXMiLGUuRnV0dXJlc0NvbnRyYWN0cz0iZnV0dXJlc19jb250cmFjdHMiLGUuQm9uZHNBbGxZaWVsZD0iYm9uZHNfYWxsX3lpZWxkIixlLkJvbmRzQWxsMTB5WWllbGQ9ImJvbmRzX2FsbF8xMHlfeWllbGQiLGUuQm9uZHNNYWpvcjEweVlpZWxkPSJib25kc19tYWpvcl8xMHlfeWllbGQiLGUuQm9uZHNBbWVyaWNhc1lpZWxkPSJib25kc19hbWVyaWNhc195aWVsZCIsZS5Cb25kc0V1cm9wZVlpZWxkPSJib25kc19ldXJvcGVfeWllbGQiLGUuQm9uZHNBc2lhWWllbGQ9ImJvbmRzX2FzaWFfeWllbGQiLGUuQm9uZHNQYWNpZmljWWllbGQ9ImJvbmRzX3BhY2lmaWNfeWllbGQiLGUuQm9uZHNNaWRkbGVFYXN0WWllbGQ9ImJvbmRzX21pZGRsZV9lYXN0X3lpZWxkIixlLkJvbmRzQWZyaWNhWWllbGQ9ImJvbmRzX2FmcmljYV95aWVsZCIsZS5Cb25kc1VTQVlpZWxkPSJib25kc191c2FfeWllbGQiLGUuQm9uZHNVS1lpZWxkPSJib25kc191a195aWVsZCIsZS5Cb25kc0VVWWllbGQ9ImJvbmRzX2V1X3lpZWxkIixlLkJvbmRzR2VybWFueVlpZWxkPSJib25kc19nZXJtYW55X3lpZWxkIixlLkJvbmRzRnJhbmNlWWllbGQ9ImJvbmRzX2ZyYW5jZV95aWVsZCIsZS5Cb25kc0NoaW5hWWllbGQ9ImJvbmRzX2NoaW5hX3lpZWxkIixlLkJvbmRzSW5kaWFZaWVsZD0iYm9uZHNfaW5kaWFfeWllbGQiLGUuQm9uZHNKYXBhbllpZWxkPSJib25kc19qYXBhbl95aWVsZCIsZS5TdG9ja3NSZWxhdGVkQm9uZHM9InN0b2Nrc19yZWxhdGVkX2JvbmRzIixlLkNvaW5NYXJrZXRDYXBSYW5rPSJjb2luX21hcmtldF9jYXBfcmFuayIsZS5Db2luVG90YWxWYWx1ZUxvY2tlZD0iY29pbl90b3RhbF92YWx1ZV9sb2NrZWQiLGUuQ29pbkRlZmk9ImNvaW5fZGVmaSIsZS5Db2luR2FpbmVycz0iY29pbl9nYWluZXJzIixlLkNvaW5Mb3NlcnM9ImNvaW5fbG9zZXJzIixlLkNvaW5MYXJnZUNhcD0iY29pbl9sYXJnZV9jYXAiLGUuQ29pblNtYWxsQ2FwPSJjb2luX3NtYWxsX2NhcCIsZS5Db2luTW9zdFRyYWRlZD0iY29pbl9tb3N0X3RyYWRlZCIsZS5Db2luTW9zdFRyYW5zYWN0aW9ucz0iY29pbl9tb3N0X3RyYW5zYWN0aW9ucyIsZS5Db2luSGlnaGVzdFRyYW5zYWN0aW9uVm9sPSJjb2luX2hpZ2hlc3RfdHJhbnNhY3Rpb25fdm9sdW1lIixlLkNvaW5Mb3dlc3RTdXBwbHk9ImNvaW5fbG93ZXN0X3N1cHBseSIsZS5Db2luSGlnaGVzdFN1cHBseT0iY29pbl9oaWdoZXN0X3N1cHBseSIsZS5Db2luTW9zdEV4cGVuc2l2ZT0iY29pbl9tb3N0X2V4cGVuc2l2ZSIsZS5Db2luTW9zdFZvbGF0aWxlPSJjb2luX21vc3Rfdm9sYXRpbGUiLGUuQ29pbkFsbFRpbWVHaWdoPSJjb2luX2FsbF90aW1lX2hpZ2giLGUuQ29pbkFsbFRpbWVMb3c9ImNvaW5fYWxsX3RpbWVfbG93IixlLkNvaW41MldlZWtIaWdoPSJjb2luXzUyX3dlZWtfaGlnaCIsZS5Db2luNTJXZWVrTG93PSJjb2luXzUyX3dlZWtfbG93IixlLkNvaW5Nb3N0QWRkcmVzc2VzV2l0aEJhbGFuY2U9ImNvaW5fbW9zdF9hZGRyZXNzZXNfd2l0aF9iYWxhbmNlIixlLkNvaW5Nb3N0QWRkcmVzc2VzQWN0aXZlPSJjb2luX21vc3RfYWRkcmVzc2VzX2FjdGl2ZSIsZS5Db2luSGlnaGVzdE9wZW5JbnRlcmVzdD0iY29pbl9oaWdoZXN0X29wZW5faW50ZXJlc3QiLGUuQ29pblJpc2luZ09wZW5JbnRlcmVzdD0iY29pbl9yaXNpbmdfb3Blbl9pbnRlcmVzdCIsZS5Db2luRnVuZGluZ0V4dHJlbWVzPSJjb2luX2Z1bmRpbmdfZXh0cmVtZXMiLGUuQ29pbkxpcXVpZGF0aW9uU3Bpa2VzPSJjb2luX3RvcF9saXF1aWRhdGlvbnMiLGUuSW5kaWNlc0N1cnJlbmN5PSJpbmRpY2VzX2N1cnJlbmN5IixlLkZvcmV4UmF0ZXNBbGw9ImZvcmV4X3JhdGVzX2FsbCIsZS5Gb3Jlc1JhdGVzTWFqb3I9ImZvcmV4X3JhdGVzX21ham9yIixlLkZvcmV4UmF0ZXNNaW5vcj0iZm9yZXhfcmF0ZXNfbWlub3IiLGUuRm9yZXhSYXRlc0V4b3RpYz0iZm9yZXhfcmF0ZXNfZXhvdGljIixlLkZvcmV4UmF0ZXNBbWVyaWNhcz0iZm9yZXhfcmF0ZXNfYW1lcmljYXMiLGUuRm9yZXhSYXRlc0V1cm9wZT0iZm9yZXhfcmF0ZXNfZXVyb3BlIixlLkZvcmV4UmF0ZXNBc2lhPSJmb3JleF9yYXRlc19hc2lhIixlLkZvcmV4UmF0ZXNQYWNpZmljPSJmb3JleF9yYXRlc19wYWNpZmljIixlLkZvcmV4UmF0ZXNNaWRkbGVFYXN0PSJmb3JleF9yYXRlc19taWRkbGVfZWFzdCIsZS5Gb3JleFJhdGVzQWZyaWNhPSJmb3JleF9yYXRlc19hZnJpY2EiLGUuSW5kaWNlc0FsbD0iaW5kaWNlc19hbGwiLGUuSW5kaWNlc01ham9yPSJpbmRpY2VzX21ham9yIixlLkluZGljZXNVUz0iaW5kaWNlc191cyIsZS5JbmRpY2VzU05QPSJpbmRpY2VzX3NucF9zZWN0b3JzIixlLkluZGljZXNBbWVyaWNhcz0iaW5kaWNlc19hbWVyaWNhcyIsCmUuSW5kaWNlc0V1cm9wZT0iaW5kaWNlc19ldXJvcGUiLGUuSW5kaWNlc0FzaWE9ImluZGljZXNfYXNpYSIsZS5JbmRpY2VzUGFjaWZpYz0iaW5kaWNlc19wYWNpZmljIixlLkluZGljZXNNaWRkbGVFYXN0PSJpbmRpY2VzX21pZGRsZV9lYXN0IixlLkluZGljZXNBZnJpY2E9ImluZGljZXNfYWZyaWNhIixlLkluZGV4Q29tcG9uZW50c01hcmtldFBhZ2VzPSJpbmRleF9jb21wb25lbnRzX21hcmtldF9wYWdlcyIsZS5TZWN0b3JzPSJtYXJrZXRfc2VjdG9ycyIsZS5JbmR1c3RyaWVzPSJtYXJrZXRfaW5kdXN0cmllcyIsZS5NYXJrZXRDb21wYW55PSJtYXJrZXRfY29tcGFueSIsZS5FdGZMYXJnZXN0PSJldGZzX21hcmtldF9wYWdlX2xhcmdlc3QiLGUuRXRmSGlnaGVzdEF1bUdyb3d0aD0iZXRmc19tYXJrZXRfaGlnaGVzdF9hdW1fZ3Jvd3RoIixlLkV0ZkhpZ2hlc3RSZXR1cm5zPSJldGZzX21hcmtldF9wYWdlX2hpZ2hlc3RfcmV0dXJuIixlLkV0Zkxvc2Vycz0iZXRmc19tYXJrZXRfcGFnZV9iaWdnZXN0X2xvc3NlcyIsZS5FdGZFcXVpdHk9ImV0ZnNfbWFya2V0X3BhZ2VfZXF1aXR5XzV5IixlLkV0ZkdvbGQ9ImV0ZnNfbWFya2V0X3BhZ2VfZ29sZCIsZS5FdGZGaXhlZEluY29tZT0iZXRmc19tYXJrZXRfcGFnZV9maXhlZF9pbmNvbWVfNXkiLGUuRXRmUmVhbEVzdGF0ZT0iZXRmc19tYXJrZXRfcGFnZV9yZWFsX2VzdGF0ZSIsZS5FdGZDb21tb2RpdGllczV5PSJldGZzX21hcmtldF9wYWdlX2NvbW1vZGl0aWVzXzV5IixlLkV0Zk1vc3RUcmFkZWRBbGxNYXJrZXRzPSJldGZzX21hcmtldF9wYWdlX21vc3RfdHJhZGVkX2FsbF9tYXJrZXRzIixlLkV0ZkhpZ2hlc3RZaWVsZD0iZXRmc19tYXJrZXRfcGFnZV9oaWdoZXN0X3lpZWxkIixlLkV0ZkRpdmlkZW5kPSJldGZzX21hcmtldF9wYWdlX2RpdmlkZW5kIixlLkV0ZkFjdGl2ZWx5TWFuYWdlZD0iZXRmc19tYXJrZXRfcGFnZV9hY3RpdmVseV9tYW5hZ2VkIixlLkV0ZkFzc2V0QWxsb2NhdGlvbjV5PSJldGZzX21hcmtldF9wYWdlX2Fzc2V0X2FsbG9jYXRpb25fNXkiLGUuRXRmU2VjdG9yPSJldGZzX21hcmtldF9wYWdlX3NlY3Rvcl9hdW0iLGUuRXRmc01hcmtldFBhZ2VEaXZpZGVuZHM9ImV0ZnNfbWFya2V0X3BhZ2VfZGl2aWRlbmRzIixlLkV0ZnNNYXJrZXRQYWdlU2VjdG9yPSJldGZzX21hcmtldF9wYWdlX3NlY3RvciIsZS5Db3VudHJ5VG9wRXRmc01vc3RUcmFkZWQ9ImNvdW50cnlfdG9wX2V0ZnNfbW9zdF90cmFkZWQiLGUuRXRmVVNBPSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX3VzIixlLkV0ZkNhbmFkYT0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF9jYSIsZS5FdGZVSz0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF91ayIsZS5FdGZHZXJtYW55PSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX2RlIixlLkV0ZkphcGFuPSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX2pwIixlLkV0ZkF1c3RyYWxpYT0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF9hdSIsZS5FdGZzRXRoZXJldW09ImV0ZnNfbWFya2V0X3BhZ2VfZXRoZXJldW0iLGUuQ29ycG9yYXRlQm9uZHNIaWdoZXN0WWllbGQ9ImhpZ2hlc3RfeWllbGRfYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNTaG9ydFRlcm09InNob3J0X3Rlcm1fYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNMb25nVGVybT0ibG9uZ190ZXJtX2JvbmRzIixlLkNvcnBvcmF0ZUJvbmRzWmVyb0NvdXBvbj0iemVyb19jb3Vwb25fYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNGaXhlZFJhdGU9ImZpeGVkX3JhdGVfYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNGbG9hdGluZ1JhdGU9ImZsb2F0aW5nX3JhdGVfYm9uZHMiLGUuSXBvQ2FsZW5kYXI9Imlwb19jYWxlbmRhciJ9KGx8fChsPXt9KSk7dmFyIG09cyg2NjMwNDYpLHA9cyg4Mzk0MjYpLHk9cygzMDgzODgpLGc9cyg1OTU1MTcpLGY9cyg0MjA5ODkpO2NsYXNzIGJ7Y29uc3RydWN0b3IoKXt0aGlzLl9yZXF1ZXN0U3ltYm9sRGF0YT0oMCxtLmRlZmF1bHQpKCgoZSwuLi50KT0+KHt0aW1lOnBlcmZvcm1hbmNlLm5vdygpLGRhdGE6KDAseS5nZXRTeW1ib2xEYXRhKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdFNjYW5EYXRhPSgwLG0uZGVmYXVsdCkoKChlLC4uLnQpPT4oe3RpbWU6cGVyZm9ybWFuY2Uubm93KCksZGF0YTooMCxnLmdldFNjYW5EYXRhKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdEJvbmRzPSgwLG0uZGVmYXVsdCkoKChlLC4uLnQpPT4oe3RpbWU6cGVyZm9ybWFuY2Uubm93KCksZGF0YTooMCxmLmdldEJvbmRzKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdEZ1dHVyZXNDb250cmFjdHM9KDAsbS5kZWZhdWx0KSgoKGUsLi4udCk9Pih7dGltZTpwZXJmb3JtYW5jZS5ub3coKSxkYXRhOigwLGYuZ2V0RnV0dXJlc0NvbnRyYWN0cykoLi4udCl9KSkpfWdldFN5bWJvbERhdGEoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdFN5bWJvbERhdGEuY2FjaGUpLHRoaXMuX3JlcXVlc3RTeW1ib2xEYXRhKGUsLi4udCkuZGF0YX1nZXRTY2FuRGF0YShlLC4uLnQpe3JldHVybiB0aGlzLl9jbGVhcklmU3RhbGUoZSx0aGlzLl9yZXF1ZXN0U2NhbkRhdGEuY2FjaGUpLHRoaXMuX3JlcXVlc3RTY2FuRGF0YShlLC4uLnQpLmRhdGF9Z2V0Qm9uZHMoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdEJvbmRzLmNhY2hlKSx0aGlzLl9yZXF1ZXN0Qm9uZHMoZSwuLi50KS5kYXRhfWdldEZ1dHVyZXNDb250cmFjdHMoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdEZ1dHVyZXNDb250cmFjdHMuY2FjaGUpLHRoaXMuX3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsLi4udCkuZGF0YX1fY2xlYXJJZlN0YWxlKGUsdCl7Y29uc3Qgcz10LmdldChlKTtzJiZNYXRoLmFicyhzLnRpbWUtcGVyZm9ybWFuY2Uubm93KCkpPjVlMyYmdC5kZWxldGUoZSl9fWNvbnN0IHY9KDAsCnAuZGVmYXVsdCkoKCgpPT5uZXcgYikpLFM9WyJwcmljZV81Ml93ZWVrX2hpZ2giLCJwcmljZV81Ml93ZWVrX2xvdyIsInNlY3RvciIsImNvdW50cnkiLCJtYXJrZXQiLCJMb3cuMU0iLCJIaWdoLjFNIiwiUGVyZi5XIiwiUGVyZi4xTSIsIlBlcmYuM00iLCJQZXJmLjZNIiwiUGVyZi5ZIiwiUGVyZi5ZVEQiLCJSZWNvbW1lbmQuQWxsIiwiYXZlcmFnZV92b2x1bWVfMTBkX2NhbGMiLCJhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsYyIsIm5hdl9kaXNjb3VudF9wcmVtaXVtIiwib3Blbl9pbnRlcmVzdCIsImNvdW50cnlfY29kZV9mdW5kIiwiaXYiLCJ1bmRlcmx5aW5nX3N5bWJvbCIsImRlbHRhIiwiZ2FtbWEiLCJyaG8iLCJ0aGV0YSIsInZlZ2EiLCJ0aGVvUHJpY2UiXSxDPVsiZXhwaXJhdGlvbiIsImNsb3NlIiwicHJpY2VzY2FsZSIsIm1pbm1vdiJdLGs9WyJtYXJrZXRfY2FwX2NhbGMiLCJtYXJrZXRfY2FwX2RpbHV0ZWRfY2FsYyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3ZhbHVlX3RyYWRlZCIsIjI0aF92b2xfdG9fbWFya2V0X2NhcCIsImZ1bGx5X2RpbHV0ZWRfdmFsdWUiLCJkZXhfdG90YWxfbGlxdWlkaXR5IiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCJdLHc9WyIyNGhfdm9sX3RvX21hcmtldF9jYXAiXSxEPVsiZnVuZGluZ19yYXRlIiwib3Blbl9pbnRlcmVzdCIsImxpcXVpZGF0aW9uc192b2x1bWVfMjRoIl0sRT1bIlBlcmYuM1kiLCJQZXJmLjVZIiwibmF2X3RvdGFsX3JldHVybi4xTSIsIm5hdl90b3RhbF9yZXR1cm4uM00iLCJuYXZfdG90YWxfcmV0dXJuLjFZIiwibmF2X3RvdGFsX3JldHVybi5ZVEQiLCJuYXZfdG90YWxfcmV0dXJuLjNZIiwibmF2X3RvdGFsX3JldHVybi41WSJdLEY9WyJtYXR1cml0eV9kYXRlIiwiY2xvc2UiLCJjb3Vwb24iLCJ0eXBlc3BlY3MiLCJwcmljZXNjYWxlIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwidGVybS10by1tYXR1cml0eSIsImRheXNfdG9fbWF0dXJpdHkiLCJjb3VudHJ5X2NvZGVfZnVuZCJdLFI9WyJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5X2RhdGUiXTtjbGFzcyBBe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX2Z1dHVyZXM9W10sdGhpcy5fYm9uZHM9W10sdGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzRGF0YT1bXSx0aGlzLl9jcnlwdG9EYXRhPW51bGwsdGhpcy5fY3J5cHRvQXNzZXREYXRhPW51bGwsdGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGE9bnVsbCx0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YT1udWxsLHRoaXMuX2V0ZkRhdGE9bnVsbCx0aGlzLl9jb250cmFjdEZ1dHVyZXNSZXF1ZXN0PW51bGwsdGhpcy5fdW5kZXJseWluZ1N5bWJvbD1udWxsLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbD1udWxsLHRoaXMuX3NjcmVlbmVyQ3J5cHRvUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyQ3J5cHRvQXNzZXRSZXF1ZXN0PW51bGwsdGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyRXRmUmVxdWVzdD1udWxsLHRoaXMuX2NvbnRyYWN0Qm9uZHNSZXF1ZXN0PW51bGwsdGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyRGF0YT17fSx0aGlzLl9kZXhDb252ZXJ0ZWRTeW1ib2xEYXRhPW51bGwsdGhpcy5fc2NyZWVuZXJSZXF1ZXN0PW51bGwsdGhpcy5fcmVzcG9uc2U9bnVsbCx0aGlzLl9zY3JlZW5lckNvbXBsZXRlPW51bGwsdGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9bnVsbCx0aGlzLl9ib25kc0NvbXBsZXRlPW51bGwsdGhpcy5fZnV0dXJlc0NvbXBsZXRlPW51bGwsdGhpcy5fcHJvZHVjdExhYmVsPW51bGwsdGhpcy5fc3ltYm9sPWUuc3ltYm9sLHRoaXMuX2NsaWVudElkPSgwLHIuZ3VpZCkoKSx0aGlzLl9wcm9kdWN0TGFiZWw9ZS5sYWJlbD8/bnVsbCx0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlPWUucXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZX1zZXRIYW5kbGVyKGUpe3RoaXMuX2Rlc3Ryb3llZHx8dGhpcy5fc3Vic2NyaWJlZHx8KHRoaXMuX3N1YnNjcmliZWQ9ITAsdGhpcy5fcXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZS5zdWJzY3JpYmUodGhpcy5fY2xpZW50SWQsdGhpcy5fc3ltYm9sLCh0PT57dGhpcy5fY2hlY2tEYXRhSGFuZGxlcih0LGUpfSkpKX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuX3N1YnNjcmliZWQ9ITEsdGhpcy5fcXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZS51bnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCx0aGlzLl9zeW1ib2wpLHRoaXMuX3VuZGVybHlpbmdTeW1ib2wmJnRoaXMuX3F1b3RlU2Vzc2lvbk11bHRpcGxleGVySW5zdGFuY2UudW5zdWJzY3JpYmUodGhpcy5fY2xpZW50SWQsdGhpcy5fdW5kZXJseWluZ1N5bWJvbCksdGhpcy5fZGV4Q29udmVydGVkU3ltYm9sJiZ0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlLnVuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbCl9X21lcmdlRGF0YUhhbmRsZXIoZSl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Jlc3BvbnNlKSxzPXtzeW1ib2w6dGhpcy5fc3ltYm9sLHF1b3Rlczp7Li4udC52YWx1ZXN9LHNjcmVlbmVyOnt9LGFnZ3JlZ2F0ZWQ6e2Z1dHVyZXM6dGhpcy5fZnV0dXJlcyxib25kczp0aGlzLl9ib25kcyxjcnlwdG9fZGF0YTp0aGlzLl9jcnlwdG9EYXRhLGV0Zl9kYXRhOnRoaXMuX2V0ZkRhdGEsY3J5cHRvX2Fzc2V0X2RhdGE6dGhpcy5fY3J5cHRvQXNzZXREYXRhLGNyeXB0b19kZXJpdmF0aXZlX2RhdGE6dGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGEsdW5kZXJseWluZ19zeW1ib2xfZGF0YTp0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YSxkZXhfY29udmVydGVkX3N5bWJvbF9kYXRhOnRoaXMuX2RleENvbnZlcnRlZFN5bWJvbERhdGEsc3RvY2tzX3JlbGF0ZWRfYm9uZHNfZGF0YTp0aGlzLl9zdG9ja3NSZWxhdGVkQm9uZHNEYXRhfX07Uy5mb3JFYWNoKChlPT57CnZvaWQgMCE9PXRoaXMuX3NjcmVlbmVyRGF0YVtlXSYmbnVsbCE9PXRoaXMuX3NjcmVlbmVyRGF0YVtlXSYmKHMuc2NyZWVuZXJbZV09dGhpcy5fc2NyZWVuZXJEYXRhW2VdKX0pKTtjb25zdCByPXsuLi50LHZhbHVlczpzfTtudWxsPT09dGhpcy5fc2NyZWVuZXJDb21wbGV0ZSYmdC5jb21wbGV0ZSYmbnVsbD09PXRoaXMuX3NjcmVlbmVyUmVxdWVzdCYmKHRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX3NjcmVlbmVyQ29tcGxldGUmJihyLmNvbXBsZXRlU2NyZWVuZXI9dGhpcy5fc2NyZWVuZXJDb21wbGV0ZSxudWxsPT09dGhpcy5fY29udHJhY3RCb25kc1JlcXVlc3QmJih0aGlzLl9jb250cmFjdEJvbmRzUmVxdWVzdD10aGlzLl9yZXF1ZXN0Qm9uZENvbnRyYWN0cyhyLGUpKSksdGhpcy5fYm9uZHNDb21wbGV0ZSYmKHIuYm9uZHNDb21wbGV0ZT10aGlzLl9ib25kc0NvbXBsZXRlKSxudWxsPT09dGhpcy5fZnV0dXJlc0NvbXBsZXRlJiZ0LmNvbXBsZXRlJiZudWxsPT09dGhpcy5fY29udHJhY3RGdXR1cmVzUmVxdWVzdCYmKHRoaXMuX2Z1dHVyZXNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSksdGhpcy5fZnV0dXJlc0NvbXBsZXRlJiYoci5mdXR1cmVzQ29tcGxldGU9dGhpcy5fZnV0dXJlc0NvbXBsZXRlKSxudWxsPT09dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGUmJnQuY29tcGxldGUmJm51bGw9PT10aGlzLl9zY3JlZW5lckNyeXB0b0Rlcml2YXRpdmVSZXF1ZXN0JiYodGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlJiYoci5jcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGUpLGUocil9X2NoZWNrRGF0YUhhbmRsZXIoZSx0KXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNwb25zZT1lLG51bGw9PT10aGlzLl9zY3JlZW5lclJlcXVlc3QmJih0aGlzLl9zY3JlZW5lclJlcXVlc3Q9dGhpcy5fcmVxdWVzdFNjcmVlbmVyKGUsdCkpLG51bGw9PT10aGlzLl9zY3JlZW5lckNyeXB0b1JlcXVlc3QmJih0aGlzLl9zY3JlZW5lckNyeXB0b1JlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0RhdGEoZSx0KSksbnVsbD09PXRoaXMuX3NjcmVlbmVyQ3J5cHRvQXNzZXRSZXF1ZXN0JiYodGhpcy5fc2NyZWVuZXJDcnlwdG9Bc3NldFJlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0Fzc2V0RGF0YShlLHQpKSxudWxsPT09dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlUmVxdWVzdCYmKHRoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZVJlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0Rlcml2YXRpdmVEYXRhKGUsdCkpLG51bGw9PT10aGlzLl9zY3JlZW5lckV0ZlJlcXVlc3QmJih0aGlzLl9zY3JlZW5lckV0ZlJlcXVlc3Q9dGhpcy5fcmVxdWVzdEV0ZkRhdGEoZSx0KSksbnVsbD09PXRoaXMuX2NvbnRyYWN0RnV0dXJlc1JlcXVlc3QmJih0aGlzLl9jb250cmFjdEZ1dHVyZXNSZXF1ZXN0PXRoaXMuX3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsdCkpLHRoaXMuX3VuZGVybHlpbmdTeW1ib2x8fCh0aGlzLl91bmRlcmx5aW5nU3ltYm9sPXRoaXMuX3N1YnNjcmliZVVuZGVybHlpbmdTeW1ib2xEYXRhKGUsdCkpLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbHx8KHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbD10aGlzLl9zdWJzY3JpYmVEZXhDb252ZXJ0ZWRTeW1ib2xEYXRhKGUsdCkpLG51bGw9PT10aGlzLl9zdG9ja3NSZWxhdGVkQm9uZHNSZXF1ZXN0JiYodGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzUmVxdWVzdD10aGlzLl9yZXF1ZXN0U3RvY2tzUmVsYXRlZEJvbmRzKGUsdCkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfV9yZXF1ZXN0U3RvY2tzUmVsYXRlZEJvbmRzKGUsdCl7Y29uc3R7InN5bWJvbC1wcmltYXJ5bmFtZSI6cyxoYXNfYm9uZHM6cn09ZS52YWx1ZXM7aWYoIXN8fHZvaWQgMD09PXIpcmV0dXJuIG51bGw7aWYoIXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGk9KG5ldyBuLlNjYW5QYXJhbXNNYW5hZ2VyKS5zZXRDb2x1bW5zKFsuLi5SXSkuc2V0UHJlc2V0KGwuU3RvY2tzUmVsYXRlZEJvbmRzKS5zZXRSYW5nZShbMCwzXSkuc2V0SW5kZXhGaWx0ZXJzKFt7bmFtZToiYm9uZF9pc3N1ZXJfY3JfcGFyZW50X3N0b2NrX3N5bWJvbCIsdmFsdWVzOltzXX1dKTtyZXR1cm4gdigpLmdldFNjYW5EYXRhKGBzY3JlZW5lci1zdG9jay1yZWxhdGVkLWJvbmRzLSR7c31gLG51bGwsaSxvLk5vblN0b2NrTWFya2V0LkJvbmQsdGhpcy5fcHJvZHVjdExhYmVsPz92b2lkIDApLnRoZW4oKGU9PnshZS5lcnJvciYmZS5kYXRhJiYodGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzRGF0YT1lLmRhdGEucmVkdWNlKCgoZSx0KT0+e2ZvcihsZXQgcz0wO3M8Ui5sZW5ndGg7cysrKWlmKG51bGw9PT10LmRbc10pcmV0dXJuIGU7Y29uc3Qgcz1SLnJlZHVjZSgoKGUscyxyKT0+KHsuLi5lLFtzXTp0LmRbcl19KSkse3N5bWJvbDp0LnN9KTtyZXR1cm4gZS5wdXNoKHMpLGV9KSxbXSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKDAsaC5pc0Fib3J0RXJyb3IpKGUpKXRocm93IGV9KSl9X3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsdCl7Y29uc3Qgcz1QKGUudmFsdWVzKTtpZih2b2lkIDA9PT1zKXJldHVybiB0aGlzLl9mdXR1cmVzQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3R7c3ltYm9sOnIsb3B0aW9uczppLG1hcmtldDpufT1zO3JldHVybiB2KCkuZ2V0RnV0dXJlc0NvbnRyYWN0cyhgc2NyZWVuZXItZnV0dXJlcy1jb250cmFjdHMtJHtyfWAscixpLG4pLnRoZW4oKGU9Pnt0aGlzLl9mdXR1cmVzQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksZSYmIXRoaXMuX2Rlc3Ryb3llZCYmKGUuZGF0YS5sZW5ndGgmJih0aGlzLl9mdXR1cmVzPXgoZSkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpfQpfc3Vic2NyaWJlVW5kZXJseWluZ1N5bWJvbERhdGEoZSx0KXtjb25zdCBzPWUudmFsdWVzWyJ1bmRlcmx5aW5nLXN5bWJvbCJdO3JldHVybiBzPyh0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlLnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCxzLChlPT57ZSYmIXRoaXMuX2Rlc3Ryb3llZCYmKE9iamVjdC5rZXlzKGUudmFsdWVzKS5sZW5ndGgmJih0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YT1lLnZhbHVlcyksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkscyk6bnVsbH1fc3Vic2NyaWJlRGV4Q29udmVydGVkU3ltYm9sRGF0YShlLHQpe2NvbnN0IHM9ZS52YWx1ZXMuZGV4X2NvbnZlcnRlZF9zeW1ib2w7cmV0dXJuIHMmJiJVU0QiIT09ZS52YWx1ZXMuY3VycmVuY3lfaWQ/KHRoaXMuX3F1b3RlU2Vzc2lvbk11bHRpcGxleGVySW5zdGFuY2Uuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHMsKGU9PntlJiYhdGhpcy5fZGVzdHJveWVkJiYoT2JqZWN0LmtleXMoZS52YWx1ZXMpLmxlbmd0aCYmKHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbERhdGE9ZS52YWx1ZXMpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpLHMpOm51bGx9X3JlcXVlc3RCb25kQ29udHJhY3RzKGUsdCl7Y29uc3Qgcz1CKHsuLi5lLnZhbHVlcy5xdW90ZXMsY291bnRyeV9jb2RlX2Z1bmQ6ZS52YWx1ZXMuc2NyZWVuZXI/LmNvdW50cnlfY29kZV9mdW5kfSk7aWYodm9pZCAwPT09cylyZXR1cm4gdGhpcy5fYm9uZHNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSxQcm9taXNlLnJlc29sdmUoKTtpZihudWxsPT09cylyZXR1cm4gdGhpcy5fYm9uZHNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSxudWxsO2NvbnN0e2NvdW50cnlDb2RlOnIsb3B0aW9uczppLG1hcmtldDpufT1zO3JldHVybiB2KCkuZ2V0Qm9uZHMoYHNjcmVlbmVyLWJvbmRzLSR7ZS52YWx1ZXMucXVvdGVzLnByb19uYW1lfWAscixpLG4pLnRoZW4oKGU9Pnt0aGlzLl9ib25kc0NvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLGUmJiF0aGlzLl9kZXN0cm95ZWQmJihlLmRhdGEubGVuZ3RoJiYodGhpcy5fYm9uZHM9cShlKSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSl9X3JlcXVlc3RDcnlwdG9Bc3NldERhdGEoZSx0KXtjb25zdHtjcnlwdG9fYXNzZXQ6c309ZS52YWx1ZXM7cmV0dXJuIHM/digpLmdldFN5bWJvbERhdGEoYHNjcmVlbmVyLWNyeXB0by1hc3NldC0ke3N9YCxudWxsLHMsdyx0aGlzLl9wcm9kdWN0TGFiZWwpLnRoZW4oKGU9PnshdGhpcy5fZGVzdHJveWVkJiZlJiYoMCE9PU9iamVjdC5rZXlzKGUpLmxlbmd0aCYmKHRoaXMuX2NyeXB0b0Fzc2V0RGF0YT13LnJlZHVjZSgoKHQscyk9Pih7Li4udCxbc106ZVtzXX0pKSx7fSkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpLmNhdGNoKChlPT57aWYoISgoMCxoLmlzQWJvcnRFcnJvcikoZSl8fGUgaW5zdGFuY2VvZiBkLlN5bWJvbERvZXNOb3RFeGlzdEVycm9yUmVzcG9uc2UpKXRocm93IGV9KSk6bnVsbH1fcmVxdWVzdENyeXB0b0Rlcml2YXRpdmVEYXRhKGUsdCl7Y29uc3R7dHlwZTpzfT1lLnZhbHVlcyxyPSgpPT4odGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCkpO2lmKHMmJiJzcG90IiE9PXMpcmV0dXJuIHIoKTtpZighZS5jb21wbGV0ZSlyZXR1cm4gbnVsbDtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0e3Byb19uYW1lOnQsY3J5cHRvX2Fzc2V0OnMsZnVuZF92aWV3X21vZGVzOnIsYmFzZV9jdXJyZW5jeV9pZDppLHR5cGU6bixjdXJyZW5jeV9pZDpvfT1lLGE9Qm9vbGVhbih0JiZzJiZ0PT09cyksbD0ic3BvdCI9PT1uJiYiVVNEIj09PW87aWYoIWEmJiFsfHwhcj8uY3J5cHRvPy5pbmNsdWRlcygiY3J5cHRvX2Rlcml2YXRpdmVfbWV0cmljc19hZ2ciKSlyZXR1cm4gbnVsbDtpZihzKXJldHVybiBzO2lmKGkpcmV0dXJuYENSWVBUTzoke2kucmVwbGFjZSgvXlhUVkMvLCIiKX1VU0RgO3JldHVybiBudWxsfShlLnZhbHVlcyk7cmV0dXJuIGk/digpLmdldFN5bWJvbERhdGEoYHNjcmVlbmVyLWNyeXB0by1kZXJpdmF0aXZlLSR7aX1gLG51bGwsaSxELHRoaXMuX3Byb2R1Y3RMYWJlbCkudGhlbigoZT0+e3RoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLCF0aGlzLl9kZXN0cm95ZWQmJmUmJigwIT09T2JqZWN0LmtleXMoZSkubGVuZ3RoJiYodGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGE9RC5yZWR1Y2UoKCh0LHMpPT4oey4uLnQsW3NdOmVbc119KSkse30pKSx0aGlzLl9tZXJnZURhdGFIYW5kbGVyKHQpKX0pKS5jYXRjaCgoZT0+e2lmKCEoKDAsaC5pc0Fib3J0RXJyb3IpKGUpfHxlIGluc3RhbmNlb2YgZC5TeW1ib2xEb2VzTm90RXhpc3RFcnJvclJlc3BvbnNlKSl0aHJvdyBlfSkpOnIoKX1fcmVxdWVzdENyeXB0b0RhdGEoZSx0KXtjb25zdHt0eXBlc3BlY3M6cyxwcm9fbmFtZTpyLGN1cnJlbmN5X2NvZGU6aSxkZXhfY29udmVydGVkX3N5bWJvbDpufT1lLnZhbHVlcztpZihzJiYhKDAsYy5oYXNDcnlwdG9UeXBlc3BlYykocykpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFyKXJldHVybiBudWxsO2xldCBvPXI7aWYoIlVTRCIhPT1pKXtpZighbilyZXR1cm4gbnVsbDtvPW59cmV0dXJuIHYoKS5nZXRTeW1ib2xEYXRhKGBzY3JlZW5lci1jcnlwdG8tJHtvfWAsbnVsbCxvLGssdGhpcy5fcHJvZHVjdExhYmVsKS50aGVuKChlPT57IXRoaXMuX2Rlc3Ryb3llZCYmZSYmKDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJih0aGlzLl9jcnlwdG9EYXRhPWsucmVkdWNlKCgodCxzKT0+KHsuLi50LFtzXTplW3NdfSkpLHt9KSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKX1fcmVxdWVzdEV0ZkRhdGEoZSx0KXtjb25zdHt0eXBlc3BlY3M6cyxwcm9fbmFtZTpyLHR5cGU6aX09ZS52YWx1ZXM7cmV0dXJuIGkmJnMmJiEoMCwKYy5pc0V0ZikoaSxzKT9Qcm9taXNlLnJlc29sdmUoKTpyP3YoKS5nZXRTeW1ib2xEYXRhKGBzY3JlZW5lci1ldGYtJHtyfWAsbnVsbCxyLEUsdGhpcy5fcHJvZHVjdExhYmVsKS50aGVuKChlPT57IXRoaXMuX2Rlc3Ryb3llZCYmZSYmKDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJih0aGlzLl9ldGZEYXRhPUUucmVkdWNlKCgodCxzKT0+KHsuLi50LFtzXTplW3NdfSkpLHt9KSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKTpudWxsfV9yZXF1ZXN0U2NyZWVuZXIoZSx0KXtjb25zdCBzPU0oZS52YWx1ZXMpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3R7bmFtZTpyfT1zO3JldHVybiB2KCkuZ2V0U3ltYm9sRGF0YShgc2NyZWVuZXItZ2VuZXJpYy0ke3J9YCxudWxsLHIsUyx0aGlzLl9wcm9kdWN0TGFiZWwpLnRoZW4oKGU9PntlP3RoaXMuX2Rlc3Ryb3llZHx8KDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJlMuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt0aGlzLl9zY3JlZW5lckRhdGFbdF09c30pKSx0aGlzLl9zY3JlZW5lckNvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpOnRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKX19ZnVuY3Rpb24geChlKXtyZXR1cm4gZS5kYXRhLm1hcCgoZT0+Qy5yZWR1Y2UoKCh0LHMscik9Pih7Li4udCxbc106ImV4cGlyYXRpb24iPT09cz8oMCxfLm11dGF0ZVNpbXBsZURhdGUpKGUuZFtyXSk6ZS5kW3JdfSkpLHtzeW1ib2w6ZS5zfSkpKX1mdW5jdGlvbiBxKGUpe3JldHVybiBlLmRhdGEubWFwKChlPT5GLnJlZHVjZSgoKHQscyxyKT0+e2xldCBpO3N3aXRjaChzKXtjYXNlIm1hdHVyaXR5X2RhdGUiOmk9KDAsXy5tdXRhdGVTaW1wbGVEYXRlKShlLmRbcl0pO2JyZWFrO2Nhc2UiZnJhY3Rpb25hbCI6aT0idHJ1ZSI9PT1lLmRbcl07YnJlYWs7ZGVmYXVsdDppPWUuZFtyXX1yZXR1cm57Li4udCxbc106aX19KSx7c3ltYm9sOmUuc30pKSl9ZnVuY3Rpb24gUChlKXtjb25zdHtsaXN0ZWRfZXhjaGFuZ2U6dCxyb290OnMsdHlwZTpyfT1lO2lmKHImJiJmdXR1cmVzIiE9PXIpcmV0dXJuO2lmKCF0fHwhcnx8IXMpcmV0dXJuIG51bGw7Y29uc3QgaT17Y29sdW1uczpDLHNvcnQ6e3NvcnRCeToiZXhwaXJhdGlvbiIsc29ydE9yZGVyOiJhc2MifX07cmV0dXJue3N5bWJvbDpgJHt0fToke3N9YCxtYXJrZXQ6YSgpLG9wdGlvbnM6aX19ZnVuY3Rpb24gQihlLHQ9e2NvbHVtbnM6Rixzb3J0Ontzb3J0Qnk6Im1hdHVyaXR5X2RhdGUiLHNvcnRPcmRlcjoiYXNjIn19KXtjb25zdHtsaXN0ZWRfZXhjaGFuZ2U6cyx0eXBlOnIsdHlwZXNwZWNzOmksY291bnRyeV9jb2RlX2Z1bmQ6bn09ZTtpZihyJiYiYm9uZCIhPT1yKXJldHVybjtpZighKHMmJnImJm4mJmk/LmluY2x1ZGVzKCJnb3Zlcm5tZW50IikpKXJldHVybiBudWxsO3JldHVybntjb3VudHJ5Q29kZTpuLG1hcmtldDphKCksb3B0aW9uczp0fX1mdW5jdGlvbiBNKGUpe2lmKCFlLnR5cGV8fCFlLmxpc3RlZF9leGNoYW5nZSlyZXR1cm4gbnVsbDtpZih1LlNZTUJPTF9UWVBFX0JMQUNLX0xJU1QuaGFzKGUudHlwZSkpcmV0dXJuO2NvbnN0IHQ9ZS5wcm9fbmFtZTtyZXR1cm4gdD97bmFtZTp0LHR5cGU6ZS50eXBlfTpudWxsfX0sNDIwOTg5KGUsdCxzKXtzLmQodCx7Z2V0Qm9uZHM6KCk9PnUsZ2V0RnV0dXJlc0NvbnRyYWN0czooKT0+Y30pO3ZhciByPXMoMjIxMDYxKSxpPXMoODI3MDI5KSxuPXMoMzg0MDE3KSxvPXMoMjE0OTg3KTtjb25zdCBhPSgpPT53aW5kb3cuU0NSRUVORVJfSE9TVHx8Imh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20iO2Z1bmN0aW9uIGwoZSx0PWUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UubGVuZ3RoPjE/YCR7YSgpfS9nbG9iYWwvYDpgJHthKCl9LyR7dFswXX0vYDpgJHthKCl9LyR7dH0vYH1jb25zdCBfPSgwLHIuZ2V0TG9nZ2VyKSgiU2NyZWVuZXIuV2lkZ2V0Iik7ZnVuY3Rpb24gYyhlLHQscyl7Y29uc3Qgcj17ZmlsdGVyOlt7bGVmdDoiZXhwaXJhdGlvbiIsb3BlcmF0aW9uOiJuZW1wdHkifSx7bGVmdDoic3VidHlwZSIsb3BlcmF0aW9uOiJuZXF1YWwiLHJpZ2h0OiJjb250aW51b3VzIn1dLGluZGV4X2ZpbHRlcnM6W3tuYW1lOiJyb290Iix2YWx1ZXM6W2VdfV0sbWFya2V0czpbaS5Ob25TdG9ja01hcmtldC5GdXR1cmVzXSwuLi50fTtyZXR1cm4oMCxuLmZldGNoKShsKHMsImZ1dHVyZXMiKSsic2NhbiIse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeShyKSxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKChlPT5lLmpzb24oKSkpLmNhdGNoKChlPT57Xy5sb2dFcnJvcihgRmFpbGVkIHRvIGdldCBmdXR1cmVzIGNvbnRyYWN0cy4gJHtlLm1lc3NhZ2V9YCl9KSl9ZnVuY3Rpb24gdShlLHQscyxyKXtjb25zdCBhPXtmaWx0ZXI6W3tsZWZ0OiJtYXR1cml0eV9kYXRlIixvcGVyYXRpb246Im5lbXB0eSJ9LHtsZWZ0OiJjb3VudHJ5X2NvZGUiLG9wZXJhdGlvbjoiZXF1YWwiLHJpZ2h0OmV9LHtsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzIixyaWdodDoiZ292ZXJubWVudCJ9XSxzeW1ib2xzOntxdWVyeTp7dHlwZXM6WyJib25kIl19fSxtYXJrZXRzOltpLk5vblN0b2NrTWFya2V0LkJvbmRzXSwuLi50fTtyZXR1cm4oMCxuLmZldGNoKShsKHMpKyJzY2FuIix7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGEpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixzaWduYWw6cn0pLnRoZW4oKGU9PmUuanNvbigpKSkuY2F0Y2goKGU9PnsoMCxvLnJldGhyb3dBYm9ydEVycm9yKShlKSwKXy5sb2dFcnJvcihgRmFpbGVkIHRvIGdldCBib25kcy4gJHtlLm1lc3NhZ2V9YCl9KSl9fSw2MTkxMjMoZSx0LHMpe3MuZCh0LHttdXRhdGVTaW1wbGVEYXRlOigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg0OTExNjUpLG49cygxNjg4MjQpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUmJigwLHIuaXNOdW1iZXIpKGUpP2kuZGF0ZUZvcm1hdEZ1bmN0aW9uc1sieXl5eS1NTS1kZCJdKCgwLG4uZ2V0RGF0ZUZyb21ZWVlZTU1ERCkoZSksITApOiLigJQifX0sMTY4ODI0KGUsdCxzKXtmdW5jdGlvbiByKGUpe2NvbnN0W3QscyxyXT1mdW5jdGlvbihlKXtjb25zdCB0PWUudG9TdHJpbmcoKTtyZXR1cm5bTnVtYmVyKHQuc2xpY2UoMCw0KSksTnVtYmVyKHQuc2xpY2UoNCw2KSksTnVtYmVyKHQuc2xpY2UoNikpXX0oZSk7cmV0dXJuIG5ldyBEYXRlKHQscy0xLHIpfXMuZCh0LHtnZXREYXRlRnJvbVlZWVlNTUREOigpPT5yfSl9LDYyMzUxMShlLHQscyl7ZnVuY3Rpb24gcihlKXtsZXQgdD1udWxsO3JldHVybigpPT4obnVsbD09PXQmJih0PWUoKSksdCl9cy5kKHQse2xhenlWYWx1ZTooKT0+cn0pfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/88641.041438d11c46fce9d089.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.872Z","timestamp":1785136901872,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/88641.041438d11c46fce9d089.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-62c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 065d510f129decc0342f6e2ea19a6afe\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":1580,"size_decoded":1389,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1580), with no line terminators","md5":"32e0ae9a28c9d52b414aad34c4892758","sha1":"c119d88feed0b8329be7c35b301b302009ccf7ae","sha256":"e500bb28f78ac3f684a2b30dc0bd9b3331361b359f821ea0c3a52125602e5b20","sha512":"12b52a1eb7238e0fb37efa641cf083fec0b82cbffa652c114c565afca2e4ed378b45dae932ca4d06a04dbc1b5ba34433d9b290cf92413b855a971a45eb7099d8","ssdeep":"","tlshash":"0d31c2a8e27491ba5a4bdd7923d4e659190cbd03be221fd6f724d4108cc65e32371d98","first_seen":"2026-04-03T18:46:53.450108Z","last_seen":"2026-08-10T05:00:33.817079Z","times_seen":254,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbnJmSjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLW5yZko6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1ucmZKOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tXzEtbnJmSjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uY29udGFpbmVyLXFtN1JnNU1Ce2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZDtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzEtbnJmSik7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXgtc2hyaW5rOjA7cG9zaXRpb246cmVsYXRpdmV9LmNvbnRhaW5lci1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NDBweDttYXJnaW4tYmxvY2s6NHB4IDhweDttYXJnaW4taW5saW5lOjIwcHggMjBweH0uaW5wdXRDb250YWluZXItcW03Umc1TUJ7aGVpZ2h0OjI0cHg7cGFkZGluZy1ibG9jazo4cHggOHB4O3BhZGRpbmctaW5saW5lOjQ3cHggMTZweDt3aWR0aDoxMDAlfS5pbnB1dENvbnRhaW5lci1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7cGFkZGluZy1pbmxpbmUtc3RhcnQ6NDBweH0uaW5wdXRDb250YWluZXItcW03Umc1TUIud2l0aENhbmNlbC1xbTdSZzVNQntwYWRkaW5nLWlubGluZS1lbmQ6NzBweH0uaW5wdXQtcW03Umc1TUJ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjpub25lO2NvbG9yOnZhcigtLV8wLW5yZkopO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDt3aWR0aDoxMDAlfS5pbnB1dC1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LmlucHV0LXFtN1JnNU1CLm1vYmlsZS1xbTdSZzVNQjo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpO2ZvbnQtd2VpZ2h0OjQwMH0uaW5wdXQtcW03Umc1TUI6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQpO2ZvbnQtd2VpZ2h0OjQwMH0uaWNvbi1xbTdSZzVNQntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTtoZWlnaHQ6MjhweDtpbnNldC1pbmxpbmUtc3RhcnQ6MTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDE0cHgpfS5pY29uLXFtN1JnNU1CLm1vYmlsZS1xbTdSZzVNQntjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCk7aW5zZXQtaW5saW5lLXN0YXJ0OjhweH0uY2FuY2VsLXFtN1JnNU1Ce2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7aW5zZXQtaW5saW5lLWVuZDoyMHB4O3Bvc2l0aW9uOmFic29sdXRlfS5jYW5jZWwtcW03Umc1TUIubW9iaWxlLXFtN1JnNU1Ce2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCCSPR.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.620Z","timestamp":1785136905620,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCCSPR.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/img/about-1.jpg","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.537Z","timestamp":1785136899537,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/about-1.jpg HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/jpeg\r\nContent-Length: 168103\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":168103,"size_decoded":168316,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 1000x667, components 3","md5":"3a2fce30cb74818b934a4c6d6e66f4a1","sha1":"fc534ec006179d3598240230f39738bbcc597e13","sha256":"7a5700b34b46a59bd84536ba9de14e1aab68407efca8a2a600872337909c3efe","sha512":"2bc1b6708567ffca341459c6a339b5c3f944d16f484901b783dc44eb34204f3b6eca8314bd93bd253ded351ca6e02b5767a355457ca84153dc38fac523ff3bcb","ssdeep":"3072:G51tsROM0wbAH6vD3/rGaPsfadJGREbBXgeqBGTZF5GgcHcgI7u7BZ2bQmwBHs:G3iROnSDTGaPsCdERuqBGTZOgcHcnu9e","tlshash":"3ff31214be1ac160dbdea0777af1a3064f9e4912faa7254d68374eee10d80fe457e0b1","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-07-27T13:11:21.975641Z","times_seen":57,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMdaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkU5M0M0QzI4MEQxRDExRUE5MjQ3QTFEMUE1QUMwQTdFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkU5M0M0QzI3MEQxRDExRUE5MjQ3QTFEMUE1QUMwQTdFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0iNkE4RERFQThCQzU2RDJGODg1NkFENUY1NzU1RTRDNDIiIHN0UmVmOmRvY3VtZW50SUQ9IjZBOERERUE4QkM1NkQyRjg4NTZBRDVGNTc1NUU0QzQyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgCmwPoAwERAAIRAQMRAf/EAMQAAAEFAQEBAQAAAAAAAAAAAAMBAgQFBgcACAkBAAMBAQEBAQAAAAAAAAAAAAABAgMEBQYHEAACAQMCBAMFBQUFBwIDABMBAgMAEQQhBTFBEgZRIhNhcYEyB5FCUiMUobHBYjPR4XJDFfCCU2MkFgiSNPGisiXC0nMXg5OjROJUhDU2s2R0RSYRAAICAQQABAQEBAYCAQUAAwABEQIDITESBEFRYQVxIjIT8IGRobHRQlLB4fFiIzMUBnKCkqJDFWMkNP/aAAwDAQACEQMRAD8A7H1mL+oCCfldedfFO3HfRn0ary21QYSJJEOq4B++o4H21LSa1Fsx0eRPE4SVtD8snEH30q5LU+W2wOitqg4YG4IA8V5H3eFbKxnAF4ySRqHHHx/vrN1ktWEjyGHlYXB4MOVKuTzE6+KJAN1uDf8Am8PfWyZD0GsgK2Y3vzqXqPbUivCUaxuUH7KydYNFaQbIwbqU9S8zzFTD8CpQRVLjXQgfNyt7atJPcl6bGO7l+qvZ3bzvCcv9fnp/+hYVpNfB5PkT7a7Ov7dmu9NF5s5svbxpa6s5b3P9ce794DY+2dGyYbAj8g9eQw9sxHl/3RXvYPbMddbfM/2PMydyz20OfSSSyyGWeVpZWN3d2LOT4km5NeiqpKFojlbncYbgW4jkaYHlSWWRIYkaWaQhYokUs7nwCi5JoA6R2x9Cd+z40zO5Jv8ARMHRhj6PmOvh0fLH/va+yubJ2arbU3phb3OhYm37F2pimDtnASCXT1c2UerO5HNpG1/hXDfLazOqtEi82nvmCeFI95/6iTg+RGgimRvcPJIPsNcebLTlGRaPay/xOjHjtE0f5MupHhOGMvDlXKwn+WeM8D+FxxU+w1zZus6qVrXzRrjyzps/IgT5XAsfjXOtNzbfYqM3LbUA28CK2oiHBSz52TDIepg8J1KnjXUqpmblFZnbkkpsjE+A+8PjzrStIJd5M9uciujkkX4dQH/1Ct0Z21OXd1xKWPTwvw5fCuirOeyMa6kMa1MGjTdh/UDfOzt1jzMCVmxuoGfFvYEeK+DUBE6M+npsbsf65dpRyLKMTf8AGH/SbjH5ZYZbfK3Ox5it6XlGNqQzFYu6yNkt9NPqxB6G5Rno2XfeHUALI4k53/8AjVbCT5bl7s/c249n5idmd/H9XseQOnaN9a7IE4Krt+H28V91MNtyTJj9z/Snd5N+7dEm7dn5retvGzlwwCn/AD8U8nt8G/bUtCaa+B23tfunYu6Nkx972LKXL2/JF1ddGRh80cinVXXmDRMlJyV3ePZx3bCzMvY2h2vuuWD0MbevSVpVS9ygYi69XDqGoppx8CbUT1W5ynZV3ncMDde0vqBt02F2nghSN5z8gepi5qjy+hM2uQrsepLC686trxRknOhQ7/2vsPYONgZe7wR77NkgtsuPioy7bL6Z6o8rPkveaU3BWJfLT5Al5/j8eRa/TrvibvXcV2zvLbsfds6GSXI2rchArvt7qhbryotEWBT8jN7teNJrxHpMMyncfYn1Xz/qCcbc423N5UWY7qkhx8EwIPJOZvliC8ehdfw01qOfDxNrk90dodwbJidgb53NLlbopaNe6Y19CP8AWxXCxyJ8zRAN0iSTRvG+tKI1QbwmZLG7C236fO+R3xmQy5cpORtGz4jMhyBjMCs0uZbqiQtb8tPMedNPyE03uantrubtn6mZ2GneWywNu7yynt7KUMsWV0At6GVFGWfoQ828p9h0pQ0pQ9G9dzGdzR/VLM7+g2fd4MttyjdDh7dtQ9KJIojdHw3FkijHEuT/AIqaiPQU+Hibnc9s7H7xk2rYe8d5x4e+QTDLvG2hRE7K1/0ckrflvP0cTa3V8uulLb4D38dTC977jvOzvk9qYm2L2zsO1sJH2wHqfMXqsmRlTfNk+ofuroOFVUUnSOxO9t12Da4B3jfbMLJRW2PBfqm3JUv+ZK8YuyYijh6nmFS6zsVVxvsdchzYNxwbRvHKmVCTDLGQ0ciuujIw4is4NPA4N2/k/wChbem1MpObNkStlC/msXIt+ymgOh7NCkcIYDoitYePupiLeHEeZQ0CXNipY+F/bSAkDbCP6kgFtbDU/sokcHn2/HsQQWVtCDYUpCCvzsLE9JgI2AsflIv9hpcgg5lv+1bfns+LC2PlMjWONlr6cq/4WpLIg4wcD+sPYWL2pu+JLinpj3JDK0AbrCMDr0t4VTBMwNqQxCmlADCooA900ANNAxpoAYeNAFn293FuOw565mE2vCWJvkdfA/20mpA7B213hs+9Tpn44Ee4Ri0+I5F/8S+NZw0OS9n3nK3bNixRKYY3LL1Dn7qGtBplp3Rjx40GLtcIvHjIGlHjI3P4CpSGypwpJ4SLHXkw0J+NWiTR7dvJUr1uOlTYgmxPj7L3q0yTZYG+CZQiyWcEA8/tNVIoNHt+4XPUG0GimnIoObd04ncOyd2yrsMik7yhzIcObWGScH8xBw6WI10rDIoZrTYBtf1rl2zIOH3LtOVtmXGbOo86n2r1dJtRyaCEb7A+s3YU0UYn3EQORoJkdT4+FUridGGm+qf06kYRJnrkSt8scaOSQfgKbypB9ts+Tvrvum3bp9TtyycFCkKpDG1xbzog6q3o5UmWRQzBBRWqRk2I8asDflzHGh0kpWg9IuTCQreZQNB7DSh1HozwdSLjQ+Bo5Cg9ek2ECYWM2ZucGMgu08yRgf4mArFmq2PsrC2f9FtuLiqPy4YUS3uFczNEJBGMRj0jyNyrOILRY4sqAFh0knjfnTVhQGDY8i30HsNMCt3VscIvToRyHsqWxhcDIjnQK2p9tUrCaHS4jeqOhSV51UkwHODE6dQFm8KQwUO3xvdODUAV3oImS6EWcc/ZQIscfBxZI2GhJ4mqFBXZfbqwhp4nI8bGiAJu3SK0IANpOGtIaCvtMzqRJdtbik0MLDhIrhhoF1b4UJDZwXvvcDmbvmzgKQ8hYWax6QbD3cK1EjBZZjmX03W1xZWNrqWvbh/MKAIMazBiqSLKsq6jjZl99JggLjrdrxFNLMAbAW8aBwbLsLtHM7j3bF2PAJkWVkk3PKiiacQwm5uSOlUFhp1Nqa57uXJ0466Qd5b6I/TGLGbCi7cy2miF2z5ZZHlZj49LBfgKi+Zr4nTjxLdwVed9GOw9ycDHw58dovKJFyHVUIFrCNr61yrPk2R0W69EpaOc94/QXuCMl9pzEz1UaJP+VN/6vkOmnKtsfaSfzKDmydRv6Wc93HszuzbsMx5mz5Mao5Z3CF01IAAK9VdNc1G9Gc9+vkS2Z0LtH6YYGLt65m/FMrOK9UWCD1RQafft88ns4CuLN223Fdjv6/ShTbVjp/p+m55hSRosXGtZVjVC7fACygVn/wCTxOpdF2+AHePo1j4W3yZe17hLJkKP6ElukD2EWq695W3Rn/8AzXXVMz/a+TvaFI48kspbo9OQBxxtoTrWfYdZ2N+ureZ7uvvPe8fes3b8GZYYMRvRDqg9RpAAD5je3mrq63Vo6Jtas8ztd3IrutdEZiebKyn9WWV5sj5TJI3Ubk6nWuxJLRHBazs5e5EmxwNVHUt+iInTqYcSRVSRBGMZUnXzKdXB5+ymIl4e7TQkLJcr4jl7al1GmXMG4iVbwPdh8pBHE8OPCpgtM0GDAJCZcmUYe3QgJNO9yxIGoiHFj7KytaNFqy1Xz2JO494yvhnbtnQ4GAT0+oSDPN/98fl1eAqK4NeVtbF2y6QtEB2GFcncIoL9EjHzIvBkAJJPLl1VrZ6GSWoHuLcJMvfpRiRmRQVk6wLL0ugPUToOFXjrFSLuWM26NMZ2XPcGLLhd/RQm46RdSx468NK08SGymk3SNY0x0aMIhMzqPJY/cX31QhrSZe4qpkB9eI9UpX/Nfl/vKKaTA0e09lbxmqsYxmLE9b+JJ1B8a1rjkh3g3ey/TKay+r1LO5BKNYnTRjpxFaqiRk7s3O39lYmCETHQPbRVkNtDbq1XXhVaInclSbKvVGI16Yo5FLPre/C58bW1okIg3QkeIXb82HkRqR7xX579xpa/NXzPq+Cb00sNka6h4Ra4vY8xUtf2jT/uGRzgiz6H8LcCfZUqyehTUBWVyAU0bgV5fCk8Vn9O4k0twkOQrL0SnVefMe2imTwsK1fFBJIyqiQag6mRfD2itLeZFWCEsgYMLWPhwNZ8mi4TJUc0ci20vyBrorZMydWgG4ZmHgwPlZ88eJjILtPO4jQW/mbjT4NuEieSS1OZdyfXztbb2eLYIG3jJGnrG8OID/iI63/3RXqdf2m71t8q/c5MveqtFqcl7n+pHeXcrMmfnGHCa5GBiXhhA8D0nqf/AHjXr9fo4sWy183qcGTs3vuzNJH0ggaAjhyrtZiOCWb4eUikIcAWsFUl3PSiKLsT4KBqTQB0vs/6Fd0bwkeXvTf6DtbWYGVerLcfyQ/cv4v9lYXz1W2ptXC3udh7b7Q7V7UhK7FgqMoi0u5T/mZL/wC+fl9y2rkyZXbc6aUVdiRlsZCxclieN6xNCj3HHLLoKljRmPUl27MZrK+NMOiaBwGUi/HWssuJXrDNMd3Viz5O77FlHdNgmEbOLz7fMevGyE/C38DxFc3XbxuN15HRmqrqfHzLzD3/AAd/2t9y2wNCYW6Nx25z+diS+B8Y2+61Xn66r81fpZniyzo/qAfrDdkZbgfKfEVkqmzfgyt3F7ofTsSeRrehnZGVzAxLAeV/CuqrOeyKrNynRSsgJ8ZB8399apIzbMN3GqshZGBHjy/uqhGOmBDkMPhWqZi9wRFMRcdqd37/ANq7oNw2jIaGQ6TRX/LlX8Lr+40B8T6N2bvPsj6y9sjY+6GXD3zH1wtwWwyMeQfK/wDMniftq65I3M7YvFFVFumb29nN9NvqxCMnassj/Q99X+mVOiukh4fbpwrVaEJzoy62ved2+muVFsPcjndexc422zdwPU9BW4K3Hy+K8uIqgehK3HZu4Owd3bvXsFlz9nz7TbvswcfpsmG1/UitosgHysKlomI1R2Psfvrt7vXYo942ObriJ6MnGfyzY8o+aOVOKkfYeVCKTkD9Qewtr712mLEy3aDOw3M+25i6+lNa1yp0YHgQaacMV68jksTYvY+2P2f9Q533lN4YzY+04UJMWDCGIbIinax67+b00+XlVvXVGUeZX9+Yuds+34239sPjYHYm5iObH3+KRnGTIFJk/wBRkszyO50RTpytfSnVyxPT4EvtbNG19iSbH9QsmaDtfPgR9uwZy3+qoRIGOQscZ6ocVNGUP5vZbShryGttdiiyfpxsnZ083cncm+f6p29vBaHblxLk7iki9f8A1mTZhChGjdGrcPZRW3kDWkMlbL9RNt79V+1+6drSbYciSPG2SfAjtkYEtuiJYUF5HRbatyHzaUuPkD9Rn1AiyPpRhHY+3NukxMfMVBL3RKVml3AWJnheUW/Tqv4Et1U05Djr+NTQdgdybpufYWRg9350uF21lYohwO53LY2X1s4vjwixlmhQcZdBbQ3GtJqATlR4GSzfpbL2vkZGf3RuOPhdskiPG3LFVcjKz+sdaJgxaiORlGrtoOI8aasDnxL3t3609r7tuuPtvcG2QbbBhJ6HbG+ZP/Wz4UnR6aPlPLfqYmzdfAHj41LUDgy29/Tn6kjuyWHI6svMkH6qTumaXowjANRkyZLGyKB9we4C1VKFPgXHbf1a23suSHY9r9fufBlnMu67m5MCmRhYja8fgka8fN89TZTqVXQ1EA2je+8W3nYpzueBu8XqJLEv9N49Hicfdbq+YUki5OgY+OmHGJs0h57D/p11VPZpxqXYaRNhyMqcXKiKNflX2e4VIwrSMuijTxOlVApAT5Fk/MkC+1TranApKrJwnyG6osoP/L1WOnspwhanK/qX2b3Eqvu+3k+tjKWkjB1kVdT8ai2NNShq0Hzv3v3bJvk+HC5ZlxFI8xvZm4ipqvMtmeUVcCFK0ANZTSAYR9lADCL0AMItQMZQB6gAkE82PMs0DtFKhujqbEGgDqP0/wC+cfP3/botzHo5ERJM4ICSWF9QeDG1Q6jOkx7gu65c7yN52c39o5CpgAkm3OoPSt15/wBtAIjpEYzcHyHibWuR+40SBPw894WBdSpGiup0t+74GnIQabbu4V6VjQAJoHa+jH/Dyqkwgd3zOm59pZm545aLI2SVZoJR8ytD0livss1TfUKEjaO8cHe9ojO77ZBuRiUCaORVZwOPVHccDSrcbqM3uH6b7xEn6jG/QSoelAE6CNOYHsos6lVVjnneLdldtYsu5pniWeNf+hwh/Uke1lHj034morTk9C3fitT58ysyfMypsvIYvPO5klc8SzG5ruqoOKznUH8dPGrbJQSMIGDPcxrqQOfsp1t5jaGSuzMWBtc3tRdiSGceVjUSMbf9lJjSNJ9L9qfce9MBQpZIH9Z7eC8Kwu9DZLU+qJszJWIgcbXW/wDfXO2aQBwc6B4HXII9SxvrRIiu2aWTNzpV6yI1awrOC5NGTDAPK3Uw4351UiIWWY9JnW4/CKQx+HEuT5oR6RpiJoypYj6MoNxwaiRhopHHmYXHKmhNB3h6x6sY6WXiBzFUSyszMV3k9dOQ8woBEXEyZI5Dx6aSY2iXmSyvEIozdWqpIC7bjCKLqcXYcKRRZjIKx9Z4cLUAVvcGeuLseZNGv5rr6aa9Ju/l4mqqtRM+ct9Z1yHV3VuIe2niftrRgjL5QKhz13Nmsf8ACQ1IZCMiQ9Txn80MHF+ADcbX50DQHLnle4ZupOosCLc/dSSQNn0l9HN/2rZ+xsD0pIo2naR80x/1Wyuog+qf5FAC+yvJz57Usz3Ov11aijfxOybPm/qEWY2CEXC3v8TWmC/JScuenFwg259vYm5fnRkwZQHknXj7mH3hV3wK2xOPsOmj1Rhd+bedqmjhyoR6t/ypT/SkHiG/ga87MrVcM9Prql1KKPdtnzdwxo5MYFWFzKqsOf4QeXwpVcmvLjo2c13OXM2HcXxcpumCcloWJNlc/NGWNveK1vjbUoeLIphnsfdpFfrElm5GuWyZ6FbIm7l3fLibbIrlZMmdSmNEOJYi3UfYvGjFjbfoZ5borOydjLZOOOm/SQxvzPGrzZJMaVhGH+omw5Gw96blhzlpUaX9XDIfL6izjqQ29hJHwr3OrdXxpry/gfMdqjrkfrqUcXVHIq8Qtgfax1b7K2MA/T1ICupjSyEm2rnWpGNk28L1vH5kisqLzLnxpyKCO+2uGKn5UAMzDmfwiq5BAkO3MsiSFSxfWKIHpvbmxHAUNiSCZEu55IAllYxwjpRAbKP8K0kkhttkzbdryppmWeUxiKB8g9V7eQWUfaaTYQX+14ce1duHeJ36p85pEglLEt0X9KwH8w6qm2rga0RW7l3PA6/9IjJ+RDjyHjf0hYqv+KtEiGVsL7llTrLEjO4dQvTqC4+SMewVUSSzT9v/AE+3rc8vo/TmSQuxaw+aQat/upetq4yHdHWu1vpLHh5UaZS3kUdasdF1+8Rbj/KfjWyqkYWu2dF27t/ZcCIPAixzIvyP5S4Gvl6tLeLfZT5AkOysjbEIWSRVndfIDcE2N+gHjaiQIku6wZETyYQaRi1m4qyhdDa/HXShCbJGDkDPi9Rj6WZqHjQhvTI/F40bDL5yGktGfSl5g/Ka/OlDeny2PrYaWuqBv09QBDQS/wDEGqtQ4T1+Ww4leaHOSFtkJox8sq8DTs5+tR5PzJrp9L/ImY0RWLQ9aniK7seOFqY3vL8mLLiqwuvzeB4/bRkxVt9X6irdrYSDqjACHqvxibj8K5bYXReaL5KxSdxd5dr9tIzbzuEWKW1XFv1ztf8ADEl2pdfr5cr+Sra/YnJmrVas5P3J/wCQuZKZMftjAGNFwXPzgHl/xJCPKv8AvE173X9mS1yOfRHn5e//AG/qcv3rf9937K/U7znzbhMOHrNdV/wILIvwFexiw0xr5VBwWyWtuyIDfS3EWHwrUgeBx5EUAOv0jzaa2HtvyFNgdE7L+iXd3cIjzcxf9E2l7N+pylPrOp/4UGjfFrCsbZkvU0rib3O3do/T7s/tBQ+04n6jceD7plWknJ59Fx0xj2KK5L5XY6K0SLycySMxdrsfGsmaER9CbCkMjOoPK9/CkMr8uIm9tBUsaMzu2GJFZQmvI8L0kNlZh5DdBwJvOFuEvqbeFc+Wmso3xX0gqZcPcdn3RN72QgZkYKTY7fJkwn5oZBzB+6eRrbFljR7E5KTqtzQR5+27rgLum29QxmPRkY7f1MeYcYpBytyPOs8uHg5WxeLKrqHuU2bNIGI4DmPGqrVCs2isyGEg/Mvf8XOtaozbKTdJZIkIYdUZ4EfxrVGVjB76VJLRta/FeRqyDLTEdRv/AHVoQwRW40oJGkUAOxsnKw8iPKxJXx8iI9UcsZswIpgm0ds7W+rex93bD/2X9RIkkgl0wtwPlMUvBXjfUxN/8p50Kzr8AdFf4llsfdeT2Xlt2F34h3Xs/Osm2Z7gHpjb5XDC9wPFTpW9XpoZbaM0+Jmbp9Lpku7b79Ntya8EyfmPi9Z4i37RwblrVkvQnbx25ue0bhH9RvphlJM+SobMwg3/AEuZjjUo6D7w5HiDUtEuvijqv05+pewd97Q2Xt5OPuGMQm57XLpNjScwR95D91hoaClaSw7y7K2LvDaG2zdo9R5sbLSwmgk5PG3+16acCtWTlM++H6V57bB/pkMHamJbJRsxjNPujtYyzRyn8qOWNhcR2q1r8TLZx+GZ3ub6X52/5cfdG2bhLvHbm6RyZ2HuW4SCFcIk9chzjIBI0EYBsqi+lvbTTXiEvw2Z7F797Z7dP/ZC4EndWz7mRPus5AVZfXUebbsRSVgiQDqCk3PHjrSshpaCd04MPY3amPvH01hWbZN2HVnd2lvXyrdRH6brIBx4h8pZdb6GiRT+P8CT9LN3kPbqHfIf1nYUhkl3Rt5UGIZYYvGu1p5nnuw8wA6RxBosvLcPjsU31J7Q7737esHdtkyn7o2TdGYbPl4YCpFC5/8AayhSEhjQaX4fi1oTG3G5a4/d3Z3buzt2X3RJ/wByYmTIBmwYHmwtnAFujEle8szq3mbpNgeHhQ/QIMJ399Msvt2SDeNvyV3ftHPAbA3ePzCzcI57fK3K54+w0kOYLrsrv3Fxu2svtbvFmz+0MgrEcIlv1WOCwKvjEayKr2Pp8RxXwp8fETNTtv8A42o+6zZO8bv19qQqJ8doQY8qeIjqCzE29Kw+bp1PsodkhqrZq9q7w2HDfG7d7cxYtuwkDx48aKFsBr7yX4kmuf7ks6Ptwi4iyWnyVaIlhY+s54Lb+2qSIbLfD/XZo64Cq41rBm58r1Yizj2uHT9Q5mbw4KKTYQEO37eP8hPiL0pHBEydq2yUFTjoDbivlI+ymhGO7kxtwwYJDjTGTCIF1fzPE3Kx5qed6pEM+Je6oPT7p3ROkJbJkuq8ASbkCpLrsRkXSgY7poAayUQAzopADZTQAF6AB0DPUAeoAVb3FjYg3BHKgZ03sLvF5ZkgynAniGp4eoB973+NQDR2bbMmLLxwerjzHEUhB2wFdjcdJ8eRHtqRkKfbirnoHQeNm4GkUiJIZYG6VXoDasdTe1CYy92nKMva294U5DDJhneNb8EKBBc+8U3YlIwPaG/5eHJFgMDJ0gLFMD4DRT4g1DNEaj6hdwbHj9k43couzrL6LQjRnkIPSh8NRrRx5wUrcZPmjdd2y913CXcMxuvImNz4KOSr4AV21oqqEcl7Oz1I4rRGQl9fbRI0g72jjEZ+c6uPDwFVMITAXqBiaUmMY7eUgcTpSbKqdx/8dtgSLD3DfZ47mUjHxz7B837a57s1qdh3FBLD1Y+siDzJWRSKXKwim2zzxkCYi7L4VLQyJ2YJj1lD5r3e/OiANBmzLHIHJ8vOkxoiZWdCUQhhfl/8KkpkjEz1VdB8RyokAy5jTS6sLDhcUSOAk+U8IDBgwPEU5FBKxdz60sBY8KpMloY8szSFG8oNOQgH+k9KUkHysP21Iyr/AFM2Plt1HyX0pyKC2xswPGQjWY86cigkF5pIQrC4HMUpHBkfqVk9O1QY6M3qFjMUF72Tn4WrbETY4tujxyiVn6WYk6DRgQAut9OJNUIzuSC04VG067G41ta1iPCkMgTSoSOsdTlSGK8tefwoBnSfoX9Pe3O6Nznz9/68jbsCSOJNrjYr+oncFryMNRGi8QDqfZWV8vFpeZ04Ou7p28Edj+p3002Lbu2tw37tjbI9oztui/USYmP1CDKij1kWSK5XrC6q6638RWWdK8JnZ1Lum3r+wL6Z954uZhY49S8cqKyEniDXkVbxXhnoZ8ayVV6+J1zbdwhlPQpB0r0qZavQ8e+NrUlZ0O3ZeJJj5iJNC3zRPqP7j7q0uqtQycfKrlFPtvbOBBO8yAkFQqx/Kii5IsgJ16SAW4moWOriFBtfNbxZX9y/Tvsze4Xj3PbUn6vmIZkb33U0OiWxWPPbbwM9/wDgE+nww2GHHl4EhFkkTIeUqf8ADL1KbVDxJ6s2r3L1cI4t3p9I+6+zd2bccqQ7vsczBYt0jWxiudI54xf0/ePKfGoz0XDRQdXTzK9tXLLrtieBMqEhSEBu7H2V47R6VnoYf65ZLy95xM1rY+BAwkW9m6yxX5vDhXue2r/i/NnzPuD/AOQ58F6b9X9RBdiT99+Fd5woNG6BteCsqg/4RrSgchBOVKqCQLtIXvxHuogJPfrnFgR5SOt2J1ZeGt6UByGruTqwdQB5epukfKOS6+NEByGSZ+V0BHbpVT1SAAWF+AHtqoFIkE7EThywLoRLqSApIsgHMmhoRc7tlZuemBtkIEeHt0Hp9ZA+ZvPI5t967WFFKA2T+3ewsncnBjiLdQ0AufTX8Tgc2rauMzdzp/bv0z2fb2WTccoIoF/0sejjTW7HQH21uqpGLu2biDuDYNnRYMKAdEPkEIXpke2tgePSL3odieMlP3F31G2I2NHlep6reoWPkexNukkcAOQpckNVZXL3flTYjtlN6zEKsBB6jcG12PspKw3UkQTw5yibNnZrkK3WeDj8IHmFrcRVpgXm3bh6F4opIWzojdYiT0xxg3/MC/eIptkouo8/CLrNGAJujqkKL0qXsPlNvbrRqM0jiQKBInUvDq8PjX505S+ZfmfWqJ+V/kNVimp/Mj5RmiYX9yFGvkzxmI1T8xTo0Z1sPdUqzWq+ZeRULx0Y7GnMF3gbpQayI3ygczc8K3wdji/l28jPJjlfNv5mV7m+t3YeyLJGMht03BNDiYHnUN4PMfy0+017WLqXyQ0oXroedk7FaOG5OQd2fXLvTfVkgwmTY8E6eniEtkEfz5Da/wDpAr0MPt9K6v5n+xyZO3Z7bHPmLvK00jNJK+ryuS7sfazXJruiNEcrc7nrE3I+FAh2ujcL6e+qAerKouTZR946UAb3sn6Od590hMn0RtW0NY/6jmqyB1/5UWjv+we2srZlU0rjbO69ofS/srtIpNiY/wDqW7oLHc80B2B5+lH8kfw19tcuTM7HRXGkamWaSYl3YlvbWUyaQMLW/hSkBjft5UMCPKl9AfcKQyO6H4ihgQ8hSST09Q+9Usoqc2BSrcDppUDMruWK0UomiH5gN/8AYUb6DQ5pkni60HmOjDwNYcYZsnOpmdxTcdrzm3jZSPXcdOdgt/SyYx91h+IfdaurG5XFmGSuvJbkjH3TC3bDGZhkhL9MsL/1In5o49lJ43V+hdcnLcj5B8tiLX51SJZQblLKoPV8vjWiRm7GG3xY2YsvlPs4VQoMxOpDG9aIzsgQAHCgk8RQA0igBjLemmBte1vqMcXbv+3e6cb/AFrtiQ2ELn8/GJ09THk4qR4Uoa1qVo9GdN7T7ll7N23oab/ur6VZ35TTWDTYJkPyZMXFbePDwrWmRMytR132NJH/AKl9N5h3B21Id9+nW5EPlYiN1tj9f3lOtrePPga1kziC03zto7k+N9SfpjniHd0XgptFMg1eDIi/eppNEtTqjo/0w+q2098YkuO6Dbu5sDy7rsznzIw0MkRNuuJjwPLgaCkzW7tsmy71irh7xhQ52KjrKkU6h1Dobq1j4UTAWqrbnE+4X+p/aPdpBx8nuld4nMONjIo/Qz4R44rwgdGO8S/K/C3G9aKGjG0p6gN6+m3ZW1Yu6b/hI267LhSxy53bG3FHyIck/PFLlxt6gxUBJZF4+0aU1YGoM5s/1Q73G/4zHBjyO29wjbH2/tVIOnHzcYN0iPDgAazrf5zp+LSh1CYLr6v9hd0b3lLuWwyPu+DGYsdu38Zomm2qboA9BUjPQq6+fmPdST8B/wAP4ETaO89v+m0eTt+WybxuebHHj7l25tcgXbcNOErSTEH1ctl8rdNh4+NOykEoM53f9Ptvj2gd3diynce0m1mxhrk7c44xyp83Qv2j2jWkmG3wJ30z7w7lO4HYcfaG3yHcSg3XamsMV8eQWM7EjphcDXq4P4X1qmpUk+h2TtT6K9ldtbvLusET5k/WW29co+ouKp+7ED4fiOtQ8hpXHHqbTPhGVhz4z6LPG8fs86kVEGh8r50u69u934sGbG0GXgzqHVuDR3sHHipWuZJpnRylHb9hiTKiGSoKbbMRKkViGm6ubX4IOQ510yc8GrimCOFAAUCyqBYAUQBNBDC97e6iAPEf7GgAMiDja1NCKDeobo69BZHBuORHMUyGfFv1f2J9q+oG4x6ejkFZ4LcOhhw+FJjo9DJxDWhFsIy66CgBOgnWiBSeMRtwogJBPH9lEDkC0N+VKAAvERSgATKRxoGJQB6gAkM0sUqSxsVkQ9SsORpFSdd+nf1AWc/psoiPITgl9HXxFSyWjruHueNOg6TckAipYIXJyQQVuHXwbiKllopMycE+mrEcjfkKRQux5oEe5ynVOhYUU8OBqLuC8akoP1W3plxrjqpkR7sV4X8L1MtlxBF7+fbz24NmEy5Jzctcp8VT+ZEoU6nw1NZ/cddjRY09zmuR9P8AOmjM2zP+rtq2K1lmHuvo1bY/cK7X0MsnSf8ATqZqaGbHmaDIjaGdNHjkBVgfaDXoVsmpT0OC9HVwx8ShPzTqR8qnx8a1VdJM5BMCSTe5OpNQypGEEcaBiH2Uhj8TFly8qOCFS8jsI41HEuxtWbZaPr/szt7H2Ttjb9sjFngjDTDxdhdr1zN6mkeBatGwyOuPTxHiKBkHcyscMz9FoytmoEV+x+niYzzW6S5JAqZKRX5e4ZM2Q5vax+XiDUjFQxTi40YcVpQOZJcMcqqEDWU8aTKRI644vLe9xxFICGzyep0htDwvQBc7egCcfONb00ItI4iV6pNb86tMRDzXmJPote3EGkwRAlYSsokWzAaCkxomYMCQt5ho1KR8S4iw5GAEb2Q1USTscn+o2Y77tkQy3OPjkLCFPzD7xY8gLHhXTVQjNs53uLrKnVIg9QkAuLee93NuYtemIoJIZOosq6alixvqdAfhSY0VbqytdQDZiD5eP2+NIZ9Ef+Nf6OHtPKyZY1/UDcZhEwHnIMcY191q87s3jKvgen1U/tONjvWXiJu2zT4s6gx5UTwSL/LIpU/vrTV1kxrZVufI2Pnz9sb/AJGDMTjwwSmBl5RPEegN7rDX7a482J3U+J7WLIqaf0nScHvvckSPIxnEgNiSNQy+INcCVkzW2KjR0PYN+fdlWRgUJANuL35+z7a7MV3bRnHlxqi0NR62VDgSSwp1SxqXji5uF1K+813NtVlHBCd1OzMll9+4ckKZGO/UG4oTrbnpXm5O7+p6ePovZlnsnecWYwjUXPt01rTD3G9DDP0eOpqU9DJgeGaNZYJlKSxuAyurCxDKdCDXp1cnmOU5WkHLO6PpTPs+U269tD1Nv+afAe7vCOJMf4k9nEV53a6njU9br+4c1xv9X4/c4P8AXaB07uwMlgCmRtsTm2oPpMy6Xrs9u/6o9Tze/wDWc3610Li5Xztfmx0FdxwiaKLA3Kg3t+NqAEOugOlugW/aaAFEoKlWPkOpbn0rwFvbRAHuscWGo85tzY/KPhQA4m7MT5impH4pG5/CgC42Hb2zshUgiaaVbdMQFyz34+4VSRLZ0nZu1cPESRN4dY5ARKIUsXaW9wrt8oJ/DWySRm3JcHu/B2vESLHaPGdAxmdBZCzaCM28x15n91DyQL7cmczO+pXR4JNDCOpySNAOVx+ys3lLWMosnuTImePqlGO7H1UBct0xqPLrrrypc2yuINMvKyo3tZ+tTZJPKQoPzAmirYmi/wBiw2lh9KErDIQHEpUkIoPysfFuVaVRFjZ7ZtG4TtEvpehuOP1HG1uegm/qvxX3VoiJNLjbLEGGQ/XHKps8y2HrPa1/tq0yWW8ONmrIkjAAJouGLcB8rMf9re+gINf6jIdRYGvglaUfSxBF3Xcdq23DfN3HLhwMZRf1Z3Ean3X1PwrP7Ds/kWpf3kl82xynub6/7Njl4u3cJtxyF0GdkXggB9if1H/ZXqdf2W94eR8fhucmT3CtdK6/wOVdy9992dysTu24O+OeGJD+Tjj2dCfN/vXr3MHRxYtarXz8TzcnZvfRvQotFUIFsDoVGlhXWYHgLg28ba+FAD1104WNrUmId1BQW0C8STy5UIDZ9k/SfvHu8rNg4n6PaWN33XMDRwW5+mvzyH/CPjUXyVruXWjZ3fsz6Odk9rdGS8X+ubwmozsxR6cbf8mDVF95ua5L5nY6KYkjbyzzS3aRieFqxNQfP2+ygBDe/DnpQAljrfQUAeKixubUwAyW+HjSAjyIb34CkMizAE2PLwqSiuyIxrz8KTGVG4YoZeGo0qQMvkrLhuzKCQR5hxFvGlZSXRwQJpVmJIblwp1GzPbht2Vj5DbntLCPNAtPAT+XkKPusPxeDVureDMLV8UN27uXA3INCpMOZFpPiyaSKfaDxpukBW86Pcg5svU8gJ8o4rQhuDHb3Hclk0PhyqiGjNTE3IPGtESyORqaJIgS3jQAhFqAEN6YDSKALftfuzfO2M/9XtU3SrjpycWQB4ZkPzJIh8rA0NSUrQds+mHf2CryHtyIDCnDHd+yJSCvm+eXbmfiPGI/CnXI1pYm2Pxrt5Gmnws7s3IfvT6fuc/tbKN952Ek/lH73l4qV8bXXnpXQYR4osN32Xbu88LH737Cyv0XcWF5onU+nLFLxMcwHG/Ag+VhQS6zsbv6W/VyDumSTt/fYk2vvXAW2ZgXtHkKvGbGJ+YfiXivupDVvBnQsrHhy8OfDyATj5EbRShSVbpcdLWYWI0PKgpnBZPpz3H9N+403nbt4x9s7IwEL5u4zqZJGxncXxZ4RrO+to25VommYNNMXdTg7p21uW8fSaD9Buju777jsrLua4baj9CHLCKJjdj6XH30S9mGi1Ri/pRD3FsWbJ3Vj7iNn7fgdV3fdsvq/Szpcl8dITaTIyOQK/KeZ4U2gVp2J3c/ZnbfdeDm92fTcOyQu0m89uSL0ZMJYljPFHc6P8xXny1uKlD2+H8Cx+hfbffM2ZBuG2ou2bCHP6/KnjJOfCdDB6LWDAcpCB08r1VojUKy9Vsd62TtrYNghmh2bBiw0nkMswiFup2N9TxPs8Kzdm9zStUtif7TxpFA2BOgoAwn1Q2XsvJxduyu4548bKTKjj2xyQJJ5WYf9Mq8ZA/McqmyTGnBNXLVpBElkEagEckUadApiLfElQoPKejl4n20xFhH09PlFAwgFJgIy31pgV+448rr+WbEDSmiWfKX/krtOXBuu07hkRBTMs0LSDS5Rgw/Yapoiu5x6Jbnw9tIsN6PVQKQiQ+UeAvegBf0zWA8eNOBDTjXJ00GlEDGTYnSLDieNEDTANhScxYcaXEORDyY7aW1qWVJGeGVB1FCFPBraUhjBSY0hwXnxpFKoSJ5IpFliYpIhurDQg0SVB0XtT6lTRKuPnmzrosnI1LM2jcL3ck8YZX6xbxqGikQc/uIBSVY9Z/ZepNUiHuXdOPtuxjGWTomym6mP3re6otLZVNDJv3XlKPTxEMCHQ5B1fXw8KlmlSVtKdbiWctJ1m/6gatf+auTJY3ojf7VtwZVkJ0FunKQar/iArz8ljtoi33TtjZN4x1h3/DXJNrRZ0Wj+w9Y1+2ssXavjc0f5Gl8FbqLKf4nN+6fopvmH15nb8v+q4fH9ObLkKPAD5X+Gte71vea20v8r/Y8jP7W1rTVfuc3ljmhmaCeNopozaSJwVZSORU616ytOq1PLtVpwMaxpslDG8q3GpOgHtqWy0jp30Q7TGXv43fKiL4W2+a/Jpjw+ysMj8DWqk+ikyoZZC0bcddKyKJP+X1Wv400JjTBFmYksVhci/vpiRl8+I4sJCkkIflFZtFlZjZX5p8ou40BpQOSfi4SfNcdR8KYkHZWDWXhwpMpSTsbCx/SJYeY61JQ+ba45IwwW3TQIk7fip1WHhreqQiymhLxgDlxtTgJBfoh0am1KAIzbYD5uJU8KTQ0xzxN0jqUiwogR7HyJo0LA6Lc6mw0FNIGzincuecrPmm6ASWcmMtwJsDYf7166zKTIyxmc+qkgUnqZVI4AadN+VICrmZyQrXdOnXS1tePtpAV8pWxEZPUDZUBuRfjSKOs/wDj7v64WVuO2yMAnWk6A+DDpb9qivN71Yat+R6fQtyran5n1FsOdHNAovdXFwa2wXlGOfHDOb/Vr6OQb5uQ3TCIx2zGC5klgQJLWD2JX5h+2lbE5NsXZXGLeBB7L+iy4kC4mfvWR04t0CLBGFsp1XqJuCt/7Kzy9StnL8TWnuLShVOm7H2ls+DZMbIkk6dLt0gn7BRi61U9GZ5+3ey1RcT7a5X8iQBhqA3j763eM5q5ddT5r+qu3b72PuuVuzxl9j3LMkMGJ0G8HWOrSQeVlZrm3KvNydX7loji0vyZ7HX7jS1+ZEPtnv3Em9OXGmCzGxfHY2ZT4EVwZOvfGz1KXplR1Xt76lY8gSLKPQ3C/KunD3bV0Z53Z9t3dTfY29QSRq8bXDAkEa6CvTrnTR5FuvZPU4L/AOUPZrZG27f3PtsY/TbcZI9zgUaqs7Bklt+Hr0bwvWvVdVKXiRmra1dfA+bmLa3t1ghmvzbkPhXVBxjOplII4i9j7ebfCgBxIIJtytp+HmT7TQA06i4HvHu4LQBJwtty8pgsS311uNAfE/wpgabb+2cHHYHcZXd1BK4sIux5Meo+X48qcIUmiTesTbcYQ7ZCkCyERq4N3LW80l+Nl5cqPuBw8ymze45mZwj9SoSsIF7mVjYvf2VDs2Uqoq5c/pYMJb/pbFideqb2UhgeqQH03YydB9XK/wDvjaqlxxpoCbtmz5OVMXkTzs1plNgL8Qqk8Ao1Jq1Uhs2+0dux5SpE8Nn0MRk/pu68ZG5+kv7a1VTN2NVgdugwBI1JKnrVi9up1JBlfq+VFJ8q1aINFs0WAMCITOZciPymwCvkcbC4Pye2mJmoxUxjlK41eMKjRoPyoza/l+FOREwpEkbSROvoXAEgv1ePSff7BQgONd1/+Q2+Z6tjdu4SbXBcgZc5E2Qfaqf04/214GD2ai1yOfTw/wAz08nff9Ohy3dN03PdMpsvdMubPyTr62Q5dvhfRfhXsUx1rpVQcNru2+pGDgjqHzcP76skcDa5HAjUeNIBQPH5eHtFADgCPKdCL39tMRquyPpn3l3i4Oz4XTgBrSbpk3ixk9zkXkPsQGovkVdy60bO9dm/Q7srtox5W5D/ALg3dLMJchbYkbcfy4NQbeL3rkvnbOimKDoMmRLKAGNlXREUWUAcAAOVYSapA9KQC25mmAlgdRpQB7Xq9ntoAYb6+08aAPNbiToOdADWOljw8aAAOb8eWtAEV1uSSNDzqYKkjSotrX15XpQOStyoVufadRUsZRbrjLJGSBw40hoyORB6OQ8ZHlbWNuRHt91Ba1I8yaC/Pia0TIaMz3J25i5xXIRzjbhH/RzI9GHsbxFa0sZWoZpN8zMCX9DvUYSQ6RZa/wBOT235Gr4rwIVmtyHuzdXmvodQeIqSkzOZI81WmJkY/toIEpiGt/8ACgBpFMBdPjQA0igBYZpsedJ4JGinjIaORCVZSOYIoHJ2v6Y/XR8bLjxd9dYZ5bJJnWHpZAtbpyV4dX8/20k3TbVDcW+Jv902LM2PLfvj6eteNlD7rsqnqjaPixVB8yH2arxFdFbK2xjejRLy8Dtz6pbPFvnb8z7Z3PtZEqiFhHk4+QPlPUPmQngeBqjNqTXfS76vZO47gOze9lj2/vSBbQyAgQZ6AfPEeCyW+ZPiKTBPwOoZeJi5mLLh5kKZGLOpSaCQBlZToQQaCmpOIdyfT/F+mGZP35tf63dVxiIdr20OyQYiyAhny5FJkkx4+SAf21ac6GLrx+BSd1xR/VHGgyNunSLvHY4bzdsrMGxMqE+dpsBvl6mv83Hk1NKAb/0NP9Ifo3uGzbhB3RvkzYecisuJteO9ljjfiuS4/rN/L8op2aWiHSrblnYx0KvSg6V8BpWRqe99ACBSx0oA5j9Wvrr2z2DDJhQBd07jKkrgI1o4L8GypB8nsQeY+zjUu5Sr57HyRvP1H7w7j39u5t2lfLy8d1kxp7FY8dEYN6cEY8sae7U8yaVbpOH4jvRxKPtLbGxZcHGykjss0Uc921H5qB/41ZBbQR9f5jHoBFwp429tAoC7ru2z7Lt77lu+fDt+BH82TkuI0v4C+rH2DWk2UlJzvdf/ACC2FSydvbRm7yVNlypbYOKw/ErS3lYe5KxtnSOinVvYpz9aO+si7pg7Zhx8QgE87W9rMYx9grnt2n4I66+3+bGN9du58OTq3DZsPPxzxXGd8ea38vX6iE++1OnakzydGNmUn1S3jtb6pfTHK3btqRpdy7fkXKytsmXoy4EPll647nqW33luK7q3k8y9YPnGJLgEcPHxqgD9ICXIsTwoEFWLQKNb8aY5JCgKtvHSmIemMoHV93jf20AMOMzte1y3AUAC3Jkx8f0wR6h0NqGwRC2PYcveM9YIULc3PgKiJLbg30H0+zYyEWIkcCLXFS6MSumOxe1P9P7n2+bacLHyN32yZMvJE6deIEX/AC504Hq8ONZlplF9Qu1MsPlb8cVYp8nIaTIhxI+mAeoeo9CLoirU1nYtWMJHGDrVQxyeki18D40pCQ+Nnbjj/wBKUgUOBko77u50aX4gCpdUOQYLZD9cjlpD95jc1LKrqWWBBIjL1i6E8eIrC9kdNKGy2bAWQhsVwrfeQ/Kff4VwZLM6aI3/AG9HLE/QLQTc4n1RvdXn5bJnbSsGwxcFSCqD0JW+aF/NE3u8K5WaBFw3jdkRfSJ+aF/lJ/kapkbc7FR3D2N2v3Ohg3jFAyQtospSEyV90g+Yexr13dXuZMT+R/kc+fDS6+ZfmjjXeP0M7n2T1MnaT/rOAgLMsS2yUX+aL7/vSvoOv7njyaP5bHj5/b7V1r8yMLsOyZu7bvFg40ZbKkf0kjI1U8CWHK1d7eknDHgfVPbXbUPbux42z4yghADkSc3kPzGuZuTYtH2xsUrNF8rHzipAs4E6YBqSDzpiYXHiRGDg8eVMRS75gFJDIB5W41DLM7jbck87ahANevhQKSS2OqvaCTqtxt/bSAmIzIkbAg3IDE/xpMpFw8yFVVLHxIpFCyzxww6NqeNSxoft8jLEXAv1G9NAyeZ4EAN/mGoq0yWhss0BUWfjRIQQzlNAxYeccSBRIJBv1L5UQYJ0j28aOUhBC37Jjw+3M6YWWT0yisbaF9L61dNyWfP26ZXrSG+koaxcXu1vMT7NBXQzIpn6mu416V1JuCt2v463okZEy3Niq9IFgFDcQPEUgN59KPpLgd2xy7hvOXJj7dHMYIMfGC+tK6262LNcIik+BJrny9h1txR2dfqO9eXgXGf9Ncf6e90y7nBlPlbXlwIu2yPZZFdpbSrKF0bpVR0n21y9rLzrxjU7up1+FuXhsdx7K3GObERi1xYaA+NYdfIthdrGzbzfp8rDfHlayTIyNY+YAi1x7q9CU0edxaZzjcd/j2GXJxcxr5kFwrljd06QFcj5dVGluArgy57Jwen1+smlbwJHa3fu0ZytaUJIhI6SbaW0qMfZ4uGadjrN7ao1OF3BjyHoR+q3IG9dVOwmceTrtbllPHgbjhyYmbBHk4s69MuPModGB5MrV0ymcqmrlHIO6v8Axk7bzchsztnKO1Sk9X6SUNJAD/y2HnT9tZXxyd2LvJfUvzRy3fdn7t7RzBhb3jsFJIiyOIdR95HGjj9teXl62p7WLtp1mZr/AALztr6h7nhPHEHLxmwUMTax/hWCo09CslaXR2PaYNp7g2bIwtyVclNxjeDIHNUkHT0r7db16fTSS5P6jx+yrVtC2Ph/d8FMHdc3Bjk9dcPJmx0lHF1jcoH97Wr1bbnjtQ48iMI7njoNb8tOX+3GpEFWEk6nU8D7eFAFni4UcMYeQXIb07afMden4c6UjgtGzwIQ+P8Alhj6cZTQlvvOdNRbQUuQcSLLno0z2kJVh6cBvYqgHmNx40SxwQ3zlsgjBsQUx7/gHzOffSgcgf1DNInoE9S+THH/ANT3poTYbFwMiaRfSUmOK56jwL85G/lFNIUms2TtZGmBlLmNT1TkW+bm2p+cjgOQrWtTO1je4Wz7PiYohnMOQzoyuvUegx2uCSoJ6P2tWqhGe4HK33DR4VVEZw3/AEyadDlSLM5Fx0Io8o+2pdioApuRfKP6OL9TDK/U6nqBmnBsHbU/lDlfSiQg1GPvUpczLkXlFo8nOAQ+qQOnogUiwW+lwNKtMhotdr3ho8wY2elmRQcXbYnuVJ16pmOt+fmNMk1OLnpJcBA84F5bXCo/HqueYt/8KIA+a/8AtbIv8h99q5funV9pgZu2MlVPkI04W5U/uoTxshTbJkIWPTY2+2qV0S6EN8WReR04jnVSiWi97Q+n3d3d2T6Oxbe08INpc+Q+nix/45W0+C3NK2Stdx1o3sd67O/8f+0NhMeV3DJ/3Fuq2YQsCmDGw8I/mkt4ufhXLfsN7aG1cR0wzyGJYkAjgjHTFFGAiKPBVFgBXM2bJDLD3+NBR7T7aQhR/dTA8SeFAhhIBuovegcHieXD+ymIQkfDlQA0k2te/toAQ24c6AByAm4AsD40DAOv20hkWYEk+HKpY0RJY2I8wB01HOkMq8rHVtLfbUgZnedvDKehel1N4zyv4UFTBmiGIHI63HtqhzJCy4y4Ps4irRDRm93wMeeFopkEiPoUOvxFaqxlZGJy4ZtuJj6jNgnhfV4/7RV6MjYr8kcGBBRtVccDRA5IpAoZMiXHOmAhFAhCvxpgN5UAJe3GgR4gGgAZHLiKYzdfTv6tb/2hlRIZHydtU/0b3eMHj0X5fymp4taopNbM605xd2kTvz6bZIxt7iHXn7XHokw4v0xnx+/GfhW1Mqej0ZnfE1qtjQ27X+r+xsoH+ld2YFpJYoz0TpInCSJ9G6bj3jga0MWpND9OPq/ueDuUPZP1HYYu9E+ntO9OQI81QbKkxGiTe3g3vpCTjc7I6KyvFKgeNwVkjYAqQdCCDQXBl+2vpp2Z2xuGXuOy7ckGVlszM58xRW1Mcd/kT+Vap20giuNLU0pJPGpLEoAZk5GLiY0uXmzJjYsCl5p5WCIijiWY2AFDcAfOP1i/8js2Sabt3sl3xUcdL7xGL5U/V93EQj8lLcZn1/COdZfdTU+Bp9pzDOQ7N9Ot13WUZm8Fj1EssNyxudSWY6ux5k15uXuJaVO/H129bGsbsuDbsZ/URQgB/K8QR96uelm2dTqog+gOxd0izuzdnkVAOjHSOOMagel5PN7rV7eNzVM8XIkrODPfVX6y7L2DAMZYxuPcuUnXi7WWsiK2gmymGqr+FBq3sGtNsVVJwFe4N57k3cbz3JmPuO5Ekxdf9HHUnSPHi+SMD2C9ceW7Z6eDEka3EZXUHieArnZ2ouMaJLdFwP7ayZskRd1xVfHOmqi96ETZaHI1yNw7d7myN3xJDjxqXjlIbp9WGZemSIr95Wvwr1MblI8DMosynwyJBdRZbkhfAHlXUcwd9SoHLhQKCXCtr+NAhGuWGnuFUBILFYwhHxpAOnzYMHHBmA9ST5LfMKcgU0OJlb1nxwYil2lYKgGtyal6hMHf9j7Tx+w9v2rBSHEye6N8LHH/ANQlONioka9T9coDWY3so5mq0Rk22dDztlzzs8AwYMYbzlssMixyh0xWYEs7g2ZlVRcFRrUWtOharA/bOw9r2nB/SwKZXYmTKypNZJpT8zsf3DlQqjbHP2via/lgX9nGjiEmP7l+hfZW+B5Hx22/Nb/9Mw7Kb+LRnyNRA+Rybub/AMdu9Nr65tsKb5hLrfHHTkKP5oWNz/umlxTK5s55LsmZBM8M0bRzR6PE6lXUj8SsARWOSjr4aG2O9baeIqbVIdGWw5EVzWyI6a4wi7PkxsGUXH7DU/eRaw+RodoijI9KVRc8Qf4Vy5HJvVNGt2vtudGWbAe5/wCGePwriy5Y3OvHVM22zyxSIMfcISjjTXSx8QeVcN2mdKrZbGpxcXIiQCNv1EH4H+YD2GsnISn6MsIQsidJ/MXgYm+Ye6hWTE6tDJcRAmg9SIG5R/nX2g8aTcfAa/QROpQPTb1AOCnRx7jWqtp5oi1dY2YKLaO35N0O6HbY/wDU2X02zlUJkAH2jRvjXdg716abo5s3XrffRlzBtyshZG9dU4kCzr/jTiK9nB2aZdnqeVl69qb7D3hHokGxBroMQKYkyx9BNw3CiAIuS3odKyeUhtDSADvsw/SKXBsw8psRf4mlZMdTPfpY54hZ+kDjbnSG0SMfEXQqCOn9tKQSPMqEmIaE0iiZhwtYxsug+9SCR8uKpDW1txvRA5PY8jRrZQRbx4UAN/VtJL6ZXU8xQASSJgodjZQeFKByEi1kDa9I4CqRJaxCNkFWIyf1Wn/SdtRJGwWSeXqBIuAEF9avGibM4RmTOh9ZDYgk9S3Fyo4/aa1IKnLDsnUwPCzMpHPW1uVAEE+s5PM8yLXA8f7qAPpf6CdsH/s3asySZgMkzSug5kzHpa/uWvPv/wBrPYxZuGBVLP8A8hdv6e3sKWED8mYJYcbOp4VOaFdF9bI3jtPoYLsz6hNgbYIyOqQn05jfWN1GhI/CRrXBfG620OtWrdS/A1e1/VPPyJ0x+olVYdUlrFx4AD/bxqud0tw+zjfgD+tOak2zbfv+MnqSYh/T7hGvF4H1BHiY2/ZW1rK/xMcE0lPY57t2Rts0KZGFlBC5upVra+BrmtKcNHXWGtDYbB3ZlbY3RJGX0szXu1KuSNib4eRt9r+o2E9hJMVYDVW0rWvYOa/Vk1GF3XHklTA4bq4m4sPbW67Rg+pG47dV2rujCl2bPxEyoJdVSXy9BGhdXGqsPEU65fuvilqSqfa+aTn2X2Vs2PDLse7RFMrCe2FnQ2WX0m/pkHg6kcjzrkyVdLNM66Z24ddjjW7fWLfNoyd42btuQCAyywruspu5sOl5Ik+VDx11tyr0MHUiLN/kcna9w5/Kq7eJy9E6jobsTxY6kkXJJ/aa72zyg8cXUvWflt1lwBcKNBoObcPdSkaJaI0T+pItmhQMDwHWw8oP+EVLY4GSbnj48kbQt1+mrXP3Sx+ZjfjTSBuCAc2d1Ci6JzReQP3fe1PiTIoD3frPCxlA5DlGvt8aBkuLH9QasQWsJio1QfdjX30AWeDsxMnU9inTaynRV+PLxqq1kls2u27NDhxR5cyMnQAspHT0k30AQ/MdflPDia1SghsLvG+wRlsZIlSKK3V5RZbnqVBzYfiP3qOQKpQZ265+Vkj14yBJZXdD0KxtZI1AtY+wVLGSMTbXeIzqsolJCzoBZengsMQPFj96w0ogDQx4MskEpilZJIVWKR4lFum1xixEEXYt81UhNlhiDcIstpmxkXLx4wFBYejhRfKWYcPUvVohov45MfLw45opmgwlITI3CQf9RlPf/LX8KkWDcuVWmSzSbbDlosDZIaOCWwgwYwS3Qv3mPMN7fjTENx+38boF0FeLLPYSCSdr4bcUFqnkx8UVWd2TiOW6VGv2U1kZLoh2zfT/ALPxphk7pjncZVN1x3JTHB/mUav8ap5n4C+yjocG+KmPHjxKmPjRi0UEKiONR4BVsBWLuyvtkmHdIm0vfx50lYTqTo5kfgdCNKuSGgn3bcxTA9ewPP20CEJsLcjQA08f7KAGkj2fCgBWFx7KYhutvCmB7hf91ACcAbf30ANJFudAwDLpf7PdSAjSWA0vY8qkoBIhtxtpp7aAIGQhF7ak8qhjKfOhjK9J0ZuVAzJbvguknXE3QHPmB4dX8L1ScAlJSZgdHCt81tQa0WoNwUecnUCw486CWjJbtFcty9tXJBmJ1kx2YxWKN88TfKf7K1TkzdQIbGlNkb0ZP+G/D4NTgkSWKWM/mLa/A8R9tIBg9lAHjbn9tEgIRQA0rQAmtMBNKBMQgcedASWPb/cW89vbgmdtU7QyqQWW/kcDkwoaTKVoOpbZ3PD3Pmw7529L/pXemKfUlw1YJ+oIGrxHg5PNedVXK1pb9SbYlbWp0nAz9l+sWOO2M/AOF3XFEXzcn0x6UUaMFMqliG67nRBqD7K6Kx4/T+Njns/Dx/G53jtnZDsWw4ez/rsjcv0UYjGZmN1zOB+JtOHAUm5Y6qFElqKRQ1kvqONAGb76+oHbXZG1DO3mVmnluMLb4B15OQ4F+mNNLDxdrKOZpOyQ4Z8q/Uf6nd1/U7PixcOJ4tohbqXDQlsSOS9wz2t+olTxPlB4CuHL2eCbu/yO3H1ubSqX3Yn052yBRM4abPc9WRkTasT43P7q8XN27ZH5I9OnWWNep0uHZMaCLyoCwFuv/bhWdRWZz36o71hdv4IRSJd1ywfQhOvSvD1HH4Ry8a9PpYnkfocnZyqi9Sm+nf1gl7a+lW6w2GTveLmGPbUk1HVlDrEjD8EZubfCvVbjRHmpctzjeZm5u4bq+fuGRJl5+TIZMnJlPU7ueZP7hypPY0rujSbXKyuutuGorksd9GbraMkXUsbnSsWdlTVRQiRQ6HWsmzZA8kB4tdSLg0oA4j9QMH0u4RIRpLGCvwNq9Xquanhd2sXK7CTpQDheuo4ibCpJ6jTgCSdRa1/dRBI5Ev8AmNoBwtTAkQ9AYyS/00Fx76AZms3Ik3HOkk+5qF8FReNS9SlojsX0U2fE2LZR3hu+PHJPn5S4PbOJNJ6Mckh0Z5pbMIUH4mFUtEZ3ep9Bz5O4Z/bjmbbsJt0lURPgevFkRJ6p6Uk6yB1xEnitRawFPi/Sj9NBiAb3kplwGN5Z0VAwZOIhcjrRCPL0kkW5VKoXLNs0C8hf99WKBv6UHiNKAgY2CvL7KBQIMNVN7dJ5GgIKzuDsftjuSH0962+LKa1kyQOidP8ADKtm+2mnANTucg7x/wDHzuDABy+z5o91gU9T7dl2TI6fwo+iP+w1lfDjv9Sh+aNKZb02cryMFix7W2a207vjybLuqHpbEzFMRvw8rEAV5fa6GWmtfnr6Hqdfu476P5X6ly3YksYLxr1qBcFdWt/GvGfYa3PVriTLTZcObGKq1+gG1+f2VnbPJbwRsbGDExMqNVlGttCONYWrIq5HUkRwZuBrG/qwcQfCsptU1+W5PxczEyiPUHRL48P21StV+hDpavwJc0cqLc3deUii5HvFU00TVpgo8eOQhz5W5Spw+I5VVPMLbR4BWhIP5gt+GVdR8apaPUza8g8QeIhwelhwlUkEfEVurw5M3Xw3LD9RHLHbLjtcaZMY/wDrUfvFd+H3B10vscuXqK306ME+NmYyiQp6uMfkmTzr8bcK9WmVWUo8++J1cMwG+92/rd8GHhEfpcVrTTj78g4gH8K10Up5nPex0Xtfc8PcME4Oei5GPIOl4pBcH3cx7xWrRKZWdydhPt8bZe29U+ATe3F4r8n8V/m+2sL49NDWtiheHJjgHTYMBqTWMGkkeHBmllBbXq50oCS4/SvDFbq4UxgJnYkekDfmbaUgAxqbgyA68hQBJSOK/VGBegAgjSRCJD8RQwQ/DCE2YAKul6lDLJYYBHdWHsrREs5t9ZcySOPCxkI0Qs4J49bABefGtqbEM4vnZELCRkYp1WDRkWBLseBFaEFZkibqk9FeoO1rDQDxt7aBkKaXpY+p1FibBgOFhQB9N/SvuuTF7X2DaxEYXgw4upXFmIYkhuk8mvevDzXtTI/ie7hw1vhT9DovfO2De+15S6FlQCYgAEno1rfNLqreRh1rKt3XzOH/AP4O8zMhlTt6FDuEjC8kptGVBv0k/wAa5/ucnDO/iqKWantz6Md4Y4WTNOEzHjFHOTb3XUVpbr2a0Mf/AC8a8/0L7uDsbuWfaZcEbW2SrLbySxkH3aisF18iexVezif9R86d1/TvuvbpJP1Xb+djpcnrELsptzunUK7sSfiZX422M5Ge4YCOhc6MpoPLNp9oq7Y0/IVea2kuMfu/ubDRf1eJJlRW0aSJ42t/itY1zW61Xs4OquW63Uml7b7+yMicQQRzw5DG6Ywa5f2Dh9grnydZrxN65vNHRNi+oWSuaY5QYIkVfXnYMOGvSNOFTjXAlqtvqM59U/qfOsU08EhTN3BP023KdGSEeVp2HLibe2urBieW8vZbnmdjKsdYW7OFQr0LcfL0k3PAheA+J416rPKQZliRW6mBDIBcW0Z9WpDBT7rEBKsS3DsrBhoPLootRxFJDlysmdup3Jv7dByOn7BTgAkEN7dS9Vz025XHAe5eJoBB1hbqVVAYMT6b8iR80nw5UATxhwmIMh6VXhfVhf8AzWHt5UkM0O3bbfpVvKbWhViFtIOZbmSPsqktSWXUOZg4EKOvQXLm8LDq1sfOBcXUHh9tXMEwU828zk+nA/qIW6cdWAt1HVmZuR8TUyOCdtuwZu4Ogs7lVPTdSSTf+qy8bfhX41aqS7Guw+zMTGxpEkWQzxr6kMbELIRxdo25t+J20UaLWnFE8iWMXZscA4ZmfHcFAIj5mZh5kw/vGxPnc1MDkGcdp8gMsseIkVo5JceIyJiuv+Xjqv8AVyXHzEcKpITNBhdqTPBIuRAUVemeTbZGstib+rn5B8oc/MUveqIk0WFsGG2OjSssmRC5I3CdOnEUkX6MOI6vcU5EW0eVtGwwtmbrlpGuSESKN7yZU4J0VYgOsDXRbUpAnDD9MDlXktHryBlIW4PurNopDCoIHtpQM9+hV1Btw5UoAiz4rqSVuLcuVQ0WQxPkwyDja9QyoLjb94a4DHWhWJtjNBiZquON60VzK1CWHUjqq5Ig8ddKYj1tTegQ3lp9lMBC1hblzFAHrsdSbCgBvDiL34UAeJBHgaBDNBQMYwv/AG0AR5F4k6X51LKIrrcG50GljwpDIs63uCNeVSwRXZOOpBNtfGgZTbhiCRWjdbqw1P7jQBj8yJlkfHmUkpoWtx8DeqqPRlJuWPYeVOWjCta6kPQyO6Rtc9QsRzptEyZzLxr3sLeynWwmipnxxrcVqmZOoyKTIgFlPXGeMb6qae4ggEEp8p9CQ/cb5T7mogJGyQyRmzrY8vA+40hwN6fDT2UgPdJ1uNKJCBrLTQDGFvZTEJfkftoAXp+ygR6NnjkWSJzHLGQySISGUjmCKAk6R2r9RcfLzsR98yZNr7gxGB23urG0dXAsBlINJFPBieI41KbrtrX918CrVrffc+rfpz9Txv3pbN3AkWB3OE6ovSYHE3CMf5+HJwbTVo/mX3V0VurbGDTq4tudBCtfhw41TAgYW74m7LMdpyY58eCRoJ8uIiRRKnzxpbQsvM8BQmnsD8jjP167A7P3LPwbbhPB3BlMDk7ejPIMqBeLzMb+mE5WIB4Wrh7uVY68l9R1dSjtaP6QXbHam37biRwxQiLGAAFltXzjdrubHuaVUV0NKdoisDBZB7OdU8XkJZX4lT3Hv+P25tzZOSS7tdcbH5yyW0UezxPhW/S6uTNfjX835GfZzUx15W/1PmPuLP3fct0ydx3frOXkuS8hB6OkfKiculRoK+npiWNcF4Hz7yO/zPxM7LPkYskhgbSVemQEXVhx1FO1ZErFa+4TCW/SoIN+FRxLVmbPAKmNWXUMA321xX3PRo9DUbNmdLANqKxaOqljfbDmK90tcEEW4WPjWVkdNWSNxgETddvLUpjaOXfU3ADtiZi69LmN/c2orv6VtWjyvcaaJmShiLHpFekeSTCiqLAXNAhw5KRZPZRIEiKPrYBbdI4+6gCs33clCmCHQDS4pNjqjT/Trtfb8bEl7o7jBXZMNlSOAAlsnIY+SIG2gJ+YnQULzIvbwPqrt/c8qTt1w+z4WJlRxF8fbYsvHyYZIubo6hVKr98caVrBVaECH6V482zjHzdwlhzZWaWVsUKsUbs/qJ6IIunpn5SpFZqhUm2xscw4sMBmfIaJFRsiU3kkKi3U5HM1aEFAHhTAd00Ae6RQB7poAb6YGo09lAzw046e2gCr7m7R7Z7pwjh9wbdFnxWskji0qe2OUWZftp1s1qgdU9zlu4/R3vTtctkdkbh/rW1jzNsO5NaZR4QzcD7OFc/Z6eHP9dYt5o2w9nLi+lyvJlRg9x7LnZp23dIZdg7gTyvgZ6+mxYfgc2VxXznc9my4vmr89fNHu9X3XHf5X8tvUuzjZGM1j5TxAPA+4146u6s9J1VkWWJlMwAI4cVNb1asc96upM/SY0tygCOeNufvqL4U9h1zPxPJkz4rdD6gcPdWdcjq4ZdsatqibGcfI1Q9EhGv94rdQ9UYvktwsUbRP02tfiD8p9xqk/Bkx4okLjre8Vhf5om4GqSa2FM7irGQT0Xjb8DcD7q0W+n6Ev1Mv353ZLsGAMbBkaDd89SqBDokXB5bcL8l9td/t2F3vy2SOTuZVWsbtnMtrjWNlIv4j+Jr6NHis6B23uDwdPLWw1piOobFvwdArte4sQeGtDQ0wG99pQTq+Vti6NczYY8eZj/+5+ysb0k1rYya4nTcRXAHjpa3KsXU0k9IVji6iCzjjRASDVh0hiOP3TTAYxsflsBqBUwMiHJvPa3QOdSMnRiBoRZh0X18aAJuNh4726Tp4U+ISSlxwX9JR8p40cQbOLfWLIGTv0sSsb46qgK8PILkXHHU100WhlZnMMlbAQtZxcLwNwFGtvCqJK2SM9QEcp4ki4Oo+NAGl+mvaK9wbrNnbupbt7Z1M+eymxdwC0cCk8S3TdrcqUDN5Bn7ljHB3/IcvPuDNLKrgWiWQ9UMemg6Y7Wrx89ud7Hv9avCiT8Tv/Z27nO2+P1hq4+HD9tb9e8qGcfax8bSjPdxRxdt7kUgX0sbJvNjHgtyfOnwNcPYr9u+mzO7Bb7tNd1uTe3O9seW6OGMgFyfZe1a4ey1uZdjqeRof+48fpJ6hcakeyupdlHG+swsfcOEw8zAD36VX36+JH/j2Ww2bd9qVSSFYHncW0qbZcaLpiyN7kHNPb+44LLNiwzoy36HUMNRWX3KPZG6WSttzAbFt3ZG2bpm+liYyQozl2ZFZgLebzm/wtRfJVHbat3RGAyW6wUXqYTOzqGOgjW7FmP8q1ybslnCN23d9y3KbcMqQsXZhD7IxpGqjkAte5jxqqhHg5MnK0srpNwAW0S2FgpNXBEkYtNM12NyQb0xBIoBxP2+zh/cKAJUMdyFtc3+U+P/AOqKljJcIBNrEJ0/NzEQ4n/E551LKRLTHkDOShZja6aafhS/gPvUICyxIpvTD3XquSZCNNOJVeY5CqETRlmCJ7EoxW7XAPTGdLewseNACYsG4brlxhUKs7BQyaMFJ8q/4mP2VSUibNpsnZGPhdE25NFFMpLGFrhQYza5IBHRqNfvGtVVIydvItMjvbZdmXoiRpoJbfp8ZxYSSLcerK4JcA+A4jjpQ8iBUKaHdt03rIfFwZJsuF3AynGjzMCPyo2Y6RqOOug9tKZKhIvsPZ9mwIZczec042VGzQTKuiJCov6MTD5VA4ganhpV6LciZ2DxfUHtnt3CiaRD6qRlcDEhHTOwY+X/APx1IOgW7HizVLyD4Njds7u7inTqkxYDj9RmxcfIJjwsRbX6nNi07/7pF6OQOqIGX3suDkDKh3PJ3fdpiE/UyoIookI8wx0PV0nkr/NSdxqpX4fcPTuiZGNEYppg/qsx9R7nQH1JD19XtpqzE6n0bMgK15zPSRBbC9WS3KlA5PNtzoeHCpgaYSOGwANQUBngAB0+NSykQXwxrccahopADhFdV0NZM2qw0E8sBFzpU8huiZdYOer2HM6VrS5jfEWg1GlbKxg6niNdDVGbQlMQxmsTb7KUjOe94/WLae2+6Iu32xDPIoikz8x5RFHjxS6lhGFeWUonmbpFa4Mbu94M8mTh4G227ddr3SB59sy4s3GjYK0kRuPMOpb8x1A3FTfG6OGOl1ZSiV93wqShjE6aW9tAxCfbQIE4004cqQ0RpLDlrztSGRnXjw9nhSgZClU6qONSMg5UdweQFAGf3SFAjTdPqALZxbiv9ooGjK5WMsiFoNRx6TxtVJg0ZXc8RWDWWzDj/wDCtUyGjJ7hAYmPVoDw8DVQRJVzQB9V400wIEsbK1iOFaJkNAn8x14UEsfHNLEvSLPFzjbh8PCgQ4JFMbwGzc4W4/A86AkGS6MQwIP4TQMaddR9lApGn3UAIQKAEBI05UwFsDw+ygUDGW+n20AaXtnvnN2jH/0zPjO5bC7BziMxSWBxwmxZR5opF4gipdfGuj/iUrLa2qNdj9/fVDcseTaduzs7d9qclcTIz5n9Qx8usAjqI9prlz3p/VaPRHVhx2/prK8wnbu+fVr6by5TbW7zY+7IVmijTrSOQ8HRCLRuvjani7eO6irgWXq3q5suR2P6a7xuPdf02hff5Yl7l2bPeLHmla07qdbSE/N6itbXjV9iiy4vlctbGOKzxZdUbOLDk6Aw8pI1jbUV43E9XlBB33fdv2Dan3DOb01TyxQD55nPBEHj+6tev1r5bcaozy5q0q7PY4P3L3LuW/blJuOe1mt048CnyRR8kX+J519n1+rXBTjXfxfmz5nP2LZby/yRH2DuvbYMn/SN2YR48o6saaUAx9V/MnmFq4e2vmlHZ1LRWGXe7/TrYd3xXmw8eP1WUmLIxG6bNyLRcGH+GsVZo0tRM57u30i3dIicPJgzZ1H5mPYwSg/yrJxq+aI4MrcPHz8KKLGzIXgyEBVo5BY+U2+IrlyrU7cNtC+252Qi/PhWDOurNZ23uTLuMMUhsrnp6uX21lZHRjtqb/Px73XiRw91YnQc679wXO15COP6RDoeWhvXV1rRdHn9ys0ZzjGPn6vGvYPCJS6sxvr424UCCLE7uLc+A8KAE3bMTCxzDGfzHHHnQw3IfafbOb3L3LgbVGCXymMkp5iJNWNJILOEfZe0YOz9n9twwegrqgEcGKFDNNKeCqDfU8zRe0EVRFwfpuudgbhLvExxc3dpWmaHCCxxQxsvSIipFm0+bhWSp5lmp7d2dtm2XF2ps2bcDip0DLySDIyjgDbko0FWkIswvwpge/dQMUC9AI8BbjQOBSKBHtBxoA9pwoA8Etw0oAeunHQ0DK7uTtPtvufC/Rb/ALfFnw/caQWkQ+Mcgsyn3GitnVymK1U90c7zvpb3l22C/aecN+2ddf8AQd0a06L4QZPP2Bq5uz0cHY1uuNv7kb4O3lw7PlTyZW4G/bblZbbbPDNtG9R/1dszl9OZT/IT5XU+Kmvmu57Rm6/zL5qeaPd6vuOPPo3FvJl1GXjbpcWI8eBrhredzpvjjYmdEeRH0vow+VhxFVbGrIit3Vkc4k+PqxJF9JV8PbXO6OrOhZFZFhi5YKhJfMp4EVrTInpYxvia1RNVSEug9WP8J+Ye6ttVtqjLR+jB7ju23bbteRuOZJbExV6pEb5ifuov8zHQVvip9xqq1kxyW4KWcD3Pdc3et4n3TL/qTG6x3uI4xoka+xRX1GHEsdVVHi5MjvZ2ZJxPmAtxrdGTNDt2V0dKg3I5UyTWbXurRlddONxQButk7gDBQW1oGmWW57NjbojZGMVizSLnksn+LwPtqLVk0VjDZWPlQZDQzxmN1NnRtCDWDUGiIzxNexP91SUgDQzXK9V1v9lJgMGIyAvqx8aQD8YdIuRe/GkBMx2yTOxUhIwLg+NNDLGPIPotK2npgkt7qpasGfPfdGU/+qTTEssjSsSkgv1gHrN/A6gV1RBg2ZPPlmAaT0whQf1FIILMb++4oAFtOw7pv+6Jte1QjIn6R+ZfpijB1ZpX5AcaAOt7vs2H2b9MzskEnXJmOsWRlKDfIyMlwsh/lRV0X3VFnCbNMdZaJe6foj2bj4LEKZXE3qAXbrU9MagDkqDWvApZ8j6HioL7s3v/AB9tiTH3J/RljsipbTThrVVu6PQWXCsi0HfVvvXZd37QkjxMlTueM6T4TLqOtT5lP8rLoa0vnWSJRlhwPE2/A5Ts31Nw8RPz8iTCyCLNHIrFL87OoN6m3WfgbLsV2sTv/wAJ8Bcud1ie+oVSx+0WqfsWXgDy1ezDw/UWWdx0Zfq/yhWt+6k6MFdFkO8tymiAjkA4nrII0+NQ6lq1dyQ31N3g40ePBED0gI7tp1WFuXCiuJ+LJtkrMpFJtMS+pKQnTJMeojqZgB4DqJqrjV2yx7xH+l9i71nL5Zlw2hiYcQZiIz+xqrrKciXqZdm0Us/Q+aQDb3Afsr3mfPD1hHHw5UAFSO2nhx8fbQAVOtGGg6x8o9ttB8BSGFj6LA/dHMcQg4/FjSGTYE9RgALN8xB1sw1+xBSAssZI44lcvdehiS2hKMeBP4pD+ygY71JemzXDlgHFtVYfJCF4Uwgtdp2qbNkEssZ9PWSZhqpMfFvDpXkOdUkS2X+Pue1bSiGFDOzXdgB0no4sLkadTfe42qneBKs7me3zuSfJ/UO0rRxZZDWZifTgHy29p4AVm7tspVSHbTssmWTuO7TnEwekP0sfOIOFwBwJtx4+HjTQMttw782zZ8GLA21AmS7HpcIfUjhNrAAcWPj/APGq5+RKr5mcy937k7ozAVjMOJB5YYzdlW2uqDQtz150Q2GhY7cuJtTwzhP1O5Ndps/KHqBAOSo2ilfCiGADO3vec/1sqZ5C0xWFDZlBS9r9I0saTTHoSdvx/XyI0lMiLij5gAmtrAWOtCQmy0iwRi4xKTKkjyEqeoAge3j431q0hH1EytzrzJPTglYWKCeo1qjNkt8VGB0oaJTK+XF6WJtzrNo1TIs0Vzas2i0CEAJseFTAxxxY+mpdSlYhZcCBTasbI2qyLhSmOW3Ks0aGqwnDxjwroqzmvUM629tapmDqCI9vxNUmZtDCPtpiPlT/AMjMIQfVWeZfK2Vt+JOrD8SgxGx/3K1wuK/mRdS/yK76dfVHcu3dyhGTP0xj8tMhv6ZQ/wCVkKOMfg3Fa7q3rdcbHJajo5qfUnb3cm3b7imfEYpLGAcjGYjrS/Bhb5kb7rCuHLhtjcM6seRWRZFjy+2sjQaTrpQEDCCQT9lAwUikqbaWpMCNIumo08aQEWVb8rHw8aTGQp4wb25+NIZW5mOSluBHKkBk8/CkglPQB6d+qNeduY+FMpFDueJHkEsv5Up+w++rrYTqZPdNrHmWRbG/EfwrWrM2Z7J2xgPKR7DVSRBWzQEaSctKJGQJIekmx0q0yXUCV8aZEDWQH2eBoFA5crIUdLgTJ4Px+2noAT1sBv6kckR8VIYftoGe6MBvkySvsdD/AApCHLgNJ/SmikJ4ANY/YaJHAk217hEOqTHcKPvgdS/aKEKCOsb3sAaJHDJePteVOwHToedRbKkUsTZs+3/pbk55SaZiYOLFdSPeOYrhze4KuiOvF02zvHZ3Z2DiYEeI0Qsi3SZeN/bXjK33bts9NPhWEa5NoYFccY4kaTyq6C5PvrenXbfFLcytmUTJkO/9pjytth7a2WY40SZaZm67hAB1SZEZ8iKRyjrsy564KKldY/icuPE81/uPQ1mZvGLsHb67hu8v5cSKpP35XI8qIObtWHUw3yNVqtX+JNexkpROz0qjhfdHc+4dx7oc3M8kaXTExQbrDH4DxY/eavt+n1K4KQtX4s+W7PYea0vbwH9pdkbj3XuJxccmHCiIObmWuEB4Ig+9I3IfGn2Mqx19SupgeV/7fFnZM76AdnZ2yx4WdjsUhUjEiDaxlvmd2HzSNzNeZSuvJ7s9HsZqtKlFFKnI96+iv1B7OmfJ7U3CTIw1NxiyXcWHLpP8Kp0OZZIK2H6pT47DC7z2doHQ9JylUsoPjceZaydTZXIHek/b24w4e67VlDIjUlJB1AsoOq35/bWORQjowvUqIpY2KGGxUi9c53Gg7e9LIzo1LAPfhw19lRc1x7nTjBLIoJYlgoF+FYHWjN924TZe15EBXzmNrG1vMBVYrRZMwz1mjRxPHN1W41GhHO44170nzME1FBW4GgPm99MCZkyphYglICuRpQSZvHim3POu3yXux8FGpqStj6L/APH/ALVwtm7dzu/d2X0V3H8vbeseZMKI9KlRx6pn4eNNuEQ9zrHb+25e4Zg3/do/TkIK7ZgnUQRH7x/nbmazSnUo1FrCrA8EFAJCnQcL0DPKL0CHdNBR46caAE6b6jhQKD3KxoGL0i1AoFAoAcBSGOA8KQDcvMx8HEly8humGEXY+J5Ae0nhQKYPlv6777m5fekWRlAy40OJGqiI9T4zElmV1Gt+eldODPWq4s5L0dnyRD7Z+p27YUEceQ43bbuCB2/NQfyyfwauTu+x4OxLr8t/Q7+r7tlwwrfNU6h253XtG8xlsGe8qC8mNJZZk968x7RXyvb9vzdV/Opr4M+gw9nFnXyOH5eJpcbIDWHjofA1gosNpoOmFjgN0L0ltdOH2VnbBV7FLMxqHJgfTW54UqN1KslY5L9Su8P9d3NduwyP9OwGPU44TTjRn9qpwX7a+n9v63CvNr5rfwPE7eblbitkZqFQFBPA869FHGT4iypfx/dVCLLFkIfmAbaUAXmLkEKCdPBvbQKC523c3Rh5vf7KBG32XuADpUtegaZoMvE2/escLN5Z1H5WQvzL7D4j2VLqWmYrd9nzMHK9KcdJ4xuvyOPFTWFqwaVsQQjL7+dZsslQoekqbdBGt/GhAwTIqi0Y14GmKT2L6TEq7W6TypJDki9z5ksXb2VDiqTNNaNDbhfUn4AVpi3FY+et5we5Zd1GJjQyZ24ZLWggjbqJLm50Gi2510QZG97b+hqyomX3TlSfqJCC+FjsI0T+QyDVj9gpgb+Hbtp2PbUwtnxosDHJ6TZQW82hd73Ln2E8alsEjmX1F3VNwwsTI6XjihzoZIIRc3VG6RLNfgTwVffWWR/KzfDpZFxh9Lfp+rzQoB1X5HxrxOJ7vLQhd/GSdcU7Jt5zs7qIy40vqhHlIPC4rSqT3JloysvaX1EmxjIvbeX0twHlP8atVJ5fiSrxfpR9R91y/SG1/ptbO0zAdN+FwNfsq1lrXREvG/RI6Btn/i7JBiHL3nciCF6nhiFibDgK0m7UvQitsScL5mDwPpp2pt7sZZ3WQhryK5HpWBINjowB49XGsctkkdjx6OFBm+tj0KpAAFiR+2sWjnLDbIBISDoBe3vqbF1RfbZjxrlWfQcbDwrKxtVErv8A2c7t2Num3wn8z9O2VF082x/zAvx6a26tuN0zHs05UsvQ+X41BUHxAr3WfPBVvYjx0FACrofYOPjp/fSAIAfKCdNQW097mgJDwxHqDKLOflHIHlf/AAr5jSKJiKo6WC9KWB83EqDcfGRv2UgJuKJXV5OtS3Xpc9StJa508EH7aEMnYWJCkZaUqLKCoYkqPUOt2H3m/ZTAl5+5t6ZMU/oxo3pI1wARb83wA00pOw+JRZG7T5TTLjx3DDyyuT5Yhpc+AP2mlASExUx8Jf1W4P6hU+owkN+HyhgPvPyH3RQAGbuKPMAhSR4YVczZLhbkseCC/wB0cBTgXJEvacnt+HKE+UjZE0z9Thwbonh7KUgb3ZvqRsOPEVO2RdCEjrjKoXsb9NiNLjSrWVol452Zfwd79nuyxfoIo3kVjKGAKENqOogEKR41f30S8TH/APdPYj44THxBa1g4OgIGsfmHm8fGqWZE/bZQZ+Vsct4V6hLKAyPzAbija6W5UndDVWUk+5w/nsHWMRC0Zk8xYjgNB03AqeQ4Pqr1lJsDXlqx6sE7FmC2F61rYzdSWJbjjVtkQMKdQN6UDIWRCF1tWdi6sjqmutRBQ8Rk6UQEkHPxiVNqyujWljOzNJFJfkDXMzpTNDsucWVQTrVUsK9TQKQy3roTOZoG6ke32VSZDqAfhrVpmLR84/8AlHipH3F25ngf+5wsjHYjxhmDj9klaYPFfAyutUcrbtLeZe1v+5oIhkbYsrwZQS5eLosOt1/Ab8RwrdEsn9j/AFC3jtrLxjFKWx4CTA41kjDcUUk2ZDzRtD7K6a5E1xtqjmvjafKu59Tdmd8bX3VgiWBkTNVeqTHU3V15vETqR+JTqvOuLPgdH51/H7nRhzK+niaK/jx5VgbnuoHj42okBpuV0sB40AR3HO/GkBEkU3JPwqRkZ06iQulAEXIjBuddfCgaKTPxesEAWbih8GFA0zNZm3Ry+YflS8xyJ8KlWg1dZKDc8RgeiVLHQBjWtWZNGe3HbAqkj4EeFaJyZtQZvMgKaMLqeBpikqsjEGvR76pMCA6kEgirRDQ0IbUSKBGiJ1/bRIuIJ4mvr9tEigLFjCQ2I6fbSdylSQ6bUWNr28Kn7g/slptuHvOM4OFmPEfw8V+IOlQ8yKWJmowk3Rx/9lO3sbeYSfNLjN+nyLfDyn7Kh9jH4uC/s3WxotswvpwGV5Z917dn+9FuGG08PwmhvpWV6Y77W/c0re9d6m52J+y4LSJ3dtPpLqq+o8Z/3lYCuDJ7e3/Wv0Z1Lu1/tZp4vqD9PNtXTe03DIOiwbbDLkM3s0Xp/bV4elWn1W/Qzv2bW2r+pLPcncG9J6O3bdNtW3ygdUkxAnlU8iw+QewfbVX7KS40Wgl151uxuVtu2dv4cu87jkiHGw165EPyjwAHNidAK5qdW17JLWzOq3ZrWr5fSvE4x3f3huXc+5fqsgehhwkjBwgbrEp+83jI3M/CvuOj0a4Kwvqe7PlO523mtP8AStiN27tUu975g7RHKsMmbKIhK33dLmw5mw0FdeS/GrZzYqc7qsxJ9WdqdpbZ25tkOFiRBFiGgOp6j8zuebtzNeO5tblbVnrXulXhTSv8fiXEmvt9lMxI7xxuCCL++mBke7fp/wBub9C65uKvqEWEygBx8efxpNSTsfOP1E+kb9pw5mfiKGxnCj1U8o+e/mUaXrDIoOnA9TG7NHIZkIHkb7p9tclj0cZrdoxAc9YxcPcG/CsbPQ6aLU6tiMWxFNz6qDW/OsWjrroU+5sHZieBGoqE4Cy0OJ71hrt++ZeOB5C5kT/A+te9178qJnzPYx8btD8T0+kysfImtbo52Ue7Z0mdl+lGSUBsLVLY1odD+nP02ff90XY2f0IERcrufNvZcPA+b0erlNk2tb7q0bEzJ9I7Rgw7/k42UsH6btjbAI9kwLdIkEY6VmZfwgDyD41mvmcjSNoq31t7qsEhek0AOAFBR61AHukcuNAHiSBwoA9xtQB61AHj7eFACAfZQA4CgBwqQHC1iSQoGpJ0AA4k0COO/Vf6lzY4XF2mJ8ifU4iopYRjgcqTlflCp48aqH4GFrcnC2OLZEedlOFk9VpJbs4l0kLcWZ786y4ufUqsLYqv0eFDlytiaggK7C4DEcTbmfbXqdTE61lnNlvy2LLtLIll782TBwwWnWf1skrcdEKKerqI5Nwrh98z1p1rVe9j0PZ8VrZ01sj6HUqp05+FfAUfE+uvXkSkm4KSQeRrpVuSOW1IZlfqN3jLtO1/6ZjSA7jnoQHHzQwHRn/xNwX7a9HodX7lpt9K/dnD28/BQvqZyPGjW4toOVfQnlInw2vw0H+2lEgSQ/M8uA9lUSSoJfMLDzcLcqUjgso5mXpB4jnVCZZY+V0211Ol+dIRa4uc0TKQTfjpRIjXbLv7L0hm0poZsI58Hc8T9PlIJIm+1T4qeRqWikzMbt29kba/XczYbmyTjlfk45GsbUNVaSuAZX6OR5VAyRHHCgJPm8RTENjTEuWA0OpFAzmH1lmzc+Dbdq2vdI8HOyZ/Sjwrn1peshR5V16RxuauikVmXvYvZu39nbcY5Z23HecjzZeY/wDUlfh0wpxWNT48eNbIkvpcxpB1GZRYlSVOpYg6K/Asv3jwUUMDAb/v4YCbqPpRt6zPGrK7ovkSQof+KR0Qg8Fux41DY6mU38rn7Zm4fQ7yqxfHVWKsZVHWGdidUjIUC/Ko3NEN7d7tSXb4px+YrqOtPBhoy+wjhXm3pDg9amRNSdK7T7x2HasQM6AmUArORqff7uFYKzq9jW2LmtGXb/WDaYiALtcXNhwNa/ft5GX/AIi8WVeV9ZYkyw2NAXta725Vk733RtXBjiGWWf8AU7EysF5Jj0gjSMas3sAFRbNe2jHXq1o5OS7hlRzyTyKHjWRieh2LnU341SKyXkqJJgpI5DnVmEk3bsv0mDcS2mn9lZ2RrRmh2aT1soFhYE/NzNZs2qbDJMf+n5DH5WieMjhe6EEUU3FfZny6209tDasmbG3Wabc8aOKRMM4vRC//AO0ATF/8rTp8vmr6bTWU/TX+KPl36FKCQbDnWYx446fZ7uH7aACJby3F9fffX+LUgJ0SqwKs4AF/UbnbjIfifKKRRMSFnPSwVX6rKGNz6hGi24WRaQ0HxuklVjVEJukZGlok1Y3/ABMwpSOBs+6rjRLLkEA3bIWPQgs2igClqxykZXL3fLy2QvbojuUjtoCeJPia14pGbtIYZ+eUIDiNUHUVUX6m4XPuqYQSxcLFfOhcSyM0kjFkvqWYDh8ab0BKSbh4Iy5FjMpxNwiFleSyo1tNfaKUjgs27f3mGL8yBMiAm8jwsCWP8zHh7qIGMbadwEv/ALYswA6Oj+mgte5J8KAEGFnY4k9It0ML5OUL2tflbiKTQJkyBJZAkja48I6sdRxZzzseOtKBhXOSjGJ2P67JN5hcgRofHSgBplW3SD/0eKbINbu/IU5FB9hJfjXlSetxDxuRqTVJkNE6GW4BvWiZDqSRMLVckcSNNKGJpNjSAqdOqok0HK4AokmBkoVgb1LGikz8ZTeua6OijIuA5jlA8DwrKTfwNfgS9aCumjOe6glSJpetDJESQcfGkrCtQ4Z/5S7ezdudv7gq9QxM6aB28FyIrj9sdb4bfM16HPlroVH0Gyg/aWbjsAyx5jgqRcESICQQeINdJjJnvqb9IjiCbfO2YC2Hq+btaC7RczJAOaeK8uVCYmjBdq937nsGbHk4c7IoYP5WtqOYPI+34HSt6ZIUW1RhfH4rQ+pPp79S9s7txUhkZY92At06Ks2lyVH3X8V+Irmz9fjrXWpthzTpbSxsuJ4W8K5jpFPy6j3CkIG2p10HIUDI0iNry9lIAEiAi9qQEaZLjXjfjQMgTwg+U+P7aQFLmYR6mPT1BvnHg3IipsjWlvAps3AJQoV9ROdx5lpJlupmdx2uTzNDcgcUPGtq2MXUz2XhRMCCvS/MHga0TIaRQ5m2lTdBb+WqkiCqmxg2jCzCiQIj4cqm4F1NPkEBocUEXPDnUOxSoSk21G0tx8al5B8Tz7XIgv0np93CpeQtVJ+PtrmFZJB1RnTqH3TWVshoqFzt+K0TLdfWiPBhxFYXubVxpm42BYTZ1I8vEEaj4Vw5bm9cTRqsbpyCqpdANPEVyWoaK0FtHsuBJ5ZcWInx6FN/bqKzm34ZpKLzaNqx8f8AoKqDwVQB+ytsUvcjJYuY29M2ta+luRrtraDmtWTE/Wvatw3X6f5cW3I0uViyxZa46C5cQtcqAPZXb0uwseWtmcvZwu+N1PnPbO5dvyT6Tk4+QPK0Mumo99fY4+xWyPmcmG1TT7Ru02z7lh7vjIJp9vlTJjiJKq5Q36Sw1F/Gtcn0uDKq1PoP6f8A/kJ2F3nIuI0/+j72xs225rBepvCGbRJPdofZXico30PViTpLe2rIBst6YyNkIenxpgYv6gbLHuva+54TWAkx3Oo4FR1A/srPItC6PU+Ytmw0SWNW1a3UV8K87Iz2MCL7tl4jv0ombRPKviDyrK2x0U+o6VgyiYsq8QL2PP21mbyVW6RMspuOfEVmWzA/UXZoXxE3hE6ZcZhFNKp6WCOfKb+ANdvUyNODy+/hTXLyOb5fcIlEmKGF4xZZFFg9eoraanjuuuhL7T2juDcN8xsPZ4Scq6zZGQ0Rmjx4mNjNMFDdKJ8x0pols+ou18Hsbbtt23tHC3zG/TTyyZG8ySMUyt0y08zSNI3laBvu68unxrN2mPIUQdbx8dEjVVAWMABFXQWHC3sqxwHtppSASxFORjdTx0NMBdaQDhY0gPWv7qAE6fD7KcgITblTA9x15UAJbmKAEZ2XXp6hztSEFUXPvpDOcfVL6hY+14j7dhn1ZXb02VT/AFZB9z/72nGQ/CnMKTDJZvRHC13fe8PcRntIMvIkk65S1x1tyFuFl+74VePO42EqIrN+3/8A1CbItF0blkSdWbKp8iIOEae0/ersx0T+Zmd7Roijzcx8aKLGxYzPuOURHiYyi7FzoNK2zZq4q8mRixPJZJHZvpj9M5O2cBs3MPq79mgNlynXpvr6a+wV8B3+1bs2nwWx9h08VcFYN3ChGkg6W/FyrzVTU7XZPYHu+642zbZPuGb/AEoBcIOMjn5UX2sa6uvhte6qt2c2bKq1dmcR3LPy903CbcMs9U+Q3U3go+6q+xRpX1uPGqVVVsj5613ZyxYk+FuNWSHIKkH7vKnApH6mxB0pDDRSMGBF7g6GmInx5BYk/YKaESo8si9zamBMizNFvryJoEy3xdwIsOFgBSCDU7PvrIyjqsfCmButt3aHIiMcnS6MLMragg+IpQUmVO+dtvF/1m3gyYw1eEavGPEfiWsMijU1o50KAuA2hDDjWdbJqUVarThnpWRUE6kBOLqfD30xGHyMbtyXuXJ71hISXDgXb4cxx1DrJPWYYz80nT5bitaaEtgtx3yOCEPJ1wSZjdMGOX6c2dTp1SN/kxCx1rVskoN47r/ImCFHx1b9PNFF5fWcG/o45Ovoji7feqGxoyM2+TZZHSzTMZSpJ/zMoiwcfyQpotSUFxsm2SJkJcOf0s8jHhGlg0vjaQaE1JRju59r3bt3cG3XaFY7Tmkyela6rrYhhyotVW3Lrd11RI2f6nwwwGKZQqnVopF60BPEqdCL1x5Oo2duPuwPzvqhDEh/QxwmU/LaIuR8WNKvTfiO/f8AI0/bHfeybphxLuSJtW5aI4k0hlP4o3Py35qajL1XXbVF4e5y+rRl5lRuNYipR+DLrcewjQ1zaHTykhSQgXJBJ5Dn8aAIjYJlOg81PlAcQ0e2vj/mP8nv5Um5Gqstdryo1kX0iL+JA0+2oaNEy13HfhFt892KRxQuzA6kkKbVWOmqIy5EkzhPYGLFum5R7LkSelj7pGYJpQAZFa7+l0Mb2u9g3sr6fjNUfLu0NmfaNo5HjfRo2KNbUXU9Nc9lDNEOANtD8f8Ab2Uhh0V7KV0PVYH22uPsGtJgTYSkS9bL09ADlTwIH9Nfi3mpFEhshYY7MQGVfMTaxlk+Y3/dUwVJWZ2+oA8WMoJCiMNysOJ9t6aoS7lXJ+oynM8zEsxCgnQe4VZO5Jgw7C/lX2sb0pHBZ7fixtJ6csqIs6mMEDQMdVN6mRhMHGSCZ8V5+kXujxqeo0NDRNbFizB+mmhK5Km6ZjnpV7eJ8aUj3H/qt1wfyHlaaBtCkC/vOtqXwH8Sb/rM7WWaRseAWJx1JMsnsJ5XoCB2XmufTfJiGPEVAx8BNXcjgX8KJCBjvM0/qDpl3IgNHBFqsKg/evpeiQGKXs6ifojN/wBbmstiWPGNLcaTYQN9J5GULGVcDqxcdjbpT/iyeFDY4PsaNQFryz1gcr9I0ppkwPimcWp8hcQkuS9tDpT5BwBLMx0NTyDiEacBPZT5i4Axk9TcaXMfEJ6t/dVKxPEjZMfqKbCosi6sq2gMcob7a52jdM0e0y+Qa1rjZGRFuXBFbSYQRJ9Nays4NEjGfU7YY9+7OysFh1MksU6e+Nv7GqXljUFjTcHIfpNt+Vsu67rtUotDLKsiA+IW1elhycqnBmxOloNZ2nl7qIYY82eTK/VJLPHM4HVFJHMyPAWHK1it/aK6LryMEzEfUz6SLmmbe+2oQmbq+btiaLNzaSEcA/ivPlrUoGcl2XfM7aMxZoGZCjWdDdSCp4ECxFj8QeFbY8jro9UY3pJ9OfTT6sYfccEeFuMoTcQAI8hyAJTwCScAHP3WGj+w1hn62nKm38DXDm/psdH8wNiDfgwPGuNM6mNIBN/sFMAcy8TYm9ICMyaHxH7qkAMiE3JF9LUAQM+fGxIjLkt0gAsqgFmIAuSqrdm+FNVb2UitaNzifc/1umzMlsPtLCMkIcCXcJ1NyL69CHh7zV/ahTYSyNv5To+35ONuu14+fCpHrKPUH4XGjA/GuRs7SFn7YzgkC5HP7w9/sqlYTRltz2fruXWwvYOP7q1VzN0M9l7dNAT1AsvJvZVyQ0VWTtyuL26h7OVHIXErpMGWNroOpDSkUCjC6iCgs3h7ajkXBYYWG9wHW3vrG1jStZLzD2xZF+Xqtx91ZPIWsZKPa/UloiUvqE5GsbZTatR+34LY7mKYdFuRFZ3ySb0oWMOODJ0jyNyA0JHiDzrGxqmafZJXx+lJAWRtFbmPfXPZlvGmjXYWRHJ5V1A4jnSq0zC9Wi9wgLXFdWOhhaxP4rqK2aIkjTRBhoaztU0TOe96/SXtHufrfOxP0eeQfT3TEASS/L1FHlf41vg7uTE95Rnm61MnozivcPYff/Y7NL0DedkXhlQAv0r/ADp8yfur6Pqe71tpJ4nZ9sa1Mz+l7f39vUhf9JmnUrwPV7q9aMeX4nm8smP4G77N+tP1Q7AKYuYx7h2CPyiDIYs6L/y5tXX3G4rkydS9NanRTsVtufRf0++t/YPfEaRYGaMLdSPPtWYRHNfn0H5ZP90/CsOcb6G3HyNzKpsfGrJM33fNHjdtbtkyaLDiStc+JXpH7TUZNKsvGpaPl3ZMdZ5pZA1pMcqHjP4bcRXl5Ge5gRI26IR791A2aR1JsfE2o3RS0sdV2bEEZLgjqA41mbMhb+U6wyDzc/C4rJmiZnc9MfcMWbAyVBhyI2ilHiGFr/Crq+LlEXqrJpnFYfp13LLm5KR4c0uDgTiDI3L02/Txa2DM4HmsNbLXt0c1TPmcnyto+ovp92zsOx9nYfb2yb7hY+4bvKIt+3RG9PLnLhmtjdZ83Uo6V/B4Xod5M3U6Q3YfZ0uFjYWRs+NPjYfQcdZEDFTH8p6uJpwhwX6qOHIaADwFAx3TQA1jTQAyaYHg1ECkcL3N9ByNJjHD9lID3GgDxF6AEK3pyAgFEgLSAyH1H75w+2tplX1vTymTqdl+aONtBb+eQ6J9tXSrs4W5hmyQoPlufvPH3LcDNvcT4OSx6ce56scRg+RFf9rX4mllw2ruTjh7ErK3KXHi6cdlk9TzRk2YAng3wq+thdnPgLJeF6lFk5EG3Yj5WQbnX/E7n+Jr1G1Wss56p2cLc6R9FOyBDJ/3Zv8ADfcsof8A2Phb/IhPOx+81fCe7+5vLk4r6UfW9D29Y6J/1M7V048gBU9J5V5n3U/Q63jaEOO6akBx4jlWvgZycW+oXdSbzuv6LCcna8JiI/CSXg8nuHBa+g6PW+3Xk/qt+x5Hazu7jwRQWHlIHDl42rvOYOnSF83GhAPknZ1UL8q8/wC2nIoPRtpf4UhhUcA9XieFAEhZRpxtrYU0Jhg9gCptfUVQiTDLwJ0tQBZQZAHA8ON6ALHFzyh421tpQI0m0776bL5tPHlQI3ez78rhR1C/spFIFvna8ecGzdrtHlHWTH4JJ7V/C37DXn9jqOeWN8b/AMTuw9lRxyKa/wADlneSdxjap8Xb4S0guMiA+Wew+6gPGubr+4VV+OZcbG2XpPjONyjCbDvmR/2rhFYAuZHPkepLlAouCA9iOh7Ayc9a9XmrOVscHFpa7md3HdfWV29V2x5b/q9wlPVPkm5skV9QpNORFPk7hI/Qp6I5WjKRxLoMZPby6m8aQFcmaoZGhHzqYoEJt0J96T3mkUWcO4dfSsRAW36aHUWsfnY+N7UDLOPPjVMhInAxZumBYJbvGRzIHhf7KUDKvdNo7bnM7nAVXJVYyhuvV97UeNIehV5W37JhSy/p8RY/Oqxu+vSQLsfhQJso87I/V5BCeZXI4i1yxsAB7qpEsNsfdW5dvb8JVd32ppAMrFuTGyfKxUHQMvEWqc2FXUPcvDmdLaPQ7NMcOaITwMHWVQ0bA6MrC4I+FeK1B7tXOpWSFlayHzk6D20iwyyAAHNeyeFxb3a00gbgWXOjaBptsxZJolbpeZEZ1DWuASBYaa10Y8FreBz3zJeJk+6Z+6srFyMePb54orBZmkBWQ+oL/wBL+oeq3IWFd2HrKrmz2POz9hvRGq2mbYxLsOx4BTIzO2tvYRZjxeg+RuMqmd0VHAf0IA3TdvnckjlXo1yr7fFay5fp6Hj5Xb7qWxw+QuZnMpLSF2MvtNz1VhbdnWhw6QD4jh/GpGE/UxpGetukMOi/vNy1EDTAT7wWusSXYsD1HmF4aUuImyOY8nIJeZj0k9RHtPsp7ASIsNFAvYcwTqaUjglfombHRxGz+chm4WoGWePgCIpI8CFGPmDG1r6C499TI4JGRilEeFTAhYh4Wb5gx/ZRIEnHyIM/HaN50hz4FsTGB5rG5Iv40pHAPphyW9Jopsx0v0dQMY08aGxoJ6mVCDC80eIg0aKEdb28Cw41IzywtEGeOMYalT15eQep2vyVfbyoYJD4YYIU6kL48bgepnT+eZz4QpyNJtjgc0KRhYhBIiOb+kpByZQebt91aUhAvVdOnqVxFZVAN4IG5gEf1ZPC1ADjj9PWjK4UENN6pPUxPD1iuo/ljGtIIPr1jYV5p6ox0DD20AKqAHWiQYj8aGwGHy1DY4ATm441I0gBl6W4/GgYaGc8zxppkupPiaMratkzNoFkY8Z1qLIqtj2K4hPHTlWOxruWaZgtxp/dFwGzzgqdam+QdaFZkuHjeM8GFjWFrybKpiNz2VYM5smIdLvxI9nCujqZuLgz7OLkpM1ue35mTjZohy2Xbv62btagrJ6nqIzvHIuoUqpa3jwr3seRNI8PJRpkvZO7sSeSPEyJNLdMG4kj0ZSHdFDPpZ2CaeNO1HuRWxn/AKlfSqHf/U3bZ0XH34C80Oix5dvxcll8G586hMqDiOJmbhtGeylXgyIGKT48gsykfMrKf2itKXdWZ2qmfRf0t+seNuGLHt29TBSgCRZzm5TkqTE6lOQk5cG8anPgVlyp+hWPM6vjY62Lg62+HhXAdYNxfS5J9tAiJlT4+PC0+RKsMK/NI5sB7NaSUuFuDaSl7EXGx993cA7ZD+iwzx3PMQgkf8iA2Zve1hXfi6L3vp6eP+R52bv+GNT67L/M1nanbmFtEkkkfqZWZKAZtxyLPKSOQ5Iv8q12OtaqKqEYYb2bbs5MPuP0h7b27fcvNgxV/T5kjZCY6jpRC5u66cR1a14nbwWV250Z7XWyrhHkHfbceCIRQIsUY0CoLAD3Vys6EypysQoOGnL/AOIqZKkp8nbg4JGjH5tND7xVpjZSZuxtqoUE8ekniPYarkS6mezNl9O7IBfmvCqVyeJBO3orESr0mpdoGqSHzO19xwXQZmLJjNMolgEidPWjahkPOldtb6BVD4MBG8ptf7w8DXPa5rWs7E/ExXxmDalTwtrp4VhZyb1NJhYqPCshIF+FczvBrwkXcNpjyk6StpbeUjjSqxzBDxtiycUASD1ISePgaL3NKQXUKWjtx8CfGsDQssJHQq6nWlECblGm2/KuB1+VuddeG5x5cZao4YaHSu1QzkagRgPdfn41LoVWwCWEc+H21lahqrkOfGA1UceNufvFZtNamlWc+7z+ivZndHVlYyf6JvZ1/U44tG7eLxjT4iuzr+4ZMfjKOPN1K31OOdxdt9/9iSmPesQ5+1A2j3CG7xke0/dPsavpup7vW6iTxOx7a66pFR+i7e3tf1OHJ+lzF814z0sCOdv4ivSdMeVepwq98b12N/2Z9cvqV2ZFHBuwHcvb8fltKx/UxoPwS6tp4NcVxX6l6a12OnHnrf0Zve+frT2p3f2Pjw9vyzCbNyo03LFlQo8MaeboZvlYO1vlPKuDsXlQeh1sesnOdsiWPdspVuCY7DxPm0ris9D1aKLFnt2PGN2jJHy3BHtGutJPQqNTp2zPE+Myk2IOg+FRJpBUb+ijXUW1vWb3NEZJpLTkq1zfUVqloZt6nYfpzn/q+zEgjyYP9Rxsk42KuS6qkCzHyS+m1vUOp6V1JNel1r/JB4Xep/yN+Zp5fpr2XNtQ2rN21MqIEtJPLpO8jN1PKXWxDO2ulbuqOSDQYeHj4mLDiYydGNjosUMdyelEFlFzcnTxpgGKj40DGte38aAGkA00AwgimA21AgirYUmMdSAQXv4UAev/APGgBKcAeoYFR3R3Jh9vbTJnZBUym640LGwdwLknwRBqx8KEZ5L8UfInend28dybxLmeoJ8RXLJDJ5TKx0M3V90nginQLXo4cTovU4XbluU8E2JmFsd16ZCPPjTABvgDo3vFdEp6Mji1qiQseJg4wsBFFGDccgBrTVUloPk2zRfSvsg937uvcG8IU2TDb/7HY7iyzyA/OfYK+U9590m326/mfRe2e3utedtz6DTb0S1lHTbyleAr554U9j2Fma3EMUin+X2Vz2wtGyypmO+pHds21bcdpwZSM7PQ+sy8YoDofcz8B7K9T2rp8rc39K/c8/3DsJLit2cow4gzWIvblX0h4pOaI9V1HDnTgUjJCQNfjSGKjjp9njQA4S34cKADRnjc6CgAisb+zxoAOkoIsdDTkSJMJuLn/bwpyIkrMVtRID1ncOQt7X8pFAFph5rAKeQ40xQaPb93aJlHVwFzakM2uy9xK3SpbX30wLTeNlwN+g6wwhzgLJPa4bwWQcx7eIrj7fTrlUPRnX1u1bG9NUcF+q20z4k6Qbijo0YuccH+s1/K3V95fbXN0cVsadLeB0d26vFl4nJc0Smb1OnqyD5YoB8sQ5Nbxr0DgKvJl6leJnKouuXlDQufCgCLGZWZmAHrTKBGo06Il5291IaDLkAL1RjpWL8vGAuPMdC2tAwqZ8mO1mPXHjqekL/xG50hjJNzkCcD5F63BOnWf7KRUFPl5MjAJ1dR4E8bs2rH7KaJYDFZBkQyS/J6qFwPDqA/dVED92Bi2eKBlvNi5WRBI3EBeoMPt6tKEpZk6/O2absPvbGhwBtO4yiNodMSZ/lKH7hPK3KuLs9dt8ker1OykuNjR5Xc+0wRmY5SG3MEE1yrFadju+/VLczUm/bh3FnjC29ZfSYMWlRGeyLxNlGg5dR0HOuuvX4qWcV+yrOEd3+mvbW7dtbeWTKlxZsyPpyolfr6UFiq6gr1E6s415CwrD/yLV0Q7YK23L7Kx8aBzMzESFg8kzhpXY3uSxN2bp5Bjaua1nbfU2rVVWhiof0OR3Rkby8RXJgX0489wS3ooDJKv4bga3+HKvZ6NWqQ9pPK7lk76HzluM0RzJ5YiTE0rtGTxKsxI4eyt7atmZAkynOimw8fjUgJBjzZMllBNzq3toAvMTYG6CbeYW6j4Dnc8qQyyj2dFIVLMX0JtccL0QMem2QoDqDLqOq11vakAXbMKGebIwpWN3HqR/dN+FvjST1GEXHZY2w5MNk6Cb+o1z1eIb28aTGgbQSOFheOFJY+Ekj3uv20myoGpIwKoJ4o5UuC0MXU1vHqANwakZOeKbIC+umVkBf82Mektud720oGNh9KJgEaGO5IVYF9acfEcKQyT6KIwdvycq5vLL+fkHq/DCvlFTI0j0eOyP8AlmQZDD5pAJcm3sX+nCv+I6USEBoMWBCUK2V283SSwkvylmA6pP8ADGLe2k5AOmLdwV1YDoiCgKYwTqI+i6xj3XY+IpAWGLszkqHtDETYAnz68So11P7fGiQPpgi1eYeokKp8aBtCO9taUgkA9TU3OlEjgG2QvPiKYoIxmViTfSpbKgjyyL1E30FTIQJHk+JokICrnlXAvVJktE6LKVx5jVJkxA9iOXDkamyLqwQyijanSueyN6uSSuUrjjUDgHIL6g1MFJkDNxxJGfxClsx7mUzsV4skTRn0pF0VwL+8MOa+yvW6meVB5fcw+KKjctigzCDDAkci+n62DZREY0LsZI9NdZP9jXq1ueW0M2DuWZUMe7SRx4iRqIsuQlWVkhR3WW/KzaH7aLU8h1sRPqJ9NcDuvH/W4pTF36NB6OV/lzqB5Y5iP/lfl7qgpo4EybvsG6yQZET4efit0zQPxB/cysOfAirrd1coh1lQd3+k/wBYoGxoto3Un9PGOmIrcvEL/dvqyLzXivLSnlwrIuVfq8RY8rpo9jsMORnbmoOyxLNA+o3SYlcW3jH96X/d09tZYunZ62+VfuLN3VXSvzP9i52rs/EXIXMyr7lnL8uTkACOM/8AKi+VPfxrupWuP6VH8Thavlc21/gaePBS4Mn5j+HKk7G1cS8dTLd1/VPs7trI/wBPmyGz96Okey7cv6jKJ4DrVfLEPbIRWOTNWqls3x0tfSqkqdk3/vnfs559523H2TaApGLtzMZssseDyyiycPuqPjXmZc9slkkoqvM78eFY1q5t6EnOwn6tEJXXUVz3o0aUsVGRi3AVgQRz4g1BqmQZMEKdQPZ7fcajYuZIc+CAp6kunHhqKJGU27HtrDITcv1ZnYdSelCGiW2p9SW+ikc7V14evKTZw9juqjaQTuX1O2IsfJj2+Ax5qKUimCydD2ujX1PTINDXTSqThHmZM2SU7MssDuTcNxjb09vx8ORIRk5ManrXEgOhMay+Ys3SToNBrV5NHx8SFe1p47DCna+/ukOPteQc5fP+ti6I4pY/DrPF29oqMnXrbdHR1+5anjJn9yjw9k3GLH3OM7P/AKhLKm04eZLG8siRWuzFNAD1WBPGvI7PSvXWuqPe6vax5EtfmJaKoDiSH05NPTa+lwb28NRXnNHa5ROxGhl6QLhh9w8R7qi1YEmmXC4qtHcjquNfCoknYgy7YUJaHVb6p/ZRxNll8x0BdLBhx8aUMuUy3x3UW1reiMbFnHIwIsdK6KswskFM+mv7K05mTxjvWuNNaqUyGmhAysDe3uNJ1Q1ZkeXGTW2l+dY2xmtcgJ7+k2PkIs+M46XjcBlIPIg1GqG0mct71/8AH/tzd2fP7Zm/0bc9W9EX/Tu3u4p8K9Lq+5Xpo9UcWfp1t6M5UsO+9mbqcTvTb5/0wNoMlR1wk/i6h849lfSdb3Kt1Ez/ABPF7HQdS3kx8ZssDDiWOGSRZulV6bliDcjxtXm58nOzZ63WxcKJFht5U7uJebnW3heua2x213NFkYr4uUHK6Hzq3sOmtTU2sbPt2QyxEyaFtQB7KzbGyp7wzooMWT+UE341NdWOzhGE2XKO444mTi/mX3XtXS1Bz0tyR0v6U7VsO+5e6bBvMPrxzRLkY46mUrJEbF0sdHAa4PKunrJNtM4O+nCZ23atsg2vb4cCGWaaOAELLkyGWZrm92c6mu1KDyybTGe0oAaxFADLcxQAjX/vpoBVUH30MBbcjSAW3hQB63jQAhAoAG8fULXI1uCKcgC3DPw9uwZs7NkEWLjr1yufDkAOZJ0ApCs0tz5Y+qPf+b3Vu8sSMY8ND6ZiBuFRTcQi3t1kPM6cBXf1sMfMzz8l3ZmJWK1jwrsRjI+TBx8gBZkDc0PAg+II1FEJ7jTaHdrdqZPevcq7QuU3+iYNjn5pGpsbiLqGjE+NeH7v7isNeKfzM9r2zovK+bWiPp/btpw9vwYcKCBY8SFQkXpfKABbhXx8Px1PoZ8tCYsMqL1wP1KPiKFi8asbvOlkQ9837bto2mfcs1ekwjyRjjJIfkQe8109dWyW4xr+3xMM0Y68p0/Gh8/7jueVum4z5+YerIyGLP7PAD2AaCvpKUVUktjw7WdnLH4dlk6l41Yi3kXGVD+YG6hfp4HUVUkalb1BixYiwGo9tSywMzi9xoo5UAJE3mub60DJCk8RwFAgit1E3+6Lg86YD43F+PxoAlwyXcLew9tIIJJYAE8fZTYhYnu3GxHCgCfA1tOfh7aaBhVzSjG3EHlwoYQXu27o4ZLNbXU+FIRttl7iAKqzfGqAuN92fY+69p/Q7pHcC7Y2UlhNA5FuuNj+0HQ0ikz5k+of043ztHcjj5n5m3ZZJx96UH0pRxKE8Y5P5D8Lik6+QSYHIiQrd1tjJcY8P3ntzI51JRAaOUzdIbpyHH5pBv0LakA2QkRq6i0cfkiUffZuLUmNEdyUPpyEELdmsef4akoBLMD8wvqGYcvZQOSNK+vj7vbxqkiWwTklOkcSbD230qiTVb9saTbDjbmsnRJIYYdyUC6hlHQJh7xo3206W0aC+0mTGyyuchYiJWxjdxH5rpw60/EAdDbhQrLx0Rj9yInRMte39j7b3Q4eHJnTY+6TyiFo/RMqF3fpSxA0WxF7m41rO97UcwoOqipZQ3qfTX0y+nGzbHtfrwuM/OeGSAZrKY+qNmOqx8FU20DXa3HWsE3duz2NWlXReBYRZRhOLJmko8azKIxw6gOnzW0LG3wrgvWHCO2r0kxPcvek255X+l7dIVhydBKttSvEKRxC824D211dfqy5Zy5uxChE3GixsXbRH5WnnVY8mEgt6Meqv1N90SqDw416yUaHmOXqcF797bTYt+ycABmiuJMNiCAYJNUIPOw0qMlYcmtbSvUqMHZHm6PIWDcW/sFZjNRt23QwQCQL+WT0Kw+ZpL26UH72qoEWxxArxwsil11GNHcg24k240xhJo4kss/lAJX9OnAgG2pHD4VIAZojHGsscRRmPmB6bhjy01pMpIqcwz42QuUGjhZTcxrqSPvLUNlIk7gcbcYUz8ZZcmWMBchEPSOkai9/DxpT4DRGtGOlymPD120N5W05gcmqCoJ8aMVUFpRACWErLHijXwJ1pFQSI8ZGT1EVSGOjfmZK346likYpSOA6Y8TrdR0qp8wQ9Cnn8kACkH/HSkICrh44JToKITqkVkWx/F0W/wDmeiRwH/T4iQ9FlCXICOR0gHjdQOm/tsaQwg/RwLdpGlI8tgQWtawFz+6gQ/HnlyMhY8CAx9XSnUfZx/3RfnwogUlL3J9QMTZWlw9oePO3Nh0zZo80ELA8Iwf6jr48B7a1pjnVmVsngj6yci1eNJ7cAmYjWhhABpDY1JUAGLWPjypOw4IkjHWlyGkA9SwtUtjSI0s51toTQimgPrkG5+yqRm0NTJJuxNVBIeLcOn73CqJZPj3RGXjSEQcvdAH8p0qLKS6sSDewpAJtWToaKxZ4+6I/Os2i0S/UVhflSgZS7tjoVZvunj7K0w3dbE5KpopIjFNaFn6ZYyTC4NmU+K+Pu517+K0o8DNXiyl3Lt7KyM/Lzoslo9yeMtj43SrQSsIvTLdL3Ut08j+6t1fSDEB293Dl4iw4eWn/AEUIMczyL6c8DmaRU6oxfy2AuL6cqq9F4FKxM737D2nvDbkZmWDcY0BwNzUXspF1SS3zxt+zlWRT1Pnnc9s3vtveXwc+JsTPxyGsCel1+7JG44qeTCqq42Jsp3O3fRb63SbfNFte8BsrbnNvSPzxsdS8I4X5tHwbiuuldtcn3F/uOO2FVcxKO6b19X+1MBhi7T63ce6uiyR7fta9fSri6maVumKEf4jf2Vy5c1cf1PU6cWK2T6VK/Yy+a31I7rkKb/uA7c2OUW/0faHYZDqeU+YQH94jCiuC/btbSvy+p206lVrZ8n5bItO2+zdh7egMO0YKQLxae3VK55l3N2J9tZcZ1er8zV3hQtF5F8rdYtJryq0/MyY+8sQYP+bCBfhd1+HOlZNDQGTEgdQ8JFm4rxvWTonsXyfiQMnA1IZLqeNuIrFotWM93S+Tte0S5GP1SSEhImVOsp1ffYcLKPHSqw4uVvQjsZ3Sja3OXbvPsc2O8i9z5O5ZUsf/AFkWIRKYHvb0plKKt/8ACa9XjG2x4eRNOXqN7BTFxe7NuXY8pu5ceO2TvUeXBLGmC66JIzOXVkjvfT7Kyd+O6g0rSbLXkan6z436qba99wt6nfGf1cfc59uhJDKLOglK+Xo1sC/GpTTfmzfs8qqUokqNv3/sKeLFjTG3WfOVbZOVkSv6PVyKeiyr0+4VrWtnMnJelElD1B904fbHc+yZWBjytmiDqMc6SvL+nmUXDKJbuo8bGxqfpehpjTTWu5l/pF3hk7r6nbe6yde4Yas2FOxuZETRon8SvFT4V53uPVSXOp9D0uy7ri90daxUeNFR0uq8CNGX3HnXhWbO5JMtYJen5tUIpRInoFZVRuI6TzJ4fGknA4kL6MbLqAwP3hWyhmabR4YxiF0HUnPnVKjRaumSY38otWiE0OLN40yTwYjXh7RTTBo807Lx4f7c6fJk8EKmSDx09nEUK5LxjwysLX91OUyYaPdFhqLg8+dJ4xq5lfqjv+DgdrHGlSOfJ3FjBjpKocIFHVJLY81Xh7a1wY27r0E7aHJ9shhLtMzWDKegHibDjXpNk0QWPEMNpr2MYHVf260mzRKDbSRpmbLgTpr1WWU+JU8PhUNmyU6mijwxh7cH0Bt1Ncc6zYLVnJvqZnZAxMnofpBThfmdAPfWuBamHZcVZV9t5rbPg4qsB1CFQedrC+vtNa31bIxfKkjU9j92HH752rIwnKZM06waDq8k59Nx08+N60wyrIw7TTozuWSO6+18iSRCdw2ssSwa7gXNyb/Mh/ZXraM+ebtVl/sfdu0btZIpPRyrebElID/7p4OPdUWq0a1umXXVx/dUljSL60AeC0ALbnyoA90+GlAHiTwIoAUUAetQB40ANNtSSABqSdAAOZoA+cfrX9UpN1yjs2yyH9DjMfzE++3AzH90Y/3vCunr4uWvgcWfJOngckgt0WXUDwr0TAkonUdeXEVRJHbH3HfN3g7a2cE5mSQMmcC6wx/eZiOFhXn+4d6uDG29zt6PTea68j6W7Q7N2ntrYMbasGNWWIXmnA80sh+Z29pr4bM3ks7ty2fWY/kXFaQW/RLC4aBvLzQ8KySa2NJVtyVD0SnqQmCTmfu+81pVp/EzsmvVHEfqT3ed/wB3GNjsDtmAWSArwlk4PKffwX2V9F1MHCsv6n+IPG7GXnbT6fxqZWNCSP211nOSlCo2g15X8aAEldmPVfXxoAErvd78+NACBieJtblQAYEW00oAIrAgc+fxoAKlhxPvNACmQAADS9ABI5GA9v8AZQBJEzFALXA5UAHx5FTpbmDoffQAdZfOSpPTy5WBoALj2MoXh7aAJkUjKzAHUUCgtcHcWQglteQpyBrdn7h6VAZ9BxpyI1EjbTve1y7bumNHnbdlL0ZGLKLqw/eCOTDUUwPnL6t/RrdO1mk33ZzJuPbwP9VtZcFToBOF4pyEo/3qTSZSZyp2h6WdW/LBPXLzkPGwtyqCgTzLcjRHK/lKRpGviRUlECZV5cBrpzbmbUDRGkk468ePiTQJkdmAB8BxPsoEPwpEfIjYahCW9/TqP202JHQNgzjDhqsp645V6JkbVSCQTf3ipLJORtez5GBHiRP/AKXPin1sMrZWijJKSHqPzK5sSrUcv0C2OtlDIm1bJu2LvOJnZmZABiZKsEiikVpo7Hrb1EBCEqdPbUNUgzx9dUco6rs31bXYttUT7Y0qwlkjZpkjVY2NwG0JHt51mkbtMyG59x9wd15uRJCiYmAckfqAvUuMPUso872ZwfgK2rhTcsl5GlBZ7ZJtmyuYYCMnPjmHROwHSAfKpkJuAt9UUVs7paIyVG9WaHacbJOMpnleHIab9NmygdUZcEywM54dLMOm3tqqE21KT6kdqnfNuGQkJXIiRmgaw/LZFv6fTfhbSt4lQZJwcg2+S2Li9IbgwYnj1XsY09v4jWEQbFnCGVDwSRXDdY4KG+6lS2MtcpS5CQn0vvB/vNbiLnxvwpMASzGQO8KkSkAytfqIZdDe/j4Ck2UkDnHWSr+RJBpc2NxqAv8AfUyUQpIJFEnpxKHLX6prXNgNR7qljRExppI3eNZ5ZoXH5kUI6VH+94HnUspEgRrBIVhkXHktdMeFfVmN9NXPC9IcQGikIkPSFGSDfp0yZxbhdn/LjH7qQyTj5rXWabpex6RKXD2ZuI9aQFb+yJDUsqQ4yZvMoXW1yX0ex4GzG6r7XZfdSA8M1+rzyELbpUAnRvAXALXtzAvyvRASE9TIlYenZeoEMLDqv4jkKALftrs3d96yxDjRllUdUkp+VRxJc+wCrrWdiLWjUsvrB2oe3Ppdt+57bk+XdpEGU1yknpkGypr5o2sL29xrqrhST80c7yN/A+eqQH6C3HOvnZPo4ATSLypcgVSK540pK4jCxtSY0iNOeNtKiSoK+Rm1NUhSR7OSTyFMcgpAeN6pE2QFj5TaqMmR5JT1Wva1USOSXTympY0R8h3ubnQUkDIjZSgWvTaBWDYm6+m3z/bWdqFqxf4e9KVALVi6mskqTMSZCp4GlAGQ3GGVM9YwjNCT1XQ2ZQOYNev0s0HmdzFOpMi3BZpxg5SXfRopUJ81xdWU8mtXpWx6SjzJ8BczbocqSP1Sq5LPEUzAPLMkUnX6bgcH41NbQMpdjy5cbHy95llkysPbZpMGCCA9fXEOiNSmvTodTV2XgFWW3dHamxd47MkOV+H1MDcIx+bCW5jxX8SH99ZbFxJ879x9tb32nu5wdxXok+fFyUv6U8d/nRv3jiDTlrYmPM6R9Lfq/k7VOcfL6XEtlmD2AmtoOpvuyfhfgeDVrelMyh6WXiTW9se30+R9IbTuOBuu3JnYD+pCx6WDizxuOMci/dYV5l8dqOGd1bq6lEuzKp6T0kchQDGu0hIZ9H/EBofeKADQyXbmCOdMWwVo0ZiUskh1/lb3ioa19SpPOkbsqyApIdP9vGlaPEFPgfPv1C74h37eM/BwNwycTZtmYx7qqHphns1go6T1SdR06TpXR16Qp8zm7rcJGPx/9Jwo5MrKiMWF1CT/AEaJvTklS97zyDgWH3RXRqzy4TepcZ+69v7xhp+l2qfadnLerLs2POY3MCEXDSr96RuZvas+L0XiVayV9NhMWVtjzv8AVO383Ow9m3FulNvyJzOqCMXWKT7rg3Nr1SUOHqGTLycLYnZGd2XnZf6ntlptvlK3mmePoUTffSbH+VkvzWxo4sV6JbEfAyJcCSXO2YjA7mxz6/QAskORGOLJ1DpdT+E1LsVi3RmDtLbV3fsW+Yk8OUM3KWRs/FBVHfK6mkx2QeVHhuQf2VGXWlq+h7HVbWSr9TvOM0OXjRObqrqGC8Dr+E18nMOD27V1CCJlbyE34a+FTA5jRho26wI5Bw5HlVJzoxNRqiXCTEQDqvtqkoE2mTYit/IQfZXRjsYWqEeBGFwvS1bOiZCu0AeGRDY8ORFQ6tGlbJiBmUm5BFQUKelvbQAMx2HC4ogJGHqUi1wTSiCtwiZLCynUDx401doi2NM5d9fts3LL2TC3fb0aVNtMq50KjzLFMBaTTiFI1rv6WSvOH4o581GqyjjeB3HIu4YMsjFoVHmW+nCvReLRmFc2qNNvndmO+Gi4rWBN38TesaUbOrLkSWhoNg77xcfYMCJ9Whmd5CdRZuGnsqL0cmtMq4mz3XvnbMuEGBgVIAVfbzrKycl0a3OVd95w3Lf9r2eG/lP6jLH/ACxqt/fXVgrxq7HJ2Lcsiqiz3Lbo/wDTWnJt1mxe1ur3eFRRm2SsItfoW3asPfsWRvedFjZcEZbZ8ac9KyTsenqLnygovyg8TXfihPU8fstvRH1ghNteY58CDXVJxGb3/wCn+z7pebHJwcy9xJEPIW8SvL3iqreNzK2JPYzx3LvvtQhdxj/1XbF0WYkkgeyUaj3OKqEyOVq7mp2DvPZN6ATGm9PK+9iTWST/AHeTfCpdINa5Ey8X/YVJY8CkAtqAENACWsdPsoAa8oQrcGx0v4UAKdaBHHfrp9UF2rGk7a2qTqzpxbPkQ6opF/S09mr+zTnWmLHzceBhmyeB88oWcli3W7HqZ+ZPjXrVqkoRxNsd6AL3DFX8RpRASD3HLyo2gwsFDNueYwjxYE1Ys2l6y7PYrho7WcQadfA8loR3H6WfTZe0NsM+Wevfc0dWdmDzKL6iKx5DnXwHe7Vs95e3gfZ9bBXFTjX8zocasACgCey/kb3HlXNWV6GjX5h7qGsAVk5qRf8AZ/ZXQsie6MuDWxgvqt3eu3bf/omEwXcM1b5Lof6eOeXsaTh7q9LpdVWtz8FscXb7DVeK8Tjqrw091eweaSIw2ptQA7rAFzrpSQBIWQm3PnfhTAZKVF+n++gBEj6jppQB4jp0+FqAHLYAEHUC3xoAerMLUAPUg3tfXlQMMrsDpyoEPjc6EfHl8KAJPV5VI18TyoAkWKoVJ1oAdA/TrfUUASg+o01t40AFjyehdD8KAJ2JnspHSdV5nSgINRtW+tGVHVc8/C9NMUGy23eo5oytwysCrowBVlYWKkHQg8waYkcV+rP0FIWXuLsKDqCAyZnbqa9A4tJgjn4mL/0+FPfcpM+eJMmM9alenWzqRZuoceq/D3Vk0XJHeYc29n91IYTCw/1Mg636IrjrI1bp59IqL5FUumN2LLesLDiN9rx2/wBPA0kc+pKTzMhHD3DSjHlVviLJjafoZvGcQ5lgfK2g+NasyNnsuV/9j4zfqsrBl1uAAahmiLiTNglhmhzYTNESwuNJAqEP0g8xrUyURZ8KFll/Tbq8KtIjujhhZDbo4XvRI4CQ7VteOcmTNyzmyCWNgoVirAHjrYWoVxOhc5G+52YZIMWNcHEhN2ZSWMisNbDUC1rC2tDuw4ottnwxGggVOuPcE6MZOpeszAX9Q3PIkan3VVSbM2G1SxSY6SGxw8qIbfuDqTdcmAdcciqTwIFr+w1vQxsTcv0J0meWORpIdXmBIZovmhkVTxVW0f2ca2TMjhXde0pt3cmdhx6xmT14engEn8xAA5dVxpUZNzSjBRSH0XitaPRmGimwFra/vFYs0SJ82UxjiLFm6LqC3EeXS5HLwqC0gT5DOpZbCM6etaxII16hwuKAgWTJhnQoT604HSCbkWX7wIqSoIskDGUiVzltbyxKbLce3+2lIwSFy/oyKQw8z4kFhcHmzjhUsaJiqFT0CugXqfExvKwXxkmN6kojosMotdBCnhdMZPDqPzTN7BTYiXEgWYySrIJYxZWktG4HHyk+TFT2/MaljCJGw+WG1yDZbqBzuOrqNz+N7ueQFASScfH9aUIVJ6iQAo528ddf38yaGBoMbZ8XbII5850QuHSDHv1EyIAQkljcNrqB+yqrRsi14OkfT+XdJNh7klwJRj4sOKyAKPMZ3W6KvgAiH3E110okzltZsoPqFhHcfpPu2LCJJ1wZopo06usRBIT6slvuC5UHxrbxgzqfLornNz9AJX0Nq+daPpERXYk1BoMItSkAMrgG16QIjyG/xqRkWUW0q0QxhI9M0wRByHCr7DVIbIssyhSb1aRkyqyMi5P7DWiRkz0eWyrxpOoSRcvPl1ApqiE2VrZMjEmq4kcgZyH6r3pQHIm4O4srAFqytQ2rcv8AFzg40NYupsrDsz8+K4NnW9mHGrxW4sjIpRGxNslyRjzTMIXxQBIlj5ghuCLeyvcw5vlg8TNjixeHGhYvp+XIPPH90niG9h91BmQMnARdvn2/ywQZFxHOqgKHY3IlAt854tz99NPURWzw7vBtuxYeVl/6ZNHNKuVPjkOgEcbvEGJHmTTzXGvvq9G2NMnZ20bV3f21Hjbvjho5l67oR1wzC49WFuV7XHIis3uaaHz53n2PvHaO5iDK/NxJiTg7igtHKByP4XH3lP7qCYNZ9NPqzuWxZkaTShtBG4kJ9OWMcEl46L91/mX2it3GVcbb+Zmpo5Wx9Odu9xbV3Bt/63Af5bDJxnI9WByL2a3FT91howrzsmN47QztpdXUrYtejTU3H8KhFMFLOUZRb3EUneBqsiLnJ6hEi6fttS5+YcfIi7/ubQ7BuGSgDehjyshHFWCm1Y3ZrjrqfGku5ZOAgcIrM98uRmPzOzG1wePTxFehj3k5ez82hoJN17kwsOHZ5MOOPA3cw7nJlTxf9RItrRdEh1ERGtuddB5rUKCZLugiWTLWATIJVDYoPT6kUJHUlxw69RepW5iq6k6buSLuBc0YW3jacGY+vt22hvU9ExaqvWQLnQ/bSuh3qplEX/Xf9LmbcItrgzsbPgMM0MzMvR6g0lUpr1xtrT3LokVm5brkbTEv6hyssS+pH1gqw6hobGxs4+2oak0pXxI3ZeLjuI9zSdJMfAV8j9OJCxilcFUvHoFZ3b28Kx7Daq15nq9Gid0/7dT6F7XlTN7V2uVwNYVXTxTy3r5jOou0ewWXQVt94ftrIchCIXFr2YcDzFVBOqHozqOlh1ryPOrUicMNGik9UZsRWlakzG5LjySCFca+NaqzRFqzsSfKy343HCt00zBqCDkQuhug6h4VhekG9LyR+vXSszUMrkWvrfjTTJaPHpJNuPhTEDcC3u4g8RSgclZn5YhVuqxUghgdQQdCLHQ0618hycN+oPY+yuz7lsgXBnLXOIP6Lseaj7h/ZXs9bNbaxwZ8S3RzWad+hkYdLIel4/wkV21UHK76FrtD9WIpkv6Ybl4HwrK61NsT0NMmfs+MIUheRyBchuIaudps7FZIg9nJlblu+fukqmSSR/RjY8Fjj41rmUVVTLrPlZ3ZqO8M/wBHDgxoiA1rlTfT26iox1NOxfSDonZPYHYPc/aOGmZjQ53UthuWM35gbjYuvMHka9alVxPByXcmhwtk+qfYSX7ey/8Au3tqPX/SMxrZkSeEMnO3hU/bj6WTz80bHs/6p9qdzSnCjlbbd6TSbZ88ejkK3ML1WD/Cp56w9GOJ1Tk2DDQqw0OjKRcH3g1exLMpv3062fcLzYQGBlk9V0/plv8ACPlPtWrV/Myti8iji3/vHtaZcbe8ds/AvaKe/mt/LLwPueqdU9iFd13NrsvcW1bxCXwZg7L/AFIW8sqf4kOvxqHWDatk9iyBuKko9QM9QIaaAMR9VfqNidmbCXRg+8ZYKYMPEg8DIR4L++qrV2cIzyX4o+VJZ8nLypczMcy5OQxeWRjc3Jvxr1cWNUUHnWtqMdOcdkfk3EH3itBIZn50G34jZE2p4Ko4sx4AVN7qqljrR2cI6f8AR76cZGGP+6+4YA27ZYBwsduONCeBtyZhXxPundea8L6F+59f7f1a4a/7zsELtbQ+qg/9QrzU38UdbqvgyQqIy9cBt+JDqp945VSpP0ku0fUQe4N6wth2SbcssXSIWhx2Oryt8iI3v4+ytcGF5LKqM8uXhWT543HPzNy3GfPzJPUyshy8rnxPAD2AaCvpaVVUktkeHa3Jy/EYoB+NUIICU1Go/fQAjWt1cL0hg1W5pgPGhuaAChgDfn+ygQ1jdiaAFQDp14UAKrFbDnQAYMuhGniKAHKbWIsSeJpDCIDTEyQGtray+3nQB4TN1AnT2caQwiTdQOvmGtxTEG9Vgb31pDFE5Nxrz0oAlwztoOfKiQJ0GYQQb38KALvbd8aMjz/CnIoNhtXcCuFs9nFjodb1QjA/V36JbX3qs297CY9t7qILS8Ex84jlLbRJvCTgfveNJlJnyluO0bptW5z7dumNJiZ+K5jyceZSrIw8R7eR51FjREnElKMCp6TyvwPuNYWUmlHDLvHyr2v5H5tw+3++ua1dTprYj5mx42UxlQfp5hr6iC6E/wAy8qunYdd9TO+BPYLtMM2GrYuTp1kmORTcMp42t766a3VtjC1HXcuYnBKroQ+muovJF02HsutDBMEZehJWAVi0Mbjq0Y28pvSZSClfXkmuQB6ayanS/Pja9vCpgZa4MkSyY84tLdBadhZQeHlHO3s400Jmk22DMMRSFXaTq9SNgq9TKBwvy/FYVpVEWZqtpMMGWIseIPi5SN+vnW/RE5991Fzcg61vUwsi6yiW9aFAYtzwlZoXbX9TgzW/LFzbjrWiZDOQ/VHDkG9YG6RyCWGeOTHk6bAxSQG7Rv4c7eylfYdDLiMSQxySm0JUr1E8T7Pb7awZsh8TXRkk6kKFvRRTdiANQR4GoksYuQbKcoFIWFkiX5gfELSbGhXJUMuSwWNtVSLVyOTC3hUyM8Lxr6DkY8DkEJGLzP7vC9IcBFx+r8hUMasPJjw2OQ2vF24W50mxhUxQ6SQkK0cd2MAYiGP2zScWPsFSMmR4saMrv0tIqBlcj02CnTyK3khT+Z/MeVIYRYJXf0yCi3DIpBXzfiF7kn+dh1nkFoAs8Ht8zQ9T9EETME9eQ2HUTZV1/Ef7TQILidzdubZmwwRwS5QkdIs+SNrSi0oDFHsVH5d7Bda2rjZi7mp7+xcDGz9uw5+gbhhfrIp8tIgiZGC0pbDlccA7qWVjztW9XpoZXNL9Kd7wMWDeYciNUxY8WHJ/R6kPjRsVyCL8GCSXWrS2MymwM31cTfsYEzbLLtW4ehAVBaVo0PTIzadLKtrn4Vb8ya7nysOFYG598CUsSK+dPpR6xE61LCQU46RSHJXTSXbwtUloaWP9lICHkyEXq0iQKy3FjQADJUMKaBlbkqyiwrWplYrJImdvCrkzaGPEyiy86JFBEkgdjZjpVSS0RZIyhOtqckNAHGntpCBByjeyiBotsDNFgvA/urK1DatyzhzdeknjzrPiaKxZ4WURIhJvc2NuXvru619Dg7VNSo3fu2XB3j0RPGYMZunKxihDOHbijnmi6kCvVriTR5NrwzTYmXhZ8HqYkqZMDjXpIOnDzLy+NYOrW5qmnsRs7D6sYwO7JjqyyQZK+aTGkQ3Rtb9SA+PLQ6UJwNozkGHu+wSTTBxkTwY4ECgmPEnM+WVBdVv09Ak8oHy+6tG1YEzRzQbL3NtE+BnwLkY0g6MzDc+aKQEjRhqrKynpYVm1BonJ8/8Af/063PtHLEqs2Vssz2xNwAsytyjmt8rjkeDUJktEnsP6ibnsOdCVmKNH5YnAuOk6lGX76NzT4rY1r8t68bbfwITdLcq7n1B2d3phdy4Pq4ziPKVOufF6usBeHqRn70d+fEcDXmZsN8Th618GehiyVyKVpbxRcyFzqTceFc7t+hoq/qNAMnlJuORHEU5EwWbh+vg5WGSbZMTx9Q4EsLC/xogacOWfG3deAdn3ifFljlkdQ/qJYDpfVAwvfSvQwuao5uwuNmVCb7miaGSbLllkjQQAyMzBETRIgWJ8qj7K6IZyWSZNbeMowOyEo6kkcxxv+2pRn9tFxund2duG5JucuDDtayiN48XFUpF0ooXqQMfvlbn20MHRDM3uCFNuyYne0YkLwrxPTL5gB8SamAVEQ9ky8ruvurb4M7KfK/IGOP1fU4VY1IWMdJ6uhBwPKneKVbN8VHeyqvE07YeBs+F/o+3ssgMpmz8lCSss/ALGTr6cQ0HibmuDJkd3P6HtYsSx14rfxO4/TuL/AP4vbLtZ2R36TzBc2rw+xrdm8l6wKki4DfsNc5aBtErHqAswqkAiyyx6OOejDhVKUJpMlRMknmUhX5eFa1h/EzcoOH16ZFsfHka0T8yI8gqllAsbrypxApkeJrixteqTJdQUuKr626XpOqY63aIh9WFrHhWTrBummEUgnqXQ8xQmDQrSBlP4hxFMgyXc5kETFNNPMPZW+Faitscf7j3MyTvfRYtEHtr1cdYR5+S0s5zueRGcwuR82knt99dVU4Oaz1NNsQh/TxY7C8pQWtwIPD41z3fiduJaQbPYfp++7bhj4mP5J8l0gjkYeVS99ffypYrK11VmuavGjt6Beztk3Lb9kaWBLPG8iswUOVZXPULGwPvpZHN2X101iXwMn3Lm7pumVNH1etkTBkgfoCNYaX8ptWlWlqcuZtmb7f33vrsPcBnbTkS4ZJHqrbrglA+7LGfKfjrXVTNW2zOC2Jrc+jfpr/5S9r7p6eF3XGNi3FrKM1bvhSHxJ1eH/euPbW3PzMnU6n3N2T2f3phRzZ0Ec0jKHw92xGAlW/ysk0fEVUqy11Rm1D00Zzvfe+O7/o9Nt+Lv2evdPb2YWXHDeTcYETi7HUFBwBbnWbx2WtNV5DV1MWhHT+zfqD2p3jgDM2HOXI0Hq4zeWeMnk6HX4jSit0yrVaNE6RTRNFMiyROLPG4BUj3GrTglpPcxe9/Tr879d29kHDykPUkJYqL/AMkg1X3HSrV14mFsTWtSJgd975tWWm3d0YUhkJCLlRLaQ30BKjyye9abp5BXK1ozdYmfi5aF4JBKFNnA0ZT4Mp1U++s4NkyQW00pDKbuzujau2Njyd43KTogx1uF+87n5UUcyxoJtaFJ8idx9zbn3Vvk+97ofzJjbHx+KwxfdQfCvT6+Hgtdzz8l3ZlayOP6Q4f5ZOh9x5V0GZ55I4YzNKehFHU9zw8aJBI1H0t+nc/dWandG9IU2fHb/wCxWG4P5zL/AJrj8IPDxr5X3b3C126Ue259J7Z1FSLXWp3iFcmEhXHWo4e72GvnKp0ceB7luN9fEmRqGPUnl8SOPxFapJ7aMxc131C9SA3P5ZGvqD5bDiTTenxDfbY4l9RO8n7h3X0oWvtmCTHi20EjcGmP+Ll7K+h6mDhTX6meL2MvK2myMnGpvbhXUc4botwoAQ3vY8TQAhtqKBjUYhuNvCkA67HU0wELMdNaACKul70pAcXUW11pgKqlrn9tAh6jXTX20DCIB/dRAEmFCQALDXjQA521tQAwkcOqgAqMEQm4v+6gD3q3N/DW9IByuCdNB+6gCR1gDja3C1AB45jY34+FICRHkNfQ/EU5AsMPc5InBVuFr+FqJA1+09xI3Skh48DVJighfUD6d9t9/wC2hc0/pd2hXpwN4iUGSPwSUf5sX8p1H3alopM+W+6+y9+7R3htq3uD0JiC+PkJ58fIj4epE33l8eY5isbI2qQoJfTADW6PA6r8G4rWNkbVcFhDkILBWsRwRuPwI0PwrB1ZqmOy5FaMOvlkQ3JGgIPHTxq8DdbR4EZlyQRJuuIdBCshDAE8ArdX8TXYcqCrM6KsZFwFlh6rXIsepfbUspBcQo7wME6WlQxEtqOHtpDTLDCZTF0+ojGIgs8oIAHGwI0poGaXbcvI9RxhXVCqLlZpN2UE+Xp+OlqtMyaNPtWVtaD/AEiOS205txNmi9y5GoXr1srgX+ytE42JaZoME5G6Y4w5lEe57azRY+R1BAyAdSJqPOvNfC961roZ2Ob/AFTzMabbcXPWAY8xzkG54yiy+qUdOr2E8DTf0sS3MdD6XpkSqpUqPRhHHy8T0/tFczZugMXrRzh1XryHXTTRQNBfxvUstCRurO5gs8w8rZUpssfj0jnUFIdAvTEZIz0H7+bJfU3+4tDGEiUCQmzRmX5ZGHXPL/hQfKD40gglpDCqOpQiID5Q1jf/AJ0vh7FqSiXEWZF6lt6Y0UKI0W+v5am/Sf5mu3gKQIlwYiBZJ5RbHQ+sZDpGrDi7ux4jhc3b3UDIO4907Ls0xgjhfNzgOsEaRASL1K4LfOK0rjkytkM3kdyb1vWcuNlZHTjzr0Piw6ICikqw8PbWqqkYuzZtfpxtSz9z7KskTZKRyNlT4iqGBTFjaUn7Fq4Jk1f1Bd13+CObozC+2YRxgvmUxyRdSTN7etiKtLQmz1NR9J4cLO27Pw8h0bJkkTEyciBnjzY8fKX0l6OKSw+rYGPjzqkSVHbvVFPkY2TGqfqsfcMH0FAX04EhfpKg82Zdaq5Ndz5XHCsDc++5sdlf214F6n0NLyORrDWsoLZHyXXW1DBFXIbk+NQaoHc635UwASQ9RvxHKnIhv6YAcKJFAKWOw1FKRtFflx3GorSrM2islDA3HCtEZtEWbqAuDrwqoE2RusgG/Cqggi5EgNAmRWZaCADIWbTjTkA0CureFSykTVmNhrrUwaci52zJJdDxB+b99PG+LIyqUZvdg0W5ZOHu4kkx55DPhz3+VjzBsfKw8pHKvdxW00Pncny2aexS482XiSXw52jcgSdcRKtbjrbw5iujR7kKVsdL7U7ij3bAUSyf/ZCABMlSLdRPBxyPVXHlx8XPgdOO8r1LHJxU/TSwMpfBlBEsK/NHfXrj9x1ty5VmjQye4Q7j27Nh58OS2bj9M2Vn5dulZSGYqrhdNfV/ZWqiwbF1te6rvSz7NvGCjmUTplQEdUBSPoPTr82kl7jgai1Y1LTON/Uj6WZXbLPuW2deV2851J80uKTwSXxT8L/bSTBoqO0O9Nz2TMieKd4mRuqKVTYq3jc6XPA30bg3jWtbJrjZTUyaac13PqDsLv8A27unDSKRkh3YDzwLos1uLRA6hh95OI5XFeZ2eq8Wq+an7nfhzrJo9LfjY1Zgk1KG/iK41O6OifMSSVEXz3Dfh50KwmjjP1o7HOeH37AR1YIRlywDrkhPOQoNXib74Gq8RXThvxeuxN6qyjyPnnde391xvTdohkwy+YZkBMsTX/5g4W8DavSpkTOG+G1dyCCoi6UyCORDH/bSqjUxFyMjcsgwJJM+Q8SCKEAlysanyovsHIU1AJN7Fnh9p7xkdMucwwYLixyb9ZH8sQ8xrG+etdjqx9O9tXojXbZFtu0QPDtqlZJh05GZIB6sg5qoHyJ7B8a48mR23PSxYq0+nfzHFusi2l9B8azb0NJO5doZl9oxYE8qwRhEU6XA5g14ObSzOhao00MqyCz6SDxqNxPQcCvUYz833TTQmMuVJDC/iLa1aBjli06ozbn08qqPIXLzCx5F/JIL+INaVfmRavig13QdSHrTmOYrTbYjfc8HSX5TZvClow1QVJiv5cg15GhOBus6oe8ayL42qtGQm0yDLDLEepdQOHjWbqbK8jTIHW4PS9IorNzxlnjdHAJIPuq62gTUnFu+u3J4pHlRSE1N7a+416uDLKPOzY4ZyPc0ZZXDDUXr0KHDbc2GwRIuRCznyqi2+Arlu9Geji3OsdsdywbTJtWY7WEW44xlc/gMii37ax69X9xHR2bL7LNts20nHfuvt04onz8XOMWLC7dIdMmUtG9/ur0ODeuhKL2RNL8sNGtlo/yOTdy9nb72/wB2Rwbp6B9dfVgfFdmT5rFfMAQRWPZfFGVKuzk2uHs+352IDnY8cyEdLuQLkW+9XiPLZPRnZ9pRqjIdyf8Aj9DmLJlbJOIWNz6Ljy68tK78HudlpbU5MvRq/p0MftPc31c+k+U0OLLLj4bEk4sy+vhSH8QU6KfcRXsYexTIpqzzcmG1HqhrfU7I7j3WXcO5J2k3LJssk7Ael0jRURBoiLyAr2et2KJQ9GeX2OvduUHg2/LwM1N47Zzn2zOHmSWFj6TewgcjWufpUyarRmWLtXpo9jsfYX/kw2PJDtP1Bxv0U/yR7zGCYH9slr9PvGleXkw3x7qUd9MtLrQ73t254G44keXgZCZWNKoeOWJgykHmCKSsnqhurQ/P2/B3HGONnQLkQn7rjUHxU8VPuqk2iHVPcymb2dvsGVC2zbl0x+opORPc5MMY+ZA3CVLfdcVfJPcz4WWxrJ54MTGknyJAkMKF5ZnIUAKLlj4eNZtmx8mfVH6iTd978fRYr25t7FNvhOnrONDOw9v3fZXb1sH9VvyOHPllmQKtGCVJdfwn5vh412mCYWMFrEi19bHT7aYmS+0e1Je+d/8A0vmj7dwGDbhkDQTSA6RKa8H3f3L7a4U+pnue1e3u752+k+ituhiwYo8SOMR4sKhII0GiKosAPZXyVbQ/ifSXpyXkXCOhWw8ynnyrqTTRyNOrGvFY9UZsw8Kxti8UbUyeDML9Te7ZMXD/ANAxntm5S3y3U6pAeCf4n/dXpe3YHb57bLY4O9lVflru9zlBQJZbXHOvZPLHBOFtTQAUKthzPOgAcnEj28aBniAF4e+kAJmuddPCgBy2tqaYHrg6cxSA8WtoKAFiUk3JoAKpNteXCmIXq59XOgAquSfC3hQAVZwPKPtoA873bx9poA8Soub68/fQAgk0/ceVIY9SG9niKAHA8RegB6SG9uVrUAGEhFiDr/trSAMsvv1pBAaOXUHkaAJmNmMuqk+6mmBoNt7ikiYKW0PAU5At93wO3O79lbaN7xxk4rnqjIPTLDJylgfijj7DwNDUgnB81fUb6Zdwdj5RlcnO2Cd+nE3aNbC54R5C8I5P2NyNZuprW5j4pyQQug5rxHxBrN1NFYnxTkqA/uAJ/c38DWVqmyY7HmWKQxtqOILDUr4ftNdFXKOe1YZYRzkKbaEFZVvfRk0YA+1daGJB1Ni4SRQUb1YFuSCG1bj+2pKCwNCJmEhDCUaJ8oZhrcH3+FMC1wcibIRY3FsZTdoVNlf8WnE2400S0a/b+rIxp8CULFFBIj4uYxX0oiAGOv8AOp4VrVGdmXH6yLPxZUx2OJuUBH6aNvKSqr+aWBPFreW/D3GrmSEoMn9WMvHytgWRWX9ac6AmEjpdrg+VlH4bA661begktTFYruQ8a6yKo9WVrfln+Fq5jY9I6emFI6cW9mCHzyyH8B42qWUhpx3NllQMyDrTFFgqA85W/hUsssIBKZVa/wCoPASuL2A+7BH/APbGpGiwx4fUMn6ZS0ji0pPmZv8AHIure5LD21MjPZ8+3bfFFkZuQkB1VEUEvccVRE0X2218TTSbE7JFDnd+48bsu3YQcqT0ZOQbi/4ljHD4mtFi8zN5fIgbduO7bo+fl5sz5SxYxgjgOkfqZLCKNVQeUam9U0lCRKc7g+5lUby2KhEiYEcWGkn4vRUAk/G9Oi0JvuA2mWJN1WWRjH0xSkso6m6umwsPE3qyTrH0wxc7N7kjbEyRhZuJiT5G2FiEknnVNIRe6+ZC3GrSkmUhO/Jdq2vuvcodueU40qxHHglRlyE9VFf9OynVfSJ6aolml+kq5Lbhm7ZllcefdYEbbsmMhf0+ZiP6+OQ3gXWxqlpqQC+p++QYm89w7ljN6ciQetHGPKIpsiAeqgB5h3a9JsaWp8wDgKyNj9EsvHXUjjXlXqexSxSZDMjENwrkddTrTK+aW7WvpUtFICBc3rNotHmApFHgq+FJsQ4hVW5qZArcqYAm1NDgiMTIDbhzrRMlohZEHwFa1Zk0V00LX04VckQRZMZudPkS0QsiFgfZTkiCDMpGo0tVJkMXHdL6ik0CYWWSILccalFSRDmC+lWqkyWe0Z46wCeFKygtWlEnvS0mxQzgEtjTKQ3gHFj+4V6XWseP3axqUuf29kQbPibpF1Nkzt+bAgDWVxdGXp48Na7KZJcM5XTSSJs67jPukD7cwjzbloDqEd0HV0Hl5vA6VraI1IrM6HTtj3uDdsdnRDDlwEJlY7fck9hHFTyNcN6cWdVLSFfGWfEdWhWbHyV/6rCPyuDxK+DeznUlmd3vbsiGWXdICWxof1ObjZEZKtFMVj8kg05oRY/GtKvSBGyPRIhV1V45Vs8bAMjK41VgeINZGqOG/U36RPtYm3rtyJpdq1fL25bs+P4vHzaL2cV91MTRh+3u5MrbMiORJSFUqUk6iLFfluy+YW+641X3aVtTJGj2M7UnVbn039Ofqxjb7FFgbpKIt00SHKayrOSNElt5VlPIjyvy10rh7XS4/NTb+B1YOxy+W+5s8zqN+oai4IPEVwwrHVDqUeXksi3Tip1I429ta0rG5LOIfUHsvIwsyfe+2C8ccpL52BCSvS3N41GjA81rpSlELI0znn+s5MrXmEMrDiZIIib+3y0mmvM1V58v0JCbxl26Vl9JeHTCqxD/AOUCs2jZXFTJ8xbix4s2p+JNTBUhBkoFLuwVVF2YnlRxbHyS3H7Nn/6luSrGCMWMgBubN4+6jNThXXcwrl5202O99tQKuJGE80fSOpRyNfP5XqeitjWQCNobG7HgCeIFQkmS2evpxDgfe5/EVaQmHUxykK3lb7r1oRqhvpSJJY8OTj5TTSgOSY4hH+ZelvEfwq9xbDbyxebW3Jh/GlqthymP9QO3V8knJhwPvquUiiDxmKkR5C6H5X5H40T5h8Agkkh1F3j8RxFEQGjCpPHMNLX5VSaZDrBHyMPjJED1cxStUqtvMhkaWcW9nMVGxruUm+bZDlY7RSL1Kw4gai9a0vDJtSTiPe309lhdpodVa9iBp8a9bB2Z0PNzdeCh2zecbAkMc0fVIvlN7jUaVs6NrQql0jTbdumx7ht+WmcxLY6iXCiU2VZUIYSE8yLaCs6zVo1slejTO5d3dyw7FufbP1EKmXad9xIcbcmXj+pgF0N+F2XqH+7W+erTV0c/RyqHibhPYze+dx7R3rv+Fl4auI8eOQEOPxMCNRxrxu3kfieljxpQpmDRYW1FOgRfIo81eWlJ0ckWscqoQq+UDmK0TIdB2ZhYWbCYMmGOWJ/mR1DI3wPCtFpqtDJ67nNu8v8Ax27c3ZHydhk/0zOPm9L5oGPu+78K9HD371+r5kcWTq1ttocX3ft/vzsPKMedjuuMTo9jJjuPYeVe51PcE/pf5Hl9npf3L8ydt3c+z7tH+mzFWGRxrFJrGx9hNezi7VbqHueXk61quUX/AG1vfeHZWV+r7TziuKx6pdnyCXxpB/Lc+UnxFqxzdFPWmjLxdxrSyk779O//ACG7W7llj2vd1OxdwGynDySBHI3/ACZTZWv4NY++vPtyo4ujuUW1qdWSRXHUpuvM+HvprUk+d/r79TX3XMl7K2WYjCxyBvuVGfmcajGVh4ff+yujr4ebl7I5s2SNEciVTCoBAKAaFfuj2ivS2OPcIhV7FCCp4MKaExsODuO/btF29tIYySkHPyUF/QhJ8xJ8SK873HvLBT/ceh7f0nmuvI+lu2e3dk2TYsbadviC4mMgCsosxbmzeJNfGWayN2e7PqU3j0WxM/0+ZbvG3Wn4edY2xWqb1zVYsbSB7qbNzHI++prZjtVM9vG9Yu0bJm7rMp/6OJpBGeDPwRfixFdmD52qnFmXBOyPnjI3LNzs6bPzJDJl5LmSaQ82b+A4CvoapJQtjxG23LFEhYa6VQBVPT8w48KQDwyi+p9gNNANcaX530HOgD19Oq1/ZQAIjU8vGgBhBtQAqmx99ACqt3seHjQAdQCNLeygBGuBflQAitqARfwpgFDWNgDQIRiS46RfkKAHFuXEigBHYsBbj/CkMcDbTjQA9WPL40APVl48RQA4MePjrQMIrG2tIAinQa0ASEkHTa/DT7KQBFkPja3A8KBDlyCANTQMstv3iSJgQ1vGmmI1+37pg7jiS4OfFHlYmSpjycaZQ8ciHirKeVXEknEvqh9DsjY0l37tVJM7YEu+ThXL5OEv4geMsI/FxX73jUXoa0tJzPFN10/MUjlxt7Rwb4VzWR01HtEzp1Rn5NVXiPd4j3Uq2hhasokYOWNGADMvFTfgNCPitbsxRIWZUKuGYLD5CCeMbcLCpYySHVD6cas80JDIQBfpOvupDLHFyGW+RJ+VG56raFz7D4U5Ey3O4yZEBXrWKEBfSxgR6RVPmeXx6eIvVpkQaCPc1ebHyljjkzJE6VL2ZeheMjqdSbDT2VomQzP9/bltmZj4WPLA65WRPdpbgM/RdmY+DcKHbQSWplIU6T6TqQQT0Y6mxfldjWZqStQ0sllinUENIPNHCDoFXxc8qhsok4WHLJKsBUlW8zR/MSebzH7z+zgOdSykC3buTbNtyJIAf1eSpsYUa8YPISSfePsGlNUbJd4K3G7n3rKbKyS4gxcePpixYB0q0snkiUn5m1N6bqkJWbKrf2CZMWCGLDAjETsTfqmPmlb/ANRq6LSSLeRWgHUmrJNfsXpbdtcOTMpJj6tznUcbIDFiKfYXJasnqy1ojORwZcyNOxsZG6mZjbqLHU61qkZkrEk27DzFbq/VkxyJMig2HUPLr4hhTegjq/0r2zM7i3eaOT0YZzgumBhTqCMk3USRKSR0SmIN0P41cSRsXf1A2XZu3t5XfBK2di7y0ku3yzktkWjISXEkU+ZZIG8pvWkJL1JcsgdgZbbj3zsxz0MOD+pMX6c6AGZCgLMONuq4FS2NKBfq/v8AtmNH3DmQouUm44UO1K7aEZCBElkXS/GH40W2Cu586KNQKyNT9F5GuTXmnqlNuUYJJtWF0b42UU6MfeKxaN0M9ToAFZtFnmcE3o4jkepFieVZtDTA5M1h7KUDkq5HLta1XANj+jpWiBSRZm1tV1RFiM0Itc3J5VZEkLJBW+lqaJZV5E636aqCJKydwxsDxqkiLERmKVRBFlyJDexuKcEjAzNrzpoCZt5ZZhrxostCqGrRIc3CfDyl6oJlsyg2Omosa269jl7NJLPFVEVRGxUo14ydekfgA/D7K6jlSBbHt+BhyzQwxvFL1+rNa4U3J6QL8VtxtWlrNkVqkaLETHEi9Marp0KVAFhyGlZOS0kexv6EY5gEfYSKAYGy5CySRoCzgrkY0lumReFm4gHwP200hNokwTQvHdAVCeVozoVI+6RRxY1ZBBJ0m4vRxZXNHIPqZ9I1m9bfO14LTayZ20oLBubSY45H8Sc+VPiLkjlW0b5LgSgEMYRdSvErrqpU8VvxXkdRrWtLNGV0mfQnYP1VxNxwIsTc8kvALJBuEhvJC3BYso8xyWX/ANXjXL2ekn89Dp6/aj5bms3IzQMWAup+Yew8/dXJjfmdlqxqjM5brMXaJhFMBdhXTXQwtqcP+pgWDd0khiWORh+YQLdR8TbjWiSZkrtGRXdZF4x3+NDwrzNfvteA4b1P9yMA+JN6n/x15j/8q3ggkMG47lIA5LIPujRaHalFoS3bIdI7I7clgZJEUOTwU6G/tFeV2ewmdvXxRsdd2mIooKAxyDih8a8bJvoekabHlV4wCeiXxqakW0JCJLJIkaJfJc2QKL9R8LV0Uq7NVW5laySnwNpsnZuLEgn3NRJkML/pwfy099uJr6Dre21qpvrY8nP3W3Fdg25dn40l5MDyaebGbVD/AISflNT2PbU9aaPyFi7jX1GOysGSCd4yjRspsY3FjXkXxurhqGenS6aArJ5jHz5qePwqJLga6cTGfeORptArQDXIA8kouvNTSnzHx8UKjOnmibri5oeIqtthb7hFEb+eI9L8x/aKNHsLVbhI8m/kkHSfGhMTr5DpsdJBc8eRpxIquCryYHQ+bUcmFZtQdFWmZ3fcNJ4mW1uocbaH2Gtsdib1lHGe6u38Y5Eh6RC4uSRpw8DXrYruDy8tdTn8ss8DusbdS6gHh+6uvimc6u0z6p7GGP3p/wCPG47NIBJJtwE0SnUqCOtbe49daLWsHPkcWn1M19NtvjXbl0u6eWx8Roa+X7bcn0ODY6dB0wRKjXYkeZhy99YVRcgnKM14yD/GnBaY6GXoYh+H4TQhNSTIcgcvMh5D5l9xrRWMrUaHZuJhbhiNBmRpkY7eVi6hl15Op4Ve2xkzjnfP/jxtGYXy+3pBt2Sbt6DXbHY+zmld2H3G1dL6nNk6ittoclzcfvTsvJGLvWJJ+mvZS92jI8UkGle91fcE1o59Dyux0fNQWUeZsHcUAjksZQP6T+WVT/K1etXJTKoZ5jxZMblF9g95/U3asKPb9v7ny1w4AyQBmHqLG33GZgxZR93XSuW3t1eWjcG3/mtrYqcbH9NOm5a5LOzG5ZjqzEniSa7a1VVCOV2kK3gOXOqEgE0uUZYNv2+MzbtnN0YkAHC+nqNbkK5+z2a4aNs6Ov13ltB336a9kY3ZezejN+duOUfUz8y1y7nXp9wr4bsdq2S7tbY+vw9etaJVNmYA1pcZgD4Vlw8al/cjSw6HLBbomQxSD7w+U1VcusPcm2LxqGmxQ/nT+pxtyalkxeKHjyvZmY71xP8AUO3Nw25m9N54rRsdPOhDKG95FqfWycbp+RWbHzo0vE4MsTxkdYKsOIPI19FW0ngujRKikXQn3VZEBR5mOtAghiJ1GvjTQHukre+hoAa3AkfZQAxxc6fZQgG6lfbTAaFJ4ftoAUXDE2+FADgdTppxoA91lhYUAPQf/CmArNcW+ygQ9GZRdTrbUUAMLqG8W5+ykNIVTfXw5UhhDzvx/tpgNBsSOFIAiH4eFMQ8WuL0DHh/G/u9lABPUuL30FIB6tbW/HnQARJL6H4E6UAK0igEDX+6gAYnZTSAtdv3J49bmmmI2Gxd0NG6kv0kc60TIagxf1G+jGFvIm37suJMfdDeTM2NLLDkHiz4v/Dl8U+VuVjUZMU7GuLN4M4WshEh9TqjlUkMGHS4KmxBB42OhBrjdTsTI0r+nkeqhFmN/Lpr7uVbY3pBhkUOSbBl9YAIDEA2S/EHiuv7KGgTJoyHJQC7FeA0PWvgfdUsYX1HZvK3XjN8ygA2PhflahMB+PkemxWUjIl0aHpPlvf5mPiKpMUFnHuYUsGcdYAaSReFl108PdVJiaMtuWfkbrK+5dVhjSBYS51CA3BA5sx1NU2QkWkASfplu6uwu8/3pLjhED+01DZcFlEMTGSA7lMMUSEjHjUXYG17BRr1fzmpZS0MpvndWVns2NjoMPAU29ONj1PY2Bdv4DStK1gztaSkDADT7Kog1GzokONt4PSA7T50/Uf+Ator+y/CsramlTNtM0rtLI/mdiz34ksb1qjM91RMCvUTfQWHjpTA2e775Lj7fnwQYkUPVjYm1Zfqt1OWi/ME0YH4qim6KsjLRYmdlEdRJUWF5D0qL+ytEjOTSdqY3amHuyxb1K88ORG8fVjjqeGTpJSSNBfqsw1XmKrRak6svextwlzu5dpx5J32/BfNhR8yI/8AUWZwFaEH5SrWNNvQUQbL6kwbfBNs+ZJIc7epRn4m4yC5afIxssxnJ6B5VMq8ekAXFXoEEn6WRQxd04mTvCP0N6iYyKpkkhmIAXJKfhjCi9JrQRj/AK/b325u2Lg5O2iTFyXzclm21x+WkZC3lia3mWSS7WOq3tSu9B13ONoPNWZofopOLA15tj1KlZksreWsWb1RVZUBCMRWdka1ZUTNpfw4Vm9DVBMchwKUiYaQBF0PGoZSZEkQuulCQSQpIihvb31ZMiguw1NEBIGfHk+ZdfZVITI35nBh8aqDJkXMTy6/CiAM5uCqLkHUVpUzsVEkpJ9tVBEkdnJamIVYbnWgIHGMrc2pSED8eVVlW+mtME4Zo2yXhwXniXqeNeoKeBty0rTrJcoM+ytCRtW8Y2dD62O2g0kjPzIfA/216VsXFnmcibkbjLjtE/TeI6NLxKm/D3GnWiMcl2i8hlBsRw0/2FRBchcRz6IB43bX/eNMG5GT4jBmnxQBOfMVv0qzWtc/2UCG40i5dpYnWLMSySqdBe1yjjw9vKhjW5OU9XUrKUlT+pGeIvwN+YPI0jQTgbjQ8qYzm31K+k0O++rvGwokG9gdWRiiyx5duY5LL7eDc6AOIYeZuO0Z7NGGgyYiY8nGlBF7aNHIhq634kusnZew/qRHNgDDymLYCAKFc9UuMTyHOSL2DVazzdZX+au5rh7FqfLbY024QK6esjghgGikjN1dDrcEcRXJVtaM6bKdUch+pOLLN0St5yhsG529taoyZgUxZXNgt6p3QkmWWNsJ6ld9QeIA0+NY2zmtcUm42DaEaG8bLFIliEPD315uW+uux2Y8Zv8AYdvMzh1TpnA6WQcGI5ivPzOPgd2Jee5stvjnJtOpBAsCf9ta5OSNWWcUU088eNjgzTO3RGqcSaqmK13FVLZna6qpZ03tvt2LaYeucibcHHnl4hP5U/ia+s6fTrhXnY8Ds9l5Hp9Jd3NdhzC9Vvd40ARtx2zC3KH08pLkfJKps6+5qyy4K5FFjTHktTYx29duZeATLb1sYfLkINV9jrXh9jpWx6rWp6WHs1vpszPysYz1E6cmHCuODsWoOT05hZtG5GjcFoAJmx2Bv1L+L+2oiDTRh+tJvOjdEviOB99VE7EbfAUSpb0pVsx4X4fA058GKI1QQyTxkffj/aKTlAofxH9cMotxB+YU5kIgrdx2n1I2aP5eBWmlGpavOjOW979qZeSOmK7KT+YBxtXZh7CW5z5cLtsYvN+mk5wmnS/l1NuVbV7uphbquDrX/i3hbgjbzs+T6q7dPjNjSMpC9DyEtGxPzBivWFtppXpYLTLPN7VNl5oP2zs021ZuTCb/AJeRJGy8+pGKnqr57u1jI0ez1LcsSZspUbpuBrbWuc6Ksjhek8LN+ykWhdTqftpsUj7Op6kNreHA/CkUIuR5vURjHLwJXgf8Q51SyGbxTsPjynJsT0jiwXUfYaSsnsS6Nbns3bdt3TFbHy4Y8iCXQxSgMh916a01WjE3Oj2OQd6f+O+FKzZfbMx2/KuT+klJMJP8j/Mlepg9xtX69Tjy9Ktvo/c5jmZPdXa2WMDuXAkCrosjDUjxSQeVq+h63uErfkjxM/Sh7cWXGDmYe4Q+rhTB7asnB1/xLXp0y1utGeffHaj1H5cqYOMcnJQsL2iiHzSyH5UH8aeTIqV5PYMdXdwjq30f+nMu3wP3HviX3vPHVGjDSCP7qrXxfe7Lz21+k+q6mBYa6fUdUV1H5cvmJ58ftrk9GdPjKFGO8f5mObr+H+ys/tta1LWRPSwQGKcdLjpbmDx+FOVbRi1rqhV9bGYA3eLiPZR82P4DfG/oyJ3BtMW7bZNFDJ6c7oQkn81tL1UJ/NUVbOujPlHOl3zszfptq7hid8N5GZZtWK3P9SM/eXxFevhur103POzV4212NII0aKOeFhJDKA8Uq6qynmDW9bmFqD4h5r8Lca0kyaLKNoQvUbEganlVSSRWcOzG/tokBlgBfjSAZpe/OmgBk3ubcOVMBjNYeNAC9RtbnQA43HiPZQAsZt7aAFM2mh91MBy8NeNABIyB7QeB91AhjHzmwFuNJjQ9b8b8uFAx7GwvQI8ikgk0DPEnhb5eFIBzMOkBTdudMApU+mrg3ubG3IjWkAoNj48r0AORhYD7aQDhIQfYeVMB9iB5uJoACxNzc/GgAkMjDxoAscXIZGuDb43piNFtW+TwupVuFiPG451dWZ2qcb+uCYifUDJyMRFCbjjY+ZkxrYATyKRIwA/GV6j7awyLU6cdnxRznJbqjup4cuYqa7lA8bcOg9Mo/wB7+2tHWTNOC3gywdVa45WP7ayaNUyWMpAt7dVwBqGIJ9oFTBQg3B+gRqjanSIAKqsfC12piGvBm5ZTHA6I1HVK4HSgB06eP2mj7lVqHBsnbfspjlnX1EWKT+npdhb8N9AxrG3aqarrOSTusO7xY4TYkUsgvKGH/Ug8+gNpb/DRj7NG/m0DJgsl8upjDu2amSGylMmRHK0jmW4fqYWYNeuzimtDk5NPUgr1M1kGhOl/7aqCRSXUBmXRrgE87UoAtY92xWijSTy9WK2NLoTYg3RvjUcC+RVrIl9SB7herggL6qNYAsSeBFl1pgbjFGTn4mSmNHh4q7ltyzB5ZFLmXBOvSTciR/CoqNlBi4uHPaTM3IBSNUBIPC9jW2hmXfbm49u7PvG3bpBMwmw8mKYRqnU5COCVub6kaUaQLU2EmT25s31GlfEKzYcO5CfFDAer0CRZ7dPIqCR8KbsoDi9jVfUvuzGzNyxsTtnBaLIxDNPNuciAdWJlynJhFmt0OpduoNVKzZMFf2bv+Lsu29wb/v8AHk5UGTD+khysdgnqMp6pollOi+X7yg+FSykcH3vecjdsz15fLGg6MeIcEQcB7/E1LclVUESFedID9D8iQHS9eaz1qorMggEsKysjarK3JyV6GUcedZ2ZaRn8h2LkLrblWDZ0pD4JGVddKlg0Eafhc3oQoHRzxtoaZLEmjWQXGnhSTEMx4QXsapDkskwEkXhY1aM2yvzNs6CbcaGIzu5Ex9SsotTWomZHcW85INr1ujF7kAAE2NNghGhAN6mQgaW6PdQIRpSRpTEQpJSHBHjWlSGzWYE3/QB7XNqzpaLmuSs0M/uC5ODlnc9oXpk/zsbk3jZefu+yvcxZFZcbHjZKQ9C423uKLdcbqhtHP02ngfXyn948DSvTizPdF9i7k6KkSNqigDxsNKgSUEvDz5WVx1G/qNp8aIGIubMGLdZN+d6cEhSJJ1eaFymR0FQ4PG+oNJjRZbduP6uNYMu8OXCLLKB8rfeUfiHitQ0bIn+bq9NwFlAv0jVWH4kPMfuoGNII+FMDE/Ub6ZYPdkTZ2IUxO4Y1tHkEWjnA4Rz2/Y/KgRwIx5+w7w+Pn4jR5WM3Tk4kl1Ye1GHA81YU042FB1rtLujBhkwsXJm9XYd1KxpMxs2NkOelZPYrP5ZF5HWp7FOVeVfqRpgvxtxt9LLPvzs6ZUkX0r2uHW2oIryq9k9N9eTnGP276hZOnpcGym3PwNK2XxFSkOGWu2bW8LhXW1jbUfvrneZM2WFrVGoi2OzJkYoDDnFwPttXPbI0dFap/E1mw48cpEZQqV1WxsVPsrjvrsbvTc1ywymFYyOuZj0IyjVieAt41gsbtb5dyHeFrsb/ALV7bj2iD15wG3GYfmNxEan7i/xNfW9DpLDWX9b3/keF3O08loX0o0A1rvORHpJY44zLIwSFfmkY2GunHlQEjjLGqGQsFjALMxIACjUkk8hQEgNt3Lbdzw0zdryoczEkJEc8DrJExU2YK63Gh40CTT2JQfiD7ip/iKBme3ntDHyg02ARBOdTCf6bH2fhrzux0FbWujOzD23XR6ow2dt+ThzmKWMxSjjG/D/dNeNkxWo4ag9THkVloAWS6kNy4jmP7agoFLEwQSRiwHMcKTUjVvM8MgMBHIvUB48aJ8wjyDq8sYB+aHl4ijYNzzGOXzxP0t7P40RIJxuLHlSLdJha1vMOFCbQNJ7HpsLFy0uQLnnRuCs6lbNs0EPVdLjkQND76lKGac5KTsfcpNi+pqx3C426w2l0+9huJkC+BKM4r3/b7ToeL7jSIsbjf8RMDvPd4OmyztHmRN7Jls//AM6muL3OkZFbzN/bnNHX+1/xBFvKLHqrzmd0A2XqNv31MFpgJHMa2te3hxoK3GJkO3zC1uD1LGkeMfX5iLE/eFKBzA5UKak6/dNEBMhoZGjbpZR5uPgapMl1TJsU/UOkjqXgUbj8K2rqYNNELdti23dsR8TMx48zGfRsedQ1v8J5VdbOrmrgTiyiyk4/3J/47/8AUnN7Qz2wZwbnCyCekHwSQa/A16eD3Jr6t/Q4c3ST+nb1LHsL6M7vBvEW6935f63JxDfFxQ11VvxeBpdvv2yrith9bp1xufE7RCHW4+YDiLWYfCuFabHU9dx5hVxdR7wOIquMiloSFmiWwPUBzoSgcphWMWQg6h0SDg40qLJW3Wo03XbYVZJIQBN54+AkFTydfq2G6q224yTHDH1cd+n2cQaHj/qoNZPCxmO9eyNm7w2t8DcIxDlgH9NOOKtyIP8ACtMWdp+TJyYpXmj5tzMXuH6db2+0bxE8u1uxKEXI6T/mQk/tWvXpdZFK3POtV0cPY1MTY+TBHl4kgmx5ReOReBH9vsqq2JtUS+lje19RWyZk0eU8TwpkD1IOvjwpgedltZePM0ADJAFjzoARUHUB48jTAQqevhpyoAItjdeFAhpTUfvoARVu3Gw9tAD3Yj+NAxoccjYc6QBAtxobX50AODHn+ygB5u4AHxoAIoCgjnypgN4an4UAIbA+/nSANESVYH5SLe48QaGA0vY6UAPRr8qAHa3ufsoAW5JsTfxoARyCdPZQA5CRrQBJiOoJ4USA7N3TG2/DlzcuQRY8ClpG9nCw8SeApOw1WTiW/wC+ZO97zk7pN+XJOQEiOoWNB0onwUVmzQrJiGHnHS3iOFCAitC19RceIq1YNGFhhcG6En3VLsBa4kXqCwY9Q4qT/CsrM1qifHARa+niDw+0cKwtY2SLCCLUdNw3IcyPf8rVjZmqRPgsNHFgOLKDYe9eI+FYs1qywSO6KHCyxn5DxH+6w1B/2tWTLQHcNn2/c1CZcX6g8FckJkr/AIJQLP7mrTFmvR6P+RN8Vb6NfzKbP7RlxIHn26I7hHECsWJ09MsII80ksfGQ/wCGvRw9yttLaM8/L1HXWuqMi6M5VZNTGOgAi3T7D4V3QcbYVMNVkCOnSTaykcfdTSFJq+1uw8fOhbd9yhdtrjlXHxsaIfnZuW3y48PM6/MeVDYah+7extu2m23xsr78xMu5xRN1RYYOqYyH7zqPmNNVTJ5NGZONuGCiAN6fQHWBmQMg9XRz1W0b30PGUrkfH2Pd2nigixXyZZjaEQAydel9OgHlS4hyLDZdnmmyfXkxojj4gfJkWfIOOJlxmBliiZrdT8rChrwFJ07sTt7uTHXde8Ns7U2z/TNxwc2bCx8rJVvQhEqI5DSFmul/J4600tUgZX9xy9y9y7/l7lvWfgwZGY4ZcXGcOLqgAAA+ayiqem7JIn1333FxF2js/ZzIdp2/EjkE8iGP1Wl8zOgPFWbW9REFLU5CBc2pFGi7L7byO4+59t2SAEHMmVZX/BCvmlc+5AaTcCPtt88MCQa8p2PaVSDk5oIIBqWy0iiychzIRfSuds3qhEtx4ms2aoIY0IvWYwMsBtppVJiZBknMB9vjWi1IYMbk5t5tDVcSZJ+JkAEFiQaIEXUWaircMD4UyGQdx3SPpI0vSBGV3HLWe+nHS1UtBszefiEkkaitVYxtUrGfoBBGoqiExnrXtelA2wMp0v8AZTRLABzfjxpwSMlUWuaqrEzWdtMuRgvE2th8awyaWk6camsFTuSei7IVLhTyNmA8R7RXq4rSjystYZUTQSiVc3BfpyhdlZLAPfjpwDeKnRvfXXjyeDOa1fIvNg7gh3KMqfys2L+tjnjpxZb8vEcqMmN1+BCcl/hTA9etmEh/aBWYDll9Odo2PkJJt76ohuCVhyCEgxnqiuRa97eI+FJoaZaTYcWQqTBuiZP6UoOoPL4VBuiRtu4MyjBziWmSzLIosQbfMDy/jSAsteoJJYu2qOvyyAeHgfFaBiFbUwOf/Wvt3bc/s/J3mSLp3TagjQZK6M0bOFaJ/FdbjwoA4TtskkmJl4dz0dBnQeBWyyW96kH3irq4aJalH1h2w/8A3J2PsmfmgNlZOFEZn5l0HpsfiUvXz/bw8btI9nrZpqmylz+w8X9UJw3SCbP0j/6q815rUZ3RWyK3J2PGVvTlFnX5ZQOHvp8uWqHWa/A9i7ZPjOrcYzqCOFZ82tzTgrao1OGcZ0At0ygf1ANfj4ipdZ1RPJ10ZvexdnKY/wDqmSQ7sWXEQahVBsX95r3va+quP3La28DxvcOxrwrsa25Jr2DzB8fSzFeoXHzC+tA0Qe6O3tl7g2Wfa96R3217STokrw3ER6vMyEHp0oYPzZWvj9k9/wDayQ42THuWyPb0Z8OZlaN4/KtmQhlZfwtx5ihMlqti17d2LC2HZsXacMD0cZSOsIkZdmN2dlQBepjqbU25KqoUFlobX+B5ikM9crx1H4v7aAAZ+34W4wejlxiRfusNGX2q1Z5cNciiykul3VyjCb52jmbeGlhByMUa+oo8y/4x/GvF7PRtTVfNU9PD21bfcob8PbxXkRXCdTGPGLkWIbwpblLQjNNLCdSejx/tqYaL0sL6kbnrB9OW/wA44H3ijcUQGGSt+mVem/BxqKYo8ghTIhiSdVPovfoe2jW42qniaXKNCVdNx4l1sO0SbxDJPK5gxdUjYC5dx4A/dFeh0+k8q5W0XgcfZ7CxuFuc4702rN2DuzaMrJi6P02WkokHySQveGQof8MtyK6+rhtiyQzDs5VkxydD77ch+3d3uScmCTAyX/5kdmF/95Xpe6Y5pPkyPbb/APJH91f3RURyAqCh1vXhQe2EZi+oNmHLxpohjVNz5gbCm6i5QIwRtRwHAGs7VLVhVYjh9lLiHIMih+VmP2GqSE2EWJFB6h8OVWqE8wbdIsVJA5EUmik5DRTOrDqA6ed+Hwqq2JtUks0UyA31HFuDCtdzLYRVkWzf1YxobcRU6lJyTYeiQXU+oBxW/nHu8a1rBFgrAFerVwPvr8494q4JQix9C3LFweDHj7jT2E3J5o1OvD21L1GpEcuieYepH4DU1OxShnkjUt1QGx5oahV1mu5XLSLDikc4Mci2ccQePwqtLb6MSmu2qM33l2Vt/cm1SbduUYniI/Kk4SxNyKtSVr43KG1TJoz5m3Xau4vppvr42SjZWzTtcAaK4/Ev4ZAPtr1sWZZV/uPPyYnif+01EE+HuOLHnYMglxpB5WGljzVhyYcxWtXGjIdZ1Q0Jx9h/ZWqZi0OdulekW99UiWj0KAgkmmIJJARH1jUCgAQHm9tADgLG/wBooAQL5rg0SB5wpsOF+dAjyrrY0SMbKNdOHj40AIosvD30AEPUBodPCgBRe/toAKh+ANACuxA99MDwFx4+ygB3SNf9taAHgm2nA0gGkaXGtADlIAvwtQAS97EjjQB7RfZQAhGthrfwoGOUWHH4GkAYSKFsTYWuWPAAe+gcHOO8ty3DfJhDghjt+KbpHzmcaGS3s+6PjSaYK3gZCwPldekjQ38azk0SHPBIqj76UpB1GRxktaPQ/gbhTkIJ2PgiRgpvBNyvpf3Vla8Gtcck1ttyYyPWiJtwlj4/YKy+4nsaqjJkEWT08PWTk4+Ye8c6ztZFpE/GgutxYC+osSt/5hxWsHY1VSeiFekSDpJ+XqOh/wAMn9tQ2WkHXHkRiYiQ5HmWwDH3qfK4pFBUKNcSWjYceJT438yfHSpZSJ0PqxlCwv06o1yGA/lcX0+0VMlQFy9h2fevNmRhcu3kyYwEmIA5j5JRXVg7jpocubqq2oHZfpxiQ+pOqx9wTOWx8PaupoUjDKS2VkObMix8gvOvRp3aW9Dz8nUtXXcJn92bdtBkftXIbdsvbMVMHbGWLojwSy2y544zcyO7aCTjaupV8zmkwHUZ09RpOjKkJZZC2rSXvcnnf21oSix2bcU3PKG15SrDvEzLDiggmCd3IVY2X7pY86XKNxR5HVMXsLO7HzHx+3Q8e/R48jdxbkADCqOPPFiNL5YYowemSZvNfRaGtJDdwZje/qZ2plbK20wbeF3KeL9DkZaJfGxMNTrHhK4LEynWWU6salWfiPiYaPZseUvjYWZKYtFeAyyJGqE3AcjyqvPWk4RRebh3D2N2n26mDtO3vk9zTN1TbwZS0bIrE9MasOoIdBfnahMGjme8b1uW8Zn6vcJmmlChE6iSERflRb8FF9BQ2MBjR9R6vDhQB9D/APjh2cYMDM7uyo/zMy+JtlxqIUP50g/xsOke6oswR0mfcHQ2BrxeR9DxALmu976C1JscATL1Xbw4VBSADPKydP20uJaJcWV1HQ/Cs2ig7SqV40oAr81YyLsL1dRNFSzdDaVsmZtE3Gy9NRpSgkHlZ8qiwBsfCmiYKzImll16iLcRTBkRpShsxqiZBZM6CM9JBNJCZn8qTqk1Fq1RiwKkCmIFPIoFr3FCQmR1Ot6YDpr9NwaFuSy+7HnP6v0m4NpWfY2OjrEzu7B9GQlrgHmvHjofhXT1Mko5e3SGZuOVuoqQt30Kn5JF8R4NXccAmbtTzlcrCkMW5RapJw9QDgGP4vb9tb4ssaW2M70nVFn293GuYTi5S+hucZtJGR0hyOJX2+Ip5Mcar6TNW8GX0xWWINcq4FiRxtWdWKyK6fcsjbMqLIF5IMgBciMaAuvBh4G1bVryUGLtDk1uJkPNiwZmKS8Trf0m06hfX3MK52oZ2VcollcbKgDLe5DKDwZCR0nSkMdgbicWNcLcW60J8sp0FgbKeocD4GkBcG69IZupWNopuR/lbwb99AzL/VGLq+nm/jwxr/ZIppgfN+zX/Vy+3FyB/wDm7/woYI+pfpH1t9Mu3rG9oHHvtM/CvI7lv+ayPS69JxpmpZOolkHm5rztXBnxKyOrHeNCmzdsjmJdgFc8DyYeBrk48djrrYi40EuOSrKGTmvjTUPcm1XXVEhsOIWnhuFPFRxU1m6OrLrkVlqBxu7+7u1twkyMSH/Xe2ZSHytpSy5mO1vPLik6SKeJjPwr2vb+8q142PL7vSbfKp1Htbu7t7ujbBuOx5i5WOD0zJ8ssL845o28yMPAivdTT2PIajRlpLjrIwkVjFONBKvG3gw+8KBQRtwixdxwJ9o3mP8A6bNQwyFWKpIjcQrixU+ygT10YXt3tnt/t3bxgbHgw4GLfrdIVCl3PF5G4sx8TSKRZk8dCbAmy8T7BegZTds7pvm5YGTkbrtUm1TxzyxY+LM6lpIkP5ct1uFD+BoTFqUvaHd/eO9d27xt259vjZNp22KP0Wnk68qSZzxHReJomF7FT76cEUs29dDWxzCSZhELxx6O/wB0v+FfdzpGkhw1qAMz3H2ztzY82fjgY80Y6nT/AC39luRPsrz+10q2TtXc68HZdWk9jDZWNkwNaSJow2qq4INvZevFdWtz1K3T2ZGCi9m+U8TxNSUyK8Aueg9J8OVLiWrll2xsuVu+cYWvHiQ2OXJ7OSr/ADNXX0+q8tv9q3OftZ1jrPidMnwdvbbxgvApxgvRFCNOkDmp5W8a+itiq68WtDxPuWT5TqOx4I4YkjjUJHGoVFHAAVSSShbENzqyl742bG3rtnMwZ4g90Y47H5o5CpVXU8iL1S1epFm4ZjIM8779HVzmu2VtU0GVIBxBUhJh/wCr1L1h28XKll5ovqZON628rEJFMa9SnqQ6qR4e+vlD6flLHrKSvUNR+2kxh0kV114+P9tCZLQ4R3PIE61RED0jCrrw8aICR4yEQEcvGrSJkHJkknT4+2qQhUHFwbew8KcCmAiskhHlt+6ptQqtwgDBvKbNwsefxqYaLlMlxSA2Ml43H319njV1sQ6ksRxuQ5PRJylX5T7xWsGfJ/kPLSRsP1A6T92ZefvpzG/6hCewUEjzMRY/5i/Kf8QqyBjRsDobA8CPlqGipFUdPgG4EcqEJimJT5k8sg4U+K8A5Nbni/VZZl4cJBxoanRlL0POSouR6qfjGrD31MuvqghP0ZRd0dp7N3LtUuDnwrNFILK1vMp5Ecwamqh8qPUrlpxutD5h7k7Z7k+mO+sQrZWyZLc7+nIvgT91xyNephzLKtdLI4cuJ43K1qaHCzcHdMFM7b5PUibRlOjo3NHHI1qm1ozNqVKPMCNCOFapmTQ6Ma6g2q5IaD+rcAfKvMeNEiBuQ1yBYUwGF9Br76AFBHSTz/hQAIuQfGgAqNY8NTQA8hCvifGgAJBFCAcg8eHIUAEMZOvhyoAdp038aEA4jq1temA+wXncUAOH/wAKAFWy/uoAXoGl+PKgBrcddORNIAiKQLkaUALp7aAEJIBPLhSGkNZwovzPOlIQel2fcdwxgoRkgl4kg3df7DWuPG3qzLJkS0DYXYUoN/TOnhW/Ax+4e3r6PtuURmw+mHcQLjqFo5f5X8D4NWGXr8lpub4ezDhnM8ztnP2/KlxJ4Wx8vHa02NINQfd4HkRXl3u6uGenWqstB0O1Ys3kkX0pDw6uHwas3laNFjRNXY8qGySJ68J5W1HurN5C1jLbbNvbhA3rIPmx5dGH+FqyvY0rUtYO3FyHLYgKTD54XAV//T96svurxLWIc2yIGH6hDjyjT104f7399J3GqDm2TJgS7KHifhJGOpCP5k/spcyuAPadoz96z22/YIY8kwMFz8qeQR7didWgMmSflc8o0uxruwdS19Xojjz9quPTdm43T6I94YuGZsbKwt5njF2w4xJiT28IZZCyMfAPa9dn/wDMq1paLfsci9wsnrXQxGNHMnqrEr3x3MeXiSxlJoZBxSaA2Kt7V48r15XYwWxW42UP8bHqYctcleVdiZAkMy9UTBB1WKsbp1exjwP+Kx9tczZuizEWo9ZSXTVSCVlX/C41+29Zt+RrCIG59nYO5zpnYrtibqmqbhiBY5yf+ZFpFOPG1jXTg798Wm9fx4nLn6GPJ/tsVOL9M9337dU24LFjZshYzbvHpgiNR1NLkRNZ4W+Fe71+/jybfV5Hi9jp5MWrXy+ZD3HH27tnCfGxMyN81CRk91RD1TIw4Y+3jXpX8Uh1rqsjlqyFj/VrJ/7ej7U3jEmm2j1zkz5i5DnMl6xa0jnR08EOlKraG0vAldrdpL3buTpsGdjy4kUTzSDK6YchIkPyKpsruRwsabaBIJ3Fvm2bV27ImDjLg7ZHIohwJmVsvNma5MkzD/KW1yPhS4vxHPkcezMyfMypMmduuWQ3J5D2D2CgYHjpzNAGp7W7Tzt+3fbNjxBbI3KUL1/giGskp9irc0NwiT7Gw8bbtn27E2nCQRYuHEuPjp/Kgtf48TWSKZmJwbE8uVeHJ9KQJJ3S4HDnVIQFs57FVpDgHjuTJdqTKRZwsqi/PxqChkmUFOnKnAhRMJF8x0qYHJGnCLwq0yGA61ANtKqSWiNPOo+ZvdVQQ2Q5MtCLKRenAmypzsgngbHxFXUysytfIl/ETVwRJHeUkXJ1pktkaXLUaGmkTIBZg51+FU0A9XApQAUsGS1EAWXas5h3FPAmpzL5TXA9ToHeG1Pm7UuTFo4W/UPEVz9XLxZr2cUo5PHkL6747LZgbvEOX8yf2V7VXKPGsoZaQSSItna/tAsfZVEAdzwUy0Wdfy8lNBkDQEDUddtR/i5VtjycfgZ3pJK2HuWR5f8ATtzHobgh6VduEvh7Ooj7au+LxrsZK3gy8y8FMyBoeoRk2KE69LCopeBWxyXONMu34uPjoheJLRkfeOnEe32VnZy5NqqFBYKA3/U47jrbj+F7cm9vtpFEhXxszH6WUghh6kTcVddaAC7bNlY6yxZJWaBnIReP5Z5NfwpARfqHBHP9Ot/9Fi9sJyQxu2hB+NAz5j2LXPIPPHyB/wDmWpsKn1D9EyZfpdsZZvlE6gnwWd68L3D/AL7fl/A9fp/9S/M17HpY2+0VhS0muSniEQxSBkkAuePtotVMlWaIeRhBfl+T9ormtSGdNbyiPHH0vZbgjj4GqT8yXXxQ18FJDdT0TDW3D7KX2o2Krm8GUmXsEqbmu8bTlvsfcMYsu544BSYD/Ly4flmT36+Brq6/btj+Bhn6tMmvibDtj6sRNmQ7H3jBHsu9ynoxctWJ27NPjBMfkc/8N9a93B2a5EeLmwWxvU6GwVkaORQyNoyNqCK6GjGQKrk4muPefHHGBjeRR/Ix+Yew0g2JmLlwZKdUTXsbMOBB8CDqDQNMyu1759Qcrv8A3LCm2RIOzcYLFBuM79GQ0oUlpIVHUJY3OnIrTITbZqJZHmY48bFY10mmHEfyJ/MeZ5UiwyRgIFROmNBZQNABQMZkTRY8RkkbTgFXVmY8FUcyaAbAQwSySLkZYHWusWONVj9p/E/t5cqBILm4mJnQmHLjEqHx4g+IPKpyY63UWRdLurlGH37szKxOqfEJyMYam39RB7QOI9orxOz0LU1rrX9z0sHbVtLaMzePgZOdlx4uMt5pTo/IKOLN7q5cOF5Lca/6HTfKqVlnTNq2zF2zATHi1RNXfm7nix99fTYcVcdVVHh5Mju+RJVWY9b8Ty8B4VqZjjrw4VIMHkRCWB4zwcEU0DRwXO2P6h4e57xs2Ds0r7fuyviZLLOsGC+M0nWsqInmScdTB34mtGlbc5+O513I7P2/IxIjif8ARZCxIrR8YmKqBqOR9teX2Pb6W+n5X+x6mLu2X1amQ3TYMzAmtkRGJvusNY29zcK8bN1r0eq/kepi7NbbMrxIVPS+jc65oOkPDLyHD8J4fCgGiR6h6Sw4VSZDQKQM1ha3iPGrTM2O9IKtzew5cx76pCHIx4cYzwtVolj1TpP5Y9y1RJKDNEgJ+c8QP7DS4lcjxmjkFgQpJ4HVT7PYaTqNWC48ksbH029jRtqD7KlJopwyZHk38twDzhfUfA1dbENBY0VW/L8jHjGeBq1uS2FVwh6WXpPNTwpzAokR/M1gLniUPGpbbGkKFa2l2A+794e6mlAtzwYNck38fH4iq5Jk8WhChTzxNpyHKpdXui1adGN6Uck/05eduBqdG/JlNteqK7f9h2vfNvl2zdYFlhmUgqRpfxB5GqTc66WROy02Pl/vbsXuP6Zb2dw2/qydkyGtc3KMt/6cvgRyavRxZVkUW0ZyZKOjlbFpte6bfvOEMzCbThNC3zxN+Fh+48601q4ZEJ6olCwFh8wHGtUzF1BhuZ1PsqiRb3IB5UxQPVNLcxy99MUCkECx5cBQBH6G6rkcKAHi3UQTp+2gBQOYNxQArf8AxoAVTrpof3UAFW9qYCG44X0pAES9rc7aUwFUdXEe6gBwv9ml/fQA46jhQA9F4H2UAL0AnhryPOkA9V466CiAPFBb+FAAZAADytSZRoux+zZu4chszKQjaMZulzqPWlGvpr7F++fhV46zuZ5Lxotzp69uxfgAA4C2ldPI5OJLg2GFT8oodhqpLj2iMcFqZKVSl70+mu3907ayWGPvOOjHbNxUedWAuIpPxxPwIPDiKwzY1da7nT18rxv0Pnj9Msb/AKfdoBjyE9PrqLxkg2N/DWvnbOH8D31XyLjD2XNxQrRWyMQ6+m2ot/K3KsbZDStJLXD2fbM2UEFoMlTqnyyD/Dyes/ulvGGbb8zHN8oCcDgwFmA8TbUH3UO6ekDrRrZg8rfMHb8IzblN6mL1dKs9jLc/cS2sjeC2vVUw2s4oTfLWq+bQBkba0UX6zuN8nZNoyFDYvbeOwTdc5DqGyDqMGFv/AFkV7nV9uVYdtzx+x37X0ppXzM7v+85W5YsODHBFt+x4h/6LZcQdGLFf7xHGSQ85Huxr1UebMGv+nf1eztk9La9/eTK2gWSDN1ebHHINzkjH2ipdfIUnTu6exth71xYN2w8pcPfFjH6DfsezrJHxEeQq6TRe/wAy8jStWmSvC65V/dfAvHktjtyq4f8AH4nJ83aNxw94ba93xjtu+qpZVjIaPJiH+djubJkR+I+deYr53udK+DX6sfg/5+p9B1e3XN6W8UEUZECWdFaC/wDURS8P+8nzxn2rXm6HckTIfS8rIwQtw6mDRsf5ZBp/6rGoZZYoPMBkx/mKPnJIcL7G429/UKzY0Ve7fTrCzsaQ7WUxJZPOYgoOPIx4+pB8uv4oiD7K9Dre7ZMelvmX7nB2Pbsd9V8j/Yx+7/TvtfZdriz93ynj3D1Ol9oCM2PIWbyrHORdeldT1214V7vX7mPN9L1/c8bN1b4fqWn7GU3LGxsaN+4N1hMOOj+ltm347EK8i/iYadI5+NdKqYSYTcMvKzp3yshru3yryVeSqPAVZKIdSUWvb+0tnZJkfy40A65pDwAFVVSRa0H0X9Be0RiYE/d2XF05O5j0dqjbQx4anVx4eqwv7qyu5ZVVB1WfE9RusjhwpIZlWN49da+fk+nK7IhYm4FUmIHHiNxIqXYqAgxgDe1KRh7hE140CKvKms+huPCtESejzdLW95pQMSXK6qJFBCyZ3C6G37qqpNiky8zIuR1XFbKDCxDGS4qoJkHLN1LxoSEyBI5VjqaogEzlhTgmSNJGWqpE0NjQq2vChgSEHjSAIq/ZRIErarx56MDzotsVjcWO1bQFytnMbi4K2191eVbRnpbnz79SIZdj38SgH0C9yRxA8RXudTJyqeL3MfG0kvbNyTIgjkV1cOLrIvA11tHGmT2lKp8/T5h081ueAPsNIYmbteLn4kYmX0Zoh+TINSCDfpNtSv8AsK1x5XX4Gd8chNn7klxslNs3c9Eth6GSflYHgGbn7G+2trY01yqYK0OGa6DJZPysjzQv5VkI4X+6/wDA1zG6JsKy44JhJkF7yRsdWHiD+IftoGWscnlDC9vboaAD9QfUCxoAqu75pYuzd9KHX9DMbe5b0AfO+yvi5OZDkReSUxzLLEOBJgfUfZStsOu59GfQ+Rv/AMGG0WPyvkjX/wC/GvD9x/7n+X8D2el/0r8/4m39Qam3lNcKsdbrInUQOPuNb1vJz2pA5Zj1APr+6naqaM1ZoPKiyoHRAjDQ24VzvG1sbVv5kZYiJAGF1PC/L41HJotpNBMnETovfqj5qdSPjVLInuRDWxTbls+Bn4kmHlQpkYcwtJizr1I3tB+6fA8a2rK1qxu86WRG2bfu7eyLQxifuPtZOOBK3VuWGnjjyN/7iNfwN5vCvU6/uCmLnBn6HjT9DqnbPdewdy7au5bJmJmYp0fp8skb80ljNmRh4EV6iaalHmNNaMsJsZZX9VHMOQOEy8/Y4+8KCRUn3Bx6EiekR82QpupX/l8+o+3hQOSVCYowqhbRroFFA0FysuGKLqLEJz6dWJPBVHNjQDYHGxJpJBlZAAltaKIaiJDyXxY/eagIDGPmuvs50ANtxHMcaBoVWtx0trryoArkxMJMqbKhhSFpberIosWA5mlXHVNtLVg7tpKdEFAMhDEWUfKtaEwPbwHDnSAS1AC0ANI8aBMULagcHnVJI2ilRZIm+aNxdfsNJpPRjTgzG8djYuQDJtz+jJx9Bz5T/hbl8a83P7bW2tNGd2HvWWltTHZ2Bm7fP6OVE0Ljh1DQj3868fLitj0sj1ceWt/pYkbk2F7GsoNCXFGGt1GxP3qupnZDjcfNw4VqYtA/SDN5fL4jlVITDqUX5dbcquCBrsrG4v4E3/dVIlgSGJLDW/H2++m1IJkjFkK3Da8z/bWbo0aK4+XLCoeleu/AHkfE1m6misOx9yksVkbqB0DAeYEeznQ7aagqosYNwjlURz624OOVNZfCwnj8UHYlF6gfVi/EOI99VMeqJ3CLIrKD8w4hvvU05BqBpUE9QOvI86USIQMOflP76pOBRI9lDCx+DCrdUyVZpgTG6aN508LaiodWt9UWrJ+jIW67Tg7tgS4WdEMrDnUq8bC5F/ChTuh2S8T5i+oX063z6ebyd62MNJsshtc+dQp4xyjw8DXo4s9cih7nFkxOmq2JOy73gb5hHIxT0SpYZGMT54yf3qeRq9auGTpZSiUQEJsNDWyZk0KhAYNxHhVJkBmdbhhxpiE0tr770CEckg8xegAYTqIW9r+PCmAboIFhwHKgBo1ubaUANuQdffegAykHS9CAdZvhTA8Aeq3D2UAEtp7TQA6x429hoAf0qCAOPOgB4BPT7PCgAliL6WFACfYeVAHm4c71JRY9rdq5vc+8rt+Oxhx41Emfl8RFDfl/O/BB8eVNVkVnB33C2rCwMKDBwoRDiYyCOCIclHieZPEnma3OcMIB4U5CEESG3KiQgMkIqBwUPeHeGF29ivjwss2+zRscPDGpS4sJZfwqOI8a5u12Viq/M6ur13kt6HDsZ4Gc4u5Qqrve8jC8bk6n/CSa+Yd29T6LhGxMg2LJwfzNukvEfmw5Ddf908qTcjTWzDpFhZx9EoYMteMT6G/8p5/CoZpqvgV8e4b7mblLsWxQru+djLfJlmf08fBT8eZlfKij8GrHlXd1Pb7ZNXpX+Jw9vvUx7a2/G42M7XsGUczBmXfe6bEP3FPEFxsUnim2YzaJbh6z+Y19DhwUxqKo8TLlvkc2Znsr1p8iTIyJHnyJWLSzSEs7seJZjqa2kxZHOJ16cjVSTwIb4gXQinJXA0PZPfW89p5PTDfK2mRr5G3sbDXi8LH5H/YedJry3E6naYMjs7vztuPF3AjMwy4/T5nV6ORBkfdPWPNjZA8flf8AZSn00e6exOqczD8GYLf+39/7Ty1j3l/1e2SOI8HuFVEXUT8sOavyxTcgT5H5EHSvC73tULnh1p418a/zR7nT9yVnwyaW8H4P/MGuBA8j9JME6/1ehbf/AJSI8RXhcj19g0MWTjJZ1DY4NwRd4fgB54/hUsa1LXDMHR1K3pqSCeo3QnwDjT7ayY9Q8kcMx9HNiEscg6SrjquvuN+ofbTTackuGjA95/RbG3TbzB2/nvgQrIchdqlJfDMxFmZOLRFvZceyvX63u96aX+Zefj/medn9vpbWvyv9jhfdHam/9uZAxd5wpMUsbRy26opAOaSDyt++vfwdnHlU0c/xPHy9e+N/Mvz8Cjgx5Z5khiUs7kBR762Mm4Ovdm9hPue44naqXWLpXM7hyF4x4/KK/wCKU6Wp5HxUeJnX5nJ9GQLAvpQY6iOGJRHDGosqogsqj3AVhsalgFPp6caYGAGUoGrV8+kfTtgZM0dXL2VUCDR5Ssun21LRSFMnA3+FIYOWYWsaEJsqsgAtdfsrVEDYgdLi1Q2Wh8hC3PKokorc2QMNK0qZ2KbJuCfCuipz2KrJlZCek1okZNkRsxhpeqgiRpyOoa0QKRFNzcfZSbBBiptSGRpLeNUkSx0T30pikmRLcg8KllIPGOidWHChbB4nXOzssS4arflXnZVDPRq5Rzj63bSsuOZenQjRvAiu/oWOLvV0k4ns+9ZW0ZHSbvjObyRf/bL4GvXPGOjbbukOXjLJDIrxvwY8COanwNS0UmWUEgVPLcAAiza2t/ZSGeyNvwtwx2x8nRzZo5Br0E/eX2NzFa48jq9DO9E0LtW/y7XLHtu6v1wN5IMo+YWGmp5p+1a2vRX1qZVs66M2+PM1gpbRrEG44eIrmNifFKwHHT9lAE1JbdLAD3caAIXdP/Udq70lvM2DkWHj+WTQB8w9qE/65jqDoVlBH/4l6dth13Ppf6IMT9MtutwWfKW3s9S9eD7n/wB7+C/gez0f+pfF/wATbfqVR7hrMOF+fsNefJ1OjFE4ZrLoDyokuNAyllNiL3retznvjgJE/TfpNwONWzEkxz45UvKQpGtjz91RaiY5ZFnmSS4QFRfmbjWsnijY0rfzI8idA8qkA/7ympTdTXRgixaMxufKeBU2K/4W5Vorp7k8Gtik3Dt2eLcv9c7dzH2fflHmzYRdJwPuZcHyzL7fmHjXVh7F8frUxy4aZFrozXdpfVmDKy4dk7tgTZN/k8uPL1XwM0jnjzH5WP8Aw31r2sHarkWh5OfrWxvXY6Jcg24eNdLRziNIqIXc9KqLsx5ClAA8cO8y5Uy2I/oQn7inmf5m/ZSAsHyr26PL43oHI1nkkY69Nvmbhb2UAVmxdzbFvcGTNtWXHlY+FLJj5MkbArHLF86sfZxoCQ/6yLLjjbGcPjuA6yjgynUEHwqkhTImjkAf014fzHxpgFJt76APW0pAeoA9QADMlnigLQL1SEhQ1uoJf/MZRqQvgKqqTepF20tCFtuS0QlGRIxRACzPfykmyserzdU3zBBwFXdTqjLG43/H+pZhkI0YHW2hB18NOdZwbpnqBjMnHxsqEwZUSzwn7j8vceIqL0rZQ0OtnVyjKbr2IbtNtcnVz/TSGze5W4GvJz+2eNP0PTwe4eFzOMJ8eRoMmNopl0KOLGvLtR1cNQz0VZWUp6Bo5AdDwP2H306sm1ROkoxF9DwvwrRGTQ0ub6i3tq0Q0eL8LkA8hxvVSTA9RHI4J8o52pcgVRZxiIUBLJdrC2tz4UnkNFiFkGMFUg+a/Afuo5lVq0DKq110W1vN4+8Vm3JokK8k6AAnq8Dzt7+dQ0Wg+JuksLDq4fsNFXarkm1Uy2gliyAXhIST7ycvsrVRbbcxc10ew71j12Zelhx8DTVvMTrOw8EyAi1vAH+Bq0Q0eGgsjWI0MZql+gNj420tz5g/wquXmRx8hjQeYMh6T4cKl451RSvG+pD3HBwtwxpcTNjDRzKUkVgCrA6ag1L9dH5mlfTVeR8x/Uz6Vb32Luf+v9vFn2zqJ8ov6YPFHHNDXfhzT8tv1OTLij5qibBv+Fv2KXiAhzYxfJxSdV/mX8SH9law6v0M1Fl6k03TStKsztUep5nhVyQPsTwGtBI5Fut+XOmKBpS1MB1zYeBoAb5i1lHwoAJJEyjzNa3IUAMUX/24GhAFU6a6+NMBwvx8aAHg3AJPDSgAg93vNAC3JIvprQAZEJ1HDj7PjQA8gW93jQAM8/CpGh+BgbhumfBtm3xetnZT9ECcBfiWY8lVdWPhQOT6F7T7WwO2tmj2zFPquT6mblEWaecixc+Cjgg5CtUoMG5Lj0xVSIX0taJAekRJsBcnlQBzr6gfVZttebZe0oRue/r5cjIXzY+JfmzDRnHhXD2e7XGtDt63TeR67HL9ry2xJp5c6Zs3dso9WdmSHqcseQvwUV8/lzO7k97H11RQizkOFlKQSpFvMjWrIpJoiPvcewQPNlzodrT5mlaxS/AIeZ8F5060tZxValWdVWW4C5WDnb3BHnb203bnbjefGgChd63BeXpIf/aQt+N/MRwr3er7ZWvzX1fkeFn9ws5rj28wObuIfb49m2rFj2nYYD1Q7Xj3Cs3/ABJ3PmmkPNnNeptseeq+LK1oG6eFiKCgRhFr2tQNIGYLagaU5KdSNlYouG/ENaaJI7xMZo39box0UiXG6QQ5PA9XK1TxZHJBNm3nddi3EZ+1zelL8skbDqilS/ySodGH7uVatSZux37sfv3Y+8MGXCyIkXMaMpn7Tk2kWRCLMV6tJYz9o51OtXOzDRqGZ7uXsLK7fjbO2eGbdO2ovM+AhZ9w25eJbGfV58df+Gbug+XqGleZ3va65/mxfLl8v6b/AMrfsz0+n7jbH8t9aee7r8fNfuiDh9E8EeViTDKx51EkM8Nruh4G3yv++vlLp1brZQ1uvI+gTTUrxJBxI5EJQlGPzPFx/wB+M8ajQOTQ2FcrGBuBJBfVkBeI/wCKP5kP+GmNtMmxei9nDdAPAk3UnwD/AP3VKJJeg7PwsXNx5MLcMWPMxJR+ZjToGUj3G/2iqrZ1crRkuqahnOtx+he0YmZJvXalkyVVmi2nKa8PqcuiU3ZR7717PV95dXGVcvXxPL7Htyt9Hy+hr+wu2/8AtnZ/QkYT7tmt+o3fKPF5mHyA/hjHlWvXp2K5dU5PNvhtj0ag1KuRbgpJ4VRJImmEZXQ2OhPIU5EcZbcnbnXkKp9DIsOXIx48KGNMtcWWRwBw99Y2NkTHkdR7qlDATZK9Jvx+yqSJZXTZFm04eFaJENhoMoNxrOyLTHS5CHQ1HEqSvyEU3Iqqk2KbPuptxFdFGc1yrnQNw09lamTKrKQhtDatKmTQOMOdDxptiRJguG1qGUg7stuNIckeysatGbJOPjqaTY0ifHEqjy/21ElgciUAiqqTY6H9P80OoUmuPsV1O7C5RF+r8bY+CHmiLQSgnp5Oo49J/EK26cq2pj2nNT51zsFOgSI3qYshPozDkfwt4MK9yNDw29QG2bplbTkG3ngf+rEeDDxHgRSA6Ns28QZeMkkcnqRm4BPEfyt7alopMtMZinlU2GhMR+77vZQMPNj4WbG2PlL+W9yLcjydDyYc6ul3VyjO1U9yPtm55nb8y4Wexm25j+ROBqi8bj3feX4iui1VkUrcxVnTR7G4xMmORUZZA8TjqR1N1IPMGuVm5Ywy2serTlrQAu8yepse5Kp+bDyBb/8AFNQB8wdqf/x7E9vWPtjYUW2HXc+k/oigb6ZYJDEEZWUCfb1ivC9zq/vP4I9joXSxw/Nm19MM4crdRx8b15rZ6KDpGijqW5B8aCRyZEkUlwQRw6W401YTrI6WVJAXQCPp1KjmfCtFlMfskPqndidbDgONWsiJeNoU5Kxra/s18auSICRZJcW6wD4GholMKVLLcCx/FyNYWp5G1cnmRZTJGwvdTy5/tqa3aNHWtiBuODg7nhy4W4YqZONKPPE4uD4MPBh4jUVtSymVozO1WtHqgWw90929l/kXm7l7Xj0/SSNfc8Nf+U7f+4jH4T5q9jB3PCx5mfqrev6HQeyu/Nv7zkzXw8TIxMfbWj8mYnpySmQEh/TOoRbWv41348ivMHFfHam5rernzrQgR8iCIx+q/QJG6UY8CfC/jSAmBUZemwKnQg6gg8QaRSKXbI9nwf1m2bNtseBjRS3laCNI4JZpR1S9AX5mXg5PPSqVSJ8CX/y10H3iP3CmAUaD28qBngKQC0AeoAVVufZzoAcY/wANAEWbDheYT9AXJU9SyWv5rdNyt7HTSqVmQ6KZ8SD+kysNVCPaCFdHVAxsD/w/vSOT0j8K+2r5JmfB1D4m6RShEmtHMQes8I+pB5+ljxUePC9K1CqZJiSaCCAQbg6gjUGszRORaYyPn7dg7hF6WbCJQPlfg6/4WGtZZcFMiiyk0x5bUc1ZlNx7Ozsa8mC36zHGpj4SqPdwb4V5Gf221daaryPTw96ttL6MpCdSjXBU2YHQg+0cRXBMaPc64nYcLWIPD7hrRMzaI7AoCxF9dBVTJDQ0TiMGQ3uupt4UmFdxqESTHJyAQzAiOLkqnxHiawk6kjwjUeZTccvEVMlhITJ6pUkFdPLTTEyUoQAjj7DwFUKBjQqTcakfdP8ACgB0TzRt1rYga2GhFCE1JOi3OB7JKbH8RFq0TncxdY2J6FgoK+eM8KtJkTOniPD3Xh1Hlf5vgatWkl1g8D1HS9/A8RTS8Ake0jqASOtPxDjTUr1QnA78uZdLEft+NWmmS1BEzcOKbHkx5olnx5FKyROLqw8Kh1jYtWnc+aPqn9Itw7YzT3L2r6gwkYvJCou8Hjp95DXVg7Cfy2MMuFr5qlb253Lib9AUYCDcolvNj8mA+/HfiPEcq3adX6GaasvUtCCptwFXWxnao5GOoHPjVozaDRkkC3PiKZI4rdteHKmKBjLpz9tAHkIHvoAIOGnOmgGnQ/woAcoBNADwpJ6eQ40wCdPSvs50AKuh11AoAMlif3g0AHHSLgGgD3HhcnwpSAGdwim+utrDiSdAB7zSLR2z6b9kHtzAbMz0H+vZyAZF9f08R1GOp8ech8dOArStYMLM2ya1RIQLQB6WSCCCTIyJFhx4VLyzSEKiKObE0NpbjSOLd4/VTO7myZdj7Ulfb9kN0ze4HBUzDgUgP3QfGvL7ffVdEel1ek7asqNr2/8A0LC/TbYgyMdm6pGY/mu3Nuv7xrw73dnqevWtVotAkWDtO8M3rxmLJX7wHpyD/wC6qH6FpteqKbKxcmPdv9C2bH/1zeHXqbGjYIMaP/i5sx8kCD2m55Cuzq9O+ZztXzMex38eJa628g+BtWy9v5S5+RNF3J3XH/TzmS+24B/DhY7f1HX/AIr/AAr6LD16YlFUfP5s+TM5swObk5WZkSZWXK8+RKbyTSHqdj7Sa1khICGQSLET52F1B5gcbUDH9IPHQ+FIBGh001oRaBCPX20FDZ8TqgLD7uvwqkzK6K6SAjS1aJnPdEd8e50F6pGTC9M2CYpceRoctGEkc8ZKuhHNSOFPcaO1/S/6nzbysuBvKelm4URml3RR04xjXi0zfLE/7G5Vlan5mytBm9pz9j3Xee5cvtx+vY23DqxQBaEytEv6poRoQrSgtpzNfOf+wcbZax9fGLfj4Hue0NrE5+nlp8C0ZL2LfN90lrN/uv8A214MHrz5BApv1DqZxxZdJAP5l4NTIaGyYoYs8T9Eg4ug0P8AjjNNQKYHrLLCoDiycRe7RE+y3mQ+6gej2JcMkT6f03PAG2v+Fvlb99ToLVEgxhrK48w4nUN/aKdb2o5q4ZFqKyhgpMaRgGQ+pbUDn8ORr2Ot7t4ZF+Z5ub2/xoHw4zIemQ9QHzA17OPJW6mrlHm3o6uGoOBjK1+avOg9ySZi5I6gf3VNkUmXWNk6Aj9lc9kbph2zTbXUUkimQ5576341okQ2QJMhg2puK1SMWx8ecAL1LqUrgp88Xvf40KgO4M7ipW16XAXMrczKDkg1pWsEWsQXmFq0gybK/KlAPHStKoyswccq2oaEmGEgtepaGOOo/dSKPRrblVEwSopgBa1SwTJInBGmtEDkDkHqGoqqk2Nb2HOUlCk+Fqw7COvrs6xkbdsvcezydt79Gf02aLYuSPK8ctvKyN91xy5Hga6+r8yhnJ3E1qj5Q767H7j+m/cU217vF+q23KJbGyQCIcmIH50/BIv3l4g+yvRWh5UyZ7NwYjCs8LerhS/05Oat+FvBhTgEyHgbhmbRlepEepG0dD8rj2+2pKOi7HvcGdCJI36kOjBvnQ/hb2eFS0UmXOO7LKeiwS93Vvd86GmJknIjxcmL0ZEDxyqFcPfpJvwHgw5GqrZpyiWkyBh5W49tZiQv1ZOyTtZG+8hP7m9n3q6XGVeVjDWj/wBpusDOxpoUnhf1YZB5GX/bQ+IrlaacM3TnYmZLhtuywG1bHmGniY2pDPmftbp/7gwbc3sfipFFth13Ppn6AiOT6Z4sb8RmZen+8teJ7hb/AJvyR6nUX/HPxN82L0vcG9uF9RXI0joljnmmAs4UW4WW2nhUtBLAzzxGNuuMM3+3A1Fqwa47SwGM5Zer9lZSbtEn0EC3U2I4f300S2V2TBKHu41JvZPCqliRPxfRaALlY4mQDSRfm+NqtWZlenkxD+niJkgn6EHGGW5tT5Ij7bHNKs0fUiC9tekgg/CjcXFor53LizRlQPvWsR7iKpUQc7Hkx4pkJU2kHBjSdY2KWTzK7ddv3f8AUY+4bTuEm2b3hgjGyh545EOrQzx8JI2+0cq36/aeNmebrrItDU9o/VmDMzYth7rx12PuN9ILtfCzLfexpjpc/gbUV7uHsVupPHy4LUep0NlR0aKVA0bizxsLg+8V0QYgYUyMOQLDL14rcIpCS8fh0t95ffwoSCR/ynpX5zqbcr6/aaoQZECL7aTGhfaaQHr60ALQAoBJsKACgACwoGCypJY0vEnWb+bwAFNCbFSWGYWQg+znSBOTxRgbqf7aAgh5O3xywPAjeishu4AB1uG0v8uovpVKxnbHKgEXnxY8jJmW5eRUx4A/kHXZQDpZR1c/CqhNibdZbCyZUmNNDFktGzznpjVLqQR8x8x+RfGklK0G7urh+JKqUaHvbzoGQty2fbtyBOVFaXgMiPRx7/xfGsM3WpkWq1Ncee2PYy2f2zuOFd4x+pxF/wAyP5gP5k415ObpXptqj0cfbrffRlbJDE0RdSAqjV/ADxrkqzVoiPF60ayov5APkU6GQj7zD/6RQ22WlBC/UOJCsikfytyFZNHRXYkK8enRpz6T/A1DcFJD1iZ3Do3LzLahAwhaRDYDzDiORq2iJCMCfOunOmKYDhOpAQbH2VSRPI8YSdHH2c6EmEokY87Yy+X5By5e6qTa1IspJkE0WUQ0Z6W5odCDWuljNyvgH6mU9MgPsbmKpStyXrsFAPG/Hgw5++qZI101v8rcnXh8aGvEE/AbJL02EgOvB1o5eY+Kew2fGx8iFklUPHICGFrgg8jVcVZaiTdXofOP1e+iuZs+S3c3aiuIY29WaGL54jzZLcvEVvhy8fltqjLLSfmrpb8bGa7Z7qg3qMY2RaHdYx5o+Cy24snt8VrZ1dfgZKyt8S6KlT4VpWxFqhYXUcfdVSZtBg4NufTqfbVCG8T7L0AIVHEfMKYh6Lp7PCmhCFdb8zwoAdGFvqdRpbnegbCgKPs1piFJHDkKAHAG1v8AYUAEQMNba0AFUG17ceNJjR4sAPb7KQzPS985+3937fhdu4K7xvGNOrSYTxiWGXqBDwnXylVN+v7pp0U6k5GkoPp/tjNmyo3CI3+nrHG0Du3WUkYfmQLJ/mpGdA9b2Zz1NEgqSiD3D3Lsfbe1SbrvWSuLhx6LfV5G5JGvFmNTa6qpZVauzhHD+5O5u4O/8gDPVto7Yje+Pszlkky15PK4/dXi9vuu2lT2Ot01XVhcXGWCFcLGjAxVWy7bMAD0j/hvwb415TtO56SSFiwYkkvgZJxJE80mHPpHpqfm+Ue0aVKljb89vMdsW09w9+4py9sZtm7VUujb0vS2bmtGSHTb0fyxoSOn1n+Ar3On7YtLZN/L+Z43a9wamuPbz/kQMrLi2/Gk7e2rB/0TblctPgXJyZ5B80uZM3nmkPE30HKvaa46Hl1U6laARpwqDUr943VdvRESGTJy8i4giRW6dNC0kgDBFH2+ApAR9rfdUx8sbss2YydEsLiNYA4A1WCJulwy8ST83LwoAscTOjnSN1kXIgmv+nyo+Bt91x91hzoGTgNaQ0O9NW9hoHIaKDqR18QaoGiteAHUj3gVSZlaoIYyqesjhqL1asZOhOyNm23btv8A9f7syztGyt/7eIAHMy7D5caI6hT+NtKaf6EteBQHO7g796do23HHb3ZsbhotrjYrLlW+9PLoZHPt+FeR3fdK4/lpv5nqdX261vmvsdO2nb9v2/Dg2yCAYaYyhY4FHQB/hPt518vezs5tue9VcV8uxaWdbhx1rz8fiOBpbeolD20Yqxx3HptcngjcvdzFJJPYbb8Qh6WIEg8/3Tfpcf4W51PxH8B8avqQOsDjYWb/AHlPGnJLQz9MjgmM9I4stupD/iQ6ip0ew5a3DRyyw2V9Y+KliWX/AHXGq/Gk21uEJ7EqII508rnUKbAn3H5W/fTSTJbYVk1Ie4fk17H7f7a0x5b43NWZ3x1uoZ8zRzXbSvoTmRZ4zPYWrJmqJ8ORIhHhUNSaJkj9V1anSs+JfIBPlEXtyrSqIsyumy71rVGLYMZlhx+FVxI5EXIyed9KaQnYAJ9QQdKIFyEnm048KEgbIjzgi19auCJIsvmpohg0V1BpiHLkMpt40mMl4z3OpuKhlonBFK1I2gfpsD7KpEwHiQ29tID0vVwIqqgzQ9pT9GSoPjxqMq0NcL1OtbDuOJnzybLuShcQxGX9e7BExyDZVldiAOtjZNb3rp6eq18DDvaaoN3BtG3b7hydkd8xetHPptW6mwZnA8h6/uTryPBxoa9KDx5hnyv352H3H9NO4HwNwT9XtOVf9NlAEQ5MY/8AolTmOI91TsaTJnszCheBcjHb1cKU2VvvI34H8D++nuCZX4uXmbXliaBtOBH3WHgago6HsO/QbhGkiebpI9SMnzRN/FTQBelrmy+YFbtE3BgPwnxFICxDQTQtE0YkhcWliYcaacOQalQyoGTmdu5TZUPXkbZIw9eLiRfQFvBvB+fA11JrIoeljCyePVbG2wN0xM7b5J8ZvUhlikUX4g9JBVhyIrmtV1cM2rZNSj527bsu/wCBx/rAG/t0qL7FV3PpH6Cuy/TqIEXUZ2V8NUrwfdK/8sryR7HRt8kerOkJKtwH+Xk4/jXBXJ5nVbHOqDzrG4BGqgXUitlZNGMNbldJDIzFVsL8DanAEfoeBhc2YcfCsL18Tpx5OWjJKZCsnVfVeQ51ElRAZ4y0d18ykaeNUtiZ1BQpKXvGelh9xtL+ynVisiNMHlciVehidB4f4qIkatAaDE9JSsh6S/ylf7qpEWuJPjlo+lZACNbeJp6iVkQmhyEINvjyNJZGinSthy5jAhJh8D/A1qosYtOrIe+bHt274j42XCuXjPqYWGqn8Skaqw5FdadL2o9BvjdQ0TPpzuXfe17xjbB1HuHtt7hMrIcLmbeij/Nc/wBaPkPvV7XS7TyOIPL7fVVNU9GdcCkG/F24ewV6J54VECj95oKSFNzrSAS9Aj16AFFyQKBhlUKP30DFvQACFc1JyJHWSAgkPwcHktNwSpFlxopPMv5cl7iRdCDRI2hEknjFpQGubRtcC/E+Y8BoKAHxvHMgddQftuKBiSQhkZWAdGFmUi4I9ooTEyDl7dHJBIsKjqdVVlckhkj1WLqOqJ1am1Wr+ZnbHpp+PQDFk7muTL6qDpJ629Q9CRxID1SEjqF3b5VHIXNN1RCtZNz+Px5EzDyTlY4mMLwBiehJLBiv3W05MNRUXUPeTWluSmID28efCpKPAkG6mx8aAKvdu29r3OzSp6M4NxJHopP86cGrmzdSl/CGdGLs3p8DL7tsedtqKzR+tjD/AD47lR/i5j415Wfq3x+ErzPRw5639GVD+lKPzB1/zDUjw9tciaZ0w6kXIxJ0IMTdacgNTaotSDSmRMJjydIszebwNJVKbJQmRtDa/LxqkS0ISyt1A6feU8L0xQFjnCkA+UnkeNCsJ0JKSqdCOPjw+FWnJDrB4vz5/wC3GmAqdNx0+VuNv7DREiZJg3CVT0Tr1xng33hWlbtaMzdF4E6FgfPA3Uh4p4Va80S/JhAwa4Bt4g8PjVJiaFa1rDW/FTwPxqkSxoQA3jPQeamp4+I58GDcBro62DCzKRdTfxBpz5hx8jgH1k+h7xvJ3N2rGYpUPq5OHFoQRr1xEc/ZW+LM66W2McmOdVuYXtfu1dzA2/cbQ7smisR0rNbjpyfxHPlW1q8dVsRWyej3ND0sKutpIdRUc3/fVpmbQYai97Hw8RTJgeg0vTQhQvKmNHiLHUeygD3SfdemiQnTcfwpgeCEG3G2tABo+mwvpbnQAVdCf2UAIzgCw41JQmDiyb1ubbDiZTYmfPjSypmpF6yY5UfltKtxb1DcLzvQlIWtC9Ton0w+jm09uYPVOhkyZ9cyZ/6+QTqQ7fcjv9wHX71bqDmeurOrwRKiKiKERQAiKAAAOAAFIZm+/PqTsfZuKqZH/WbzOP8AotpiN5HJ4NJb5FrLLnVFLNsOF3cI5BkYu+dx7m2+94v6+SNcHATXHx0PBVTgT7a+d7Xdd2e91+pWiLGNs+HzdIzMQf5DalR7K5q2k2svyJ0OTBkRkREMo+bGm+Zfcf7K0WNMh2gpe4pxuO0Z+147dOTNjyx46THzq7IQDHJ/bWmPE62Te0om95q0t4YD/wAefrJtq7Tidg9xOMDc8Bmx9rnlskcqly36eQn5JVZiFvo3DjX1NLJnzN6ur9DqXdva+0dwNLB6qRbvhhT1oR60XVqnqqPN0N7a1TT0ZOq1RyvP2vcdsyDh7gCJ1+/ayuOTrbS3urO1Gvga1umCjZk1U+8X41JZSY2yR43qmfFg3CO7OJijPmys73AfrPR5QbaHhQAaHNiSXIwNqw0zIomZp/QKY2PALXZZJm8jSE+HDnapAn4GZHkYUGdD1Hb8hA0bsLNHys3G4uONAyyjC6H5gdQeVAiTCEWQPqLUDkDBgZWdnrh4UD5GRKxEUMYuzf2AcyapsCP3D3X232XN+jxo4u5e8/u4kZ68DBbxlYaTSL4fKKdrKim7/IzqrXcVM5t3afdPdO9DuLunKbOz5CGWOYEoo5Kq8FUcgK+e7/ujsorse30/b601tudSwdv22FEhaL9PJYAD/L+HhXiO/Lc9Ti1qtic8ciERyoMiEcmN9P5W40vmXwJmtvRhYU1IxnLDnjTcbfytVJ+WgrL+79R6rDI3SR6c44Ix6W/3TwNVCe5EtbaoHkGZB0TxGWPmw0YfDnSa/MqrXhoyViKCi+nIJY14dR8y+y/H7ahUnYTtG+jDMsbEdQIbkeB+DCk99dxr0CLG1rC7c7aBvs4Gmm0ToJ6CEERG3NkI0+KH+FKE9h8mtx6vIgAcXjHjcqPj8y0tVuGjPmiGIXvX0bZyJFnBoorNmqQf1CBb7KkBomYHxpwEiO16AZDybC5rSplYgEkmwrWTKAciOfdRImhkYsbGhghMjRbCkgZAJYtoda0Mwiq3hSkqB3STytUyEDTj3NwKJCCVFEoX21MlDhMVNr6U4FJKSUEa8PGkEhYmANAI9Ib8aaBlt2xG5zVIFwDeqsyse5rPqFgf6p2iMnCjeXbNrKydw7NBpkIhP/vFGvqpbS/3K68FfFHL2G04YP6O96ZHcGx7h213cyy9vbWFi27ufLlRFjZ2Agw5JiemSUggp0G4512+B5j8jc7rt2DuWHJ2P35F+qwsqy7XurEAlrflgyfcmX7j8G4GlAJnzH9Qfp73F9Mu4GxspP1my5ZIxcsqRFkRjijj7kqcx8RpU7Gicmay8KCTH/VYpMuFIbWPzxt+F/4Gm9QTKyCfL23KXIx3sRwPIj8LCpgo6FsHccG4wC2jrYTQX8yfzKeYpAaeFtepW04nnSAkwZKv1hbOhHS8bAcDxUjwpiRM2LDxcCGXHx7+hK7yIn4C62Kg+Aqr3dnLFSirojheyn0u4sZLcMpQfg9qzv8ASy67n0Z9B5Hj7Cew8q7jlC3/AKK8H3OVlT/2o9jow8cep0hFWQF4m1+8h/hXBpY6pdd9gkTGOzRm4PzKeFQ5qVpZBkdHJFulvCtKZZ3M7Y42IuXEEHWdVPDxrUzK1z0uWX4gVhfHGqOrHknRknFztLH5Ry5+8VCbQ7UDT5Cs6sp1530onUXHQM0m2SwMxl6GNvUB4gjgR41qmjF1snsV2XuAi0BPUdAbcR41rWplbeCEu5oGCMQT48T8aTtBpXE2ibHJIF6jwJ1PEWolMXFoHPEsikqLtY6H2+FTtqi1aVDIeHDnyZcWJjqZ5pW6YlHEn+bwA5mtcSd3xWrIypVXLwOr7FssG1YYjFnnks2RMB/Ucf8A2q8q+k6/XWKvFfm/M8LNmeS0vYtEXW5+2tzIcdfcOFACE0gG3oJFFABUHSPbQUhZZUijaSQ2ReJAJ/YKYxY5I5EDxsHU8wb8aBJyOvSGetQB736igADYadZeNmjZrdXSTwvc2pyTxJHGkUNaMH2HxoABkY6SwvDMvXFILOvIj4U04JdZUCGESTRSF3VkJFg1lYNp5xwPjQEGbxt13BA+QY2xjuGXIyfqVPWUj8ipHESOmNI065JWsACbXNMx5s0OJl4+VAs0EgkjbTrUMATYE2DAG2unspM2TkLakM8CRw56Ecj76AKPdO09vzGMuMf0WUdbqPymP8y8vhXDn6FL61+Wx2Ye7amj1Rl83A3DamtmQ9Kn5Z01jb3NwvXlZcN8W60PSx3pk+l6jWigyU61ABNRCew+Tq4ZWTw5MMtiCwH2ioag3rZMPDP5bOOoeNIGEZeBBBXlztQ0KRY+se0eF6aEySLrYMLrxsauDOR6NCwuvEcvvCmiW2OILC4Ia/OmCZ6KTIiNkPPS2h+FCG9SfDnpKLP5XHF7fvrVXnfcydWtiWpKgdWqng44VZA/p5UJeQMQi+nzDmOdV8RAShKno8ym4aNtalry/QfxOG/WT6HxbiJd/wC2YvR3FPzMrBXy9ZGvXGeTVriz8dHsRkw8tUcz7Y7tfJkG071+TuSH045pPL6hGnQ9/lf99dFqxrXYyradLbmmZGU24Ecb8aqtibVgcrdXD41omZNBlNrW+NUSOFzzoAcefOmB5RoDf/4UIUDtbimCCoNdTahCY5lsdOFAD16bAOSF4E0SOCXsex7hv+5foMAWVR15EzfJDHf5mPieQqXroivU7H2v2ds+xY5TCi6ppD1z5LDzyPw6if3VvVQc7tOpqceEkhQLk8qCTnP1A+r6bdkv2/2j6ef3CbrNlkg42J43bgzj7K5c/brQ7MHVtfWNDm+1bf6GZLnZWQ2bv+RdsubK1ZidfITyrw8+R31tsexixqmxfYWSCxVz0SH5o34fC9cd8bWx01yTvuSsllWLqjfoktoRqPcRU1RVnO5m95zmK9dgrAX60NtffXZiRz5NFoY7ce5HClMsl40OknBxXo0qcNrHO+5svF3LNM8IBl4NNwZwOHX4keNdmKUcmWGdZ+k/16mxlg2Du7LMPT0RYHcrIHkjVL9GPn/fmx9eN7r7q66XOLJj8j6A3bC2PfA+25JDyekuRAyW6jG40yMaThInJum48a2raDJwcv7h7a3DY8kJkD1cWQ2x8tRZX9h/C3itK1PFbGlL+DKtdCD4VkbFJmbP+l29YIY59ywYG/6bZh0RxAs3V1TutnlRCb9Jv8aUAW234MsEjZWXOcrMdeglQY4I4+PpwwjRV9p8xoAs8eOFUEaeRdStuA5mgCy2/amnw5tyzsmPbNjxTbL3bJ0hW33YxxlfwVaEpcIm1ktzGb/9UMncxL259PYpNt2ycFM3epNM7MHOxH9KM8lWsM/bph21sbYurfLvpUf2f9M4IQk5dkzfm9Qm5LeJvxr57s9q2Rnt9fDXGtjqOAseNGsGaojktpMotG3/ANz+6vPmNzpdJ1qTpcJWXSzqeHPTxHI0nRPYVcjW4BUmx9E80Q4xNw+B5VHzI0brffcIIocmxHkccFOhHuq4rb4kzagr9aBVyF9dRp0E+YDxBpxZb7ErjZ6aMkIpKn0JPXjGpifR191C9BOP6hq4WPKfy3ME51sdD8fGnv6BqvVCpLNjn08lLRAW61Fx8RTfrqSknsTIVEkfUhDR8vD4HiKjh5Ddo3CNxtIL+HVofg1J+qCPIIIjfyEluato3286aTWwm/M+YIHGle80YVJ8D8qzZogzOANamAbPR2Y3psEFZVA14Ukxsrcv0yTY/CtqmNgGOgLXNNslD5wig20oqFiIFQkm9UZgp1FtKaEyKsOt76VTYkiSnTax8KgoWyga8KAGPKi6imkJsZ+pVtBpTVSZBu+t761RLYWCZibcRSaGiahtY/ZUFHnkIbjTQzY9hxK84JA1rDPkg7utilHUxDmYEZydlZYNzdQpyXjWQPHe5hKtwjbnzNRTvOi0C/TV3rsYz6mfTv8A7m2/D3TbsP0cDZY2G4dpYwEMEJckyZmIsYCv1k+e46hYcq9XD21dSv0PJy9L7b4+D2ZD+lncmXN2/ndud+yRL2tguuJs/cWbIoHrsfJhJIf65C+bqX5LanhXbW0qTzslHVwbnPwsPIwpOyO+4hm7Rm2TbN1kOt/8tXk+7Iv+XJz4Gm9SEz5o+o/027i+mO/FJAc3YswlcPNZfy5k4mGYDRJVH28RU7Gu5l8vBx58Y5uCS+KxtJG2rRN+F/4GnAipR8nAyEyMdyjKfKw/caloqTofbHdEO4R9LWTJT+pF/wDbL7KmBmkx2BcyKQRyZeJ9lvZQJFlj5HWykX10N+dAziOAOjuSG68M1QL6W/NFK/0v4DrufRv0FmVey8yKRR0LumSA3gSErwvcrxkU/wBp63SpONteZ0f02HmSwfkR4e2vOtXxR2Uv4MbPO8MkWQP6fyzgagA87VpRq2j3ItVrVBU85WzKeoXSRDcMPZXLarThmytKlDpI3ksrGxH7f762paNGZ3U6ogZOLHGTxPtrYzTgrHPRL1DS+o1rntWGdtLckSRlSTIAqqqkaFj4c6daMztdVFjVSSSw014Wqvt6kPMoKzcW6GZ+ogG/R1HQE10+BhRTYi7IhTrWaPqlc3V73HtrG7Otl3GTAwYHjyrKQalCRGR5G6Rd76RLzvw6a6FrscttNzofavbi7ZAcrKUHPmWzn8Cn/LU+J+9X0HS6ixKX9T/Y8js9l3cL6S/VSxuf7hXacsDib6DhSA9QB48KBSNoEPjXmfhQUglAxQTQAkcUUSsI1CBj1NYcSedNsSQ69IYtAC8jQAg9lACg0AeoA8aAGNGDw+ygCLlYiTasTHN0lVnS3WqkglQWDDpNtQdDTkl1kz+Rg7ltfXJj9cuGixRJkRv15MWJF02gRGGryykl5OAX3CnuZOrqGxO4svNyDjY0EbSSzsMeUnyDFiIE87dJN1V7xxEfO3sBpNArtl+SOXCkbCUANZQyFGUPG2jIwBUj2g0NTowTjYos3tPELNLt5GPIfmx3JMTf4TxWuDL0KvWuh207loixR5mHJA5hy4WU8urj/ukaMPdXBkxOujUHZS6eqK2XDKr1RN1KeBFYuh0VyAopGVuljUQXJKjUAiRNTx041XEUkkSI+pHSxFiackcRBGb9SixGlxz99CJaCAMR5fK5424H4VUEQOCSqfMoOmntpqocjxiLWKmzDlzH9tN0HzDQ5E0BCyCyfjGqn4cqdW0S4ZPWSOQXiPEa+GlaqHsZy0PV14PcW/240m34jSTH9N9be5hTECZQwPUOocmHH40NSCcbHF/rH9EIt9jl3vYUCbogLTQjQS21+DU8WR0fnUMlFda6WOQdt91ZEWR/ofcF4cyJvShyZdDcaCOa/Pwb7a6rV05VMFb+m25rJEZWIbQjlTrYm1RVfy2FapmbQSNjemSSCb/21QjwPiNKAHk8Dy8aAFDeNABGcBBaiQSFxcbLz8uLCxIzNlZLdEUft8T4BeJNIZ3HtHtfG2Pa0wobSSsevLyLWMsvj/hXgorWtYMb2k0bti4eLLlZUqwYuOpknnkNkRQLkk1RBxLvT6u7j3T6209nu+DsQuuZvDDonyF4FYVOqr+2uDP21PFM9DB1XHJoptnwttw8RcbFRfTbV5TqztzLNxvXh5Zb1PWxpVXyhcnHaxAQyIpvb7y+1DSo3XbY0cP4iwZiSL6WTeSMHSX76++tFTxp+hDfhb9SS8k+LEPVJfFPyZC69JPJj4UuKttoxS677GX7ieSNDIzenxtKvmjYeDDka3xJbGWR+JybuHdZ58hkPkUcQDp8K9PFSDzstyluL3B18K1MIGySX0YXPjVIIOl/S76yZXbIg2bffWzu11k68d4mtm7bIf8APw3PL8UZ8rCtqXgxvjk+rdrba+4+38fIhysfetuz082TCvTFN7fTuTHIPvLxU1vW8arcwa01Oed29kZeyM+Tjhp9svq51eH2Sez+b7adqK2td/L8eBdbxozNxakDiSbKBqSTwsKwNjXbd9Pt6lgTJ3OSHZsWT5HzDaRvdCPNw8am2RV3Gk3sWmJ2p2Tizo+TuGXuaIbtBDCIonI5Fieq1c1+7jXiaLBd+BUd3/T7Ye8MqKXde4N4hxMbTD2xcbGXChXkI4oyv7dazt7ljtWNal06dqudLC7J9Gdpw5Fk2jcsfOlTVEkDYs5P+F7ox+Nedl6yy61un8T0cfbdNLVNKu0SYNoMnHaGYcmWx+H91cluvamlkaVyK2qcjZ4VK9MihlPPjasrVk0raNtCPHj5mKb456ohxjbUf7e6ue2N12OhZK20e5NjyYMgenKvpS/hb+Bqq5FbRkWxtarVDZsEx3K6jl4/ZU2xeQVy+DGK8iH8381eX4h/bTrkddx2xq2w6THSQA479Eo8yup19xFarHW+tdzL7tqOLaoG+W4MaZ0CqODZKf2DhUcWtLF6b1/QnqJ40BsMmA8Dzt76UWWq1RM1t6MWPGxpXL40hx5ucR0v8OFC4220Y27VWuqDu0kZAnSwI4jVD7xyptuulkSqp/Sx6DS4t08geHwPKpdJ1WqBW8GfK0L9Jr3mc9WTo5hb91Q0aKw2XLs3tpqpLsFx8u5pWqVWwabLBU3NTWoOxVyy+e/KtkYtjhOqrxogJIc+fqReqVSHYGmRfnTaFI5pg3E60oAjvIV/sprUTGpktQ6grDmne3HjQkNsCZj7/GqIYocUQI8X9tABIS3VpwpDRZw6rqKzZohuRZdaCkafs/cPQlBBrk7Kk9Tps6ttG+eoyL1X4V5stM9C2NNGxxpJvRD4sjQy/N1pxJHj4j2V6GDK0pR5WbGp1UnL/rF2U/ckUe/wYRz12KLo3Pt9LxokDXLZOIIxpcnqkAHVpfUV6/Xz8vmXhueV2euq/K9nsyk+j/dGTJ2jm7T33kwL2ZjP+k2XfsyQANOWt+kgY6zoo83WNE5mvQ8DyGoceB0LLx8MYcnZne8a7h29nqI9v3KU3AB1iSSQfKw4xSigUwfNn1M+mPcP0w30Sxlszt/LYrh5zL5XXiYMgDRZAPt4j2TsaTJlsnDxcvFbNwRfH4TwHV4WPI+K+BqtxJwUjrkYOQs0DlCpvHINCKhqC0ze9q90xZw9OUiPMA/MQcHt95f4ilAzY47qzK4Nje+nOpA46l/+5laxFs4BiddfWov9L+BVdz6H+grp/wBr7xC1rpu817+1Rp+yvA90slkqn/aev0U+Da3k6Ur+m3S/yHQeIrz0+O+x1uvP4jp0Frq11/fVWrOqJpaNGQ0xJIclZsNrKTeTFJ8hb8SX+VvZwqllTUW/UVscOak5MlJ1KOCJF4odD8KwyVdX6F0aYrxyyKVQAyKL3PMVeO87kZKwVTbXJnkCCRUkDEMpPAgXrpyY5RnizKrI742TBJ6UujDiQNCKK6ILuXoAzJxEF/43srLnqb0wypAN1SBtVkkZbdLC6kHlrwp8x8IHYYEdwwsF4eys2awWOOvqsWIV1GpUt0G3iDQl4md7G77W7eijSPcslD6gF8USAdaKfvG3M/dr3vbunx+e2/h6ep4vc7M/KjSfORfReAFeqcAQkfKPjQB64oA9QAnKgTFRbn2CmCCXoKAZU2REFeOL1Yxf1VB89uXSKcEttEhWJAJFiRex4i9SMUUDFoAXWgDwNAHrUALQAnu4UALegDwoAQgHQ0ADKEG6nWgQJYIUlklWNVmlCiWQCzMEuEBPgtzagUCmgZ6/hQB6gBCKAGywxTxelPGssR+4wvb3eFK1VbRjVmtihzu1iGMm3v1KdTiynX/cf+2vPy9J71/Q7cfb/uM9k4BEpjeNo5V4owsf21wWxtbnbTLppqRCJISA3DxrNo6FZMeuQNb/AG0BBIgmYXIbiNAeFMloliWMoOoW9vgapMzdQ0bC1j5l8atMzaHFARf5h+37aqBCMvxB0KkcffQANo3R+rHboNv6Z5+6lA5klYuejH0px0v+E6fZVK3gyXUlBZFF4yGXmKfHyE35i3VjcEq3hRI4GMttSOlvxDgfeKGhHJvrD9GMHurGk3PbY0xt7jUm4FknA5N7arHleP4CvjV9PE4XsfcebtGWdg7lVoWgb04siUHqjI0CSHmng3L3V1NKy5VME2nxsa6RCjeziLcCORFFbBaosb2P8K1TMmiSs17dXCnJLQTq42+AFNCCD5bimAMsb+6gDxc6AXLEgKo1JJ0AAHjSko7N9POyG2bE/WZqD/V8pfzBx9CI6iIfzHi5+FXSvizLJbwNjuO5bXsm3vnblMsGPGpa7EAsF42v++tG/FmaR8994949wd75hfNkfb+2IpAcHbIwUMlvvz69Tn/awryOz3k7QvpPW6/RfGXuV0WOwRY4+mGK/wCUU0QjkNOFcWTGnrU7ceV1+WyLHBngSQxT3RvvMNCPb4GsG34m/BPYto+lhZmDoD1I4PG3P2H2UJRsZ28mPGAkjh1HTKflYC4Ye2n6oavGj2J2PgywrqQgcENA2sbj2X4VDyTuVwjVbFRvfbfqQuIF9O4v6Rv0Eey9aUyRuZukrQ453V2hLHI8kKFXX5oj/CvTxZ/M8/Lh8tzFSxyROUcFWHI12LXY5I8wR9tUMUXXgfhRJMGy+nX1N33svJnTFLZWyZ6mLddnaRkSVHHSzRup6opQp8si61pS7TMsmNNH2J9PO6O0u6+1cfK7fymyMHFhSDJx8pjJlQdK26MrqLMxsPnNw1bK5i6+A07HsPa2XLm7fiqd2ybPjrL50w0Yf5angz8fZXL3e2q6+P41Onr4G99itaCfMz/Wy5GnnC9TNIbm7GwHs0FeDkyWvbVnpVqqrQlLt6qCxJsNbfwrN0GmG/Rkhb6jw5UNSMMuMthce4VaRLJ2NuMqRDFykGXhX1jkuXQf8tuIrpx9hpQ/mqZ2x6ytGJm7PFHEuTit+owZNEkPzIfwP7aWbrJLlTWppizy4f1Fa2IVN0+IPKuK1PI6OQGTEWRQsi2t9v21jfGnuaUyOuwFXysZukgzQch94e4/wrL5qfA2+W/xJax42Ql4mAa2o4H4itEq2Rk+VH6ApcGWJhIlr/iGoNRbFauqLrlVlDF9RJLCZek/i4qffWtM86WMrYWtai/p5Ma0uOxi8I+MZ+FVbDrNRVyzpZDjn4czCLOj/TTHRJ1v6ZPt5isW09LqH5mqq1rRyiQ65eKPP/1EDcG4m3v50/mr/uqR8tvSw9IjIDJit0PbVeR94o+2nrXQHdrSx8nxOCBXtnMiUp8t6kuQMp1uapEs9FL08/dTaEmeyMgkaGhVFaxEE5Y8auDORzv5TrQEkGQkv76ogfGpWgY/qF73qShsrdQoE2DjB6vZTEiQyXWoLZGey1aM2NDC1MR4ML60ASImtzpMpE6Gew/fWbRaYDLyh1DlTSHJM2rcfSIINqxy1k7uveDedr76HnUE8683Ljg9fFk5I7JseWHx114ingscnYpqVvd2TvEECSbPkSYuZE4lgaL7zj8a/fB4WOlq6KZ7Vuo2MHhrar5KTkP1B2jK7925O99vxZJk7eUbd3N2yoZYcMKCxycL0x/RkB65VUda8719HjvKTPmM+PhZon/SDumWHtPL27vvKx4+x0c4mw7vmMbvkdVmx8W4LTQKNS1rJ41qznOjyxYuLhP2n3ii7n2tuKiPB3CU9SqjaxpJIOXAxSg+WkEwfOX1S+le/wD0x3wZuGz5fbuUxXDzWFxY6/pskDTqtwPBhqPZOxonJk8jHw83DbNwl/JH/ucU6vCx/eh5Gr3QtmZ+WKXFkWeBiOk3R1Oqn31m0XJ0TtDuJs2OOPIZVyR4HR7cx4HxFKBmTzsZV7iaXgwzAdOf5opPYddzu30LQ/6H3Ilvk3l7ey6eNfO+7KbV/wDiez0LQrf/ACOlo/COU6H5Wry63jR7Hdas6rcJ1SQnofh4H94rRTXbYjS3xPMA6h4283MeHvq9LEKavXYh5Uskg6lvHnR/0m+7IB9x/wCBpVt/TbYq9NOVSzwctchOsAxTLpLEeKn+ysr43V+aBWlEDc8Zos05uOykaGWO3EjgT7fbXZiyyuLOe2KHJGGc8pEkh6wdVY87fcPtFRLVoZs6p1lEVoFyWkIKmRNQAbkrzsPEU70jUePL4DMaGJmtYC/EmsWzoJqYUbG4YRgDx506oi9oLzs7tn/VJ13HMS2BC35aHhM6nn/IvPx4V63t/T5vnb6Vt6nm93s8FxX1Pf0OiHU2HyivePGF+UWFAHqAFoAQ0CZ4C5t9tABQABpQUetpTA9QB6gAXozD/wDSZPiEP8KcryJh+Y4RZP8A+1H/APJoaJXkKH5nvTy//wBpB98Q/gaJQQ/P9henN/4sZ96EfuajQIfmeJzwLgQOfDzrf2X1tS0D5vQfDOk6FlupU9MkbaMjfhYUNQVVyEpDPG1AHqAE40AeoA8VDcaABtGRw1FAhthQB7SgBLCgD1qAPUACysTGy4/TyYxKo4Hgy/4W41F8dbLVFUu6vRme3HteZQXxT+oj4+mdJAPdwauDL02ta6o7cXaXjozPyYqiQoQUYaEHTWuJ42d1coL05IyQwFrfA1DRorpj4Z1NiraHip/hSBkyBZFHUny819v8K0qmZ2ZMSQMPA+FUmZtCgg8NQPtpyEBAgNjx9n9lNIljZcdWHmX1FH2j3GhoSYxJJcdhYmSPx+8PfUS0XCZYRSwZC36vN+0e+tVZMzaa2CEFAOodS+IoagE5AMvEpZloQHMfqv8ASDbe8MNsrEVcfe4lJiktYOPwt40UtwcrYdlzUM+fNq3nc+2dwbt7uSN4ooT0RyPctD4f4oz+yutpWXKu5zqzq+LNiy2sykMjAMjKbgg8CCOIpVsO1A0ZXRr2Xx9tbJmLQRZBxHuFMQdG8tr3voaaFAFmAJHC3GkB0z6V9kNI0fcW4x+XjtcDj4fqGB/+T7aqlZ1JvbwNr3j35sXaWO0WRKk29SRlsXbQS0jE/KXVfNYnl4eAq75q13ZFMdrbHDNxn7k3/LO6dy5Zy8yTpZMNLjGgC/KEjGnl5V4mfsuz9D18XWVV6kuDEeZbTarbQ8v7q5GkzpVmiXj7a8C9SWaM/OhFxb2rzrNyjel1ZQydDgYM6qrL0Sn5QeB91TybK48fgEl2tsd1ljXhpLHbQ/30K7W4NKyLHBjCw3SzrfS+hHs9hFaSntuYOa6MkJGZHYNqh+43Ef7eNDSe4k2tUEhxJSTET6kB5H5lPsqGnU05Vt8Sp3/tOHKhLdPUOTjRgfbV0u09CbKdzkHePYE0fU4TT7soHD316GDsHJm65zXMwZ8SUxzKVPI8jXoVumtDz7VdXqR+n/4VQh6Lc+BpSI7j/wCKXbsuT3xuO+zSSR7fseGZJ4kZlSeaUkRJKAbMqgFrHnaq5kuh3+YS5uW+TMep5G6vtrxstudpZ30UKBcRUYSuBf1HIU/yp5R/Guatk5NbLYlrFe3iNKoQdYLa1oqktitEOHH2ChqRIE0FzfmOFLiOQ+3ZRxJykg68OcdGRGeBB5+8V0YMvC3+17meSsr1I25K22ZzQTL1wNZoJuTo3y68L1j2qfavt8r2OvBGSsp6+I3qx5V8jea3PQ1lNWDq0J+nUA3Uai3vpuqjYSbIs+ApPXF5HHMaGuW+FeB0UzPZjIs3IjYxzqZFHEgDq/vrNZbV0epo8Nba10JseHj5SFoJFYtqVvY39oNdFcdMi0epzu1qOGgEuHk4x8rjpPGM6qfgKVsVsWzKV638BrSYbp6cihWPJhdT7jypq9Lb7idLV2HQRZGLYY56kvrE5uvwpvA661J+6raW3Dp+nlmHSTjZPgeBPsP9tZwm/wC2xeqX91T5IjNjxr2DmJcLg8allJjMlk6fCiorMr3yuhq1SMmwTZZJ8b1UEyejYk3pMA3VprQBHZlDcb0xDg9xa9KBgWcg0wCIQR7aTAVXC+2gB/rC1KAkC9yaaEwZYiqSJB+ob3I0ogSYZJddDUlIlRzECky0QMzJ6W1NOqkExIM8KvGptQ6sdjSdr7mwykPVzrkz00O/r5NTunbe8f8ATpduVebPFndkryLDdsvGnx2/USMkI/qNH/U9yX0ufE8KullMvYxdGlocZ7t707uxN/25e0nfbW2yV22zbMRiYHUi8v6hGt+oeS13d+PAWr6brXlHy/expPXcn90bbk/Urt/F+pmz7bJPDtCDbu4O12DiCAQrd5tvMY80Pm65ETzA66611nnyWH0f7qkwO08vC73y4Iuwes42w7pmFup8gtZoMRSC8sCg3ZrdKeNMmIOlOMXbcNu2O6kTc+ztyQR4ebIfUSOOTVEkccY+ccg1WlAbHKD/AOMO84XfnRg7j6XaBUzDPurZIjY64pTg7nk/y219lFUVZzoXH1R+gO1bltUOT2bipt+7bdF6QwQT6ebGvJi3+f8AzH5uB5UrahXQ+aiuZtmXIpjeCaB+nIxnBV43U+B1FjUmhYLkjJlXJ6+tmlVnJ49XUDrSew1ud0+h0/pw91RBgCN1VuluBDI1fO+6JzRr+09notfMn/cdSjMMp6COiT8B4H3V5Sabhna6tbB1kit+myyFv/Sc6W+Nap+BFlOqIWZiZONJ1Lqp1VhwYUnWNUXS86MGTDkwleEg4qeIpyrfEEnT4DISwIR2KTJ/Tl8R4NRW0aPYL0VtUK0oiciVSj28rE+Rr8VPhVcNJRCt4MrZo5hKZY060PzJw/bWidbqHuJq1HpsEAgmkRpPy5kIPXwuOQNqVbum+wWoraoPItxoRpxfxNJ05DrkddGTu2+38nes30ix/Qxa5Uw005Iv8zfsro6fSeW+v0ojs9tY66fUdRiihhhTHx0EcMQCIi8ABwAr6hVSULwPnW29WEvYe2mIQftoEhaBnqAPcdBQIKoAFqCj1MCOuNMmV6qTt6T/ANWJtb2GnSeVOSY1JA1qSj1AC3oA9QAoIvQA6/20AeoADNjsziaFhHkqLBj8rr+CQDiPA8RVJk2r4rcfBkLMGBUxyppLE3FSf3g8jzpNQFbT8QhpFHhQB4igBNaAFoA9QAjID76ABMpH9tAhtqAPUAe5UALQAhHhQBGzduxMxfz0/M+7Mujj+341nkw1vujSmR12M3uWw5mN1Mi/qMYa+onEf4l4j315+Xq2rtqjtxdhN67lLJi3BYLY1yOvkdlcnmJDPNCRcG/hSTZTUk+KeKVR03VxxFWmZurCJKQbnW3OgUBVyAxt48PbTFAdXI4aeIokUCFVb2X5inuKYAvDIG6hoeTjQ1PFlch0OdPGbSai+p8PfVKzRDSZNhCSXMZ1/B/ZWmjJloV0Uizgg/ipbbj+Bz36pfSfbO8duZioi3WFScbLUDqP8rW4ilVurmo3FlFj5sxczeezNzk2HuCFxhoxCmxJiufnj/Eh5rXVKupW5z60+W2xrw0bKksLiSGQBo5EN1ZTzBp1sO1QwfS9aJmTQZZOkW5VRJrvpx2PJ3NuX6nKQnZsR/zuXryDURA/hHFz4aU615Mm1uJru8/rJte0zPsvbCjct2RSkuTCQMfGI8oUNY8PYNOVTm7VcehWHrWyanJtuxZMeV8vNaTLzshi2TnsTK5LG9upiTavDy5nZyz2seBVUI0mBhiVfUjbr9v9orB2RXBot4MNyNVBvz4UJktk/HwwvSOm48DRZSJaDsraklAKCxGpvpWNqwdWPJOjJkSB0CTWEy6XPBv76K2nRivWNUNkx5IX6418rfMnI+yqdWtUKt1ZQwsQ9Q3QFHX5gw4fHwrStuRjejr8CQcMI4lj/Ll4MgPlb2++tE/BkNeKHlJJD1L5XGjKdPtqXjjYtZPBkDc9hjy42KBVl1ujC6mp+JUwcm7x+niytJ0QmNtbJyPu8K6sWd1McmBW20ORbrsWVt0zJIh6AdD4V6ePKrI83JhdWAxsR5bFV9QcwONO1oFSkn01/wCMWGuP2f3go1lklxSb8QgXgf21lW/JW+BpesOvxOnuRFjuxNmUXFv2XryMmRJM6q0lhMZEijiQaBAATx15/trKl0oLspDiZi5sNOV+Nqf3XIuGhKjsyBibDwrqpaVJjZQ4Hemo4ACqgQhTgefO1OAAyx6e6hgidkusuy48koDei5hYMLgqRcV1ZGrYZfgRhlXaRUybXiyL1QuYW5LxHwrznhT20O5Z2t9QDjcscdPT60fiuv7Kh86lLhb0PQ5sUjdMi+m/gf76SyeYWwtaoI4xpeJ6G5X0pXVWFHZEeXGZSHUkMvCRNDXPfFGxvXLOjHxbib+nlgFW09YcP96qx52tLEXwJ61C5GBGwuliOXxra+FNTUxpla0YCI5GOLAdSfhI/jUUyWo9TS1a3JCLBkx26ulxqUbj8K6a3pcwdb0+B8hpIp/jXoQZJhllVaUFSR8mckGxqkiGyvludb1ojNiwoSRSsNE5Ywq3qGyyPPJ08DVpEMier1NaqJJMK3qGUOkRRxokQDrs3HSmAySXwNNITYMZOtPiTIYZAIpQMG0oOlMDymkxIeopFB+rpj41JRSZ8rFzat6IhsiDIZdDQ0XS5f8Ab2Z0Trc1zZq6Hdgudk7b3ItCmp4V42WsM9rFaUaiLPgh6ny4jk4pUibHFgXB8GPykeNLC6p/NsLMm1puY/ujsftyPAPdW5bh+q7HGRH6C4113XIy5Lou2zNbpx1U3MsvNeGpr6fq1SWmx8l3bNuGtTBZf1A7zye6MCTt6SPb83ZGkGz4u3SmPb4sSMX9GOF+hHUgEyO/mkvryrrPPhG637bcv6j7Ftv1SwtrkyIsCM4O+9ruD6PpY4tJkbYFt1RefqkVderxIo2F6En6Sd0Pt/bu5Y3d2TBB9NxI0Gx5+Uzv/wBQzf8At8LqHqTQhdXNrIapiOl7duk/arw4O5S/q+1ckK22bqp9QY6vqgZhfqhN9G+77qmBpmunxgQGUhlYAqym4IIuCCOINIZyf6w/RaHvCBt32dUx+6oF0OipmKBpHJy9Tkrc+BpNDTg+UZMfLwcx45Imgmhk6MnHcEFWVrEW9hHwpPY0R3j6LySHK7sUcDmROAeBPS9fO+5pxRryZ7PRibJ+aOpxTdVlOjfgb/7U15Sae52tNbEwSxyoYp1Dr4N8wPvpsSaERJIVKxsZYGveM8R7qSbQNJj1TDaNT0ecH5+DAe2tNH8SU3sxmRHGV8TxA5mm4YJuuxXToVU3HVGeKnh7vZUfNXY1TrbcEpCr/wBOS3TqY2+ce78VVpbbRih131RHmx/1BDo5jca9HAG/hfhWtMq+mxlbH41ZN2PCz9x3FdtiFpR5iXGiIOLt7K2x9W17JU2M79itazbc6xt+34u24aYWKvSi6u3NmPzMfaa+nxY1SvGvgeBku7uWSBZRc/AVZB4EnWgY69Aj16APUAEVba8zQODzMqqWY9KjUk8hTGKGVlDKQyngRqKAPUgPEDnQAnWo4mgUieqvLWgJE9VvdQKRCzHiaAkWM2agYa96Bi0ADnx/UKyI3p5Cf05bX05qw+8p8Psppkus6rcSCf1CyOvp5Ef9WEm9geDKfvKeRoaCtp08QwNIoWgBKAPWoA9egBaAENADGjHLQ0ADII0NAhKAPUAevQB7SgD3uNj4imEFdnbPi5BLdPoynhKg8pP8y/2Vhk69ba+JrTM677GeztoycX+qt0J0mXVD/Ya87LgtXc78edPYrpoGRgQNRwrB1Omt0x8eWQQrHhwJ8fbTTB1JAKtwIFzwPA0CCJLoEJJ8LcRTJDo7Lx8w5nnQhBVJ49Wh+IqkQxHiRzqLHx8aYgIV8Y3X5Ry5j3eFRMFxJMgzVk0Y9Xv0Yf21orEWqOlQgdUZuo4210puvkCt5mJ+ov012TvTbTFkIIdwjF8bMUahvA+ypVuLlFNKyhnzJPB3B9P96k2Xe4XfAZiVtqLf8WEn/wCZa6q2WRStznaeNw/pNVBPDkQLkYsiz47i6SpqD7/A+ymnG4rVLft/Z23jPWCbKjwMCMdednzEKkUQ42B1ZzwVRzqndLdk8H5G13r6h40m1Rdt9hj9PtMSek+5stxb71gfnkJ1PIc78KyzdytFFdWVi6lrubaIy2P20sbIYCfWcl5pHN2kcm7Etxua8a13eWz16RRQtjS4W3tGijIi0Onqrrp7awlo2hW2LrB2fG0aI9LeC8PsNJ1nYnm1pZExMQxMboek6llFx8RQrNbida22CNjxmxU3B4VqrSZOjQWODh1a++mtRao9Nhpbquen7y1lasG9LyPxVD3ilNwPlf2eDf21dLeBOSk6oOcb0mF1uRqDwNvYedW8fijNZPBirH1PoLg/dItx9lVV+DJtXxQUwXHSTw0B5j2e6tIaM5TGJ0g9LrYqOIPKm6JgrtaEPc9riyo7Fbg8Or+2sXWDetkzBdzdgw5wZXjs33XPH7amuV12KtRW3OfTfTfM27M64/JroSLqffW77fJamS60bHUvo3uePtHeTdt5gWBd/wBvYB+RyI2PR9qXtXR0bTLez0Ofu1iI8NTpGVGIiMaUWkD9Minl0amvKz43WzqzbHaVKATbjDCWuGYL8xXUj4Vk3Baq2Mh37b3boEoDaErICrAHnrpSeSB/bZcYs4dOkWPTbpPvrqw5eSgwvSHJJUtdg1uPk93hXSm51Mmh1xf2niDyq0xNDXF7i1UQTZFEeworJ1iaUmx/CoteuzbDqiKa5NymaIW6sZun/lsbj4E15jov6P0O5Xe1hUymUhZ06G8fu0LM1pYHjnWpIbHxshAJFVh+I6/Ya141sZK1qsh5GzTIOrEbrH/CfX7DWF+u19Op0Uz1f1aEVHkjHQ4MTcCj8D7jXPLRtxT1WojRIwu2gtwNZuslK0HospsYhR+ZD+Hmv+GqrkdAtjV/iWKBJ1D3up1VhwNdii6OJzRwDnwgRdToNeocqxvg8jWmbzPiqLIN9TXtwcKZJE5I41MDkYzngaAkYSKYBYnApBI+XLHTalxBsr5pSxrRIzbEj+amwRMQlQCKzLEZyxtQAxkYi9ORNEaRSKpMloCqnqqhBgD03qWMYTTFJ4Sa0NDkkRsSRUNDH5DWSw40kURYML9Q3C/hV2vBpSksj7jtpiPCiuSS7Yhu3SGORam+qKx6HSu2d2C9IJrzM+M9XBkN1DnxywFSdLcTXIq6nU7DYMnaO1MPd87uKGXN2DeMURZHagKtLkx9Q/66XrKiDo/ybedjw4Xr6LpuKnzHuKm2hld47G7O2PYIu7Z85O5OwZskP2/h46mPOy8qVDbF3LIt+RHAEIfp8z8gCa9A8mDCZX1N7vk7nxe4os44W47f0ptsWIPSxcSBNFxoMceQQ20Kn5vvXNNsFXSDoO/5Uf1QxcXvDbMf9VvWwYyx7/2T1FUOMhJOVtypZvTYm8qL5vjxQvQvPoHuHcGXsu5YW5xCX6fxLIcXKyL2hyWP/t8Qtq6G/mXgvvpxoJ7nY+x9oz9u2eTHyWcYjSl9sxptZIYCPlN+ALaqvIUmNFyuIzyeXqLEkWJvfw+N6Q4PkT64bGsnf28bth9Mu25WV1dafKXRVSR7jk7qeFcb7Clo7K4HCZrvpjjY+FtM2Tjz+vnZ8vr5xtZOoXCqg4hVB+NfP+4ZLWulslse30sdFR+bN9DlRTgqw6W49J5n2Vwpp7m9qOuxNSU2HV5wNOofMP7aNa/AnR/EKspIJB0/4i8R71q0k9iW43GvIB+ZILj/AI0Z1HvqU3V6lcU9gocPH1IwYHgRw/uNaaMz1QBj1X8L8/40K0bj4+KIORiEAyRmxXUcre6h1T2Krka3G4vr5WRHjLGZMqY9MQXizeB/tq6VteyrEthdqqdk9Dq3b2xw7LgCEEPmSgHJn8W/CP5V5fbX1PU6qw0jxPnuz2HltPgWQta5rpOc9qdT8KAFFAC0AeoAfGOf2UAkPoGeIBBBFweINMAWPiwY6ssK9Kseory9w9lNiSgV3PAfE0mJsZc86QHrUCPUALQB6gBQaCiRcEA0DF99AHqAGTwLMFPUY5Y9YpV+ZSf3qeY5004JtWRkWUOr0sjphyByvZHH4oyeI9nEU48hK3g9yRY2vxHjUlngKAPUAetQB7X4UALoaAEIoAaRegBjR+H2UAMI8fsoEeoA9QB6gZ6mAlgQVIBVtGUi4I9ooa0EVOd25jygvhkQyH/KbWM+48VrlydZPY6adhrczmXtk0MhSaMxyeDcx7DzFeffE67nfTMmAHXHYNqo5VBruSI3BsQLjmeYpwSwoBAuD8aBDhOVtcWHM8v2VMg0SEkWwN9DwB4GrTM2hzEeF+RBpsJASYw4xm1je3DX2GpgpMRciSGQdep/F7D4004B1lE2OSKZQdFJ5jgatNMzhrYzHfnYGz927U+DuEYEoF8fIHzI3Ig1Do6ua7l1umoZ8xb19K+/O1t0eGH1VxS11zICehl8XUc61/8ALpEW0ZH/AItlrX6TS9v9i7nn+n/q24T5SCxEGiRn3hQOr3Vw5e0vBQdePB5s6Nt3aTQhFjT0m0AAA6SOVhwrkht+p0c0l5ovsbt0RyqMiLoI4OOFVDW6IlPYvE2lAAw15HwNafblGTtqJJtMZYNGDG/MDQfZWbweRqs78R6K8flkFm4dQH+16FZrSyB1VtUOGPjtcC2vEf3cqf26vYXOy3Elx1C9NiB91h/GoeNoqt0wIhD+XqvbhrUwXsOMHSQeBB1tT4grEgKQoDDqTiB4e7wrSraM7pP4ivihluouh5jl762hWMZdTy+VOl/MBwvx+BpKVuNxYD6ZuGazLe1xof8A4++tF5kP1DLBIjGRT1ovEeH+JeVOCZgSbHgnUdS6+zlWd8aZtTLBV5W1x6pKgkU6KbVyWxwdCv5HDPqbnT7b30ZdukMORtZh/TyD7ssSh/3tavT6uOMceZwdi/K8+h3fs7uvavqHs0e/YKrH3BjosG8YIPnun3lH7faKrPg+6v8A/Iv3Rljyfb0/o/gWTY3VcEAEa9RrzHhacHVzKvctpkYaqH5kW0t8a58mFm+PIiBg7zkbbkLHKv8A0JHmkJN42vxIPFT+yuer46rc0vRWRt8LKiliDo11OvG9enhypqThyUaZM8ptf3g/xrq3MB8GM80ixR6u37B4n3Vtjxy4RFrJLUTd86L1Uhju2LjL0LKhv5vvHStOzkWlVsisGPSXuyC3TIOoEE8etOPxFcjSfxOiWhq9ZBBtIniNftBqdfHVBp8BVVf8lxG34G1U+7wpcJ+lwOf7jyZ80ThZV6PBjqp9xqVmdXFlA3iTUpkozQzgBlDIeN9bVtyrYyi1QMm2Yri6XQezl8Kl9ej2LWeyIE22TgkhetPxL/EVyZOvZHVTOmR43nx7hOpDxK8j8DXMm67G7SstS0w5xLGWW4Zf6kfhfmPZXoYcnJepwZsfF+h8No32V67OJBRKAONKByL6ulEDkY02t760QEirMKIDkNke/A00S2CJNMkNERoTQxomggras2aIEfmvQAVTprSABMFuaqomRXNqsgaJeVAhGPUdKADQwlraaCk2UkSlgKi9RJQDKbW1OoyRtTdJuazynVhQu6MsgJqKnQ0UyeV62RgaXaMllIsa58lTfHaDc7Hnv6sd2Cm+jNwB8a5eGp21uRu/sbLZslc91gyIYTkMcg6yA26Sh1MhfgtvdXodReHieR3WvAN2gNv+m/b+7L3tFNnYPccUYbsPqj9dInIK5uX1G0E1h+Ui+c8Ta1et4QeE9XoVXcnYvam27KM/Gn/V9o7szT9vd3opabHnVSTt25IPlbSwNhc6+IDUbMWvgXv0S+mu8xZ2298bq8+1YONIJNpxogVzM9zp0qvFcduZPzj2a09hWhn0bhbNJJKmbuaRrJGS2Jt8YAgxyTe/SPK0nt4CpKS8WWbXJN+dyST4akkmkM439UPrLjY+Jl4OxysNuhP6fdN9jt09bD/22OTa7MOJW5t4DWuPLkvdRQ68WOtdbnNOxpp+6NzkyMqLp21oxDjYxGixrxv4sTqTXldyKQk9Uel1bu2rWht4e0zsknVgL1YbnVeaf3V5uTI39R20rXw0JoZHI8Rr9lc7qmbcrV3JkWRKrAtdx+340paB1rYPdpJ1eF+lh80baXX2e2rXF/EyasvVEhJCpLDQnVrD/wCpactb6omE9tBGx9fVxT6UrcUH9Nj7Pb7KI8iuUfUNOSmkcw9KU6E/dJ95p8vBk8Y1QKcOjXW41sLa3PK1DXkUmvE6D2h2wm1Q/wCoZcQG65K26P8AhIeVuTH732V9P7f1Hjryt9b/AIHhdzsc7RX6V+5ogOZ+Jr0DiEv1H2cqAHUAevQB6gByKTqeAoALTGCyf1JiP6dlWUajr4H2UxOT2PJLJEHli9FyTeO9+HP40MFLM3373vB2xgR+kqT7rlf+1xnJ6QgPmlktr08h4muzpdN57RtVbs833T3GvWpprd7IyGH9bjoM7Zx7Wxpv4OP416F/ZP7bfqePj/8AZV/VT9GXeJ9YO0JrCdcrEP8APEJAPjGT+6uW/tGZbQzux/8AsHWtvyr+PQu8Pvjs7LsIN4x+o8ElYxN9jha5b9PNXerO7H7l177Xr+ehcwSw5ChseWOdTwMTq4/+Umud1a3R11srKU5HlWXRgR76kqBBQIcKBhYzdfdQUPoAX3UAeoA8VRl6XUMvgwBH7aYmgX6LHBvGDE3jExX9g0/ZT5MXFCmHJX+nkX8BKob7WXpNEoIfme9XLT54Vcfijf8A+1e376UINT36yFf6qvD/APfEIH2i4o4g7+YaNkdA6MGRvlZTcGkxyOIoGe1pCEIuKYxtqAPFQRY0ADaM8taYhlAz1MD1AC0ALakwGywwzR+lMgkj/C3L3HlU2qmtRqzWxR5vblrvi3kTiYz84934q48nV/tOrH2fMo3x2RiLEG9jyt7xXI6wddciYz81dQbfuNS0WOVweIsTy5UoGFjcqLcR4UJQJ6h1kU2B+FOSXUIzHo1sVH3h/GiSYBsEccCRypFjY42GqXtwKn+NCBhosi1wRz4HUVaZm6hZMfHyo7SIsijijcvdStjrfdBW9qsiJsm1Kx6YQrcxaslgrXwNHlsySuJAidAQMn4eY91WqKNNiObPGBQptZ4zp0nlUuv5otPzI7IyG8BtbjG3D4GsXWH8v6GnKd/1BDKVm6bem45N/ClyUw9GHBrVaj5ACSWF1PhVNeepKYI41z1LwrK2GdUaVzPZhIww04eANKrtXRjaVtR7YkDi4UBuYrXhWxnztUSTDPQWTiPt91TbG0XXImRXJK2A/wAS1kbIWEMnyEg+ymgeoZkSTj5HPHwJrVX8zC2ONgRiZGNlHgw8bU+LWqErJ7iEAeeBvMNTGT5h7j/Cq5JidWgMmUjXCWjm/CfKG/sNJ2DiQDu8UcnpS/l2sOhtD7eNS6yUrNHzH3puhz983DMJv688jg+zqIH7BXo0pCSOS9pbZV9s93752vvMe77LknHy4yAw1KSL+CRRxH7q0dJM+R9N9ifXLszvBY4Nyddk7hYASRzawStbip04+I+ysslU/qUPz/Gw6yttV+5vMvbMh8czSIZYgQyS459VdOBBW/7a5L9W0S9UaUzVnQzu54OO6O0o+YWYmw+BWvNzYfGDux5D2ydeKwhQl8dz0iMXYqOVrfd9lYY6WT08SsjTNhj4mQsRyMkjFxYwC0+QehFHxsa9jr9fI99EvM8/JkrstWOzNzSCAx4CMyOPzsk+V2XwT8IrrtmrRRTV+ZnTE7ObfoVcbxvqh6ZPZYE+8cGrkhPZ6nVL8hHQA9fyH/ix8P8AeXlUuo0wiyyLZpluP+NH/GiWt/1CJ2/QLIsUi9RNxxE8fH/eFOyT3/YVW0/8GB6chQT5ZYzxK6/atQ1bx+ZDXH4M9GsZ1hf0z+A6j3VFaL+lwXazWlkO/WSxWEiG3C6a1TyNboSxp7BoshHHUDfq5f21pTKmZWo0P6VcHQFT46/vodEwVmhFhEbhkRerh1DQ2pLDVOUhvK2obPgZcm1evxOOR4yb/wBlLiHIKJRb21PEqRjyU0hNnlntT4ikX170uISL1aUoGEV9aUAGWZhzpQNMesnVxpQUmFDG3jSgYKQnWmhA1j6zVCgecU1PIIGpjkNwokEifjRDnUNlpEiSMdGnhSGVksRLcKqQRJxYgq3NZWZ149D2TGjKampuUswCSaVvU5rlltM/nAqMiKpY3G0t5QfZXK0ddbaGy7W732hc3H2Xf/0seTEJB2n3BmxiYbbnSKRH6gbRousgr1aK1ep1bSjyO+tZRyTuzZd+wu4d0j7sIg3/AAGhM+NOXkm3B5Xt6kcguZfVF26/DQW4V3LU8pndvo72Ju+x4255e94UcMHcyo2J2KV9aGMKQyZGSsvUEZbaX1HPXSm2TudkwNr9CU5mW4yNxZen1APJEv8Aw4R90e3nUspVD5ORj48EmRkypBjQqXmmkPSiKOJYmpbSUvYtJvY4F9U/rFj5uBJHjTy4ParFoxLHZM3dXQ2aPHB+SEH5pDoPa2lc1m8n/wATesU/+RxFMfe+8s6KSdBibVigrhYMVxBDGTchb6lm4s7eZjxrDsdquNQtzowdZ3cs7J2Rt67NjKrJZB8lxr7zXzebK7OT3qYUqwb+J1niVlIJOoB0NSsqe5lbE0Vubtx6jJ0lGPOk6J7FUyNbkYCUCzDrtzGhqGmi/lsOuri4a7DhyIpwmTLqFTJdNH8yHnzFEuoOqtsEEqnzI1j4jUH3iqidiW40YrzpIOjKQFT946qfjypp+Yo8jW9jdsCK27ZRZsfjgY0muv8AxdeX4ftr3fbOn/8Ast+R5ff7X9CNrqxu2pNe3J5IhN9BwpBJ4CgELQMWgBVXqPs50wCjThwoGKaYCUAeuL66igDg31E7c7txN3yN13j/AKuDJfyZ8AJhVRokfSdY+kaWP219P7d2MToqV+WPD/E+E946XYrkeS/zV81svT0MgP2V6Z4bPc6BHjY8vtoHIsUjxHqhdoX/ABRkqf8A5bVLqnuiq5HXVMuMPvLuvDAGNu+UijgGkLj7H6q579LFbeqOzH7n2KbXsdG+nf1Gn3TI/wBI3yVTnyG+Dl2CCQ/8FwLDr/CefDjXi+4e3Ki5418vifS+0e8PM/t5X8/g/P0OicK8c+iQSJtSKBhAaBi0ALQB4ez7KAFuPGgBaBC0DFFxwNqQiO8DI5lxbJI2skLaRyf/AHLfzD41U+ZPGNgkOQkwYAFZE0kibRkPtH7iNDSagachaRQhH20wE99AHrUAJagBGVW/toECaNh7RTQxBTA9QAtIBTSA9agCPmYONli0y+flKujD+341F8atuVW7RQ52zZEF2t6kP/FT/wC2HKuHJgtX1OzHnTK447AaWYcbVgdCsMvqbaa6j20mipHKxJHJhSaGHW5N+DfiGl/fSgQ8A3NxY8jyNACkuuoHV/L/AGUAN6w92UebmDx+NMIFuoIK3Vvw/wBh51XwIYePIVvJIPjVJ+ZEBkRhqD1KeF6Tr5DVvMVk58G8ahlIBJFobjTxFRZFpgP09wQQHX9oqeLjzQ5/UYIZF/om4/AePwqVV/0/oU7eYsZXqswKSeHKjl5idfIIYhbUe4/31ZAgxzfqDWPEVP2vFFrL5hwxt0nQnQ+2hWa0YnVPYG2PGwN1uR4aEfGq41YcrIH+lQ/IxRvA8DUvB5MpZ/MHNG8a+ZbjxGv7axtVrc1rdPYjvl+TpYXA4NwIo5tIHjTK3KyDEOsNf8LcNfb4U9GTrUhTZaTL05F0kv5ZV8fA01oGjMr3jukmBtE/rD1V6CIJlPmRjpx8PYaumrCyhanztu+QRM4PzAkNXqVUnmtlQ0xJ9taQZchVlBsDrbWhoasbHtn6l9+du9P+k71kQovCGRvVS3hZqwdFutDblO+pvsL/AMmvqUqBMiPAzT+OaHX9lHK3n+wcUT1/8hPqbljogbCwQ3F4MdSw+2lza8v0DhV+H7m2+nmD3H3LOO4O6c6fcMfHb/osadvy3mH3hELL0p++uLLld3E6HVWiqtEdNtfzDzDmD/f/ABqEoCQMmLE5LKOlqGEgisiCzDqA4MDqPjTVhs8oN/yG6j95eDfFeB94pxOwp8xOnp88bek99SPlv7RyqIjbRlT4PVDxKQbyqYW/40eqn30T+QR5ahCqOLsofwkTQ/EVTqnv+pKbWwwY8wbrjf1B9jCs3Sy2clcqvdQN6UcnjHIPvLp9oqGk/Rmk2Xqh4OTGnKRPxJxHvFObVXmQlW3oFiyUk0vY8Pd8KuuWSbYmj8+yxr3IPMkcshoaGmGWY86louR/WDSgYNm1ppCbHxa0mNEkA1BQ5UNKRwOtakAWI3NJjRIFx/bSZQyTWgQ2K6tTBE1dVGmlQxniqigB8TWYfspDTJdgy2pFAXxtb2+NJspIqs7LeEkDlVVpJfKCH/qUjC16fBFLKRppixuatIzvYl7ZLaUUrrQeOx0Tt9WnsqqXNrlV41yup2UYPfcSdMuPH23GXeP9YU40e2dPXJKzaBOlfMrK3mVh4eFd3VUnmd1nduwuzdzwNg2LA7mjxd87z2UMcHPmUTHa4JAAsLT/AOYY7acbHReF69D4HkwdFwNvhwldgxmyptcnLfV5D/BfBaktIFvO9bZs22zbnumSuLg44vJK/jyVR95jyFRe6qpZVauzhHzf9WPq8+4hBmxtFtjWk2rtoMVlyfwZOey2KRHiqfM3Kw81c7mzm2xuorotznmydsb13VuZ3jfHLdVlRekKqIvyRxxjyoijQKNBXF2u4q6I6+v1W9Wdl2TtzCwcaMGFVta0dhx8TXgZbuzPYxpJF6u2xyuDaw425Vg6s1WQOcWaI6A2toBxqWi1ZC/rJV0I614FTx+yhSiXVMQjFlHUh6SdbH+FarL5mTxEaXFS9+DH74qnVPYSyNEV2aJrSeZTwdeF6Sb8SoT1R5FJN0NvDwPvpx4oXLzNN2d2/Lu0zz5sdtrxz57/AObIP8tfZ+L7K9P2/p/dc2XyL9zg7vYWNRXc6T8xFgFVRZVGgAHAAV9KeEIx+6NBzNAHgBQJDhQB6gYqgk2oAKoAFhTASWQxxs4Rnt91dSaYMiRazPNjSmQM350Dm1r8xQSSopUkUFdD+E6Hja9qCpH2FIY1/TMbrIFaJgRIrgFSvMMDoRTTac+InEQc57s+kODmBs3txlxMgjqOC5/Ie+v5bf5Z9h091ev1PdbU0yar9z5zv+wUyfNi+W3l4f5HJ8/bs7bsuTDz8eTGyo/nikHSw9vgR7RXv48lbqauUfJZuvfHbjdQyNWhiLTEeoAUFgQVJDAgqQbEEagg+IpNSNWaO3/Tnvob9if6duDj/WsZNWOn6mNf8wfzj74+NfLe49H7NuVV8j/b0Pu/Z/c//Irwt/2V/dG0U2YGvMPaQT1EHPWgcnvV9lASJ6jX8KATPXY8TQB7jTQDldl4H4UDCrIp9hpAPoELakMFNjrKVcMUmT+nMvzL7NdGXxBpyS1PxGxZDGQQZAEc5+Qj5JAOaE8/FTqKbXiCfgw9SUIaBCAeH2UAe9lAHrCmB4UANZFPsNAwZRgdeHjTkDwoAWkB6gDxFAhtyNRTGQMzZ8ee7wkQTHw+Qn2jl8KwyddW2NqZ3XcpMvBlifpyI+h/uuNQfceBrhvR13OuuRNaERoio4Xtw/urNo1VgsUl/Kw153pQNjyDa17igEKBy1tyogJFsbD9jDiKQxjMAbOuh4OOHxHKhiPEhbBfh/dVKwnULBOyaKbX5VSIaJqTRyqA6lW5W/gaptPcnY80LKL3uKzdH4FK6AlImN7lH5MOHxqIRQNlIIEg15OOFD9R/AVog4846lI+YcaTUrzQJx6M8itF/Onj/bU8WtipTF6FazRtrzU8KtNPYlpoeY0cdLrY+H9lNpPclONhPRCjTj7ah4/ItZJ3GmQK1mXj40uTRXFPYSRz0+XQ8gf4VfJPcz4tFPmWFyV1HG2lvhWdsSNa5WipkkRSQxHSw+Vx5SKxtjaNlkT3KTfMhcZl9JroRfTXpI5e6qq34ktLwOfd17m+RizYrsSkqke64qlTWUP7mkM493BE7CPclH5Up9HKA/y8lBZgfY4HUtephtpB5eZOZKL1LnU/GtTKB6OWa558aBFhjsWIrOxtUuMKHqcWrFmjZ0v6d9nNve6xwG6YyD1Mqc8FT2fzHgtc2bJCXqbYq+J9FYsOPBHHiwIIYYUEcMa/dReAB/trnVYNZkmoTbzA3/EOPxFWiR+hFx5gNbjjSA8Ap9o/bTEAmw1k80Z6W8R41Lr5aFJghK6N0ZCk+Dj5h/aKObWlh8Z2CrGtuqNvKdSAP3r/AGVaXkS2NEEfVdT6RPAr8hPuqYXwHL+I8u6EestvCReFOWtyUk9ghCSL5h1jiHXiKbSe6n1BNrb9BghdfPE1/bUcGtasp2T0soGtJEX6chOl/wAVrGodk/q0LSa+ln58sb175449L0mUhxNqQ5FV6BpniaAbCwvY0mNMlpKp4/Cs2jRMkxuvjUNFIZIbnSmDY6I2pMEF6yaBjuoEa0QIQEBtB8KQSSo2BGtJjTPMddOFIY6M6+ygCdD5iLUikTVx+tdBUtGiKjcNmaQkgVdXAFTPseQg6lUkVStIcSsljYMRa5XjbW3vq0RZB9uv6y2otsGM6Z2l+vOXjwbajybnIw/Sxxat1DW/gAOZOlY0o7PQ6fuKq1PojtvtjbotwfccHDgg7gmhWPeN3hBMUUhH5q4qnyqzn5un416OOqW2x42bI7M2WLi42HAIMdelL9TMdWZjxZzzNWYpFR3Z3fsva+1ncd1lIDeXFxI9ZsiTgEiXjx51GTIq/E0pR2+B8xfU/wCq26Z26Bs1Un3iMkYGyr58TbQeDzjVZsn+U6L97XyjnSf1WNv9tSl7L7EzN2zW3Xe2efJyT6vqSEs0rE6lmNeb2+8tqnodbp+LOybbs8WDEoWMB0GkdtALfd8a8W9pZ6KSWhZR4xZRIBYDS39tSDZKx5HUgcuHCmInBgwsdCRoeVDQkyNk417tbzHmP4VFqmlblXl40iEOt+ocxxqINlZAlzWAs1rj7DTUpg6SPR4ZvKCOr8BrVW8zB0aehM2PtzI3Xc1xsdjFAoD5U/EJHzt/M3BRXV1Oo814Wi8TDsdpY6/NudWxsbHxcaLFxU9LGgXpijHh4nxJ5mvrKUVaqq2R87ezs5e4Vmt5RxqiRAKBDgKBi3oAXnagAqr0j28zTASVmSJnRDIyi6oOJNMGBxctZvy28uQo86cr/wAp5/voBMfLAWPVG3pSDmoGv+L2UBHkAlMZdfXBgyLAjIUeW/hfnwoQh7ZTQf11Pp2HRMov1e0gcKAkkERyIODo1j4g0DFoGVu/dvbNv2J+l3THEyD+lKPLLGfGNxqPdwrXDnvic1cf4nP2erjz143U/wCBx7u76W7zsgfLwerc9sXzNJGv50Y/5kY5fzL+yvoep7pTJpb5bft+PQ+N9w9jyYfmp81P3XxMVoRpr7RXqI8Jo9amI9QAbEy8rEyocrFlaHJgYSQypoysOYqL0VqurUpmmLLallarho7j2z9Rth3XaVyNxy4Nuz4/JlwSt0KWt88V+KN+zhXyvZ9vyY7xVO1fD/M+76XvGHLj5XsqW8U/8CdJ392TH829Y7f4Ot/3LWS6Od/0s6Le59Zf11Isn1Q7GS//ANkGe34IZD/AVovbM7/p/gY2966q/q/ZkWT6vdlp8jZUp/lgt/8AUwrRe05/FIyfv/WWzb/IjSfWft0aRYGZKeV/TT97GtF7Pl80ZP8A9iweFbP9DV9v9y7Lv+N6+2TiRlF5cdvLNH/jT+I0rz8/XvicWX5nrdTu4s9eVH+XiWlZHWKKAHo7Lw4eFKACrIp9hpAO91IQyWKKVCkq9SHiPaOBB5EeNNOAakCHyoD0SK2TH9yZLGT3SLp/6hThMmWvUU5kY+eOZPa0bfwvRxDmj3+oYXOYA+DBl/eBRxY+SHrkYzmyTRsTwAYX+y9KGHJeY+xH99Az1AHhQMWgQ1ogdRpQAMUDPXoEeoGeIoAS1MBHjSRDHIoeM8VOoqWk0CcalVl7IRdsU9Q/4TfMP8J51y5Ov41Ommf+4qJICCVt0sNCp01+NczqdNbg1ZgbEajiKho0kOjI19bGlANilWBNtPZQ0A3oPuPhSHIgj4gaeK8qAkb6bC54nkDSCEeTKaM2YXH8w/fTVxOhNiykkt0m38p/trWsPYysmtwvQjk38pHA/wBtJpME4G+k0Z8R+yodWilZMVY0OqeRjy5UoXwG24jcQqeJ8j8jyNEeYDDErNqOh/HkaTUjVht2QdMi38P7jRqvgGjHdTMt/nX7CKa12JajcY9m04r+0U2k9wWmwFwV0v1L4VnakbFq87kWeISKenzaarzHurNNmkFHnRL6ZK8tDpw94qXYaqYveo2sSrjQEBSbafGo5mqoc93syKzBuBvcVtVyZWRg8uVsLKlkEQyMTJHRmYrcHUc/Yy8jXXjcqPFHLdQynyu2zOrZOxyfq4Dq2MSBkRewqfm94rqrl/u0Od08tSq6ZoG6J0aJ+YdSp/bV/AixZYEkbMAGDE8ANazuXQ6H2l2lue5TRKsXoRvr60w6Bp+FT5m+FcmTNWiOjHjtZnfu0dqxto20YcakEnqllPzO/wDN7uVeSsrtabbHpPGqpcTUwTEWEo6kPA8R8DXTVtarY5rJPcnpcr+W3V/KePwrXR7EaoICDobq/wBhpR4MJCX18w/3h/GgDxTTXh+IfxFECka6C1mAK8v7qQ5Iz4rIeqI/7tTxjYqfM9Hk3PTKLE6E6X/vp1v5idfIkJfp8linMf2itEyWJ6Sg/l/ltyXkfdS4rwCfM96lmtMOhz98c/4GlPmPj5aj3j61swEqnmKbUrXUScbH55AV7B5o9akpCmgZ5RQCFIoAaCRQIeJGoKTJMMxqGi0yQHJqIKkVXN+FEAEUtzpDHhyB7KUDkcADrQAQS9OhpQAqyg86ICQqv7aQyXjTAEa0mUmX23Mre2iC0yXPjAjhxoZaNPtn0zy952U7hHOMbEgV5cxhG00ohiUsxgjX55LDyqeJrauGNWZZcqqZrtnvbs6LM/Rbl2/Hidi5k36aDdwPVzY8jpDetlyj+r1A3dVUBB8vDXpVPQ43mstmdQl+gfZjg5UTA4kydceRC46SjC6yRuND4g0rYkOvab1Lz6f/AE3wNsgddtaX9NKenL3mYAZOQoP9KCwskfiR+2rrSEZ3zOx0uCDHxoEx8dBFBGLIi8B/f7aoyMz3z3/tnasCRFDn75lC237TEfO5I0eT8EY43/hrWOTLDha2LpjnV7Hyx3x9SN43TeZWx8sbh3FLeOXcotYMNDp6GABpcDRpf/R+I5JJa2Nvq0S0D9j/AEzdlXNyR6mR8xjbW1+bXrx+73Xstj1un1Vuzq+1YabeCirclbMo5e1K8Z3bPV4ovIJA6APxHyn+zwNNWMLVDJa+o8vAsP41UkMVkt5l4HT2U0IIjXW3xHwpolnhKemx8w5DmPdSGCZxqOIFDQSVuTiLLdlAU3uLc6nia1yEPH27NzM+LCxULZU7dCDh72b+UcSa0w4bZLKtd2VkzVrV2eyOxbHs2Ns+2x4MLGQjzZE5+aWQ8WPs8BX1/W61cNOK/P4ny3YzvLbk/wAvgTy3SLDia3MGIBQIcBQAt6Cj1ABYwAL8T+6mgHEqBckKBxJ4CmMq23GXFG5ZuUx6IAnp7crKTFGDYTSNyMt+puIRbc6UGfKJYdWwdwZ1Qr+sgH50asGaNgbEMU42IsSp9lMcpnhlZWN0plASLr1zjQWvZT4a318KByyZ+XIvKROPiLikPcjNDkQMXiYywkkyQNqTfTRj+6mKIFiTpu+NdNOp8U2BPIWv8t/GgF6BYchZGMZUpKvzoeXx4UDTC2oGNaQxFSASxYKAvG5pAY/u36YbJvhfKxOnbd0bUyxj8mQ/8yMcCfxL+2vR6vuOTFo/mr+/5Hjd/wBlxZ9a/Jf9mce37treNhy/026Y5hLf0pR5opB4xuND++vosHZplU1f5eJ8Z2+jlwWi6/PwKs10nGJagBdSeV6QSetTELbW/OgY9V0H7aTGgyDQDjepZog+Jk5OJkR5ONM8GVEbxTRMVdfiKi9FZQ1KNceS1LTVw15HTe2PqwCExe406SdF3KFdPfNGOH+Jfsrw+17V44v/ALWfUdH36Yrm/wDu/wAv8TosE8GRAmRjypPjyi8c0ZDIw9hFeO6tOHufSVurKU5QSkUOpAepAPDsOdAHhK3MA0QAvq+y1ADhMCNW+2gBrwwSKQ8aOp43UGiWJpMD6eRAPyT60Q/yJD5h/gkP7m+2nuTDWxIBuAbWvyPEUihaQC0wGSNp0j40DGxr1H2DjQA5oyNRqPCgGhlAj1qAPWoGetQB61AgOVg42UPzV8wFhIPmH9vxqL41bcuuR1KPN2rJx7n+pFykXl7COVcd8LqdVMyZCKBQS3D8Q1H2cqy4m6uEBYKCCHTkRQ6jlCqysLHT31MFIda+nHwtUwEiBTwOvgRxogGxHjXmAb0QEkRo7P5T0MfsNSVK8SdBndChJ1vbTqNaK/mZPH5FhEY5F6o2DrwK8xVpeRm/UR4er5TY+FJ1TGrNDD+GQVO2jLWuwxoyB5fMvgf4UcfIXLzGqetenmPunj8KS8hsaUK3KtY0Oo1YGSGbpkUqx4H21M+YR5HpFIUdQ6l5H++qJIk8QYdSnUcuBqLVTLrZorc2IkEOLsOD8D8a5ctGjpx3TMR3DgGVHFrtqRb/AG1rnWSGdKpKOX7vBLEzAE9I5HUV11umc16NGM3OIszaWI8P4V0Y3BzWKQ4UyyerCzI4+8pII+yun7i8Tn4a6FxhZ/cpCp+pWZeAXIiWX94rKzqa15eZq+38ffJ8lUyshMSM8WxceKNgPa1ifiK48uZJaI68eFvxOq7Fg4OIgUIWZrE5LMXckc+o6muFt2cmzSroa3DlfjfriPA871pXUhtou8dx923mFyvEV0VrGxk7TuTIgDqnlbwJ0+FaKH8SWmiSsnV5JV83LkfgarVbkQnsFVWGt+tfEfMKOM7C5QPXh1Lw8R/EUDGdXm6eHs5H3UgFYENekAGaGKZT1DXj1D+NJpMpOAHTlQkEfmovAjRgKiLLYejCpkrJoR/8fdV1umS1AVWYcLOnNTqPt/tpz+gQeCr1flN6bfgbgaFHgD9T89QLV7J5oopQORRqaBoII6mSoEZbGnImMtQIUA0APQkGkykyXETUMtB0juaiSg4UBdakYK+tUIJ1i2nGlAxjNTFI31LH2UQKQiT8KIHJKgZiQaIKRpdkDM60i6msXA61QWuTSS1Nkd5+mmL+i2qKGTRTZlPMGu6ux5vYc2Oe/U7/AMa9k3LulN+2zPTY9qy3Mu+YyqTZjqZcNR5VaT7ytoDqPCrqzmtsdG7e7bw8fZ8HbYYHxe39viWLb9vkYtJIgN+udjrYk3tzqm51JSNH1WsqiwFgqjQAcgAKkswX1E+qGN26ZNr2r08vuHoLyeowGPhRjjNkufKOnwP79K58mb+mv5+hrTEt7bHyx3L3duW/bhkYW2ZEuXkZzEbpvMlxPk3OqJfWKD+Xi33tNKybrjrLNkndwjXdk/TuLAVJMhR+q0IdhdU9hrx+323f6Wer1cCp9R0jAgXGPRFdXGvV4n+yvL+5y0Z2vFxU1LZIFlXqA6Zbajl7xWdscF0yyRFyfTcqy6jih5+6pRo0T4M6Fl43Tl/YaqTK1SQoHTdflblerkygA7GNgw1tx+NNWE1IFMkBrE/KbUxBWdXHUDZufgfZTSER36y4VAXdiAqDUknQLYVSo24WrB2SUs6N2x24m04xkmUHcpx+e/H01/4Sn/6jzNfUdHprDWf6n+IPD7fZeS0f0r8SXfyi/PkK7TkGi51PGgBRQA4UAeoAciFhfh4UAJ5lPgaBD+pHUqwBB0KngRTGiNk4EMiorQrkRRklEexdCRa8bHw9tMTqVONsLplYy48hfFgZVmnL+mwijU9MIhQKQwkPX13szXLX0FBHHU0RsRYi4PEHhQakObFlhQHDAUINIhxJJ8xB4ajT91BDQfGyfXDfltGy6MrDTXXQ8PhQxpjpceOTW5R73600N+Av40DgBIWPRFmpcE+SeO/EaC9hcGgXxHBpcZPzSZYBoroLlVHNjegNiQjoy3RgwIvp4GgcjhSGAzsHCz8R8POgTJxZPnhkHUvvHgfaKqmR1crRmeXFXJXjZJryOU92/R7Kxw+X24Wyscatt0hvOo/5bH+oPYdffXvdT3dPTLp6/wAz5Tv/APrzXzYdV5HNpI5I5GjkVkkQ9LowKsCORB1Fe3VpqVqfMWo6uGoaGgUyBfZQMcL29lAh6A38vPiKllVCqbcP/TSaLTHmwOunOkUxwfW/2+HwpQWrQW/b/dO8bHkGTbp+hGN5sZ/NDIfBkPA+0a1y9jq0yqLLXz8Tu6nuGXC/kf5Pb/I6x2z9Qdl3opjzEbfuTWAx5W/Lc/8AKkOh9x1rwOz0MmLX6qn1vS91xZtH8t/I1fpuTYKb+Fq4JPUgj5W47dhL1ZmXDjgcfUkVT9l71dcdrbJszvmpX6mkR9t7h2Hc5Wi2/PhyJV4xq1mP+ENbq+FXkwZKfUmiMXaxZHFLJssSCOOh8KxNxutACUAOUkcNKACoxYXtagBaQjwpgI7dIv8AZQMEASbczQAdQALUANlmSIL1ffYKALc/f7qAkcVVhccDwI50AMZCPaKBQJagD1AHrUAKBQA4D++kNFfmbNBNd4T6Mn4fuH+ysr4U9Ua1ytFNPgzYrFXQoSfKRqprmtVrc6K3nYH0hxY+Vqh1NFYaOpDbwrNo0kILMLqdRSAE4YG7aHkRwpMaGonmNxx4g0gY8rpa1x+HmKcCTBqHibricoRwI/caEmOSUm6K3lnX02/GvA1pPmZcfImBlKjq86ng4qiAckbi5jNx4VDr5Fq3mM8jizCzUt9xi2K6MOpeAPOnsA1kU25rSgJGOrpovmU8qmByBbo0HynwPjRy8x8fIi5cTFT1Lp4+FTao00Zjc8BJEYW4X9391cOSqZ1Y72qYffO2jMrlV6gRwPzD3HnWKs6s6k62Od7n27NEWAQkfhIsRXXTMmc98BAx9mEh6ZF9MnS54Vp90w+yaDA7XMYVlWzA6jjpWds5awwa2Pa4jjAqtmj80broR765LWk6qaFttzTqgPzR/eTmD4r/AGVGxpeqsjUbS5UiWJ7pw4X+DCtqanJdOujNDimGQXX8mQ8QflPuPKuqpzMnRoykK62P7/cedacULkSFFhY+dOQPEUKUDhjxf7hJYfdPEU99g1Q9WU8+hxxI/spz5ijyCEaFmsLa35H4U3QXIaSQNR1KeXGoGIUBF11H7QaGgTGgFRfkOYpFA5MeJ9QOlvxL/ZUtSCbBq00Wki3Xh1rUy1uNpPYKCHW6nqH8fd/ZVSB+egevaPMFBoYD1vekNB1OlSzRCMLmkB4RXpyEC+lSkIFEWvCgICIWFIYeOXWpaGmFMgOlTBUjOo3oAd10ANJpiBMxNUkSEgBJpMaLfCj6iNKhmlTXbFAqsrcuVTJtVG52eFZ8uBLX1FVj1ZdtEd22PHWLDQWtZRXejyMjlkzIhiyDGZx6ghPVGraqGHA25kUzOB5LMbDVjQM5L9SvrDDgR5e19u5UccmOLbrv7G8GKG06Ibf1JW4L06nl4jlvld9K7efn8DeuNV1tufNeZuW5915p2naUli215PUmaQ3nypAf62Sw4/yoPKntOtZ3vXFXU1pS2S2h03tD6aY2FjrJCR+sX+t1jRvEL7a+f7fbtZ+h7XWw1otdzZYbR2OHLGYSn3Tx9964FkaOy+KSwSBIoyL9QHytzH91XZctTGtuOgkeSySqGuCT5WHD4U6W8GO9NJqMneGZislg1tTy/uotjjVBXL4Mb/pkkcRaNibagE8fcahmqug+Hmhx6T+UjiahMV6E1wGT2860TMCCyFWuRdW51otiWJLMYhZvlH7KpITNt2R2+0cabxmpbIkH/RxN9xD/AJn+Jh8vgK+g9t6XFc7b+B5Hd7U/JXY14AUXNeqeeMuSbmgBQKAFoA9QA5F6j7BxoAfNNFBGZJWCoLD4nQAe2mA7yuoPFSLg+w0ACaMjUaikJirKRx1FAzzwRyP6qnomtYSLx9xHOmEDojMbrKouODrwb4cqYIeSoJBYC1r6jnw+3lUuyHDAw52JPlZGLFJ1z4nT+pUA2QuLqC3C/srOmelrWqnrWJ/Mu2O1aqz2tsHrYgU6gg8CLGgRFbGlhBOIQAfmhbUf7t6BNDQglkMsBOPkH5w40a+tj429lAIMuXH6voygxSfd6uD/AOE8PhSgEw3t5UihrGQOgRQUJPqMTYgAaWHO5pi8Sh7p7I2HuSMnMi9HOAtHuEIAlFuAflIvsaurrd3Jhej08jg7vtuLsL5lFv7vH/M433T2Jv3bj9eVH+owCQI8+EExm/APzjPsb7a+k6vuGPMtNLeR8X3vaMvX31p5/wA/IzxA5Gu48oUClI4PK2tuR50DQQEFh48L0hzqPILLci4HFhSRTljrXXjf91IrcIp6r21HD41LKQcKDcE3A4g/7aVJvBZP3BvsuMmM+5ZTY8Y6UiMrAADlobn4msP/AB8ac8VJ1f8Al5WuPK0fEiWR26mF3P3m1P2mtTPcKFOh1DKbhhoQfEEUmUjTbL9RO49tCxyyDcMVdBFk36gP5ZR5h8b1wZvbsd9V8rPS6/u2bHo/mXrv+putm+onbe5FY5ZTt2U2ghybBSf5ZR5T8bV5Ob2/LTw5L0Pd6/uuHJo3xt6ml4qGGqtqrDUEewiuI9JCovUfZzoAPQB6kITlfwpgBduo35UDCxrYXPE0APpCGTY8U6dEouuh9umvGmOJAellYxdo2M0VvLFYXBvfj8eNAoaDpOrEKw6HNgVP4iL9N+ZA1NA5HtGDw0NANAyCNDxoEetQA4UALSA9emMY4VlKsAynip1FKAWmxXZWz476xH02/CdV/tFZWwp7GtcrW5WTYs8AImQlPxjzW+ziK5rY2jprkTI7IVIZDcHgRWLNkxyfmHzcuHgaUDPFOk31BHKlASKbEW/b4UCBv1W14/i/togYExhrjTxA/sp+jASKfIxWPT5kPFDSTaE6plljZkE69UbdDc0bjWiaexm00Eboc+cdLcj/AGGm15iXoeZJEH4lPMVLq0UmmNXXUHX8X8DSAQgnQ6HxHCh+oIa0YMdmAYcLcxSa/NDTI8sMiXMY64+anUj7al1fgUreZV5mFBNcx/lycwa5slUzasop58AdXTIvHQ+2uZpr4GqaZUZvbeNMnmXrXxPL+IrN1nY1rkddyjn7KVCZIFHSeKNa1Zt2RtW9GMXZsmAWK9BHBTqv2ip5mkIm4+GY0HqAqGOpXzLT5EupMiwA3A9a34g601qS2aDbcER2YEox0LDg3vBrWlTK9/BlvFEEF2HR/MPk/urqrbzOW1PImRzPGAjC6HWx1HwrVWMWibEYnt0Gzfgb+Bq05E0x/pgnXiPtFDp5DVxSvIjqtzGjD+2lPmOJFWR1HD1E8RxHwpr0J+I4dLC8ZsfvLyp6MIPcGHUOluX9xqXKGoY4rfXw4EcaIkQy2t1tUwVIlv8AdPDxvUtDkE+MFPUnkJ4kcDUcYKmT87wa908sKlDAKKksXqoCR6vSgaYUMLUihQwJ1pQA8EUgENjTA8NKAF6yKUBIokogJF9QiiAEaSiAEQdRoYQTYIuFqhstIutuh8w51m2bVqanAPRapk2SN12TaTc4r61th3Fl+k7zgrbHQDwrurseNbcJLJHFG8srrFFEpeWVyFVFXUszHQAUNwpYkpOHfVT6wLLgZONteQ+39uxn0szdgLZGY5F/0+GjWJ6hxPADVtNDxPI8jhfT+7OuuP7al/V/A4JFDvPeWdFjxw/o9nxyTj4ykmOPq0LyOdXkb70h/YKnP2K4ql4cFstjrvbHamDs2GsM0N4Lg+sB+dG/iCOKV85n7Duz2sOJURr4p1VljPT0lR0OPlYciDXLyNnSUTpsSLJiAk/qfdlHzD2G3Gk6zsFMjruVrfqsJvzh6kH3ZBy99KjaZq0rLQOnSxRowJIybkitk1Ywc1JQG3TAuwAdPK44EA6X/mp61M25ZFglt1CF+pQfNEeBHiL1Mpl8XUTJxA59SE2P8fbWTq0b0yTuDx8udHCyDqUfN4ihMLUTJcsiPHcEHn7K2TOa1YLntPtlN0mGdlpfbsdvy0P+dIvL/AvPx4V7Ht3T+4+dvpW3qef3ezwXFfUdFA5mvoTxxhJY34DkKAFFqBC0AeoAULc2HxNABgABYcKaAbLFHNGY5FDIwsR/ZTBkGQZ+Hb02EuKpuQbs4HE3Op1o0ZDlE3HyIp0LRm/To6nQqfAih6FpitGDqNDUgDHUp8DQARZAfYf2U5CSj3jtlp5nzMFwMp5BM8MxJjedbLHIx49MIuVj4XryO57a7W54380zHhK2b/8AitltJ6HX7iquNlpEfl5fntJV9vjcYN5TGgSRSOpsiGckdMLN58nJt8087j8tfurXn9D7lM/FJ+qfl42t/vs9l4I6+26Wxcm/h8f7V/tS382bSvqDxBaBnudIBkkMUhBdQWX5W5g0JiI8glVPTylGREdPUAsw/wAVMTFPXFFHJjEzQADqUakrw8vuoWoaokxusi9S8NLjmL661I5FoGeZVdGjdQ8bjpdGAZWB5EHQinImpUHOu6/pBhZfXl9ulcPIOrYDn8hz/wAtv8s+w6e6vY6vu1qaZNV5/jc+c9w/9fpf5sPyvy8P8jlebgbhtuY+HnwPi5MZs8MikG3iPEe0aV79MlcimrlHyWXBfFbjdOrI7i9j48atGVhyKBYnUeFDY1VD4/nA8eXspMdXqeUkG1rFeVEDTHpNcgW6f3VLRVb6wHWS5F/mHE++pg1VpCq19SLipg0TCdRPE3FBYRH9tSUme6geB15igY1rW6f2cqBFv27vXdGFmQYmyTv6uQ4SLCb8yFmPijaADiSLaVzdnDitV2utvE7ep2c9bKuN6vw8Du2OkyQRrOVacKPWaMEIXt5ukG5tfhXyzanQ+1rMKd/EfSA9QAKRvuj40xixJc3PAUAFtQMWkAtAHqABTY0cmvyyXBDjxHC9ORNAIp8yJvTmjaYXKiVVsSb3GhOulGgk2Sw8TnpDAnW3ttoSvjSKEMZ4jUUSKBtAhaYCUANJoGDJoAYWNMCNLhYsl/J0k8Sun7Kytiqy65rIgy7bIhvEwYeB0Nc9us/DU6K9lPcGschYI6kf7cqzWG0waPLWJTGPCA1iRf2cdPZRkwuo6ZVbYFICPmFxzIrI0B+lY3/2vSAVlB0cfGmAKXGT5gehuTj+NCSE2Ox9wlgYR5I6ozwkGop8mtyXWdizjcOAY2BU+24NUvQj4idKltPI9JopOAbuyuAy6ezh8KnVFaMerKVNvspolngh4rx/CaQ5BT4kM4sw6X5GptVPcas1sQJ8Bk0cCRPxVzXwteqOiuRMinblGqjqHhWDxpl8oI+RiRtGUC9N+B4cKOLQpRHbbkWKxF14nn7/AI1LxplLI1sRV2fqAdAUvrccD8DUfYfgaf8AkeZITBWMf0x1cyotVLH5g7lljxeQWGnt41rWhDZNSMj5eHhxFXxM5HxxC3k8v8p1B+FNKAbHxqtyo8r8kP8AA1dWtjO1GtiQs1x0yDhwPOtTMIoJFxqB4U4kWx4WJuDZuVQ6lchSoOrizfiX+IonzCPIeGNtbOh5jWqXoJ67idOl4zp+E/21MDkTqXqswsx4eP8AfSbjcaU7HgLkjiD4fxqf3GKQQSBw8KXwD4n5yrXsnnBVNADw1IJPcaAkeppFJhV1qS0O4UDE66BSOEntogJFLgUQEnuukEiFqYHrk0DHIhNKQJMS2qGykixw4yxGlZ2ZrWpf4cfSAbcKydjetS1gfUVJokbnsaULuUPvtXRgepOVfKd2k3Xbts2aTctyyUxMGBQ02RIbKPADmzHko1Nd1rqqlnjcW3CPnj6t/WR91iXHhyP0GxdfVFgRMpzcplPlMg1VFPt0UeLV57yPM/Rfp+Z21xrEv937/l/M5/tvbW6d37omX3DK2Ojj/oYFv6KIdelL6a/trky9ymKvGh1Y+tbI+VzrHbvbuP2/D+lkiDYZ4aeYe0+K+yvEz9i13qepjw1S+U04xo2jVlIbHI8jjXpB5f4ayB6/Eiz4v6W6AdUD62HAe1aVkFbHsfIeEqNXiOgPMVKszS1EyyDB14B424g8DWujRz61IORt7xOsuHcC4LJ4VGtWdFbqy1GxyRzHqI6ZFPmArSuQyvja1QKXHYyh1PpOD5XHyt8OVO1PFDrl8GPjy3DmORfSnX5l+6w9hpVsnoxWpGq2G5q9Fpo+DeHOs7KGa0tKJ/amyz73nmIEpgY9my5ua34Rr/M37BrXo9DpvNbyqt3/AIHH3exXFX/c9jq+PjwwwpDCgigiULHGugVRyr61VSULRHzVm25e4pa/D5RwFMQlAC0Ae4UAKAToKADKoUW+00wELrewufdQB7rA4gj4UgFR1ZVdGDowurqQQR7CNKGJNNStURpcNRI2RAOnJ6bKCSEJ8SOHOnIR4goM9YuuLL60aNj0vJqSvIdQ+YjxHjTgSfmTiAdDrbT3GkVuCaMjUaikECo5Gh1FMAoKnUWueJ56eNGg5FpgLakB6kB6gBbDhxFACKoAAGgHAUADfGjaQSrdJRwIJsb+IpyKAUWTIkox8hSHClvW+6wB4n8NMSfmSqkoQrJ6ikNaMA9SW1JPDXwFMCDvnb+0b5ifpd0xxMg/pSjyyxnxjkGq/urXBnvic1cfw/M5uz1MeevG6n+JyLuv6YbzsvXlYPVuW2L5jIi/nRj/AJkY4j+Za+h6vudMmlvlt+35fyPkO97Hkw/NT56fuvyMeOk2Cnjzr0jxhbXJtx5GiRQJ0ixB09tEigaxIs2hC00J+YRCy6nUG9vjSZVZQaN/A35GpaN62ChufD+U/wAaiDRDw44HQ+NEDkXrINz7halAcoFDgAk6W1J9lBUnV/pj2mcHEG95qWzctLYkbDWLHb73saTj7q+f9y7XO3Cv0rf1f8j6r2jpcK/ct9VtvRf5m7rzD2T1IBrv0j2nhTGCUEmwoAkAACwpANmlWKF5GBYIC3SoJY25ADmaYNjMTLgy1YxE9SW9SMizLfhcfuPOh6BVyHpDFoA9QB72UAR58QFQYgA62te/BeCjXQeNNMUDP1rQsseSp6iGYsBqBcBVsPmY31twogUkodEih1IZW1VhzFIe40qR7qAgGaYhpNADCdKaGMJoYhjGwpACkawpoCKjeZn/AAj99DCpBPVJIzcAvlU/tNcnZtsjtwKNTzEga6cLmuVm41j0nqIt7acADaRARzB4+ypYx6lbaaqeVIDzRIwuouv4TTkQFVlhJMBtzMZ4Gp22GSsfPjk8kg6XH3W/ga0Vp3M3WNiUENrgda8xzFOPIXxE9MNqh1HC1LinsOWtz13GhFS5W448gi2Jtx9h400SxzRFgSnxFOPIJIkmIG1UdLezhWN8SfxNa3gjPBZrSL/vVk6WruWrJjDiKbhRQqphLQqY3S2q2PC9UqtEymF/Rr8w4ciKuEyW2hTjI2jCx/Euh+IpPGmNZWtzwhdB5SGA/wBuFLi0WrpnlCM1vlbw/sqHUoe8II83DkRxFJ1BWPHqC+fzp4/epq0CdUxYwbdUbXtxtx+ytKtPYzsmtwwlQj8zQ+I/iKqSYFsfmUgr4jhRCYTAoBBup6T7OBqOLRfJMUkf4D4jgaOXmLj5HifuyC6H/bQ+NGoaM8FIF086j/1ClC8By/EUMD7f3ip+I16H5xhq9g84erUAPDUAL1UCPB6UDQQSWpNFSe9U+NEByFDUDkXqpBJ69ACqdaGNBNedIYqcaBhlP/wqWCJUCFiKzszWqLzAx7AG1c9rHRWpbxAACobNUiTEbMPGhFGz7OlRdwg6iQOoXtxro6/1CuvlZ9CY2ybDuUONJn4EWaccXgXJHqojEfMEbydXttevQdE9zxXZp6Ex+3+3XN32jBbS2uLAdPDVKfFEyyBuPYHZ+4RlW22PGbisuIPRZT49I8n7K48/t+LItVD80dWHu5cez/Uxe+dobnscbSTH/Udn5ZiC0kXIesg/+oaV873PbsmHX6qefj+Z7PW7lMrhfLfy8yqiaXEXqx7S47a9HIg/hrzdvgdcK2niFlVJYRJjnqgY6xnijCtE9CGv1IDYcwLPGLxkeZDxH8y+PuqWh1sFi9XGiU9QlgfVZF5H2+FJWgpxYmwTA9J6rNzI4G1a1cmNlBFzsNnvPjCzj5lHjzIqLVg1x5J0ZBxs/qYxTJY8Sh0H28qqth3x+Q6bpkTU6LojG91Pga1dJMqXdSRs+BuG558e3wANIw6nkNzGifedvYOVa4Ou81uC/P0RGbKsVeR1natqxNtwo8PEXphj1JPzOx+Z2Pia+uwYa4qKtdkfNZs1slnaxKY38o4c61MxLUALagD1ACUAGROka8TxpoDx8zdP3R83t9lMY0zQrIIi4VyLhTpzsP20oFITUH20gZRJCuy73jRYw9Pat4d0OOPkgzQpkDRj7qzKCGXh1a1r9Vdd0eXx/wDHz1VdMeXw8K39P/kXtZHqjJYY5VKut9CA33hfTQ8qcktEADJ21elVORi30CjzKSBcnnxufbTmSdibBl485Iia7KAzIQQyhuHV4UFpjmjB1Gh/ZSAZ5lPgaQBFkB0OhpgEFAz1IBRQB6gBaAPUAI6pIhRx1IeKngaAZGaHIgBOMTInV1GFiL25hSfGqkmAuPkxTdQF1ddGjbRqQ0w1IYoJBuND40AY7uv6Z7NvfqZWH07duZ1MqL+TIf8AmRjgf5l1r0er7jfFo/mqeP3fZsebWvy39PH4nJN77d3nZMoY26Y7Qsb+lIPNFIPGNxof319Bg7NMqmrPkOz0suC0XXwfgyuK6cvdxrc5WhrrdtDp9mtNCstTwvfTS9AtR6k8zr4j2UmXWwRXa/mb30maVt5hA3T4kcL0oLkXq5Cx8aQ5Nd9PO1P9d3T9TkpfacBg04PCWXikQ9n3n9mnOvO9x7X2q8V9TPX9p6X3r8n9Ff3fkdqJua+aPsT1AhCbC5oAASWN6oYaNeka8TSBBBSGCyMaPITpk6gRqrqSrKeFwRTArsvYZcqO7ZjxZUcnq4+VF5GLBegGYDSTTT3U1aCL0TLZA3Qoc9TgAMwFrm2pt7aksdQB6gD1AC0gGyRxyoUkHUp5U0AyCARdViT1cL8hxtQJKAtAxjIp4aGgUAXUjiKYAWpgMJpCBO3KgCNkTAaU0hSRGl6cXq5u2nuGlBVUDh641CuLjifEE1wWcuTsrogkihkuNQaiyNKsYyW4aeykOQMicwLH9lJocgzcaWsfDkfdSaKPCSx1HSfH+2kOA11k0Js3I0hbDGhR/K4vr83MUQDPLJlY72Bug4G99PA0JtCaTJsc8cwBbyvb5hVJp7kQ0SFuBaQBl/EKskX0tLoeocqXHyHyGq/JtfbzFTIx+vE6j8Q4/EUxHmiVh+IU4CSM2K0ZvHqv4D/CsrY/FFq/meVlJKkajQjmKlPzG6+QpRhrHYg8Ry+yr0ZGx4rG9gR0nkP76BvUX0+nQ/bVEjXhVxrY251LxopZGhjdcZOl7cR/dWbq0aqyYEzpex8vitZyi4H+kp8yGx8RSdV4ByfieaVxpItx+NePx8aau1uDxp7BYXUnySD4G32g1orVfiZOtl4Bg6kkMLHxFWiBWFvDpPOk6oas0N+Uaajw4g1nDRpKYg1uUNm/CaWjDYUMGazDpfkeFOWtxROx+cINeseeOBoAeG0oAQtQAoagB3VQAoegBQ1ADgaQSEUE2pSUiTFEDUNlpDnULQhsEup40xIkxREmodjStS1woLWuK572OiqLrHAAFYs2qTAakoJGT1C5pgaXYckxzow4qQa0x2hlJaH0P2tm7zk7fE0XoRjpFuu7H9lenV2Z5GeqVi4fcd1xD1Z2KsuMNXnxSWKjxaM+a3uq5MYRZwyRyRpNCweKQdSOpuCDTJDDp1BAZHFmU6gqeIIpNSBzDvDtxtgzxk4KdW05TEmDlE/Eqv8AKRqPsr5P3PprBdWqvkt+x9D0ez96vG311/gUOi/9XhkFTo6jgfePGvNiNVsdyc6W3JCTLPB1YwHWukkZHmX4eFPRmdq8XDK8xzRl2j86m/rRHhY+IH76HXQqYC4AwvTd/VfyDz41rkA8LeI9tStB2ckiHIFvMfK2it/bWtXJlasAszDgn8z+RxwlHG/todPIqmVrcgYWLny50eAiGXLmbohQfe53J5ADUmtcFbXsq11f4/YeZ1VXZ7I6z252/j7LgDHjtJPIerKyLfO3gPBV5D419f1etXDWFv4s+Y7HYeW0+HgWjG3lHxroMBAKAFtQB61AHjQA9E5njypgPpjGp97x6jSEMmx0kBYBVmt5ZCt7Hkbc7cqExNAcY5MUq40pMq9BYTkWOhtZjwJPGmxKSFvp9XcNiw11lfN/VEeEWLGzO32sF+NXj0Vn6HB3vmyYaLf7nL8qrV/uXFZHoiXHjQAuopgNjiijBEaBAx6mA5mmEDqBniARrrQANoyNRqKQjyyFR4ikAZWDC4oGLQAtAHuVAHrWNACj20AIRegBkkCSXI8ktrCUAdQ9xNORQD9aTHuMk3j+5KB+wgc6BTBIQqyhlNwfCkMQxkzLJ1sFVSvpD5ST94+2nINA87Aws/FfEzoEycWT54ZBdT7R4H2iqpd1c1cMnJjrevGylHMO6fpLk44fK7fZsqD5nwXIM6j/AJbf5g9h199e31fdU/lyaPz8PzPl+97E6/Ni1Xl4/kc7kiJdo3Vo5IzZkcFWDDkQeFezV6Stj5y1HMPRiEXTpI1HOga2gbYdNgKZnAouL21oKSgIPEafy1JotdiZtO2Zm6bjBt2Cl8nJbpUHVVHFnb+VRqazzZa46u1tkb9fBbLdUruz6A2TZ8PZtrx9twx+RALFyLM7nV5G9rGvkcuV5LOz3Z991+vXFRUrsidWZsLQIFI19BwFCQz0S38x5cKGAa9IJHDhQM9QAtAHtBQAKRCC0kLWktcodVcjkRyPtFMTHxyJJGrqfK4DD4igJH0hi0gPUAepgIaAPGgBhpgwMkan2UCIsnUPb7qBEOWUg+6nAiuypybm+vKmITNkCPDFx9MC49tY5rRX4nRhUsLHMrC518bVxSddlOwVQqgtfQ8qaZDTEaVC1rW9nOqgSsNZEIFjSgtWBSQm2ouKlopMC8XgftpQUrDVQg2P2cqmByHUk+Vtbc+dKBDgrD2qfDWkB4QI626uk8UYaWP9/MVSqmQ7NHo8ifHb05gQBz5Wpa13HoydFIj+aM2J5cjVppktQEIR9HHS/I02L4DLSRnXUcjUQ0PRhFsTdT0nnTQmONjowsfHlVCgHLAjDhryI41LrJSsBAlj/mUc+dZ8Wti+Se44PHJx0NNX8xOovmUWPmX/AG4VUCkb0g6g2NLYIPHSwYcOdNMUCNAjjUA/C9J40xq7QJ8W2qeX3ais7YvI0rl8xgcghJB0nl4Gs/iaR4oaYE6r9IvWTqWrBIwVGhIA5HUVdbNEWSY5J9SE4jivH7PEVpW6ZnajQaN0cXFlJGoPC9aJkQKUsbMLHkDwqXQpWGtcaMLqftFQ5W5ej2Pzfr1jzhb0AOBoA9QAoIFAHuqgBQ1ADgaACoKQIlRAW9tSzVBRMFFTA5BST9VNITYsNuoUWHUsYCunKuexvUs8cgEWrFmyLGKTQVDRomSUakUSI+IoAutrYhxROpdT6H+mOdFPtkcZceoosBevWxXTR5fco1aTdMCNRcHxFawcZDwf08Es0MZAhZvVWMcFLfOAPAnWlI2TwRZSCDramIrO78P9V29lILepHGZY78OqI9X7riuH3DFzwWXjv+h09S/HLV+G36nJjE0ZM+KCrH+rAeB/28a+LTjVH0++j/U8hWR/1GGxinTR4+f+EjmKr1Qpj5bbBBIJm6gPRyV1I4X/ALRQnImuPqiNLhO8gaD8nLTgORv+H2H8NXE6C21GGQ6qV9HJFw8R+VqzU1epelkEhnaTpiVCzsQoiGrdRNgF8da3o3ZwjG9YWp0ntntxdqx/VyLSbjKtpZND6anX0lP/ANR519b0eksNZf1vc+e7faeRwvpRdsekWHGu45BtqAFoA9QB6gByLfU8OQpgEpjBwzLKpI0KmzIfmHvFApFNweoC4PzD+NSAodTwNAEfOzxiY/qLDLlSFgkePjr1uztw8Ao8WOgqq1l+RjnzfbrMOz8l+P3Iu14GUmRNum5sh3LIQRiOM9UWNjqepYIyfmJPmd/vH2CqvZRC2MOt17KzyZP+yyiFtVf2+vq/EsQrN83A8FH8azO0XoT8IoAgbpLnYca5uL+bj44LZmFa5eLizxtxDoNbcDXN2r3ouddVX6q+a816nRgrSz4vRv6X6+voTo5I5Y0liYPFIoeNxwZWFwfiK6KWVkmtmYurTh7jqsQooA9SAa0YPsNAhlmQ+BpAFWTk2ntoGPoADmPlCB48IRtnSDpxlmNkuSAXa2pCA9Vhx4UxP03KLtvdcyfLbb40eXbsGILJm5Tf9QzeYdUtySHaRW8jAWSzc7UQRRuYWxf4eZjZuP8AqMZ/Ui6mQmxBV0YoysDwKsCDSLTlBrUDFtQB48CDqDoQedAEZsRowxxG9JmIJU6rpyA4a05JjyCxZKu4icelMRcxsRz5A8zSHIagZ61AFB3P2VsncKF8qMwZyiyZ0IAk9zjg6+w109buZML+V6eTOHt+3Ys6+ZRbzRyDuTsrfO3XvmRibBJ/L3CG5jN+TX1Q+xq+i63dx5dtLeTPke37blwPVTXzRQsotddL8q7Dzml4DlAPgDxNBSQhZUDM2nRw93OgNjs/0y7SO0bZ/qeZH07puCA9LcYYOKx+xm+ZvgK+a9x7X3L8V9Nf3Z9l7P0fs052+u37L8bm0rzT2T1Ahsj2FhxNCQwSqSbUwDgACw4UgFFIQopjFuBqeFAxjSnl9tApG3J460CFBsR40AQMHc9tkzszaIcqKTP28q+TiKwMkUU/niLryvrTaJq1t5FgrEcDUlBFcHQ6UDkfSGeoASmAhNAA2NMUgXbSmgI8jUCK3OlA8o48SaaEVyfmZMacRfqb3DWm2CKHct4Mm/fp47OsKgyqOPU/Af8ApFeZ3M3zqq8D0uthmnJ+Jf4jJNGChIYDnx+NLRg00HLugIfT+blQ0NOR/SGsWGvI05JdZHdIDfHQinyJ4DiARcG3j4GgBGiDcqICQTRAEA2seAP9tS0UrDuhE1Nyvj4Ukh8hVQEXU3Wk0EjvTuNPtpQNio/UnRKOpeTDl7qtOdGQ1GwCaCWEiSE+U8uR+FZ2q1sXVp7h8XPEnklGvgfDxFFb+DFaniiaFIF4z1p+E8a1+BHxG2U6oek81NTElSeWQg9LClMBAVQCNDp4cqpMTGuoJtax/wBuFDQgDwqdTpb7w/jUWr5lp+QM+oh46ePEGohouUx2jC408VPCmrCdIEJYC3D+U604JkQMQbg2B+NLVDlMIsiN7G8OVNWJ4jHQFfOoIPKm6podbNbAHUx2JPkHPjb31z3o6/A3rafiPAvoNDzvwNRA5GFAT+E8iOIPsqGikz0uVBjQvPmSpBjpYPkysscYLGyhmYhQSTpWlbvZkWovALjZuLOHGPkRZUcTdEojdZOh/wAJ6Sek++t4aMpTJJXTqTzLzXmKNxbH5sV6JxnhQA4UAOoA8aAEFAD1FAD0WgAygVIIeHtwogqTxY0AJY0mxwEQ2NSWiZBIQRWVkbVZaY83DWsbI1qyfDKKzg0TJcchqS0ybDqRSKRcYGhBFSaI3vbu45uLGGx5WjP8tL7tq7ML41Zaol5G/wC++sX/AFs5Zj5j1tWb7F29zNYarwJm37xvpmQRZDlm4lm/fenTPdeIWxUjY10ncW97bBFLklZBcaA8a7v/AC7VU2ONYKWcItZO9YM/aMxQDHMuLORfXzshC/trV9qlqP4GT6tq2T9UYDZ86POwo5QSs0QCTKNWjkHEW5qeIr5PNi4Wg92l5U+BJlxWaT1obR5Si+nyuKwae6NVbSHqj3XHlnpIMWUmoHAgjmpp6W+Ia1+AzrV2/T5I6ZRqkg4H3f2U628xOsKVsBzsaeVgsjBZ11jlPBhyuf41b9RVfkaPtXFXaYo+4N8i9GI/l4xK3MYJt67DlfgPZrX0XtHQ4f8AJZa+HoeR7l2+X/HX8zoYZDGskbB0kAaN1N1ZTqGBHEV7h5A21Aj1qAPWoAS1ADlS5ueFAwlMCPPNOAsmN0yxi5dQdTTJnyG9MORaXGlCSaEsBc6/iWge45cmzMsyGEggKx1VrmwsaIFIYqDxGtSMUacNPdQA19WQcr3PwoAbkQmaJo+soG+YrxI8L8r+IppialEP/UJMacY+VE/pqnV+qtcNY+Y2HIcBzpwLlBYp0lhexU8fCxpNSUVXa9/+3sIfdCuI/wDAJGCf/LauL23/AKK/n+k6HV3f+635fwLSu45haAPUgPUAKQCLHUUgGNGRw1FAhEcj2igB7xxTKAw4G4I0I9xpgQs3bfW6zJJKrSr6T5cBUSCI3DI6OGRlIPHpvw8KBOpVpt+540UEsKxrlYqvg7NFignH9OQWWbIZvMVjUXdWt5hpckUiEmv8DSoGCqGbrcABnA6QTbU21tfwoNR16QhRQB6gBksEMy9MqBrcDzHuNMASjJgcdbmaC1ix+ZbczamBIililUtG3UoNiRyPhSGmK0aM6s2pS/TroCdL0Azzxo8bRuoeNx0vGwDKwPIg6GiRNJ6PVHOu6vpJi5HXldvMMWc+ZsCQ2hY/8tj/AEz7Dp7q9fq+6uvy5NV5+J8/3vYq2m2LR+Xh+XkcxzcLMwMp8PNgfHyo/nikHS3vHiPaK9zHkrdTVyj5vJhtjfGyhms+mfaX+s7mdyzI+ra9vcWDaibIGqp7VT5m+Arz/cu39uvCv1W/Zf5nq+z9H71+dl8lf3f8jtBuTc8TXzaR9gzwoA8bAXPCmBHYkm9MA0adI9p40gHUhHqAPXHHwoGgbP1H2chTA9egBRQIWgAa4+Ok0k6Qos8oUSzBQHcL8oZgLsByvQKAlAxaAHo+tj8DSGmPoGITQA1jQAJjTEBY0xEaVwoJOgFAFRkuWJJ5600IhmeOCHJyZDZIkNz8Ln9gobRVVJzXtjKmzdxyNze4fKlaUjwUmyg+5bV4N3zu7HupcaKvkdIxHPSGBsa3RzssBIGWzj/erVMxdT1ipty5eFNoXLzHKwII1B5k1JSY4Hp1BoAcGDAFdGHEf2U5Jgd1XFmGtOSYGKqFtBb2UDGSRFTdfL7RQA5C/O3V+w1MDkIi6nlfkeBoCR3mAOl1PzKaJEBkxI3HWhK+B5g+3+2ptRPVF1uNTImxmAlHl5MOFRLRUJkzrjlUOOf3h/GtU5M4aPDrt5gGTxHGgQ8KRrGbjwNTHkV8RRIGHS2h8Dyo5eYNeQpH9xqiRhUa/t8DSjyHPmCMevl+K+FZuklq0DfU5ONOdTLW5UJidFrlOF6pWJdRURTqRrT3EDkkeO3h40oaHuPSWN7X8reI4e6nM7iaIW5ZeBtOI+buORFh4CfNPMwVQfAX+b3LrWX2m3C1NPuqNdGca7w/8mNuw8l8Ttjb/wDUmjJU5eT1Il/5I1sbD+c39ldVOjP1P9Dnv24+k5vv2+9496bZLvO/58yLjSouLjxOiYsTyaInoAD0+vgJtSGsCReuzHirXZHLfLa25uvo/vuL24THiY/oRSSgbxilT6psOn72t0OuutZ5scr1LxXh+h9DRPDJGksDh4pFDxup0KnUEe+uD+J2n5s3r0oOIW9EAeDUQA4GkB69ADhQA8cKACLQA4HSgBygmpbGkHSG9qls0VQgxz4WqeRpxHjHIF6nkVxFVStqTYyTFIQahopMscaTnesrI1TLKGRSBWbNEyfjsOoVDLReYABINQ2a1NpsrqIteFZtmj2GzbmqZLJa4HOs3QxkdjbzkLOHiAuDzppQD1LeTedw3EoMhlEafKiCwpZLtirjS2J8T9MRW9gwsfbU1YWRSQYGTtu5vmqxXGmNprchfRrfy/uo7GNZaf7lsVgycH6M1KsT+XIOmS3UADoeYeNvbXkJ+D3Ot1jVaoHkY8cxBY9Eo/pyjS58PfQ6jrePgC6us/ps0dLn5JOAJ5a8jSmdxxGtdQ0GSuJNCu5QjLxInDa6dQB+Vjy/ca3wZFS6d1NTPJjdk+Dhs6fjz7ZvG3+rD05GJKOl0YDy6ao68reFfcYc1cleVXKPlsmN0fG2jMe8e69iTPNAku5dmyMXyMNbvkbeWOskPN4vxJy5VtvqiJ8GbPDzMHPwoc/AyEysLIXrgyIjdWH8COYPCpFAWgD1AHgLm3CgAo00oGBmZyjiAq7Rm0inXlfp+NMTAhOMmH+VKQDJAwF7cdR7qBDYzFkP60DehkC4kW1+ocxY8aYD/WhnVoJ0Mb842OtuFwRQEjW/UYqLYmeFT57jzqo4Ae7maA2JMUsUqdcTB0P3lN6kEzzjgRqVN7eznQMUEEXGoNAxJI0ljaKQdUbizKeYqhPUrt0ypJidowG/62dLTSjVcaBtGkc/iK6IvEmuDtZHZ/ap9dt/9q8/j5HTgoq/8l/pX7vyJ8UUWPDHjwLaKJBHEngqiwvXXjoqVVa7JQYXu7Wbe7HgMeLW9grQQ2X10idoVE0oUmOJyEDMBovXr038aETZtJwpYDa9zh3DGMsaPDLE5iysWUWkhlX5o3H7QRoRqKvJR1cMx63YWWsrRrSy8UyYKzk6BeVADJG+6D76QhsalvYBzoAcQVOvwNAD1k8ftoGOSKNSzIOnr+YDgfhQEDrUARotyw5dwm2+Ny2TjqrzAA9I6uC9XDq59Nc1O1jtkeNP5q7+k/4mrwXVFdr5WSSyqwRmAZr9KkgE242HOt3ZJwZQ4kdTCD1AQLamAGXFLOskTenKgIT8GvitEg0JFli/pzDocN0dX3Wb2UCkk2oKPEXoArd97d2jfMT9NuUAlAB9KYeWWMnmj8R7uFa4c98bmrObs9XHmrF1/NfALtG1YW07bj7dhJ0Y2MvSgOpJ4szHmzHU1OXI72drbs0wYK4qKldkTKzNT1MAErXNhwFNCFjTXqPwoYBeVSB61Aj1qAA5L2UKOLcfdU2LqgCuy8OHhUplNSGVw3v8K0ViHWB4pki3oAWgDwoA9QB6gAqtdfbzpDR4mgYw0CYJjTACx0NNiIGZJ937aYiqyG40wgzfeeYIdmiwgfzdwYqR/Ifm/wDlFcncyccb9dDq6lOVp8iFsmziFFaIW04Dw9leXjqejbJ5mlxlYAcjzrpRkyerWHsqiAqvfQn3GmhNBCylbaBeR5XqpIdRGjOluWp5g1Lqhq0HltYX4+Io4wWrD78ibjxpCaPWVj5dHH7aaZLQ38wX524imIWJ1bQaEcVNIAqkcCNPCmA43tfw50oARff0k8xSA86qwIIFjxHKk1I04I5hlhPVAbjnGfD2Vnxa2LlPcLBlRv5b+m/Aq3CrrZMl1a9ST7W8reIqmSeNzo49zUmMQB0PG6nnU7FDwVPA2Pt4VSaJhiNGDrwP2UQCYN4xwtqfGpaKQBomUkqbjmKydPI0V/MVephYm/7DQrMGhsqosMksrqkMY6pJZGCIi+LMxCj41otTNuDkvff1+7d2MyYnbwG77jYj1yD+mQ+IHlaT3npX311Y+o/6tDC/YWyOD9x92d3d4536jd82WUDRIQbIgP3UVbKq+xAPjXXWqqtDltZvcTB2GOKxI+UXsB+6qgiTRbdkY8HqY0yeri5CelPC3yuh4g+ynASSYE3Da8xXgeTJe19vmY3bKgiW7Y8n/wDcQIND99PatTElSdg+mHf2LkYyYs8oGFI1oHJ/oyN9z2o3764exh/qR2YM3gz4ovXVBhJ69IcijjQMcKkBRxoAeKAHCgB4FKQCKKJHAeJdahmlUToYv76yszdIkiDThWfItIQxeyhMIGGE05CBpQinIBYpSKloaZOgyCbVk6lplviSaisrG1WaDbyfL4VlY2qa/aHtGResmbRoU2+Zy4c5cnj41pVScuRwJsm5+uC99DRkrBNLGv25lK3rnZsW8CFz4UIlk/0keEowuCLVSIY7D9F8OLDyTrGSkEvNQD5ReuLs4k7SdOG7S0AzetjSGLJHUjaJLyPsbwPtrlXkzfR6o9MEkT057lR8sg4jw6v7abp5iraNiP8AqxGDj5XmjOiOfDwNC8mU14oiRd0bj21mfqtuk9SDhNjvqroPukcx4Eaiuzp5r4bTXbyMOxhplrrudO7Q762Du3Dkl22W2TALZu3yEerFfS9vvxnkw08a+twZ1kUrc+azYHRwyoy+3d67Xz5t57PjGRhTt6m6dss3TFMecmKeEUvs4GunS3xMFp8DTdvdxbR3Ft5ztrkLLG3p5WNKOjIx5RxinjOqMPsPKpajcosqQHrUAOV7aHh40DGSY929SFvTkPEjgfeKcigjtGmQwWW8GUpB6l+9Y8fbw4GgQ2YRyShcy8cikiCZNBY8BemA8xv6LR5vSUUdKzi/Vb2+FAfE888mMoaS0mNr+YgLEKB5QfEnmaAkT9Pf87EIhc2DpYdNx91gOB11okIJdKBjSgvcEqfZQM90nmx/dQIUKqjQAX1NudvGhJDPR6jqPFtb+ymBFXNlSeVcmP0ol1ja9yRbgLfMT7NaIJnUmKysoZSGU8CNRQMqJFGN3fjvHoN0wpVyV5M+IytG59vRIVrZa4mv7bKPzPPsuHbTW2Sjn402/iXOlc56I126R7TwoAGoLGw40AHAsLUAKpRgekhgrFWtrZhxB9ooAY0dvl4eFACKxXhw8KBBVcMdNCOVA0ZfcO1cjHb1tslaylmXrJZ4nlv62TfjLJ0eWMcq+c7PtVqPlifn8VP1X/3WjRL8z1cPerbS6/zjavop38yN256r71ARAzvBD0COZiThYpHk6jzyJj5iOQrH27lbsJxrWuz/AP108J/338fxG/cVVieuln4f1W8fhWuxtRX1B4gtAHqYDulhxBHvpAQ923DbMDDM+5SrFjk9ALXJLHgEA1v7qjJlrRTZ6GmLDbLbjVSwW3Z0GVF6+3zjLx/vRHR0+B1p48lbqULLhvicWRYIwdA63s3C+hqyBskEcjxs4uYm60106rWvQKB9qQxOmgAcrFRodTTAGilmt9tORBgABYcKQxaQHqBCUBBEyTeUjw0rO25pXYFekMcDQAVJSNDrVKxLqGUgjTWrkzFpgeoA8aAEJoAdG2pFA0ONIGMJpgDamACVulSaBFXkMTc+NMRWzXZgo4sbD400MwncGX/qPdpiibqg29REoHDr+8T7RXj96/K6Xket06RSfM1W3KOhQRZhxAqceiFkWpbxohFyPjW5jLCGB+Wq+FEDTPW6QRz50DPA6+HiORoGFjewsNB4UkS0FXoYarY1UkteR5odLrRAKwwX58aUFhAGI82hHA0QKBhReq5Fj4iiRNDh1HQigQ9LjxpgKwaxI+NIAYbq4GxFIY69xY0MEDmgEgva58Rx/vrN1KVgaT5GPo/5sXgeIpKzQ3VMlwzrKCYT1AfNEfmFXynYlqNGOBBB6dfFaAB6Xtw9hqYKTF9Z4x+JTxHhRMDhMVciN+Bv4g8RTVpJdWLa9uZPC2ppiMP3/wDVbtLsyN48uYZm6geTAgYXDchI4v0/4VBatqdR21ehnbsKux87d6/VHvPvaYRzyti7YpvFgQjoQX5kAnX2tdvdXZTHWm25yXyO25TYnb0nSGZekE3I4k38b8T7auJM5SLeHbljQkALbX3iqgmR8vST+EDQc6YA2S2g0Fhr/D30hos9sy4MnHfb813SGQhoJUJEkUqG8UqNyZG1/ZSgaAQZOZtW4yZdxHNjuqbnAg6YyZNUyYgOEU9r6fK118KloaZw+xrOTU8BSGOoKHDhSAcKQ0hwFIB4pAPW1IYRONA0S4lqGbVRYY9tKxsaonIgtWTZqkK0FLkOBvoE8qfIUDWxSaOQcQRxTfhVchcQ0MDAjQ1LY0i2w7gi9Y2ZrU0GBLbprGxvU0+2Ti1r1lY3qZDvnIZZOq+grq6+pw9nRkDtXdHeURKefCtMtDLHY69s0REKs+lxXm2Owu4GW4AoRLJfUU9oqyCsyssiW19OdRkUmlHDLKHMWSERT+eJhYHw9hrjtQ6U51W4KTHlgNkYtAbWPMew+yoQ25+JGyolliMZFriwFNVJmDnvcONvGO7Y8fU6gXAPzKvsI5V3YeMamOSfAxLb/vO1bvBuO1TS7dn4jdUWRH5WB5g8mVuYOhr0cXy6o4snzaM+jPpX9cdp7rEO1bz6W29yN5YwD0Y2WfGEk+SQ/wDDJ/w16WLOraPc87LgddVsbDfez3n3D/Xdiyf9I7mjXoOV03gyUH+TmxC3qJ/N8y8q7FZbM5YjYP293Ym5ZbbPueKdo7mhQvNtkjdSTIOM2HJwmiPs8y8xUusFJpl9zpAIRQB4MRw4eFAIf5WswHmHA8xemMRwCpU/DnY+OtAmRWWSAMH/ADsW2vXqy+z+a9NCERpAPVwyJIeDQHTptyTwoD4CIgMpfDboZCP1EbAlSDqQP5h7KJD4BYcyCVigPRIDYxPo2vD7aByHpDPUwPUAJGfKBzGh+FAHpI0kAV1uAbqeanxU8j7RQIFiYa47yCI+SQr0Ri+lhY8+JokEkiuwWXce4cjcYz1YO3xNgYsg+WSd2DZLr4qnSsd/G9bX+TGq+Ntf5Hn4X97sPIvoxrgn5v8Aqj+BcswAvXOeiBJLH2mgQaNeke3nQMfyt40AVww8jDl9TFAliIIdXY3UEliAo01Ot7X5UyIgk4edj5MatcRynUwsbOt+AIPO1DKTTJLIre/xpDBFWU/uNMAkcvJvtpNBI5UjVmdVVWkN5GUAFiNAWI41Kok5S1ZUuB4piFoAZLkJAokYXUHX3Uwk+Z+7/qH3j9Ne8Mvb8HOefbnc5MX6tmmh9CYlk8rHw00OlW4Mqplt3X9XMfuSHY5XwcvCSOGSXMLY84x1mZgt1nK9DKUF+OleX7jjbiNUe77LkrWz5aNl/wBqdxFJ45MSdekAFGRhwP7xXBhyOjPe7XXrlrrqdY2fe4dwQI4EeUB1FOTr+JP4jlXs4syt8T5HsdZ4n6FlatjnEtQAjGwuaAANdjc8+VMQVE6V9p40DF99IBKAPUAeNAEGf+s1Z23LWwwUhiigBwNADlJBsDYngaFPgD9So2fu7Eym/T5wGNkglev/ACmINuJ+U++vP6vutMj43+Wx39r2q+NcqfNX9zQX/ur1TyhCaYDSdKBno/m+FABSaQDCRTAG1MCFlPfQcBQSytyGpiKvOzFxMbIzH+XGjaT/AHuC/tNKzSWpdE24MZsG1rOTmAETykySHxLfiH8a8Ktudm2e3b5El4GwxIWQAOLCuhVOd2ksoywA5jxqkS0S0YcOBqkzNoUxqffTCQMkJHu5UmilYaNKZQ8P40CCrIR7qJgTQ4qpFxRJEQDIIOvDxoKTPG3Ea1MFDkc8x7L0SS0EJUjQ0xCg870wBslzfh7aTCT2o+bzD8QpAOBCi48ynwpDgFKASWis3ip4/ZUMupDYeYPF5HHhUFh4s7qNph0vwEo/jVK3nuTxJDOSAbg358b0xDeojgKBgnjjfVT0SeB0vUuo0zgn19+tW77Pkz9mduTPi5qKo3rdE8ssYkUMMaBvusUN3ca8hzrs6+Pila272ObPadEcX2DujaseSMZW3RZDtb1suYtJMzE6nrY3sfCuxWnc43VnSdvg2TcoDlYcar06yRjQION61rqYNtDciNY1YMtrXCtb9luZpwCZBeLk5ta5JHAe0UiyJLfUjyr+K+tuV/aaTADIXYgE9J5Wve/uNACoESxPFTfly9lIC4jlk3PHjkx+g7pio6okn9OeB/6uNL/I/EW+VrMKTKOE9Nc8nSe6RSkZ61AhRQNCigY4XpMB6ikA9RSAMi60iqolwg1DN6onQg3FZWNEWWOCaxZqkTkgDAafGs2y0goxNOFLkVxGtieyjkHEaMP2W8afIXEPFhC40qXYpVJ0WAQL2qHYtVJUUDx8jUNlpEuPcf051OnOp4yWnBTdwiTcltEL30vW+H5TlzrkWHY3aj48gnmFgOJNPPnkjFjg6GMtEtHHwGl64lU6Wyzw2JAbnTJZY+pdLGmiCulhDyGosWgkHVESp1U8qzaktOCfjP0q1z1I3LmD7KxtQ0VpHS490608yX4D/b9lZNwUtSLJjY86hJBoT81tRTTE9CvzOytlyUcCJH1HqRkXBB5qeKk1f3b12Yoq90Yzf/o5i5HVJsuSceca+hLcrccOH767cPuHmYZOtGxpex/rJ3Z2dLFsf1IxZ8jaUsmP3BGpmlhXgPXtrNGPxfOPbXtdXu1vomeZ2Oo1rB23O2zt3uvZ8WcumbhSWyNs3PEks8bfdmxshPMjD2e4ivRrc861fMiRbvuuw9OP3NJ+r2y/TB3KidIW+iruES6RNy9ZfIefTTdZ2/QXLzNHYWVgQyMAyODcEHgQRxBqSoGmgBuo1HGgB6uDodDTAd7aBkfIxSD60B6ZxrYcG04EU5FBHeSOWQLM36XNjW6i56QCdPtogncfkTRB/SywImOkM45k6G3gfCiAb8xyyTYx6MjzQqB0ZPD2BSPH20D2JKsrAFSCCLgg30PCgYtAxCpvdTY878DQB67c1+w0CIm5YGRnxLB+qkxMZif1SwWEsqEfIJeMYP3iutvCqpbjrE/Ew7GB5Vx5OtfGPFeU+C/iSseDHxsePHx41hx4VCRRILKijgAKmzbctyzalK1qq1UVQ136j7OVSMJGlhc8eQoASUNIjxRy+jKVurrYsuvzdJ5UwPLLIPSibpeci8rKCFCji1vbyFIBuHuGNllxAxJR+jUW6uNit+IaxtzpgrJi5GBDMQw/LlBJDqBe54nXmfGlINAsXMn1jmQuVb043UG8j3J6QDa9lFy1AkyZFKksfWhupJHxBsR8DQUjzRc1+ynIDVZlP8KACrIrew+FIYt6QFD3r3HgbBs5zMsdZkYRQRA2LuRfjyAGprLNmWOsnT1Oq8+RUWnmzlmVuG0brkYO6Ze0Q7jlYN5MJptY4+s+UMpv6lj5kDDQ61w//wBC8apHqW9rx1to24NxgbtvUoJlkWWEizRsvkt4WHKop2bN7DvgqjmH1I22DtbuPbNx2lBh7bvpdHgUflQ5MVmfoHISIeoL43tWWbHOp09Ts2XyNnQdgyoGxcf05CkiANBIDdg3jc1nhyQPsY+Uyb3ad3jzQYZbLmILug4OPxp/Ecq9jDmV/ifP9jrvG/8AaWFbnOCdrn2CgDyJ94/CgB9qAPWoAQ2troPGmB61IJPHhTAiZaWkDW4j91Z3RdQNSMS9ADgaAHIbMvvFCBnNc1RHnZMdvllcW/3jXxPYrGSy/wBzPs8FppV/7UWOz9y7ht1oyf1GKP8AIc8B/I33fdwrs6nueTFo/mr5HH2/bcebX6bef8zabZvOBuUfViyfmL/UgbSRfeOY9or6frdvHmU1evkfNdjqZML+dfmiWTXSYCxcSfhQA+kIa1MYGV+lfaeFAECY6U0SytyW40wMp3hllcLGwFPnzpepx/y4v/1jXF7hk4448zu6GLleX4E7aMGKOFH+U2FjXFiSg6ssp6F9HG3SLgH2+yuhIwbHGFl8yajmKcBIqMORsfDlUlB4pB8rceVNMhoIRzXU8xVIloGY7n20QCYxozSLTGAsPcKBhkbmPspQIW3X8uhHEUyWBt0k+37p/hQNMcGPxpQUL131qWhiiUKtybeyhOCWh6SxsvSraj8VOZFxGMbHmj+3gaTY0hoYqbjyk8RyNIYh6W4ixqWNAXjJPj4GpdS+Q2/T5X1X2nUUg+B4GVBeLzJ4H+wUaoN9wqSsedv5T/DxqkxMpe5O4sXaMSTInPUyglEGlyPbUXuqmmOnL4HyL9WO8cjunuU5uXDHG0aCBWjUAlEPl6iPmt4murA21LOfsRMIw5Bjb2GuqrONo0/aHdGRtmYg6vJwKnUMvMa1rW0GN6nWpCmXixZEJDxz6qb2tzPusa6E5MNiqngkDABrqOB4EDwt/GkykyJIABw6m0sbVIyJIpDFifNawJ4ge2gYAFmI5HUKdLn23pAGxsh4pVKcQfMD+6gEcjWuQ7B1qQxLCmAnTRIC0gHCgB6ikAZFvSGkHRKls1SJcKVDNUTYU51k2WkToDas2aIs8bW1ZM1qWcMQYCs2zVIkjDDC9qjkVxBtgEcqfIHQVMfpPChsEidjqtheobLSDyKltONSimVk23SzyacK1TgwsXW3bTFAgaYa+FQ7CSLCTLAASMdKjgBUwDY7HyLNcm9VApLvBymawB0qWhouYmJT21JMCLF1NeoZaJCxqKhjEETBr0oEGjdl1Q2PMcj8Km2OS1ccQjklQEmIsV4hvdXO6tGqaYOGexMf9KQcR/EVPIbpAWaFJOlkb0skHyONAxqbLxKrbw8BEkx8zqxsyNVyV0MbAFX8SoPPxHOkrz8QdeK01qQdk2/P7V3B5u1p1wEnYvlbLP1NtmSebKgu2NL/ADx/FTXrdb3W9NL6o4M/RpdTU6l293Tt++K2OY2wtzRL5O15HSX6ToWRh5Joj+JfiBX0WDs0yKas8XL17Y/qEi2fL2Zy2x2fb2JaXY5W6YlvqWw5D/RN9fTP5Z/lrqmd9Gc8cS0hljyI/Uj6hbSSJ16ZEP4XU8D+ypKkW1ACWoAcjEe0UAF0IuKBgp4I5kKuouRbqsCR7iaoTAZDelGI5I2lxemzyEgke/x99ITEdZoEDQ/nYw1MFhpGB8qePj7aYDCJOt58FgzEBpsdxa9x5T4g2oD4EjHyEmW1isigdcbDpYfCgaYYUDFoA9SAFI/3R8TQAsaX1PDlSAI5YKxVepgCVW9rnkLnxpgRz6LCHLfHIyrdESNYSAtxTqHLmeXOgQeKIxqQ56pXN5X5E/wA4CkMi7htGNm2MhZWBDdSkg3BBv8A4ja3V81tKaZLrI6TOjwoMYZ0pead/RQopbqexY8BoqopLM3Kgbcbku8WRCj6SROAyNraxFwQeI0NIe5DOLl4rM+I4MOpGMV4sbDlbT9wvxpyTDRYL1BR1W6rDq6eF+dr8qRZ5lDcePjQABlKnX7aZIom6R5tR486Q0zn/wBau3tx7i7Tj/0lTNmbfOJ/06fNJC46JejxZF8wHO1c/Yxcl8Ds6Wf7d/iZrt6HqiBS/SpBjPEEL5V09wrxr7nuV1RssMvGqggnqGp4fsp10M7HJv8AyD7rw8PA2DapgHbLypsjpPBUhTouD4lnFq7erq3/AGnD23xSj6iL9Pe8twlyMXDhUZgl/Kx3JFwbcHv++se11HT56/T/AAO3p96uVcL/AFI7RDiZoxw7v0ZcfmjeMFSjjwJ1+2lRNKfEjJarcf0s1WzbuNxwutl6MmI+nkoOAa1wV/lYaivUw5OdZPFz4ft2jwJlq1MhVfkdKAH0AJQBE3WLJlxDFDGJkfSeLrMbsn4UYaXPO+ltKaIvMaGeh3XO22C2Kj7jjxyEz4kv5OTjwBSSUjNzIQx1toAABVbmNMvlr6eJq0YPGrgHpYAi4sdRfUeNQdIyaLrQgceI99KyBPUrJsmKJ/S1ec6iCMdT+8j7o9rWrM0IGNi9xf69PmZOdD/okmMkePs6RXliyA12mbJ06gy6dIFqGJblpyoGevQDOeb6PT3vOXgPVJHxANfH99Rnt8T6/pOcNfgRL8K5DoHRySRyLJG5jkXVXUkMD7CKql3VynDFaisoexqNm7wmeSPF3CMyO7BIp4h5yx0HUg4+8V9B0fd22qZFv4r/ABX+J4Pd9pSTvjcR4P8AwNiF6Rbnzr3zwTxoAaxoGQ5mufZyoEQ520piZVZT8fHwpgZLJjfcO4pGUhosRRAg4i66sfixrye3bnk4+R6nWXCk+ZqcGDpUW8ptwP7qK0gLXks4lCiwFvZWqIaHdOvUuluIp7kTG54xI+vysfspMpMYUdBqLjxHCkVIqysOdx4cxRIoCqyNTkloUgWtxFMmBjw8xqOYogpWBFWGo4eFIscslyDwI5/20APYq4s3zDnSJaAsvQ3C/tFOBSeupAvp7RSKTEZ7cQfeKQ2gMmTiCdImkSOeQExRllDsBxst7t8BWbKSYYu4UDR043poQitcDw42/sNMQZVUjQX8RzoAQKBfS45//ClAHmhVxpofA8PtogaZHKmM3I9/jWbRcjHkvpxVudEAii7p7cG6bfJGQZlZeH3x7R+KsctJUm2K8Hyn9RuyM3aM2R7F4rnzAHT38xW/Wy+DMuxi8UYNCf6L/wC4f4V3pnCxt2RvAjhWlWZNHQ+wO8EhH6DNN4GOhPInS9bUsYXobrPiAa6/mBx+WR95fb7PCtjJFXJEWBNuleV7m59ltakogzqpt0+7Tj9poKBtFdeq56Rpa9IADswJI1HADnf30gOVCuM7BaBnqAPUAeFAxwoYgiUgDx1JpUkx2qWaVJcIF6zZoidHasmaIlwpc1DLSLLHQ3B4VmzSqLXHuAL1lY2qWeOLj31lY1RNXF6xpWclwCl25xrwqlcl1BDGYaVUkho8ViRfhQQ7ElTFCL8xzoSM2xkuWXqkiZAhzVCJEN2I1pMaLza5lRgCazsWjS49nQEcKzkGFRNbDlUtjCdBHGpYDr+X2+NADVIB1oTAJo/w+2qaTFMCSwrOAJfmHyyjQj4isLYZNa5YA9cmN+XlfmY7aCW2n+9bh765bJ13N9LKUEyoFmiCs1yv9Kfmt+Ac+HgaTqFbwehy2kJwM3y5CaIxFiR4g+NNOd9wdeOq2CgEGOOYnribqxcpCUkjfxVhqprXHa1HKcMyvVWXoazZe/Vjti795WXRdxVbKR4zIPl/xLpX0PT90VvlyaPzPI7HRjWm3kbALFIEmRgwZQYpkIYMp1FiNGWvZk82NRrdN7NZWOgb7p/sNACMpBsRY+FAhtqAPAkG4oAeGDcdDQAtvHhTGRnxTHI0+NcSt80ZNkY+LX8PZRIgQVJ5maMnHzwCGU3sfa3iL2piHAwmWFctbZaWKtrZm4DUaE0AS6Cj1ADZGsLDiaQhiqWNuXOkAUsqKSx6UUEkngANSaCgfUr9GTHOP0wUlrWZGU69V/EUyfU5r9Tu8Hdn2LCYrIwA3GQHVENiMcEfebRpfgvjXs+29NP/AJLfl/M+d959w/8A00/+p/4EHtH6mbntYjwt469w25QFSe98mIe8/wBRR4HX21t2/ba3+any2/Y5uh7xfHFcnzV8/FfzOg7t3lsuD26d6xp0zIpbx4UaHWWb8HivT9+/CvJxdS9sn22ofie9m7+OmL7ifJPb1IvbPe2x9zQ/oplXG3B16ZtvmIKycz6THRx7Pmq+z0r4dd6+ZHS9yx51H038mXSbdPBubZcMzWnKrkRObiy382vFuAHCwrilQd/FpkqLcMKTNfCSUNlRi7Rc7WubePTz8KIKVlMEikM9emAy+utAgUsYI8v2UA0YfvzN3DB2yVsRjHJIVjDDiA5sbe21Z5rcaNnR1acrpMo+3IisQToNlHzX0+FeFOp9C4g1GP0vHrfw1q67HPfRnyR9Ru48vcu991hz4vW2vEkfAXCY2YLC5/NRteiUtdur4HSu/qxSnxOLtp5LfDRFRt24ZewzxyQ5DZO15QZcfKW6MRazI4/y5kvw+yuzb/4s4GpceKO0/R76q7liRDZe4cx91wYgXws4gnLGKguXtqZvQ/zU/qKvnHUoNsr4kzfF2Glrqdy7fyYo94j9CRJsPcobwzxsGR7eeNkI0IYXrn680u6s37KV8asvA1Jr0DzRDSAVWI93hQA9SD/ZQAtqYEXN23Fy7NICk6/08mPyyrY30agzvirbcLJB1dLLIySoLCQakj+ZTo16DSAZjzZD0ySLCg4mG5dv95vkHuufbQTDGthRRqf06BL6uBxY+JJ1J99TZFpwRyCND8azLEoA9QBg+6U6d/yfBwj/AGqK+U91Udh+sH1Xtjnr1K0HS9eedw5FeSRY0QvI5siKLsSeQAqqVdnC1fkTaySl6LzN12x2ycAjNzQDnMLRpxESn283PPwr6j23277Xz3+v+H+Z8z7j7h935KaU/j/kaE1655I00DBTNpYc6BESQ0AQcltDVCKfNnEMcsxFxEjSWHPpFwPiaVrcU35FUryaRmez/V6C+QpWeRi730PUxua8PE27N+Z7WWqiEbqFI3X28/Gu1HE0E6WQAW6l9/ChoSY4Wv8Aub+2kU4aH9N/fVSTEHvMPdzpQyk0wTRq2q+Vhy5UgGBmU2YWNSUFWW/tpyKBwYHQU0yWhWVTx486bFsBkjIF+fiKRSYNXZfjxpQUP6kYcfhRMCaGMLA21HMc6JFAEuB1M8ixQRK0mRM5ssUSC7ux8AKqlXZwgdoPkf6pfVPK7g79i3fZuvH2jZ5o22+3lllTHcMZXPHz2JtXXlVargvz+JnxtMn1pDkeqEngIMM6rMg/lkUOv7Grzayjo3JSGJxb5H8KcigeAy8eHI86cCCq4PzD2BqaCB/p81N/EU4J5ApVJHiPDw91KBpkNomUkgdSHiP7qniXJ5V6fMpPT4eFS0OTMd89mYe/7e4MYE4U9MgAvw/aPfXPesao3x3WzPkfvrs7M2LcJI5IyoB4gG3w8K7OvmVlBzdjDxcmYH5qm/8AVXj7R411o5GhIZnhkDKSCK0TM2jq/YndUWdiDb8rzSKLRE26teAvW9LHNepeZOK0ZZXuFW5OnM/urRkormQAoApudLc/iaiSyK7eWzDQcaAIM06xglm6VHha1IIOYDhXGdotAC2oA9060AL00Ae6aQBEFIaDoKTLSJEaGobNUTYEOlZtmiLCFLWrJs1SJ0CjS1Qy0ixx1Y2IrNs0RbYuOWtWVmbVRc4mKAResbM1SLOIIo1rMuT0zKV0p1qZ2uQSFBua0SMLWBTZIUWXhVpGbZFLyOdaqBCjyj20AMEnm404AscXzWtUsaLTHxJLhhe1ZOxaRodtZ7BTWbZTRaxizX5VDYgpKke2kwGFCOFIYPoJOtNCFA6BxqkDEOQ666BfE0xAX3nBiBE8y9B0IOooeOQVmtR0U8MUQmx29XCc6ga9F/3rXDlpwOur5+jJMuPBkQL1Hrh4xyLq8Xx4lf3Vm1I1ZoF6s0DiLM8ycI8j7rDkG9vtoraNGFqzrUJPewNyy/cbn7jXQnJzsl7Dvm47I1sJg+Gxu+3yk+ix5mM8Ym92niK9Lq9+2LR6o5M3Wrf0Z0HY+5No3yN0xn6MqNb5GBNYTJyPl4Ov8y6V7+DsUyqas8rLgtjcWROcTQDyKZ8f/hXvIn+An5h/KfhXQYPQWJ4povWgcSRX6eocQRxVgdQR4GkHqj1hQAhFAD1cjQ6igJH6WuNaCgc8McyGN7gHmDYgjhQiYkZjx5CgrO4mC29NyLN8fbTGg1qQxrEKL8+QoECsSfEmgQZVsLUDSGO84yEVYg0LA9UgbzK3IFeYNNBJkO/e9MTt3b0jx2VczJZhhxqAVUg+fIZR9yNvl/E/sFZvtYceSqyuE/4fyNqe39nsYrvrpO1V4+fl8Tkaxlx6hf1DISzSk9RcsblieZJr7Sl62qnWHV7RqfnebDel3XInW63T0f5k/aNoGflMJZhi4OOhn3DMb5YIF+Z/ax4IOZrn7nbp18bvbwOnodC/ayrHRbhN53WHdJIThIIdpxE9HbMZfuRjUs//ADJD5nJ1qOhal6c62V+Wrf8Ah+Rt7rhy4sv271dOG1f8fWfMrguo8puCChW/V1crW1vfhXY2o1PNUzpv4G83TvPuXY9qwtofO9Xe0KzZ07qrmCM6x4rk/wBRrauT7q8nF08eW9rxFPD19T3M3uGXDSuNucm7fl/t/wAy42Pu/ZO4VbFzVTad7nUReqDaKcK3Wqq54ebXpbXwJrj7PQtj1XzVO/qe5UzfLb5L/s/gbPD/AFmNjSDcZw4g1OS9kuoF2Zr8Avt5VwaHqqUtQ0eRDPCs0DrLDIAUkQ3Ugi41pQNORpY0ADeT20Ac9+p2cXzdm2qO5edpMl1Av5Usi3+JNcXevFUj0vba/M7eQu24nR5Reyg211/vry6qT1rWLaIOINdDckirShGVtz5I+tO05OyfUndTOnThbq67hiSC9isws/8A6ZFZTXoYGnRehwZW63c7Mqe09o3TdMPd2gw3z8SFEkysaPUnzWVk/Cyrchq0+6qRPiSsDyJtEfFzZtpyY2jmeXELrLjZUTGOVJIzdXUjzRTxn/a1aprw2OS1HOujOtdg/WmXYdyhi30xp23kss2LuMCFUgyl1lLRKD6Qm4tGg6Q1yosbBWorQ/FbDpliU9nufV8GRBkwx5OO4kx50WWGQcGRwGVhfxBrUwH0AJQAtADxJ4/bQA64NAHqAEpgepADlhST5hY/iHGk1IJkZsWQfKQ37DUupasMMMo4oaUMcmV7k2Dd83dxNi4rSRtEil7gKGFxYkkV4HuXRy5MqdFK4o9z27u4seGLuHLEwuw9xcg5k0eOnNU/Mf8AgtTh9ku387VV6alZveqL6FL/AENRtWxbbtgJxY7zEWbIfzSH48h7BXt9bp48K+Va+bPF7PcyZn8z08kT66jlPGgBrMACTTGRnPOgRGkNMCuyn0NMkxve2ZJHtkeNFcy506xnpPmEUfnkYDn90Vyd20Y48zt6Nf8Akl+BabIUbGjGQA2mk44+5vCuLCoWp2ZXLlF8sckQDA9ScmFbmEyHSZWWx0PjTkl1F6OGlreHA0CHWt/EUQNM8G18RzFCYOsnmVW1B1FPcWqBsWGjWK1LkrRg2TpuY+HEr/ZSHJ5ZAeBpDHh9NeHjTFARTTkmBkkSseFjzoGmRpI3Qm3wvSZScjP1RU2cef2fZSGcN/8AJD6mvhov0/2NjJuOY0Z36SE3azEGLCW3M8X+yvRw0+1Tl/U9jmteWZ7dfp9h7P8ATDPiliWTdiIsrNnGpXpYAwofworWPia4HVpep1c5t6HZ/pbu/wDqn037azHPVJ+iSCZufqYxMDf/ANOotuxVNnGgKXPm8KIEER01RjpyB40Ae/f7edMB0Mvm6TxqiWFax99IQCQC9+HtpFIYEHEaNRAxwiRgeR5rxBpOopaOefVD6dY+/bbI8cYXJVSUIF71x3o8blHVjurLiz5E7k2LN2TcpIJkMbxtoDwr0cORXRw5cbqyscB19ROB4jwNbIxaD7buM2FkpNExVkIIINjpWqZk0dl7f3vG37bWkuBlILOPG+l/GuitpOeyhnsiAxkiQdI4BQLjTjQ0NFa0S9XmNxr5bWvUjIG24fbO4d1w7Lv+bPteBuCelh7rGVEMWYx/LGR1BiIW+VmFipN+F6izg1qpOXA1zwdA4VIDgKYDgtIBwWgBwSkOB6JSkpIOiUmzRImQJ41m2apE+GO9ZNmiRNigNZtmiRPx8c6VDZaRbY0AAGl/CsrM1qizxkItWbNFaCzhcAa1EA8g58kAcaFUzdyPJn2q1UzdiK88kjacKpVFI9ICdTwokB7J0jSkMZ0E0CgWPEZ20FOQgu9s246E1laxpWppcfFUIBasGyoJcUPSR4UICanKpYBFjvrSEeYW0okBAL8BQBDzs+DGQ288nhV1UgZSbe9wnzOmSLpxybdZuBXUsagz5Ghj2HZs/G8zluocjY39lcl+SehrWw/Dw5dmIjW8+C3G+pF/H21wZbWmWdlVWy00ZNETQ/8AUYbepjP80Y5e73eFZrTVbA9dHuSEaGWKyj1YWHni5jx6f4irlbmeqfqRykmOQ0T9WOdAGFwP5W/trWlo0FevL4hniBi/URL1KfmQakVTZklrDIeRjJMY8rHdop4z1RZETMkiMOauvmUj/a4ox5rUfKrhlOisuNtjUbD9SpsYDG7mF4V0/wBZjT5By/VxKPKP+ag6fxBa+j6fudckK+ljyOz0XTWuqNu+Ok4XOwJ1jmlQNHlR2kimQi69YB6ZEI4EG/ga9ZPzPN4+QPH3JJMlcLMT9HuDAmOMm8U4HE48ht1+1T5h4c6bX6AnPxJZUg2PGkAlAHgSNRQEhFYH2HwoHIthSGeNhqeFMALXY3PwoJCJHYXPzGgcDZJIfUGM79MsqsVXUEjgek+NAMp+4d8wu39mlyMuV3ihUKST+a5b+nCp5u/jyW7Vl2OxXFR3sdHV6t8+RY6bv9kfP+9bnnbvuM+45rAzz2ARf6ccaiyRRjkqDQfbXx+XNbJZ2tuz9H63VpgxrHTZfuB2ldzkzosPbozPPlOI4sTk7n/6fEtyFej7X7pn610sfzVf9L2fr6Hle+ey9XuY2864uqlXX1L+fwZd92brj4+MO2ttkWTEgk691zUPlystdLA84YeCcida6Pe/dbdq/FfRU4f/AFj2CvTx83rkt5+Rm8eXJxpOuB+m/FTqrf4hXn9L3HL1r8sbj08H8T2/cfasHdp9vNXkvB/1L4P8I3PbuTjbft8PcOYix587MmwYkliHkTR8o3/y4jol+LV9z1veadqtKW/43ed3vHk/U/K+9/63fpXyXxzmWOPD6Z/u9a+hUTidppJZ2aSWRi8rtqzMxuxJ8Sa+kSSSS2Wh8ZeW23q3qStk2XK3jcUwMawDAtNK48kUS6vI3u5e2suxnriryt+nmb9Xr2zX4L/T1O47ZDtcm0R4WO36rDiiEDrP+YzJaxEwfj1e2vlbWbbs/E+2xVSqqrVIhzbduGLMk+BN0wxhh+j5MDwX+bzXYsSG5cKExcWtVsT5ciFJo4HkRZ5QzRxdQ6mCC7lV4kLzNI0BMSTYamhBJyvumbJ3HvKWRLSYuFbHx2DKSvSPzbD5gC968fu5OVoPc6GPjRPxNLtakIGGqdP2VhU6LlmqhlKk3A8aozMl399Lu3e+sfEj3RpYJ8Fm/T5OOQrhJLdcbdQZSrEA6jQ1eO7rsReituROx/pBtfZOLNFgbjPkeu7M7yog0PAMF0NgP7qWezv6FdeyoogwX/kF2fty7YncODiKM2JlTPaJVQTRWsC4QBSyfda1+VXgzNPi9ic+JWryjVHB13rOwVlgxJzFDOqs7WAJANxqR5bHwr0q6o8jKoZ9sfQTuDuDd/p1tn/ckkkm8LG0iST6Sy4ZkIx5X4ebp+0WPOimRNteQZMVq1Vn4nRjWhkNNAC0AeoA8GI4UCY8OCfD2UDHUAeoAQ0ANNAHiKYCWoA9SFB7lTCBKQhDTGAka5sOA/fQIE5oAjSnSmDKrLbiBxpkmQ3PFgz+5VMyt6e3IIYpVNgsj+eT+FeX27csnHwR6nWXHHPizTYuGkI14Ef1Etr7xTSBslQyNG1kPSeNvun2jwqiWSA0Uh4em/M8qYtR3U8b9L/3H3GkAcFT7P8AbnVJkNDWH2jjQ0CbG6qfdzqS1qLcPpwNOZE6jegqdDp+6k1A05GSQ9V2T5hxHjRAJxowQkK/N9lSWPDcwf7KBCGdxcgdQ5rzpSw4oT9TG4tfXwOlHNC4sxv1R+oOD2F2tJvTdL7vk9UGx4jalp7WaYg/ci4++uzq4k3yt9KM8l/A+f8A6T9r5mdmy9772WnysiR2wDLqzyMT6mSb+26p8TWuS7s5OeTr2ftpz9jysQ6jJxZIyD4uh6f22rmsdNHsB/8AGnPkyPp9mbZOPzdo3KVGQ8lyUWZf/m6qxer/ACLejZ1tVKi6cOanjTBWFASQWI1/bSaHI4K63tqPbRASe0NrcuXMUCYZHvoftoFB5hfiPiKIAH0kai1vZRAxL/3UwY8okqFJALN9lHFPRkttao4p9avpnFnYsmdBH50BJNr/AN9cfF4rStjqVlkrD3Pl3NwpsDKeKQaA2Ye7mK9Kl1ZScF6w4Iki9JuOBrRMyaLrtbf8nadwinjYgKwJA5+ytauDO1ZOvxz4u64S52OQEb5x+Fr+7iK6E5ObYrZobyMAtwupI5/bxqWi0ym3jbIc/GkhkQXN+k8CD4/3VLRVXByoGuU7B6mlABVNIAi2pMAi0ikPUUi4HqKBpBo6lmiJkFtPGs7FosseM3GlY2NUW+LAWtppWbZooLWHFC6njWTZfIlqUQcRUwDuOGWq8DT4kO48ZpIsKOIchQ7vxNKAkf0C+poBBo0F9NaQyYkdxwqWyoPPEQNKmQgHHHc2NU2BZ4WKtwbe6s7WLSLvGiCgVk2XBZY9gdaliJLSJbSmhB4vML1NgDqakBWA1J0HM0xFNum9QxAxQm7HjbjWlaiQDAwHlInyeB1VD/Gh2KLHJw8aWHoMYHhV1s0Q0V2LFLhydI+SqtqFS1TIJXkwI1B4Vz2qi02j0MixPdPKDxQ8DWLwo1+5O4RoesmfGPTL9+M8G/vrG+FrVF1yJ6MPiSev1EALOv8AUifg3v8A7alOfiDUfAiT48sMhyMEmN72lxm5HwPsPI1MtF6WUP8AUajxZKtJjkxZKf1YDz+HP31W+xD00ewiquT5VJinX22N/YacwOI9UN2vct+7XmLbQUGOz9WTss5K4UxJ8zRMATiSm/zICjfeXnXq9L3S1PlvrX+Bw9roVv8ANXc6HsXdHbHeWNPt7RmPPgUPn7JmAJlQa2WQBT50v8k0TEeBvX0uHOrLlVnh5cLrpZEpsnddkB/Weruuzrb/AKtR15uMvjKqj/qIx+NR1jmG41skntuZarfYtYJsfKxYsvEmTIxZl6oZ4mDIw8QRUvQe44igBKAHLJbjw8aByI7dR9g4UCbHxp94/AUDSCEN0npte2hPC/K9IZHeaRIV9VUGQbkKDdARxfXXpH91NIluFLMf3b2zg9yQJHkSSxSY5ZsTKQ3ZXf5mkj+V+q3vA4VPa9vpnpFtGtiuh7zl6uR2qlar3T/n4HIe4e2927fn6M+Meg5/JzI7tBL7j91v5TrXyPb6WTA/mWnmfo3t3umHt1nG/mW9Xuv8vU3/AGl2HJibFkTZcsmDvu6wGOGRADLhY7+AbT1JR83MLppXue3e2RjdraOy/Q+V989//wCVUxxatLT6Wf8AL/UwG/8Aa279vzLHuEQOOx6cfOhuYJPZc6o38ja+F68fue3ZMG+tfM+k9s95w9zSvy5P7fH8vMd29sWNmSz5u4s0GxbcBJuMi/M5P9PHi/5kp09g1rHr4lZu1/orv/gvzOru9i1EqY9ct/p9P9z9F/Eib9vGTvW4vmTqIgFWLGxU0SCCMWjhQclUfadajNmeS0v/AE8ka9Xr1w04138X4tvd/mNwNwzQ6YrI2UJGEcKqOqUuxsqqPvXPAV9H7T/7HlxNY8n/ACU2X9y/mfJe/wD/AKjg7KeXFGLLE/7bR5+R17bNpj2Pbjt62bPmIfdJxqC41WBT+CPn4tXvdvsvLb/atj4rpdVYKRvd7v8AwCpkT48olgcxyrwZf3HxFcx1zGxptm3SXcMd2mi9NkPSZB8jnn0jjpzqWjWrkDumzbfnSxTTwh8iAqYpLkGyP6ixOQR1RFwGZDobU0NqShzd13zZNpzH3RxljpkTFykNnLvfpZ2bRbltA3yhanJZVq2Vgo7WSOQQ77i40ijbwWJI68iQlgSOPT+Ie3QV89dzufRLJChGl2zftwnVVj3BomA8ydAC346HXSud5LLxCZNDgb1uglAllXIQ69TALw9otSWewmi/x9yik8pBjf8ACeB9xropmTIEy8rQ+m3nGtrU7WNaVKTcsSHcMabCyIVkhmXpmR+BvzFQmaqqW5zXD+meBsu8R5U0GPmQQMXginiWQKSbjysCNK2ea0bir16PdHXOydzmzu5lNtFxpWmPsPSFH211dKeRx+4pLGl6nQTXpniISgD1AHr0AeoExDwoEOWQjQ6imMICCNKQz1ACGgD1qAEoA9QAhoCRDQSMkfpHtNMCOaABsaAIk7ACmhMqsiVULyv8kSlz8BehuFLBKXBS9uwrOr5SqVyZmL5ET8yxvw/jXi4/mbsexk008jQwQFbmMG/3l5+61dKMJHmEOOqHiOMR/h4UxAgVa7ISOnQqeI99CB6BoshSOiUaHgf7DTAMVdPMh608RxHvFAT5j0kV/YeVEiaFKm2vwpwSBKlTfx4ipehonITrUi54eNCsS6ngNL8R7KcAnO4jokg9vjSDVEV0ZDSaLGhg3HQ0hkbPyNuw8PJ3DcphjbdgxtPm5JNumNeP+83BfbVY8XO0IVrQj5M3fddz+sn1IkzJw+P27gALFCCbQYSGyRr/AMyX+08q9HI0lwrsjjbk67BFGqRY+OgjiRVihiUWVEUWVR7AKxYi+WRY5FUfLF0gfAVizprsZv6GSptf1F707fB8k8aZkaH8UE5U2/8Axc61gjRrY7YvSdQf7RTkl1HMnVqOPjTEnA3qYMQ1BQQBW99ADWuri3Px4GgGEDk++gBQQAeXjegQnQG4f30AeUEWpoGMzMWLKx3hlQOjAgqad6qygmrh6HzH9bPpa2FLJuWEnVjsbkAar765sdnS0G+SvOsnCSpRjE452HsPhXejiaGEFGq0yGjZ9j91y7fN+nlYnHl0eMmy++tqWgwvU6LlxReikuOwaNhdSGuPt5Vs0Yp6lRMgLEaqoN+N9Rxsaho0ONiIGuM7JHiAUpHIoiNABFjalIQGSJqTZaqSYsVzUOxokSo9vJ41DyFKpIj28c6l3KRMhw0Ws22VJMRo46mB8g8e4IvA0uI+Yb/VyRYUvthzFXOdjxo4i5EmKRm1OtS0UmTIpFAqWikyVE5YgeNS0UTUh6gCeNRJaRJiiApMZLiAOlQykyYsCstrVElAxg2a4o5BBOghZbXFQ2UkS1e2l6kYVcoKeNECJWPMJLC96ALbHU9I8KhiD2VFLMbCkIyvc/cc6D9NiKSzaaca6MWNbsVmN7b7dy3tmZ2sjaqp5UZLeCBI05iCac6xQ5I8jhdDwqxHlRZV9vjTkYM4xU2BqGNA5epBcnhSkcAI9zEb9N9asGi0ikjygrhvTmX5HHGssmJNDpkjTwCmUSMIp7RZAFlccGHs8R7K47LWHubxClbEWfHAkRur0cpf6Uw1DD2mo2ZcyvNCvaVvzU9HKGtl0DfzIf4VpuRHH1QplcDpyB1I2iy/uBHOnHgJPxRD3TY8ecQOfUSXFJkwc7EcxZeK7cXxphqv8yNdW5it8HZvic1ZGTFXKoe5fbD9VM7aAmN3uyy4BYLj93Y0ZSG5+VdxgW/6V7/5i/ln+Wvper7hTLptbyPD7HTtjc+Bsp9mnhkO79s5EUE2UBNLjk9e35oYXDsI79DsOE0X+8Gr0+U6P9Th4tbErad+xNxkfElhfbt3gHVkbZkEeoB+OJh5ZovB0+NjpSagJkmmWG9usX99IBbg8DegBwoAMrBuHHwoKQOZY1dMhurrQFEVSfN1fd6eBvQDKrLyfVdkNjcjrYfKbcFX+Vf2nWujHSNTgzZZcIDZhxJZfHmP7a0MICjGgMHqzxrNGxBigkAZHZTcMQdPKdb+NZXXLQ2xN0+dOH4DG/MYlyS5NyTxuedaLQxbkZJjw5EUmNkok2LKpE6ygGIoBdvUB0sBrepvx4uS8as7Lj9RxXuXeNvyjHtewp6HbmC7viRgkmaRz58hy1yb/Kl+C18N3OxW9uNFGNP9X5n6x7d074688z5ZrJS/JeX8yhdQeOhH7K404PTNLt6/9rbSm9Trbf8AcoyNkjbjjY7eV8115O48sX216GP/AIac39dl8vovP+R5OZvtZPtL/qo/nf8Adbwqv8T3b3febgBMXc+rNwRos175EY95/qL7Dr7a6en7rany5Na/uv5nB7l/69jyzfF8l/8A8X/I6HtbYu7qkuFkpJhlTJLkrqI0X5iw4gjwPOvoseWt1yq5R8Xm62TFfhkXGyGZ+fI88cmKWx4sYdGIqmxReNz4s3Fq0RlJYbb3bG1odytE/AZI0Q/4x9338KUFVt5mC+sPcJy8+PtyBunGxOmfPcHWSZ1ukXh0xqepr8zXnd3L/Sj0epj/AKmZDbsaHpAAHTccBxsOZ48a8i7PRqjQbbh3fyzG+oPl8eNY2ZZfYhC9PUt+bMupufGogGWkZYEAi63urDhpy9lMhhHyD09HXpex01sfaOVaVu9i6XjcBmZCY0d0YMQLrzJHxrQ6kpKLOzRPj3+9fifAVdUN6G8+mO1pBtEu5sQ2RmuYx/JFEdF95Y3+yvY6lEqyeD38rtePBGyrqOE9egD1ACCgBSaBCUCENMBQSNQaBhFkB46H9lASO5UhiUAeoASgBKBDSQNTwFMQBmubmgAbUABkOlAELJeynlaqE2UW8escMQQ2M2QwFjpdQepgPbauXuX40hatnV1KJ3l7It9u2PMmhRv0xgIGjNZCPdeubHgcaG18yLZNjyiv5k0YcfKy3vW32WZfeQ2TZMsm5ZHYfLIhsw+3jQ8TBZUV2bhZCN+cphmOizgeQ+x6hpo0VkyCzyIfTnToY8xqje41MlRAWLJeJrqSUH2j+2gHqSkKT3ZG6XPAfdJH7qYtgkcliUfRhxvTTE0GKqRbjTJAshU6VLRasNDAcBrzFKYHEjrAjqXiOI51W5GqGFgw6X4eNL4j+BHlhcsFjHWznpUDiSeApeOhXLzPm7/yM+o+RvW6w/TbtlzkxRTqN0lhN/1GZeywgjjHD+/WvSx1+1T/AHWOW9pZa9n9r4nbOxw7bCQ85/Mzcgf5sxHmP+FflX2e+siDUYaejaaQeY6Rr7f76izNKoP1A66g8SfbWZr4GT2ab/Sf/IjZpyemHfMZ8RzwBeaBkH/5yFazt4mk/Kmd71XiLeBqYHIQMw1UX8VPCmJoKhSXQaMOKmqmTOGthrQG/l0PhRxKVxBKb9MgqSxWja10b4GiBDtSBya/vBoEPUE8ND+GnAh1r8RY+ygTZ4A3/jVJiKruXYMXd9ukglW/UCARyNZ5cfJGuK8M+O/qj2Hk7Hukt47RliQwFgR4ipwZfBj7GGNVsYXFxMrOlGNiwSZWVyigRpXP+6gY12HHBp8D6R/VXKRZsbtLdSh1V2xnjv8A+vpNWmQ0bzt3t76i7binD37tjdIMY8JnxpGQaWPyBq6MbOfJQbnosUpTpKMp0RgVbTxBsauyZnVnFFeuA7x6yUoAeJBRA5CLMtKClYOmQopOo1YPHmoONRwL5EhNzUDSo+2Urinc/Cj7YuYo3Njzo+2HMd+sZudLgPkKMg340cQkNHk66mpaGmToMgeOnKpaKTJ8WUNDeogtMmwTqba1DqWmWEOTGLa1DRSZLjz1sNfhUOpasSostCONS6j5B0ywDSdRyWeHlBhqaytU0TLPGMba1kzREwIlvLx5VICegD7jQEjGxmv7KcgGxV9M6UmItE3GKJfNqw4KKUADTPmzH9NFvfSqiBQSoNhxEk9aRA0vG55VPJgWJljjWy28BSkUEaQ9ZvRIEaeK4tVyMSBWQVLYwx140pERcuIlDrQUjO5MMomuOdaJoGWGBNKgFzrSYQWy5MM8Yjm4jVW5g+NY3orDpZ1DdSleiXzqfvePt9hrJ4p0ZfONUMKhQY5G9fEJ8t/6kZ+HEU1hgTyTr4nlUR+UsJYG+8f4im8bBW8Q0UUcXX57rxQam3t041DxsfNMf+mh1khKyrIpWeMi4ZTxup5Vaq0J2nRmb2/ds/sPMaTt/LC7K7FsvtfJ6mxQzG5kwnF2x211VbofCva6nevEW19Tzc3Sq3oVHeX1d3bep1XFxhi48LdePI+syN+JHFug+7jzrqv2rWWmhNOvWvqysx/qD3Z1B3znZuOtqx+9bzNft18jY9v/AFc3PHdV3ACWM/fXj9la4+61uZ36dXsdV7f7u2veIFeCVbnit9R7xXoUy1tsedlw2puXwsRca1oZDZ4kyIjG7Mh16JU0ZSdDa+nvppwTZSoKafHmxGC5QBjY2jyV0jY8g1/kb2HTwNdNbqx598TpvsHghB6nluIY/nP3ieSj2miz8PEqlU9Xshs0jSv6ny6WVR8oUcBTqo0Js3ZyMFmPTbzchz+FMhILKfQQwg3dv6zjl/J7vGprrqzSz4rj4+JiO6Ppxgbl15m0dGBuDeZ4uGNMfaB/TY/iXTxFeT3vaKZfmp8tv2Z9H7T/AOy5MEUy/Pj/APyXw8zJ7F2bmrPm7hvm3ZDYWzDrmwVW8mVMBdIYyL9Uf3nZb+WvEwe33ra1r1cU8P7vx4n1Xb94w2pWuK9eWV7z9K8W/Uzu57pm7tnz7jmuJMjIN2K6IoGixqOSoNAK8/LleSztbc9fr4K4aKlfpX7+pHhw8jIyIsfEiM2RO4jhgXi7sbKFqaJ2aS3LvZUq7NxVbl5vmWuyYg7c2fJIlhlXI3rcYD0mbMT5Y0Yf5UHyj8Ta13ZMzwpY6PVObP18vgjysGBdhvNlro1FKvwr5/GxL2T6hxSdOJvtoZeCbigtG3/35R8h/mGlet0/dVb5cmj8zwPcf/X3WbYdV/b4/kaifNxNswv9XyAk46xFtsFwy5GRxDacY4h5mPwr3+vieR6fStW/Q+S7Ob7Sh/U3CXjL/kcbz59y3PcMvOmmuZpGklnY6v1N83xr53LkVm35n0WOrSS8i22v8s9TN1rbzEnU+AAFcdzoqafa3h6EDnzFb3Da3J0uNfGsbVLkv8eOIsQjFSR8ynXwqAJ8adKecg6fONNOV6CBpU6qx6Q3ycr8iLimgKjd/UiiBIut+knkDxBHvFbYzqwX8CghnkfU/wBMMxN+dq6qVFksdW+liZTduz5MwIiyMljjqfwooRmHsLX+yvT6qfGTxe8076GwvXScR69AHqAPUCFoEJQB7lQB7lQB6mAquV9o8KBhFYNw+ykMU0AIaAGmgAMra9I4DjTJBk0AMY8aAASHjQBDaGXJmSCIdTtrblYeNPYSLrC2nCxHWToE2aAR67C5UHj0/hFQ9XJa0UEbdO7dm2zM/SZcpOQAGew0W/C9zQ2AKHujYMn5cyO55NcU0xFlEUcKYmurcGU3FMSDs9roR1IdCrag0mhzBW5mzxyKzYyggi74rcD7UPKsL4vI2pl8zPyYskRJiBdR80TfOtuXtrnho6dGKtiBJEdTy504CSTHOkihZeXCQcR76AjyC/mQkEm6Hgw1FAtGGVlYfw/sqk5IdYBSx38wPxqWiq2Al2WwPEcDUl6CsykWPG3GnJPE5v8AW/6njsPtVo8OQf8Ac28I0e2qOMEBHTJkn28krt62JL57bL9/x4mOS5xf6P8AZM2LjnufckLbjnBjgiT5kif5pjf70vL+X307WlyzE6hFGiEM3mb7oqGykiR1E+Y8RqPAVDZoiR0qeNQWc9+qby7RvPafc0XHbc5CzjkqSpLr/u9VSyqvQ+l5ljaZguqE3Qj8J1H7KlPQFoDMbJqNVPL+ynA0x6kE3HEfCkNhFYnjr4U5JdUOKKx8TzFVuRsCKOhuuo8KUFch17+w8xQgFF73/ZVMQ72g/A0hyLe5vzoEI2g9/KgCq3f6WbB3P6b9wQmXGQhhjIxjLjwkZbN0+wUl1k3LG+01WEaTYO3e3NgxBibBtmNt+Mo6enGiWMG34iBdj7TXUqpHK22WnU/jTEe6mHOgCs3rtrt7fIGh3fboMxG+86DrH+Fx5h8DVVu67CdUz8zxWJoLSAWkA4GmMUE0AO6jSAcGNASPV6IGrBFelBSYVZrUoKk8cg+NLiEnly2BGtDqHIkxbgRzqXjGrkmPciNeqoeMrkSY92bxqHQrmTYd0Y8TapdClcmR7ibjWpdSlYmw7i1uNQ6FqxLi3G9tah0KVy1w9wWwsaztQ0rcusTcQLXasbUNVYs4NxBIudKzdC+RMTODCw1NRxGG9YAdTmw8KUADbLZj0wi1+fOmkBMwttmmsz6KeJNJsC9x4sXFj8g15nnUNyIjZO6opsDSSGkRhmNIdOFOBwSoHa1IIHO/Tx4VSZMBouh1uONJgePTSCAUiowsKBlfkYRLXFORkf8ATurUSMPGptc0hBAzEaGmMRi5FgbGiRAg8ymwbTnRIQFXIcaXt7KqQaCidxqND4iiUKCHPiQTv1Sr1k8b1SvGwoIOTsO3Sg3iAPuqlkYcSuk7Uxyfy+VV91hxRGyNh9I6DhR9wHUl7S+XhSrJju0UiniOFXXK6uUK1FZQzpPbv1EZFWHcRYjQyDhXqYO+npY87N0v7TeYG6YedGHgkDA+Br0a2T2PPtV13JmnSVIDIwsyMLgg8iDVEoiy7eBCqY2kcd+mC/C/4b/xrSt4ZjfCmoRAZSCR8p51unJx2q09Qq/kqHOk7C8Y/CPxe88qnd+hS+VT4sj6rxNx48/jVmQ+KIytZSFUeZ25BfGlZwVSvJ+gssnqsoQFEi0iW9ivt95oqoC9k9tjJd0dgbbu5fKxiuDuTamdV/JlP/OReB/nX43ryu97VTN81flv+Nz3/av/AGLL1Yrf/kxfuv8A4/yZWbB2Bvm1bTmZiNFjdy5CNDgh26lx4W8rurrfplmXRW+6PfXn9X2nJSlnp9zZf6+Z7PuP/sOC+WlWrWwrW3m34SvJeRzvcNsysHIbDzIHxcqPjE4swHip4MD4jSvBy4b4rcbqGfW4exjzU542rVYLaO323bPMMswxcDHQ5G5bgflgxk+dz/M3yovNq6Oti+442S1fwOfudj7VZibvSq834fl5gd0345+8xyYURxNo26E4+17cDYJjroqt/PIx65G8a9HD3MnN8G61iI9PU8Xu9LHXD/yJWu3M+PP0fkiiyppXl6AfVJ+YJwULpc8re01UHkSX2zYznGlfKX00e4WUg2GnEXK3t7L1jc1qWid09nbUBFkyTyuoKuwilKAEcLogB4can7dnsHNLxJOB9UOw3yY44d0jWQKF9OVulmA1AAYWF6P/ABsi3Qfcq9J1NRjb3i5ER/TOHYqXWK46vTB1YDUOq31Kn32rJ1gaJnVaNniu8Sf1E+8nLqT2DmKlAyv3yUPtE66iQsqleHO5P7K6MNZY6uGVfZ+xSb9uo26FjHBGvXmzjX0ob8v53Oi/byr0sOLk/Qy7HY4LTc7rhY+PiY0OJjRiLGgRY4YxwVFFgK9FKDxm5JBUHXnTEDYEHWkB69AHqCT1Mci0hHqAPUAeFAHqAEv9tMY5ZfxfbQEj9CL0hjJG6RfnyppAAvQSMJoAYx0oAjTMApJ4DjTQmS8U/ocJZenqy8tgsSH+b5R/E1O49kc62/6g7/uX1NO2bbOG2PEaRMmNkBEkWOCMictbqDGWyxi/hXAs9r5+NfpW50cEqS9zd2nlL42FiwzZbsXzs3IXqiidtegDi7qOQ0FegznQj9oRZGubnzyueIiCQoPcqrwpMaQxO08zBu+z7xkYz8RFkKk8RP8AMLI32GpgZ7C7izYc+Lau5MZMLNnPThZ0JLYmSR91WOqSfyN8L0SIvdVaxNrcD4VQiJuuGskZyVW0sf8AV6eJH4hWOSk6m+K8aMpJYVILcCeEg4H/ABVzNHQgBDB/OCr8Qw1v/bRIx6TywnpI6kbUryPuphuHTodOvHa4HGM/MKBfEUTBxZ/j40A6g5UcC41T20mgTKve9/2nt/Zc7f8Ad5PT23bk9ScX1kc/04U8WdtK0wYXe0CyZIR8nbcu8fVj6g5vc2+g/wClwOrSxC/QEH9DEj9lh5vZfxrtyXT0WyOY7GATzsBoFGgAGgA8AKxbBIKnTxtrSKQdbW9/E1nZloIouo8RofhQUY76sQpm9m5MZHmgdJFbwBujH7GqL7SXRSztPYe8f6z2P27uobqbL27HaQ/zxoIn/wDmQ1DWoI0SPcWP21SYnUUw31HHxFNgnG4i6GzC1IAmtweVMQRSGGvH9tUiGggxI+klzZjw9lVxI5PwIxDJx4fiHCpLTEv8aChpPgdfCgCfs0AyGOQ4vFGbRg82HE/CtaVgxvaSwWU5UrBT/wBPGbMR99vD3CtDMkaW8AKAK+TdmZmTBxnzGU2LiyRA/wCM8fhTgADZncwHUNthYfgE/m/dajQAad0Y0cqwbnjy7bKxsrTC8TH2SDSiAg/Nesiz16APA0hjr0AKDTAdekAopALc0CFDGgB6k0FJjrE0ij3p0xQKqGgEgqI3GpZaDoCKhjJsLAW1qGikTI3tUNFSSEmbSlBSZKhkY/21MDJ+PkSKQL1DRaZZQZb8iaytU0rYs8XKckdTWrN1NK2LvCyHawQX9tZWRomXeJhzTkXBPtrF2g0LnH23Hgsz6t4Vk7DDzZqRrZSB4UggrcrcyQQGqlUZWCd5ZNTpVQBaYaag1DYFnHYCpAIyBltTQhIseQHynT2UNgPcMNDrSBAWuGuAaYDyCQDa9AgciUhjHj8vlFMAIDJQA4C+vCgAbCxvQMGSeq/hQBIiIfSmJj2gIFxQBGna3ltrTQxYhZdaJFAOZQ3IGiRkNo1BJtY1UgBCOH6r+XwpyIn7dvG5bbKJMSQgcTGeBrqw9q1DHLhrfc6N2t31BuAEOXaLIHInQ+6vZwdqt0eXn6ro9DYK6sAyG48RXWckjZoYptXAEg4Pa/Dh1DmKacEWqnuVGQciObozFCySHySgkxSH+RjwP8p199dFGnscGWlqv5jyq7OEUXYmw8ap6EKrbhBZrInowkFQbytydv7BU1XiaXcaIELHQ6EcudWZoPCiqvrSi6roi/ib+wc6hvwRrRR8zAyFmZnJuzakHh/dVJKIM3vJW7xsu273jjDzoPW1/JYeWWNjzjcar+6sex16ZqxdSdXR72brXnC4fl5/Eye9/T+OPtl9j2vO6HEv6nNyZlCplyJ8iSldUSIfJby31NeXb2dLBxpaHM/E97H/AOyT2ueSk1jjp/T8PP1OdxdnPHhlc7IED5DgMsbL8q38iyN5deZFePif258z1+9nWZpV+lBV2bIw4LbXt+AXA0aeb1W0OhZmBU/ZTeVPdnFwK/NzPqg95cTGEkgtrjzRS6cgFuvKqX2/Fkvl5CR9y/UDFglO7YGdALXDiN2tbn+Xca0OlG9GJWfihsvdmybino7xteLl3ADLk46F2v7Sob9tNUsvpcDfF7osNj23suCa+BFl4CdIk6MfJcpE4uFeJZfU6G9x9h00pWyXe41ReBu8OIiGJsbJE2T0gyXRYusj7wUXUXH3fsrHTwG58R2XtJ3l4IoZf02OXJypQLsBbRVB01vpfSvR6OLnZ+hzZszojd9u7Tt+zYS4e3wiOEeaVjrI7/jkfi7H9nKvZVElCPLtkdnLLyNwdRTgRIVqQDtCNdaQA2Q8Rw8KAG3piFBoEevQB6kB6gD16YHqAGk0xjdaAHByvD7KUAI7Fjf9lMBhpCBs1qABNJQBHKesVjvpJIkf/qNz+wUxQFbNGT3cmIP6eHF1KOXURc/YLVI/EAdh2bG3jNyNqwYcXOyehtyyo1s0sha8aE8PmPW1udKtEtY1YWbehocfHix4EhiFkQaeJPNj7SdTTKQSkAtAETc9rwd0wZcHNj9THmFiOBUjVXQ/dZTqDQBA2DIzXxZsHPf1Nw2yT9PNNw9WO14pf99OPtpoRbRtwJ/wsPEGgDP5kS4+ZJCPLr5QeDKdRXHdQzrpaVIFgCOm1jzQ8D7jUlgmXiCOpeaniP8AbxFADPTNw8LEOOY8Pb4iiATHDIjkYJJ+XP8AdYcGoH8BUjyDMsNvM+gH3fEk+zxoSbcA2ok+Wvrn3/l/UDvHF7H7Xb1dm2+Yxq66JkZPCXIc/gjANvYK9Lj9unH+p7nG7SzZ9ubJgbBs+NtOFrDALvKRZpZW+eRv8R4eAsKwgEy3QxnQj3+2pgcj40W1r2tpUyWkGSF+PG3hyqJk0SgbLMIwynQ8aAMp3TMuTtmZjHUTROtvba4/aKGtAThm4/8AHLchmfTCHFvd9pzsrEIPKNmE8Y+yU2rJf4Gr3Om9VuNMAqMRw1FCJaDgLINeNWjPYb0tGbEXFBS1PAD7vDwoBj1kB4k05IgcQCD4UCgjSY/NDb2HhQVyIW4Sy42JJKwsQOlT/M2gqqqWFraGgnYbbsSIujCMLf8Ambia3qcxLwYvSwoU59IZve2tAHp4zMRCSRFa8ttLjkvxpgFACqEUBVXQKNABSAS9jpQA2aKHIiaGdFkicWZGAKn4GgD8vwazLFoA9QMUGkwFBpgOBpAPBoAXSkI8KAHqRegaChhQWmO66UDFEgvSgJCq3O1IY67X4UgDwh7+FSykToAx41myibHD7KmS0TIEtx0qWMlIqk6C5qWUixxYJ34Lb2VnZmlUXu3bPNIwJF/bWFshtWhsNq2mKJQX1NctrtmyUF2skMS2WwtWTKgh5Wdbg1NIZU5Gc5Nr1aqKSOjSSt4imwJ+NjNcG2tQ2OC0hjKaVAiUl9L0AE6ip1pSMlQSWtQIIwVtbUkIcY4iNRrVSAFgATRIxtlbT9tIYvQqjWnIiNOqkaCgCMb26RxoGL6ZsL0ADCAm1ABUiK8KAHLK50IpigDPbQ86JGJHdhfkaQDJUa+lMCJLcKWPKmgAxyBlPspiBvKRw4CqQA03FPUAF1cHRhoRWtG66olqTa9sd/ZODImPuD+pjmwWbmP8Vep1+8trHBn6aamp07DzsfMhWWFwysLixr1E09jy7KHDDOqPG0UqCSFxZ42F1I9xpkvaHsQXxJcSJ2xA+RG2hUnqljTmEv8AOPf5reNaq8vUwti4qakaPodA8ZDKeBHD3ew1tJyfANFCJCeo9KJq7cwPZ7TU2cF0rLPTS9TXI6UXRAPuj20VQ72l+gF9OGl/sqjNkDe95wtkwfXyWIyphaGFberY8l9/M8hWGbPWim23l5nT1+ve7iv1Px8jn2790bpmoY5EEOMTf0Y1Y3A4dbc/3V4Ha9xvlTS0qe/1PbqYXO9vMipm7bmJ+jyjbrXVW+6w4FTxBrzjvaM5uG3bhtBEalpMKXUZAN9L/LpfWrTkTKbcczK2xhPhzFw9m6b/AC399aVqrbkWbRoe1++v1qJBK7JmC+q+UNbhfwrLLha1Q63TNHNm+pEWyo4MmO3nLoji1+fUOdZqSnVFAg7QzZnSXbv0eRYx9MDvC9ifYShvx4VrNkTxRbbZBh7RmROM/IyF+5jTBRYcRdl8BUu06wEM1nZYyJsjcvXRbxSqIWT5ZIpgZInt909OjLyI91e37bXdo8vuuIRtMeIxqAut+IPj7PCvSOElQnrJYG1tPb8RSYIkq1vK2hPDwNIoIDQAtIBGRWHgfGmAMhhx+2gR6gR6kB6gDxpgJegYhpoBKAPaUAJemAN2tUiAPJTAiyzWB1piYHGylXdNrhY2M87sB/hj0pMaIO0Zar9RM1H0Zz0i/wDNHcf/AE1m3qNG0jxoY+r0xqZPUkPMsfGqkIDXpDPUAeJoA8daAK+OHp7gynXhLiRep/iR2C/spvYXiS3a37KEBV74Yf1MYcaunPmQa5syOjC9CtPqLy9WL/5h/wDdVgn5m4nWGUMD1qOB+8KYhjG1mJ9zjT7aaAFMqMt3AIOpP8aBbHJv/IP6ov2d20e2tuySe4t6jPquD58TBfTUjg8v7q7utj4V5v8AL8ehhlvLhGC+lPZA2DajuefHbeNyQEqw80OO3mWPXgz/ADP8B40rNtyzM3IANyfjSATqFx93xI8KACnIaC3XbUBnJsAoOijXmb0mp0GnBGg7t26Tc8TBgUn9RJLCZPuh4hYKvj5q0fW+VvyRC7S5JepCzd/6t9mwy6GD0LxWIv1qbvc+I4Vm8MUn1NFmTtBnd2zVZiL/AArNI0bNb/4xZYizu7NjZvKwxdxx/cC+O/8A9rWKNb7pncnj6Trz50QCsNDlfdSHIZHv5hyqkIlxurKQwv7KpGbQJ0AN10oGmDL2+b7RUso91kag6USOBfWANiackupT935KQ7TC9wobLxwdeI9QXrTE9fyM7ovO8pjFtqsOHVr9lbV2MluXOLIJMWCRdVeNGB96ihbAxwNmY+JH7qBC/voAS9AHrUAfl/6dZSWL0GmB70zSGe6DQB4IaAF6TRIDgpoAeEakA4RNRIQPED0pGqhkxm8KTsXxDrhk8RU8x8Qq4VLmOCRHhgcah2KgkLiRcyKmRwFEUCjx9lEgESRR8i60gJMfrtysPZU6FqSbiYju2v21LsWql9h7aBYtp43rC1zWtC8wYIEIuLmsLM2qkXMWZHEnlsKydTVOAo3gA2BpcA5CSbuxHH3UcA5AG3G41NzRxCRiTrIacAW2DChA051lYtFvBEvhWYEkRr4a0gHFABpQAw9RNAEiFSaTAkLcUCHsL8BQCBdDGgY30yDegAUrW40AR3kABqgAJIpblQAckcxQAxiLXFAhokN9RQMeWUC/7aAIORKGNgaaAJCx6aTAZNMVNuNNAQNwyemL2mrqhNkHAd2BZtBVWQImkJ0mpQEE45aS9quRE+OEtHZuNqlscFps+/bttJH6eW8Q/wAptR8PCuvB3LU+Bjl69b7nQ9h78w87phyR6Mx8eB9xr2MHbrc8rN07V1WqNSuRB0hxKoB5lgK6jkgBkQYk7maKZIck8XBBST/74oOvv41dbwZ3wq2uzBSSIpGO1oyPNqRZz+JW5gfbWlXOpherSgb034G/tFWZGW7l70wdpLwYhSfPGnmI9CJvFz94j8I+NcXa71caha2PQ6nQd3ytKqct3TuEZWY8+dmPlZUh8/QCWseVwCbewLXgZL2vrb8fA9+tK00qgmNve4FlEGHMU+65jckj/wDGFf3Vk6otMmtu2Hcf6ltkwXnkCIaH3qSRUQNlnhxbXlKy4OYD6lr40pDCw4eVqXEUlXu/ZEM6OIR6cpu3ok3XqP4SdRc8qau0w0ZybdINy2LcvUcNEEc301vfnf8AZXbVq6OeydWbbZN2XdsNG62PWCDHfTq/mA51zXpxZvW0j99T9Milo+vcLAwQnhYfee3IcvGijn4BYjbFlBy4mmf1pLlpW1vbkb+Hsp3Qqs6b2n3RBtOx7j+oTqmg6Wwoma5kLeXpv4KdT7K9b2f526fmeF/7F2l1cP3n8F8fD/Mb3d9Su4sTA2XZ9oxIh3tvZRkxQvqpDCzWR3RuBmA4N8q3NfQ4OrVza30L9/8AQ8LH38tsdJrGS3h+PPc6jjrKII/1BT9QqL6xhv6fqWHX6d9enqv035V57aPZrtrv+Nh65OOuQMWSaP8AVsnqCDqHWY726unja/Oh1cT4E/dry4SuflOpIW4JA1A4jn8KRoPBvwpAKKAPGx40wGNHzX7KBQMpCPUAIaYxDTASgD1MBCaQDGbSgRGkk0pDIkstudNEyRGkLPblxPupiM73ZuzbXuHbu6NcY+PuSRZLjgqTqUBPxtStsVUF3pLPs3fMefCTbLjV4LcDJEeoD/eU1z5LQ0zSq0g6LtO8Y+5YOPuWKwfHy41lUjwbiPepuK2M0WYIIBGoNIodQAmtACkgXJIAGpJ4CgCNjKzSzZDCxnI6QeIjQWW/v1NNiR7JkAkgiHzyvf8A3UFzQgZV75LG+aYHF1RFDE8ida586mDow6EDpkiXyt6sQ4fiH9tYbG2+witHN50az8OocdPxDnSgcg2extJ5GPBx8h99EhBTd493bV2b2zmdyboAYsQdOLiXH/U5Tf0419nNvZXT1sXO3oZZbRofLXZG17p333dm98dyk5ESzmRVf5ZsnikYB/y4RYke4V1Zb8npstjmSOvEs7Ek9TMdTzJNZDHsFWyMDbj1rY+YcRb2UAOSNFUzFlkjU6DgzMeAIpgUPdyz5GyTSxMQ+O6ZDWPzFG1v7ByrTrtc/joY9lfJPkZXJyUxI5ciM9DmSLcMa3FYZLCW3tJrs/0ORafxHbdhjFgOXP5pGeQ4gvf8uRuoE+/jXLlyTodeKkasrNwy/Uf0xqXPz+/iax4ybpmp/wDGNcqf6hZ2RAS2Jj7XOuax4fmTIIQfb1oTXG8fH9TrtdM+m1dW0OviKpMho8+KSLroKIBWPBQnKx8DTgJHhiLUhsd6v4tR40STANnjYcfdak2hqrRFdytyptbxqWy0BbKW/n0Pif7anmWqHL/qB3YmX3Dj7VBJeKFJI4ip0bJZetT/AOpAoqqX1DJWKnWcvMj33sbF3LHPWs0Ec+nj0gsP31202g4XoyR2NugzdiSFmvkYLGCUc7DVG+K1NH4DutTQc6og9woAQ0AITQB+Y/RWJoKIzQCF9M0BAvpnwoCBwjNA4FEXspSPiEWL+WiRwGWIfhqZKgIqW+5UtjSChDySlI4CKknJamQSCBJ/A/ZRKKgesE7G2tTKCA8WDKTrelyHBNh21jxBPjUOxSqSl2oniKnmUqBodrUML/Gk7lKhYRYsCgaVm2y0kFBVDddPdQBJjyiLa1LRUk7FzRe1RapasSZMoEcaniVIIZHto4ikf6zHnRA5CJKW050mhyWGFGpa5rKxoi7xJUQAc6yaKLODJUDiKiBkmOYHQEe+lABS1vhSAE044UwFTLAIv9tEAWEE8bAVMEkxOgimkAjhaQEWdwATQNFZNMLnWhDIUk+tqpANiuXFqGBYBGKCgDyxmkB54dL2oAhZLELxpoZWO73019tWIfDmsDbwoaAdJkBjdjaiAK3PzYT5b61pVEtkjCaJowP2ipsNEkwEt5OFIBJDImgS9CAJH1kAt8aQx/R1G/KgBF6lcdJ4VVbRsJoJuGdljG67s4TkWPCuhZrPxMuCQPbs+DOQek5jk+8pY8fto+5ZeIQvIlzpmxkB5GI4jzMf40ffv5sXGr8B0G55cX+bLHfTR2FWu3kW1mS8FH4Ie2Lh5Y86K5IserU68day5MuIBPixYI6Y4PSibi8CjT/FzqbNghrGNluknqJzYk6fEcKhlo9HlCIi8jw62u/5iN8aBh2wMacCSfHRyAejJxjZlvx4fxokkk488+PERK/67A0s4/qxDxPP40SJoidyduYPcO3FBY5iKf0eToBIP+HJ/NV0txehNl4HGhHuHbe6MgWSKaNiBEb9Ivx6/ZXZpdGOtWa+CX9bCu4M5kyGUXc6Hy8VtytyHhXO1GhsnOpBhgyJMw+j5bsepvuKfh+6rbUCS1NntObt+y48247urZ2LgwSZDRfemlSxijbkELkX9ldntE27KrXTkmjzffMFL9Z81yVbVtHr/LzM/n753FsWOu/WfK+qnfrensUCqDJh4cx6P1Cq1+h5R5IQR5VF+Rr6ntZa6Y6/TX8fsfOdTG552+p6/l/n4eh9AYOZn7B2jjT9z5a5+5YWOi52VEojXIyrWIRRpqfLfnq1cNKO1kl4nX2+3TrYXkvtX934IxmF3LtWzbtidw90tI+77/KYdpx4E9VooWPp+uYweoR6iNLakagV2vDa9XWn0039T5v2qfuf+Xn/AOzJ9K8l5/y9DomBv+w5m6Z20YG4QZO5bWVG44MbgyQlgCOofH3X0415zXmfXJqYRP8AVh9VVaRUlkBMUZYB2C/MQp1YUA71lJtSwgbWzcfEcL+HsPsoKHUALpSAa6hvf40wAspXjw8aBDaAPGgD1UAlADWNSIBI9AESZ9KoTIE8vHWgQJbqlz8zammNHKvqTvB3bu3F7TgmKY2Fjtk7m66gTZC2gU2/4agP7Ca5894g6cNJTNViPN3z9P4xGQndHb7enNHfzGSHn7nHPwNTevKpkvlYP6Yd1x4eQ205R9LAzJWOMj+X9Nmk/mwN+FZW8y+DewipwZZ+VjyU8TsGKG6STw4WroZCD3pDPCgBrIG+bVRr08j76AG5GTj40EmRkyLFBEOqSVjYAU9w2Kjacz9Y8+95I9HDVCMYPp0wrqXPtaqemhK11KuDLbMV8qQWbKYyBG/AdEH/AKa482tvgdmLSo78yPVLsvNDxrKS4Auqyt6kLFJf2H2EVOo99xsM6ySSQTMsXpoZJ2fREiUXaQk/dAHGrpXk4FZ8dT5W+p3dmZ9WvqBjbBsUpj7b2wsmH1X6REp/OzH8S3L4CvTuljrwW/j/AC/Hice7k6RtmDhbXtuNtmBH6eFiL6cMbAHTiXb+dzqx8awAlqAIzKIyCT0qRqB4tTAB0Fyvpnqa+g5253+FAB5lR1VIJFPSLKp8pZjxYX0N+VJsCr33Jj27bpJMuFjAbRSC1haTTj9taYqSyMlkkYjDx03DKJmXpTCMkGSCbo8Z1RdeAroy5I/M5sWOfgj277hc6aC1kA5L/aa5DsMhv26/ocMsv/usgFYV/COBb+z21ewM+qP/ABv+mb9pdiJl7lGV3bfCuZmRNxSMLaCJv8KksR+I+ysEpclNxodZkxMeRbNEvsIFiPiKt1TJTaIb4xgcIrBuq/QhPnNuNh963srN0jY0V53BOiuNPsqC5I7RlB4j9tIaYB300N/ZzqWaIiS5AAJHx/vrG1jStZK+XckFwTa3GsHlg1+1oZfvHuiPB2uQhvm0DDheotfk4RdK8VLPnrfu4chswZUT2yIpFlja/wB9G6hXWqwc1nKPof6B99YO54c/bcrgJOjZ+0qTxhkP/UQD+aCYkW/CRXXjscd0W8uTldndztOUZ8CXy5EY4vATfqUfijP7Kd/lclVXJHSocvGyMaPJxpVmx5lDxSobqynmDWi1MR6ShtDoaYDiKQDWoA/MtWFYmiYRXFIqQylDSYwyJGeNqlspIkR40ZNQ7MqAy4cZNTzY+JIj26M1LuylUkx7ahqHdlKoUbYnso5sfENFtUehNS7jVCZHt0A4ipd2UqhP9Og8L0ubHxF/RReFHJj4oX0EHACiQgPHGLaUmwSCdJpDE6bamgB99KQxrORypgDE9jrpTgRIhlB4VLQ0yUJdONTBUiq5ogYZJSaljRMxgWN6ixSLWAWW99azZoiSkjDnUtDJEOU17XqWhyWEOSAB++oaGGOZpxpQMiyZt241SqIb+rvrfSiAklYu59JA6vfSdQLWDc0NrtapCA8u4p03uKloCvyNwDXsdf2U0hkH1WbgacAC6XL2oAssXGJsf2VLYFmsIC0gEMS0CkiZTMosKYyqlaVybiqQAvRJ0IqgEMCKCTyoCCo3DM6bqmp8RWtaktkLGwJ8h/Ukvam7wJVNJt+NAq2NgaxbLLMfpYUuCL+NTqI90RSL1WFAAZmiVSNNKYSBgaKTyg/CmwCmFV1FSmMSSMOhXk2hrWpLM/Nt8+Fk+pDexN605STBots3H9TD0MQXUWsaUsTQaeKJxrp+69QUiO8boB6bfEUSBPw8n1k9OTQ/derTkhordwiycTJ6sYBZW1kQ/K4ogpMFFkQZiepAf08y3WSJtUvzBB4VLUDQu2zxx5BTHc4+QNJMZjdWPjrQ0wL5FknAnjT0MyP5k4Bx4UtydiGnVjB5MaMmK/8A1eH+HmXjoTGVfe+zY+5YeNmL0NM1w0lrFl5E+1a0peCOMmU2/CmSNo4+oRXs7EcfaKuzHVEnCeCPJdASAttOFrHiSOJ9tJ7DRo8RcH1wNxx2ztuWKSbIwksvqpCvq+ne/wB5kANa9HLwy1ttD/ic/dxK+G1XrsWX0Q7U3XfN1yfqv3Wlt63sE7FjsLLi4RHSHQH5epPJH4JdvvV9Na3gjwK1jU0HcW97fu+ZkZubKY+0e31Mk7r/APpEh8qog5tM3kX+X313YsTqkl9d/wBv9D47s5l7h2Nf/wDlwf8A5P8Az8PJHM907tytsx8j6lbrGr9wbqzYXY+09PWsXT+WchY+ceOG6Y9PM59orbs3rjqsNfD6n5+h7XUxu7+7bT+1eS8/y8Dp30h7Bh7F7Vyd23979w7kv6zf8yQ9ckYJLrjdR1Ju13/E591eW27OEene9MON3u4VdX+PUqd97tGFFk9+bov5iMcbtrAYnzTKDZiBxjhB6nI4tXpYuvyjFXbez/HmfIdXLfPlfcybLTHX/H4L92O+l+9bX21vEWx9x7hkSd7d4W3B8Rg8kcKkM8az2uIppV6nNxwsDawvh3siu0qr5aaH0/t9HRPl9VtTq0Ga024TY8KA42KvTkTkn+ubERJ49K6v4XA8a4Gj0U9SZegZ69IDxpgDaK+q/ZQIGdDbnTASgD1AgbmkBFma1NBJAyJaYiCD1ya/KupoCCJvm84OzbTm7xnt04W3wvk5B8VQaKPa7WUe00xpanA+zkzdybce4906l3HdJnzJTroJD5U9oC2UV5OfLqephxaETtP6jbv233fLPjSdWUspT0nNkyoL39BjykX/AC258K2xZNDnzY9Wdg3DY9n7+w27o7Fnji3Yr07vsc/lErL92RRqki/dcVrfEr6rRnMrOunge7f+sO8bJKu09xYczy446Wxsm0eYij8Eh/LyF8DcGlXM66WK4p6o6Bt31V7CzlX/AOyiYkrC/oZitA49/UOn9tbqHsQy1k7x7SiQySbzhKg1v68f8DVKrFJQbp9X+0MW6YDybtkXsExUPp3PC8rgD7L0cRNkLbcDuju/Njzt9UYWywN14+2LdQxHB5L6/b9gq5SRGrD5+/4/cO4nZNpa+wbe4G7Zy6JNKmq4sTDj/wAwjhwrK9uCnxZvjpL9CyljDMegWPJeXwrhk64AifUhuI0N+IoBMFKobUEo+lnHM/21MlHE/wDyT+p0+07eOxdomH+sZ6ht9liuXSJtY8RCv3n4v9len18ax15P6nsceS/Jx4FT9Oeyk7Z2G2TpvOd0ybg7C/QBqmOGH4OLfze6ocsk1XpkeZ9I+bDUW9lID3qAsG1T2qdQOS0AFMjen0npMsg+YgKwjPj/AIqAIwd7qrL1kDojB+wEUeIyl7ukLbf/AKZcn1z0QH5laX5uvT7q2+ytKOHJlkUqPMzuS8eDi+h1dbaevJwLta1veedK1pclVrCgzGfueKjl8mZUFmfpJszBOPSPZwoqWjU/+PX01m7+70fuXeISe39mdW9Nh5ZZ11ihF+IT5mqbudAWmp9m6e4DQAchQSNmnjgiaWT5EFzbiSdAB7SacSBx7ubuPcc/dDm4s5hx4CRFIAGjcLxZr69AtZbEfivc12rGq1h7nLkyS9DU7Z3bGgwsXeHEO5ZMKSSREN1xM4uqOxHS5ZLN0/OAdequTJgnVHRTLx0Zoi6sga4ZG+SRTcG3trlaa3OlOdivzUKqWX7RWN2b0Mvue5+ncE2PjXDlud2Ohm8zeXN3Q/L7a5HaTqrQwPfO9ifDMSaMQwCDh1dBI/dV9Z/PJn2KpUOKZOcZLnma9iDyWyx7R7wzdh3KCSDI/TPDMMjCyjqIMjgSw5xSr5ZB8a0S0M2z7G7Y7o2L6o9saEYe/wCGAMvFJBeGW3zL+KN/utzFaJqyhmWtXKM/iZ/cnae4vixMIiSWkwJrnGmH44z90n+X41g7Wxv0OhVV0bPa/qNsmVaPcEk2zI5iQdcRP8si/wARW1c9WYvC0afFzsXJUNi5MU68ulw37jetTNprcOxuLBNfE6gUQI/MvpNYGgutACh2FASESZhRA1YPHlODUcS0yXFmnmah0LViZFn8Nah0KVifBnKQKydS1YlLlKedLiVJIjylPGpgaZISdTzvUwUmFWW4qYHIvqAmmM8WvQA4PYUgFWWiAHmQWoAdGwPGhjFZQaQAmhvrTkQ+GErzobCCQqsBfiKkYdB40mWTIEUmoZSJsaBeFZstB1mK0mUmFXJpQEh0lFr1MDCrkW50oHIQZOntogJGGQE60QDYocUCPK9mvQBMSQjnbwqGUNly2XS9EBIJsw246mnASExpyx9tJoaLbHh6iDWbAtseGwF6kTZJstteNECBPLGgNzQgKfO3CFSRerVSivbdccA3IvVcGIiPvMd7LVKjCRjyZWSOlQQtPRBuGxtmQWeU6+2pdwgmiCFV6Vt8KmRoRIx1G1DGNlhkZtDpzppigPi+oilDpSYEadSWIvxpoQLGWSObSqbAtFR3W54WrMYByUax5VpUlodIizxafMKqyJTISY0kEwkQ+XmKlMotEjleL1EN1PzKdaYpGGNALBuknlSCR0JCsoJsw4U5ESN0j9fA9ULeSDX4VpuiVozMZQlLjIg8ptaZPxDxFBQPIiOWFMb+nnoB6UhNgf5W9hoTgGiw2XuPKDjGyyFmjPS8R+YH3+FK1fIW5oy6zPHLGQJD4a9X8p9tQwIOZkwvkf6eiGRZEMySHRVZdDETzNEaDqVGVj9KFl56lBwF+YoTKM/CGfPmjXylWDKF5kDgP4it3sR4l9+shx0WeZvIhQGE2uwdulkb2FTrSxL5hX2Os947nMRB2zsyD9duAVJFjsoigK+VBb5QVGvgg9tfZdei+u2y/ifnHv3du2uph/7cm/pX/P8Agcu36fat9z32KPKOP2F2mpzu4t0U2E8q3WRl5MzsPSgA9pF9K9FN4afct/2X29F+NzPq9WqSw4/+qmtn/c/P89l6BfpJsOZ3/wB3v9S97xP0+y7a36PszaSPy41x/KjBeBWDxHGUk/dFeRkv+/4/c+jxY1+P2Ruu7NyXfd1OyxZAg2fberJ3ncb+UCLWRifBOC+Le6unBThXlHzPRHynuvYfe7H/AI1HGKmt7fjy2Xqcx3Hubb83IyvqBu+P0dp9t2w+19nfRcrKGsMRB05etO3uGtjXZmf2cfBP57a2f4/RHpdbHXJaUox00qvx+rNL9HO1N5xop+/N+/P757xLnbhMv/tcR7M87KflHRY9P4ehOZrybOfge1RR8X+JOyYOHBhYkeLBcxxA+ZtWZiepnc82diWY+NZzJslGhIpDPUAeoA9TAZL02udTyoECpiGs2lIAMjUAQ52piKydmJsOJqyZGhehQvE8/fSKOM/XzfZMzJ2rsbDYk5TLuO8hfu48Z/6eNv8AG93t7BWOa8VN8NdSB1phbWuPjyCwXzJyFhwHhXh3bbPcpXQ433ZkN/qkjlbCQ+Ye0c67cGqODsaMndrfUfdtkz4stMqbHy47Km4wG8hUfdnThMv7a6koORtM7vs/107Z7lwExu9tnh3GIC3+qYSiS3taP+pGarmtmZvF4oucLZPonuyf/YnuEYytr+nklC9PstJan9ujI+ZE6L6ffTLEIll7jx1jGrWyIwD8CapUqT8zD/8AfX0a7aUnbpP9ZzouC4iGd7+2TVV9/VVrT0HwAtu/evfnkzCe2O1W44cDXzspPwtINIlPO2tY27Na7as6addvfRGtwsLF2/BgwsLHSDDx16IYEFlVf4k8Sa53d21e5rxS2JCvfyXsR8pPD3VNh1YyRS582ki1MlwZf6id/YfYHak+/ZXTJnSEwbLiGxMuRb+oR+CLifbXZ1sXJ8nsjmy3a0R86/S3t7P3rdMjvjfmbIaWd3wTN5jLlE3kn15RnRf5vdW+S/JmKUHVQWuD82vA63NZgEbo6eggi7El0N7t7vBaAPRxqV9R2V0Q2bkxb8NvbQB5sh5DYlZSBdy4t0+xSNfdS9Bohbhl42JjtMCyM8bE383Sii5K2/ELgU0hNwZZc+R8RMx0MbzKDDA3Fb8z8Kt6OBVcqTL7tnxqkkkjlYIlLyycTYcW954CkkUkGGyHcZYuz4Zo4JMhV3PvLdRaaLCxsdepMeNluGXFR9Qp/MyH6dekVpGnqxPyPqz6S9q5PavakeLJ142HkN6+Fs0iRh8KJvlSWVQHkmZbPKW4OSBoKzjyE2blSGF11pMDA/UHuHHljk2bHzUxsqQD0eslUcFumUNN8sJZepI2bS9/fXXgo6/M1p+PDxMsltIMvtmJLjI+VuGM0ceK4jhwp0K+tkjzRw2PGKP+o5UlbWAJvVTyf8WZUrx+Zkd9vlnnlnyXM0s5LzPJ5utm1YsDpqeXKqtYz3cljs2/7rts6Y4DZOLI6Reg13e7sEXp5vqeF+ocjyrK+NNSa47tODYPlRZHqrjOsksTNHLDG6y+ZPmCMuj25jRhzFedmwWS0PSw5k9HuYbuUie/paP+Hx91eJlcs9fFoc+3TOlxnIJKldCDWcSdEmI7pzmyIDNHpPCwkUePSb2+I0rbCosYZ3KOZbiBDluI9YJfzcc/yNqB714GvYpqjxruGQpHvWiM2X/Z3f289sbnj5mHlSQS42kOQmrKh4xuv+ZEfwnhyodfIFbzPqjtL629i997fDtvdiRbfuEgCxZd/wDppH8Y5eMbfytahtNQxpNa1NBuHYu84iCTbJY90wW1QOQJOn2OPK1c1+u/6Temer+rQpWws3HYmTAyMZxzVT+9awi9fBms1t4ofHlbwBaKTN1+7eS1Wst/UHWp8bdIrqOY90UhCenTCD3p0SEHuk0AKLimMMrnjUwMkQzsDxqGikyZHO3j7qzaKTJUM7XGtQ0UmT4pSQNahoqSSkrVMDQdJDxpMtBgb6ipGesaBCEtTGOW55acqQSEUmgokKulSwFCm9ABo4/jUjRKSIWpSMIkPOpkuCRFGoI0pMcEpALeHtrMpCsoI0+NAxAQKAHozGgEEu3L7aQw0Ybp40hjnuPhQIVGNqBjlJ91EAFDkDQ61IwEzm9r0JCGpdjamwLPCgta3wrOzKRe4Q6SBWbGWJl6V0pCIc+f0A3ppDKLct6CgjqtWlaCbMnuG8SO5AbSumuPQytchrnSMfGq4kcifg5MIILiotUurL7H3bERQFAvWLozRMM+6xtwNLiOQIz1L2v9ho4hJITJHVoaloZIWRqUAO9cqCSPspwBFXNgaezHp9lVxYmSlkx/U0YVLTBFjCyMnkOlSwIeQh6tauomwEc3pS9J+U8a1exKJZQEacDWLKR6B3ie19DyqkwZMYRyqCwswpkgfQs3lNjyBoCSXjpYGN9VYEEVdSbGR3KGXH62jY/kv1L7r86pDkjMepRkQuDG2p9h5il6DCenFlgSRN/9kIh5WIt6i/hpTAFzsG8xsP0mV5SzdKtwKty1pOoMu8mL9TBLFYR5+N+bEy/fA+8PfQ0SmUuWWnh9SJuhZAHYC17jQjX21BojNxiJN1csut1PSBrw9nt+ytvAjxJO8sP0LzTt6SjIhCqBdmZr9Kge08aeJeCCzS3NZ3dum57RAu2YIbJ737ptEgXWXGxZD08fuvNa38qi+lq+/wCtSt0rW/68aX5s/K8HVvive9tc+az+Nazt8X+y8jGTdvf90b9hfSXtzI/+wW0yDN713uH5ZslLB1Vuaw/0oV/Hr92uTs53ezs/wj6Lq9dUSqv9X+Njt/ce4YvbOxYmzbHCMfJkiTE2zEhGsMC+QMB+I8F8W1rLBj5OX9KOD333F9fGseP/ALsmlfx+y9TmnckOTl5cH032WdI55CMru3cuoelGIh1mNnvb08dfM9zq9h416mFqq+/b4VX48/4Hn9TpfaosFfreuR/4fCv8Sl7Y2nbPqR3gmR0HH+lHYa9GLFJcLlSjzs8g+8+Qw9STS/R0rxavMy5G229bN/j8kfSYsaSSWlUvx+bPoLa8ednl3PMjMeZlqqpAw1x8ddY4PYfvSfzafdFc78jpqvEsqRZ6kAtACXoAQsBTAA0nUb/ZQSML0ADZ6ABudDTBkSe5BpokiLGblyP8NUCIm652Dtm35W558npYGDC+RlSeEcY6mt7TwHtoKPnbbF3Pcc/cO8NyTo3TeZTOkTDSKG1oYteAjjAFeV2ssuD1OrjgHuOfPJEV6elhxtY394ri+J1PTY513EvqOxYea9wa6cThnNl1RmJI2LeT5vwnQH3e32V2pnE0DgypseYPG7wTL95CUb7RaqJgv8Xuvd2ASdoMscjlQRyt/wCqympehVX5lrBvuU1ujD2+M8S64qEj4sWFZPLZbGv20bzsDbc7c86LN3KR5sKE9SJYLF1cRaNQqkD3VyZ8zaiToxYknMHf9sdREqrbS1mBv9tLGoKyWll0r9a/x5VujKADlkYjpPT4VSZDqefMxYcafKz5hj4OHE0+VlHhHEmpv7TwAqqYne0Im2Tij5O7o33cPrL9RiVZ8Xt7bvJBDbywYaNa9/8Aiyn9vur0sjVVwr4HLvqdYxosfFxocTEQQ40CCKGDT00jUWUW/eawANayeoE6SSVDi5AA4tb91AAkBMgEepvZf76AHSIJGVIZAyW+U+Us3NhfjflSiRyAynhw8aWfKBjx8ZTJOSLE+AHtbhVKs6ITcKWY5dzyt1y82di0WHIYpYmv5VTp+RfCw+b21tkSSS8THHZtvyK3d9wLE24nyqvMLyHvasTZHPO6909ab/T4T1RQsDkldfUm+7GPYn76pjsdi/8AGztHfJ+4RioI12fDeDce5TJErq0kfU2Dhq3G4dvWK3sOkMdemntqQnJ9Zsetix/+FSBUdz77j7JtcuQ5IldbIqnzanpAH8zselft5Vrhx82KzhScnhwZN63MRxN6+flOFSwIUuRqbcRFEg/9ItxNdN7wpWyOWqdrFtJMJJYsSFpDhban6LEEt+sLEbSMwPyu7i5HIWHKlHFR4vVjvaX6IniNDFZdCdAfbUCIeXMm2YBz4T05soeHbGvqpHlmyv8AduY4z43NVRS9fpX7+hf0r1ZyvL7iz9mzRkbQ7Y+StlmU+eKYg+UOlxf2HRhyNPJadyKI2Ox964Xd+Q+2ZePLt3dEURlMaqZhLGgHVIvTrMovc2HqAa2cV5Xa6FMmq0sep1u9aih61/cz3dWI0R9HNX0pHUnFnQ9UMqg6lJBowHMcRztXiZMN8biy/HoezjyVvWauUcx3tZoSyuD0HQNy+2tKGd2YXNVOtseU9MRYvDIdfTY8f91udepjfijzci8HsVU4licpIOlh9hHiDzFbJyYRAAnWqRJIwsvKxn6oJDHf5lGqt/iU6GhjWh0DtL6z96dthVwM+aGIf5Kt6kJ//EydSj/dIqFoXync6dtf/lxvKRqm5bbi5j8C/S8LH4DqWrVvMl1Rrtu+vfde6QLJt/aMCiT5JJ8j0wfbYi9Q81EXXA2fKPSagYoFAQOtQMd03pSB70xRIHugUSECdNMIFXjSYB0kI0NS0UmSo5ahockuHJqGikydFODxrNotMlI4Jtek0VJKjceNQ0UmE9S9KByKpBPjQAVSooGOVlNIAyuOFIY8EcaQwwYA0AFDsRek0UOWV+FKByGSV6mBySFlvak0OQ6yC2tQ0UmKSOVAD1ZQKQw0ZUgUmNBkK3tSGEYx2pQA1JIxc6VQSeM6XpQApmAogAXUGa37aQErGxwx0+2pbGkW+JEQRWbZRaR2AvUDGS5KqNTTQig3XdVUMFPurWlCW4MZuW4yvIbMbV10qYWsVxZ5G1rQjcmY8QI1FQ2UkSxj2XT9lTJUCHqXhcWoBhY5GA41LGhyvKJLg0oHJPhyZBreoaKTJa7p0WDVLoNWJ8G4wSLZqTqxyBlxseaTqQ2blQm0EFTnQZ8L3jJKitK2RLTHbbv+dA3RJcii1ExK3mWEvcBZgWpVxjdiQuQswDjhTsgRZ4UoZLHlWViiR5TwF6gAMkxglUnVTVhBOjmikUdYvfgaJJgkYwFwCbg8KupNjP71jSLktHxVrhh4g8DVDrsZrHmbGyWxZY/yZLhz4MOBp2U6gtCTHiTwv6kLW6T1IRrep5IqCwyS2Rj/AKmKPpyF0mQjn+KktALLbM2fLii9I/8A2SwjdVPF4+YPuoEScyKFFZoz1Q5JM0OoHQw0kj9lqVkJMx/pTf6xLa1rhuoaDhx0rRPQPENumTjA4bSBv0OPO2blG9usQLoi3/EzWv7a6/buu8uRUXizk7/YWHE7v+lfx2Bbz3Dvmy4R3+QPkfUvvomLt/GQXkxMOc+n+oRTqryC0cHguvjX2fbzKFjr9Ff3f+Xj6nx3TwufuW+u38P8/D0OufTjsja/pl2MyZTK+e1snfMldTPlEWWBCdSsd+hfE3Y8TXmpO9oXid/Y7FOtieS+ir+EkZvfu6ptnwZ+8M0B9+3Rmg7dxCOoJYdLThPwQg9KeLe+vTw4FdrGvor9TPkOlzvZ9zL9d9Ma8vCfy2X6+pgN5wd4xY8b6Z7Hebvju0pP3VlsepsTGb81cV3Go8pMuQfhzFZdvs87afStv5/4H0vT63Ba/U9/5fzO79o9pbVsu24fbe1r1bHsTfnzMAGzNxv1u8lvmEbnqb+ey/crz2/E9JLw8v4muuePEnjUmgopAepgITQA29AgM0n3R8aAM/vHfHZ2y5X6Pdt6xcPM54zveQf4gobp9x1q1jb8COSkkbZ3J29u4B2vdcTNJ0Cxyr138Ohulv2UnRrwBNE+RZEazqVPgRapGMOtNCBtEWNvtNMY2SEHQcBwpyI559RoX37cMPtCJ7YS9G5dwNyMSNfFxSf+bIvqMPwqPGufsZuNfVnX1sXJyZXu/bxDD044CFQAqe0fhtyrx3aXqenVQjmOfKwHQ10ZbkqeIPvFOF4C5GT3Nkdz1C45X4itccoyvBncqDpY21FddWcl1qRySR0sOoeDC4/bV6kBcfFllcLDGtzzANv31NrxuVWjZuu1u042dJ9xvKq6rH9wf7vOuDNnb0R34cC/qO2dsY8C46og6Y1tYLpY+IrjVnOp1Wqo0N3gQHpHSbg2uRpqedd2JycWSsFzBoPC/jwreDCTzl2IRFLSMQFUakk6ACpdS014nz3/AORv1Gny8qP6cduOZSJFO9zxa+tk3HRjqR92Pn7a9TFT7VP9zOK9ubJ3Y3aWJ2vsMWCpBzpfzNwnIurykfKCOCoNB9tZkl96TDVh5OJYai3gPaaAGiRuvmjLzB+7yH+7QAVnb0ygAM8g+awVgh8fa37qU+QwJ6ioS3W9gsQPjTEUHdO5ZYWLbMVRLJKQsiPqBExtJJb8P3R4VrjXizPI/BFDktBgYiYMH9GEWJbizHXX95qLWbcsutVVQjGdxby2JjmRG6szIJXFB+7+KU+xeVPYvZFX2R25n7rueKMPHOXmZM4xdpxj/nZT8ZHPJI9XduQB8KEpM3rofdnYXZeB2Z2vi7Div60ykz7lmkWbJzJLGaZvedFHJQByobnUDRSSRwxPNJpFGLtbieQA9pOgoBHKd67gn3vOylZIZto6gGjcW9RojpIkq+eMRH+my+1iCGrsVFRJf1HPfJL9Ct3iTH2XBTb8CaaTcdziWTMkmCRy42I9mXHJj+/IdXbS6gaC9VRac3+X8xX+VQt2RoN6zsLMMe4h8/EUKI92gXryY1AFhkR3/wCojXhe/qLyJ4VMLw/T8bEp+Zq8cpLivkseja1Qy5G5xHrgWFfm9NzY+o3yqjAMCdRpWcNuFv5GlUt3sZLed8g3TN6o/T2yd40gw8ad74ckSXEUazMLY81jYrJ+W5+8prZ/KoWqX4/Qhvm58TA75tOT6+RBkh8XKxyTPhzIUdL663vbTgeB5E1m9dQ1WhG37Cye1+3htGK7Rdz9yxJJueT1EPg7UD1xQdQ8yPkEepJrcIAtTVQuX6f4v+Rq3Ghkdi+q+6bWjbRvw/1jZy1uuW7SqBorXJDPbk1xIPxHhXPkorKLKUbY7urmrgst0OFmYoztkyP1uDICfQJ6pUsLkDQepbnoGHNa8zL0+OtdUejj7StpbRmC3WCKYFo/KTc25U8VoFlrJRsxVfSlXrjHBW5f4TyrqRyteYFsSJtYpOn+WQf/AGwquQoG+jIh1sfaDeiRQSsbGeVgAKm1kiq0k2vb2z4WNF60sQeY6qzcR/hvWHNs3VUjYbVubwjoDXueJqLVNqWOWHGNa8jmgGYCKfIIEMZFOQgUKQKQHvhQB4CgBCtADlXWiQH9FKQFUkUhh45CDUtDJsMtqzaKTJkc9S0XJJSbS9S0NMOsopFSFWQUoHIVGuamBhVOtAwikUgCqvOkMIFPjSGHQ2FqQ0wqi/GkMfccvjSHJ7qa+lAx4dv76UBJIjJPH7aloYYcKQ5DRydI1pQVIhmbq40QEjWlY8T8KICQcsxXnrTSFI1J2JogUkhZL1MFJkqJAbHnUspFvgoALVlYpFmnSovyqBiTZaoh1+FEAZ7ct2I6gGt7q2rQh2Mrm7k7ufNXTWhjaxWl2dr1oZh4IizWvSZSRaY+OVrJstIki/DlUyUAyAb1SYmJGDa/7aGIcpN6QBUb20oKTGPJc00gkNj9TcDY0mEhJZ8uBgykkUJJhLCjfo7BZRrSeIauL+owJULCwb2UuLQ5RXZtgB0G9bVM2XO1mQYy63rGz1NEXmE9jY8DyrJlligS1qgQGaJZVsfmHCqQAYPVQ9NyRzokCbHP0xll+7qaqu5NkU+XuSTbiscjAGZPKTyYVs6k1I2Tg4+YnUGHqA3sDxIrKWi4JEH6aGJV6rWFukeNS9RkmAwySiUJZvlbXiDoaAYyXCyMbJXJxT0CJuoeJpqwoklqyPJKoH5M358A/C1rSqKudCdjMZbypmvER6ZgfpC8bqflcnwNNLQcktY9pXapt836w7Z2Z/1G4whryZk2n6XBivr+ZJq/8te77LatFa39f0r0T3PD94Tu61/o3fq/Avvon2puvcG9ZP1X7ojDbpuvUvb+IRZcfGA6PVjU/KoT8uH+W7fer0LW8DipU0/cO7Ym+bjMJpzB2psKtkbhlDTqtoSviznyRj3muzFR0rp9dz4/uZv/AOj2OCf/APrYdbP+7/N7V/U5tuHdiIuX9UN9x1WDEY4PZWyv8jTxg+mennFijzuRxf3CuvsNYafarv8A1P4/z/gev1MbyW+418q0ovDT/BGv+jvY+7bDtsm/bszSd/d49U8uRMOqTCw3Id5HHJz1BiPxFE4Ka8iznfZfiD2aKF6v8SdcxMXHxMWLFx16IIVCRg6m3EljzZjqTzNZvU2SjQPpQM9QAhNADSaBA3fpW/PlTAx31K7ny9h7Xml29+jds10w8CTiUkmJ6pQDxMcau49oq8dZepnZnx5j7/FI8mSNsw8yWaV3OXuSNmvIhY9Fkkb049PmIBLHUmm7Tqy600J2Pumzlw8m1HBlJucnZ8iTFI/w4036nH/+mirjbQHU1/b/ANQu6NsCpsveckcanTA3yF1jA/mng/VwH4otPV+TIj8joO0fWz6gRRLLuvayb1hi/Vn7G65Qa3MfpWm6R/iiFJ1Xqg1NJsX/AJB/TPc39CfKm2vM/wAzHykuVI5N0+cfFKSpOzHyNlF3X2tkYUmdibnjZsMSF/ThlX1HsNEVG6Xux0GlTarqpY6rk4Rn9v2zJhjny84Xz9ylbJznA4SPYKg/liQBF9gryct1kcnqUq6aGd7r2+V8V+lQ8drgjW1uY8DXDZNM78bTRxbdWImkjc3YXtfiffWlbGV6GRzozqTwvoR/Gt6s52Us0bhiLEr4101Zi0OxNpmyGHTwPD20WypCrik1my7MkDBmS1uft9orjy3bOrEkjfbLiRMFBAtyPt8PZXHaTtrsbfZ8eaC5UdS8QDxHuNNKSbWNxtCj0wU0JF9RauvEjlyOSe8hYELY24qR5h7vEV0cjB1MR9X/AKmJ2J2kJ8dge5d2Vodli4tGh8r5JHsvZPbXd1cajnbZHLltrCOK/STs/JVj3HupJnnLNgmU/MzX68i5/wDSvxNXazblmex0tSQwsOo30XxNSIJdFUKbghiTItiC3A+XwFAxrRhVOQxEiJyB1Y/hI/aaGId6nUOqQLNcXZvlbXkCKEgZV77vGHteMkjOfUyCI41bTpB4kkcvH2VdMfJkXvxRlMU5kEL5mdYZ+QOkjkACbWHIAeHGneyei2Fjq1q9zP7tuEKrJJK/TjwqXlfnb/7pjoKlI1SMCoyd+3cs5ESuLuxPlgx01/dT3JtY+tv/ABy+nCbbtid55+P6WTmw+h29jOLHHwGsTPY8JMq3V7Et4mm/ISUHa1S7cNeFKQgx3f27zT40m1bbKrZX38aNv+peLUTSwpxboHlHT5vmIB6a6MFVX5rbEZHpoYnt9tvw8Nt03O8mzYTogihszTycY8aNSQOXU4PBRY8a042s+K3MaJJcmV2aYpWn3l5RueLmy3O6LdPTlLX9PJj+aF7eUK/l/CTVWfJxt6EtayWm3wvGBJEwIcL5E8xPUbBbeN+XjWbYJSTO5cKfHWPt7SC3Rm7gG8qzTMoEaqeccKgKT+LjVYrfLyW70+C/zKy6RXwM+23vOjY8saslz6kJAN+VuYokyguMHa9vwtvbL3XFTc9s2wA7Xj5JLyJkObw48UgIYxEgs8bXQKL2qUuVo2836G9HClnNe7Nn3DOly90ypTNl5jNJly3sW6+K2/DpYDkBWmTXbYyV3Opy7ctlGNDLk9Hq5EhOPh4yr1szvYdXT8eke2uWyg3qwXcM2b2WI+18OZf9TgZcjuKQWdRllfLiqfDHQ9LEa9d/Cs4ha+JqiqfeMTdLmQDFzzq2vkkPv5/v99YWxpm9MrWhWZMbKxWRbGoiCm0yOEa+nCqIDwwl2sPjSbguqkvMDCEahrXH7a5r2k6VWC/gyPIq8hp8KKk2RMhfUDhbgQeFWKrM+cTSspCAbYd+VHIIBnCp8ggacE24U+YuIB8QjlVKwuIz9OafIUHvRNEjgesVKQg8Y7cqJA90CiQFC2okAkemnKpY0So28akaJcTVLLQdXsdKUDJCNp7edSOQyNpSZSY9ZCT/AApQOSQrD+ypgaJETae6kxhkYXuaQwgtypDQ8PbQUhjkOtABLi2lIoTq19lABkmsvhUwOTxyrGiBSOXIN6IHIT1QffRACepRAA5ZLmhIRH/UFTVJCkemaeoa6UOo+RMi3LptrWbqUrFtibwoA1rN0NFYJPv4HA2pLGDuVWb3ASCOutK4iHkKLI3UuTrxrZUMncr5p2dr1okQHxlJFzUMqpLB6KRRMgywSAah1KTJyzLaogqRjqHuTTENUqNB8KIECkNje9NAD9fp4mnAAZck30NNIUjDnzR6g8ONVxE7QNHcEgcK+oo+2hfcPTZcMvmGhtQk0PkiGc+SOWw0FWqyRyJce6qzKGPCpdSlY2Gw5WPkoFuBauXIoN6svo4UuCpBrFlyHdXTW/GkIEkjCXXgapASJoGVPIL31vSYSCiUIjJwuD8aqj1EzOb5gtHLi5FzcGx91dCZmh2HC6T9FiPN1BvG9Z2ehoi2/SKynyaty9tZSMj+llRSF47uP+GNPhTmQL2B48rGHURHKg1BIBPvogkjvkYmHBIZLM0JDxouvE2NXRSKzM33Y6JlxSQLYSrYoRyHA356G1aJCkNtH05bvfFwEy8iQ7Hsu4DK3faoQfUyUkhsnpgEAsOkq3PoY9Otev7XbS3xPL9yX0/mdX7r7hQYePsmwFJczcFWFFxrBYYLdKxKBboJAtY26VvXtdfFq7W2R8b797haqXWw65cumngv8/4HOO4hFvO5x9i7blrj7Bs3Vnd2b2NIy0I/Oct+CAeSMc39169PG/t1eay+e30r8fuY9bp1pVden011vbzfj+Xgiu7I27F+oneD947jjHE+nPZoXF7d21lusrxEGNSn33ZumST8TlE8a8q9235t/j/Q+ix0SW0Jfj/U+gNsxclTLnZy9O45tmmS/UIo1/p46nwjv5vFyT4Vg2tlsdFU93uTqRR4mgBCaBSNJpgNJoAjO5ZvZyoJk4j/AOSG9Ph4+2RRsVkgizc2NgeD+iMWK/vfINaLREM+dMSEJFGgHyqBb4a/trM6UiYq0IGOKj4itEzKyFiklhl9WGR4ZtLTRO0cgtqLSIVcfA1qmZcTRx9/9wSokO8ridx4sei4+9Y0eZYWt5ZnAyFPtElDSYlJ6PM+n2U6l9k3Ht+XX8zY84zw6+OLniUW9iyCs+Pky9S42XI7gwWH/ZvfcWRLr0bVuiy7XNK33UBkM+FI3KxYA1hbAn4I1Way8zadhfUrL7g3bI7V7pwxtfdEHWvplDCs0kY6pI5Ij/SmCedSnldeGorz+xgSU+B24M7bjxIPffY/qdc8C9Mq66aftrz4aep6KurI5Vl4ORCxikU3FwQRpVpmVqgYdmSRvNoR8QPbWqyGbxltibD6TdVvaRWdrSXRQX+37eJGAaPqRh84+Yf7e2s3aDbimaLadnnxyZoz1oNG6v4jw9tUosiG3Vm32FlkcJ0FPCNjf7D7aFRg7pmvxoo44x06Hl7K6ao5rAN13Ta9n2vM3zd5PQ2vbY/WypAdXP3IU/nkOldODFztBllycUfKrZO7fVj6gz71uRaPFNnliGiY2Gp6YoI/5pALD4tXfkstl9KONefidfRhCkeNjqqRIAqRWBjSNdAAP2CsgCt0qqv0lOu/S/FQBoT/AGUAMjDGQBB5uAvwH/woAK6BrJEBNGo1sfMCeJI46/upNgRiUjuXv6aakHS9/u/7cqYGSzcuDec1skOJNpxySUYatkI3zX/CvLxFbNcV/uM0+b/2lLvO4sWNv6j6KvgOQrM0SOd9zbp+oyP0ER9SGB7zFdfVn4BRbktDG2dP+hP0oPdG/DGzkvs2B6eX3HLwEpPmgwAf+Zbqkt9wfzCnsQtdT7H006QFUABVAsABoAKAKzubfoNl2qTIdvzmW0YX59T0jp/mZj0r7deRq8WN3sDcKTkeLh5277iHJD5uTILC5CIwFx0niEhVb9Q4AX4murJkhei/H7nKk7WDb/uUu+binQ7TbZtqiLFlYWMz6deVJb70zC/u+NVx4V4+L3/l+QZLcn6ESPbMhN0kz9vyBt2S6dEll9SKdeceRG11kRufUPdUTpDEm0XD52NsOxR7rBD6G7Zbvj7Vtw8+OkoFpMqEv+Z6cYYgIxIDcCaKV5Nz9Nf39DSeKnxZnVyNxwsFBruuAz3yduyGZHWRtWlxJxdoXPj8pPzA07W5OdjKto03NJ20s+ayx7eJM2IkD05kWLKx2PLKjvYAf8WO6t7DpUX03/1NK0l6Du4ZcPL6I8DKiyNnwfyhlY7AqMp/6xlt8jsdE6tCvyk1dU6qHpbxFl1+BmNwwo5V9FrBzoW8ffQjIpRsmP21jT93SxLLn4rNj9twkBlfcCNcllPFMRT1f47eFTw5W9K7/wAjeriss4Ru+0ZHrSSylpJpGZ5ZX1Z3Y3ZmPMkm9YX1cmlbFJNtkjLFHGhlycl+mGNdTe9rW8SayaLTHzZggk/SSj144fJJMNWLDj0nmAdKjiUmS8bBOQPUwyZ04lB8/t051nZNG1HJYYe3pIoeLRhxXnXNa7OitSwiV1IFrW+yoNCdDH1G40NNCaLbGxyRqPMeAHGqkniZ5Z1I41nAJjw6njSgBVANIYpRbUADaFSbiiQBPjjwpyKBhxhbhTTCAZhsacigQwmiRQN9E0SEHjD7KchAvpEcqJCB6KRalIB478L0iyQja0gDq9TAwiygUmhpj1kBPGgchUfnepgaZJimpNFSGEwtodamBj1yAOdEAFXIWlA5PfqLmiAkes+tKByF6x/dRASe9X7KUDkVHUtrpTgCQpiGt6nUof1xjnSgAck68jRANgTLeqgmQMr3+FNCA9ZBuTTJCCYaa28aIKTHjLC8GpcR8iJPnSFuNUqkyQ5JZX4n4VUEjUUk6mhgSEjBIqZGToVAAqGWg5VWFqQ2DSPpbjwpiRLjk8TUsqQ5kuvtqYGCZ+kEnQ0wI8uQ3uFUkTIIzhvZTgUiDpJogAyxxEeaxAqRwBycPGdSUIvVJsTRVSNLE1raVqtTMWO0jX5+FD0AOmOCbmpkpIutoaSG5QkVleDWhb428ZkbWJJrN0RasTJN+yOizCo+2PkRT3DMGueVWsRPM2Hb+942fi+ZgHXQ3qLUCQ2acFEaX1QOkEkX41Naaj5aFP8A6ltm7YJgjkCZCMegNpe3ga2vVolMdDHA6KfVQTR6EX41g5NRz7tjxg2RpGBtYaC/vpcGA183NyY7wlIh/Lqftp8UhFNkmTDzFyjIZA39S5Jt7K1rqoJZI3HIkbFJV7iRVsR7TerqoJe47c8f1dpx5BcmHoYHj5ZFsbn3rUtwyjof0Uh6dr3WWx6WyIVS4sbLFf8AjXr+2r5H8Ty/cH8yNRv2xbflZLSYmbHs/c2bBLBibigQzMpADn02K+qVB+YedeRr1aXdfWs7HkZetjtblCWSInxOIdxdh92Y8Wz/AEu2nElgk7ilOT3F3Fa+LOuOeoRRPxMUCeco3mZyNONdXZ7X3bcvDw9Dn6/V+0uK3f7/AOh2ztnt/asDEwtq2mP0+3dg/KwlOv6jLW4kyHP3vTYtrzkJP3RXE3+531r+xpqksQmgQ0mmAhNACXoEBnk06R8aBAQeZpgfK3/kNur5neWXjliUQYWEsV9FSNGy5WH+J3S9XbYKKWc6hF9TWR0k3Hx5p5Y4YI2lmkPTHEguzMeQFAgs+2bjDJlRviy9WCenNKqXWI+Dst1X7apMhohGtFYl1FFHIlVCRuyHqRireI0pSVA8uXUo9nUix6hfSqQNG4kwppNy+lu7K7NvuWIIpXJuZMeHcDDiM9/MzLB6iX/AB4Vz9qs47B13F0dw3HCZ+uJkLqLgJfzW9hPH3GvnW3XRntwraox28dlYObdseO7D51+8Ptp/AatG5lJuyJYJOqJOsA/JwPwqXZmsJhsbZpyAEjDRqbMjaFff7KEybULrC7f4yqui6MBrr7a0Sky5OpeYGAtvTkQA2sQeY9h/tprHGoPIrIvoNrjBVwOll0BtbTnf2V0VRhb0LHGGU0yYkal5ZSFQeH81/wAI51t9udEZO8as+dvrv9QJu7e4YOyu3S2Tsm2ziNjHp+u3Bj0sf8CcB4C5r01X7dePizjtbk5Zq+1+3sHtzZVwsd19Yn1c2Vrfmzka9LW+UfKg8KyAs4oXVeuZCpaxcePgooEL6jklg/S5N7/dFuGngKAClm9AlYwszC8ltLLyBHt4n2UAU+/7lmYOEk+LAJZTLGrngFUnXT+b5b8q1w403DMs13VSjMZe/wC65GVmbfFkeo05E+HkkahCQGIHK66AHmK2vVJJvwMq3s20vEZn5EGLjCCIBIofmVeBc6n7Cb1zNtuWdKqlojCdxb0+NBeNv+rybrj34qn3pT/CmXsQuxu287ddyxEwcf8AVbhlzDF2fFbhLkPxkc8kjALu3IA0JGb10PursTszb+zO18Xt/Cb1XjvNuGYQA2TlyazTNbxbRRyUAcqNwbNE8kcUTTS6RRi7W4nkAPEk6CkByXuXujE3nPmxsmO2HHIXi3GE9ciSIpQ2jJCSQqCV6dGJuwN7V2qvBR4+P48zG903APNfN7djjwNvylbf85VlfNxgWGNiHzIE9Rb+pOdT1C4UW9tPHVNc7LTwXn/kv4k3fHRPUoP16rl/p81Ids3Fmsrhuja8xjqOltf0czX4N+UT+Gk/Pw/H6/xJ0fozTbREs0s0eV1YJxFMm4+sOl8eNBdnZfaPktoxtYkVm9dtZKpXz2RV75Lib9nnctsjfITEgWNdnkHRlY+Og+eJFLerHfzl47sCfMK2jiuL/XwkVnycr8fANtcIyY4pcd1lh8QQxHheotJCPd4bydn2yPBwm6d73yIxJIos2PgEgPJ7Gn6elP5ReniW9/Bber/yNLfKo8WUGNsu44EUeVgTnEzUX0/VFnWSL/hTRMCksZ5hhTbnfUyq2i32zZMre5fSYpseRChly+otLiGBLGSfEk8zp0qb+lJoOTW0qLXa03k0rRW9IKreMrG3rcxFEnobVixfpNriYX6IRezt/PI3nY1oq8VH6kXtLMN3F2sscQjWNTIoPXKLlX/wms7VCtyt/wCzsjt/sTK7zbEc5O4udu2efpumLFICuRnSH7vXYwwsdL3PhWKUt+n8Tp8DmLbIgbpZvTUKekkFrkDQaePjUtSVJ7adu3X/AFOCDblJypnCog4NzJa3IDW/KoagcnfYvpUc/acabIIxN5MYMmQF8rn7vrIOdrXYa++s7dZWXqXj7LrvsYrfO1tw2jJ/TbpAceRv6Uw1ikHirjQ1xXpaj1R31urKUQocNkYdXLgaQy2w0Ba7WsOJ8KBo5yuQRzq3UwkMuT7aniOQ8eYOdTxHIT9YDzpcRyESdDSgqRzyLyogBocGiAkTQ0AL0j40ANYAUwY29AhCRagBLjhTAenGkAYN9lAwiuLUgCK96UDHX1FIA8baUikwoYVMDDI9zr9lKBpnmJvpQMLGTzpMAypfhxpSMcuh1pDDKQTQNBAunspSMaUA4UCgeAfGkMeENtTQAx1A4UIBgAvVAMlIPCglkVr1RIF5mWnAA1lYnWnApHFiTqKUDF6AdRxoA90NwoGHhWxFzUsCZGt6hstBwLCpKAySENVIlsH+pCmnxFyHjP5X0pcR8jz5dx+6nxDkBM3EmnBMjGkB1HGmIT1jeiAklROr6FrGpaKEeEx3Ktf40SKCOQsl+oa09gHQwAEaUNgkHaI20qZLgm7W3S4BqbDqWbKquWBFqyNAGVkqBr9tXWpDZUz5AZjbQcq2SMmyVsu6nHdhe1/bRakjraCbnZGTkrdWbpJ115VKSQ22yRtW3BZVNzZTe9RexdKl5Btix5V4x+XJq1/GsHaTVIsxg4oF2F/EVnLGBlxvTuFbpU8hwoTAqdwjV43jKX6wba8xW1CLEOKQy7JCSCvS/Tpz6b/srZ6MzLLD/O2zosWEcV2GtrK/8L1lY0qdP+j+KIe0TMR0nMyppVP4kUiNT/8ALXu9GsY16nj9605PgaBe3UbuWTfMqf8AVdEaptuJJGhGI/T0yyRSHzdTjT2XPjXdy0g4lT5pLTKxcbLx2x8mMSQPqykkajgyspDKw5EG9SVEhIIYYII4IUEcMShI410CqosAKQx1zQAhqgGmkB6gBkj9K358qQiKSSf31QhrmyHW19L+/SgR8T9/b2N6713DODdSST5E0Z5dEkvpRj4RQLTyMvEtSugrM6EtC67axkyN+wUk/oxyevOfCOAGVifglMl7F9gbhkRPiTtIyiPBz99z4gxCyPmlkhSRfvCxUWNAmUexxRHcFwF2hMjMZYkePNZ/SgWP/wB1PKPyyl14Enye01Ug0Gm2PbhtO6buk7rirMq7JAdWlhkmZFlkJ1CFUPRza16EySkHGrEeckIxHG2nv5U0B2HBwDk/WjtzZUkEUPa21Q2NvlmxsQXB9+Rmt9lc/bbWNLzH1lNp8jsmS6N+TnII5PuTr8je32V492p43/U9OtYU0/QhzbayWc+cfclW1yPCsXiddUWsitoyK2NDOvpMFDXsj2sCR90k6g+w06pW3FZOuxEl2CN3JjBEq8bfN8R96m8JSzSDjwXgcWHQ/Jl+R/5f7jVVrAWck6LFjnVioEbqfkPynxtW1dTnsoJUBMYPUDbmOYA/fV8RKxz/AOuH1FbtHt4bFtclu6O4IyOoHXDwm0Zz+F5Rw9leh1sfFcmcma/Jwjm/0m7NbDwxv24KVy5UKbbDLfrjgY+aUqeDzcvBffTdp1IN5GTkS2ADxR+VFPAvxv8A7tIRJ6o7KFcr0ggM2qkni2nCgZ4QlPzJQCg+XUEOfC4+00CGySI0xaYdJIHW6G2p4Fl4e+l4h4FH3XvOJgYGRDplTOiLNEvlKQzGwLcwWtp8K3xUbcmWW6Sgz+JHJt2AFlk9XIfq9ORgA6xk3AJ46cT7aWS/JjxU4ozG9blDaRpW6caBeqVudhwH+JjUJGqMNDFkb5u7NM3oo4655D8sGOuv7BRuTZ+J9cf+O305TatqXvPcIPSzdxh9DYMVxY4+3mx9ax4SZNg3iE6RzNN+QkoXqdnjUk6ak0MDG/UnfMmHAjxMTqSCeVsZ8waKrhSX8/JjrHH/ADdVtQK6MFUpb3IyOEY7Ydt25C25bnJFi7XgFVZshjHC8xH5OOdCekkdT6aL7Kbm7haszxpLVgTDlvuc824ux3XJcT5Cm1z18GjYHpaLgEZCVtWl7JxGy2MmnOu5bPtsLxPHPCsiOCsiMoYNc8D4m9ZyUqkLuU5GFtON2rhs5xMZxJuZ6i6o1+uPDVuPRF1XI4Amtcei5v6nt/P8wyuPlWwybboc3HgYD0smEh8fIiYxywsODRutmU1CcEwWuA2Lh4mfuu/uBFgR+tlZmOFjGZ1HpSOaO3SJpG0647dWtxzpceTVa+P7GtHpLMxuO84+9bsmfmRx7NvWWq+gsrf9Dkx9PSkazN/7eXostn8jeK1bXFQtar9iJV9dmWe3NM88mPlI+LkYnlyMaZel4zxFweII4HgeVQ3oSk5gs9+aNNtm2fCmifd5UWfdNvjIOXDhW64gYh5irHzy9NyNLi1PEo+Z7eD9fH/I2svl4r8zB46jHyBKxDwvxtqCDpcGrZzkzCwI96y2iyW/T7Lhocnc8g6NFjR/MFP45PkUe32VFp2W72Lx18fBGP7u7x3SDNn7sUvt2EIjj7bjDpMP6OL8pMT0mvHInJ0ZbE0XhLitkaKzbKAbDtncGPiviwwdvdzZUaytsEjlMCcyaouJNIT+mlcaiCU9H4WHCsFqi51g6l9HvpFPtOPLvfcOC2Pu+RePGwZwPUx4FOvWBcB5SPH5R7ajdgzpUm3a3A1PE1ohEbM2Lb9xxHwdwxkycWT5opBpf8Snip9opWSejKrZpyjlvdf0l3HbBJlbGG3Db/mkxW1yIh7Lf1FHiNfZXFk60ao7MfYT0ZicaJlc9I0GhU6EeINcp1pnJBNXRBySPEvtpQORyzHxo4hIQTmp4lSFTJN+NS6jTDLkEipaHIRZ6UDkIsw50mgkMsl+dIYvGgYxxagBpsaYCC1+OlADg1j7KAHh9KQC9dA5Cxye2kwCdVzxpDDRvpSaAMr20pFJhUkFxSgYX1AffSgcjlc8aBhUlIqWgCdZNEDCRyhTrSgAv6gGlASJ6tEDk8J6AkIJjalA5PFuoGiAkF1G/GmIazgceNAEeSUE1SEBYqRVCYzS+lAhw11tQMIl6lgEXU0hhbcKBho36ba0mhoMJLjSogqQM1UiWRTa5uaokEzAa04AUPcDWgBWNxahAMLFeFMAsZVxapAXIglUdUZNNMGiKMydDZ7+2q4pkyGhykZr3sal1GmWEJVrdNZs0RKdbIL1JQOJ+mQEVTQkGkzSNL1KqN2IWRmXBDaitVUztYr3ybg2NaJGbYTakeWbrPy340WcIdFJr4Ih6NvDWuZs6Ei12peoDqt1CsbmlS4Uxiyk28PZWRQ5shkU9Niw40oGQ8jM61t8pHEnhrVJCZSy3ieZnYkorPqdCLVvVGViPizn/t/GLGxZ+q3+I6VpZak1ehd9lTTZmU+LCQ0s4/TR9WoDSE2qq4+TVfMm94q35Hc9r23F2zbcXbcVQuPhxLFGB/LxP+81zXv1qqqEeJe7s5ZNV7aNqPGqJCjhfjSGLQAh4UAJeqAQ0hDb6UARpH6mJ+ymIZQIoe/d4Gzdn7tuXV0NjYsro3/MZeiP/wDOOtVTcTPiGJ2fImkbj19HwhAj/aQTWdnqdGJaFhCdBUmxPgmxlTVpYZSCryxm4KtoRbQ2txpoUEubds99uG2JnI+AEFlKqknQjdSxM9usqG1Vb2phxD/q412CfbcrDyo5chmln3DGkV/1Tf5SZPWCxjTwVvadaBNahN07ixtw2KPHfFij3SXIWXKkg640CY8Yhg8hLKboW0WwX3mqSM2iiHGqJLftLbF3TunZ9uf+nlZkKTHwi6wZD8EBpom2zO0/R7b23zubvLvXJiV4c/KODjLxbpSRp5HU8vnjUe6uLvObcfBHT1VFZOnTQBYSkg/UYjfePzoa4XWVD1R1K0OVoyvf9TgHyfn4ZN7Hhr4+FZa09Ua6X30Y+NcfLieSDiNJIzYso8GX7wquNbaombV0YkYjH5ORdB9yVTexHDpY66eBqqWjRk2pOqGToyG0wB6+M6jyN/jXkfbVuvkQr+YGTEZB1RnpblrcH486lo0ViF3D3Ltfa3bub3HvYvhYH/t8ZtGyMo/0oU9l9W9ldXVx83rsc3Ysq6Lc+ZdiwNz+ofeub3Bv7tNC0oyN1ZhYMx1iwo/BQB5rchXbkvL9DlSg7FLK7/lABktqDp0Jw8pHDwFZgOaKKONYkBj6lB83FV5AW8aAGQh5HCCwYaG/Ae33c6ACTEgWWNjCotE4ICH239vE0uQ4KDct7m2/ef006J+hki/KmPB52+TXkt/Kw8Na6MeFWrPic98rrePAzGAj5ea265rkyqHTKNrCV1IAZlPC1rdPiKrLaFxROGnJ8mRN93J9QNZZNAo5eA/trBI6jnfcW5evOMKE+pFA35vTr6s55e0LQxNnVfoR9KP+5t99DPj6tl24x5fccpHlmc+aDAB59XzS2+7p94U9iV5n2CbMwNgFGiqNAAOAFAFf3FvkGy7TLlSsQ5U9AX5gDp5f5mJ6V9vuNXjpytAm4UnJNul3ncd2ZogDmZxELQMOvHaMi/oyowKtFGgub+HVxrpyWX5L8SYUmzD73Ng7puEWBt0Ij2Hby0eHAhYLKx/qTEsWY9R0W5+Wr+isf1Pf+X48SMluT9EVv+mbrtYePGi/1Dt+NyybZLL0T4xfi+DP5jE3ihujcxUTPx/G4K0LXY0qbp/pOyRby04zMidmg2OB0McxnU2ZsiI3RTj8T0MVY2tappTk4f0rc0+lT5mdm7hy8LIB7gcuJgP/ALPwxmRQeHRnwKF9RBwE0Y61HHqFU0nt+n8jOtp+o122ZEEghx/SQZM4D43osskOQp0V8eVfLIvu1X7wFZ28zRVcwUH1JGXPmR7KR6e37YVlyFYFRkZUii0tucaA9CHhxrXE0q6fVb9l5EZXrHgZ8YK5cCY04E0K6GM6ix0I15aUpgzNQMrA7Q7cyN33BBuONtqLFs2LkEvKMyUgw40UlwzRfedGuFGoFTWvO28eb9Doo2lLOR4c+blS5O4bg8v/AHBPkHM/1FGaKZJydelhZk6eQHLSqtfk/TaPQhs2m25eZuogh3tUx9wymVcXfIUtDO72AXOx0HkckgetEP8AEp41Mwp8PxsPS3xLrfE2jC21+yotxji3v1Un3SZ/JhzzAHoxP1J+Qx3BXrXpLcSDTqrV+bz2848yrJRxRyfdtjyszu6fD3fDmw9n7ZCZGTi5SGNsvMl/oRheDRm1+pbgqCeYrO3zfKthfQvU1fZHYUHeXdCvketJteOEy97klCgtKTcY8ZX7sjDTmEpZHGiDGj6LeK5Jta/EDhWSNYAPjrVSKALYulORQDELA6ceRokUGY7o+nO0b2WyogMHdOP6mMeST2SoND/iGtY5MKt8TfFnddN0fDwNYmqYoY0QOTwY0gCLJ40oHI8SUoCQqTWqWipCLPSdRyGjnqXUchln1qXUch1nFTA5FaUE0QORpbwogUidRogELeiBng9EBI4PRASPXxpDCq1AwqyWtSAMj3pQOR4kqRhFc86BhRLYUoHIVJaUDkKswPCkM8X1oAIj0NAPJ9tIDwkUH20oGOWQUQA/1BakAP1PNTAazAnjQAxlBtTAT9ODRIhBDY8NKcgEWMHjSkEhwjApSMXyjWgBQ1+FADh81IYaLT3UmNA8pr8KaBkJ2NqogYNRTAYz9JtenASL6oBuaICRZJV6b0gkXHlIPVyptBJYLlxkDqqHUpMbLDBKLi2tJNoGRP0BRrjhVcieJPxWVEFzUNFph5cpCvGkqjbIcmRZrg++rSJkjz52l73NWqkOxDfIZ/LfjVqpDsMj65JRGvy/eNMSLrah6eR0DgKxuzapqsNHaIkat4Vzs2LLDIFiR0241lY0RboI5dOZFZlDJemPQrcgcRSGip3CVZIGdNGHFfEVrRakNlDuWTMNvke93lXoUfy866aV1MLMAMx48LFgt1OqhVReJZtFAq1WWKYR2j6XfT2fao03bdSo3BBaPAX5sdnGrTf8yx8o5V6fX6/D5nued2OxyXFHQxXWcgtqAHKxU6fZQAUMG4fZQB40xiGgBpNIQGZz8o+NNCAUxHgKAON/+R2/pjbftG1NZoXln3LMhPyvDt8BZFYcwZ5Eq1ohM+ZcJCkMaMbsqjqPiTqf31gdlVBPRrCgoc0lhxoQ0DMtzVFQGgyZo7enI6cR5WIoJaJL508yBJSrW16+kdX/AKhrVIxsMU1RBpuxJVw9zz93b/8A1W25eRGf+bJH+miHv6pxarpuRk2PoT6P4MOF9M+3XjBT18U5JnAsxaeRnJkH3gRavHzWfNt+Z6GOq4pI2ZBJHBJDwI+R/wDbwqBkc44BPpj03+9EdQfd4iiJHJV5GGqziXGJx8gXIC8COfSeY/lNYPG09NDeuSVrqOTNEx9PIUJMdL8Fc+OvA1dcqeltyLY2taidE2OT0XMfONtbe6/D3U1NdgbVt9xIPTll6InWJQC04kNkjRRd3JPAKNa0p87hGd5opPmH6p985n1I73xNl2JWl2Hb5WxtngvYSyf52ZJ7Bbq92leq0qV4L8zgmXLOh7LsuD2/scW17efUhh1csLSyzOfNI3iWP2CsgJkERiUyzD8xj8pvq3hryWgB/rPrdupeNpNdef8AsKAFyAI4wI1KyuAJATew49F/20mMDJmLiwSZHV0IgLv+HpA4EVSU6Etxqc9znfd8+THUtJh5xORBPbWJxYOWHAH7hHh0kV2t8F6o40ub9H+wfdMyDGhMaG0cQsSdSzKLXPjauLc7YMBv+8SQxF1NszJusA/An3pD/CmVsA7F7Z3Hdt0w4tvx/wBTuOZMMXZ8dr2edgS0snhHEoLu3ICml4mT1cH3X2P2dtvZvbGJ29gH1RDeXNzCLPk5cnmmnf2s3AchYcqNymy+LRxxtLKSI4xdvH2Ae0nQUCOWd2blF3LlLFiyM2RBI6jHYqsU7/Kox5CbdcQ6lCydIcklTe1+tVdE15/j9zG7VnCIL5T9r4C4z4Jzd63OJkm29naOTHwnBDC66pNNxHgBrTpWfmbhLb4/5Bayoo8WR9o3TbMnGOTgSnKw8cj9UjKFy8Tl/wBVEPu+EyeQ8+mlZPx3/j/mZ8fLUvYsUZeUqRShMToMs+SwsscKDqeRjwso4fCs2/DxKrWd9is3jFh3PecfcY5kfakT0NkeFg8DQJx6XGhkY6yA+a/EVtMV4+Pj8RZE258C/kwcXJxFV0BSw1IvesU2DqUW87jH2V2/LFtT+huG/MU23FU+SBNRNmBfuEhuhSLXrbGlZ8rfTX935Dfy1jxZlo8vNwMOHDkjk3vZmF2w3crkwSNq74U+pQ319Nro37aLOXOzM63hQ9jQ9sbU+f0PtbHccRmAjyGT05MduJTNiJvCV43F0b7p5Vne8b7l1xzs9DN91d7dsb9lDbWSbE2XZcl49q7niDTRtlNb1pcvHAuYpGF1dD1KPEaVpxdFCfzPdFtp6FVkYuZDuMabqqk5i+ph7lCwmxcsDhJFOvlkBHH7y/eFTuZ2o0a7CyMftvZJO45FDZSMcfZMd7EPmEeaQqfuwDzH+alWnJw/pW/8iqKFyObqM3Lnnb1BLMyyTzvMwUvbzSEljqzXvbnVWu7OSYLDZd7mzTh7Bu2LJu+3vKsOBFG3Tm4rynpBw5iDprcxPdD7KizjXYurnRn0Z2p2pgdrbOm04btP0sZMnLkADzStxdgugsPKAOArn3cmySWiLYjwoAYyUSIYUphAxoxagQzoF6chB+djKa5JOqBh0NMk8DSHIoJoKF6qQDw9Axwc3pBIVZDSaKQVZKmAkKslTBUhVc1LQD+o0hjlehoBQ9Icj1IIoAUqKAFUm1IaHJfq40hhxwvQMcrkf2UAEWU8KQ5CCU0oCR3WeNKBhUk0ApAFWS1KCpFEhPCmEjlkYGiAkKsxvUwORHc8acBJ5ZCKUBI71jSgcj0a4vSaAIFBF+dIZ7pApgLew9lIBGe4oAQP00xCmW4/jRAxPUFEAODUgFEgogBGmI4caIAaZtKcABeQEXpiBGQg+ynAhjNfWmIYz2t4UwHsylNKQz0DjhyoYg4AYWBtUyUPikeIjmKT1BFimVAyWbQ1HFlyRskhR1IdONUiWV8maQda0VSHYB+oZzxqoJkUs1wON6Yh0ihE0HnbhTCCRgQemNRdjxNZ2ZdUWmIFSZXHHwrJmtTW7eynhp1/vrCxqicEBW3MVmWOjyukE8wfspcQkdkbpF0tdtQNDTVGHIzeVnB3co2vA10UqY2sVObnGQrFcMqWBHA3OlbKpk2WkWwrl7fM+UrxQZCmITJ93S2vMA+NcmbscHC3OnFg5LUse2PqJ3v2C8GNvnr9w9sooTG3GIiTcMSEahQWPTkwj/hyaj7rCvW6vuNb/LbRnndjouutdv3O/dr939v9zbZDuW1ZkOTi5B6YcmEn02e1/TIazxSjnFJZvC9ekee/UuSpBswsaQj1jQB61ACh/wAX20wFNMYyRgq358qkRGOv9tNEiUwPDj7qBnyv/wCRe8DN7r3HH6iUw4MPbIrcBJkOczIH/wCTjQH31dtEKurOURPc38dawOwkq+lBQjyXoGgfXTRQRJKZNg6OKpMwsESSmQX0OQ2F9P8AfsqP+tnT4+Fjtz6og07qPG59OrTirZF9WkfWHa21R7L2zs+2Q+aHAwsfHIHIxxgN/wDNe9eJye+8npcfDYsdQpaKzxn54vD3Uko2Keu+41nR01JKDg3309/iKaciiCNlAOnTMfm+SZeBPL4+2h6jXoVWYgi0yzaJv6eSBcDw67fvrO1U9Ga0tGq/QjruGTiEQ5IMkLaRyr5iAeA0+YVNbWro9UValbqVozl3/kJ9Qn2bbW7G2mU/6xuEYl7gyY9Wx8X5lxgRrduLD4V7HXxLHXk/qZ5eXI7uPBGb+mvao2PaG3zcQE3LNjUIh+fHxfuRW49cnFqbZnJsMQTZFpchRGqeYKNeknnfmbae+kMmO3rOSpuwAX0n0YDla+h9lAhsaen+bItuk2RG0uw/gtAHgySM3S5jvxWT5STqbN/bSTljZC3LJ/Ro/Wou6kTKw6lVCLEEfz86olmPijxNuwnOKCrZTGQKTfpHAC3LpFXe7s9fAnHRVRkN63OI+ozvbFxx1StzJ8PaSak1RjII5963VnmYRKw65nOiwwJra/uoIsz68/8AHb6cLs+0L3huGOYdw3OH0dkxZBY4u3E3EhHKTJ0c+C9I8abFEKDsiAkgDidAKAMP9Su6/wBLAm0YchWefqDzL9xQemSQHxveNP5uo/drqwY4XJ/j8bszy3hQjK9sbYssOVuc0DT7XtMfrywxgkuU1ji0vpp1N4LQ3LSmJIxV/qK1hn5G6ybvmSh83KcyvIpuB4dP8ttF9laXstlsjHWddx0+xY5yRumJLLh7xE/XBnwMVcA/MDb5g3NToaif0GpnQut4neHExe3Fhjxs3IVJu4pMYFF6r9aQKl+mPiHkVPL1cKrEuK5ePh/P+Rplt/T+pW5Owbttc75Ow+n6GTY5+0ZF3xMoj7zLoY5PwyIQwNJWT3IUrY0Gx5eG+3ZeblTSYW17egl3PHyjfIgXWyJIB0zq5BVG0PiL1DTbSW7NKxHLwRlN5ytt7jzsrufClObhxBY3hK9E2BGoskU8AJKIOUi3RvEGtXKSr5fv6z5+hFly+ZE/akd0TyXjsGikHyr8RUMlDPqDJuGy9sjH26N4N07qDY363VBFgoQ0gDaD1Jur3hNaML1dn/T4epq/lr8TnuDtmTt+BNtgkT0ZQodYrMrAWYWa17Gkl4syNN2LsUv68bdEL7BkyGbc9pzT14qJGOqTKjcFWhkRdRIljew1qbv9fA1xttx4EXuD6jYO4ZrYH+nx5PZ2KfR2zA/pZMSJcDJhyNXSV7liH6lYaMOdaWqqaLfxfr/JDeSfDQz28bK36F932Wf/AFXY4yPXyFXoycQngubji5j9ki3jPiOFTPhsxOvkdJ+g/ZvWp7wzkBU9UOyKeFvllyR/9CH3msL2lwaUrCOy3HKpLE0pgNNIQw0AMNMQxhQI/PN4vHhXCmdkAnhFVIACtVJPE8BQMWkAooAetIY8CkxjhQAQPapYwiygcaUDQQSgmk0OR4elADg16UDHq3wpAOLmkB5XNABFk1pDkMsgJtRA0EBFr0ijwOtABFakA/r0ogBfVtrSgZ4ZHtogJHrMbUQEhEm9tJoJHfqgOdEFSI2Vc+yiBSPSbTU0QOT3rilASKMmiAkcM1l50cQ5BBllhU8R8hwn5XogcjhNSgJF9RTTgYNnF6IEEVltrSgYvqC1uVApPCUW1NEDG+r8fbTgJGySX0FCQSDDE/GgUiSLTQmNU8vsoAZIp+NMGhvVYWoEIk6odeFOBSG/UR6EN8KUFSKckW11ogJI8+Uyi96aqS7A03Z+npLaVXBE8xjTdZpwEhIkPVccKQFnBB1KCRr4VLZaQRsQ+p1sNBwqeQ+IWCMAm/HlUMoOpbSx1FJjRa7duLKturVTWdqmisXY3WDoV+oBrais+DNORCzt2iXzq4sRqBVVxkO6KDJ3kPJ0o5IPGt64zJ3AyblCpBvfp+arVSHYNsWH/qu4LJcQ4wbqkna5QvwVbisexmWOvqa4cbu/Q3sEU+NKIYk9HKC3bEY3jlXxhPA+6vCtdtyz1koXoTIcTHkQiNOmOT54HHlBPgOVUrNEPQp07Wy9p3CTd+0MwbPvLgDJgdfUwM5VN/SyoD5Tzs3EcRrXqdT3S+NpW1r+6PP7PSrdStGdE7K+tG3ZmTFsXdMP+gb+fKmJkveKfWwfCymssyHT8tz6i8AXr6PDnplrNWeLlw2o4Z06wKhlYMh4MPZxB8CK0MoEoAawoAbdl04jwoAZIbm/LlQDBsKaJEtTAbKVWNmY2HM+AoQM+HfqFvY3beZM3qLHcMvO3FvAxvL+lxT/APkcfT308heJamcSTSsjqC+saBo96h8acFHuqhDHI+tMmwQSU0YWHpLrTMze7Bth3LK7C7cJAG57kc7MQ/gWa6tb2w4n7aWdxjYY9br0PqqT1Y5jINGYkleRvXiv5T1FFhOoOfUhPRIPmQ6Xp+q3E/KwNpepr2MU41/laiQ2+AIyi7RsoVjyPyN/YaqRRGwFzZXKDri1WTHfiPdSGoMn3p3bt3YXbMu/swnmlPodv7c+rNln72upji4muzp4eXzP6UYdnK/p8fE+efp927ld0dyZXcm9SPl48OQZp8hr3y80nqA/wRcT8K672lyciUHWpTJnZSK4EiA3WRCOst+LTQ24C9QBJdY1QpCfy4zbwJPDh+6gBqRvM5A1c6ljyHP+6k3A0jzsJj1aqyHoSJuKge/n40JCIufuGNg4xny3CwqwVVPF5G4KPHxPsrSlHZ6EXuqqWUG6SfqZvUndhDAfUNjZXcjT32v7taSehUaz5GS37dHJKL/WlsEQfdXlSSKSOeb9n/qJxhQeeGFrNbX1Jjpb2habYNnW/oL9KF7l3vo3GPq2La2jyu4JGHlnmPmgwAeY+/L/AC6fep7ELXU+v2cu3Vaw4AcgBwFAFd3Hv2Nse0S5k7FX6T0BfnsT0jpH43YhU9p9hq8eN3tAm4UnJ9vzcnuXcsfb9xj65MhvSxZYFVZcRG16F0tLClrssnGxYMDXTdpKa/6/5/A56t2cNFP3XvLy5OPtnbmXNjbbsrN+jy4GKSTZN/zMoleNzot9On2GtY4KP6rb/wAhWvrpsj20d1vPPDFvKR7TurP/ANNuQT09tzHGhEo+XFmN9WX8tjxCnWsY/wBPxuVKZtJch9lgbe8/D6JY3Ee37dKOg5GWdVOl7xx/OWW4OljU0rycTp4v0K+hS9yr2be9p3jOmjgR8fe0d58zaJiWyhclpJICf/cxX/D+YvMHjVXlb7fj9CEuWqNGkqTRRtCBMJCFQJqWJNgB43OlQ9NwqpcIxf1J3CZ5Ye2cIXwsaVZ96yFF1mywPLCDzjhGn+Kt8fyVl/Vb9l/mTeynitl/ErpNmyZMvD3Pbsg7TueNGI8fNxQQ6gX8rrqJEbgVa4txqPD0JTaNFs2TgbXtW5b/ANwQjBh2tFkzcfDH/R5sjEiJYEY9WPJK3zRi663HTUqjs1VPf9jdNfU16GAj7t7ryI83uHMyYtwTdpv+s7cyuqXFaIaIiC/VA0S26XSxHtq7NPb6VsQrtPUmbXh4m7E5nbZlyFiAbN2HK824YynQvH02/Vwjk6eYfeFQ3G4Ok7Gk7zwt22TsJ8bCi68zcCh7jETK+RhYFuqJJIlPqIsx1drW5GjFbV2/+3+fxRpxhQvzOOZEoE7LjEvGxAjLcWB4cPGoZKRsPpvsG85vfm24mz5UmJlYyifeMyPVYsdWvJGwIKuJPk6GuDepvaF8SsanU+oAsSAJDGsUKDpiiQBVRRwUKNBWaNRSaBCXokDxNAAyaYDGNAhvOgR8BPB7K82TvgjPAeFVImgEkOvCrViYAmIinIQMIsaYjwoGOUUgCgUhjgKBjrf/AApAesaAHqDUyAQXvSGOUmgYQGpGOoAUWpAOF6QDg1AwqS6a0oHJ71aIFI8T0QOTxyOdEBJ4ZKmiA5CtMLcaICRUmHM0oHI/1x40QEjP1AvxogJF/UC/GiAkcuQx50QEjxK1KByPWU/CgJHdRoGEV2FJoB4c31pQML6lIcngwvQMdcUgkR2IFMJGiU2oFInU1ASPVje32UAmedmoA8CaQJhLFktSKGW6aYC3JpAPkxi0d7WPhRyCCDJj/jNvCrTIaE6Y1Asb0wCAKUpARZjxBq0QyJ6JJpyTBJjjNqRSLDGQgC41HGpZSLeC1hWTNEHkXyix48agojW6W0+FMBjZKKSDx504FI0Zao410PG1VxFyBNmksw6j08qpVJ5AHn6vmcnlxqoJkG80aLZeA400Eljtey5Wd0ZGXG8e2M1nZR52t+4Vy5u1WmifzG+Lr2trGhuMXBO1Mogj9TbZRc440K306oiefiDXkXyO2r3PQpWNi7xXxs7EQWORiHRCptIjD8PNHH4fsrCyNlafiFWWXHKtJIJ8YnpGYPYfknXkfbUKwOk7bk/HxQSXQkdZ6uonqW/4T7PA1SZnsD3fYds3rEfCz8WLIicHrxZxdSfFG4q3gy61vizWo5q4ItRWUPVA+3u7u7ew3EOd+p7i7TUhTJb1dzwEAtaRdP1cKeP9RR7NK+j6fudbrjfRnjdjouutdUdi2DuDY+49rh3XZMyLNw8gXjkhYMpI+YciGXmrAMOYFeqjz4J5HjTEMIpAMIoExjCgQ21MDK/VHfW2LsHe9xjNpocSX0PbK49OMe8u4qq7iaPiXfWRd2lx4364sFIcGI+zGjCN9snUal7m1NiGr0jRWHiTxoKTHB6C0ODUFJjwaCbMUP8Aspwc9hfU6VJtewv08zRIkdr+mO2tN9X1j6OqHtXZxjq4/G0aQAj29TSVze4WiqRt0qzZs+hYclZECSa+DcDXArTozstSNgcyMh6gbEfK4/cam1Y2HW06ME0iSjpfyva6sOFEp/EcR8CNI1vy5hcH5X9/jSkfwANPHjLNkZ04x9uwomnys5jpHDGLnqvx8BWuHG72VTPLdVrJ8s95dzbr9VvqCseKHxsBVMO1xAXXDwVPnnkH45BqffXr2aquKPO9XudQj2+Datqxdp2tAuNjRhIyg8wS9mdv55G/brWQE2CFcOFY1AWVgOrp06QeQoAIW6tZB6g4K40fw+PxoA9kCONGhUk85G4XI4L7h++k1oNCeqWCs9nB/EbMqjW5b2DXWmnImY7e9zxd99DDwk9bby7iaZtHjK8GXmGbiDwI0req+3r4mFrK+i2K3eM+HGx1iQ2x8dQqKOZAsAPYKymTdLwOe79u0kMbMG/63KuI/wCRPvP/AGUD2G9h9sbjvG64UG3QfqNxzZv0uz47X6WlIJeZ7cI4lBdz4CmiHrofdPZnaO2dnds4fbu2kvHjXfLy2FnycqTzTTv7Wb7BYcBQDZeGSKOJ5pTaGIdTkak+wDmSdAKInQDjX1N3fcs7cIMgSRttUZvFPDIskP6sdStA7qSqyQLoEPHqZh7OykVrHiY5W38AeNPs+xbL6G5Z6bbv/cMFsWSUMsUOI7D+vNr6ByhdVYjyjjbWnSjnnEpfx/yDRKPFlXJsyYeRBiPEcPLiFp/WYen0nVGXpuCG5MpKnlSmdTF1jQstq7bm3rPg2pkLOWZelwCsScZHI9n7dBU2vxUjx0li50rbnv8AimFWh2XbEGJs+OxuVhi8vW387lbnw4cq1suFeP5thkfJ6h+4OyNv3G2UysmXGRJiZcTtHJFKDcSI6+YMKzViYgnS79n9tduDcM5kyu5M2U4+zZFipnKqBJl5EI/LZ4eHqW8x406Y1az/ALFv/kbO7VZ/qZmG7kgnyFwe4Fh2neJ2Ihzz5Nrz5CdQZNRizMfH8tj+E036beXj/mRpb4mo2zbj5cQQypuquI5sOUBSrN8lteBHBhpbWs3ZbgsesGf79/QdyCHYu39wTc02CWSXd9rhDCebKBAfJiQj/qYo1un5dynGxrRJ0q+WnLx/w9C7a/T4GZw8TCkYLiqwx3uVBIZrD2r4UohGGpq9sj27aYT3ZnxqINgt+jVAI2nzXv6ECsLXve7/AMvxpceT4r836G2PRcmcvk7n3xd+l7hTMkh3uSRppMyI2YluK24FLeXpOltKL5JfptA1O5a4Mmy905cTYq4+wd2lh6UJHTtWfKeAUa/pJ38P6bH8JrPb4FxyO9/THsZ+09gdc7off9xf9Ru8yEMA/wByBWHFYx9pvWLfJyy4hQa+gBjGkA0NTAQtQIaWpgMZgdKBHtB8KAPhJogRXlSeiR5obU5FBGZL8KpCBPACOFOQgiyxVomTAHoIqpEOUH4UhoIppMAgt4+6pGeoA8DQwCBhSAUHnQUEUikA4VIx1MDwOuvwpMB/GkAoHjSAeBpQAtqAPUAKRcUAMMZAoAGwe+nCmAln8aYHupxQAoDGkA8K1AD0JBpDQVWc0mMKl6RQZWpAED0hjxe1+FAChrGkMd1UgPdZBpiEL9WlEAeDADjSgYWPzUDQYJSkYGeRVHHWmkJsHFkpfU6U2hJkn1YwtwamCpI7Z0QJquJPIC+4oppqouQePdOpLA0uBSuQcrKY31qkiGwEMpuOo6VUEpkn1rEdJqYKka7hjTFI0aUASYLE0mMsIUuOPtqWUkSEYjiagsMci/lvpUwOQLTopOt6qBSRJmBa4Pvq0iGyJkSPcW5VSRLGJ6jvY8/3UxSHxsWaeYRKVXq++5soHvrO+RVLpR2NLtnbeBGwae87WtZtAreIrz83atZaaHbiwpPXU1mN1I3UzIWcdKyWsk1vutbRJPbwavMsjtXoTYohHCxx19XDLXaNr9aP94BeItxt9lTyhjakJFhweabGa8bEM5A1VhwLAfvotO6FV+DJeFkpPJLErqmanlyIjqrg8C34lI+8NRzqPioKHxwZeMryYasESzZG2s2oB+/E3gaGNw9yfj5sGTjerGSQpHWh0ZTw1/CaaZPEMGuqux6l+7KNGX31SaZLRSy7JnbXuj732rljZt2ls056S+35hBuBm4ykebwljswr1ep7lfFo/mr+6ODsdKt9VozofZv1Twd5zV2Hf8Y7F3R0kx4kzhoctV1MmFOLLOvPp0ccxzr6PD2KZFNXKPFy4bUcNG3ZCpsfga2MmDYeFAA2FBIwimgOQ/8AkbvMWNsG1ba7AR5uekuR/wDeMBTlOfddFFUtheJ8iGeWVmmlN5ZmaSQ+LOSzftNQjUUPTgJHq9EDVgitSNasIKDRDr0EWYhaqRhZlj21jjL7i23Hb5WyI3kB4FIj6kg/9CGklqDeh3f/AMdsX9andfchJZ8/OTHiLaHojBlYA+x5rVxdxzaDp6yisnX5JDGQCCb+HjXBasHbW0j48woQGPUnI0VvGg7Y51R6VA4Zo9RzHgfaOXvqrV8ia2giPP5SmT/TAN5DoVA1JPs8azmdGaqvjU+e/rl9XItywY+1e3pGm21ZA+45SA/9TOD+XCP+WnH2mva61Pt0/wBzPKz352LD6ddm/wDbW0M+UQ+77gFkzn/AOKQ/7t7t7aJMzSQRyY7HJkYLkPcRyAXAIHmkb+SNeANAHldrXIL/AC3kvdj1/IJPCVwOrwtQBKgaNF9ZybG/pkcQRoWsfw8BQA1kkZBYBoBe7qPN8QdR8anVjM1vPdCQnN2vFjb/AFAKEhZrC5OrKqtoWtqAdGrpph0Texz3zauq+ophBFtsLFFUZOTq/RcKunmtfgByqMl3ZmmOiqvUx+97pFI0krtbExxdj+IjT7SalGkGOgin3jc2eZvTQj1MiQ/LFAmtr+6gmzPr7/x5+nK7Hso7t3GD0d03aARbRiuLNibde6sRykyNHb+XpHjTFsjr6jqIUfMTpamwOffVjvYbbjJs2DL05eQWBlU2KAeWSX/d/px/zXP3a6MFI+ZmeS0IxvZBO2rmb1lL0bPgRgZeIQrJlswIx8URsCrEtZgSLoBetHOR8fHz8vNmWP5U7eBmcuXM3rdcjdN5iGVPlsZJoZOpYypFlRba9CCwAHKqyNNwvpWhnLmfE9sOdu+yYy4WUP8AVu3o3Kw7eXtm4nWLl8CRg3Sv4onujeA41D1f+P8AMtW8PA2fdmYuxw/9t7VlS/6nuCRz7vnxqYJ4MZrNDjqAxZHb53Ab2VeFNLm//p8viPLbj8qKHD7wngzRj909UUi+XH7mjiJSQHRf9ShTx/48fmH3g1Zx5foCatudH26KbOlgx5gMXHjQTZGaXDY/6W39WOcflujfdYN9lZt6ablVo51MtvOLm7j3Tk5+dEYDjKMXC29v/wBHx0+QAc/U+fqGjcq6JXFKu38WZXl2lib3j7G2Dj4+5R/qDnSDFx8fp9Qsz8bKeSjU1BMCdwbtkdj9lDb9umaXdt2Bx9g9S0kuDiW6ciaORryLGb2jW9gdRTxpN839Nf3fgjeXWseLOf43bHqbTiiD/pMzBPq4mdAxiyFe9+oyL5r31BvQ2223uzHm09DUbHgbpvG+Y22b2iQ9w5Bvjb/ix9cOYektbcMZCgEnSP68Vr/eBrNvip/b+RsovoV/1kzcvF3XD7dSJ4tn2yLrwZDwzJJRebLDC6vr5BY+WxGlVV8aR/U9x3Wvoc2uWYrrrxrIZ1T6E9jJuu8P3PuEQO07M/Tho48s2ba/V7VhGv8Ait4Vnd6wvzLqtJO+Y+4xzztjsskGWLscecBZHX/iJYkOvtU6c7UQOQ/UdeVSA1iaYA70CELaUwBM5pwI8G50QAjSUwPhofGvIPRBTcDQgZC51RI5vloGQ5fhVokAfhVoBDTEeHGkwCLwqRnjzoA9TAUcaQD6Bjl40hoKvCpYwnhSAb/bTAelJgEFSA9fhQMcOFAzw4cv4UgHDhypANPA/wAKYAW/2vTJPHhQAznQgCLwoAetIY9ePKgaCJ8KGMKvGpGEHwoAcONAwlIBDx+NIAiUhiPTQgYv7fhTAab3+98LUxBYr/zfspMaJHm6fv8A7Kkor8u+vz/sq6kWIaX6/v8AwtVkkrX0/wDM/ZUgQXv1H5qoQGW9vvfsqkJh8O9vvfspWHUdNe/P9lSgYxuHOmIct/5vjQMInDnQA9PjSAkxcaTKRYxcOdQzRDmvb71IZ43t974WoER2vr83wtVEgHv/ADVQgZ4fe+NAiXi9PqC/Tb+e9v8A5am2xddy5W3+mnq9Po6jbrva/L0enz38b6eNeZk+rxO/HsWeL/Qgv1cVt4/s5eF6z8SmW2Df9Jk9N+DXtbo4G/V1cvCsLbl02LrZ+r9U179Xow/J09HT6f8AnW8vu+9XNkNKE7bf/cv0X+Y39H5OB49fPxtUeJd9iFuPR/qEd/R+U/0+r1fb02/2vWlvpFQvkvfE49XT5bW9S/Pp+70+N9PCs7DrsyBJf/X36On1eg3/AEnzf/vHX+XbxtSLWxaYlus9PC/+X/T/APm1qVuFthR8+l+fy/L8L/trdGLM13x6P/bY9f8ARfpv1aep/qHq9H/7j6H/AFH6n8HRzr0ejP3NOX/0x+86HN2Y4a8fzOzfT39V/wBp4n6j/VrdP5P+v/p/1nR93q/T62tw9Tz2+bWvq0fO23L40yQbUCYM00I+dP8Ayj6/9T27+rb/AEvcrW6ej5ob9PPqt8/8nDWqf0gtz5tPGkimKKZI8UhoKtDNahl4CpNkKeFBFhp51Ziy47R//jYte/6fJ6en+pf9PJ/Svp1+/S16VNwvsfRX/jvb/wDBonyX/X5vV0X6v6g/q8r+7lavL7H1s7sH0HRZuOtr8ur5+PK38aytsa1AS/M3zeysLHRUdr1R/Ne3l4dft9nR76uuxFtzP/Ufq/7N3vo/UdX6OT/2fT61ra/P5bePPpvaqX1IS2e58qfTu3/e22X9O/qeT9Xf0L6+Gnqfh6tOqvYseWj6Emt1ta3E36b/AMf4VLEezflF7fKlur+nx0tbl7/jQBAX+v8A5l/z/k/qcB1X5dX4v5PloAl5F/Wa9+CcLdFrC3Tb7v4OfjSsMLB/Xjte/wDy+PH716YjEb//APzXB1+l1f5fr/1rdPLo8v8Ag69eNbr/AKzF/WVncPV05H9X5R8tr8OXsrI3OcdxX/0/H+bp9X7tvTvb7/O/4eVNjZM7G9H1ovU/Ren+tx/U/wBQ9X9L/UFv1/pef9Pe3V0fHS9FTL+o/QPJv6/wHu4cvZTQPcYvV0ydPV1+m3T6VvVvY/0+ry9XhegZ85fUHo/7uzenh049urr4ekLen1a+l+G+vV13rtf01Oe+5s16P/wX4f8A7f0/1bdPT1dfrdJtf/M/VePV+T6XHlWWP6n8PxP+39y7fSjLL0eot+n+npfr4/yW5eFWtjnZYdrdH/cuB1fpv/cJb9R19F76dXTzv8t9Oq19KnJsXi+pEGX/APm7dOu/qfq5Ov8AW/8Auuq+vrdH5fV/h8trWrfL4fD8vyM3uyZu3/scq/p9P5fV1/0/mNvUt5vdb41n4kj8i3/4BMvo9T0/9Rf1f0t/0F+pber1+f8AT/i9P7/Gtev/ANv5fn/9P42N7f8AWhnaXqf9p7f1frfQ6B+j/XdHq+pfzf6V0/nfo/H9T+X+GsrfU/x/93qU/pNY9+jF6vSt6jX9a3qW6f8AL6df8VuVZMingUv1b9P/ALpwbfpPU/0+Pq6PU6ujqbp4/l+n/wAPp89r9XKrxfR47/l/qVm3KTE6fT16b6dN+rjf7ttPtqkc6L/Zr/pd49O/qf6ZPb9Hb9d06dX6X1Py72/qX83T8utT/VX4+Ox0Y/pZjdvt/wDg6k9fp/QeqfW/1i/+m9dvJ/pfof8AW/q/H0vJ+Onn+v8AHL+RVNjnLX6JON7crdf9l6yA+qvpf6f/AODjtz0v0vp+l5f0fX6F+s/N6v5nq3/qX+/7Kwr4m7L7uL0/0uP6vp+n6w6vU6/W4afpfS8/reFvjpVVJJOP6n6eP1PV6+kdXr9Hq/7/AKfk6vG1J7gONAAzQIY/CmhAW41QHj8aABN8aAP/2Q=="}},"time_used":778,"timings":{"blocked":679,"dns":0,"connect":0,"send":0,"wait":94,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/clients-logo-07.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.551Z","timestamp":1785136899551,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/clients-logo-07.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/png\r\nContent-Length: 3448\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":3448,"size_decoded":3658,"mime_type":"image/png","magic":"PNG image data, 280 x 100, 8-bit/color RGBA, non-interlaced","md5":"e19e897af73d97018482aa1e0f78cdcc","sha1":"76f2342bdb0a4cf9a595c6822c79a04aaedba6d7","sha256":"b927b2e10953b20c99e848b6b9b101db928bf73193a0ec6a72e75aebad08662b","sha512":"18f4c4095a26f3c3a8cd3894ec86f1532e1096a9202f67f9db32712195fa033f6b19316137e945a9f53fae5190ac84b2525ad832b1d528bc5dcaa913722a4e4a","ssdeep":"","tlshash":"51612d68d9414ad117dcb3d514f341e149219980cddaa5b56fd8f8570a022f671178e7","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-08-01T11:22:31.017085Z","times_seen":242,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAARgAAABkCAYAAABdGS+CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMwODY1OTQxMTEyMjExRUFBMURGQzc4NkEwRkE0NDkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMwODY1OTQyMTEyMjExRUFBMURGQzc4NkEwRkE0NDkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzA4NjU5M0YxMTIyMTFFQUExREZDNzg2QTBGQTQ0OTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzA4NjU5NDAxMTIyMTFFQUExREZDNzg2QTBGQTQ0OTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7kEHJ/AAAJ6ElEQVR42uyd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"}},"time_used":1051,"timings":{"blocked":957,"dns":0,"connect":0,"send":0,"wait":94,"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":"huobiget.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/81072.2927a177231fdd0e24c1.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.418Z","timestamp":1785136901418,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81072.2927a177231fdd0e24c1.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-40c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 16c07c4f19029eeb255a37bcf332cac8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1036,"size_decoded":1218,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1036), with no line terminators","md5":"e625e6a9b3d1d0e7872454941e3a0f3c","sha1":"c4b93e2d6c31cccd6e1572e5faff07bd3456556c","sha256":"ff2fab41e51936266791aedf3104809dd2780906b7303dfdf954afe900eecaa2","sha512":"b6c94e5b14cef72a123c0b05f0efd06b022618632b6adfd3bda53ab30eb0b05b5bafc56a4dee63cec63f5606c2d69be7bbd4d52c7cfcba473b133495be1ac97a","ssdeep":"","tlshash":"0511872af08015a0b4bfcb384b14d3a9003190a29ea223ed77a0bcb18bc17b945d1008","first_seen":"2026-07-16T13:40:49.881902Z","last_seen":"2026-08-10T05:01:44.264641Z","times_seen":584,"resource_available":false,"data":"Lm1lbnVXcmFwLWxCSXhJd3R6e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Ym9yZGVyLXJhZGl1czo2cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7Ym94LXNpemluZzpib3JkZXItYm94O3RleHQtYWxpZ246c3RhcnQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7ei1pbmRleDoxMDB9Lm1lbnVXcmFwLWxCSXhJd3R6LmlzTWVhc3VyaW5nLWxCSXhJd3R6e29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmZpeGVkO3Zpc2liaWxpdHk6aGlkZGVufS5tZW51V3JhcC1sQkl4SXd0ejpmb2N1c3tvdXRsaW5lOm5vbmV9LnNjcm9sbFdyYXAtbEJJeEl3dHp7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvfS5zY3JvbGxXcmFwLWxCSXhJd3R6Lm1vbWVudHVtQmFzZWQtbEJJeEl3dHp7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LnNjcm9sbFdyYXAtbEJJeEl3dHo6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo1cHg7d2lkdGg6NXB4fS5zY3JvbGxXcmFwLWxCSXhJd3R6Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS5zY3JvbGxXcmFwLWxCSXhJd3R6Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbFdyYXAtbEJJeEl3dHo6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9Lm1lbnVCb3gtbEJJeEl3dHp7cGFkZGluZzo2cHggMH0uaXNIaWRkZW4tbEJJeEl3dHp7ZGlzcGxheTpub25lfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42033.924dab781e4477f951bf.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.491Z","timestamp":1785136901491,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42033.924dab781e4477f951bf.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-546\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 07c0aa9515880d8abf0a0e5cb957a723\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1350,"size_decoded":1336,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1350), with no line terminators","md5":"7c98cca7bd0ab83d00f5ad750cd683ff","sha1":"7a89c6639d621619d89ea005dbf2d00101a5da91","sha256":"4f175a5b3d47d9a959efb2afb182e6fdfe4188f1e5c50966f20d7a3c7f907de3","sha512":"c05bf66db7c0da939f8bdde39e4f9f9a3863dc04077d392f374562d984d5c23208f02a5141d9dd4b1b29dc9a4cbb3b12beeccb4507174a7ac4e5c8a215037f35","ssdeep":"","tlshash":"0621a268f28972ae9913e47f5b48a7ed1a55fc03d8025bd1f706912848ca7e711b1b8c","first_seen":"2026-06-30T21:57:43.291297Z","last_seen":"2026-07-28T06:17:53.537063Z","times_seen":228,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTFdkZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxXZGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi1MV2RkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTFdkZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8xLUxXZGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi1MV2RkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS5pdGVtLVBCdHJ6WkNhe2FsbDp1bnNldDthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tXzAtTFdkZCk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87aGVpZ2h0OjEwMCU7cGFkZGluZzowIDNweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9Lml0ZW0tUEJ0cnpaQ2E6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTowO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOmF1dG87b3V0bGluZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkgbm9uZSAycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MjhweDt6LWluZGV4Oi0xfS5pdGVtLVBCdHJ6WkNhOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1MV2RkKTtjb250ZW50OiIifUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1QQnRyelpDYTpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1MV2RkKTtjb250ZW50OiIifX0uaXRlbS1QQnRyelpDYS5hY2Nlc3NpYmxlLVBCdHJ6WkNhOmZvY3VzLXZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IiI7b3V0bGluZS1zdHlsZTpzb2xpZH0ucm91bmQtUEJ0cnpaQ2F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLV8xLUxXZGQpO2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvO2ZvbnQtc2l6ZToxMHB4O2hlaWdodDoyMHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MjBweDstLXR2LWxlYWRpbmctZW1vamktc2l6ZToxMnB4fS5hY3RpdmUtUEJ0cnpaQ2F7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5808.f4800fa9246f404621ee.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.527Z","timestamp":1785136901527,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5808.f4800fa9246f404621ee.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2fe65\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: df517e4766b27c7f66ab44bd74db34ad\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":196197,"size_decoded":57470,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"a42e731f659fd23cc846fd90733fa22d","sha1":"a69e6df547aeb0964b5451ccfff0fec9703fbc6a","sha256":"fd721044f40446ca3ab1b478372b4b3034a3345ec03c626e1fe2f2b651cacdf0","sha512":"0364a69a0cf76f3925709f12c0a99bdbc8ad070fc9be0d8000eb0a227f26f4281051036b7118c8f8a747e61921f63669c785bb607f506ef1a1e602e472fb9dad","ssdeep":"3072:TTXg/EZYyk/ubQwm+HxiXEPx7CfJ3pVgk822xZgN9u7lUbjAvDWnSO8IMiL5K:TmEZYT/ubQwm+HxiXyx7CfJ3pVgk822F","tlshash":"71143a507318a44c59cb51aaca3a0956e39e629cf485407cf9fcddfc21e9d89e13e738","first_seen":"2026-07-24T11:36:48.024996Z","last_seen":"2026-07-28T06:17:53.588069Z","times_seen":101,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODA4LDQxMzI4LDY0NjQ0LDk0NTYwXSx7OTE0NDg3KGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBhPXt9Lmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGkoKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtpZihuKXt2YXIgbz10eXBlb2YgbjtpZigic3RyaW5nIj09PW98fCJudW1iZXIiPT09byllLnB1c2gobik7ZWxzZSBpZihBcnJheS5pc0FycmF5KG4pJiZuLmxlbmd0aCl7dmFyIHM9aS5hcHBseShudWxsLG4pO3MmJmUucHVzaChzKX1lbHNlIGlmKCJvYmplY3QiPT09bylmb3IodmFyIGwgaW4gbilhLmNhbGwobixsKSYmbltsXSYmZS5wdXNoKGwpfX1yZXR1cm4gZS5qb2luKCIgIil9ZS5leHBvcnRzPyhpLmRlZmF1bHQ9aSxlLmV4cG9ydHM9aSk6dm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gaX0uYXBwbHkodCxbXSkpfHwoZS5leHBvcnRzPW4pfSgpfSw4NjQ3MzYoZSl7ZS5leHBvcnRzPXtjb250ZXh0QWN0aW9uczoiY29udGV4dEFjdGlvbnMtdUJKaGpVVjgiLGhpZGVJZk5vSG92ZXI6ImhpZGVJZk5vSG92ZXItdUJKaGpVVjgiLHNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZDoic29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkLXVCSmhqVVY4In19LDkwNDQzNChlKXtlLmV4cG9ydHM9e2Zvb3RlcjoiZm9vdGVyLVlCSk16QV9sIn19LDU0MDU5NShlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLWhEdElveGpVIixncm91cDoiZ3JvdXAtaER0SW94alUiLG1lbnU6Im1lbnUtaER0SW94alUiLGJldGFCYWRnZToiYmV0YUJhZGdlLWhEdElveGpVIixuZXdCYWRnZToibmV3QmFkZ2UtaER0SW94alUiLGxhYmVsOiJsYWJlbC1oRHRJb3hqVSIsY29udGFpbmVyOiJjb250YWluZXItaER0SW94alUiLG5ld1ZpZXc6Im5ld1ZpZXctaER0SW94alUiLGRlc2t0b3A6ImRlc2t0b3AtaER0SW94alUifX0sNzExMjgzKGUpe2UuZXhwb3J0cz17Y3VzdG9tVHJhZGluZ1ZpZXdTdHlsZUJ1dHRvbjoiY3VzdG9tVHJhZGluZ1ZpZXdTdHlsZUJ1dHRvbi1FMnY3V2J1biIsd2l0aG91dEljb246IndpdGhvdXRJY29uLUUydjdXYnVuIn19LDg4OTgwOShlKXtlLmV4cG9ydHM9e2Ryb3Bkb3duOiJkcm9wZG93bi1NYndCTVdEeSIsbmV3VmlldzoibmV3Vmlldy1NYndCTVdEeSIsc21hbGxXaWR0aFdyYXBwZXI6InNtYWxsV2lkdGhXcmFwcGVyLU1id0JNV0R5IixtZW51OiJtZW51LU1id0JNV0R5IixsYWJlbDoibGFiZWwtTWJ3Qk1XRHkiLHNtYWxsV2lkdGhUaXRsZToic21hbGxXaWR0aFRpdGxlLU1id0JNV0R5IixzbWFsbFdpZHRoTWVudUl0ZW06InNtYWxsV2lkdGhNZW51SXRlbS1NYndCTVdEeSJ9fSw3MTk5KGUpe2UuZXhwb3J0cz17c21hbGxUYWJsZXRTZWN0aW9uVGl0bGU6InNtYWxsVGFibGV0U2VjdGlvblRpdGxlLW91SkpzVlU2In19LDI1MTcyMyhlKXtlLmV4cG9ydHM9e3ZhbHVlOiJ2YWx1ZS1kcjN2R2luVCIsc2VsZWN0ZWQ6InNlbGVjdGVkLWRyM3ZHaW5UIn19LDk3MzY5KGUpe2UuZXhwb3J0cz17c21hbGxXaWR0aE1lbnVJdGVtOiJzbWFsbFdpZHRoTWVudUl0ZW0tcldCY2Qxak0iLG1lbnVJdGVtOiJtZW51SXRlbS1yV0JjZDFqTSIscmVtb3ZlOiJyZW1vdmUtcldCY2Qxak0iLHNpZ25hbDoic2lnbmFsLXJXQmNkMWpNIiwiaGlnaGxpZ2h0LWFuaW1hdGlvbiI6ImhpZ2hsaWdodC1hbmltYXRpb24tcldCY2Qxak0ifX0sNjU3ODA5KGUpe2UuZXhwb3J0cz17c2VjdGlvbjoic2VjdGlvbi1DcVBRQmc0WiIsYWRkQ3VzdG9tSW50ZXJ2YWw6ImFkZEN1c3RvbUludGVydmFsLUNxUFFCZzRaIixhZGRDdXN0b21JbnRlcnZhbERlc2t0b3A6ImFkZEN1c3RvbUludGVydmFsRGVza3RvcC1DcVBRQmc0WiJ9fSw0NTAyNzEoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1VOWIwVEFzNCIsbWVudUJ0bjoibWVudUJ0bi1VOWIwVEFzNCIsZHJvcGRvd246ImRyb3Bkb3duLVU5YjBUQXM0IixuZXdWaWV3OiJuZXdWaWV3LVU5YjBUQXM0IixkZXNrdG9wOiJkZXNrdG9wLVU5YjBUQXM0IixtZW51Q29udGVudDoibWVudUNvbnRlbnQtVTliMFRBczQiLGdyb3VwOiJncm91cC1VOWIwVEFzNCJ9fSw5OTAwMTQoZSl7ZS5leHBvcnRzPXtyb3c6InJvdy1YNlMwM09WaiIscm93SW5uZXI6InJvd0lubmVyLVg2UzAzT1ZqIixzbWFsbFJvdzoic21hbGxSb3ctWDZTMDNPVmoiLHJvd0xhYmVsOiJyb3dMYWJlbC1YNlMwM09WaiIsc21hbGxSb3dMYWJlbDoic21hbGxSb3dMYWJlbC1YNlMwM09WaiIscm93QnV0dG9uczoicm93QnV0dG9ucy1YNlMwM09WaiIsbGF5b3V0QnV0dG9uV3JhcDoibGF5b3V0QnV0dG9uV3JhcC1YNlMwM09WaiIsYWNjZXNzaWJsZToiYWNjZXNzaWJsZS1YNlMwM09WaiIsc21hbGxXaWR0aDoic21hbGxXaWR0aC1YNlMwM09WaiIsbGF5b3V0QnV0dG9uOiJsYXlvdXRCdXR0b24tWDZTMDNPVmoiLGhvdmVyZWQ6ImhvdmVyZWQtWDZTMDNPVmoiLGlzQWN0aXZlOiJpc0FjdGl2ZS1YNlMwM09WaiIsc21hbGxXaWR0aExheW91dEJ1dHRvbjoic21hbGxXaWR0aExheW91dEJ1dHRvbi1YNlMwM09WaiIsbGF5b3V0QnV0dG9uczoibGF5b3V0QnV0dG9ucy1YNlMwM09WaiJ9fSw0NTY1MjUoZSl7ZS5leHBvcnRzPXt0b2dnbGVyOiJ0b2dnbGVyLXA1R2kyaEkxIixob3ZlcmVkOiJob3ZlcmVkLXA1R2kyaEkxIixsYWJlbDoibGFiZWwtcDVHaTJoSTEiLGNlbnRlcmVkOiJjZW50ZXJlZC1wNUdpMmhJMSIsY2hlY2tlZDoiY2hlY2tlZC1wNUdpMmhJMSIsc3dpdGNoZXJMYWJlbDoic3dpdGNoZXJMYWJlbC1wNUdpMmhJMSJ9fSw0NTI2MTcoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1QVkx4S2hJSSIsZHJvcGRvd246ImRyb3Bkb3duLVBWTHhLaElJIixsYXlvdXRUeXBlOiJsYXlvdXRUeXBlLVBWTHhLaElJIix0aXRsZToidGl0bGUtUFZMeEtoSUkiLHN5bmNDaGFydHM6InN5bmNDaGFydHMtUFZMeEtoSUkiLG1vYmlsZToibW9iaWxlLVBWTHhLaElJIix0YWJsZXRXcmFwcGVyOiJ0YWJsZXRXcmFwcGVyLVBWTHhLaElJIiwKaWNvbjoiaWNvbi1QVkx4S2hJSSIsc3luY0xpc3RXcmFwcGVyOiJzeW5jTGlzdFdyYXBwZXItUFZMeEtoSUkiLHN3aXRjaGVyOiJzd2l0Y2hlci1QVkx4S2hJSSIsc3dpdGNoTGFiZWxXcmFwOiJzd2l0Y2hMYWJlbFdyYXAtUFZMeEtoSUkiLHN3aXRjaExhYmVsOiJzd2l0Y2hMYWJlbC1QVkx4S2hJSSIsaWNvbldyYXA6Imljb25XcmFwLVBWTHhLaElJIixpbmZvSWNvbjoiaW5mb0ljb24tUFZMeEtoSUkiLGFjY2Vzc2libGVMYWJlbDoiYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJIn19LDg1NTEwNyhlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLXdvSzNWeG1tIn19LDQzNTQ0NyhlKXtlLmV4cG9ydHM9e2Z1bGw6ImZ1bGwtdV9SQXBuaU4iLGxhc3Q6Imxhc3QtdV9SQXBuaU4iLG1lZGl1bToibWVkaXVtLXVfUkFwbmlOIn19LDExNDMwNyhlKXtlLmV4cG9ydHM9e3BvcHVwSXRlbVJvd1RhYmxldFNtYWxsOiJwb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbC1FWEdfMGhhSiIsbGF5b3V0SXRlbToibGF5b3V0SXRlbS1FWEdfMGhhSiIsbGF5b3V0TWV0YToibGF5b3V0TWV0YS1FWEdfMGhhSiIsdG9vbGJveDoidG9vbGJveC1FWEdfMGhhSiIsdG9vbGJveFNtYWxsOiJ0b29sYm94U21hbGwtRVhHXzBoYUoiLGxheW91dFRpdGxlOiJsYXlvdXRUaXRsZS1FWEdfMGhhSiIsbGF5b3V0SXRlbVdyYXA6ImxheW91dEl0ZW1XcmFwLUVYR18waGFKIixsYXlvdXRJdGVtV3JhcFNtYWxsOiJsYXlvdXRJdGVtV3JhcFNtYWxsLUVYR18waGFKIixsYXlvdXRUaXRsZVNtYWxsOiJsYXlvdXRUaXRsZVNtYWxsLUVYR18waGFKIixlbGxpcHNpczoiZWxsaXBzaXMtRVhHXzBoYUoifX0sNzYxMTc1KGUpe2UuZXhwb3J0cz17c2hhcmluZ0xhYmVsV3JhcDoic2hhcmluZ0xhYmVsV3JhcC1fVUNsUVR0NiIsdGl0bGVTaGFyaW5nTGFiZWw6InRpdGxlU2hhcmluZ0xhYmVsLV9VQ2xRVHQ2IixpY29uV3JhcDoiaWNvbldyYXAtX1VDbFFUdDYiLGluZm9JY29uOiJpbmZvSWNvbi1fVUNsUVR0NiIsYWNjZXNzaWJsZUxhYmVsOiJhY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDYiLGhpbnQ6ImhpbnQtX1VDbFFUdDYifX0sNDY1MDY0KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24td19nREtuN08iLGlzRGlzYWJsZWQ6ImlzRGlzYWJsZWQtd19nREtuN08ifX0sNDcwOTAxKGUpe2UuZXhwb3J0cz17bWVudUJ0bldyYXA6Im1lbnVCdG5XcmFwLXphcExoMHJSIixtZW51OiJtZW51LXphcExoMHJSIixuZXdNZW51V3JhcHBlcjoibmV3TWVudVdyYXBwZXItemFwTGgwclIiLGRlc2t0b3A6ImRlc2t0b3AtemFwTGgwclIiLG9wZW5lZDoib3BlbmVkLXphcExoMHJSIixob3ZlcjoiaG92ZXItemFwTGgwclIiLGNsaWNrZWQ6ImNsaWNrZWQtemFwTGgwclIiLGF1dG9TYXZlV3JhcHBlcjoiYXV0b1NhdmVXcmFwcGVyLXphcExoMHJSIixzaGFyaW5nV3JhcHBlcjoic2hhcmluZ1dyYXBwZXItemFwTGgwclIiLGJ1dHRvbjoiYnV0dG9uLXphcExoMHJSIixidXR0b25TbWFsbFBhZGRpbmc6ImJ1dHRvblNtYWxsUGFkZGluZy16YXBMaDByUiIsaGludFBsYWNlSG9sZGVyOiJoaW50UGxhY2VIb2xkZXItemFwTGgwclIiLHNtYWxsSGludFBsYWNlSG9sZGVyOiJzbWFsbEhpbnRQbGFjZUhvbGRlci16YXBMaDByUiIscG9wdXBJdGVtUm93VGFibGV0U21hbGw6InBvcHVwSXRlbVJvd1RhYmxldFNtYWxsLXphcExoMHJSIixzaG9ydGN1dDoic2hvcnRjdXQtemFwTGgwclIiLHRvb2xUaXRsZToidG9vbFRpdGxlLXphcExoMHJSIix0b29sVGl0bGVNb2JpbGU6InRvb2xUaXRsZU1vYmlsZS16YXBMaDByUiIsdGV4dFdyYXA6InRleHRXcmFwLXphcExoMHJSIix0ZXh0OiJ0ZXh0LXphcExoMHJSIix3aXRoSWNvbjoid2l0aEljb24temFwTGgwclIiLHN3aXRjaGVyTGFiZWw6InN3aXRjaGVyTGFiZWwtemFwTGgwclIiLGVsbGlwc2lzOiJlbGxpcHNpcy16YXBMaDByUiJ9fSwxMTc3MjkoZSl7ZS5leHBvcnRzPXtuZXdWaWV3OiJuZXdWaWV3LXA1QW5HMEdPIixkZXNrdG9wOiJkZXNrdG9wLXA1QW5HMEdPIn19LDk4ODQxNihlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLW80MHQ5TDVuIixzbWFsbExlZnRQYWRkaW5nOiJzbWFsbExlZnRQYWRkaW5nLW80MHQ5TDVuIix0ZXh0OiJ0ZXh0LW80MHQ5TDVuIixzZWFyY2hCdXR0b246InNlYXJjaEJ1dHRvbi1vNDB0OUw1biIsbWVudU9wZW5lZDoibWVudU9wZW5lZC1vNDB0OUw1biIsdXBwZXJjYXNlOiJ1cHBlcmNhc2UtbzQwdDlMNW4ifX0sODg3MDE4KGUpe2UuZXhwb3J0cz17ZGVzY3JpcHRpb246ImRlc2NyaXB0aW9uLWhWUzNJOXJzIn19LDc3MTk4MyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtckJ0RWZaUUkiLHRpdGxlV3JhcDoidGl0bGVXcmFwLXJCdEVmWlFJIixpbmRpY2F0b3JzOiJpbmRpY2F0b3JzLXJCdEVmWlFJIix0aXRsZToidGl0bGUtckJ0RWZaUUkiLGljb246Imljb24tckJ0RWZaUUkiLHRleHQ6InRleHQtckJ0RWZaUUkiLHRpdGxlVGFibGV0U21hbGw6InRpdGxlVGFibGV0U21hbGwtckJ0RWZaUUkiLGxhYmVsUm93OiJsYWJlbFJvdy1yQnRFZlpRSSIsbGFiZWw6ImxhYmVsLXJCdEVmWlFJIn19LDc4Mzc4MShlKXtlLmV4cG9ydHM9e21lbnU6Im1lbnUtc1dQMlhXQTAiLG5ld1ZpZXc6Im5ld1ZpZXctc1dQMlhXQTAiLGRlc2t0b3A6ImRlc2t0b3Atc1dQMlhXQTAiLG1lbnVTbWFsbFRhYmxldDoibWVudVNtYWxsVGFibGV0LXNXUDJYV0EwIixtZW51SXRlbUhlYWRlclRhYmxldFNtYWxsOiJtZW51SXRlbUhlYWRlclRhYmxldFNtYWxsLXNXUDJYV0EwIixtZW51SXRlbUhlYWRlcjoibWVudUl0ZW1IZWFkZXItc1dQMlhXQTAifX0sMjU3NjkxKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1ISjdTM1A0OSIsZnVsbDoiZnVsbC1ISjdTM1A0OSIsZmlyc3Q6ImZpcnN0LUhKN1MzUDQ5IixsYXN0OiJsYXN0LUhKN1MzUDQ5IixtZWRpdW06Im1lZGl1bS1ISjdTM1A0OSIsYnV0dG9uV2l0aEZhdm9yaXRlczoiYnV0dG9uV2l0aEZhdm9yaXRlcy1ISjdTM1A0OSJ9fSw1NzA2ODMoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLW9ORGlRQ21OIn19LDE4OTUzMChlKXtlLmV4cG9ydHM9e3N1bW1hcnk6InN1bW1hcnktRTZ0eklRa1IiLApob3ZlcmVkOiJob3ZlcmVkLUU2dHpJUWtSIixjYXJldDoiY2FyZXQtRTZ0eklRa1IifX0sNjI1MTU2KGUpe2UuZXhwb3J0cz17Y29weUxpbms6ImNvcHlMaW5rLWUzQlptWlhIIixjb3B5TGlua01vYmlsZToiY29weUxpbmtNb2JpbGUtZTNCWm1aWEgiLGFjY2Vzc2libGVMYWJlbDoiYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIIn19LDc1ODg4MihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tUEJ0cnpaQ2EiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtUEJ0cnpaQ2EiLHJvdW5kOiJyb3VuZC1QQnRyelpDYSIsYWN0aXZlOiJhY3RpdmUtUEJ0cnpaQ2EifX0sMzYzODA4KGUpe2UuZXhwb3J0cz17YWNjZXNzaWJsZToiYWNjZXNzaWJsZS1tRUdaQmZ1TCJ9fSw1ODcwOTQoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1yMHBvUnYwUiIsYWN0aXZlOiJhY3RpdmUtcjBwb1J2MFIifX0sNTczNDUwKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLXRzVG9ic3lwIn19LDk0MTkxOChlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLUk4ckFuWFRSIix3aXRoVGV4dDoid2l0aFRleHQtSThyQW5YVFIiLHdpdGhvdXRUZXh0OiJ3aXRob3V0VGV4dC1JOHJBblhUUiJ9fSw2NjE1MChlKXtlLmV4cG9ydHM9e3NwaW5uZXJXcmFwOiJzcGlubmVyV3JhcC1aWnR1RklQcCJ9fSw1MDY4MzgoZSl7ZS5leHBvcnRzPXt3cmFwOiJ3cmFwLVVmREd5aDVLIn19LDE2NTQxMihlKXtlLmV4cG9ydHM9e2xhYmVsUm93OiJsYWJlbFJvdy1fdVhqU1NRNSIsdG9vbGJveDoidG9vbGJveC1fdVhqU1NRNSIsZGVzY3JpcHRpb246ImRlc2NyaXB0aW9uLV91WGpTU1E1IixkZXNjcmlwdGlvblRhYmxldFNtYWxsOiJkZXNjcmlwdGlvblRhYmxldFNtYWxsLV91WGpTU1E1IixpdGVtOiJpdGVtLV91WGpTU1E1Iix0aXRsZUl0ZW06InRpdGxlSXRlbS1fdVhqU1NRNSIscmVtb3ZlOiJyZW1vdmUtX3VYalNTUTUiLGFjdGl2ZToiYWN0aXZlLV91WGpTU1E1Iix0aXRsZUl0ZW1UYWJsZXRTbWFsbDoidGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTUiLGl0ZW1UYWJsZXRTbWFsbDoiaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1IixpdGVtTGFiZWxUYWJsZXRTbWFsbDoiaXRlbUxhYmVsVGFibGV0U21hbGwtX3VYalNTUTUiLHdyYXA6IndyYXAtX3VYalNTUTUiLGhvdmVyZWQ6ImhvdmVyZWQtX3VYalNTUTUifX0sMTc2NDMyKGUpe2UuZXhwb3J0cz17c3RhdGVUaXRsZToic3RhdGVUaXRsZS1ya3ZrRll6MiIsaGlkZGVuOiJoaWRkZW4tcmt2a0ZZejIiLGxvYWRlcjoibG9hZGVyLXJrdmtGWXoyIn19LDQ0NDU1MChlKXtlLmV4cG9ydHM9e2NvbnRhaW5lcjoiY29udGFpbmVyLUpRWjBIS0Q0IixidXR0b246ImJ1dHRvbi1KUVowSEtENCIsdmFsdWU6InZhbHVlLUpRWjBIS0Q0IixhY3Rpb246ImFjdGlvbi1KUVowSEtENCIsaWNvbjoiaWNvbi1KUVowSEtENCJ9fSw1NDEyMTIoZSl7ZS5leHBvcnRzPXttZW51OiJtZW51LVR6ODRvUGVRIn19LDk5NTg1MShlKXtlLmV4cG9ydHM9e2Vtb2ppV3JhcDoiZW1vamlXcmFwLVIyQ1RwbUhyIixlbW9qaToiZW1vamktUjJDVHBtSHIiLHRvb2x0aXBFbW9qaToidG9vbHRpcEVtb2ppLVIyQ1RwbUhyIix0b29sdGlwRW1vamlXcmFwOiJ0b29sdGlwRW1vamlXcmFwLVIyQ1RwbUhyIn19LDg0NDg3MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTZWN0aW9uTGlzdEl0ZW06KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkzNTUzNSksbz1uKDE0NzkwMSkscz1uKDM0NTExNik7ZnVuY3Rpb24gbChlKXtjb25zdHtpZDp0LHRpdGxlOm4sY2hpbGRyZW46bCxpdGVtUm9sZTpyLGFyaWFMYWJlbDpkLHJpZ2h0U2xvdDp1LHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmMsZGF0YVFhSWQ6aCxvbkNsaWNrOnYsb25LZXlEb3duOm0saXNXcmFwcGVkOnAsLi4uZn09ZSxnPSgwLHMuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZiksYj0oMCxhLnVzZUlkKSgpLHc9KDAsYS51c2VJZCkoKSxDPXZvaWQgMCE9PW47cmV0dXJuIGEuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsQyYmYS5jcmVhdGVFbGVtZW50KGkuVGl0bGVMaXN0SXRlbSx7ZGF0YVFhSWQ6KDAsby5jb25jYXRJZk5vdE51bGwpKGAke28uVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWxpc3Qtc2VjdGlvbi10aXRsZWAsaCksaWQ6dCx0aXRsZTpuLHJvbGU6cixyaWdodFNsb3Q6dSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpjLGFyaWFMYWJlbDpkLHZhcmlhbnQ6InNlY29uZGFyeSIsYXJpYUNvbnRyb2xzOnZvaWQgMCE9PXA/dzp2b2lkIDAsdGl0bGVJZDpiLHdyYXBwZWQ6cCxvbkNsaWNrOnYsb25LZXlEb3duOm0sLi4uZ30pLGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsbGVkYnkiOmIsaWQ6dywiZGF0YS1xYS1pZCI6KDAsby5jb25jYXRJZk5vdE51bGwpKGAke28uVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWxpc3Qtc2VjdGlvbi1jb250ZW50YCxoKX0sIXAmJmwpKX19LDQyMjc3NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VIb3Jpem9udGFsTWVudUtleWJvYXJkTmF2aWdhdGlvbjooKT0+ZH0pO3ZhciBhPW4oOTg4MDY4KSxpPW4oNDQ1NDkzKSxvPW4oODA3ODczKSxzPW4oMjg0NjkwKTtjb25zdCBsPWBbJHthLkRBVEFfSVNfQ09OVEVYVF9BQ1RJT059XWAscj1vLkNPTlRFWFRfQUNUSU9OX0ZPQ1VTQUJMRV9UQUdTLm1hcCgoZT0+YCR7bH0gJHtlfWApKS5qb2luKCIsIiksZD0oKT0+e2NvbnN0e2lzUnRsOmV9PSgwLGkudXNlUG9wb3ZlckNvbnRleHQpKCk7cmV0dXJuKDAscy5nZXRMaW5lYXJLZXlib2FyZE5hdmlnYXRpb24pKHIrYCxbJHthLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTn1dYCx7aG9yaXpvbnRhbDohMCxpc1J0bDplLGFsbG93TmVzdGVkRm9jdXNhYmxlOiEwfSl9fSw4MDc4NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q09OVEVYVF9BQ1RJT05fRk9DVVNBQkxFX1RBR1M6KCk9PmMsQ29udGV4dEFjdGlvbjooKT0+dn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oMjk2Nzg2KSxsPW4oOTg4MDY4KSxyPW4oODY0NzM2KSxkPW4ubihyKTtjb25zdCB1PXsKW2wuREFUQV9JU19DT05URVhUX0FDVElPTl06ITB9LGM9WyJhW2hyZWZdIiwiYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIiwiaW5wdXQ6bm90KDpkaXNhYmxlZCkiLCdbcm9sZT0iYnV0dG9uIl0nXSxoPWMuam9pbigiLCIpO2Z1bmN0aW9uIHYoZSl7Y29uc3R7Y2hpbGRyZW46dCxkYXRhUWFJZDpuLHByZXZlbnRDbGlja1Byb3BhZ2F0aW9uOmk9ITB9PWUse2lkOmwsaGlkZUNvbnRleHRBY3Rpb25zSWZOb0hvdmVyOnIsZm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpjLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6dn09KDAscy51c2VDb250ZXh0QWN0aW9uKSgpLG09KDAsYS51c2VSZWYpKG51bGwpO3JldHVybigwLGEudXNlRWZmZWN0KSgoKCk9Pntjb25zdCBlPW0uY3VycmVudDtpZighZSlyZXR1cm47Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoaCk7cmV0dXJuIHQ/ZnVuY3Rpb24oZSx0KXtjb25zdCBuPSgpPT57dCgoZT0+ZSsxKSl9LGE9KCk9Pnt0KChlPT5lLTEpKX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLG4pLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsYSksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixuKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGEpfX0odCx2KTp2b2lkIDB9KSxbdCx2XSksYS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Li4udSxpZDpsLHJlZjptLG9uQ2xpY2s6ZT0+e2kmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LGNsYXNzTmFtZTpvKCkoZCgpLmNvbnRleHRBY3Rpb25zLHImJmQoKS5oaWRlSWZOb0hvdmVyLGM+MCYmZCgpLnNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZCksImRhdGEtcWEtaWQiOm59LHQpfX0sMjk2Nzg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUNvbnRleHRBY3Rpb246KCk9PnMsdXNlV3JhcHBlZEludG9Db250ZXh0QWN0aW9uc0NvbnRleHQ6KCk9Pm99KTt2YXIgYT1uKDc3OTQ3NCk7Y29uc3QgaT0oMCxhLmNyZWF0ZUNvbnRleHQpKHtzZXRJZHM6KCk9Pnt9LGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3ZlcjohMSxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOjAsc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjooKT0+e319KTtmdW5jdGlvbiBvKGUsdCxuKXtjb25zdFtvLHNdPSgwLGEudXNlU3RhdGUpKDApLGw9KDAsYS51c2VNZW1vKSgoKCk9Pih7Zm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpvLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6cyxzZXRJZHM6dCxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6ISFufSkpLFtvLHMsdCxuXSk7cmV0dXJuKDAsYS51c2VNZW1vKSgoKCk9PmU/YS5jcmVhdGVFbGVtZW50KGkuUHJvdmlkZXIse3ZhbHVlOmx9LGUpOnZvaWQgMCksW2UsbF0pfWZ1bmN0aW9uIHMoKXtjb25zdHtzZXRJZHM6ZSxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6dCxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOm4sc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpvfT0oMCxhLnVzZUNvbnRleHQpKGkpLHM9KDAsYS51c2VJZCkoKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKCgpPT4oZSgoZT0+Wy4uLmUsc10pKSwoKT0+e2UoKGU9PmUuZmlsdGVyKChlPT5lIT09cykpKSl9KSksW2Usc10pLHtpZDpzLGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3Zlcjp0LGZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6bixzZXRGb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOm99fX0sMzkxOTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NlY3Rpb25Qb3BvdmVySXRlbTooKT0+cn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNDQ1NDkzKSxvPW4oODQ0ODcxKSxzPW4oOTg4MDY4KSxsPW4oNDIyNzc3KTtmdW5jdGlvbiByKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixjaGlsZHJlbjpyLGl0ZW1Sb2xlOmQsd3JhcHBhYmxlOnUsZGVmYXVsdFdyYXBwZWQ6YyxvbldyYXBwZWRDaGFuZ2VkOmgsYXJpYUxhYmVsOnYscmlnaHRTbG90Om0scmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6cCxkYXRhUWFJZDpmfT1lLFtnLGJdPSgwLGEudXNlU3RhdGUpKGM/PyExKSx7b25LZXlEb3duOnd9PSgwLGwudXNlSG9yaXpvbnRhbE1lbnVLZXlib2FyZE5hdmlnYXRpb24pKCksQz1ufHx2b2lkIDAse29uUG9wb3ZlckNvbnRlbnRSZXNpemU6X309KDAsaS51c2VQb3BvdmVyQ29udGV4dCkoKTsoMCxhLnVzZUxheW91dEVmZmVjdCkoKCgpPT57Xz8uKCl9KSxbXyxnXSk7Y29uc3QgeT0oMCxhLnVzZUNhbGxiYWNrKSgoKCk9PntiKChlPT57Y29uc3QgdD0hZTtyZXR1cm4gaD8uKHQpLHR9KSl9KSxbaF0pO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLGEuY3JlYXRlRWxlbWVudChvLlNlY3Rpb25MaXN0SXRlbSx7aWQ6dCx0aXRsZTpDLGNoaWxkcmVuOnIsaXRlbVJvbGU6ZCxhcmlhTGFiZWw6dixyaWdodFNsb3Q6bSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpwLGRhdGFRYUlkOmYsaXNXcmFwcGVkOnU/Zzp2b2lkIDAsb25DbGljazp1P3k6dm9pZCAwLG9uS2V5RG93bjp3LFtzLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTl06dXx8bT8idHJ1ZSI6dm9pZCAwfSkpfX0sOTIwNjMxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dEZXJpdmF0aXZlc0RpYWxvZzooKT0+aX0pO3ZhciBhPW4oODkwODM1KTtmdW5jdGlvbiBpKGUpe2EuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJkZXJpdmF0aXZlcyIsZSl9fSw5MTYxMjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U3R1ZHlQYWNrYWdlTmFtZTooKT0+b30pO3ZhciBhPW4oNzkxNDI3KSxpPW4oNjMyNDQ0KTtmdW5jdGlvbiBvKGUsdCl7aWYodD8uaXNDaGFydFBhdHRlcm4pcmV0dXJuInR2LWNoYXJ0X3BhdHRlcm5zIjtpZih0Py5pc0F1dG8pcmV0dXJuImF1dG8tc3RhbmRhcmQiO2lmKCFmdW5jdGlvbihlKXtyZXR1cm4oMCxpLmlzUGluZUlkU3RyaW5nKShlKX0oZSkpcmV0dXJuIGEuU3R1ZHlNZXRhSW5mby5nZXRQYWNrYWdlTmFtZShlKTtjb25zdCBuPSgwLGkuZXh0cmFjdFBpbmVJZCkoZSk7aWYobiYmKDAsCmkuaXNDdXN0b21QaW5lSWQpKG4pKXJldHVybiJTY3JpcHQkVVNFUiI7aWYobiYmKDAsaS5pc1B1Ymxpc2hlZFBpbmVJZCkobikpcmV0dXJuIlNjcmlwdCRQVUIiO2lmKG4mJigwLGkuaXNDYW5kbGVTdGlja0lkKShuKSlyZXR1cm4iY2FuZGxlc3RpY2stcGF0dGVybnMiO2lmKG4mJigwLGkuaXNTdGFuZGFyZFBpbmVJZCkobikpcmV0dXJuIlNjcmlwdCRTVEQiO2NvbnN0W29dPWUuc3BsaXQoIkAiKTtpZihvLmluY2x1ZGVzKCJfIikpe2NvbnN0IGU9IlNjcmlwdCQiLFt0XT1vLnNwbGl0KCJfIik7cmV0dXJuIHQuaW5jbHVkZXMoZSk/dDplK3R9cmV0dXJuIG99fSw4NDE2NTUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3ltYm9sU2VhcmNoRGlhbG9nRm9vdGVyOigpPT5sfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9big5MDQ0MzQpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY2hpbGRyZW46bn09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bygpKHMuZm9vdGVyLHQpfSxuKX19LDMzMDcyMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRSZXN0cmljdGVkVG9vbFNldDooKT0+RWl9KTt2YXIgYT1uKDkzMDIzMSksaT1uKDc3OTQ3NCksbz1uKDIyMTg5Nikscz1uKDkxNDQ4NyksbD1uLm4ocykscj1uKDI3MzMxMCksZD1uKDczMjczMSksdT1uKDE4NTI3MSksYz1uKDIyNTI5OCksaD1uKDc5ODM4KSx2PW4oMjY3MDI4KSxtPW4oNzcxMjg1KSxwPW4oODY0NjgxKSxmPW4oMjQ2NzI3KTtjbGFzcyBnIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9oYW5kbGVDbGljaz0oKT0+e2NvbnN0e29uQ2xpY2s6ZSxvbkNsaWNrQXJnOnR9PXRoaXMucHJvcHM7ZSYmZSh0KX19cmVuZGVyKCl7Y29uc3R7Y2xhc3NOYW1lOmUsaWNvbjp0LGhpbnQ6bix0ZXh0OmEsaXNEaXNhYmxlZDpvLGlzQWN0aXZlOnMsb25DbGljazpsLG9uQ2xpY2tBcmc6ciwuLi5kfT10aGlzLnByb3BzO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoZi5Ub29sYmFyQnV0dG9uLHsuLi5kLGljb246dCx0ZXh0OmEsdG9vbHRpcDpuLGlzRGlzYWJsZWQ6byxpc0FjdGl2ZTpzLGlzR3JvdXBlZDohMCxvbkNsaWNrOnRoaXMuX2hhbmRsZUNsaWNrLGNsYXNzTmFtZTplfSl9fXZhciBiPW4oNjE4NjcyKSx3PW4oNDA2MTEwKSxDPW4oNjA5NTI4KSxfPW4oMzkxNTA0KSx5PW4oNTY5NjUyKSxTPW4oNzAxNTA2KSx4PW4oMTI4OTk4KSxFPW4oODMzOTAzKSxNPW4oMjM1NzI0KSxrPW4oOTgzNjE2KSxJPW4oNjgyMzgxKTtmdW5jdGlvbiBUKGUpe2NvbnN0e29yaWVudGF0aW9uOnQsb25LZXlEb3duOm4sLi4uYX09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5hLHJvbGU6InJhZGlvZ3JvdXAiLCJhcmlhLW9yaWVudGF0aW9uIjp0LG9uS2V5RG93bjooMCxFLmNyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXIpKChmdW5jdGlvbihlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKCEoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlyZXR1cm47Y29uc3Qgbj0oMCxNLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCJ2ZXJ0aWNhbCIhPT10JiYzOCE9PW4mJjQwIT09bilyZXR1cm47aWYoInZlcnRpY2FsIj09PXQmJjM3IT09biYmMzkhPT1uKXJldHVybjtjb25zdCBhPShpPWUuY3VycmVudFRhcmdldCxBcnJheS5mcm9tKGkucXVlcnlTZWxlY3RvckFsbCgnW3JvbGU9InJhZGlvIl06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pJykpLmZpbHRlcigoMCxJLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShpKSkpLnNvcnQoay5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTt2YXIgaTtpZigwPT09YS5sZW5ndGgpcmV0dXJuO2NvbnN0IG89YS5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO2lmKC0xPT09bylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHM9KCk9Pntjb25zdCBlPShvK2EubGVuZ3RoLTEpJWEubGVuZ3RoO2Fbb10uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIpKSxhW2VdLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IikpLGFbZV0uZm9jdXMoKX0sbD0oKT0+e2NvbnN0IGU9KG8rYS5sZW5ndGgrMSklYS5sZW5ndGg7YVtvXS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IikpLGFbZV0uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSksYVtlXS5mb2N1cygpfTtzd2l0Y2gobil7Y2FzZSAzODoidmVydGljYWwiIT09dCYmcygpO2JyZWFrO2Nhc2UgNDA6InZlcnRpY2FsIiE9PXQmJmwoKTticmVhaztjYXNlIDM3OiJ2ZXJ0aWNhbCI9PT10JiZzKCk7YnJlYWs7Y2FzZSAzOToidmVydGljYWwiPT09dCYmbCgpfX0pLG4pfSl9dmFyIEE9big4NTAxMDgpLEg9big2MTkxMDUpLFY9big2Mzg4NzIpLFI9bigzMTMxMTApLEY9big5Nzk3NDIpLEw9bigxMDMxNjApLFo9big1OTA0ODYpLE49bigyMzQ2MzYpLHo9big3MDM4MTQpLEI9big1NDA1OTUpO2Z1bmN0aW9uIE8oZSl7Y29uc3R7aWQ6dCxpY29uOm4sbmFtZTphLGlzQmV0YVN0eWxlOm8saXNOZXdTdHlsZTpzLGlzU2VsZWN0ZWQ6bCxpc0Rpc2FibGVkOnIsaXNGYXZvcml0ZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dSxvbkNsaWNrOmMsb25DbGlja0Zhdm9yaXRlOnYsLi4ubX09ZSxwPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dih0KSksW3YsdF0pLGY9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5jKHQpKSxbYyx0XSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHsuLi5tLHJvbGU6InJvdyIsYXJpYUxldmVsOjEsc2l6ZToibGFyZ2UiLGFyaWFTZWxlY3RlZDpsLHNlbGVjdGVkOmwsZGlzYWJsZWQ6cixhcmlhTGFiZWw6YSxvbkNsaWNrOmYsCmxlZnRTbG90Om4/aS5jcmVhdGVFbGVtZW50KFYuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzpufSk6bnVsbCxyaWdodFNsb3Q6W3UmJmkuY3JlYXRlRWxlbWVudChMLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IWQscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRi5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6ISFkLG9uQ2xpY2s6cH0pKV0sdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6dT8yOjMsY2xhc3NOYW1lOkIubGFiZWx9LGEsbyYmaS5jcmVhdGVFbGVtZW50KFouQmFkZ2Use2NsYXNzTmFtZTpCLmJldGFCYWRnZSxzaXplOk4uQmFkZ2VTaXplLlhTbWFsbH0sIkJFVEEiKSxzJiZpLmNyZWF0ZUVsZW1lbnQoei5CYWRnZU5ldyx7Y2xhc3NOYW1lOkIubmV3QmFkZ2V9KSksImRhdGEtdmFsdWUiOmguU1RZTEVfU0hPUlRfTkFNRVNbdF0sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixkYXRhUWFJZDoiY2hhcnQtc3R5bGUtbWVudS1pdGVtIn0pfXZhciBEPW4oMjE2MDgzKTtjb25zdCBXPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtmdW5jdGlvbiBQKGUpe3JldHVybiFjLmxpbmtpbmcuc3VwcG9ydGVkQ2hhcnRTdHlsZXMudmFsdWUoKT8uaW5jbHVkZXMoZSl9Y29uc3QgVT0iSVRFTVNfRElWSURFUiIsaj1bWzAsMSw5LDE5LDIxXSxbMiwxNCwxNV0sWzMsMTYsMTBdLFsxMywxMl0sWzE3LDE4LDIwXSxbOCw0LDcsNSw2LDExXV0sSz1uZXcgU2V0KFtdKSxRPW5ldyBTZXQoW10pO2NsYXNzIHEgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZUNoYW5nZVN0eWxlPWU9Pntjb25zdHtmYXZvcml0ZXM6dCxsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTpuLGFjdGl2ZVN0eWxlOmF9PXRoaXMuc3RhdGU7dGhpcy5zZXRTdGF0ZSh7YWN0aXZlU3R5bGU6ZSxsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTp0LmluY2x1ZGVzKGEpP246YX0pfSx0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZT1lPT57Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnR9PXRoaXMuY29udGV4dDtlIT09dC5hY3RpdmVDaGFydFN0eWxlLnZhbHVlKCkmJnQuc2V0Q2hhcnRTdHlsZVRvV2lkZ2V0KGUpfSx0aGlzLl9oYW5kbGVDbGlja0Zhdm9yaXRlPWU9Pnt0aGlzLl9pc1N0eWxlRmF2b3JpdGVkKGUpP3RoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlKGUpOnRoaXMuX2hhbmRsZUFkZEZhdm9yaXRlKGUpfSx0aGlzLl9ib3VuZEZvcmNlVXBkYXRlPSgpPT57dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9oYW5kbGVRdWlja0NsaWNrPWU9Pnt0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZShlKSx0aGlzLl90cmFja0NsaWNrKCl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWQsZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6by5hbnkuaXNSZXF1aXJlZH0pO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpuLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOmF9PXQsaT1uLmFjdGl2ZUNoYXJ0U3R5bGUudmFsdWUoKSxzPWEuZ2V0KCksbD1uZXcgU2V0KCgwLFMuYWxsQ2hhcnRTdHlsZXMpKCkpO3RoaXMuc3RhdGU9e2FjdGl2ZVN0eWxlOmksZmF2b3JpdGVzOnMsc3R5bGVzOmoucmVkdWNlKCgoZSx0KT0+e2NvbnN0IG49dC5maWx0ZXIoKGU9PmwuaGFzKGUpKSk7cmV0dXJuIG4ubGVuZ3RoJiYoZS5sZW5ndGgmJm4udW5zaGlmdChVKSxlLnB1c2goLi4ubikpLGV9KSxbXSl9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmUsZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6dH09dGhpcy5jb250ZXh0O2UuYWN0aXZlQ2hhcnRTdHlsZS5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlU3R5bGUpLHQuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VTZXR0aW5ncyksYy5saW5raW5nLnN1cHBvcnRlZENoYXJ0U3R5bGVzLnN1YnNjcmliZSh0aGlzLl9ib3VuZEZvcmNlVXBkYXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOnR9PXRoaXMuY29udGV4dDtlLmFjdGl2ZUNoYXJ0U3R5bGUudW5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlU3R5bGUpLHQuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZVNldHRpbmdzKSxjLmxpbmtpbmcuc3VwcG9ydGVkQ2hhcnRTdHlsZXMudW5zdWJzY3JpYmUodGhpcy5fYm91bmRGb3JjZVVwZGF0ZSl9cmVuZGVyKCl7Y29uc3R7aXNTaG93blF1aWNrczplLGRpc3BsYXlNb2RlOnQ9ImZ1bGwiLGlkOm99PXRoaXMucHJvcHMse2FjdGl2ZVN0eWxlOnMsZmF2b3JpdGVzOmQsc3R5bGVzOmMsbGFzdFNlbGVjdGVkTm90RmF2b3JpdGU6Zn09dGhpcy5zdGF0ZSxiPSJzbWFsbCIhPT10JiZlJiYwIT09ZC5sZW5ndGgsXz1bLi4uZF07Xy5pbmNsdWRlcyhzKT92b2lkIDAhPT1mJiZfLnB1c2goZik6Xy5wdXNoKHMpO2NvbnN0IHk9YiYmXy5sZW5ndGg+MTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHcuTWF0Y2hNZWRpYSx7cnVsZTpDLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwoZT0+e2NvbnN0IHQ9Yy5tYXAoKCh0LG4pPT50PT09VT90aGlzLl9yZW5kZXJEaXZpZGVyKGBzZXBhcmF0b3ItJHtufWApOnRoaXMuX3JlbmRlclBvcHVwTWVudUl0ZW0odCx0PT09cyxlKSkpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQocC5Ub29sV2lkZ2V0Um93V3JhcCx7aWQ6b30seSYmaS5jcmVhdGVFbGVtZW50KFQse29yaWVudGF0aW9uOiJob3Jpem9udGFsIixjbGFzc05hbWU6Qi5ncm91cH0sXy5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoZyx7cm9sZToicmFkaW8iLGNsYXNzTmFtZTpCLmJ1dHRvbixpY29uOnYuU0VSSUVTX0lDT05TW2VdLCJhcmlhLWNoZWNrZWQiOmImJnM9PT1lLGlzQWN0aXZlOmImJnM9PT1lLGlzRGlzYWJsZWQ6UChlKSxrZXk6dCxoaW50OigwLAp4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSksb25DbGljazpiP3RoaXMuX2hhbmRsZVF1aWNrQ2xpY2s6dm9pZCAwLG9uQ2xpY2tBcmc6ZSwiZGF0YS12YWx1ZSI6aC5TVFlMRV9TSE9SVF9OQU1FU1tlXX0pKSkpLGkuY3JlYXRlRWxlbWVudChtLlRvb2xiYXJNZW51QnV0dG9uLHthcnJvdzpCb29sZWFuKHkpLGNvbnRlbnQ6eT92b2lkIDA6aS5jcmVhdGVFbGVtZW50KHAuVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtpY29uOnYuU0VSSUVTX0lDT05TW3NdfSkpLHRvb2x0aXA6eT91LnQobnVsbCx2b2lkIDAsbig4MzM5MzQpKTooMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkocyksY2xhc3NOYW1lOkIubWVudSxpc0RyYXdlcjplLG9uQ2xpY2s6dGhpcy5fdHJhY2tDbGljayxlbmFibGVTY3JvbGxDb21wZW5zYXRpb246KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpLG1lbnVSb2xlOiJ0cmVlZ3JpZCJ9LGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmNvbnRhaW5lciwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJkIubmV3VmlldywhZSYmQi5kZXNrdG9wKX0sdCkpKX0pKX1fcmVuZGVyRGl2aWRlcihlKXtyZXR1cm4oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIik/aS5jcmVhdGVFbGVtZW50KGQuRGl2aWRlckxpc3RJdGVtLHtrZXk6ZSxyb2xlOiJzZXBhcmF0b3IifSk6aS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLHtrZXk6ZX0pfV9yZW5kZXJQb3B1cE1lbnVJdGVtKGUsdCxuKXtjb25zdHtpc0Zhdm9yaXRpbmdBbGxvd2VkOm99PXRoaXMucHJvcHMscz10aGlzLl9pc1N0eWxlRmF2b3JpdGVkKGUpO3JldHVybigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoTyx7a2V5OmBjaGFydC10eXBlLSR7ZX1gLGlkOmUsbmFtZTooMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSksaWNvbjp2LlNFUklFU19JQ09OU1tlXSxpc0Rpc2FibGVkOlAoZSksaXNTZWxlY3RlZDp0LGlzRmF2b3JpdGU6cyxpc0JldGFTdHlsZTpRLmhhcyhlKSxpc05ld1N0eWxlOksuaGFzKGUpLGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxvbkNsaWNrOnRoaXMuX2hhbmRsZVNlbGVjdFN0eWxlLG9uQ2xpY2tGYXZvcml0ZTp0aGlzLl9oYW5kbGVDbGlja0Zhdm9yaXRlLCJhcmlhLXNlbGVjdGVkIjp0fSk6aS5jcmVhdGVFbGVtZW50KEEuQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6YGNoYXJ0LXR5cGUtJHtlfWAscm9sZToicm93Iix0aGVtZTpuP18ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTp2b2lkIDAsaWNvbjp2LlNFUklFU19JQ09OU1tlXSxpc0FjdGl2ZTp0LCJhcmlhLXNlbGVjdGVkIjp0LGlzRGlzYWJsZWQ6UChlKSxsYWJlbDppLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpCLmxhYmVsfSwoMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSl8fCIiLFEuaGFzKGUpJiZpLmNyZWF0ZUVsZW1lbnQoWi5CYWRnZSx7Y2xhc3NOYW1lOkIuYmV0YUJhZGdlLHNpemU6Ti5CYWRnZVNpemUuWFNtYWxsfSwiQkVUQSIpLEsuaGFzKGUpJiZpLmNyZWF0ZUVsZW1lbnQoei5CYWRnZU5ldyx7Y2xhc3NOYW1lOkIubmV3QmFkZ2V9KSksb25DbGljazp0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZSxvbkNsaWNrQXJnOmUsc2hvd1Rvb2xib3hPbkhvdmVyOiFzLHNob3dUb29sYm94T25Gb2N1czohMCx0b29sYm94Om8mJmkuY3JlYXRlRWxlbWVudChILk1lbnVGYXZvcml0ZUJ1dHRvbix7aXNBY3RpdmU6dCxpc0ZpbGxlZDpzLG9uQ2xpY2s6KCk9PnRoaXMuX2hhbmRsZUNsaWNrRmF2b3JpdGUoZSl9KSwiZGF0YS12YWx1ZSI6aC5TVFlMRV9TSE9SVF9OQU1FU1tlXX0pfV9oYW5kbGVDaGFuZ2VTZXR0aW5ncyhlKXt0aGlzLnNldFN0YXRlKHtsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTp2b2lkIDAsZmF2b3JpdGVzOmV9KX1faXNTdHlsZUZhdm9yaXRlZChlKXtyZXR1cm4tMSE9PXRoaXMuc3RhdGUuZmF2b3JpdGVzLmluZGV4T2YoZSl9X2hhbmRsZUFkZEZhdm9yaXRlKGUpe2NvbnN0e2Zhdm9yaXRlczp0fT10aGlzLnN0YXRlLHtmYXZvcml0ZUNoYXJ0U3R5bGVzU2VydmljZTpufT10aGlzLmNvbnRleHQ7bi5zZXQoWy4uLnQsZV0pfV9oYW5kbGVSZW1vdmVGYXZvcml0ZShlKXtjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZSx7ZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6bn09dGhpcy5jb250ZXh0O24uc2V0KHQuZmlsdGVyKCh0PT50IT09ZSkpKX1fdHJhY2tDbGljaygpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiY2hhcnQgc3R5bGUiKX19cS5jb250ZXh0VHlwZT1XO3ZhciAkPW4oMTg2MDk3KSxYPW4oMzg2OTMxKSxHPW4oODQ4OTg4KSxKPW4oNzY1Njk1KTtjb25zdCBZPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBlZSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fdXBkYXRlU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzQWN0aXZlOmV9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIiwiY29tcGFyZSIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiY29tcGFyZSIpLHRoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj8uc2hvdyh7c2hvdWxkUmV0dXJuRm9jdXM6KDAsRy5pc0tleWJvYXJkQ2xpY2spKGUpfSl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWR9KSx0aGlzLnN0YXRlPXtpc0FjdGl2ZTohMX0sCnRoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj10aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcigpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fY29tcGFyZURpYWxvZ1JlbmRlcmVyPy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1yZW5kZXIoKXtjb25zdHtpc0FjdGl2ZTplfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpKLGlzT3BlbmVkOmUsb25DbGljazp0aGlzLl9oYW5kbGVDbGljayxjb2xsYXBzZVdoZW46WyJmdWxsIiwibWVkaXVtIiwic21hbGwiXSx0b29sdGlwOnUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2NvbXBhcmVfc3ltYm9sc190b29sdGlwIn0sbig4NzM4MjApKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KX19ZWUuY29udGV4dFR5cGU9WTt2YXIgdGU9big2ODg2MzIpLG5lPW4oMTM4NjM4KSxhZT1uKDE1MzczNCksaWU9big4NjExODgpLG9lPW4oMzQ1MTUxKSxzZT1uKDYwNTI1NyksbGU9big2ODU5NzkpLHJlPW4oNDEzNDEpLGRlPW4oNjMyNDQ0KTtjb25zdCB1ZT0oMCxuKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiRmF2b3JpdGVzSW5mbyIpO2Z1bmN0aW9uIGNlKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTt1ZS5sb2dOb3JtYWwoIlJlcXVlc3RpbmcgZmF2b3JpdGVzIGluZm8iKTtjb25zdCB0PVtdLG49bmV3IE1hcCxhPW5ldyBNYXAsaT1uZXcgTWFwO3JldHVybiBlLmZvckVhY2goKGU9Pntzd2l0Y2goZS50eXBlKXtjYXNlImphdmEiOmkuc2V0KGUuc3R1ZHlJZCxlKTticmVhaztjYXNlInBpbmUiOigwLGRlLmlzUHVibGlzaGVkUGluZUlkKShlLnBpbmVJZCk/bi5zZXQoZS5waW5lSWQsZSk6YS5zZXQoZS5waW5lSWQsZSk7YnJlYWs7ZGVmYXVsdDooMCxuZS5hc3NlcnQpKCExLGB1bmtub3duIGZhdm9yaXRlIHR5cGUgJHtKU09OLnN0cmluZ2lmeShlKX1gKX19KSksMCE9PWkuc2l6ZSYmdC5wdXNoKCgwLHNlLnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRBbGxKYXZhU3R1ZGllcygpLnRoZW4oKGU9Pntjb25zdCB0PW5ldyBNYXA7Zm9yKGNvbnN0IG4gb2YgZSkhbi5pc19oaWRkZW5fc3R1ZHkmJmkuaGFzKG4uaWQpJiZ0LnNldChuLmlkLHtuYW1lOm4uZGVzY3JpcHRpb24sbG9jYWxpemVkTmFtZTpuLmRlc2NyaXB0aW9uX2xvY2FsaXplZCxleHRyYTpuLmV4dHJhLHN0dWR5TWFya2V0U2hpdHR5T2JqZWN0Om59KTtyZXR1cm4gdH0pKS50aGVuKChlPT57Y29uc3QgdD1oZShpLGUpO2lmKDAhPT10Lm5vdEZvdW5kSXRlbXMubGVuZ3RoKXtjb25zdCBlPXQubm90Rm91bmRJdGVtcy5tYXAoKGU9PmUuc3R1ZHlJZCkpO3VlLmxvZ1dhcm4oYENhbm5vdCBmaW5kIGphdmEgc2NyaXB0czogJHtKU09OLnN0cmluZ2lmeShlKX1gKX1yZXR1cm4gdC5pdGVtc30pKSksdC5wdXNoKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGxlLmluZm8oZSkucHJvbWlzZSgpKS50aGVuKChlPT57aWYodm9pZCAwIT09ZSlmb3IoY29uc3QgbiBvZiBlKXQuc2V0KG4uc2NyaXB0SWRQYXJ0LHtuYW1lOm4uc2NyaXB0TmFtZSxhZ3JlZUNvdW50Om4uYWdyZWVDb3VudCxhdXRob3JVc2VybmFtZTpuLmF1dGhvci51c2VybmFtZSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDpufSk7cmV0dXJuIHR9KSl9KEFycmF5LmZyb20obi5rZXlzKCkpKS50aGVuKChlPT57Y29uc3QgdD1oZShuLGUpO2lmKDAhPT10Lm5vdEZvdW5kSXRlbXMubGVuZ3RoKXtjb25zdCBlPXQubm90Rm91bmRJdGVtcy5tYXAoKGU9PmUucGluZUlkKSk7dWUubG9nV2FybihgQ2Fubm90IGZpbmQgcHViIHNjcmlwdHM6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9cmV0dXJuIHQuaXRlbXN9KSkpLHQucHVzaChmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIG5ldyBQcm9taXNlKChuPT57KGZ1bmN0aW9uKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUpO3JldHVybiBQcm9taXNlLnJlc29sdmUoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4oMCxkZS5pc1N0YW5kYXJkUGluZUlkKShlKXx8KDAsZGUuaXNDdXN0b21QaW5lSWQpKGUpKSl9KGUpKX0pKGUpLnRoZW4oKGU9PntpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG4odCk7KDAscmUucmVxdWVzdEluZm9Gb3JTY3JpcHRzKShlKS50aGVuKChhPT57Y29uc3QgaT1uZXcgU2V0KGUpO2Zvcihjb25zdCBlIG9mIGEpaS5oYXMoZS5zY3JpcHRJZFBhcnQpJiZ0LnNldChlLnNjcmlwdElkUGFydCx7bmFtZTplLnNjcmlwdE5hbWUsZXh0cmE6ZS5leHRyYSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDplfSk7bih0KX0pKX0pKX0pKX0oQXJyYXkuZnJvbShhLmtleXMoKSkpLnRoZW4oKGU9Pntjb25zdCB0PWhlKGEsZSk7aWYoMCE9PXQubm90Rm91bmRJdGVtcy5sZW5ndGgpe2NvbnN0IGU9dC5ub3RGb3VuZEl0ZW1zLm1hcCgoZT0+ZS5waW5lSWQpKTt1ZS5sb2dXYXJuKGBDYW5ub3QgZmluZCBwaW5lIHNjcmlwdHM6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9cmV0dXJuIHQuaXRlbXN9KSkpLFByb21pc2UuYWxsKHQpLnRoZW4oKGU9Pih1ZS5sb2dOb3JtYWwoIlJlcXVlc3RpbmcgZmF2b3JpdGVzIGluZm8gZmluaXNoZWQiKSxlLnJlZHVjZSgoKGUsdCk9PmUuY29uY2F0KHQpKSxbXSkpKSl9ZnVuY3Rpb24gaGUoZSx0KXtjb25zdCBuPXtpdGVtczpbXSxub3RGb3VuZEl0ZW1zOltdfTtyZXR1cm4gZS5mb3JFYWNoKCgoZSxhKT0+e2NvbnN0IGk9dC5nZXQoYSk7dm9pZCAwIT09aT9uLml0ZW1zLnB1c2goe2l0ZW06ZSxpbmZvOml9KTpuLm5vdEZvdW5kSXRlbXMucHVzaChlKX0pKSxufQp2YXIgdmU9bigzNjgxMTApLG1lPW4oNjc4Mjg1KSxwZT1uKDE5OTE3MiksZmU9big2NDgwMDkpLGdlPW4oMTc5NzcxKSxiZT1uKDgwMDkxNCksd2U9big5MTYxMjEpLENlPW4oNjU1NTg0KSxfZT1uKDYyMTkyNik7ZnVuY3Rpb24geWUoZSx0LG4peyFmdW5jdGlvbihlLHQsbil7aWYoInR2LXZvbHVtZWJ5cHJpY2UiPT09ZSl7bGV0IGU9IlRWX1ZPTFVNRUJZUFJJQ0UiLGE9InZvbHVtZVByb2ZpbGUiO2NvbnN0W2ldPXQuc3BsaXQoIkAiKTtyZXR1cm5bIlRQT1BlcmlvZGljIiwiVFBPU2Vzc2lvbnMiXS5pbmNsdWRlcyhpKSYmKGU9IlRQT19QRVJJT0RJQyIsYT0iVFBPUGVyaW9kaWMiKSx2b2lkKDAsQ2UucnVuT3JHb1BybykobixlLHtmZWF0dXJlOmF9KX0idHYtY2hhcnRwYXR0ZXJucyIhPT1lPyJ0di1jaGFydF9wYXR0ZXJucyIhPT1lPygwLF9lLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKG4se3NvdXJjZToic3R1ZHktbWFya2V0LWFwcGx5LXN0dWR5IixmZWF0dXJlOiJpbmRpY2F0b3JzIn0pOigwLENlLnJ1bk9yR29Qcm8pKG4sIkNIQVJUX1BBVFRFUk5TIix7ZmVhdHVyZToiY2hhcnRQYXR0ZXJucyJ9KTooMCxDZS5ydW5PckdvUHJvKShuLCJUVl9QUk9TVFVESUVTIix7ZmVhdHVyZToiY2hhcnRQYXR0ZXJucyJ9KX0oKDAsd2UuZ2V0U3R1ZHlQYWNrYWdlTmFtZSkoZSx0KSxlLG4pfXZhciBTZT1uKDMxMzgyMikseGU9bigyNTYzMTQpO2Z1bmN0aW9uIEVlKGUpe2xldCB0PXUudChlLnNjcmlwdE5hbWV8fCIiLHtjb250ZXh0OiJzdHVkeSJ9LG4oODg0NjkzKSk7Y29uc3QgYT1lLmV4dHJhLmZpbmFuY2lhbFBlcmlvZDtyZXR1cm4gYSYmISgwLHhlLmlzTm9BZ2dyZWdhdGVkRmluYW5jaWFsUGVyaW9kKShhKSYmKHQrPWAgwrcgJHsoMCx4ZS5maW5hbmNpYWxQZXJpb2RUb1N0cmluZykoYSl9YCksdH1uKDExMzc4NCk7dmFyIE1lPW4oODQ2NzQ5KSxrZT1uKDg4OTgwOSk7Y29uc3QgSWU9KDAsb2UuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbIi8iXSx0ZXh0OiJ7MH0ifSksVGU9KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEFlIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9wcm9taXNlPW51bGwsdGhpcy5fbWVudT1pLmNyZWF0ZVJlZigpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lcj1pLmNyZWF0ZVJlZigpLHRoaXMuX2Zhdm9yaXRlRnVuZGFtZW50YWxzTW9kZWw9U2UuRmF2b3JpdGVGdW5kYW1lbnRhbHMuZ2V0SW5zdGFuY2UoKSx0aGlzLl9zZXRBY3RpdmVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6ZX0pfSx0aGlzLl9yZW5kZXJGYXZvcml0ZXNMaXN0T3JFbXB0eVN0YXRlPShlLHQsYSk9Pntjb25zdCBvPXRoaXMuX3JlbmRlckZhdm9yaXRlc0NvbnRlbnQoZSx0LGEpO2lmKCF0KXJldHVybiBvO2lmKG51bGw9PT1vKXJldHVybiBudWxsO2NvbnN0IHM9dS50KG51bGwse2NvbnRleHQ6ImluZGljYXRvcnNfbWVudSJ9LG4oNjI5Mzg0KSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChiZS5TZWN0aW9uTGlzdEl0ZW0se2tleToiZmF2b3JpdGUtaW5kaWNhdG9ycy1zZWN0aW9uIix0aXRsZTpzLGFyaWFMYWJlbDpzLGdyb3VwUm9sZToiZ3JvdXAifSxvKX0sdGhpcy5fcmVuZGVyRmF2b3JpdGVzQ29udGVudD0oZSx0LGEpPT57aWYoYSlyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGZlLlRvb2xXaWRnZXRNZW51U3Bpbm5lcixudWxsKTtpZih0aGlzLnN0YXRlLmluZm9zLmxlbmd0aD4wKXJldHVybiB0aGlzLnN0YXRlLmluZm9zLm1hcCgobj0+dGhpcy5fcmVuZGVyRmF2b3JpdGVJdGVtKG4sZSx0KSkpO2lmKG51bGwhPT10aGlzLl9wcm9taXNlKXtjb25zdCBlPXUudChudWxsLHtjb250ZXh0OiJpbmRpY2F0b3JzX21lbnUifSxuKDQzNDA3NikpO3JldHVybiB0P2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHtkaXNhYmxlZDohMCx0aXRsZTplfSk6aS5jcmVhdGVFbGVtZW50KGFlLlBvcHVwTWVudUl0ZW0se2lzRGlzYWJsZWQ6ITAsbGFiZWw6ZX0pfXJldHVybiBudWxsfSx0aGlzLl9yZW5kZXJGYXZvcml0ZUl0ZW09KGUsdCxuKT0+e2NvbnN0IGE9ImphdmEiPT09ZS5pdGVtLnR5cGU/ZS5pdGVtLnN0dWR5SWQ6ZS5pdGVtLnBpbmVJZCxvPUhlKGUpLHM9aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmwoKSghdCYma2UubGFiZWwsdCYma2Uuc21hbGxXaWR0aExhYmVsLCJhcHBseS1vdmVyZmxvdy10b29sdGlwIil9LG8pO3JldHVybiBuP2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHtrZXk6YSxyb2xlOiJtZW51aXRlbSIsb25DbGljazooKT0+dGhpcy5faGFuZGxlU2VsZWN0SW5kaWNhdG9yKGUpLHRpdGxlOm8sYXJpYUxhYmVsOm8sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixlbGxpcHNpczohdH0pOmkuY3JlYXRlRWxlbWVudChBLkFjY2Vzc2libGVNZW51SXRlbSx7cm9sZToibWVudWl0ZW0iLGNsYXNzTmFtZTpsKCkodCYma2Uuc21hbGxXaWR0aE1lbnVJdGVtKSx0aGVtZTp0P18ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTp2b2lkIDAsa2V5OmEsb25DbGljazp0aGlzLl9oYW5kbGVTZWxlY3RJbmRpY2F0b3Isb25DbGlja0FyZzplLGxhYmVsOnN9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+e2NvbnN0e3N0dWR5TWFya2V0OnR9PXRoaXMucHJvcHM7dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6ITB9LCgoKT0+e3QudmlzaWJsZSgpLnZhbHVlKCk/dC5oaWRlKCk6dC5zaG93KHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KX0pKSx0aGlzLl90cmFja0NsaWNrKCl9LHRoaXMuX2hhbmRsZVNlbGVjdEluZGljYXRvcj1lPT57ZT0oMCxuZS5lbnN1cmVEZWZpbmVkKShlKSx0aGlzLl90cmFja0Zhdm9yaXRlQWN0aW9uKCJGYXZvcml0ZSBpbmRpY2F0b3IgZnJvbSB0b29sYmFyIik7eWUoImphdmEiPT09ZS5pdGVtLnR5cGU/ZS5pdGVtLnN0dWR5SWQ6ZS5pdGVtLnBpbmVJZCxlLmluZm8uZXh0cmEsKGFzeW5jKCk9PntlPSgwLG5lLmVuc3VyZURlZmluZWQpKGUpO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQKO2lmKCJqYXZhIj09PWUuaXRlbS50eXBlKXtjb25zdCB0PSgwLHZlLnRyeUZpbmRTdHVkeUxpbmVUb29sTmFtZUJ5U3R1ZHlJZCkoZS5pdGVtLnN0dWR5SWQpO2lmKG51bGwhPT10KXJldHVybiBhd2FpdCgwLHZlLmluaXRMaW5lVG9vbCkodCksdm9pZCBtZS50b29sLnNldFZhbHVlKHQpfXQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5pbnNlcnRTdHVkeShlLml0ZW0sW10se2V2ZW50U291cmNlOiJ0b29sYmFyX2Zhdm9yaXRlcyJ9KX0pKX0sdGhpcy5faGFuZGxlRmF2b3JpdGVJbmRpY2F0b3JzQ2hhbmdlPSgpPT57Y29uc3R7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6ZX09dGhpcy5jb250ZXh0LHQ9Wy4uLigwLG5lLmVuc3VyZURlZmluZWQpKGUpLmZhdm9yaXRlcygpXTt0aGlzLnNldFN0YXRlKHtmYXZvcml0ZXM6dH0pLHRoaXMuX2NsZWFyQ2FjaGUoKX0sdGhpcy5faGFuZGxlRmF2b3JpdGVGdW5kYW1lbnRhbHNDaGFuZ2U9KCk9Pntjb25zdCBlPW5ldyBTZXQodGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzKCl8fFtdKTt0aGlzLnNldFN0YXRlKHtmYXZvcml0ZUZ1bmRhbWVudGFsczplfSksdGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9oYW5kbGVNb3VzZUVudGVyPSgpPT57dGhpcy5fcHJlZmV0Y2hGYXZvcml0ZXMoKX0sdGhpcy5faGFuZGxlV3JhcENsaWNrPSgpPT57dGhpcy5fcHJlZmV0Y2hGYXZvcml0ZXMoKX0sdGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0PSgpPT57dGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9jbGVhckNhY2hlPSgpPT57dGhpcy5fcHJvbWlzZT1udWxsLHRoaXMuc2V0U3RhdGUoe2luZm9zOltdfSl9LHRoaXMuX2hhbmRsZVNjcmlwdFJlbmFtZWQ9ZT0+e2NvbnN0e2Zhdm9yaXRlU2NyaXB0c01vZGVsOnR9PXRoaXMuY29udGV4dDt2b2lkIDAhPT10JiZ0LmlzRmF2KGUuc2NyaXB0SWRQYXJ0KSYmdGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9oYW5kbGVGYXZvcml0ZU1lbnVDbGljaz0oKT0+e3RoaXMuX3RyYWNrQ2xpY2soKSx0aGlzLl90cmFja0Zhdm9yaXRlQWN0aW9uKCJTZWxlY3QgZmF2b3JpdGUgaW5kaWNhdG9ycyBkcm9wZG93biIpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2Zhdm9yaXRlU2NyaXB0c01vZGVsOm8uYW55LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSk7Y29uc3R7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6YX09dCxzPXZvaWQgMCE9PWE/YS5mYXZvcml0ZXMoKTpbXTt0aGlzLnN0YXRlPXtpc0FjdGl2ZTohMSxpc0xvYWRpbmc6ITEsZmF2b3JpdGVzOnMsZmF2b3JpdGVGdW5kYW1lbnRhbHM6bmV3IFNldCh0aGlzLl9mYXZvcml0ZUZ1bmRhbWVudGFsc01vZGVsPy5mYXZvcml0ZXMoKSksaW5mb3M6W119fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7c3R1ZHlNYXJrZXQ6ZX09dGhpcy5wcm9wcyx7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6dCxjaGFydFdpZGdldENvbGxlY3Rpb246bn09dGhpcy5jb250ZXh0O2UudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zZXRBY3RpdmVTdGF0ZSksdm9pZCAwIT09dCYmKHQuZmF2b3JpdGVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUZhdm9yaXRlSW5kaWNhdG9yc0NoYW5nZSksbi5hY3RpdmVDaGFydFdpZGdldC5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0KSksdGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUZhdm9yaXRlRnVuZGFtZW50YWxzQ2hhbmdlKSxnZS5vbigiVFZTY3JpcHRSZW5hbWVkIix0aGlzLl9oYW5kbGVTY3JpcHRSZW5hbWVkLG51bGwpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7c3R1ZHlNYXJrZXQ6ZX09dGhpcy5wcm9wcyx7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6dCxjaGFydFdpZGdldENvbGxlY3Rpb246bn09dGhpcy5jb250ZXh0O2UudmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3NldEFjdGl2ZVN0YXRlKSx2b2lkIDAhPT10JiYodC5mYXZvcml0ZXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVGYXZvcml0ZUluZGljYXRvcnNDaGFuZ2UpLG4uYWN0aXZlQ2hhcnRXaWRnZXQudW5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0KSksdGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlRmF2b3JpdGVGdW5kYW1lbnRhbHNDaGFuZ2UpLGdlLnVuc3Vic2NyaWJlKCJUVlNjcmlwdFJlbmFtZWQiLHRoaXMuX2hhbmRsZVNjcmlwdFJlbmFtZWQsbnVsbCksdGhpcy5fcHJvbWlzZT1udWxsfXJlbmRlcigpe2NvbnN0e2lzQWN0aXZlOmUsZmF2b3JpdGVzOnQsZmF2b3JpdGVGdW5kYW1lbnRhbHM6byxpc0xvYWRpbmc6c309dGhpcy5zdGF0ZSx7Y2xhc3NOYW1lOnIsZGlzcGxheU1vZGU6ZCxpZDpjfT10aGlzLnByb3BzLHtjaGFydFdpZGdldENvbGxlY3Rpb246aH09dGhpcy5jb250ZXh0LHY9KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDpjLG9uTW91c2VFbnRlcjp0aGlzLl9oYW5kbGVNb3VzZUVudGVyLG9uQ2xpY2s6dGhpcy5faGFuZGxlV3JhcENsaWNrfSxpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2Rpc3BsYXlNb2RlOmQsY2xhc3NOYW1lOnIsaWNvbjpNZSxpc09wZW5lZDplLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdGV4dDp1LnQobnVsbCx2b2lkIDAsbig4NDgzOTQpKSwiZGF0YS1yb2xlIjoiYnV0dG9uIiwiZGF0YS1uYW1lIjoib3Blbi1pbmRpY2F0b3JzLWRpYWxvZyIsdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbigxNzQ0ODIpKSwiZGF0YS10b29sdGlwLWhvdGtleSI6SWUsY29sbGFwc2VXaGVuOigwLAphLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfaW5kaWNhdG9yc19pY29uX29ubHkiKT9bImZ1bGwiXTp2b2lkIDB9KSxCb29sZWFuKHQubGVuZ3RoPjB8fG8/LnNpemUpJiZpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHtydWxlOiIobWF4LXdpZHRoOiA0NDBweCkifSwoZT0+aS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se2tleTpoLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkuaWQoKSxhcnJvdzohMCxjbG9zZU9uQ2xpY2tPdXRzaWRlOiEwLGlzRHJhd2VyOmUsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIscmVmOnRoaXMuX21lbnUsbWVudVJlZmVyZW5jZTp0aGlzLl9tZW51SXRlbXNDb250YWluZXIsb25DbGljazp0aGlzLl9oYW5kbGVGYXZvcml0ZU1lbnVDbGljaywiZGF0YS1uYW1lIjoic2hvdy1mYXZvcml0ZS1pbmRpY2F0b3JzIix0b29sdGlwOnUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2Zhdm9yaXRlX2luZGljYXRvcnNfdG9vbHRpcCJ9LG4oMTMzOTcpKSxtZW51Um9sZToibWVudSIsbWVudUNsYXNzTmFtZTprZS5tZW51LGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjp2fSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoa2UuZHJvcGRvd24sZSYma2Uuc21hbGxXaWR0aFdyYXBwZXIsdiYma2UubmV3Vmlldyl9LCF2JiZpLmNyZWF0ZUVsZW1lbnQocGUuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LHtjbGFzc05hbWU6ZSYma2Uuc21hbGxXaWR0aFRpdGxlfSx1LnQobnVsbCx7Y29udGV4dDoiaW5kaWNhdG9yc19tZW51In0sbig2MjkzODQpKSksdGhpcy5fcmVuZGVyRmF2b3JpdGVzTGlzdE9yRW1wdHlTdGF0ZShlLHYscykpKSkpKSl9X3ByZWZldGNoRmF2b3JpdGVzKCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtpZihudWxsIT09dGhpcy5fcHJvbWlzZXx8IXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybjtpZighZS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLmhhc01vZGVsKCkpcmV0dXJuO3RoaXMuc2V0U3RhdGUoe2lzTG9hZGluZzohMH0pO2NvbnN0IHQ9dGhpcy5zdGF0ZS5mYXZvcml0ZUZ1bmRhbWVudGFscyxuPXRoaXMuX3Byb21pc2U9UHJvbWlzZS5hbGwoW2NlKHRoaXMuc3RhdGUuZmF2b3JpdGVzKSx0P1Byb21pc2UucmVzb2x2ZSgoMCxyZS5yZXF1ZXN0RnVuZGFtZW50YWxTY3JpcHRzKSgpKTp2b2lkIDBdKS50aGVuKChlPT57aWYobiE9PXRoaXMuX3Byb21pc2UpcmV0dXJuO2NvbnN0W3QsYV09ZTtsZXQgaT1bLi4udF07aWYoYSl7Y29uc3QgZT1hLmZpbHRlcigoZT0+dGhpcy5zdGF0ZS5mYXZvcml0ZUZ1bmRhbWVudGFscz8uaGFzKGUuc2NyaXB0SWRQYXJ0KSkpLm1hcCh0aGlzLl9tYXBGdW5kYW1lbnRhbFRvRmF2b3JpdGVJdGVtSW5mbyk7aS5wdXNoKC4uLmUpfWk9Wy4uLmldLnNvcnQoKChlLHQpPT5IZShlKS5sb2NhbGVDb21wYXJlKEhlKHQpKSkpLHRoaXMuc2V0U3RhdGUoe2luZm9zOmksaXNMb2FkaW5nOiExfSwoKCk9Pnt0aGlzLl9tZW51LmN1cnJlbnQ/LnVwZGF0ZSgpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lci5jdXJyZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dGhpcy5fbWVudUl0ZW1zQ29udGFpbmVyLmN1cnJlbnQmJigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkodGhpcy5fbWVudUl0ZW1zQ29udGFpbmVyLmN1cnJlbnQpfSkpfSkpfV90cmFja0NsaWNrKCl7KDAsRC50cmFja0J1dHRvbkNsaWNrKSgidG9wIHRvb2xiYXIiLCJpbmRpY2F0b3JzIix2b2lkIDAsITApfV90cmFja0Zhdm9yaXRlQWN0aW9uKGUpeygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIixlKX1fbWFwRnVuZGFtZW50YWxUb0Zhdm9yaXRlSXRlbUluZm8oZSl7cmV0dXJue2l0ZW06e3R5cGU6InBpbmUiLHBpbmVJZDplLnNjcmlwdElkUGFydH0saW5mbzp7bmFtZTplLnNjcmlwdE5hbWUsbG9jYWxpemVkTmFtZTpFZShlKSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDp2b2lkIDB9fX19ZnVuY3Rpb24gSGUoZSl7cmV0dXJuIGUuaW5mby5sb2NhbGl6ZWROYW1lfHx1LnQoZS5pbmZvLm5hbWUse2NvbnRleHQ6InN0dWR5In0sbig4ODQ2OTMpKX1BZS5jb250ZXh0VHlwZT1UZTt2YXIgVmU9big0NjUxMzcpLFJlPW4oMjU0NjczKSxGZT1uKDI1MTcyMyk7ZnVuY3Rpb24gTGUoZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShGZS52YWx1ZSx7W0ZlLnNlbGVjdGVkXTplLmlzU2VsZWN0ZWR9KX0sZS52YWx1ZSxlLm1ldHJpYyl9dmFyIFplPW4oOTQ4MzgwKSxOZT1uKDYzMjk5MiksemU9bigyNzYwMTkpLEJlPW4oMjY0MzE4KSxPZT1uKDE4MjMwOCk7ZnVuY3Rpb24gRGUoZSl7Y29uc3RbdCxuXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoQmUuQ2xpY2thYmxlSWNvbkJ1dHRvbix7Li4uZSxyZWY6dCx0YWJJbmRleDpufSl9dmFyIFdlPW4oNDYyNzA0KTtmdW5jdGlvbiBQZShlKXtjb25zdHtpbnRlcnZhbDp0LGhpbnQ6YSxhcmlhTGV2ZWw6byxpc1NlbGVjdGVkOnMsaXNEaXNhYmxlZDpsLGlzRmF2b3JpdGU6cixpc1JlbW92YWJsZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6Yyxpc1NpZ25hbGluZzpoLG9uQ2xpY2s6dixvbkNsaWNrUmVtb3ZlOm0sb25DbGlja0Zhdm9yaXRlOnAsc2Nyb2xsQ29udGFpbmVyUmVmOmZ9PWUsZz0oMCxpLnVzZUNhbGxiYWNrKSgoZT0+bSh0LGUpKSxbbSx0XSksYj0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PnAodCkpLFtwLHRdKSx3PSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dih0KSksW3YsdF0pLEM9My0oKGQ/MTowKSsoYz8xOjApKSxfPSgwLGkudXNlUmVmKShudWxsKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57aWYoaCl7Y29uc3QgZT1fLmN1cnJlbnQ7aWYoZSYmZi5jdXJyZW50KXtjb25zdCB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1mLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7KG4udG9wPnQudG9wfHxuLmJvdHRvbTx0LmJvdHRvbSkmJmUuc2Nyb2xsSW50b1ZpZXcoKX19fSksW2gsZl0pLAppLmNyZWF0ZUVsZW1lbnQoUi5NZW51SXRlbSx7cm9sZToicm93IixhcmlhTGV2ZWw6byxhcmlhU2VsZWN0ZWQ6cyxzZWxlY3RlZDpzLGRpc2FibGVkOmwsb25DbGljazp3LHJpZ2h0U2xvdDpmdW5jdGlvbigpe2lmKCFkJiYhYylyZXR1cm4gbnVsbDtyZXR1cm5bZCYmaS5jcmVhdGVFbGVtZW50KEwuQ29udGV4dEFjdGlvbix7a2V5OiJyZW1vdmUiLGhpZGVJZk5vSG92ZXI6ITAscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRGUse3JvbGU6ImJ1dHRvbiIsb25DbGljazpnLHRpdGxlOnUudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbnRlcnZhbHMgbWVudSBpdGVtIn0sbig0NDAyNTEpKSxpY29uOldlLGRhdGFRYUlkOiJyZW1vdmUtaW50ZXJ2YWwtYnV0dG9uIn0pKSxjJiZpLmNyZWF0ZUVsZW1lbnQoTC5Db250ZXh0QWN0aW9uLHtrZXk6ImZhdm9yaXRlIixoaWRlSWZOb0hvdmVyOiFyLHJvbGU6ImdyaWRjZWxsIn0saS5jcmVhdGVFbGVtZW50KEYuRmF2b3JpdGVJY29uQnV0dG9uLHtpc0Zhdm9yaXRlOiEhcixvbkNsaWNrOmJ9KSldfSgpLHRpdGxlOmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjpDfSxhKSxhcmlhTGFiZWw6YSwiZGF0YS12YWx1ZSI6dCwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGxpc3RJdGVtUmVmOl8sZGF0YVFhSWQ6ImludGVydmFsLW1lbnUtaXRlbSJ9KX12YXIgVWU9big2ODk4OTQpLGplPW4oMzYzMjY5KSxLZT1uKDkxNzgxNyksUWU9big5NzM2OSk7ZnVuY3Rpb24gcWUoZSl7Y29uc3R7cm9sZTp0LGludGVydmFsOm4saGludDphLGlzQWN0aXZlOm8saXNEaXNhYmxlZDpzLGlzRmF2b3JpdGU6cixpc1JlbW92YWJsZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dSxpc1NpZ25hbGluZzpjLG9uQ2xpY2s6aCxvbkNsaWNrUmVtb3ZlOnYsb25DbGlja0Zhdm9yaXRlOm0saXNTbWFsbFRhYmxldDpwLHNjcm9sbENvbnRhaW5lclJlZjpmLC4uLmd9PWUsW2Isd109KDAsVWUudXNlSG92ZXJEZXByZWNhdGVkKSgpLEM9aS51c2VDYWxsYmFjaygoZT0+dihuLGUpKSxbdixuXSkseT1pLnVzZUNhbGxiYWNrKCgoKT0+bShuKSksW20sbl0pLFM9KDAsaS51c2VSZWYpKG51bGwpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntpZihjKXtjb25zdCBlPVMuY3VycmVudDtpZihlJiZmLmN1cnJlbnQpe2NvbnN0IHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsobi50b3A+dC50b3B8fG4uYm90dG9tPHQuYm90dG9tKSYmZS5zY3JvbGxJbnRvVmlldygpfX19KSxbYyxmXSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi53LHJlZjpTfSxpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0sey4uLmcscm9sZTp0LGNsYXNzTmFtZTpsKCkoUWUubWVudUl0ZW0scCYmUWUuc21hbGxXaWR0aE1lbnVJdGVtLGMmJlFlLnNpZ25hbCksdGhlbWU6cD9fLm11bHRpbGluZUxhYmVsV2l0aEljb25BbmRUb29sYm94VGhlbWU6dm9pZCAwLGlzQWN0aXZlOm8saXNEaXNhYmxlZDpzLG9uQ2xpY2s6aCxvbkNsaWNrQXJnOm4sdG9vbGJveDpmdW5jdGlvbigpe2NvbnN0IGU9aS5jcmVhdGVFbGVtZW50KEtlLk1lbnVSZW1vdmVCdXR0b24se2tleToicmVtb3ZlIixpc0FjdGl2ZTpvLGhpZGRlbjohamUudG91Y2gmJiFiLG9uQ2xpY2s6QyxjbGFzc05hbWU6UWUucmVtb3ZlLGRhdGFRYUlkOiJyZW1vdmUtaW50ZXJ2YWwtYnV0dG9uIn0pLHQ9aS5jcmVhdGVFbGVtZW50KEguTWVudUZhdm9yaXRlQnV0dG9uLHtrZXk6ImZhdm9yaXRlIixpc0FjdGl2ZTpvLGlzRmlsbGVkOnIsb25DbGljazp5fSk7cmV0dXJuW2QmJmUsdSYmdF19KCksc2hvd1Rvb2xib3hPbkhvdmVyOiFyLHNob3dUb29sYm94T25Gb2N1czohMCxsYWJlbDphLGRhdGFRYUlkOiJpbnRlcnZhbC1tZW51LWl0ZW0ifSkpfXZhciAkZT1uKDM1OTg0NiksWGU9big3NjI4NTEpLEdlPW4oNzc4MDc3KSxKZT1uKDM2MzgwOCk7ZnVuY3Rpb24gWWUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsLi4ubn09ZSxbYSxvXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoR2UuQ29sbGFwc2libGVTZWN0aW9uLHsuLi5uLHJlZjphLHRhYkluZGV4Om8sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixjbGFzc05hbWU6bCgpKEplLmFjY2Vzc2libGUsdCksb25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsTS5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PXQmJjMyIT09dHx8KGUucHJldmVudERlZmF1bHQoKSxhLmN1cnJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmYS5jdXJyZW50LmNsaWNrKCkpfX0pfXZhciBldD1uKDcxOTkpO2Z1bmN0aW9uIHR0KGUpe2NvbnN0e2NoaWxkcmVuOnQsdGl0bGU6bixjbGFzc05hbWU6YX09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YX0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZXQuc21hbGxUYWJsZXRTZWN0aW9uVGl0bGV9LG4pLHQpfXZhciBudD1uKDY1NzgwOSksYXQ9bigyNjYxMDApO2Z1bmN0aW9uIGl0KGUpe2NvbnN0e2ludGVydmFsczp0LGlzQ3VzdG9tSW50ZXJ2YWxzRW5hYmxlZDphLGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxhY3RpdmVJbnRlcnZhbDpzLGxhc3RBZGRlZEludGVydmFsOnIsbWVudVZpZXdTdGF0ZTpjLGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOmgsc2Nyb2xsQ29udGFpbmVyUmVmOnYsb25PcGVuQWRkSW50ZXJ2YWxEaWFsb2c6bSxvblNlbGVjdEludGVydmFsOnAsb25SZW1vdmVJbnRlcnZhbDpmLG9uQ2xpY2tGYXZvcml0ZTpnLG9uU2VjdGlvblN0YXRlQ2hhbmdlOncsaXNJbnRlcnZhbEZhdm9yaXRlOkMsaXNJbnRlcnZhbERlZmF1bHQ6Xyxpc1NtYWxsVGFibGV0Onksdmlld01vZGU6U309ZSx4PSgwLCRlLnNvcnRSZXNvbHV0aW9uc0J5Q2F0ZWdvcmllcykodCksRT1hPzE6MCxNPXgubGVuZ3RoK0U7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsZnVuY3Rpb24oKXtpZighYSlyZXR1cm5bXTtjb25zdCBlPXUudChudWxsLHsKY29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW50ZXJ2YWxzIG1lbnUgaXRlbSJ9LG4oNTcyMjM5KSk7aWYoImxlZ2FjeSI9PT1TKXJldHVybltpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0se2tleToiYWRkLWRpYWxvZyIscm9sZToicm93IiwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyIsImFyaWEtbGV2ZWwiOjEsImFyaWEtcG9zaW5zZXQiOjEsImFyaWEtc2V0c2l6ZSI6TSxjbGFzc05hbWU6bCgpKG50LmFkZEN1c3RvbUludGVydmFsLCF5JiZudC5hZGRDdXN0b21JbnRlcnZhbERlc2t0b3ApLG9uQ2xpY2s6bSxsYWJlbDooMCxYZS5hcHBlbmRFbGxpcHNpcykoZSksaWNvbjphdCxkb250Q2xvc2VQb3B1cDohMCxkYXRhUWFJZDoiYWRkLWN1c3RvbS1pbnRlcnZhbC1idXR0b24ifSksaygiY3VzdG9tLWludGVydmFsLXNlcGFyYXRvciIpXTtyZXR1cm5baS5jcmVhdGVFbGVtZW50KFIuTWVudUl0ZW0se2tleToiYWRkLWRpYWxvZyIscm9sZToicm93IixhcmlhSGFzcG9wdXA6ImRpYWxvZyIsYXJpYUxhYmVsOmUsYXJpYUxldmVsOjEsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiZ3JpZGNlbGwiLCJhcmlhLWNvbHNwYW4iOjN9LCgwLFhlLmFwcGVuZEVsbGlwc2lzKShlKSksbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KFYuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzphdH0pLG9uQ2xpY2s6bSxkb250Q2xvc2VQb3B1cDohMCwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOiJhZGQtY3VzdG9tLWludGVydmFsLWJ1dHRvbiJ9KSxrKCJjdXN0b20taW50ZXJ2YWwtZGl2aWRlciIpXX0oKSxmdW5jdGlvbigpe2NvbnN0IGU9MT09PXgubGVuZ3RoLHQ9eC5tYXAoKCh0LG4pPT5mdW5jdGlvbihlKXtjb25zdHtncm91cDp0LGlzU2luZ2xlOm4sYXJpYVBvc0luU2V0OmEsYXJpYVNldFNpemU6bH09ZSxkPVtdLHU9bj8xOjIsbT10Lml0ZW1zLm1hcCgoKGUsbik9PmZ1bmN0aW9uKGUpe2NvbnN0e2ludGVydmFsOnQsYXJpYUxldmVsOm4sYXJpYVBvc0luU2V0OmEsYXJpYVNldFNpemU6bH09ZSxkPXQ9PT1zO2lmKCJsZWdhY3kiPT09UylyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHFlLHtrZXk6dCxyb2xlOiJyb3ciLCJhcmlhLWxldmVsIjpuLCJhcmlhLXBvc2luc2V0IjphLCJhcmlhLXNldHNpemUiOmwsImFyaWEtc2VsZWN0ZWQiOmQsaXNTbWFsbFRhYmxldDp5LGludGVydmFsOnQsaGludDooMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKSh0KS5oaW50LGlzU2lnbmFsaW5nOnI9PT10LGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxpc0Rpc2FibGVkOiEoMCxWZS5pc0F2YWlsYWJsZSkodCksaXNGYXZvcml0ZTpDKHQpLGlzUmVtb3ZhYmxlOiFfKHQpLGlzQWN0aXZlOmQsb25DbGljazpwLG9uQ2xpY2tSZW1vdmU6ZixvbkNsaWNrRmF2b3JpdGU6ZyxzY3JvbGxDb250YWluZXJSZWY6diwiZGF0YS12YWx1ZSI6dH0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoUGUse2tleTp0LGludGVydmFsOnQsYXJpYUxldmVsOm4saGludDooMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKSh0KS5oaW50LGlzU2lnbmFsaW5nOnI9PT10LGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxpc0Rpc2FibGVkOiEoMCxWZS5pc0F2YWlsYWJsZSkodCksaXNGYXZvcml0ZTpDKHQpLGlzUmVtb3ZhYmxlOiFfKHQpLGlzU2VsZWN0ZWQ6ZCxvbkNsaWNrOnAsb25DbGlja1JlbW92ZTpmLG9uQ2xpY2tGYXZvcml0ZTpnLHNjcm9sbENvbnRhaW5lclJlZjp2fSl9KHtpbnRlcnZhbDplLGFyaWFMZXZlbDp1LGFyaWFQb3NJblNldDpuKzEsYXJpYVNldFNpemU6dC5pdGVtcy5sZW5ndGh9KSkpO2lmKG4pZC5wdXNoKC4uLm0pO2Vsc2UgaWYoImxlZ2FjeSI9PT1TJiZ5KWQucHVzaChpLmNyZWF0ZUVsZW1lbnQodHQse2tleTp0LmlkLHRpdGxlOnQubmFtZX0sbSkpO2Vsc2UgaWYoImxlZ2FjeSI9PT1TKXtpZighaC5pc0FsbG93ZWQodC5pZCkpcmV0dXJuW107ZC5wdXNoKGkuY3JlYXRlRWxlbWVudChZZSx7a2V5OnQuaWQscm9sZToicm93IiwiYXJpYS1wb3NpbnNldCI6YSwiYXJpYS1zZXRzaXplIjpsLCJhcmlhLWxldmVsIjoxLGNsYXNzTmFtZTpudC5zZWN0aW9uLHN1bW1hcnk6dC5uYW1lLG9wZW46IWNbdC5pZF0sb25TdGF0ZUNoYW5nZTp3KHQuaWQpfSxtKSl9ZWxzZXtpZighaC5pc0FsbG93ZWQodC5pZCkpcmV0dXJuW107Y29uc3QgZT10LmlkLG49IXksYT1jW2VdPz8hMSxvPW4/KCk9PncoZSkoYSk6dm9pZCAwO2QucHVzaChpLmNyZWF0ZUVsZW1lbnQoYmUuU2VjdGlvbkxpc3RJdGVtLHtrZXk6ZSx0aXRsZTppLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6M30sdC5uYW1lKSxhcmlhTGFiZWw6dC5uYW1lLGlzV3JhcHBlZDpuP2E6dm9pZCAwLG9uQ2xpY2s6bj9vOnZvaWQgMCxpdGVtUm9sZToicm93IiwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGdyb3VwUm9sZToicm93Z3JvdXAiLGFyaWFMZXZlbDoxfSxtKSl9KCF0Lm1heU9taXRTZXBhcmF0b3J8fHQuaXRlbXMubGVuZ3RoPjEpJiYoZC51bnNoaWZ0KGsoYGJlZ2luLSR7dC5uYW1lfWApKSxkLnB1c2goayhgZW5kLSR7dC5uYW1lfWApKSk7cmV0dXJuIGR9KHtncm91cDp0LGlzU2luZ2xlOmUsYXJpYVBvc0luU2V0Om4rMStFLGFyaWFTZXRTaXplOk19KSkpLG49W10uY29uY2F0KC4uLnQpO3JldHVybigwLCRlLmNvbGxhcHNlU2VwYXJhdG9ycykobil9KCkpO2Z1bmN0aW9uIGsoZSl7cmV0dXJuImxlZ2FjeSI9PT1TP2kuY3JlYXRlRWxlbWVudChiLlBvcHVwTWVudVNlcGFyYXRvcix7a2V5OmV9KTppLmNyZWF0ZUVsZW1lbnQoZC5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciIsa2V5OmV9KX19dmFyIG90PW4oNDUwMjcxKTtjb25zdCBzdD17dGltZUludGVydmFsOnUudChudWxsLHZvaWQgMCxuKDY5NDYzNykpfSxsdD0oMCxvZS5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlsiLCJdLHRleHQ6dS50KG51bGwsdm9pZCAwLG4oNTQ4NjkwKSl9KSxydD0oMCx5LnJlZ2lzdHJ5Q29udGV4dFR5cGUpKCksZHQ9bmV3IFplLkRlbGVnYXRlLHV0PWkubGF6eSgoYXN5bmMoKT0+KHsKZGVmYXVsdDooYXdhaXQgUHJvbWlzZS5hbGwoW24uZSg2NDM2MSksbi5lKDI5Mjk2KSxuLmUoNTIzOTYpLG4uZSg2MDA2Miksbi5lKDIwMzU0KSxuLmUoMTM0OTIpLG4uZSgzNzc0Niksbi5lKDE5NTk1KSxuLmUoMTk3ODcpLG4uZSg4NTc5KSxuLmUoMTAzODUpLG4uZSg1MjA2NSksbi5lKDY2MDUpLG4uZSg3NDM4MSksbi5lKDU3MzAwKSxuLmUoNDA4NjcpLG4uZSg1MDgwMCksbi5lKDI3MzM3KSxuLmUoNDkxNDkpLG4uZSgzOTYwOSksbi5lKDY4MzA0KSxuLmUoNTE2ODYpXSkudGhlbihuLmJpbmQobiwyNTAwMjUpKSkuVG9vbFdpZGdldEludGVydmFsc0FkZERpYWxvZ30pKSk7Y2xhc3MgY3QgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2RlZmF1bHRJbnRlcnZhbHM9W10sdGhpcy5fbWVudT1pLmNyZWF0ZVJlZigpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lclJlZj1pLmNyZWF0ZVJlZigpLHRoaXMuX2RyYXdlckNvbnRhaW5lclJlZj1pLmNyZWF0ZVJlZigpLHRoaXMuX2hhbmRsZUNoYW5nZUludGVydmFsPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSx7YWN0aXZlSW50ZXJ2YWw6dCxsYXN0Tm90UXVpY2tlZDpufT10aGlzLnN0YXRlLGE9dGhpcy5fZ2V0UXVpY2tzKCk7dGhpcy5zZXRTdGF0ZSh7YWN0aXZlSW50ZXJ2YWw6KDAsVmUubm9ybWFsaXplSW50ZXJ2YWxTdHJpbmcpKGUpLGxhc3ROb3RRdWlja2VkOnZvaWQgMD09PXR8fGEuaW5jbHVkZXModCk/bjp0fSl9LHRoaXMuX2hhbmRsZUNoYW5nZVN1cHBvcnRlZFJlc29sdXRpb25zPWU9Pnt0aGlzLl91cGRhdGVEZWZhdWx0SW50ZXJ2YWxzKCksdGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZT0oKT0+e3RoaXMuZm9yY2VVcGRhdGUoKX0sdGhpcy5faXNJbnRlcnZhbERlZmF1bHQ9ZT0+dGhpcy5fZGVmYXVsdEludGVydmFscy5pbmNsdWRlcyhlKSx0aGlzLl9pc0ludGVydmFsRmF2b3JpdGU9ZT0+dGhpcy5zdGF0ZS5mYXZvcml0ZXMuaW5jbHVkZXMoZSksdGhpcy5faGFuZGxlU2VsZWN0SW50ZXJ2YWw9KGUsdCxuKT0+e2NvbnN0IGE9Yy5saW5raW5nLmludGVydmFsLnZhbHVlKCk7dm9pZCAwPT09ZXx8UmUuSW50ZXJ2YWwuaXNFcXVhbChlLGEpfHxjLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IoZSxuPz8iSGVhZGVyIHRvb2xiYXIiKSxlJiYoMCxYLnRyYWNrRXZlbnQpKCJHVUkiLCJUaW1lIEludGVydmFsIixlKX0sdGhpcy5faGFuZGxlQ2xpY2tGYXZvcml0ZT1lPT57ZT0oMCxuZS5lbnN1cmVEZWZpbmVkKShlKSx0aGlzLl9pc0ludGVydmFsRmF2b3JpdGUoZSk/dGhpcy5faGFuZGxlUmVtb3ZlRmF2b3JpdGUoZSk6dGhpcy5faGFuZGxlQWRkRmF2b3JpdGUoZSl9LHRoaXMuX2hhbmRsZUFkZEZhdm9yaXRlPWU9Pntjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZTt0aGlzLmNvbnRleHQuZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlLnNldChbLi4udCxlXSl9LHRoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlPWU9Pntjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZTt0aGlzLmNvbnRleHQuZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlLnNldCh0LmZpbHRlcigodD0+dCE9PWUpKSl9LHRoaXMuX2hhbmRsZUFkZEludGVydmFsPShlLHQpPT57Y29uc3R7aW50ZXJ2YWxTZXJ2aWNlOm4saW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6YX09dGhpcy5jb250ZXh0LHttZW51Vmlld1N0YXRlOml9PXRoaXMuc3RhdGUsbz1uLmFkZChlLHQpO2lmKG8pe3RoaXMuc2V0U3RhdGUoe2xhc3RBZGRlZEludGVydmFsOm99KTtjb25zdCBlPVJlLkludGVydmFsLnBhcnNlRXh0KG8pO2lmKGUuaW50ZXJ2YWwuaXNNaW51dGVIb3VycygpKXJldHVybiB2b2lkIGEuc2V0KHsuLi5pLFtSZS5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnNdOiExfSk7Y29uc3QgdD1lLmd1aVJlc29sdXRpb25LaW5kO2lmKHQ9PT1SZS5SZXNvbHV0aW9uS2luZC5EYXlzfHx0PT09UmUuUmVzb2x1dGlvbktpbmQuV2Vla3N8fHQ9PT1SZS5SZXNvbHV0aW9uS2luZC5Nb250aHMpcmV0dXJuIHZvaWQgYS5zZXQoey4uLmksW1JlLlJlc29sdXRpb25LaW5kLkRheXNdOiExfSk7YS5zZXQoey4uLmksW3RdOiExfSl9fSx0aGlzLl9oYW5kbGVSZW1vdmVJbnRlcnZhbD0oZSx0KT0+e2NvbnN0e2ludGVydmFsU2VydmljZTpufT10aGlzLmNvbnRleHQsYT10aGlzLl9tZW51SXRlbXNDb250YWluZXJSZWYuY3VycmVudDtpZihlKXtpZih0JiYoMCxHLmlzS2V5Ym9hcmRDbGljaykodCkmJmEpe2NvbnN0IHQ9KDAsaWUucXVlcnlNZW51RWxlbWVudHMpKGEpLG49dC5maW5kSW5kZXgoKHQ9PnQubWF0Y2hlcyhgW2RhdGEtdmFsdWU9IiR7ZX0iXWApKSk7aWYoLTEhPT1uKXtjb25zdCBlPXRbbisxXT8/dFtuLTFdO2U/ZS5mb2N1cygpOigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkoYSl9fW4ucmVtb3ZlKGUpLHRoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlKGUpfX0sdGhpcy5fZ2V0SGFuZGxlU2VjdGlvblN0YXRlQ2hhbmdlPWU9PnQ9Pntjb25zdHttZW51Vmlld1N0YXRlOm59PXRoaXMuc3RhdGUse2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOmF9PXRoaXMuY29udGV4dDthLnNldCh7Li4ubixbZV06IXR9KX0sdGhpcy5faGFuZGxlT3BlbkFkZEludGVydmFsRGlhbG9nPSgpPT57dGhpcy5zZXRTdGF0ZSh7aXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDohMH0pfSx0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nPSgpPT57dGhpcy5zZXRTdGF0ZSh7aXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDohMX0pfSx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZT0oKT0+e2NvbnN0e2lzRmFrZTplfT10aGlzLnByb3BzLHtpc0FkZEludGVydmFsRGlhbG9nT3BlbmVkOnR9PXRoaXMuc3RhdGU7ZXx8dHx8ZHQuZmlyZSgpfSx0aGlzLl9oYW5kZVF1aWNrQ2xpY2s9ZT0+e3RoaXMuX2hhbmRsZVNlbGVjdEludGVydmFsKGUsdm9pZCAwLCJGYXZvcml0ZXMiKSx0aGlzLl90cmFja0NsaWNrKCl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7CmNoYXJ0QXBpSW5zdGFuY2U6by5hbnkuaXNSZXF1aXJlZCxmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxpbnRlcnZhbFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxpbnRlcnZhbHNNZW51Vmlld1N0YXRlU2VydmljZTpvLmFueS5pc1JlcXVpcmVkfSk7Y29uc3R7ZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOm4saW50ZXJ2YWxTZXJ2aWNlOnMsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6bH09dDt0aGlzLl9jdXN0b21JbnRlcnZhbHM9KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3VzdG9tX3Jlc29sdXRpb25zIik7Y29uc3Qgcj1jLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSxkPXImJigwLFZlLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKShyKSx1PW4uZ2V0KCksaD1zLmdldEN1c3RvbUludGVydmFscygpLHY9bC5nZXQoKTt0aGlzLl91cGRhdGVEZWZhdWx0SW50ZXJ2YWxzKCksdGhpcy5zdGF0ZT17YWN0aXZlSW50ZXJ2YWw6ZCxmYXZvcml0ZXM6dSxjdXN0b21zOmgsbWVudVZpZXdTdGF0ZTp2LGlzQWRkSW50ZXJ2YWxEaWFsb2dPcGVuZWQ6ITF9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOmUsaW50ZXJ2YWxTZXJ2aWNlOnQsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6bn09dGhpcy5jb250ZXh0O2UuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VGYXZvcml0ZXMpLG4uZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VNZW51Vmlld1N0YXRlKSx0LmdldE9uQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlQ2hhbmdlQ3VzdG9tcyksYy5saW5raW5nLmludGVydmFsLnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VJbnRlcnZhbCksYy5saW5raW5nLmludHJhZGF5LnN1YnNjcmliZSh0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZSksYy5saW5raW5nLnNlY29uZHMuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcudGlja3Muc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcucmFuZ2Uuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUNoYW5nZVN1cHBvcnRlZFJlc29sdXRpb25zKSxjLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSx6ZS5nbG9iYWxDbG9zZURlbGVnYXRlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2NvbnN0e2Zhdm9yaXRlSW50ZXJ2YWxzU2VydmljZTplLGludGVydmFsU2VydmljZTp0LGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOm59PXRoaXMuY29udGV4dDtlLmdldE9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VGYXZvcml0ZXMpLG4uZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZU1lbnVWaWV3U3RhdGUpLHQuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZUN1c3RvbXMpLGMubGlua2luZy5pbnRlcnZhbC51bnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VJbnRlcnZhbCksYy5saW5raW5nLmludHJhZGF5LnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcuc2Vjb25kcy51bnN1YnNjcmliZSh0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZSksYy5saW5raW5nLnRpY2tzLnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcucmFuZ2UudW5zdWJzY3JpYmUodGhpcy5fYmluZGVkRm9yY2VVcGRhdGUpLGMubGlua2luZy5zdXBwb3J0ZWRSZXNvbHV0aW9ucy51bnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VTdXBwb3J0ZWRSZXNvbHV0aW9ucyksYy5saW5raW5nLmRhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSx6ZS5nbG9iYWxDbG9zZURlbGVnYXRlLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2UpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe3RoaXMuc3RhdGUubGFzdEFkZGVkSW50ZXJ2YWwmJnNldFRpbWVvdXQoKCgpPT50aGlzLnNldFN0YXRlKHtsYXN0QWRkZWRJbnRlcnZhbDp2b2lkIDB9KSksMTYwMCl9cmVuZGVyKCl7Y29uc3R7aXNTaG93blF1aWNrczplLGlkOnR9PXRoaXMucHJvcHMse2FjdGl2ZUludGVydmFsOm4sY3VzdG9tczpvLGxhc3ROb3RRdWlja2VkOnMsaXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDpyfT10aGlzLnN0YXRlLGQ9dGhpcy5fZ2V0UXVpY2tzKCksdT0oMCxWZS5zb3J0UmVzb2x1dGlvbnMpKFsuLi5kXSk7dm9pZCAwIT09biYmdS5pbmNsdWRlcyhuKT92b2lkIDAhPT1zJiZ1LnB1c2gocyk6dm9pZCAwIT09biYmdS5wdXNoKG4pO2NvbnN0IGM9KCEoIWV8fDA9PT1kLmxlbmd0aCl8fHZvaWQgMCkmJnUubGVuZ3RoPjEsaD17fSx2PSgwLFZlLm1lcmdlUmVzb2x1dGlvbnMpKHRoaXMuX2RlZmF1bHRJbnRlcnZhbHMsbyksZj12b2lkIDAhPT1uP3YuY29uY2F0KG4pOnY7KHZvaWQgMCE9PXM/Zi5jb25jYXQocyk6ZikuZmlsdGVyKFZlLmlzQXZhaWxhYmxlKS5mb3JFYWNoKChlPT5oW2VdPSEwKSk7Y29uc3QgYj12b2lkIDAhPT1uPygwLFZlLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwpKG4pOm51bGw7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDp0fSxjJiZpLmNyZWF0ZUVsZW1lbnQoVCx7Y2xhc3NOYW1lOm90Lmdyb3VwLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIn0sdS5tYXAoKChlLHQpPT57Y29uc3QgYT0oMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKShlKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGcse2tleTp0LHJvbGU6InJhZGlvIixjbGFzc05hbWU6b3QuYnV0dG9uLHRleHQ6aS5jcmVhdGVFbGVtZW50KExlLHsKdmFsdWU6YS5tYXlPbWl0TXVsdGlwbGllcj92b2lkIDA6YS5tdWx0aXBsaWVyLG1ldHJpYzphLnNob3J0S2luZH0pLGhpbnQ6YS5oaW50LCJhcmlhLWNoZWNrZWQiOm49PT1lLGlzQWN0aXZlOm49PT1lLGlzRGlzYWJsZWQ6IWhbZV0sb25DbGljazp0aGlzLl9oYW5kZVF1aWNrQ2xpY2ssb25DbGlja0FyZzplLCJkYXRhLXZhbHVlIjplfSl9KSkpLGkuY3JlYXRlRWxlbWVudCh3Lk1hdGNoTWVkaWEse3J1bGU6Qy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKGU9PmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KE5lLkNsb3NlRGVsZWdhdGVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpkdH0saS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se2Fycm93OkJvb2xlYW4oYyksY2xvc2VPbkNsaWNrT3V0c2lkZTohcixjb250ZW50OmN8fG51bGw9PT1iP3ZvaWQgMDppLmNyZWF0ZUVsZW1lbnQocC5Ub29sV2lkZ2V0Um93V3JhcCx7Y2xhc3NOYW1lOm90Lm1lbnVDb250ZW50fSxpLmNyZWF0ZUVsZW1lbnQoTGUse3ZhbHVlOmIubWF5T21pdE11bHRpcGxpZXI/dm9pZCAwOmIubXVsdGlwbGllcixtZXRyaWM6Yi5zaG9ydEtpbmR9KSksaG90S2V5OmM/bHQ6dm9pZCAwLGNsYXNzTmFtZTpvdC5tZW51QnRuLHJlZjp0aGlzLl9tZW51LGlzRHJhd2VyOmUsb25DbGljazp0aGlzLl90cmFja0NsaWNrLHRvb2x0aXA6Y3x8bnVsbD09PWI/c3QudGltZUludGVydmFsOmIuaGludCxtZW51UmVmZXJlbmNlOnRoaXMuX21lbnVJdGVtc0NvbnRhaW5lclJlZixtZW51Um9sZToidHJlZWdyaWQiLGRyYXdlclJlZmVyZW5jZTp0aGlzLl9kcmF3ZXJDb250YWluZXJSZWYsZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKX0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG90LmRyb3Bkb3duLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKSYmb3QubmV3VmlldywhZSYmb3QuZGVza3RvcCl9LGkuY3JlYXRlRWxlbWVudChpdCx7aW50ZXJ2YWxzOnYsaXNDdXN0b21JbnRlcnZhbHNFbmFibGVkOnRoaXMuX2N1c3RvbUludGVydmFscyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnRoaXMucHJvcHMuaXNGYXZvcml0aW5nQWxsb3dlZCxhY3RpdmVJbnRlcnZhbDp0aGlzLnN0YXRlLmFjdGl2ZUludGVydmFsLGxhc3RBZGRlZEludGVydmFsOnRoaXMuc3RhdGUubGFzdEFkZGVkSW50ZXJ2YWwsbWVudVZpZXdTdGF0ZTp0aGlzLnN0YXRlLm1lbnVWaWV3U3RhdGUsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6dGhpcy5jb250ZXh0LmludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlLHNjcm9sbENvbnRhaW5lclJlZjplP3RoaXMuX2RyYXdlckNvbnRhaW5lclJlZjp0aGlzLl9tZW51SXRlbXNDb250YWluZXJSZWYsb25PcGVuQWRkSW50ZXJ2YWxEaWFsb2c6dGhpcy5faGFuZGxlT3BlbkFkZEludGVydmFsRGlhbG9nLG9uU2VsZWN0SW50ZXJ2YWw6dGhpcy5faGFuZGxlU2VsZWN0SW50ZXJ2YWwsb25SZW1vdmVJbnRlcnZhbDp0aGlzLl9oYW5kbGVSZW1vdmVJbnRlcnZhbCxvbkNsaWNrRmF2b3JpdGU6dGhpcy5faGFuZGxlQ2xpY2tGYXZvcml0ZSxvblNlY3Rpb25TdGF0ZUNoYW5nZTp0aGlzLl9nZXRIYW5kbGVTZWN0aW9uU3RhdGVDaGFuZ2UsaXNJbnRlcnZhbEZhdm9yaXRlOnRoaXMuX2lzSW50ZXJ2YWxGYXZvcml0ZSxpc0ludGVydmFsRGVmYXVsdDp0aGlzLl9pc0ludGVydmFsRGVmYXVsdCxpc1NtYWxsVGFibGV0OmUsdmlld01vZGU6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpPyJuZXciOiJsZWdhY3kifSkpKSksciYmaS5jcmVhdGVFbGVtZW50KGkuU3VzcGVuc2Use2ZhbGxiYWNrOm51bGx9LGkuY3JlYXRlRWxlbWVudCh1dCx7b25BZGQ6dGhpcy5faGFuZGxlQWRkSW50ZXJ2YWwsb25DbG9zZTp0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nLG9uVW5tb3VudDp0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nLGludGVydmFsU2VydmljZTp0aGlzLmNvbnRleHQuaW50ZXJ2YWxTZXJ2aWNlLGlzU21hbGxUYWJsZXQ6ZX0pKSkpKSl9X3VwZGF0ZURlZmF1bHRJbnRlcnZhbHMoKXt0aGlzLl9kZWZhdWx0SW50ZXJ2YWxzPXRoaXMuY29udGV4dC5jaGFydEFwaUluc3RhbmNlLmRlZmF1bHRSZXNvbHV0aW9ucygpLmZpbHRlcihWZS5pc0ludGVydmFsRW5hYmxlZCkubWFwKFZlLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKX1faGFuZGxlQ2hhbmdlRmF2b3JpdGVzKGUpe3RoaXMuc2V0U3RhdGUoe2xhc3ROb3RRdWlja2VkOnZvaWQgMCxmYXZvcml0ZXM6ZX0pfV9oYW5kbGVDaGFuZ2VDdXN0b21zKGUpe3RoaXMuc2V0U3RhdGUoe2N1c3RvbXM6ZX0pfV9oYW5kbGVDaGFuZ2VNZW51Vmlld1N0YXRlKGUpe3RoaXMuc2V0U3RhdGUoe21lbnVWaWV3U3RhdGU6ZX0sKCgpPT57dGhpcy5fbWVudS5jdXJyZW50JiZ0aGlzLl9tZW51LmN1cnJlbnQudXBkYXRlKCl9KSl9X2dldFF1aWNrcyhlKXtyZXR1cm4gdGhpcy5wcm9wcy5pc1Nob3duUXVpY2tzJiYic21hbGwiIT09dGhpcy5wcm9wcy5kaXNwbGF5TW9kZT92b2lkIDA9PT1lP3RoaXMuc3RhdGUuZmF2b3JpdGVzOmU6W119X3RyYWNrQ2xpY2soKXsoMCxELnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsImludGVydmFsIil9fWN0LmNvbnRleHRUeXBlPXJ0O3ZhciBodD1uKDk2NzA1KSx2dD1uKDg1NTEwNyksbXQ9bigzNDY1NTEpO2NvbnN0IHB0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBmdCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5faGFuZGxlQ2xpY2s9KCk9Pntjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246ZSx3aW5kb3dNZXNzYWdlU2VydmljZTp0LGlzRnVuZGFtZW50YWw6bn09dGhpcy5jb250ZXh0LGE9ZS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpCjtjb25zdCBpPWZ1bmN0aW9uKCl7Y29uc3QgZT1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSx0PUpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUuaGFzaC5zbGljZSgxKSkpO3JldHVybiBkZWxldGUgdC5zaG93X3BvcHVwX2J1dHRvbixlLmhhc2g9YCMke2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0KSl9YCxlLnRvU3RyaW5nKCl9KCk7YS53aXRoTW9kZWwobnVsbCwoKCk9Pnt0LnBvc3QocGFyZW50LCJvcGVuQ2hhcnRJblBvcHVwIix7c3ltYm9sOmEubW9kZWwoKS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCksaW50ZXJ2YWw6YS5tb2RlbCgpLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpLGZ1bmRhbWVudGFsOm4sdXJsOml9KX0pKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtpc0Z1bmRhbWVudGFsOm8uYW55LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkLHdpbmRvd01lc3NhZ2VTZXJ2aWNlOm8uYW55LmlzUmVxdWlyZWR9KX1yZW5kZXIoKXtjb25zdHtjbGFzc05hbWU6ZX09dGhpcy5wcm9wcztyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGh0LlRvb2xiYXJJY29uQnV0dG9uLHtjbGFzc05hbWU6bCgpKGUsdnQuYnV0dG9uKSxpY29uOm10LG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig3NTYwMDkpKX0pfX1mdC5jb250ZXh0VHlwZT1wdDt2YXIgZ3Q9big5NDY5NDIpO2NvbnN0IGJ0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyB3dCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fdXBkYXRlU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzT3BlbmVkOmV9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+e2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQsbj10LmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk7KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiQ2hhcnQgSGVhZGVyIFRvb2xiYXIiLCJjaGFydCBwcm9wZXJ0aWVzIiksKDAsRC50cmFja0J1dHRvbkNsaWNrKSgidG9wIHRvb2xiYXIiLCJjaGFydCBzZXR0aW5ncyIpLG4uc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXModm9pZCAwLHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246by5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2lzT3BlbmVkOiExfSx0aGlzLl9wcm9wZXJ0aWVzRGlhbG9nUmVuZGVyZXI9dGhpcy5jb250ZXh0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcigpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fcHJvcGVydGllc0RpYWxvZ1JlbmRlcmVyPy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Byb3BlcnRpZXNEaWFsb2dSZW5kZXJlcj8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1yZW5kZXIoKXtjb25zdHtpc09wZW5lZDplfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaHQuVG9vbGJhckljb25CdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpndCxpc09wZW5lZDplLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig3MzA1ODYpKX0pfX13dC5jb250ZXh0VHlwZT1idDt2YXIgQ3Q9bigzMTg5NzQpLF90PW4oNzM3MTE2KSx5dD1uKDcyNzA5KSxTdD1uKDkwNjY4MykseHQ9big2NjY0NDEpO2NvbnN0IEV0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBNdCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fZXhwb3J0RGlhbG9nUHJvbWlzZT1udWxsLHRoaXMuX3JlY2VudExheW91dHNBYm9ydENvbnRyb2xsZXI9bnVsbCx0aGlzLl9yZXF1ZXN0UmVjZW50TGF5b3V0cz0oKT0+e2lmKHRoaXMuX3JlY2VudExheW91dHNBYm9ydENvbnRyb2xsZXI/LmFib3J0KCksIXRoaXMuc3RhdGUuaXNBdXRoZW50aWNhdGVkKXJldHVybjtjb25zdHtsb2FkQ2hhcnRTZXJ2aWNlOmV9PXRoaXMuY29udGV4dDt0aGlzLl9yZWNlbnRMYXlvdXRzQWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5nZXRSZWNlbnRDaGFydHModGhpcy5fcmVjZW50TGF5b3V0c0Fib3J0Q29udHJvbGxlci5zaWduYWwpfSx0aGlzLl91cGRhdGVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHsuLi50LC4uLmV9KSkpfSx0aGlzLl9oYW5kbGVFeHBvcnREYXRhPSgpPT57e2NvbnN0IGU9dGhpcy5fZXhwb3J0RGlhbG9nUHJvbWlzZT0oMCxfdC5sb2FkQ2hhcnRFeHBvcnREaWFsb2dNb2R1bGUpKCkudGhlbigodD0+e3RoaXMuX2V4cG9ydERpYWxvZ1Byb21pc2U9PT1lJiZ0LnNob3dDaGFydEV4cG9ydERpYWxvZ09yTm90aWZpY2F0aW9uKHRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24sKCgpPT50aGlzLl90cmFja0V2ZW50KCJFeHBvcnQgY2hhcnQgZGF0YSIpKSl9KSl9fSx0aGlzLl9vblNhdmVEaWFsb2dWaXNpYmxlQ2hhbmdlPWU9Pnt0aGlzLnNldFN0YXRlKHtpc1NhdmVEaWFsb2dPcGVuZWQ6ZX0pfSx0aGlzLl9zeW5jU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoZSl9LHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcz1lPT57dGhpcy5zdGF0ZS53YXNDaGFuZ2VzIT09ZSYmdGhpcy5zZXRTdGF0ZSh7d2FzQ2hhbmdlczplfSl9LHRoaXMuX29uQ2hhbmdlQXV0b1NhdmVFbmFibGVkPWU9Pnt0aGlzLnNldFN0YXRlKHtpc0F1dG9TYXZlRW5hYmxlZDplfSl9LHRoaXMuX29uQ2hhbmdlU2hhcmluZ0VuYWJsZWQ9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzU2hhcmluZ0VuYWJsZWQ6ZX0pfSx0aGlzLl9vbkNoYW5nZVRpdGxlPWU9Pnt0aGlzLnNldFN0YXRlKHt0aXRsZTplfSl9LHRoaXMuX29uQ2hhbmdlSWQ9ZT0+e3RoaXMuc2V0U3RhdGUoe2lkOmV9KX0sdGhpcy5fb25DaGFydEFib3V0VG9CZVNhdmVkPSgpPT57dGhpcy5zZXRTdGF0ZSh7CmlzUHJvY2Vzc2luZzohMH0pfSx0aGlzLl9vbkNoYXJ0U2F2ZWQ9KCk9Pnt0aGlzLnNldFN0YXRlKHtpc1Byb2Nlc3Npbmc6ITF9KX0sdGhpcy5faGFuZGxlQXV0b1NhdmVFbmFibGVkPWU9PnsoMCxYLnRyYWNrRXZlbnQpKCJBdXRvc2F2ZSIsZT8iT24iOiJPZmYiKSx0aGlzLmNvbnRleHQuc2F2ZUNoYXJ0U2VydmljZS5zZXRBdXRvU2F2ZUVuYWJsZWQoZSl9LHRoaXMuX2hhbmRsZVNoYXJpbmdFbmFibGVkPWU9PntpZih0aGlzLmNvbnRleHQuc2hhcmluZ0NoYXJ0U2VydmljZSl7Y29uc3QgdD1lPyJvbiI6Im9mZiI7KDAsWC50cmFja0V2ZW50KSgiR1VJIixgVHVybiBzaGFyaW5nIGNoYXJ0ICR7dH1gKSx0aGlzLmNvbnRleHQuc2hhcmluZ0NoYXJ0U2VydmljZS5zZXRTaGFyaW5nRW5hYmxlZChlKX19LHRoaXMuX2hhbmRsZUNsaWNrU2F2ZT0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnNhdmVDaGFydE9yU2hvd1RpdGxlRGlhbG9nKCksdGhpcy5fdHJhY2tFdmVudCgiU2F2ZSBjbGljayIpfSx0aGlzLl9oYW5kbGVPcGVuTWVudT0oKT0+e3RoaXMuX3JlcXVlc3RSZWNlbnRMYXlvdXRzKCl9LHRoaXMuX2hhbmRsZUNsaWNrU2F2ZUZyb21NZW51PSgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2Uuc2F2ZUNoYXJ0T3JTaG93VGl0bGVEaWFsb2coKSx0aGlzLl90cmFja0V2ZW50KCJTYXZlIEZyb20gTWVudSIpfSx0aGlzLl9oYW5kbGVDbGlja0Nsb25lPSgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuY2xvbmVDaGFydCgpfSx0aGlzLl9oYW5kbGVDbGlja1NhdmVBcz0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnNhdmVDaGFydEFzKCksdGhpcy5fdHJhY2tFdmVudCgiTWFrZSBhIGNvcHkiKX0sdGhpcy5faGFuZGxlQ2xpY2tOZXc9KCk9Pnt3aW5kb3cucnVuT3JTaWduSW4oKCgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuY3JlYXRlRW1wdHlDaGFydCgpfSkse3NvdXJjZToiY3JlYXRlX2VtcHR5X2NoYXJ0In0pLHRoaXMuX3RyYWNrRXZlbnQoIk5ldyBjaGFydCBsYXlvdXQiKX0sdGhpcy5faGFuZGxlQ2xpY2tMb2FkPSgpPT57dGhpcy5jb250ZXh0LmxvYWRDaGFydFNlcnZpY2Uuc2hvd0xvYWREaWFsb2coKSx0aGlzLl90cmFja0V2ZW50KCJMb2FkIGNoYXJ0IGxheW91dCIpfSx0aGlzLl9oYW5kbGVIb3RrZXk9KCk9Pnt0aGlzLmNvbnRleHQubG9hZENoYXJ0U2VydmljZS5zaG93TG9hZERpYWxvZygpfSx0aGlzLl9oYW5kbGVDbGlja1JlbmFtZT0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnJlbmFtZUNoYXJ0KCksdGhpcy5fdHJhY2tFdmVudCgiUmVuYW1lIil9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWQsY2hhcnRDaGFuZ2VzV2F0Y2hlcjpvLmFueS5pc1JlcXVpcmVkLHNhdmVDaGFydFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxzaGFyaW5nQ2hhcnRTZXJ2aWNlOigwLEN0LmlzU3ltcGhvbnlFbWJlZCkoKT9vLmFueTpvLmFueS5pc1JlcXVpcmVkLGxvYWRDaGFydFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZH0pO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpuLGNoYXJ0Q2hhbmdlc1dhdGNoZXI6YSxzYXZlQ2hhcnRTZXJ2aWNlOmksc2hhcmluZ0NoYXJ0U2VydmljZTpzLGxvYWRDaGFydFNlcnZpY2U6bH09dDt0aGlzLl9sb2FkQ2hhcnRTZXJ2aWNlU3RhdGU9bC5zdGF0ZSgpLHRoaXMuc3RhdGU9e2lzQXV0aGVudGljYXRlZDp3aW5kb3cuaXNfYXV0aGVudGljYXRlZCxpc1Byb2Nlc3Npbmc6ITEsaWQ6bi5tZXRhSW5mby5pZC52YWx1ZSgpLHRpdGxlOm4ubWV0YUluZm8ubmFtZS52YWx1ZSgpLHdhc0NoYW5nZXM6YS5oYXNDaGFuZ2VzKCksaXNBdXRvU2F2ZUVuYWJsZWQ6aS5hdXRvU2F2ZUVuYWJsZWQoKS52YWx1ZSgpLGlzU2hhcmluZ0VuYWJsZWQ6ISFzJiZzLnNoYXJpbmdFbmFibGVkKCkudmFsdWUoKSxyZWNlbnRMYXlvdXRzOltdLGljb25Ib3ZlcmVkOiExLGlzU2F2ZURpYWxvZ09wZW5lZDohMSwuLi50aGlzLl9sb2FkQ2hhcnRTZXJ2aWNlU3RhdGUudmFsdWUoKX19Y29tcG9uZW50RGlkTW91bnQoKXtjb25zdHtjaGFydFNhdmVyOmUsaXNGYWtlOnQsc3RhdGVTeW5jRW1pdHRlcjphfT10aGlzLnByb3BzLHtjaGFydFdpZGdldENvbGxlY3Rpb246aSxjaGFydENoYW5nZXNXYXRjaGVyOm8sc2F2ZUNoYXJ0U2VydmljZTpzLHNoYXJpbmdDaGFydFNlcnZpY2U6bCxsb2FkQ2hhcnRTZXJ2aWNlOnJ9PXRoaXMuY29udGV4dDt0P2Eub24oImNoYW5nZSIsdGhpcy5fc3luY1N0YXRlKTooby5nZXRPbkNoYW5nZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcykscy5hdXRvU2F2ZUVuYWJsZWQoKS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VBdXRvU2F2ZUVuYWJsZWQpLGw/LnNoYXJpbmdFbmFibGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhbmdlU2hhcmluZ0VuYWJsZWQpLGkubWV0YUluZm8ubmFtZS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VUaXRsZSksaS5tZXRhSW5mby5pZC5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VJZCksdGhpcy5faG90a2V5cz0oMCx5dC5jcmVhdGVHcm91cCkoe2Rlc2M6IlNhdmUvTG9hZCJ9KSx0aGlzLl9ob3RrZXlzLmFkZCh7ZGVzYzp1LnQobnVsbCx2b2lkIDAsbigyNDI5MTMpKSxoYW5kbGVyOnRoaXMuX2hhbmRsZUhvdGtleSxob3RrZXk6MTkwfSksZS5jaGFydFNhdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFNhdmVkKSxlLmNoYXJ0QWJvdXRUb0JlU2F2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0QWJvdXRUb0JlU2F2ZWQpLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSksdGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuZ2V0Q3JlYXRlQ29udHJvbGxlcigpLnZpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fb25TYXZlRGlhbG9nVmlzaWJsZUNoYW5nZSksdGhpcy5fbG9hZENoYXJ0U2VydmljZVN0YXRlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSksCnh0LnNob3dGYXZvcml0ZUxheW91dHMmJnIucmVmcmVzaENoYXJ0TGlzdCgpKX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0aGlzLnByb3BzLmlzRmFrZXx8dCE9PXRoaXMuc3RhdGUmJnRoaXMucHJvcHMuc3RhdGVTeW5jRW1pdHRlci5lbWl0KCJjaGFuZ2UiLHRoaXMuc3RhdGUpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRTYXZlcjplLGlzRmFrZTp0LHN0YXRlU3luY0VtaXR0ZXI6bn09dGhpcy5wcm9wcyx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmEsY2hhcnRDaGFuZ2VzV2F0Y2hlcjppLHNhdmVDaGFydFNlcnZpY2U6byxzaGFyaW5nQ2hhcnRTZXJ2aWNlOnN9PXRoaXMuY29udGV4dDt0P24ub2ZmKCJjaGFuZ2UiLHRoaXMuX3N5bmNTdGF0ZSk6KGkuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcyksby5hdXRvU2F2ZUVuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUF1dG9TYXZlRW5hYmxlZCkscz8uc2hhcmluZ0VuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZVNoYXJpbmdFbmFibGVkKSxhLm1ldGFJbmZvLm5hbWUudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VUaXRsZSksYS5tZXRhSW5mby5pZC51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUlkKSwoMCxuZS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ob3RrZXlzKS5kZXN0cm95KCksZS5jaGFydFNhdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0U2F2ZWQpLGUuY2hhcnRBYm91dFRvQmVTYXZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydEFib3V0VG9CZVNhdmVkKSx3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSksdGhpcy5fcmVjZW50TGF5b3V0c0Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKSx0aGlzLmNvbnRleHQuc2F2ZUNoYXJ0U2VydmljZS5nZXRDcmVhdGVDb250cm9sbGVyKCkudmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU2F2ZURpYWxvZ1Zpc2libGVDaGFuZ2UpLHRoaXMuX2xvYWRDaGFydFNlcnZpY2VTdGF0ZS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSkpfXJlbmRlcigpe2NvbnN0e2lzUmVhZE9ubHk6ZSxkaXNwbGF5TW9kZTp0LGlkOm4saXNGYWtlOm99PXRoaXMucHJvcHMse2lzUHJvY2Vzc2luZzpzLGlzQXV0aGVudGljYXRlZDpsLHRpdGxlOnIsaWQ6ZCx3YXNDaGFuZ2VzOnUsaXNBdXRvU2F2ZUVuYWJsZWQ6Yyxpc1NoYXJpbmdFbmFibGVkOmgsaXNTYXZlRGlhbG9nT3BlbmVkOnYsZmF2b3JpdGVzOm0sY2hhcnRMaXN0OnAscmVjZW50czpmfT10aGlzLnN0YXRlLGc9e2Rpc3BsYXlNb2RlOnQsaXNSZWFkT25seTplLGlzQXV0aGVudGljYXRlZDpsLGlzUHJvY2Vzc2luZzpzLHdhc0NoYW5nZXM6dSx0aXRsZTpyLGlkOm4saXNTYXZlRGlhbG9nT3BlbmVkOnYsZmF2b3JpdGVzOm0sY2hhcnRMaXN0OnAsY2hhcnRJZDpudWxsIT09ZD9kOnZvaWQgMCxkYXRhTmFtZVNhdmVNZW51Om8/dm9pZCAwOiJzYXZlLWxvYWQtbWVudSIsb25DbG9uZUNoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrQ2xvbmUsb25TYXZlQ2hhcnQ6dGhpcy5faGFuZGxlQ2xpY2tTYXZlLG9uU2F2ZUNoYXJ0RnJvbU1lbnU6dGhpcy5faGFuZGxlQ2xpY2tTYXZlRnJvbU1lbnUsb25SZW5hbWVDaGFydDp0aGlzLl9oYW5kbGVDbGlja1JlbmFtZSxvblNhdmVBc0NoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrU2F2ZUFzLG9uTG9hZENoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrTG9hZCxpc05ld1ZpZXc6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpfTtyZXR1cm4gZy5vbk5ld0NoYXJ0PXRoaXMuX2hhbmRsZUNsaWNrTmV3LGcub25FeHBvcnREYXRhPXRoaXMuX2hhbmRsZUV4cG9ydERhdGEsZy5vbkF1dG9TYXZlQ2hhbmdlZD10aGlzLl9oYW5kbGVBdXRvU2F2ZUVuYWJsZWQsZy5vblNoYXJpbmdDaGFuZ2VkPXRoaXMuX2hhbmRsZVNoYXJpbmdFbmFibGVkLGcuaXNBdXRvU2F2ZUVuYWJsZWQ9YyxnLmlzU2hhcmluZ0VuYWJsZWQ9aCxnLnJlY2VudEl0ZW1zPWYsZy5vbk9wZW5NZW51PXRoaXMuX2hhbmRsZU9wZW5NZW51LGcuYXV0b1NhdmVJZD1vP3ZvaWQgMDoiY2hhcnQtYXV0by1zYXZlIixpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHtydWxlOkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChlPT5pLmNyZWF0ZUVsZW1lbnQoU3QuVG9vbFdpZGdldFNhdmVMb2FkVmlldyx7Li4uZyxpc1RhYmxldFNtYWxsOmV9KSkpfV9vbkxvZ2luU3RhdGVDaGFuZ2UoKXtjb25zdCBlPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3RoaXMuc2V0U3RhdGUoe2lzQXV0aGVudGljYXRlZDplfSkseHQuc2hvd0Zhdm9yaXRlTGF5b3V0cyYmdGhpcy5jb250ZXh0LmxvYWRDaGFydFNlcnZpY2UucmVmcmVzaENoYXJ0TGlzdCgpfV90cmFja0V2ZW50KGUpeygwLFgudHJhY2tFdmVudCkoIkdVSSIsIk1hbmFnZSBjaGFydCBsYXlvdXQiLGUpfX1NdC5jb250ZXh0VHlwZT1FdDt2YXIga3Q9big2NTkzNjUpLEl0PW4oMzMyMzcxKSxUdD1uKDk5NTcxOSksQXQ9bigxMTczMTMpLEh0PW4oOTcxNjU5KTtmdW5jdGlvbiBWdChlKXtjb25zdFt0LG5dPSgwLGkudXNlU3RhdGUpKCExKSxhPSgwLEh0LnVzZUlzTW91bnRlZCkoKSxvPSgwLGkudXNlQ2FsbGJhY2spKChhc3luYygpPT57bighMCksYXdhaXQgZS5zZXJ2ZXJTbmFwc2hvdCgpLGEuY3VycmVudCYmbighMSl9KSxbZS5zZXJ2ZXJTbmFwc2hvdF0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoVHQuVG9vbFdpZGdldEJ1dHRvbix7aWQ6ZS5pZCxjbGFzc05hbWU6ZS5jbGFzc05hbWUsaXNEaXNhYmxlZDp0LG9uQ2xpY2s6byx0aXRsZTplLnRvb2x0aXAsaWNvbjplLmljb259KX12YXIgUnQ9big3OTU5ODYpLEZ0PW4oMTE3NzI5KSxMdD1uLm4oRnQpO2NvbnN0IFp0PSgwLGt0LmJpbmRTY3JlZW5zaG90KSgoZnVuY3Rpb24oZSl7cmV0dXJuKDAsQXQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKT9pLmNyZWF0ZUVsZW1lbnQoVnQsey4uLmUsaWNvbjpSdAp9KTppLmNyZWF0ZUVsZW1lbnQobS5Ub29sYmFyTWVudUJ1dHRvbix7Y29udGVudDppLmNyZWF0ZUVsZW1lbnQoVHQuVG9vbFdpZGdldEJ1dHRvbix7dGFnOiJkaXYiLGlkOmUuaWQsY2xhc3NOYW1lOmUuY2xhc3NOYW1lLGljb246UnR9KSxkcmF3ZXJCcmVha3BvaW50OkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsb25DbGljazpmdW5jdGlvbigpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwic25hcHNob3QiKX0sdG9vbHRpcDplLnRvb2x0aXAsZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKSxtZW51Um9sZToidHJlZWdyaWQifSwoKHtpc0RyYXdlcjp0fSk9PmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKSgoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJkx0KCkubmV3VmlldywhdCYmTHQoKS5kZXNrdG9wKX0saS5jcmVhdGVFbGVtZW50KEl0LlRvb2xXaWRnZXRTY3JlZW5zaG90Q29udGVudCx7Li4uZX0pKSkpfSkpO3ZhciBOdD1uKDU1NzA2NSksenQ9bigzODcyMzEpLEJ0PW4oMjQzOTM4KSxPdD1uKDg0MTY1NSksRHQ9big2MTQzODApLFd0PW4oODUxNDU4KSxQdD1uKDQ0NDU1MCk7ZnVuY3Rpb24gVXQoZSl7Y29uc3R7aWQ6dCxjbGFzc05hbWU6bix0b29sdGlwOmEsdmFsdWU6byxvbkNsaWNrOnMsYWN0aW9uOmR9PWUsW3UsY109KDAsT2UudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxbaCx2XT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKGQucmVmZXJlbmNlPz9udWxsKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKFB0LmNvbnRhaW5lcixuKX0saS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtpZDp0LHJlZjp1LHRhYkluZGV4OmMsY2xhc3NOYW1lOmwoKShQdC5idXR0b24sImFwcGx5LWNvbW1vbi10b29sdGlwIiksdGl0bGU6YSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLHMoZSl9fSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6UHQudmFsdWV9LG8pKSxpLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse2lkOmQuaWQscmVmOmgsdGFiSW5kZXg6dixjbGFzc05hbWU6bCgpKFB0LmFjdGlvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSx0aXRsZTpkLnRvb2x0aXAsb25DbGljazpmdW5jdGlvbihlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxkLm9uQ2xpY2soZSl9fSxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6UHQuaWNvbixpY29uOmQuaWNvbn0pKSl9dmFyIGp0PW4oMzIwNTUpLEt0PW4oNjQzOTAzKSxRdD1uKDQ5MDIwNCkscXQ9big3ODQ1MTMpLCR0PW4oMjE0MzIpLFh0PW4oOTcxMTgzKSxHdD1uKDI3MzUwOSksSnQ9big2MTU1NDcpLFl0PW4oNDExOTkyKSxlbj1uKDE1OTUxMyksdG49bigyNTg0OSksbm49bigxNTY4MjkpO2NvbnN0IGFuPSgwLGkuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1mdW5jdGlvbihlKXtjb25zdHtzeW1ib2w6dCxwcm92aWRlckxhYmVsOm59PWUsW2Esb109KDAsaS51c2VTdGF0ZSkoe30pLHM9KDAsdG4udXNlRGlhbG9nQWN0aW9ucykoKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1uZXcgSnQuRGV0YWlsc0RhdGFQcm92aWRlcih7c3ltYm9sOnQscXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZTooMCxlbi5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkoKSxsYWJlbDpufSk7cmV0dXJuIGUuc2V0SGFuZGxlcigoZnVuY3Rpb24odCl7aWYodCl7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBvKHt9KSx2b2lkIGUuZGVzdHJveSgpO2lmKHQuYm9uZHNDb21wbGV0ZSYmdC5jb21wbGV0ZSl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLmFnZ3JlZ2F0ZWQuYm9uZHMmJnQudmFsdWVzLmFnZ3JlZ2F0ZWQuYm9uZHMubGVuZ3RoPjAmJigwLG5uLmlzWWllbGQpKHt0eXBlc3BlY3M6dC52YWx1ZXMucXVvdGVzLnR5cGVzcGVjc30pKTtvKCh0PT4oey4uLnQsaGFzWWllbGRDdXJ2ZTplfSkpKX1pZih0LmZ1dHVyZXNDb21wbGV0ZSl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLmFnZ3JlZ2F0ZWQuZnV0dXJlcyYmdC52YWx1ZXMuYWdncmVnYXRlZC5mdXR1cmVzLmxlbmd0aD4wKTtvKCh0PT4oey4uLnQsaGFzQ29udHJhY3RzOmUsaGFzRm9yd2FyZEN1cnZlOmV9KSkpfWlmKHQuY3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlKXtjb25zdCBlPUJvb2xlYW4odC52YWx1ZXMuYWdncmVnYXRlZC5jcnlwdG9fZGVyaXZhdGl2ZV9kYXRhJiYhMCk7bygodD0+KHsuLi50LGhhc0Rlcml2YXRpdmVzOmV9KSkpfWlmKHQuY29tcGxldGUpe2NvbnN0IGU9dC52YWx1ZXMucXVvdGVzO28oKHQ9Pih7Li4udCxsaXN0ZWRFeGNoYW5nZTplLmxpc3RlZF9leGNoYW5nZSx0eXBlOmUudHlwZSxwcmljZXNjYWxlOmUucHJpY2VzY2FsZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3MsaGFzRmluYW5jaWFsczooMCxZdC5oYXNGaW5hbmNpYWxzQnlBdmFpbGFiaWxpdHlGbGFncykoe2ZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5OmUuZmluYW5jaWFsc19hdmFpbGFiaWxpdHksZGl2aWRlbmRzX2F2YWlsYWJpbGl0eTplLmRpdmlkZW5kc19hdmFpbGFiaWxpdHksZWFybmluZ3NfYXZhaWxhYmlsaXR5OmUuZWFybmluZ3NfYXZhaWxhYmlsaXR5fSxlLnR5cGUsZS50eXBlc3BlY3MpfSkpKX1pZih0LmNvbXBsZXRlJiZ0LmNvbXBsZXRlU2NyZWVuZXIpe2NvbnN0IGU9dC52YWx1ZXMuc2NyZWVuZXI/LlsiUmVjb21tZW5kLkFsbCJdLG49dC52YWx1ZXMucXVvdGVzO28oKHQ9Pih7Li4udCxoYXNUZWNobmljYWxzOkJvb2xlYW4obnVsbCE9ZSYmbi5kZXNjcmlwdGlvbiYmbi5saXN0ZWRfZXhjaGFuZ2UmJm4udHlwZSl9KSkpfQp0LmZ1dHVyZXNDb21wbGV0ZSYmdC5ib25kc0NvbXBsZXRlJiZ0LmNyeXB0b0Rlcml2YXRpdmVDb21wbGV0ZSYmdC5jb21wbGV0ZSYmdC5jb21wbGV0ZVNjcmVlbmVyJiZlLmRlc3Ryb3koKX19KSksKCk9PntlLmRlc3Ryb3koKX19KSxbdF0pLHsuLi5hLC4uLnN9fSh7c3ltYm9sOmUuc3ltYm9sLHByb3ZpZGVyTGFiZWw6ZS5wcm92aWRlckxhYmVsfSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChHdC5Db250ZW50TWVudSx7Li4uZSxyZWY6dCxkYXRhOm59KX0pKTt2YXIgb249bigxMzk2NDIpLHNuPW4oNjA0OTEyKSxsbj1uKDk4ODQxNik7Y29uc3Qgcm49KDAsenQubWVyZ2VUaGVtZXMpKGYuREVGQVVMVF9UT09MQkFSX0JVVFRPTl9USEVNRSxsbiksZG49KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpLHVuPSEoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtjbGFzcyBjbiBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fY29udGVudE1lbnVCdXR0b25SZWY9aS5jcmVhdGVSZWYoKSx0aGlzLl9tZW51UmVmPWkuY3JlYXRlUmVmKCksdGhpcy5faXNDb250ZW50TWVudU9wZW5lZEJ5S2V5Ym9hcmQ9ITEsdGhpcy5fb25Db250ZW50TWVudUNsb3NlPSgpPT57dGhpcy5faXNDb250ZW50TWVudU9wZW5lZEJ5S2V5Ym9hcmQmJm51bGwhPT10aGlzLl9tZW51UmVmLmN1cnJlbnQmJnRoaXMuX21lbnVSZWYuY3VycmVudC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmdGhpcy5fY29udGVudE1lbnVCdXR0b25SZWYuY3VycmVudD8uZm9jdXMoKSx0aGlzLnNldFN0YXRlKHtpc0NvbnRlbnRNZW51T3BlbmVkOiExfSl9LHRoaXMuX3RvZ2dsZUNvbnRlbnRNZW51PWU9Pntjb25zdCB0PSF0aGlzLnN0YXRlLmlzQ29udGVudE1lbnVPcGVuZWQ7dCYmKHRoaXMuX2lzQ29udGVudE1lbnVPcGVuZWRCeUtleWJvYXJkPSgwLEcuaXNLZXlib2FyZENsaWNrKShlKSksdGhpcy5zZXRTdGF0ZSh7aXNDb250ZW50TWVudU9wZW5lZDp0fSl9LHRoaXMuX29wZW5TeW1ib2xTZWFyY2hEaWFsb2c9YXN5bmMgZT0+e2lmKCgwLE0ubW9kaWZpZXJzRnJvbUV2ZW50KShlKT09PU0uTW9kaWZpZXJzLkFsdClyZXR1cm4gdm9pZCgwLE50LmdldENsaXBib2FyZCkoKS53cml0ZVRleHQodGhpcy5zdGF0ZS5zeW1ib2wpO2lmKHRoaXMuc3RhdGUuaXNTU09wZW5lZClyZXR1cm47Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnR9PXRoaXMuY29udGV4dCxvPXQ/LmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubW9kZWwoKS5tb2RlbCgpLHM9bz8ubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSxsPSJvcHRpb24iPT09cz8udHlwZTt0cnl7KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiU1MiLCJtYWluIHNlYXJjaCIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwic3ltYm9sIHNlYXJjaCIpO2xldCB0PXRoaXMuX2lzU3ByZWFkKHRoaXMuc3RhdGUuc3ltYm9sKT90aGlzLnN0YXRlLnN5bWJvbDp0aGlzLnN0YXRlLnNob3J0TmFtZTtpZigoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpJiZsKXtjb25zdCBlPWF3YWl0KDAsUXQucmVzb2x2ZVVuZGVybHlpbmdTeW1ib2wpKHRoaXMuc3RhdGUuc3ltYm9sKTtlJiYodD17dHlwZToib3B0aW9uIix2YWx1ZTp0aGlzLnN0YXRlLnN5bWJvbCx1bmRlcmx5aW5nOmV9KX1hd2FpdChuZXcgRHQuU3ltYm9sU2VhcmNoVUkpLnNob3coe3RyYWNrUmVzdWx0c09wdGlvbnM6e3RyYWNrUmVzdWx0czohKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IiksZW1wdHlTZWFyY2hUeXBlOiJlbXB0eV9yZXN1bHRfX3N1cGVyY2hhcnRzIn0sb25DbG9zZTooKT0+e3RoaXMuc2V0U3RhdGUoe2lzU1NPcGVuZWQ6ITF9KX0sb25PcGVuOigpPT57dGhpcy5zZXRTdGF0ZSh7aXNTU09wZW5lZDohMH0pfSxzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSksZGVmYXVsdFZhbHVlOnQsc2hvd1NwcmVhZEFjdGlvbnM6KDAsQnQuY2FuU2hvd1NwcmVhZEFjdGlvbnMpKCkmJnRoaXMucHJvcHMuaXNBY3Rpb25zVmlzaWJsZSxzb3VyY2U6InNlYXJjaEJhciIsZW5hYmxlT3B0aW9uc0NoYWluOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIiksc2VhcmNoVHlwZToic3VwZXJjaGFydHMiLGZvb3RlcjpqZS5tb2JpbGV0b3VjaD92b2lkIDA6aS5jcmVhdGVFbGVtZW50KE90LlN5bWJvbFNlYXJjaERpYWxvZ0Zvb3RlcixudWxsLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP3UudChudWxsLHZvaWQgMCxuKDM5MDE5OCkpOnUudChudWxsLHZvaWQgMCxuKDk2NzI1NykpKX0pfWNhdGNoKGUpe319LHRoaXMuX2lzU3ByZWFkPWU9Pntjb25zdCB0PSgwLFd0LnRva2VuaXplKShlKTtyZXR1cm4oMCxXdC5pc1NwcmVhZCkodCl9LHRoaXMuX29uU3ltYm9sSW5mb1Jlc29sdmVkPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7dGhpcy5zZXRTdGF0ZSh7c3ltYm9sOmUsc2hvcnROYW1lOmhuKCl9KX0sdGhpcy5fb25BY3R1YWxDb250ZW50Q2hhbmdlZD0oKT0+e3RoaXMuc2V0U3RhdGUoe2FjdHVhbENvbnRlbnRJZDpxdC5hY3R1YWxDb250ZW50LnZhbHVlKCl9KX0sdGhpcy5fb25TeW1ib2xDaGFuZ2VkPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7ZT09PXRoaXMuc3RhdGUuc3ltYm9sP3RoaXMuc2V0U3RhdGUoe3N5bWJvbDplLHNob3J0TmFtZTpobigpfSk6dGhpcy5fdXBkYXRlUXVvdGVzKGUpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17c3ltYm9sOmMubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKSxzaG9ydE5hbWU6aG4oKSxhY3R1YWxDb250ZW50SWQ6dW4/cXQuYWN0dWFsQ29udGVudC52YWx1ZSgpOm51bGwsaXNTU09wZW5lZDohMSxpc0NvbnRlbnRNZW51T3BlbmVkOiExfX1jb21wb25lbnREaWRNb3VudCgpewppZihjLmxpbmtpbmcucHJvU3ltYm9sLnN1YnNjcmliZSh0aGlzLl9vblN5bWJvbENoYW5nZWQpLHVuJiZxdC5hY3R1YWxDb250ZW50LnN1YnNjcmliZSh0aGlzLl9vbkFjdHVhbENvbnRlbnRDaGFuZ2VkKSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2Vfc3ltYm9sX25hbWVfZm9yX2hlYWRlcl90b29sYmFyIikpe2NvbnN0IGU9Yy5saW5raW5nLmdldENoYXJ0V2lkZ2V0KCk7ZSYmZS53aXRoTW9kZWwobnVsbCwoKCk9PntlLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKG51bGwsdGhpcy5fb25TeW1ib2xJbmZvUmVzb2x2ZWQsITEpfSkpfUR0LlN5bWJvbFNlYXJjaFVJLnByZWxvYWQoKSx0aGlzLl91cGRhdGVRdW90ZXMoYy5saW5raW5nLnByb1N5bWJvbC52YWx1ZSgpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2lmKGMubGlua2luZy5wcm9TeW1ib2wudW5zdWJzY3JpYmUodGhpcy5fb25TeW1ib2xDaGFuZ2VkKSx1biYmcXQuYWN0dWFsQ29udGVudC51bnN1YnNjcmliZSh0aGlzLl9vbkFjdHVhbENvbnRlbnRDaGFuZ2VkKSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2Vfc3ltYm9sX25hbWVfZm9yX2hlYWRlcl90b29sYmFyIikpe2NvbnN0IGU9Yy5saW5raW5nLmdldENoYXJ0V2lkZ2V0KCk7ZT8uaGFzTW9kZWwoKSYmZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKG51bGwsdGhpcy5fb25TeW1ib2xJbmZvUmVzb2x2ZWQpfX1yZW5kZXIoKXtjb25zdHtpZDplLGNsYXNzTmFtZTp0LGlzRmFrZTpvfT10aGlzLnByb3BzO2lmKCF1bilyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhckJ1dHRvbix7aWQ6ZSxjbGFzc05hbWU6bCgpKHQsKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXBwZXJjYXNlX2luc3RydW1lbnRfbmFtZXMiKSYmbG4udXBwZXJjYXNlLGxuLnNtYWxsTGVmdFBhZGRpbmcpLHRoZW1lOnJuLGljb246c24saXNPcGVuZWQ6dGhpcy5zdGF0ZS5pc1NTT3BlbmVkLHRleHQ6dGhpcy5zdGF0ZS5zaG9ydE5hbWUsb25DbGljazp0aGlzLl9vcGVuU3ltYm9sU2VhcmNoRGlhbG9nLHRvb2x0aXA6dS50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2gifSxuKDYwNDAxKSl9KTtjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246c309dGhpcy5jb250ZXh0LHI9cz8uYWN0aXZlQ2hhcnRXaWRnZXQsZD1yPy52YWx1ZSgpLm9wdGlvbnMoKS5zaG93RmluYW5jaWFsc0VuYWJsZWQ7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KFV0LHtpZDplLGNsYXNzTmFtZTpsKCkobG4uc2VhcmNoQnV0dG9uLHRoaXMuc3RhdGUuaXNDb250ZW50TWVudU9wZW5lZCYmbG4ubWVudU9wZW5lZCksdG9vbHRpcDp1LnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaCJ9LG4oNjA0MDEpKSxhY3Rpb246e2lkOm8/dm9pZCAwOiJoZWFkZXItdG9vbGJhci1zd2l0Y2gtZGF0YS10eXBlIixpY29uOnRoaXMuc3RhdGUuYWN0dWFsQ29udGVudElkPyR0LkNPTlRFTlRfQlVUVE9OX0lDT05TW3RoaXMuc3RhdGUuYWN0dWFsQ29udGVudElkXT8/b246b24sb25DbGljazp0aGlzLl90b2dnbGVDb250ZW50TWVudSxyZWZlcmVuY2U6dGhpcy5fY29udGVudE1lbnVCdXR0b25SZWYsdG9vbHRpcDp1LnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaCJ9LG4oNDc1MDI4KSl9LG9uQ2xpY2s6dGhpcy5fb3BlblN5bWJvbFNlYXJjaERpYWxvZyx2YWx1ZTp0aGlzLnN0YXRlLnNob3J0TmFtZX0pLCFvJiZpLmNyZWF0ZUVsZW1lbnQoYW4se3N5bWJvbDp0aGlzLnN0YXRlLnN5bWJvbCxwcm92aWRlckxhYmVsOlh0LkxhYmVsUHJvZHVjdC5TeW1ib2xTZWFyY2hCdXR0b24sdHJhY2tpbmdEYXRhOntzb3VyY2U6ImNoYXJ0X3Rvb2xiYXIiLHByaW1hcnlfbWVudToiQ29udGVudE1lbnUifSxwbGFjZW1lbnRSdWxlczpbe2FuY2hvclBvaW50Ont4OjAseToxfSxjb250ZW50UG9pbnQ6e3g6MCx5OjB9LG9mZnNldDp7eDoyLHk6NX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn1dLHNob3dGaW5hbmNpYWxzOmQsb25DbG9zZTp0aGlzLl9vbkNvbnRlbnRNZW51Q2xvc2UsYW5jaG9yZWQ6e3R5cGU6ImVsZW1lbnQiLGF0OnRoaXMuX2NvbnRlbnRNZW51QnV0dG9uUmVmfSxpc09wZW46dGhpcy5zdGF0ZS5pc0NvbnRlbnRNZW51T3BlbmVkLGFjdHVhbENvbnRlbnRJZDp0aGlzLnN0YXRlLmFjdHVhbENvbnRlbnRJZCxyZWY6dGhpcy5fbWVudVJlZixzaG93Q2hhcnQ6ITB9KSl9YXN5bmMgX3VwZGF0ZVF1b3RlcyhlKXtpZighZSlyZXR1cm47Y29uc3QgdD1hd2FpdCgwLGp0LnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3QoZSxuZXcgU2V0KFsic2hvcnRfbmFtZSJdKSk7aWYoZT09PWMubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKSlpZigiZXJyb3IiPT09dC5zdGF0dXMpdGhpcy5zZXRTdGF0ZSh7c3ltYm9sOmUsc2hvcnROYW1lOmhuKCl9KTtlbHNle2NvbnN0e3ZhbHVlczpufT10O3RoaXMuc2V0U3RhdGUoe3N5bWJvbDplLHNob3J0TmFtZTpuLnNob3J0X25hbWV8fGhuKCl9KX19fWZ1bmN0aW9uIGhuKCl7Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7cmV0dXJuKDAsS3Quc2FmZVNob3J0TmFtZSkoZSl9Y24uY29udGV4dFR5cGU9ZG47dmFyIHZuPW4oOTcxNTQ1KSxtbj1uKDg4NzAxOCk7ZnVuY3Rpb24gcG4oZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShtbi5kZXNjcmlwdGlvbixlLmNsYXNzTmFtZSl9LGUuY2hpbGRyZW4pfXZhciBmbj1uKDUxMDU5OCksZ249bigxNjU0MTIpO2NvbnN0IGJuPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7bGFiZWxSb3c6Z24ubGFiZWxSb3csdG9vbGJveDpnbi50b29sYm94LGl0ZW06Z24udGl0bGVJdGVtfSksd249KDAsenQubWVyZ2VUaGVtZXMpKGFlLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLHtsYWJlbFJvdzpnbi5sYWJlbFJvdyx0b29sYm94OmduLnRvb2xib3gsCml0ZW06Z24udGl0bGVJdGVtVGFibGV0U21hbGx9KSxDbj0oMCx6dC5tZXJnZVRoZW1lcykoYWUuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUse2l0ZW06Z24uaXRlbX0pLF9uPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7aXRlbTpnbi5pdGVtVGFibGV0U21hbGx9KTtmdW5jdGlvbiB5bihlKXtjb25zdHtyb2xlOnQsY2xhc3NOYW1lOm4saXRlbTphLGRlc2NyaXB0aW9uOm8sZmF2b3JpdGU6cyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnIsaXNUYWJsZXRTbWFsbDpkLG9uQXBwbHk6dSxvblJlbW92ZTpjLG9uRmF2b3I6aCxpc0FjdGl2ZTp2LGRlc2NyaXB0aW9uRGF0YU5hbWU6bSwuLi5wfT1lLGY9cCxbZyxiXT0oMCxVZS51c2VIb3ZlckRlcHJlY2F0ZWQpKCksdz1kP3duOmJuLEM9ZD9fbjpDbixfPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dShhKSksW3UsYV0pLHk9KDAsaS51c2VDYWxsYmFjaykoKGU9PmMoYSxlKSksW2MsYV0pLFM9KDAsaS51c2VDYWxsYmFjaykoKCgpPT57aCYmaChhKX0pLFtoLGFdKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5iLC4uLmYsY2xhc3NOYW1lOmwoKShuLGduLndyYXApfSxpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6dCx0aGVtZTp3LGxhYmVsOmkuY3JlYXRlRWxlbWVudChmbi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OmEubmFtZX0pLGxhYmVsUm93Q2xhc3NOYW1lOmwoKShkJiZnbi5pdGVtTGFiZWxUYWJsZXRTbWFsbCksc2hvd1Rvb2xib3hPbkhvdmVyOiFzJiYhZyxzaG93VG9vbGJveE9uRm9jdXM6ITAsb25DbGljazpfLGlzQWN0aXZlOnYsdG9vbGJveDppLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLCFhLmlzRGVmYXVsdCYmaS5jcmVhdGVFbGVtZW50KEtlLk1lbnVSZW1vdmVCdXR0b24se2tleToicmVtb3ZlIixoaWRkZW46IWplLnRvdWNoJiYhZyxvbkNsaWNrOnksY2xhc3NOYW1lOmwoKShnbi5yZW1vdmUsdiYmZ24uYWN0aXZlKX0pLEJvb2xlYW4oaCkmJnImJmkuY3JlYXRlRWxlbWVudChILk1lbnVGYXZvcml0ZUJ1dHRvbix7a2V5OiJmYXZvcml0ZSIsaXNGaWxsZWQ6Qm9vbGVhbihzKSxvbkNsaWNrOlN9KSl9KSxvJiZpLmNyZWF0ZUVsZW1lbnQoYWUuUG9wdXBNZW51SXRlbSx7dGhlbWU6QyxsYWJlbDppLmNyZWF0ZUVsZW1lbnQocG4se2NsYXNzTmFtZTpsKCkoZ24uZGVzY3JpcHRpb24sZCYmZ24uZGVzY3JpcHRpb25UYWJsZXRTbWFsbCl9LG8pLG9uQ2xpY2s6Xyxpc0FjdGl2ZTp2LCJkYXRhLW5hbWUiOm19KSl9dmFyIFNuPW4oODI0NTkwKTtmdW5jdGlvbiB4bihlKXtjb25zdHtpdGVtOnQsb25GYXZvcjpvLG9uQXBwbHk6cyxvblJlbW92ZTpsLGlzUmVtb3ZhYmxlOnIsaXNGYXZvcmFibGU6ZCxpc0Zhdm9yaXRlOmMsaXNUYWJsZXRTbWFsbDpoLC4uLnZ9PWUsbT10Lm1ldGFfaW5mbyxwPW0/KDAsU24uZ2V0U3R1ZHlUZW1wbGF0ZURlc2NTdHJpbmcpKG0uaW5kaWNhdG9ycyk6dm9pZCAwLGY9KHI/MTowKSsoZD8xOjApLGc9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5vPy4odCkpLFtvLHRdKSxiPSgwLGkudXNlQ2FsbGJhY2spKChlPT5sPy4odCxlKSksW2wsdF0pLHc9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5zKHQpKSxbcyx0XSk7cmV0dXJuKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpP2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHsuLi52LHJvbGU6InJvdyIsb25DbGljazp3LGFyaWFMZXZlbDoyLHJpZ2h0U2xvdDpmdW5jdGlvbigpe2lmKCFkJiYhcilyZXR1cm4gbnVsbDtyZXR1cm5bciYmaS5jcmVhdGVFbGVtZW50KEwuQ29udGV4dEFjdGlvbix7a2V5OiJyZW1vdmUiLGhpZGVJZk5vSG92ZXI6ITAscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRGUse3JvbGU6ImJ1dHRvbiIsb25DbGljazpiLHRpdGxlOnUudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbmRpY2F0b3IgdGVtcGxhdGVzIG1lbnUgaXRlbSJ9LG4oMzkzMjczKSksaWNvbjpXZSxkYXRhUWFJZDoicmVtb3ZlLWluZGljYXRvci10ZW1wbGF0ZS1idXR0b24ifSkpLGQmJmkuY3JlYXRlRWxlbWVudChMLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IWMscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRi5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6ISFjLG9uQ2xpY2s6Z30pKV19KCksYXJpYUxhYmVsOnQubmFtZSxkZXNjcmlwdGlvbjpwLGVsbGlwc2lzOiExLHRpdGxlOmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjozLWZ9LGkuY3JlYXRlRWxlbWVudChmbi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnQubmFtZX0pKSwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOnQubmFtZX0pOmkuY3JlYXRlRWxlbWVudCh5bix7Li4uZSxyb2xlOiJyb3ciLGlzRmF2b3JpdGluZ0FsbG93ZWQ6ZCxmYXZvcml0ZTpjLGRlc2NyaXB0aW9uOnAsaXRlbTp7Li4udCxpc0RlZmF1bHQ6dC5pc19kZWZhdWx0fSwiZGF0YS1uYW1lIjp0Lm5hbWUsImRhdGEtaWQiOnQuaWR9KX12YXIgRW49big3NzE5ODMpO2NvbnN0IE1uPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSxFbik7ZnVuY3Rpb24ga24oZSl7Y29uc3R7b25DbGljazp0LGlzVGFibGV0U21hbGw6bixjbGFzc05hbWU6byxpY29uOnMsdGl0bGU6ZCwuLi51fT1lO3JldHVybigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoUi5NZW51SXRlbSx7Li4udSxyb2xlOiJyb3ciLG9uQ2xpY2s6KCk9PnQoKSxsZWZ0U2xvdDpzP2kuY3JlYXRlRWxlbWVudChWLlN2Z0ljb25MaXN0SXRlbVBhcnQse2ljb25Tdmc6c30pOm51bGwsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiZ3JpZGNlbGwiLCJhcmlhLWNvbHNwYW4iOjN9LGQpLGFyaWFMYWJlbDpkLGFyaWFMZXZlbDoxLAoiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOiJpbmRpY2F0b3JzLWFjdGlvbi1tZW51LWl0ZW0ifSk6aS5jcmVhdGVFbGVtZW50KEEuQWNjZXNzaWJsZU1lbnVJdGVtLHsuLi51LHJvbGU6InJvdyIsdGhlbWU6TW4sY2xhc3NOYW1lOmwoKShvLEVuLndyYXApLGxhYmVsOmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkVuLnRpdGxlV3JhcH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEVuLnRpdGxlLG4mJkVuLnRpdGxlVGFibGV0U21hbGwpfSxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6RW4uaWNvbixpY29uOnN9KSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpFbi50ZXh0fSxkKSkpLG9uQ2xpY2s6dH0pfXZhciBJbj1uKDM0MjI2MSksVG49big2ODEyMjQpO2NvbnN0IEFuPWkuY3JlYXRlQ29udGV4dChudWxsKTt2YXIgSG49big5OTU1NDkpLFZuPW4oNzYxOTcxKSxSbj1uKDc4Mzc4MSk7ZnVuY3Rpb24gRm4oZSl7Y29uc3R7dGVtcGxhdGVzOnQscmVjZW50czpvLG9uVGVtcGxhdGVTYXZlOnMsb25UZW1wbGF0ZVJlbW92ZTpyLG9uVGVtcGxhdGVTZWxlY3Q6ZCxvblRlbXBsYXRlRmF2b3JpdGU6Yyxpc1RhYmxldFNtYWxsOmgsaXNMb2FkaW5nOnYsb25PcGVuVGVtcGxhdGVzRGlhbG9nOm19PWUscD0oMCxpLnVzZU1lbW8pKCgoKT0+dC5maWx0ZXIoKGU9PmUuaXNfZGVmYXVsdCkpKSxbdF0pLGY9KDAsaS51c2VNZW1vKSgoKCk9PnQuZmlsdGVyKChlPT4hZS5pc19kZWZhdWx0KSkpLFt0XSksZz0oMCxpLnVzZUNvbnRleHQpKEFuKSxiPSgwLGkudXNlQ29udGV4dCkoVG4uTWVudUNvbnRleHQpLHc9KDAsSW4udXNlRm9yY2VVcGRhdGUpKCk7KDAsaS51c2VFZmZlY3QpKCgoKT0+e2lmKG51bGwhPT1nKXtjb25zdCBlPXt9O3JldHVybiBnLmdldE9uQ2hhbmdlKCkuc3Vic2NyaWJlKGUsKCgpPT57dygpLGImJmIudXBkYXRlKCl9KSksKCk9PmcuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZUFsbChlKX1yZXR1cm4oKT0+e319KSxbXSk7Y29uc3QgQz0oZSx0KT0+aS5jcmVhdGVFbGVtZW50KHhuLHtrZXk6ZS5uYW1lLGl0ZW06ZSxpc0Zhdm9yYWJsZTpCb29sZWFuKGMpLGlzUmVtb3ZhYmxlOiFlLmlzX2RlZmF1bHQsaXNGYXZvcml0ZTpudWxsIT09ZS5mYXZvcml0ZV9kYXRlLG9uQXBwbHk6ZT0+ZChlLGZ1bmN0aW9uKGUpe2lmKCJyZWNlbnQiPT09ZSlyZXR1cm4idGVtcGxhdGVzX3JlY2VudCI7cmV0dXJufSh0KSksb25GYXZvcjpjLG9uUmVtb3ZlOnIsaXNUYWJsZXRTbWFsbDpoLCJkYXRhLWdyb3VwLW5hbWUiOnQsImRhdGEtaXMtZGVmYXVsdCI6ZS5pc19kZWZhdWx0fSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToidHJlZWdyaWQiLGNsYXNzTmFtZTpsKCkoUm4ubWVudSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJlJuLm5ld1ZpZXcsaCYmUm4ubWVudVNtYWxsVGFibGV0LCFoJiZSbi5kZXNrdG9wKX0saS5jcmVhdGVFbGVtZW50KGtuLHtvbkNsaWNrOnMsaXNUYWJsZXRTbWFsbDpoLGljb246SG4sdGl0bGU6KDAsWGUuYXBwZW5kRWxsaXBzaXMpKHUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2luZGljYXRvcnNfYWN0aW9uX21lbnUifSxuKDI0NDA4MCkpKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KSx2JiZpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChMbixudWxsKSxpLmNyZWF0ZUVsZW1lbnQoZmUuVG9vbFdpZGdldE1lbnVTcGlubmVyLG51bGwpKSwhdiYmKCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoem4se2RlZmF1bHRzOnAsY3VzdG9tczpmLHJlY2VudHM6byxyZW5kZXI6QyxzdGF0ZTpoP3ZvaWQgMDpnfSk6aD9pLmNyZWF0ZUVsZW1lbnQoWm4se2RlZmF1bHRzOnAsY3VzdG9tczpmLHJlY2VudHM6byxyZW5kZXI6Q30pOmkuY3JlYXRlRWxlbWVudChObix7ZGVmYXVsdHM6cCxjdXN0b21zOmYscmVjZW50czpvLHJlbmRlcjpDLHN0YXRlOmd9KSksaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoTG4sbnVsbCksaS5jcmVhdGVFbGVtZW50KGtuLHtvbkNsaWNrOm0saXNUYWJsZXRTbWFsbDpoLGljb246Vm4sdGl0bGU6KDAsWGUuYXBwZW5kRWxsaXBzaXMpKHUudChudWxsLHZvaWQgMCxuKDgwNjYzNikpKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KSkpfWZ1bmN0aW9uIExuKCl7cmV0dXJuKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpP2kuY3JlYXRlRWxlbWVudChkLkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIn0pOmkuY3JlYXRlRWxlbWVudChiLlBvcHVwTWVudVNlcGFyYXRvcixudWxsKX1mdW5jdGlvbiBabihlKXtjb25zdHtkZWZhdWx0czp0LGN1c3RvbXM6YSxyZWNlbnRzOm8scmVuZGVyOnN9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoYi5Qb3B1cE1lbnVTZXBhcmF0b3IsbnVsbCksaS5jcmVhdGVFbGVtZW50KHBlLlRvb2xXaWRnZXRNZW51U3VtbWFyeSx7Y2xhc3NOYW1lOlJuLm1lbnVJdGVtSGVhZGVyVGFibGV0U21hbGx9LHUudChudWxsLHZvaWQgMCxuKDM1ODI5MSkpKSxvLm1hcCgoZT0+cyhlLCJyZWNlbnQiKSkpKSl9ZnVuY3Rpb24gTm4oZSl7Y29uc3R7ZGVmYXVsdHM6dCxjdXN0b21zOmEscmVjZW50czpvLHJlbmRlcjpzLHN0YXRlOmx9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoYi5Qb3B1cE1lbnVTZXBhcmF0b3IsbnVsbCksaS5jcmVhdGVFbGVtZW50KHBlLlRvb2xXaWRnZXRNZW51U3VtbWFyeSx7Y2xhc3NOYW1lOlJuLm1lbnVJdGVtSGVhZGVyCn0sdS50KG51bGwsdm9pZCAwLG4oMzU4MjkxKSkpLG8ubWFwKChlPT5zKGUsInJlY2VudCIpKSkpKX1mdW5jdGlvbiB6bihlKXtjb25zdHtkZWZhdWx0czp0LGN1c3RvbXM6YSxyZWNlbnRzOm8scmVuZGVyOnMsc3RhdGU6bH09ZSxyPShhLmxlbmd0aD4wJiZ0Lmxlbmd0aCx1LnQobnVsbCx7Y29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW5kaWNhdG9yIHRlbXBsYXRlIHNlY3Rpb24gaXRlbSJ9LG4oNTE4MjQ5KSkpO3UudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbmRpY2F0b3IgdGVtcGxhdGUgc2VjdGlvbiBpdGVtIn0sbigzMjU5MTApKSx1LnQobnVsbCx7Y29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW5kaWNhdG9yIHRlbXBsYXRlIHNlY3Rpb24gaXRlbSJ9LG4oNDI3NDQyKSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoZC5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciJ9KSxpLmNyZWF0ZUVsZW1lbnQoYmUuU2VjdGlvbkxpc3RJdGVtLHt0aXRsZTppLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6M30sciksYXJpYUxhYmVsOnIsZ3JvdXBSb2xlOiJyb3dncm91cCIsYXJpYUxldmVsOjF9LG8ubWFwKChlPT5zKGUsInJlY2VudCIpKSkpKSl9dmFyIEJuPW4oMjMyMzY0KSxPbj1uKDQzMDgxNCk7Y2xhc3MgRG57Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9pc0Zhdm9yaXRlRW5hYmxlZD0oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJpdGVtc19mYXZvcml0aW5nIiksdGhpcy5oYW5kbGVGYXZvclRlbXBsYXRlPWU9PntpZighdGhpcy5faXNGYXZvcml0ZUVuYWJsZWQpcmV0dXJuO2NvbnN0e2lkOnQsaXNfZGVmYXVsdDpuLGZhdm9yaXRlX2RhdGU6YX09ZTtudWxsIT09YT90aGlzLl9yZW1vdmVGYXZvcml0ZVRlbXBsYXRlKHQsbik6dGhpcy5fYWRkRmF2b3JpdGVUZW1wbGF0ZSh0LG4pfSx0aGlzLmhhbmRsZURyb3Bkb3duT3Blbj0oKT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYodGhpcy5fc2V0U3RhdGUoe2lzTG9hZGluZzohMH0pLHRoaXMuX3N0dWR5VGVtcGxhdGVzLmludmFsaWRhdGUoKSx0aGlzLl9zdHVkeVRlbXBsYXRlcy5yZWZyZXNoU3R1ZHlUZW1wbGF0ZUxpc3QoKCgpPT50aGlzLl9zZXRTdGF0ZSh7aXNMb2FkaW5nOiExfSkpKSl9LHRoaXMuaGFuZGxlQXBwbHlUZW1wbGF0ZT0oZSx0KT0+e3RoaXMuX3N0dWR5VGVtcGxhdGVzLmFwcGx5VGVtcGxhdGUoZS5uYW1lLHQpLHRoaXMuX3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZSYmdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlLmFkZChlLmlkKX0sdGhpcy5oYW5kbGVSZW1vdmVUZW1wbGF0ZT0oZSx0LG4pPT57dGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZGVsZXRlU3R1ZHlUZW1wbGF0ZShlLm5hbWUsdCxuKX0sdGhpcy5oYW5kbGVTYXZlVGVtcGxhdGU9ZT0+e3RoaXMuX3N0dWR5VGVtcGxhdGVzLnNob3dTYXZlQXNEaWFsb2coZSl9LHRoaXMuX3N0dWR5VGVtcGxhdGVzPWUsdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPXQ7Y29uc3Qgbj10aGlzLl9yZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U/LmdldCgpfHxbXSxpPXRoaXMuX3N0dWR5VGVtcGxhdGVzLmxpc3QoKTt0aGlzLl9zdGF0ZT1uZXcgQm4uV2F0Y2hlZFZhbHVlKHtpc0xvYWRpbmc6ITEsc3R1ZHlUZW1wbGF0ZXNMaXN0OmkscmVjZW50czpufSksdGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVUZW1wbGF0ZXNDaGFuZ2UpLHRoaXMuX3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZT8uZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVSZWNlbnRzQ2hhbmdlKSx0aGlzLl9zdHVkeVRlbXBsYXRlcy5yZWZyZXNoU3R1ZHlUZW1wbGF0ZUxpc3QoKX1kZXN0cm95KCl7dGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZVRlbXBsYXRlc0NoYW5nZSksdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPy5nZXRPbkNoYW5nZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlUmVjZW50c0NoYW5nZSl9c3RhdGUoKXtyZXR1cm4gdGhpcy5fc3RhdGUucmVhZG9ubHkoKX1nZXRTb3J0ZWRGYXZvcml0ZXNTdHVkeVRlbXBsYXRlcyhlKXtyZXR1cm4gZS5maWx0ZXIoKGU9Pm51bGwhPT1lLmZhdm9yaXRlX2RhdGUpKS5zb3J0KCgoZSx0KT0+bnVsbCE9PWUuZmF2b3JpdGVfZGF0ZSYmbnVsbCE9PXQuZmF2b3JpdGVfZGF0ZSYmZS5mYXZvcml0ZV9kYXRlPnQuZmF2b3JpdGVfZGF0ZT8xOi0xKSl9Z2V0VmFsaWRSZWNlbnRzKGUpe2NvbnN0IHQ9ZS5yZWR1Y2UoKChlLHQpPT4oZVt0LmlkXT10LGUpKSx7fSk7cmV0dXJuIHRoaXMuX3N0YXRlLnZhbHVlKCkucmVjZW50cy5tYXAoKGU9PnRbZV0pKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUpKX1fc2V0U3RhdGUoZSl7dGhpcy5fc3RhdGUuc2V0VmFsdWUoey4uLnRoaXMuX3N0YXRlLnZhbHVlKCksLi4uZX0pfV9oYW5kbGVUZW1wbGF0ZXNDaGFuZ2UoKXt0aGlzLl9zZXRTdGF0ZSh7c3R1ZHlUZW1wbGF0ZXNMaXN0OnRoaXMuX3N0dWR5VGVtcGxhdGVzLmxpc3QoKX0pfV9oYW5kbGVSZWNlbnRzQ2hhbmdlKCl7dGhpcy5fc2V0U3RhdGUoe3JlY2VudHM6dGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPy5nZXQoKXx8W119KX1fcmVtb3ZlRmF2b3JpdGVUZW1wbGF0ZShlLHQpe2NvbnN0IG49dD9Pbi5iYWNrZW5kLmZhdm9yU3RhbmRhcmRTdHVkeVRlbXBsYXRlOk9uLmJhY2tlbmQuZmF2b3JTdHVkeVRlbXBsYXRlO3RoaXMuX3JlcGxhY2VPbGRGYXZvcml0ZVN0dWR5VGVtcGxhdGUoZSxudWxsLHQpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZuKGUsITEpfV9hZGRGYXZvcml0ZVRlbXBsYXRlKGUsdCl7CmNvbnN0IG49dGhpcy5nZXRTb3J0ZWRGYXZvcml0ZXNTdHVkeVRlbXBsYXRlcyh0aGlzLl9zdGF0ZS52YWx1ZSgpLnN0dWR5VGVtcGxhdGVzTGlzdCksYT1uLmxlbmd0aD9uW24ubGVuZ3RoLTFdLmZhdm9yaXRlX2RhdGU6MCxpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkP0RhdGUubm93KCk6YSsxLG89dD9Pbi5iYWNrZW5kLmZhdm9yU3RhbmRhcmRTdHVkeVRlbXBsYXRlOk9uLmJhY2tlbmQuZmF2b3JTdHVkeVRlbXBsYXRlO3RoaXMuX3JlcGxhY2VPbGRGYXZvcml0ZVN0dWR5VGVtcGxhdGUoZSxpLHQpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZvKGUsITApfV9yZXBsYWNlT2xkRmF2b3JpdGVTdHVkeVRlbXBsYXRlKGUsdCxuKXtjb25zdCBhPXRoaXMuX3N0YXRlLnZhbHVlKCkuc3R1ZHlUZW1wbGF0ZXNMaXN0Lm1hcCgoYT0+YS5pZD09PWUmJmEuaXNfZGVmYXVsdD09PW4/ey4uLmEsZmF2b3JpdGVfZGF0ZTp0fTphKSk7dGhpcy5fc2V0U3RhdGUoe3N0dWR5VGVtcGxhdGVzTGlzdDphfSl9fXZhciBXbj1uKDYyNzA0NSk7dmFyIFBuPW4oMTU5ODc3KSxVbj1uKDI1NzY5MSk7Y29uc3Qgam49KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEtuIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl91cGRhdGVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSh7Li4uZSxpc0FjdGl2ZTp0aGlzLnN0YXRlLmlzQWN0aXZlfSl9LHRoaXMuX2hhbmRsZUFwcGx5VGVtcGxhdGU9KGUsdCk9Pnt0aGlzLl9oYW5kbGVDbG9zZSgpLHRoaXMuX21vZGVsLmhhbmRsZUFwcGx5VGVtcGxhdGUoZSx0KX0sdGhpcy5faGFuZGxlUmVtb3ZlVGVtcGxhdGU9KGUsdCxuKT0+e3RoaXMuX2hhbmRsZUNsb3NlKCksdGhpcy5fbW9kZWwuaGFuZGxlUmVtb3ZlVGVtcGxhdGUoZSx0LG4pfSx0aGlzLl9oYW5kbGVDbG9zZT0oKT0+e3RoaXMuX2hhbmRsZVRvZ2dsZURyb3Bkb3duKCExKX0sdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd249ZT0+e2NvbnN0e2lzQWN0aXZlOnR9PXRoaXMuc3RhdGUsbj0iYm9vbGVhbiI9PXR5cGVvZiBlP2U6IXQ7dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6bn0pfSx0aGlzLl9oYW5kbGVPcGVuVGVtcGxhdGVzRGlhbG9nPSgpPT57KGFzeW5jIGZ1bmN0aW9uKGUpeyhhd2FpdCBQcm9taXNlLmFsbChbbi5lKDUxMzE0KSxuLmUoMjkyOTYpLG4uZSg1MjM5Niksbi5lKDYwMDYyKSxuLmUoMjAzNTQpLG4uZSgxMzQ5Miksbi5lKDM3NzQ2KSxuLmUoODM0ODgpLG4uZSg5NTA0KSxuLmUoNzI2NjYpLG4uZSg5ODA4NCksbi5lKDEwMzg1KSxuLmUoNTIwNjUpLG4uZSg0NzYzMiksbi5lKDY2MDUpLG4uZSg5MTg1NSksbi5lKDMyMTc2KSxuLmUoNDI3MjEpLG4uZSg0NzIwMSksbi5lKDkxNjcwKSxuLmUoNTUzOSksbi5lKDIzNzIpLG4uZSgzOTYwOSksbi5lKDQyMjg4KSxuLmUoOTMyNzcpLG4uZSgyOTc2NSldKS50aGVuKG4uYmluZChuLDMzMDM2OSkpKS5JbmRpY2F0b3JUZW1wbGF0ZXNEaWFsb2dSZW5kZXJlci5nZXRJbnN0YW5jZSgpLnNob3coe21vZGVsOmV9KX0pKHRoaXMuX21vZGVsKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtzdHVkeVRlbXBsYXRlczpvLmFueS5pc1JlcXVpcmVkLHRlbXBsYXRlc01lbnVWaWV3U3RhdGVTZXJ2aWNlOm8uYW55LHJlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTpvLmFueX0pO2NvbnN0e3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTphLHN0dWR5VGVtcGxhdGVzOml9PXQ7dGhpcy5fbW9kZWw9bmV3IERuKGksYSksdGhpcy5zdGF0ZT17Li4udGhpcy5fbW9kZWwuc3RhdGUoKS52YWx1ZSgpLGlzQWN0aXZlOiExfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX21vZGVsLnN0YXRlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21vZGVsLnN0YXRlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpLHRoaXMuX21vZGVsLmRlc3Ryb3koKX1yZW5kZXIoKXtjb25zdHtzdHVkeVRlbXBsYXRlc0xpc3Q6ZX09dGhpcy5zdGF0ZSx7aXNTaG93blF1aWNrczp0LGNsYXNzTmFtZTpuLGRpc3BsYXlNb2RlOmEsaWQ6b309dGhpcy5wcm9wcyxzPXRoaXMuX21vZGVsLmdldFNvcnRlZEZhdm9yaXRlc1N0dWR5VGVtcGxhdGVzKGUpLGw9dGhpcy5fbW9kZWwuZ2V0VmFsaWRSZWNlbnRzKGUpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoQW4uUHJvdmlkZXIse3ZhbHVlOnRoaXMuY29udGV4dC50ZW1wbGF0ZXNNZW51Vmlld1N0YXRlU2VydmljZXx8bnVsbH0saS5jcmVhdGVFbGVtZW50KFFuLHtpZDpvLGNsYXNzTmFtZTpuLG1vZGU6YSx0ZW1wbGF0ZXM6ZSxmYXZvcml0ZXM6cyxyZWNlbnRzOmwsb25NZW51T3Blbjp0aGlzLl9tb2RlbC5oYW5kbGVEcm9wZG93bk9wZW4sb25UZW1wbGF0ZUZhdm9yaXRlOnQ/dGhpcy5fbW9kZWwuaGFuZGxlRmF2b3JUZW1wbGF0ZTp2b2lkIDAsb25UZW1wbGF0ZVNlbGVjdDp0aGlzLl9oYW5kbGVBcHBseVRlbXBsYXRlLG9uVGVtcGxhdGVSZW1vdmU6dGhpcy5faGFuZGxlUmVtb3ZlVGVtcGxhdGUsb25UZW1wbGF0ZVNhdmU6dGhpcy5fbW9kZWwuaGFuZGxlU2F2ZVRlbXBsYXRlLG9uT3BlblRlbXBsYXRlc0RpYWxvZzp0aGlzLl9oYW5kbGVPcGVuVGVtcGxhdGVzRGlhbG9nfSkpfX1mdW5jdGlvbiBRbihlKXtjb25zdHtpZDp0LGNsYXNzTmFtZTpvLG1vZGU6cyx0ZW1wbGF0ZXM6cixmYXZvcml0ZXM6ZCxyZWNlbnRzOmMsaXNNZW51T3BlbjpoLG9uVGVtcGxhdGVTZWxlY3Q6dixvblRlbXBsYXRlU2F2ZTpmLG9uVGVtcGxhdGVGYXZvcml0ZTpnLG9uVGVtcGxhdGVSZW1vdmU6Yixvbk9wZW5UZW1wbGF0ZXNEaWFsb2c6X309ZSx5PSgwLGkudXNlUmVmKShudWxsKSxTPSgwLGkudXNlUmVmKShudWxsKSx4PWwoKShvLFVuLndyYXAse1tVbi5mdWxsXToiZnVsbCI9PT1zLFtVbi5tZWRpdW1dOiJtZWRpdW0iPT09c30pLEU9InNtYWxsIiE9PXMmJmcmJmQubGVuZ3RoPjA7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDp0LGNsYXNzTmFtZTp4fSxpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHsKcnVsZTpDLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwodD0+aS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se3JlZjp5LG1lbnVSZWZlcmVuY2U6Uyxvbk9wZW46ZS5vbk1lbnVPcGVuLGlzRHJhd2VyOnQsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIsYXJyb3c6ITEsY29udGVudDppLmNyZWF0ZUVsZW1lbnQodm4uVG9vbFdpZGdldENvbGxhcHNpYmxlQnV0dG9uLHt0YWc6ImRpdiIsY2xhc3NOYW1lOmwoKShFJiZVbi5idXR0b25XaXRoRmF2b3JpdGVzKSxkaXNwbGF5TW9kZTpzLGlzT3BlbmVkOmgsaWNvbjpQbixmb3JjZUludGVyYWN0aXZlOiEwLGNvbGxhcHNlV2hlbjpbImZ1bGwiLCJtZWRpdW0iLCJzbWFsbCJdfSksb25DbGljazprLHRvb2x0aXA6dS50KG51bGwsdm9pZCAwLG4oNjE2OSkpLGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIiksbWVudURhdGFOYW1lOiJpbmRpY2F0b3ItdGVtcGxhdGVzLW1lbnUifSxpLmNyZWF0ZUVsZW1lbnQoRm4se29uVGVtcGxhdGVTYXZlOmYsb25UZW1wbGF0ZVNlbGVjdDp2LG9uVGVtcGxhdGVSZW1vdmU6TSxvblRlbXBsYXRlRmF2b3JpdGU6Zyx0ZW1wbGF0ZXM6cixyZWNlbnRzOmMsaXNUYWJsZXRTbWFsbDp0LG9uT3BlblRlbXBsYXRlc0RpYWxvZzpffSkpKSksRSYmaS5jcmVhdGVFbGVtZW50KHFuLHtmYXZvcml0ZXM6ZCxvblRlbXBsYXRlU2VsZWN0OmZ1bmN0aW9uKGUpe3YoZSwidGVtcGxhdGVzX2Zhdm9yaXRlcyIpLGsoKX19KSk7ZnVuY3Rpb24gTShlLHQpe2lmKHQmJigwLEcuaXNLZXlib2FyZENsaWNrKSh0KSYmUy5jdXJyZW50KXtjb25zdCB0PSgwLGllLnF1ZXJ5TWVudUVsZW1lbnRzKShTLmN1cnJlbnQpLG49dC5maW5kSW5kZXgoKHQ9Pm51bGwhPT10LmNsb3Nlc3QoYFtkYXRhLWlkPSIke2UuaWR9Il1gKSkpO2IoZSxudWxsLCgoKT0+e2lmKC0xIT09biYmUy5jdXJyZW50KXtjb25zdCBlPXRbbisxXT8/dFtuLTFdO2U/ZS5mb2N1cygpOigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkoUy5jdXJyZW50KSx5LmN1cnJlbnQ/LnVwZGF0ZSgpfX0pKX1lbHNlIGIoZSl9ZnVuY3Rpb24gaygpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiaW5kaWNhdG9yIHRlbXBsYXRlcyIpfX1mdW5jdGlvbiBxbihlKXtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxlLmZhdm9yaXRlcy5tYXAoKCh0LG4sYSk9PmkuY3JlYXRlRWxlbWVudChXbi5GYXZvcml0ZUl0ZW0se2tleTp0Lm5hbWUsaXRlbTp0LG9uQXBwbHk6ZS5vblRlbXBsYXRlU2VsZWN0LGNsYXNzTmFtZTpsKCkoe1tVbi5maXJzdF06MD09PW4sW1VuLmxhc3RdOm49PT1hLmxlbmd0aC0xfSl9KSkpKX1Lbi5jb250ZXh0VHlwZT1qbjtuKDgyOTE4MCk7dmFyICRuPW4oMTc1Mzk1KSxYbj1uKDQ5OTcyNCksR249big3NjIwMiksSm49big1NzA2ODMpO2NvbnN0IFluPXt1bmRvSG90S2V5OigwLG9lLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLE0uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoTS5Nb2RpZmllcnMuTW9kLCExKSwiWiJdLHRleHQ6InswfSArIHsxfSJ9KSxyZWRvSG90S2V5OigwLG9lLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLE0uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoTS5Nb2RpZmllcnMuTW9kLCExKSwiWSJdLHRleHQ6InswfSArIHsxfSJ9KX0sZWE9KDAsenQubWVyZ2VUaGVtZXMpKGYuREVGQVVMVF9UT09MQkFSX0JVVFRPTl9USEVNRSxKbiksdGE9KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIG5hIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9iYXRjaGVkPW51bGwsdGhpcy5faGFuZGxlQ2xpY2tVbmRvPSgpPT57KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiVW5kbyIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwidW5kbyIpO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplfT10aGlzLmNvbnRleHQ7ZS51bmRvSGlzdG9yeS51bmRvKCl9LHRoaXMuX2hhbmRsZUNsaWNrUmVkbz0oKT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIlJlZG8iKSwoMCxELnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsInJlZG8iKTtjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX09dGhpcy5jb250ZXh0O2UudW5kb0hpc3RvcnkucmVkbygpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT10aGlzLl9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpfWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLnVuZG9IaXN0b3J5LnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFuZ2VTdGFjayksZS51bmRvSGlzdG9yeS51bmRvU3RhY2soKS5vbkNoYW5nZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlU3RhY2spfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLnVuZG9IaXN0b3J5LnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYW5nZVN0YWNrKSxlLnVuZG9IaXN0b3J5LnVuZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYW5nZVN0YWNrKSx0aGlzLl9iYXRjaGVkPW51bGx9cmVuZGVyKCl7Y29uc3R7aWQ6ZX09dGhpcy5wcm9wcyx7aXNFbmFibGVkUmVkbzp0LGlzRW5hYmxlZFVuZG86YSxyZWRvU3RhY2s6byx1bmRvU3RhY2s6c309dGhpcy5zdGF0ZTtsZXQgbCxyLGQsYztyZXR1cm4gYSYmKGw9KDAsJG4uY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKSh1LnQobnVsbCx7cmVwbGFjZTp7aGludDpzfSxjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LG4oNzMxNjQ5KSkpLHI9WW4udW5kb0hvdEtleSksdCYmKGQ9KDAsJG4uY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKSh1LnQobnVsbCx7CnJlcGxhY2U6e2hpbnQ6b30sY29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxuKDQ1MzI2MykpKSxjPVluLnJlZG9Ib3RLZXkpLGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDplfSxpLmNyZWF0ZUVsZW1lbnQoZi5Ub29sYmFyQnV0dG9uLHtpY29uOlhuLGlzRGlzYWJsZWQ6IWEsb25DbGljazp0aGlzLl9oYW5kbGVDbGlja1VuZG8sdGhlbWU6ZWEsdG9vbHRpcDpsLCJkYXRhLXRvb2x0aXAtaG90a2V5IjpyfSksaS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhckJ1dHRvbix7aWNvbjpHbixpc0Rpc2FibGVkOiF0LG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2tSZWRvLHRoZW1lOmVhLHRvb2x0aXA6ZCwiZGF0YS10b29sdGlwLWhvdGtleSI6Y30pKX1fb25DaGFuZ2VTdGFjaygpe251bGw9PT10aGlzLl9iYXRjaGVkJiYodGhpcy5fYmF0Y2hlZD1Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2lmKG51bGw9PT10aGlzLl9iYXRjaGVkKXJldHVybjt0aGlzLl9iYXRjaGVkPW51bGw7Y29uc3QgZT10aGlzLl9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpO3RoaXMuc2V0U3RhdGUoZSl9KSkpfV9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpe2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplfT10aGlzLmNvbnRleHQsdD1lLnVuZG9IaXN0b3J5LnVuZG9TdGFjaygpLG49ZS51bmRvSGlzdG9yeS5yZWRvU3RhY2soKSxhPW4uaGVhZCgpLGk9dC5oZWFkKCk7cmV0dXJue2lzRW5hYmxlZFJlZG86IW4uaXNFbXB0eSgpLGlzRW5hYmxlZFVuZG86IXQuaXNFbXB0eSgpLHJlZG9TdGFjazphP2EudGV4dCgpLnRyYW5zbGF0ZWRUZXh0KCk6IiIsdW5kb1N0YWNrOmk/aS50ZXh0KCkudHJhbnNsYXRlZFRleHQoKToiIn19fW5hLmNvbnRleHRUeXBlPXRhO3ZhciBhYT1uKDM0NDc4NSksaWE9big0Mjk0NjUpLG9hPW4oOTkwMDE0KTtmdW5jdGlvbiBzYShlKXtjb25zdHt0aXRsZTp0LGNoaWxkcmVuOm4saXNTbWFsbFdpZHRoOmEsc2VwYXJhdG9yOm8sY2xhc3NOYW1lOnN9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JvdXAiLGNsYXNzTmFtZTpsKCkocyxvYS5yb3csYSYmb2Euc21hbGxSb3cpfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvYS5yb3dJbm5lcn0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG9hLnJvd0xhYmVsLGEmJm9hLnNtYWxsUm93TGFiZWwpfSx0KSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvYS5yb3dCdXR0b25zLCJkYXRhLXJvbGUiOiJyb3cifSxuKSksbyl9ZnVuY3Rpb24gbGEoZSl7Y29uc3R7aXNBY3RpdmU6dCxpY29uOm4saXNTbWFsbFdpZHRoOmEsY2xhc3NOYW1lOm8sbGF5b3V0OnMsb25DbGljazpkLGlzRmlyc3RJdGVtSW5Sb3c6dSwuLi5jfT1lLGg9YyxbdixtXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3JvbGU6Im1lbnVpdGVtcmFkaW8iLGNsYXNzTmFtZTpsKCkobyxvYS5sYXlvdXRCdXR0b25XcmFwLGEmJm9hLnNtYWxsV2lkdGgsb2EuYWNjZXNzaWJsZSksdHlwZToiYnV0dG9uIiwiYXJpYS1jaGVja2VkIjp0LCJhcmlhLWxhYmVsIjpzLCJkYXRhLXJvbGUiOnU/Im1lbnVpdGVtIjp2b2lkIDAscmVmOnYsdGFiSW5kZXg6bSxvbkNsaWNrOmZ1bmN0aW9uKCl7ZChzKX0sLi4uaH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG9hLmxheW91dEJ1dHRvbix0JiZvYS5pc0FjdGl2ZSxhJiZvYS5zbWFsbFdpZHRoTGF5b3V0QnV0dG9uKX0saS5jcmVhdGVFbGVtZW50KHIuSWNvbix7aWNvbjpufSkpKX12YXIgcmE9bigyOTc4NDkpLGRhPW4oNjE1NDI0KSx1YT1uKDY3Mjg4NiksY2E9bigzNzYxNjMpLGhhPW4oNDU3OTg5KSx2YT1uKDY3MDI2NCksbWE9big1OTU2MjUpLHBhPW4oMjIxMTU4KSxmYT1uKDU5NDg0NiksZ2E9big5NDUyMzgpLGJhPW4oNDA4OTY0KSx3YT1uKDEyNDg1KSxDYT1uKDQ2NzE0NSksX2E9bigxMjYxNjYpLHlhPW4oMjczNzc1KSxTYT1uKDc2MzU1NSkseGE9big5MDYwNTApLEVhPW4oNzg5MTA4KSxNYT1uKDcyMDI5Myksa2E9big2NTYzMDQpLElhPW4oMTkxNTY1KSxUYT1uKDIyMzIyNyksQWE9big2NjMyMjIpLEhhPW4oNDIyNTk4KSxWYT1uKDc2NTU3MiksUmE9big5NzQ1NiksRmE9big2NDc2OTIpLExhPW4oNTYzNDg3KSxaYT1uKDczNzAxNyksTmE9big4NjA4NTIpLHphPW4oOTIwNTIpLEJhPW4oMTAwNDYzKSxPYT1uKDUyNzcyMyksRGE9big4MjY3MTkpLFdhPW4oOTk4Mjg2KSxQYT1uKDU2Mjk5NCksVWE9bigxNjQ0NSksamE9big4NjY4MjYpLEthPW4oNTc1MTAwKSxRYT1uKDg4MDg5MykscWE9big1MTM5MTIpLCRhPW4oOTQ0NTgpLFhhPW4oODY4NzY2KSxHYT1uKDU3NDE1OSksSmE9big2OTc3NTMpLFlhPW4oMzk2NzUwKTtjb25zdCBlaT17czpyYSwiMmgiOmRhLCIydiI6dWEsIjNoIjpjYSwiM3YiOmhhLCIzcyI6dmEsIjNyIjptYSwiMi0xIjpwYSwiMS0yIjpmYSw0OmdhLCI0diI6YmEsIjRoIjp3YSwiNHMiOkNhLCI0cy1sIjpfYSwiMS0zIjp5YSwiMy0xIjpTYSwiMi0yLWwiOnhhLCIyLTItciI6RWEsIjItMiI6TWEsIjEtNCI6a2EsIjVoIjpJYSwiNXYiOlRhLCI1cyI6QWEsIjVzLWwiOkhhLCIyLTMiOlZhLCIzLTIiOlJhLCI0LTEiOkZhLCIyLTMtbCI6TGEsIjItMy1yIjpaYSw2Ok5hLCI2aCI6emEsIjZ2IjpHYSwiNmMiOkJhLCIyLTQiOk9hLCI0LTIiOkRhLCI0LTMiOldhLCI3aCI6SmEsIjdzIjpuKDc0MjUwOSksODpQYSwiOGMiOlVhLCI4aCI6SmEsIjh2IjpHYSwiOXMiOmphLCI1LTQiOkthLCI5aCI6SmEsIjl2IjpHYSwiMTBjNSI6UWEsIjEwaCI6SmEsIjEwdiI6R2EsIjEyYzYiOnFhLCIxMmM0IjokYSwiMTJoIjpKYSwiMTRjNyI6WWEsIjE2YzgiOllhLCIxNmM0IjpYYX07dmFyIHRpPW4oMjU1MzI5KSxuaT1uKDM3NDMwNCksYWk9big0NTY1MjUpO2NvbnN0IGlpPSgwLHp0Lm1lcmdlVGhlbWVzKShuaS5tZW51SXRlbVN3aXRjaGVyTW9iaWxlVGhlbWUse2xhYmVsOmFpLnN3aXRjaGVyTGFiZWx9KQo7Y2xhc3Mgb2kgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fb25DaGFuZ2U9KCk9Pnt0aGlzLnNldFN0YXRlKHtpc0NoZWNrZWQ6dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudmFsdWUoKX0pfSx0aGlzLl9oYW5kbGVDbGljaz0oKT0+e2NvbnN0e29uQ2xpY2s6ZSx3YXRjaGVkVmFsdWU6dH09dGhpcy5wcm9wcztlKHQpfSx0aGlzLnN0YXRlPXtpc0NoZWNrZWQ6dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudmFsdWUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLnByb3BzLndhdGNoZWRWYWx1ZS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2UpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2UpfXJlbmRlcigpe2NvbnN0e3JvbGU6ZSxsYWJlbDp0LHZhbHVlOm4sY2xhc3NOYW1lOmF9PXRoaXMucHJvcHMse2lzQ2hlY2tlZDpvfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQodGkuTWVudUl0ZW1Td2l0Y2hlcix7cm9sZTplLHRoZW1lOmlpLGxhYmVsOnQsY2hlY2tlZDpvLHZhbHVlOm4sb25DaGFuZ2U6dGhpcy5faGFuZGxlQ2xpY2ssY2xhc3NOYW1lOmF9KX19dmFyIHNpPW4oOTA4MDM0KSxsaT1uKDUyNzIxOSkscmk9big0NTI2MTcpO2xldCBkaT1be2xheW91dHM6WyJzIl0sdGl0bGU6IjEifSx7bGF5b3V0czpbIjJoIiwiMnYiXSx0aXRsZToiMiJ9LHtsYXlvdXRzOlsiM2giLCIzdiIsIjNzIiwiM3IiLCIyLTEiLCIxLTIiXSx0aXRsZToiMyJ9LHtsYXlvdXRzOlsiNCIsIjR2IiwiNGgiLCI0cyIsIjRzLWwiLCIxLTMiLCIzLTEiLCIyLTItbCIsIjItMi1yIiwiMi0yIl0sdGl0bGU6IjQifSx7bGF5b3V0czpbIjEtNCIsIjVoIiwiNXYiLCI1cyIsIjVzLWwiLCIyLTMiLCIzLTIiLCI0LTEiLCIyLTMtbCIsIjItMy1yIl0sdGl0bGU6IjUifSx7bGF5b3V0czpbIjYiLCI2aCIsIjZ2IiwiNmMiLCIyLTQiLCI0LTIiXSx0aXRsZToiNiJ9LHtsYXlvdXRzOlsiNC0zIiwiN2giLCI3cyJdLHRpdGxlOiI3In0se2xheW91dHM6WyI4IiwiOGMiLCI4aCIsIjh2Il0sdGl0bGU6IjgifV07ZGk9Wy4uLmRpLHtsYXlvdXRzOlsiOXMiLCI1LTQiLCI5aCIsIjl2Il0sdGl0bGU6IjkifSx7bGF5b3V0czpbIjEwYzUiLCIxMGgiLCIxMHYiXSx0aXRsZToiMTAifSx7bGF5b3V0czpbIjEyYzYiLCIxMmM0IiwiMTJoIl0sdGl0bGU6IjEyIn0se2xheW91dHM6WyIxNGM3Il0sdGl0bGU6IjE0In0se2xheW91dHM6WyIxNmM4IiwiMTZjNCJdLHRpdGxlOiIxNiJ9XTtjb25zdCB1aT17bGF5b3V0VHlwZTp1LnQobnVsbCx2b2lkIDAsbig5Mjc3MDUpKSxzeW5jR3JvdXBUaXRsZTp1LnQobnVsbCx2b2lkIDAsbig3Mzk5MzYpKSxzeW5jQ3Jvc3NoYWlyTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oNzM3MjE1KSksc3luY0Nyb3NzaGFpckhpbnQ6dS50KG51bGwsdm9pZCAwLG4oMTI0NzgpKSxzeW5jSW50ZXJ2YWxMYWJlbDp1LnQobnVsbCx2b2lkIDAsbigxMjc1NjkpKSxzeW5jSW50ZXJ2YWxIaW50OnUudChudWxsLHZvaWQgMCxuKDQwNTk0NikpLHN5bmNEYXRlUmFuZ2VMYWJlbDp1LnQobnVsbCx2b2lkIDAsbig0Mjc0OTQpKSxzeW5jRGF0ZVJhbmdlSGludDp1LnQobnVsbCx2b2lkIDAsbigxMDQ1NTkpKSxzeW5jU3ltYm9sTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oNjEzMTYzKSksc3luY1N5bWJvbEhpbnQ6dS50KG51bGwsdm9pZCAwLG4oNDgyMjI1KSksc3luY1RyYWNrTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oODYyMTE5KSksc3luY1RyYWNrSGludDp1LnQobnVsbCx2b2lkIDAsbig1MjAzODcpKX07ZnVuY3Rpb24gY2koZSl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnQsaXNTbWFsbFdpZHRoOm59PWUsW2Esb109KDAsaS51c2VTdGF0ZSkoInMiKSxbcyxyXT0oMCxzaS51c2VSb3dzTmF2aWdhdGlvbikoITApO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntmdW5jdGlvbiBlKGUpe28oZXx8dC5sYXlvdXQudmFsdWUoKSl9cmV0dXJuIHQubGF5b3V0LnN1YnNjcmliZShlLHtjYWxsV2l0aExhc3Q6ITB9KSwoKT0+dC5sYXlvdXQudW5zdWJzY3JpYmUoZSl9KSxbdF0pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnJpLmRyb3Bkb3dufSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpzLHJvbGU6Im1lbnUiLG9uS2V5RG93bjpyLCJkYXRhLW5hbWUiOiJsYXlvdXRzLWxpc3QifSxuJiZpLmNyZWF0ZUVsZW1lbnQoaWEuVG9vbFRpdGxlLHt0ZXh0OnVpLmxheW91dFR5cGV9KSxkaS5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoc2Ese2tleTplLnRpdGxlLGlzU21hbGxXaWR0aDpuLHRpdGxlOmUudGl0bGUsc2VwYXJhdG9yOnQhPT1kaS5sZW5ndGgtMSYmaS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLG51bGwpfSxlLmxheW91dHMubWFwKCgoZSx0KT0+aS5jcmVhdGVFbGVtZW50KGxhLHtrZXk6ZSxsYXlvdXQ6ZSxpY29uOmVpW2VdLG9uQ2xpY2s6dSxpc0FjdGl2ZTplPT09YSxpc1NtYWxsV2lkdGg6bixpc0ZpcnN0SXRlbUluUm93OjA9PT10LCJkYXRhLXFhLWlkIjpgbGF5b3V0cy1saXN0LWl0ZW0tJHtlfWB9KSkpKSkpKSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsbiYmaS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLHtzaXplOiJub3JtYWwifSkpLGkuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLGkuY3JlYXRlRWxlbWVudChpYS5Ub29sVGl0bGUse3RleHQ6dWkuc3luY0dyb3VwVGl0bGUsY2xhc3NOYW1lOmwoKShyaS5zeW5jQ2hhcnRzLG4mJnJpLm1vYmlsZSl9KSxmdW5jdGlvbigpe2NvbnN0IGU9bCgpKHJpLnN3aXRjaGVyLG4mJnJpLm1vYmlsZSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JpZCIsImFyaWEtbXVsdGlzZWxlY3RhYmxlIjohMCxjbGFzc05hbWU6cmkuc3luY0xpc3RXcmFwcGVyfSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jU3ltYm9sTGFiZWwsCmhpbnQ6dWkuc3luY1N5bWJvbEhpbnQsaXNTbWFsbFdpZHRoOm59KSxvbkNsaWNrOmQsdmFsdWU6InN5bmNTeW1ib2xMYWJlbCIsd2F0Y2hlZFZhbHVlOnQubG9jay5zeW1ib2wsY2xhc3NOYW1lOmV9KSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jSW50ZXJ2YWxMYWJlbCxoaW50OnVpLnN5bmNJbnRlcnZhbEhpbnQsaXNTbWFsbFdpZHRoOm59KSxvbkNsaWNrOmQsdmFsdWU6InN5bmNJbnRlcnZhbExhYmVsIix3YXRjaGVkVmFsdWU6dC5sb2NrLmludGVydmFsLGNsYXNzTmFtZTplfSksaS5jcmVhdGVFbGVtZW50KG9pLHtyb2xlOiJyb3ciLGxhYmVsOmkuY3JlYXRlRWxlbWVudChoaSx7dGl0bGU6dWkuc3luY0Nyb3NzaGFpckxhYmVsLGhpbnQ6dWkuc3luY0Nyb3NzaGFpckhpbnQsaXNTbWFsbFdpZHRoOm59KSx3YXRjaGVkVmFsdWU6dC5sb2NrLmNyb3NzaGFpcix2YWx1ZToic3luY0Nyb3NzaGFpckxhYmVsIixvbkNsaWNrOmQsY2xhc3NOYW1lOmV9KSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jVHJhY2tMYWJlbCxoaW50OnVpLnN5bmNUcmFja0hpbnQsaXNTbWFsbFdpZHRoOm59KSx3YXRjaGVkVmFsdWU6dC5sb2NrLnRyYWNrVGltZSx2YWx1ZToic3luY1RyYWNrTGFiZWwiLG9uQ2xpY2s6ZCxjbGFzc05hbWU6ZX0pLGkuY3JlYXRlRWxlbWVudChvaSx7cm9sZToicm93IixsYWJlbDppLmNyZWF0ZUVsZW1lbnQoaGkse3RpdGxlOnVpLnN5bmNEYXRlUmFuZ2VMYWJlbCxoaW50OnVpLnN5bmNEYXRlUmFuZ2VIaW50LGlzU21hbGxXaWR0aDpufSksb25DbGljazpkLHZhbHVlOiJzeW5jRGF0ZVJhbmdlTGFiZWwiLHdhdGNoZWRWYWx1ZTp0LmxvY2suZGF0ZVJhbmdlLGNsYXNzTmFtZTplfSkpfSgpKSk7ZnVuY3Rpb24gZChlKXtjb25zdCB0PSFlLnZhbHVlKCk7ZS5zZXRWYWx1ZSh0KX1mdW5jdGlvbiB1KGUpeygwLHplLmdsb2JhbENsb3NlTWVudSkoKSx0LmxheW91dC52YWx1ZSgpPT09ZT90LnJldmVydFRvSW5saW5lKCk6dC5zZXRDaGFydExheW91dFdpdGhVbmRvKGUpfX1mdW5jdGlvbiBoaShlKXtjb25zdHt0aXRsZTp0LGhpbnQ6bixpc1NtYWxsV2lkdGg6YX09ZSxbbyxzXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyaS5zd2l0Y2hMYWJlbFdyYXB9LGkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6InJvd2hlYWRlciIsY2xhc3NOYW1lOnJpLnN3aXRjaExhYmVsfSx0KSwhYSYmaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiY2VsbCIsY2xhc3NOYW1lOmwoKShyaS5pY29uV3JhcCwiYXBwbHktY29tbW9uLXRvb2x0aXAiLHJpLmFjY2Vzc2libGVMYWJlbCksdGl0bGU6biwiYXJpYS1sYWJlbCI6bixvbkZvY3VzOigpPT4oMCxhYS5zaG93T25FbGVtZW50KSgoMCxuZS5lbnN1cmVOb3ROdWxsKShvLmN1cnJlbnQpKSxvbkJsdXI6KCk9PigwLGFhLmhpZGUpKCksdGFiSW5kZXg6cyxyZWY6b30saS5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOnJpLmluZm9JY29uLGljb246bGl9KSkpfWNvbnN0IHZpPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBtaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fb25VcGRhdGVMYXlvdXQ9ZT0+e2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQ7dGhpcy5zZXRTdGF0ZSh7Y3VycmVudElkOmV8fHQubGF5b3V0LnZhbHVlKCl9KX0sdGhpcy5faGFuZGxlT3BlbkxheW91dD0oKT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIiwic2VsZWN0IGxheW91dCIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwibGF5b3V0IHR5cGUiKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246by5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2N1cnJlbnRJZDoicyJ9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLmxheW91dC5zdWJzY3JpYmUodGhpcy5fb25VcGRhdGVMYXlvdXQse2NhbGxXaXRoTGFzdDohMH0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLmxheW91dC51bnN1YnNjcmliZSh0aGlzLl9vblVwZGF0ZUxheW91dCl9cmVuZGVyKCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dCx7Y2xhc3NOYW1lOnQsaWQ6YX09dGhpcy5wcm9wcyx7Y3VycmVudElkOm99PXRoaXMuc3RhdGU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCh3Lk1hdGNoTWVkaWEse3J1bGU6Qy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKHM9PmkuY3JlYXRlRWxlbWVudChtLlRvb2xiYXJNZW51QnV0dG9uLHtpZDphLGFycm93OiExLGNvbnRlbnQ6aS5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOnJpLmljb24saWNvbjplaVtvXX0pLGNsYXNzTmFtZTpsKCkodCxyaS5idXR0b24pLGlzRHJhd2VyOnMsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIsb25PcGVuOnRoaXMuX2hhbmRsZU9wZW5MYXlvdXQsdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig5NzQyMTQpKSwiZGF0YS1xYS1pZCI6InN0cmluZyI9PXR5cGVvZiBhPyJsYXlvdXRzLW1lbnUtYnV0dG9uIjp2b2lkIDB9LGkuY3JlYXRlRWxlbWVudChjaSx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmUsaXNTbWFsbFdpZHRoOnN9KSkpKX19bWkuY29udGV4dFR5cGU9dmk7Y29uc3QgcGk9ZT0+e2lmKChlPT4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI9PT1lPy5uYW1lc3BhY2VVUkkpKGUpJiYidHJ1ZSIhPT1lLmRhdGFzZXQuaW50ZXJuYWxBbGxvd0tleWJvYXJkTmF2aWdhdGlvbil7ZS50YWJJbmRleD0tMSxlLmFyaWFEaXNhYmxlZD0idHJ1ZSIKO2ZvcihsZXQgdD0wO3Q8ZS5jaGlsZHJlbi5sZW5ndGg7dCsrKXBpKGUuY2hpbGRyZW4uaXRlbSh0KSl9fTtjbGFzcyBmaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fd3JhcHBlckVsZW1lbnQ9bnVsbCx0aGlzLl9yZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX211dGF0aW9uT2JzZXJ2ZXI9bnVsbCx0aGlzLl91cGRhdGU9KCk9Pnt0aGlzLmZvcmNlVXBkYXRlKCl9LHRoaXMuX3NldFJlZj1lPT57dGhpcy5fd3JhcHBlckVsZW1lbnQ9ZX0sdGhpcy5faGFuZGxlTWVhc3VyZT0oW2VdKT0+e3RoaXMucHJvcHMud2lkdGguc2V0VmFsdWUoZS5jb250ZW50UmVjdC53aWR0aCl9LHRoaXMuX2hhbmRsZU11dGF0aW9uPShbZV0pPT57ImNoaWxkTGlzdCI9PT1lLnR5cGUmJnBpKHRoaXMucHJvcHMuZWxlbWVudCl9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZWxlbWVudDplLGlzRmFrZTp0LHdpZHRoOm59PXRoaXMucHJvcHM7IXQmJnRoaXMuX3dyYXBwZXJFbGVtZW50Pyh0aGlzLl9yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlTWVhc3VyZSksdGhpcy5fbXV0YXRpb25PYnNlcnZlcj1uZXcgTXV0YXRpb25PYnNlcnZlcih0aGlzLl9oYW5kbGVNdXRhdGlvbiksdGhpcy5fd3JhcHBlckVsZW1lbnQuYXBwZW5kQ2hpbGQoZSksdGhpcy5fcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl93cmFwcGVyRWxlbWVudCksdGhpcy5fbXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKGUse3N1YnRyZWU6ITAsY2hpbGRMaXN0OiEwfSkpOm4uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtjb25zdHt3aWR0aDplLGlzRmFrZTp0fT10aGlzLnByb3BzO3QmJmUudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlKSx0aGlzLl9yZXNpemVPYnNlcnZlciYmdGhpcy5fd3JhcHBlckVsZW1lbnQmJnRoaXMuX3Jlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLl93cmFwcGVyRWxlbWVudCksdGhpcy5fbXV0YXRpb25PYnNlcnZlciYmKHRoaXMuX211dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuX211dGF0aW9uT2JzZXJ2ZXI9bnVsbCl9cmVuZGVyKCl7Y29uc3R7aXNGYWtlOmU9ITEsd2lkdGg6dH09dGhpcy5wcm9wcztyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHAuVG9vbFdpZGdldFJvd1dyYXAse3JlZjp0aGlzLl9zZXRSZWYsc3R5bGU6ZT97d2lkdGg6dC52YWx1ZSgpfTp2b2lkIDAsImRhdGEtaXMtY3VzdG9tLWhlYWRlci1lbGVtZW50IjohMH0pfX1mdW5jdGlvbiBnaShlKXtjb25zdHtkaXNwbGF5TW9kZTp0LHBhcmFtczpufT1lO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQobS5Ub29sYmFyTWVudUJ1dHRvbix7Y29udGVudDppLmNyZWF0ZUVsZW1lbnQodm4uVG9vbFdpZGdldENvbGxhcHNpYmxlQnV0dG9uLHtjb2xsYXBzZVdoZW46dm9pZCAwIT09bi5pY29uP3ZvaWQgMDpbXSxkaXNwbGF5TW9kZTp0LGljb246bi5pY29uLHRleHQ6bi50aXRsZSwiZGF0YS1uYW1lIjoiZHJvcGRvd24iLCJkYXRhLWlzLWN1c3RvbS1oZWFkZXItZWxlbWVudCI6ITB9KSxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixkcmF3ZXJCcmVha3BvaW50OkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsdG9vbHRpcDpuLnRvb2x0aXB9LG4uaXRlbXMubWFwKCgoZSx0KT0+aS5jcmVhdGVFbGVtZW50KGFlLlBvcHVwTWVudUl0ZW0se2tleTp0LGxhYmVsOmUudGl0bGUsaWNvbjplLmljb24sb25DbGljazooKT0+ZS5vblNlbGVjdCgpLCJkYXRhLW5hbWUiOiJkcm9wZG93bi1pdGVtIn0pKSkpfXZhciBiaT1uKDcxMTI4Myk7ZnVuY3Rpb24gd2koZSl7Y29uc3R7Y2xhc3NOYW1lOnQsdGl0bGU6biwuLi5hfT1lO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24sey4uLmEsY2xhc3NOYW1lOmwoKSh0LGJpLmN1c3RvbVRyYWRpbmdWaWV3U3R5bGVCdXR0b24sYmkud2l0aG91dEljb24pLGNvbGxhcHNlV2hlbjpbXSwiZGF0YS1uYW1lIjoiY3VzdG9tLXRyYWRpbmd2aWV3LXN0eWxlZC1idXR0b24iLHRvb2x0aXA6bn0pfXZhciBDaT1uKDYwOTUzNCk7Y29uc3QgX2k9KDAsb2UuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsTS5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShNLk1vZGlmaWVycy5Nb2QsITEpLCJLIl0sdGV4dDoiezB9ICsgezF9In0pLHlpPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBTaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3VwZGF0ZVN0YXRlPWU9Pnt0aGlzLnNldFN0YXRlKHtpc09wZW5lZDplfSl9LHRoaXMuX2hhbmRsZUNsaWNrPWU9Pntjb25zdHtvcGVuR2xvYmFsU2VhcmNoOnR9PXRoaXMuY29udGV4dDt0KHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KS50aGVuKChlPT57dGhpcy5fZGlhbG9nPy52aXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpLHRoaXMuX2RpYWxvZz1lLGUudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSl9KSl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7b3Blbkdsb2JhbFNlYXJjaDpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNPcGVuZWQ6ITF9fWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fZGlhbG9nPy52aXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpfXJlbmRlcigpe3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaHQuVG9vbGJhckljb25CdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpDaSxpc09wZW5lZDp0aGlzLnN0YXRlLmlzT3BlbmVkLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssImRhdGEtdG9vbHRpcC1ob3RrZXkiOl9pLHRvb2x0aXA6dS50KG51bGwse2NvbnRleHQ6InRvb2xiYXJfcXVpY2tfc2VhcmNoX3Rvb2x0aXAifSxuKDkwOTg0NykpfSl9fVNpLmNvbnRleHRUeXBlPXlpO3ZhciB4aT1uKDU2OTM5OCk7ZnVuY3Rpb24gRWkoKXtsZXQgZTtyZXR1cm4gZT0oMCwKYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2xheW91dHRvZ2dsZSIpP21pOnZvaWQgMCx7QmFyczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfY2hhcnRfdHlwZSIpP3E6dm9pZCAwLENvbXBhcmU6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2NvbXBhcmUiKT9lZTp2b2lkIDAsQ3VzdG9tOmZpLEN1c3RvbVRyYWRpbmdWaWV3U3R5bGVkQnV0dG9uOndpLEZ1bGxzY3JlZW46KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Z1bGxzY3JlZW5fYnV0dG9uIikmJihDdC5DaGVja01vYmlsZS5hbnkoKSYmISgwLHhpLmlzRmVhdHVyZUVuYWJsZWQpKCJoaWRlX2Z1bGxzY3JlZW5fbW9kZV9vbl9tb2JpbGUiKXx8IUN0LkNoZWNrTW9iaWxlLmFueSgpKT90ZS5Ub29sV2lkZ2V0RnVsbHNjcmVlbjp2b2lkIDAsSW5kaWNhdG9yczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfaW5kaWNhdG9ycyIpP0FlOnZvaWQgMCxJbnRlcnZhbHM6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3Jlc29sdXRpb25zIik/Y3Q6dm9pZCAwLE9wZW5Qb3B1cDpmdCxQcm9wZXJ0aWVzOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhlYWRlcl9zZXR0aW5ncyIpJiYoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiKT93dDp2b2lkIDAsU2F2ZUxvYWQ6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3NhdmVsb2FkIik/TXQ6dm9pZCAwLFNjcmVlbnNob3Q6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3NjcmVlbnNob3QiKT9adDp2b2lkIDAsU3ltYm9sU2VhcmNoOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhlYWRlcl9zeW1ib2xfc2VhcmNoIik/Y246dm9pZCAwLFRlbXBsYXRlczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV90ZW1wbGF0ZXMiKT9Lbjp2b2lkIDAsRHJvcGRvd246Z2ksVW5kb1JlZG86KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3VuZG9fcmVkbyIpP25hOnZvaWQgMCxMYXlvdXQ6ZSxRdWlja1NlYXJjaDpDdC5DaGVja01vYmlsZS5hbnkoKXx8KDAsQXQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fCEoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfcXVpY2tfc2VhcmNoIik/dm9pZCAwOlNpfX19LDY4ODYzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0RnVsbHNjcmVlbjooKT0+Z30pO3ZhciBhPW4oNzc5NDc0KSxpPW4oMjIxODk2KSxvPW4oOTE0NDg3KSxzPW4ubihvKSxsPW4oMTg1MjcxKSxyPW4oOTY3MDUpLGQ9big1Njk2NTIpLHU9bigzNDUxNTEpLGM9bigyMzU3MjQpLGg9bigyMTYwODMpLHY9big0MzQwMzcpLG09bigxNzU0NjcpO2NvbnN0IHA9KDAsdS5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlsoMCxjLmh1bWFuUmVhZGFibGVNb2RpZmllcnMpKGMuTW9kaWZpZXJzLlNoaWZ0LCExKSwiRiJdLHRleHQ6InswfSArIHsxfSJ9KSxmPSgwLGQucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBnIGV4dGVuZHMgYS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl91cGRhdGVTdGF0ZT0oKT0+e3RoaXMuc2V0U3RhdGUoe2lzRnVsbHNjcmVlbjp0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmZ1bGxzY3JlZW4oKS52YWx1ZSgpfSl9LHRoaXMuX2hhbmRsZUNsaWNrPSgpPT57Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dCx7Y2xpY2tBcmVhOnR9PXRoaXMucHJvcHM7ZS5mdWxsc2NyZWVuKCkudmFsdWUoKT9lLmV4aXRGdWxsc2NyZWVuKCk6ZS5zdGFydEZ1bGxzY3JlZW4oKSx0JiYoMCxoLnRyYWNrQnV0dG9uQ2xpY2spKHQsImZ1bGxzY3JlZW4gbW9kZSIpfSwoMCxkLnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjppLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNGdWxsc2NyZWVuOnRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24uZnVsbHNjcmVlbigpLnZhbHVlKCl9LHRoaXMuX3N1YnNjcmliZSgpfXJlbmRlcigpe2NvbnN0e2NsYXNzTmFtZTplLGlkOnQsaXNBY3RpdmU6aX09dGhpcy5wcm9wcyx7aXNGdWxsc2NyZWVuOm99PXRoaXMuc3RhdGU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChyLlRvb2xiYXJJY29uQnV0dG9uLHtpZDp0LGljb246bz9tOnYsb25DbGljazp0aGlzLl9oYW5kbGVDbGljayxjbGFzc05hbWU6cygpKGUpLHRvb2x0aXA6bC50KG51bGwsdm9pZCAwLG4oNTIyOTExKSksImRhdGEtdG9vbHRpcC1ob3RrZXkiOnAsaXNBY3RpdmU6aX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fdW5zdWJzY3JpYmUoKX1fc3Vic2NyaWJlKCl7dGhpcy5jb250ZXh0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5mdWxsc2NyZWVuKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1fdW5zdWJzY3JpYmUoKXt0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmZ1bGxzY3JlZW4oKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSl9fWcuY29udGV4dFR5cGU9Zn0sMzU5ODQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbGxhcHNlU2VwYXJhdG9yczooKT0+dSxzb3J0UmVzb2x1dGlvbnNCeUNhdGVnb3JpZXM6KCk9PnJ9KTt2YXIgYT1uKDE4NTI3MSksaT1uKDI1NDY3Myksbz1uKDYxODY3Mikscz1uKDczMjczMSk7Y29uc3QgbD17W2kuUmVzb2x1dGlvbktpbmQuVGlja3NdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbig4NzAzMDEpKSxbaS5SZXNvbHV0aW9uS2luZC5TZWNvbmRzXTphLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfZ3JvdXBfbmFtZSJ9LG4oNzUyNzAwKSksW2kuUmVzb2x1dGlvbktpbmQuTWludXRlc106YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUifSxuKDIzMDkwOSkpLFtpLlNwZWNpYWxSZXNvbHV0aW9uS2luZC5Ib3Vyc106YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUiCn0sbigxMjY5MTcpKSxbaS5SZXNvbHV0aW9uS2luZC5EYXlzXTphLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfZ3JvdXBfbmFtZSJ9LG4oMjAyODkxKSksW2kuUmVzb2x1dGlvbktpbmQuV2Vla3NdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbig0MzM5OTQpKSxbaS5SZXNvbHV0aW9uS2luZC5Nb250aHNdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbigzNDQ3NDcpKSxbaS5SZXNvbHV0aW9uS2luZC5SYW5nZV06YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUifSxuKDI4ODAzNCkpLFtpLlJlc29sdXRpb25LaW5kLkludmFsaWRdOiIifTtmdW5jdGlvbiByKGUpe2NvbnN0IHQ9ZChpLlJlc29sdXRpb25LaW5kLlRpY2tzKSxuPWQoaS5SZXNvbHV0aW9uS2luZC5TZWNvbmRzKSxhPWQoaS5SZXNvbHV0aW9uS2luZC5NaW51dGVzKSxvPWQoaS5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnMpLHM9ZChpLlJlc29sdXRpb25LaW5kLkRheXMpLGw9ZChpLlJlc29sdXRpb25LaW5kLlJhbmdlKTtlLmZvckVhY2goKGU9Pntjb25zdCByPWkuSW50ZXJ2YWwucGFyc2UoZSk7ci5pc01pbnV0ZUhvdXJzKCk/by5pdGVtcy5wdXNoKGUpOnIuaXNNaW51dGVzKCk/KDAsaS5pc0hvdXIpKE51bWJlcihyLm11bHRpcGxpZXIoKSkpP28uaXRlbXMucHVzaChlKTphLml0ZW1zLnB1c2goZSk6ci5pc1NlY29uZHMoKT9uLml0ZW1zLnB1c2goZSk6ci5pc0RXTSgpP3MuaXRlbXMucHVzaChlKTpyLmlzUmFuZ2UoKT9sLml0ZW1zLnB1c2goZSk6ci5pc1RpY2tzKCkmJnQuaXRlbXMucHVzaChlKX0pKTtyZXR1cm5bdCxuLGEsbyxzLGxdLmZpbHRlcigoZT0+MCE9PWUuaXRlbXMubGVuZ3RoKSl9ZnVuY3Rpb24gZChlLHQ9ITEpe3JldHVybntpZDplLG5hbWU6bFtlXSxpdGVtczpbXSxtYXlPbWl0U2VwYXJhdG9yOnR9fWZ1bmN0aW9uIHUoZSl7bGV0IHQ9ITE7cmV0dXJuIGUuZmlsdGVyKCgoZSxuLGEpPT57bGV0IGk9ITA7Y29uc3QgbD1lLnR5cGU9PT1vLlBvcHVwTWVudVNlcGFyYXRvcnx8ZS50eXBlPT09cy5EaXZpZGVyTGlzdEl0ZW07cmV0dXJuIGwmJigwIT09biYmbiE9PWEubGVuZ3RoLTF8fChpPSExKSx0JiYoaT0hMSkpLHQ9bCxpfSkpfX0sOTA2NjgzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRTYXZlTG9hZFZpZXc6KCk9Pk1lfSk7dmFyIGE9bigxODUyNzEpLGk9big3Nzk0NzQpLG89big5MTQ0ODcpLHM9bi5uKG8pLGw9big1NTcwNjUpLHI9big5MzAyMzEpLGQ9bigyMzU3MjQpLHU9bigzMTg5NzQpLGM9bigxNTM3MzQpLGg9big4NTAxMDgpLHY9big2MTg2NzIpLG09big4NjQ2ODEpLHA9bigxODYwOTcpLGY9big3NzEyODUpLGc9bigzODcyMzEpLGI9big1MTA1OTgpLHc9big3MzI3MzEpLEM9bigzMTMxMTApLF89big3MjM5ODYpLHk9big4MDA5MTQpLFM9big2Mzg4NzIpLHg9bigyNTUzMjkpLEU9KG4oODI5MTgwKSxuKDIyMTg5NikpLE09big1Njk2NTIpLGs9big2MjcwNDUpLEk9big1NTgwNzUpO2NvbnN0IFQ9KDAsTS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEEgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZUFjdGl2ZT1lPT57dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6dGhpcy5wcm9wcy5pdGVtLmlkPT09ZX0pfSx0aGlzLl9oYW5kbGVBcHBseT0oKT0+e3RoaXMucHJvcHMuaXRlbS5vcGVuQWN0aW9uKCExKX0sKDAsTS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246RS5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2lzQWN0aXZlOmUuaXRlbS5hY3RpdmUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uPy5tZXRhSW5mby5pZC5zdWJzY3JpYmUodGhpcy5faGFuZGxlQWN0aXZlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24/Lm1ldGFJbmZvLmlkLnVuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUFjdGl2ZSl9cmVuZGVyKCl7Y29uc3R7aXNBY3RpdmU6ZX09dGhpcy5zdGF0ZSx7aXRlbTp0LGNsYXNzTmFtZTpufT10aGlzLnByb3BzLGE9dC51cmw/KDAsSS5nZW5lcmF0ZUNoYXJ0VXJsKSh7Y2hhcnRJZDp0LnVybH0pOnZvaWQgMDtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGsuRmF2b3JpdGVJdGVtLHtpdGVtOnQsaXNBY3RpdmU6ZSx0YXJnZXQ6Il9zZWxmIixocmVmOmEsb25BcHBseTp0aGlzLl9oYW5kbGVBcHBseSxjbGFzc05hbWU6bn0pfX1BLmNvbnRleHRUeXBlPVQ7dmFyIEg9big0MzU0NDcpO2Z1bmN0aW9uIFYoZSl7Y29uc3R7ZmF2b3JpdGVzOnQsZGlzcGxheU1vZGU6bn09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCx0Lm1hcCgoKGUsdCxhKT0+aS5jcmVhdGVFbGVtZW50KEEse2tleTplLmlkLGl0ZW06ZSxjbGFzc05hbWU6cygpKHtbSC5mdWxsXToiZnVsbCI9PT1uLFtILm1lZGl1bV06Im1lZGl1bSI9PT1uLFtILmZpcnN0XTowPT09dCxbSC5sYXN0XTp0PT09YS5sZW5ndGgtMX0pfSkpKSl9dmFyIFI9bigzNDUxNTEpLEY9bigyNzMzMTApLEw9big5OTU3MTkpLFo9bigzNzQzMDQpLE49bigzOTE1MDQpLHo9big3NjI4NTEpLEI9big2NDkxNjYpLE89bigxNzY0MzIpO2Z1bmN0aW9uIEQoZSl7Y29uc3R7aXNWaXNpYmxlOnQsaXNMb2FkaW5nOm4sbGFiZWw6YSxjbGFzc05hbWU6b309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShPLnN0YXRlVGl0bGUsIXQmJiFuJiZPLmhpZGRlbixvKX0sbj9pLmNyZWF0ZUVsZW1lbnQoQi5Mb2FkZXIse2NsYXNzTmFtZTpPLmxvYWRlcixzaXplOiJzbWFsbCIsc3RhdGljUG9zaXRpb246ITB9KTphKX12YXIgVz1uKDY2NjQ0MSksUD1uKDk3OTc0MiksVT1uKDEwMzE2MCksaj1uKDYxOTEwNSksSz1uKDExNDMwNyk7Y29uc3QgUT0oMCxnLm1lcmdlVGhlbWVzKShjLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLHt0b29sYm94OksudG9vbGJveH0pLHE9KDAsCmcubWVyZ2VUaGVtZXMpKGMuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUse3Rvb2xib3g6Sy50b29sYm94U21hbGx9KTtmdW5jdGlvbiAkKGUpe2NvbnN0e2xheW91dDp0LGNoYXJ0SWQ6bixmYXZvcml0ZXM6YSxpc1RhYmxldFNtYWxsOm8saXNOZXdWaWV3Omx9PWUscj1OdW1iZXIodC5pZCk9PT1uLHU9Qm9vbGVhbihhPy5bdC5pZF0pLGM9YC9jaGFydC8ke3QudXJsfSR7d2luZG93LmxvY2F0aW9uLnNlYXJjaH1gLHY9Qm9vbGVhbihXLnNob3dGYXZvcml0ZUxheW91dHMmJmEpLG09dj8xOjA7cmV0dXJuIGw/aS5jcmVhdGVFbGVtZW50KEMuTWVudUl0ZW0se2tleTp0LmlkLHJvbGU6InJvdyIsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKSghbyYmSy5lbGxpcHNpcywiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpLHJvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjoyLW19LGkuY3JlYXRlRWxlbWVudChiLkxlYWRpbmdFbW9qaVRleHQse3RleHQ6dC5uYW1lfSkpLGRlc2NyaXB0aW9uOmAke3Quc3ltYm9sfSwgJHt0LmludGVydmFsfWAsImRhdGEtcm9sZSI6Im1lbnVpdGVtIixlbGxpcHNpczohbyxkYXRhUWFJZDoic2F2ZS1sb2FkLW1lbnUtaXRlbS1yZWNlbnQiLG9uQ2xpY2s6ZT0+ZihyLGUpLHNlbGVjdGVkOnIsaHJlZjpyP3ZvaWQgMDpjLHJpZ2h0U2xvdDp2P2kuY3JlYXRlRWxlbWVudChVLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IXUscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoUC5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6dSxvbkNsaWNrOnB9KSk6dm9pZCAwfSk6aS5jcmVhdGVFbGVtZW50KGguQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6dC5pZCxyb2xlOiJyb3ciLGNsYXNzTmFtZTpzKCkoSy5sYXlvdXRJdGVtV3JhcCxvJiZLLmxheW91dEl0ZW1XcmFwU21hbGwsciYmSy5hY3RpdmUpLGlzQWN0aXZlOnIsbGFiZWxSb3dDbGFzc05hbWU6cygpKEsubGFiZWxSb3csbyYmSy5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbCksbGluazpyP3ZvaWQgMDpjLG9uQ2xpY2s6ZixvbkNsaWNrQXJnOnIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Sy5sYXlvdXRJdGVtfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoSy5sYXlvdXRUaXRsZSxvJiZLLmxheW91dFRpdGxlU21hbGwpfSxpLmNyZWF0ZUVsZW1lbnQoYi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnQubmFtZX0pKSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpLLmxheW91dE1ldGF9LHQuc3ltYm9sLCIsICIsdC5pbnRlcnZhbCkpLHRvb2xib3g6dj9pLmNyZWF0ZUVsZW1lbnQoai5NZW51RmF2b3JpdGVCdXR0b24se2lzQWN0aXZlOnIsaXNGaWxsZWQ6dSxvbkNsaWNrOnB9KTp2b2lkIDAsdGhlbWU6bz9xOlEsc2hvd1Rvb2xib3hPbkZvY3VzOiEwLHNob3dUb29sYm94T25Ib3ZlcjohdX0pO2Z1bmN0aW9uIHAoZSl7ZT8ucHJldmVudERlZmF1bHQoKSx0LmZhdm9yaXRlQWN0aW9uKCl9ZnVuY3Rpb24gZihlLG4pe3J8fCgwLGQubW9kaWZpZXJzRnJvbUV2ZW50KShuKSE9PWQuTW9kaWZpZXJzLk5vbmV8fCJidXR0b24iaW4gbiYmMT09PW4uYnV0dG9ufHwobi5wcmV2ZW50RGVmYXVsdCgpLHQub3BlbkFjdGlvbighMSkpfX12YXIgWD1uKDEzODYzOCksRz1uKDExNzMxMyksSj1uKDE4MjMwOCksWT1uKDEzODk5NCksZWU9bigzNDQ3ODUpLHRlPW4oMzcyMjM4KSxuZT1uKDc2MTE3NSk7ZnVuY3Rpb24gYWUoe2lzVGFibGV0U21hbGw6ZSxpc05ld1ZpZXc6dH0pe2NvbnN0W28sbF09KDAsSi51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLHI9YS50KG51bGwsdm9pZCAwLG4oNjY2OTQ0KSk7cmV0dXJuIHQ/aS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJyb3doZWFkZXIiLGNsYXNzTmFtZTpuZS50aXRsZVNoYXJpbmdMYWJlbH0sYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oMjI0ODkpKSksIWUmJiEoMCxHLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIixjbGFzc05hbWU6bmUuaGludH0saS5jcmVhdGVFbGVtZW50KFkuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2ljb246ImluZm8iLGFyaWFMYWJlbDpyLHRvb2x0aXA6cixyZWY6byx0YWJJbmRleDpsfSkpKTppLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuZS5zaGFyaW5nTGFiZWxXcmFwfSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJyb3doZWFkZXIiLGNsYXNzTmFtZTpuZS50aXRsZVNoYXJpbmdMYWJlbH0sYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oNzQ1Njc2KSkpLCFlJiYhKDAsRy5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiZpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsY2xhc3NOYW1lOnMoKShuZS5pY29uV3JhcCwiYXBwbHktY29tbW9uLXRvb2x0aXAiLG5lLmFjY2Vzc2libGVMYWJlbCksdGl0bGU6ciwiYXJpYS1sYWJlbCI6cixvbkZvY3VzOigpPT4oMCxlZS5zaG93T25FbGVtZW50KSgoMCxYLmVuc3VyZU5vdE51bGwpKG8uY3VycmVudCkpLG9uQmx1cjooKT0+KDAsZWUuaGlkZSkoKSx0YWJJbmRleDpsLHJlZjpvfSxpLmNyZWF0ZUVsZW1lbnQoRi5JY29uLHtjbGFzc05hbWU6bmUuaW5mb0ljb24saWNvbjp0ZX0pKSl9dmFyIGllPW4oMjE2MDgzKSxvZT1uKDQyOTQ2NSksc2U9bigyNjE5MzYpLGxlPW4oMjE1MjkyKSxyZT1uKDExMjY2NSksZGU9big1ODM4NDIpLHVlPW4oNzgzMjU0KSxjZT1uKDYyNTE1Nik7Y29uc3QgaGU9KDAsaS5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtyb2xlOmEsaXNTbWFsbDpvLG9uQ2xpY2s6bH09ZSxbcix1XT0oMCxKLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkodCk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOnIscm9sZTphLGNsYXNzTmFtZTpzKCkoY2UuY29weUxpbmssbyYmY2UuY29weUxpbmtNb2JpbGUsY2UuYWNjZXNzaWJsZUxhYmVsKSxvbkNsaWNrOmwsCnRhYkluZGV4OnUsb25LZXlEb3duOmZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0IT09ZS5jdXJyZW50VGFyZ2V0KXJldHVybjtjb25zdCB0PSgwLGQuaGFzaEZyb21FdmVudCkoZSk7MTMhPT10JiYzMiE9PXR8fChlLnByZXZlbnREZWZhdWx0KCksci5jdXJyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnIuY3VycmVudC5jbGljaygpKX0sImRhdGEtcm9sZSI6Im1lbnVpdGVtIn0sdWUudChudWxsLHZvaWQgMCxuKDYwODk5MikpKX0pKTt2YXIgdmU9bigzNDc5NzMpLG1lPW4oNzYxOTcxKSxwZT1uKDE0ODM4NyksZmU9big0NzA5MDEpLGdlPW4oNDY1MDY0KSxiZT1uKDczNTQ2Mik7Y29uc3Qgd2U9KDAsci5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IiksQ2U9KCgwLHIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNhdmVfc2hvcnRjdXQiKSwoMCxnLm1lcmdlVGhlbWVzKShMLkRFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FLGdlKSksX2U9KDAsZy5tZXJnZVRoZW1lcykoYy5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7c2hvcnRjdXQ6ZmUuc2hvcnRjdXQsd2l0aEljb246ZmUud2l0aEljb259KSx5ZT1hLnQobnVsbCx2b2lkIDAsbig2MTgwMzkpKSxTZT1hLnQobnVsbCx2b2lkIDAsbig5MzkwNzQpKSx4ZT1bXSxFZT0oMCxSLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLGQuaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoZC5Nb2RpZmllcnMuTW9kLCExKSwiUyJdLHRleHQ6InswfSArIHsxfSJ9KTtjbGFzcyBNZSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9jb3B5RWxSZWY9aS5jcmVhdGVSZWYoKSx0aGlzLl9tZW51UmVmPWkuY3JlYXRlUmVmKCksdGhpcy5faGFuZGxlQ29weUxpbmtDbGljaz0oKT0+e2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLmhyZWY7cmV0dXJuKDAsbC5nZXRDbGlwYm9hcmQpKCkud3JpdGVUZXh0KGUpLnRoZW4oKCgpPT57dGhpcy5fY29weUVsUmVmLmN1cnJlbnQmJigoMCxzZS5zaG93VG9vbHRpcCkodGhpcy5fY29weUVsUmVmLmN1cnJlbnQse2luaXRpYWxEZWxheTowLGxlYXZlT25Nb3VzZU91dDohMH0pLCgwLHNlLmRlYm91bmNlSGlkZVRvb2x0aXApKCkpfSkpfSx0aGlzLl9oYW5kbGVDbG9uZUNsaWNrPSgpPT57dGhpcy5wcm9wcy5vbkNsb25lQ2hhcnQ/LigpLCgwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsImNvcHkiLHZvaWQgMCwhMCl9LHRoaXMuX2hhbmRsZVNhdmVDbGljaz0oKT0+e3RoaXMucHJvcHMub25TYXZlQ2hhcnQ/LigpLHRoaXMuX3RyYWNrQ2xpY2soKX0sdGhpcy5faGFuZGxlU2F2ZUFzQ2xpY2s9KCk9Pnt0aGlzLnByb3BzLm9uU2F2ZUFzQ2hhcnQ/LigpLCgwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJtYW5hZ2UgbGF5b3V0IiwibWFrZSBhIGNvcHkiLHZvaWQgMCwhMCl9LHRoaXMuc3RhdGU9e2lzU2F2aW5nOiExfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXtlLmlzUHJvY2Vzc2luZyYmIXRoaXMucHJvcHMuaXNQcm9jZXNzaW5nJiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHRoaXMuX3RpbWVvdXQ9dm9pZCAwLHRoaXMuc2V0U3RhdGUoe2lzU2F2aW5nOiExfSkpLCghZS5yZWNlbnRJdGVtcz8ubGVuZ3RoJiZ0aGlzLnByb3BzLnJlY2VudEl0ZW1zPy5sZW5ndGh8fGUuaXNTaGFyaW5nRW5hYmxlZCE9PXRoaXMucHJvcHMuaXNTaGFyaW5nRW5hYmxlZCkmJnRoaXMuX21lbnVSZWYuY3VycmVudD8udXBkYXRlKCksIWUuaXNQcm9jZXNzaW5nJiZ0aGlzLnByb3BzLmlzUHJvY2Vzc2luZyYmKHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCgoKCk9Pnt0aGlzLnNldFN0YXRlKHtpc1NhdmluZzohMH0pfSksMWUzKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl90aW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCl9cmVuZGVyKCl7Y29uc3R7aWQ6ZSxpc1JlYWRPbmx5OnQsZGlzcGxheU1vZGU6byxpc1Byb2Nlc3Npbmc6bCx0aXRsZTpyLHdhc0NoYW5nZXM6ZCxoaWRlTWVudTp1LGlzVGFibGV0U21hbGw6Yyxvbk9wZW5NZW51OmgsZGF0YU5hbWVTYXZlTWVudTp2LGlzU2F2ZURpYWxvZ09wZW5lZDpnLGNoYXJ0TGlzdDp3LGZhdm9yaXRlczpDLGlzTmV3VmlldzpffT10aGlzLnByb3BzLHk9IXQmJiF1O2xldCBTPVtdO1cuc2hvd0Zhdm9yaXRlTGF5b3V0cyYmdyYmQyYmKFM9dy5maWx0ZXIoKGU9PkNbZS5pZF0pKS5zb3J0KCgoZSx0KT0+ZS5uYW1lLmxvY2FsZUNvbXBhcmUodC5uYW1lKSkpKTtjb25zdCB4PSEoZHx8IXJ8fHRoaXMuc3RhdGUuaXNTYXZpbmcpLEU9aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZmUudGV4dFdyYXB9LGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpmZS50ZXh0fSxpLmNyZWF0ZUVsZW1lbnQoYi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnJ8fGEudChudWxsLHZvaWQgMCxuKDYxMjY1NSkpfSkpLGkuY3JlYXRlRWxlbWVudChELHtpc0xvYWRpbmc6dGhpcy5zdGF0ZS5pc1NhdmluZyxpc1Zpc2libGU6ZCxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoic2F2ZV9idXR0b24ifSxuKDQ3Mzc4MikpfSkpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQobS5Ub29sV2lkZ2V0Um93V3JhcCxudWxsLHQ/aS5jcmVhdGVFbGVtZW50KG0uVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQocC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2lkOmUsZGlzcGxheU1vZGU6byxpY29uOmkuY3JlYXRlRWxlbWVudChGLkljb24se2ljb246dmV9KSxpc0Rpc2FibGVkOmwsb25DbGljazp0aGlzLl9oYW5kbGVDbG9uZUNsaWNrLHRleHQ6YS50KG51bGwsdm9pZCAwLG4oMTI5MjE0KSksY29sbGFwc2VXaGVuOnhlLHRvb2x0aXA6eWV9KSk6aS5jcmVhdGVFbGVtZW50KG0uVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQocC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2lkOmUsImRhdGEtcWEtaWQiOmUsY2xhc3NOYW1lOnMoKShmZS5idXR0b24seSYmZmUuYnV0dG9uU21hbGxQYWRkaW5nKSxkaXNwbGF5TW9kZTpvLCJhcmlhLWRpc2FibGVkIjohIXh8fHZvaWQgMCxpc0Rpc2FibGVkOmwsCm9uQ2xpY2s6eD92b2lkIDA6dGhpcy5faGFuZGxlU2F2ZUNsaWNrLHRleHQ6RSx0aGVtZTpDZSxjb2xsYXBzZVdoZW46eGUsaXNPcGVuZWQ6Zyx0b29sdGlwOng/YS50KG51bGwsdm9pZCAwLG4oMzkzOSkpOmEudChudWxsLHZvaWQgMCxuKDgyMDMpKSwiZGF0YS10b29sdGlwLWhvdGtleSI6d2V8fHg/IiI6RWV9KSx5JiZpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmZS5tZW51QnRuV3JhcH0saS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhck1lbnVCdXR0b24seyJkYXRhLW5hbWUiOnYsYXJyb3c6ITAscmVmOnRoaXMuX21lbnVSZWYsaXNEcmF3ZXI6YyxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixvbkNsaWNrOnRoaXMuX3RyYWNrQ2xpY2ssb25PcGVuOmgsdG9vbHRpcDphLnQobnVsbCx2b2lkIDAsbigyMzY2NjApKSxtZW51Q2xhc3NOYW1lOmZlLm1lbnUsbWVudVJvbGU6ImdyaWQiLGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjpffSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoIWMmJmZlLmRlc2t0b3AsXyYmZmUubmV3TWVudVdyYXBwZXIpfSx0aGlzLl9yZW5kZXJNZW51SXRlbXMoQm9vbGVhbihjKSxfKSkpKSxTLmxlbmd0aD4wJiZpLmNyZWF0ZUVsZW1lbnQoVix7ZGlzcGxheU1vZGU6byxmYXZvcml0ZXM6U30pKSl9X3JlbmRlclNlcGFyYXRvcihlLHQpe3JldHVybiB0P2kuY3JlYXRlRWxlbWVudCh3LkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIixrZXk6ZX0pOmkuY3JlYXRlRWxlbWVudCh2LlBvcHVwTWVudVNlcGFyYXRvcix7a2V5OmV9KX1fcmVuZGVyT3ZlcmZsb3dUaXRsZShlLHQpe3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKCF0JiZmZS5lbGxpcHNpcywiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpLHJvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjoyfSxlKX1fcmVuZGVyQWN0aW9uSXRlbShlLHQsbyl7Y29uc3QgbD10P04ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTpfZSxyPWUud2l0aEVsbGlwc2lzPygwLHouYXBwZW5kRWxsaXBzaXMpKGUubGFiZWwpOmUubGFiZWw7aWYoIW8pe2NvbnN0IG89ZS5ob3RrZXk/MTkwPT09ZS5ob3RrZXk/YS50KG51bGwse2NvbnRleHQ6ImhvdGtleSJ9LG4oOTEwNDc2KSk6KDAsZC5odW1hblJlYWRhYmxlSGFzaCkoZS5ob3RrZXkpOnZvaWQgMDtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGguQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6ZS5rZXkscm9sZToicm93Iixpc0Rpc2FibGVkOmUuaXNEaXNhYmxlZCxpY29uOmUuaWNvbixsYWJlbDpyLG9uQ2xpY2s6ZS5vbkNsaWNrLGxhYmVsUm93Q2xhc3NOYW1lOnMoKSh0JiZmZS5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbCksdGhlbWU6bCxzaG9ydGN1dDpvLCJkYXRhLW5hbWUiOmUuZGF0YVFhSWQsImFyaWEtaGFzcG9wdXAiOmUuYXJpYUhhc3BvcHVwLGRvbnRDbG9zZVBvcHVwOmUuZG9udENsb3NlUG9wdXAscmVmZXJlbmNlOmUucmVmfSl9cmV0dXJuIGkuY3JlYXRlRWxlbWVudChDLk1lbnVJdGVtLHtrZXk6ZS5rZXkscm9sZToicm93IixkaXNhYmxlZDplLmlzRGlzYWJsZWQsYXJpYUhhc3BvcHVwOmUuYXJpYUhhc3BvcHVwLGxlZnRTbG90OmUuaWNvbj9pLmNyZWF0ZUVsZW1lbnQoUy5TdmdJY29uTGlzdEl0ZW1QYXJ0LHtpY29uU3ZnOmUuaWNvbn0pOnZvaWQgMCxvbkNsaWNrOmUub25DbGljayx0aXRsZTp0aGlzLl9yZW5kZXJPdmVyZmxvd1RpdGxlKHIsdCksYXJpYUxhYmVsOmUubGFiZWwsaG90a2V5OmUuaG90a2V5LCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsZWxsaXBzaXM6IXQsZGF0YVFhSWQ6ZS5kYXRhUWFJZCxkb250Q2xvc2VQb3B1cDplLmRvbnRDbG9zZVBvcHVwLGxpc3RJdGVtUmVmOmUucmVmfSl9X3JlbmRlck1lbnVJdGVtcyhlLHQpe2NvbnN0e3dhc0NoYW5nZXM6byxpc1Byb2Nlc3Npbmc6bCxjaGFydElkOnIsb25TYXZlQ2hhcnRGcm9tTWVudTpjLG9uUmVuYW1lQ2hhcnQ6aCxvbkxvYWRDaGFydDp2LG9uTmV3Q2hhcnQ6bSxpc0F1dG9TYXZlRW5hYmxlZDpwLGF1dG9TYXZlSWQ6ZixzaGFyaW5nSWQ6YixvbkF1dG9TYXZlQ2hhbmdlZDp3LGlzU2hhcmluZ0VuYWJsZWQ6QyxvblNoYXJpbmdDaGFuZ2VkOlMscmVjZW50SXRlbXM6RSxvbkV4cG9ydERhdGE6TSxpc0F1dGhlbnRpY2F0ZWQ6ayxmYXZvcml0ZXM6SX09dGhpcy5wcm9wcyxUPWU/Wi5tZW51SXRlbVN3aXRjaGVyTW9iaWxlVGhlbWU6YmUsQT1bXSxIPWsmJkUmJkUubGVuZ3RoPjA/dD9baS5jcmVhdGVFbGVtZW50KHkuU2VjdGlvbkxpc3RJdGVtLHtrZXk6InJlY2VudGx5LXVzZWQiLHRpdGxlOnRoaXMuX3JlbmRlck92ZXJmbG93VGl0bGUoYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oNjIzMjQ0KSksZSksYXJpYUxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYyMzI0NCkpLGdyb3VwUm9sZToicm93Z3JvdXAiLGl0ZW1Sb2xlOiJyb3cifSxFLm1hcCgobj0+aS5jcmVhdGVFbGVtZW50KCQse2tleTpuLmlkLGxheW91dDpuLGNoYXJ0SWQ6cixmYXZvcml0ZXM6SSxpc1RhYmxldFNtYWxsOmUsaXNOZXdWaWV3OnR9KSkpKV06W2kuY3JlYXRlRWxlbWVudChvZS5Ub29sVGl0bGUse2tleToicmVjZW50bHktdXNlZCIsY2xhc3NOYW1lOnMoKShmZS50b29sVGl0bGUsZSYmZmUudG9vbFRpdGxlTW9iaWxlKSx0ZXh0OmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYyMzI0NCkpfSksLi4uRS5tYXAoKG49PmkuY3JlYXRlRWxlbWVudCgkLHtrZXk6bi5pZCxsYXlvdXQ6bixjaGFydElkOnIsZmF2b3JpdGVzOkksaXNUYWJsZXRTbWFsbDplLGlzTmV3Vmlldzp0fSkpKV06bnVsbDtBLnB1c2godGhpcy5fcmVuZGVyQWN0aW9uSXRlbSh7a2V5OiJzYXZlIixpc0Rpc2FibGVkOkJvb2xlYW4obHx8IW8mJnIpLGxhYmVsOlNlLG9uQ2xpY2s6Yyxob3RrZXk6ZT92b2lkIDA6ZC5Nb2RpZmllcnMuTW9kKzgzLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLXNhdmUiLHdpdGhFbGxpcHNpczohMX0sZSx0KSk7ewpjb25zdCBvPXIsbD0oKT0+dm9pZCAwIT09cCYmdm9pZCAwIT09dyYmbz90P2kuY3JlYXRlRWxlbWVudChfLk1lbnVTd2l0Y2hlckl0ZW0se2tleToiYXV0by1zYXZlIixyb2xlOiJyb3ciLHZhbHVlOnAsb25DbGljazooKT0+dyghcCksdGl0bGU6dGhpcy5fcmVuZGVyT3ZlcmZsb3dUaXRsZShhLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig0Nzk3MSkpLGUpLGFyaWFMYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig0Nzk3MSkpLCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsZWxsaXBzaXM6IWUsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tYXV0by1zYXZlIn0pOmkuY3JlYXRlRWxlbWVudCh4Lk1lbnVJdGVtU3dpdGNoZXIse2tleToiYXV0by1zYXZlIixyb2xlOiJyb3ciLGNoZWNrZWQ6cCxvbkNoYW5nZTp3LGNsYXNzTmFtZTpzKCkoIWUmJmZlLmF1dG9TYXZlV3JhcHBlciksaWQ6Zix0aGVtZTpULGxhYmVsOmEudChudWxsLHZvaWQgMCxuKDU1NjM5OSkpLHZhbHVlOiJhdXRvU2F2ZVN3aXRjaGVyIn0pOm51bGw7QS5wdXNoKGwoKSl9aWYodm9pZCAwIT09cil7aWYodm9pZCAwIT09QyYmdm9pZCAwIT09UyYmISgwLHUuaXNTeW1waG9ueUVtYmVkKSgpKXtjb25zdCBvPWkuY3JlYXRlRWxlbWVudChhZSx7aXNUYWJsZXRTbWFsbDplLGlzTmV3Vmlldzp0fSk7aWYodClBLnB1c2goaS5jcmVhdGVFbGVtZW50KF8uTWVudVN3aXRjaGVySXRlbSx7a2V5OiJzaGFyaW5nIixyb2xlOiJyb3ciLHZhbHVlOkMsb25DbGljazooKT0+UyghQyksdGl0bGU6byxhcmlhTGFiZWw6YS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oMjI0ODkpKSwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGVsbGlwc2lzOiFlLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLXNoYXJpbmcifSkpLEMmJkEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6ImNvcHktbGluayIsaWNvbjpwZSxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig1OTA4ODQpKSxvbkNsaWNrOnRoaXMuX2hhbmRsZUNvcHlMaW5rQ2xpY2ssZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tY29weS1saW5rIix3aXRoRWxsaXBzaXM6ITAsZG9udENsb3NlUG9wdXA6ITAscmVmOnRoaXMuX2NvcHlFbFJlZn0sZSx0KSk7ZWxzZXtjb25zdCB0PSgwLGcubWVyZ2VUaGVtZXMpKFQse2xhYmVsOmZlLnN3aXRjaGVyTGFiZWx9KTtBLnB1c2goaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQse2tleToic2hhcmluZyJ9LGkuY3JlYXRlRWxlbWVudCh4Lk1lbnVJdGVtU3dpdGNoZXIse3JvbGU6InJvdyIsY2hlY2tlZDpDLG9uQ2hhbmdlOlMsY2xhc3NOYW1lOnMoKSghZSYmZmUuc2hhcmluZ1dyYXBwZXIpLGlkOmIsdGhlbWU6dCxsYWJlbDpvLHZhbHVlOiJzaGFyaW5nU3dpdGNoZXIifSksQyYmaS5jcmVhdGVFbGVtZW50KGhlLHtyb2xlOiJyb3ciLGlzU21hbGw6ZSxvbkNsaWNrOnRoaXMuX2hhbmRsZUNvcHlMaW5rQ2xpY2sscmVmOnRoaXMuX2NvcHlFbFJlZn0pKSl9fUEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6InNhdmUtYXMiLGljb246dmUsbGFiZWw6eWUsb25DbGljazp0aGlzLl9oYW5kbGVTYXZlQXNDbGljayxkYXRhUWFJZDoic2F2ZS1sb2FkLW1lbnUtaXRlbS1jbG9uZSIsYXJpYUhhc3BvcHVwOiJkaWFsb2ciLHdpdGhFbGxpcHNpczohMH0sZSx0KSx0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6InJlbmFtZSIsaWNvbjpsZSxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig1NjU0NTEpKSxvbkNsaWNrOmgsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tcmVuYW1lIixhcmlhSGFzcG9wdXA6ImRpYWxvZyIsd2l0aEVsbGlwc2lzOiEwfSxlLHQpKX1yZXR1cm4oMCxHLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fEEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6ImV4cG9ydC1jaGFydC1kYXRhIixpY29uOnJlLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJleHBvcnQgY2hhcnQncyBkYXRhIn0sbig3NjM5MzQpKSxvbkNsaWNrOk0sYXJpYUhhc3BvcHVwOiJkaWFsb2ciLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLWRvd25sb2FkIix3aXRoRWxsaXBzaXM6ITB9LGUsdCkpLEEucHVzaCh0aGlzLl9yZW5kZXJTZXBhcmF0b3IoIm5ldy1jaGFydC1zZXBhcmF0b3IiLHQpLHRoaXMuX3JlbmRlckFjdGlvbkl0ZW0oe2tleToibmV3LWNoYXJ0IixpY29uOmRlLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDkzODQ5NykpLG9uQ2xpY2s6bSxhcmlhSGFzcG9wdXA6ImRpYWxvZyIsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tY3JlYXRlIix3aXRoRWxsaXBzaXM6ITB9LGUsdCkpLEgmJkEucHVzaCh0aGlzLl9yZW5kZXJTZXBhcmF0b3IoInJlY2VudC1sYXlvdXRzIix0KSwuLi5IKSxBLnB1c2godGhpcy5fcmVuZGVyU2VwYXJhdG9yKCJhbGwtbGF5b3V0cy1zZXBhcmF0b3IiLHQpLHRoaXMuX3JlbmRlckFjdGlvbkl0ZW0oe2tleToiYWxsLWxheW91dHMiLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYxMzUxNikpLG9uQ2xpY2s6dixpY29uOm1lLGhvdGtleTplP3ZvaWQgMDoxOTAsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tbG9hZCIsYXJpYUhhc3BvcHVwOiJkaWFsb2ciLHdpdGhFbGxpcHNpczohMH0sZSx0KSksQX1fdHJhY2tDbGljaygpeygwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsIm1hbmFnZSBsYXlvdXRzIil9fX0sNjY2NDQxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dGYXZvcml0ZUxheW91dHM6KCk9PmF9KTtjb25zdCBhPSgwLG4oNTY5Mzk4KS5pc0ZlYXR1cmVFbmFibGVkKSgic2hvd19mYXZvcml0ZV9sYXlvdXRzIil9LDkyOTY0OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBY2Nlc3NpYmxlSWNvbkJ1dHRvbjooKT0+b30pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNDA4NDEpO2NvbnN0IG89KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHt0b29sdGlwOm4sLi4ub309ZQo7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRJY29uQnV0dG9uLHsiYXJpYS1sYWJlbCI6biwuLi5vLHRhZzoiYnV0dG9uIixyZWY6dCwiZGF0YS10b29sdGlwIjpuLCJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyI6InRydWUifSl9KSl9LDkzNDkyOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBY2Nlc3NpYmxlTWVudUJ1dHRvbjooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNzg3ODk1KSxvPW4oMjk2NDQ5KSxzPW4oODYxMTg4KTtjb25zdCBsPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3R7dG9vbHRpcDpuLHRhZzpsLGJ1dHRvblJlZjpyLHJlZmVyZW5jZTpkLC4uLnV9PWUsYz0oMCxpLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGQ/P251bGwpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5Ub29sV2lkZ2V0TWVudSx7ImFyaWEtbGFiZWwiOm4sLi4udSxyZWY6dCx0YWc6bD8/ImJ1dHRvbiIscmVmZXJlbmNlOnI/P2MsImRhdGEtdG9vbHRpcCI6bixvbk1lbnVLZXlEb3duOnMuaGFuZGxlQWNjZXNzaWJsZU1lbnVLZXlEb3duLG9uTWVudUZvY3VzOmU9PigwLHMuaGFuZGxlQWNjZXNzaWJsZU1lbnVGb2N1cykoZSxyPz9jKX0pfSkpfSw3NzgwNzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q29sbGFwc2libGVTZWN0aW9uOigpPT5yfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9big3MDg4NDIpLGw9bigxODk1MzApO2NvbnN0IHI9KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHtvcGVuOm4sc3VtbWFyeTppLGNoaWxkcmVuOnIsb25TdGF0ZUNoYW5nZTpkLHRhYkluZGV4OnUsY2xhc3NOYW1lOmMsLi4uaH09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmgsY2xhc3NOYW1lOm8oKShjLGwuc3VtbWFyeSksb25DbGljazpmdW5jdGlvbigpe2QmJmQoIW4pfSwiZGF0YS1vcGVuIjpuLCJhcmlhLWV4cGFuZGVkIjpuLHJlZjp0LHRhYkluZGV4OnV9LGksYS5jcmVhdGVFbGVtZW50KHMuVG9vbFdpZGdldENhcmV0LHtjbGFzc05hbWU6bC5jYXJldCxkcm9wcGVkOkJvb2xlYW4obil9KSksbiYmcil9KSl9LDYyNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGYXZvcml0ZUl0ZW06KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDIzNTcyNCksbD1uKDE4MjMwOCkscj1uKDI0OWUzKSxkPW4oNTEwNTk4KSx1PW4oNzU4ODgyKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm4saXRlbTppLG9uQXBwbHk6Yyxpc0FjdGl2ZTpoLGhyZWY6dix0YXJnZXQ6bX09ZSxwPWkubmFtZT8udHJpbSgpPz8iICIsW2YsZ109KDAsbC51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLGI9dj8iYSI6Yz8iYnV0dG9uIjoiZGl2Iix3PWkudG9vbHRpcD8/cCxDPSgwLHIuZ2V0TGVhZGluZ0Vtb2ppSHRtbCkodyk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiLHtyZWY6Zix0eXBlOmMmJiF2PyJidXR0b24iOnZvaWQgMCxjbGFzc05hbWU6bygpKHQsdS5pdGVtLHUuYWNjZXNzaWJsZSwiYXBwbHktY29tbW9uLXRvb2x0aXAiLCJjb21tb24tdG9vbHRpcC1odG1sIiksb25DbGljazpmdW5jdGlvbihlKXtpZihlLnN0b3BQcm9wYWdhdGlvbigpLGMmJnYpe2lmKCgwLHMubW9kaWZpZXJzRnJvbUV2ZW50KShlKSE9PXMuTW9kaWZpZXJzLk5vbmV8fDE9PT1lLmJ1dHRvbilyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpfWM/LihpKX0sb25LZXlEb3duOiJhIj09PWI/ZnVuY3Rpb24oZSl7MzI9PT0oMCxzLmhhc2hGcm9tRXZlbnQpKGUpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGYuY3VycmVudD8uY2xpY2soKSl9OnZvaWQgMCwiZGF0YS10b29sdGlwIjpDLCJhcmlhLWxhYmVsIjp3LHRhYkluZGV4OmcsaHJlZjoiYSI9PT1iP3Y6dm9pZCAwLHRhcmdldDoiYSI9PT1iP206dm9pZCAwfSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodS5yb3VuZCxoJiZ1LmFjdGl2ZSl9LG58fGEuY3JlYXRlRWxlbWVudChkLkxlYWRpbmdFbW9qaVRleHQse3RleHQ6cCxmaXJzdFNlZ21lbnRPbmx5OiEwfSkpKX19LDkxNzgxNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51UmVtb3ZlQnV0dG9uOigpPT5jfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9bigxODUyNzEpLGw9bigxODIzMDgpLHI9big1NDU0MjIpLGQ9big0NjI3MDQpLHU9big1ODcwOTQpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7b25DbGljazp0LGlzQWN0aXZlOmksb25LZXlEb3duOmMsLi4uaH09ZSxbdixtXT0oMCxsLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7cmVmOnYsdGFiSW5kZXg6bSxvbkNsaWNrOnQsb25LZXlEb3duOmMsY2xhc3NOYW1lOm8oKSh1LmJ1dHRvbixpJiZ1LmFjdGl2ZSwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSwiYXJpYS1sYWJlbCI6cy50KG51bGwsdm9pZCAwLG4oOTExMjYpKSwiZGF0YS10b29sdGlwIjpzLnQobnVsbCx2b2lkIDAsbig5MTEyNikpLHR5cGU6ImJ1dHRvbiJ9LGEuY3JlYXRlRWxlbWVudChyLlJlbW92ZUJ1dHRvbix7Li4uaCxpc0FjdGl2ZTppLHRpdGxlOiIiLGljb246ZH0pKX19LDQyOTQ2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sVGl0bGU6KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDU3MzQ1MCk7ZnVuY3Rpb24gbChlKXtjb25zdHtjbGFzc05hbWU6dCx0ZXh0Om4saWQ6aSxyb2xlOmwsYXJpYUhpZGRlbjpyfT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkocy50aXRsZSx0KSxpZDppLHJvbGU6bCwiYXJpYS1oaWRkZW4iOnJ9LG4pfX0sOTcxNTQ1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRDb2xsYXBzaWJsZUJ1dHRvbjooKT0+ZH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oOTk1NzE5KSxsPW4oOTQxOTE4KQo7Y29uc3Qgcj1bIm1lZGl1bSIsInNtYWxsIl0sZD0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e3RleHQ6bixjbGFzc05hbWU6aSxkaXNwbGF5TW9kZTpkLGNvbGxhcHNlV2hlbjp1PXIsLi4uY309ZSxoPSF1LmluY2x1ZGVzKGQpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQocy5Ub29sV2lkZ2V0QnV0dG9uLHsuLi5jLHJlZjp0LHRleHQ6aD9uOnZvaWQgMCxjbGFzc05hbWU6bygpKGksbC5idXR0b24saD9sLndpdGhUZXh0Omwud2l0aG91dFRleHQpfSl9KSl9LDY0ODAwOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0TWVudVNwaW5uZXI6KCk9PnJ9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDY0OTE2NiksbD1uKDY2MTUwKTtmdW5jdGlvbiByKGUpe2NvbnN0e2NsYXNzTmFtZTp0fT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkobC5zcGlubmVyV3JhcCx0KX0sYS5jcmVhdGVFbGVtZW50KHMuTG9hZGVyLG51bGwpKX19LDg2NDY4MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0Um93V3JhcDooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oNTA2ODM4KTtjb25zdCBsPWEuZm9yd2FyZFJlZigoKGUsdCk9Pntjb25zdHtjaGlsZHJlbjpuLGNsYXNzTmFtZTppLC4uLmx9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm8oKShpLHMud3JhcCkscmVmOnQsLi4ubH0sbil9KSl9LDI0NjcyNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX1RPT0xCQVJfQlVUVE9OX1RIRU1FOigpPT5zLFRvb2xiYXJCdXR0b246KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDk5NTcxOSksbz1uKDE4MjMwOCk7Y29uc3Qgcz1pLkRFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FLGw9KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHt0b29sdGlwOm4sLi4uc309ZSxbbCxyXT0oMCxvLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkodCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRCdXR0b24seyJhcmlhLWxhYmVsIjpuLC4uLnMsdGFnOiJidXR0b24iLHJlZjpsLHRhYkluZGV4OnIsImRhdGEtdG9vbHRpcCI6bn0pfSkpfSwxODYwOTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9vbGJhckNvbGxhcHNpYmxlQnV0dG9uOigpPT5zfSk7dmFyIGE9big3Nzk0NzQpLGk9bigxODIzMDgpLG89big5NzE1NDUpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7dG9vbHRpcDp0LC4uLm59PWUsW3MsbF09KDAsaS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5Ub29sV2lkZ2V0Q29sbGFwc2libGVCdXR0b24seyJhcmlhLWxhYmVsIjp0LC4uLm4sdGFnOiJidXR0b24iLHRhYkluZGV4OmwscmVmOnMsImRhdGEtdG9vbHRpcCI6dH0pfX0sOTY3MDUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9vbGJhckljb25CdXR0b246KCk9PnN9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDE4MjMwOCksbz1uKDkyOTY0OSk7Y29uc3Qgcz0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0W24sc109KDAsaS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKHQpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5BY2Nlc3NpYmxlSWNvbkJ1dHRvbix7Li4uZSxyZWY6bix0YWJJbmRleDpzfSl9KSl9LDc3MTI4NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sYmFyTWVudUJ1dHRvbjooKT0+cn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNzg3ODk1KSxvPW4oMTgyMzA4KSxzPW4oNDUwMTQwKSxsPW4oOTM0OTI5KTtjb25zdCByPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3R7dG9vbHRpcDpuLG1lbnVSZWZlcmVuY2U6cj1udWxsLC4uLmR9PWUsW3UsY109KDAsby51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLGg9KDAsaS51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShyKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGwuQWNjZXNzaWJsZU1lbnVCdXR0b24seyJhcmlhLWxhYmVsIjpuLCJhcmlhLWhhc3BvcHVwIjoibWVudSIsLi4ucy5Nb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyLmF0dHJpYnV0ZXMoKSwuLi5kLHJlZjp0LHRhZzoiYnV0dG9uIixidXR0b25SZWY6dSx0YWJJbmRleDpjLG1lbnVSZWZlcmVuY2U6aCx0b29sdGlwOm59KX0pKX0sNzM3MTE2KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3JldHVybiBQcm9taXNlLmFsbChbbi5lKDczNzApLG4uZSg4NDMwNiksbi5lKDI5Mjk2KSxuLmUoNTIzOTYpLG4uZSg2MDA2Miksbi5lKDIwMzU0KSxuLmUoMTM0OTIpLG4uZSgzNzc0Niksbi5lKDgxMDcyKSxuLmUoMjM2MjQpLG4uZSg5NDIzMiksbi5lKDE5NTk1KSxuLmUoMTk3ODcpLG4uZSg1NzMwMCksbi5lKDEyMDUxKSxuLmUoNDA4NjcpLG4uZSg1MDgwMCksbi5lKDQ3MzE2KSxuLmUoMzk2MDkpLG4uZSg3MTc1MyldKS50aGVuKG4uYmluZChuLDE2NDk1NykpfW4uZCh0LHtsb2FkQ2hhcnRFeHBvcnREaWFsb2dNb2R1bGU6KCk9PmF9KX0sMjczNTA5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbnRlbnRNZW51OigpPT5nfSk7dmFyIGE9big3ODMyNTQpLGk9big3Nzk0NzQpLG89bigyMDgwODApLHM9bigzOTE5MTQpLGw9big5NzI3MzQpLHI9big3MzI3MzEpLGQ9bigyNzMzMTApLHU9big3ODQ1MTMpLGM9bigyMTQzMiksaD1uKDU1MzY2OSksdj1uKDEzNjYzKTtjb25zdCBtPWkuY3JlYXRlQ29udGV4dChudWxsKTt2YXIgcD1uKDk1NTU4OSksZj1uKDU0MTIxMik7Y29uc3QgZz0oMCxpLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e2RhdGE6cyxzeW1ib2w6aCxpc09wZW46dixvbkNsb3NlOmcsYW5jaG9yZWQ6dyx0cmFja2luZ0RhdGE6QyxwbGFjZW1lbnRSdWxlczpfLGFjdHVhbENvbnRlbnRJZDp5LHNob3dGaW5hbmNpYWxzOlM9ITEsc2hvd0NoYXJ0Ong9ITF9PWUsRT0oMCxjLnVzZU1lbnVHcm91cHMpKHtkYXRhOnMsc2hvd0ZpbmFuY2lhbHM6U30pCjtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KG0uUHJvdmlkZXIse3ZhbHVlOntzeW1ib2w6aCxzeW1ib2xUeXBlOnMudHlwZSx0cmFja2luZ0RhdGE6QyxvblNlbGVjdDpnfX0saS5jcmVhdGVFbGVtZW50KG8uUG9wb3ZlcktleWJvYXJkTmF2aWdhdG9yLHtpc09wZW46dixwbGFjZW1lbnRSdWxlczpfLG9uQ2xvc2U6ZyxhbmNob3JlZDp3LHdpZHRoOlt7Ynk6ImNsYXNzIixjbGFzc05hbWU6Zi5tZW51fSx7Ynk6ImNvbnRlbnQifV19LGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImNvbnRlbnRzIn0scmVmOnR9LHgmJmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KGwuUG9wb3Zlckl0ZW0se3RpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDY4MTkyMSkpLHNlbGVjdGVkOiEoeSYmYy5DT05URU5UX0JVVFRPTl9JQ09OU1t5XSksbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjpwfSksb25DbGljazooKT0+e2coKSx1LmFjdHVhbENvbnRlbnQuc2V0VmFsdWUobnVsbCl9fSksQm9vbGVhbihFLmxlbmd0aCkmJmkuY3JlYXRlRWxlbWVudChyLkRpdmlkZXJMaXN0SXRlbSxudWxsKSksRS5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCx7a2V5OmUuYW5hbHl0aWNzU3ViTWVudX0saS5jcmVhdGVFbGVtZW50KGIsey4uLmV9KSx0IT09RS5sZW5ndGgtMSYmaS5jcmVhdGVFbGVtZW50KHIuRGl2aWRlckxpc3RJdGVtLG51bGwpKSkpKSkpfSkpO2Z1bmN0aW9uIGIoZSl7Y29uc3R7c3ltYm9sOnQsc3ltYm9sVHlwZTpuLHRyYWNraW5nRGF0YTphLG9uU2VsZWN0Om99PSgwLHYudXNlRW5zdXJlZENvbnRleHQpKG0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQocy5TZWN0aW9uUG9wb3Zlckl0ZW0se3RpdGxlOmUudGl0bGV9LGUuaXRlbXMubWFwKChzPT5pLmNyZWF0ZUVsZW1lbnQobC5Qb3BvdmVySXRlbSx7a2V5OnMuaWQsdGl0bGU6cy50aXRsZSxzZWxlY3RlZDpzLmlzU2VsZWN0ZWQsbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjpzLmljb259KSxvbkNsaWNrOigpPT57cy5pc1NlbGVjdGVkfHwoKDAsaC50cmFja01ldHJpY3NNZW51QWN0aW9uKSh7Li4uYSxzeW1ib2xfdHlwZTpuPz9udWxsLHN5bWJvbDp0LHN1Yl9tZW51OmUuYW5hbHl0aWNzU3ViTWVudSxtZW51X2l0ZW06cy5hbmFseXRpY3NOYW1lfSksbygpLHMub25DbGljaygpKX19KSkpKX19LDIxNDMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NPTlRFTlRfQlVUVE9OX0lDT05TOigpPT5MLHVzZU1lbnVHcm91cHM6KCk9Plp9KTt2YXIgYT1uKDc4MzI1NCksaT1uKDEzODYzOCksbz1uKDg4OTM5Nykscz1uKDc4NDUxMyksbD1uKDgzMzQwOSkscj1uKDE5OTc0KSxkPW4oOTIwNjMxKSx1PW4oMzE1ODUwKSxjPW4oNjMxMjU0KSxoPW4oMTA2OTAwKSx2PW4oODk4Mzc3KSxtPW4oOTAyODI5KSxwPW4oMjc1ODM1KSxmPW4oMzkxMTgyKSxnPW4oNTA2NzY3KSxiPW4oOTU3ODQ2KSx3PW4oMjM2NDI5KSxDPW4oNTUxMjgyKSxfPW4oMjA1NDcyKSx5PW4oOTIwODgpLFM9big1MTQxNDIpLHg9bigyOTIzNjApLEU9big5ODc5OTIpLE09big5MDc5MTEpLGs9bigxNTkyNDUpLEk9big3OTE2OTMpLFQ9big3MjcyNjkpLEE9big2MDQ5MDEpLEg9big2MjcwNDEpLFY9big2NjQ0ODEpLFI9bigzMTA5MjcpLEY9big3NTUyOTQpO2NvbnN0IEw9e2ZpbmFuY2lhbHM6dyxkb2N1bWVudHM6QyxuZXdzOl8saWRlYXM6VixzZWFzb25hbHM6eSxhbmFseXNpczpTLHRlY2huaWNhbHM6eCxmb3JlY2FzdDpSLCJmb3J3YXJkLWN1cnZlIjpFLGNvbnRyYWN0czpNLCJ5aWVsZC1jdXJ2ZSI6aywiZWNvbm9teS1pbmRpY2F0b3JzIjpJLG9wdGlvbnM6VCxib25kczpBLGV0ZnM6SCxjb21tdW5pdHk6Rn07ZnVuY3Rpb24gWihlKXtjb25zdHtkYXRhOnQsc2hvd0ZpbmFuY2lhbHM6d309ZSxDPSgwLGgudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6cy5hY3R1YWxDb250ZW50fSk7cmV0dXJuW3t0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig5OTU2MDIpKSxhbmFseXRpY3NTdWJNZW51OiJGdW5kYW1lbnRhbHMiLGl0ZW1zOk4oW3tpZDoiZmluYW5jaWFscyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oMzgwMTU4KSksYW5hbHl0aWNzTmFtZToiRmluYW5jaWFscyIsaWNvbjp2LG9uQ2xpY2s6KCk9PigwLG8uc2hvd0ZpbmFuY2lhbHNEaWFsb2cpKCksaGlkZGVuOiEodyYmdC5oYXNGaW5hbmNpYWxzKSxpc1NlbGVjdGVkOiJmaW5hbmNpYWxzIj09PUN9LHtpZDoiZG9jdW1lbnRzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig3ODc0NDIpKSxhbmFseXRpY3NOYW1lOiJEb2N1bWVudHMiLGljb246dC5kb2N1bWVudHNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuZG9jdW1lbnRzQWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZG9jdW1lbnRzQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImRvY3VtZW50cyI9PT1DfSx7aWQ6ImFuYWx5c2lzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig5MjE2NDIpKSxhbmFseXRpY3NOYW1lOiJQcm9maWxlIixpY29uOnQuYW5hbHlzaXNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuYW5hbHlzaXNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5hbmFseXNpc0FjdGlvbj8uaXNEaXNhYmxlZCgpPz8hMCxpc1NlbGVjdGVkOiJhbmFseXNpcyI9PT1DfSx7aWQ6ImRlcml2YXRpdmVzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig1NTgwNjcpKSxhbmFseXRpY3NOYW1lOiJEZXJpdmF0aXZlcyIsaWNvbjpnLG9uQ2xpY2s6KCk9PigwLGQuc2hvd0Rlcml2YXRpdmVzRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNEZXJpdmF0aXZlcyxpc1NlbGVjdGVkOiJkZXJpdmF0aXZlcyI9PT1DfV0pfSx7dGl0bGU6YS50KG51bGwsewpjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDMzNDQxNSkpLGFuYWx5dGljc1N1Yk1lbnU6IkFuYWx5c2lzIixpdGVtczpOKFt7aWQ6InRlY2huaWNhbHMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDEyMTI3MCkpLGFuYWx5dGljc05hbWU6IlRlY2huaWNhbHMiLGljb246YixvbkNsaWNrOigpPT4oMCxsLnNob3dUZWNobmljYWxzRGlhbG9nKSh7c25hcHNob3Q6dC5saXN0ZWRFeGNoYW5nZSYmdC50eXBlP3tsaXN0ZWRfZXhjaGFuZ2U6dC5saXN0ZWRFeGNoYW5nZSx0eXBlOnQudHlwZSx0eXBlc3BlY3M6dC50eXBlc3BlY3MscHJpY2VzY2FsZTp0LnByaWNlc2NhbGV9OnZvaWQgMCxzaG91bGRGb3JjZUZvY3VzOiExfSksaGlkZGVuOiF0Lmhhc1RlY2huaWNhbHMsaXNTZWxlY3RlZDoidGVjaG5pY2FscyI9PT1DfSx7aWQ6InNlYXNvbmFscyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oMzc4NzUwKSksYW5hbHl0aWNzTmFtZToiU2Vhc29uYWxzIixpY29uOnQuc2Vhc29uYWxzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LnNlYXNvbmFsc0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0LnNlYXNvbmFsc0FjdGlvbj8uaXNEaXNhYmxlZCgpPz8hMCxpc1NlbGVjdGVkOiJzZWFzb25hbHMiPT09Q30se2lkOiJmb3J3YXJkLWN1cnZlIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig2Njg2ODApKSxhbmFseXRpY3NOYW1lOiJGb3J3YXJkIGN1cnZlIixpY29uOmYsb25DbGljazooKT0+KDAsci5zaG93Rm9yd2FyZEN1cnZlRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNGb3J3YXJkQ3VydmUsaXNTZWxlY3RlZDoiZm9yd2FyZC1jdXJ2ZSI9PT1DfSx7aWQ6InlpZWxkLWN1cnZlIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig2MTYxODApKSxhbmFseXRpY3NOYW1lOiJZaWVsZCBjdXJ2ZSIsaWNvbjptLG9uQ2xpY2s6KCk9PigwLGMuc2hvd0JvbmRZaWVsZEN1cnZlRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNZaWVsZEN1cnZlLGlzU2VsZWN0ZWQ6InlpZWxkLWN1cnZlIj09PUN9LHtpZDoibmV3cyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oODQzNTIwKSksYW5hbHl0aWNzTmFtZToiTmV3cyIsaWNvbjp0Lm5ld3NBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQubmV3c0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0Lm5ld3NBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoibmV3cyI9PT1DfSx7aWQ6ImZvcmVjYXN0Iix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig1MzQwMjcpKSxhbmFseXRpY3NOYW1lOiJGb3JlY2FzdCIsaWNvbjp0LmZvcmVjYXN0QWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmZvcmVjYXN0QWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZm9yZWNhc3RBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZm9yZWNhc3QiPT09Q30se2lkOiJlY29ub215LWluZGljYXRvcnMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDM4ODc4NikpLGFuYWx5dGljc05hbWU6IkVjb25vbXkgaW5kaWNhdG9ycyIsaWNvbjp0LmVjb25vbXlJbmRpY2F0b3JzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmVjb25vbXlJbmRpY2F0b3JzQWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZWNvbm9teUluZGljYXRvcnNBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZWNvbm9teS1pbmRpY2F0b3JzIj09PUN9LHtpZDoiY29tbXVuaXR5Iix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig3MTM5MDUpKSxhbmFseXRpY3NOYW1lOiJDb21tdW5pdHkiLGljb246dC5jb21tdW5pdHlBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuY29tbXVuaXR5QWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuY29tbXVuaXR5QWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImNvbW11bml0eSI9PT1DfV0pfSx7dGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oNjEyNTUpKSxhbmFseXRpY3NTdWJNZW51OiJJbnN0cnVtZW50cyIsaXRlbXM6Tihbe2lkOiJjb250cmFjdHMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDI0NTE0NykpLGFuYWx5dGljc05hbWU6IkNvbnRyYWN0cyIsaWNvbjpwLG9uQ2xpY2s6KCk9PigwLHUuc2hvd0NvbnRyYWN0c0RpYWxvZykoKSxoaWRkZW46IXQuaGFzQ29udHJhY3RzLGlzU2VsZWN0ZWQ6ImNvbnRyYWN0cyI9PT1DfSx7aWQ6Im9wdGlvbnMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDk1NDExMSkpLGFuYWx5dGljc05hbWU6Ik9wdGlvbnMiLGljb246dC5vcHRpb25zQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0Lm9wdGlvbnNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5vcHRpb25zQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6Im9wdGlvbnMiPT09Q30se2lkOiJib25kcyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oNjAyMTEzKSksYW5hbHl0aWNzTmFtZToiQm9uZHMiLGljb246dC5zdG9ja0JvbmRzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LnN0b2NrQm9uZHNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5zdG9ja0JvbmRzQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImJvbmRzIj09PUN9LHtpZDoiZXRmcyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oOTI3ODkpKSxhbmFseXRpY3NOYW1lOiJFVEZzIiwKaWNvbjp0LmV0ZnNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuZXRmc0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0LmV0ZnNBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZXRmcyI9PT1DfV0pfV0uZmlsdGVyKChlPT5lLml0ZW1zLmxlbmd0aCkpfWZ1bmN0aW9uIE4oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hZS5oaWRkZW58fGUuaXNTZWxlY3RlZCkpfX0sMzE1ODUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dDb250cmFjdHNEaWFsb2c6KCk9Pml9KTt2YXIgYT1uKDg5MDgzNSk7ZnVuY3Rpb24gaShlKXthLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiY29udHJhY3RzIixlKX19LDQ5MDIwNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtyZXNvbHZlVW5kZXJseWluZ1N5bWJvbDooKT0+aX0pO3ZhciBhPW4oMzIwNTUpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7Y29uc3QgdD1hd2FpdCgwLGEuc25hcHNob3RlcikoKS5nZXRTbmFwc2hvdChlLG5ldyBTZXQoWyJ1bmRlcmx5aW5nLXN5bWJvbCJdKSk7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBudWxsO2NvbnN0IG49dC52YWx1ZXNbInVuZGVybHlpbmctc3ltYm9sIl07cmV0dXJuIG58fG51bGx9fSw1MTA1OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TGVhZGluZ0Vtb2ppVGV4dDooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oMjQ5ZTMpLG89big0Mjg5MjQpLHM9big5OTU4NTEpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7dGV4dDp0LHRleHRSZW5kZXI6bixmaXJzdFNlZ21lbnRPbmx5Omw9ITEsc3BhY2VBZnRlckVtb2ppOnI9ITB9PWUse2xlYWRpbmdFbW9qaTpkLHByb2Nlc3NlZFRleHQ6dX09KDAsYS51c2VNZW1vKSgoKCk9PigwLGkucHJvY2Vzc1RleHRXaXRoTGVhZGluZ0Vtb2ppKSh7dGV4dDp0LHRleHRSZW5kZXI6bixmaXJzdFNlZ21lbnRPbmx5Omx9KSksW3QsbixsXSk7cmV0dXJuIGQ/YS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cy5lbW9qaVdyYXB9LCLCoCIsYS5jcmVhdGVFbGVtZW50KG8uRW1vamlJdGVtLHtjbGFzc05hbWU6cy5lbW9qaSxlbW9qaTpkfSkpLCIiIT09dSYmYS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxyJiZhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLCLCoCIpLHUpKTphLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLHUpfX0sMjQ5ZTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0TGVhZGluZ0Vtb2ppSHRtbDooKT0+Yyxwcm9jZXNzVGV4dFdpdGhMZWFkaW5nRW1vamk6KCk9PnV9KTt2YXIgYT1uKDY0MTU5MyksaT1uKDkzMDIzMSksbz1uKDMxNTE1NCkscz1uKDQyNzc3MyksbD1uKDMzMzMxMikscj1uKDk5NTg1MSk7Y29uc3QgZD0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhZHZhbmNlZF9lbW9qaV9pbl90aXRsZXMiKTtmdW5jdGlvbiB1KGUpe2NvbnN0e3RleHQ6dCx0ZXh0UmVuZGVyOm49ZT0+ZSxmaXJzdFNlZ21lbnRPbmx5Omk9ITF9PWUsbD0oMCxhLmdldEZpcnN0U2VnbWVudE9yQ29kZVBvaW50U3RyaW5nKSh0KSxyPW51bGwhPT1sJiYoMCxvLmlzU3VwcG9ydGVkRW1vamkpKGwpP2w6cy5FTVBUWV9FTU9KSSx1PWk/bHx8IiI6dDtpZighZHx8cj09PXMuRU1QVFlfRU1PSkkpcmV0dXJue2xlYWRpbmdFbW9qaToiIixwcm9jZXNzZWRUZXh0Om4odSl9O3JldHVybntsZWFkaW5nRW1vamk6cixwcm9jZXNzZWRUZXh0Om4odS5yZXBsYWNlKHIsIiIpKX19ZnVuY3Rpb24gYyhlKXtjb25zdHtwcm9jZXNzZWRUZXh0OnQsbGVhZGluZ0Vtb2ppOm59PXUoe3RleHQ6ZX0pLGk9KDAsYS5odG1sRXNjYXBlKSh0KTtpZighbilyZXR1cm4gaTtyZXR1cm5gJHtmdW5jdGlvbihlKXtjb25zdCB0PSgwLGwuZ2V0VHdlbW9qaVVybCkoZSwicG5nIik7cmV0dXJuYDxzcGFuIGNsYXNzPSR7ci50b29sdGlwRW1vamlXcmFwfT4mbmJzcDxpbWcgY2xhc3M9JHtyLnRvb2x0aXBFbW9qaX0gc3JjPSR7dH0gZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGFsdD0iIiBkcmFnZ2FibGU9ImZhbHNlIi8+PC9zcGFuPmB9KG4pfSZuYnNwOyR7aX1gfX0sOTk0MTc4KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGE9big5NjcxMjEpO2Z1bmN0aW9uIGkoKXt9ZnVuY3Rpb24gbygpe31vLnJlc2V0V2FybmluZ0NhY2hlPWksZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbixpLG8scyl7aWYocyE9PWEpe3ZhciBsPW5ldyBFcnJvcigiQ2FsbGluZyBQcm9wVHlwZXMgdmFsaWRhdG9ycyBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gVXNlIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygpIHRvIGNhbGwgdGhlbS4gUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcyIpO3Rocm93IGwubmFtZT0iSW52YXJpYW50IFZpb2xhdGlvbiIsbH19ZnVuY3Rpb24gdCgpe3JldHVybiBlfWUuaXNSZXF1aXJlZD1lO3ZhciBuPXthcnJheTplLGJvb2w6ZSxmdW5jOmUsbnVtYmVyOmUsb2JqZWN0OmUsc3RyaW5nOmUsc3ltYm9sOmUsYW55OmUsYXJyYXlPZjp0LGVsZW1lbnQ6ZSxlbGVtZW50VHlwZTplLGluc3RhbmNlT2Y6dCxub2RlOmUsb2JqZWN0T2Y6dCxvbmVPZjp0LG9uZU9mVHlwZTp0LHNoYXBlOnQsZXhhY3Q6dCxjaGVja1Byb3BUeXBlczpvLHJlc2V0V2FybmluZ0NhY2hlOml9O3JldHVybiBuLlByb3BUeXBlcz1uLG59fSwyMjE4OTYoZSx0LG4pe2UuZXhwb3J0cz1uKDk5NDE3OCkoKX0sOTY3MTIxKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9IlNFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEIn0sMTI5MzY1KGUsdCxuKXsidXNlIHN0cmljdCI7IWZ1bmN0aW9uIGUoKXsKaWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9big1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLG89U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxzPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLHI9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGQ9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksYz1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LHA9T2JqZWN0LmFzc2lnbixmPXt9O2Z1bmN0aW9uIGcoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zix0aGlzLnVwZGF0ZXI9bnx8bX1mdW5jdGlvbiBiKCl7fWZ1bmN0aW9uIHcoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zix0aGlzLnVwZGF0ZXI9bnx8bX1nLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LGcucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sZy5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LGIucHJvdG90eXBlPWcucHJvdG90eXBlO3ZhciBDPXcucHJvdG90eXBlPW5ldyBiO0MuY29uc3RydWN0b3I9dyxwKEMsZy5wcm90b3R5cGUpLEMuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIF89QXJyYXkuaXNBcnJheSx5PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksUz17Y3VycmVudDpudWxsfSx4PXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gRShlLHQsYSl7dmFyIGksbz17fSxzPW51bGwsbD1udWxsO2lmKG51bGwhPXQpZm9yKGkgaW4gdm9pZCAwIT09dC5yZWYmJihsPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKHM9IiIrdC5rZXkpLHQpeS5jYWxsKHQsaSkmJiF4Lmhhc093blByb3BlcnR5KGkpJiYob1tpXT10W2ldKTt2YXIgcj1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXIpby5jaGlsZHJlbj1hO2Vsc2UgaWYoMTxyKXtmb3IodmFyIGQ9QXJyYXkociksdT0wO3U8cjt1KyspZFt1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPWR9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKGkgaW4gcj1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1vW2ldJiYob1tpXT1yW2ldKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OnMscmVmOmwscHJvcHM6byxfb3duZXI6Uy5jdXJyZW50fX1mdW5jdGlvbiBNKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBrPS9cLysvZztmdW5jdGlvbiBJKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gVChlLHQsaSxvLHMpe3ZhciBsPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09bCYmImJvb2xlYW4iIT09bHx8KGU9bnVsbCk7dmFyIHI9ITE7aWYobnVsbD09PWUpcj0hMDtlbHNlIHN3aXRjaChsKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOnI9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIG46Y2FzZSBhOnI9ITB9fWlmKHIpcmV0dXJuIHM9cyhyPWUpLGU9IiI9PT1vPyIuIitJKHIsMCk6byxfKHMpPyhpPSIiLG51bGwhPWUmJihpPWUucmVwbGFjZShrLCIkJi8iKSsiLyIpLFQocyx0LGksIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1zJiYoTShzKSYmKHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShzLGkrKCFzLmtleXx8ciYmci5rZXk9PT1zLmtleT8iIjooIiIrcy5rZXkpLnJlcGxhY2UoaywiJCYvIikrIi8iKStlKSksdC5wdXNoKHMpKSwxO2lmKHI9MCxvPSIiPT09bz8iLiI6bysiOiIsXyhlKSlmb3IodmFyIGQ9MDtkPGUubGVuZ3RoO2QrKyl7dmFyIHU9bytJKGw9ZVtkXSxkKTtyKz1UKGwsdCxpLHUscyl9ZWxzZSBpZih1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9diYmZVt2XXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9KGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcihlPXUuY2FsbChlKSwKZD0wOyEobD1lLm5leHQoKSkuZG9uZTspcis9VChsPWwudmFsdWUsdCxpLHU9bytJKGwsZCsrKSxzKTtlbHNlIGlmKCJvYmplY3QiPT09bCl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gcn1mdW5jdGlvbiBBKGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBhPVtdLGk9MDtyZXR1cm4gVChlLGEsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLGkrKyl9KSksYX1mdW5jdGlvbiBIKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIFY9e2N1cnJlbnQ6bnVsbH0sUj17dHJhbnNpdGlvbjpudWxsfSxGPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOlYsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6UixSZWFjdEN1cnJlbnRPd25lcjpTfTt0LkNoaWxkcmVuPXttYXA6QSxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXtBKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gQShlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBBKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighTShlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD1nLHQuRnJhZ21lbnQ9aSx0LlByb2ZpbGVyPXMsdC5QdXJlQ29tcG9uZW50PXcsdC5TdHJpY3RNb2RlPW8sdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Rix0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQsYSl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIGk9cCh7fSxlLnByb3BzKSxvPWUua2V5LHM9ZS5yZWYsbD1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKHM9dC5yZWYsbD1TLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciByPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGQgaW4gdCl5LmNhbGwodCxkKSYmIXguaGFzT3duUHJvcGVydHkoZCkmJihpW2RdPXZvaWQgMD09PXRbZF0mJnZvaWQgMCE9PXI/cltkXTp0W2RdKX12YXIgZD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWQpaS5jaGlsZHJlbj1hO2Vsc2UgaWYoMTxkKXtyPUFycmF5KGQpO2Zvcih2YXIgdT0wO3U8ZDt1Kyspclt1XT1hcmd1bWVudHNbdSsyXTtpLmNoaWxkcmVuPXJ9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5Om8scmVmOnMscHJvcHM6aSxfb3duZXI6bH19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6cixfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bCxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1FLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1FLmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpkLHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1NLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6aCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0Okh9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6Yyx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PVIudHJhbnNpdGlvbjtSLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e1IudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBWLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBWLmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIFYuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBWLmN1cnJlbnQudXNlRWZmZWN0KGUsdCl9LHQudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gVi5jdXJyZW50LnVzZUlkKCl9LHQudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihlLHQsbil7CnJldHVybiBWLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFYuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVi5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVi5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVi5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LG4pfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gVi5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gVi5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVi5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIFYuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sMjY3MDI4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUklFU19JQ09OUzooKT0+eH0pO3ZhciBhPW4oNzIyNzYzKSxpPW4oOTE3Njk2KSxvPW4oNzczMjY1KSxzPW4oNDU1NjM4KSxsPW4oNjU5NTA1KSxyPW4oNjQ3NjMwKSxkPW4oMTkyNDgyKSx1PW4oOTg3MDIxKSxjPW4oOTU5MjMpLGg9big4Njc1NDUpLHY9big1MjI5NDYpLG09bigyMTYzMzUpLHA9bigzNzYxNiksZj1uKDUwMDUwNyksZz1uKDM4MTkyMyksYj1uKDQyMDM0MCksdz1uKDk2NTYzNSksQz1uKDI0MzQwMiksXz1uKDg0MjA1MSkseT1uKDIxNTQ4MCksUz1uKDQ0MzE2Nyk7Y29uc3QgeD17MzpoLDE2OnYsMDptLDE6cCw4OmYsOTpnLDI6YiwxNDp3LDE1OkMsMTA6XywxMjp5LDEzOlN9O3hbNF09YSx4WzZdPWkseFs3XT1vLHhbNV09cyx4WzE5XT1sLHhbMTFdPXIseFsxN109ZCx4WzE4XT11LHhbMjBdPWN9LDgyNDU5MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHVkeVRlbXBsYXRlRGVzY1N0cmluZzooKT0+YX0pO24oOTQzOTUpO2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD1uZXcgTWFwO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFtuLGFdPXQuZ2V0KGUuaWQpfHxbZS5kZXNjcmlwdGlvbiwwXTt0LnNldChlLmlkLFtuLGErMV0pfSkpLEFycmF5LmZyb20odC52YWx1ZXMoKSkubWFwKCgoW2UsdF0pPT5gJHtlfSR7dD4xP2AgeCAke3R9YDoiIn1gKSkuam9pbigiLCAiKX19LDMxMzgyMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGYXZvcml0ZUZ1bmRhbWVudGFsczooKT0+cn0pO3ZhciBhPW4oOTMwNTY2KSxpPW4oMTUyNjk5KSxvPW4oOTQ4MzgwKTtjb25zdCBzPSJmdW5kYW1lbnRhbHMuZmF2b3JpdGVzIjtsZXQgbD1udWxsO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9mYXZvcml0ZXM9W10sdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZD1uZXcgby5EZWxlZ2F0ZSxpLlRWWFdpbmRvd0V2ZW50cy5vbigiRnVuZEZhdm9yaXRlc0NoYW5nZWQiLChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUpO3RoaXMuX2xvYWRGcm9tU3RhdGUodHx8W10pfSkpLGEub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2xvYWRGYXZzKSx0aGlzLl9sb2FkRmF2cygpfWlzRmF2KGUpe3JldHVybi0xIT09dGhpcy5fZmluZEZhdkluZGV4KGUpfXRvZ2dsZUZhdm9yaXRlKGUpe3RoaXMuaXNGYXYoZSk/dGhpcy5yZW1vdmVGYXZvcml0ZShlKTp0aGlzLmFkZEZhdm9yaXRlKGUpfXRvZ2dsZUZhdm9yaXRlQXJyYXkoZSl7Y29uc3QgdD1lLnNvbWUoKGU9PnRoaXMuaXNGYXYoZSkpKTtlLmZvckVhY2goKGU9PntpZih0KXtjb25zdCB0PXRoaXMuX2ZpbmRGYXZJbmRleChlKTstMSE9PXQmJnRoaXMuX2Zhdm9yaXRlcy5zcGxpY2UodCwxKX1lbHNlIHRoaXMuX2Zhdm9yaXRlcy5wdXNoKGUpfSkpLHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3NhdmVGYXZzKCl9YWRkRmF2b3JpdGUoZSl7dGhpcy5fZmF2b3JpdGVzLnB1c2goZSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKCksdGhpcy5fc2F2ZUZhdnMoKX1yZW1vdmVGYXZvcml0ZShlKXtjb25zdCB0PXRoaXMuX2ZpbmRGYXZJbmRleChlKTstMSE9PXQmJih0aGlzLl9mYXZvcml0ZXMuc3BsaWNlKHQsMSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKCkpLHRoaXMuX3NhdmVGYXZzKCl9ZmF2b3JpdGVzKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc31mYXZvcml0ZXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWR9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIG51bGw9PT1sJiYobD1uZXcgciksbH1fbG9hZEZhdnMoKXtjb25zdCBlPWEuZ2V0SlNPTihzLFtdKTt0aGlzLl9sb2FkRnJvbVN0YXRlKGUpfV9zYXZlRmF2cygpe2Euc2V0SlNPTihzLHRoaXMuX2Zhdm9yaXRlcyx7Zm9yY2VGbHVzaDohMH0pLGkuVFZYV2luZG93RXZlbnRzLmVtaXQoIkZ1bmRGYXZvcml0ZXNDaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh0aGlzLl9mYXZvcml0ZXMpKX1fbG9hZEZyb21TdGF0ZShlKXt0aGlzLl9mYXZvcml0ZXM9ZSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUoKX1fZmluZEZhdkluZGV4KGUpe3JldHVybiB0aGlzLl9mYXZvcml0ZXMuaW5kZXhPZihlKX19fSw2ODU5NzkoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgYSxpLG89big0ODI1MDQpLHtjbG9uZTpzfT1uKDYwMTg0MSksbD0oYT17fSxpPW5ldyBTZXQse3N1Z2dlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbj1vLmFqYXgoe3VybDp0fHwiL3B1YnNjcmlwdHMtc3VnZ2VzdC1qc29uLyIsdHlwZToiR0VUIixkYXRhOntzZWFyY2g6ZX0sZGF0YVR5cGU6Impzb24ifSk7cmV0dXJuIG4uZG9uZSgoZnVuY3Rpb24oZSl7CmlmKGUmJmUucmVzdWx0cylmb3IodmFyIHQ9MDt0PGUucmVzdWx0cy5sZW5ndGg7dCsrKWFbZS5yZXN1bHRzW3RdLnNjcmlwdElkUGFydF18fChhW2UucmVzdWx0c1t0XS5zY3JpcHRJZFBhcnRdPXMoZS5yZXN1bHRzW3RdKSl9KSksbn0saW5mbzpmdW5jdGlvbihlLHQ9ITEpe2Zvcih2YXIgbj1vLkRlZmVycmVkKCksbD1bXSxyPVtdLGQ9MDtkPGUubGVuZ3RoO2QrKyl7dmFyIHU9ZVtkXSxjPXR8fCFpLmhhcyh1KTthW3VdP2wucHVzaChzKGFbdV0pKTpyLmxlbmd0aDwzZTMmJmMmJnIucHVzaCh1KX1pZighci5sZW5ndGgpcmV0dXJuIG4ucmVzb2x2ZShsKS5wcm9taXNlKCk7dmFyIGg9e3NjcmlwdElkUGFydDpyLmpvaW4oIiwiKSxzaG93X2hpZGRlbjp0fTtyZXR1cm4gby5hamF4KHt1cmw6Ii9wdWJzY3JpcHRzLWdldC8iLHR5cGU6IlBPU1QiLGRhdGE6aCxkYXRhVHlwZToianNvbiJ9KS5kb25lKChmdW5jdGlvbihlKXtlPWV8fFtdO3ZhciB0PW5ldyBTZXQocik7Zm9yKHZhciBvIGluIGUpe3ZhciBkPWVbb107YVtkLnNjcmlwdElkUGFydF09cyhkKSxsLnB1c2goZCksdC5oYXMoZC5zY3JpcHRJZFBhcnQpJiZ0LmRlbGV0ZShkLnNjcmlwdElkUGFydCl9dC5mb3JFYWNoKChmdW5jdGlvbihlKXtpLmFkZChlKX0pKSxuLnJlc29sdmUobCl9KSkuZmFpbCgoZnVuY3Rpb24oKXtuLnJlamVjdCgpfSkpLG59LGludmFsaWRhdGVDYWNoZTpmdW5jdGlvbihlKXtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe2RlbGV0ZSBhW2VdfSkpfSxjbGVhbkNhY2hlOmZ1bmN0aW9uKCl7YT1bXX19KTtlLmV4cG9ydHM9bH0sNjA0OTEyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgOGE0LjUgNC41IDAgMSAxIDkgMCA0LjUgNC41IDAgMCAxLTkgMFpNOCAyYTYgNiAwIDEgMCAzLjY1IDEwLjc2bDMuNTggMy41OCAxLjA2LTEuMDYtMy41Ny0zLjU3QTYgNiAwIDAgMCA4IDJaIi8+PC9zdmc+J30sNTIyOTQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMiA1aDF2MWgtMXptLTEgMlY2aDF2MXptLTEgMVY3aDF2MXptLTEgMVY4aDF2MXptLTEgMVY5aDF2MXptLTEgMXYtMWgxdjF6bS0xIDF2LTFoMXYxem0tMSAwaDF2MWgtMXptLTEtMWgxdjFoLTF6bS0xLTFoMXYxaC0xem0tMS0xaDF2MWgtMXptLTEtMWgxdjFoLTF6bS0xIDBWN2gxdjF6TTkgOVY4aDF2MXptLTEgMVY5aDF2MXptLTEgMXYtMWgxdjF6bS0xIDF2LTFoMXYxem0tMSAxdi0xaDF2MXptMCAwdjFINHYtMXoiLz48cGF0aCBkPSJNMjMuMzQgMTAuMzcgMTUuNSAxNy43bC01LTUtNS4xNSA0LjY3LS42OC0uNzQgNS44Ni01LjMyIDUgNSA3LjE0LTYuNjd6TTYgMjFINXYxaDF6bTEtMXYxSDZ2LTF6bTEtMUg3djFoMXptMS0xdjFIOHYtMXoiLz48cGF0aCBkPSJNMTAgMTdIOXYxaDF6bTEgMGgtMXYtMWgxem0xIDFoLTF2LTFoMXptMSAxdi0xaC0xdjF6bTEgMWgtMXYtMWgxem0xIDF2LTFoLTF2MXptMSAwdjFoLTF2LTF6bTEtMXYxaC0xdi0xem0xLTF2MWgtMXYtMXptMS0xaC0xdjFoMXptMS0xdjFoLTF2LTF6bTEtMWgtMXYxaDF6bTEtMXYxaC0xdi0xem0xLTFoLTF2MWgxem0wIDBoMXYtMWgtMXoiLz48L3N2Zz4nfSw3NjE5NzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTUgNy41QzUgNi42NyA1LjY3IDYgNi41IDZoNC4ybDIgMmg4LjhjLjgzIDAgMS41LjY3IDEuNSAxLjV2MTBjMCAuODMtLjY3IDEuNS0xLjUgMS41aC0xNUExLjUgMS41IDAgMCAxIDUgMTkuNXYtMTJaTTYuNSA3YS41LjUgMCAwIDAtLjUuNVYxMWgxNlY5LjVhLjUuNSAwIDAgMC0uNS0uNWgtOS4ybC0yLTJINi41Wk0yMiAxMkg2djcuNWMwIC4yOC4yMi41LjUuNWgxNWEuNS41IDAgMCAwIC41LS41VjEyWiIvPjwvc3ZnPid9LDI2NjEwMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMuOSAxNC4xVjIyaDEuMnYtNy45SDIzdi0xLjJoLTcuOVY1aC0xLjJ2Ny45SDZ2MS4yaDcuOVoiLz48L3N2Zz4nfSw2MDk1MzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE3IDR2NGgyYTEgMSAwIDAgMSAuODMgMS41NWwtNCA2QTEgMSAwIDAgMSAxNCAxNXYtNGgtMmExIDEgMCAwIDEtLjgzLTEuNTVsNC02QTEgMSAwIDAgMSAxNyA0bS0yIDExIDQtNmgtM1Y0bC00IDZoM3oiLz48cGF0aCBkPSJNNSAxMy41YTcuNSA3LjUgMCAwIDEgNi03LjM1djEuMDJBNi41IDYuNSAwIDEgMCAxOC45OCAxM2gxbC4wMi41YTcuNDcgNy40NyAwIDAgMS0xLjg1IDQuOTRMMjMgMjMuMjlsLS43MS43LTQuODUtNC44NEE3LjUgNy41IDAgMCAxIDUgMTMuNSIvPjwvc3ZnPid9LDE1OTg3NyhlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOCA3aDNhMSAxIDAgMCAxIDEgMXYzYTEgMSAwIDAgMS0xIDFIOGExIDEgMCAwIDEtMS0xVjhhMSAxIDAgMCAxIDEtMXpNNiA4YzAtMS4xLjktMiAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkg4YTIgMiAwIDAgMS0yLTJWOHptMTEtMWgzYTEgMSAwIDAgMSAxIDF2M2ExIDEgMCAwIDEtMSAxaC0zYTEgMSAwIDAgMS0xLTFWOGExIDEgMCAwIDEgMS0xem0tMiAxYzAtMS4xLjktMiAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMmgtM2EyIDIgMCAwIDEtMi0yVjh6bS00IDhIOGExIDEgMCAwIDAtMSAxdjNhMSAxIDAgMCAwIDEgMWgzYTEgMSAwIDAgMCAxLTF2LTNhMSAxIDAgMCAwLTEtMXptLTMtMWEyIDIgMCAwIDAtMiAydjNjMCAxLjEuOSAyIDIgMmgzYTIgMiAwIDAgMCAyLTJ2LTNhMiAyIDAgMCAwLTItMkg4em05IDFoM2ExIDEgMCAwIDEgMSAxdjNhMSAxIDAgMCAxLTEgMWgtM2ExIDEgMCAwIDEtMS0xdi0zYTEgMSAwIDAgMSAxLTF6bS0yIDFjMC0xLjEuOS0yIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyaC0zYTIgMiAwIDAgMS0yLTJ2LTN6Ii8+PC9zdmc+J30sNDM0MDM3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDE4LjVBMi41IDIuNSAwIDAgMCA5LjUgMjFIMTJ2MUg5LjVBMy41IDMuNSAwIDAgMSA2IDE4LjVWMTZoMXptMTUgMGEzLjUgMy41IDAgMCAxLTMuNSAzLjVIMTZ2LTFoMi41YTIuNSAyLjUgMCAwIDAgMi41LTIuNVYxNmgxek0xMiA3SDkuNUEyLjUgMi41IDAgMCAwIDcgOS41VjEySDZWOS41QTMuNSAzLjUgMCAwIDEgOS41IDZIMTJ6bTYuNS0xQTMuNSAzLjUgMCAwIDEgMjIgOS41VjEyaC0xVjkuNUEyLjUgMi41IDAgMCAwIDE4LjUgN0gxNlY2eiIvPjwvc3ZnPid9LDE3NTQ2NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDE3YTIuNSAyLjUgMCAwIDEgMi41IDIuNVYyMmgtMXYtMi41QTEuNSAxLjUgMCAwIDAgOC41IDE4SDZ2LTF6TTIyIDE4aC0yLjVhMS41IDEuNSAwIDAgMC0xLjUgMS41VjIyaC0xdi0yLjVhMi41IDIuNSAwIDAgMSAyLjUtMi41SDIyek0xMSA4LjVBMi41IDIuNSAwIDAgMSA4LjUgMTFINnYtMWgyLjVBMS41IDEuNSAwIDAgMCAxMCA4LjVWNmgxem03IDBhMS41IDEuNSAwIDAgMCAxLjUgMS41SDIydjFoLTIuNUEyLjUgMi41IDAgMCAxIDE3IDguNVY2aDF6Ii8+PC9zdmc+J30sNzU1Mjk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDEwYTMgMyAwIDAgMSAzIDNIOWEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMkgxYTMgMyAwIDAgMSAzLTN6bTcgMGEzIDMgMCAwIDEgMyAzaC0xYTIgMiAwIDAgMC0yLTJoLTR2LTF6TTUuODU3IDQuMDA1YTIuMyAyLjMgMCAwIDEgMi4xMzggMi4xMzhDOCA2LjIyIDggNi4zMTUgOCA2LjVzMCAuMjgtLjAwNS4zNTdsLS4wMjQuMjEyYTIuMyAyLjMgMCAwIDEtMi4xMTQgMS45MjZMNS41IDlsLS4zNTctLjAwNUEyLjMgMi4zIDAgMCAxIDMuMDI5IDcuMDdsLS4wMjQtLjIxMkMzIDYuNzggMyA2LjY4NSAzIDYuNXMwLS4yOC4wMDUtLjM1N2EyLjMgMi4zIDAgMCAxIDIuMTM4LTIuMTM4QzUuMjIgNCA1LjMxNSA0IDUuNSA0cy4yOCAwIC4zNTcuMDA1bTcgMGEyLjMgMi4zIDAgMCAxIDIuMTM4IDIuMTM4QzE1IDYuMjIgMTUgNi4zMTUgMTUgNi41czAgLjI4LS4wMDUuMzU3bC0uMDI0LjIxMmEyLjMgMi4zIDAgMCAxLTIuMTE0IDEuOTI2TDEyLjUgOWwtLjM1Ny0uMDA1YTIuMyAyLjMgMCAwIDEtMi4xMTQtMS45MjZsLS4wMjQtLjIxMkMxMCA2Ljc4IDEwIDYuNjg1IDEwIDYuNXMwLS4yOC4wMDUtLjM1N2EyLjMgMi4zIDAgMCAxIDIuMTM4LTIuMTM4QzEyLjIyIDQgMTIuMzE1IDQgMTIuNSA0cy4yOCAwIC4zNTcuMDA1bS03LjY0Ni45OThBMS4zIDEuMyAwIDAgMCA0LjAwMyA2LjIxIDYgNiAwIDAgMCA0IDYuNWMwIC4yMDEgMCAuMjUzLjAwMy4yOUExLjMgMS4zIDAgMCAwIDUuMjEgNy45OTZDNS4yNDcgOCA1LjI5OCA4IDUuNSA4cy4yNTMgMCAuMjktLjAwM0ExLjMgMS4zIDAgMCAwIDYuOTk2IDYuNzlDNyA2Ljc1MyA3IDYuNzAxIDcgNi41czAtLjI1My0uMDAzLS4yODlBMS4zIDEuMyAwIDAgMCA1Ljc5IDUuMDAzIDYgNiAwIDAgMCA1LjUgNWE2IDYgMCAwIDAtLjI5LjAwM203IDBhMS4zIDEuMyAwIDAgMC0xLjIwOCAxLjIwOEE2IDYgMCAwIDAgMTEgNi41YzAgLjIwMSAwIC4yNTMuMDAzLjI5YTEuMyAxLjMgMCAwIDAgMS4yMDggMS4yMDdjLjAzNi4wMDMuMDg3LjAwMy4yODkuMDAzcy4yNTMgMCAuMjktLjAwM2ExLjMgMS4zIDAgMCAwIDEuMjA3LTEuMjA4QzE0IDYuNzUzIDE0IDYuNzAxIDE0IDYuNXMwLS4yNTMtLjAwMy0uMjg5YTEuMyAxLjMgMCAwIDAtMS4yMDgtMS4yMDhBNiA2IDAgMCAwIDEyLjUgNWMtLjIwMiAwLS4yNTMgMC0uMjkuMDAzIi8+PC9zdmc+J30sMjc1ODM1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjIgMjRINlY0aDE2ek03IDIzaDE0VjVIN3ptMTItNS4zMzVMMTUuODYzIDIxbC0yLjEyOS0xLjUzMS41NzktLjgxNiAxLjQxOCAxLjAwOEwxOC4yNTQgMTd6TTE1IDE0SDl2LTFoNnptNC0zSDl2LTFoMTB6bTAtM0g5VjdoMTB6Ii8+PC9zdmc+J30sNTA2NzY3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMi41IDdhMi41IDIuNSAwIDEgMS0yLjQ1IDNIMTguNWEuNS41IDAgMCAwLS41LjV2N2EuNS41IDAgMCAwIC41LjVoMS41NWEyLjUwMSAyLjUwMSAwIDEgMSAwIDFIMTguNWExLjUgMS41IDAgMCAxLTEuNS0xLjV2LTNoLTIuMDIzQTUuOTk5IDUuOTk5IDAgMCAxIDMgMTRhNiA2IDAgMCAxIDExLjk3OC0uNUgxN3YtM0ExLjUgMS41IDAgMCAxIDE4LjUgOWgxLjU1YTIuNSAyLjUgMCAwIDEgMi40NS0ybTAgMTBhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNNOSA5YTUgNSAwIDEgMCAwIDEwQTUgNSAwIDAgMCA5IDltLjUgMi4wMTNhMS43IDEuNyAwIDAgMSAxLjUgMS42ODhoLTFhLjcuNyAwIDAgMC0uNy0uN2gtLjU1YS43NS43NSAwIDAgMCAwIDEuNTAxaC41YTEuNzQ5IDEuNzQ5IDAgMCAxIC4yNSAzLjQ3OFYxOGgtMXYtMS4wMTJBMS42OSAxLjY5IDAgMCAxIDcgMTUuMzExaDFjMCAuMzguMzA5LjY5LjY5LjY5aC41NmEuNzUuNzUgMCAwIDAgMC0xLjQ5OWgtLjVhMS43NSAxLjc1IDAgMCAxLS4yNS0zLjQ4MlYxMGgxek0yMi41IDhhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTMiLz48L3N2Zz4nfSwxMTI2NjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcgMTd2NC41YS41LjUgMCAwIDAgLjUuNWgxNGEuNS41IDAgMCAwIC41LS41VjE3aDF2NC41YTEuNSAxLjUgMCAwIDEtMS41IDEuNWgtMTRBMS41IDEuNSAwIDAgMSA2IDIxLjVWMTd6bTgtMTF2MTEuMjkzbDMuMTQ2LTMuMTQ2LjcwNy43MDctNC4zNTMgNC4zNTMtNC4zNTMtNC4zNTMuNzA3LS43MDdMMTQgMTcuMjkzVjZ6Ii8+PC9zdmc+J30sODk4Mzc3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMiA3djE1SDV2LTZoNHYtNmg1djNoM1Y3ek02IDIxaDN2LTRINnptNC0xMHYxMGgzVjExem00IDEwaDN2LTdoLTN6bTQgMGgzVjhoLTN6Ii8+PC9zdmc+J30sMzEwOTI3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMCAxNUg5di0yaDF6bTYuMDAxLTZoLTFWNi42NDhsLTUuMzI0IDQuOTU2LS4zMzQtLjI1LTMuMzE3LTIuNDc3TDIuNjgyIDEyIDIgMTEuMjdsMy45NTYtMy42OTQgMy42NSAyLjcyN0wxNC4yMyA2SDEyVjVoNC4wMDF6TTEwIDhIOVY2aDF6bTAtNEg5VjJoMXoiLz48L3N2Zz4nfSw2NjQ0ODEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMmMzLjI5NSAwIDYgMi41NzUgNiA1Ljc5MiAwIDEuNzUzLS43MjMgMy4zNC0yIDQuNDA4VjE0aC0xLjk5djJINy4wMDZ2LTJINS4wMDR2LTEuNzY1QzMuNzggMTEuMTQ4IDMgOS40OTQgMyA3Ljc5MiAzLjAwMSA0LjU3NSA1LjcwNSAyIDkgMm0tLjk5NCAxM2gyLjAwNHYtMUg4LjAwNnptLTIuMDAyLTN2MUgxMnYtMXpNOSAzQzYuMjIgMyA0LjAwMSA1LjE2MyA0LjAwMSA3Ljc5MmMwIDEuMTc4LjQ1NSAyLjMzNSAxLjE5MiAzLjIwOGgzLjMxNVY4SDYuMDA0VjdoNi4wMDh2MUg5LjUwOHYzaDMuM0MxMy41NyAxMC4xNTYgMTQgOS4wMzQgMTQgNy43OTIgMTQgNS4xNjMgMTEuNzggMyA5IDMiLz48L3N2Zz4nfSwxNDgzODcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTkuNTU0IDEyLjUwNy0zLjMyMyAzLjMyNGE0LjIgNC4yIDAgMCAwIDUuOTQgNS45NGwzLjMyMy0zLjMyNC43MDcuNzA3LTMuMzI0IDMuMzIzYTUuMiA1LjIgMCAwIDEtNy4zNTMtNy4zNTNMOC44NDcgMTEuOHptNy43NTQtMS4xMDctNS45MDcgNS45MDctLjcwNy0uNzA3IDUuOTA3LTUuOTA3em0tMi4xODQtNS44NzZhNS4xOTkgNS4xOTkgMCAxIDEgNy4zNTMgNy4zNTNMMTkuMTU1IDE2LjJsLS43MDgtLjcwNyAzLjMyMy0zLjMyNGE0LjE5OSA0LjE5OSAwIDEgMC01LjkzOS01LjkzOGwtMy4zMjMgMy4zMjItLjcwNy0uNzA3eiIvPjwvc3ZnPid9LDEzOTY0MihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE3IDguMiA5IDE2IDEgOC4yIDMuNjY3IDNoMTAuNjY2ek0yLjIyNiA4IDkgMTQuNjAyIDE1Ljc3MyA4bC0yLjA1LTRINC4yNzd6TTkuNSA3SDExdjNIOS41djJoLTF2LTJIN1Y3aDEuNVY1aDF6Ii8+PC9zdmc+J30sOTU1NTg5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yNSAxMy4xODIgMTQgMjUgMyAxMy4xODIgNi42NjcgNWgxNC42NjZ6bS0yMC44MTctLjE5N0wxNCAyMy41MzFsOS44MTYtMTAuNTQ2TDIwLjY4NiA2SDcuMzE0ek0xNC41IDEwSDE2djZoLTEuNXYyaC0xdi0ySDEydi02aDEuNVY4aDF6TTEzIDE1aDJ2LTRoLTJ6Ii8+PC9zdmc+J30sMzkxMTgyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDIwaDE1djFIOHY0SDdWM2gxek0yMi4wMDUgNWMwIDQuOTAzLS44MyA4LjE1LTIuMjM1IDEwLjE4MkMxOC4zNCAxNy4yNDkgMTYuMzU3IDE4IDE0LjI0MSAxOGMtMS40NTYgMC0yLjk2Mi0uMzgtNC4yMzktMS4xMzZsLjUxLS44NjFjMS4xMTIuNjU4IDIuNDQuOTk3IDMuNzMuOTk3IDEuODQ3IDAgMy40OTUtLjYzNiA0LjcwNi0yLjM4NyAxLjIzNi0xLjc4NiAyLjA1Ny00Ljc5IDIuMDU3LTkuNjEzeiIvPjwvc3ZnPid9LDkwMjgyOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSAyNkg0VjJoMXpNMjMgOC41MDFsLTMuMzI4IDMuMDAxLS4zMzUtLjM3MS0uMzM1LS4zNzJMMjAuOTUyIDlIMjAuNWMtMy45MzggMC03LjQxMyAxLjk4LTkuNDg1IDQuOTk4IDIuMDcyIDMuMDE5IDUuNTQ1IDUgOS40ODMgNS4wMDFoLjQ1MkwxOSAxNy4yNDJsLjY3LS43NDIgMy4zMjggMy0zLjMyOCAzLjAwMi0uNjctLjc0NEwyMC45NSAyMGgtLjQ1MmExMi40OCAxMi40OCAwIDAgMS0xMC4wNTYtNS4wNzhBMTEuNDUgMTEuNDUgMCAwIDAgOSAyMC41VjIzSDh2LTIuNDk5YzAtNi45MDMgNS41OTctMTIuNSAxMi41LTEyLjVoLjQ1MmwtMS45NS0xLjc1OC42Ny0uNzQzek04Ljk5OCA3LjUwMmMwIDEuNjM1LjM0NCAzLjE4OS45NTkgNC41OTdxLS4zNTUuNDUyLS42NjcuOTM2YTEyLjQ1IDEyLjQ1IDAgMCAxLTEuMjkyLTUuNTMzdi0yLjVoLjVsLjUtLjAwMXoiLz48L3N2Zz4nfSw4Njc1NDUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMjUuMzUgNS4zNS05LjUgOS41LS4zNS4zNi0uMzUtLjM2LTQuNjUtNC42NC04LjE1IDguMTQtLjctLjcgOC41LTguNS4zNS0uMzYuMzUuMzYgNC42NSA0LjY0IDkuMTUtOS4xNC43LjdaTTIgMjFoMXYxSDJ2LTFabTItMUgzdjFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDFWOWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYxSDl2MUg4djFIN3YxSDZ2MUg1djFINHYxWm0xIDB2MUg0di0xaDFabTEgMEg1di0xaDF2MVptMSAwdjFINnYtMWgxWm0wLTFINnYtMWgxdjFabTEgMEg3djFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYxSDl2MUg4djFIN3YxaDF2MVptMSAwdjFIOHYtMWgxWm0wLTFIOHYtMWgxdjFabTEgMEg5djFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoLTF2LTFoLTF2LTFoLTF2LTFoLTF2MUg5djFoMXYxWm0xIDB2MWgtMXYtMWgxWm0wLTF2LTFoLTF2MWgxWm0wIDB2MWgxdjFoMXYtMWgtMXYtMWgtMVptNiAydi0xaDF2MWgtMVptMiAwdjFoLTF2LTFoMVptMC0xaC0xdi0xaDF2MVptMSAwaC0xdjFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2MWgtMXYxaC0xdjFoLTF2MWgxdjFabTEgMGgtMXYxaDF2LTFabTAtMWgxdjFoLTF2LTFabTAtMWgxdi0xaC0xdjFabTAgMHYxaC0xdi0xaDFabS00IDN2MWgtMXYtMWgxWiIvPjwvc3ZnPid9LDIxNjMzNShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTkgNmgtMXY3aC0zdjFoM3Y4aDF2LTNoM3YtMWgtM1Y2Wk0xMSA3aC0xdjEzSDd2MWgzdjJoMVYxMGgzVjloLTNWN1oiLz48L3N2Zz4nfSw4NDIwNTEoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMC40OSA3LjU1LS40Mi43LTIuMSAzLjUuODYuNSAxLjY4LTIuOCAxLjggMi44Mi44NC0uNTQtMi4yMy0zLjUtLjQzLS42OFptMTIuMzIgNC43Mi0uODQtLjU0IDIuNjEtNCAuODQuNTQtMi42MSA0Wm0tNS4zIDYuMyAxLjItMS44NC44NC41NC0xLjYzIDIuNS0uNDMuNjUtLjQxLS42NS0xLjYtMi41Ljg1LS41NCAxLjE3IDEuODVaTTQuOTYgMTYuNzVsLjg2LjUyLTIuNCA0LS44Ni0uNTIgMi40LTRaTTMgMTR2MWgxdi0xSDNabTIgMGgxdjFINXYtMVptMiAwdjFoMXYtMUg3Wm0yIDBoMXYxSDl2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFaIi8+PC9zdmc+J30sMzc2MTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE3IDExdjZoM3YtNmgtM3ptLS41LTFoNGEuNS41IDAgMCAxIC41LjV2N2EuNS41IDAgMCAxLS41LjVoLTRhLjUuNSAwIDAgMS0uNS0uNXYtN2EuNS41IDAgMCAxIC41LS41eiIvPjxwYXRoIGQ9Ik0xOCA3aDF2My41aC0xem0wIDEwLjVoMVYyMWgtMXoiLz48cGF0aCBkPSJNOSA4djEyaDNWOEg5em0tLjUtMWg0YS41LjUgMCAwIDEgLjUuNXYxM2EuNS41IDAgMCAxLS41LjVoLTRhLjUuNSAwIDAgMS0uNS0uNXYtMTNhLjUuNSAwIDAgMSAuNS0uNXoiLz48cGF0aCBkPSJNMTAgNGgxdjMuNWgtMXptMCAxNi41aDFWMjRoLTF6Ii8+PC9zdmc+J30sNjQ3NjMwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48ZyBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTEwLjUgOXYxMk03IDE4LjVoMy41TTE0IDkuNWgtMy41TTE5LjUgM3YxMk0xNiA2LjVoMy41TTIzIDE0LjVoLTMuNU0xOC41IDE5LjVoMmExIDEgMCAxIDAgMC0yaC0yVjIydi0yLjV6TTIxLjUgMjJMMjAgMTkuNSIvPjwvZz48L3N2Zz4nfSw5OTU1NDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48ZyBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTExIDIwLjVINy41YTUgNSAwIDEgMSAuNDItOS45OCA3LjUgNy41IDAgMCAxIDE0LjU3IDIuMSA0IDQgMCAwIDEtMSA3Ljg3N0gxOCIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTQuNSAyNFYxMi41TTExIDE2bDMuNS0zLjVMMTggMTYiLz48L2c+PC9zdmc+J30sNDQzMTY3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDd2MTRoNVY3aC01Wm00IDFoLTN2MTJoM1Y4Wk0xOSAxNXY2aDV2LTZoLTVabTQgMWgtM3Y0aDN2LTRaTTUgMTJoNXY5SDV2LTlabTEgMWgzdjdINnYtN1oiLz48L3N2Zz4nfSw3NjU2OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNmE4LjUgOC41IDAgMSAwIDAgMTcgOC41IDguNSAwIDAgMCAwLTE3ek00IDE0LjVhOS41IDkuNSAwIDEgMSAxOSAwIDkuNSA5LjUgMCAwIDEtMTkgMHoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE0aDR2LTRoMXY0aDR2MWgtNHY0aC0xdi00SDl2LTF6Ii8+PC9zdmc+J30sNTAwNTA3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik05IDh2MTJoM1Y4SDl6bS0xLS41MDJDOCA3LjIyMyA4LjIxNSA3IDguNDk4IDdoNC4wMDRjLjI3NSAwIC40OTguMjIuNDk4LjQ5OHYxMy4wMDRhLjQ5My40OTMgMCAwIDEtLjQ5OC40OThIOC40OThBLjQ5Ni40OTYgMCAwIDEgOCAyMC41MDJWNy40OTh6Ii8+PHBhdGggZD0iTTEwIDRoMXYzLjVoLTF6Ii8+PHBhdGggZD0iTTE3IDZ2NmgzVjZoLTN6bS0xLS41YzAtLjI3Ni4yMTUtLjUuNDk4LS41aDQuMDA0Yy4yNzUgMCAuNDk4LjIzLjQ5OC41djdjMCAuMjc2LS4yMTUuNS0uNDk4LjVoLTQuMDA0YS41MDMuNTAzIDAgMCAxLS40OTgtLjV2LTd6Ii8+PHBhdGggZD0iTTE4IDJoMXYzLjVoLTF6Ii8+PC9zdmc+J30sMjE1NDgwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuNSA3SDd2MTRoNVY3SDcuNXpNOCAyMFY4aDN2MTJIOHptNy41LTExSDE1djEwaDVWOWgtNC41em0uNSA5di04aDN2OGgtM3oiLz48L3N2Zz4nfSwzODE5MjMoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNyAxMXY2aDN2LTZoLTN6bS0uNS0xaDRhLjUuNSAwIDAgMSAuNS41djdhLjUuNSAwIDAgMS0uNS41aC00YS41LjUgMCAwIDEtLjUtLjV2LTdhLjUuNSAwIDAgMSAuNS0uNXoiLz48cGF0aCBkPSJNMTggN2gxdjMuNWgtMXptMCAxMC41aDFWMjFoLTF6Ii8+PHBhdGggZD0iTTkgOHYxMWgzVjhIOXptLS41LTFoNGEuNS41IDAgMCAxIC41LjV2MTJhLjUuNSAwIDAgMS0uNS41aC00YS41LjUgMCAwIDEtLjUtLjV2LTEyYS41LjUgMCAwIDEgLjUtLjV6Ii8+PHBhdGggZD0iTTEwIDRoMXY1aC0xem0wIDE0aDF2NWgtMXpNOC41IDlIMTB2MUg4LjV6TTExIDloMS41djFIMTF6bS0xIDFoMXYxaC0xem0tMS41IDFIMTB2MUg4LjV6bTIuNSAwaDEuNXYxSDExem0tMSAxaDF2MWgtMXptLTEuNSAxSDEwdjFIOC41em0yLjUgMGgxLjV2MUgxMXptLTEgMWgxdjFoLTF6bS0xLjUgMUgxMHYxSDguNXptMi41IDBoMS41djFIMTF6bS0xIDFoMXYxaC0xem0tMS41IDFIMTB2MUg4LjV6bTIuNSAwaDEuNXYxSDExeiIvPjwvc3ZnPid9LDg0Njc0OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik02IDEybDQuOC00LjhhMSAxIDAgMCAxIDEuNCAwbDIuNyAyLjdhMSAxIDAgMCAwIDEuMy4xTDIzIDUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE5IDEyYTEgMSAwIDAgMC0xIDF2NGgtM3YtMWExIDEgMCAwIDAtMS0xaC0zYTEgMSAwIDAgMC0xIDF2Mkg3YTEgMSAwIDAgMC0xIDF2NGgxN1YxM2ExIDEgMCAwIDAtMS0xaC0zem0wIDEwaDN2LTloLTN2OXptLTEgMHYtNGgtM3Y0aDN6bS00LTQuNVYyMmgtM3YtNmgzdjEuNXpNMTAgMjJ2LTNIN3YzaDN6Ii8+PC9zdmc+J30sMTEzNzg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTIwIDE3bC01IDVNMTUgMTdsNSA1TTkgMTEuNWg3TTE3LjUgOGEyLjUgMi41IDAgMCAwLTUgMHYxMWEyLjUgMi41IDAgMCAxLTUgMCIvPjwvc3ZnPid9LDQ1NTYzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgNWgzdjEyaDVWOGgzdjEzaDFWN2gtNXY5aC0zVjRoLTV2MThIN3YtNUg2djZoNXoiLz48L3N2Zz4nfSw1OTQ4NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY5SDFabTkgN2g2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTh2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwyNzM3NzUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINlY5SDFabTYgN2g1VjlIN3Y3Wm02IDBoMy41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC01djdaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjU2MzA0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMWgxNGMuODMgMCAxLjUuNjcgMS41IDEuNVY4SDFWMi41Wk0xIDl2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDRWOUgxWm00IDdoNFY5SDV2N1ptNSAwaDRWOWgtNHY3Wm01IDBoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC0zdjdaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sODgwODkzKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDR2N0gyVjMuNVpNMiAxMHY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINHYtN0gyWm0zIDdoM3YtN0g1djdabTQgMGgzdi03SDl2N1ptNCAwaDN2LTdoLTN2N1ptNCAwaC41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMGgtMnY3Wm0yLThWMy41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxN3Y3aDJabS0zLTdoLTN2N2gzVjJabS00IDBIOXY3aDNWMlpNOCAySDV2N2gzVjJaTTMuNSAxQTIuNSAyLjUgMCAwIDAgMSAzLjV2MTJBMi41IDIuNSAwIDAgMCAzLjUgMThoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE3LjUgMWgtMTRaIi8+PC9zdmc+J30sOTQ0NTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiAzLjVDMiAyLjY3IDIuNjcgMiAzLjUgMkg3djNIMnYxaDV2M0gydjFoNXYzSDJ2MWg1djNIMy41QTEuNSAxLjUgMCAwIDEgMiAxNS41di0xMlpNOCAxNHYzaDV2LTNIOFptNiAwdjNoMy41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxNGgtNVptNS0xaC01di0zaDV2M1ptLTYgMEg4di0zaDV2M1pNOCA5aDVWNkg4djNabTYgMGg1VjZoLTV2M1ptLTEtNEg4VjJoNXYzWm0xIDEzSDMuNUEyLjUgMi41IDAgMCAxIDEgMTUuNXYtMTJBMi41IDIuNSAwIDAgMSAzLjUgMWgxNEEyLjUgMi41IDAgMCAxIDIwIDMuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVIMTRabTAtMTNWMmgzLjVjLjgzIDAgMS41LjY3IDEuNSAxLjVWNWgtNVoiLz48L3N2Zz4nfSw1MTM5MTIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiAzLjVDMiAyLjY3IDIuNjcgMiAzLjUgMkg0djdIMlYzLjVaTTIgMTB2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDR2LTdIMlptMyA3aDJ2LTdINXY3Wm0zIDBoMnYtN0g4djdabTMgMGgydi03aC0ydjdabTMgMGgydi03aC0ydjdabTMgMGguNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTBoLTJ2N1ptMi04VjMuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTd2N2gyWm0tMy03aC0ydjdoMlYyWm0tMyAwaC0ydjdoMlYyWm0tMyAwSDh2N2gyVjJaTTcgMkg1djdoMlYyWk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDg2ODc2NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjUgMkMyLjY3IDIgMiAyLjY3IDIgMy41djEyYzAgLjgzLjY3IDEuNSAxLjUgMS41SDV2LTNIMnYtMWgzdi0zSDJWOWgzVjZIMlY1aDNWMkgzLjVaTTYgMTR2M2g0di0zSDZabTQtMUg2di0zaDR2M1ptMSAxdjNoNHYtM2gtNFptNC0xaC00di0zaDR2M1ptMSAxdjNoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxNGgtM1ptMy0xaC0zdi0zaDN2M1ptLTgtNGg0VjZoLTR2M1ptNS0zdjNoM1Y2aC0zWk02IDloNFY2SDZ2M1ptMC00aDRWMkg2djNabTEwIDEzSDMuNUEyLjUgMi41IDAgMCAxIDEgMTUuNXYtMTJBMi41IDIuNSAwIDAgMSAzLjUgMWgxNEEyLjUgMi41IDAgMCAxIDIwIDMuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVIMTZabTAtMTNWMmgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjVWNWgtM1ptLTEtM2gtNHYzaDRWMloiLz48L3N2Zz4nfSwyMjExNTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOUgxWm0xNy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDkwNjA1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjUgMUMxLjY3IDEgMSAxLjY3IDEgMi41djEyYzAgLjgzLjY3IDEuNSAxLjUgMS41SDVWMXpNMTAgMTZINlYxaDR2MTVtMSAwaDUuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOWgtN3ptNy04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTF2N3pNMCAyLjVBMi41IDIuNSAwIDAgMSAyLjUgMGgxNEEyLjUgMi41IDAgMCAxIDE5IDIuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVoLTE0QTIuNSAyLjUgMCAwIDEgMCAxNC41eiIvPjwvc3ZnPid9LDc4OTEwOChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYuNSAxSDE0djE1aDIuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNU05IDFoNHYxNUg5VjFNOCAxSDIuNUMxLjY3IDEgMSAxLjY3IDEgMi41VjhoN3pNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg4Vjl6bTEuNS05QTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3MjAyOTMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djNoMTdWOUgxWm0xNy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wm0wIDVIMXYxLjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjEzWk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDU2MzQ4NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxSDZ2MTVoNFYxbTEgMHY0aDdWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNXptNyA1aC03djVoN3ptMCA2aC03djRoNS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXpNMi41IDFINXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyQzEgMS42NyAxLjY3IDEgMi41IDFtMC0xQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3MzcwMTcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYuNSAxSDE0djE1aDIuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNU05IDFoNHYxNUg5VjFNOCAxSDIuNUMxLjY3IDEgMSAxLjY3IDEgMi41VjVoN3pNMSA2djVoN1Y2em0wIDZ2Mi41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDh2LTR6TTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3NjU1NzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg2VjlIMVptNiA3aDVWOUg3djdabTYgMGgzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTV2N1ptNS04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDUyNzcyMyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDMuNUEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEyWk0xMSAyaDYuNWMuODMgMCAxLjUuNjcgMS41IDEuNVY5aC04VjJabS0xIDBIMy41QzIuNjcgMiAyIDIuNjcgMiAzLjVWOWg4VjJabS04IDh2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDV2LTdIMlptNCA3aDR2LTdINnY3Wm01IDBoNHYtN2gtNHY3Wm01IDBoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMGgtM3Y3WiIvPjwvc3ZnPid9LDYxNTQyNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk0xMCAxNmg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2MTVaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjcyODg2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFoMTRjLjgzIDAgMS41LjY3IDEuNSAxLjVWOEgxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOUgxWm0xLjUtOUEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDc2MzU1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDApIiB2ZXJzaW9uPSIxLjEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFoMTRjLjgzIDAgMS41LjY3IDEuNSAxLjVWOEgxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg2VjlIMVptNiA3aDVWOUg3djdabTYgMGgzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTV2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw5NzQ1NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDd2N0gyVjMuNVpNMiAxMHY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjEwaC04djdoLTF2LTdIMlptMTctMVYzLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE0djdoNVptLTYtN0g4djdoNVYyWk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDM3NjE2MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFINnYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk03IDE2aDVWMUg3djE1Wm02LTE1djE1aDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxM1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw1OTU2MjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg5VjlIMVptOSA3aDYuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxMHYxNVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw2NzAyNjQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC04djdabTgtOFYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjdoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw0NTc5ODkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjVIMVYyLjVaTTEgNnY1aDE3VjZIMVptMTcgNkgxdjIuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTJaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjQ3NjkyKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSwwLDAsLTEsMCwwKSIgdmVyc2lvbj0iMS4xIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINFY5SDFabTQgN2g0VjlINXY3Wm01IDBoNFY5aC00djdabTUgMGgxLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTN2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw4MjY3MTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUgMWgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjV2NWgtM3ptLTEgMGgtNHY2LjVoNHpNOSAxSDV2Ni41aDR6TTQgMUgyLjVDMS42NyAxIDEgMS42NyAxIDIuNXY1aDN6TTEgOC41djZjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY4LjVIMW05IDcuNWg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41di02aC04ek0wIDIuNUEyLjUgMi41IDAgMCAxIDIuNSAwaDE0QTIuNSAyLjUgMCAwIDEgMTkgMi41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAwIDE0LjV6Ii8+PC9zdmc+J30sOTk4Mjg2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjE3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE0IDFoLTR2N2g0em0xIDhoLTJ2N2gzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41Vjl6bS0zIDdWOUg3djd6TTUgOWgxdjdIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41VjloNG0xMy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTV2N3pNMSA4aDNWMUgyLjVDMS42NyAxIDEgMS42NyAxIDIuNXptNCAwaDRWMUg1ek0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDB6Ii8+PC9zdmc+J30sOTQ1MjM4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg5djdIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY5SDFabTkgN2g2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTh2N1ptOC04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDEyNDg1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg0djE1SDIuNUExLjUgMS41IDAgMCAxIDEgMTQuNXYtMTJaTTUgMTZoNFYxSDV2MTVabTUtMTV2MTVoNFYxaC00Wm01IDB2MTVoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE1Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDEyNjE2NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDExdjRIMlYzLjVaTTIgN3Y1aDlWN0gyWm0wIDZ2Mi41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDExdi00SDJabTEwIDRoNS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEydjE1Wk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDQ2NzE0NShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMmgtOHY0Wm04LTVWNmgtOHY1aDhabTAtNlYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjRoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw0MDg5NjQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjRIMVYyLjVaTTEgNXYzaDE3VjVIMVptMTcgNEgxdjNoMTdWOVptMCA0SDF2MS41YzAgLjgzLjY3IDEuNSAxLjUgMS41aDE0Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw1NzUxMDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNyAxSDR2N2gzem0xIDB2N2gzVjF6bTQgMHY3aDNWMXptMCA4aC0ydjdoNFY5em0zIDBoM3Y1LjVjMCAuODMtLjY3IDEuNS0xLjUgMS41SDE1em0xLTh2N2gyVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjV6TTggOUg1djdoNFY5ek0yLjUgMUgzdjdIMVYyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMU0xIDloM3Y3SDIuNUExLjUgMS41IDAgMCAxIDEgMTQuNXptMS41LTlBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAweiIvPjwvc3ZnPid9LDE5MTU2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOSAzLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE3djE1aC41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJabS0xNyAxMmMwIC44My42NyAxLjUgMS41IDEuNUg0VjJoLS41QzIuNjcgMiAyIDIuNjcgMiAzLjV2MTJaTTEuMDEgMy4yNEEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEybC4wMS0uMjZaTTUgMTdoM1YySDV2MTVabTExIDBoLTNWMmgzdjE1Wk0xMiAydjE1SDlWMmgzWiIvPjwvc3ZnPid9LDQyMjU5OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSwwLDAsLTEsMCwwKSIgdmVyc2lvbj0iMS4xIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM2gtOHYzWm04LTRWOWgtOHYzaDhabTAtNFY1aC04djNoOFptMC00VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2M2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDY2MzIyMihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk0xMCAxNmg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjEzaC04djNabTgtNFY5aC04djNoOFptMC00VjVoLTh2M2g4Wm0wLTRWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxMHYzaDhaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sMjIzMjI3KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDMuNUEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEyWk0zLjUgMmgxNGMuODMgMCAxLjUuNjcgMS41IDEuNVY0SDJ2LS41QzIgMi42NyAyLjY3IDIgMy41IDJaTTIgNXYyaDE3VjVIMlptMTcgM0gydjNoMTdWOFptMCA0SDJ2MmgxN3YtMlptMCAzSDJ2LjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjE1WiIvPjwvc3ZnPid9LDg2MDg1MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFINnY3SDFWMi41Wk0xIDl2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDZWOUgxWm02IDdoNVY5SDd2N1ptNiAwaDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOWgtNXY3Wm01LThWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxM3Y3aDVabS02LTdIN3Y3aDVWMVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwxMDA0NjMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2NEgxVjIuNVpNMSA2djVoOFY2SDFabTAgNnYyLjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOXYtNEgxWm05IDRoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMmgtOHY0Wm04LTVWNmgtOHY1aDhabTAtNlYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjRoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw5MjA1MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDR2MTVoLS41QTEuNSAxLjUgMCAwIDEgMiAxNS41di0xMlpNNSAxN2gyVjJINXYxNVpNOCAydjE1aDJWMkg4Wm0zIDB2MTVoMlYyaC0yWm0zIDB2MTVoMlYyaC0yWm0zIDB2MTVoLjVjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVIMTdaTTMuNSAxQTIuNSAyLjUgMCAwIDAgMSAzLjV2MTJBMi41IDIuNSAwIDAgMCAzLjUgMThoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE3LjUgMWgtMTRaIi8+PC9zdmc+J30sNTYyOTk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg0djdIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINFY5SDFabTQgN2g0VjlINXY3Wm01IDBoNFY5aC00djdabTUgMGgxLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTN2N1ptMy04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTV2N2gzWm0tNC03aC00djdoNFYxWk05IDFINXY3aDRWMVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwxNjQ0NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYzSDFWMi41Wk0xIDV2M2g4VjVIMVptMCA0djNoOFY5SDFabTAgNHYxLjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOXYtM0gxWm05IDNoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM2gtOHYzWm04LTRWOWgtOHYzaDhabTAtNFY1aC04djNoOFptMC00VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2M2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDg2NjgyNihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMy41IDFBMi41IDIuNSAwIDAgMCAxIDMuNXYxMkEyLjUgMi41IDAgMCAwIDMuNSAxOGgxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTcuNSAxaC0xNFpNNyAySDMuNUMyLjY3IDIgMiAyLjY3IDIgMy41VjZoNVYyWm0xIDB2NGg1VjJIOFptMCA1aDV2NUg4VjdabS0xIDVWN0gydjVoNVptLTUgMWg1djRIMy41QTEuNSAxLjUgMCAwIDEgMiAxNS41VjEzWm02IDBoNXY0SDh2LTRabTYgMHY0aDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTNoLTVabTUtMVY3aC01djVoNVpNMTQgMnY0aDVWMy41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxNFoiLz48L3N2Zz4nfSwzOTY3NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiIGZpbGw9Im5vbmUiPjxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIxNiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHJ4PSIyIiB4PSIxLjUiIHk9IjEuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE5IDEwSDJWOWgxN3YxWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQgMTdWMmgxdjE1SDRaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNyAxN1YyaDF2MTVIN1oiIG9wYWNpdHk9Ii44NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwIDE3VjJoMXYxNWgtMVoiIG9wYWNpdHk9Ii42NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzIDE3VjJoMXYxNWgtMVoiIG9wYWNpdHk9Ii4yNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE2IDE4VjJoMXYxNmgtMVoiIG9wYWNpdHk9Ii4wNSIvPjwvc3ZnPid9LDY5Nzc1MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE2IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgcng9IjIiIHg9IjEuNSIgeT0iMS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNCAxN1YyaDF2MTVINFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDE3VjJoMXYxNUg3WiIgb3BhY2l0eT0iLjg1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTAgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjY1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjI1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTYgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjA1Ii8+PC9zdmc+J30sNTc0MTU5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiBmaWxsPSJub25lIj48cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTYiIHN0cm9rZT0iY3VycmVudENvbG9yIiByeD0iMiIgeD0iMS41IiB5PSIxLjUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xLjUgNGgxOHYxaC0xOFY0WiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTIgN2gxOHYxSDJWN1oiIG9wYWNpdHk9Ii42NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNSAxMGgxOHYxaC0xOHYtMVoiIG9wYWNpdHk9Ii4yNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNSAxM2gxOHYxaC0xOHYtMVoiIG9wYWNpdHk9Ii4wNSIvPjwvc3ZnPid9LDc0MjUwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNi41IDFoLTE0QzEuNjcgMSAxIDEuNjcgMSAyLjV2MTJjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVtLTE0LTFBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAweiIvPjxwYXRoIGQ9Ik05IDNoOXYxSDl6Ii8+PHBhdGggZD0iTTkgMTdWMWgxdjE2eiIvPjxwYXRoIGQ9Ik05IDZoOXYxSDl6IiBvcGFjaXR5PSIuNjUiLz48cGF0aCBkPSJNOSA5aDl2MUg5eiIgb3BhY2l0eT0iLjI1Ii8+PHBhdGggZD0iTTkgMTJoOXYxSDl6IiBvcGFjaXR5PSIuMDUiLz48L3N2Zz4nfSwyOTc4NDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMi41IDFDMS42NyAxIDEgMS42NyAxIDIuNXYxMmMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNWgtMTRaTTAgMi41QTIuNSAyLjUgMCAwIDEgMi41IDBoMTRBMi41IDIuNSAwIDAgMSAxOSAyLjV2MTJhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNEEyLjUgMi41IDAgMCAxIDAgMTQuNXYtMTJaIi8+PC9zdmc+J30sOTY1NjM1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0xOC40MyAxNS45MSA2Ljk2LTguNi0uNzgtLjYyLTYuOTYgOC42YTIuNDkgMi40OSAwIDAgMC0yLjYzLjJsLTIuMjEtMi4wMkEyLjUgMi41IDAgMCAwIDEwLjUgMTBhMi41IDIuNSAwIDEgMCAxLjczIDQuM2wyLjEyIDEuOTJhMi41IDIuNSAwIDEgMCA0LjA4LS4zMVpNMTAuNSAxNGExLjUgMS41IDAgMSAwIDAtMyAxLjUgMS41IDAgMCAwIDAgM1ptNy41IDMuNWExLjUgMS41IDAgMSAxLTMgMCAxLjUgMS41IDAgMCAxIDMgMFoiLz48cGF0aCBkPSJNOC4zNyAxMy44Yy4xNy4zLjQuNTQuNjguNzRsLTUuNjcgNi43OC0uNzYtLjY0IDUuNzUtNi44OFoiLz48L3N2Zz4nfSw0MjAzNDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTI1LjM5IDcuMzEtOC44MyAxMC45Mi02LjAyLTUuNDctNy4xNiA4LjU2LS43Ni0uNjQgNy44Mi05LjM2IDYgNS40NUwyNC42MSA2LjdsLjc4LjYyWiIvPjwvc3ZnPid9LDc3MzI2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTggMjRoM1YxMmgtM3YxMnptLTEtMTNoNXYxNGgtNVYxMXptLTQtOHY3aDNWM2gtM3ptLTEtMWg1djloLTVWMnpNOCAxOWgzdi03SDh2N3ptLTEtOGg1djlIN3YtOXoiLz48L3N2Zz4nfSwzNDY1NTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDIxIiB3aWR0aD0iMjEiIGhlaWdodD0iMjEiPjxnIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTguNSAxMXY1LjVhMiAyIDAgMCAxLTIgMmgtMTNhMiAyIDAgMCAxLTItMnYtMTNhMiAyIDAgMCAxIDItMkg5Ii8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE4IDJsLTguNSA4LjVtNC05aDV2NSIvPjwvZz48L3N2Zz4nfSw5MTc2OTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE0LjUgMTZhMi41IDIuNSAwIDEgMSAwLTUgMi41IDIuNSAwIDAgMSAwIDV6bTAtMWExLjUgMS41IDAgMSAwIDAtMyAxLjUgMS41IDAgMCAwIDAgM3ptMCA3YTIuNSAyLjUgMCAxIDEgMC01IDIuNSAyLjUgMCAwIDEgMCA1em0wLTFhMS41IDEuNSAwIDEgMCAwLTMgMS41IDEuNSAwIDAgMCAwIDN6bTMuMjkzLTE1LjVsNC43MDcgNC43MDcuNzA3LS43MDdMMTguNSA0Ljc5M3oiLz48cGF0aCBkPSJNMTguNSAxMC4yMDdMMjMuMjA3IDUuNWwtLjcwNy0uNzA3TDE3Ljc5MyA5LjV6bS0uNzA3IDEuMjkzbDQuNzA3IDQuNzA3LjcwNy0uNzA3LTQuNzA3LTQuNzA3eiIvPjxwYXRoIGQ9Ik0xOC41IDE2LjIwN2w0LjcwNy00LjcwNy0uNzA3LS43MDctNC43MDcgNC43MDd6TTUuNzkzIDE3LjVsNC43MDcgNC43MDcuNzA3LS43MDdMNi41IDE2Ljc5M3oiLz48cGF0aCBkPSJNNi41IDIyLjIwN2w0LjcwNy00LjcwNy0uNzA3LS43MDdMNS43OTMgMjEuNXpNNS43OTMgNS41bDQuNzA3IDQuNzA3LjcwNy0uNzA3TDYuNSA0Ljc5M3oiLz48cGF0aCBkPSJNNi41IDEwLjIwN0wxMS4yMDcgNS41bC0uNzA3LS43MDdMNS43OTMgOS41ek01Ljc5MyAxMS41bDQuNzA3IDQuNzA3LjcwNy0uNzA3TDYuNSAxMC43OTN6Ii8+PHBhdGggZD0iTTYuNSAxNi4yMDdsNC43MDctNC43MDctLjcwNy0uNzA3TDUuNzkzIDE1LjV6Ii8+PC9zdmc+J30sNzYyMDIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE4LjI5MyAxM2wtMi42NDcgMi42NDYuNzA3LjcwOCAzLjg1NC0zLjg1NC0zLjg1NC0zLjg1NC0uNzA3LjcwOEwxOC4yOTMgMTJIMTIuNUE1LjUgNS41IDAgMCAwIDcgMTcuNVYxOWgxdi0xLjVhNC41IDQuNSAwIDAgMSA0LjUtNC41aDUuNzkzeiIvPjwvc3ZnPid9LDcyMjc2MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTggNXY1aDNWNWgtM3ptLTEtMWg1djdoLTVWNHptLTQgMTNoM3YtNWgtM3Y1em0tMS02aDV2N2gtNXYtN3pNOCAyNGgzdi01SDh2NXptLTEtNmg1djdIN3YtN3oiLz48L3N2Zz4nfSwyNDM0MDIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE5IDVoNXYxaC00djEzaC02di03aC00djEySDV2LTFoNFYxMWg2djdoNFY1WiIvPjwvc3ZnPid9LDk1OTIzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTYgNWg2djRoNHY0aDd2NWgtNXY0SDZWNVptMSAxaDR2M0g3VjZabTAgNHYzaDh2LTNIN1ptMTUgNHYzSDd2LTNoMTVabS01IDd2LTNIN3YzaDEwWiIvPjwvc3ZnPid9LDk4NzAyMShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEgOWg4djRoNHY1aC00djRINlY1aDV2NFptLTEtM0g3djNoM1Y2Wm04IDEydjNoLTN2LTNoM1ptMS00djNoM3YtM2gtM1ptLTEtMXYtM2gtM3YzaDNabS0zIDFoM3YzaC0zdi0zWm0tMSAwdjNoLTN2LTNoM1ptMCA0djNoLTN2LTNoM1ptMC01aC0zdi0zaDN2M1ptLTQgOHYtM0g3djNoM1ptMC00SDd2LTNoM3YzWm0wLTd2M0g3di0zaDNaIi8+PC9zdmc+J30sNDk5NzI0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjcwNyAxM2wyLjY0NyAyLjY0Ni0uNzA3LjcwOEw2Ljc5MiAxMi41bDMuODUzLTMuODU0LjcwOC43MDhMOC43MDcgMTJIMTQuNWE1LjUgNS41IDAgMCAxIDUuNSA1LjVWMTloLTF2LTEuNWE0LjUgNC41IDAgMCAwLTQuNS00LjVIOC43MDd6Ii8+PC9zdmc+J30sNjU5NTA1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE4IDRoMXYzaDMuNWMuMjggMCAuNS4yMi41LjV2MTNhLjUuNSAwIDAgMS0uNS41SDE5djNoLTF2LTNoLTMuNWEuNS41IDAgMCAxLS41LS41di0xM2MwLS4yOC4yMi0uNS41LS41SDE4VjRabS0zIDE2aDdWOGgtN3YxMlpNMTAgN0g5djNINy41YS41LjUgMCAwIDAtLjUuNXY4YzAgLjI4LjIyLjUuNS41SDl2M2gxdi0zaDEuNWEuNS41IDAgMCAwIC41LS41di04YS41LjUgMCAwIDAtLjUtLjVIMTBWN1ptLTEgNEg4djdoM3YtN0g5WiIvPjwvc3ZnPid9LDE5MjQ4MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDRIOHYzSDYuNWEuNS41IDAgMCAwLS41LjV2MTJhLjUuNSAwIDAgMCAuNS41SDh2M2gxdi0zaDEuNWEuNS41IDAgMCAwIC41LS41di0xMmEuNS41IDAgMCAwLS41LS41SDlWNFpNNyA4djExaDNWOEg3Wm03LTFoOXYxaC05VjdabTkgNGgtOXYxaDl2LTFabS05IDRoOXYxaC05di0xWm05IDRoLTl2MWg5di0xWiIvPjwvc3ZnPid9LDM3MjIzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxN0E4IDggMCAxIDAgOSAxYTggOCAwIDAgMCAwIDE2Wk04IDZhMSAxIDAgMSAxIDIgMCAxIDEgMCAwIDEtMiAwWm0xIDJjLjQ5IDAgMSAuNTkgMSAxdjMuMDFjMCAuNDItLjUxLjk5LTEgLjk5cy0xLS41Ny0xLS45OVY5YzAtLjQxLjUxLTEgMS0xWiIvPjwvc3ZnPid9LDU4Mzg0MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjkgMTQuMVYyMmgxLjJ2LTcuOUgyM3YtMS4yaC03LjlWNWgtMS4ydjcuOUg2djEuMmg3Ljl6Ii8+PC9zdmc+J30sNjA0OTAxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNUg0VjNoMTB6bS05LTFoOFY0SDV6bTQuNS04YTIgMiAwIDAgMSAyIDJoLTFhMSAxIDAgMCAwLTEtMUg4LjI1YS43NS43NSAwIDAgMCAwIDEuNWgxLjVhMS43NSAxLjc1IDAgMSAxIDAgMy41SDkuNXYxaC0xdi0xYTIgMiAwIDAgMS0yLTJoMWExIDEgMCAwIDAgMSAxaDEuMjVhLjc1Ljc1IDAgMCAwIDAtMS41aC0xLjVhMS43NSAxLjc1IDAgMSAxIDAtMy41aC4yNVY1aDF6Ii8+PC9zdmc+J30sOTA3OTExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNUg0VjNoMTB6bS05LTFoOFY0SDV6bTctMy4yOS0yLjMzIDIuM0w4IDExLjZsLjY1LS43Ny45Ni44MUwxMS4zIDEwek05IDlINlY4aDN6bTMtMkg2VjZoNnoiLz48L3N2Zz4nfSw1NTEyODIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDYuNVYxNUg0VjNoNi41ek01IDE0aDhWNi45MUwxMC4wOSA0SDV6bTQtM0g2di0xaDN6bTMtMkg2VjhoNnoiLz48L3N2Zz4nfSw2MjcwNDEoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMS4wNSA2LjE3IDEuMDcgMUE2IDYgMCAwIDEgMTQgMTEuNTVWMTRhMiAyIDAgMCAxLTEuOCAxLjk5TDEyIDE2SDZsLS4yLS4wMUEyIDIgMCAwIDEgNCAxNHYtMi40NkE2IDYgMCAwIDEgNS42NiA3LjRsLjIyLS4yMiAxLjA3LTEuMDFMNiAzaDZ6TTYuNTcgNy45QTUgNSAwIDAgMCA1IDExLjU0VjE0YTEgMSAwIDAgMCAxIDFoNmExIDEgMCAwIDAgMS0xdi0yLjQ2YTUgNSAwIDAgMC0xLjU3LTMuNjNMMTAuNDggN0g3LjUyek03Ljk0IDZoMi4xMmwuNi0ySDcuMzR6Ii8+PC9zdmc+J30sMjM2NDI5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNEg0VjloM1Y3aDNWNGg0em0tOS0xaDJ2LTNINXptMyAwaDJWOEg4em0zIDBoMlY1aC0yeiIvPjwvc3ZnPid9LDUxNDE0MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNi41IDRjLjg5IDAgMS43Mi4xOCAyLjM1LjUuNi4yOSAxLjE1LjggMS4xNSAxLjV2Mi41OGwuMTYtLjA5QzEwLjc4IDguMTggMTEuNiA4IDEyLjUgOHMxLjcyLjE4IDIuMzUuNWMuNi4yOSAxLjE1LjggMS4xNSAxLjV2Mi4xYzAgLjctLjU5IDEuMTctMS4xNyAxLjQ0LS42Mi4zLTEuNDUuNDYtMi4zMy40NnMtMS43MS0uMTctMi4zMy0uNDZDOS41OSAxMy4yNyA5IDEyLjggOSAxMi4xdi0uNjRsLS4xNy4wOGMtLjYyLjMtMS40NS40Ni0yLjMzLjQ2cy0xLjcxLS4xNy0yLjMzLS40NkMzLjU4IDExLjI3IDMgMTAuOCAzIDEwLjFWNmMwLS43LjU2LTEuMjEgMS4xNi0xLjVDNC43OCA0LjE3IDUuNiA0IDYuNSA0bTMuNSA4LjFjMCAuMDguMDkuMy41OS41My40Ni4yMiAxLjE0LjM3IDEuOTEuMzdzMS40NS0uMTUgMS45MS0uMzdjLjUtLjIzLjU5LS40NS41OS0uNTN2LS42OGwtLjE1LjA5Yy0uNjMuMzEtMS40Ni40OS0yLjM1LjQ5cy0xLjcyLS4xOC0yLjM0LS41bC0uMTYtLjA4ek0xMi41IDljLS43NyAwLTEuNDQuMTYtMS45LjM5LS40OS4yNC0uNi40OS0uNi42MXMuMTEuMzcuNi42MWMuNDYuMjMgMS4xMy4zOSAxLjkuMzlzMS40NC0uMTYgMS45LS4zOWMuNDgtLjI0LjYtLjQ4LjYtLjZWMTBjMC0uMTItLjExLS4zNy0uNi0uNjFBNC40IDQuNCAwIDAgMCAxMi41IDltLTMuNjcuNTRjLS42Mi4zLTEuNDUuNDYtMi4zMy40NkE2IDYgMCAwIDEgNCA5LjQ2di42NGMwIC4wOC4wOS4zLjU5LjUzLjQ2LjIyIDEuMTQuMzcgMS45MS4zN3MxLjQ1LS4xNSAxLjkxLS4zN2MuNS0uMjMuNTktLjQ1LjU5LS41M3YtLjY0ek00IDguMWMwIC4wOC4wOS4zLjU5LjUzLjQ2LjIyIDEuMTQuMzcgMS45MS4zN3MxLjQ1LS4xNSAxLjkxLS4zN2MuNS0uMjMuNTktLjQ1LjU5LS41M3YtLjY4bC0uMTUuMDlDOC4yMiA3LjgyIDcuMzkgOCA2LjUgOHMtMS43Mi0uMTgtMi4zNC0uNUw0IDcuNDN6TTYuNSA1Yy0uNzcgMC0xLjQ0LjE2LTEuOS4zOS0uNDkuMjQtLjYuNDktLjYuNjFzLjExLjM3LjYuNjFjLjQ2LjIzIDEuMTMuMzkgMS45LjM5czEuNDQtLjE2IDEuOS0uMzljLjQ4LS4yNC42LS40OC42LS42VjZjMC0uMTItLjExLS4zNy0uNi0uNjFBNC40IDQuNCAwIDAgMCA2LjUgNSIvPjwvc3ZnPid9LDIwNTQ3MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTQgOWgydjRhMiAyIDAgMCAxLTIgMkg1bC0uMi0uMDFBMiAyIDAgMCAxIDMgMTMuMkwzIDEzVjNoMTF6TTQgMTNhMSAxIDAgMCAwIDEgMWg4VjRINHptMTAgMWExIDEgMCAwIDAgMS0xdi0zaC0xem0tMi0ySDV2LTFoN3pNOCA5SDVWNmgzem00IDBIOVY4aDN6TTYgOGgxVjdINnptNi0xSDlWNmgzeiIvPjwvc3ZnPid9LDcyNzI2OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSA4aDUuNDNsMi43LTQuOTguODkuNDgtNS4wMyA5LjI0YS41LjUgMCAwIDEtLjQ0LjI2SDV2M0g0VjJoMXptMCA0aDMuMjVsMS42My0zSDV6bTExLTNoLTMuODdsLjU3LTFIMTZ6Ii8+PC9zdmc+J30sOTIwODgoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMy4wNCA2LjQ0LjIuNGMuNDYuOTQuNTggMiAuMzYgMyAuNjUtLjEgMS4yNSAwIDEuOS4yMWwuNS4xNi0uMTguNDhhNC40IDQuNCAwIDAgMS0yLjMgMi40NXEuMzIuNDUuNTIuODZsLjI0LjQzLS40NC4yNHEtLjYzLjM0LTEuMy4zM2MtLjguMDEtMS42LS4zLTIuMi0uODNMMTAgMTVsLS45My0uMzcuMzEtLjc2YTMuMSAzLjEgMCAwIDEtMi45Ny0xLjgxbC0uMTktLjQ2LjQ2LS4ycS40LS4xNy44OC0uMzFhNCA0IDAgMCAxLS4xNy0zLjMybC4xNi0uNDUuNDUuMTRjLjY1LjIgMS4yNC40OCAxLjcuOTlhNSA1IDAgMCAxIDIuMi0yLjAybC40OC0uMjMuNDQtLjJ6bS0uODguOThhNCA0IDAgMCAwLTEuODggMi4xbC0uMDUuMTQtLjQ1IDEuMTUtLjQ4LTEuMTNhMiAyIDAgMCAwLTEuMS0xLjA5Yy0uMjIuOTUtLjAzIDEuODIuNiAyLjUzbC43NC44M2gtMS4xcS0uNDIuMDItLjgzLjE3Yy41NS42NSAxLjU2LjkzIDIuNDIuNjRsLjM3LS4xMy4yMS4zM2EyLjMgMi4zIDAgMCAwIDIuMjcgMS4wMSAyIDIgMCAwIDAtLjU2LS42MmwtMS4wMS0uNjUgMS4xNy0uMjVjLjgtLjE4IDEuNjctLjc3IDIuMTYtMS42YTMgMyAwIDAgMC0xLjYxLjE2bC0xLjEuNDMuNDYtMS4wOC4wNS0uMTNjLjM5LS45NC4zNi0yLS4wOC0yLjkxek04IDQuMDRxLjkxLjEzIDEuNjEuNjdsMS40Mi0xLjQyLjcuNy0xLjQyIDEuNDMtLjcyLjcyYTIuNSAyLjUgMCAxIDAtMy41IDMuNDNsLTEuMDUgMS4xLS42Ni42Ni0uNDguNDgtLjctLjdMNC43IDkuNnEtLjUyLS43LS42Ni0xLjZIMlY3aDIuMDRxLjEzLS44NC42LTEuNTFsLTEuNS0xLjUuNy0uNyAxLjQ4IDEuNDdBMy41IDMuNSAwIDAgMSA3IDQuMDRWMmgxeiIvPjwvc3ZnPid9LDI5MjM2MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAzYTcuMDIgNy4wMiAwIDAgMSA2LjUyIDkuNmwtLjE1LjQtMi4zNi0uNTQuMjItLjk4IDEuNS4zNWE2IDYgMCAwIDAtLjE3LTQuMDdsLTEuMTguNjgtLjUtLjg3IDEuMjItLjdhNiA2IDAgMCAwLTQuNi0yLjg1VjUuNWgtMVY0LjAyYTYgNiAwIDAgMC00LjYgMi44NWwxLjIyLjctLjUuODctMS4xOC0uNjhhNiA2IDAgMCAwLS4xNyA0LjA3bDEuNS0uMzUuMTIuNDkuMTEuNDktMS45NS40NC0uNDIuMS0uMTUtLjRBNy4wNiA3LjA2IDAgMCAxIDkgM20zIDMuNTctMi4xIDNBMSAxIDAgMCAxIDkgMTFhMSAxIDAgMSAxIC4wOC0ybDIuMS0zeiIvPjwvc3ZnPid9LDc5MTY5MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSAxNEg0di0zaDF6bTMgMEg3VjloMXptMyAwaC0xdi0zaDF6bTMgMGgtMVY5aDF6bTEtOS4xOEwxMC4zOCA4IDYuOTkgNS42IDMuNjIgOC4wMyAzIDcuMmw0LTIuODQgMy4zOSAyLjQyTDE0LjQ1IDR6Ii8+PC9zdmc+J30sOTg3OTkyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDEyaDExdjFINXYzSDRWMmgxem05LThjMCAyLjc2LS41MSA0LjUzLTEuNDQgNS42MS0uOTQgMS4xLTIuMjMgMS4zOC0zLjUgMS4zOC0uODggMC0yLjA3LS4yLTMuMDYtLjc2bC41LS44N2MuOC40NSAxLjguNjMgMi41Ny42MyAxLjEzIDAgMi4wNi0uMjQgMi43My0xLjAzLjctLjggMS4yLTIuMjggMS4yLTQuOTZ6Ii8+PC9zdmc+J30sMTU5MjQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDE2SDRWMmgxek0xNSA1LjVsLTIuNjYgMi40OS0uNjgtLjczTDEyLjkgNi4xQTcgNyAwIDAgMCA4LjI3IDlhNyA3IDAgMCAwIDQuNjQgMi45MWwtMS4yNS0xLjE3LjY4LS43M0wxNSAxMi41IDEyLjM0IDE1bC0uNjgtLjc0IDEuNC0xLjMyYTggOCAwIDAgMS01LjM0LTNBNyA3IDAgMCAwIDcgMTMuMDJWMTRINnYtLjk3YzAtNC4xMSAzLjA5LTcuNSA3LjA2LTcuOTdsLTEuNC0xLjMyLjY4LS43NHpNNyA0di45NnEwIDEuMS4zMSAyLjEtLjM5LjQyLS43My45YTggOCAwIDAgMS0uNTgtM1Y0eiIvPjwvc3ZnPid9LDI2MDYwMyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5hfSk7Y29uc3QgYT1mdW5jdGlvbigpe3ZhciBlPXtiYXNlOiJodHRwczovL3R3ZW1vamkubWF4Y2RuLmNvbS92LzEzLjAuMS8iLGV4dDoiLnBuZyIsc2l6ZToiNzJ4NzIiLGNsYXNzTmFtZToiZW1vamkiLGNvbnZlcnQ6e2Zyb21Db2RlUG9pbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBlP3BhcnNlSW50KGUsMTYpOmU7aWYodDw2NTUzNilyZXR1cm4gbCh0KTtyZXR1cm4gbCg1NTI5NisoKHQtPTY1NTM2KT4+MTApLDU2MzIwKygxMDIzJnQpKX0sdG9Db2RlUG9pbnQ6Z30sb25lcnJvcjpmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyKHRoaXMuYWx0LCExKSx0aGlzKX0scGFyc2U6ZnVuY3Rpb24odCxuKXtuJiYiZnVuY3Rpb24iIT10eXBlb2Ygbnx8KG49e2NhbGxiYWNrOm59KTtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiB0P3Y6aCkodCx7Y2FsbGJhY2s6bi5jYWxsYmFja3x8ZCxhdHRyaWJ1dGVzOiJmdW5jdGlvbiI9PXR5cGVvZiBuLmF0dHJpYnV0ZXM/bi5hdHRyaWJ1dGVzOnAsYmFzZToic3RyaW5nIj09dHlwZW9mIG4uYmFzZT9uLmJhc2U6ZS5iYXNlLApleHQ6bi5leHR8fGUuZXh0LHNpemU6bi5mb2xkZXJ8fChhPW4uc2l6ZXx8ZS5zaXplLCJudW1iZXIiPT10eXBlb2YgYT9hKyJ4IithOmEpLGNsYXNzTmFtZTpuLmNsYXNzTmFtZXx8ZS5jbGFzc05hbWUsb25lcnJvcjpuLm9uZXJyb3J8fGUub25lcnJvcn0pO3ZhciBhfSxyZXBsYWNlOmYsdGVzdDpmdW5jdGlvbihlKXtuLmxhc3RJbmRleD0wO3ZhciB0PW4udGVzdChlKTtyZXR1cm4gbi5sYXN0SW5kZXg9MCx0fX0sdD17IiYiOiImYW1wOyIsIjwiOiImbHQ7IiwiPiI6IiZndDsiLCInIjoiJiMzOTsiLCciJzoiJnF1b3Q7Igp9LG49Lyg/Olx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxfFx1ZDgzZFx1ZGM2Ylx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNmNcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzZkXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFtcdWRjNmItXHVkYzZkXSl8KD86XHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNlXHVkZGQxKSg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXSk/XHUyMDBkKD86XHUyNjk1XHVmZTBmfFx1MjY5Nlx1ZmUwZnxcdTI3MDhcdWZlMGZ8XHVkODNjW1x1ZGYzZVx1ZGY3M1x1ZGY3Y1x1ZGY4NFx1ZGY5M1x1ZGZhNFx1ZGZhOFx1ZGZlYlx1ZGZlZF18XHVkODNkW1x1ZGNiYlx1ZGNiY1x1ZGQyN1x1ZGQyY1x1ZGU4MFx1ZGU5Ml18XHVkODNlW1x1ZGRhZi1cdWRkYjNcdWRkYmNcdWRkYmRdKXwoPzpcdWQ4M2NbXHVkZmNiXHVkZmNjXXxcdWQ4M2RbXHVkZDc0XHVkZDc1XXxcdTI2ZjkpKCg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWZlMGYpXHUyMDBkW1x1MjY0MFx1MjY0Ml1cdWZlMGYpfCg/Olx1ZDgzY1tcdWRmYzNcdWRmYzRcdWRmY2FdfFx1ZDgzZFtcdWRjNmVcdWRjNzBcdWRjNzFcdWRjNzNcdWRjNzdcdWRjODFcdWRjODJcdWRjODZcdWRjODdcdWRlNDUtXHVkZTQ3XHVkZTRiXHVkZTRkXHVkZTRlXHVkZWEzXHVkZWI0LVx1ZGViNl18XHVkODNlW1x1ZGQyNlx1ZGQzNVx1ZGQzNy1cdWRkMzlcdWRkM2RcdWRkM2VcdWRkYjhcdWRkYjlcdWRkY2QtXHVkZGNmXHVkZGQ2LVx1ZGRkZF0pKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT9cdTIwMGRbXHUyNjQwXHUyNjQyXVx1ZmUwZnwoPzpcdWQ4M2RcdWRjNjhcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RcdWRjNjh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY4fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHUyNmE3XHVmZTBmfFx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1ZDgzY1x1ZGYwOHxcdWQ4M2NcdWRmZjRcdTIwMGRcdTI2MjBcdWZlMGZ8XHVkODNkXHVkYzE1XHUyMDBkXHVkODNlXHVkZGJhfFx1ZDgzZFx1ZGMzYlx1MjAwZFx1Mjc0NFx1ZmUwZnxcdWQ4M2RcdWRjNDFcdTIwMGRcdWQ4M2RcdWRkZTh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzZmXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZFx1ZGM2Zlx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZDNjXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGRkZVx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkZGVcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZGRmXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGRkZlx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2RcdWRjMDhcdTIwMGRcdTJiMWIpfFsjKjAtOV1cdWZlMGY/XHUyMGUzfCg/OlvCqcKuXHUyMTIyXHUyNjVmXVx1ZmUwZil8KD86XHVkODNjW1x1ZGMwNFx1ZGQ3MFx1ZGQ3MVx1ZGQ3ZVx1ZGQ3Zlx1ZGUwMlx1ZGUxYVx1ZGUyZlx1ZGUzN1x1ZGYyMVx1ZGYyNC1cdWRmMmNcdWRmMzZcdWRmN2RcdWRmOTZcdWRmOTdcdWRmOTktXHVkZjliXHVkZjllXHVkZjlmXHVkZmNkXHVkZmNlXHVkZmQ0LVx1ZGZkZlx1ZGZmM1x1ZGZmNVx1ZGZmN118XHVkODNkW1x1ZGMzZlx1ZGM0MVx1ZGNmZFx1ZGQ0OVx1ZGQ0YVx1ZGQ2Zlx1ZGQ3MFx1ZGQ3M1x1ZGQ3Ni1cdWRkNzlcdWRkODdcdWRkOGEtXHVkZDhkXHVkZGE1XHVkZGE4XHVkZGIxXHVkZGIyXHVkZGJjXHVkZGMyLVx1ZGRjNFx1ZGRkMS1cdWRkZDNcdWRkZGMtXHVkZGRlXHVkZGUxXHVkZGUzXHVkZGU4XHVkZGVmXHVkZGYzXHVkZGZhXHVkZWNiXHVkZWNkLVx1ZGVjZlx1ZGVlMC1cdWRlZTVcdWRlZTlcdWRlZjBcdWRlZjNdfFtcdTIwM2NcdTIwNDlcdTIxMzlcdTIxOTQtXHUyMTk5XHUyMWE5XHUyMWFhXHUyMzFhXHUyMzFiXHUyMzI4XHUyM2NmXHUyM2VkLVx1MjNlZlx1MjNmMVx1MjNmMlx1MjNmOC1cdTIzZmFcdTI0YzJcdTI1YWFcdTI1YWJcdTI1YjZcdTI1YzBcdTI1ZmItXHUyNWZlXHUyNjAwLVx1MjYwNFx1MjYwZVx1MjYxMVx1MjYxNFx1MjYxNVx1MjYxOFx1MjYyMFx1MjYyMlx1MjYyM1x1MjYyNlx1MjYyYVx1MjYyZVx1MjYyZlx1MjYzOC1cdTI2M2FcdTI2NDBcdTI2NDJcdTI2NDgtXHUyNjUzXHUyNjYwXHUyNjYzXHUyNjY1XHUyNjY2XHUyNjY4XHUyNjdiXHUyNjdmXHUyNjkyLVx1MjY5N1x1MjY5OVx1MjY5Ylx1MjY5Y1x1MjZhMFx1MjZhMVx1MjZhN1x1MjZhYVx1MjZhYlx1MjZiMFx1MjZiMVx1MjZiZFx1MjZiZVx1MjZjNFx1MjZjNVx1MjZjOFx1MjZjZlx1MjZkMVx1MjZkM1x1MjZkNFx1MjZlOVx1MjZlYVx1MjZmMC1cdTI2ZjVcdTI2ZjhcdTI2ZmFcdTI2ZmRcdTI3MDJcdTI3MDhcdTI3MDlcdTI3MGZcdTI3MTJcdTI3MTRcdTI3MTZcdTI3MWRcdTI3MjFcdTI3MzNcdTI3MzRcdTI3NDRcdTI3NDdcdTI3NTdcdTI3NjNcdTI3NjRcdTI3YTFcdTI5MzRcdTI5MzVcdTJiMDUtXHUyYjA3XHUyYjFiXHUyYjFjXHUyYjUwXHUyYjU1XHUzMDMwXHUzMDNkXHUzMjk3XHUzMjk5XSkoPzpcdWZlMGZ8KD8hXHVmZTBlKSl8KD86KD86XHVkODNjW1x1ZGZjYlx1ZGZjY118XHVkODNkW1x1ZGQ3NFx1ZGQ3NVx1ZGQ5MF18W1x1MjYxZFx1MjZmN1x1MjZmOVx1MjcwY1x1MjcwZF0pKD86XHVmZTBmfCg/IVx1ZmUwZSkpfCg/Olx1ZDgzY1tcdWRmODVcdWRmYzItXHVkZmM0XHVkZmM3XHVkZmNhXXxcdWQ4M2RbXHVkYzQyXHVkYzQzXHVkYzQ2LVx1ZGM1MFx1ZGM2Ni1cdWRjNjlcdWRjNmVcdWRjNzAtXHVkYzc4XHVkYzdjXHVkYzgxLVx1ZGM4M1x1ZGM4NS1cdWRjODdcdWRjYWFcdWRkN2FcdWRkOTVcdWRkOTZcdWRlNDUtXHVkZTQ3XHVkZTRiLVx1ZGU0Zlx1ZGVhM1x1ZGViNC1cdWRlYjZcdWRlYzBcdWRlY2NdfFx1ZDgzZVtcdWRkMGNcdWRkMGZcdWRkMTgtXHVkZDFjXHVkZDFlXHVkZDFmXHVkZDI2XHVkZDMwLVx1ZGQzOVx1ZGQzZFx1ZGQzZVx1ZGQ3N1x1ZGRiNVx1ZGRiNlx1ZGRiOFx1ZGRiOVx1ZGRiYlx1ZGRjZC1cdWRkY2ZcdWRkZDEtXHVkZGRkXXxbXHUyNzBhXHUyNzBiXSkpKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT98KD86XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzY1XHVkYjQwXHVkYzZlXHVkYjQwXHVkYzY3XHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM2M1x1ZGI0MFx1ZGM3NFx1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNzdcdWRiNDBcdWRjNmNcdWRiNDBcdWRjNzNcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZGU2XHVkODNjW1x1ZGRlOC1cdWRkZWNcdWRkZWVcdWRkZjFcdWRkZjJcdWRkZjRcdWRkZjYtXHVkZGZhXHVkZGZjXHVkZGZkXHVkZGZmXXxcdWQ4M2NcdWRkZTdcdWQ4M2NbXHVkZGU2XHVkZGU3XHVkZGU5LVx1ZGRlZlx1ZGRmMS1cdWRkZjRcdWRkZjYtXHVkZGY5XHVkZGZiXHVkZGZjXHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZThcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGU5XHVkZGViLVx1ZGRlZVx1ZGRmMC1cdWRkZjVcdWRkZjdcdWRkZmEtXHVkZGZmXXxcdWQ4M2NcdWRkZTlcdWQ4M2NbXHVkZGVhXHVkZGVjXHVkZGVmXHVkZGYwXHVkZGYyXHVkZGY0XHVkZGZmXXxcdWQ4M2NcdWRkZWFcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhXHVkZGVjXHVkZGVkXHVkZGY3LVx1ZGRmYV18XHVkODNjXHVkZGViXHVkODNjW1x1ZGRlZS1cdWRkZjBcdWRkZjJcdWRkZjRcdWRkZjddfFx1ZDgzY1x1ZGRlY1x1ZDgzY1tcdWRkZTZcdWRkZTdcdWRkZTktXHVkZGVlXHVkZGYxLVx1ZGRmM1x1ZGRmNS1cdWRkZmFcdWRkZmNcdWRkZmVdfFx1ZDgzY1x1ZGRlZFx1ZDgzY1tcdWRkZjBcdWRkZjJcdWRkZjNcdWRkZjdcdWRkZjlcdWRkZmFdfFx1ZDgzY1x1ZGRlZVx1ZDgzY1tcdWRkZTgtXHVkZGVhXHVkZGYxLVx1ZGRmNFx1ZGRmNi1cdWRkZjldfFx1ZDgzY1x1ZGRlZlx1ZDgzY1tcdWRkZWFcdWRkZjJcdWRkZjRcdWRkZjVdfFx1ZDgzY1x1ZGRmMFx1ZDgzY1tcdWRkZWFcdWRkZWMtXHVkZGVlXHVkZGYyXHVkZGYzXHVkZGY1XHVkZGY3XHVkZGZjXHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZjFcdWQ4M2NbXHVkZGU2LVx1ZGRlOFx1ZGRlZVx1ZGRmMFx1ZGRmNy1cdWRkZmJcdWRkZmVdfFx1ZDgzY1x1ZGRmMlx1ZDgzY1tcdWRkZTZcdWRkZTgtXHVkZGVkXHVkZGYwLVx1ZGRmZl18XHVkODNjXHVkZGYzXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYS1cdWRkZWNcdWRkZWVcdWRkZjFcdWRkZjRcdWRkZjVcdWRkZjdcdWRkZmFcdWRkZmZdfFx1ZDgzY1x1ZGRmNFx1ZDgzY1x1ZGRmMnxcdWQ4M2NcdWRkZjVcdWQ4M2NbXHVkZGU2XHVkZGVhLVx1ZGRlZFx1ZGRmMC1cdWRkZjNcdWRkZjctXHVkZGY5XHVkZGZjXHVkZGZlXXxcdWQ4M2NcdWRkZjZcdWQ4M2NcdWRkZTZ8XHVkODNjXHVkZGY3XHVkODNjW1x1ZGRlYVx1ZGRmNFx1ZGRmOFx1ZGRmYVx1ZGRmY118XHVkODNjXHVkZGY4XHVkODNjW1x1ZGRlNi1cdWRkZWFcdWRkZWMtXHVkZGY0XHVkZGY3LVx1ZGRmOVx1ZGRmYlx1ZGRmZC1cdWRkZmZdfFx1ZDgzY1x1ZGRmOVx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZTlcdWRkZWItXHVkZGVkXHVkZGVmLVx1ZGRmNFx1ZGRmN1x1ZGRmOVx1ZGRmYlx1ZGRmY1x1ZGRmZl18XHVkODNjXHVkZGZhXHVkODNjW1x1ZGRlNlx1ZGRlY1x1ZGRmMlx1ZGRmM1x1ZGRmOFx1ZGRmZVx1ZGRmZl18XHVkODNjXHVkZGZiXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYVx1ZGRlY1x1ZGRlZVx1ZGRmM1x1ZGRmYV18XHVkODNjXHVkZGZjXHVkODNjW1x1ZGRlYlx1ZGRmOF18XHVkODNjXHVkZGZkXHVkODNjXHVkZGYwfFx1ZDgzY1x1ZGRmZVx1ZDgzY1tcdWRkZWFcdWRkZjldfFx1ZDgzY1x1ZGRmZlx1ZDgzY1tcdWRkZTZcdWRkZjJcdWRkZmNdfFx1ZDgzY1tcdWRjY2ZcdWRkOGVcdWRkOTEtXHVkZDlhXHVkZGU2LVx1ZGRmZlx1ZGUwMVx1ZGUzMi1cdWRlMzZcdWRlMzgtXHVkZTNhXHVkZTUwXHVkZTUxXHVkZjAwLVx1ZGYyMFx1ZGYyZC1cdWRmMzVcdWRmMzctXHVkZjdjXHVkZjdlLVx1ZGY4NFx1ZGY4Ni1cdWRmOTNcdWRmYTAtXHVkZmMxXHVkZmM1XHVkZmM2XHVkZmM4XHVkZmM5XHVkZmNmLVx1ZGZkM1x1ZGZlMC1cdWRmZjBcdWRmZjRcdWRmZjgtXHVkZmZmXXxcdWQ4M2RbXHVkYzAwLVx1ZGMzZVx1ZGM0MFx1ZGM0NFx1ZGM0NVx1ZGM1MS1cdWRjNjVcdWRjNmFcdWRjNmZcdWRjNzktXHVkYzdiXHVkYzdkLVx1ZGM4MFx1ZGM4NFx1ZGM4OC1cdWRjYTlcdWRjYWItXHVkY2ZjXHVkY2ZmLVx1ZGQzZFx1ZGQ0Yi1cdWRkNGVcdWRkNTAtXHVkZDY3XHVkZGE0XHVkZGZiLVx1ZGU0NFx1ZGU0OC1cdWRlNGFcdWRlODAtXHVkZWEyXHVkZWE0LVx1ZGViM1x1ZGViNy1cdWRlYmZcdWRlYzEtXHVkZWM1XHVkZWQwLVx1ZGVkMlx1ZGVkNS1cdWRlZDdcdWRlZWJcdWRlZWNcdWRlZjQtXHVkZWZjXHVkZmUwLVx1ZGZlYl18XHVkODNlW1x1ZGQwZFx1ZGQwZVx1ZGQxMC1cdWRkMTdcdWRkMWRcdWRkMjAtXHVkZDI1XHVkZDI3LVx1ZGQyZlx1ZGQzYVx1ZGQzY1x1ZGQzZi1cdWRkNDVcdWRkNDctXHVkZDc2XHVkZDc4XHVkZDdhLVx1ZGRiNFx1ZGRiN1x1ZGRiYVx1ZGRiYy1cdWRkY2JcdWRkZDBcdWRkZGUtXHVkZGZmXHVkZTcwLVx1ZGU3NFx1ZGU3OC1cdWRlN2FcdWRlODAtXHVkZTg2XHVkZTkwLVx1ZGVhOFx1ZGViMC1cdWRlYjZcdWRlYzAtXHVkZWMyXHVkZWQwLVx1ZGVkNl18W1x1MjNlOS1cdTIzZWNcdTIzZjBcdTIzZjNcdTI2N2VcdTI2Y2VcdTI3MDVcdTI3MjhcdTI3NGNcdTI3NGVcdTI3NTMtXHUyNzU1XHUyNzk1LVx1Mjc5N1x1MjdiMFx1MjdiZlx1ZTUwYV0pfFx1ZmUwZi9nLGE9L1x1RkUwRi9nLGk9U3RyaW5nLmZyb21DaGFyQ29kZSg4MjA1KSxvPS9bJjw+JyJdL2cscz0vXig/OmlmcmFtZXxub2ZyYW1lc3xub3NjcmlwdHxzY3JpcHR8c2VsZWN0fHN0eWxlfHRleHRhcmVhKSQvLGw9U3RyaW5nLmZyb21DaGFyQ29kZQo7cmV0dXJuIGU7ZnVuY3Rpb24gcihlLHQpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0P2UucmVwbGFjZShhLCIiKTplKX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIiIuY29uY2F0KHQuYmFzZSx0LnNpemUsIi8iLGUsdC5leHQpfWZ1bmN0aW9uIHUoZSx0KXtmb3IodmFyIG4sYSxpPWUuY2hpbGROb2RlcyxvPWkubGVuZ3RoO28tLTspMz09PShhPShuPWlbb10pLm5vZGVUeXBlKT90LnB1c2gobik6MSE9PWF8fCJvd25lclNWR0VsZW1lbnQiaW4gbnx8cy50ZXN0KG4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl8fHUobix0KTtyZXR1cm4gdH1mdW5jdGlvbiBjKGUpe3JldHVybiBnKGUuaW5kZXhPZihpKTwwP2UucmVwbGFjZShhLCIiKTplKX1mdW5jdGlvbiBoKGUsdCl7Zm9yKHZhciBhLGksbyxzLGwsZCxoLHYsbSxwLGYsZyxiLHc9dShlLFtdKSxDPXcubGVuZ3RoO0MtLTspe2ZvcihvPSExLHM9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGQ9KGw9d1tDXSkubm9kZVZhbHVlLHY9MDtoPW4uZXhlYyhkKTspe2lmKChtPWguaW5kZXgpIT09diYmcy5hcHBlbmRDaGlsZChyKGQuc2xpY2UodixtKSwhMCkpLGc9YyhmPWhbMF0pLHY9bStmLmxlbmd0aCxiPXQuY2FsbGJhY2soZyx0KSxnJiZiKXtmb3IoaSBpbihwPW5ldyBJbWFnZSkub25lcnJvcj10Lm9uZXJyb3IscC5zZXRBdHRyaWJ1dGUoImRyYWdnYWJsZSIsImZhbHNlIiksYT10LmF0dHJpYnV0ZXMoZixnKSlhLmhhc093blByb3BlcnR5KGkpJiYwIT09aS5pbmRleE9mKCJvbiIpJiYhcC5oYXNBdHRyaWJ1dGUoaSkmJnAuc2V0QXR0cmlidXRlKGksYVtpXSk7cC5jbGFzc05hbWU9dC5jbGFzc05hbWUscC5hbHQ9ZixwLnNyYz1iLG89ITAscy5hcHBlbmRDaGlsZChwKX1wfHxzLmFwcGVuZENoaWxkKHIoZiwhMSkpLHA9bnVsbH1vJiYodjxkLmxlbmd0aCYmcy5hcHBlbmRDaGlsZChyKGQuc2xpY2UodiksITApKSxsLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHMsbCkpfXJldHVybiBlfWZ1bmN0aW9uIHYoZSx0KXtyZXR1cm4gZihlLChmdW5jdGlvbihlKXt2YXIgbixhLGk9ZSxzPWMoZSksbD10LmNhbGxiYWNrKHMsdCk7aWYocyYmbCl7Zm9yKGEgaW4gaT0iPGltZyAiLmNvbmNhdCgnY2xhc3M9IicsdC5jbGFzc05hbWUsJyIgJywnZHJhZ2dhYmxlPSJmYWxzZSIgJywnYWx0PSInLGUsJyInLCcgc3JjPSInLGwsJyInKSxuPXQuYXR0cmlidXRlcyhlLHMpKW4uaGFzT3duUHJvcGVydHkoYSkmJjAhPT1hLmluZGV4T2YoIm9uIikmJi0xPT09aS5pbmRleE9mKCIgIithKyI9IikmJihpPWkuY29uY2F0KCIgIixhLCc9IicsblthXS5yZXBsYWNlKG8sbSksJyInKSk7aT1pLmNvbmNhdCgiLz4iKX1yZXR1cm4gaX0pKX1mdW5jdGlvbiBtKGUpe3JldHVybiB0W2VdfWZ1bmN0aW9uIHAoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBmKGUsdCl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKG4sdCl9ZnVuY3Rpb24gZyhlLHQpe2Zvcih2YXIgbj1bXSxhPTAsaT0wLG89MDtvPGUubGVuZ3RoOylhPWUuY2hhckNvZGVBdChvKyspLGk/KG4ucHVzaCgoNjU1MzYrKGktNTUyOTY8PDEwKSsoYS01NjMyMCkpLnRvU3RyaW5nKDE2KSksaT0wKTo1NTI5Njw9YSYmYTw9NTYzMTk/aT1hOm4ucHVzaChhLnRvU3RyaW5nKDE2KSk7cmV0dXJuIG4uam9pbih0fHwiLSIpfX0oKX0sODU2NzcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse25hbm9pZDooKT0+YX0pO2xldCBhPShlPTIxKT0+Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSkucmVkdWNlKCgoZSx0KT0+ZSs9KHQmPTYzKTwzNj90LnRvU3RyaW5nKDM2KTp0PDYyPyh0LTI2KS50b1N0cmluZygzNikudG9VcHBlckNhc2UoKTp0PjYyPyItIjoiXyIpLCIiKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49588.15426b22279561d9880b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.847Z","timestamp":1785136901847,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49588.15426b22279561d9880b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-9ba\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2cbd8309532e10eb2e57b9439eed4a20\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":2490,"size_decoded":1657,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2490), with no line terminators","md5":"b69ac6c5f50f6be0b66598710cd79bfa","sha1":"06e06ad04e9ed372adce0da403a670e156ecc407","sha256":"f88f6ab92a6609bff0df47d38410097a31ee5b168fb2fb09b25bea1a75f04506","sha512":"7b07fcb434379fefb26f9ab3742cc2c9b4af1c86b23e59c90a6bc7032dc0c479614578a20a1440b5c43c345f0288fb12f043ee60ce233842e1e8072147ad9743","ssdeep":"","tlshash":"50512156a2e02dba7f63b55256d8f64c91b1d870f80328ee7751aedd02c66fb0070b1d","first_seen":"2026-07-19T21:33:33.790193Z","last_seen":"2026-08-10T05:01:44.153347Z","times_seen":119,"resource_available":false,"data":"LmZsb2F0aW5nQXJyb3ctYzFPc0hQdFl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApKTtjbGlwLXBhdGg6cGF0aCgiTSAwLDIgTCAxMiwyIEwgMTIsNiBMIDYsMTAgTCAwLDYgTCAwLDIiKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTJweH0uYm90dG9tLWMxT3NIUHRZLC5ib3R0b20tbGVmdC1jMU9zSFB0WSwuYm90dG9tLXJpZ2h0LWMxT3NIUHRZLC50b3AtYzFPc0hQdFksLnRvcC1sZWZ0LWMxT3NIUHRZLC50b3AtcmlnaHQtYzFPc0hQdFl7bGVmdDp2YXIoLS11aS1saWItaW4tdG9vbHRpcC1sZWZ0T2Zmc2V0LGNhbGMoNTAlIC0gNnB4KSl9LmJvdHRvbS1jMU9zSFB0WSwuYm90dG9tLWxlZnQtYzFPc0hQdFksLmJvdHRvbS1yaWdodC1jMU9zSFB0WXtib3R0b206Y2FsYygxMDAlIC0gNnB4KTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnRvcC1jMU9zSFB0WSwudG9wLWxlZnQtYzFPc0hQdFksLnRvcC1yaWdodC1jMU9zSFB0WXt0b3A6Y2FsYygxMDAlIC0gNnB4KX0ubGVmdC1ib3R0b20tYzFPc0hQdFksLmxlZnQtYzFPc0hQdFksLmxlZnQtdG9wLWMxT3NIUHRZLC5yaWdodC1ib3R0b20tYzFPc0hQdFksLnJpZ2h0LWMxT3NIUHRZLC5yaWdodC10b3AtYzFPc0hQdFl7dG9wOnZhcigtLXVpLWxpYi1pbi10b29sdGlwLXRvcE9mZnNldCxjYWxjKDUwJSAtIDZweCkpfS5sZWZ0LWJvdHRvbS1jMU9zSFB0WSwubGVmdC1jMU9zSFB0WSwubGVmdC10b3AtYzFPc0hQdFl7bGVmdDpjYWxjKDEwMCUgLSA2cHgpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0ucmlnaHQtYm90dG9tLWMxT3NIUHRZLC5yaWdodC1jMU9zSFB0WSwucmlnaHQtdG9wLWMxT3NIUHRZe3JpZ2h0OmNhbGMoMTAwJSAtIDZweCk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmVuZFNsb3RXcmFwcGVyLUh5TmpIU0RXe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtkaXNwbGF5OmZsZXg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4fS5kaXZpZGVyLUh5TmpIU0RXey0tdWktbGliLWRpdmlkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCl9LmVuZFNsb3RDb250ZW50LUh5TmpIU0RXe3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0udG9vbHRpcEJhc2VXcmFwcGVyLUh5TmpIU0RXe2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMHZ3O21pbi13aWR0aDowO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcjt3aGl0ZS1zcGFjZTpub3JtYWx9LnRyYW5zcGFyZW50LUh5TmpIU0RXe29wYWNpdHk6MH0ub3BhcXVlLUh5TmpIU0RXe29wYWNpdHk6MX0uZGlzYWJsZUludGVyYWN0aXZlLUh5TmpIU0RXe3BvaW50ZXItZXZlbnRzOm5vbmV9LnRvb2x0aXBCYXNlLUh5TmpIU0RXe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS11aS1saWItdG9vbHRpcC1ib3JkZXItcmFkaXVzLDRweCk7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7cGFkZGluZzo2cHggOHB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEzcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmNvbnRlbnRXcmFwcGVyLUh5TmpIU0RXe2Rpc3BsYXk6ZmxleH0uY29udGVudC1IeU5qSFNEV3tib3gtc2l6aW5nOmJvcmRlci1ib3g7bWF4LXdpZHRoOjQwMHB4fS50b29sdGlwU3RhdGVsZXNzLWt3czVxZWRXey0tdWktbGliLWluLXRvb2x0aXAtbGVmdE9mZnNldDpjbGFtcCg4cHgsY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WCkqdmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCkgLSA2cHgpLGNhbGModmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCkgLSAyMHB4KSk7LS11aS1saWItaW4tdG9vbHRpcC10b3BPZmZzZXQ6Y2xhbXAoNnB4LGNhbGModmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRQb2ludFkpKnZhcigtLXVpLWxpYi1vdXQtcG9zaXRpb25lci1jb250ZW50SGVpZ2h0KSAtIDZweCksY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudEhlaWdodCkgLSAxOHB4KSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCXYO.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.589Z","timestamp":1785136905589,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCXYO.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32816.355d75b21ae4b534a849.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.941Z","timestamp":1785136900941,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32816.355d75b21ae4b534a849.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: e8218861f73d375d3cc12f0208486c2b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4138,"size_decoded":1890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4138), with no line terminators","md5":"1769fde9875fdbb634439ca894f9dbe9","sha1":"44ac405e2cfa40ef07cbca4bf97d2226e51258d3","sha256":"8b2250108bfd0dcb2848b28cd1bf2fec55df68d3105b3bf87664cfd86cf2ff10","sha512":"b537406a03c65c8c9859d1e4cb17c37e062cc846b9e763763bbbfa0670ed74ffd1a3f571e5e7654a7b809c6810990a95babd6183fced394492ae1095b4193bcf","ssdeep":"48:D+GIP+GI2LrVLjVQqpz5Cw83JJMeFtQSphXivmRE0r/VC5WNHC5mNVd:DaRLBLpQqpVv0JKOTphXiuREIVweHwmZ","tlshash":"f5814858835c4dafbb2647826762fc582164e3feb2324b6c534924fd46b4d6d39332c5","first_seen":"2026-07-16T11:36:17.974176Z","last_seen":"2026-08-10T08:00:01.05669Z","times_seen":2488,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtODRvdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTg0b3Q6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBhaXIteHdHc1NYUjB7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LnBhaXIteHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ucGFpci14d0dzU1hSMC54eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnBhaXIteHdHc1NYUjAuc21hbGwteHdHc1NYUjB7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucGFpci14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ucGFpci14d0dzU1hSMC5sYXJnZS14d0dzU1hSMHtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5wYWlyLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NTZweDt3aWR0aDo1NnB4fS5wYWlyLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjB7aGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fS5wYWlyLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0ucGFpci14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjEycHh9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHh9LmxvZ28teHdHc1NYUjB7Ym9yZGVyLXJhZGl1czo1MCV9LmxvZ28teHdHc1NYUjA6bm90KGltZyl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC04NG90KX0ubG9nby14d0dzU1hSMDpmaXJzdC1jaGlsZCwubG9nby14d0dzU1hSMDpsYXN0LWNoaWxke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHg7d2lkdGg6OHB4fS5sb2dvLXh3R3NTWFIwLnh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCl9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOHB4KX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LmxvZ28teHdHc1NYUjAueHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5sb2dvLXh3R3NTWFIwLnNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTBweCwxMHB4KX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LDEycHgpfS5sb2dvLXh3R3NTWFIwLmxhcmdlLXh3R3NTWFIwe2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmxvZ28teHdHc1NYUjAubGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6MzhweDt3aWR0aDozOHB4fS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCl9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS5sb2dvLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxMTRweDt3aWR0aDoxMTRweH0ubG9nby14d0dzU1hSMC54eHhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTU0cHgsNTRweCl9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwOmxhc3QtY2hpbGR7b3V0bGluZToxcHggc29saWQgdmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1iYWNrZ3JvdW5kKX0ubG9nby14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zLjc0ODgyIDExLjU2MzRDNS4xNDIzOSAxMC4xMjM2IDYgOC4xNjE5OCA2IDZDNiAzLjgzODAyIDUuMTQyMzkgMS44NzYzNSAzLjc0ODgyIDAuNDM2NjE3QzQuNDQzOTYgMC4xNTUwNTYgNS4yMDM4NyAtNS45NDEzNmUtMDcgNiAtNS4yNDUzN2UtMDdDOS4zMTM3MSAtMi4zNDg0M2UtMDcgMTIgMi42ODYyOSAxMiA2QzEyIDkuMzEzNzEgOS4zMTM3MSAxMiA2IDEyQzUuMjAzODcgMTIgNC40NDM5NiAxMS44NDQ5IDMuNzQ4ODIgMTEuNTYzNFoiKX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTEyIDBIMHY0YTggOCAwIDAgMSA4IDhoNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2Ni4yNTRBOCA4IDAgMCAxIDUuNzQ2IDEySDEyWiIpfS5sb2dvLXh3R3NTWFIwLnhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE2IDhBOCA4IDAgMCAwIC4zIDZhMTAgMTAgMCAwIDEgOS43IDkuN0E4IDggMCAwIDAgMTYgOFoiKX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE4IDBIMHY4LjA0QTExIDExIDAgMCAxIDkuOTYgMThIMThWMFoiKX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0ubG9nby14d0dzU1hSMC5sYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTMyIDBIMHYxNGExOCAxOCAwIDAgMSAxOCAxOGgxNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTM4IDBIMHYxNi4wMkwxIDE2YTIxIDIxIDAgMCAxIDIwLjk4IDIySDM4VjBaIil9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTc2IDBIMHYzMi4wNUE0MiA0MiAwIDAgMSA0My45NSA3Nkg3NlYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0uc2tlbGV0b24teHdHc1NYUjB7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tZGFyay5kNmQwN2JmZjkyZDdlNGRmZjVhZC5zdmcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84306.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.244Z","timestamp":1785136901244,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/84306.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58abe8-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 10:01:12 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d9cb9d517e210fe4175f4e5bf3dd6f84\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/20354.2ddf934f8edc2802d90a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.262Z","timestamp":1785136901262,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/20354.2ddf934f8edc2802d90a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4c0f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 95efcab5c5008c5bbf44bd02883d1001\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19471,"size_decoded":3320,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (19471), with no line terminators","md5":"862a961c39b7410a362cc06ade612375","sha1":"0c7a395968e24e835ade4687d6738865085e0e3a","sha256":"bab109cd7e0f582023950c24ed2f621684d739836c3dd4a8ec06defa4fe2c79a","sha512":"4349960f67b7538f48f9093de4c5f5d571167e0bfa535df0fa4bece73a757b23be6f06dc372fbd20958defade650741ef4ea329a326b707bf80a291c3f7c8fe0","ssdeep":"96:oeExfo1CyDi6qKiVncAB009Fb0g7i3J/KjA+f7GRX6fXGq/J5FzalqIsoNIhYnwa:o/ty+6IcpcA+f7GRX6fXGq1JIsqGsM0V","tlshash":"ab9259dbb1d4a8307dd161e9d35a316ca7d1ec38f9132cc3faa9e45248c1bf224b8566","first_seen":"2026-07-16T13:40:49.886491Z","last_seen":"2026-08-10T08:00:01.090474Z","times_seen":544,"resource_available":false,"data":"LmJ1dHRvbi1tTEVoQ3JWd3thbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDp2YXIoLS11aS1saWItc3F1YXJlQnV0dG9uLWJhY2tncm91bmQsdmFyKC0tdWktbGliLWJ1dHRvbi1jb2xvci1iZyx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmcpKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tYm9yZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1idXR0b24tY29sb3ItYm9yZGVyLHZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXIpKSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcix2YXIoLS11aS1saWItYnV0dG9uLWNvbG9yLWNvbnRlbnQsdmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3IpKSk7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy1pbmxpbmUtZW5kOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tcGFkZGluZy1yaWdodCx2YXIoLS11aS1saWItYnV0dG9uLXBhZGRpbmctcmlnaHQsdmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctcmlnaHQpKSk7cGFkZGluZy10b3A6MDtwYWRkaW5nLWlubGluZS1zdGFydDp2YXIoLS11aS1saWItc3F1YXJlQnV0dG9uLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItYnV0dG9uLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1sZWZ0KSkpOy0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zcXVhcmVCdXR0b24tc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZSw0KSk7LS11aS1saWItc2l6ZS1kZWYteHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDIpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSkpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTstLXVpLWxpYi1zaXplLWRlZi1sYXJnZTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA1KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkpKTstLXVpLWxpYi1zaXplLWRlZi14bGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNikgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpKSk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24taGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMzRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjQwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjQ4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo1NnB4KTtoZWlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWhlaWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1ob3I6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSo3cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjExcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMzFweCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1sZWZ0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWhvcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1yaWdodDp2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1ob3IpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxMnB4KTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1yYWRpdXMpO3RyYW5zaXRpb246dmFyKC0tdWktbGliLXNxdWFyZUJ1dHRvbi10cmFuc2l0aW9uKX0uYnV0dG9uLW1MRWhDclZ3OmFmdGVye2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcmFkaXVzKSArIDRweCl9LmJ1dHRvbi1tTEVoQ3JWd3tvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYnV0dG9uLW1MRWhDclZ3OmZvY3Vze291dGxpbmU6bm9uZX0uYnV0dG9uLW1MRWhDclZ3OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5idXR0b24tbUxFaENyVnc6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyAxMHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNXB4O3dpZHRoOmNhbGMoMTAwJSArIDEwcHgpO3otaW5kZXg6MX0uYnV0dG9uLW1MRWhDclZ3OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1tTEVoQ3JWdzpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1tTEVoQ3JWdzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLW1MRWhDclZ3OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpfS5idXR0b24tbUxFaENyVncuaWNvbk9ubHktbUxFaENyVnd7aGVpZ2h0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1oZWlnaHQpO3dpZHRoOnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1oZWlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctbGVmdDowOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctcmlnaHQ6MH0uYnV0dG9uLW1MRWhDclZ3Om5vdCguaWNvbk9ubHktbUxFaENyVncpey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctaG9yLXdpdGgtaWNvbjpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjdweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIzcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSozMXB4KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1tYXJnaW4tYmV0d2Vlbi1pY29uczpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo4cHgpfS5idXR0b24tbUxFaENyVnc6bm90KC5pY29uT25seS1tTEVoQ3JWdykud2l0aFN0YXJ0U2xvdC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWxlZnQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctaG9yLXdpdGgtaWNvbil9LmJ1dHRvbi1tTEVoQ3JWdzpub3QoLmljb25Pbmx5LW1MRWhDclZ3KS53aXRoRW5kU2xvdC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLXJpZ2h0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWhvci13aXRoLWljb24pfS5idXR0b24tbUxFaENyVnc6bm90KC5pY29uT25seS1tTEVoQ3JWdykgLnN0YXJ0U2xvdFdyYXAtbUxFaENyVnd7bWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLW1hcmdpbi1iZXR3ZWVuLWljb25zKX0uYnV0dG9uLW1MRWhDclZ3Om5vdCguaWNvbk9ubHktbUxFaENyVncpIC5lbmRTbG90V3JhcC1tTEVoQ3JWd3ttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1tYXJnaW4tYmV0d2Vlbi1pY29ucyl9LnhzbWFsbC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1zaXplOjJ9LnNtYWxsLW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXNpemU6M30ubWVkaXVtLW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXNpemU6NH0ubGFyZ2UtbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZTo1fS54bGFyZ2UtbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZTo2fS5jb250ZW50LW1MRWhDclZ3e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxOHB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjQwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNTAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo2MDApO2xpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjI0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjI0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lmljb25Pbmx5LW1MRWhDclZ3IC5jb250ZW50LW1MRWhDclZ3e2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVufS5saW5rLW1MRWhDclZ3e2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5ibHVlLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJsdWUtbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ibHVlLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LmJsdWUtbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ibHVlLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ibHVlLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0uZ3JheS1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmdyYXktbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX19fS5ncmF5LW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZCl9LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfX19LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX0uZ3JlZW4tbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncmVlbi1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9fX0uZ3JlZW4tbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzKX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0ucmVkLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnJlZC1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfX19LnJlZC1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5yZWQtbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWRlZmF1bHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnJlZC1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9fX0ucmVkLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0uYmxhY2stbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJsYWNrLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKX19fS5ibGFjay1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5ibGFjay1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYmxhY2stbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fX0uYmxhY2stbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5wcmltYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5wcmltYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLnNlY29uZGFyeS1tTEVoQ3JWd1thcmlhLWRpc2FibGVkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpO2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uc2Vjb25kYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS1jb2xvci1vdGhlci10cmFuc3BhcmVudCl9LnNsb3QtbUxFaENyVnd7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zdHJldGNoLW1MRWhDclZ3e3dpZHRoOjEwMCV9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3LmFkanVzdFBvc2l0aW9uLW1MRWhDclZ3Om5vdCguZmlyc3RSb3ctbUxFaENyVncpe21hcmdpbi10b3A6LTFweH0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncuYWRqdXN0UG9zaXRpb24tbUxFaENyVnc6bm90KC5maXJzdENvbC1tTEVoQ3JWdyl7bWFyZ2luLWlubGluZS1zdGFydDotMXB4O21heC13aWR0aDpjYWxjKDEwMCUgKyAxcHgpO3dpZHRoOmNhbGMoMTAwJSArIDFweCl9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3OmZvY3Vze3otaW5kZXg6MX0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVnc6Zm9jdXMtdmlzaWJsZXt6LWluZGV4OjF9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7ei1pbmRleDphdXRvfS5idXR0b24tbUxFaENyVncuZ3JvdXBlZC1tTEVoQ3JWdy5uby1jb3JuZXItdG9wLWxlZnQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtbGVmdC1tTEVoQ3JWdzphZnRlcntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjB9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtcmlnaHQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtcmlnaHQtbUxFaENyVnc6YWZ0ZXJ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncubm8tY29ybmVyLWJvdHRvbS1yaWdodC1tTEVoQ3JWdywuYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncubm8tY29ybmVyLWJvdHRvbS1yaWdodC1tTEVoQ3JWdzphZnRlcntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5idXR0b24tbUxFaENyVncuZ3JvdXBlZC1tTEVoQ3JWdy5uby1jb3JuZXItYm90dG9tLWxlZnQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci1ib3R0b20tbGVmdC1tTEVoQ3JWdzphZnRlcntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LnRleHRXcmFwLW1MRWhDclZ3e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5tdWx0aWxpbmVDb250ZW50LW1MRWhDclZ3e2hlaWdodDptaW4tY29udGVudDtwYWRkaW5nOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqOXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo5cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMjNweCk7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqNnB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo2cHgpfS5wcmltYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjE2cHgpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjYwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjYwMCk7bGluZS1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjI0cHgpO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5wcmltYXJ5VGV4dC1tTEVoQ3JWdywuc2Vjb25kYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO292ZXJmbG93OmhpZGRlbn0uc2Vjb25kYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMTNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjEzcHgpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjQwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjQwMCk7bGluZS1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjE4cHgpO3RleHQtdHJhbnNmb3JtOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tc2Vjb25kYXJ5LXRleHQtdHJhbnNmb3JtKTt3aGl0ZS1zcGFjZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoxOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMThweCk7ZGlzcGxheTotd2Via2l0LWJveDtsZXR0ZXItc3BhY2luZzpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKi40cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKi40cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSowICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSowICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMCk7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttYXgtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpKjIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSTORJ.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.619Z","timestamp":1785136905619,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSTORJ.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/img/clients-logo-05.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.549Z","timestamp":1785136899549,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/clients-logo-05.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/png\r\nContent-Length: 13819\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":13819,"size_decoded":14030,"mime_type":"image/png","magic":"PNG image data, 280 x 100, 8-bit/color RGBA, non-interlaced","md5":"32b96d9461314a2b8a2a13b5ff2c4002","sha1":"7865e35459f48d3464fa6c7a5d6714f9049ef3ad","sha256":"039efeeffa143c48f38e94d15640321eedfac7d7308392a67c8873d5afc839bc","sha512":"40a13571ab0ed900d169f9c106346ec77936ee413b5f8f4ea17319e97fb0b1536f9b11096bd99c341103f07f2e1e032bcdf4979f2793bd98ffc9b4531f7e97c4","ssdeep":"384:pcwF2IfxHWgOUh0/iLRuTC4KkPpY7vz3I8A696Y5I:pcwxHWgOglRuTC4Kkm/nAa6Y5I","tlshash":"8252bf0e9115d54d2a0fe58225fa9387e6ed0d80d09b108bddc3d4de76361867e10b9f","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-08-01T11:22:31.03345Z","times_seen":246,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAARgAAABkCAYAAABdGS+CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU0NTdFNzA1MTEyMTExRUFCRjIwQThBQTM4QzhENjlFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU0NTdFNzA2MTEyMTExRUFCRjIwQThBQTM4QzhENjlFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTQ1N0U3MDMxMTIxMTFFQUJGMjBBOEFBMzhDOEQ2OUUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTQ1N0U3MDQxMTIxMTFFQUJGMjBBOEFBMzhDOEQ2OUUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7GYcXHAAAya0lEQVR42uyd93dcx7Hna4BBDiQIECAJBjEHUSQlUZREZVmyLcuWbfn4vQ1n/7L9cc+effbuOki29RStTIlUYBKDmAMIMCMRGTM79fCpvY3Le2fu3JkBQPLWOfeABGb6dldXfyt0dXUqm81KQgkllFAlKL185WP/Pfdzae5pyD1T/L4q9yjyjOSeC7nn09zzce4ZKPP7F+eeJ3LPa7nnYe1P7hnlb3X052zu+SL3HKAvE742lueeXbnn6dyzPfe05p5J/jade27nniO558Pc8y2/b8o9jzrf0fFXO9+rJKWcR993PPf8Nfd8GeG71fRd+7sq96zPPQ/lnhW5pyP3tDN+5V0m9wznnv7ccy339OWei7nnHD97+FuUMeu8rMw9T+ael3LPWmRkEjnRsVzPPZ/knr/nnqsl8Kc59zzmzE074xbedSP3HMo9XzGv/QH87c49L+SeV+HTVIXmth4+n8w97+Se/fTPqBPZfIqxLObzNvc6L4eR70MBsl0OqkFGnoEnq+jDJP2oph/vMXe3ygowuWcDAlvvAEw1nRgDeM7w94Eyv1uFZw19WM97x3wAoyDxY+5pRKj9VJt72lgA2kYL3xG+P4AQtvoW6iIW5joEYa4BxhboqK9v+agNAdE+r4Z3Ou6u3LOEvzfDkwwKYpCxLuY9rfC9BbDpYeHmoyrkoJ33rg8AmCUstNoS+VNNX1cyzg4fwLQAZouQoSD+1tPXh3gqBTB19GkU3tfy/qyzuNsAvHX82wUYHctN5qSqQvJmc7cUXqyhfy7A6PsP0l8pN8BscbRExpkkswBUoHtB52sRhFGKWCy70YiPYYmkHHAwK0pRfRmTURUgTA0IoQl+ozMOs8JuIbSuELc53+mkrcwcAYw4/ZugL4VI5+jZ3PMc/OoETBrhQW2AgDTQ9jKAWxfCHUD3ByyOjwGaQkLa6AjpWqf/BjCjCGldmRSPvmcjwOXyTOXgCr+vibCgVtPHSsxtNW0PIYMNPoCp84Gyq0gygOQ1xlIpgEnDsy7mzeWHKbulyEi6Ei9POxNVFcBAFdytuWcnZvaVMk2WMvVxQKbLeXc6wEKpzjMBZg3UMKEpR+PZ99M+IU05Y6t3Pl8lc0+NBTRHE8K5CzB+CqVQrAZr8AFZN6Crwvd57jnFQinUVm0In2r4fapMIFxNm9Uh8pCK8P06n8VYKYVR5/Q1FSCbaT5TFcDLdBn5lq+PacfC8vOjJgJPYwPMnQgIqprgeXzr23ynVNNS29zGz3zIOY05NxlgPWUd83cq5PumtSd835vmO/Md5Z50rLYgH39H7vkl/N+IRiwHLafNVczBn4kFBCmPjMPjMOUyhLU4VWK/MszZSIhbk2Eux/P01VzruZxbswrcd07Rz4mQvk4wzvEK9jWTZ/0YjeThZ8kAM8JA6wtYG7sJSB4oEWAs6PQIPwv57C6AZPMInH0mHQAwIwEAkwVU6+cZYFJ5LBcNgL9OsPKRCmjhNp4m+JchcDoYA8iH4XWmDAt1ApduPEQexp3+Bn3flMfUHM1hneNiZwNkcyKkL+OMc6KCAJN1ACafEq4IyEX1ueoJUm3Gh7tegiC1EkN4Cr+v1IUYF9XH0LoDuCkSgcGpiBNq2izI9PXHYG6KF9h2SXfV/iX3/AI+VRUhTFOOSRyF1AX7NW6UtvFljPGn5N4j1+qI46bY5wdZpHNtNck8rZ+iACZVBMioif4oAHMxJsi0Es/Zhf9fDuYUEvyU7zO6CC/nnq+xbtpldoA5yJRNs9B1x6szAJwztHkG/kw5/ndQf8z9U6vwkk8baozl57nnJzIT9c/nPuq2aC8/B7AkJgEX5XWzeIHerhClkkZ52DawpSfcLnIOUmVcDPnaK/Vdk4zvDABv8cbqItuxz5+lrTtF9jVVZr6Vsn5SlQKYYkij0C8Qi7mGIBY70NWOJVQjc0sW4VdzUIOaurv0lWPiZkO03AgAqy7LmzITHA0CmGO550/8HBcv+JzKY0mp9rvi/E63zl8j7rIuz1gMBHQ36DDj0Xb6AbdaXFvbTdmJm7UmD7BrPGYPgDXoA5j7idRi/Ja402nxgqDFBjpTjnvYJ4WD5A8cFQswqukfR6A/LxJgahH0xzHJa+Zx3BnApdikIgWZ5yQ8+Kg5JbqdfyhGn6qwOBR8LcksbH7UyjgqM0HZo4DLRbRxxhfvUjBczkJS4NuLFdopwbuGNTz3c4r3FOD8BVZnQgsEYOrQcuomrGSBRhVE1ZpPYgF136P8svhGPldqJGbbtfD1CQC4IeRzyvPvZCZz9H1AzYJ0Qf29jlVzAa3dy2efxmUSJ45wkrZPyt0ZsvcbjUvpu6EJlRlglBqJETyJUF6IGItpRCs/JtEzVxcaWT5OKg8/42ayKqDolvQzuElhAKbWyru55wPco6jAOMDzT/rf7gDMJVzFz7CIfsTsv5/J8qYSWmAAI2jal9GOfeKdH8pn/ls24wqZn4S2clBVHoBJIbQNeeI5+WgpALNTZmcdu2b9WUDgQ6yMOHSB768DYNTt+4TY0afibQ9P38dyn0IRNCUQMD8Ak5X8wa4OYinfI5yjEUz/p/hZdY8LZr6Ie7V4O3PZItpsZcHbDlVQ+1fh9btYGHHP1ihwnJeZw22D9FdjavuktINu2TLGbbJlbi/fXCU0TxZMvvyANJaIWiRrML3DNF4T7tRPiN/kE8y52LKrJMVZFLb9vVlmH5kIsjw+lpkg8mgZ+vmNzGyRZ4hFjJShTUtwK4UszlXpLOvJMvAxoRIAZlK8dG01+1sCYiqa6q+7EkOY70GxmBY+96jP9J/GFB9iou3kaeMDNgdq4ekuz0MhrpHAJw3OnpG7s2zj0nCZ4yyWtVoqUN1BHsIydculCLSftxMImB+AsbTnqwi2mvAb5e7grJr0egBPdzIuyt31LBQ01jr+fsq3aC7xvTvEIGofUIBZCn+aQhaD5hxdkYUdeE0jH8tLsGJ0rHrCuB05qJQLYyUd2iR+rMm12DIJlBRvwaQBly+xQtRn3eQDAI3F7OIz9T6AqREvp2NDgOujlstR/H/923bJn7V6v5LlqrRL8Nb0HfEyRRdyIpdmDOvxhjdkJvhfrLtrC9Ys43UVVDZWB0nPeN2S6Bm17t/HWB9npcxFmh4kgNHErW9B6HqEaK14KdLVxA+sstpx8YKP+lk9IPmizOTM+EnzLL4nFrAc8Eo9gHNQDYCr5g7aNh1EiM/Jws7b0PnWXbBOx00qJqCfAWAUcJegvCq1y1OLQmt0XM6qCP11QUityYP8TAAmBsCkcGMu4wLpZK8ADNyJb2Ky9uI7n+L3S/j9ThaPnzQb9QSaeQnt1D2gc2AAE5RDo4u1DzdpfIG7el1YYpkAjR/FgrEiSFafpJJFmFYBYuMB4BEFYMbo41cJjMQDGPt7Cv9fLRkN1D4VoFk0PvMCmtYAphuXx5+SbhXAFFguoJWbEcz6B3AOrFpckwQftpsCZMpRa2UurLHqe4TnDRKeLR2VVkqSS1OQ0fmokcWvdJEnKA6gQcpHxAvktuDydAe8QxeKZqBqXZlL4p3BaZb5PZ80X2QH7WryuA6FCgYlNH9WW1XChtIApl28av8KCOfl7volacBlHUCjsZddmKB+GsIa0nyO27hFtmPwoE7WtOTfzbjX84PuV9L4zUTChvguUh3WiFoYGsg6jc+pwLHFp3VbcJ8a+PzuEICxgtMnmRyrmfKgamcrEXkHkKkOUAJpKa52z3xTNmYMJjuHoDousw+JRgnyukmnQ4QORhIYiQ8wVs+kCWtDg716FkZ3kvwlF6qxWtaKtxPQ5BOgEeI0Z+XuK1AyDyjIaFxlGG04FQAwCvKLeWoXsMbUfl13Fl2cbeqMeNv26naH7ayVg+ca//vRcfmjAIxbL0Z3QfXk+c0ERuIDTNb3OQUF3VrWokQvyew8Bf1Mp3hnafzCNYrlsg83KyFP2AcA8LGABaWxKT0ougqrb6Em2w3i9upZqasRXfAgBaNKaad4l5VVAmDGAActOHWjCIupytfGDSntkrkEYMSrM2rPVQT9R4S/KWJMZ5RJ/RxNl9AMTaINb8Ej/5a+8leTwjS+tZB32dTF07QDrVNzsYR2WuCDXYq3pEI8Vyv6Y5nZ/k+oQhQnqKogowl1nwI0UU/1qobWzN1DMvs8zYMevJwQ7yhA0A6dFVxfL96O3kIk92xZKTQEWI1JZVPwpyS42HpC8wQwLhBcBmCOSeHcjAwugFo8p9HU0wnrZwGMppyfk+CDjFVYNeoiad5FQ5neq65HK/GO+jLJkm0KlEKtuN61FVQ+Kd7Rlojf/LpI/knJOtaI3p9zCvBoKOAaHQGQziYsD9SkPViFfXk+pzlFu3Evj5Wofa0+8mr+bWdq+ktctOXY+VGgKlQ5sBxk9YcTWiAA47dKbmCRnCJO0JIHYA4Se0n83WCXUwO3mmN0AQtvkdy9m2R3U/fDx8slLi49UPgSVoe+W8+E6cHTmxLvSEK5ry2Zi+tU5zvvaq6uLbnnAEaIvWhQ7xMAZkdIezfQuEfk/q/zWgqpVWhXkOwMMN8XY8EMO9ZGXH5qUqRWJHwdLa5taZxHA6vf0v79fgWHbYvPdx/cnwnA+OgSlokeC9gV8PdBYi9npXyFku5XGsHSW4nr0hYwV5q4qOfBfsbi0M8Xs01aR/t6buxJ8e5dWkXsQ9vXPKYDPL33MbiMyt25WPPhHo86z3yRxkTLUSys7ABzC8vkNFpwic/COQoAJbGXwmR5Qu2+xe8nBYNfw2sFhX0R3SUFF63X8orMXOy2I6BddXO3Eu+57QDM/ahhMzK/h0fd+74zuK3T89iXQnW45wVg7OrSH/Dh1ZJpxrftA1z0cqsk7yUaLwdwJ7/C0rCsaJcsQFsDn5fwnZtYiXbkQP9WL95RD21Pr4zR2shPyN2lIaytZiyZ+7l0ho11vXjFsSTGAqtylKmdeC9me71GvCqAqlDsNtCqGKBufRkXrxzqlESrE12NYnP5kSqBH5YCMFGOkoRqWmluy5/Qit0wTssxfIqFk1xwFZ10R0mzYXVn7g0mPYhWYI1swg1Vfp/DZRpDebRjmShQbeDncgm/u2ma+fK7R/dbEFLHr9UWf+FbUMUGfW39aLzqIvy/JNF2+KzqwAYUQzvgUMuCLxZgTBGpwrdE2P6IAGN3nf0Ur6RKoh2dCAKqFNa4ys+ttJR+PUQK5uqFXroLsozBXsKyiRIsLLUP2Qhtl/tKjUqRCudhJt3q9C4L4XsXz1rxymlYYao0cZxuYjrdBSzWCQTzHzJzqVvPPPIlG3FO41KNeOVfBxztm4oJMJa2YQt8LGJfW8TL0N6MJVQb04IxgLlIv26w9jIRLCoDmGa+EzdNwABGDQrdXb6cltK3yayA1Cjas95BseEiQCpVIsgVarucW6iV1uj9WIWdCM4L/DuMOhDWhwAXqwxXiyXUWKDPU2i8j1EUR6T4gN9c8rjUd1mp13bxMtHjtFflAEyWxX2kiL6qG6qHOheLV+/HFnZcF2kJiv4QSiJKHaE6FFAnshCXv/a9EcCqJQ0gpPN0OiqS2aG9gRidsgvXq0P6kA9RC/29hoVWDnewmrZq5gB41HTf54D4E1gq+YQkTtxElYOlG3wkM4H54YCxFZIF40uqTHxO55GHfOUrovTVlTkpU38XAebVIX2tmoN+CKDZLF4mdEq8SoNVefgRV36CqAnreVEhgEkVCTJxA25RAKY6oA8pZxLDGFgL46pjaoYggKkt0oqKQwrY58WrFXObmMv6Mr5D29bT8e8BLsckOJ0gFcEvrxMv8Fyq9ZLOAzDVBeY7Sl/LTdNYChM+d6SQbFaCrHi6HVJOOe+fS36oJT2eLoBaDWXUSoUEqj6Pf1hTQBvZ92tCxlAr5akVa+dt0iGCXy/lLQylQntZvLq8uvg1kG7F1ztiWiwap+nDpNcdqy+Jl41GUARhV4mUc+xVEn5HVmOB+cw6lutc3bGVFm/bOxMgm3Uyd7V7La467fQlHz8ryY/JNFpSO9MKAqdYlKOY6UNS2Xqw+s6b4t1cUO8g/yQLwWqlZAKEaQK37DqBrSVOf6dYTL2Y/aWOwSr894p3NMLMy0FiJ5MV4JHGtj4HEDQYp8l2mu27AR++Lo91lnL4dAvAOoGPruefzgQEJoO04gRjvCpeIfcJR0teYh5LHX/GAcErgKmrOK44cjkdAjDjzEUfcm0atdxUy/usT7Y17CqIAcbSA98yFZKRetruY+zj4gWYR1lDxo8pqUzhshredxM5uamL+N/w25qcAI9VTjuDMA5WEGB0Ag7AhGXiRdGr6c9lFsO1EIEaYKHo4E7hf0754kKnWQClUg/uxCkHAFPwbtrpZ7l5ZYH0HwA3FWjd8VklXqW7lISXnTTtOkj/zsOTixGFPQM4HWTcX9Ou+10Fqe+k9OMgKndncdku4cunHT7cQibPhlhcWfGqzdUhU5kKL6jbyMRpH1APMU819HeRVC7Br46+XBav0p4V8dK52c//K8kPd9teA83XUsu6H+0KCEKlHE1gtTkqlWWYxnRr8PXD1byj9CHIkjITtMGJtbhnPEx7jUjp9T/qHCurRmYnRU3Cq2GpfFnLesf1889dNiAulHV4MQkfiplT1w1tcmJQWZ+2tp3DUmSlyjefad84pum71dPN5JGpJsf6qcS5o5QTcwjqU3XAWCqV5lDlAPQIfbFEO3MXG+eQH9qPKQUYSSgWbRSvLvFprKiEEkoowKRJqDjSWrG/yT3Pg9Zv47YMJKxJKKEEYEohDZJpqYOfy0zx8/P8ri5hTUIJBfttCUUj9aV1m/hpmdnB0XiDBtROyPwet08ooQRg7gPSu7Z/mXtelJndGz0z9A9+JgWkE0oocZFikeUGPQfAaMq+npzVU8+aYq9bg0kh84QSSgAmFmmekF4EpoFdLdqkCUt/F+8OoORS+oQSSlyk2DzSo/RaRW6vzOR7aGr9WzJzcjYBl4QSSgAmNn/0GLtWgtMdI80S1njLxzKTVZu4RQkllABMbFoCsGi+yyrcofdl5oDgUMKehBJKACYuaWBXq569hmukadZaK0WDulqcaTxhUUIJJQATly96FEALZL8sM6dgj+MaKcgkGbsJJZQATGzSA6B699CbMrMlrSeY/ywz29J9CXsSSigaJdvUd5MGcjWoq7ce6mVyGmvRWiy6LX0sYU9CCSUAE5daABc9Z6QFnfS4u9739KHMnJhOKKGEEoCJTVqGUneM9FJ4Ta7TYkG6a6TFeko9a6S1QXRXSgsoWfUxpWLzaNzaKFavR2NCIxH70Ob0odi7ka1Gz7R4tYKHJDzgrQdA9SCoFlpqlNm3F1oBrH7airvlr+12ohzccp3azzHavy3hRZ603EYTfWyW2fWE9KyZVaqLQ9Z2q3h1dDLiXVs7KPE3CzS80UCfrci3hTwy9PmmIxcNzHuzzC5BW848rpTTt/8oapUAjEe6+B+RmR2jjQinVnD7Euul1CJSjbT9osxUFbNyk3Gup7ByoFrdTasOasKf7mzdKPBdBZUnAdFuZ1Fninj3NMCi5Sm0Spse9DwvwYFvXfRa2kIPhz4MDwyoFZiOYyEeZzHEWcDarsbLtsjsOr134I1W3zsgwWkFOp4O+rhbZg6wWnXCDDz9d74fhxRYtmEVa7LmUgClhzn7hnfEKf6kgKKpEzvof6d4xcf0HUdRjj/yeZ3vZ5FxqxKYlfIWnko5ikX7cCMBGG+ylPGvEHexspAfy0wpxHKclK6j7d8x2aUCzCSAov17CCD8ht9N5umD1bJZK17l+WyRAKPa8RLv1qJbhxHoPpl96LOKBasL7LeOZsuivY/y94EYAFPDuJ9hPDvEuzlCn8sssKOSvxC5Xqn7HG6xXT5mAHOQcR4HsIqdqyb48xz9XMbcXHT4fxULKw64Loe3r9CeCzBLmBcDmKUAvX7WqlhmKmTBGMD0JAAzQ1pY+lWEbBlCpeeM9IbDa2V6h7kn3eLdG10KNaAh2xCuFVgIX9P/6RCAWCReIe249/GYS7GSha1lEfXCNg2GH3PckWGsnGuO+W4/2/jeKN85UmQfOlgwL2Id+Mditwuek/CT7ml4t9uxsNzQgQLYJn6eluJPzKfFuyOowwGGdbzL6iMfluKvV66ijXZkdonzt2YsmjqfvHQy9/VzsKb0fcsedIBJgezquryMIOmkf4L1cr7M77NLwct5fYQbU7EbNW9KeKax9aG5xPfWI9jLENpmhH4EgLM6yAowXwEmaiEs9i2Ezbgm7WjyqCa7LpY9AFyD83uLP3wrMxfXnc3j3rbgZqwPmZM6B2SuxgAYK/A97uN5CutjDzEec8eLtSYsHhYUX5r2tWd1eevncH3VPegAsxi/9Ne4SKpFPss9fyO2UE7KOoJWiftpVgKSVzDph0L6MCnlz0JuI7YzDah8QfzDwEyLcr3N/5/0WRvtAM92NPntiOC2mvjGSl/sZRBr6ABWx0geF0OtyTW4DGFaWC2crcjD9ZgAMx0CHlsBsWEA7EqR8jQlXmHvoHf7C8DPdd7b9IMMMNWO//082uUglstXEnzDYakAMxGgBTMA26B4uwpZZ9Fknc9V4xYtlbsv8rKDmWrqb0Rgh30WQdZZ9EHgZ/0Ydd4nThtpFt2SAAuojXiA7S5dcUBOr7D4CGthu8+KqQEonmUBFwKYWhb9dsbrd41uEY/6Ok9cJ0UfNiADDXlkpBsAXBpzzqdl9iVo4rPgdhAXuYCbebPItqdC3GH/7zTOdZK5qw+IS7k7ig3wZ5EPvG0HbIg5thsU/De/2m5j/4MKMFWYqI+zKJYxAQd55rKAlN3eeAQteYPJqfVpoikEY414uxLtAYKiC2aneBesTYQIkh/k7G6fo4DDpK8P5jJ0AWI7xbt8zkj/9gLv/t4BGLv/+jh/a3W0aS0AY0HfQsmM7VhBT4VYHpdQEEclPDhvYLwd0KvJAzBduEjdTvCyWJApRLvhv1pb70lx9yZl84Coa7HoztWHxKQaxNssyPrayjDm3ayPap973SPehX22/Z8O4Nt/bAY8qACjAqU7Oj9jsUwilDYBlQKXVAAgTLDoviFmcIVJrvVN+jQCvhpt9wJBzo6A4OfDLNQzAQAT1IdpNOcxLLgf8wBMJ7GpO7yny1mgVWj6bWh9Bct+vj9I+9+hRVc4/WllEa/jb/15YjGLmLtHfK7mBAJ/jP4PFXBdVtD/FREspk6ASH/2SXE3M0a5Slfn7Bnmvod5Gy6xfbuT2qwJtQ73A/R29W5W7s6FyqB8W+BxvU8ZXqKdb7CSp+Xue+MfuDwY/7WqFq94GYFW0/EdzPhrc9y3aaynKwBHjzNJQS5SL/0dluD7qZc4cYWou0QWGO1FuI/zXn8f7CKxc/DppzKTlNjpa6+boO4VLDMzpY/D4y6AqMbnYm1m0R+W8AOlKwCjlb7v30ZJfI3gFwINa2cp8jHtxDOqZfaF9S0EgrcArLcqIAcrcNe17XcB4myJMp9yZH+U+b3muDTZEGvoOmGDTIgiMhm55rhIQestUyrANKBR1zBRaQTjPItlQArvCqRpIyPe9uoStFkHv7+OsN6MaD528/2VaLkRAn69CNdefP5O3qlC/2mRQbZKAOCkw68gvk05sZoj8HiLLx5Sx/8bigzquRm6+ZIKR8XLvm0lULnUp8EWEQdahcY0t0IF8lvxtrY7ff3eAXhdDQCYWvG2xVcHgKfKxue0P1wg9tbOgl7mtHOH915lLKt4jwWV1zPWMxUCmDSA9yqWX4+zgMtFmYjtjRUIHtttq+NRBhWXGjGhnscfXsdkqbn/CYv2mBQuzKRMfZFOfwJTd9HuOgTiHO7DfikcyV8HgPyEOEEdbX6O6dxK2+sRYnUJ3ib+MF/xILtetJj5sAvehwj4phxXYUTCr1UNA7ha8a43jUIXAY8rWB51vuBlB4HCtM/Evui4MY0OOFoSoALFIfESxFwL5xnmbnlAfy5gtp8uIPgt9PchZMEFqENYQSnkZ7WjSNcC5vr3sxWShcWsqQvwdX8JFnVW4ifStYQEglNy9/XBZQeYGiboMQJBe8W7tD6FoNyEQdfQJtmQdlSgfk48YZiO3+b3a1h8i8VLDDPNNhES/HuY/jwDSLXRl1HAZhsCvQ1GadnLzyJovbmwYKqk+G3EoO8MoP2uFxEstLuna6MKDtbOLfF2q+p8clUvs8/HGA0TgP0SENri9KEFhaPWzwGZnRfTjrw95gOGUcZ7kIU/VmCcS5Gvtb44Vz+u56f0f7OPz0udGFElycZpZ8yul+Aqxb0Hu8lZz0GKqF4iXjSYjgEuaia+ITPp2d1ooWNMbg0MMn/6FGgcNMg1tPEm2qSfybuN1XIJy+VhfFMFjC/w/fwA0yxe1f/nENxhrJZDCOku/mbCfw4NcUSKz28oJ7nbjcWYw0sQ+lafIFzFsrgs8c5PFSOQ0+Ll9mSdfqTk7q1L18Q+gbW6nkVb6xvXVubd3YlaJd5ujiu3N7BC90nhLe4q2tmJ/KUd1/MWMnEWeRrA4qpxFl03yq5VSktjyErw9q7RBnjSwzyemweZLJvfVwyqKfJrCUm9G+hxhEvN0j9jmq5goVt6dWcICurn9uAabXdAYgrkPoxwDYt3SGyQ72YC4i1qtfyKoGMXZrgK8HsATDv9WewsjG/5+zmZf7Jt6ChboHY0YA9j8udw3AI0L0rx251xBKshjzZLhSygAZTSCeRlmXjboU0AwGkW+xDzv5UYjF9mr+O2HJLCmbZZ3uXPa8libZ+lb1XI201k2ICgDUB8SPIn8UVxbwf5vlnprb54lILvKwDo3+Y4PphPFrLFyEq6CHDR4JpmvP6OiRYsiv8lMzsw4/jH9fjIUwT7gvzMPQSzNjm/H2Kx/5P4zRAgtobJtQDcuM9y0Xf+N5nJjViMkOght7cww0eZMJch59B6n8yza2RBxxYEeaV42ZkNDhjahC4GcJ/jWe2b+FFiF8dYeMVYRG7WaTHm/HLmOeWLtYwXiAPdwBo9zPx0OAHVrbgJ+1E4O5GFpQHByLO4ulciAGoTCmiVzE5UNDfrrAP015CTFuezzVhWu2R2KYRiaYLx/0gb62iz3mdt7aE/+tm/lDngOycUBWDqARd1P36B+daPr/q/ZeY4e48PeVfAoBbfwq5D++rieBZtotSHD/0BYHWcdz4JwJxH2HocJncRa/m9zGw31+GSvUPQ9mtAahVacj3fPc17vpaFUVu3hj4+y4I1YKh3AMbG3Ao/diKUrfD3NovhGOB6KYb1Ypm8UQF3A/3wbxcLi+aG5K/DMorVsRxw7XCsnjasjEdZ3HuRB1fL3xGv3EOU8dZj7Xb7ADEDWPSKV+5iAlk7DYg3OdaabaV/58h9nHU3Rf+PAai2c5r2AeLjBJx7sPgGfBbiPQ0wtQz+58RKTGOqZfA/sQCMyYsInm4GXCwtPuOLu+wFONY60Xtd7P/AcrmIEPwMK6dOvG3k647WV3T/r85nVBv8HXNyHwJcz+T8Hlesn7jMX2XhVKirha+djsYSmX1UION81qL4NY610MdcvBUzYJ11AnjNMjt7UwIEeg3m+3MSnE17k/noyRMHmkYhNDA3j/hiMSsA3U0s6DU+DX+VMX8p0baNlwBS/pjPCAqsz7GOJwCtY7y721EGK2mjrYQ5tzm8iaxeBmgbUDZ+i/9Z8VI+DvjiJKl7GWBWE3Mxy+UOlsTfcGV6+dxKrITnENAzuCDugcFGgOVXTFo1Zu03AMMHaGHVUloP97cI3SFcMbtgvo3v/8J5Xy/9eQtLyHI0dgIwT/D+E+JlIQ4vkDmwnbe6EJcyirmtwHtS4lfeqxbvbI6l4Aedh0rDx3W4pn6rwqiXGNpFyZ/1Oo5bcpzPrnRAZDFu0hjWjRvMnga8DgACUU4529GQTT6L6yZ96JPZOUh2fOMF31y10FY77UzG4LdZ92l4dRvZ7QJYq32fVev7Jcbcy7rJOnNUda8BTMoxTd9AkIRF/ifAo9dp41FiM4/ilqhW+QOfNwHeitazOM1tx3L5AAGrAjT+E21NARiHxDsEthVr6lV88ptYNx/4gGMLVtDjaIbL9Ouoo/Hcbd6oSUgLjbJOoHAdizUTA2A64Xkb/Mk48pF1XNxFLLDVMvtMkRt0PQafo8SBRujzVyzmVc671jiLKOUDsONYQLciBBxt98iS9NKO9XceOe3x9fWGeNX6RpChlBN7WoWLfzlmcLwe/qUZwz8Bvw08VT5XaROWTB/rz9zZcVnAN4yGAUwH5vrrTEot1sVnuCtnHMF8CK33NAw7hCbdL97Oj+0+PQNjR9Bw78HY82gDZeB/ob0U73tHvJ2eteIVGVrP777D5dnvgEsbwKIAsxFB2oeWOOUIyVIEx7I45ysmY9vUE/zbf45EAtwkN661gsW5DJ4dYMEUU6muVbxzN/4T3RnHRWjCagwyzW/htnzK+6MI/gRgtARZWuUDPj8NAQhf4cZEGWMjoPiQzD6gaRnRX6Dg/HSFAPIx5GiRI19WwmEwptxY0lqD08bHuGOvO/Itzjv38NnzuMKWazZyrwHMRlyZF2FAL4Lzucw+QGfnJ55EuHuZrCMO0zsx736Fhp0EhN5HEM8h4DuIlbzGO5WB/xdAG+Fdz/NYEtRp/u5aVPW4Rk/zMwWofMD7xlkku4gZZfn70DwBzDSxoWuOsFQxNy7ATDuLxXJgFrPoV7OA9rKI6piv3iJlwQpIF0O2+2QHRv+CZTpaxPgv8J29uLO1eWILvbznG/gWZSF3wZ82n+U3AEiZK5f2jauO952gDQMYOwh4AfkdiDnv4lMWR+DfIubXLWSewqJ7hrVxQbwDnqP3CsCksF62gZZ2VuQolsR3jpWQZgH/BtO6Ds35NvEA86MfZrHvoH2dLN15ele8gsfbsTZeRAiuInBfOIHdhwk2WzzlLJbLe76FtA0w28vis12jr5wgXjcu1m4A8+I8ukcT4qW5H8blSwVo72nHYmlxQHQ9v7OKZc+yWOzo/1gF+26L1AqPf4gFdSXGYuth/D8wpqB41CiAcIT5jxL/aMXytaRQcdyjEeR4OaDdKN5JYBGvav+Y7111uCzbscDj8s5vpY0SEljpuKzLfBbdGpT6beS+XspbV7eiANPCoPaIt2N0Fstln3g7RmkW8suAgmXGfsRnDYQ2iXcmqF68g4Xvi5dhuwoL5zUEYYBYyaeOa7SV9zyLJpngM3+mHdeMfBYgWovr8yVB5FPOZ/ayOJeJlzNyZ57mYJIF+S3CeqnAzoCBj+041bAgzWdfCq/O4ob2FAGe7vmVrE+wwwKJgyiefwMkh0oA2iPMe2MAwEwT7zgGIEedry6AYJ0vuDvN/7eIl/vSiGxb7lEtrvRKmZ1MWA2f16CQq0pQUH5w6Mfdb3beX+MDtyfo5xmAseVeARjbHn6OgV0kCPu+zN7z10n5LUHbVhbvuwjHsGO97AE4NiCI7xMk/oEJWYyr8iLAVo+w/jvAMABQ/Jp+rUSAD+ICHHE0exdtPM/7UgjjPhavbVu/RkDaqq5/jcCOzdMcZMTL7LxeRD++YY5cd0kct3QdC6A/wqJ37xC6wefdvJJ22moO6f815nSoRKA9gdW6DeXkgtoAlvQ3RVpIVnl/o2+hpsU797OB8VqdlIwTPK9FxlsDgN7q2nTAt3JYwVnk8TPkfRVub63T7zW4+ZYS0rXQASYl3uHD55mMCRbm2yzojBMDUO3/Bn7oJIj7ZyL7hrKPO8AxhmC8jYVjBZV2YAXthmFncGc+Qls10Z9f054AZv/AHRv2xY1+jjDV8LkPGcMt8a4meZP3KZD9HwS6bx5dJDtNbfGP/ojfG8BC2UJQfLFPSBeJl6Q4FKItXZC4jct6FN7bcX0rXfCUeIdF3biAXei1tMRFNi1e9uyNgL4OMaenJPo5oCoAYDM/XcuwBmDoKGHumsQ7OjBcxmCrZSh/ibKo5R1ucHglY8rKAt+mTgEaGzC9bGvwBydgO+q4UNsI6lqa/wXclO8d7fsYVsJe/v89wauvHAFcgfv0M9wxS4e2JLgm/v4rgEGYRDsBfcZpawlu2EtMxASWyV/Fy8V5FFDcKd5W+ucSPxuzXGQnmeNcI3KVmE1QWcxmJ1AoBQBmGuvpKG7aKZm9A2QlRSfl7tyXFlzYvcxHUBW9YrT3WEhsZQo5HJFoWcp2crobDV+JhDQ7/b2JdVDO3RzbaU0zjmVy940ACxZYXIAxU/FZXJpWgkcfs0hvOROmaP1TFmszf7MkuNt8Zhmu02vilVd8l4BjH23Z6edX0MDmPv0Ry6KRv/+OqHkTQnUUa+lHx3pp5bN7EfRJQOgj+m/RdwWq13FHPhRvK3W+yQ46TkjxSVvN8CZoN7BWol9TYZep9cLbH3xgZNeQ1LFgW31afCvzPQrolVKQqSEEaKtlds2ayQjtrMP6agwJGA/Rjnuq2T0Vbq5SNe1Z31LO2DcAMFEq6RVLV3Dx1+Dq7ZLo5TQWDMA0yOxrJeswkT8jhjHu+LJP4YbYNrFaLm85gdbltPM8E3uLduwaC0P9vbg9u5hgdYv+B+BShYX0BrGgZU6w+QPaciuvaxv/ChDVYHG9TYwmi/YywFtDwPePUri49FyRe8/zeJELcQNjaghxD6Jmebq7VhMh7skR5vcZ8Y55uDGfp9Di35YIMOmQPlsfqyNaI0tQXmtD+HMEC7Y3zzvt4Oli8a5Wcc8mmeuyXoIzmstB11C+jYzjkXsNYDpg2mZ86TtoMDfjdTmL/SWslxpMakuquoGm1DjJLzCj7xAnUevlpGPWLsP1eUG8K1r/CHjY7ogGkF8VL+nKaoh85gSIa1lgr+FmdcnsXSM7CauA90vGcIwA8j5ZWFm7FgNrYjEH1cM1zWo5MpuYk+0SfIXJJPyIkiPhxoGaQj4zyBx8j7x0O6BUDX938FyXwvdk5+NFvkLWVREBxm4/WOvT+tNY22oJ/wHFVxMCXJMAbgfhg3GZfbrabsrsRq7rQgC6VDou3jkou8Wx+l4BmLXi3aw3hgDtEy+3xCyOf4XJDZjMnzrgIuLd7/I8PuNR3KxPfa7RJkCqncl9B1CYJHbzOgBkuwhZXJmTxAbMv1fh+Rdcny4m30oeWrB5O4D3KBbQHwCpzAIE+XUAegdjNlM84zzmJti1q+Zi1ocAQp/PmkgVAJlCVfUuoE0XYcn6i31vYe764fN8Zpguw3Xz1++1WjSHJPyCOj/dRj7bxatL49JSFPRpQgLjFRjPKcIMix0P4Z4AmF0s1noE6D2EY9SJzfwGwWnl94r+ugNzENNtC8DwEoDVSwzkC8DIzMmtmNg6QRfFS7gbxPr5DYumEyAxS+kzgKMHLbESK+c/4yJMIzB/wyKawpR8jXYHeddfnP7MV7wlGxArWQV4tyHM/nuRXICpE68A03YJzoEYgVfn5e5dqbBiQRkpXMN1iLnv5N0dPkBayvxeFu8A43xYg8qTFfC11Tf2ayjRU1JcasIVLLigGrltyNsZubtmURi/i7VyxnA/GwGZdqnMDaFRZThywak9MKdJvPt8T2FtKGDo2aCnnYm6gOuzH22wi3jJm05sRn1by3cxasctehUN+AXa8Cwg8QaAsBQQaEQLnQU4vgB0dhL8/T3fM229H9foJFrL6tcIQd0P5xlcwqiGcep4N8rsc0BuBb+ME1exC9WDwGUSQT/BAi/3RWFWkvMEroFbtdAudn+EsdyW0nJjJCI4+mNTa+lHe8D37SqVc0UG1SdQnH0ExJt9ALMNnnwn0VMNih17L2tvDWPbVsHYT9ksmJ0IQ0q82+XWYIK/Jt79uVbfxa4PaXLA5Q002h3xjhXs92kIS2p6BCE9xURYvZlXENDvWBibxCvafQ4GPwJomJVzG8vL3IEBBEv7/VOYry7aX31gN19xlroArVMFL5skuFp+sVpOAfafaOmbcndGbn1AnKXWCSJG2Sq33Y0uLFw3y9Uq0r0KuH0v0bNuLcZSExBjsILkNQVcPQs4Pyqzc4OM17cA4Jsx+DuEkupBPlPOmNdhyS8XL3vaYlv1cvfuT0OEsQRZmXberxUF83DIZ2vl7gOzUcnifLUBbTYwnnRUgOlwYh31MOlJrI128W4I3EDjE2hcS8j7JT8tMv8WDPCbn3Y8vRYNkALctmApVePGfMakLMH1sYvOV9OnLQjuF7T7EJ/pBMC2EfRd5AR8v5fy3zUdF2AaKtT+BHP1LmP+MSDAawDTHKL5myICTB8WoV1c3+37+zosyFE+e7pI4U6F/L4mBHxcWgnoPR7iQtxCgcWJD1mg+yjrxrWQLI62BmV2x3Fp6wNiW2GB5UI0wvutUFmXBCcLVpcAMGHBdPeKnZqoAHMGU3GRAxhWu9ROPTdhNWwV79TuGD7uemIeduL6HdyoIO1qxXKshswu3pMGMP6Em7YZt2yS9t8Ub+fkunjJYO3Ehh5DqLrFSy47IN7J3oVQGtOSyAbhZ9wi2///1jzHqrwj3p3MHzD2iZA+2LEENxt3Cu0c9S6lUfEKXD2BIDc6C78GN2UrsZBLEm13xW5YvEN/0s53BnhvoSQ7q1fTwuctrjSJxXyJn3F4P4bcHXQUW5XTVq14Nz2MMpYJxtMvXgnZKoBiVOJtOPSjzD9ClnZj7bu1jYbhVZwEQ7vkvh9+Zh1wG2ZMmagA8zcW8W7x6qNcZsG/J95dwot51vJ58zPPiHenzD4053hIJP57Jn8dwpcBjD5H8x7mu9ediPw2Aoc30Twfoz17AbhVaNGNTKzGbP4B2OnxhBuyMMiKG+13rLNsTO1i4DKIu3nJibtckPBM2gknhtbhaKVx8WrQDhQhhCexOm8CJGadNSNbdtdVsxO8LgTCQ4zlW9qz71x2gtaTeXgzJt6hSKuvM02751GapdwGcEG8E89jjDPjxCenHLAdcYLD1c5irYbPcWJkRtdRJsPI+GbHpbFzXXFjQaP07XuUuNUoGoKvl6O6vWm+MIrQVznBrMPinTTO0mgPTDJf1tK2B0D2vjwMG6HTpxE421o+B4gdczo9xcK5IN5ZjAHHPD3PYBsdq6iZ71+AMSek8D05c0k2ppPOpJUCMHaz4xV4eJ75uVOgD9fgTacDMGPM3ZUiF98wYNDozIc4MR6ryRs1ZyPrLMqTtJNx3DK75G26QJzkvHinojPi3f/tL40ZR7OPiHdmymJCNpdu0bIUYzeXzA5NZulbP5+fLEGmrjrB9pQTC7OawsMxLbUJxngK5eECzAUALRIwprLZBVtKIqGEErrHqSphQUIJJVQp+n8CDABQh4tjfKDBxwAAAABJRU5ErkJggg=="}},"time_used":982,"timings":{"blocked":890,"dns":0,"connect":0,"send":0,"wait":92,"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":"huobiget.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/55011.f9c0a3c09f7b8779aa37.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.460Z","timestamp":1785136901460,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55011.f9c0a3c09f7b8779aa37.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-1f54\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3f0dfe6ece5445c2655ad6126ca68f01\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8020,"size_decoded":1910,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8020), with no line terminators","md5":"f0f2a6df78408bf96f6481a8d4c0f601","sha1":"c631397e79937484494158e38839d6e7e61fc647","sha256":"16ea95403cf2493fe63636ef9bccca8bc96aad6127f3d089ae7374caad43768f","sha512":"a5b165d61175f74d80f88c391c3c65e8bd9a1c6ea9d95bc184c93b61cda87117860c156c65aefd877fdb93c465bb755928d2f7872aa5ba05a1f9af74abcfe58d","ssdeep":"96:14pXCl+y3XsOna+yTRehcZOdBXysBKeYyeY+xRkkxRkfyVa+yTRehcv99BDB1PAq:K6aZV5OdB1BMTkkTkfsaZVP99BDB1PAq","tlshash":"8ef14c8df1e2957a170b312d4281c254572ba8c0ea56e7e97c7e72c840cebd502be92f","first_seen":"2026-06-30T21:57:43.329237Z","last_seen":"2026-07-28T06:17:53.535764Z","times_seen":263,"resource_available":false,"data":"LmJ1dHRvbi1IZEtoY1R5ZXthbGw6dW5zZXQ7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDYwbXMgZWFzZSxvcGFjaXR5IDYwbXMgZWFzZSxjb2xvciA2MG1zIGVhc2U7LS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLWJvcmRlci1yYWRpdXM6NnB4Oy0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSk7LS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCx2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0KSl9LmJ1dHRvbi1IZEtoY1R5ZS5wcmVzc2VkLUhkS2hjVHlley0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yOnZhcigtLXR2LWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQsdmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSkpOy0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSk7LS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpKX0uYnV0dG9uLUhkS2hjVHllLmhvdmVyLUhkS2hjVHllLC5idXR0b24tSGRLaGNUeWU6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLUhkS2hjVHllOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpfX0uYnV0dG9uLUhkS2hjVHllLmNsaWNrZWQtSGRLaGNUeWUsLmJ1dHRvbi1IZEtoY1R5ZTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpKX0uYnV0dG9uLUhkS2hjVHllIHN2Z3tkaXNwbGF5OmJsb2NrOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9LmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHlle3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWU6YmVmb3Jle2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1ib3JkZXItcmFkaXVzLDJweCk7Ym90dG9tOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLWJvdHRvbSx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tcmlnaHQsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLWxlZnQsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7b3V0bGluZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkgbm9uZSAycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLXRvcCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTt6LWluZGV4Oi0xfS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5ob3Zlci1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKTtjb250ZW50OiIifUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWU6aG92ZXI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn19LmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmNsaWNrZWQtSGRLaGNUeWU6YmVmb3JlLC5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZTphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlcikpKTtjb250ZW50OiIifS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5hY2Nlc3NpYmxlLUhkS2hjVHllOmZvY3VzLXZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IiI7b3V0bGluZS1zdHlsZTpzb2xpZH0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWV7Y29sb3I6dmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlKSk7LS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLXR2LXRvb2wtd2lkZ2V0LWJ1dHRvbi1pbnRlcmFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKX0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcik7Y29udGVudDoiIn0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuaG92ZXItSGRLaGNUeWUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmFjdGl2ZXtjb2xvcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtaG92ZXItY29sb3IsdmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKSkpOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZTpob3Zlcntjb2xvcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtaG92ZXItY29sb3IsdmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKSkpOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcil9fS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc09wZW5lZC1IZEtoY1R5ZS5ob3Zlci1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpO2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1ib3JkZXItcmFkaXVzLDApO2JvdHRvbTp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3otaW5kZXg6LTF9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc09wZW5lZC1IZEtoY1R5ZTpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfX0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNPcGVuZWQtSGRLaGNUeWUuY2xpY2tlZC1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNsaWNrZWQsdmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1leHBhbmRlZCx2YXIoLS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnKSkpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9ja30uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWV7b3BhY2l0eTouNX0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWV7Y29sb3I6dmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlKSk7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1jb2xvcil9LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmJlZm9yZXtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItYm9yZGVyLXJhZGl1cywycHgpO2JvdHRvbTp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1ib3R0b20sdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7ZGlzcGxheTpibG9jaztpbnNldC1pbmxpbmUtZW5kOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLXJpZ2h0LHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO2luc2V0LWlubGluZS1zdGFydDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1sZWZ0LHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO291dGxpbmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIG5vbmUgMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi10b3AsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7ei1pbmRleDotMX0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuaG92ZXItSGRLaGNUeWU6YmVmb3JlLC5idXR0b24tSGRLaGNUeWUuaXNEaXNhYmxlZC1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZTphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlcikpO2NvbnRlbnQ6IiJ9fS5idXR0b24tSGRLaGNUeWUuaXNEaXNhYmxlZC1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZS5jbGlja2VkLUhkS2hjVHllOmJlZm9yZSwuYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWU6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKSk7Y29udGVudDoiIn0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuYWNjZXNzaWJsZS1IZEtoY1R5ZTpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpO2NvbnRlbnQ6IiJ9LmVuZEljb24tSGRLaGNUeWUsLmljb24tSGRLaGNUeWUrLnRleHQtSGRLaGNUeWUsLnRleHQtSGRLaGNUeWUrLmljb24tSGRLaGNUeWV7bWFyZ2luLWlubGluZS1zdGFydDo0cHh9LmVuZEljb24tSGRLaGNUeWV7ZGlzcGxheTpmbGV4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCZEC.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.417Z","timestamp":1785136905417,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCZEC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"08cbf05cf98b49bd9fe1f115f35f4717\"\r\nlast-modified: Wed, 08 Sep 2021 09:05:29 GMT\r\ncdn-cachedat: 08/14/2025 09:16:49\r\nx-amz-id-2: K45MYrI7R/pk/WaoWQADntBz63tm36qn3J/RkZFxJxBuFM5lJ/choiq9XbjZKMD0jm58VUsXo6I=\r\nx-amz-request-id: G5MPGDVMW4Y99TNV\r\nx-amz-meta-hash: 08cbf05cf98b49bd9fe1f115f35f4717\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dd2fa71e9e1fec376841df561151bd45\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSHIB.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.447Z","timestamp":1785136905447,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSHIB.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCAAVE.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.472Z","timestamp":1785136905472,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCAAVE.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/webfonts/fa-solid-900.woff2","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.212Z","timestamp":1785136900212,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /webfonts/fa-solid-900.woff2 HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/css/all.min.css\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: font/woff2\r\nContent-Length: 69\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":69,"size_decoded":278,"mime_type":"font/woff2","magic":"ASCII text, with no line terminators","md5":"df8888171de8705d239d9b4adff9945f","sha1":"76e03404b2b7ced61b6bb0edd2da38623b94ef96","sha256":"91c8e5ccc67b3a7ef23eb437c93f65f1f47c574ce6f435565ae1716385a0f1b1","sha512":"1c45e1324a7b07becf40222bc8758bfaaf8dd5926cd6da5205a02ca96fa76bed68f03076cd625fcaa6d8603122fd4ab13f46669aa7c01fcfcae5f41285487e62","ssdeep":"","tlshash":"7fa002fa11432a044f4541ac74617808d382e1a5e84cd1a4a41ed51dc4f0aa7552994d","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-07-27T09:51:38.078313Z","times_seen":20,"resource_available":false,"data":"Tm8gQ29udGVudDogaHR0cHM6Ly9jaGFpbmdsb2JhbGludmVzdC5jb20vd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYy"}},"time_used":92,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":92,"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":"huobiget.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/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.339Z","timestamp":1785136900339,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 3d1647369f824525a4abf48bc0200c57\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-08-10T08:00:01.050623Z","times_seen":3721,"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":31,"timings":{"blocked":-1,"dns":6,"connect":2,"send":0,"wait":25,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9488.09f269f8b26b2b00a8b7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.964Z","timestamp":1785136900964,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9488.09f269f8b26b2b00a8b7.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a6328d1-a1b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:56:49 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:33:39\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d3f3a7bc666ecd55c6f4a0d09d1462ba\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2587,"size_decoded":1535,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2587), with no line terminators","md5":"275a3aff3912902e8be1e478039dcc68","sha1":"56cb8c5a6ac35dac135d312b22a8f19eccf84dfa","sha256":"cd8a39ef3cdfe7b217c84d018998f33c3ba27287b520ddc95b4bbe03fb4be654","sha512":"d16c152cd43b3b93c510d62f53460b1f78e47297b85227ab9f589b9d906cbf6ca86c7afa2bbc8e96298a5d1ce56229f488e750625a71241ab512eefff23b6ae7","ssdeep":"","tlshash":"92510298e5d0263a344b963e1359d5bd4274e493db42cfecf721652045c3bfb01b3628","first_seen":"2026-07-24T21:10:00.174224Z","last_seen":"2026-07-31T08:20:24.779813Z","times_seen":337,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteDB2czp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLV8xLXgwdnM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tXzIteDB2czp2YXIoLS1jb2xvci10di1ibHVlLTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC14MHZzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEteDB2czp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tXzIteDB2czp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApfS53cmFwLXl6ajdsdktue3Bvc2l0aW9uOnJlbGF0aXZlfS5saXN0LXl6ajdsdktue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7cGFkZGluZzoxNXB4IDB9Lmxpc3QteXpqN2x2S24gLml0ZW0teXpqN2x2S257Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6MTBweCAxMHB4O3BhZGRpbmctaW5saW5lOjE1cHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2UsYmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2U7d2hpdGUtc3BhY2U6bm93cmFwfS5saXN0LXl6ajdsdktuIC5pdGVtLXl6ajdsdktuLnNlbGVjdGVkLXl6ajdsdktue2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteDB2cyk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saXN0LXl6ajdsdktuIC5pdGVtLXl6ajdsdktuOmhvdmVyOm5vdCguc2VsZWN0ZWQteXpqN2x2S24pe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtZHJvcGRvd24taXRlbS1ob3Zlci1iZyk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS5saXN0LXl6ajdsdktuIC5ibHVpc2hJdGVtLXl6ajdsdktue2N1cnNvcjpwb2ludGVyO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZToxNXB4IDMwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0ubGlzdC15emo3bHZLbiAuYmx1aXNoSXRlbS15emo3bHZLbi5zZWxlY3RlZC15emo3bHZLbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yLXgwdnMpO2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saXN0LXl6ajdsdktuIC5ibHVpc2hJdGVtLXl6ajdsdktuOmhvdmVyOm5vdCguc2VsZWN0ZWQteXpqN2x2S24pe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteDB2cyk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS5saXN0LXl6ajdsdktuIC5ibHVpc2hJdGVtLXl6ajdsdktuLm5vUGFkZGluZy15emo3bHZLbntwYWRkaW5nOjB9Lmxpc3QtR05XNkJ2R297ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzphdXRvfS5saXN0LUdOVzZCdkdvIC5pdGVtLUdOVzZCdkdve2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1zaHJpbms6MH0uY29udGFpbmVyLUhUQkpvOWJhe292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDpub3JtYWx9LmNvbnRhaW5lci1IVEJKbzliYTo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LmNvbnRhaW5lci1IVEJKbzliYTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uY29udGFpbmVyLUhUQkpvOWJhOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LmNvbnRhaW5lci1IVEJKbzliYTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uY29udGFpbmVyLUhUQkpvOWJhLnRvcC1IVEJKbzliYXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/conversions_en.json","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.706Z","timestamp":1785136901706,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /conversions_en.json HTTP/1.1\r\nHost: s3.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://s.tradingview.com/\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/json\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: https://s.tradingview.com\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"515bac03f6b5494f4a2d397393953729\"\r\nlast-modified: Mon, 15 Jun 2026 15:45:26 GMT\r\nx-amz-id-2: AcTEzbgJj5UVjviOBerPMHl9CcyGFkXAB50eHmkW2BDfGgX4Yc7TglEScD4yMvyRQ/R65eYs1cIAtqsKtJeZ+qBUqkJPY/pt\r\nx-amz-request-id: X29DMBVXVHJYXCJD\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: Yn7olbYD7o6TYkLq4b0mzbwmM.NLtydg\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/15/2026 15:54:58\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1970e48b20bcb068cdee4909191417fc\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":32165,"size_decoded":7567,"mime_type":"application/json","magic":"JSON text data","md5":"c35fd928c50e8b2349e85132fa6f8286","sha1":"49b62853a99436088ce7d39b040dd57bb927544d","sha256":"ad70a372c2fb1521db79bec862591a3a359a6bcd2ebdd99235fa781df4830cb2","sha512":"1932532c69fa69b4a039070fcc8ef701e2411e0a55db2ff6691f28e1a85f907276924eb7a64ed86c180321be77bbca6b21729dc6b322d41e5143354536492d94","ssdeep":"192:VRw3A1ugr/uPIbl9oucdDYjUl5On5AIEZK0kLt707iY35IZCCxuUupPj8T+1JQAh:VREA//CIudDYjB5AXZWt7zY6ZCNphjT3","tlshash":"e8e243181e49fa249b9ad3e35cbbdc28e4bc0309c9a5c9cd4db387b9028c3d5e552977","first_seen":"2026-06-15T23:45:30.057746Z","last_seen":"2026-08-10T05:00:33.868159Z","times_seen":328,"resource_available":false,"data":"ewoiY3VycmVuY2llcyI6IFsKeyJpZCI6IkFFRCIsImNvZGUiOiJBRUQiLCJkZXNjcmlwdGlvbiI6IlVuaXRlZCBBcmFiIEVtaXJhdGVzIERpcmhhbSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BRSJ9LAp7ImlkIjoiQUZOIiwiY29kZSI6IkFGTiIsImRlc2NyaXB0aW9uIjoiQWZnaGFuIEFmZ2hhbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQUYifSwKeyJpZCI6IkFMTCIsImNvZGUiOiJBTEwiLCJkZXNjcmlwdGlvbiI6IkFsYmFuaWFuIExlayIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BTCJ9LAp7ImlkIjoiQU1EIiwiY29kZSI6IkFNRCIsImRlc2NyaXB0aW9uIjoiQXJtZW5pYW4gRHJhbSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BTSJ9LAp7ImlkIjoiQU9BIiwiY29kZSI6IkFPQSIsImRlc2NyaXB0aW9uIjoiQW5nb2xhbiBLd2FuemEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQU8ifSwKeyJpZCI6IkFSUyIsImNvZGUiOiJBUlMiLCJkZXNjcmlwdGlvbiI6IkFyZ2VudGluZSBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0FSIn0sCnsiaWQiOiJBVUQiLCJjb2RlIjoiQVVEIiwiZGVzY3JpcHRpb24iOiJBdXN0cmFsaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVSJ9LAp7ImlkIjoiQVdHIiwiY29kZSI6IkFXRyIsImRlc2NyaXB0aW9uIjoiQXJ1YmFuIEZsb3JpbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVyJ9LAp7ImlkIjoiQVpOIiwiY29kZSI6IkFaTiIsImRlc2NyaXB0aW9uIjoiQXplcmJhaWphbmkgTWFuYXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQVoifSwKeyJpZCI6IkJBTSIsImNvZGUiOiJCQU0iLCJkZXNjcmlwdGlvbiI6IkJvc25pYS1IZXJ6ZWdvdmluYSBDb252ZXJ0aWJsZSBNYXJrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JBIn0sCnsiaWQiOiJCQkQiLCJjb2RlIjoiQkJEIiwiZGVzY3JpcHRpb24iOiJCYXJiYWRpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JCIn0sCnsiaWQiOiJCRFQiLCJjb2RlIjoiQkRUIiwiZGVzY3JpcHRpb24iOiJCYW5nbGFkZXNoaSBUYWthIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JEIn0sCnsiaWQiOiJCR04iLCJjb2RlIjoiQkdOIiwiZGVzY3JpcHRpb24iOiJCdWxnYXJpYW4gTGV2Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JHIn0sCnsiaWQiOiJCSEQiLCJjb2RlIjoiQkhEIiwiZGVzY3JpcHRpb24iOiJCYWhyYWluaSBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CSCJ9LAp7ImlkIjoiQklGIiwiY29kZSI6IkJJRiIsImRlc2NyaXB0aW9uIjoiQnVydW5kaWFuIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JJIn0sCnsiaWQiOiJCTUQiLCJjb2RlIjoiQk1EIiwiZGVzY3JpcHRpb24iOiJCZXJtdWRhbiBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQk0ifSwKeyJpZCI6IkJORCIsImNvZGUiOiJCTkQiLCJkZXNjcmlwdGlvbiI6IkJydW5laSBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQk4ifSwKeyJpZCI6IkJPQiIsImNvZGUiOiJCT0IiLCJkZXNjcmlwdGlvbiI6IkJvbGl2aWFuIEJvbGl2aWFubyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CTyJ9LAp7ImlkIjoiQlJMIiwiY29kZSI6IkJSTCIsImRlc2NyaXB0aW9uIjoiQnJhemlsaWFuIFJlYWwiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQlIifSwKeyJpZCI6IkJTRCIsImNvZGUiOiJCU0QiLCJkZXNjcmlwdGlvbiI6IkJhaGFtaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CUyJ9LAp7ImlkIjoiQlROIiwiY29kZSI6IkJUTiIsImRlc2NyaXB0aW9uIjoiQmh1dGFuZXNlIE5ndWx0cnVtIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JUIn0sCnsiaWQiOiJCV1AiLCJjb2RlIjoiQldQIiwiZGVzY3JpcHRpb24iOiJCb3Rzd2FuYW4gUHVsYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CVyJ9LAp7ImlkIjoiQllOIiwiY29kZSI6IkJZTiIsImRlc2NyaXB0aW9uIjoiQmVsYXJ1c2lhbiBSdWJsZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CWSJ9LAp7ImlkIjoiQlpEIiwiY29kZSI6IkJaRCIsImRlc2NyaXB0aW9uIjoiQmVsaXplIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CWiJ9LAp7ImlkIjoiQ0FEIiwiY29kZSI6IkNBRCIsImRlc2NyaXB0aW9uIjoiQ2FuYWRpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NBIn0sCnsiaWQiOiJDREYiLCJjb2RlIjoiQ0RGIiwiZGVzY3JpcHRpb24iOiJDb25nb2xlc2UgRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ0QifSwKeyJpZCI6IkNIRiIsImNvZGUiOiJDSEYiLCJkZXNjcmlwdGlvbiI6IlN3aXNzIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NIIn0sCnsiaWQiOiJDTEYiLCJjb2RlIjoiQ0xGIiwiZGVzY3JpcHRpb24iOiJDaGlsZWFuIFVuaXQgb2YgQWNjb3VudCAoVUYpIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NMIn0sCnsiaWQiOiJDTFAiLCJjb2RlIjoiQ0xQIiwiZGVzY3JpcHRpb24iOiJDaGlsZWFuIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ0wifSwKeyJpZCI6IkNOWSIsImNvZGUiOiJDTlkiLCJkZXNjcmlwdGlvbiI6IkNoaW5lc2UgWXVhbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DTiJ9LAp7ImlkIjoiQ09QIiwiY29kZSI6IkNPUCIsImRlc2NyaXB0aW9uIjoiQ29sb21iaWFuIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ08ifSwKeyJpZCI6IkNSQyIsImNvZGUiOiJDUkMiLCJkZXNjcmlwdGlvbiI6IkNvc3RhIFJpY2FuIENvbMOzbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DUiJ9LAp7ImlkIjoiQ1VQIiwiY29kZSI6IkNVUCIsImRlc2NyaXB0aW9uIjoiQ3ViYW4gUGVzbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DVSJ9LAp7ImlkIjoiQ1ZFIiwiY29kZSI6IkNWRSIsImRlc2NyaXB0aW9uIjoiQ2FwZSBWZXJkZWFuIEVzY3VkbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DViJ9LAp7ImlkIjoiQ1pLIiwiY29kZSI6IkNaSyIsImRlc2NyaXB0aW9uIjoiQ3plY2ggS29ydW5hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NaIn0sCnsiaWQiOiJESkYiLCJjb2RlIjoiREpGIiwiZGVzY3JpcHRpb24iOiJEamlib3V0aWFuIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RKIn0sCnsiaWQiOiJES0siLCJjb2RlIjoiREtLIiwiZGVzY3JpcHRpb24iOiJEYW5pc2ggS3JvbmUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvREsifSwKeyJpZCI6IkRPUCIsImNvZGUiOiJET1AiLCJkZXNjcmlwdGlvbiI6IkRvbWluaWNhbiBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RPIn0sCnsiaWQiOiJEWkQiLCJjb2RlIjoiRFpEIiwiZGVzY3JpcHRpb24iOiJBbGdlcmlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9EWiJ9LAp7ImlkIjoiRUdQIiwiY29kZSI6IkVHUCIsImRlc2NyaXB0aW9uIjoiRWd5cHRpYW4gUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvRUcifSwKeyJpZCI6IkVSTiIsImNvZGUiOiJFUk4iLCJkZXNjcmlwdGlvbiI6IkVyaXRyZWFuIE5ha2ZhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0VSIn0sCnsiaWQiOiJFVEIiLCJjb2RlIjoiRVRCIiwiZGVzY3JpcHRpb24iOiJFdGhpb3BpYW4gQmlyciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FVCJ9LAp7ImlkIjoiRVVSIiwiY29kZSI6IkVVUiIsImRlc2NyaXB0aW9uIjoiRXVybyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FVSJ9LAp7ImlkIjoiRkpEIiwiY29kZSI6IkZKRCIsImRlc2NyaXB0aW9uIjoiRmlqaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9GSiJ9LAp7ImlkIjoiR0JQIiwiY29kZSI6IkdCUCIsImRlc2NyaXB0aW9uIjoiQnJpdGlzaCBQb3VuZCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HQiJ9LAp7ImlkIjoiR0VMIiwiY29kZSI6IkdFTCIsImRlc2NyaXB0aW9uIjoiR2VvcmdpYW4gTGFyaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HRSJ9LAp7ImlkIjoiR0hTIiwiY29kZSI6IkdIUyIsImRlc2NyaXB0aW9uIjoiR2hhbmFpYW4gQ2VkaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HSCJ9LAp7ImlkIjoiR0lQIiwiY29kZSI6IkdJUCIsImRlc2NyaXB0aW9uIjoiR2licmFsdGFyIFBvdW5kIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dJIn0sCnsiaWQiOiJHTUQiLCJjb2RlIjoiR01EIiwiZGVzY3JpcHRpb24iOiJHYW1iaWFuIERhbGFzaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HTSJ9LAp7ImlkIjoiR05GIiwiY29kZSI6IkdORiIsImRlc2NyaXB0aW9uIjoiR3VpbmVhbiBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HTiJ9LAp7ImlkIjoiR1RRIiwiY29kZSI6IkdUUSIsImRlc2NyaXB0aW9uIjoiR3VhdGVtYWxhbiBRdWV0emFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dUIn0sCnsiaWQiOiJHWUQiLCJjb2RlIjoiR1lEIiwiZGVzY3JpcHRpb24iOiJHdXlhbmFlc2UgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dZIn0sCnsiaWQiOiJIS0QiLCJjb2RlIjoiSEtEIiwiZGVzY3JpcHRpb24iOiJIb25nIEtvbmcgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0hLIn0sCnsiaWQiOiJITkwiLCJjb2RlIjoiSE5MIiwiZGVzY3JpcHRpb24iOiJIb25kdXJhbiBMZW1waXJhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0hOIn0sCnsiaWQiOiJIVEciLCJjb2RlIjoiSFRHIiwiZGVzY3JpcHRpb24iOiJIYWl0aWFuIEdvdXJkZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9IVCJ9LAp7ImlkIjoiSFVGIiwiY29kZSI6IkhVRiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuIEZvcmludCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9IVSJ9LAp7ImlkIjoiSURSIiwiY29kZSI6IklEUiIsImRlc2NyaXB0aW9uIjoiSW5kb25lc2lhbiBSdXBpYWgiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvSUQifSwKeyJpZCI6IklMUyIsImNvZGUiOiJJTFMiLCJkZXNjcmlwdGlvbiI6IklzcmFlbGkgTmV3IFNoZWtlbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JTCJ9LAp7ImlkIjoiSU5SIiwiY29kZSI6IklOUiIsImRlc2NyaXB0aW9uIjoiSW5kaWFuIFJ1cGVlIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lOIn0sCnsiaWQiOiJJUUQiLCJjb2RlIjoiSVFEIiwiZGVzY3JpcHRpb24iOiJJcmFxaSBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JUSJ9LAp7ImlkIjoiSVJSIiwiY29kZSI6IklSUiIsImRlc2NyaXB0aW9uIjoiSXJhbmlhbiBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lSIn0sCnsiaWQiOiJJU0siLCJjb2RlIjoiSVNLIiwiZGVzY3JpcHRpb24iOiJJY2VsYW5kaWMgS3LDs25hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lTIn0sCnsiaWQiOiJKTUQiLCJjb2RlIjoiSk1EIiwiZGVzY3JpcHRpb24iOiJKYW1haWNhbiBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvSk0ifSwKeyJpZCI6IkpPRCIsImNvZGUiOiJKT0QiLCJkZXNjcmlwdGlvbiI6IkpvcmRhbmlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9KTyJ9LAp7ImlkIjoiSlBZIiwiY29kZSI6IkpQWSIsImRlc2NyaXB0aW9uIjoiSmFwYW5lc2UgWWVuIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0pQIn0sCnsiaWQiOiJLRVMiLCJjb2RlIjoiS0VTIiwiZGVzY3JpcHRpb24iOiJLZW55YW4gU2hpbGxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS0UifSwKeyJpZCI6IktHUyIsImNvZGUiOiJLR1MiLCJkZXNjcmlwdGlvbiI6Ikt5cmd5c3RhbmkgU29tIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0tHIn0sCnsiaWQiOiJLSFIiLCJjb2RlIjoiS0hSIiwiZGVzY3JpcHRpb24iOiJDYW1ib2RpYW4gUmllbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9LSCJ9LAp7ImlkIjoiS01GIiwiY29kZSI6IktNRiIsImRlc2NyaXB0aW9uIjoiQ29tb3JpYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS00ifSwKeyJpZCI6IktQVyIsImNvZGUiOiJLUFciLCJkZXNjcmlwdGlvbiI6Ik5vcnRoIEtvcmVhbiBXb24iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1AifSwKeyJpZCI6IktSVyIsImNvZGUiOiJLUlciLCJkZXNjcmlwdGlvbiI6IlNvdXRoIEtvcmVhbiBXb24iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1IifSwKeyJpZCI6IktXRCIsImNvZGUiOiJLV0QiLCJkZXNjcmlwdGlvbiI6Ikt1d2FpdGkgRGluYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1cifSwKeyJpZCI6IktZRCIsImNvZGUiOiJLWUQiLCJkZXNjcmlwdGlvbiI6IkNheW1hbiBJc2xhbmRzIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9LWSJ9LAp7ImlkIjoiS1pUIiwiY29kZSI6IktaVCIsImRlc2NyaXB0aW9uIjoiS2F6YWtoc3RhbmkgVGVuZ2UiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1oifSwKeyJpZCI6IkxBSyIsImNvZGUiOiJMQUsiLCJkZXNjcmlwdGlvbiI6Ikxhb3RpYW4gS2lwIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0xBIn0sCnsiaWQiOiJMQlAiLCJjb2RlIjoiTEJQIiwiZGVzY3JpcHRpb24iOiJMZWJhbmVzZSBQb3VuZCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MQiJ9LAp7ImlkIjoiTEtSIiwiY29kZSI6IkxLUiIsImRlc2NyaXB0aW9uIjoiU3JpIExhbmthbiBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MSyJ9LAp7ImlkIjoiTFJEIiwiY29kZSI6IkxSRCIsImRlc2NyaXB0aW9uIjoiTGliZXJpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0xSIn0sCnsiaWQiOiJMU0wiLCJjb2RlIjoiTFNMIiwiZGVzY3JpcHRpb24iOiJMZXNvdGhvIExvdGkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTFMifSwKeyJpZCI6IkxZRCIsImNvZGUiOiJMWUQiLCJkZXNjcmlwdGlvbiI6IkxpYnlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MWSJ9LAp7ImlkIjoiTUFEIiwiY29kZSI6Ik1BRCIsImRlc2NyaXB0aW9uIjoiTW9yb2NjYW4gRGlyaGFtIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01BIn0sCnsiaWQiOiJNREwiLCJjb2RlIjoiTURMIiwiZGVzY3JpcHRpb24iOiJNb2xkb3ZhbiBMZXUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTUQifSwKeyJpZCI6Ik1HQSIsImNvZGUiOiJNR0EiLCJkZXNjcmlwdGlvbiI6Ik1hbGFnYXN5IEFyaWFyeSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NRyJ9LAp7ImlkIjoiTUtEIiwiY29kZSI6Ik1LRCIsImRlc2NyaXB0aW9uIjoiTWFjZWRvbmlhbiBEZW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NSyJ9LAp7ImlkIjoiTU1LIiwiY29kZSI6Ik1NSyIsImRlc2NyaXB0aW9uIjoiTXlhbm1hciBLeWF0Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01NIn0sCnsiaWQiOiJNTlQiLCJjb2RlIjoiTU5UIiwiZGVzY3JpcHRpb24iOiJNb25nb2xpYW4gVHVncmlrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01OIn0sCnsiaWQiOiJNT1AiLCJjb2RlIjoiTU9QIiwiZGVzY3JpcHRpb24iOiJNYWNhbmVzZSBQYXRhY2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTU8ifSwKeyJpZCI6Ik1SVSIsImNvZGUiOiJNUlUiLCJkZXNjcmlwdGlvbiI6Ik1hdXJpdGFuaWFuIG91Z3VpeWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVIifSwKeyJpZCI6Ik1VUiIsImNvZGUiOiJNVVIiLCJkZXNjcmlwdGlvbiI6Ik1hdXJpdGlhbiBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NVSJ9LAp7ImlkIjoiTVZSIiwiY29kZSI6Ik1WUiIsImRlc2NyaXB0aW9uIjoiTWFsZGl2aWFuIFJ1Zml5YWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVYifSwKeyJpZCI6Ik1XSyIsImNvZGUiOiJNV0siLCJkZXNjcmlwdGlvbiI6Ik1hbGF3aWFuIEt3YWNoYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NVyJ9LAp7ImlkIjoiTVhOIiwiY29kZSI6Ik1YTiIsImRlc2NyaXB0aW9uIjoiTWV4aWNhbiBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01YIn0sCnsiaWQiOiJNWFYiLCJjb2RlIjoiTVhWIiwiZGVzY3JpcHRpb24iOiJNZXhpY2FuIEludmVzdG1lbnQgVW5pdCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NWCJ9LAp7ImlkIjoiTVlSIiwiY29kZSI6Ik1ZUiIsImRlc2NyaXB0aW9uIjoiTWFsYXlzaWFuIFJpbmdnaXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVkifSwKeyJpZCI6Ik1aTiIsImNvZGUiOiJNWk4iLCJkZXNjcmlwdGlvbiI6Ik1vemFtYmljYW4gTWV0aWNhbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NWiJ9LAp7ImlkIjoiTkFEIiwiY29kZSI6Ik5BRCIsImRlc2NyaXB0aW9uIjoiTmFtaWJpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05BIn0sCnsiaWQiOiJOR04iLCJjb2RlIjoiTkdOIiwiZGVzY3JpcHRpb24iOiJOaWdlcmlhbiBOYWlyYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9ORyJ9LAp7ImlkIjoiTklPIiwiY29kZSI6Ik5JTyIsImRlc2NyaXB0aW9uIjoiTmljYXJhZ3VhbiBDw7NyZG9iYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9OSSJ9LAp7ImlkIjoiTk9LIiwiY29kZSI6Ik5PSyIsImRlc2NyaXB0aW9uIjoiTm9yd2VnaWFuIEtyb25lIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05PIn0sCnsiaWQiOiJOUFIiLCJjb2RlIjoiTlBSIiwiZGVzY3JpcHRpb24iOiJOZXBhbGVzZSBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9OUCJ9LAp7ImlkIjoiTlpEIiwiY29kZSI6Ik5aRCIsImRlc2NyaXB0aW9uIjoiTmV3IFplYWxhbmQgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05aIn0sCnsiaWQiOiJPTVIiLCJjb2RlIjoiT01SIiwiZGVzY3JpcHRpb24iOiJPbWFuaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L09NIn0sCnsiaWQiOiJQQUIiLCJjb2RlIjoiUEFCIiwiZGVzY3JpcHRpb24iOiJQYW5hbWFuaWFuIEJhbGJvYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9QQSJ9LAp7ImlkIjoiUEVOIiwiY29kZSI6IlBFTiIsImRlc2NyaXB0aW9uIjoiUGVydXZpYW4gU29sIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BFIn0sCnsiaWQiOiJQR0siLCJjb2RlIjoiUEdLIiwiZGVzY3JpcHRpb24iOiJQYXB1YSBOZXcgR3VpbmVhbiBLaW5hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BHIn0sCnsiaWQiOiJQSFAiLCJjb2RlIjoiUEhQIiwiZGVzY3JpcHRpb24iOiJQaGlsaXBwaW5lIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUEgifSwKeyJpZCI6IlBLUiIsImNvZGUiOiJQS1IiLCJkZXNjcmlwdGlvbiI6IlBha2lzdGFuaSBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9QSyJ9LAp7ImlkIjoiUExOIiwiY29kZSI6IlBMTiIsImRlc2NyaXB0aW9uIjoiUG9saXNoIFpsb3R5Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BMIn0sCnsiaWQiOiJQWUciLCJjb2RlIjoiUFlHIiwiZGVzY3JpcHRpb24iOiJQYXJhZ3VheWFuIEd1YXJhbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUFkifSwKeyJpZCI6IlFBUiIsImNvZGUiOiJRQVIiLCJkZXNjcmlwdGlvbiI6IlFhdGFyaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1FBIn0sCnsiaWQiOiJST04iLCJjb2RlIjoiUk9OIiwiZGVzY3JpcHRpb24iOiJSb21hbmlhbiBMZXUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUk8ifSwKeyJpZCI6IlJTRCIsImNvZGUiOiJSU0QiLCJkZXNjcmlwdGlvbiI6IlNlcmJpYW4gRGluYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlMifSwKeyJpZCI6IlJVQiIsImNvZGUiOiJSVUIiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gUnVibGUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlUifSwKeyJpZCI6IlJXRiIsImNvZGUiOiJSV0YiLCJkZXNjcmlwdGlvbiI6IlJ3YW5kYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlcifSwKeyJpZCI6IlNBUiIsImNvZGUiOiJTQVIiLCJkZXNjcmlwdGlvbiI6IlNhdWRpIFJpeWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NBIn0sCnsiaWQiOiJTQkQiLCJjb2RlIjoiU0JEIiwiZGVzY3JpcHRpb24iOiJTb2xvbW9uIElzbGFuZHMgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NCIn0sCnsiaWQiOiJTQ1IiLCJjb2RlIjoiU0NSIiwiZGVzY3JpcHRpb24iOiJTZXljaGVsbG9pcyBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9TQyJ9LAp7ImlkIjoiU0RHIiwiY29kZSI6IlNERyIsImRlc2NyaXB0aW9uIjoiU3VkYW5lc2UgUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0QifSwKeyJpZCI6IlNFSyIsImNvZGUiOiJTRUsiLCJkZXNjcmlwdGlvbiI6IlN3ZWRpc2ggS3JvbmEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0UifSwKeyJpZCI6IlNHRCIsImNvZGUiOiJTR0QiLCJkZXNjcmlwdGlvbiI6IlNpbmdhcG9yZSBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0cifSwKeyJpZCI6IlNMTCIsImNvZGUiOiJTTEwiLCJkZXNjcmlwdGlvbiI6IlNpZXJyYSBMZW9uZWFuIExlb25lIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NMIn0sCnsiaWQiOiJTT1MiLCJjb2RlIjoiU09TIiwiZGVzY3JpcHRpb24iOiJTb21hbGkgU2hpbGxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU08ifSwKeyJpZCI6IlNSRCIsImNvZGUiOiJTUkQiLCJkZXNjcmlwdGlvbiI6IlN1cmluYW1lc2UgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NSIn0sCnsiaWQiOiJTVE4iLCJjb2RlIjoiU1ROIiwiZGVzY3JpcHRpb24iOiJTYW8gVG9tZSBhbmQgUHJpbmNpcGUgZG9icmEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU1QifSwKeyJpZCI6IlNWQyIsImNvZGUiOiJTVkMiLCJkZXNjcmlwdGlvbiI6IlNhbHZhZG9yYW4gQ29sw7NuIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NWIn0sCnsiaWQiOiJTWVAiLCJjb2RlIjoiU1lQIiwiZGVzY3JpcHRpb24iOiJTeXJpYW4gUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU1kifSwKeyJpZCI6IlNaTCIsImNvZGUiOiJTWkwiLCJkZXNjcmlwdGlvbiI6IlN3YXppIExpbGFuZ2VuaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9TWiJ9LAp7ImlkIjoiVEhCIiwiY29kZSI6IlRIQiIsImRlc2NyaXB0aW9uIjoiVGhhaSBCYWh0Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RIIn0sCnsiaWQiOiJUSlMiLCJjb2RlIjoiVEpTIiwiZGVzY3JpcHRpb24iOiJUYWppa2lzdGFuaSBTb21vbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVEoifSwKeyJpZCI6IlRNVCIsImNvZGUiOiJUTVQiLCJkZXNjcmlwdGlvbiI6IlR1cmttZW5pc3RhbmkgTWFuYXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVE0ifSwKeyJpZCI6IlRORCIsImNvZGUiOiJUTkQiLCJkZXNjcmlwdGlvbiI6IlR1bmlzaWFuIERpbmFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1ROIn0sCnsiaWQiOiJUT1AiLCJjb2RlIjoiVE9QIiwiZGVzY3JpcHRpb24iOiJUb25nYW4gUGHKu2FuZ2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVE8ifSwKeyJpZCI6IlRSWSIsImNvZGUiOiJUUlkiLCJkZXNjcmlwdGlvbiI6IlR1cmtpc2ggTGlyYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9UUiJ9LAp7ImlkIjoiVFREIiwiY29kZSI6IlRURCIsImRlc2NyaXB0aW9uIjoiVHJpbmlkYWQgJiBUb2JhZ28gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RUIn0sCnsiaWQiOiJUV0QiLCJjb2RlIjoiVFdEIiwiZGVzY3JpcHRpb24iOiJOZXcgVGFpd2FuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9UVyJ9LAp7ImlkIjoiVFpTIiwiY29kZSI6IlRaUyIsImRlc2NyaXB0aW9uIjoiVGFuemFuaWFuIFNoaWxsaW5nIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RaIn0sCnsiaWQiOiJVQUgiLCJjb2RlIjoiVUFIIiwiZGVzY3JpcHRpb24iOiJVa3JhaW5pYW4gSHJ5dm5pYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VQSJ9LAp7ImlkIjoiVUdYIiwiY29kZSI6IlVHWCIsImRlc2NyaXB0aW9uIjoiVWdhbmRhbiBTaGlsbGluZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VRyJ9LAp7ImlkIjoiVVNEIiwiY29kZSI6IlVTRCIsImRlc2NyaXB0aW9uIjoiVVMgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VTIn0sCnsiaWQiOiJVWVUiLCJjb2RlIjoiVVlVIiwiZGVzY3JpcHRpb24iOiJVcnVndWF5YW4gUGVzbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VWSJ9LAp7ImlkIjoiVVpTIiwiY29kZSI6IlVaUyIsImRlc2NyaXB0aW9uIjoiVXpiZWtpc3RhbmkgU29tIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VaIn0sCnsiaWQiOiJWRVMiLCJjb2RlIjoiVkVTIiwiZGVzY3JpcHRpb24iOiJTb3ZlcmVpZ24gYm9sw612YXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVkUifSwKeyJpZCI6IlZORCIsImNvZGUiOiJWTkQiLCJkZXNjcmlwdGlvbiI6IlZpZXRuYW1lc2UgRG9uZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9WTiJ9LAp7ImlkIjoiVlVWIiwiY29kZSI6IlZVViIsImRlc2NyaXB0aW9uIjoiVmFudWF0dSBWYXR1Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1ZVIn0sCnsiaWQiOiJXU1QiLCJjb2RlIjoiV1NUIiwiZGVzY3JpcHRpb24iOiJTYW1vYW4gVGFsYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9XUyJ9LAp7ImlkIjoiWEFGIiwiY29kZSI6IlhBRiIsImRlc2NyaXB0aW9uIjoiQ2VudHJhbCBBZnJpY2FuIENGQSBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DRiJ9LAp7ImlkIjoiWENEIiwiY29kZSI6IlhDRCIsImRlc2NyaXB0aW9uIjoiRWFzdCBDYXJpYmJlYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0FHIn0sCnsiaWQiOiJYQ0ciLCJjb2RlIjoiWENHIiwiZGVzY3JpcHRpb24iOiJDYXJpYmJlYW4gZ3VpbGRlciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DVyJ9LAp7ImlkIjoiWERSIiwiY29kZSI6IlhEUiIsImRlc2NyaXB0aW9uIjoiU0RSIChTcGVjaWFsIERyYXdpbmcgUmlnaHQpIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VTIn0sCnsiaWQiOiJYT0YiLCJjb2RlIjoiWE9GIiwiZGVzY3JpcHRpb24iOiJXZXN0IEFmcmljYW4gQ0ZBIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JKIn0sCnsiaWQiOiJYUEYiLCJjb2RlIjoiWFBGIiwiZGVzY3JpcHRpb24iOiJDRlAgRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUEYifSwKeyJpZCI6IlhUVkFUUyIsImNvZGUiOiJBVFMiLCJkZXNjcmlwdGlvbiI6IkF1c3RyaWFuIFNjaGlsbGluZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVCJ9LAp7ImlkIjoiWFRWQkVGIiwiY29kZSI6IkJFRiIsImRlc2NyaXB0aW9uIjoiQmVsZ2lhbiBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CRSJ9LAp7ImlkIjoiWFRWQzFJTkNIIiwiY29kZSI6IjFJTkNIIiwiZGVzY3JpcHRpb24iOiIxaW5jaCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQzFJTkNIIn0sCnsiaWQiOiJYVFZDQUFWRSIsImNvZGUiOiJBQVZFIiwiZGVzY3JpcHRpb24iOiJBYXZlIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQUFWRSJ9LAp7ImlkIjoiWFRWQ0FEQSIsImNvZGUiOiJBREEiLCJkZXNjcmlwdGlvbiI6IkNhcmRhbm8iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNBREEifSwKeyJpZCI6IlhUVkNBTEdPIiwiY29kZSI6IkFMR08iLCJkZXNjcmlwdGlvbiI6IkFsZ29yYW5kIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQUxHTyJ9LAp7ImlkIjoiWFRWQ0FOS1IiLCJjb2RlIjoiQU5LUiIsImRlc2NyaXB0aW9uIjoiQW5rciIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FOS1IifSwKeyJpZCI6IlhUVkNBVE9NIiwiY29kZSI6IkFUT00iLCJkZXNjcmlwdGlvbiI6IkNvc21vcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FUT00ifSwKeyJpZCI6IlhUVkNBVkFYIiwiY29kZSI6IkFWQVgiLCJkZXNjcmlwdGlvbiI6IkF2YWxhbmNoZSIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FWQVgifSwKeyJpZCI6IlhUVkNBWFMiLCJjb2RlIjoiQVhTIiwiZGVzY3JpcHRpb24iOiJBeGllIEluZmluaXR5Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQVhTIn0sCnsiaWQiOiJYVFZDQkFUIiwiY29kZSI6IkJBVCIsImRlc2NyaXB0aW9uIjoiQmFzaWMgQXR0ZW50aW9uIFRva2VuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQkFUIn0sCnsiaWQiOiJYVFZDQkNIIiwiY29kZSI6IkJDSCIsImRlc2NyaXB0aW9uIjoiQml0Y29pbiBDYXNoIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQkNIIn0sCnsiaWQiOiJYVFZDQk5CIiwiY29kZSI6IkJOQiIsImRlc2NyaXB0aW9uIjoiQk5CIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQk5CIn0sCnsiaWQiOiJYVFZDQk5UIiwiY29kZSI6IkJOVCIsImRlc2NyaXB0aW9uIjoiQmFuY29yIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQk5UIn0sCnsiaWQiOiJYVFZDQlNWIiwiY29kZSI6IkJTViIsImRlc2NyaXB0aW9uIjoiQml0Y29pbiBTViIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0JTViJ9LAp7ImlkIjoiWFRWQ0JUQyIsImNvZGUiOiJCVEMiLCJkZXNjcmlwdGlvbiI6IkJpdGNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNCVEMifSwKeyJpZCI6IlhUVkNDQUtFIiwiY29kZSI6IkNBS0UiLCJkZXNjcmlwdGlvbiI6IlBhbmNha2VTd2FwIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ0FLRSJ9LAp7ImlkIjoiWFRWQ0NLQiIsImNvZGUiOiJDS0IiLCJkZXNjcmlwdGlvbiI6Ik5lcnZvcyBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ0tCIn0sCnsiaWQiOiJYVFZDQ09NUCIsImNvZGUiOiJDT01QIiwiZGVzY3JpcHRpb24iOiJDb21wb3VuZCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0NPTVAifSwKeyJpZCI6IlhUVkNDT1RJIiwiY29kZSI6IkNPVEkiLCJkZXNjcmlwdGlvbiI6IkNPVEkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNDT1RJIn0sCnsiaWQiOiJYVFZDQ1JWIiwiY29kZSI6IkNSViIsImRlc2NyaXB0aW9uIjoiQ3VydmUgREFPIFRva2VuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ1JWIn0sCnsiaWQiOiJYVFZDREFJIiwiY29kZSI6IkRBSSIsImRlc2NyaXB0aW9uIjoiRGFpIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDREFJIn0sCnsiaWQiOiJYVFZDRE9HRSIsImNvZGUiOiJET0dFIiwiZGVzY3JpcHRpb24iOiJEb2dlY29pbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0RPR0UifSwKeyJpZCI6IlhUVkNET1QiLCJjb2RlIjoiRE9UIiwiZGVzY3JpcHRpb24iOiJQb2xrYWRvdCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0RPVCJ9LAp7ImlkIjoiWFRWQ0RZRFgiLCJjb2RlIjoiRVRIRFlEWCIsImRlc2NyaXB0aW9uIjoiZFlkWCAoZXRoRFlEWCkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNEWURYIn0sCnsiaWQiOiJYVFZDRUdMRCIsImNvZGUiOiJFR0xEIiwiZGVzY3JpcHRpb24iOiJNdWx0aXZlcnNYIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDRUdMRCJ9LAp7ImlkIjoiWFRWQ0VPUyIsImNvZGUiOiJFT1MiLCJkZXNjcmlwdGlvbiI6IkVPUyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0VPUyJ9LAp7ImlkIjoiWFRWQ0VUQyIsImNvZGUiOiJFVEMiLCJkZXNjcmlwdGlvbiI6IkV0aGVyZXVtIENsYXNzaWMiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNFVEMifSwKeyJpZCI6IlhUVkNFVEgiLCJjb2RlIjoiRVRIIiwiZGVzY3JpcHRpb24iOiJFdGhlcmV1bSIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0VUSCJ9LAp7ImlkIjoiWFRWQ0ZJTCIsImNvZGUiOiJGSUwiLCJkZXNjcmlwdGlvbiI6IkZpbGVjb2luIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDRklMIn0sCnsiaWQiOiJYVFZDRlRNIiwiY29kZSI6IkZUTSIsImRlc2NyaXB0aW9uIjoiRmFudG9tIChNaWdyYXRlZCB0byBTb25pYykiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNGVE0ifSwKeyJpZCI6IlhUVkNGVFQiLCJjb2RlIjoiRlRUIiwiZGVzY3JpcHRpb24iOiJGVFggVG9rZW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNGVFQifSwKeyJpZCI6IlhUVkNHTk8iLCJjb2RlIjoiR05PIiwiZGVzY3JpcHRpb24iOiJHbm9zaXMiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNHTk8ifSwKeyJpZCI6IlhUVkNHUkFNIiwiY29kZSI6IkdSQU0iLCJkZXNjcmlwdGlvbiI6IkdyYW0gKHByZXYuIFRvbmNvaW4pIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDR1JBTSJ9LAp7ImlkIjoiWFRWQ0dSVCIsImNvZGUiOiJHUlQiLCJkZXNjcmlwdGlvbiI6IlRoZSBHcmFwaCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0dSQVBIIn0sCnsiaWQiOiJYVFZDSEJBUiIsImNvZGUiOiJIQkFSIiwiZGVzY3JpcHRpb24iOiJIZWRlcmEiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNIQkFSIn0sCnsiaWQiOiJYVFZDSE5UIiwiY29kZSI6IkhOVCIsImRlc2NyaXB0aW9uIjoiSGVsaXVtIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSE5UIn0sCnsiaWQiOiJYVFZDSE9UIiwiY29kZSI6IkhPVCIsImRlc2NyaXB0aW9uIjoiSG9sbyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0hPVCJ9LAp7ImlkIjoiWFRWQ0lDUCIsImNvZGUiOiJJQ1AiLCJkZXNjcmlwdGlvbiI6IkludGVybmV0IENvbXB1dGVyIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSUNQIn0sCnsiaWQiOiJYVFZDSU9UQSIsImNvZGUiOiJJT1RBIiwiZGVzY3JpcHRpb24iOiJJT1RBIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSU9UQSJ9LAp7ImlkIjoiWFRWQ0tBUyIsImNvZGUiOiJLQVMiLCJkZXNjcmlwdGlvbiI6Ikthc3BhIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0FTIn0sCnsiaWQiOiJYVFZDS0FWQSIsImNvZGUiOiJLQVZBIiwiZGVzY3JpcHRpb24iOiJLYXZhIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0FWQSJ9LAp7ImlkIjoiWFRWQ0tFRVAiLCJjb2RlIjoiS0VFUCIsImRlc2NyaXB0aW9uIjoiS2VlcCBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0VFUCJ9LAp7ImlkIjoiWFRWQ0tOQyIsImNvZGUiOiJLTkMiLCJkZXNjcmlwdGlvbiI6Ikt5YmVyIE5ldHdvcmsgQ3J5c3RhbCB2MiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0tOQyJ9LAp7ImlkIjoiWFRWQ0xFTyIsImNvZGUiOiJMRU8iLCJkZXNjcmlwdGlvbiI6IlVOVVMgU0VEIExFTyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0xFTyJ9LAp7ImlkIjoiWFRWQ0xJTksiLCJjb2RlIjoiTElOSyIsImRlc2NyaXB0aW9uIjoiQ2hhaW5saW5rIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDTElOSyJ9LAp7ImlkIjoiWFRWQ0xSQyIsImNvZGUiOiJMUkMiLCJkZXNjcmlwdGlvbiI6Ikxvb3ByaW5nIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDTFJDIn0sCnsiaWQiOiJYVFZDTFRDIiwiY29kZSI6IkxUQyIsImRlc2NyaXB0aW9uIjoiTGl0ZWNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNMVEMifSwKeyJpZCI6IlhUVkNNQU5BIiwiY29kZSI6Ik1BTkEiLCJkZXNjcmlwdGlvbiI6IkRlY2VudHJhbGFuZCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ01BTkEifSwKeyJpZCI6IlhUVkNNQVRJQyIsImNvZGUiOiJNQVRJQyIsImRlc2NyaXB0aW9uIjoiUG9seWdvbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ01BVElDIn0sCnsiaWQiOiJYVFZDTUtSIiwiY29kZSI6Ik1LUiIsImRlc2NyaXB0aW9uIjoiTWFrZXIiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNNS1IifSwKeyJpZCI6IlhUVkNORUFSIiwiY29kZSI6Ik5FQVIiLCJkZXNjcmlwdGlvbiI6Ik5FQVIgUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNORUFSIn0sCnsiaWQiOiJYVFZDTkgiLCJjb2RlIjoiQ05IIiwiZGVzY3JpcHRpb24iOiJDaGluZXNlIHl1YW4gb2Zmc2hvcmUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ04ifSwKeyJpZCI6IlhUVkNPQ0VBTiIsImNvZGUiOiJPQ0VBTiIsImRlc2NyaXB0aW9uIjoiT2NlYW4gUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNPQ0VBTiJ9LAp7ImlkIjoiWFRWQ09ORSIsImNvZGUiOiJPTkUiLCJkZXNjcmlwdGlvbiI6Ikhhcm1vbnkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNPTkUifSwKeyJpZCI6IlhUVkNQRVJQIiwiY29kZSI6IlBFUlAiLCJkZXNjcmlwdGlvbiI6IlBlcnBldHVhbCBQcm90b2NvbCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1BFUlAifSwKeyJpZCI6IlhUVkNSRU4iLCJjb2RlIjoiUkVOIiwiZGVzY3JpcHRpb24iOiJSZW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNSRU4ifSwKeyJpZCI6IlhUVkNSRVEiLCJjb2RlIjoiUkVRIiwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDUkVRIn0sCnsiaWQiOiJYVFZDUk9TRSIsImNvZGUiOiJST1NFIiwiZGVzY3JpcHRpb24iOiJPYXNpcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1JPU0UifSwKeyJpZCI6IlhUVkNSU1IiLCJjb2RlIjoiUlNSIiwiZGVzY3JpcHRpb24iOiJSZXNlcnZlIFJpZ2h0cyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1JTUiJ9LAp7ImlkIjoiWFRWQ1JVTkUiLCJjb2RlIjoiUlVORSIsImRlc2NyaXB0aW9uIjoiVEhPUkNoYWluIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDUlVORSJ9LAp7ImlkIjoiWFRWQ1NBTkQiLCJjb2RlIjoiU0FORCIsImRlc2NyaXB0aW9uIjoiVGhlIFNhbmRib3giLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTQU5EIn0sCnsiaWQiOiJYVFZDU0NSVCIsImNvZGUiOiJTQ1JUIiwiZGVzY3JpcHRpb24iOiJTZWNyZXQiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTQ1JUIn0sCnsiaWQiOiJYVFZDU0hJQiIsImNvZGUiOiJTSElCIiwiZGVzY3JpcHRpb24iOiJTaGliYSBJbnUiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTSElCIn0sCnsiaWQiOiJYVFZDU05YIiwiY29kZSI6IlNOWCIsImRlc2NyaXB0aW9uIjoiU3ludGhldGl4Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU05YIn0sCnsiaWQiOiJYVFZDU09MIiwiY29kZSI6IlNPTCIsImRlc2NyaXB0aW9uIjoiU29sYW5hIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU09MIn0sCnsiaWQiOiJYVFZDU1JNIiwiY29kZSI6IlNSTSIsImRlc2NyaXB0aW9uIjoiU2VydW0iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTUk0ifSwKeyJpZCI6IlhUVkNTVVNISSIsImNvZGUiOiJTVVNISSIsImRlc2NyaXB0aW9uIjoiU3VzaGlTd2FwIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU1VTSEkifSwKeyJpZCI6IlhUVkNTWFAiLCJjb2RlIjoiU1hQIiwiZGVzY3JpcHRpb24iOiJTb2xhciIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1NYUCJ9LAp7ImlkIjoiWFRWQ1RIRVRBIiwiY29kZSI6IlRIRVRBIiwiZGVzY3JpcHRpb24iOiJUaGV0YSBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVEhFVEEifSwKeyJpZCI6IlhUVkNUTE9TIiwiY29kZSI6IlRMT1MiLCJkZXNjcmlwdGlvbiI6IlRlbG9zIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVExPUyJ9LAp7ImlkIjoiWFRWQ1RPTiIsImNvZGUiOiJUT04iLCJkZXNjcmlwdGlvbiI6IlRvbmNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNUT04ifSwKeyJpZCI6IlhUVkNUUlgiLCJjb2RlIjoiVFJYIiwiZGVzY3JpcHRpb24iOiJUUk9OIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVFJYIn0sCnsiaWQiOiJYVFZDVU1BIiwiY29kZSI6IlVNQSIsImRlc2NyaXB0aW9uIjoiVU1BIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVU1BIn0sCnsiaWQiOiJYVFZDVU5JIiwiY29kZSI6IlVOSSIsImRlc2NyaXB0aW9uIjoiVW5pc3dhcCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1VOSSJ9LAp7ImlkIjoiWFRWQ1VTREMiLCJjb2RlIjoiVVNEQyIsImRlc2NyaXB0aW9uIjoiVVNEQyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1VTREMifSwKeyJpZCI6IlhUVkNVU0RUIiwiY29kZSI6IlVTRFQiLCJkZXNjcmlwdGlvbiI6IlRldGhlciBVU0R0Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVVNEVCJ9LAp7ImlkIjoiWFRWQ1ZFVCIsImNvZGUiOiJWRVQiLCJkZXNjcmlwdGlvbiI6IlZlQ2hhaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNWRVQifSwKeyJpZCI6IlhUVkNXQlRDIiwiY29kZSI6IldCVEMiLCJkZXNjcmlwdGlvbiI6IldyYXBwZWQgQml0Y29pbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1dCVEMifSwKeyJpZCI6IlhUVkNYQVVUIiwiY29kZSI6IlhBVVQiLCJkZXNjcmlwdGlvbiI6IlRldGhlciBHb2xkIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDWEFVVCJ9LAp7ImlkIjoiWFRWQ1hMTSIsImNvZGUiOiJYTE0iLCJkZXNjcmlwdGlvbiI6IlN0ZWxsYXIiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYTE0ifSwKeyJpZCI6IlhUVkNYTVIiLCJjb2RlIjoiWE1SIiwiZGVzY3JpcHRpb24iOiJNb25lcm8iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYTVIifSwKeyJpZCI6IlhUVkNYUlAiLCJjb2RlIjoiWFJQIiwiZGVzY3JpcHRpb24iOiJYUlAiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYUlAifSwKeyJpZCI6IlhUVkNYVFoiLCJjb2RlIjoiWFRaIiwiZGVzY3JpcHRpb24iOiJUZXpvcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1hUWiJ9LAp7ImlkIjoiWFRWQ1lGSSIsImNvZGUiOiJZRkkiLCJkZXNjcmlwdGlvbiI6IlllYXJuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDWUZJIn0sCnsiaWQiOiJYVFZDWlJYIiwiY29kZSI6IlpSWCIsImRlc2NyaXB0aW9uIjoiMHggUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNaUlgifSwKeyJpZCI6IlhUVkRFTSIsImNvZGUiOiJERU0iLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiBNYXJrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RFIn0sCnsiaWQiOiJYVFZFU1AiLCJjb2RlIjoiRVNQIiwiZGVzY3JpcHRpb24iOiJTcGFuaXNoIFBlc2V0YSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FUyJ9LAp7ImlkIjoiWFRWRklNIiwiY29kZSI6IkZJTSIsImRlc2NyaXB0aW9uIjoiRmlubmlzaCBNYXJra2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvRkkifSwKeyJpZCI6IlhUVkZSRiIsImNvZGUiOiJGUkYiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9GUiJ9LAp7ImlkIjoiWFRWR0JYIiwiY29kZSI6IkdCWCIsImRlc2NyaXB0aW9uIjoiUGVuY2Ugc3RlcmxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvR0IifSwKeyJpZCI6IlhUVkdSRCIsImNvZGUiOiJHUkQiLCJkZXNjcmlwdGlvbiI6IkdyZWVrIERyYWNobWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvR1IifSwKeyJpZCI6IlhUVklFUCIsImNvZGUiOiJJRVAiLCJkZXNjcmlwdGlvbiI6IklyaXNoIFBvdW5kIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lFIn0sCnsiaWQiOiJYVFZJTEEiLCJjb2RlIjoiSUxBIiwiZGVzY3JpcHRpb24iOiJJc3JhZWxpIGFnb3JvdCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JTCJ9LAp7ImlkIjoiWFRWSVRMIiwiY29kZSI6IklUTCIsImRlc2NyaXB0aW9uIjoiSXRhbGlhbiBMaXJhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lUIn0sCnsiaWQiOiJYVFZLV0YiLCJjb2RlIjoiS1dGIiwiZGVzY3JpcHRpb24iOiJLdXdhaXRpIGZpbHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1cifSwKeyJpZCI6IlhUVkxVRiIsImNvZGUiOiJMVUYiLCJkZXNjcmlwdGlvbiI6Ikx1eGVtYm91cmdpYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTFUifSwKeyJpZCI6IlhUVk5MRyIsImNvZGUiOiJOTEciLCJkZXNjcmlwdGlvbiI6IkR1dGNoIEd1aWxkZXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTkwifSwKeyJpZCI6IlhUVlBURSIsImNvZGUiOiJQVEUiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgRXNjdWRvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BUIn0sCnsiaWQiOiJYVFZTSVQiLCJjb2RlIjoiU0lUIiwiZGVzY3JpcHRpb24iOiJTbG92ZW5pYW4gVG9sYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0kifSwKeyJpZCI6IlhUVlVTWCIsImNvZGUiOiJVU1giLCJkZXNjcmlwdGlvbiI6IlUuUy4gY2VudHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVVMifSwKeyJpZCI6IlhUVlpBQyIsImNvZGUiOiJaQUMiLCJkZXNjcmlwdGlvbiI6IlNvdXRoIEFmcmljYW4gY2VudHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvWkEifSwKeyJpZCI6IllFUiIsImNvZGUiOiJZRVIiLCJkZXNjcmlwdGlvbiI6IlllbWVuaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1lFIn0sCnsiaWQiOiJaQVIiLCJjb2RlIjoiWkFSIiwiZGVzY3JpcHRpb24iOiJTb3V0aCBBZnJpY2FuIFJhbmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvWkEifSwKeyJpZCI6IlpNVyIsImNvZGUiOiJaTVciLCJkZXNjcmlwdGlvbiI6IlphbWJpYW4gS3dhY2hhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1pNIn0KXSwKInVuaXRzIjogWwp7ImlkIjoiMTAwS0dNIiwibmFtZSI6IjEwMGtnIiwiZGVzY3JpcHRpb24iOiIxMDAga2lsb2dyYW1zIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IjEwS0dNIiwibmFtZSI6IjEwa2ciLCJkZXNjcmlwdGlvbiI6IjEwIGtpbG9ncmFtcyIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiIyMEtHTSIsIm5hbWUiOiIyMGtnIiwiZGVzY3JpcHRpb24iOiIyMCBraWxvZ3JhbXMiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiNDBLR00iLCJuYW1lIjoiNDBrZyIsImRlc2NyaXB0aW9uIjoiNDAga2lsb2dyYW1zIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IjYwS0dNIiwibmFtZSI6IjYwa2ciLCJkZXNjcmlwdGlvbiI6IjYwIGtpbG9ncmFtcyIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJBUFoiLCJuYW1lIjoiYXBveiIsImRlc2NyaXB0aW9uIjoidHJveSBvdW5jZSIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJBUlJPQkEiLCJuYW1lIjoiYXJyb2JhIiwiZGVzY3JpcHRpb24iOiJhcnJvYmEiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiQkxEIiwibmFtZSI6IkJMRCIsImRlc2NyaXB0aW9uIjoiZHJ5IGJhcnJlbCAoVVMpIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiQkxMIiwibmFtZSI6IkJMTCIsImRlc2NyaXB0aW9uIjoiYmFycmVsIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJCTExQREFZIiwibmFtZSI6IkJMTC9kYXkiLCJkZXNjcmlwdGlvbiI6ImJhcnJlbCBwZXIgZGF5IiwidHlwZSI6ImJsbHBlcmRheSJ9LAp7ImlkIjoiQlJUIiwibmFtZSI6IkJSVCIsImRlc2NyaXB0aW9uIjoiYmlydGggcmF0ZSIsInR5cGUiOiJiaXJ0aHNwZXJ0aG91c2FuZHBlb3BsZSJ9LAp7ImlkIjoiQlRVIiwibmFtZSI6IkJ0dSIsImRlc2NyaXB0aW9uIjoiQnJpdGlzaCB0aGVybWFsIHVuaXQiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJCVUEiLCJuYW1lIjoiQlVBIiwiZGVzY3JpcHRpb24iOiJidXNoZWwgKFVTKSIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkJVSSIsIm5hbWUiOiJCVUkiLCJkZXNjcmlwdGlvbiI6ImJ1c2hlbCAoVUspIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiQ0FQIiwibmFtZSI6IkNBUCIsImRlc2NyaXB0aW9uIjoiY29tcGFueSBhbmQgcGVyc29uIiwidHlwZSI6ImNvbXBhbnlhbmRwZXJzb24ifSwKeyJpZCI6IkNBU0VTIiwibmFtZSI6IkNhc2VzLzEwMDAwIiwiZGVzY3JpcHRpb24iOiJjYXNlcyBwZXIgMTAwMDAgcGVvcGxlIiwidHlwZSI6ImNhc2VzcGVyMTAwMDAifSwKeyJpZCI6IkNNUE5ZIiwibmFtZSI6IkNNUE5ZIiwiZGVzY3JpcHRpb24iOiJjb21wYW55IiwidHlwZSI6ImNvbXBhbnkifSwKeyJpZCI6IkNNUSIsIm5hbWUiOiJjbTMiLCJkZXNjcmlwdGlvbiI6ImNtMyIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkNOVFJUIiwibmFtZSI6ImNvbnRyYWN0IiwiZGVzY3JpcHRpb24iOiJjb250cmFjdCIsInR5cGUiOiJjb250cmFjdCJ9LAp7ImlkIjoiQ1JMIiwibmFtZSI6IkNSTCIsImRlc2NyaXB0aW9uIjoiY2FybG9hZCIsInR5cGUiOiJjYXJsb2FkIn0sCnsiaWQiOiJDV0EiLCJuYW1lIjoiQ1dBIiwiZGVzY3JpcHRpb24iOiJodW5kcmVkd2VpZ2h0IFVTIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IkNXSSIsIm5hbWUiOiJDV0kiLCJkZXNjcmlwdGlvbiI6Imh1bmRyZWR3ZWlnaHQgVUsiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiREFHIiwibmFtZSI6ImRhZyIsImRlc2NyaXB0aW9uIjoiZGVjYWdyYW0iLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiREFZIiwibmFtZSI6ImRheSIsImRlc2NyaXB0aW9uIjoiZGF5IiwidHlwZSI6InRpbWUifSwKeyJpZCI6IkRFR0MiLCJuYW1lIjoiREVHQyIsImRlc2NyaXB0aW9uIjoiZGVncmVlcyBDZWxzaXVzIiwidHlwZSI6InRlbXBlcmF0dXJlIn0sCnsiaWQiOiJET1oiLCJuYW1lIjoiRE9aIiwiZGVzY3JpcHRpb24iOiJkb3plbiIsInR5cGUiOiJkb3plbiJ9LAp7ImlkIjoiRVVBIiwibmFtZSI6IkVVQSIsImRlc2NyaXB0aW9uIjoiRVUgYWxsb3dhbmNlIiwidHlwZSI6ImFsbG93YW5jZSJ9LAp7ImlkIjoiRlRRIiwibmFtZSI6ImZ0MyIsImRlc2NyaXB0aW9uIjoiZnQzIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiR0pPIiwibmFtZSI6ImdKIiwiZGVzY3JpcHRpb24iOiJnaWdham91bGUiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJHTEQiLCJuYW1lIjoiR0xEIiwiZGVzY3JpcHRpb24iOiJkcnkgZ2FsbG9uIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJHTEkiLCJuYW1lIjoiR0xJIiwiZGVzY3JpcHRpb24iOiJnYWxsb24gKFVLKSIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkdMTCIsIm5hbWUiOiJHTEwiLCJkZXNjcmlwdGlvbiI6ImdhbGxvbiAoVVMpIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiR1JNIiwibmFtZSI6ImciLCJkZXNjcmlwdGlvbiI6ImdyYW0iLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiR1dIIiwibmFtZSI6IkdXaCIsImRlc2NyaXB0aW9uIjoiZ2lnYXdhdHQgaG91ciIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IkhJUkUiLCJuYW1lIjoiSGlyZSIsImRlc2NyaXB0aW9uIjoiaGlyZSIsInR5cGUiOiJoaXJlIn0sCnsiaWQiOiJITFQiLCJuYW1lIjoiaGwiLCJkZXNjcmlwdGlvbiI6ImhlY3RvbGl0cmUiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJIT1VSIiwibmFtZSI6ImhvdXIiLCJkZXNjcmlwdGlvbiI6ImhvdXIiLCJ0eXBlIjoidGltZSJ9LAp7ImlkIjoiSFMiLCJuYW1lIjoiSG91c2UiLCJkZXNjcmlwdGlvbiI6ImhvdXNlIiwidHlwZSI6ImhvdXNlIn0sCnsiaWQiOiJIU0giLCJuYW1lIjoiSFNIIiwiZGVzY3JpcHRpb24iOiJob3VzZWhvbGQiLCJ0eXBlIjoiaG91c2Vob2xkIn0sCnsiaWQiOiJIU0kiLCJuYW1lIjoiSFNJIiwiZGVzY3JpcHRpb24iOiJob3VzaW5nIGludmVudG9yeSIsInR5cGUiOiJob3VzaW5naW52ZW50b3J5In0sCnsiaWQiOiJJTkQiLCJuYW1lIjoiSU5EIiwiZGVzY3JpcHRpb24iOiJpbmRpY2F0b3IiLCJ0eXBlIjoiaW5kaWNhdG9yIn0sCnsiaWQiOiJJUCIsIm5hbWUiOiJJUCIsImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyIsInR5cGUiOiJpcCJ9LAp7ImlkIjoiSkJPIiwibmFtZSI6IkpCTyIsImRlc2NyaXB0aW9uIjoiam9iIG9wZW5pbmciLCJ0eXBlIjoiam9ib3BlbmluZyJ9LAp7ImlkIjoiSkxDIiwibmFtZSI6IkpMQyIsImRlc2NyaXB0aW9uIjoiam9ibGVzcyBjbGFpbSIsInR5cGUiOiJqb2JsZXNzY2xhaW0ifSwKeyJpZCI6IkpPVSIsIm5hbWUiOiJKIiwiZGVzY3JpcHRpb24iOiJqb3VsZSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IktCUFMiLCJuYW1lIjoia2JwcyIsImRlc2NyaXB0aW9uIjoia2lsb2JpdCBwZXIgc2Vjb25kIiwidHlwZSI6Im5ldHdvcmtiYW5kd2l0aCJ9LAp7ImlkIjoiS0dNIiwibmFtZSI6ImtnIiwiZGVzY3JpcHRpb24iOiJraWxvZ3JhbSIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJLSk8iLCJuYW1lIjoia0oiLCJkZXNjcmlwdGlvbiI6ImtpbG9qb3VsZSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IktXSCIsIm5hbWUiOiJrV2giLCJkZXNjcmlwdGlvbiI6ImtpbG93YXR0IGhvdXIiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJMQUQiLCJuYW1lIjoiTEFEIiwiZGVzY3JpcHRpb24iOiJsYXlvZmYgYW5kIGRpc2NoYXJnZSIsInR5cGUiOiJsYXlvZmZhbmRkaXNjaGFyZ2UifSwKeyJpZCI6IkxCUiIsIm5hbWUiOiJsYiIsImRlc2NyaXB0aW9uIjoicG91bmQiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiTFROIiwibmFtZSI6Imx0IiwiZGVzY3JpcHRpb24iOiJsb25nIHRvbiIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJMVFIiLCJuYW1lIjoibCIsImRlc2NyaXB0aW9uIjoibGl0cmUiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJNQSIsIm5hbWUiOiJtb3J0Z2FnZSBhcGwuIiwiZGVzY3JpcHRpb24iOiJtb3J0Z2FnZSBhcHBsaWNhdGlvbiIsInR5cGUiOiJtb3J0Z2FnZWFwcGxpY2F0aW9uIn0sCnsiaWQiOiJNQkYiLCJuYW1lIjoiTUJGIiwiZGVzY3JpcHRpb24iOiIxMDAwIGJvYXJkIGZlZXQiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJNTUJUVSIsIm5hbWUiOiJNTUJ0dSIsImRlc2NyaXB0aW9uIjoibWlsbGlvbiBCcml0aXNoIHRoZXJtYWwgdW5pdCIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6Ik1NVFIiLCJuYW1lIjoiTWlsbGltZXRlciIsImRlc2NyaXB0aW9uIjoibWlsbGltZXRlciIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6Ik1PTlRIIiwibmFtZSI6Im1vbnRoIiwiZGVzY3JpcHRpb24iOiJtb250aCIsInR5cGUiOiJ0aW1lIn0sCnsiaWQiOiJNVCIsIm5hbWUiOiJNVCIsImRlc2NyaXB0aW9uIjoibWV0cmljIHRvbm5lIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6Ik1USyIsIm5hbWUiOiJtMiIsImRlc2NyaXB0aW9uIjoibTIiLCJ0eXBlIjoiYXJlYSJ9LAp7ImlkIjoiTVRRIiwibmFtZSI6Im0zIiwiZGVzY3JpcHRpb24iOiJtMyIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6Ik1XRCIsIm5hbWUiOiJNV2QiLCJkZXNjcmlwdGlvbiI6Im1lZ2F3YXR0IGRheSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6Ik1XSCIsIm5hbWUiOiLQnFdoIiwiZGVzY3JpcHRpb24iOiJtZWdhd2F0dCBob3VyIiwidHlwZSI6ImVuZXJneSJ9LAp7ImlkIjoiTkJMIiwibmFtZSI6Ik5CTCIsImRlc2NyaXB0aW9uIjoibmV0IGJhbGFuY2UiLCJ0eXBlIjoibmV0YmFsYW5jZSJ9LAp7ImlkIjoiTk1JIiwibmFtZSI6Ik5NSSIsImRlc2NyaXB0aW9uIjoibmF1dGljYWwgbWlsZSIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6Ik9OWiIsIm5hbWUiOiJPTloiLCJkZXNjcmlwdGlvbiI6Im91bmNlIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6Ik9aQSIsIm5hbWUiOiJPWkEiLCJkZXNjcmlwdGlvbiI6ImZsdWlkIG91bmNlIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJPWkkiLCJuYW1lIjoiT1pJIiwiZGVzY3JpcHRpb24iOiJmbHVpZCBvdW5jZSAoVUspIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiUEFZUk9MTCIsIm5hbWUiOiJQYXlyb2xsIiwiZGVzY3JpcHRpb24iOiJwYXlyb2xsIiwidHlwZSI6InBheXJvbGwifSwKeyJpZCI6IlBDVCIsIm5hbWUiOiIlIiwiZGVzY3JpcHRpb24iOiJwZXJjZW50IiwidHlwZSI6InBlcmNlbnQifSwKeyJpZCI6IlBDVERZIiwibmFtZSI6IkRpc2NvdW50IHlpZWxkLCAlIiwiZGVzY3JpcHRpb24iOiJkaXNjb3VudCB5aWVsZCIsInR5cGUiOiJwZXJjZW50In0sCnsiaWQiOiJQQ1RHRFAiLCJuYW1lIjoiJSBvZiBHRFAiLCJkZXNjcmlwdGlvbiI6InBlcmNlbnQgb2YgR0RQIiwidHlwZSI6InBlcmNlbnQifSwKeyJpZCI6IlBDVFBBUiIsIm5hbWUiOiIlIG9mIHBhciIsImRlc2NyaXB0aW9uIjoicGVyY2VudCBvZiBwYXIiLCJ0eXBlIjoicGVyY2VudCJ9LAp7ImlkIjoiUENUWVRNIiwibmFtZSI6IllUTSwgJSIsImRlc2NyaXB0aW9uIjoieWllbGQgdG8gbWF0dXJpdHkiLCJ0eXBlIjoicGVyY2VudCJ9LAp7ImlkIjoiUEhUUCIsIm5hbWUiOiJQSFRQIiwiZGVzY3JpcHRpb24iOiJwZXIgMTAwIDAwMCBwZW9wbGUiLCJ0eXBlIjoicGVyMTAwMDAwcGVvcGxlIn0sCnsiaWQiOiJQTVAiLCJuYW1lIjoiUE1QIiwiZGVzY3JpcHRpb24iOiJwZXIgb25lIG1pbGxpb24gcGVvcGxlIiwidHlwZSI6InBlcm9uZW1pbGxpb25wZW9wbGUifSwKeyJpZCI6IlBPSU5UIiwibmFtZSI6InBvaW50IiwiZGVzY3JpcHRpb24iOiJwb2ludCIsInR5cGUiOiJwb2ludCJ9LAp7ImlkIjoiUFBMIiwibmFtZSI6IlBQTCIsImRlc2NyaXB0aW9uIjoicGVvcGxlIiwidHlwZSI6InBlb3BsZSJ9LAp7ImlkIjoiUFNOIiwibmFtZSI6IlBTTiIsImRlc2NyaXB0aW9uIjoicGVyc29uIiwidHlwZSI6InBlcnNvbiJ9LAp7ImlkIjoiUFRQIiwibmFtZSI6IlBUUCIsImRlc2NyaXB0aW9uIjoicGVyIDEwMDAgcGVvcGxlIiwidHlwZSI6InBlcjEwMDBwZW9wbGUifSwKeyJpZCI6IlJBVElPIiwibmFtZSI6IlJhdGlvIiwiZGVzY3JpcHRpb24iOiJyYXRpbyIsInR5cGUiOiJyYXRpbyJ9LAp7ImlkIjoiUlBNSSIsIm5hbWUiOiJSUE1JIiwiZGVzY3JpcHRpb24iOiJyZXZlbnVlIHBhc3NlbmdlciBtaWxlIiwidHlwZSI6InJldmVudWVwYXNzZW5nZXJtaWxlIn0sCnsiaWQiOiJTRVAiLCJuYW1lIjoiU0VQIiwiZGVzY3JpcHRpb24iOiJzZXBhcmFpb24iLCJ0eXBlIjoic2VwYXJhdGlvbiJ9LAp7ImlkIjoiU0hBUkUiLCJuYW1lIjoic2hhcmUiLCJkZXNjcmlwdGlvbiI6InNoYXJlIiwidHlwZSI6InNoYXJlIn0sCnsiaWQiOiJTTUkiLCJuYW1lIjoiTWlsZSIsImRlc2NyaXB0aW9uIjoibWlsZSIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6IlNUTiIsIm5hbWUiOiJTVE4iLCJkZXNjcmlwdGlvbiI6InNob3J0IHRvbiIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJUQ00iLCJuYW1lIjoidGNtIiwiZGVzY3JpcHRpb24iOiJ0aG91c2FuZCBjdWJpYyBtZXRyZXMiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJURlIiLCJuYW1lIjoiVEZSIiwiZGVzY3JpcHRpb24iOiJ0b3RhbCBmZXJ0aWxpdHkgcmF0ZSIsInR5cGUiOiJiaXJ0aHNwZXJ3b21hbiJ9LAp7ImlkIjoiVElWIiwibmFtZSI6IlRJViIsImRlc2NyaXB0aW9uIjoiU0lQUkkgVElWIiwidHlwZSI6InNpcHJpdGl2In0sCnsiaWQiOiJUTkUiLCJuYW1lIjoidCIsImRlc2NyaXB0aW9uIjoidG9ubmUiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiVFdIIiwibmFtZSI6IlRXaCIsImRlc2NyaXB0aW9uIjoidGVyYXdhdHQgaG91ciIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IlRoR0IiLCJuYW1lIjoidGhhaWdvbGRiYWh0IiwiZGVzY3JpcHRpb24iOiJ0aGFpIGdvbGQgYmFodCIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJVS0EiLCJuYW1lIjoiVUtBIiwiZGVzY3JpcHRpb24iOiJVSyBhbGxvd2FuY2UiLCJ0eXBlIjoiYWxsb3dhbmNlIn0sCnsiaWQiOiJVTklUIiwibmFtZSI6InVuaXQiLCJkZXNjcmlwdGlvbiI6InVuaXQiLCJ0eXBlIjoidW5pdCJ9LAp7ImlkIjoiVkNOQ1kiLCJuYW1lIjoiVkNOQ1kiLCJkZXNjcmlwdGlvbiI6ImpvYiB2YWNhbmNpZXMiLCJ0eXBlIjoidmFjYW5jeSJ9LAp7ImlkIjoiV0NEIiwibmFtZSI6ImNvcmQiLCJkZXNjcmlwdGlvbiI6IkNvcmQiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJXRUVLIiwibmFtZSI6IndlZWsiLCJkZXNjcmlwdGlvbiI6IndlZWsiLCJ0eXBlIjoidGltZSJ9LAp7ImlkIjoiV0hSIiwibmFtZSI6IldoIiwiZGVzY3JpcHRpb24iOiJ3YXR0IGhvdXIiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJZRUFSIiwibmFtZSI6InllYXIiLCJkZXNjcmlwdGlvbiI6InllYXIiLCJ0eXBlIjoidGltZSJ9Cl0KfQo="}},"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":"huobiget.com/js/jquery.easing.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.514Z","timestamp":1785136899514,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/jquery.easing.min.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 4023\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":4023,"size_decoded":4239,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"f72d549b77c4843695b0303ba605cb3e","sha1":"6511173f31ad323ccd1c3b717325327cd2cc7a4a","sha256":"57541845c7952a2bfe4f763b1d16e1d3399993ba27bcb8cd2390177bcc356075","sha512":"96f8f9bc7b7008a36998730f402eb79f213a9fb0d1bf2d9b23182fee6700912a97d910643f526dff543a454464723951819e304056aef0bb10b801ec29b502a8","ssdeep":"","tlshash":"fb81d14a7ce57066c347b3708d0f4009727ab91b85bd7d26740c19a4af1963e83f6ee8","first_seen":"2023-05-18T18:18:57Z","last_seen":"2026-07-27T12:35:10.434891Z","times_seen":78,"resource_available":true,"data":"ISBmdW5jdGlvbihuKSB7CiAgICAiZnVuY3Rpb24iID09IHR5cGVvZiBkZWZpbmUgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShbImpxdWVyeSJdLCBmdW5jdGlvbihlKSB7CiAgICAgICAgcmV0dXJuIG4oZSkKICAgIH0pIDogIm9iamVjdCIgPT0gdHlwZW9mIG1vZHVsZSAmJiAib2JqZWN0IiA9PSB0eXBlb2YgbW9kdWxlLmV4cG9ydHMgPyBleHBvcnRzID0gbihyZXF1aXJlKCJqcXVlcnkiKSkgOiBuKGpRdWVyeSkKfShmdW5jdGlvbihuKSB7CiAgICBmdW5jdGlvbiBlKG4pIHsKICAgICAgICB2YXIgZSA9IDcuNTYyNSwKICAgICAgICAgICAgdCA9IDIuNzU7CiAgICAgICAgcmV0dXJuIG4gPCAxIC8gdCA/IGUgKiBuICogbiA6IG4gPCAyIC8gdCA/IGUgKiAobiAtPSAxLjUgLyB0KSAqIG4gKyAuNzUgOiBuIDwgMi41IC8gdCA/IGUgKiAobiAtPSAyLjI1IC8gdCkgKiBuICsgLjkzNzUgOiBlICogKG4gLT0gMi42MjUgLyB0KSAqIG4gKyAuOTg0Mzc1CiAgICB9CiAgICB2b2lkIDAgIT09IG4uZWFzaW5nICYmIChuLmVhc2luZy5qc3dpbmcgPSBuLmVhc2luZy5zd2luZyk7CiAgICB2YXIgdCA9IE1hdGgucG93LAogICAgICAgIHUgPSBNYXRoLnNxcnQsCiAgICAgICAgciA9IE1hdGguc2luLAogICAgICAgIGkgPSBNYXRoLmNvcywKICAgICAgICBhID0gTWF0aC5QSSwKICAgICAgICBjID0gMS43MDE1OCwKICAgICAgICBvID0gMS41MjUgKiBjLAogICAgICAgIHMgPSAyICogYSAvIDMsCiAgICAgICAgZiA9IDIgKiBhIC8gNC41OwogICAgbi5leHRlbmQobi5lYXNpbmcsIHsKICAgICAgICBkZWY6ICJlYXNlT3V0UXVhZCIsCiAgICAgICAgc3dpbmc6IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgcmV0dXJuIG4uZWFzaW5nW24uZWFzaW5nLmRlZl0oZSkKICAgICAgICB9LAogICAgICAgIGVhc2VJblF1YWQ6IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgcmV0dXJuIG4gKiBuCiAgICAgICAgfSwKICAgICAgICBlYXNlT3V0UXVhZDogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gMSAtICgxIC0gbikgKiAoMSAtIG4pCiAgICAgICAgfSwKICAgICAgICBlYXNlSW5PdXRRdWFkOiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiBuIDwgLjUgPyAyICogbiAqIG4gOiAxIC0gdCgtMiAqIG4gKyAyLCAyKSAvIDIKICAgICAgICB9LAogICAgICAgIGVhc2VJbkN1YmljOiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiBuICogbiAqIG4KICAgICAgICB9LAogICAgICAgIGVhc2VPdXRDdWJpYzogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gMSAtIHQoMSAtIG4sIDMpCiAgICAgICAgfSwKICAgICAgICBlYXNlSW5PdXRDdWJpYzogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gbiA8IC41ID8gNCAqIG4gKiBuICogbiA6IDEgLSB0KC0yICogbiArIDIsIDMpIC8gMgogICAgICAgIH0sCiAgICAgICAgZWFzZUluUXVhcnQ6IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgcmV0dXJuIG4gKiBuICogbiAqIG4KICAgICAgICB9LAogICAgICAgIGVhc2VPdXRRdWFydDogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gMSAtIHQoMSAtIG4sIDQpCiAgICAgICAgfSwKICAgICAgICBlYXNlSW5PdXRRdWFydDogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gbiA8IC41ID8gOCAqIG4gKiBuICogbiAqIG4gOiAxIC0gdCgtMiAqIG4gKyAyLCA0KSAvIDIKICAgICAgICB9LAogICAgICAgIGVhc2VJblF1aW50OiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiBuICogbiAqIG4gKiBuICogbgogICAgICAgIH0sCiAgICAgICAgZWFzZU91dFF1aW50OiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiAxIC0gdCgxIC0gbiwgNSkKICAgICAgICB9LAogICAgICAgIGVhc2VJbk91dFF1aW50OiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiBuIDwgLjUgPyAxNiAqIG4gKiBuICogbiAqIG4gKiBuIDogMSAtIHQoLTIgKiBuICsgMiwgNSkgLyAyCiAgICAgICAgfSwKICAgICAgICBlYXNlSW5TaW5lOiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiAxIC0gaShuICogYSAvIDIpCiAgICAgICAgfSwKICAgICAgICBlYXNlT3V0U2luZTogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gcihuICogYSAvIDIpCiAgICAgICAgfSwKICAgICAgICBlYXNlSW5PdXRTaW5lOiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiAtKGkoYSAqIG4pIC0gMSkgLyAyCiAgICAgICAgfSwKICAgICAgICBlYXNlSW5FeHBvOiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiAwID09PSBuID8gMCA6IHQoMiwgMTAgKiBuIC0gMTApCiAgICAgICAgfSwKICAgICAgICBlYXNlT3V0RXhwbzogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gMSA9PT0gbiA/IDEgOiAxIC0gdCgyLCAtMTAgKiBuKQogICAgICAgIH0sCiAgICAgICAgZWFzZUluT3V0RXhwbzogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gMCA9PT0gbiA/IDAgOiAxID09PSBuID8gMSA6IG4gPCAuNSA/IHQoMiwgMjAgKiBuIC0gMTApIC8gMiA6ICgyIC0gdCgyLCAtMjAgKiBuICsgMTApKSAvIDIKICAgICAgICB9LAogICAgICAgIGVhc2VJbkNpcmM6IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgcmV0dXJuIDEgLSB1KDEgLSB0KG4sIDIpKQogICAgICAgIH0sCiAgICAgICAgZWFzZU91dENpcmM6IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgcmV0dXJuIHUoMSAtIHQobiAtIDEsIDIpKQogICAgICAgIH0sCiAgICAgICAgZWFzZUluT3V0Q2lyYzogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gbiA8IC41ID8gKDEgLSB1KDEgLSB0KDIgKiBuLCAyKSkpIC8gMiA6ICh1KDEgLSB0KC0yICogbiArIDIsIDIpKSArIDEpIC8gMgogICAgICAgIH0sCiAgICAgICAgZWFzZUluRWxhc3RpYzogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gMCA9PT0gbiA/IDAgOiAxID09PSBuID8gMSA6IC10KDIsIDEwICogbiAtIDEwKSAqIHIoKDEwICogbiAtIDEwLjc1KSAqIHMpCiAgICAgICAgfSwKICAgICAgICBlYXNlT3V0RWxhc3RpYzogZnVuY3Rpb24obikgewogICAgICAgICAgICByZXR1cm4gMCA9PT0gbiA/IDAgOiAxID09PSBuID8gMSA6IHQoMiwgLTEwICogbikgKiByKCgxMCAqIG4gLSAuNzUpICogcykgKyAxCiAgICAgICAgfSwKICAgICAgICBlYXNlSW5PdXRFbGFzdGljOiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiAwID09PSBuID8gMCA6IDEgPT09IG4gPyAxIDogbiA8IC41ID8gLSh0KDIsIDIwICogbiAtIDEwKSAqIHIoKDIwICogbiAtIDExLjEyNSkgKiBmKSkgLyAyIDogdCgyLCAtMjAgKiBuICsgMTApICogcigoMjAgKiBuIC0gMTEuMTI1KSAqIGYpIC8gMiArIDEKICAgICAgICB9LAogICAgICAgIGVhc2VJbkJhY2s6IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgcmV0dXJuIChjICsgMSkgKiBuICogbiAqIG4gLSBjICogbiAqIG4KICAgICAgICB9LAogICAgICAgIGVhc2VPdXRCYWNrOiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiAxICsgKGMgKyAxKSAqIHQobiAtIDEsIDMpICsgYyAqIHQobiAtIDEsIDIpCiAgICAgICAgfSwKICAgICAgICBlYXNlSW5PdXRCYWNrOiBmdW5jdGlvbihuKSB7CiAgICAgICAgICAgIHJldHVybiBuIDwgLjUgPyB0KDIgKiBuLCAyKSAqICg3LjE4OTgxOSAqIG4gLSBvKSAvIDIgOiAodCgyICogbiAtIDIsIDIpICogKChvICsgMSkgKiAoMiAqIG4gLSAyKSArIG8pICsgMikgLyAyCiAgICAgICAgfSwKICAgICAgICBlYXNlSW5Cb3VuY2U6IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgcmV0dXJuIDEgLSBlKDEgLSBuKQogICAgICAgIH0sCiAgICAgICAgZWFzZU91dEJvdW5jZTogZSwKICAgICAgICBlYXNlSW5PdXRCb3VuY2U6IGZ1bmN0aW9uKG4pIHsKICAgICAgICAgICAgcmV0dXJuIG4gPCAuNSA/ICgxIC0gZSgxIC0gMiAqIG4pKSAvIDIgOiAoMSArIGUoMiAqIG4gLSAxKSkgLyAyCiAgICAgICAgfQogICAgfSkKfSk7"}},"time_used":530,"timings":{"blocked":438,"dns":0,"connect":0,"send":0,"wait":92,"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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/js/wow.min.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.519Z","timestamp":1785136899519,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/wow.min.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 14974\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":14974,"size_decoded":15191,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (482), with CRLF line terminators","md5":"a28a92aab28dc8b9e497fb6001844ac1","sha1":"d2776569bcd3455b5f3b86ec6c43cc16746519d5","sha256":"f878241d11f6d0431011224e4d33f0b3d87486cd593ff0d77c530acdbe6acb3d","sha512":"9af304e38910ccefadf29f853c650c5a2fdb4c76c75cfa9ec80c0aafceb95e01e99225da5f82d332f6c97857bc96d9a4fcf6c03caab4bd5daaf3a28408421fb0","ssdeep":"384:e9rUWUsfWmJNzfR0drygf5SIBEaiVlNsnOXiok66yBE:eFx7JN4RwVlNXXioqyBE","tlshash":"3062f34ab78560669a77b33ace6f8505f932463b2164cc9d3c7ca4d41f3052582b6ff8","first_seen":"2023-05-21T19:55:28Z","last_seen":"2026-08-01T11:22:31.031821Z","times_seen":262,"resource_available":true,"data":"LyohIFdPVyB3b3cuanMgLSB2MS4zLjAgLSAyMDE2LTEwLTA0DQogKiBodHRwczovL3dvd2pzLnVrDQogKiBDb3B5cmlnaHQgKGMpIDIwMTYgVGhvbWFzIEdyYWluZ2VyOyBMaWNlbnNlZCBNSVQgKi8NCiEgZnVuY3Rpb24oYSwgYikgew0KICAgIGlmICgiZnVuY3Rpb24iID09IHR5cGVvZiBkZWZpbmUgJiYgZGVmaW5lLmFtZCkgZGVmaW5lKFsibW9kdWxlIiwgImV4cG9ydHMiXSwgYik7DQogICAgZWxzZSBpZiAoInVuZGVmaW5lZCIgIT0gdHlwZW9mIGV4cG9ydHMpIGIobW9kdWxlLCBleHBvcnRzKTsNCiAgICBlbHNlIHsNCiAgICAgICAgdmFyIGMgPSB7DQogICAgICAgICAgICBleHBvcnRzOiB7fQ0KICAgICAgICB9Ow0KICAgICAgICBiKGMsIGMuZXhwb3J0cyksIGEuV09XID0gYy5leHBvcnRzDQogICAgfQ0KfSh0aGlzLCBmdW5jdGlvbihhLCBiKSB7DQogICAgInVzZSBzdHJpY3QiOw0KDQogICAgZnVuY3Rpb24gYyhhLCBiKSB7DQogICAgICAgIGlmICghKGEgaW5zdGFuY2VvZiBiKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIikNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBkKGEsIGIpIHsNCiAgICAgICAgcmV0dXJuIGIuaW5kZXhPZihhKSA+PSAwDQogICAgfQ0KDQogICAgZnVuY3Rpb24gZShhLCBiKSB7DQogICAgICAgIGZvciAodmFyIGMgaW4gYikNCiAgICAgICAgICAgIGlmIChudWxsID09IGFbY10pIHsNCiAgICAgICAgICAgICAgICB2YXIgZCA9IGJbY107DQogICAgICAgICAgICAgICAgYVtjXSA9IGQNCiAgICAgICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGENCiAgICB9DQoNCiAgICBmdW5jdGlvbiBmKGEpIHsNCiAgICAgICAgcmV0dXJuIC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdChhKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGcoYSkgew0KICAgICAgICB2YXIgYiA9IGFyZ3VtZW50cy5sZW5ndGggPD0gMSB8fCB2b2lkIDAgPT09IGFyZ3VtZW50c1sxXSA/ICExIDogYXJndW1lbnRzWzFdLA0KICAgICAgICAgICAgYyA9IGFyZ3VtZW50cy5sZW5ndGggPD0gMiB8fCB2b2lkIDAgPT09IGFyZ3VtZW50c1syXSA/ICExIDogYXJndW1lbnRzWzJdLA0KICAgICAgICAgICAgZCA9IGFyZ3VtZW50cy5sZW5ndGggPD0gMyB8fCB2b2lkIDAgPT09IGFyZ3VtZW50c1szXSA/IG51bGwgOiBhcmd1bWVudHNbM10sDQogICAgICAgICAgICBlID0gdm9pZCAwOw0KICAgICAgICByZXR1cm4gbnVsbCAhPSBkb2N1bWVudC5jcmVhdGVFdmVudCA/IChlID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50IiksIGUuaW5pdEN1c3RvbUV2ZW50KGEsIGIsIGMsIGQpKSA6IG51bGwgIT0gZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3QgPyAoZSA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50T2JqZWN0KCksIGUuZXZlbnRUeXBlID0gYSkgOiBlLmV2ZW50TmFtZSA9IGEsIGUNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBoKGEsIGIpIHsNCiAgICAgICAgbnVsbCAhPSBhLmRpc3BhdGNoRXZlbnQgPyBhLmRpc3BhdGNoRXZlbnQoYikgOiBiIGluIChudWxsICE9IGEpID8gYVtiXSgpIDogIm9uIiArIGIgaW4gKG51bGwgIT0gYSkgJiYgYVsib24iICsgYl0oKQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIGkoYSwgYiwgYykgew0KICAgICAgICBudWxsICE9IGEuYWRkRXZlbnRMaXN0ZW5lciA/IGEuYWRkRXZlbnRMaXN0ZW5lcihiLCBjLCAhMSkgOiBudWxsICE9IGEuYXR0YWNoRXZlbnQgPyBhLmF0dGFjaEV2ZW50KCJvbiIgKyBiLCBjKSA6IGFbYl0gPSBjDQogICAgfQ0KDQogICAgZnVuY3Rpb24gaihhLCBiLCBjKSB7DQogICAgICAgIG51bGwgIT0gYS5yZW1vdmVFdmVudExpc3RlbmVyID8gYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsIGMsICExKSA6IG51bGwgIT0gYS5kZXRhY2hFdmVudCA/IGEuZGV0YWNoRXZlbnQoIm9uIiArIGIsIGMpIDogZGVsZXRlIGFbYl0NCiAgICB9DQoNCiAgICBmdW5jdGlvbiBrKCkgew0KICAgICAgICByZXR1cm4gImlubmVySGVpZ2h0IiBpbiB3aW5kb3cgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0DQogICAgfQ0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiLCAiX19lc01vZHVsZSIsIHsNCiAgICAgICAgdmFsdWU6ICEwDQogICAgfSk7DQogICAgdmFyIGwsIG0sIG4gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGEoYSwgYikgew0KICAgICAgICAgICAgICAgIGZvciAodmFyIGMgPSAwOyBjIDwgYi5sZW5ndGg7IGMrKykgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IGJbY107DQogICAgICAgICAgICAgICAgICAgIGQuZW51bWVyYWJsZSA9IGQuZW51bWVyYWJsZSB8fCAhMSwgZC5jb25maWd1cmFibGUgPSAhMCwgInZhbHVlIiBpbiBkICYmIChkLndyaXRhYmxlID0gITApLCBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgZC5rZXksIGQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGIsIGMsIGQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gYyAmJiBhKGIucHJvdG90eXBlLCBjKSwgZCAmJiBhKGIsIGQpLCBiDQogICAgICAgICAgICB9DQogICAgICAgIH0oKSwNCiAgICAgICAgbyA9IHdpbmRvdy5XZWFrTWFwIHx8IHdpbmRvdy5Nb3pXZWFrTWFwIHx8IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gYSgpIHsNCiAgICAgICAgICAgICAgICBjKHRoaXMsIGEpLCB0aGlzLmtleXMgPSBbXSwgdGhpcy52YWx1ZXMgPSBbXQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIG4oYSwgW3sNCiAgICAgICAgICAgICAgICBrZXk6ICJnZXQiLA0KICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGIgPSAwOyBiIDwgdGhpcy5rZXlzLmxlbmd0aDsgYisrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgYyA9IHRoaXMua2V5c1tiXTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjID09PSBhKSByZXR1cm4gdGhpcy52YWx1ZXNbYl0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJzZXQiLA0KICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbihhLCBiKSB7DQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGMgPSAwOyBjIDwgdGhpcy5rZXlzLmxlbmd0aDsgYysrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IHRoaXMua2V5c1tjXTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkID09PSBhKSByZXR1cm4gdGhpcy52YWx1ZXNbY10gPSBiLCB0aGlzDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMua2V5cy5wdXNoKGEpLCB0aGlzLnZhbHVlcy5wdXNoKGIpLCB0aGlzDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfV0pLCBhDQogICAgICAgIH0oKSwNCiAgICAgICAgcCA9IHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyIHx8IHdpbmRvdy5XZWJraXRNdXRhdGlvbk9ic2VydmVyIHx8IHdpbmRvdy5Nb3pNdXRhdGlvbk9ic2VydmVyIHx8IChtID0gbCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gYSgpIHsNCiAgICAgICAgICAgICAgICBjKHRoaXMsIGEpLCAidW5kZWZpbmVkIiAhPSB0eXBlb2YgY29uc29sZSAmJiBudWxsICE9PSBjb25zb2xlICYmIChjb25zb2xlLndhcm4oIk11dGF0aW9uT2JzZXJ2ZXIgaXMgbm90IHN1cHBvcnRlZCBieSB5b3VyIGJyb3dzZXIuIiksIGNvbnNvbGUud2FybigiV09XLmpzIGNhbm5vdCBkZXRlY3QgZG9tIG11dGF0aW9ucywgcGxlYXNlIGNhbGwgLnN5bmMoKSBhZnRlciBsb2FkaW5nIG5ldyBjb250ZW50LiIpKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIG4oYSwgW3sNCiAgICAgICAgICAgICAgICBrZXk6ICJvYnNlcnZlIiwNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7fQ0KICAgICAgICAgICAgfV0pLCBhDQogICAgICAgIH0oKSwgbC5ub3RTdXBwb3J0ZWQgPSAhMCwgbSksDQogICAgICAgIHEgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSB8fCBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICB2YXIgYiA9IC8oXC0oW2Etel0pezF9KS9nOw0KICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICBnZXRQcm9wZXJ0eVZhbHVlOiBmdW5jdGlvbihjKSB7DQogICAgICAgICAgICAgICAgICAgICJmbG9hdCIgPT09IGMgJiYgKGMgPSAic3R5bGVGbG9hdCIpLCBiLnRlc3QoYykgJiYgYy5yZXBsYWNlKGIsIGZ1bmN0aW9uKGEsIGIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBiLnRvVXBwZXJDYXNlKCkNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIHZhciBkID0gYS5jdXJyZW50U3R5bGU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAobnVsbCAhPSBkID8gZFtjXSA6IHZvaWQgMCkgfHwgbnVsbA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgciA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gYSgpIHsNCiAgICAgICAgICAgICAgICB2YXIgYiA9IGFyZ3VtZW50cy5sZW5ndGggPD0gMCB8fCB2b2lkIDAgPT09IGFyZ3VtZW50c1swXSA/IHt9IDogYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgICAgIGModGhpcywgYSksIHRoaXMuZGVmYXVsdHMgPSB7DQogICAgICAgICAgICAgICAgICAgIGJveENsYXNzOiAid293IiwNCiAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZUNsYXNzOiAiYW5pbWF0ZWQiLA0KICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsDQogICAgICAgICAgICAgICAgICAgIG1vYmlsZTogITAsDQogICAgICAgICAgICAgICAgICAgIGxpdmU6ICEwLA0KICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogbnVsbCwNCiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsQ29udGFpbmVyOiBudWxsLA0KICAgICAgICAgICAgICAgICAgICByZXNldEFuaW1hdGlvbjogITANCiAgICAgICAgICAgICAgICB9LCB0aGlzLmFuaW1hdGUgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiIGluIHdpbmRvdyA/IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGEpDQogICAgICAgICAgICAgICAgICAgIH0gOiBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYSgpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KCksIHRoaXMudmVuZG9ycyA9IFsibW96IiwgIndlYmtpdCJdLCB0aGlzLnN0YXJ0ID0gdGhpcy5zdGFydC5iaW5kKHRoaXMpLCB0aGlzLnJlc2V0QW5pbWF0aW9uID0gdGhpcy5yZXNldEFuaW1hdGlvbi5iaW5kKHRoaXMpLCB0aGlzLnNjcm9sbEhhbmRsZXIgPSB0aGlzLnNjcm9sbEhhbmRsZXIuYmluZCh0aGlzKSwgdGhpcy5zY3JvbGxDYWxsYmFjayA9IHRoaXMuc2Nyb2xsQ2FsbGJhY2suYmluZCh0aGlzKSwgdGhpcy5zY3JvbGxlZCA9ICEwLCB0aGlzLmNvbmZpZyA9IGUoYiwgdGhpcy5kZWZhdWx0cyksIG51bGwgIT0gYi5zY3JvbGxDb250YWluZXIgJiYgKHRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYi5zY3JvbGxDb250YWluZXIpKSwgdGhpcy5hbmltYXRpb25OYW1lQ2FjaGUgPSBuZXcgbywgdGhpcy53b3dFdmVudCA9IGcodGhpcy5jb25maWcuYm94Q2xhc3MpDQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gbihhLCBbew0KICAgICAgICAgICAgICAgIGtleTogImluaXQiLA0KICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50ID0gd2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgZChkb2N1bWVudC5yZWFkeVN0YXRlLCBbImludGVyYWN0aXZlIiwgImNvbXBsZXRlIl0pID8gdGhpcy5zdGFydCgpIDogaShkb2N1bWVudCwgIkRPTUNvbnRlbnRMb2FkZWQiLCB0aGlzLnN0YXJ0KSwgdGhpcy5maW5pc2hlZCA9IFtdDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogInN0YXJ0IiwNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBhID0gdGhpczsNCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RvcHBlZCA9ICExLCB0aGlzLmJveGVzID0gW10uc2xpY2UuY2FsbCh0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLiIgKyB0aGlzLmNvbmZpZy5ib3hDbGFzcykpLCB0aGlzLmFsbCA9IHRoaXMuYm94ZXMuc2xpY2UoMCksIHRoaXMuYm94ZXMubGVuZ3RoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkgdGhpcy5yZXNldFN0eWxlKCk7DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgYiA9IDA7IGIgPCB0aGlzLmJveGVzLmxlbmd0aDsgYisrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjID0gdGhpcy5ib3hlc1tiXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBseVN0eWxlKGMsICEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSB8fCAoaSh0aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXIgfHwgd2luZG93LCAic2Nyb2xsIiwgdGhpcy5zY3JvbGxIYW5kbGVyKSwgaSh3aW5kb3csICJyZXNpemUiLCB0aGlzLnNjcm9sbEhhbmRsZXIpLCB0aGlzLmludGVydmFsID0gc2V0SW50ZXJ2YWwodGhpcy5zY3JvbGxDYWxsYmFjaywgNTApKSwgdGhpcy5jb25maWcubGl2ZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGQgPSBuZXcgcChmdW5jdGlvbihiKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgYyA9IDA7IGMgPCBiLmxlbmd0aDsgYysrKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBkID0gYltjXSwgZSA9IDA7IGUgPCBkLmFkZGVkTm9kZXMubGVuZ3RoOyBlKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmID0gZC5hZGRlZE5vZGVzW2VdOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5kb1N5bmMoZikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICBkLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogITAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VidHJlZTogITANCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAic3RvcCIsDQogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3BwZWQgPSAhMCwgaih0aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXIgfHwgd2luZG93LCAic2Nyb2xsIiwgdGhpcy5zY3JvbGxIYW5kbGVyKSwgaih3aW5kb3csICJyZXNpemUiLCB0aGlzLnNjcm9sbEhhbmRsZXIpLCBudWxsICE9IHRoaXMuaW50ZXJ2YWwgJiYgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJzeW5jIiwNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHAubm90U3VwcG9ydGVkICYmIHRoaXMuZG9TeW5jKHRoaXMuZWxlbWVudCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiZG9TeW5jIiwNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoInVuZGVmaW5lZCIgIT0gdHlwZW9mIGEgJiYgbnVsbCAhPT0gYSB8fCAoYSA9IHRoaXMuZWxlbWVudCksIDEgPT09IGEubm9kZVR5cGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBhLnBhcmVudE5vZGUgfHwgYTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGIgPSBhLnF1ZXJ5U2VsZWN0b3JBbGwoIi4iICsgdGhpcy5jb25maWcuYm94Q2xhc3MpLCBjID0gMDsgYyA8IGIubGVuZ3RoOyBjKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGJbY107DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZChlLCB0aGlzLmFsbCkgfHwgKHRoaXMuYm94ZXMucHVzaChlKSwgdGhpcy5hbGwucHVzaChlKSwgdGhpcy5zdG9wcGVkIHx8IHRoaXMuZGlzYWJsZWQoKSA/IHRoaXMucmVzZXRTdHlsZSgpIDogdGhpcy5hcHBseVN0eWxlKGUsICEwKSwgdGhpcy5zY3JvbGxlZCA9ICEwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogInNob3ciLA0KICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFwcGx5U3R5bGUoYSksIGEuY2xhc3NOYW1lID0gYS5jbGFzc05hbWUgKyAiICIgKyB0aGlzLmNvbmZpZy5hbmltYXRlQ2xhc3MsIG51bGwgIT0gdGhpcy5jb25maWcuY2FsbGJhY2sgJiYgdGhpcy5jb25maWcuY2FsbGJhY2soYSksIGgoYSwgdGhpcy53b3dFdmVudCksIHRoaXMuY29uZmlnLnJlc2V0QW5pbWF0aW9uICYmIChpKGEsICJhbmltYXRpb25lbmQiLCB0aGlzLnJlc2V0QW5pbWF0aW9uKSwgaShhLCAib2FuaW1hdGlvbmVuZCIsIHRoaXMucmVzZXRBbmltYXRpb24pLCBpKGEsICJ3ZWJraXRBbmltYXRpb25FbmQiLCB0aGlzLnJlc2V0QW5pbWF0aW9uKSwgaShhLCAiTVNBbmltYXRpb25FbmQiLCB0aGlzLnJlc2V0QW5pbWF0aW9uKSksIGENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiYXBwbHlTdHlsZSIsDQogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKGEsIGIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGMgPSB0aGlzLA0KICAgICAgICAgICAgICAgICAgICAgICAgZCA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLXdvdy1kdXJhdGlvbiIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgZSA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLXdvdy1kZWxheSIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgZiA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLXdvdy1pdGVyYXRpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5pbWF0ZShmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjLmN1c3RvbVN0eWxlKGEsIGIsIGQsIGUsIGYpDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogInJlc2V0U3R5bGUiLA0KICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgYSA9IDA7IGEgPCB0aGlzLmJveGVzLmxlbmd0aDsgYSsrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgYiA9IHRoaXMuYm94ZXNbYV07DQogICAgICAgICAgICAgICAgICAgICAgICBiLnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSINCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJyZXNldEFuaW1hdGlvbiIsDQogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGEudHlwZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImFuaW1hdGlvbmVuZCIpID49IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBiID0gYS50YXJnZXQgfHwgYS5zcmNFbGVtZW50Ow0KICAgICAgICAgICAgICAgICAgICAgICAgYi5jbGFzc05hbWUgPSBiLmNsYXNzTmFtZS5yZXBsYWNlKHRoaXMuY29uZmlnLmFuaW1hdGVDbGFzcywgIiIpLnRyaW0oKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogImN1c3RvbVN0eWxlIiwNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oYSwgYiwgYywgZCwgZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gYiAmJiB0aGlzLmNhY2hlQW5pbWF0aW9uTmFtZShhKSwgYS5zdHlsZS52aXNpYmlsaXR5ID0gYiA/ICJoaWRkZW4iIDogInZpc2libGUiLCBjICYmIHRoaXMudmVuZG9yU2V0KGEuc3R5bGUsIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uOiBjDQogICAgICAgICAgICAgICAgICAgIH0pLCBkICYmIHRoaXMudmVuZG9yU2V0KGEuc3R5bGUsIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbkRlbGF5OiBkDQogICAgICAgICAgICAgICAgICAgIH0pLCBlICYmIHRoaXMudmVuZG9yU2V0KGEuc3R5bGUsIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiBlDQogICAgICAgICAgICAgICAgICAgIH0pLCB0aGlzLnZlbmRvclNldChhLnN0eWxlLCB7DQogICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb25OYW1lOiBiID8gIm5vbmUiIDogdGhpcy5jYWNoZWRBbmltYXRpb25OYW1lKGEpDQogICAgICAgICAgICAgICAgICAgIH0pLCBhDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogInZlbmRvclNldCIsDQogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKGEsIGIpIHsNCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgYyBpbiBiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGIuaGFzT3duUHJvcGVydHkoYykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZCA9IGJbY107DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYVsiIiArIGNdID0gZDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBlID0gMDsgZSA8IHRoaXMudmVuZG9ycy5sZW5ndGg7IGUrKykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZiA9IHRoaXMudmVuZG9yc1tlXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVsiIiArIGYgKyBjLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgYy5zdWJzdHIoMSldID0gZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAidmVuZG9yQ1NTIiwNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oYSwgYikgew0KICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBjID0gcShhKSwgZCA9IGMuZ2V0UHJvcGVydHlDU1NWYWx1ZShiKSwgZSA9IDA7IGUgPCB0aGlzLnZlbmRvcnMubGVuZ3RoOyBlKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmID0gdGhpcy52ZW5kb3JzW2VdOw0KICAgICAgICAgICAgICAgICAgICAgICAgZCA9IGQgfHwgYy5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCItIiArIGYgKyAiLSIgKyBiKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogImFuaW1hdGlvbk5hbWUiLA0KICAgICAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbihhKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBiID0gdm9pZCAwOw0KICAgICAgICAgICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYiA9IHRoaXMudmVuZG9yQ1NTKGEsICJhbmltYXRpb24tbmFtZSIpLmNzc1RleHQNCiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoYykgew0KICAgICAgICAgICAgICAgICAgICAgICAgYiA9IHEoYSkuZ2V0UHJvcGVydHlWYWx1ZSgiYW5pbWF0aW9uLW5hbWUiKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAibm9uZSIgPT09IGIgPyAiIiA6IGINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiY2FjaGVBbmltYXRpb25OYW1lIiwNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hbmltYXRpb25OYW1lQ2FjaGUuc2V0KGEsIHRoaXMuYW5pbWF0aW9uTmFtZShhKSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAiY2FjaGVkQW5pbWF0aW9uTmFtZSIsDQogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLmdldChhKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJzY3JvbGxIYW5kbGVyIiwNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsZWQgPSAhMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJzY3JvbGxDYWxsYmFjayIsDQogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxlZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxlZCA9ICExOw0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgYSA9IFtdLCBiID0gMDsgYiA8IHRoaXMuYm94ZXMubGVuZ3RoOyBiKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYyA9IHRoaXMuYm94ZXNbYl07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGMpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlKGMpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3coYyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEucHVzaChjKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYm94ZXMgPSBhLCB0aGlzLmJveGVzLmxlbmd0aCB8fCB0aGlzLmNvbmZpZy5saXZlIHx8IHRoaXMuc3RvcCgpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LCB7DQogICAgICAgICAgICAgICAga2V5OiAib2Zmc2V0VG9wIiwNCiAgICAgICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24oYSkgew0KICAgICAgICAgICAgICAgICAgICBmb3IgKDsgdm9pZCAwID09PSBhLm9mZnNldFRvcDspIGEgPSBhLnBhcmVudE5vZGU7DQogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGIgPSBhLm9mZnNldFRvcDsgYS5vZmZzZXRQYXJlbnQ7KSBhID0gYS5vZmZzZXRQYXJlbnQsIGIgKz0gYS5vZmZzZXRUb3A7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwgew0KICAgICAgICAgICAgICAgIGtleTogImlzVmlzaWJsZSIsDQogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKGEpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGIgPSBhLmdldEF0dHJpYnV0ZSgiZGF0YS13b3ctb2Zmc2V0IikgfHwgdGhpcy5jb25maWcub2Zmc2V0LA0KICAgICAgICAgICAgICAgICAgICAgICAgYyA9IHRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lciAmJiB0aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXIuc2Nyb2xsVG9wIHx8IHdpbmRvdy5wYWdlWU9mZnNldCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGQgPSBjICsgTWF0aC5taW4odGhpcy5lbGVtZW50LmNsaWVudEhlaWdodCwgaygpKSAtIGIsDQogICAgICAgICAgICAgICAgICAgICAgICBlID0gdGhpcy5vZmZzZXRUb3AoYSksDQogICAgICAgICAgICAgICAgICAgICAgICBmID0gZSArIGEuY2xpZW50SGVpZ2h0Ow0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZCA+PSBlICYmIGYgPj0gYw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgICAgICBrZXk6ICJkaXNhYmxlZCIsDQogICAgICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuY29uZmlnLm1vYmlsZSAmJiBmKG5hdmlnYXRvci51c2VyQWdlbnQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfV0pLCBhDQogICAgICAgIH0oKTsNCiAgICBiWyJkZWZhdWx0Il0gPSByLCBhLmV4cG9ydHMgPSBiWyJkZWZhdWx0Il0NCn0pOw=="}},"time_used":593,"timings":{"blocked":500,"dns":0,"connect":0,"send":0,"wait":93,"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":"huobiget.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/51508.767219283c65f4d4ca6e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.305Z","timestamp":1785136900305,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51508.767219283c65f4d4ca6e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: f1b20ca3683498dcb1826f8b53bc85cd\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2529,"size_decoded":1497,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2529), with no line terminators","md5":"76e3b34ef660092cb6ebcda4b1e8a0b0","sha1":"d997b9296e92721e4cfa8c5cd062150dd5a72d76","sha256":"1f4abc998292aaf8b21eb2933273369f5d7611063f098e70b47fbd27258859c0","sha512":"91d3087923640eeca24866262f097a03a730ca9ecbcab63c5851539144aca3fc7b28c2b2a340a3318f5a5f4149e8f995999a8ec0680a94a7780ac64e2ce591a3","ssdeep":"","tlshash":"6651481fb3fb1d212c234b0047d56e432330e5a315e36aece810d1ae9eda9de39b1285","first_seen":"2026-04-15T09:47:56.501715Z","last_seen":"2026-08-10T08:00:01.079939Z","times_seen":6095,"resource_available":false,"data":"LnR2LWRhdGEtbW9kZXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWV7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtZGF0YS1tb2RlLS1zbmFwc2hvdHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnR2LWRhdGEtbW9kZS0tZW5kb2ZkYXl7Y29sb3I6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS00MDApfS50di1kYXRhLW1vZGUtLWNvbm5lY3RpbmcsLnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLC50di1kYXRhLW1vZGUtLWludmFsaWQsLnR2LWRhdGEtbW9kZS0tbG9hZGluZ3t2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1kZWxheWVke2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLXRhcGV7Zm9udC1zaXplOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KX0udHYtZGF0YS1tb2RlLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci10YXBlOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci10aWNrZXItdGFwZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4O21hcmdpbi10b3A6NHB4O3ZlcnRpY2FsLWFsaWduOnRvcH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bWFyZ2luLWxlZnQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1uby1yZWFsdGltZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1kYXRhLW1vZGUtLWZvci1jaGFydHtmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1zdGFydDo2cHh9LnR2LWRhdGEtbW9kZS0tY29ubmVjdGluZy0tZm9yLWNoYXJ0LC50di1kYXRhLW1vZGUtLWxvYWRpbmctLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLS1mb3ItY2hhcnQsLnR2LWRhdGEtbW9kZS0taW52YWxpZC0tZm9yLWNoYXJ0e2NvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItY2hhcnR7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1jaGFydC50di1kYXRhLW1vZGUtLXJlcGxheXttYXJnaW4tbGVmdDowfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXItY2FyZHtkaXNwbGF5OmlubGluZTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtZGF0YS1tb2RlLS1mb3Itc3ltYm9sLXdpZGdldHtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtd2lkZ2V0LC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1jYXJke2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itd2F0Y2gtbGlzdHtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4O292ZXJmbG93OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtbW9kZS0tZm9yLXdhdGNoLWxpc3Q6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itd2F0Y2gtbGlzdHt2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxMnB4fS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtaW5mb3tkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXN5bWJvbC1pbmZve2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itc2NyZWVuZXJ7Zm9udC1zaXplOjEwcHh9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci1zY3JlZW5lcntkaXNwbGF5Om5vbmV9"}},"time_used":104,"timings":{"blocked":-1,"dns":26,"connect":30,"send":0,"wait":11,"receive":-1,"ssl":25},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/75304.174496dbf62bc90db59a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.955Z","timestamp":1785136900955,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/75304.174496dbf62bc90db59a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 32\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-20\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d9d7f07bed1db03d3503a499b9a2b360\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32,"size_decoded":816,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"10831c7be3a76a74645935347043e2b5","sha1":"b94e8e987207e65fcaacb92d7fe9b6abae350446","sha256":"02392cb348576ae4401ed04ea67dc7a708f88cf080b321001192ee8fdfbee047","sha512":"41692d9ad3993dc97c90842a9f189a9a277965aef5fd1d867477557e363ee994e2b1b5d574c54d283206deedf65ad81600a071f6be8114830168dcbfb724f32b","ssdeep":"","tlshash":"bb8004d170053c3c00077000053340c7dc5140c1cd731451500453415f140750103510","first_seen":"2023-06-28T13:47:54Z","last_seen":"2026-08-10T05:01:44.180121Z","times_seen":1657,"resource_available":false,"data":"LnVpLWRyYWdnYWJsZXt0b3VjaC1hY3Rpb246bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCXLM.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.432Z","timestamp":1785136905432,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCXLM.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCTAOB.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.460Z","timestamp":1785136905460,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCTAOB.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/53627.115195b72f2d92cecb9b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.343Z","timestamp":1785136900343,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/53627.115195b72f2d92cecb9b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 9b6642d6557aeca1eec179732dfc8616\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16285,"size_decoded":6932,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"83531bbbf4576c6e43672349a06b72b5","sha1":"139a361b632189e32c0dd137dfe2b2ed8e655fb5","sha256":"b661a00c1330d2de36b4e45530101c4718696a241c819c26e3676498ac5c95b8","sha512":"029891e11ed6d6c2beb544a4f09ba8d6ab21b208d9fb4ca7c20fa27c5b26386da421b9e8aefc6ee8eb01ee4e4d827ed115989275498a0a2fbf4ed847368cb3fd","ssdeep":"384:pXcabhDdLcMCAL5XlK525HvbEMSgjqfJXJ1YJjB4wrHfw/KN:pXZbhDxDCAL5Xl15DpMJXJ1YJjB4wrHx","tlshash":"b472d84d7201b46d56af76a61c3b164ae1326428358904bcb4e0f4f94879e8fb93bf37","first_seen":"2026-07-23T13:54:09.098812Z","last_seen":"2026-07-28T06:17:53.347331Z","times_seen":308,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MzYyN10sezgyOTE4MChlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KTt2YXIgaT1vKDYwMTg0MSk7Y29uc3QgYT0veyhcdyspfS9nLG49L3soXGQrKX0vZztTdHJpbmcucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbiguLi5lKXtjb25zdCB0PSgwLGkuaXNPYmplY3QpKGVbMF0pLG89dD9hOm4scj10Pyh0LG8pPT57Y29uc3QgaT1lWzBdO3JldHVybiB2b2lkIDAhPT1pW29dP2lbb106dH06KHQsbyk9Pntjb25zdCBpPXBhcnNlSW50KG8sMTApLGE9ZVtpXTtyZXR1cm4gdm9pZCAwIT09YT9hOnR9O3JldHVybiB0aGlzLnJlcGxhY2UobyxyKX19LDE4NTI3MShlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7dDooKT0+aS50LHdpdGhUcmFuc2xhdGlvbkNvbnRleHQ6KCk9PmF9KTtvKDgyOTE4MCk7dmFyIGk9byg3ODMyNTQpO2Z1bmN0aW9uIGEoZSl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19LDQ2NzE1OCgpe3RyeXshZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0LG8saT1lLmRvY3VtZW50LGE9ZS5JbWFnZSxuPWUuZ2xvYmFsU3RvcmFnZSxyPWUuc3dmb2JqZWN0O3RyeXt2YXIgYz1lLmxvY2FsU3RvcmFnZX1jYXRjaChlKXt9dHJ5e3ZhciBzPWUuc2Vzc2lvblN0b3JhZ2V9Y2F0Y2goZSl7fXZhciBkPXtoaXN0b3J5OiExLGphdmE6ITEsdGVzdHM6MTAsYmFzZXVybDoiIixsc286ITAsc2lsdmVybGlnaHQ6ITEsZG9tYWluOiIiLGF1dGhQYXRoOiExLHBuZ0Nvb2tpZU5hbWU6InBuZyIscG5nUGF0aDoiL2VjL3BuZyIsZXRhZ0Nvb2tpZU5hbWU6ImV0ZyIsZXRhZ1BhdGg6Ii9lYy9ldGFnIixjYWNoZUNvb2tpZU5hbWU6ImNhY2hlYyIsY2FjaGVQYXRoOiIvZWMvY2FjaGUiLHN0YXRpY3VybDoiL3N0YXRpYy9pbWFnZXMvIn0saD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iO2UuX2V2ZXJjb29raWVfZmxhc2hfdmFyPWZ1bmN0aW9uKGUpe3Q9ZTt2YXIgbz1pLmdldEVsZW1lbnRCeUlkKCJteXN3ZiIpO28mJm8ucGFyZW50Tm9kZSYmby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pfSxlLmV2ZXJjb29raWU9ZS5FdmVyY29va2llPWZ1bmN0aW9uKHUpe3U9dXx8e307dmFyIGw9e307Zm9yKHZhciBmIGluIGQpe3ZhciB2PXVbZl07bFtmXT12b2lkIDAhPT12P3Y6ZFtmXX0iZnVuY3Rpb24iPT10eXBlb2YgbC5kb21haW4mJihsLmRvbWFpbj1sLmRvbWFpbihlKSk7dmFyIHA9bC5oaXN0b3J5LGc9bC5qYXZhLG09bC50ZXN0cyxfPWwuYmFzZXVybCxrPWwuc3RhdGljdXJsLHk9bC5kb21haW4sQz10aGlzO3RoaXMuX2VjPXt9LHRoaXMuZ2V0PWZ1bmN0aW9uKGUsdCxvKXtDLl9ldmVyY29va2llKGUsdCx2b2lkIDAsdm9pZCAwLG8pfSx0aGlzLnNldD1mdW5jdGlvbihlLHQpe0MuX2V2ZXJjb29raWUoZSwoZnVuY3Rpb24oKXt9KSx0KX0sdGhpcy5fZXZlcmNvb2tpZT1mdW5jdGlvbihhLG4scixjLHMpe2lmKHZvaWQgMD09PUMuX2V2ZXJjb29raWUmJihDPXRoaXMpLHZvaWQgMD09PWMmJihjPTApLDA9PT1jJiYoQy5ldmVyY29va2llX2RhdGFiYXNlX3N0b3JhZ2UoYSxyKSxDLmV2ZXJjb29raWVfaW5kZXhkYl9zdG9yYWdlKGEsciksQy5ldmVyY29va2llX3BuZyhhLHIpLEMuZXZlcmNvb2tpZV9ldGFnKGEsciksQy5ldmVyY29va2llX2NhY2hlKGEsciksbC5sc28mJkMuZXZlcmNvb2tpZV9sc28oYSxyKSxsLnNpbHZlcmxpZ2h0JiZDLmV2ZXJjb29raWVfc2lsdmVybGlnaHQoYSxyKSxsLmF1dGhQYXRoJiZDLmV2ZXJjb29raWVfYXV0aChhLHIpLGcmJkMuZXZlcmNvb2tpZV9qYXZhKGEsciksQy5fZWMudXNlckRhdGE9Qy5ldmVyY29va2llX3VzZXJkYXRhKGEsciksQy5fZWMuY29va2llRGF0YT1DLmV2ZXJjb29raWVfY29va2llKGEsciksQy5fZWMubG9jYWxEYXRhPUMuZXZlcmNvb2tpZV9sb2NhbF9zdG9yYWdlKGEsciksQy5fZWMuZ2xvYmFsRGF0YT1DLmV2ZXJjb29raWVfZ2xvYmFsX3N0b3JhZ2UoYSxyKSxDLl9lYy5zZXNzaW9uRGF0YT1DLmV2ZXJjb29raWVfc2Vzc2lvbl9zdG9yYWdlKGEsciksQy5fZWMud2luZG93RGF0YT1DLmV2ZXJjb29raWVfd2luZG93KGEscikscCYmKEMuX2VjLmhpc3RvcnlEYXRhPUMuZXZlcmNvb2tpZV9oaXN0b3J5KGEscikpKSx2b2lkIDAhPT1yKSh2b2lkIDA9PT10fHx2b2lkIDA9PT1vKSYmYysrPG0mJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Qy5fZXZlcmNvb2tpZShhLG4scixjLHMpfSksMzAwKTtlbHNlIGlmKChlLm9wZW5EYXRhYmFzZSYmdm9pZCAwPT09Qy5fZWMuZGJEYXRhfHwoImluZGV4ZWREQiJpbiBlfHwoZS5pbmRleGVkREI9ZS5pbmRleGVkREJ8fGUubW96SW5kZXhlZERCfHxlLndlYmtpdEluZGV4ZWREQnx8ZS5tc0luZGV4ZWREQikpJiYodm9pZCAwPT09Qy5fZWMuaWRiRGF0YXx8IiI9PT1DLl9lYy5pZGJEYXRhKXx8dm9pZCAwPT09dHx8dm9pZCAwPT09Qy5fZWMuZXRhZ0RhdGF8fHZvaWQgMD09PUMuX2VjLmNhY2hlRGF0YXx8dm9pZCAwPT09Qy5fZWMuamF2YURhdGF8fGkuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCYmKHZvaWQgMD09PUMuX2VjLnBuZ0RhdGF8fCIiPT09Qy5fZWMucG5nRGF0YSl8fHZvaWQgMD09PW8pJiZjKys8bSlzZXRUaW1lb3V0KChmdW5jdGlvbigpe0MuX2V2ZXJjb29raWUoYSxuLHIsYyxzKX0pLDMwMCk7ZWxzZXtDLl9lYy5sc29EYXRhPUMuZ2V0RnJvbVN0cihhLHQpLHQ9dm9pZCAwLEMuX2VjLnNsRGF0YT1DLmdldEZyb21TdHIoYSxvKSxvPXZvaWQgMDt2YXIgZCxoLHU9Qy5fZWMsZj1bXSx2PTA7Zm9yKGggaW4gQy5fZWM9e30sdSl1W2hdJiYibnVsbCIhPT11W2hdJiYidW5kZWZpbmVkIiE9PXVbaF0mJihmW3VbaF1dPXZvaWQgMD09PWZbdVtoXV0/MTpmW3VbaF1dKzEpO2ZvcihoIGluIGYpZltoXT52JiYodj1mW2hdLGQ9aCk7dm9pZCAwPT09ZHx8dm9pZCAwIT09cyYmMT09PXN8fEMuc2V0KGEsZCksImZ1bmN0aW9uIj09dHlwZW9mIG4mJm4oZCx1KX19LAp0aGlzLmV2ZXJjb29raWVfd2luZG93PWZ1bmN0aW9uKHQsbyl7dHJ5e2lmKHZvaWQgMD09PW8pcmV0dXJuIHRoaXMuZ2V0RnJvbVN0cih0LGUubmFtZSk7ZS5uYW1lPWZ1bmN0aW9uKGUsdCxvKXtpZihlLmluZGV4T2YoIiYiK3QrIj0iKT4tMXx8MD09PWUuaW5kZXhPZih0KyI9Iikpe3ZhciBpLGE9ZS5pbmRleE9mKCImIit0KyI9Iik7cmV0dXJuLTE9PT1hJiYoYT1lLmluZGV4T2YodCsiPSIpKSwtMSE9PShpPWUuaW5kZXhPZigiJiIsYSsxKSk/ZS5zdWJzdHIoMCxhKStlLnN1YnN0cihpKyhhPzA6MSkpKyImIit0KyI9IitvOmUuc3Vic3RyKDAsYSkrIiYiK3QrIj0iK299cmV0dXJuIGUrIiYiK3QrIj0iK299KGUubmFtZSx0LG8pfWNhdGNoKGUpe319LHRoaXMuZXZlcmNvb2tpZV91c2VyZGF0YT1mdW5jdGlvbihlLHQpe3RyeXt2YXIgbz10aGlzLmNyZWF0ZUVsZW0oImRpdiIsInVzZXJkYXRhX2VsIiwxKTtpZihvLnN0eWxlLmJlaGF2aW9yPSJ1cmwoI2RlZmF1bHQjdXNlckRhdGEpIix2b2lkIDA9PT10KXJldHVybiBvLmxvYWQoZSksby5nZXRBdHRyaWJ1dGUoZSk7by5zZXRBdHRyaWJ1dGUoZSx0KSxvLnNhdmUoZSl9Y2F0Y2goZSl7fX0sdGhpcy5hamF4PWZ1bmN0aW9uKGUpe3ZhciB0LG8saSxhLG4scjtmb3IodD17IlgtUmVxdWVzdGVkLVdpdGgiOiJYTUxIdHRwUmVxdWVzdCIsQWNjZXB0OiJ0ZXh0L2phdmFzY3JpcHQsIHRleHQvaHRtbCwgYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCwgKi8qIn0sbj0wLHI9KGk9W2Z1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH0sZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIil9LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfV0pLmxlbmd0aDtuPHI7bisrKXthPWlbbl07dHJ5e2E9YSgpO2JyZWFrfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fWZvcihvIGluIGEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7NCE9PWEucmVhZHlTdGF0ZXx8YS5zdGF0dXM+PTQwMHx8ZS5zdWNjZXNzKGEucmVzcG9uc2VUZXh0KX0sYS5vcGVuKCJnZXQiLGUudXJsLCEwKSx0KWEuc2V0UmVxdWVzdEhlYWRlcihvLHRbb10pO3RyeXthLnNlbmQoKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0sdGhpcy5ldmVyY29va2llX2NhY2hlPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dClpLmNvb2tpZT1sLmNhY2hlQ29va2llTmFtZSsiPSIrdCsiOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5hamF4KHt1cmw6XytsLmNhY2hlUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7fX0pO2Vsc2V7dmFyIG89dGhpcy5nZXRGcm9tU3RyKGwuY2FjaGVDb29raWVOYW1lLGkuY29va2llKTtDLl9lYy5jYWNoZURhdGE9dm9pZCAwLGkuY29va2llPWwuY2FjaGVDb29raWVOYW1lKyI9OyBleHBpcmVzPU1vbiwgMjAgU2VwIDIwMTAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5hamF4KHt1cmw6XytsLmNhY2hlUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7aS5jb29raWU9bC5jYWNoZUNvb2tpZU5hbWUrIj0iK28rIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuX2VjLmNhY2hlRGF0YT1lfX0pfX0sdGhpcy5ldmVyY29va2llX2F1dGg9ZnVuY3Rpb24oZSx0KXt2YXIgbyxpO3ZvaWQgMCE9PXQ/KG89Ii8vIit0KyJAIitsb2NhdGlvbi5ob3N0K18rbC5hdXRoUGF0aCsiP25hbWU9IitlLChpPW5ldyBhKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGkuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixpLnNyYz1vKTpDLmFqYXgoe3VybDpfK2wuYXV0aFBhdGgrIj9uYW1lPSIrZSxzdWNjZXNzOmZ1bmN0aW9uKGUpe0MuX2VjLmF1dGhEYXRhPWV9fSl9LHRoaXMuZXZlcmNvb2tpZV9ldGFnPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dClpLmNvb2tpZT1sLmV0YWdDb29raWVOYW1lKyI9Iit0KyI7IHBhdGg9LzsgZG9tYWluPSIreSxDLmFqYXgoe3VybDpfK2wuZXRhZ1BhdGgrIj9uYW1lPSIrZSxzdWNjZXNzOmZ1bmN0aW9uKGUpe319KTtlbHNle3ZhciBvPXRoaXMuZ2V0RnJvbVN0cihsLmV0YWdDb29raWVOYW1lLGkuY29va2llKTtDLl9lYy5ldGFnRGF0YT12b2lkIDAsaS5jb29raWU9bC5ldGFnQ29va2llTmFtZSsiPTsgZXhwaXJlcz1Nb24sIDIwIFNlcCAyMDEwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuYWpheCh7dXJsOl8rbC5ldGFnUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7aS5jb29raWU9bC5ldGFnQ29va2llTmFtZSsiPSIrbysiOyBleHBpcmVzPVR1ZSwgMzEgRGVjIDIwMzAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5fZWMuZXRhZ0RhdGE9ZX19KX19LHRoaXMuZXZlcmNvb2tpZV9qYXZhPWZ1bmN0aW9uKGUsdCl7dmFyIG89aS5nZXRFbGVtZW50QnlJZCgiZWNBcHBsZXRDb250YWluZXIiKTtmdW5jdGlvbiBhKG8pe3ZhciBhPWkuZ2V0RWxlbWVudEJ5SWQobyk7dm9pZCAwIT09dD9hLnNldChlLHQpOkMuX2VjLmphdmFEYXRhPWEuZ2V0KGUpfSJ1bmRlZmluZWQiIT10eXBlb2YgZHRqYXZhJiYobnVsbCE9byYmby5sZW5ndGh8fCgobz1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5zZXRBdHRyaWJ1dGUoImlkIiwiZWNBcHBsZXRDb250YWluZXIiKSxvLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsby5zdHlsZS50b3A9Ii0zMDAwcHgiLG8uc3R5bGUubGVmdD0iLTMwMDBweCIsby5zdHlsZS53aWR0aD0iMXB4IixvLnN0eWxlLmhlaWdodD0iMXB4IixpLmJvZHkuYXBwZW5kQ2hpbGQobykpLCJ1bmRlZmluZWQiPT10eXBlb2YgZWNBcHBsZXQ/ZHRqYXZhLmVtYmVkKHtpZDoiZWNBcHBsZXQiLHVybDprKyJldmVyY29va2llLmpubHAiLHdpZHRoOiIxcHgiLGhlaWdodDoiMXB4IixwbGFjZWhvbGRlcjoiZWNBcHBsZXRDb250YWluZXIifSx7fSx7b25KYXZhc2NyaXB0UmVhZHk6YX0pOmEoImVjQXBwbGV0IikpfSx0aGlzLmV2ZXJjb29raWVfbHNvPWZ1bmN0aW9uKGUsdCl7CnZhciBvPWkuZ2V0RWxlbWVudEJ5SWQoInN3ZmNvbnRhaW5lciIpLGE9e30sbj17fSxjPXt9O251bGwhPW8mJm8ubGVuZ3RofHwoKG89aS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc2V0QXR0cmlidXRlKCJpZCIsInN3ZmNvbnRhaW5lciIpLGkuYm9keS5hcHBlbmRDaGlsZChvKSksdm9pZCAwIT09dCYmKGEuZXZlcmRhdGE9ZSsiPSIrdCksbi5zd2xpdmVjb25uZWN0PSJ0cnVlIixjLmlkPSJteXN3ZiIsYy5uYW1lPSJteXN3ZiIsci5lbWJlZFNXRihrKyJldmVyY29va2llLnN3ZiIsInN3ZmNvbnRhaW5lciIsIjEiLCIxIiwiOS4wLjAiLCExLGEsbixjKX0sdGhpcy5ldmVyY29va2llX3BuZz1mdW5jdGlvbihlLHQpe3ZhciBvLG4scixjPWkuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7Yy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixjLndpZHRoPTIwMCxjLmhlaWdodD0xLGMmJmMuZ2V0Q29udGV4dCYmKChvPW5ldyBhKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLG8uc3R5bGUucG9zaXRpb249ImFic29sdXRlIix2b2lkIDAhPT10P2kuY29va2llPWwucG5nQ29va2llTmFtZSsiPSIrdCsiOyBwYXRoPS87IGRvbWFpbj0iK3k6KEMuX2VjLnBuZ0RhdGE9dm9pZCAwLG49Yy5nZXRDb250ZXh0KCIyZCIpLHI9dGhpcy5nZXRGcm9tU3RyKGwucG5nQ29va2llTmFtZSxpLmNvb2tpZSksaS5jb29raWU9bC5wbmdDb29raWVOYW1lKyI9OyBleHBpcmVzPU1vbiwgMjAgU2VwIDIwMTAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksby5vbmxvYWQ9ZnVuY3Rpb24oKXtpLmNvb2tpZT1sLnBuZ0Nvb2tpZU5hbWUrIj0iK3IrIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuX2VjLnBuZ0RhdGE9IiIsbi5kcmF3SW1hZ2UobywwLDApO3ZhciBlLHQsYT1uLmdldEltYWdlRGF0YSgwLDAsMjAwLDEpLmRhdGE7Zm9yKGU9MCx0PWEubGVuZ3RoO2U8dCYmMCE9PWFbZV0mJihDLl9lYy5wbmdEYXRhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGFbZV0pLDAhPT1hW2UrMV0pJiYoQy5fZWMucG5nRGF0YSs9U3RyaW5nLmZyb21DaGFyQ29kZShhW2UrMV0pLDAhPT1hW2UrMl0pO2UrPTQpQy5fZWMucG5nRGF0YSs9U3RyaW5nLmZyb21DaGFyQ29kZShhW2UrMl0pfSksby5zcmM9XytsLnBuZ1BhdGgrIj9uYW1lPSIrZSl9LHRoaXMuZXZlcmNvb2tpZV9sb2NhbF9zdG9yYWdlPWZ1bmN0aW9uKGUsdCl7dHJ5e2lmKGMpe2lmKHZvaWQgMD09PXQpcmV0dXJuIGMuZ2V0SXRlbShlKTtjLnNldEl0ZW0oZSx0KX19Y2F0Y2goZSl7fX0sdGhpcy5ldmVyY29va2llX2RhdGFiYXNlX3N0b3JhZ2U9ZnVuY3Rpb24odCxvKXt0cnl7aWYoZS5vcGVuRGF0YWJhc2Upe3ZhciBpPWUub3BlbkRhdGFiYXNlKCJzcWxpdGVfZXZlcmNvb2tpZSIsIiIsImV2ZXJjb29raWUiLDEwNDg1NzYpO3ZvaWQgMCE9PW8/aS50cmFuc2FjdGlvbigoZnVuY3Rpb24oZSl7ZS5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBjYWNoZShpZCBJTlRFR0VSIE5PVCBOVUxMIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQsIG5hbWUgVEVYVCBOT1QgTlVMTCwgdmFsdWUgVEVYVCBOT1QgTlVMTCwgVU5JUVVFIChuYW1lKSkiLFtdLChmdW5jdGlvbihlLHQpe30pLChmdW5jdGlvbihlLHQpe30pKSxlLmV4ZWN1dGVTcWwoIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gY2FjaGUobmFtZSwgdmFsdWUpIFZBTFVFUyg/LCA/KSIsW3Qsb10sKGZ1bmN0aW9uKGUsdCl7fSksKGZ1bmN0aW9uKGUsdCl7fSkpfSkpOmkudHJhbnNhY3Rpb24oKGZ1bmN0aW9uKGUpe2UuZXhlY3V0ZVNxbCgiU0VMRUNUIHZhbHVlIEZST00gY2FjaGUgV0hFUkUgbmFtZT0/IixbdF0sKGZ1bmN0aW9uKGUsdCl7dC5yb3dzLmxlbmd0aD49MT9DLl9lYy5kYkRhdGE9dC5yb3dzLml0ZW0oMCkudmFsdWU6Qy5fZWMuZGJEYXRhPSIifSksKGZ1bmN0aW9uKGUsdCl7fSkpfSkpfX1jYXRjaChlKXt9fSx0aGlzLmV2ZXJjb29raWVfaW5kZXhkYl9zdG9yYWdlPWZ1bmN0aW9uKHQsbyl7dHJ5e2lmKCJpbmRleGVkREIiaW4gZXx8KGluZGV4ZWREQj1lLmluZGV4ZWREQnx8ZS5tb3pJbmRleGVkREJ8fGUud2Via2l0SW5kZXhlZERCfHxlLm1zSW5kZXhlZERCLElEQlRyYW5zYWN0aW9uPWUuSURCVHJhbnNhY3Rpb258fGUud2Via2l0SURCVHJhbnNhY3Rpb258fGUubXNJREJUcmFuc2FjdGlvbixJREJLZXlSYW5nZT1lLklEQktleVJhbmdlfHxlLndlYmtpdElEQktleVJhbmdlfHxlLm1zSURCS2V5UmFuZ2UpLGluZGV4ZWREQil7dmFyIGk9aW5kZXhlZERCLm9wZW4oImlkYl9ldmVyY29va2llIiwxKTtpLm9uZXJyb3I9ZnVuY3Rpb24oZSl7fSxpLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbihlKXtlLnRhcmdldC5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoImV2ZXJjb29raWUiLHtrZXlQYXRoOiJuYW1lIix1bmlxdWU6ITF9KX0saS5vbnN1Y2Nlc3M9dm9pZCAwIT09bz9mdW5jdGlvbihlKXt2YXIgaT1lLnRhcmdldC5yZXN1bHQ7aWYoaS5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJldmVyY29va2llIikpaS50cmFuc2FjdGlvbihbImV2ZXJjb29raWUiXSwicmVhZHdyaXRlIikub2JqZWN0U3RvcmUoImV2ZXJjb29raWUiKS5wdXQoe25hbWU6dCx2YWx1ZTpvfSk7aS5jbG9zZSgpfTpmdW5jdGlvbihlKXt2YXIgbz1lLnRhcmdldC5yZXN1bHQ7aWYoby5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJldmVyY29va2llIikpe3ZhciBpPW8udHJhbnNhY3Rpb24oWyJldmVyY29va2llIl0pLm9iamVjdFN0b3JlKCJldmVyY29va2llIikuZ2V0KHQpO2kub25zdWNjZXNzPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWkucmVzdWx0P0MuX2VjLmlkYkRhdGE9dm9pZCAwOkMuX2VjLmlkYkRhdGE9aS5yZXN1bHQudmFsdWV9fWVsc2UgQy5fZWMuaWRiRGF0YT12b2lkIDA7by5jbG9zZSgpfX19Y2F0Y2goZSl7fX0sdGhpcy5ldmVyY29va2llX3Nlc3Npb25fc3RvcmFnZT1mdW5jdGlvbihlLHQpe3RyeXtpZihzKXtpZih2b2lkIDA9PT10KXJldHVybiBzLmdldEl0ZW0oZSk7cy5zZXRJdGVtKGUsdCl9Cn1jYXRjaChlKXt9fSx0aGlzLmV2ZXJjb29raWVfZ2xvYmFsX3N0b3JhZ2U9ZnVuY3Rpb24oZSx0KXtpZihuKXt2YXIgbz10aGlzLmdldEhvc3QoKTt0cnl7aWYodm9pZCAwPT09dClyZXR1cm4gbltvXVtlXTtuW29dW2VdPXR9Y2F0Y2goZSl7fX19LHRoaXMuZXZlcmNvb2tpZV9zaWx2ZXJsaWdodD1mdW5jdGlvbihlLHQpe3ZhciBvLGE9IjQuMC41MDQwMS4wIixuPSIiO3ZvaWQgMCE9PXQmJihuPSc8cGFyYW0gbmFtZT0iaW5pdFBhcmFtcyIgdmFsdWU9IicrZSsiPSIrdCsnIiAvPicpLG89JzxvYmplY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTUwMHB4O3RvcDotNTAwcHgiIGRhdGE9ImRhdGE6YXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC0yLCIgdHlwZT0iYXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC0yIiBpZD0ibXlzaWx2ZXJsaWdodCIgd2lkdGg9IjAiIGhlaWdodD0iMCI+JytuKyc8cGFyYW0gbmFtZT0ic291cmNlIiB2YWx1ZT0iJysoaysiZXZlcmNvb2tpZS54YXAiKSsnIi8+PHBhcmFtIG5hbWU9Im9uTG9hZCIgdmFsdWU9Im9uU2lsdmVybGlnaHRMb2FkIi8+PHBhcmFtIG5hbWU9Im9uRXJyb3IiIHZhbHVlPSJvblNpbHZlcmxpZ2h0RXJyb3IiLz48cGFyYW0gbmFtZT0iYmFja2dyb3VuZCIgdmFsdWU9IlRyYW5zcGFyZW50Ii8+PHBhcmFtIG5hbWU9IndpbmRvd2xlc3MiIHZhbHVlPSJ0cnVlIi8+PHBhcmFtIG5hbWU9Im1pblJ1bnRpbWVWZXJzaW9uIiB2YWx1ZT0iJythKyciLz48cGFyYW0gbmFtZT0iYXV0b1VwZ3JhZGUiIHZhbHVlPSJmYWxzZSIvPjxhIGhyZWY9Imh0dHA6Ly9nby5taWNyb3NvZnQuY29tL2Z3bGluay8/TGlua0lEPTE0OTE1NiZ2PScrYSsnIiBzdHlsZT0iZGlzcGxheTpub25lIj5HZXQgTWljcm9zb2Z0IFNpbHZlcmxpZ2h0PC9hPjwvb2JqZWN0Pic7dHJ5e2kuYm9keS5hcHBlbmRDaGlsZChvKX1jYXRjaChlKXt9fSx0aGlzLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdCxvLGksYSxuLHIsYyxzPSIiLGQ9MDtmb3IoZT10aGlzLl91dGY4X2VuY29kZShlKTtkPGUubGVuZ3RoOylhPSh0PWUuY2hhckNvZGVBdChkKyspKT4+MixuPSgzJnQpPDw0fChvPWUuY2hhckNvZGVBdChkKyspKT4+NCxyPSgxNSZvKTw8MnwoaT1lLmNoYXJDb2RlQXQoZCsrKSk+PjYsYz02MyZpLGlzTmFOKG8pP3I9Yz02NDppc05hTihpKSYmKGM9NjQpLHM9cytoLmNoYXJBdChhKStoLmNoYXJBdChuKStoLmNoYXJBdChyKStoLmNoYXJBdChjKTtyZXR1cm4gc30sdGhpcy5kZWNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQsbyxpLGEsbixyLGM9IiIscz0wO2ZvcihlPWUucmVwbGFjZSgvW15BLVphLXowLTlcK1wvXD1dL2csIiIpO3M8ZS5sZW5ndGg7KXQ9aC5pbmRleE9mKGUuY2hhckF0KHMrKykpPDwyfChhPWguaW5kZXhPZihlLmNoYXJBdChzKyspKSk+PjQsbz0oMTUmYSk8PDR8KG49aC5pbmRleE9mKGUuY2hhckF0KHMrKykpKT4+MixpPSgzJm4pPDw2fChyPWguaW5kZXhPZihlLmNoYXJBdChzKyspKSksYys9U3RyaW5nLmZyb21DaGFyQ29kZSh0KSw2NCE9PW4mJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG8pKSw2NCE9PXImJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpKTtyZXR1cm4gYz10aGlzLl91dGY4X2RlY29kZShjKX0sdGhpcy5fdXRmOF9lbmNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89IiIsaT0wLGE9KGU9ZS5yZXBsYWNlKC9cclxuL2csIlxuIikpLmxlbmd0aDtpPGE7aSsrKSh0PWUuY2hhckNvZGVBdChpKSk8MTI4P28rPVN0cmluZy5mcm9tQ2hhckNvZGUodCk6dD4xMjcmJnQ8MjA0OD8obys9U3RyaW5nLmZyb21DaGFyQ29kZSh0Pj42fDE5Miksbys9U3RyaW5nLmZyb21DaGFyQ29kZSg2MyZ0fDEyOCkpOihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQ+PjEyfDIyNCksbys9U3RyaW5nLmZyb21DaGFyQ29kZSh0Pj42JjYzfDEyOCksbys9U3RyaW5nLmZyb21DaGFyQ29kZSg2MyZ0fDEyOCkpO3JldHVybiBvfSx0aGlzLl91dGY4X2RlY29kZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9IiIsbz0wLGk9ZS5sZW5ndGgsYT0wLG49MCxyPTA7bzxpOykoYT1lLmNoYXJDb2RlQXQobykpPDEyOD8odCs9U3RyaW5nLmZyb21DaGFyQ29kZShhKSxvKz0xKTphPjE5MSYmYTwyMjQ/KG49ZS5jaGFyQ29kZUF0KG8rMSksdCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoMzEmYSk8PDZ8NjMmbiksbys9Mik6KG49ZS5jaGFyQ29kZUF0KG8rMSkscj1lLmNoYXJDb2RlQXQobysyKSx0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKCgxNSZhKTw8MTJ8KDYzJm4pPDw2fDYzJnIpLG8rPTMpO3JldHVybiB0fSx0aGlzLmV2ZXJjb29raWVfaGlzdG9yeT1mdW5jdGlvbihlLHQpe3ZhciBvLGksYT0oaCsiLSIpLnNwbGl0KCIiKSxuPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vZXZlcmNvb2tpZS9jYWNoZS8iK3RoaXMuZ2V0SG9zdCgpKyIvIitlLHI9IiIsYz0iIixzPTE7aWYodm9pZCAwIT09dCl7aWYodGhpcy5oYXNWaXNpdGVkKG4pKXJldHVybjtmb3IodGhpcy5jcmVhdGVJZnJhbWUobiwiaWYiKSxuKz0iLyIsaT10aGlzLmVuY29kZSh0KS5zcGxpdCgiIiksbz0wO288aS5sZW5ndGg7bysrKW4rPWlbb10sdGhpcy5jcmVhdGVJZnJhbWUobiwiaWYiK28pO24rPSItIix0aGlzLmNyZWF0ZUlmcmFtZShuLCJpZl8iKX1lbHNlIGlmKHRoaXMuaGFzVmlzaXRlZChuKSl7Zm9yKG4rPSIvIjsiLSIhPT1yJiYxPT09czspZm9yKHM9MCxvPTA7bzxhLmxlbmd0aDtvKyspaWYodGhpcy5oYXNWaXNpdGVkKG4rYVtvXSkpeyItIiE9PShyPWFbb10pJiYoYys9ciksbis9cixzPTE7YnJlYWt9cmV0dXJuIHRoaXMuZGVjb2RlKGMpfX0sdGhpcy5jcmVhdGVFbGVtPWZ1bmN0aW9uKGUsdCxvKXt2YXIgYTtyZXR1cm4oYT12b2lkIDAhPT10JiZpLmdldEVsZW1lbnRCeUlkKHQpP2kuZ2V0RWxlbWVudEJ5SWQodCk6aS5jcmVhdGVFbGVtZW50KGUpKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGEuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0JiZhLnNldEF0dHJpYnV0ZSgiaWQiLHQpLG8mJmkuYm9keS5hcHBlbmRDaGlsZChhKSxhfSx0aGlzLmNyZWF0ZUlmcmFtZT1mdW5jdGlvbihlLHQpewp2YXIgbz10aGlzLmNyZWF0ZUVsZW0oImlmcmFtZSIsdCwxKTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInNyYyIsZSksb307dmFyIHg9dGhpcy53YWl0Rm9yU3dmPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWU/ZT0wOmUrKyxlPG0mJnZvaWQgMD09PXImJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7eChlKX0pLDMwMCl9O3RoaXMuZXZlcmNvb2tpZV9jb29raWU9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT10KXJldHVybiB0aGlzLmdldEZyb21TdHIoZSxpLmNvb2tpZSk7aS5jb29raWU9ZSsiPTsgZXhwaXJlcz1Nb24sIDIwIFNlcCAyMDEwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LGkuY29va2llPWUrIj0iK3QrIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5fSx0aGlzLmdldEZyb21TdHI9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBvLGksYT1lKyI9IixuPXQuc3BsaXQoL1s7Jl0vKTtmb3Iobz0wO288bi5sZW5ndGg7bysrKXtmb3IoaT1uW29dOyIgIj09PWkuY2hhckF0KDApOylpPWkuc3Vic3RyaW5nKDEsaS5sZW5ndGgpO2lmKDA9PT1pLmluZGV4T2YoYSkpcmV0dXJuIGkuc3Vic3RyaW5nKGEubGVuZ3RoLGkubGVuZ3RoKX19fSx0aGlzLmdldEhvc3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZS5sb2NhdGlvbi5ob3N0LnJlcGxhY2UoLzpcZCsvLCIiKX0sdGhpcy50b0hleD1mdW5jdGlvbihlKXtmb3IodmFyIHQsbz0iIixpPWUubGVuZ3RoLGE9MDthPGk7KXtmb3IodD1lLmNoYXJDb2RlQXQoYSsrKS50b1N0cmluZygxNik7dC5sZW5ndGg8MjspdD0iMCIrdDtvKz10fXJldHVybiBvfSx0aGlzLmZyb21IZXg9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89IiIsaT1lLmxlbmd0aDtpPj0wOyl0PWktMixvPVN0cmluZy5mcm9tQ2hhckNvZGUoIjB4IitlLnN1YnN0cmluZyh0LGkpKStvLGk9dDtyZXR1cm4gb30sdGhpcy5oYXNWaXNpdGVkPWZ1bmN0aW9uKGUpey0xPT09dGhpcy5ub19jb2xvciYmKC0xPT09dGhpcy5fZ2V0UkdCKCJodHRwOi8vc2FteS13YXMtaGVyZS10aGlzLXNob3VsZC1uZXZlci1iZS12aXNpdGVkLmNvbSIsLTEpJiYodGhpcy5ub19jb2xvcj10aGlzLl9nZXRSR0IoImh0dHA6Ly9zYW15LXdhcy1oZXJlLSIrTWF0aC5mbG9vcig5OTk5OTk5Kk1hdGgucmFuZG9tKCkpKyJyYW5kLmNvbSIpKSk7cmV0dXJuIDA9PT1lLmluZGV4T2YoImh0dHBzOiIpfHwwPT09ZS5pbmRleE9mKCJodHRwOiIpP3RoaXMuX3Rlc3RVUkwoZSx0aGlzLm5vX2NvbG9yKTp0aGlzLl90ZXN0VVJMKCJodHRwOi8vIitlLHRoaXMubm9fY29sb3IpfHx0aGlzLl90ZXN0VVJMKCJodHRwczovLyIrZSx0aGlzLm5vX2NvbG9yKXx8dGhpcy5fdGVzdFVSTCgiaHR0cDovL3d3dy4iK2UsdGhpcy5ub19jb2xvcil8fHRoaXMuX3Rlc3RVUkwoImh0dHBzOi8vd3d3LiIrZSx0aGlzLm5vX2NvbG9yKX07dmFyIGIsdyxEPXRoaXMuY3JlYXRlRWxlbSgiYSIsIl9lY19yZ2JfbGluayIpLFM9IiNfZWNfcmdiX2xpbms6dmlzaXRlZHtkaXNwbGF5Om5vbmU7Y29sb3I6I0ZGMDAwMH0iO3RyeXtiPTEsKHc9aS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKS5zdHlsZVNoZWV0P3cuc3R5bGVTaGVldC5pbm5lckhUTUw9Uzp3LmlubmVySFRNTD93LmlubmVySFRNTD1TOncuYXBwZW5kQ2hpbGQoaS5jcmVhdGVUZXh0Tm9kZShTKSl9Y2F0Y2goZSl7Yj0wfXRoaXMuX2dldFJHQj1mdW5jdGlvbihlLHQpe3JldHVybiB0JiYwPT09Yj8tMTooRC5ocmVmPWUsRC5pbm5lckhUTUw9ZSxpLmJvZHkuYXBwZW5kQ2hpbGQodyksaS5ib2R5LmFwcGVuZENoaWxkKEQpLGkuZGVmYXVsdFZpZXc/aS5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKEQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgiY29sb3IiKTpELmN1cnJlbnRTdHlsZS5jb2xvcil9LHRoaXMuX3Rlc3RVUkw9ZnVuY3Rpb24oZSx0KXt2YXIgbz10aGlzLl9nZXRSR0IoZSk7cmV0dXJuInJnYigyNTUsIDAsIDApIj09PW98fCIjZmYwMDAwIj09PW98fHQmJm8hPT10PzE6MH19fSh3aW5kb3cpfWNhdGNoKGUpe319LDIyMjk4NigpeyJ1c2Ugc3RyaWN0Ijt2YXIgZSx0LG8saSxhLG47d2luZG93LnBhcmVudCE9PXdpbmRvdyYmd2luZG93LkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCYmd2luZG93LlRleHRNZXRyaWNzJiYodD13aW5kb3cuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELnByb3RvdHlwZSkmJnQuaGFzT3duUHJvcGVydHkoImZvbnQiKSYmdC5oYXNPd25Qcm9wZXJ0eSgibW96VGV4dFN0eWxlIikmJiJmdW5jdGlvbiI9PXR5cGVvZiB0Ll9fbG9va3VwU2V0dGVyX18mJihvPXQuX19sb29rdXBTZXR0ZXJfXygiZm9udCIpKSYmKHQuX19kZWZpbmVTZXR0ZXJfXygiZm9udCIsKGZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gby5jYWxsKHRoaXMsZSl9Y2F0Y2goZSl7aWYoIk5TX0VSUk9SX0ZBSUxVUkUiIT09ZS5uYW1lKXRocm93IGV9fSkpLGk9dC5tZWFzdXJlVGV4dCxlPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD0wLHRoaXMuaXNGYWtlPSEwLHRoaXMuX19wcm90b19fPXdpbmRvdy5UZXh0TWV0cmljcy5wcm90b3R5cGV9LHQubWVhc3VyZVRleHQ9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaCh0KXtpZigiTlNfRVJST1JfRkFJTFVSRSIhPT10Lm5hbWUpdGhyb3cgdDtyZXR1cm4gbmV3IGV9fSxhPXQuZmlsbFRleHQsdC5maWxsVGV4dD1mdW5jdGlvbihlLHQsbyxpKXt0cnl7YS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9Y2F0Y2goZSl7aWYoIk5TX0VSUk9SX0ZBSUxVUkUiIT09ZS5uYW1lKXRocm93IGV9fSxuPXQuc3Ryb2tlVGV4dCx0LnN0cm9rZVRleHQ9ZnVuY3Rpb24oZSx0LG8saSl7dHJ5e24uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKGUpe2lmKCJOU19FUlJPUl9GQUlMVVJFIiE9PWUubmFtZSl0aHJvdyBlfX0pfSw4MTczNTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZGVmYXVsdDooKT0+bn0pO3ZhciBpPW8oMTc4NDk3KSxhPW8oMzYwNjIwKTtjb25zdCBuPWZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZXx8ITE9PT1lfHwoMCwKYS5kZWZhdWx0KShlKSYmIltvYmplY3QgQm9vbGVhbl0iPT0oMCxpLmRlZmF1bHQpKGUpfX0sMjA2NjczKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9Pm59KTt2YXIgaT1vKDE3ODQ5NyksYT1vKDM2MDYyMCk7Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV8fCgwLGEuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IE51bWJlcl0iPT0oMCxpLmRlZmF1bHQpKGUpfX0sMzA0MjIxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1vKDE3ODQ5NyksYT1vKDI5NTYzNSksbj1vKDM2MDYyMCk7Y29uc3Qgcj1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV8fCEoMCxhLmRlZmF1bHQpKGUpJiYoMCxuLmRlZmF1bHQpKGUpJiYiW29iamVjdCBTdHJpbmddIj09KDAsaS5kZWZhdWx0KShlKX19LDgzOTQyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtkZWZhdWx0OigpPT5ufSk7dmFyIGk9byg2OTIzNjkpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXt2YXIgbztpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuIGU9KDAsaS5kZWZhdWx0KShlKSxmdW5jdGlvbigpe3JldHVybi0tZT4wJiYobz10LmFwcGx5KHRoaXMsYXJndW1lbnRzKSksZTw9MSYmKHQ9dm9pZCAwKSxvfX07Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4gYSgyLGUpfX0sNjkyMzY5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1vKDQwNjQ0OSksYT0xLzA7Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4gZT8oZT0oMCxpLmRlZmF1bHQpKGUpKT09PWF8fGU9PT0tMS8wPzE3OTc2OTMxMzQ4NjIzMTU3ZTI5MiooZTwwPy0xOjEpOmU9PWU/ZTowOjA9PT1lP2U6MH07Y29uc3Qgcj1mdW5jdGlvbihlKXt2YXIgdD1uKGUpLG89dCUxO3JldHVybiB0PT10P28/dC1vOnQ6MH19fV0pOw=="}},"time_used":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":"s3-symbol-logo.tradingview.com/crypto/XTVCTRUMPOF.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.510Z","timestamp":1785136905510,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCTRUMPOF.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.006Z","timestamp":1785136901006,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/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 07:21:41 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: f2873c6ca83245e7c0b71883c82658ca\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-28T07:05:00.680835Z","times_seen":1734,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":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":"s3-symbol-logo.tradingview.com/crypto/XTVCPRLP.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.608Z","timestamp":1785136905608,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCPRLP.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/37746.345227bb16e0d8bc9bd5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.271Z","timestamp":1785136901271,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37746.345227bb16e0d8bc9bd5.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-4a3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c635a0b8b3c512ccab28a46370614954\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1187,"size_decoded":1308,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1187), with no line terminators","md5":"7c2aff82ece78ae66e4fd48a3d376d48","sha1":"a0455b0a01ddb45dbeb672c1c2b4acd05473f387","sha256":"b7b76e631e49ee552d2d39a236f96bdfaf0b9feeb6bfc0f463b53af9b083016a","sha512":"eb59cb697bda650cf008b5547eb750fad0e6fb3532027021fcdf3c855b246b1f377f29bdde84c93f8e6514afcba0b90d725b44f933da0dca4ece00bb5204704f","ssdeep":"","tlshash":"59219099c45b006d493f13259bdd264d453d980262277eef39d1b0ce0a86adf23ff229","first_seen":"2026-04-09T17:47:32.401827Z","last_seen":"2026-08-10T05:01:44.335913Z","times_seen":754,"resource_available":false,"data":"LmRpYWxvZy1xeUN3MFBhTnttYXgtd2lkdGg6MzgwcHg7bWluLXdpZHRoOjI4MHB4O3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCV9LmRpYWxvZy1xeUN3MFBhTiBbZGF0YS1kcmFnZy1hcmVhPXRydWVde2N1cnNvcjpncmFifS5kaWFsb2ctcXlDdzBQYU4gW2RhdGEtZHJhZ2ctYXJlYT10cnVlXS5kcmFnZ2luZy1xeUN3MFBhTntjdXJzb3I6Z3JhYmJpbmd9aHRtbC50aGVtZS1kYXJrIC5kaWFsb2ctcXlDdzBQYU4ubW9iaWxlLXF5Q3cwUGFOe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmxhY2spfWh0bWwudGhlbWUtZGFyayAuZGlhbG9nLXF5Q3cwUGFOLm1vYmlsZS1xeUN3MFBhTjpub3QoLmZ1bGxzY3JlZW4tcXlDdzBQYU4pe2JveC1zaGFkb3c6MCA0cHggMTZweCAwIHZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApLDAgMCAycHggMCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0uZGlhbG9nQW5pbWF0ZWRBcHBlYXJhbmNlLXF5Q3cwUGFOe2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLW5hbWU6ZGlhbG9nQW5pbWF0aW9uLXF5Q3cwUGFOO3RyYW5zZm9ybS1vcmlnaW46MCAwfS5kaWFsb2dBbmltYXRlZEFwcGVhcmFuY2UtcXlDdzBQYU46ZGlyKHJ0bCl7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9QGtleWZyYW1lcyBkaWFsb2dBbmltYXRpb24tcXlDdzBQYU57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYKSx2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFkpKSBzY2FsZSgwKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYKSx2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVFbmRZKSkgc2NhbGUoMSl9fS5kaWFsb2dUb29sdGlwLXF5Q3cwUGFOe2NvbG9yOiNmZmY7Zm9udC1zaXplOjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjUwJTtsaW5lLWhlaWdodDoyMXB4O21heC13aWR0aDo1NDBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTIwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6bWF4LWNvbnRlbnR9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kaWFsb2dUb29sdGlwLXF5Q3cwUGFOe21heC13aWR0aDoyNDBweH19LmRpYWxvZ1Rvb2x0aXAtcXlDdzBQYU46ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0="}},"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/36938.58456da0cdb4bb9bb485.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.367Z","timestamp":1785136901367,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36938.58456da0cdb4bb9bb485.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-867c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e906c27da0ab2262ebfe9e9886b57276\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34428,"size_decoded":12931,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"0b3a2f0bced3b2d13e2bc4271e8f8bec","sha1":"c8882777ff1ea1c0a44cd5abb3371658234b1ba7","sha256":"cc20688cf7733b705a8082a5cd27b28bfb7c5bf465b3b37a793cbb16845e2044","sha512":"79451e25e3c330b552f61617650652ad0fec3ca6846f09ab1abb2fee164ff668ea5b4bddc93377a87b16a14cbf8b793a074e8b00f7f1bb596ddb62211aae77cd","ssdeep":"768:1NuXCwjvbjs5+DLdgy+qR2UxNnoxErOw2f+gCrpZAKA6DQKG4JJZXKTmpcu9Chqj:aXPjvbQ+tI6XXoOow+H0","tlshash":"25f22c92b09170bc96f746ee943f0552f33a1a64b9854868f0bc8cec2d64d49e272f7d","first_seen":"2026-07-23T14:00:31.698766Z","last_seen":"2026-07-28T06:17:53.61859Z","times_seen":190,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNjkzOCw2MzU5NV0sezk3Nzc3KGUpe2UuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDk5NDUoZSl7ZS5leHBvcnRzPXtkZWZhdWx0OiJkZWZhdWx0LUdaTHlrTlFQIixkYW5nZXI6ImRhbmdlci1HWkx5a05RUCIsd2FybmluZzoid2FybmluZy1HWkx5a05RUCIsc3VjY2Vzczoic3VjY2Vzcy1HWkx5a05RUCIsbmV1dHJhbDoibmV1dHJhbC1HWkx5a05RUCIsIm5ldXRyYWwtbGlnaHQiOiJuZXV0cmFsLWxpZ2h0LUdaTHlrTlFQIixzbWFsbDoic21hbGwtR1pMeWtOUVAiLG1lZGl1bToibWVkaXVtLUdaTHlrTlFQIixsYXJnZToibGFyZ2UtR1pMeWtOUVAiLGljb25XcmFwcGVyOiJpY29uV3JhcHBlci1HWkx5a05RUCIsaWNvbjoiaWNvbi1HWkx5a05RUCJ9fSw0NDAwOTYoZSl7ZS5leHBvcnRzPXtzY3JvbGxDb250YWluZXI6InNjcm9sbENvbnRhaW5lci16RzJDcURlMiJ9fSw2MjcwMjIoZSl7ZS5leHBvcnRzPXtmbGV4OiJmbGV4LWdvMFplTlFGIixmaXhlZEhlYWRlcjoiZml4ZWRIZWFkZXItZ28wWmVOUUYiLGZpeGVkRm9vdGVyOiJmaXhlZEZvb3Rlci1nbzBaZU5RRiIsbWFpblNjcm9sbFdyYXBwZXI6Im1haW5TY3JvbGxXcmFwcGVyLWdvMFplTlFGIixmaXhlZEhlYWRlckNvbnRlbnQ6ImZpeGVkSGVhZGVyQ29udGVudC1nbzBaZU5RRiIsZml4ZWRGb290ZXJDb250ZW50OiJmaXhlZEZvb3RlckNvbnRlbnQtZ28wWmVOUUYiLG5vU2Nyb2xsOiJub1Njcm9sbC1nbzBaZU5RRiIsbWFpbjoibWFpbi1nbzBaZU5RRiIsbWFpbkNvbnRlbnQ6Im1haW5Db250ZW50LWdvMFplTlFGIn19LDYyMzYxMyhlKXtlLmV4cG9ydHM9e21vYmlsZUNvbnRleHQ6Im1vYmlsZUNvbnRleHQtVnhuNExoWUwiLGFuY2hvckNvbnRleHQ6ImFuY2hvckNvbnRleHQtVnhuNExoWUwifX0sNzYyMDUzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1qV21NbTJWQSIsdGltZXpvbmU6InRpbWV6b25lLWpXbU1tMlZBIixsYXJnZVBhZGRpbmc6ImxhcmdlUGFkZGluZy1qV21NbTJWQSIsc2Vzc2lvbkRheVdyYXBwZXI6InNlc3Npb25EYXlXcmFwcGVyLWpXbU1tMlZBIixub3dXcmFwcGVyOiJub3dXcmFwcGVyLWpXbU1tMlZBIixub3c6Im5vdy1qV21NbTJWQSIsc2Vzc2lvbkRheToic2Vzc2lvbkRheS1qV21NbTJWQSIsd2Vla0RheToid2Vla0RheS1qV21NbTJWQSIsc2Vzc2lvbkRheVNlZ21lbnRzOiJzZXNzaW9uRGF5U2VnbWVudHMtaldtTW0yVkEiLHRpbWVNYXJrV3JhcHBlcjoidGltZU1hcmtXcmFwcGVyLWpXbU1tMlZBIix0aW1lTWFya1NlZ21lbnQ6InRpbWVNYXJrU2VnbWVudC1qV21NbTJWQSIsdGltZU1hcms6InRpbWVNYXJrLWpXbU1tMlZBIix0aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kczoidGltZU1hcmtTZWdtZW50QWxpZ25CeUVuZHMtaldtTW0yVkEiLHNlZ21lbnQ6InNlZ21lbnQtaldtTW0yVkEiLHNtYWxsOiJzbWFsbC1qV21NbTJWQSIsc3RhcnQ6InN0YXJ0LWpXbU1tMlZBIixlbmQ6ImVuZC1qV21NbTJWQSIsYWN0aXZlOiJhY3RpdmUtaldtTW0yVkEiLGdyZWVuOiJncmVlbi1qV21NbTJWQSIsb3JhbmdlOiJvcmFuZ2UtaldtTW0yVkEiLGJsdWU6ImJsdWUtaldtTW0yVkEiLHB1cnBsZToicHVycGxlLWpXbU1tMlZBIixncmF5OiJncmF5LWpXbU1tMlZBIix0b29sdGlwOiJ0b29sdGlwLWpXbU1tMlZBIix0aW1lOiJ0aW1lLWpXbU1tMlZBIn19LDQ0NzI2OChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtc21hbGwtc2l6ZSI6IjE4cHgiLCJjc3MtdmFsdWUtbWVkaXVtLXNpemUiOiIyMnB4IiwiY3NzLXZhbHVlLWxhcmdlLXNpemUiOiIyOHB4IiwiY3NzLXZhbHVlLWJvcmRlci1yYWRpdXMtc21hbGwtc2l6ZSI6IjlweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1zaXplIjoiMTFweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLWxhcmdlLXNpemUiOiI4cHgiLCJjc3MtdmFsdWUtdmVydGljYWwtcGFkZGluZy1zaXplIjoiMTZweCIsImNzcy12YWx1ZS1ob3Jpem9udGFsLXBhZGRpbmctc2l6ZSI6IjE2cHgiLCJjc3MtdmFsdWUtdmVydGljYWwtcGFkZGluZy1zaXplLWZpcnN0IjoiMTFweCIsImNzcy12YWx1ZS12ZXJ0aWNhbC1wYWRkaW5nLXNpemUtbGFzdCI6IjEwcHgiLHBvcHVwV2lkZ2V0V3JhcHBlcjoicG9wdXBXaWRnZXRXcmFwcGVyLUE0djBkbDE3Iixwb3B1cFdpZGdldFdpZHRoOiJwb3B1cFdpZGdldFdpZHRoLUE0djBkbDE3Iixwb3B1cFdpZGdldDoicG9wdXBXaWRnZXQtQTR2MGRsMTciLGxhcmdlOiJsYXJnZS1BNHYwZGwxNyIsbW9iaWxlOiJtb2JpbGUtQTR2MGRsMTciLGRlc2M6ImRlc2MtQTR2MGRsMTciLGljb246Imljb24tQTR2MGRsMTciLHNtYWxsOiJzbWFsbC1BNHYwZGwxNyIsbWVkaXVtOiJtZWRpdW0tQTR2MGRsMTciLHRpdGxlOiJ0aXRsZS1BNHYwZGwxNyIsdGV4dDoidGV4dC1BNHYwZGwxNyIsaXRlbToiaXRlbS1BNHYwZGwxNyIsYm9sZEl0ZW06ImJvbGRJdGVtLUE0djBkbDE3IixhY3Rpb246ImFjdGlvbi1BNHYwZGwxNyIsYWN0aW9uQnRuOiJhY3Rpb25CdG4tQTR2MGRsMTciLGFjdGlvbnM6ImFjdGlvbnMtQTR2MGRsMTciLGFkZGl0aW9uYWxXaWRnZXQ6ImFkZGl0aW9uYWxXaWRnZXQtQTR2MGRsMTcifX0sMTk4MjA5KGUpe2UuZXhwb3J0cz17Imljb24td3JhcHBlciI6Imljb24td3JhcHBlci1kaWtkZXd3eCIsIndpdGgtbGluayI6IndpdGgtbGluay1kaWtkZXd3eCIsIndpdGgtdG9vbHRpcCI6IndpdGgtdG9vbHRpcC1kaWtkZXd3eCIsIm5vLWFjdGl2ZS1zdGF0ZSI6Im5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eCJ9fSwKNTkwNDg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0JhZGdlOigpPT51fSk7dmFyIHM9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLGE9big5Nzc3Nykscj1uLm4oYSk7ZnVuY3Rpb24gbCh7aHJlZjplLG9uQ2xpY2s6dCxyZWZlcmVuY2U6biwuLi5pfSl7cmV0dXJuIGU/cy5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjplLG9uQ2xpY2s6dCx0YXJnZXQ6Il9ibGFuayIscmVmOm4sLi4uaX0pOnQ/cy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtvbkNsaWNrOnQscmVmOm4sLi4uaX0pOnMuY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpuLC4uLml9KX1mdW5jdGlvbiB1KHtjbGFzc05hbWU6ZSxzaXplOnQsbGVmdFNsb3Q6bixyaWdodFNsb3Q6aSxjaGlsZHJlbjphLC4uLnV9KXtjb25zdCBjPW8oKShlLHIoKS5iYWRnZSx0JiZyKClbdF0sYSYmcigpLmhhc0NoaWxkcmVuKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGwse2NsYXNzTmFtZTpjLC4uLnV9LG4mJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5zbG90fSxuKSxhJiZzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpLmNvbnRlbnR9LGEpLGkmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5zbG90fSxpKSl9fSwyMzQ2MzYoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcztuLmQodCx7QmFkZ2VTaXplOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5YU21hbGw9InhzbWFsbCIsZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIixlLlhMYXJnZT0ieGxhcmdlIn0oc3x8KHM9e30pKX0sNzE3OTMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU1hdGNoTWVkaWE6KCk9Pm8sdXNlU2FmZU1hdGNoTWVkaWE6KCk9Pml9KTt2YXIgcz1uKDc3OTQ3NCk7ZnVuY3Rpb24gaShlLHQ9ITEpe2NvbnN0W24saV09KDAscy51c2VTdGF0ZSkodCk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IHQ9d2luZG93Lm1hdGNoTWVkaWEoZSk7ZnVuY3Rpb24gbigpe2kodC5tYXRjaGVzKX1yZXR1cm4gbigpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKSwoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKX19KSxbZV0pLG59ZnVuY3Rpb24gbyhlKXtjb25zdCB0PSgwLHMudXNlTWVtbykoKCgpPT53aW5kb3cubWF0Y2hNZWRpYShlKS5tYXRjaGVzKSxbXSk7cmV0dXJuIGkoZSx0KX19LDkwMDg0MShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LG4scyxpKXtmdW5jdGlvbiBvKGkpe2lmKGU+aS50aW1lU3RhbXApcmV0dXJuO2NvbnN0IG89aS50YXJnZXQ7dm9pZCAwIT09biYmbnVsbCE9PXQmJm51bGwhPT1vJiZvLm93bmVyRG9jdW1lbnQ9PT1zJiYodC5jb250YWlucyhvKXx8bihpKSl9cmV0dXJuIGkuY2xpY2smJnMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG8sITEpLGkubW91c2VEb3duJiZzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbywhMSksaS50b3VjaEVuZCYmcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsbywhMSksaS50b3VjaFN0YXJ0JiZzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG8sITEpLCgpPT57cy5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsbywhMSkscy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8sITEpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLG8sITEpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbywhMSl9fW4uZCh0LHthZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcjooKT0+c30pfSwyMzY3NjUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlT3V0c2lkZUV2ZW50OigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9big2MTYzMTEpLG89big5MDA4NDEpO2Z1bmN0aW9uIGEoZSl7Y29uc3R7Y2xpY2s6dCxtb3VzZURvd246bix0b3VjaEVuZDphLHRvdWNoU3RhcnQ6cixoYW5kbGVyOmwscmVmZXJlbmNlOnV9PWUsYz0oMCxzLnVzZVJlZikobnVsbCksZD0oMCxzLnVzZVJlZikoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/MDpuZXcgd2luZG93LkN1c3RvbUV2ZW50KCJ0aW1lc3RhbXAiKS50aW1lU3RhbXApO3JldHVybigwLGkudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT17Y2xpY2s6dCxtb3VzZURvd246bix0b3VjaEVuZDphLHRvdWNoU3RhcnQ6cn0scz11P3UuY3VycmVudDpjLmN1cnJlbnQ7cmV0dXJuKDAsby5hZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcikoZC5jdXJyZW50LHMsbCxkb2N1bWVudCxlKX0pLFt0LG4sYSxyLGxdKSx1fHxjfX0sMjkwMjQzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVNhZmVNb2JpbGVUb3VjaDooKT0+b30pO3ZhciBzPW4oNzc5NDc0KSxpPW4oNzM4NDU4KTtmdW5jdGlvbiBvKCl7Y29uc3RbZSx0XT0oMCxzLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e3QoaS5tb2JpbGV0b3VjaCl9KSxbXSksZX19LDg2NTA5MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VUb29sdGlwOigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9bigyOTAyNDMpLG89big3ODc4OTUpO2Z1bmN0aW9uIGEoZSx0PW51bGwpe2NvbnN0e3Nob3dUb29sdGlwOm4saGlkZVRvb2x0aXA6YSxvbkNsaWNrOnIsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6bD0hMX09ZSx1PSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCksYz0oMCxpLnVzZVNhZmVNb2JpbGVUb3VjaCkoKSxkPWMmJmw/dm9pZCAwOmUudG9vbHRpcDsoMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oKT0+YSYmYSgpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApfSksW3UsYV0pO3JldHVybntvbkJsdXI6KDAscy51c2VDYWxsYmFjaykoKGU9PnthJiZhKCl9KSxbYV0pLG9uRm9jdXM6KDAscy51c2VDYWxsYmFjaykoKGU9PnsKIWUudGFyZ2V0Lm1hdGNoZXMoIjpob3ZlciIpJiZuJiZlLnRhcmdldC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpJiZuKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjIwMH0pfSksW25dKSxvbkNsaWNrOigwLHMudXNlQ2FsbGJhY2spKChlPT57YyYmdT8uY3VycmVudD8uZm9jdXMoKSxyJiZyKGUpfSksW3IsdSxjXSksdG9vbHRpcDpkLGNsYXNzTmFtZTp2b2lkIDAhPT1kPyJhcHBseS1jb21tb24tdG9vbHRpcCI6dm9pZCAwLHJlZjp1fX19LDg3MzA5MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBTFdBWVNfRFJPUERPV05fUE9QT1ZFUl9CUkVBS1BPSU5UOigpPT5pLERFRkFVTFRfUE9QT1ZFUl9CUkVBS1BPSU5UOigpPT5vfSk7dmFyIHM9big4MDk0MzYpO2NvbnN0IGk9Im5vdCBhbGwiLG89c1sibWVkaWEtc2hvdy1kcmF3ZXIiXX0sNTIwNDg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcG92ZXJDb250ZW50VmVydGljYWw6KCk9PmN9KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSksYT1uKDQ0MDA5Nikscj1uLm4oYSk7dmFyIGw9big2MjcwMjIpLHU9bi5uKGwpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2hpbGRyZW46dCxmaXhlZEhlYWRlcjpuLGZpeGVkRm9vdGVyOmksb25TY3JvbGw6YSxzY3JvbGxSZWY6bCxkYXRhUWFJZDpjfT1lLHtzY3JvbGxDb21wZW5zYXRpb246ZCxzY3JvbGxQYWRkaW5nQ29udGFpbmVyOm19PWZ1bmN0aW9uKCl7Y29uc3RbZSx0XT0oMCxzLnVzZVN0YXRlKSh2b2lkIDApLG49KDAscy51c2VDYWxsYmFjaykoKGU9PntlJiZ0KCh0PT50fHxlLm9mZnNldFdpZHRoLWUuY2xpZW50V2lkdGgpKX0pLFtdKTtyZXR1cm57c2Nyb2xsQ29tcGVuc2F0aW9uOnZvaWQgMCE9PWU/LWUrInB4Ijp2b2lkIDAsc2Nyb2xsUGFkZGluZ0NvbnRhaW5lcjpzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkuc2Nyb2xsQ29udGFpbmVyLHJlZjpufSl9fSgpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOmMsY2xhc3NOYW1lOnUoKS5mbGV4fSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLmZpeGVkSGVhZGVyLG4mJnUoKS5maXhlZEhlYWRlckNvbnRlbnQpfSxuKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLm1haW5TY3JvbGxXcmFwcGVyLHZvaWQgMD09PWQmJnUoKS5ub1Njcm9sbCksb25TY3JvbGw6YSxyZWY6bCxzdHlsZTp7Ii0tdWktbGliLXByaXZhdGUtcG9wb3ZlckNvbnRlbnRWZXJ0aWNhbC1zY3JvbGwtY29tcGVuc2F0aW9uIjpkfX0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bygpKHUoKS5tYWluLHQmJnUoKS5tYWluQ29udGVudCl9LHQpKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLmZpeGVkRm9vdGVyLGkmJnUoKS5maXhlZEZvb3RlckNvbnRlbnQpfSxpKSksbSl9fSw2NDA1MTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VNRU5UX0JPVFRPTV9BTElHTl9DRU5URVI6KCk9Pm8sUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZUOigpPT5zLFBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQ6KCk9PmksUExBQ0VNRU5UX0xFRlRfQUxJR05fQk9UVE9NOigpPT5oLFBMQUNFTUVOVF9MRUZUX0FMSUdOX0NFTlRFUjooKT0+cCxQTEFDRU1FTlRfTEVGVF9BTElHTl9UT1A6KCk9Pm0sUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0JPVFRPTTooKT0+YyxQTEFDRU1FTlRfUklHSFRfQUxJR05fQ0VOVEVSOigpPT5kLFBMQUNFTUVOVF9SSUdIVF9BTElHTl9UT1A6KCk9PnUsUExBQ0VNRU5UX1RPUF9BTElHTl9DRU5URVI6KCk9PmwsUExBQ0VNRU5UX1RPUF9BTElHTl9MRUZUOigpPT5hLFBMQUNFTUVOVF9UT1BfQUxJR05fUklHSFQ6KCk9PnJ9KTtjb25zdCBzPXtuYW1lOiJib3R0b20tbGVmdCIscnRsTmFtZToiYm90dG9tLXJpZ2h0IixhbmNob3JQb2ludDp7eDowLHk6MX0sY29udGVudFBvaW50Ont4OjAseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxpPXtuYW1lOiJib3R0b20tcmlnaHQiLHJ0bE5hbWU6ImJvdHRvbS1sZWZ0IixhbmNob3JQb2ludDp7eDoxLHk6MX0sY29udGVudFBvaW50Ont4OjEseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxvPXtuYW1lOiJib3R0b20iLGFuY2hvclBvaW50Ont4Oi41LHk6MX0sY29udGVudFBvaW50Ont4Oi41LHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sYT17bmFtZToidG9wLWxlZnQiLHJ0bE5hbWU6InRvcC1yaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjB9LGNvbnRlbnRQb2ludDp7eDowLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0scj17bmFtZToidG9wLXJpZ2h0IixydGxOYW1lOiJ0b3AtbGVmdCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjB9LGNvbnRlbnRQb2ludDp7eDoxLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sbD17bmFtZToidG9wIixhbmNob3JQb2ludDp7eDouNSx5OjB9LGNvbnRlbnRQb2ludDp7eDouNSx5OjF9LG92ZXJmbG93SG9yaXpvbnRhbDoic2xpZGUiLG92ZXJmbG93VmVydGljYWw6ImNyb3BTbGlkZSJ9LHU9e25hbWU6InJpZ2h0LXRvcCIscnRsTmFtZToibGVmdC10b3AiLGFuY2hvclBvaW50Ont4OjEseTowfSxjb250ZW50UG9pbnQ6e3g6MCx5OjB9LG92ZXJmbG93SG9yaXpvbnRhbDoiY3JvcFNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJzbGlkZSJ9LGM9e25hbWU6InJpZ2h0LWJvdHRvbSIscnRsTmFtZToibGVmdC1ib3R0b20iLGFuY2hvclBvaW50Ont4OjEseToxfSxjb250ZW50UG9pbnQ6e3g6MCx5OjF9LG92ZXJmbG93SG9yaXpvbnRhbDoiY3JvcFNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJzbGlkZSJ9LGQ9e25hbWU6InJpZ2h0IixydGxOYW1lOiJsZWZ0IiwKYW5jaG9yUG9pbnQ6e3g6MSx5Oi41fSxjb250ZW50UG9pbnQ6e3g6MCx5Oi41fSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxtPXtuYW1lOiJsZWZ0LXRvcCIscnRsTmFtZToicmlnaHQtdG9wIixhbmNob3JQb2ludDp7eDowLHk6MH0sY29udGVudFBvaW50Ont4OjEseTowfSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxoPXtuYW1lOiJsZWZ0LWJvdHRvbSIscnRsTmFtZToicmlnaHQtYm90dG9tIixhbmNob3JQb2ludDp7eDowLHk6MX0sY29udGVudFBvaW50Ont4OjEseToxfSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxwPXtuYW1lOiJsZWZ0IixydGxOYW1lOiJyaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5Oi41fSxjb250ZW50UG9pbnQ6e3g6MSx5Oi41fSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifX0sNDc5Mjk3KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4odCxuKT0+KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsdCxuKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGUsdCxuKX0pfW4uZCh0LHt3aW5kb3dFdmVudDooKT0+c30pfSw0NDA0NDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ2xvc2VSZXBvc2l0aW9uT25TY3JvbGxPdXRzaWRlOigpPT51fSk7dmFyIHM9big3Nzk0NzQpLGk9big3MDY5NDMpLG89big0NzkyOTcpLGE9bigxNTkyNTYpLHI9big4NTQzMzgpO2NvbnN0IGw9KDAsby53aW5kb3dFdmVudCkoInNjcm9sbCIpO2Z1bmN0aW9uIHUoZSx0LG4sbyl7Y29uc3QgdT0oMCxzLnVzZU1lbW8pKCgoKT0+KDAsaS5jcmVhdGVTaWduYWwpKCkpLFtdKSxjPSgwLHMudXNlQ2FsbGJhY2spKCgoKT0+e24oITEsImN1cnJlbnRMZXZlbCIpfSksW25dKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4peygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT5sKChlPT57Y29uc3Qgcz1uLmN1cnJlbnQ7aWYoIXMpcmV0dXJuO2NvbnN0IGk9ZS50YXJnZXQ7aSYmKCgwLHIuaXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHMpKHMsaSl8fCgwLHIuaXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHMpKGkscykmJnQoKSl9KSwhMCkpLFt0LG5dKX0oZSx0P2M6dS5maXJlLG8pLHV9fSw1Nzc4MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNJbkV4Y2x1ZGVkQXJlYTooKT0+aX0pO3ZhciBzPW4oNzcxNDQ3KTtmdW5jdGlvbiBpKGUsdCl7aWYoIXQpcmV0dXJuITE7Y29uc3Qgbj0iY3VycmVudCJpbiB0P3QuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6dDtyZXR1cm4hIW4mJigwLHMuaXNJblJlY3QpKGUsbil9fSwxNTkyNTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29uZGl0aW9uYWxFZmZlY3Q6KCk9Pml9KTt2YXIgcz1uKDc3OTQ3NCk7ZnVuY3Rpb24gaShlLHQsbil7KDAscy51c2VFZmZlY3QpKCgoKT0+e2lmKGUpcmV0dXJuIHQoKX0pLFsuLi5uLGVdKX19LDcxODc3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VQb3BvdmVyQ2xvc2VCZWhhdmlvcjooKT0+Z30pO3ZhciBzLGk9big3Nzk0NzQpLG89bigzMDYyODcpLGE9bigxNTkyNTYpOyFmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkhvcml6b250YWw9MV09Ikhvcml6b250YWwiLGVbZS5WZXJ0aWNhbD0yXT0iVmVydGljYWwiLGVbZS5Cb3RoPTNdPSJCb3RoIn0oc3x8KHM9e30pKTt2YXIgcj1uKDQ0MDQ0Nik7ZnVuY3Rpb24gbChlLHQsbil7Y29uc3Qgcz0oMCxvLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKCFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUpOyFmdW5jdGlvbihlLHQsbil7Y29uc3Qgcz0oMCxpLnVzZVJlZikoe2NsaWVudFdpZHRoOnZvaWQgMCxjbGllbnRIZWlnaHQ6dm9pZCAwfSksbz0oMCxpLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gMSZlJiZ0LnB1c2goImNsaWVudFdpZHRoIiksMiZlJiZ0LnB1c2goImNsaWVudEhlaWdodCIpLHR9KG4pKSxbbl0pOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUmJjAhPT1uLCgoKT0+e2NvbnN0IGU9KCk9PntvLmZvckVhY2goKGU9Pntjb25zdCBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtlXTt2b2lkIDAhPT1zLmN1cnJlbnRbZV0/cy5jdXJyZW50W2VdIT09biYmKHQoITAsImN1cnJlbnRMZXZlbCIpLHMuY3VycmVudFtlXT1uKTpzLmN1cnJlbnRbZV09bn0pKX07cmV0dXJuIGUoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixlLCEwKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGUsITApLHMuY3VycmVudD17Y2xpZW50V2lkdGg6dm9pZCAwLGNsaWVudEhlaWdodDp2b2lkIDB9fX0pLFt0LG9dKX0oISFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUsdCwzKTtyZXR1cm5bcywoMCxyLnVzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZSkoZSwhIW4uY2xvc2VPblNjcm9sbE91dHNpZGUsdCxuLnJlZildfXZhciB1PW4oNzg3ODk1KSxjPW4oODU0MzM4KSxkPW4oNDc5Mjk3KSxtPW4oNTc3ODMyKSxoPW4oMjM2NDU0KTt2YXIgcD1uKDMxOTY5KSxmPW4oMjM1NzI0KTtjb25zdCB2PSgwLGQud2luZG93RXZlbnQpKCJrZXlkb3duIik7ZnVuY3Rpb24gZyhlKXtjb25zdCB0PSgwLAppLnVzZVJlZikobnVsbCkse29uQ2xvc2U6bixpc09wZW46cyxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpvPXQsY2xvc2VPbkNsaWNrQXdheTpyPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVksY2xvc2VPbkVzY2FwZTpnPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpfPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1NDUk9MTF9PVVRTSURFLGNsb3NlT25SZXNpemVXaW5kb3c6eT1oLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9SRVNJWkVfV0lORE9XLGNsb3NlT25UYWI6dz1oLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9UQUIsZXhjbHVkZUFyZWE6RX09ZTtsZXQgUz0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKG8pO2NvbnN0IE09bChzLG4se2Nsb3NlT25SZXNpemVXaW5kb3c6eSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpfLHJlZjpTfSk7cmV0dXJuIFM9ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHM9KDAsaS51c2VDYWxsYmFjaykoKHM9PntlJiZzJiZzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLChlPT57aWYoMjchPT0oMCxmLmhhc2hGcm9tRXZlbnQpKGUpKXJldHVybjtjb25zdCBzPW4uY3VycmVudDtpZighcylyZXR1cm47Y29uc3QgaT1lLnRhcmdldDtpIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnMuY29udGFpbnMoaSkmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0KCEwLCJjdXJyZW50TGV2ZWwiKSl9KSx7Y2FwdHVyZTohMX0pfSksW2VdKTtyZXR1cm4oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKCgwLHAudXNlTWVyZ2VkUmVmcykoW24sc10pKX0oZyYmcyxuLFMpLGZ1bmN0aW9uKGUsdCxuKXsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KSghIWUsKCgpPT52KChlPT57Y29uc3Qgbj0oMCxmLmhhc2hGcm9tRXZlbnQpKGUpOzkhPT1uJiZuIT09OStmLk1vZGlmaWVycy5TaGlmdHx8dCghMCwiY3VycmVudExldmVsIil9KSwhMCkpLFt0LG5dKX0odyYmcyxuLFMpLGZ1bmN0aW9uKGUsdCxuLHMsaSl7Y29uc3Qgbz0iYm9vbGVhbiI9PXR5cGVvZiBzP2guUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVk6czsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KSghIWUsKCgpPT4oMCxkLndpbmRvd0V2ZW50KShvKSgoZT0+e2NvbnN0IHM9e3g6ZS5jbGllbnRYLHk6ZS5jbGllbnRZfSxvPW4uY3VycmVudDsoMCxtLmlzSW5FeGNsdWRlZEFyZWEpKHMsaSl8fG8mJigwLGMuaXNYWUluc2lkZUVsZW1lbnRUaHJvdWdoUG9ydGFscykobyxzLngscy55KXx8dCghMSwiY3VycmVudExldmVsIil9KSkpLFt0LGksbixvXSl9KHImJnMsbixTLHIsRSkse3JlcG9zaXRpb25UcmlnZ2VyczpNLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OlN9fX0sNTYyOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aWdub3JlT25TU1I6KCk9Pm99KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDUyOTQxMSk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdD0+KDAsaS51c2VJc05vbkZpcnN0UmVuZGVyKSgpP3MuY3JlYXRlRWxlbWVudChlLHsuLi50fSk6bnVsbH19LDEwNjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VXYXRjaGVkVmFsdWVSZWFkb25seTooKT0+b30pO3ZhciBzPW4oNzc5NDc0KSxpPW4oNjE2MzExKTtjb25zdCBvPShlLHQ9ITEsbj1bXSk9Pntjb25zdCBvPSJ3YXRjaGVkVmFsdWUiaW4gZT9lLndhdGNoZWRWYWx1ZTp2b2lkIDAsYT0iZGVmYXVsdFZhbHVlImluIGU/ZS5kZWZhdWx0VmFsdWU6ZS53YXRjaGVkVmFsdWUudmFsdWUoKSxbcixsXT0oMCxzLnVzZVN0YXRlKShvP28udmFsdWUoKTphKTtyZXR1cm4odD9pLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6cy51c2VFZmZlY3QpKCgoKT0+e2lmKG8pe2woby52YWx1ZSgpKTtjb25zdCBlPWU9PmwoZSk7cmV0dXJuIG8uc3Vic2NyaWJlKGUpLCgpPT5vLnVuc3Vic2NyaWJlKGUpfXJldHVybigpPT57fX0pLFtvLC4uLm5dKSxyfX0sNDY4NDkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVByb21pc2U6KCk9Pm99KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDIxNDk4Nyk7ZnVuY3Rpb24gbyhlLHQsbil7Y29uc3RbbyxhXT0oMCxzLnVzZVN0YXRlKShudWxsKTtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3Qgbj1uZXcgQWJvcnRDb250cm9sbGVyO2xldCBzPW51bGw7cmV0dXJuKDAsaS5yZXNwZWN0QWJvcnQpKG4uc2lnbmFsLGUoKSkudGhlbigoZT0+YSgoKCk9PnM9ZSkpKSkuY2F0Y2goaS5za2lwQWJvcnRFcnJvciksKCk9PntuLmFib3J0KCkscyYmdCYmdChzKX19KSxuP1suLi5uXTp2b2lkIDApLG99fSw3OTk5OTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7SGludEJ1dHRvbjooKT0+cn0pO3ZhciBzPW4oNzc5NDc0KSxpPW4oMTg1MjcxKSxvPW4oMTM4OTk0KSxhPW4oOTI2OTk1KTtmdW5jdGlvbiByKGUpe2NvbnN0e3NvbHV0aW9uSWQ6dCx0aXRsZTpyPWkudChudWxsLHZvaWQgMCxuKDM0OTUwMSkpLGNsYXNzTmFtZTpsLHRhYkluZGV4OnV9PWUsYz0oMCxzLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7cmV0dXJuKDAscy5mb3J3YXJkUmVmKSgoKG4saSk9PnMuY3JlYXRlRWxlbWVudCgiYSIsey4uLm4scmVmOmksaHJlZjpgP3NvbHV0aW9uPSR7ZX1gLG9uQ2xpY2s6dH0pKSk7ZnVuY3Rpb24gdCh0KXt0LnByZXZlbnREZWZhdWx0KCksKDAsYS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6ZX0pfX0odCkpLFt0XSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLkljb25RdWVzdGlvbkluZm9ybWF0aW9uLHtpY29uOiJxdWVzdGlvbiIsYXJpYUxhYmVsOnIsdG9vbHRpcDpyLGNsYXNzTmFtZTpsLHJlbmRlckNvbXBvbmVudDpjLHRhYkluZGV4OnV9KX19LDg5MTk1NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGdWxsU2Vzc2lvblNjaGVkdWxlV2lkZ2V0OigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9big4MTE1OTEpLG89big0MjU0MzIpO2NsYXNzIGF7Y29uc3RydWN0b3IoZSl7dGhpcy5fc291cmNlPWUsCnRoaXMuX2Z1bGxTZXNzaW9uU2NoZWR1bGVWaWV3TW9kZWw9bmV3IGkuRnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbChlKX1kZXN0cm95KCl7dGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbC5kZXN0cm95KCl9cmVuZGVyZXIoZSx0KXtjb25zdCBuPXRoaXMuX3NvdXJjZS5tYXJrZXRTdGF0dXNNb2RlbCgpPy5zdGF0dXMoKS52YWx1ZSgpO3JldHVybiJleHBpcmVkIj09PW58fCJkZWxpc3RlZCI9PT1uP251bGw6KDAscy5jcmVhdGVFbGVtZW50KShvLkZ1bGxTZXNzaW9uU2NoZWR1bGVSZW5kZXJlcix7a2V5OmUsY2xhc3NOYW1lOnQsc2hvd0FsbERheXM6dm9pZCAwLHNlc3Npb25EYXlzOnRoaXMuX2Z1bGxTZXNzaW9uU2NoZWR1bGVWaWV3TW9kZWwuc2Vzc2lvbnNEYXlzLG5vdzp0aGlzLl9mdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsLmN1cnJlbnRUaW1lVmFsdWUoKSx0aW1lem9uZTp0aGlzLl9mdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsLnRpbWV6b25lKCl9KX11cGRhdGVTb3VyY2UoZSl7dGhpcy5fc291cmNlPWUsdGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbC5kZXN0cm95KCksdGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbD1uZXcgaS5GdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsKGUpfX19LDQyNTQzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGdWxsU2Vzc2lvblNjaGVkdWxlUmVuZGVyZXI6KCk9Pnd9KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSksYT1uKDEzODYzOCkscj1uKDE4NTI3MSksbD1uKDEwNjkwMCksdT1uKDE1MDE1MCk7dmFyIGM9big3NjIwNTMpO2NvbnN0IGQ9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbShlKXtyZXR1cm4gZC5oYXMoZSl8fGQuc2V0KGUsKDAsdS5yYW5kb21IYXNoKSgpKSwoMCxhLmVuc3VyZURlZmluZWQpKGQuZ2V0KGUpKX1jb25zdCBoPW5ldyBNYXAoW1swLGMuZ3JlZW5dLFsxLGMub3JhbmdlXSxbMixjLmJsdWVdLFs0LGMucHVycGxlXSxbMyxjLmdyYXldXSkscD1uZXcgTWFwKFtbMCxyLnQobnVsbCx2b2lkIDAsbig5Njk0NDkpKV0sWzEsci50KG51bGwsdm9pZCAwLG4oNDI4ODA5KSldLFsyLHIudChudWxsLHZvaWQgMCxuKDE0ODkwKSldLFs0LHIudChudWxsLHZvaWQgMCxuKDYxNTc4MykpXSxbMyxyLnQobnVsbCx2b2lkIDAsbig4Mjk4MykpXV0pLGY9ci50KG51bGwsdm9pZCAwLG4oODQwODMpKTt2YXIgdjtmdW5jdGlvbiBnKGUpe2NvbnN0e3NlZ21lbnQ6dCxmb3JjZVN0YXJ0Om4sZm9yY2VFbmQ6aX09ZSxhPXQuZW5kLnZhbHVlLXQuc3RhcnQudmFsdWUscj1hPC4wMyxsPXtsZWZ0OjEwMCp0LnN0YXJ0LnZhbHVlKyIlIix3aWR0aDpgY2FsYygkezEwMCphfSUgKyAke3I/MjowfXB4KWB9LHU9bygpKGMuc2VnbWVudCxoLmdldCh0LnR5cGUpLChufHx0LnN0YXJ0LmlzRmlyc3RPckxhc3RQb2ludCkmJmMuc3RhcnQsKGl8fHQuZW5kLmlzRmlyc3RPckxhc3RQb2ludCkmJmMuZW5kLHImJmMuc21hbGwsImNvbW1vbi10b29sdGlwLWh0bWwiLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLGQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm5gPGRpdiBjbGFzcz0iJHtjLnRvb2x0aXB9Ij5cblx0XHQ8c3BhbiBjbGFzcz0iJHtoLmdldCh0KX0iPiR7cC5nZXQodCl9PC9zcGFuPlxuXHRcdDxzcGFuIGNsYXNzPSIke2MudGltZX0iPiR7ZX08L3NwYW4+XG5cdDwvZGl2PmB9KHQudG9vbHRpcCx0LnR5cGUpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp1LHN0eWxlOmwsImRhdGEtdG9vbHRpcCI6ZH0pfWZ1bmN0aW9uIF8oZSl7Y29uc3R7c2Vzc2lvbkRheTp0fT1lLG49dC5lbnRyaWVzLm1hcCgoKGUsbik9PnMuY3JlYXRlRWxlbWVudChnLHtrZXk6YCR7bShlKX1TZWdtZW50YCxzZWdtZW50OmUsZm9yY2VTdGFydDowPT09biYmMz09PWUudHlwZSxmb3JjZUVuZDpuPT09dC5lbnRyaWVzLmxlbmd0aC0xJiYzPT09ZS50eXBlfSkpKSxpPW8oKShjLnNlc3Npb25EYXksdC5pc0FjdGl2ZSYmYy5hY3RpdmUpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLndlZWtEYXl9LHQudGl0bGUpLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmMuc2Vzc2lvbkRheVNlZ21lbnRzfSxuKSl9ZnVuY3Rpb24geShlKXtjb25zdHtzZXNzaW9uRGF5czp0LGN1cnJlbnRUaW1lTWFyazpufT1lLGk9cGFyc2VJbnQoT2JqZWN0LmtleXModCkuZmlsdGVyKChlPT50W3BhcnNlSW50KGUpXS5pc0FjdGl2ZSkpWzBdKSxhPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1lLmZpbHRlcigoZT0+ZS5zdGFydC52YWx1ZTw9dCYmZS5lbmQudmFsdWU+PXQpKVswXTtpZih2b2lkIDA9PT1uKXJldHVybltdO2NvbnN0IHM9W107cmV0dXJuKG4uc3RhcnQuaXNGaXJzdE9yTGFzdFBvaW50fHwzPT09bi50eXBlKSYmcy5wdXNoKG4uc3RhcnQpLChuLmVuZC5pc0ZpcnN0T3JMYXN0UG9pbnR8fDM9PT1uLnR5cGUpJiZzLnB1c2gobi5lbmQpLHMuc29ydCgoKGUsdCk9PmUudmFsdWUtdC52YWx1ZSkpLHN9KHRbaV0uZW50cmllcyxuKTtpZigwPT09YS5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcj1hLm1hcCgoZT0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtrZXk6bShlKSxjbGFzc05hbWU6Yy50aW1lTWFya30sZS50aXRsZSkpKSxsPTEwMCooMj09PWEubGVuZ3RoP2FbMV0udmFsdWUtYVswXS52YWx1ZTowKSx1PW8oKShsPjEyJiZjLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLGMudGltZU1hcmtTZWdtZW50KTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Yy5zZXNzaW9uRGF5fSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLndlZWtEYXl9KSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLnRpbWVNYXJrV3JhcHBlcn0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dSxzdHlsZTp7bGVmdDoxMDAqYVswXS52YWx1ZSsiJSIsd2lkdGg6YCR7bH0lYH19LHIpKSl9ZnVuY3Rpb24gdyhlKXsKY29uc3R7Y2xhc3NOYW1lOnQsdGltZXpvbmU6bixzaG93QWxsRGF5czppLHRpbWVab25lQ2xhc3NOYW1lOmF9PWUscj0oMCxsLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOmUuc2Vzc2lvbkRheXN9KSx1PSgwLGwudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6ZS5ub3d9KSxkPU9iamVjdC52YWx1ZXMocikuZmlsdGVyKChlPT5lLmlzQWN0aXZlKSlbMF0sbT1vKCkodCxjLndyYXBwZXIpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLnNlc3Npb25EYXlXcmFwcGVyfSxpP3MuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsT2JqZWN0LnZhbHVlcyhyKS5tYXAoKChlLHQpPT5zLmNyZWF0ZUVsZW1lbnQoXyx7a2V5OnQsc2Vzc2lvbkRheTplfSkpKSk6cy5jcmVhdGVFbGVtZW50KF8se3Nlc3Npb25EYXk6ZH0pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmMubm93V3JhcHBlcn0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Yy5ub3csc3R5bGU6e2xlZnQ6MTAwKnUrIiUifX0pKSkscy5jcmVhdGVFbGVtZW50KHkse3Nlc3Npb25EYXlzOnIsY3VycmVudFRpbWVNYXJrOnV9KSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkoYy50aW1lem9uZSxhLGkmJmMubGFyZ2VQYWRkaW5nKX0sYCR7Zn06ICR7bn1gKSl9IWZ1bmN0aW9uKGUpe2VbZS5NaW5TZWdtZW50V2lkdGg9MTJdPSJNaW5TZWdtZW50V2lkdGgiLGVbZS5TbWFsbFdpZHRoPS4wM109IlNtYWxsV2lkdGgifSh2fHwodj17fSkpfSw4MTE1OTEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcztuLmQodCx7RnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbDooKT0+JH0pLGZ1bmN0aW9uKGUpe2VbZS5SZWd1bGFyPTBdPSJSZWd1bGFyIixlW2UuUHJlPTFdPSJQcmUiLGVbZS5Qb3N0PTJdPSJQb3N0IixlW2UuQ2xvc2U9M109IkNsb3NlIixlW2UuT3Zlcm5pZ2h0PTRdPSJPdmVybmlnaHQifShzfHwocz17fSkpO3ZhciBpPW4oMjIzNTU2KSxvPW4oNjAxODQxKSxhPW4oNzAwODA5KSxyPW4oMjMyMzY0KSxsPW4oMTI4OTk4KTtmdW5jdGlvbiB1KGUpe3JldHVybiBlL2EubWludXRlc1BlckRheX1mdW5jdGlvbiBjKGUpe3JldHVybiBNYXRoLnJvdW5kKGUqYS5taW51dGVzUGVyRGF5KX12YXIgZD1uKDEzODYzOCksbT1uKDU1NjkxMSksaD1uKDQxNTIzNyk7Y29uc3QgcD1baC5XZWVrRGF5cy5TVU5EQVksaC5XZWVrRGF5cy5NT05EQVksaC5XZWVrRGF5cy5UVUVTREFZLGguV2Vla0RheXMuV0VETkVTREFZLGguV2Vla0RheXMuVEhVUlNEQVksaC5XZWVrRGF5cy5GUklEQVksaC5XZWVrRGF5cy5TQVRVUkRBWV07ZnVuY3Rpb24gZihlKXtyZXR1cm4gdD0+ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSt0KzYpJTcrMX0odCxlKX1jb25zdCB2PWYoLTEpLGc9ZigxKTtjb25zdCBfPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLmxlbmd0aD9lWzBdOnZvaWQgMH07dmFyIHk9big5MjYwODgpLHc9bigzODA1NDApLEU9big4MjI0MzEpO2Z1bmN0aW9uIFMoZSl7Zm9yKCgwLGQuYXNzZXJ0KShOdW1iZXIuaXNJbnRlZ2VyKGUpLCJ0aW1lTWludXRlcyBleHBlY3RlZCB0byBiZSBpbnRlZ2VyIG51bWJlciIpO2U+YS5taW51dGVzUGVyRGF5OyllLT1hLm1pbnV0ZXNQZXJEYXk7Y29uc3QgdD1lJTYwLG49KGUtdCkvNjA7cmV0dXJuKDAsRS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobiwyKSsiOiIrKDAsRS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodCwyKX1mdW5jdGlvbiBNKGUsdCl7cmV0dXJuYCR7ZX0g4oCUICR7dH1gfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm5gJHt3LndlZWtEYXlzU2hvcnROYW1lc1tlXX0gJHtTKHQpfWB9ZnVuY3Rpb24gTihlLHQsbixzKXsoMCxkLmFzc2VydCkodCE9PWEubWludXRlc1BlckRheSwiU3RhcnQgdGltZSBleHBlY3RlZCB0byBiZSBub3JtYWxpemVkICgyNDowMCBhcyByYW5nZSBzdGFydCBpcyBub3QgYWxsb3dlZCkiKSwoMCxkLmFzc2VydCkoMCE9PXMsIkVuZCB0aW1lIGV4cGVjdGVkIHRvIGJlIG5vcm1hbGl6ZWQgKDAwOjAwIGFzIHJhbmdlIGVuZCBpcyBub3QgYWxsb3dlZCkiKTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuLHMpe2NvbnN0IGk9ZSphLm1pbnV0ZXNQZXJEYXkrdDtsZXQgbz1uKmEubWludXRlc1BlckRheStzO3JldHVybiBvPGkmJihvKz03KmEubWludXRlc1BlckRheSksby1pfShlLHQsbixzKTtyZXR1cm4gaTxhLm1pbnV0ZXNQZXJEYXl8fGk9PT1hLm1pbnV0ZXNQZXJEYXkmJjA9PT10P2Z1bmN0aW9uKGUsdCl7cmV0dXJuIE0oUyhlKSxTKHQpKX0odCxzKTpmdW5jdGlvbihlLHQsbixzKXtyZXR1cm4gTSh4KGUsdCkseChuLHMpKX0oZSx0LG4scyl9ZnVuY3Rpb24gVChlLHQpe3JldHVybnt2YWx1ZTplLHRpdGxlOlMoYyhlKSksaXNGaXJzdE9yTGFzdFBvaW50OnR9fWZ1bmN0aW9uIGIoZSl7cmV0dXJuIDMhPT1lLnR5cGV9ZnVuY3Rpb24gQyhlLHQpe3JldHVybntkYXlJbmRleDplLGVudHJpZXM6dC5maWx0ZXIoYil9fWZ1bmN0aW9uIEEoZSx0LG4scz10KXtjb25zdCBpPW4odCksbz1lW2ldO3JldHVybiBpIT09cyYmMD09PW8uZW50cmllcy5sZW5ndGg/QShlLGksbixzKTpDKGksZVtpXS5lbnRyaWVzKX1mdW5jdGlvbiBWKGUpe3JldHVybih0LG4pPT5BKHQsbixlKX1jb25zdCBXPVYodiksaz1WKGcpO2Z1bmN0aW9uIEwoZSx0LG4scyl7cmV0dXJuKGksbyxhKT0+dm9pZCAwPT09aT9bcyxhXTppPT09ZT9bdCxuKG8pXTpbaSxvXX1jb25zdCBQPUwoMSwwLGcsMCksRD1MKDAsMSx2LDEpO2Z1bmN0aW9uIE8oZSx0LG4scyxpKXtjb25zdFtvLGFdPVAoZSx0LGkpLFtyLGxdPUQobixzLGkpOygwLGQuYXNzZXJ0KSh0IT09bnx8bzxyLGBEYXlzIGFyZSBzYW1lICgke3R9KSBidXQgcHJldiBlbnRyeSB0aW1lICgke299KSA+PSBuZXh0IGVudHJ5IHRpbWUgKCR7cn0pYCk7Y29uc3QgdT1jKG8pLG09YyhyKTtyZXR1cm4gaD1UKGEhPT1pPzA6byxhPT09aSkscD1UKGwhPT1pPzE6cixsPT09aSksZj0zLHY9TihhLHUsbCxtKSx7CnN0YXJ0OmgsZW5kOnAsdHlwZTpmLHRvb2x0aXA6dn07dmFyIGgscCxmLHZ9ZnVuY3Rpb24gSShlLHQsbixzLGkpe3JldHVybiBPKGU/LmVuZD8udmFsdWUsdCxuPy5zdGFydD8udmFsdWUscyxpKX1mdW5jdGlvbiB6KGUpe2NvbnN0IHQ9Wy4uLmUuZW50cmllc107Zm9yKGxldCBuPTE7bjxlLmVudHJpZXMubGVuZ3RoO24rKyl7Y29uc3Qgcz1lLmVudHJpZXNbbi0xXSxpPWUuZW50cmllc1tuXTtpZihpLnN0YXJ0LnZhbHVlIT09cy5lbmQudmFsdWUpe2NvbnN0IG49SShzLGUuZGF5SW5kZXgsaSxlLmRheUluZGV4LGUuZGF5SW5kZXgpO3QucHVzaChuKX19cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUuc3RhcnQudmFsdWUtdC5zdGFydC52YWx1ZSkpLHR9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IG49KDAseS5kZWZhdWx0KSh0LmVudHJpZXMpLHM9dC5kYXlJbmRleCxpPSgwLGQuZW5zdXJlRGVmaW5lZCkoXyhlLmVudHJpZXMpKTtyZXR1cm4gMD09PWkuc3RhcnQudmFsdWU/W106W0kobixzLGksZS5kYXlJbmRleCxlLmRheUluZGV4KV19ZnVuY3Rpb24gUihlLHQpe2NvbnN0IG49Xyh0LmVudHJpZXMpLHM9dC5kYXlJbmRleCxpPSgwLGQuZW5zdXJlRGVmaW5lZCkoKDAseS5kZWZhdWx0KShlLmVudHJpZXMpKTtyZXR1cm4gMT09PWkuZW5kLnZhbHVlP1tdOltJKGksZS5kYXlJbmRleCxuLHMsZS5kYXlJbmRleCldfWZ1bmN0aW9uIEgoZSx0KXtjb25zdCBuPXt0aGlzRGF5OkMoZSx0W2VdLmVudHJpZXMpLHByZXZEYXk6Vyh0LGUpLG5leHREYXk6ayh0LGUpfTtyZXR1cm4gZnVuY3Rpb24oe3RoaXNEYXk6ZSxwcmV2RGF5OnQsbmV4dERheTpufSl7aWYoMD09PWUuZW50cmllcy5sZW5ndGgpcmV0dXJuW0koKDAseS5kZWZhdWx0KSh0LmVudHJpZXMpLHQuZGF5SW5kZXgsXyhuLmVudHJpZXMpLG4uZGF5SW5kZXgsZS5kYXlJbmRleCldfShuKT8/ZnVuY3Rpb24oe3RoaXNEYXk6ZSxwcmV2RGF5OnQsbmV4dERheTpufSl7Y29uc3Qgcz1lLmRheUluZGV4O2lmKHQuZGF5SW5kZXghPT1zfHxuLmRheUluZGV4IT09cylyZXR1cm47Y29uc3QgaT1lLmVudHJpZXMsYT0oMCxkLmVuc3VyZURlZmluZWQpKF8oaSkpLHI9KDAsZC5lbnN1cmVEZWZpbmVkKSgoMCx5LmRlZmF1bHQpKGkpKTtyZXR1cm5bMCE9PWEuc3RhcnQudmFsdWU/TygwLHMsYS5zdGFydC52YWx1ZSxzLHMpOnZvaWQgMCwuLi56KGUpLDEhPT1yLmVuZC52YWx1ZT9PKHIuZW5kLnZhbHVlLHMsMSxzLHMpOnZvaWQgMF0uZmlsdGVyKG8uaXNFeGlzdGVudCl9KG4pPz9mdW5jdGlvbihlKXtyZXR1cm5bLi4uRihlLnRoaXNEYXksZS5wcmV2RGF5KSwuLi56KGUudGhpc0RheSksLi4uUihlLnRoaXNEYXksZS5uZXh0RGF5KV19KG4pfXZhciBCPW4oNTU5NjkpLFo9bigyNTQ3MzgpO2NvbnN0IGo9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PS0xLG49bnVsbD09ZT8wOmUubGVuZ3RoLHM9e307Kyt0PG47KXt2YXIgaT1lW3RdOygwLFouZGVmYXVsdCkocyxpWzBdLGlbMV0pfXJldHVybiBzfShwLm1hcCgoZT0+W2Use3RpdGxlOncud2Vla0RheXNTaG9ydE5hbWVzW2VdLGlzQWN0aXZlOiExLGVudHJpZXM6W119XSkpKTtmdW5jdGlvbiBHKGUsdCxuKXtjb25zdCBzPWVbbl0uZW50cmllcztzLnB1c2godCkscy5zb3J0KCgoZSx0KT0+ZS5zdGFydC52YWx1ZS10LnN0YXJ0LnZhbHVlKSl9ZnVuY3Rpb24gUShlLHQpe2NvbnN0IG49ZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIG5ldyBNYXA7aWYodm9pZCAwPT09ZS5zdWJzZXNzaW9ucylyZXR1cm4gbmV3IE1hcChbWzAsbmV3IEIuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsZS5zZXNzaW9uX2Rpc3BsYXk/P2Uuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsZS5jb3JyZWN0aW9ucyldXSk7Y29uc3QgdD0icmVndWxhciIsbj0icHJlbWFya2V0IixzPSJwb3N0bWFya2V0IixpPSJuaWdodCIsbz1bdCxuLHMsaV0sYT1uZXcgTWFwO2Zvcihjb25zdCByIG9mIG8pe2xldCBvPW51bGw7c3dpdGNoKHIpe2Nhc2UgdDpvPTA7YnJlYWs7Y2FzZSBuOm89MTticmVhaztjYXNlIHM6bz0yO2JyZWFrO2Nhc2UgaTpvPTR9aWYobnVsbCE9PW8pe2NvbnN0IHQ9ZS5zdWJzZXNzaW9ucy5maW5kKChlPT5lLmlkPT09cikpO3ZvaWQgMCE9PXQmJmEuc2V0KG8sbmV3IEIuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsdFsic2Vzc2lvbi1kaXNwbGF5Il18fHQuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsdFsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pKX19cmV0dXJuIGF9KGUpLHM9dD8/KDAsYS51dGNfdG9fY2FsKSgoMCxhLmdldF90aW1lem9uZSkoZT8udGltZXpvbmU/PyJFdGMvVVRDIiksRGF0ZS5ub3coKSksaT0odD8uZ2V0VVRDRGF5KCk/PyhuZXcgRGF0ZSkuZ2V0RGF5KCkpJTcrMTtjb25zdCBvPSgwLG0uZGVlcENvcHkpKGopO29baV0uaXNBY3RpdmU9ITA7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShuLmtleXMoKSkpe2NvbnN0IHQ9KDAsZC5lbnN1cmVEZWZpbmVkKShuLmdldChlKSksaT0oMCxhLmdldF9kYXlfb2Zfd2Vlaykocykscj0oMCxhLmNsb25lKShzKTsoMCxhLmFkZF9kYXRlKShyLC1pKSwoMCxhLnNldF9obXMpKHIsMCwwLDAsMCk7Y29uc3QgbD0oMCxhLmNsb25lKShyKTsoMCxhLmFkZF9kYXRlKShsLDcpO2xldCBjPXQuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQocix0LmluU2Vzc2lvbihyKT8tMToxKTtmb3IoO2MuZ2V0VGltZSgpPGwuZ2V0VGltZSgpOyl7Y29uc3Qgbj10LmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZChjLDEpLHM9KDAsYS5nZXRfZGF5X29mX3dlZWspKGMpLGk9KDAsYS5nZXRfZGF5X29mX3dlZWspKG4pLGQ9KDAsYS5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShjKSxtPSgwLGEuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkobikrMSxoPXUoZCkscD11KG0pLGY9TihzLGQsaSxtKTtpZihzPT09aSlHKG8se3N0YXJ0OlQoaCwhMCksZW5kOlQocCwhMCksdHlwZTplLHRvb2x0aXA6Zn0scyk7ZWxzZXtjLmdldFRpbWUoKT5yLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKGgsITApLGVuZDpUKDEsITEpLHR5cGU6ZSx0b29sdGlwOmZ9LHMpO2NvbnN0IHQ9KDAsYS5jbG9uZSkoYyk7KDAsCmEuc2V0X2htcykodCwwLDAsMCwwKSwoMCxhLmFkZF9kYXRlKSh0LDEpO2NvbnN0IHU9KDAsYS5jbG9uZSkobik7Zm9yKCgwLGEuc2V0X2htcykodSwwLDAsMCwwKTt0LmdldFRpbWUoKTx1LmdldFRpbWUoKTspdC5nZXRUaW1lKCk+PXIuZ2V0VGltZSgpJiZ0LmdldFRpbWUoKTxsLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKDAsITEpLGVuZDpUKDEsITEpLHR5cGU6ZSx0b29sdGlwOmZ9LCgwLGEuZ2V0X2RheV9vZl93ZWVrKSh0KSksKDAsYS5hZGRfZGF0ZSkodCwxKTtuLmdldFRpbWUoKTxsLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKDAsITEpLGVuZDpUKHAsITApLHR5cGU6ZSx0b29sdGlwOmZ9LGkpfSgwLGEuYWRkX21pbnV0ZXMpKG4sMSksYz10LmFsaWduVG9OZWFyZXN0U2Vzc2lvblN0YXJ0KG4sMSl9fXJldHVybiBmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBNYXA7Zm9yKGNvbnN0IG4gb2YgcCl0LnNldChuLEgobixlKSk7Zm9yKGNvbnN0IG4gb2YgcCllW25dLmVudHJpZXM9KDAsZC5lbnN1cmVEZWZpbmVkKSh0LmdldChuKSl9KG8pLHtuZXdTZXNzaW9uc0RheXM6byxuZXdUb2RheVNlc3Npb246b1tpXX19ZnVuY3Rpb24gVShlKXtyZXR1cm4oMCxhLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoKDAsYS5nZXRfdGltZXpvbmUpKGUudGltZXpvbmUpLHdpbmRvdy5DaGFydEFwaUluc3RhbmNlLnNlcnZlclRpbWUoKS0xZTMqKDAsbC5nZXRTeW1ib2xEZWxheVNlY29uZHMpKGUpKX1jbGFzcyAke2NvbnN0cnVjdG9yKGUpe3RoaXMuc2Vzc2lvbnNEYXlzPW5ldyByLldhdGNoZWRWYWx1ZSgoMCxvLmNsb25lKShqKSksdGhpcy50b2RheVNlc3Npb249bmV3IHIuV2F0Y2hlZFZhbHVlKCgwLG8uY2xvbmUpKHtlbnRyaWVzOltdfSkpLHRoaXMuX2N1cnJlbnRUaW1lPW5ldyByLldhdGNoZWRWYWx1ZSgtMSksdGhpcy5fc3ltYm9sSW5mbz1lLnN5bWJvbEluZm8oKS5zcGF3bigpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUVudHJpZXNCeVN1YlNlc3Npb25zLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3RpbWVJbnRlcnZhbElkPXNldEludGVydmFsKHRoaXMuX3VwZGF0ZVRvZGF5V2l0aE9mZnNldHMuYmluZCh0aGlzKSw2ZTQpfWRlc3Ryb3koKXt0aGlzLl9zeW1ib2xJbmZvLmRlc3Ryb3koKSxjbGVhckludGVydmFsKHRoaXMuX3RpbWVJbnRlcnZhbElkKX1jdXJyZW50VGltZVZhbHVlKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRUaW1lLnJlYWRvbmx5KCl9dGltZXpvbmUoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8udmFsdWUoKTtyZXR1cm4gbnVsbD09PWU/IiI6KDAsaS50aW1lem9uZVRpdGxlKShlLnRpbWV6b25lKX1fdXBkYXRlRW50cmllc0J5U3ViU2Vzc2lvbnMoZSl7dGhpcy5fdXBkYXRlVG9kYXlXaXRoT2Zmc2V0cygpO2NvbnN0e25ld1Nlc3Npb25zRGF5czp0LG5ld1RvZGF5U2Vzc2lvbjpufT1RKGUsbnVsbD09PWU/bnVsbDpVKGUpKTt0aGlzLnNlc3Npb25zRGF5cy5zZXRWYWx1ZSh0KSx0aGlzLnRvZGF5U2Vzc2lvbi5zZXRWYWx1ZShuKX1fdXBkYXRlVG9kYXlXaXRoT2Zmc2V0cygpe2NvbnN0IGU9dGhpcy5fc3ltYm9sSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbnRUaW1lLnNldFZhbHVlKC0xKTtjb25zdCB0PXRoaXMuX2N1cnJlbnRUaW1lLnZhbHVlKCksbj11KCgwLGEuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoVShlKSkpO3RoaXMuX2N1cnJlbnRUaW1lLnNldFZhbHVlKG4pLG48dCYmdGhpcy5fdXBkYXRlRW50cmllc0J5U3ViU2Vzc2lvbnMoZSl9fX0sMjIxMzAwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Z1bGxUb29sdGlwV2lkZ2V0OigpPT5FfSk7dmFyIHM9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLGE9bigxMzg2MzgpLHI9bigyNzMzMTApLGw9bigyOTU3NDQpLHU9big4NTQ4MjApLGM9big1OTA0ODYpLGQ9bigyMzQ2MzYpLG09big2MDE4NDEpLGg9bigxMDY5MDApLHA9bigxNTAxNTApLGY9big0Njg0OTMpLHY9big3OTk5OTQpLGc9big4NjA1NDgpLF89big0NDcyNjgpO2NvbnN0IHk9bmV3IFdlYWtNYXAsdz1uZXcgV2Vha01hcDtmdW5jdGlvbiBFKGUpe2NvbnN0IHQ9KDAsaC51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTplLmluZm99KSxuPSgwLGYudXNlUHJvbWlzZSkoKCgpPT5lLnByZWxpbWluYXJ5Sm9iPz9Qcm9taXNlLnJlc29sdmUoKSksdm9pZCAwLFtdKTtpZighdHx8ZS5wcmVsaW1pbmFyeUpvYiYmbnVsbD09PW4pcmV0dXJuIG51bGw7Y29uc3QgaT10Lm1hcCgodD0+e2NvbnN0e3RpdGxlOm4sdGl0bGVDb2xvcjppLGljb246bCxpY29uQ2xhc3NOYW1lOnUsaHRtbDpoLGFjdGlvbjpmLHNlY29uZGFyeUFjdGlvbjpTLGJhZGdlTGFiZWw6TSxzaXplOngsc29sdXRpb25JZDpOfT10O3kuaGFzKHQpfHx5LnNldCh0LCgwLHAucmFuZG9tSGFzaCkoKSk7bGV0IFQ9W107cmV0dXJuIHZvaWQgMCE9PWUuYWRkaXRpb25hbFdpZGdldHMmJihUPWUuYWRkaXRpb25hbFdpZGdldHMubWFwKCh0PT4ody5oYXModCl8fHcuc2V0KHQsKDAscC5yYW5kb21IYXNoKSgpKSx0LnJlbmRlcmVyKCgwLGEuZW5zdXJlRGVmaW5lZCkody5nZXQodCkpLF8uYWRkaXRpb25hbFdpZGdldCxlLm9uQ2xvc2UpKSkpKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2tleTp5LmdldCh0KSxjbGFzc05hbWU6bygpKF8ucG9wdXBXaWRnZXQsX1t4XSxlLmlzTW9iaWxlJiZfLm1vYmlsZSksImRhdGEtcWEtaWQiOnQuZGF0YVFhSWQsdGFiSW5kZXg6MCxyZWY6ZT0+e2U/LmZvY3VzKCl9fSxzLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6bygpKF8uaWNvbixnLnN0YXR1c0l0ZW0sdSxnW3hdLF9beF0pLHN0eWxlOnZvaWQgMCxpY29uOmx8fHZvaWQgMH0pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOl8uZGVzY30scy5jcmVhdGVFbGVtZW50KCJzcGFuIix7c3R5bGU6e2NvbG9yOml8fHZvaWQgMH0sY2xhc3NOYW1lOm8oKShfLnRpdGxlLF9beF0pCn0scy5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLG4pLE0mJnMuY3JlYXRlRWxlbWVudChjLkJhZGdlLHtzaXplOmQuQmFkZ2VTaXplLlNtYWxsfSxNKSxOJiZzLmNyZWF0ZUVsZW1lbnQodi5IaW50QnV0dG9uLHtzb2x1dGlvbklkOk59KSksaCYmcy5jcmVhdGVFbGVtZW50KCJwIix7Y2xhc3NOYW1lOm8oKShfLnRleHQsX1t4XSl9LGgubWFwKCgoZSx0KT0+e2NvbnN0IG49YGh0bWxfaXRlbV8ke3R9YDtpZihzLmlzVmFsaWRFbGVtZW50KGUpKXJldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6Xy5pdGVtfSxlKTtpZigoMCxtLmlzT2JqZWN0KShlKSYmInRleHQiaW4gZSl7Y29uc3QgdD1lO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6bygpKF8uaXRlbSx0LmJvbGQmJl8uYm9sZEl0ZW0pLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dC50ZXh0fX0pfXJldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6Xy5pdGVtLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6ZX19KX0pKSksZiYmcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Xy5hY3Rpb25zfSxFKGYsInByaW1hcnktYWN0aW9uIiksUyYmRShTLCJzZWNvbmRhcnktYWN0aW9uIikpLFQpKX0pKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KHMuRnJhZ21lbnQsbnVsbCxpKTtmdW5jdGlvbiBFKHQsbil7Y29uc3QgaT10LmNvbG9yfHwiZ3JheSIsYT1bImdyYXkiLCJncmVlbiIsInJlZCIsImJsdWUiXS5pbmNsdWRlcyhpKT91LkxpZ2h0QnV0dG9uOmwuU3F1YXJlQnV0dG9uO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoYSx7a2V5Om4sY2xhc3NOYW1lOm8oKShfLmFjdGlvbkJ0bix0LmNsYXNzTmFtZSksb25DbGljazooKT0+e2Uub25DbG9zZSgpLHQub25DbGljaygpfSxjb2xvcjppLHZhcmlhbnQ6dC52YXJpYW50LHNpemU6InhzbWFsbCIsdG9vbHRpcFRleHQ6dC50b29sdGlwfSx0LnRleHQpfX19LDIzMjM2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNYXJrZXRTdGF0dXNWaWV3TW9kZWw6KCk9Pmx9KTt2YXIgcz1uKDY0MTU5MyksaT1uKDIzMjM2NCksbz1uKDIxNDc3MSksYT1uKDU2NTIwNikscj1uKDUyODg3Mik7Y2xhc3MgbCBleHRlbmRzIGEuU3RhdHVzVmlld01vZGVse2NvbnN0cnVjdG9yKGUsdCxuPSExKXtzdXBlcih7dG9vbHRpcE1hcDpyLnRvb2x0aXBNYXAsaWNvbk1hcDpyLmljb25NYXAsY2xhc3NOYW1lTWFwOnIuY2xhc3NOYW1lTWFwLHRpdGxlTWFwOnIudGl0bGVNYXAsdGl0bGVDb2xvck1hcDpyLnRpdGxlQ29sb3JNYXAsYWN0aW9uTWFwOnIuYWN0aW9uTWFwLHNpemU6dH0pLHRoaXMuX21vZGVsPW51bGwsdGhpcy5fZXhwaXJlZFN0YXR1cz1udWxsLHRoaXMuX21hcmtldFN0YXR1cz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9pZ25vcmVIaWRlU3RhdHVzU2V0dGluZ3M9bix0aGlzLnNldE1vZGVsKGUpLG8uc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcyx0aGlzLl9zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5Q2hhbmdlZCl9ZGVzdHJveSgpe3RoaXMuX21hcmtldFN0YXR1cy5kZXN0cm95KCksdGhpcy5fc2Vzc2lvbkVkZ2UuZGVzdHJveSgpLHRoaXMuX21vZGVsPW51bGwsby5zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHN1cGVyLmRlc3Ryb3koKX1zZXRNb2RlbChlKXtpZih0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpLHRoaXMuX3Nlc3Npb25FZGdlLmRlc3Ryb3koKSx0aGlzLl9leHBpcmVkU3RhdHVzPy5kZXN0cm95KCksbnVsbD09PWUpcmV0dXJuIHRoaXMuX21hcmtldFN0YXR1cz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx2b2lkKHRoaXMuX2V4cGlyZWRTdGF0dXM9bnVsbCk7dGhpcy5fbW9kZWw9ZTtjb25zdCB0PWUuZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvblRpbWUoKTt0JiYodGhpcy5fZXhwaXJlZFN0YXR1cz10LmV4cGlyZWQoKS5zcGF3bigpLHRoaXMuX2V4cGlyZWRTdGF0dXMuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5fdXBkYXRlQnlTdGF0dXModGhpcy5fbWFya2V0U3RhdHVzLnZhbHVlKCkpfSkpKSx0aGlzLl9tYXJrZXRTdGF0dXM9ZS5zdGF0dXMoKS5zcGF3bigpLHRoaXMuX21hcmtldFN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3Nlc3Npb25FZGdlPWUubmV4dFNlc3Npb25FZGdlKCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVG9vbHRpcC5iaW5kKHRoaXMpKSx0aGlzLl91cGRhdGVUb29sdGlwKCl9YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLnN0YXR1cygpLnZhbHVlKCk7aWYobnVsbD09PWUpcmV0dXJuIHZvaWQgdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCk7Y29uc3QgdD1bXSxuPXIubWFya2V0U3RhdHVzRGVzY3JpcHRpb24uZ2V0KGUpO24mJnQucHVzaCgoMCxzLmh0bWxFc2NhcGUpKG4pKTtjb25zdCBpPXRoaXMuX21hcmtldFN0YXR1cy52YWx1ZSgpO2lmKG51bGwhPT10aGlzLl9tb2RlbCYmbnVsbCE9PWkmJiJleHBpcmVkIiE9PWkmJiJkZWxpc3RlZCIhPT1pKXtjb25zdCBuPXRoaXMuX21vZGVsLm5leHRTZXNzaW9uRWRnZSgpLnZhbHVlKCk7bnVsbCE9PW4mJnQucHVzaCh7dGV4dDpyLmNvdW50ZG93bkZuTWFwW2VdKG4pLGJvbGQ6ITB9KX10aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShbe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dGhpcy5fZ2V0VGl0bGUoZSksdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6dCxzaXplOnRoaXMuX3NpemUsCmFjdGlvbjp0aGlzLl9nZXRBY3Rpb24oZSl9XSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIXRoaXMuX2lnbm9yZUhpZGVTdGF0dXNTZXR0aW5ncyYmIW8uc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS52YWx1ZSgpJiYibWFya2V0Ij09PWV9X3VwZGF0ZVN0YXR1cyhlKXt0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSl9X3VwZGF0ZVRvb2x0aXAoKXt0aGlzLl91cGRhdGVGdWxsVG9vbHRpcCgpfV9zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX3VwZGF0ZUJ5U3RhdHVzKHRoaXMuX3N0YXR1cy52YWx1ZSgpKX19fSw1NjUyMDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3RhdHVzVmlld01vZGVsOigpPT5hfSk7dmFyIHM9bigyMzIzNjQpLGk9big2NDE1OTMpLG89big4NjA1NDgpO2NsYXNzIGF7Y29uc3RydWN0b3IoZSl7dGhpcy5pc0JsaW5raW5nTW9kZT1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXR1cz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZnVsbFRvb2x0aXA9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2ljb25DbGFzc05hbWVzPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl92aXNpYmxlPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3Rvb2x0aXA9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2ljb249bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NsYXNzTmFtZT1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fY3VzdG9tQ29sb3I9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2luZm9NYXBzPWUsdGhpcy5fc2l6ZT1lLnNpemV8fCJzbWFsbCIsdGhpcy5fc3RhdHVzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVCeVN0YXR1cy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwfXR1cm5PZmZCbGlua2luZ01vZGUoKXt9c3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0YXR1c310b29sdGlwKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXB9aWNvbigpe3JldHVybiB0aGlzLl9pY29ufWNsYXNzTmFtZSgpe3JldHVybiB0aGlzLl9jbGFzc05hbWV9dmlzaWJsZSgpe3JldHVybiB0aGlzLl92aXNpYmxlfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1mdWxsSW5mbygpe3JldHVybiB0aGlzLl9mdWxsVG9vbHRpcH1jdXN0b21Db2xvcigpe3JldHVybiB0aGlzLl9jdXN0b21Db2xvcn1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMudG9vbHRpcE1hcD8uZ2V0KGUpPz9udWxsfV9nZXRJY29uKGUpe2xldCB0O2NvbnN0IG49dGhpcy5faW5mb01hcHMuaWNvbk1hcC5nZXQoZSk7cmV0dXJuIHZvaWQgMCE9PW4mJih0PW4uZ2V0KHRoaXMuX3NpemUpKSx0fHxudWxsfV9nZXRDbGFzc05hbWUoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLmNsYXNzTmFtZU1hcC5nZXQoZSl8fG51bGx9X2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSl7Y29uc3QgdD10aGlzLl9nZXRDbGFzc05hbWUoZSk7cmV0dXJuIHQ/W28uc3RhdHVzSXRlbSx0XTpbXX1fZ2V0VGl0bGUoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLnRpdGxlTWFwPy5nZXQoZSk/P251bGx9X2dldFRpdGxlQ29sb3IoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLnRpdGxlQ29sb3JNYXA/LmdldChlKT8/bnVsbH1fZ2V0QWN0aW9uKGUpe3JldHVybiB0aGlzLl9pbmZvTWFwcy5hY3Rpb25NYXA/LmdldChlKT8/bnVsbH1fZ2V0U2Vjb25kYXJ5QWN0aW9uKGUpe3JldHVybiB0aGlzLl9pbmZvTWFwcy5zZWNvbmRhcnlBY3Rpb25NYXA/LmdldChlKT8/bnVsbH1fZ2V0QmFkZ2VMYWJlbChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMuYmFkZ2VNYXA/LmdldChlKT8/bnVsbH1fZ2V0SFRNTChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMuaHRtbE1hcD8uZ2V0KGUpPy5tYXAoKGU9PiJzdHJpbmciPT10eXBlb2YgZT8oMCxpLmh0bWxFc2NhcGUpKGUpOmUpKT8/W119YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLl9zdGF0dXMudmFsdWUoKTtudWxsIT09ZT90aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShbe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dGhpcy5fZ2V0VGl0bGUoZSksdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6dGhpcy5fZ2V0SFRNTChlKSxzaXplOnRoaXMuX3NpemUsYWN0aW9uOnRoaXMuX2dldEFjdGlvbihlKSxzZWNvbmRhcnlBY3Rpb246dGhpcy5fZ2V0U2Vjb25kYXJ5QWN0aW9uKGUpLGJhZGdlTGFiZWw6dGhpcy5fZ2V0QmFkZ2VMYWJlbChlKSxkYXRhUWFJZDp0aGlzLl9kYXRhUWFJZCgpPz92b2lkIDB9XSk6dGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCl9X2RhdGFRYUlkKCl7cmV0dXJuIG51bGx9X3VwZGF0ZUJ5U3RhdHVzKGUpe2lmKG51bGw9PT1lfHx0aGlzLl9zaG91bGRCZUhpZGRlbkJ5U3RhdHVzKGUpKXJldHVybiB0aGlzLl9pY29uLnNldFZhbHVlKG51bGwpLHRoaXMuX3Rvb2x0aXAuc2V0VmFsdWUobnVsbCksdm9pZCB0aGlzLl92aXNpYmxlLnNldFZhbHVlKCExKTt0aGlzLl9pY29uLnNldFZhbHVlKHRoaXMuX2dldEljb24oZSkpLHRoaXMuX2NsYXNzTmFtZS5zZXRWYWx1ZSh0aGlzLl9nZXRDbGFzc05hbWUoZSkpLHRoaXMuX3Rvb2x0aXAuc2V0VmFsdWUodGhpcy5fZ2V0VG9vbHRpcChlKSksdGhpcy5fdmlzaWJsZS5zZXRWYWx1ZSghMCksdGhpcy5fdXBkYXRlRnVsbFRvb2x0aXAoKX1fc2hvdWxkQmVIaWRkZW5CeVN0YXR1cyhlKXtyZXR1cm4hMX19fSw2NzMwNjUoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptNC05Ljk3TDExLjkgNiA4LjMgOS44MiA2LjEgNy40NiA0Ljk5IDguNSA4LjMyIDEyIDEzIDcuMDNaIi8+PC9zdmc+J30sNDAwMDQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlpNOSA0Yy0uNzkgMC0xLjM4LjctMS4yNSAxLjQ4bC42NyA0LjAzYS41OS41OSAwIDAgMCAxLjE2IDBsLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAwIDkgNFptMCA4YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMloiLz48L3N2Zz4nfSw1MjcyMTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptMS0xMmExIDEgMCAxIDEtMiAwIDEgMSAwIDAgMSAyIDBaTTguNSA5LjVIN1Y4aDN2Nkg4LjVWOS41WiIvPjwvc3ZnPid9LDc4NTk5NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabS0xLTRhMSAxIDAgMSAwIDIgMCAxIDEgMCAwIDAtMiAwWm0yLjgzLTMuNTJjLS40OS40My0uOTcuODUtMS4wNiAxLjUySDguMjZjLjA4LTEuMTguNzQtMS42OSAxLjMyLTIuMTMuNDktLjM4LjkyLS43MS45Mi0xLjM3QzEwLjUgNi42NyA5LjgyIDYgOSA2cy0xLjUuNjctMS41IDEuNVY4SDZ2LS41YTMgMyAwIDEgMSA2IDBjMCAuOTYtLjYgMS40OC0xLjE3IDEuOThaIi8+PC9zdmc+J30sODU2NzcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse25hbm9pZDooKT0+c30pO2xldCBzPShlPTIxKT0+Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSkucmVkdWNlKCgoZSx0KT0+ZSs9KHQmPTYzKTwzNj90LnRvU3RyaW5nKDM2KTp0PDYyPyh0LTI2KS50b1N0cmluZygzNikudG9VcHBlckNhc2UoKTp0PjYyPyItIjoiXyIpLCIiKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/37513.de1574b3389800c93ebc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.425Z","timestamp":1785136901425,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37513.de1574b3389800c93ebc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-f9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 09e0e2ccaaa7f95d677c665783867a71\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":249,"size_decoded":921,"mime_type":"text/css; charset=utf-8","magic":"assembler source, ASCII text, with no line terminators","md5":"2609ad9fbf4035b2a6560fc3dc9d6ea8","sha1":"bdfe0d65ef3fe93359d3b4c44d38f0c71a542575","sha256":"f77d49b20494fbd63705f7a88a3710886adb7e234fa5e484f24ce7a7da5e7e24","sha512":"bbc4fff59f180264dcbd742c54b6c269770c18d10946ccb1842a3a4eb4207d6c4157c253f72cde3e06cf38c4d3c7b7b7fbefd05c61e9fbe4de303b7f06283c7a","ssdeep":"","tlshash":"e9d01787a1d04f313c13aa6d19f9263921b9ac745e22198e30206e225ae3aaa0011daf","first_seen":"2026-07-17T14:15:58.496983Z","last_seen":"2026-08-10T05:01:44.313762Z","times_seen":279,"resource_available":false,"data":"LmV2ZW50V3JhcHBlci1fRThVWFZLMXthbGw6dW5zZXQhaW1wb3J0YW50O2Rpc3BsYXk6Y29udGVudHMhaW1wb3J0YW50fS5wa24tY1RwX3VuVjh7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNBbmNob3JQb3NpdGlvbmVyKTstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWlzTW9iaWxlUG9zaXRpb25lcil9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/90960.ec941accfaa3ed2cd6e2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.468Z","timestamp":1785136901468,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/90960.ec941accfaa3ed2cd6e2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-186\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 04192ea82f631374a0019e16808b0044\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":390,"size_decoded":966,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (390), with no line terminators","md5":"82a666c7923903c7a4ea82a3e676d054","sha1":"86c016b68d5ebe6c7ea2171a5c77c3977beae537","sha256":"0d86f8d898eadd5474e95eb88236cad4371819f433c109cb51775d8afe54db99","sha512":"f3e21eff0524a1d3b54afc7e6a639a4982798ecfff9b03e99280419d100ca7233723e5a8384c39e2f02bb6d17afa7bb1b083a3b5086fdf52f7b3ea52c9171867","ssdeep":"","tlshash":"26e09b8a5003791d3c3573145ddc9b09023c515261d71dfd8847a23bd2ca3e13e5b861","first_seen":"2024-12-10T03:17:08.854058Z","last_seen":"2026-08-10T05:00:33.804529Z","times_seen":1285,"resource_available":false,"data":"LmVtb2ppV3JhcC1SMkNUcG1IcnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDttaW4td2lkdGg6dmFyKC0tdHYtbGVhZGluZy1lbW9qaS1zaXplLDE4cHgpfS5lbW9qaS1SMkNUcG1IciwuZW1vamlXcmFwLVIyQ1RwbUhye3dpZHRoOnZhcigtLXR2LWxlYWRpbmctZW1vamktc2l6ZSwxOHB4KX0uZW1vamktUjJDVHBtSHJ7aGVpZ2h0OnZhcigtLXR2LWxlYWRpbmctZW1vamktc2l6ZSwxOHB4KTtwb3NpdGlvbjphYnNvbHV0ZX0udG9vbHRpcEVtb2ppLVIyQ1RwbUhye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGV9LnRvb2x0aXBFbW9qaVdyYXAtUjJDVHBtSHJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWluLXdpZHRoOjEycHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCWLFIO.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.467Z","timestamp":1785136905467,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCWLFIO.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/img/clients-logo-01.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.545Z","timestamp":1785136899545,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/clients-logo-01.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/png\r\nContent-Length: 12156\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":12156,"size_decoded":12367,"mime_type":"image/png","magic":"PNG image data, 280 x 100, 8-bit/color RGBA, non-interlaced","md5":"54ddade7bfe79dd432e1f516e46b514b","sha1":"cc2a61c0abc58b736fe9251f9e4a6d7acbe940cb","sha256":"521e6092574d953e56c7539ee1139d6e220e0b10e56f2ff9c58c5921317d63ea","sha512":"9a516689a2c637b526ec8c69a207da819d3b6d90afe15fd8760aaf2a8dc6d5907dc5b8d1a5e8e903ea0365f02205409d392358fae71b2b1bcf691be4c6686517","ssdeep":"192:hEnvsBGBktTlyIpaaNdI8QCa3bIMzhq0IjSdBXJxXcaZdaiXtNTmO49ehNp:yqTly5aodX3bIvZuXLJ9L490v","tlshash":"8e42bf5bae505714a12afacb7c9d40e7842307391084d56dc28b5d134bac8be0b8e3df","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-08-01T11:22:31.045597Z","times_seen":229,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAARgAAABkCAYAAABdGS+CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFDNzkzQ0VGMTEyMTExRUFBM0U5REVBREVBMDExQTZEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFDNzkzQ0YwMTEyMTExRUFBM0U5REVBREVBMDExQTZEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUM3OTNDRUQxMTIxMTFFQUEzRTlERUFERUEwMTFBNkQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUM3OTNDRUUxMTIxMTFFQUEzRTlERUFERUEwMTFBNkQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7v20n+AAAr7ElEQVR42uyd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"}},"time_used":958,"timings":{"blocked":865,"dns":0,"connect":0,"send":0,"wait":93,"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":"huobiget.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/13492.2c77730d1125a4985bdc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.266Z","timestamp":1785136901266,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13492.2c77730d1125a4985bdc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-576\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1fa29c506b49a923f1d137a5839cc75a\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1398,"size_decoded":1347,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1398), with no line terminators","md5":"88088354fa104e0cdaa0351d0833f141","sha1":"674bbd4045db55c1c49a9f3af542cd275937376a","sha256":"c42ecd718858fd3cceedecc55ab1cf73c0ccdb74827944445c7c052992794a35","sha512":"4053448b9df28fb4c2a0b6b1789292a442298ab528e1048e9bb0152879454c993e76ea915c66ca4b0cbfcd35b123a8733dfc67fd7b9ee87d99ddc0bcfb60a2a6","ssdeep":"","tlshash":"8d217d9afbd91169a713f1355100bfc9ed5a7f60c7532395f6caf210c0caae85c75888","first_seen":"2026-04-09T17:47:32.54555Z","last_seen":"2026-07-30T02:52:23.311161Z","times_seen":674,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYldRMjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1fMS1iV1EyOiMwMDAwfS5jb250YWluZXItekxWbTZCNHR7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtiYWNrZ3JvdW5kOnZhcigtLV8wLWJXUTIpO2JvcmRlci1yYWRpdXM6NHB4O2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvO3BhZGRpbmc6OHB4fS5jb250ZW50LXpMVm02QjR0e3BhZGRpbmc6NHB4IDhweH0uYXJyb3dIb2xkZXItekxWbTZCNHR7cG9zaXRpb246YWJzb2x1dGV9LmFycm93SG9sZGVyLXpMVm02QjR0OmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1fMC1iV1EyKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjB9LmFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dDphZnRlciwuYXJyb3dIb2xkZXItLWJlbG93LXpMVm02QjR0OmFmdGVye2JvcmRlci1sZWZ0OjZweCBzb2xpZDtib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1fMS1iV1EyKTtib3JkZXItcmlnaHQ6NnB4IHNvbGlkO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1fMS1iV1EyKTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNnB4fS5hcnJvd0hvbGRlci0tYmVsb3ctekxWbTZCNHQ6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS13aWR0aDo0cHg7Ym90dG9tOjEwMCV9LmFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dDphZnRlcntib3JkZXItdG9wLXdpZHRoOjRweDt0b3A6MTAwJX0uYXJyb3dIb2xkZXItLWFmdGVyLXpMVm02QjR0OmFmdGVyLC5hcnJvd0hvbGRlci0tYmVmb3JlLXpMVm02QjR0OmFmdGVye2JvcmRlci1ib3R0b206NnB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzEtYldRMik7Ym9yZGVyLXRvcDo2cHggc29saWQ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1fMS1iV1EyKTttYXJnaW4tdG9wOi02cHg7dG9wOjUwJX0uYXJyb3dIb2xkZXItLWJlZm9yZS16TFZtNkI0dDphZnRlcntib3JkZXItcmlnaHQtd2lkdGg6NHB4O3JpZ2h0OjEwMCV9LmFycm93SG9sZGVyLS1hZnRlci16TFZtNkI0dDphZnRlcntib3JkZXItbGVmdC13aWR0aDo0cHg7bGVmdDoxMDAlfS5hcnJvd0hvbGRlci0tYWJvdmUtZml4LXpMVm02QjR0e2JvdHRvbTowfS5hcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgtekxWbTZCNHQ6ZGlyKHJ0bCl7bGVmdDowfS5hcnJvd0hvbGRlci0tYWZ0ZXItbHRyLWZpeC16TFZtNkI0dHtyaWdodDowfS5sYWJlbC16TFZtNkI0dHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bzttYXJnaW4taW5saW5lLWVuZDoyNHB4fS5jbG9zZUJ1dHRvbi16TFZtNkI0dHtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/11461.e27cb4ecf30492ac11f6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.293Z","timestamp":1785136901293,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/11461.e27cb4ecf30492ac11f6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-d22\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c6ea4d36487919191d88793144c5d697\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3362,"size_decoded":1718,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3362), with no line terminators","md5":"d57b002e0b956f52c9bfada971230444","sha1":"06594be9b9b68921b0e108591a901858ebc1f8b1","sha256":"f1b83b2356d69c4ca5f06d45aa89ed7abedeeb54bec8ab856702bdadaf099259","sha512":"14fd023c81be241ae68a71bfac23b1be63eb4f5893a2728775eac03ad277734fd2762138ef44afc0769cd939d74c34eb7e2af50b51ee6680e2c6f678aaae7892","ssdeep":"","tlshash":"3c613e72c50424b536ffe8d68e928f47191c6463ea03264fa6217e2859c7ffe04e21a7","first_seen":"2026-07-16T13:40:49.805257Z","last_seen":"2026-08-06T21:59:14.605638Z","times_seen":347,"resource_available":false,"data":"LmJvZHlOb1Njcm9sbC1mT0lSS0F0SHttYXJnaW4tcmlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtc2Nyb2xsVHJhcC1zY3JvbGwtd2lkdGgpO292ZXJmbG93OmhpZGRlbjt0b3VjaC1hY3Rpb246bm9uZX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuYm9keU5vU2Nyb2xsLWZPSVJLQXRIe3Njcm9sbGJhci13aWR0aDpub25lfX0uYm9keU5vU2Nyb2xsLWZPSVJLQXRILnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LmJvZHlOb1Njcm9sbC1mT0lSS0F0SDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcC1MbjBBSVc0RntoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdmVyZmxvdzpzY3JvbGw7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwJX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsVHJhcC1MbjBBSVc0RntzY3JvbGxiYXItd2lkdGg6bm9uZX19LnNjcm9sbFRyYXAtTG4wQUlXNEYuc2Itc2Nyb2xsYmFyLXdyYXB7ZGlzcGxheTpub25lfS5zY3JvbGxUcmFwLUxuMEFJVzRGOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsVHJhcC1MbjBBSVc0Rjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsLnNjcm9sbFRyYXAtTG4wQUlXNEY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcC1MbjBBSVc0Rjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcENvbnRlbnQtTG4wQUlXNEZ7aGVpZ2h0OmNhbGMoMTAwJSArIDEwMDAwcHgpO3dpZHRoOmNhbGMoMTAwJSArIDEwMDAwcHgpfS5zdHViLUl1aE9qb3VZe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnkpO2JvdHRvbTowO2hlaWdodDo0cHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjpmaXhlZH0uY29udGVudC1hZjBMQ2d5NXtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmhpZGRlbjtvdmVyc2Nyb2xsLWJlaGF2aW9yOm5vbmU7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxOy0td2Via2l0LW92ZXJzY3JvbGwtYmVoYWl2aW91cjpub25lO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czoxZnJ9LnN0cmV0Y2gtYWYwTENneTV7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uYmVnaW4tYWYwTENneTV7aW5zZXQtaW5saW5lLXN0YXJ0OjB9LmVuZC1hZjBMQ2d5NXtpbnNldC1pbmxpbmUtZW5kOjB9LmJlZ2luLWFmMExDZ3k1LC5lbmQtYWYwTENneTV7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAxMDBweCk7dG9wOjB9LnRvcC1hZjBMQ2d5NXt0b3A6MH0uYm90dG9tLWFmMExDZ3k1e2JvdHRvbTowfS5ib3R0b20tYWYwTENneTUsLnRvcC1hZjBMQ2d5NXtpbnNldC1pbmxpbmUtc3RhcnQ6MDttYXgtaGVpZ2h0OmNhbGMoMTAwJSAtIDEwMHB4KTt3aWR0aDoxMDAlfUBzdXBwb3J0cyAoaGVpZ2h0OjEwMGR2aCl7LmJvdHRvbS1hZjBMQ2d5NSwudG9wLWFmMExDZ3k1e21heC1oZWlnaHQ6Y2FsYygxMDBkdmggLSAxMDBweCl9fS5iYWNrZHJvcC1hZjBMQ2d5NXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO292ZXJzY3JvbGwtYmVoYXZpb3I6bm9uZTtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlOy0td2Via2l0LW92ZXJzY3JvbGwtYmVoYWl2aW91cjpub25lfS5tb2JpbGVDb250ZXh0LVZ4bjRMaFlMe2Rpc3BsYXk6Y29udGVudHM7LS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNBbmNob3JQb3NpdGlvbmVyOjA7LS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNNb2JpbGVQb3NpdGlvbmVyOjF9LmFuY2hvckNvbnRleHQtVnhuNExoWUx7ZGlzcGxheTpjb250ZW50czstLXVpLWxpYi1vdXQtcG9zaXRpb25lci1pc0FuY2hvclBvc2l0aW9uZXI6MTstLXVpLWxpYi1vdXQtcG9zaXRpb25lci1pc01vYmlsZVBvc2l0aW9uZXI6MH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05Ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlg6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYmVnaW4tZzhSb2hnTlh7Ym9yZGVyLXJhZGl1czowIDEwcHggMTBweCAwfS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYmVnaW4tZzhSb2hnTlg6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czoxMHB4IDAgMCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguZW5kLWc4Um9oZ05Ye2JvcmRlci1yYWRpdXM6MTBweCAwIDAgMTBweH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05YLmVuZC1nOFJvaGdOWDpkaXIocnRsKXtib3JkZXItcmFkaXVzOjAgMTBweCAxMHB4IDB9LmNvbnRlbnREZWZhdWx0QXBwZWFyYW5jZU1vYmlsZS1nOFJvaGdOWC50b3AtZzhSb2hnTlh7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYm90dG9tLWc4Um9oZ05Ye2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDAgMH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05Ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLXJhZGl1czoxMHB4IDEwcHggMTBweCAxMHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO292ZXJmbG93OmhpZGRlbn0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05YOmRpcihydGwpe2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDEwcHggMTBweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/10385.8744d4f8670dac310d1f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.848Z","timestamp":1785136901848,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/10385.8744d4f8670dac310d1f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 82\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b72-52\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f4ca9657acfdd7fb453805d1496add07\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":82,"size_decoded":866,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"9c95d3a949cd65153c73fef9b7436e51","sha1":"2481fdfca00fe9dd2dbdcc9cef393f2bfa940e0f","sha256":"8a7a6dad3d21341892305029b6f16da6eb7b1618e90462b3a0fac8b37b7b32ef","sha512":"3f37d27a43edad41d3c4249ef19dde0b693557e7da003f10173dcb04d10120fd18ac1ee9a303edaf615ca4aac0b6628a11223b7826c35112667e286163a908c4","ssdeep":"","tlshash":"a2a0122876d61555f507302987648d0460484510440087165a1d5491d0811ed1591240","first_seen":"2025-07-09T18:19:43.633418Z","last_seen":"2026-08-10T05:00:33.729702Z","times_seen":741,"resource_available":false,"data":"LnNlcGFyYXRvci1QZjRySXpFdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRpdmlkZXIpO2hlaWdodDoxcHg7bWFyZ2luOjhweCAwfQ=="}},"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/67685.13755296d7d26eb7dbcc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.507Z","timestamp":1785136901507,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67685.13755296d7d26eb7dbcc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-15f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6bea7a8af248e3e819ff6e486a18474f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":351,"size_decoded":962,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (351), with no line terminators","md5":"e318e6f9288c2f57bc947bf5784073b5","sha1":"a8b58198db65d302cc3fbf15118ab6bc7d525299","sha256":"71a4dbafdc173ecf98b93d11ac6a6ee8c80cbc2ea048858bcffa5e40d5254862","sha512":"dd5a0eddb94f41914f89297eba707a66a3471917598a8b67f2a6305092870bbc68f08e9af7598c1481a6fc82a2b44452c0b8f13d9ccc3eb9f059726a689bc62f","ssdeep":"","tlshash":"d8e020e355cd600d012f064cfd5774be920955037b5b6ccbea50e185edc82402535c08","first_seen":"2026-06-30T21:57:43.299741Z","last_seen":"2026-07-28T06:17:53.515825Z","times_seen":228,"resource_available":false,"data":"Lml0ZW0tWVJXMEpzRGR7cGFkZGluZy1ib3R0b206MnB4O3BhZGRpbmctdG9wOjJweDtwb3NpdGlvbjpyZWxhdGl2ZX1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7Lml0ZW0tWVJXMEpzRGR7Zm9udC1zaXplOjE2cHg7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH19LnNob3J0Y3V0LVlSVzBKc0Rke21hcmdpbi1pbmxpbmUtZW5kOjA7bWluLXdpZHRoOmF1dG99QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey5zaG9ydGN1dC1ZUlcwSnNEZHtkaXNwbGF5Om5vbmV9fS5sb2FkaW5nLVlSVzBKc0RkIC5pY29uLVlSVzBKc0RkLC5sb2FkaW5nLVlSVzBKc0RkIC5zaG9ydGN1dC1ZUlcwSnNEZHtvcGFjaXR5OjB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/www-widgetapi.vflset/www-widgetapi.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.151.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:41.695Z","timestamp":1785136901695,"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-widgetapi.vflset/www-widgetapi.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://huobiget.com/\r\nCookie: __Secure-YNID=20.YT=btQcU-eEsx4xyfQSu-tfL0eTjkxspoBATHxNmyDTCLCgq0lQgdi0Ri6wQtNuim84rq1ZG2nlfRkB7UcFbPbafdZbPlpBwD2xQ6D7RrcQYJ93kArqVyZGOqqMzOtwVJix3P-wm39oBaGWbPerx7bsaSSPh4l39pnL46HPlnkqfsI1PG23UfJ9DRCLAS_WQW_OGB553Pw1R-0WpvXcrpNWVz2E40Tjp6xK90V1e6XQWfQtnswjMO3PoNG5g1A0MeSci2rs7jCXIFms6C1Iu_l-WGsHsdDf_u3kZubfglsv0ZVoSITAlzsIugRurkL5Zd1FovhytODWVzOjccD4Vs1emQ; YSC=2Osu0g4w3m8; __Secure-ROLLOUT_TOKEN=CL-wha-f74HMQBDxpIGXqfKVAxjxpIGXqfKVAw%3D%3D; VISITOR_INFO1_LIVE=Tp94gI36np8; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgRg%3D%3D\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\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: 8842\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 00:03:52 GMT\r\nexpires: Fri, 23 Jul 2027 00:03:52 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: 371869\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":26769,"size_decoded":9528,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (570)","md5":"f169a9e94953731cb0dd5faef429318c","sha1":"f45e6b6193cd71c1eb183c51bc65c84a8aeb6719","sha256":"3aeb791f41afb9d7500326010b8852214536360b695c2d0328f4fd265badb21f","sha512":"cd7412530b69607b86d4dff17990a998e2e471f38eda724d55e2886738a75ade824cfdf11e37f976ac63ac431297869dacf364df631987a52e23ef79e5b1ba70","ssdeep":"384:lavCc95Hmr6jQumbwoPtjJTfgX+pnB4yeCzwCzUB1lzh9nYi0PC0nX1IXwK:lrS5U9io1jhfayRSnnYi6FGgK","tlshash":"3dc2e9cd7bb1b471437366b5802f100fb23e58aeb408c698b288d8e16db55690677f7e","first_seen":"2026-06-15T12:26:58.098489Z","last_seen":"2026-08-10T09:09:17.719325Z","times_seen":10356,"resource_available":true,"data":"KGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO3ZhciBuLGFhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe30KYi5wcm90b3R5cGU9YTtyZXR1cm4gbmV3IGJ9LHA9dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzPT0iZnVuY3Rpb24iP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihhLGIsYyl7aWYoYT09QXJyYXkucHJvdG90eXBlfHxhPT1PYmplY3QucHJvdG90eXBlKXJldHVybiBhOwphW2JdPWMudmFsdWU7cmV0dXJuIGF9OwpmdW5jdGlvbiBiYShhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTt9CnZhciBxPWJhKHRoaXMpO2Z1bmN0aW9uIHIoYSxiKXtpZihiKWE6e3ZhciBjPXE7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aC0xO2QrKyl7dmFyIGg9YVtkXTtpZighKGggaW4gYykpYnJlYWsgYTtjPWNbaF19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmcChjLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fQp2YXIgdDtpZih0eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mPT0iZnVuY3Rpb24iKXQ9T2JqZWN0LnNldFByb3RvdHlwZU9mO2Vsc2V7dmFyIHY7YTp7dmFyIGNhPXthOiEwfSxkYT17fTt0cnl7ZGEuX19wcm90b19fPWNhO3Y9ZGEuYTticmVhayBhfWNhdGNoKGEpe312PSExfXQ9dj9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoYSsiIGlzIG5vdCBleHRlbnNpYmxlIik7cmV0dXJuIGF9Om51bGx9dmFyIGVhPXQ7CmZ1bmN0aW9uIGZhKGEpe3ZhciBiPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGI8YS5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6YVtiKytdfTp7ZG9uZTohMH19fQpmdW5jdGlvbiB4KGEpe3ZhciBiPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmFbU3ltYm9sLml0ZXJhdG9yXTtpZihiKXJldHVybiBiLmNhbGwoYSk7aWYodHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpmYShhKX07dGhyb3cgRXJyb3IoU3RyaW5nKGEpKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO30KcigiU3ltYm9sIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGspe2lmKHRoaXMgaW5zdGFuY2VvZiBiKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO3JldHVybiBuZXcgYyhkKyhrfHwiIikrIl8iK2grKyxrKX0KZnVuY3Rpb24gYyhrLGYpe3RoaXMuZz1rO3AodGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Zn0pfQppZihhKXJldHVybiBhO2MucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ307CnZhciBkPSJqc2NvbXBfc3ltYm9sXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCkrIl8iLGg9MDtyZXR1cm4gYn0pOwpyKCJTeW1ib2wuaXRlcmF0b3IiLGZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIGE7YT1TeW1ib2woIlN5bWJvbC5pdGVyYXRvciIpO3AoQXJyYXkucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBoYShmYSh0aGlzKSl9fSk7CnJldHVybiBhfSk7CmZ1bmN0aW9uIGhhKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9OwpyZXR1cm4gYX0KcigiUHJvbWlzZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihmKXt0aGlzLmg9MDt0aGlzLmk9dm9pZCAwO3RoaXMuZz1bXTt0aGlzLnY9ITE7dmFyIGU9dGhpcy5qKCk7dHJ5e2YoZS5yZXNvbHZlLGUucmVqZWN0KX1jYXRjaChnKXtlLnJlamVjdChnKX19CmZ1bmN0aW9uIGMoKXt0aGlzLmc9bnVsbH0KZnVuY3Rpb24gZChmKXtyZXR1cm4gZiBpbnN0YW5jZW9mIGI/ZjpuZXcgYihmdW5jdGlvbihlKXtlKGYpfSl9CmlmKGEpcmV0dXJuIGE7Yy5wcm90b3R5cGUuaD1mdW5jdGlvbihmKXtpZih0aGlzLmc9PW51bGwpe3RoaXMuZz1bXTt2YXIgZT10aGlzO3RoaXMuaShmdW5jdGlvbigpe2UubCgpfSl9dGhpcy5nLnB1c2goZil9Owp2YXIgaD1xLnNldFRpbWVvdXQ7Yy5wcm90b3R5cGUuaT1mdW5jdGlvbihmKXtoKGYsMCl9OwpjLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmcmJnRoaXMuZy5sZW5ndGg7KXt2YXIgZj10aGlzLmc7dGhpcy5nPVtdO2Zvcih2YXIgZT0wO2U8Zi5sZW5ndGg7KytlKXt2YXIgZz1mW2VdO2ZbZV09bnVsbDt0cnl7ZygpfWNhdGNoKGwpe3RoaXMuaihsKX19fXRoaXMuZz1udWxsfTsKYy5wcm90b3R5cGUuaj1mdW5jdGlvbihmKXt0aGlzLmkoZnVuY3Rpb24oKXt0aHJvdyBmO30pfTsKYi5wcm90b3R5cGUuaj1mdW5jdGlvbigpe2Z1bmN0aW9uIGYobCl7cmV0dXJuIGZ1bmN0aW9uKG0pe2d8fChnPSEwLGwuY2FsbChlLG0pKX19CnZhciBlPXRoaXMsZz0hMTtyZXR1cm57cmVzb2x2ZTpmKHRoaXMuSykscmVqZWN0OmYodGhpcy5sKX19OwpiLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGYpe2lmKGY9PT10aGlzKXRoaXMubChuZXcgVHlwZUVycm9yKCJBIFByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpO2Vsc2UgaWYoZiBpbnN0YW5jZW9mIGIpdGhpcy5NKGYpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGYpe2Nhc2UgIm9iamVjdCI6dmFyIGU9ZiE9bnVsbDticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjplPSEwO2JyZWFrIGE7ZGVmYXVsdDplPSExfWU/dGhpcy5KKGYpOnRoaXMubyhmKX19OwpiLnByb3RvdHlwZS5KPWZ1bmN0aW9uKGYpe3ZhciBlPXZvaWQgMDt0cnl7ZT1mLnRoZW59Y2F0Y2goZyl7dGhpcy5sKGcpO3JldHVybn10eXBlb2YgZT09ImZ1bmN0aW9uIj90aGlzLk4oZSxmKTp0aGlzLm8oZil9OwpiLnByb3RvdHlwZS5sPWZ1bmN0aW9uKGYpe3RoaXMuQSgyLGYpfTsKYi5wcm90b3R5cGUubz1mdW5jdGlvbihmKXt0aGlzLkEoMSxmKX07CmIucHJvdG90eXBlLkE9ZnVuY3Rpb24oZixlKXtpZih0aGlzLmghPTApdGhyb3cgRXJyb3IoIkNhbm5vdCBzZXR0bGUoIitmKyIsICIrZSsiKTogUHJvbWlzZSBhbHJlYWR5IHNldHRsZWQgaW4gc3RhdGUiK3RoaXMuaCk7dGhpcy5oPWY7dGhpcy5pPWU7dGhpcy5oPT09MiYmdGhpcy5MKCk7dGhpcy5DKCl9OwpiLnByb3RvdHlwZS5MPWZ1bmN0aW9uKCl7dmFyIGY9dGhpcztoKGZ1bmN0aW9uKCl7aWYoZi5JKCkpe3ZhciBlPXEuY29uc29sZTt0eXBlb2YgZSE9PSJ1bmRlZmluZWQiJiZlLmVycm9yKGYuaSl9fSwxKX07CmIucHJvdG90eXBlLkk9ZnVuY3Rpb24oKXtpZih0aGlzLnYpcmV0dXJuITE7dmFyIGY9cS5DdXN0b21FdmVudCxlPXEuRXZlbnQsZz1xLmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGc9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgZj09PSJmdW5jdGlvbiI/Zj1uZXcgZigidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBlPT09ImZ1bmN0aW9uIj9mPW5ldyBlKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGY9cS5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxmLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxmKSk7Zi5wcm9taXNlPXRoaXM7Zi5yZWFzb249dGhpcy5pO3JldHVybiBnKGYpfTsKYi5wcm90b3R5cGUuQz1mdW5jdGlvbigpe2lmKHRoaXMuZyE9bnVsbCl7Zm9yKHZhciBmPTA7Zjx0aGlzLmcubGVuZ3RoOysrZilrLmgodGhpcy5nW2ZdKTt0aGlzLmc9bnVsbH19Owp2YXIgaz1uZXcgYztiLnByb3RvdHlwZS5NPWZ1bmN0aW9uKGYpe3ZhciBlPXRoaXMuaigpO2YuQihlLnJlc29sdmUsZS5yZWplY3QpfTsKYi5wcm90b3R5cGUuTj1mdW5jdGlvbihmLGUpe3ZhciBnPXRoaXMuaigpO3RyeXtmLmNhbGwoZSxnLnJlc29sdmUsZy5yZWplY3QpfWNhdGNoKGwpe2cucmVqZWN0KGwpfX07CmIucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oZixlKXtmdW5jdGlvbiBnKHcseil7cmV0dXJuIHR5cGVvZiB3PT0iZnVuY3Rpb24iP2Z1bmN0aW9uKFApe3RyeXtsKHcoUCkpfWNhdGNoKFEpe20oUSl9fTp6fQp2YXIgbCxtLHU9bmV3IGIoZnVuY3Rpb24odyx6KXtsPXc7bT16fSk7CnRoaXMuQihnKGYsbCksZyhlLG0pKTtyZXR1cm4gdX07CmIucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKGYpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGYpfTsKYi5wcm90b3R5cGUuQj1mdW5jdGlvbihmLGUpe2Z1bmN0aW9uIGcoKXtzd2l0Y2gobC5oKXtjYXNlIDE6ZihsLmkpO2JyZWFrO2Nhc2UgMjplKGwuaSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5leHBlY3RlZCBzdGF0ZTogIitsLmgpO319CnZhciBsPXRoaXM7dGhpcy5nPT1udWxsP2suaChnKTp0aGlzLmcucHVzaChnKTt0aGlzLnY9ITB9OwpiLnJlc29sdmU9ZDtiLnJlamVjdD1mdW5jdGlvbihmKXtyZXR1cm4gbmV3IGIoZnVuY3Rpb24oZSxnKXtnKGYpfSl9OwpiLnJhY2U9ZnVuY3Rpb24oZil7cmV0dXJuIG5ldyBiKGZ1bmN0aW9uKGUsZyl7Zm9yKHZhciBsPXgoZiksbT1sLm5leHQoKTshbS5kb25lO209bC5uZXh0KCkpZChtLnZhbHVlKS5CKGUsZyl9KX07CmIuYWxsPWZ1bmN0aW9uKGYpe3ZhciBlPXgoZiksZz1lLm5leHQoKTtyZXR1cm4gZy5kb25lP2QoW10pOm5ldyBiKGZ1bmN0aW9uKGwsbSl7ZnVuY3Rpb24gdShQKXtyZXR1cm4gZnVuY3Rpb24oUSl7d1tQXT1RO3otLTt6PT0wJiZsKHcpfX0KdmFyIHc9W10sej0wO2RvIHcucHVzaCh2b2lkIDApLHorKyxkKGcudmFsdWUpLkIodSh3Lmxlbmd0aC0xKSxtKSxnPWUubmV4dCgpO3doaWxlKCFnLmRvbmUpfSl9OwpyZXR1cm4gYn0pOwpmdW5jdGlvbiB5KGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfQp2YXIgaWE9dHlwZW9mIE9iamVjdC5hc3NpZ249PSJmdW5jdGlvbiI/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbihhLGIpe2lmKGE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiTm8gbnVsbGlzaCBhcmciKTthPU9iamVjdChhKTtmb3IodmFyIGM9MTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKXt2YXIgZD1hcmd1bWVudHNbY107aWYoZClmb3IodmFyIGggaW4gZCl5KGQsaCkmJihhW2hdPWRbaF0pfXJldHVybiBhfTsKcigiT2JqZWN0LmFzc2lnbiIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fGlhfSk7CnIoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiU3ltYm9sLmRpc3Bvc2UiKX0pOwpyKCJXZWFrTWFwIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGcpe3RoaXMuZz0oZSs9TWF0aC5yYW5kb20oKSsxKS50b1N0cmluZygpO2lmKGcpe2c9eChnKTtmb3IodmFyIGw7IShsPWcubmV4dCgpKS5kb25lOylsPWwudmFsdWUsdGhpcy5zZXQobFswXSxsWzFdKX19CmZ1bmN0aW9uIGMoKXt9CmZ1bmN0aW9uIGQoZyl7dmFyIGw9dHlwZW9mIGc7cmV0dXJuIGw9PT0ib2JqZWN0IiYmZyE9PW51bGx8fGw9PT0iZnVuY3Rpb24ifQpmdW5jdGlvbiBoKGcpe2lmKCF5KGcsZikpe3ZhciBsPW5ldyBjO3AoZyxmLHt2YWx1ZTpsfSl9fQpmdW5jdGlvbiBrKGcpe3ZhciBsPU9iamVjdFtnXTtsJiYoT2JqZWN0W2ddPWZ1bmN0aW9uKG0pe2lmKG0gaW5zdGFuY2VvZiBjKXJldHVybiBtO09iamVjdC5pc0V4dGVuc2libGUobSkmJmgobSk7cmV0dXJuIGwobSl9KX0KaWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgZz1PYmplY3Quc2VhbCh7fSksbD1PYmplY3Quc2VhbCh7fSksbT1uZXcgYShbW2csMl0sW2wsM11dKTtpZihtLmdldChnKSE9Mnx8bS5nZXQobCkhPTMpcmV0dXJuITE7bS5kZWxldGUoZyk7bS5zZXQobCw0KTtyZXR1cm4hbS5oYXMoZykmJm0uZ2V0KGwpPT00fWNhdGNoKHUpe3JldHVybiExfX0oKSlyZXR1cm4gYTsKdmFyIGY9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtrKCJmcmVlemUiKTtrKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2soInNlYWwiKTt2YXIgZT0wO2IucHJvdG90eXBlLnNldD1mdW5jdGlvbihnLGwpe2lmKCFkKGcpKXRocm93IEVycm9yKCJJbnZhbGlkIFdlYWtNYXAga2V5Iik7aChnKTtpZigheShnLGYpKXRocm93IEVycm9yKCJXZWFrTWFwIGtleSBmYWlsOiAiK2cpO2dbZl1bdGhpcy5nXT1sO3JldHVybiB0aGlzfTsKYi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGcpe3JldHVybiBkKGcpJiZ5KGcsZik/Z1tmXVt0aGlzLmddOnZvaWQgMH07CmIucHJvdG90eXBlLmhhcz1mdW5jdGlvbihnKXtyZXR1cm4gZChnKSYmeShnLGYpJiZ5KGdbZl0sdGhpcy5nKX07CmIucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbihnKXtyZXR1cm4gZChnKSYmeShnLGYpJiZ5KGdbZl0sdGhpcy5nKT9kZWxldGUgZ1tmXVt0aGlzLmddOiExfTsKcmV0dXJuIGJ9KTsKcigiTWFwIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7dmFyIGU9e307cmV0dXJuIGUucHJldmlvdXM9ZS5uZXh0PWUuaGVhZD1lfQpmdW5jdGlvbiBjKGUsZyl7dmFyIGw9ZVsxXTtyZXR1cm4gaGEoZnVuY3Rpb24oKXtpZihsKXtmb3IoO2wuaGVhZCE9ZVsxXTspbD1sLnByZXZpb3VzO2Zvcig7bC5uZXh0IT1sLmhlYWQ7KXJldHVybiBsPWwubmV4dCx7ZG9uZTohMSx2YWx1ZTpnKGwpfTtsPW51bGx9cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX0pfQpmdW5jdGlvbiBkKGUsZyl7dmFyIGw9ZyYmdHlwZW9mIGc7bD09Im9iamVjdCJ8fGw9PSJmdW5jdGlvbiI/ay5oYXMoZyk/bD1rLmdldChnKToobD0iIisgKytmLGsuc2V0KGcsbCkpOmw9InBfIitnO3ZhciBtPWVbMF1bbF07aWYobSYmeShlWzBdLGwpKWZvcihlPTA7ZTxtLmxlbmd0aDtlKyspe3ZhciB1PW1bZV07aWYoZyE9PWcmJnUua2V5IT09dS5rZXl8fGc9PT11LmtleSlyZXR1cm57aWQ6bCxsaXN0Om0saW5kZXg6ZSxlbnRyeTp1fX1yZXR1cm57aWQ6bCxsaXN0Om0saW5kZXg6LTEsZW50cnk6dm9pZCAwfX0KZnVuY3Rpb24gaChlKXt0aGlzWzBdPXt9O3RoaXNbMV09YigpO3RoaXMuc2l6ZT0wO2lmKGUpe2U9eChlKTtmb3IodmFyIGc7IShnPWUubmV4dCgpKS5kb25lOylnPWcudmFsdWUsdGhpcy5zZXQoZ1swXSxnWzFdKX19CmlmKGZ1bmN0aW9uKCl7aWYoIWF8fHR5cGVvZiBhIT0iZnVuY3Rpb24ifHwhYS5wcm90b3R5cGUuZW50cmllc3x8dHlwZW9mIE9iamVjdC5zZWFsIT0iZnVuY3Rpb24iKXJldHVybiExO3RyeXt2YXIgZT1PYmplY3Quc2VhbCh7eDo0fSksZz1uZXcgYSh4KFtbZSwicyJdXSkpO2lmKGcuZ2V0KGUpIT0icyJ8fGcuc2l6ZSE9MXx8Zy5nZXQoe3g6NH0pfHxnLnNldCh7eDo0fSwidCIpIT1nfHxnLnNpemUhPTIpcmV0dXJuITE7dmFyIGw9Zy5lbnRyaWVzKCksbT1sLm5leHQoKTtpZihtLmRvbmV8fG0udmFsdWVbMF0hPWV8fG0udmFsdWVbMV0hPSJzIilyZXR1cm4hMTttPWwubmV4dCgpO3JldHVybiBtLmRvbmV8fG0udmFsdWVbMF0ueCE9NHx8bS52YWx1ZVsxXSE9InQifHwhbC5uZXh0KCkuZG9uZT8hMTohMH1jYXRjaCh1KXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7CnZhciBrPW5ldyBXZWFrTWFwO2gucHJvdG90eXBlLnNldD1mdW5jdGlvbihlLGcpe2U9ZT09PTA/MDplO3ZhciBsPWQodGhpcyxlKTtsLmxpc3R8fChsLmxpc3Q9dGhpc1swXVtsLmlkXT1bXSk7bC5lbnRyeT9sLmVudHJ5LnZhbHVlPWc6KGwuZW50cnk9e25leHQ6dGhpc1sxXSxwcmV2aW91czp0aGlzWzFdLnByZXZpb3VzLGhlYWQ6dGhpc1sxXSxrZXk6ZSx2YWx1ZTpnfSxsLmxpc3QucHVzaChsLmVudHJ5KSx0aGlzWzFdLnByZXZpb3VzLm5leHQ9bC5lbnRyeSx0aGlzWzFdLnByZXZpb3VzPWwuZW50cnksdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTsKaC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGUpe2U9ZCh0aGlzLGUpO3JldHVybiBlLmVudHJ5JiZlLmxpc3Q/KGUubGlzdC5zcGxpY2UoZS5pbmRleCwxKSxlLmxpc3QubGVuZ3RofHxkZWxldGUgdGhpc1swXVtlLmlkXSxlLmVudHJ5LnByZXZpb3VzLm5leHQ9ZS5lbnRyeS5uZXh0LGUuZW50cnkubmV4dC5wcmV2aW91cz1lLmVudHJ5LnByZXZpb3VzLGUuZW50cnkuaGVhZD1udWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07CmgucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpc1swXT17fTt0aGlzWzFdPXRoaXNbMV0ucHJldmlvdXM9YigpO3RoaXMuc2l6ZT0wfTsKaC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGUpe3JldHVybiEhZCh0aGlzLGUpLmVudHJ5fTsKaC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUpe3JldHVybihlPWQodGhpcyxlKS5lbnRyeSkmJmUudmFsdWV9OwpoLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGModGhpcyxmdW5jdGlvbihlKXtyZXR1cm5bZS5rZXksZS52YWx1ZV19KX07CmgucHJvdG90eXBlLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gYyh0aGlzLGZ1bmN0aW9uKGUpe3JldHVybiBlLmtleX0pfTsKaC5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGModGhpcyxmdW5jdGlvbihlKXtyZXR1cm4gZS52YWx1ZX0pfTsKaC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihlLGcpe2Zvcih2YXIgbD10aGlzLmVudHJpZXMoKSxtOyEobT1sLm5leHQoKSkuZG9uZTspbT1tLnZhbHVlLGUuY2FsbChnLG1bMV0sbVswXSx0aGlzKX07CmgucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09aC5wcm90b3R5cGUuZW50cmllczt2YXIgZj0wO3JldHVybiBofSk7CnIoIlNldCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjKXt0aGlzLmc9bmV3IE1hcDtpZihjKXtjPXgoYyk7Zm9yKHZhciBkOyEoZD1jLm5leHQoKSkuZG9uZTspdGhpcy5hZGQoZC52YWx1ZSl9dGhpcy5zaXplPXRoaXMuZy5zaXplfQppZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGM9T2JqZWN0LnNlYWwoe3g6NH0pLGQ9bmV3IGEoeChbY10pKTtpZighZC5oYXMoYyl8fGQuc2l6ZSE9MXx8ZC5hZGQoYykhPWR8fGQuc2l6ZSE9MXx8ZC5hZGQoe3g6NH0pIT1kfHxkLnNpemUhPTIpcmV0dXJuITE7dmFyIGg9ZC5lbnRyaWVzKCksaz1oLm5leHQoKTtpZihrLmRvbmV8fGsudmFsdWVbMF0hPWN8fGsudmFsdWVbMV0hPWMpcmV0dXJuITE7az1oLm5leHQoKTtyZXR1cm4gay5kb25lfHxrLnZhbHVlWzBdPT1jfHxrLnZhbHVlWzBdLnghPTR8fGsudmFsdWVbMV0hPWsudmFsdWVbMF0/ITE6aC5uZXh0KCkuZG9uZX1jYXRjaChmKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7CmIucHJvdG90eXBlLmFkZD1mdW5jdGlvbihjKXtjPWM9PT0wPzA6Yzt0aGlzLmcuc2V0KGMsYyk7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTsKYi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGMpe2M9dGhpcy5nLmRlbGV0ZShjKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGN9OwpiLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT0wfTsKYi5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGMpe3JldHVybiB0aGlzLmcuaGFzKGMpfTsKYi5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuZW50cmllcygpfTsKYi5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy52YWx1ZXMoKX07CmIucHJvdG90eXBlLmtleXM9Yi5wcm90b3R5cGUudmFsdWVzO2IucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09Yi5wcm90b3R5cGUudmFsdWVzO2IucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oYyxkKXt2YXIgaD10aGlzO3RoaXMuZy5mb3JFYWNoKGZ1bmN0aW9uKGspe3JldHVybiBjLmNhbGwoZCxrLGssaCl9KX07CnJldHVybiBifSk7CnIoIkFycmF5LnByb3RvdHlwZS5maW5kIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7YTp7dmFyIGQ9dGhpcztkIGluc3RhbmNlb2YgU3RyaW5nJiYoZD1TdHJpbmcoZCkpO2Zvcih2YXIgaD1kLmxlbmd0aCxrPTA7azxoO2srKyl7dmFyIGY9ZFtrXTtpZihiLmNhbGwoYyxmLGssZCkpe2I9ZjticmVhayBhfX1iPXZvaWQgMH1yZXR1cm4gYn19KTsKcigiQXJyYXkuZnJvbSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7Yz1jIT1udWxsP2M6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9Owp2YXIgaD1bXSxrPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmJbU3ltYm9sLml0ZXJhdG9yXTtpZih0eXBlb2Ygaz09ImZ1bmN0aW9uIil7Yj1rLmNhbGwoYik7Zm9yKHZhciBmPTA7IShrPWIubmV4dCgpKS5kb25lOyloLnB1c2goYy5jYWxsKGQsay52YWx1ZSxmKyspKX1lbHNlIGZvcihrPWIubGVuZ3RoLGY9MDtmPGs7ZisrKWgucHVzaChjLmNhbGwoZCxiW2ZdLGYpKTtyZXR1cm4gaH19KTsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgQT10aGlzfHxzZWxmO2Z1bmN0aW9uIEIoYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifQpmdW5jdGlvbiBqYShhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsQykmJmFbQ118fChhW0NdPSsra2EpfQp2YXIgQz0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxrYT0wO2Z1bmN0aW9uIEQoYSxiKXthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGM9QSxkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn0KZnVuY3Rpb24gbGEoYSxiKXtmdW5jdGlvbiBjKCl7fQpjLnByb3RvdHlwZT1iLnByb3RvdHlwZTthLkg9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLlc9ZnVuY3Rpb24oZCxoLGspe2Zvcih2YXIgZj1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGU9MjtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKWZbZS0yXT1hcmd1bWVudHNbZV07cmV0dXJuIGIucHJvdG90eXBlW2hdLmFwcGx5KGQsZil9fQo7dmFyIG1hPUFycmF5LnByb3RvdHlwZS5pbmRleE9mP2Z1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYSxiLHZvaWQgMCl9OmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gdHlwZW9mIGIhPT0ic3RyaW5nInx8Yi5sZW5ndGghPTE/LTE6YS5pbmRleE9mKGIsMCk7CmZvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGMgaW4gYSYmYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEU9QXJyYXkucHJvdG90eXBlLmZvckVhY2g/ZnVuY3Rpb24oYSxiLGMpe0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpfTpmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWEubGVuZ3RoLGg9dHlwZW9mIGE9PT0ic3RyaW5nIj9hLnNwbGl0KCIiKTphLGs9MDtrPGQ7aysrKWsgaW4gaCYmYi5jYWxsKGMsaFtrXSxrLGEpfTsKZnVuY3Rpb24gbmEoYSxiKXtiPW1hKGEsYik7Yj49MCYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGEsYiwxKX0KZnVuY3Rpb24gb2EoYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sYXJndW1lbnRzKX0KZnVuY3Rpb24gcGEoYSl7dmFyIGI9YS5sZW5ndGg7aWYoYj4wKXtmb3IodmFyIGM9QXJyYXkoYiksZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfQo7ZnVuY3Rpb24gcWEoYSxiKXt0aGlzLmk9YTt0aGlzLmo9Yjt0aGlzLmg9MDt0aGlzLmc9bnVsbH0KcWEucHJvdG90eXBlLmdldD1mdW5jdGlvbigpe2lmKHRoaXMuaD4wKXt0aGlzLmgtLTt2YXIgYT10aGlzLmc7dGhpcy5nPWEubmV4dDthLm5leHQ9bnVsbH1lbHNlIGE9dGhpcy5pKCk7cmV0dXJuIGF9O2Z1bmN0aW9uIHJhKGEpe0Euc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX0KO2Z1bmN0aW9uIEYoKXt0aGlzLmg9dGhpcy5nPW51bGx9CkYucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe3ZhciBjPXNhLmdldCgpO2Muc2V0KGEsYik7dGhpcy5oP3RoaXMuaC5uZXh0PWM6dGhpcy5nPWM7dGhpcy5oPWN9OwpGLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgYT1udWxsO3RoaXMuZyYmKGE9dGhpcy5nLHRoaXMuZz10aGlzLmcubmV4dCx0aGlzLmd8fCh0aGlzLmg9bnVsbCksYS5uZXh0PW51bGwpO3JldHVybiBhfTsKdmFyIHNhPW5ldyBxYShmdW5jdGlvbigpe3JldHVybiBuZXcgR30sZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVzZXQoKX0pOwpmdW5jdGlvbiBHKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5nPW51bGx9CkcucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH07CkcucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5nPW51bGx9O3ZhciBILEk9ITEsdGE9bmV3IEY7ZnVuY3Rpb24gdWEoYSl7SHx8dmEoKTtJfHwoSCgpLEk9ITApO3RhLmFkZChhLHZvaWQgMCl9CmZ1bmN0aW9uIHZhKCl7dmFyIGE9UHJvbWlzZS5yZXNvbHZlKHZvaWQgMCk7SD1mdW5jdGlvbigpe2EudGhlbih3YSl9fQpmdW5jdGlvbiB3YSgpe2Zvcih2YXIgYTthPXRhLnJlbW92ZSgpOyl7dHJ5e2EuZy5jYWxsKGEuc2NvcGUpfWNhdGNoKGMpe3JhKGMpfXZhciBiPXNhO2IuaihhKTtiLmg8MTAwJiYoYi5oKyssYS5uZXh0PWIuZyxiLmc9YSl9ST0hMX0KO2Z1bmN0aW9uIEooKXt0aGlzLmk9dGhpcy5pO3RoaXMuaj10aGlzLmp9CkoucHJvdG90eXBlLmk9ITE7Si5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuaXx8KHRoaXMuaT0hMCx0aGlzLkQoKSl9OwpKLnByb3RvdHlwZVtTeW1ib2wuZGlzcG9zZV09ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX07CkoucHJvdG90eXBlLmFkZE9uRGlzcG9zZUNhbGxiYWNrPWZ1bmN0aW9uKGEsYil7dGhpcy5pP2IhPT12b2lkIDA/YS5jYWxsKGIpOmEoKToodGhpcy5qfHwodGhpcy5qPVtdKSxiJiYoYT1hLmJpbmQoYikpLHRoaXMuai5wdXNoKGEpKX07CkoucHJvdG90eXBlLkQ9ZnVuY3Rpb24oKXtpZih0aGlzLmopZm9yKDt0aGlzLmoubGVuZ3RoOyl0aGlzLmouc2hpZnQoKSgpfTtmdW5jdGlvbiB4YShhKXt2YXIgYj17fSxjO2ZvcihjIGluIGEpYltjXT1hW2NdO3JldHVybiBifQo7dmFyIHlhPS8mL2csemE9LzwvZyxBYT0vPi9nLEJhPS8iL2csQ2E9LycvZyxEYT0vXHgwMC9nLEVhPS9bXHgwMCY8PiInXS87LyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KZnVuY3Rpb24gSyhhKXt0aGlzLmc9YX0KSy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTsKdmFyIEZhPW5ldyBLKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO2Z1bmN0aW9uIEwoYSl7dGhpcy5QPWF9CmZ1bmN0aW9uIE0oYSl7cmV0dXJuIG5ldyBMKGZ1bmN0aW9uKGIpe3JldHVybiBiLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6In0pfQp2YXIgR2E9W00oImRhdGEiKSxNKCJodHRwIiksTSgiaHR0cHMiKSxNKCJtYWlsdG8iKSxNKCJmdHAiKSxuZXcgTChmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSldLEhhPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7dmFyIElhPXtWOjAsVDoxLFU6MiwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifTtmdW5jdGlvbiBOKGEsYil7Yj1FcnJvci5jYWxsKHRoaXMsYSsiIGNhbm5vdCBiZSB1c2VkIHdpdGggaW50ZW50ICIrSWFbYl0pO3RoaXMubWVzc2FnZT1iLm1lc3NhZ2U7InN0YWNrImluIGImJih0aGlzLnN0YWNrPWIuc3RhY2spO3RoaXMudHlwZT1hO3RoaXMubmFtZT0iVHlwZUNhbm5vdEJlVXNlZFdpdGhJZnJhbWVJbnRlbnRFcnJvciJ9CnZhciBPPUVycm9yO04ucHJvdG90eXBlPWFhKE8ucHJvdG90eXBlKTtOLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1OO2lmKGVhKWVhKE4sTyk7ZWxzZSBmb3IodmFyIFIgaW4gTylpZihSIT0icHJvdG90eXBlIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIEphPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTyxSKTtKYSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KE4sUixKYSl9ZWxzZSBOW1JdPU9bUl07Ti5IPU8ucHJvdG90eXBlO2Z1bmN0aW9uIEthKGEpe0VhLnRlc3QoYSkmJihhLmluZGV4T2YoIiYiKSE9LTEmJihhPWEucmVwbGFjZSh5YSwiJmFtcDsiKSksYS5pbmRleE9mKCI8IikhPS0xJiYoYT1hLnJlcGxhY2UoemEsIiZsdDsiKSksYS5pbmRleE9mKCI+IikhPS0xJiYoYT1hLnJlcGxhY2UoQWEsIiZndDsiKSksYS5pbmRleE9mKCciJykhPS0xJiYoYT1hLnJlcGxhY2UoQmEsIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZShDYSwiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2UoRGEsIiYjMDsiKSkpO3JldHVybiBhfQo7ZnVuY3Rpb24gUyhhKXtKLmNhbGwodGhpcyk7dGhpcy52PTE7dGhpcy5sPVtdO3RoaXMubz0wO3RoaXMuZz1bXTt0aGlzLmg9e307dGhpcy5BPSEhYX0KbGEoUyxKKTtuPVMucHJvdG90eXBlO24uc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmhbYV07ZHx8KGQ9dGhpcy5oW2FdPVtdKTt2YXIgaD10aGlzLnY7dGhpcy5nW2hdPWE7dGhpcy5nW2grMV09Yjt0aGlzLmdbaCsyXT1jO3RoaXMudj1oKzM7ZC5wdXNoKGgpO3JldHVybiBofTsKbi51bnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7aWYoYT10aGlzLmhbYV0pe3ZhciBkPXRoaXMuZztpZihhPWEuZmluZChmdW5jdGlvbihoKXtyZXR1cm4gZFtoKzFdPT1iJiZkW2grMl09PWN9KSlyZXR1cm4gdGhpcy5GKGEpfXJldHVybiExfTsKbi5GPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZ1thXTtpZihiKXt2YXIgYz10aGlzLmhbYl07dGhpcy5vIT0wPyh0aGlzLmwucHVzaChhKSx0aGlzLmdbYSsxXT1mdW5jdGlvbigpe30pOihjJiZuYShjLGEpLGRlbGV0ZSB0aGlzLmdbYV0sZGVsZXRlIHRoaXMuZ1thKzFdLGRlbGV0ZSB0aGlzLmdbYSsyXSl9cmV0dXJuISFifTsKbi5HPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5oW2FdO2lmKGMpe3ZhciBkPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSksaD1hcmd1bWVudHMubGVuZ3RoLGs7Zm9yKGs9MTtrPGg7aysrKWRbay0xXT1hcmd1bWVudHNba107aWYodGhpcy5BKWZvcihrPTA7azxjLmxlbmd0aDtrKyspaD1jW2tdLExhKHRoaXMuZ1toKzFdLHRoaXMuZ1toKzJdLGQpO2Vsc2V7dGhpcy5vKys7dHJ5e2ZvcihrPTAsaD1jLmxlbmd0aDtrPGgmJiF0aGlzLmk7aysrKXt2YXIgZj1jW2tdO3RoaXMuZ1tmKzFdLmFwcGx5KHRoaXMuZ1tmKzJdLGQpfX1maW5hbGx5e2lmKHRoaXMuby0tLHRoaXMubC5sZW5ndGg+MCYmdGhpcy5vPT0wKWZvcig7Yz10aGlzLmwucG9wKCk7KXRoaXMuRihjKX19cmV0dXJuIGshPTB9cmV0dXJuITF9OwpmdW5jdGlvbiBMYShhLGIsYyl7dWEoZnVuY3Rpb24oKXthLmFwcGx5KGIsYyl9KX0Kbi5jbGVhcj1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj10aGlzLmhbYV07YiYmKGIuZm9yRWFjaCh0aGlzLkYsdGhpcyksZGVsZXRlIHRoaXMuaFthXSl9ZWxzZSB0aGlzLmcubGVuZ3RoPTAsdGhpcy5oPXt9fTsKbi5EPWZ1bmN0aW9uKCl7Uy5ILkQuY2FsbCh0aGlzKTt0aGlzLmNsZWFyKCk7dGhpcy5sLmxlbmd0aD0wfTt2YXIgTWE9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtmdW5jdGlvbiBOYShhKXt2YXIgYj1hLm1hdGNoKE1hKTthPWJbMV07dmFyIGM9YlsyXSxkPWJbM107Yj1iWzRdO3ZhciBoPSIiO2EmJihoKz1hKyI6Iik7ZCYmKGgrPSIvLyIsYyYmKGgrPWMrIkAiKSxoKz1kLGImJihoKz0iOiIrYikpO3JldHVybiBofQpmdW5jdGlvbiBPYShhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSlmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKylPYShhLFN0cmluZyhiW2RdKSxjKTtlbHNlIGIhPW51bGwmJmMucHVzaChhKyhiPT09IiI/IiI6Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYikpKSl9CnZhciBQYT0vI3wkLzt2YXIgVD17fSxRYT1bXSxVPW5ldyBTLFY9e307ZnVuY3Rpb24gUmEoKXtmb3IodmFyIGE9eChRYSksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpYj1iLnZhbHVlLGIoKX0KZnVuY3Rpb24gVyhhLGIpe3JldHVybiBhLnRhZ05hbWUudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMCwzKT09PSJ5dDoiP2EuZ2V0QXR0cmlidXRlKGIpOmEuZGF0YXNldD9hLmRhdGFzZXRbYl06YS5nZXRBdHRyaWJ1dGUoImRhdGEtIitiKX0KZnVuY3Rpb24gU2EoYSl7VS5HLmFwcGx5KFUsYXJndW1lbnRzKX0KO2Z1bmN0aW9uIFRhKGEpe3JldHVybihhLnNlYXJjaCgiY3VlIik9PT0wfHxhLnNlYXJjaCgibG9hZCIpPT09MCkmJmEhPT0ibG9hZE1vZHVsZSJ9CmZ1bmN0aW9uIFVhKGEpe3JldHVybiBhLnNlYXJjaCgiZ2V0Iik9PT0wfHxhLnNlYXJjaCgiaXMiKT09PTB9Cjt2YXIgVmE9d2luZG93OwpmdW5jdGlvbiBYKGEsYil7dGhpcy51PXt9O3RoaXMucGxheWVySW5mbz17fTt0aGlzLnZpZGVvVGl0bGU9IiI7dGhpcy5qPXRoaXMuZz1udWxsO3RoaXMuaD0wO3RoaXMubz0hMTt0aGlzLmw9W107dGhpcy5pPW51bGw7dGhpcy5DPXt9O3RoaXMub3B0aW9ucz1udWxsO3RoaXMuQT10aGlzLlIuYmluZCh0aGlzKTtpZighYSl0aHJvdyBFcnJvcigiWW91VHViZSBwbGF5ZXIgZWxlbWVudCBJRCByZXF1aXJlZC4iKTt0aGlzLmlkPWphKHRoaXMpO2I9T2JqZWN0LmFzc2lnbih7dGl0bGU6InZpZGVvIHBsYXllciIsdmlkZW9JZDoiIix3aWR0aDo2NDAsaGVpZ2h0OjM2MH0sYnx8e30pO3ZhciBjPWRvY3VtZW50O2lmKGE9dHlwZW9mIGE9PT0ic3RyaW5nIj9jLmdldEVsZW1lbnRCeUlkKGEpOmEpe2M9YS50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaWZyYW1lIjtiLmhvc3R8fChiLmhvc3Q9Yz9OYShhLnNyYyk6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIik7dGhpcy5vcHRpb25zPWJ8fHt9OwpiPVt0aGlzLm9wdGlvbnMsd2luZG93LllUQ29uZmlnfHx7fV07Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspYltkXS5ob3N0JiYoYltkXS5ob3N0PWJbZF0uaG9zdC50b1N0cmluZygpLnJlcGxhY2UoImh0dHA6Ly8iLCJodHRwczovLyIpKTtpZighYyl7Yj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtjPWEuYXR0cmlidXRlcztkPTA7Zm9yKHZhciBoPWMubGVuZ3RoO2Q8aDtkKyspe3ZhciBrPWNbZF0udmFsdWU7ayE9bnVsbCYmayE9PSIiJiZrIT09Im51bGwiJiZiLnNldEF0dHJpYnV0ZShjW2RdLm5hbWUsayl9Yi5zZXRBdHRyaWJ1dGUoImZyYW1lQm9yZGVyIiwiMCIpO2Iuc2V0QXR0cmlidXRlKCJhbGxvd2Z1bGxzY3JlZW4iLCIiKTtiLnNldEF0dHJpYnV0ZSgiYWxsb3ciLCJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlOyB3ZWItc2hhcmUiKTtiLnNldEF0dHJpYnV0ZSgicmVmZXJyZXJQb2xpY3kiLAoic3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpbiIpO2Iuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIllvdVR1YmUgIitZKHRoaXMsInRpdGxlIikpOyhjPVkodGhpcywid2lkdGgiKSkmJmIuc2V0QXR0cmlidXRlKCJ3aWR0aCIsYy50b1N0cmluZygpKTsoYz1ZKHRoaXMsImhlaWdodCIpKSYmYi5zZXRBdHRyaWJ1dGUoImhlaWdodCIsYy50b1N0cmluZygpKTt0aGlzLmo9YTsoYz1hLnBhcmVudE5vZGUpJiZjLnJlcGxhY2VDaGlsZChiLGEpO2E9V2EodGhpcyxiKTtjPSIiK1kodGhpcywiaG9zdCIpK1hhKHRoaXMpKyI/IjtkPVtdO2Zvcih2YXIgZiBpbiBhKU9hKGYsYVtmXSxkKTtmPWMrZC5qb2luKCImIik7aWYoVmEueXRfZW1iZWRzRW5hYmxlSWZyYW1lU3JjV2l0aEludGVudCl7dmFyIGU9ZT09PXZvaWQgMD9HYTplO2E6aWYoZT1lPT09dm9pZCAwP0dhOmUsZiBpbnN0YW5jZW9mIEspZT1mO2Vsc2V7Zm9yKGE9MDthPGUubGVuZ3RoOysrYSlpZihjPWVbYV0sYyBpbnN0YW5jZW9mCkwmJmMuUChmKSl7ZT1uZXcgSyhmKTticmVhayBhfWU9dm9pZCAwfWU9ZXx8RmE7Yi5yZW1vdmVBdHRyaWJ1dGUoInNyY2RvYyIpO2Y9ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24iLnNwbGl0KCIgIik7Yi5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCIiKTtmb3IoYT0wO2E8Zi5sZW5ndGg7YSsrKWIuc2FuZGJveC5zdXBwb3J0cyYmIWIuc2FuZGJveC5zdXBwb3J0cyhmW2FdKXx8Yi5zYW5kYm94LmFkZChmW2FdKTtpZihlIGluc3RhbmNlb2YgSylpZihlIGluc3RhbmNlb2YgSyllPWUuZztlbHNlIHRocm93IEVycm9yKCIiKTtlbHNlIGU9SGEudGVzdChlKT9lOnZvaWQgMDtlIT09dm9pZCAwJiYoYi5zcmM9ZSk7Yi5zYW5kYm94LmFkZCgiYWxsb3ctcHJlc2VudGF0aW9uIiwiYWxsb3ctdG9wLW5hdmlnYXRpb24iKX1lbHNlIGIuc3JjPQpmO2E9Yn10aGlzLmc9YTt0aGlzLmcuaWR8fCh0aGlzLmcuaWQ9IndpZGdldCIramEodGhpcy5nKSk7VFt0aGlzLmcuaWRdPXRoaXM7aWYod2luZG93LnBvc3RNZXNzYWdlKXt0aGlzLmk9bmV3IFM7WWEodGhpcyk7Yj1ZKHRoaXMsImV2ZW50cyIpO2Zvcih2YXIgZyBpbiBiKWIuaGFzT3duUHJvcGVydHkoZykmJnRoaXMuYWRkRXZlbnRMaXN0ZW5lcihnLGJbZ10pO2Zvcih2YXIgbCBpbiBWKVYuaGFzT3duUHJvcGVydHkobCkmJlphKHRoaXMsbCl9fX0Kbj1YLnByb3RvdHlwZTtuLnNldFNpemU9ZnVuY3Rpb24oYSxiKXt0aGlzLmcud2lkdGg9YS50b1N0cmluZygpO3RoaXMuZy5oZWlnaHQ9Yi50b1N0cmluZygpO3JldHVybiB0aGlzfTsKbi5nZXRJZnJhbWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTsKbi5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yjt0eXBlb2YgYj09PSJzdHJpbmciJiYoYz1mdW5jdGlvbigpe3dpbmRvd1tiXS5hcHBseSh3aW5kb3csYXJndW1lbnRzKX0pOwppZighYylyZXR1cm4gdGhpczt0aGlzLmkuc3Vic2NyaWJlKGEsYyk7JGEodGhpcyxhKTtyZXR1cm4gdGhpc307CmZ1bmN0aW9uIFphKGEsYil7Yj1iLnNwbGl0KCIuIik7aWYoYi5sZW5ndGg9PT0yKXt2YXIgYz1iWzFdOyJwbGF5ZXIiPT09YlswXSYmJGEoYSxjKX19Cm4uZGVzdHJveT1mdW5jdGlvbigpe3RoaXMuZyYmdGhpcy5nLmlkJiYoVFt0aGlzLmcuaWRdPW51bGwpO3ZhciBhPXRoaXMuaTthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKTtpZih0aGlzLmope2E9dGhpcy5qO3ZhciBiPXRoaXMuZyxjPWIucGFyZW50Tm9kZTtjJiZjLnJlcGxhY2VDaGlsZChhLGIpfWVsc2UoYT10aGlzLmcpJiZhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTtaJiYoWlt0aGlzLmlkXT1udWxsKTt0aGlzLm9wdGlvbnM9bnVsbDt0aGlzLmcmJnRoaXMudiYmdGhpcy5nLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLHRoaXMudik7dGhpcy5qPXRoaXMuZz1udWxsfTsKZnVuY3Rpb24gYWIoYSxiLGMpe2M9Y3x8W107Yz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjKTtiPXtldmVudDoiY29tbWFuZCIsZnVuYzpiLGFyZ3M6Y307YS5vP2Euc2VuZE1lc3NhZ2UoYik6YS5sLnB1c2goYil9Cm4uUj1mdW5jdGlvbigpe2JiKHRoaXMpfHxjbGVhckludGVydmFsKHRoaXMuaCl9OwpmdW5jdGlvbiBiYihhKXtpZighYS5nfHwhYS5nLmNvbnRlbnRXaW5kb3cpcmV0dXJuITE7YS5zZW5kTWVzc2FnZSh7ZXZlbnQ6Imxpc3RlbmluZyJ9KTtyZXR1cm4hMH0KZnVuY3Rpb24gWWEoYSl7Y2IoYSxhLmlkLFN0cmluZyhZKGEsImhvc3QiKSkpO3ZhciBiPU51bWJlcihWYS55dF9lbWJlZHNXaWRnZXRQb2xsSW50ZXJ2YWxNcyl8fDI1MDthLmg9c2V0SW50ZXJ2YWwoYS5BLGIpO2EuZyYmKGEudj1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoYS5oKTthLmg9c2V0SW50ZXJ2YWwoYS5BLGIpfSxhLmcuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYS52KSl9CmZ1bmN0aW9uIGRiKGEpe3ZhciBiPWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7YT1NYXRoLm1heCgwLE1hdGgubWluKGIuYm90dG9tLHdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCktTWF0aC5tYXgoYi50b3AsMCkpKk1hdGgubWF4KDAsTWF0aC5taW4oYi5yaWdodCx3aW5kb3cuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKS1NYXRoLm1heChiLmxlZnQsMCkpO2E9KGI9Yi5oZWlnaHQqYi53aWR0aCk/YS9iOjA7cmV0dXJuIGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4ifHxhPC41PzE6YTwuNzU/MjphPC44NT8zOmE8Ljk1PzQ6YTwxPzU6Nn0KZnVuY3Rpb24gJGEoYSxiKXthLkNbYl18fChhLkNbYl09ITAsYWIoYSwiYWRkRXZlbnRMaXN0ZW5lciIsW2JdKSl9Cm4uc2VuZE1lc3NhZ2U9ZnVuY3Rpb24oYSl7YS5pZD10aGlzLmlkO2EuY2hhbm5lbD0id2lkZ2V0IjthPUpTT04uc3RyaW5naWZ5KGEpO3ZhciBiPU5hKHRoaXMuZy5zcmN8fCIiKS5yZXBsYWNlKCJodHRwOiIsImh0dHBzOiIpO2lmKHRoaXMuZy5jb250ZW50V2luZG93KXRyeXt0aGlzLmcuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShhLGIpfWNhdGNoKGMpe2lmKGMubmFtZSYmYy5uYW1lPT09IlN5bnRheEVycm9yIiljLm1lc3NhZ2UmJmMubWVzc2FnZS5pbmRleE9mKCJ0YXJnZXQgb3JpZ2luICcnIik+MHx8Y29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oYyk7ZWxzZSB0aHJvdyBjO31lbHNlIGNvbnNvbGUmJmNvbnNvbGUud2FybiYmY29uc29sZS53YXJuKCJUaGUgWW91VHViZSBwbGF5ZXIgaXMgbm90IGF0dGFjaGVkIHRvIHRoZSBET00uIEFQSSBjYWxscyBzaG91bGQgYmUgbWFkZSBhZnRlciB0aGUgb25SZWFkeSBldmVudC4gU2VlIG1vcmU6IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3lvdXR1YmUvaWZyYW1lX2FwaV9yZWZlcmVuY2UjRXZlbnRzIil9OwpmdW5jdGlvbiBYYShhKXtpZigoYT1TdHJpbmcoWShhLCJ2aWRlb0lkIikpKSYmKGEubGVuZ3RoIT09MTF8fCFhLm1hdGNoKC9eW2EtekEtWjAtOVwtX10rJC8pKSl0aHJvdyBFcnJvcigiSW52YWxpZCB2aWRlbyBpZCIpO3JldHVybiIvZW1iZWQvIithfQpmdW5jdGlvbiBXYShhLGIpe3ZhciBjPVkoYSwicGxheWVyVmFycyIpO2M/Yz14YShjKTpjPXt9O3dpbmRvdyE9PXdpbmRvdy50b3AmJmRvY3VtZW50LnJlZmVycmVyJiYoYy53aWRnZXRfcmVmZXJyZXI9ZG9jdW1lbnQucmVmZXJyZXIuc3Vic3RyaW5nKDAsMjU2KSk7dmFyIGQ9WShhLCJlbWJlZENvbmZpZyIpO2lmKGQpe2lmKEIoZCkpdHJ5e2Q9SlNPTi5zdHJpbmdpZnkoZCl9Y2F0Y2goaCl7Y29uc29sZS5lcnJvcigiSW52YWxpZCBlbWJlZCBjb25maWcgSlNPTiIsaCl9Yy5lbWJlZF9jb25maWc9ZH1jLmVuYWJsZWpzYXBpPXdpbmRvdy5wb3N0TWVzc2FnZT8xOjA7d2luZG93LmxvY2F0aW9uLmhvc3QmJihjLm9yaWdpbj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrIi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCk7Yy53aWRnZXRpZD1hLmlkO3dpbmRvdy5sb2NhdGlvbi5ocmVmJiZFKFsiZGVidWdqcyIsImRlYnVnY3NzIl0sZnVuY3Rpb24oaCl7dmFyIGs9d2luZG93LmxvY2F0aW9uLmhyZWY7CnZhciBmPWsuc2VhcmNoKFBhKTtiOnt2YXIgZT0wO2Zvcih2YXIgZz1oLmxlbmd0aDsoZT1rLmluZGV4T2YoaCxlKSk+PTAmJmU8Zjspe3ZhciBsPWsuY2hhckNvZGVBdChlLTEpO2lmKGw9PTM4fHxsPT02MylpZihsPWsuY2hhckNvZGVBdChlK2cpLCFsfHxsPT02MXx8bD09Mzh8fGw9PTM1KWJyZWFrIGI7ZSs9ZysxfWU9LTF9aWYoZTwwKWs9bnVsbDtlbHNle2c9ay5pbmRleE9mKCImIixlKTtpZihnPDB8fGc+ZilnPWY7ZSs9aC5sZW5ndGgrMTtrPWRlY29kZVVSSUNvbXBvbmVudChrLnNsaWNlKGUsZyE9PS0xP2c6MCkucmVwbGFjZSgvXCsvZywiICIpKX1rIT09bnVsbCYmKGNbaF09ayl9KTsKd2luZG93LmxvY2F0aW9uLmhyZWYmJihjLmZvcmlnaW49d2luZG93LmxvY2F0aW9uLmhyZWYpO2E9d2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucztjLmFvcmlnaW5zdXA9YT09PXZvaWQgMD8wOjE7YSYmYS5sZW5ndGg+MCYmKGMuYW9yaWdpbnM9QXJyYXkuZnJvbShhKS5qb2luKCIsIikpO3dpbmRvdy5kb2N1bWVudC5yZWZlcnJlciYmKGMuZ3BvcmlnaW49d2luZG93LmRvY3VtZW50LnJlZmVycmVyKTtiJiYoYy52Zj1kYihiKSk7cmV0dXJuIGN9CmZ1bmN0aW9uIGViKGEsYil7aWYoQihiKSl7Zm9yKHZhciBjIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShjKSYmKGEucGxheWVySW5mb1tjXT1iW2NdKTthLnBsYXllckluZm8uaGFzT3duUHJvcGVydHkoInZpZGVvRGF0YSIpJiYoYj1hLnBsYXllckluZm8udmlkZW9EYXRhLGIuaGFzT3duUHJvcGVydHkoInRpdGxlIikmJmIudGl0bGU/KGI9Yi50aXRsZSxiIT09YS52aWRlb1RpdGxlJiYoYS52aWRlb1RpdGxlPWIsYS5nLnNldEF0dHJpYnV0ZSgidGl0bGUiLGIpKSk6KGEudmlkZW9UaXRsZT0iIixhLmcuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIllvdVR1YmUgIitZKGEsInRpdGxlIikpKSl9fQpmdW5jdGlvbiBmYihhLGIpe2I9eChiKTtmb3IodmFyIGM9Yi5uZXh0KCksZD17fTshYy5kb25lO2Q9e206dm9pZCAwfSxjPWIubmV4dCgpKWQubT1jLnZhbHVlLGFbZC5tXXx8KGQubT09PSJnZXRDdXJyZW50VGltZSI/YVtkLm1dPWZ1bmN0aW9uKCl7dmFyIGg9dGhpcy5wbGF5ZXJJbmZvLmN1cnJlbnRUaW1lO2lmKHRoaXMucGxheWVySW5mby5wbGF5ZXJTdGF0ZT09PTEpe3ZhciBrPShEYXRlLm5vdygpLzFFMy10aGlzLnBsYXllckluZm8uY3VycmVudFRpbWVMYXN0VXBkYXRlZF8pKnRoaXMucGxheWVySW5mby5wbGF5YmFja1JhdGU7az4wJiYoaCs9TWF0aC5taW4oaywxKSl9cmV0dXJuIGh9OlRhKGQubSk/YVtkLm1dPWZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucGxheWVySW5mbz17fTsKdGhpcy51PXt9O2FiKHRoaXMsaC5tLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXN9fShkKTpVYShkLm0pP2FbZC5tXT1mdW5jdGlvbihoKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgaz1oLm0sZj0wOwprLnNlYXJjaCgiZ2V0Iik9PT0wP2Y9MzprLnNlYXJjaCgiaXMiKT09PTAmJihmPTIpO3JldHVybiB0aGlzLnBsYXllckluZm9bay5jaGFyQXQoZikudG9Mb3dlckNhc2UoKStrLnN1YnN0cmluZyhmKzEpXX19KGQpOmFbZC5tXT1mdW5jdGlvbihoKXtyZXR1cm4gZnVuY3Rpb24oKXthYih0aGlzLGgubSxhcmd1bWVudHMpOwpyZXR1cm4gdGhpc319KGQpKX0Kbi5nZXRWaWRlb0VtYmVkQ29kZT1mdW5jdGlvbigpe3ZhciBhPSIiK1kodGhpcywiaG9zdCIpK1hhKHRoaXMpLGI9TnVtYmVyKFkodGhpcywid2lkdGgiKSksYz1OdW1iZXIoWSh0aGlzLCJoZWlnaHQiKSk7aWYoaXNOYU4oYil8fGlzTmFOKGMpKXRocm93IEVycm9yKCJJbnZhbGlkIHdpZHRoIG9yIGhlaWdodCBwcm9wZXJ0eSIpO2I9TWF0aC5mbG9vcihiKTtjPU1hdGguZmxvb3IoYyk7dmFyIGQ9dGhpcy52aWRlb1RpdGxlO2E9S2EoYSk7ZD1LYShkIT1udWxsP2Q6IllvdVR1YmUgdmlkZW8gcGxheWVyIik7cmV0dXJuJzxpZnJhbWUgd2lkdGg9IicrYisnIiBoZWlnaHQ9IicrYysnIiBzcmM9IicrYSsnIiB0aXRsZT0iJysoZCsnIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmU7IHdlYi1zaGFyZSIgcmVmZXJyZXJwb2xpY3k9InN0cmljdC1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4iIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4nKX07Cm4uZ2V0T3B0aW9ucz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51Lm5hbWVzcGFjZXM/YT90aGlzLnVbYV0/dGhpcy51W2FdLm9wdGlvbnN8fFtdOltdOnRoaXMudS5uYW1lc3BhY2VzfHxbXTpbXX07Cm4uZ2V0T3B0aW9uPWZ1bmN0aW9uKGEsYil7aWYodGhpcy51Lm5hbWVzcGFjZXMmJmEmJmImJnRoaXMudVthXSlyZXR1cm4gdGhpcy51W2FdW2JdfTsKZnVuY3Rpb24gWShhLGIpe2E9W2Eub3B0aW9ucyx3aW5kb3cuWVRDb25maWd8fHt9XTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXVtiXTtpZihkIT09dm9pZCAwKXJldHVybiBkfXJldHVybiBudWxsfQp2YXIgWj1udWxsLGdiPW51bGw7ZnVuY3Rpb24gaGIoYSl7aWYoYS50YWdOYW1lLnRvTG93ZXJDYXNlKCkhPT0iaWZyYW1lIil7dmFyIGI9VyhhLCJ2aWRlb2lkIik7YiYmKGI9e3ZpZGVvSWQ6Yix3aWR0aDpXKGEsIndpZHRoIiksaGVpZ2h0OlcoYSwiaGVpZ2h0Iil9LG5ldyBYKGEsYikpfX0KZnVuY3Rpb24gY2IoYSxiLGMpe1p8fChaPXt9LGdiPW5ldyBTZXQsaWIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsZnVuY3Rpb24oZCl7YTppZihnYi5oYXMoZC5vcmlnaW4pKXt0cnl7dmFyIGg9SlNPTi5wYXJzZShkLmRhdGEpfWNhdGNoKGUpe2JyZWFrIGF9dmFyIGs9WltoLmlkXTtpZihrJiZkLm9yaWdpbj09PWsuTylzd2l0Y2goZD1rLlMsZC5vPSEwLGQubyYmKEUoZC5sLGQuc2VuZE1lc3NhZ2UsZCksZC5sLmxlbmd0aD0wKSxrPWguZXZlbnQsaD1oLmluZm8sayl7Y2FzZSAiYXBpSW5mb0RlbGl2ZXJ5IjppZihCKGgpKWZvcih2YXIgZiBpbiBoKWguaGFzT3duUHJvcGVydHkoZikmJihkLnVbZl09aFtmXSk7YnJlYWs7Y2FzZSAiaW5mb0RlbGl2ZXJ5IjplYihkLGgpO2JyZWFrO2Nhc2UgImluaXRpYWxEZWxpdmVyeSI6QihoKSYmKGNsZWFySW50ZXJ2YWwoZC5oKSxkLnBsYXllckluZm89e30sZC51PXt9LGZiKGQsaC5hcGlJbnRlcmZhY2UpLGViKGQsaCkpO2JyZWFrO2Nhc2UgImFscmVhZHlJbml0aWFsaXplZCI6Y2xlYXJJbnRlcnZhbChkLmgpOwpicmVhaztjYXNlICJyZWFkeVRvTGlzdGVuIjpiYihkKTticmVhaztkZWZhdWx0OmQuaS5pfHwoZj17dGFyZ2V0OmQsZGF0YTpofSxkLmkuRyhrLGYpLFNhKCJwbGF5ZXIuIitrLGYpKX19fSkpOwpaW2JdPXtTOmEsTzpjfTtnYi5hZGQoYyl9CnZhciBpYj13aW5kb3c7RCgiWVQuUGxheWVyU3RhdGUuVU5TVEFSVEVEIiwtMSk7RCgiWVQuUGxheWVyU3RhdGUuRU5ERUQiLDApO0QoIllULlBsYXllclN0YXRlLlBMQVlJTkciLDEpO0QoIllULlBsYXllclN0YXRlLlBBVVNFRCIsMik7RCgiWVQuUGxheWVyU3RhdGUuQlVGRkVSSU5HIiwzKTtEKCJZVC5QbGF5ZXJTdGF0ZS5DVUVEIiw1KTtEKCJZVC5nZXQiLGZ1bmN0aW9uKGEpe3JldHVybiBUW2FdfSk7CkQoIllULnNjYW4iLFJhKTtEKCJZVC5zdWJzY3JpYmUiLGZ1bmN0aW9uKGEsYixjKXtVLnN1YnNjcmliZShhLGIsYyk7VlthXT0hMDtmb3IodmFyIGQgaW4gVClULmhhc093blByb3BlcnR5KGQpJiZaYShUW2RdLGEpfSk7CkQoIllULnVuc3Vic2NyaWJlIixmdW5jdGlvbihhLGIsYyl7VS51bnN1YnNjcmliZShhLGIsYyl9KTsKRCgiWVQuUGxheWVyIixYKTtYLnByb3RvdHlwZS5kZXN0cm95PVgucHJvdG90eXBlLmRlc3Ryb3k7WC5wcm90b3R5cGUuc2V0U2l6ZT1YLnByb3RvdHlwZS5zZXRTaXplO1gucHJvdG90eXBlLmdldElmcmFtZT1YLnByb3RvdHlwZS5nZXRJZnJhbWU7WC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1YLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyO1gucHJvdG90eXBlLmdldFZpZGVvRW1iZWRDb2RlPVgucHJvdG90eXBlLmdldFZpZGVvRW1iZWRDb2RlO1gucHJvdG90eXBlLmdldE9wdGlvbnM9WC5wcm90b3R5cGUuZ2V0T3B0aW9ucztYLnByb3RvdHlwZS5nZXRPcHRpb249WC5wcm90b3R5cGUuZ2V0T3B0aW9uO1FhLnB1c2goZnVuY3Rpb24oYSl7dmFyIGI9YTtifHwoYj1kb2N1bWVudCk7YT1wYShiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ5dDpwbGF5ZXIiKSk7Yj1wYSgoYnx8ZG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoIi55dC1wbGF5ZXIiKSk7RShvYShhLGIpLGhiKX0pOwp0eXBlb2YgWVRDb25maWchPT0idW5kZWZpbmVkIiYmWVRDb25maWcucGFyc2V0YWdzJiZZVENvbmZpZy5wYXJzZXRhZ3MhPT0ib25sb2FkInx8UmEoKTt2YXIgamI9QS5vbllUUmVhZHk7amImJmpiKCk7dmFyIGtiPUEub25Zb3VUdWJlSWZyYW1lQVBJUmVhZHk7a2ImJmtiKCk7dmFyIGxiPUEub25Zb3VUdWJlUGxheWVyQVBJUmVhZHk7bGImJmxiKCk7fSkuY2FsbCh0aGlzKTsK"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1331.54fd2a5952c88f3555c1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.905Z","timestamp":1785136901905,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/1331.54fd2a5952c88f3555c1.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 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-2d2b1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 831e1120102368ef5b5bf45b0878bb59\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":185009,"size_decoded":63168,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"0501ef2557ab73aa0e242f1410552693","sha1":"e569c953f6e6c95a9d3cbba1ae1b93120b4e136d","sha256":"c76b72cbdcf6fee1dc0fd1903df2e2e2c90f846b942f16951116443d4f041177","sha512":"27a42e4490c90aff8af7a9c0804160d4efd88924878164391ac4442baa4c5faebd5f55f7f730976feb526d62386ba9a31ac50a3b568cac3216b0f60ecfee827b","ssdeep":"3072:COeUpW3gc3TJqv4ub7HlfzVV3Mze+wyQlmcnbmfH48J24NnUxsLIymKS:COeUpB42HlfzwAyEPbUH48Y4uxsLIyw","tlshash":"52045a61b440b67e92f304db94be1489e73d2b49e4044474f26dcc9e2ae9c88f17af79","first_seen":"2026-07-24T15:28:44.734426Z","last_seen":"2026-07-28T04:48:50.45448Z","times_seen":56,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMzMxXSx7ODUzMzM2KGUsdCl7dmFyIG4scixvO3I9W3RdLG49ZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSl7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKHZhciB0PTAsbj1BcnJheShlLmxlbmd0aCk7dDxlLmxlbmd0aDt0Kyspblt0XT1lW3RdO3JldHVybiBufXJldHVybiBBcnJheS5mcm9tKGUpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj0hMTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyl7dmFyIHI9e2dldCBwYXNzaXZlKCl7bj0hMH19O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZSIsbnVsbCxyKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwscil9dmFyIG89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5uYXZpZ2F0b3ImJndpbmRvdy5uYXZpZ2F0b3IucGxhdGZvcm0mJi9pUChhZHxob25lfG9kKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtKSxsPVtdLGE9ITEscz0tMSxpPXZvaWQgMCxjPXZvaWQgMCx1PWZ1bmN0aW9uKGUpe3JldHVybiBsLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiEoIXQub3B0aW9ucy5hbGxvd1RvdWNoTW92ZXx8IXQub3B0aW9ucy5hbGxvd1RvdWNoTW92ZShlKSl9KSl9LGQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZXx8d2luZG93LmV2ZW50O3JldHVybiEhdSh0LnRhcmdldCl8fDE8dC50b3VjaGVzLmxlbmd0aHx8KHQucHJldmVudERlZmF1bHQmJnQucHJldmVudERlZmF1bHQoKSwhMSl9LG09ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3ZvaWQgMCE9PWMmJihkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1jLGM9dm9pZCAwKSx2b2lkIDAhPT1pJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz1pLGk9dm9pZCAwKX0pKX07ZS5kaXNhYmxlQm9keVNjcm9sbD1mdW5jdGlvbihlLHIpe2lmKG8pe2lmKCFlKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoImRpc2FibGVCb2R5U2Nyb2xsIHVuc3VjY2Vzc2Z1bCAtIHRhcmdldEVsZW1lbnQgbXVzdCBiZSBwcm92aWRlZCB3aGVuIGNhbGxpbmcgZGlzYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7aWYoZSYmIWwuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudD09PWV9KSkpe3ZhciBtPXt0YXJnZXRFbGVtZW50OmUsb3B0aW9uczpyfHx7fX07bD1bXS5jb25jYXQodChsKSxbbV0pLGUub250b3VjaHN0YXJ0PWZ1bmN0aW9uKGUpezE9PT1lLnRhcmdldFRvdWNoZXMubGVuZ3RoJiYocz1lLnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WSl9LGUub250b3VjaG1vdmU9ZnVuY3Rpb24odCl7dmFyIG4scixvLGw7MT09PXQudGFyZ2V0VG91Y2hlcy5sZW5ndGgmJihyPWUsbD0obj10KS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFktcywhdShuLnRhcmdldCkmJihyJiYwPT09ci5zY3JvbGxUb3AmJjA8bHx8KG89cikmJm8uc2Nyb2xsSGVpZ2h0LW8uc2Nyb2xsVG9wPD1vLmNsaWVudEhlaWdodCYmbDwwP2Qobik6bi5zdG9wUHJvcGFnYXRpb24oKSkpfSxhfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG4/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMCl9fWVsc2V7aD1yLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aWYodm9pZCAwPT09Yyl7dmFyIGU9ISFoJiYhMD09PWgucmVzZXJ2ZVNjcm9sbEJhckdhcCx0PXdpbmRvdy5pbm5lcldpZHRoLWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtlJiYwPHQmJihjPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0LGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0PXQrInB4Iil9dm9pZCAwPT09aSYmKGk9ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyxkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKX0pKTt2YXIgcD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6cnx8e319O2w9W10uY29uY2F0KHQobCksW3BdKX12YXIgaH0sZS5jbGVhckFsbEJvZHlTY3JvbGxMb2Nrcz1mdW5jdGlvbigpe28/KGwuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS50YXJnZXRFbGVtZW50Lm9udG91Y2hzdGFydD1udWxsLGUudGFyZ2V0RWxlbWVudC5vbnRvdWNobW92ZT1udWxsfSkpLGEmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGQsbj97cGFzc2l2ZTohMX06dm9pZCAwKSxhPSExKSxsPVtdLHM9LTEpOihtKCksbD1bXSl9LGUuZW5hYmxlQm9keVNjcm9sbD1mdW5jdGlvbihlKXtpZihvKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJlbmFibGVCb2R5U2Nyb2xsIHVuc3VjY2Vzc2Z1bCAtIHRhcmdldEVsZW1lbnQgbXVzdCBiZSBwcm92aWRlZCB3aGVuIGNhbGxpbmcgZW5hYmxlQm9keVNjcm9sbCBvbiBJT1MgZGV2aWNlcy4iKTtlLm9udG91Y2hzdGFydD1udWxsLGUub250b3VjaG1vdmU9bnVsbCxsPWwuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKSxhJiYwPT09bC5sZW5ndGgmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGQsbj97cGFzc2l2ZTohMX06dm9pZCAwKSxhPSExKX1lbHNlIDE9PT1sLmxlbmd0aCYmbFswXS50YXJnZXRFbGVtZW50PT09ZT8obSgpLGw9W10pOmw9bC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQhPT1lfSkpfX0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0LHIpOm4pfHwoZS5leHBvcnRzPW8pfSw2MzIyMjAoZSl7InVzZSBzdHJpY3QiO3ZhciB0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBlPT09dD8wIT09ZXx8MCE9PXR8fDEvZT09MS90OmUhPWUmJnQhPXR9ZS5leHBvcnRzPWZ1bmN0aW9uKGUscil7aWYobihlLHIpKXJldHVybiEwCjtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIHJ8fG51bGw9PT1yKXJldHVybiExO3ZhciBvPU9iamVjdC5rZXlzKGUpLGw9T2JqZWN0LmtleXMocik7aWYoby5sZW5ndGghPT1sLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIGE9MDthPG8ubGVuZ3RoO2ErKylpZighdC5jYWxsKHIsb1thXSl8fCFuKGVbb1thXV0scltvW2FdXSkpcmV0dXJuITE7cmV0dXJuITB9fSwzNTM3NDcoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1ENl9uaE9NRiIsdGl0bGU6InRpdGxlLUQ2X25oT01GIix0aXRsZV9sYXJnZToidGl0bGVfbGFyZ2UtRDZfbmhPTUYiLGljb246Imljb24tRDZfbmhPTUYiLHRleHQ6InRleHQtRDZfbmhPTUYiLHRleHRfbm9ybWFsOiJ0ZXh0X25vcm1hbC1ENl9uaE9NRiIsYWN0aW9uOiJhY3Rpb24tRDZfbmhPTUYifX0sNTM2MjE5KGUpe2UuZXhwb3J0cz17aGlnaGxpZ2h0ZWQ6ImhpZ2hsaWdodGVkLVVzVHFua0wwIn19LDk5Mzk5NShlKXtlLmV4cG9ydHM9e2ljb25CdXR0b246Imljb25CdXR0b24tSEREVVlPQkkiLHNxdWFyZToic3F1YXJlLUhERFVZT0JJIixyb3VuZDoicm91bmQtSEREVVlPQkkiLHByaW1hcnk6InByaW1hcnktSEREVVlPQkkiLGljb246Imljb24tSEREVVlPQkkiLHNlY29uZGFyeToic2Vjb25kYXJ5LUhERFVZT0JJIix0ZXJ0aWFyeToidGVydGlhcnktSEREVVlPQkkiLCJwcmltYXJ5LXNwZWNpYWwiOiJwcmltYXJ5LXNwZWNpYWwtSEREVVlPQkkifX0sNDAyMjUzKGUpe2UuZXhwb3J0cz17bmF2QnV0dG9uOiJuYXZCdXR0b24taGJTSlZ4a1EiLGxpbms6ImxpbmstaGJTSlZ4a1EiLGJhY2tncm91bmQ6ImJhY2tncm91bmQtaGJTSlZ4a1EiLGljb246Imljb24taGJTSlZ4a1EiLGZsaXBJY29uOiJmbGlwSWNvbi1oYlNKVnhrUSIsbGFyZ2U6ImxhcmdlLWhiU0pWeGtRIixwcmVzZXJ2ZVBhZGRpbmdzOiJwcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRIixtZWRpdW06Im1lZGl1bS1oYlNKVnhrUSIsc21hbGw6InNtYWxsLWhiU0pWeGtRIix4c21hbGw6InhzbWFsbC1oYlNKVnhrUSIseHhzbWFsbDoieHhzbWFsbC1oYlNKVnhrUSIsYmxlbmRNb2RlOiJibGVuZE1vZGUtaGJTSlZ4a1EiLHZpc3VhbGx5SGlkZGVuOiJ2aXN1YWxseUhpZGRlbi1oYlNKVnhrUSJ9fSwyMDMyNzMoZSl7ZS5leHBvcnRzPXtzY2FsYWJsZUljb246InNjYWxhYmxlSWNvbi1jajFiQVNmNyJ9fSw0MTM2OTEoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLUVpU0lCdjRkIn19LDc1MjI5NShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItYm9IeW5lMTMifX0sNDYxNTE1KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1hRGNTNGxlRyJ9fSwzMzA2NzEoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLWhUemZhdDk1In19LDY5Mjk1NihlKXtlLmV4cG9ydHM9e2NvbnRhaW5lcjoiY29udGFpbmVyLVRhRl9hWUVGIixmbGFnOiJmbGFnLVRhRl9hWUVGIixjb250ZW50OiJjb250ZW50LVRhRl9hWUVGIn19LDU0MDMwKGUpe2UuZXhwb3J0cz17cm9vdDoicm9vdC1Od0ZVWmNuUiIsY2hhaW46ImNoYWluLU53RlVaY25SIixzZWxlY3Rvcjoic2VsZWN0b3ItTndGVVpjblIiLGVtcHR5U3RhdGVJY29uOiJlbXB0eVN0YXRlSWNvbi1Od0ZVWmNuUiIsZW1wdHk6ImVtcHR5LU53RlVaY25SIn19LDg0Njc3OShlKXtlLmV4cG9ydHM9e3VuZGVybHlpbmdDZWxsOiJ1bmRlcmx5aW5nQ2VsbC1VY2NkSGxoZyIsdW5kZXJseWluZ0JhZGdlOiJ1bmRlcmx5aW5nQmFkZ2UtVWNjZEhsaGcifX0sMjA5NjAoZSl7ZS5leHBvcnRzPXtyb290OiJyb290LVh3Sm9faVA2IixzZWxlY3Rvcjoic2VsZWN0b3ItWHdKb19pUDYiLGNoYWluOiJjaGFpbi1Yd0pvX2lQNiIsZW1wdHk6ImVtcHR5LVh3Sm9faVA2In19LDUzNzczMChlKXtlLmV4cG9ydHM9e2J1dHRvbkNvbG9yczoiYnV0dG9uQ29sb3JzLXBlTWpRYnV6In19LDM4NDQ1OChlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSIsaXRlbVJvdzoiaXRlbVJvdy1yX2Y1UWFuVyIsbXVsdGlMaW5lOiJtdWx0aUxpbmUtcl9mNVFhblciLGNvbXBvc2l0ZURlc2NyaXB0aW9uOiJjb21wb3NpdGVEZXNjcmlwdGlvbi1yX2Y1UWFuVyIsY2VsbDoiY2VsbC1yX2Y1UWFuVyIsaXRlbUluZm9DZWxsOiJpdGVtSW5mb0NlbGwtcl9mNVFhblciLGRlc2NyaXB0aW9uOiJkZXNjcmlwdGlvbi1yX2Y1UWFuVyIsc3ltYm9sRGVzY3JpcHRpb246InN5bWJvbERlc2NyaXB0aW9uLXJfZjVRYW5XIixmbGFnOiJmbGFnLXJfZjVRYW5XIixleGNoYW5nZURlc2NyaXB0aW9uOiJleGNoYW5nZURlc2NyaXB0aW9uLXJfZjVRYW5XIixtYXJrZXRUeXBlOiJtYXJrZXRUeXBlLXJfZjVRYW5XIixleGNoYW5nZU5hbWU6ImV4Y2hhbmdlTmFtZS1yX2Y1UWFuVyIsYWN0aW9uSGFuZGxlV3JhcDoiYWN0aW9uSGFuZGxlV3JhcC1yX2Y1UWFuVyIsc291cmNlOiJzb3VyY2Utcl9mNVFhblciLGFjdGl2ZToiYWN0aXZlLXJfZjVRYW5XIixzZWxlY3RlZDoic2VsZWN0ZWQtcl9mNVFhblciLG5lc3RlZEJvcmRlck92ZXJsYXA6Im5lc3RlZEJvcmRlck92ZXJsYXAtcl9mNVFhblciLGV4cGFuZGVkOiJleHBhbmRlZC1yX2Y1UWFuVyIsbmVzdGVkOiJuZXN0ZWQtcl9mNVFhblciLGhvdmVyOiJob3Zlci1yX2Y1UWFuVyIsaGlnaGxpZ2h0ZWQ6ImhpZ2hsaWdodGVkLXJfZjVRYW5XIixsaWdodDoibGlnaHQtcl9mNVFhblciLCJoaWdobGlnaHQtYW5pbWF0aW9uLXRoZW1lLWxpZ2h0IjoiaGlnaGxpZ2h0LWFuaW1hdGlvbi10aGVtZS1saWdodC1yX2Y1UWFuVyIsZGFyazoiZGFyay1yX2Y1UWFuVyIsImhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtZGFyayI6ImhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtZGFyay1yX2Y1UWFuVyIsbWFya2VkRmxhZzoibWFya2VkRmxhZy1yX2Y1UWFuVyIsb2Zmc2V0OiJvZmZzZXQtcl9mNVFhblciLGRlc2NyaXB0aW9uQ2VsbDoiZGVzY3JpcHRpb25DZWxsLXJfZjVRYW5XIixhZGRpdGlvbjoiYWRkaXRpb24tcl9mNVFhblciLApleGNoYW5nZUNlbGw6ImV4Y2hhbmdlQ2VsbC1yX2Y1UWFuVyIsbXVsdGlwbGVGbGFnczoibXVsdGlwbGVGbGFncy1yX2Y1UWFuVyIsaGlkZGVuOiJoaWRkZW4tcl9mNVFhblciLGhvdmVyQ2VsbDoiaG92ZXJDZWxsLXJfZjVRYW5XIixmaXhlZFdpZHRoOiJmaXhlZFdpZHRoLXJfZjVRYW5XIixleHBhbmRUb2dnbGU6ImV4cGFuZFRvZ2dsZS1yX2Y1UWFuVyIsc3ltYm9sVGl0bGU6InN5bWJvbFRpdGxlLXJfZjVRYW5XIixpbnZhbGlkOiJpbnZhbGlkLXJfZjVRYW5XIixub0Rlc2NyaXB0aW9uOiJub0Rlc2NyaXB0aW9uLXJfZjVRYW5XIixoaWdobGlnaHRlZFRleHQ6ImhpZ2hsaWdodGVkVGV4dC1yX2Y1UWFuVyIsc3ltYm9sRGVzY3JpcHRpb25NYWluOiJzeW1ib2xEZXNjcmlwdGlvbk1haW4tcl9mNVFhblciLHN5bWJvbERlc2NyaXB0aW9uRGV0YWlsczoic3ltYm9sRGVzY3JpcHRpb25EZXRhaWxzLXJfZjVRYW5XIixuYXJyb3c6Im5hcnJvdy1yX2Y1UWFuVyIsd2lkZToid2lkZS1yX2Y1UWFuVyIsZGF0YU1vZGU6ImRhdGFNb2RlLXJfZjVRYW5XIixhY3Rpb25zQ2VsbDoiYWN0aW9uc0NlbGwtcl9mNVFhblciLGFjdGlvbjoiYWN0aW9uLXJfZjVRYW5XIix0YXJnZXRBY3Rpb246InRhcmdldEFjdGlvbi1yX2Y1UWFuVyIscmVtb3ZlQWN0aW9uOiJyZW1vdmVBY3Rpb24tcl9mNVFhblciLGFkZEFjdGlvbjoiYWRkQWN0aW9uLXJfZjVRYW5XIixlbXB0eUFjdGlvbnM6ImVtcHR5QWN0aW9ucy1yX2Y1UWFuVyIsbWFya2VkRmxhZ1dyYXA6Im1hcmtlZEZsYWdXcmFwLXJfZjVRYW5XIixtYXJrZWRGbGFnTW9iaWxlOiJtYXJrZWRGbGFnTW9iaWxlLXJfZjVRYW5XIixsb2dvOiJsb2dvLXJfZjVRYW5XIixwcmltYXJ5SWNvbjoicHJpbWFyeUljb24tcl9mNVFhblciLHByb21vQmFkZ2U6InByb21vQmFkZ2Utcl9mNVFhblciLHByb21vSWNvbjoicHJvbW9JY29uLXJfZjVRYW5XIn19LDUyMzI4NihlKXtlLmV4cG9ydHM9e2ZsYWc6ImZsYWctTm0xNzR6cVMiLGZsYWdzOiJmbGFncy1ObTE3NHpxUyIsZmxhZ0NvbnRhaW5lcjoiZmxhZ0NvbnRhaW5lci1ObTE3NHpxUyIsY291bnRlcjoiY291bnRlci1ObTE3NHpxUyIsY29udGFpbmVyOiJjb250YWluZXItTm0xNzR6cVMifX0sNDA5NjQwKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLWMxMmxhNWlNIixpY29uOiJpY29uLWMxMmxhNWlNIn19LDk4NzUyKGUpe2UuZXhwb3J0cz17b3RoZXJTeW1ib2xzOiJvdGhlclN5bWJvbHMtUjFvV21vcE0iLG5ld1N0eWxlczoibmV3U3R5bGVzLVIxb1dtb3BNIixzbWFsbEZvbnQ6InNtYWxsRm9udC1SMW9XbW9wTSIscmVzZXRGaWx0ZXJzOiJyZXNldEZpbHRlcnMtUjFvV21vcE0iLGJvbGQ6ImJvbGQtUjFvV21vcE0iLGV4Y2hhbmdlV3JhcDoiZXhjaGFuZ2VXcmFwLVIxb1dtb3BNIixpY29uOiJpY29uLVIxb1dtb3BNIixub1Jlc3VsdHNEZXNrdG9wOiJub1Jlc3VsdHNEZXNrdG9wLVIxb1dtb3BNIix0b2tlbjoidG9rZW4tUjFvV21vcE0iLHNob3dNZToic2hvd01lLVIxb1dtb3BNIn19LDQwNzk0NyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtSEVpSVFlYkIiLGxpYkFsbFNlbGVjdGVkOiJsaWJBbGxTZWxlY3RlZC1IRWlJUWViQiIsY29udGFpbmVyOiJjb250YWluZXItSEVpSVFlYkIiLGljb25XcmFwOiJpY29uV3JhcC1IRWlJUWViQiIsaWNvbjoiaWNvbi1IRWlJUWViQiIsdGl0bGU6InRpdGxlLUhFaUlRZWJCIixoaWdobGlnaHRlZDoiaGlnaGxpZ2h0ZWQtSEVpSVFlYkIiLGRlc2NyaXB0aW9uOiJkZXNjcmlwdGlvbi1IRWlJUWViQiIsbW9iaWxlOiJtb2JpbGUtSEVpSVFlYkIiLGFsbFNlbGVjdGVkOiJhbGxTZWxlY3RlZC1IRWlJUWViQiIsZGVza3RvcDoiZGVza3RvcC1IRWlJUWViQiIsYWxsU2VsZWN0ZWRJY29uOiJhbGxTZWxlY3RlZEljb24tSEVpSVFlYkIiLHNlbGVjdGVkOiJzZWxlY3RlZC1IRWlJUWViQiIsZm9jdXNlZDoiZm9jdXNlZC1IRWlJUWViQiIsdGl0bGVXaXRob3V0RGVzYzoidGl0bGVXaXRob3V0RGVzYy1IRWlJUWViQiIsdGV4dEJsb2NrOiJ0ZXh0QmxvY2stSEVpSVFlYkIiLGJvcmRlcmVkOiJib3JkZXJlZC1IRWlJUWViQiJ9fSw2NTk4ODQoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci10c2ptUXRYUSIsY29udGVudExpc3Q6ImNvbnRlbnRMaXN0LXRzam1RdFhRIixjb250ZW50TGlzdERlc2t0b3A6ImNvbnRlbnRMaXN0RGVza3RvcC10c2ptUXRYUSIsc2VhcmNoU291cmNlSXRlbXNDb250YWluZXI6InNlYXJjaFNvdXJjZUl0ZW1zQ29udGFpbmVyLXRzam1RdFhRIixvbmVDb2x1bW46Im9uZUNvbHVtbi10c2ptUXRYUSIsc2VhcmNoU291cmNlSXRlbXNDb250YWluZXJEZXNrdG9wOiJzZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lckRlc2t0b3AtdHNqbVF0WFEiLGdyb3VwVGl0bGVEZXNrdG9wOiJncm91cFRpdGxlRGVza3RvcC10c2ptUXRYUSIsY29sdW1uOiJjb2x1bW4tdHNqbVF0WFEiLGVtcHR5VGV4dDoiZW1wdHlUZXh0LXRzam1RdFhRIixlbXB0eUljb246ImVtcHR5SWNvbi10c2ptUXRYUSIsbm9SZXN1bHRzRGVza3RvcDoibm9SZXN1bHRzRGVza3RvcC10c2ptUXRYUSJ9fSw5Nzc2OTkoZSl7ZS5leHBvcnRzPXt0aXRsZToidGl0bGUtTmQzd3NrbEsifX0sNDA4NjIwKGUpe2UuZXhwb3J0cz17YWN0aW9uczoiYWN0aW9ucy1vQXRvWGxSNCIsYWN0aW9uOiJhY3Rpb24tb0F0b1hsUjQiLGRpc2FibGVkOiJkaXNhYmxlZC1vQXRvWGxSNCJ9fSw1OTQ3ODAoZSl7ZS5leHBvcnRzPXt3cmFwOiJ3cmFwLUJkMDVCalVhIixpdGVtOiJpdGVtLUJkMDVCalVhIixzbWFsbDoic21hbGwtQmQwNUJqVWEiLG5ld1N0eWxlczoibmV3U3R5bGVzLUJkMDVCalVhIixtb2JpbGU6Im1vYmlsZS1CZDA1QmpVYSIsdGV4dDoidGV4dC1CZDA1QmpVYSIsZXhjaGFuZ2U6ImV4Y2hhbmdlLUJkMDVCalVhIixmaWx0ZXJJdGVtOiJmaWx0ZXJJdGVtLUJkMDVCalVhIix0cmFkaW5nRmlsdGVyQnV0dG9uV3JhcDoidHJhZGluZ0ZpbHRlckJ1dHRvbldyYXAtQmQwNUJqVWEiLGVtcHR5U3BhY2U6ImVtcHR5U3BhY2UtQmQwNUJqVWEifX0sNTk2ODk4KGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1GU1g2QWF0WCIsCndhdGNobGlzdDoid2F0Y2hsaXN0LUZTWDZBYXRYIixub0ZlZWQ6Im5vRmVlZC1GU1g2QWF0WCIsbmV3U3R5bGVzOiJuZXdTdHlsZXMtRlNYNkFhdFgiLHNjcm9sbENvbnRhaW5lcjoic2Nyb2xsQ29udGFpbmVyLUZTWDZBYXRYIix3YXRjaGxpc3RDb250YWluZXI6IndhdGNobGlzdENvbnRhaW5lci1GU1g2QWF0WCIsbGlzdENvbnRhaW5lcjoibGlzdENvbnRhaW5lci1GU1g2QWF0WCIsbXVsdGlMaW5lSXRlbXNDb250YWluZXI6Im11bHRpTGluZUl0ZW1zQ29udGFpbmVyLUZTWDZBYXRYIix3aXRoU3Bpbm5lcjoid2l0aFNwaW5uZXItRlNYNkFhdFgiLHNwaW5uZXJDb250YWluZXI6InNwaW5uZXJDb250YWluZXItRlNYNkFhdFgiLGxhcmdlU3Bpbm5lcjoibGFyZ2VTcGlubmVyLUZTWDZBYXRYIn19LDIzODkwNChlKXtlLmV4cG9ydHM9e3NlYXJjaDoic2VhcmNoLWsyUkJ2TFZNIix1cHBlckNhc2U6InVwcGVyQ2FzZS1rMlJCdkxWTSIsaW5wdXRDb250YWluZXI6ImlucHV0Q29udGFpbmVyLWsyUkJ2TFZNIixzcHJlYWRzOiJzcHJlYWRzLWsyUkJ2TFZNIixidWJibGVzQ29udGFpbmVyOiJidWJibGVzQ29udGFpbmVyLWsyUkJ2TFZNIixidWJibGVzOiJidWJibGVzLWsyUkJ2TFZNIixzcGlubmVyV3JhcDoic3Bpbm5lcldyYXAtazJSQnZMVk0iLGVtcHR5VGV4dDoiZW1wdHlUZXh0LWsyUkJ2TFZNIixlbXB0eUljb246ImVtcHR5SWNvbi1rMlJCdkxWTSIsbm9SZXN1bHRzRGVza3RvcDoibm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTSIsdHJhZGluZ0ZpbHRlckJ1dHRvbldyYXA6InRyYWRpbmdGaWx0ZXJCdXR0b25XcmFwLWsyUkJ2TFZNIn19LDMwMTcwOChlKXtlLmV4cG9ydHM9e2ZsYWdXcmFwOiJmbGFnV3JhcC1FQk5aZENIMSIsaWNvbjoiaWNvbi1FQk5aZENIMSIsY2FyZXQ6ImNhcmV0LUVCTlpkQ0gxIix0aXRsZToidGl0bGUtRUJOWmRDSDEifX0sMzE4MjU0KGUpe2UuZXhwb3J0cz17ZGlhbG9nOiJkaWFsb2ctc2FiaDFmaDQiLHRhYmxldERpYWxvZzoidGFibGV0RGlhbG9nLXNhYmgxZmg0IixkZXNrdG9wRGlhbG9nOiJkZXNrdG9wRGlhbG9nLXNhYmgxZmg0IixiYWNrQnV0dG9uOiJiYWNrQnV0dG9uLXNhYmgxZmg0In19LDkwNzY4OChlKXtlLmV4cG9ydHM9e2NoaWxkcmVuV3JhcHBlcjoiY2hpbGRyZW5XcmFwcGVyLU1ncEQ5dVRPIixjb250YWluZXI6ImNvbnRhaW5lci1NZ3BEOXVUTyJ9fSwxMjk2ODAoZSl7ZS5leHBvcnRzPXtkaWFsb2c6ImRpYWxvZy1iOFN4TW56WCIsd3JhcHBlcjoid3JhcHBlci1iOFN4TW56WCIsc2VwYXJhdG9yOiJzZXBhcmF0b3ItYjhTeE1uelgiLGJvdW5kZWQ6ImJvdW5kZWQtYjhTeE1uelgifX0sNDcxODgoZSl7ZS5leHBvcnRzPXsic21hbGwtaGVpZ2h0LWJyZWFrcG9pbnQiOiIobWF4LWhlaWdodDogMzYwcHgpIixjb250YWluZXI6ImNvbnRhaW5lci1CWktFTmtoVCIsdW5zZXRBbGlnbjoidW5zZXRBbGlnbi1CWktFTmtoVCIsdGl0bGU6InRpdGxlLUJaS0VOa2hUIixzdWJ0aXRsZToic3VidGl0bGUtQlpLRU5raFQiLHRleHRXcmFwOiJ0ZXh0V3JhcC1CWktFTmtoVCIsZWxsaXBzaXM6ImVsbGlwc2lzLUJaS0VOa2hUIixjbG9zZToiY2xvc2UtQlpLRU5raFQiLGljb246Imljb24tQlpLRU5raFQifX0sNTMwMDYwKGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItcW03Umc1TUIiLG1vYmlsZToibW9iaWxlLXFtN1JnNU1CIixpbnB1dENvbnRhaW5lcjoiaW5wdXRDb250YWluZXItcW03Umc1TUIiLHdpdGhDYW5jZWw6IndpdGhDYW5jZWwtcW03Umc1TUIiLGlucHV0OiJpbnB1dC1xbTdSZzVNQiIsaWNvbjoiaWNvbi1xbTdSZzVNQiIsY2FuY2VsOiJjYW5jZWwtcW03Umc1TUIifX0sMzQzMDY2KGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItVHY3TFNqVXoiLG92ZXJsYXlTY3JvbGxXcmFwOiJvdmVybGF5U2Nyb2xsV3JhcC1UdjdMU2pVeiIsd3JhcHBlcjoid3JhcHBlci1UdjdMU2pVeiJ9fSw4NjkzMjAoZSl7ZS5leHBvcnRzPXtzZWFyY2g6InNlYXJjaC1sQU51YlNjMiIsaW5wdXRDb250YWluZXI6ImlucHV0Q29udGFpbmVyLWxBTnViU2MyIixzZWFyY2hJbnB1dEljb246InNlYXJjaElucHV0SWNvbi1sQU51YlNjMiIsYWN0aW9uczoiYWN0aW9ucy1sQU51YlNjMiIsZGl2aWRlcjoiZGl2aWRlci1sQU51YlNjMiJ9fSwyNDQ4MjAoZSl7ZS5leHBvcnRzPXtsb2dvOiJsb2dvLWQwdlZtR3ZUIn19LDQyMTY1MChlKXtlLmV4cG9ydHM9e2ljb246Imljb24tT0pwa19DQVEifX0sNTIwOTc3KGUpe2UuZXhwb3J0cz17cGxhY2VIb2xkZXI6InBsYWNlSG9sZGVyLXlsd2FlX0d0IixoaWRkZW46ImhpZGRlbi15bHdhZV9HdCJ9fSw0MzUxMDEoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLUs0dTROZzNaIix0aXRsZToidGl0bGUtSzR1NE5nM1oiLGFkZGl0aW9uYWxCdXR0b246ImFkZGl0aW9uYWxCdXR0b24tSzR1NE5nM1oiLGJ1dHRvbnM6ImJ1dHRvbnMtSzR1NE5nM1oiLHRleHQ6InRleHQtSzR1NE5nM1oiLGJ1dHRvbjoiYnV0dG9uLUs0dTROZzNaIn19LDE5ODIwOShlKXtlLmV4cG9ydHM9eyJpY29uLXdyYXBwZXIiOiJpY29uLXdyYXBwZXItZGlrZGV3d3giLCJ3aXRoLWxpbmsiOiJ3aXRoLWxpbmstZGlrZGV3d3giLCJ3aXRoLXRvb2x0aXAiOiJ3aXRoLXRvb2x0aXAtZGlrZGV3d3giLCJuby1hY3RpdmUtc3RhdGUiOiJuby1hY3RpdmUtc3RhdGUtZGlrZGV3d3gifX0sODA2MDc4KGUpe2UuZXhwb3J0cz17c2VwYXJhdG9yOiJzZXBhcmF0b3ItUGY0ckl6RXQifX0sNzk3MzU3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VtcHR5U3RhdGVCbG9ja1RpdGxlOigpPT5zfSk7dmFyIHI9big5MTQ0ODcpLG89bi5uKHIpLGw9big3Nzk0NzQpLGE9bigzNTM3NDcpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7dGl0bGU6dCx0YWdOYW1lOm4sdGl0bGVTaXplOnIsY2xhc3NOYW1lOnN9PWUsaT1ufHwic3Ryb25nIjtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KGkse2NsYXNzTmFtZTpvKCkoYS50aXRsZSxhW2B0aXRsZV8ke3J9YF0scyl9LHQpfX0sNzY1OTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VtcHR5U3RhdGVCbG9jazooKT0+aX0pCjt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDc5NzM1Nykscz1uKDM1Mzc0Nyk7Y29uc3QgaT0oMCxyLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocy5jb250YWluZXIsZS5jbGFzc05hbWUpLHJlZjp0LCJkYXRhLXFhLWlkIjplLmRhdGFRYUlkfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocy5pY29uLGUuaWNvbkNsYXNzKX0sZS5pY29uKSxlLnRpdGxlJiZyLmNyZWF0ZUVsZW1lbnQoYS5FbXB0eVN0YXRlQmxvY2tUaXRsZSx7dGl0bGU6ZS50aXRsZSx0aXRsZVNpemU6ZS50aXRsZVNpemUsdGFnTmFtZTplLnRpdGxlVGFnTmFtZSxjbGFzc05hbWU6ZS50aXRsZUNsYXNzfSksZS50ZXh0JiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocy50ZXh0LCJub3JtYWwiPT09ZS50ZXh0U2l6ZSYmcy50ZXh0X25vcm1hbCxlLnRleHRDbGFzcyl9LGUudGV4dCksZS5hY3Rpb24mJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShzLmFjdGlvbixlLmFjdGlvbkNsYXNzKX0sZS5hY3Rpb24pKX0pKX0sMjAxNDQ0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NyZWF0ZVJlZ0V4cExpc3Q6KCk9PnMsZ2V0SGlnaGxpZ2h0ZWRDaGFyczooKT0+aSxyYW5rZWRTZWFyY2g6KCk9PmF9KTt2YXIgcixvPW4oNjAxODQxKSxsPW4oODM4OTAyKTtmdW5jdGlvbiBhKGUpe2NvbnN0e2RhdGE6dCxydWxlczpuLHF1ZXJ5U3RyaW5nOnIsaXNQcmV2ZW50ZWRGcm9tRmlsdGVyaW5nOmwscHJpbWFyeUtleTphLHNlY29uZGFyeUtleTpzPWEsb3B0aW9uYWxQcmltYXJ5S2V5OmksdGVydGlhcnlLZXk6Y309ZTtyZXR1cm4gdC5tYXAoKGU9Pntjb25zdCB0PWkmJmVbaV0/ZVtpXTplW2FdLGw9ZVtzXSx1PWMmJmVbY107bGV0IGQsbT0wO3JldHVybiBuLmZvckVhY2goKGU9Pntjb25zdHtyZTpuLGZ1bGxNYXRjaDphfT1lO2lmKG4ubGFzdEluZGV4PTAsKDAsby5pc1N0cmluZykodCkmJnQmJnQudG9Mb3dlckNhc2UoKT09PXIudG9Mb3dlckNhc2UoKSlyZXR1cm4gbT00LHZvaWQoZD10Lm1hdGNoKGEpPy5pbmRleCk7aWYoKDAsby5pc1N0cmluZykodCkmJmEudGVzdCh0KSlyZXR1cm4gbT0zLHZvaWQoZD10Lm1hdGNoKGEpPy5pbmRleCk7aWYoKDAsby5pc1N0cmluZykobCkmJmEudGVzdChsKSlyZXR1cm4gbT0yLHZvaWQoZD1sLm1hdGNoKGEpPy5pbmRleCk7aWYoKDAsby5pc1N0cmluZykobCkmJm4udGVzdChsKSlyZXR1cm4gbT0yLHZvaWQoZD1sLm1hdGNoKG4pPy5pbmRleCk7aWYoQXJyYXkuaXNBcnJheSh1KSlmb3IoY29uc3QgZSBvZiB1KWlmKGEudGVzdChlKSlyZXR1cm4gbT0xLHZvaWQoZD1lLm1hdGNoKGEpPy5pbmRleCl9KSkse21hdGNoUHJpb3JpdHk6bSxtYXRjaEluZGV4OmQsaXRlbTplfX0pKS5maWx0ZXIoKGU9Pmx8fGUubWF0Y2hQcmlvcml0eSkpLnNvcnQoKChlLHQpPT57aWYoZS5tYXRjaFByaW9yaXR5PHQubWF0Y2hQcmlvcml0eSlyZXR1cm4gMTtpZihlLm1hdGNoUHJpb3JpdHk+dC5tYXRjaFByaW9yaXR5KXJldHVybi0xO2lmKGUubWF0Y2hQcmlvcml0eT09PXQubWF0Y2hQcmlvcml0eSl7aWYodm9pZCAwPT09ZS5tYXRjaEluZGV4fHx2b2lkIDA9PT10Lm1hdGNoSW5kZXgpcmV0dXJuIDA7aWYoZS5tYXRjaEluZGV4PnQubWF0Y2hJbmRleClyZXR1cm4gMTtpZihlLm1hdGNoSW5kZXg8dC5tYXRjaEluZGV4KXJldHVybi0xfXJldHVybiAwfSkpLm1hcCgoKHtpdGVtOmV9KT0+ZSkpfWZ1bmN0aW9uIHMoZSx0KXtjb25zdCBuPVtdLHI9ZS50b0xvd2VyQ2FzZSgpLG89ZS5zcGxpdCgiIikubWFwKCgoZSx0KT0+YCgkezAhPT10P2BbL1xccy1dJHsoMCxsLnJlZ2V4cEVzY2FwZSkoZSl9YDooMCxsLnJlZ2V4cEVzY2FwZSkoZSl9KWApKS5qb2luKCIoLio/KSIpKyIoLiopIjtyZXR1cm4gbi5wdXNoKHtmdWxsTWF0Y2g6bmV3IFJlZ0V4cChgKCR7KDAsbC5yZWdleHBFc2NhcGUpKGUpfSlgLCJpIikscmU6bmV3IFJlZ0V4cChgXiR7b31gLCJpIikscmVzZXJ2ZVJlOm5ldyBSZWdFeHAobywiaSIpLGZ1enp5SGlnaGxpZ2h0OiEwfSksdCYmdC5oYXNPd25Qcm9wZXJ0eShyKSYmbi5wdXNoKHtmdWxsTWF0Y2g6dFtyXSxyZTp0W3JdLGZ1enp5SGlnaGxpZ2h0OiExfSksbn1mdW5jdGlvbiBpKGUsdCxuKXtjb25zdCByPVtdO3JldHVybiBlJiZuPyhuLmZvckVhY2goKGU9Pntjb25zdHtmdWxsTWF0Y2g6bixyZTpvLHJlc2VydmVSZTpsfT1lO24ubGFzdEluZGV4PTAsby5sYXN0SW5kZXg9MDtjb25zdCBhPW4uZXhlYyh0KSxzPWF8fG8uZXhlYyh0KXx8bCYmbC5leGVjKHQpO2lmKGUuZnV6enlIaWdobGlnaHQ9IWEscylpZihlLmZ1enp5SGlnaGxpZ2h0KXtsZXQgZT1zLmluZGV4O2ZvcihsZXQgdD0xO3Q8cy5sZW5ndGg7dCsrKXtjb25zdCBuPXNbdF0sbz1zW3RdLmxlbmd0aDtpZih0JTIpe2NvbnN0IHQ9bi5zdGFydHNXaXRoKCIgIil8fG4uc3RhcnRzV2l0aCgiLyIpfHxuLnN0YXJ0c1dpdGgoIi0iKTtyW3Q/ZSsxOmVdPSEwfWUrPW99fWVsc2UgZm9yKGxldCBlPTA7ZTxzWzBdLmxlbmd0aDtlKyspcltzLmluZGV4K2VdPSEwfSkpLHIpOnJ9IWZ1bmN0aW9uKGUpe2VbZS5Mb3c9MF09IkxvdyIsZVtlLk1lZGl1bUxvdz0xXT0iTWVkaXVtTG93IixlW2UuTWVkaXVtPTJdPSJNZWRpdW0iLGVbZS5IaWdoPTNdPSJIaWdoIixlW2UuSGlnaGVzdD00XT0iSGlnaGVzdCJ9KHJ8fChyPXt9KSl9LDk0OTM3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtIaWdobGlnaHRlZFRleHQ6KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDIwMTQ0NCkscz1uKDUzNjIxOSk7ZnVuY3Rpb24gaShlKXtjb25zdHtxdWVyeVN0cmluZzp0LHJ1bGVzOm4sdGV4dDpvLGNsYXNzTmFtZTppfT1lLGM9KDAsci51c2VNZW1vKSgoKCk9PigwLGEuZ2V0SGlnaGxpZ2h0ZWRDaGFycykodCxvLG4pKSxbdCxuLG9dKQo7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChyLkZyYWdtZW50LG51bGwsYy5sZW5ndGg/by5zcGxpdCgiIikubWFwKCgoZSx0KT0+ci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQse2tleTp0fSxjW3RdP3IuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpsKCkocy5oaWdobGlnaHRlZCxpKX0sZSk6ci5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLGUpKSkpOm8pfX0sNzM0NjQxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01hdGNoTWVkaWFNYXA6KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDYzMjIyMCksbD1uLm4obyk7Y2xhc3MgYSBleHRlbmRzIHIuQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2hhbmRsZU1lZGlhQ2hhbmdlPSgpPT57Y29uc3QgZT1pKHRoaXMuc3RhdGUucXVlcmllcywoKGUsdCk9PnQubWF0Y2hlcykpO2xldCB0PSExO2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSYmdGhpcy5zdGF0ZS5tYXRjaGVzW25dIT09ZVtuXSl7dD0hMDticmVha310JiZ0aGlzLnNldFN0YXRlKHttYXRjaGVzOmV9KX07Y29uc3R7cnVsZXM6dH09dGhpcy5wcm9wczt0aGlzLnN0YXRlPXModCl9c2hvdWxkQ29tcG9uZW50VXBkYXRlKGUsdCl7cmV0dXJuIWwoKShlLHRoaXMucHJvcHMpfHwoIWwoKSh0LnJ1bGVzLHRoaXMuc3RhdGUucnVsZXMpfHwhbCgpKHQubWF0Y2hlcyx0aGlzLnN0YXRlLm1hdGNoZXMpKX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX21pZ3JhdGUobnVsbCx0aGlzLnN0YXRlLnF1ZXJpZXMpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe2woKShlLnJ1bGVzLHRoaXMucHJvcHMucnVsZXMpfHx0aGlzLl9taWdyYXRlKHQucXVlcmllcyx0aGlzLnN0YXRlLnF1ZXJpZXMpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWlncmF0ZSh0aGlzLnN0YXRlLnF1ZXJpZXMsbnVsbCl9cmVuZGVyKCl7cmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW4odGhpcy5zdGF0ZS5tYXRjaGVzKX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7aWYobCgpKGUucnVsZXMsdC5ydWxlcykpcmV0dXJuIG51bGw7Y29uc3R7cnVsZXM6bn09ZTtyZXR1cm4gcyhuKX1fbWlncmF0ZShlLHQpe251bGwhPT1lJiZpKGUsKChlLHQpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuX2hhbmRsZU1lZGlhQ2hhbmdlKX0pKSxudWxsIT09dCYmaSh0LCgoZSx0KT0+e3QuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVNZWRpYUNoYW5nZSl9KSl9fWZ1bmN0aW9uIHMoZSl7Y29uc3QgdD1pKGUsKChlLHQpPT53aW5kb3cubWF0Y2hNZWRpYSh0KSkpO3JldHVybntxdWVyaWVzOnQsbWF0Y2hlczppKHQsKChlLHQpPT50Lm1hdGNoZXMpKSxydWxlczp7Li4uZX19fWZ1bmN0aW9uIGkoZSx0KXtjb25zdCBuPXt9O2Zvcihjb25zdCByIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShyKSYmKG5bcl09dChyLGVbcl0pKTtyZXR1cm4gbn19LDM0NDg3MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZEJ1dHRvblRhYnM6KCk9Pmx9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDUwOTQ4OSk7ZnVuY3Rpb24gbChlKXtjb25zdHsiZGF0YS1uYW1lIjp0PSJyb3VuZC10YWJzLWJ1dHRvbnMiLC4uLm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChvLlJvdW5kQnV0dG9uVGFic0ltcGwsey4uLm4sImRhdGEtbmFtZSI6dH0pfX0sOTcxNTEyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbnRhaW5UYWJOYXZpZ2F0aW9uOigpPT5vfSk7dmFyIHI9bigyMzU3MjQpO2Z1bmN0aW9uIG8oZSl7Wzksci5Nb2RpZmllcnMuU2hpZnQrOV0uaW5jbHVkZXMoKDAsci5oYXNoRnJvbUV2ZW50KShlKSkmJmUuc3RvcFByb3BhZ2F0aW9uKCl9fSwyNzM2ODQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QmFja0J1dHRvbjooKT0+aX0pO3ZhciByLG89big3Nzk0NzQpLGw9big4ODA4ODYpLGE9big1OTQyMzApLHM9bi5uKGEpOyFmdW5jdGlvbihlKXtlLlRoaW49IjEuMiIsZS5NZWRpdW09IjEuNSJ9KHJ8fChyPXt9KSk7Y29uc3QgaT1vLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7YXJpYUxhYmVsOm4sZmxpcEljb25PblJ0bDpyLGljb25TdHJva2VXaWR0aDphLC4uLml9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChsLk5hdkJ1dHRvbix7Li4uaSxhcmlhTGFiZWw6bixyZWY6dCxpY29uOnMoKSxmbGlwSWNvbk9uUnRsOnJ9KX0pKX0sMzEyOTMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Nsb3NlQnV0dG9uOigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big4ODA4ODYpLGw9big5MTUwOTApLGE9bi5uKGwpO2NvbnN0IHM9ci5mb3J3YXJkUmVmKCgoZSx0KT0+ci5jcmVhdGVFbGVtZW50KG8uTmF2QnV0dG9uLHsuLi5lLHJlZjp0LGljb246YSgpfSkpKX0sMjY0MzE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NsaWNrYWJsZUljb25CdXR0b246KCk9PmR9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDMzMjY4Nykscz1uKDIxNzI3NCksaT1uKDM0NTExNiksYz1uKDk5Mzk5NSksdT1uLm4oYyk7Y29uc3QgZD0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0IG49KDAsci51c2VDb250ZXh0KShhLkljb25CdXR0b25WYXJpYW50Q29udGV4dCkudmFyaWFudCx7dGl0bGU6byxvbkNsaWNrOmMsY29sb3JDbGFzc05hbWU6ZCxpY29uOm0sdmFyaWFudDpwPW4/P2EuREVGQVVMVF9JQ09OX0JVVFRPTl9WQVJJQU5ULHNoYXBlOmg9InNxdWFyZSIsdGFiSW5kZXg6Zixyb2xlOlMsZGF0YVFhSWQ6ZywuLi55fT1lLGI9KDAsaS5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh5LGcpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3JlZjp0LHRpdGxlOm8sdHlwZToiYnV0dG9uIixyb2xlOlMsImFyaWEtbGFiZWwiOm8sb25DbGljazpjLHRhYkluZGV4OmYsY2xhc3NOYW1lOmwoKSh1KCkuaWNvbkJ1dHRvbix1KClbcF0sdSgpW2hdLGQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksLi4uYn0sci5jcmVhdGVFbGVtZW50KHMuQmxvY2tJY29uLHtpY29uOm0sY2xhc3NOYW1lOnUoKS5pY29uLAoiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pKX0pKX0sMzEyMjk1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb25CdXR0b246KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDI2NDMxOCksbD1uKDcyOTI1MCk7Y29uc3QgYT0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+Im9uQ2xpY2siaW4gZT9yLmNyZWF0ZUVsZW1lbnQoby5DbGlja2FibGVJY29uQnV0dG9uLHsuLi5lLHJlZjp0fSk6ci5jcmVhdGVFbGVtZW50KGwuVG9nZ2xlYWJsZUljb25CdXR0b24sey4uLmUscmVmOnR9KSkpfSw3MjkyNTAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9nZ2xlYWJsZUljb25CdXR0b246KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDI2NDMxOCksbD1uKDM0NTExNik7Y29uc3QgYT0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e29uVG9nZ2xlOm4saXNUb2dnbGVkOmEsdG9nZ2xlZFRpdGxlOnMsdG9nZ2xlZEljb246aSx0b2dnbGVkQ29sb3JDbGFzc05hbWU6Yyx1bnRvZ2dsZWRUaXRsZTp1LHVudG9nZ2xlZEljb246ZCx1bnRvZ2dsZWRDb2xvckNsYXNzTmFtZTptLHZhcmlhbnQ6cCxzaGFwZTpoLGRhdGFRYUlkOmYsdGFiSW5kZXg6Uyxyb2xlOmcsLi4ueX09ZSxiPSgwLGwuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoeSk7bGV0IHYsXyxFO3JldHVybiBhPyhFPXMsdj1pLF89Yyk6KEU9dSx2PWQsXz1tKSxyLmNyZWF0ZUVsZW1lbnQoby5DbGlja2FibGVJY29uQnV0dG9uLHt0aXRsZTpFLGljb246dixvbkNsaWNrOigpPT5uKCFhKSxjb2xvckNsYXNzTmFtZTpfLHZhcmlhbnQ6cCxzaGFwZTpoLHJlZjp0LGRhdGFRYUlkOmYsdGFiSW5kZXg6Uyxyb2xlOmcsLi4uYn0pfSkpfSw5ODY2MDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TmF2QnV0dG9uQ29udGVudDooKT0+ZCxnZXROYXZCdXR0b25DbGFzc2VzOigpPT51fSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big0ODA5NzIpLHM9big0MDIyNTMpLGk9bi5uKHMpO2NvbnN0IGM9eyItLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peExpZ2h0IjoiY29sb3ItYnVybiIsIi0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJsZW5kTWl4RGFyayI6ImNvbG9yLWRvZGdlIn07ZnVuY3Rpb24gdShlKXtjb25zdHtzaXplOnQ9ImxhcmdlIixwcmVzZXJ2ZVBhZGRpbmdzOm4saXNMaW5rOnIsZmxpcEljb25PblJ0bDpvLGJsZW5kTW9kZTphLGNsYXNzTmFtZTpzfT1lO3JldHVybiBsKCkoaSgpLm5hdkJ1dHRvbixpKClbdF0sbiYmaSgpLnByZXNlcnZlUGFkZGluZ3MsbyYmaSgpLmZsaXBJY29uLGEmJmkoKS5ibGVuZE1vZGUsciYmaSgpLmxpbmsscyl9ZnVuY3Rpb24gZChlKXtjb25zdHtjaGlsZHJlbjp0LGljb246bixibGVuZE1vZGU6b309ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpLmJhY2tncm91bmQsc3R5bGU6bz9jOnZvaWQgMH0pLHIuY3JlYXRlRWxlbWVudChhLlNjYWxhYmxlSWNvbix7aWNvbjpuLGNsYXNzTmFtZTppKCkuaWNvbn0pLHQmJnIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkudmlzdWFsbHlIaWRkZW59LHQpKX19LDg4MDg4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtOYXZCdXR0b246KCk9Pmx9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDk4NjYwOSk7Y29uc3QgbD0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2ljb246bix0eXBlOmw9ImJ1dHRvbiIscHJlc2VydmVQYWRkaW5nczphLGZsaXBJY29uT25SdGw6cyxzaXplOmksYmxlbmRNb2RlOmMsYXJpYUxhYmVsOnUsLi4uZH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5kLGNsYXNzTmFtZTooMCxvLmdldE5hdkJ1dHRvbkNsYXNzZXMpKHsuLi5lLGNoaWxkcmVuOnV9KSxyZWY6dCx0eXBlOmx9LHIuY3JlYXRlRWxlbWVudChvLk5hdkJ1dHRvbkNvbnRlbnQse2ljb246bixibGVuZE1vZGU6Y30sdSkpfSkpO2wuZGlzcGxheU5hbWU9Ik5hdkJ1dHRvbiJ9LDcxOTQyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VSZXNpemVPYnNlcnZlcjooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKSxsPW4oNzg3ODk1KTtmdW5jdGlvbiBhKGUsdD1bXSl7Y29uc3R7Y2FsbGJhY2s6bixyZWY6YT1udWxsfT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT97Y2FsbGJhY2s6ZX06ZX0oZSkscz0oMCxyLnVzZVJlZikobnVsbCksaT0oMCxyLnVzZVJlZikobik7aS5jdXJyZW50PW47Y29uc3QgYz0oMCxsLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGEpLHU9KDAsci51c2VDYWxsYmFjaykoKGU9PntjKGUpLG51bGwhPT1zLmN1cnJlbnQmJihzLmN1cnJlbnQuZGlzY29ubmVjdCgpLG51bGwhPT1lJiZzLmN1cnJlbnQub2JzZXJ2ZShlKSl9KSxbYyxzXSk7cmV0dXJuKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PihzLmN1cnJlbnQ9bmV3IFJlc2l6ZU9ic2VydmVyKCgoZSx0KT0+e2kuY3VycmVudChlLHQpfSkpLGMuY3VycmVudCYmdShjLmN1cnJlbnQpLCgpPT57cy5jdXJyZW50Py5kaXNjb25uZWN0KCl9KSksW2MsLi4udF0pLHV9fSw0ODA5NzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2NhbGFibGVJY29uOigpPT5jfSk7dmFyIHI9big5MTQ0ODcpLG89bi5uKHIpLGw9big3Nzk0NzQpLGE9big5NDg0NTApLHM9bigyMDMyNzMpLGk9bi5uKHMpO2NvbnN0IGM9bC5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpuLC4uLnJ9PWU7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChhLkNvbW1vbkljb24sey4uLnIsY2xhc3NOYW1lOm8oKShuLGkoKS5zY2FsYWJsZUljb24pLHJlZjp0fSl9KSl9LDEyNDYyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VNZW51QW5jaG9yUHJvcHM6KCk9PmF9KTt2YXIgcj1uKDczMzYxNyksbz1uKDc4Mjk1NSksbD1uKDM5MTE1Mik7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZnVuY3Rpb24oZSl7CmNvbnN0e2lzT3Blbjp0LG9uQ2xvc2U6bixjb250ZW50SWQ6YSxhbmNob3JCdXR0b25SZWY6cyxhbmNob3JJZDppLGhhbmRsZUFuY2hvckNsaWNrOmMsaGFuZGxlQW5jaG9yS2V5RG93bjp1fT0oMCxyLnVzZURlZmF1bHRCdXR0b25BbmNob3JQcm9wcykoe2FuY2hvcklkOmUuYW5jaG9ySWQsb3Blbk9uRW50ZXI6ZS5vcGVuT25FbnRlcn0pO3JldHVybntpc09wZW46dCxhbmNob3JQcm9wczp7aWQ6aSxyb2xlOiJidXR0b24iLG9uQ2xpY2s6YyxvbktleURvd246dSwuLi4oMCxsLmNyZWF0ZVJlZlByb3ApKGUucmVmU3R5bGUscyksLi4uKDAsby5jcmVhdGVBcmlhQXR0cmlidXRlc1Byb3BzKShlLmFyaWFTdHlsZSx7ZXhwYW5kZWQ6dCxjb250cm9sczphLGhhc3BvcHVwOiJtZW51In0pfSxwb3BvdmVyUHJvcHM6e2lzT3Blbjp0LGFuY2hvcklkOmksYW5jaG9yQnV0dG9uUmVmOnMsY29udGVudElkOmEsb25DbG9zZTpufX19KHtvcGVuT25FbnRlcjplPy5vcGVuT25FbnRlcixyZWZTdHlsZTplPy5yZWZTdHlsZT8/InJlZmVyZW5jZSIsYXJpYVN0eWxlOmU/LmFyaWFTdHlsZT8/ImtlYmFiLWNhc2UiLGFuY2hvcklkOmU/LmFuY2hvcklkfSl9fSw3MjQ0NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2tlbGV0b25DaXJjbGU6KCk9PmN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDQxMzY5MSkscz1uLm4oYSk7Y29uc3QgaT0yNDtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHN0eWxlOm4sc2l6ZTpvPWl9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShzKCkud3JhcHBlcix0KSxzdHlsZTp7aGVpZ2h0Om8sd2lkdGg6bywuLi5ufX0pfX0sMjMyNzk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NrZWxldG9uQ29udGFpbmVyOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big3NTIyOTUpLHM9bi5uKGEpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc3R5bGU6bixjaGlsZHJlbjpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocygpLndyYXBwZXIsdCksc3R5bGU6bn0sbyl9fSw0OTczMTAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2tlbGV0b25SZWN0YW5nbGU6KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDQ2MTUxNSkscz1uLm4oYSk7ZnVuY3Rpb24gaShlKXtjb25zdHtjbGFzc05hbWU6dCxzdHlsZTpuLHdpZHRoOm8saGVpZ2h0OmF9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShzKCkud3JhcHBlcix0KSxzdHlsZTp7d2lkdGg6byxoZWlnaHQ6YSwuLi5ufX0pfX0sNTE5MDk0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NrZWxldG9uU3F1YXJlOigpPT5jfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9bigzMzA2NzEpLHM9bi5uKGEpO2NvbnN0IGk9NDI7ZnVuY3Rpb24gYyhlKXtjb25zdHtjbGFzc05hbWU6dCxzdHlsZTpuLHNpemU6bz1pfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocygpLndyYXBwZXIsdCksc3R5bGU6e3dpZHRoOm8saGVpZ2h0Om8sLi4ubn19KX19LDQwMTg2MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTa2VsZXRvbjooKT0+bX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oMjMyNzk4KSxzPW4oNzI0NDQyKSxpPW4oNTE5MDk0KSxjPW4oNDk3MzEwKSx1PW4oOTc1Mjg1KSxkPW4ubih1KTtjbGFzcyBtIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUsY2xhc3NOYW1lOnQsYW5pbWF0ZWQ6bj0hMCxpbnB1dFJlZjpvfT10aGlzLnByb3BzO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpvLGNsYXNzTmFtZTpsKCkoZCgpLndyYXBwZXIsbiYmZCgpLmFuaW1hdGVkLHQpfSxlKX19bS5Db250YWluZXI9YS5Ta2VsZXRvbkNvbnRhaW5lcixtLkNpcmNsZT1zLlNrZWxldG9uQ2lyY2xlLG0uU3F1YXJlPWkuU2tlbGV0b25TcXVhcmUsbS5SZWN0YW5nbGU9Yy5Ta2VsZXRvblJlY3RhbmdsZX0sOTA2MTM0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2x0aXA6KCk9PmMsVHJpZ2dlcjooKT0+cn0pO3ZhciByLG89big3Nzk0NzQpLGw9bigxNTM3MjgpLGE9big5NjQ1OTQpLHM9big1MjUyNCksaT1uKDE1MzE1NCk7ZnVuY3Rpb24gYyh7Y2hpbGRyZW46ZSxpZDp0LHRyaWdnZXI6bj1yLkhvdmVyLGRlbGF5OmM9WzUwMCwwXSxjb250ZW50OnUsaXNSdGw6ZD0hMSxlbmRTbG90Om0scGxhY2VtZW50OnAsaGFzQXJyb3c6aD0hMCxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpmLG9mZnNldDpTLGRpc2FibGVJbnRlcmFjdGl2ZTpnfSl7Y29uc3QgeT0oMCxvLnVzZUlkKSgpLGI9QXJyYXkuaXNBcnJheShuKT9uOltuXSxbdixfXT1BcnJheS5pc0FycmF5KGMpP2M6W2MsY10se3Zpc2libGU6RSxvcGVuOkMsY2xvc2U6VCx0b2dnbGU6eH09KDAsbC51c2VUb29sdGlwU3RhdGUpKHtvcGVuRGVsYXk6dixjbG9zZURlbGF5Ol99KSxJPSgwLG8udXNlUmVmKShudWxsKSx3PW8uQ2hpbGRyZW4ub25seShlKSxOPWIucmVkdWNlKCgoZSx0KT0+e3N3aXRjaCh0KXtjYXNlIHIuQ2xpY2s6ZS5vbkNsaWNrPSgwLHMuZm9ya0ZuKSh3LnByb3BzLm9uQ2xpY2sseCk7YnJlYWs7Y2FzZSByLkZvY3VzOmUub25Gb2N1cz0oMCxzLmZvcmtGbikody5wcm9wcy5vbkZvY3VzLChlPT57ZS5jdXJyZW50VGFyZ2V0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikmJkMoKX0pKSxlLm9uQmx1cj0oMCxzLmZvcmtGbikody5wcm9wcy5vbkJsdXIsKGU9PntlLmN1cnJlbnRUYXJnZXQubWF0Y2hlcygiOmhvdmVyIil8fFQoKX0pKTticmVhaztjYXNlIHIuSG92ZXI6ZS5vbk1vdXNlRW50ZXI9KDAscy5mb3JrRm4pKHcucHJvcHMub25Nb3VzZUVudGVyLEMpLGUub25Nb3VzZUxlYXZlPSgwLHMuZm9ya0ZuKSh3LnByb3BzLm9uTW91c2VMZWF2ZSwoZT0+ewpJLmN1cnJlbnQ/LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpJiZlLmN1cnJlbnRUYXJnZXQubWF0Y2hlcygiOmZvY3VzLXZpc2libGUiKXx8VCgpfSkpfXJldHVybiBlfSkse30pLFI9InN0cmluZyI9PXR5cGVvZiB3LnR5cGU/InJlZiI6InJlZmVyZW5jZSIsQT0icmVmImluIHcmJm51bGwhPXcucmVmP3cucmVmOncucHJvcHNbUl0sTD0oMCxhLm1lcmdlUmVmcykoW0EsSV0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLCgwLG8uY2xvbmVFbGVtZW50KSh3LHsuLi5OLFtSXTpMLCJhcmlhLWRlc2NyaWJlZGJ5Ijp0fSksby5jcmVhdGVFbGVtZW50KGkuVG9vbHRpcFN0YXRlbGVzcyx7aWQ6dHx8eSxwbGFjZW1lbnQ6cCxjb250ZW50OnUsZW5kU2xvdDptLG9wZW46RSYmISF1LGFuY2hvcjpJLG9uQ2xvc2U6VCxpc1J0bDpkLGhhc0Fycm93OmgsY2xvc2VPblNjcm9sbE91dHNpZGU6ZixvZmZzZXQ6UyxkaXNhYmxlSW50ZXJhY3RpdmU6Z30pKX0hZnVuY3Rpb24oZSl7ZS5Ib3Zlcj0iaG92ZXIiLGUuQ2xpY2s9ImNsaWNrIixlLkZvY3VzPSJmb2N1cyJ9KHJ8fChyPXt9KSl9LDcyNjYwMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt0cmllc1RyYW5zbGF0ZU1hcmtldFR5cGU6KCk9Pm99KTt2YXIgcj1uKDE4NTI3MSk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbC5nZXQoZSk/LigpfHxlfWNvbnN0IGw9bmV3IE1hcChbWyJjZmQiLCgpPT5yLnQobnVsbCx2b2lkIDAsbigyMDgwMTcpKV0sWyJkciIsKCk9PnIudChudWxsLHZvaWQgMCxuKDk3NDI2NCkpXSxbImluZGV4IiwoKT0+ci50KG51bGwsdm9pZCAwLG4oNjU4OTI2KSldLFsiZm9yZXgiLCgpPT5yLnQobnVsbCx2b2lkIDAsbig4NzM1OTcpKV0sWyJyaWdodCIsKCk9PnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfdHlwZSJ9LG4oMjg3MDM4KSldLFsiYm9uZCIsKCk9PnIudChudWxsLHZvaWQgMCxuKDkwOTA1NCkpXSxbImJpdGNvaW4iLCgpPT5yLnQobnVsbCx2b2lkIDAsbig5OTEwNTkpKV0sWyJjcnlwdG8iLCgpPT5yLnQobnVsbCx2b2lkIDAsbig5OTEwNTkpKV0sWyJlY29ub21pYyIsKCk9PnIudChudWxsLHZvaWQgMCxuKDk5Njg4MikpXSxbImluZGljZXMiLCgpPT5yLnQobnVsbCx2b2lkIDAsbigxNTE2MSkpXSxbImZ1dHVyZXMiLCgpPT5yLnQobnVsbCx2b2lkIDAsbig4MDY3MjcpKV0sWyJzdG9jayIsKCk9PnIudChudWxsLHZvaWQgMCxuKDM2NDYyNSkpXSxbImNvbW1vZGl0eSIsKCk9PnIudChudWxsLHZvaWQgMCxuKDc2MjkyMikpXV0pfSw0ODAyODQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3B0aW9uc1NvdXJjZVRyYWNrRXZlbnRQcm92aWRlcjooKT0+YSx1c2VPcHRpb25zU291cmNlVHJhY2tFdmVudDooKT0+bH0pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSgwLHIuY3JlYXRlQ29udGV4dCkobnVsbCk7ZnVuY3Rpb24gbCgpe2NvbnN0IGU9KDAsci51c2VDb250ZXh0KShvKTtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoIk9wdGlvbnNTb3VyY2VUcmFja0V2ZW50Q29udGV4dCBpcyBub3QgaW5pdGlhbGl6ZWQuIEFsbCBvcHRpb25zIGZlYXR1cmVzIG11c3QgaGF2ZSBhIHNvdXJjZSB0byB0cmFjayBldmVudHMuIE1ha2Ugc3VyZSB0byB3cmFwIHlvdXIgY29tcG9uZW50cyBpbiA8T3B0aW9uc1NvdXJjZVRyYWNrRXZlbnRQcm92aWRlcj4gcHJvdmlkZXIuIik7cmV0dXJuIGV9ZnVuY3Rpb24gYShlKXtjb25zdHtjaGlsZHJlbjp0LHNvdXJjZTpufT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoby5Qcm92aWRlcix7dmFsdWU6bn0sdCl9fSw3Nzc2ODAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlR2V0U2VyaWVzOigpPT5sfSk7dmFyIHI9big3Nzk0NzQpLG89bigzNjM5NTgpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuKDAsci51c2VNZW1vKSgoKCk9PigwLG8uYnVpbGRTZXJpZXMpKGUpKSxbZV0pfX0sMjUyODY2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VNUFRZX1ZBTFVFOigpPT5yfSk7Y29uc3Qgcj0i4oCUIn0sNTUxNTA1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2ZpbmRNYXhQcmVjaXNpb246KCk9PmksZmluZFByZWNpc2lvbkJ5TWF4VmFsdWU6KCk9PnMsZmluZFByZWNpc2lvbkJ5TWluVmFsdWU6KCk9PmEsZ2V0Um91bmROdW1iZXI6KCk9PnV9KTt2YXIgcj1uKDcxMjc0NSk7Y29uc3Qgbz1NYXRoLnBvdygxMCwtMTIpO2Z1bmN0aW9uIGwoZSx0LG4scj0yKXtsZXQgbD1lLGE9MDtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKylNYXRoLmFicyhuW2VdKTxvfHwobD10KGwsTWF0aC5hYnMobltlXSkpLGE9TWF0aC5tYXgoYSxjKG5bZV0pLmxlbmd0aCkpO2lmKGw+PTEpcmV0dXJuIHI7Y29uc3Qgcz1jKGwpO2lmKGE9PT1zLmxlbmd0aCYmMT09PXMucmVwbGFjZSgvXjAqLywiIikubGVuZ3RoKXJldHVybiBzLmxlbmd0aDtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKylpZigiMCIhPT1zW2VdKXJldHVybiBlK3I7cmV0dXJuIHJ9ZnVuY3Rpb24gYShlLHQ9Mil7cmV0dXJuIE1hdGgubWluKDEyLGwoMSxNYXRoLm1pbixlLHQpKX1mdW5jdGlvbiBzKGUsdD0yKXtyZXR1cm4gTWF0aC5taW4oMTIsbCgwLE1hdGgubWF4LGUsdCkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQ9MDtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7Y29uc3Qgcj1jKGVbbl0pO3Q9TWF0aC5tYXgodCxyLmxlbmd0aCl9cmV0dXJuIE1hdGgubWluKDEyLHQpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIG5ldyByLkJpZyhlKS50b0ZpeGVkKCkuc3BsaXQoIi4iKVsxXXx8IiJ9ZnVuY3Rpb24gdShlLHQpe2NvbnN0IG49TWF0aC5wb3coMTAsdCk7cmV0dXJuIE1hdGgucm91bmQoKGUrTnVtYmVyLkVQU0lMT04pKm4pL259fSwzNjM5NTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YnVpbGRTZXJpZXM6KCk9Pm0sYnVpbGRTZXJpZXNQaWNrZXJHcm91cHM6KCk9PmMsZm9ybWF0RXhwaXJhdGlvbkRhdGU6KCk9PnMsZm9ybWF0RXhwaXJhdGlvbkRhdGVMb25nOigpPT5pLGdldERheXNVbnRpbEV4cGlyYXRpb246KCk9PmQsZ2V0U2VyaWVzU3RyaWtlczooKT0+aCxnZXRTZXJpZXNVbmRlcmx5aW5nczooKT0+cCwKaXNDb250aW51b3VzU2VyaWVzOigpPT5mfSk7dmFyIHI9big1ODMwMzgpLG89big0MDIzOSksbD1uKDE2ODgyNCksYT1uKDg5MzExNSk7ZnVuY3Rpb24gcyhlLHQ9KDAsYS5nZXRMb2NhbGVJc28pKCkpe3JldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0LHt5ZWFyOiJudW1lcmljIixkYXk6Im51bWVyaWMiLG1vbnRoOiJzaG9ydCJ9KS5mb3JtYXQoZSl9ZnVuY3Rpb24gaShlLHQ9ImxvbmciLG49KDAsYS5nZXRMb2NhbGVJc28pKCkpe3JldHVybiBlLmdldEZ1bGxZZWFyKCk9PT0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCk/bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobix7ZGF5OiJudW1lcmljIixtb250aDp0fSkuZm9ybWF0KGUpOm5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KG4se3llYXI6Im51bWVyaWMiLGRheToibnVtZXJpYyIsbW9udGg6dH0pLmZvcm1hdChlKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9W10sbj1mdW5jdGlvbihlPSgwLGEuZ2V0TG9jYWxlSXNvKSgpKXtjb25zdCB0PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGUse2RheToibnVtZXJpYyJ9KTtyZXR1cm4gZT0+dC5mb3JtYXQoZSl9KCkscj1mdW5jdGlvbihlPSgwLGEuZ2V0TG9jYWxlSXNvKSgpKXtjb25zdCB0PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGUse3llYXI6IjItZGlnaXQifSksbj1uZXcgSW50bC5EYXRlVGltZUZvcm1hdChlLHttb250aDoic2hvcnQifSk7cmV0dXJuKGUscj0hMSk9PnI/YCR7bi5mb3JtYXQoZSl9ICcke3QuZm9ybWF0KGUpfWA6bi5mb3JtYXQoZSl9KCk7Zm9yKGxldCBsPTA7bDxlLmxlbmd0aDtsKyspe2NvbnN0IGE9ZVtsXSxzPWVbbCsxXSxpPWVbbC0xXSxjPXRbdC5sZW5ndGgtMV0sdT1uKGEuZXhwRGF0ZSksZD0obz1hLmV4cERhdGUsbmV3IERhdGUoby5nZXRGdWxsWWVhcigpLG8uZ2V0TW9udGgoKSwxKSksbT1hLmV4cD09PXM/LmV4cHx8YS5leHA9PT1pPy5leHAscD0hIWkmJmkuZXhwRGF0ZS5nZXRGdWxsWWVhcigpIT09YS5leHBEYXRlLmdldEZ1bGxZZWFyKCksaD17dGl0bGU6bT9gJHt1fSAke2EuZmFtaWx5TmFtZX1gOnUsdmFsdWU6YS5pZCx0b29sdGlwOmEubGFiZWx9O2M/LmlkPT09ZC50b0lTT1N0cmluZygpP2MuaXRlbXMucHVzaChoKTp0LnB1c2goe2lkOmQudG9JU09TdHJpbmcoKSxpdGVtczpbaF0sdGl0bGU6cihkLHApLHN1Ymdyb3VwOnB9KX12YXIgbztyZXR1cm4gdH1mdW5jdGlvbiB1KGUsdCxuKXtjb25zdCBvPXMobiksbD1kKG4pLGE9KDAsci5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdLnJlcGxhY2UoLzIwKFxkXGQpLywiJDEiKTtyZXR1cm5gJHtvfSAoJHtsfSkgJHthPT09dD90OmAke2F9ICR7dH1gfWB9ZnVuY3Rpb24gZChlKXtyZXR1cm4gTWF0aC5tYXgoMCwoMCxvLmdldENhbGVuZGFyRGF5c0RpZmYpKGUsbmV3IERhdGUpKX1mdW5jdGlvbiBtKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG4gb2YgZSlmb3IoY29uc3QgZSBvZiBuLnNlcmllcyl7Y29uc3Qgcj0oMCxsLmdldERhdGVGcm9tWVlZWU1NREQpKGUuZXhwKSxvPXsuLi5lLGV4cERhdGU6cixmYW1pbHlEZXNjcmlwdGlvbjpuLmRlc2NyaXB0aW9uLGZhbWlseU5hbWU6bi5uYW1lLGxhYmVsOnUoZS51bmRlcmx5aW5nLG4ubmFtZSxyKSxzaG9ydElkOmAke2UuZXhwfWB9O3QucHVzaChvKX1yZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5leHAtdC5leHApKS5tYXAoKChlLHQsbik9Pih7Li4uZSxzaG9ydElkOmUuZXhwPT09blt0LTFdPy5leHB8fGUuZXhwPT09blt0KzFdPy5leHA/YCR7ZS5leHB9JHtlLnJvb3R9YDpgJHtlLmV4cH1gfSkpKX1mdW5jdGlvbiBwKGUpe2NvbnN0IHQ9bmV3IFNldDtmb3IoY29uc3QgbiBvZiBlKXQuYWRkKG4udW5kZXJseWluZyk7cmV0dXJuIEFycmF5LmZyb20odCl9ZnVuY3Rpb24gaChlKXtjb25zdCB0PW5ldyBTZXQsbj17fTtmb3IoY29uc3QgciBvZiBlKWZvcihjb25zdCBlIG9mIHIuc3RyaWtlcyl0LmFkZChlKSxuW2VdPShuW2VdPz8wKSsxO3JldHVybntzdHJpa2VzQ291bnQ6bixzdHJpa2VzOkFycmF5LmZyb20odCkuc29ydCgoKGUsdCk9PmUtdCkpLHN0cmlrZXNNYXA6dH19ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxyLnNwbGl0U3ltYm9sTmFtZSkoZS51bmRlcmx5aW5nKVsxXSE9PWUucm9vdH19LDMyNjA0OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtCYWRSZXF1ZXN0RXJyb3JSZXNwb25zZTooKT0+b30pO3ZhciByPW4oMTMzODc0KTtjbGFzcyBvIGV4dGVuZHMgci5FcnJvclJlc3BvbnNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iQmFkUmVxdWVzdEVycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1lLmVycm9yOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fX0sMTMzODc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Vycm9yUmVzcG9uc2U6KCk9PnJ9KTtjbGFzcyBye2NvbnN0cnVjdG9yKGUpe3RoaXMuX3N0YXR1cz1lLnN0YXR1cyx0aGlzLl9zdGF0dXNUZXh0PWUuc3RhdHVzVGV4dHx8IiJ9Z2V0SW5mbygpe3JldHVybntuYW1lOnRoaXMubmFtZSxzdGF0dXM6dGhpcy5fc3RhdHVzLHN0YXR1c1RleHQ6dGhpcy5fc3RhdHVzVGV4dCxtZXNzYWdlOnRoaXMubWVzc2FnZX19fX0sMTU4NzYzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0h0dHBFcnJvclJlc3BvbnNlOigpPT5vfSk7dmFyIHI9bigxMzM4NzQpO2NsYXNzIG8gZXh0ZW5kcyByLkVycm9yUmVzcG9uc2V7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5uYW1lPSJIdHRwRXJyb3JSZXNwb25zZSIsdGhpcy5fc3RhdHVzPj0yMDAmJnRoaXMuX3N0YXR1czwzMDA/dGhpcy5tZXNzYWdlPWBIdHRwIGZhaWx1cmUgZHVyaW5nIHBhcnNpbmcgZm9yICR7ZS51cmx8fCIodW5rbm93biB1cmwpIn1gOnRoaXMubWVzc2FnZT1gSHR0cCBmYWlsdXJlIHJlc3BvbnNlIGZvciAke2UudXJsfHwiKHVua25vd24gdXJsKSJ9OiAke2Uuc3RhdHVzfSAke2Uuc3RhdHVzVGV4dH1gfX19LDIxNjA3OShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoKXtyZXR1cm4gd2luZG93LlNDUkVFTkVSX0hPU1R8fCJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIn1mdW5jdGlvbiBvKGUsdCl7CmNvbnN0IG49cigpO3JldHVybiB0P2Ake259LyR7dH0vYDoxPT09ZS5sZW5ndGg/YCR7bn0vJHtlWzBdfS9gOmAke259L2dsb2JhbC9gfWZ1bmN0aW9uIGwoZSx0LG4sbyxsKXtjb25zdCBhPXIoKSxzPXtzeW1ib2w6ZSxmaWVsZHM6dH07byYmKHMubm9fNDA0PSJ0cnVlIiksbCYmKHMucHJpY2VfY29udmVyc2lvbj0iZGlzYWJsZWQiKSxuJiYoc1sibGFiZWwtcHJvZHVjdCJdPW4pO2NvbnN0IGk9bmV3IFVSTChgJHthfS9zeW1ib2xgKTtyZXR1cm4gT2JqZWN0LmtleXMocykuZm9yRWFjaCgoZT0+e2kuc2VhcmNoUGFyYW1zLmFwcGVuZChlLHNbZV0pfSkpLGkudG9TdHJpbmcoKX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuYCR7cigpfS9lbnVtP2lkPSR7ZX0mbGFuZz0ke3R8fHdpbmRvdy5sYW5ndWFnZXx8ImVuIn1gfWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm5gJHtyKCl9L2VudW0vb3JkZXJlZD9pZD0ke2V9Jmxhbmc9JHt0fHx3aW5kb3cubGFuZ3VhZ2V8fCJlbiJ9YH1uLmQodCx7Z2V0QmFja2VuZFVybDooKT0+byxnZXRFbnVtT3JkZXJlZFJlZ2lzdHJ5VXJsOigpPT5zLGdldEVudW1SZWdpc3RyeVVybDooKT0+YSxnZXRTeW1ib2xEYXRhVXJsOigpPT5sfSl9LDc5MDA0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjaGFuZ2VEZXNjcmlwdGlvbjooKT0+Yyxjb252ZXJ0VG9DdXN0b21TeW1ib2xMaXN0OigpPT5zLGNvbnZlcnRUb01hcmtlZFN5bWJvbExpc3Q6KCk9Pml9KTt2YXIgcj1uKDEzODYzOCksbz1uKDM4NDAxNyksbD1uKDU4MDUyNiksYT0obig2MjEyMCksbig5NjIwODEpLG4oMzA0Mzk5KSk7bigxNTU5MDApLG4oNTY5Mzk4KSxuKDc4ODAxKTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9ZS5pZCxuPWUubmFtZSx7c3ltYm9sczpyLGNvbGxhcHNlZFNlcGFyYXRvcnM6b309KDAsbC5sb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9scykoZS5zeW1ib2xzPz9bXSk7cmV0dXJue3R5cGU6ImN1c3RvbSIsaWQ6dCxuYW1lOm4sZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbixhY3RpdmU6ZS5hY3RpdmUsc3ltYm9sczpyLHNoYXJlZDplLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOm8scGVyc2lzdGVkU3RhdGU6ZSxtZXRhOntzZXJ2ZXJfaWQ6K3R9fX1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci5lbnN1cmVOb3ROdWxsKShlLmNvbG9yKSx7c3ltYm9sczpuLGNvbGxhcHNlZFNlcGFyYXRvcnM6b309KDAsbC5sb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9scykoZS5zeW1ib2xzPz9bXSk7cmV0dXJue3R5cGU6ImNvbG9yZWQiLGlkOnQsY29sb3I6dCxuYW1lOmUubmFtZT8/bnVsbCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGFjdGl2ZTplLmFjdGl2ZSxzeW1ib2xzOm4sc2hhcmVkOmUuc2hhcmVkLGNvbGxhcHNlZFNlcGFyYXRvcnM6byxwZXJzaXN0ZWRTdGF0ZTplLG1ldGE6e3NlcnZlcl9pZDorZS5pZH19fWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4oMCxvLmZldGNoKSgoMCxhLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0L2N1c3RvbS8ke2V9L3VwZGF0ZV9tZXRhL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2Rlc2NyaXB0aW9uOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oYS5oYW5kbGVKU09OKS50aGVuKHMpfX0sNTgwNTI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldExvY2FsTGlzdFN5bWJvbHM6KCk9Pm0sbG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHM6KCk9PmkscmVtb3RlUmVuYW1lU2VwYXJhdG9yczooKT0+dSxyZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGU6KCk9PmMsc2VwYXJhdG9yUmVtb3RlUmVwcmVzZW50YXRpb246KCk9PmR9KTt2YXIgcj1uKDEzODYzOCksbz1uKDkwMTAyMiksbD1uKDcwNTAxMiksYT1uKDkyMjI0OCk7Y29uc3Qgcz1uZXcgUmVnRXhwKGBeJHtvLlNFUEFSQVRPUl9QUkVGSVh9KOKBpCk/KC4rKSRgKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9W10sbj1bXTtyZXR1cm4gZS5mb3JFYWNoKChlPT57Y29uc3RbLHIsbF09ZS5tYXRjaChzKXx8W107aWYobCl7Y29uc3QgZT1gJHtvLlNFUEFSQVRPUl9QUkVGSVh9JHtsfWA7ciYmbi5wdXNoKGUpLHQucHVzaChlKX1lbHNlIHQucHVzaChlKX0pKSx7c3ltYm9sczp0LGNvbGxhcHNlZFNlcGFyYXRvcnM6bn19ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IG49aChlKTtyZXR1cm4gdC5tYXAoKGU9Pm4/Lmhhc093blByb3BlcnR5KGUpP2QoZSxuW2VdKTplKSl9ZnVuY3Rpb24gdShlLHQsbil7Y29uc3Qgcj1oKGUpO2lmKHI/Lmhhc093blByb3BlcnR5KG4pKXtjb25zdCBlPXJbbl07cmV0dXJue29sZFNlcGFyYXRvcjpkKHQsZSksbmV3U2VwYXJhdG9yOmQobixlKX19cmV0dXJue29sZFNlcGFyYXRvcjp0LG5ld1NlcGFyYXRvcjpufX1mdW5jdGlvbiBkKGUsdCl7Y29uc3Qgbj1lLnJlcGxhY2Uoby5TRVBBUkFUT1JfUFJFRklYLCIiKS5yZXBsYWNlKCLigaQiLCIiKTtyZXR1cm5gJHtvLlNFUEFSQVRPUl9QUkVGSVh9JHt0PyLigaQiOiIifSR7bn1gfWZ1bmN0aW9uIG0oZSl7Y29uc3QgdD1wKCk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0Lm1hcmtlZExpc3RzPy5saXN0cy5ieUNvbG9yW2VdPy5zeW1ib2xzfHx0LmN1c3RvbUxpc3RzLmxpc3RzLmJ5SWRbZV0/LnN5bWJvbHMpfWZ1bmN0aW9uIHAoKXtyZXR1cm4oMCxsLnNlcnZpY2UpKGEuU1lNQk9MX0xJU1RfU0VSVklDRSkuc3RvcmUuZ2V0U3RhdGUoKX1mdW5jdGlvbiBoKGUpe3JldHVybiBwKCkuY29sbGFwc2VkU2VwYXJhdG9yc1tlXX19LDYyMTIwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3BlbmRpbmdPcGVuU2VwYXJhdG9yczooKT0+cn0pO2NvbnN0IHI9bmV3IFNldH0sODc3NDQyKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHIsbyxsO24uZCh0LHtUaWNrZXJUeXBlOigpPT5yfSksZnVuY3Rpb24oZSl7ZS5UaWNrZXI9InRpY2tlciIsZS5EZXNjcmlwdGlvbj0iZGVzY3JpcHRpb24ifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuU3ltYm9sTmFtZT0ic2hvcnRfbmFtZSIsCmUuTGFzdD0ibGFzdF9wcmljZSIsZS5DaGFuZ2U9ImNoYW5nZSIsZS5DaGFuZ2VJblBlcmNlbnRzPSJjaGFuZ2VfcGVyY2VudCIsZS5Wb2x1bWU9InZvbHVtZSIsZS5QcmVQb3N0TWFya2V0PSJyY2hwIixlLkZsYWc9ImZsYWcifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2VbZS5ERVNDPS0xXT0iREVTQyIsZVtlLkFTQz0xXT0iQVNDIn0obHx8KGw9e30pKX0sNjY0Mzg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1N5bWJvbFNlYXJjaERpYWxvZ0NvbnRlbnRJdGVtOigpPT5VLGlzR3JvdXBlZFN5bWJvbEV4dGVuZGVkOigpPT5IfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big3ODMyNTQpLHM9bigxMzg2MzgpLGk9bigyNzMzMTApLGM9bigyNzgyNjMpLHU9big5MzAyMzEpLGQ9big1NjEyMDUpLG09big4MTA0MSkscD1uKDEwNjkwMCksaD1uKDIwMDY2NiksZj1uKDczODQ1OCksUz1uKDY0MTU5MyksZz1uKDU3NzEwOSkseT1uKDkyMzIzOSksYj1uKDUyMzI4Niksdj1uLm4oYik7ZnVuY3Rpb24gXyhlKXtjb25zdHtmbGFnczp0LGxpbWl0Om4sY2xhc3NOYW1lOm99PWUsYT10LnNsaWNlKDAsbikscz10Lmxlbmd0aC1uO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkodigpLmNvbnRhaW5lcixvKX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6digpLmZsYWdzfSxhLm1hcCgoKGUsdCk9PnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnYoKS5mbGFnQ29udGFpbmVyLHN0eWxlOnt6SW5kZXg6YS5sZW5ndGgtdH0sa2V5OnR9LHIuY3JlYXRlRWxlbWVudCh5LlN5bWJvbFNlYXJjaEZsYWcsey4uLmUsY2xhc3NOYW1lOnYoKS5mbGFnfSkpKSkpLHM+MCYmci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnYoKS5jb3VudGVyfSxgKyR7c31gKSl9dmFyIEU9bigyNjQzMTgpLEM9bigxNjM1NzYpLFQ9bi5uKEMpLHg9big5MzUxKSxJPW4ubih4KSx3PW4oNTM3NzMwKTtmdW5jdGlvbiBOKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGlzRXhwYW5kZWQ6byxvbkNsaWNrOmx9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnR9LHIuY3JlYXRlRWxlbWVudChFLkNsaWNrYWJsZUljb25CdXR0b24se2NvbG9yQ2xhc3NOYW1lOncuYnV0dG9uQ29sb3JzLHRpdGxlOm8/YS50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZXhwYW5kX3RvZ2dsZSJ9LG4oMjM5MTk4KSk6YS50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZXhwYW5kX3RvZ2dsZSJ9LG4oMzg2MjQ2KSksdGFiSW5kZXg6LTEsaWNvbjpvP1QoKTpJKCksb25DbGljazpsfSkpfXZhciBSPW4oMTE3MzEzKSxBPW4oODkzMTE1KSxMPW4oNzY5OSksaz1uKDU5NTE4OSksTz1uKDU5MDQ4NiksTT1uKDIzNDYzNiksRD1uKDQ4MDk3MiksUD1uKDE3ODQwNyksRj1uKDE0MDM0MCksQj1uKDM4NDQ1OCk7ZnVuY3Rpb24gSChlKXtyZXR1cm4gQm9vbGVhbigicGFyZW50ImluIGUmJmUucGFyZW50Lmdyb3VwZWRfc3ltYm9scyl9ZnVuY3Rpb24gVShlKXtjb25zdHtkYW5nZXJvdXNUaXRsZUhUTUw6dCx0aXRsZTpvLGRhbmdlcm91c0Rlc2NyaXB0aW9uSFRNTDp5LGRlc2NyaXB0aW9uOmIsc2VhcmNoVG9rZW46dixleGNoYW5nZU5hbWU6RSxtYXJrZXRUeXBlOkMsb25DbGljazpULGlzU2VsZWN0ZWQ6eCxpc0VvZDpJPSExLGlzQWN0aXZlOnc9ITEsaXNPZmZzZXQ6VT0hMSxpbnZhbGlkOlc9ITEsaXNIaWdobGlnaHRlZDpWPSExLGhpZGVFeGNoYW5nZTpHPSExLGhpZGVNYXJrZWRMaXN0RmxhZzpRPSExLG9uRXhwYW5kQ2xpY2s6eixpc0V4cGFuZGVkOiQsaG92ZXJDb21wb25lbnQ6cSxzb3VyY2U6Syxzb3VyY2UyOlksc291cmNlTG9nb3M6WD1bXSx0eXBlOmosaXRlbVJlZjpaLG9uTW91c2VPdXQ6Sixvbk1vdXNlT3ZlcjplZSxjbGFzc05hbWU6dGUsYWN0aW9uczpuZSxyZWZlcmVuY2U6cmUsaXRlbTpvZSxmdWxsU3ltYm9sTmFtZTpsZSxsb2dvRGF0YTphZSxzaG9ydE5hbWU6c2UsaGlkZUxvZ286aWU9ITEsZXhjaGFuZ2VUb29sdGlwOmNlLGhpZGVNYXJrZXRUeXBlOnVlLGlzUHJpbWFyeTpkZSxpc1Byb21vOm1lLGZvdW5kX2J5X2N1c2lwOnBlLGN1c2lwOmhlLGZvdW5kX2J5X2lzaW46ZmUsaXNpbjpTZSxpcG9EYXRlOmdlfT1lLHtjb3VudHJ5OnllLHByb3ZpZGVySWQ6YmV9PVhbMF18fHt9LHtpc1NtYWxsV2lkdGg6dmUsaXNNb2JpbGU6X2V9PSgwLHMuZW5zdXJlTm90TnVsbCkoKDAsci51c2VDb250ZXh0KShkLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkpLEVlPUJvb2xlYW4ocSksQ2U9IVcmJiFHJiYoX2V8fCFFZSksVGU9KDAscC51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpoLndhdGNoZWRUaGVtZX0pPT09bS5TdGRUaGVtZS5EYXJrP0IuZGFyazpCLmxpZ2h0LHhlPXEsSWU9Qm9vbGVhbihvZSYmImdyb3VwZWRfc3ltYm9scyJpbiBvZSYmb2UuZ3JvdXBlZF9zeW1ib2xzKSx3ZT0hKDAsUi5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYhKDAsdS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJiFXJiYhUSYmKCF6fHxJZSkmJmxlLE5lPSgwLHUuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfc3ltYm9sX2xvZ29zIiksUmU9KDAsdS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19leGNoYW5nZV9sb2dvcyIpLEFlPU5lfHwhKDAsdS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJiFpZSxMZT1ZPy5kZXNjcmlwdGlvbj8/SyxrZT1ZPy5uYW1lPz9LLE9lPW9lJiYoZnVuY3Rpb24oZSl7cmV0dXJuIEJvb2xlYW4oInBhcmVudCJpbiBlJiZlLnBhcmVudC5jb250cmFjdHMpfShvZSl8fEgob2UpKSxNZT14ZT9yLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5jZWxsLEIuaG92ZXJDZWxsKX0sci5jcmVhdGVFbGVtZW50KHhlLHsuLi5lLG9uTW91c2VPdmVyOnZvaWQgMCxvbk1vdXNlT3V0OnZvaWQgMH0pLHomJnIuY3JlYXRlRWxlbWVudChOLHtjbGFzc05hbWU6Qi5leHBhbmRUb2dnbGUsaXNFeHBhbmRlZDokLG9uQ2xpY2s6UGV9KSk6dm9pZCAwCjtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuaXRlbVJvdyx2ZSYmQi5tdWx0aUxpbmUsViYmQi5oaWdobGlnaHRlZCxWJiZUZSx4JiZCLnNlbGVjdGVkLHcmJkIuYWN0aXZlLFcmJkIuaW52YWxpZCwkJiZCLmV4cGFuZGVkLE9lJiZCLm5lc3RlZCwhX2UmJmYubW9iaWxldG91Y2gmJkVlJiZCLmhvdmVyLHRlKSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKCFUfHxlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxUKGUpfSwiZGF0YS1yb2xlIjplWyJkYXRhLXJvbGUiXXx8Imxpc3QtaXRlbSIsImRhdGEtcWEtaWQiOmVbImRhdGEtcWEtaWQiXSwiZGF0YS1hY3RpdmUiOncsImRhdGEtc3MtaXRlbSI6bWU/ImZlYXR1cmVkIjp2b2lkIDAsImRhdGEtc3ltYm9sLW5hbWUiOmxlLCJkYXRhLXR5cGUiOkMsImRhdGEtbmFtZSI6InN5bWJvbC1zZWFyY2gtZGlhbG9nLWNvbnRlbnQtaXRlbSIsb25Nb3VzZU91dDpKLG9uTW91c2VPdmVyOmVlLHJlZjpyZX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Qi5uZXN0ZWRCb3JkZXJPdmVybGFwfSksci5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6WixjbGFzc05hbWU6bCgpKEIuaXRlbUluZm9DZWxsLEIuY2VsbCxVJiZCLm9mZnNldCl9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmFjdGlvbkhhbmRsZVdyYXAsIUFlJiZCLmZpeGVkV2lkdGgpfSxyLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHdlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5tYXJrZWRGbGFnV3JhcCxVJiZCLm9mZnNldCl9LHIuY3JlYXRlRWxlbWVudChrLkZsYWcse2NsYXNzTmFtZTpmLm1vYmlsZXRvdWNoP0IubWFya2VkRmxhZ01vYmlsZTpCLm1hcmtlZEZsYWcsc3ltYm9sOmxlfSkpLEFlJiYhVSYmci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Qi5sb2dvfSxyLmNyZWF0ZUVsZW1lbnQoZy5TeW1ib2xMb2dvLHtrZXk6bGUsbG9nbzphZSxwbGFjZWhvbGRlcjpzZT9zZVswXTp2b2lkIDB9KSkpKSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5kZXNjcmlwdGlvbixBZSYmVSYmQi5vZmZzZXQpfSxvJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5zeW1ib2xUaXRsZSxXJiZCLmludmFsaWQsIUJvb2xlYW4oeSkmJkIubm9EZXNjcmlwdGlvbiwhZi5tb2JpbGV0b3VjaCYmImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOm8sImRhdGEtbmFtZSI6Imxpc3QtaXRlbS10aXRsZSJ9LG8sSSYmci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOkIuZGF0YU1vZGV9LCJFIikpLCFvJiZ0JiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5zeW1ib2xUaXRsZSxXJiZCLmludmFsaWQsIWYubW9iaWxldG91Y2gmJiJhcHBseS1vdmVyZmxvdy10b29sdGlwIiksImRhdGEtbmFtZSI6Imxpc3QtaXRlbS10aXRsZSIsImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC10ZXh0IjooMCxTLnJlbW92ZVRhZ3MpKHQpfSxyLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnR9fSksSSYmci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOkIuZGF0YU1vZGV9LCJFIikpLHZlJiZEZSgpKSksdmU/TWU6ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuY2VsbCxCLmRlc2NyaXB0aW9uQ2VsbCxFZSYmQi5hZGRpdGlvbil9LERlKCksTWUpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmV4Y2hhbmdlQ2VsbCxCLmNlbGwsIUNlJiZCLmhpZGRlbil9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmV4Y2hhbmdlRGVzY3JpcHRpb24pfSwhdmUmJm1lJiZyLmNyZWF0ZUVsZW1lbnQoTy5CYWRnZSx7Y2xhc3NOYW1lOkIucHJvbW9CYWRnZSxzaXplOk0uQmFkZ2VTaXplLlNtYWxsLGNoaWxkcmVuOmEudChudWxsLHZvaWQgMCxuKDk2NjQ3NSkpfSksIXVlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpCLm1hcmtldFR5cGV9LEMpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkIuc291cmNlfSx2ZSYmbWUmJnIuY3JlYXRlRWxlbWVudChPLkJhZGdlLHtjbGFzc05hbWU6bCgpKEIucHJvbW9CYWRnZSxCLnByb21vSWNvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSxzaXplOk0uQmFkZ2VTaXplLlNtYWxsLHRpdGxlOmEudChudWxsLHZvaWQgMCxuKDk2NjQ3NSkpLGxlZnRTbG90OnIuY3JlYXRlRWxlbWVudChELlNjYWxhYmxlSWNvbix7aWNvbjpGfSl9KSxkZSYmdiYmci5jcmVhdGVFbGVtZW50KGkuSWNvbix7Y2xhc3NOYW1lOmwoKSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLEIucHJpbWFyeUljb24pLHRpdGxlOmEudChudWxsLHZvaWQgMCxuKDU1MjA5NSkpLGljb246UH0pLCJlY29ub21pYyI9PT1qJiZMZSYma2U/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuZXhjaGFuZ2VOYW1lLCJhcHBseS1jb21tb24tdG9vbHRpcCIsQi5uYXJyb3csdWUmJkIud2lkZSksdGl0bGU6TGV9LGtlKTpyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5leGNoYW5nZU5hbWUsY2UmJiJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRpdGxlOmNlfSwoMCxMLnJlZGVmaW5lRXhjaGFuZ2VOYW1lKShFKSkpKSxyLmNyZWF0ZUVsZW1lbnQoXyx7a2V5OlJlP2Ake2xlfV9leGNoYW5nZWA6YCR7eWV9XyR7YmV9XyR7WT8uaWR9XyR7an1gLGNsYXNzTmFtZTpsKCkoQi5mbGFnLFgubGVuZ3RoPjE/Qi5tdWx0aXBsZUZsYWdzOnZvaWQgMCksbGltaXQ6dmU/Mzo1LGZsYWdzOlh9KSx6JiZyLmNyZWF0ZUVsZW1lbnQoTix7Y2xhc3NOYW1lOkIuZXhwYW5kVG9nZ2xlLGlzRXhwYW5kZWQ6JCxvbkNsaWNrOlBlfSkpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmNlbGwsQm9vbGVhbihuZSk/Qi5hY3Rpb25zQ2VsbDpCLmVtcHR5QWN0aW9ucyl9LG5lKSk7ZnVuY3Rpb24gRGUoKXsKaWYoVylyZXR1cm4gbnVsbDtjb25zdCBlPWwoKShCLnN5bWJvbERlc2NyaXB0aW9uLCFmLm1vYmlsZXRvdWNoJiYiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCBhcHBseS1vdmVyZmxvdy10b29sdGlwLS1hbGxvdy10ZXh0Iik7aWYoeSl7Y29uc3QgdD1mdW5jdGlvbigpezA7aWYocGUmJmhlKXJldHVybmBDVVNJUDogJHtoZX1gO2lmKGZlJiZTZSlyZXR1cm5gSVNJTjogJHtTZX1gO2lmKGdlKXJldHVybigwLGMuZm9ybWF0VGltZSkoMWUzKmdlLCgwLEEuZ2V0TG9jYWxlSXNvKSgpLCJ5ZWFyIiwiZGF5Iik7cmV0dXJuIG51bGx9KCk7cmV0dXJuIHQ/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuc3ltYm9sRGVzY3JpcHRpb24sQi5jb21wb3NpdGVEZXNjcmlwdGlvbil9LHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpsKCkoQi5zeW1ib2xEZXNjcmlwdGlvbk1haW4sIWYubW9iaWxldG91Y2gmJiJhcHBseS1vdmVyZmxvdy10b29sdGlwIGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOigwLFMucmVtb3ZlVGFncykoeSksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDp5fX0pLHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpCLnN5bWJvbERlc2NyaXB0aW9uRGV0YWlscyxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnR9fSkpOnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC10ZXh0IjooMCxTLnJlbW92ZVRhZ3MpKHkpLGNsYXNzTmFtZTplLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6eX19KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBQZShlKXt6JiYhZS5kZWZhdWx0UHJldmVudGVkJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHooZSkpfX19LDczMjUzMyhlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByLG87bi5kKHQse1JPV19IRUlHSFQ6KCk9PmEsdGFic1dpdGhIaWRkZW5NYXJrZXRUeXBlOigpPT5sfSksZnVuY3Rpb24oZSl7ZS5TdG9ja3M9InN0b2NrcyIsZS5GdXR1cmVzPSJmdXR1cmVzIixlLkZ1bmRzPSJmdW5kcyIsZS5Gb3JleD0iZm9yZXgiLGUuQ3J5cHRvPSJiaXRjb2luLGNyeXB0byIsZS5JbmRleD0iaW5kZXgiLGUuQm9uZD0iYm9uZCIsZS5FY29ub21pYz0iZWNvbm9taWMiLGUuT3B0aW9ucz0ib3B0aW9ucyJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5FY29ub21pY0NvdW50cnlTZWxlY3Q9ImVjb25vbWljLWNvdW50cnktc2VsZWN0IixlLkVjb25vbWljU291cmNlU2VsZWN0PSJlY29ub21pYy1zb3VyY2Utc2VsZWN0IixlLkVjb25vbWljQ2F0ZWdvcnlTZWxlY3Q9ImVjb25vbWljLWNhdGVnb3J5LXNlbGVjdCIsZS5TdG9ja3NDb3VudHJ5U2VsZWN0PSJzdG9ja3MtY291bnRyeS1zZWxlY3QiLGUuU3RvY2tUeXBlU2VsZWN0PSJzdG9jay10eXBlLXNlbGVjdCIsZS5TdG9ja1NlY3RvclNlbGVjdD0ic3RvY2stc2VjdG9yLXNlbGVjdCIsZS5GdXR1cmVzQ291bnRyeVNlbGVjdD0iZnV0dXJlcy1jb3VudHJ5LXNlbGVjdCIsZS5GdXR1cmVzQ2F0ZWdvcnlTZWxlY3Q9ImZ1dHVyZXMtY2F0ZWdvcnktc2VsZWN0IixlLkZ1bmRzQ291bnRyeVNlbGVjdD0iZnVuZHMtY291bnRyeS1zZWxlY3QiLGUuRnVuZHNUeXBlU2VsZWN0PSJmdW5kcy10eXBlLXNlbGVjdCIsZS5DcnlwdG9FeGNoYW5nZVNlbGVjdD0iY3J5cHRvLWV4Y2hhbmdlLXNlbGVjdCIsZS5DcnlwdG9UeXBlU2VsZWN0PSJjcnlwdG8tdHlwZS1zZWxlY3QiLGUuQ3J5cHRvRXhjaGFuZ2VUeXBlU2VsZWN0PSJjcnlwdG8tZXhjaGFuZ2UtdHlwZS1zZWxlY3QiLGUuRm9yZXhFeGNoYW5nZVNlbGVjdD0iZm9yZXgtZXhjaGFuZ2Utc2VsZWN0IixlLkluZGV4RXhjaGFuZ2VTZWxlY3Q9ImluZGV4LWV4Y2hhbmdlLXNlbGVjdCIsZS5Cb25kQ291bnRyeVNlbGVjdD0iYm9uZC1jb3VudHJ5LXNlbGVjdCIsZS5Cb25kVHlwZVNlbGVjdD0iYm9uZC10eXBlLXNlbGVjdCJ9KG98fChvPXt9KSk7Y29uc3QgbD1bImZ1dHVyZXMiLCJmb3JleCIsImJvbmQiLCJlY29ub21pYyIsIm9wdGlvbnMiXSxhPTUyfSw3ODMxMTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RklMVEVSX0RFRkFVTFRfVkFMVUU6KCk9PmEsVEFCX1NFTEVDVF9GSUxURVJfTUFQOigpPT5tLFRBQl9TT1VSQ0VfRklMVEVSX01BUDooKT0+ZH0pO3ZhciByPW4oMTg1MjcxKTtjb25zdCBvPSgpPT5be25hbWU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LG4oMzUwMTQ2KSksdmFsdWU6IiIsc2VhcmNoX3R5cGU6InVuZGVmaW5lZCJ9LHtuYW1lOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxuKDU1NTUxMCkpLHZhbHVlOiJzdG9ja3MiLHNlYXJjaF90eXBlOiJzdG9ja3MifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig1NjQ5MTcpKSx2YWx1ZToiZnVuZHMiLHNlYXJjaF90eXBlOiJmdW5kcyJ9LHtuYW1lOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxuKDUwNTA3OSkpLHZhbHVlOiJmdXR1cmVzIixzZWFyY2hfdHlwZToiZnV0dXJlcyJ9LHtuYW1lOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxuKDk3OTk3KSksdmFsdWU6ImZvcmV4IixzZWFyY2hfdHlwZToiZm9yZXgifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbigzODQ1OTcpKSx2YWx1ZToiY2ZkIixzZWFyY2hfdHlwZToiY2ZkIn0se25hbWU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LG4oNjU1MjM1KSksdmFsdWU6ImJpdGNvaW4sY3J5cHRvIixzZWFyY2hfdHlwZToiY3J5cHRvIn0se25hbWU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LG4oOTI3NDExKSksdmFsdWU6ImluZGV4IixzZWFyY2hfdHlwZToiaW5kZXgifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig3NjU0NDApKSx2YWx1ZToiYm9uZCIsc2VhcmNoX3R5cGU6ImJvbmQifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig1NDgzMjIpKSx2YWx1ZToiZWNvbm9taWMiLApzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XTsoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJuYW1lIil8fHt9KS53cml0YWJsZXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIm5hbWUiLHt2YWx1ZToiZGVmYXVsdCIsY29uZmlndXJhYmxlOiEwfSk7Y29uc3QgbD0oKT0+W3t0eXBlOiJ0YWJzIix1cmxQYXJhbToic2VhcmNoX3R5cGUiLHRhYnM6W3t2YWx1ZToidW5kZWZpbmVkIix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbigyMzM2OTApKSxmaWx0ZXJzOltdfSx7dmFsdWU6ImVjb25vbWljIix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbigxNzYzNzgpKSxmaWx0ZXJzOlt7dHlwZToic291cmNlLXNlbGVjdCIsdXJsUGFyYW06e2J5Q291bnRyeToiY291bnRyeSIsYnlFeGNoYW5nZToiZXhjaGFuZ2UifSxpZDoiZWNvbm9taWMtY291bnRyeS1zZWxlY3QiLGFsbFNlYXJjaFNvdXJjZXNUaXRsZTpyLnQobnVsbCx2b2lkIDAsbig1MTMzMDgpKSxncm91cHM6WyJOb3J0aCBBbWVyaWNhIiwiRXVyb3BlIiwiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJBc2lhIC8gUGFjaWZpYyJdfSx7dHlwZToic2VsZWN0IixpZDoiZWNvbm9taWMtc291cmNlLXNlbGVjdCIsdXJsUGFyYW06InNvdXJjZV9pZCIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbigzMjEwODkpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI4OTI4MCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgc291cmNlcyJ9LHt2YWx1ZToiX19XQiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigzMzYxMTIpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjU4NzYwKSl9LHt2YWx1ZToiX19FVVJPU1RBVCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2Mjg0NzIpKX0se3ZhbHVlOiJfX0FLQU1BSSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5OTMxNjgpKX0se3ZhbHVlOiJfX1RJIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc3MDEyKSl9LHt2YWx1ZToiX19PRUNEIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDExNzgxMCkpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1MjAwNDApKX0se3ZhbHVlOiJfX1dFRiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NTk5NTUpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzkwNDY2KSl9LHt2YWx1ZToiX19XSUYiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzQ1NjA5KSksc2hvcnRUaXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDcxNDE0NSkpfSx7dmFsdWU6IlVTQkxTIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDkwMzA4MykpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5Njk2MTMpKX0se3ZhbHVlOiJVU0ZSIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDExMDYyKSl9LHt2YWx1ZToiX19TSVBSSSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NzE3MjcpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzcwOTgyKSl9LHt2YWx1ZToiX19JRVAiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODMyODY2KSksc2hvcnRUaXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM3Nzc0MikpfSx7dmFsdWU6IlVTQkVBIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDU0MzU1MCkpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4OTcwMjkpKX0se3ZhbHVlOiJfX1dHQyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig0ODM5NjYpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODMyOTQ3KSl9LHt2YWx1ZToiVVNDQiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig3ODkzMTkpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzk5NDUxKSl9LHt2YWx1ZToiX19CQ0VBTyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NTQ2NjEpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNTQ2NDkpKX0se3ZhbHVlOiJfX0lNRiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NDAxODcpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjY1Njg5KSl9LHt2YWx1ZToiX19VRUlBIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDU5OTgwNykpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2Mjc1MDQpKX0se3ZhbHVlOiJDQVNDIix0aXRsZTpyLnQobnVsbCx7CmNvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2NTQ0NDApKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTE3ODA1KSl9LHt2YWx1ZToiR0JPTlMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTc4Mjk0KSksc2hvcnRUaXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDQ1MDU1MCkpfSx7dmFsdWU6Ik5PU04iLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODYzMjM2KSl9XX0se3R5cGU6InNlbGVjdCIsaWQ6ImVjb25vbWljLWNhdGVnb3J5LXNlbGVjdCIsdXJsUGFyYW06ImVjb25vbWljX2NhdGVnb3J5IixsYWJlbDpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXJfbGFiZWwifSxuKDU4MDU2OCkpLG9wdGlvbnM6W3t2YWx1ZTpudWxsLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTc3NzY3KSksYW5hbHl0aWNzTGFiZWw6IkFsbCBjYXRlZ29yaWVzIn0se3ZhbHVlOiJnZHAiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDE1NDApKX0se3ZhbHVlOiJsYnIiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODE1NzQxKSl9LHt2YWx1ZToicHJjZSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1MzYzMzMpKX0se3ZhbHVlOiJobHRoIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDIyMjAwMikpfSx7dmFsdWU6Im1ueSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig3NTQ0OTApKX0se3ZhbHVlOiJ0cmQiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjM5OTI5KSl9LHt2YWx1ZToiZ292Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDgzNDYzNCkpfSx7dmFsdWU6ImJzbnNzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM4NTE2MikpfSx7dmFsdWU6ImNuc20iLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjg1MTMpKX0se3ZhbHVlOiJoc2UiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjAxNTc0KSl9LHt2YWx1ZToidHhzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI3NjgzMykpfV19XX0se3ZhbHVlOiJzdG9ja3MiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDUyMjAxNCkpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJzdG9ja3MtY291bnRyeS1zZWxlY3QiLGFsbFNlYXJjaFNvdXJjZXNUaXRsZTpyLnQobnVsbCx2b2lkIDAsbig1MTMzMDgpKSxncm91cHM6WyJOb3J0aCBBbWVyaWNhIiwiRXVyb3BlIiwiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJBc2lhIC8gUGFjaWZpYyJdfSx7dHlwZToic2VsZWN0IixpZDoic3RvY2stdHlwZS1zZWxlY3QiLHVybFBhcmFtOiJzZWFyY2hfdHlwZSIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbig2NjI4MzQpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc2MTM2NCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgdHlwZXMifSx7dmFsdWU6ImNvbW1vbl9zdG9jayIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig0NTAyNzMpKX0se3ZhbHVlOiJwcmVmZXJyZWRfc3RvY2siLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDg3NDA0KSl9LHt2YWx1ZToiZGVwb3NpdG9yeV9yZWNlaXB0Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI5MjAyMCkpfSx7dmFsdWU6IndhcnJhbnQiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDU1NDA0KSl9LHt2YWx1ZToiaXBvX3N0b2NrIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDY3ODM1KSl9XX0se3R5cGU6InNlbGVjdCIsaWQ6InN0b2NrLXNlY3Rvci1zZWxlY3QiLHVybFBhcmFtOiJzZWN0b3IiLGxhYmVsOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlcl9sYWJlbCJ9LG4oODk1MTc2KSksb3B0aW9uczpbe3ZhbHVlOm51bGwsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1MDI1NTMpKSxhbmFseXRpY3NMYWJlbDoiQWxsIHNlY3RvcnMifSx7dmFsdWU6IkNvbW1lcmNpYWwgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzAxNTkzKSl9LHt2YWx1ZToiQ29tbXVuaWNhdGlvbnMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTM0MjQ2KSl9LHt2YWx1ZToiQ29uc3VtZXIgRHVyYWJsZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjczOTQzKSl9LHt2YWx1ZToiQ29uc3VtZXIgTm9uLUR1cmFibGVzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI0NjU1KSl9LHt2YWx1ZToiQ29uc3VtZXIgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjQ0OTIpKX0se3ZhbHVlOiJEaXN0cmlidXRpb24gU2VydmljZXMiLHRpdGxlOnIudChudWxsLHsKY29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI5NDgxMCkpfSx7dmFsdWU6IkVsZWN0cm9uaWMgVGVjaG5vbG9neSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2MTIwNzUpKX0se3ZhbHVlOiJFbmVyZ3kgTWluZXJhbHMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjYyNDgxKSl9LHt2YWx1ZToiRmluYW5jZSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2OTExODkpKX0se3ZhbHVlOiJHb3Zlcm5tZW50Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDUzNTU5KSl9LHt2YWx1ZToiSGVhbHRoIFNlcnZpY2VzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDYwMTM0OSkpfSx7dmFsdWU6IkhlYWx0aCBUZWNobm9sb2d5Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDE1MjgwNSkpfSx7dmFsdWU6IkluZHVzdHJpYWwgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzgyMTQwKSl9LHt2YWx1ZToiTWlzY2VsbGFuZW91cyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigzNjc3NjMpKX0se3ZhbHVlOiJOb24tRW5lcmd5IE1pbmVyYWxzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDE5MTQyKSl9LHt2YWx1ZToiUHJvY2VzcyBJbmR1c3RyaWVzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDcxMjE5OCkpfSx7dmFsdWU6IlByb2R1Y2VyIE1hbnVmYWN0dXJpbmciLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTk2NDIwKSl9LHt2YWx1ZToiUmV0YWlsIFRyYWRlIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM2NzU4MikpfSx7dmFsdWU6IlRlY2hub2xvZ3kgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjg0Njc3KSl9LHt2YWx1ZToiVHJhbnNwb3J0YXRpb24iLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDMyNzM4KSl9LHt2YWx1ZToiVXRpbGl0aWVzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM0MzI4NCkpfV19XX0se3ZhbHVlOiJmdXR1cmVzIix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbig5NDM5MDMpKSxmaWx0ZXJzOlt7dHlwZToic291cmNlLXNlbGVjdCIsdXJsUGFyYW06e2J5Q291bnRyeToiY291bnRyeSIsYnlFeGNoYW5nZToiZXhjaGFuZ2UifSxpZDoiZnV0dXJlcy1jb3VudHJ5LXNlbGVjdCIsYWxsU2VhcmNoU291cmNlc1RpdGxlOnIudChudWxsLHZvaWQgMCxuKDUxMzMwOCkpLGdyb3VwczpbIk5vcnRoIEFtZXJpY2EiLCJFdXJvcGUiLCJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIk1leGljbyBhbmQgU291dGggQW1lcmljYSIsIkFzaWEgLyBQYWNpZmljIl19LHt0eXBlOiJzZWxlY3QiLGlkOiJmdXR1cmVzLWNhdGVnb3J5LXNlbGVjdCIsdXJsUGFyYW06InByb2R1Y3QiLGxhYmVsOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlcl9sYWJlbCJ9LG4oNTgwNTY4KSksb3B0aW9uczpbe3ZhbHVlOm51bGwsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5Nzc3NjcpKSxhbmFseXRpY3NMYWJlbDoiQWxsIGNhdGVnb3JpZXMifSx7dmFsdWU6IkZpbmFuY2lhbC9FcXVpdHkiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzQ2NzkyKSl9LHt2YWx1ZToiRmluYW5jaWFsL0luZGV4Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDcyMTc2MikpfSx7dmFsdWU6IkZpbmFuY2lhbC9DdXJyZW5jeSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1OTg1OCkpfSx7dmFsdWU6IkZpbmFuY2lhbC9JbnRlcmVzdFJhdGUiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjAxNTUxKSl9LHt2YWx1ZToiQ29tbW9kaXR5L0VuZXJneSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigyMzM4OTApKX0se3ZhbHVlOiJDb21tb2RpdHkvQWdyaWN1bHR1cmUiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDQ2NzY3KSl9LHt2YWx1ZToiQ29tbW9kaXR5L01ldGFscyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig3NjExMjIpKX0se3ZhbHVlOiJDb21tb2RpdHkvV2VhdGhlciIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5MTE4NjIpKX0se3ZhbHVlOiJDb21tb2RpdHkvQnVpbGRpbmdNYXRlcmlhbHMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMTM3MzUzKSl9LHt2YWx1ZToiQ29tbW9kaXR5L0NoZW1pY2FscyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigzMzgxOTcpKX1dfV19LHt2YWx1ZToiZnVuZHMiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDQ4MDQ2MSkpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJmdW5kcy1jb3VudHJ5LXNlbGVjdCIsYWxsU2VhcmNoU291cmNlc1RpdGxlOnIudChudWxsLHZvaWQgMCxuKDUxMzMwOCkpLApncm91cHM6WyJOb3J0aCBBbWVyaWNhIiwiRXVyb3BlIiwiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJBc2lhIC8gUGFjaWZpYyJdfSx7dHlwZToic2VsZWN0IixpZDoiZnVuZHMtdHlwZS1zZWxlY3QiLHVybFBhcmFtOiJzZWFyY2hfdHlwZSIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbig2NjI4MzQpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc2MTM2NCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgdHlwZXMifSx7dmFsdWU6ImV0ZiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigyMjc4NjApKX0se3ZhbHVlOiJtdXR1YWxfZnVuZCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5NTc3OTgpKX0se3ZhbHVlOiJ0cnVzdF9mdW5kIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDkzNzkzNSkpfSx7dmFsdWU6InJlaXQiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTUwMTc0KSl9XX1dfSx7dmFsdWU6ImNyeXB0byIsdGl0bGU6ci50KG51bGwsdm9pZCAwLG4oODgyNDExKSksZmlsdGVyczpbe3R5cGU6InNvdXJjZS1zZWxlY3QiLHVybFBhcmFtOntieUNvdW50cnk6ImNvdW50cnkiLGJ5RXhjaGFuZ2U6ImV4Y2hhbmdlIn0saWQ6ImNyeXB0by1leGNoYW5nZS1zZWxlY3QiLGdyb3VwczpbIkNyeXB0b2N1cnJlbmN5IiwiRm9yZXgiXX0se3R5cGU6InNlbGVjdCIsaWQ6ImNyeXB0by10eXBlLXNlbGVjdCIsdXJsUGFyYW06InNlYXJjaF90eXBlIixsYWJlbDpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXJfbGFiZWwifSxuKDY2MjgzNCkpLG9wdGlvbnM6W3t2YWx1ZTpudWxsLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzYxMzY0KSksYW5hbHl0aWNzTGFiZWw6IkFsbCB0eXBlcyJ9LHt2YWx1ZToiY3J5cHRvX3Nwb3QiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDM3MzU2KSl9LHt2YWx1ZToiY3J5cHRvX3N3YXAiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMTY5MTQ1KSl9LHt2YWx1ZToiY3J5cHRvX2Z1dHVyZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjA2MTEpKX0se3ZhbHVlOiJjcnlwdG9faW5kZXgiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNTk3MjAwKSl9LHt2YWx1ZToiY3J5cHRvX2Z1bmRhbWVudGFsIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDk4NzQzNCkpfV19LHt0eXBlOiJzZWxlY3QiLGlkOiJjcnlwdG8tZXhjaGFuZ2UtdHlwZS1zZWxlY3QiLHVybFBhcmFtOiJjZW50cmFsaXphdGlvbiIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbigzNDQ3ODEpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM2NTM0MCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgZXhjaGFuZ2UgdHlwZXMifSx7dmFsdWU6ImNleCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigxODEzMDUpKX0se3ZhbHVlOiJkZXgiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzI4NTQ1KSl9XX1dfSx7dmFsdWU6ImZvcmV4Iix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbigyNTUwOTMpKSxmaWx0ZXJzOlt7dHlwZToic291cmNlLXNlbGVjdCIsdXJsUGFyYW06ImV4Y2hhbmdlIixpZDoiZm9yZXgtZXhjaGFuZ2Utc2VsZWN0Iixncm91cHM6WyJGb3JleCJdfV19LHt2YWx1ZToiaW5kZXgiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDU2MjY2NykpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJpbmRleC1leGNoYW5nZS1zZWxlY3QiLGdyb3VwczpbIk5vcnRoIEFtZXJpY2EiLCJFdXJvcGUiLCJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIk1leGljbyBhbmQgU291dGggQW1lcmljYSIsIkFzaWEgLyBQYWNpZmljIiwiRm9yZXgiXX1dfSx7dmFsdWU6ImJvbmQiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDI0MzQ2NCkpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJib25kLWNvdW50cnktc2VsZWN0IixhbGxTZWFyY2hTb3VyY2VzVGl0bGU6ci50KG51bGwsdm9pZCAwLG4oNTEzMzA4KSksZ3JvdXBzOlsiTm9ydGggQW1lcmljYSIsIkV1cm9wZSIsIk1pZGRsZSBFYXN0IC8gQWZyaWNhIiwiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwiQXNpYSAvIFBhY2lmaWMiXX0se3R5cGU6InNlbGVjdCIsdXJsUGFyYW06InNlYXJjaF90eXBlIixpZDoiYm9uZC10eXBlLXNlbGVjdCIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbig2NjI4MzQpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc2MTM2NCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgdHlwZXMifSx7dmFsdWU6ImJvbmRfZ292Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDgzNDYzNCkpfSx7dmFsdWU6ImJvbmRfY29ycCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2NzU0NDMpKX1dfV19LHt2YWx1ZToib3B0aW9ucyIsdGl0bGU6ci50KG51bGwsdm9pZCAwLG4oNTg3NDY0KSksCmZpbHRlcnM6W119XX1dOyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsIm5hbWUiKXx8e30pLndyaXRhYmxlfHxPYmplY3QuZGVmaW5lUHJvcGVydHkobCwibmFtZSIse3ZhbHVlOiJkZWZhdWx0Iixjb25maWd1cmFibGU6ITB9KTtjb25zdCBhPW51bGw7ZnVuY3Rpb24gcyhlKXtyZXR1cm4ic291cmNlLXNlbGVjdCI9PT1lLnR5cGV9ZnVuY3Rpb24gaShlKXtyZXR1cm4ic2VsZWN0Ij09PWUudHlwZX1jb25zdCBjPW5ldyBNYXAobCgpWzBdLnRhYnMubWFwKChlPT5bZS52YWx1ZSxlLmZpbHRlcnMuZmlsdGVyKGkpXSkpKSx1PW5ldyBNYXAobCgpWzBdLnRhYnMubWFwKChlPT5bZS52YWx1ZSxlLmZpbHRlcnMuZmlsdGVyKHMpWzBdXSkpKSxkPXt9LG09e307bygpLmZvckVhY2goKCh7dmFsdWU6ZSxzZWFyY2hfdHlwZTp0fSk9Pntjb25zdCBuPXUuZ2V0KHQpO24mJihkW2VdPXthbGxTZWFyY2hTb3VyY2VzVGl0bGU6bi5hbGxTZWFyY2hTb3VyY2VzVGl0bGUsdmFsdWU6bi5ncm91cHN9KTtjb25zdCByPWMuZ2V0KHQpO3ImJnIubGVuZ3RoPjAmJihtW2VdPXIpfSkpfSwyNDgzMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtRdWFsaWZpZWRTb3VyY2VzOigpPT5yLHF1YWxpZnlQcm9OYW1lOigpPT5sfSk7big5MzAyMzEpO3ZhciByLG89big3Mjc1NjkpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGV9IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuIGUucHJvX25hbWV9ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5wcm9fbmFtZX1lLmZyb21RdW90ZXNTbmFwc2hvdD1mdW5jdGlvbihlKXtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lfSxlLmZyb21RdW90ZXNSZXNwb25zZT1mdW5jdGlvbihlKXtjb25zdHt2YWx1ZXM6bixzeW1ib2xuYW1lOnIsc3RhdHVzOm99PWU7cmV0dXJuImVycm9yIj09PW8mJnI/cjp0KG4pfSxlLmZyb21RdW90ZXM9dCxlLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQ9ZnVuY3Rpb24oZSx0KXt7Y29uc3R7ZXhjaGFuZ2U6bn09ZSx7c3ltYm9sOnIscHJlZml4Omx9PXQ/P2U7cmV0dXJuKDAsby5nZXRTeW1ib2xGdWxsTmFtZSkoe25hbWU6cixleGNoYW5nZTpuLHByZWZpeDpsfSl9fSxlLmZyb21TeW1ib2xJbmZvPW4sZS5mcm9tU3ltYm9sTWVzc2FnZT1mdW5jdGlvbihlLHQpe3JldHVybiJzeW1ib2xfcmVzb2x2ZWQiPT09dC5tZXRob2Q/bih0LnBhcmFtc1sxXSk6ZX19KHJ8fChyPXt9KSl9LDE4NzMzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVTZWFyY2hTb3VyY2VzOigpPT5pLGZpbHRlclNlYXJjaFNvdXJjZXM6KCk9PmEsaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6KCk9Pmwsc3BsaXRTZWFyY2hTb3VyY2VzQnlHcm91cDooKT0+c30pO3ZhciByPW4oMzk4MTMyKTtjb25zdCBvPVtyLkV4Y2hhbmdlR3JvdXAuTm9ydGhBbWVyaWNhLHIuRXhjaGFuZ2VHcm91cC5FdXJvcGUsci5FeGNoYW5nZUdyb3VwLk1pZGRsZUVhc3RBZnJpY2Esci5FeGNoYW5nZUdyb3VwLk1leGljb1NvdXRoQW1lcmljYSxyLkV4Y2hhbmdlR3JvdXAuQXNpYVBhY2lmaWMsci5FeGNoYW5nZUdyb3VwLkNyeXB0b2N1cnJlbmN5LHIuRXhjaGFuZ2VHcm91cC5Gb3JleCxyLkV4Y2hhbmdlR3JvdXAuRWNvbm9teV07ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS5ncm91cCgpPT09ci5FeGNoYW5nZUdyb3VwLkFsbEV4Y2hhbmdlc31mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGUuZmlsdGVyKChlPT5lLmluY2x1ZGVzKHQpKSl9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57dC5oYXMoZS5ncm91cCgpKT90LmdldChlLmdyb3VwKCkpLnB1c2goZSk6dC5zZXQoZS5ncm91cCgpLFtlXSl9KSk7Zm9yKGNvbnN0IGUgb2YgdC52YWx1ZXMoKSl7ZVswXS5ncm91cCgpIT09ci5FeGNoYW5nZUdyb3VwLk5vcnRoQW1lcmljYSYmZS5zb3J0KCgoZSx0KT0+ZS5uYW1lKCkudG9Mb3dlckNhc2UoKT50Lm5hbWUoKS50b0xvd2VyQ2FzZSgpPzE6LTEpKX1yZXR1cm4gbmV3IE1hcChbLi4udC5lbnRyaWVzKCldLnNvcnQoKChbZV0sW3RdKT0+by5pbmRleE9mKGUpLW8uaW5kZXhPZih0KSkpKX1mdW5jdGlvbiBpKGUsdCl7cmV0dXJuIHQubWFwKCh0PT5uZXcgZSh0KSkpfX0sNTA0MDcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3ltYm9sU2VhcmNoRGlhbG9nQm9keUNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPW4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw0OTA1ODAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3ltYm9sU2VhcmNoRmVlZEhlYWRlcjooKT0+RH0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oNzgzMjU0KSxzPW4oMTM2NjMpLGk9big1NjEyMDUpLGM9bigxMzg2MzgpLHU9bigyNzMzMTApLGQ9bigyMzI2NzYpLG09big0Njc2NTIpLHA9big4NjU5NzIpLGg9big4OTY4MzEpLGY9big2MjY3MDQpLFM9bigyNDYzNTApLGc9bigyMTA5ODApLHk9big0OTE2NDApLGI9bigyMDcyNDEpLHY9big3MDg4NDIpLF89big3Mjc1NjkpLEU9big5MjMyMzkpLEM9bigxODYzODQpLFQ9big5MjE3MDgpLHg9bigzMDE3MDgpO2NvbnN0IEk9KDAsXy5nZXREZWZhdWx0U2VhcmNoU291cmNlKSgpO2Z1bmN0aW9uIHcoZSl7Y29uc3R7bW9kZTp0LHNldE1vZGU6byxzZWFyY2hSZWY6dyxjYWNoZWRJbnB1dFZhbHVlOk4sc2V0U2VsZWN0ZWRJbmRleDpSLHNldFNlbGVjdGVkU2VhcmNoU291cmNlOkEsaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6TCxhbGxTZWFyY2hTb3VyY2VzVGl0bGU6ayx1cHBlckNhc2VFbmFibGVkOk8sc3ltYm9sU2VhcmNoQ29udGVudDpNfT0oMCxzLnVzZUVuc3VyZWRDb250ZXh0KShpLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCksRD1NLmN1cnJlbnRTZWxlY3RlZFNlYXJjaFNvdXJjZSxQPSgwLGMuZW5zdXJlTm90TnVsbCkoRCksRj0ic3ltYm9sU2VhcmNoIj09PXQsQj1MKFApLEg9Xy5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicyYmQiYmaz9rOlAubmFtZSgpLFU9KDAsci51c2VDYWxsYmFjaykoKCgpPT57SSYmKEEoSSksUigtMSksCncuY3VycmVudD8uZm9jdXMoKSl9KSxbdyxBXSksVz0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9Pnt3LmN1cnJlbnQmJihOLmN1cnJlbnQ9Tz93LmN1cnJlbnQudmFsdWUudG9VcHBlckNhc2UoKTp3LmN1cnJlbnQudmFsdWUpLG8oImV4Y2hhbmdlIil9KSxbdyxPLG9dKSxWPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e18uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMmJiFCP1UoKTpXKCl9KSxbQix3LE8sbyxVXSksRz1CP251bGw6ci5jcmVhdGVFbGVtZW50KEUuU3ltYm9sU2VhcmNoRmxhZyx7a2V5OlAudmFsdWUoKSxjbGFzc05hbWU6eC5pY29uLGNvdW50cnk6UC5jb3VudHJ5KCkscHJvdmlkZXJJZDpQLnByb3ZpZGVySWQoKSxzb3VyY2VJZDpQLnNvdXJjZUlkKCl9KTtyZXR1cm4gXy5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9GP3IuY3JlYXRlRWxlbWVudChwLlBpbGxDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7c2l6ZToieHNtYWxsIn19LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOiJzb3VyY2VzLWJ1dHRvbiJ9LHIuY3JlYXRlRWxlbWVudChkLlBpbGwse3R5cGU6Qj8iZ2hvc3QiOiJ0ZXJ0aWFyeSJ9LHIuY3JlYXRlRWxlbWVudChtLlBpbGxBY3RpdmVBcmVhLHtvbkNsaWNrOlcsImRhdGEtcWEtaWQiOiJzcy1maWx0ZXItc2VsZWN0LWJ1dHRvbiJ9LHIuY3JlYXRlRWxlbWVudChiLlBpbGxMYXlvdXRVbml2ZXJzYWwse3N0YXJ0SWNvblNsb3Q6ci5jcmVhdGVFbGVtZW50KGguUGlsbExheW91dEVxdWlsYXRlcmFsLG51bGwsRyksc3RhcnRUZXh0U2xvdDpCP3IuY3JlYXRlRWxlbWVudChTLlBpbGxQcmltYXJ5VGV4dCxudWxsLEgpOnIuY3JlYXRlRWxlbWVudChnLlBpbGxBY3RpdmVUZXh0LG51bGwsSCksZW5kSWNvblNsb3Q6Qj9yLmNyZWF0ZUVsZW1lbnQoeS5BcnJvd0ljb25QaWxsUGFydCx7b3BlbjohMX0pOnZvaWQgMH0pKSwhQiYmci5jcmVhdGVFbGVtZW50KG0uUGlsbEFjdGl2ZUFyZWEseyJkYXRhLXFhLWlkIjoic3MtZmlsdGVyLXJlc2V0LWJ1dHRvbiIsb25DbGljazpVfSxyLmNyZWF0ZUVsZW1lbnQoaC5QaWxsTGF5b3V0RXF1aWxhdGVyYWwsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoZi5TdmdJY29uUGlsbFBhcnQse2ljb25Tdmc6Q30pKSkpKSk6bnVsbDpGP3IuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKSh4LmZsYWdXcmFwLCJhcHBseS1jb21tb24tdG9vbHRpcCIsIUImJngud2l0aEZsYWcpLHRpdGxlOmEudChudWxsLHZvaWQgMCxuKDQ3OTI0NikpLG9uQ2xpY2s6ViwiZGF0YS1xYS1pZCI6InNvdXJjZXMtYnV0dG9uIn0sQiYmci5jcmVhdGVFbGVtZW50KHUuSWNvbix7Y2xhc3NOYW1lOnguaWNvbixpY29uOlR9KSxHLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKSh4LnRpdGxlKX0sSCksci5jcmVhdGVFbGVtZW50KHYuVG9vbFdpZGdldENhcmV0LHtjbGFzc05hbWU6eC5jYXJldCxkcm9wcGVkOiExfSkpOm51bGx9dmFyIE49big3ODMxMTYpLFI9bigxMjQ2MjUpLEE9big4MDg5NDYpO2Z1bmN0aW9uIEwoZSl7Y29uc3R7c2VsZWN0ZWRPcHRpb246dCxkZWZhdWx0T3B0aW9uOm4sb3B0aW9uczpvLG9uU2VsZWN0OmwsbGFiZWw6YSwuLi5zfT1lLHthbmNob3JQcm9wczppLHBvcG92ZXJQcm9wczpjfT0oMCxSLnVzZU1lbnVBbmNob3JQcm9wcykoKSx1PSgwLHIudXNlTWVtbykoKCgpPT5be3R5cGU6InRpdGxlIix0aXRsZTphLHZpc2libGU6Im1vYmlsZU9ubHkifSx7dHlwZToiZGl2aWRlciIsdmlzaWJsZToibW9iaWxlT25seSJ9LC4uLm8ubWFwKChlPT4oe3RpdGxlOmUudGl0bGUsb25DbGljazooKT0+bChlKSxzZWxlY3RlZDp0LnZhbHVlPT09ZS52YWx1ZX0pKSldKSxbbyxsLGMsYV0pLHY9KDAsci51c2VDYWxsYmFjaykoKCgpPT5sKG4pKSxbbCxuXSksXz10LnNob3J0VGl0bGU/P3QudGl0bGUsRT10LnNob3J0VGl0bGUmJnQuc2hvcnRUaXRsZSE9PXQudGl0bGU/dC50aXRsZTp2b2lkIDAsVD10LnZhbHVlIT09bi52YWx1ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQsbnVsbCxyLmNyZWF0ZUVsZW1lbnQocC5QaWxsQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6e3NpemU6InhzbWFsbCJ9fSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLnN9LHIuY3JlYXRlRWxlbWVudChkLlBpbGwse3R5cGU6VD8idGVydGlhcnkiOiJnaG9zdCJ9LHIuY3JlYXRlRWxlbWVudChtLlBpbGxBY3RpdmVBcmVhLHsuLi5pLHRvb2x0aXA6RSwiZGF0YS1xYS1pZCI6InNzLWZpbHRlci1zZWxlY3QtYnV0dG9uIn0sci5jcmVhdGVFbGVtZW50KGIuUGlsbExheW91dFVuaXZlcnNhbCx7c3RhcnRUZXh0U2xvdDpUP3IuY3JlYXRlRWxlbWVudChnLlBpbGxBY3RpdmVUZXh0LG51bGwsXyk6ci5jcmVhdGVFbGVtZW50KFMuUGlsbFByaW1hcnlUZXh0LG51bGwsXyksZW5kSWNvblNsb3Q6VD92b2lkIDA6ci5jcmVhdGVFbGVtZW50KHkuQXJyb3dJY29uUGlsbFBhcnQse29wZW46Yy5pc09wZW59KX0pKSxUJiZyLmNyZWF0ZUVsZW1lbnQobS5QaWxsQWN0aXZlQXJlYSx7b25DbGljazp2LCJkYXRhLXFhLWlkIjoic3MtZmlsdGVyLXJlc2V0LWJ1dHRvbiJ9LHIuY3JlYXRlRWxlbWVudChoLlBpbGxMYXlvdXRFcXVpbGF0ZXJhbCxudWxsLHIuY3JlYXRlRWxlbWVudChmLlN2Z0ljb25QaWxsUGFydCx7aWNvblN2ZzpDfSkpKSkpKSxyLmNyZWF0ZUVsZW1lbnQoQS5NZW51UG9wb3Zlcix7Li4uYyxpdGVtczp1fSkpfXZhciBrPW4oMzg2OTMxKSxPPW4oNzM4NDU4KSxNPW4oNTk0NzgwKTtmdW5jdGlvbiBEKGUpe2NvbnN0e3RyYWRpbmdGaWx0ZXJCdXR0b246dD1udWxsfT1lLHtpc1NtYWxsV2lkdGg6byxzZWxlY3RlZEZpbHRlclZhbHVlczpjLHNldFNlbGVjdGVkRmlsdGVyVmFsdWVzOnUsc2V0U2VsZWN0ZWRJbmRleDpkLHNlYXJjaFJlZjptLHN5bWJvbFNlYXJjaENvbnRlbnQ6cH09KDAscy51c2VFbnN1cmVkQ29udGV4dCkoaS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLGg9cC50YWJTZWxlY3RGaWx0ZXJzO2lmKF8uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMpewpyZXR1cm4gdHx8cC5jYW5DaGFuZ2VFeGNoYW5nZXx8aCYmaC5sZW5ndGg+MD9yLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoTS53cmFwLE0uc21hbGwsTS5uZXdTdHlsZXMsTy5tb2JpbGV0b3VjaCYmTS5tb2JpbGUpfSx0JiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLnRyYWRpbmdGaWx0ZXJCdXR0b25XcmFwfSx0KSxwLmNhbkNoYW5nZUV4Y2hhbmdlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLmZpbHRlckl0ZW19LHIuY3JlYXRlRWxlbWVudCh3LG51bGwpKSxoJiZoLm1hcCgoZT0+e2NvbnN0e2lkOnQsb3B0aW9uczpuLGxhYmVsOm99PWUsbD1uLmZpbmQoKGU9PmUudmFsdWU9PT1OLkZJTFRFUl9ERUZBVUxUX1ZBTFVFKSk7aWYoIWwpdGhyb3cgbmV3IEVycm9yKCJUaGVyZSBtdXN0IGJlIGRlZmF1bHQgZmlsdGVyIHZhbHVlIGluIGZpbHRlciBkZWZpbml0aW9uIik7Y29uc3QgYT1uLmZpbmQoKGU9PmUudmFsdWU9PT1jW3AuY3VycmVudFN5bWJvbFR5cGVdPy5bdF0pKXx8bDtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtrZXk6dCxjbGFzc05hbWU6TS5maWx0ZXJJdGVtfSxyLmNyZWF0ZUVsZW1lbnQoTCx7c2VsZWN0ZWRPcHRpb246YSxkZWZhdWx0T3B0aW9uOmwsb3B0aW9uczpuLG9uU2VsZWN0OmU9Pnt1KHAuY3VycmVudFN5bWJvbFR5cGUse1t0XTplLnZhbHVlfSksKDAsay50cmFja0V2ZW50KSgiTmV3IFNTIixwLmN1cnJlbnRTeW1ib2xUeXBlLG51bGw9PT1lLnZhbHVlP2UuYW5hbHl0aWNzTGFiZWw6ZS52YWx1ZSksZCgtMSksbS5jdXJyZW50Py5mb2N1cygpfSxsYWJlbDpvLCJkYXRhLXFhLWlkIjp0fSkpfSkpKTpyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLmVtcHR5U3BhY2V9KX1yZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKE0ud3JhcCxvJiZNLnNtYWxsKX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6TS5pdGVtfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLnRleHR9LG8/YS50KG51bGwsdm9pZCAwLG4oMTAwMzczKSk6YS50KG51bGwsdm9pZCAwLG4oNjEzMTYzKSkpKSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLml0ZW19LCFvJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLnRleHR9LGEudChudWxsLHZvaWQgMCxuKDM5Nzk4NykpKSxwLmNhbkNoYW5nZUV4Y2hhbmdlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLmV4Y2hhbmdlfSxyLmNyZWF0ZUVsZW1lbnQodyxudWxsKSkpKX19LDIwMTk2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xTZWFyY2hGZWVkOigpPT5nfSk7dmFyIHI9big3Nzk0NzQpLG89big2ODA5MTUpLGw9big5MTQ0ODcpLGE9bi5uKGwpLHM9bigxMzg2MzgpLGk9big3MTk0MjUpLGM9big1NjEyMDUpLHU9big0OTA1ODApLGQ9big5NjkxNjgpLG09bigxMzY2MykscD1uKDcyNzU2OSksaD1uKDI4NDU4KSxmPW4oNjQxOTApLFM9big1OTY4OTgpO2Z1bmN0aW9uIGcoZSl7Y29uc3R7b25Ub3VjaE1vdmU6dCxsaXN0UmVmOm4sY2xhc3NOYW1lOmwsbGlzdFdyYXBSZWY6Zyx2aXJ0dWFsTGlzdEtleTp5LGl0ZW1zOmIsZ2V0SXRlbVNpemU6dixoaWRlRmVlZDpfLGNhbkxvYWRNb3JlOkUsb25Mb2FkTW9yZVN5bWJvbHM6Q309ZSx7bW9kZTpULGlzU21hbGxXaWR0aDp4LGhhbmRsZUxpc3RXaWR0aDpJfT0oMCxtLnVzZUVuc3VyZWRDb250ZXh0KShjLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCksW3csTl09KDAsci51c2VTdGF0ZSkobnVsbCksUj0oMCxpLnVzZVJlc2l6ZU9ic2VydmVyKSgoZnVuY3Rpb24oW2VdKXtOKGUuY29udGVudFJlY3QuaGVpZ2h0KSxJKGUuY29udGVudFJlY3Qud2lkdGgpfSkpLEE9KDAsci51c2VDYWxsYmFjaykoKGU9Pntjb25zdHtpbmRleDp0LHN0eWxlOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6bn0sYlt0XSl9KSxbYl0pLEw9KDAsci51c2VDYWxsYmFjaykoKGU9PigwLHMuZW5zdXJlKShiW2VdLmtleSkpLFtiXSksaz0id2F0Y2hsaXN0Ij09PVQmJm51bGwhPT13LE89KDAsaC51c2VJbnRlcnNlY3Rpb25PYnNlcnZlcikoKGU9Pntjb25zdCB0PWUucG9wKCk7dm9pZCAwIT09dCYmdC5pc0ludGVyc2VjdGluZyYmQyYmQygpfSkse3RocmVzaG9sZDowLHJvb3RNYXJnaW46IjBweCAwcHggMjBweCAwcHgiLHJvb3Q6Z30pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkoUy53cmFwLGsmJlMud2F0Y2hsaXN0LF8mJlMubm9GZWVkLF8mJnAuaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMmJlMubmV3U3R5bGVzLGwpLG9uVG91Y2hNb3ZlOnQscmVmOlJ9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmcsY2xhc3NOYW1lOmEoKShTLnNjcm9sbENvbnRhaW5lcixfJiZTLm5vRmVlZCl9LGs/ci5jcmVhdGVFbGVtZW50KG8uVmFyaWFibGVTaXplTGlzdCx7a2V5OnkscmVmOm4sY2xhc3NOYW1lOlMud2F0Y2hsaXN0Q29udGFpbmVyLHdpZHRoOiIxMDAlIixoZWlnaHQ6KDAscy5lbnN1cmVOb3ROdWxsKSh3KSxpdGVtQ291bnQ6Yi5sZW5ndGgsaXRlbVNpemU6dixjaGlsZHJlbjpBLGl0ZW1LZXk6TCxvdmVyc2NhbkNvdW50OjIwLGRpcmVjdGlvbjooMCxkLmlzUnRsKSgpPyJydGwiOiJsdHIifSk6ci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkoUy5saXN0Q29udGFpbmVyLHgmJlMubXVsdGlMaW5lSXRlbXNDb250YWluZXIpfSwhcC5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicyYmci5jcmVhdGVFbGVtZW50KHUuU3ltYm9sU2VhcmNoRmVlZEhlYWRlcixudWxsKSwuLi5iLEUmJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7a2V5OmBvYnNlcnZlci0ke2IubGVuZ3RofWAsY2xhc3NOYW1lOmEoKShTLnNwaW5uZXJDb250YWluZXIseCYmUy5sYXJnZVNwaW5uZXIpLHJlZjpPfSxyLmNyZWF0ZUVsZW1lbnQoZi5TcGlubmVyLHtzaXplOng/InNtYWxsIjoibWluaSJ9KSkpKSkpfX0sNTk3NjU0KGUsdCxuKXsKInVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xTZWFyY2hJdGVtc0RpYWxvZzooKT0+Z259KTt2YXIgcixvLGw9big3Nzk0NzQpLGE9big5MTQ0ODcpLHM9bi5uKGEpLGk9big5MzAyMzEpLGM9big3ODMyNTQpLHU9bigyMjUyOTgpLGQ9big4NTE0NTgpLG09big3Mjc1NjkpO2Z1bmN0aW9uIHAoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtsZXQgdCxuPTAscj0wO2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtjb25zdCBsPWVbb107aWYoIndoaXRlc3BhY2UiIT09bC50eXBlKXN3aXRjaChuKXtjYXNlIDA6aWYoIm51bWJlciIhPT1sLnR5cGV8fDEhPStsLnZhbHVlKXJldHVybltdO249MTticmVhaztjYXNlIDE6aWYoMSE9PW58fCJkaXZpZGUiIT09bC50eXBlKXJldHVybltdO249Mix0PW8rMTticmVhaztjYXNlIDI6aWYoIm9wZW5CcmFjZSI9PT1sLnR5cGUpbj0zLHI9MTtlbHNlIGlmKCgwLGQuaXNCaW5hcnlPcGVyYXRvcikobC50eXBlKSlyZXR1cm5bXTticmVhaztjYXNlIDM6Im9wZW5CcmFjZSI9PT1sLnR5cGU/cisrOiJjbG9zZUJyYWNlIj09PWwudHlwZSYmKHItLSxyPD0wJiYobj0yKSl9fXJldHVybiBlLnNsaWNlKHQpfShlKTtyZXR1cm4gdC5sZW5ndGg/KDAsZC5mYWN0b3JPdXRCcmFjZXMpKHQpOigwLGQuZmFjdG9yT3V0QnJhY2VzKSgoMCxkLnRva2VuaXplKSgiMS8oIitoKGUpKyIpIikpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+InN5bWJvbCI9PT10LnR5cGUmJmQuc3ltYm9sVG9rZW5Fc2NhcGVSZS50ZXN0KHQudmFsdWUpP2UrYCcke3QudmFsdWV9J2A6ZSt0LnZhbHVlKSwiIil9ZnVuY3Rpb24gZihlKXtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsZC50b2tlbml6ZSkoZSksbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChlPT57aWYoInN5bWJvbCIhPT1lLnR5cGUpcmV0dXJuO2NvbnN0W3RdPSgwLGQucGFyc2VUb2tlbikoZSk7dCYmbi5wdXNoKHQpfSkpLG59KGUpO2lmKDE9PT10Lmxlbmd0aClyZXR1cm4gdFswXX1mdW5jdGlvbiBTKGUsdCxuKXtjb25zdCByPWUudmFsdWUsW28sbF09ZyhlLG4pLGE9KDAsbS5nZXRTeW1ib2xGdWxsTmFtZSkodCkscz1kLnN5bWJvbFRva2VuRXNjYXBlUmUudGVzdChhKT9gJyR7YX0nYDphO3JldHVybltyLnN1YnN0cmluZygwLGwpK3Mrci5zdWJzdHJpbmcobCtvLmxlbmd0aCksbCtzLmxlbmd0aF19ZnVuY3Rpb24gZyhlLHQpe2NvbnN0e3ZhbHVlOm4sc2VsZWN0aW9uU3RhcnQ6cn09ZSxvPSgwLGQudG9rZW5pemUpKHQ/bi50b1VwcGVyQ2FzZSgpOm4pLGw9KDAsZC5nZXRUb2tlbkF0UG9zKShvLHJ8fDApO3JldHVybltsPy52YWx1ZXx8IiIsbD9sLm9mZnNldDpuLmxlbmd0aCxvXX0hZnVuY3Rpb24oZSl7ZS5Jbml0PSJpbml0IixlLlZhcj0idmFyIixlLk9wZXJhdG9yPSJvcGVyYXRvciJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkluaXQ9MF09IkluaXQiLGVbZS5EaXY9MV09IkRpdiIsZVtlLkV4cHJlc3Npb249Ml09IkV4cHJlc3Npb24iLGVbZS5CcmFjZWRFeHByZXNzaW9uPTNdPSJCcmFjZWRFeHByZXNzaW9uIn0ob3x8KG89e30pKTt2YXIgeT1uKDU2OTM5OCksYj1uKDkzMDU2Niksdj1uKDgzOTQyNiksXz1uKDQxMTQwNyk7ZnVuY3Rpb24gRSgpe2NvbnN0IGU9ZnVuY3Rpb24oKXtjb25zdCBlPSgwLF8udHJhZGluZ1NlcnZpY2UpKCk7cmV0dXJuIGUmJjE9PT1lLmNvbm5lY3RTdGF0dXMoKT9lLmFjdGl2ZUJyb2tlcigpOm51bGx9KCk7cmV0dXJuIGU/e2Jyb2tlcjplLGFjY291bnRNZXRhaW5mbzooMCx2LmRlZmF1bHQpKCgoKT0+ZS5hY2NvdW50TWV0YWluZm8oKSkpfTpudWxsfWZ1bmN0aW9uIEMoKXtjb25zdCBlPWZ1bmN0aW9uKCl7Y29uc3RbZSx0XT0oMCxsLnVzZVN0YXRlKShFKTtyZXR1cm4oMCxsLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oMCxfLnRyYWRpbmdTZXJ2aWNlKSgpLG49KCk9Pnt0KEUoKSl9O3JldHVybiBlJiYoZS5vbkJyb2tlckNoYW5nZS5zdWJzY3JpYmUobnVsbCxuKSxlLm9uQ29ubmVjdGlvblN0YXR1c0NoYW5nZS5zdWJzY3JpYmUobnVsbCxuKSksKCk9PntlJiYoZS5vbkJyb2tlckNoYW5nZS51bnN1YnNjcmliZShudWxsLG4pLGUub25Db25uZWN0aW9uU3RhdHVzQ2hhbmdlLnVuc3Vic2NyaWJlKG51bGwsbikpfX0pLFtdKSxlfSgpLHQ9ZT8uYnJva2VyPz9udWxsLG49KDAsbC51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2lmKGUmJmUubWV0YWluZm8oKS5jb25maWdGbGFncy5zdXBwb3J0U3ltYm9sU2VhcmNoKXJldHVybiBlLm1ldGFpbmZvKCkuYmFja2VuZEJyb2tlck5hbWV8fGUubWV0YWluZm8oKS5pZC50b0xvd2VyQ2FzZSgpO3JldHVybn0odCkpLFt0XSkscj0oMCxsLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybiBlPy5tZXRhaW5mbygpLnRpdGxlO3JldHVybn0odCxuKSksW3Qsbl0pLG89KDAsbC51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2lmKGUpcmV0dXJue2xvZ29NaW5pVXJsOmUubWV0YWluZm8oKS5sb2dvTWluaVVybCxsb2dvTWluaUJsYWNrVXJsOmUubWV0YWluZm8oKS5sb2dvTWluaUJsYWNrVXJsfTtyZXR1cm59KHQpKSxbdF0pLGE9KDAsbC51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2lmKGUpe2NvbnN0IHQ9ZS5tZXRhaW5mbygpLmNvbmZpZ0ZsYWdzLnN1cHBvcnRVbmhpZGVTeW1ib2xTZWFyY2hHcm91cHM7aWYoMT09PWUuY29ubmVjdGlvblN0YXR1cygpJiZ0JiZlLnVuaGlkZVN5bWJvbFNlYXJjaEdyb3VwcylyZXR1cm4gZS51bmhpZGVTeW1ib2xTZWFyY2hHcm91cHMoKS5qb2luKCIsIil9cmV0dXJufSh0KSksW3RdKSxzPSgwLGwudXNlTWVtbykoKCgpPT5mdW5jdGlvbihlKXtyZXR1cm4gQm9vbGVhbihlPy5tZXRhaW5mbygpLmNvbmZpZ0ZsYWdzLnN1cHBvcnREaXNwbGF5QnJva2VyTmFtZUluU3ltYm9sU2VhcmNoKX0odCkpLFt0XSksW2ksY109KDAsbC51c2VTdGF0ZSkoKCgpPT5iLmdldEJvb2woInN5bWJvbGVkaXQudHJhZGFibGUiLCEwKSkpO3JldHVybigwLGwudXNlRWZmZWN0KSgoKCk9PntiLnNldFZhbHVlKCJzeW1ib2xlZGl0LnRyYWRhYmxlIixpKX0pLFtpXSkse2Jyb2tlcldyYXBwZXI6ZSwKYnJva2VySWQ6bixicm9rZXJUaXRsZTpyLGJyb2tlckxvZ29JbmZvOm8saXNCcm9rZXJDaGVja2VkOmksc2V0SXNCcm9rZXJDaGVja2VkOmMsZGlzcGxheUJyb2tlclN5bWJvbDpzLHVuaGlkZVN5bWJvbFNlYXJjaEdyb3VwczphfX12YXIgVD1uKDY5NzQ3MikseD1uKDM5ODEzMik7ZnVuY3Rpb24gSShlKXtjb25zdFt0LG5dPSgwLGwudXNlU3RhdGUpKCgoKT0+e2NvbnN0e3NlYXJjaFNvdXJjZXM6dH09ZSxuPWIuZ2V0SlNPTigic3ltYm9sZWRpdC5zZWxlY3RlZFNlYXJjaFNvdXJjZXMiLHt9KSxyPXt9O3JldHVybiBPYmplY3Qua2V5cyhuKS5mb3JFYWNoKChlPT57Y29uc3Qgbz10LmZpbmQoKHQ9PnQudmFsdWUoKT09PW5bZV0pKTtvJiYocltlXT1vKX0pKSxyfSkpO3JldHVyblt0LCgwLGwudXNlQ2FsbGJhY2spKCgoZSx0KT0+e24oKG49Pntjb25zdCByPXsuLi5uLFtlXTp0fTtyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD17fTtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChuPT57dFtuXT1lW25dLnZhbHVlKCl9KSksYi5zZXRKU09OKCJzeW1ib2xlZGl0LnNlbGVjdGVkU2VhcmNoU291cmNlcyIsdCl9KHIpLHJ9KSl9KSxbXSldfXZhciB3PW4oMTM4NjM4KTt2YXIgTj1uKDc4MzExNiksUj1uKDM0NDEwMyksQT1uKDMyMDU1KTtjb25zdCBMPW5ldyBTZXQoWyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwidHlwZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwibG9nbyIsInNvdXJjZS1sb2dvaWQiLCJ1cGRhdGVfbW9kZSIsInR5cGVzcGVjcyIsInNvdXJjZSIsInNvdXJjZTIiXSk7YXN5bmMgZnVuY3Rpb24gaygpe3JldHVybiBhc3luYyBmdW5jdGlvbihlKXtjb25zdCB0PVtdLG49YXdhaXQoMCxBLnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3RzRm9yQWxsKGUsTCk7cmV0dXJuIG4uZmlsdGVyKEQpLmZvckVhY2goKGU9Pntjb25zdHt2YWx1ZXM6e3Nob3J0X25hbWU6bixwcm9fbmFtZTpyLGRlc2NyaXB0aW9uOm8sdHlwZTpsLGxvZ286YSwic291cmNlLWxvZ29pZCI6cyxjb3VudHJ5X2NvZGU6aSxwcm92aWRlcl9pZDpjLHVwZGF0ZV9tb2RlOnUsdHlwZXNwZWNzOmQsc291cmNlOm0sc291cmNlMjpwfX09ZTtvJiZsJiZ0LnB1c2goe2Z1bGxfbmFtZTpyLHN5bWJvbDoic3ByZWFkIj09PWw/cjpuLGV4Y2hhbmdlOiJzcHJlYWQiPT09bD9udWxsOigwLFIuZ2V0RXhjaGFuZ2UpKHIpLGRlc2NyaXB0aW9uOm8sdHlwZTpsLHR5cGVzcGVjczpkLGxvZ286YSxzb3VyY2VfbG9nb2lkOnMsY291bnRyeTppPy50b0xvd2VyQ2FzZSgpLHByb3ZpZGVyX2lkOmM/LnRvTG93ZXJDYXNlKCkscGFyYW1zOiJlbmRvZmRheSI9PT11P1siZW9kIl06dm9pZCAwLHNvdXJjZTptLHNvdXJjZTI6cH0pfSkpLHR9KGIuZ2V0SlNPTigiU3ltYm9sU2VhcmNoLnJlY2VudCIsW10pLmZpbHRlcigoZT0+InN0cmluZyI9PXR5cGVvZiBlKSkpfWFzeW5jIGZ1bmN0aW9uIE8oZSl7Y29uc3QgdD1hd2FpdCBhc3luYyBmdW5jdGlvbihlKXtjb25zdCB0PWF3YWl0KDAsQS5zbmFwc2hvdGVyKSgpLmdldFNuYXBzaG90KGUsTCk7cmV0dXJuIEQodCk/dC52YWx1ZXMucHJvX25hbWU6bnVsbH0oZSk7bnVsbCE9PXQmJk0odCl9ZnVuY3Rpb24gTShlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuO2NvbnN0IHQ9bmV3IFNldChiLmdldEpTT04oIlN5bWJvbFNlYXJjaC5yZWNlbnQiLFtdKSk7dC5oYXMoZSkmJnQuZGVsZXRlKGUpLHQuaGFzKG51bGwpJiZ0LmRlbGV0ZShudWxsKSxiLnNldEpTT04oIlN5bWJvbFNlYXJjaC5yZWNlbnQiLFtlLC4uLnRdLnNsaWNlKDAsMzApKX1mdW5jdGlvbiBEKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c312YXIgUD1uKDM4NjkzMSksRj1uKDU4OTkxNSksQj1uKDQwMTA3OCksSD1uKDkzMTc1NyksVT1uKDM0OTM0MSksVz1uKDc2NTU5KSxWPW4oNDgwMjg0KSxHPW4oNzc3NjgwKSxRPW4oMjE0OTg3KSx6PW4oNjE2MzExKSwkPW4oMTg1MjcxKSxxPW4oMTQ5MjAwKSxLPW4oMzE1MzIwKSxZPW4oNDg4NzgyKSxYPW4oMTIzNjMxKSxqPW4oODY2NzEpLFo9bigxMzY3NTEpLEo9big1NDY1NTkpLGVlPW4oMzcwNjQyKSx0ZT1uKDYwNzM0NSksbmU9big3OTExNDApLHJlPW4oMzYzOTU4KSxvZT1uKDc2NTkxNCksbGU9big2MDE4NDEpLGFlPW4oNzU1NjI3KSxzZT1uKDgxMDA1OSksaWU9big3MDYwNTApLGNlPW4oNTUxNTA1KSx1ZT1uKDUxODc1KSxkZT1uKDU5NTE4OSksbWU9big3MjY4MjYpLHBlPW4oNjkyOTU2KTtmdW5jdGlvbiBoZShlKXtjb25zdHtzeW1ib2w6dCxjaGlsZHJlbjpyLHNob3dIaW50Om99PWUsYT0oMCxsLnVzZVJlZikobnVsbCkscz0oMCxsLnVzZUNhbGxiYWNrKSgoZT0+e2U/KGEuY3VycmVudD1lLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHVlLnByZXZlbnREZWZhdWx0KSk6YS5jdXJyZW50JiYoYS5jdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix1ZS5wcmV2ZW50RGVmYXVsdCksYS5jdXJyZW50PW51bGwpfSksW10pO3JldHVybiB0P2wuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnBlLmNvbnRhaW5lcn0sbC5jcmVhdGVFbGVtZW50KGRlLkZsYWcse2NsYXNzTmFtZTpwZS5mbGFnLHN5bWJvbDp0fSksbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnBlLmNvbnRlbnR9LHIpLG8mJmwuY3JlYXRlRWxlbWVudChtZS5IaW50UmVmZXJlbmNlYWJsZSx7YnV0dG9uVGV4dDokLnQobnVsbCx2b2lkIDAsbigxNDUzNDgpKSxoaWRlV2l0aFJlZmVyZW5jZTohMCxwbGFjZW1lbnQ6InRvcCIscmVmZXJlbmNlOnMsc2V0dGluZ3NIaW50S2V5OiJoaW50Lm9wdGlvbnNTeW1ib2xTZWFyY2giLHRleHQ6JC50KG51bGwsdm9pZCAwLG4oNTQyNjA5KSl9KSk6bC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnBlLmNvbnRlbnR9LHIpfXZhciBmZT1uKDU4MzAzOCksU2U9big4NDY3NzkpO2NvbnN0IGdlPWwubWVtbygoZnVuY3Rpb24oZSl7Y29uc3R7Y29sU3Bhbjp0LHByaWNlOm4scHJpY2VzY2FsZTpyLHN5bWJvbDpvfT1lLGE9KDAsbC51c2VNZW1vKSgoKCk9Pm5ldyBhZS5QcmljZUZvcm1hdHRlcih7CnByaWNlU2NhbGU6cj8/dm9pZCAwfSkpLFtyXSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgidHIiLHsiZGF0YS1xYS1pZCI6Im9wdGlvbi1jaGFpbi11bmRlcmx5aW5nLXJvdyJ9LGwuY3JlYXRlRWxlbWVudCgidGQiLHtjbGFzc05hbWU6U2UudW5kZXJseWluZ0NlbGwsY29sU3Bhbjp0LCJkYXRhLWNlbGwtaWQiOm99LGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOlNlLnVuZGVybHlpbmdCYWRnZX0sKDAsZmUuc3BsaXRTeW1ib2xOYW1lKShvKVsxXSwiICIsYS5mb3JtYXQobikpKSl9KSkseWU9WyJzeW1ib2wiXSxiZT1bInN0cmlrZSJdO2Z1bmN0aW9uIHZlKGUpe2NvbnN0e2N1cnJlbnRQcmljZTp0LGluaXRpYWxPcHRpb246cixvbkNoYW5nZVNvcnQ6byxvcHRpb25zOmEscHJpY2VzY2FsZTpzLHNlcmllOmksc29ydERlc2M6Y309ZSx7c3RyaWtlczp1LHVuZGVybHlpbmc6ZH09aSxtPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9e29wdGlvblR5cGU6W10sc3RyaWtlOltdLHN5bWJvbDpbXX07Zm9yKGNvbnN0IG4gb2YgT2JqZWN0LnZhbHVlcyhlKSlmb3IoY29uc3QgZSBvZiBPYmplY3QudmFsdWVzKG4pKSgwLGxlLmlzTnVtYmVyKShlLnN0cmlrZSkmJnQuc3RyaWtlLnB1c2goZS5zdHJpa2UpO2NvbnN0IG49bmV3IGFlLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOjJ9KTtyZXR1cm57b3B0aW9uVHlwZTpuLHN0cmlrZTpuZXcgYWUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAqKigwLGNlLmZpbmRNYXhQcmVjaXNpb24pKHQuc3RyaWtlKX0pLHN5bWJvbDpufX0oYSkscD1bXTtsZXQgaCxmLFMsZz1udWxsLHk9bnVsbDtmdW5jdGlvbiBiKGUpe3JldHVybiBlP3tzeW1ib2w6YCR7ZS5vcHRpb25UeXBlfSAkeygwLGllLmNoYWluRm9ybWF0TnVtYmVyKShlLnN0cmlrZSxtLnN0cmlrZSl9YH06e3N5bWJvbDoi4oCTIn19Zm9yKGxldCBlPTA7ZTx1Lmxlbmd0aDtlKyspe2NvbnN0IG49dVtlXSxvPWFbbl07aWYoIW8pY29udGludWU7Y29uc3QgYz17dHlwZToib3B0aW9uIixjYWxsOmIoby5jYWxsKSxjYWxsUGFydENvbG9yOnQ+PW4/Im91dC1vZi10aGUtbW9uZXkiOiJpbi10aGUtbW9uZXkiLGNhbGxJZDpvLmNhbGw/LnN5bWJvbCxjZW50cmFsOntzdHJpa2U6KDAsaWUuY2hhaW5Gb3JtYXROdW1iZXIpKG4sbS5zdHJpa2UpfSxwdXQ6YihvLnB1dCkscHV0UGFydENvbG9yOnQ8bj8ib3V0LW9mLXRoZS1tb25leSI6ImluLXRoZS1tb25leSIscHV0SWQ6by5wdXQ/LnN5bWJvbCx1bmRlcmx5aW5nOmkudW5kZXJseWluZyxzdHJpa2U6bn07IXJ8fHIhPT1vLmNhbGw/LnN5bWJvbCYmciE9PW8ucHV0Py5zeW1ib2x8fChmPXIsaD1yLFM9cikscC5wdXNoKGMpLHQ+PXVbZV0mJnQ8dVtlKzFdJiYoZz1lLHk9bC5jcmVhdGVFbGVtZW50KGdlLHtrZXk6ZCxjb2xTcGFuOjIqeWUubGVuZ3RoK2JlLmxlbmd0aCxwcmljZTp0LHByaWNlc2NhbGU6cyxzeW1ib2w6ZH0pLGh8fChoPWMuY2FsbElkKSxTfHwoUz1kLGY9Yy5jYWxsSWQ/P2MucHV0SWQ/P3ZvaWQgMCkpfWMmJihwLnJldmVyc2UoKSxudWxsIT09ZyYmKGc9cC5sZW5ndGgtZy0yKSk7cmV0dXJue3Nlcmllc0lkOmkuaWQscm93czpwLGNvbHNEYXRhOntjZW50cmFsQ29sczpiZSxjZW50cmFsQ29sc0RhdGE6e3N0cmlrZTp7YWxpZ246ImNlbnRlciIsc29ydDpjPyJkZXNjZW5kaW5nIjoiYXNjZW5kaW5nIix0aXRsZTpsLmNyZWF0ZUVsZW1lbnQoc2UuT3B0aW9uc0NoYWluU29ydGFibGVDZWxsLHtvbkNsaWNrOigpPT5vKCFjKSxzb3J0RGVzYzpjLHNvcnRBY3RpdmU6ITB9LCQudChudWxsLHtjb250ZXh0OiJwcmljZSJ9LG4oNDQ1MzMzKSkpfX0sc2lkZUNvbHM6eWUsc2lkZUNvbHNEYXRhOntzeW1ib2w6e2FsaWduOiJjZW50ZXIiLHRpdGxlOiQudChudWxsLHtjb250ZXh0OiJpbnN0cnVtZW50X3N5bWJvbF9uYW1lIn0sbigxNjM5ODApKSxjdXN0b21Db250ZW50UmVuZGVyOih7Y2VsbElkOmUsY2hpbGRyZW46dH0pPT5sLmNyZWF0ZUVsZW1lbnQoaGUse3Nob3dIaW50Omg9PT1lLHN5bWJvbDplfSx0KX19fSxpbml0aWFsU2Nyb2xsUG9zaXRpb25DZWxsSWQ6Uyxpbml0aWFsTmF2aWdhdGVkQ2VsbElkOmYsdW5kZXJseWluZ0luZGV4OmcsdW5kZXJseWluZ1Jvdzp5LHNlbGVjdGVkQ2VsbElkOnJ9fXZhciBfZT1uKDU5NTUxNyksRWU9big4ODQ2MzQpLENlPW4oODI3MDI5KSxUZT1uKDYzMjA2MCkseGU9big3MDEyNTkpO2NvbnN0IEllPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbHVtbnM9WyJvcHRpb24tdHlwZSIsInN0cmlrZSJdfWFzeW5jIGdldFNlcmllc09wdGlvbnMoZSx0LG4pe2NvbnN0e2V4cDpyLHVuZGVybHlpbmc6byxyb290Omx9PWUsYT0oMCx4ZS5jcmVhdGVTY2FuUGFyYW1NYW5hZ2VyKSh7Y29sdW1uczp0aGlzLl9jb2x1bW5zLGluZGV4X2ZpbHRlcnM6W3tuYW1lOiJ1bmRlcmx5aW5nX3N5bWJvbCIsdmFsdWVzOltvXX1dLGZpbHRlcjpbe2xlZnQ6InR5cGUiLG9wZXJhdGlvbjpFZS5GaWx0ZXJPcGVyYXRpb24uRXF1YWwscmlnaHQ6Im9wdGlvbiJ9LHtsZWZ0OiJleHBpcmF0aW9uIixvcGVyYXRpb246RWUuRmlsdGVyT3BlcmF0aW9uLkVxdWFsLHJpZ2h0OnJ9LHtsZWZ0OiJyb290IixvcGVyYXRpb246RWUuRmlsdGVyT3BlcmF0aW9uLkVxdWFsLHJpZ2h0Omx9XSxzb3J0Ontzb3J0Qnk6Im5hbWUiLHNvcnRPcmRlcjoiYXNjIn19KSx7c3ltYm9sczpzLGZpZWxkczppfT1hd2FpdCgwLF9lLmdldFNjYW4yRGF0YSkobixhLENlLk5vblN0b2NrTWFya2V0Lk9wdGlvbnMsdCk7aWYoIXMpcmV0dXJuW107Y29uc3QgYz17fTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCB0PVRlLlNjYW5uZXJVdGlscy5tYXBTY2FubmVyU3ltYm9sKGksZSkseyJvcHRpb24tdHlwZSI6bixzdHJpa2U6cn09dDtUZS5TY2FubmVyVXRpbHMuaXNPcHRpb25UeXBlKG4pJiZUZS5TY2FubmVyVXRpbHMuaXNTdHJpa2UocikmJihjW3JdfHwoY1tyXT17fSksY1tyXVtuXT17b3B0aW9uVHlwZTpuLHN0cmlrZTpyLHN5bWJvbDp0Lm5hbWV9KX1yZXR1cm4gY319LHdlPS9eXHcrOihbXHcmXSspKD88ZGF0ZT5bMC05XXs2fSkoUHxDKS0/WzAtOS5dKyQvCjt2YXIgTmU9big1NDAzMCk7ZnVuY3Rpb24gUmUoZSl7Y29uc3R7Y3VycmVudFByaWNlOnQsaW5pdGlhbE9wdGlvbjpyLG9uU2VsZWN0Om8scHJpY2VzY2FsZTphLHNjYW5uZXJMYWJlbDppLHNlcmllczpjfT1lLHU9KDAsdGUudXNlT3B0aW9uc0V2ZW50VHJhY2tlcikoKTsoMCxlZS51c2VPcGVuVHJhY2tpbmcpKEYuT3B0aW9uc1RyYWNrZXIuRWxlbWVudC5PcHRpb25zQ2hhaW5PcGVuKSwoMCxKLnVzZUFjdGl2aXR5VGltZVRyYWNraW5nKShGLk9wdGlvbnNUcmFja2VyLkVsZW1lbnQuT3B0aW9uc0NoYWluVGltZVNwZW50KTtjb25zdCBkPSgwLGwudXNlUmVmKSh0KTtkLmN1cnJlbnQ9dDtjb25zdFttLHBdPSgwLGwudXNlU3RhdGUpKCgoKT0+ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm4gbnVsbDtjb25zdCBuPWUubWF0Y2god2UpO2lmKCFuKXJldHVybiBudWxsO2NvbnN0IHI9TnVtYmVyKDIwK25bMl0pLG89blsxXTtyZXR1cm4gTnVtYmVyLmlzTmFOKHIpP251bGw6dC5maW5kKChlPT5lLmV4cD09PXImJmUucm9vdD09PW8pKT8/bnVsbH0ocixjKT8uaWQ/PygwLHcuZW5zdXJlRGVmaW5lZCkoY1swXSkuaWQpKSxbaCxmXT0oMCxsLnVzZVN0YXRlKSh7c3RhdGU6ImxvYWRpbmcifSksW1MsZ109bmUudXNlVFZTZXR0aW5ncy5ib29sZWFuKCJvcHRpb25zQ2hhaW4uc29ydERlc2MiLCExKSx5PSgwLGwudXNlTWVtbykoKCgpPT5bbV0pLFttXSksYj0oMCxsLnVzZU1lbW8pKCgoKT0+KDAscmUuYnVpbGRTZXJpZXNQaWNrZXJHcm91cHMpKGMpKSxbY10pLHY9KDAsbC51c2VNZW1vKSgoKCk9PiJzdWNjZXNzIj09PWguc3RhdGU/e3N0YXRlOiJzdWNjZXNzIixkYXRhOnZlKHtjdXJyZW50UHJpY2U6ZC5jdXJyZW50LGluaXRpYWxPcHRpb246cixvbkNoYW5nZVNvcnQ6ZyxvcHRpb25zOmgub3B0aW9ucyxwcmljZXNjYWxlOmEsc2VyaWU6aC5zZXJpZSxzb3J0RGVzYzpTfSl9OmgpLFtoLHIsYSxTLGddKSxfPSgwLGwudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD0oMCx3LmVuc3VyZURlZmluZWQpKGMuZmluZCgodD0+dC5pZD09PWUpKSk7cChlKSx1KEYuT3B0aW9uc1RyYWNrZXIuRWxlbWVudC5PcHRpb25zQ2hhaW5TZWxlY3RTZXJpZXMsKDAscmUuZ2V0RGF5c1VudGlsRXhwaXJhdGlvbikodC5leHBEYXRlKS50b1N0cmluZygpKX0pLFt1LGNdKTtyZXR1cm4oMCxsLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1uZXcgQWJvcnRDb250cm9sbGVyLHQ9KDAsdy5lbnN1cmVEZWZpbmVkKShjLmZpbmQoKGU9PmUuaWQ9PT1tKSkpO3JldHVybiBmKHtzdGF0ZToibG9hZGluZyJ9KSxJZS5nZXRTZXJpZXNPcHRpb25zKHQsaSxlLnNpZ25hbCkudGhlbigoZT0+e2Yoe3N0YXRlOiJzdWNjZXNzIixvcHRpb25zOmUsc2VyaWU6dH0pfSkpLmNhdGNoKChlPT57KDAsUS5pc0Fib3J0RXJyb3IpKGUpfHxmKHtzdGF0ZToiZXJyb3IifSl9KSksKCk9PntlLmFib3J0KCl9fSksW2ksbSxjXSksbC5jcmVhdGVFbGVtZW50KFguT3B0aW9uc0NoYWluV3JhcHBlcix7Y2xhc3NOYW1lOk5lLnJvb3R9LGwuY3JlYXRlRWxlbWVudChaLlBpY2tlcix7Y2xhc3NOYW1lOk5lLnNlbGVjdG9yLCJkYXRhLXFhLWlkIjoib3B0aW9uLWNoYWluLXBpY2tlciIsZ3JvdXBzOmIsbW9kZToic2luZ2xlLXNlbGVjdCIsb25TZWxlY3Q6Xyx2YWx1ZXM6eX0pLCJsb2FkaW5nIj09PXYuc3RhdGU/bC5jcmVhdGVFbGVtZW50KEguT3B0aW9uc0NoYWluU2tlbGV0b24se2NlbnRyYWxDb2xzQ291bnQ6MSxjbGFzc05hbWU6TmUuY2hhaW4sc2lkZUNvbHNDb3VudDoxfSk6ImVycm9yIj09PXYuc3RhdGU/bC5jcmVhdGVFbGVtZW50KG9lLkVtcHR5U3RhdGVCbG9jayx7Y2xhc3NOYW1lOnMoKShOZS5lbXB0eSxOZS5jaGFpbiksaWNvbkNsYXNzOk5lLmVtcHR5U3RhdGVJY29uLHRleHQ6JC50KG51bGwsdm9pZCAwLG4oMzM1NjczKSksdGl0bGU6JC50KG51bGwsdm9pZCAwLG4oMjg1MTMxKSl9KTpsLmNyZWF0ZUVsZW1lbnQoQWUse2RhdGE6di5kYXRhLG9uU2VsZWN0Om99KSl9ZnVuY3Rpb24gQWUoZSl7Y29uc3R7ZGF0YTp0LG9uU2VsZWN0Om59PWUscj0oMCxsLnVzZVJlZikobnVsbCksbz0oMCxsLnVzZVJlZikobnVsbCksYT0oMCxsLnVzZUNhbGxiYWNrKSgoZT0+eygwLGouc2Nyb2xsVG9Sb3cpKGUsci5jdXJyZW50KX0pLFtyXSk7KDAsei51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pnt0LmluaXRpYWxTY3JvbGxQb3NpdGlvbkNlbGxJZCYmYSh0LmluaXRpYWxTY3JvbGxQb3NpdGlvbkNlbGxJZCl9KSxbdCxhXSk7Y29uc3Qgcz0oMCxsLnVzZU1lbW8pKCgoKT0+W3tncm91cElkOnQuc2VyaWVzSWQscm93czp0LnJvd3MubWFwKChlPT4oe2NhbGxJZDplLmNhbGxJZCxwdXRJZDplLnB1dElkfSkpKX1dKSxbdF0pLHtoYW5kbGVUYWJsZUtleURvd246aSxuYXZpZ2F0ZWRJZDpjLHRhYmxlVGFiSW5kZXg6dX09KDAsSy51c2VLZXlib2FyZE5hdmlnYXRpb24pKG8sdC5pbml0aWFsTmF2aWdhdGVkQ2VsbElkLHMsYSxudWxsKTsoMCxsLnVzZUVmZmVjdCkoKCgpPT5vLmN1cnJlbnQ/LmZvY3VzKCkpLFtdKTtjb25zdCBkPSgwLGwudXNlQ2FsbGJhY2spKChlPT57aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PWUuY3VycmVudFRhcmdldC5kYXRhc2V0LmNlbGxJZDt0JiZuKHQpfSksW25dKTtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KHEuT3B0aW9uc0NoYWluLHtjbGFzc05hbWU6TmUuY2hhaW4sY29sc0RhdGE6dC5jb2xzRGF0YSxvblRhYmxlS2V5RG93bjppLHNjcm9sbENvbnRhaW5lclJlZjpyLHRhYmxlUmVmOm8sdGFibGVUYWJJbmRleDp1fSxsLmNyZWF0ZUVsZW1lbnQoInRib2R5IixudWxsLHQucm93cy5mbGF0TWFwKCgoZSxuKT0+W2wuY3JlYXRlRWxlbWVudChZLk9wdGlvbnNDaGFpbk9wdGlvblJvdyx7Y2FsbENvbG9yOmUuY2FsbFBhcnRDb2xvcixjYWxsTmF2aWdhdGVkOmUuY2FsbElkPT09YyxjYWxsU2VsZWN0ZWQ6ZS5jYWxsSWQ9PT10LnNlbGVjdGVkQ2VsbElkLGNvbHNEYXRhOnQuY29sc0RhdGEsa2V5OmUuc3RyaWtlLG9uQ2VsbENsaWNrOmQscHV0Q29sb3I6ZS5wdXRQYXJ0Q29sb3IscHV0TmF2aWdhdGVkOmUucHV0SWQ9PT1jLApwdXRTZWxlY3RlZDplLnB1dElkPT09dC5zZWxlY3RlZENlbGxJZCxyb3dEYXRhOmV9KSxuPT09dC51bmRlcmx5aW5nSW5kZXgmJnQudW5kZXJseWluZ1Jvd10pKSkpfXZhciBMZT1uKDIwOTYwKTtmdW5jdGlvbiBrZShlKXtjb25zdHtzeW1ib2w6dCxvblNlbGVjdDpuLGluaXRpYWxPcHRpb246cn09ZSx7cXVvdGVzOm8sY29tcGxldGVkOmF9PSgwLEIudXNlU3ltYm9sUXVvdGVzKSh0LCEwKSxzPSgwLEcudXNlR2V0U2VyaWVzKShvPy5bIm9wdGlvbnMtaW5mbyJdPy5mYW1pbGllcz8/W10pLGk9bz8ubGFzdF9wcmljZT8/MCxjPW8/LnByaWNlc2NhbGU/P251bGw7cmV0dXJuIGE/MD09PXMubGVuZ3RoP2wuY3JlYXRlRWxlbWVudChVLkVtcHR5U3ltYm9sUXVvdGVzLHtjbGFzc05hbWU6TGUuZW1wdHksc3ltYm9sOnR9KTpsLmNyZWF0ZUVsZW1lbnQoVi5PcHRpb25zU291cmNlVHJhY2tFdmVudFByb3ZpZGVyLHtzb3VyY2U6Ri5PcHRpb25zVHJhY2tlci5Tb3VyY2UuU3ltYm9sU2VhcmNofSxsLmNyZWF0ZUVsZW1lbnQoUmUse2N1cnJlbnRQcmljZTppLGluaXRpYWxPcHRpb246cixvblNlbGVjdDpuLHByaWNlc2NhbGU6YyxzY2FubmVyTGFiZWw6Im9wdGlvbnMtc3ltYm9sLXNlYXJjaCIsc2VyaWVzOnN9KSk6bC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6TGUucm9vdH0sbC5jcmVhdGVFbGVtZW50KFcuUGlja2VyU2tlbGV0b24se2NsYXNzTmFtZTpMZS5zZWxlY3Rvcn0pLGwuY3JlYXRlRWxlbWVudChILk9wdGlvbnNDaGFpblNrZWxldG9uLHtjbGFzc05hbWU6TGUuY2hhaW4sc2lkZUNvbHNDb3VudDoxLGNlbnRyYWxDb2xzQ291bnQ6MX0pKX1uKDEzODk5NCksbig5MjY5OTUpO3ZhciBPZT1uKDQwOTY0MCk7ZnVuY3Rpb24gTWUoZSl7Y29uc3QgdD0oMCxmZS5zcGxpdFN5bWJvbE5hbWUpKGUuc3ltYm9sKVsxXTtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOk9lLnRpdGxlfSxjLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sTmFtZTp0fX0sbig5MDE1MjcpKSwhMSl9dmFyIERlPW4oNzMyNTMzKSxQZT1uKDczNDY0MSksRmU9big2MDk1MjgpLEJlPW4oOTY0MzYxKSxIZT1uKDI3MzMxMCksVWU9big4MDk0MzYpLFdlPW4oNzE3OTMyKSxWZT1uKDU2MTIwNSksR2U9bigzNjY1OTcpLFFlPW4oOTI2MTUzKSx6ZT1uKDE4NzMzOSksJGU9big3MTcyNjMpLHFlPW4oOTc3Njk5KTtmdW5jdGlvbiBLZShlKXtjb25zdHtjbGFzc05hbWU6dCxjaGlsZHJlbjpuLC4uLnJ9PWU7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4ucixjbGFzc05hbWU6cygpKHFlLnRpdGxlLHQpfSxuKX12YXIgWWU9bigxMzY2MyksWGU9big5NDkzNzQpLGplPW4oMjAxNDQ0KSxaZT1uKDkyMzIzOSksSmU9big5MjE3MDgpLGV0PW4oNDA3OTQ3KTtmdW5jdGlvbiB0dChlKXtjb25zdHtzZWFyY2hTb3VyY2U6dCxvbkNsaWNrOm4scXVlcnlTdHJpbmc6cixpc0ZvY3VzZWQ6byxpZDphfT1lLHtzeW1ib2xTZWFyY2hDb250ZW50OmksaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6YyxhbGxTZWFyY2hTb3VyY2VzVGl0bGU6dSxpc01vYmlsZTpkfT0oMCxZZS51c2VFbnN1cmVkQ29udGV4dCkoVmUuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2dDb250ZXh0KSxwPWkuY3VycmVudFNlbGVjdGVkU2VhcmNoU291cmNlLGg9KDAsdy5lbnN1cmVOb3ROdWxsKShwKS52YWx1ZSgpLGY9Yyh0KSxTPWg/dC52YWx1ZSgpPT09aDpmLGc9KDAsbC51c2VNZW1vKSgoKCk9PigwLGplLmNyZWF0ZVJlZ0V4cExpc3QpKHIpKSxbcl0pLHk9dC5kZXNjcmlwdGlvbigpLGI9eSYmIWYsdj1tLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZmJiZ1P3U6dC5uYW1lKCksXz1zKCkoZXQuY29udGFpbmVyLGQ/ZXQubW9iaWxlOmV0LmRlc2t0b3AsUyYmZXQuc2VsZWN0ZWQsbyYmZXQuZm9jdXNlZCxmJiZldC5hbGxTZWxlY3RlZCxmJiYhMSwhZiYmZCYmZXQuYm9yZGVyZWQpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoIWQmJmV0LndyYXAsZiYmITEpLG9uQ2xpY2s6bixpZDphfSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpffSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpldC5pY29uV3JhcH0sZj9sLmNyZWF0ZUVsZW1lbnQoSGUuSWNvbix7Y2xhc3NOYW1lOnMoKShldC5pY29uLGV0LmFsbFNlbGVjdGVkSWNvbiksaWNvbjpKZX0pOmwuY3JlYXRlRWxlbWVudChaZS5TeW1ib2xTZWFyY2hGbGFnLHtjbGFzc05hbWU6ZXQuaWNvbixjb3VudHJ5OnQuY291bnRyeSgpLHByb3ZpZGVySWQ6dC5wcm92aWRlcklkKCksc291cmNlSWQ6dC5zb3VyY2VJZCgpfSkpLGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmV0LnRleHRCbG9ja30sbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKGV0LnRpdGxlLCFiJiYhZCYmZXQudGl0bGVXaXRob3V0RGVzYyl9LGwuY3JlYXRlRWxlbWVudChYZS5IaWdobGlnaHRlZFRleHQse2NsYXNzTmFtZTpzKCkoUyYmZXQuaGlnaGxpZ2h0ZWQpLHF1ZXJ5U3RyaW5nOnIsdGV4dDp2LHJ1bGVzOmd9KSksYiYmbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKGV0LmRlc2NyaXB0aW9uLCJhcHBseS1vdmVyZmxvdy10b29sdGlwIil9LGwuY3JlYXRlRWxlbWVudChYZS5IaWdobGlnaHRlZFRleHQse2NsYXNzTmFtZTpldC5oaWdobGlnaHRlZCxxdWVyeVN0cmluZzpyLHJ1bGVzOmcsdGV4dDp5fSkpKSkpfXZhciBudD1uKDEwNjkwMCkscnQ9bigyMDA2NjYpLG90PW4oODEwNDEpLGx0PW4oNTA0MDcpLGF0PW4oMTQwODk1KSxzdD1uKDQ4Nzc1MCksaXQ9big2NTk4ODQpO2NvbnN0IGN0PXtlbXB0eVRleHRDbGFzc05hbWU6aXQuZW1wdHlUZXh0fTtmdW5jdGlvbiB1dChlKXtjb25zdHtzZWFyY2hTb3VyY2VzOnR9PWUse3NldFNlbGVjdGVkSW5kZXg6cixzZXRTZWxlY3RlZFNlYXJjaFNvdXJjZTpvLHNldE1vZGU6YSxpc01vYmlsZTppLGVtcHR5U3RhdGU6dSxhdXRvZm9jdXM6ZH09KDAsWWUudXNlRW5zdXJlZENvbnRleHQpKFZlLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkscD0oMCwKbnQudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6cnQud2F0Y2hlZFRoZW1lfSk9PT1vdC5TdGRUaGVtZS5EYXJrP2F0OnN0LGg9KDAsV2UudXNlTWF0Y2hNZWRpYSkoVWVbIm1lZGlhLXBob25lLXZlcnRpY2FsIl0pLFtmLFNdPSgwLGwudXNlU3RhdGUpKCIiKSxnPSgwLGwudXNlTWVtbykoKCgpPT57cmV0dXJuWy4uLigwLHplLnNwbGl0U2VhcmNoU291cmNlc0J5R3JvdXApKHQpLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2dyb3VwOmUsc291cmNlczooMCxtLmNyZWF0ZUdyb3VwQ29sdW1ucykoKDAsemUuZmlsdGVyU2VhcmNoU291cmNlcykodCxmKSxoPzE6Mil9KSkpfSksW3QsZixoXSkseT0oMCxsLnVzZU1lbW8pKCgoKT0+KDAseC5nZXRFeGNoYW5nZXNHcm91cE5hbWUpKCkpLFtdKSxiPSgwLGwudXNlUmVmKShudWxsKSx2PSgwLGwudXNlUmVmKShudWxsKSx7Zm9jdXNlZEl0ZW06XyxhY3RpdmVEZXNjZW5kYW50OkUsaGFuZGxlS2V5RG93bjpDLHJlc2V0Rm9jdXNlZEl0ZW06VH09KDAsUWUudXNlU291cmNlc0tleWJvYXJkTmF2aWdhdGlvbikoZyxoLHYpOygwLGwudXNlTGF5b3V0RWZmZWN0KSgoKCk9PntkJiZiPy5jdXJyZW50Py5mb2N1cygpfSksW10pO2NvbnN0IEk9dT9sLmNyZWF0ZUVsZW1lbnQodSxudWxsKTpsLmNyZWF0ZUVsZW1lbnQoJGUuU3ltYm9sU2VhcmNoTm9SZXN1bHQse2NsYXNzTmFtZTppdC5ub1Jlc3VsdHNEZXNrdG9wfSxsLmNyZWF0ZUVsZW1lbnQoSGUuSWNvbix7aWNvbjpwLGNsYXNzTmFtZTppdC5lbXB0eUljb259KSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppdC5lbXB0eVRleHR9LGMudChudWxsLHZvaWQgMCxuKDQ3MjI5OSkpKSksdz0hKGcubGVuZ3RoJiZnLmV2ZXJ5KChlPT4wPT09ZS5zb3VyY2VzLmxlbmd0aCkpKTtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KGx0LlN5bWJvbFNlYXJjaERpYWxvZ0JvZHlDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpjdH0sbC5jcmVhdGVFbGVtZW50KEdlLkRpYWxvZ1NlYXJjaCx7cGxhY2Vob2xkZXI6Yy50KG51bGwsdm9pZCAwLG4oMzUyMTI3KSksb25DaGFuZ2U6ZnVuY3Rpb24oZSl7VCgpLFMoZS50YXJnZXQudmFsdWUpLHYmJnYuY3VycmVudCYmKHYuY3VycmVudC5zY3JvbGxUb3A9MCl9LHJlZmVyZW5jZTpiLG9uS2V5RG93bjpDLG9uQmx1cjpULCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiOkV9KSx3P2wuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOnYsY2xhc3NOYW1lOnMoKShpdC5jb250ZW50TGlzdCwhaSYmaXQuY29udGVudExpc3REZXNrdG9wKSxvblRvdWNoU3RhcnQ6ZnVuY3Rpb24oKXtiLmN1cnJlbnQ/LmJsdXIoKX19LGcubWFwKCgoZSx0KT0+e2NvbnN0e2dyb3VwOm4sc291cmNlczpyfT1lO3JldHVybiAwPT09ci5sZW5ndGg/bC5jcmVhdGVFbGVtZW50KGwuRnJhZ21lbnQse2tleTpufSk6bC5jcmVhdGVFbGVtZW50KGwuRnJhZ21lbnQse2tleTpufSxuJiZuIT09eC5FeGNoYW5nZUdyb3VwLkFsbEV4Y2hhbmdlcyYmbC5jcmVhdGVFbGVtZW50KEtlLHtjbGFzc05hbWU6cygpKCFpJiZpdC5ncm91cFRpdGxlRGVza3RvcCl9LHlbbl0pLGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShpdC5zZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lciwhaSYmaXQuc2VhcmNoU291cmNlSXRlbXNDb250YWluZXJEZXNrdG9wLGgmJml0Lm9uZUNvbHVtbil9LHIubWFwKCgoZSxuKT0+bC5jcmVhdGVFbGVtZW50KCJkaXYiLHtrZXk6YCR7dH0tJHtufWAsY2xhc3NOYW1lOml0LmNvbHVtbn0sZS5tYXAoKChlLHIpPT5sLmNyZWF0ZUVsZW1lbnQodHQse2lkOigwLFFlLmNyZWF0ZUl0ZW1JZCkodCxuLHIpLGlzRm9jdXNlZDohIV8mJihfLmdyb3VwSW5kZXg9PT10JiZfLmNvbD09PW4mJl8ucm93PT09ciksa2V5OmUudmFsdWUoKSxzZWFyY2hTb3VyY2U6ZSxxdWVyeVN0cmluZzpmLG9uQ2xpY2s6Ti5iaW5kKG51bGwsZSl9KSkpKSkpKSl9KSkpOkkpO2Z1bmN0aW9uIE4oZSl7byhlKSxhKCJzeW1ib2xTZWFyY2giKSxyKC0xKX19dmFyIGR0PW4oMTI5MzY1KSxtdD1uKDMxMjI5NSkscHQ9big0NzUxNjQpO2xldCBodDt2YXIgZnQ9bigyMzU3MjQpLFN0PW4oODA5NDQ0KSxndD1uKDc0OTY5NykseXQ9big5ODc2ODMpLGJ0PW4oMTU3NjgxKSx2dD1uKDMwMzIzOCksX3Q9big5ODk4OTQpLEV0PW4oNDA4NjIwKTtmdW5jdGlvbiBDdChlKXtjb25zdHtzdGF0ZTp0LHVwZGF0ZTpyLGNsYXNzTmFtZTpvfT1lLHtzZWFyY2hSZWY6YSxmb3JjZVVwZGF0ZTp1LHVwcGVyQ2FzZUVuYWJsZWQ6bX09KDAsdy5lbnN1cmVOb3ROdWxsKSgoMCxsLnVzZUNvbnRleHQpKFZlLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkpLGY9KDAsZC50b2tlbml6ZSkoYS5jdXJyZW50Py52YWx1ZSksUz1mdW5jdGlvbihlKXtjb25zdCB0PXticmFjZUJhbGFuY2U6MCxjdXJyZW50U3RhdGU6InZhciIsd2FybmluZ3M6W10sZXJyb3JzOltdfTtsZXQgbj0iaW5pdCI7Y29uc3Qgcj1bXTtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3QgbD1lW29dO2lmKCJ3aGl0ZXNwYWNlIiE9PWwudHlwZSl7aWYoImluY29tcGxldGVTeW1ib2wiPT09bC50eXBlfHwiaW5jb21wbGV0ZU51bWJlciI9PT1sLnR5cGUpe2NvbnN0IG49byE9PWUubGVuZ3RoLTEscj17c3RhdHVzOm4/ImVycm9yIjoiaW5jb21wbGV0ZSIscmVhc29uOiJpbmNvbXBsZXRlX3Rva2VuIixvZmZzZXQ6bC5vZmZzZXQsdG9rZW46bH07aWYobj90LmVycm9ycy5wdXNoKHIpOnQud2FybmluZ3MucHVzaChyKSxuKWNvbnRpbnVlfXN3aXRjaChsLnR5cGUpe2Nhc2Uic3ltYm9sIjpjYXNlIm51bWJlciI6aWYoInZhciI9PT1uKXt0LmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDpsLm9mZnNldCx0b2tlbjpsfSk7Y29udGludWV9bj0idmFyIjticmVhaztjYXNlInBsdXMiOmNhc2UibWludXMiOmNhc2UibXVsdGlwbHkiOmNhc2UiZGl2aWRlIjpjYXNlInBvd2VyIjppZigidmFyIiE9PW4pe3QuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsCm9mZnNldDpsLm9mZnNldCx0b2tlbjpsfSk7Y29udGludWV9bj0ib3BlcmF0b3IiO2JyZWFrO2Nhc2Uib3BlbkJyYWNlIjppZigidmFyIj09PW4pe3QuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0Omwub2Zmc2V0LHRva2VuOmx9KTtjb250aW51ZX1yLnB1c2gobCksbj0iaW5pdCI7YnJlYWs7Y2FzZSJjbG9zZUJyYWNlIjppZigidmFyIiE9PW4pe3QuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0Omwub2Zmc2V0LHRva2VuOmx9KTtjb250aW51ZX1yLnBvcCgpfHx0LmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDpsLm9mZnNldCx0b2tlbjpsfSksbj0idmFyIjticmVhaztjYXNlInVucGFyc2VkIjp0LmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVucGFyc2VkX2VudGl0eSIsb2Zmc2V0Omwub2Zmc2V0LHRva2VuOmx9KX19fWZvcih0LmJyYWNlQmFsYW5jZT1yLmxlbmd0aCwidmFyIiE9PW4mJnQud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIix0b2tlbjplW2UubGVuZ3RoLTFdfSk7ci5sZW5ndGg7KXtjb25zdCBlPXIucG9wKCk7ZSYmdC53YXJuaW5ncy5wdXNoKHtzdGF0dXM6ImluY29tcGxldGUiLHJlYXNvbjoidW5iYWxhbmNlZF9icmFjZSIsb2Zmc2V0OmUub2Zmc2V0LHRva2VuOmV9KX1yZXR1cm4gdC5jdXJyZW50U3RhdGU9bix0fShmKTtsZXQgeT1be2ljb246U3QsaW5zZXJ0OiIvIix0eXBlOiJiaW5hcnlPcCIsbmFtZToiZGl2aXNpb24iLHRpdGxlOmMudChudWxsLHtjb250ZXh0OiJzcHJlYWRzX2FjdGlvbnMifSxuKDMzODAwKSl9LHtpY29uOmd0LGluc2VydDoiLSIsdHlwZToiYmluYXJ5T3AiLG5hbWU6InN1YnRyYWN0aW9uIix0aXRsZTpjLnQobnVsbCx7Y29udGV4dDoic3ByZWFkc19hY3Rpb25zIn0sbig5MDUyOTkpKX0se2ljb246eXQsaW5zZXJ0OiIrIix0eXBlOiJiaW5hcnlPcCIsbmFtZToiYWRkaXRpb24iLHRpdGxlOmMudChudWxsLHtjb250ZXh0OiJzcHJlYWRzX2FjdGlvbnMifSxuKDk2MjMxOCkpfSx7aWNvbjpidCxpbnNlcnQ6IioiLHR5cGU6ImJpbmFyeU9wIixuYW1lOiJtdWx0aXBsaWNhdGlvbiIsdGl0bGU6Yy50KG51bGwse2NvbnRleHQ6InNwcmVhZHNfYWN0aW9ucyJ9LG4oNDg0ODc1KSl9XTtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX2V4cG9uZW50aWF0aW9uX3NwcmVhZF9vcGVyYXRvciIpfHwoeT15LmNvbmNhdChbe2ljb246dnQsaW5zZXJ0OiJeIix0eXBlOiJiaW5hcnlPcCIsbmFtZToiZXhwb25lbnRpYXRpb24iLHRpdGxlOmMudChudWxsLHtjb250ZXh0OiJzcHJlYWRzX2FjdGlvbnMifSxuKDkyMzAyMSkpfV0pKSwoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3JlY2lwcm9jYWxfc3ByZWFkX29wZXJhdG9yIil8fCh5PXkuY29uY2F0KFt7aWNvbjpfdCx0eXBlOiJjb21wbGV0ZSIsbmFtZToicmVjaXByb2NhbCIsdGl0bGU6Yy50KG51bGwse2NvbnRleHQ6InNwcmVhZHNfYWN0aW9ucyJ9LG4oODUzMzQ5KSksY2FsbGJhY2s6KCk9PnshYS5jdXJyZW50fHxTLmVycm9ycy5sZW5ndGh8fFMud2FybmluZ3MubGVuZ3RofHwoYS5jdXJyZW50LnZhbHVlPWgocChmKSksdSgpKX19XSkpLGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShFdC5hY3Rpb25zLG8pfSx5Lm1hcCgoZT0+bC5jcmVhdGVFbGVtZW50KG10Lkljb25CdXR0b24se2tleTplLm5hbWUsY29sb3JDbGFzc05hbWU6cygpKEV0LmFjdGlvbixUdChlLFMpJiZFdC5kaXNhYmxlZCksdGl0bGU6ZS50aXRsZSxpY29uOmUuaWNvbixvbkNsaWNrOigpPT5mdW5jdGlvbihlKXtpZighVHQoZSxTKSl7aWYoZS5pbnNlcnQmJmEuY3VycmVudCl7Y29uc3Qgbj1hLmN1cnJlbnQudmFsdWUrZS5pbnNlcnQ7YS5jdXJyZW50LnZhbHVlPW4sYS5jdXJyZW50LnNldFNlbGVjdGlvblJhbmdlKG4ubGVuZ3RoLG4ubGVuZ3RoKTtjb25zdFtvLCxsXT1nKGEuY3VycmVudCxtKTt0LmN1cnJlbnQmJih0LmN1cnJlbnQuc2VsZWN0ZWRJbmRleFZhbHVlPS0xLHQuY3VycmVudC5zZWFyY2hTcHJlYWRzVmFsdWU9KDAsZC5pc1NwcmVhZCkobCksdC5jdXJyZW50LnNlYXJjaFRva2VuVmFsdWU9byksdSgpLHIoKX1lLmNhbGxiYWNrJiZlLmNhbGxiYWNrKCksYS5jdXJyZW50Py5mb2N1cygpLCgwLFAudHJhY2tFdmVudCkoIkdVSSIsIlNTIixlLm5hbWUpfX0oZSl9KSkpKX1mdW5jdGlvbiBUdChlLHQpe2xldCBuPSExO2lmKCF0LmVycm9ycy5sZW5ndGgpc3dpdGNoKGUudHlwZSl7Y2FzZSJiaW5hcnlPcCI6bj0idmFyIj09PXQuY3VycmVudFN0YXRlO2JyZWFrO2Nhc2Uib3BlbkJyYWNlIjpuPSJ2YXIiIT09dC5jdXJyZW50U3RhdGU7YnJlYWs7Y2FzZSJjbG9zZUJyYWNlIjpuPSJ2YXIiPT09dC5jdXJyZW50U3RhdGUmJnQuYnJhY2VCYWxhbmNlPjA7YnJlYWs7Y2FzZSJjb21wbGV0ZSI6bj0hdC5lcnJvcnMubGVuZ3RoJiYhdC53YXJuaW5ncy5sZW5ndGh9cmV0dXJuIW59ZnVuY3Rpb24geHQoZSl7Y29uc3QgdD1lPy5icm9rZXI/P251bGwsbj1lPy5hY2NvdW50TWV0YWluZm8sW3Isb109KDAsbC51c2VTdGF0ZSkobnVsbCksW2Esc109KDAsbC51c2VTdGF0ZSkoKCgpPT5iLmdldEJvb2woInN5bWJvbGVkaXQuYWNjb3VudFRyYWRhYmxlIiwhMCkpKSxpPWZ1bmN0aW9uKGUpe3JldHVybiBCb29sZWFuKGU/Lm1ldGFpbmZvKCkuY29uZmlnRmxhZ3Muc3VwcG9ydEN1c3RvbVN5bWJvbFNlYXJjaEZpbHRlcil9KHQpLGM9cj8uc3ltYm9sU2VhcmNoRmlsdGVyUGFyYW1zPy50aXRsZSx1PXI/LnN5bWJvbFNlYXJjaEZpbHRlclBhcmFtcz8udG9vbHRpcFRleHQsZD0oMCxsLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7aWYoZSlyZXR1cm57bG9nb01pbmlVcmw6ZS5tZXRhaW5mbygpLmxvZ29NaW5pVXJsLGxvZ29NaW5pQmxhY2tVcmw6ZS5tZXRhaW5mbygpLmxvZ29NaW5pQmxhY2tVcmx9O3JldHVybn0odCkpLFt0XSk7cmV0dXJuKDAsbC51c2VFZmZlY3QpKCgoKT0+ewpiLnNldFZhbHVlKCJzeW1ib2xlZGl0LmFjY291bnRUcmFkYWJsZSIsYSl9KSxbYV0pLCgwLGwudXNlRWZmZWN0KSgoKCk9PntpZighbnx8IWkpcmV0dXJuIHZvaWQgbyhudWxsKTtjb25zdCBlPW5ldyBBYm9ydENvbnRyb2xsZXI7cmV0dXJuKDAsUS5yZXNwZWN0QWJvcnQpKGUuc2lnbmFsLG4oKSkudGhlbigodD0+ZS5zaWduYWwuYWJvcnRlZD9udWxsOihvKHQpLHQpKSkuY2F0Y2goKHQ9PigoMCxRLmlzQWJvcnRFcnJvcikodCl8fGUuc2lnbmFsLmFib3J0ZWR8fG8obnVsbCksbnVsbCkpKSwoKT0+ZS5hYm9ydCgpfSksW24saV0pLHthY2NvdW50RmlsdGVyVGl0bGU6YyxhY2NvdW50RmlsdGVyVG9vbHRpcFRleHQ6dSxhY2NvdW50RmlsdGVyTG9nb0luZm86ZCxpc0FjY291bnRGaWx0ZXJDaGVja2VkOmEsc2V0SXNBY2NvdW50RmlsdGVyQ2hlY2tlZDpzLGlzU3VwcG9ydEFjY291bnRGaWx0ZXI6aX19dmFyIEl0PW4oNjE2NjQzKSx3dD1uKDg1NDgyMCk7ZnVuY3Rpb24gTnQoZSl7Y29uc3QgdD0oMCxmdC5oYXNoRnJvbUV2ZW50KShlKTt0IT09OStmdC5Nb2RpZmllcnMuU2hpZnQmJjkhPT10JiZlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIFJ0KGUpe2NvbnN0IHQ9KDAsSXQudXNlVGhlbWUpKCkse3RleHQ6bix0b29sdGlwVGV4dDpyLGlzQWN0aXZlOm8sb25Ub2dnbGU6YSxsb2dvSW5mbzpzfT1lO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQod3QuTGlnaHRCdXR0b24se2NsYXNzTmFtZToiYXBwbHktY29tbW9uLXRvb2x0aXAiLHZhcmlhbnQ6bz8icHJpbWFyeSI6InNlY29uZGFyeSIsc2l6ZToieHNtYWxsIixpc1BpbGxzOm8sb25DbGljazooKT0+YSghbyksb25LZXlEb3duOk50LHRpdGxlOnIsc3RhcnRTbG90OmwuY3JlYXRlRWxlbWVudChIZS5JY29uLHtpY29uOnM/YDxpbWcgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBzcmM9IiR7dD09PW90LlN0ZFRoZW1lLkRhcmsmJnMubG9nb01pbmlCbGFja1VybD9zLmxvZ29NaW5pQmxhY2tVcmw6cy5sb2dvTWluaVVybH0iIGFsdD0iIi8+YDp2b2lkIDB9KSwiYXJpYS1jaGVja2VkIjpvfSxuKX12YXIgQXQ9bigxNTM1ODIpLEx0PW4oNzIwNjc3KSxrdD1uKDY0MTkwKSxPdD1uKDIwMTk2MSksTXQ9big2NjQzODYpLER0PW4oNDkwNTgwKSxQdD1uKDczODQ1OCksRnQ9bigzNDQ4NzApLEJ0PW4oNjc0NzQ5KSxIdD1uKDk4NzUyKTtjb25zdCBVdD0oMCxtLmdldERlZmF1bHRTZWFyY2hTb3VyY2UpKCksV3Q9Yy50KG51bGwse2NvbnRleHQ6InB1bmN0dWF0aW9uRnVsbFN0b3AifSxuKDE2MTcwOCkpO2Z1bmN0aW9uIFZ0KGUpe2NvbnN0e290aGVyU3ltYm9sc0NvdW50OnQsb25DbGljazpyLHRva2VuOm99PWUse2lzQWxsU2VhcmNoU291cmNlc1NlbGVjdGVkOmEsc3ltYm9sU2VhcmNoQ29udGVudDppLHN5bWJvbFR5cGVzOnUsZW1wdHlTdGF0ZTpkLHNldFNlbGVjdGVkU2VhcmNoU291cmNlOnAsc2V0U2VsZWN0ZWRGaWx0ZXJWYWx1ZXM6aCxzZWxlY3RlZEZpbHRlclZhbHVlczpmfT0oMCxZZS51c2VFbnN1cmVkQ29udGV4dCkoVmUuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2dDb250ZXh0KSxTPWkuY3VycmVudFNlbGVjdGVkU2VhcmNoU291cmNlLHtzeW1ib2xTZWFyY2hTdGF0ZTpnfT0oMCxZZS51c2VFbnN1cmVkQ29udGV4dCkobHQuU3ltYm9sU2VhcmNoRGlhbG9nQm9keUNvbnRleHQpLHk9dS5maW5kKChlPT5lLnZhbHVlPT09aS5jdXJyZW50U3ltYm9sVHlwZSkpPy5uYW1lLGI9ZD8/JGUuU3ltYm9sU2VhcmNoTm9SZXN1bHQsdj1TJiYhYShTKSxfPWZ1bmN0aW9uKCl7aWYoIW0uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMpcmV0dXJuIGMudChudWxsLHtwbHVyYWw6InttYXRjaGluZ0NvdW50fSBtYXRjaGluZyBzeW1ib2xzIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyIsY291bnQ6dH0sbigxMDEyMjgpKS5mb3JtYXQoe21hdGNoaW5nQ291bnQ6YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke3QudG9TdHJpbmcoKX08L3NwYW4+YH0pO2lmKCJyZXNldEZpbHRlciI9PT1nKXJldHVybiBjLnQobnVsbCx7cGx1cmFsOiJUaGVyZSBhcmUgYWxzbyB7Y291bnR9IHN5bWJvbHMgaW4gb3RoZXIgbWFya2V0cyIsY291bnQ6dCxyZXBsYWNlOntjb3VudDp0LnRvU3RyaW5nKCl9fSxuKDQzODc3NSkpO3JldHVybiBjLnQobnVsbCx2b2lkIDAsbig5NzIxNzMpKS5mb3JtYXQoe3N5bWJvbFR5cGU6YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke3l8fCIifTwvc3Bhbj5gfSl9KCk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChiLHtjbGFzc05hbWU6SHQubm9SZXN1bHRzRGVza3RvcH0sbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKEh0Lm90aGVyU3ltYm9scyxtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZIdC5uZXdTdHlsZXMpfSxmdW5jdGlvbigpe2lmKGkuY3VycmVudFN5bWJvbFR5cGUhPT0oMCxtLmdldEFsbFN5bWJvbFR5cGVzVmFsdWUpKCkpe2NvbnN0IGU9YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke3l8fCIifTwvc3Bhbj5gO2lmKG0uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMpe2NvbnN0IHQ9ZltpLmN1cnJlbnRTeW1ib2xUeXBlXSxyPXQmJk9iamVjdC52YWx1ZXModCkuc29tZSgoZT0+ZSE9PU4uRklMVEVSX0RFRkFVTFRfVkFMVUUpKTtpZigicmVzZXRUYWJGaWx0ZXIiPT09Z3x8dnx8cil7Y29uc3QgdD0iIj09PW8/Yy50KG51bGwsdm9pZCAwLG4oNDY1NjA2KSkuZm9ybWF0KHtzeW1ib2xUeXBlOmV9KTpjLnQobnVsbCx2b2lkIDAsbigyMDMwODUpKS5mb3JtYXQoe3N5bWJvbFR5cGU6ZSxzeW1ib2w6YDxzcGFuIGNsYXNzPSIke0h0LnRva2VufSI+JHtvfTwvc3Bhbj5gfSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgic3BhbiIse2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dH19KX19aWYodil7Y29uc3QgdD1gJHtjLnQobnVsbCx2b2lkIDAsbig0ODg1OTkpKS5mb3JtYXQoe3N5bWJvbFR5cGU6ZSxleGNoYW5nZU5hbWU6YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke1MubmFtZSgpfTwvc3Bhbj5gfSl9JHtXdH1gO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtkYW5nZXJvdXNseVNldElubmVySFRNTDp7Cl9faHRtbDp0fX0pfWNvbnN0IHQ9Yy50KG51bGwsdm9pZCAwLG4oMjcxODQwKSkuZm9ybWF0KHtzeW1ib2xUeXBlOmV9KSxyPW8/Yy50KG51bGwsdm9pZCAwLG4oNTM0MTMyKSkuZm9ybWF0KHtzeW1ib2xUeXBlOmUsc3ltYm9sOmA8c3BhbiBjbGFzcz0iJHtIdC50b2tlbn0iPiR7b308L3NwYW4+YH0pOnQsYT1gJHt0fSR7V3R9YDtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7ZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDptLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzP3I6YX19KX1pZih2KXtjb25zdCBlPWAke2MudChudWxsLHZvaWQgMCxuKDQwNjAxMykpLmZvcm1hdCh7ZXhjaGFuZ2VOYW1lOmA8c3BhbiBjbGFzcz0iJHtIdC5ib2xkfSI+JHtTLm5hbWUoKX08L3NwYW4+YH0pfSR7V3R9YDtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7ZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDplfX0pfXJldHVybiIifSgpKSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoSHQub3RoZXJTeW1ib2xzLG0uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMmJkh0LnNtYWxsRm9udCl9LGwuY3JlYXRlRWxlbWVudCgic3BhbiIse2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6X319KSksbS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9sLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpIdC5yZXNldEZpbHRlcnN9LGZ1bmN0aW9uKCl7aWYoInJlc2V0RmlsdGVyIj09PWcpcmV0dXJuIGwuY3JlYXRlRWxlbWVudCh3dC5MaWdodEJ1dHRvbix7Y2xhc3NOYW1lOkh0LnNob3dNZSxzaXplOiJzbWFsbCIsb25DbGljazpyfSxjLnQobnVsbCx2b2lkIDAsbig2MjE0MzApKSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCh3dC5MaWdodEJ1dHRvbix7Y2xhc3NOYW1lOkh0LnNob3dNZSxzaXplOiJzbWFsbCIsb25DbGljazpFfSxjLnQobnVsbCx2b2lkIDAsbig5MjQzMjgpKSl9KCkpOmwuY3JlYXRlRWxlbWVudChCdC5CdXR0b24se2NsYXNzTmFtZTpIdC5yZXNldEZpbHRlcnMsc2l6ZToibSIsYXBwZWFyYW5jZToic3Ryb2tlIixvbkNsaWNrOnJ9LGMudChudWxsLHZvaWQgMCxuKDYyMTQzMCkpKSk7ZnVuY3Rpb24gRSgpe3YmJmZ1bmN0aW9uKCl7aWYobnVsbD09PVV0KXJldHVybjtwKFV0KX0oKTtjb25zdCBlPWkudGFiU2VsZWN0RmlsdGVycztpZighZSlyZXR1cm47Y29uc3QgdD1lLnJlZHVjZSgoKGUsdCk9PihlW3QuaWRdPU4uRklMVEVSX0RFRkFVTFRfVkFMVUUsZSkpLHt9KTtoKGkuY3VycmVudFN5bWJvbFR5cGUsdCl9fXZhciBHdD1uKDMxMjE0NyksUXQ9bigzNjU0NiksenQ9bigyMzg5MDQpO2NvbnN0ICR0PSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfaW1hZ2VfaW52YWxpZF9zeW1ib2wiKTtmdW5jdGlvbiBxdChlKXtjb25zdHtvdGhlclN5bWJvbHNDb3VudDp0LG9uQ2hhbmdlU3ltYm9sVHlwZUZpbHRlcjpuLG9uUmVzZXRGaWx0ZXJzOnIsb25MaXN0VG91Y2hNb3ZlOm8sbGlzdFJlZjphLGxpc3RXcmFwUmVmOnMsb25Mb2FkTW9yZVN5bWJvbHM6aSxjYW5Mb2FkTW9yZTpjLHRyYWRpbmdGaWx0ZXJCdXR0b246dX09ZSx7bW9kZTpkLHNlbGVjdGVkU3ltYm9sVHlwZTpwLHN5bWJvbFR5cGVzOmgsZmVlZEl0ZW1zOmYsY29udGVudEl0ZW06UyxlbXB0eVN0YXRlOmc9S3Qsc3ltYm9sU2VhcmNoQ29udGVudDp5LHN5bWJvbFNlYXJjaFN0YXRlOmJ9PSgwLFllLnVzZUVuc3VyZWRDb250ZXh0KShWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLHY9aC5tYXAoKGU9Pih7aWQ6ZS52YWx1ZSxjaGlsZHJlbjplLm5hbWV9KSkpLF89InN5bWJvbFNlYXJjaCI9PT1kJiZbImdvb2QiLCJsb2FkaW5nV2l0aFBhZ2luYXRlZCJdLmluY2x1ZGVzKGIpLEU9Uz8/TXQuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0sQz0oMCxsLnVzZU1lbW8pKCgoKT0+Zi5tYXAoKGU9PmwuY3JlYXRlRWxlbWVudChFLHsuLi5lLHNlYXJjaFRva2VuOnkudG9rZW59KSkpKSxbZl0pO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQobC5GcmFnbWVudCxudWxsLCJzeW1ib2xTZWFyY2giPT09ZCYmbC5jcmVhdGVFbGVtZW50KGwuRnJhZ21lbnQsbnVsbCxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp6dC5idWJibGVzQ29udGFpbmVyfSxoLmxlbmd0aD4wJiZsLmNyZWF0ZUVsZW1lbnQoRnQuUm91bmRCdXR0b25UYWJzLHtpZDoic3ltYm9sLXNlYXJjaC10YWJzIixpc0FjdGl2ZTplPT5lLmlkPT09cCxvbkFjdGl2YXRlOm4sb3ZlcmZsb3dCZWhhdmlvdXI6UHQubW9iaWxldG91Y2g/InNjcm9sbCI6IndyYXAiLGNsYXNzTmFtZTp6dC5idWJibGVzLGl0ZW1zOnZ9LFB0Lm1vYmlsZXRvdWNoP251bGw6bC5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsdSkpLCFtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZQdC5tb2JpbGV0b3VjaCYmaC5sZW5ndGg+MCYmdSYmbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6enQudHJhZGluZ0ZpbHRlckJ1dHRvbldyYXB9LHUpKSxtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZsLmNyZWF0ZUVsZW1lbnQoRHQuU3ltYm9sU2VhcmNoRmVlZEhlYWRlcix7dHJhZGluZ0ZpbHRlckJ1dHRvbjpQdC5tb2JpbGV0b3VjaD91OnZvaWQgMH0pKSxsLmNyZWF0ZUVsZW1lbnQoT3QuU3ltYm9sU2VhcmNoRmVlZCx7bGlzdFJlZjphLGxpc3RXcmFwUmVmOnMsb25Ub3VjaE1vdmU6byxpdGVtczpDLGdldEl0ZW1TaXplOigpPT5EZS5ST1dfSEVJR0hULG9uTG9hZE1vcmVTeW1ib2xzOmksY2FuTG9hZE1vcmU6YyxoaWRlRmVlZDohX30pLCJsb2FkaW5nIj09PWImJmwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnp0LnNwaW5uZXJXcmFwfSxsLmNyZWF0ZUVsZW1lbnQoa3QuU3Bpbm5lcixudWxsKSksInN5bWJvbFNlYXJjaCI9PT1kJiZsLmNyZWF0ZUVsZW1lbnQobC5GcmFnbWVudCxudWxsLCgicmVzZXRGaWx0ZXIiPT09Ynx8InJlc2V0VGFiRmlsdGVyIj09PWIpJiZsLmNyZWF0ZUVsZW1lbnQoVnQse3Rva2VuOnkudG9rZW4sb3RoZXJTeW1ib2xzQ291bnQ6dCxvbkNsaWNrOnIKfSksImVtcHR5Ij09PWImJmwuY3JlYXRlRWxlbWVudChnLG51bGwpKSl9ZnVuY3Rpb24gS3QoZSl7Y29uc3QgdD0oMCxJdC51c2VUaGVtZSkoKT09PW90LlN0ZFRoZW1lLkRhcms/R3Q6UXQ7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgkZS5TeW1ib2xTZWFyY2hOb1Jlc3VsdCx7Y2xhc3NOYW1lOnp0Lm5vUmVzdWx0c0Rlc2t0b3B9LCEkdCYmbC5jcmVhdGVFbGVtZW50KEhlLkljb24se2ljb246dCxjbGFzc05hbWU6enQuZW1wdHlJY29ufSksbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6enQuZW1wdHlUZXh0fSxjLnQobnVsbCx2b2lkIDAsbig0MTc3NykpKSl9dmFyIFl0PW4oODM0MzgpLFh0PW4oNDIxMDY3KTtjb25zdCBqdD0oMCxtLmdldERlZmF1bHRTZWFyY2hTb3VyY2UpKCk7ZnVuY3Rpb24gWnQoZSl7Y29uc3R7bW9kZTp0LHNldE1vZGU6cixzZXRTZWxlY3RlZEluZGV4Om8saXNNb2JpbGU6YSxzZWxlY3RlZFNlYXJjaFNvdXJjZTp1LHNldFNlbGVjdGVkU2VhcmNoU291cmNlOnAsaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6aCxzZWxlY3RlZFN5bWJvbFR5cGU6YixzZXRTZWxlY3RlZFN5bWJvbFR5cGU6dixzeW1ib2xTZWFyY2hDb250ZW50Ol8sc2V0U3ltYm9sU2VhcmNoQ29udGVudDpFLHNlYXJjaFJlZjpULGxpc3RXcmFwUmVmOngsc2V0U2VhcmNoU3ByZWFkczpJLHNob3dTcHJlYWRBY3Rpb25zOncsc2VsZWN0ZWRJdGVtOk4sZm9yY2VVcGRhdGU6UixwbGFjZWhvbGRlcjpBLGluaXRpYWxTY3JlZW46TCxmb290ZXI6TyxzZWFyY2hJbnB1dDpNLHVwcGVyQ2FzZUVuYWJsZWQ6RCxleHRlcm5hbElucHV0OkYsaGFuZGxlS2V5RG93bjpCLGN1c3RvbVNlYXJjaFN5bWJvbHM6SCxmaWx0ZXJRdWVyeVBhcmFtczpVLHNlYXJjaFNvdXJjZXM6VyxzeW1ib2xTZWFyY2hTdGF0ZTpWLHNldFN5bWJvbFNlYXJjaFN0YXRlOkcsb25FbXB0eVJlc3VsdHM6eixvdmVycmlkZVF1ZXJ5UGFyYW1zOiQsZ2V0RmlsdGVyc0J5U3ltYm9sVHlwZTpxLHNob3dSZWNlbnRzOkssc2VhcmNoSW5pdGlhdGlvblBvaW50Oll9PSgwLFllLnVzZUVuc3VyZWRDb250ZXh0KShWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLFtYLGpdPSgwLGwudXNlU3RhdGUpKCExKSxaPXZvaWQgMCE9PUgsSj1IPz9wdC5zZWFyY2hTeW1ib2xzUGFnaW5hdGVkLGVlPSgwLGwudXNlUmVmKSh0KTtlZS5jdXJyZW50PXQ7Y29uc3QgdGU9KDAsbC51c2VSZWYpKG5ldyBBYm9ydENvbnRyb2xsZXIpLFtuZSxyZV09KDAsbC51c2VTdGF0ZSkoMCksb2U9KDAsbC51c2VSZWYpKDApLFtsZSxhZV09KDAsbC51c2VTdGF0ZSkoXy50b2tlbiksc2U9KDAsbC51c2VSZWYpKG51bGwpLGllPSgwLGwudXNlUmVmKSh7c2VsZWN0ZWRJbmRleFZhbHVlOi0xLHNlYXJjaFRva2VuVmFsdWU6IiIsc2VhcmNoU3ByZWFkc1ZhbHVlOiEwfSksY2U9KDAsbC51c2VSZWYpKG51bGwpLHVlPSgwLGwudXNlUmVmKShudWxsKSxkZT0oMCxsLnVzZVJlZikobnVsbCkse2Jyb2tlcldyYXBwZXI6bWU9bnVsbCxicm9rZXJJZDpwZSxicm9rZXJUaXRsZTpoZSxicm9rZXJMb2dvSW5mbzpmZSxpc0Jyb2tlckNoZWNrZWQ6U2U9ITEsc2V0SXNCcm9rZXJDaGVja2VkOmdlPSgpPT57fSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6eWU9IiJ9PUMoKSx7aXNTdXBwb3J0QWNjb3VudEZpbHRlcjpiZT0hMSxhY2NvdW50RmlsdGVyVGl0bGU6dmUsYWNjb3VudEZpbHRlclRvb2x0aXBUZXh0Ol9lLGFjY291bnRGaWx0ZXJMb2dvSW5mbzpFZSxpc0FjY291bnRGaWx0ZXJDaGVja2VkOkNlPSExLHNldElzQWNjb3VudEZpbHRlckNoZWNrZWQ6VGU9KCk9Pnt9fT14dChtZSk7KDAsbC51c2VFZmZlY3QpKCgoKT0+KCk9Pnt0ZS5jdXJyZW50LmFib3J0KCksR2UoKSxRZSgpfSksW10pLCgwLGwudXNlRWZmZWN0KSgoKCk9Pntjb25zdCBlPVQuY3VycmVudDtpZihlKXJldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixNZSksZS5hZGRFdmVudExpc3RlbmVyKCJzZWFyY2gtaW5wdXQtY2xlYXIiLE1lKSxlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVZSksZS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3QiLE9lKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixPZSksZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsV2UpLCgpPT57ZSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW5wdXQiLE1lKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlYXJjaC1pbnB1dC1jbGVhciIsTWUpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFVlKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdCIsT2UpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLE9lKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIixXZSkpfX0pLFtCXSksKDAsbC51c2VFZmZlY3QpKCgoKT0+e0Jvb2xlYW4oTCkmJiIiPT09bGUudHJpbSgpP0UoKGU9Pntjb25zdCB0PUJvb2xlYW4odSYmVy5sZW5ndGg+MSYmISgwLG0uZXhjaGFuZ2VTZWxlY3REaXNhYmxlZCkoYikpLG49cShiKTtyZXR1cm57Li4uZSx0YWJTZWxlY3RGaWx0ZXJzOm4sY3VycmVudFN5bWJvbFR5cGU6YixjYW5DaGFuZ2VFeGNoYW5nZTp0LHdpdGhGaWx0ZXJzOkJvb2xlYW4odHx8bj8ubGVuZ3RoKSx0b2tlbjpsZSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXLGN1cnJlbnRTZWxlY3RlZFNlYXJjaFNvdXJjZTp1fX0pKTooRSgoZT0+KHsuLi5lLHN5bWJvbFN0YXJ0SW5kZXg6MH0pKSksUGUobGUsYix1KS50aGVuKCgoKT0+e3guY3VycmVudCYmKHguY3VycmVudC5zY3JvbGxUb3A9MCl9KSkpfSksW2xlLGIsdSxTZSxDZSxMLFVdKSwoMCxsLnVzZUVmZmVjdCkoKCgpPT57aWYoIU58fCFULmN1cnJlbnQpcmV0dXJuO2NvbnN0IGU9KDAscHQuaXNTeW1ib2xTZWFyY2hSZXN1bHQpKE4pP04uZXhjaGFuZ2U6Ti5wYXJlbnQuZXhjaGFuZ2U7bGV0IHQ7dD0iY29udHJhY3RzImluIE4mJk4uY29udHJhY3RzPy5sZW5ndGg/Ti5jb250cmFjdHNbMF06Tjtjb25zdCBuPXtuYW1lOnQuc3ltYm9sLGV4Y2hhbmdlOmUscHJlZml4OnQucHJlZml4LGZ1bGxOYW1lOnQuZnVsbF9uYW1lfSxbcixvXT1TKFQuY3VycmVudCxuLEQpCjtULmN1cnJlbnQudmFsdWU9cixULmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UobyxvKSxSKCl9KSxbTl0pO2NvbnN0IHhlPUw/PyJkaXYiLEllPUJvb2xlYW4oTCkmJiJzeW1ib2xTZWFyY2giIT09dCx3ZT1NPz9MdC5TZWFyY2hJbnB1dCxOZT1BfHxjLnQobnVsbCx2b2lkIDAsbigyMTMyOTkpKSxSZT0oMCxsLnVzZU1lbW8pKCgoKT0+KHtsaXN0UmVmOnNlLHJlc2V0UmVjb21tZW5kczpIZSx1cGRhdGVSZWNvbW1lbmRzOlBlLHNlYXJjaFRva2VuOmxlLGVtcHR5VGV4dENsYXNzTmFtZTp6dC5lbXB0eVRleHQsaXNCcm9rZXJDaGVja2VkOlNlLGlzQWNjb3VudEZpbHRlckNoZWNrZWQ6Q2Usc3ltYm9sU2VhcmNoU3RhdGU6VixjdXJyZW50TW9kZTplZX0pKSxbc2UsbGUsU2UsQ2UsVixlZSxVXSksQWU9ZnVuY3Rpb24oKXswO2lmKGhlKXJldHVybiBsLmNyZWF0ZUVsZW1lbnQoUnQse3RleHQ6aGUsdG9vbHRpcFRleHQ6Yy50KG51bGwse3JlcGxhY2U6e2Jyb2tlck5hbWU6aGV9fSxuKDU4OTA3MikpLGlzQWN0aXZlOlNlLG9uVG9nZ2xlOmdlLGxvZ29JbmZvOmZlfSk7aWYodmUpcmV0dXJuIGwuY3JlYXRlRWxlbWVudChSdCx7dGV4dDp2ZSx0b29sdGlwVGV4dDpfZSxpc0FjdGl2ZTpDZSxvblRvZ2dsZTpUZSxsb2dvSW5mbzpFZX0pO3JldHVybiBudWxsfSgpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQobHQuU3ltYm9sU2VhcmNoRGlhbG9nQm9keUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOlJlfSwhKEYmJiJzeW1ib2xTZWFyY2giPT09dCkmJmwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKSh6dC5pbnB1dENvbnRhaW5lcil9LGwuY3JlYXRlRWxlbWVudCh3ZSx7ImRhdGEtcWEtaWQiOiJzeW1ib2wtc2VhcmNoLWlucHV0IixpbnB1dENsYXNzTmFtZTpzKCkoenQuc2VhcmNoLEQmJnp0LnVwcGVyQ2FzZSksb25SZXNldDpmdW5jdGlvbigpe2lmKCFULmN1cnJlbnQpcmV0dXJuO1QuY3VycmVudC52YWx1ZT0iIixULmN1cnJlbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlYXJjaC1pbnB1dC1jbGVhciIpKSxMZSh7c2VsZWN0ZWRJbmRleFZhbHVlOi0xLHNlYXJjaFNwcmVhZHNWYWx1ZTohMSxzZWFyY2hUb2tlblZhbHVlOiIifSksYXx8VC5jdXJyZW50LmZvY3VzKCl9LHJlZmVyZW5jZTpULGlzTW9iaWxlOmEscGxhY2Vob2xkZXI6TmUsZW5kU2xvdDp3JiZsLmNyZWF0ZUVsZW1lbnQobC5GcmFnbWVudCxudWxsLFgmJmwuY3JlYXRlRWxlbWVudChDdCx7c3RhdGU6aWUsdXBkYXRlOkRlfSksbC5jcmVhdGVFbGVtZW50KG10Lkljb25CdXR0b24se3RvZ2dsZWRUaXRsZTpjLnQobnVsbCx7Y29udGV4dDoic2VhcmNoX2lucHV0X3NwcmVhZHMifSxuKDg5MjUpKSx1bnRvZ2dsZWRUaXRsZTpjLnQobnVsbCx7Y29udGV4dDoic2VhcmNoX2lucHV0X3NwcmVhZHMifSxuKDMyMzM2MykpLG9uVG9nZ2xlOmosaXNUb2dnbGVkOlgsdW50b2dnbGVkSWNvbjpZdCx0b2dnbGVkSWNvbjpYdH0pKX0pKSxJZT9sLmNyZWF0ZUVsZW1lbnQoeGUsbnVsbCk6bC5jcmVhdGVFbGVtZW50KHF0LHtvdGhlclN5bWJvbHNDb3VudDpuZSxvbkxpc3RUb3VjaE1vdmU6ZnVuY3Rpb24oKXtULmN1cnJlbnQ/LmJsdXIoKX0sb25DaGFuZ2VTeW1ib2xUeXBlRmlsdGVyOmZ1bmN0aW9uKGUpe2NvbnN0e2lkOnR9PWU7dih0KSxvKC0xKX0sb25SZXNldEZpbHRlcnM6ZnVuY3Rpb24oKXttLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzPyJyZXNldEZpbHRlciI9PT1WP3YoKDAsbS5nZXRBbGxTeW1ib2xUeXBlc1ZhbHVlKSgpKTpqdCYmcChqdCk6KHYoKDAsbS5nZXRBbGxTeW1ib2xUeXBlc1ZhbHVlKSgpKSxqdCYmcChqdCkpO2dlKCExKSxUZSghMSksYXx8VC5jdXJyZW50Py5mb2N1cygpfSx0cmFkaW5nRmlsdGVyQnV0dG9uOkFlLGxpc3RSZWY6c2UsbGlzdFdyYXBSZWY6eCxvbkxvYWRNb3JlU3ltYm9sczpmdW5jdGlvbigpeyJsb2FkaW5nV2l0aFBhZ2luYXRlZCIhPT1WJiZQZShsZSxfLmN1cnJlbnRTeW1ib2xUeXBlLHUsXy5zeW1ib2xTdGFydEluZGV4KX0sY2FuTG9hZE1vcmU6MCE9PV8uc3ltYm9sc1JlbWFpbmluZ30pLE8pO2Z1bmN0aW9uIExlKGUpe2llLmN1cnJlbnQ9ey4uLmV9LGNlLmN1cnJlbnR8fChjZS5jdXJyZW50PXNldFRpbWVvdXQoRGUsMCkpfWZ1bmN0aW9uIGtlKCl7aWYoIVQuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPWcoVC5jdXJyZW50LEQpO29lLmN1cnJlbnQ9dCxMZSh7c2VsZWN0ZWRJbmRleFZhbHVlOi0xLHNlYXJjaFNwcmVhZHNWYWx1ZTooMCxkLmlzU3ByZWFkKShuKSxzZWFyY2hUb2tlblZhbHVlOmV9KX1mdW5jdGlvbiBPZSgpe2lmKCFULmN1cnJlbnQpcmV0dXJuO2NvbnN0WyxlXT1nKFQuY3VycmVudCxEKTtlIT09b2UuY3VycmVudCYma2UoKX1mdW5jdGlvbiBNZSgpe1IoKSxrZSgpfWZ1bmN0aW9uIERlKCl7Y29uc3R7c2VsZWN0ZWRJbmRleFZhbHVlOmUsc2VhcmNoVG9rZW5WYWx1ZTp0LHNlYXJjaFNwcmVhZHNWYWx1ZTpufT1pZS5jdXJyZW50O2NlLmN1cnJlbnQ9bnVsbCwoMCxkdC51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcykoKCgpPT57SShuKSxvKGUpLGFlKEQ/dC50b1VwcGVyQ2FzZSgpOnQpfSkpfWFzeW5jIGZ1bmN0aW9uIFBlKGUsdCxuLHIpe3plKCk7Y29uc3Qgbz10ZS5jdXJyZW50LnNpZ25hbDt0cnl7bGV0IGE7Im5vb3AiPT09Vj9HKCJsb2FkaW5nIik6cj9HKCJsb2FkaW5nV2l0aFBhZ2luYXRlZCIpOihHZSgpLFFlKCksdWUuY3VycmVudD1zZXRUaW1lb3V0KCgoKT0+e2lmKG8uYWJvcnRlZClyZXR1cm47Y29uc3Qgbj1Cb29sZWFuKHUmJlcubGVuZ3RoPjEmJiEoMCxtLmV4Y2hhbmdlU2VsZWN0RGlzYWJsZWQpKHQpKSxyPXEodCk7RSh7dG9rZW46ZSxjYW5DaGFuZ2VFeGNoYW5nZTpuLHRhYlNlbGVjdEZpbHRlcnM6cix3aXRoRmlsdGVyczpCb29sZWFuKG58fHI/Lmxlbmd0aCksY3VycmVudFN5bWJvbFR5cGU6dCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6dSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXLHJlbmRlclN5bWJvbFNlYXJjaExpc3Q6W10sc3ltYm9sc1JlbWFpbmluZzowLHN5bWJvbFN0YXJ0SW5kZXg6MH0pLEcoImxvYWRpbmciKQp9KSw1MDApKTtsZXQgcz0hMTtpZihtZSYmQ2UmJmJlKXtjb25zdCBlPWF3YWl0KDAsUS5yZXNwZWN0QWJvcnQpKG8sbWUuYWNjb3VudE1ldGFpbmZvKCkpO3M9Qm9vbGVhbihlLnN5bWJvbFNlYXJjaEZpbHRlclBhcmFtcz8uaXNFeHRlcm5hbCksYT1lLnN5bWJvbFNlYXJjaEZpbHRlclBhcmFtcz8uaWR9Y29uc3QgYz1TZSYmbWUscD10PT09KDAsbS5nZXRBbGxTeW1ib2xUeXBlc1ZhbHVlKSgpLFM9IiI9PT1lLnRyaW0oKSYmIVomJiFjJiYhYSYmcCYmSztsZXQgZztpZihTZSYmbWUpe2c9KGF3YWl0KDAsUS5yZXNwZWN0QWJvcnQpKG8sbWUuYWNjb3VudE1ldGFpbmZvKCkpKS5wcmVmaXh9Y29uc3QgYj1mKGUpPz9nPz9uPy5nZXRSZXF1ZXN0RXhjaGFuZ2VWYWx1ZSgpLHY9ZihlKT92b2lkIDA6KG58fHUpPy5nZXRSZXF1ZXN0Q291bnRyeVZhbHVlKCksW0MsVF09YXdhaXQgUHJvbWlzZS5hbGwoW0JlKG8sZSx0LG4sYix2LHIsYSxzKSxTJiYhcj9rKCk6UHJvbWlzZS5yZXNvbHZlKFtdKV0pO2lmKG8uYWJvcnRlZClyZXR1cm47Y29uc3QgeD1ULmZpbHRlcigoZT0+Yj9lLmV4Y2hhbmdlPy50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpOiF2fHxlLmNvdW50cnk/LnRvTG93ZXJDYXNlKCk9PT12LnRvTG93ZXJDYXNlKCkpKSxJPW5ldyBTZXQoeC5tYXAoKGU9PmAke2UuZXhjaGFuZ2V9XyR7ZS5zeW1ib2x9YCkpKSx3PUMuc3ltYm9scy5maWx0ZXIoKGU9PiFJLmhhcyhgJHtlLmV4Y2hhbmdlfV8ke2Uuc3ltYm9sfWApKSk7bGV0IE49ZnVuY3Rpb24oZSx0PXdpbmRvdy5DaGFydEFwaUluc3RhbmNlLnN5bWJvbHNHcm91cGluZygpKXtjb25zdCBuPXt9LHI9W107Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDsrK28pe2NvbnN0IGw9ZVtvXTtpZihsLnByZWZpeHx8QXJyYXkuaXNBcnJheShsLmNvbnRyYWN0cykpcmV0dXJuIGU7Y29uc3QgYT10W2wudHlwZV07aWYodm9pZCAwPT09YSl7ci5wdXNoKGwpO2NvbnRpbnVlfWNvbnN0IHM9YS5leGVjKGwuc3ltYm9sKTtpZihzKXtjb25zdCBlPXNbMV07bGV0IHQ7bi5oYXNPd25Qcm9wZXJ0eShlKT90PW5bZV06KHQ9ci5sZW5ndGgsbltlXT10LHIucHVzaCh7dHlwZTpsLnR5cGUsc3ltYm9sOmUsZXhjaGFuZ2U6bC5leGNoYW5nZSxkZXNjcmlwdGlvbjpsLmRlc2NyaXB0aW9uLGZ1bGxfbmFtZTpsLmV4Y2hhbmdlKyI6IitlLGNvbnRyYWN0czpbXX0pKSxyW3RdLmNvbnRyYWN0cz8ucHVzaChsKX1lbHNlIHIucHVzaChsKX1yZXR1cm4gcn0oWy4uLngsLi4ud10pO2lmKGw9TixOPSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP2wuZmlsdGVyKChlPT4hZS5wYXJhbXN8fC0xPT09ZS5wYXJhbXMuaW5kZXhPZigicHJvIikpKTpsLHImJihOPVsuLi5fLnJlbmRlclN5bWJvbFNlYXJjaExpc3QsLi4uTl0pLE4ubGVuZ3RoKUdlKCksRSgobj0+e2NvbnN0IHI9Qm9vbGVhbih1JiZXLmxlbmd0aD4xJiYhKDAsbS5leGNoYW5nZVNlbGVjdERpc2FibGVkKSh0KSksbz1xKHQpO3JldHVybnsuLi5uLGNhbkNoYW5nZUV4Y2hhbmdlOnIsdGFiU2VsZWN0RmlsdGVyczpvLHJlbmRlclN5bWJvbFNlYXJjaExpc3Q6Tix0b2tlbjplLHN5bWJvbHNSZW1haW5pbmc6Qy5zeW1ib2xzX3JlbWFpbmluZyx3aXRoRmlsdGVyczpCb29sZWFuKHJ8fG8/Lmxlbmd0aCksY3VycmVudFN5bWJvbFR5cGU6dCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6dSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXLHN5bWJvbFN0YXJ0SW5kZXg6bi5zeW1ib2xTdGFydEluZGV4K0Muc3ltYm9scy5sZW5ndGh9fSkpLEcoImdvb2QiKTtlbHNle2lmKEUoKG49Pntjb25zdCByPUJvb2xlYW4odSYmVy5sZW5ndGg+MSYmISgwLG0uZXhjaGFuZ2VTZWxlY3REaXNhYmxlZCkodCkpLG89cSh0KTtyZXR1cm57Li4ubixjYW5DaGFuZ2VFeGNoYW5nZTpyLHRhYlNlbGVjdEZpbHRlcnM6byx0b2tlbjplLHN5bWJvbHNSZW1haW5pbmc6MCx3aXRoRmlsdGVyczpCb29sZWFuKHJ8fG8/Lmxlbmd0aCksY3VycmVudFN5bWJvbFR5cGU6dCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6dSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXfX0pKSxwJiZ1JiZoKHUpKXJldHVybiBHZSgpLEcoImVtcHR5Iiksdm9pZCBGZSgpO2NvbnN0IG49dD0+YXN5bmMgZnVuY3Rpb24oZSx0LG4scil7Y29uc3Qgbz17c2VydmVySGlnaGxpZ2h0OiEwLHRleHQ6KDAsZC5zaG9ydE5hbWUpKHQpLGV4Y2hhbmdlOmYodCl8fCIiLHR5cGU6bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9uOigwLG0uZ2V0QWxsU3ltYm9sVHlwZXNWYWx1ZSkoKSxsYW5nOndpbmRvdy5sYW5ndWFnZXx8IiIsc29ydEJ5Q291bnRyeTooMCxBdC5nZXRDdXJyZW50TG9jYWxlSW5mb0NvdW50cnkpKCksYnJva2VySWQ6cGUsZW5hYmxlR3JvdXBpbmc6KDAseS5pc0ZlYXR1cmVFbmFibGVkKSgic3ltYm9sX3NlYXJjaF9ncm91cGluZyIpJiYhcGUmJiFyLGFjY291bnRGaWx0ZXJJZDpyLG9ubHlUcmFkYWJsZTpCb29sZWFuKHBlKSYmU2Usb25seUFjY291bnRUcmFkYWJsZTpCb29sZWFuKHIpJiZDZSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6eWUsc2lnbmFsOmV9O3JldHVybiBKKG8pfShvLGUsdCxhKSxyPWF3YWl0IFByb21pc2UuYWxsKFtuKCgwLG0uZ2V0QWxsU3ltYm9sVHlwZXNWYWx1ZSkoKSksbS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9uKHQpOlByb21pc2UucmVzb2x2ZShudWxsKV0pO2lmKG8uYWJvcnRlZClyZXR1cm47R2UoKTtjb25zdFtsLHNdPXIubWFwKChlPT5udWxsPT09ZT8wOmUuc3ltYm9scy5sZW5ndGgpKTtzPyhHKCJyZXNldFRhYkZpbHRlciIpLHJlKHMpKTpsPyhHKCJyZXNldEZpbHRlciIpLHJlKGwpKTpHKCJlbXB0eSIpLEZlKCl9fWNhdGNoKGUpeygwLFEuc2tpcEFib3J0RXJyb3IpKGUpfXZhciBsfWZ1bmN0aW9uIEZlKCl7eiYmKGRlLmN1cnJlbnQ9c2V0VGltZW91dCgoKCk9PnooKSksMWUzKSl9YXN5bmMgZnVuY3Rpb24gQmUoZSx0LG4scixvLGwsYSxzLGkpe2NvbnN0IGM9e3NlcnZlckhpZ2hsaWdodDohMCx0ZXh0OigwLGQuc2hvcnROYW1lKSh0KSxleGNoYW5nZTpvLGNvdW50cnk6bCwKdHlwZTpuLGxhbmc6d2luZG93Lmxhbmd1YWdlfHwiIixlbmFibGVHcm91cGluZzooMCx5LmlzRmVhdHVyZUVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIikmJiFwZSYmIXMsc29ydEJ5Q291bnRyeTooMCxBdC5nZXRDdXJyZW50TG9jYWxlSW5mb0NvdW50cnkpKCksYnJva2VySWQ6cGUsYWNjb3VudEZpbHRlcklkOnMsaXNFeHRlcm5hbDppLG9ubHlUcmFkYWJsZTpCb29sZWFuKHBlKSYmU2Usb25seUFjY291bnRUcmFkYWJsZTpCb29sZWFuKHMpJiZDZSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6eWUsc2lnbmFsOmUsc3RhcnQ6YSxmaWx0ZXJRdWVyeVBhcmFtczpVLG92ZXJyaWRlUXVlcnlQYXJhbXM6JCxzZWFyY2hJbml0aWF0aW9uUG9pbnQ6dm9pZCAwfSx1PWh0O3JldHVybiB2b2lkIDAhPT11JiZhd2FpdCgwLFEuZGVsYXkpKGUsdSksSihjKX1mdW5jdGlvbiBIZSgpe3plKCksRygiZW1wdHkiKSxhZSgiIiksSSghMSksRSgoZT0+KHsuLi5lLHN5bWJvbFN0YXJ0SW5kZXg6MH0pKSksR2UoKX1mdW5jdGlvbiBVZSgpeyJ3YXRjaGxpc3QiPT09ZWUuY3VycmVudCYmKHIoInN5bWJvbFNlYXJjaCIpLCgwLFAudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIk1vYmlsZSBTUyIsIkdvIHRvIFNTIHBhZ2UiKSl9ZnVuY3Rpb24gV2UoZSl7c3dpdGNoKCgwLGZ0Lmhhc2hGcm9tRXZlbnQpKGUpKXtjYXNlIDM3OmNhc2UgMzk6T2UoKX19ZnVuY3Rpb24gR2UoKXt1ZS5jdXJyZW50JiZjbGVhclRpbWVvdXQodWUuY3VycmVudCl9ZnVuY3Rpb24gUWUoKXtkZS5jdXJyZW50JiZjbGVhclRpbWVvdXQoZGUuY3VycmVudCl9ZnVuY3Rpb24gemUoKXt0ZS5jdXJyZW50LmFib3J0KCksdGUuY3VycmVudD1uZXcgQWJvcnRDb250cm9sbGVyfX12YXIgSnQ9bigyNzM2ODQpLGVuPW4oODI0MzUpLHRuPW4oMjQ4MzEpO2Z1bmN0aW9uIG5uKGUpe2NvbnN0IHQ9KDAsbC51c2VNZW1vKShULmdldFdpZGdldFN5bWJvbFNlYXJjaENvbmZpZyxbXSksbj12b2lkIDA9PT10LFtyLG9dPSgwLGwudXNlU3RhdGUpKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3R7Y29uZmlndXJlZERlZmF1bHRFeGNoYW5nZTp0LGRlZmF1bHRTZWFyY2hTb3VyY2U6bixzYXZlZFNlYXJjaFNvdXJjZU5hbWU6cixzZWFyY2hTb3VyY2VzOm99PWU7aWYodm9pZCAwIT09dCl7Y29uc3QgZT1vLmZpbmQoKGU9PmUudmFsdWUoKT09PXQudG9VcHBlckNhc2UoKSkpO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGV9aWYodm9pZCAwIT09cil7Y29uc3QgZT1vLmZpbmQoKGU9PmUudmFsdWUoKT09PXIpKTtpZih2b2lkIDAhPT1lKXJldHVybiBlfXJldHVybiBufSh7Li4uZSxjb25maWd1cmVkRGVmYXVsdEV4Y2hhbmdlOnQ/LmRlZmF1bHRFeGNoYW5nZSxzYXZlZFNlYXJjaFNvdXJjZU5hbWU6bj9iLmdldFZhbHVlKCJzeW1ib2xlZGl0LmV4Y2hhbmdlZmlsdGVyIiwiIik6dm9pZCAwfSkpKTtyZXR1cm5bciwoMCxsLnVzZUNhbGxiYWNrKSgoZT0+e3ZhciB0O28oZSksbiYmKHQ9ZSxiLnNldFZhbHVlKCJzeW1ib2xlZGl0LmV4Y2hhbmdlZmlsdGVyIix0LnZhbHVlKCkpKX0pLFtuXSldfWZ1bmN0aW9uIHJuKGUpe2NvbnN0e3NlbGVjdGVkU3ltYm9sU2V0dGluZ3NLZXk6dD0ic3ltYm9sZWRpdC5maWx0ZXIifT1lLFtuLHJdPSgwLGwudXNlU3RhdGUpKCgoKT0+e2lmKDE9PT1lLnR5cGVzLmxlbmd0aClyZXR1cm4gZS50eXBlc1swXS52YWx1ZTtjb25zdCBuPWIuZ2V0VmFsdWUodCwoMCxtLmdldEFsbFN5bWJvbFR5cGVzVmFsdWUpKCkpO3JldHVybiBlLnR5cGVzLmZpbmQoKGU9PmUudmFsdWU9PT1uKSk/bjooMCxtLmdldEFsbFN5bWJvbFR5cGVzVmFsdWUpKCl9KSk7cmV0dXJuW24sKDAsbC51c2VDYWxsYmFjaykoKGU9PntyKGUpLGZ1bmN0aW9uKGUsdD0ic3ltYm9sZWRpdC5maWx0ZXIiKXtiLnNldFZhbHVlKHQsZSl9KGUsdCl9KSxbdF0pXX12YXIgb249bigzNDIyNjEpLGxuPW4oNjQzOTAzKSxhbj1uKDE1NjgyOSksc249big4NDg5ODgpLGNuPW4oOTY5MTY4KSx1bj1uKDk4MzYxNiksZG49bigzMTgyNTQpO2NvbnN0IG1uPSgwLHkuaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIikscG49KDAsbS5nZXRBdmFpbGFibGVTZWFyY2hTb3VyY2VzKSgpLGhuPSgwLG0uZ2V0RGVmYXVsdFNlYXJjaFNvdXJjZSkoKSxmbj0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpLFNuPSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiKSYmKCEhKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fHdpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSk7ZnVuY3Rpb24gZ24oZSl7Y29uc3R7b25DbG9zZTp0LGluaXRpYWxNb2RlOnIsZGVmYXVsdFZhbHVlOm89IiIsc2hvd1NwcmVhZEFjdGlvbnM6YSxoaWRlTWFya2VkTGlzdEZsYWc6cyxzZWxlY3RTZWFyY2hPbkluaXQ6aT0hMCxvblNlYXJjaENvbXBsZXRlOmQsZGlhbG9nVGl0bGU6cD1jLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9kaWFsb2dfdGl0bGUifSxuKDg0NTIyOCkpLHBsYWNlaG9sZGVyOmgsZnVsbHNjcmVlbjpmLGluaXRpYWxTY3JlZW46Zyx3cmFwcGVyOnYsZGlhbG9nOl8sY29udGVudEl0ZW06RSxmb290ZXI6UixzZWFyY2hJbnB1dDpBLGVtcHR5U3RhdGU6TCxhdXRvZm9jdXM6ayxkaWFsb2dXaWR0aDpELG9uS2V5RG93bjpGLHNlYXJjaFNvdXJjZXNTY3JlZW46QixjdXN0b21TZWFyY2hTeW1ib2xzOkgsaXNEaXNhYmxlRmlsdGVyaW5nOlUsZGlzYWJsZVJlY2VudHM6VyxzaG91bGRSZXR1cm5Gb2N1czpWLG9uU3ltYm9sRmlsdGVyc1BhcmFtc0NoYW5nZTpHLG9uRW1wdHlSZXN1bHRzOlEsZW5hYmxlT3B0aW9uc0NoYWluOnosb3ZlcnJpZGVRdWVyeVBhcmFtczokLGhpZGRlbkZpbHRlcklkczpxLHNob3dSZWNlbnRzOks9ITAsc2VhcmNoSW5pdGlhdGlvblBvaW50Olk9InN5bWJvbFNlYXJjaCIsc2VsZWN0ZWRTeW1ib2xTZXR0aW5nc0tleTpYLGZpbHRlclZhbHVlc1NldHRpbmdzS2V5Omp9PWUsWj0oMCxsLnVzZU1lbW8pKCgoKT0+VT9bXTplLnN5bWJvbFR5cGVzPz8oMCwKbS5nZXRBdmFpbGFibGVTeW1ib2xUeXBlcykoKSksW10pLEo9dm9pZCAwIT09ZS5pbnB1dCxlZT1VP1tdOnBuLFt0ZSxuZV09KDAsbC51c2VTdGF0ZSkoKCgpPT5DbihvLHopPyJvcHRpb25zIjpyKSksW3JlLG9lXT0oMCxsLnVzZVN0YXRlKSgoKCk9PkNuKG8seikpKSxbbGUsYWVdPSgwLGwudXNlU3RhdGUpKCgoKT0+eiYmKDAsbS5pc09wdGlvbkRlZmF1bHRWYWx1ZSkobyk/by52YWx1ZTpudWxsKSksc2U9KDAsbC51c2VSZWYpKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1DbihlLHQpO3JldHVybigwLG0uaXNPcHRpb25EZWZhdWx0VmFsdWUpKGUpP24/P2UudmFsdWU6ZX0obyx6KSksW2llLGNlXT1ubih7c2VhcmNoU291cmNlczplZSxkZWZhdWx0U2VhcmNoU291cmNlOmhufSksW3VlLGRlXT1JKHtzZWFyY2hTb3VyY2VzOmVlfSksW21lLHBlXT1ybih7dHlwZXM6WixzZWxlY3RlZFN5bWJvbFNldHRpbmdzS2V5Olh9KSxbaGUsZmVdPWZ1bmN0aW9uKGUsdD0ic2VsZWN0ZWRTeW1ib2xTZWFyY2hGaWx0ZXJWYWx1ZXMiKXtjb25zdFtuLHJdPSgwLGwudXNlU3RhdGUpKCgoKT0+e2NvbnN0IG49Yi5nZXRKU09OKHQse30pLHI9e307Zm9yKGNvbnN0W3Qsb11vZiBPYmplY3QuZW50cmllcyhuKSl7aWYoIWUuaGFzT3duUHJvcGVydHkodCkpY29udGludWU7Y29uc3Qgbj1uZXcgU2V0KCgwLHcuZW5zdXJlRGVmaW5lZCkoZVt0XSkubWFwKChlPT5lLmlkKSkpO2Zvcihjb25zdFtlLGxdb2YgT2JqZWN0LmVudHJpZXMobykpbi5oYXMoZSkmJihyW3RdfHwoclt0XT17fSksclt0XVtlXT1sKX1yZXR1cm4gcn0pKTtyZXR1cm5bbiwoMCxsLnVzZUNhbGxiYWNrKSgoKGUsbik9PntyKChyPT57Y29uc3Qgbz1yW2VdP3suLi5yW2VdfTp7fSxsPU9iamVjdC5rZXlzKG4pO2Zvcihjb25zdCBlIG9mIGwpe2NvbnN0IHQ9bltlXTt2b2lkIDA9PT10P28uaGFzT3duUHJvcGVydHkoZSkmJmRlbGV0ZSBvW2VdOm9bZV09dH1jb25zdCBhPXsuLi5yLFtlXTpvfTtyZXR1cm4gYi5zZXRKU09OKHQsYSksYX0pKX0pLFt0XSldfShOLlRBQl9TRUxFQ1RfRklMVEVSX01BUCxqKSxbU2UsZ2VdPSgwLGwudXNlU3RhdGUpKCExKSxbeWUsYmVdPSgwLGwudXNlU3RhdGUpKC0xKSxbdmUsX2VdPSgwLGwudXNlU3RhdGUpKCJub29wIiksW0VlLENlXT0oMCxsLnVzZVN0YXRlKShTbj91LmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk6bnVsbCksVGU9bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz91ZT8uW21lXXx8aG46aWUseGU9KDAsbC51c2VNZW1vKSgoKCk9PntpZighbS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicylyZXR1cm4gZWU7cmV0dXJuKCJlY29ub21pYyI9PT1tZT9lZS5tYXAobS5tYXBFY29ub215U291cmNlKTplZSkuZmlsdGVyKChlPT57Y29uc3QgdD1OLlRBQl9TT1VSQ0VfRklMVEVSX01BUFttZV07aWYoIXQpcmV0dXJuITE7aWYoIW1lKXJldHVybiEwO2NvbnN0IG49ZS5ncm91cCgpO3JldHVybiBuPT09eC5FeGNoYW5nZUdyb3VwLkFsbEV4Y2hhbmdlc3x8biYmdC52YWx1ZS5pbmNsdWRlcyhuKX0pKX0pLFtlZSxtZV0pLEllPSgwLGwudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD1tLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzP04uVEFCX1NFTEVDVF9GSUxURVJfTUFQOnZvaWQgMDtpZih0KXJldHVybiBxPy5sZW5ndGg/dFtlXT8uZmlsdGVyKChlPT4hcS5pbmNsdWRlcyhlLmlkKSkpOnRbZV19KSxbcV0pLFt3ZSxOZV09KDAsbC51c2VTdGF0ZSkoKCgpPT57Y29uc3QgZT1Cb29sZWFuKGllJiZwbi5sZW5ndGg+MSYmISgwLG0uZXhjaGFuZ2VTZWxlY3REaXNhYmxlZCkobWUpKSx0PUllKG1lKTtyZXR1cm57Y2FuQ2hhbmdlRXhjaGFuZ2U6ZSx0YWJTZWxlY3RGaWx0ZXJzOnQsd2l0aEZpbHRlcnM6Qm9vbGVhbihlfHx0Py5sZW5ndGgpLHJlbmRlclN5bWJvbFNlYXJjaExpc3Q6W10sdG9rZW46c2UuY3VycmVudCxzeW1ib2xzUmVtYWluaW5nOjAsY3VycmVudFN5bWJvbFR5cGU6bWUsY3VycmVudFNlbGVjdGVkU2VhcmNoU291cmNlOlRlLGN1cnJlbnRUYWJBdmFpbGFibGVTZWFyY2hTb3VyY2VzOnhlLHN5bWJvbFN0YXJ0SW5kZXg6MH19KSksUmU9KDAsbC51c2VDYWxsYmFjaykoKGU9PnsoMCxQLnRyYWNrRXZlbnQpKCJOZXcgU1MiLG1lLCJDaGFuZ2Ugc291cmNlcyIpLGRlPy4obWUsZSksTmUoKHQ9Pih7Li4udCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6ZX0pKSl9KSxbbWUsTmVdKSxBZT0oMCxsLnVzZVJlZikoZS5pbnB1dD8/bnVsbCksTGU9KDAsbC51c2VSZWYpKG51bGwpLFtPZSxCZV09KDAsbC51c2VTdGF0ZSkoITEpLEhlPSgwLG9uLnVzZUZvcmNlVXBkYXRlKSgpLFtVZSxXZV09KDAsbC51c2VTdGF0ZSkobmV3IFNldCkse2Jyb2tlcldyYXBwZXI6R2U9bnVsbCxicm9rZXJJZDpRZSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6JGU9IiIsZGlzcGxheUJyb2tlclN5bWJvbDpxZT0hMX09QygpOygwLGwudXNlTGF5b3V0RWZmZWN0KSgoKCk9PnshQWU/LmN1cnJlbnR8fCFKJiZCb29sZWFuKEFlLmN1cnJlbnQ/LnZhbHVlKXx8KEp8fCJjb21wYXJlIj09PXRlfHwoQWUuY3VycmVudC52YWx1ZT1zZS5jdXJyZW50KSwha3x8SiYmInN5bWJvbFNlYXJjaCIhPT10ZXx8QWUuY3VycmVudC5mb2N1cygpKX0pLFt0ZV0pLCgwLGwudXNlRWZmZWN0KSgoKCk9PntBZT8uY3VycmVudCYmaSYmayYmQWUuY3VycmVudC5zZWxlY3QoKX0pLFtdKSwoMCxsLnVzZUVmZmVjdCkoKCgpPT57aWYoIVNuKXJldHVybjtjb25zdCBlPWU9PntDZShlKX07cmV0dXJuIHUubGlua2luZy5wcm9TeW1ib2wuc3Vic2NyaWJlKGUpLCgpPT57dS5saW5raW5nLnByb1N5bWJvbC51bnN1YnNjcmliZShlKX19KSxbXSksKDAsbC51c2VFZmZlY3QpKCgoKT0+e2lmKCFFZSlyZXR1cm47bGV0IGU7Zm9yKGNvbnN0IHQgb2Ygd2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdCl7aWYodC5ncm91cGVkX3N5bWJvbHMpe2lmKHRuLlF1YWxpZmllZFNvdXJjZXMuZnJvbVN5bWJvbFNlYXJjaFJlc3VsdCh0KT09PUVlKWJyZWFrCjt0Lmdyb3VwZWRfc3ltYm9scy5maW5kKChlPT50bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQoZSk9PT1FZSkpJiYoZT10KX1lbHNleyh0LmNvbnRyYWN0cz90bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQodCx0LmNvbnRyYWN0c1swXSk6dG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KHQpKT09PUVlJiYoZT10KX1pZihlKWJyZWFrfWlmKGUmJigwLHB0LmlzRXhwYW5kYWJsZVJlc3VsdCkoZSkpe2NvbnN0IHQ9dm4oZSk7V2UoKGU9Pntjb25zdCBuPW5ldyBTZXQoZSk7cmV0dXJuIG4uYWRkKHQpLG59KSl9fSksW0VlLHdlLnJlbmRlclN5bWJvbFNlYXJjaExpc3RdKTtjb25zdCBLZT0oMCxsLnVzZU1lbW8pKCgoKT0+d2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdC5yZWR1Y2UoKChlLHQpPT57Y29uc3Qgbj12bih0KSxyPVVlLmhhcyhuKTtyZXR1cm4gZS5wdXNoKHQpLHImJnQuZ3JvdXBlZF9zeW1ib2xzJiZlLnB1c2goLi4udC5ncm91cGVkX3N5bWJvbHMubWFwKChlPT4oey4uLmUscGFyZW50OnR9KSkpKSxyJiZ0LmNvbnRyYWN0cyYmZS5wdXNoKC4uLnQuY29udHJhY3RzLm1hcCgoZT0+KHsuLi5lLHBhcmVudDp0fSkpKSksZX0pLFtdKSksW3dlLnJlbmRlclN5bWJvbFNlYXJjaExpc3QsVWVdKSxZZT0oMCxsLnVzZVJlZikobnVsbCk7KDAsbC51c2VFZmZlY3QpKCgoKT0+ey0xIT09eWUmJlllLmN1cnJlbnQ/LnNjcm9sbEludG9WaWV3KHtibG9jazoibmVhcmVzdCJ9KX0pLFt5ZSxZZV0pO2NvbnN0IFhlPURlLnRhYnNXaXRoSGlkZGVuTWFya2V0VHlwZS5pbmNsdWRlcyhtZSksamU9KDAsbC51c2VNZW1vKSgoKCk9Pntjb25zdCBlPWU9Pntjb25zdCB0PVQuZ2V0RXhjaGFuZ2VzPygwLFQuZ2V0RXhjaGFuZ2VzKSgpLmZpbHRlcigodD0+dC52YWx1ZT09PShlLnByZWZpeHx8ZS5leGNoYW5nZSkpKVswXTpudWxsO3JldHVybiB0Py5kZXNjfHwiIn07cmV0dXJuIEtlLm1hcCgoKHQsbik9PntpZigoMCxwdC5pc1N5bWJvbFNlYXJjaFJlc3VsdCkodCkpe2NvbnN0IHI9dm4odCksbz0oMCxwdC5pc0V4cGFuZGFibGVSZXN1bHQpKHQpLGw9KDAsTXQuaXNHcm91cGVkU3ltYm9sRXh0ZW5kZWQpKHQpLGE9bz9VZS5oYXMocik6dm9pZCAwLGk9bj09PXllLGM9d2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdC5maW5kSW5kZXgoKGU9PmUuc3ltYm9sPT09dC5zeW1ib2wmJmUuZXhjaGFuZ2U9PT10LmV4Y2hhbmdlKSkrMSx1PXQuY29udHJhY3RzP3RuLlF1YWxpZmllZFNvdXJjZXMuZnJvbVN5bWJvbFNlYXJjaFJlc3VsdCh0LHQuY29udHJhY3RzWzBdKTp0bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQodCk7cmV0dXJue2tleTpuLG51bWJlckluTGlzdDpjLGlkOnIsZGFuZ2Vyb3VzVGl0bGVIVE1MOmJuKHQscWUpLGRhbmdlcm91c0Rlc2NyaXB0aW9uSFRNTDp0LmRlc2NyaXB0aW9uLGlzT2Zmc2V0Omwsb25DbGljazpkdC5iaW5kKG51bGwsdCxjKSxzb3VyY2U6dC5zb3VyY2Usc291cmNlMjp0LnNvdXJjZTIsdHlwZTp0LnR5cGUsdHlwZXNwZWNzOnQudHlwZXNwZWNzLGV4Y2hhbmdlTmFtZTpudWxsPT09dC5leGNoYW5nZT92b2lkIDA6dC5leGNoYW5nZSxleGNoYW5nZVRvb2x0aXA6ZSh0KSxwcmVmaXg6dC5wcmVmaXh8fHZvaWQgMCxtYXJrZXRUeXBlOigwLGVuLm1hcmtldFR5cGUpKHQudHlwZSx0LnR5cGVzcGVjcywhMSksaGlkZU1hcmtldFR5cGU6WGUsaXNFb2Q6dC5wYXJhbXM/LmluY2x1ZGVzKCJlb2QiKSYmImVjb25vbWljIiE9PXQudHlwZSxpc1lpZWxkOigwLGFuLmlzWWllbGQpKHQpLGlzRXhwYW5kZWQ6YSxpc0FjdGl2ZTpFZSYmIXQuY29udHJhY3RzP0VlPT09dTp2b2lkIDAsb25FeHBhbmRDbGljazpvP210LmJpbmQobnVsbCxyKTp2b2lkIDAsZnVsbFN5bWJvbE5hbWU6dSxpdGVtUmVmOmk/WWU6dm9pZCAwLGlzU2VsZWN0ZWQ6bj09PXllLGhpZGVNYXJrZWRMaXN0RmxhZzpzLGl0ZW06dCxsb2dvRGF0YTp0LmxvZ28/P3ZvaWQgMCxzb3VyY2VMb2dvczpbdCwuLi4hYSYmdC5ncm91cGVkX3N5bWJvbHM/dC5ncm91cGVkX3N5bWJvbHM6W11dLm1hcCgoZT0+aXQoZSkpKSxzaG9ydE5hbWU6KDAsbG4uc2FmZVNob3J0TmFtZSkodG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KHQpKSxjdXJyZW5jeUNvZGU6dC5jdXJyZW5jeV9jb2RlLGlzUHJpbWFyeTohdC5ncm91cGVkX3N5bWJvbHMmJiFsJiZ0LmlzX3ByaW1hcnlfbGlzdGluZyxpc1Byb21vOnQuaXNfcHJvbW8sZm91bmRfYnlfY3VzaXA6dC5mb3VuZF9ieV9jdXNpcCxjdXNpcDp0LmN1c2lwLGZvdW5kX2J5X2lzaW46Qm9vbGVhbihhJiZ0Lmdyb3VwZWRfc3ltYm9sc3x8bCl8fHQuZm91bmRfYnlfaXNpbixpc2luOnQuaXNpbixpcG9EYXRlOigwLGFuLmlzUHJlSXBvKSh0LnR5cGUsdC50eXBlc3BlY3MpP3QuaXBvX29mZmVyX3RpbWU/P3QuaXBvX29mZmVyX2RhdGU6dm9pZCAwfX17Y29uc3R7cGFyZW50OnJ9PXQsbz10bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQodC5wYXJlbnQsdCksbD12bihyKSxhPW49PT15ZSxpPXdlLnJlbmRlclN5bWJvbFNlYXJjaExpc3QuZmluZEluZGV4KChlPT5lLnN5bWJvbD09PXIuc3ltYm9sJiZlLmV4Y2hhbmdlPT09ci5leGNoYW5nZSkpKzE7cmV0dXJue2tleTpuLG51bWJlckluTGlzdDppLGlkOmwrdC5zeW1ib2wsZGFuZ2Vyb3VzVGl0bGVIVE1MOmJuKHQscWUpLGRhbmdlcm91c0Rlc2NyaXB0aW9uSFRNTDpgJHtyLmRlc2NyaXB0aW9ufWArKHQuZGVzY3JpcHRpb24/YCAoJHt0LmRlc2NyaXB0aW9ufSlgOiIiKSxpc09mZnNldDohMCxpc0VvZDp0LnBhcmFtcz8uaW5jbHVkZXMoImVvZCIpLGlzWWllbGQ6KDAsYW4uaXNZaWVsZCkodCksb25DbGljazpodC5iaW5kKG51bGwsdC5wYXJlbnQsdCxpKSxzb3VyY2VMb2dvczpbaXQocildLHR5cGU6ci50eXBlLGV4Y2hhbmdlTmFtZTpudWxsPT09ci5leGNoYW5nZT92b2lkIDA6ci5leGNoYW5nZSxleGNoYW5nZVRvb2x0aXA6ZShyKSxtYXJrZXRUeXBlOigwLAplbi5tYXJrZXRUeXBlKShyLnR5cGUsdC50eXBlc3BlY3MsITEpLGhpZGVNYXJrZXRUeXBlOlhlLGZ1bGxTeW1ib2xOYW1lOm8saXRlbVJlZjphP1llOnZvaWQgMCxpc0FjdGl2ZTpFZT9FZT09PW86dm9pZCAwLGlzU2VsZWN0ZWQ6YSxoaWRlTWFya2VkTGlzdEZsYWc6cyxpdGVtOnR9fX0pKX0pLFt3ZS5yZW5kZXJTeW1ib2xTZWFyY2hMaXN0LGQsVWUsdGUseWUsRixFZV0pLFplPSgwLGwudXNlTWVtbykoKCgpPT5mdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1uZXcgTWFwKHQ/Lm1hcCgoZT0+W2UuaWQsZS51cmxQYXJhbV0pKSksbz1uW2VdO2xldCBsO2lmKG8pe2w9e307Zm9yKGNvbnN0W2UsdF1vZiBPYmplY3QuZW50cmllcyhvKSl7Y29uc3Qgbj1yLmdldChlKTtuJiYobFtuXT10KX19cmV0dXJuIGx9KG1lLEllKG1lKSxoZSkpLFttZSxJZSxoZV0pLEplPSgwLGwudXNlTWVtbykoKCgpPT53ZS5yZW5kZXJTeW1ib2xTZWFyY2hMaXN0LnNsaWNlKDAsMjApLm1hcCgoZT0+ZS5jb250cmFjdHM/dG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KGUsZS5jb250cmFjdHNbMF0pOnRuLlF1YWxpZmllZFNvdXJjZXMuZnJvbVN5bWJvbFNlYXJjaFJlc3VsdChlKSkpKSxbd2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdF0pOygwLGwudXNlRWZmZWN0KSgoKCk9PntpZighRylyZXR1cm47Y29uc3QgZT1bInJlc2V0RmlsdGVyIiwicmVzZXRUYWJGaWx0ZXIiLCJlbXB0eSJdLmluY2x1ZGVzKHZlKT9bXTpKZSx0PXsuLi5aZSxyZXN1bHRfbGlzdDplfTtpZih0LnNlYXJjaF90eXBlfHwodC5zZWFyY2hfdHlwZT0iYml0Y29pbixjcnlwdG8iPT09bWU/ImNyeXB0byI6bWUpLCFtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzKXJldHVybiB0LmV4Y2hhbmdlPVRlPy5nZXRSZXF1ZXN0Q291bnRyeVZhbHVlKCk/P251bGwsdm9pZCBHKHQpO2lmKG1lKXtjb25zdCBlPVRlPy5nZXRSZXF1ZXN0Q291bnRyeVZhbHVlKCk/P251bGw7ZSYmKHQuY291bnRyeT1lKTtjb25zdCBuPVRlPy5nZXRSZXF1ZXN0RXhjaGFuZ2VWYWx1ZSgpPz9udWxsO24mJih0LmV4Y2hhbmdlPW4pfUcodCl9KSxbbWUsWmUsSmUsVGUsdmVdKTtjb25zdCBldD0oMCxsLnVzZU1lbW8pKCgoKT0+SHx8KHomJiJvcHRpb25zIj09PW1lP2U9PntsZXQgdD1lLmV4Y2hhbmdlO2lmKCgwLHkuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9zeW1ib2xfc2VhcmNoX29wdGlvbnNfZXhjaGFuZ2VzX2xpc3QiKSl7Y29uc3QgZT1bIkFNRVgiLCJCU0UiLCJDQk9FIiwiTkFTREFRIiwiTlNFIiwiTllTRSIsIlRWQyIsIlhFVFIiLCJFVVJFWCJdO2lmKCgwLHkuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9pbl9zeW1ib2xfc2VhcmNoX29wdGlvbnNfbWN4X2V4Y2hhbmdlIikmJmUucHVzaCgiTUNYIiksdCYmIWUuaW5jbHVkZXModCkpcmV0dXJuKDAscHQuZ2V0RW1wdHlTZWFyY2gpKCk7dHx8KHQ9ZS5qb2luKCIsIikpfXJldHVybigwLHB0LnNlYXJjaFN5bWJvbHNQYWdpbmF0ZWQpKHsuLi5lLGZpbHRlclF1ZXJ5UGFyYW1zOnsuLi5lLmZpbHRlclF1ZXJ5UGFyYW1zLG9ubHlfaGFzX29wdGlvbnM6InRydWUiLHNlYXJjaF90eXBlOnZvaWQgMH0sZXhjaGFuZ2U6dCx0eXBlOnZvaWQgMH0pfTp2b2lkIDApKSxbbWUsSCxaZSx6XSksdHQ9Xz8/RW4sbnQ9dHQhPT1FbixydD0oZSxuKT0+KHttb2RlOnRlLHNldE1vZGU6bmUsc2VsZWN0ZWRTZWFyY2hTb3VyY2U6VGUsc2V0U2VsZWN0ZWRTZWFyY2hTb3VyY2U6bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9SZTpjZSxpc0FsbFNlYXJjaFNvdXJjZXNTZWxlY3RlZDp6ZS5pc0FsbFNlYXJjaFNvdXJjZXNTZWxlY3RlZCxhbGxTZWFyY2hTb3VyY2VzVGl0bGU6bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9OLlRBQl9TT1VSQ0VfRklMVEVSX01BUFt3ZS5jdXJyZW50U3ltYm9sVHlwZV0/LmFsbFNlYXJjaFNvdXJjZXNUaXRsZTp2b2lkIDAsc2VsZWN0ZWRTeW1ib2xUeXBlOm1lLHNldFNlbGVjdGVkU3ltYm9sVHlwZTpwZSxzZWxlY3RlZEluZGV4OnllLHNldFNlbGVjdGVkSW5kZXg6YmUsb25DbG9zZTp0LHNldFN5bWJvbFNlYXJjaENvbnRlbnQ6TmUsc3ltYm9sU2VhcmNoQ29udGVudDp3ZSxzZWFyY2hSZWY6QWUsbGlzdFdyYXBSZWY6TGUsY2FjaGVkSW5wdXRWYWx1ZTpzZSxzZWFyY2hTcHJlYWRzOlNlLHNldFNlYXJjaFNwcmVhZHM6Z2UsaGFuZGxlTGlzdFdpZHRoOlN0LGlzU21hbGxXaWR0aDpPZSxmZWVkSXRlbXM6amUsaXNNb2JpbGU6ZSxzaG93U3ByZWFkQWN0aW9uczphLHNlbGVjdFNlYXJjaE9uSW5pdDppLGlzVGFibGV0Om4sc2VsZWN0ZWRJdGVtOktlW3llXSxmb3JjZVVwZGF0ZTpIZSxwbGFjZWhvbGRlcjpoLGluaXRpYWxTY3JlZW46Zyx0b2dnbGVFeHBhbmQ6bXQsb3BlbmVkSXRlbXM6VWUsb25TdWJtaXQ6YnQsb25TZWFyY2hDb21wbGV0ZTpkLGZvb3RlcjpSLHN5bWJvbFR5cGVzOlosY29udGVudEl0ZW06RSxzZWFyY2hJbnB1dDpBLGVtcHR5U3RhdGU6TCxhdXRvZm9jdXM6ayx1cHBlckNhc2VFbmFibGVkOmZuLGV4dGVybmFsSW5wdXQ6SixoYW5kbGVLZXlEb3duOm50P3ZvaWQgMDp5dCxjdXN0b21TZWFyY2hTeW1ib2xzOmV0LHNlYXJjaFNvdXJjZXM6eGUsc2VsZWN0ZWRGaWx0ZXJWYWx1ZXM6aGUsc2V0U2VsZWN0ZWRGaWx0ZXJWYWx1ZXM6ZmUsZmlsdGVyUXVlcnlQYXJhbXM6WmUsc3ltYm9sU2VhcmNoU3RhdGU6dmUsc2V0U3ltYm9sU2VhcmNoU3RhdGU6X2Usb25FbXB0eVJlc3VsdHM6UT9jdDp2b2lkIDAsb3ZlcnJpZGVRdWVyeVBhcmFtczokLGdldEZpbHRlcnNCeVN5bWJvbFR5cGU6SWUsc2hvd1JlY2VudHM6SyxzZWFyY2hJbml0aWF0aW9uUG9pbnQ6WSxhY3RpdmVTeW1ib2w6RWUsaGFuZGxlT3B0aW9uc0JhY2s6YXR9KSxvdD1CPz91dCxsdD12Pz8iZGl2IjtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KGx0LG51bGwsbC5jcmVhdGVFbGVtZW50KFBlLk1hdGNoTWVkaWFNYXAse3J1bGVzOkZlLkRpYWxvZ0JyZWFrcG9pbnRzfSwoKHtUYWJsZXRTbWFsbDplLFRhYmxldE5vcm1hbDpyfSk9PmwuY3JlYXRlRWxlbWVudChWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQuUHJvdmlkZXIsewp2YWx1ZTpydChlLHIpfSxsLmNyZWF0ZUVsZW1lbnQodHQsey4uLiJleGNoYW5nZSI9PT10ZT97dGl0bGU6Yy50KG51bGwsdm9pZCAwLG4oNDg2NzE0KSksZGF0YU5hbWU6ImV4Y2hhbmdlcy1zZWFyY2giLHJlbmRlcjooKT0+bC5jcmVhdGVFbGVtZW50KG90LHtzZWFyY2hTb3VyY2VzOndlLmN1cnJlbnRUYWJBdmFpbGFibGVTZWFyY2hTb3VyY2VzfSksYWRkaXRpb25hbEhlYWRlckVsZW1lbnQ6bC5jcmVhdGVFbGVtZW50KEp0LkJhY2tCdXR0b24se29uQ2xpY2s6KCk9Pm5lKCJzeW1ib2xTZWFyY2giKSxjbGFzc05hbWU6ZG4uYmFja0J1dHRvbixzaXplOiJtZWRpdW0iLGFyaWFMYWJlbDpjLnQobnVsbCx7Y29udGV4dDoiaW5wdXQifSxuKDMwNjYyNikpLHByZXNlcnZlUGFkZGluZ3M6ITAsZmxpcEljb25PblJ0bDooMCxjbi5pc1J0bCkoKX0pLGFkZGl0aW9uYWxFbGVtZW50UG9zOiJiZWZvcmUifTpyZSYmIm9wdGlvbnMiPT09dGU/e3RpdGxlOmwuY3JlYXRlRWxlbWVudChNZSx7c3ltYm9sOnJlfSksZGF0YU5hbWU6Im9wdGlvbnMtc2VhcmNoIixyZW5kZXI6KCk9PmwuY3JlYXRlRWxlbWVudChrZSx7c3ltYm9sOnJlLG9uU2VsZWN0OnN0LGluaXRpYWxPcHRpb246bGU/P3ZvaWQgMH0pLGFkZGl0aW9uYWxIZWFkZXJFbGVtZW50OmwuY3JlYXRlRWxlbWVudChKdC5CYWNrQnV0dG9uLHtvbkNsaWNrOmF0LGNsYXNzTmFtZTpkbi5iYWNrQnV0dG9uLHNpemU6Im1lZGl1bSIsYXJpYUxhYmVsOmMudChudWxsLHtjb250ZXh0OiJpbnB1dCJ9LG4oMzA2NjI2KSkscHJlc2VydmVQYWRkaW5nczohMCxmbGlwSWNvbk9uUnRsOigwLGNuLmlzUnRsKSgpfSksYWRkaXRpb25hbEVsZW1lbnRQb3M6ImJlZm9yZSJ9Ont0aXRsZTpwLGRhdGFOYW1lOiJzeW1ib2wtc2VhcmNoLWl0ZW1zLWRpYWxvZyIscmVuZGVyOigpPT5sLmNyZWF0ZUVsZW1lbnQoWnQsbnVsbCksYWRkaXRpb25hbEVsZW1lbnRQb3M6ImFmdGVyIn0sc2hvdWxkUmV0dXJuRm9jdXM6VixmdWxsU2NyZWVuOmYsb25DbG9zZTp0LG9uQ2xpY2tPdXRzaWRlOnQsb25LZXlEb3duOm50P3ZvaWQgMDp5dCxpc09wZW5lZDohMH0pKSkpKTtmdW5jdGlvbiBhdCgpe25lKCJzeW1ib2xTZWFyY2giKSxvZShudWxsKSxhZShudWxsKX1mdW5jdGlvbiBzdChlKXtkKFt7c3ltYm9sOmUscmVzb2x2ZWQ6ITF9XSx7c3ltYm9sVHlwZTptZX0pLHQoKX1mdW5jdGlvbiBpdChlKXtyZXR1cm57Y291bnRyeTplLmNvdW50cnk/LnRvTG9jYWxlTG93ZXJDYXNlKCkscHJvdmlkZXJJZDplLnByb3ZpZGVyX2lkLHNvdXJjZUxvZ29JZDplLnNvdXJjZV9sb2dvaWQ/P3ZvaWQgMH19ZnVuY3Rpb24gY3QoKXtTZXx8UT8uKEFlLmN1cnJlbnQ/LnZhbHVlfHwiIil9ZnVuY3Rpb24gZHQoZSx0LG4pe2h0KGUsZS5jb250cmFjdHM/LlswXSx0LG4pfWZ1bmN0aW9uIG10KGUpe2NvbnN0IHQ9bmV3IFNldChVZSk7dC5oYXMoZSk/dC5kZWxldGUoZSk6dC5hZGQoZSksV2UodCl9ZnVuY3Rpb24gaHQoZSxuLHIsbyl7Y29uc3QgbD1ufHxlLHtleGNoYW5nZTphfT1lO3tjb25zdCBlPXtuYW1lOmwuc3ltYm9sLGV4Y2hhbmdlOmEscHJlZml4OmwucHJlZml4LGZ1bGxOYW1lOmwuZnVsbF9uYW1lfTtpZihTZSlyZXR1cm4gZ3QoZSksdm9pZCBIZSgpO2lmKEFlLmN1cnJlbnQmJkFlLmN1cnJlbnQudmFsdWUuaW5jbHVkZXMoIiwiKSlyZXR1cm4gdm9pZCBndChlKX1pZih6JiYib3B0aW9ucyI9PT1tZSl7bmUoIm9wdGlvbnMiKTtjb25zdCBlPSgwLG0uZ2V0U3ltYm9sRnVsbE5hbWUpKHtuYW1lOmwuc3ltYm9sLGV4Y2hhbmdlOmEscHJlZml4OmwucHJlZml4LGZ1bGxOYW1lOmwuZnVsbF9uYW1lfSk7cmV0dXJuIGFlKG51bGwpLG9lKGUpLHZvaWQoQWUuY3VycmVudCYmKHNlLmN1cnJlbnQ9Zm4/QWUuY3VycmVudC52YWx1ZS50b1VwcGVyQ2FzZSgpOkFlLmN1cnJlbnQudmFsdWUpKX12dChbe3Jlc29sdmVkOiEwLHN5bWJvbDp0bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQoZSxuKSxyZXN1bHQ6bH1dLHIsbyksdCgpfWZ1bmN0aW9uIFN0KGUpe0JlKCJmaXhlZCI9PT1EfHxlPD02NDApfWZ1bmN0aW9uIGd0KGUpe2lmKCFBZS5jdXJyZW50KXJldHVybjtjb25zdFt0LG5dPVMoQWUuY3VycmVudCxlLGZuKTtBZS5jdXJyZW50LnZhbHVlPXQsQWUuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShuLG4pLEFlLmN1cnJlbnQuZm9jdXMoKX1mdW5jdGlvbiB5dChlKXtpZihlLnRhcmdldCYmZS50YXJnZXQhPT1BZS5jdXJyZW50KXJldHVybjtjb25zdCBuPSgwLGZ0Lmhhc2hGcm9tRXZlbnQpKGUpO3N3aXRjaChuKXtjYXNlIDEzOmUucHJldmVudERlZmF1bHQoKSxidCghMCk7YnJlYWs7Y2FzZSAyNzppZihlLnByZXZlbnREZWZhdWx0KCksImV4Y2hhbmdlIj09PXRlKXJldHVybiB2b2lkIG5lKCJzeW1ib2xTZWFyY2giKTtpZigib3B0aW9ucyI9PT10ZSlyZXR1cm4gdm9pZCBhdCgpO3QoKX1zd2l0Y2goKDAsdW4ubWFwS2V5Q29kZVRvRGlyZWN0aW9uKShuKSl7Y2FzZSJibG9ja1ByZXYiOmlmKGUucHJldmVudERlZmF1bHQoKSwwPT09eWV8fCJnb29kIiE9PXZlKXJldHVybjtpZigtMT09PXllKXJldHVybiB2b2lkIGJlKDApO2JlKHllLTEpO2JyZWFrO2Nhc2UiYmxvY2tOZXh0IjppZihlLnByZXZlbnREZWZhdWx0KCkseWU9PT1qZS5sZW5ndGgtMXx8Imdvb2QiIT09dmUpcmV0dXJuO2JlKHllKzEpO2JyZWFrO2Nhc2UiaW5saW5lUHJldiI6e2lmKC0xPT09eWUpcmV0dXJuO2NvbnN0IHQ9amVbeWVdLHtpZDpuLGlzT2Zmc2V0OnIsb25FeHBhbmRDbGljazpvfT10O2lmKCFyJiZuJiZVZS5oYXMobikmJkJvb2xlYW4obykmJiFCb29sZWFuKEYpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLG10KG4pKSxvKXJldHVybiB2b2lkIEY/LihlLCEwKTticmVha31jYXNlImlubGluZU5leHQiOntpZigtMT09PXllKXJldHVybjtjb25zdCB0PWplW3llXSx7aWQ6bixpc09mZnNldDpyLG9uRXhwYW5kQ2xpY2s6b309dDtpZihyfHwhbnx8VWUuaGFzKG4pfHwhQm9vbGVhbihvKXx8Qm9vbGVhbihGKXx8KGUucHJldmVudERlZmF1bHQoKSxtdChuKSksbylyZXR1cm4gdm9pZCBGPy4oZSwhMCk7YnJlYWt9fUY/LihlKX0KZnVuY3Rpb24gYnQoZSl7aWYoIUFlLmN1cnJlbnQpcmV0dXJuO2xldCBuPUFlLmN1cnJlbnQudmFsdWU7aWYoU2UmJm4pe2NvbnN0IHI9amVbeWVdO2lmKHImJnZvaWQgMCE9PXIuaXNFeHBhbmRlZCYmKHIub25DbGljaygpLG49QWUuY3VycmVudC52YWx1ZSksbi5pbmNsdWRlcygiLCIpKXtyZXR1cm4gdnQoX24obikubWFwKHluKSxudWxsKSx2b2lkKGUmJnQoKSl9cmV0dXJuIHZ0KFt7c3ltYm9sOmZuP24udG9VcHBlckNhc2UoKTpuLHJlc29sdmVkOiExfV0sbnVsbCksdm9pZChlJiZ0KCkpfWlmKG4uaW5jbHVkZXMoIiwiKSlyZXR1cm4gdnQoX24obikubWFwKHluKSxudWxsKSx2b2lkKGUmJnQoKSk7aWYoLTEhPT15ZSl7amVbeWVdLm9uQ2xpY2soKX1lbHNle3tjb25zdCByPWZuP24udG9VcHBlckNhc2UoKTpuO2lmKHImJiIiIT09ci50cmltKCkpe2NvbnN0IGU9X24ocik7aWYobW58fHZvaWQgMD09PVFlfHwtMSE9PXIuaW5kZXhPZigiOiIpKXt2dChlLm1hcCh5biksbnVsbCl9ZWxzZShmdW5jdGlvbihlKXtsZXQgdD0hMTtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9Pi0xIT09ZS5pbmRleE9mKCI6Iil8fHQ/UHJvbWlzZS5yZXNvbHZlKHtzeW1ib2w6ZSxyZXNvbHZlZDohMX0pOih0PSEwLGFzeW5jIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KGF3YWl0KEdlPy5hY2NvdW50TWV0YWluZm8oKSkpPy5wcmVmaXgsbj10fHx2b2lkIDAscj1hd2FpdCgwLHB0LnNlYXJjaFN5bWJvbHNQYWdpbmF0ZWQpKHtzdHJpY3RNYXRjaDohMCxzZXJ2ZXJIaWdobGlnaHQ6ITEsdGV4dDplLGxhbmc6d2luZG93Lmxhbmd1YWdlfHwiIixicm9rZXJJZDpRZSxvbmx5VHJhZGFibGU6ITAsdW5oaWRlU3ltYm9sU2VhcmNoR3JvdXBzOiRlLGV4Y2hhbmdlOm59KTtpZigwIT09ci5zeW1ib2xzLmxlbmd0aCl7Y29uc3QgZT1yLnN5bWJvbHNbMF0se2NvbnRyYWN0czp0fT1lLG49dCYmdC5sZW5ndGg+MD90WzBdOnZvaWQgMCxvPWUucHJlZml4fHxlLmV4Y2hhbmdlLGw9bj9uLnN5bWJvbDplLnN5bWJvbDtpZihvJiZsKXJldHVybntzeW1ib2w6dG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KGUsbikscmVzb2x2ZWQ6ITAscmVzdWx0OmV9fXJldHVybntzeW1ib2w6ZSxyZXNvbHZlZDohMX19KGUpKSkpKX0pKGUpLnRoZW4oKGU9PnZ0KGUsbnVsbCkpKX1lJiZ0KCl9fX1hc3luYyBmdW5jdGlvbiB2dChlLHQsbil7Y29uc3Rbe3Jlc3VsdDpyLHN5bWJvbDpvLHJlc29sdmVkOmx9XT1lLGE9QWUuY3VycmVudD8udmFsdWUscz1MZS5jdXJyZW50PygwLG0uZ2V0RmVhdHVyZWRTeW1ib2xOYW1lKShMZS5jdXJyZW50KTpudWxsLGk9IW58fCgwLHNuLmlzS2V5Ym9hcmRDbGljaykobik7bGV0IGM9U2U7dm9pZCAwIT09ciYmKDAscHQuaXNTeW1ib2xTZWFyY2hSZXN1bHQpKHIpJiYoYz0ic3ByZWFkIj09PXIudHlwZSksV3x8KGw/TShvKTphd2FpdCBPKG8pKSxkKGUse3N5bWJvbFR5cGU6bWUsZmVhdHVyZWRTeW1ib2xOYW1lOnMsaXNLZXlib2FyZEV2ZW50OmksbnVtYmVySW5MaXN0OnQsaW5wdXRWYWx1ZTphLGlzU3ByZWFkOmN9KX19ZnVuY3Rpb24geW4oZSl7cmV0dXJue3N5bWJvbDpmbj9lLnRvVXBwZXJDYXNlKCk6ZSxyZXNvbHZlZDohMX19ZnVuY3Rpb24gYm4oZSx0KXtjb25zdHticm9rZXJfc3ltYm9sOm4sc3ltYm9sOnIsZGVzY3JpcHRpb246b309ZTtyZXR1cm5gJHsic3ByZWFkIj09PWUudHlwZT9vOnJ9JHt0JiZuP2AgKCR7bn0pYDoiIn1gfWZ1bmN0aW9uIHZuKGUpe3JldHVybiBlLnN5bWJvbCtlLmV4Y2hhbmdlK2UuZGVzY3JpcHRpb259ZnVuY3Rpb24gX24oZSl7cmV0dXJuIGUuc3BsaXQoIiwiKS5tYXAoKGU9PmUudHJpbSgpKSkuZmlsdGVyKChlPT4iIiE9PWUpKX1mdW5jdGlvbiBFbihlKXtjb25zdHtpc01vYmlsZTp0LGlzVGFibGV0Om59PSgwLFllLnVzZUVuc3VyZWRDb250ZXh0KShWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoQmUuQWRhcHRpdmVQb3B1cERpYWxvZyx7Li4uZSxjbGFzc05hbWU6cygpKGRuLmRpYWxvZywhdCYmKG4/ZG4udGFibGV0RGlhbG9nOmRuLmRlc2t0b3BEaWFsb2cpKSxiYWNrZHJvcDohMCxkcmFnZ2FibGU6ITF9KX1mdW5jdGlvbiBDbihlLHQpe3JldHVybigwLG0uaXNPcHRpb25EZWZhdWx0VmFsdWUpKGUpJiZ0P2UudW5kZXJseWluZzpudWxsfX0sNzE3MjYzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1N5bWJvbFNlYXJjaE5vUmVzdWx0OigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big5MDc2ODgpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7Y2hpbGRyZW46dCxjbGFzc05hbWU6bn09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKGEuY29udGFpbmVyLG4pfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphLmNoaWxkcmVuV3JhcHBlcn0sdCkpfX0sNzI3NTY5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NyZWF0ZUdyb3VwQ29sdW1uczooKT0+TixleGNoYW5nZVNlbGVjdERpc2FibGVkOigpPT54LGdldEFsbFN5bWJvbFR5cGVzVmFsdWU6KCk9PlQsZ2V0QXZhaWxhYmxlU2VhcmNoU291cmNlczooKT0+RSxnZXRBdmFpbGFibGVTeW1ib2xUeXBlczooKT0+QyxnZXREZWZhdWx0U2VhcmNoU291cmNlOigpPT5fLGdldEZlYXR1cmVkU3ltYm9sTmFtZTooKT0+dyxnZXRTeW1ib2xGdWxsTmFtZTooKT0+dixpc09wdGlvbkRlZmF1bHRWYWx1ZTooKT0+QSxpc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFiczooKT0+UixtYXBFY29ub215U291cmNlOigpPT5JfSk7dmFyIHI9big3ODMyNTQpLG89bigxODczMzkpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fZXhjaGFuZ2U9ZX12YWx1ZSgpe3JldHVybiB0aGlzLl9leGNoYW5nZS52YWx1ZX1uYW1lKCl7cmV0dXJuKDAsby5pc0FsbFNlYXJjaFNvdXJjZXNTZWxlY3RlZCkodGhpcyk/ci50KG51bGwsdm9pZCAwLG4oMzg0MDIwKSk6dGhpcy5fZXhjaGFuZ2UubmFtZX1kZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLl9leGNoYW5nZS5kZXNjfWNvdW50cnkoKXsKcmV0dXJuIHRoaXMuX2V4Y2hhbmdlLmNvdW50cnl9cHJvdmlkZXJJZCgpe3JldHVybiB0aGlzLl9leGNoYW5nZS5wcm92aWRlcklkfXNvdXJjZUlkKCl7cmV0dXJuIHRoaXMuX2V4Y2hhbmdlLnNvdXJjZUlkfWdyb3VwKCl7cmV0dXJuIHRoaXMuX2V4Y2hhbmdlLmdyb3VwfWluY2x1ZGVzKGUpe3JldHVybiBhKHRoaXMuX2V4Y2hhbmdlLGUpfWdldFJlcXVlc3RFeGNoYW5nZVZhbHVlKCl7cmV0dXJuIHRoaXMuX2V4Y2hhbmdlLnZhbHVlfWdldFJlcXVlc3RDb3VudHJ5VmFsdWUoKXt9fWZ1bmN0aW9uIGEoZSx0KXtjb25zdCBuPXQudG9Mb3dlckNhc2UoKSx7bmFtZTpyLGRlc2M6byxzZWFyY2hUZXJtczpsfT1lO3JldHVybiByLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobil8fG8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhuKXx8dm9pZCAwIT09bCYmbC5zb21lKChlPT5lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobikpKX12YXIgcz1uKDY5NzQ3MiksaT1uKDkzMDIzMSksYz1uKDM5ODEzMik7dmFyIHU9big2NjE4NTgpO2NvbnN0IGQ9dVswXS52YWx1ZTt2YXIgbT1uKDU2OTM5OCkscD1uKDEzODYzOCksaD1uKDI1NTUxNiksZj1uKDk3MzA0MSk7Y2xhc3MgU3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9kYXRhPWV9cmF3KCl7cmV0dXJuIHRoaXMuX2RhdGF9dmFsdWUoKXtyZXR1cm4gdGhpcy5fZGF0YS5jb3VudHJ5fW5hbWUoKXtjb25zdCBlPSJ1ayI9PT10aGlzLl9kYXRhLmNvdW50cnk/ImdiIjp0aGlzLl9kYXRhLmNvdW50cnk7cmV0dXJuIGhbZV0/KDAsZi50cmllc1RyYW5zbGF0ZUNvdW50cmllTmFtZSkoaFtlXS50aXRsZSk6ZX1kZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLl9kYXRhLmV4Y2hhbmdlcy5tYXAoKGU9PmUubmFtZSkpLmpvaW4oIiwgIil9Y291bnRyeSgpe3JldHVybiB0aGlzLl9kYXRhLmNvdW50cnl9cHJvdmlkZXJJZCgpe3JldHVybiIifXNvdXJjZUlkKCl7fWdyb3VwKCl7cmV0dXJuIHRoaXMuX2RhdGEuZ3JvdXB9aW5jbHVkZXMoZSl7Y29uc3QgdD0idWsiPT09dGhpcy5fZGF0YS5jb3VudHJ5PyJnYiI6dGhpcy5fZGF0YS5jb3VudHJ5LG49ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLm5hbWUoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG4pfHx0aGlzLmNvdW50cnkoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG4pfHxoW3RdLnRpdGxlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG4pfHx0aGlzLmRlc2NyaXB0aW9uKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhuKXx8dGhpcy5fZGF0YS5leGNoYW5nZXMuc29tZSgodD0+YSh0LGUpKSl9Z2V0UmVxdWVzdEV4Y2hhbmdlVmFsdWUoKXt9Z2V0UmVxdWVzdENvdW50cnlWYWx1ZSgpe2NvbnN0e2NvdW50cnk6ZX09dGhpcy5fZGF0YTtyZXR1cm4oInVrIj09PWU/ImdiIjplKS50b1VwcGVyQ2FzZSgpfX1jbGFzcyBnIGV4dGVuZHMgU3tjb25zdHJ1Y3RvcihlKXtzdXBlcih7Li4uZS5yYXcoKSxleGNoYW5nZXM6W119KX19dmFyIHk9big3ODMxMTYpO2NvbnN0IGI9ISgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpJiYoMCxtLmlzRmVhdHVyZUVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyIpO2Z1bmN0aW9uIHYoZSl7aWYoZS5mdWxsTmFtZSlyZXR1cm4gZS5mdWxsTmFtZTtsZXQgdDtyZXR1cm4gdD1lLnByZWZpeHx8ZS5leGNoYW5nZT8oZS5wcmVmaXh8fGUuZXhjaGFuZ2UpKyI6IitlLm5hbWU6ZS5uYW1lLHQucmVwbGFjZSgvPFwvP1tePl0rKD58JCkvZywiIil9ZnVuY3Rpb24gXygpe3JldHVybiBFKClbMF19ZnVuY3Rpb24gRSgpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hZS5oaWRlSW5TeW1ib2xTZWFyY2gpKX0oZnVuY3Rpb24oZSl7MDtyZXR1cm4oMCxzLmdldFdpZGdldENvbmZpZ3VyZWRFeGNoYW5nZXMpKGUsKDAscy5nZXRXaWRnZXRTeW1ib2xTZWFyY2hDb25maWcpKCkpfSgoMCxzLmdldEV4Y2hhbmdlcykoKSkpO2lmKCFiKXJldHVybigwLG8uY3JlYXRlU2VhcmNoU291cmNlcykobCxlKTtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtyZXR1cm4gZS5mb3JFYWNoKChlPT57Y29uc3R7Y291bnRyeTpuLGZsYWc6cixncm91cDpvfT1lO3QuaGFzKG4pPygwLHAuZW5zdXJlRGVmaW5lZCkodC5nZXQobikpLmV4Y2hhbmdlcy5wdXNoKGUpOnQuc2V0KG4se2NvdW50cnk6bixncm91cDooMCxwLmVuc3VyZURlZmluZWQpKG8pLGZsYWc6cixleGNoYW5nZXM6W2VdfSl9KSksdH0oZS5maWx0ZXIoKGU9PmUuZ3JvdXAhPT1jLkV4Y2hhbmdlR3JvdXAuRWNvbm9teSkpKSxuPVtdLHI9dC5nZXQoIiIpO3JldHVybiByJiYodC5kZWxldGUoIiIpLG4ucHVzaCguLi4oMCxvLmNyZWF0ZVNlYXJjaFNvdXJjZXMpKGwsci5leGNoYW5nZXMpKSksbi5wdXNoKC4uLigwLG8uY3JlYXRlU2VhcmNoU291cmNlcykoUyxbLi4udC52YWx1ZXMoKV0pKSxufWZ1bmN0aW9uIEMoKXtyZXR1cm4iY21lIj09PXdpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcj9bXTooMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT93aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5zdXBwb3J0ZWRTeW1ib2xzVHlwZXMoKTp1LmZpbHRlcigoZT0+ImNmZCIhPT1lLnZhbHVlKSl9ZnVuY3Rpb24gVCgpe3JldHVybiBkfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIFI/IXkuVEFCX1NPVVJDRV9GSUxURVJfTUFQW2VdOiJib3Zlc3BhIj09PXdpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcnx8ImNtZSI9PT13aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ9ZnVuY3Rpb24gSShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFM/bmV3IGcoZSk6ZX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXNzLWl0ZW09ImZlYXR1cmVkIl0nKT8uZ2V0QXR0cmlidXRlKCJkYXRhLXN5bWJvbC1uYW1lIik/P251bGx9ZnVuY3Rpb24gTihlLHQ9Mil7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO2lmKDE9PT10KXJldHVybltlXTtjb25zdCBuPU1hdGguZmxvb3IoZS5sZW5ndGgvMikrZS5sZW5ndGglMgo7cmV0dXJuW2Uuc2xpY2UoMCxuKSxlLnNsaWNlKG4pXS5maWx0ZXIoKGU9PmUubGVuZ3RoPjApKX1jb25zdCBSPSEoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtmdW5jdGlvbiBBKGUpe3JldHVybiJzdHJpbmciIT10eXBlb2YgZX19LDk2NjM2NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zO2Zvcihjb25zdFtuLHJdb2YgT2JqZWN0LmVudHJpZXMoZSkpdm9pZCAwIT09ciYmdC5zZXQobixTdHJpbmcocikpO3JldHVybiB0fW4uZCh0LHtjcmVhdGVTZWFyY2hQYXJhbXM6KCk9PnJ9KX0sOTAxMDIyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnIsaXNTZXBhcmF0b3JJdGVtOigpPT5vfSk7Y29uc3Qgcj0iIyMjIjtmdW5jdGlvbiBvKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocil9fSwxMjg4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+ZH0pO3ZhciByPW4oOTQ4MzgwKSxvPW4oMTUwMTUwKSxsPW4oMjE0OTg3KSxhPW4oMTM4NjM4KSxzPW4oMzY3OTQ2KSxpPW4oOTcwNzc0KSxjPW4oMzA5MDUyKTtjb25zdCB1PW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHIuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PWkuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG8ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IG49ZC5jYWNoZS5nZXQoZSk7cmV0dXJuIG4mJnRoaXMuX2lzU25hcHNob3RSZWFkeShuLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP246bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LG4pe2NvbnN0IHI9bj8uc2lnbmFsPz9udWxsLG89bj8uZnJlc2huZXNzLHM9dm9pZCAwIT09bz9EYXRlLm5vdygpLW86bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChuLG8pPT57aWYociYmci5hYm9ydGVkKXRocm93KDAsbC5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IGk9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxjKSxvKCgwLGwuY3JlYXRlQWJvcnRFcnJvcikoKSl9LGM9KG89ZSk9PntpZihvIT09ZSlyZXR1cm47Y29uc3QgbD1kLmNhY2hlLmdldChlKTtsJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobCx7dGltZXN0YW1wOnMsc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGMpLHI/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixpKSxuKGwpKX07aWYoISgoKT0+e2NvbnN0IHI9ZC5jYWNoZS5nZXQoZSk7aWYoIXIpcmV0dXJuITE7Y29uc3Qgbz0oMCxhLmVuc3VyZU5vdE51bGwpKGQuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHIse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDpzLHRpbWVzOm99KSYmKG4ociksITApfSkoKSYmKHI/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixpLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGMpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxuKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LG4pKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IG4gb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShuKSlyZXR1cm4hMTtyZXR1cm4hMH0KX2lzU25hcHNob3RSZWFkeShlLHQpe2NvbnN0e2ZpZWxkczpuLHRpbWVzdGFtcDpyLHRpbWVzOm8sc3ltYm9sOmx9PXQ7cmV0dXJuImVycm9yIj09PWUuc3RhdHVzfHwobnVsbCE9PXImJm8/dGhpcy5faXNBbGxGaWVsZHNVcFRvRGF0ZShlLG8sbixyKTpudWxsIT09ciYmbD90aGlzLl9pc0FsbEZpZWxkc1VwZGF0ZWQoZSxsLG4pOnRoaXMuX2hhc0FsbEZpZWxkcyhlLG4pKX1faXNBbGxGaWVsZHNVcGRhdGVkKGUsdCxuKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcj10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighcnx8IXIuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKG4pKWlmKCFyLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIGQuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxuLHIpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKG4pKXtjb25zdCBuPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09bilyZXR1cm4hMTtpZihuPHIpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9dS5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9ZC5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTtkLmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAscy5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksZC5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLG49KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscj1uZXcgU2V0KG4pO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmci5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxyKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1kLmNhY2hlPWMuUVVPVEVfRklFTERTX0NBQ0hFfSw2NDc2MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZmxhZ1VybDooKT0+aSxnZXRNb2NrZWRGbGFnOigpPT5jfSk7dmFyIHI9big4MTA0MSksbz1uKDg2MjIxMyksbD1uKDcxNzE0MSksYT1uKDQ1ODA1OSk7Y29uc3Qgcz17ZXJsOiJFVSIsdWs6IkdCIixiaXRjb2luOiJCVEMifTtmdW5jdGlvbiBpKGUsdCxuPW8uTG9nb1NpemUuTWVkaXVtKXtyZXR1cm4gZT8oZS50b0xvd2VyQ2FzZSgpaW4gcyYmKGU9c1tlXSksKDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCkuZ2V0Q291bnRyeUZsYWdVcmwoZS50b1VwcGVyQ2FzZSgpLG4pKTpjKHQpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGU9PT1yLlN0ZFRoZW1lLkRhcms/bDphfX0sMzk4MTMyKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHIsbztuLmQodCx7RXhjaGFuZ2VHcm91cDooKT0+cixnZXRFeGNoYW5nZXNHcm91cE5hbWU6KCk9PmF9KSxmdW5jdGlvbihlKXtlLk5vcnRoQW1lcmljYT0iTm9ydGggQW1lcmljYSIsZS5FdXJvcGU9IkV1cm9wZSIsZS5NaWRkbGVFYXN0QWZyaWNhPSJNaWRkbGUgRWFzdCAvIEFmcmljYSIsZS5NZXhpY29Tb3V0aEFtZXJpY2E9Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsZS5Bc2lhUGFjaWZpYz0iQXNpYSAvIFBhY2lmaWMiLGUuV29ybGR3aWRlPSJXb3JsZHdpZGUiLGUuQ3J5cHRvY3VycmVuY3k9IkNyeXB0b2N1cnJlbmN5IixlLkZvcmV4PSJGb3JleCIsZS5BbGxFeGNoYW5nZXM9IkFsbEV4Y2hhbmdlcyIsZS5PdGhlcnM9Ik90aGVycyIsZS5FY29ub215PSJFY29ub215In0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlVTQT0iVW5pdGVkIFN0YXRlcyIsZS5DYW5hZGE9IkNhbmFkYSIsZS5FVT0iRXVyb3BlYW4gVW5pb24iLGUuR2VybWFueT0iR2VybWFueSIsZS5JdGFseT0iSXRhbHkiLGUuUG9sYW5kPSJQb2xhbmQiLGUuUnVzc2lhPSJSdXNzaWFuIEZlZGVyYXRpb24iLGUuU2VyYmlhPSJTZXJiaWEiLGUuU3BhaW49IlNwYWluIixlLlN3aXR6ZXJsYW5kPSJTd2l0emVybGFuZCIsZS5UdXJrZXk9IlR1cmtleSIsZS5VSz0iVW5pdGVkIEtpbmdkb20iLGUuQmFocmFpbj0iQmFocmFpbiIsZS5FZ3lwdD0iRWd5cHQiLGUuSXNyYWVsPSJJc3JhZWwiLGUuTmlnZXJpYT0iTmlnZXJpYSIsZS5TYXVkaUFyYWJpYT0iU2F1ZGkgQXJhYmlhIixlLlVBRT0iVW5pdGVkIEFyYWIgRW1pcmF0ZXMiLGUuQXJnZW50aW5hPSJBcmdlbnRpbmEiLGUuQnJhemlsPSJCcmF6aWwiLGUuQ2hpbGU9IkNoaWxlIixlLkN6ZWNoPSJDemVjaCIsZS5NZXhpY289Ik1leGljbyIsZS5BdXN0cmFsaWE9IkF1c3RyYWxpYSIsZS5DaGluYT0iTWFpbmxhbmQgQ2hpbmEiLGUuSW5kaWE9IkluZGlhIixlLkluZG9uZXNpYT0iSW5kb25lc2lhIixlLkhvbmdLb25nPSJIb25nIEtvbmcsIENoaW5hIixlLkphcGFuPSJKYXBhbiIsZS5NYWxheXNpYT0iTWFsYXlzaWEiLGUuTmV3WmVhbGFuZD0iTmV3IFplYWxhbmQiLGUuU2luZ2Fwb3JlPSJTaW5nYXBvcmUiLGUuVGFpd2FuPSJUYWl3YW4sIENoaW5hIixlLlRoYWlsYW5kPSJUaGFpbGFuZCIsZS5Tb3V0aEtvcmVhPSJTb3V0aCBLb3JlYSIsZS5QZXJ1PSJQZXJ1IiwKZS5Db2xvbWJpYT0iQ29sb21iaWEiLGUuU3dlZGVuPSJTd2VkZW4iLGUuSXJlbGFuZD0iSXJlbGFuZCIsZS5BdXN0cmlhPSJBdXN0cmlhIixlLk5vcndheT0iTm9yd2F5IixlLlFhdGFyPSJRYXRhciIsZS5EZW5tYXJrPSJEZW5tYXJrIixlLkljZWxhbmQ9IkljZWxhbmQiLGUuRmlubGFuZD0iRmlubGFuZCIsZS5MaXRodWFuaWE9IkxpdGh1YW5pYSIsZS5Fc3RvbmlhPSJFc3RvbmlhIixlLkxhdHZpYT0iTGF0dmlhIixlLlZpZXRuYW09IlZpZXRuYW0iLGUuU291dGhBZnJpY2E9IlNvdXRoIEFmcmljYSIsZS5OZXRoZXJsYW5kcz0iTmV0aGVybGFuZHMiLGUuQmVsZ2l1bT0iQmVsZ2l1bSIsZS5Qb3J0dWdhbD0iUG9ydHVnYWwiLGUuRnJhbmNlPSJGcmFuY2UiLGUuQmFuZ2xhZGVzaD0iQmFuZ2xhZGVzaCJ9KG98fChvPXt9KSk7dmFyIGw9bigxODUyNzEpO2Z1bmN0aW9uIGEoKXtyZXR1cm57W3IuTm9ydGhBbWVyaWNhXTpsLnQobnVsbCx2b2lkIDAsbig2ODk3MTYpKSxbci5FdXJvcGVdOmwudChudWxsLHZvaWQgMCxuKDk1MjM2NykpLFtyLk1pZGRsZUVhc3RBZnJpY2FdOmwudChudWxsLHZvaWQgMCxuKDYwMzA2NSkpLFtyLk1leGljb1NvdXRoQW1lcmljYV06bC50KG51bGwsdm9pZCAwLG4oNTk4MjQ3KSksW3IuQXNpYVBhY2lmaWNdOmwudChudWxsLHZvaWQgMCxuKDc2NDE3MSkpLFtyLldvcmxkd2lkZV06bC50KG51bGwsdm9pZCAwLG4oNTEzOTUzKSksW3IuQ3J5cHRvY3VycmVuY3ldOmwudChudWxsLHZvaWQgMCxuKDI5OTk2NikpLFtyLkZvcmV4XTpsLnQobnVsbCx2b2lkIDAsbig0OTc1NjkpKSxbci5PdGhlcnNdOmwudChudWxsLHZvaWQgMCxuKDk3MDkwOSkpLFtyLkVjb25vbXldOmwudChudWxsLHZvaWQgMCxuKDE3NjM3OCkpfX19LDYyMzUxMShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oKT0+KG51bGw9PT10JiYodD1lKCkpLHQpfW4uZCh0LHtsYXp5VmFsdWU6KCk9PnJ9KX0sNzg4MDEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7c2Vzc2lvblRoZW5Mb2NhbDooKT0+cixzZXNzaW9uVGhlblR2U2V0dGluZ3M6KCk9Pm99KTt2YXIgcj17fTtuLnIociksbi5kKHIse2dldDooKT0+Zyxsb2dnZXI6KCk9PmYsc2V0OigpPT5TfSk7dmFyIG89e307bi5yKG8pLG4uZChvLHtnZXQ6KCk9Pl8sbG9nZ2VyOigpPT5iLHNldDooKT0+dn0pO3ZhciBsPW4oMjIxMDYxKSxhPW4oOTMyMzY1KTtpZig3OTc5NT09bi5qKXZhciBzPW4oMjM3MzY5KTtpZig3OTc5NT09bi5qKXZhciBpPW4oNzc2MTczKTt2YXIgYz1uKDgzOTQyNiksdT1uKDU2OTM5OCk7Y29uc3QgZD0oMCxsLmdldExvZ2dlcikoIkxpYi5TZXNzaW9uU2NvcGVkU2V0dGluZ3MiKTtjb25zdCBtPSgwLGMuZGVmYXVsdCkoKCgpPT57cmV0dXJuIHZvaWQgMCE9PXdpbmRvdy5UVkQ/bnVsbCE9KGU9d2luZG93LlRWRC5zZXNzaW9uU3RvcmFnZSkmJiJvYmplY3QiPT10eXBlb2YgZSYmImdldEl0ZW0iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuZ2V0SXRlbSYmInNldEl0ZW0iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuc2V0SXRlbSYmKDAsdS5pc0ZlYXR1cmVFbmFibGVkKSgidXNlX2Rlc2t0b3Bfc2Vzc2lvbl9zdG9yYWdlIik/d2luZG93LlRWRC5zZXNzaW9uU3RvcmFnZTpudWxsOigwLHUuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSIpP3dpbmRvdy5zZXNzaW9uU3RvcmFnZTpudWxsO3ZhciBlfSkpO2Z1bmN0aW9uIHAoZSx0KXtjb25zdCBuPW0oKTtpZihudWxsIT09bil0cnl7bi5zZXRJdGVtKGUsdCl9Y2F0Y2goZSl7ZD8ubG9nV2Fybihgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSBmYWlsZWQsIGJlY2F1c2Ugb2YgZXhjZXB0aW9uOiAkeygwLHMuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKX19ZnVuY3Rpb24gaChlKXtjb25zdCB0PW0oKTtyZXR1cm4gbnVsbD09PXQ/bnVsbDp0LmdldEl0ZW0oZSl9Y29uc3QgZj0oMCxsLmdldExvZ2dlcikoIkxpYi5TZXNzaW9uU2NvcGVkU2V0dGluZ3MiKTtmdW5jdGlvbiBTKGUsdCl7dHJ5e2NvbnN0IG49KDAsaS5zZXR0aW5nVmFsdWVUb1N0cmluZykodCk7cChlLG4pLGEuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLG4pfWNhdGNoKGUpe2Y/LmxvZ1dhcm4oYHNlc3Npb25UaGVuTG9jYWwuc2V0IGZhaWxlZDogJHsoMCxzLmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fWZ1bmN0aW9uIGcoZSx0LG4pe3RyeXtyZXR1cm4oMCxpLnBhcnNlU2V0dGluZ1ZhbHVlKShmdW5jdGlvbihlLHQpe2xldCBuPWgoZSk7bnVsbD09PW4mJihuPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKT8/dCxwKGUsbikpO3JldHVybiBufShlLCgwLGkuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpKSxuKX1jYXRjaChlKXtyZXR1cm4gZj8ubG9nV2Fybihgc2Vzc2lvblRoZW5Mb2NhbC5nZXQgaXMgYWJvdXQgdG8gcmV0dXJuIHRoZSBkZWZhdWx0IHZhbHVlIGR1ZSB0byBlcnJvcjogJHsoMCxzLmdldEVycm9yTWVzc2FnZSkoZSl9YCksdH19dmFyIHk9big5MzA1NjYpO2NvbnN0IGI9KDAsbC5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7ZnVuY3Rpb24gdihlLHQpe3RyeXtjb25zdCBuPSgwLGkuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpO3AoZSxuKSx5LnNldFZhbHVlKGUsbil9Y2F0Y2goZSl7Yj8ubG9nV2Fybihgc2Vzc2lvblRoZW5UdlNldHRpbmdzLnNldCBmYWlsZWQ6ICR7KDAscy5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX1mdW5jdGlvbiBfKGUsdCxuKXt0cnl7cmV0dXJuKDAsaS5wYXJzZVNldHRpbmdWYWx1ZSkoZnVuY3Rpb24oZSx0KXtsZXQgbj1oKGUpO251bGw9PT1uJiYobj15LmdldFZhbHVlKGUpPz90LHAoZSxuKSk7cmV0dXJuIG59KGUsKDAsaS5zZXR0aW5nVmFsdWVUb1N0cmluZykodCkpLG4pfWNhdGNoKGUpe3JldHVybiBiPy5sb2dXYXJuKGBzZXNzaW9uVGhlblR2U2V0dGluZ3MuZ2V0IGlzIGFib3V0IHRvIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZSBkdWUgdG8gZXJyb3I6ICR7KDAscy5nZXRFcnJvck1lc3NhZ2UpKGUpfWApLHR9fX0sNzc2MTczKGUsdCxuKXsidXNlIHN0cmljdCIKO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBuPUpTT04ucGFyc2UoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gbjtpZih0KG4pKXJldHVybiBuO3Rocm93IG5ldyBUeXBlRXJyb3IoIlBhcnNlZCB2YWx1ZSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCB2YWxpZGF0aW9uIHByZWRpY2F0ZSIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfW4uZCh0LHtwYXJzZVNldHRpbmdWYWx1ZTooKT0+cixzZXR0aW5nVmFsdWVUb1N0cmluZzooKT0+b30pfSw1ODk5MTUoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcixvLGwsYSxzLGksYyx1O24uZCh0LHtPcHRpb25zVHJhY2tlcjooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuVG9wVG9vbGJhcj0idG9wIHRvb2xiYXIiLGUuTGVmdFRvb2xiYXI9ImxlZnQgdG9vbGJhciIsZS5Cb3R0b21Ub29sYmFyPSJib3R0b20gdG9vbGJhciIsZS5Cb3R0b21QYW5lbD0iYm90dG9tIHBhbmVsIixlLlJpZ2h0UGFuZWw9InJpZ2h0IHBhbmVsIixlLldhdGNobGlzdD0id2F0Y2hsaXN0IixlLk1hbmFnZUxheW91dD0ibWFuYWdlIGxheW91dCIsZS5Ib3RrZXk9ImhvdGtleSJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5TeW1ib2xTZWFyY2g9InN5bWJvbCBzZWFyY2giLGUuSW50ZXJ2YWw9ImludGVydmFsIixlLkNoYXJ0U3R5bGU9ImNoYXJ0IHN0eWxlIixlLkNvbXBhcmU9ImNvbXBhcmUiLGUuSW5kaWNhdG9ycz0iaW5kaWNhdG9ycyIsZS5GaW5hbmNpYWxzPSJmaW5hbmNpYWxzIixlLkluZGljYXRvclRlbXBsYXRlcz0iaW5kaWNhdG9yIHRlbXBsYXRlcyIsZS5BbGVydD0iYWxlcnQiLGUuQmFyUmVwbGF5PSJiYXIgcmVwbGF5IixlLlVuZG89InVuZG8iLGUuUmVkbz0icmVkbyIsZS5MYXlvdXRUeXBlPSJsYXlvdXQgdHlwZSIsZS5NYW5hZ2VMYXlvdXRzPSJtYW5hZ2UgbGF5b3V0cyIsZS5DaGFydFNldHRpbmdzPSJjaGFydCBzZXR0aW5ncyIsZS5GdWxsc2NyZWVuTW9kZT0iZnVsbHNjcmVlbiBtb2RlIixlLlNuYXBzaG90PSJzbmFwc2hvdCIsZS5UZWxlZ3JhbVNoYXJlPSJ0ZWxlZ3JhbSBzaGFyZSIsZS5QdWJsaXNoPSJwdWJsaXNoIixlLkNvcHk9ImNvcHkiLGUuVG9wVG9vbGJhclRyYWRlQnV0dG9uPSJ0b3BfdG9vbGJhcl90cmFkZV9idXR0b24iLGUuQ3Vyc29ycz0iY3Vyc29ycyIsZS5UcmVuZExpbmVUb29scz0idHJlbmQgbGluZSB0b29scyIsZS5HYW5BbmRGaWJUb29scz0iZ2FuIGFuZCBmaWIgdG9vbHMiLGUuR2VvbWV0cmljU2hhcGVzPSJnZW9tZXRyaWMgc2hhcGVzIixlLkFubm90YXRpb25Ub29scz0iYW5ub3RhdGlvbiB0b29scyIsZS5QYXR0ZXJucz0icGF0dGVybnMiLGUuUHJlZGljdGlvblRvb2xzPSJwcmVkaWN0aW9uIHRvb2xzIixlLkljb25zPSJpY29ucyIsZS5NZWFzdXJlPSJtZWFzdXJlIixlLlpvb21Jbj0iem9vbSBpbiIsZS5ab29tT3V0PSJ6b29tIG91dCIsZS5NYWduZXRNb2RlPSJtYWduZXQgbW9kZSIsZS5NYWduZXRTbmFwcz0ibWFnbmV0IHNuYXBzIixlLkRyYXdpbmdNb2RlPSJkcmF3aW5nIG1vZGUiLGUuTG9jaz0ibG9jayIsZS5IaWRlRHJhd2luZ3M9ImhpZGUiLGUuU3luYz0ic3luYyIsZS5SZW1vdmU9InJlbW92ZSIsZS5GYXZvcml0ZVRvb2xiYXI9ImZhdm9yaXRlIHRvb2xiYXIiLGUuT2JqZWN0VHJlZT0ib2JqZWN0IHRyZWUiLGUuRGF5PSIxZCIsZS5GaXZlRGF5cz0iNWQiLGUuTW9udGg9IjFtIixlLlRocmVlTW9udGhzPSIzbSIsZS5TaXhNb250aHM9IjZtIixlLllURD0ieXRkIixlLlllYXI9IjF5IixlLkZpdmVZZWFycz0iNXkiLGUuQWxsPSJhbGwiLGUuR29Ubz0iZ28gdG8iLGUuRGF0ZVJhbmdlPSJkYXRlIHJhbmdlIixlLlRpbWV6b25lPSJ0aW1lem9uZSIsZS5TZXNzaW9uPSJzZXNzaW9uIixlLkFkaj0iYWRqIixlLlBlcmNlbnQ9InBlcmNlbnQiLGUuTG9nPSJsb2ciLGUuQXV0bz0iYXV0byIsZS5NYXhpbWl6ZUNoYXJ0PSJtYXhpbWl6ZSBjaGFydCIsZS5XYXRjaGxpc3Q9IndhdGNobGlzdCIsZS5BbGVydHM9ImFsZXJ0cyIsZS5EYXRhV2luZG93PSJkYXRhIHdpbmRvdyIsZS5Ib3RsaXN0PSJob3RsaXN0IixlLkNhbGVuZGFyPSJjYWxlbmRhciIsZS5DYWxlbmRhckRpYWxvZz0iY2FsZW5kYXIgZGlhbG9nIixlLlVuaW9uQ2hhdHM9ImNoYXRzIixlLk9yZGVyUGFuZWw9Im9yZGVyIHBhbmVsIixlLkRPTT0iZG9tIixlLkhlbHBDZW50ZXI9ImhlbHAgY2VudGVyIixlLkV4cG9ydD0iZXhwb3J0IixlLk1ha2VBQ29weT0ibWFrZSBhIGNvcHkifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2UuTWVudT0ibWVudSIsZS5Pbj0ib24iLGUuT2ZmPSJvZmYifShsfHwobD17fSkpLGZ1bmN0aW9uKGUpe2UuQ29weT0iY29weSIsZS5TaGFyZT0ic2hhcmUifShhfHwoYT17fSkpLGZ1bmN0aW9uKGUpe2xldCB0LG47IWZ1bmN0aW9uKGUpe2UuRmlsdGVyUGlsbD0iRklMVEVSX1BJTEwiLGUuRmlsdGVyUGlsbFJlc2V0PSJGSUxURVJfUElMTF9SRVNFVCIsZS5GaWx0ZXJSZXNldEFsbD0iRklMVEVSX1JFU0VUX0FMTCIsZS5GaWx0ZXJSZW1vdmVBbGw9IkZJTFRFUl9SRU1PVkVfQUxMIixlLkZpbHRlclJlbW92ZUluYWN0aXZlPSJGSUxURVJfUkVNT1ZFX0lOQUNUSVZFIixlLkFkZEZpbHRlcj0iQUREX0ZJTFRFUiIsZS5FZGl0RmlsdGVyPSJFRElUX0ZJTFRFUiIsZS5GaWx0ZXJQb3BvdmVyUmVzZXQ9IkZJTFRFUl9QT1BPVkVSX1JFU0VUIixlLkZpbHRlclBvcG92ZXJQcmVzZXQ9IkZJTFRFUl9QT1BPVkVSX1BSRVNFVCIsZS5GaWx0ZXJQb3BvdmVyRGVsZXRlPSJGSUxURVJfUE9QT1ZFUl9ERUxFVEUiLGUuRmlsdGVyUG9wb3ZlckN1c3RvbT0iRklMVEVSX1BPUE9WRVJfQ1VTVE9NIixlLkZpbHRlclBvcG92ZXJBcHBseT0iRklMVEVSX1BPUE9WRVJfQVBQTFkiLGUuU2VhcmNoRmlsdGVyRGlhbG9nT3BlbkZyb21QaWxsPSJTRUFSQ0hfRklMVEVSX0RJQUxPR19PUEVOX0ZST01fUElMTCIsZS5TZWFyY2hGaWx0ZXJEaWFsb2dDbGlja0ZpbHRlcj0iU0VBUkNIX0ZJTFRFUl9ESUFMT0dfQ0xJQ0tfRklMVEVSIixlLlNlYXJjaEZpbHRlckRpYWxvZ0NoYW5nZUdyb3VwPSJTRUFSQ0hfRklMVEVSX0RJQUxPR19DSEFOR0VfR1JPVVAiLAplLlNlYXJjaEZpbHRlckRpYWxvZ0ZpbHRlck9wdGlvbj0iU0VBUkNIX0ZJTFRFUl9ESUFMT0dfRklMVEVSX09QVElPTiIsZS5TZWFyY2hGaWx0ZXJEaWFsb2dGaWx0ZXJTb2x1dGlvbj0iU0VBUkNIX0ZJTFRFUl9ESUFMT0dfRklMVEVSX1NPTFVUSU9OIixlLlNlYXJjaEZpbHRlckRpYWxvZ0ZpbHRlck91dHNpZGU9IlNFQVJDSF9GSUxURVJfRElBTE9HX0ZJTFRFUl9PVVRTSURFIixlLlNlYXJjaEZpbHRlckRpYWxvZ0ZpbHRlckNsb3NlPSJTRUFSQ0hfRklMVEVSX0RJQUxPR19GSUxURVJfQ0xPU0UiLGUuU2VhcmNoRmlsdGVyRGlhbG9nRmlsdGVyTWVudUFwcGx5PSJTRUFSQ0hfRklMVEVSX0RJQUxPR19GSUxURVJfTUVOVV9BUFBMWSIsZS5DcmVhdGVFZGl0RmlsdGVyRGlhbG9nUmVzZXQ9IkNSRUFURV9FRElUX0ZJTFRFUl9ESUFMT0dfUkVTRVQiLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ1NlbGVjdEFsbD0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19TRUxFQ1RfQUxMIixlLkNyZWF0ZUVkaXRGaWx0ZXJEaWFsb2dVbnNlbGVjdEFsbD0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19VTlNFTEVDVF9BTEwiLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ0NhbmNlbD0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19DQU5DRUwiLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ0FwcGx5PSJDUkVBVEVfRURJVF9GSUxURVJfRElBTE9HX0FQUExZIixlLkNyZWF0ZUVkaXRGaWx0ZXJEaWFsb2dGaWx0ZXJTb2x1dGlvbj0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19GSUxURVJfU09MVVRJT04iLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ091dHNpZGU9IkNSRUFURV9FRElUX0ZJTFRFUl9ESUFMT0dfT1VUU0lERSIsZS5DcmVhdGVFZGl0RmlsdGVyRGlhbG9nQ2xvc2U9IkNSRUFURV9FRElUX0ZJTFRFUl9ESUFMT0dfQ0xPU0UiLGUuU2NyZWVuZXJWaWV3VHlwZT0iU0NSRUVORVJfVklFV19UWVBFIixlLlNlYXJjaENvbHVtbkRpYWxvZ09wZW5Gcm9tVGFibGVIZWFkZXI9IlNFQVJDSF9DT0xVTU5fRElBTE9HX09QRU5fRlJPTV9UQUJMRV9IRUFERVIiLGUuU2VhcmNoQ29sdW1uRGlhbG9nQ2xpY2tDb2x1bW49IlNFQVJDSF9DT0xVTU5fRElBTE9HX0NMSUNLX0NPTFVNTiIsZS5TZWFyY2hDb2x1bW5EaWFsb2dDbGVhckFsbD0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfQ0xFQVJfQUxMIixlLlNlYXJjaENvbHVtbkRpYWxvZ1JlbW92ZUNvbHVtbj0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfUkVNT1ZFX0NPTFVNTiIsZS5TZWFyY2hDb2x1bW5EaWFsb2dBcHBseT0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfQVBQTFkiLGUuU2VhcmNoQ29sdW1uRGlhbG9nQ2FuY2VsPSJTRUFSQ0hfQ09MVU1OX0RJQUxPR19DQU5DRUwiLGUuU2VhcmNoQ29sdW1uRGlhbG9nT3V0c2lkZT0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfT1VUU0lERSIsZS5TZWFyY2hDb2x1bW5EaWFsb2dDbG9zZT0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfQ0xPU0UiLGUuU2VhcmNoQ29sdW1uRGlhbG9nQ2hhbmdlR3JvdXA9IlNFQVJDSF9DT0xVTU5fRElBTE9HX0NIQU5HRV9HUk9VUCIsZS5DcmVhdGVFZGl0Q29sdW1uRGlhbG9nQXBwbHk9IkNSRUFURV9FRElUX0NPTFVNTl9ESUFMT0dfQVBQTFkiLGUuQ3JlYXRlRWRpdENvbHVtbkRpYWxvZ0NhbmNlbD0iQ1JFQVRFX0VESVRfQ09MVU1OX0RJQUxPR19DQU5DRUwiLGUuQ3JlYXRlRWRpdENvbHVtbkRpYWxvZ091dHNpZGU9IkNSRUFURV9FRElUX0NPTFVNTl9ESUFMT0dfT1VUU0lERSIsZS5DcmVhdGVFZGl0Q29sdW1uRGlhbG9nQ2xvc2U9IkNSRUFURV9FRElUX0NPTFVNTl9ESUFMT0dfQ0xPU0UiLGUuQ3JlYXRlRWRpdENvbHVtblBvcG92ZXJNZW51QXBwbHk9IkNSRUFURV9FRElUX0NPTFVNTl9QT1BPVkVSX01FTlVfQVBQTFkiLGUuQ3JlYXRlRWRpdENvbHVtblBvcG92ZXJNZW51Q2FuY2VsPSJDUkVBVEVfRURJVF9DT0xVTU5fUE9QT1ZFUl9NRU5VX0NBTkNFTCIsZS5TY3JlZW5DYXJkUG9wdWxhclNlbGVjdD0iU0NSRUVOX0NBUkRfUE9QVUxBUl9TRUxFQ1QiLGUuQ29sdW1uU2V0U2VsZWN0PSJDT0xVTU5fU0VUX1NFTEVDVCIsZS5IZWFkZXJDb2xsYXBzZT0iSEVBREVSX0NPTExBUFNFIixlLkZ1bGxzY3JlZW49IkZVTExTQ1JFRU4iLGUuRXhwb3J0Q1NWPSJFWFBPUlRfQ1NWIixlLlNjcmVlbmVyU2V0dGluZ3NPcGVuRnJvbUJ1dHRvbj0iU0NSRUVORVJfU0VUVElOR1NfT1BFTl9GUk9NX0JVVFRPTiIsZS5TY3JlZW5lclNldHRpbmdzQ2xpY2tBdXRvUmVmcmVzaE9wdGlvbj0iU0NSRUVORVJfU0VUVElOR1NfQ0xJQ0tfQVVUT19SRUZSRVNIX09QVElPTiIsZS5TY3JlZW5lclNldHRpbmdzQ2xpY2tDb252ZXJ0Q3VycmVuY3lPcHRpb249IlNDUkVFTkVSX1NFVFRJTkdTX0NMSUNLX0NPTlZFUlRfQ1VSUkVOQ1lfT1BUSU9OIixlLlNjcmVlbmVyU2V0dGluZ3NHcm91cEJ5SXNpblRvZ2dsZVJlZ3dhbGxPcGVuPSJTRVRUSU5HU19HUk9VUF9CWV9JU0lOX1RPR0dMRV9SRUdXQUxMX09QRU4iLGUuQ29sdW1uU2VhcmNoU3ltYm9sUmVnd2FsbE9wZW49IkNPTFVNTl9TRUFSQ0hfU1lNQk9MX1JFR1dBTExfT1BFTiIsZS5Db2x1bW5Db250ZXh0TWVudVNvcnRBc2M9IkNPTFVNTl9DT05URVhUX01FTlVfU09SVF9BU0MiLGUuQ29sdW1uQ29udGV4dE1lbnVTb3J0RGVzYz0iQ09MVU1OX0NPTlRFWFRfTUVOVV9TT1JUX0RFU0MiLGUuQ29sdW1uQ29udGV4dE1lbnVTb3J0UmVnd2FsbE9wZW49IkNPTFVNTl9DT05URVhUX01FTlVfU09SVF9SRUdXQUxMX09QRU4iLGUuQ29sdW1uQ29udGV4dE1lbnVNb3ZlTGVmdD0iQ09MVU1OX0NPTlRFWFRfTUVOVV9NT1ZFX0xFRlQiLGUuQ29sdW1uQ29udGV4dE1lbnVNb3ZlUmlnaHQ9IkNPTFVNTl9DT05URVhUX01FTlVfTU9WRV9SSUdIVCIsZS5Db2x1bW5Db250ZXh0TWVudU1vdmVUb1RoZUVuZD0iQ09MVU1OX0NPTlRFWFRfTUVOVV9NT1ZFX1RPX1RIRV9FTkQiLGUuQ29sdW1uQ29udGV4dE1lbnVNb3ZlVG9UaGVTdGFydD0iQ09MVU1OX0NPTlRFWFRfTUVOVV9NT1ZFX1RPX1RIRV9TVEFSVCIsZS5Db2x1bW5Db250ZXh0TWVudVJlbW92ZUNvbHVtbj0iQ09MVU1OX0NPTlRFWFRfTUVOVV9SRU1PVkVfQ09MVU1OIiwKZS5Db2x1bW5Db250ZXh0TWVudUNoYW5nZVBhcmFtPSJDT0xVTU5fQ09OVEVYVF9NRU5VX0NIQU5HRV9QQVJBTSIsZS5Tb3J0U2VsZWN0T3BlbkZyb21CdXR0b249IlNPUlRfU0VMRUNUX09QRU5fRlJPTV9CVVRUT04iLGUuU29ydFNlbGVjdENsaWNrQ29sdW1uPSJTT1JUX1NFTEVDVF9DTElDS19DT0xVTU4iLGUuU2NyZWVuZXJNYW51YWxSZWZyZXNoT3B0aW9uPSJTQ1JFRU5FUl9NQU5VQUxfUkVGUkVTSF9PUFRJT04iLGUuTWFya2V0UHJpbWFyeUxpc3RpbmdUb2dnbGU9Ik1BUktFVF9QUklNQVJZX0xJU1RJTkdfVE9HR0xFIixlLk1hcmtldENoYW5nZU9wdGlvbj0iTUFSS0VUX0NIQU5HRV9PUFRJT04iLGUuTWFya2V0U2VsZWN0TXVsdGlwbGU9Ik1BUktFVF9TRUxFQ1RfTVVMVElQTEUiLGUuT3BlblNjcmVlbmVyPSJPUEVOX1NDUkVFTkVSIixlLkNoYW5nZVN0YW5kYWxvbmVUeXBlPSJDSEFOR0VfU1RBTkRBTE9ORV9UWVBFIixlLlRhYmxlQ29udGV4dE1lbnVBZGRTeW1ib2xUb1dhdGNobGlzdD0iVEFCTEVfQ09OVEVYVF9NRU5VX0FERF9TWU1CT0xfVE9fV0FUQ0hMSVNUIixlLlRhYmxlUm93QWRkU3ltYm9sVG9XYXRjaGxpc3Q9IlRBQkxFX1JPV19BRERfU1lNQk9MX1RPX1dBVENITElTVCIsZS5XYXRjaGxpc3RBcHBsaWVkU2Nhbj0iV0FUQ0hMSVNUX0FQUExJRURfU0NBTiIsZS5XYXRjaGxpc3RQb3BvdmVyT3Blbj0iV0FUQ0hMSVNUX1BPUE9WRVJfT1BFTiIsZS5TY3JlZW5BY3Rpb25zRHJvcGRvd25Jc09wZW49IlNDUkVFTkVSX01FTlVfT1BFTiIsZS5TY3JlZW5BY3Rpb25zRHJvcGRvd25SZWNlbnRTY3JlZW49Ik9QRU5fUkVDRU5UTFlfVVNFRCIsZS5TYXZlZFNjcmVlblNoYXJlPSJTQVZFRF9TQ1JFRU5fU0hBUkUiLGUuU2hhcmVkU2NyZWVuT3Blbj0iU0hBUkVEX1NDUkVFTl9PUEVOIixlLlNoYXJlZFNjcmVlbkNvcHk9IlNIQVJFRF9TQ1JFRU5fQ09QWSIsZS5TYXZlZFNjcmVlbkF1dG9zYXZlPSJTQVZFRF9TQ1JFRU5fQVVUT1NBVkUiLGUuU2F2ZWRTY3JlZW5NYWtlQ29weT0iU0FWRURfU0NSRUVOX01BS0VfQ09QWSIsZS5TYXZlU2NyZWVuPSJTQVZFX1NDUkVFTiIsZS5DcmVhdGVTY3JlZW49IkNSRUFURV9TQ1JFRU4iLGUuRmlsdGVyQ3VzdG9tUGFyYW1BcHBseT0iRklMVEVSX0NVU1RPTV9QQVJBTV9BUFBMWSIsZS5Db2x1bW5DdXN0b21QYXJhbUFwcGx5PSJDT0xVTU5fQ1VTVE9NX1BBUkFNX0FQUExZIixlLlNjcmVlblVuZG89IlNDUkVFTl9VTkRPIixlLlNjcmVlblJlZG89IlNDUkVFTl9SRURPIixlLlNjcmVlbkNvbHVtbkFycm93U29ydD0iU0NSRUVOX0NPTFVNTl9BUlJPV19TT1JUIixlLlNjcmVlbkNvbHVtblNvcnRSZWd3YWxsT3Blbj0iU0NSRUVOX0NPTFVNTl9TT1JUX1JFR1dBTExfT1BFTiIsZS5SZWdpc3RyYXRpb25Cb3R0b21CYXJDbGlja1JlZ2lzdGVyPSJSRUdJU1RSQVRJT05fQk9UVE9NX0JBUl9DTElDS19SRUdJU1RFUiIsZS5TY3JlZW5lclNhdmVBcz0iU0NSRUVORVJfU0FWRV9BUyIsZS5QaW5lU2NyZWVuZXJTZWxlY3RXYXRjaGxpc3Q9IlBJTkVfU0NSRUVORVJfU0VMRUNUX1dBVENITElTVCIsZS5QaW5lU2NyZWVuZXJTZWxlY3RJbmRpY2F0b3I9IlBJTkVfU0NSRUVORVJfU0VMRUNUX0lORElDQVRPUiIsZS5QaW5lU2NyZWVuZXJDbGlja1NjYW49IlBJTkVfU0NSRUVORVJfQ0xJQ0tfU0NBTiIsZS5QaW5lU2NyZWVuZXJDbGlja1N0b3BTY2FuPSJQSU5FX1NDUkVFTkVSX0NMSUNLX1NUT1BfU0NBTiIsZS5QaW5lU2NyZWVuZXJEb3dubG9hZFJlc3VsdHNBc0NTVj0iUElORV9TQ1JFRU5FUl9ET1dOTE9BRF9SRVNVTFRTX0FTX0NTViIsZS5QaW5lU2NyZWVuZXJTYXZlUmVzdWx0c0FzV2F0Y2hsaXN0PSJQSU5FX1NDUkVFTkVSX1NBVkVfUkVTVUxUU19BU19XQVRDSExJU1QiLGUuUGluZVNjcmVlbmVyUmVzdWx0c0FzV2F0Y2hsaXN0U3VjY2Vzc2Z1bGx5U2F2ZWQ9IlBJTkVfU0NSRUVORVJfUkVTVUxUU19BU19XQVRDSExJU1RfU1VDQ0VTU0ZVTExZX1NBVkVEIixlLlBpbmVTY3JlZW5lckFib3V0PSJQSU5FX1NDUkVFTkVSX0FCT1VUIixlLlNjcmVlbmVyQWlTdGFydD0iU0NSRUVORVJfQUlfU1RBUlQiLGUuU2NyZWVuZXJBaUV4cGxhbmF0aW9uPSJTQ1JFRU5FUl9BSV9FWFBMQU5BVElPTiIsZS5TY3JlZW5lckFpR2VuZXJhdGVGaWx0ZXJzPSJTQ1JFRU5FUl9BSV9HRU5FUkFURV9GSUxURVJTIixlLlNjcmVlbmVyQWlTdG9wPSJTQ1JFRU5FUl9BSV9TVE9QIixlLlNjcmVlbmVyQWlQb3B1bGFyU2VsZWN0PSJTQ1JFRU5FUl9BSV9QT1BVTEFSX1NFTEVDVCJ9KHQ9ZS5CdXR0b258fChlLkJ1dHRvbj17fSkpLGZ1bmN0aW9uKGUpe2UuU2Nyb2xsRGVwdGg9IlNDUk9MTF9ERVBUSCJ9KG49ZS5TY3JvbGx8fChlLlNjcm9sbD17fSkpfShzfHwocz17fSkpLGZ1bmN0aW9uKGUpe2xldCB0LG47IWZ1bmN0aW9uKGUpe2UuRGV0YWlsc1dpZGdldD0iREVUQUlMU19XSURHRVQiLGUuTW9yZURpYWxvZz0iTU9SRV9ESUFMT0ciLGUuUHJvZHVjdERpYWxvZz0iUFJPRFVDVF9ESUFMT0ciLGUuUHJvZHVjdFBhZ2U9IlBST0RVQ1RfUEFHRSIsZS5TeW1ib2xQYWdlVGFiPSJTWU1CT0xfUEFHRV9UQUIiLGUuU3ltYm9sU2VhcmNoPSJTWU1CT0xfU0VBUkNIIixlLk9wdGlvbnNXZWJ2aWV3PSJPUFRJT05TX1dFQlZJRVcifSh0PWUuU291cmNlfHwoZS5Tb3VyY2U9e30pKSxmdW5jdGlvbihlKXtlLkJyb2tlckNvbm5lY3Q9IkJST0tFUl9DT05ORUNUIixlLkJyb2tlclNlbGVjdD0iQlJPS0VSX1NFTEVDVCIsZS5CdWlsZGVyRnVsbHNjcmVlbk1vZGU9IkJVSUxERVJfRlVMTFNDUkVFTl9NT0RFIixlLkJ1aWxkZXJUYWJzPSJCVUlMREVSX1RBQlMiLGUuQ29ubmVjdEJyb2tlckJ1dHRvbj0iQ09OTkVDVF9CUk9LRVJfQlVUVE9OIixlLkNvcHlTaGFyZWRTdHJhdGVneT0iQ09QWV9TSEFSRURfU1RSQVRFR1kiLGUuQ3JlYXRlU3RyYXRlZ3lUZW1wbGF0ZUJ1dHRvbj0iQ1JFQVRFX1NUUkFURUdZX1RFTVBMQVRFX0JVVFRPTiIsZS5EcmFnU3RyYXRlZ3lDaGFydFBvc2l0aW9uUG9pbnQ9IkRSQUdfU1RSQVRFR1lfQ0hBUlRfUE9TSVRJT05fUE9JTlQiLGUuR3JlZWtTZWxlY3Q9IkdSRUVLX1NFTEVDVCIsCmUuTmV0U3RyYXRlZ3lDaGFydD0iTkVUX1NUUkFURUdZX0NIQVJUIixlLk9wZW5GdWxsc2NyZWVuVGFibGVCdXR0b249Ik9QRU5fRlVMTFNDUkVFTl9UQUJMRV9CVVRUT04iLGUuT3B0aW9uc0NoYWluQWRkQ29sdW1uPSJPUFRJT05TX0NIQUlOX0FERF9DT0xVTU4iLGUuT3B0aW9uc0NoYWluRXhwYW5kUm93PSJPUFRJT05TX0NIQUlOX0VYUEFORF9ST1ciLGUuT3B0aW9uc0NoYWluSW52b2tlT3JkZXI9Ik9QVElPTlNfQ0hBSU5fSU5WT0tFX09SREVSIixlLk9wdGlvbnNDaGFpbk1hbnVhbERhdGVSYW5nZVNlbGVjdD0iT1BUSU9OU19DSEFJTl9NQU5VQUxfREFURV9SQU5HRV9TRUxFQ1QiLGUuT3B0aW9uc0NoYWluTWFudWFsU3RyaWtlUmFuZ2VTZWxlY3Q9Ik9QVElPTlNfQ0hBSU5fTUFOVUFMX1NUUklLRV9SQU5HRV9TRUxFQ1QiLGUuT3B0aW9uc0NoYWluT3Blbj0iT1BUSU9OU19DSEFJTl9PUEVOIixlLk9wdGlvbnNDaGFpblJlbW92ZUNvbHVtbj0iT1BUSU9OU19DSEFJTl9SRU1PVkVfQ09MVU1OIixlLk9wdGlvbnNDaGFpblNlbGVjdFNlcmllcz0iT1BUSU9OU19DSEFJTl9TRUxFQ1RfU0VSSUVTIixlLk9wdGlvbnNDaGFpblNlbGVjdFN0cmlrZXM9Ik9QVElPTlNfQ0hBSU5fU0VMRUNUX1NUUklLRVMiLGUuT3B0aW9uc0NoYWluU3BlY2lmaWNEYXRlc1NlbGVjdD0iT1BUSU9OU19DSEFJTl9TUEVDSUZJQ19EQVRFU19TRUxFQ1QiLGUuT3B0aW9uc0NoYWluU3BlY2lmaWNTdHJpa2VzU2VsZWN0PSJPUFRJT05TX0NIQUlOX1NQRUNJRklDX1NUUklLRVNfU0VMRUNUIixlLk9wdGlvbnNDaGFpblRpbWVTcGVudD0iT1BUSU9OU19DSEFJTl9USU1FX1NQRU5UIixlLlBvc2l0aW9uVmlzaWJpbGl0eUJ1dHRvbj0iUE9TSVRJT05fVklTSUJJTElUWV9CVVRUT04iLGUuU2lnbmluV2l0aEZlYXR1cmU9IlNJR05JTl9XSVRIX0ZFQVRVUkUiLGUuU3ByZWFkZXhGaWx0ZXJDaGFuZ2U9IlNQUkVBREVYX0ZJTFRFUl9DSEFOR0UiLGUuU3RyYXRlZ2llc0dyb3VwPSJTVFJBVEVHSUVTX0dST1VQIixlLlN0cmF0ZWd5QWRkUG9zaXRpb25CdXR0b249IlNUUkFURUdZX0FERF9QT1NJVElPTl9CVVRUT04iLGUuU3RyYXRlZ3lBZGp1c3REaXNjbG9zdXJlPSJTVFJBVEVHWV9BREpVU1RfRElTQ0xPU1VSRSIsZS5TdHJhdGVneUNoYXJ0RXJyb3I9IlNUUkFURUdZX0NIQVJUX0VSUk9SIixlLlN0cmF0ZWd5Q2hhcnRTaGFyaW5nPSJTVFJBVEVHWV9DSEFSVF9TSEFSSU5HIixlLlN0cmF0ZWd5RmluZGVyQ3JlYXRlU3RyYXRlZ3k9IlNUUkFURUdZX0ZJTkRFUl9DUkVBVEVfU1RSQVRFR1kiLGUuU3RyYXRlZ3lMaXN0U2V0dGluZ3NCdXR0b249IlNUUkFURUdZX0xJU1RfU0VUVElOR1NfQlVUVE9OIixlLlN0cmF0ZWd5TW9kUG9zaXRpb25DaGFpbj0iU1RSQVRFR1lfTU9EX1BPU0lUSU9OX0NIQUlOIixlLlN0cmF0ZWd5TW9kUG9zaXRpb25FeHA9IlNUUkFURUdZX01PRF9QT1NJVElPTl9FWFAiLGUuU3RyYXRlZ3lOYW1lRGlzY2xvc3VyZT0iU1RSQVRFR1lfTkFNRV9ESVNDTE9TVVJFIixlLlN0cmF0ZWd5U2V0dGluZ3NEaXNjbG9zdXJlPSJTVFJBVEVHWV9TRVRUSU5HU19ESVNDTE9TVVJFIixlLlN0cmF0ZWd5U2hhcmU9IlNUUkFURUdZX1NIQVJFIixlLlN0cmF0ZWd5VmlzaWJpbGl0eUJ1dHRvbj0iU1RSQVRFR1lfVklTSUJJTElUWV9CVVRUT04iLGUuU3ltYm9sU2VhcmNoRGlhbG9nPSJTWU1CT0xfU0VBUkNIX0RJQUxPRyIsZS5TeW5jT3ZlcmxheUNoYXJ0PSJTWU5DX09WRVJMQVlfQ0hBUlQiLGUuVmlzaXRTaGFyZWRTdHJhdGVneT0iVklTSVRfU0hBUkVEX1NUUkFURUdZIixlLlZvbGF0aWxpdHlTZWxlY3RTZXJpZXM9IlZPTEFUSUxJVFlfU0VMRUNUX1NFUklFUyIsZS5XaGF0SWZTY2VuYXJpb0FkZD0iV0hBVF9JRl9TQ0VOQVJJT19BREQiLGUuV2hhdElmU2NlbmFyaW9EZWxldGU9IldIQVRfSUZfU0NFTkFSSU9fREVMRVRFIixlLldoYXRJZlNjZW5hcmlvRWRpdD0iV0hBVF9JRl9TQ0VOQVJJT19FRElUIixlLldoYXRJZlNjZW5hcmlvU2VsZWN0PSJXSEFUX0lGX1NDRU5BUklPX1NFTEVDVCJ9KG49ZS5FbGVtZW50fHwoZS5FbGVtZW50PXt9KSl9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7bGV0IHQ7IWZ1bmN0aW9uKGUpe2UuRmF2b3JpdGVTdGF0ZT0iZmF2b3JpdGUgc3RhdGUiLGUuUmVtb3ZlRnJvbUZhdm9yaXRlcz0icmVtb3ZlIGZyb20gZmF2b3JpdGVzIixlLkFkZFRvRmF2b3JpdGVzPSJhZGQgdG8gZmF2b3JpdGVzIixlLk9wZW5EcmF3ZXI9Im9wZW4gZHJhd2VyIixlLkNsb3NlRHJhd2VyPSJjbG9zZSBkcmF3ZXIiLGUuT3BlblNwbGl0Vmlldz0ib3BlbiBzcGxpdCB2aWV3IixlLkNsb3NlU3BsaXRWaWV3PSJjbG9zZSBzcGxpdCB2aWV3IixlLk1vdmVTcGxpdFYxPSJtb3ZlX3NwbGl0X3YxIixlLk1vdmVTcGxpdFYyPSJtb3ZlX3NwbGl0X3YyIixlLk1vdmVPdmVybGF5VjE9Im1vdmVfb3ZlcmxheV92MSIsZS5Nb3ZlT3ZlcmxheVYyPSJtb3ZlX292ZXJsYXlfdjIifSh0PWUuQWN0aW9uVHlwZXx8KGUuQWN0aW9uVHlwZT17fSkpfShjfHwoYz17fSkpLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLkNsaWNrPSJjbGljayIsZS5TaG93PSJzaG93In0odD1lLlR5cGV8fChlLlR5cGU9e30pKX0odXx8KHU9e30pKX0sOTY0MzYxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0FkYXB0aXZlUG9wdXBEaWFsb2c6KCk9Pnd9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDEzODYzOCksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDkzMDIzMSksaT1uKDIzNTcyNCksYz1uKDk2OTE2OCksdT1uKDMzNzM2MiksZD1uKDcyMTM2OSksbT1uKDU4NTgyMSkscD1uKDIzMTEzMyksaD1uKDYwOTUyOCksZj1uKDQwNjExMCksUz1uKDQ5MDg5MyksZz1uKDk3MTUxMikseT1uKDYwMzYxMiksYj1uKDE3OTc3MSksdj1uKDExMzc1NyksXz1uKDk2NDU5NCksRT1uKDM0NTExNiksQz1uKDE1MDE1MCksVD1uKDEyOTY4MCk7Y29uc3QgeD17dmVydGljYWw6MjB9LEk9e3ZlcnRpY2FsOjB9O2NsYXNzIHcgZXh0ZW5kcyByLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NvbnRyb2xsZXI9bnVsbCwKdGhpcy5fcmVmZXJlbmNlPW51bGwsdGhpcy5fb3JpZW50YXRpb25NZWRpYVF1ZXJ5PW51bGwsdGhpcy5fZW1iZWRSZXNpemVyT3ZlcnJpZGVzRW5hYmxlZD0oMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpLHRoaXMuX3RpdGxlSWQ9YHRpdGxlXyR7KDAsQy5yYW5kb21IYXNoKSgpfWAsdGhpcy5fcmVuZGVyQ2hpbGRyZW49KGUsdCk9Pih0aGlzLl9jb250cm9sbGVyPWUsdGhpcy5wcm9wcy5yZW5kZXIoe3JlcXVlc3RSZXNpemU6dGhpcy5fcmVxdWVzdFJlc2l6ZSxjZW50ZXJBbmRGaXQ6dGhpcy5fY2VudGVyQW5kRml0LGlzU21hbGxXaWR0aDp0fSkpLHRoaXMuX2hhbmRsZVJlZmVyZW5jZT1lPT50aGlzLl9yZWZlcmVuY2U9ZSx0aGlzLl9oYW5kbGVDbG9zZUJ0bkNsaWNrPSgpPT57dGhpcy5wcm9wcy5vbktleWJvYXJkQ2xvc2UmJnRoaXMucHJvcHMub25LZXlib2FyZENsb3NlKCksdGhpcy5faGFuZGxlQ2xvc2UoKX0sdGhpcy5faGFuZGxlQ2xvc2U9KCk9Pnt0aGlzLnByb3BzLm9uQ2xvc2UoKX0sdGhpcy5faGFuZGxlT3Blbj0oKT0+e3ZvaWQgMCE9PXRoaXMucHJvcHMub25PcGVuJiZ0aGlzLnByb3BzLmlzT3BlbmVkJiZ0aGlzLnByb3BzLm9uT3Blbih0aGlzLnByb3BzLmZ1bGxTY3JlZW58fHdpbmRvdy5tYXRjaE1lZGlhKGguRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwpLm1hdGNoZXMpfSx0aGlzLl9oYW5kbGVLZXlEb3duPWU9PntpZighZS5kZWZhdWx0UHJldmVudGVkKXtpZih0aGlzLnByb3BzLm9uS2V5RG93biYmdGhpcy5wcm9wcy5vbktleURvd24oZSksMjc9PT0oMCxpLmhhc2hGcm9tRXZlbnQpKGUpKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKHRoaXMucHJvcHMuZm9yY2VDbG9zZU9uRXNjJiZ0aGlzLnByb3BzLmZvcmNlQ2xvc2VPbkVzYygpKXJldHVybiB0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSYmdGhpcy5wcm9wcy5vbktleWJvYXJkQ2xvc2UoKSx2b2lkIHRoaXMuX2hhbmRsZUNsb3NlKCk7Y29uc3R7YWN0aXZlRWxlbWVudDpufT1kb2N1bWVudDtpZihudWxsIT09bil7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCJ0cnVlIj09PSh0PW4pLmdldEF0dHJpYnV0ZSgiZGF0YS1oYXNwb3B1cCIpJiYidHJ1ZSIhPT10LmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpKXJldHVybiB2b2lkIHRoaXMuX2hhbmRsZUNsb3NlKCk7Y29uc3Qgcj10aGlzLl9yZWZlcmVuY2U7aWYobnVsbCE9PXImJigwLGQuaXNUZXh0RWRpdGluZ0ZpZWxkKShuKSlyZXR1cm4gdm9pZCByLmZvY3VzKCk7aWYocj8uY29udGFpbnMobikpcmV0dXJuIHRoaXMucHJvcHMub25LZXlib2FyZENsb3NlJiZ0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSgpLHZvaWQgdGhpcy5faGFuZGxlQ2xvc2UoKX19dmFyIHQ7KGZ1bmN0aW9uKGUpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlKXJldHVybiBlKCk7cmV0dXJuIEJvb2xlYW4oZSl9KSh0aGlzLnByb3BzLmRpc2FibGVUYWJOYXZpZ2F0aW9uQ29udGFpbm1lbnQpfHwoMCxnLmNvbnRhaW5UYWJOYXZpZ2F0aW9uKShlKX19LHRoaXMuX3JlcXVlc3RSZXNpemU9KCk9PntudWxsIT09dGhpcy5fY29udHJvbGxlciYmdGhpcy5fY29udHJvbGxlci5yZWNhbGN1bGF0ZUJvdW5kcygpfSx0aGlzLl9jZW50ZXJBbmRGaXQ9KCk9PntudWxsIT09dGhpcy5fY29udHJvbGxlciYmdGhpcy5fY29udHJvbGxlci5jZW50ZXJBbmRGaXQoKX0sdGhpcy5fY2FsY3VsYXRlUG9zaXRpb25XaXRoT2Zmc2V0cz0oZSx0KT0+e2NvbnN0IG49KDAsby5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BzLmZ1bGxTY3JlZW5WaWV3T2Zmc2V0cykudmFsdWUoKTtpZih0aGlzLl9lbWJlZFJlc2l6ZXJPdmVycmlkZXNFbmFibGVkKXtjb25zdCBlPXUuRW1iZWRWaWV3cG9ydERpbWVuc2lvbnNQcm92aWRlci5nZXRJbnN0YW5jZSgpLmRhdGEoKTtlJiYobi50b3A9ZS50b3Asbi5ib3R0b209dC5jbGllbnRIZWlnaHQtZS5oZWlnaHQpfXJldHVybnt0b3A6bi50b3AsbGVmdDooMCxjLmlzUnRsKSgpPy1uLnJpZ2h0Om4ubGVmdCx3aWR0aDp0LmNsaWVudFdpZHRoLW4ubGVmdC1uLnJpZ2h0LGhlaWdodDp0LmNsaWVudEhlaWdodC1uLnRvcC1uLmJvdHRvbX19fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5wcm9wcy5pZ25vcmVDbG9zZVBvcHVwc0FuZERpYWxvZ3x8Yi5zdWJzY3JpYmUoeS5DTE9TRV9QT1BVUFNfQU5EX0RJQUxPR1NfQ09NTUFORCx0aGlzLl9oYW5kbGVDbG9zZSxudWxsKSx0aGlzLl9oYW5kbGVPcGVuKCksdm9pZCAwIT09dGhpcy5wcm9wcy5vbk9wZW4mJih0aGlzLl9vcmllbnRhdGlvbk1lZGlhUXVlcnk9d2luZG93Lm1hdGNoTWVkaWEoIihvcmllbnRhdGlvbjogcG9ydHJhaXQpIiksdGhpcy5fb3JpZW50YXRpb25NZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5faGFuZGxlT3BlbikpLHRoaXMucHJvcHMuZnVsbFNjcmVlblZpZXdPZmZzZXRzJiZ0aGlzLnByb3BzLmZ1bGxTY3JlZW4mJnRoaXMucHJvcHMuZnVsbFNjcmVlblZpZXdPZmZzZXRzLnN1YnNjcmliZSh0aGlzLl9yZXF1ZXN0UmVzaXplKTtjb25zdHtiYWNrZHJvcDplLGRyYWdnYWJsZTp0PSFlLGNlbnRlck9uUmVzaXplOm49IXR9PXRoaXMucHJvcHM7biYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fY2VudGVyQW5kRml0KX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMucHJvcHMuaWdub3JlQ2xvc2VQb3B1cHNBbmREaWFsb2d8fGIudW5zdWJzY3JpYmUoeS5DTE9TRV9QT1BVUFNfQU5EX0RJQUxPR1NfQ09NTUFORCx0aGlzLl9oYW5kbGVDbG9zZSxudWxsKSxudWxsIT09dGhpcy5fb3JpZW50YXRpb25NZWRpYVF1ZXJ5JiZ0aGlzLl9vcmllbnRhdGlvbk1lZGlhUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVPcGVuKSx0aGlzLnByb3BzLmZ1bGxTY3JlZW5WaWV3T2Zmc2V0cyYmdGhpcy5wcm9wcy5mdWxsU2NyZWVuJiZ0aGlzLnByb3BzLmZ1bGxTY3JlZW5WaWV3T2Zmc2V0cy51bnN1YnNjcmliZSh0aGlzLl9yZXF1ZXN0UmVzaXplKSwKd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fY2VudGVyQW5kRml0KX1mb2N1cygpeygwLG8uZW5zdXJlTm90TnVsbCkodGhpcy5fcmVmZXJlbmNlKS5mb2N1cygpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fcmVmZXJlbmNlfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9yZWZlcmVuY2U/LmNvbnRhaW5zKGUpPz8hMX1yZW5kZXIoKXtjb25zdHtjbGFzc05hbWU6ZSx3cmFwcGVyQ2xhc3NOYW1lOnQsaGVhZGVyQ2xhc3NOYW1lOm4saXNPcGVuZWQ6byx0aXRsZTpsLHRpdGxlVGV4dFdyYXA6cyx0aXRsZUNsYXNzTmFtZTppLGRhdGFOYW1lOmMsZGF0YVFhSWQ6dSxvbkNsaWNrT3V0c2lkZTpkLG9uQ2xpY2tCYWNrZHJvcDpnLGFkZGl0aW9uYWxFbGVtZW50UG9zOnksYWRkaXRpb25hbEhlYWRlckVsZW1lbnQ6YixiYWNrZHJvcDpDLHNob3VsZEZvcmNlRm9jdXM6dz0hMCxzaG91bGRSZXR1cm5Gb2N1czpOLG9uRm9yY2VGb2N1czpSLHNob3dTZXBhcmF0b3I6QSxzdWJ0aXRsZTpMLGRyYWdnYWJsZTprPSFDLGZ1bGxTY3JlZW46Tz0hMSxzaG93Q2xvc2VJY29uOk09ITAscm91bmRlZDpEPSEwLGlzQW5pbWF0aW9uRW5hYmxlZDpQLGdyb3dQb2ludDpGLGRpYWxvZ1Rvb2x0aXA6Qix1bnNldEhlYWRlckFsaWduOkgsb25EcmFnU3RhcnQ6VSxkYXRhRGlhbG9nTmFtZTpXLGNsb3NlQXJpYUxhYmVsOlYsY29udGFpbmVyQXJpYUxhYmVsOkcscmVmZXJlbmNlOlEsY29udGFpbmVyVGFiSW5kZXg6eixjbG9zZUJ1dHRvblJlZmVyZW5jZTokLG9uQ2xvc2VCdXR0b25LZXlEb3duOnEsc2hhZG93ZWQ6SyxmdWxsU2NyZWVuVmlld09mZnNldHM6WSxvbkNsaWNrOlgscmVuZGVyQ2xvc2VCdXR0b246aix0aXRsZVdyYXBDbGFzc05hbWU6WixhZGRSaWdodFNoYWRvdzpKPSEwfT10aGlzLnByb3BzLGVlPXRoaXMucHJvcHMuZml4ZWRCb2R5Pz8oISFDfHx2b2lkIDApLHRlPSJhZnRlciIhPT15P2I6dm9pZCAwLG5lPSJhZnRlciI9PT15P2I6dm9pZCAwLHJlPSJzdHJpbmciPT10eXBlb2YgbD9sOld8fCIiLG9lPSgwLEUuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSxsZT0oMCxfLm1lcmdlUmVmcykoW3RoaXMuX2hhbmRsZVJlZmVyZW5jZSxRXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChmLk1hdGNoTWVkaWEse3J1bGU6aC5EaWFsb2dCcmVha3BvaW50cy5TbWFsbEhlaWdodH0sKHk9PnIuY3JlYXRlRWxlbWVudChmLk1hdGNoTWVkaWEse3J1bGU6aC5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKGg9PnIuY3JlYXRlRWxlbWVudChtLlBvcHVwRGlhbG9nLHtyb3VuZGVkOiEoaHx8TykmJkQsY2xhc3NOYW1lOmEoKShULmRpYWxvZyxPJiZZJiZKJiZULmJvdW5kZWQsZSksaXNPcGVuZWQ6byxyZWZlcmVuY2U6bGUsb25LZXlEb3duOnRoaXMuX2hhbmRsZUtleURvd24sb25DbGlja091dHNpZGU6ZCxvbkNsaWNrQmFja2Ryb3A6Zz8/ZCxmdWxsc2NyZWVuOmh8fE8sZ3VhcmQ6eT9JOngsYm91bmRCeVNjcmVlbjpofHxPLHNob3VsZEZvcmNlRm9jdXM6dyxvbkZvcmNlRm9jdXM6UixzaG91bGRSZXR1cm5Gb2N1czpOLGJhY2tkcm9wOkMsZHJhZ2dhYmxlOmssaXNBbmltYXRpb25FbmFibGVkOlAsZ3Jvd1BvaW50OkYsbmFtZTp0aGlzLnByb3BzLmRhdGFOYW1lLGRpYWxvZ1Rvb2x0aXA6QixvbkRyYWdTdGFydDpVLGNvbnRhaW5lckFyaWFMYWJlbDpHLGNvbnRhaW5lclRhYkluZGV4OnosY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246TyYmWT90aGlzLl9jYWxjdWxhdGVQb3NpdGlvbldpdGhPZmZzZXRzOnZvaWQgMCxzaGFkb3dlZDpLLGZpeGVkQm9keTplZSxvbkNsaWNrOlgsLi4ub2V9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZGlhbG9nIiwiYXJpYS1sYWJlbGxlZGJ5Ijp2b2lkIDAhPT1sP3RoaXMuX3RpdGxlSWQ6dm9pZCAwLGNsYXNzTmFtZTphKCkoVC53cmFwcGVyLHQpLCJkYXRhLW5hbWUiOmMsImRhdGEtcWEtaWQiOnUsImRhdGEtZGlhbG9nLW5hbWUiOnJlfSx2b2lkIDAhPT1sJiZyLmNyZWF0ZUVsZW1lbnQodi5EaWFsb2dIZWFkZXIse2RyYWdnYWJsZTprJiYhKGh8fE8pLG9uQ2xvc2U6dGhpcy5faGFuZGxlQ2xvc2VCdG5DbGljayxyZW5kZXJBZnRlcjpuZSxyZW5kZXJCZWZvcmU6dGUsc3VidGl0bGU6TCx0aXRsZTpsLHRpdGxlSWQ6dGhpcy5fdGl0bGVJZCx0aXRsZVRleHRXcmFwOnMsc2hvd0Nsb3NlSWNvbjpNLGNsYXNzTmFtZTpuLHRpdGxlQ2xhc3NOYW1lOmksdW5zZXRBbGlnbjpILGNsb3NlQXJpYUxhYmVsOlYsY2xvc2VCdXR0b25SZWZlcmVuY2U6JCxvbkNsb3NlQnV0dG9uS2V5RG93bjpxLHJlbmRlckNsb3NlQnV0dG9uOmosdGl0bGVXcmFwQ2xhc3NOYW1lOlp9KSxBJiZyLmNyZWF0ZUVsZW1lbnQocC5TZXBhcmF0b3Ise2NsYXNzTmFtZTpULnNlcGFyYXRvcn0pLHIuY3JlYXRlRWxlbWVudChTLlBvcHVwQ29udGV4dC5Db25zdW1lcixudWxsLChlPT50aGlzLl9yZW5kZXJDaGlsZHJlbihlLGh8fE8pKSkpKSkpKSl9fX0sODY0MTQ3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RpYWxvZ0hlYWRlckNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPW4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtzZXRIaWRlQ2xvc2U6KCk9Pnt9fSl9LDExMzc1NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtEaWFsb2dIZWFkZXI6KCk9PnV9KTt2YXIgcj1uKDE4NTI3MSksbz1uKDc3OTQ3NCksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDMxMjkzMiksaT1uKDg2NDE0NyksYz1uKDQ3MTg4KTtmdW5jdGlvbiB1KGUpewpjb25zdHt0aXRsZUlkOnQsdGl0bGU6bCx0aXRsZVRleHRXcmFwOnU9ITEsdGl0bGVDbGFzc05hbWU6ZCxzdWJ0aXRsZTptLHNob3dDbG9zZUljb246cD0hMCxvbkNsb3NlOmgsb25DbG9zZUJ1dHRvbktleURvd246ZixyZW5kZXJCZWZvcmU6UyxyZW5kZXJBZnRlcjpnLGRyYWdnYWJsZTp5LGNsYXNzTmFtZTpiLHVuc2V0QWxpZ246dixjbG9zZUFyaWFMYWJlbDpfPXIudChudWxsLHZvaWQgMCxuKDU0OTEwKSksY2xvc2VCdXR0b25SZWZlcmVuY2U6RSxkaXNhYmxlRHJhZ09uQ2xvc2VCdXR0b246QyxyZW5kZXJDbG9zZUJ1dHRvbjpULHRpdGxlV3JhcENsYXNzTmFtZTp4LC4uLkl9PWUsW3csTl09KDAsby51c2VTdGF0ZSkoITEpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5EaWFsb2dIZWFkZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7c2V0SGlkZUNsb3NlOk59fSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLkksY2xhc3NOYW1lOmEoKShjLmNvbnRhaW5lcixiLChtfHx2KSYmYy51bnNldEFsaWduKX0sUyxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOnQsY2xhc3NOYW1lOmEoKShjLnRpdGxlLHgpLCJkYXRhLWRyYWdnLWFyZWEiOnl9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKSh1P2MudGV4dFdyYXA6Yy5lbGxpcHNpcyxkKX0sbCksbSYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKGMuZWxsaXBzaXMsYy5zdWJ0aXRsZSl9LG0pKSxnLHAmJiF3JiYoVD9UKHtjbG9zZUFyaWFMYWJlbDpfLG9uQ2xvc2U6aCxvbkNsb3NlQnV0dG9uS2V5RG93bjpmLGRpc2FibGVEcmFnT25DbG9zZUJ1dHRvbjpDfSk6by5jcmVhdGVFbGVtZW50KHMuQ2xvc2VCdXR0b24seyJkYXRhLWRpc2FibGUtZHJhZyI6QyxjbGFzc05hbWU6Yy5jbG9zZSwiZGF0YS1xYS1pZCI6ImNsb3NlIixhcmlhTGFiZWw6XyxvbkNsaWNrOmgsb25LZXlEb3duOmYscmVmOkUsc2l6ZToibWVkaXVtIixwcmVzZXJ2ZVBhZGRpbmdzOiEwfSkpKSl9fSwzNjY1OTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGlhbG9nU2VhcmNoOigpPT5kfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9bigxODUyNzEpLHM9bigyNzMzMTApLGk9big5MjAwMyksYz1uKDc3ODI3NSksdT1uKDUzMDA2MCk7ZnVuY3Rpb24gZChlKXtjb25zdHtjaGlsZHJlbjp0LGlzTW9iaWxlOm8scmVuZGVySW5wdXQ6ZCxvbkNhbmNlbDpwLGNvbnRhaW5lckNsYXNzTmFtZTpoLGlucHV0Q29udGFpbmVyQ2xhc3NOYW1lOmYsaWNvbkNsYXNzTmFtZTpTLGNhbmNlbFRpdGxlOmc9YS50KG51bGwsdm9pZCAwLG4oNzQzNTYzKSksLi4ueX09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKHUuY29udGFpbmVyLG8mJnUubW9iaWxlLGgpfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkodS5pbnB1dENvbnRhaW5lcixvJiZ1Lm1vYmlsZSxmLHAmJnUud2l0aENhbmNlbCl9LGR8fHIuY3JlYXRlRWxlbWVudChtLHtpc01vYmlsZTpvLC4uLnl9KSksdCxyLmNyZWF0ZUVsZW1lbnQocy5JY29uLHtjbGFzc05hbWU6bCgpKHUuaWNvbixvJiZ1Lm1vYmlsZSxTKSxpY29uOm8/YzppfSkscCYmKCFvfHwiIiE9PXkudmFsdWUpJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkodS5jYW5jZWwsbyYmdS5tb2JpbGUpLG9uQ2xpY2s6cH0sZykpfWZ1bmN0aW9uIG0oZSl7Y29uc3R7Y2xhc3NOYW1lOnQscmVmZXJlbmNlOm4saXNNb2JpbGU6byx2YWx1ZTphLG9uQ2hhbmdlOnMsb25Gb2N1czppLG9uQmx1cjpjLG9uS2V5RG93bjpkLG9uU2VsZWN0Om0scGxhY2Vob2xkZXI6cCxhY3RpdmVEZXNjZW5kYW50OmgsLi4uZn09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJpbnB1dCIsey4uLmYscmVmOm4sdHlwZToidGV4dCIsY2xhc3NOYW1lOmwoKSh0LHUuaW5wdXQsbyYmdS5tb2JpbGUpLGF1dG9Db21wbGV0ZToib2ZmIixyb2xlOiJzZWFyY2hib3giLCJkYXRhLXJvbGUiOiJzZWFyY2giLCJkYXRhLXFhLWlkIjoiZGlhbG9nLXNlYXJjaC1pbnB1dCIscGxhY2Vob2xkZXI6cCx2YWx1ZTphLG9uQ2hhbmdlOnMsb25Gb2N1czppLG9uQmx1cjpjLG9uU2VsZWN0Om0sb25LZXlEb3duOmQsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6aH0pfX0sMTc3NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtPdmVybGF5U2Nyb2xsV3JhcHBlcjooKT0+dX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oNTk4MjMpLHM9bigyMTA3NjQpLGk9bigzMDU0NzQpLGM9bigzNDMwNjYpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7Y2hpbGRyZW46dCxjbGFzc05hbWU6bix3cmFwcGVyQ2xhc3NOYW1lOm8scmVmZXJlbmNlOnUsaGFzQ3VzdG9tVG91Y2hTY3JvbGxBbmltYXRpb246ZCxzY3JvbGxDb250YWluZXJSZWY6bSxpc0ZvcmNlVmlzaWJsZTpwLHRhYkluZGV4OmgsLi4uZn09ZSxbUyxnLHksYl09KDAscy51c2VPdmVybGF5U2Nyb2xsKShtLGQpO3JldHVybigwLGkudXNlQ3VzdG9tVG91Y2hTY3JvbGxBbmltYXRpb24pKHtzY3JvbGxDb250YWluZXJSZWY6ZD95OnZvaWQgMH0pLCgwLHIudXNlSW1wZXJhdGl2ZUhhbmRsZSkodSwoKCk9Pih7dXBkYXRlU2Nyb2xsU3RhdGU6Yn0pKSksci5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5mLC4uLmcsY2xhc3NOYW1lOmwoKShjLmNvbnRhaW5lcixuKX0sci5jcmVhdGVFbGVtZW50KGEuT3ZlcmxheVNjcm9sbENvbnRhaW5lcix7Li4uUyx2aXNpYmxlOnA/P1MudmlzaWJsZSxjbGFzc05hbWU6Yy5vdmVybGF5U2Nyb2xsV3JhcH0pLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShjLndyYXBwZXIsbyksdGFiSW5kZXg6aCxyZWY6eSxvblNjcm9sbDpifSx0KSl9fSw3MjA2NzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VhcmNoSW5wdXQ6KCk9PnB9KTt2YXIgcj1uKDE4NTI3MSksbz1uKDc3OTQ3NCksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDI3MzMxMCksaT1uKDMxMjI5NSksYz1uKDQ1Mzc4MiksdT1uKDUyNjcxKSxkPW4oNTc2NDkzKSxtPW4oODY5MzIwKTtmdW5jdGlvbiBwKGUpewpjb25zdHtjbGFzc05hbWU6dCxyZWZlcmVuY2U6bCxvblJlc2V0OnAsaW5wdXRDbGFzc05hbWU6aCxlbmRTbG90OmYsaXNNb2JpbGU6UyxzaG93Q2xlYXJBbHdheXM6ZywuLi55fT1lLGI9Z3x8Qm9vbGVhbihsLmN1cnJlbnQ/LnZhbHVlKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKG0uaW5wdXRDb250YWluZXIsdCl9LG8uY3JlYXRlRWxlbWVudChzLkljb24se2NsYXNzTmFtZTptLnNlYXJjaElucHV0SWNvbixpY29uOnV9KSxvLmNyZWF0ZUVsZW1lbnQoImlucHV0Iix7Li4ueSxjbGFzc05hbWU6YSgpKG0uc2VhcmNoLGgpLHJlZjpsLHJvbGU6InNlYXJjaGJveCIsdHlwZToidGV4dCIsYXV0b0NvbXBsZXRlOiJvZmYifSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bS5hY3Rpb25zfSxiJiZwJiZvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudChpLkljb25CdXR0b24se29uQ2xpY2s6cCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoiY2xlYXJfc2VhcmNoIn0sbigyMDY5NDgpKSxpY29uOmR9KSksIVMmJmYmJmImJm8uY3JlYXRlRWxlbWVudChjLkRpdmlkZXIse2NsYXNzTmFtZTptLmRpdmlkZXIsc2l6ZToieHNtYWxsIixvcmllbnRhdGlvbjoidmVydGljYWwifSksIVMmJmYpKX19LDU3NzEwOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xMb2dvOigpPT51fSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pO3ZhciBhPW4oOTg2Mjc1KSxzPW4oNjIwMzU0KSxpPW4oNDQ4NjQ1KSxjPW4oMjQ0ODIwKTtmdW5jdGlvbiB1KGUpe2NvbnN0e3BsYWNlaG9sZGVyOnQsY2xhc3NOYW1lOm4sc2l6ZTpvPSJ4c21hbGwifT1lLHU9ZnVuY3Rpb24oZSl7cmV0dXJuImxvZ28iaW4gZX0oZSk/ZS5sb2dvOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5sb2dvPz9udWxsO2lmKCF0KXtpZigibG9nb2lkImluIGUmJmUubG9nb2lkKXJldHVybntzdHlsZToic2luZ2xlIixsb2dvaWQ6ZS5sb2dvaWR9O2NvbnN0IHQ9ImN1cnJlbmN5LWxvZ29pZCJpbiBlP2VbImN1cnJlbmN5LWxvZ29pZCJdOm51bGwsbj0iYmFzZS1jdXJyZW5jeS1sb2dvaWQiaW4gZT9lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdOm51bGw7aWYodCYmbilyZXR1cm57c3R5bGU6InBhaXIiLGxvZ29pZDpuLGxvZ29pZDI6dH07aWYodHx8bilyZXR1cm57c3R5bGU6InNpbmdsZSIsbG9nb2lkOnQ/P259fXJldHVybiB0fSh7bG9nb2lkOmUubG9nb0lkLCJjdXJyZW5jeS1sb2dvaWQiOmUuY3VycmVuY3lMb2dvSWQsImJhc2UtY3VycmVuY3ktbG9nb2lkIjplLmJhc2VDdXJyZW5jeUxvZ29JZH0pLGQ9KDAsci51c2VNZW1vKSgoKCk9PnU/KDAsYS5yZW1vdmVVc2RGcm9tQ3J5cHRvUGFpckxvZ29zKSgoMCxhLnJlc29sdmVMb2dvVXJsc0Zyb21Mb2dvRGF0YSkodSxzLkxvZ29TaXplLk1lZGl1bSkpOltdKSxbdV0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaS5DYWNoZWRMb2dvLHtrZXk6byxjbGFzc05hbWU6bCgpKGMubG9nbyxuKSx1cmwxOmRbMF0sdXJsMjpkWzFdLHBsYWNlaG9sZGVyTGV0dGVyOnQsc2l6ZTpvfSl9fSwzNzc3ODkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0RmxhZ1NyYzooKT0+c30pO3ZhciByPW4oMTM4NjM4KSxvPW4oODYyMjEzKSxsPW4oNjQ3NjE0KTtjb25zdCBhPW8uTG9nb1NpemUuTWVkaXVtO2Z1bmN0aW9uIHMoe2NvdW50cnk6ZSxwcm92aWRlcklkOnQsc291cmNlSWQ6bixzb3VyY2VMb2dvSWQ6c30pe2NvbnN0IGk9KDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7cmV0dXJuIG89Pntjb25zdCBjPVt7dmFsdWU6cyxyZXNvbHZlOmU9PmkuZ2V0U3ltYm9sTG9nb1VybChlLGEpfSx7dmFsdWU6bixyZXNvbHZlOmU9PmkuZ2V0U291cmNlTG9nb1VybChlLGEpfSx7dmFsdWU6ZSxyZXNvbHZlOmU9PmkuZ2V0Q291bnRyeUZsYWdVcmwoZS50b1VwcGVyQ2FzZSgpLGEpfSx7dmFsdWU6dCxyZXNvbHZlOmU9PmkuZ2V0UHJvdmlkZXJMb2dvVXJsKGUsYSl9XS5maW5kKCgoe3ZhbHVlOmV9KT0+dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCkpO3JldHVybiB2b2lkIDAhPT1jP2MucmVzb2x2ZSgoMCxyLmVuc3VyZURlZmluZWQpKGMudmFsdWUpKTooMCxsLmdldE1vY2tlZEZsYWcpKG8pfX19LDkyMzIzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xTZWFyY2hGbGFnOigpPT5kfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big2NDc2MTQpLHM9bigxMDY5MDApLGk9bigyMDA2NjYpLGM9bigzNzc3ODkpLHU9big0MjE2NTApO2Z1bmN0aW9uIGQoZSl7Y29uc3R7Y291bnRyeTp0LHRvb2x0aXA6bixwcm92aWRlcklkOm8sc291cmNlSWQ6ZCxzb3VyY2VMb2dvSWQ6bSxjbGFzc05hbWU6cH09ZSxoPSgwLHMudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6aS53YXRjaGVkVGhlbWV9KSxbZixTXT0oMCxyLnVzZVN0YXRlKSgoMCxjLmdldEZsYWdTcmMpKHtjb3VudHJ5OnQscHJvdmlkZXJJZDpvLHNvdXJjZUlkOmQsc291cmNlTG9nb0lkOm19KShoKSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiaW1nIix7Y2xhc3NOYW1lOmwoKShwLCJhcHBseS1jb21tb24tdG9vbHRpcCIsdS5pY29uKSxjcm9zc09yaWdpbjoiIiwiZGF0YS10b29sdGlwIjpuLHNyYzpmLG9uRXJyb3I6ZnVuY3Rpb24oKXtTKCgwLGEuZ2V0TW9ja2VkRmxhZykoaCkpfX0pfX0sNjAzNjEyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5EOigpPT5yLGJyZWFrcG9pbnRMaXN0OigpPT5sfSk7Y29uc3Qgcj0iQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQiO3ZhciBvOyFmdW5jdGlvbihlKXtlW2UuTW9iaWxlPTBdPSJNb2JpbGUiLGVbZS5UYWJsZXRTbWFsbD00ODBdPSJUYWJsZXRTbWFsbCIsZVtlLlRhYmxldD03NjhdPSJUYWJsZXQiLGVbZS5UYWJsZXRMYXJnZT0xMDI0XT0iVGFibGV0TGFyZ2UiLGVbZS5EZXNrdG9wU21hbGw9MTI4MF09IkRlc2t0b3BTbWFsbCIsZVtlLkRlc2t0b3A9MTQ0MF09IkRlc2t0b3AiLAplW2UuRGVza3RvcExhcmdlPTE5MjBdPSJEZXNrdG9wTGFyZ2UifShvfHwobz17fSkpO2NvbnN0IGw9Nzk3OTU9PW4uaj9bMTkyMCwxNDQwLDEyODAsMTAyNCw3NjgsNDgwLDBdOm51bGx9LDkyNjE1MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVJdGVtSWQ6KCk9PnMsdXNlU291cmNlc0tleWJvYXJkTmF2aWdhdGlvbjooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oMjM1NzI0KSxsPW4oOTgzNjE2KTtmdW5jdGlvbiBhKGUsdCxuKXtjb25zdFthLGldPSgwLHIudXNlU3RhdGUpKG51bGwpLFtjLHVdPSgwLHIudXNlU3RhdGUpKCIiKTtmdW5jdGlvbiBkKHQpe2NvbnN0IG49ZVt0Lmdyb3VwSW5kZXhdLnNvdXJjZXNbdC5jb2xdLmxlbmd0aC0xO2lmKHQucm93PT09bil7Y29uc3QgZT1oKHQuZ3JvdXBJbmRleCsxKTtpZihudWxsPT09ZSlyZXR1cm47cmV0dXJuIHQuY29sPjAmJiFwKHsuLi50LGdyb3VwSW5kZXg6ZSxyb3c6MH0pP3ZvaWQgaSh7Z3JvdXBJbmRleDplLGNvbDowLHJvdzowfSk6dm9pZCBpKHsuLi50LGdyb3VwSW5kZXg6ZSxyb3c6MH0pfWkoey4uLnQscm93OnQucm93KzF9KX1mdW5jdGlvbiBtKHQpe2lmKDA9PT10LnJvdyl7Y29uc3Qgbj1oKHQuZ3JvdXBJbmRleC0xLC0xKTtpZihudWxsPT09bilyZXR1cm47Y29uc3Qgcj1lW25dLnNvdXJjZXNbdC5jb2xdPy5sZW5ndGg/PzA7cmV0dXJuIDA9PT1yP3ZvaWQgaSh7Z3JvdXBJbmRleDpuLGNvbDowLHJvdzowfSk6dm9pZCBpKHsuLi50LGdyb3VwSW5kZXg6bixyb3c6ci0xfSl9aSh7Li4udCxyb3c6dC5yb3ctMX0pfWZ1bmN0aW9uIHAodCl7cmV0dXJuIEJvb2xlYW4oZVt0Lmdyb3VwSW5kZXhdPy5zb3VyY2VzW3QuY29sXT8uW3Qucm93XSl9ZnVuY3Rpb24gaCh0PTAsbj0xKXtjb25zdCByPWUubGVuZ3RoO2xldCBvPSh0K3IpJXI7Zm9yKDshcCh7Z3JvdXBJbmRleDpvLGNvbDowLHJvdzowfSk7KWlmKG89KG8rbityKSVyLG89PT10KXJldHVybiBudWxsO3JldHVybiBvfXJldHVybigwLHIudXNlRWZmZWN0KSgoKCk9PntpZighbi5jdXJyZW50KXJldHVybjtpZighYSlyZXR1cm4gdm9pZCB1KCIiKTtjb25zdCBlPXMoYS5ncm91cEluZGV4LGEuY29sLGEucm93KSx0PW4uY3VycmVudC5xdWVyeVNlbGVjdG9yKGAjJHtlfWApO3Q/LnNjcm9sbEludG9WaWV3KHtibG9jazoibmVhcmVzdCJ9KSx1KGUpfSksW2FdKSwoMCxyLnVzZUVmZmVjdCkoKCgpPT57aShudWxsKX0pLFt0XSkse2ZvY3VzZWRJdGVtOmEsYWN0aXZlRGVzY2VuZGFudDpjLGhhbmRsZUtleURvd246ZnVuY3Rpb24ocil7aWYoIW4uY3VycmVudClyZXR1cm47Y29uc3QgYz0oMCxvLmhhc2hGcm9tRXZlbnQpKHIpO2lmKDMyPT09Y3x8MTM9PT1jKXtpZighYSlyZXR1cm47ci5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGU9bi5jdXJyZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3MoYS5ncm91cEluZGV4LGEuY29sLGEucm93KX1gKTtyZXR1cm4gdm9pZChlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmUuY2xpY2soKSl9c3dpdGNoKCgwLGwubWFwS2V5Q29kZVRvRGlyZWN0aW9uKShjKSl7Y2FzZSJibG9ja05leHQiOmlmKHIucHJldmVudERlZmF1bHQoKSwhYSl7Y29uc3QgZT1oKCk7aWYobnVsbD09PWUpYnJlYWs7aSh7Z3JvdXBJbmRleDplLGNvbDowLHJvdzowfSk7YnJlYWt9ZChhKTticmVhaztjYXNlImJsb2NrUHJldiI6aWYoci5wcmV2ZW50RGVmYXVsdCgpLCFhKWJyZWFrO20oYSk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0Ijp7aWYoIWF8fHQpYnJlYWs7ci5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IG49ZVthLmdyb3VwSW5kZXhdLnNvdXJjZXMubGVuZ3RoO2lmKGEuY29sPT09bi0xfHwhcCh7Li4uYSxjb2w6YS5jb2wrMX0pKXtkKHsuLi5hLGNvbDowfSk7YnJlYWt9aSh7Li4uYSxjb2w6YS5jb2wrMX0pO2JyZWFrfWNhc2UiaW5saW5lUHJldiI6e2lmKCFhfHx0KWJyZWFrO3IucHJldmVudERlZmF1bHQoKTtjb25zdCBuPWVbYS5ncm91cEluZGV4XS5zb3VyY2VzLmxlbmd0aDtpZigwPT09YS5jb2wpe2lmKDAhPT1hLnJvdyl7bSh7Li4uYSxjb2w6bi0xfSk7YnJlYWt9Y29uc3QgdD1oKGEuZ3JvdXBJbmRleC0xLC0xKTtpZihudWxsPT09dClicmVhaztjb25zdCByPWVbdF0uc291cmNlcy5sZW5ndGgsbz1lW3RdLnNvdXJjZXNbMF0ubGVuZ3RoO2lmKCFwKHtncm91cEluZGV4OnQsY29sOnItMSxyb3c6by0xfSkpe20oYSk7YnJlYWt9aSh7Z3JvdXBJbmRleDp0LGNvbDpyLTEscm93Om8tMX0pO2JyZWFrfWkoey4uLmEsY29sOmEuY29sLTF9KTticmVha319fSxyZXNldEZvY3VzZWRJdGVtOigpPT5pKG51bGwpfX1mdW5jdGlvbiBzKGUsdCxuKXtyZXR1cm5gc291cmNlLWl0ZW0tJHtlfS0ke3R9LSR7bn1gfX0sNzI2ODI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0hpbnRSZWZlcmVuY2VhYmxlOigpPT51fSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big5NjQ1OTQpLHM9big0Nzk5MjApLGk9big1MDI3MTEpLGM9big1MjA5NzcpO2NvbnN0IHU9ci5mb3J3YXJkUmVmKCgoZSx0KT0+ewpjb25zdHt0aGVtZTpvLHBsYWNlSG9sZGVyQ2xhc3NOYW1lOnMsc21hbGxQbGFjZUhvbGRlckNsYXNzTmFtZTp1LHNldHRpbmdzSGludEtleTptLHBsYWNlbWVudDpwLG9uQ2xpY2s6aCxyZWZlcmVuY2U6ZixidXR0b25UZXh0OlMsY2xvc2VCdXR0b246ZyxoaWRlQnV0dG9uOnksb25DbG9zZTpiLHRleHQ6dix0aXRsZTpfLG9uQWRkaXRpb25hbENsaWNrOkUsYWRkaXRpb25hbEJ1dHRvblRleHQ6QyxhZGRpdGlvbmFsQnV0dG9uQ2xhc3NOYW1lOlQsZXNjYXBlV2l0aFJlZmVyZW5jZTp4LG92ZXJmbG93UGFkZGluZzpJLGJvdW5kYXJpZXNFbGVtZW50OncsaGludFN0YXRlSGFuZGxlcjpOPWkuZGVmYXVsdEhpbnRTdGF0ZUhhbmRsZXIsY29udGFpbmVyQ2xhc3NOYW1lOlIsaGlkZVdpdGhSZWZlcmVuY2U6QT0hMSxlbmFibGVGbGlwOkw9ITAsZm9yY2VTaG93T25Jbml0Omssb25PcGVuZWRTdGF0ZUNoYW5nZWQ6Tyxmb3JjZUhpZGU6TSxwbGFjZUhvbGRlclN0eWxlOkQsYnV0dG9uU2l6ZTpQLHNhdmVIaW50U3RhdGVCeUNsaWNrOkY9ITAsc2F2ZUhpbnRTdGF0ZUJ5QWRkaXRpb25hbENsaWNrOkI9ITAsb25CdXR0b25Gb2N1czpILGJ1dHRvbkRhdGFOYW1lOlUsaXNBcnJvd0hpZGRlbjpXPSExfT1lLFY9KDAsci51c2VSZWYpKG51bGwpLFtHLFFdPSgwLHIudXNlU3RhdGUpKG51bGwpLFt6LCRdPSgwLHIudXNlU3RhdGUpKCgoKT0+Ti5nZXRIaW50U3RhdGUobSxrKSkpLFtxLEtdPSgwLHIudXNlU3RhdGUpKCExKSxbWSxYXT0oMCxyLnVzZVN0YXRlKShCb29sZWFuKE0pKSxqPSgwLHIudXNlUmVmKShudWxsKSxaPSgwLHIudXNlUmVmKShudWxsKSxKPSgwLHIudXNlUmVmKShudWxsKSxlZT0oMCxyLnVzZVJlZikobnVsbCksdGU9KDAsci51c2VNZW1vKSgoKCk9Pih7Y2xvc2UoZT0hMSl7JCghMSksZSYmTi5zZXRIaW50U3RhdGUobSl9LGdldFBvcHBlclJlZjooKT0+aixnZXRQbGFjZWhvbGRlclJlZjooKT0+SixnZXRCdXR0b25SZWY6KCk9PmVlLHVwZGF0ZTooKT0+Wi5jdXJyZW50Py51cGRhdGUoKX0pKSxbTl0pO2lmKCgwLHIudXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PnRlKSxbdGVdKSwoMCxyLnVzZUVmZmVjdCkoKCgpPT4oeiYmKFYuY3VycmVudD1uLmUoNjI5NDMpLnRoZW4obi5iaW5kKG4sNjg0NzQwKSksVi5jdXJyZW50LnRoZW4oKGU9PntWLmN1cnJlbnQmJlEoZSl9KSkpLCgpPT57Vi5jdXJyZW50PW51bGx9KSksW10pLCgwLHIudXNlRWZmZWN0KSgoKCk9PntudWxsIT09ai5jdXJyZW50JiYoai5jdXJyZW50LnN0eWxlLnBvaW50ZXJFdmVudHM9WT8ibm9uZSI6IiIpfSksW1ldKSwoMCxyLnVzZUVmZmVjdCkoKCgpPT5YKEJvb2xlYW4oTSkpKSxbTV0pLCgwLHIudXNlRWZmZWN0KSgoKCk9Pk8/LihCb29sZWFuKHopKSksW3pdKSx6JiZHKXtjb25zdHtNYW5hZ2VyOmUsUmVmZXJlbmNlOnQsUG9wcGVyOm59PUc7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChlLG51bGwsci5jcmVhdGVFbGVtZW50KHQsbnVsbCwoZT0+ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTpELHJlZjooMCxhLm1lcmdlUmVmcykoW2UucmVmLEpdKSxjbGFzc05hbWU6bCgpKGMucGxhY2VIb2xkZXIscyxxJiZ1KX0pKSksci5jcmVhdGVFbGVtZW50KG4se2lubmVyUmVmOmoscGxhY2VtZW50OnAsc3RyYXRlZ3k6ImZpeGVkIixtb2RpZmllcnM6W3tuYW1lOiJvZmZzZXQiLG9wdGlvbnM6e29mZnNldDpbMCw1XX19LHtuYW1lOiJwcmV2ZW50T3ZlcmZsb3ciLG9wdGlvbnM6e3Jvb3RCb3VuZGFyeTp3fHwidmlld3BvcnQiLGFsdEJvdW5kYXJ5Onh8fCExLHBhZGRpbmc6SX19LHtuYW1lOiJmbGlwIixlbmFibGVkOkwsb3B0aW9uczp7ZmFsbGJhY2tQbGFjZW1lbnRzOlsibGVmdCIsImJvdHRvbSJdfX0se25hbWU6ImhpZGVXaXRoUmVmZXJlbmNlIixlbmFibGVkOkEscGhhc2U6Im1haW4iLGZuOmU9Pntjb25zdHtzdGF0ZTp0fT1lLG49Qm9vbGVhbih0Lm1vZGlmaWVyc0RhdGEuaGlkZT8uaXNSZWZlcmVuY2VIaWRkZW4pO1khPT1uJiZYKG4pfX1dfSwoZT0+KFouY3VycmVudD1lLHIuY3JlYXRlRWxlbWVudChkLHtzZXRTbWFsbFNpemU6Syx0ZXh0OnYsYnV0dG9uVGV4dDpTLHJlZmVyZW5jZTpmLHBvcHBlckNoaWxkcmVuUHJvcHM6ZSx0aXRsZTpfLHRoZW1lOm8sYXJyb3dDbGFzc05hbWU6bCgpKChXfHxZKSYmYy5oaWRkZW4pLGNvbnRhaW5lckNsYXNzTmFtZTpsKCkoUixZJiZjLmhpZGRlbiksb25DbGljazp5P3ZvaWQgMDpuZSxidXR0b25TaXplOlAsb25BZGRpdGlvbmFsQ2xpY2s6cmUsYWRkaXRpb25hbEJ1dHRvblRleHQ6QyxhZGRpdGlvbmFsQnV0dG9uQ2xhc3NOYW1lOlQsYnV0dG9uUmVmZXJlbmNlOmVlLG9uQnV0dG9uRm9jdXM6SCxidXR0b25EYXRhTmFtZTpVLG9uQ2xvc2U6eT9uZTpnP29lOnZvaWQgMH0pKSkpKX1yZXR1cm4gbnVsbDtmdW5jdGlvbiBuZSgpe3RlLmNsb3NlKEYpLGgmJmgoKX1mdW5jdGlvbiByZSgpe3RlLmNsb3NlKEIpLEUmJkUoKX1mdW5jdGlvbiBvZSgpe2NvbnN0e3NhdmVIaW50U3RhdGVCeU9uQ2xvc2U6dD0hMX09ZTt0ZS5jbG9zZSh0KSxiJiZiKCl9fSkpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7c2V0U21hbGxTaXplOnQscG9wcGVyQ2hpbGRyZW5Qcm9wczpuLC4uLm99PWU7cmV0dXJuKDAsci51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e3Qobi5wbGFjZW1lbnQmJm4ucGxhY2VtZW50LnN0YXJ0c1dpdGgoImJvdHRvbSIpKX0pLFt0LG5dKSxyLmNyZWF0ZUVsZW1lbnQocy5IaW50V2l6YXJkLHsuLi5vLHBvcHBlckNoaWxkcmVuUHJvcHM6bn0pfX0sNTAyNzExKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHRIaW50U3RhdGVIYW5kbGVyOigpPT5vfSk7dmFyIHI9big5MzA1NjYpO2NvbnN0IG89e2dldEhpbnRTdGF0ZTooZSx0KT0+e2lmKCFlfHx0KXJldHVybiEwO2NvbnN0IG49ci5nZXRCb29sKGUpO3JldHVybiB3aW5kb3cuaXNfYXV0aGVudGljYXRlZCYmKG58fHZvaWQgMD09PW4pfSxzZXRIaW50U3RhdGU6ZT0+e2UmJnIuc2V0VmFsdWUoZSwhMSx7Zm9yY2VGbHVzaDohMH0pfX19LDQ3OTkyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX0hJTlRfVEhFTUU6KCk9PnUsCkhpbnRXaXphcmQ6KCk9PmR9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDE4NTI3MSksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDY5MjI2NiksaT1uKDg1NDgyMCksYz1uKDQzNTEwMSk7Y29uc3QgdT03OTc5NT09bi5qP2M6bnVsbDtmdW5jdGlvbiBkKGUpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6dCxvbkNsaWNrOmwscmVmZXJlbmNlOnUsdGV4dDpkLGJ1dHRvblRleHQ6bSxhZGRpdGlvbmFsQnV0dG9uVGV4dDpwLG9uQWRkaXRpb25hbENsaWNrOmgsdGl0bGU6Zix0aGVtZTpTPWMsY29udGFpbmVyQ2xhc3NOYW1lOmcsYXJyb3dDbGFzc05hbWU6eSxhZGRpdGlvbmFsQnV0dG9uQ2xhc3NOYW1lOmIsb25DbG9zZTp2LGJ1dHRvblNpemU6Xz0ieHNtYWxsIixidXR0b25SZWZlcmVuY2U6RSxvbkJ1dHRvbkZvY3VzOkMsYnV0dG9uRGF0YU5hbWU6VH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHMuVG9vbHRpcFdpemFyZCx7cmVmZXJlbmNlOnUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LGNvbnRhaW5lckNsYXNzTmFtZTpnLGFycm93Q2xhc3NOYW1lOnksb25DbG9zZTp2LHJvbGU6ImhpbnQifSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpTLndyYXBwZXJ9LGYmJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOlMudGl0bGV9LGYpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOlMudGV4dH0sZCksci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Uy5idXR0b25zfSxoJiZwJiZyLmNyZWF0ZUVsZW1lbnQoaS5MaWdodEJ1dHRvbix7dmFyaWFudDoiZ2hvc3QiLGNvbG9yOiJncmF5IixjbGFzc05hbWU6YSgpKFMuYWRkaXRpb25hbEJ1dHRvbixiKSxzaXplOl8sb25DbGljazpofSxwKSxsJiZyLmNyZWF0ZUVsZW1lbnQoaS5MaWdodEJ1dHRvbix7ZGF0YVFhSWQ6VCxvbkZvY3VzOkMscmVmZXJlbmNlOkUsdmFyaWFudDoicHJpbWFyeSIsY29sb3I6ImdyYXkiLGNsYXNzTmFtZTpTLmJ1dHRvbixzaXplOl8sb25DbGljazpsfSxtfHxvLnQobnVsbCx2b2lkIDAsbig0MDIzMjQpKSkpKSl9fSwzMDU0NzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ3VzdG9tVG91Y2hTY3JvbGxBbmltYXRpb246KCk9Pml9KTt2YXIgcixvLGw9big3Nzk0NzQpLGE9bigxMzg2MzgpLHM9big5MjU5ODUpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7c2Nyb2xsQ29udGFpbmVyUmVmOnR9PWU7Yyh7c2Nyb2xsQ29udGFpbmVyUmVmOnQsZGlyZWN0aW9uOjB9KSxjKHtzY3JvbGxDb250YWluZXJSZWY6dCxkaXJlY3Rpb246MX0pfWZ1bmN0aW9uIGMoZSl7Y29uc3R7c2Nyb2xsQ29udGFpbmVyUmVmOnQsZGlyZWN0aW9uOm59PWUscj0oMCxsLnVzZVJlZikobnVsbCksbz0oMCxsLnVzZVJlZikobnVsbCkscz0oMCxsLnVzZVJlZikodSgpKSxpPSgwLGwudXNlUmVmKSghMSksYz0oMCxsLnVzZVJlZikoe3g6MCx5OjB9KTtmdW5jdGlvbiBkKGUpe3JldHVybiAwPT09bj9lLnRvdWNoZXNbMF0uY2xpZW50WTplLnRvdWNoZXNbMF0uY2xpZW50WH1mdW5jdGlvbiBtKGUpe3JldHVybiAwPT09bj9lLnNjcm9sbFRvcDplLnNjcm9sbExlZnR9ZnVuY3Rpb24gcChlLHQpezA9PT1uP2Uuc2Nyb2xsVG9wPXQ6ZS5zY3JvbGxMZWZ0PXR9ZnVuY3Rpb24gaChlKXtyZXR1cm4gMD09PW4/ZS5zY3JvbGxIZWlnaHQtZS5jbGllbnRIZWlnaHQ6ZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRofWZ1bmN0aW9uIGYoZSl7Y29uc3Qgbj0oMCxhLmVuc3VyZU5vdE51bGwpKCgwLGEuZW5zdXJlRGVmaW5lZCkodCkuY3VycmVudCk7aS5jdXJyZW50PTA9PT1oKG4pLGkuY3VycmVudHx8KHIuY3VycmVudD1kKGUpLGMuY3VycmVudD17eDplLnRvdWNoZXNbMF0uY2xpZW50WCx5OmUudG91Y2hlc1swXS5jbGllbnRZfSxzLmN1cnJlbnQ9dSgpKX1mdW5jdGlvbiBTKGUpe2lmKGkuY3VycmVudClyZXR1cm47aWYoZnVuY3Rpb24oZSl7Y29uc3QgdD1NYXRoLmF0YW4yKGUudG91Y2hlc1swXS5jbGllbnRZLWMuY3VycmVudC55LGUudG91Y2hlc1swXS5jbGllbnRYLWMuY3VycmVudC54KSxuPU1hdGguYWJzKHQpO3JldHVybiBuPk1hdGguUEkvNCYmbjwzKk1hdGguUEkvND8wOjF9KGUpIT09bilyZXR1cm4gdm9pZChpLmN1cnJlbnQ9ITApO2UucHJldmVudERlZmF1bHQoKTtjb25zdCBvPSgwLGEuZW5zdXJlTm90TnVsbCkoKDAsYS5lbnN1cmVEZWZpbmVkKSh0KS5jdXJyZW50KSxsPWQoZSksdT1sLSgwLGEuZW5zdXJlTm90TnVsbCkoci5jdXJyZW50KTtwKG8sbShvKS11KSxyLmN1cnJlbnQ9bDtjb25zdCBoPXBlcmZvcm1hbmNlLm5vdygpOygwLGEuZW5zdXJlTm90TnVsbCkocy5jdXJyZW50KS5hZGRQb3NpdGlvbihtKG8pLGgpfWZ1bmN0aW9uIGcoKXtpZihpLmN1cnJlbnQpcmV0dXJuO2NvbnN0IGU9cGVyZm9ybWFuY2Uubm93KCksbj0oMCxhLmVuc3VyZU5vdE51bGwpKCgwLGEuZW5zdXJlRGVmaW5lZCkodCkuY3VycmVudCk7cy5jdXJyZW50LnN0YXJ0KG0obiksZSkscy5jdXJyZW50LmZpbmlzaGVkKGUpfHwoby5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZSh5KSksci5jdXJyZW50PW51bGx9ZnVuY3Rpb24geShlKXtpZihzLmN1cnJlbnQuZmluaXNoZWQoZSkpcmV0dXJuIHZvaWQgYigpO2NvbnN0IG49KDAsYS5lbnN1cmVOb3ROdWxsKSgoMCxhLmVuc3VyZURlZmluZWQpKHQpLmN1cnJlbnQpLHI9cy5jdXJyZW50LmdldFBvc2l0aW9uKGUpO3AobixyKSxyPD0wfHxoKG4pPD1yP2IoKTpvLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHkpfWZ1bmN0aW9uIGIoKXtvLmN1cnJlbnQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKG8uY3VycmVudCl9KDAsbC51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9dD8uY3VycmVudDtyZXR1cm4gZT8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZiksZT8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixTKSxlPy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZyksZT8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLGcpLCgpPT57ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZiksZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixTKSwKZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGcpLGU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoY2FuY2VsIixnKX19KSxbdCxuXSksKDAsbC51c2VFZmZlY3QpKCgoKT0+KCk9PmIoKSksW10pfWZ1bmN0aW9uIHUoKXtyZXR1cm4gbmV3IHMuS2luZXRpY0FuaW1hdGlvbiguMiw3LC45OTcsMTUpfSFmdW5jdGlvbihlKXtlW2UuVmVydGljYWw9MF09IlZlcnRpY2FsIixlW2UuSG9yaXpvbnRhbD0xXT0iSG9yaXpvbnRhbCJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk1pblNjcm9sbFNwZWVkPS4yXT0iTWluU2Nyb2xsU3BlZWQiLGVbZS5NYXhTY3JvbGxTcGVlZD03XT0iTWF4U2Nyb2xsU3BlZWQiLGVbZS5EdW1waW5nQ29lZmY9Ljk5N109IkR1bXBpbmdDb2VmZiIsZVtlLlNjcm9sbE1pbk1vdmU9MTVdPSJTY3JvbGxNaW5Nb3ZlIn0ob3x8KG89e30pKX0sMTM4OTk0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb25RdWVzdGlvbkluZm9ybWF0aW9uOigpPT5wLEljb25RdWVzdGlvbkluZm9ybWF0aW9uQnV0dG9uOigpPT5mLEljb25RdWVzdGlvbkluZm9ybWF0aW9uTGluazooKT0+aH0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oMTE5NzUwKSxzPW4oODY1MDkyKSxpPW4oMzQ0Nzg1KSxjPW4oMTk4MjA5KSx1PW4ubihjKTtmdW5jdGlvbiBkKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixkKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixkKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsZCksKDAsaS5oaWRlKSgpfWNvbnN0IG09ZT0+eygwLGkuc2hvd09uRWxlbWVudCkoZS5jdXJyZW50VGFyZ2V0LHt0b29sdGlwRGVsYXk6MH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLGQpfSxwPSgwLHIuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4sb25DbGljazpvPW0sZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6YyxzaXplOmQsLi4ucH09ZSx7dG9vbHRpcDpoLGNsYXNzTmFtZTpmLC4uLlN9PSgwLHMudXNlVG9vbHRpcCkoe3Rvb2x0aXA6ZS50b29sdGlwLGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOiExLHNob3dUb29sdGlwOmkuc2hvd09uRWxlbWVudCxoaWRlVG9vbHRpcDppLmhpZGUsb25DbGljazpvfSx0KTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2NsYXNzTmFtZTpsKCkobix1KClbImljb24td3JhcHBlciJdLGgmJnUoKVsid2l0aC10b29sdGlwIl0sZiksdG9vbHRpcDpoLHNpemU6ZCwuLi5wLC4uLlN9KX0pKSxoPSgwLHIuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4saHJlZjpvLHJlbDphLHRhcmdldDpzLC4uLml9PWUsYz0oMCxyLnVzZU1lbW8pKCgoKT0+KDAsci5mb3J3YXJkUmVmKSgoKGUsdCk9PnIuY3JlYXRlRWxlbWVudCgiYSIse2hyZWY6byxyZWw6YSx0YXJnZXQ6cyxyZWY6dCwuLi5lfSkpKSksW28sYSxzXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChwLHsuLi5pLGNsYXNzTmFtZTpsKCkobix1KClbIndpdGgtbGluayJdKSxyZW5kZXJDb21wb25lbnQ6YyxyZWY6dCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDohMH0pfSkpLGY9KDAsci5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6bix3aXRoQWN0aXZlU3RhdGU6bywuLi5hfT1lLHM9KDAsci51c2VNZW1vKSgoKCk9PigwLHIuZm9yd2FyZFJlZikoKChlLHQpPT5yLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLmUscmVmOnQsdHlwZToiYnV0dG9uIn0pKSkpLFtdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHAsey4uLmEsY2xhc3NOYW1lOmwoKShuLCFvJiZ1KClbIm5vLWFjdGl2ZS1zdGF0ZSJdKSxyZW5kZXJDb21wb25lbnQ6cyxyZWY6dH0pfSkpfSwyMzExMzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VwYXJhdG9yOigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big4MDYwNzgpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShhLnNlcGFyYXRvcixlLmNsYXNzTmFtZSl9KX19LDM2NDM1MChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZT09PXR9bi5kKHQse2NyZWF0ZVNlbGVjdG9yOigpPT5vfSk7dmFyIG89ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheSh0PjE/dC0xOjApLHI9MTtyPHQ7cisrKW5bci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscj1BcnJheSh0KSxvPTA7bzx0O28rKylyW29dPWFyZ3VtZW50c1tvXTt2YXIgbD0wLGE9ci5wb3AoKSxzPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5LmlzQXJyYXkoZVswXSk/ZVswXTplO2lmKCF0LmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX0pKSl7dmFyIG49dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX0pKS5qb2luKCIsICIpO3Rocm93IG5ldyBFcnJvcigiU2VsZWN0b3IgY3JlYXRvcnMgZXhwZWN0IGFsbCBpbnB1dC1zZWxlY3RvcnMgdG8gYmUgZnVuY3Rpb25zLCBpbnN0ZWFkIHJlY2VpdmVkIHRoZSBmb2xsb3dpbmcgdHlwZXM6IFsiK24rIl0iKX1yZXR1cm4gdH0ociksaT1lLmFwcGx5KHZvaWQgMCxbZnVuY3Rpb24oKXtyZXR1cm4gbCsrLGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfV0uY29uY2F0KG4pKSxjPWUoKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9cy5sZW5ndGgsbj0wO248dDtuKyspZS5wdXNoKHNbbl0uYXBwbHkobnVsbCxhcmd1bWVudHMpKTtyZXR1cm4gaS5hcHBseShudWxsLGUpfSkpO3JldHVybiBjLnJlc3VsdEZ1bmM9YSxjLmRlcGVuZGVuY2llcz1zLGMucmVjb21wdXRhdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gbH0sCmMucmVzZXRSZWNvbXB1dGF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBsPTB9LGN9fSgoZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnIsbj1udWxsLG89bnVsbDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe2lmKG51bGw9PT10fHxudWxsPT09bnx8dC5sZW5ndGghPT1uLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHI9dC5sZW5ndGgsbz0wO288cjtvKyspaWYoIWUodFtvXSxuW29dKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxuLGFyZ3VtZW50cyl8fChvPWUuYXBwbHkobnVsbCxhcmd1bWVudHMpKSxuPWFyZ3VtZW50cyxvfX0pKX0sNzY5OShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7aWYoIWUpcmV0dXJuIiI7aWYoWyJOWVNFIEFSQ0EgJiBNS1QiLCJBTUVYIl0uaW5jbHVkZXMoZSkpcmV0dXJuIk5ZU0UgQXJjYSI7aWYoWyJDYm9lIEJaWCJdLmluY2x1ZGVzKGUpKXJldHVybiJDYm9lIE9uZSI7aWYoWyJGVFNFU1QiXS5pbmNsdWRlcyhlKSlyZXR1cm4iRlRTRSBTVCI7Y29uc3QgdD0vXihDTUV8Q09NRVh8Q0JPVHxOWU1FWClfTUlOSSQvLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P3RbMV06ZX1uLmQodCx7cmVkZWZpbmVFeGNoYW5nZU5hbWU6KCk9PnJ9KX0sNDc1MTY0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHIsbztuLnIodCksbi5kKHQse0ZpbHRlclF1ZXJ5UGFyYW06KCk9PnIsU2VhcmNoSW5pdGlhdGlvblBvaW50OigpPT5vLGdldEVtcHR5U2VhcmNoOigpPT5TLGlzRXhwYW5kYWJsZVJlc3VsdDooKT0+Zixpc1N5bWJvbFNlYXJjaFJlc3VsdDooKT0+aCxzZWFyY2hTeW1ib2xzOigpPT5nLHNlYXJjaFN5bWJvbHNQYWdpbmF0ZWQ6KCk9Pnl9KSxmdW5jdGlvbihlKXtlLlNvdXJjZUlkPSJzb3VyY2VfaWQiLGUuRWNvbm9taWNDYXRlZ29yeT0iZWNvbm9taWNfY2F0ZWdvcnkiLGUuU2VhcmNoVHlwZT0ic2VhcmNoX3R5cGUiLGUuU2VjdG9yPSJzZWN0b3IiLGUuUHJvZHVjdD0icHJvZHVjdCIsZS5DZW50cmFsaXphdGlvbj0iY2VudHJhbGl6YXRpb24iLGUuT25seUhhc09wdGlvbnM9Im9ubHlfaGFzX29wdGlvbnMifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuU3ltYm9sU2VhcmNoPSJzeW1ib2xTZWFyY2giLGUuV2F0Y2hsaXN0PSJ3YXRjaGxpc3QiLGUuQ29tcGFyZT0iY29tcGFyZSIsZS5JbmRpY2F0b3JJbnB1dHM9ImluZGljYXRvcklucHV0cyJ9KG98fChvPXt9KSk7dmFyIGwsYSxzPW4oMTM4NjM4KSxpPW4oMTU2ODUwKSxjPW4oOTY2MzY3KSx1PW4oMjM3MzY5KSxkPW4oNjYxODU4KSxtPW4oMTYwMjk2KSxwPW4oMzg0MDE3KTtmdW5jdGlvbiBoKGUpe3JldHVybiBlLmhhc093blByb3BlcnR5KCJleGNoYW5nZSIpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIHZvaWQgMCE9PWUuZ3JvdXBlZF9zeW1ib2xzfHx2b2lkIDAhPT1lLmNvbnRyYWN0c31hc3luYyBmdW5jdGlvbiBTKCl7cmV0dXJue3N5bWJvbHM6W10sc3ltYm9sc19yZW1haW5pbmc6MH19YXN5bmMgZnVuY3Rpb24gZyhlKXtjb25zdCB0PUUoKSxuPWIoZSkscj1gJHt0fT8keygwLGMuY3JlYXRlU2VhcmNoUGFyYW1zKShuKS50b1N0cmluZygpfWAsbz0obmV3IERhdGUpLmdldFRpbWUoKTt0cnl7Y29uc3QgdD1hd2FpdCgwLHAuZmV0Y2gpKHIse3NpZ25hbDplLnNpZ25hbH0pO2lmKCF0Lm9rKXRocm93IGUuc2VydmVyTG9nZ2VyPy5sb2coe2FjdGlvbjoic3ltYm9sLXNlYXJjaC5lcnJvci1yZXNwb25zZSIsbGV2ZWw6ImVycm9yIixwYXlsb2FkOntyZXF1ZXN0Ont1cmw6cixtZXRob2Q6IkdFVCJ9LHN0YXR1c0NvZGU6dC5zdGF0dXMsbWVzc2FnZTooYXdhaXQgdC50ZXh0KCkpLnNsaWNlKDAsMjUwKX19KSxuZXcgRXJyb3IoYCR7dC5zdGF0dXN9OiAke3Quc3RhdHVzVGV4dH1gKTtjb25zdCBuPWF3YWl0IHQuanNvbigpO3JldHVybiBpLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoInN5bWJvbF9zZWFyY2hfaHR0cF9zdGF0dXMiLHt2YWx1ZTp0LnN0YXR1c30pLDA9PT1uLmxlbmd0aD9lLnNlcnZlckxvZ2dlcj8ubG9nKHthY3Rpb246InN5bWJvbC1zZWFyY2guZW1wdHktcmVzcG9uc2UiLGxldmVsOiJlcnJvciIscGF5bG9hZDp7cmVxdWVzdDp7dXJsOnIsbWV0aG9kOiJHRVQifX19KTplLnNlcnZlckxvZ2dlcj8ubG9nKHthY3Rpb246InN5bWJvbC1zZWFyY2guc3VjY2Vzcy1yZXNwb25zZSIsbGV2ZWw6ImluZm8iLHBheWxvYWQ6e3JlcXVlc3Q6e3VybDpyLG1ldGhvZDoiR0VUIn0sc3ltYm9sc0NvdW50Om4ubGVuZ3RofX0pLG59Y2F0Y2godCl7dGhyb3cgaS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfc2VhcmNoX2h0dHBfZXJyb3IiKSxlLnNlcnZlckxvZ2dlcj8ubG9nKHthY3Rpb246InN5bWJvbC1zZWFyY2gubmV0d29yay1lcnJvciIsbGV2ZWw6ImVycm9yIixwYXlsb2FkOntyZXF1ZXN0Ont1cmw6cixtZXRob2Q6IkdFVCJ9LG1lc3NhZ2U6KDAsdS5nZXRMb2dnZXJNZXNzYWdlKSh0KX19KSx0fWZpbmFsbHl7dihvKX19YXN5bmMgZnVuY3Rpb24geShlKXtjb25zdCB0PUUoITApLG49YihlKSxyPWAke3R9PyR7KDAsYy5jcmVhdGVTZWFyY2hQYXJhbXMpKGUub3ZlcnJpZGVRdWVyeVBhcmFtcz9lLm92ZXJyaWRlUXVlcnlQYXJhbXMobixlLnR5cGUpOm4pLnRvU3RyaW5nKCl9YCxvPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3RyeXtjb25zdCB0PWF3YWl0KDAscC5mZXRjaCkocix7c2lnbmFsOmUuc2lnbmFsfSk7aWYoIXQub2spdGhyb3cgZS5zZXJ2ZXJMb2dnZXI/LmxvZyh7YWN0aW9uOiJzeW1ib2wtc2VhcmNoLmVycm9yLXJlc3BvbnNlIixsZXZlbDoiZXJyb3IiLHBheWxvYWQ6e3JlcXVlc3Q6e3VybDpyLG1ldGhvZDoiR0VUIn0sc3RhdHVzQ29kZTp0LnN0YXR1cyxtZXNzYWdlOihhd2FpdCB0LnRleHQoKSkuc2xpY2UoMCwyNTApfX0pLG5ldyBFcnJvcihgJHt0LnN0YXR1c306ICR7dC5zdGF0dXNUZXh0fWApO2NvbnN0IG49YXdhaXQgdC5qc29uKCk7cmV0dXJuIGkudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3NlYXJjaF9odHRwX3N0YXR1cyIse3ZhbHVlOnQuc3RhdHVzfSksCjA9PT1uLnN5bWJvbHMubGVuZ3RoP2Uuc2VydmVyTG9nZ2VyPy5sb2coe2FjdGlvbjoic3ltYm9sLXNlYXJjaC5lbXB0eS1yZXNwb25zZSIsbGV2ZWw6ImVycm9yIixwYXlsb2FkOntyZXF1ZXN0Ont1cmw6cixtZXRob2Q6IkdFVCJ9fX0pOmUuc2VydmVyTG9nZ2VyPy5sb2coe2FjdGlvbjoic3ltYm9sLXNlYXJjaC5zdWNjZXNzLXJlc3BvbnNlIixsZXZlbDoiaW5mbyIscGF5bG9hZDp7cmVxdWVzdDp7dXJsOnIsbWV0aG9kOiJHRVQifSxzeW1ib2xzQ291bnQ6bi5zeW1ib2xzLmxlbmd0aH19KSxufWNhdGNoKHQpe3Rocm93IGkudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3NlYXJjaF9odHRwX2Vycm9yIiksZS5zZXJ2ZXJMb2dnZXI/LmxvZyh7YWN0aW9uOiJzeW1ib2wtc2VhcmNoLm5ldHdvcmstZXJyb3IiLGxldmVsOiJlcnJvciIscGF5bG9hZDp7cmVxdWVzdDp7dXJsOnIsbWV0aG9kOiJHRVQifSxtZXNzYWdlOigwLHUuZ2V0TG9nZ2VyTWVzc2FnZSkodCl9fSksdH1maW5hbGx5e3Yobyl9fWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD17fTt2b2lkIDAhPT1lLnRleHQmJih0LnRleHQ9ZS50ZXh0KSx2b2lkIDAhPT1lLmJyb2tlclN5bWJvbHMmJih0LmJyb2tlcl9zeW1ib2xzPWUuYnJva2VyU3ltYm9scy5zb3J0KCkuam9pbigiLCIpKSx2b2lkIDAhPT1lLnNlcnZlckhpZ2hsaWdodCYmKHQuaGw9ZS5zZXJ2ZXJIaWdobGlnaHQ/IjEiOiIwIiksdm9pZCAwIT09ZS5leGNoYW5nZSYmKHQuZXhjaGFuZ2U9ZS5leGNoYW5nZSksdm9pZCAwIT09ZS5jb3VudHJ5JiYodC5jb3VudHJ5PWUuY291bnRyeSksZS5zdHJpY3RNYXRjaCYmKHQuc3RyaWN0PSIxIiksZS5ub0xpbWl0cyYmKHQubm9fbGltaXRzPSIxIiksdm9pZCAwIT09ZS5sYW5nJiYodC5sYW5nPWUubGFuZyk7Y29uc3R7dHlwZTpufT1lO3ZhciByO3ZvaWQgMCE9PW4mJih0LnNlYXJjaF90eXBlPShyPW4sKDAscy5lbnN1cmVEZWZpbmVkKShDLmdldChyKSkpKSx2b2lkIDAhPT1lLnN0YXJ0JiYodC5zdGFydD1lLnN0YXJ0KTtjb25zdHtmaWx0ZXJRdWVyeVBhcmFtczpvfT1lO3JldHVybiB2b2lkIDAhPT1vJiZPYmplY3Qua2V5cyhvKS5mb3JFYWNoKChlPT57Y29uc3Qgbj1vW2VdO24mJih0W2VdPW4pfSkpLHdpbmRvdy5TU19ET01BSU5fUEFSQU1FVEVSJiYodC5kb21haW49d2luZG93LlNTX0RPTUFJTl9QQVJBTUVURVIpLGUuYWNjb3VudEZpbHRlcklkJiZlLmlzRXh0ZXJuYWw/dC5hZGRpdGlvbmFsX2ZpbHRlcj1gdHJhZGluZy8ke2UuYWNjb3VudEZpbHRlcklkfWA6KGUuYnJva2VySWR8fGUuYWNjb3VudEZpbHRlcklkKSYmKHQuYnJva2VyPWUuYnJva2VySWQ/LnRvTG93ZXJDYXNlKCl8fGUuYWNjb3VudEZpbHRlcklkPy50b0xvd2VyQ2FzZSgpLChlLmJyb2tlcklkJiZlLm9ubHlUcmFkYWJsZXx8ZS5hY2NvdW50RmlsdGVySWQmJmUub25seUFjY291bnRUcmFkYWJsZSkmJih0LnRyYWRhYmxlPSIxIiksZS51bmhpZGVTeW1ib2xTZWFyY2hHcm91cHMmJih0LnVuaGlkZT1lLnVuaGlkZVN5bWJvbFNlYXJjaEdyb3VwcykpLGUuZW5hYmxlR3JvdXBpbmcmJih0LmVuYWJsZV9ncm91cGluZz1lLmVuYWJsZUdyb3VwaW5nKSxlLnNvcnRCeUNvdW50cnkmJih0LnNvcnRfYnlfY291bnRyeT1lLnNvcnRCeUNvdW50cnkpLHQucHJvbW89ITAsdH1mdW5jdGlvbiB2KGUpe2NvbnN0IHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCktZTtpLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoInN5bWJvbF9zZWFyY2hfdGltZV9mcmFtZSIse3ZhbHVlOnR9KX0hZnVuY3Rpb24oZSl7ZVtlLlByb2Q9MF09IlByb2QiLGVbZS5Mb2NhbD0xXT0iTG9jYWwifShsfHwobD17fSkpLGZ1bmN0aW9uKGUpe2VbZS5QYWdpbmF0ZWQ9MF09IlBhZ2luYXRlZCIsZVtlLk5vTGltaXQ9MV09Ik5vTGltaXQifShhfHwoYT17fSkpO2NvbnN0IF89ezA6ezA6Ii9zeW1ib2xfc2VhcmNoL3YzLyIsMToiL3N5bWJvbF9zZWFyY2gvIn0sMTp7MDoiL2xvY2FsX3NlYXJjaC92My8iLDE6Ii9sb2NhbF9zZWFyY2gvIn19O2Z1bmN0aW9uIEUoZSl7bGV0IHQ9Imh0dHBzOi8vIit3aW5kb3cuU1NfSE9TVDtjb25zdCBuPSgwLG0uaXNQcm9kKSgpPzA6MTtyZXR1cm4gdCs9X1tuXVtlPzA6MV0sd2luZG93LlNTX1VSTCYmKHQ9d2luZG93LlNTX1VSTCksdH1jb25zdCBDPW5ldyBNYXAoZC5tYXAoKCh7dmFsdWU6ZSxzZWFyY2hfdHlwZTp0fSk9PltlLHRdKSkpfSw4MjQzNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtWSVNJQkxFX1RZUEVTUEVDUzooKT0+YSxtYXJrZXRUeXBlOigpPT5zfSk7dmFyIHI9bigxNTY4MjkpLG89big3MjY2MDIpO24oODI5MTgwKTtjb25zdCBsPW5ldyBNYXAsYT1uZXcgU2V0KFsiY2ZkIiwic3ByZWFkYmV0IiwiZGVmaSIsInlpZWxkIiwiZ292ZXJubWVudCIsImNvcnBvcmF0ZSIsIm11dHVhbCIsIm1vbmV5IiwiZXRmIiwidW5pdCIsInRydXN0IiwicmVpdCIsImV0biIsImNvbnZlcnRpYmxlIiwiY2xvc2VkZW5kIiwiY3J5cHRvIiwib3JhY2xlIiwibmRmIiwiYWxnb3JpdGhtaWMiXSk7ZnVuY3Rpb24gcyhlLHQ9W10sbj0hMCl7aWYoKDAsci5pc1ByZUlwbykoZSx0KSlyZXR1cm4icHJlLUlQTyI7Y29uc3Qgcz10LmZpbHRlcigoZT0+YS5oYXMoZSkpKSxpPWAke2V9XyR7cy5zb3J0KCkuam9pbigiXyIpfWAsYz1sLmdldChpKTtpZih2b2lkIDAhPT1jKXJldHVybiBjO2NvbnN0IHU9bj8oMCxvLnRyaWVzVHJhbnNsYXRlTWFya2V0VHlwZSkoZSk6ZSxkPUJvb2xlYW4odC5sZW5ndGgpP1t1LC4uLnNdLmpvaW4oIiAiKTp1O3JldHVybiBsLnNldChpLGQpLGR9fSw0MDIzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtmb3JtYXRDYWxlbmRhckRheXNEaWZmOigpPT5hLGdldENhbGVuZGFyRGF5c0RpZmY6KCk9Pm99KTt2YXIgcj1uKDE4NTI3MSk7ZnVuY3Rpb24gbyhlLHQsbil7Y29uc3Qgcj1uZXcgRGF0ZSh0KSxvPW5ldyBEYXRlKGUpLGE9bj8wOjYwKihsKHIpLWwobykpKjFlMztyZXR1cm4gbj8oci5zZXRVVENIb3VycygxMiwwLDAsMCksby5zZXRVVENIb3VycygxMiwwLDAsMCkpOihyLnNldEhvdXJzKDEyLDAsMCwwKSxvLnNldEhvdXJzKDEyLDAsMCwwKSksCihzPShvLmdldFRpbWUoKS1yLmdldFRpbWUoKS1hKS84NjRlNSk8MD9NYXRoLmNlaWwocyk6TWF0aC5mbG9vcihzKTt2YXIgc31mdW5jdGlvbiBsKGUpe3JldHVybiAxNSotTWF0aC5yb3VuZChlLmdldFRpbWV6b25lT2Zmc2V0KCkvMTUpfWZ1bmN0aW9uIGEoZSl7aWYoMD09PWUpcmV0dXJuIHIudChudWxsLHZvaWQgMCxuKDYxNDQ1MCkpO2lmKDE9PT1lKXJldHVybiByLnQobnVsbCx2b2lkIDAsbig5NDA0ODMpKTtpZigtMT09PWUpcmV0dXJuIHIudChudWxsLHZvaWQgMCxuKDk2NTU3MykpO2NvbnN0IHQ9TWF0aC5hYnMoZSksbz1yLnQobnVsbCx7cGx1cmFsOiIlZCBkYXlzIixjb3VudDp0fSxuKDU1MDI2KSkucmVwbGFjZSgiJWQiLFN0cmluZyh0KSk7cmV0dXJuIGU+MT9yLnQobnVsbCx7Y29udGV4dDoidGltZV9yYW5nZSJ9LG4oNDkwNzQwKSkucmVwbGFjZSgiJXMiLG8pOnIudChudWxsLHtjb250ZXh0OiJ0aW1lX3JhbmdlIn0sbig1MDI2OTIpKS5yZXBsYWNlKCIlcyIsbyl9fSwzMDk4MzYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YWRkVXRtVG9Vcmw6KCk9Pm99KTt2YXIgcj1uKDYwMTU4Nyk7ZnVuY3Rpb24gbyhlLHQpe2lmKCEvKFthLXpBLVowLTkuLV0qdHJhZGluZ3ZpZXcuY29tKXxsb2NhbGhvc3QvLnRlc3QoZSkpcmV0dXJuIGU7Y29uc3Qgbj0oMCxyLmJ1aWxkVXRtUXVlcnlTdHJpbmcpKHQpO2lmKCIiPT09bilyZXR1cm4gZTtjb25zdCBvPWUuaW5kZXhPZigiPyIpLGw9ZS5pbmRleE9mKCIjIiksYT0tMSE9PWw7aWYoLTEhPT1vJiYoIWF8fG88bCkpe3JldHVybmAke2Uuc2xpY2UoMCxvKX0/JHthP2Uuc2xpY2UobysxLGwpOmUuc2xpY2UobysxKX0mJHtufSR7YT9lLnNsaWNlKGwpOiIifWB9aWYoYSl7cmV0dXJuYCR7ZS5zbGljZSgwLGwpfT8ke259JHtlLnNsaWNlKGwpfWB9cmV0dXJuYCR7ZX0/JHtufWB9fSw2MDE1ODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YnVpbGRVdG1RdWVyeVN0cmluZzooKT0+cyxidWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtczooKT0+aSxmaWx0ZXJVdG1JbmZvOigpPT5hfSk7dmFyIHI9big0OTI2NzcpLG89big2NDE1OTMpO2NvbnN0IGw9WyJ1dG1fc291cmNlIiwidXRtX21lZGl1bSIsInV0bV9jYW1wYWlnbiJdO2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD17fTtyZXR1cm4gbC5mb3JFYWNoKChuPT57Y29uc3Qgcj1lW25dOyJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yJiYodFtuXT0oMCxvLmh0bWxFc2NhcGUpKHIpKX0pKSx0fWZ1bmN0aW9uIHMoZSx0PSExKXtjb25zdCBuPSgwLHIuY3JlYXRlVXJsUGFyYW1zKShlKTtyZXR1cm4gbiYmdD8iPyIrbjpufWZ1bmN0aW9uIGkoZSl7cmV0dXJuIHMoYSgoMCxyLmdldFVybFBhcmFtcykoKSksZSl9fSwxNjM1NzYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuOTIgMTAuMTcgOSA1LjcxbDUuMDggNC40Ni0xIDEuMTNMOSA3LjcxIDQuOTEgMTEuM2wtLjk5LTEuMTNaIi8+PC9zdmc+J30sMTg2Mzg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMy4zNSA1LjM1YS41LjUgMCAwIDAtLjctLjdMOSA4LjI5IDUuMzUgNC42NWEuNS41IDAgMSAwLS43LjdMOC4yOSA5bC0zLjY0IDMuNjVhLjUuNSAwIDAgMCAuNy43TDkgOS43MWwzLjY1IDMuNjRhLjUuNSAwIDAgMCAuNy0uN0w5LjcxIDlsMy42NC0zLjY1eiIvPjwvc3ZnPid9LDU3NjQ5MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTAtOS4wNEw2LjA0IDUgNSA2LjA0IDcuOTYgOSA1IDExLjk2IDYuMDQgMTMgOSAxMC4wNCAxMS45NiAxMyAxMyAxMS45NiAxMC4wNCA5IDEzIDYuMDQgMTEuOTYgNSA5IDcuOTZaIi8+PC9zdmc+J30sNTI2NzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEyLjE4MiA0YTguMTggOC4xOCAwIDAgMSA2LjI5IDEzLjQxMmw1LjUyNiA1LjUyNS0xLjA2IDEuMDYtNS41MjctNS41MjVBOC4xODIgOC4xODIgMCAxIDEgMTIuMTgxIDRtMCAxLjVhNi42ODEgNi42ODEgMCAxIDAgMCAxMy4zNjMgNi42ODEgNi42ODEgMCAwIDAgMC0xMy4zNjMiLz48L3N2Zz4nfSwxNzg0MDcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDExLjVWMTRIM3YtMi41em0tMi4yNS0zLjc1TDE1IDZ2NEgzVjZsMi4yNSAxLjc1TDkgNHoiLz48L3N2Zz4nfSw5MTUwOTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjIiIGQ9Im0xLjUgMS41IDExIDExbTAtMTEtMTEgMTEiIHZlY3Rvci1lZmZlY3Q9Im5vbi1zY2FsaW5nLXN0cm9rZSIvPjwvc3ZnPid9LDU5NDIzMChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMi45MiAxLjkyIDUuODUgOWw3LjA3IDcuMDgtLjg0Ljg0LTcuNS03LjVMNC4xNSA5bC40My0uNDIgNy41LTcuNXoiLz48L3N2Zz4nfSwxNDAzNDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAxMC4wNyAxMS40MyAyMWgxLjE0TDIzIDEwLjA3bC01LjIyLTUuODMtLjU2LS4yNEg2Ljc4bC0uNTYuMjRMMSAxMC4wN1ptMTAuOTYgOC41OC4wNC4wNSA4LjI4LTguNjdMMTYuNjggNmgtNC43MnYxMi42NVoiLz48L3N2Zz4nfSw0MjEwNjcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDJhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMS44IDEuOTlMMTUgMTZINWwtLjItLjAxQTIgMiAwIDAgMSAzIDE0LjJMMyAxNGgxYTEgMSAwIDAgMCAxIDFoMTBhMSAxIDAgMCAwIDEtMVY0YTEgMSAwIDAgMC0xLTFINWExIDEgMCAwIDAtMSAxSDNjMC0xLjEuOS0yIDItMnptLTcgOWgxdjFIOHYxSDd2LTFINnYtMWgxdi0xaDF6bTYgMmgtM3YtMWgzek00LjQyIDlsLTIuNjggMy0uNzQtLjY2TDMuMDggOSAxIDYuNjZsLjc1LS42N3pNMTQgMTFoLTN2LTFoM3ptLTEuNS01LjIuOC0uOC43LjctLjguOC44LjgtLjcuNy0uOC0uNzktLjguNzktLjctLjcuNzktLjgtLjc5LS44LjctLjd6TTkgN0g2VjZoM3oiLz48L3N2Zz4nfSw4MzQzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0xLjggMS45OUwxNSAxNkg1bC0uMi0uMDFBMiAyIDAgMCAxIDMgMTQuMkwzIDE0aDFhMSAxIDAgMCAwIDEgMWgxMGExIDEgMCAwIDAgMS0xVjRhMSAxIDAgMCAwLTEtMUg1YTEgMSAwIDAgMC0xIDFIM2MwLTEuMS45LTIgMi0yem0tNyA5aDF2MUg4djFIN3YtMUg2di0xaDF2LTFoMXptNiAyaC0zdi0xaDN6TTQuMjcgNi42NCAyLjMgOWwxLjk3IDIuMzYtLjc3LjY0TDEgOWwyLjUtM3pNMTQgMTFoLTN2LTFoM3ptLTEuNS01LjIuOC0uOC43LjctLjguOC44LjgtLjcuNy0uOC0uNzktLjguNzktLjctLjcuNzktLjgtLjc5LS44LjctLjd6TTkgN0g2VjZoM3oiLz48L3N2Zz4nfSw4MDk0NDQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEzIDEzIiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMi41IDYuNWg5Ii8+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSI3IiBjeT0iMyIgcj0iMSIvPjxjaXJjbGUgZmlsbD0iY3VycmVudENvbG9yIiBjeD0iNyIgY3k9IjEwIiByPSIxIi8+PC9zdmc+J30sOTg5ODk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMyIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMy41IDEwVjIuNUwxIDUiLz48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMS41IDEwLjVoNCIvPjxwYXRoIGQ9Ik04IDEybDMtMTEiLz48L2c+PC9zdmc+J30sNzQ5Njk3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMyIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTIuNSA2LjVoOCIvPjwvc3ZnPid9LDE1NzY4MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTMgMTMiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0zIDEwbDctN00zIDNsNyA3Ii8+PC9zdmc+J30sOTg3NjgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMyIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTIuNSA2LjVoOG0tNC00djgiLz48L3N2Zz4nfSwzMDMyMzgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEzIDEzIiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMyA3bDMuNS0zLjVMMTAgNyIvPjwvc3ZnPid9LDkyMTcwOChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMi41IDE0LjVjMS42OC0xLjI2IDMuNy0yIDYuNS0yczQuOTEuNzQgNi41IDJtLTEzLTExYzEuNjggMS4yNiAzLjcgMiA2LjUgMnM0LjkxLS43NCA2LjUtMiIvPjxjaXJjbGUgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGN4PSI5IiBjeT0iOSIgcj0iOC41Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMy41IDljMCAyLjQyLS41NSA0LjU4LTEuNCA2LjEyLS44NyAxLjU2LTEuOTggMi4zOC0zLjEgMi4zOHMtMi4yMy0uODItMy4xLTIuMzhjLS44NS0xLjU0LTEuNC0zLjctMS40LTYuMTJzLjU1LTQuNTggMS40LTYuMTJDNi43NyAxLjMyIDcuODguNSA5IC41czIuMjMuODIgMy4xIDIuMzhjLjg1IDEuNTQgMS40IDMuNyAxLjQgNi4xMnoiLz48L3N2Zz4nfSwxNDA4OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyMCAxMjAiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIj48cGF0aCBmaWxsPSIjQjJCNUJFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMyAzOWEzNiAzNiAwIDAgMSA3MiAwdjEzLjE1bDE1LjEgOC40NCAyLjE2IDEuMi0xLjY0IDEuODYtMTIuODUgMTQuNTkgMy43MyA0LjAzTDk4LjU3IDg1IDk1IDgxLjEzVjExN0g3N3YtMTJINjd2OUg1MFY5NUg0MHYyMkgyM1Y4MS4yOGwtMy44IDMuNjEtMi43Ni0yLjkgNC4wNS0zLjg0LTEyLjc3LTE0LjUtMS42NC0xLjg2IDIuMTYtMS4yTDIzIDUyLjM0VjM5Wm03MiAzNi4zMyAxMC45OC0xMi40Nkw5NSA1Ni43M3YxOC42Wk0yMyA1Ni45MnYxOC4wM0wxMi4zNSA2Mi44NyAyMyA1Ni45MlpNNTkgN2EzMiAzMiAwIDAgMC0zMiAzMnY3NGg5VjkxaDE4djE5aDl2LTloMTh2MTJoMTBWMzlBMzIgMzIgMCAwIDAgNTkgN1ptLTcgMzZhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwWm0xOSAzYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNloiLz48L3N2Zz4nfSw0ODc3NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyMCAxMjAiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIj48cGF0aCBmaWxsPSIjMTMxNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMyAzOWEzNiAzNiAwIDAgMSA3MiAwdjEzLjE1bDE1LjEgOC40NCAyLjE2IDEuMi0xLjY0IDEuODYtMTIuODUgMTQuNTkgMy43MyA0LjAzTDk4LjU3IDg1IDk1IDgxLjEzVjExN0g3N3YtMTJINjd2OUg1MFY5NUg0MHYyMkgyM1Y4MS4yOGwtMy44IDMuNjEtMi43Ni0yLjkgNC4wNS0zLjg0LTEyLjc3LTE0LjUtMS42NC0xLjg2IDIuMTYtMS4yTDIzIDUyLjM0VjM5Wm03MiAzNi4zMyAxMC45OC0xMi40Nkw5NSA1Ni43M3YxOC42Wk0yMyA1Ni45MnYxOC4wM0wxMi4zNSA2Mi44NyAyMyA1Ni45MlpNNTkgN2EzMiAzMiAwIDAgMC0zMiAzMnY3NGg5VjkxaDE4djE5aDl2LTloMTh2MTJoMTBWMzlBMzIgMzIgMCAwIDAgNTkgN1ptLTcgMzZhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwWm0xOSAzYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNloiLz48L3N2Zz4nfSwzMTIxNDcoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCI+PHBhdGggZD0iTTYwLjkgNi42OGM2LjMuMjggMTEuNjQgMy42NyAxNC4xNyA4LjQ1IDEwLjgzIDIuNzUgMTguMjYgOC4zOSAxOC4yNiAxNC44OXYuNDNjLS4yNiA0Ljg4LTQuNzEgOS4yMy0xMS42MyAxMi4ybDMzLjMgNzAuNjhoLTMuNjdsLTMyLjc4LTY5LjVBNjAgNjAgMCAwIDEgNjAgNDYuNjdhNTggNTggMCAwIDEtMTkuOTMtMy4zbC0zMS40IDY5Ljk2SDVsMzItNzEuMjZjLTYuMTctMi45NC0xMC4wNy03LjA1LTEwLjMtMTEuNjJsLS4wMy0uNDVjMC02LjUgNy40My0xMi4xMyAxOC4yOC0xNC44OCAyLjY3LTUgOC40My04LjQ3IDE1LjEtOC40N1ptNy42IDQ5Ljk5Yy40NiAwIDEgMi4wNi45MiA0LjE2IDEuOC0uMjMgMy42My4yOCA1LjA0IDEuNDJsLjkuNy44Ny4wN2E1LjkgNS45IDAgMCAxIDUuNDQgNS44OHYuNDJhNS44IDUuOCAwIDAgMS0zLjU3IDUuMDFsLTMuNCAxLjQ0di4wNmEzMCAzMCAwIDAgMS0zLjE2IDEwLjk0bDMuMDYgOS04LjkzIDQuMjMtNS40Ni02LjQ2LTQuMTMgMi4xcS0uMzQgMS40Ni0uODggMi44NGwxLjQ3IDUuMy05LjYgNC41NUwzNC45NSA4Ni4zYTMuMzQgMy4zNCAwIDAgMC0xLjA1IDQuMDJsMy43IDguMzMtMy4wNSAxLjM1LTMuNy04LjMzYTYuNjcgNi42NyAwIDAgMSAyLjk4LTguNiAzLjEgMy4xIDAgMCAxIDEuNzQtMi40NGwyMy42Ni0xMS4zLTIuNTYtNS4wNCA2LS43NWExMi43IDEyLjcgMCAwIDAgNS40OC02LjM0cS4xNS0uNTUuMzUtLjUzbTMuODggOC4xOGEzLjMgMy4zIDAgMCAwLTMuODEtLjI1bC0yLjk1IDEuNzgtLjMuMTctLjM0LjA1LTMuMi40IDEuMTcgMi4zMy43OCAxLjU0LTEuNTMuNzMtMjQuOTcgMTEuOTQgMTEuMjMgMjAuNDggNC4yNS0yLjA0LTEuMDQtMy42Ni4zNy0uODljLjg1LTIuMTUgMS4zLTQuNDUgMS4zLTYuNzZ2LTRoMy4zM3Y0bC0uMDIuOTUgNC40Mi0yLjI1IDUuNSA2LjUxIDMuOTEtMS44Ni0yLjU2LTcuNTQuNDEtLjhhMjcgMjcgMCAwIDAgMy4wNS0xMC4xNmwuMS0xLjA2LjA5LTEgLjkxLS4zOCA0LjMyLTEuODFhMi41NiAyLjU2IDAgMCAwLS44Mi00LjkybC0xLjQtLjEyLS41LS4wMy0uNDEtLjMzWm0tMjguOC00NS44OWE0MCA0MCAwIDAgMC01LjY2IDIuMjRDMzIuMjUgMjQuMDQgMzAgMjcuMzcgMzAgMzAuMDJzMi4yNSA1Ljk2IDcuOTIgOC44QzQzLjQgNDEuNTUgNTEuMiA0My4zMyA2MCA0My4zM3MxNi42LTEuNzggMjIuMDgtNC41MUM4Ny43NSAzNS45OCA5MCAzMi42NyA5MCAzMHMtMi4yNS01Ljk2LTcuOTItOC44MmEzNyAzNyAwIDAgMC01LjY2LTIuMjJxLjI1IDEuMjMuMjUgMi41YzAgMy41NC00LjQgOC41NC0xNi42MiA4LjU0LTUtLjA3LTE2LjcyLTEuMzctMTYuNzItOC41cTAtMS4zLjI1LTIuNTRNNjAgMzVhMS42NyAxLjY3IDAgMSAxIDAgMy4zM0ExLjY3IDEuNjcgMCAwIDEgNjAgMzVtLTIxLjY3LTYuNjdhMS42NyAxLjY3IDAgMSAxIDAgMy4zNCAxLjY3IDEuNjcgMCAwIDEgMC0zLjM0bTQzLjM0IDBhMS42NyAxLjY3IDAgMSAxIDAgMy4zMyAxLjY3IDEuNjcgMCAwIDEgMC0zLjMzTTYwLjA1IDEwYy03Ljc4IDAtMTMuMzggNS41LTEzLjM4IDExLjUgMCAuMy4zMyAxLjU0IDIuNjYgMi44NyAyLjIgMS4yNiA1Ljc3IDIuMyAxMC43MiAyLjMgNS42OCAwIDkuMTYtMS4xNyAxMS4wOC0yLjQyIDEuOTUtMS4yNSAyLjItMi40MiAyLjItMi43NSAwLTYtNS41My0xMS41LTEzLjI4LTExLjUiIHN0eWxlPSJmaWxsOiNkYmRiZGIiLz48L3N2Zz4nfSwzNjU0NihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyMCAxMjAiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik02MC4wNSA4YzcuMTIgMCAxMy4xNyAzLjU5IDE1LjcgOC42OEM4Ni4wMiAxOS4zMiA5MyAyNC40OCA5MyAzMC40YzAgNC43My00LjQ0IDguOTYtMTEuNDYgMTEuODFMMTE2IDExMmgtNC40NEw3Ny43NSA0My41NkE2MiA2MiAwIDAgMSA2MCA0NmE2MSA2MSAwIDAgMS0xOS4xNi0yLjlMOS40IDExMkg1bDMyLjExLTcwLjM2QzMwLjg4IDM4LjgxIDI3IDM0LjgzIDI3IDMwLjQxYzAtNS45MyA2Ljk4LTExLjEgMTcuMjctMTMuNzRDNDYuODIgMTEuNTggNTIuOTIgOCA2MC4wNSA4bTcuODMgNDljLjQ0IDAgLjk3IDIuMDUuODggNC4xMnEuNTEtLjExIDEuMDItLjEyYy45NyAwIDEuOTQuMzIgMi43Ny44OWwxLjEyLjc2IDMuMzQuOTZhNS41MiA1LjUyIDAgMCAxIC43NiAxMC4zMmwtMy4xNCAxLjQ0LS4xOCAyLjAxYTE5IDE5IDAgMCAxLTIuMTcgNy4yNGwtLjcgMS4yOSAyLjQ4IDcuNTMuNTYgMS42OC03LjMyIDMuNDQtLjk4LTEuMjQtNC4zNS01LjQ3LTggMy43NmExNCAxNCAwIDAgMS0uNzIgMS41bC0uMTguMzMgMS45MyA2Ljk4LTcuOCAzLjU4LTExLjcyLTIxLjg4YTUuMSA1LjEgMCAwIDAtLjk0IDUuNzJsMy4wNiA2LjUtMy42MiAxLjY2LTMuMDYtNi40NkE5LjEgOS4xIDAgMCAxIDM0LjEgODIuMWEzLjQgMy40IDAgMCAxIDEuOS0yLjU0bDIzLjItMTAuODktMi4yLTQuODhjMi4xLS4zIDQuMjEtLjYgNi4zNC0uNzZhMTMgMTMgMCAwIDAgNC4yLTUuNXEuMTUtLjUzLjM0LS41Mm0yLjQyIDguMmExIDEgMCAwIDAtMS4wNi0uMDVsLTIuNjMgMS41LS40Ni4yN2gtLjU0Yy0uNzcgMC0xLjc4LjA2LTIuNzQuMTVsMS42NSAzLjUxTDM4LjMgODIuOWwxMC42NSAxOS44NiAxLjItLjU3TDQ5IDk3LjY1bC0uMTktLjc3LjM4LS42OS41Ni0xLjAyQTEwIDEwIDAgMCAwIDUxIDkwLjM0Vjg2aDR2NC43MUw2My4xMyA4N2wuOTkgMS4xMiA0LjM1IDUuNDcgMS4yNC0uNTgtMi4xOS02LjY3LS4yNy0uODEuNC0uNzYgMS4xLTIuMDRhMTUgMTUgMCAwIDAgMS43MS01LjcxbC4zLTMuMTcuMS0xLjE1IDEuMDYtLjQ5IDQuMTktMS45MWExLjUyIDEuNTIgMCAwIDAtLjIxLTIuODRsLTMuNjUtMS4wNi0uMy0uMDktLjI3LS4xOHpNNDMuMDMgMjEuMTdxLTIuNTUuOC00LjY1IDEuOEMzMi43NCAyNS42NCAzMSAyOC41NCAzMSAzMC40YzAgMS44NiAxLjc0IDQuNzUgNy4zNyA3LjQxQzQzLjcgNDAuMzQgNTEuMzQgNDIgNjAgNDJzMTYuMy0xLjY2IDIxLjYzLTQuMThjNS42My0yLjY2IDcuMzctNS41NSA3LjM3LTcuNDFzLTEuNzQtNC43Ny03LjM4LTcuNDNhMzYgMzYgMCAwIDAtNC42NS0xLjhxLjAzLjQuMDMuOGwtLjAxLjNDNzYuNyAyNS41NyA3Mi4xMiAzMCA2MC4wNSAzMCA0OS4yNSAzMCA0My4yIDI1LjkgNDMgMjIuMTV2LS4xOHEwLS40LjAzLS43OU02MCAzNGEyIDIgMCAxIDEgMCA0IDIgMiAwIDAgMSAwLTRtLTIyLTZhMiAyIDAgMSAxIDAgNCAyIDIgMCAwIDEgMC00bTQ0IDBhMiAyIDAgMSAxIDAgNCAyIDIgMCAwIDEgMC00TTYwLjA1IDEyYy03Ljk2IDAtMTMgNS4xMy0xMy4wNSA5LjkyIDAtLjA1LjE2LjgzIDIuMjkgMS45NUM1MS40NiAyNS4wNCA1NS4wNCAyNiA2MC4wNSAyNmM1Ljc4IDAgOS4yNC0xLjEgMTEuMS0yLjIxIDEuNjctMSAxLjgzLTEuOCAxLjg1LTEuODVsLS4wMS0uNDJjLS4zLTQuNjktNS4yNC05LjUyLTEyLjk0LTkuNTIiLz48L3N2Zz4nfSw3NzgyNzUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTguNSAxMi41YTYgNiAwIDEgMS0xMiAwIDYgNiAwIDAgMSAxMiAwWm0tMS4yNSA1LjhhNy41IDcuNSAwIDEgMSAxLjA2LTEuMDZsNC4yMiA0LjIzLjUzLjUzTDIyIDIzLjA2bC0uNTMtLjUzLTQuMjItNC4yMloiLz48L3N2Zz4nfSw5MjAwMyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNy40IDE3LjVhNyA3IDAgMSAwLTQuOSAyYzEuOSAwIDMuNjQtLjc2IDQuOS0yem0wIDBsNS4xIDUiLz48L3N2Zz4nfSw3MTcxNDEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9bi5wKyJtb2NrLWRhcmsuMTZiNWYzYTQzMWY1MDJiMDNhZTMuc3ZnIn0sNDU4MDU5KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4ucCsibW9jay1saWdodC5kMjAxMzEzMDE3ZWIyYzFiOTg5Zi5zdmcifX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCCRO.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.451Z","timestamp":1785136905451,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCCRO.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSTABLE3.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.486Z","timestamp":1785136905486,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSTABLE3.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCGGRA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.600Z","timestamp":1785136905600,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCGGRA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/img/clients-logo-02.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.546Z","timestamp":1785136899546,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/clients-logo-02.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/png\r\nContent-Length: 8237\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":8237,"size_decoded":8447,"mime_type":"image/png","magic":"PNG image data, 280 x 100, 8-bit/color RGBA, non-interlaced","md5":"ff8a7e046de6fb8214ea806877d5fa20","sha1":"9a535c90610e914d9b9e03bb0100a3baf73d11d6","sha256":"3c5ab3b5541dd343303fa3325a3ace75cad5ca9434153a3fe4a2d364190a6f1f","sha512":"f4edb52484ddc481afe097658ee5a5c9a7c2edf75b0c7fbb539622d00ece16ee6b29a1fdd87dd405e82a8c2d281ec4d58cdc45c46b2f0bf2b786eda955f933b8","ssdeep":"192:wlHKsRiuMNz2ZeiwF4bHAZuYw3OFAhmz12th:wnRil28j4bAZuYw3nhmx6","tlshash":"74029d4dfd4049036b00c37d06c6d72b69d388d8dbe7a672a7c38459d7902bda0463d6","first_seen":"2023-06-17T17:20:02Z","last_seen":"2026-08-01T11:22:31.010477Z","times_seen":241,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAARgAAABkCAYAAABdGS+CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJDMkY3ODU3MTEyMTExRUE5MEU5OUYyQUM2ODc0RUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJDMkY3ODU4MTEyMTExRUE5MEU5OUYyQUM2ODc0RUM4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkMyRjc4NTUxMTIxMTFFQTkwRTk5RjJBQzY4NzRFQzgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkMyRjc4NTYxMTIxMTFFQTkwRTk5RjJBQzY4NzRFQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7WmZ+eAAAcnUlEQVR42uxd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"}},"time_used":957,"timings":{"blocked":865,"dns":0,"connect":0,"send":0,"wait":92,"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":"huobiget.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/42301.2252d1cccb40351bd581.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.479Z","timestamp":1785136901479,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42301.2252d1cccb40351bd581.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 52\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a4360b8-34\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 77e5966b8732e2adcc0c57439b1d3f97\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":52,"size_decoded":836,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"a3f3974eb6489645604008e5c8dc9aec","sha1":"dda40c4a2b2001c0b04b64912fad682f3ad9f45a","sha256":"cc74f1cf1790e71081bd39cd986428e140164c232ebd1b0353c8da71bc484a7e","sha512":"96d6ddc62f46e0fd2299c1f3a56f7180b9d38b078a3da6cddecf77f35fd60664b3990e79485d964bfa98c68b2ee7c1619a826a84c2f582470ec3b21b4cf84963","ssdeep":"","tlshash":"d190023406a0a4a0985beed52560c88490eca01989a26e4e43fc76a525b28c4192a59d","first_seen":"2026-06-30T21:57:43.390072Z","last_seen":"2026-07-28T06:17:53.607588Z","times_seen":228,"resource_available":false,"data":"LnNwaW5uZXJXcmFwLVpadHVGSVBwe2hlaWdodDo2OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55336.faa77164a5636d826475.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.874Z","timestamp":1785136901874,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55336.faa77164a5636d826475.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-8a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 76f3419006488a5cca036eee4e12d473\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":138,"size_decoded":889,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"0544a458ada451b97e30c69ee63c6f81","sha1":"a6e623567e1609a80edc508f1d47db9800a14af0","sha256":"530451344ff3515d2f243dc1cd99982591d52f0fc236ceb85250915a3da2b23f","sha512":"c7030783cfc707898043c42dc44e5fc708725b674e2e74c8a55f57b261bdc297dc6134710476f7d1c3f652681b04ccdc97e0f7e5ca7991363fefa55243a7b98f","ssdeep":"","tlshash":"edc02b370b02be1d8f30d9b0bf347b18c0c0d0a2c583904e80052b2f80cd28a08b1788","first_seen":"2026-07-19T21:33:33.9239Z","last_seen":"2026-08-10T05:00:33.773543Z","times_seen":112,"resource_available":false,"data":"LndyYXAtUG9YYWNEcFh7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6MnB4O3dpZHRoOjI4cHh9"}},"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.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.691Z","timestamp":1785136899691,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 411055\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":20284,"size_decoded":4819,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-08-10T08:43:28.982734Z","times_seen":19833,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":63,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":16,"receive":0,"ssl":29},"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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.976Z","timestamp":1785136900976,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 8c9293bf7cfb0ff6bd99d7739cf3ff4c\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2619,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-08-10T08:00:01.054563Z","times_seen":5279,"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/86997.d9a1b2aca00a6209fe61.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.493Z","timestamp":1785136901493,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86997.d9a1b2aca00a6209fe61.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-229\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f9850aec10310c3ae63ee948be0249f6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":553,"size_decoded":1085,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (553), with no line terminators","md5":"01a397ca6f9acffa389686fa8bb86be4","sha1":"06e6067f865293a83c510abc69e253c0868ca272","sha256":"cc0cb71fac3c2d852959883310750bfd8f5e3e8dcbcaab5d009c7ceaccf4f797","sha512":"b8c0bbfc3ea33cd0b2df4863ebbb4821e38a79be23bac72cf4442617ad69ba3c40c5d945c1504b74a56b3f05f88e8843c8b3f4a98be88430e925fa8b2b25e2fe","ssdeep":"","tlshash":"e7f04608a314687bf99f01b79f8136457800ca2fe44385aeee005e75d0c86d32394b96","first_seen":"2026-07-17T14:15:58.498815Z","last_seen":"2026-07-28T06:17:53.451679Z","times_seen":123,"resource_available":false,"data":"Lml0ZW0tZlNhVF9ERU17YWxpZ24taXRlbXM6ZmxleC1zdGFydDtmb250LXNpemU6MTZweDtwYWRkaW5nLWlubGluZS1lbmQ6MjBweDt3aGl0ZS1zcGFjZTpub3JtYWx9LmxhYmVsLWZTYVRfREVNe2xpbmUtaGVpZ2h0OjI0cHg7b3ZlcmZsb3c6dmlzaWJsZX0ubGFiZWxSb3ctZlNhVF9ERU17bWFyZ2luLWJvdHRvbToycHg7bWFyZ2luLXRvcDoycHh9LnRvb2xib3gtZlNhVF9ERU17bWFyZ2luLXRvcDozcHh9LmJhZGdlTmV3LWFfU2FnWlFBey0tdWktbGliLWJhZGdlLWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS53cmFwcGVyLUphN0lHRE9ne3BhZGRpbmc6MTBweCAyMHB4fS5sYWJlbFJvdy1KYTdJR0RPZ3tsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmc6MH0ubGFiZWwtSmE3SUdET2d7Zm9udC1zaXplOjE2cHh9LmxhYmVsSGludC1KYTdJR0RPZ3tsaW5lLWhlaWdodDoxN3B4fS5sYWJlbE9uLUphN0lHRE9nKy5sYWJlbEhpbnQtSmE3SUdET2d7bWFyZ2luLXRvcDowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80041.ff2e3df963d58c1771f5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.887Z","timestamp":1785136901887,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80041.ff2e3df963d58c1771f5.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a476ed7-f2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:54:54\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 763cba33cc11223744456c7e3a364e9c\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":242,"size_decoded":911,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"0debe78b8515cd9552f555755ca4765a","sha1":"f0e49e0f11bef9dacbb2b363e83869a3d411bfca","sha256":"bec333c559918a8efa7275890ccafed19705d322978b1c641d89b13d03fc97dd","sha512":"d939aa5f7bf5c021dadb5dda0bcd5744e5e73e8c9099a9081209787978ca5127b90a9c91ac0751ce33d935344733b72071d818091a1fbc9a4ee41fb2f5039880","ssdeep":"","tlshash":"3cd05e8bfb412bbda829019805a0236b5f38aca9b2224f0c7541976186c68f31814881","first_seen":"2026-07-04T06:34:19.697277Z","last_seen":"2026-07-28T04:48:50.546897Z","times_seen":91,"resource_available":false,"data":"LmNvbnRhaW5lci1haTkzREpWd3tib3R0b206MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxNXB4fS5jb250YWluZXItYWk5M0RKVncgLnZpc2libGUtYWk5M0RKVnd7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uY29udGFpbmVyLWFpOTNESlZ3IC5mb3JjZVZpc2libGUtYWk5M0RKVnd7ZGlzcGxheTpmbGV4IWltcG9ydGFudDtwb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94232.ab6731b698a8c2854a90.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.939Z","timestamp":1785136900939,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94232.ab6731b698a8c2854a90.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-740\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2ac5ac9d4b550b291c69f76a68bdb8f0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1856,"size_decoded":1343,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1856), with no line terminators","md5":"99c169cccd9c810bfd0d3e50e053d9dd","sha1":"f7c962c5226ce8518e23fcd82bbd02e44b3cd8ba","sha256":"ba11ca3b195a5ed5130a9fdfe05087f5b075dbec6ddff0fbc0ee82ef8a378a37","sha512":"02bba56d2baac91f2618fc15e25d5eb7e986a57c956cd280f3ff695e4d215d29c10a2730d07a71b393c7da7e62a644bc9d417c3aef3b60af475b9f6330a25d50","ssdeep":"","tlshash":"0331f104a050d9f5e212d7788e5dbb7820d13b22ca613da7fe53de0ed086be5e122f24","first_seen":"2026-07-16T20:48:56.389736Z","last_seen":"2026-08-10T05:01:44.095694Z","times_seen":632,"resource_available":false,"data":"LmxvYWRlci1NZ2Y4RUZ3S3tib3R0b206MDtmb250LXNpemU6MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjAgYXV0bztvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZTt3aGl0ZS1zcGFjZTpub3dyYXB9LmxvYWRlci1NZ2Y4RUZ3Sy5zdGF0aWMtTWdmOEVGd0t7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpzdGF0aWN9LmxvYWRlci1NZ2Y4RUZ3SzphZnRlcntjb250ZW50OiIgIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3S3tib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3BhY2l0eToxO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDpjdXJyZW50Q29sb3I7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItbG9hZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdCkpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOmZpcnN0LWNoaWxke2FuaW1hdGlvbjp0di1idXR0b24tbG9hZGVyLU1nZjhFRndLIDFzIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouMXN9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3SzpudGgtY2hpbGQoMil7YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0sgMXMgaW5maW5pdGU7YW5pbWF0aW9uLWRlbGF5Oi4zc30ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOm50aC1jaGlsZCgzKXthbmltYXRpb246dHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyAxcyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouNDVzfX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLC5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLe2hlaWdodDo2cHg7d2lkdGg6NnB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLOm5vdCg6bGFzdC1jaGlsZCksLmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Szpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnNtYWxsLU1nZjhFRndLe2hlaWdodDo0cHg7d2lkdGg6NHB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suc21hbGwtTWdmOEVGd0s6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDozcHh9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Sy5ibGFjay1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0sud2hpdGUtTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suZ3JheS1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnByaW1hcnktTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX1Aa2V5ZnJhbWVzIHR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0t7MCUsdG97b3BhY2l0eToxfTYwJXtvcGFjaXR5Oi40fTMwJXtvcGFjaXR5Oi4yfX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.52882.2898e638a68180ed6df4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.221Z","timestamp":1785136901221,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.52882.2898e638a68180ed6df4.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a02f0b2-747\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 12 May 2026 09:19:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.52\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/12/2026 10:19:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3ff46325452b35e616c5c1d6af1c9922\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1863,"size_decoded":1689,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (1863), with no line terminators","md5":"b54a95821effe8d59779b9fc14228d18","sha1":"d2cbd7229e17a9b12d18689129ee09b6de60c175","sha256":"53c37f95be948df4fe80d94d0776fd26af6bf0f13d683652b1b74990e6326179","sha512":"6d4050b13aa9f106f683468ed7c071d0c67770f818a35c0245fc7121b9e6e2f75868f44a9b53f7bb110810e921f039ad158392dc1e157e8972db02bb87797d39","ssdeep":"","tlshash":"1c31ec5be30095ea2f22d646374dddc03af431a111f7d0c937860e689267d85d05dbbc","first_seen":"2026-05-05T12:17:23.709286Z","last_seen":"2026-08-10T05:01:09.63399Z","times_seen":687,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1Mjg4Ml0sezYzNTkyMyhlKXtlLmV4cG9ydHM9WyJBY2NvdW50IGlzIGZyb3plbiJdfSw5NzU4MChlKXtlLmV4cG9ydHM9WyJDaGFuZ2Ugc3ltYm9sIl19LDQ4NzIwMShlKXtlLmV4cG9ydHM9WyJFcnJvciJdfSw1MjMyNzkoZSl7ZS5leHBvcnRzPVsiSG9saWRheSBhbGVydCwgdHJhZGVycyJdfSwxOTgwKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgaGVyZSJdfSw4MjQzNDAoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIHRvIHtyZXNvbHV0aW9ufSBpbnRlcnZhbCJdfSwxMzc4MDAoZSl7ZS5leHBvcnRzPVsiUHJpY2UgY2hhcnQgaXMgb24gaXRzIHdheSJdfSw3MzA3NihlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBkb2Vzbid0IGV4aXN0Il19LDQwMzY3MihlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBoYXMganVzdCBsaXN0ZWQuIFN0YXkgdHVuZWQsIGl0cyBkYXRhIHdpbGwgYXBwZWFyIGhlcmUgc29vbi4iXX0sODI0MDI3KGUpe2UuZXhwb3J0cz1bIkxlYXJuIG1vcmUiXX0sOTY5MDkoZSl7ZS5leHBvcnRzPVsiSG9wZSwgaXQnbGwgYXBwZWFyIG9uIHRoZSBjaGFydCBzb29uLiJdfSw3Nzg0NDgoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWwgaXMgbm90IHN1cHBvcnRlZCJdfSw1NDE1NzAoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWxzIGxlc3MgdGhhbiB7cmVzb2x1dGlvbn0gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgc3ltYm9sLiBQbGVhc2UgY2hhbmdlIHRoZSBpbnRlcnZhbCB0byBhbnkgYXZhaWxhYmxlIG9uZS4iXX0sODYwMzg5KGUpe2UuZXhwb3J0cz1bIk9ubHkge2ludGVydmFsc30gaW50ZXJ2YWxzIGFyZSBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sIl19LDM3MTc3OShlKXtlLmV4cG9ydHM9WyJPdXIgc2Nhbm5lcnMgcGlja2VkIHVwIGFuIFVuaWRlbnRpZmllZCBGZXN0aXZlIE9iamVjdCBob3ZlcmluZyBvdmVyIHlvdXIgY2hhcnQuIFByb2NlZWQgd2l0aCBjaGVlci4iXX0sODMwMzg1KGUpe2UuZXhwb3J0cz1bIlN3aXRjaCB0byBhIHtyZXNvbHV0aW9ufSJdfSwyNTU3NjMoZSl7ZS5leHBvcnRzPVsiUGljayBhbm90aGVyIHR5cGUgb2YgaW50ZXJ2YWwgZm9yIHlvdXIgYW5hbHlzaXMuIl19LDQ2NTMxMyhlKXtlLmV4cG9ydHM9WyJQaWNrIGFub3RoZXIgdGltZSBpbnRlcnZhbCBmb3IgeW91ciBhbmFseXNpcy4iXX0sNTk1NTcwKGUpe2UuZXhwb3J0cz1bIlJlZHVjZSB0aGUgYm94IHNpemUgb3IgY2hhbmdlIHRoZSBtZXRob2QgdXNlZCB0byBzcGVjaWZ5IHRoZSBib3ggc2l6ZSBpbiBTZXR0aW5ncyA+IFN5bWJvbC4iXX0sNjQ2NjAxKGUpe2UuZXhwb3J0cz1bIldlIG5vdGljZWQgc29tZSBzdXNwaWNpb3VzIGFjdGl2aXR5IGZyb20geW91ciBJUCBhZGRyZXNzLCBzbyB3ZSd2ZSBoYWQgdG8gc3VzcGVuZCBpdC4gVG8gcmVzb2x2ZSB0aGlzLCBwbGVhc2Ugc2lnbiBpbnRvIHlvdXIgYWNjb3VudC4iXX0sNTkyMDE0KGUpe2UuZXhwb3J0cz1bIldlJ3ZlIG5vdGljZWQgdW51c3VhbCBhY3Rpdml0eSBvbiB5b3VyIGFjY291bnQgYW5kIGhhdmUgcmVzdHJpY3RlZCBhY2Nlc3MuIl19LDcxNjMwKGUpe2UuZXhwb3J0cz1bIlRoZSBib3ggc2l6ZSBmb3IgdGhlIHN5bWJvbCdzIHByaWNlIGFtcGxpdHVkZSBpcyB0b28gaGlnaCJdfSw1MjkzOTYoZSl7ZS5leHBvcnRzPVsiVGljay1iYXNlZCBpbnRlcnZhbHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sIl19LDI4MzU2MihlKXtlLmV4cG9ydHM9WyJUcnkgcGlja2luZyBhbm90aGVyIG9uZSBmb3IgeW91ciBhbmFseXNpcywgYW5kIHlvdSdsbCBzZWUgdGhlIGRhdGEgaGVyZS4iXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/98084.76948764014ae1d4ccfb.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.845Z","timestamp":1785136901845,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98084.76948764014ae1d4ccfb.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-5bd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c96f92c3e71717ddf6f76365f5dbdf5d\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":1469,"size_decoded":1283,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1469), with no line terminators","md5":"42926374e3993d87871854153a9b3f3d","sha1":"8d35f66931a91c4b7dff7c4fb4582b1171f1c65e","sha256":"7c919d72e24d1abd7eb6597bab8be0b3c12227984b62546c4aea7f45fa74759f","sha512":"0d537ebd2b9b8f6e3dd1ae384bcde8b0b86861c84b0810f3c386fafb4394ba8456cb9e60753f2cf9be2c4c53de6bff8f09de764bd469802d154c9b45b250aa20","ssdeep":"","tlshash":"7e314c4a3354a874bb9318a676b7a5983544c87e6543c9ffcd619f5c95c22bb120c318","first_seen":"2026-07-19T21:33:34.13195Z","last_seen":"2026-08-10T05:00:33.70588Z","times_seen":121,"resource_available":false,"data":"LmNvbnRhaW5lci1ENl9uaE9NRntjdXJzb3I6ZGVmYXVsdDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50aXRsZS1ENl9uaE9NRntkaXNwbGF5OmJsb2NrO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbi1ib3R0b206MTJweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxOHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0udGl0bGUtRDZfbmhPTUYsLnRpdGxlX2xhcmdlLUQ2X25oT01Ge2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS50aXRsZV9sYXJnZS1ENl9uaE9NRntmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI4cHg7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDB9Lmljb24tRDZfbmhPTUZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbToxMnB4fUBtZWRpYSAobWF4LWhlaWdodDo0NDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5pY29uLUQ2X25oT01Ge2Rpc3BsYXk6bm9uZX19LnRleHQtRDZfbmhPTUZ7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LnRleHQtRDZfbmhPTUYsLnRleHRfbm9ybWFsLUQ2X25oT01Ge2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0udGV4dF9ub3JtYWwtRDZfbmhPTUZ7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHh9LmFjdGlvbi1ENl9uaE9NRntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tdG9wOjIwcHg7d2lkdGg6MTAwJX0="}},"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/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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.996Z","timestamp":1785136900996,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/runtime-embed_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 07:21:40 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: 8ccb372c51e7c6a53899b92540ea9efb\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":9160,"size_decoded":5436,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3066)","md5":"6261f54efc700f40121ffb4b8469e97e","sha1":"ce3b28aab3d88f4c8efb56c9421582b8795b170a","sha256":"784267261c93801d2acc456a3fd6bdebee924adb480d41166947dbef83d09720","sha512":"24eac8beb0159520437818ae9b0622b1a35010f7b030d8235bafbe66000eccedec201dadd509607239623d395152fe9e364a0fc0ff255a87f05f763c2bd6ce2b","ssdeep":"192:YLwqLptVvG6uptkfr8lJkNFmn1BnRMC4p2kuVcsFAvaGg:4wqLp/vXunkfr8/kPm1BnRMC4p2kazAO","tlshash":"fe12e9ac354ce53225bb0c525479e462f72c23fb5e0ae0a09367fcf96858ed46633d91","first_seen":"2026-07-24T15:28:44.921696Z","last_seen":"2026-07-28T04:59:54.504706Z","times_seen":845,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLHQscixuPXt9LGE9e307ZnVuY3Rpb24gbChlKXt2YXIgdD1hW2VdO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQuZXhwb3J0czt2YXIgcj1hW2VdPXtleHBvcnRzOnt9fTtyZXR1cm4gbltlXS5jYWxsKHIuZXhwb3J0cyxyLHIuZXhwb3J0cyxsKSxyLmV4cG9ydHN9bC5tPW4sbC5fcGx1cmFsPXthcjooZSx0PTYscj0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K3IsY3M6KGUsdD0zLHI9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K3IscnU6KGUsdD0zLHI9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOityLHJvOihlLHQ9MyxyPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K3IscGw6KGUsdD0zLHI9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorcixwdDooZSx0PTIscj0xIT1lKT0+bnVsbD09ZT8wOityLGRlOihlLHQ9MixyPTEhPWUpPT5udWxsPT1lPzA6K3IsZW46KGUsdD0yLHI9MSE9ZSk9Pm51bGw9PWU/MDorcixlczooZSx0PTIscj0xIT1lKT0+bnVsbD09ZT8wOityLHN2OihlLHQ9MixyPTEhPWUpPT5udWxsPT1lPzA6K3IsaXQ6KGUsdD0yLHI9MSE9ZSk9Pm51bGw9PWU/MDorcix0cjooZSx0PTIscj0xIT1lKT0+bnVsbD09ZT8wOityLGVsOihlLHQ9MixyPTEhPWUpPT5udWxsPT1lPzA6K3IsZnI6KGUsdD0yLHI9ZT4xKT0+bnVsbD09ZT8wOityLGZhOihlLHQ9MSxyPTApPT5udWxsPT1lPzA6K3IsamE6KGUsdD0xLHI9MCk9Pm51bGw9PWU/MDorcixrbzooZSx0PTEscj0wKT0+bnVsbD09ZT8wOityLHRoOihlLHQ9MSxyPTApPT5udWxsPT1lPzA6K3Isdmk6KGUsdD0xLHI9MCk9Pm51bGw9PWU/MDorcix6aDooZSx0PTEscj0wKT0+bnVsbD09ZT8wOityLGhlX0lMOihlLHQ9NCxyPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorcixjYV9FUzooZSx0PTIscj0xIT1lKT0+bnVsbD09ZT8wOityLG5sX05MOihlLHQ9MixyPTEhPWUpPT5udWxsPT1lPzA6K3IsaHVfSFU6KGUsdD0xLHI9MCk9Pm51bGw9PWU/MDorcixpZF9JRDooZSx0PTEscj0wKT0+bnVsbD09ZT8wOityLG1zX01ZOihlLHQ9MSxyPTApPT5udWxsPT1lPzA6K3IsemhfVFc6KGUsdD0xLHI9MCk9Pm51bGw9PWU/MDorcn0sZT1bXSxsLk89KHQscixuLGEpPT57aWYoIXIpe3ZhciBjPTEvMDtmb3IoZj0wO2Y8ZS5sZW5ndGg7ZisrKXtmb3IodmFyW3IsbixhXT1lW2ZdLGk9ITAsbz0wO288ci5sZW5ndGg7bysrKSghMSZhfHxjPj1hKSYmT2JqZWN0LmtleXMobC5PKS5ldmVyeSgoZT0+bC5PW2VdKHJbb10pKSk/ci5zcGxpY2Uoby0tLDEpOihpPSExLGE8YyYmKGM9YSkpO2lmKGkpe2Uuc3BsaWNlKGYtLSwxKTt2YXIgZD1uKCk7dm9pZCAwIT09ZCYmKHQ9ZCl9fXJldHVybiB0fWE9YXx8MDtmb3IodmFyIGY9ZS5sZW5ndGg7Zj4wJiZlW2YtMV1bMl0+YTtmLS0pZVtmXT1lW2YtMV07ZVtmXT1bcixuLGFdfSxsLm49ZT0+e3ZhciB0PWUmJmUuX19lc01vZHVsZT8oKT0+ZS5kZWZhdWx0OigpPT5lO3JldHVybiBsLmQodCx7YTp0fSksdH0sbC5kPShlLHQpPT57Zm9yKHZhciByIGluIHQpbC5vKHQscikmJiFsLm8oZSxyKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSxsLmY9e30sbC5lPWU9PlByb21pc2UuYWxsKE9iamVjdC5rZXlzKGwuZikucmVkdWNlKCgodCxyKT0+KGwuZltyXShlLHQpLHQpKSxbXSkpLGwudT1lPT4yODgzMT09PWU/Il9fTEFOR19fLiIrZSsiLmY5ZTczNTZmZjkxZjgzN2Y0N2M3LmpzIjoyMzU2Nz09PWU/Il9fTEFOR19fLiIrZSsiLjVmZGRjMTU5OTgxNDJjYmM2MWVmLmpzIjooezczOTc6InBlcmlvZC1mb3JtYXR0ZXIiLDEzOTkzOiJwdXNoc3RyZWFtLW11bHRpcGxleGVyIiwxNjgxMzoidHJhZGluZ3ZpZXctY29weXJpZ2h0LXdpdGgtYm9yZGVyLWRhdGEtaW1wbCIsMzU5ODA6ImNsZWFyLW9sZC1zZXR0aW5ncyIsNDI3MDY6InNpbXBsZS1kaWFsb2ciLDcxMzk0OiJjbW9uZXljb210dy1jb3B5cmlnaHQtZGF0YS1pbXBsIiw3NjA0MDoidHJhZGluZ3ZpZXctY29weXJpZ2h0LW5ldy1kYXRhLWltcGwiLDc5MDQxOiJ0cmFkaW5ndmlldy1jb3B5cmlnaHQtdHJhZGUtd2l0aC1kYXRhLWltcGwiLDg1MDM4OiJsZW50YXJ1LWNvcHlyaWdodC1kYXRhLWltcGwiLDk1MjA3OiJzbm93cGxvdy10cmFja2VyLWJhc2UiLDk3NTA5OiJ0cmFkaW5ndmlldy1jb3B5cmlnaHQtZGF0YS1pbXBsIn1bZV18fGUpKyIuIit7MTUzNDoiNzRmZmUxZTcyNWE0NjVkNDM0MWUiLDcyODU6IjhiYzgyOTI2NjUyOGZhNzRhZjVjIiw3Mzk3OiIwNTllNjIyOTI0MDIzMjcwMTZjNCIsMTM5OTM6IjNiMTk5YzZhZDhiZjVjM2NhYzY3IiwxNjgxMzoiN2U0NTI3YmM1NTIxOWVhM2FkNzYiLDI4MTc2OiIyMTM0Mjg2NWU3NGZmYmVmZmY0NCIsMzU5ODA6ImMzNDA0MmE0YTEwY2I1ZmIyZTNkIiwzOTYwOToiOGNlMGQ3OTNiMmI2MGJlN2E0ZDUiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNTUyMjk6IjI1NzIxODgxOWZhYTY2MzlhMzg5Iiw2NTEwMDoiZjQyMmUxYWQwNjAxNmRiMGQ0N2EiLDcwNjQ0OiI0NDg3NDNkZWYzMjVmZWI2MTk2NyIsNzEzOTQ6ImU2Mzk3NWJhMWQzNjdkZjdhOWQ4Iiw3NjA0MDoiODlhNTFiOTg4ZWM0M2VkMDRlZTciLDc5MDQxOiJiYjRmN2NiMDY4ZmZiZWU4Y2JiYSIsODA5MTU6IjY5NDA0ZmRhOGFhZmMyNzQyYzU1Iiw4NTAzODoiNGMwZDZkZjMwNDVkZTQxNzMxNzgiLDg1NDM0OiJiODViNzVkZjkxYjIyYmFjOGQzOSIsOTUyMDc6IjQ2NWY4YWYxYWE3MmFjM2ExYzMyIiw5NzUwOToiMjdmMzQ5YTFkNTg0ODNmMjdlYWEifVtlXSsiLmpzIiwKbC5taW5pQ3NzRj1lPT45Nzc5Nz09PWU/ZSsiLmQ5ODVlZWJlNjczOTdmMDJmYTY0LmNzcyI6ODQzMDY9PT1lP2UrIi4zMWQ2Y2ZlMGQxNmFlOTMxYjczYy5jc3MiOjUyMzk2PT09ZT9lKyIuZWQ3NmNhZjJmZmUwMTQ0NjBiYTYuY3NzIjoyMDM1ND09PWU/ZSsiLjJkZGY5MzRmOGVkYzI4MDJkOTBhLmNzcyI6MTM0OTI9PT1lP2UrIi4yYzc3NzMwZDExMjVhNDk4NWJkYy5jc3MiOjM3NzQ2PT09ZT9lKyIuMzQ1MjI3YmIxNmUwZDhiYzliZDUuY3NzIjoxMjM4NT09PWU/ZSsiLjc4NTYxZWJkZWYwNWNlNjQ4YjVkLmNzcyI6ODEwNzI9PT1lP2UrIi4yOTI3YTE3NzIzMWZkZDBlMjRjMS5jc3MiOjk0MjMyPT09ZT9lKyIuYWI2NzMxYjY5OGE4YzI4NTRhOTAuY3NzIjoxNzA4Nz09PWU/ZSsiLmE1ZWFlYjMwZjdkMjY5Zjk3YjQxLmNzcyI6ZSsiLiIrezY0NDU6ImFjNjM1YmExNTE5NGRmNDg0NjE2Iiw4NTc5OiI2ZjY1MThiZTQyOTM4MjI3ODZlMCIsMTAzNjY6IjA3ZTIwZTdiYmVlMjdjOWQ1ZmJjIiwxMjA1MToiYjg0YmU3ODFiYjkwZDQ1N2YxZGYiLDE5NTk1OiJkOTYyYWI3NWJkM2UxYmFhNWFhZSIsMTk3ODc6ImJiYjY2ZmEwZmQyYmQwNGQwODc1IiwyOTI5NjoiYjQwOGYyODIyZmE1Yjk1NjliYWMiLDQwOTE0OiJhOGRkNjk2YmU3ZGRlNmNlNmRkYiIsNDQyNTM6Ijg0MDViYWYzM2MzZWZkMDE1MjhlIiw1MzUyMToiZGM5YmM3MGE2YTgwZjJjOTRmNTUiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTk5NDE6ImFmMjJmM2FiODNjZGZjYzM5MzVhIiw2MDA2MjoiNDk1NDQ0YTdmYWMxNzNmYjI4Y2QiLDY3MjEyOiI3Y2ExMmFiN2VjY2YxYzQ4YWVhMSIsNzQwMTE6ImUzMWQ4ZjkyNDEzZjBiZWNhOTg0Iiw3ODg5OToiYmI1ZjgxZDk0YmU1YjVhN2JiZDEiLDg3NzQwOiI1ZTFhNzY3OTBlZTQ5YTM3OTVmYSIsODk1NTg6Ijk4MWEzNGIxOWI0MWZhZDkyYjg4Iiw5MDk2MDoiZWM5NDFhY2NmYWEzZWQyY2Q2ZTIifVtlXSsiLmNzcyIsbC5nPWZ1bmN0aW9uKCl7aWYoIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtyZXR1cm4gdGhpc3x8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvd319KCksbC5vPShlLHQpPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KSx0PXt9LHI9InRyYWRpbmd2aWV3OiIsbC5sPShlLG4sYSxjKT0+e2lmKHRbZV0pdFtlXS5wdXNoKG4pO2Vsc2V7dmFyIGksbztpZih2b2lkIDAhPT1hKWZvcih2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgdT1kW2ZdO2lmKHUuZ2V0QXR0cmlidXRlKCJzcmMiKT09ZXx8dS5nZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIpPT1yK2Epe2k9dTticmVha319aXx8KG89ITAsKGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLmNoYXJzZXQ9InV0Zi04IixsLm5jJiZpLnNldEF0dHJpYnV0ZSgibm9uY2UiLGwubmMpLGkuc2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siLHIrYSksaS5zcmM9ZSwwIT09aS5zcmMuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihpLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSksdFtlXT1bbl07dmFyIHM9KHIsbik9PntpLm9uZXJyb3I9aS5vbmxvYWQ9bnVsbCxjbGVhclRpbWVvdXQoYik7dmFyIGE9dFtlXTtpZihkZWxldGUgdFtlXSxpLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpKSxhJiZhLmZvckVhY2goKGU9PmUobikpKSxyKXJldHVybiByKG4pfSxiPXNldFRpbWVvdXQocy5iaW5kKG51bGwsdm9pZCAwLHt0eXBlOiJ0aW1lb3V0Iix0YXJnZXQ6aX0pLDEyZTQpO2kub25lcnJvcj1zLmJpbmQobnVsbCxpLm9uZXJyb3IpLGkub25sb2FkPXMuYmluZChudWxsLGkub25sb2FkKSxvJiZkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGkpfX0sbC5yPWU9PnsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxsLmo9ODM2MDgsKCgpPT57dmFyIGU7bC5nLmltcG9ydFNjcmlwdHMmJihlPWwuZy5sb2NhdGlvbisiIik7dmFyIHQ9bC5nLmRvY3VtZW50O2lmKCFlJiZ0JiYodC5jdXJyZW50U2NyaXB0JiYiU0NSSVBUIj09PXQuY3VycmVudFNjcmlwdC50YWdOYW1lLnRvVXBwZXJDYXNlKCkmJihlPXQuY3VycmVudFNjcmlwdC5zcmMpLCFlKSl7dmFyIHI9dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7aWYoci5sZW5ndGgpZm9yKHZhciBuPXIubGVuZ3RoLTE7bj4tMSYmKCFlfHwhL15odHRwKHM/KTovLnRlc3QoZSkpOyllPXJbbi0tXS5zcmN9aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlciIpO2U9ZS5yZXBsYWNlKC9eYmxvYjovLCIiKS5yZXBsYWNlKC8jLiokLywiIikucmVwbGFjZSgvXD8uKiQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIvIiksbC5wPWV9KSgpLGwuZy5sb2NhdGlvbiYmbC5wLnN0YXJ0c1dpdGgobC5nLmxvY2F0aW9uLm9yaWdpbikmJihsLnA9bC5wLnNsaWNlKGwuZy5sb2NhdGlvbi5vcmlnaW4ubGVuZ3RoKSksKCgpPT57Y29uc3QgZT1sLnU7bC51PXQ9PmUodCkucmVwbGFjZSgiX19MQU5HX18iLGwuZy5sYW5ndWFnZSl9KSgpLCgoKT0+e3ZhciBlPWwuZSx0PU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gcih0LG4pe3JldHVybiBlKHQpLmNhdGNoKChmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oYSl7dmFyIGw9ZnVuY3Rpb24oKXtzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsbCwhMSksITE9PT1uYXZpZ2F0b3Iub25MaW5lP3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixsLCExKTphKG48Mj9yKHQsbisxKTplKHQpKX0KO3NldFRpbWVvdXQobCxuKm4qMWUzKX0pKX0pKX1sLmU9ZnVuY3Rpb24oZSl7aWYoIXRbZV0pe3RbZV09cihlLDApO3ZhciBuPWZ1bmN0aW9uKCl7ZGVsZXRlIHRbZV19O3RbZV0udGhlbihuLG4pfXJldHVybiB0W2VdfX0pKCksKCgpPT57aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCl7dmFyIGU9ZT0+bmV3IFByb21pc2UoKCh0LHIpPT57dmFyIG49bC5taW5pQ3NzRihlKSxhPWwucCtuO2lmKCgoZSx0KT0+e2Zvcih2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIGE9KGM9cltuXSkuZ2V0QXR0cmlidXRlKCJkYXRhLWhyZWYiKXx8Yy5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZigic3R5bGVzaGVldCI9PT1jLnJlbCYmKGE9PT1lfHxhPT09dCkpcmV0dXJuIGN9dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIik7Zm9yKG49MDtuPGwubGVuZ3RoO24rKyl7dmFyIGM7aWYoKGE9KGM9bFtuXSkuZ2V0QXR0cmlidXRlKCJkYXRhLWhyZWYiKSk9PT1lfHxhPT09dClyZXR1cm4gY319KShuLGEpKXJldHVybiB0KCk7KChlLHQscixuLGEpPT57dmFyIGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2wucmVsPSJzdHlsZXNoZWV0IixsLnR5cGU9InRleHQvY3NzIixsLm9uZXJyb3I9bC5vbmxvYWQ9cj0+e2lmKGwub25lcnJvcj1sLm9ubG9hZD1udWxsLCJsb2FkIj09PXIudHlwZSluKCk7ZWxzZXt2YXIgYz1yJiYoImxvYWQiPT09ci50eXBlPyJtaXNzaW5nIjpyLnR5cGUpLGk9ciYmci50YXJnZXQmJnIudGFyZ2V0LmhyZWZ8fHQsbz1uZXcgRXJyb3IoIkxvYWRpbmcgQ1NTIGNodW5rICIrZSsiIGZhaWxlZC5cbigiK2krIikiKTtvLmNvZGU9IkNTU19DSFVOS19MT0FEX0ZBSUxFRCIsby50eXBlPWMsby5yZXF1ZXN0PWksbC5wYXJlbnROb2RlJiZsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobCksYShvKX19LGwuaHJlZj10LDAhPT1sLmhyZWYuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihsLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSxyP3IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxyLm5leHRTaWJsaW5nKTpkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGwpfSkoZSxhLG51bGwsdCxyKX0pKSx0PXs4MzYwODowfTtsLmYubWluaUNzcz0ocixuKT0+e3Rbcl0/bi5wdXNoKHRbcl0pOjAhPT10W3JdJiZ7NjQ0NToxLDg1Nzk6MSwxMDM2NjoxLDEyMDUxOjEsMTIzODU6MSwxMzQ5MjoxLDE3MDg3OjEsMTk1OTU6MSwxOTc4NzoxLDIwMzU0OjEsMjkyOTY6MSwzNzc0NjoxLDQwOTE0OjEsNDQyNTM6MSw1MjM5NjoxLDUzNTIxOjEsNTczMDA6MSw1OTk0MToxLDYwMDYyOjEsNjcyMTI6MSw3NDAxMToxLDc4ODk5OjEsODEwNzI6MSw4NDMwNjoxLDg3NzQwOjEsODk1NTg6MSw5MDk2MDoxLDk0MjMyOjEsOTc3OTc6MX1bcl0mJm4ucHVzaCh0W3JdPWUocikudGhlbigoKCk9Pnt0W3JdPTB9KSwoZT0+e3Rocm93IGRlbGV0ZSB0W3JdLGV9KSkpfX19KSgpLGwuaTE4bmV4dD0oZSx0PXt9LHIsbj1sLmcubGFuZ3VhZ2UpPT57aWYobnVsbD09PWUpe2lmKEFycmF5LmlzQXJyYXkocikpcmV0dXJuIHJbdm9pZCAwPT09dC5jb3VudD8wOmwuX3BsdXJhbFtuXSh0LmNvdW50KV0ucmVwbGFjZSgveyhcdyspfS9nLCgoZSxyKT0+dm9pZCAwIT09KHQucmVwbGFjZXx8dClbcl0/KHQucmVwbGFjZXx8dClbcl06ZSkpO2lmKCJvYmplY3QiPT10eXBlb2YgcilyZXR1cm4gcltsLmcubGFuZ3VhZ2VdP2wuaTE4bmV4dChudWxsLHQscltsLmcubGFuZ3VhZ2VdKTpsLmkxOG5leHQobnVsbCx0LHIuZW4sImVuIil9ZWxzZSBpZihyJiZlKXtjb25zdCBuPWAke2V9JHt0LmNvbnRleHQ/YF8ke3QuY29udGV4dH1gOiIifWA7aWYocltuXSlyZXR1cm4gbC5pMThuZXh0KG51bGwsdCxyW25dKX1yZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/ZS50b1N0cmluZygpOiJzdHJpbmciIT10eXBlb2YgZT8iIjplfSwoKCk9Pnt2YXIgZT17ODM2MDg6MCw0NjkwNzowLDMyODE2OjAsNDMzMjU6MCwzOTA1OjAsMTU5MzI6MCw1MTUwODowLDg0MDg6MCw4MDA5NzowfTtsLmYuaj0odCxyKT0+e3ZhciBuPWwubyhlLHQpP2VbdF06dm9pZCAwO2lmKDAhPT1uKWlmKG4pci5wdXNoKG5bMl0pO2Vsc2UgaWYoL14oMSgoNzB8OTcpODd8MDM2NnwyMDUxfDIzODV8MzQ5Mnw1OTMyfDk1OTUpfDMoMjgxNnw3NzQ2fDkwNSl8NCgwOTE0fDMzMjV8NDI1M3w2OTA3KXw1KDE1MDh8MjM5NnwzNTIxfDczMDB8OTk0MSl8NigwMDYyfDQ0NXw3MjEyKXw4KCgzNjB8NDB8OTU1KTh8MDA5N3wxMDcyfDQzMDZ8NTc5fDc3NDApfDkoMDk2MHw0MjMyfDc3OTcpfDIwMzU0fDI5Mjk2fDc0MDExfDc4ODk5KSQvLnRlc3QodCkpZVt0XT0wO2Vsc2V7dmFyIGE9bmV3IFByb21pc2UoKChyLGEpPT5uPWVbdF09W3IsYV0pKTtyLnB1c2goblsyXT1hKTt2YXIgYz1sLnArbC51KHQpLGk9bmV3IEVycm9yO2wubChjLChyPT57aWYobC5vKGUsdCkmJigwIT09KG49ZVt0XSkmJihlW3RdPXZvaWQgMCksbikpe3ZhciBhPXImJigibG9hZCI9PT1yLnR5cGU/Im1pc3NpbmciOnIudHlwZSksYz1yJiZyLnRhcmdldCYmci50YXJnZXQuc3JjO2kubWVzc2FnZT0iTG9hZGluZyBjaHVuayAiK3QrIiBmYWlsZWQuXG4oIithKyI6ICIrYysiKSIsaS5uYW1lPSJDaHVua0xvYWRFcnJvciIsaS50eXBlPWEsaS5yZXF1ZXN0PWMsblsxXShpKX19KSwiY2h1bmstIit0LHQpfX0sbC5PLmo9dD0+MD09PWVbdF07dmFyIHQ9KHQscik9Pnt2YXIgbixhLFtjLGksb109cixkPTA7aWYoYy5zb21lKCh0PT4wIT09ZVt0XSkpKXtmb3IobiBpbiBpKWwubyhpLG4pJiYobC5tW25dPWlbbl0pO2lmKG8pdmFyIGY9byhsKX1mb3IodCYmdChyKTtkPGMubGVuZ3RoO2QrKylhPWNbZF0sbC5vKGUsYSkmJmVbYV0mJmVbYV1bMF0oKSxlW2FdPTA7cmV0dXJuIGwuTyhmKX0scj1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdO3IuZm9yRWFjaCh0LmJpbmQobnVsbCwwKSksci5wdXNoPXQuYmluZChudWxsLHIucHVzaC5iaW5kKHIpKX0pKCksCmwucD1sLmcmJmwuZy5XRUJQQUNLX1BVQkxJQ19QQVRIfHxsLnB9KSgpOw=="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCSKRS.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.592Z","timestamp":1785136905592,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCSKRS.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCZORA2.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.614Z","timestamp":1785136905614,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCZORA2.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3916.5481261b9512717460fe.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.879Z","timestamp":1785136901879,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3916.5481261b9512717460fe.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-527\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ffcdf77d31ee6aebbe6a431061c2194d\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":1319,"size_decoded":1174,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1319), with no line terminators","md5":"a1bb7ef590664b0f02c8827b83a39965","sha1":"1306777feaf4283c77ea4e48d3bf3c8dce143921","sha256":"8d0a307ce60e964474b8dd762dcbcc08a2749f583077a313115f4ec6a855b27b","sha512":"5c4a70de5fe18f9129572854704902530773d6712fac4db28ebd310e85f6322e6653bd2677be19aeba2211530d67b018c8e12b15ade2952c268d8f2f76fcdca9","ssdeep":"","tlshash":"7521f7cde5d2a22f3a0f313e432dc15c621a7881df932b75b826d2e402c57e565b7564","first_seen":"2025-07-09T18:19:43.559202Z","last_seen":"2026-07-31T04:27:03.980232Z","times_seen":338,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTTRVUzojMDAwMH0uYnV0dG9uLXc2bFZlX29Je2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQpKTtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZTowO2hlaWdodDoyMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjIycHg7d2lkdGg6MjJweH0uYnV0dG9uLXc2bFZlX29JLmhvdmVyZWQtdzZsVmVfb0ksLmJ1dHRvbi13NmxWZV9vSTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtaG92ZXItY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLXc2bFZlX29JOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIpKX19LmJ1dHRvbi13NmxWZV9vSS5kaXNhYmxlZC13NmxWZV9vSSwuYnV0dG9uLXc2bFZlX29JLmRpc2FibGVkLXc2bFZlX29JOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1fMC1NNFVTKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tdzZsVmVfb0kuZGlzYWJsZWQtdzZsVmVfb0k6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQtY29sb3IsdmFyKC0tXzAtTTRVUykpfX0="}},"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/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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.954Z","timestamp":1785136900954,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32632.596e5348a1538a18fd4e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 013b61698075fd804d28f0ec0508aec0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1276,"size_decoded":1216,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1276), with no line terminators","md5":"4dbd9186e797320373da6c5f9843030c","sha1":"23410205367378f1c6436025ba87050084b119a4","sha256":"7efe9b338dd4970e4b6ee84a711c1bb6cc65dad73322597e03c040abdb1fa38a","sha512":"a66b0365c81f21e82e8d510923718ce9c71b8aab5c59688e1d32283b9203b9d4b79e04b000fd34cc03234913be0c316407e1d1b9b4c6360478f73081d15595ef","ssdeep":"","tlshash":"3321dfe1e790187af8a38916a788de867158fa036713fd49f7daa80e4481d78113c34d","first_seen":"2026-07-16T13:40:49.72467Z","last_seen":"2026-08-10T05:01:44.268987Z","times_seen":1599,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdWdzMTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXVnczE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LXNwaW5uZXJ7YW5pbWF0aW9uOnR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtajRKbHJZVkggLjlzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXI6MCBzb2xpZCB2YXIoLS10di1zcGlubmVyLWNvbG9yLHZhcigtLWNvbG9yLWJyYW5kKSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Om5vbmU7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZX0udHYtc3Bpbm5lci0tc2hvd257ZGlzcGxheTpibG9ja30udHYtc3Bpbm5lci0tc2l6ZV94eHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gN3B4KTt0b3A6Y2FsYyg1MCUgLSA3cHgpO3dpZHRoOjEwcHh9LnR2LXNwaW5uZXItLXNpemVfeHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gOXB4KTt0b3A6Y2FsYyg1MCUgLSA5cHgpO3dpZHRoOjE0cHh9LnR2LXNwaW5uZXItLXNpemVfc21hbGx7Ym9yZGVyLXdpZHRoOjJweDtoZWlnaHQ6MjBweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAxMnB4KTt0b3A6Y2FsYyg1MCUgLSAxMnB4KTt3aWR0aDoyMHB4fS50di1zcGlubmVyLS1zaXplX21lZGl1bXtib3JkZXItd2lkdGg6M3B4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDE3cHgpO3RvcDpjYWxjKDUwJSAtIDE3cHgpO3dpZHRoOjI4cHh9LnR2LXNwaW5uZXItLXNpemVfbGFyZ2V7Ym9yZGVyLXdpZHRoOjRweDtoZWlnaHQ6NTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAzMnB4KTt0b3A6Y2FsYyg1MCUgLSAzMnB4KTt3aWR0aDo1NnB4fS50di1zcGlubmVyOmRpcihydGwpe2FuaW1hdGlvbjp0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKC0xdHVybil9fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/75217.8bfd234354863130e2e0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.332Z","timestamp":1785136901332,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/75217.8bfd234354863130e2e0.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-c52\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f58a226981f4fc5065e43e0c128e0789\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3154,"size_decoded":1710,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3154), with no line terminators","md5":"3769691bb164341f7e317cc239ff0c44","sha1":"30fb0806e24700cbe465c6e23625f8c54f7d81d0","sha256":"5a44f7b43f7cddd61283088bc8588ab2e403da2614a2b11033b868fe41252f57","sha512":"af441b79c8ec24b217485a344904104dfdbeeb191c486f83c61059638f6ec7ad8d10444382314e3be3339643770c1e016f64a4d41c108fe0d4c7b3ca23c23d93","ssdeep":"","tlshash":"d1512130e7e9ebbb7e1e9612f38082caa443de56da1e8cb65c87d59190d05c106313fd","first_seen":"2026-06-17T17:50:59.571321Z","last_seen":"2026-07-28T06:17:53.427008Z","times_seen":441,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTjVoMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLU41aDM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBvcHVwV2lkZ2V0V3JhcHBlci1BNHYwZGwxN3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5wb3B1cFdpZGdldFdpZHRoLUE0djBkbDE3ey0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4V2lkdGg6MzgwcHg7LS11aS1saWItaW4tcG9zaXRpb25lci1taW5XaWR0aDptaW4oMzgwcHgsdmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcldpZHRoLDBweCkpfS5wb3B1cFdpZGdldC1BNHYwZGwxN3tib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOmNhbGModmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcsIDBweCkqLTEpO21hcmdpbi1pbmxpbmUtc3RhcnQ6Y2FsYyh2YXIoLS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZywgMHB4KSotMSk7b3V0bGluZTpub25lO3BhZGRpbmc6MTZweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTc6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbToxMHB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNzpmaXJzdC1jaGlsZHtwYWRkaW5nLXRvcDoxMXB4fUBtZWRpYSAobWluLXdpZHRoOjQ0MHB4KXsucG9wdXBXaWRnZXQtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7bWF4LXdpZHRoOjM1NHB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNy5tb2JpbGUtQTR2MGRsMTd7bWF4LXdpZHRoOjEwMCV9LnBvcHVwV2lkZ2V0LUE0djBkbDE3e21heC13aWR0aDozNDRweH19LnBvcHVwV2lkZ2V0LUE0djBkbDE3Om5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tXzAtTjVoMyl9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5kZXNjLUE0djBkbDE3e2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJTt3aWR0aDpjYWxjKDEwMCUgLSAxNnB4KTt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW59LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3e2ZsZXg6MCAwIGF1dG87bWFyZ2luLWJsb2NrOjJweCAycHg7bWFyZ2luLWlubGluZTowIDZweDtvdmVyZmxvdzpoaWRkZW59LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3LnNtYWxsLUE0djBkbDE3e2JvcmRlci1yYWRpdXM6OXB4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tib3JkZXItcmFkaXVzOjExcHg7aGVpZ2h0OjIycHg7d2lkdGg6MjJweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmljb24tQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7Ym9yZGVyLXJhZGl1czo4cHg7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRpdGxlLUE0djBkbDE3e2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjZweDtkaXNwbGF5OmZsZXg7Zm9udC13ZWlnaHQ6NjAwfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGl0bGUtQTR2MGRsMTcuc21hbGwtQTR2MGRsMTd7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjJweDttYXJnaW4tYm90dG9tOjRweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRpdGxlLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNnB4O21hcmdpbi1ib3R0b206MnB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGl0bGUtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MzJweDttYXJnaW4tYm90dG9tOjJweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRleHQtQTR2MGRsMTcuc21hbGwtQTR2MGRsMTd7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRleHQtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTcsLnBvcHVwV2lkZ2V0LUE0djBkbDE3IC50ZXh0LUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGV4dC1BNHYwZGwxNyAuaXRlbS1BNHYwZGwxNzpub3QoOmxhc3QtY2hpbGQpOmFmdGVye2NvbnRlbnQ6IiAifS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGV4dC1BNHYwZGwxNyAuYm9sZEl0ZW0tQTR2MGRsMTd7Zm9udC13ZWlnaHQ6NzAwfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3e2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTttYXJnaW4tdG9wOjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmFjdGlvbi1BNHYwZGwxNy5zbWFsbC1BNHYwZGwxN3tmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3LmxhcmdlLUE0djBkbDE3LC5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3LmxhcmdlLUE0djBkbDE3e2N1cnNvcjpwb2ludGVyfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uQnRuLUE0djBkbDE3e2FsaWduLXNlbGY6c3RhcnQ7bWFyZ2luLXRvcDo4cHh9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5hY3Rpb25zLUE0djBkbDE3e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmFjdGlvbnMtQTR2MGRsMTcgLmFjdGlvbkJ0bi1BNHYwZGwxN3ttYXJnaW4tdG9wOjhweH0uYWRkaXRpb25hbFdpZGdldC1BNHYwZGwxN3ttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDoxMnB4fS5hZGRpdGlvbmFsV2lkZ2V0LUE0djBkbDE3Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/10366.07e20e7bbee27c9d5fbc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.443Z","timestamp":1785136901443,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/10366.07e20e7bbee27c9d5fbc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-273\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bf2950f350dc7c8d8f9b103f1b5f96a5\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":627,"size_decoded":1034,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (627), with no line terminators","md5":"5d58fc11e377065e2e2ce19149de6728","sha1":"e2e8f933c9519c6e5964ccab1f629f4b6073cea9","sha256":"c4aac40ec27e2baca2016fee348eac9d6ef472c57c933542802b5232e6954733","sha512":"d2f9fd099b4743ed6080b2614bd2dbe5e97b62fa5a6437245aca2bc21efc494a0615b21fd83b0b977da80f532b7e87f34c29fbf4c9ccde299f75c9b0bf4cdf89","ssdeep":"","tlshash":"94f0a288a651f62b350f253e4b1ac1bc91a5a890e9402f7cb5bae2144ac8fc5a6f5428","first_seen":"2025-10-07T17:12:28.013112Z","last_seen":"2026-08-10T05:00:33.720053Z","times_seen":1006,"resource_available":false,"data":"LndyYXBwZXItbXowODY2TTJ7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKTtkaXNwbGF5OmZsZXg7aGVpZ2h0OjM4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozOHB4fS53cmFwcGVyLW16MDg2Nk0yLmhvdmVyZWQtbXowODY2TTJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey53cmFwcGVyLW16MDg2Nk0yOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0ud3JhcHBlci1tejA4NjZNMjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.16193.ba075f895c6ed057c11c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.530Z","timestamp":1785136901530,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.16193.ba075f895c6ed057c11c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-154\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bd420eb5f7c5d9f66bef73897a3dc1b3\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":340,"size_decoded":1001,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (340), with no line terminators","md5":"5ffc24a684cc802b7c100f2bd550db9f","sha1":"b566199860bd35dadee744f2ca93987c9fd7d81d","sha256":"c54bf8e5790bf29f7fdee0e7434ac170011edad6053be09f6b60d44ad7568e06","sha512":"f810b69576133f10a55ec59fee0e46a450731cbf26f01155ab1f66b2ed4b100bbef9e4d74b9d95d2032a5c84713b3dfc85f01c946ce927039e4c4c5645b70994","ssdeep":"","tlshash":"c5e0c203e160f8a17e7ade043b508de630f4b08114f2d0ceb3282f51c017c352810b6c","first_seen":"2026-05-05T12:17:23.646279Z","last_seen":"2026-08-10T05:00:33.799685Z","times_seen":477,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNjE5M10sezMxNzI5KGUpe2UuZXhwb3J0cz1bImRheXMiXX0sODAwMDA5KGUpe2UuZXhwb3J0cz1bImhvdXJzIl19LDU1NDY1MShlKXtlLmV4cG9ydHM9WyJtb250aHMiXX0sMzQzNzU3KGUpe2UuZXhwb3J0cz1bIm1pbnV0ZXMiXX0sOTczMzQ3KGUpe2UuZXhwb3J0cz1bInJhbmdlIl19LDU0ODM3NChlKXtlLmV4cG9ydHM9WyJ3ZWVrcyJdfSwzNjkxMjkoZSl7ZS5leHBvcnRzPVsidGlja3MiXX0sNTQwOTEwKGUpe2UuZXhwb3J0cz1bIlZpZXcgT25seSBNb2RlIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCEUL.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.579Z","timestamp":1785136905579,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCEUL.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/css/responsive.css","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.492Z","timestamp":1785136899492,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /css/responsive.css HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:39 GMT\r\nContent-Type: text/css\r\nContent-Length: 3516\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:00 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":3516,"size_decoded":3725,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"ccf04542457e883d3bdbc2d98bf8fdbe","sha1":"8f5a67d5e52dde1e135ca1b781bb6c7d922cb251","sha256":"e7ed8dbc96e395c823b8a607158db76a236253ea8227ab5885646b62d17e41da","sha512":"59dc7870e4f6048f6e5bb0acfe877a2bc4bd142e92c84c8b57337840d4dd71fcb8cf59e3d766e464e020a125adc581017a353ec991b40350c6aa04361340aabd","ssdeep":"","tlshash":"fe71d94f2a4210094577737ae3a7a155fe2648b3d38ae1f1bd9c2210cf785994522f8d","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-08-01T11:22:30.99734Z","times_seen":241,"resource_available":false,"data":"LypFeHRyYSBzbWFsbCBkZXZpY2VzIChwb3J0cmFpdCBwaG9uZXMsIGxlc3MgdGhhbiA1NzZweCkqLw0KDQpAbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA1NzVweCkgew0KICAgIGh0bWwgew0KICAgICAgICBmb250LXNpemU6IDgwJTsNCiAgICB9DQogICAgaDEgew0KICAgICAgICBmb250LXNpemU6IDIuMjVyZW07DQogICAgfQ0KICAgIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAxLjc0NDFlbTsNCiAgICB9DQogICAgLm10LS0xMjAgew0KICAgICAgICBtYXJnaW4tdG9wOiAtNTBweDsNCiAgICB9DQogICAgLnB0LTE1MCB7DQogICAgICAgIHBhZGRpbmctdG9wOiA1MHB4Ow0KICAgIH0NCiAgICAucHRiLTE1MCB7DQogICAgICAgIHBhZGRpbmc6IDkwcHggMDsNCiAgICB9DQogICAgLmhlcm8tc2xpZGVyLWNvbnRlbnQgaDEgew0KICAgICAgICBmb250LXNpemU6IDIuMjVyZW07DQogICAgfQ0KICAgIC5hY3Rpb24tYnRucyBhLmJ0biwNCiAgICAuYXBwLWRvd25sb2FkLWxpc3QgbGkgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICAgIH0NCiAgICAvKmNlbyBtZXNzYWdlKi8NCiAgICAueWVhci1oaWdobGlnaHQtdGV4dCBoNCBzdWIgew0KICAgICAgICB0b3A6IC0xMHB4Ow0KICAgIH0NCiAgICAueWVhci1oaWdobGlnaHQtdGV4dCBoNCBzcGFuIHsNCiAgICAgICAgZm9udC1zaXplOiAyMTVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MHB4Ow0KICAgIH0NCiAgICAvKnN3aXRjaGFibGUgYmxvY2sqLw0KICAgIC5jb3JlLWlkZWEtd3JhcC5wdGItMTAwIHsNCiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7DQogICAgfQ0KICAgIC8qcG9ydGZvbGlvKi8NCiAgICAuZmlsdGVyLWJ0biB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgfQ0KICAgIC5wb3J0Zm9saW8taXRlbSwNCiAgICAuZ2FwIHsNCiAgICAgICAgd2lkdGg6IGF1dG87DQogICAgfQ0KICAgIC8qdGVzdGltb25pYWwgd2l0aCBjb3VudGVyKi8NCiAgICAuY291bnRlci13cmFwIHsNCiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTUwcHgsIDFmcikpOw0KICAgIH0NCiAgICAuY291bnRlci13cmFwIGxpIHsNCiAgICAgICAgcGFkZGluZzogMTVweDsNCiAgICB9DQogICAgLmNvbnRhY3QtdXMtZm9ybSAuZm9ybS1ncm91cCB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgfQ0KICAgIC5hcnJvdy1pbmRpY2F0b3Iub3dsLXRoZW1lIC5vd2wtbmF2IHsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIH0NCiAgICAvKmJsb2cqLw0KICAgIC5zaW5nbGUtYmxvZy1jYXJkIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICB9DQogICAgLyphbGwgY29sKi8NCiAgICBkaXZbY2xhc3MqPSdjb2wtJ106bm90KDpsYXN0LW9mLXR5cGUpIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAucm93PmRpdltjbGFzcyo9J2NvbC0nXTpsYXN0LW9mLXR5cGUgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIH0NCiAgICAuZm9vdGVyLWJvdHRvbSAucm93PmRpdltjbGFzcyo9J2NvbC0nXTpmaXJzdC1jaGlsZCB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsNCiAgICB9DQp9DQoNCi8qU21hbGwgZGV2aWNlcyAobGFuZHNjYXBlIHBob25lcywgNTc2cHggYW5kIHVwKSovDQoNCkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgaHRtbCB7DQogICAgICAgIGZvbnQtc2l6ZTogODIlOw0KICAgIH0NCiAgICAubXQtLTEyMCB7DQogICAgICAgIG1hcmdpbi10b3A6IC01MHB4Ow0KICAgIH0NCiAgICAucHQtMTUwIHsNCiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7DQogICAgfQ0KICAgIC5hY3Rpb24tYnRucyBhLmJ0biB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7DQogICAgfQ0KICAgIC8qY2VvIG1lc3NhZ2UqLw0KICAgIC55ZWFyLWhpZ2hsaWdodC10ZXh0IGg0IHN1YiB7DQogICAgICAgIHRvcDogLTEwcHg7DQogICAgfQ0KICAgIC55ZWFyLWhpZ2hsaWdodC10ZXh0IGg0IHNwYW4gew0KICAgICAgICBmb250LXNpemU6IDIxNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMTUwcHg7DQogICAgfQ0KICAgIC8qc3dpdGNoYWJsZSBibG9jayovDQogICAgLmNvcmUtaWRlYS13cmFwLnB0Yi0xMDAgew0KICAgICAgICBwYWRkaW5nLXRvcDogMTVweDsNCiAgICB9DQogICAgLypwb3J0Zm9saW8qLw0KICAgIC5maWx0ZXItYnRuIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICB9DQogICAgLnBvcnRmb2xpby1pdGVtLA0KICAgIC5nYXAgew0KICAgICAgICB3aWR0aDogYXV0bzsNCiAgICB9DQogICAgLyp0ZXN0aW1vbmlhbCB3aXRoIGNvdW50ZXIqLw0KICAgIC5jb3VudGVyLXdyYXAgew0KICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxODBweCwgMWZyKSk7DQogICAgfQ0KICAgIC5jb3VudGVyLXdyYXAgbGkgew0KICAgICAgICBwYWRkaW5nOiAxNXB4Ow0KICAgIH0NCiAgICAuY29udGFjdC11cy1mb3JtIC5mb3JtLWdyb3VwIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICB9DQogICAgLmFycm93LWluZGljYXRvci5vd2wtdGhlbWUgLm93bC1uYXYgew0KICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgfQ0KICAgIC8qYmxvZyovDQogICAgLnNpbmdsZS1ibG9nLWNhcmQgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIH0NCiAgICAvKnByb21vKi8NCiAgICBkaXZbY2xhc3MqPSdjb2wtJ106bm90KDpsYXN0LW9mLXR5cGUpIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAucm93PmRpdltjbGFzcyo9J2NvbC0nXTpsYXN0LW9mLXR5cGUgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIH0NCiAgICAuZm9vdGVyLWJvdHRvbSAucm93PmRpdltjbGFzcyo9J2NvbC0nXTpmaXJzdC1jaGlsZCB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsNCiAgICB9DQp9DQoNCi8qTWVkaXVtIGRldmljZXMgKHRhYmxldHMsIDc2OHB4IGFuZCB1cCkqLw0KDQpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KICAgIC5tdC0tMTIwIHsNCiAgICAgICAgbWFyZ2luLXRvcDogLTUwcHg7DQogICAgfQ0KICAgIC5hY3Rpb24tYnRucyBhLmJ0biB7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7DQogICAgfQ0KfQ0KDQovKkxhcmdlIGRldmljZXMgKGRlc2t0b3BzLCA5OTJweCBhbmQgdXApKi8NCg0KQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7fQ0KDQovKkV4dHJhIGxhcmdlIGRldmljZXMgKGxhcmdlIGRlc2t0b3BzLCAxMjAwcHggYW5kIHVwKSovDQoNCkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHt9"}},"time_used":416,"timings":{"blocked":323,"dns":0,"connect":0,"send":0,"wait":93,"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":"huobiget.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.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://huobiget.com/","date":"2026-07-27T07:21:39.493Z","timestamp":1785136899493,"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/normalize/5.0.0/normalize.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\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 07:21:39 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 745\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, 04 May 2020 16:13:31 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=86CmQCXR3aHnPPlsMj1U7bHuEEVcQaMt9%2BDULSMEAGCQVOxjEWYusTyvLTcj33bWqAWIvV7idAOunf7hhHV9%2FVEPNGOdRoshQWy%2FE1TsuxGBHw8EMdiiJfqd19nar8pxnQgQnaSu\"}]}\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: a219e375fb5c5687-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":2199,"size_decoded":1734,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2199), with no line terminators","md5":"87d66528cea61c0bfb68cde1b4a4691a","sha1":"436d18118ee42d6ce7d793c643035afc41dddb56","sha256":"b76ffbb2665f82b493e054b50d3d1bb3f2a8b4233be1795ca9937956eef196bc","sha512":"c5c0edec349ab935b4a61810c2b27e449cfa93562abe66ad0a491488e9566122f6310e338dcd71c27fa5d12c19004bbbf569dc4e200912dfbc4faa8376a7e2cd","ssdeep":"","tlshash":"bc4160b347403764ab734d693bc67f8036201023c461b6a6f850e9b8cbca9627c7978e","first_seen":"2023-04-09T14:19:32Z","last_seen":"2026-08-09T21:53:00.995772Z","times_seen":2336,"resource_available":false,"data":"YnV0dG9uLGhyLGlucHV0e292ZXJmbG93OnZpc2libGV9YXVkaW8sY2FudmFzLHByb2dyZXNzLHZpZGVve2Rpc3BsYXk6aW5saW5lLWJsb2NrfXByb2dyZXNzLHN1YixzdXB7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9aHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjEuMTU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e21hcmdpbjowfSBtZW51LGFydGljbGUsYXNpZGUsZGV0YWlscyxmb290ZXIsaGVhZGVyLG5hdixzZWN0aW9ue2Rpc3BsYXk6YmxvY2t9aDF7Zm9udC1zaXplOjJlbTttYXJnaW46LjY3ZW0gMH1maWdjYXB0aW9uLGZpZ3VyZSxtYWlue2Rpc3BsYXk6YmxvY2t9ZmlndXJle21hcmdpbjoxZW0gNDBweH1ocntib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1he2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDpvYmplY3RzfWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZS13aWR0aDowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206bm9uZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1kZm57Zm9udC1zdHlsZTppdGFsaWN9bWFya3tiYWNrZ3JvdW5kLWNvbG9yOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19YXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH1pbWd7Ym9yZGVyLXN0eWxlOm5vbmV9c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXNpemU6MTAwJTtsaW5lLWhlaWdodDoxLjE1O21hcmdpbjowfWJ1dHRvbixpbnB1dHt9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfVt0eXBlPXN1Ym1pdF0sIFt0eXBlPXJlc2V0XSxidXR0b24saHRtbCBbdHlwZT1idXR0b25dey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b259W3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lcixidXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyLXN0eWxlOm5vbmU7cGFkZGluZzowfVt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3JpbmcsYnV0dG9uOi1tb3otZm9jdXNyaW5ne291dGxpbmU6QnV0dG9uVGV4dCBkb3R0ZWQgMXB4fWZpZWxkc2V0e2JvcmRlcjoxcHggc29saWQgc2lsdmVyO21hcmdpbjowIDJweDtwYWRkaW5nOi4zNWVtIC42MjVlbSAuNzVlbX1sZWdlbmR7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7ZGlzcGxheTp0YWJsZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm9ybWFsfXByb2dyZXNze310ZXh0YXJlYXtvdmVyZmxvdzphdXRvfVt0eXBlPWNoZWNrYm94XSxbdHlwZT1yYWRpb117Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MH1bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1baGlkZGVuXSx0ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9LyojIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLm1pbi5jc3MubWFwICov"}},"time_used":66,"timings":{"blocked":-1,"dns":2,"connect":13,"send":0,"wait":50,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/35794.0a273bafc5de50a0d21d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.947Z","timestamp":1785136900947,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35794.0a273bafc5de50a0d21d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-929\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5f9c585fd5cb8d847806d917f1821645\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2345,"size_decoded":1476,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2345), with no line terminators","md5":"070dbbdaf81468918cc345dc05f9a381","sha1":"2ab8968ccfc58991cdc8860741aecf9533393e0f","sha256":"8782990aacf2d956262c5608c1f9f9be2c54e5b100e7e1fd85521c2424944d72","sha512":"c162784e77aaebd46d2c606d8ec9f965be7c21092d5143c64badbc4cc2b380589455fd4eb60cdd25a9cff11dceab520faac1d1753d1b999596c4c462a0fa0e43","ssdeep":"","tlshash":"e7418bafa148d8b0fe116198b3dd638db6e5ec70a90a05cdb633b839cce17f15d50158","first_seen":"2026-07-22T16:00:00.426214Z","last_seen":"2026-08-10T05:01:44.373402Z","times_seen":542,"resource_available":false,"data":"LnNtYWxsLXRXRElDVGF5ey0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplOjN9Lm1lZGl1bS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo0fS5sYXJnZS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo1fS5zd2l0Y2hWaWV3LXRXRElDVGF5ey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zd2l0Y2hWaWV3LXNpemUsdmFyKC0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplLDQpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTstLXN3aXRjaC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozNHB4KTtoZWlnaHQ6dmFyKC0tc3dpdGNoLWhlaWdodCk7LS1zd2l0Y2gtd2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjM4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo1NHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2NHB4KTt3aWR0aDp2YXIoLS1zd2l0Y2gtd2lkdGgpOy0tc3dpdGNoLXBhZGRpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4KTstLXN3aXRjaC10aHVtYjpjYWxjKHZhcigtLXN3aXRjaC1oZWlnaHQpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKjIpOy0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwpOy0tc3dpdGNoLWNvbG9yOnZhcigtLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yLHZhcigtLWRlZmF1bHQtY29sb3IpKX0uc3dpdGNoVmlldy10V0RJQ1RheS5jaGVja2VkLXRXRElDVGF5ey0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmRpc2FibGVkLXRXRElDVGF5e29wYWNpdHk6LjV9LnRyYWNrLXRXRElDVGF5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItcmFkaXVzOjIwcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0udGh1bWItdFdESUNUYXl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OnZhcigtLXN3aXRjaC10aHVtYik7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1zd2l0Y2gtcGFkZGluZyksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7d2lkdGg6dmFyKC0tc3dpdGNoLXRodW1iKX0udGh1bWItdFdESUNUYXk6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC1wYWRkaW5nKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0uY2hlY2tlZC10V0RJQ1RheSAudGh1bWItdFdESUNUYXl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSx2YXIoLS1zd2l0Y2gtcGFkZGluZykpfS5jaGVja2VkLXRXRElDVGF5IC50aHVtYi10V0RJQ1RheTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/37867.ec731ad102db6762e40c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.965Z","timestamp":1785136900965,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37867.ec731ad102db6762e40c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b78-134\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c10ea7783a02e55e9fc9481b64866725\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":308,"size_decoded":973,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (308), with no line terminators","md5":"935c55cc3e17810075bcce4ab81c1124","sha1":"af63671b9b4c5e480ce1ed8cf80fb5e6cd9a4901","sha256":"0660e1a2eac6aab1096c15e3927919c9f443ff7189df135f235a3aac5b88cd5a","sha512":"5fca3255a37ff2053cf3aac0373f856dd54b280aeeefee9e8f904f1c75266a63414feaa87a1bb692566c171879527baa045548e01ed46b623edd70d9cd15522d","ssdeep":"","tlshash":"01e026bc52740320ac308738b9ce8ccd3e05f22186c30e8ca942d602846d8c08860895","first_seen":"2025-07-09T23:41:09.652491Z","last_seen":"2026-08-10T05:01:44.271542Z","times_seen":1843,"resource_available":false,"data":"LnR2LWZsYWctY291bnRyeXtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjIwcHh9LnR2LWZsYWctY291bnRyeS0tc2l6ZV9ibG9jay10aXRsZXtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fS50di1mbGFnLWNvdW50cnktLWZvcmV4e2NvbG9yOnZhcigtLWNvbG9yLWZvcmV4LWljb24pfS50di1mbGFnLWNvdW50cnktLWJ0YywudHYtZmxhZy1jb3VudHJ5LS1mb3JleHtib3JkZXItcmFkaXVzOjA7b3ZlcmZsb3c6dmlzaWJsZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.004Z","timestamp":1785136901004,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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 07:21:41 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: 893c9b633302a33a0016e53eeb5cdd05\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":7142,"size_decoded":4236,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"7d7a3ddeb844a1fdfe8b024f9df9f0b6","sha1":"b3afece36b14fafc7889e9b954f9736c892a2849","sha256":"0752584a0f2ad3bba4f44bbd6a44bf08a76726c524b79367996ab9b20e03bfba","sha512":"c0b04bf9ca52fee536a54ae9fcb3fcac9ee210f95be1205e4fe48f0cbb1f25a4db788a4ae10cd4b5ee13e1dc5159c2a4d48516d50bf1ee07d2da1a00fa95ac38","ssdeep":"96:VI23hKdh7P1lIbeWL9aqfMbFNriK6Vizc/MuomCA9P0LX4BYyCnsI6T:n3wT9lIbeWJaqfvXQcEA0LHxnf6T","tlshash":"c4e1c6c832b1f0eaa3e325e480ab5806e13a6d5a558e60b6e34557d37874fc540ffec5","first_seen":"2026-07-23T13:38:20.481503Z","last_seen":"2026-08-10T08:00:01.097128Z","times_seen":2105,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4MDcwNl0sezcxMjc0NShyLGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBpLG89MWU2LHM9MWU2LGM9IltiaWcuanNdICIsZj1jKyJJbnZhbGlkICIsdT1mKyJkZWNpbWFsIHBsYWNlcyIsaD1mKyJyb3VuZGluZyBtb2RlIixsPWMrIkRpdmlzaW9uIGJ5IHplcm8iLGE9e30sZz12b2lkIDAsdj0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiB3KHIsZSx0LG4pe3ZhciBpPXIuYztpZih0PT09ZyYmKHQ9ci5jb25zdHJ1Y3Rvci5STSksMCE9PXQmJjEhPT10JiYyIT09dCYmMyE9PXQpdGhyb3cgRXJyb3IoaCk7aWYoZTwxKW49Mz09PXQmJihufHwhIWlbMF0pfHwwPT09ZSYmKDE9PT10JiZpWzBdPj01fHwyPT09dCYmKGlbMF0+NXx8NT09PWlbMF0mJihufHxpWzFdIT09ZykpKSxpLmxlbmd0aD0xLG4/KHIuZT1yLmUtZSsxLGlbMF09MSk6aVswXT1yLmU9MDtlbHNlIGlmKGU8aS5sZW5ndGgpe2lmKG49MT09PXQmJmlbZV0+PTV8fDI9PT10JiYoaVtlXT41fHw1PT09aVtlXSYmKG58fGlbZSsxXSE9PWd8fDEmaVtlLTFdKSl8fDM9PT10JiYobnx8ISFpWzBdKSxpLmxlbmd0aD1lLS0sbilmb3IoOysraVtlXT45OylpW2VdPTAsZS0tfHwoKytyLmUsaS51bnNoaWZ0KDEpKTtmb3IoZT1pLmxlbmd0aDshaVstLWVdOylpLnBvcCgpfXJldHVybiByfWZ1bmN0aW9uIHAocixlLHQpe3ZhciBuPXIuZSxpPXIuYy5qb2luKCIiKSxvPWkubGVuZ3RoO2lmKGUpaT1pLmNoYXJBdCgwKSsobz4xPyIuIitpLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspaT0iMCIraTtpPSIwLiIraX1lbHNlIGlmKG4+MClpZigrK24+bylmb3Iobi09bztuLS07KWkrPSIwIjtlbHNlIG48byYmKGk9aS5zbGljZSgwLG4pKyIuIitpLnNsaWNlKG4pKTtlbHNlIG8+MSYmKGk9aS5jaGFyQXQoMCkrIi4iK2kuc2xpY2UoMSkpO3JldHVybiByLnM8MCYmdD8iLSIraTppfWEuYWJzPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHIucz0xLHJ9LGEuY21wPWZ1bmN0aW9uKHIpe3ZhciBlLHQ9dGhpcyxuPXQuYyxpPShyPW5ldyB0LmNvbnN0cnVjdG9yKHIpKS5jLG89dC5zLHM9ci5zLGM9dC5lLGY9ci5lO2lmKCFuWzBdfHwhaVswXSlyZXR1cm4gblswXT9vOmlbMF0/LXM6MDtpZihvIT1zKXJldHVybiBvO2lmKGU9bzwwLGMhPWYpcmV0dXJuIGM+Zl5lPzE6LTE7Zm9yKHM9KGM9bi5sZW5ndGgpPChmPWkubGVuZ3RoKT9jOmYsbz0tMTsrK288czspaWYobltvXSE9aVtvXSlyZXR1cm4gbltvXT5pW29dXmU/MTotMTtyZXR1cm4gYz09Zj8wOmM+Zl5lPzE6LTF9LGEuZGl2PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1lLmNvbnN0cnVjdG9yLG49ZS5jLGk9KHI9bmV3IHQocikpLmMscz1lLnM9PXIucz8xOi0xLGM9dC5EUDtpZihjIT09fn5jfHxjPDB8fGM+byl0aHJvdyBFcnJvcih1KTtpZighaVswXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gci5zPXMsci5jPVtyLmU9MF0scjt2YXIgZixoLGEsdixwLGQ9aS5zbGljZSgpLEU9Zj1pLmxlbmd0aCxtPW4ubGVuZ3RoLGI9bi5zbGljZSgwLGYpLFA9Yi5sZW5ndGgsXz1yLEQ9Xy5jPVtdLGs9MCxNPWMrKF8uZT1lLmUtci5lKSsxO2ZvcihfLnM9cyxzPU08MD8wOk0sZC51bnNoaWZ0KDApO1ArKzxmOyliLnB1c2goMCk7ZG97Zm9yKGE9MDthPDEwO2ErKyl7aWYoZiE9KFA9Yi5sZW5ndGgpKXY9Zj5QPzE6LTE7ZWxzZSBmb3IocD0tMSx2PTA7KytwPGY7KWlmKGlbcF0hPWJbcF0pe3Y9aVtwXT5iW3BdPzE6LTE7YnJlYWt9aWYoISh2PDApKWJyZWFrO2ZvcihoPVA9PWY/aTpkO1A7KXtpZihiWy0tUF08aFtQXSl7Zm9yKHA9UDtwJiYhYlstLXBdOyliW3BdPTk7LS1iW3BdLGJbUF0rPTEwfWJbUF0tPWhbUF19Zm9yKDshYlswXTspYi5zaGlmdCgpfURbaysrXT12P2E6KythLGJbMF0mJnY/YltQXT1uW0VdfHwwOmI9W25bRV1dfXdoaWxlKChFKys8bXx8YlswXSE9PWcpJiZzLS0pO3JldHVybiBEWzBdfHwxPT1rfHwoRC5zaGlmdCgpLF8uZS0tLE0tLSksaz5NJiZ3KF8sTSx0LlJNLGJbMF0hPT1nKSxffSxhLmVxPWZ1bmN0aW9uKHIpe3JldHVybiAwPT09dGhpcy5jbXAocil9LGEuZ3Q9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPjB9LGEuZ3RlPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmNtcChyKT4tMX0sYS5sdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5jbXAocik8MH0sYS5sdGU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPDF9LGEubWludXM9YS5zdWI9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGksbz10aGlzLHM9by5jb25zdHJ1Y3RvcixjPW8ucyxmPShyPW5ldyBzKHIpKS5zO2lmKGMhPWYpcmV0dXJuIHIucz0tZixvLnBsdXMocik7dmFyIHU9by5jLnNsaWNlKCksaD1vLmUsbD1yLmMsYT1yLmU7aWYoIXVbMF18fCFsWzBdKXJldHVybiBsWzBdP3Iucz0tZjp1WzBdP3I9bmV3IHMobyk6ci5zPTEscjtpZihjPWgtYSl7Zm9yKChpPWM8MCk/KGM9LWMsbj11KTooYT1oLG49bCksbi5yZXZlcnNlKCksZj1jO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKHQ9KChpPXUubGVuZ3RoPGwubGVuZ3RoKT91OmwpLmxlbmd0aCxjPWY9MDtmPHQ7ZisrKWlmKHVbZl0hPWxbZl0pe2k9dVtmXTxsW2ZdO2JyZWFrfWlmKGkmJihuPXUsdT1sLGw9bixyLnM9LXIucyksKGY9KHQ9bC5sZW5ndGgpLShlPXUubGVuZ3RoKSk+MClmb3IoO2YtLTspdVtlKytdPTA7Zm9yKGY9ZTt0PmM7KXtpZih1Wy0tdF08bFt0XSl7Zm9yKGU9dDtlJiYhdVstLWVdOyl1W2VdPTk7LS11W2VdLHVbdF0rPTEwfXVbdF0tPWxbdF19Zm9yKDswPT09dVstLWZdOyl1LnBvcCgpO2Zvcig7MD09PXVbMF07KXUuc2hpZnQoKSwtLWE7cmV0dXJuIHVbMF18fChyLnM9MSx1PVthPTBdKSxyLmM9dSxyLmU9YSxyfSxhLm1vZD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5zLG89KHI9bmV3IG4ocikpLnMKO2lmKCFyLmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIHQucz1yLnM9MSxlPTE9PXIuY21wKHQpLHQucz1pLHIucz1vLGU/bmV3IG4odCk6KGk9bi5EUCxvPW4uUk0sbi5EUD1uLlJNPTAsdD10LmRpdihyKSxuLkRQPWksbi5STT1vLHRoaXMubWludXModC50aW1lcyhyKSkpfSxhLnBsdXM9YS5hZGQ9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLGk9dGhpcyxvPWkuY29uc3RydWN0b3I7aWYocj1uZXcgbyhyKSxpLnMhPXIucylyZXR1cm4gci5zPS1yLnMsaS5taW51cyhyKTt2YXIgcz1pLmUsYz1pLmMsZj1yLmUsdT1yLmM7aWYoIWNbMF18fCF1WzBdKXJldHVybiB1WzBdfHwoY1swXT9yPW5ldyBvKGkpOnIucz1pLnMpLHI7aWYoYz1jLnNsaWNlKCksZT1zLWYpe2ZvcihlPjA/KGY9cyxuPXUpOihlPS1lLG49Yyksbi5yZXZlcnNlKCk7ZS0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKGMubGVuZ3RoLXUubGVuZ3RoPDAmJihuPXUsdT1jLGM9biksZT11Lmxlbmd0aCx0PTA7ZTtjW2VdJT0xMCl0PShjWy0tZV09Y1tlXSt1W2VdK3QpLzEwfDA7Zm9yKHQmJihjLnVuc2hpZnQodCksKytmKSxlPWMubGVuZ3RoOzA9PT1jWy0tZV07KWMucG9wKCk7cmV0dXJuIHIuYz1jLHIuZT1mLHJ9LGEucG93PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1uZXcgZS5jb25zdHJ1Y3RvcigiMSIpLG49dCxpPXI8MDtpZihyIT09fn5yfHxyPC0xZTZ8fHI+cyl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihpJiYocj0tcik7MSZyJiYobj1uLnRpbWVzKGUpKSxyPj49MTspZT1lLnRpbWVzKGUpO3JldHVybiBpP3QuZGl2KG4pOm59LGEucHJlYz1mdW5jdGlvbihyLGUpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiB3KG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHIsZSl9LGEucm91bmQ9ZnVuY3Rpb24ocixlKXtpZihyPT09ZylyPTA7ZWxzZSBpZihyIT09fn5yfHxyPC1vfHxyPm8pdGhyb3cgRXJyb3IodSk7cmV0dXJuIHcobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcykscit0aGlzLmUrMSxlKX0sYS5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHIsZSx0LG49dGhpcyxpPW4uY29uc3RydWN0b3Isbz1uLnMscz1uLmUsZj1uZXcgaSgiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IGkobik7aWYobzwwKXRocm93IEVycm9yKGMrIk5vIHNxdWFyZSByb290Iik7MD09PShvPU1hdGguc3FydChuKyIiKSl8fG89PT0xLzA/KChlPW4uYy5qb2luKCIiKSkubGVuZ3RoK3MmMXx8KGUrPSIwIikscz0oKHMrMSkvMnwwKS0oczwwfHwxJnMpLHI9bmV3IGkoKChvPU1hdGguc3FydChlKSk9PTEvMD8iNWUiOihvPW8udG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLG8uaW5kZXhPZigiZSIpKzEpKStzKSk6cj1uZXcgaShvKyIiKSxzPXIuZSsoaS5EUCs9NCk7ZG97dD1yLHI9Zi50aW1lcyh0LnBsdXMobi5kaXYodCkpKX13aGlsZSh0LmMuc2xpY2UoMCxzKS5qb2luKCIiKSE9PXIuYy5zbGljZSgwLHMpLmpvaW4oIiIpKTtyZXR1cm4gdyhyLChpLkRQLT00KStyLmUrMSxpLlJNKX0sYS50aW1lcz1hLm11bD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLGk9dC5jLG89KHI9bmV3IG4ocikpLmMscz1pLmxlbmd0aCxjPW8ubGVuZ3RoLGY9dC5lLHU9ci5lO2lmKHIucz10LnM9PXIucz8xOi0xLCFpWzBdfHwhb1swXSlyZXR1cm4gci5jPVtyLmU9MF0scjtmb3Ioci5lPWYrdSxzPGMmJihlPWksaT1vLG89ZSx1PXMscz1jLGM9dSksZT1uZXcgQXJyYXkodT1zK2MpO3UtLTspZVt1XT0wO2ZvcihmPWM7Zi0tOyl7Zm9yKGM9MCx1PXMrZjt1PmY7KWM9ZVt1XStvW2ZdKmlbdS1mLTFdK2MsZVt1LS1dPWMlMTAsYz1jLzEwfDA7ZVt1XT1jfWZvcihjPysrci5lOmUuc2hpZnQoKSxmPWUubGVuZ3RoOyFlWy0tZl07KWUucG9wKCk7cmV0dXJuIHIuYz1lLHJ9LGEudG9FeHBvbmVudGlhbD1mdW5jdGlvbihyLGUpe3ZhciB0PXRoaXMsbj10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MHx8cj5vKXRocm93IEVycm9yKHUpO2Zvcih0PXcobmV3IHQuY29uc3RydWN0b3IodCksKytyLGUpO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMCwhIW4pfSxhLnRvRml4ZWQ9ZnVuY3Rpb24ocixlKXt2YXIgdD10aGlzLG49dC5jWzBdO2lmKHIhPT1nKXtpZihyIT09fn5yfHxyPDB8fHI+byl0aHJvdyBFcnJvcih1KTtmb3Iocj1yKyh0PXcobmV3IHQuY29uc3RydWN0b3IodCkscit0LmUrMSxlKSkuZSsxO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIHAodCwhMSwhIW4pfSxhLnRvSlNPTj1hLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxlPXIuY29uc3RydWN0b3I7cmV0dXJuIHAocixyLmU8PWUuTkV8fHIuZT49ZS5QRSwhIXIuY1swXSl9LGEudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgcj1OdW1iZXIocCh0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEoci50b1N0cmluZygpKSl0aHJvdyBFcnJvcihjKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiByfSxhLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHIsZSl7dmFyIHQ9dGhpcyxuPXQuY29uc3RydWN0b3IsaT10LmNbMF07aWYociE9PWcpe2lmKHIhPT1+fnJ8fHI8MXx8cj5vKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2Zvcih0PXcobmV3IG4odCkscixlKTt0LmMubGVuZ3RoPHI7KXQuYy5wdXNoKDApfXJldHVybiBwKHQscjw9dC5lfHx0LmU8PW4uTkV8fHQuZT49bi5QRSwhIWkpfSxhLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGU9ci5jb25zdHJ1Y3RvcjtpZighMD09PWUuc3RyaWN0KXRocm93IEVycm9yKGMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiBwKHIsci5lPD1lLk5FfHxyLmU+PWUuUEUsITApfSxpPWZ1bmN0aW9uIHIoKXtmdW5jdGlvbiBlKHQpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQ9PT1nP3IoKTpuZXcgZSh0KTtpZih0IGluc3RhbmNlb2YgZSluLnM9dC5zLG4uZT10LmUsbi5jPXQuYy5zbGljZSgpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiB0KXsKaWYoITA9PT1lLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7dD0wPT09dCYmMS90PDA/Ii0wIjpTdHJpbmcodCl9IWZ1bmN0aW9uKHIsZSl7dmFyIHQsbixpO2lmKCF2LnRlc3QoZSkpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7ci5zPSItIj09ZS5jaGFyQXQoMCk/KGU9ZS5zbGljZSgxKSwtMSk6MSwodD1lLmluZGV4T2YoIi4iKSk+LTEmJihlPWUucmVwbGFjZSgiLiIsIiIpKTsobj1lLnNlYXJjaCgvZS9pKSk+MD8odDwwJiYodD1uKSx0Kz0rZS5zbGljZShuKzEpLGU9ZS5zdWJzdHJpbmcoMCxuKSk6dDwwJiYodD1lLmxlbmd0aCk7Zm9yKGk9ZS5sZW5ndGgsbj0wO248aSYmIjAiPT1lLmNoYXJBdChuKTspKytuO2lmKG49PWkpci5jPVtyLmU9MF07ZWxzZXtmb3IoO2k+MCYmIjAiPT1lLmNoYXJBdCgtLWkpOyk7Zm9yKHIuZT10LW4tMSxyLmM9W10sdD0wO248PWk7KXIuY1t0KytdPStlLmNoYXJBdChuKyspfX0obix0KX1uLmNvbnN0cnVjdG9yPWV9cmV0dXJuIGUucHJvdG90eXBlPWEsZS5EUD0yMCxlLlJNPTEsZS5ORT0tNyxlLlBFPTIxLGUuc3RyaWN0PWZhbHNlLGUucm91bmREb3duPTAsZS5yb3VuZEhhbGZVcD0xLGUucm91bmRIYWxmRXZlbj0yLGUucm91bmRVcD0zLGV9KCksaS5kZWZhdWx0PWkuQmlnPWksdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gaX0uY2FsbChlLHQsZSxyKSl8fChyLmV4cG9ydHM9bil9KCl9LDk2MzA5OChyLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtnZXRJc29MYW5ndWFnZUNvZGVGcm9tTGFuZ3VhZ2U6KCk9Pml9KTtjb25zdCBuPXthcl9BRToiYXIiLGJyOiJwdCIsZGVfREU6ImRlIixjYV9FUzoiY2EiLGhlX0lMOiJoZSIsaWRfSUQ6ImlkIixpbjoiZW4iLGtyOiJrbyIsbXNfTVk6Im1zIixzdl9TRToic3YiLHRoX1RIOiJ0aCIsdWs6ImVuIix2aV9WTjoidmkiLHpoX0NOOiJ6aC1IYW5zIix6aF9UVzoiemgtSGFudCIsemg6InpoLUhhbnMiLGh1X0hVOiJodS1IVSJ9O2Z1bmN0aW9uIGkocil7cmV0dXJuIG5bcl18fHJ9fX1dKTs="}},"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/99309.ca4ac19b8ab37679f251.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.509Z","timestamp":1785136901509,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99309.ca4ac19b8ab37679f251.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7f26\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b5dd01da64c285b61e5b2d3fac2f8e7d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32550,"size_decoded":11901,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"07536e5ca803829ab657e62c61210dbc","sha1":"0d11d8bbefaca8f90cf1e077c6fa59dd3d64373b","sha256":"378146c5d601a41f6b19209c59c2a432275153ee70df8a706ba1ef83af1e43a5","sha512":"c85137ba985b9fc6ebe8e1027753279bacf049530b0ab2ea0eef73d83967d84a9ca4fdb32907e453f60678d15cea4dc76ef348e7aeb9b2609b88441ad1e984ae","ssdeep":"768:hsXBcQmT4krvwY0u+/z8SSV3WMODEDQKtGn72TCqXWmXMxpp0rf7eilfefe8LMsX:hsX1a0d/zESPqheft","tlshash":"2de21ad1309174d923ff4edba0ab0558e33a1764b85a8c60b0b8eddc25d3818b276dbd","first_seen":"2026-07-23T14:00:31.509299Z","last_seen":"2026-07-28T06:17:53.60062Z","times_seen":112,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5OTMwOV0sezgwMzI4NyhlKXtlLmV4cG9ydHM9eyJkZWZhdWx0LWRyYXdlci1taW4tdG9wLWRpc3RhbmNlIjoiMTAwcHgiLHdyYXA6IndyYXAtaWlpMTE4b04iLHBvc2l0aW9uQm90dG9tOiJwb3NpdGlvbkJvdHRvbS1paWkxMThvTiIsYmFja2Ryb3A6ImJhY2tkcm9wLWlpaTExOG9OIixkcmF3ZXI6ImRyYXdlci1paWkxMThvTiIscG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sMTQwMDE3KGUpe2UuZXhwb3J0cz17bG9nbzoibG9nby1WQ05LdWJXcSIsaGlkZGVuOiJoaWRkZW4tVkNOS3ViV3EiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLVZDTkt1YldxIix4eHhzbWFsbDoieHh4c21hbGwtVkNOS3ViV3EiLHh4c21hbGw6Inh4c21hbGwtVkNOS3ViV3EiLHhzbWFsbDoieHNtYWxsLVZDTkt1YldxIixzbWFsbDoic21hbGwtVkNOS3ViV3EiLG1lZGl1bToibWVkaXVtLVZDTkt1YldxIixsYXJnZToibGFyZ2UtVkNOS3ViV3EiLHhsYXJnZToieGxhcmdlLVZDTkt1YldxIix4eGxhcmdlOiJ4eGxhcmdlLVZDTkt1YldxIix4eHhsYXJnZToieHh4bGFyZ2UtVkNOS3ViV3EiLHNrZWxldG9uOiJza2VsZXRvbi1WQ05LdWJXcSIsbGV0dGVyOiJsZXR0ZXItVkNOS3ViV3EifX0sNTYxMjUwKGUpe2UuZXhwb3J0cz17YmFja2dyb3VuZDoiYmFja2dyb3VuZC1OUW9tNUk4WiIsbWVkaXVtOiJtZWRpdW0tTlFvbTVJOFoiLGxhcmdlOiJsYXJnZS1OUW9tNUk4WiIsZGlzYWJsZWQ6ImRpc2FibGVkLU5Rb201SThaIixvcGVuOiJvcGVuLU5Rb201SThaIixzZWxlY3RlZDoic2VsZWN0ZWQtTlFvbTVJOFoiLG5ldXRyYWw6Im5ldXRyYWwtTlFvbTVJOFoiLGRhbmdlcjoiZGFuZ2VyLU5Rb201SThaIn19LDQ0MzYxOChlKXtlLmV4cG9ydHM9e2VsbGlwc2lzOiJlbGxpcHNpcy1EYXpSODVWQSIsd2l0aEdhcHM6IndpdGhHYXBzLURhelI4NVZBIn19LDQ0MDkyNihlKXtlLmV4cG9ydHM9e2hvdGtleToiaG90a2V5LVhjNlNocENxIn19LDIxMjQ4NihlKXtlLmV4cG9ydHM9e2J1dHRvbkNvbnRlbnQ6ImJ1dHRvbkNvbnRlbnQtVlg0a3BSOWkiLGxlZnQ6ImxlZnQtVlg0a3BSOWkifX0sMzU5MTE2KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tWE5VaXZUb3UifX0sOTQ4MzkwKGUpe2UuZXhwb3J0cz17bWlkZGxlOiJtaWRkbGUtRnR3d1JyN3UiLGhhc05vRW5kU2xvdDoiaGFzTm9FbmRTbG90LUZ0d3dScjd1Iix0aXRsZToidGl0bGUtRnR3d1JyN3UiLGRlc2NyaXB0aW9uOiJkZXNjcmlwdGlvbi1GdHd3UnI3dSIsaGFzVGl0bGU6Imhhc1RpdGxlLUZ0d3dScjd1IixoYXNEZXNjcmlwdGlvbjoiaGFzRGVzY3JpcHRpb24tRnR3d1JyN3UifX0sMjMyMDU0KGUpe2UuZXhwb3J0cz17cmlnaHQ6InJpZ2h0LUNHZGpLYTlZIixjaGlsZDoiY2hpbGQtQ0dkakthOVkifX0sNDQwMDk2KGUpe2UuZXhwb3J0cz17c2Nyb2xsQ29udGFpbmVyOiJzY3JvbGxDb250YWluZXItekcyQ3FEZTIifX0sNjI3MDIyKGUpe2UuZXhwb3J0cz17ZmxleDoiZmxleC1nbzBaZU5RRiIsZml4ZWRIZWFkZXI6ImZpeGVkSGVhZGVyLWdvMFplTlFGIixmaXhlZEZvb3RlcjoiZml4ZWRGb290ZXItZ28wWmVOUUYiLG1haW5TY3JvbGxXcmFwcGVyOiJtYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRiIsZml4ZWRIZWFkZXJDb250ZW50OiJmaXhlZEhlYWRlckNvbnRlbnQtZ28wWmVOUUYiLGZpeGVkRm9vdGVyQ29udGVudDoiZml4ZWRGb290ZXJDb250ZW50LWdvMFplTlFGIixub1Njcm9sbDoibm9TY3JvbGwtZ28wWmVOUUYiLG1haW46Im1haW4tZ28wWmVOUUYiLG1haW5Db250ZW50OiJtYWluQ29udGVudC1nbzBaZU5RRiJ9fSw0NTI0NjQoZSl7ZS5leHBvcnRzPXtwa246InBrbi1jVHBfdW5WOCJ9fSw1MTgyNzIoZSl7ZS5leHBvcnRzPXtldmVudFdyYXBwZXI6ImV2ZW50V3JhcHBlci1fRThVWFZLMSJ9fSw2MjM2MTMoZSl7ZS5leHBvcnRzPXttb2JpbGVDb250ZXh0OiJtb2JpbGVDb250ZXh0LVZ4bjRMaFlMIixhbmNob3JDb250ZXh0OiJhbmNob3JDb250ZXh0LVZ4bjRMaFlMIn19LDk3NTI4NShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItaGN0MnlKdksiLGFuaW1hdGVkOiJhbmltYXRlZC1oY3QyeUp2SyIscHVsc2F0aW9uOiJwdWxzYXRpb24taGN0MnlKdksifX0sMzEzNzcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RyYXdlckNvbnRleHQ6KCk9PmEsRHJhd2VyTWFuYWdlcjooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTk1Njc4KTtjbGFzcyBpIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2lzQm9keUZpeGVkPSExLHRoaXMuX2FkZERyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazpbLi4udC5zdGFjayxlXX0pKSl9LHRoaXMuX3JlbW92ZURyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazp0LnN0YWNrLmZpbHRlcigodD0+dCE9PWUpKX0pKSl9LHRoaXMuc3RhdGU9e3N0YWNrOltdfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXshdC5zdGFjay5sZW5ndGgmJnRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiYoKDAsby5yZXF1ZXN0TW9kYWxTY3JvbGxMb2NrKSh3aW5kb3cpLHRoaXMuX2lzQm9keUZpeGVkPSEwKSx0LnN0YWNrLmxlbmd0aCYmIXRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiZ0aGlzLl9pc0JvZHlGaXhlZCYmKCgwLG8ucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigwLG8ucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KX1yZW5kZXIoKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuUHJvdmlkZXIse3ZhbHVlOnthZGREcmF3ZXI6dGhpcy5fYWRkRHJhd2VyLHJlbW92ZURyYXdlcjp0aGlzLl9yZW1vdmVEcmF3ZXIsCmN1cnJlbnREcmF3ZXI6dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGg/dGhpcy5zdGF0ZS5zdGFja1t0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aC0xXTpudWxsfX0sdGhpcy5wcm9wcy5jaGlsZHJlbil9fWNvbnN0IGE9ci5jcmVhdGVDb250ZXh0KG51bGwpfSw5NjQyMTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RHJhd2VyOigpPT5wfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGk9bi5uKG8pLGE9bigxMzg2MzgpLHM9big1ODU0OCksbD1uKDE1MDE1MCksYz1uKDMxMzc3MiksdT1uKDYzMjk5MiksZD1uKDU1ODAzMCksZj1uKDgwMzI4Nyk7dmFyIG07ZnVuY3Rpb24gcChlKXtjb25zdHtwb3NpdGlvbjp0PSJCb3R0b20iLG9uQ2xvc2U6bixjaGlsZHJlbjpvLHJlZmVyZW5jZTpkLGNsYXNzTmFtZTptLHRoZW1lOnA9Zn09ZSx2PSgwLGEuZW5zdXJlTm90TnVsbCkoKDAsci51c2VDb250ZXh0KShjLkRyYXdlckNvbnRleHQpKSxbaF09KDAsci51c2VTdGF0ZSkoKCgpPT4oMCxsLnJhbmRvbUhhc2gpKCkpKSxDPSgwLHIudXNlUmVmKShudWxsKSxiPSgwLHIudXNlQ29udGV4dCkodS5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAsci51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGEuZW5zdXJlTm90TnVsbCkoQy5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGIuc3Vic2NyaWJlKHYsbiksdi5hZGREcmF3ZXIoaCksKCk9Pnt2LnJlbW92ZURyYXdlcihoKSxiLnVuc3Vic2NyaWJlKHYsbil9KSksW10pLHIuY3JlYXRlRWxlbWVudChzLlBvcnRhbCxudWxsLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmQsY2xhc3NOYW1lOmkoKShmLndyYXAsZltgcG9zaXRpb24ke3R9YF0pfSxoPT09di5jdXJyZW50RHJhd2VyJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLmJhY2tkcm9wLG9uQ2xpY2s6bn0pLHIuY3JlYXRlRWxlbWVudChFLHtjbGFzc05hbWU6aSgpKHAuZHJhd2VyLGZbYHBvc2l0aW9uJHt0fWBdLG0pLHJlZjpDLCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LG8pKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KG18fChtPXt9KSk7Y29uc3QgRT0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpuLC4uLm99PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6aSgpKGYuZHJhd2VyLG4pLHRhYkluZGV4Oi0xLHJlZjp0LC4uLm99KX0pKX0sOTk5NTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QXBwQ29udGV4dDooKT0+cn0pO2NvbnN0IHI9KDAsbig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtpc09uTW9iaWxlQXBwUGFnZTooKT0+ITEsaXNSdGw6ITEsbG9jYWxlOiJlbiIscmVuZGVyTW9kZToibGVnYWN5In0pfSwzMzI2ODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7REVGQVVMVF9JQ09OX0JVVFRPTl9WQVJJQU5UOigpPT5vLEljb25CdXR0b25WYXJpYW50Q29udGV4dDooKT0+aSxJY29uQnV0dG9uVmFyaWFudENvbnRleHRQcm92aWRlcjooKT0+YX0pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSJwcmltYXJ5IixpPSgwLHIuY3JlYXRlQ29udGV4dCkoe3ZhcmlhbnQ6dm9pZCAwfSk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGkuUHJvdmlkZXIse3ZhbHVlOnt2YXJpYW50OmUudmFyaWFudH19LGUuY2hpbGRyZW4pfX0sMzg3Nzc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NpcmNsZUxvZ286KCk9PnMsaGlkZGVuQ2lyY2xlTG9nb0NsYXNzOigpPT5hfSk7dmFyIHI9big3Nzk0NzQpLG89big3OTQxODcpLGk9bigxNDAwMTcpO2NvbnN0IGE9bi5uKGkpKCkuaGlkZGVuO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD0oMCxvLmlzQ2lyY2xlTG9nb1dpdGhVcmxQcm9wcykoZSksW24saV09KDAsci51c2VTdGF0ZSkoMCksYT0oMCxyLnVzZVJlZikobnVsbCkscz0oMCxvLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLG4sZS5jbGFzc05hbWUpLGw9ZS5hbHQ/P2UudGl0bGU/PyIiLGM9dD9sWzBdOmUucGxhY2Vob2xkZXJMZXR0ZXI7cmV0dXJuKDAsci51c2VFZmZlY3QpKCgoKT0+aShhLmN1cnJlbnQ/LmNvbXBsZXRlPz8hdD8yOjEpKSxbdF0pLHQmJjMhPT1uP3IuY3JlYXRlRWxlbWVudCgiaW1nIix7cmVmOmEsY2xhc3NOYW1lOnMsY3Jvc3NPcmlnaW46IiIsc3JjOmUubG9nb1VybCxhbHQ6bCx0aXRsZTplLnRpdGxlLGxvYWRpbmc6ZS5sb2FkaW5nLG9uTG9hZDooKT0+aSgyKSxvbkVycm9yOigpPT5pKDMpLCJhcmlhLWxhYmVsIjplWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjplWyJhcmlhLWhpZGRlbiJdfSk6ci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMsdGl0bGU6ZS50aXRsZSwiYXJpYS1sYWJlbCI6ZVsiYXJpYS1sYWJlbCJdLCJhcmlhLWhpZGRlbiI6ZVsiYXJpYS1oaWRkZW4iXX0sYyl9fSw3OTQxODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U3R5bGVDbGFzc2VzOigpPT5sLGlzQ2lyY2xlTG9nb1dpdGhVcmxQcm9wczooKT0+Y30pO3ZhciByPW4oOTE0NDg3KSxvPW4ubihyKSxpPW4oMTM2NCksYT1uKDE0MDAxNykscz1uLm4oYSk7ZnVuY3Rpb24gbChlLHQ9MixuKXtyZXR1cm4gbygpKHMoKS5sb2dvLHMoKVtlXSxuLDA9PT10fHwxPT09dD9vKCkoaS5za2VsZXRvblRoZW1lLndyYXBwZXIscygpLnNrZWxldG9uKTpzKCkubGV0dGVyLDE9PT10JiZpLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuImxvZ29VcmwiaW4gZSYmbnVsbCE9PWUubG9nb1VybCYmdm9pZCAwIT09ZS5sb2dvVXJsJiYwIT09ZS5sb2dvVXJsLmxlbmd0aH19LDMwOTkyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDdXN0b21CZWhhdmlvdXJDb250ZXh0OigpPT5yfSk7Y29uc3Qgcj0oMCxuKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiEwfSk7ci5kaXNwbGF5TmFtZT0iQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCJ9LDUyOTQxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHsKdXNlSXNGaXJzdFJlbmRlcjooKT0+byx1c2VJc05vbkZpcnN0UmVuZGVyOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKCEwKTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57dCghMSl9KSxbXSksZX1mdW5jdGlvbiBpKCl7cmV0dXJuIW8oKX19LDM0MjI2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VGb3JjZVVwZGF0ZTooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSgpPT57Y29uc3RbLGVdPSgwLHIudXNlUmVkdWNlcikoKGU9PmUrMSksMCk7cmV0dXJuIGV9fSw3ODc4OTUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlRnVuY3Rpb25hbFJlZk9iamVjdDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2NvbnN0IHQ9bj0+e2UobiksdC5jdXJyZW50PW59O3JldHVybiB0LmN1cnJlbnQ9bnVsbCx0fSgoZT0+e3MuY3VycmVudChlKX0pKSksW10pLG49KDAsci51c2VSZWYpKG51bGwpLGk9dD0+e2lmKG51bGw9PT10KXJldHVybiBhKG4uY3VycmVudCx0KSx2b2lkKG4uY3VycmVudD1udWxsKTtuLmN1cnJlbnQhPT1lJiYobi5jdXJyZW50PWUsYShuLmN1cnJlbnQsdCkpfSxzPSgwLHIudXNlUmVmKShpKTtyZXR1cm4gcy5jdXJyZW50PWksKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntpZihudWxsIT09dC5jdXJyZW50KXJldHVybiBzLmN1cnJlbnQodC5jdXJyZW50KSwoKT0+cy5jdXJyZW50KG51bGwpfSksW2VdKSx0fWZ1bmN0aW9uIGEoZSx0KXtudWxsIT09ZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6ZS5jdXJyZW50PXQpfX0sNjg5ODk0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2hvdmVyTW91c2VFdmVudEZpbHRlcjooKT0+YSx1c2VBY2N1cmF0ZUhvdmVyOigpPT5zLHVzZUhvdmVyOigpPT5vLHVzZUhvdmVyRGVwcmVjYXRlZDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKCl7Y29uc3RbZSx0XT0oMCxyLnVzZVN0YXRlKSghMSk7cmV0dXJuW2Use29uTW91c2VFbnRlcjpmdW5jdGlvbihlKXt0KCEwKX0sb25Nb3VzZUxlYXZlOmZ1bmN0aW9uKGUpe3QoITEpfX1dfWZ1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZU92ZXI6ZnVuY3Rpb24oZSl7YShlKSYmdCghMCl9LG9uTW91c2VPdXQ6ZnVuY3Rpb24oZSl7YShlKSYmdCghMSl9fV19ZnVuY3Rpb24gYShlKXtyZXR1cm4hZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl9ZnVuY3Rpb24gcyhlKXtjb25zdFt0LG5dPSgwLHIudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD10PT57aWYobnVsbD09PWUuY3VycmVudClyZXR1cm47Y29uc3Qgcj1lLmN1cnJlbnQuY29udGFpbnModC50YXJnZXQpO24ocil9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpfSksW10pLHR9fSw3MTc5MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlTWF0Y2hNZWRpYTooKT0+aSx1c2VTYWZlTWF0Y2hNZWRpYTooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdD0hMSl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSh0KTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD13aW5kb3cubWF0Y2hNZWRpYShlKTtmdW5jdGlvbiBuKCl7byh0Lm1hdGNoZXMpfXJldHVybiBuKCksdC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG4pLCgpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG4pfX0pLFtlXSksbn1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci51c2VNZW1vKSgoKCk9PndpbmRvdy5tYXRjaE1lZGlhKGUpLm1hdGNoZXMpLFtdKTtyZXR1cm4gbyhlLHQpfX0sOTQ4NDUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbW1vbkljb246KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4sYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6aSx0aXRsZTphLGljb246cz0iIiwuLi5sfT1lLGM9bCx1PSEoIW8mJiFpKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6aSwiYXJpYS1oaWRkZW4iOiF1LHJlZjp0LHJvbGU6ImltZyIsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpzfSxjbGFzc05hbWU6bix0aXRsZTphLC4uLmN9KX0pKX0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOm8sYXJpYUxhYmVsOmksYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOnMsLi4ubH09ZSxjPSEhKG98fGl8fGEpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmwscmVmOnQsImFyaWEtbGFiZWwiOmksImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOnN8fCFjLHRpdGxlOm8sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSw3NDE0MDUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TGlzdEl0ZW1IYXNEZXNjcmlwdGlvbkNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSghMSl9LDYyODgyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtMaXN0SXRlbTooKT0+a30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxpPW4ubihvKSxhPW4oNTYxMjUwKSxzPW4ubihhKTtmdW5jdGlvbiBsKGUpe2NvbnN0IHQ9KDAsCnIudXNlUmVmKShudWxsKSx7Y2hpbGRyZW46bixsaXN0SXRlbVJlZjpvPXQsaXNPcGVuOmEsc2VsZWN0ZWQ6bCxkaXNhYmxlZDpjLG9uTW91c2VFbnRlcjp1LHNpemU6ZD0ibWVkaXVtIixhcmlhQnVzeTpmLGludGVudDptPSJuZXV0cmFsIixkYXRhUWFJZDpwfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjpwLGNsYXNzTmFtZTppKCkocygpLmJhY2tncm91bmQsbCYmcygpLnNlbGVjdGVkLGEmJnMoKS5vcGVuLGMmJnMoKS5kaXNhYmxlZCxzKClbZF0scygpW21dKSxyZWY6byxvbk1vdXNlRW50ZXI6dSwiYXJpYS1idXN5IjpmfSxuKX12YXIgYz1uKDIzNTcyNCksdT1uKDc4Nzg5NSksZD1uKDM0NTExNiksZj1uKDM1OTExNiksbT1uLm4oZik7ZnVuY3Rpb24gcChlKXtjb25zdCB0PSgwLHIudXNlUmVmKShudWxsKSx7Y2hpbGRyZW46bixsaXN0SXRlbUJ1dHRvblJlZjpvPXQsbGlzdEl0ZW1CdXR0b25JZDphLG9uS2V5RG93bkxpc3RJdGVtQnV0dG9uOnMsaHJlZjpsLHRhcmdldDpmPSJfYmxhbmsiLGhvdGtleTpwLGFyaWFDaGVja2VkOkUsYXJpYVNlbGVjdGVkOnYsYXJpYUhhc3BvcHVwOmgsYXJpYUNvbnRyb2xzOkMsYXJpYUV4cGFuZGVkOmIsYXJpYUxhYmVsOmcsYXJpYUxldmVsOngscm9sZTpPLGRpc2FibGVkOk4saXNPcGVuOncsc2VsZWN0ZWQ6UCxvbkNsaWNrOkwsdGFiSW5kZXg6VD0wLHJlbDpfLGRhdGFRYUlkOnksLi4uU309ZSxJPSgwLGQuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoUyksUj0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKG8pLEE9KDAsci51c2VDYWxsYmFjaykoKGU9PntpZihSLmN1cnJlbnQhPT1lLnRhcmdldClyZXR1cm47cz8uKGUpO2NvbnN0IHQ9KDAsYy5oYXNoRnJvbUV2ZW50KShlKTszMiE9PXQmJjEzIT09dHx8KHZvaWQgMCE9PWwmJndpbmRvdy5vcGVuKGwsZiksTD8uKGUpLGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKX0pLFtMLGwsZixzLFJdKSxrPXtyb2xlOk8sImFyaWEta2V5c2hvcnRjdXRzIjpwPyhEPXAsQXJyYXkuaXNBcnJheShEKT9ELm1hcChjLmhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHMpLmpvaW4oIiAiKTooMCxjLmhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHMpKEQpKTp2b2lkIDAsImFyaWEtZXhwYW5kZWQiOmIsImFyaWEtaGFzcG9wdXAiOmgsImFyaWEtY29udHJvbHMiOkMsImFyaWEtY2hlY2tlZCI6RSwiYXJpYS1zZWxlY3RlZCI6diwiYXJpYS1kaXNhYmxlZCI6TiwiYXJpYS1sYWJlbCI6ZywiYXJpYS1sZXZlbCI6eCxjbGFzc05hbWU6aSgpKG0oKS5idXR0b24sUCYmbSgpLnNlbGVjdGVkKSx0YWJJbmRleDpULHJlZjpSLG9uS2V5RG93bjpOP3ZvaWQgMDpBLG9uQ2xpY2s6Tj92b2lkIDA6TCxpZDphLCJkYXRhLXFhLWlkIjp5LC4uLkl9O3ZhciBEO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLCFsJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmt9LCIgIixuLCIgIiksbCYmci5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjpsLHRhcmdldDpmLHJlbDpfLC4uLmt9LG4pKX12YXIgRT1uKDMzMjY4Nyksdj1uKDQ0MDkyNiksaD1uLm4odik7ZnVuY3Rpb24gQyhlKXtjb25zdHtob3RrZXk6dH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aCgpLmhvdGtleX0sKG49dCxBcnJheS5pc0FycmF5KG4pP24ubWFwKGMuaHVtYW5SZWFkYWJsZUhhc2gpLmpvaW4oIiwgIik6KDAsYy5odW1hblJlYWRhYmxlSGFzaCkobikpKTt2YXIgbn12YXIgYj1uKDIzMjA1NCksZz1uLm4oYik7ZnVuY3Rpb24geChlKXtjb25zdHtyaWdodFNsb3Q6dCxob3RrZXk6bixzZWxlY3RlZDpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnKCkucmlnaHR9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcoKS5jaGlsZH0sci5jcmVhdGVFbGVtZW50KEUuSWNvbkJ1dHRvblZhcmlhbnRDb250ZXh0UHJvdmlkZXIse3ZhcmlhbnQ6bz8icHJpbWFyeS1zcGVjaWFsIjoicHJpbWFyeSJ9LG4mJnIuY3JlYXRlRWxlbWVudChDLHtob3RrZXk6bn0pLHQpKSl9dmFyIE89big0NDM2MTgpLE49bi5uKE8pO2Z1bmN0aW9uIHcoZSl7Y29uc3R7ZWxsaXBzaXM6dCx0ZXh0Om4sY2xhc3NOYW1lOm99PWU7cmV0dXJuIG4/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKG8sInN0cmluZyI9PXR5cGVvZiBuJiZ0JiZOKCkuZWxsaXBzaXMsInN0cmluZyIhPXR5cGVvZiBuJiZOKCkud2l0aEdhcHMsdCYmImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKX0sbik6bnVsbH12YXIgUD1uKDk0ODM5MCksTD1uLm4oUCk7ZnVuY3Rpb24gVChlKXtjb25zdHtlbGxpcHNpczp0PSEwLHRpdGxlOm4sZGVzY3JpcHRpb246byxoYXNFbmRTbG90OmF9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShMKCkubWlkZGxlLG4mJkwoKS5oYXNUaXRsZSxvJiZMKCkuaGFzRGVzY3JpcHRpb24sIWEmJkwoKS5oYXNOb0VuZFNsb3QpfSxyLmNyZWF0ZUVsZW1lbnQodyx7a2V5OiJ0aXRsZSIsY2xhc3NOYW1lOkwoKS50aXRsZSx0ZXh0Om4sZWxsaXBzaXM6dH0pLHIuY3JlYXRlRWxlbWVudCh3LHtrZXk6ImRlc2NyaXB0aW9uIixjbGFzc05hbWU6TCgpLmRlc2NyaXB0aW9uLHRleHQ6byxlbGxpcHNpczp0fSkpfXZhciBfPW4oMjEyNDg2KSx5PW4ubihfKTtmdW5jdGlvbiBTKGUpe2NvbnN0e2xlZnRTbG90OnQscmlnaHRTbG90Om4saG90a2V5Om8sc2VsZWN0ZWQ6aSxlbGxpcHNpczphLHRpdGxlOnMsZGVzY3JpcHRpb246bH09ZSxjPXZvaWQgMCE9PXQmJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkoKS5sZWZ0LHN0eWxlOnsiLS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1sZWZ0U2xvdEl0ZW1zTnVtYmVyIjpBcnJheS5pc0FycmF5KHQpP3QubGVuZ3RoOjF9fSx0KSx1PW58fG8/ci5jcmVhdGVFbGVtZW50KHgse3JpZ2h0U2xvdDpuLGhvdGtleTpvLHNlbGVjdGVkOml9KTpudWxsLGQ9ci5jcmVhdGVFbGVtZW50KFQse2VsbGlwc2lzOmEsdGl0bGU6cyxkZXNjcmlwdGlvbjpsLGhhc0VuZFNsb3Q6ISF1fSkKO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkoKS5idXR0b25Db250ZW50fSxjLGQsdSkpfXZhciBJLFIsQT1uKDc0MTQwNSk7ZnVuY3Rpb24gayhlKXtjb25zdHt0aXRsZTp0LGRlc2NyaXB0aW9uOm4sbGlzdEl0ZW1SZWY6byxsaXN0SXRlbUJ1dHRvblJlZjppLGlzT3BlbjphLHNlbGVjdGVkOnMsZGlzYWJsZWQ6YyxvbkNsaWNrOnUsaHJlZjpmLGxlZnRTbG90Om0scmlnaHRTbG90OkUsaG90a2V5OnYsaW50ZW50Omgsb25Nb3VzZUVudGVyOkMsb25LZXlEb3duTGlzdEl0ZW1CdXR0b246YixsaXN0SXRlbUJ1dHRvbklkOmcsYXJpYUNoZWNrZWQ6eCxhcmlhU2VsZWN0ZWQ6TyxhcmlhSGFzcG9wdXA6TixhcmlhQ29udHJvbHM6dyxhcmlhRXhwYW5kZWQ6UCxhcmlhQnVzeTpMLGFyaWFMYWJlbDpULGFyaWFMZXZlbDpfLHJvbGU6eSxzaXplOkksZWxsaXBzaXM6Uix0YXJnZXQ6ayxvdXRzaWRlT2ZCdXR0b25TbG90OkQsdGFiSW5kZXg6RixyZWw6VixkYXRhUWFJZDpNLC4uLld9PWUsSD0oMCxkLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKFcpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoQS5MaXN0SXRlbUhhc0Rlc2NyaXB0aW9uQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6ISFufSxyLmNyZWF0ZUVsZW1lbnQobCx7c2l6ZTpJLHNlbGVjdGVkOnMsaXNPcGVuOmEsZGlzYWJsZWQ6YyxsaXN0SXRlbVJlZjpvLG9uTW91c2VFbnRlcjpDLGFyaWFCdXN5OkwsaW50ZW50Omh9LHIuY3JlYXRlRWxlbWVudChwLHtsaXN0SXRlbUJ1dHRvblJlZjppLGxpc3RJdGVtQnV0dG9uSWQ6ZyxvbktleURvd25MaXN0SXRlbUJ1dHRvbjpiLGhyZWY6Zix0YXJnZXQ6ayxob3RrZXk6dixhcmlhQ2hlY2tlZDp4LGFyaWFTZWxlY3RlZDpPLGFyaWFIYXNwb3B1cDpOLGFyaWFDb250cm9sczp3LGFyaWFFeHBhbmRlZDpQLGFyaWFMYWJlbDpULGFyaWFMZXZlbDpfLHJvbGU6eSxkaXNhYmxlZDpjLGlzT3BlbjphLHNlbGVjdGVkOnMsb25DbGljazp1LGRhdGFRYUlkOk0sdGFiSW5kZXg6RixyZWw6ViwuLi5IfSxyLmNyZWF0ZUVsZW1lbnQoUyx7bGVmdFNsb3Q6bSxyaWdodFNsb3Q6RSxob3RrZXk6dixzZWxlY3RlZDpzLGVsbGlwc2lzOlIsdGl0bGU6dCxkZXNjcmlwdGlvbjpufSkpLEQpKX0hZnVuY3Rpb24oZSl7ZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShJfHwoST17fSkpLGZ1bmN0aW9uKGUpe2UuTmV1dHJhbD0ibmV1dHJhbCIsZS5EYW5nZXI9ImRhbmdlciJ9KFJ8fChSPXt9KSl9LDk4ODA2OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtEQVRBX0lTX0NPTlRFWFRfQUNUSU9OOigpPT5pLERBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTjooKT0+byxEQVRBX05FU1RFRF9QT1BPVkVSX09QRU46KCk9PnJ9KTtjb25zdCByPSJkYXRhLW5lc3RlZC1wb3BvdmVyLW9wZW4iLG89ImRhdGEtaXMtcG9wb3Zlci1pdGVtLWJ1dHRvbiIsaT0iZGF0YS1pcy1wb3BvdmVyLWNvbnRleHQtYWN0aW9uIn0sODczMDkwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0FMV0FZU19EUk9QRE9XTl9QT1BPVkVSX0JSRUFLUE9JTlQ6KCk9Pm8sREVGQVVMVF9QT1BPVkVSX0JSRUFLUE9JTlQ6KCk9Pml9KTt2YXIgcj1uKDgwOTQzNik7Y29uc3Qgbz0ibm90IGFsbCIsaT1yWyJtZWRpYS1zaG93LWRyYXdlciJdfSw1MjA0ODYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9wb3ZlckNvbnRlbnRWZXJ0aWNhbDooKT0+dX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxpPW4ubihvKSxhPW4oNDQwMDk2KSxzPW4ubihhKTt2YXIgbD1uKDYyNzAyMiksYz1uLm4obCk7ZnVuY3Rpb24gdShlKXtjb25zdHtjaGlsZHJlbjp0LGZpeGVkSGVhZGVyOm4sZml4ZWRGb290ZXI6byxvblNjcm9sbDphLHNjcm9sbFJlZjpsLGRhdGFRYUlkOnV9PWUse3Njcm9sbENvbXBlbnNhdGlvbjpkLHNjcm9sbFBhZGRpbmdDb250YWluZXI6Zn09ZnVuY3Rpb24oKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKHZvaWQgMCksbj0oMCxyLnVzZUNhbGxiYWNrKSgoZT0+e2UmJnQoKHQ9PnR8fGUub2Zmc2V0V2lkdGgtZS5jbGllbnRXaWR0aCkpfSksW10pO3JldHVybntzY3JvbGxDb21wZW5zYXRpb246dm9pZCAwIT09ZT8tZSsicHgiOnZvaWQgMCxzY3JvbGxQYWRkaW5nQ29udGFpbmVyOnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKS5zY3JvbGxDb250YWluZXIscmVmOm59KX19KCk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChyLkZyYWdtZW50LG51bGwsci5jcmVhdGVFbGVtZW50KCJkaXYiLHsiZGF0YS1xYS1pZCI6dSxjbGFzc05hbWU6YygpLmZsZXh9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkuZml4ZWRIZWFkZXIsbiYmYygpLmZpeGVkSGVhZGVyQ29udGVudCl9LG4pLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkubWFpblNjcm9sbFdyYXBwZXIsdm9pZCAwPT09ZCYmYygpLm5vU2Nyb2xsKSxvblNjcm9sbDphLHJlZjpsLHN0eWxlOnsiLS11aS1saWItcHJpdmF0ZS1wb3BvdmVyQ29udGVudFZlcnRpY2FsLXNjcm9sbC1jb21wZW5zYXRpb24iOmR9fSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkoYygpLm1haW4sdCYmYygpLm1haW5Db250ZW50KX0sdCkpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkuZml4ZWRGb290ZXIsbyYmYygpLmZpeGVkRm9vdGVyQ29udGVudCl9LG8pKSxmKX19LDk3MjczNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3BvdmVySXRlbTooKT0+bH0pO3ZhciByLG8saT1uKDc3OTQ3NCksYT1uKDYyODgyNSkscz1uKDk4ODA2OCk7ZnVuY3Rpb24gbChlKXsKY29uc3R7dGl0bGU6dCxkZXNjcmlwdGlvbjpuLHBvcG92ZXJJdGVtUmVmOnIscG9wb3Zlckl0ZW1CdXR0b25SZWY6byxpc09wZW46bCxzZWxlY3RlZDpjLGRpc2FibGVkOnUsb25DbGljazpkLGhyZWY6ZixsZWZ0U2xvdDptLHJpZ2h0U2xvdDpwLGhvdGtleTpFLGludGVudDp2LG9uTW91c2VFbnRlcjpoLG9uS2V5RG93blBvcG92ZXJJdGVtQnV0dG9uOkMscG9wb3Zlckl0ZW1CdXR0b25JZDpiLGFyaWFDaGVja2VkOmcsYXJpYVNlbGVjdGVkOngsYXJpYUhhc3BvcHVwOk8sYXJpYUNvbnRyb2xzOk4sYXJpYUV4cGFuZGVkOncsYXJpYUJ1c3k6UCxhcmlhTGFiZWw6TCxyb2xlOlQsc2l6ZTpfLGVsbGlwc2lzOnksdGFyZ2V0OlMsb3V0c2lkZU9mQnV0dG9uU2xvdDpJLHRhYkluZGV4OlIscmVsOkEsZGF0YVFhSWQ6a309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGEuTGlzdEl0ZW0se3RpdGxlOnQsZGVzY3JpcHRpb246bixsaXN0SXRlbVJlZjpyLGxpc3RJdGVtQnV0dG9uUmVmOm8saXNPcGVuOmwsc2VsZWN0ZWQ6YyxkaXNhYmxlZDp1LG9uQ2xpY2s6ZCxocmVmOmYsbGVmdFNsb3Q6bSxyaWdodFNsb3Q6cCxob3RrZXk6RSxpbnRlbnQ6dixvbk1vdXNlRW50ZXI6aCxvbktleURvd25MaXN0SXRlbUJ1dHRvbjpDLGxpc3RJdGVtQnV0dG9uSWQ6YixhcmlhQ2hlY2tlZDpnLGFyaWFTZWxlY3RlZDp4LGFyaWFIYXNwb3B1cDpPLGFyaWFDb250cm9sczpOLGFyaWFFeHBhbmRlZDp3LGFyaWFCdXN5OlAsYXJpYUxhYmVsOkwscm9sZTpULHNpemU6XyxlbGxpcHNpczp5LHRhcmdldDpTLG91dHNpZGVPZkJ1dHRvblNsb3Q6SSx0YWJJbmRleDpSLHJlbDpBLGRhdGFRYUlkOmssW3MuREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OXToidHJ1ZSJ9KX0hZnVuY3Rpb24oZSl7ZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuTmV1dHJhbD0ibmV1dHJhbCIsZS5EYW5nZXI9ImRhbmdlciJ9KG98fChvPXt9KSl9LDIwODA4MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3BvdmVyS2V5Ym9hcmROYXZpZ2F0b3I6KCk9PlB9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDc4Nzg5NSksaT1uKDIzNjQ1NCksYT1uKDcxODc3Mykscz1uKDU4NzE2OCksbD1uKDIzNTcyNCksYz1uKDk4ODA2OCksdT1uKDgyMzEyNCksZD1uKDI1MDUxOCk7Y29uc3QgZj0oZSx0KT0+e2NvbnN0IG49ZSh0LHtwcmV2ZW50U2Nyb2xsOiEwfSk7biYmKDAsdS5zY3JvbGxQb3BvdmVySXRlbUludG9WaWV3KShuKX07ZnVuY3Rpb24gbShlLHQ9MCl7Y29uc3R7Zm9jdXNQcmV2TG9vcDpuLGZvY3VzTmV4dExvb3A6byxmb2N1c0ZpcnN0OmksZm9jdXNMYXN0OmF9PSgwLHIudXNlTWVtbykoKCgpPT4oMCxkLmdldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uKShgWyR7Yy5EQVRBX0lTX1BPUE9WRVJfSVRFTV9CVVRUT059XWApKSxbXSk7Y29uc3QgdT0oMCxyLnVzZUNhbGxiYWNrKSgodD0+e2UmJnQmJmkodCl9KSxbaSxlXSksbT0oMCxyLnVzZU1lbW8pKCgoKT0+KDAscy5kZWZhdWx0KShmLHQse2xlYWRpbmc6ITEsdHJhaWxpbmc6ITB9KSksW3RdKTtyZXR1cm57b25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IHI9KDAsbC5oYXNoRnJvbUV2ZW50KShlKSxzPWUuY3VycmVudFRhcmdldCxjPWZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIDM4OnJldHVybiBuO2Nhc2UgNDA6cmV0dXJuIG87Y2FzZSAzNjpyZXR1cm4gaTtjYXNlIDM1OnJldHVybiBhfX0ocik7YyYmKGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLHQ/bShjLHMpOmYoYyxzKSl9LHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnV9fXZhciBwPW4oOTE0NDg3KSxFPW4ubihwKSx2PW4oMzE5NjkpLGg9bigyMzc2MTYpLEM9big1MjA0ODYpLGI9big1MTgyNzIpLGc9bi5uKGIpO2Z1bmN0aW9uIHgoZSl7Y29uc3QgdD0oMCxyLnVzZVJlZikobnVsbCkse3dpZHRoOm49aS5QT1BPVkVSX0RFRkFVTFRfV0lEVEgsaGVpZ2h0Om89aS5QT1BPVkVSX0RFRkFVTFRfSEVJR0hULHBsYWNlbWVudFJ1bGVzOmE9aS5QT1BPVkVSX0RFRkFVTFRfUExBQ0VNRU5UX1JVTEVTLG9uQ2xvc2U6cyxpc09wZW46bCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6YyxjaGlsZHJlbjp1LHJvbGU6ZCxhcmlhTGFiZWxsZWRieTpmLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6bSxhbmNob3JlZDpwLGFyaWFNdWx0aXNlbGVjdGFibGU6Yixtb2JpbGVQb3NpdGlvbmVyU2lkZTp4LG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpPLG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOk4scmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dz10LGlzUnRsOlAscmVwb3NpdGlvblRyaWdnZXJzOkwscmVwb3NpdGlvbkRlcGVuZGVuY2llczpULGZpeGVkSGVhZGVyOl8sZml4ZWRGb290ZXI6eSxvblNjcm9sbDpTLHNjcm9sbFJlZjpJLG9uS2V5RG93bjpSLGNvbnRlbnRSZXNpemU6QSxtb2JpbGVCcmVha3BvaW50OmssZGF0YVFhSWQ6RCxjb250ZW50V3JhcHBlckNsYXNzbmFtZTpGfT1lLFY9KDAsci51c2VJZCkoKSxNPW0/P1YsVz0oMCx2LnVzZU1lcmdlZFJlZnMpKFt3XSksSD0oMCxyLnVzZVJlZikobnVsbCksQj0oMCx2LnVzZU1lcmdlZFJlZnMpKFtJLEhdKSxLPXIuY3JlYXRlRWxlbWVudCgiZGl2Iix7b25LZXlEb3duOlIsY2xhc3NOYW1lOkUoKShGLGcoKS5ldmVudFdyYXBwZXIpfSxyLmNyZWF0ZUVsZW1lbnQoQy5Qb3BvdmVyQ29udGVudFZlcnRpY2FsLHtmaXhlZEhlYWRlcjpfLGZpeGVkRm9vdGVyOnksb25TY3JvbGw6UyxzY3JvbGxSZWY6Qn0sdSkpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaC5Qb3BvdmVyLHthbmNob3JlZDpwLGlzUnRsOlAsb25DbG9zZTpzLGlzT3BlbjpsLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpjLHJvbGU6ZCxhcmlhTGFiZWxsZWRieTpmLGFyaWFNdWx0aXNlbGVjdGFibGU6YixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50Ok0scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6VyxwbGFjZW1lbnRSdWxlczphLHdpZHRoOm4saGVpZ2h0Om8sCmNoaWxkcmVuOkssbW9iaWxlUG9zaXRpb25lclNpZGU6eCxtb2JpbGVQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6Tyxtb2JpbGVQb3NpdGlvbmVyU3RyZXRjaDpOLHJlcG9zaXRpb25UcmlnZ2VyczpMLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VCxtb2JpbGVCcmVha3BvaW50OmssZGF0YVFhSWQ6RCxjb250ZW50UmVzaXplOkEsc2Nyb2xsQ29udGFpbmVyOkh9KX12YXIgTz1uKDk5OTUxKSxOPW4oNDUyNDY0KSx3PW4ubihOKTtmdW5jdGlvbiBQKGUpe2NvbnN0IHQ9KDAsci51c2VSZWYpKG51bGwpLHt3aWR0aDpuPWkuUE9QT1ZFUl9ERUZBVUxUX1dJRFRILGhlaWdodDpzPWkuUE9QT1ZFUl9ERUZBVUxUX0hFSUdIVCxwbGFjZW1lbnRSdWxlczpsPWkuUE9QT1ZFUl9ERUZBVUxUX1BMQUNFTUVOVF9SVUxFUyxvbkNsb3NlOmMsaXNPcGVuOnUsY2xvc2VPbkNsaWNrQXdheTpkPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVksY2xvc2VPbkVzY2FwZTpmPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpwPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1NDUk9MTF9PVVRTSURFLGNsb3NlT25SZXNpemVXaW5kb3c6RT1pLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9SRVNJWkVfV0lORE9XLGNsb3NlT25UYWI6aD1pLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9UQUIsYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOkMsY2hpbGRyZW46Yixyb2xlOmcsYXJpYUxhYmVsbGVkYnk6TixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OlAsYW5jaG9yZWQ6TCxhcmlhTXVsdGlzZWxlY3RhYmxlOlQsbW9iaWxlUG9zaXRpb25lclNpZGU6Xyxtb2JpbGVQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6eSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpTPXQsaXNSdGw6SSxmb2N1c0ZpcnN0SXRlbU9uT3BlbjpSPSEwLHJlcG9zaXRpb25UcmlnZ2VyczpBPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6ayxmaXhlZEhlYWRlcjpELGZpeGVkRm9vdGVyOkYsb25TY3JvbGw6VixzY3JvbGxSZWY6TSxtb2JpbGVCcmVha3BvaW50OlcsY29udGVudFJlc2l6ZTpIPTE0LG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOkIsa2V5RG93blRocm90dGxlTXM6SyxkYXRhUWFJZDpVfT1lLHo9KDAsci51c2VDb250ZXh0KShPLkFwcENvbnRleHQpLmlzUnRsLEc9ST8/eixRPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoUykscT0oMCxyLnVzZUlkKSgpLFo9UD8/cSx7cmVwb3NpdGlvblRyaWdnZXJzOmoscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6WX09KDAsYS51c2VQb3BvdmVyQ2xvc2VCZWhhdmlvcikoe29uQ2xvc2U6Yyxpc09wZW46dSxjbG9zZU9uQ2xpY2tBd2F5OmQsY2xvc2VPbkVzY2FwZTpmLGNsb3NlT25SZXNpemVXaW5kb3c6RSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpwLGNsb3NlT25UYWI6aCxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpRLGV4Y2x1ZGVBcmVhOkwuYXR9KSx7b25LZXlEb3duOlgscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6Sn09bShSLEspLCQ9KDAsdi51c2VNZXJnZWRSZWZzKShbSixZXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCh4LHthbmNob3JlZDpMLGlzUnRsOkcsb25DbG9zZTpjLGlzT3Blbjp1LGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpDLHJvbGU6ZyxhcmlhTGFiZWxsZWRieTpOLGFyaWFNdWx0aXNlbGVjdGFibGU6VCxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OloscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6JCxwbGFjZW1lbnRSdWxlczpsLHdpZHRoOm4saGVpZ2h0OnMsY2hpbGRyZW46Yixtb2JpbGVQb3NpdGlvbmVyU2lkZTpfLG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTp5LHJlcG9zaXRpb25UcmlnZ2VyczpbLi4uaiwuLi5BXSxyZXBvc2l0aW9uRGVwZW5kZW5jaWVzOmssZml4ZWRGb290ZXI6RixmaXhlZEhlYWRlcjpELG9uU2Nyb2xsOlYsc2Nyb2xsUmVmOk0sb25LZXlEb3duOlgsY29udGVudFJlc2l6ZTpILG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOkIsbW9iaWxlQnJlYWtwb2ludDpXLGRhdGFRYUlkOlUsY29udGVudFdyYXBwZXJDbGFzc25hbWU6dygpLnBrbn0pfX0sODIzMTI0KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlLHQpe2Uuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOnQ/InNtb290aCI6dm9pZCAwLGJsb2NrOiJjZW50ZXIifSl9bi5kKHQse3Njcm9sbFBvcG92ZXJJdGVtSW50b1ZpZXc6KCk9PnJ9KX0sNjQwNTEzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BMQUNFTUVOVF9CT1RUT01fQUxJR05fQ0VOVEVSOigpPT5pLFBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVDooKT0+cixQTEFDRU1FTlRfQk9UVE9NX0FMSUdOX1JJR0hUOigpPT5vLFBMQUNFTUVOVF9MRUZUX0FMSUdOX0JPVFRPTTooKT0+bSxQTEFDRU1FTlRfTEVGVF9BTElHTl9DRU5URVI6KCk9PnAsUExBQ0VNRU5UX0xFRlRfQUxJR05fVE9QOigpPT5mLFBMQUNFTUVOVF9SSUdIVF9BTElHTl9CT1RUT006KCk9PnUsUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0NFTlRFUjooKT0+ZCxQTEFDRU1FTlRfUklHSFRfQUxJR05fVE9QOigpPT5jLFBMQUNFTUVOVF9UT1BfQUxJR05fQ0VOVEVSOigpPT5sLFBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVDooKT0+YSxQTEFDRU1FTlRfVE9QX0FMSUdOX1JJR0hUOigpPT5zfSk7Y29uc3Qgcj17bmFtZToiYm90dG9tLWxlZnQiLHJ0bE5hbWU6ImJvdHRvbS1yaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjF9LGNvbnRlbnRQb2ludDp7eDowLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sbz17bmFtZToiYm90dG9tLXJpZ2h0IixydGxOYW1lOiJib3R0b20tbGVmdCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjF9LGNvbnRlbnRQb2ludDp7eDoxLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0saT17bmFtZToiYm90dG9tIixhbmNob3JQb2ludDp7eDouNSwKeToxfSxjb250ZW50UG9pbnQ6e3g6LjUseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxhPXtuYW1lOiJ0b3AtbGVmdCIscnRsTmFtZToidG9wLXJpZ2h0IixhbmNob3JQb2ludDp7eDowLHk6MH0sY29udGVudFBvaW50Ont4OjAseToxfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxzPXtuYW1lOiJ0b3AtcmlnaHQiLHJ0bE5hbWU6InRvcC1sZWZ0IixhbmNob3JQb2ludDp7eDoxLHk6MH0sY29udGVudFBvaW50Ont4OjEseToxfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxsPXtuYW1lOiJ0b3AiLGFuY2hvclBvaW50Ont4Oi41LHk6MH0sY29udGVudFBvaW50Ont4Oi41LHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sYz17bmFtZToicmlnaHQtdG9wIixydGxOYW1lOiJsZWZ0LXRvcCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjB9LGNvbnRlbnRQb2ludDp7eDowLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sdT17bmFtZToicmlnaHQtYm90dG9tIixydGxOYW1lOiJsZWZ0LWJvdHRvbSIsYW5jaG9yUG9pbnQ6e3g6MSx5OjF9LGNvbnRlbnRQb2ludDp7eDowLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sZD17bmFtZToicmlnaHQiLHJ0bE5hbWU6ImxlZnQiLGFuY2hvclBvaW50Ont4OjEseTouNX0sY29udGVudFBvaW50Ont4OjAseTouNX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sZj17bmFtZToibGVmdC10b3AiLHJ0bE5hbWU6InJpZ2h0LXRvcCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjB9LGNvbnRlbnRQb2ludDp7eDoxLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sbT17bmFtZToibGVmdC1ib3R0b20iLHJ0bE5hbWU6InJpZ2h0LWJvdHRvbSIsYW5jaG9yUG9pbnQ6e3g6MCx5OjF9LGNvbnRlbnRQb2ludDp7eDoxLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0scD17bmFtZToibGVmdCIscnRsTmFtZToicmlnaHQiLGFuY2hvclBvaW50Ont4OjAseTouNX0sY29udGVudFBvaW50Ont4OjEseTouNX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn19LDQ3OTI5NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKHQsbik9Pih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihlLHQsbiksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHQsbil9KX1uLmQodCx7d2luZG93RXZlbnQ6KCk9PnJ9KX0sNDQwNDQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZTooKT0+Y30pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzA2OTQzKSxpPW4oNDc5Mjk3KSxhPW4oMTU5MjU2KSxzPW4oODU0MzM4KTtjb25zdCBsPSgwLGkud2luZG93RXZlbnQpKCJzY3JvbGwiKTtmdW5jdGlvbiBjKGUsdCxuLGkpe2NvbnN0IGM9KDAsci51c2VNZW1vKSgoKCk9PigwLG8uY3JlYXRlU2lnbmFsKSgpKSxbXSksdT0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntuKCExLCJjdXJyZW50TGV2ZWwiKX0pLFtuXSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KShlLCgoKT0+bCgoZT0+e2NvbnN0IHI9bi5jdXJyZW50O2lmKCFyKXJldHVybjtjb25zdCBvPWUudGFyZ2V0O28mJigoMCxzLmlzRWxlbWVudENvbnRhaW5zRWxlbWVudFRocm91Z2hQb3J0YWxzKShyLG8pfHwoMCxzLmlzRWxlbWVudENvbnRhaW5zRWxlbWVudFRocm91Z2hQb3J0YWxzKShvLHIpJiZ0KCkpfSksITApKSxbdCxuXSl9KGUsdD91OmMuZmlyZSxpKSxjfX0sNTc3ODMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzSW5FeGNsdWRlZEFyZWE6KCk9Pm99KTt2YXIgcj1uKDc3MTQ0Nyk7ZnVuY3Rpb24gbyhlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IG49ImN1cnJlbnQiaW4gdD90LmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOnQ7cmV0dXJuISFuJiYoMCxyLmlzSW5SZWN0KShlLG4pfX0sMzA2Mjg3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVdpbmRvd1Jlc2l6ZVRyaWdnZXI6KCk9PnMsdXNlV2luZG93U2Nyb2xsVHJpZ2dlcjooKT0+bH0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzA2OTQzKSxpPW4oMTU5MjU2KTtmdW5jdGlvbiBhKGUsdCxuKXtjb25zdCBhPSgwLHIudXNlTWVtbykoKCgpPT4oMCxvLmNyZWF0ZVNpZ25hbCkoKSksW10pO3JldHVybigwLGkudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT4od2luZG93LmFkZEV2ZW50TGlzdGVuZXIodCxhLmZpcmUsbiksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGEuZmlyZSxuKX0pKSxbYV0pLGF9Y29uc3Qgcz0oZT0hMCk9PmEoZSwicmVzaXplIiwhMCksbD0oZT0hMCk9PmEoZSwic2Nyb2xsIiwhMCl9LDE1OTI1NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VDb25kaXRpb25hbEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCxuKXsoMCxyLnVzZUVmZmVjdCkoKCgpPT57aWYoZSlyZXR1cm4gdCgpfSksWy4uLm4sZV0pfX0sNzE4NzczKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVBvcG92ZXJDbG9zZUJlaGF2aW9yOigpPT5ofSk7dmFyIHIsbz1uKDc3OTQ3NCksaT1uKDMwNjI4NyksYT1uKDE1OTI1Nik7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuSG9yaXpvbnRhbD0xXT0iSG9yaXpvbnRhbCIsZVtlLlZlcnRpY2FsPTJdPSJWZXJ0aWNhbCIsZVtlLkJvdGg9M109IkJvdGgifShyfHwocj17fSkpO3ZhciBzPW4oNDQwNDQ2KTtmdW5jdGlvbiBsKGUsdCxuKXtjb25zdCByPSgwLAppLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKCFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUpOyFmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj0oMCxvLnVzZVJlZikoe2NsaWVudFdpZHRoOnZvaWQgMCxjbGllbnRIZWlnaHQ6dm9pZCAwfSksaT0oMCxvLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gMSZlJiZ0LnB1c2goImNsaWVudFdpZHRoIiksMiZlJiZ0LnB1c2goImNsaWVudEhlaWdodCIpLHR9KG4pKSxbbl0pOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUmJjAhPT1uLCgoKT0+e2NvbnN0IGU9KCk9PntpLmZvckVhY2goKGU9Pntjb25zdCBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtlXTt2b2lkIDAhPT1yLmN1cnJlbnRbZV0/ci5jdXJyZW50W2VdIT09biYmKHQoITAsImN1cnJlbnRMZXZlbCIpLHIuY3VycmVudFtlXT1uKTpyLmN1cnJlbnRbZV09bn0pKX07cmV0dXJuIGUoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixlLCEwKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGUsITApLHIuY3VycmVudD17Y2xpZW50V2lkdGg6dm9pZCAwLGNsaWVudEhlaWdodDp2b2lkIDB9fX0pLFt0LGldKX0oISFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUsdCwzKTtyZXR1cm5bciwoMCxzLnVzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZSkoZSwhIW4uY2xvc2VPblNjcm9sbE91dHNpZGUsdCxuLnJlZildfXZhciBjPW4oNzg3ODk1KSx1PW4oODU0MzM4KSxkPW4oNDc5Mjk3KSxmPW4oNTc3ODMyKSxtPW4oMjM2NDU0KTt2YXIgcD1uKDMxOTY5KSxFPW4oMjM1NzI0KTtjb25zdCB2PSgwLGQud2luZG93RXZlbnQpKCJrZXlkb3duIik7ZnVuY3Rpb24gaChlKXtjb25zdCB0PSgwLG8udXNlUmVmKShudWxsKSx7b25DbG9zZTpuLGlzT3BlbjpyLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50Omk9dCxjbG9zZU9uQ2xpY2tBd2F5OnM9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fQ0xJQ0tfQVdBWSxjbG9zZU9uRXNjYXBlOmg9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fRVNDQVBFLGNsb3NlT25TY3JvbGxPdXRzaWRlOkM9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fU0NST0xMX09VVFNJREUsY2xvc2VPblJlc2l6ZVdpbmRvdzpiPW0uUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1JFU0laRV9XSU5ET1csY2xvc2VPblRhYjpnPW0uUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1RBQixleGNsdWRlQXJlYTp4fT1lO2xldCBPPSgwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoaSk7Y29uc3QgTj1sKHIsbix7Y2xvc2VPblJlc2l6ZVdpbmRvdzpiLGNsb3NlT25TY3JvbGxPdXRzaWRlOkMscmVmOk99KTtyZXR1cm4gTz1mdW5jdGlvbihlLHQsbil7Y29uc3Qgcj0oMCxvLnVzZUNhbGxiYWNrKSgocj0+e2UmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGU9PntpZigyNyE9PSgwLEUuaGFzaEZyb21FdmVudCkoZSkpcmV0dXJuO2NvbnN0IHI9bi5jdXJyZW50O2lmKCFyKXJldHVybjtjb25zdCBvPWUudGFyZ2V0O28gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmci5jb250YWlucyhvKSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQoITAsImN1cnJlbnRMZXZlbCIpKX0pLHtjYXB0dXJlOiExfSl9KSxbZV0pO3JldHVybigwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoKDAscC51c2VNZXJnZWRSZWZzKShbbixyXSkpfShoJiZyLG4sTyksZnVuY3Rpb24oZSx0LG4peygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKCEhZSwoKCk9PnYoKGU9Pntjb25zdCBuPSgwLEUuaGFzaEZyb21FdmVudCkoZSk7OSE9PW4mJm4hPT05K0UuTW9kaWZpZXJzLlNoaWZ0fHx0KCEwLCJjdXJyZW50TGV2ZWwiKX0pLCEwKSksW3Qsbl0pfShnJiZyLG4sTyksZnVuY3Rpb24oZSx0LG4scixvKXtjb25zdCBpPSJib29sZWFuIj09dHlwZW9mIHI/bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fQ0xJQ0tfQVdBWTpyOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKCEhZSwoKCk9PigwLGQud2luZG93RXZlbnQpKGkpKChlPT57Y29uc3Qgcj17eDplLmNsaWVudFgseTplLmNsaWVudFl9LGk9bi5jdXJyZW50OygwLGYuaXNJbkV4Y2x1ZGVkQXJlYSkocixvKXx8aSYmKDAsdS5pc1hZSW5zaWRlRWxlbWVudFRocm91Z2hQb3J0YWxzKShpLHIueCxyLnkpfHx0KCExLCJjdXJyZW50TGV2ZWwiKX0pKSksW3QsbyxuLGldKX0ocyYmcixuLE8scyx4KSx7cmVwb3NpdGlvblRyaWdnZXJzOk4scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6T319fSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pm99KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3Qgbz1uLm4ocikoKX0sMzQ1MTE2KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gaShlLGEpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGkoZSxzKX1mdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbj1PYmplY3QuZW50cmllcyhlKS5maWx0ZXIodCkscj17fTtmb3IoY29uc3RbZSx0XW9mIG4pcltlXT10O3JldHVybiByfWZ1bmN0aW9uIGEoZSl7Y29uc3RbdCxuXT1lO3JldHVybiAwPT09dC5pbmRleE9mKCJkYXRhLSIpJiYic3RyaW5nIj09dHlwZW9mIG59ZnVuY3Rpb24gcyhlKXtyZXR1cm4gMD09PWVbMF0uaW5kZXhPZigiYXJpYS0iKX1mdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbj1yKGUpO3JldHVybiB0JiYoblsiZGF0YS1xYS1pZCJdPXQpLG59bi5kKHQse2ZpbHRlckFyaWFQcm9wczooKT0+byxmaWx0ZXJDaGVja2VkRGF0YVByb3BzOigpPT5sLGZpbHRlckRhdGFQcm9wczooKT0+cixmaWx0ZXJQcm9wczooKT0+aSxpc0FyaWFBdHRyaWJ1dGU6KCk9PnMsaXNEYXRhQXR0cmlidXRlOigpPT5hfSl9LDU2Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lnbm9yZU9uU1NSOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big1Mjk0MTEpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHQ9PigwLG8udXNlSXNOb25GaXJzdFJlbmRlcikoKT9yLmNyZWF0ZUVsZW1lbnQoZSx7Li4udH0pOm51bGx9fSwyODQ2OTAoZSx0LG4peyJ1c2Ugc3RyaWN0Igo7bi5kKHQse2dldExpbmVhcktleWJvYXJkTmF2aWdhdGlvbjooKT0+bH0pO3ZhciByPW4oMjUwNTE4KSxvPW4oMjM1NzI0KSxpPW4oMzgyMjQyKSxhPW4oNjgyMzgxKSxzPW4oMjk4NzI4KTtmdW5jdGlvbiBsKGUsdD17fSl7Y29uc3R7Zm9jdXNOZXh0Om4sZm9jdXNQcmV2OmwsZm9jdXNGaXJzdDpjLGZvY3VzTGFzdDp1fT0oMCxyLmdldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uKShlLHQuYWxsb3dOZXN0ZWRGb2N1c2FibGUpLGQ9ey4uLnQuaG9yaXpvbnRhbD97Mzk6biwzNzpsfTp7NDA6biwzODpsfSwuLi50LmhhbmRsZUhvbWVFbmQ/ezM2OmMsMzU6dX06e319O3JldHVybntvbkZvY3VzOmZ1bmN0aW9uKG4pe2NvbnN0IHI9bi5jdXJyZW50VGFyZ2V0O24udGFyZ2V0PT09ciYmZnVuY3Rpb24obil7Y29uc3Qgcj0oMCxpLmdldFNlbGVjdG9yVHJlZVdhbGtlcikobixlKS5uZXh0Tm9kZSgpO3ImJigwLGEuaXNIVE1MT3JTVkdFbGVtZW50KShyKSYmciE9PW4mJnIuZm9jdXModC5mb2N1c09wdGlvbnMpfShyKX0sb25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IG49KDAscy5mbGlwQXJyb3dzT25SdGwpKCgwLG8uaGFzaEZyb21FdmVudCkoZSksdC5pc1J0bCkscj1lLmN1cnJlbnRUYXJnZXQsaT1lLnRhcmdldDtpZighKGkgaW5zdGFuY2VvZiBOb2RlKSlyZXR1cm47aWYoIXIuY29udGFpbnMoaSkpcmV0dXJuO2NvbnN0IGE9ZFtuXTtpZihhKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbj1hPy4ocix0LmZvY3VzT3B0aW9ucyk7biYmZS5zdG9wUHJvcGFnYXRpb24oKX19fX19LDI5ODcyOChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtpZighdClyZXR1cm4gZTtjb25zdCBuPTI1NSZlLHI9LTI1NiZlO3JldHVybiAzNz09PW4/MzkrcjozOT09PW4/MzcrcjplfW4uZCh0LHtmbGlwQXJyb3dzT25SdGw6KCk9PnJ9KX0sMjUwNTE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5pfSk7dmFyIHI9bigzODIyNDIpLG89big2ODIzODEpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPXQ9PihuLGkpPT57Y29uc3QgYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50fHxuLHM9KDAsci5nZXRTZWxlY3RvclRyZWVXYWxrZXIpKG4sZSk7cy5jdXJyZW50Tm9kZT1hO2NvbnN0IGw9dChzKTtyZXR1cm4gbCYmKDAsby5pc0hUTUxPclNWR0VsZW1lbnQpKGwpJiZsIT09YT8obC5mb2N1cyhpKSxsKTpudWxsfSxpPXQ/ZT0+ZS5wcmV2aW91c05vZGUoKTpyLmdldFByZXZpb3VzTm9uUGFyZW50LGE9ZT0+ZS5uZXh0Tm9kZSgpO3JldHVybntmb2N1c1ByZXY6bihpKSxmb2N1c05leHQ6bihhKSxmb2N1c0ZpcnN0Om4oci5nZXRGaXJzdERlc2NlbmRhbnQpLGZvY3VzTGFzdDpuKHIuZ2V0TGFzdERlc2NlbmRhbnQpLGZvY3VzUHJldkxvb3A6bigoZT0+e2NvbnN0IHQ9aShlKTtyZXR1cm4gdHx8KDAsci5nZXRMYXN0RGVzY2VuZGFudCkoZSl9KSksZm9jdXNOZXh0TG9vcDpuKChlPT57Y29uc3QgdD1hKGUpO3JldHVybiB0fHwoMCxyLmdldEZpcnN0RGVzY2VuZGFudCkoZSl9KSksZm9jdXNJbmRleDooZSx0LHIpPT5uKChlPT57ZS5jdXJyZW50Tm9kZT1lLnJvb3Q7Zm9yKGxldCBuPTA7bjx0O24rKyllLm5leHROb2RlKCk7cmV0dXJuIGUubmV4dE5vZGUoKX0pKShlLHIpfX19LDk2NDU5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHIoW2VdKX1uLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnJ9KX0sODMzOTAzKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gciguLi5lKXtyZXR1cm4gdD0+e2Zvcihjb25zdCBuIG9mIGUpdm9pZCAwIT09biYmbih0KX19bi5kKHQse2NyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXI6KCk9PnJ9KX0sMzI5NjY4KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7ZnVuY3Rpb24gbyhlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IikpfWZ1bmN0aW9uIGkoZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IikpfW4uZCh0LHtiZWNvbWVNYWluRWxlbWVudDooKT0+byxiZWNvbWVTZWNvbmRhcnlFbGVtZW50OigpPT5pfSksZnVuY3Rpb24oZSl7ZS5NYWluRWxlbWVudD0icm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsZS5TZWNvbmRhcnlFbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQifShyfHwocj17fSkpfSw5ODM2MTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bWFwS2V5Q29kZVRvRGlyZWN0aW9uOigpPT51LG5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3I6KCk9PmEscXVlcnlGb2N1c2FibGVFbGVtZW50czooKT0+bCxxdWVyeVRhYmJhYmxlRWxlbWVudHM6KCk9PnMsdXBkYXRlVGFiSW5kZXhlczooKT0+Y30pO3ZhciByLG89big5NjkxNjgpLGk9big2ODIzODEpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4gZT09PXQ/MDplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HPy0xOjF9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFt0YWJpbmRleD0iLTEiXSknKSkuZmlsdGVyKCgwLGkuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBsKGUpewpyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSknKSkuZmlsdGVyKCgwLGkuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBjKCl7d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHtidWJibGVzOiEwfSkpfWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxvLmlzUnRsKSgpO3N3aXRjaChlKXtjYXNlIDM4OnJldHVybiJibG9ja1ByZXYiO2Nhc2UgNDA6cmV0dXJuImJsb2NrTmV4dCI7Y2FzZSAzNzpyZXR1cm4gdD8iaW5saW5lTmV4dCI6ImlubGluZVByZXYiO2Nhc2UgMzk6cmV0dXJuIHQ/ImlubGluZVByZXYiOiJpbmxpbmVOZXh0IjtkZWZhdWx0OnJldHVybiBudWxsfX0hZnVuY3Rpb24oZSl7ZS5CbG9ja1ByZXY9ImJsb2NrUHJldiIsZS5CbG9ja05leHQ9ImJsb2NrTmV4dCIsZS5JbmxpbmVQcmV2PSJpbmxpbmVQcmV2IixlLklubGluZU5leHQ9ImlubGluZU5leHQifShyfHwocj17fSkpfSw2MTYzMTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93P3IudXNlRWZmZWN0OnIudXNlTGF5b3V0RWZmZWN0KShlLHQpfX0sMTA2OTAwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5OigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big2MTYzMTEpO2NvbnN0IGk9KGUsdD0hMSxuPVtdKT0+e2NvbnN0IGk9IndhdGNoZWRWYWx1ZSJpbiBlP2Uud2F0Y2hlZFZhbHVlOnZvaWQgMCxhPSJkZWZhdWx0VmFsdWUiaW4gZT9lLmRlZmF1bHRWYWx1ZTplLndhdGNoZWRWYWx1ZS52YWx1ZSgpLFtzLGxdPSgwLHIudXNlU3RhdGUpKGk/aS52YWx1ZSgpOmEpO3JldHVybih0P28udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDpyLnVzZUVmZmVjdCkoKCgpPT57aWYoaSl7bChpLnZhbHVlKCkpO2NvbnN0IGU9ZT0+bChlKTtyZXR1cm4gaS5zdWJzY3JpYmUoZSksKCk9PmkudW5zdWJzY3JpYmUoZSl9cmV0dXJuKCk9Pnt9fSksW2ksLi4ubl0pLHN9fSwxODIzMDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5hfSk7dmFyIHI9big3Nzk0NzQpLG89big3ODc4OTUpLGk9big2MTYzMTEpO2Z1bmN0aW9uIGEoZSx0PVtdKXtjb25zdFtuLGFdPSgwLHIudXNlU3RhdGUpKCExKSxzPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsaS51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXMuY3VycmVudDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IjphKCEwKTticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6YSghMSl9fTtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLHQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50Iix0KX19KSx0KSxbcyxuPzA6LTFdfX0sNDYyNzA0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiA0aDN2MWgtMS4wNGwtLjg4IDkuNjRhMS41IDEuNSAwIDAgMS0xLjUgMS4zNkg2LjQyYTEuNSAxLjUgMCAwIDEtMS41LTEuMzZMNC4wNSA1SDNWNGgzdi0uNUM2IDIuNjcgNi42NyAyIDcuNSAyaDNjLjgzIDAgMS41LjY3IDEuNSAxLjVWNFpNNy41IDNhLjUuNSAwIDAgMC0uNS41VjRoNHYtLjVhLjUuNSAwIDAgMC0uNS0uNWgtM1pNNS4wNSA1bC44NyA5LjU1YS41LjUgMCAwIDAgLjUuNDVoNS4xN2EuNS41IDAgMCAwIC41LS40NUwxMi45NCA1aC03LjlaIi8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCAVNT.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.612Z","timestamp":1785136905612,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCAVNT.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/change-interval-dialog.7a1e205ad9ad595dc28c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.739Z","timestamp":1785136901739,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7e2f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: edacc4ee08a3e4175aa33eae30504edb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32303,"size_decoded":12573,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"012b19873ae550b0ac01861ba22c40d6","sha1":"d046baf7d21186590435643dfcaae010980cf02d","sha256":"ea8993b45e050b00b0c9f192820f9dd9d19b496d0915eab277f8a4e8d2855894","sha512":"c67cd6ee2ca902a6a5e4e6637b02a50d545bf653062bdad2b68810086db8adba534dfa065e2596c8c605ef0d40a451acd3bad6cf06580c05446349c8e9047841","ssdeep":"768:62g2dzQiBy1d8Xne9Rsdcr5n9caI3CqAUSfGEoZd69a8J13oTRcf:62g2dzQbXVIyGGGEoGZ2af","tlshash":"6ae22d9071d1b0e956f785eb807f0546f3372968780d4c24b279dccdbaec898a136fa9","first_seen":"2026-07-23T14:00:31.699735Z","last_seen":"2026-07-28T06:17:53.408658Z","times_seen":80,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0Njc3Miw2MzU5NSw2NDY0NCw3MTMwMF0sezkxNDQ4NyhlLHQpe3ZhciBuOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07aWYobil7dmFyIHM9dHlwZW9mIG47aWYoInN0cmluZyI9PT1zfHwibnVtYmVyIj09PXMpZS5wdXNoKG4pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGgpe3ZhciBpPW8uYXBwbHkobnVsbCxuKTtpJiZlLnB1c2goaSl9ZWxzZSBpZigib2JqZWN0Ij09PXMpZm9yKHZhciBhIGluIG4pci5jYWxsKG4sYSkmJm5bYV0mJmUucHVzaChhKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShuPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0oKX0sMjA3MzQyKGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItTjg0WFNjR24iLCJjb250YWluZXIteHhzbWFsbCI6ImNvbnRhaW5lci14eHNtYWxsLU44NFhTY0duIiwiY29udGFpbmVyLXhzbWFsbCI6ImNvbnRhaW5lci14c21hbGwtTjg0WFNjR24iLCJjb250YWluZXItc21hbGwiOiJjb250YWluZXItc21hbGwtTjg0WFNjR24iLCJjb250YWluZXItbWVkaXVtIjoiY29udGFpbmVyLW1lZGl1bS1OODRYU2NHbiIsImNvbnRhaW5lci1sYXJnZSI6ImNvbnRhaW5lci1sYXJnZS1OODRYU2NHbiIsImludGVudC1kZWZhdWx0IjoiaW50ZW50LWRlZmF1bHQtTjg0WFNjR24iLGZvY3VzZWQ6ImZvY3VzZWQtTjg0WFNjR24iLHJlYWRvbmx5OiJyZWFkb25seS1OODRYU2NHbiIsZGlzYWJsZWQ6ImRpc2FibGVkLU44NFhTY0duIiwid2l0aC1oaWdobGlnaHQiOiJ3aXRoLWhpZ2hsaWdodC1OODRYU2NHbiIsZ3JvdXBlZDoiZ3JvdXBlZC1OODRYU2NHbiIsImFkanVzdC1wb3NpdGlvbiI6ImFkanVzdC1wb3NpdGlvbi1OODRYU2NHbiIsImZpcnN0LXJvdyI6ImZpcnN0LXJvdy1OODRYU2NHbiIsImZpcnN0LWNvbCI6ImZpcnN0LWNvbC1OODRYU2NHbiIsc3RyZXRjaDoic3RyZXRjaC1OODRYU2NHbiIsImZvbnQtc2l6ZS1tZWRpdW0iOiJmb250LXNpemUtbWVkaXVtLU44NFhTY0duIiwiZm9udC1zaXplLWxhcmdlIjoiZm9udC1zaXplLWxhcmdlLU44NFhTY0duIiwibm8tY29ybmVyLXRvcC1sZWZ0Ijoibm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0duIiwibm8tY29ybmVyLXRvcC1yaWdodCI6Im5vLWNvcm5lci10b3AtcmlnaHQtTjg0WFNjR24iLCJuby1jb3JuZXItYm90dG9tLXJpZ2h0Ijoibm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbiIsIm5vLWNvcm5lci1ib3R0b20tbGVmdCI6Im5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbiIsInNpemUteHhzbWFsbCI6InNpemUteHhzbWFsbC1OODRYU2NHbiIsInNpemUteHNtYWxsIjoic2l6ZS14c21hbGwtTjg0WFNjR24iLCJzaXplLXNtYWxsIjoic2l6ZS1zbWFsbC1OODRYU2NHbiIsInNpemUtbWVkaXVtIjoic2l6ZS1tZWRpdW0tTjg0WFNjR24iLCJzaXplLWxhcmdlIjoic2l6ZS1sYXJnZS1OODRYU2NHbiIsImludGVudC1zdWNjZXNzIjoiaW50ZW50LXN1Y2Nlc3MtTjg0WFNjR24iLCJpbnRlbnQtd2FybmluZyI6ImludGVudC13YXJuaW5nLU44NFhTY0duIiwiaW50ZW50LWRhbmdlciI6ImludGVudC1kYW5nZXItTjg0WFNjR24iLCJpbnRlbnQtcHJpbWFyeSI6ImludGVudC1wcmltYXJ5LU44NFhTY0duIiwiYm9yZGVyLW5vbmUiOiJib3JkZXItbm9uZS1OODRYU2NHbiIsImJvcmRlci10aGluIjoiYm9yZGVyLXRoaW4tTjg0WFNjR24iLCJib3JkZXItdGhpY2siOiJib3JkZXItdGhpY2stTjg0WFNjR24iLGhpZ2hsaWdodDoiaGlnaGxpZ2h0LU44NFhTY0duIixzaG93bjoic2hvd24tTjg0WFNjR24ifX0sODk0NDY0KGUpe2UuZXhwb3J0cz17ImlubmVyLXNsb3QiOiJpbm5lci1zbG90LU5iR3B0RDVqIixpbnRlcmFjdGl2ZToiaW50ZXJhY3RpdmUtTmJHcHRENWoiLGljb246Imljb24tTmJHcHRENWoiLCJpbm5lci1taWRkbGUtc2xvdCI6ImlubmVyLW1pZGRsZS1zbG90LU5iR3B0RDVqIiwiYmVmb3JlLXNsb3QiOiJiZWZvcmUtc2xvdC1OYkdwdEQ1aiIsImFmdGVyLXNsb3QiOiJhZnRlci1zbG90LU5iR3B0RDVqIn19LDU5MjU1MChlKXtlLmV4cG9ydHM9e2lucHV0OiJpbnB1dC1IMHhkQ25GUyIsInNpemUteHhzbWFsbCI6InNpemUteHhzbWFsbC1IMHhkQ25GUyIsInNpemUteHNtYWxsIjoic2l6ZS14c21hbGwtSDB4ZENuRlMiLCJzaXplLXNtYWxsIjoic2l6ZS1zbWFsbC1IMHhkQ25GUyIsInNpemUtbWVkaXVtIjoic2l6ZS1tZWRpdW0tSDB4ZENuRlMiLCJzaXplLWxhcmdlIjoic2l6ZS1sYXJnZS1IMHhkQ25GUyIsIndpdGgtc3RhcnQtc2xvdCI6IndpdGgtc3RhcnQtc2xvdC1IMHhkQ25GUyIsIndpdGgtZW5kLXNsb3QiOiJ3aXRoLWVuZC1zbG90LUgweGRDbkZTIn19LDcxNzE5NShlKXtlLmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLVVHZEM2OXN3IixkaWFsb2dJbm5lcjoiZGlhbG9nSW5uZXItVUdkQzY5c3ciLHRpdGxlV3JhcHBlcjoidGl0bGVXcmFwcGVyLVVHZEM2OXN3Iix0aXRsZToidGl0bGUtVUdkQzY5c3ciLGluZm9IaW50OiJpbmZvSGludC1VR2RDNjlzdyIsZm9ybToiZm9ybS1VR2RDNjlzdyIsaW5wdXRXcmFwcGVyOiJpbnB1dFdyYXBwZXItVUdkQzY5c3ciLGlucHV0OiJpbnB1dC1VR2RDNjlzdyIsaGludDoiaGludC1VR2RDNjlzdyIsZXJyb3I6ImVycm9yLVVHZEM2OXN3In19LDg2NTU2MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUVkFwcENvbnRleHQ6KCk9PmMsVFZBcHBDb250ZXh0UHJvdmlkZXI6KCk9Pmx9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDExNTI5Mykscz1uKDk5OTUxKSxpPW4oMTE3MzEzKTtjb25zdCBhPXtpT3M6Im9sZCIsYW5kcm9pZDoibmV3IixvbGQ6Im9sZCIsbmV3OiJuZXciLGFueToiYW55In07ZnVuY3Rpb24gbChlKXsKY29uc3RbdF09KDAsci51c2VTdGF0ZSkoe2lzT25Nb2JpbGVBcHBQYWdlOmU9PigwLGkuaXNPbk1vYmlsZUFwcFBhZ2UpKGFbZV0pLGlzUnRsOigwLG8uaXNSdGwpKCksbG9jYWxlOndpbmRvdy5sb2NhbGUscmVuZGVyTW9kZTplLnJlbmRlck1vZGU/PyJsZWdhY3kifSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChzLkFwcENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnR9LGUuY2hpbGRyZW4pfWNvbnN0IGM9cy5BcHBDb250ZXh0fSw1NzEzMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2NyZWF0ZVJlYWN0Um9vdDooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oMTI5MzY1KSxzPW4oMzM2MzM0KSxpPW4oODY1NTYwKTtmdW5jdGlvbiBhKGUsdCxuPSJsZWdhY3kiKXtjb25zdCBhPXIuY3JlYXRlRWxlbWVudChpLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm59LGUpO2lmKCJtb2Rlcm4iPT09bil7Y29uc3QgZT0oMCxzLmNyZWF0ZVJvb3QpKHQpO3JldHVybiBlLnJlbmRlcihhKSx7cmVuZGVyKHQpe2UucmVuZGVyKHIuY3JlYXRlRWxlbWVudChpLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm59LHQpKX0sdW5tb3VudCgpe2UudW5tb3VudCgpfX19cmV0dXJuIG8ucmVuZGVyKGEsdCkse3JlbmRlcihlKXtvLnJlbmRlcihyLmNyZWF0ZUVsZW1lbnQoaS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTpufSxlKSx0KX0sdW5tb3VudCgpe28udW5tb3VudENvbXBvbmVudEF0Tm9kZSh0KX19fX0sNjU5ODc4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse21ha2VPdmVybGFwYWJsZTooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oNTg1NDgpO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gY2xhc3MgZXh0ZW5kcyByLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7aXNPcGVuZWQ6bixyb290OnN9PXRoaXMucHJvcHM7aWYoIW4pcmV0dXJuIG51bGw7Y29uc3QgaT1yLmNyZWF0ZUVsZW1lbnQoZSx7Li4udGhpcy5wcm9wcyxyZWY6dGhpcy5wcm9wcy5jb21wb25lbnRSZWYsekluZGV4OjE1MH0pO3JldHVybiJwYXJlbnQiPT09cz9pOnIuY3JlYXRlRWxlbWVudChvLlBvcnRhbCx7c2hvdWxkVHJhcEZvY3VzOnR9LGkpfX19fSw5OTk1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBcHBDb250ZXh0OigpPT5yfSk7Y29uc3Qgcj0oMCxuKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2lzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDUzMjAxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDb250cm9sR3JvdXBDb250ZXh0OigpPT5zLGRlZmF1bHRDZWxsU3RhdGU6KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz17aXNUb3A6ITAsaXNSaWdodDohMCxpc0JvdHRvbTohMCxpc0xlZnQ6ITB9LHM9ci5jcmVhdGVDb250ZXh0KHtpc0dyb3VwZWQ6ITEsY2VsbFN0YXRlOm99KX0sNjA1MTQxKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtsZXQgdD0wO3JldHVybiBlLmlzVG9wJiZlLmlzTGVmdHx8KHQrPTEpLGUuaXNUb3AmJmUuaXNSaWdodHx8KHQrPTIpLGUuaXNCb3R0b20mJmUuaXNMZWZ0fHwodCs9OCksZS5pc0JvdHRvbSYmZS5pc1JpZ2h0fHwodCs9NCksdH1uLmQodCx7Z2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzOigpPT5yfSl9LDU2MDQ5MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDb250cm9sU2tlbGV0b246KCk9Pl8sSW5wdXRDbGFzc2VzOigpPT5nfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLHM9bi5uKG8pLGk9bigxMzg2MzgpLGE9bigzMTk2OSksbD1uKDM0NTExNiksYz1uKDUzMjAxMSksdT1uKDYwNTE0MSk7dmFyIGQ9bigyMDczNDIpLGY9bi5uKGQpO2Z1bmN0aW9uIHAoZSl7bGV0IHQ9IiI7cmV0dXJuIDAhPT1lJiYoMSZlJiYodD1zKCkodCxmKClbIm5vLWNvcm5lci10b3AtbGVmdCJdKSksMiZlJiYodD1zKCkodCxmKClbIm5vLWNvcm5lci10b3AtcmlnaHQiXSkpLDQmZSYmKHQ9cygpKHQsZigpWyJuby1jb3JuZXItYm90dG9tLXJpZ2h0Il0pKSw4JmUmJih0PXMoKSh0LGYoKVsibm8tY29ybmVyLWJvdHRvbS1sZWZ0Il0pKSksdH1mdW5jdGlvbiBoKGUsdCxuLHIpe2NvbnN0e3JlbW92ZVJvdW5kQm9yZGVyOm8sY2xhc3NOYW1lOmksaW50ZW50OmE9ImRlZmF1bHQiLGJvcmRlclN0eWxlOmw9InRoaW4iLHNpemU6YyxoaWdobGlnaHQ6ZCxkaXNhYmxlZDpoLHJlYWRvbmx5Om0sc3RyZXRjaDpnLG5vUmVhZG9ubHlTdHlsZXM6dixpc0ZvY3VzZWQ6eX09ZSxfPXAobz8/KDAsdS5nZXRHcm91cENlbGxSZW1vdmVSb3VuZEJvcmRlcnMpKG4pKTtyZXR1cm4gcygpKGYoKS5jb250YWluZXIsZigpW2Bjb250YWluZXItJHtjfWBdLGYoKVtgaW50ZW50LSR7YX1gXSxmKClbYGJvcmRlci0ke2x9YF0sYyYmZigpW2BzaXplLSR7Y31gXSxfLGQmJmYoKVsid2l0aC1oaWdobGlnaHQiXSxoJiZmKCkuZGlzYWJsZWQsbSYmIXYmJmYoKS5yZWFkb25seSx5JiZmKCkuZm9jdXNlZCxnJiZmKCkuc3RyZXRjaCx0JiZmKCkuZ3JvdXBlZCwhciYmZigpWyJhZGp1c3QtcG9zaXRpb24iXSxuLmlzVG9wJiZmKClbImZpcnN0LXJvdyJdLG4uaXNMZWZ0JiZmKClbImZpcnN0LWNvbCJdLGkpfWZ1bmN0aW9uIG0oZSx0LG4pe2NvbnN0e2hpZ2hsaWdodDpyLGhpZ2hsaWdodFJlbW92ZVJvdW5kQm9yZGVyOm99PWU7aWYoIXIpcmV0dXJuIGYoKS5oaWdobGlnaHQ7Y29uc3QgaT1wKG8/PygwLHUuZ2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzKSh0KSk7cmV0dXJuIHMoKShmKCkuaGlnaGxpZ2h0LGYoKS5zaG93bixmKClbYHNpemUtJHtufWBdLGkpfWNvbnN0IGc9e0ZvbnRTaXplTWVkaXVtOigwLGkuZW5zdXJlRGVmaW5lZCkoZigpWyJmb250LXNpemUtbWVkaXVtIl0pLEZvbnRTaXplTGFyZ2U6KDAsaS5lbnN1cmVEZWZpbmVkKShmKClbImZvbnQtc2l6ZS1sYXJnZSJdKX0sdj17cGFzc2l2ZTohMX07ZnVuY3Rpb24geShlLHQpewpjb25zdHtzdHlsZTpuLGlkOm8scm9sZTpzLG9uRm9jdXM6aSxvbkJsdXI6dSxvbk1vdXNlT3ZlcjpkLG9uTW91c2VPdXQ6Zixvbk1vdXNlRW50ZXI6cCxvbk1vdXNlTGVhdmU6Zyxvbk1vdXNlRG93bjp5LG9uTW91c2VVcDpfLG9uS2V5RG93bjpDLG9uQ2xpY2s6dyx0YWJJbmRleDpTLHN0YXJ0U2xvdDpiLG1pZGRsZVNsb3Q6RSxlbmRTbG90Ongsb25XaGVlbDpOLG9uV2hlZWxOb1Bhc3NpdmU6Uj1udWxsLHNpemU6SSx0YWc6Tz0ic3BhbiIsdHlwZTpNfT1lLHtpc0dyb3VwZWQ6QSxjZWxsU3RhdGU6RCxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50OlQ9ITF9PSgwLHIudXNlQ29udGV4dCkoYy5Db250cm9sR3JvdXBDb250ZXh0KSxHPWZ1bmN0aW9uKGUsdD1udWxsLG4pe2NvbnN0IG89KDAsci51c2VSZWYpKG51bGwpLHM9KDAsci51c2VSZWYpKG51bGwpLGk9KDAsci51c2VDYWxsYmFjaykoKCgpPT57aWYobnVsbD09PW8uY3VycmVudHx8bnVsbD09PXMuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPXMuY3VycmVudDtudWxsIT09dCYmby5jdXJyZW50LmFkZEV2ZW50TGlzdGVuZXIoZSx0LG4pfSksW10pLGE9KDAsci51c2VDYWxsYmFjaykoKCgpPT57aWYobnVsbD09PW8uY3VycmVudHx8bnVsbD09PXMuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPXMuY3VycmVudDtudWxsIT09dCYmby5jdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0LG4pfSksW10pLGw9KDAsci51c2VDYWxsYmFjaykoKGU9PnthKCksby5jdXJyZW50PWUsaSgpfSksW10pO3JldHVybigwLHIudXNlRWZmZWN0KSgoKCk9PihzLmN1cnJlbnQ9W2UsdCxuXSxpKCksYSkpLFtlLHQsbl0pLGx9KCJ3aGVlbCIsUix2KSxMPU87cmV0dXJuIHIuY3JlYXRlRWxlbWVudChMLHt0eXBlOk0sc3R5bGU6bixpZDpvLHJvbGU6cyxjbGFzc05hbWU6aChlLEEsRCxUKSx0YWJJbmRleDpTLHJlZjooMCxhLnVzZU1lcmdlZFJlZnMpKFt0LEddKSxvbkZvY3VzOmksb25CbHVyOnUsb25Nb3VzZU92ZXI6ZCxvbk1vdXNlT3V0OmYsb25Nb3VzZUVudGVyOnAsb25Nb3VzZUxlYXZlOmcsb25Nb3VzZURvd246eSxvbk1vdXNlVXA6XyxvbktleURvd246QyxvbkNsaWNrOncsb25XaGVlbDpOLC4uLigwLGwuZmlsdGVyRGF0YVByb3BzKShlKSwuLi4oMCxsLmZpbHRlckFyaWFQcm9wcykoZSl9LGIsRSx4LHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTptKGUsRCxJKX0pKX15LmRpc3BsYXlOYW1lPSJDb250cm9sU2tlbGV0b24iO2NvbnN0IF89ci5mb3J3YXJkUmVmKHkpfSw1MDU2MzkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QWZ0ZXJTbG90OigpPT5mLEJlZm9yZVNsb3Q6KCk9PmwsRW5kU2xvdDooKT0+ZCxNaWRkbGVTbG90OigpPT51LFN0YXJ0U2xvdDooKT0+Y30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxzPW4ubihvKSxpPW4oODk0NDY0KSxhPW4ubihpKTtmdW5jdGlvbiBsKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJiZWZvcmUtc2xvdCJdLHQpfSxuKX1mdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGludGVyYWN0aXZlOm49ITAsaWNvbjpvPSExLGNoaWxkcmVuOml9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJpbm5lci1zbG90Il0sbiYmYSgpLmludGVyYWN0aXZlLG8mJmEoKS5pY29uLHQpfSxpKX1mdW5jdGlvbiB1KGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJpbm5lci1zbG90Il0sYSgpWyJpbm5lci1taWRkbGUtc2xvdCJdLHQpfSxuKX1mdW5jdGlvbiBkKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGludGVyYWN0aXZlOm49ITAsaWNvbjpvPSExLGNoaWxkcmVuOmksZGF0YVFhSWQ6bH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShhKClbImlubmVyLXNsb3QiXSxuJiZhKCkuaW50ZXJhY3RpdmUsbyYmYSgpLmljb24sdCksImRhdGEtcWEtaWQiOmx9LGkpfWZ1bmN0aW9uIGYoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY2hpbGRyZW46bixkYXRhUWFJZDpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKGEoKVsiYWZ0ZXItc2xvdCJdLHQpLCJkYXRhLXFhLWlkIjpvfSxuKX19LDM2MTg1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnB1dDooKT0+XyxJbnB1dENvbnRyb2w6KCk9PkN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDE0NzkwMSksYT1uKDM0NTExNiksbD1uKDgzMzkwMyksYz1uKDc4MDY1MSksdT1uKDMxOTY5KSxkPW4oOTA4MDk3KSxmPW4oMTQ1OTg0KSxwPW4oNTY0MjEpLGg9big1NjA0OTEpLG09big1MDU2MzkpLGc9big1OTI1NTApLHY9bi5uKGcpO2Z1bmN0aW9uIHkoZSl7cmV0dXJuISgwLGEuaXNBcmlhQXR0cmlidXRlKShlKSYmISgwLGEuaXNEYXRhQXR0cmlidXRlKShlKX1mdW5jdGlvbiBfKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixyb2xlOm8sdGFiSW5kZXg6bCxwbGFjZWhvbGRlcjpjLG5hbWU6dSx0eXBlOmQsdmFsdWU6ZixkZWZhdWx0VmFsdWU6cCxkcmFnZ2FibGU6ZyxhdXRvQ29tcGxldGU6XyxhdXRvRm9jdXM6QyxhdXRvQ2FwaXRhbGl6ZTp3LGF1dG9Db3JyZWN0OlMsbWF4TGVuZ3RoOmIsbWluOkUsbWF4Ongsc3RlcDpOLHBhdHRlcm46UixpbnB1dE1vZGU6SSxvblNlbGVjdDpPLG9uRm9jdXM6TSxvbkJsdXI6QSxvbktleURvd246RCxvbktleVVwOlQsb25LZXlQcmVzczpHLG9uQ2hhbmdlOkwsb25EcmFnU3RhcnQ6ayxzaXplOlA9InNtYWxsIixjbGFzc05hbWU6eixpbnB1dENsYXNzTmFtZTpGLGRpc2FibGVkOkIscmVhZG9ubHk6VSxjb250YWluZXJUYWJJbmRleDpYLHN0YXJ0U2xvdDpqLGVuZFNsb3Q6SCxyZWZlcmVuY2U6JCxjb250YWluZXJSZWZlcmVuY2U6VixvbkNvbnRhaW5lckZvY3VzOlcsZGF0YVFhSWQ6SywuLi5xfT1lLFE9KDAsYS5maWx0ZXJQcm9wcykocSx5KSxaPXsuLi4oMCwKYS5maWx0ZXJBcmlhUHJvcHMpKHEpLC4uLigwLGEuZmlsdGVyRGF0YVByb3BzKShxKSxpZDp0LHRpdGxlOm4scm9sZTpvLHRhYkluZGV4OmwscGxhY2Vob2xkZXI6YyxuYW1lOnUsdHlwZTpkLHZhbHVlOmYsZGVmYXVsdFZhbHVlOnAsZHJhZ2dhYmxlOmcsYXV0b0NvbXBsZXRlOl8sYXV0b0ZvY3VzOkMsYXV0b0NhcGl0YWxpemU6dyxhdXRvQ29ycmVjdDpTLG1heExlbmd0aDpiLG1pbjpFLG1heDp4LHN0ZXA6TixwYXR0ZXJuOlIsaW5wdXRNb2RlOkksb25TZWxlY3Q6TyxvbkZvY3VzOk0sb25CbHVyOkEsb25LZXlEb3duOkQsb25LZXlVcDpULG9uS2V5UHJlc3M6RyxvbkNoYW5nZTpMLG9uRHJhZ1N0YXJ0Omt9O3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaC5Db250cm9sU2tlbGV0b24sey4uLlEsZGlzYWJsZWQ6QixyZWFkb25seTpVLHRhYkluZGV4OlgsY2xhc3NOYW1lOnosc2l6ZTpQLHJlZjpWLG9uRm9jdXM6VyxzdGFydFNsb3Q6aixtaWRkbGVTbG90OnIuY3JlYXRlRWxlbWVudChtLk1pZGRsZVNsb3QsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoImlucHV0Iix7Li4uWixjbGFzc05hbWU6cygpKHYoKS5pbnB1dCx2KClbYHNpemUtJHtQfWBdLEYsaiYmdigpWyJ3aXRoLXN0YXJ0LXNsb3QiXSxIJiZ2KClbIndpdGgtZW5kLXNsb3QiXSksZGlzYWJsZWQ6QixyZWFkT25seTpVLHJlZjokLCJkYXRhLXFhLWlkIjooMCxpLmRhdGFRYUlkcykoInVpLWxpYi1JbnB1dC1pbnB1dCIsSz9gJHtLfS1pbnB1dGA6dm9pZCAwKX0pKSxlbmRTbG90OkgsImRhdGEtcWEtaWQiOigwLGkuZGF0YVFhSWRzKSgidWktbGliLUlucHV0IixLKX0pfWZ1bmN0aW9uIEMoZSl7ZT0oMCxkLnVzZUNvbnRyb2wpKGUpO2NvbnN0e2Rpc2FibGVkOnQsYXV0b1NlbGVjdE9uRm9jdXM6bix0YWJJbmRleDpvPTAsb25Gb2N1czpzLG9uQmx1cjppLHJlZmVyZW5jZTphLGNvbnRhaW5lclJlZmVyZW5jZTpoPW51bGwsZGF0YVFhSWQ6bX09ZSxnPSgwLHIudXNlUmVmKShudWxsKSx2PSgwLHIudXNlUmVmKShudWxsKSxbeSxDXT0oMCxmLnVzZUZvY3VzKSgpLHc9dD92b2lkIDA6eT8tMTpvLFM9dD92b2lkIDA6eT9vOi0xLHtpc01vdXNlRG93bjpiLGhhbmRsZU1vdXNlRG93bjpFLGhhbmRsZU1vdXNlVXA6eH09KDAscC51c2VJc01vdXNlRG93bikoKSxOPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoQy5vbkZvY3VzLChmdW5jdGlvbihlKXtuJiYhYi5jdXJyZW50JiYoMCxjLnNlbGVjdEFsbENvbnRlbnQpKGUuY3VycmVudFRhcmdldCl9KSxzKSxSPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoQy5vbkJsdXIsaSksST0oMCxyLnVzZUNhbGxiYWNrKSgoZT0+e2cuY3VycmVudD1lLGEmJigiZnVuY3Rpb24iPT10eXBlb2YgYSYmYShlKSwib2JqZWN0Ij09dHlwZW9mIGEmJihhLmN1cnJlbnQ9ZSkpfSksW2csYV0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoXyx7Li4uZSxpc0ZvY3VzZWQ6eSxjb250YWluZXJUYWJJbmRleDp3LHRhYkluZGV4OlMsb25Db250YWluZXJGb2N1czpmdW5jdGlvbihlKXt2LmN1cnJlbnQ9PT1lLnRhcmdldCYmbnVsbCE9PWcuY3VycmVudCYmZy5jdXJyZW50LmZvY3VzKCl9LG9uRm9jdXM6TixvbkJsdXI6UixyZWZlcmVuY2U6SSxjb250YWluZXJSZWZlcmVuY2U6KDAsdS51c2VNZXJnZWRSZWZzKShbdixoXSksb25Nb3VzZURvd246RSxvbk1vdXNlVXA6eCxkYXRhUWFJZDptfSl9fSw5MDgwOTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29udHJvbDooKT0+c30pO3ZhciByPW4oODMzOTAzKSxvPW4oMTQ1OTg0KTtmdW5jdGlvbiBzKGUpe2NvbnN0e29uRm9jdXM6dCxvbkJsdXI6bixpbnRlbnQ6cyxoaWdobGlnaHQ6aSxkaXNhYmxlZDphfT1lLFtsLGNdPSgwLG8udXNlRm9jdXMpKHZvaWQgMCxhKSx1PSgwLHIuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoYT92b2lkIDA6Yy5vbkZvY3VzLHQpLGQ9KDAsci5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKShhP3ZvaWQgMDpjLm9uQmx1cixuKTtyZXR1cm57Li4uZSxpbnRlbnQ6c3x8KGw/InByaW1hcnkiOiJkZWZhdWx0IiksaGlnaGxpZ2h0Omk/P2wsb25Gb2N1czp1LG9uQmx1cjpkfX19LDE0NTk4NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VGb2N1czooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSghMSk7KDAsci51c2VFZmZlY3QpKCgoKT0+e3QmJm4mJm8oITEpfSksW3Qsbl0pO2NvbnN0IHM9e29uRm9jdXM6KDAsci51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKHQpe3ZvaWQgMCE9PWUmJmUuY3VycmVudCE9PXQudGFyZ2V0fHxvKCEwKX0pLFtlXSksb25CbHVyOigwLHIudXNlQ2FsbGJhY2spKChmdW5jdGlvbih0KXt2b2lkIDAhPT1lJiZlLmN1cnJlbnQhPT10LnRhcmdldHx8byghMSl9KSxbZV0pfTtyZXR1cm5bbixzXX19LDU2NDIxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUlzTW91c2VEb3duOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oKXtjb25zdCBlPSgwLHIudXNlUmVmKSghMSksdD0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntlLmN1cnJlbnQ9ITB9KSxbZV0pLG49KDAsci51c2VDYWxsYmFjaykoKCgpPT57ZS5jdXJyZW50PSExfSksW2VdKTtyZXR1cm57aXNNb3VzZURvd246ZSxoYW5kbGVNb3VzZURvd246dCxoYW5kbGVNb3VzZVVwOm59fX0sMzE5NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlTWVyZ2VkUmVmczooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTY0NTk0KTtmdW5jdGlvbiBzKGUpe3JldHVybigwLHIudXNlQ2FsbGJhY2spKCgwLG8ubWVyZ2VSZWZzKShlKSxlKX19LDkwMDg0MShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0LG4scixvKXtmdW5jdGlvbiBzKG8pe2lmKGU+by50aW1lU3RhbXApcmV0dXJuO2NvbnN0IHM9by50YXJnZXQ7dm9pZCAwIT09biYmbnVsbCE9PXQmJm51bGwhPT1zJiZzLm93bmVyRG9jdW1lbnQ9PT1yJiYodC5jb250YWlucyhzKXx8bihvKSl9CnJldHVybiBvLmNsaWNrJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixzLCExKSxvLm1vdXNlRG93biYmci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHMsITEpLG8udG91Y2hFbmQmJnIuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMsITEpLG8udG91Y2hTdGFydCYmci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixzLCExKSwoKT0+e3IucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHMsITEpLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixzLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixzLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMsITEpfX1uLmQodCx7YWRkT3V0c2lkZUV2ZW50TGlzdGVuZXI6KCk9PnJ9KX0sMjM2NzY1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU91dHNpZGVFdmVudDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKSxzPW4oOTAwODQxKTtmdW5jdGlvbiBpKGUpe2NvbnN0e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmEsaGFuZGxlcjpsLHJlZmVyZW5jZTpjfT1lLHU9KDAsci51c2VSZWYpKG51bGwpLGQ9KDAsci51c2VSZWYpKCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93PzA6bmV3IHdpbmRvdy5DdXN0b21FdmVudCgidGltZXN0YW1wIikudGltZVN0YW1wKTtyZXR1cm4oMCxvLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmF9LHI9Yz9jLmN1cnJlbnQ6dS5jdXJyZW50O3JldHVybigwLHMuYWRkT3V0c2lkZUV2ZW50TGlzdGVuZXIpKGQuY3VycmVudCxyLGwsZG9jdW1lbnQsZSl9KSxbdCxuLGksYSxsXSksY3x8dX19LDI3MzMxMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJY29uOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2NvbnN0IG89ci5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246bj0iIix0aXRsZTpvLGFyaWFMYWJlbDpzLGFyaWFMYWJlbGxlZGJ5OmksYXJpYUhpZGRlbjphLC4uLmx9PWUsYz0hIShvfHxzfHxpKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiaW1nIiwuLi5sLHJlZjp0LCJhcmlhLWxhYmVsIjpzLCJhcmlhLWxhYmVsbGVkYnkiOmksImFyaWEtaGlkZGVuIjphfHwhYyx0aXRsZTpvLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6bn19KX0pKX0sNTg1NDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9ydGFsOigpPT5jLFBvcnRhbENvbnRleHQ6KCk9PnV9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDEyOTM2NSkscz1uKDg1Njc3MCksaT1uKDkwMzQyKSxhPW4oNTcwMTkzKSxsPW4oNjA3ODMyKTtjbGFzcyBjIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl91dWlkPSgwLHMubmFub2lkKSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWFuYWdlcigpLnJlbW92ZVdpbmRvdyh0aGlzLl91dWlkKX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX21hbmFnZXIoKS5lbnN1cmVXaW5kb3codGhpcy5fdXVpZCx0aGlzLnByb3BzLmxheWVyT3B0aW9ucyk7ZS5zdHlsZS50b3A9dGhpcy5wcm9wcy50b3B8fCIiLGUuc3R5bGUuYm90dG9tPXRoaXMucHJvcHMuYm90dG9tfHwiIixlLnN0eWxlLmxlZnQ9dGhpcy5wcm9wcy5sZWZ0fHwiIixlLnN0eWxlLnJpZ2h0PXRoaXMucHJvcHMucmlnaHR8fCIiLGUuc3R5bGUucG9pbnRlckV2ZW50cz10aGlzLnByb3BzLnBvaW50ZXJFdmVudHN8fCIiO2NvbnN0IHQ9dGhpcy5wcm9wcy5jbGFzc05hbWU7cmV0dXJuIHQmJigic3RyaW5nIj09dHlwZW9mIHQ/ZS5jbGFzc0xpc3QuYWRkKHQpOmUuY2xhc3NMaXN0LmFkZCguLi50KSksdGhpcy5wcm9wcy5zaG91bGRUcmFwRm9jdXMmJiFlLmhhc0F0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsInRydWUiKSx0aGlzLnByb3BzWyJhcmlhLWhpZGRlbiJdJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksby5jcmVhdGVQb3J0YWwoci5jcmVhdGVFbGVtZW50KHUuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LHRoaXMucHJvcHMuY2hpbGRyZW4pLGUpfW1vdmVUb1RvcCgpe3RoaXMuX21hbmFnZXIoKS5tb3ZlVG9Ub3AodGhpcy5fdXVpZCl9X21hbmFnZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuY29udGV4dD8oMCxpLmdldFJvb3RPdmVybGFwTWFuYWdlcikoKTp0aGlzLmNvbnRleHR9fWMuY29udGV4dFR5cGU9bC5TbG90Q29udGV4dDtjb25zdCB1PXIuY3JlYXRlQ29udGV4dChudWxsKX0sNjA3ODMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Nsb3Q6KCk9Pm8sU2xvdENvbnRleHQ6KCk9PnN9KTt2YXIgcj1uKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIHIuQ29tcG9uZW50e3Nob3VsZENvbXBvbmVudFVwZGF0ZSgpe3JldHVybiExfXJlbmRlcigpe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDoxNTAsbGVmdDowLHRvcDowfSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9KX19Y29uc3Qgcz1yLmNyZWF0ZUNvbnRleHQobnVsbCl9LDM0NTExNihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHMoZSxpKX1mdW5jdGlvbiBvKGUpe3JldHVybiBzKGUsYSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49T2JqZWN0LmVudHJpZXMoZSkuZmlsdGVyKHQpLHI9e307Zm9yKGNvbnN0W2UsdF1vZiBuKXJbZV09dDtyZXR1cm4gcn1mdW5jdGlvbiBpKGUpe2NvbnN0W3Qsbl09ZTtyZXR1cm4gMD09PXQuaW5kZXhPZigiZGF0YS0iKSYmInN0cmluZyI9PXR5cGVvZiBufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIDA9PT1lWzBdLmluZGV4T2YoImFyaWEtIil9ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49cihlKTtyZXR1cm4gdCYmKG5bImRhdGEtcWEtaWQiXT10KSxufW4uZCh0LHtmaWx0ZXJBcmlhUHJvcHM6KCk9Pm8sCmZpbHRlckNoZWNrZWREYXRhUHJvcHM6KCk9PmwsZmlsdGVyRGF0YVByb3BzOigpPT5yLGZpbHRlclByb3BzOigpPT5zLGlzQXJpYUF0dHJpYnV0ZTooKT0+YSxpc0RhdGFBdHRyaWJ1dGU6KCk9Pml9KX0sMTQ3OTAxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1VJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWDooKT0+aSxjb25jYXRJZk5vdE51bGw6KCk9PnMsZGF0YVFhSWRzOigpPT5vfSk7dmFyIHI9big1NjU3NDUpO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm5bZSx0XS5maWx0ZXIoci5pc0V4aXN0ZW50KS5qb2luKCIgIil9ZnVuY3Rpb24gcyhlLHQpe2lmKCgwLHIuaXNFeGlzdGVudCkodCkpcmV0dXJuW2UsdF0uam9pbigiICIpfWNvbnN0IGk9InVpLWxpYi0ifSw3ODA2NTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe251bGwhPT1lJiZlLnNldFNlbGVjdGlvblJhbmdlKDAsZS52YWx1ZS5sZW5ndGgpfW4uZCh0LHtzZWxlY3RBbGxDb250ZW50OigpPT5yfSl9LDk2NDU5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHIoW2VdKX1uLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnJ9KX0sNzE4NTUzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse091dHNpZGVFdmVudDooKT0+b30pO3ZhciByPW4oMjM2NzY1KTtmdW5jdGlvbiBvKGUpe2NvbnN0e2NoaWxkcmVuOnQsLi4ubn09ZTtyZXR1cm4gdCgoMCxyLnVzZU91dHNpZGVFdmVudCkobikpfX0sOTAzNDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PmksZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIHI9bigxMzg2MzgpLG89big1NzAxOTMpO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIGl7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgcyx0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbj1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxuKSx0aGlzLl9jb250YWluZXI9bn1yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBuPXRoaXMuX3dpbmRvd3MuZ2V0KGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47dGhpcy5yZWdpc3RlcldpbmRvdyhlKTtjb25zdCByPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKHIuc3R5bGUucG9zaXRpb249dC5wb3NpdGlvbixyLnN0eWxlLnpJbmRleD10aGlzLl9pbmRleC50b1N0cmluZygpLHIuZGF0YXNldC5pZD1lLHZvaWQgMCE9PXQuaW5kZXgpe2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHQuaW5kZXg+PWUpdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHIpO2Vsc2UgaWYodC5pbmRleDw9MCl0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpO2Vsc2V7Y29uc3QgZT10aGlzLl9jb250YWluZXIuY2hpbGROb2Rlc1t0LmluZGV4XTt0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsZSl9fWVsc2UicmV2ZXJzZSI9PT10LmRpcmVjdGlvbj90aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpOnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChyKTtyZXR1cm4gdGhpcy5fd2luZG93cy5zZXQoZSxyKSwrK3RoaXMuX2luZGV4LHJ9dW5yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLnJlbW92ZShlKTtjb25zdCB0PXRoaXMuX3dpbmRvd3MuZ2V0KGUpO3ZvaWQgMCE9PXQmJihudWxsIT09dC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCksdGhpcy5fd2luZG93cy5kZWxldGUoZSkpfWdldFppbmRleChlKXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3JldHVybiBwYXJzZUludCh0LnN0eWxlLnpJbmRleHx8IjAiKX1tb3ZlTGFzdFdpbmRvd1RvVG9wKCl7Y29uc3QgZT10aGlzLl9zdG9yYWdlLmdldEl0ZW1zKCksdD1lW2UubGVuZ3RoLTFdO3QmJnRoaXMubW92ZVRvVG9wKHQpfW1vdmVUb1RvcChlKXtpZih0aGlzLmdldFppbmRleChlKSE9PXRoaXMuX2luZGV4KXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3RoaXMuX3dpbmRvd3MuZm9yRWFjaCgoKGUsbik9PntlLmhhc0F0dHJpYnV0ZShvLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShvLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsZT09PXQ/InRydWUiOiJmYWxzZSIpfSkpLHQuc3R5bGUuekluZGV4PSgrK3RoaXMuX2luZGV4KS50b1N0cmluZygpfX1yZW1vdmVXaW5kb3coZSl7dGhpcy51bnJlZ2lzdGVyV2luZG93KGUpfX1jb25zdCBhPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGwoZT1kb2N1bWVudCl7Y29uc3QgdD1lLmdldEVsZW1lbnRCeUlkKCJvdmVybGFwLW1hbmFnZXItcm9vdCIpO2lmKG51bGwhPT10KXJldHVybigwLHIuZW5zdXJlRGVmaW5lZCkoYS5nZXQodCkpO3sKY29uc3QgdD1uZXcgaShlKSxuPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIGEuc2V0KG4sdCksdC5zZXRDb250YWluZXIobiksZS5ib2R5LmFwcGVuZENoaWxkKG4pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sODMzOTAzKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gciguLi5lKXtyZXR1cm4gdD0+e2Zvcihjb25zdCBuIG9mIGUpdm9pZCAwIT09biYmbih0KX19bi5kKHQse2NyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXI6KCk9PnJ9KX0sNTY1NzQ1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gbnVsbCE9ZX1uLmQodCx7aXNFeGlzdGVudDooKT0+cn0pfSw2MTYzMTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93P3IudXNlRWZmZWN0OnIudXNlTGF5b3V0RWZmZWN0KShlLHQpfX0sODYzNDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGlhbG9nc09wZW5lck1hbmFnZXI6KCk9PnIsZGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm99KTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fc3RvcmFnZT1uZXcgTWFwfXNldEFzT3BlbmVkKGUsdCl7dGhpcy5fc3RvcmFnZS5zZXQoZSx0KX1zZXRBc0Nsb3NlZChlKXt0aGlzLl9zdG9yYWdlLmRlbGV0ZShlKX1pc09wZW5lZChlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5oYXMoZSl9Z2V0RGlhbG9nUGF5bG9hZChlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5nZXQoZSl9fWNvbnN0IG89bmV3IHJ9LDY5MjI2NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sdGlwV2lkZ2V0OigpPT5kLFRvb2x0aXBXaXphcmQ6KCk9PnV9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDI3MzMxMCksYT1uKDU4NTQ4KSxsPW4oODA2NjkzKSxjPW4oOTIzNTEzKTtjbGFzcyB1IGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LG9uQ2xvc2U6bixyZWZlcmVuY2U6byxjb250YWluZXJDbGFzc05hbWU6aSxhcnJvd0NsYXNzTmFtZTpsLHJvbGU6dX09dGhpcy5wcm9wcztyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuUG9ydGFsLG51bGwsci5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6b30sci5jcmVhdGVFbGVtZW50KGQse3JlZmVyZW5jZTp0LnJlZixzdHlsZTp0LnN0eWxlLGFycm93Q2xhc3NOYW1lOnMoKShjLmFycm93SG9sZGVyLHRoaXMuX2dldEFycm93RGlyZWN0aW9uQ2xhc3MoKSxsKSxhcnJvd1JlZmVyZW5jZTp0LmFycm93UHJvcHMucmVmLGFycm93U3R5bGU6dC5hcnJvd1Byb3BzLnN0eWxlLCJkYXRhLXBsYWNlbWVudCI6dC5wbGFjZW1lbnQsb25DbG9zZTpuLGNvbnRhaW5lckNsYXNzTmFtZTppLHJvbGU6dX0sZSkpKX1fZ2V0QXJyb3dEaXJlY3Rpb25DbGFzcygpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6ZX09dGhpcy5wcm9wcztzd2l0Y2goZS5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJsZWZ0LXN0YXJ0IjpyZXR1cm4gcygpKGNbImFycm93SG9sZGVyLS1hZnRlciJdLGNbImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4Il0pO2Nhc2UidG9wIjpyZXR1cm4gcygpKGNbImFycm93SG9sZGVyLS1hYm92ZSJdLGNbImFycm93SG9sZGVyLS1hYm92ZS1maXgiXSk7Y2FzZSJib3R0b20iOmNhc2UiYm90dG9tLXN0YXJ0IjpjYXNlImJvdHRvbS1lbmQiOnJldHVybiBjWyJhcnJvd0hvbGRlci0tYmVsb3ciXTtkZWZhdWx0OnJldHVybiBzKCkoY1siYXJyb3dIb2xkZXItLWJlZm9yZSJdLGNbImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCJdKX19fWZ1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY29udGFpbmVyQ2xhc3NOYW1lOm4sY29udGVudENsYXNzTmFtZTpvLHJlZmVyZW5jZTphLHN0eWxlOnUsYXJyb3c6ZD0hMCxhcnJvd0NsYXNzTmFtZTpmLGFycm93UmVmZXJlbmNlOnAsb25DbG9zZTpoLGFycm93U3R5bGU6bSxjaGlsZHJlbjpnLHJvbGU6diwuLi55fT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLnksY2xhc3NOYW1lOnQscmVmOmEsc3R5bGU6dSwiZGF0YS1yb2xlIjp2fSxkJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLHJlZjpwLHN0eWxlOm19KSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoYy5jb250YWluZXIsbil9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShjLmNvbnRlbnQsbyl9LGcpLGgmJnIuY3JlYXRlRWxlbWVudChpLkljb24se2NsYXNzTmFtZTpjLmNsb3NlQnV0dG9uLGljb246bCxvbkNsaWNrOmh9KSkpfX0sMzM2MzM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigxMjkzNjUpO3QuY3JlYXRlUm9vdD1yLmNyZWF0ZVJvb3Qsci5oeWRyYXRlUm9vdH0sMTI5MzY1KGUsdCxuKXsidXNlIHN0cmljdCI7IWZ1bmN0aW9uIGUoKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyYmImZ1bmN0aW9uIj09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSl0cnl7X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKGUpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fSgpLGUuZXhwb3J0cz1uKDUzMjM4Nyl9LDEyMjc0OShlLHQpeyJ1c2Ugc3RyaWN0Igo7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHI9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLHM9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGM9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksZj1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IikscD1TeW1ib2wuaXRlcmF0b3I7dmFyIGg9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LG09T2JqZWN0LmFzc2lnbixnPXt9O2Z1bmN0aW9uIHYoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8aH1mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIF8oZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8aH12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHkucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBDPV8ucHJvdG90eXBlPW5ldyB5O0MuY29uc3RydWN0b3I9XyxtKEMsdi5wcm90b3R5cGUpLEMuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHc9QXJyYXkuaXNBcnJheSxTPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYj17Y3VycmVudDpudWxsfSxFPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24geChlLHQscil7dmFyIG8scz17fSxpPW51bGwsYT1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihhPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKGk9IiIrdC5rZXkpLHQpUy5jYWxsKHQsbykmJiFFLmhhc093blByb3BlcnR5KG8pJiYoc1tvXT10W29dKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpcy5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxsKXtmb3IodmFyIGM9QXJyYXkobCksdT0wO3U8bDt1KyspY1t1XT1hcmd1bWVudHNbdSsyXTtzLmNoaWxkcmVuPWN9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1zW29dJiYoc1tvXT1sW29dKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OmkscmVmOmEscHJvcHM6cyxfb3duZXI6Yi5jdXJyZW50fX1mdW5jdGlvbiBOKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBSPS9cLysvZztmdW5jdGlvbiBJKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gTyhlLHQsbyxzLGkpe3ZhciBhPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09YSYmImJvb2xlYW4iIT09YXx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChhKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIG46Y2FzZSByOmw9ITB9fWlmKGwpcmV0dXJuIGk9aShsPWUpLGU9IiI9PT1zPyIuIitJKGwsMCk6cyx3KGkpPyhvPSIiLG51bGwhPWUmJihvPWUucmVwbGFjZShSLCIkJi8iKSsiLyIpLE8oaSx0LG8sIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1pJiYoTihpKSYmKGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShpLG8rKCFpLmtleXx8bCYmbC5rZXk9PT1pLmtleT8iIjooIiIraS5rZXkpLnJlcGxhY2UoUiwiJCYvIikrIi8iKStlKSksdC5wdXNoKGkpKSwxO2lmKGw9MCxzPSIiPT09cz8iLiI6cysiOiIsdyhlKSlmb3IodmFyIGM9MDtjPGUubGVuZ3RoO2MrKyl7dmFyIHU9cytJKGE9ZVtjXSxjKTtsKz1PKGEsdCxvLHUsaSl9ZWxzZSBpZih1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9cCYmZVtwXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9KGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcihlPXUuY2FsbChlKSxjPTA7IShhPWUubmV4dCgpKS5kb25lOylsKz1PKGE9YS52YWx1ZSx0LG8sdT1zK0koYSxjKyspLGkpO2Vsc2UgaWYoIm9iamVjdCI9PT1hKXRocm93IHQ9U3RyaW5nKGUpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09dD8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhlKS5qb2luKCIsICIpKyJ9Ijp0KSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpCjtyZXR1cm4gbH1mdW5jdGlvbiBNKGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLG89MDtyZXR1cm4gTyhlLHIsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLG8rKyl9KSkscn1mdW5jdGlvbiBBKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIEQ9e2N1cnJlbnQ6bnVsbH0sVD17dHJhbnNpdGlvbjpudWxsfSxHPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOkQsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6VCxSZWFjdEN1cnJlbnRPd25lcjpifTt0LkNoaWxkcmVuPXttYXA6TSxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXtNKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gTShlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBNKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighTihlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPWksdC5QdXJlQ29tcG9uZW50PV8sdC5TdHJpY3RNb2RlPXMsdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Ryx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscil7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89bSh7fSxlLnByb3BzKSxzPWUua2V5LGk9ZS5yZWYsYT1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYsYT1iLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYocz0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGMgaW4gdClTLmNhbGwodCxjKSYmIUUuaGFzT3duUHJvcGVydHkoYykmJihvW2NdPXZvaWQgMD09PXRbY10mJnZvaWQgMCE9PWw/bFtjXTp0W2NdKX12YXIgYz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWMpby5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxjKXtsPUFycmF5KGMpO2Zvcih2YXIgdT0wO3U8Yzt1KyspbFt1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5OnMscmVmOmkscHJvcHM6byxfb3duZXI6YX19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YSxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD14LHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD14LmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpjLHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1OLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6ZixfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkF9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6ZCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PVQudHJhbnNpdGlvbjtULnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e1QudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBELmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIEQuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlRWZmZWN0KGUsdCl9LHQudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gRC5jdXJyZW50LnVzZUlkKCl9LHQudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIEQuY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKGUsdCxuKX0sdC51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRC5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdChlLHQpfSx0LnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KGUsdCl9LHQudXNlTWVtbz1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlTWVtbyhlLHQpfSx0LnVzZVJlZHVjZXI9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBELmN1cnJlbnQudXNlUmVkdWNlcihlLHQsbil9LHQudXNlUmVmPWZ1bmN0aW9uKGUpewpyZXR1cm4gRC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gRC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gRC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEQuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sNDUwNzgzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpLG4uZCh0LHtzaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2c6KCk9PlN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDE4NTI3MSksYT1uKDM2MTg1NSksbD1uKDU2MDQ5MSksYz1uKDIyNTI5OCksdT1uKDU4NTgyMSksZD1uKDI3MzMxMCksZj1uKDM3MTk0OCk7Y29uc3QgcD1pLnQobnVsbCx2b2lkIDAsbig0ODc3NjMpKSxoPWkudChudWxsLHZvaWQgMCxuKDIxMjA1KSk7ZnVuY3Rpb24gbShlKXtjb25zdHtjbGFzc05hbWU6dCxpc1NlY29uZHNFbmFibGVkOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChkLkljb24se2ljb246ZixjbGFzc05hbWU6cygpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsdCksdGl0bGU6bj9oOnB9KX12YXIgZz1uKDQ2NTEzNyksdj1uKDI1NDY3Myk7dmFyIHk9big3MTcxOTUpO2Z1bmN0aW9uIF8oZSl7Y29uc3R7aW5pdFZhbDp0LHNlbGVjdE9uSW5pdDpvLG9uQ2xvc2U6ZH09ZSxmPSgwLHIudXNlUmVmKShudWxsKSxbcCxoXT0oMCxyLnVzZVN0YXRlKSh0LnRvVXBwZXJDYXNlKCkpLF89KDAsci51c2VNZW1vKSgoKCk9PnYuSW50ZXJ2YWwucGFyc2UocCkpLFtwXSksQz1mdW5jdGlvbihlLHQpe3JldHVybigwLHIudXNlTWVtbykoKCgpPT57aWYoIXQuaXNWYWxpZCgpfHwhKDAsZy5pbnRlcnZhbElzU3VwcG9ydGVkKShlKSlyZXR1cm4hMTtjb25zdCBuPXYuSW50ZXJ2YWwubm9ybWFsaXplKGUpO3JldHVybiBudWxsIT09biYmKDAsZy5pc1Jlc29sdXRpb25NdWx0aXBsaWVyVmFsaWQpKG4pfSksW2UsdF0pfShwLF8pLHc9KDAsci51c2VNZW1vKSgoKCk9PntpZighQylyZXR1cm4gbnVsbDtyZXR1cm4oMCxnLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwpKF8udmFsdWUoKSkuaGludH0pLFtDLF9dKTtyZXR1cm4oMCxyLnVzZUxheW91dEVmZmVjdCkoKCgpPT57bz9mLmN1cnJlbnQ/LnNlbGVjdCgpOmYuY3VycmVudD8uZm9jdXMoKX0pLFtvXSksci5jcmVhdGVFbGVtZW50KHUuUG9wdXBEaWFsb2cse2NsYXNzTmFtZTp5LmRpYWxvZywiZGF0YS1kaWFsb2ctbmFtZSI6ImNoYW5nZS1pbnRlcnZhbC1kaWFsb2ciLGlzT3BlbmVkOiEwLG9uQ2xpY2tPdXRzaWRlOmQsb25Gb2N1czpmdW5jdGlvbigpe2YuY3VycmVudD8uZm9jdXMoKX0sb25LZXlEb3duOmZ1bmN0aW9uKGUpezI3PT09ZS5rZXlDb2RlJiZkPy4oKX19LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkuZGlhbG9nSW5uZXJ9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkudGl0bGVXcmFwcGVyfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LnRpdGxlfSxpLnQobnVsbCx2b2lkIDAsbig1OTc3NzApKSksci5jcmVhdGVFbGVtZW50KG0se2NsYXNzTmFtZTp5LmluZm9IaW50LGlzU2Vjb25kc0VuYWJsZWQ6KDAsZy5pc1NlY29uZHNFbmFibGVkKSgpfSkpLHIuY3JlYXRlRWxlbWVudCgiZm9ybSIse2NsYXNzTmFtZTp5LmZvcm0sb25TdWJtaXQ6ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9Yy5saW5raW5nLmludGVydmFsLnZhbHVlKCksbj12LkludGVydmFsLm5vcm1hbGl6ZShwKTtuJiZ0IT09biYmQyYmYy5saW5raW5nLnNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKG4sIkNoYW5nZSBpbnRlcnZhbCBkaWFsb2ciKTtkPy4oKX19LHIuY3JlYXRlRWxlbWVudChhLklucHV0Q29udHJvbCx7Y2xhc3NOYW1lOnMoKSh5LmlucHV0V3JhcHBlcixsLklucHV0Q2xhc3Nlcy5Gb250U2l6ZUxhcmdlKSxpbnB1dENsYXNzTmFtZTp5LmlucHV0LHR5cGU6InRleHQiLHNpemU6ImxhcmdlIixyZWZlcmVuY2U6Zix2YWx1ZTpwLG1heExlbmd0aDo4LGludGVudDpDP3ZvaWQgMDoiZGFuZ2VyIixvbkNoYW5nZTpmdW5jdGlvbihlKXtjb25zdHt2YWx1ZTp0fT1lLnRhcmdldDtoKHQudG9VcHBlckNhc2UoKSl9fSkpLEM/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6eS5oaW50fSx3KTpyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoeS5oaW50LHkuZXJyb3IpfSxpLnQobnVsbCx2b2lkIDAsbigxNDM0MTIpKSkpKX12YXIgQz1uKDg2MzQ0KSx3PW4oNTcxMzAwKTtmdW5jdGlvbiBTKGUpe2lmKEMuZGlhbG9nc09wZW5lck1hbmFnZXIuaXNPcGVuZWQoIkNoYW5nZUludGVydmFsRGlhbG9nIil8fEMuZGlhbG9nc09wZW5lck1hbmFnZXIuaXNPcGVuZWQoIlN5bWJvbFNlYXJjaCIpKXJldHVybjtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHtpbml0VmFsOm4sc2VsZWN0T25Jbml0Om8sb25DbG9zZTpzfT1lLGk9ci5jcmVhdGVFbGVtZW50KF8se2luaXRWYWw6bixzZWxlY3RPbkluaXQ6byxvbkNsb3NlOmZ1bmN0aW9uKCl7YS51bm1vdW50KCksQy5kaWFsb2dzT3BlbmVyTWFuYWdlci5zZXRBc0Nsb3NlZCgiQ2hhbmdlSW50ZXJ2YWxEaWFsb2ciKSxzPy4oKX19KSxhPSgwLHcuY3JlYXRlUmVhY3RSb290KShpLHQpO0MuZGlhbG9nc09wZW5lck1hbmFnZXIuc2V0QXNPcGVuZWQoIkNoYW5nZUludGVydmFsRGlhbG9nIil9fSwzMzI2NjAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7RGlhbG9nRXZlbnREaXNwYXRjaGVyOigpPT5hfSksZnVuY3Rpb24oZSl7ZS5PcGVuPSJkaWFsb2ctb3BlbiIsZS5DbG9zZT0iZGlhbG9nLWNsb3NlIixlLkZ1bGxzY3JlZW5Pbj0iZGlhbG9nLWZ1bGxzY3JlZW4tb24iLGUuRnVsbHNjcmVlbk9mZj0iZGlhbG9nLWZ1bGxzY3JlZW4tb2ZmIn0ocnx8KHI9e30pKQo7dmFyIG89bigyMjEwNjEpLHM9bigxNTAxNTApO2NvbnN0IGk9KDAsby5nZXRMb2dnZXIpKCJEaWFsb2dFdmVudERpc3BhdGNoZXIiKTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fb3BlblNlc3Npb25JZD1udWxsfWRpc3BhdGNoKGUpe2lmKCJkaWFsb2ctb3BlbiI9PT1lKXtpZihudWxsIT09dGhpcy5fb3BlblNlc3Npb25JZClyZXR1cm4gdm9pZCBpLmxvZ0Vycm9yKCJNdWx0aXBsZSBjYWxscyB0byBvcGVuIGRpYWxvZyIpO3RoaXMuX29wZW5TZXNzaW9uSWQ9KDAscy5yYW5kb21IYXNoKSgpfW51bGwhPT10aGlzLl9vcGVuU2Vzc2lvbklkPyh3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoZSx7YnViYmxlczohMCxkZXRhaWw6e2RpYWxvZ1Nlc3Npb25JZDp0aGlzLl9vcGVuU2Vzc2lvbklkfX0pKSwiZGlhbG9nLWNsb3NlIj09PWUmJih0aGlzLl9vcGVuU2Vzc2lvbklkPW51bGwpKTppLmxvZ0Vycm9yKCJFbXB0eSBvcGVuIGRpYWxvZyBzZXNzaW9uIGlkIil9fX0sMzM3MzYyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXI6KCk9Pm99KTt2YXIgcj1uKDkzMDIzMSk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH1zdGFydExpc3RlbmluZygpe3RoaXMuX21lc3NhZ2VSZWNlaXZlcnx8KHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1lPT57aWYoZS5kYXRhKXRyeXtjb25zdCB0PUpTT04ucGFyc2UoZS5kYXRhKTsic2V0LWVtYmVkLXJlc2l6ZXItb3ZlcnJpZGVzIj09PXQuZXZlbnQmJih0aGlzLl9kYXRhPXQuZWRnZXMpfWNhdGNoe319LHRoaXMuX2FkZE1lc3NhZ2VMaXN0ZW5lcigpKX1kZXN0cm95KCl7dGhpcy5fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB0aGlzLl9pbnN0YW5jZXx8KHRoaXMuX2luc3RhbmNlPW5ldyBvKSx0aGlzLl9pbnN0YW5jZX1fYWRkTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKX1fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKSx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH19KDAsci5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZW1iZWRfcmVzaXplcl9vdmVycmlkZXMiKSYmby5nZXRJbnN0YW5jZSgpLnN0YXJ0TGlzdGVuaW5nKCl9LDM3MTk0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDguNWgxLjVWMTQiLz48Y2lyY2xlIGZpbGw9ImN1cnJlbnRDb2xvciIgY3g9IjkiIGN5PSI1IiByPSIxIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNi41IDlhNy41IDcuNSAwIDEgMS0xNSAwIDcuNSA3LjUgMCAwIDEgMTUgMHoiLz48L3N2Zz4nfSw4NTY3NzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bmFub2lkOigpPT5yfSk7bGV0IHI9KGU9MjEpPT5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KGUpKS5yZWR1Y2UoKChlLHQpPT5lKz0odCY9NjMpPDM2P3QudG9TdHJpbmcoMzYpOnQ8NjI/KHQtMjYpLnRvU3RyaW5nKDM2KS50b1VwcGVyQ2FzZSgpOnQ+NjI/Ii0iOiJfIiksIiIpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCICP.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.482Z","timestamp":1785136905482,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCICP.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCNMR.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.556Z","timestamp":1785136905556,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCNMR.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/59465.8e9c06b76c9d50bc242b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.371Z","timestamp":1785136900371,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/59465.8e9c06b76c9d50bc242b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 094c10194f505b3b17aa2b591109086e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1931549,"size_decoded":548405,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"f8f27d4db01cfe50f3ffd3e990484148","sha1":"3c973ba80b7fd6d45633690af7aa0e4a3fba0645","sha256":"69c8983025d395ad464d6230d65cd7d0ff85eb063c00d6e250e809031f6e7aa0","sha512":"84aea9bbd1ac9e512fd30e2455d1ff25a9bdc2481f66a344af5bbe5e63d47fc51227ca65a24c8a36729c47e027201f6ebe950514126974b22312c1586671f9ed","ssdeep":"24576:fzalYAraWBQ4zQtuj0doGOpRYjjpQ78tGAzOJR/n43dFXOBmrmVUBsYdxS:fzalHraWqtuj0CpRYjjpQ7EGAzOJV43O","tlshash":"f1254ba3b36024ab97e911e548b51503e35818867807c66cf17c6cef25adc4932fafbd","first_seen":"2026-07-24T11:36:47.876406Z","last_seen":"2026-07-28T06:17:53.557126Z","times_seen":205,"resource_available":false,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3Mjg1LDU5NDY1XSx7NTA2NDQ2KGUpe2UuZXhwb3J0cz17c2NyZWVuOiJzY3JlZW4taXdyOU90cHMiLGZhZGU6ImZhZGUtaXdyOU90cHMiLHNjcmVlbmZhZGU6InNjcmVlbmZhZGUtaXdyOU90cHMifX0sMjU5MTMyKGUpe2UuZXhwb3J0cz17fX0sODU2MTYoZSl7ZS5leHBvcnRzPXtjc3NfdmFsdWVfY3VycmVuY3lfbGFiZWxfcmFkaXVzOiI0Iixjc3Nfd3JhcHBlcl9tYXJnaW46IjQiLGNzc19yb3dfbGVmdF9yaWdodF9wYWRkaW5nOiIzIixjc3NfZmFkZV9oZWlnaHQ6IjEwIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyIjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIixoaWRkZW46ImhpZGRlbi1iVENUUkNUaiIsInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwiOiJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIixyb3c6InJvdy1iVENUUkNUaiIsZXhwYW5kZWQ6ImV4cGFuZGVkLWJUQ1RSQ1RqIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duIjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duLWJUQ1RSQ1RqIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0IjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0LWJUQ1RSQ1RqIn19LDE0NDExMihlKXtlLmV4cG9ydHM9e319LDYxNTUyNihlKXtlLmV4cG9ydHM9e319LDI3OTg0KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1jaGFydC1jb250cm9scy1iYXItaGVpZ2h0LXdpdGgtYm9yZGVyIjoiMzlweCIsImNzcy12YWx1ZS1jaGFydC1jb250cm9scy1iYXItYm9yZGVyIjoiMXB4In19LDI4MjcxMChlKXtlLmV4cG9ydHM9e2Nzc192YWx1ZV9jaGFydF9ndWlfd3JhcHBlcl9jb2x1bW5fZ2FwOiI0In19LDQwMjQzKGUpe2UuZXhwb3J0cz17Y2hhcnRzU3BsaXR0ZXI6ImNoYXJ0c1NwbGl0dGVyLXhxc2FPeDlDIixob3ZlcmVkOiJob3ZlcmVkLXhxc2FPeDlDIn19LDI5MDMyNChlKXtlLmV4cG9ydHM9e2ljb246Imljb24taXJBMG9hSDgifX0sMTI0MzM2KGUpe2UuZXhwb3J0cz17cGFuZVNlcGFyYXRvcjoicGFuZVNlcGFyYXRvci1haTlNWEo5ayIsaGFuZGxlOiJoYW5kbGUtYWk5TVhKOWsiLG1vYmlsZToibW9iaWxlLWFpOU1YSjlrIixob3ZlcmVkOiJob3ZlcmVkLWFpOU1YSjlrIixzZWxlY3RlZDoic2VsZWN0ZWQtYWk5TVhKOWsiLGFjdGl2ZToiYWN0aXZlLWFpOU1YSjlrIn19LDY5MjY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0ZlYXR1cmVUb2dnbGVXYXRjaGVkVmFsdWU6KCk9PnJ9KTt2YXIgcz1pKDIzMjM2NCksbj1pKDU2OTM5OCk7Y2xhc3MgciBleHRlbmRzIHMuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZnVuY3Rpb24oZSl7cmV0dXJuKDAsbi5pc0ZlYXR1cmVFbmFibGVkKShlKX0oZSkpLCgwLG4ub25GZWF0dXJlc1N0YXRlQ2hhbmdlZCkoKS5zdWJzY3JpYmUodGhpcywodD0+e2U9PT10JiZ0aGlzLnNldFZhbHVlKCgwLG4uaXNGZWF0dXJlRW5hYmxlZCkoZSkpfSkpfWRlc3Ryb3koKXsoMCxuLm9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksc3VwZXIuZGVzdHJveSgpfX19LDE3OTc3MShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtlbWl0OigpPT5oLGVtaXRPbmNlOigpPT5kLG9uOigpPT5sLHN1YnNjcmliZTooKT0+Yyx1bnN1YnNjcmliZTooKT0+YX0pO3ZhciBzPWkoOTQ4MzgwKTtjb25zdCBuPXt9LHI9W10sbz17fTtmdW5jdGlvbiBhKGUsdCxpKXtuW2VdLnVuc3Vic2NyaWJlKGksdCl9ZnVuY3Rpb24gbChlLHQsaSl7YyhlLHQsaSl9ZnVuY3Rpb24gYyhlLHQsaSxyKXtuLmhhc093blByb3BlcnR5KGUpfHwobltlXT1uZXcgcy5EZWxlZ2F0ZSksb1tlXT90LmNhbGwoaSk6bltlXS5zdWJzY3JpYmUoaSx0LHIpfWZ1bmN0aW9uIGgoZSwuLi50KXtjb25zdCBpPVtlXS5jb25jYXQodCk7ci5mb3JFYWNoKChlPT57ZS5hcHBseShudWxsLGkpfSkpLG4uaGFzT3duUHJvcGVydHkoZSkmJm5bZV0uZmlyZS5hcHBseShuW2VdLHQpfWZ1bmN0aW9uIGQoZSl7b1tlXSYmY29uc29sZS53YXJuKGBTb21ldGhpbmcgd2VudCB3cm9uZzogZW1pdE9uY2UgY2FsbGVkIG11bHRpcGxlIHRpbWVzIHdpdGggc2FtZSBldmVudCAoJHtlfSlgKSxvW2VdPSEwLGguYXBwbHkobnVsbCxhcmd1bWVudHMpfX0sNTA3Mjg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3B1c2hTdHJlYW1NdWx0aXBsZXhlcjooKT0+Yn0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoNjMyNjg2KSxyPWkoNzY4NzYwKSxvPWkoMTUwMTUwKSxhPWkoMzg2OTMxKSxsPWkoNTY5Mzk4KSxjPWkoMTUyNjk5KSxoPWkoOTMyMzY1KSxkPWkoMTU2ODUwKSx1PShpKDMwMDI4NiksaSgxMTczMTMpKSxwPWkoMjI0NDAwKSxfPWkoMjY5NTMxKSxtPWkoNjE1NzY5KSxnPWkoODQ4ODU1KTtjb25zdCBmPSgwLHMuZ2V0TG9nZ2VyKShwLmxvZ2dlclN1YnN5c3RlbUlkKSxTPXt1cmw6d2luZG93LlBVU0hTVFJFQU1fVVJMLHVybFBhdGg6Im1lc3NhZ2UtcGlwZS13cyIsdHJhbnNwb3J0VHlwZTpwLlRyYW5zcG9ydFR5cGUuV2ViU29ja2V0fSx2PXt1cmw6d2luZG93LlBVU0hTVFJFQU1fVVJMLnJlcGxhY2UoIndzczovLyIsImh0dHBzOi8vIiksdXJsUGF0aDoibWVzc2FnZS1waXBlLWVzIix0cmFuc3BvcnRUeXBlOnAuVHJhbnNwb3J0VHlwZS5FdmVudFNvdXJjZX07Y2xhc3MgeXtjb25zdHJ1Y3Rvcigpe3ZhciBlO3RoaXMuZ3VpZD0oMCxvLmd1aWQpKCksdGhpcy5fcHVzaFN0cmVhbVB1YmxpYz1udWxsLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPW51bGwsdGhpcy5fc3RhdHVzSGFuZGxlcnM9W10sdGhpcy5fcmVjb25uZWN0SGFuZGxlcnM9W10sdGhpcy5fdXNlclByaXZhdGVDaGFubmVsPW51bGwsdGhpcy5fY2hhbm5lbE11bHRpcGxleGVyPW5ldyBfLkNoYW5uZWxNdWx0aXBsZXhlcix0aGlzLl94RXZlbnRQcmVmaXg9Im11bHRpcGxleGVyLWJjLSIsCnRoaXMuX3N0b3JhZ2VQcmVmaXg9InB1c2hTdHJlYW1NdWx0aXBsZXhlclN0YXRlLiIsdGhpcy5fdXNlckNoYW5uZWxQcmVmaXg9InByaXZhdGVfIix0aGlzLl9zdGF0dXNQdWJsaWM9bi5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZCx0aGlzLl9zdGF0dXNQcml2YXRlPW4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQsdGhpcy5feEV2ZW50U2VuZD10aGlzLl94RXZlbnRQcmVmaXgrInNlbmQiLHRoaXMuX3hFdmVudENvbm5lY3Rpb25TdGF0dXM9dGhpcy5feEV2ZW50UHJlZml4KyJjb25uZWN0aW9uU3RhdHVzIix0aGlzLl94RXZlbnRSZWNvbm5lY3RDb21tYW5kPXRoaXMuX3hFdmVudFByZWZpeCsicmVjb25uZWN0Q29tbWFuZCIsdGhpcy5feEV2ZW50UmVjb25uZWN0U3VjY2Vzcz10aGlzLl94RXZlbnRQcmVmaXgrInJlY29ubmVjdFN1Y2Nlc3MiLHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzPXRoaXMuX3hFdmVudFByZWZpeCsicmVxdWVzdExvZ3MiLHRoaXMuX3hFdmVudFNoYXJlTG9ncz10aGlzLl94RXZlbnRQcmVmaXgrInNoYXJlTG9ncyIsdGhpcy5fc3RhdGU9bmV3IG0uTXVsdGlwbGV4ZXJTdGF0ZSx0aGlzLl9zaGFyZUxvZ3NLZXk9dGhpcy5fc3RvcmFnZVByZWZpeCsic2hhcmVMb2dzIix0aGlzLl9sb2NrTmFtZT0icHVzaHN0cmVhbSIsdGhpcy5fbG9ja1Byb21pc2U9KDAsci5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fZGlzcGF0Y2hSZWNvbm5lY3RTdWNjZXNzQ29tbWFuZEZyb21PdGhlcj1lPT57aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpcmV0dXJuO2NvbnN0W3RdPXRoaXMuX2RlY29kZVBhcmFtcyhlKTt0aGlzLl9jYWxsUmVjb25uZWN0SGFuZGxlcnModCl9LHRoaXMuX2Rpc3BhdGNoTWVzc2FnZT0oZSx0LGkpPT57dGhpcy5fZGlzcGF0Y2hNZXNzYWdlVG9PdGhlcnMoZSx0LGkpLHRoaXMuX2Rpc3BhdGNoTWVzc2FnZVRvU2VsZihlLHQsaSwhMSl9LHRoaXMuX2Rpc3BhdGNoTWVzc2FnZUZyb21PdGhlcj1lPT57aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpcmV0dXJuO2NvbnN0W3QsaSxzXT10aGlzLl9kZWNvZGVQYXJhbXMoZSk7dGhpcy5fZGlzcGF0Y2hNZXNzYWdlVG9TZWxmKHQsaSxzLCEwKX0sdGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VGcm9tT3RoZXI9ZT0+e2NvbnN0IHQ9dGhpcy5fZGVjb2RlQ29ubmVjdGlvblN0YXR1cyhlKSxpPXRbMF0scz10WzFdO3RoaXMub3duUHVzaFN0cmVhbSgpfHx0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZVRvU2VsZihpLHMpfSx0aGlzLl9kaXNwYXRjaFJlY29ubmVjdENvbW1hbmRGcm9tT3RoZXI9KCk9Pnt0aGlzLm93blB1c2hTdHJlYW0oKSYmdGhpcy5mb3JjZUNvbm5lY3QoKX0sdGhpcy5fb25SZXF1ZXN0TG9ncz0oKT0+e2lmKHRoaXMub3duUHVzaFN0cmVhbSgpKXtjb25zdCBlPXRoaXMuX2dldE93bkxvZ3MoKTtsZXQgdD0iIjt0cnl7dD1KU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtmLmxvZ0Vycm9yKCJGYWlsZWQgdG8gc3RyaW5naWZ5IG93biBwdXNoc3RyZWFtIGxvZ3MiKX1oLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fc2hhcmVMb2dzS2V5LHQpLGMuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2hhcmVMb2dzLHQpfX0sdGhpcy5fb25TdGF0ZUNoYW5nZT0oZSx0LGkpPT57Y29uc3Qgcz0icHJpdmF0ZSI9PT10P3RoaXMuX3B1c2hTdHJlYW1Qcml2YXRlOnRoaXMuX3B1c2hTdHJlYW1QdWJsaWM7ImFkZCI9PT1lP3M/LmFkZENoYW5uZWwoaSk6cz8ucmVtb3ZlQ2hhbm5lbChpKX0sdGhpcy5fb25OZXdUYWJDcmVhdGU9KCk9Pnt0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZVRvT3RoZXJzKHRoaXMuX3N0YXR1c1B1YmxpYyx0aGlzLl9zdGF0dXNQcml2YXRlKX0sKDAsZy53ZWJMb2NrRW5hYmxlZCkoKT9uYXZpZ2F0b3IubG9ja3MucmVxdWVzdCh0aGlzLl9sb2NrTmFtZSwoYXN5bmMoKT0+KHRoaXMuX3N0YXRlLm9uU3RhdGVDaGFuZ2UodGhpcy5fb25TdGF0ZUNoYW5nZSksdGhpcy5fc3RhdGUub25UYWJDcmVhdGUodGhpcy5fb25OZXdUYWJDcmVhdGUpLHRoaXMuX2luc3RhbnRpYXRlUHVzaFN0cmVhbSgpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+dGhpcy5fbG9ja1Byb21pc2UucmVzb2x2ZSgpKSksdGhpcy5fbG9ja1Byb21pc2UucHJvbWlzZSkpKToodGhpcy5fc3RhdGUub25TdGF0ZUNoYW5nZSh0aGlzLl9vblN0YXRlQ2hhbmdlKSx0aGlzLl9pbnN0YW50aWF0ZVB1c2hTdHJlYW0oKSksYy5UVlhXaW5kb3dFdmVudHMub24odGhpcy5feEV2ZW50U2VuZCx0aGlzLl9kaXNwYXRjaE1lc3NhZ2VGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudENvbm5lY3Rpb25TdGF0dXMsdGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFJlY29ubmVjdENvbW1hbmQsdGhpcy5fZGlzcGF0Y2hSZWNvbm5lY3RDb21tYW5kRnJvbU90aGVyKSxjLlRWWFdpbmRvd0V2ZW50cy5vbih0aGlzLl94RXZlbnRSZWNvbm5lY3RTdWNjZXNzLHRoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmRGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzLHRoaXMuX29uUmVxdWVzdExvZ3MpLGU9KCk9Pnt3aW5kb3cubG9naW5TdGF0ZUNoYW5nZSYmd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2hhbmdlTG9naW5TdGF0ZSl9LCJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/ZSgpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGUpfW9uKGUsdCl7dGhpcy5fY2hhbm5lbE11bHRpcGxleGVyLm9uKGUsdCl9b2ZmKGUsdCl7dGhpcy5fY2hhbm5lbE11bHRpcGxleGVyLm9mZihlLHQpfW9uU3RhdHVzKGUpe3RoaXMuX3N0YXR1c0hhbmRsZXJzLnB1c2goe2hhbmRsZXI6ZSxpc1ByaXZhdGU6ITF9KSxzZXRUaW1lb3V0KCgoKT0+ZSh0aGlzLl9zdGF0dXNQdWJsaWMpKSwwKX1vblByaXZhdGVTdGF0dXMoZSl7dGhpcy5fc3RhdHVzSGFuZGxlcnMucHVzaCh7aGFuZGxlcjplLAppc1ByaXZhdGU6ITB9KSxzZXRUaW1lb3V0KCgoKT0+ZSh0aGlzLl9zdGF0dXNQcml2YXRlKSksMCl9b25SZWNvbm5lY3QoZSx0PSExKXt0aGlzLl9yZWNvbm5lY3RIYW5kbGVycy5wdXNoKHtoYW5kbGVyOmUsaXNQcml2YXRlOnR9KX1vZmZSZWNvbm5lY3QoZSl7dGhpcy5fcmVjb25uZWN0SGFuZGxlcnM9dGhpcy5fcmVjb25uZWN0SGFuZGxlcnMuZmlsdGVyKCh0PT50LmhhbmRsZXIhPT1lKSl9b2ZmU3RhdHVzKGUpe3RoaXMuX3N0YXR1c0hhbmRsZXJzPXRoaXMuX3N0YXR1c0hhbmRsZXJzLmZpbHRlcigodD0+dC5oYW5kbGVyIT09ZSkpfWZvcmNlQ29ubmVjdCgpe2YubG9nTm9ybWFsKGBDcmVhdGluZyBwdXNoc3RyZWFtIGNvbm5lY3Rpb24gYWZ0ZXIgZm9yY2UgY29ubmVjdC4gTWFpbiB0YWI6ICR7dGhpcy5vd25QdXNoU3RyZWFtKCl9YCksdGhpcy5vd25QdXNoU3RyZWFtKCk/KHRoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmRpc2Nvbm5lY3QoKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uZGlzY29ubmVjdCgpLHRoaXMuX2luc3RhbnRpYXRlUHVzaFN0cmVhbSgpKTpjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlY29ubmVjdENvbW1hbmQpfWRpc2Nvbm5lY3QoKXt0aGlzLm93blB1c2hTdHJlYW0oKSYmdGhpcy5fZGVzdHJ1Y3RQdXNoU3RyZWFtKCl9Z2V0TG9ncyhlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9Pntjb25zdCBpPXNldFRpbWVvdXQoKCgpPT57Y29uc3QgZT1oLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5fc2hhcmVMb2dzS2V5KTt0KG51bGwhPT1lP0pTT04ucGFyc2UoZSk6W10pfSksMWUzKSxzPWU9PntsZXQgbjtjLlRWWFdpbmRvd0V2ZW50cy5vZmYodGhpcy5feEV2ZW50U2hhcmVMb2dzLHMpLGMuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2hhcmVMb2dzLCIiKSxjbGVhclRpbWVvdXQoaSk7dHJ5e249SlNPTi5wYXJzZShlKX1jYXRjaChlKXtuPVtdLGYubG9nRXJyb3IoIkZhaWxlZCB0byBwYXJzZSBsb2dzIHJlY2VpdmVkIGZyb20gbWFzdGVyIHRhYiIpfXQobil9O3RoaXMub3duUHVzaFN0cmVhbSgpP3QodGhpcy5fZ2V0T3duTG9ncyhlKSk6KGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFNoYXJlTG9ncyxzKSxjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzKSl9KSl9b3duUHVzaFN0cmVhbSgpe3JldHVybiEhdGhpcy5fcHVzaFN0cmVhbVB1YmxpY3x8ISF0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZX1wdXNoU3RyZWFtKCl7aWYoIXRoaXMub3duUHVzaFN0cmVhbSgpKXRocm93IG5ldyBFcnJvcigiTm90IG93biBQdXNoU3RyZWFtIik7cmV0dXJuIHRoaXMuX3B1c2hTdHJlYW1QdWJsaWN9aXNDb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc3RhdHVzUHVibGljPjB9c3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0YXR1c1B1YmxpYz8/bi5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZH1zdGF0dXNQcml2YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXR1c1ByaXZhdGU/P24uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWR9dXNlckNoYW5uZWwoKXtpZighdGhpcy5fdXNlclByaXZhdGVDaGFubmVsKXRocm93IG5ldyBFcnJvcigiTm8gdXNlciBjaGFubmVsIik7cmV0dXJuIHRoaXMuX3VzZXJDaGFubmVsKHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCl9YWRkQ2hhbm5lbChlKXt0aGlzLl9zdGF0ZS5hZGRDaGFubmVsKGUuc3RhcnRzV2l0aCh0aGlzLl91c2VyQ2hhbm5lbFByZWZpeCk/InByaXZhdGUiOiJwdWJsaWMiLGUpfXJlbW92ZUNoYW5uZWwoZSl7dGhpcy5fc3RhdGUucmVtb3ZlQ2hhbm5lbChlLnN0YXJ0c1dpdGgodGhpcy5fdXNlckNoYW5uZWxQcmVmaXgpPyJwcml2YXRlIjoicHVibGljIixlKX1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2luc3RhbmNlJiYodGhpcy5faW5zdGFuY2U9bmV3IHkpLHRoaXMuX2luc3RhbmNlfV91c2VyQ2hhbm5lbChlKXtyZXR1cm4gdGhpcy5fdXNlckNoYW5uZWxQcmVmaXgrZX1fY29kZVBhcmFtcyhlKXtjb25zdCB0PVsuLi5lXTtyZXR1cm4gdC5wdXNoKChuZXcgRGF0ZSkuZ2V0VGltZSgpKSxKU09OLnN0cmluZ2lmeSh0KX1fZGVjb2RlUGFyYW1zKGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gdC5wb3AoKSx0fV9pbnN0YW50aWF0ZVB1c2hTdHJlYW0oKXt0aGlzLl9wdXNoU3RyZWFtUHVibGljJiYoKDAsYS50cmFja0V2ZW50KSgiUHVzaHN0cmVhbURvdWJsZVB1YmxpYyIsd2luZG93LnVzZXImJndpbmRvdy51c2VyLnVzZXJuYW1lfHwiR3Vlc3QiLG5hdmlnYXRvci51c2VyQWdlbnQpLHRoaXMuX3B1c2hTdHJlYW1QdWJsaWMuZGlzY29ubmVjdCgpKTtjb25zdCBlPXsuLi50aGlzLl9nZXRQdXNoU3RyZWFtU2V0dGluZ3MoKSx0ZWxlbWV0cnlFbmFibGVkOigpPT4oMCxsLmlzRmVhdHVyZUVuYWJsZWQpKCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSIpfTt0aGlzLl9wdXNoU3RyZWFtUHVibGljPW5ldyBwLlB1c2hTdHJlYW0odGhpcy5fZGlzcGF0Y2hNZXNzYWdlLGUpLHRoaXMuX3B1c2hTdHJlYW1QdWJsaWMuY29ubmVjdGlvblN0YXR1cygpLnN1YnNjcmliZSgoZT0+e3RoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKGUsdGhpcy5fc3RhdHVzUHJpdmF0ZSl9KSksdGhpcy5fcHVzaFN0cmVhbVB1YmxpYy5yZWNvbm5lY3RFdmVudCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoKX0pKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZSYmKCgwLGEudHJhY2tFdmVudCkoIlB1c2hzdHJlYW1Eb3VibGVQcml2YXRlIix3aW5kb3cudXNlciYmd2luZG93LnVzZXIudXNlcm5hbWV8fCJHdWVzdCIsbmF2aWdhdG9yLnVzZXJBZ2VudCksdGhpcy5fcHVzaFN0cmVhbVByaXZhdGUuZGlzY29ubmVjdCgpKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT1uZXcgcC5QdXNoU3RyZWFtKHRoaXMuX2Rpc3BhdGNoTWVzc2FnZSx7Li4uZSxtYXhTaXplOjF9KSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZS5jb25uZWN0aW9uU3RhdHVzKCkuc3Vic2NyaWJlKChlPT57CnRoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKHRoaXMuX3N0YXR1c1B1YmxpYyxlKX0pKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZS5yZWNvbm5lY3RFdmVudCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoITApfSkpLHRoaXMub24oInB1c2hzdHJlYW1fc2V0X3VzZXJfY2hhbm5lbCIsKGU9Pnt0aGlzLl9zZXRVc2VyQ2hhbm5lbChlKX0pKSx0aGlzLl9jb25uZWN0Q2hhbm5lbHMoKX1fZGVzdHJ1Y3RQdXNoU3RyZWFtKCl7Y29uc3QgZT10aGlzLl9wdXNoU3RyZWFtUHVibGljO3RoaXMuX3B1c2hTdHJlYW1QdWJsaWM9bnVsbCxlPy5kaXNjb25uZWN0KCk7Y29uc3QgdD10aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZTt0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT1udWxsLHQ/LmRpc2Nvbm5lY3QoKSx0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZUZyb21PdGhlcih0aGlzLl9jb2RlUGFyYW1zKFtuLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkLG4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWRdKSl9X2Nvbm5lY3RDaGFubmVscygpe3RoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmFkZENoYW5uZWwoInB1YmxpYyIpO2NvbnN0IGU9dGhpcy5fc3RhdGUuY29sbGVjdFB1c2hTdHJlYW1DaGFubmVscygicHVibGljIik7dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCYmZS5tYXAoKGU9PnRoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmFkZENoYW5uZWwoZSkpKSwiaXNfYXV0aGVudGljYXRlZCJpbiB3aW5kb3c/dGhpcy5fY29ubmVjdFVzZXJDaGFubmVsSW5pdGlhbCghMCk6d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Nvbm5lY3RVc2VyQ2hhbm5lbEluaXRpYWwpLHRoaXMuX2lzUHVibGljUHVzaHN0cmVhbUVuYWJsZWQoKSYmdGhpcy5fcHVzaFN0cmVhbVB1YmxpYz8uY29ubmVjdCgpfV9nZXRQdXNoU3RyZWFtU2V0dGluZ3MoKXtyZXR1cm4oMCx1LmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iik/KDAsbC5pc0ZlYXR1cmVFbmFibGVkKSgiZW5hYmxlX2V2ZW50c291cmNlX3B1c2hzdHJlYW1fbW9iaWxlIik/djpTOigwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImVuYWJsZV9ldmVudHNvdXJjZV9wdXNoc3RyZWFtX3RyYW5zcG9ydCIpP3Y6U31faXNQdWJsaWNQdXNoc3RyZWFtRW5hYmxlZCgpe3JldHVybigwLHUuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8ISgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImRpc2FibGVfcHVzaHN0cmVhbV9jb25uZWN0aW9uc19mb3JfYW5vbnltb3VzX3VzZXJzIil8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkfHx3aW5kb3cuVHJhZGluZ1ZpZXc/Lm9uQ2hhcnRQYWdlfV9jb25uZWN0VXNlckNoYW5uZWxJbml0aWFsKGUpe2UmJih3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8odGhpcy5fdXNlclByaXZhdGVDaGFubmVsPXdpbmRvdy51c2VyLnByaXZhdGVfY2hhbm5lbD8/bnVsbCx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uYWRkQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5jb25uZWN0KCkpOnRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD1udWxsKX1fY2hhbmdlTG9naW5TdGF0ZShlKXtlfHwodGhpcy5faXNQdWJsaWNQdXNoc3RyZWFtRW5hYmxlZCgpJiZ0aGlzLl9wdXNoU3RyZWFtUHVibGljPy5jb25uZWN0KCksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD13aW5kb3cudXNlci5wcml2YXRlX2NoYW5uZWw/P251bGwsdGhpcy5vd25QdXNoU3RyZWFtKCkmJih0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uYWRkQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5jb25uZWN0KCkpKToodGhpcy5vd25QdXNoU3RyZWFtKCkmJih0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8ucmVtb3ZlQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5kaXNjb25uZWN0KCkpLHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD1udWxsKSl9X3NldFVzZXJDaGFubmVsKGUpe2YubG9nTm9ybWFsKCJTZXQgdXNlciBjaGFubmVsICIrZSksZSE9PXRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCYmKHRoaXMub3duUHVzaFN0cmVhbSgpJiZ0aGlzLl91c2VyUHJpdmF0ZUNoYW5uZWwmJnRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5yZW1vdmVDaGFubmVsKHRoaXMudXNlckNoYW5uZWwoKSksdGhpcy5fdXNlclByaXZhdGVDaGFubmVsPWUsdGhpcy5vd25QdXNoU3RyZWFtKCkmJnRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCYmdGhpcy5fcHVzaFN0cmVhbVByaXZhdGU/LmFkZENoYW5uZWwodGhpcy51c2VyQ2hhbm5lbCgpKSl9X2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKGUsdCl7dGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VUb090aGVycyhlLHQpLHRoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlVG9TZWxmKGUsdCl9X2Rpc3BhdGNoU3RhdHVzQ2hhbmdlVG9TZWxmKGUsdCl7ZSE9PXRoaXMuX3N0YXR1c1B1YmxpYyYmKHRoaXMuX3N0YXR1c1B1YmxpYz1lLHRoaXMuX2NhbGxTdGF0dXNIYW5kbGVycyhlLCExKSksdCE9PXRoaXMuX3N0YXR1c1ByaXZhdGUmJih0aGlzLl9zdGF0dXNQcml2YXRlPXQsdGhpcy5fY2FsbFN0YXR1c0hhbmRsZXJzKHQsITApKX1fY2FsbFN0YXR1c0hhbmRsZXJzKGUsdCl7Zi5sb2dOb3JtYWwoIkNvbm5lY3Rpb24gc3RhdHVzIGNoYW5nZTogIitlKyIsIHByaXZhdGUgIit0KyIsIGlzIG1haW4gdGFiICIrdGhpcy5vd25QdXNoU3RyZWFtKCkpLGQudGVsZW1ldHJ5LnNlbmRSZXBvcnQoInNpdGUiLCJwdXNoc3RyZWFtX3N0YXR1c19jaGFuZ2UiKSx0aGlzLl9zdGF0dXNIYW5kbGVycy5mb3JFYWNoKChpPT57aS5pc1ByaXZhdGU9PT10JiZpLmhhbmRsZXIoZSl9KSl9X2NhbGxSZWNvbm5lY3RIYW5kbGVycyhlKXtmLmxvZ05vcm1hbCgiUmVjb25uZWN0aW9uIGhhcyBiZWVuIG1hZGUiKSx0aGlzLl9yZWNvbm5lY3RIYW5kbGVycy5mb3JFYWNoKCh0PT57dC5pc1ByaXZhdGU9PT1lJiZ0LmhhbmRsZXIoKX0pKX0KX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoZT0hMSl7aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpe3RoaXMuX2NhbGxSZWNvbm5lY3RIYW5kbGVycyhlKTtjb25zdCB0PXRoaXMuX2NvZGVQYXJhbXMoW2VdKTtjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlY29ubmVjdFN1Y2Nlc3MsdCl9fV9kZWNvZGVDb25uZWN0aW9uU3RhdHVzKGUpe2NvbnN0IHQ9cGFyc2VJbnQoZSwxMCk7cmV0dXJuIGlzTmFOKHQpP3RoaXMuX2RlY29kZVBhcmFtcyhlKTpbdCx0XX1fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VUb090aGVycyhlLHQpe2lmKHRoaXMub3duUHVzaFN0cmVhbSgpKXtjb25zdCBpPXRoaXMuX2NvZGVQYXJhbXMoW2UsdF0pO2MuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50Q29ubmVjdGlvblN0YXR1cyxpKX19X2Rpc3BhdGNoTWVzc2FnZVRvU2VsZihlLHQsaSxzKXtjb25zdCBuPWUuY2hhbm5lbCxyPWUuY29udGVudDt0aGlzLl9lbWl0KHIsdCxuLHMpfV9kaXNwYXRjaE1lc3NhZ2VUb090aGVycyhlLHQsaSl7Y29uc3Qgcz1bZSx0LGldO2MuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2VuZCx0aGlzLl9jb2RlUGFyYW1zKHMpKX1fZW1pdChlLHQsaSxzKXt0aGlzLl9jaGFubmVsTXVsdGlwbGV4ZXIuZW1pdChlLHQsaSxzKX1fZ2V0T3duTG9ncyhlKXtpZih0aGlzLm93blB1c2hTdHJlYW0oKSl7Y29uc3QgdD0oMCxzLmdldFJhd0xvZ0hpc3RvcnkpKGUscC5sb2dnZXJTdWJzeXN0ZW1JZCksaT10aGlzLnB1c2hTdHJlYW0oKT8uZ2V0TG9ncygpO3JldHVybltdLmNvbmNhdCh0LGk/P1tdKX1yZXR1cm5bXX19eS5faW5zdGFuY2U9bnVsbDtjb25zdCBiPXkuZ2V0SW5zdGFuY2UoKX0sODU2MTk2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3VsZEFmZmVjdFVzZXI6KCk9Pmx9KTt2YXIgcz1pKDEwMDU5NSksbj1pLm4ocykscj1pKDkzMjM2NSk7Y29uc3Qgbz0iZmVhdHVyZXRvZ2dsZV9zZWVkIjtmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PW4oKShlK2Z1bmN0aW9uKCl7aWYod2luZG93LnVzZXImJndpbmRvdy51c2VyLmlkKXJldHVybiB3aW5kb3cudXNlci5pZDtjb25zdCBlPXIuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShvKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PU1hdGguZmxvb3IoMWU2Kk1hdGgucmFuZG9tKCkpO3JldHVybiByLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obyxgJHt0fWApLHR9KCkpLGk9bmV3IERhdGFWaWV3KHQpO3JldHVybiBpLmdldFVpbnQzMigwLCEwKS80Mjk0OTY3Mjk2fWNhdGNoKGUpe3JldHVybi41fX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuIGEoZSk8PXR9fSwxNTI2OTkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZYV2luZG93RXZlbnRzOigpPT5vLGdldFNjb3BlZFRWWFdpbmRvd0V2ZW50czooKT0+YX0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoOTMyMzY1KTtjb25zdCByPSgwLHMuZ2V0TG9nZ2VyKSgiWFdpbmRvd0V2ZW50cyIpO3ZhciBvO2Z1bmN0aW9uIGEoZSl7cmV0dXJue29uOih0LGkpPT5vLm9uKGAke2V9LiR7dH1gLGkpLG9mZjoodCxpKT0+by5vZmYoYCR7ZX0uJHt0fWAsaSksZW1pdDoodCxpKT0+by5lbWl0KGAke2V9LiR7dH1gLGkpfX0hZnVuY3Rpb24oZSl7Y29uc3QgdD0idHZ4d2V2ZW50cy4iLGk9e307bGV0IHM7d2luZG93LkJyb2FkY2FzdENoYW5uZWw/KHM9bmV3IEJyb2FkY2FzdENoYW5uZWwoInR2eHdldmVudHMiKSxzLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtkYXRhOntldmVudDp0LHZhbHVlOnN9fT1lO2lbdF0mJmlbdF0uZm9yRWFjaCgoZT0+e2Uocyl9KSl9KSksZnVuY3Rpb24oKXtjb25zdCBlPVtdLGk9cGVyZm9ybWFuY2Uubm93KCk7Zm9yKGxldCBpPTA7aTxuLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtpKyspe2NvbnN0IHM9bi5UVkxvY2FsU3RvcmFnZS5rZXkoaSk7cy5zdGFydHNXaXRoKHQpJiZlLnB1c2gocyl9Y29uc3Qgcz1uLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtmb3IoY29uc3QgdCBvZiBlKW4uVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0KTtjb25zdCBvPXBlcmZvcm1hbmNlLm5vdygpLWk7ci5sb2dOb3JtYWwoYFRvdGFsIGtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2Ugb24gb3BlcmF0aW9uIHN0YXJ0OiAke3N9YCksci5sb2dOb3JtYWwoYEtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2UgdG8gYmUgZGVsZXRlZDogJHtlLmxlbmd0aH1gKSxyLmxvZ05vcm1hbChgS2V5cyB0byBiZSBkZWxldGVkIGZyb20gbG9jYWwgc3RvcmFnZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKSxyLmxvZ05vcm1hbChgUmVtb3Zpbmcga2V5cyBmcm9tIGxvY2FsIHN0b3JhZ2UgdG9vayAke299IG1zYCl9KCkpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZnVuY3Rpb24oZSl7Y29uc3R7bmV3VmFsdWU6cyxrZXk6cn09ZTtpZihudWxsPT09c3x8IXJ8fCFyLnN0YXJ0c1dpdGgodCkpcmV0dXJuO2NvbnN0IG89ci5zdWJzdHJpbmcoMTEpO2lbb10mJmlbb10uZm9yRWFjaCgodD0+e3QoZS5uZXdWYWx1ZSl9KSk7bi5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHIpfSkpLGUub249ZnVuY3Rpb24oZSx0KXtpW2VdfHwoaVtlXT1bXSksaVtlXS5wdXNoKHQpfSxlLm9mZj1mdW5jdGlvbihlLHQpe2lmKCFpW2VdKXJldHVybjtjb25zdCBzPWlbZV0uaW5kZXhPZih0KTstMSE9PXMmJigxPT09aVtlXS5sZW5ndGg/ZGVsZXRlIGlbZV06aVtlXS5zcGxpY2UocywxKSl9LGUuZW1pdD1mdW5jdGlvbihlLGk9RGF0ZS5ub3coKSl7dHJ5e3M/cy5wb3N0TWVzc2FnZSh7ZXZlbnQ6ZSx2YWx1ZTppfSk6bi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQrZSxpLnRvU3RyaW5nKCkpfWNhdGNoKGUpe3IubG9nRXJyb3IoZS5tZXNzYWdlKX19fShvfHwobz17fSkpfSw3NjgzMDUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cG9pbnRJbkJveDooKT0+cixwb2ludEluQ2lyY2xlOigpPT5hLHBvaW50SW5Qb2x5Z29uOigpPT5vLHBvaW50SW5UcmlhbmdsZTooKT0+bn0pO3ZhciBzPWkoMzUxOTAwKTtmdW5jdGlvbiBuKGUsdCxpLG4pewpjb25zdCByPXQuYWRkKGkpLnNjYWxlZCguNSkuYWRkKG4pLnNjYWxlZCguNSk7bGV0IG89KDAscy5pbnRlcnNlY3RMaW5lU2VnbWVudHMpKHQsaSxyLGUpO3JldHVybiBudWxsPT09byYmKG89KDAscy5pbnRlcnNlY3RMaW5lU2VnbWVudHMpKGksbixyLGUpLG51bGw9PT1vJiYobz0oMCxzLmludGVyc2VjdExpbmVTZWdtZW50cykobix0LHIsZSksbnVsbD09PW8pKX1mdW5jdGlvbiByKGUsdCl7cmV0dXJuIGUueD49dC5taW4ueCYmZS54PD10Lm1heC54JiZlLnk+PXQubWluLnkmJmUueTw9dC5tYXgueX1mdW5jdGlvbiBvKGUsdCl7bGV0IGk9dC5sZW5ndGgtMSxzPSExO2NvbnN0IG49ZS54LHI9ZS55O2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtjb25zdCBvPXRbZV0sYT10W2ldOyhvLnk8ciYmYS55Pj1yfHxhLnk8ciYmby55Pj1yKSYmby54KyhyLW8ueSkvKGEueS1vLnkpKihhLngtby54KTxuJiYocz0hcyksaT1lfXJldHVybiBzfWZ1bmN0aW9uIGEoZSx0LGkpe3JldHVybihlLngtdC54KSooZS54LXQueCkrKGUueS10LnkpKihlLnktdC55KTw9aSppfX0sNzAwNzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCxpKXtjb25zdCBzPXQuc3VidHJhY3QoZSksbj1pLnN1YnRyYWN0KGUpLmRvdFByb2R1Y3Qocykvcy5kb3RQcm9kdWN0KHMpO3JldHVybntjb2VmZjpuLGRpc3RhbmNlOmUuYWRkU2NhbGVkKHMsbikuc3VidHJhY3QoaSkubGVuZ3RoKCl9fWZ1bmN0aW9uIG4oZSx0LGkpe2NvbnN0IG49cyhlLHQsaSk7aWYoMDw9bi5jb2VmZiYmbi5jb2VmZjw9MSlyZXR1cm4gbjt7Y29uc3Qgcz1lLnN1YnRyYWN0KGkpLmxlbmd0aCgpLG49dC5zdWJ0cmFjdChpKS5sZW5ndGgoKTtyZXR1cm4gczxuP3tjb2VmZjowLGRpc3RhbmNlOnN9Ontjb2VmZjoxLGRpc3RhbmNlOm59fX1pLmQodCx7ZGlzdGFuY2VUb0xpbmU6KCk9PnMsZGlzdGFuY2VUb1NlZ21lbnQ6KCk9Pm59KX0sMzUxOTAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2ludGVyc2VjdExpbmVBbmRCb3g6KCk9PmgsaW50ZXJzZWN0TGluZVNlZ21lbnRBbmRCb3g6KCk9Pm8saW50ZXJzZWN0TGluZVNlZ21lbnRzOigpPT5sLGludGVyc2VjdExpbmVzOigpPT5hLGludGVyc2VjdFBvbHlnb25BbmRIYWxmcGxhbmU6KCk9PnAsaW50ZXJzZWN0UmF5QW5kQm94OigpPT5kfSk7dmFyIHM9aSgxMzg2MzgpLG49aSg3MzY1MzEpLHI9aSg3MDA3NCk7ZnVuY3Rpb24gbyhlLHQpe2xldCBpPWVbMF0ueCxzPWVbMF0ueSxyPWVbMV0ueCxvPWVbMV0ueTtjb25zdCBhPXQubWluLngsbD10Lm1pbi55LGM9dC5tYXgueCxoPXQubWF4Lnk7bGV0IGQ7ZnVuY3Rpb24gdShlLHQsaSxzLG4scil7bGV0IG89ZC5JbnNpZGU7cmV0dXJuIGU8aT9vfD1kLkxlZnQ6ZT5uJiYob3w9ZC5SaWdodCksdDxzP298PWQuQm90dG9tOnQ+ciYmKG98PWQuVG9wKSxvfSFmdW5jdGlvbihlKXtlW2UuSW5zaWRlPTBdPSJJbnNpZGUiLGVbZS5MZWZ0PTFdPSJMZWZ0IixlW2UuUmlnaHQ9Ml09IlJpZ2h0IixlW2UuQm90dG9tPTRdPSJCb3R0b20iLGVbZS5Ub3A9OF09IlRvcCJ9KGR8fChkPXt9KSk7bGV0IHA9dShpLHMsYSxsLGMsaCksXz11KHIsbyxhLGwsYyxoKSxtPSExLGc9MDtmb3IoOzspe2lmKGc+MWUzKXRocm93IG5ldyBFcnJvcigiQ29oZW4gLSBTdXRoZXJsYW5kIGFsZ29yaXRobTogaW5maW5pdHkgbG9vcCIpO2lmKGcrKywhKHB8Xykpe209ITA7YnJlYWt9aWYocCZfKWJyZWFrO3tjb25zdCBlPXB8fF87bGV0IHQsbjtlJmQuVG9wPyh0PWkrKHItaSkqKGgtcykvKG8tcyksbj1oKTplJmQuQm90dG9tPyh0PWkrKHItaSkqKGwtcykvKG8tcyksbj1sKTplJmQuUmlnaHQ/KG49cysoby1zKSooYy1pKS8oci1pKSx0PWMpOihuPXMrKG8tcykqKGEtaSkvKHItaSksdD1hKSxlPT09cD8oaT10LHM9bixwPXUoaSxzLGEsbCxjLGgpKToocj10LG89bixfPXUocixvLGEsbCxjLGgpKX19cmV0dXJuIG0/KDAsbi5lcXVhbFBvaW50cykoKDAsbi5wb2ludCkoaSxzKSwoMCxuLnBvaW50KShyLG8pKT8oMCxuLnBvaW50KShpLHMpOigwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKGkscyksKDAsbi5wb2ludCkocixvKSk6bnVsbH1mdW5jdGlvbiBhKGUsdCl7Y29uc3QgaT1lLkEscz10LkEscj1lLkIsbz10LkIsYT1lLkMsbD10LkMsYz1pKm8tcypyO2lmKE1hdGguYWJzKGMpPDFlLTYpcmV0dXJuIG51bGw7Y29uc3QgaD0ocipsLW8qYSkvYyxkPShzKmEtaSpsKS9jO3JldHVybiBuZXcgbi5Qb2ludChoLGQpfWZ1bmN0aW9uIGwoZSx0LGkscyl7Y29uc3Qgbj1mdW5jdGlvbihlLHQsaSxzKXtjb25zdCBuPXQuc3VidHJhY3QoZSkscj1zLnN1YnRyYWN0KGkpLG89bi54KnIueS1uLnkqci54O2lmKE1hdGguYWJzKG8pPDFlLTYpcmV0dXJuIG51bGw7Y29uc3QgYT1lLnN1YnRyYWN0KGkpO3JldHVybihhLnkqci54LWEueCpyLnkpL299KGUsdCxpLHMpO2lmKG51bGw9PT1uKXJldHVybiBudWxsO2NvbnN0IG89dC5zdWJ0cmFjdChlKS5zY2FsZWQobikuYWRkKGUpLGE9KDAsci5kaXN0YW5jZVRvU2VnbWVudCkoaSxzLG8pO3JldHVybiBNYXRoLmFicyhhLmRpc3RhbmNlKTwxZS02P246bnVsbH1mdW5jdGlvbiBjKGUsdCl7Zm9yKGNvbnN0IGkgb2YgZSlpZigoMCxuLmVxdWFsUG9pbnRzKShpLHQpKXJldHVybiExO3JldHVybiBlLnB1c2godCksITB9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9dC5taW4ueCxyPXQubWluLnksbz10Lm1heC54LGE9dC5tYXgueTtpZigwPT09ZS5BKXtjb25zdCB0PS1lLkMvZS5CO3JldHVybiByPD10JiZ0PD1hPygwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKGksdCksKDAsbi5wb2ludCkobyx0KSk6bnVsbH1pZigwPT09ZS5CKXtjb25zdCB0PS1lLkMvZS5BO3JldHVybiBpPD10JiZ0PD1vPygwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKHQsciksKDAsbi5wb2ludCkodCxhKSk6bnVsbH17Y29uc3QgdD1bXSxsPWk9Pntjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuLShlLkMrZS5BKnQpL2UuQn0oZSxpKTtyPD1zJiZzPD1hJiZjKHQsbmV3IG4uUG9pbnQoaSxzKSl9LGg9cz0+e2NvbnN0IHI9ZnVuY3Rpb24oZSx0KXsKcmV0dXJuLShlLkMrZS5CKnQpL2UuQX0oZSxzKTtpPD1yJiZyPD1vJiZjKHQsbmV3IG4uUG9pbnQocixzKSl9O3N3aXRjaChsKGkpLGgociksbChvKSxoKGEpLHQubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG51bGw7Y2FzZSAxOnJldHVybiB0WzBdO2Nhc2UgMjpyZXR1cm4oMCxuLmVxdWFsUG9pbnRzKSh0WzBdLHRbMV0pP3RbMF06KDAsbi5saW5lU2VnbWVudCkodFswXSx0WzFdKX1yZXR1cm4oMCxzLmFzc2VydCkoITEsIldlIHNob3VsZCBoYXZlIGF0IG1vc3QgdHdvIGludGVyc2VjdGlvbiBwb2ludHMiKSxudWxsfX1mdW5jdGlvbiBkKGUsdCxpKXtjb25zdCBzPWwoZSx0LGkubWluLG5ldyBuLlBvaW50KGkubWF4LngsaS5taW4ueSkpLHI9bChlLHQsbmV3IG4uUG9pbnQoaS5tYXgueCxpLm1pbi55KSxpLm1heCksbz1sKGUsdCxpLm1heCxuZXcgbi5Qb2ludChpLm1pbi54LGkubWF4LnkpKSxhPWwoZSx0LG5ldyBuLlBvaW50KGkubWluLngsaS5tYXgueSksaS5taW4pLGM9W107aWYobnVsbCE9PXMmJnM+PTAmJmMucHVzaChzKSxudWxsIT09ciYmcj49MCYmYy5wdXNoKHIpLG51bGwhPT1vJiZvPj0wJiZjLnB1c2gobyksbnVsbCE9PWEmJmE+PTAmJmMucHVzaChhKSwwPT09Yy5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgaD1NYXRoLm1heCguLi5jKTtyZXR1cm4gZS5hZGRTY2FsZWQodC5zdWJ0cmFjdChlKSxoKX1mdW5jdGlvbiB1KGUsdCl7cmV0dXJuIShlLmxlbmd0aD4wJiYoKDAsbi5lcXVhbFBvaW50cykoZVtlLmxlbmd0aC0xXSx0KXx8KDAsbi5lcXVhbFBvaW50cykoZVswXSx0KSkpJiYoZS5wdXNoKHQpLCEwKX1mdW5jdGlvbiBwKGUsdCl7Y29uc3QgaT1bXTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcyl7Y29uc3Qgcj1lW3NdLG89ZVsocysxKSVlLmxlbmd0aF0sbD0oMCxuLmxpbmVUaHJvdWdoUG9pbnRzKShyLG8pO2lmKCgwLG4ucG9pbnRJbkhhbGZwbGFuZSkocix0KSl7aWYodShpLHIpLCEoMCxuLnBvaW50SW5IYWxmcGxhbmUpKG8sdCkpe2NvbnN0IGU9YShsLHQuZWRnZSk7bnVsbCE9PWUmJnUoaSxlKX19ZWxzZSBpZigoMCxuLnBvaW50SW5IYWxmcGxhbmUpKG8sdCkpe2NvbnN0IGU9YShsLHQuZWRnZSk7bnVsbCE9PWUmJnUoaSxlKX19cmV0dXJuIGkubGVuZ3RoPj0zP2k6bnVsbH19LDczNjUzMShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtQb2ludDooKT0+cyxib3g6KCk9PmQsZXF1YWxQb2ludHM6KCk9PnIsaGFsZnBsYW5lVGhyb3VnaFBvaW50OigpPT5jLGxpbmU6KCk9Pm8sbGluZVNlZ21lbnQ6KCk9PmwsbGluZVRocm91Z2hQb2ludHM6KCk9PmEscG9pbnQ6KCk9Pm4scG9pbnRJbkhhbGZwbGFuZTooKT0+aH0pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLng9ZSx0aGlzLnk9dH1hZGQoZSl7cmV0dXJuIG5ldyBzKHRoaXMueCtlLngsdGhpcy55K2UueSl9YWRkU2NhbGVkKGUsdCl7cmV0dXJuIG5ldyBzKHRoaXMueCt0KmUueCx0aGlzLnkrdCplLnkpfXN1YnRyYWN0KGUpe3JldHVybiBuZXcgcyh0aGlzLngtZS54LHRoaXMueS1lLnkpfWRvdFByb2R1Y3QoZSl7cmV0dXJuIHRoaXMueCplLngrdGhpcy55KmUueX1jcm9zc1Byb2R1Y3QoZSl7cmV0dXJuIHRoaXMueCplLnktdGhpcy55KmUueH1zaWduZWRBbmdsZShlKXtyZXR1cm4gTWF0aC5hdGFuMih0aGlzLmNyb3NzUHJvZHVjdChlKSx0aGlzLmRvdFByb2R1Y3QoZSkpfWFuZ2xlKGUpe3JldHVybiBNYXRoLmFjb3ModGhpcy5kb3RQcm9kdWN0KGUpLyh0aGlzLmxlbmd0aCgpKmUubGVuZ3RoKCkpKX1sZW5ndGgoKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSl9c2NhbGVkKGUpe3JldHVybiBuZXcgcyh0aGlzLngqZSx0aGlzLnkqZSl9bm9ybWFsaXplZCgpe3JldHVybiB0aGlzLnNjYWxlZCgxL3RoaXMubGVuZ3RoKCkpfXRyYW5zcG9zZWQoKXtyZXR1cm4gbmV3IHMoLXRoaXMueSx0aGlzLngpfWNsb25lKCl7cmV0dXJuIG5ldyBzKHRoaXMueCx0aGlzLnkpfX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIG5ldyBzKGUsdCl9ZnVuY3Rpb24gcihlLHQpe3JldHVybiBlLng9PT10LngmJmUueT09PXQueX1mdW5jdGlvbiBvKGUsdCxpKXtpZigwPT09ZSYmMD09PXQpdGhyb3cgbmV3IEVycm9yKCJBIGFuZCBCIGNhbiBub3QgYmUgYm90aCBlcXVhbCB0byB6ZXJvLiIpO3JldHVybntBOmUsQjp0LEM6aX19ZnVuY3Rpb24gYShlLHQpe2lmKHIoZSx0KSl0aHJvdyBuZXcgRXJyb3IoIlBvaW50cyBzaG91bGQgYmUgZGlzdGluY3QiKTtyZXR1cm4gbyhlLnktdC55LHQueC1lLngsZS54KnQueS10LngqZS55KX1mdW5jdGlvbiBsKGUsdCl7aWYocihlLHQpKXRocm93IG5ldyBFcnJvcigiUG9pbnRzIG9mIGEgc2VnbWVudCBzaG91bGQgYmUgZGlzdGluY3QiKTtyZXR1cm5bZSx0XX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJue2VkZ2U6ZSxpc1Bvc2l0aXZlOnR9fShlLGUuQSp0LngrZS5CKnQueStlLkM+MCl9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9dC5lZGdlO3JldHVybiBpLkEqZS54K2kuQiplLnkraS5DPjA9PT10LmlzUG9zaXRpdmV9ZnVuY3Rpb24gZChlLHQpe3JldHVybnttaW46bihNYXRoLm1pbihlLngsdC54KSxNYXRoLm1pbihlLnksdC55KSksbWF4Om4oTWF0aC5tYXgoZS54LHQueCksTWF0aC5tYXgoZS55LHQueSkpfX19LDEzNDY3KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FyZUVxdWFsUmdiOigpPT51LGFyZUVxdWFsUmdiYTooKT0+XyxibGVuZFJnYmE6KCk9PncsZGlzdGFuY2VSZ2I6KCk9PnksaHNsVG9SZ2I6KCk9PlMsaW52ZXJ0UmdiOigpPT5iLG5vcm1hbGl6ZUFscGhhQ29tcG9uZW50OigpPT5oLHBhcnNlUmdiOigpPT5PLHBhcnNlUmdiYTooKT0+RixyZ2I6KCk9PmQscmdiVG9CbGFja1doaXRlU3RyaW5nOigpPT5CLHJnYlRvSGV4U3RyaW5nOigpPT5ELHJnYlRvSHNsOigpPT5nLHJnYmE6KCk9PnAscmdiYVRvU3RyaW5nOigpPT5WLHNoaWZ0Q29sb3I6KCk9PlQsc2hpZnRSZ2I6KCk9PkMsc2hpZnRSZ2JhOigpPT5QLHRyeVBhcnNlUmdiOigpPT5OLHRyeVBhcnNlUmdiYTooKT0+V30pO3ZhciBzPWkoNjAxODQxKSxuPWkoODMwNzgzKQo7ZnVuY3Rpb24gcihlLHQsaSl7cmV0dXJuKDAscy5pc05hTikodCl8fHQ8ZT9lOnQ+aT9pOk1hdGgucm91bmQodCl9ZnVuY3Rpb24gbyhlLHQsaSl7cmV0dXJuKDAscy5pc05hTikodCl8fHQ8ZT9lOnQ+aT9pOk1hdGgucm91bmQoMWU0KnQpLzFlNH1mdW5jdGlvbiBhKGUpe3JldHVybiByKDAsZSwyNTUpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHIoMCxlLDI1NSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gcigwLGUsMjU1KX1mdW5jdGlvbiBoKGUpe3JldHVybiBvKDAsZSwxKX1mdW5jdGlvbiBkKGUsdCxpKXtyZXR1cm5bYShlKSxsKHQpLGMoaSldfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gZVswXT09PXRbMF0mJmVbMV09PT10WzFdJiZlWzJdPT09dFsyXX1mdW5jdGlvbiBwKGUsdCxpLHMpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2NvbnN0IGk9ZTtyZXR1cm4gcz10LFtpWzBdLGlbMV0saVsyXSxoKHMpXX17Y29uc3Qgbj10O3JldHVybiBpPWl8fDAscz1zfHwwLFthKGUpLGwobiksYyhpKSxoKHMpXX19ZnVuY3Rpb24gXyhlLHQpe3JldHVybiBlWzBdPT09dFswXSYmZVsxXT09PXRbMV0mJmVbMl09PT10WzJdJiZlWzNdPT09dFszXX1mdW5jdGlvbiBtKGUpe3JldHVybiBvKDAsZSwxKX1mdW5jdGlvbiBnKGUpe2NvbnN0W3QsaSxzXT1lLG49dC8yNTUscj1pLzI1NSxvPXMvMjU1LGE9TWF0aC5taW4obixyLG8pLGw9TWF0aC5tYXgobixyLG8pO2xldCBjPTAsaD0wO2NvbnN0IGQ9KGErbCkvMjtpZihhPT09bCljPTAsaD0wO2Vsc2V7Y29uc3QgZT1sLWE7c3dpdGNoKGg9ZD4uNT9lLygyLWwtYSk6ZS8obCthKSxsKXtjYXNlIG46Yz0oKHItbykvZSsocjxvPzY6MCkpLzY7YnJlYWs7Y2FzZSByOmM9KChvLW4pL2UrMikvNjticmVhaztjYXNlIG86Yz0oKG4tcikvZSs0KS82fX1yZXR1cm5bYyxoLGRdfWZ1bmN0aW9uIGYoZSx0LGkpe3JldHVybiBpPDAmJihpKz0xKSxpPjEmJihpLT0xKSxpPDEvNj9lKzYqKHQtZSkqaTppPC41P3Q6aTwyLzM/ZSsodC1lKSooMi8zLWkpKjY6ZX1mdW5jdGlvbiBTKGUpe2NvbnN0W3QsaSxzXT1lO2xldCBuLHIsbztpZigwPT09aSluPXI9bz1zO2Vsc2V7Y29uc3QgZT1zPC41P3MqKDEraSk6cytpLXMqaSxhPTIqcy1lO249ZihhLGUsdCsxLzMpLHI9ZihhLGUsdCksbz1mKGEsZSx0LTEvMyl9cmV0dXJuW2EoMjU1Km4pLGwoMjU1KnIpLGMoMjU1Km8pXX1jb25zdCB2PVsuMTk5LC42ODcsLjExNF07ZnVuY3Rpb24geShlLHQpe2NvbnN0W2kscyxuXT1lLFtyLG8sYV09dCxsPXItaSxjPW8tcyxoPWEtbjtyZXR1cm4gTWF0aC5zcXJ0KGwqbCtjKmMraCpoKX1mdW5jdGlvbiBiKGUpe2NvbnN0W3QsaSxzXT1lO3JldHVyblsyNTUtdCwyNTUtaSwyNTUtc119ZnVuY3Rpb24gdyhlLHQpe2NvbnN0W2kscyxuLHJdPWUsW28sZCx1LHBdPXQsXz1oKDEtKDEtcCkqKDEtcikpO3JldHVyblthKG8qcC9fK2kqciooMS1wKS9fKSxsKGQqcC9fK3MqciooMS1wKS9fKSxjKHUqcC9fK24qciooMS1wKS9fKSxfXX1mdW5jdGlvbiBDKGUsdCxpPS4wNSl7Y29uc3Qgcz1nKGUpLG49c1swXSt0Kmk7cmV0dXJuIHNbMF09bShuLU1hdGguZmxvb3IobikpLFMocyl9ZnVuY3Rpb24gUChlLHQsaT0uMDUpe2NvbnN0W3MsbixyLG9dPWUsW2EsbCxjXT1DKFtzLG4scl0sdCxpKTtyZXR1cm5bYSxsLGMsb119ZnVuY3Rpb24gVChlLHQsaT0uMDUpe3JldHVybiBWKFAoRihlKSx0LGkpKX12YXIgeCxNLEksTDtmdW5jdGlvbiBBKGUpe2NvbnN0IHQ9eC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD94LnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gayhlKXtjb25zdCB0PU0ucmUuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/TS5wYXJzZSh0KTpudWxsfWZ1bmN0aW9uIEQoZSl7Y29uc3RbdCxpLHNdPWUsbj10LnRvU3RyaW5nKDE2KSxyPWkudG9TdHJpbmcoMTYpLG89cy50b1N0cmluZygxNik7cmV0dXJuIiMiKygxPT09bi5sZW5ndGg/IjAiOiIiKStuKygxPT09ci5sZW5ndGg/IjAiOiIiKStyKygxPT09by5sZW5ndGg/IjAiOiIiKStvfWZ1bmN0aW9uIEUoZSl7Y29uc3QgdD1JLnJlLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P0kucGFyc2UodCk6bnVsbH1mdW5jdGlvbiBSKGUpe2NvbnN0IHQ9TC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9MLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gVihlKXtjb25zdFt0LGkscyxuXT1lO3JldHVybmByZ2JhKCR7dH0sICR7aX0sICR7c30sICR7bn0pYH1mdW5jdGlvbiBCKGUsdCl7aWYodDwwfHx0PjI1NSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdGhyZXNob2xkIHZhbHVlLCB2YWxpZCB2YWx1ZXMgYXJlIFswLCAyNTVdIik7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB2WzBdKmVbMF0rdlsxXSplWzFdK3ZbMl0qZVsyXX0oZSk+PXQ/IndoaXRlIjoiYmxhY2sifWZ1bmN0aW9uIE4oZSl7ZT1lLnRvTG93ZXJDYXNlKCk7Y29uc3QgdD0oMCxuLnRyeVBhcnNlTmFtZWRSZ2JhKShlKTtpZihudWxsIT09dCl7Y29uc3RbZSxpLHNdPXQ7cmV0dXJuW2UsaSxzXX1jb25zdCBpPUEoZSk7aWYobnVsbCE9PWkpcmV0dXJuIGk7Y29uc3Qgcz1rKGUpO2lmKG51bGwhPT1zKXJldHVybiBzO2NvbnN0IHI9RShlKTtpZihudWxsIT09cilyZXR1cm4gcjtjb25zdCBvPVIoZSk7aWYobnVsbCE9PW8pe2NvbnN0W2UsdCxpXT1vO3JldHVybltlLHQsaV19cmV0dXJuIG51bGx9ZnVuY3Rpb24gTyhlKXtjb25zdCB0PU4oZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJQYXNzZWQgY29sb3Igc3RyaW5nIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUga25vd24gY29sb3IgcmVwcmVzZW50YXRpb25zIil9ZnVuY3Rpb24gVyhlKXtlPWUudG9Mb3dlckNhc2UoKTtjb25zdCB0PSgwLG4udHJ5UGFyc2VOYW1lZFJnYmEpKGUpO2lmKG51bGwhPT10KXJldHVybiB0O2NvbnN0IGk9QShlKTtpZihudWxsIT09aSl7Y29uc3RbZSx0LHNdPWk7cmV0dXJuW2UsdCxzLDFdfWNvbnN0IHM9ayhlKTtpZihudWxsIT09cyl7Y29uc3RbZSx0LGldPXM7cmV0dXJuW2UsdCxpLDFdfWNvbnN0IHI9RShlKTtpZihudWxsIT09cil7Y29uc3RbZSx0LGldPXI7cmV0dXJuW2UsdCxpLDFdfWNvbnN0IG89UihlKQo7cmV0dXJuIG51bGwhPT1vP286bnVsbH1mdW5jdGlvbiBGKGUpe2NvbnN0IHQ9VyhlKTtpZihudWxsIT09dClyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoIlBhc3NlZCBjb2xvciBzdHJpbmcgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBrbm93biBjb2xvciByZXByZXNlbnRhdGlvbnMiKX0hZnVuY3Rpb24oZSl7ZS5yZT0vXnJnYlwoXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccypcKSQvLGUucGFyc2U9ZnVuY3Rpb24oZSl7cmV0dXJuW2EocGFyc2VJbnQoZVsxXSwxMCkpLGwocGFyc2VJbnQoZVsyXSwxMCkpLGMocGFyc2VJbnQoZVszXSwxMCkpXX19KHh8fCh4PXt9KSksZnVuY3Rpb24oZSl7ZS5yZT0vXiMoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTYpKSxsKHBhcnNlSW50KGVbMl0sMTYpKSxjKHBhcnNlSW50KGVbM10sMTYpKV19fShNfHwoTT17fSkpLGZ1bmN0aW9uKGUpe2UucmU9L14jKFswLTlhLWZBLUZdKShbMC05YS1mQS1GXSkoWzAtOWEtZkEtRl0pJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdK2VbMV0sMTYpKSxsKHBhcnNlSW50KGVbMl0rZVsyXSwxNikpLGMocGFyc2VJbnQoZVszXStlWzNdLDE2KSldfX0oSXx8KEk9e30pKSxmdW5jdGlvbihlKXtlLnJlPS9ecmdiYVwoXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/W1xkXXswLDEwfSg/OlwuXGQrKT8pXHMqXCkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTApKSxsKHBhcnNlSW50KGVbMl0sMTApKSxjKHBhcnNlSW50KGVbM10sMTApKSxoKHBhcnNlRmxvYXQoZVs0XSkpXX19KEx8fChMPXt9KSl9LDcyNzA5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZUdyb3VwOigpPT5sLGtleWJvYXJkUHJlc3NlZEtleXNTdGF0ZTooKT0+YSxwcmVzc2VkS2V5czooKT0+byxyZWdpc3RlcldpbmRvdzooKT0+Y30pO3ZhciBzPWkoMjkxMzQxKSxuPWkoNzc5Mzg5KTtjb25zdCByPW5ldyBzLkFjdGlvbk1hbmFnZXIsbz1yLnByZXNzZWRLZXlzKCksYT1yLmtleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIG5ldyBuLkFjdGlvbkdyb3VwKHIsZSl9ZnVuY3Rpb24gYyhlKXtyLmxpc3RlbihlKX19LDM0Mjc4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlLHQsaSl7cmV0dXJuIGUqKDEtaSkrdCppfWkuZCh0LHtkb0FuaW1hdGU6KCk9Pm8sbGVycDooKT0+c30pO2NvbnN0IG49e2Zyb206MCxkdXJhdGlvbjoyNTAsZWFzaW5nOmkoMjE4ODE0KS5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2luZz0hMCx0aGlzLl9jb21wbGV0ZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4ubiwuLi5lfTtjb25zdCB0PXBlcmZvcm1hbmNlLm5vdygpO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGU9Pnt0aGlzLl9hbmltYXRpb24odCx0aGlzLl9vcHRpb25zLmZyb20sZSl9KSl9c3RvcCgpe3RoaXMuX2RvaW5nPSExfWNvbXBsZXRlZCgpe3JldHVybiB0aGlzLl9jb21wbGV0ZWR9X2FuaW1hdGlvbihlLHQsaSl7aWYoIXRoaXMuX2RvaW5nKXJldHVybiB2b2lkIHRoaXMuX2ZpbmlzaEFuaW1hdGlvbigpO2NvbnN0IG49KGk9IWl8fGk8MWUxMj9wZXJmb3JtYW5jZS5ub3coKTppKS1lLHI9bj49dGhpcy5fb3B0aW9ucy5kdXJhdGlvbnx8dD09PXRoaXMuX29wdGlvbnMudG8sbz1zKHRoaXMuX29wdGlvbnMuZnJvbSx0aGlzLl9vcHRpb25zLnRvLHRoaXMuX29wdGlvbnMuZWFzaW5nKG4vdGhpcy5fb3B0aW9ucy5kdXJhdGlvbikpLGE9cj90aGlzLl9vcHRpb25zLnRvOm8sbD1hLXQ7dGhpcy5fb3B0aW9ucy5vblN0ZXAobCxhKSxyP3RoaXMuX2ZpbmlzaEFuaW1hdGlvbigpOndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHQ9Pnt0aGlzLl9hbmltYXRpb24oZSxhLHQpfSkpfV9maW5pc2hBbmltYXRpb24oKXt0aGlzLl9vcHRpb25zLm9uQ29tcGxldGUmJnRoaXMuX29wdGlvbnMub25Db21wbGV0ZSgpLHRoaXMuX2NvbXBsZXRlZD0hMH19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbmV3IHIoZSl9fSwxMTU2NDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VE9BU1RfQU5JTUFUSU9OX0RVUkFUSU9OOigpPT5zfSk7Y29uc3Qgcz01MDB9LDc4MzU5MyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBzPW5ldyBVUkwoZSksbj0iYmxvYjoiPT09bG9jYXRpb24ucHJvdG9jb2w/bmV3IFVSTChsb2NhdGlvbi5ocmVmLnNsaWNlKDUpKS5vcmlnaW4rIi8iOmxvY2F0aW9uLmhyZWYscj1uZXcgQmxvYihbInNlbGYuV0VCUEFDS19QVUJMSUNfUEFUSD0iLEpTT04uc3RyaW5naWZ5KG5ldyBVUkwoaS5wLG4pLmhyZWYpLCI7XG4iLCJzZWxmLmxvY2FsZT0iLEpTT04uc3RyaW5naWZ5KGkuZy5sb2NhbGUpLCI7XG4iLHQ/YHNlbGYubGFuZ3VhZ2U9JHtKU09OLnN0cmluZ2lmeSh0KX07XG5gOiIiLCJpbXBvcnRTY3JpcHRzKCIsSlNPTi5zdHJpbmdpZnkocy5ocmVmKSwiKTsiXSx7dHlwZToiYXBwbGljYXRpb24vamF2YXNjcmlwdCJ9KTtyZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChyKX1pLmQodCx7V29ya2VyOigpPT5ufSk7Y2xhc3MgbiBleHRlbmRzIFdvcmtlcntjb25zdHJ1Y3RvcihlLHQpe2NvbnN0e2xhbmd1YWdlOmksLi4ubn09dD8/e307c3VwZXIocyhlLGkpLG4pfX19LDQxODI4MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRBbGVydFByZXNlbnRhdGlvbjooKT0+cn0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoODQ0MzAxKTtmdW5jdGlvbiByKGUpe3JldHVybiBlLm5hbWV8fGUubWVzc2FnZXx8ZnVuY3Rpb24oZSl7Y29uc3R7cmVzb2x1dGlvbjp0LGNyb3NzSW50ZXJ2YWw6aX09ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmZpbmQoKGU9PiFlLmNyb3NzSW50ZXJ2YWwpKTtyZXR1cm4gdD97cmVzb2x1dGlvbjp0LnJlc29sdXRpb24sCmNyb3NzSW50ZXJ2YWw6ITF9OntyZXNvbHV0aW9uOm51bGwsY3Jvc3NJbnRlcnZhbDohMH19KGUuY29uZGl0aW9ucyk7cmV0dXJuIGZ1bmN0aW9uKHtzeW1ib2w6ZSx3YXRjaGxpc3ROYW1lOnQscmVzb2x1dGlvbjppLGNyb3NzSW50ZXJ2YWw6cixpbmNsdWRlRXhjaGFuZ2U6b30pe3JldHVybiB0PygwLG4uZm9ybWF0V2F0Y2hsaXN0VGl0bGUpKHt3YXRjaGxpc3ROYW1lOnQscmVzb2x1dGlvbjppLGNyb3NzSW50ZXJ2YWw6cn0pOigwLG4uZm9ybWF0U3ltYm9sQW5kUmVzb2x1dGlvbikoe3N5bWJvbDooMCxzLmVuc3VyZU5vdE51bGwpKGUpLHJlc29sdXRpb246aSxjcm9zc0ludGVydmFsOnJ9LG8pfSh7c3ltYm9sOigwLHMuZW5zdXJlTm90TnVsbCkoZS5zeW1ib2wpLHdhdGNobGlzdE5hbWU6ZS5pc1dhdGNobGlzdEFsZXJ0P2Uud2F0Y2hsaXN0TmFtZTpudWxsLHJlc29sdXRpb246dCxjcm9zc0ludGVydmFsOml9KX0oZSl9fSwxMTM3MTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdDooKT0+b30pO3ZhciBzPWkoMzYyMjM5KSxuPWkoODM2MDgxKSxyPWkoNzc4OTQ2KTthc3luYyBmdW5jdGlvbiBvKGUsdCxpKXtjb25zdCBvPWF3YWl0KDAscy5nZXRUcmFja2VyKSgpO28/LnRyYWNrU2VsZkRlc2MoImlnbHU6Y29tLnRyYWRpbmd2aWV3L2FsZXJ0c19jcmVhdGlvbi9qc29uc2NoZW1hLzEtMC01Iix7YWN0aW9uOiJjcmVhdGlvbl9hdHRlbXB0IixzeW1ib2w6ZSxtZXRob2Q6dCxzb3VyY2U6aSxwbGF0Zm9ybTooMCxyLmdldFBsYXRmb3JtKSgpLHVzZXJfaWQ6KDAsbi5nZXRVc2VySWQpKCksdXNlcl9wbGFuOigwLG4uZ2V0VXNlclBsYW4pKCksbG9jYWxlOigwLG4uZ2V0VXNlckxvY2FsZSkoKX0pfX0sNzM2MjgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QWxlcnRzQ2hhcnRBY3Rpb25DcmVhdG9yczooKT0+c30pO2NvbnN0IHM9KDAsaSg4Mzk0MjYpLmRlZmF1bHQpKChhc3luYygpPT57Y29uc3R7Z2V0Q3JlYXRlQWxlcnRBY3Rpb246ZX09YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgyNDQxKSxpLmUoNTc2NzQpXSkudGhlbihpLmJpbmQoaSwyNzQ1MzYpKSx7Z2V0RWRpdEFsZXJ0T25MaW5lRGF0YVNvdXJjZUFjdGlvbjp0fT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI0NDEpLGkuZSg1NzY3NCldKS50aGVuKGkuYmluZChpLDg2MDkyNCkpO3JldHVybntjcmVhdGVBbGVydDplLGVkaXRBbGVydE9uTGluZURhdGFTb3VyY2U6dH19KSl9LDU1ODQ1NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPWUuZm9ybWF0dGVyKCk7aWYoaS5wYXJzZSl7Y29uc3QgZT1pLnBhcnNlKGkuZm9ybWF0KHQpKTtpZihlLnJlcylyZXR1cm4gZS52YWx1ZX1yZXR1cm4gdH1pLmQodCx7cm91bmRBbGVydFZhbHVlVXNpbmdQcmVjaXNpb246KCk9PnN9KX0sNDg3ODIwKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7QWxlcnRDaGFydERpc3BsYXlUYXJnZXQ6KCk9Pm4sQWxlcnRTdG9wUmVhc29uOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLkF1dG89MF09IkF1dG8iLGVbZS5NYW51YWw9MV09Ik1hbnVhbCIsZVtlLkV4cGlyZWQ9Ml09IkV4cGlyZWQiLGVbZS5DcmVhdGVkPTNdPSJDcmVhdGVkIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuTGFiZWw9MF09IkxhYmVsIixlW2UuU3RhdHVzVmlldz0xXT0iU3RhdHVzVmlldyJ9KG58fChuPXt9KSl9LDE0NDUzNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRDaGFydEFsZXJ0c0ZhY2FkZTooKT0+byxnZXRDaGFydEFsZXJ0c0ZhY2FkZUlmQ3JlYXRlZEJlZm9yZTooKT0+YX0pO3ZhciBzPWkoNTk2ODA0KTtsZXQgbixyO2FzeW5jIGZ1bmN0aW9uIG8oKXtyZXR1cm4gbnx8KG49YXN5bmMgZnVuY3Rpb24oKXtjb25zdFtlLHtnZXRBbGVydHNDb2xsZWN0aW9uOnR9LG5dPWF3YWl0IFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDkyNDE5KSxpLmUoMzA2OTkpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNDM4MjcpLGkuZSg2MzI5MCksaS5lKDM4NDQyKV0pLnRoZW4oaS5iaW5kKGksNDc3MzE4KSksUHJvbWlzZS5hbGwoW2kuZSg4NDY5MyksaS5lKDg4OTk3KSxpLmUoMzA2OTkpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNzEzMTkpXSkudGhlbihpLmJpbmQoaSwxNDMyNjYpKSwoMCxzLmdldENoYXJ0U291cmNlSWRzR2V0dGVyKSgpXSk7cmV0dXJuIG5ldyBlLkNoYXJ0QWxlcnRzRmFjYWRlKHQoKSxuKX0oKSkscnx8KHI9YXdhaXQgbikscn1mdW5jdGlvbiBhKCl7cmV0dXJuIHI/P251bGx9fSwxNzU4MTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0Q2hhcnRBbGVydHNGYWNhZGU6KCk9PnMuZ2V0Q2hhcnRBbGVydHNGYWNhZGV9KTt2YXIgcz1pKDE0NDUzNCl9LDk3NjQ5OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtjb25maXJtRGF0YXNvdXJjZVJlbW92aW5nOigpPT5vfSk7dmFyIHM9aSgxODUyNzEpLG49aSgyMzQ5NjQpO2NvbnN0IHI9cy50KG51bGwsdm9pZCAwLGkoMTE2NzY4KSk7ZnVuY3Rpb24gbyhlLHQpe2NvbnN0e2hhc0xvY2tlZFNvdXJjZXM6byx0ZXh0OmE9cixvbkNvbmZpcm06bCxvbkNsb3NlOmN9PWUsaD1vP3MudChudWxsLHZvaWQgMCxpKDQwOTIxKSk6cy50KG51bGwsdm9pZCAwLGkoMTQwNDA3KSk7cmV0dXJuIG5ldyBQcm9taXNlKChyPT4oMCxuLnNob3dDb25maXJtKSh7Li4uZSx0aXRsZTpoLHRleHQ6YSxtYWluQnV0dG9uVGV4dDpzLnQobnVsbCx7Y29udGV4dDoiQnV0dG9uIGluIGEgY29uZmlybWF0aW9uIGRpYWxvZyJ9LGkoMzE4NzM0KSksbWFpbkJ1dHRvbkludGVudDoiZGFuZ2VyIixjYW5jZWxCdXR0b25UZXh0OnMudChudWxsLHtjb250ZXh0OiJCdXR0b24gaW4gYSBjb25maXJtYXRpb24gZGlhbG9nIn0saSgyNjQ3MzkpKSxvbkNvbmZpcm06ZT0+e2w/LihlKSxyKCEwKSxlLmRpYWxvZ0Nsb3NlKCl9LG9uQ2xvc2U6KCk9PntjPy4oKSxyKCExKX19LHQpKSl9fSw2MTA0NjQoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7Q29uc3RhbnRzOigpPT5zfSksZnVuY3Rpb24oZSl7CmUuRHJhd2luZ0ljb25Db2xvcj0icmdiYSggMTcwLCAxNzAsIDE3MCwgMSkifShzfHwocz17fSkpfSw1ODYxNjUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7aGFzVXN1YWxBbGVydFBsb3RzOigpPT5sLGlzRmlyc3RBbGVydFBsb3RVc3VhbDooKT0+YX0pO3ZhciBzPWkoMjI0MTgzKSxuPWkoOTU2NDM3KSxyPWkoMjQxMyksbz1pKDI1MDQ2Nyk7ZnVuY3Rpb24gYShlKXtpZigoMCxzLmlzU2VyaWVzKShlKSlyZXR1cm4hMDtpZigoMCxuLmlzU3R1ZHkpKGUpJiYhKDAsbi5pc1N0dWR5U3RyYXRlZ3kpKGUpKXtjb25zdCB0PSgwLHIucGxvdHNGb3JBbGVydCkoZS5tZXRhSW5mbygpLGUub2Zmc2V0LmJpbmQoZSkpO3JldHVybiFlLm1ldGFJbmZvKCkuaGFzQWxlcnRGdW5jdGlvbiYmdC5ldmVyeSgoZT0+ZS50eXBlIT09by5JbnRlcm5hbFN0dWR5UGxvdFR5cGUuQWxlcnRDb25kaXRpb24pKX1yZXR1cm4hMX1mdW5jdGlvbiBsKGUpe2lmKCgwLHMuaXNTZXJpZXMpKGUpKXJldHVybiEwO2lmKCgwLG4uaXNTdHVkeSkoZSkmJiEoMCxuLmlzU3R1ZHlTdHJhdGVneSkoZSkpe3JldHVybigwLHIucGxvdHNGb3JBbGVydCkoZS5tZXRhSW5mbygpLGUub2Zmc2V0LmJpbmQoZSkpLnNvbWUoKGU9PmUudHlwZSE9PW8uSW50ZXJuYWxTdHVkeVBsb3RUeXBlLkFsZXJ0Q29uZGl0aW9uKSl9cmV0dXJuITF9fSw2ODM5MDIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0U2VyaWVzSWRGb3JBbGVydDooKT0+byxnZXRTdHVkeUlkRm9yQWxlcnQ6KCk9PmF9KTt2YXIgcz1pKDE2NzkxMCksbj1pKDc0OTgxNCkscj1pKDI1NDY3Myk7ZnVuY3Rpb24gbyhlLHQpe3JldHVybigwLHMuaGFzaCkoZStyLkludGVydmFsLm5vcm1hbGl6ZSh0KSkudG9TdHJpbmcoKX1mdW5jdGlvbiBhKGUsdCxpKXtyZXR1cm4oMCxzLmhhc2gpKGUrKDAsbi5zb3J0ZWRTdHJpbmdpZnkpKHQpKyhpPz8iIikpLnRvU3RyaW5nKCl9fSw1OTY4MDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0Q2hhcnRTb3VyY2VJZHNHZXR0ZXI6KCk9PnN9KTtjb25zdCBzPSgwLGkoODM5NDI2KS5kZWZhdWx0KSgoYXN5bmMoKT0+e2NvbnN0e0NoYXJ0U291cmNlSWRzR2V0dGVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMTEzNzgpLGkuZSgzMDY5OSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg0MzgyNyksaS5lKDIyNTMyKV0pLnRoZW4oaS5iaW5kKGksODc4ODA5KSk7cmV0dXJuIG5ldyBlfSkpfSwzNTMwNDAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2FuUGxhY2VBbGVydE9uUmVzb2x1dGlvbjooKT0+cn0pO3ZhciBzPWkoMjU0NjczKSxuPWkoNDc5MzQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBpPXMuSW50ZXJ2YWwuaXNTZWNvbmRzKGUpLHI9dD90Py5hbGVydHNPblNlY29uZHM6KDAsbi5lbmFibGVkKSgiQUxFUlRTX09OX1NFQ09ORFMiKTtyZXR1cm4haXx8cn19LDE2MjU4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2Zvcm1hdEFwcGVuZGluZ1Jlc29sdXRpb25TdHJpbmc6KCk9Pm59KTt2YXIgcz1pKDQ2NTEzNyk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PSgwLHMuZ2V0VHJhbnNsYXRlZFJlc29sdXRpb24pKGUpO3JldHVybigwLHMuZm9ybWF0RGlyZWN0aW9uYWxSZXNvbHV0aW9uKSh0KX19LDI2MTE1NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtmb3JtYXRTeW1ib2xBbmRSZXNvbHV0aW9uOigpPT5hLGZvcm1hdFN5bWJvbFN0cmluZzooKT0+bH0pO3ZhciBzPWkoMzQ0MTAzKSxuPWkubihzKSxyPWkoMTExOTUzKSxvPWkoMTYyNTgpO2Z1bmN0aW9uIGEoZSx0KXtjb25zdCBpPWwoZS5zeW1ib2wsdCk7aWYoZS5jcm9zc0ludGVydmFsfHwhZS5yZXNvbHV0aW9uKXJldHVybiBpO3JldHVybiBpKygwLG8uZm9ybWF0QXBwZW5kaW5nUmVzb2x1dGlvblN0cmluZykoZS5yZXNvbHV0aW9uKX1mdW5jdGlvbiBsKGUsdCl7bGV0IGk9KDAsci51bndyYXBTaW1wbGVTeW1ib2wpKGUpO3JldHVybiB0fHwoaT1uKCkuc2hvcnROYW1lKGkpKSxpfX0sNDg1MTc5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2Zvcm1hdFdhdGNobGlzdFRpdGxlOigpPT5ufSk7dmFyIHM9aSgxNjI1OCk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUud2F0Y2hsaXN0TmFtZTtpZihlLmNyb3NzSW50ZXJ2YWx8fCFlLnJlc29sdXRpb24pcmV0dXJuIHQ7cmV0dXJuIHQrKDAscy5mb3JtYXRBcHBlbmRpbmdSZXNvbHV0aW9uU3RyaW5nKShlLnJlc29sdXRpb24pfX0sODYyOTUxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gcigpLnRoZW4oKHQ9PnQuaGFzVXNlckFjY2Vzc1RvRGF0YVNvdXJjZShlKSkpfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIHIoKS50aGVuKCh0PT50LmZpbHRlckFjY2Vzc2libGVEYXRhU291cmNlcyhlKSkpfWkuZCh0LHtmaWx0ZXJBY2Nlc3NpYmxlRGF0YVNvdXJjZXM6KCk9Pm4saGFzVXNlckFjY2Vzc1RvRGF0YVNvdXJjZTooKT0+c30pO2NvbnN0IHI9KCk9PmkuZSg0MzQ1OCkudGhlbihpLmJpbmQoaSw0NzkxNDYpKX0sNDU2MDIzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dHb1Byb0FsZXJ0c09uU2Vjb25kc0RpYWxvZzooKT0+bn0pO3ZhciBzPWkoNzcwNzU1KTtpKDMwMDI4Nik7ZnVuY3Rpb24gbigpeygwLHMub3BlblBheXdhbGwpKHtmZWF0dXJlOiJhbGVydHNPblNlY29uZHMifSl9fSwxNTMzNDcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QWxlcnRzQWN0aW9uQ3JlYXRvcnM6KCk9Pm59KTt2YXIgcz1pKDgzOTQyNik7Y29uc3Qgbj0oMCxzLmRlZmF1bHQpKChhc3luYygpPT5uZXcoKGF3YWl0IFByb21pc2UuYWxsKFtpLmUoNTU4MDEpLGkuZSgzMDY5OSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg0MzgyNyksaS5lKDkyMjI5KV0pLnRoZW4oaS5iaW5kKGksNjM1MDgxKSkpLkFsZXJ0c0FjdGlvbkNyZWF0b3JzKSkpOygwLHMuZGVmYXVsdCkoKGFzeW5jKCk9PnsKY29uc3RbZSx7Z2V0QWxlcnRTZXNzaW9uOnR9XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSgxMDc3NiksaS5lKDE1MTczKV0pLnRoZW4oaS5iaW5kKGksOTA5MDExKSksUHJvbWlzZS5hbGwoW2kuZSg3ODAzNCksaS5lKDg1MDU3KV0pLnRoZW4oaS5iaW5kKGksNjE0OTU3KSldKTtyZXR1cm4gbmV3IGUuRmlyZXNBY3Rpb25DcmVhdG9ycyh0KCkpfSkpfSwzODY0NjYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCl7aWYoZS5sZW5ndGg+dCl7Y29uc3QgaT0vW1xXXSskL2cscz1lLnN1YnN0cmluZygwLHQpLG49cy5yZXBsYWNlKGksIiIpO3JldHVybmAke24ubGVuZ3RoP246cy5zdWJzdHJpbmcoMCx0LTEpfeKApmB9cmV0dXJuIGV9aS5kKHQse2N1dFN0cmluZzooKT0+c30pfSw0MDAwNihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtBbGVydEVkaXRvckFib3J0UmVhc29uOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5BbGVydElzSW52YWxpZD0iYWxlcnQtaXMtaW52YWxpZCIsZS5BbGVydHNNYWludGVuYW5jZT0iYWxlcnRzLW1haW50ZW5hbmNlIixlLkNoYXJ0TW9kZWxOb3RGb3VuZD0iY2hhcnQtbW9kZWwtbm90LWZvdW5kIixlLklzQWxyZWFkeVByZXNlbnQ9ImlzLWFscmVhZHktcHJlc2VudCIsZS5NYWluU2VyaWVzSXNBVFI9Im1haW4tc2VyaWVzLWlzLWF0ciIsZS5NYWluU2VyaWVzSXNQZXJjZW50YWdlTFRQPSJtYWluLXNlcmllcy1pcy1wZXJjZW50YWdlLWx0cCIsZS5NYWluU2VyaWVzSXNJblJlcGxheT0ibWFpbi1zZXJpZXMtaXMtaW4tcmVwbGF5IixlLk1haW5TZXJpZXNJc09mZmxpbmU9Im1haW4tc2VyaWVzLWlzLW9mZmxpbmUiLGUuU291cmNlSXNEYW5nZXJvdXM9InNvdXJjZS1pcy1kYW5nZXJvdXMiLGUuU3ltYm9sSW5mb1RpbWVvdXQ9InN5bWJvbC1pbmZvLXRpbWVvdXQiLGUuU3ltYm9sSXNJbnZhbGlkPSJzeW1ib2wtaXMtaW52YWxpZCIsZS5TeW1ib2xDdXJyZW5jeUNvbnZlcnRlZD0ic3ltYm9sLWN1cnJlbmN5LWNvbnZlcnRlZCIsZS5TeW1ib2xVbml0Q29udmVydGVkPSJzeW1ib2wtdW5pdC1jb252ZXJ0ZWQiLGUuU3ltYm9sQ3VycmVuY3lBbmRVbml0Q29udmVydGVkPSJzeW1ib2wtY3VycmVuY3ktYW5kLXVuaXQtY29udmVydGVkIixlLlN5bWJvbElzRWNvbm9taWNzPSJzeW1ib2wtaXMtZWNvbm9taWNzIixlLlN5bWJvbFdpdGhNZXRyaWNzPSJzeW1ib2wtd2l0aC1tZXRyaWNzIixlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0idW5zdXBwb3J0ZWQtcmVzb2x1dGlvbiIsZS5NYW51YWxBYm9ydD0ibWFudWFsLWFib3J0IixlLk1pc2xlYWRpbmdQcmljZVNjYWxlPSJtaXNsZWFkaW5nLXByaWNlLXNjYWxlIixlLlJlc29sdXRpb25Jc1RpY2tzPSJyZXNvbHV0aW9uLWlzLXRpY2tzIn0oc3x8KHM9e30pKX0sNzIxMDQyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQWxlcnRDcmVhdGlvbkF0dGVtcHQ6KCk9PnMudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdH0pO3ZhciBzPWkoMTEzNzE4KX0sODIyNzk1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FsZXJ0RWRpdG9ySW52b2NhdGlvbk1vZGU6KCk9PmEuQWxlcnRFZGl0b3JJbnZvY2F0aW9uTW9kZSxpbnZva2VBbGVydEVkaXRvcjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoMjIxMDYxKSxyPWkoODYyOTUxKSxvPWkoNDAwMDYpLGE9aSg0MjM3NDUpO2NvbnN0IGw9KDAsbi5nZXRMb2dnZXIpKCJBbGVydHMuUHJpY2UuSW52b2tlQWxlcnRFZGl0b3IiKTthc3luYyBmdW5jdGlvbiBjKGUpewpjb25zdFt7Z2V0QWxlcnRzVHJhY2tlcnM6dH0se2dldEludm9jYXRpb25Nb2RlOm4sc2hvdWxkQWJvcnRBbGVydEVkaXRvcjpyLHNob3dBYm9ydEV4cGxhaW5pbmdEaWFsb2c6YX0se2xvY2tFZGl0b3JJbnZvY2F0aW9uOmN9XT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDc5NDc2KS50aGVuKGkuYmluZChpLDQzNjgzNikpLFByb21pc2UuYWxsKFtpLmUoNzg0NCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSgzMjgxNiksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoOTUwNCksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDQ5NTg4KSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSg5MzQxNiksaS5lKDYxODIxKSxpLmUoNTczMDApLGkuZSg1MjY4MCksaS5lKDMyNzQ4KSxpLmUoODk1NTgpLGkuZSg2NjI3MCksaS5lKDEwMzY2KSxpLmUoNTE2ODIpLGkuZSgzNzc2NyksaS5lKDIwMiksaS5lKDk3NjYwKSxpLmUoNzI1MTIpLGkuZSg5NDA1NCksaS5lKDQwODY3KSxpLmUoMzk3ODYpLGkuZSg1MDgwMCksaS5lKDYwODIpLGkuZSg5MDk2MCksaS5lKDY3NTQzKSxpLmUoOTAzMzApLGkuZSg5NjE4MSksaS5lKDczODcpLGkuZSg2ODU3OSksaS5lKDQxOTgwKSxpLmUoMjc0NDYpLGkuZSg3OTg5MiksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNzM1MzUpLGkuZSg1NzA5MyksaS5lKDY5MDMyKSxpLmUoMTYwMzEpLGkuZSg2MzI5MCksaS5lKDcwNTMyKV0pLnRoZW4oaS5iaW5kKGksNDA0NTg5KSksUHJvbWlzZS5hbGwoW2kuZSg3ODQ0KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzI3NDgpLGkuZSg4OTU1OCksaS5lKDY2MjcwKSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDM3NzY3KSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDk0MDU0KSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNjA4MiksaS5lKDkwOTYwKSxpLmUoNjc1NDMpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoNzM4NyksaS5lKDY4NTc5KSxpLmUoNDE5ODApLGkuZSgyNzQ0NiksaS5lKDc5ODkyKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoNzIxMSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg3MzUzNSksaS5lKDU3MDkzKSxpLmUoNjkwMzIpLGkuZSgxNjAzMSksaS5lKDYzMjkwKSxpLmUoNzA1MzIpXSkudGhlbihpLmJpbmQoaSw3NzYyNTYpKV0pLGQ9dCgpLm1haW50ZW5hbmNlO2Quc3luY09uVXNlckFjdGlvbigpO2NvbnN0IHU9cihlLGQpO2lmKG51bGwhPT11KXJldHVybiB1IT09by5BbGVydEVkaXRvckFib3J0UmVhc29uLklzQWxyZWFkeVByZXNlbnQmJmEodSxuKGUpKSxsLmxvZ1dhcm4oYEFib3J0ZWQ6ICR7dX1gKSx2b2lkIGUub25BYm9ydGVkPy4odSk7Y29uc3RbcCxfXT1jKGUpO3RyeXsKY29uc3Rbe2dldEFsZXJ0U2Vzc2lvbjp0fSx7aW52b2tlRGlhbG9nQWxlcnRFZGl0b3I6bixpbnZva2VTaWxlbnRBbGVydEVkaXRvcjpyLGNvbnZlcnRPcHRpb25zRm9yU2lsZW50SW52b2tlcjpvLGNvbnZlcnRPcHRpb25zRm9yRGlhbG9nSW52b2tlcjphfSxsXT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg3ODAzNCksaS5lKDg1MDU3KV0pLnRoZW4oaS5iaW5kKGksNjE0OTU3KSksUHJvbWlzZS5hbGwoW2kuZSg3ODQ0KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzI3NDgpLGkuZSg4OTU1OCksaS5lKDY2MjcwKSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDM3NzY3KSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDk0MDU0KSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNjA4MiksaS5lKDkwOTYwKSxpLmUoNjc1NDMpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoNzM4NyksaS5lKDY4NTc5KSxpLmUoNDE5ODApLGkuZSgyNzQ0NiksaS5lKDc5ODkyKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoNzIxMSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg3MzUzNSksaS5lKDU3MDkzKSxpLmUoNjkwMzIpLGkuZSgxNjAzMSksaS5lKDYzMjkwKSxpLmUoNzA1MzIpXSkudGhlbihpLmJpbmQoaSwxNTQyOTYpKSxoKF8pXSksYz0oMCxzLmVuc3VyZU5vdE51bGwpKHQoKS51c2VyLnZhbHVlKCkpO2Uuc2lsZW50P3IobyhsKSxjKTpuKGEobCksYyl9Y2F0Y2goZSl7cCgpfX1hc3luYyBmdW5jdGlvbiBoKGUpe2NvbnN0IHQ9ey4uLmV9O3JldHVybiB0LnNlcmllcyYmIWF3YWl0KDAsci5oYXNVc2VyQWNjZXNzVG9EYXRhU291cmNlKSh0LnNlcmllcykmJihkZWxldGUgdC5zZXJpZXMsZGVsZXRlIHQudmFsdWUpLHR9fSw0MjM3NDUoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxuO2kuZCh0LHtBbGVydEVkaXRvckludm9jYXRpb25Nb2RlOigpPT5uLEV4cGlyYXRpb25QcmVzZXRUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5PcGVuRW5kZWQ9Im9wZW4tZW5kZWQiLGUuRml4ZWQ9ImZpeGVkIixlLk5leHRSZXBvcnQ9Im5leHQtcmVwb3J0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLkNyZWF0ZUFsZXJ0PSJjcmVhdGVfYWxlcnQiLGUuRWRpdEFsZXJ0PSJlZGl0X2FsZXJ0IixlLlNob3dSZWFkb25seUFsZXJ0PSJzaG93X2FsZXJ0In0obnx8KG49e30pKX0sNDkwMzk5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FsZXJ0c0F2YWlsYWJsZTooKT0+c30pO2NvbnN0IHM9KDAsaSg5MzAyMzEpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbGVydHMiKX0sNjEzODcwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzU2lnbk1vZGFsT3BlbjooKT0+aCxzaG93U2lnbk1vZGFsOigpPT5jfSk7dmFyIHM9aSg4NDIxMDIpLG49aSg5Nzg1NCkscj1pKDcxOTE5NCksbz1pKDc1NjI3MSksYT1pKDkzNDA4MSk7bGV0IGw9KCk9PiExO2FzeW5jIGZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxzLmlzU2hvd1Byb21vVmlkZW8pKCksbj1PYmplY3QuYXNzaWduKHt9LGUse2lzU2hvd1ZpZGVvOnR9KTtpZih3aW5kb3cuVFZEJiZ3aW5kb3cuVFZELnNpZ25JbilyZXR1cm4gd2luZG93LlRWRC5zaWduSW4obik7e3QmJmZ1bmN0aW9uKCl7Y29uc3R7cG9zdGVyOmV9PWEuU1RPUllfUE9TVEVSU1soMCxyLnBpY2tTdG9yeUluZGV4KShvLlNUT1JZX05BTUVTKV0sdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7dC5yZWw9InByZWxvYWQiLHQuYXM9ImltYWdlIix0LmhyZWY9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfSgpO2NvbnN0IGU9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg4NTUzNyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg5NDk0OCksaS5lKDk0MjMyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDI0NTgxKSxpLmUoMTEyMTgpLGkuZSg4NTc5KSxpLmUoNzI2NjYpLGkuZSg3MDgxNSksaS5lKDc0MzgxKSxpLmUoMTU1MjYpLGkuZSg5MzQxNiksaS5lKDM3NzY3KSxpLmUoMzI2MzIpLGkuZSgzNTE5OCksaS5lKDQ2NTkxKSxpLmUoOTQwNTQpLGkuZSg1MDYyMiksaS5lKDM4ODY4KSxpLmUoNTkzNTApLGkuZSgyMDk4NiksaS5lKDMyMzg3KSxpLmUoNDQ3ODApLGkuZSg3NTkzMCksaS5lKDg1OTc0KV0pLnRoZW4oaS5iaW5kKGksNzMwODQxKSk7cmV0dXJuIGw9ZS5pc1NpZ25Nb2RhbE9wZW4sZS5zaG93U2lnbk1vZGFsKG4pfX1mdW5jdGlvbiBoKCl7cmV0dXJuIGwoKX1uLm9uZVRhcFNpZ25Nb2RhbERlbGVnYXRlLnN1YnNjcmliZShudWxsLGMpfSwxNDE2NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LGkpe2NvbnN0IHM9ZS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czooZS5zZXQodCxpKSxpKX1mdW5jdGlvbiBuKGUsdCxpKXtjb25zdCBzPWUuZ2V0KHQpO2lmKHZvaWQgMCE9PXMpcmV0dXJuIHM7Y29uc3Qgbj1pKCk7cmV0dXJuIGUuc2V0KHQsbiksbn1mdW5jdGlvbiByKGUsdCxpLG4pe2NvbnN0IHI9cyhlLHQsbmV3IE1hcCk7cmV0dXJuIHMocixpLG4pfWZ1bmN0aW9uIG8oZSx0LGkscil7cmV0dXJuIG4ocyhlLHQsbmV3IE1hcCksaSxyKX0KZnVuY3Rpb24gYShlLHQsaSxuLHIpe2NvbnN0IG89cyhlLHQsbmV3IE1hcCksYT1zKG8saSxuZXcgTWFwKTtyZXR1cm4gcyhhLG4scil9aS5kKHQse0Fic3RyYWN0TWFwQ29udGFpbmVyOigpPT5sLGdldERlZmF1bHQyOigpPT5yLGdldERlZmF1bHQyTGF6eTooKT0+byxnZXREZWZhdWx0MzooKT0+YX0pO2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9tYXA9bmV3IE1hcCx0aGlzLl9zaXplPTB9c2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCksdGhpcy5fc2l6ZT0wfX19LDI2MDY5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xJTkVTVFlMRV9EQVNIRUQ6KCk9PnIsTElORVNUWUxFX0RPVFRFRDooKT0+bixMSU5FU1RZTEVfU09MSUQ6KCk9PnMsTElORVNUWUxFX1NQQVJTRV9ET1RURUQ6KCk9Pm99KTtjb25zdCBzPTAsbj0xLHI9MixvPTR9LDUxNzI5MyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDaXJjdWxhckNhY2hlQnVmZmVyOigpPT5vfSk7dmFyIHMsbj1pKDEzODYzOCk7ZnVuY3Rpb24gcihlKXtjb25zdHtwcmV2SXRlbTp0LG5leHRJdGVtOml9PWU7bnVsbCE9PXQmJih0Lm5leHRJdGVtPWkpLG51bGwhPT1pJiYoaS5wcmV2SXRlbT10KX0hZnVuY3Rpb24oZSl7ZVtlLkNhcGFjaXR5RmFjdG9yPTEuM109IkNhcGFjaXR5RmFjdG9yIn0oc3x8KHM9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKGU9MCx0PTEuMyl7dGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9sYXN0SXRlbT1udWxsLHRoaXMuX2ZpcnN0SXRlbT1udWxsLHRoaXMuX3NpemU9ZSx0aGlzLl9zaXplTGltaXRlZD1lPjAsdGhpcy5fY2FwYWNpdHlGYWN0b3I9dH1zZXQoZSx0KXtjb25zdCBpPXtrZXk6ZSx2YWx1ZTp0LHByZXZJdGVtOnRoaXMuX2xhc3RJdGVtLG5leHRJdGVtOm51bGx9O251bGwhPT10aGlzLl9sYXN0SXRlbSYmKHRoaXMuX2xhc3RJdGVtLm5leHRJdGVtPWkpO2NvbnN0IHM9dGhpcy5fY2FjaGUuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT1zJiYocihzKSxzPT09dGhpcy5fZmlyc3RJdGVtJiYodGhpcy5fZmlyc3RJdGVtPXMubmV4dEl0ZW0pKSx0aGlzLl9jYWNoZS5zZXQoZSxpKSx0aGlzLl9sYXN0SXRlbT1pLG51bGw9PT10aGlzLl9maXJzdEl0ZW0mJih0aGlzLl9maXJzdEl0ZW09aSksdGhpcy5fc2l6ZUxpbWl0ZWQmJnRoaXMuX2NhY2hlLnNpemU+dGhpcy5fc2l6ZSp0aGlzLl9jYXBhY2l0eUZhY3RvciYmdGhpcy5fcmVtb3ZlRXh0cmFJdGVtcygpLHRoaXN9aGFzKGUpe3JldHVybiB0aGlzLl9jYWNoZS5oYXMoZSl9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fY2FjaGUuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuIHQ7aWYodD09PXRoaXMuX2ZpcnN0SXRlbSYmKHRoaXMuX2ZpcnN0SXRlbT10Lm5leHRJdGVtPz90KSx0IT09dGhpcy5fbGFzdEl0ZW0pe3IodCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xhc3RJdGVtKTtlLm5leHRJdGVtPXQsdC5wcmV2SXRlbT1lLHQubmV4dEl0ZW09bnVsbCx0aGlzLl9sYXN0SXRlbT10fXJldHVybiB0LnZhbHVlfWNsZWFyKCl7dGhpcy5fY2FjaGUuY2xlYXIoKSx0aGlzLl9maXJzdEl0ZW09bnVsbCx0aGlzLl9sYXN0SXRlbT1udWxsfWRlbGV0ZShlKXtjb25zdCB0PXRoaXMuX2NhY2hlLmdldChlKTtyZXR1cm4gdm9pZCAwIT09dCYmKHIodCksdD09PXRoaXMuX2xhc3RJdGVtJiYodGhpcy5fbGFzdEl0ZW09dC5wcmV2SXRlbSksdD09PXRoaXMuX2ZpcnN0SXRlbSYmKHRoaXMuX2ZpcnN0SXRlbT10Lm5leHRJdGVtKSksdGhpcy5fY2FjaGUuZGVsZXRlKGUpfSplbnRyaWVzKCl7aWYobnVsbCE9PXRoaXMuX2ZpcnN0SXRlbSlmb3IobGV0IGU9dGhpcy5fZmlyc3RJdGVtO251bGwhPT1lO2U9ZS5uZXh0SXRlbSl5aWVsZFtlLmtleSxlLnZhbHVlXX1zdGF0ZSgpe2NvbnN0IGU9W107Zm9yKGNvbnN0W3QsaV1vZiB0aGlzLmVudHJpZXMoKSllLnB1c2goW3QsaV0pO3JldHVybiBlfXJlc3RvcmVTdGF0ZShlKXtmb3IoY29uc3QgdCBvZiBlKXRoaXMuc2V0KHRbMF0sdFsxXSl9X3JlbW92ZUV4dHJhSXRlbXMoKXtjb25zdCBlPXRoaXMuX2NhY2hlLnNpemUtdGhpcy5fc2l6ZTtsZXQgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2ZpcnN0SXRlbSk7Zm9yKGxldCBpPTA7aTxlO2krPTEpdGhpcy5fY2FjaGUuZGVsZXRlKHQua2V5KSx0PSgwLG4uZW5zdXJlTm90TnVsbCkodC5uZXh0SXRlbSk7dC5wcmV2SXRlbT1udWxsLHRoaXMuX2ZpcnN0SXRlbT10fX19LDIyMzU1NihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthdmFpbGFibGVUaW1lem9uZXM6KCk9PmwsdGltZXpvbmVJc0F2YWlsYWJsZTooKT0+ZCx0aW1lem9uZVRpdGxlOigpPT51fSk7dmFyIHM9aSg5MTQ3NzUpLG49aSgxODUyNzEpO2NvbnN0IHI9W3tpZDoiRXRjL1VUQyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDkxMjI1NSkpfX0se2lkOiJleGNoYW5nZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgyNjYwNykpfX1dLG89W3tpZDoiQWZyaWNhL0NhaXJvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzUxODQyKSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9DYXNhYmxhbmNhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjUyNDIyKSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9Kb2hhbm5lc2J1cmciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyNzAzMzApKX0sb2Zmc2V0OjB9LHtpZDoiQWZyaWNhL0xhZ29zIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTUwNTE2KSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9OYWlyb2JpIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTI0OTM0KSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9UdW5pcyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMwNzI0OCkpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0FuY2hvcmFnZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgyNzkwMikpfSxvZmZzZXQ6MH0sewppZDoiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjE0MTQ0KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvQm9nb3RhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTAzMzUzKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvQ2FyYWNhcyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3MjQyNykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0NoaWNhZ28iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg4MjE0NDgpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9FbF9TYWx2YWRvciIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ1MTQ0NykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0hhbGlmYXgiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1ODIzODYpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9KdW5lYXUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDI2MzEpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9MaW1hIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTU3NTAwKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvTG9zX0FuZ2VsZXMiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MDg0MjYpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9NZXhpY29fQ2l0eSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDg3NDYwNykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL05ld19Zb3JrIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjU4MTE3KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvUGhvZW5peCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMzMTk1OSkpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL1NhbnRpYWdvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTE0MTU2KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvU2FvX1BhdWxvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTU1NDMwKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvVG9yb250byIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDE2MzY3MikpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL1ZhbmNvdXZlciIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU5MTMyKSl9LG9mZnNldDowfSx7aWQ6IlVTL01vdW50YWluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODg5NTI5KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQWxtYXR5IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDk1NzAzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQXNoa2hhYmFkIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzE5MDQ0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQmFocmFpbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3ODY2NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0Jhbmdrb2siLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg5NzM1NzQpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9DaG9uZ3FpbmciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDk2MzIpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9Db2xvbWJvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjA1MDkxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvRGhha2EiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgzNjA2OTApKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9EdWJhaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ3MzI3NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0hvX0NoaV9NaW5oIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDYyNzAyKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSG9uZ19Lb25nIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTgyMTk3KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSmFrYXJ0YSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMzMTMwKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSmVydXNhbGVtIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNzA0ODMxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS2FyYWNoaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU4NTQ0MikpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0thYnVsIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDgwNTUzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS2F0aG1hbmR1IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjgyNDcpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9Lb2xrYXRhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjg4NjUxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS3VhbGFfTHVtcHVyIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzQ3MDY0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS3V3YWl0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzk1MTMwKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTWFuaWxhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzYxNDQ1KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTXVzY2F0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODI1NDE0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTmljb3NpYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDI3NjU0NykpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1FhdGFyIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTMzNzUzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvUml5YWRoIixnZXQgdGl0bGUoKXsKcmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc4MDk1KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvU2VvdWwiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0NDQ0MTgpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9TaGFuZ2hhaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3ODgzMSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1NpbmdhcG9yZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDY0Mzc5NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1RhaXBlaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ3NjAyNikpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1RlaHJhbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc0Mjk4KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvVG9reW8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg3OTgxOTkpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9ZYW5nb24iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxNzczNTQpKX0sb2Zmc2V0OjB9LHtpZDoiQXRsYW50aWMvQXpvcmVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzg0OTY0KSl9LG9mZnNldDowfSx7aWQ6IkF0bGFudGljL1JleWtqYXZpayIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc1Mzg1OCkpfSxvZmZzZXQ6MH0se2lkOiJBdXN0cmFsaWEvQWRlbGFpZGUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1MDE1MDIpKX0sb2Zmc2V0OjB9LHtpZDoiQXVzdHJhbGlhL0JyaXNiYW5lIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODkwNjg5KSl9LG9mZnNldDowfSx7aWQ6IkF1c3RyYWxpYS9QZXJ0aCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM1MDEwOCkpfSxvZmZzZXQ6MH0se2lkOiJBdXN0cmFsaWEvU3lkbmV5IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTc5OTM0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9BbXN0ZXJkYW0iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMTM0NykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQXRoZW5zIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTg0MTcxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CZWxncmFkZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgwODM3NykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQmVybGluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTIzMTI0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CcmF0aXNsYXZhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTQ4ODI0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CcnVzc2VscyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM4NTkyNikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQnVjaGFyZXN0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNjY0NTMxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CdWRhcGVzdCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU5MDI0MykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQ29wZW5oYWdlbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM2Njk1MikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvRHVibGluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDMwODY4KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9IZWxzaW5raSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDYxNTE0MCkpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvSXN0YW5idWwiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDc3OTgpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL0xpc2JvbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDUwNzIpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL0xqdWJsamFuYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQyMjAwNykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvTG9uZG9uIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjQ2NTA3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9MdXhlbWJvdXJnIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTc1NDQ3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9NYWRyaWQiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MzE4OTIpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL01hbHRhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTYzMjM3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9Nb3Njb3ciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0NDYwNzQpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL09zbG8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg4NDk3MzgpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1BhcmlzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNjE3ODc0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9QcmFndWUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1NDQ0MDMpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1JpZ2EiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMjk2NDMpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1JvbWUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMjU5OTEpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1NvZmlhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTA0MzEpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1N0b2NraG9sbSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDI1NTUxMSkpfSwKb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1RhbGxpbm4iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg2NTIxNzYpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1ZpZW5uYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDYxNDQyKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9WaWxuaXVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTAwMzAxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9XYXJzYXciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxNjQ3MzYpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1phZ3JlYiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc5MjM4NikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvWnVyaWNoIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDczNDk2KSl9LG9mZnNldDowfSx7aWQ6IlBhY2lmaWMvQXVja2xhbmQiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MjE2KSl9LG9mZnNldDowfSx7aWQ6IlBhY2lmaWMvQ2hhdGhhbSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgxODg0NikpfSxvZmZzZXQ6MH0se2lkOiJQYWNpZmljL0Zha2FvZm8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxMDQxNzcpKX0sb2Zmc2V0OjB9LHtpZDoiUGFjaWZpYy9Ib25vbHVsdSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDg5OTc5MSkpfSxvZmZzZXQ6MH0se2lkOiJQYWNpZmljL05vcmZvbGsiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg5Njc0MTIpKX0sb2Zmc2V0OjB9XTtmdW5jdGlvbiBhKGUsdCxpKXtjb25zdCBuPWZ1bmN0aW9uKGUpe3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e2lkOnR9PWUse3N0cmluZzppLG9mZnNldDpufT0oMCxzLnBhcnNlVHpPZmZzZXQpKHQpO3JldHVybntpZDp0LG9mZnNldDpuLGdldCB0aXRsZSgpe3JldHVybmAoJHtpfSkgJHtlLnRpdGxlfWB9fX0pKX0oZSkscj1pLmZpbHRlcigoKHthbGlhczplfSk9PkJvb2xlYW4oZSkpKS5tYXAoKGU9Pntjb25zdHthbGlhczp0LGlkOml9PWUse3N0cmluZzpuLG9mZnNldDpyfT0oMCxzLnBhcnNlVHpPZmZzZXQpKHQpO3JldHVybntpZDppLG9mZnNldDpyLGdldCB0aXRsZSgpe3JldHVybmAoJHtufSkgJHtlLnRpdGxlfWB9LGFsaWFzOnR9fSkpLG89ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29ydCgoKGUsdCk9Pntjb25zdCBpPWUub2Zmc2V0LXQub2Zmc2V0O3JldHVybiAwIT09aT9pOmUudGl0bGUubG9jYWxlQ29tcGFyZSh0LnRpdGxlKX0pKX0obi5jb25jYXQocikpO3JldHVybiB0LmNvbmNhdChvKX1jb25zdCBsPWEobyxyLFtdKSxjPW5ldyBNYXA7bC5mb3JFYWNoKChlPT57Yy5zZXQoZS5pZCwhMCl9KSk7Y29uc3QgaD1uZXcgTWFwO3IuY29uY2F0KG8pLmZvckVhY2goKGU9PntoLnNldChlLmlkLCEwKX0pKTtmdW5jdGlvbiBkKGUpe3JldHVybiBjLmhhcyhlKX1mdW5jdGlvbiB1KGUpe2Zvcihjb25zdHtpZDp0LHRpdGxlOml9b2YgbylpZih0PT09ZSl7cmV0dXJuYCR7aX0gKCR7KDAscy5wYXJzZVR6T2Zmc2V0KShlKS5zdHJpbmd9KWB9Zm9yKGNvbnN0e2lkOnQsdGl0bGU6aX1vZiBsKWlmKHQ9PT1lKXJldHVybmAke2l9YDtyZXR1cm4gZX19LDg4NDI4KGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7SG9yaXpvbnRhbEFsaWduOigpPT5zLFZlcnRpY2FsQWxpZ246KCk9Pm59KSxmdW5jdGlvbihlKXtlLkxlZnQ9ImxlZnQiLGUuUmlnaHQ9InJpZ2h0IixlLkNlbnRlcj0iY2VudGVyIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlRvcD0idG9wIixlLkJvdHRvbT0iYm90dG9tIixlLk1pZGRsZT0ibWlkZGxlIn0obnx8KG49e30pKX0sOTM3MDk4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZWNvbm9taWMiPT09ZX1pLmQodCx7aXNOb25UcmFkYWJsZVN5bWJvbFR5cGU6KCk9PnN9KX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0saT1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpyfSx7cGF0dGVybjoiKSIsY3RvcjpvfSx7cGF0dGVybjoiKyIsY3RvcjpsfSx7cGF0dGVybjoiLSIsY3RvcjpjfSx7cGF0dGVybjoiKiIsY3RvcjpofSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3Rvcjp1fSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmd9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp2fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7cGF0dGVybjovJ1teJ10qLyxjdG9yOlN9LHtwYXR0ZXJuOi9bXDAtXHgyMFxzXSsvLGN0b3I6bn1dO2Z1bmN0aW9uIGkoZSx0KXt2YXIgaT1mdW5jdGlvbigpe307cmV0dXJuIGkucHJvdG90eXBlPXQucHJvdG90eXBlLGUucHJvdG90eXBlPW5ldyBpLGV9ZnVuY3Rpb24gcygpe31mdW5jdGlvbiBuKGUpe3RoaXMudmFsdWU9ZX1mdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8oKXt9ZnVuY3Rpb24gYSgpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIGMoKXt9ZnVuY3Rpb24gaCgpe31mdW5jdGlvbiBkKCl7fQpmdW5jdGlvbiB1KCl7fXMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LGkobixzKSxpKHIscyksci5wcm90b3R5cGUudmFsdWU9IigiLGkobyxzKSxvLnByb3RvdHlwZS52YWx1ZT0iKSIsaShhLHMpLGkobCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iKyIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLGkoYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iLSIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLGkoaCxhKSxoLnByb3RvdHlwZS52YWx1ZT0iKiIsaC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGgucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLGkoZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLGkodSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iXiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBwPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLF89L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGcoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGYoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIFMoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB2KCl7Zy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9aShtLHMpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1fLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9cC5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LGk9MjtpPj0xOy0taSl7dmFyIHM9dGhpcy5fdGlja2VyLnNsaWNlKDAsaSk7aWYoZShzKSl7dGhpcy5fcm9vdD1zLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShpKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0saShnLHMpLGcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0sZy5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0sZi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0saShTLG0pLFMucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCxTLnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxpKHYsZyksdi5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciB5PW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpO2Z1bmN0aW9uIGIodCxpKXt2YXIgcyxyPVtdO2U6Zm9yKDtzPXkuZXhlYyh0KTspe2Zvcih2YXIgbz1lLmxlbmd0aDtvLS07KWlmKHNbbysxXSl7aWYoZVtvXS5jdG9yKXt2YXIgYT1uZXcgZVtvXS5jdG9yKHNbbysxXSk7YS5fb2Zmc2V0PXMuaW5kZXgsci5wdXNoKGEpfWNvbnRpbnVlIGV9dmFyIGw9bmV3IGYoc1swXSk7bC5fb2Zmc2V0PXMuaW5kZXgsci5wdXNoKGwpfWlmKGkmJmkucmVjb3Zlcil7dmFyIGM7Zm9yKG89ci5sZW5ndGg7by0tOyl7dmFyIGg9cltvXQo7aWYoaCBpbnN0YW5jZW9mIGd8fGggaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1jKXt2YXIgZD1uZXcgbSgiIiksdT1yLnNwbGljZShvLGMtbysxLGQpO2QudmFsdWU9dS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWM9b31lbHNlIGggaW5zdGFuY2VvZiBufHwoYz12b2lkIDApfX1yZXR1cm4gcn1mdW5jdGlvbiB3KGUpe2Zvcih2YXIgdD1bXSxpPTA7aTxlLmxlbmd0aDtpKyspZVtpXWluc3RhbmNlb2Ygbnx8dC5wdXNoKGVbaV0pO3JldHVybiB0fWZ1bmN0aW9uIEMoZSl7ZT13KGUpO2Zvcih2YXIgdCxpPVtdLHM9W10sbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgbD1lW25dO2lmKGwgaW5zdGFuY2VvZiBhKXMubGVuZ3RoJiZzW3MubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+bC5wcmVjZWRlbmNlJiYoc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWwucHJlY2VkZW5jZSk7ZWxzZSBpZihsIGluc3RhbmNlb2YgcilzLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6bn0pO2Vsc2UgaWYobCBpbnN0YW5jZW9mIG8pe3ZhciBjPWVbKHQ9cy5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0saD1lW24rMV07aCBpbnN0YW5jZW9mIGEmJiEoaC5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEoYyBpbnN0YW5jZW9mIGEpfHxjLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxjLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmMuY29tbXV0YXRpdmUpfHwoaS51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLGkucHVzaChuKSxzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKG49aS5sZW5ndGg7bi0tOyllLnNwbGljZShpW25dLDEpO3JldHVybiBlfWZ1bmN0aW9uIFAoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPWIoZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1QKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm4oZT1QKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOmIsdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixpPSJ2YXIiLHM9dCxsPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sYz1bXSxoPTA7aDxlLmxlbmd0aDtoKyspe2lmKCEoKHU9ZVtoXSlpbnN0YW5jZW9mIG4pKXtpZihkZWxldGUgbC5pc0VtcHR5LHUuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX07aWYodS5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnUuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGwud2FybmluZ3MucHVzaChkKSxoIT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYodSBpbnN0YW5jZW9mIG18fHUgaW5zdGFuY2VvZiBnKXtpZihzPT09aSl7bC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6dS5fb2Zmc2V0LHRva2VuOnV9KTtjb250aW51ZX1zPWl9ZWxzZSBpZih1IGluc3RhbmNlb2YgYSl7aWYocyE9PWkpe2wuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnUuX29mZnNldCx0b2tlbjp1fSk7Y29udGludWV9cz0ib3BlcmF0b3IifWVsc2UgaWYodSBpbnN0YW5jZW9mIHIpe2lmKHM9PT1pKXtsLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX0pO2NvbnRpbnVlfWMucHVzaCh1KSxzPXR9ZWxzZSBpZih1IGluc3RhbmNlb2Ygbyl7aWYocyE9PWkpe2wuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnUuX29mZnNldCx0b2tlbjp1fSk7Y29udGludWV9Yy5wb3AoKXx8bC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6dS5fb2Zmc2V0LHRva2VuOnUscmVjb3Zlcjp7cHJlcGVuZDpuZXcgcn19KSxzPWl9ZWxzZSB1IGluc3RhbmNlb2YgZiYmbC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX0pfX1mb3IobC5icmFjZUJhbGFuY2U9Yy5sZW5ndGgscyE9PWkmJmwud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2MubGVuZ3RoOyl7dmFyIHU7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoodT1jLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnV9O3M9PT1pJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IG99KSxsLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGwuY3VycmVudFN0YXRlPXMsMD09PWwud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgbC53YXJuaW5ncywwPT09bC5lcnJvcnMubGVuZ3RoJiZkZWxldGUgbC5lcnJvcnMsbH0sZmFjdG9yT3V0QnJhY2VzOkMsbm9ybWFsaXplVG9rZW5zOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0ucGFyc2UmJmVbdF0ucGFyc2UoKTtyZXR1cm4gZX0sZmxpcDpmdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlKXtmb3IodmFyIHQsaT0wLHM9MSxsPTIsYz0zLGg9aSx1PTAscD0wO3A8ZS5sZW5ndGg7cCsrKXt2YXIgXz1lW3BdCjtpZighKF8gaW5zdGFuY2VvZiBuKSlzd2l0Y2goaCl7Y2FzZSBpOmlmKCEoXyBpbnN0YW5jZW9mIGcmJjE9PStfLnZhbHVlKSlyZXR1cm4hMTtoPXM7YnJlYWs7Y2FzZSBzOmlmKCEoaD09PXMmJl8gaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTtoPWwsdD1wKzE7YnJlYWs7Y2FzZSBsOmlmKF8gaW5zdGFuY2VvZiByKWg9Yyx1PTE7ZWxzZSBpZihfIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGM6XyBpbnN0YW5jZW9mIHI/dSsrOl8gaW5zdGFuY2VvZiBvJiYtLXU8PTAmJihoPWwpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIEModHx8W25ldyBnKCIxIiksbmV3IGQsbmV3IHJdLmNvbmNhdChlKS5jb25jYXQobmV3IG8pKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIHgoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4geChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiB4KGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6UCxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjpTLE51bWJlclRva2VuOmcsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOnIsQ2xvc2VCcmFjZVRva2VuOm8sdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1DKHcoYihlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLE0odCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIE0oQyh3KGIoZSkpKSl9fX0oKTtlLmV4cG9ydHM9aX0sODc0MzA2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1ZlcnNpb246KCk9Pm59KTt2YXIgcz1pKDEzODYzOCk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21ham9yPWUsdGhpcy5fbWlub3I9dH1tYWpvcigpe3JldHVybiB0aGlzLl9tYWpvcn1taW5vcigpe3JldHVybiB0aGlzLl9taW5vcn1pc1plcm8oKXtyZXR1cm4gMD09PXRoaXMuX21ham9yJiYwPT09dGhpcy5fbWlub3J9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5fbWFqb3IrIi4iK3RoaXMuX21pbm9yfWNvbXBhcmVUbyhlKXtyZXR1cm4gdGhpcy5fbWFqb3I8ZS5fbWFqb3I/LTE6dGhpcy5fbWFqb3I+ZS5fbWFqb3I/MTp0aGlzLl9taW5vcjxlLl9taW5vcj8tMTp0aGlzLl9taW5vcj5lLl9taW5vcj8xOjB9aXNMZXNzKGUpe3JldHVybiB0aGlzLmNvbXBhcmVUbyhlKTwwfWlzTGVzc09yRXF1YWwoZSl7cmV0dXJuIHRoaXMuY29tcGFyZVRvKGUpPD0wfWlzRXF1YWwoZSl7cmV0dXJuIDA9PT10aGlzLmNvbXBhcmVUbyhlKX1pc0dyZWF0ZXIoZSl7cmV0dXJuIHRoaXMuY29tcGFyZVRvKGUpPjB9aXNHcmVhdGVyT3JFcXVhbChlKXtyZXR1cm4gdGhpcy5jb21wYXJlVG8oZSk+PTB9c3RhdGljIHBhcnNlKGUpe2lmKGUgaW5zdGFuY2VvZiBuKXJldHVybiBuZXcgbihlLm1ham9yKCksZS5taW5vcigpKTtpZigibnVtYmVyIj09dHlwZW9mIGUpcmV0dXJuKDAscy5hc3NlcnQpKE1hdGguZmxvb3IoZSk9PT1lLCJWZXJzaW9uIHNob3VsZCBub3QgYmUgYSBmbG9hdCBudW1iZXIiKSxuZXcgbihlLDApO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1lLnNwbGl0KCIuIik7aWYoMT09PXQubGVuZ3RoKXtjb25zdCBpPXBhcnNlSW50KHRbMF0sMTApO3JldHVybigwLHMuYXNzZXJ0KSghaXNOYU4oaSksIkJhZCB2ZXJzaW9uIHN0cmluZzogIitlKSxuZXcgbihpLDApfWlmKDI9PT10Lmxlbmd0aCl7Y29uc3QgaT1wYXJzZUludCh0WzBdLDEwKTsoMCxzLmFzc2VydCkoIWlzTmFOKGkpLCJCYWQgdmVyc2lvbiBzdHJpbmc6ICIrZSk7Y29uc3Qgcj1wYXJzZUludCh0WzFdLDEwKTtyZXR1cm4oMCxzLmFzc2VydCkoIWlzTmFOKHIpLCJCYWQgdmVyc2lvbiBzdHJpbmc6ICIrZSksbmV3IG4oaSxyKX10aHJvdyBuZXcgRXJyb3IoIkJhZCB2ZXJzaW9uIHN0cmluZyAob25lIGRvdCBleHBlY3RlZCk6ICIrZSl9dGhyb3cgbmV3IEVycm9yKCJCYWQgdmVyc2lvbjogIitlKX19bi5aRVJPPW5ldyBuKDAsMCl9LDE1OTUxMyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBzPWkoOTI3NTkzKSxuPWkoNzU1NjI3KSxyPWkoMTUwMTUwKTtjb25zdCBvPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiBvW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtvW2VdPXR9KGUsbmV3IHMuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmxbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyBjKGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgaChlKS5zbmFwc2hvdH19KSksb1tlXX1jb25zdCBsPXsKc2ltcGxlOlsiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJsb2dvIiwiY2giLCJjaHAiLCJjdXJyZW5jeS1sb2dvaWQiLCJjdXJyZW5jeV9jb2RlIiwiY3VycmVuY3lfaWQiLCJiYXNlX2N1cnJlbmN5X2lkIiwiY3VycmVudF9zZXNzaW9uIiwiZGVzY3JpcHRpb24iLCJleGNoYW5nZSIsImZvcm1hdCIsImZyYWN0aW9uYWwiLCJpc190cmFkYWJsZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsaXN0ZWRfZXhjaGFuZ2UiLCJsb2dvaWQiLCJscCIsImxwX3RpbWUiLCJtaW5tb3YiLCJtaW5tb3ZlMiIsIm9yaWdpbmFsX25hbWUiLCJwcmljZXNjYWxlIiwicHJvX25hbWUiLCJzaG9ydF9uYW1lIiwidHlwZSIsInR5cGVzcGVjcyIsInVwZGF0ZV9tb2RlIiwidm9sdW1lIiwidmFyaWFibGVfdGlja19zaXplIiwidmFsdWVfdW5pdF9pZCIsInVuaXRfaWQiLCJtZWFzdXJlIl19O2wuc2ltcGxlRGV0YWlsZWQ9Wy4uLmwuc2ltcGxlLCJhc2siLCJiaWQiLCJmdW5kYW1lbnRhbHMiLCJoaWdoX3ByaWNlIiwiaXNfdHJhZGFibGUiLCJsb3dfcHJpY2UiLCJvcGVuX3ByaWNlIiwicHJldl9jbG9zZV9wcmljZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsInN0YXR1cyIsImJhc2ljX2Vwc19uZXRfaW5jb21lIiwiYmV0YV8xX3llYXIiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwiaW5kdXN0cnkiLCJtYXJrZXRfY2FwX2Jhc2ljIiwicHJpY2VfZWFybmluZ3NfdHRtIiwic2VjdG9yIiwidm9sdW1lIiwiZGl2aWRlbmRzX3lpZWxkIiwidGltZXpvbmUiXSxsLmZ1bGw9W10sbC53YXRjaGxpc3Q9Wy4uLmwuc2ltcGxlLCJyY2hwIiwibmNocCIsInJ0YyIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwiZGl2aWRlbmRzX2F2YWlsYWJpbGl0eSIsImZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5IiwiZWFybmluZ3NfYXZhaWxhYmlsaXR5Il0sbC5wb3J0Zm9saW89WyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInNlY3RvciIsInR5cGUiLCJ0eXBlc3BlY3MiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImNoIiwiY2hwIiwibG9nbyIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImxwIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwicHJpY2VzY2FsZSIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9jYWxjIiwibWFya2V0X2NhcF9iYXNpYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsImZvcm1hdCIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGwubm90ZXM9WyJzaG9ydF9uYW1lIiwicHJvX25hbWUiLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIl0sbC5lc3RpbWF0ZXM9WyJmdW5kYW1lbnRhbF9kYXRhIiwidHlwZSIsInR5cGVzcGVjcyIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X3N5bWJvbF9jdXJyZW5jeV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9hbGlnbmVkX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sbC5lY29ub21pYz1bInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImxwIiwiY3VycmVuY3lfY29kZSIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGwub3B0aW9ucz1bImFzayIsImJpZCIsImxwIiwidm9sdW1lIiwiY2giLCJjaHAiXTtjbGFzcyBje2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlPXt9LHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzPXt9LHRoaXMuZm9ybWF0dGVyPShlLHQpPT57aWYodGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV0pcmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdO2Z1bmN0aW9uIGkoZSl7Y29uc3QgaT10JiYhZS5mcmFjdGlvbmFsPzE6ZS5taW5tb3Y7cmV0dXJuIG5ldyBuLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZSxtaW5Nb3ZlOmksZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pfWNvbnN0IHM9bmV3IFByb21pc2UoKCh0LHMpPT57aWYodGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pdChpKHRoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlW2VdKSk7ZWxzZXtjb25zdCBuPSgwLHIuZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUobixbZV0sKHI9PnsiZXJyb3IiPT09ci5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1udWxsLHMoIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KHIudmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09ci52YWx1ZXMsdChpKHIudmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUobixlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1zLHN9LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGh7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSwKdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90PXt9LHRoaXMuc25hcHNob3Q9ZT0+e2lmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXSlyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdO2NvbnN0IHQ9bmV3IFByb21pc2UoKCh0LGkpPT57aWYodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSl0KHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV0pO2Vsc2V7Y29uc3Qgcz0oMCxyLmd1aWQpKCk7dGhpcy5fbXVsdGlwbGV4ZXIuc3Vic2NyaWJlKHMsW2VdLChuPT57ImVycm9yIj09PW4uc3RhdHVzJiYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPW51bGwsaSgiUXVvdGVzIHNuYXBzaG90IGlzIG5vdCByZWNlaXZlZCIpKTtjb25zdCByPW4udmFsdWVzO3ImJnIubWlubW92JiZyLnByaWNlc2NhbGUmJnIuZGVzY3JpcHRpb24mJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCx0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdPXIsdChyKSx0aGlzLl9tdWx0aXBsZXhlci51bnN1YnNjcmliZShzLGUpKX0pKX19KSk7cmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT10LHR9LHRoaXMuX211bHRpcGxleGVyPWV9fSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93LmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlPWEpfSw1Njk4NDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y3JlYXRlQWxpYXNTeW1ib2xJbmZvV1Y6KCk9PnUsY3JlYXRlU3ltYm9sT3JBbGlhc1dWOigpPT5wLGdldFN5bWJvbEFsaWFzU2VydmljZTooKT0+ZH0pO3ZhciBzPWkoNjAxODQxKSxuPWkoOTMwNTY2KSxyPWkoOTQ4MzgwKSxvPWkoOTUyOTAwKSxhPWkoMjQxOTU2KTtmdW5jdGlvbiBsKGUpe3JldHVybiJTeW1ib2xBbGlhc1NlcnZpY2UiKyhlP2BfJHtlfWA6IiIpfWNsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fb25DaGFuZ2VkPW5ldyByLkRlbGVnYXRlO2NvbnN0IHQ9ZS5zdGF0ZT8/bi5nZXRKU09OKGwoZT8uaWQpKT8/W107dGhpcy5fYWxpYXNlc0J5UHJvTmFtZT1uZXcgTWFwKHQpLHRoaXMuX2FsaWFzZXNCeU5hbWU9bmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2FsaWFzZXNCeVByb05hbWUudmFsdWVzKCkpLm1hcCgoZT0+W2UuYWxpYXNOYW1lLGVdKSkpLHRoaXMuX2NvbnRleHQ9ZX1nZXRBbGxBbGlhc2VzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS52YWx1ZXMoKSl9Z2V0QWxpYXNCeVByb05hbWUoZSl7cmV0dXJuIHRoaXMuX2FsaWFzZXNCeVByb05hbWUuZ2V0KGUpPz9udWxsfWdldEFsaWFzQnlOYW1lKGUpe3JldHVybiB0aGlzLl9hbGlhc2VzQnlOYW1lLmdldChlKT8/bnVsbH1hZGRBbGlhcyhlKXtpZih0aGlzLl9hbGlhc2VzQnlOYW1lLmhhcyhlLmFsaWFzTmFtZSkpdGhyb3cgbmV3IEVycm9yKGBBbGlhcyAke2UuYWxpYXNOYW1lfSBhbHJlYWR5IGV4aXN0c2ApO2lmKHRoaXMuX2FsaWFzZXNCeVByb05hbWUuaGFzKGUuc3ltYm9sUHJvTmFtZSkpdGhyb3cgbmV3IEVycm9yKGBBbGlhcyBmb3Igc3ltYm9sICR7ZS5zeW1ib2xQcm9OYW1lfSBhbHJlYWR5IGV4aXN0c2ApO3RoaXMuX2FsaWFzZXNCeVByb05hbWUuc2V0KGUuc3ltYm9sUHJvTmFtZSxlKSx0aGlzLl9hbGlhc2VzQnlOYW1lLnNldChlLmFsaWFzTmFtZSxlKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLnN5bWJvbFByb05hbWUsZS5hbGlhc05hbWUsZSksdGhpcy5fc2F2ZSgpfXVwZGF0ZUFsaWFzKGUpe2NvbnN0IHQ9dGhpcy5fYWxpYXNlc0J5TmFtZS5nZXQoZS5hbGlhc05hbWUpO2lmKCF0KXRocm93IG5ldyBFcnJvcihgQWxpYXMgJHtlLmFsaWFzTmFtZX0gZG9lcyBub3QgZXhpc3RgKTtpZigic3ltYm9sUHJvTmFtZSJpbiBlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHVwZGF0ZSBhbGlhcyBwcm8gbmFtZSIpOygwLHMubWVyZ2UpKHQsZSksdGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5zZXQodC5zeW1ib2xQcm9OYW1lLHQpLHRoaXMuX2FsaWFzZXNCeU5hbWUuc2V0KHQuYWxpYXNOYW1lLHQpLHRoaXMuX29uQ2hhbmdlZC5maXJlKHQuc3ltYm9sUHJvTmFtZSx0LmFsaWFzTmFtZSx0KSx0aGlzLl9zYXZlKCl9cmVtb3ZlQWxpYXMoZSl7Y29uc3QgdD10aGlzLl9hbGlhc2VzQnlOYW1lLmdldChlKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoYEFsaWFzICR7ZX0gbm90IGZvdW5kYCk7dGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5kZWxldGUodC5zeW1ib2xQcm9OYW1lKSx0aGlzLl9hbGlhc2VzQnlOYW1lLmRlbGV0ZShlKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLHQuc3ltYm9sUHJvTmFtZSxudWxsKSx0aGlzLl9zYXZlKCl9b25BbGlhc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25DaGFuZ2VkfXN0YXRlKGUpe2NvbnN0IHQ9bmV3IFNldChlPz9bXSk7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5lbnRyaWVzKCkpLmZpbHRlcigoKFtpXSk9PiFlfHx0LmhhcyhpKSkpfV9zYXZlKCl7bi5zZXRKU09OKGwodGhpcy5fY29udGV4dD8uaWQpLEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5lbnRyaWVzKCkpKX19Y29uc3QgaD1uZXcgTWFwO2Z1bmN0aW9uIGQoZSl7Y29uc3QgdD1lPz97aWQ6IiJ9O2xldCBpPWguZ2V0KHQuaWQpO3JldHVybiBpfHwoaT1uZXcgYyh0KSksaC5zZXQodC5pZCxpKSxpfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gdD8oMCxvLmNvbWJpbmUpKCgoZSxpKT0+e2lmKCFlKXJldHVybiBudWxsO2NvbnN0IHM9dC5nZXRBbGlhc0J5UHJvTmFtZShlLnByb19uYW1lKTtyZXR1cm57Li4uZSxuYW1lOnM/LmFsaWFzTmFtZT8/ZS5uYW1lLGRlc2NyaXB0aW9uOnM/LmRlc2NyaXB0aW9uPz9lLmRlc2NyaXB0aW9uLGxvY2FsX2Rlc2NyaXB0aW9uOnM/LmRlc2NyaXB0aW9uPz9lLmxvY2FsX2Rlc2NyaXB0aW9uLC4uLnM/LmZvcm1hdHRpbmdPcHRpb25zfX0pLGUsKDAsYS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKChlPT4oZT8/MCkrMSksdC5vbkFsaWFzQ2hhbmdlZCgpKS5vd25lcnNoaXAoKSkub3duZXJzaGlwKCk6ZX1mdW5jdGlvbiBwKGUsdCxpKXtyZXR1cm4gaT8oMCxvLmNvbWJpbmUpKCgoZSx0LHMpPT57CmlmKCF0KXJldHVybiBlO2NvbnN0IG49aS5nZXRBbGlhc0J5UHJvTmFtZSh0LnByb19uYW1lKTtyZXR1cm4gbj8uYWxpYXNOYW1lPz9lfSksZSx0LCgwLGEuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoZT0+KGU/PzApKzEpLGkub25BbGlhc0NoYW5nZWQoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpOmV9fSw1ODU5MjcoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7U2NyaXB0VHlwZTooKT0+c30pLGZ1bmN0aW9uKGUpe2VbZS5JbmRpY2F0b3I9MV09IkluZGljYXRvciIsZVtlLlN0cmF0ZWd5PTJdPSJTdHJhdGVneSIsZVtlLkxpYnJhcnk9M109IkxpYnJhcnkifShzfHwocz17fSkpfSw2ODY1MTMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0UHVibGljYXRpb25UeXBlOigpPT5vLGltcG9ydEVudHJ5Q29tcG9uZW50OigpPT5hfSk7dmFyIHM9aSg1ODU5MjcpO2NvbnN0IG49bmV3IFNldChbcy5TY3JpcHRUeXBlLkluZGljYXRvcixzLlNjcmlwdFR5cGUuTGlicmFyeSxzLlNjcmlwdFR5cGUuU3RyYXRlZ3ksImluZGljYXRvciIsImxpYnJhcnkiLCJzdHJhdGVneSJdKTt2YXIgcjtmdW5jdGlvbiBvKHtpc1ZpZGVvOmUsaXNTY3JpcHQ6dCxzY3JpcHRUeXBlOml9KXtzd2l0Y2goITApe2Nhc2UgZTpyZXR1cm4idmlkZW8iO2Nhc2UgdDpjYXNlIG4uaGFzKGl8fCIiKTpyZXR1cm4ic2NyaXB0IjtkZWZhdWx0OnJldHVybiJpZGVhIn19YXN5bmMgZnVuY3Rpb24gYShlKXtzd2l0Y2goZSl7Y2FzZSJ2aWRlbyI6cmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMzE2NjEpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDk0OTQ4KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDk0MjMyKSxpLmUoMzI4MTYpLGkuZSg1MTg0KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDQwODM1KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSg3NDM4MSksaS5lKDUwMjIxKSxpLmUoMTU1MjYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDMyNzQ4KSxpLmUoMTY3NiksaS5lKDY2MjcwKSxpLmUoODMwNDEpLGkuZSg1MTY4MiksaS5lKDcxNDgyKSxpLmUoMzc3NjcpLGkuZSg5NzY2MCksaS5lKDQ2NTkxKSxpLmUoNzE1MjgpLGkuZSgzMzEyMCksaS5lKDQ0NzcpLGkuZSgxNTA5KSxpLmUoNTUzMzYpLGkuZSg5MjM5MyksaS5lKDIwMjcxKSxpLmUoOTE2NzgpLGkuZSgyNzczNiksaS5lKDgwNzMxKSxpLmUoNzYzMjkpLGkuZSg2OTc0NyksaS5lKDI3NTQ5KSxpLmUoNjI4MDYpLGkuZSg1MjkyMCksaS5lKDM4ODY4KSxpLmUoMTY0MjEpLGkuZSgxNDY0MCksaS5lKDQwNDIpLGkuZSgzNjM1NiksaS5lKDIyMTQ0KSxpLmUoODM1MjkpLGkuZSg1OTgzMCksaS5lKDU5NDM3KSxpLmUoNzA3NTYpLGkuZSg3NDU2KSxpLmUoMjk5NDMpLGkuZSg2Mjg5MiksaS5lKDIyNDY0KSxpLmUoODQzMzUpLGkuZSgyMDEzKSxpLmUoMzMxMCksaS5lKDU3NTYpLGkuZSg3NDQ2MSksaS5lKDgzMjYxKSxpLmUoMzIzODcpLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg4MTg2OCksaS5lKDIzNzQzKSxpLmUoODk0NiksaS5lKDQ4ODU0KSxpLmUoNjExODMpLGkuZSgxOTQ2MyksaS5lKDMwNDIxKSxpLmUoMjc5MTMpLGkuZSgyOTg0NCksaS5lKDk2MDc4KSxpLmUoMzM2NyksaS5lKDM4MDE2KSxpLmUoODY0MTMpXSkudGhlbihpLmJpbmQoaSwzMzYyMzgpKS50aGVuKChlPT5lLlB1YmxpY2F0aW9uVmlld1ZpZGVvKSk7Y2FzZSJzY3JpcHQiOgpyZXR1cm4gUHJvbWlzZS5hbGwoW2kuZSgxNDY5MyksaS5lKDg0MzA2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSg0MDgzNSksaS5lKDk4MDg0KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDQ5NTg4KSxpLmUoNDc2MzIpLGkuZSg3NDM4MSksaS5lKDUwMjIxKSxpLmUoMTU1MjYpLGkuZSg3MTQxNCksaS5lKDYxODIxKSxpLmUoNTczMDApLGkuZSg1MjY4MCksaS5lKDM1Nzk0KSxpLmUoMzI3NDgpLGkuZSgxNjc2KSxpLmUoNjYyNzApLGkuZSg5NzQ0KSxpLmUoODMwNDEpLGkuZSg1MTY4MiksaS5lKDcxNDgyKSxpLmUoMzc3NjcpLGkuZSgxOTUxMyksaS5lKDk3NjYwKSxpLmUoNDY1OTEpLGkuZSg3MTUyOCksaS5lKDMzMTIwKSxpLmUoNDQ3NyksaS5lKDE1MDkpLGkuZSg1NTMzNiksaS5lKDkyMzkzKSxpLmUoMjAyNzEpLGkuZSg5MTY3OCksaS5lKDI3NzM2KSxpLmUoODA3MzEpLGkuZSg3NjMyOSksaS5lKDY5NzQ3KSxpLmUoMjc1NDkpLGkuZSg2MjgwNiksaS5lKDUyOTIwKSxpLmUoMzg4NjgpLGkuZSgxNjQyMSksaS5lKDE0NjQwKSxpLmUoNDA0MiksaS5lKDM2MzU2KSxpLmUoMjIxNDQpLGkuZSg4MzUyOSksaS5lKDU5ODMwKSxpLmUoNTk0MzcpLGkuZSg3MDc1NiksaS5lKDc0NTYpLGkuZSgyOTk0MyksaS5lKDYyODkyKSxpLmUoMjI0NjQpLGkuZSg4NDMzNSksaS5lKDIwMTMpLGkuZSgzMzEwKSxpLmUoNTc1NiksaS5lKDI3NTEzKSxpLmUoMzIzODcpLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg4MTg2OCksaS5lKDIzNzQzKSxpLmUoNDIyODgpLGkuZSg3NzU3OCksaS5lKDg5NDYpLGkuZSg0ODg1NCksaS5lKDYxMTgzKSxpLmUoMTk0NjMpLGkuZSgzMDQyMSksaS5lKDI3OTEzKSxpLmUoMjk4NDQpLGkuZSg5NjA3OCksaS5lKDMzNjcpLGkuZSgzODAxNiksaS5lKDcxNTY1KV0pLnRoZW4oaS5iaW5kKGksOTc5NDEzKSkudGhlbigoZT0+ZS5QdWJsaWNhdGlvblZpZXdTY3JpcHQpKTtjYXNlImlkZWEiOnJldHVybiBQcm9taXNlLmFsbChbaS5lKDE0NjkzKSxpLmUoODQzMDYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoOTUwNCksaS5lKDQwODM1KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSg0NzYzMiksaS5lKDc0MzgxKSxpLmUoNTAyMjEpLGkuZSgxNTUyNiksaS5lKDcxNDE0KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzU3OTQpLGkuZSgzMjc0OCksaS5lKDE2NzYpLGkuZSg2NjI3MCksaS5lKDk3NDQpLGkuZSg4MzA0MSksaS5lKDUxNjgyKSxpLmUoNzE0ODIpLGkuZSgzNzc2NyksaS5lKDE5NTEzKSxpLmUoOTc2NjApLGkuZSg0NjU5MSksaS5lKDcxNTI4KSxpLmUoMzMxMjApLGkuZSg0NDc3KSxpLmUoMTUwOSksaS5lKDU1MzM2KSxpLmUoOTIzOTMpLGkuZSgyMDI3MSksaS5lKDkxNjc4KSxpLmUoMjc3MzYpLGkuZSg4MDczMSksaS5lKDc2MzI5KSxpLmUoNjk3NDcpLGkuZSgyNzU0OSksaS5lKDYyODA2KSxpLmUoNTI5MjApLGkuZSgzODg2OCksaS5lKDE2NDIxKSxpLmUoMTQ2NDApLGkuZSg0MDQyKSxpLmUoMzYzNTYpLGkuZSgyMjE0NCksaS5lKDgzNTI5KSxpLmUoNTk4MzApLGkuZSg1OTQzNyksaS5lKDcwNzU2KSxpLmUoNzQ1NiksaS5lKDI5OTQzKSxpLmUoNjI4OTIpLGkuZSgyMjQ2NCksaS5lKDg0MzM1KSxpLmUoMjAxMyksaS5lKDMzMTApLGkuZSg1NzU2KSxpLmUoMjc1MTMpLGkuZSgzMjM4NyksaS5lKDcwNzEyKSxpLmUoODc4NTgpLGkuZSg1OTYxOSksaS5lKDgxODY4KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDc3NTc4KSxpLmUoODk0NiksaS5lKDQ4ODU0KSxpLmUoNjExODMpLGkuZSgxOTQ2MyksaS5lKDMwNDIxKSxpLmUoMjc5MTMpLGkuZSgyOTg0NCksaS5lKDk2MDc4KSxpLmUoMzM2NyksaS5lKDM4MDE2KSxpLmUoMTkyMTMpXSkudGhlbihpLmJpbmQoaSw0OTA2NjkpKS50aGVuKChlPT5lLlB1YmxpY2F0aW9uVmlld0lkZWEpKX19IWZ1bmN0aW9uKGUpe2UuSWRlYT0iaWRlYSIsZS5TY3JpcHQ9InNjcmlwdCIsZS5WaWRlbz0idmlkZW8ifShyfHwocj17fSkpfSwzODcxMDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c2hvd0RldGFpbHNEaWFsb2c6KCk9Pm99KTt2YXIgcz1pKDI5NjI2Mik7bGV0IG47Y2xhc3MgciBleHRlbmRzIHMuRGlhbG9nUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3Byb21pc2U9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fXNob3coZSl7CmNvbnN0IHQ9dGhpcy5fcHJvbWlzZT1Qcm9taXNlLmFsbChbaS5lKDkzNzQ1KSxpLmUoNjYwMDIpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgyNzUxNyksaS5lKDk1MDQpLGkuZSgxNzA4NyksaS5lKDk4MDg0KSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoMzM1MTUpLGkuZSgxNDYyNSksaS5lKDcxNDE0KSxpLmUoNjU3KSxpLmUoODkyMDQpLGkuZSg5MTg1NSksaS5lKDQzNjQ0KSxpLmUoNTgwNTEpLGkuZSg2OTg2MSksaS5lKDU1MDExKSxpLmUoNDUzNjgpLGkuZSgzMDM3MyksaS5lKDIxNTgxKSxpLmUoNTE4ODApLGkuZSgxODQ3MiksaS5lKDQ3MDkyKSxpLmUoMjU4MDkpLGkuZSgxNzY5MyksaS5lKDIxMjQ1KSxpLmUoNTY4OSksaS5lKDI1NTYyKSxpLmUoMjYxMDApLGkuZSgyOTM0OCksaS5lKDM2OTg2KSxpLmUoNjMwMzMpLGkuZSgyODkzNiksaS5lKDQ3NTUxKSxpLmUoNzM5NjApLGkuZSgyNTExKSxpLmUoNjM3MjMpLGkuZSgyMDA4NSksaS5lKDM2NTIxKSxpLmUoMjcyMTcpLGkuZSgyMjQwNSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSg3ODMxMiksaS5lKDQ0NzgwKSxpLmUoMTM4MDUpLGkuZSg0MjI4OCksaS5lKDY5Njk3KSxpLmUoODAyMDcpLGkuZSg5NzY0NyksaS5lKDgzOTM1KSxpLmUoNTMyOTcpLGkuZSgzOTYwNiksaS5lKDY3ODUzKSxpLmUoMzcxMDYpLGkuZSgzNzI1OSksaS5lKDc0OTEpLGkuZSg4MDkxMildKS50aGVuKGkuYmluZChpLDgyOTA5NykpLnRoZW4oKGk9Pnt0aGlzLl9wcm9taXNlPT09dCYmKHRoaXMuX2RpYWxvZyYmKHRoaXMuX2RpYWxvZy5oaWRlKCksdGhpcy5fZGlhbG9nLnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpKSx0aGlzLl9kaWFsb2c9bmV3IGkuRGV0YWlsc0RpYWxvZ1JlbmRlcmVyLHRoaXMuX2RpYWxvZy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nLnNob3coZSkpfSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKSx0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBufHwobj1uZXcgciksbn19ZnVuY3Rpb24gbyhlKXtyLmdldEluc3RhbmNlKCkuc2hvdyhlKX19LDY1OTY0NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc0RldGFpbHNSZWFkeTooKT0+c30pO2NvbnN0IHM9bmV3KGkoMjMyMzY0KS5XYXRjaGVkVmFsdWUpKCExKX0sNzI4NjM5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZVN5bWJvbE5vdGU6KCk9PmMsc2hvd1N5bWJvbE5vdGVzOigpPT5sfSk7dmFyIHM9aSg1NTExOTMpLG49aSg2NTk2NDcpLHI9aSg5NzEwNTEpO2xldCBvPW51bGw7ZnVuY3Rpb24gYShlLHQpe2lmKG8mJm4uaXNEZXRhaWxzUmVhZHkudW5zdWJzY3JpYmUobyksbz0oKT0+e2NvbnN0IGk9d2luZG93Py53aWRnZXRiYXI/LmxheW91dD8uZ2V0V2lkZ2V0QnlUeXBlKCJkZXRhaWwiKT8ud2lkZ2V0T2JqZWN0O2kubmF2aWdhdGUoZSx0KX0sbi5pc0RldGFpbHNSZWFkeS52YWx1ZSgpKXJldHVybiBvKCksdm9pZChvPW51bGwpO24uaXNEZXRhaWxzUmVhZHkuc3Vic2NyaWJlKG8se29uY2U6ITB9KX1mdW5jdGlvbiBsKGU9bnVsbCx0KXtjb25zdCBpPSgwLHIucGF0aFRvR3JvdXApKGU/PyIiKTt0PygwLHMuc2hvd05vdGVzRGlhbG9nKShpKTphKGkpfWZ1bmN0aW9uIGMoZT1udWxsLHQpe2NvbnN0IGk9KDAsci5wYXRoVG9Hcm91cCkoZT8/IiIpKyI/bmV3PSIrcGVyZm9ybWFuY2Uubm93KCk7dCYmKDAscy5zaG93Tm90ZXNEaWFsb2cpKGkpLGEoaSl9fSw5NzEwNTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7R1JPVVBfUEFUSF9QQVRURVJOOigpPT5uLE5PVEVTX1BBVEhfUEFUVEVSTjooKT0+cyxVTkFUVEVOREVEX1BBVEhfUEFUVEVSTjooKT0+cixwYXRoVG9Hcm91cDooKT0+b30pO2NvbnN0IHM9Ii9ub3Rlcy8iLG49Ii9ub3Rlcy9ncm91cHMvOnN5bWJvbC8iLHI9Ii9ub3Rlcy91bmF0dGVuZGVkLyI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZT9uLnJlcGxhY2UoIjpzeW1ib2wiLGVuY29kZVVSSUNvbXBvbmVudChlKSk6cn19LDgyNzAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2F2YWlsYWJsZU9mZmVyczooKT0+bn0pO3ZhciBzPWkoMzg0MDE3KTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2lzSW52YWxpZD0hMCx0aGlzLl9vZmZlcnM9e319cnVuT3JVcGRhdGUoZSl7dGhpcy5faXNJbnZhbGlkP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKCgoKT0+dGhpcy5fdXBkYXRlT2ZmZXJzKCkudGhlbihlKSkpOnNldFRpbWVvdXQoKCgpPT50aGlzLl91cGRhdGVPZmZlcnMoKS50aGVuKGUpKSwwKTplKHRoaXMuX29mZmVycyl9Z2V0RGF0YSgpe3JldHVybiB0aGlzLl9vZmZlcnN9aW52YWxpZGF0ZShlKXt0aGlzLl9pc0ludmFsaWQ9ITAsd2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz17fSx0aGlzLnJ1bk9yVXBkYXRlKGU/PygoKT0+e30pKX1zZXRJbml0aWFsKGUpe3RoaXMuX2lzSW52YWxpZD0hMSx0aGlzLl9vZmZlcnM9ZSx3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzPXRoaXMuX29mZmVyc31lbnN1cmVPZmZlcnMoKXtyZXR1cm4gbmV3IFByb21pc2UoKGU9PnRoaXMucnVuT3JVcGRhdGUoZSkpKX13aXRoQXZhaWxhYmxlT2ZmZXJzKGUpe3JldHVybiBhc3luYyguLi50KT0+KGF3YWl0IHRoaXMuZW5zdXJlT2ZmZXJzKCksZSguLi50KSl9YXN5bmMgX3VwZGF0ZU9mZmVycygpe3JldHVybiB3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzfHwod2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz17fSksCnRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U/dGhpcy5fdXBkYXRlT2ZmZXJzUHJvbWlzZTp0aGlzLl9pc0ludmFsaWQ/KHRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U9KDAscy5mZXRjaCkoIi9hcGkvdjEvb2ZmZXJzLyIse21ldGhvZDoiR0VUIixjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKChhc3luYyBlPT57Y29uc3QgdD1hd2FpdCBlLmpzb24oKTtyZXR1cm4gZGVsZXRlIHRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2UsdGhpcy5faXNJbnZhbGlkPSExLHRoaXMuX29mZmVycz1PYmplY3QuZW50cmllcyh0KS5yZWR1Y2UoKChlLFt0LGldKT0+KGkmJihlW3RdPWkpLGUpKSx7fSksd2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz10aGlzLl9vZmZlcnMsdH0pKS5jYXRjaCgoKCk9Pih7fSkpKSx0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlKTp0aGlzLl9vZmZlcnN9fX0sMjMyOTQ4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldFByb2R1Y3RJZDooKT0+aCxpc0V4Y2hhbmdlOigpPT5jLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmwsaXNQcm86KCk9Pm8saXNQcm9kdWN0RGVmaW5lZDooKT0+bixpc1RyaWFsOigpPT5yfSk7dmFyIHM9aSg1ODE4OTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gcihlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIG8oZSkmJiFyKGUpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUudHlwZT09PXMuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBjKGUpe3JldHVybiBlLnR5cGU9PT1zLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGU/YyhlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXMuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sNTgxODkzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse1Byb2R1Y3RUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHN8fChzPXt9KSl9LDc3NDUwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtVc2VyU3RhdHVzOigpPT5zfSk7dmFyIHMsbj1pKDg2NDAzNCkscj1pKDYzODU3MSk7IWZ1bmN0aW9uKGUpe2UuTm9uUHJvPSJub25fcHJvIixlLlBybz0icHJvIn0oc3x8KHM9e30pKTsoMCxyLm1lbW9pemUpKCgoKT0+d2luZG93LnVzZXIuaXNfdHJpYWwmJndpbmRvdy51c2VyLnByb19wbGFuP3dpbmRvdy51c2VyLmlzX2V4cGVydHx8d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzIT09cy5Qcm8/bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOm4uTU9OVEhMWV9TVUJTQ1JJUFRJT05fREFZU19MRU46bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOKSl9LDYwMjM4NihlLHQsaSl7InVzZSBzdHJpY3QiO2FzeW5jIGZ1bmN0aW9uIHMoKXtyZXR1cm4oYXdhaXQgaS5lKDg1MjI3KS50aGVuKGkuYmluZChpLDUwMzE4NSkpKS5vcGVuZWRQaW5lU2NyaXB0c31pLmQodCx7Z2V0T3BlbmVkUGluZVNjcmlwdHM6KCk9PnN9KX0sMjQ2OTg2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2VkaXRvclRlbGVtZXRyeTooKT0+bn0pO3ZhciBzPWkoMTU2ODUwKTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX29wZW5TdGFydFRpbWU9bnVsbH1zdGFydE9wZW5pbmcoKXt0aGlzLl9vcGVuU3RhcnRUaW1lPXBlcmZvcm1hbmNlLm5vdygpfWZpbmlzaE9wZW5pbmcoKXtudWxsIT09dGhpcy5fb3BlblN0YXJ0VGltZSYmKHMudGVsZW1ldHJ5LnNlbmRSZXBvcnQoInBpbmUiLCJvcGVuX2VkaXRvcl90aW1lX2ZyYW1lIix7dmFsdWU6TWF0aC5yb3VuZChwZXJmb3JtYW5jZS5ub3coKS10aGlzLl9vcGVuU3RhcnRUaW1lKX0pLHRoaXMuX29wZW5TdGFydFRpbWU9bnVsbCl9fX0sNTQyMTY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NlbmRFZGl0b3JTbm93cGxvd0V2ZW50OigpPT5vfSk7dmFyIHM9aSgzNjIyMzkpO2NvbnN0IG49W107dmFyIHI7YXN5bmMgZnVuY3Rpb24gbyhlLHQpe2NvbnN0IGk9YXdhaXQoMCxzLmdldFRyYWNrZXIpKCkscj17ZXZlbnRfbmFtZTplLGV2ZW50X3BhcmFtOnQ/SlNPTi5zdHJpbmdpZnkodCk6bnVsbCx1c2VyX3BsYW46d2luZG93LnVzZXIucHJvX3BsYW58fCh3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8iZnJlZSI6InZpc2l0b3IiKX07aWYoaSl7aWYobi5sZW5ndGg+MCl7Zm9yKGNvbnN0IGUgb2YgbilpLnRyYWNrRWRpdG9yRXZlbnQoZSk7bi5sZW5ndGg9MH1pLnRyYWNrRWRpdG9yRXZlbnQocil9ZWxzZSBuLnB1c2gocil9IWZ1bmN0aW9uKGUpe2UuVmlldz0idmlldyIsZS5WaWV3UGluZT0idmlld19waW5lIixlLkV4cGVyaW1lbnQ9ImV4cGVyaW1lbnQiLGUuQXV0b2NvbXBsZXRlPSJhdXRvY29tcGxldGUiLGUuRmlyc3RFZGl0aW5nPSJmaXJzdF9lZGl0aW5nIixlLlRvcFBhbmVsQWN0aW9uPSJ0b3BfcGFuZWxfY2xpY2siLGUuSG92ZXJBbmNob3JMaW5rPSJob3Zlcl9hbmNob3JfbGluayIsZS5PcGVuUmVmZXJlbmNlRG9jPSJvcGVuX3JlZmVyZW5jZV9kb2MiLGUuT3BlblJlZmVyZW5jZUltcG9ydD0ib3Blbl9yZWZlcmVuY2VfaW1wb3J0IixlLkNsaWNrQWR2YW5jZWRNZW51PSJjbGlja19hZHZhbmNlZF9tZW51IixlLlN0YXR1c0Jhcj0ic3RhdHVzX2JhciIsZS5PdmVybG9hZE9wZXJhdGlvbj0ib3ZlcmxvYWRfb3BlcmF0aW9uIixlLkNoYXJ0Rmxvdz0iY2hhcnRfZmxvdyIsZS5JbnBsYWNlRGlmZkVkaXRvcj0iaW5wbGFjZV9kaWZmX2VkaXRvciIsZS5Db21waWxhdGlvblRpbWU9ImNvbXBpbGF0aW9uX3RpbWUiLGUuUHJvZmlsZXI9InByb2ZpbGVyIiwKZS5FZGl0b3JVc2VyRnVubmVsPSJlZGl0b3JfdXNlcl9mdW5uZWwiLGUuVmVyc2lvbkhpc3Rvcnk9InZlcnNpb25faGlzdG9yeSIsZS5TaG9ydFRpdGxlTGVuZ3RoV2FybmluZ0ZpeGVkPSJzaG9ydF90aXRsZV9sZW5ndGhfd2FybmluZ19maXhlZCIsZS5FZGl0b3JFcnJvcj0iZWRpdG9yX2Vycm9yIixlLlBhc3RlPSJwYXN0ZSIsZS5Cb3R0b21EdXBsaWNhdGVQb3B1cD0iYm90dG9tX2R1cGxpY2F0ZV9wb3B1cCIsZS5TZXR0aW5ncz0iZWRpdG9yX3NldHRpbmdzIn0ocnx8KHI9e30pKX0sMzQyMjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7YWN0aXZhdGVQaW5lRWRpdG9yRGlhbG9nOigpPT5vfSk7dmFyIHM9aSgyNDY5ODYpLG49aSg2MDIzODYpO2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3R7c2NyaXB0OnQscGFyYW1zOml9PWUuc2NyaXB0SW5mbztpZihudWxsPT09dHx8dm9pZCAwPT09dC52ZXJzaW9uKXJldHVybiExO2NvbnN0IHM9d2luZG93LlRyYWRpbmdWaWV3Py5ib3R0b21XaWRnZXRCYXI7aWYodm9pZCAwPT09c3x8IXMuaXNXaWRnZXRFbmFibGVkKCJzY3JpcHRlZGl0b3IiKSlyZXR1cm4hMTtjb25zdCByPShhd2FpdCgwLG4uZ2V0T3BlbmVkUGluZVNjcmlwdHMpKCkpLmdldFNjcmlwdEluZm8oe3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCxzY3JpcHRWZXJzaW9uOnQudmVyc2lvbn0pO3JldHVybiEobnVsbD09PXJ8fHIuYm90dG9tQ291bnQ8PTApJiYocy5hY3RpdmF0ZVNjcmlwdEVkaXRvclRhYihudWxsLGkpLCEwKX1hc3luYyBmdW5jdGlvbiBvKGUpe2lmKGUub3BlblNvdXJjZUlkJiZzLmVkaXRvclRlbGVtZXRyeS5zdGFydE9wZW5pbmcoKSxhd2FpdCByKGUpKXJldHVybjtjb25zdCB0PXdpbmRvdy53aWRnZXRiYXI7aWYoIWUuZm9yY2VPcGVuKXtjb25zdCBlPXQ/Lm1vZGVsKCJwaW5lLWRpYWxvZy1idXR0b24iKSxpPWU/LnZpc2libGUudmFsdWUoKTtpZighKHQ/LmlzVmlzaWJsZSgpJiZpJiZlKSlyZXR1cm59Y29uc3Qgbj1pLmUoNTQxNjApLnRoZW4oaS5iaW5kKGksMTQ2MTUzKSk7YXdhaXQoYXdhaXQgbikuc2hvd1BpbmVEaWFsb2coe2NoYXJ0UGFnZUdyaWQ6ZS5jaGFydFBhZ2VHcmlkPz90Py5jaGFydFBhZ2VHcmlkLGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8/dD8uY2hhcnRXaWRnZXRDb2xsZWN0aW9uLHNjcmlwdEluZm86ZS5zY3JpcHRJbmZvLG9wZW5Tb3VyY2VJZDplLm9wZW5Tb3VyY2VJZH0pfX0sODkxNTgxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NlbmRFZGl0b3JTbm93cGxvd0V2ZW50OigpPT5zLnNlbmRFZGl0b3JTbm93cGxvd0V2ZW50fSk7dmFyIHM9aSg1NDIxNjQpfSw1Nzc3MTMoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBzKCl7cmV0dXJuKGF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjAzNTQpLGkuZSg5ODA4NCksaS5lKDc0NjM2KSxpLmUoMzIzODcpLGkuZSgyODUwNyldKS50aGVuKGkuYmluZChpLDYwOTY4MikpKS5FcnJvckNhcmRSZW5kZXJlcn1pLmQodCx7Z2V0RXJyb3JDYXJkUmVuZGVyZXI6KCk9PnN9KX0sOTI2OTk1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dTdXBwb3J0RGlhbG9nOigpPT5ufSk7aSgzMDAyODYpO3ZhciBzPWkoODI3MDEpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI2OTczKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSg5NDIzMiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg3MjY2NiksaS5lKDkzNDIxKSxpLmUoNDk1ODgpLGkuZSg0NzYzMiksaS5lKDc0MzgxKSxpLmUoMTU1MjYpLGkuZSg3MTQxNCksaS5lKDYxODIxKSxpLmUoNTQ2ODEpLGkuZSg2NjI3MCksaS5lKDMxODM3KSxpLmUoOTc0NCksaS5lKDIwOTcxKSxpLmUoNDk1MTgpLGkuZSgzNzc2NyksaS5lKDE5NTEzKSxpLmUoMzI2MzIpLGkuZSgzNTE5OCksaS5lKDQ2NTkxKSxpLmUoOTQwNTQpLGkuZSgxNTA5KSxpLmUoNzY2NSksaS5lKDgwNzMxKSxpLmUoNTQzMTApLGkuZSgzNjM1NiksaS5lKDc4NDcxKSxpLmUoMjU2OTgpLGkuZSgzMzM2OCksaS5lKDk1MTU4KSxpLmUoMzIzODcpLGkuZSg3NTA0KSxpLmUoNDQ3ODApLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg5OTgyNyksaS5lKDgxODY4KSxpLmUoMjMzNjQpLGkuZSgyMzc0MyksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSg0ODg1NCksaS5lKDE5NDYzKSxpLmUoODYwOCldKS50aGVuKGkuYmluZChpLDkxMjI5OSkpO2F3YWl0IHMuYXZhaWxhYmxlT2ZmZXJzLmVuc3VyZU9mZmVycygpLG5ldyB0LlN1cHBvcnREaWFsb2coZSkub3BlbigpfX0sMzU3NTQ0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N1cHBvcnRJbmNpZGVudHNTZXJ2aWNlOigpPT5jLGlzU3VwcG9ydEluY2lkZW50VmlzaWJsZU9uQ2hhcnQ6KCk9Pmx9KTt2YXIgcz1pKDIyMTA2MSksbj1pKDM4NDAxNykscj1pKDYzOTExMyksbz1pKDUwNzI4NSk7Y29uc3QgYT0oMCxzLmdldExvZ2dlcikoIlN1cHBvcnQuSW5jaWRlbnRzTW9kZWwiKTtmdW5jdGlvbiBsKGUsdD13aW5kb3cubG9jYWxlKXtyZXR1cm4gZS5zaG93X29uX2NoYXJ0JiYhMSE9PWUuaXNfYWN0aXZlJiYodm9pZCAwPT09ZS5sYW5ndWFnZXx8ZS5sYW5ndWFnZS5zb21lKChlPT5lPT09dHx8ImFsbCI9PT1lKSkpfWNsYXNzIGN7Y29uc3RydWN0b3IoZT13aW5kb3cubG9jYWxlKXt0aGlzLl9pbmNpZGVudHM9W10sdGhpcy5fbGlzdGVuZXJzPW5ldyBTZXQsdGhpcy5fcHVzaFN0cmVhbUhhbmRsZXI9bnVsbCx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fbGFuZ3VhZ2U9ZX1pbmNpZGVudHMoKXtyZXR1cm4gdGhpcy5faW5jaWRlbnRzfXN1YnNjcmliZShlKXsKcmV0dXJuIHRoaXMuX2xpc3RlbmVycy5hZGQoZSksZSh0aGlzLl9pbmNpZGVudHMpLCgpPT57dGhpcy5fbGlzdGVuZXJzLmRlbGV0ZShlKX19YXN5bmMgbG9hZChlPXt9KXtjb25zdHtzdWJzY3JpYmVUb1B1c2hTdHJlYW06dD0hMX09ZTt0cnl7Y29uc3QgZT1hd2FpdCgwLG4uZmV0Y2gpKGAke3Iuc3VwcG9ydFBvcnRhbFByb2JsZW1zSG9zdH0vc3VwcG9ydC9zdXBwb3J0LXBvcnRhbC1wcm9ibGVtcy8/bGFuZ3VhZ2U9JHt0aGlzLl9sYW5ndWFnZX1gKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuO2lmKCFlLm9rKXJldHVybiB2b2lkIGEubG9nV2FybigiQ291bGRuJ3QgbG9hZCBzdXBwb3J0IHBvcnRhbCBwcm9ibGVtcyIpO2NvbnN0IGk9KGF3YWl0IGUuanNvbigpKS5pc3N1ZXM7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0aGlzLl9zZXRJbmNpZGVudHMoaSksdCYmdGhpcy5fc3Vic2NyaWJlVG9QdXNoU3RyZWFtKCl9Y2F0Y2goZSl7dGhpcy5fZGVzdHJveWVkfHxhLmxvZ1dhcm4oYENvdWxkbid0IGxvYWQgc3VwcG9ydCBwb3J0YWwgcHJvYmxlbXM6ICR7U3RyaW5nKGUpfWApfX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyJiZvLnB1c2hTdHJlYW1NdWx0aXBsZXhlci5vZmYoInN1cHBvcnQtcG9ydGFsLXByb2JsZW0iLHRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyKSx0aGlzLl9saXN0ZW5lcnMuY2xlYXIoKSx0aGlzLl9kZXN0cm95ZWQ9ITB9X3NldEluY2lkZW50cyhlKXt0aGlzLl9pbmNpZGVudHM9ZSx0aGlzLl9ub3RpZnlMaXN0ZW5lcnMoKX1fbm90aWZ5TGlzdGVuZXJzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fbGlzdGVuZXJzKWUodGhpcy5faW5jaWRlbnRzKX1fc3Vic2NyaWJlVG9QdXNoU3RyZWFtKCl7bnVsbD09PXRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyJiYodGhpcy5fcHVzaFN0cmVhbUhhbmRsZXI9ZT0+e2NvbnN0IHQ9dGhpcy5faW5jaWRlbnRzLnNsaWNlKCk7c3dpdGNoKGUuYWN0aW9uKXtjYXNlImNyZWF0ZWQiOnQucHVzaChlLmRhdGEpO2JyZWFrO2Nhc2UibW9kaWZpZWQiOntjb25zdCBpPXQuZmluZEluZGV4KCh0PT50LmlkPT09ZS5kYXRhLmlkKSk7LTEhPT1pP3RbaV09ey4uLnRbaV0sLi4uZS5kYXRhfTp0LnB1c2goZS5kYXRhKTticmVha31jYXNlImRlbGV0ZWQiOntjb25zdCBpPXQuZmluZEluZGV4KCh0PT50LmlkPT09ZS5kYXRhLmlkKSk7LTEhPT1pJiZ0LnNwbGljZShpLDEpO2JyZWFrfX10aGlzLl9zZXRJbmNpZGVudHModCl9LG8ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJzdXBwb3J0LXBvcnRhbC1wcm9ibGVtIix0aGlzLl9wdXNoU3RyZWFtSGFuZGxlcikpfX19LDkyMjI0OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtTWU1CT0xfTElTVF9TRVJWSUNFOigpPT5zfSk7Y29uc3Qgcz0oMCxpKDQ3MzA2OCkuY3JlYXRlU2VydmljZURlc2NyaXB0b3IpKCJTeW1ib2xMaXN0U2VydmljZSIpfSw3NjAzOTAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLnIodCksaS5kKHQse0RFTEVURURfU1lNQk9MU19MSVNUX0lEOigpPT5hLERlbGV0ZWRTeW1ib2xzTGlzdDooKT0+aCxpc0RlbGV0ZWRTeW1ib2xzTGlzdDooKT0+Y30pO3ZhciBzPWkoOTMyMzY1KSxuPWkoMzQ5MDMwKTtjb25zdCByPSJkZWxldGVkX3N5bWJvbHNfbGlzdCIsbz0iaXNfZGVsZXRlZF9zeW1ib2xzX2xpc3RfYWN0aXZlIixhPSJkZWxldGVkX3N5bWJvbHNfbGlzdF9pZCIsbD0iVGhlcmUgd2FzIGFuIGVycm9yIGR1cmluZyBhdHRlbXB0IHRvIHNldCBsb2NhbCBzdG9yYWdlIHZhbHVlIixjPWU9PmU9PT1hO2NsYXNzIGh7Y29uc3RydWN0b3IoKXt0aGlzLl9sb2dFcnJvcj0oZSx0KT0+e2UgaW5zdGFuY2VvZiBFcnJvcj9uLmxvZ2dlci5sb2dFcnJvcihlLm1lc3NhZ2UpOm4ubG9nZ2VyLmxvZ0Vycm9yKHQpfX1jcmVhdGVMaXN0KGUpe3RoaXMuX3NldExpc3QoZSl9cmVtb3ZlTGlzdCgpe3RyeXtzLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0ocil9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSwiVGhlcmUgd2FzIGFuIGVycm9yIGR1cmluZyBsb2NhbCBzdG9yYWdlIGl0ZW0gcmVtb3ZhbCIpfX1hZGRTeW1ib2xzKGUpe2NvbnN0IHQ9dGhpcy5nZXRMaXN0KCk7aWYoIXQpcmV0dXJuO2NvbnN0IGk9bmV3IFNldCh0LnN5bWJvbHMpO2Zvcihjb25zdCB0IG9mIGUpaS5hZGQodCk7Y29uc3Qgcz1BcnJheS5mcm9tKGkpO3MubGVuZ3RoPjEwMD90LnN5bWJvbHM9cy5yZXZlcnNlKCkuc2xpY2UoMCwxMDApLnJldmVyc2UoKTp0LnN5bWJvbHM9cyx0aGlzLl9zZXRMaXN0KHQpfXJlbW92ZVN5bWJvbHMoZSl7Y29uc3QgdD10aGlzLmdldExpc3QoKTtpZighdClyZXR1cm47Y29uc3QgaT1uZXcgU2V0KHQuc3ltYm9scyk7Zm9yKGNvbnN0IHQgb2YgZSlpLmRlbGV0ZSh0KTt0LnN5bWJvbHM9QXJyYXkuZnJvbShpKSx0aGlzLl9zZXRMaXN0KHQpfXJlcGxhY2VTeW1ib2xzKGUpe2NvbnN0IHQ9dGhpcy5nZXRMaXN0KCk7dCYmKHQuc3ltYm9scz1lLHRoaXMuX3NldExpc3QodCkpfWdldElzQWN0aXZlKCl7dHJ5e3JldHVybiJ0cnVlIj09PXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShvKX1jYXRjaChlKXtyZXR1cm4gdGhpcy5fbG9nRXJyb3IoZSxsKSwhMX19c2V0SXNBY3RpdmUoZSl7dHJ5e3MuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShvLFN0cmluZyhlKSl9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSxsKX19Z2V0TGlzdCgpe3RyeXtjb25zdCBlPXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShyKTtyZXR1cm4gZT9KU09OLnBhcnNlKGUpOm51bGx9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuX2xvZ0Vycm9yKGUsIlRoZXJlIHdhcyBhbiBlcnJvciBkdXJpbmcgYXR0ZW1wdCB0byBnZXQgbG9jYWwgc3RvcmFnZSB2YWx1ZSIpLG51bGx9fV9zZXRMaXN0KGUpe3RyeXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0ocixKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSxsKX19fX0sMzQ5MDMwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2xvZ2dlcjooKT0+c30pO2NvbnN0IHM9KDAsaSgyMjEwNjEpLmdldExvZ2dlcikoIlBsYXRmb3JtLk1vZGVsLldhdGNobGlzdCIpfSwKNDU2NzA1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2luaXRTeW1ib2xMaXN0U2VydmljZTooKT0+b30pO3ZhciBzPWkoOTMwMjMxKSxuPWkoNzA1MDEyKSxyPWkoOTIyMjQ4KTtmdW5jdGlvbiBvKCl7cmV0dXJuIFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksODA0MzQzKSksUHJvbWlzZS5hbGwoW2kuZSg3Mzc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg5NDIzMiksaS5lKDEyMDUxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDE4NTEyKSxpLmUoNDI0NTcpLGkuZSgzOTYwOSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1MjUwOSksaS5lKDg1NDM0KSxpLmUoNzI4NSksaS5lKDI4NTEpLGkuZSgxOTkzOCldKS50aGVuKGkuYmluZChpLDc3OTkzOSkpLFByb21pc2UuYWxsKFtpLmUoNzM3NyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoOTQyMzIpLGkuZSgxMjA1MSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgxODUxMiksaS5lKDQyNDU3KSxpLmUoMzk2MDkpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTI1MDkpLGkuZSg4NTQzNCksaS5lKDcyODUpLGkuZSgyODUxKSxpLmUoMTk5MzgpXSkudGhlbihpLmJpbmQoaSwxMjIzMDcpKSxQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksNjMyMDM1KSksKDAscy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/bnVsbDpQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksMTc5NjEwKSldKS50aGVuKCgoW2UsdCxpLHMsb10pPT57aWYoKDAsbi5oYXNTZXJ2aWNlKShyLlNZTUJPTF9MSVNUX1NFUlZJQ0UpKXJldHVybigwLG4uc2VydmljZSkoci5TWU1CT0xfTElTVF9TRVJWSUNFKTtjb25zdHtzdG9yZTphLHJ1bm5lcjpsfT1lLmNvbmZpZ3VyZVN0b3JlKCksYz1sLnJ1bih0LnN5bWJvbExpc3RSZXBvc2l0b3J5U2FnYSk7KDAsbi5yZWdpc3RlclNlcnZpY2UpKHIuU1lNQk9MX0xJU1RfU0VSVklDRSx7c3RvcmU6YSxydW5uZXI6bCxhY3Rpb25zOnthZGRTeW1ib2xzOnMuYWRkU3ltYm9sc1RodW5rLGluaXRXaWRnZXQ6aS5pbml0V2lkZ2V0LHNhdmVMaXN0QXM6cy5zYXZlTGlzdEFzVGh1bmssY3JlYXRlTmV3V2F0Y2hMaXN0OnMudXNlckNyZWF0ZVdhdGNobGlzdFRodW5rfSx0YXNrOmN9KTtjb25zdCBoPSgwLG4uc2VydmljZSkoci5TWU1CT0xfTElTVF9TRVJWSUNFKTtyZXR1cm4gbnVsbCE9PW8mJm8uZ2V0Q3VzdG9tU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2VJbnN0YW5jZShoKSxofSkpfX0sNTE5NTE1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1dBVENITElTVF9XSURHRVRfSUQ6KCk9PnN9KTtjb25zdCBzPSJ3YXRjaGxpc3Qtd2lkZ2V0In0sODI0NDc4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dXYXRjaExpc3RzRGlhbG9nOigpPT5vfSk7dmFyIHM9aSgyOTYyNjIpO2xldCBuO2NsYXNzIHIgZXh0ZW5kcyBzLkRpYWxvZ1JlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fXNob3coZSl7dGhpcy5fbG9hZCgpLnRoZW4oKHQ9PnQuc2hvdyhlKSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKSx0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBufHwobj1uZXcgciksbn1hc3luYyBfbG9hZCgpewpjb25zdCBlPWF3YWl0IFByb21pc2UuYWxsKFtpLmUoODUwMTQpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSg5NDIzMiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDI0NTgxKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDQ3NjMyKSxpLmUoNjYwNSksaS5lKDcxNDE0KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDMyNzQ4KSxpLmUoMTY3NiksaS5lKDg5MjA0KSxpLmUoOTE4NTUpLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMzIxNzYpLGkuZSg5NzQ0KSxpLmUoMTAzNjYpLGkuZSg2OTg2MSksaS5lKDE5NTEzKSxpLmUoNzI1MTIpLGkuZSgxNTYzNCksaS5lKDg4NjQxKSxpLmUoNzA2NTYpLGkuZSg4OTA0NCksaS5lKDQwOTE0KSxpLmUoOTA5NjApLGkuZSg4Nzc0MCksaS5lKDU2MjEzKSxpLmUoNjg5NjQpLGkuZSgyMzY2OSksaS5lKDUwMDM1KSxpLmUoNzg4OTkpLGkuZSg0MjcyMSksaS5lKDQ3MjAxKSxpLmUoNTA1ODgpLGkuZSg2NDUpLGkuZSg5MTY3MCksaS5lKDU1MzkpLGkuZSgxNDY1NyksaS5lKDcxNDM3KSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg2NzIwOCksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTUyMjkpLGkuZSg0NjIxNyksaS5lKDY4NzI1KSxpLmUoNjY5MzMpLGkuZSg1MjUwOSksaS5lKDcyNjc0KSxpLmUoMzUyNTIpLGkuZSg5MzI3NyksaS5lKDEzODM0KV0pLnRoZW4oaS5iaW5kKGksMjYzNjg4KSk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPWUud2F0Y2hsaXN0c0RpYWxvZ1JlbmRlcmVyKCksdGhpcy5fZGlhbG9nLnZpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fc3Vic2NyaWJlKSx0aGlzLl9kaWFsb2d9fWZ1bmN0aW9uIG8oZSl7ci5nZXRJbnN0YW5jZSgpLnNob3coZSl9fSw5OTQ1NDAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7YWN0aXZhdGVLZXlQcmVzc0hhbmRsZXI6KCk9Pl8sc2hvd0RpYWxvZzooKT0+bX0pO3ZhciBzPWkoOTMwMjMxKSxuPWkoMjIxMDYxKSxyPWkoMjIxNzAwKSxvPWkoMjQzOTM4KSxhPWkoODYyNTcyKSxsPWkoOTQzODQyKSxjPWkoMzg2OTMxKSxoPWkoMjM3MzY5KSxkPWkoNjE0MzgwKTtjb25zdCB1PSgwLG4uZ2V0TG9nZ2VyKSgiU3ltYm9sU2VhcmNoRGlhbG9nIik7ZnVuY3Rpb24gcChlKXtpZighKDAsby5nbG9iYWxLZXlwcmVzc01hdGNoZXMpKGUpKXJldHVybiExO2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PVN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZSk7cmV0dXJuKDAscy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIikmJmZ1bmN0aW9uKGUpe3JldHVybi9bMS05XS8udGVzdChlKX0odCk/KDAsYS5zaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2dBc3luYykoe2luaXRWYWw6dH0pOigwLHMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfaG90X2tleSIpJiYobSh7ZGVmYXVsdFZhbHVlOnQsc2VsZWN0U2VhcmNoT25Jbml0OiExLHNvdXJjZToia2V5Ym9hcmQiLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLHMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9LGVuYWJsZU9wdGlvbnNDaGFpbjooMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpfSksKDAsYy50cmFja0V2ZW50KSgiR1VJIiwiU1MiLCJob3RrZXkiKSksITB9ZnVuY3Rpb24gXygpeygwLGwubG9hZENoYW5nZUludGVydmFsRGlhbG9nKSgpLHIucHVzaEJhY2tMaXN0ZW5lcigic3ltYm9sRWRpdCIscCl9YXN5bmMgZnVuY3Rpb24gbShlKXt0cnl7YXdhaXQobmV3IGQuU3ltYm9sU2VhcmNoVUkpLnNob3coZSl9Y2F0Y2goZSl7dS5sb2dFcnJvcihgQW5vdGhlciBTeW1ib2xTZWFyY2hVSSBpcyBhbHJlYWR5IG9wZW5lZCBvciBDdXN0b21VSSByZWplY3RlZCBzeW1ib2wgc2VsZWN0aW9uICR7KDAsaC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX19LDQxMTQwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt0cmFkaW5nU2VydmljZTooKT0+cix3YWl0VHJhZGluZ1NlcnZpY2U6KCk9Pm99KTt2YXIgcz1pKDcwNTAxMik7Y29uc3Qgbj0oMCxpKDQ3MzA2OCkuY3JlYXRlU2VydmljZURlc2NyaXB0b3IpKCJUcmFkaW5nU2VydmljZSIpO2Z1bmN0aW9uIHIoKXtyZXR1cm4oMCxzLmhhc1NlcnZpY2UpKG4pPygwLHMuc2VydmljZSkobik6bnVsbH1mdW5jdGlvbiBvKCl7cmV0dXJuKDAscy53YWl0U2VydmljZVJlZ2lzdGVyZWQpKG4pfX0sMjE2MDgzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQnV0dG9uQ2xpY2s6KCk9Pm59KTt2YXIgcz1pKDM2MjIzOSk7ZnVuY3Rpb24gbihlLHQsaSxuKXsoMCxzLmdldFRyYWNrZXIpKCkudGhlbigocz0+e251bGwhPT1zJiZzLnRyYWNrVG9vbGJhckJ1dHRvbkNsaWNrKGUsaT9gJHt0fSAke2l9YDp0LG4pfSkpfX0sMjUwNDM5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRleHRNZW51TWFuYWdlcjooKT0+c30pO3ZhciBzLG49aSgxOTg5MDEpLHI9aSg1MDkwNCksbz1pKDI3NjAxOSk7IWZ1bmN0aW9uKGUpe2xldCB0PW51bGwscz1udWxsO2NvbnN0IGE9W10sbD17Y3JlYXRlQWN0aW9uOmU9Pm5ldyByLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkN1c3RvbUFjdGlvbklkIixvcHRpb25zOmV9KSxjcmVhdGVBc3luY0FjdGlvbjplPT5uZXcgci5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5DdXN0b21BY3Rpb25JZCIsb3B0aW9uczp7fSwKb3B0aW9uc0xvYWRlcjplfSksY3JlYXRlU2VwYXJhdG9yOigpPT5uZXcgci5TZXBhcmF0b3J9O2FzeW5jIGZ1bmN0aW9uIGMoZSxyPXt9LG89e21lbnVOYW1lOiIifSxjKXtudWxsIT09dCYmKGU9YXdhaXQgdChlLGwsbykpO2xldCBkPW51bGw7Y29uc3QgdT0oKT0+e2NvbnN0IGU9KDAsbi5pbmRleE9mKShhLChlPT5lLnJlbmRlcmVyPT09ZCkpOy0xIT09ZSYmYS5zcGxpY2UoZSwxKSx2b2lkIDAhPT1jJiZjKCl9O2xldCBwPSExO2lmKG51bGwhPT1zJiYoZD1hd2FpdCBzKGUsbyx1KSksZClwPSEwLGgoKTtlbHNle2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg3NTUyKSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDk0MjMyKSxpLmUoMjQ1ODEpLGkuZSgxNzA4NyksaS5lKDcwODE1KSxpLmUoNzI1MTIpLGkuZSg1MjA5NSksaS5lKDcwNjU2KSxpLmUoNDQwMzEpLGkuZSgzNTA3MyksaS5lKDMyMzg3KSxpLmUoMjAzMzEpLGkuZSg3NDM2NCldKS50aGVuKGkuYmluZChpLDEwMjIzNykpO2Q9bmV3IHQuQ29udGV4dE1lbnVSZW5kZXJlcihlLHIsdSxoKX1yZXR1cm4gYS5wdXNoKHtyZW5kZXJlcjpkLGlzRXh0ZXJuYWw6cH0pLGR9ZnVuY3Rpb24gaCgpeygwLG8uZ2xvYmFsQ2xvc2VNZW51KSgpLGEuZm9yRWFjaCgoZT0+e2UuaXNFeHRlcm5hbCYmZS5yZW5kZXJlci5pc1Nob3duKCkmJmUucmVuZGVyZXIuaGlkZSgpfSkpfWUuY3JlYXRlTWVudT1jLGUuc2hvd01lbnU9ZnVuY3Rpb24oZSx0LGk9e30scyxuKXtyZXR1cm4gYyhlLGkscyxuKS50aGVuKChlPT5lLnNob3codCkpKX0sZS5zZXRDdXN0b21SZW5kZXJlckZhY3Rvcnk9ZnVuY3Rpb24oZSl7cz1lfSxlLnNldEN1c3RvbUl0ZW1zUHJvY2Vzc29yPWZ1bmN0aW9uKGUpe3Q9ZX0sZS5oaWRlQWxsPWgsZS5nZXRTaG93bj1mdW5jdGlvbigpe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKWlmKGFbZV0ucmVuZGVyZXIuaXNTaG93bigpKXJldHVybiBhW2VdLnJlbmRlcmVyO3JldHVybiBudWxsfX0oc3x8KHM9e30pKX0sMzc5NzkzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse1Rvb2xib3hUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLkRlbGV0ZT0wXT0iRGVsZXRlIn0oc3x8KHM9e30pKX0sOTU4NTAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1Jlc2l6ZXJEZXRhY2hlclN0YXRlOigpPT5yfSk7dmFyIHM9aSgxMzg2MzgpLG49aSgyMzIzNjQpO2NsYXNzIHJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fYWxpdmU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2NvbnRhaW5lcj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fd2lkdGg9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2hlaWdodD1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZnVsbHNjcmVlbj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZGV0YWNoYWJsZT1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZnVsbHNjcmVlbmFibGU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX3Zpc2libGU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2F2YWlsV2lkdGg9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2F2YWlsSGVpZ2h0PW5ldyBuLldhdGNoZWRWYWx1ZSx0aGlzLl9vd25lcj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fb3duZXJzU3RhY2s9W10sdGhpcy5vd25lcj10aGlzLl9vd25lci5yZWFkb25seSgpLHRoaXMuX2JyaWRnZT17YWxpdmU6dGhpcy5fYWxpdmUucmVhZG9ubHkoKSxjb250YWluZXI6dGhpcy5fY29udGFpbmVyLnJlYWRvbmx5KCksd2lkdGg6dGhpcy5fd2lkdGgucmVhZG9ubHkoKSxoZWlnaHQ6dGhpcy5faGVpZ2h0LnJlYWRvbmx5KCksZnVsbHNjcmVlbjp0aGlzLl9mdWxsc2NyZWVuLnJlYWRvbmx5KCksZGV0YWNoYWJsZTp0aGlzLl9kZXRhY2hhYmxlLnJlYWRvbmx5KCksZnVsbHNjcmVlbmFibGU6dGhpcy5fZnVsbHNjcmVlbmFibGUucmVhZG9ubHkoKSx2aXNpYmxlOnRoaXMuX3Zpc2libGUucmVhZG9ubHkoKSxhdmFpbFdpZHRoOnRoaXMuX2F2YWlsV2lkdGgucmVhZG9ubHkoKSxhdmFpbEhlaWdodDp0aGlzLl9hdmFpbEhlaWdodC5yZWFkb25seSgpLHJlbW92ZTooKT0+e2NvbnN0IGU9dGhpcy5fb3duZXIudmFsdWUoKTtlJiZlLnJlbW92ZSYmZS5yZW1vdmUoKX0sbmVnb3RpYXRlV2lkdGg6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0Lm5lZ290aWF0ZVdpZHRoJiZ0Lm5lZ290aWF0ZVdpZHRoKGUpfSxuZWdvdGlhdGVIZWlnaHQ6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0Lm5lZ290aWF0ZUhlaWdodCYmdC5uZWdvdGlhdGVIZWlnaHQoZSl9LHJlcXVlc3RGdWxsc2NyZWVuOigpPT57Y29uc3QgZT10aGlzLl9vd25lci52YWx1ZSgpO2UmJmUucmVxdWVzdEZ1bGxzY3JlZW4mJmUucmVxdWVzdEZ1bGxzY3JlZW4oKX0sZXhpdEZ1bGxzY3JlZW46KCk9Pntjb25zdCBlPXRoaXMuX293bmVyLnZhbHVlKCk7ZSYmZS5leGl0RnVsbHNjcmVlbiYmZS5leGl0RnVsbHNjcmVlbigpfSxkZXRhY2g6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0LmRldGFjaCYmdC5kZXRhY2goZSl9LGF0dGFjaDooKT0+e2NvbnN0IGU9dGhpcy5fb3duZXIudmFsdWUoKTtlJiZlLmF0dGFjaCYmZS5hdHRhY2goKX19LGUmJnRoaXMucHVzaE93bmVyKGUpfWRlc3Ryb3koKXtmb3IoY29uc3QgZSBvZiB0aGlzLl9vd25lcnNTdGFjayl0aGlzLl91bnN1YnNjcmliZU93bmVyKGUpfWJyaWRnZSgpe3JldHVybiB0aGlzLl9icmlkZ2V9cHVzaE93bmVyKGUpe2lmKCFlLmFsaXZlLnZhbHVlKCkpcmV0dXJuO2Zvcihjb25zdCBlIG9mIHRoaXMuX293bmVyc1N0YWNrKXRoaXMuX3Vuc3Vic2NyaWJlT3duZXIoZSk7Y29uc3QgdD17b3duZXI6ZX07dGhpcy5fb3duZXJzU3RhY2sucHVzaCh0KSx0aGlzLl9zdWJzY3JpYmVPd25lcih0KX1fc3Vic2NyaWJlT3duZXIoZSl7Y29uc3QgdD1lLm93bmVyO2lmKGUuZGVhdGhXYXRjaGVyfHwodGhpcy5fYWxpdmUuc2V0VmFsdWUoITApLGUuZGVhdGhXYXRjaGVyPXQuYWxpdmUuc3Bhd24oKSxlLmRlYXRoV2F0Y2hlci5zdWJzY3JpYmUoKHQ9Pnt0fHx0aGlzLl9kZWFkSGFuZGxlcihlKX0pKSksCnRoaXMuX293bmVyLnNldFZhbHVlKHQpLCFlLnN1YnNjcmlwdGlvbnMpe2NvbnN0IGk9ZS5zdWJzY3JpcHRpb25zPVtdO3RoaXMuX3Zpc2libGUuc2V0VmFsdWUoITEpO2NvbnN0IHM9KGUsdCk9PntpZihlKXtjb25zdCBzPWUuc3Bhd24oKTtpLnB1c2gocykscy5zdWJzY3JpYmUoKGU9Pnt0LnNldFZhbHVlKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pfWVsc2UgdC5kZWxldGVWYWx1ZSgpfTtzKHQuY29udGFpbmVyLHRoaXMuX2NvbnRhaW5lcikscyh0LndpZHRoLHRoaXMuX3dpZHRoKSxzKHQuaGVpZ2h0LHRoaXMuX2hlaWdodCkscyh0LmZ1bGxzY3JlZW4sdGhpcy5fZnVsbHNjcmVlbikscyh0LmRldGFjaGFibGUsdGhpcy5fZGV0YWNoYWJsZSkscyh0LmZ1bGxzY3JlZW5hYmxlLHRoaXMuX2Z1bGxzY3JlZW5hYmxlKSxzKHQuYXZhaWxXaWR0aCx0aGlzLl9hdmFpbFdpZHRoKSxzKHQuYXZhaWxIZWlnaHQsdGhpcy5fYXZhaWxIZWlnaHQpLHModC52aXNpYmxlLHRoaXMuX3Zpc2libGUpfX1fdW5zdWJzY3JpYmVPd25lcihlLHQpe2lmKGUuc3Vic2NyaXB0aW9ucyl7Zm9yKGNvbnN0IHQgb2YgZS5zdWJzY3JpcHRpb25zKXQudW5zdWJzY3JpYmUoKTtlLnN1YnNjcmlwdGlvbnM9bnVsbH10JiZlLmRlYXRoV2F0Y2hlciYmKGUuZGVhdGhXYXRjaGVyLnVuc3Vic2NyaWJlKCksZS5kZWF0aFdhdGNoZXI9bnVsbCl9X2RlYWRIYW5kbGVyKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXJzU3RhY2suaW5kZXhPZihlKTsoMCxzLmFzc2VydCkoLTEhPT10LCJzYW5pdGl6ZWQgb3duZXIgc2hvdWxkIGJlIGluIHN0YWNrIik7Zm9yKGxldCBlPXRoaXMuX293bmVyc1N0YWNrLmxlbmd0aC0xO2U+PXQ7ZS0tKXRoaXMuX3Vuc3Vic2NyaWJlT3duZXIodGhpcy5fb3duZXJzU3RhY2tbZV0sITApO3RoaXMuX293bmVyc1N0YWNrLmxlbmd0aD10LHQ+MD90aGlzLl9zdWJzY3JpYmVPd25lcih0aGlzLl9vd25lcnNTdGFja1t0LTFdKToodGhpcy5fYWxpdmUuc2V0VmFsdWUoITEpLHRoaXMuX293bmVyLmRlbGV0ZVZhbHVlKCkpfX19LDMxNzQ2MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtWaXNpYmlsaXR5QXBpOigpPT5ufSk7dmFyIHM9aSgyMzIzNjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSl7bGV0IHQ7dGhpcy5pc1Zpc2libGU9bmV3IHMuV2F0Y2hlZFZhbHVlKCEwKTtsZXQgaT1udWxsO2Zvcihjb25zdCBzIG9mWyIiLCJtb3oiLCJtcyIsIndlYmtpdCJdKXtjb25zdCBuPXM/YCR7c31IaWRkZW5gOiJoaWRkZW4iO2lmKG4gaW4gZSl7dD1gJHtzfXZpc2liaWxpdHljaGFuZ2VgLGk9KCk9Pnt0aGlzLmlzVmlzaWJsZS5zZXRWYWx1ZSghZVtuXSl9LGkoKSxlLmFkZEV2ZW50TGlzdGVuZXIodCxpLCExKTticmVha319dGhpcy5kZXN0cm95PSgpPT57aSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGksITEpLGk9bnVsbCl9fX19LDI5NjI2MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEaWFsb2dSZW5kZXJlcjooKT0+bn0pO3ZhciBzPWkoMjMyMzY0KTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3Zpc2liaWxpdHk9bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yb290SW5zdGFuY2U9bnVsbH12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2liaWxpdHkucmVhZG9ubHkoKX1fc2V0VmlzaWJpbGl0eShlKXt0aGlzLl92aXNpYmlsaXR5LnNldFZhbHVlKGUpfX19LDEzODYzOChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyh0P2A6ICR7dH1gOiIiKSl9ZnVuY3Rpb24gbihlLHQpe2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIHVuZGVmaW5lZGApO3JldHVybiBlfWZ1bmN0aW9uIHIoZSx0KXtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoYCR7dD8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiBlfWZ1bmN0aW9uIG8oZSx0KXtyZXR1cm4gcihuKGUsdCksdCl9ZnVuY3Rpb24gYShlKXt9aS5kKHQse2Fzc2VydDooKT0+cyxlbnN1cmU6KCk9Pm8sZW5zdXJlRGVmaW5lZDooKT0+bixlbnN1cmVOZXZlcjooKT0+YSxlbnN1cmVOb3ROdWxsOigpPT5yfSl9LDIxNDk4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oaSwuLi5zKT0+KHQ/LmFib3J0KCksdD1uZXcgQWJvcnRDb250cm9sbGVyLGk/LmFib3J0ZWQ/dC5hYm9ydCgpOmk/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9PnQ/LmFib3J0KCkpLHtvbmNlOiEwfSksZSh0LnNpZ25hbCwuLi5zKSl9ZnVuY3Rpb24gbihlKXtpZighbChlKSl0aHJvdyBlfWZ1bmN0aW9uIHIoZSl7aWYobChlKSl0aHJvdyBlfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGU/LmFib3J0ZWQ/UHJvbWlzZS5yZWplY3QoYSgpKTpuZXcgUHJvbWlzZSgoKHQsaSk9PntlPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT5pKGEoKSkpLHtvbmNlOiEwfSl9KSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgRE9NRXhjZXB0aW9uKCJBYm9ydGVkIiwiQWJvcnRFcnJvciIpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvciYmIkFib3J0RXJyb3IiPT09ZS5uYW1lfHwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYibmFtZSJpbiBlJiYiQWJvcnRFcnJvciI9PT1lLm5hbWV9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBQcm9taXNlLnJhY2UoW28oZSksdF0pfWFzeW5jIGZ1bmN0aW9uIGgoZSx0KXtsZXQgaTt0cnl7YXdhaXQgYyhlLG5ldyBQcm9taXNlKChlPT57aT1zZXRUaW1lb3V0KGUsdCl9KSkpfWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGkpfX1pLmQodCx7Y3JlYXRlQWJvcnRFcnJvcjooKT0+YSxkZWxheTooKT0+aCxpc0Fib3J0RXJyb3I6KCk9PmwscmVzcGVjdEFib3J0OigpPT5jLHJlc3BlY3RMYXRlc3Q6KCk9PnMscmV0aHJvd0Fib3J0RXJyb3I6KCk9PnIsc2tpcEFib3J0RXJyb3I6KCk9Pm59KX0sNTU3NTEzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzQ2FuY2VsbGVkOigpPT5yLAptYWtlQ2FuY2VsYWJsZTooKT0+bn0pO2NsYXNzIHMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCJDYW5jZWxUb2tlbiIpfX1mdW5jdGlvbiBuKGUpe2xldCB0PSExO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKCgoaSxuKT0+e2UudGhlbigoZT0+dD9uKG5ldyBzKTppKGUpKSksZS5jYXRjaCgoZT0+bih0P25ldyBzOmUpKSl9KSksY2FuY2VsKCl7dD0hMH19fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBzfX0sMTc1Mzk1KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKX1pLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyOigpPT5zfSl9LDU1NjkxMShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7bGV0IHQ7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHxudWxsPT1lfHwibnVtYmVyIj09dHlwZW9mIGUubm9kZVR5cGUpdD1lO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIERhdGUpdD1uZXcgRGF0ZShlLnZhbHVlT2YoKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpKXt0PVtdO2xldCBpPTA7Y29uc3Qgbj1lLmxlbmd0aDtmb3IoO2k8bjtpKyspT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkmJih0W2ldPXMoZVtpXSkpfWVsc2V7dD17fTtmb3IoY29uc3QgaSBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpJiYodFtpXT1zKGVbaV0pKX1yZXR1cm4gdH1pLmQodCx7ZGVlcENvcHk6KCk9PnN9KX0sMTMxMjk0KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PU9iamVjdC5jcmVhdGUoZSk7cmV0dXJuIHQucmVsZWFzZT0oKT0+e30sdC5vd25lcnNoaXA9KCk9PnQsdH1mdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ZTtyZXR1cm4gdC5yZWxlYXNlPSgpPT50LmRlc3Ryb3koKSx0Lm93bmVyc2hpcD0oKT0+dCx0fWkuZCh0LHtvd25lcnNoaXA6KCk9Pm4sd2Vha1JlZmVyZW5jZTooKT0+c30pfSw2NDA3NDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCxpKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxpKX1mdW5jdGlvbiBuKGUpe3JldHVybiBlPDA/LTE6ZT4wPzE6MH1mdW5jdGlvbiByKGUpe2lmKGU8MClyZXR1cm4hMTtpZihlPjFlMTgpcmV0dXJuITA7Zm9yKGxldCB0PWU7dD4xO3QvPTEwKWlmKHQlMTAhPTApcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gbyhlLHQsaSl7cmV0dXJuIHQtZTw9aX1mdW5jdGlvbiBhKGUsdCxpKXtyZXR1cm4gTWF0aC5hYnMoZS10KTxpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGU8PTA/TmFOOk1hdGgubG9nKGUpL01hdGgubG9nKDEwKX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGU8dD8tMTplPnQ/MTowfWZ1bmN0aW9uIGgoZSx0PWMpe2lmKGUubGVuZ3RoPDEpdGhyb3cgRXJyb3IoImFycmF5IGlzIGVtcHR5Iik7bGV0IGk9ZVswXTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcyl0KGVbc10saSk8MCYmKGk9ZVtzXSk7cmV0dXJuIGl9ZnVuY3Rpb24gZChlLHQ9Yyl7aWYoZS5sZW5ndGg8MSl0aHJvdyBFcnJvcigiYXJyYXkgaXMgZW1wdHkiKTtsZXQgaT1lWzBdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7KytzKXQoZVtzXSxpKT4wJiYoaT1lW3NdKTtyZXR1cm4gaX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gcChlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIF8oZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBtKGUpe3JldHVybiBlJTI9PTB9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gTWF0aC5yb3VuZCgxZTEwKmUpLzFlMTB9aS5kKHQse2NlaWxlZEV2ZW46KCk9PnUsY2VpbGVkT2RkOigpPT5wLGNsYW1wOigpPT5zLGVxdWFsOigpPT5hLGZpeENvbXB1dGF0aW9uRXJyb3I6KCk9PmcsZ3JlYXRlck9yRXF1YWw6KCk9Pm8saXNCYXNlRGVjaW1hbDooKT0+cixpc0V2ZW46KCk9Pm0sbG9nMTA6KCk9PmwsbWF4OigpPT5kLG1pbjooKT0+aCxzaWduOigpPT5uLHRvSW50OigpPT5ffSl9LDYzODU3MShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPW5ldyBNYXA7cmV0dXJuIGZ1bmN0aW9uKC4uLnMpe2NvbnN0IG49IiIrKHQ/dC5hcHBseShudWxsLHMpOnNbMF0pO2lmKCFpLmhhcyhuKSl7Y29uc3QgdD1lLmFwcGx5KHRoaXMscyk7cmV0dXJuIGkuc2V0KG4sdCksdH1yZXR1cm4gaS5nZXQobil9fWkuZCh0LHttZW1vaXplOigpPT5zfSl9LDkxNDc3NShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtwYXJzZVR6T2Zmc2V0OigpPT5ufSk7dmFyIHM9aSg3MDA4MDkpO2Z1bmN0aW9uIG4oZSx0PURhdGUubm93KCkpe2NvbnN0IGk9KDAscy5nZXRfdGltZXpvbmUpKGUpLm9mZnNldF91dGModCk7bGV0IG49IiI7Y29uc3Qgcj1pLzFlMy82MC82MDtyJTEmJihuPSI6IitNYXRoLnJvdW5kKE1hdGguYWJzKHIlMSo2MCkpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpKTtsZXQgbz0iIjtyZXR1cm4gbz1yPjA/IisiKyhyLXIlMSkrbjowPT09cj8iIjpTdHJpbmcoci1yJTErbikse29mZnNldDppLHN0cmluZzoiVVRDIitvfX19LDM3ODA4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZVByaW1pdGl2ZVByb3BlcnR5OigpPT5ufSk7dmFyIHM9aSg3NjgyOTIpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIG5ldyBzLlByb3BlcnR5KGUpfX0sNjM2OTEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1Byb3BlcnR5QmFzZTooKT0+cn0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTQ4MzgwKTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fbGlzdGVuZXJzPW5ldyBuLkRlbGVnYXRlLHRoaXMuX211dGVDaGlsZENoYW5nZXM9ITEsdGhpcy5fb3duZXI9bnVsbCx0aGlzLl9uYW1lPSIifW5hbWVJbk93bmVyKCl7cmV0dXJuIHRoaXMuX25hbWV9c2V0TmFtZUluT3duZXIoZSl7dGhpcy5fbmFtZT1lfW93bmVyKCl7cmV0dXJuIHRoaXMuX293bmVyfXNldE93bmVyKGUpewp0aGlzLl9vd25lcj1lfXBhdGhUb1Jvb3QoKXtjb25zdCBlPXRoaXMuX293bmVyPy5wYXRoVG9Sb290KCk7cmV0dXJuIGU/YCR7ZX0uJHt0aGlzLl9uYW1lfWA6dGhpcy5fbmFtZX1wYXRoVG9Sb290UHJvcGVydHkoKXtpZighdGhpcy5fb3duZXIpcmV0dXJuIiI7Y29uc3QgZT10aGlzLl9vd25lci5wYXRoVG9Sb290UHJvcGVydHk/LigpO3JldHVybiBlP2Ake2V9LiR7dGhpcy5fbmFtZX1gOnRoaXMuX25hbWV9cmVtb3ZlUHJvcGVydHkoZSl7KDAscy5hc3NlcnQpKCExLGBUcnlpbmcgdG8gY2FsbCAicmVtb3ZlUHJvcGVydHkiIG9uIHByb3BlcnR5ICR7dGhpcy5wYXRoVG9Sb290KCl9YCl9YWRkQ2hpbGQoZSx0KXsoMCxzLmFzc2VydCkoITEsYFRyeWluZyB0byBjYWxsICJhZGRDaGlsZCIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1oYXNDaGlsZChlKXtyZXR1cm4hMX1jaGlsZENvdW50KCl7cmV0dXJuIDB9Y2hpbGROYW1lcygpe3JldHVybltdfWNoaWxkcygpeygwLHMuYXNzZXJ0KSghMSxgVHJ5aW5nIHRvIGNhbGwgImNoaWxkcyIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1zdGF0ZShlLHQpe3JldHVybiB0aGlzLnZhbHVlKCl9bWVyZ2UoZSx0KXsoMCxzLmFzc2VydCkoITEsYFRyeWluZyB0byBjYWxsICJtZXJnZSIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1tZXJnZUFuZEZpcmUoZSl7KDAscy5hc3NlcnQpKCExLGBUcnlpbmcgdG8gY2FsbCAibWVyZ2VBbmRGaXJlIiBvbiBwcm9wZXJ0eSAke3RoaXMucGF0aFRvUm9vdCgpfWApfWNoaWxkKGUpe2lmKHRoaXMuaGFzQ2hpbGQoZSkpcmV0dXJuIHRoaXMuY2hpbGRzKClbZV19bXV0ZUNoaWxkQ2hhbmdlcyhlKXt0aGlzLl9tdXRlQ2hpbGRDaGFuZ2VzPWV9ZmlyZUNoYW5nZWQoKXt0aGlzLl9saXN0ZW5lcnMuZmlyZSh0aGlzLHRoaXMucGF0aFRvUm9vdFByb3BlcnR5KCkpfWxpc3RlbmVycygpe3JldHVybiB0aGlzLl9saXN0ZW5lcnN9c3Vic2NyaWJlKGUsdCl7dGhpcy5saXN0ZW5lcnMoKS5zdWJzY3JpYmUoZSx0LCExKX11bnN1YnNjcmliZShlLHQpe3RoaXMubGlzdGVuZXJzKCkudW5zdWJzY3JpYmUoZSx0KX11bnN1YnNjcmliZUFsbChlKXt0aGlzLmxpc3RlbmVycygpLnVuc3Vic2NyaWJlQWxsKGUpfX19LDkyNTI4MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEYXRhVHlwZXM6KCk9PnMsY3JlYXRlUHJvcGVydHlTY2hlbWE6KCk9Pm0sZGF0YVR5cGU6KCk9PmQsZXh0cmFjdFN0YXRlV2l0aFNjaGVtYTooKT0+Zyxpc0FycmF5U2NoZW1hOigpPT5fLHZhbGlkYXRlU2NoZW1hOigpPT5wfSk7dmFyIHMsbj1pKDIwNjY3Mykscj1pKDMwNDIyMSksbz1pKDgxNzM1MCksYT1pKDI5NTYzNSksbD1pKDg4MDExNSksYz1pKDkxNzM3MSksaD1pKDEzODYzOCk7ZnVuY3Rpb24gZChlKXtyZXR1cm4oMCxuLmRlZmF1bHQpKGUpP3MuTlVNQkVSOigwLHIuZGVmYXVsdCkoZSk/cy5TVFJJTkc6KDAsby5kZWZhdWx0KShlKT9zLkJPT0xFQU46KDAsYS5kZWZhdWx0KShlKT9zLkFSUkFZOm51bGw9PT1lP3MuTlVMTDoib2JqZWN0Ij09dHlwZW9mIGU/cy5PQkpFQ1Q6cy5VTktOT1dOfSFmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLk5VTUJFUj0ibnVtYmVyIixlLkJPT0xFQU49ImJvb2xlYW4iLGUuT0JKRUNUPSJvYmplY3QiLGUuQVJSQVk9ImFycmF5IixlLk5VTEw9Im51bGwiLGUuVU5LTk9XTj0idW5rbm93biJ9KHN8fChzPXt9KSk7Y29uc3QgdT1bcy5BUlJBWSxzLk9CSkVDVF07ZnVuY3Rpb24gcChlLHQpe3RyeXtjb25zdCBpPWQoZSk7aWYoKDAsaC5hc3NlcnQpKGk9PT10LnR5cGV8fGk9PT1zLk5VTEwmJnQubnVsbGFibGV8fHQudHlwZT09PXMuVU5LTk9XTiksdS5pbmNsdWRlcyhpKSlzd2l0Y2godC50eXBlKXtjYXNlIHMuQVJSQVk6KDAsaC5hc3NlcnQpKGUuZXZlcnkoKGU9PnAoZSx0LnN1YnNjaGVtYSkpKSk7YnJlYWs7Y2FzZSBzLk9CSkVDVDpmb3IoY29uc3RbaSxzXW9mIE9iamVjdC5lbnRyaWVzKHQuc3Vic2NoZW1hKSkoMCxoLmFzc2VydCkocChlW2ldLHMpKX1yZXR1cm4hMH1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS50eXBlPT09cy5BUlJBWX1mdW5jdGlvbiBtKGUsdCl7bGV0IGk7Y29uc3Qgbj1kKGUpO3N3aXRjaChuKXtjYXNlIHMuTlVNQkVSOmNhc2Ugcy5TVFJJTkc6Y2FzZSBzLkJPT0xFQU46aT17dHlwZTpuLHNhdmVGbGFnczp0fTticmVhaztjYXNlIHMuQVJSQVk6aT17dHlwZTpzLkFSUkFZLHNhdmVGbGFnczp0LHN1YnNjaGVtYTptKGVbMF0sdCl9O2JyZWFrO2Nhc2Ugcy5PQkpFQ1Q6e2NvbnN0IG49e307Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyhlKSluW2ldPW0ocyx0KTtpPXt0eXBlOnMuT0JKRUNULHNhdmVGbGFnczp0LHN1YnNjaGVtYTpufTticmVha31kZWZhdWx0Omk9e3R5cGU6cy5VTktOT1dOLHNhdmVGbGFnczp0fX1yZXR1cm4gaX1mdW5jdGlvbiBnKGUsdCxpKXtpZighZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXMuT0JKRUNUfSh0KXx8ISgwLGwuZGVmYXVsdCkoZSkpcmV0dXJuIGU7Y29uc3Qgbj1PYmplY3Qua2V5cyhlKTtmb3IoY29uc3QgcyBvZiBuKXtjb25zdCBuPXQuc3Vic2NoZW1hW3NdO3ZvaWQgMD09PXQuc2F2ZUZsYWdzfHxufHwoMCxjLmRlZmF1bHQpKGUscyk7Y29uc3Qgcj1uPy5zYXZlRmxhZ3M7dm9pZCAwPT09cnx8ciZpfHwoMCxjLmRlZmF1bHQpKGUscyksbiYmZyhlW3NdLG4saSl9cmV0dXJuIGV9fSw3NjgyOTIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7UHJvcGVydHk6KCk9Pm0saXNQcmltaXRpdmVUeXBlOigpPT5ffSk7dmFyIHM9aSgyMDY2NzMpLG49aSgzMDQyMjEpLHI9aSg4MTczNTApLG89aSg5MjgxMzIpLGE9aSgyOTU2MzUpLGw9aSgxMzg2MzgpLGM9aSgyMjEwNjEpLGg9aSgxMzEyOTQpLGQ9aSg2MzY5MTIpLHU9aSg5MjUyODIpO2NvbnN0IHA9KDAsYy5nZXRMb2dnZXIpKCJQcm9wZXJ0eSIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIG51bGw9PT1lfHwoMCxzLmRlZmF1bHQpKGUpJiZOdW1iZXIuaXNGaW5pdGUoZSl8fCgwLG4uZGVmYXVsdCkoZSl8fCgwLHIuZGVmYXVsdCkoZSkKfWNsYXNzIG0gZXh0ZW5kcyBkLlByb3BlcnR5QmFzZXtjb25zdHJ1Y3RvcihlLHQpe2lmKHN1cGVyKCksdGhpcy5fY2hpbGRzPVtdLHRoaXMuX2RlcGVuZGVudHM9W10sdGhpcy5fc2NoZW1hPXR8fCgwLHUuY3JlYXRlUHJvcGVydHlTY2hlbWEpKGUpLHZvaWQgMCE9PWUpaWYoKDAsdS52YWxpZGF0ZVNjaGVtYSkoZSx0aGlzLl9zY2hlbWEpfHxwLmxvZ1dhcm4oYFRoZSBzdGF0ZSB3aXRoIGEgZGF0YSB0eXBlOiAkeygwLHUuZGF0YVR5cGUpKGUpfSBkb2VzIG5vdCBtYXRjaCBhIHNjaGVtYWApLF8oZSkpdGhpcy5fdmFsdWU9ZTtlbHNle2xldCB0PU9iamVjdC5lbnRyaWVzKGUpOygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKSYmKHQ9dC5maWx0ZXIoKChbZV0pPT4hTnVtYmVyLmlzTmFOKCtlKSkpKTtmb3IoY29uc3RbZSxpXW9mIHQpdGhpcy5hZGRQcm9wZXJ0eShlLGkpfX1kZXN0cm95KCl7dGhpcy5saXN0ZW5lcnMoKS5kZXN0cm95KCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY2hpbGRzKXRoaXMuY2hpbGQoZSk/LmRlc3Ryb3k/LigpfW1lcmdlKGUsdCl7bGV0IGk9bnVsbCxzPTA7aWYodCYmKGk9W10scz1pLmxlbmd0aCksdm9pZCAwPT09ZSlyZXR1cm4gaTtpZihfKGUpKXJldHVybiB0aGlzLl92YWx1ZSE9PWUmJmk/LnB1c2godGhpcyksdGhpcy5fdmFsdWU9ZSxpO2lmKCgwLGEuZGVmYXVsdCkoZSkpeygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKXx8cC5sb2dXYXJuKCJQcm9wZXJ0eSBpcyBub3QgYW4gYXJyYXkiKTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3Qgbj10aGlzLmNoaWxkcygpW3NdO2lmKG4pe2NvbnN0IHI9bi5tZXJnZShlW3NdLHQpO2k/LnB1c2goLi4ucil9ZWxzZXtjb25zdCB0PXRoaXMuYWRkUHJvcGVydHkoYCR7c31gLGVbc10pO2k/LnB1c2godCl9fX1lbHNle2xldCBzPU9iamVjdC5lbnRyaWVzKGUpOygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKSYmKHM9cy5maWx0ZXIoKChbZV0pPT4hTnVtYmVyLmlzTmFOKCtlKSkpKTtmb3IoY29uc3RbZSxuXW9mIHMpe2NvbnN0IHM9dGhpcy5jaGlsZHMoKVtlXTtpZihzKXtjb25zdCBlPXMubWVyZ2Uobix0KTtpPy5wdXNoKC4uLmUpfWVsc2V7Y29uc3QgdD10aGlzLmFkZFByb3BlcnR5KGUsbik7aT8ucHVzaCh0KX19fXJldHVybiBpJiZpLmxlbmd0aD5zJiZpLnB1c2godGhpcyksaX1tZXJnZUFuZEZpcmUoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubWVyZ2UoZSwhMCkpO3RoaXMuX2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHModCl9c3RhdGUoZSx0KXtjb25zdCBpPSgwLG8uZGVmYXVsdCkodGhpcy52YWx1ZSk/dGhpcy52YWx1ZSgpOnZvaWQgMDtpZih2b2lkIDAhPT1pKXJldHVybiBpO2NvbnN0IHM9KDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpP1tdOnt9O2Zvcihjb25zdCBpIG9mIHRoaXMuX2NoaWxkcyl7aWYoZSYmLTEhPT1lLmluZGV4T2YoaSkpY29udGludWU7aWYoKDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2kpKWNvbnRpbnVlO2lmKHZvaWQgMCE9PXQmJiJzdWJzY2hlbWEiaW4gdGhpcy5fc2NoZW1hKXtjb25zdCBlPSgwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKT90aGlzLl9zY2hlbWEuc3Vic2NoZW1hOnRoaXMuX3NjaGVtYS5zdWJzY2hlbWFbaV07aWYodm9pZCAwIT09dGhpcy5fc2NoZW1hLnNhdmVGbGFncyYmIWUpY29udGludWU7aWYodm9pZCAwIT09ZT8uc2F2ZUZsYWdzJiYhKGUuc2F2ZUZsYWdzJnQpKWNvbnRpbnVlfWNvbnN0IG49dGhpcy5jaGlsZHMoKVtpXTtsZXQgcjtpZihlKXtjb25zdCBzPVtdO2Zvcihjb25zdCB0IG9mIGUpdC5zdGFydHNXaXRoKGkrIi4iKSYmcy5wdXNoKHQuc3Vic3RyaW5nKGkubGVuZ3RoKzEpKTtyPW4/LnN0YXRlKHMsdCl9ZWxzZSByPW4/LnN0YXRlKCk7KHZvaWQgMCE9PXJ8fG4/LnN0b3JlU3RhdGVJZlVuZGVmaW5lZCgpKSYmKCgwLGEuZGVmYXVsdCkocyk/c1sraV09cjpzW2ldPXIpfXJldHVybiBzfWNsb25lKCl7cmV0dXJuIG5ldyBtKHRoaXMuc3RhdGUoKSl9dmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Y2hpbGRDb3VudCgpe3JldHVybiB0aGlzLl9jaGlsZHMubGVuZ3RofWNoaWxkTmFtZXMoKXtyZXR1cm4gdGhpcy5fY2hpbGRzfWNoaWxkQnlQYXRoKGUpe2xldCB0PXRoaXM7Zm9yKGNvbnN0IGkgb2YgZS5zcGxpdCgiLiIpKXtpZih2b2lkIDA9PT10KWJyZWFrO3Q9dC5jaGlsZChpKX1yZXR1cm4gdH1oYXNDaGlsZChlKXtyZXR1cm4gdGhpcy5fY2hpbGRzLmluY2x1ZGVzKGUpfXNldFZhbHVlKGUsdCl7KHRoaXMuX3ZhbHVlIT09ZXx8dCkmJih0aGlzLl92YWx1ZT1lLHRoaXMuZmlyZUNoYW5nZWQoKSl9c2V0VmFsdWVTaWxlbnRseShlKXt0aGlzLl92YWx1ZT1lfWFkZFByb3BlcnR5KGUsdCl7bGV0IGk7KDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2UpJiZwLmxvZ1dhcm4oIlByb3BlcnR5IGlzIGFuIGFycmF5IiksdGhpcy5yZW1vdmVQcm9wZXJ0eShlKSx0aGlzLl9zY2hlbWEudHlwZT09PXUuRGF0YVR5cGVzLk9CSkVDVD9pPXRoaXMuX3NjaGVtYS5zdWJzY2hlbWFbZV06dGhpcy5fc2NoZW1hLnR5cGU9PT11LkRhdGFUeXBlcy5BUlJBWSYmKGk9dGhpcy5fc2NoZW1hLnN1YnNjaGVtYSk7Y29uc3Qgcz1uZXcgbSh0LGkpO3JldHVybiB0aGlzW2VdPXMsdGhpcy5fY2hpbGRzLnB1c2goZSkscy5zdWJzY3JpYmUodGhpcywoKGUsdCk9Pnt0aGlzLl9jaGlsZENoYW5nZWQoZSx0KX0pKSxzLnNldE93bmVyKHRoaXMpLHMuc2V0TmFtZUluT3duZXIoZSksc31yZW1vdmVQcm9wZXJ0eShlKXtjb25zdCB0PXRoaXMuY2hpbGQoZSk7dCYmKHQuc2V0TmFtZUluT3duZXIoIiIpLHQuc2V0T3duZXIobnVsbCksdC51bnN1YnNjcmliZUFsbCh0aGlzKSxkZWxldGUgdGhpc1tlXSx0aGlzLl9jaGlsZHM9dGhpcy5fY2hpbGRzLmZpbHRlcigodD0+dCE9PWUpKSl9YWRkQ2hpbGQoZSx0KXtpZigoMCwKdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2UpKXRocm93IG5ldyBFcnJvcigiUHJvcGVydHkgaXMgYW4gYXJyYXkiKTt0aGlzW2VdJiZ0aGlzLnJlbW92ZVByb3BlcnR5KGUpLHRoaXNbZV09dCwtMT09PXRoaXMuX2NoaWxkcy5pbmRleE9mKGUpJiZ0aGlzLl9jaGlsZHMucHVzaChlKSx0LnN1YnNjcmliZSh0aGlzLCgoZSx0KT0+dGhpcy5fY2hpbGRDaGFuZ2VkKGUsdCkpKSx0LnNldE93bmVyKHRoaXMpLHQuc2V0TmFtZUluT3duZXIoZSl9Y2hpbGRzKCl7cmV0dXJuIHRoaXN9c3RvcmVTdGF0ZUlmVW5kZWZpbmVkKCl7cmV0dXJuITB9b3duZXJzaGlwKCl7cmV0dXJuKDAsaC5vd25lcnNoaXApKHRoaXMpfXdlYWtSZWZlcmVuY2UoKXtyZXR1cm4oMCxoLndlYWtSZWZlcmVuY2UpKHRoaXMpfWFkZERlcGVuZGVudChlKXt0aGlzLl9kZXBlbmRlbnRzLnB1c2goZSl9cmVtb3ZlRGVwZW5kZW50KGUpe2NvbnN0IHQ9dGhpcy5fZGVwZW5kZW50cy5pbmRleE9mKGUpO3Q+PTAmJnRoaXMuX2RlcGVuZGVudHMuc3BsaWNlKHQsMSl9ZGVwZW5kZW50cygpe3JldHVybiB0aGlzLl9kZXBlbmRlbnRzfXN0YXRpYyppdGVyYXRlUHJvcGVydGllcyhlLHQpe2Zvcihjb25zdCBpIG9mIHQpeWllbGRbZS5jaGlsZHMoKVtpXSxpXX1fY2hpbGRDaGFuZ2VkKGUsdCl7dGhpcy5fbXV0ZUNoaWxkQ2hhbmdlc3x8dGhpcy5fbGlzdGVuZXJzLmZpcmUodGhpcyx0KX1fZmlyZU1lcmdlQW5kRmlyZUNoYW5nZWRQcm9wcyhlKXt0aGlzLm11dGVDaGlsZENoYW5nZXMoITApO2Zvcihjb25zdCB0IG9mIGUpdC5tdXRlQ2hpbGRDaGFuZ2VzKCEwKTtmb3IoY29uc3QgdCBvZiBlKXQubXV0ZUNoaWxkQ2hhbmdlcyghMSksdC5maXJlQ2hhbmdlZCgpO3RoaXMubXV0ZUNoaWxkQ2hhbmdlcyghMSl9fX0sNzQxNjkwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NvbWJpbmVQcm9wZXJ0eTooKT0+bn0pO3ZhciBzPWkoMzc4MDgpO2Z1bmN0aW9uIG4oZSwuLi50KXtjb25zdCBpPSgpPT5lKC4uLnQubWFwKChlPT5lLnZhbHVlKCkpKSksbj0oMCxzLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KShpKCkpLHI9KCk9Pm4uc2V0VmFsdWUoaSgpKSxvPXt9O2Zvcihjb25zdCBlIG9mIHQpZS5zdWJzY3JpYmUobyxyKTtyZXR1cm4gbi5kZXN0cm95PSgpPT57dC5mb3JFYWNoKChlPT5lLnVuc3Vic2NyaWJlQWxsKG8pKSksdC5mb3JFYWNoKChlPT5lLnJlbGVhc2UoKSkpfSxufX0sNTUyMTQ1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlOigpPT5ufSk7dmFyIHM9aSgyMzIzNjQpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1uZXcgcy5XYXRjaGVkVmFsdWUoZS52YWx1ZSgpKTtsZXQgaT0hMTtlLnN1YnNjcmliZSh0LCgoKT0+e2l8fChpPSEwLHQuc2V0VmFsdWUoZS52YWx1ZSgpKSxpPSExKX0pKTtjb25zdCBuPSgpPT57aXx8KGk9ITAsZS5zZXRWYWx1ZSh0LnZhbHVlKCkpLGk9ITEpfTtyZXR1cm4gdC5zdWJzY3JpYmUobiksdC5zcGF3bigoKCk9PntlLnVuc3Vic2NyaWJlQWxsKHQpLHQudW5zdWJzY3JpYmUobil9KSl9fSwzMTQ4MDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y3JlYXRlV1ZGcm9tUHJvcGVydHk6KCk9Pm59KTt2YXIgcz1pKDI0MTk1Nik7ZnVuY3Rpb24gbihlKXtyZXR1cm4oMCxzLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLnZhbHVlKCkpLGUpfX0sNDczMDY4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZX1pLmQodCx7Y3JlYXRlU2VydmljZURlc2NyaXB0b3I6KCk9PnN9KX0sNTgzMDM4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5pbmNsdWRlcygiOiIpP2Uuc3BsaXQoIjoiKTpbIiIsZV19aS5kKHQse3NwbGl0U3ltYm9sTmFtZTooKT0+c30pfSw2MDE4NDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2xvbmU6KCk9Pm8sZGVlcEVxdWFsczooKT0+ZCxoYXNQcm9wZXJ0eTooKT0+Yyxpc0Fic2VudDooKT0+Xyxpc0FycmF5OigpPT51LGlzRXhpc3RlbnQ6KCk9Pm0saXNJbnRlZ2VyOigpPT5mLGlzTmFOOigpPT5wLGlzTnVtYmVyOigpPT5yLGlzT2JqZWN0OigpPT5sLGlzUHJvbWlzZTooKT0+dixpc1NhbWVUeXBlOigpPT5nLGlzU3RyaW5nOigpPT5TLG1lcmdlOigpPT5hLG5vdE51bGw6KCk9Pnksbm90VW5kZWZpbmVkOigpPT5ifSk7Y29uc3Qgcz1uZXcgU2V0KFsiX19wcm90b19fIiwicHJvdG90eXBlIiwiY29uc3RydWN0b3IiXSk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcy5oYXMoZSl9ZnVuY3Rpb24gcihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmlzRmluaXRlKGUpfWZ1bmN0aW9uIG8oZSl7aWYoIWV8fCJvYmplY3QiIT10eXBlb2YgZSlyZXR1cm4gZTtsZXQgdDt0PUFycmF5LmlzQXJyYXkoZSk/W106e307Zm9yKGNvbnN0IGkgaW4gZSlpZihlLmhhc093blByb3BlcnR5KGkpKXtjb25zdCBzPWVbaV07dFtpXT1zJiYib2JqZWN0Ij09dHlwZW9mIHM/byhzKTpzfXJldHVybiB0fWZ1bmN0aW9uIGEoZSx0KXtpZighbChlKXx8IWwodCkpcmV0dXJuIGU7Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyh0KSluKGkpfHwocyYmKGgocyl8fCF1KHMpJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YocykhPT1PYmplY3QucHJvdG90eXBlKT9lW2ldPXM6KGUuaGFzT3duUHJvcGVydHkoaSkmJmwoZVtpXSl8fCFsKHMpfHwoZVtpXT1BcnJheS5pc0FycmF5KHMpP1tdOnt9KSxsKHMpJiZsKGVbaV0pP2EoZVtpXSxzKTplW2ldPXMpKTtyZXR1cm4gZX1mdW5jdGlvbiBsKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWV9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiB0IGluIGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4gbnVsbCE9ZSYmKGUuY29uc3RydWN0b3I9PT1GdW5jdGlvbnx8IltvYmplY3QgRnVuY3Rpb25dIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSl9ZnVuY3Rpb24gZChlLHQsaT0iIil7aWYoZT09PXQpcmV0dXJuWyEwLGldO2lmKGgoZSkmJihlPXZvaWQgMCksaCh0KSYmKHQ9dm9pZCAwKSwKbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsaV07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LGldO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpe2NvbnN0IHM9ZS5sZW5ndGg7aWYocyE9PXQubGVuZ3RoKXJldHVyblshMSxpXTtmb3IobGV0IG49MDtuPHM7bisrKXtjb25zdCBzPWQoZVtuXSx0W25dLGkrIlsiK24rIl0iKTtpZighc1swXSlyZXR1cm4gc31yZXR1cm5bITAsaV19aWYoQXJyYXkuaXNBcnJheShlKXx8QXJyYXkuaXNBcnJheSh0KSlyZXR1cm5bITEsaV07aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKXJldHVyblshMSxpXTtmb3IoY29uc3QgcyBpbiBlKXtjb25zdCBuPWQoZVtzXSx0W3NdLGkrIlsiK3MrIl0iKTtpZighblswXSlyZXR1cm4gbn1yZXR1cm5bITAsaV19Y29uc3QgdT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfTtmdW5jdGlvbiBwKGUpe3JldHVybiEoZTw9MHx8ZT4wKX1mdW5jdGlvbiBfKGUpe3JldHVybiBudWxsPT1lfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIG51bGwhPWV9ZnVuY3Rpb24gZyhlLHQpe3JldHVybiBOdW1iZXIuaXNOYU4oZSl8fE51bWJlci5pc05hTih0KT9OdW1iZXIuaXNOYU4oZSk9PT1OdW1iZXIuaXNOYU4odCk6e30udG9TdHJpbmcuY2FsbChlKT09PXt9LnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmUlMT09MH1mdW5jdGlvbiBTKGUpe3JldHVybiBudWxsIT1lJiZlLmNvbnN0cnVjdG9yPT09U3RyaW5nfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGwoZSkmJiJ0aGVuImluIGUmJmgoZS50aGVuKX1mdW5jdGlvbiB5KGUpe3JldHVybiBudWxsIT09ZX1mdW5jdGlvbiBiKGUpe3JldHVybiB2b2lkIDAhPT1lfU51bWJlci5pc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfX0sNTcwNjAzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1RyYW5zbGF0ZWRTdHJpbmc6KCk9PnJ9KTtjb25zdCBzPS97KFx3Kyl9L2c7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBlLnJlcGxhY2UocywoKGUsaSk9PnZvaWQgMCE9PXRbaV0/dFtpXTplKSl9Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX29yaWdpbmFsVGV4dD1lLHRoaXMuX3RyYW5zbGF0ZWRUZXh0PXR9b3JpZ2luYWxUZXh0KCl7cmV0dXJuIHRoaXMuX29yaWdpbmFsVGV4dH10cmFuc2xhdGVkVGV4dCgpe3JldHVybiB0aGlzLl90cmFuc2xhdGVkVGV4dH1mb3JtYXQoZSl7Y29uc3QgdD17fSxpPXt9O2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBuPWVbc107biBpbnN0YW5jZW9mIHI/KHRbc109bi5vcmlnaW5hbFRleHQoKSxpW3NdPW4udHJhbnNsYXRlZFRleHQoKSk6KHRbc109bi50b1N0cmluZygpLGlbc109bi50b1N0cmluZygpKX1jb25zdCBzPW4odGhpcy5fb3JpZ2luYWxUZXh0LHQpLG89bih0aGlzLl90cmFuc2xhdGVkVGV4dCxpKTtyZXR1cm4gbmV3IHIocyxvKX19fSwyMzczNjkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0RXJyb3JNZXNzYWdlOigpPT5hLGdldExvZ2dlck1lc3NhZ2U6KCk9Pm99KTt2YXIgcz1pKDc4MzI1NCksbj1pKDY0MTU5Myk7Y2xhc3MgciBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHtkZXRhaWxlZEVycm9yTWVzc2FnZTplLHVzZXJGcmllbmRseU1lc3NhZ2U6dCxjYXVzZTppfSl7c3VwZXIodCksdGhpcy5uYW1lPSJVc2VyRnJpZW5kbHlFcnJvciIsdGhpcy5kZXRhaWxlZEVycm9yTWVzc2FnZT1lLHRoaXMuY2F1c2U9aX19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHI/KDAsbi5yZW1vdmVUYWdzKShlLmRldGFpbGVkRXJyb3JNZXNzYWdlKTphKGUpfWZ1bmN0aW9uIGEoZSl7aWYodm9pZCAwPT09ZSlyZXR1cm4gcy50KG51bGwsdm9pZCAwLGkoOTkxMjU4KSk7bGV0IHQ7cmV0dXJuIHQ9ZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToib2JqZWN0Ij09dHlwZW9mIGU/ImVycm9yImluIGU/ZS5lcnJvcjpKU09OLnN0cmluZ2lmeShlKTplLnRvU3RyaW5nKCksKDAsbi5yZW1vdmVUYWdzKSh0KX19LDUzNTMwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldE1pblRpY2s6KCk9PmMsZ2V0TWluVGlja0RhdGE6KCk9PmwsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmR9KTt2YXIgcz1pKDcxMjc0NSksbj1pKDYwMTg0MSkscj1pKDUzNDQ0MCksbz1pKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxzLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBsKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTppLHZhcmlhYmxlTWluVGlja0RhdGE6cyxzaG91bGRDaGVja0ZvckVxdWFsaXR5OnJ9PWUsbz0oMCxuLmlzTnVtYmVyKSh0KT9oKHQpOnQ7cmV0dXJuIHZvaWQgMD09PXM/bzpmdW5jdGlvbihlLHQsaT0hMSl7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspe2lmKGU8dFtzXS5wcmljZSlyZXR1cm4gdFtzXS5taW5UaWNrO2lmKGkmJmU9PT10W3NdLnByaWNlKXJldHVybiB0W3NdLm1pblRpY2t9cmV0dXJuIHRbdC5sZW5ndGgtMV0ubWluVGlja30oaSxzLHIpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGEobChlKSl9ZnVuY3Rpb24gaChlKXtjb25zdCB0PSgwLHIubnVtT2ZEZWNpbWFsUGxhY2VzKShlKSxpPU1hdGgucG93KDEwLHQpO3JldHVybntwcmljZVNjYWxlOmksbWluTW92ZTooMCxzLkJpZykoZSkubXVsKGkpLnRvTnVtYmVyKCl9fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBpPVt7bWluVGljazooMCxuLmlzTnVtYmVyKShlKT9oKGUpOmUscHJpY2U6MS8wLG1heEluZGV4OjEvMH1dO3RyeXtjb25zdCBlPXQuc3BsaXQoIiAiKS5tYXAoKChlLHQpPT4oMCxvLmlzRXZlbikodCk/ZnVuY3Rpb24oZSl7Y29uc3QgdD1OdW1iZXIoZSk7aWYoTnVtYmVyLmlzRmluaXRlKHQpKXJldHVybiBoKHQpO3tjb25zdCB0PWUuc3BsaXQoIi8iKQo7aWYodC5sZW5ndGg8Mnx8dC5sZW5ndGg+Myl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgbWludGljazogJHtlfWApO2NvbnN0IGk9TnVtYmVyKHRbMV0pLHM9TnVtYmVyKHRbMF0pO2lmKCFOdW1iZXIuaXNGaW5pdGUoaSl8fCFOdW1iZXIuaXNGaW5pdGUocykpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBuPTM9PT10Lmxlbmd0aD9OdW1iZXIodFsyXSk6dm9pZCAwO2lmKHZvaWQgMCE9PW4mJiFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCByPXtwcmljZVNjYWxlOmksbWluTW92ZTpzfTtyZXR1cm4gdm9pZCAwIT09biYmKHIubWluTW92ZTI9bikscn19KGUpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9TnVtYmVyKGUpO2lmKE51bWJlci5pc05hTih0KSl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgcHJpY2UgbGltaXQ6ICR7ZX1gKTtyZXR1cm4gdH0oZSkpKTtpZigoMCxvLmlzRXZlbikoZS5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigiVGhlbWUgbXVzdCBub3QgYmUgZXZlbnQgbnVtYmVyIG9mIGVsZW1lbnRzIik7Y29uc3QgaT1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTIpe2NvbnN0IG49ZVt0KzFdPz8xLzAscj1pW2kubGVuZ3RoLTFdPy5wcmljZT8/MCxvPWlbaS5sZW5ndGgtMV0/Lm1heEluZGV4Pz8wLGw9bj09PTEvMD8xLzA6bmV3IHMuQmlnKG4pLm1pbnVzKHIpLmRpdihhKGVbdF0pKS5wbHVzKG8pLnRvTnVtYmVyKCk7aS5wdXNoKHttaW5UaWNrOmVbdF0scHJpY2U6bixtYXhJbmRleDpsfSl9cmV0dXJuIGl9Y2F0Y2h7cmV0dXJuIGl9fX0sNzU0ODY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0RhdGVUaW1lV2l0aFR6Rm9ybWF0dGVyOigpPT5ofSk7dmFyIHM9aSg3MDA4MDkpLG49aSg5MTQ3NzUpLHI9aSgyOTcxMTEpLG89aSgyMzgxMDMpLGE9aSg2MjQ2NzgpLGw9aSg4MjYxNTYpO2NvbnN0IGM9e2RhdGVGb3JtYXQ6Ik1NTSBkZCIsdGltZUZvcm1hdDpvLmhvdXJNaW51dGVGb3JtYXR9O2NsYXNzIGh7Y29uc3RydWN0b3IoZT17fSl7Y29uc3R7ZGF0ZUZvcm1hdDp0LHRpbWVGb3JtYXQ6aSx0aW1lem9uZTpufT17Li4uYywuLi5lfTt0JiZpP3RoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IGwuRGF0ZVRpbWVGb3JtYXR0ZXIoe2RhdGVGb3JtYXQ6dCx0aW1lRm9ybWF0Oml9KTp0P3RoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IGEuRGF0ZUZvcm1hdHRlcih0KTppJiYodGhpcy5fZGF0ZUZvcm1hdHRlcj1uZXcgci5UaW1lRm9ybWF0dGVyKGkpKSx0aGlzLl90aW1lem9uZT0oMCxzLmdldF90aW1lem9uZSkobj8/IkV0Yy9VVEMiKX1mb3JtYXQoZSl7Y29uc3QgdD0xZTMqZSxpPSgwLG4ucGFyc2VUek9mZnNldCkodGhpcy5fdGltZXpvbmUubmFtZSgpLHQpLnN0cmluZztyZXR1cm4gdm9pZCAwPT09dGhpcy5fZGF0ZUZvcm1hdHRlcj9pOmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KCgwLHMudXRjX3RvX2NhbCkodGhpcy5fdGltZXpvbmUsdCkpfSAke2l9YH1zZXRUaW1lem9uZShlKXt0aGlzLl90aW1lem9uZT0oMCxzLmdldF90aW1lem9uZSkoZSl9fX0sODIyNDMxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse251bURlcGVuZGVuY3lGb3JtYXR0ZXI6KCk9PnIsbnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm86KCk9Pm4seWllbGRDdXJ2ZVRpY2ttYXJrc1ByaWNlRm9ybWF0dGVyOigpPT5vfSk7dmFyIHM9aSg2MDE4NDEpO2Z1bmN0aW9uIG4oZSx0KXtpZighKDAscy5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLHMuaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9ZnVuY3Rpb24gcihlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGk9Pntjb25zdCBzPWk/Py0xO2xldCBuPXQuZ2V0KHMpO3JldHVybiBufHwobj1lKGkpLHQuc2V0KHMsbikpLG59fWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD1mdW5jdGlvbihlLHQpe2xldCBpPXQ7Zm9yKDtpPjA7aS0tKXtjb25zdCB0PU1hdGgucG93KDEwLGkpO2lmKGUubWFwKChlPT5NYXRoLnJvdW5kKGUqdCkpKS5zb21lKChlPT5lJTEwKSkpYnJlYWt9cmV0dXJuIGl9KGUsNCk7cmV0dXJuIGUubWFwKChlPT5gJHtlLnRvRml4ZWQodCl9JWApKX19LDE3MjMwNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtGb3JtYXR0ZXJzU2VyaWFsaXplcjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTg0Mzc2KSxyPWkoNzU1NjI3KSxvPWkoMTI1MjE4KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMudHlwZT0icXVvdGVTZXNzaW9uUHJpY2UiLHRoaXMucmVzZXQoZSl9c3RhdGUoKXtyZXR1cm4gdGhpcy5fcHJpY2VGb3JtYXR0ZXIuc3RhdGUoKX1yZXNldChlKXt0aGlzLl9wcmljZUZvcm1hdHRlcj1lfHxuZXcgci5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZToxMDAsbWluTW92ZToxLGZyYWN0aW9uYWw6ITF9KX11cGRhdGUoZSx0KXtjb25zdCBpPW51bGwhPXQucHJpY2VzY2FsZXx8bnVsbCE9dC5taW5tb3Z8fG51bGwhPXQuZnJhY3Rpb25hbHx8bnVsbCE9dC5taW5tb3ZlMixzPW51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3YmJm51bGwhPWUuZnJhY3Rpb25hbCYmbnVsbCE9ZS5taW5tb3ZlMjtpJiZzJiYodGhpcy5fcHJpY2VGb3JtYXR0ZXI9bmV3IHIuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6ZS5wcmljZXNjYWxlLG1pbk1vdmU6ZS5taW5tb3YsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWx8fCExLG1pbk1vdmUyOmUubWlubW92ZTJ9KSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX3ByaWNlRm9ybWF0dGVyLmZvcm1hdChlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUZvcm1hdHRlci5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX0Kc3RhdGljIHNlcmlhbGl6ZShlKXtyZXR1cm4gZS5zdGF0ZSgpfXN0YXRpYyBkZXNlcmlhbGl6ZShlKXtjb25zdCB0PW5ldyByLlByaWNlRm9ybWF0dGVyKGUpO3JldHVybiBuZXcgYSh0KX19Y29uc3QgbD17cHJpY2U6ci5QcmljZUZvcm1hdHRlcix2b2x1bWU6bi5Wb2x1bWVGb3JtYXR0ZXIscGVyY2VudGFnZTpvLlBlcmNlbnRhZ2VGb3JtYXR0ZXIscXVvdGVTZXNzaW9uUHJpY2U6YX07dmFyIGM7IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuKDAscy5lbnN1cmVEZWZpbmVkKShsW2UudHlwZV0pLmRlc2VyaWFsaXplKGUuc3RhdGUpfWUuc2VyaWFsaXplPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAscy5lbnN1cmVEZWZpbmVkKShsW2UudHlwZV0pO3JldHVybnt0eXBlOmUudHlwZSxzdGF0ZTp0LnNlcmlhbGl6ZShlKX19LGUuaXNTZXJpYWxpemFibGU9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlLnR5cGUmJmUudHlwZSBpbiBsfSxlLmRlc2VyaWFsaXplPXQsZS5zYWZlRGVzZXJpYWxpemU9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0KGUpfWNhdGNoKGUpe3JldHVybiBudWxsfX19KGN8fChjPXt9KSl9LDI1MjQyNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMaW1pdGVkUHJlY2lzaW9uTnVtZXJpY0Zvcm1hdHRlcjooKT0+cn0pO3ZhciBzLG49aSgxMDcwNDUpOyFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFByZWNpc2lvbj0xXT0iRGVmYXVsdFByZWNpc2lvbiJ9KHN8fChzPXt9KSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlPXMuRGVmYXVsdFByZWNpc2lvbix0KXt0aGlzLl9wcmVjaXNpb249ZSx0aGlzLl9udW1lcmljRm9ybWF0dGVyPW5ldyBuLk51bWVyaWNGb3JtYXR0ZXIoe3ByZWNpc2lvbjp0aGlzLl9wcmVjaXNpb24saWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OnR9KX1mb3JtYXQoZSx0KXtjb25zdCBpPWUudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLHM9TWF0aC5wb3coMTAsLXRoaXMuX3ByZWNpc2lvbik7cmV0dXJuIHRoaXMuX251bWVyaWNGb3JtYXR0ZXIuZm9ybWF0KE1hdGgubWF4KHBhcnNlRmxvYXQoaSkscyksdCl9cGFyc2UoZSx0KXtjb25zdCBpPXRoaXMuX251bWVyaWNGb3JtYXR0ZXIucGFyc2UoZSx0KTtyZXR1cm4gaS5yZXM/e3JlczohMCx2YWx1ZTppLnZhbHVlLHN1Z2dlc3Q6dGhpcy5mb3JtYXQoaS52YWx1ZSl9Oml9fX0sMjEyMzQ2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1RpbWVTcGFuRm9ybWF0dGVyOigpPT5vfSk7dmFyIHM9aSg3ODMyNTQpLG49aSg1OTg5MjIpLHI9aSg1NDY0ODUpO2NsYXNzIG97Zm9ybWF0KGUsdCl7Y29uc3Qgbz1lPDA7ZT1NYXRoLmFicyhlKTtjb25zdCBhPU1hdGguZmxvb3IoZS84NjQwMCk7ZS09ODY0MDAqYTtjb25zdCBsPU1hdGguZmxvb3IoZS8zNjAwKTtlLT0zNjAwKmw7Y29uc3QgYz1NYXRoLmZsb29yKGUvNjApO2UtPTYwKmM7bGV0IGg9IiI7aWYoYSl7Y29uc3QgZT0oMCxyLmdldE51bWJlckZvcm1hdCkodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0KTtoKz0oMCxuLmZvcm1hdE51bWJlcikoYSxlKStzLnQobnVsbCx7Y29udGV4dDoiZGF0ZXMifSxpKDIzMDQ5MikpKyIgIn1yZXR1cm4gbCYmKGgrPWwrcy50KG51bGwse2NvbnRleHQ6ImRhdGVzIn0saSgxMjIwNTMpKSsiICIpLGMmJihoKz1jK3MudChudWxsLHtjb250ZXh0OiJkYXRlcyJ9LGkoMTY0NTE2KSkrIiAiKSxlJiYoaCs9ZStzLnQobnVsbCx7Y29udGV4dDoiZGF0ZXMifSxpKDI2MjIwNSkpKyIgIiksbyYmKGg9Ii0iK2gpLGgudHJpbSgpfX19LDg1NjU2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZDooKT0+YX0pO3ZhciBzPWkoNjAxODQxKSxuPWkoOTk1NjU1KSxyPWkoODY2NzQ4KSxvPWkoODQ4NjAxKTthc3luYyBmdW5jdGlvbiBhKGUpe2NvbnN0IHQ9KDAsby5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdHtuc0RhdGE6aSxwYXJzZWREYXRhOmF9PXQ7cmV0dXJuIGkuaW5kZXhlc19yZXBsYWNlfHwoKDAscy5oYXNQcm9wZXJ0eSkoYSwiZGF0YUNvbXByZXNzZWQiKSYmKGkuZGF0YT1hd2FpdCgwLHIudW5wYWNrKShhLmRhdGFDb21wcmVzc2VkKSksKDAscy5oYXNQcm9wZXJ0eSkoYSwiZ3JhcGhpY3NDbWRzQ29tcHJlc3NlZCIpJiYoaS5ncmFwaGljc0NtZHM9KDAsbi52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKGF3YWl0KDAsci51bnBhY2spKGEuZ3JhcGhpY3NDbWRzQ29tcHJlc3NlZCkpKSksaX19LDg1NzE1MShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtQbG90TGlzdDooKT0+dSxtZXJnZU1pbk1heDooKT0+cH0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoMjIxMDYxKSxyPWkoMTk4OTAxKSxvPWkoODE0NTg5KSxhPWkoOTM2MzI2KTtjb25zdCBsPSgwLG4uZ2V0TG9nZ2VyKSgiQ2hhcnQuUGxvdExpc3QiKSxjPTMwO2Z1bmN0aW9uIGgoZSl7cmV0dXJuIGUuaW5kZXh9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS52YWx1ZVswXX1jbGFzcyB1e2NvbnN0cnVjdG9yKGU9bnVsbCx0PW51bGwpe3RoaXMuX2l0ZW1zPVtdLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPTAsdGhpcy5fc2hhcmVSZWFkPSExLHRoaXMuX21pbk1heENhY2hlPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4PW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4V2l0aG91dEVtcHR5VmFsdWVzPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWU9bmV3IE1hcCx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZVdpdGhvdXRFbXB0eVZhbHVlcz1uZXcgTWFwLHRoaXMuX3Bsb3RGdW5jdGlvbnM9ZXx8bmV3IE1hcCx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlPXR9Y2xlYXIoKXt0aGlzLl9pdGVtcz1bXSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD0wLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKX1maXJzdCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2l0ZW1zW3RoaXMuX3N0YXJ0XTpudWxsfWxhc3QoKXsKcmV0dXJuIHRoaXMuc2l6ZSgpPjA/dGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdOm51bGx9Zmlyc3RJbmRleCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2luZGV4QXQodGhpcy5fc3RhcnQpOm51bGx9Zmlyc3RQbG90dGFibGVJbmRleCgpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2ZvcihsZXQgZT10aGlzLl9zdGFydDtlPHRoaXMuX2VuZDsrK2Upe2NvbnN0IHQ9dGhpcy5faW5kZXhBdChlKTtpZih0Pm8uVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWClyZXR1cm4gdH1yZXR1cm4gbnVsbH1sYXN0SW5kZXgoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pbmRleEF0KHRoaXMuX2VuZC0xKTpudWxsfWNsb25lKCl7Y29uc3QgZT10aGlzLmZpcnN0SW5kZXgoKSx0PXRoaXMubGFzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1lfHxudWxsPT09dD9uZXcgdTp0aGlzLnJhbmdlKGUsdCl9c2l6ZSgpe3JldHVybiB0aGlzLl9lbmQtdGhpcy5fc3RhcnR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5zaXplKCl9Y29udGFpbnMoZSl7cmV0dXJuIG51bGwhPT10aGlzLnNlYXJjaChlLGEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpfXZhbHVlQXQoZSl7Y29uc3QgdD10aGlzLnNlYXJjaChlKTtyZXR1cm4gbnVsbCE9PXQ/dC52YWx1ZTpudWxsfWFkZChlLHQpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gbC5sb2dEZWJ1ZygiYWRkOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksITE7Y29uc3QgaT17aW5kZXg6ZSx2YWx1ZTp0fSxzPXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLGEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QsaCk7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSxudWxsPT09cz8odGhpcy5faXRlbXMuc3BsaWNlKHRoaXMuX2xvd2VyYm91bmQoZSxoKSwwLGkpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCwhMCk6KHRoaXMuX2l0ZW1zW3NdPWksITEpfXNlYXJjaChlLHQ9YS5QbG90Um93U2VhcmNoTW9kZS5FeGFjdCxpKXtyZXR1cm4gdGhpcy5fc2VhcmNoSW1wbChlLHQsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleFdpdGhvdXRFbXB0eVZhbHVlcyxoLGkpfXNlYXJjaEJ5VGltZShlLHQ9YS5QbG90Um93U2VhcmNoTW9kZS5FeGFjdCxpKXtyZXR1cm4gdGhpcy5fc2VhcmNoSW1wbChlLHQsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWUsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWVXaXRob3V0RW1wdHlWYWx1ZXMsZCxpKX1mb2xkKGUsdCl7bGV0IGk9dDtmb3IobGV0IHQ9dGhpcy5fc3RhcnQ7dDx0aGlzLl9lbmQ7Kyt0KXtpPWUodGhpcy5faW5kZXhBdCh0KSx0aGlzLl92YWx1ZUF0KHQpLGkpfXJldHVybiBpfWZpbmRGaXJzdChlLHQpe2NvbnN0IGk9dm9pZCAwIT09dCYmTWF0aC5taW4odGhpcy5fc3RhcnQrdCx0aGlzLl9lbmQpfHx0aGlzLl9lbmQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8aTsrK3Qpe2NvbnN0IGk9dGhpcy5faW5kZXhBdCh0KSxzPXRoaXMuX3ZhbHVlQXQodCk7aWYoZShpLHMpKXJldHVybntpbmRleDppLHZhbHVlOnN9fXJldHVybiBudWxsfWZpbmRMYXN0KGUsdCl7Y29uc3QgaT12b2lkIDAhPT10JiZNYXRoLm1heCh0aGlzLl9lbmQtdCx0aGlzLl9zdGFydCl8fHRoaXMuX3N0YXJ0O2ZvcihsZXQgdD10aGlzLl9lbmQtMTt0Pj1pOy0tdCl7Y29uc3QgaT10aGlzLl9pbmRleEF0KHQpLHM9dGhpcy5fdmFsdWVBdCh0KTtpZihlKGkscykpcmV0dXJue2luZGV4OmksdmFsdWU6c319cmV0dXJuIG51bGx9ZWFjaChlKXtmb3IobGV0IHQ9dGhpcy5fc3RhcnQ7dDx0aGlzLl9lbmQ7Kyt0KXtpZihlKHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSkpYnJlYWt9fXJlZHVjZShlLHQpe2xldCBpPXQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7aT1lKGksdGhpcy5faW5kZXhBdCh0KSx0aGlzLl92YWx1ZUF0KHQpKX1yZXR1cm4gaX1yYW5nZShlLHQpe2NvbnN0IGk9bmV3IHUodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gaS5faXRlbXM9dGhpcy5faXRlbXMsaS5fc3RhcnQ9dGhpcy5fbG93ZXJib3VuZChlLGgpLGkuX2VuZD10aGlzLl91cHBlcmJvdW5kKHQpLGkuX3NoYXJlUmVhZD0hMCxpfXBsb3R0YWJsZVJhbmdlKGUpe2NvbnN0IHQ9bmV3IHUodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gdC5faXRlbXM9dGhpcy5faXRlbXMsdC5fc3RhcnQ9dGhpcy5fdXBwZXJib3VuZChvLlVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVgpLHQuX2VuZD10aGlzLl9lbmQsdC5fc2hhcmVSZWFkPSEwLCEwPT09ZSYmdC5fc3RhcnQ+dGhpcy5fc3RhcnQmJih0Ll9zdGFydC09MSksdH1yYW5nZUNvdW50YmFjayhlLHQpe2lmKG51bGw9PT10aGlzLmZpcnN0SW5kZXgoKSlyZXR1cm4gbmV3IHU7Y29uc3QgaT1uZXcgdSh0aGlzLl9wbG90RnVuY3Rpb25zLHRoaXMuX2VtcHR5VmFsdWVQcmVkaWNhdGUpO3JldHVybiBpLl9pdGVtcz10aGlzLl9pdGVtcyxpLl9lbmQ9dGhpcy5fdXBwZXJib3VuZChlKSxpLl9zdGFydD1NYXRoLm1heCh0aGlzLl9zdGFydCxpLl9lbmQtdCksaS5fc2hhcmVSZWFkPSEwLGl9cmFuZ2VJdGVyYXRvcihlLHQpe2NvbnN0IGk9dGhpcy5fbG93ZXJib3VuZChlLGgpLHM9dGhpcy5fdXBwZXJib3VuZCh0KTtyZXR1cm4gdGhpcy5fcmFuZ2VJdGVyYXRvckltcGwoaSxzKX1mdWxsUmFuZ2VJdGVyYXRvcigpe3JldHVybiB0aGlzLl9yYW5nZUl0ZXJhdG9ySW1wbCh0aGlzLl9zdGFydCx0aGlzLl9lbmQpfW1pbk1heE9uUmFuZ2VDYWNoZWQoZSx0LGkpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBzPW51bGw7Zm9yKGNvbnN0IG4gb2YgaSl7cz1wKHMsdGhpcy5fbWluTWF4T25SYW5nZUNhY2hlZEltcGwoZS1uLm9mZnNldCx0LW4ub2Zmc2V0LG4ubmFtZSkpfXJldHVybiBzfW1pbk1heE9uUmFuZ2UoZSx0LGkpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBzPW51bGwKO2Zvcihjb25zdCBuIG9mIGkpe3M9cChzLHRoaXMuX21pbk1heE9uUmFuZ2UoZS1uLm9mZnNldCx0LW4ub2Zmc2V0LG4ubmFtZSkpfXJldHVybiBzfW1lcmdlKGUpe3JldHVybiB0aGlzLl9zaGFyZVJlYWQ/KGwubG9nRGVidWcoIm1lcmdlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbCk6MD09PWUubGVuZ3RoP251bGw6dGhpcy5pc0VtcHR5KCl8fGVbZS5sZW5ndGgtMV0uaW5kZXg8dGhpcy5faXRlbXNbMF0uaW5kZXg/dGhpcy5fcHJlcGVuZChlKTplWzBdLmluZGV4PnRoaXMuX2l0ZW1zW3RoaXMuX2l0ZW1zLmxlbmd0aC0xXS5pbmRleD90aGlzLl9hcHBlbmQoZSk6MT09PWUubGVuZ3RoJiZlWzBdLmluZGV4PT09dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdLmluZGV4Pyh0aGlzLl91cGRhdGVMYXN0KGVbMF0pLGVbMF0pOnRoaXMuX21lcmdlKGUpfWFkZFRhaWwoZSx0PSExKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2xldCBpPTA7dCYmdGhpcy5fZW5kLXRoaXMuX3N0YXJ0PjAmJihpPTEsdGhpcy5faXRlbXNbdGhpcy5fZW5kLXRoaXMuX3N0YXJ0LTFdLnZhbHVlPWVbMF0udmFsdWUpO2ZvcihsZXQgdD1pO3Q8ZS5sZW5ndGg7Kyt0KXtjb25zdCBpPWVbdF0scz10aGlzLmxhc3RJbmRleCgpO2lmKG51bGw9PT1zKXtsLmxvZ0Vycm9yKCJDYW4ndCBhZGQgdGFpbCB0byB0aGUgZW1wdHkgcGxvdGxpc3QiKTticmVha310aGlzLmFkZChzKzEsaS52YWx1ZSl9dGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpfW1vdmUoZSl7aWYodGhpcy5fc2hhcmVSZWFkKXJldHVybiB2b2lkIGwubG9nRGVidWcoIm1vdmU6IHJlYWRvbmx5IGNvbGxlY3Rpb24gbW9kaWZpY2F0aW9uIGF0dGVtcHQiKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9dGhpcy5faXRlbXMuc2xpY2UoKTtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPXRoaXMuX2JzZWFyY2goaS5vbGQsaCk7aWYobnVsbCE9PWUmJnZvaWQgMCE9PXRbZV0paWYoaS5uZXc9PT1vLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWCl0W2VdPXZvaWQgMDtlbHNle3RbZV09e2luZGV4OmkubmV3LHZhbHVlOnRbZV0udmFsdWV9O2NvbnN0IHM9dGhpcy5fYnNlYXJjaChpLm5ldyxoKTtpZihudWxsIT09cyl7Y29uc3QgZT10W3NdO3ZvaWQgMCE9PWUmJmUuaW5kZXg9PT1pLm5ldyYmKHRbc109dm9pZCAwKX19fXRoaXMuX2l0ZW1zPXQuZmlsdGVyKChlPT52b2lkIDAhPT1lKSkuc29ydCgoKGUsdCk9PmUuaW5kZXgtdC5pbmRleCkpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aH1yZW1vdmUoZSl7aWYodGhpcy5fc2hhcmVSZWFkKXJldHVybiBsLmxvZ0RlYnVnKCJyZW1vdmU6IHJlYWRvbmx5IGNvbGxlY3Rpb24gbW9kaWZpY2F0aW9uIGF0dGVtcHQiKSxudWxsO2NvbnN0IHQ9dGhpcy5fbm9uQ2FjaGVkU2VhcmNoKGUsYS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQsaCk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLl9pdGVtcy5zcGxpY2UodCk7cmV0dXJuIHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksaS5sZW5ndGg+MD9pWzBdOm51bGx9c3RhdGUoKXtjb25zdCBlPXRoaXMuX2l0ZW1zLnNsaWNlKHRoaXMuX3N0YXJ0LHRoaXMuX2VuZCk7cmV0dXJue3N0YXJ0OjAsZW5kOmUubGVuZ3RoLGRhdGE6ZX19cmVzdG9yZVN0YXRlKGUpe2U/KHRoaXMuX3N0YXJ0PWUuc3RhcnQsdGhpcy5fZW5kPWUuZW5kLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9pdGVtcz1lLmRhdGEsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCkpOnRoaXMuY2xlYXIoKX1faW5kZXhBdChlKXtyZXR1cm4gdGhpcy5faXRlbXNbZV0uaW5kZXh9X3ZhbHVlQXQoZSl7cmV0dXJuIHRoaXMuX2l0ZW1zW2VdLnZhbHVlfV9sZW5ndGgoKXtyZXR1cm4gdGhpcy5faXRlbXMubGVuZ3RofV9zZWFyY2hJbXBsKGUsdCxpLHMsbixyKXtjb25zdCBvPXZvaWQgMCE9PXI/aTpzLGE9dm9pZCAwIT09cj8xZTQqKHQrMSkrcjp0O2xldCBsPW8uZ2V0KGUpO2lmKHZvaWQgMCE9PWwpe2NvbnN0IGU9bC5nZXQoYSk7aWYodm9pZCAwIT09ZSlyZXR1cm4gZX1jb25zdCBjPXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLHQsbixyKTtpZihudWxsPT09YylyZXR1cm4gbnVsbDtjb25zdCBoPXtpbmRleDp0aGlzLl9pbmRleEF0KGMpLHZhbHVlOnRoaXMuX3ZhbHVlQXQoYyl9O3JldHVybiB2b2lkIDA9PT1sJiYobD1uZXcgTWFwLG8uc2V0KGUsbCkpLGwuc2V0KGEsaCksaH1fbm9uQ2FjaGVkU2VhcmNoKGUsdCxpLHMpe2NvbnN0IG49dGhpcy5fbG93ZXJib3VuZChlLGkpLHI9bj09PXRoaXMuX2VuZHx8ZSE9PWkodGhpcy5faXRlbXNbbl0pO2lmKHImJnQhPT1hLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KXN3aXRjaCh0KXtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQ6cmV0dXJuIHRoaXMuX3NlYXJjaE5lYXJlc3RMZWZ0KG4scyk7Y2FzZSBhLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodDpyZXR1cm4gdGhpcy5fc2VhcmNoTmVhcmVzdFJpZ2h0KG4scyk7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIHNlYXJjaCBtb2RlIil9aWYodm9pZCAwPT09c3x8cnx8dD09PWEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpcmV0dXJuIHI/bnVsbDpuO3N3aXRjaCh0KXtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQ6cmV0dXJuIHRoaXMuX25vbkVtcHR5TmVhcmVzdExlZnQobixzKTtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0OnJldHVybiB0aGlzLl9ub25FbXB0eU5lYXJlc3RSaWdodChuLHMpO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBzZWFyY2ggbW9kZSIpfX1fbm9uRW1wdHlOZWFyZXN0UmlnaHQoZSx0KXtjb25zdCBpPSgwLApzLmVuc3VyZSkodGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSksbj0oMCxzLmVuc3VyZSkodCk7Zm9yKDtlPHRoaXMuX2VuZCYmaSh0aGlzLl92YWx1ZUF0KGUpLG4pOyllKz0xO3JldHVybiBlPT09dGhpcy5fZW5kP251bGw6ZX1fbm9uRW1wdHlOZWFyZXN0TGVmdChlLHQpe2NvbnN0IGk9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKSxuPSgwLHMuZW5zdXJlKSh0KTtmb3IoO2U+PXRoaXMuX3N0YXJ0JiZpKHRoaXMuX3ZhbHVlQXQoZSksbik7KWUtPTE7cmV0dXJuIGU8dGhpcy5fc3RhcnQ/bnVsbDplfV9zZWFyY2hOZWFyZXN0TGVmdChlLHQpe2lmKGU9PT10aGlzLl9zdGFydClyZXR1cm4gbnVsbDtjb25zdCBpPWUtMSxzPWkhPT10aGlzLl9lbmQ/aTpudWxsO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09cz90aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KHMsdCk6c31fc2VhcmNoTmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3QgaT1lLHM9aSE9PXRoaXMuX2VuZD9pOm51bGw7cmV0dXJuIHZvaWQgMCE9PXQmJm51bGwhPT1zP3RoaXMuX25vbkVtcHR5TmVhcmVzdFJpZ2h0KHMsdCk6c31fYnNlYXJjaChlLHQpe2NvbnN0IGk9dGhpcy5fbG93ZXJib3VuZChlLHQpO3JldHVybiBpIT09dGhpcy5fZW5kJiZlPT09dCh0aGlzLl9pdGVtc1tpXSk/aTpudWxsfV9sb3dlcmJvdW5kKGUsdCl7cmV0dXJuKDAsci5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxlLCgoZSxpKT0+dChlKTxpKSx0aGlzLl9zdGFydCx0aGlzLl9lbmQpfV91cHBlcmJvdW5kKGUpe3JldHVybigwLHIudXBwZXJib3VuZCkodGhpcy5faXRlbXMsZSwoKGUsdCk9PnQuaW5kZXg+ZSksdGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1fcGxvdE1pbk1heChlLHQsaSl7bGV0IHM9bnVsbDtjb25zdCBuPXRoaXMuX3Bsb3RGdW5jdGlvbnMuZ2V0KGkpO2lmKHZvaWQgMD09PW4pdGhyb3cgbmV3IEVycm9yKGBQbG90ICIke2l9IiBpcyBub3QgcmVnaXN0ZXJlZGApO2ZvcihsZXQgaT1lO2k8dDtpKyspe2NvbnN0IGU9bih0aGlzLl9pdGVtc1tpXS52YWx1ZSk7bnVsbD09ZXx8TnVtYmVyLmlzTmFOKGUpfHwobnVsbD09PXM/cz17bWluOmUsbWF4OmV9OihlPHMubWluJiYocy5taW49ZSksZT5zLm1heCYmKHMubWF4PWUpKSl9cmV0dXJuIHN9X2ludmFsaWRhdGVDYWNoZUZvclJvdyhlKXtjb25zdCB0PU1hdGguZmxvb3IoZS5pbmRleC9jKTt0aGlzLl9taW5NYXhDYWNoZS5mb3JFYWNoKChlPT5lLmRlbGV0ZSh0KSkpfV9wcmVwZW5kKGUpe3JldHVybigwLHMuYXNzZXJ0KSghdGhpcy5fc2hhcmVSZWFkLCJjb2xsZWN0aW9uIHNob3VsZCBub3QgYmUgcmVhZG9ubHkiKSwoMCxzLmFzc2VydCkoMCE9PWUubGVuZ3RoLCJwbG90Um93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9ZS5jb25jYXQodGhpcy5faXRlbXMpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV9hcHBlbmQoZSl7cmV0dXJuKDAscy5hc3NlcnQpKCF0aGlzLl9zaGFyZVJlYWQsImNvbGxlY3Rpb24gc2hvdWxkIG5vdCBiZSByZWFkb25seSIpLCgwLHMuYXNzZXJ0KSgwIT09ZS5sZW5ndGgsInBsb3RSb3dzIHNob3VsZCBub3QgYmUgZW1wdHkiKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5jb25jYXQoZSksdGhpcy5fc3RhcnQ9MCx0aGlzLl9lbmQ9dGhpcy5faXRlbXMubGVuZ3RoLGVbMF19X3VwZGF0ZUxhc3QoZSl7KDAscy5hc3NlcnQpKCF0aGlzLmlzRW1wdHkoKSwicGxvdCBsaXN0IHNob3VsZCBub3QgYmUgZW1wdHkiKTtjb25zdCB0PXRoaXMuX2l0ZW1zW3RoaXMuX2VuZC0xXTsoMCxzLmFzc2VydCkodC5pbmRleD09PWUuaW5kZXgsImxhc3Qgcm93IGluZGV4IHNob3VsZCBtYXRjaCBuZXcgcm93IGluZGV4IiksdGhpcy5faW52YWxpZGF0ZUNhY2hlRm9yUm93KGUpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9pdGVtc1t0aGlzLl9lbmQtMV09ZX1fbWVyZ2UoZSl7cmV0dXJuKDAscy5hc3NlcnQpKDAhPT1lLmxlbmd0aCwicGxvdCByb3dzIHNob3VsZCBub3QgYmUgZW1wdHkiKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pdGVtcz1mdW5jdGlvbihlLHQpe2NvbnN0IGk9ZnVuY3Rpb24oZSx0KXtjb25zdCBpPWUubGVuZ3RoLHM9dC5sZW5ndGg7bGV0IG49aStzLHI9MCxvPTA7Zm9yKDtyPGkmJm88czspZVtyXS5pbmRleDx0W29dLmluZGV4P3IrKzplW3JdLmluZGV4PnRbb10uaW5kZXg/bysrOihyKyssbysrLG4tLSk7cmV0dXJuIG59KGUsdCkscz1uZXcgQXJyYXkoaSk7bGV0IG49MCxyPTA7Y29uc3Qgbz1lLmxlbmd0aCxhPXQubGVuZ3RoO2xldCBsPTA7Zm9yKDtuPG8mJnI8YTspZVtuXS5pbmRleDx0W3JdLmluZGV4PyhzW2xdPWVbbl0sbisrKTplW25dLmluZGV4PnRbcl0uaW5kZXg/KHNbbF09dFtyXSxyKyspOihzW2xdPXRbcl0sbisrLHIrKyksbCsrO2Zvcig7bjxvOylzW2xdPWVbbl0sbisrLGwrKztmb3IoO3I8YTspc1tsXT10W3JdLHIrKyxsKys7cmV0dXJuIHN9KHRoaXMuX2l0ZW1zLGUpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV9taW5NYXhPblJhbmdlQ2FjaGVkSW1wbChlLHQsaSl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7bGV0IG49bnVsbDtjb25zdCByPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5maXJzdEluZGV4KCkpLG89KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLmxhc3RJbmRleCgpKSxhPU1hdGgubWF4KGUsciksbD1NYXRoLm1pbih0LG8pLGg9TWF0aC5jZWlsKGEvYykqYyxkPU1hdGgubWF4KGgsTWF0aC5mbG9vcihsL2MpKmMpO249cChuLHRoaXMuX21pbk1heE9uUmFuZ2UoYSxNYXRoLm1pbihoLHQsbCksaSkpO2xldCB1PXRoaXMuX21pbk1heENhY2hlLmdldChpKTt2b2lkIDA9PT11JiYodT1uZXcgTWFwLAp0aGlzLl9taW5NYXhDYWNoZS5zZXQoaSx1KSk7Zm9yKGxldCBlPU1hdGgubWF4KGgrMSxhKTtlPGQ7ZSs9Yyl7Y29uc3QgdD1NYXRoLmZsb29yKGUvYyk7bGV0IHM9dS5nZXQodCk7aWYodm9pZCAwPT09cyl7Y29uc3QgZT10KmMsbj0odCsxKSpjLTE7cz10aGlzLl9taW5NYXhPblJhbmdlKGUsbixpKSx1LnNldCh0LHMpfW49cChuLHMpfW49cChuLHRoaXMuX21pbk1heE9uUmFuZ2UoZCxsLGkpKTtyZXR1cm4gbn1fbWluTWF4T25SYW5nZShlLHQsaSl7cmV0dXJuIHRoaXMuX3Bsb3RNaW5NYXgodGhpcy5fbG93ZXJib3VuZChlLGgpLHRoaXMuX3VwcGVyYm91bmQodCksaSl9X3JhbmdlSXRlcmF0b3JJbXBsKGUsdCl7bGV0IGk9ZS0xO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0OigpPT4oaSs9MSxpPj10P3tkb25lOiEwLHZhbHVlOnZvaWQgMH06e2RvbmU6ITEsdmFsdWU6dGhpcy5faXRlbXNbaV19KX19X2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKXt0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXguY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXhXaXRob3V0RW1wdHlWYWx1ZXMuY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZS5jbGVhcigpLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lV2l0aG91dEVtcHR5VmFsdWVzLmNsZWFyKCl9fWZ1bmN0aW9uIHAoZSx0KXtpZihudWxsPT09ZSlyZXR1cm4gdDtpZihudWxsPT09dClyZXR1cm4gZTtyZXR1cm57bWluOk1hdGgubWluKGUubWluLHQubWluKSxtYXg6TWF0aC5tYXgoZS5tYXgsdC5tYXgpfX19LDYxOTE2NShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtTZXJpZXNEYXRhOigpPT5fLGJhckZ1bmN0aW9uOigpPT51LGJhckZ1bmN0aW9uczooKT0+aCxzZXJpZXNQbG90RnVuY3Rpb25NYXA6KCk9PmR9KTt2YXIgcyxuLHI9aSgxMzg2MzgpLG89aSg4NTcxNTEpLGE9aSg0NzU0NzgpOyFmdW5jdGlvbihlKXtlW2UuRnJvbUxlZnQ9LTFdPSJGcm9tTGVmdCIsZVtlLkZyb21SaWdodD0xXT0iRnJvbVJpZ2h0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuVGltZT0wXT0iVGltZSIsZVtlLk9wZW49MV09Ik9wZW4iLGVbZS5IaWdoPTJdPSJIaWdoIixlW2UuTG93PTNdPSJMb3ciLGVbZS5DbG9zZT00XT0iQ2xvc2UiLGVbZS5Wb2x1bWU9NV09IlZvbHVtZSIsZVtlLkFkdD02XT0iQWR0In0obnx8KG49e30pKTtjb25zdCBsPVsib3BlbiIsImhpZ2giLCJsb3ciLCJjbG9zZSIsImhsMiIsImhsYzMiLCJvaGxjNCJdO3ZhciBjOyFmdW5jdGlvbihlKXtlW2UuRmlyc3RQcmljZT0wXT0iRmlyc3RQcmljZSIsZVtlLkxhc3RQcmljZT0xXT0iTGFzdFByaWNlIixlW2UuTGFzdFZhbHVlUHJpY2U9Ml09Ikxhc3RWYWx1ZVByaWNlIn0oY3x8KGM9e30pKTtjb25zdCBoPXtvcGVuOmU9PmVbMV0saGlnaDplPT5lWzJdLGxvdzplPT5lWzNdLGNsb3NlOmU9PmVbNF0saGwyOmU9PihlWzJdK2VbM10pLzIsaGxjMzplPT4oZVsyXStlWzNdK2VbNF0pLzMsb2hsYzQ6ZT0+KGVbMV0rZVsyXStlWzNdK2VbNF0pLzR9O2Z1bmN0aW9uIGQoKXtjb25zdCBlPW5ldyBNYXA7cmV0dXJuIGwuZm9yRWFjaCgoKHQsaSk9PntlLnNldCh0LHUodCkpfSkpLGV9ZnVuY3Rpb24gdShlLHQsaSl7Y29uc3Qgcz1oW3Q/P2VdLG49aFtlXSxyPWhbaT8/ZV07cmV0dXJuKGUsdCk9Pntzd2l0Y2godCl7Y2FzZSAwOnJldHVybiBzKGUpO2Nhc2UgMjpyZXR1cm4gcihlKTtkZWZhdWx0OnJldHVybiBuKGUpfX19ZnVuY3Rpb24gcChlLHQpe3JldHVybiBudWxsPT1lW3RdfWNsYXNzIF97Y29uc3RydWN0b3IoKXt0aGlzLm1fYmFycz1uZXcgby5QbG90TGlzdChkKCkscCksdGhpcy5tX25zQmFycz1uZXcgby5QbG90TGlzdChkKCkscCksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlcj1uZXcgYS5Db25mbGF0ZWRDaHVua3NCdWlsZGVyKHRoaXMubV9iYXJzLChlPT5oW2VdKSl9YmFycygpe3JldHVybiB0aGlzLm1fYmFyc31uc0JhcnMoKXtyZXR1cm4gdGhpcy5tX25zQmFyc31jb25mbGF0ZWRDaHVua3MoZSx0KXtyZXR1cm4gdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jb25mbGF0ZWRDaHVua3MoZSx0KX1tZXJnZVJlZ3VsYXJCYXJzKGUpe3JldHVybiB0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLm1lcmdlRGF0YShlKX1zaXplKCl7cmV0dXJuIHRoaXMubV9iYXJzLnNpemUoKSt0aGlzLm1fbnNCYXJzLnNpemUoKX1lYWNoKGUpe3RoaXMubV9iYXJzLmVhY2goZSksdGhpcy5tX25zQmFycy5lYWNoKGUpfWNsZWFyKCl7dGhpcy5tX25zQmFycy5jbGVhcigpLHRoaXMubGFzdFByb2plY3Rpb25QcmljZT12b2lkIDAsdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jbGVhckRhdGEoKX1jbG9uZSgpe2NvbnN0IGU9bmV3IF87cmV0dXJuIGUubGFzdFByb2plY3Rpb25QcmljZT10aGlzLmxhc3RQcm9qZWN0aW9uUHJpY2UsZS5ib3hTaXplPXRoaXMuYm94U2l6ZSxlLnJldmVyc2FsQW1vdW50PXRoaXMucmV2ZXJzYWxBbW91bnQsZS5tX2JhcnM9dGhpcy5tX2JhcnMuY2xvbmUoKSxlLm1fbnNCYXJzPXRoaXMubV9iYXJzLmNsb25lKCksZX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMubV9iYXJzLmlzRW1wdHkoKSYmdGhpcy5tX25zQmFycy5pc0VtcHR5KCl9Zmlyc3QoKXtyZXR1cm4gdGhpcy5tX2JhcnMuaXNFbXB0eSgpP3RoaXMubV9uc0JhcnMuZmlyc3QoKTp0aGlzLm1fYmFycy5maXJzdCgpfWxhc3QoKXtyZXR1cm4gdGhpcy5tX25zQmFycy5pc0VtcHR5KCk/dGhpcy5tX2JhcnMubGFzdCgpOnRoaXMubV9uc0JhcnMubGFzdCgpfXNlYXJjaChlLHQsaSl7cmV0dXJuIHRoaXMubnNCYXJzKCkuaXNFbXB0eSgpP3RoaXMuYmFycygpLnNlYXJjaChlLHQsaSk6dGhpcy5iYXJzKCkuaXNFbXB0eSgpfHwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMubnNCYXJzKCkuZmlyc3RJbmRleCgpKTw9ZT90aGlzLm5zQmFycygpLnNlYXJjaChlLHQsaSk6dGhpcy5iYXJzKCkuc2VhcmNoKGUsdCxpKX12YWx1ZUF0KGUpe2NvbnN0IHQ9dGhpcy5zZWFyY2goZSk7cmV0dXJuIG51bGwhPT10P3QudmFsdWU6bnVsbH0KcGxvdFZhbHVlVG9UaW1lUG9pbnRJbmRleChlLHQsaSl7aWYoaT09PXMuRnJvbVJpZ2h0KXtjb25zdCBpPShpLHMpPT57Y29uc3Qgbj1zW3RdO3JldHVybiBudWxsIT1uJiZlPj1ufSxzPXRoaXMubV9iYXJzLmZpbmRMYXN0KGkpO2lmKG51bGwhPT1zKXJldHVybiBzLmluZGV4O2NvbnN0IG49dGhpcy5tX25zQmFycy5maW5kTGFzdChpKTtyZXR1cm4gbnVsbCE9PW4/bi5pbmRleDp0aGlzLm1fYmFycy5maXJzdEluZGV4KCl9aWYoaT09PXMuRnJvbUxlZnQpe2NvbnN0IGk9KGkscyk9Pntjb25zdCBuPXNbdF07cmV0dXJuIG51bGwhPW4mJmU8PW59LHM9dGhpcy5tX2JhcnMuZmluZEZpcnN0KGkpO2lmKG51bGwhPT1zKXJldHVybiBzLmluZGV4O2NvbnN0IG49dGhpcy5tX25zQmFycy5maW5kRmlyc3QoaSk7cmV0dXJuIG51bGwhPT1uP24uaW5kZXg6dGhpcy5tX2JhcnMubGFzdEluZGV4KCl9dGhyb3cgbmV3IEVycm9yKCJwbG90VmFsdWVUb1RpbWVQb2ludEluZGV4OiB1bnN1cHBvcnRlZCBzZWFyY2ggbW9kZSIpfW1vdmVEYXRhKGUpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubW92ZURhdGEoZSksdGhpcy5tX25zQmFycy5tb3ZlKGUpfX19LDE3OTY3NChlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtEd2dFeHRlbmQ6KCk9PnN9KSxmdW5jdGlvbihlKXtlLk5vbmU9Im4iLGUuTGVmdD0ibCIsZS5SaWdodD0iciIsZS5Cb3RoPSJiIn0oc3x8KHM9e30pKX0sNTQ4NTYwKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbixyLG87aS5kKHQse0R3Z0xhYmVsU3R5bGU6KCk9PnIsRHdnTGFiZWxUZXh0QWxpZ246KCk9PnMsRHdnTGFiZWxZbG9jOigpPT5ufSksZnVuY3Rpb24oZSl7ZS5MZWZ0PSJsZWZ0IixlLkNlbnRlcj0iY2VudGVyIixlLlJpZ2h0PSJyaWdodCJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5BYm92ZUJhcj0iYWIiLGUuQmVsb3dCYXI9ImJsIixlLlByaWNlPSJwciIsZS5BdXRvPSJhdXRvIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlLlhjcm9zcz0ieGNyIixlLkNyb3NzPSJjciIsZS5UcmlhbmdsZXVwPSJ0dXAiLGUuVHJpYW5nbGVkb3duPSJ0ZG4iLGUuRmxhZz0iZmxnIixlLkNpcmNsZT0iY2lyIixlLkFycm93dXA9ImF1cCIsZS5BcnJvd2Rvd249ImFkbiIsZS5MYWJlbFVwPSJsdXAiLGUuTGFiZWxEb3duPSJsZG4iLGUuTGFiZWxMZWZ0PSJsbGYiLGUuTGFiZWxSaWdodD0ibHJnIixlLkxhYmVsQ2VudGVyPSJsY24iLGUuTGFiZWxMZWZ0VXA9Imx1cGxmIixlLkxhYmVsTGVmdERvd249Imxsd2xmIixlLkxhYmVsUmlnaHRVcD0ibHVwcmciLGUuTGFiZWxSaWdodERvd249Imxsd3JnIixlLlNxdWFyZT0ic3EiLGUuRGlhbW9uZD0iZGlhIixlLlRleHRPdXRsaW5lPSJ0byIsZS5Ob25lPSJuIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLk1vbm9zcGFjZT0ibW9ub3NwYWNlIn0ob3x8KG89e30pKX0sMzk0OTYzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7SEhpc3REaXJlY3Rpb246KCk9PnMsSEhpc3RMb2NhdGlvbjooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuTGVmdFRvUmlnaHQ9ImxlZnRfdG9fcmlnaHQiLGUuUmlnaHRUb0xlZnQ9InJpZ2h0X3RvX2xlZnQifShzfHwocz17fSkpLGZ1bmN0aW9uKGUpe2UuUmVsYXRpdmU9InJlbGF0aXZlIixlLkFic29sdXRlPSJhYnNvbHV0ZSJ9KG58fChuPXt9KSl9LDIyMzg2OShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuL15ccypzdHJhdGVneVxzKlwoL20udGVzdChlKX1pLmQodCx7aXNTdHJhdGVneTooKT0+c30pfSw5NjU3OTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7bWFrZU5leHRTdHVkeUlkOigpPT5ufSk7bGV0IHM9MDtmdW5jdGlvbiBuKCl7cmV0dXJuIHMrKywic3QiK3N9fSwxNjQxNTYoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7UGluZUtpbmQ6KCk9PnN9KSxmdW5jdGlvbihlKXtlLlN0dWR5PSJzdHVkeSIsZS5TdHJhdGVneT0ic3RyYXRlZ3kiLGUuTGlicmFyeT0ibGlicmFyeSJ9KHN8fChzPXt9KSl9LDU4OTUxMShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtQbG90U3ltYm9sU2l6ZTooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQXV0bz0iYXV0byIsZS5UaW55PSJ0aW55IixlLlNtYWxsPSJzbWFsbCIsZS5Ob3JtYWw9Im5vcm1hbCIsZS5MYXJnZT0ibGFyZ2UiLGUuSHVnZT0iaHVnZSJ9KHN8fChzPXt9KSl9LDY2Njk0NyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7aWYoZTwwKXRocm93IG5ldyBFcnJvcigiVGltZVBvaW50SW5kZXhJbmRleCBzaG91bGQgYmUgbm9uLW5lZ2F0aXZlIGludGVnZXIiKTtyZXR1cm4gZX1pLmQodCx7ZW5zdXJlVGltZVBvaW50SW5kZXhJbmRleDooKT0+c30pfSwxOTg1NDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLnIodCksaS5kKHQse1N0dWR5RGF0YVNvdXJjZTooKT0+X30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTQ4MzgwKSxyPWkoMjIxMDYxKSxvPWkoNTUwOTA0KSxhPWkoODU3MTUxKSxsPWkoNzkxNDI3KSxjPWkoMTQyMzg5KSxoPWkoOTY1Nzk1KSxkPWkoNTA0NDMxKTtjb25zdCB1PSgwLHIuZ2V0TG9nZ2VyKSgiQ2hhcnQuU3R1ZHlEYXRhU291cmNlIik7dmFyIHA7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ1BhcmVudD0yXT0iQXdhaXRpbmdQYXJlbnQiLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0zXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9NF09IkFjdGl2ZSJ9KHB8fChwPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQsaSxzLHI9ITEpe3RoaXMuX2lucHV0cz1udWxsLHRoaXMuX3N0YXR1cz1wLklkbGUsdGhpcy5fc3R1ZHlJZD1udWxsLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTEsdGhpcy5fc3R1ZHlTdGF0dXM9e3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSx0aGlzLl9zdHVkeVN0YXR1c0NoYW5nZWQ9bmV3IG4uRGVsZWdhdGUsdGhpcy5fZGF0YUNsZWFyZWQ9bmV3IG4uRGVsZWdhdGUsCnRoaXMuX2RhdGFVcGRhdGVkPW5ldyBuLkRlbGVnYXRlLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl9tZXRhSW5mbz1zLHRoaXMuX2ZvcmNlVXNlRXhjbGFtYXRpb25NYXJrPXIsdGhpcy5fc2VyaWVzU291cmNlPXQsdGhpcy5fdHVybmFyb3VuZFByZWZpeD1pLHRoaXMuX2NyZWF0ZVBsb3RzKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnN1YnNjcmliZSh0aGlzLl9ib3VuZE9uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZCl9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLHRoaXMuX2dhdGV3YXkuaXNDb25uZWN0ZWQoKS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZE9uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZCksdGhpcy5fc2VyaWVzU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9bWV0YUluZm8oKXtyZXR1cm4gdGhpcy5fbWV0YUluZm99aW5wdXRzKCl7cmV0dXJuIHRoaXMuX2lucHV0c31zZXRJbnB1dHMoZSl7dGhpcy5faW5wdXRzPWUsbnVsbCE9PXRoaXMuX3N0dWR5SWQmJih0aGlzLl90dXJuYXJvdW5kQ291bnRlcisrLHRoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSksdGhpcy5fZ2F0ZXdheS5tb2RpZnlTdHVkeSh0aGlzLl9zdHVkeUlkLHRoaXMuX3R1cm5hcm91bmQoKSxlLHRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpKSx0aGlzLl9zdGF0dXM9PT1wLkFjdGl2ZSYmdGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZSkpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1wLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09cC5BY3RpdmV9c3RhcnQoKXt0aGlzLmlzU3RhcnRlZCgpP3UubG9nTm9ybWFsKCJzdGFydDogZGF0YSBzb3VyY2UgaXMgYWxyZWFkeSBzdGFydGVkLCBub3RoaW5nIHRvIGRvIik6KCgwLHMuYXNzZXJ0KShudWxsIT09dGhpcy5faW5wdXRzLCJJbnB1dHMgc2hvdWxkIGJlIGRlZmluZWQgd2hlbiBzdGFydGluZyBhIHN0dWR5IGRhdGEgc291cmNlIiksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnZhbHVlKCk/dGhpcy5fY3JlYXRlU3R1ZHkoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhwLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5fc3R1ZHlJZCYmKHRoaXMuX2dhdGV3YXkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9nYXRld2F5LnJlbW92ZVN0dWR5KHRoaXMuX3N0dWR5SWQpLHRoaXMuX3N0dWR5SWQ9bnVsbCx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKHt0eXBlOmMuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pKSx0aGlzLl9jaGFuZ2VTdGF0dXNUbyhwLklkbGUpKTp1LmxvZ05vcm1hbCgic3RvcDogZGF0YSBzb3VyY2UgaXMgYWxyZWFkeSBzdG9wcGVkLCBub3RoaW5nIHRvIGRvIil9c3R1ZHlJZCgpe3JldHVybiB0aGlzLl9zdHVkeUlkfXN0dWR5U3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0dWR5U3RhdHVzfXN0dWR5U3RhdHVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zdHVkeVN0YXR1c0NoYW5nZWR9cGxvdHMoKXtyZXR1cm4gdGhpcy5fcGxvdHN9Y2xlYXJEYXRhKCl7dGhpcy5fcGxvdHMuY2xlYXIoKSx0aGlzLl9kYXRhQ2xlYXJlZC5maXJlKCl9ZGF0YUNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fZGF0YUNsZWFyZWR9ZGF0YVVwZGF0ZWQoKXtyZXR1cm4gdGhpcy5fZGF0YVVwZGF0ZWR9bW92ZURhdGEoZSl7dGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbigoKCk9Pnt0aGlzLl9wbG90cy5tb3ZlKGUpfSkpfXBlbmRpbmdVcGRhdGVzUmVhZHkoKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGV9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtfLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1fY3JlYXRlU3R1ZHlFcnJvcihlKXtyZXR1cm57dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOnRoaXMuX2dldFN0dWR5RXJyb3JEZXNjcmlwdGlvbihlKX19X2dldFN0dWR5RXJyb3JEZXNjcmlwdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/e2Vycm9yOmUuc3BsaXQoIjoiLDIpWzBdfTplfV9jcmVhdGVQbG90cygpe3RoaXMuX3Bsb3RzPW5ldyBhLlBsb3RMaXN0KCgwLGQuc3R1ZHlQbG90RnVuY3Rpb25NYXApKHRoaXMubWV0YUluZm8oKSksZC5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKX1fY2hhbmdlU3RhdHVzVG8oZSl7KDAscy5hc3NlcnQpKHRoaXMuX3N0YXR1cyE9PWUsIlNvdXJjZSBhbmQgZGVzdGluYXRpb24gc3RhdHVzIHNob3VsZCBiZSBkaXN0aW5jdCIpLHUubG9nTm9ybWFsKGBTdGF0dXMgY2hhbmdlZCBmcm9tICR7cFt0aGlzLl9zdGF0dXNdfSB0byAke3BbZV19YCksdGhpcy5fc3RhdHVzPWV9X2NyZWF0ZVN0dWR5KCl7Y29uc3QgZT10aGlzLl9zZXJpZXNTb3VyY2UuaW5zdGFuY2VJZCgpO251bGwhPT1lP3RoaXMuX2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZChlKToodGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ1BhcmVudCksdGhpcy5fc2VyaWVzU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXJpZXNDcmVhdGVkLCEwKSl9X2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZChlKXsoMCxzLmFzc2VydCkodGhpcy5fc3RhdHVzIT09cC5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLCgwLHMuYXNzZXJ0KSh0aGlzLl9zdHVkeVN0YXR1cy50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkLCdTdHVkeSBzdGF0dXMgc2hvdWxkIGJlICJVbmRlZmluZWQiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLCgwLApzLmFzc2VydCkobnVsbD09PXRoaXMuX3N0dWR5SWQsIlN0dWR5IGlkIHNob3VsZCBiZSBlbXB0eSB3aGVuIGNyZWF0aW5nIGEgc3R1ZHkiKSx0aGlzLl9zdHVkeUlkPSgwLGgubWFrZU5leHRTdHVkeUlkKSgpLHRoaXMuX2dhdGV3YXkuY3JlYXRlU3R1ZHkodGhpcy5fc3R1ZHlJZCx0aGlzLl90dXJuYXJvdW5kKCksZSxsLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlJZFdpdGhMYXRlc3RWZXJzaW9uKHRoaXMubWV0YUluZm8oKSx0aGlzLl9mb3JjZVVzZUV4Y2xhbWF0aW9uTWFyayksKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pbnB1dHMpLHRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHtpZDp0aGlzLl9tZXRhSW5mby5pZH0pLHRoaXMuX2NoYW5nZVN0YXR1c1RvKHAuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpfV9vbkdhdGV3YXlJc0Nvbm5lY3RlZENoYW5nZWQoZSl7ZT90aGlzLl9vbkdhdGV3YXlDb25uZWN0ZWQoKTp0aGlzLl9vbkdhdGV3YXlEaXNjb25uZWN0ZWQoKX1fb25HYXRld2F5Q29ubmVjdGVkKCl7dGhpcy5fc3RhdHVzPT09cC5Bd2FpdGluZ0Nvbm5lY3Rpb24mJnRoaXMuX2NyZWF0ZVN0dWR5KCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PXAuSWRsZSYmdGhpcy5fc3RhdHVzIT09cC5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9zdHVkeUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ0Nvbm5lY3Rpb24pLHRoaXMuX3N0dWR5U3RhdHVzLnR5cGUhPT1jLlN0dWR5U3RhdHVzVHlwZS5VbmRlZmluZWQmJnRoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSkpLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTF9X29uU2VyaWVzQ3JlYXRlZCgpe3RoaXMuX3N0YXR1cz09PXAuQXdhaXRpbmdQYXJlbnQmJnRoaXMuX2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZCgoMCxzLmVuc3VyZSkodGhpcy5fc2VyaWVzU291cmNlLmluc3RhbmNlSWQoKSkpfV9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKGUpe2NvbnN0IHQ9dGhpcy5fc3R1ZHlTdGF0dXM7dGhpcy5fc3R1ZHlTdGF0dXM9ZSx1LmxvZ05vcm1hbChgU3R1ZHkgc3RhdHVzIHR5cGUgY2hhbmdlZCBmcm9tICR7Yy5TdHVkeVN0YXR1c1R5cGVbdC50eXBlXX0gdG8gJHtjLlN0dWR5U3RhdHVzVHlwZVtlLnR5cGVdfWApLHRoaXMuX3N0dWR5U3RhdHVzQ2hhbmdlZC5maXJlKHQsZSl9X29uTWVzc2FnZShlKXtpZigiZGF0YV91cGRhdGUiPT09ZS5tZXRob2Qpe2NvbnN0e2N1c3RvbUlkOnQsdHVybmFyb3VuZDppLHBsb3RzOm4sbm9uc2VyaWVzOnJ9PWUucGFyYW1zO3Q9PT10aGlzLl9zdHVkeUlkJiZ0aGlzLl9jaGVja1R1cm5hcm91bmQoaSkmJnRoaXMuX29uRGF0YVVwZGF0ZShuLCgwLHMuZW5zdXJlRGVmaW5lZCkocikpfWVsc2UgaWYoInN0dWR5X2xvYWRpbmciPT09ZS5tZXRob2Qpe2NvbnN0W3QsaV09ZS5wYXJhbXM7dD09PXRoaXMuX3N0dWR5SWQmJnRoaXMuX2NoZWNrVHVybmFyb3VuZChpKSYmdGhpcy5fb25TdHVkeUxvYWRpbmcoZS50aW1lKX1lbHNlIGlmKCJzdHVkeV9jb21wbGV0ZWQiPT09ZS5tZXRob2Qpe2NvbnN0W3QsaV09ZS5wYXJhbXM7dD09PXRoaXMuX3N0dWR5SWQmJnRoaXMuX2NoZWNrVHVybmFyb3VuZChpKSYmdGhpcy5fb25TdHVkeUNvbXBsZXRlZChlLnRpbWUpfWVsc2UgaWYoInN0dWR5X2Vycm9yIj09PWUubWV0aG9kKXtjb25zdFt0LGkscyxuXT1lLnBhcmFtczt0PT09dGhpcy5fc3R1ZHlJZCYmdGhpcy5fY2hlY2tUdXJuYXJvdW5kKGkpJiZ0aGlzLl9vblN0dWR5RXJyb3IocyxuLGUudGltZSl9ZWxzZSJjbGVhcl9kYXRhIj09PWUubWV0aG9kJiZ0aGlzLl9jaGVja1R1cm5hcm91bmQoZS5wYXJhbXMudHVybmFyb3VuZCkmJnRoaXMuY2xlYXJEYXRhKCl9X29uRGF0YVVwZGF0ZShlLHQpe2NvbnN0IGk9Xy5fbm9uU2VyaWVzRGF0YVVucGFja2VyKHQuZCk7cmV0dXJuIHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPXRoaXMuX29uZ29pbmdEYXRhVXBkYXRlLnRoZW4oKCgpPT5pKSwoKCk9PmkpKS50aGVuKHRoaXMuX29uRGF0YVVucGFja2VkLmJpbmQodGhpcyxlLHQuaW5kZXhlcykpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQsaSl7dGhpcy5fc3RhdHVzIT09cC5JZGxlJiYodGhpcy5fc3RhdHVzPT09cC5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZSYmKHRoaXMuX2NoYW5nZVN0YXR1c1RvKHAuQWN0aXZlKSx0aGlzLmNsZWFyRGF0YSgpKSx0aGlzLl9tZXJnZVBsb3RzKGUpLHRoaXMuX2RhdGFVcGRhdGVkLmZpcmUoZSxpLHQpKX1fb25TdHVkeUxvYWRpbmcoZSl7dGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWRUbyh7dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nLHN0YXJ0VGltZTpEYXRlLm5vdygpfSl9X29uU3R1ZHlFcnJvcihlLHQsaSl7dGhpcy5jbGVhckRhdGEoKSx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKHRoaXMuX2NyZWF0ZVN0dWR5RXJyb3IoZSkpfV9vblN0dWR5Q29tcGxldGVkKGUpe3RoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfSl9X21lcmdlUGxvdHMoZSl7dGhpcy5fcGxvdHMubWVyZ2UoZSl9X3R1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1fY2hlY2tUdXJuYXJvdW5kKGUpe2NvbnN0IHQ9dGhpcy5fdHVybmFyb3VuZCgpO3JldHVybiBlPT09dHx8ZT09PXRoaXMuX3Nlcmllc1NvdXJjZS50dXJuYXJvdW5kKCl8fGU9PT1gJHt0aGlzLl9zZXJpZXNTb3VyY2UudHVybmFyb3VuZCgpfV8ke3R9YH19Xy5fbm9uU2VyaWVzRGF0YVVucGFja2VyPW8udW5wYWNrTm9uU2VyaWVzRGF0YX0sNTA0NDMxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUucGxvdHMuZm9yRWFjaCgoKGUsaSk9Pnt0LnNldChlLmlkLChlPT5lW2krMV0pKX0pKSx0fWZ1bmN0aW9uIG4oZSx0KXtyZXR1cm4gbnVsbD09ZVt0XX1pLmQodCx7c3R1ZHlFbXB0eVBsb3RWYWx1ZVByZWRpY2F0ZTooKT0+biwKc3R1ZHlQbG90RnVuY3Rpb25NYXA6KCk9PnN9KX0sNjM0ODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuYCR7ZX1AJHt0fWB9ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5yZXBsYWNlKC8oQFteLV0rLVteLV0rKS4qJC8sIiQxIil9aS5kKHQse2V4dHJhY3RTdHVkeUlkOigpPT5uLHN0dWR5SWRTdHJpbmc6KCk9PnN9KX0sNjI4MDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q2hhcnRDb2xvckRlcGVuZGVudFN0dWR5SW5wdXROYW1lczooKT0+ZyxJbnB1dERpc3BsYXlGbGFnczooKT0+bixSYW5nZURlcGVuZGVudFN0dWR5SW5wdXROYW1lczooKT0+bCxTdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElEOigpPT5yLFN0dWR5U3RyYXRlZ3lRdHlUeXBlSW5wdXRWYWx1ZTooKT0+byxhcmVTdHVkeUlucHV0c0VxdWFsOigpPT5fLGVkaXRhYmxlU3R1ZHlJbnB1dHM6KCk9PnYsZ2V0SW5wdXRWYWx1ZTooKT0+dSxpc0V4dGVuZGVkSW5wdXQ6KCk9PmgsaXNFeHRlbmRlZElucHV0Qm9vbDooKT0+dyxpc0V4dGVuZGVkSW5wdXRTb3VyY2U6KCk9PmQsaXNTdHJhdGVneUlucHV0OigpPT5DLGlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0OigpPT5iLGlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzOigpPT55LGlzU3R1ZHlJbnB1dE9wdGlvbnNJbmZvOigpPT5wLGlzVGltZU9yUHJpY2VOb3RIaWRkZW5JbnB1dDooKT0+UyxyYW5nZURlcGVuZGVudFN0dWR5SW5wdXROYW1lc0xpc3Q6KCk9Pm0scmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0c1RvVGltZVJhbmdlOigpPT5mLHVzZXJFZGl0YWJsZUlucHV0RmlsdGVyOigpPT5QfSk7dmFyIHMsbixyLG8sYSxsLGM9aSg4ODAxMTUpO2Z1bmN0aW9uIGgoZSl7cmV0dXJuKDAsYy5kZWZhdWx0KShlKX1mdW5jdGlvbiBkKGUpe3JldHVybiJzb3VyY2UiPT09ZS50fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGgoZSk/ZS52OmV9ZnVuY3Rpb24gcChlKXtyZXR1cm5bInRleHQiLCJpbnRlZ2VyIiwiZmxvYXQiLCJwcmljZSIsInNlc3Npb24iLCJyZXNvbHV0aW9uIl0uaW5jbHVkZXMoZS50eXBlKSYmZS5oYXNPd25Qcm9wZXJ0eSgib3B0aW9ucyIpfWZ1bmN0aW9uIF8oZSx0LGkpe2Zvcihjb25zdCBzIG9mIGUpaWYodFtzLmlkXSE9PWlbcy5pZF0pcmV0dXJuITE7cmV0dXJuITB9IWZ1bmN0aW9uKGUpe2UuSW50ZWdlcj0iaW50ZWdlciIsZS5GbG9hdD0iZmxvYXQiLGUuUHJpY2U9InByaWNlIixlLkJvb2w9ImJvb2wiLGUuVGV4dD0idGV4dCIsZS5TeW1ib2w9InN5bWJvbCIsZS5TZXNzaW9uPSJzZXNzaW9uIixlLlNvdXJjZT0ic291cmNlIixlLlJlc29sdXRpb249InJlc29sdXRpb24iLGUuVGltZT0idGltZSIsZS5CYXJUaW1lPSJiYXJfdGltZSIsZS5Db2xvcj0iY29sb3IiLGUuVGV4dGFyZWE9InRleHRfYXJlYSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5EYXRhV2luZG93PTJdPSJEYXRhV2luZG93IixlW2UuU3RhdHVzTGluZT04XT0iU3RhdHVzTGluZSIsZVtlLkFsbD0xNV09IkFsbCJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZS5Jbml0aWFsQ2FwaXRhbD0iaW5pdGlhbF9jYXBpdGFsIixlLkN1cnJlbmN5PSJjdXJyZW5jeSIsZS5EZWZhdWx0UVRZVmFsdWU9ImRlZmF1bHRfcXR5X3ZhbHVlIixlLkRlZmF1bHRRVFlUeXBlPSJkZWZhdWx0X3F0eV90eXBlIixlLlB5cmFtaWRpbmc9InB5cmFtaWRpbmciLGUuQ29taXNzaW9uVmFsdWU9ImNvbW1pc3Npb25fdmFsdWUiLGUuQ29taXNzaW9uVHlwZT0iY29tbWlzc2lvbl90eXBlIixlLkJhY2t0ZXN0RmlsbExpbWl0c0Fzc3VtdGlvbj0iYmFja3Rlc3RfZmlsbF9saW1pdHNfYXNzdW1wdGlvbiIsZS5TbGlwcGFnZT0ic2xpcHBhZ2UiLGUuQ2FsY09uT3JkZXJGaWxscz0iY2FsY19vbl9vcmRlcl9maWxscyIsZS5DYWxjT25FdmVyeVRpY2s9ImNhbGNfb25fZXZlcnlfdGljayIsZS5DYWxjT25IaXN0b3J5QmFyPSJjYWxjX29uX2V2ZXJ5X2hpc3RvcnlfdGljayIsZS5NYXJnaW5Mb25nPSJtYXJnaW5fbG9uZyIsZS5NYXJnaW5TaG9ydD0ibWFyZ2luX3Nob3J0IixlLkJhckRldGFsaXphdGlvbj0idXNlX2Jhcl9tYWduaWZpZXIiLGUuUHJvY2Vzc09yZGVyc09uQ2xvc2U9InByb2Nlc3Nfb3JkZXJzX29uX2Nsb3NlIixlLkZpbGxPcmRlcnNPblN0YW5kYXJkT0hMQz0iZmlsbF9vcmRlcnNfb25fc3RhbmRhcmRfb2hsYyJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5GaXhlZD0iZml4ZWQiLGUuQ2FzaFBlck9yZGVyPSJjYXNoX3Blcl9vcmRlciIsZS5QZXJjZW50T2ZFcXVpdHk9InBlcmNlbnRfb2ZfZXF1aXR5In0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLlBlcmNlbnQ9InBlcmNlbnQiLGUuQ2FzaFBlckNvbnRyYWN0PSJjYXNoX3Blcl9jb250cmFjdCIsZS5DYXNoUGVyT3JkZXI9ImNhc2hfcGVyX29yZGVyIn0oYXx8KGE9e30pKSxmdW5jdGlvbihlKXtlLkZpcnN0QmFyPSJmaXJzdF92aXNpYmxlX2Jhcl90aW1lIixlLkxhc3RCYXI9Imxhc3RfdmlzaWJsZV9iYXJfdGltZSIsZS5SZWFsdGltZT0ic3Vic2NyaWJlUmVhbHRpbWUifShsfHwobD17fSkpO2NvbnN0IG09T2JqZWN0LnZhbHVlcyhsKTt2YXIgZztmdW5jdGlvbiBmKGUpe3JldHVybntmcm9tOk1hdGgucm91bmQoZS5maXJzdF92aXNpYmxlX2Jhcl90aW1lLzFlMyksdG86TWF0aC5yb3VuZChlLmxhc3RfdmlzaWJsZV9iYXJfdGltZS8xZTMpfX1mdW5jdGlvbiBTKGUpe3JldHVybigidGltZSI9PT1lLnR5cGV8fCJwcmljZSI9PT1lLnR5cGUpJiYhMCE9PWUuaXNIaWRkZW59ZnVuY3Rpb24gdihlKXtjb25zdCB0PWUuZmlsdGVyKFMpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm5bXTtjb25zdCBpPW5ldyBNYXAscz1bXTt0LmZvckVhY2goKGU9Pntjb25zdHtncm91cDp0LGlubGluZTpufT1lO2lmKHZvaWQgMD09PW4pcmV0dXJuIHZvaWQgcy5wdXNoKGUpO2NvbnN0IHI9bisodHx8IiIpO2lmKGkuaGFzKHIpKWkuZ2V0KHIpPy5wdXNoKGUpO2Vsc2V7Y29uc3QgdD1bZV07aS5zZXQocix0KSxzLnB1c2godCl9fSkpO2NvbnN0IG49W107Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspe2NvbnN0IHQ9c1tlXQo7QXJyYXkuaXNBcnJheSh0KT8yPT09dC5sZW5ndGgmJnRbMF0udHlwZSE9PXRbMV0udHlwZT9uLnB1c2godCk6bi5wdXNoKC4uLnQpOm4ucHVzaCh0KX1yZXR1cm4gbn1mdW5jdGlvbiB5KGUpe3JldHVybiBPYmplY3QudmFsdWVzKGcpLm1hcCgoZT0+ZSkpLmluY2x1ZGVzKGUuaWQpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuISF5KGUpfHxtLmluY2x1ZGVzKGUuaWQpfWZ1bmN0aW9uIHcoZSl7cmV0dXJuKDAsYy5kZWZhdWx0KShlKSYmInQiaW4gZSYmImJvb2wiPT09ZS50JiYidiJpbiBlJiYiYm9vbGVhbiI9PXR5cGVvZiBlLnZ9ZnVuY3Rpb24gQyhlKXtyZXR1cm4ic3RyYXRlZ3lfcHJvcHMiPT09ZS5ncm91cElkfWZ1bmN0aW9uIFAoZSl7cmV0dXJuIWUuZ3JvdXBJZCYmIWUuaXNIaWRkZW4mJmUuaWQhPT1sLkZpcnN0QmFyJiZlLmlkIT09bC5MYXN0QmFyfSFmdW5jdGlvbihlKXtlLkZnQ29sb3I9Il9fY2hhcnRfZmdjb2xvciIsZS5CZ0NvbG9yPSJfX2NoYXJ0X2JnY29sb3IifShnfHwoZz17fSkpfSw3OTE0MjcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U3R1ZHlNZXRhSW5mbzooKT0+QyxnZXRTdHVkeUlkV2l0aFZlcnNpb246KCk9PnkscmVwbGF5U3RyYXRlZ3lTdHVkeUlkOigpPT5ifSk7dmFyIHM9aSgzMDQyMjEpLG49aSgyMDM2ODEpLHI9aSgxMzg2MzgpLG89aSg2MDE4NDEpLGE9aSgyMjEwNjEpLGw9aSgxNjQxNTYpLGM9aSgyNTA0NjcpLGg9aSg2MjgwNiksZD1pKDQwMzYpLHU9aSgyMjM4NjkpO2NvbnN0IHA9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5NZXRhSW5mbyIpLF89bmV3IFNldChbIkNvcnJlbGF0aW9uQ29lZmZpY2llbnRAdHYtYmFzaWNzdHVkaWVzIiwiQ29ycmVsYXRpb24gLSBMb2dAdHYtYmFzaWNzdHVkaWVzLTEiXSksbT1uZXcgU2V0KFtdKSxnPW5ldyBTZXQoWyJsaW5lIiwic2hhcGVzIiwiY2hhcnMiLCJhcnJvd3MiLCJhbGVydGNvbmRpdGlvbiJdKSxmPW5ldyBNYXAoW1siQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsImxpbmV0b29sYW5jaG9yZWR2d2FwIl0sWyJSZWdyZXNzaW9uVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwibGluZXRvb2xyZWdyZXNzaW9udHJlbmQiXSxbIlZiUEFuY2hvcmVkQHR2LWJhc2ljc3R1ZGllcyIsImxpbmV0b29sYW5jaG9yZWR2cCJdXSksUz1bImZvcmVjYXN0cyIsImVzdGltYXRlcyJdLHY9WyJib29sIiwiY29sb3IiLCJ0aW1lIiwidGV4dF9hcmVhIl07ZnVuY3Rpb24geShlKXtyZXR1cm4gQy5jdXREb2xsYXJIYXNoKGUuaWQpKyItIitlLnZlcnNpb259Y29uc3QgYj0iUmVwbGF5U3RyYXRlZ3lAdHYtc2NyaXB0aW5nIix3PVsidXNlVmVyc2lvbkZyb21NZXRhSW5mbyIsIl9mb3JjZU92ZXJsYXlQbG90SWRzIl07Y2xhc3MgQ3tjb25zdHJ1Y3RvcihlLHQ9ITEpe3RoaXMuX2ZvcmNlT3ZlcmxheVBsb3RJZHM9bmV3IFNldCwoMCxvLm1lcmdlKSh0aGlzLHtwYWxldHRlczp7fSxpbnB1dHM6W10scGxvdHM6W10sZ3JhcGhpY3M6e30sZGVmYXVsdHM6e319KSwoMCxvLm1lcmdlKSh0aGlzLGUpO2NvbnN0IGk9ZS5mdWxsSWR8fGUuaWQ7KDAsby5tZXJnZSkodGhpcyxDLnBhcnNlSWRTdHJpbmcoaSkpLHRoaXMuX3VwZGF0ZUlucHV0RGlzcGxheURlZmF1bHRzKCksdGhpcy51c2VWZXJzaW9uRnJvbU1ldGFJbmZvPXQsdGhpcy5wbG90cy5mb3JFYWNoKChlPT57Y29uc3QgdD1lLmlkLGk9dGhpcy5zdHlsZXM/Llt0XTtsZXQgcz0hIWk/LmZvcmNlT3ZlcmxheTshcyYmKDAsYy5pc09obGNQbG90KShlKSYmKHM9dGhpcy5vaGxjUGxvdHM/LltlLnRhcmdldF0/LmZvcmNlT3ZlcmxheT8/ITEscyYmdGhpcy5fZm9yY2VPdmVybGF5UGxvdElkcy5hZGQoZS50YXJnZXQpKSxzJiZ0aGlzLl9mb3JjZU92ZXJsYXlQbG90SWRzLmFkZCh0KX0pKX1kZWZhdWx0SW5wdXRzKCl7cmV0dXJuIHRoaXMuaW5wdXRzLm1hcCgoZT0+ZS5kZWZ2YWwpKS5maWx0ZXIoby5pc0V4aXN0ZW50KX1zdGF0ZSgpe2NvbnN0IGU9e307Zm9yKGNvbnN0W3QsaV1vZiBPYmplY3QuZW50cmllcyh0aGlzKSl3LmluY2x1ZGVzKHQpfHx0aGlzLmhhc093blByb3BlcnR5KHQpJiYoZVt0XT0oMCxuLmRlZmF1bHQpKGkpLCJpZCI9PT10JiYoZVt0XSs9Ii0iK3RoaXMudmVyc2lvbikpO3JldHVybiBlfWlzUGluZSgpe3JldHVybiB2b2lkIDAhPT10aGlzLnBpbmV9aXNTdGFuZGFyZFBpbmUoKXtyZXR1cm4gdGhpcy5pc1BpbmUoKSYmQy5pc1N0YW5kYXJkUGluZSh0aGlzLmlkKX1pc0ZvcmVjYXN0KCl7cmV0dXJuIFMuaW5jbHVkZXModGhpcy5mdW5kYW1lbnRhbENhdGVnb3J5Py50b0xvd2VyQ2FzZSgpPz8iIil9c3ltYm9sSW5wdXRJZCgpe3JldHVybiB0aGlzLmlucHV0cy5maW5kKChlPT4ic3ltYm9sIj09PWUudHlwZSkpPy5pZHx8bnVsbH1pbnB1dEJ5SWQoZSl7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLmlucHV0cy5maW5kKCh0PT50LmlkPT09ZSkpKX1pc1Bsb3RGb3JjZU92ZXJsYXkoZSl7cmV0dXJuIHRoaXMuX2ZvcmNlT3ZlcmxheVBsb3RJZHMuaGFzKGUpfWhhc0ZvcmNlT3ZlcmxheVBsb3RzKCl7cmV0dXJuIDAhPT10aGlzLl9mb3JjZU92ZXJsYXlQbG90SWRzLnNpemV9c3RhdGljIGdldFNvdXJjZUlkc0J5SW5wdXRzKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSl8fCF0KXJldHVybltdO2NvbnN0IGk9W107Zm9yKGNvbnN0IG4gb2YgZSlpZihDLmlzU291cmNlSW5wdXQobikmJigwLHMuZGVmYXVsdCkodFtuLmlkXSkpe2NvbnN0IGU9dFtuLmlkXTtlLmluY2x1ZGVzKCIkIikmJmkucHVzaChlLnNwbGl0KCIkIilbMF0pfXJldHVybiBpfXN0YXRpYyBpc1NvdXJjZUlucHV0KGUpe3JldHVybiBCb29sZWFuKGUuaWQmJigoInNvdXJjZSI9PT1lLmlkfHwic3JjIj09PWUuaWQpJiYoInRleHQiPT09ZS50eXBlfHwic291cmNlIj09PWUudHlwZSl8fCJzb3VyY2UiPT09ZS50eXBlKSl9c3RhdGljIGdldFNvdXJjZUlucHV0SWRzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgZS5pbnB1dHMpQy5pc1NvdXJjZUlucHV0KGkpJiZ0LnB1c2goaS5pZCk7cmV0dXJuIHR9c3RhdGljIGNhbkJlQ2hpbGQoZSx0KXtpZigoMCxzLmRlZmF1bHQpKGUpKXJldHVybiEwCjtpZighZSlyZXR1cm4hMTtpZihlLmV4dHJhJiYhQy5pc0FsbG93ZWRTb3VyY2VJbnB1dHNDb3VudChlLmV4dHJhLnNvdXJjZUlucHV0c0NvdW50LHQpfHwhMD09PWUuY2FuTm90QmVDaGlsZHx8ITE9PT1lLmNhbkJlQ2hpbGR8fF8uaGFzKGUuaWQpKXJldHVybiExO2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgZS5pbnB1dHMpQy5pc1NvdXJjZUlucHV0KHQpJiYoaSs9MSk7cmV0dXJuIEMuaXNBbGxvd2VkU291cmNlSW5wdXRzQ291bnQoaSx0KX1zdGF0aWMgaXNBbGxvd2VkU291cmNlSW5wdXRzQ291bnQoZSx0KXtyZXR1cm4gdCYmZT4wfHwxPT09ZX1zdGF0aWMgY2FuSGF2ZUNoaWxkcmVuKGUpe2lmKGUpe2lmKGUuaXNUVlNjcmlwdFN0cmF0ZWd5fHxlLlRWU2NyaXB0U291cmNlQ29kZSYmKDAsdS5pc1N0cmF0ZWd5KShlLlRWU2NyaXB0U291cmNlQ29kZSkpcmV0dXJuITE7aWYoZS5pZCYmIW0uaGFzKGUuaWQpJiZBcnJheS5pc0FycmF5KGUucGxvdHMpKWZvcihjb25zdCB0IG9mIGUucGxvdHMpaWYoZy5oYXModC50eXBlKSlyZXR1cm4hMH1yZXR1cm4hMX1zdGF0aWMgZ2V0Q2hpbGRTb3VyY2VJbnB1dFRpdGxlcyhlLHQsaSl7Y29uc3Qgcz17fTtpZih0LnBsb3RzJiZ0LnBsb3RzLmxlbmd0aCYmZS5vcHRpb25zJiZlLm9wdGlvbnMubGVuZ3RoKWZvcihjb25zdCBuIG9mIGUub3B0aW9ucyl7Y29uc3QgZT1uPytuLnNwbGl0KCIkIilbMV06TmFOLHI9aXNGaW5pdGUoZSkmJnQucGxvdHNbZV07ciYmZy5oYXMoci50eXBlKSYmKHNbbl09dC5zdHlsZXMmJnQuc3R5bGVzW3IuaWRdJiZ0LnN0eWxlc1tyLmlkXT8udGl0bGV8fHIuaWQsaSYmKHNbbl09aSsiOuKAiSIrc1tuXSkpfXJldHVybiBzfXN0YXRpYyBjYW5QbG90QmVTb3VyY2VPZkNoaWxkU3R1ZHkoZSl7cmV0dXJuIGcuaGFzKGUpfXN0YXRpYyBnZXRTdHVkeVByb3BlcnR5Um9vdE5hbWUoZSl7Y29uc3QgdD1mLmdldChlLmlkKTtpZih2b2lkIDAhPT10KXJldHVybiB0O2xldCBpPSJzdHVkeV8iK2UuaWQ7cmV0dXJuIGUucGluZSYmZS5waW5lLnZlcnNpb24mJihpKz0iXyIrZS5waW5lLnZlcnNpb24ucmVwbGFjZSgiLiIsIl8iKSksaX1zdGF0aWMgZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lQnlJZChlKXtjb25zdCB0PWYuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT10P3Q6InN0dWR5XyIrZX1zdGF0aWMgaXNTY3JpcHRTdHJhdGVneShlKXtpZihlLmV4dHJhJiZlLmV4dHJhLmtpbmQpcmV0dXJuIGUuZXh0cmEua2luZD09PWwuUGluZUtpbmQuU3RyYXRlZ3k7aWYoITA9PT1lLmlzVFZTY3JpcHRTdHJhdGVneSlyZXR1cm4hMDtjb25zdCB0PWUuVFZTY3JpcHRTb3VyY2VDb2RlfHxlLnNjcmlwdFNvdXJjZTtyZXR1cm4hIXQmJigwLHUuaXNTdHJhdGVneSkodCl9c3RhdGljIGlzUmVwbGF5U3RyYXRlZ3koZSl7cmV0dXJuIGUuaWQ9PT1ifXN0YXRpYyBwYXJzZUlkU3RyaW5nKGUpe3JldHVybigwLGQucGFyc2VJZFN0cmluZykoZSl9c3RhdGljIHZlcnNpb25PZihlKXtjb25zdCB0PSJfbWV0YWluZm9WZXJzaW9uImluIGUmJigwLG8uaXNOdW1iZXIpKGUuX21ldGFpbmZvVmVyc2lvbik/ZS5fbWV0YWluZm9WZXJzaW9uOjA7cmV0dXJuIHQ8MCYmcC5sb2dFcnJvcigiTWV0YWluZm8gZm9ybWF0IHZlcnNpb24gY2Fubm90IGJlIG5lZ2F0aXZlOiAiK3QpLHR9c3RhdGljIGdldFBhY2thZ2VOYW1lKGUpe2NvbnN0IHQ9L15bXkBdK0AoW14tXSstW14tXSspLy5leGVjKGV8fCIiKSxbLGk9InR2LWJhc2ljc3R1ZGllcyJdPXR8fFtdO3JldHVybiBpfXN0YXRpYyBjdXRCZWZvcmVEb2xsYXIoZSl7Y29uc3QgdD1lLmluZGV4T2YoIiQiKTtyZXR1cm4tMT09PXQ/ZTplLnN1YnN0cmluZyh0KzEpfXN0YXRpYyBjdXREb2xsYXJIYXNoKGUpe2NvbnN0IHQ9ZS5pbmRleE9mKCIkIik7aWYoLTE9PT10KXJldHVybiBlO2NvbnN0IGk9ZS5pbmRleE9mKCJAIikscz1pPj0wP2Uuc3Vic3RyaW5nKGkpOiIiO3JldHVybiBlLnN1YnN0cmluZygwLHQpK3N9c3RhdGljIGhhc1B1YlN1ZmZpeChlKXtyZXR1cm4vXlBVQjsuKyQvLnRlc3QoZSl9c3RhdGljIGhhc1N0ZFN1ZmZpeChlKXtyZXR1cm4vXlNURDsuKyQvLnRlc3QoZSl9c3RhdGljIGlzU3RhbmRhcmRQaW5lKGUpe3JldHVybi9eKFN0cmF0ZWd5KT9TY3JpcHRcJFNURDsuKkB0di1zY3JpcHRpbmckLy50ZXN0KGUpfXN0YXRpYyBnZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oZSx0KXtjb25zdCBpPUMuY3V0RG9sbGFySGFzaChlLmlkKTtsZXQgcz1pO3JldHVybiBpLmluZGV4T2YoIlBvcnRmb2xpb0B0di1zY3JpcHRpbmciKT49MD9zKz10PyIhIjoiIjoiUmVwbGF5U3RyYXRlZ3lAdHYtc2NyaXB0aW5nIj09PXM/cys9Ii01ODEhIjppLmluZGV4T2YoIkB0di1zY3JpcHRpbmciKT49MD9zKz0iLTEwMSEiOmkuZW5kc1dpdGgoIkNQQHR2LWJhc2ljc3R1ZGllcyIpP3MrPSItIitNYXRoLm1pbihlLnZlcnNpb24sMjA3KTppLmVuZHNXaXRoKCJDUEB0di1jaGFydHBhdHRlcm5zIik/cys9Ii0iK01hdGgubWluKGUudmVyc2lvbiw5KTppLmVuZHNXaXRoKCJAdHYtdm9sdW1lYnlwcmljZSIpfHx0P3MrPSItIitlLnZlcnNpb24rIiEiOnMrPSItIitlLnZlcnNpb24sc31zdGF0aWMgc2F2ZWRTdHVkaWVzT3ZlcnJpZGVzKCl7cmV0dXJuIHRoaXMuX3NhdmVkU3R1ZGllc092ZXJyaWRlc31zdGF0aWMgbWVyZ2VEZWZhdWx0c092ZXJyaWRlcyhlKXsoMCxvLm1lcmdlKSh0aGlzLl9zYXZlZFN0dWRpZXNPdmVycmlkZXMsZSl9c3RhdGljIGZpbmRTdHVkeU1ldGFJbmZvQnlEZXNjcmlwdGlvbihlLHQpe2lmKGUpe2NvbnN0IGk9dC50b0xvd2VyQ2FzZSgpO2Zvcihjb25zdCB0IG9mIGUpaWYodC5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpPT09aSlyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoInVuZXhwZWN0ZWQgc3R1ZHkgaWQ6Iit0KX10aHJvdyBuZXcgRXJyb3IoIlRoZXJlIGlzIG5vIHN0dWRpZXMgbWV0YWluZm8iKX1fdXBkYXRlSW5wdXREaXNwbGF5RGVmYXVsdHMoKXt0aGlzLmlucHV0cy5maWx0ZXIoKGU9PnZvaWQgMD09PWUuZGlzcGxheSkpLmZvckVhY2goKGU9PnsKdi5pbmNsdWRlcyhlLnR5cGUpP2UuZGlzcGxheT1oLklucHV0RGlzcGxheUZsYWdzLk5vbmU6ZS5kaXNwbGF5PWguSW5wdXREaXNwbGF5RmxhZ3MuQWxsfSkpfX1DLl9zYXZlZFN0dWRpZXNPdmVycmlkZXM9e319LDI1MDQ2NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtJbnRlcm5hbFN0dWR5UGxvdFR5cGU6KCk9PnIsTGluZVN0dWR5UGxvdFN0eWxlOigpPT5zLE9obGNTdHVkeVBsb3RTdHlsZTooKT0+YSxQbG90U3ltYm9sU2l6ZTooKT0+bC5QbG90U3ltYm9sU2l6ZSxTdHVkeVBsb3REaXNwbGF5VGFyZ2V0OigpPT5vLFN0dWR5UGxvdFR5cGU6KCk9Pm4sZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrczooKT0+Vyxkb2VzTGluZVBsb3RTdHlsZVN1cHBvcnRMaW5lU3R5bGU6KCk9Pk8saXNBbGVydENvbmRpdGlvblBsb3Q6KCk9PmssaXNBcnJvd3NQbG90OigpPT51LGlzQmFyQ29sb3JlclBsb3Q6KCk9PkMsaXNCZ0NvbG9yZXJQbG90OigpPT5QLGlzQ2FuZGxlQm9yZGVyQ29sb3JlclBsb3Q6KCk9PkksaXNDYW5kbGVXaWNrQ29sb3JlclBsb3Q6KCk9Pk0saXNDaGFyc1Bsb3Q6KCk9PmQsaXNDb2xvcmVyUGxvdDooKT0+dyxpc0RhdGFPZmZzZXRQbG90OigpPT5fLGlzRGF0YVBsb3Q6KCk9PnAsaXNEb3duQ29sb3JlclBsb3Q6KCk9PkEsaXNMaW5lUGxvdDooKT0+Yyxpc05vblZpc3VhbFBsb3Q6KCk9Pk4saXNPaGxjQ2xvc2VQbG90OigpPT5TLGlzT2hsY0NvbG9yZXJQbG90OigpPT54LGlzT2hsY0hpZ2hQbG90OigpPT5nLGlzT2hsY0xvd1Bsb3Q6KCk9PmYsaXNPaGxjT3BlblBsb3Q6KCk9Pm0saXNPaGxjUGxvdDooKT0+dixpc09obGNQbG90U3R5bGVCYXJzOigpPT5SLGlzT2hsY1Bsb3RTdHlsZUNhbmRsZXM6KCk9PlYsaXNQYWxldHRlQ29sb3JlclBsb3Q6KCk9PnksaXNQbG90U3VwcG9ydERpc3BsYXk6KCk9PkQsaXNQbG90VGl0bGVEZWZpbmVkOigpPT5FLGlzUGxvdFdpdGhUZWNobmljYWxWYWx1ZXM6KCk9PkIsaXNSZ2JhQ29sb3JlclBsb3Q6KCk9PmIsaXNTaGFwZXNQbG90OigpPT5oLGlzVGV4dENvbG9yZXJQbG90OigpPT5ULGlzVXBDb2xvcmVyUGxvdDooKT0+TH0pO3ZhciBzLG4scixvLGEsbD1pKDU4OTUxMSk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4ibGluZSI9PT1lLnR5cGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4ic2hhcGVzIj09PWUudHlwZX1mdW5jdGlvbiBkKGUpe3JldHVybiJjaGFycyI9PT1lLnR5cGV9ZnVuY3Rpb24gdShlKXtyZXR1cm4iYXJyb3dzIj09PWUudHlwZX1mdW5jdGlvbiBwKGUpe3JldHVybiJkYXRhIj09PWUudHlwZX1mdW5jdGlvbiBfKGUpe3JldHVybiJkYXRhb2Zmc2V0Ij09PWUudHlwZX1mdW5jdGlvbiBtKGUpe3JldHVybiJvaGxjX29wZW4iPT09ZS50eXBlfWZ1bmN0aW9uIGcoZSl7cmV0dXJuIm9obGNfaGlnaCI9PT1lLnR5cGV9ZnVuY3Rpb24gZihlKXtyZXR1cm4ib2hsY19sb3ciPT09ZS50eXBlfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIm9obGNfY2xvc2UiPT09ZS50eXBlfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIG0oZSl8fGcoZSl8fGYoZSl8fFMoZSl9ZnVuY3Rpb24geShlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGUmJiJwYWxldHRlImluIGV9ZnVuY3Rpb24gYihlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGUmJiEoInBhbGV0dGUiaW4gZSl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGV9ZnVuY3Rpb24gQyhlKXtyZXR1cm4iYmFyX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIFAoZSl7cmV0dXJuImJnX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIFQoZSl7cmV0dXJuInRleHRfY29sb3JlciI9PT1lLnR5cGV9ZnVuY3Rpb24geChlKXtyZXR1cm4ib2hsY19jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBNKGUpe3JldHVybiJ3aWNrX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIEkoZSl7cmV0dXJuImJvcmRlcl9jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBMKGUpe3JldHVybiJ1cF9jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBBKGUpe3JldHVybiJkb3duX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIGsoZSl7cmV0dXJuIGUudHlwZT09PXIuQWxlcnRDb25kaXRpb259ZnVuY3Rpb24gRChlKXtyZXR1cm4gYyhlKXx8aChlKXx8ZChlKXx8dShlKX1mdW5jdGlvbiBFKGUpe3JldHVybiJQbG90IiE9PWV9ZnVuY3Rpb24gUihlKXtyZXR1cm4gZS5wbG90dHlwZT09PWEuT2hsY0JhcnN9ZnVuY3Rpb24gVihlKXtyZXR1cm4gZS5wbG90dHlwZT09PWEuT2hsY0NhbmRsZXN9ZnVuY3Rpb24gQihlKXtyZXR1cm4gdyhlKXx8QyhlKXx8UChlKXx8cChlKXx8XyhlKXx8eChlKXx8ayhlKXx8TChlKXx8QShlKXx8SShlKXx8TShlKXx8VChlKX1mdW5jdGlvbiBOKGUpe3JldHVybiB3KGUpfHxUKGUpfHxDKGUpfHxwKGUpfHxfKGUpfHx4KGUpfHxNKGUpfHxJKGUpfHxMKGUpfHxBKGUpfHxrKGUpfWZ1bmN0aW9uIE8oZSl7cmV0dXJuW3MuTGluZSxzLkxpbmVXaXRoQnJlYWtzLHMuU3RlcExpbmUscy5TdGVwTGluZVdpdGhCcmVha3Mscy5TdGVwTGluZVdpdGhEaWFtb25kcyxzLkFyZWEscy5BcmVhV2l0aEJyZWFrc10uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gVyhlKXtyZXR1cm5bcy5MaW5lLHMuQXJlYSxzLlN0ZXBMaW5lLHMuU3RlcExpbmVXaXRoRGlhbW9uZHNdLmluY2x1ZGVzKGUpfSFmdW5jdGlvbihlKXtlW2UuTGluZT0wXT0iTGluZSIsZVtlLkhpc3RvZ3JhbT0xXT0iSGlzdG9ncmFtIixlW2UuQ3Jvc3M9M109IkNyb3NzIixlW2UuQXJlYT00XT0iQXJlYSIsZVtlLkNvbHVtbnM9NV09IkNvbHVtbnMiLGVbZS5DaXJjbGVzPTZdPSJDaXJjbGVzIixlW2UuTGluZVdpdGhCcmVha3M9N109IkxpbmVXaXRoQnJlYWtzIixlW2UuQXJlYVdpdGhCcmVha3M9OF09IkFyZWFXaXRoQnJlYWtzIixlW2UuU3RlcExpbmU9OV09IlN0ZXBMaW5lIixlW2UuU3RlcExpbmVXaXRoRGlhbW9uZHM9MTBdPSJTdGVwTGluZVdpdGhEaWFtb25kcyIsZVtlLlN0ZXBMaW5lV2l0aEJyZWFrcz0xMV09IlN0ZXBMaW5lV2l0aEJyZWFrcyJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5MaW5lPSJsaW5lIixlLkNvbG9yZXI9ImNvbG9yZXIiLAplLkJhckNvbG9yZXI9ImJhcl9jb2xvcmVyIixlLkJnQ29sb3Jlcj0iYmdfY29sb3JlciIsZS5UZXh0Q29sb3Jlcj0idGV4dF9jb2xvcmVyIixlLk9obGNDb2xvcmVyPSJvaGxjX2NvbG9yZXIiLGUuQ2FuZGxlV2lja0NvbG9yZXI9IndpY2tfY29sb3JlciIsZS5DYW5kbGVCb3JkZXJDb2xvcmVyPSJib3JkZXJfY29sb3JlciIsZS5VcENvbG9yZXI9InVwX2NvbG9yZXIiLGUuRG93bkNvbG9yZXI9ImRvd25fY29sb3JlciIsZS5TaGFwZXM9InNoYXBlcyIsZS5DaGFycz0iY2hhcnMiLGUuQXJyb3dzPSJhcnJvd3MiLGUuRGF0YT0iZGF0YSIsZS5EYXRhT2Zmc2V0PSJkYXRhb2Zmc2V0IixlLk9obGNPcGVuPSJvaGxjX29wZW4iLGUuT2hsY0hpZ2g9Im9obGNfaGlnaCIsZS5PaGxjTG93PSJvaGxjX2xvdyIsZS5PaGxjQ2xvc2U9Im9obGNfY2xvc2UifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2UuQWxlcnRDb25kaXRpb249ImFsZXJ0Y29uZGl0aW9uIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLlBhbmU9MV09IlBhbmUiLGVbZS5EYXRhV2luZG93PTJdPSJEYXRhV2luZG93IixlW2UuUHJpY2VTY2FsZT00XT0iUHJpY2VTY2FsZSIsZVtlLlN0YXR1c0xpbmU9OF09IlN0YXR1c0xpbmUiLGVbZS5QaW5lU2NyZWVuZXI9MTZdPSJQaW5lU2NyZWVuZXIiLGVbZS5BbGw9NDI5NDk2NzI5NV09IkFsbCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5PaGxjQmFycz0ib2hsY19iYXJzIixlLk9obGNDYW5kbGVzPSJvaGxjX2NhbmRsZXMifShhfHwoYT17fSkpfSwyMDI2MzcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c3R1ZHlBdmFpbGFibGVQcmljZVNvdXJjZXM6KCk9PnN9KTtjb25zdCBzPVsib3BlbiIsImhpZ2giLCJsb3ciLCJjbG9zZSIsImhsMiIsImhsYzMiLCJvaGxjNCIsImhsY2M0Il19LDE0MjM4OShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtTdHVkeVN0YXR1c1R5cGU6KCk9PnN9KSxmdW5jdGlvbihlKXtlW2UuVW5kZWZpbmVkPTBdPSJVbmRlZmluZWQiLGVbZS5Mb2FkaW5nPTFdPSJMb2FkaW5nIixlW2UuQ29tcGxldGVkPTJdPSJDb21wbGV0ZWQiLGVbZS5FcnJvcj0zXT0iRXJyb3IifShzfHwocz17fSkpfSwxNzQzNDIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxuLHI7aS5kKHQse1ZvbHVtZUZvb3RwcmludFN1bW1hcnlNb2RlOigpPT5zLFZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXM6KCk9Pm59KSxmdW5jdGlvbihlKXtlW2UuSW5mb0JveD0wXT0iSW5mb0JveCIsZVtlLlRhYmxlPTFdPSJUYWJsZSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5CdXlBbmRTZWxsPSJCdXkgYW5kIHNlbGwiLGUuRGVsdGE9IkRlbHRhIixlLlRvdGFsPSJUb3RhbCIsZS5MYWRkZXI9IkxhZGRlciJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkNsdXN0ZXI9MF09IkNsdXN0ZXIiLGVbZS5Qcm9maWxlPTFdPSJQcm9maWxlIn0ocnx8KHI9e30pKX0sMzQ0Nzg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHtoaWRlOigpPT5iLHNob3c6KCk9Pl8sc2hvd09uRWxlbWVudDooKT0+cCx0ZW1wRm9yY2VIaWRlOigpPT55LHRvb2x0aXBDbGlja0hhbmRsZXI6KCk9PmYsdXBkYXRlVG9vbHRpcFRleHQ6KCk9Pm19KTt2YXIgcz1pKDM2MzI2OSksbj1pKDEzODYzOCkscj1pKDcyNzA5KSxvPWkoNjU4OTk1KSxhPWkoMTY3ODk2KSxsPWkoNDkwMzc4KTtsZXQgYz0hMSxoPW51bGwsZD1udWxsO3MubW9iaWxldG91Y2h8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLGcsITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnRhcmdldDtpZighKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5jbG9zZXN0KCdbZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXM9InRydWUiXScpJiZ0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikpKXJldHVybjtnKGUsITApfSkse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1mb2N1cyIsKGZ1bmN0aW9uKGUpe2UudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmcoZSwhMCl9KSx7Y2FwdHVyZTohMH0pKTtjb25zdCB1PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKGgmJmgub3B0aW9ucy50YXJnZXQpe2xldCBlO2U9ImlzQ29ubmVjdGVkImluIGgub3B0aW9ucy50YXJnZXQ/aC5vcHRpb25zLnRhcmdldC5pc0Nvbm5lY3RlZDpkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGgub3B0aW9ucy50YXJnZXQpLGV8fGIoKX19KSkscD0oZSx0PXt9KT0+e2NvbnN0e2NvbnRlbnQ6aSwuLi5zfT1QKHQpLG49bC5nZXREYXRhRnJvbVRhcmdldChlKSxyPU9iamVjdC5hc3NpZ24obixzKTtyZXR1cm4ibm9uZSIhPT1pLnR5cGUmJihyLmNvbnRlbnQ9aSksISgibm9uZSI9PT1yLmNvbnRlbnQudHlwZSYmIXIuaG90a2V5KSYmKHIudGFyZ2V0PWUsXyhyKSwhMCl9LF89ZT0+e2NvbnN0IHQ9UChlKSxpPWwuZ2V0VG9vbHRpcCh0KTtpZihoPXtvcHRpb25zOnQsZWxlbWVudDppfSwoMCxhLnNldFRvb2x0aXApKGkpLCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwhYylyZXR1cm4gbC5oaWRlVG9vbHRpcChpKSx2b2lkKDAsby5zY2hlZHVsZVJlbmRlcikoKCgpPT53KGkpKSxmdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIiE9dHlwZW9mIGUudG9vbHRpcERlbGF5fHxpc05hTihlLnRvb2x0aXBEZWxheSk/NTAwOmUudG9vbHRpcERlbGF5fSh0KSk7Y29uc3R7dG9vbHRpcERlYm91bmNlOnN9PWU7Im51bWJlciIhPXR5cGVvZiBzfHxpc05hTihzKT93KGkpOigwLG8uc2NoZWR1bGVSZW5kZXIpKCgoKT0+dyhpKSkscyl9LG09ZT0+bC51cGRhdGVUb29sdGlwVGV4dEZyb21UYXJnZXQoZSk7ZnVuY3Rpb24gZyhlLHQpe2lmKCJzb3VyY2VDYXBhYmlsaXRpZXMiaW4gZSYmZS5zb3VyY2VDYXBhYmlsaXRpZXM/LmZpcmVzVG91Y2hFdmVudHMpcmV0dXJuO2NvbnN0IGk9ZnVuY3Rpb24oZSx0LGkpe2NvbnN0IHM9W107Zm9yKDtlJiZlIT09dDspZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKGkpJiZzLnB1c2goZSksCmU9ZS5wYXJlbnRFbGVtZW50fHxDKGUucGFyZW50Tm9kZSk7cmV0dXJuIHN9KGUudGFyZ2V0LGUuY3VycmVudFRhcmdldCwiYXBwbHktY29tbW9uLXRvb2x0aXAiKTtmb3IoY29uc3QgcyBvZiBpKXtpZihlIGluc3RhbmNlb2YgTW91c2VFdmVudClpZigiYnV0dG9ucyJpbiBlKXtpZigxJmUuYnV0dG9ucyljb250aW51ZX1lbHNlIGlmKDE9PT1lLndoaWNoKWNvbnRpbnVlO2NvbnN0IGk9KCk9PnAocyk7aWYoaSgpKXtjb25zdCBlPWU9Pm4obnVsbCwhMCksbj0ocixvPSExKT0+e3MucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29tbW9uLXRvb2x0aXAtdXBkYXRlIixpKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLG4pLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixuKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUse2NhcHR1cmU6ITB9KSx0JiYocy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixuKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLG4pKSxkJiYoZC5kZXN0cm95KCksZD1udWxsKSxiKG8pfTtzLmFkZEV2ZW50TGlzdGVuZXIoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIsaSkscy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixuKSxzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLHtjYXB0dXJlOiEwfSksdCYmKHMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsbikscy5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKSksbnVsbD09PWQmJihkPSgwLHIuY3JlYXRlR3JvdXApKHtkZXNjOiJUb29sdGlwIn0pLGQuYWRkKHtkZXNjOiJIaWRlIixob3RrZXk6MjcsaGFuZGxlcjpufSkpO2JyZWFrfX19ZnVuY3Rpb24gZihlKXtzLm1vYmlsZXRvdWNoJiYocChlLmN1cnJlbnRUYXJnZXQse3Rvb2x0aXBEZWxheTowfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixTKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixTKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLFMpLHdpbmRvdy5zY3JlZW4ub3JpZW50YXRpb24/LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsUykpfWZ1bmN0aW9uIFMoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLFMpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLFMpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsUyksd2luZG93LnNjcmVlbi5vcmllbnRhdGlvbj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixTKSxiKCl9ZnVuY3Rpb24gdigpeygwLGEuZW1wdHkpKCksYz0hMSxoPW51bGx9Y29uc3QgeT0oKT0+e2lmKCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLmRpc2Nvbm5lY3QoKSwhaHx8IWMpcmV0dXJuO2NvbnN0e2VsZW1lbnQ6ZX09aDtsLmhpZGVUb29sdGlwKGUpLHYoKX0sYj0oZSx0KT0+e2lmKCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLmRpc2Nvbm5lY3QoKSwhaClyZXR1cm47aWYoIWUmJiFjKXJldHVybjtjb25zdHtlbGVtZW50Omksb3B0aW9uczpzfT1oLHI9KCk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHIpLGwuaGlkZVRvb2x0aXAoaSksZT92KCk6KDAsby5zY2hlZHVsZVJlbW92ZSkoKCgpPT57digpfSksMjUwKSx0Py4oKX07cy50b29sdGlwSGlkZURlbGF5PygwLG8uc2NoZWR1bGVIaWRlKSgoKCk9PntpLnF1ZXJ5U2VsZWN0b3IoIjpob3ZlciIpP2kuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIscik6cigpfSkscy50b29sdGlwSGlkZURlbGF5KTpyKCl9O2Z1bmN0aW9uIHcoZSl7Y29uc3R7b3B0aW9uczp0fT0oMCxuLmVuc3VyZU5vdE51bGwpKGgpO2lmKGwuc2V0U3R5bGUoZSx0KSxsLnNob3dUb29sdGlwKGUpLCgwLG4uZW5zdXJlTm90TnVsbCkodSkub2JzZXJ2ZShkb2N1bWVudCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSxjPSEwLHQuZm9yY2VIaWRlT25Nb3ZlKXtjb25zdCBlPSgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUpLGIoKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUpfX1mdW5jdGlvbiBDKGUpe3JldHVybiBlJiYoZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFP2U6bnVsbCl9ZnVuY3Rpb24gUChlKXtpZihmdW5jdGlvbihlKXtyZXR1cm4iY29udGVudCJpbiBlfShlKSlyZXR1cm4gZTtjb25zdHtpbm5lcjp0LGh0bWw6aSx0ZXh0OnMsLi4ubn09ZTtsZXQgcj17dHlwZToibm9uZSJ9O3JldHVybiB0JiYocj17dHlwZToiZWxlbWVudCIsZGF0YTp0fSkscyYmKHI9e3R5cGU6aT8iaHRtbCI6InRleHQiLGRhdGE6c30pLHtjb250ZW50OnIsLi4ubn19fSw0MDE1MjMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q0hBUlRfV0FSTklOSUdfR1JPVVBfSUQ6KCk9Pm8sc2hvd0NoYXJ0V2FybmluZ05vdGlmaWNhdGlvbjooKT0+YX0pO3ZhciBzPWkoNjU3NTczKSxuPWkoNjUyMTE0KSxyPWkoNjEzMDQzKTtjb25zdCBvPSJjaGFydF93YXJuaW5nIjtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIG5ldyBQcm9taXNlKChpPT57bi50b2FzdE1hbmFnZXIuYWRkVG9hc3QoZSxvLHQpLCgwLHIuc2V0VG9hc3RVc2VyQWN0aXZpdHlCYXNlZFJlbW92YWxUaW1lb3V0KShlLDFlNCk7Y29uc3QgYT0oMCxzLnN1YnNjcmliZU9uVG9hc3QpKGUsKGU9PnsiUmVtb3ZlIiE9PWUudHlwZSYmZS5kZXRhaWxzIT09ci5DTE9TRV9EVUVfVE9fSU5BQ1RJVklUWV9FVkVOVF9ERVRBSUxTfHwoaSgpLGEoKSl9KSl9KSl9fSw2NTc1NzMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c3Vic2NyaWJlT25Ub2FzdDooKT0+c30pCjtjb25zdCBzPWkoNjUyMTE0KS50b2FzdE1hbmFnZXIuc3Vic2NyaWJlT25Ub2FzdH0sNjEzMDQzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NMT1NFX0RVRV9UT19JTkFDVElWSVRZX0VWRU5UX0RFVEFJTFM6KCk9PmEsc2V0VG9hc3RVc2VyQWN0aXZpdHlCYXNlZFJlbW92YWxUaW1lb3V0OigpPT5sfSk7dmFyIHM9aSg2NTIxMTQpLG49aSgyMzIzNjQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBpPW5ldyBTZXQscz1uZXcgbi5XYXRjaGVkVmFsdWUoImhpZGRlbiIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUpLHI9dD8udGltZXJzfHx7c2V0VGltZW91dCxjbGVhclRpbWVvdXR9LG89ci5zZXRUaW1lb3V0LGE9ci5jbGVhclRpbWVvdXQ7bGV0IGw7Y29uc3QgYz10Py5pZ25vcmVWaXNpYmlsaXR5Q2hhbmdlO3Muc3Vic2NyaWJlKChlPT57aS5mb3JFYWNoKCh0PT50KCEhZSkpKX0pLHtjYWxsV2l0aExhc3Q6ITB9KTtjb25zdCBoPSgpPT57cy5zZXRWYWx1ZSghMCksYShsKSxsPW8oKCgpPT57cy5zZXRWYWx1ZSghMSl9KSxlKX0sZD0oKT0+eyJoaWRkZW4iPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3Muc2V0VmFsdWUoITEpOmgoKX07cmV0dXJue3N1YnNjcmliZTp0PT57aS5zaXplPjB8fChhKGwpLGw9bygoKCk9PntzLnNldFZhbHVlKCExKX0pLGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixoLHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixoLHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsaCx7cGFzc2l2ZTohMH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGgse3Bhc3NpdmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsaCx7cGFzc2l2ZTohMH0pLGN8fGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGQse3Bhc3NpdmU6ITB9KSksaS5hZGQodCl9LHVuc3Vic2NyaWJlOmU9PntpLmRlbGV0ZShlKSwwPT09aS5zaXplJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLGgpLGN8fGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGQpLGEobCkpfSx2YWx1ZTooKT0+ISFzLnZhbHVlKCl9fXZhciBvPWkoMTIxMzEpO2NvbnN0IGE9InVzZXJBY3Rpdml0eVRpbWVvdXQiLGw9ZnVuY3Rpb24oZSx0LGkscyl7Y29uc3Qgbj1yKGkpO3JldHVybiBmdW5jdGlvbihpLHI9MmU0KXtjb25zdHtzdGFydDphLHJlc2V0Omx9PSgwLG8uY3JlYXRlVGltZXIpKCgoKT0+e2UucmVtb3ZlVG9hc3QoaSxzKX0pLHIpLGM9KCk9Pntjb25zdCBlPW4udmFsdWUoKSxpPXQudmFsdWU7ZSYmIWk/YSgpOmwoKX07bi5zdWJzY3JpYmUoYyksYygpO2NvbnN0IGg9dC5zdWJzY3JpYmUoYyksZD1lLnN1YnNjcmliZU9uVG9hc3QoaSwoZT0+eyJSZW1vdmVBbmltYXRpb25TdGFydCI9PT1lLnR5cGUmJihsKCksZCgpLG4udW5zdWJzY3JpYmUoYyksaCgpKX0pKX19KHMudG9hc3RNYW5hZ2VyLHMudG9hc3RVc2VySW50ZXJhY3Rpb25TdGF0dXMsMTVlMyxhKX0sNjUyMTE0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RvYXN0TWFuYWdlcjooKT0+cix0b2FzdFVzZXJJbnRlcmFjdGlvblN0YXR1czooKT0+b30pO3ZhciBzPWkoMTE1NjQ0KTt2YXIgbj1pKDcxMDExMik7Y29uc3Qgcj1mdW5jdGlvbigpe2NvbnN0IGU9bmV3IFNldCx0PW5ldyBNYXAsaT17Z3JvdXBzOm5ldyBNYXB9O2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1pLmdyb3Vwcy5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBzPXtpZDplLGxpc3Q6bmV3IE1hcCxhZGRlZDpuZXcgU2V0LHJlbW92ZWQ6bmV3IFNldH07cmV0dXJuIGkuZ3JvdXBzLnNldChlLHMpLHN9ZnVuY3Rpb24gcihlLHMpe3QuZGVsZXRlKGUpLHMuYWRkZWQuZGVsZXRlKGUpLHMucmVtb3ZlZC5kZWxldGUoZSkscy5saXN0LmRlbGV0ZShlKSwwPT09cy5saXN0LnNpemU/aS5ncm91cHMuZGVsZXRlKHMuaWQpOmkuZ3JvdXBzLnNldChzLmlkLHsuLi5zfSksbyh7dHlwZToiUmVtb3ZlIix0b2FzdElkOmUsZ3JvdXBJZDpzLmlkfSl9ZnVuY3Rpb24gbyh0KXtpLmdyb3Vwcz1uZXcgTWFwKGkuZ3JvdXBzKSxlLmZvckVhY2goKGU9PntlKHQpfSkpO2NvbnN0IHM9YS5nZXQodC50b2FzdElkKTtzJiZzLmZvckVhY2goKGU9PntlKHQpfSkpfWNvbnN0IGE9bmV3IE1hcDtyZXR1cm57YWRkVG9hc3Q6ZnVuY3Rpb24oZSxzLHIsYSxsKXtpZih0LmdldChlKSlyZXR1cm47Y29uc3QgYz1uKHMpO2MuYWRkZWQuYWRkKGUpO2NvbnN0IGg9e2lkOmUsLi4ucixtYW51YWxBbmltYXRpb25TdGFydDpsfTtjLmxpc3Quc2V0KGUsaCksdC5zZXQoZSxzKSxpLmdyb3Vwcy5zZXQocyx7Li4uY30pLG8oe3R5cGU6IkFkZCIsdG9hc3RJZDplLGdyb3VwSWQ6cyxkYXRhOnIsZGV0YWlsczphfSl9LHJlbW92ZVRvYXN0OmZ1bmN0aW9uKGUsbil7Y29uc3QgYT10LmdldChlKTtpZighYSlyZXR1cm47Y29uc3QgbD1pLmdyb3Vwcy5nZXQoYSk7bCYmKGwucmVtb3ZlZC5oYXMoZSl8fChsLnJlbW92ZWQuYWRkKGUpLGkuZ3JvdXBzLnNldChhLHsuLi5sfSksbyh7dHlwZToiUmVtb3ZlQW5pbWF0aW9uU3RhcnQiLHRvYXN0SWQ6ZSxncm91cElkOmEsZGV0YWlsczpufSksc2V0VGltZW91dCgoKCk9PntyKGUsbCl9KSxzLlRPQVNUX0FOSU1BVElPTl9EVVJBVElPTikpKX0scmVtb3ZlR3JvdXA6ZnVuY3Rpb24oZSx0KXtjb25zdCBuPWkuZ3JvdXBzLmdldChlKTtpZighbilyZXR1cm47Y29uc3QgYT1bXTtuLmxpc3QuZm9yRWFjaCgoaT0+e2NvbnN0IHM9aS5pZDtuLnJlbW92ZWQuaGFzKHMpfHwoYS5wdXNoKHMpLG4ucmVtb3ZlZC5hZGQocyksbyh7dHlwZToiUmVtb3ZlQW5pbWF0aW9uU3RhcnQiLAp0b2FzdElkOnMsZ3JvdXBJZDplLGRldGFpbHM6dH0pKX0pKSxpLmdyb3Vwcy5zZXQoZSx7Li4ubn0pLHNldFRpbWVvdXQoKCgpPT57YS5mb3JFYWNoKChlPT57cihlLG4pfSkpfSkscy5UT0FTVF9BTklNQVRJT05fRFVSQVRJT04pfSxzdGFydEFkZEFuaW1hdGlvbjpmdW5jdGlvbihlKXtjb25zdCBzPXQuZ2V0KGUpO2lmKCFzKXJldHVybjtjb25zdCBuPWkuZ3JvdXBzLmdldChzKTtuJiZuLmFkZGVkLmRlbGV0ZShlKSYmKGkuZ3JvdXBzLnNldChzLHsuLi5ufSksbyh7dHlwZToiQWRkQW5pbWF0aW9uU3RhcnQiLHRvYXN0SWQ6ZSxncm91cElkOnN9KSl9LHN1YnNjcmliZU9uVG9hc3Q6ZnVuY3Rpb24oZSx0KXtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9YS5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBpPW5ldyBTZXQ7cmV0dXJuIGEuc2V0KGUsaSksaX0oZSk7cmV0dXJuIGkuYWRkKHQpLCgpPT57aS5kZWxldGUodCksMD09PWkuc2l6ZSYmYS5kZWxldGUoZSl9fSxzdGF0ZTppLHN1YnNjcmliZTpmdW5jdGlvbih0KXtyZXR1cm4gZS5hZGQodCksKCk9PntlLmRlbGV0ZSh0KX19fX0oKSxvPSgwLG4uY3JlYXRlVXNlckludGVyYWN0aW9uU3RhdHVzKSgpfSw3NjAwOTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tUaW1pbmc6KCk9Pmh9KTt2YXIgcz1pKDE3OTc3MSksbj1pKDY4MDg0Mikscj1pKDYzMTYzNCksbz1pKDMxODk3NCksYT1pKDQ0OTUwOCk7bGV0IGw9ITE7ZnVuY3Rpb24gYygpe2lmKGx8fCgwLG8uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxvLmlzRGVza3RvcEFwcCkoKSlyZXR1cm47KDAsci51cGRhdGVJbml0RGF0YSkoKTtjb25zdCBlPSgwLHIuZ2V0SW5pdERhdGEpKCk7aWYoIWUuZ2FJZClyZXR1cm4gdm9pZCh3aW5kb3cuZ3RhZz13aW5kb3cuZ3RhZ3x8KCgpPT57fSkpO2w9ITAsKDAsYS5lbnN1cmVHdGFnQm9vdHN0cmFwKShlLmdhSWQpO2NvbnN0IHQ9e2Fub255bWl6ZV9pcDohMH07d2luZG93LlRWRCYmKHQuYXBwX25hbWU9IlRWRCIsdC5hcHBfdmVyc2lvbj0oMCxvLmRlc2t0b3BBcHBWZXJzaW9uKSgpKSxlLmdhVmFycyYmd2luZG93Lmd0YWcoInNldCIsZS5nYVZhcnMpLHdpbmRvdy5ndGFnKCJjb25zZW50IiwiZGVmYXVsdCIse2FuYWx5dGljc19zdG9yYWdlOigwLG4uZ2V0Q29va2llU2V0dGluZykobi5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MpPyJncmFudGVkIjoiZGVuaWVkIn0pLHdpbmRvdy5ndGFnKCJjb25maWciLGUuZ2FJZCx0KSxzLnN1YnNjcmliZShuLmNvb2tpZVNldHRpbmdzQ2hhbmdlRXZlbnQsKChlLHQpPT57ZT09PW4uQ29va2llU2V0dGluZ3MuQW5hbHl0aWNzJiZ3aW5kb3cuZ3RhZygiY29uc2VudCIsInVwZGF0ZSIse2FuYWx5dGljc19zdG9yYWdlOnQ/ImdyYW50ZWQiOiJkZW5pZWQifSl9KSxudWxsKX1mdW5jdGlvbiBoKGUsdCxpLHMpeygwLG8uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxvLmlzRGVza3RvcEFwcCkoKXx8KGMoKSxsJiZ3aW5kb3cuZ3RhZygiZXZlbnQiLCJ0aW1pbmdfY29tcGxldGUiLHtuYW1lOnQsdmFsdWU6aSxldmVudF9jYXRlZ29yeTplLGV2ZW50X2xhYmVsOnN9KSl9fSw4NzMzODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZGVza3RvcFZlcnNpb25Jc0xlc3M6KCk9Pm8sbGVzc1RoYW46KCk9PnJ9KTt2YXIgcz1pKDMxODk3NCk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUubWF0Y2goL14oXGQrKS4oXGQrKS4oXGQrKS8pO2lmKCF0KXJldHVybiBudWxsO2NvbnN0WyxpLHMsbl09dDtyZXR1cm5bcGFyc2VJbnQoaSkscGFyc2VJbnQocykscGFyc2VJbnQobildfWZ1bmN0aW9uIHIoZSx0KXtjb25zdCBpPW4oZSkscz1uKHQpO2lmKCFpfHwhcylyZXR1cm4hMTtjb25zdFtyLG8sYV09aSxbbCxjLGhdPXM7cmV0dXJuIHIhPT1sP3I8bDpvIT09Yz9vPGM6YSE9PWgmJmE8aH1mdW5jdGlvbiBvKGUpe2NvbnN0IHQ9KDAscy5kZXNrdG9wQXBwVmVyc2lvbikoKTtyZXR1cm4hIXQmJnIodCxlKX19LDQxNTIzNyhlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzLG47aS5yKHQpLGkuZCh0LHtNb250aHM6KCk9Pm4sV2Vla0RheXM6KCk9PnN9KSxmdW5jdGlvbihlKXtlW2UuU1VOREFZPTFdPSJTVU5EQVkiLGVbZS5NT05EQVk9Ml09Ik1PTkRBWSIsZVtlLlRVRVNEQVk9M109IlRVRVNEQVkiLGVbZS5XRURORVNEQVk9NF09IldFRE5FU0RBWSIsZVtlLlRIVVJTREFZPTVdPSJUSFVSU0RBWSIsZVtlLkZSSURBWT02XT0iRlJJREFZIixlW2UuU0FUVVJEQVk9N109IlNBVFVSREFZIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuSkFOVUFSWT0wXT0iSkFOVUFSWSIsZVtlLkZFQlJVQVJZPTFdPSJGRUJSVUFSWSIsZVtlLk1BUkNIPTJdPSJNQVJDSCIsZVtlLkFQUklMPTNdPSJBUFJJTCIsZVtlLk1BWT00XT0iTUFZIixlW2UuSlVORT01XT0iSlVORSIsZVtlLkpVTFk9Nl09IkpVTFkiLGVbZS5BVUdVU1Q9N109IkFVR1VTVCIsZVtlLlNFUFRFTUJFUj04XT0iU0VQVEVNQkVSIixlW2UuT0NUT0JFUj05XT0iT0NUT0JFUiIsZVtlLk5PVkVNQkVSPTEwXT0iTk9WRU1CRVIiLGVbZS5ERUNFTUJFUj0xMV09IkRFQ0VNQkVSIn0obnx8KG49e30pKX0sMzgwNTQwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHttb250aHNGdWxsTmFtZXM6KCk9PnIsbW9udGhzU2hvcnROYW1lczooKT0+byx3ZWVrRGF5c0Z1bGxOYW1lczooKT0+YSx3ZWVrRGF5c01pbmlOYW1lczooKT0+Yyx3ZWVrRGF5c1Nob3J0TmFtZXM6KCk9Pmx9KTt2YXIgcz1pKDE4NTI3MSksbj1pKDQxNTIzNyk7Y29uc3Qgcj17W24uTW9udGhzLkpBTlVBUlldOnMudChudWxsLHZvaWQgMCxpKDk0NDc4NCkpLFtuLk1vbnRocy5GRUJSVUFSWV06cy50KG51bGwsdm9pZCAwLGkoMzM2MzApKSxbbi5Nb250aHMuTUFSQ0hdOnMudChudWxsLHZvaWQgMCxpKDYzNTY0MykpLFtuLk1vbnRocy5BUFJJTF06cy50KG51bGwsdm9pZCAwLGkoMTU1ODUyKSksW24uTW9udGhzLk1BWV06cy50KG51bGwsdm9pZCAwLGkoODQ5OTczKSksW24uTW9udGhzLkpVTkVdOnMudChudWxsLHZvaWQgMCxpKDQwMjQ4MikpLFtuLk1vbnRocy5KVUxZXTpzLnQobnVsbCx2b2lkIDAsaSg5MjQ2ODkpKSwKW24uTW9udGhzLkFVR1VTVF06cy50KG51bGwsdm9pZCAwLGkoOTU5NzcyKSksW24uTW9udGhzLlNFUFRFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoNDE1MjYxKSksW24uTW9udGhzLk9DVE9CRVJdOnMudChudWxsLHZvaWQgMCxpKDgxNDUwMSkpLFtuLk1vbnRocy5OT1ZFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoOTcxNTYxKSksW24uTW9udGhzLkRFQ0VNQkVSXTpzLnQobnVsbCx2b2lkIDAsaSgzMDk2NjYpKX0sbz17W24uTW9udGhzLkpBTlVBUlldOnMudChudWxsLHZvaWQgMCxpKDY1NzM3NCkpLFtuLk1vbnRocy5GRUJSVUFSWV06cy50KG51bGwsdm9pZCAwLGkoNjE3MzQxKSksW24uTW9udGhzLk1BUkNIXTpzLnQobnVsbCx2b2lkIDAsaSgxMDMzMDUpKSxbbi5Nb250aHMuQVBSSUxdOnMudChudWxsLHZvaWQgMCxpKDUyNjc4NSkpLFtuLk1vbnRocy5NQVldOnMudChudWxsLHtjb250ZXh0OiJzaG9ydCJ9LGkoNzM0NzUwKSksW24uTW9udGhzLkpVTkVdOnMudChudWxsLHZvaWQgMCxpKDg3NzQ1KSksW24uTW9udGhzLkpVTFldOnMudChudWxsLHZvaWQgMCxpKDE4Mzk1OSkpLFtuLk1vbnRocy5BVUdVU1RdOnMudChudWxsLHZvaWQgMCxpKDkzNzYyKSksW24uTW9udGhzLlNFUFRFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoMTc4NDY5KSksW24uTW9udGhzLk9DVE9CRVJdOnMudChudWxsLHZvaWQgMCxpKDcyODMzNykpLFtuLk1vbnRocy5OT1ZFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoNjQ2NTQ1KSksW24uTW9udGhzLkRFQ0VNQkVSXTpzLnQobnVsbCx2b2lkIDAsaSg3NjkwMzYpKX0sYT17W24uV2Vla0RheXMuU1VOREFZXTpzLnQobnVsbCx2b2lkIDAsaSg5MDkzMDQpKSxbbi5XZWVrRGF5cy5NT05EQVldOnMudChudWxsLHZvaWQgMCxpKDg4OTM5NCkpLFtuLldlZWtEYXlzLlRVRVNEQVldOnMudChudWxsLHZvaWQgMCxpKDQ1NjMzNCkpLFtuLldlZWtEYXlzLldFRE5FU0RBWV06cy50KG51bGwsdm9pZCAwLGkoNzcyNzY1KSksW24uV2Vla0RheXMuVEhVUlNEQVldOnMudChudWxsLHZvaWQgMCxpKDgzNDY3MSkpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwsdm9pZCAwLGkoMzE4NTI1KSksW24uV2Vla0RheXMuU0FUVVJEQVldOnMudChudWxsLHZvaWQgMCxpKDM4Nzk1KSl9LGw9e1tuLldlZWtEYXlzLlNVTkRBWV06cy50KG51bGwsdm9pZCAwLGkoNTA3NDU4KSksW24uV2Vla0RheXMuTU9OREFZXTpzLnQobnVsbCx2b2lkIDAsaSg5NDc5MzYpKSxbbi5XZWVrRGF5cy5UVUVTREFZXTpzLnQobnVsbCx2b2lkIDAsaSg0NzQ5MykpLFtuLldlZWtEYXlzLldFRE5FU0RBWV06cy50KG51bGwsdm9pZCAwLGkoNDcwNDgwKSksW24uV2Vla0RheXMuVEhVUlNEQVldOnMudChudWxsLHZvaWQgMCxpKDMwMTQ4OSkpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwsdm9pZCAwLGkoNDI5OTkxKSksW24uV2Vla0RheXMuU0FUVVJEQVldOnMudChudWxsLHZvaWQgMCxpKDU5MTQxOCkpfSxjPXtbbi5XZWVrRGF5cy5TVU5EQVldOnMudChudWxsLHtjb250ZXh0OiJkYXlfb2Zfd2VlayJ9LGkoNjY5MTk5KSksW24uV2Vla0RheXMuTU9OREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDM2NTUzNSkpLFtuLldlZWtEYXlzLlRVRVNEQVldOnMudChudWxsLHtjb250ZXh0OiJkYXlfb2Zfd2VlayJ9LGkoOTM5MzI5KSksW24uV2Vla0RheXMuV0VETkVTREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDQ1MTI3MSkpLFtuLldlZWtEYXlzLlRIVVJTREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDYyODU4MikpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwse2NvbnRleHQ6ImRheV9vZl93ZWVrIn0saSgzOTg0NTkpKSxbbi5XZWVrRGF5cy5TQVRVUkRBWV06cy50KG51bGwse2NvbnRleHQ6ImRheV9vZl93ZWVrIn0saSgyNjA0OTYpKX19LDU4MjQ3NihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7ZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCl9ZnVuY3Rpb24gbihlKXtyZXR1cm4gdD0+e3ModCksZSh0KX19aS5kKHQse3ByZXZlbnREZWZhdWx0OigpPT5zLHdyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudDooKT0+bn0pfSwxOTcwMzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZmVhdHVyZUNoZWNrOigpPT5yfSk7dmFyIHM9aSg0NzkzNCk7ZnVuY3Rpb24gbihlLHQsaSl7cmV0dXJuIHQudmFsdWV8fCgwLHMuZW5hYmxlZCkoZSxpKX1mdW5jdGlvbiByKGUsdCxpKXtzd2l0Y2goZSl7Y2FzZSJTQ1JFRU5FUl9JTlRFUlZBTFMiOnJldHVybiBmdW5jdGlvbihlLHQpe2NvbnN0IGk9KDAscy5nZXRDb25maWcpKCJTQ1JFRU5FUl9JTlRFUlZBTFMiLHQpO3JldHVybiEoIWl8fCFpLmludGVydmFsKSYmaS5pbnRlcnZhbC5pbmNsdWRlcyhlLmludGVydmFsKX0odCxpKTtjYXNlIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCI6cmV0dXJuIG4oIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsdCxpKTtjYXNlIkFMRVJUU19OT19FWFBJUkFUSU9OIjpyZXR1cm4gbigiQUxFUlRTX05PX0VYUElSQVRJT04iLHQsaSk7ZGVmYXVsdDpyZXR1cm4oMCxzLmVuYWJsZWQpKGUsaSl9fX0sNjU1NTg0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3JlbG9naW5PckdvUHJvOigpPT5jLHJ1bk9yR29Qcm86KCk9PmwscnVuT3JHb1Byb1dpdGhvdXRTeW5jOigpPT5hfSk7dmFyIHM9aSgxNTI3MTcpLG49aSgxOTcwMzQpLHI9aSg2MTM4NzApLG89aSg3NzA3NTUpO2Z1bmN0aW9uIGEoZSx0LGkscyxyKXsoMCxuLmZlYXR1cmVDaGVjaykodCxzKT9lKCk6KDAsby5vcGVuUGF5d2FsbCkoey4uLmkscnVuT3JHb3Byb1dpdGhGZWF0dXJlQ2hlY2tPcHRpb25zOntmZWF0dXJlQ2hlY2s6KCk9PigwLG4uZmVhdHVyZUNoZWNrKSh0LHMpLHNpZ25JblN1Y2Nlc3M6ZX19LHIpfWFzeW5jIGZ1bmN0aW9uIGwoZSx0LGksbj17fSxvKXtjb25zdCBsPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAscy5zeW5jVXNlckRhdGEpKCJnb3BybyIpLApsPT09d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/YShlLHQsaSxuLG8pOigwLHIuc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTppLmdvcHJvU291cmNlLGZlYXR1cmU6aS5mZWF0dXJlLHNpZ25pblN1Y2Nlc3M6ZX0pfWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAscy5zeW5jVXNlckRhdGEpKCJnb3BybyIpLGk9PT13aW5kb3cuaXNfYXV0aGVudGljYXRlZD8oMCxvLm9wZW5QYXl3YWxsKShlLHQpOigwLHIuc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTplLmdvcHJvU291cmNlLGZlYXR1cmU6ZS5mZWF0dXJlfSl9fSwxNjE0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzVG91Y2hFdmVudDooKT0+bn0pO3ZhciBzPWkoMzYzMjY5KTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ZS5zb3VyY2VDYXBhYmlsaXRpZXM7bGV0IGk9dCYmdC5maXJlc1RvdWNoRXZlbnRzO3JldHVybiB2b2lkIDA9PT1pJiYoaT1zLnRvdWNoKSxpfX0sODYyMjEzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xvZ29TaXplOigpPT5zLkxvZ29TaXplLGdldExvZ29VcmxSZXNvbHZlcjooKT0+aH0pO3ZhciBzPWkoNjIwMzU0KSxuPWkoMTM4NjM4KSxyPWkoNjMxNjM0KSxvPWkoODEwNDEpO2NvbnN0IGE9KDAsaSgyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7KDAsbi5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugcy5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHMuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9by5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHMuTG9nb1NpemUuTWVkaXVtKX19bGV0IGM7ZnVuY3Rpb24gaCgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFjKXtjb25zdCBlPSgwLHIuZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2M9bmV3IGwodCl9cmV0dXJuIGN9KCl9fSw0OTcwMTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7bWVkaWFTdGF0ZTooKT0+Y30pO3ZhciBzPWkoNTI3MzIzKSxuPWkubihzKSxyPWkoNzQ5NjQ4KSxvPWkoNzc4NDU4KSxhPWkoMTEyNTQyKTtjbGFzcyBsIGV4dGVuZHMobigpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5kZXZpY2U9bnVsbCx0aGlzLmJyZWFrcG9pbnRzPW8uYnJlYWtwb2ludHMsdGhpcy5fY2hlY2tEZXZpY2UoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9jaGVja0RldmljZSksT2JqZWN0LmVudHJpZXMoby5icmVha3BvaW50cykuc29ydCgoKFtlLHRdLFtpLHNdKT0+dC1zKSkuZm9yRWFjaCgoKFtlLHRdLGkscyk9PntsZXQgbjtpZigwIT09aSl7Y29uc3RbLGVdPXNbaS0xXTtuPWUrMX1lbHNlIG49MDtjb25zdCByPSgwLGEubWF0Y2hNZWRpYU1pbk1heCkobix0KTtyLm1hdGNoZXMmJnRoaXMuX3NldE5ld0RldmljZShlKSxyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHQ9Pnt0Lm1hdGNoZXMmJih0aGlzLl9jaGVja0RldmljZSgpLHRoaXMuX3NldE5ld0RldmljZShlKSl9KSl9KSksKDAsci53aGVuRG9jdW1lbnRSZWFkeSkodGhpcy5fY2hlY2tEZXZpY2UuYmluZCh0aGlzKSksdGhpcy5pc1Bob25lU2l6ZURldmljZS5iaW5kKHRoaXMpfWlzUGhvbmVTaXplRGV2aWNlKCl7cmV0dXJuInBob25lIj09PXRoaXMuZGV2aWNlfHwicGhvbmUtdmVydGljYWwiPT09dGhpcy5kZXZpY2V9X2NoZWNrRGV2aWNlKCl7dGhpcy53aWR0aD13aW5kb3cuaW5uZXJXaWR0aCx0aGlzLmhlaWdodD13aW5kb3cuaW5uZXJIZWlnaHR9X3NldE5ld0RldmljZShlKXtjb25zdCB0PXRoaXMuZGV2aWNlO3RoaXMuZGV2aWNlPWUsdGhpcy50cmlnZ2VyKCJjaGFuZ2VEZXZpY2UiLFtlLHRdKX19Y29uc3QgYz1uZXcgbH0sMzIyNjAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FkZFBlcmZNYXJrOigpPT5jLHBlcmZNZWFzdXJlT3BlcmF0aW9uOigpPT5ofSk7dmFyIHM9aSgxNTAxNTApO2Z1bmN0aW9uIG4oKXt9Y29uc3Qgcj1jb25zb2xlLnRpbWVTdGFtcD9jb25zb2xlLnRpbWVTdGFtcC5iaW5kKGNvbnNvbGUpOm4sbz13aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcms/cGVyZm9ybWFuY2UubWFyay5iaW5kKHBlcmZvcm1hbmNlKTpuLGE9d2luZG93LnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tZWFzdXJlP3BlcmZvcm1hbmNlLm1lYXN1cmUuYmluZChwZXJmb3JtYW5jZSk6bixsPXdpbmRvdy5wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNYXJrcz9wZXJmb3JtYW5jZS5jbGVhck1hcmtzLmJpbmQocGVyZm9ybWFuY2UpOm47ZnVuY3Rpb24gYyhlKXtyKGUpLG8oZSl9YXN5bmMgZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9YG1lYXN1cmUtJHtlfS0keygwLHMucmFuZG9tSGFzaCkoKX1gO28oaSk7dHJ5ewpyZXR1cm4gYXdhaXQgdCgpfWZpbmFsbHl7YShlLGkpLGwoaSl9fX0sODMyODQ1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Jlc291cmNlTWV0cmljc09ic2VydmVyOigpPT5ufSk7Y29uc3Qgcz1uZXcgU2V0KFsiZmV0Y2giLCJ4bWxodHRwcmVxdWVzdCJdKTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1uZXcgTWFwLHRoaXMuX29ic2VydmVyU3RhcnRlZD0hMX1yZWdpc3RlcihlLHQpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2dyb3Vwcy52YWx1ZXMoKSlpZih0LnBhdHRlcm5OYW1lPT09ZSl0aHJvdyBuZXcgRXJyb3IoYFBhdHRlcm4gIiR7ZX0iIGlzIGFscmVhZHkgcmVnaXN0ZXJlZGApO3RoaXMuX2dyb3Vwcy5zZXQodCx7cGF0dGVybk5hbWU6ZSxwYXR0ZXJuOnQsdG90YWxEdXJhdGlvbjowLGNvdW50OjAsdG9wRW50cmllczpbXX0pLHRoaXMuX3N0YXJ0T2JzZXJ2ZXIoKX1nZXRTdGF0cygpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZ3JvdXBzLnZhbHVlcygpKXQuY291bnQmJmUucHVzaCh7cGF0dGVybk5hbWU6dC5wYXR0ZXJuTmFtZSxhdmVyYWdlRHVyYXRpb246dC50b3RhbER1cmF0aW9uL3QuY291bnQsY291bnQ6dC5jb3VudCx0b3BFbnRyaWVzOnQudG9wRW50cmllc30pO3JldHVybiBlfV9zdGFydE9ic2VydmVyKCl7aWYoIXRoaXMuX29ic2VydmVyU3RhcnRlZCYmInVuZGVmaW5lZCIhPXR5cGVvZiBQZXJmb3JtYW5jZU9ic2VydmVyKXRyeXtuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigoZT0+e2Zvcihjb25zdCB0IG9mIGUuZ2V0RW50cmllcygpKXRoaXMuX3Byb2Nlc3NFbnRyeSh0KX0pKS5vYnNlcnZlKHt0eXBlOiJyZXNvdXJjZSIsYnVmZmVyZWQ6ITB9KSx0aGlzLl9vYnNlcnZlclN0YXJ0ZWQ9ITB9Y2F0Y2h7fX1fcHJvY2Vzc0VudHJ5KGUpe2lmKCFzLmhhcyhlLmluaXRpYXRvclR5cGUpKXJldHVybjtjb25zdCB0PXt1cmw6ZS5uYW1lLHN0YXJ0VGltZTplLnN0YXJ0VGltZSxkdXJhdGlvbjplLmR1cmF0aW9ufTtmb3IoY29uc3QgaSBvZiB0aGlzLl9ncm91cHMudmFsdWVzKCkpe2lmKCFpLnBhdHRlcm4udGVzdChlLm5hbWUpKWNvbnRpbnVlO2kudG90YWxEdXJhdGlvbis9ZS5kdXJhdGlvbixpLmNvdW50Kys7Y29uc3Qgcz1pLnRvcEVudHJpZXM7cy5sZW5ndGg8NT8ocy5wdXNoKHQpLHMuc29ydCgoKGUsdCk9PnQuZHVyYXRpb24tZS5kdXJhdGlvbikpKTplLmR1cmF0aW9uPnNbcy5sZW5ndGgtMV0uZHVyYXRpb24mJihzW3MubGVuZ3RoLTFdPXQscy5zb3J0KCgoZSx0KT0+dC5kdXJhdGlvbi1lLmR1cmF0aW9uKSkpfX19fSw5NTY2ODcoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7VGVsZW1ldHJ5R3JvdXA6KCk9PnN9KSxmdW5jdGlvbihlKXtlLkZhc3Q9ImZhc3QiLGUuTWVkaXVtPSJtZWRpdW0iLGUuU2xvdz0ic2xvdyJ9KHN8fChzPXt9KSl9LDU2MzYyNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtoYXNNZXRhSW5mbzooKT0+cyxpc0Fic2VudFBhcmFtOigpPT5ufSk7aSg5NTY2ODcpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiYibWV0YUluZm8iaW4gZX1mdW5jdGlvbiBuKGUpe3JldHVybiBudWxsPT1lfX0sNjk3NzA1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2xvZ1BpbmVNZXRhSW5mb0lzc3VlczooKT0+b30pO3ZhciBzPWkoMjIxMDYxKSxuPWkoMjc1NzQyKTtmdW5jdGlvbiByKGUsdCxpKXsoMCxuLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgRGV0ZWN0ZWQgbWV0YSBpbmZvIChpZDogJHtlLmlkfSkgaXNzdWU6ICR7dH0uIFNvdXJjZTogJHtpfWAscy5MT0dMRVZFTC5FUlJPUiwiUGluZU1ldGFJbmZvVmFsaWRhdGlvbiIpfWZ1bmN0aW9uIG8oZSx0KXt0JiZ0LmRlZmF1bHRzJiZ0LmRlZmF1bHRzLmlucHV0cyYmIXQuZGVmYXVsdHMuaW5wdXRzLnRleHQmJnIodCwnbm8gImRlZmF1bHRzLmlucHV0cy50ZXh0IiB2YWx1ZScsZSksdCYmdC5pbnB1dHMmJih0LmlucHV0cy5maW5kKChlPT4idGV4dCI9PT1lLmlkKSl8fHIodCwnbm8gaW5wdXQgd2l0aCBpZCAidGV4dCInLGUpKX19LDYxMjMxKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7U2V2ZXJpdHk6KCk9PnN9KSxmdW5jdGlvbihlKXtlLkVSUk9SPSJlcnJvciIsZS5XQVJOSU5HPSJ3YXJuaW5nIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLk9wZW5Ob0F1dGg9Im9wZW5fbm9fYXV0aCIsZS5DbG9zZWROb0F1dGg9ImNsb3NlZF9ub19hdXRoIixlLkNsb3NlZE5lZWRzQXV0aD0iY2xvc2VkX25lZWRzX2F1dGgifShufHwobj17fSkpfSw1Nzc5OTYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7RU1QVFlfU09VUkNFX0NPREU6KCk9PmMsUElORV9TQ1JJUFRfTU9ESUZJRURfTE9DSzooKT0+aCxSRV9NRVNTQUdFX0xJTkVfV0lUSF9ESUdJVFM6KCk9PmQsVFZfU0NSSVBUX0RFTEVURUQ6KCk9Pm8sVFZfU0NSSVBUX0xFR0FDWV9QSU5FX1BST0NFU1NFRDooKT0+bCxUVl9TQ1JJUFRfTU9ESUZJQ0FUSU9OX0FDVElWRTooKT0+bixUVl9TQ1JJUFRfTU9ESUZJRUQ6KCk9PnIsVFZfU0NSSVBUX1JFTkFNRUQ6KCk9PmEscGluZVRlbGVtZXRyeUdyb3VwczooKT0+dX0pO3ZhciBzPWkoOTU2Njg3KQo7Y29uc3Qgbj0iVFZTY3JpcHRNb2RpZmljYXRpb25BY3RpdmUiLHI9IlRWU2NyaXB0TW9kaWZpZWQiLG89IlRWU2NyaXB0RGVsZXRlZCIsYT0iVFZTY3JpcHRSZW5hbWVkIixsPSJUVlNjcmlwdExlZ2FjeVBpbmVQcm9jZXNzZWQiLGM9IkNhbm5vdCBzYXZlIGVtcHR5IHNvdXJjZSBjb2RlIixoPSJwaW5lX3NjcmlwdF9tb2RpZmllZF9sb2NrIixkPS9bbHxMXWluZXM/IChcZCopLyx1PW5ldyBNYXAoW1siZGVsZXRlIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsiZ2V0IixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsiaXNfYXV0aF90b19nZXQiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJpc19hdXRoX3RvX3dyaXRlIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsicGFyc2VfdGl0bGUiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJyZW5hbWUiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJsaWJfbGlzdCIscy5UZWxlbWV0cnlHcm91cC5GYXN0XSxbInZlcnNpb25zIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsibmFtZSIscy5UZWxlbWV0cnlHcm91cC5GYXN0XSxbImxpc3QiLHMuVGVsZW1ldHJ5R3JvdXAuTWVkaXVtXSxbImV2YWxfcGluZV9leCIscy5UZWxlbWV0cnlHcm91cC5NZWRpdW1dLFsidHJhbnNsYXRlX2xpZ2h0IixzLlRlbGVtZXRyeUdyb3VwLk1lZGl1bV0sWyJwcm9jZXNzX2xlZ2FjeSIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbInB1Ymxpc2giLHMuVGVsZW1ldHJ5R3JvdXAuU2xvd10sWyJzYXZlIixzLlRlbGVtZXRyeUdyb3VwLlNsb3ddLFsidHJhbnNsYXRlIixzLlRlbGVtZXRyeUdyb3VwLlNsb3ddLFsidHJhbnNsYXRlX3NvdXJjZSIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbImdlbl9hbGVydCIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbImNvbnZlcnQiLHMuVGVsZW1ldHJ5R3JvdXAuU2xvd11dKX0sNjcxMDE5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3BpbmVGYWNhZGVGZXRjaDooKT0+cH0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoMzg0MDE3KSxyPWkoMzcxMDcpLG89aSg1NjM2MjQpLGE9aSgxNTY4NTApLGw9aSg4MzI4NDUpLGM9aSg1Nzc5OTYpO2NvbnN0IGg9KDAscy5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5WZXJzaW9uaW5nIik7ZnVuY3Rpb24gZChlLHQpe2NvbnN0IGk9bmV3IFVSTChmdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgiLyIpLm1hcCgoZT0+ZW5jb2RlVVJJQ29tcG9uZW50KGUpKSkuam9pbigiLyIpfShlKSwoMCxyLmdldFBpbmVGYWNhZGVVcmwpKCkpO2Zvcihjb25zdCBlIGluIHQpe2NvbnN0IHM9dFtlXTsoMCxvLmlzQWJzZW50UGFyYW0pKHMpfHxpLnNlYXJjaFBhcmFtcy5zZXQoZSxTdHJpbmcocykpfXJldHVybiBpLnRvU3RyaW5nKCl9ZnVuY3Rpb24gdShlLHQpe2NvbnN0IGk9e21ldGhvZDplLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn07cmV0dXJuIlBPU1QiPT09ZSYmdCYmKGkuYm9keT1mdW5jdGlvbihlKXtjb25zdCB0PW5ldyBGb3JtRGF0YTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyhlKSl0LmFwcGVuZChpLGVbaV0pO3JldHVybiB0fSh0KSksaX1hc3luYyBmdW5jdGlvbiBwKHt1cmxQYXRoOmUsdXJsUGFyYW1zOnQsZGF0YTppLG1ldGhvZDpzPSJHRVQifSl7Y29uc3Qgcj1kKGUsdCksbz11KHMsaSksbD1mdW5jdGlvbihlKXtoLmxvZ05vcm1hbChgUmVxdWVzdGluZyBwaW5lIGZhY2FkZSBzY3JpcHRzLCB1cmw6ICR7ZX1gKTtjb25zdCB0PWUuc3BsaXQoIi8iKVswXSxpPWMucGluZVRlbGVtZXRyeUdyb3Vwcy5nZXQodCkscz1EYXRlLm5vdygpO3JldHVybiB0PT57Y29uc3Qgbj1EYXRlLm5vdygpLXM7aWYoYS50ZWxlbWV0cnkuc2VuZFJlcG9ydCgicGluZSIsYCR7aX1fZ3JvdXBfdGltZV9mcmFtZWAse3ZhbHVlOm59KSx0KXJldHVybiBhLnRlbGVtZXRyeS5zZW5kUmVwb3J0KCJwaW5lIixgJHtpfV9ncm91cF9va2ApLHZvaWQgaC5sb2dOb3JtYWwoYFJlcXVlc3RpbmcgcGluZSBmYWNhZGUgc2NyaXB0cyBmaW5pc2hlZCwgdXJsOiAke2V9YCk7YS50ZWxlbWV0cnkuc2VuZFJlcG9ydCgicGluZSIsYCR7aX1fZ3JvdXBfZXJyb3JgKSxoLmxvZ0Vycm9yKGBSZXF1ZXN0aW5nIHBpbmUgZmFjYWRlIHNjcmlwdHMgZmFpbGVkLCB1cmw6ICR7ZX1gKX19KGUpO3RyeXtjb25zdCBlPWF3YWl0KDAsbi5mZXRjaCkocixvKTtpZighZS5vayl0aHJvdyBmdW5jdGlvbihlKXtyZXR1cm4gZS5zdGF0dXM+PTUwMD8iU2VydmVyIGVycm9yLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiI6NDEzPT09ZS5zdGF0dXM/IlRoZSBzaXplIG9mIHRoZSBzY3JpcHQgY29tcGlsYXRpb24gcmVxdWVzdCBpcyB0b28gbGFyZ2UuIjo0MjA9PT1lLnN0YXR1cz8iU2NyaXB0IHRpdGxlIGlzIHRvbyBsb25nLiBNYXggYWxsb3dlZCBsZW5ndGggaXMgMTI4IGNoYXJhY3RlcnMuIjo0MDM9PT1lLnN0YXR1cz8iVG8gdXNlIGl0LCBhc2sgdGhlIGF1dGhvciB0byBwdWJsaXNoIHRoZSBzY3JpcHQuIjplLnN0YXR1cz49NDAwPyJSZXF1ZXN0IGVycm9yLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiI6IlNvbWV0aGluZyB3ZW50IHdyb25nLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiJ9KGUpO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIGwoITApLHR9Y2F0Y2goZSl7dGhyb3cgbCghMSksZX19bC5yZXNvdXJjZU1ldHJpY3NPYnNlcnZlci5yZWdpc3RlcigicGluZV9mYWNhZGVfZmV0Y2giLC9waW5lLWZhY2FkZS8pfSwzNzEwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthcHBseUdsb2JhbFNjcmlwdExpc3RlbmVyczooKT0+dixnZXRPbmx5UGluZVN0dWRpZXM6KCk9PnksZ2V0UGluZUZhY2FkZVVybDooKT0+YyxoYW5kbGVSZXN1bHQ6KCk9PmQsaGFuZGxlU2F2ZVJlc3VsdDooKT0+cCxoYW5kbGVUcmFuc2xhdGVSZXN1bHQ6KCk9PnUsaXNQaW5lUmVhc29uRGF0YTooKT0+YixvbkRlbGV0ZVNjcmlwdDooKT0+ZyxvbkxlZ2FjeVNjcmlwdFByb2NlZWQ6KCk9PlMsb25Nb2RpZnlTY3JpcHQ6KCk9Pm0sb25Nb2RpZnlTY3JpcHRBY3RpdmVDaGFuZ2VkOigpPT5fLG9uUmVuYW1lU2NyaXB0OigpPT5mfSkKO3ZhciBzPWkoMTc5NzcxKSxuPWkoMTUyNjk5KSxyPWkoNjMyNDQ0KSxvPWkoNTc3OTk2KSxhPWkoMzA5MzYwKSxsPWkoNTYzNjI0KTtmdW5jdGlvbiBjKCl7Y29uc3QgZT1uZXcgVVJMKHdpbmRvdy5QSU5FX1VSTCxsb2NhdGlvbi5vcmlnaW4pO3JldHVybiBlLnBhdGhuYW1lLmVuZHNXaXRoKCIvIil8fChlLnBhdGhuYW1lKz0iLyIpLGUuaHJlZn1mdW5jdGlvbiBoKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZS5yZWFzb24pcmV0dXJuIGUucmVhc29uO2lmKGUucmVhc29uMilyZXR1cm57ZXJyb3JzOmUucmVhc29uMi5lcnJvcnM/P1tdLHdhcm5pbmdzOmUucmVhc29uMi53YXJuaW5ncz8/W119O2NvbnN0IHQ9e2Vycm9yczpbXSx3YXJuaW5nczpbXX07aWYoKDAsbC5oYXNNZXRhSW5mbykoZS5yZXN1bHQpKXtjb25zdCBpPWUucmVzdWx0JiZlLnJlc3VsdC5tZXRhSW5mbztpJiZ2b2lkIDAhPT1pLndhcm5pbmdzJiZpLndhcm5pbmdzLmZvckVhY2goKGU9PnQud2FybmluZ3MucHVzaCh7bWVzc2FnZTplfSkpKX1pZihlLnJlYXNvbil7KEFycmF5LmlzQXJyYXkoZS5yZWFzb24pP2UucmVhc29uOmUucmVhc29uLnNwbGl0KCJcbiIpKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLm1hdGNoKG8uUkVfTUVTU0FHRV9MSU5FX1dJVEhfRElHSVRTKSxzPWkmJmkubGVuZ3RoJiZOdW1iZXIoaVsxXSksbj17bWVzc2FnZTplfTtpZigibnVtYmVyIj09dHlwZW9mIHMpe24uc3RhcnQ9e2xpbmU6cyxjb2x1bW46MH07Y29uc3QgZT1uLm1lc3NhZ2Uuc3BsaXQoIjogIik7ZS5zaGlmdCgpLG4ubWVzc2FnZT1lLmpvaW4oIjogIil9dC5lcnJvcnMucHVzaChuKX0pKX1yZXR1cm4gdH1mdW5jdGlvbiBkKGUpe2lmKGUuc3VjY2VzcylyZXR1cm4gZS5yZXN1bHQ7aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yO3Rocm93IGgoZSl9ZnVuY3Rpb24gdShlKXtpZihlLnN1Y2Nlc3MpcmV0dXJue3N1Y2Nlc3M6ZS5zdWNjZXNzLG1ldGFJbmZvOmUucmVzdWx0Lm1ldGFJbmZvLGNvbXBpbGVFcnJvcnM6aChlKX07dGhyb3cgbmV3IGEuUGluZUNvbXBpbGVGYWlsRXJyb3JJbXBsKGgoZSksZS5yZXN1bHQubWV0YUluZm8pfWZ1bmN0aW9uIHAoZSl7aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yO3JldHVybntzdWNjZXNzOmUuc3VjY2VzcyxtZXRhSW5mbzplLnJlc3VsdC5tZXRhSW5mbyxjb21waWxlRXJyb3JzOmgoZSl9fWZ1bmN0aW9uIF8oZSx0LGkpe2NvbnN0IHI9e3NjcmlwdElkUGFydDplLHNjcmlwdFZlcnNpb25Ub1VwZGF0ZTp0LGFjdGl2ZTppfTtuLlRWWFdpbmRvd0V2ZW50cy5lbWl0KG8uVFZfU0NSSVBUX01PRElGSUNBVElPTl9BQ1RJVkUsSlNPTi5zdHJpbmdpZnkocikpLHMuZW1pdChvLlRWX1NDUklQVF9NT0RJRklDQVRJT05fQUNUSVZFLHIpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdCBlPWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSk7ZT8ub25Nb2RpZnlTY3JpcHRBY3RpdmVDaGFuZ2VkKHIpfSkpfWZ1bmN0aW9uIG0oZSx0LGkscil7Y29uc3QgYT17c2NyaXB0TWV0YUluZm86ZSxzY3JpcHRWZXJzaW9uVG9VcGRhdGU6dCxjb21waWxhdGlvbkZhaWxlZDppLGNvbXBpbGVFcnJvcnM6cn07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9NT0RJRklFRCxKU09OLnN0cmluZ2lmeShhKSkscy5lbWl0KG8uVFZfU0NSSVBUX01PRElGSUVELGEpLHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKT8udGhlbigoZT0+ZS5vblRWU2NyaXB0TW9kaWZpZWQoey4uLmEsaXNTZWxmQ2FsbDohMH0pKSl9ZnVuY3Rpb24gZyhlKXtjb25zdCB0PXtzY3JpcHRJZFBhcnQ6ZX07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9ERUxFVEVELEpTT04uc3RyaW5naWZ5KHQpKSxzLmVtaXQoby5UVl9TQ1JJUFRfREVMRVRFRCx0KSxzZXRUaW1lb3V0KChhc3luYygpPT57Y29uc3QgZT1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO2F3YWl0KGU/Lm9uVFZTY3JpcHREZWxldGVkKHsuLi50LGlzU2VsZkNhbGw6ITB9KSl9KSl9ZnVuY3Rpb24gZihlLHQpe2NvbnN0IGk9e3NjcmlwdElkUGFydDplLHNjcmlwdE5hbWU6dH07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9SRU5BTUVELEpTT04uc3RyaW5naWZ5KGkpKSxzLmVtaXQoby5UVl9TQ1JJUFRfUkVOQU1FRCxpKX1mdW5jdGlvbiBTKGUpe2NvbnN0IHQ9e3NjcmlwdE1ldGFJbmZvOmV9O24uVFZYV2luZG93RXZlbnRzLmVtaXQoby5UVl9TQ1JJUFRfTEVHQUNZX1BJTkVfUFJPQ0VTU0VELEpTT04uc3RyaW5naWZ5KHQpKSxzLmVtaXQoby5UVl9TQ1JJUFRfTEVHQUNZX1BJTkVfUFJPQ0VTU0VELHQpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdCBlPWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSk7ZT8ub25UVlNjcmlwdExlZ2FjeVBpbmVQcm9jZXNzZWQodCl9KSl9ZnVuY3Rpb24gdihlLHQsaSl7bi5UVlhXaW5kb3dFdmVudHMub24oby5UVl9TQ1JJUFRfTU9ESUZJQ0FUSU9OX0FDVElWRSwoYXN5bmMgZT0+e2NvbnN0IHQ9YXdhaXQod2luZG93LnNjcmlwdFVwZGF0ZXI/LigpKTt0Py5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQoSlNPTi5wYXJzZShlKSl9KSksbi5UVlhXaW5kb3dFdmVudHMub24oby5UVl9TQ1JJUFRfTU9ESUZJRUQsKGFzeW5jIGU9PntpLmNsZWFyKCk7Y29uc3QgdD1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO3Q/Lm9uVFZTY3JpcHRNb2RpZmllZChKU09OLnBhcnNlKGUpKX0pKSxuLlRWWFdpbmRvd0V2ZW50cy5vbihvLlRWX1NDUklQVF9ERUxFVEVELChhc3luYyBzPT57ZS5jbGVhcigpLHQuY2xlYXIoKSxpLmNsZWFyKCk7Y29uc3Qgbj1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO2F3YWl0KG4/Lm9uVFZTY3JpcHREZWxldGVkKEpTT04ucGFyc2UocykpKX0pKSxuLlRWWFdpbmRvd0V2ZW50cy5vbihvLlRWX1NDUklQVF9SRU5BTUVELChhc3luYyBlPT57aS5jbGVhcigpfSkpLG4uVFZYV2luZG93RXZlbnRzLm9uKG8uVFZfU0NSSVBUX0xFR0FDWV9QSU5FX1BST0NFU1NFRCwoYXN5bmMgZT0+e2kuY2xlYXIoKTtjb25zdCB0PWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSkKO3Q/Lm9uVFZTY3JpcHRMZWdhY3lQaW5lUHJvY2Vzc2VkKEpTT04ucGFyc2UoZSkpfSkpfWZ1bmN0aW9uIHkoZSl7cmV0dXJuIGUuZmlsdGVyKChlPT57Y29uc3QgdD0oMCxyLmV4dHJhY3RQaW5lSWQpKGUubWV0YUluZm8oKS5pZCk7cmV0dXJuIHQmJigwLHIuaXNDdXN0b21QaW5lSWQpKHQpfSkpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmKCJlcnJvcnMiaW4gZXx8Indhcm5pbmdzImluIGUpfX0sMzA5MzYwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BpbmVDb21waWxlRmFpbEVycm9ySW1wbDooKT0+c30pO2NsYXNzIHMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCJQaW5lIHRyYW5zbGF0aW9uIGZhaWxlZCIpLHRoaXMucmVhc29uPWUsdGhpcy5tZXRhSW5mbz10fX19LDQwNjg5MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtSZXF1ZXN0Q2FjaGU6KCk9Pm4sU2luZ2xlUmVxdWVzdENhY2hlOigpPT5yfSk7dmFyIHM9aSgxNTAxNTApO2NsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9jYWNoZT1uZXcgTWFwLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5zdWJzY3JpYmUodGhpcyx0aGlzLmNsZWFyKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKX1zZXQoZSx0KXt0aGlzLl9jYWNoZS5zZXQoZSx0KX1kZWxldGUoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmRlbGV0ZShlKX1jbGVhcigpe3RoaXMuX2NhY2hlLmNsZWFyKCl9fWNsYXNzIHIgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9rZXk9KDAscy5ndWlkKSgpfXJlc2V0KGUpe3N1cGVyLnNldCh0aGlzLl9rZXksZSl9Z2V0KCl7cmV0dXJuIHN1cGVyLmdldCh0aGlzLl9rZXkpfWNsZWFyKCl7c3VwZXIuY2xlYXIoKX19fSwzNjIyMzkoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBzKCl7aWYoIXdpbmRvdy51c2VyfHx3aW5kb3cudXNlci5kb19ub3RfdHJhY2spcmV0dXJuIG51bGw7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoNzA2NDQpLGkuZSg2NjM5OSldKS50aGVuKGkuYmluZChpLDE1ODMzMikpO3JldHVybiBlKCl9aS5kKHQse2dldFRyYWNrZXI6KCk9PnN9KX0sNDU2ODYyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQ2hhcnREcmF3aW5nQ3JlYXRpb246KCk9Pm59KTt2YXIgcz1pKDM2MjIzOSk7ZnVuY3Rpb24gbihlLHQpeygwLHMuZ2V0VHJhY2tlcikoKS50aGVuKChpPT57aSYmaS50cmFja0NoYXJ0RHJhd2luZ0NyZWF0aW9uKGUsdCl9KSl9fSwzMjMwNzkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkOigpPT5sfSk7dmFyIHM9aSg4NjA0NDIpLG49aSg2NzgyODUpLHI9aSgzNjIyMzkpLG89aSg4NTYxOTYpLGE9aSgzNTUxMjMpO2Z1bmN0aW9uIGwoZSx0KXt2b2lkIDAhPT10JiZmdW5jdGlvbihlKXtyZXR1cm4oMCxzLmlzU3R1ZHlMaW5lVG9vbE5hbWUpKGUpfHwoMCxzLmlzTGluZVRvb2xOYW1lKShlKXx8KDAsbi50b29sSXNDdXJzb3IpKGUpfHwoMCxuLnRvb2xJc0VyYXNlcikoZSl8fCgwLG4udG9vbElzTWVhc3VyZSkoZSl9KGUpJiYoMCxvLnNob3VsZEFmZmVjdFVzZXIpKCJEcmF3aW5nVG9vbFNlbGVjdGVkIixhLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLHIuZ2V0VHJhY2tlcikoKS50aGVuKChpPT57aSYmKGU9InBlcmZvcm1hbmNlIj09PWU/Im1hZ2ljIjplLGkudHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkKGUsdCkpfSkpfX0sNTQ0ODg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrU3R1ZGllczooKT0+b30pO3ZhciBzPWkoMzIyNDE5KSxuPWkoNzkxNDI3KSxyPWkoMzYyMjM5KTtmdW5jdGlvbiBvKGUsdCxpLG8sYSl7Y29uc3QgbD0hZS5pc1BpbmUoKXx8ZS5pc1N0YW5kYXJkUGluZSgpP2UuZGVzY3JpcHRpb24/P2UubmFtZTplLnNjcmlwdElkUGFydCxjPWUucHJvZHVjdElkLGg9bi5TdHVkeU1ldGFJbmZvLmlzU2NyaXB0U3RyYXRlZ3koZSksZD13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW58fCIiLHU9dC5zdHVkaWVzV1YoKS52YWx1ZSgpLmxlbmd0aCt0LmFsbExpbmVUb29scygpLmZpbHRlcihzLmlzU3R1ZHlMaW5lVG9vbCkubGVuZ3RoLHA9dC5jaGFydEFwaSgpLmdldFN0dWR5Q291bnRlcigpLF89ZS5pc1BpbmUoKT9lLnNjcmlwdElkUGFydDplLmlkOygwLHIuZ2V0VHJhY2tlcikoKS50aGVuKChlPT57ZSYmZS50cmFja1N0dWRpZXNBbmFseXRpY3MobCxjLGksaCx1LHAsbz8/bnVsbCxfLGQsSlNPTi5zdHJpbmdpZnkoYSkpfSkpfX0sODM2MDgxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe3JldHVybiB3aW5kb3cuaXNfYXV0aGVudGljYXRlZD93aW5kb3cudXNlci5wcm9fcGxhbnx8ImZyZWUiOiJ2aXNpdG9yIn1mdW5jdGlvbiBuKCl7cmV0dXJuIHdpbmRvdy5sb2NhbGV9ZnVuY3Rpb24gcigpe3JldHVybiB3aW5kb3cudXNlci5pZD93aW5kb3cudXNlci5pZC50b1N0cmluZygpOm51bGx9ZnVuY3Rpb24gbygpe3JldHVybiBCb29sZWFuKHdpbmRvdy51c2VyLmlzX3Bybyl9ZnVuY3Rpb24gYSgpe3JldHVybiBCb29sZWFuKHdpbmRvdy51c2VyLmlzX3RyaWFsKX1pLmQodCx7Z2V0VXNlcklkOigpPT5yLGdldFVzZXJMb2NhbGU6KCk9Pm4sZ2V0VXNlclBsYW46KCk9PnMsZ2V0VXNlclByb1N0YXR1czooKT0+byxnZXRVc2VyVHJpYWxTdGF0dXM6KCk9PmF9KX0sOTY0MDEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgcz1pKDM4NjkzMSk7Y29uc3Qgbj17ZmlsdGVyTmFtZXNNYXA6e3NjcmlwdF90eXBlOiJJbmRpY2F0b3JzIGFuZCBTdHJhdGVnaWVzIiwic2NyaXB0X3R5cGUtaW5kaWNhdG9ycyI6IkluZGljYXRvcnMiLCJzY3JpcHRfdHlwZS1zdHJhdGVnaWVzIjoiU3RyYXRlZ2llcyIsc3RyZWFtOiJBbGwgTWFya2V0cyIsInN0cmVhbS1zdG9ja3MiOiJTdG9ja3MiLCJzdHJlYW0taW5kaWNlcyI6IkluZGljZXMiLAoic3RyZWFtLWNvbW1vZGl0aWVzIjoiQ29tbW9kaXRpZXMiLCJzdHJlYW0tY3VycmVuY2llcyI6IkN1cnJlbmNpZXMiLCJzdHJlYW0tYml0Y29pbiI6IkJpdGNvaW4iLCJpbnRlcnZhbC1hbGwiOiJBbGwgSW50ZXJ2YWxzIiwiaW50ZXJ2YWwtbSI6IlNob3J0IFRlcm0iLCJpbnRlcnZhbC1oIjoiTWVkaXVtIFRlcm0iLCJpbnRlcnZhbC1kd20iOiJMb25nIFRlcm0iLCJzb3J0LXVubW9kZXJhdGVkIjoiVW5tb2RlcmF0ZWQiLCJzb3J0LXRyZW5kaW5nIjoiVHJlbmRpbmciLCJzb3J0LWRpc2N1c3NlZCI6Ik1vc3QgRGlzY3Vzc2VkIiwic29ydC12aWV3ZWQiOiJNb3N0IFZpZXdlZCIsInNvcnQtYWdyZWVkIjoiTW9zdCBBZ3JlZWQiLCJzb3J0LXN1Z2dlc3RlZCI6IlN1Z2dlc3RlZCIsInNvcnQtcmVjZW50IjoiQWxsIElkZWFzIiwidGltZS1kYXkiOiJUb2RheSIsInRpbWUtd2VlayI6IlRoaXMgV2VlayIsInRpbWUtbW9udGgiOiJUaGlzIE1vbnRoIiwidGltZS1hbGwiOiJBbGwgVGltZSIsImJ5LWV2ZXJ5b25lIjoiRXZlcnlvbmUiLCJieS1mb2xsb3dpbmciOiJGb2xsb3dpbmciLCJieS1tZSI6Ik15IElkZWFzIn0sZ29Qcm9GZWF0dXJlc01hcDp7Y3VzdG9tSW50ZXJ2YWxzOiJBZGQgQ3VzdG9tIEludGVydmFsIixpbnRyYWRheVNwcmVhZDoiSW5yYWRheSBTcHJlYWQiLGthZ2lSZW5rbzoiSmFwYW5lc2UgSW50cmFkYXkgQ2hhcnQiLGFsZXJ0czp7cHJlZml4OiJOZXcgQWxlcnRzIExpbWl0Iix3aWRnZXQ6IldpZGdldCIsY2hhcnQ6IkNoYXJ0IEhlYWRlciJ9LG11bHRpcGxlQ2hhcnRzOiJNdWx0aXBsZSBDaGFydHMgTGF5b3V0IixzYXZlZENoYXJ0c0xpbWl0OiJTYXZlIENoYXJ0IExpbWl0IixzdHVkeUxpbWl0OiJTdHVkaWVzIExpbWl0IixtdWx0aXBsZVdhdGNoTGlzdHM6e3ByZWZpeDoiV2F0Y2hsaXN0cyIsbmV3OiJDcmVhdGUgTmV3IExpc3QiLHJlbmFtZToiUmVuYW1lIExpc3QiLHNhdmVBczoiU2F2ZSBMaXN0IEFzIn0saW1wb3J0V2F0Y2hsaXN0OiJXYXRjaGxpc3RzIEltcG9ydCBXYXRjaGxpc3QiLGV4cG9ydFdhdGNobGlzdDoiV2F0Y2hsaXN0cyBFeHBvcnQgV2F0Y2hsaXN0IixCQVRTRXhjaGFuZ2VQb3B1cDoiQkFUUyBFeGNoYW5nZSBQb3B1cCIsRGF0YVF1YWxpdHlQb3B1cDoiRGF0YSBRdWFsaXR5IFBvcHVwIixGcmVlRGVsYXlQb3B1cDoiRnJlZSBEZWxheSBQb3B1cCIscHJvUlRQcm9kdWN0OiJWb2x1bWUgUHJvZmlsZSIsc3R1ZHlPblN0dWR5OiJVbmxpbWl0ZWQgU3R1ZHkgb24gU3R1ZHkifSx0cmFja0ZlYXR1cmU6e3NhdmVkQ2hhcnRzTGltaXQ6ITAsQkFUU0V4Y2hhbmdlUG9wdXA6ITAsRnJlZURlbGF5UG9wdXA6ITAsRGF0YVF1YWxpdHlQb3B1cDohMCxpbnRyYWRheVNwcmVhZDohMCxzdHVkeU9uU3R1ZHk6ITB9LHRyYWNrR29Qcm86ZnVuY3Rpb24oZSx0LGkpe2kmJiF0JiYodD1pLGk9bnVsbCk7dmFyIHI9bi5nb1Byb0ZlYXR1cmVzTWFwW3RdO2lmKHIpe2lmKGkpe2lmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm47cj0iezB9IHsxfSIuZm9ybWF0KHIucHJlZml4LHJbaV0pfSgwLHMudHJhY2tFdmVudCkoZSxyKX19fSxyPW59LDczNjA2MyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt0cmFja0dvUHJvRmVhdHVyZTooKT0+bn0pO3ZhciBzPWkoOTY0MDEyKTtmdW5jdGlvbiBuKGUsdCl7cy5kZWZhdWx0LnRyYWNrR29Qcm8oIkdvcHJvIEZlYXR1cmVzIixlLHQpfX0sNTUxMTkzKGUsdCxpKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gcyhlKXtQcm9taXNlLmFsbChbaS5lKDIxODcwKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDIzNjI0KSxpLmUoMzI4MTYpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzQzODEpLGkuZSgxNDYyNSksaS5lKDY1NyksaS5lKDYxODIxKSxpLmUoNjYyNzApLGkuZSg1NTAxMSksaS5lKDcxOTAxKSxpLmUoODA3MzEpLGkuZSg2ODk2NCksaS5lKDI5MTMzKSxpLmUoMTk4MzMpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoNDQ3ODApLGkuZSg4MjIzNyksaS5lKDQ4ODU0KSxpLmUoOTQxODIpLGkuZSgxMTQzNSldKS50aGVuKGkuYmluZChpLDk5NTIxMykpLnRoZW4oKHQ9Pnt0LnJlbmRlck5vdGVzRGlhbG9nKGUpfSkpfWkuZCh0LHtzaG93Tm90ZXNEaWFsb2c6KCk9PnN9KX0sMjM0OTY0KGUsdCxpKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gcyhlLHQpe2NvbnN0IHM9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgyODgzMSksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0MjMyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDg1NzkpLGkuZSgxNzA4NyksaS5lKDU3MzAwKSxpLmUoMTIwNTEpLGkuZSg4OTU1OCksaS5lKDEwMzY2KSxpLmUoNDA5MTQpLGkuZSg5MDk2MCksaS5lKDg3NzQwKSxpLmUoNzg4OTkpLGkuZSg2NzIxMiksaS5lKDgwOTE1KSxpLmUoMTUzNCksaS5lKDI4MTc2KSxpLmUoMzk2MDkpLGkuZSg1NTIyOSksaS5lKDY1MTAwKSxpLmUoNDI3MDYpXSkudGhlbihpLmJpbmQoaSw1MDYyNzUpKTtyZXR1cm4gcy5zaG93U2ltcGxlRGlhbG9nKGUscy5yZW5hbWVNb2R1bGUsdCl9YXN5bmMgZnVuY3Rpb24gbihlLHQpewpjb25zdCBzPWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjg4MzEpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDIzMiksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg4NTc5KSxpLmUoMTcwODcpLGkuZSg1NzMwMCksaS5lKDEyMDUxKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDQwOTE0KSxpLmUoOTA5NjApLGkuZSg4Nzc0MCksaS5lKDc4ODk5KSxpLmUoNjcyMTIpLGkuZSg4MDkxNSksaS5lKDE1MzQpLGkuZSgyODE3NiksaS5lKDM5NjA5KSxpLmUoNTUyMjkpLGkuZSg2NTEwMCksaS5lKDQyNzA2KV0pLnRoZW4oaS5iaW5kKGksNTA2Mjc1KSk7cmV0dXJuIHMuc2hvd1NpbXBsZURpYWxvZyhlLHMuY29uZmlybU1vZHVsZSx0KX1hc3luYyBmdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI4ODMxKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQyMzIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoODU3OSksaS5lKDE3MDg3KSxpLmUoNTczMDApLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg0MDkxNCksaS5lKDkwOTYwKSxpLmUoODc3NDApLGkuZSg3ODg5OSksaS5lKDY3MjEyKSxpLmUoODA5MTUpLGkuZSgxNTM0KSxpLmUoMjgxNzYpLGkuZSgzOTYwOSksaS5lKDU1MjI5KSxpLmUoNjUxMDApLGkuZSg0MjcwNildKS50aGVuKGkuYmluZChpLDUwNjI3NSkpO3JldHVybiBzLnNob3dTaW1wbGVEaWFsb2coZSxzLndhcm5pbmdNb2R1bGUsdCl9aS5yKHQpLGkuZCh0LHtzaG93Q29uZmlybTooKT0+bixzaG93UmVuYW1lOigpPT5zLHNob3dXYXJuaW5nOigpPT5yfSl9LDg0NDM0NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtoaWRlU3RhdGVDaGFuZ2U6KCk9PnJ9KTt2YXIgcyxuPWkoOTQ4MzgwKTshZnVuY3Rpb24oZSl7ZS5EcmF3aW5ncz0iZHJhd2luZ3MiLGUuSW5kaWNhdG9ycz0iaW5kaWNhdG9ycyIsZS5Qb3NpdGlvbnM9InBvc2l0aW9ucyIsZS5BbGw9ImFsbCJ9KHN8fChzPXt9KSk7Y29uc3Qgcj1uZXcgbi5EZWxlZ2F0ZX0sNjE0MzgwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N5bWJvbFNlYXJjaFVJOigpPT5hfSk7dmFyIHM9aSgxMzg2MzgpLG49aSgzNzI5MSkscj1pKDIyNTI5OCksbz1pKDI3OTQwNSk7Y2xhc3MgYXthc3luYyBzaG93KGUpe2lmKG51bGwhPT1hLl9wcm92aWRlcil7Y29uc3QgdD1hd2FpdCBhLl9wcm92aWRlci5nZXRTeW1ib2woKSxpPSgwLG8uZ2V0U3ltYm9sU2VhcmNoQ29tcGxldGVPdmVycmlkZUZ1bmN0aW9uKSgpLHM9YXdhaXQgaSh0LnN5bWJvbCk7cmV0dXJuIGUuc2V0U3ltYm9sP2Uuc2V0U3ltYm9sKHMsInN5bWJvbCBzZWFyY2ggVUkiKTpyLmxpbmtpbmcuc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKHMuc3ltYm9sLCJzeW1ib2wgc2VhcmNoIFVJIikse3N5bWJvbDpzLnN5bWJvbH19aWYoYS5fY3VycmVudFNob3dpbmdJbnN0YW5jZSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJTeW1ib2xTZWFyY2hVSSBpcyBhbHJlYWR5IHNob3duIiwiSW52YWxpZFN0YXRlRXJyb3IiKTt0cnl7YS5fY3VycmVudFNob3dpbmdJbnN0YW5jZT10aGlzLGEucHJlbG9hZCgpO2NvbnN0IHQ9YXdhaXQgYS5faW1wbGVtZW50YXRpb247cmV0dXJuKDAscy5hc3NlcnQpKG51bGwhPT10KSxuZXcgUHJvbWlzZSgoaT0+e3Quc2hvd0RlZmF1bHRTZWFyY2hEaWFsb2coey4uLmUsb25TZWFyY2hDb21wbGV0ZTplPT57aSh7c3ltYm9sOmUuc3ltYm9sfSl9fSl9KSl9ZmluYWxseXthLl9jdXJyZW50U2hvd2luZ0luc3RhbmNlPW51bGx9fXN0YXRpYyBzZXRQcm92aWRlcihlKXt0aGlzLl9wcm92aWRlcj1lfXN0YXRpYyBwcmVsb2FkKCl7bnVsbD09PXRoaXMuX3Byb3ZpZGVyJiZudWxsPT09dGhpcy5faW1wbGVtZW50YXRpb24mJih0aGlzLl9pbXBsZW1lbnRhdGlvbj0oMCxuLmxvYWROZXdTeW1ib2xTZWFyY2gpKCkpfX1hLl9jdXJyZW50U2hvd2luZ0luc3RhbmNlPW51bGwsYS5fcHJvdmlkZXI9bnVsbCxhLl9pbXBsZW1lbnRhdGlvbj1udWxsfSw2NTQ2MzYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cnVuT3JTaWduSW46KCk9Pm8scnVuT3JTaWduSW5XaXRoUHJvbW86KCk9PmF9KTt2YXIgcz1pKDkzMDIzMSksbj1pKDYyMTkyNik7Y29uc3Qgcj0oMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtmdW5jdGlvbiBvKGUsdCl7cj9lKCk6d2luZG93LnJ1bk9yU2lnbkluKGUsdCl9ZnVuY3Rpb24gYShlLHQsaSl7cj9pKCk6KDAsbi5ydW5PclNpZ25pbldpdGhGZWF0dXJlKShpLHsuLi50LGZlYXR1cmU6ZX0pfX0sNjQzOTAzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NhZmVTaG9ydE5hbWU6KCk9Pm59KTt2YXIgcz1pKDM0NDEwMyk7ZnVuY3Rpb24gbihlKXt0cnl7cmV0dXJuKDAscy5zaG9ydE5hbWUpKGUpfWNhdGNoKHQpe3JldHVybiBlfX19LDg1MjE0OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRDaGFydFN0b3JhZ2U6KCk9Pmd9KTt2YXIgcz1pKDM4NDAxNyksbj1pKDIxNDk4Nykscj1pKDMyMjYwMSksbz1pKDE1Njg1MCksYT1pKDEwMjY1NiksbD1pKDY4OTAyMSksYz1pKDMzOTUxKTtmdW5jdGlvbiBoKCl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49ImNoYXJ0LXN0b3JhZ2UiXScpLHQ9bmV3IFVSTChlPy5ocmVmfHwiL2NoYXJ0cy1zdG9yYWdlLyIsbG9jYXRpb24uaHJlZik7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdH1mdW5jdGlvbiBkKGUpe2NvbnN0e2NoYXJ0czp0PXt9LGNvdW50U291cmNlc1RvdGFsOmk9MCxsaW1pdEJ5dGVzVG90YWw6cz0wLHNpemVCeXRlc1RvdGFsOm49MH09ZSxyPW5ldyBNYXA7Zm9yKGNvbnN0W2UsaV1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3R7c3ltYm9sczp0PXt9fT1pLHM9bmV3IE1hcAo7Zm9yKGNvbnN0W2Use2NvdW50U291cmNlczppLHNpemVCeXRlczpuLGlkczpyfV1vZiBPYmplY3QuZW50cmllcyh0KSlzLnNldChlLHtjb3VudFNvdXJjZXM6aSxzaXplQnl0ZXM6bixpZHM6cn0pO3Iuc2V0KGUscyl9cmV0dXJue2NoYXJ0czpyLGNvdW50U291cmNlc1RvdGFsOmksbGltaXRCeXRlc1RvdGFsOnMsc2l6ZUJ5dGVzVG90YWw6bn19Y29uc3QgdT17c291cmNlczpuZXcgTWFwLGdyb3VwczpuZXcgTWFwfTtjbGFzcyBwe2NvbnN0cnVjdG9yKCl7dGhpcy5fbGFzdFNhdmVSZXF1ZXN0PW51bGwsdGhpcy5fbGFzdFNoYXJlZFRvb2xzTG9hZGluZ1JlcXVlc3Q9bnVsbCx0aGlzLl9sYXN0U2l6ZXNSZXF1ZXN0cz1uZXcgTWFwLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHM9bmV3IE1hcCx0aGlzLl9yZXF1ZXN0c0NvdW50ZXI9MCx0aGlzLl9sYXlvdXRJZD12b2lkIDB9YXN5bmMgc2F2ZUxpbmVUb29sc0FuZEdyb3VwcyhlLHQsaSxzLGQpe2lmKCFwLl9jaGVja0xheW91dElkKGUpKXRocm93IG5ldyBFcnJvcigiVW5uYW1lZCBjaGFydCBjYW5ub3QgYmUgc2F2ZWQiKTt0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSk7Y29uc3QgdT1gJHtlfS4ke3R9LiR7dGhpcy5fcmVxdWVzdHNDb3VudGVyKyt9YCxtPWBDaGFydFN0b3JhZ2UuU2F2ZS5Ub3RhbGx5UHJvY2Vzc2luZy4ke3V9YCxnPSgwLHIucGVyZk1lYXN1cmVPcGVyYXRpb24pKG0sKGFzeW5jKCk9Pnt0cnl7YXdhaXQgdGhpcy5fbGFzdFNhdmVSZXF1ZXN0fWNhdGNoKGUpe31pZihkPy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHA9YENoYXJ0U3RvcmFnZS5TYXZlLkdldHRpbmdUb2tlbi4ke3V9YCxtPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikocCwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LHMsZCkpKSxnPW5ldyBVUkwobS5wYXRoLGgoKSk7bS5jaGFydElkJiZnLnNlYXJjaFBhcmFtcy5hcHBlbmQoImNoYXJ0X2lkIixtLmNoYXJ0SWQpLGcuc2VhcmNoUGFyYW1zLmFwcGVuZCgibGF5b3V0X2lkIixlKSxnLnNlYXJjaFBhcmFtcy5hcHBlbmQoImp3dCIsbS50b2tlbik7Y29uc3QgZj1gQ2hhcnRTdG9yYWdlLlNhdmUuR2V0dGluZ1Jlc3BvbnNlLiR7dX1gO3RyeXtjb25zdCByPWF3YWl0IHRoaXMuX2ZldGNoKGYsZyx7bWV0aG9kOiJQVVQiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiwiWC1CVUlMRC1USU1FIjp3aW5kb3cuQlVJTERfVElNRX0sY3JlZGVudGlhbHM6ImluY2x1ZGUiLHNpZ25hbDpkLGJvZHk6KDAsbC5zdHJpbmdpZnlMaW5lVG9vbHNBbmRHcm91cHNEVE8pKGkpfSk7aWYoIXIub2spe2NvbnN0IGU9NDI5PT09ci5zdGF0dXM7dGhyb3cgbmV3IGEuU2F2aW5nTGluZVRvb2xzRXJyb3IoZSxgUmVzcG9uc2Ugc3RhdHVzIGlzIG5vdCBzdWNjZXNzOiAke3Iuc3RhdHVzfWApfWNvbnN0IGM9YXdhaXQgXyhyKTtpZihkPy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO3JldHVybiBvLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zYXZlX3N1Y2Nlc3MiKSx7Y29udGVudDpjLHNhdmVkRHRvOmksbGF5b3V0SWQ6ZSxjaGFydElkOnQsc2hhcmluZ01vZGU6cyxzZXJ2ZXJVcGRhdGVUaW1lOjFlMypjLnNlcnZlclVwZGF0ZVRpbWV9fWNhdGNoKGUpe3Rocm93KDAsbi5pc0Fib3J0RXJyb3IpKGUpfHxvLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zYXZlX2Vycm9yIiksZX19KSk7cmV0dXJuIHRoaXMuX2xhc3RTYXZlUmVxdWVzdD1nfWFzeW5jIGxvYWRMaW5lVG9vbHNBbmRHcm91cHMoZSx0LGkpe2lmKCFwLl9jaGVja0xheW91dElkKGUpKXJldHVybiB1O3RoaXMuX2NsZWFuU3RhdGVJZkxheW91dElkQ2hhbmdlZChlKTtjb25zdCBzPWAke2V9LiR7dH0uJHtpLnJlcXVlc3RUeXBlfS4ke3RoaXMuX3JlcXVlc3RzQ291bnRlcisrfWAsbj1gQ2hhcnRTdG9yYWdlLkxvYWQuR2V0dGluZ1Rva2VuLiR7c31gLGE9YXdhaXQoMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShuLCgoKT0+KDAsYy5nZXRTdG9yYWdlVGFyZ2V0KShlLHQsaS5zaGFyaW5nTW9kZSkpKSxkPW5ldyBVUkwoYGdldC8ke2EucGF0aH1gLGgoKSk7c3dpdGNoKGEuY2hhcnRJZCYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjaGFydF9pZCIsYS5jaGFydElkKSxkLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLGEudG9rZW4pLGkucmVxdWVzdFR5cGUpe2Nhc2UibWFpblNlcmllc0xpbmVUb29scyI6ZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLGkuc3ltYm9sKSwwPT09aS5zaGFyaW5nTW9kZSYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpbmNsdWRlT3duZXJTb3VyY2UiLGkuc2VyaWVzU291cmNlSWQpLGQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYnJva2VyTmFtZSIsaS5icm9rZXJOYW1lKTticmVhaztjYXNlInN0dWRpZXNMaW5lVG9vbHMiOmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZXhjbHVkZU93bmVyU291cmNlIixpLnNlcmllc1NvdXJjZUlkKTticmVhaztjYXNlImxpbmVUb29sc1dpdGhvdXRTeW1ib2wiOmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIiwiIiksMD09PWkuc2hhcmluZ01vZGUmJmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiaW5jbHVkZU93bmVyU291cmNlIixpLnNlcmllc1NvdXJjZUlkKX1jb25zdCBfPTAhPT1pLnNoYXJpbmdNb2RlJiYhZC5zZWFyY2hQYXJhbXMuZ2V0KCJzeW1ib2wiKSxtPWFzeW5jKCk9PntpZihfKXRyeXthd2FpdCB0aGlzLl9sYXN0U2hhcmVkVG9vbHNMb2FkaW5nUmVxdWVzdH1jYXRjaChlKXt9cmV0dXJuIHRoaXMuX2ZldGNoRGF0YShgQ2hhcnRTdG9yYWdlLkxvYWQuR2V0dGluZ1Jlc3BvbnNlLiR7c31gLGQse2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfTt0cnl7Y29uc3RbZSx0XT1hd2FpdChfP3RoaXMuX2xhc3RTaGFyZWRUb29sc0xvYWRpbmdSZXF1ZXN0PW0oKTptKCkpCjtyZXR1cm4gby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfbG9hZF9zdWNjZXNzIiksKDAsbC5wYXJzZUxpbmVUb29sc0FuZEdyb3Vwc0RUTykoZXx8e30sdCl9Y2F0Y2goZSl7dGhyb3cgby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfbG9hZF9lcnJvciIpLGV9fWFzeW5jIHJlbW92ZUxpbmVUb29scyhlLHQsaSxzKXtpZighcC5fY2hlY2tMYXlvdXRJZChlKSlyZXR1cm4hMTt0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSk7Y29uc3Qgbj1gJHtlfS4ke3R9LiR7dGhpcy5fcmVxdWVzdHNDb3VudGVyKyt9YCxhPWBDaGFydFN0b3JhZ2UuUmVtb3ZlLkdldHRpbmdUb2tlbi4ke259YCxsPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikoYSwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LGkpKSksZD1uZXcgVVJMKGwucGF0aCxoKCkpO2wuY2hhcnRJZCYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjaGFydF9pZCIsbC5jaGFydElkKSxkLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLHMpLGQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiand0IixsLnRva2VuKTt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuX2ZldGNoRGF0YShgQ2hhcnRTdG9yYWdlLlJlbW92ZS5HZXR0aW5nUmVzcG9uc2UuJHtufWAsZCx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3JlbW92ZV9ieV9zeW1ib2xfc3VjY2VzcyIpLCEwfWNhdGNoKGUpe3Rocm93IG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3JlbW92ZV9ieV9zeW1ib2xfZXJyb3IiKSxlfX1hc3luYyBnZXRMYXlvdXREcmF3aW5nc1NpemVJbmZvKGUsdCl7cmV0dXJuIHAuX2NoZWNrTGF5b3V0SWQoZSk/KHRoaXMuX2NsZWFuU3RhdGVJZkxheW91dElkQ2hhbmdlZChlKSx0aGlzLl9lbnF1ZXVlU2l6ZXNSZXF1ZXN0KCJsYXlvdXQiLGBsYXlvdXQuJHtlfS4ke3R9YCwoYXN5bmMoKT0+e2NvbnN0IGk9YCR7ZX0uJHt0fS4ke3RoaXMuX3JlcXVlc3RzQ291bnRlcisrfWAscz1gQ2hhcnRTdG9yYWdlLkdldFNpemVzLkdldHRpbmdUb2tlbi4ke2l9YCxuPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikocywoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LDApKSksYT1uZXcgVVJMKGBsYXlvdXQvJHtlfS9zaXplc2AsaCgpKTthLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksYS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLG4udG9rZW4pO3RyeXtjb25zdFtlXT1hd2FpdCB0aGlzLl9mZXRjaERhdGEoYENoYXJ0U3RvcmFnZS5HZXRTaXplcy5HZXR0aW5nUmVzcG9uc2UuJHtpfWAsYSx7Y3JlZGVudGlhbHM6ImluY2x1ZGUifSk7cmV0dXJuIG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3NpemVfaW5mb19zdWNjZXNzIiksZChlfHx7fSl9Y2F0Y2goZSl7dGhyb3cgby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfc2l6ZV9pbmZvX2Vycm9yIiksZX19KSkpOntjaGFydHM6bmV3IE1hcCxjb3VudFNvdXJjZXNUb3RhbDowLGxpbWl0Qnl0ZXNUb3RhbDowLHNpemVCeXRlc1RvdGFsOjB9fWFzeW5jIGdldFVzZXJHbG9iYWxEcmF3aW5nc1NpemVJbmZvKGUpe3JldHVybiBwLl9jaGVja0xheW91dElkKGUpPyh0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSksdGhpcy5fZW5xdWV1ZVNpemVzUmVxdWVzdCgidXNlciIsYHVzZXIuJHtlfWAsKGFzeW5jKCk9Pntjb25zdCB0PXRoaXMuX3JlcXVlc3RzQ291bnRlcisrLGk9YXdhaXQoMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShgQ2hhcnRTdG9yYWdlLkdldEdsb2JhbFNpemVzLkdldHRpbmdUb2tlbi4ke3R9YCwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSwiIiwyKSkpLHM9bmV3IFVSTCgidXNlci9zaXplcyIsaCgpKTtzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSkscy5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLGkudG9rZW4pO3RyeXtjb25zdFtlXT1hd2FpdCB0aGlzLl9mZXRjaERhdGEoYENoYXJ0U3RvcmFnZS5HZXRHbG9iYWxTaXplcy5HZXR0aW5nUmVzcG9uc2UuJHt0fWAscyx7Y3JlZGVudGlhbHM6ImluY2x1ZGUifSk7cmV0dXJuIG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJnbG9iYWxfbGluZV90b29sc19zaXplX2luZm9fc3VjY2VzcyIpLGQoZXx8e30pfWNhdGNoKGUpe3Rocm93IG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJnbG9iYWxfbGluZV90b29sc19zaXplX2luZm9fZXJyb3IiKSxlfX0pKSk6e2NoYXJ0czpuZXcgTWFwLGNvdW50U291cmNlc1RvdGFsOjAsbGltaXRCeXRlc1RvdGFsOjAsc2l6ZUJ5dGVzVG90YWw6MH19YXN5bmMgX2ZldGNoRGF0YShlLHQsaSl7Y29uc3Qgcz1hd2FpdCB0aGlzLl9mZXRjaChlLHQsaSk7aWYoIXMub2spdGhyb3cgbmV3IEVycm9yKCJSZXNwb25zZSBzdGF0dXMgaXMgbm90IHN1Y2Nlc3MiKTtyZXR1cm5bYXdhaXQgXyhzKSxzLmhlYWRlcnMuZ2V0KCJYLVJlcXVlc3QtSWQiKV19X2ZldGNoKGUsdCxpKXtyZXR1cm4oMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShlLCgoKT0+KDAscy5mZXRjaCkodC50b1N0cmluZygpLGkpKSl9X2VucXVldWVTaXplc1JlcXVlc3QoZSx0LGkpe2NvbnN0IHM9dGhpcy5fYWN0aXZlU2l6ZXNSZXF1ZXN0cy5nZXQodCk7aWYodm9pZCAwIT09cylyZXR1cm4gcztjb25zdCBuPXRoaXMuX2xhc3RTaXplc1JlcXVlc3RzLmdldChlKSxyPShhc3luYygpPT57dHJ5e2F3YWl0IG59Y2F0Y2goZSl7fXJldHVybiBpKCl9KSgpO3RoaXMuX2xhc3RTaXplc1JlcXVlc3RzLnNldChlLHIpLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuc2V0KHQscik7Y29uc3Qgbz0oKT0+ewp0aGlzLl9hY3RpdmVTaXplc1JlcXVlc3RzLmdldCh0KT09PXImJnRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuZGVsZXRlKHQpfTtyZXR1cm4gci50aGVuKG8sbykscn1fY2xlYW5TdGF0ZUlmTGF5b3V0SWRDaGFuZ2VkKGUpe3RoaXMuX2xheW91dElkIT09ZSYmKHRoaXMuX2xheW91dElkPWUsdGhpcy5fbGFzdFNhdmVSZXF1ZXN0PW51bGwsdGhpcy5fbGFzdFNoYXJlZFRvb2xzTG9hZGluZ1JlcXVlc3Q9bnVsbCx0aGlzLl9sYXN0U2l6ZXNSZXF1ZXN0cy5jbGVhcigpLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuY2xlYXIoKSl9c3RhdGljIF9jaGVja0xheW91dElkKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmxlbmd0aD4wfX1hc3luYyBmdW5jdGlvbiBfKGUpe2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJCb2R5IGlzIG51bGwiKTtpZighdC5zdWNjZXNzKXRocm93IG5ldyBFcnJvcigiUmVzcG9uc2UgaXMgbm90IHN1Y2Nlc3MiKTtyZXR1cm4gdC5wYXlsb2FkfWxldCBtPW51bGw7YXN5bmMgZnVuY3Rpb24gZygpe3JldHVybiBudWxsPT09bSYmKG09bmV3IHApLG19fSw2ODkwMjEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9e307cmV0dXJuIGUuc291cmNlcyYmKHQuc291cmNlcz17fSxlLnNvdXJjZXMuZm9yRWFjaCgoKGUsaSk9Pnt0LnNvdXJjZXNbaV09ZX0pKSksdC5kcmF3aW5nX2dyb3Vwcz17fSxlLmdyb3Vwcy5mb3JFYWNoKCgoZSxpKT0+e3QuZHJhd2luZ19ncm91cHNbaV09ZX0pKSx0LmNsaWVudElkPWUuY2xpZW50SWQsSlNPTi5zdHJpbmdpZnkodCl9ZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9e3NvdXJjZXM6bnVsbCxncm91cHM6bmV3IE1hcH07aWYobnVsbCE9PWUuc291cmNlcyl7aS5zb3VyY2VzPW5ldyBNYXA7Zm9yKGNvbnN0IHQgaW4gZS5zb3VyY2VzfHx7fSl7Y29uc3Qgcz1lLnNvdXJjZXNbdF07aS5zb3VyY2VzLnNldCh0LHMpfX1mb3IoY29uc3QgdCBpbiBlLmRyYXdpbmdfZ3JvdXBzfHx7fSl7Y29uc3Qgcz1lLmRyYXdpbmdfZ3JvdXBzW3RdO2kuZ3JvdXBzLnNldCh0LHMpfXJldHVybiBudWxsIT09dCYmKGkuc2VydmVyUmVxdWVzdElkPXQpLGkuY2xpZW50SWQ9ZS5jbGllbnRJZCxpLnN5bWJvbD1lLnN5bWJvbCxpfWkuZCh0LHtwYXJzZUxpbmVUb29sc0FuZEdyb3Vwc0RUTzooKT0+bixzdHJpbmdpZnlMaW5lVG9vbHNBbmRHcm91cHNEVE86KCk9PnN9KX0sMTAyNjU2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1NhdmluZ0xpbmVUb29sc0Vycm9yOigpPT5zfSk7Y2xhc3MgcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIodCksdGhpcy5zaG91bGRCZUNvb2xlZD1lfX1FcnJvcn0sMzM5NTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0U3RvcmFnZVRhcmdldDooKT0+bCxnbG9iYWxseVNoYXJlZENoYXJ0SWQ6KCk9PmEsc2hhcmVkQ2hhcnRJZDooKT0+b30pO3ZhciBzPWkoMzg0MDE3KSxuPWkoMTU2ODUwKSxyPWkoMjE0OTg3KTtjb25zdCBvPSJfc2hhcmVkIixhPSJVc2VyU3luYyI7YXN5bmMgZnVuY3Rpb24gbChlLHQsaSxhKXt0cnl7Y29uc3QgbD1uZXcgVVJMKCIvY2hhcnQtdG9rZW4vIixsb2NhdGlvbi5ocmVmKTtsLnNlYXJjaFBhcmFtcy5hcHBlbmQoImltYWdlX3VybCIsZSksbC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1c2VyX2lkIixTdHJpbmcod2luZG93LnVzZXIuaWR8fC0xKSk7Y29uc3QgYz1hd2FpdCgwLHMuZmV0Y2gpKGwudG9TdHJpbmcoKSx7c2lnbmFsOmF9KTtpZighYy5vayl0aHJvdyBuZXcgRXJyb3IoYEh0dHAgcmVzcG9uc2UgaXMgbm90IG9rOiAke2Muc3RhdHVzfX1gKTtjb25zdCBoPWF3YWl0IGMuanNvbigpO2lmKG4udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3Rva2VuX3JlcXVlc3Rfc3VjY2VzcyIpLGE/LmFib3J0ZWQpdGhyb3coMCxyLmNyZWF0ZUFib3J0RXJyb3IpKCk7Y29uc3QgZD0yPT09aT92b2lkIDA6MT09PWk/bzp0O3JldHVybnt0b2tlbjpoLnRva2VuLGNoYXJ0SWQ6ZCxwYXRoOjI9PT1pPyJ1c2VyL3NvdXJjZXMiOmBsYXlvdXQvJHtlfS9zb3VyY2VzYH19Y2F0Y2goZSl7dGhyb3coMCxyLmlzQWJvcnRFcnJvcikoZSl8fG4udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3Rva2VuX3JlcXVlc3RfZXJyb3IiKSxlfX19LDMwNzYxMChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMaW5lVG9vbHNTeW5jaHJvbml6ZXI6KCk9PlIsbGluZVRvb2xEVE86KCk9Pkl9KTt2YXIgcz1pKDU0Nzg1MSksbj1pKDQ3NjY0KSxyPWkoMTM4NjM4KSxvPWkoMjIxMDYxKSxhPWkoMTc5NzcxKSxsPWkoMzIyNjAxKSxjPWkoMzY4MTEwKSxoPWkoMTAyNjU2KSxkPWkoMzE4OTc0KSx1PWkoODUyMTQ4KSxwPWkoNjAxODQxKSxfPWkoNzY4NzYwKTtjb25zdCBtPSgwLG8uZ2V0TG9nZ2VyKSgiQ2hhcnQuTGlua0tleVJlc29sdmVyIik7Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fcGVuZGluZ1JlcXVlc3RzPW5ldyBNYXAsdGhpcy5fc3RhcnRSZXF1ZXN0aW5nRGVib3VuY2VkPSgwLHMuZGVmYXVsdCkoKCgpPT50aGlzLl9zdGFydE5leHRSZXF1ZXN0KCkpLDUwMCksdGhpcy5fbGF5b3V0SWQ9ZSx0aGlzLl9jaGFydElkPXQsdGhpcy5fb3duZXJTb3VyY2VJZD1pfXJlc29sdmVMaW5rS2V5KGUsdCxpKXtjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFtlLHRdKX0oZSxpKSxuPXRoaXMuX3BlbmRpbmdSZXF1ZXN0cy5nZXQocyk/P25ldyBNYXA7aWYobi5oYXModCkpcmV0dXJuIG4uZ2V0KHQpLnByb21pc2U7Y29uc3Qgcj0oMCxfLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtyZXR1cm4gbi5zZXQodCxyKSx0aGlzLl9wZW5kaW5nUmVxdWVzdHMuc2V0KHMsbiksdGhpcy5fc3RhcnRSZXF1ZXN0aW5nRGVib3VuY2VkKCksci5wcm9taXNlfWFzeW5jIF9zdGFydE5leHRSZXF1ZXN0KCl7aWYoMD09PXRoaXMuX3BlbmRpbmdSZXF1ZXN0cy5zaXplKXJldHVybjtjb25zdCBlPWF3YWl0KDAsCnUuZ2V0Q2hhcnRTdG9yYWdlKSgpLHQ9dGhpcy5fcGVuZGluZ1JlcXVlc3RzLmVudHJpZXMoKS5uZXh0KCkudmFsdWUse3N5bWJvbDppLGJyb2tlck5hbWU6c309ZnVuY3Rpb24oZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO3JldHVybntzeW1ib2w6dFswXSxicm9rZXJOYW1lOnRbMV19fSh0WzBdKSxuPXRbMV0scj17cmVxdWVzdFR5cGU6Im1haW5TZXJpZXNMaW5lVG9vbHMiLHNlcmllc1NvdXJjZUlkOnRoaXMuX293bmVyU291cmNlSWQsc3ltYm9sOmksYnJva2VyTmFtZTpzLHNoYXJpbmdNb2RlOjB9O3RyeXtjb25zdCB0PWF3YWl0IGUubG9hZExpbmVUb29sc0FuZEdyb3Vwcyh0aGlzLl9sYXlvdXRJZCx0aGlzLl9jaGFydElkLHIsaSk7bnVsbCE9PXQmJm51bGwhPT10LnNvdXJjZXMmJih0LnNvdXJjZXMuZm9yRWFjaCgoKGUsdCk9PntpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgaT1lLnN0YXRlLmxpbmtLZXk7aWYoIWkpcmV0dXJuO2NvbnN0IHM9bi5nZXQoaSk7cz8ucmVzb2x2ZShlLmlkKSxuLmRlbGV0ZShpKX0pKSx0LnNlcnZlclJlcXVlc3RJZCYmY29uc29sZS5sb2coYFBST0NFU1NFRDoke3Quc2VydmVyUmVxdWVzdElkfWApKX1jYXRjaChlKXttLmxvZ0Vycm9yKGBFcnJvciByZXF1ZXN0aW5nIGxpbmUgdG9vbHM6ICR7ZX1gKX1uLmZvckVhY2goKGU9PntlLnJlc29sdmUobnVsbCl9KSksdGhpcy5fcGVuZGluZ1JlcXVlc3RzLmRlbGV0ZSh0WzBdKSxhd2FpdCB0aGlzLl9zdGFydE5leHRSZXF1ZXN0KCl9fXZhciBmPWkoNDY3NTM5KSxTPWkoMjU0ODM1KSx2PWkoNjkyNjQpLHk9aSgyMTQ5ODcpLGI9aSg4NjA0NDIpLHc9aSg2MDU4NzcpLEM9aSgzMDUyNzcpO2NvbnN0IFA9WzAsMSwyXSxUPSgwLG8uZ2V0TG9nZ2VyKSgiTGluZVRvb2xzU3luY2hyb25pemVyIik7ZnVuY3Rpb24geChlKXtyZXR1cm57bGluZXM6ZS5zb3VyY2VzQnlHcm91cCgpLmxpbmVTb3VyY2VzRm9yQWxsU3ltYm9scygpLm1hcCgoZT0+KHtpZDplLmlkKCksek9yZGVyOmUuem9yZGVyKCl9KSkpfX1mdW5jdGlvbiBNKGUpe3JldHVybntpZDplLmlkLHRvb2xzOmUubGluZVRvb2xzKCkubWFwKChlPT5lLmlkKCkpKX19ZnVuY3Rpb24gSShlLHQpe2NvbnN0IGk9dC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKSxzPXtpZDplLmlkKCksb3duZXJTb3VyY2U6KDAsci5lbnN1cmVOb3ROdWxsKShlLm93bmVyU291cmNlKCkpLmlkKCksc3RhdGU6ZS5zdGF0ZSghMSl9O3JldHVybiBlLmJvdW5kVG9TeW1ib2woKSYmKHMuc3ltYm9sPWUuc3ltYm9sKCkpLHMuc2VydmVyVXBkYXRlVGltZT1lLnNlcnZlclVwZGF0ZVRpbWUoKT8/dm9pZCAwLHMuY3VycmVuY3lJZD1lLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnZhbHVlKCkscy51bml0SWQ9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudW5pdElkLnZhbHVlKCksbnVsbCE9PWkmJihzLmdyb3VwSWQ9aS5pZCksc31mdW5jdGlvbiBMKGUsdCl7cmV0dXJue2lkOmUuaWQsbmFtZTplLm5hbWUoKS52YWx1ZSgpLHN5bWJvbDplLnN5bWJvbCgpLGN1cnJlbmN5SWQ6ZS5jdXJyZW5jeUlkKCksdW5pdElkOmUudW5pdElkKCl9fWZ1bmN0aW9uIEEoZSx0LGkpe2xldCBzPSExO2NvbnN0IG49bmV3IE1hcCxyPW5ldyBTZXQoaT8ua2V5cygpKTtyZXR1cm4gZS5mb3JFYWNoKCgoZSxvKT0+e2NvbnN0IGE9IWl8fGkuaGFzKG8pO2UudGltZXN0YW1wPnR8fCFhPyhuLnNldChvLGUpLHIuZGVsZXRlKG8pKTpzfHw9ISFlLnNhdmVkVG9DaGFydENvbnRlbnR9KSkse3N0aWxsSW52YWxpZGF0ZWQ6bix2YWxpZGF0ZWQ6QXJyYXkuZnJvbShyKSxjb250YWluUmVzYXZlZEZyb21Db250ZW50OnN9fXZhciBrO2Z1bmN0aW9uIEQoZSl7cmV0dXJuKDAsYy5pc0xpbmVUb29sKShlKXx8KDAsUy5pc1N0dWR5TGluZVRvb2xTdHViKShlKX0hZnVuY3Rpb24oZSl7ZVtlLkF1dG9zYXZlRGVib3VuY2U9NTAwXT0iQXV0b3NhdmVEZWJvdW5jZSIsZVtlLkJhbkNvb2xpbmdUaW1lb3V0PTNlNV09IkJhbkNvb2xpbmdUaW1lb3V0In0oa3x8KGs9e30pKTtjb25zdCBFPS8oXHcrKVwvKFx3KylcLyhcdyspLztjbGFzcyBSe2NvbnN0cnVjdG9yKGUsdCxpLG4pe3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicz1uZXcgTWFwLHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcz1uZXcgU2V0LHRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnM9bmV3IE1hcCx0aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGU9bmV3IE1hcCx0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzPW5ldyBNYXAsdGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlPW5ldyBNYXAsdGhpcy5faWdub3JlSW52YWxpZGF0aW5nRXZlbnRzRGVwdGg9MCx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlPW51bGwsdGhpcy5fZGVib3VuY2VkU2F2ZT0oMCxzLmRlZmF1bHQpKCgoKT0+dGhpcy5fc2F2ZUludmFsaWRhdGVkSWZSZXF1aXJlZCghMSkpLDUwMCksdGhpcy5fY3VycmVudGx5TG9hZGVkU3ltYm9sPW5ldyBNYXAsdGhpcy5fbGlua0tleVJlc29sdmVyPW51bGwsdGhpcy5fYnJva2VyTmFtZT0iIix0aGlzLl9sYXN0QmFuVGltZT1udWxsLHRoaXMuX2ludmFsaWRhdGVWaWFTeW5jPTAsdGhpcy5fc2F2aW5nQWJvcnRDb250cm9sbGVyc0J5U2hhcmluZ01vZGU9bmV3IE1hcCx0aGlzLl90cnlUb1NhdmVDaGFydFN0YXRlTWlncmF0aW9uc09uY2U9ITAsdGhpcy5fcGVuZGluZ0xvYWRSZXF1ZXN0c0NvdW50ZXI9MCx0aGlzLl9wZW5kaW5nU2F2ZVJlcXVlc3RzQ291bnRlcj0wLHRoaXMuX21haW5TZXJpZXNEcmF3aW5nc1JlYWR5PVsiIixQcm9taXNlLnJlc29sdmUoKV0sdGhpcy5fbmV4dFJlc29sdmVkU3ltYm9sRGVmZXJyZWRQcm9taXNlcz1bXSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fb25DaGFuZ2VBdXRvc2F2ZT1lPT57ZSYmdGhpcy5fZGVib3VuY2VkU2F2ZSgpfSx0aGlzLl9vcmlnaW49ZSx0aGlzLl9jaGFydE1vZGVsPXQsdGhpcy5fb3B0aW9ucz1pLHRoaXMuX2hhc0NoYW5nZXM9biwKdGhpcy5fYXNzaWduQWxsTGluZVRvb2xzKHRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKSksdGhpcy5fY2hhcnRNb2RlbC5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc1BhbmVzQ29sbGVjdGlvbkNoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9wcm9jZXNzRGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLm9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3Byb2Nlc3NMaW5lVG9vbHNHcm91cE1vZGVsQ2hhbmdlZC5iaW5kKHRoaXMpKSx0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0TW9kZWwuc291cmNlUHJvcGVydGllc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9wcm9jZXNzUHJvcGVydGllc0NoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fY2hhcnRNb2RlbC5zb3VyY2VaT3JkZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc1Byb3BlcnRpZXNDaGFuZ2VkLmJpbmQodGhpcykpLHRoaXMuX2xpbmtLZXlSZXNvbHZlcj1uZXcgZyhlLmxheW91dElkLGUuY2hhcnRJZCx0Lm1haW5TZXJpZXMoKS5pZCgpKSx0aGlzLl9icm9rZXJJZFNlc3Npb249bmV3IHYuRmVhdHVyZVRvZ2dsZVdhdGNoZWRWYWx1ZSgiYnJva2VyX2lkX3Nlc3Npb24iLCExKSx0aGlzLl9hdXRvZml4Wk9yZGVyPW5ldyB2LkZlYXR1cmVUb2dnbGVXYXRjaGVkVmFsdWUoImF1dG9maXhfbGluZV90b29sc196b3JkZXIiLCExKTtjb25zdCByPXRoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woMiwhMSksbz10aGlzLl9sb2FkQW5kTWVyZ2VMaW5lVG9vbHNXaXRob3V0U3ltYm9sKDEsITEpO3RoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woMCwhMSxbcixvXSksdGhpcy5fbG9hZEFuZE1lcmdlTGluZVRvb2xzT25TdHVkaWVzKDAsITEpLCgwLGQub25XaWRnZXQpKCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLCgoKT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ0aGlzLnJlbG9hZEFsbExpbmVUb29scygpfSkpfWRlc3Ryb3koKXt0aGlzLl9kZWJvdW5jZWRTYXZlLmNhbmNlbCgpLCgwLGQub25XaWRnZXQpKCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Jyb2tlcklkU2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnRNb2RlbC5zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwuc291cmNlWk9yZGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT8uYXV0b1NhdmVFbmFibGVkKCkudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VBdXRvc2F2ZSksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT8uY2hhcnRTYXZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Rlc3Ryb3llZD0hMH1yZWxvYWRBbGxMaW5lVG9vbHMoKXt0aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuY2xlYXIoKSxQLmZvckVhY2goKGU9PnswPT09ZSYmdGhpcy5fbG9hZEFuZE1lcmdlTGluZVRvb2xzT25TdHVkaWVzKGUsITApLHRoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woZSwhMCl9KSk7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7ZSYmdGhpcy5fb25TeW1ib2xSZXNvbHZlZChlKX1oYXNDaGFuZ2VzKCl7cmV0dXJuIHRoaXMuX2hhc0NoYW5nZXN9aGFzVW5zYXZlZE1pZ3JhdGlvbnNGcm9tQ2hhcnRTdGF0ZSgpe3JldHVybiBOKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyl8fE4odGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcyl9c2V0U2F2ZUNoYXJ0U2VydmljZShlKXt0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlJiYodGhpcy5fc2F2ZUNoYXJ0U2VydmljZS5hdXRvU2F2ZUVuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUF1dG9zYXZlKSx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlLmNoYXJ0U2F2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT1lLHRoaXMuX3NhdmVDaGFydFNlcnZpY2UuYXV0b1NhdmVFbmFibGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhbmdlQXV0b3NhdmUpLHRoaXMuX3NhdmVDaGFydFNlcnZpY2UuY2hhcnRTYXZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3RyeVRvU2F2ZUNoYXJ0U3RhdGVNaWdyYXRpb25zT25jZT0hMSx0aGlzLl9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKX0pLCEwKX1wcmVwYXJlRFRPKGU9ITEpe2NvbnN0IHQ9bmV3IE1hcDtyZXR1cm4gUC5mb3JFYWNoKChpPT57dC5zZXQoaSx0aGlzLl9wcmVwYXJlRFRPSXRlbShlLGkpKX0pKSx0fWdldERUTyhlPTAsdD0hMSxpPSExKXtyZXR1cm4gaSYmdGhpcy5pbnZhbGlkYXRlQWxsKCksdGhpcy5fcHJlcGFyZURUT0l0ZW0odCxlLGkpfWFzeW5jIGFwcGx5RFRPKGUsdD0wKXt0aGlzLnJlc2V0SW52YWxpZGF0ZWQoRGF0ZS5ub3coKS52YWx1ZU9mKCksZSx0KSxhd2FpdCB0aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhlLHQpfQptYXJrQXNWYWxpZGF0ZWRCZWNhdXNlT2ZTYXZpbmdUb0NvbnRlbnQoKXtWKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyksVih0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzKSx0aGlzLl9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKX1yZXNldEludmFsaWRhdGVkKGUsdCxpLHMpe2NvbnN0IG49KGUsdCxzLG4pPT57aWYoIXMuaGFzKG4pfHxzLmdldChuKSlzLmhhcyhuKSYmdChuLGkpO2Vsc2V7Y29uc3Qgcz1lLmdldChuKTtzJiYocz09PWk/dChuLG51bGwpOjA9PT1pJiZ0KG4scykpfX07aWYobnVsbD09PXQuc291cmNlcylyZXR1cm47Y29uc3R7Z3JvdXBzOnIsc291cmNlczpvLGxpbmVUb29sc1RvVmFsaWRhdGU6bCxncm91cHNUb1ZhbGlkYXRlOmN9PXQsaD1BKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyxlLG5ldyBTZXQobD8/by5rZXlzKCkpKTt0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnM9aC5zdGlsbEludmFsaWRhdGVkLGgudmFsaWRhdGVkLmZvckVhY2gobi5iaW5kKHRoaXMsdGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLHRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xTaGFyaW5nTW9kZS5iaW5kKHRoaXMpLG8pKTtjb25zdCBkPUEodGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3VwcyxlLG5ldyBTZXQoYz8/ci5rZXlzKCkpKTtpZihoLnZhbGlkYXRlZC5mb3JFYWNoKG4uYmluZCh0aGlzLHRoaXMuX29yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sR3JvdXBzU2hhcmluZ01vZGUuYmluZCh0aGlzKSxyKSksdGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcz1kLnN0aWxsSW52YWxpZGF0ZWQsQXJyYXkuZnJvbShvLmtleXMoKSkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZSk7dCYmKHZvaWQgMCE9PXM/dC5zZXRTZXJ2ZXJVcGRhdGVUaW1lKHMpOm51bGw9PT10LnNlcnZlclVwZGF0ZVRpbWUoKSYmdC5zZXRTZXJ2ZXJVcGRhdGVUaW1lKChuZXcgRGF0ZSkudmFsdWVPZigpKSl9KSksMD09PWkpZm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMpKW51bGw9PT1vLmdldChlKSYmdGhpcy5fbWlncmF0ZWRTaGFyZWRMaW5lVG9vbHNEdXBsaWNhdGVzLmRlbGV0ZShlKTsoaC5jb250YWluUmVzYXZlZEZyb21Db250ZW50fHxkLmNvbnRhaW5SZXNhdmVkRnJvbUNvbnRlbnQpJiZhLmVtaXQoImxpbmVUb29sc1Jlc2F2ZWRGcm9tQ29udGVudCIpLHRoaXMuX3JlY2FsY3VsYXRlSGFzQ2hhbmdlcygpfWFzeW5jIGFwcGx5TGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oZSx0KXtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9RS5leGVjKGUpO3JldHVybiA0PT09dD8ubGVuZ3RoP3tsYXlvdXRJZDp0WzFdLGNoYXJ0SWQ6dFsyXSxjbGllbnRJZDp0WzNdfTp7bGF5b3V0SWQ6IiIsY2hhcnRJZDoiIixjbGllbnRJZDplfX0oZS5jbGllbnRJZD8/IiIpO2lmKGkuY2xpZW50SWQhPT10aGlzLl9vcmlnaW4uY2xpZW50SWR8fGkuY2hhcnRJZCE9PXRoaXMuX29yaWdpbi5jaGFydElkKXJldHVybiB2b2lkIDA9PT1lLnN5bWJvbHx8bnVsbCE9PWUuc291cmNlcz90aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhlLHQsaSk6dm9pZCB0aGlzLl93aXRob3V0SW52YWxpZGF0aW5nKCgoKT0+e2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlcygpLmZpbHRlcihjLmlzTGluZVRvb2wpLmZpbHRlcigoaT0+aS5zaGFyaW5nTW9kZSgpLnZhbHVlKCk9PT10JiZpLnN5bWJvbCgpPT09ZS5zeW1ib2wpKTtpLmxlbmd0aD4wJiZ0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLnJlbW92ZVNvdXJjZXMoaSwhMCxudWxsKX0pKX1zdGFydEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aCsrfWVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aC0tLHRoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoPDAmJihULmxvZ0Vycm9yKCJMb2dpYyBlcnJvciwgc3RhcnRBcHBseWluZ0xpbmVUb29sVXBkYXRlTm90aWZpY2F0aW9uL2VuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24gbWlzbWF0Y2gsIGF1dG9maXhpbmciKSx0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aD0wKX1hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fd2l0aG91dEludmFsaWRhdGluZygoKCk9Pntjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpO2kmJigwLGMuaXNMaW5lVG9vbCkoaSkmJmkuc2V0QWxlcnQodCl9KSl9ZGVsZXRlQWxlcnRCeUV4dGVybmFsU291cmNlKGUpe3RoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKTt0JiYoMCxjLmlzTGluZVRvb2wpKHQpJiZ0LnJlbW92ZUFsZXJ0KCl9KSl9YXN5bmMgbWFya1N5bmNlZExpbmVUb29sQXNEZWxldGVkKGUsdCl7aWYodGhpcy5fbGlua0tleVJlc29sdmVyKXtjb25zdCBpPWF3YWl0IHRoaXMuX2xpbmtLZXlSZXNvbHZlci5yZXNvbHZlTGlua0tleSh0LGUsdGhpcy5fYnJva2VyTmFtZSk7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2lmKG51bGwhPT1pKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xCeUxpbmtLZXkoZSk7bnVsbD09PXQ/dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoaSxwZXJmb3JtYW5jZS5ub3coKSk6dGhpcy5fd2l0aG91dEludmFsaWRhdGluZygoKCk9Pntjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHQpKSxpPXRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KGUuaWQoKSl8fG5ldyBNYXA7dC5kZXRhY2hBbGVydCgpLAp0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZSh0KSxpLmRlbGV0ZSh0LmlkKCkpfSkpLHRoaXMuX2RlYm91bmNlZFNhdmUoKX1yZXR1cm4gaX1yZXR1cm4gbnVsbH1pbnZhbGlkYXRlQWxsKGU9ITEpe2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKCgoZSxpKT0+e3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGksdCl9KSl9KSksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBzRm9yQWxsU3ltYm9scygpLmZvckVhY2goKGU9Pnt0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xHcm91cChlLmlkLHQpfSkpLGUmJnRoaXMubWFya0FzVmFsaWRhdGVkQmVjYXVzZU9mU2F2aW5nVG9Db250ZW50KCl9ZXhlY3V0ZVN5bmNocm9uaXphdGlvbkluTGF5b3V0QWN0aW9uKGUpe3RoaXMuX2ludmFsaWRhdGVWaWFTeW5jKz0xO3RyeXtlKCl9ZmluYWxseXt0aGlzLl9pbnZhbGlkYXRlVmlhU3luYy09MX19aW52YWxpZGF0ZVZpYVN5bmMoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZVZpYVN5bmM+MH1mbHVzaFBlbmRpbmdTYXZpbmdzKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuc2l6ZXx8dGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNpemV8fHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcy5zaXplP3RoaXMuX3NhdmVJbnZhbGlkYXRlZElmUmVxdWlyZWQoITEsITApOm51bGx9aGFzUGVuZGluZ0xvYWRSZXF1ZXN0cygpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IHQgb2YgUCl7Y29uc3QgaT10aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuZ2V0KHQpPz8iIjtpZighZS5zeW1ib2xTYW1lQXNDdXJyZW50KGkpKXJldHVybiEwfXJldHVybiB0aGlzLl9wZW5kaW5nTG9hZFJlcXVlc3RzQ291bnRlcj4wfWhhc1BlbmRpbmdTYXZlUmVxdWVzdHMoKXtyZXR1cm4gdGhpcy5fcGVuZGluZ1NhdmVSZXF1ZXN0c0NvdW50ZXI+MHx8dGhpcy5oYXNDaGFuZ2VzKCkudmFsdWUoKSYmdGhpcy5faXNBdXRvc2F2ZUVuYWJsZWQoKX1hc3luYyBtYWluU2VyaWVzRHJhd2luZ3NSZWFkeShlKXtsZXRbdCxpXT10aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeTtpZih0PT09ZSlyZXR1cm4gaTtjb25zdCBzPSgwLF8uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO3JldHVybiB0aGlzLl9uZXh0UmVzb2x2ZWRTeW1ib2xEZWZlcnJlZFByb21pc2VzLnB1c2goW2Usc10pLGF3YWl0IHMucHJvbWlzZSxbdCxpXT10aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeSwoMCxyLmFzc2VydCkodD09PWUsIlVuZXhwZWN0ZWQgc3ltYm9sIHByb19uYW1lIiksaX1fYXNzaWduQWxsTGluZVRvb2xzKGUpe2UuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5kYXRhU291cmNlcygpLmZpbHRlcihEKS5tYXAoKGU9PltlLmlkKCksZS5saW5rS2V5KCkudmFsdWUoKV0pKSxpPW5ldyBNYXAodCk7dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5zZXQoZS5pZCgpLGkpfSkpfV9wcm9jZXNzUHJvcGVydGllc0NoYW5nZWQoZSx0KXtEKHQpJiZ0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1Yih0LmlkKCkscGVyZm9ybWFuY2Uubm93KCkpfV9wcm9jZXNzTGluZVRvb2xzR3JvdXBNb2RlbENoYW5nZWQoZSx0KXtjb25zdCBpPXBlcmZvcm1hbmNlLm5vdygpO3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbEdyb3VwKGUsaSk7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGUpO2xldCBuPXM/LmxpbmVUb29scygpLmxlbmd0aD9zLnNoYXJpbmdNb2RlKCkudmFsdWUoKTp2b2lkIDA7dCYmKCh0LmFmZmVjdGVkTGluZVRvb2xzfHxbXSkuZm9yRWFjaCgoZT0+dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZSxpKSkpLHQuYWZmZWN0ZWRMaW5lVG9vbHM/Lmxlbmd0aD4wJiZ2b2lkIDA9PT1uJiYobj10aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuZ2V0KHQuYWZmZWN0ZWRMaW5lVG9vbHNbMF0pKSksdGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlLmhhcyhlKXx8dGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKGUsbj8/MCl9X3Byb2Nlc3NQYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKGUpe2NvbnN0IHQ9ZS5tYXAoKGU9PmUuaWQoKSkpLGk9bmV3IFNldCh0KSxzPXBlcmZvcm1hbmNlLm5vdygpO0FycmF5LmZyb20odGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5rZXlzKCkpLmZpbHRlcigoZT0+IWkuaGFzKGUpKSkuZm9yRWFjaCgoZT0+e0FycmF5LmZyb20oKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldChlKSkua2V5cygpKS5mb3JFYWNoKChlPT57dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZSxzKX0pKX0pKSxlLmZpbHRlcigoZT0+IXRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuaGFzKGUuaWQoKSkpKS5mb3JFYWNoKChlPT57ZS5kYXRhU291cmNlcygpLmZpbHRlcihEKS5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCkscykpKX0pKSx0aGlzLl9hc3NpZ25BbGxMaW5lVG9vbHMoZSl9X3Byb2Nlc3NEYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoZSl7Y29uc3QgdD1lLmRhdGFTb3VyY2VzKCkuZmlsdGVyKEQpLGk9dC5tYXAoKGU9PltlLmlkKCksZS5saW5rS2V5KCkudmFsdWUoKV0pKSxzPW5ldyBNYXAoaSk7bGV0IG47Y29uc3Qgbz1wZXJmb3JtYW5jZS5ub3coKTtpZih0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmhhcyhlLmlkKCkpKXtjb25zdCBpPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQoZS5pZCgpKSk7bj10LmZpbHRlcigoZT0+IWkuaGFzKGUuaWQoKSkpKSwKbi5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCksbykpKSxBcnJheS5mcm9tKGkuZW50cmllcygpKS5maWx0ZXIoKGU9PiFzLmhhcyhlWzBdKSkpLmZvckVhY2goKGU9PntudWxsIT09ZVsxXSYmdGhpcy5fZGVib3VuY2VkU2F2ZSgpLHRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGVbMF0sbyl9KSl9ZWxzZSBuPXQsdC5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCksbykpKTtuLmZvckVhY2goKGU9PntpZigoMCxjLmlzTGluZVRvb2wpKGUpKXt0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoZS5pZCgpLGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2woZSk7dCYmdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKHQuaWQsZS5zaGFyaW5nTW9kZSgpLnZhbHVlKCkpfX0pKSx0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNldChlLmlkKCkscyl9X3VubG9hZExpbmVUb29scyhlLHQsaSl7Y29uc3Qgcz1lLmZpbHRlcigoZT0+IXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5oYXMoZSkpKS5tYXAoKGU9PnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSkuZmlsdGVyKGMuaXNMaW5lVG9vbCkuZmlsdGVyKHAubm90TnVsbCkuZmlsdGVyKChlPT5lLnNoYXJpbmdNb2RlKCkudmFsdWUoKT09PWkpKS5maWx0ZXIodCkuZmlsdGVyKChlPT57Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvckxpbmVUb29sKGUpO3JldHVybiBudWxsPT09dHx8IXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuaGFzKHQuaWQpfSkpO3RoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57cy5mb3JFYWNoKChlPT57ZS5oYXNBbGVydCgpLnZhbHVlKCkmJmUuZGV0YWNoQWxlcnQoKTtjb25zdCB0PSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGUpKTt0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKTsodGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQodC5pZCgpKT8/bmV3IE1hcCkuZGVsZXRlKGUuaWQoKSl9KSksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlTGluZVRvb2xzKHMpfSkpfSkpfV91bmxvYWRMaW5lc09uU2VyaWVzKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpO2lmKCFpPy5zaXplKXJldHVybjtjb25zdCBuPUFycmF5LmZyb20oaS5rZXlzKCkpLmZpbHRlcigodD0+IWUodCkpKTt0aGlzLl91bmxvYWRMaW5lVG9vbHMobiwoZT0+ZS5ib3VuZFRvU3ltYm9sKCkmJmUub3duZXJTb3VyY2UoKT09PXMpLHQpfV9pc0F1dG9zYXZlRW5hYmxlZCgpe3JldHVybiBCb29sZWFuKHRoaXMuX3NhdmVDaGFydFNlcnZpY2UmJnRoaXMuX3NhdmVDaGFydFNlcnZpY2UuYXV0b1NhdmVFbmFibGVkKCkudmFsdWUoKSl9YXN5bmMgX3NhdmVJbnZhbGlkYXRlZElmUmVxdWlyZWQoZSx0KXtpZihudWxsIT09dGhpcy5fbGFzdEJhblRpbWUpe2lmKCEocGVyZm9ybWFuY2Uubm93KCktdGhpcy5fbGFzdEJhblRpbWU+PTNlNSkpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3RoaXMuX2xhc3RCYW5UaW1lPW51bGx9aWYoIXRoaXMuX2lzQXV0b3NhdmVFbmFibGVkKCkmJiF0fHx0aGlzLl9vcHRpb25zLnJlYWRPbmx5TW9kZXx8IXdpbmRvdy5pc19hdXRoZW50aWNhdGVkfHwiIj09PXRoaXMuX29yaWdpbi5sYXlvdXRJZClyZXR1cm47Y29uc3QgaT10aGlzLnByZXBhcmVEVE8oZSkscz1QLm1hcCgoZT0+e2NvbnN0IHQ9aS5nZXQoZSk7aWYoIXR8fG51bGw9PT10LnNvdXJjZXMpcmV0dXJuIG51bGw7Y29uc3Qgcz10LmxpbmVUb29sc1RvVmFsaWRhdGU/P0FycmF5LmZyb20odC5zb3VyY2VzLmtleXMoKSksbj10Lmdyb3Vwc1RvVmFsaWRhdGU/P0FycmF5LmZyb20odC5ncm91cHMua2V5cygpKTtpZigwPT09cy5sZW5ndGgmJjA9PT1uLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBvPXBlcmZvcm1hbmNlLm5vdygpO2lmKHQuc291cmNlcy5zaXplfHx0Lmdyb3Vwcy5zaXplKXtjb25zdCBpPXRoaXMuX3NhdmluZ0Fib3J0Q29udHJvbGxlcnNCeVNoYXJpbmdNb2RlLmdldChlKTtpJiZpLmFib3J0KCk7Y29uc3Qgcz1uZXcgQWJvcnRDb250cm9sbGVyO3JldHVybiB0aGlzLl9zYXZpbmdBYm9ydENvbnRyb2xsZXJzQnlTaGFyaW5nTW9kZS5zZXQoZSxzKSx0LnNvdXJjZXMuZm9yRWFjaCgoKHQsaSk9Pnt0JiZ0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoaSxlKX0pKSx0Lmdyb3Vwcy5mb3JFYWNoKCgodCxpKT0+e3QmJnRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZShpLGUpfSkpLHRoaXMuX3BlbmRpbmdTYXZlUmVxdWVzdHNDb3VudGVyKz0xLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2F2ZUNoYXJ0U2VydmljZSkuc2F2ZUNoYXJ0TGluZVRvb2xzKHRoaXMuX29yaWdpbi5jaGFydElkLHQsZSxzLnNpZ25hbCkudGhlbigoKHtzZXJ2ZXJVcGRhdGVUaW1lOml9KT0+e3RoaXMuX2Rlc3Ryb3llZHx8dGhpcy5yZXNldEludmFsaWRhdGVkKG8sdCxlLGkpfSkpLmNhdGNoKChhc3luYyB0PT57aWYoIXRoaXMuX2Rlc3Ryb3llZCl7aWYodCBpbnN0YW5jZW9mIGguU2F2aW5nTGluZVRvb2xzRXJyb3ImJnQuc2hvdWxkQmVDb29sZWQmJih0aGlzLl9sYXN0QmFuVGltZT1wZXJmb3JtYW5jZS5ub3coKSksISgwLHkuaXNBYm9ydEVycm9yKSh0KSl0aHJvdyB0O1QubG9nRGVidWcoYFNhdmUgcmVxdWVzdCBoYXMgYmVlbiBhYm9ydGVkLiBDaGFydElkOiAke3RoaXMuX29yaWdpbi5jaGFydElkfSBzaGFyaW5nTW9kZTogJHtlfWApfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX3BlbmRpbmdTYXZlUmVxdWVzdHNDb3VudGVyLT0xfSkpfQpyZXR1cm4gdGhpcy5yZXNldEludmFsaWRhdGVkKG8sdCxlKSxudWxsfSkpLmZpbHRlcihwLm5vdE51bGwpO3JldHVybiBzLmxlbmd0aD9Qcm9taXNlLmFsbChzKS50aGVuKCgoKT0+e30pKTp2b2lkIDB9YXN5bmMgX3NhdmVQcm9taXNlKGUsdCl7cmV0dXJuIHRoaXMuX2lzQXV0b3NhdmVFbmFibGVkKCk/dGhpcy5fZGVib3VuY2VkU2F2ZT8uZmx1c2goKT8/UHJvbWlzZS5yZXNvbHZlKCk6dGhpcy5fc2F2ZUludmFsaWRhdGVkSWZSZXF1aXJlZChlLHQpfV9zZXJpZXNMaW5lVG9vbHNVbmxvYWRlcihlLHQsaSl7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKTsibWFpblNlcmllc0xpbmVUb29scyI9PT1lLnJlcXVlc3RUeXBlJiZzLnN5bWJvbFNhbWVBc0N1cnJlbnQoZS5zeW1ib2wpJiYodGhpcy5fdW5sb2FkTGluZXNPblNlcmllcyhpLGUuc2hhcmluZ01vZGUsdCksdGhpcy5fY3VycmVudGx5TG9hZGVkU3ltYm9sLnNldChlLnNoYXJpbmdNb2RlLGUuc3ltYm9sKSl9X21haW5QYW5lTGluZVRvb2xzQW5kU3R1YnMoKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLHQ9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoZSkpO3JldHVybiBuZXcgTWFwKHRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KHQuaWQoKSkpfV9vblN5bWJvbFJlc29sdmVkKGUpe2NvbnN0IHQ9KHQsaSk9Pntjb25zdCBzPXtyZXF1ZXN0VHlwZToibWFpblNlcmllc0xpbmVUb29scyIsc2VyaWVzU291cmNlSWQ6dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSxzeW1ib2w6ZS5wcm9fbmFtZSxicm9rZXJOYW1lOiIiLHNoYXJpbmdNb2RlOnR9O3JldHVybiB0aGlzLl9tYWtlTG9hZFJlcXVlc3RBbmRNZXJnZShzLHRoaXMuX3Nlcmllc0xpbmVUb29sc1VubG9hZGVyLmJpbmQodGhpcyxzLHRoaXMuX21haW5QYW5lTGluZVRvb2xzQW5kU3R1YnMoKSksZS5wcm9fbmFtZXx8ZS50aWNrZXJ8fGUuZnVsbF9uYW1lLGkpfSxpPXQoMikscz10KDEpLG49W2kscyx0KDAsW2ksc10pXSxyPVByb21pc2UuYWxsKG4pLnRoZW4oKCgpPT57dmFyIGU7aWYoIXRoaXMuX2Rlc3Ryb3llZCYmKHRoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlcygpLmZpbHRlcihjLmlzTGluZVRvb2wpLmZpbHRlcigoZT0+MD09PWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpJiZlLmxpbmtLZXkoKS52YWx1ZSgpKSkuZm9yRWFjaCgoZT0+e2lmKGUuc2hhcmUoMSksdGhpcy5fb3B0aW9ucy5taWdyYXRlU3luY2VkTGluZVRvb2xzKXt0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCkscGVyZm9ybWFuY2Uubm93KCksITApO2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKTt0JiZ0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xHcm91cCh0LmlkLHBlcmZvcm1hbmNlLm5vdygpLCEwKX19KSl9KSksdGhpcy5fYXV0b2ZpeFpPcmRlci52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cHNGb3JBbGxTeW1ib2xzKCkubGVuZ3RoKSl7Y29uc3QgdD17cGFuZXM6KGU9dGhpcy5fY2hhcnRNb2RlbCkucGFuZXMoKS5tYXAoeCksZ3JvdXBzOmUubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3Vwc0ZvckFsbFN5bWJvbHMoKS5tYXAoTSl9LGk9KDAsQy5wcmVwYXJlWk9yZGVyRml4SWZSZXF1aXJlZCkodCk7dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57aS5mb3JFYWNoKCgoZSx0KT0+e2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCk7aT8uc2V0Wm9yZGVyKGUpfSkpfSkpfX0pKTt0aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeT1bZS5wcm9fbmFtZSxyXTtmb3IoY29uc3RbdCxpXW9mIHRoaXMuX25leHRSZXNvbHZlZFN5bWJvbERlZmVycmVkUHJvbWlzZXMpdD09PWUucHJvX25hbWU/aS5yZXNvbHZlKCk6aS5yZWplY3QobmV3IEVycm9yKCJTeW1ib2wgbWlzbWF0Y2giKSk7dGhpcy5fbmV4dFJlc29sdmVkU3ltYm9sRGVmZXJyZWRQcm9taXNlcz1bXX1hc3luYyBfbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UoZSx0LGkscyl7Y29uc3Qgbj10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKSxyPXRoaXMuX2N1cnJlbnRseUxvYWRlZFN5bWJvbC5nZXQoZS5zaGFyaW5nTW9kZSk/PyIiO2lmKCEhbi5zeW1ib2xTYW1lQXNDdXJyZW50KHIpKXJldHVybjt0aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuZGVsZXRlKGUuc2hhcmluZ01vZGUpO2NvbnN0IG89YXdhaXQoMCx1LmdldENoYXJ0U3RvcmFnZSkoKTtyZXR1cm4gdGhpcy5fZGVzdHJveWVkP3ZvaWQgMDp0aGlzLl9zYXZlUHJvbWlzZSgibWFpblNlcmllc0xpbmVUb29scyI9PT1lLnJlcXVlc3RUeXBlKS5jYXRjaCgoKCk9Pnt9KSkudGhlbigoKCk9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOih0aGlzLl9wZW5kaW5nTG9hZFJlcXVlc3RzQ291bnRlcis9MSxvLmxvYWRMaW5lVG9vbHNBbmRHcm91cHModGhpcy5fb3JpZ2luLmxheW91dElkLHRoaXMuX29yaWdpbi5jaGFydElkLGUsaSkpKSkuY2F0Y2goKCgpPT5udWxsKSkudGhlbigoYXN5bmMgaT0+e2lmKCF0aGlzLl9kZXN0cm95ZWQpe2lmKHMpdHJ5e2lmKGF3YWl0IFByb21pc2UuYWxsKHMpLHRoaXMuX2Rlc3Ryb3llZClyZXR1cm59Y2F0Y2goZSl7fWlmKHRoaXMuX3BlbmRpbmdMb2FkUmVxdWVzdHNDb3VudGVyLT0xLG51bGwhPT1pKXtjb25zdCBzPWkuc291cmNlcztzJiYodCgoZT0+cy5oYXMoZSkpKSxhd2FpdCB0aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhpLGUuc2hhcmluZ01vZGUpKSxpLnNlcnZlclJlcXVlc3RJZCYmY29uc29sZS5sb2coYFBST0NFU1NFRDoke2kuc2VydmVyUmVxdWVzdElkfWApfX19KSl9X3Jlc3RvcmVHcm91cHMoZSx0LGkscyl7Y29uc3Qgbj1uZXcgTWFwO3JldHVybih0Lmdyb3Vwc3x8bmV3IE1hcCkuZm9yRWFjaCgoKHQsbyk9PnsKY29uc3QgYT10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKG8pO2lmKG51bGw9PT10KXtpZihhKXtjb25zdCBlPXMmJnMubGF5b3V0SWQ9PT10aGlzLl9vcmlnaW4ubGF5b3V0SWQmJnMuY2hhcnRJZD09PXRoaXMuX29yaWdpbi5jaGFydElkO2EubGluZVRvb2xzKClbMF0uc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09aSYmKGUmJjAhPT1pfHwobmV3IGYuRXhjbHVkZUxpbmVUb29sc0Zyb21Hcm91cFVuZG9Db21tYW5kKHRoaXMuX2NoYXJ0TW9kZWwsYSxhLmxpbmVUb29scygpKS5yZWRvKCksdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKG8sbnVsbCkpKX19ZWxzZXtpZihhJiZ0LnNlcnZlclVwZGF0ZVRpbWUpe2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0LnNlcnZlclVwZGF0ZVRpbWUpO2lmKG51bGwhPT1lJiZlPj1pKXJldHVybjthLnNldE5hbWUodC5uYW1lKX1lbHNlIG4uc2V0KG8sdCk7dGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKG8saSl9fSkpLG59X2NyZWF0ZU5ld0xpbmVUb29sKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZS5vd25lclNvdXJjZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZSh0KSkscz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkuaW5kZXhPZihpKSxuPXRoaXMuX2NoYXJ0TW9kZWwucmVzdG9yZVNvdXJjZSghMSxzLG51bGwsZS5zdGF0ZSxudWxsKTtpZihudWxsIT09bil7Y29uc3QgZT10aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldChpLmlkKCkpfHxuZXcgTWFwO2Uuc2V0KG4uaWQoKSxuLmxpbmtLZXkoKS52YWx1ZSgpKSx0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNldChpLmlkKCksZSl9cmV0dXJuIG59X21pZ3JhdGVTdGF0ZUZyb21NZXRhaW5mbyhlKXtjb25zdCB0PXZvaWQgMCE9PWUuc3ltYm9sJiZlLnN5bWJvbCE9PWUuc3RhdGUuc3RhdGUuc3ltYm9sO3QmJihlLnN0YXRlLnN0YXRlLnN5bWJvbD1lLnN5bWJvbCk7Y29uc3QgaT12b2lkIDAhPT1lLmN1cnJlbmN5SWQmJmUuY3VycmVuY3lJZCE9PWUuc3RhdGUuc3RhdGUuY3VycmVuY3lJZDtpJiYoZS5zdGF0ZS5zdGF0ZS5jdXJyZW5jeUlkPWUuY3VycmVuY3lJZCk7Y29uc3Qgcz12b2lkIDAhPT1lLnVuaXRJZCYmZS51bml0SWQhPT1lLnN0YXRlLnN0YXRlLnVuaXRJZDtyZXR1cm4gcyYmKGUuc3RhdGUuc3RhdGUudW5pdElkPWUudW5pdElkKSx0fHxpfHxzfV9yZXN0b3JlTGluZVRvb2woZSx0LGkscyl7aWYoKHQuc3RhdGUucG9pbnRzPz9bXSkuc29tZSgoZT0+ISgwLHAuaXNOdW1iZXIpKGUudGltZV90KSkpKXJldHVybiBudWxsO2xldCBuPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpO2lmKG51bGw9PT1uJiZ0LnN0YXRlLmxpbmtLZXkmJihuPXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xCeUxpbmtLZXkodC5zdGF0ZS5saW5rS2V5KSksbnVsbCE9PW4mJiEoMCxjLmlzTGluZVRvb2wpKG4pKXJldHVybiBudWxsO2lmKHRoaXMuX29yaWdpbi5jbGllbnRJZD09PXM/LmNsaWVudElkJiYhbilyZXR1cm4gbnVsbDtpZihuJiZ0LnNlcnZlclVwZGF0ZVRpbWUpe2NvbnN0IHI9dC5zZXJ2ZXJVcGRhdGVUaW1lLG89bi5zZXJ2ZXJVcGRhdGVUaW1lKCk7aWYobnVsbCE9PWUmJmU+PXJ8fG51bGwhPT1vJiZvPj1yKXJldHVybiAwIT09aSYmKG4uc2hhcmUoaSksdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlKG4uaWQoKSxpKSksdGhpcy5fcmVzdG9yZUxpbmVUb29sQWxlcnQobix0LnN0YXRlLmFsZXJ0SWQpLG51bGw7dGhpcy5fb3JpZ2luLmNsaWVudElkIT09cz8uY2xpZW50SWQmJih0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVMaW5lVG9vbFN0YXRlKG4sdC5zdGF0ZSwhMSksbi5zaGFyaW5nTW9kZSgpLnZhbHVlKCkhPT1pJiYobi5zaGFyZShpKSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUobi5pZCgpLGkpKSxuLmNhbGNJc0FjdHVhbFN5bWJvbCgpKX0wIT09aSYmKHQub3duZXJTb3VyY2U9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSx0LnN0YXRlLm93bmVyU291cmNlPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLmlkKCkpLDA9PT1pJiZ0LnN0YXRlLmxpbmtLZXkmJih0LnN0YXRlLnNoYXJpbmdNb2RlPz89MSk7Y29uc3Qgcj10aGlzLl9taWdyYXRlU3RhdGVGcm9tTWV0YWluZm8odCk7bGV0IG89bnx8dGhpcy5fY3JlYXRlTmV3TGluZVRvb2wodCk7aWYobyYmKHImJnRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKHQuaWQscGVyZm9ybWFuY2Uubm93KCksITApLHQuc2VydmVyVXBkYXRlVGltZSYmby5zZXRTZXJ2ZXJVcGRhdGVUaW1lKHQuc2VydmVyVXBkYXRlVGltZSksdGhpcy5fcmVzdG9yZUxpbmVUb29sQWxlcnQobyx0LnN0YXRlLmFsZXJ0SWQpLDAhPT1pJiZvLnNoYXJlKGkpLHZvaWQgMD09PXMmJigwLGMuaXNFZGl0YWJsZVRleHRMaW5lVG9vbCkobykpKXt0aGlzLl9yZW1vdmVUZXh0TGluZVRvb2xJZkVtcHR5KG8pJiYobz1udWxsKX1yZXR1cm4gb31fcmVzdG9yZUxpbmVUb29sQWxlcnQoZSx0KXt0P2UucmVzdG9yZUFsZXJ0KCt0KS5jYXRjaCgoZT0+e1QubG9nRXJyb3IoYEZhaWxlZCB0byByZXN0b3JlIGxpbmVUb29sIGFsZXJ0OiAke0Vycm9yLGV9YCl9KSk6ZS5kZXRhY2hBbGVydCgpfV9yZW1vdmVMaW5lVG9vbChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpO251bGwhPT10JiZ0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZSh0KX1fcmVtb3ZlVGV4dExpbmVUb29sSWZFbXB0eShlKXtyZXR1cm4hKCFlLnJlbW92ZUlmRWRpdGFibGVUZXh0SXNFbXB0eSgpfHwwIT09ZS5lZGl0YWJsZVRleHRQcm9wZXJ0aWVzKCkudGV4dC52YWx1ZSgpLmxlbmd0aCkmJih0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKSwKdGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZS5pZCgpLHBlcmZvcm1hbmNlLm5vdygpLCEwKSwhMCl9X3Jlc3RvcmVMaW5lRFRPKGUsdCxpLHMsbixvKXtpZighdGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldCh0KSlpZihudWxsPT09ZSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KTtpZighZSlyZXR1cm47aWYoISgwLGMuaXNMaW5lVG9vbCkoZSkpcmV0dXJuO2lmKGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09biYmdGhpcy5fb3JpZ2luLmNsaWVudElkIT09bz8uY2xpZW50SWQpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKTtudWxsIT09aSYmbmV3IGYuRXhjbHVkZUxpbmVUb29sc0Zyb21Hcm91cFVuZG9Db21tYW5kKHRoaXMuX2NoYXJ0TW9kZWwsaSxbZV0pLnJlZG8oKSx0aGlzLl9yZW1vdmVMaW5lVG9vbCh0KSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUodCxudWxsKX19ZWxzZXtpZigwPT09biYmbnVsbCE9ZS5zdGF0ZS5saW5rS2V5KXtpZih0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSlyZXR1cm4gdm9pZCB0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMuYWRkKGUuaWQpO3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGUuaWQscGVyZm9ybWFuY2Uubm93KCksITApfWlmKDA9PT1lLnN0YXRlLnBvaW50cz8ubGVuZ3RoJiZbIkxpbmVUb29sUmlza1Jld2FyZExvbmciLCJMaW5lVG9vbFJpc2tSZXdhcmRTaG9ydCJdLmluY2x1ZGVzKGUuc3RhdGUudHlwZSkpcmV0dXJuIHRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKHQscGVyZm9ybWFuY2Uubm93KCksITApLHZvaWQgdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlKHQsbik7Y29uc3QgYT10aGlzLl9yZXN0b3JlTGluZVRvb2wocyxlLG4sbyk7aWYoYSlpZihlLmdyb3VwSWQpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChhKSxzPXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQoZS5ncm91cElkKTtpZihudWxsIT09dCYmcz09PXQpcmV0dXJuO2lmKG51bGwhPT10JiYodC5leGNsdWRlSXRlbShhKSwwPT09dC5saW5lVG9vbHMoKS5sZW5ndGgmJjA9PT10LnN1Ymdyb3VwcygpLmxlbmd0aCYmdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlR3JvdXAodCkpLHMmJiFzLmNvbnRhaW5zSXRlbShhKSlzLmFkZEl0ZW1zKFthXSk7ZWxzZSBpZighcyYmaS5oYXMoZS5ncm91cElkKSl7Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKGkuZ2V0KGUuZ3JvdXBJZCkpO3RoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmNyZWF0ZUdyb3VwKFthXSx0Lm5hbWUsdC5pZCl9fWVsc2V7dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlTGluZVRvb2xzKFthXSkuZm9yRWFjaCgoZT0+e3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbEdyb3VwKGUscGVyZm9ybWFuY2Uubm93KCksITApfSkpfXRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xTaGFyaW5nTW9kZSh0LG4pfX1hc3luYyBfYXBwbHlMaW5lVG9vbHNBbmRHcm91cHNEVE8oZSx0LGkpe2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5jaGFydFNhdmVUaW1lKCksbj10aGlzLl93aXRob3V0SW52YWxpZGF0aW5nKCgoKT0+dGhpcy5fcmVzdG9yZUdyb3VwcyhzLGUsdCxpKSkpLHI9YENoYXJ0U3RvcmFnZS5TeW5jaHJvbml6ZXIuQXBwbHlpbmdEVE8uJHtgJHt0aGlzLl9vcmlnaW4ubGF5b3V0SWR9LiR7dGhpcy5fb3JpZ2luLmNoYXJ0SWR9YH1gLG89bmV3IFNldDtpZigoZS5zb3VyY2VzfHxuZXcgTWFwKS5mb3JFYWNoKChlPT57ZSYmby5hZGQoKDAsdy5nZXRMaW5lVG9vbFR5cGVGcm9tU3RhdGUpKGUuc3RhdGUpKX0pKSxhd2FpdCBQcm9taXNlLmFsbChBcnJheS5mcm9tKG8pLm1hcCgoZT0+KDAsYy5pbml0TGluZVRvb2wpKGUpKSkpLCF0aGlzLl9kZXN0cm95ZWQpcmV0dXJuKDAsbC5wZXJmTWVhc3VyZU9wZXJhdGlvbikociwoKCk9PnRoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57KGUuc291cmNlc3x8bmV3IE1hcCkuZm9yRWFjaCgoKGUscik9Pnt0cnl7aWYoZSYmKDAsYi5pc010cFByZWRpY3RvclRvb2xOYW1lKShlLnN0YXRlLnR5cGUpKXJldHVybiB2b2lkIFQubG9nV2FybihgTm8gbG9uZ2VyIHN1cHBvcnRlZCB0b29sICR7ZS5zdGF0ZS50eXBlfSBpcyBza2lwcGVkIHdoaWxlIHJlc3RvcmluZyBzdGF0ZWApO3RoaXMuX3Jlc3RvcmVMaW5lRFRPKGUscixuLHMsdCxpKX1jYXRjaCh0KXtULmxvZ0Vycm9yKGBFcnJvciByZXN0b3JpbmcgbGluZSB0b29sICR7cn0gKCR7ZT8uc3RhdGUudHlwZX0pOiAke3R9YCksZT8uc3RhdGUudHlwZSYmIW8uaGFzKGUuc3RhdGUudHlwZSkmJlQubG9nRXJyb3IoYExpbmUgdG9vbCAke2Uuc3RhdGUudHlwZX0gbWF5IG5lZWQgdG8gYmUgaW5pdGlhbGlzZWQgZmlyc3RgKX19KSksKGUuZ3JvdXBzfHxuZXcgTWFwKS5mb3JFYWNoKCgoZSx0KT0+e3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZGVsZXRlKHQpfSkpLHRoaXMuX3JlY2FsY3VsYXRlSGFzQ2hhbmdlcygpfSkpfSkpKSl9X3dpdGhvdXRJbnZhbGlkYXRpbmcoZSl7dHJ5e3JldHVybiB0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aCsrLGUoKX1maW5hbGx5e3RoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoLS19fV9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLHQsaSl7aWYodGhpcy5faWdub3JlSW52YWxpZGF0aW5nRXZlbnRzRGVwdGg+MCYmIWkpcmV0dXJuCjtjb25zdHtpbnZhbGlkYXRlZFZpYVN5bmNPbmx5OnMsc2F2ZWRUb0NoYXJ0Q29udGVudDpufT10aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KGUpfHx7fSxyPSh2b2lkIDA9PT1zfHxzKSYmdGhpcy5pbnZhbGlkYXRlVmlhU3luYygpO3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5zZXQoZSx7dGltZXN0YW1wOnQsaW52YWxpZGF0ZWRWaWFTeW5jT25seTpyLHNhdmVkVG9DaGFydENvbnRlbnQ6bn0pLHRoaXMuX2hhc0NoYW5nZXMuc2V0VmFsdWUoITApLHRoaXMuX2RlYm91bmNlZFNhdmUoKX1faW52YWxpZGF0ZUxpbmVUb29sR3JvdXAoZSx0LGkpe2lmKHRoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoPjAmJiFpKXJldHVybjtjb25zdHtzYXZlZFRvQ2hhcnRDb250ZW50OnN9PXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZ2V0KGUpfHx7fTt0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzLnNldChlLHt0aW1lc3RhbXA6dCxpbnZhbGlkYXRlZFZpYVN5bmNPbmx5OnRoaXMuaW52YWxpZGF0ZVZpYVN5bmMoKSxzYXZlZFRvQ2hhcnRDb250ZW50OnN9KSx0aGlzLl9oYXNDaGFuZ2VzLnNldFZhbHVlKCEwKSx0aGlzLl9kZWJvdW5jZWRTYXZlKCl9X3ByZXBhcmVEVE9JdGVtKGUsdCxpPSExKXtjb25zdCBzPW5ldyBNYXAsbj1uZXcgTWFwLHI9W10sbz1bXTtpZih0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZm9yRWFjaCgoKG8sYSk9PntpZigwIT09dCYmby5pbnZhbGlkYXRlZFZpYVN5bmNPbmx5KXJldHVybiB2b2lkIHIucHVzaChhKTtjb25zdCBsPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGEpO2lmKCEoMCxTLmlzU3R1ZHlMaW5lVG9vbFN0dWIpKGwpKWlmKG51bGw9PT1sKXsodGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLmdldChhKT09PXR8fGkpJiZzLnNldChhLG51bGwpfWVsc2V7aWYobD09PXRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpfHxsPT09dGhpcy5fY2hhcnRNb2RlbC5saW5lQmVpbmdFZGl0ZWQoKXx8IWwuaXNTYXZlZEluQ2hhcnQoKSlyZXR1cm47Y29uc3Qgcj1sLm93bmVyU291cmNlKCk9PT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKSxvPSFlfHxyLGM9bC5zaGFyaW5nTW9kZSgpLnZhbHVlKCk9PT10fHxpO2lmKG8pe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChsKTtpZihjKXMuc2V0KGEsSShsLHRoaXMuX2NoYXJ0TW9kZWwpKSxudWxsIT09ZSYmbi5zZXQoZS5pZCxMKGUsdGhpcy5fY2hhcnRNb2RlbCkpO2Vsc2V7Y29uc3QgaT10aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuZ2V0KGEpO2k9PT10JiZzLnNldChhLG51bGwpLG51bGwhPT1lJiZpPT09dCYmbi5zZXQoZS5pZCxudWxsKX19fX0pKSwwPT09dClmb3IoY29uc3QgZSBvZiB0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMpcy5oYXMoZSl8fHMuc2V0KGUsbnVsbCk7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZm9yRWFjaCgoKGUsaSk9PntpZigwIT09dCYmZS5pbnZhbGlkYXRlZFZpYVN5bmNPbmx5KW8ucHVzaChpKTtlbHNlIGlmKCFuLmhhcyhpKSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGkpO2lmKG51bGw9PT1lKXt0aGlzLl9vcmlnaW5hbExpbmVUb29sR3JvdXBzU2hhcmluZ01vZGUuZ2V0KGkpPT09dCYmbi5zZXQoaSxudWxsKX1lbHNlIGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09dCYmbi5zZXQoaSxMKGUsdGhpcy5fY2hhcnRNb2RlbCkpfX0pKSx7c291cmNlczpzLGdyb3VwczpuLGNsaWVudElkOnRoaXMuX2dlbmVyYXRlT3JpZ2luKCksbGluZVRvb2xzVG9WYWxpZGF0ZTpBcnJheS5mcm9tKHMua2V5cygpKS5jb25jYXQociksZ3JvdXBzVG9WYWxpZGF0ZTpBcnJheS5mcm9tKG4ua2V5cygpKS5jb25jYXQobyl9fV9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoZSx0KXtudWxsIT09dD90aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuc2V0KGUsdCk6dGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLmRlbGV0ZShlKX1fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKGUsdCl7bnVsbCE9PXQ/dGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlLnNldChlLHQpOnRoaXMuX29yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZS5kZWxldGUoZSl9X2xvYWRBbmRNZXJnZUxpbmVUb29sc09uU3R1ZGllcyhlLHQpe2NvbnN0IGk9e3JlcXVlc3RUeXBlOiJzdHVkaWVzTGluZVRvb2xzIixzZXJpZXNTb3VyY2VJZDp0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5pZCgpLHNoYXJpbmdNb2RlOmV9LHM9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCk7dGhpcy5fbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UoaSwoaT0+e2NvbnN0IHI9dD8oMCxuLmRlZmF1bHQpKEFycmF5LmZyb20odGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy52YWx1ZXMoKSkubWFwKChlPT5BcnJheS5mcm9tKGUua2V5cygpKSkpKS5maWx0ZXIoKGU9PiFpKGUpKSk6W107dGhpcy5fdW5sb2FkTGluZVRvb2xzKHIsKGU9PmUub3duZXJTb3VyY2UoKSE9PXMpLGUpfSkpfV9sb2FkQW5kTWVyZ2VMaW5lVG9vbHNXaXRob3V0U3ltYm9sKGUsdCxpKXtjb25zdCBzPXtyZXF1ZXN0VHlwZToibGluZVRvb2xzV2l0aG91dFN5bWJvbCIsc2VyaWVzU291cmNlSWQ6dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSxzaGFyaW5nTW9kZTplfSxuPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLG89KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UobikpLGE9dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQoby5pZCgpKTtyZXR1cm4gdGhpcy5fbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UocywoaT0+ewpjb25zdCBzPXQmJmE/QXJyYXkuZnJvbShhLmtleXMoKSkuZmlsdGVyKChlPT4haShlKSkpOltdO3RoaXMuX3VubG9hZExpbmVUb29scyhzLChlPT4hZS5ib3VuZFRvU3ltYm9sKCkmJmUub3duZXJTb3VyY2UoKT09PW4pLGUpfSksdm9pZCAwLGkpfV9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKXt0aGlzLl9oYXNDaGFuZ2VzLnNldFZhbHVlKHRoaXMuX3RyeVRvU2F2ZUNoYXJ0U3RhdGVNaWdyYXRpb25zT25jZT90aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuc2l6ZT4wfHx0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzLnNpemU+MHx8dGhpcy5fbWlncmF0ZWRTaGFyZWRMaW5lVG9vbHNEdXBsaWNhdGVzLnNpemU+MDpCKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyl8fEIodGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcyl8fHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcy5zaXplPjApfV9nZW5lcmF0ZU9yaWdpbigpe3JldHVybmAke3RoaXMuX29yaWdpbi5sYXlvdXRJZH0vJHt0aGlzLl9vcmlnaW4uY2hhcnRJZH0vJHt0aGlzLl9vcmlnaW4uY2xpZW50SWR9YH19ZnVuY3Rpb24gVihlKXtmb3IoY29uc3RbLHRdb2YgZSl0LnNhdmVkVG9DaGFydENvbnRlbnQ9ITB9ZnVuY3Rpb24gQihlKXtmb3IoY29uc3RbLHRdb2YgZSlpZighdC5zYXZlZFRvQ2hhcnRDb250ZW50KXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIE4oZSl7Zm9yKGNvbnN0Wyx0XW9mIGUpaWYodC5zYXZlZFRvQ2hhcnRDb250ZW50KXJldHVybiEwO3JldHVybiExfX0sMjkxODQzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzVGFibGVWaWV3QWxsb3dlZEZvclN5bWJvbDooKT0+bn0pO3ZhciBzPWkoNTgzMDM4KTtmdW5jdGlvbiBuKGUpe3JldHVybiFlfHwiRUNPTk9NSUNTIiE9PSgwLHMuc3BsaXRTeW1ib2xOYW1lKShlLmZ1bGxfbmFtZSlbMF19fSw3MjI1NzEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZDaGFydEFwaTooKT0+bGV9KTt2YXIgcz1pKDIwMzY4MSksbj1pKDU0Nzg1MSkscj1pKDIwNjY3Myksbz1pKDMwNDIyMSksYT1pKDgxNzM1MCksbD1pKDEzODYzOCksYz1pKDYwMTg0MSksaD1pKDIzMjM2NCksZD1pKDIyMTA2MSksdT1pKDc4MDk3NSkscD1pKDc3MzA4OCksXz1pKDkzMDIzMSksbT1pKDYwNjEwKSxnPWkoNDAzNiksZj1pKDUyMTMzMyksUz1pKDIxNzUyNyksdj1pKDc0Njk0OSkseT1pKDY2MTg1OCksYj1pKDM4NDAxNyksdz1pKDg4OTUxNSksQz1pKDc2ODc2MCksUD1pKDU4OTc0OSksVD1pKDExNjMxMCkseD1pKDQ3OTM0KSxNPWkoNTY5Mzk4KSxJPWkoODYyMjEzKSxMPWkoMTE3MzEzKSxBPWkoMTU2ODUwKSxrPWkoNjQwNzQ0KSxEPWkoNzgzMzQwKSxFPWkoOTMwMDQ1KSxSPWkoNDYzNDQ3KTtjb25zdCBWPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnQuU3R1ZGllcy5TdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSIse2NvbG9yOiIjNjA2In0pLEI9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5UcmFmZmljTWV0ZXIiLHttYXhDb3VudDoyMCxjb2xvcjoiIzI2OCJ9KSxOPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuQ29yZSIse2NvbG9yOiIjNzA2In0pLE89KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHtjb2xvcjoiIzcwNiJ9KSxXPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuQ2hhcnRTZXNzaW9uIix7aGlnaFJhdGU6ITAsbWF4Q291bnQ6MTAwLGNvbG9yOiIjNzA2In0pLEY9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHttYXhDb3VudDowLGNvbG9yOiIjNzA2In0pLEg9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHttYXhDb3VudDo1MCxjb2xvcjoiIzcwNiJ9KSx6PSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuUXVvdGVTZXNzaW9uIix7bWF4Q291bnQ6NTAsY29sb3I6IiM2NjAifSksVT0oMCxkLmdldExvZ2dlcikoIkNoYXJ0QXBpLlF1b3RlU2Vzc2lvbiIse2hpZ2hSYXRlOiEwLG1heENvdW50OjEwLGNvbG9yOiIjNjYwIn0pLEc9ISgwLEwuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSxqPSgwLE0uaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIikscT0oMCxNLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCIpO2xldCAkPSExLFk9ITEsSz0hMTtjb25zdCBYPVsiIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtmdW5jdGlvbiBaKGUpe2lmKDA9PT1lKXJldHVybiIwIjtjb25zdCB0PSgwLGsudG9JbnQpKE1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTAyNCkpKTtyZXR1cm4oZS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDIpK1hbdF19ZnVuY3Rpb24gSihlLHQpe3JldHVybmAke2V9X18ke3R9YH1mdW5jdGlvbiBRKGUsdCxpKXtjb25zdCBzPXRbaV0/PzA7dFtpXT1zK2V9Y29uc3QgZWU9US5iaW5kKG51bGwsMSksdGU9US5iaW5kKG51bGwsLTEpLGllPSgwLF8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpPyJzdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6InN0dWRpZXNfbWV0YWRhdGEiLHNlPSIvY2hhcnQtYXBpL3Byb19oYXNoIixuZT0oMCxfLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT8iL2NoYXJ0LWFwaS9zdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6Ii9jaGFydC1hcGkvc3R1ZGllc19tZXRhZGF0YSI7bGV0IHJlPW51bGw7ZnVuY3Rpb24gb2UoKXtpZihudWxsPT09cmUpe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tyZWx+PSJjb252ZXJzaW9ucy1jb25maWciXScpLHQ9bmV3IFVSTCgoMCxsLmVuc3VyZU5vdE51bGwpKGUpLmhyZWYpO3JlPSgwLGIuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQifSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgY29udmVyc2lvbnMgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO3JldHVybiBlLmpzb24oKQp9KSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsSS5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7cmV0dXJuIGUuY3VycmVuY2llcy5mb3JFYWNoKChlPT57dm9pZCAwIT09ZS5sb2dvaWQmJihlLmxvZ29Vcmw9dC5nZXRTeW1ib2xMb2dvVXJsKGUubG9nb2lkLEkuTG9nb1NpemUuTWVkaXVtKSl9KSksZX0pKX1yZXR1cm4gcmV9bGV0IGFlPW51bGw7Y2xhc3MgbGV7Y29uc3RydWN0b3IoZSl7dGhpcy5zZXNzaW9uaWQ9bnVsbCx0aGlzLl9iYW5JbmZvPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9hdXRoVG9rZW5EZmQ9bnVsbCx0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50PURhdGUubm93KCktcGVyZm9ybWFuY2Uubm93KCksdGhpcy5faW5pdENhY2hlUHJvbWlzZT0oMCxULmNyZWF0ZUpzb25TZXJpYWxpemFibGVDYWNoZSkoIlRWQ2hhcnRBcGkiKSx0aGlzLl90cmFmZmljU3RhdHM9e3RvdGFsOjAsc2luY2VDb25uZWN0OjAsbGFzdENodW5rOjB9LHRoaXMuX2xvd1F1YWxpdHlFbmFibGVkPSExLHRoaXMuX2Jyb2tlcklkPSIiLHRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50PTAsdGhpcy5fbW9kaWZ5U3R1ZHlNYXA9bmV3IE1hcCx0aGlzLl9kaXNjb25uZWN0Q291bnQ9MCx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsLHRoaXMuX2RhdGFIYW5kbGVNb2R1bGU9bmV3IEUuSlNPTkRhdGFIYW5kbGVyLHRoaXMuX3Nlc3Npb25zPXt9LHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzPXt9LHRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlPVtdLHRoaXMuX2xvYWROZXdCYXJzPSExLHRoaXMuX21ldGFkYXRhUmVxdWVzdE5leHROdW1iZXI9MSx0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXI9e30sdGhpcy5fc3R1ZHlDb3VudGVyPXt9LHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyPXt9LHRoaXMuX3N0dWR5U3BlY3M9bmV3IE1hcCx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnM9bmV3IE1hcCx0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVycz1uZXcgTWFwLHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlPW51bGwsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbj1lLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub25SZWNvbm5lY3QodGhpcy5fYmluZFNvY2tldEV2ZW50cy5iaW5kKHRoaXMpKSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNldExvZ2dlcihOLGQuZ2V0TG9nSGlzdG9yeSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5zZXRUZWxlbWV0cnkoQS50ZWxlbWV0cnkpLHRoaXMuX2JpbmRTb2NrZXRFdmVudHMoKSx0aGlzLl9pc05vbkNvdW50ZWRTdHVkeT0oKT0+ITAsd2luZG93Py5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fHRoaXMuX2VuYWJsZUxvd1F1YWxpdHlNb2RlKCksc2V0SW50ZXJ2YWwoKCgpPT57Qi5sb2dOb3JtYWwoIkxhc3QgMzAgc2Vjb25kczoiK1oodGhpcy5fdHJhZmZpY1N0YXRzLmxhc3RDaHVuaykrIiBTaW5jZSBsYXN0IGNvbm5lY3Q6IitaKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3QpKyIgVG90YWwgdHJhZmZpYzoiK1oodGhpcy5fdHJhZmZpY1N0YXRzLnRvdGFsKSksdGhpcy5fdHJhZmZpY1N0YXRzLmxhc3RDaHVuaz0wfSksM2U0KSx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5zdWJzY3JpYmUoKGU9PntlJiZ0aGlzLmRpc2Nvbm5lY3QoKX0pKX1jb25uZWN0KGUpe3RoaXMuX2Nvbm5lY3RPbmx5T3B0aW9ucz1lLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uaXNDb25uZWN0ZWQoKXx8dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RpbmcoKXx8dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5jb25uZWN0KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZGlzY29ubmVjdCgpfXNlbnRNZXRob2RzQ291bnRlcnMoKXtyZXR1cm4gdGhpcy5fc2VudE1ldGhvZHNDb3VudGVyc31yZWNlaXZlZE1ldGhvZHNDb3VudGVycygpe3JldHVybiB0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVyc31kZWZhdWx0UmVzb2x1dGlvbnMoKXtyZXR1cm4oMCxmLmdldERlZmF1bHRSZXNvbHV0aW9ucykoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIG9lKCkudGhlbigoZT0+ZS5jdXJyZW5jaWVzKSl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gb2UoKS50aGVuKChlPT57Y29uc3QgdD17fTtmb3IoY29uc3QgaSBvZiBlLnVuaXRzKXRbaS50eXBlXXx8KHRbaS50eXBlXT1bXSksdFtpLnR5cGVdLnB1c2goaSk7cmV0dXJuIHR9KSl9YXN5bmMgYXZhaWxhYmxlTWV0cmljcygpe3JldHVybiBmdW5jdGlvbigpe2lmKG51bGw9PT1hZSl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49Im1ldHJpY3MtY29uZmlnIl0nKSx0PW5ldyBVUkwoKDAsbC5lbnN1cmVOb3ROdWxsKShlKS5ocmVmKTthZT0oMCxiLmZldGNoKSh0LnRvU3RyaW5nKCkse21ldGhvZDoiR0VUIn0pLnRoZW4oKGFzeW5jIGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIG1ldHJpY3MgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIHQubWV0cmljc19mdWxsX25hbWU/LmZvckVhY2goKGU9Pntjb25zdCBpPXQubWV0cmljcy5maW5kKCh0PT50LmlkPT09ZS5pZCkpO2kmJihpLmRlc2NyaXB0aW9uPWUubmFtZSl9KSksdH0pKX1yZXR1cm4gYWV9KCkudGhlbigoZT0+ZS5tZXRyaWNzKSl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9c3VwcG9ydGVkU3ltYm9sc1R5cGVzKCl7Y29uc3QgZT13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyPz8iIgo7cmV0dXJuImJvdmVzcGEiPT09ZT95LmZpbHRlcigoZT0+WyIiLCJzdG9jayIsImZ1dHVyZXMiLCJpbmRleCJdLmluY2x1ZGVzKGUudmFsdWUpKSk6ImNtZSI9PT1lP3kuZmlsdGVyKChlPT5lLnZhbHVlIT09Uy50eXBlcy5RVUFOREwpKTp5fXN5bWJvbHNHcm91cGluZygpe3JldHVybntmdXR1cmVzOi9eKC4rPykoWzEyXSF8XHdcZHs0fSk/JC99fWNvbm5lY3RlZCgpe3JldHVybiEhdGhpcy5faXNDb25uZWN0ZWR9YXV0aFRva2VuTWFuYWdlcigpe3JldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fYXV0aFRva2VuTWFuYWdlcil9Y3JlYXRlU2Vzc2lvbihlLHQpe3RoaXMuX3Nlc3Npb25zW2VdPXQsdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV09e30sdGhpcy5jb25uZWN0ZWQoKSYmdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQmJnQub25NZXNzYWdlKHttZXRob2Q6dS5DaGFydEFwaU1lc3NhZ2VNZXRob2QuQ29ubmVjdGVkLHBhcmFtczpbXX0pfXJlbW92ZVNlc3Npb24oZSl7ZGVsZXRlIHRoaXMuX3Nlc3Npb25zW2VdLGRlbGV0ZSB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXX1kaXNjb25uZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fZGlzY29ubmVjdENvdW50fHwwfWdldFBpbmdJbmZvKCl7cmV0dXJuIHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UGluZ0luZm8oKX1jb25uZWN0aW9uQmFuSW5mbygpe3JldHVybiB0aGlzLl9iYW5JbmZvLnJlYWRvbmx5KCl9Y29ubmVjdGlvbnNMaW1pdFJlYWNoZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvbnNMaW1pdFJlYWNoZWQucmVhZG9ubHkoKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIE1hdGgucm91bmQodGhpcy5fc2VydmVyVGltZUJhc2VQb2ludCtwZXJmb3JtYW5jZS5ub3coKSl9Y29tcGVuc2F0ZUNvbm5lY3Rpb25MYWcoZSl7Y29uc3QgdD10aGlzLnNlcnZlclRpbWUoKSxpPU1hdGguZmxvb3IoZS10KTtpPjAmJih0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50Kz1pKX1zZXRCcm9rZXIoZSl7cmV0dXJuIGU9PT10aGlzLl9icm9rZXJJZHx8KHRoaXMuX2Jyb2tlcklkPWUsdGhpcy5fc2VuZEJyb2tlcklkVG9TZXNzaW9uKHRoaXMuX2Jyb2tlcklkKSl9Y2hhcnRDcmVhdGVTZXNzaW9uKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJjaGFydF9jcmVhdGVfc2Vzc2lvbiIsW2UsdF0pfWNoYXJ0RGVsZXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImNoYXJ0X2RlbGV0ZV9zZXNzaW9uIixbZV0pfXN3aXRjaFRpbWV6b25lKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJzd2l0Y2hfdGltZXpvbmUiLFtlLHRdKX1yZXNvbHZlU3ltYm9sKGUsdCxpLHMpe3JldHVybiBBLnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzWyJyZXNvbHZlX3N5bWJvbF8iK2VdPXdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhzLHQsITApLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXNvbHZlX3N5bWJvbCIsW2UsdCxpXSl9cmVxdWVzdEZpcnN0QmFyVGltZShlLHQsaSxzKXtyZXR1cm4gdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8ocyx0LCEwKSx0aGlzLl9zZW5kUmVxdWVzdCgiZ2V0X2ZpcnN0X2Jhcl90aW1lIixbZSx0LGldKX1jcmVhdGVTZXJpZXMoZSx0LGkscyxuLHIsbyxhKXtBLnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzLm1hcmtzLnB1c2goImNyZWF0ZV9zZXJpZXNfIitlKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhhLHQpO2NvbnN0IGw9bnVsbD09PW8/IiI6KDAscC5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKG8sITApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3NlcmllcyIsW2UsdCxpLHMsbixyLGxdKX1yZW1vdmVTZXJpZXMoZSx0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZW1vdmVfc2VyaWVzIixbZSx0XSl9bW9kaWZ5U2VyaWVzKGUsdCxpLHMsbixyLG8sYSl7dGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8oYSx0KTtjb25zdCBsPW51bGw9PT1vPyIiOigwLHAuY29udmVydFRpbWVGcmFtZVRvU3RyKShvLCEwKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9zZXJpZXMiLFtlLHQsaSxzLG4sbF0pfWdldFN0dWR5Q291bnRlcihlKXtyZXR1cm4gdGhpcy5fc3R1ZHlDb3VudGVyW2VdPz8wfWdldEZ1bmRhbWVudGFsQ291bnRlcihlKXtyZXR1cm4gdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyW2VdPz8wfWdldENoaWxkU3R1ZHlDb3VudGVyKGUpe3JldHVybiB0aGlzLl9jaGlsZFN0dWR5Q291bnRlcltlXT8/MH1yZXF1ZXN0TW9yZURhdGEoZSx0LGkscyl7aWYodm9pZCAwPT09aXx8dm9pZCAwPT09cyl0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJlcXVlc3QgdG8gbG9hZCBtb3JlIGRhdGEsIGJhcnM9IitpKTtjb25zdCBuPXQ7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW25dPW5ldyBSLkhhbmRsZXJJbmZvKHMsbiksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfbW9yZV9kYXRhIixbZSxuLGldKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQsaSxzKXtyZXR1cm4gcyYmKHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBSLkhhbmRsZXJJbmZvKHMsdCkpLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X21vcmVfdGlja21hcmtzIixbZSx0LGldKX1zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUsdCl7dGhpcy5fc2VuZFJlcXVlc3QoInNldF9mdXR1cmVfdGlja21hcmtzX21vZGUiLFtlLHRdKX1yZXF1ZXN0RGF0YVByb2JsZW1zKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlfHwodGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9dGhpcy5jb25uZWN0RGZkLnRoZW4oKCgpPT5uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrPXQsCnRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X2RhdGFfcHJvYmxlbXMiLFtdKT90aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYj1lOnQoKX0pKSkpLmZpbmFsbHkoKCgpPT57dGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9bnVsbH0pKSksdGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2V9YXN5bmMgcmVxdWVzdE1ldGFkYXRhKCl7cmV0dXJuIG51bGw9PT10aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSYmKHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPSgwLEMuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlLnByb21pc2UuZmluYWxseSgoKCk9Pnt0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsfSkpLHRoaXMuX3JlcXVlc3RNZXRhZGF0YSgpKSx0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZS5wcm9taXNlfWFsbFN0dWRpZXNNZXRhZGF0YSgpe3Rocm93IG5ldyBFcnJvcigiVGhpcyBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkIil9c2V0TG9hZE5ldyhlKXt0aGlzLl9sb2FkTmV3QmFycz0hIWV9c2V0SXNOb25Db3VudGVkU3R1ZHlGbihlKXt0aGlzLl9pc05vbkNvdW50ZWRTdHVkeT1lfWNhbkNyZWF0ZVN0dWR5KGUsdCxpKXtjb25zdHtpZDpzLGNoaWxkOm4sZnVuZGFtZW50YWw6cixmb3JlY2FzdDpvLHN0dWJUaXRsZTphfT10LGM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCx4LmdldENvbmZpZykoIlNUVURZX09OX1NUVURZIikpLmNoaWxkX2xpbWl0O2lmKG4mJighKDAseC5lbmFibGVkKSgiU1RVRFlfT05fU1RVRFkiKXx8KHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyW2VdPz8wKT49YykpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJjaGlsZCIsbGltaXRWYWx1ZTpjfTtpZihpKXJldHVybntzdWNjZXNzOiEwfTtpZihvJiYhKDAseC5lbmFibGVkKSgiRlVOREFNRU5UQUxTX0ZPUkVDQVNUIikpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJmb3JlY2FzdCIsc2NyaXB0TmFtZTphfTtjb25zdCBoPSgwLGwuZW5zdXJlTm90TnVsbCkoKDAseC5nZXRDb25maWcpKCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiKSkubGltaXQ7aWYociYmKCEoMCx4LmVuYWJsZWQpKCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiKXx8dGhpcy5nZXRGdW5kYW1lbnRhbENvdW50ZXIoZSk+PWgpKXJldHVybntzdWNjZXNzOiExLHJlYXNvbjoiZnVuZGFtZW50YWwiLGxpbWl0VmFsdWU6aH07Y29uc3QgZD0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLHguZ2V0Q29uZmlnKSgiSU5ESUNBVE9SU19PTl9DSEFSVCIpKS5saW1pdDtyZXR1cm4gcnx8dGhpcy5faXNOb25Db3VudGVkU3R1ZHkocyl8fCgwLHguZW5hYmxlZCkoIklORElDQVRPUlNfT05fQ0hBUlQiKSYmISh0aGlzLmdldFN0dWR5Q291bnRlcihlKT49ZCk/e3N1Y2Nlc3M6ITB9OntzdWNjZXNzOiExLHJlYXNvbjoiZ2VuZXJhbCIsbGltaXRWYWx1ZTpkfX1jcmVhdGVTdHVkeShlLHQsaSxzLG4scixvLGEpe2NvbnN0IGw9dGhpcy5jYW5DcmVhdGVTdHVkeShlLGEpO3JldHVybiBsLnN1Y2Nlc3N8fCJjaGlsZCIhPT1sLnJlYXNvbj8odGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8obyx0KSx0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3N0dWR5IixbZSx0LGkscyxuLHJdKSxhLmZ1bmRhbWVudGFsP2VlKHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcixlKTp0aGlzLl9pc05vbkNvdW50ZWRTdHVkeShhLmlkKXx8ZWUodGhpcy5fc3R1ZHlDb3VudGVyLGUpLGEuY2hpbGQmJmVlKHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyLGUpLHRoaXMuX3N0dWR5U3BlY3Muc2V0KEooZSx0KSxhKSwhMCk6KCgwLHcuc2hvd1Rvb01hbnlTdHVkaWVzTm90aWNlKShsLmxpbWl0VmFsdWUpLCExKX1tb2RpZnlTdHVkeShlLHQsaSxzLHIsbyl7UShvPW8/PzAsdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXIsZSksMCE9PW8mJigoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KEooZSx0KSkpLmNoaWxkPW8+MCksdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8ocix0KTtjb25zdCBhPWUrdDtpZih0aGlzLl9tb2RpZnlTdHVkeU1hcC5oYXMoYSkpe3JldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGEpKShlLHQsaSxzKT8/ITB9e2NvbnN0IHI9KDAsbi5kZWZhdWx0KSgoKGUsdCxpLHMpPT50aGlzLl9zZW5kUmVxdWVzdCgibW9kaWZ5X3N0dWR5IixbZSx0LGksc10pKSw1MDAse21heFdhaXQ6NTUwfSk7cmV0dXJuIHRoaXMuX21vZGlmeVN0dWR5TWFwLnNldChhLHIpLHIoZSx0LGkscyk/PyEwfX1ub3RpZnlTdHVkeShlLHQsaSxzKXtyZXR1cm4gTi5sb2dOb3JtYWwoYFNlbmQgbm90aWZ5X3N0dWR5LCBbJHtlfSwgJHt0fSwgJHtpfSwgJHtKU09OLnN0cmluZ2lmeShzKX1dYCksdGhpcy5fc2VuZFJlcXVlc3QoIm5vdGlmeV9zdHVkeSIsW2UsdCxpLEpTT04uc3RyaW5naWZ5KHMpXSl9cmVtb3ZlU3R1ZHkoZSx0KXtjb25zdCBpPWUrdDtkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGkpPy5mbHVzaCgpO2NvbnN0IHM9dGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zdHVkeSIsW2UsdF0pO2lmKCExPT09cylyZXR1cm4hMTt0aGlzLl9tb2RpZnlTdHVkeU1hcC5kZWxldGUoaSk7Y29uc3Qgbj1KKGUsdCkscj0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KG4pKTtyZXR1cm4gdGhpcy5fc3R1ZHlTcGVjcy5kZWxldGUobiksci5mdW5kYW1lbnRhbD90ZSh0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXIsZSk6dGhpcy5faXNOb25Db3VudGVkU3R1ZHkoci5pZCl8fHRlKHRoaXMuX3N0dWR5Q291bnRlcixlKSxyLmNoaWxkJiZ0ZSh0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSxzfWNyZWF0ZVBvaW50c2V0KGUsdCxpLHMsbixyLG8pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhvLHQpLAp0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3BvaW50c2V0IixbZSx0LGkscyxuLHJdKX1tb2RpZnlQb2ludHNldChlLHQsaSxzLG4pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhuLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJtb2RpZnlfcG9pbnRzZXQiLFtlLHQsaSxzXSl9cmVtb3ZlUG9pbnRzZXQoZSx0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZW1vdmVfcG9pbnRzZXQiLFtlLHRdKX1nZXRNYXJrcyhlLHQsaSxzLG4pe3Rocm93IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1nZXRUaW1lc2NhbGVNYXJrcyhlLHQsaSxzLG4pe3Rocm93IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1xdW90ZUNyZWF0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9jcmVhdGVfc2Vzc2lvbiIsW2VdKX1xdW90ZURlbGV0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9kZWxldGVfc2Vzc2lvbiIsW2VdKX1xdW90ZUFkZFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2FkZF9zeW1ib2xzIixbZSx0XSl9cXVvdGVSZW1vdmVTeW1ib2xzKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9yZW1vdmVfc3ltYm9scyIsW2UsdF0pfXF1b3RlRmFzdFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2Zhc3Rfc3ltYm9scyIsW2UsdF0pfXF1b3RlU2V0RmllbGRzKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9zZXRfZmllbGRzIixbZSx0XSl9cXVvdGVIaWJlcm5hdGVBbGwoZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9oaWJlcm5hdGVfYWxsIixbZV0pfWRlcHRoQ3JlYXRlU2Vzc2lvbihlLHQsaSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9jcmVhdGVfc2Vzc2lvbiIsW2UsdCxpXSl9ZGVwdGhEZWxldGVTZXNzaW9uKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfZGVsZXRlX3Nlc3Npb24iLFtlXSl9ZGVwdGhTZXRTeW1ib2woZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX3NldF9zeW1ib2wiLFtlLHRdKX1kZXB0aENsZWFyU3ltYm9sKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfY2xlYXJfc3ltYm9sIixbZV0pfWRlcHRoU2V0U2NhbGUoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX3NldF9zY2FsZSIsW2UsdF0pfXVucGFjayhlKXtyZXR1cm4gdGhpcy5fZGF0YUhhbmRsZU1vZHVsZS51bnBhY2soZSl9c2VuZFJlcXVlc3QoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoZSx0KX1zZXRWaXNpYmxlVGltZVJhbmdlKCl7dGhyb3cgbmV3IEVycm9yKCJzZXRWaXNpYmxlVGltZVJhbmdlIGlzIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZCIpfV9pbml0KCl7dGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnM9e30sdGhpcy5fc3R1ZHlDb3VudGVyPXt9LHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyPXt9LHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcj17fSx0aGlzLl9tb2RpZnlTdHVkeU1hcD1uZXcgTWFwfV9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oZSl7MD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZ0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyJiYhdGhpcy5fYXV0aFRva2VuTWFuYWdlci5jdXJyZW50VG9rZW5Jc1ZhbGlkKCkmJihOLmxvZ0luZm8oZSksdGhpcy5fYXV0aFRva2VuTWFuYWdlci5yZXNldCgpKX1fc2VuZFJlcXVlc3QoZSx0KXtyZXR1cm4gcSYmdGhpcy5fY2hlY2tBdXRoVG9rZW5FeHBpcmF0aW9uKCJBdXRoVG9rZW4gaW52YWxpZGF0aW9uIGRldGVjdGVkIG9uIHNlbmRpbmcgYSBtZXNzYWdlLCByZXF1ZXN0aW5nIG5ldyB0b2tlbiIpLDAhPT10aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudD8odGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWUucHVzaCh7bWV0aG9kOmUsYXJnczp0fSksITApOnRoaXMuX3NlbmRSZXF1ZXN0SW1wbChlLHQpfV9zZW5kUmVxdWVzdEltcGwoZSx0KXtjb25zdCBpPXRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuZ2V0KGUpPz8wO3RoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuc2V0KGUsaSsxKTtjb25zdCBuPXRoaXMuX2RhdGFIYW5kbGVNb2R1bGVbZV0uYXBwbHkodGhpcy5fZGF0YUhhbmRsZU1vZHVsZSx0KSxsPXttOmUscDooMCxzLmRlZmF1bHQpKG4pfSxoPWwubS5pbmNsdWRlcygic3R1ZHkiKSYmbC5wWzVdO2gmJmZ1bmN0aW9uKGUpe2lmKCEoMCxjLmlzT2JqZWN0KShlKSlyZXR1cm4hMTtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhlKSl7Y29uc3QgaT1lW3RdO2lmKCEoKDAsYy5pc09iamVjdCkoaSl8fCgwLG8uZGVmYXVsdCkoaSl8fCgwLHIuZGVmYXVsdCkoaSl8fCgwLGEuZGVmYXVsdCkoaSkpKXJldHVybiExfXJldHVybiEwfShoKSYmInRleHQiaW4gaCYmKGgudGV4dD1oLnRleHQuc2xpY2UoMCwxMCkpO2NvbnN0IGQ9SlNPTi5zdHJpbmdpZnkobCk7aWYobi5sZW5ndGg+MCl7Y29uc3QgZT1uWzBdO2Uuc3RhcnRzV2l0aCgicXNfIik/ei5sb2dOb3JtYWwoInNlbmQ6ICIrZCk6ZS5zdGFydHNXaXRoKCJjc18iKSYmTy5sb2dOb3JtYWwoInNlbmQ6ICIrZCw0MDk2KX1lbHNlIE4ubG9nTm9ybWFsKCJzZW5kOiAiK2QpO2NvbnN0IHU9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRW5jb2RlTWVzc2FnZShlLG4pO3JldHVybiB0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNlbmQodSl9X29uQ29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGVkKCkpcmV0dXJuO2lmKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3Q9MCx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zfHx7fSwKdGhpcy5fYXV0aFRva2VuRGZkPXRoaXMuX2dldEF1dGhUb2tlbkRmZCh0aGlzLl9jb25uZWN0T25seU9wdGlvbnMudG9rZW5HcmFiU2Vzc2lvbiksdGhpcy5fY29ubmVjdE9ubHlPcHRpb25zPXt9LHRoaXMuc2Vzc2lvbmlkPXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0U2Vzc2lvbklkKCksIXRoaXMuc2Vzc2lvbmlkfHx0aGlzLl9pc0Nvbm5lY3RlZClyZXR1cm47dGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W10sdGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQ9MCx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyPXt9LHRoaXMuX3N0dWR5U3BlY3MuY2xlYXIoKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMCx0aGlzLl9iYW5JbmZvLnNldFZhbHVlKG51bGwpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnNldFZhbHVlKCExKTtjb25zdCBlPUpTT04ucGFyc2UodGhpcy5zZXNzaW9uaWQpO3RoaXMuX3NlbmRMb3dRdWFsaXR5TW9kZUlmRW5hYmxlZCgpLHRoaXMuX21ldGFkYXRhU2VydmVySGFzaD1lLnN0dWRpZXNfbWV0YWRhdGFfaGFzaHx8bnVsbDtjb25zdCB0PXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvbkVzdGFibGlzaGVkKCk7dHJ5e3RoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9TWF0aC5yb3VuZChlLnRpbWVzdGFtcE1zLXQpfWNhdGNoKGUpe3RoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9RGF0ZS5ub3coKS1wZXJmb3JtYW5jZS5ub3coKX1pZihOLmxvZ0luZm8oIlRpbWUgc2hpZnQgd2l0aCBzZXJ2ZXI6ICIrdGhpcy5fZm9ybWF0VGltZSh0aGlzLnNlcnZlclRpbWUoKS1EYXRlLm5vdygpKSksdGhpcy5fYXV0aFRva2VuRGZkKXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCs9MSxOLmxvZ0luZm8oIldhaXQgZm9yIGF1dGggdG9rZW4gYmVmb3JlIHNlbmQgbWVzc2FnZXMiKTtjb25zdCBlPXRoaXMuX2F1dGhUb2tlbkRmZDtlLnRoZW4oKHQ9PntpZihudWxsIT09dGhpcy5fYXV0aFRva2VuRGZkJiZ0aGlzLl9hdXRoVG9rZW5EZmQ9PT1lKXtpZihOLmxvZ05vcm1hbCgiQXV0aCB0b2tlbiByZXF1ZXN0IGlzIGZpbmlzaGVkLCB0b2tlbjogIitCb29sZWFuKHQpKSx0aGlzLl9hdXRoVG9rZW5EZmQ9bnVsbCx0KXtjb25zdCBlPVt7bWV0aG9kOiJzZXRfYXV0aF90b2tlbiIsYXJnczpbdF19XTtpZihHKXtjb25zdCB0PXdpbmRvdy5pbml0RGF0YSYmd2luZG93LmluaXREYXRhLmN1cnJlbnRMb2NhbGVJbmZvO3QmJmUucHVzaCh7bWV0aG9kOiJzZXRfbG9jYWxlIixhcmdzOlt0Lmlzbyx0LmZsYWcudG9VcHBlckNhc2UoKV19KX10aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS51bnNoaWZ0KC4uLmUpfXRoaXMuX29uU2VuZGluZ1F1ZXVlUmVxdWVzdEZpbmlzaGVkKCksdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQ9ITAsdGhpcy5fbm90aWZ5U2Vzc2lvbnMoe21ldGhvZDp1LkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5Db25uZWN0ZWQscGFyYW1zOltdfSl9ZWxzZSBOLmxvZ05vcm1hbCgiQ29tZXMgYXV0aCB0b2tlbiBhZnRlciByZXF1ZXN0aW5nIG5ldyB0b2tlbiBvciBhZnRlciBzb2NrZXQgZGlzY29ubmVjdGVkIil9KSkuY2F0Y2goKGU9PntOLmxvZ05vcm1hbCgoMCxQLmVycm9yVG9TdHJpbmcpKGUpKX0pKX1lbHNlIE4ubG9nV2FybigiRGVmZXJyZWQgYXV0aCB0b2tlbiBvYmplY3QgaXMgbm90IHZhbGlkIiksdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQ9ITA7IiIhPT10aGlzLl9icm9rZXJJZCYmdGhpcy5fc2VuZEJyb2tlcklkVG9TZXNzaW9uKHRoaXMuX2Jyb2tlcklkKTtjb25zdCBpPXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvblN0YXJ0KCk7QS50ZWxlbWV0cnkuc2V0U2Vzc2lvbkluZm8odGhpcy5zZXNzaW9uaWQpLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2Nvbm5lY3RlZCIpLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOnQtaX0pLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgicmVjb25uZWN0X2NvdW50X2ZyYW1lIix7dmFsdWU6dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRSZWNvbm5lY3RDb3VudCgpfSksQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWRpcmVjdF9jb3VudF9mcmFtZSIse3ZhbHVlOnRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UmVkaXJlY3RDb3VudCgpfSksJHx8KCQ9ITAsQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOml9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5yZXNldENvdW50ZXJzKCksY2xlYXJUaW1lb3V0KHRoaXMuX3RlbGVtZXRyeURpc2Nvbm5lY3RUaW1lb3V0KX1fZm9ybWF0VGltZShlKXtyZXR1cm5gJHsoZS8xZTMpLnRvRml4ZWQoMil9IHNlY29uZHMuYH1fZGlzcGF0Y2hOb3RpZmljYXRpb24oZSx0KXtpZigicmVxdWVzdF9kYXRhX3Byb2JsZW1zIj09PWUubWV0aG9kJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYilyZXR1cm4gdm9pZCB0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYihlLnBhcmFtcyk7aWYoZS5tZXRob2Q9PT1ELldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuU3R1ZGllc01ldGFkYXRhJiZudWxsIT09dGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpcmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc2VkTWV0YWRhdGEoZSk7Y29uc3QgaT1lLnBhcmFtcy5zaGlmdCgpO2lmKCF0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tpXSlyZXR1cm47aWYoInN5bWJvbF9yZXNvbHZlZCI9PT1lLm1ldGhvZCl7Y29uc3QgdD1lLnBhcmFtc1sxXS5mdWxsX25hbWU7QS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfcmVzb2x2ZWQiLHtjb3VudDoxLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pO2NvbnN0IHM9QS50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllc1sicmVzb2x2ZV9zeW1ib2xfIitpXQo7Im51bWJlciI9PXR5cGVvZiBzJiZBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoInN5bWJvbF9yZXNvbHZlX3RpbWVfZnJhbWUiLHt2YWx1ZTp3aW5kb3cucGVyZm9ybWFuY2Uubm93KCktcyxhZGRpdGlvbmFsOntzeW1ib2w6dH19KX1pZihbInNlcmllc19lcnJvciIsInNlcmllc19jb21wbGV0ZWQiXS5pbmNsdWRlcyhlLm1ldGhvZCkmJkEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3MubGVuZ3RoPjApe2NvbnN0IGU9ImNyZWF0ZV9zZXJpZXNfIitpLHQ9QS50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5pbmRleE9mKGUpO3Q+PTAmJkEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3Muc3BsaWNlKHQsMSl9S3x8InNlcmllc19lcnJvciIhPT1lLm1ldGhvZHx8KEs9ITApO2NvbnN0IHM9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKTtpZihudWxsIT09cyYmInNlcmllc19jb21wbGV0ZWQiPT09ZS5tZXRob2QmJihLfHwoSz0hMCxBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImZpcnN0X3Nlcmllc19mdWxsX3RpbWVfZnJhbWUiLHt2YWx1ZTp3aW5kb3cucGVyZm9ybWFuY2Uubm93KCktc30pLEEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3M9W10pLFl8fChZPSEwLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgicGFnZV9mdWxsX2xvYWRfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX0pKSksaS5zdGFydHNXaXRoKCJjc18iKSl7bGV0IGk9InJlY3Y6ICIrdDsiZGF0YV91cGRhdGUiPT09ZS5tZXRob2Q/KGk9KDAsZC5pc0hpZ2hSYXRlRW5hYmxlZCkoKT9pOmkuc2xpY2UoMCw1MDApLFcubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSkpOiJzdHVkeV9sb2FkaW5nIj09PWUubWV0aG9kP0YubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSk6InRpY2ttYXJrX3VwZGF0ZSI9PT1lLm1ldGhvZD9ILmxvZ05vcm1hbCh0aGlzLl9hcHBlbmREdXJhdGlvbihpLGUudGltZSkpOk8ubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSl9aWYoaS5zdGFydHNXaXRoKCJxc18iKSl7KCJxdW90ZV9zeW1ib2xfZGF0YSI9PT1lLm1ldGhvZD9VLmxvZ05vcm1hbDp6LmxvZ05vcm1hbCkoInJlY3Y6ICIrdCl9c3dpdGNoKGUubWV0aG9kKXtjYXNlIEQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5UaW1lU2NhbGVVcGRhdGU6e2NvbnN0IHQ9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXRUaW1lc2NhbGVPYmplY3RzKGUpLHM9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSksbj10aGlzLl9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2Uocyk7dGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKHttZXRob2Q6RC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZSxwYXJhbXM6bn0pLHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUucHJlcGFyZURhdGFVcGRhdGVPYmplY3RzKGksdCwoKGUsdCxpKT0+e3RoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoZSx0LGkpfSkpO2JyZWFrfWNhc2UidGlja21hcmtfdXBkYXRlIjpjb25zdCB0PXsuLi50aGlzLl9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZS5wYXJhbXNbMF0pLGNoYW5nZXM6W119O3RoaXMuX3Nlc3Npb25zW2ldLm9uTWVzc2FnZSh7bWV0aG9kOkQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5UaW1lU2NhbGVVcGRhdGUscGFyYW1zOnR9KTticmVhaztjYXNlIEQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlOntjb25zdCB0PXRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuZ2V0RGF0YVVwZGF0ZU9iamVjdHMoZSk7dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRGF0YVVwZGF0ZU9iamVjdHMoaSx0LCgoZSx0LGkpPT57dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQsaSl9KSk7YnJlYWt9Y2FzZSJpbmRleF91cGRhdGUiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWlmKGUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpKXtjb25zdCBzPXttZXRob2Q6ImluZGV4X3VwZGF0ZSIscGFyYW1zOmUucGFyYW1zWzBdW3RdfTt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGksdCxzKX1icmVhaztjYXNlIEQuV2ViY2hhcnRSZXNwb25zZU1ldGhvZC5Dcml0aWNhbEVycm9yOk4ubG9nSW5mbyhuZXcgRGF0ZSsiIGNyaXRpY2FsX2Vycm9yIHNlc3Npb246Iit0aGlzLnNlc3Npb25pZCsiIHJlYXNvbjoiK2UucGFyYW1zWzBdKSxBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImNyaXRpY2FsX2Vycm9yIiksdGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKHttZXRob2Q6RC5XZWJjaGFydFJlc3BvbnNlTWV0aG9kLkNyaXRpY2FsRXJyb3IscGFyYW1zOmUucGFyYW1zfSk7YnJlYWs7Y2FzZSJ0aW1lc2NhbGVfY29tcGxldGVkIjpjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjpjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpjYXNlInF1b3RlX2NvbXBsZXRlZCI6Y2FzZSJkZXB0aF9zeW1ib2xfZXJyb3IiOmNhc2UiZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiOmNhc2UiZGQiOmNhc2UiZHB1IjpjYXNlImRlcHRoX2Jhcl9sYXN0X3ZhbHVlIjp0aGlzLl9zZXNzaW9uc1tpXS5vbk1lc3NhZ2Uoe21ldGhvZDplLm1ldGhvZCxwYXJhbXM6ZS5wYXJhbXN9KTticmVhaztjYXNlImNsZWFyX2RhdGEiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGksdCx7bWV0aG9kOkQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5DbGVhckRhdGEscGFyYW1zOmUucGFyYW1zWzBdW3RdfSk7YnJlYWs7Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheVBvaW50OmNhc2UgRC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlSZXNvbHV0aW9uczoKY2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheURhdGFFbmQ6Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheUluc3RhbmNlSWQ6Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheURlcHRoOmNhc2UgRC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlFcnJvcjpjYXNlIEQuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5T2s6dGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKGUpO2JyZWFrO2Nhc2Uic2VyaWVzX3RpbWVmcmFtZSI6Y29uc3Qgcz1lLnBhcmFtc1s0XTtlLnBhcmFtc1s0XT1udWxsPT1zP251bGw6KDAscC5jb252ZXJ0U3RyVG9UaW1lRnJhbWUpKHMpLHRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKTticmVhaztjYXNlInN5bWJvbF9yZXNvbHZlZCI6IWZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUuY29ycmVjdGlvbnMpe2NvbnN0IHQ9KGUuc3Vic2Vzc2lvbnM/P1tdKS5maW5kKCh0PT50LmlkPT09ZS5zdWJzZXNzaW9uX2lkKSk7dm9pZCAwIT09dCYmKGUuY29ycmVjdGlvbnM9dFsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pfX0oZS5wYXJhbXNbMV0pLHRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKTticmVhaztkZWZhdWx0OnRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKX19X25vdGlmeVNlc3Npb25zKGUpe2Zvcihjb25zdCB0IGluIHRoaXMuX3Nlc3Npb25zKWlmKHRoaXMuX3Nlc3Npb25zLmhhc093blByb3BlcnR5KHQpKXtjb25zdCBpPXRoaXMuX3Nlc3Npb25zW3RdOyJmdW5jdGlvbiI9PXR5cGVvZiBpLm9uTWVzc2FnZSYmaS5vbk1lc3NhZ2UoZSl9fV9vbk1lc3NhZ2UoZSl7cSYmdGhpcy5fY2hlY2tBdXRoVG9rZW5FeHBpcmF0aW9uKCJBdXRoVG9rZW4gaW52YWxpZGF0aW9uIGRldGVjdGVkIG9uIHJlY2VpdmluZyBhIG1lc3NhZ2UsIHJlcXVlc3RpbmcgbmV3IHRva2VuIiksdGhpcy5fY2FsY1RyYWZmaWNTdGF0cyhlKTtjb25zdCB0PXRoaXMudW5wYWNrKGUpO3RoaXMuX3JlY2VpdmVkTWV0aG9kc0NvdW50ZXJzLnNldCh0Lm1ldGhvZCwodGhpcy5fcmVjZWl2ZWRNZXRob2RzQ291bnRlcnMuZ2V0KHQubWV0aG9kKT8/MCkrMSksInRfbXMiaW4gdCYmKDAsci5kZWZhdWx0KSh0LnRfbXMpJiZ3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb21wZW5zYXRlQ29ubmVjdGlvbkxhZyh0LnRfbXMpLCJwcm90b2NvbF9zd2l0Y2hlZCIhPT10Lm1ldGhvZD8icHJvdG9jb2xfZXJyb3IiIT09dC5tZXRob2Q/dGhpcy5fZGlzcGF0Y2hOb3RpZmljYXRpb24odCxlKTp0aGlzLl9wcm9jZXNzUHJvdG9jb2xFcnJvcih0KTpOLmxvZ0Vycm9yKCJVbmV4cGVjdGVkIHByb3RvY29sIGNoYW5naW5nIHJlcXVlc3QsIHRyeSBza2lwcGluZy4gUmVxdWVzdGVkIHByb3RvY29sOiIrdC5wYXJhbXNbMF0pfWFzeW5jIF9wcm9jZXNzZWRNZXRhZGF0YShlKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpLGk9YXdhaXQgdGhpcy5faW5pdENhY2hlUHJvbWlzZSxuPXdpbmRvdy5wcm8uaGFzaCgpLHI9KDAsXy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik7dHJ5e2F3YWl0IGkuc2V0VmFsdWUobmUsKDAscy5kZWZhdWx0KShlKSk7Y29uc3Qgbz1BcnJheS5mcm9tKG5ldyBTZXQoZS5wYXJhbXNbMV0ubWV0YWluZm8ubWFwKChlPT57cmV0dXJuYCR7KHQ9KDAsZy5wYXJzZUlkU3RyaW5nKShlLmlkKSkucGFja2FnZUlkfS0ke3QudmVyc2lvbn1gO3ZhciB0fSkpKSk7aWYoTi5sb2dOb3JtYWwoYFVwZGF0ZWQgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgdW5pcXVlIHBhY2thZ2UgaWRzOiAke28uam9pbigiLCAiKX1gKSwhcil0cnl7YXdhaXQgaS5zZXRWYWx1ZShzZSwoMCxzLmRlZmF1bHQpKG4pKSxOLmxvZ05vcm1hbCgiVXBkYXRlZCBwcm9faGFzaCBjYWNoZSIpfWNhdGNoKGUpe3QucmVqZWN0KCksTi5sb2dFcnJvcigiQ2Fubm90IHVwZGF0ZSBwcm9faGFzaCBjYWNoZSwgcmVhc29uOiAiK2UpfX1jYXRjaChlKXt0LnJlamVjdCgpLE4ubG9nRXJyb3IoIkNhbm5vdCB1cGRhdGUgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgcmVhc29uOiAiK2UpfXQucmVzb2x2ZSgoMCxzLmRlZmF1bHQpKGUpKX1faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQsaSl7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3Qgcz10aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XTt2b2lkIDAhPT1zJiYocy5zaW5nbGVTaG90JiZkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0scy5oYW5kbGVyPy4oaSkpfV9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZSl7cmV0dXJuIHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuY29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpfV9hcHBlbmREdXJhdGlvbihlLHQpe3JldHVybiB0P2Ake2V9LCBkdXJhdGlvbjogJHt0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLTFlMyp0KX1gOmV9YXN5bmMgX3JlcXVlc3RNZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fbWFrZU5leHRSZXF1ZXN0SWQoKTtWLmxvZ05vcm1hbChgUmVxdWVzdGluZyBtZXRhaW5mbyAjJHtlfWApO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSksaT13aW5kb3cucHJvLG49aS5oYXNoKCkscj0oMCxfLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtOLmxvZ05vcm1hbCgiUmVxdWVzdGluZyBwcm8gaGFzaCIpO3RyeXtjb25zdCBvPWF3YWl0IHRoaXMuX2luaXRDYWNoZVByb21pc2U7YXdhaXQgby5taWdyYXRlVmFsdWUoInByb19oYXNoIixzZSksYXdhaXQgby5taWdyYXRlVmFsdWUoaWUsbmUpO2NvbnN0IGE9YXdhaXQgby5nZXRWYWx1ZShzZSk7aWYobnVsbCE9PWEmJmE9PT1ufHxyKXtOLmxvZ05vcm1hbCgiUHJvIGhhc2ggaGFzIG5vdCBjaGFuZ2VkLCByZXF1ZXN0aW5nIGZyb20gbG9jYWwiKQo7Y29uc3Qgcj1hd2FpdCBvLmdldFZhbHVlKG5lKSxhPW51bGwhPT1yJiZyLnBhcmFtc1sxXS5oYXNofHxudWxsO2lmKG51bGw9PT1hfHxudWxsPT09dGhpcy5fbWV0YWRhdGFTZXJ2ZXJIYXNofHx0aGlzLl9tZXRhZGF0YVNlcnZlckhhc2ghPT1hKU4ubG9nTm9ybWFsKGBNZXRhZGF0YSBoYXNoIGhhcyBjaGFuZ2VkIChjYWNoZWQ6ICcke2F9Jywgc2VydmVyOiAnJHt0aGlzLl9tZXRhZGF0YVNlcnZlckhhc2h9JylgKSx0aGlzLl9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpO2Vsc2V7aWYoIWkuaGFzUGFja2FnZSgidHYtdm9sdW1lYnlwcmljZSIpfHx2b2lkIDAhPT1yLnBhcmFtc1sxXS5tZXRhaW5mby5maW5kKChlPT5lLmlkLmluY2x1ZGVzKCJAdHYtdm9sdW1lYnlwcmljZSIpKSkpcmV0dXJuIE4ubG9nTm9ybWFsKCJVc2luZyBzdHVkaWVzX21ldGFkYXRhIGZyb20gYnJvd3NlciBjYWNoZSIpLHZvaWQgdC5yZXNvbHZlKCgwLHMuZGVmYXVsdCkocikpO04ubG9nTm9ybWFsKGBEZS1zeW5jIGRldGVjdGVkISBwcm8uaGFzaCBjb250YWlucyBWYlBSIHN0dWRpZXMsIGJ1dCBkYXRhIGZyb20gY2FjaGUgZG9lc24ndCBhbmQgcHJvLmhhc2ggaXNuJ3QgY2hhbmdlZCwgcHJvLmhhc2g9JHtufWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl9fWVsc2UgTi5sb2dOb3JtYWwoYFBybyBoYXNoIGhhcyBjaGFuZ2VkIChjYWNoZWQ6ICcke2F9JywgY3VycmVudDogJyR7bn0nKWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl9Y2F0Y2godCl7Ti5sb2dFcnJvcigiQ2Fubm90IGdldCBzdHVkaWVzX21ldGFkYXRhLCByZWFzb246ICIrdCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX1maW5hbGx5e1YubG9nTm9ybWFsKGBSZXF1ZXN0aW5nIHN0dWRpZXMgbWV0YWRhdGEgIyR7ZX0gZmluaXNoZWRgKX19X21ha2VOZXh0UmVxdWVzdElkKCl7cmV0dXJuIm1ldGFkYXRhXyIrdGhpcy5fbWV0YWRhdGFSZXF1ZXN0TmV4dE51bWJlcisrfV9wcm9jZXNzUHJvdG9jb2xFcnJvcihlKXtjb25zdCB0PWUucGFyYW1zWzBdO04ubG9nRXJyb3IoYFByb3RvY29sIGVycm9yLiBSZWFzb249JHt0fS5gKSwiYmFubmVkIiE9PXQmJiJiYW5uZWQgYnkgdXNlcl9pZCIhPT10JiYiYmFubmVkIGJ5IGlwIiE9PXR8fCh0aGlzLl9iYW5JbmZvLnNldFZhbHVlKHtyZWFzb246dH0pLHRoaXMuZGlzY29ubmVjdCgpKSx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5zZXRWYWx1ZSgidXNlciBjb25uZWN0aW9ucyBsaW1pdCByZWFjaGVkIj09PXQpfV9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpe3JldHVybiBOLmxvZ05vcm1hbCgiUmVxdWVzdCBzdHVkaWVzX21ldGFkYXRhIGZyb20gc2VydmVyIiksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3Rfc3R1ZGllc19tZXRhZGF0YSIsW2VdKX1fYmluZFNvY2tldEV2ZW50cygpe3RoaXMuY29ubmVjdERmZD1uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLm9uKCJjb25uZWN0IiwoKCk9Pnt0aGlzLl9vbkNvbm5lY3QoKSxlKCl9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vbigibWVzc2FnZSIsdGhpcy5fb25NZXNzYWdlLmJpbmQodGhpcykpLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub24oImRpc2Nvbm5lY3QiLCgoKT0+e3RoaXMuX2F1dGhUb2tlbkRmZCYmKHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsKSx0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrKCksdGhpcy5faXNDb25uZWN0ZWQ9ITEsdGhpcy5fbm90aWZ5U2Vzc2lvbnMoe21ldGhvZDp1LkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5EaXNjb25uZWN0ZWQscGFyYW1zOltdfSksdGhpcy5fYmFuSW5mby52YWx1ZSgpfHwodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2U9bnVsbCksdGhpcy5fZGlzY29ubmVjdENvdW50PSh0aGlzLl9kaXNjb25uZWN0Q291bnR8fDApKzEsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RlZCgpJiYodGhpcy5fdGVsZW1ldHJ5RGlzY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCgoKCk9PntBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImRpc2Nvbm5lY3QiKX0pLDVlMyksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc01heFJlY29ubmVjdHMoKSYmKHRoaXMuX25vdGlmeVNlc3Npb25zKHttZXRob2Q6dS5DaGFydEFwaU1lc3NhZ2VNZXRob2QuUmVjb25uZWN0QmFpbG91dCxwYXJhbXM6W119KSx0KCksQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfYmFpbG91dCIpKSl9KSl9KSl9X2NhbGNUcmFmZmljU3RhdHMoZSl7Y29uc3QgdD1lLmxlbmd0aDt0aGlzLl90cmFmZmljU3RhdHMudG90YWwrPXQsdGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCs9dCx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKz10fV9zZW5kQnJva2VySWRUb1Nlc3Npb24oZSl7cmV0dXJuIWp8fHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfYnJva2VyIixbZV0pfV9lbmFibGVMb3dRdWFsaXR5TW9kZSgpe04ubG9nTm9ybWFsKCJsb3cgcXVhbGl0eSBtb2RlIGlzIGVuYWJsZWQiKSx0aGlzLl9sb3dRdWFsaXR5RW5hYmxlZD0hMCx0aGlzLl9zZW5kTG93UXVhbGl0eU1vZGVJZkVuYWJsZWQoKX1fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCl7dGhpcy5fbG93UXVhbGl0eUVuYWJsZWQmJnRoaXMuY29ubmVjdGVkKCkmJnRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfZGF0YV9xdWFsaXR5IixbXSl9X2dldEF1dGhUb2tlbkRmZChlKXtpZih0aGlzLl9sb2FkTmV3QmFycylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJsb2FkX25ld190b2tlbiIpO2lmKCgwLF8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwtMSE9PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIil8fC0xIT09d2luZG93LmxvY2F0aW9uLmhhc2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIikpe2NvbnN0IGU9d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiCjtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZbZV18fCJ3aWRnZXRfdXNlcl90b2tlbiIpfWlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJ1bmF1dGhvcml6ZWRfdXNlcl90b2tlbiIpO2lmKCF0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyKXtjb25zdCBlPXRoaXMuX2F1dGhUb2tlbk1hbmFnZXI9bmV3IG0uQXV0aFRva2VuO2UuaW52YWxpZGF0ZWQuc3Vic2NyaWJlKG51bGwsKGFzeW5jKCk9Pnt0cnl7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQrPTE7Y29uc3QgdD1hd2FpdCBlLmdldCgpO2lmKCF0KXJldHVybiB2b2lkIE4ubG9nSW5mbygiQXV0aFRva2VuIGludmFsaWRhdGVkLCBidXQgbmV3IHRva2VuIGlzIGVtcHR5Iik7aWYoIXRoaXMuY29ubmVjdGVkKCkpcmV0dXJuIHZvaWQgTi5sb2dJbmZvKGBBdXRoVG9rZW4gaW52YWxpZGF0ZWQsIGJ1dCBzb2NrZXQgaXMgbm90IGNvbm5lY3RlZC4gVG9rZW46ICR7dH1gKTtOLmxvZ0luZm8oIkF1dGhUb2tlbiBpbnZhbGlkYXRlZCwgcmVmcmVzaGluZyB0b2tlbiBhbmQgcmVzZW5kaW5nIHRvIHNlc3Npb24iKSx0aGlzLl9zZW5kUmVxdWVzdEltcGwoInNldF9hdXRoX3Rva2VuIixbdF0pfWNhdGNoKGUpe3Rocm93IE4ubG9nRXJyb3IoYEZhaWxlZCB0byByZWZyZXNoIGF1dGggdG9rZW4gYWZ0ZXIgaW52YWxpZGF0aW9uOiAkeygwLFAuZXJyb3JUb1N0cmluZykoZSl9YCksZX1maW5hbGx5e3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50LT0xLDA9PT10aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCYmZS5jdXJyZW50VG9rZW5Jc1ZhbGlkKCkmJnRoaXMuX2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl9fSkpfXJldHVybiB0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLmdldChlKX1fb25TZW5kaW5nUXVldWVSZXF1ZXN0RmluaXNoZWQoKXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudC09MSxOLmxvZ0luZm8oYFNlbmRpbmcgcXVldWUgcmVxdWVzdCBmaW5pc2hlZC4gUmVtYWluaW5nIHBlbmRpbmcgcmVxdWVzdHM9JHt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudH1gKSx0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudDwwJiZOLmxvZ0Vycm9yKGBJbnZhbGlkIHF1ZXVlIHN0YXRlPSR7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnR9YCksMD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZ0aGlzLl9mbHVzaFBlbmRpbmdNZXNzYWdlcygpfV9mbHVzaFBlbmRpbmdNZXNzYWdlcygpe04ubG9nSW5mbyhgRmx1c2ggcGVuZGluZyBtZXNzYWdlcy4gQ291bnQ9JHt0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5sZW5ndGh9YCksdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWUuZm9yRWFjaCgoZT0+dGhpcy5fc2VuZFJlcXVlc3QoZS5tZXRob2QsZS5hcmdzKSkpLHRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlPVtdfX0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5DaGFydEFwaUluc3RhbmNlPW5ldyBsZSh3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbikpfSw2ODI4MjIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7U3Vic2Vzc2lvbklkOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5SZWd1bGFyPSJyZWd1bGFyIixlLkV4dGVuZGVkPSJleHRlbmRlZCIsZS5QcmVNYXJrZXQ9InByZW1hcmtldCIsZS5Qb3N0TWFya2V0PSJwb3N0bWFya2V0IixlLlR3ZW50eUZvdXJIb3VyPSIyNGgiLGUuTmlnaHQ9Im5pZ2h0In0oc3x8KHM9e30pKX0sNDc3MTU1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FjdGlvbldpdGhTdGFuZGFyZEljb246KCk9PnJ9KTt2YXIgcz1pKDUwOTA0KSxuPWkoNjEzODgxKTtjbGFzcyByIGV4dGVuZHMgcy5BY3Rpb257Y29uc3RydWN0b3IoZSl7Y29uc3R7b3B0aW9uczp0LGN1c3RvbUFjdGlvbk9wdGlvbnM6aX09ZTt0Lmljb25JZCYmKHQuaWNvbj10Lmljb24/P24uaWNvbnMuZ2V0KHQuaWNvbklkKSksaSYmaS5pY29uSWQmJihpLmljb249aS5pY29uPz9uLmljb25zLmdldChpLmljb25JZCkpLHN1cGVyKGUpfX19LDUwOTA0KGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse0FjdGlvbjooKT0+YyxMb2FkZXI6KCk9PmQsU2VwYXJhdG9yOigpPT5ofSksZnVuY3Rpb24oZSl7ZS5Ob3JtYWw9Im5vcm1hbCIsZS5CaWc9ImJpZyJ9KHN8fChzPXt9KSk7dmFyIG49aSgxMzg2MzgpLHI9aSgyMzU3MjQpLG89aSgxNTAxNTApLGE9aSg5NDgzODApO2NsYXNzIGwgZXh0ZW5kcyBhLkRlbGVnYXRle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fb25TdGFydExpc3RlbmluZz1udWxsLHRoaXMuX29uU3RvcExpc3RlbmluZz1udWxsLHRoaXMuX29uU3RhcnRMaXN0ZW5pbmc9ZXx8bnVsbH1zdWJzY3JpYmUoZSx0LGkpe2NvbnN0IHM9MD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGg7c3VwZXIuc3Vic2NyaWJlKGUsdCxpKSxzJiZ0aGlzLl9saXN0ZW5lcnMubGVuZ3RoPjAmJnRoaXMuX29uU3RhcnRMaXN0ZW5pbmcmJih0aGlzLl9vblN0b3BMaXN0ZW5pbmc9dGhpcy5fb25TdGFydExpc3RlbmluZygpKX11bnN1YnNjcmliZShlLHQpe2NvbnN0IGk9MD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGg7c3VwZXIudW5zdWJzY3JpYmUoZSx0KSwhaSYmMD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGgmJnRoaXMuX29uU3RvcExpc3RlbmluZyYmKHRoaXMuX29uU3RvcExpc3RlbmluZygpLHRoaXMuX29uU3RvcExpc3RlbmluZz1udWxsKX11bnN1YnNjcmliZUFsbChlKXtjb25zdCB0PTA9PT10aGlzLl9saXN0ZW5lcnMubGVuZ3RoO3N1cGVyLnVuc3Vic2NyaWJlQWxsKGUpLCF0JiYwPT09dGhpcy5fbGlzdGVuZXJzLmxlbmd0aCYmdGhpcy5fb25TdG9wTGlzdGVuaW5nJiYodGhpcy5fb25TdG9wTGlzdGVuaW5nKCksdGhpcy5fb25TdG9wTGlzdGVuaW5nPW51bGwpfWRlc3Ryb3koKXt0aGlzLl9vblN0b3BMaXN0ZW5pbmcmJih0aGlzLl9vblN0b3BMaXN0ZW5pbmcoKSx0aGlzLl9vblN0b3BMaXN0ZW5pbmc9bnVsbCksc3VwZXIuZGVzdHJveSgpfX1jbGFzcyBje2NvbnN0cnVjdG9yKGUpe3RoaXMudHlwZT0iYWN0aW9uIiwKdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2xvYWRPcHRpb25zUHJvbWlzZT1udWxsLHRoaXMuX2N1c3RvbUFjdGlvbj1udWxsO2NvbnN0e2FjdGlvbklkOnQsb3B0aW9uczppLG9wdGlvbnNMb2FkZXI6cyxjdXN0b21BY3Rpb25PcHRpb25zOnIsY3VzdG9tQWN0aW9uT3B0aW9uc0xvYWRlcjphLGlkOmg9by5ndWlkKCksb25TdGFydExpc3RlbmluZzpkfT1lOygwLG4uYXNzZXJ0KSh2b2lkIDAhPT10LCJhY3Rpb25JZCBtdXN0IGJlIGRlZmluZWQiKSx0aGlzLmlkPWgsdGhpcy5fb25VcGRhdGU9bmV3IGwoZCksdGhpcy5fb3B0aW9ucz17YWN0aW9uSWQ6dCwuLi5pfSx0aGlzLnVwZGF0ZShpKSx0aGlzLl9sb2FkT3B0aW9uc0dldHRlcj1zPz9udWxsLHRoaXMuX2xvYWRPcHRpb25zR2V0dGVyJiYodGhpcy5fb3B0aW9ucy5sb2FkaW5nPSEwKSxyJiYodGhpcy5fY3VzdG9tQWN0aW9uPW5ldyBjKHthY3Rpb25JZDp0LG9wdGlvbnM6cixvcHRpb25zTG9hZGVyOmEsaWQ6aH0pKX1jdXN0b20oKXtyZXR1cm4gdGhpcy5fY3VzdG9tQWN0aW9ufWV4ZWN1dGUoKXt0aGlzLl9vcHRpb25zLmNoZWNrYWJsZSYmdGhpcy51cGRhdGUoe2NoZWNrZWQ6IXRoaXMuX29wdGlvbnMuY2hlY2tlZH0pLHRoaXMuX29wdGlvbnMub25FeGVjdXRlJiZ0aGlzLl9vcHRpb25zLm9uRXhlY3V0ZSh0aGlzKX1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmxhYmVsfHwiIn1nZXRTdWJJdGVtcygpe3JldHVybiB0aGlzLl9vcHRpb25zLnN1Ykl0ZW1zfHxbXX1pc0Rpc2FibGVkKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmRpc2FibGVkfWlzQWN0aXZlKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmFjdGl2ZX1pc0NoZWNrYWJsZSgpe3JldHVybiEwPT09dGhpcy5fb3B0aW9ucy5jaGVja2FibGV9aXNDaGVja2VkKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmNoZWNrZWR9aXNMb2FkaW5nKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmxvYWRpbmd9bG9hZE9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlP3RoaXMuX2xvYWRPcHRpb25zUHJvbWlzZTp0aGlzLl9sb2FkT3B0aW9uc0dldHRlcj8odGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlPXRoaXMuX2xvYWRPcHRpb25zR2V0dGVyKCkudGhlbigoZT0+dGhpcy51cGRhdGUoey4uLmUsbG9hZGluZzohMX0pKSksdGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlKTpudWxsfWdldFNpemUoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5zaXplPz8ibm9ybWFsIn1nZXRQYXlsb2FkKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucGF5bG9hZH11cGRhdGUoZSl7dGhpcy5fZGVzdHJveWVkfHwodGhpcy5fdW5iaW5kU2hvcnRjdXQoKSxlLmhvdGtleUhhc2gmJih0aGlzLl9vcHRpb25zLnNob3J0Y3V0SGludD0oMCxyLmh1bWFuUmVhZGFibGVIYXNoKShlLmhvdGtleUhhc2gpKSx0aGlzLl9vcHRpb25zPU9iamVjdC5hc3NpZ24odGhpcy5fb3B0aW9ucyxlKSx0aGlzLl9iaW5kU2hvcnRjdXQoKSx0aGlzLl9vblVwZGF0ZS5maXJlKHRoaXMpKX1vblVwZGF0ZSgpe3JldHVybiB0aGlzLl9vblVwZGF0ZX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLmxvYWRPcHRpb25zKCkse2FjdGlvbklkOnRoaXMuX29wdGlvbnMuYWN0aW9uSWQsbGFiZWw6dGhpcy5nZXRMYWJlbCgpLHN0eWxlZExhYmVsOnRoaXMuX29wdGlvbnMuc3R5bGVkTGFiZWwsZGlzYWJsZWQ6dGhpcy5pc0Rpc2FibGVkKCksYWN0aXZlOnRoaXMuaXNBY3RpdmUoKSxzdWJJdGVtczp0aGlzLmdldFN1Ykl0ZW1zKCksY2hlY2thYmxlOnRoaXMuaXNDaGVja2FibGUoKSxjaGVja2VkOnRoaXMuaXNDaGVja2VkKCksbG9hZGluZzp0aGlzLmlzTG9hZGluZygpLHNpemU6dGhpcy5nZXRTaXplKCksZG9Ob3RDbG9zZU9uQ2xpY2s6dGhpcy5fb3B0aW9ucy5kb05vdENsb3NlT25DbGlja3x8ITEsc2hvcnRjdXRIaW50OnRoaXMuX29wdGlvbnMuc2hvcnRjdXRIaW50LGhpbnQ6dGhpcy5fb3B0aW9ucy5oaW50LGljb246dGhpcy5fb3B0aW9ucy5pY29uLGljb25JZDp0aGlzLl9vcHRpb25zLmljb25JZCxpY29uQ2hlY2tlZDp0aGlzLl9vcHRpb25zLmljb25DaGVja2VkLHRvb2xib3g6dGhpcy5fb3B0aW9ucy50b29sYm94LHNob3dUb29sYm94T25Ib3Zlcjp0aGlzLl9vcHRpb25zLnNob3dUb29sYm94T25Ib3Zlcnx8ITEsc3RhdE5hbWU6dGhpcy5fb3B0aW9ucy5zdGF0TmFtZSxuYW1lOnRoaXMuX29wdGlvbnMubmFtZSxpbnZpc2libGVIb3RrZXk6dGhpcy5fb3B0aW9ucy5pbnZpc2libGVIb3RrZXksbm9JbnRlcmFjdGl2ZTp0aGlzLl9vcHRpb25zLm5vSW50ZXJhY3RpdmUsanN4TGFiZWw6ImpzeExhYmVsImluIHRoaXMuX29wdGlvbnM/dGhpcy5fb3B0aW9ucy5qc3hMYWJlbDp2b2lkIDAsaXNSZXBlYXRBY2NlcHRlZDp0aGlzLl9vcHRpb25zLmlzUmVwZWF0QWNjZXB0ZWR9fWRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fb25VcGRhdGUuZGVzdHJveSgpLHRoaXMuX3VuYmluZFNob3J0Y3V0KCksdGhpcy5fb3B0aW9ucy5vbkRlc3Ryb3k/LigpLHRoaXMuX2N1c3RvbUFjdGlvbj8uZGVzdHJveSgpfW9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fb3B0aW9uc31fYmluZFNob3J0Y3V0KCl7aWYoIXRoaXMuX29wdGlvbnMuaG90a2V5R3JvdXB8fCF0aGlzLl9vcHRpb25zLmhvdGtleUhhc2gpcmV0dXJuO2NvbnN0IGU9InN0cmluZyI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmxhYmVsP3RoaXMuX29wdGlvbnMubGFiZWw6dGhpcy5fb3B0aW9ucy5uYW1lO3RoaXMuX2hvdGtleUFjdGlvbj10aGlzLl9vcHRpb25zLmhvdGtleUdyb3VwLmFkZCh7aG90a2V5OnRoaXMuX29wdGlvbnMuaG90a2V5SGFzaCxpc1JlcGVhdEFjY2VwdGVkOnRoaXMuX29wdGlvbnMuaXNSZXBlYXRBY2NlcHRlZCxkZXNjOmUsaGFuZGxlcjooKT0+dGhpcy5leGVjdXRlKCksaXNEaXNhYmxlZDooKT0+dGhpcy5pc0Rpc2FibGVkKCl9KX1fdW5iaW5kU2hvcnRjdXQoKXt0aGlzLl9ob3RrZXlBY3Rpb24mJih0aGlzLl9ob3RrZXlBY3Rpb24uZGVzdHJveSgpLGRlbGV0ZSB0aGlzLl9ob3RrZXlBY3Rpb24pfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpewp0aGlzLnR5cGU9InNlcGFyYXRvciIsdGhpcy5pZD1vLmd1aWQoKSx0aGlzLl9oaW50PWV9Z2V0SGludCgpe3JldHVybiB0aGlzLl9oaW50fX1jbGFzcyBkIGV4dGVuZHMgY3tjb25zdHJ1Y3RvcihlKXtzdXBlcih7YWN0aW9uSWQ6ZSxvcHRpb25zOnt9fSl9aXNMb2FkaW5nKCl7cmV0dXJuITB9Z2V0U2l6ZSgpe3JldHVybiJiaWcifX19LDYxMzg4MShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtpY29uczooKT0+eH0pLGZ1bmN0aW9uKGUpe2UuQ2hhcnRTaG93RGF0YVdpbmRvdz0iQ2hhcnQuU2hvd0RhdGFXaW5kb3ciLGUuQ2hhcnRSZXNldD0iQ2hhcnQuUmVzZXQiLGUuQ2hhcnRSZW1vdmVTZWxlY3RlZE9iamVjdD0iQ2hhcnQuUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLGUuU2V0dGluZ3M9IlNldHRpbmdzIixlLkNoYXJ0SGlkZT0iQ2hhcnQuSGlkZSIsZS5DaGFydFN5bWJvbEluZm89IkNoYXJ0LlN5bWJvbEluZm8iLGUuQ2hhcnRGaW5hbmNpYWxzPSJDaGFydC5GaW5hbmNpYWxzIixlLkNoYXJ0VGVjaG5pY2Fscz0iQ2hhcnQuVGVjaG5pY2FscyIsZS5DaGFydERldGFpbHNNZXRyaWNzPSJDaGFydC5EZXRhaWxzTWV0cmljcyIsZS5DaGFydFNlYXNvbmFscz0iQ2hhcnQuU2Vhc29uYWxzIixlLkNoYXJ0QW5hbHlzaXM9IkNoYXJ0LkFuYWx5c2lzIixlLkNoYXJ0U3RvY2tCb25kcz0iQ2hhcnQuU3RvY2tCb25kcyIsZS5DaGFydEZvcndhcmRDdXJ2ZT0iQ2hhcnQuRm9yd2FyZEN1cnZlIixlLkNoYXJ0RGVyaXZhdGl2ZXM9IkNoYXJ0LkRlcml2YXRpdmVzIixlLkNoYXJ0TmV3c0RpYWxvZz0iQ2hhcnQuTmV3c0RpYWxvZyIsZS5DaGFydENvbnRyYWN0cz0iQ2hhcnQuQ29udHJhY3RzIixlLkNoYXJ0Rm9yZWNhc3Q9IkNoYXJ0LkZvcmVjYXN0IixlLkNoYXJ0T3B0aW9ucz0iQ2hhcnQuT3B0aW9ucyIsZS5DaGFydERvY3VtZW50cz0iQ2hhcnQuRG9jdW1lbnRzIixlLkNoYXJ0RXRmcz0iQ2hhcnQuRXRmcyIsZS5DaGFydEVjb25vbXlJZGljYXRvcnM9IkNoYXJ0LkVjb25vbXlJbmRpY2F0b3JzIixlLkFsZXJ0QWRkPSJBbGVydC5BZGQiLGUuQWxlcnRFZGl0PSJBbGVydC5FZGl0IixlLkFsZXJ0UmVzdGFydD0iQWxlcnQuUmVzdGFydCIsZS5BbGVydFN0b3A9IkFsZXJ0LlN0b3AiLGUuQWxlcnRGaXJlc0Rvd25sb2FkPSJBbGVydC5GaXJlc0Rvd25sb2FkIixlLkNsZWFyQWxsPSJBbGVydC5DbGVhciIsZS5DaGFydFZpc3VhbE9yZGVyPSJDaGFydC5WaXN1YWxPcmRlciIsZS5DaGFydFNob3dPYmplY3Q9IkNoYXJ0LlNob3dPYmplY3QiLGUuQ2hhcnRQcmljZVNjYWxlPSJDaGFydC5QcmljZVNjYWxlIixlLkNoYXJ0TW92ZT0iQ2hhcnQuTW92ZSIsZS5DaGFydEFwcGx5SW5kaWNhdG9yPSJDaGFydC5BcHBseUluZGljYXRvciIsZS5DaGFydFVubG9ja09iamVjdD0iQ2hhcnQuVW5sb2NrT2JqZWN0IixlLkNoYXJ0TG9ja09iamVjdD0iQ2hhcnQuTG9ja09iamVjdCIsZS5DaGFydEFuY2hvckxpbmVUb29sPSJDaGFydC5BbmNob3JMaW5lVG9vbCIsZS5DaGFydEluc2VydFJvd1RhYmxlPSJDaGFydC5JbnNlcnRSb3dUYWJsZSIsZS5DaGFydEluc2VydENvbHVtblRhYmxlPSJDaGFydC5JbnNlcnRDb2x1bW5UYWJsZSIsZS5DaGFydFJlbW92ZVJvd1RhYmxlPSJDaGFydC5SZW1vdmVSb3dUYWJsZSIsZS5DaGFydFJlbW92ZUNvbHVtblRhYmxlPSJDaGFydC5SZW1vdmVDb2x1bW5UYWJsZSIsZS5DaGFydENsb25lPSJDaGFydC5DbG9uZSIsZS5DaGFydEFkZEhvcnpMaW5lPSJDaGFydC5BZGRIb3J6TGluZSIsZS5XYXRjaGxpc3RBZGRTeW1ib2w9IldhdGNobGlzdC5BZGRTeW1ib2wiLGUuV2F0Y2hsaXN0Q3JlYXRlTmV3PSJXYXRjaGxpc3QuQ3JlYXRlTmV3IixlLlRleHROb3RlQWRkPSJUZXh0Tm90ZS5BZGQiLGUuVHJhZGluZ1NlbGw9IlRyYWRpbmcuU2VsbCIsZS5UcmFkaW5nQnV5PSJUcmFkaW5nLkJ1eSIsZS5UcmFkaW5nQWRkT3JkZXI9IlRyYWRpbmcuQWRkT3JkZXIiLGUuT2JqZWN0c1RyZWVDcmVhdGVHcm91cD0iT2JqZWN0c1RyZWUuQ3JlYXRlR3JvdXAiLGUuT2JqZWN0c1RyZWVSZW5hbWVJdGVtPSJPYmplY3RzVHJlZS5SZW5hbWVJdGVtIixlLkluZGljYXRvckFkZFRvRmF2b3JpdGVzPSJJbmRpY2F0b3IuQWRkVG9GYXZvcml0ZXMifShzfHwocz17fSkpO3ZhciBuPWkoMTkwMzU1KSxyPWkoNjA5MDk2KSxvPWkoODEyMDg0KSxhPWkoNTE0MjE2KSxsPWkoMzc0MTYpLGM9aSgyMTUyOTIpLGg9aSg3NTYyODgpLGQ9aSg1NzYxMDMpLHU9aSg1NzAzNjIpLHA9aSg5NTc4NDYpLF89aSgzMTIzMDYpLG09aSgzNjk5MjQpLGc9aSg4NTQzOTkpLGY9aSg1OTE5NjkpLFM9aSg1MjI4ODkpLHY9aSg3MDkwMDkpLHk9aSgxMDE2MyksYj1pKDYzNTE3OSksdz1pKDk0Njk0MiksQz1pKDgwNzU2MyksUD1pKDU1ODk3OSk7bGV0IFQ9W1siQ2hhcnQuUmVzZXQiLENdLFsiQ2hhcnQuUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLFBdLFsiU2V0dGluZ3MiLHddLFsiQ2hhcnQuSGlkZSIsaSgyMzAyNTIpXSxbIkNoYXJ0LlN5bWJvbEluZm8iLGkoNzY5NzUyKV0sWyJDaGFydC5WaXN1YWxPcmRlciIsaSg3NjMzMTYpXSxbIkNoYXJ0LlNob3dPYmplY3QiLGkoNTE4NjcpXSxbIkNoYXJ0LlByaWNlU2NhbGUiLGkoMjE0MTg2KV0sWyJDaGFydC5Nb3ZlIixpKDYzMTk2MyldLFsiQ2hhcnQuQXBwbHlJbmRpY2F0b3IiLGkoMjkwMDQ0KV0sWyJDaGFydC5VbmxvY2tPYmplY3QiLGkoODY3MTc0KV0sWyJDaGFydC5Mb2NrT2JqZWN0IixpKDc2NTM1MyldLFsiQ2hhcnQuQW5jaG9yTGluZVRvb2wiLGkoNjk3MDg1KV0sWyJDaGFydC5JbnNlcnRSb3dUYWJsZSIsaSg3MTMxNDApXSxbIkNoYXJ0Lkluc2VydENvbHVtblRhYmxlIixpKDM4NzYzOCldLFsiQ2hhcnQuUmVtb3ZlUm93VGFibGUiLFBdLFsiQ2hhcnQuUmVtb3ZlQ29sdW1uVGFibGUiLFBdLFsiQ2hhcnQuQ2xvbmUiLGkoOTM3MjEpXSxbIkNoYXJ0LkFkZEhvcnpMaW5lIixpKDgxNjk1MyldLFsiSW5kaWNhdG9yLkFkZFRvRmF2b3JpdGVzIixiXV0KO1Q9VC5jb25jYXQoW1siVGV4dE5vdGUuQWRkIixkXSxbIldhdGNobGlzdC5BZGRTeW1ib2wiLGhdLFsiV2F0Y2hsaXN0LkNyZWF0ZU5ldyIsaF0sWyJDaGFydC5GaW5hbmNpYWxzIix1XSxbIkNoYXJ0LlRlY2huaWNhbHMiLHBdLFsiQWxlcnQuQWRkIixfXSxbIkFsZXJ0LkVkaXQiLG1dLFsiQWxlcnQuUmVzdGFydCIsZl0sWyJBbGVydC5TdG9wIixTXSxbIkFsZXJ0LkZpcmVzRG93bmxvYWQiLGddLFsiQWxlcnQuQ2xlYXIiLHZdLFsiQ2hhcnQuRGV0YWlsc01ldHJpY3MiLHldXSksVD1ULmNvbmNhdChbWyJDaGFydC5TaG93RGF0YVdpbmRvdyIsbl0sWyJUcmFkaW5nLlNlbGwiLHJdLFsiVHJhZGluZy5CdXkiLG9dLFsiVHJhZGluZy5BZGRPcmRlciIsYV0sWyJPYmplY3RzVHJlZS5DcmVhdGVHcm91cCIsbF0sWyJPYmplY3RzVHJlZS5SZW5hbWVJdGVtIixjXSxbIldhdGNobGlzdC5BZGRTeW1ib2wiLGhdXSk7Y29uc3QgeD1uZXcgTWFwKFQpfSwzNTY0MzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKCl7cmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMzkxODIpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDg4NDgzKSxpLmUoNjc3OSksaS5lKDU5NjQ5KSxpLmUoNDc3MjMpXSkudGhlbihpLmJpbmQoaSw1NzUyNjIpKX1pLmQodCx7YWN0aW9uc1Byb3ZpZGVyTW9kdWxlOigpPT5zfSl9LDQ4MzAxNihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtkZWZhdWx0Q2hhcnRXaWRnZXRBY3Rpb25zT3B0aW9uczooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuQ29weT0iQ29weSJ9KHN8fChzPXt9KSk7Y29uc3Qgbj17Z2VuZXJhbDohMCxtYWluU2VyaWVzOiEwLG1haW5TZXJpZXNUcmFkZTohMSxlc2RTdHVkaWVzOiEwLHN0dWRpZXM6ITAsZnVuZGFtZW50YWxzOiEwLGxpbmVUb29sczohMCxwdWJsaXNoZWRDaGFydHM6ITAsb3JkZXJzQW5kUG9zaXRpb25zOiEwLGFsZXJ0czohMCxjaGFydEV2ZW50czohMCxvYmplY3RUcmVlOiEwLGdvdG9MaW5lVG9vbDohMX19LDI4MmUzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NsaXBib2FyZERhdGFGb3JTb3VyY2VzOigpPT5sLGlzTGluZVRvb2xDbGlwYm9hcmREYXRhOigpPT5hfSk7dmFyIHM9aSgxMzg2MzgpLG49aSg3MDQ1NzIpLHI9aSg5NTY0MzcpLG89aSg4ODE5Mik7ZnVuY3Rpb24gYShlKXtyZXR1cm4iZHJhd2luZyI9PT1lLnR5cGV9ZnVuY3Rpb24gbChlLHQpe2lmKDE9PT10Lmxlbmd0aCYmKDAsci5pc1N0dWR5KSh0WzBdKSl7Y29uc3QgZT10WzBdO3JldHVybnt0aXRsZTplLnRpdGxlKG4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpLHNvdXJjZXM6W3tzb3VyY2U6KDAscy5lbnN1cmVOb3ROdWxsKShlLnN0YXRlKCkpLHR5cGU6InN0dWR5In1dfX1jb25zdCBpPXtzb3VyY2VzOltdLHRpdGxlOiIifTtyZXR1cm4gaS5zb3VyY2VzPXQuZmlsdGVyKChlPT5lLmNvcGlhYmxlKCkmJigwLG8uaXNMaW5lVG9vbCkoZSkpKS5tYXAoKHQ9Pntjb25zdCBpPXt0eXBlOiJkcmF3aW5nIixnZW9tZXRyeTp0Lmdlb21ldHJ5KCksc291cmNlOnsuLi50LnN0YXRlKCExKSxwb2ludHM6dC5ub3JtYWxpemVkUG9pbnRzKCl9LG1vZGVsSWQ6ZX07cmV0dXJuIGRlbGV0ZSBpLnNvdXJjZS5hbGVydElkLGl9KSksaS5zb3VyY2VzLmxlbmd0aD4wPygxPT09aS5zb3VyY2VzLmxlbmd0aD9pLnRpdGxlPXRbMF0udGl0bGUobi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSk6aS50aXRsZT0iRHJhd2luZ3MiLGkpOm51bGx9fSwxNTEyMShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthZGRFeGNsdXNpb25BcmVhOigpPT5QLGFkZEV4Y2x1c2lvbkFyZWFCeVNjb3BlOigpPT5DLGNhbGNUZXh0SG9yaXpvbnRhbFNoaWZ0OigpPT5iLGNsZWFyUmVjdDooKT0+XyxjcmVhdGVCb3VuZENhbnZhczooKT0+dixjcmVhdGVEaXNjb25uZWN0ZWRDYW52YXM6KCk9PmcsY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzQnlSZW5kZXJpbmdJbmZvOigpPT5mLGRpc2FibGVTZWxlY3Rpb246KCk9PncsZHJhd1NjYWxlZDooKT0+bSxkcmF3V2l0aEV4Y2x1c2lvbkFyZWFCeVNjb3BlOigpPT5ULGZpbGxSZWN0OigpPT5wLGdldEJpbmRpbmdSZW5kZXJpbmdJbmZvOigpPT5oLGdldENvbnRleHQyRDooKT0+ZCxnZXRQcmVzY2FsZWRDb250ZXh0MkQ6KCk9PnUsbWVhc3VyZVRleHQ6KCk9Pk0sdHJ5QXBwbHlTdWdnZXN0ZWRDYW52YXNCaXRtYXBTaXplOigpPT55fSk7dmFyIHM9aSg5MTg3NzkpLG49aSgxMzg2MzgpLHI9aSg4NzE3MCksbz1pKDgyMjcyNiksYT1pKDk2OTE2OCksbD1pKDMxODk3NCk7ZnVuY3Rpb24gYyhlKXtyZXR1cm57aG9yaXpvbnRhbFBpeGVsUmF0aW86TWF0aC5tYXgoMSxlLmJpdG1hcFNpemUud2lkdGgvZS5jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCksdmVydGljYWxQaXhlbFJhdGlvOk1hdGgubWF4KDEsZS5iaXRtYXBTaXplLmhlaWdodC9lLmNhbnZhc0VsZW1lbnRDbGllbnRTaXplLmhlaWdodCl9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuey4uLmMoZSksYml0bWFwU2l6ZTplLmJpdG1hcFNpemUsbWVkaWFTaXplOmUuY2FudmFzRWxlbWVudENsaWVudFNpemV9fWZ1bmN0aW9uIGQoZSl7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSk7cmV0dXJuIHQuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKSx0fWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSksaT0oMCxyLmdldENhbnZhc0RldmljZVBpeGVsUmF0aW8pKGUpO3JldHVybiB0LnNldFRyYW5zZm9ybShpLDAsMCxpLDAsMCksdH1mdW5jdGlvbiBwKGUsdCxpLHMsbixyKXtlLnNhdmUoKSxlLmZpbGxTdHlsZT1yLGUuZmlsbFJlY3QodCxpLHMsbiksZS5yZXN0b3JlKCl9ZnVuY3Rpb24gXyhlLHQsaSxzLG4scil7ZS5zYXZlKCksZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb249ImNvcHkiLGUuZmlsbFN0eWxlPXIsZS5maWxsUmVjdCh0LGkscyxuKSxlLnJlc3RvcmUoKX1mdW5jdGlvbiBtKGUsdCxpLHMpe2Uuc2F2ZSgpLGUuc2NhbGUodCxpKSxzKCksZS5yZXN0b3JlKCl9CmZ1bmN0aW9uIGcoZSx0LGkpe2NvbnN0IHM9UyhlKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9KDAsci5nZXRDYW52YXNEZXZpY2VQaXhlbFJhdGlvKShzKSkscy53aWR0aD10LndpZHRoKmkscy5oZWlnaHQ9dC5oZWlnaHQqaSxzfWZ1bmN0aW9uIGYoZSx0KXtjb25zdHtiaXRtYXBTaXplOmksbWVkaWFTaXplOnN9PXQsbj1TKGUpO3JldHVybiBuLnN0eWxlLndpZHRoPWAke3Mud2lkdGh9cHhgLG4uc3R5bGUuaGVpZ2h0PWAke3MuaGVpZ2h0fXB4YCxuLndpZHRoPWkud2lkdGgsbi5oZWlnaHQ9aS5oZWlnaHQsbn1mdW5jdGlvbiBTKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4gdyh0KSx0fWZ1bmN0aW9uIHYoZSx0KXtjb25zdCBpPVMoKDAsbi5lbnN1cmVOb3ROdWxsKShlLm93bmVyRG9jdW1lbnQpKTtlLmFwcGVuZENoaWxkKGkpO2NvbnN0IHI9KDAscy5iaW5kQ2FudmFzRWxlbWVudEJpdG1hcFNpemVUbykoaSx7dHlwZToiZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94Iix0cmFuc2Zvcm06KGUsdCk9PjA9PT1lLndpZHRofHwwPT09ZS5oZWlnaHQ/ZTp7d2lkdGg6TWF0aC5tYXgoZS53aWR0aCx0LndpZHRoKSxoZWlnaHQ6TWF0aC5tYXgoZS5oZWlnaHQsdC5oZWlnaHQpfX0pO3JldHVybiByLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCkscn1mdW5jdGlvbiB5KGUpe2NvbnN0IHQ9ZS5zdWdnZXN0ZWRCaXRtYXBTaXplO3JldHVybiBudWxsIT09dCYmdC53aWR0aD4wJiZ0LmhlaWdodD4wJiYoZS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKSwhMCl9ZnVuY3Rpb24gYihlLHQpe3JldHVybiJjZW50ZXIiPT09ZS50ZXh0QWxpZ24/MDooMCxhLmlzUnRsKSgpPyJzdGFydCI9PT1lLnRleHRBbGlnbnx8InJpZ2h0Ij09PWUudGV4dEFsaWduP3Q6MDoic3RhcnQiPT09ZS50ZXh0QWxpZ258fCJsZWZ0Ij09PWUudGV4dEFsaWduPzA6dH1mdW5jdGlvbiB3KGUpe2Uuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0PSJub25lIixlLnN0eWxlLm1zVXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJub25lIixlLnN0eWxlLndlYmtpdFRhcEhpZ2hsaWdodENvbG9yPSJ0cmFuc3BhcmVudCJ9ZnVuY3Rpb24gQyhlLHQpe2NvbnN0e2NvbnRleHQ6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzpuLGJpdG1hcFNpemU6cn09ZTtpLmJlZ2luUGF0aCgpLGkucmVjdCgwLDAsci53aWR0aCxyLmhlaWdodCk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2xldHt4OnIseTpvfT10W2VdO3IqPXMsbyo9biwwIT09ZT9pLmxpbmVUbyhyLG8pOmkubW92ZVRvKHIsbyl9aS5jbG9zZVBhdGgoKSxpLmNsaXAoImV2ZW5vZGQiKX1mdW5jdGlvbiBQKGUsdCxpKXtDKHtjb250ZXh0OmUsLi4udH0saSl9ZnVuY3Rpb24gVChlLHQsaSl7ZS5jb250ZXh0LnNhdmUoKSxDKGUsdCksaSgpLGUuY29udGV4dC5yZXN0b3JlKCl9bGV0IHg7ZnVuY3Rpb24gTShlLHQsaSl7cmV0dXJuIHh8fGZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtlLndpZHRoPTAsZS5oZWlnaHQ9MCwoMCxsLmlzTWFjKSgpJiYoZS5zdHlsZS5kaXNwbGF5PSJub25lIixkb2N1bWVudC5ib2R5LmFwcGVuZChlKSkseD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSkseC50ZXh0QmFzZWxpbmU9ImFscGhhYmV0aWMiLHgudGV4dEFsaWduPSJjZW50ZXIifSgpLHQmJnguZm9udCE9PXQmJih4LmZvbnQ9dCksaT9pLmdldE1ldHJpY3MoeCxlKTooMCxvLmdldE1pblRleHRNZXRyaWNzKSh4Lm1lYXN1cmVUZXh0KGUpKX19LDU3MDY1NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtjaGFydEZsb2F0aW5nVG9vbHRpcEVuYWJsZWRXVjooKT0+YX0pO3ZhciBzPWkoOTMwNTY2KSxuPWkoMjMyMzY0KTtjb25zdCByPSJjaGFydF9mbG9hdGluZ190b29sdGlwX2VuYWJsZWQiO2Z1bmN0aW9uIG8oKXtyZXR1cm4gcy5nZXRKU09OKHIsdHJ1ZSl9Y29uc3QgYT1uZXcgbi5XYXRjaGVkVmFsdWUobygpKTthLnN1YnNjcmliZSgoKCk9PnMuc2V0VmFsdWUocixhLnZhbHVlKCkpKSkscy5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5hLnNldFZhbHVlKG8oKSkpKX0sNDY0ODM1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NoYXJ0SG90a2V5c0xpc3RlbmVyOigpPT5nLGdsb2JhbEVudmlyb25tZW50U3RhdGU6KCk9Pm0sbW9kaWZpZXJQcmVzc2VkOigpPT5fLHNoaWZ0UHJlc3NlZDooKT0+cH0pO3ZhciBzPWkoNzI3MDkpLG49aSgyMzU3MjQpLHI9aSg3MjEzNjkpLG89aSgzNjgxMTApO3ZhciBhPWkoMjMyMzY0KSxsPWkoOTAxMzcwKTtjb25zdCBjPW5ldyBhLldhdGNoZWRWYWx1ZShCb29sZWFuKChzLnByZXNzZWRLZXlzLnZhbHVlKCk/PzApJm4uTW9kaWZpZXJzLlNoaWZ0KSksaD1uZXcgYS5XYXRjaGVkVmFsdWUoQm9vbGVhbigocy5wcmVzc2VkS2V5cy52YWx1ZSgpPz8wKSZuLk1vZGlmaWVycy5Nb2QpKSxkPW5ldyBhLldhdGNoZWRWYWx1ZShCb29sZWFuKChzLnByZXNzZWRLZXlzLnZhbHVlKCk/PzApJm4uTW9kaWZpZXJzLkFsdCkpLHU9W24uTW9kaWZpZXJzLk5vbmUsbi5Nb2RpZmllcnMuQWx0LG4uTW9kaWZpZXJzLk1vZCxuLk1vZGlmaWVycy5BbHQrbi5Nb2RpZmllcnMuU2hpZnRdO2Z1bmN0aW9uIHAoKXtyZXR1cm4gY31mdW5jdGlvbiBfKCl7cmV0dXJuIGh9ZnVuY3Rpb24gbSgpe3JldHVybiBuZXcgbC5FbnZpcm9ubWVudFN0YXRlKHthbHRLZXk6ZC52YWx1ZSgpLGN0cmxLZXk6XygpLnZhbHVlKCksbWV0YUtleTpfKCkudmFsdWUoKSxzaGlmdEtleTpwKCkudmFsdWUoKX0pfXMucHJlc3NlZEtleXMuc3Vic2NyaWJlKCgoZT0wKT0+e2Muc2V0VmFsdWUoQm9vbGVhbihlJm4uTW9kaWZpZXJzLlNoaWZ0KSksaC5zZXRWYWx1ZShCb29sZWFuKGUmbi5Nb2RpZmllcnMuTW9kKSksZC5zZXRWYWx1ZShCb29sZWFuKGUmbi5Nb2RpZmllcnMuQWx0KSl9KSk7Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3ByZXNzZWRLZXlDb2RlPW51bGwsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj1udWxsLAp0aGlzLl9ib3VuZEtleXVwSGFuZGxlcj1udWxsLHRoaXMuX2NoYXJ0V2lkZ2V0PWUsdGhpcy5fcGFyZW50PXQsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj10aGlzLl9rZXlkb3duSGFuZGxlci5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kS2V5dXBIYW5kbGVyPXRoaXMuX2tleXVwSGFuZGxlci5iaW5kKHRoaXMpLHRoaXMuX3BhcmVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2JvdW5kS2V5ZG93bkhhbmRsZXIpLHRoaXMuX3BhcmVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9ib3VuZEtleXVwSGFuZGxlcil9ZGVzdHJveSgpe251bGwhPT10aGlzLl9ib3VuZEtleWRvd25IYW5kbGVyJiYodGhpcy5fcGFyZW50Lm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlciksdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj1udWxsKSxudWxsIT09dGhpcy5fYm91bmRLZXl1cEhhbmRsZXImJih0aGlzLl9wYXJlbnQub3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fYm91bmRLZXl1cEhhbmRsZXIpLHRoaXMuX2JvdW5kS2V5dXBIYW5kbGVyPW51bGwpfV9rZXlkb3duSGFuZGxlcihlKXt0aGlzLl9jaGFydFdpZGdldC5oYXNNb2RlbCgpJiZ0aGlzLl9jaGFydFdpZGdldC5pc0FjdGl2ZSgpLnZhbHVlKCkmJihlLmRlZmF1bHRQcmV2ZW50ZWR8fCgidGV4dC1lZGl0b3IiPT09d2luZG93LmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgiZGF0YS1uYW1lIikmJnRoaXMuX2hhbmRsZVRhYktleURvd24oZSl8fHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09d2luZG93LmRvY3VtZW50LmJvZHkmJih0aGlzLl9oYW5kbGVNb3ZlRHJhd2luZ3NLZXlEb3duKGUpfHx0aGlzLl9oYW5kbGVTY3JvbGxLZXlEb3duKGUpfHx0aGlzLl9oYW5kbGVab29tS2V5RG93bihlKSkpJiZlLnByZXZlbnREZWZhdWx0KCkpfV9rZXl1cEhhbmRsZXIoZSl7dGhpcy5fY2hhcnRXaWRnZXQuaGFzTW9kZWwoKSYmdGhpcy5faGFuZGxlU2Nyb2xsS2V5VXAoZSl9X2hhbmRsZVRhYktleURvd24oZSl7Y29uc3QgdD0yNTUmKDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPXRoaXMuX2NoYXJ0V2lkZ2V0Lm1vZGVsKCk7aWYoOT09PXQpe2NvbnN0IHQ9aS5zZWxlY3Rpb24oKS5kYXRhU291cmNlcygpWzBdO2lmKHZvaWQgMCE9PXQmJihzPXQsKDAsby5pc0xpbmVUb29sKShzKSYmIkxpbmVUb29sVGFibGUiPT09cy5zdGF0ZSgpLnR5cGUpKXtjb25zdCBpPSgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKTtyZXR1cm4gdC5zd2l0Y2hBY3RpdmVDZWxsKGk9PT1uLk1vZGlmaWVycy5TaGlmdCl9cmV0dXJuITF9dmFyIHM7cmV0dXJuITF9X2hhbmRsZU1vdmVEcmF3aW5nc0tleURvd24oZSl7Y29uc3QgdD0yNTUmKDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPXRoaXMuX2NoYXJ0V2lkZ2V0Lm1vZGVsKCk7c3dpdGNoKHQpe2Nhc2UgMzc6cmV0dXJuIGkubW92ZVNlbGVjdGVkVG9vbHNMZWZ0KCk7Y2FzZSAzOTpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc1JpZ2h0KCk7Y2FzZSAzODpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc1VwKCk7Y2FzZSA0MDpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc0Rvd24oKX1yZXR1cm4hMX1faGFuZGxlU2Nyb2xsS2V5RG93bihlKXtpZihudWxsIT09dGhpcy5fcHJlc3NlZEtleUNvZGUpcmV0dXJuITE7Y29uc3QgdD0oMCxuLmhhc2hGcm9tRXZlbnQpKGUpLGk9MjU1JnQscz0oMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSk7bGV0IG87aWYoMzc9PT1pKW89MTtlbHNle2lmKDM5IT09aSlyZXR1cm4hMTtvPS0xfWlmKG4uaXNNYWNLZXlib2FyZCYmcz09PW4uTW9kaWZpZXJzLk1vZHx8IXUuaW5jbHVkZXMocykpcmV0dXJuITE7aWYoKDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO3RoaXMuX3ByZXNzZWRLZXlDb2RlPWk7Y29uc3QgYT10aGlzLl9jaGFydFdpZGdldC5zY3JvbGxIZWxwZXIoKTtyZXR1cm4gcz09PW4uTW9kaWZpZXJzLk5vbmU/YS5tb3ZlQnlCYXIobyk6cz09PW4uTW9kaWZpZXJzLkFsdHx8cz09PW4uTW9kaWZpZXJzLk1vZD9hLm1vdmUobyk6LTE9PT1vP2Euc2Nyb2xsVG9SZWFsdGltZSghMCk6YS5zY3JvbGxUb0ZpcnN0QmFyKCksITB9X2hhbmRsZVNjcm9sbEtleVVwKGUpe2lmKG51bGw9PT10aGlzLl9wcmVzc2VkS2V5Q29kZSlyZXR1cm4hMTtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYoKDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO3JldHVybigyNTUmdCk9PT10aGlzLl9wcmVzc2VkS2V5Q29kZSYmKHRoaXMuX3ByZXNzZWRLZXlDb2RlPW51bGwsdGhpcy5fY2hhcnRXaWRnZXQuc2Nyb2xsSGVscGVyKCkuc3RvcE1vdmUoKSwhMCl9X2hhbmRsZVpvb21LZXlEb3duKGUpe2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPTI1NSZ0O2lmKCgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKSE9PW4uTW9kaWZpZXJzLk1vZHx8KDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO2NvbnN0IHM9dGhpcy5fY2hhcnRXaWRnZXQubW9kZWwoKTtpZigzOD09PWkpcy56b29tSW4oKTtlbHNle2lmKDQwIT09aSlyZXR1cm4hMTtzLnpvb21PdXQoKX1yZXR1cm4hMH19fSw5ODg3NzYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q2hhcnRXaWRnZXRDb2xsZWN0aW9uOigpPT5hZn0pO3ZhciBzPWkoMTY3NTAyKSxuPWkoMzA0MjIxKSxyPWkoNzQwMTYyKSxvPWkoNzAwODA5KSxhPWkoNjAxODQxKSxsPWkoMTM4NjM4KSxjPWkoMjIxMDYxKSxoPWkoMjMyMzY0KSxkPWkoNDAyMDQ1KSx1PWkoOTUyOTAwKSxwPWkoMTg1MjcxKSxfPWkoOTU4NTAwKSxtPWkoODYwNDQyKTt2YXIgZz1pKDE5ODkwMSksZj1pKDk0ODM4MCk7ZnVuY3Rpb24gUyhlKXtjb25zdCB0PXt9O3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKCgoaSxzKT0+e2Uuc3Vic2NyaWJlKHQsaSwhMCl9KSksZGVzdHJveTooKT0+ewplLnVuc3Vic2NyaWJlQWxsKHQpfX19dmFyIHY9aSgzNjIyODkpLHk9aSg1NzA2MDMpO2NvbnN0IGI9KCk9PlByb21pc2UuYWxsKFtpLmUoMTExNTEpLGkuZSg5MzUyOCldKS50aGVuKGkuYmluZChpLDIwNTY1NikpO2Z1bmN0aW9uIHcoZSx0PXt9KXtyZXR1cm4gYigpLnRoZW4oKGk9PmkuY29weVRvQ2xpcGJvYXJkSW1hZ2VPZkNoYXJ0KGUsdCkpKX1mdW5jdGlvbiBDKGUsdD17fSl7cmV0dXJuIGIoKS50aGVuKChpPT5pLmdldEltYWdlT2ZDaGFydFNpbGVudGx5KGUsdCkpKX12YXIgUD1pKDg4MzA1MyksVD1pKDY3ODI4NSkseD1pKDI1NDY3MyksTT1pKDg4MjA3OCksST1pKDQ2NTEzNyksTD1pKDc5ODM4KSxBPWkoMTI4OTk4KSxrPWkoNjY1MTg3KSxEPWkoMjAwNjY2KSxFPWkoNzY1MTczKTtjb25zdCBSPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IHRvb2xiYXJzIHRoZW1lIixwLnQobnVsbCx2b2lkIDAsaSg2NjMxMjgpKSk7Y2xhc3MgViBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGk9ITApe3N1cGVyKFIpLHRoaXMuX3ByZXZUaGVtZU5hbWU9ZSx0aGlzLl90aGVtZU5hbWU9dCx0aGlzLl9zeW5jU3RhdGU9aX11bmRvKCl7KDAsay5pc1N0ZFRoZW1lTmFtZSkodGhpcy5fcHJldlRoZW1lTmFtZSkmJigoMCxELnNldFRoZW1lKSh0aGlzLl9wcmV2VGhlbWVOYW1lKSx0aGlzLl9zeW5jU3RhdGUmJigwLGsuc3luY1RoZW1lKSgpKX1yZWRvKCl7KDAsay5pc1N0ZFRoZW1lTmFtZSkodGhpcy5fdGhlbWVOYW1lLnRvTG93ZXJDYXNlKCkpJiYoKDAsRC5zZXRUaGVtZSkodGhpcy5fdGhlbWVOYW1lLnRvTG93ZXJDYXNlKCkpLHRoaXMuX3N5bmNTdGF0ZSYmKDAsay5zeW5jVGhlbWUpKCkpfX1jbGFzcyBCIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzLG49ITApe3N1cGVyKHMsdm9pZCAwLG4pLHRoaXMuX3NldHRlcj1lLHRoaXMuX29sZFZhbHVlPXQsdGhpcy5fbmV3VmFsdWU9aX1yZWRvKCl7dGhpcy5fc2V0dGVyKHRoaXMuX25ld1ZhbHVlKX11bmRvKCl7dGhpcy5fc2V0dGVyKHRoaXMuX29sZFZhbHVlKX19Y2xhc3MgTiBleHRlbmRzIEJ7Y29uc3RydWN0b3IoZSx0LGkscyxuPSEwKXtzdXBlcigoZT0+dGhpcy5fdndTdGF0ZS5zZXRWYWx1ZShlKSksdCxpLHMsbiksdGhpcy5fdndTdGF0ZT1lfX12YXIgTz1pKDcyMDA3Mik7Y29uc3QgVz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgY2hhcnQgbGF5b3V0IHRvIHt0aXRsZX0iLHAudChudWxsLHZvaWQgMCxpKDk5MzkpKSk7Y2xhc3MgRiBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihXLmZvcm1hdCh7dGl0bGU6Ty5sYXlvdXRzW3RdLnRpdGxlfSkpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX25ld0xheW91dFR5cGU9dCx0aGlzLl9vbGRMYXlvdXRUeXBlPWUubGF5b3V0LnZhbHVlKCl9cmVkbygpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5zZXRMYXlvdXQodGhpcy5fbmV3TGF5b3V0VHlwZSl9dW5kbygpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5zZXRMYXlvdXQodGhpcy5fb2xkTGF5b3V0VHlwZSl9fWNvbnN0IEg9KDAsYy5nZXRMb2dnZXIpKCJDb21tb24uVW5kb1N0YWNrIik7Y2xhc3Mgentjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbW1hbmRzPVtdLHRoaXMuX29uQ2hhbmdlPW5ldyBmLkRlbGVnYXRlfW9uQ2hhbmdlKCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX2NvbW1hbmRzLmxlbmd0aH1zaXplKCl7cmV0dXJuIHRoaXMuX2NvbW1hbmRzLmxlbmd0aH1jbGVhcigpe3RoaXMuaXNFbXB0eSgpfHwodGhpcy5fY29tbWFuZHMubGVuZ3RoPTAsdGhpcy5fb25DaGFuZ2UuZmlyZSgpKX1wdXNoKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEUuVW5kb0NvbW1hbmQpKXRocm93IG5ldyBUeXBlRXJyb3IoImFyZ3VtZW50IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVW5kb0NvbW1hbmQiKTt0aGlzLl9jb21tYW5kcy5wdXNoKGUpLHRoaXMuX29uQ2hhbmdlLmZpcmUoZSl9cG9wKCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIHZvaWQgSC5sb2dEZWJ1ZygicG9wOiB1bmRvIHN0YWNrIGlzIGVtcHR5Iik7Y29uc3QgZT10aGlzLl9jb21tYW5kcy5wb3AoKTtyZXR1cm4gdGhpcy5fb25DaGFuZ2UuZmlyZShlKSxlfWhlYWQoKXtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuIHRoaXMuX2NvbW1hbmRzW3RoaXMuX2NvbW1hbmRzLmxlbmd0aC0xXX19Y2xhc3MgVSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwhMSksdGhpcy5fc3ViY29tbWFuZHM9W119YWRkQ29tbWFuZChlKXt0aGlzLl9zdWJjb21tYW5kcy5wdXNoKGUpfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3N1YmNvbW1hbmRzLmxlbmd0aH1yZWRvKGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5fc3ViY29tbWFuZHMubGVuZ3RoO3QrKyl0aGlzLl9zdWJjb21tYW5kc1t0XS5yZWRvKGUpfXVuZG8oZSl7Zm9yKGxldCB0PXRoaXMuX3N1YmNvbW1hbmRzLmxlbmd0aC0xO3Q+PTA7dC0tKXRoaXMuX3N1YmNvbW1hbmRzW3RdLnVuZG8oZSl9Y29tbWFuZHMoKXtyZXR1cm4gdGhpcy5fc3ViY29tbWFuZHN9YWZmZWN0c1N0YXRlKCl7cmV0dXJuIHRoaXMuX3N1YmNvbW1hbmRzLnNvbWUoKGU9PmUuYWZmZWN0c1N0YXRlKCkpKX19Y29uc3QgRz0oMCxjLmdldExvZ2dlcikoIkNvbW1vbi5VbmRvSGlzdG9yeSIpO3ZhciBqPWkoNTE4NzUpLHE9aSg5MzAyMzEpLCQ9aSgxNzk3NzEpLFk9aSg3MjcwOSksSz1pKDIzNTcyNCksWD1pKDExNzMxMyksWj1pKDIwOTM5KSxKPWkoMzE4OTc0KSxRPWkoOTMwNTY2KSxlZT1pKDI5NjI2Mik7Y2xhc3MgdGUgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc2V0VmlzaWJpbGl0eShlKX0sdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWV9c2hvdyhlKXt0aGlzLl9sb2FkKCkudGhlbigodD0+e3RoaXMuX2RpYWxvZz8uaGlkZSgpLAp0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHRoaXMuX2RpYWxvZz10LHQudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHQuc2hvdyhlKSwkLmVtaXQoImNvbXBhcmVfYWRkIil9KSl9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfV9sb2FkKCl7cmV0dXJuIFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDMyNzgpLGkuZSgxNzMzNildKS50aGVuKGkuYmluZChpLDU0NzU3NykpLFByb21pc2UuYWxsKFtpLmUoMzMyMjUpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgyNzUxNyksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg1MDIyMSksaS5lKDMzNTE1KSxpLmUoMTQ2MjUpLGkuZSgxNTUyNiksaS5lKDcxNDE0KSxpLmUoNjU3KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDE2NzYpLGkuZSg4OTIwNCksaS5lKDEyMDUxKSxpLmUoMzIxNzYpLGkuZSg5NzQ0KSxpLmUoODMwNDEpLGkuZSgxOTUxMyksaS5lKDcxNTI4KSxpLmUoODg2NDEpLGkuZSg1MjA5NSksaS5lKDU1MzM2KSxpLmUoOTIzOTMpLGkuZSg0NDAzMSksaS5lKDg5MDQ0KSxpLmUoNDcwOTIpLGkuZSg0Mzc5MiksaS5lKDc4NDA0KSxpLmUoNTAwMzUpLGkuZSg4MTEwNyksaS5lKDY4NTc5KSxpLmUoNjY0NyksaS5lKDQ3MjAxKSxpLmUoODAwNDEpLGkuZSg4NzY3MyksaS5lKDQzODA4KSxpLmUoNDYwNTUpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoODA5MTUpLGkuZSgyMzc0MyksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSg4OTQ2KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDk5MzA5KSxpLmUoNjg3MjUpLGkuZSg2MzQwMiksaS5lKDU3MDkzKSxpLmUoNDg2NTIpLGkuZSgxMzMxKSxpLmUoMjIzNDcpXSkudGhlbihpLmJpbmQoaSw1NzMxNjMpKV0pLnRoZW4oKChbZSx0XSk9Pntjb25zdCBpPW5ldyBlLkNvbXBhcmVNb2RlbCh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pO3JldHVybiB0LmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcihpKX0pKX19Y2xhc3MgaWUgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc2V0VmlzaWJpbGl0eShlKX0sdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWV9c2hvdyhlKXtjb25zdCB0PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbixzPXQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTtyZXR1cm4gcy5nZW5lcmFsUHJvcGVydGllc0RlZmluaXRpb25zKCkudGhlbigobj0+UHJvbWlzZS5hbGwoW2kuZSgyNzA0MCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSg0MDgzNSksaS5lKDE3MDg3KSxpLmUoNzI2NjYpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDQ3NjMyKSxpLmUoNjYwNSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDkxODU1KSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDUxNjgyKSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSg0MDg2NyksaS5lKDM5Nzg2KSxpLmUoNTA4MDApLGkuZSg1MDYyMiksaS5lKDYwODIpLGkuZSgyNzMzNyksaS5lKDQwOTE0KSxpLmUoODEyNDcpLGkuZSgyNzczNiksaS5lKDg3NzQwKSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDI3MjEpLGkuZSg0NTI0MiksaS5lKDc4NjMpLGkuZSg0NjI0NSksaS5lKDk4NTA5KSxpLmUoNTUyOTApLGkuZSg5MTY3MCksaS5lKDg2NTQ0KSxpLmUoMzIzODcpLGkuZSg4MDkxNSksaS5lKDQwNzU0KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg1MDYyNSldKS50aGVuKGkuYmluZChpLDc2ODM4OCkpLnRoZW4oKGk9Pntjb25zdCByPW5ldyBpLkdlbmVyYWxDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcih7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnQscHJvcGVydHlQYWdlczpuLGFjdGl2ZVBhZ2VJZDp0aGlzLl9hY3RpdmVQYWdlSWQsbW9kZWw6cy5tb2RlbCgpfSk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPXIsci52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksci5zaG93KGUpLHRoaXMuX2FjdGl2ZVBhZ2VJZD12b2lkIDAscn0pKSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKX1pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy52aXNpYmxlKCkudmFsdWUoKX0KZm9jdXNPblRleHQoKXt9c2V0QWN0aXZlUGFnZShlKXt0aGlzLl9hY3RpdmVQYWdlSWQ9ZX19Y2xhc3Mgc2UgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIobnVsbCksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX3RhcmdldEluZGV4PXR9cmVkbygpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5jcmVhdGVQYW5lKHRoaXMuX3RhcmdldEluZGV4LHZvaWQgMCx0aGlzLl9wYW5lSWQpO3RoaXMuX3BhbmVJZD1lLmlkKCl9dW5kbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYW5lSWQpLHQ9dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmZpbmQoKHQ9PnQuaWQoKT09PWUpKTt2b2lkIDAhPT10JiZ0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVBhbmUodCl9Y3JlYXRlZFBhbmVJZCgpe3JldHVybiB0aGlzLl9wYW5lSWR9fXZhciBuZT1pKDQwMTUyMykscmU9aSg0MDg3NzUpO2NvbnN0IG9lPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN3YXAgY2hhcnRzIGluIHRoZSBMYXlvdXQiLHAudChudWxsLHZvaWQgMCxpKDIwOTU5OSkpKTtjbGFzcyBhZSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKG9lKSx0aGlzLl9zd2FwcGVyPWUsdGhpcy5fZnJvbT10LHRoaXMuX3RvPWl9cmVkbygpe3RoaXMuX3N3YXBwZXIodGhpcy5fZnJvbSx0aGlzLl90byl9dW5kbygpe3RoaXMuX3N3YXBwZXIodGhpcy5fZnJvbSx0aGlzLl90byl9fXZhciBsZT1pKDQ5NzAxOCksY2U9aSgxNDc4MDUpLGhlPWkoMjM0OTY0KSxkZT1pKDU1NDY1NCk7aSg3MjI1NzEpO3ZhciB1ZT1pKDUyODg3Mik7dmFyIHBlPWkoNzU0ODY0KSxfZT1pKDU5MjM3MCksbWU9aSgzNzgwOCk7Y29uc3QgZ2U9InJlcGxheV9tb2RlIjtmdW5jdGlvbiBmZSgpe3JldHVybiBKLkNoZWNrTW9iaWxlLmFueSgpPyJBY3RpdmVDaGFydCI6US5nZXRWYWx1ZShnZSwiQWN0aXZlQ2hhcnQiKX1jb25zdCBTZT0oMCxtZS5jcmVhdGVQcmltaXRpdmVQcm9wZXJ0eSkoZmUoKSk7ZnVuY3Rpb24gdmUoZSl7Y29uc3R7ZnVsbElkOnQscGluZTppfT1lO3JldHVybmAke3R9JHtpP2Bbdi4ke2kudmVyc2lvbn1dYDoiIn1gfVEub25TeW5jLnN1YnNjcmliZShudWxsLCgoKT0+U2Uuc2V0VmFsdWUoZmUoKSkpKSxTZS5zdWJzY3JpYmUobnVsbCwoKCk9PlEuc2V0VmFsdWUoZ2UsU2UudmFsdWUoKSkpKTtjb25zdCB5ZT0vKFtcdywlLCQsOyxALC1dKilcW3YuKFtcdywuLC1dKilcXS87ZnVuY3Rpb24gYmUoZSl7Y29uc3QgdD15ZS5leGVjKGUpO3JldHVybiB0P3tmdWxsSWQ6dFsxXSxwaW5lOnt2ZXJzaW9uOnRbMl19fTp7ZnVsbElkOmV9fXZhciB3ZT1pKDc3MDc1NSksQ2U9aSg0NzkzNCksUGU9aSg1NjkzOTgpLFRlPWkoNjMxNjM0KSx4ZT1pKDU2OTg0NiksTWU9aSg3MzYwNjMpLEllPWkoMTU2ODUwKSxMZT1pKDQ5MDQ0Nik7Y29uc3QgQWU9KDAsYy5nZXRMb2dnZXIpKCJUaW1pbmdzTWV0ZXIuU2VydmljZSIpLGtlPSgwLGMuZ2V0TG9nZ2VyKSgiVGltaW5nc01ldGVyLlN0YXRzIix7bWF4Q291bnQ6MTYwfSk7dmFyIERlOyFmdW5jdGlvbihlKXtlW2UuSW52YWxpZFRpbWU9LTFdPSJJbnZhbGlkVGltZSIsZVtlLkxvZ2dlckR1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0xNWUzXT0iTG9nZ2VyRHVtcFRpbWluZ3NTdGF0c0ludGVydmFsIixlW2UuVGVsZW1ldHJ5RHVtcFRpbWluZ3NTdGF0c0ludGVydmFsPTZlNV09IlRlbGVtZXRyeUR1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbCJ9KERlfHwoRGU9e30pKTtjb25zdCBFZT17W0xlLkludmFsaWRhdGlvbkxldmVsLk5vbmVdOiJub25lIixbTGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yXToiY3Vyc29yIixbTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHRdOiJsaWdodCIsW0xlLkludmFsaWRhdGlvbkxldmVsLkZ1bGxdOiJmdWxsIn07ZnVuY3Rpb24gUmUoZSx0KXtyZXR1cm4gZS5sYXN0VGltZT10LGUudG90YWxUaW1lKz10LCsrZS5jb3VudCx0PmUubWF4VGltZSYmKGUubWF4VGltZT10KSxlfWZ1bmN0aW9uIFZlKGUpe3JldHVybiBlLnRvRml4ZWQoMil9ZnVuY3Rpb24gQmUoZSl7Y29uc3QgdD1lLmNvdW50O2lmKDA9PT10KXJldHVybiJubyBldmVudHMiO2NvbnN0IGk9ZS50b3RhbFRpbWUvdCxzPVZlKGUubWF4VGltZSk7cmV0dXJuYGNvdW50PSR7dH0sIGxhc3Q9JHtWZShlLmxhc3RUaW1lKX0sIG1heD0ke3N9LCBhdmc9JHtWZShpKX1gfWNsYXNzIE5le2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fY3VycmVudERyYXdJdGVtcz17fSx0aGlzLl9jdXJyZW50V2FpdGluZ0l0ZW09e2NvdW50OjAsbGFzdFRpbWU6MCxtYXhUaW1lOjAsdG90YWxUaW1lOjB9LHRoaXMuX2R1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0wLHRoaXMuX2xvZ1ByZWZpeD1gWyR7ZX1dYCx0aGlzLl9kdW1wVGltdG91dD10fXN0YXJ0Q29sbGVjdCgpezAhPT10aGlzLl9kdW1wVGltaW5nc1N0YXRzSW50ZXJ2YWwmJihBZS5sb2dXYXJuKGAke3RoaXMuX2xvZ1ByZWZpeH0gTXVsdGlwbGUgc3RhcnQgZGV0ZWN0ZWRgKSx0aGlzLnN0b3BDb2xsZWN0KCkpLHRoaXMuX2NsZWFyQ3VycmVudFN0YXRlKCksdGhpcy5fZHVtcFRpbWluZ3NTdGF0c0ludGVydmFsPXNldEludGVydmFsKHRoaXMuX2R1bXBUaW1pbmdzU3RhdHMuYmluZCh0aGlzKSx0aGlzLl9kdW1wVGltdG91dCksQWUubG9nTm9ybWFsKGAke3RoaXMuX2xvZ1ByZWZpeH0gQ29sbGVjdGluZyBzdGFydGVkYCl9c3RvcENvbGxlY3QoKXswIT09dGhpcy5fZHVtcFRpbWluZ3NTdGF0c0ludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9kdW1wVGltaW5nc1N0YXRzSW50ZXJ2YWwpLHRoaXMuX2R1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0wLEFlLmxvZ05vcm1hbChgJHt0aGlzLl9sb2dQcmVmaXh9IENvbGxlY3Rpbmcgc3RvcHBlZC4gRHVtcGluZyBsYXN0IHN0YXRlLi4uYCksdGhpcy5fZHVtcFRpbWluZ3NTdGF0cygpKX11cGRhdGVUaW1pbmdzKGUsdCxpKXt0aGlzLl9jdXJyZW50RHJhd0l0ZW1zW2VdPVJlKHRoaXMuX2N1cnJlbnREcmF3SXRlbXNbZV0/P3tjb3VudDowLGxhc3RUaW1lOjAsbWF4VGltZTowLHRvdGFsVGltZTowfSxpKSwKUmUodGhpcy5fY3VycmVudFdhaXRpbmdJdGVtLHQpfV9kdW1wVGltaW5nc1N0YXRzKCl7dGhpcy5fY2xlYXJDdXJyZW50U3RhdGUoKX1fY2xlYXJDdXJyZW50U3RhdGUoKXt0aGlzLl9jdXJyZW50RHJhd0l0ZW1zPXt9LHRoaXMuX2N1cnJlbnRXYWl0aW5nSXRlbT17Y291bnQ6MCxsYXN0VGltZTowLG1heFRpbWU6MCx0b3RhbFRpbWU6MH19fWNsYXNzIE9lIGV4dGVuZHMgTmV7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwxNWUzKX1fZHVtcFRpbWluZ3NTdGF0cygpe2NvbnN0IGU9W3RoaXMuX2xvZ1ByZWZpeCwiIGF3YWl0aW5nOiIsQmUodGhpcy5fY3VycmVudFdhaXRpbmdJdGVtKSwuLi5PYmplY3Qua2V5cyh0aGlzLl9jdXJyZW50RHJhd0l0ZW1zKS5tYXAoKGU9PmA7ICR7ZX06ICR7QmUodGhpcy5fY3VycmVudERyYXdJdGVtc1tlXSl9YCkpXS5qb2luKCIiKTtrZS5sb2dOb3JtYWwoZSksc3VwZXIuX2R1bXBUaW1pbmdzU3RhdHMoKX19Y2xhc3MgV2UgZXh0ZW5kcyBOZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLDZlNSl9X2R1bXBUaW1pbmdzU3RhdHMoKXtPYmplY3Qua2V5cyh0aGlzLl9jdXJyZW50RHJhd0l0ZW1zKS5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLl9jdXJyZW50RHJhd0l0ZW1zW2VdLGk9YGNoYXJ0X3JlbmRlcmluZ190aW1lXyR7ZX1fYXZnX3RpbWVgO0llLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoaSx7dmFsdWU6dC50b3RhbFRpbWUvdC5jb3VudH0pfSkpLHN1cGVyLl9kdW1wVGltaW5nc1N0YXRzKCl9fWNsYXNzIEZle2NvbnN0cnVjdG9yKGUpe3RoaXMuX3dhaXREcmF3U3RhcnRUaW1lPS0xLHRoaXMuX3N0YXJ0RHJhd1RpbWU9LTEsdGhpcy5fY3VycmVudERyYXdMZXZlbD1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsLHRoaXMuX2N1cnJlbnRDaGFydFN0eWxlPTEsdGhpcy5fYWdncmVnYXRvcnM9W10sdGhpcy5fYWdncmVnYXRvcnMucHVzaChuZXcgT2UoZSkpLHRoaXMuX2FnZ3JlZ2F0b3JzLnB1c2gobmV3IFdlKGUpKX1kZXN0cm95KCl7dGhpcy5zdG9wQ29sbGVjdCgpfXN0YXJ0Q29sbGVjdCgpe3RoaXMuX2FnZ3JlZ2F0b3JzLmZvckVhY2goKGU9PntlLnN0YXJ0Q29sbGVjdCgpfSkpfXN0b3BDb2xsZWN0KCl7dGhpcy5fYWdncmVnYXRvcnMuZm9yRWFjaCgoZT0+e2Uuc3RvcENvbGxlY3QoKX0pKX1zdGFydFdhaXRpbmdEcmF3KCl7dGhpcy5fd2FpdERyYXdTdGFydFRpbWU9d2luZG93LnBlcmZvcm1hbmNlLm5vdygpfXN0YXJ0RHJhdyhlLHQpe3RoaXMuX3N0YXJ0RHJhd1RpbWU9d2luZG93LnBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX2N1cnJlbnREcmF3TGV2ZWw9ZSx0aGlzLl9jdXJyZW50Q2hhcnRTdHlsZT10fXN0b3BEcmF3KCl7Y29uc3QgZT13aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7aWYoLTE9PT10aGlzLl9zdGFydERyYXdUaW1lfHwtMT09PXRoaXMuX3dhaXREcmF3U3RhcnRUaW1lKXJldHVybjtjb25zdCB0PXRoaXMuX3N0YXJ0RHJhd1RpbWUtdGhpcy5fd2FpdERyYXdTdGFydFRpbWU7dGhpcy5fd2FpdERyYXdTdGFydFRpbWU9LTE7Y29uc3QgaT1lLXRoaXMuX3N0YXJ0RHJhd1RpbWUscz0obj10aGlzLl9jdXJyZW50RHJhd0xldmVsLHI9dGhpcy5fY3VycmVudENoYXJ0U3R5bGUsbj09PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0P2Ake0VlW25dfV8ke0wuU1RZTEVfU0hPUlRfTkFNRVNbcl19YDpFZVtuXSk7dmFyIG4scjt0aGlzLl9hZ2dyZWdhdG9ycy5mb3JFYWNoKChlPT57ZS51cGRhdGVUaW1pbmdzKHMsdCxpKX0pKSx0aGlzLl9zdGFydERyYXdUaW1lPS0xfX12YXIgSGU9aSgzODMzNTEpLHplPWkoODA5OTkzKSxVZT1pKDYzMjY4NiksR2U9aSgzMzk1MSksamU9aSg2ODkwMjEpLHFlPWkoMjE0OTg3KSwkZT1pKDc4MzU5Myk7Y29uc3QgWWU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fdGltZXJXb3JrZXI9bnVsbCx0aGlzLl90aW1lcklkQ291bnRlcj0xLHRoaXMuX3RpbWVyc01hcD1uZXcgTWFwLHRoaXMuX3JlamVjdHNUb0NhbGw9bmV3IFNldCx0aGlzLl9wcm9jZXNzTWVzc2FnZT1lPT57Y29uc3QgdD10aGlzLl90aW1lcnNNYXAuZ2V0KGUuZGF0YS50dXJuYXJvdW5kKTtzd2l0Y2goZS5kYXRhLnR5cGUpe2Nhc2UidGltZXJDcmVhdGVkIjp0JiYodC5zY2hlZHVsZWRGb3JSZW1vdmluZz8oImludGVydmFsIj09PXQudHlwZT90aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhckludGVydmFsIixpZDplLmRhdGEuaWR9KTp0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhclRpbWVvdXQiLGlkOmUuZGF0YS5pZH0pLHRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlLmRhdGEudHVybmFyb3VuZCkpOnQud29ya2VyVGltZXJJZD1lLmRhdGEuaWQpO2JyZWFrO2Nhc2UidGltZXJGaXJlZCI6dCYmKHQuY2FsbGJhY2soKSwidGltZW91dCI9PT10LnR5cGUmJnRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlLmRhdGEudHVybmFyb3VuZCkpfX19ZGVzdHJveSgpe3RoaXMuX3JlamVjdHNUb0NhbGwuZm9yRWFjaCgoZT0+ZSgoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKSkpLHRoaXMuX3RpbWVyV29ya2VyPy50ZXJtaW5hdGUoKSx0aGlzLl90aW1lcldvcmtlcj1udWxsLHRoaXMuX3RpbWVyc01hcC5jbGVhcigpfXNldFRpbWVvdXQoZSx0KXtyZXR1cm4gdGhpcy5fc2V0VGltZW91dEltcGwoZSx0LCJ0aW1lb3V0Iil9Y2xlYXJUaW1lb3V0KGUpe2NvbnN0IHQ9dGhpcy5fdGltZXJzTWFwLmdldChlKTt0JiYodC53b3JrZXJUaW1lcklkPyh0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhclRpbWVvdXQiLGlkOnQud29ya2VyVGltZXJJZH0pLHRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlKSk6dC5zY2hlZHVsZWRGb3JSZW1vdmluZz0hMCl9c2V0SW50ZXJ2YWwoZSx0KXtjb25zdCBpPXRoaXMuX25leHRUaW1lcklkKCk7cmV0dXJuIHRoaXMuX3RpbWVyc01hcC5zZXQoaSx7Y2FsbGJhY2s6ZSx0eXBlOiJpbnRlcnZhbCJ9KSx0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJzZXRJbnRlcnZhbCIsZGVsYXk6dCx0dXJuYXJvdW5kOml9KSxpfQpjbGVhckludGVydmFsKGUpe2NvbnN0IHQ9dGhpcy5fdGltZXJzTWFwLmdldChlKTt0JiYodC53b3JrZXJUaW1lcklkPyh0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhckludGVydmFsIixpZDp0LndvcmtlclRpbWVySWR9KSx0aGlzLl9kZWxldGVUaW1lckZyb21NYXAoZSkpOnQuc2NoZWR1bGVkRm9yUmVtb3Zpbmc9ITApfWFzeW5jIGNyZWF0ZVRpbWVvdXQoZSx0KXtsZXQgaTtyZXR1cm4gbmV3IFByb21pc2UoKChzLG4pPT57aT1uLHRoaXMuX3JlamVjdHNUb0NhbGwuYWRkKGkpO2NvbnN0IHI9dGhpcy5zZXRUaW1lb3V0KHMsZSk7dD8uc2lnbmFsPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT57dGhpcy5jbGVhclRpbWVvdXQociksbigoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKX0pKX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX3JlamVjdHNUb0NhbGwuZGVsZXRlKGkpfSkpfWFzeW5jKmNyZWF0ZUludGVydmFsKGUsdCl7bGV0IGk9KCk9Pnt9LHM9ZT0+e307Y29uc3Qgbj10aGlzLnNldEludGVydmFsKCgoKT0+e2koKX0pLGUpO3Quc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9Pnt0aGlzLmNsZWFySW50ZXJ2YWwobikscygoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKX0pKTt0cnl7Zm9yKDs7KWF3YWl0IG5ldyBQcm9taXNlKCgoZSx0KT0+e2k9ZSx0aGlzLl9yZWplY3RzVG9DYWxsLmRlbGV0ZShzKSxzPXQsdGhpcy5fcmVqZWN0c1RvQ2FsbC5hZGQocyl9KSkseWllbGR9Y2F0Y2goZSl7aWYoISgwLHFlLmlzQWJvcnRFcnJvcikoZSkpdGhyb3cgZX19X2dldFRpbWVyV29ya2VyKCl7cmV0dXJuIG51bGw9PT10aGlzLl90aW1lcldvcmtlciYmKHRoaXMuX3RpbWVyV29ya2VyPW5ldyAkZS5Xb3JrZXIobmV3IFVSTChpLnAraS51KDg0MjA2KSxpLmIpLHtuYW1lOiJUaW1lciB3b3JrZXIiLGxhbmd1YWdlOndpbmRvdy5sYW5ndWFnZX0pLHRoaXMuX3RpbWVyV29ya2VyLm9ubWVzc2FnZT10aGlzLl9wcm9jZXNzTWVzc2FnZSksdGhpcy5fdGltZXJXb3JrZXJ9X3NldFRpbWVvdXRJbXBsKGUsdCxpKXtjb25zdCBzPXRoaXMuX25leHRUaW1lcklkKCk7cmV0dXJuIHRoaXMuX3RpbWVyc01hcC5zZXQocyx7Y2FsbGJhY2s6ZSx0eXBlOml9KSx0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJzZXRUaW1lb3V0IixkZWxheTp0LHR1cm5hcm91bmQ6c30pLHN9X2RlbGV0ZVRpbWVyRnJvbU1hcChlKXtpZih0aGlzLl90aW1lcnNNYXAuZGVsZXRlKGUpLDA9PT10aGlzLl90aW1lcnNNYXAuc2l6ZSl7Y29uc3QgZT10aGlzLl9zZXRUaW1lb3V0SW1wbCgoKCk9PnsxPT09dGhpcy5fdGltZXJzTWFwLnNpemUmJnRoaXMuX3RpbWVyc01hcC5oYXMoZSkmJih0aGlzLl90aW1lcnNNYXAuZGVsZXRlKGUpLHRoaXMuX3RpbWVyV29ya2VyPy50ZXJtaW5hdGUoKSx0aGlzLl90aW1lcldvcmtlcj1udWxsKX0pLDZlNCwidGVybWluYWxfdGltZXIiKX19X25leHRUaW1lcklkKCl7cmV0dXJuIHRoaXMuX3RpbWVySWRDb3VudGVyKyt9fSxLZT1uZXcgU2V0KFsiY2hhcnRfc3RvcmFnZV9oaWJlcm5hdGlvbl9kZWxheV82MG1pbiIsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzVtaW4iXSk7dmFyIFhlOyFmdW5jdGlvbihlKXtlW2UuT25lTWludXRlPTZlNF09Ik9uZU1pbnV0ZSIsZVtlLkZpdmVNaW51dGVzPTNlNV09IkZpdmVNaW51dGVzIixlW2UuVGVuTWludXRlcz02ZTVdPSJUZW5NaW51dGVzIixlW2UuU2l4dHlNaW51dGVzPTM2ZTVdPSJTaXh0eU1pbnV0ZXMifShYZXx8KFhlPXt9KSk7Y29uc3QgWmU9bmV3IGguV2F0Y2hlZFZhbHVlKEplKCkpO2Z1bmN0aW9uIEplKCl7cmV0dXJuKDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iKT8zNmU1OigwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIik/NmU1OigwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzVtaW4iKT8zZTU6NmU0fSgwLFBlLm9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQpKCkuc3Vic2NyaWJlKG51bGwsKGU9PntpZighZnVuY3Rpb24oZSl7cmV0dXJuIEtlLmhhcyhlKX0oZSkpcmV0dXJuO2NvbnN0IHQ9SmUoKTtaZS5zZXRWYWx1ZSh0LCExKX0pKTtjb25zdCBRZT1aZS5yZWFkb25seSgpLGV0PSgwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJuZXdfc3RvcmFnZV9zdWJzY3JpcHRpb25fdXJsIik7ZnVuY3Rpb24gdHQoZSl7Y29uc3QgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49ImNoYXJ0LXN0b3JhZ2Utbm90aWZpY2F0aW9ucyJdJyk7cmV0dXJuIHQ/LmhyZWY/ZT9uZXcgVVJMKGUsdC5ocmVmKTpuZXcgVVJMKHQuaHJlZik6bnVsbH12YXIgaXQ7ZnVuY3Rpb24gc3QoZSx0KXtyZXR1cm4gQm9vbGVhbihlLm1ldGFJbmZvLnVpZC52YWx1ZSgpKSYmIXQuY29udGFpbnNEYXRhJiYhdC5vbldpZGdldCYmZnVuY3Rpb24oKXtpZighKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpKXJldHVybiEwO2NvbnN0IGU9L1RyYWRpbmdWaWV3XC8oXGQrKVwuKFxkKylcLihcZCspXC4/Ly5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQpO2lmKG51bGw9PT1lKXJldHVybiEwO2NvbnN0IHQ9TnVtYmVyKGVbMV0pLTEsaT1OdW1iZXIoZVsyXSktMTUscz1OdW1iZXIoZVszXSktMDtpZih0PjB8fDA9PT10JiZpPjB8fDA9PT10JiYwPT09aSYmcz4wKXJldHVybiEwO3JldHVybiExfSgpJiZudWxsIT09dHQoKX0hZnVuY3Rpb24oZSl7ZVtlLk1pbk1ham9yVmVyc2lvbj0xXT0iTWluTWFqb3JWZXJzaW9uIixlW2UuTWluTWlub3JWZXJzaW9uPTE1XT0iTWluTWlub3JWZXJzaW9uIixlW2UuTWluUGF0Y2hWZXJzaW9uPTBdPSJNaW5QYXRjaFZlcnNpb24ifShpdHx8KGl0PXt9KSk7Y29uc3QgbnQ9KDAsYy5nZXRMb2dnZXIpKCJDaGFydFN0b3JhZ2VDaGFuZ2VzU3Vic2NyaXB0aW9uIikKO2NsYXNzIHJ0IGV4dGVuZHMgemUuUGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKGU9PnRoaXMuX29uTWVzc2FnZShlKSkpLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9vbkNoYW5nZVZpc2liaWxpdHlCb3VuZD10aGlzLl9vbkNoYW5nZVZpc2liaWxpdHkuYmluZCh0aGlzKSx0aGlzLl9oaWJlcm5hdGVUaW1lcklkPW51bGwsdGhpcy5faGliZXJuYXRlRGVsYXk9UWUuc3Bhd24oKSx0aGlzLl9iZWZvcmVVbmhpYmVybmF0aW5nPW5ldyBmLkRlbGVnYXRlLHRoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcz1uZXcgU2V0LHRoaXMuX2hhdmVFdmVyQmVlbkhpYmVybmF0ZWQ9ITEsdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMSx0aGlzLl9maXJlQmVmb3JlVW5oaWJlcm5hdGluZ09uUmVjb25uZWN0VGltZXJJZD0wLHRoaXMuX3JlY29ubmVjdD0oKT0+e3RoaXMuX3RyeVJlY29ubmVjdCgpfSx0aGlzLl9jaGFydFdpZGdldHNDb2xsZWN0aW9uPWUsdGhpcy5fbGF5b3V0VmlzaWJpbGl0eT1lLnJlc2l6ZXJCcmlkZ2UoKS52aXNpYmxlLnNwYXduKCksdGhpcy5fbGF5b3V0VmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VWaXNpYmlsaXR5Qm91bmQse2NhbGxXaXRoTGFzdDohMH0pLEllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zdWJzY3JpcHRpb25faW5pdGlhbF9jb25uZWN0IiksdGhpcy5fY29ubmVjdGlvblN0YXR1cy5zdWJzY3JpYmUoKGU9PntlPT09VWUuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQmJkllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zdWJzY3JpcHRpb25fZGlzY29ubmVjdGVkIil9KSksdGhpcy5fc3Vic2NyaWJlRm9yU2hhcmluZ0xheW91dD10LHRoaXMuY29ubmVjdCgpLHRoaXMuX2hpYmVybmF0ZURlbGF5LnN1YnNjcmliZSgoZT0+e251bGwhPT10aGlzLl9oaWJlcm5hdGVUaW1lcklkJiZ0aGlzLl9zY2hlZHVsZUhpYmVybmF0aW9uKGUpfSkpLHRoaXMuX2NoYXJ0V2lkZ2V0c0NvbGxlY3Rpb24ubWV0YUluZm8udWlkLnN1YnNjcmliZSh0aGlzLl9yZWNvbm5lY3QpfWRlc3Ryb3koKXt0aGlzLl9sYXlvdXRWaXNpYmlsaXR5LmRlc3Ryb3koKSx0aGlzLl9oaWJlcm5hdGVEZWxheS5kZXN0cm95KCksdGhpcy5fY2hhcnRXaWRnZXRzQ29sbGVjdGlvbi5tZXRhSW5mby51aWQudW5zdWJzY3JpYmUodGhpcy5fcmVjb25uZWN0KSx0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9kZXN0cm95ZWQ9ITB9c3Vic2NyaWJlT25DaGFuZ2VzKGUpe3RoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcy5hZGQoZSl9dW5zdWJzY3JpYmVPbkNoYW5nZXMoZSl7dGhpcy5fb25DaGFuZ2VzQ2FsbGJhY2tzLmRlbGV0ZShlKX1iZWZvcmVVbmhpYmVybmF0aW5nKCl7cmV0dXJuIHRoaXMuX2JlZm9yZVVuaGliZXJuYXRpbmd9YXN5bmMgX3ByZXBhcmVQYXJhbXNGb3JDb25uZWN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRXaWRnZXRzQ29sbGVjdGlvbi5tZXRhSW5mby51aWQudmFsdWUoKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KCJTdWJzY3JpcHRpb24gaXMgYmVpbmcgZGVzdHJveWVkIik7Y29uc3QgaT1hd2FpdCgwLEdlLmdldFN0b3JhZ2VUYXJnZXQpKHQsIiIsMCkscz10dChldD9gL2F1dGgvY2hhcnRzLXN0b3JhZ2UvbGF5b3V0LyR7dH0vc3Vic2NyaWJlYDpgL2NoYXJ0cy1zdG9yYWdlL2xheW91dC8ke3R9L3N1YnNjcmliZWApO251bGwhPT1zPyhzLnNlYXJjaFBhcmFtcy5kZWxldGUoImp3dCIpLGV0fHxzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImp3dCIsaS50b2tlbiksZXQ/cy5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpZCIsInByaXZhdGUiKTp0aGlzLl9zdWJzY3JpYmVGb3JTaGFyaW5nTGF5b3V0JiZ3aW5kb3cudXNlci5pZCYmd2luZG93LnVzZXIuaXNfcHJvJiZzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImlkIiwiIit3aW5kb3cudXNlci5pZCksdGhpcy5fdXJsPXMudG9TdHJpbmcoKSk6dGhpcy5fdXJsPSIifV90cnlSZWNvbm5lY3RJbXBsKCl7c3VwZXIuX3RyeVJlY29ubmVjdEltcGwoKSxJZS50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfc3Vic2NyaXB0aW9uX3JlY29ubmVjdGluZyIpfV9vbk9wZW5DYWxsYmFjaygpe3N1cGVyLl9vbk9wZW5DYWxsYmFjaygpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3QmJihudC5sb2dOb3JtYWwoIlVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fYmVmb3JlVW5oaWJlcm5hdGluZy5maXJlKCksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMSxjbGVhclRpbWVvdXQodGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdFRpbWVySWQpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3RUaW1lcklkPTApfV9vbk1lc3NhZ2UoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiV3JvbmcgbWVzc2FnZSB0eXBlLCBleHBlY3RlZCBzdHJpbmciKTtjb25zdCB0PUpTT04ucGFyc2UoZSk7T2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9KDAsamUucGFyc2VMaW5lVG9vbHNBbmRHcm91cHNEVE8pKGVbMV0sIiIpLGk9ZVswXTtsZXQgcz0wO2k9PT1HZS5zaGFyZWRDaGFydElkP3M9MTppPT09R2UuZ2xvYmFsbHlTaGFyZWRDaGFydElkJiYocz0yKSx0aGlzLl9jaGFydFdpZGdldHNDb2xsZWN0aW9uLmFwcGx5TGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oaSx0LHMpfSkpLHRoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcy5mb3JFYWNoKCh0PT50KGUpKSl9X29uQ2hhbmdlVmlzaWJpbGl0eSgpe2NvbnN0IGU9dGhpcy5fbGF5b3V0VmlzaWJpbGl0eS52YWx1ZSgpO250LmxvZ05vcm1hbChgVmlzaWJpbGl0eSBjaGFuZ2VkIHRvICR7ZX0sIGNvbm5lY3Rpb24gc3RhdHVzOiAke3RoaXMuY29ubmVjdGlvblN0YXR1cygpLnZhbHVlKCl9YCksCmU/dGhpcy5jb25uZWN0aW9uU3RhdHVzKCkudmFsdWUoKSE9PVVlLkNvbm5lY3Rpb25TdGF0dXMuT3Blbj8odGhpcy5jb25uZWN0aW9uU3RhdHVzKCkudmFsdWUoKT09PVVlLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkJiZ0aGlzLmNvbm5lY3QoKSx0aGlzLl9iZWZvcmVVbmhpYmVybmF0aW5nLmZpcmUoKSx0aGlzLl9oYXZlRXZlckJlZW5IaWJlcm5hdGVkJiYobnQubG9nTm9ybWFsKCJDb25uZWN0IGR1ZSB0byBiZWNvbWluZyB2aXNpYmxlIiksSWUudGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3VuaGliZW5hdGVfc3Vic2NyaXB0aW9uIikpKTooKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpfHxKLkNoZWNrTW9iaWxlLmlPUygpfHxKLkNoZWNrTW9iaWxlLkFuZHJvaWQoKSkmJihudC5sb2dOb3JtYWwoIlNjaGVkdWxlIHVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMCxjbGVhclRpbWVvdXQodGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdFRpbWVySWQpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3RUaW1lcklkPXNldFRpbWVvdXQoKCgpPT57bnQubG9nTm9ybWFsKCJDYW5jZWwgU2NoZWR1bGVkIHVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMX0pLDVlMykpOmV8fHRoaXMuX3NjaGVkdWxlSGliZXJuYXRpb24oUWUudmFsdWUoKSl9X3NjaGVkdWxlSGliZXJuYXRpb24oZSl7bnVsbCE9PXRoaXMuX2hpYmVybmF0ZVRpbWVySWQmJlllLmNsZWFyVGltZW91dCh0aGlzLl9oaWJlcm5hdGVUaW1lcklkKSx0aGlzLl9oaWJlcm5hdGVUaW1lcklkPVllLnNldFRpbWVvdXQoKCgpPT50aGlzLl9kaXNjb25uZWN0SWZJbnZpc2libGUoKSksZSl9X2Rpc2Nvbm5lY3RJZkludmlzaWJsZSgpe3RoaXMuX2hpYmVybmF0ZVRpbWVySWQ9bnVsbCx0aGlzLl9sYXlvdXRWaXNpYmlsaXR5LnZhbHVlKCl8fChudC5sb2dOb3JtYWwoIkRpc2Nvbm5lY3QgZHVlIHRvIGJlY29taW5nIGludmlzaWJsZSIpLHRoaXMuZGlzY29ubmVjdCgpLEllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19oaWJlbmF0ZV9zdWJzY3JpcHRpb24iKSx0aGlzLl9oYXZlRXZlckJlZW5IaWJlcm5hdGVkPSEwKX19dmFyIG90PWkoNzkxNDI3KSxhdD1pKDYwNTI1NyksbHQ9aSgxNTAxNTApLGN0PWkoNjQxNTkzKSxodD1pKDU1NzA2NSk7Y29uc3QgZHQ9KDAsYy5nZXRMb2dnZXIpKCJDbGlwYm9hcmQiKTt2YXIgdXQ7IWZ1bmN0aW9uKGUpe2UuTWFnaWNBdHRyTmFtZT0iZGF0YS10cmFkaW5ndmlldy1jbGlwIn0odXR8fCh1dD17fSkpO2NsYXNzIHB0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2U9ZX13cml0ZShlKXtyZXR1cm4oMCxodC53cml0ZUltcGwpKHRoaXMuX3RvUmF3KGUpLHRoaXMuX2UpfV90b1JhdyhlKXtjb25zdCB0PXtmaWxlczpbXX07dC50ZXh0PWUudGV4dCx2b2lkIDAhPT1lLmFwcD90Lmh0bWw9dGhpcy5fc2VyaWFsaXplQXBwRGF0YShlLmFwcCxlLnRleHQpOmUuaHRtbCYmKHQuaHRtbD1lLmh0bWwpO2Zvcihjb25zdCBpIG9mIGUuZmlsZXN8fFtdKXQuZmlsZXMucHVzaChpKTtyZXR1cm4gdH1fc2VyaWFsaXplQXBwRGF0YShlLHQpe2NvbnN0IGk9KDAsY3QuaHRtbEVzY2FwZSkoZSkscz10PygwLGN0Lmh0bWxFc2NhcGUpKHQuc2xpY2UoMCwyNTYpKToiJiMxMjgyMDA7IjtyZXR1cm5gPG1ldGEgY2hhcnNldD0idXRmLTgiPjxzcGFuICR7dXQuTWFnaWNBdHRyTmFtZX09IiR7aX0iPiR7c308L3NwYW4+YH19Y2xhc3MgX3R7Y29uc3RydWN0b3IoZSl7dGhpcy5fZT1lfWFzeW5jIHJlYWQoKXt0aGlzLl9lJiYwPT09dGhpcy5fZS5ldmVudFBoYXNlJiYoZHQubG9nV2FybigiQ2Fubm90IHVzZSBhbiBhbHJlYWR5IGRpc3BhdGNoZWQgQ2xpcGJvYXJkRXZlbnQgZm9yIHJlYWRpbmciKSx0aGlzLl9lPW51bGwpO2NvbnN0IGU9dGhpcy5fZT90aGlzLl9yZWFkVXNpbmdFdmVudCh0aGlzLl9lKTphd2FpdCB0aGlzLl9yZWFkVXNpbmdBcGkoKTtyZXR1cm4gdGhpcy5fZnJvbVJhdyhlKX1fcmVhZFVzaW5nRXZlbnQoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZSkoZS5jbGlwYm9hcmREYXRhKTtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT17ZmlsZXM6W119O2ZvcihsZXQgZT0wO2U8dC5maWxlcy5sZW5ndGg7ZSsrKWkuZmlsZXMucHVzaCh0LmZpbGVzW2VdKTtmb3IobGV0IGU9MDtlPHQuaXRlbXMubGVuZ3RoO2UrKyl7Y29uc3Qgcz10Lml0ZW1zW2VdOyJzdHJpbmciPT09cy5raW5kJiYoInRleHQvcGxhaW4iPT09cy50eXBlP2kudGV4dD10LmdldERhdGEocy50eXBlKToidGV4dC9odG1sIj09PXMudHlwZT9pLmh0bWw9dC5nZXREYXRhKHMudHlwZSk6aS5maWxlcy5wdXNoKG5ldyBCbG9iKFt0LmdldERhdGEocy50eXBlKV0se3R5cGU6cy50eXBlfSkpKX1yZXR1cm4gaX1hc3luYyBfcmVhZFVzaW5nQXBpKCl7Y29uc3QgZT0oMCxodC5nZXRDbGlwYm9hcmQpKCk7aWYoIWV8fCFlLnJlYWQpdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigiQ2xpcGJvYXJkQXBpIGlzIG5vdCBzdXBwb3J0ZWQiLCJOb3RTdXBwb3J0ZWRFcnJvciIpO2xldCB0LGk7Y29uc3Qgcz1bXSxuPWF3YWl0IGUucmVhZCgpO2Zvcihjb25zdCBlIG9mIG4pZm9yKGNvbnN0IG4gb2YgZS50eXBlcykidGV4dC9odG1sIj09PW4/dD1lLmdldFR5cGUobikudGhlbih0aGlzLl9yZWFkQmxvYkFzVGV4dCk6InRleHQvcGxhaW4iPT09bj9pPWUuZ2V0VHlwZShuKS50aGVuKHRoaXMuX3JlYWRCbG9iQXNUZXh0KTpzLnB1c2goZS5nZXRUeXBlKG4pKTtyZXR1cm57dGV4dDphd2FpdCBpLGh0bWw6YXdhaXQgdCxmaWxlczphd2FpdCBQcm9taXNlLmFsbChzKX19X2Zyb21SYXcoZSl7Y29uc3QgdD17fTtpZih2b2lkIDAhPT1lLnRleHQmJih0LnRleHQ9ZS50ZXh0KSx2b2lkIDAhPT1lLmh0bWwpe2NvbnN0IGk9dGhpcy5fcGFyc2VBcHBEYXRhKGUuaHRtbCk7aT90LmFwcD1pOnQuaHRtbD1lLmh0bWx9CnJldHVybiBlLmZpbGVzLmxlbmd0aD4wJiYodC5maWxlcz1lLmZpbGVzKSx0fV9wYXJzZUFwcERhdGEoZSl7aWYoLTE9PT1lLnNsaWNlKDAsMTAyNCkuaW5kZXhPZih1dC5NYWdpY0F0dHJOYW1lKSlyZXR1cm47Y29uc3QgdD0obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsInRleHQvaHRtbCIpLnF1ZXJ5U2VsZWN0b3IoYFske3V0Lk1hZ2ljQXR0ck5hbWV9XWApO3JldHVybiB0P3QuZ2V0QXR0cmlidXRlKHV0Lk1hZ2ljQXR0ck5hbWUpfHwiIjp2b2lkIDB9X3JlYWRCbG9iQXNUZXh0KGUpe3JldHVybiBuZXcgUHJvbWlzZSgoKHQsaSk9Pntjb25zdCBzPW5ldyBGaWxlUmVhZGVyO3Mub25sb2FkZW5kPSgpPT57dChzLnJlc3VsdCl9LHMub25lcnJvcj0oKT0+e2kocy5lcnJvcil9LHMucmVhZEFzVGV4dChlKX0pKX19Y2xhc3MgbXR7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FsbGJhY2tzPU9iamVjdC5hc3NpZ24oe30sZSksdGhpcy5fYm91bmRPbkNvcHk9dGhpcy5fb25Db3B5RXYuYmluZCh0aGlzKSx0aGlzLl9ib3VuZE9uQ3V0PXRoaXMuX29uQ3V0RXYuYmluZCh0aGlzKSx0aGlzLl9ib3VuZE9uUGFzdGU9dGhpcy5fb25QYXN0ZUV2LmJpbmQodGhpcyl9bGlzdGVuKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsdGhpcy5fYm91bmRPbkNvcHkpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImN1dCIsdGhpcy5fYm91bmRPbkN1dCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGFzdGUiLHRoaXMuX2JvdW5kT25QYXN0ZSl9YXN5bmMgcGVlaygpe2lmKCJncmFudGVkIiE9PShhd2FpdCBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoe25hbWU6ImNsaXBib2FyZC1yZWFkIn0pKS5zdGF0ZSl0aHJvdyBuZXcgRXJyb3IoImNsaXBib2FyZC1yZWFkIGlzIG5vdCBncmFudGVkIik7cmV0dXJuIG5ldyBfdChudWxsKS5yZWFkKCl9dWlSZXF1ZXN0Q29weShlKXt0aGlzLl9jYWxsYmFja3MuY29weVJlcXVlc3RlZCYmdGhpcy5fY2FsbGJhY2tzLmNvcHlSZXF1ZXN0ZWQobmV3IHB0KG51bGwpLGUpfXVpUmVxdWVzdEN1dChlKXt0aGlzLl9jYWxsYmFja3MuY3V0UmVxdWVzdGVkJiZ0aGlzLl9jYWxsYmFja3MuY3V0UmVxdWVzdGVkKG5ldyBwdChudWxsKSxlKX11aVJlcXVlc3RQYXN0ZShlKXt0aGlzLl9jYWxsYmFja3MucGFzdGVSZXF1ZXN0ZWQmJnRoaXMuX2NhbGxiYWNrcy5wYXN0ZVJlcXVlc3RlZChuZXcgX3QobnVsbCksZSl9ZGVzdHJveSgpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvcHkiLHRoaXMuX2JvdW5kT25Db3B5KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjdXQiLHRoaXMuX2JvdW5kT25DdXQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhc3RlIix0aGlzLl9ib3VuZE9uUGFzdGUpfV9vbkNvcHlFdihlKXtlLmRlZmF1bHRQcmV2ZW50ZWR8fHRoaXMuX2NhbGxiYWNrcy5jb3B5UmVxdWVzdGVkJiZ0aGlzLl9jYWxsYmFja3MuY29weVJlcXVlc3RlZChuZXcgcHQoZSkpfV9vbkN1dEV2KGUpe2UuZGVmYXVsdFByZXZlbnRlZHx8dGhpcy5fY2FsbGJhY2tzLmN1dFJlcXVlc3RlZCYmdGhpcy5fY2FsbGJhY2tzLmN1dFJlcXVlc3RlZChuZXcgcHQoZSkpfV9vblBhc3RlRXYoZSl7ZS5kZWZhdWx0UHJldmVudGVkfHx0aGlzLl9jYWxsYmFja3MucGFzdGVSZXF1ZXN0ZWQmJnRoaXMuX2NhbGxiYWNrcy5wYXN0ZVJlcXVlc3RlZChuZXcgX3QoZSkpfX12YXIgZ3Q9aSg3MjEzNjkpO2Z1bmN0aW9uIGZ0KGUpe2NvbnN0IHQ9ZS50YXJnZXQ7cmV0dXJuIG51bGwhPT10JiYxPT09dC5ub2RlVHlwZSYmKDAsZ3QuaXNUZXh0RWRpdGluZ0ZpZWxkKSh0KX1mdW5jdGlvbiBTdChlKXtjb25zdCB0PWUudGFyZ2V0O2lmKG51bGw9PT10KXJldHVybiExO2NvbnN0IGk9KHQub3duZXJEb2N1bWVudHx8dCkuZ2V0U2VsZWN0aW9uKCk7cmV0dXJuIG51bGwhPT1pJiYhaS5pc0NvbGxhcHNlZH1jbGFzcyB2dCBleHRlbmRzIG10e19vbkNvcHlFdihlKXtpZighZnQoZSkmJiFTdChlKSlyZXR1cm4gc3VwZXIuX29uQ29weUV2KGUpfV9vbkN1dEV2KGUpe2lmKCFmdChlKSYmIVN0KGUpKXJldHVybiBzdXBlci5fb25DdXRFdihlKX1fb25QYXN0ZUV2KGUpe2lmKCFmdChlKSlyZXR1cm4gc3VwZXIuX29uUGFzdGVFdihlKX19dmFyIHl0PWkoOTE4Nzc5KSxidD1pKDgzOTQyNiksd3Q9aSgxNDQ1NTUpLEN0PWkoNjM5Nzg4KSxQdD1pKDczNjUzMSksVHQ9aSg0NTk5OTQpLHh0PWkoNzI4NTQpLE10PWkoMzg2OTMxKSxJdD1pKDQyNTY1OSksTHQ9aSgyOTExMjkpLEF0PWkoNzY4NzYwKSxrdD1pKDEwMjUzKSxEdD1pKDY4Mjc3OSksRXQ9aSg5OTQ1NDApLFJ0PWkoNzQ0NTM0KTtsZXQgVnQ7Y2xhc3MgQnQgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fc3Vic2NyaWJlPWU9Pnt0aGlzLl9zZXRWaXNpYmlsaXR5KGUpfX1zaG93KCl7dGhpcy5fbG9hZCgpLnRoZW4oKGU9PmUuc2hvdygpKSl9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBWdHx8KFZ0PW5ldyBCdCksVnR9X2xvYWQoKXsKcmV0dXJuIFByb21pc2UuYWxsKFtpLmUoNjIyNyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSg5NjU4NyksaS5lKDI3NTE3KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDk4MDg0KSxpLmUoOTM0MjEpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoNzE0MTQpLGkuZSg4OTIwNCksaS5lKDg5NTU4KSxpLmUoOTc0NCksaS5lKDY5ODYxKSxpLmUoMTk1MTMpLGkuZSg3MjUxMiksaS5lKDU1MDExKSxpLmUoNzA2NTYpLGkuZSg3MTkwMSksaS5lKDgxMjQ3KSxpLmUoMzkxNiksaS5lKDkwMzc4KSxpLmUoNzkyNyksaS5lKDY2MjI5KSxpLmUoNzkzOTgpLGkuZSgzMjM4NyksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0ODYyMCksaS5lKDUwMDQ5KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDc3NTc4KSxpLmUoOTkzMDkpLGkuZSg3NjAzMyksaS5lKDI0ODc5KSxpLmUoNTc2MzgpLGkuZSg4NDk1MildKS50aGVuKGkuYmluZChpLDkyMDY0KSkudGhlbigoZT0+KHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPW5ldyBlLk9iamVjdFRyZWVEaWFsb2dSZW5kZXJlcix0aGlzLl9kaWFsb2cudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHRoaXMuX2RpYWxvZykpKX19dmFyIE50PWkoNjI4MDYpLE90PWkoNzY4MjkyKTt2YXIgV3QsRnQ9aSg4OTkyMzUpO2FzeW5jIGZ1bmN0aW9uIEh0KGUsdCxzLG4scixvPSJkZWZhdWx0Iil7bGV0IGwsYz1bXTtjb25zdCBoPWUubW9kZWwoKS5tb2RlbCgpLGQ9KDAsYS5jbG9uZSkodCksdT1uZXcgT3QuUHJvcGVydHkoe2lucHV0czpkfSksXz1mdW5jdGlvbihlLHQpe3JldHVybiJzeW1ib2wiPT09dD9lLmlucHV0cy5maWx0ZXIoKHQ9PnQuaWQ9PT1lLnN5bWJvbElucHV0SWQoKSkpOmUuaW5wdXRzLmZpbHRlcigoZT0+ZS5jb25maXJtKSl9KHMsbyksbT0oKT0+e2wmJmgucmVtb3ZlQ3VzdG9tU291cmNlKGwpfSxnPSgpPT57bSgpLHIoKX0sZj1lPT57bih7aW5wdXRzOmUscGFyZW50U291cmNlczpjfSksbSgpfSxTPV8uZmlsdGVyKE50LmlzVGltZU9yUHJpY2VOb3RIaWRkZW5JbnB1dCk7aWYoUy5sZW5ndGg+MCl0cnl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDU1MDc5KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTE2ODIpLGkuZSg5NzY2MCksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSgzOTc4NiksaS5lKDUwNjIyKSxpLmUoNjA4MiksaS5lKDI3MzM3KSxpLmUoMjc3MzYpLGkuZSgzODQ3OSksaS5lKDkwMzMwKSxpLmUoOTYxODEpLGkuZSgyMDU2NCksaS5lKDQ1MzMxKSxpLmUoNDYyNDUpLGkuZSg2OTgwMyksaS5lKDMyMzg3KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzAzOSldKS50aGVuKGkuYmluZChpLDU0MTY4NikpLG49YXdhaXQgdC5zZWxlY3RJbnB1dFZhbHVlc09uQ2hhcnQoZSxTLHUscy5zaG9ydERlc2NyaXB0aW9uLHMuaW5wdXRzKTtpZihsPW4uY3VzdG9tU291cmNlSWQsbi5kZXN0UGFuZSYmb3QuU3R1ZHlNZXRhSW5mby5nZXRTb3VyY2VJbnB1dElkcyhzKS5sZW5ndGg+MCl7Y29uc3QgZT1uLmRlc3RQYW5lLm1haW5EYXRhU291cmNlKCk7Yz1lPT09aC5tYWluU2VyaWVzKCk/W106W2VdfWVsc2UgYz1bXX1jYXRjaChlKXtyZXR1cm4gdm9pZCBnKCl9Uy5sZW5ndGghPT1fLmxlbmd0aD9Qcm9taXNlLmFsbChbaS5lKDU1MDc5KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTE2ODIpLGkuZSg5NzY2MCksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSgzOTc4NiksaS5lKDUwNjIyKSxpLmUoNjA4MiksaS5lKDI3MzM3KSxpLmUoMjc3MzYpLGkuZSgzODQ3OSksaS5lKDkwMzMwKSxpLmUoOTYxODEpLGkuZSgyMDU2NCksaS5lKDQ1MzMxKSxpLmUoNDYyNDUpLGkuZSg2OTgwMyksaS5lKDMyMzg3KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzAzOSldKS50aGVuKGkuYmluZChpLDQyMTIwNSkpLnRoZW4oKHQ9PnsKY29uc3Qgbj1uZXcgdC5Db25maXJtSW5wdXRzRGlhbG9nUmVuZGVyZXIoZnVuY3Rpb24oZSl7aWYoInN5bWJvbCI9PT1lKXJldHVybiBwLnQobnVsbCx2b2lkIDAsaSgzNDQzMjApKTtyZXR1cm4gcC50KG51bGwsdm9pZCAwLGkoNzQ3MjU5KSl9KG8pLF8sdSxvLHMsZixnLCgwLEZ0LmdldFRpbWV6b25lTmFtZSkoZS5tb2RlbCgpKSk7cmV0dXJuIG4uc2hvdygpLG59KSk6Zih1LnN0YXRlKCkuaW5wdXRzfHx7fSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TeW1ib2w9InN5bWJvbCJ9KFd0fHwoV3Q9e30pKTtsZXQgenQ9bnVsbDt2YXIgVXQ9aSg2NTQ2MzYpLEd0PWkoMTg5ODYzKSxqdD1pKDIyMzU1Nik7ZnVuY3Rpb24gcXQoZSx0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9ZnVuY3Rpb24gJHQoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+e2Zvcihjb25zdCBpIGluIHQpaWYocXQodCxpKSl7Y29uc3Qgcz10W2ldLG49ZVtpXTtuP24ucHVzaChzKTplW2ldPVtzXX1yZXR1cm4gZX0pLHt9KX12YXIgWXQsS3Q9aSgxNTEyMSksWHQ9aSg0NjQ4MzUpOyFmdW5jdGlvbihlKXtlW2UuQWNjZWxlcmF0aW9uUGVyTVNlY1BpeGVscz0uMDAzXT0iQWNjZWxlcmF0aW9uUGVyTVNlY1BpeGVscyIsZVtlLk1heFNwZWVkUGVyTVNlY1BpeGVscz0xLjFdPSJNYXhTcGVlZFBlck1TZWNQaXhlbHMifShZdHx8KFl0PXt9KSk7Y2xhc3MgWnR7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2hhcnRNb2RlbD1udWxsLHRoaXMuX2FuaW1hdGlvbj1udWxsLHRoaXMuX2NoYXJ0PWUsdGhpcy5fY2hhcnQud2l0aE1vZGVsKHRoaXMsKCgpPT57dGhpcy5fY2hhcnRNb2RlbD10aGlzLl9jaGFydC5tb2RlbCgpfSkpfWRlc3Ryb3koKXt0aGlzLl9hbmltYXRpb24/LnN0b3AoKX1tb3ZlKGUpe2lmKG51bGwhPT10aGlzLl9jaGFydE1vZGVsKXtpZih0aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD0uMDAzLGk9MS4xLHM9TWF0aC5yb3VuZChpL3QpO3RoaXMuX21vdmVJbXBsKCgobixyLG8pPT57Y29uc3QgYT1NYXRoLm1pbihyLHMpLGw9ZSp0Kk1hdGgucG93KGEsMikvMjtpZihyPD1zKXJldHVybiBuK2w7Y29uc3QgYz1OdW1iZXIuaXNGaW5pdGUobyk/TWF0aC5tYXgoMCxzLW8pOjA7cmV0dXJuIG4rbCtlKihyLWEtYykqaStlKihpKmMtdCpNYXRoLnBvdyhjLDIpLzIpfSksKGU9Pk1hdGgubWF4KDAscy1lKStzKSl9fW1vdmVCeUJhcihlKXtpZihudWxsIT09dGhpcy5fY2hhcnRNb2RlbCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLGk9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYodC5pc0VtcHR5KCl8fG51bGw9PT1pKXJldHVybjtjb25zdCBzPTMwMCxuPWkubGFzdEJhcigpO3RoaXMuX21vdmVJbXBsKCgoaSxyKT0+e2NvbnN0IG89TWF0aC5mbG9vcihNYXRoLm1heCgwLHItcykvMTAwKSsxLGE9bitlKm8sbD10LmluZGV4VG9Db29yZGluYXRlKG4pO3JldHVybiBpKyh0LmluZGV4VG9Db29yZGluYXRlKGEpLWwpfSksKCgpPT4wKSwhMCl9fXN0b3BNb3ZlKCl7dGhpcy5fYW5pbWF0aW9uPy5zdG9wKCksdGhpcy5fYW5pbWF0aW9uPW51bGx9c2Nyb2xsVG9SZWFsdGltZShlLHQpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsKXJldHVybjt0aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoZSx0KTtjb25zdCBpPXRoaXMuX2NoYXJ0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpOyFpLmxvY2suZGF0ZVJhbmdlLnZhbHVlKCkmJmkubG9jay50cmFja1RpbWUudmFsdWUoKSYmaS5jaGFydE1vZGVscygpLnZhbHVlKCkuZm9yRWFjaCgodD0+e3QhPT10aGlzLl9jaGFydE1vZGVsJiZ0LnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoZSl9KSl9c2Nyb2xsVG9GaXJzdEJhcigpe3RoaXMuX2NoYXJ0TW9kZWw/LnRpbWVTY2FsZSgpLnNjcm9sbFRvRmlyc3RCYXIoKX1fbW92ZUltcGwoZSx0LGkpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsKXJldHVybjtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuO2lmKGkmJm51bGwhPT1zLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSl7Y29uc3QgZT1zLmluZGV4VG9Db29yZGluYXRlKHMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLmxhc3RCYXIoKSkrcy5iYXJTcGFjaW5nKCkvMjtNYXRoLmFicyhzLndpZHRoKCktZSk+cy5iYXJTcGFjaW5nKCkvNiYmcy5zZXRSaWdodE9mZnNldChNYXRoLnJvdW5kKHMucmlnaHRPZmZzZXQoKSkpfWNvbnN0IG49cGVyZm9ybWFuY2Uubm93KCk7bGV0IHI9MS8wO3RoaXMuX2FuaW1hdGlvbj17Z2V0U3RhcnRQb3NpdGlvbjooKT0+MCxnZXRQb3NpdGlvbjp0PT4odD1NYXRoLm1pbihyLHQpLGUoMCx0LW4sci10KSksZmluaXNoZWQ6ZT0+ZT49cixzdG9wOigpPT57Y29uc3QgZT1wZXJmb3JtYW5jZS5ub3coKS1uO3I9cGVyZm9ybWFuY2Uubm93KCkrdChlKX19LHRoaXMuX2NoYXJ0TW9kZWwubW9kZWwoKS5zdG9wVGltZVNjYWxlQW5pbWF0aW9uKCksdGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnNldFRpbWVTY2FsZUFuaW1hdGlvbih0aGlzLl9hbmltYXRpb24pfX12YXIgSnQ9aSgxODcwNjIpO2xldCBRdD1udWxsO2Z1bmN0aW9uIGVpKGUsdCxzLG4scixvKXsKcmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMjk0MzkpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoMzU3OTQpLGkuZSgxNjc2KSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDgzMDQxKSxpLmUoNTE2ODIpLGkuZSgyMDIpLGkuZSg5NzY2MCksaS5lKDcyNTEyKSxpLmUoMzUxOTgpLGkuZSgxNTYzNCksaS5lKDMzMTIwKSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNTA2MjIpLGkuZSg2MDgyKSxpLmUoMjczMzcpLGkuZSg0MDkxNCksaS5lKDI3NzM2KSxpLmUoODc3NDApLGkuZSg2NzU0MyksaS5lKDIzNjY5KSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDUyNDIpLGkuZSg3ODYzKSxpLmUoNDYyNDUpLGkuZSg1NTI5MCksaS5lKDc0NDcxKSxpLmUoMjAzNzApLGkuZSg3NTYwMyksaS5lKDMyMzg3KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQwNzU0KSxpLmUoOTU1NTQpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg5Njk3MCksaS5lKDI1MjM3KV0pLnRoZW4oaS5iaW5kKGksNDg4OTQ4KSkudGhlbigoaT0+e1F0Py5oaWRlKCk7Y29uc3QgYT1pLkVkaXRPYmplY3REaWFsb2dSZW5kZXJlcjtyZXR1cm4gUXQ9bmV3IGEoZSx0LHMscixvKSxRdC5zaG93KG4pLFF0fSkpfXZhciB0aT1pKDk1NjQzNyk7bGV0IGlpPW51bGw7ZnVuY3Rpb24gc2koZSl7cmV0dXJuIGUmJmUubG9sbGlwb3BzQXRJbmRleH12YXIgbmk9aSg5MjY5OTUpLHJpPWkoMzY4MTEwKSxvaT1pKDMyMjQxOSk7Y29uc3QgYWk9e1tKdC5UYWJOYW1lcy5zeW1ib2xdOiJzeW1ib2wiLFtKdC5UYWJOYW1lcy5sZWdlbmRdOiJsZWdlbmQiLFtKdC5UYWJOYW1lcy5zY2FsZXNdOiJzY2FsZXMiLFtKdC5UYWJOYW1lcy50cmFkaW5nXToidHJhZGluZyIsW0p0LlRhYk5hbWVzLmV2ZW50c106ImV2ZW50cyIsW0p0LlRhYk5hbWVzLmFsZXJ0c106ImFsZXJ0cyIsW0p0LlRhYk5hbWVzLnRpbWV6b25lU2Vzc2lvbnNdOiJjYW52YXMiLFtKdC5UYWJOYW1lcy50ZXh0XToidGV4dCIsW0p0LlRhYk5hbWVzLnN0eWxlXToic3R5bGUiLFtKdC5UYWJOYW1lcy52aXNpYmlsaXR5XToidmlzaWJpbGl0eSJ9LGxpPXtbSnQuVGFiTmFtZXMuc3R5bGVdOiJzdHlsZSIsW0p0LlRhYk5hbWVzLnZpc2liaWxpdHldOiJ2aXNpYmlsaXRpZXMifTthc3luYyBmdW5jdGlvbiBjaShlLHQscz17fSxuLHIpe2NvbnN0IG89bi5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLHtpbml0aWFsVGFiOmwsdGFiTmFtZTpjfT1zO2lmKGMmJiFsJiYocy5pbml0aWFsVGFiPWxpW2NdKSwoMCxvaS5pc1N0dWR5TGluZVRvb2wpKGUpJiZmdW5jdGlvbihlKXtpZighKDAsb2kuaXNTdHVkeUxpbmVUb29sKShlKSlyZXR1cm4hMTtyZXR1cm5bIkxpbmVUb29sRml4ZWRSYW5nZVZvbHVtZVByb2ZpbGUiLCJMaW5lVG9vbFZiUEZpeGVkIiwiTGluZVRvb2xBbmNob3JlZFZvbHVtZVByb2ZpbGUiXS5maWx0ZXIoYS5ub3ROdWxsKS5zb21lKCh0PT5lLnRvb2xuYW1lPT09dCkpfShlKSlyZXR1cm4gby5wcm9wZXJ0aWVzRGVmaW5pdGlvbnNGb3JTb3VyY2UoZSkudGhlbigoaT0+bnVsbCE9PWk/ZWkoZSx0LG5pLnNob3dTdXBwb3J0RGlhbG9nLHMscixpKTpudWxsKSk7aWYoKDAsdGkuaXNTdHVkeSkoZSkmJmZ1bmN0aW9uKGUpe2NvbnN0e3Nob3J0SWQ6dH09ZS5tZXRhSW5mbygpO3JldHVybiJPdmVybGF5Ij09PXR9KGUpfHwoMCxyaS5pc0xpbmVUb29sKShlKSlyZXR1cm4gby5wcm9wZXJ0aWVzRGVmaW5pdGlvbnNGb3JTb3VyY2UoZSkudGhlbigobj0+e2lmKG51bGwhPT1uKXtyZXR1cm4gZnVuY3Rpb24oZSl7CnJldHVybiBQcm9taXNlLmFsbChbaS5lKDM3MDEyKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDkzNDIxKSxpLmUoNzg2NTIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDIwMiksaS5lKDk3NjYwKSxpLmUoNzI1MTIpLGkuZSgzNTE5OCksaS5lKDMzMTIwKSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNTA2MjIpLGkuZSg2MDgyKSxpLmUoMjczMzcpLGkuZSg0MDkxNCksaS5lKDI3NzM2KSxpLmUoODc3NDApLGkuZSg2NzU0MyksaS5lKDM4NDc5KSxpLmUoOTAzMzApLGkuZSg5NjE4MSksaS5lKDIwNTY0KSxpLmUoNTEyNTYpLGkuZSg0NTMzMSksaS5lKDQ1MjQyKSxpLmUoNzg2MyksaS5lKDQ2MjQ1KSxpLmUoNTUyOTApLGkuZSg3NDQ3MSksaS5lKDIwMzcwKSxpLmUoMTc4NjEpLGkuZSgzMjM4NyksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0MDc1NCksaS5lKDk1NTU0KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoOTkzMDkpLGkuZSg1NTIyOSksaS5lKDczNTM1KSxpLmUoMjY1MDEpLGkuZSgxMDk5OSksaS5lKDM4OTczKSxpLmUoOTY5NzApLGkuZSgxMjA2MCldKS50aGVuKGkuYmluZChpLDI3NzU5NykpLnRoZW4oKHQ9PntpaT8uaGlkZSgpO2NvbnN0IGk9dC5Tb3VyY2VQcm9wZXJ0aWVzRWRpdG9yUmVuZGVyZXI7cmV0dXJuIGlpPW5ldyBpKGUpLGlpLnNob3coe3Nob3VsZFJldHVybkZvY3VzOmUuc2hvdWxkUmV0dXJuRm9jdXN9KSxpaX0pKX0oe3Byb3BlcnR5UGFnZXM6bixtb2RlbDp0LHNvdXJjZTplLGFjdGl2ZVBhZ2VJZDpjJiZhaVtjXSxzaG91bGRSZXR1cm5Gb2N1czpzLnNob3VsZFJldHVybkZvY3VzfSl9cmV0dXJuIG51bGx9KSk7aWYoKDAsdGkuaXNTdHVkeVN0dWIpKGUpKXJldHVybiBudWxsO2lmKCgwLHRpLmlzU3R1ZHkpKGUpJiYhc2koZSkpcmV0dXJuIGVpKGUsdCxuaS5zaG93U3VwcG9ydERpYWxvZyxzLHIpO3tjb25zdCB0PXNpKGUpPyJldmVudHMiOmMmJmFpW2NdLGk9bi5nZXRDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcigpO3JldHVybiBpLnNldEFjdGl2ZVBhZ2UodCksaS5zaG93KHMpfX12YXIgaGksZGk9aSg4NzE3MCksdWk9aSg2NzAyMTQpLHBpPWkoMjI3ODI1KSxfaT1pKDc5MTUyMSksbWk9aSg1MDY0NDYpO2NsYXNzIGdpe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fc2hvd2VkPSExLHRoaXMuX2FkZGl0aW9uYWxSZWFkeVByb21pc2U9bnVsbCx0aGlzLl9jdz1lLHRoaXMuX2VsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKG1pLnNjcmVlbiksdC5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50KSx0aGlzLl9jdy53aXRoTW9kZWwodGhpcyx0aGlzLl9jb25uZWN0VG9Nb2RlbCl9ZGVzdHJveSgpe3RoaXMuaGlkZSgpLHRoaXMuX2VsZW1lbnQucmVtb3ZlKCl9c2hvdyhlLHQpe2lmKGUpe2NvbnN0IGU9dGhpcy5fY3cubW9kZWwoKS5tYWluU2VyaWVzKCkuc3RhdHVzKCk7aWYoMSE9PWUmJjIhPT1lKXJldHVybn10aGlzLl9hZGRpdGlvbmFsUmVhZHlQcm9taXNlPXQsdGhpcy5fY3cuc2V0SW5Mb2FkaW5nU3RhdGUoITApLHRoaXMuX3Nob3dlZHx8KHRoaXMuX3Nob3dlZD0hMCx0aGlzLl9zaG93KCkpfWhpZGUoKXt0aGlzLl9jdy5zZXRJbkxvYWRpbmdTdGF0ZSghMSksdGhpcy5fc2hvd2VkJiZ0aGlzLl9oaWRlKCl9aXNTaG93bigpe3JldHVybiB0aGlzLl9zaG93ZWR9X2Nvbm5lY3RUb01vZGVsKCl7Y29uc3QgZT10aGlzLl9jdy5tb2RlbCgpLm1haW5TZXJpZXMoKSx0PWUuZGF0YUV2ZW50cygpO3Quc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUodGhpcywoZT0+e2UhPT1faS5wZXJtaXNzaW9uRGVuaWVkJiZ0aGlzLmhpZGUoKX0pKSx0LnNlcmllc0Vycm9yKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9sb2FkaW5nX3NjcmVlbl9vbl9zZXJpZXNfZXJyb3IiKSYmdGhpcy5oaWRlKCl9KSksZS5zdGF0dXNXVigpLnN1YnNjcmliZSgoZT0+e2lmKDQhPT1lJiYxMiE9PWUmJjEzIT09ZSYmMTQhPT1lfHx0aGlzLmhpZGUoKSxMLnNlcmllc1JlYWR5U3RhdHVzZXMuaGFzKGUpKXtjb25zdCBlPXRoaXMuX2FkZGl0aW9uYWxSZWFkeVByb21pc2U7ZT9lLnRoZW4oKCgpPT57dGhpcy5oaWRlKCl9KSk6dGhpcy5oaWRlKCl9fSkpfV9zaG93KCl7Y29uc3QgZT10aGlzLl9jdy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCk7bGV0IHQ7aWYoZS5iYWNrZ3JvdW5kVHlwZS52YWx1ZSgpPT09cGkuQ29sb3JUeXBlLlNvbGlkKXQ9ZS5iYWNrZ3JvdW5kLnZhbHVlKCk7ZWxzZXt0PWBsaW5lYXItZ3JhZGllbnQoJHtlLmJhY2tncm91bmRHcmFkaWVudFN0YXJ0Q29sb3IudmFsdWUoKX0sJHtlLmJhY2tncm91bmRHcmFkaWVudEVuZENvbG9yLnZhbHVlKCl9KWB9dGhpcy5fZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kPXQsdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKG1pLmZhZGUpfV9oaWRlKCl7dGhpcy5fc2hvd2VkPSExLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShtaS5mYWRlKX19ZnVuY3Rpb24gZmkoZSx0KXtsZXR7ZGVsdGFYOmksZGVsdGFZOnN9PWU7c3dpdGNoKGkvPTEwMCxzLz0xMDAsdC5kZWx0YU1vZGUpe2Nhc2UgdC5ET01fREVMVEFfUEFHRTppKj0xMjAscyo9MTIwO2JyZWFrCjtjYXNlIHQuRE9NX0RFTFRBX0xJTkU6aSo9MzIscyo9MzJ9cmV0dXJue2RlbHRhWDppLGRlbHRhWTpzfX0hZnVuY3Rpb24oZSl7ZVtlLk1heE5leHRFdmVudERlbGF5PTEwMF09Ik1heE5leHRFdmVudERlbGF5IixlW2UuSWdub3JlU21hbGxlckRlbHRhQ29lZmY9M109Iklnbm9yZVNtYWxsZXJEZWx0YUNvZWZmIn0oaGl8fChoaT17fSkpO2NsYXNzIFNpe2NvbnN0cnVjdG9yKCl7dGhpcy5fdG90YWxEZWx0YVg9MCx0aGlzLl90b3RhbERlbHRhWT0wLHRoaXMuX3ByZXZXaGVlbFRpbWU9MH1wcm9jZXNzV2hlZWwoZSl7ZS50aW1lU3RhbXAtdGhpcy5fcHJldldoZWVsVGltZT4xMDAmJnRoaXMuX3Jlc2V0KCk7Y29uc3QgdD0hKDAsSi5pc01hYykoKSYmZS5zaGlmdEtleSxpPXQ/LWUuZGVsdGFZOmUuZGVsdGFYLHM9dD9lLmRlbHRhWDplLmRlbHRhWTt0aGlzLl90b3RhbERlbHRhWCs9aSx0aGlzLl90b3RhbERlbHRhWSs9cyx0aGlzLl9wcmV2V2hlZWxUaW1lPWUudGltZVN0YW1wO2NvbnN0IG49e2RlbHRhWDppLGRlbHRhWTpzfTtyZXR1cm4gMD09PXRoaXMuX3RvdGFsRGVsdGFYfHwwPT09dGhpcy5fdG90YWxEZWx0YVl8fChNYXRoLmFicyh0aGlzLl90b3RhbERlbHRhWCk+PU1hdGguYWJzKDMqdGhpcy5fdG90YWxEZWx0YVkpJiYobi5kZWx0YVk9MCksTWF0aC5hYnModGhpcy5fdG90YWxEZWx0YVkpPj1NYXRoLmFicygzKnRoaXMuX3RvdGFsRGVsdGFYKSYmKG4uZGVsdGFYPTApKSxmaShuLGUpfV9yZXNldCgpe3RoaXMuX3RvdGFsRGVsdGFYPTAsdGhpcy5fdG90YWxEZWx0YVk9MH19dmFyIHZpLHlpPWkoMTM0NjcpLGJpPWkoNjQwNzQ0KSx3aT1pKDY2MzQpLENpPWkoMTI0MzM2KTshZnVuY3Rpb24oZSl7ZVtlLkhlaWdodD0xXT0iSGVpZ2h0IixlW2UuTWluUGFuZUhlaWdodD0zMF09Ik1pblBhbmVIZWlnaHQifSh2aXx8KHZpPXt9KSk7Y2xhc3MgUGl7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2hhbmRsZUVsPW51bGwsdGhpcy5fcmVzaXplSW5mbz1udWxsLHRoaXMuX2NvbG9yQ2FjaGU9e2xpbmVDb2xvcjoiIixiYWNrZ3JvdW5kQ29sb3I6IiIsY29sb3I6IiJ9LHRoaXMuX3NlbGVjdGVkPW5ldyBoLldhdGNoZWRWYWx1ZSx0aGlzLl9jaGFydD1lLHRoaXMuX3RvcFBhbmVJbmRleD10LHRoaXMuX2JvdHRvbVBhbmVJbmRleD1pLHRoaXMuX2VsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENpLnBhbmVTZXBhcmF0b3IpLHRoaXMuX2VsZW1lbnQuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9jb2xvcigpLHRoaXMuYWRqdXN0U2l6ZSgpLHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgoKT0+e30pKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZChDaS5oYW5kbGUpLHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQocyksdGhpcy5fbW91c2VFdmVudEhhbmRsZXI9bmV3IHdpLk1vdXNlRXZlbnRIYW5kbGVyKHMsdGhpcyx7dHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiExLHRyZWF0SG9yelRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMH0pLHRoaXMuX2hhbmRsZUVsPXMsdGhpcy5faGFuZGxlRWwuY2xhc3NMaXN0LnRvZ2dsZShDaS5tb2JpbGUsSi5DaGVja01vYmlsZS5hbnkoKSksdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMuX3NlbGVjdGVkLnN1YnNjcmliZSgoZT0+dGhpcy5faGFuZGxlRWw/LmNsYXNzTGlzdC50b2dnbGUoQ2kuc2VsZWN0ZWQsZSkpKX1kZXN0cm95KCl7dGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX2VsZW1lbnQucGFyZW50RWxlbWVudCYmdGhpcy5fZWxlbWVudC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX2VsZW1lbnQpfXRvcFBhbmVJbmRleCgpe3JldHVybiB0aGlzLl90b3BQYW5lSW5kZXh9Ym90dG9tUGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuX2JvdHRvbVBhbmVJbmRleH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsZW1lbnR9aGlkZSgpe3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgianMtaGlkZGVuIil9c2hvdygpe3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIil9c2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWQucmVhZG9ubHkoKX1hZGp1c3RTaXplKCl7dGhpcy5fZWxlbWVudC5zdHlsZS5oZWlnaHQ9UGkuaGVpZ2h0KCkrInB4In1tb3VzZUVudGVyRXZlbnQoZSl7Y29uc3R7dG9wUGFuZTp0LGJvdHRvbVBhbmU6aX09dGhpcy5fdG9wQm90dG9tUGFuZSghMCk7bnVsbCE9PXQmJm51bGwhPT1pJiYoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QuYWRkKENpLmhvdmVyZWQpfW1vdXNlTGVhdmVFdmVudChlKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QucmVtb3ZlKENpLmhvdmVyZWQpfW1vdXNlRG93bkV2ZW50KGUpe3RoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfXRhcEV2ZW50KCl7dGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUoIXRoaXMuX3NlbGVjdGVkLnZhbHVlKCkpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9zZWxlY3RlZC52YWx1ZSgpJiZ0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9zZWxlY3RlZC52YWx1ZSgpJiZ0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfW1vdXNlVXBFdmVudChlKXt0aGlzLl9tb3VzZVVwT3JUb3VjaEVuZEV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fc2VsZWN0ZWQudmFsdWUoKSYmdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KCl7dGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUoITEpfXVwZGF0ZSgpe3RoaXMuX2VsZW1lbnQuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9jb2xvcigpLnRvU3RyaW5nKCl9cGFpbnQoKXt9aW1hZ2UoKXsKY29uc3R7dG9wUGFuZTplfT10aGlzLl90b3BCb3R0b21QYW5lKCExKSx0PWUubGVmdFByaWNlQXhpc2VzQ29udGFpbmVyKCkuZ2V0V2lkdGgoKSxpPWUud2lkdGgoKSxzPWUucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLmdldFdpZHRoKCksbj10aGlzLl9jb2xvcigpLHI9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6dCxoZWlnaHQ6MX0pKSxvPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkocik7by5maWxsU3R5bGU9bixvLmZpbGxSZWN0KDAsMCx0LDEpO2NvbnN0IGE9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6aSxoZWlnaHQ6MX0pKSxsPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkoYSk7bC5maWxsU3R5bGU9bixsLmZpbGxSZWN0KDAsMCxpLDEpO2NvbnN0IGM9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6cyxoZWlnaHQ6MX0pKSxoPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkoYyk7cmV0dXJuIGguZmlsbFN0eWxlPW4saC5maWxsUmVjdCgwLDAscywxKSx7dHlwZToic2VwYXJhdG9yIixsZWZ0QXhpczp7Y29udGVudDpyLnRvRGF0YVVSTCgpLGNhbnZhczpyLGNvbnRlbnRXaWR0aDp0LGNvbnRlbnRIZWlnaHQ6MX0scmlnaHRBeGlzOntjb250ZW50OmMudG9EYXRhVVJMKCksY2FudmFzOmMsY29udGVudFdpZHRoOnMsY29udGVudEhlaWdodDoxfSxjb250ZW50OmEudG9EYXRhVVJMKCksY2FudmFzOmEsY29udGVudFdpZHRoOmksY29udGVudEhlaWdodDoxfX1zdGF0aWMgaGVpZ2h0KCl7Y29uc3QgZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtyZXR1cm4gZT49MT8xOjEvZX1fbW91c2VEb3duT3JUb3VjaFN0YXJ0RXZlbnQoZSl7Y29uc3R7dG9wUGFuZTp0LGJvdHRvbVBhbmU6aX09dGhpcy5fdG9wQm90dG9tUGFuZSghMCk7aWYobnVsbD09PXR8fG51bGw9PT1pKXJldHVybjtjb25zdCBzPXQuc3RhdGUoKS5zdHJldGNoRmFjdG9yKCkraS5zdGF0ZSgpLnN0cmV0Y2hGYWN0b3IoKSxuPXMvKHQuaGVpZ2h0KCkraS5oZWlnaHQoKSkscj0zMCpuO3M8PTIqcnx8KHRoaXMuX3Jlc2l6ZUluZm89e3N0YXJ0WTplLnBhZ2VZLHByZXZTdHJldGNoVG9wUGFuZTp0LnN0YXRlKCkuc3RyZXRjaEZhY3RvcigpLG1heFBhbmVTdHJldGNoOnMtcix0b3RhbFN0cmV0Y2g6cyxwaXhlbFN0cmV0Y2hGYWN0b3I6bixtaW5QYW5lU3RyZXRjaDpyfSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QuYWRkKENpLmFjdGl2ZSkpfV9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpe2NvbnN0e3RvcFBhbmU6dCxib3R0b21QYW5lOml9PXRoaXMuX3RvcEJvdHRvbVBhbmUoITApLHM9dGhpcy5fcmVzaXplSW5mbztpZihudWxsPT09c3x8bnVsbD09PXR8fG51bGw9PT1pKXJldHVybjtjb25zdCBuPShlLnBhZ2VZLXMuc3RhcnRZKSpzLnBpeGVsU3RyZXRjaEZhY3RvcixyPSgwLGJpLmNsYW1wKShzLnByZXZTdHJldGNoVG9wUGFuZStuLHMubWluUGFuZVN0cmV0Y2gscy5tYXhQYW5lU3RyZXRjaCk7dC5zdGF0ZSgpLnNldFN0cmV0Y2hGYWN0b3IociksaS5zdGF0ZSgpLnNldFN0cmV0Y2hGYWN0b3Iocy50b3RhbFN0cmV0Y2gtciksdGhpcy5fY2hhcnQubW9kZWwoKS5tb2RlbCgpLmZ1bGxVcGRhdGUoKX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXtjb25zdHt0b3BQYW5lOnQsYm90dG9tUGFuZTppfT10aGlzLl90b3BCb3R0b21QYW5lKCEwKSxzPXRoaXMuX3Jlc2l6ZUluZm87bnVsbCE9PXMmJm51bGwhPT10JiZudWxsIT09aSYmKHRoaXMuX2NoYXJ0Lm1vZGVsKCkuYWRkUGFuZVN0cmV0Y2hGYWN0b3JVbmRvQ29tbWFuZCh0LnN0YXRlKCksaS5zdGF0ZSgpLHMucHJldlN0cmV0Y2hUb3BQYW5lLHQuc3RhdGUoKS5zdHJldGNoRmFjdG9yKCkpLHRoaXMuX3Jlc2l6ZUluZm89bnVsbCwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QucmVtb3ZlKENpLmFjdGl2ZSkpfV9jb2xvcigpe2NvbnN0IGU9dGhpcy5fY2hhcnQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLnNlcGFyYXRvckNvbG9yLnZhbHVlKCksdD10aGlzLl9jaGFydC5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtpZih0aGlzLl9jb2xvckNhY2hlLmxpbmVDb2xvciE9PWV8fHRoaXMuX2NvbG9yQ2FjaGUuYmFja2dyb3VuZENvbG9yIT09dCl7Y29uc3QgaT0oMCx5aS5wYXJzZVJnYmEpKHQpLHM9KDAseWkucGFyc2VSZ2JhKShlKSxuPTA9PT1pWzNdJiYwPT09c1szXT8icmdiYSgwLDAsMCwwKSI6KDAseWkucmdiYVRvU3RyaW5nKSgoMCx5aS5ibGVuZFJnYmEpKGkscykpO3RoaXMuX2NvbG9yQ2FjaGU9e2xpbmVDb2xvcjplLGJhY2tncm91bmRDb2xvcjp0LGNvbG9yOm59fXJldHVybiB0aGlzLl9jb2xvckNhY2hlLmNvbG9yfV90b3BCb3R0b21QYW5lKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKTtsZXQgaT1udWxsLHM9bnVsbDtmb3IobGV0IHM9dGhpcy5fdG9wUGFuZUluZGV4O3M+PTA7LS1zKXtjb25zdCBuPXRbc107aWYoIWV8fCFuLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7aT1uO2JyZWFrfX1mb3IobGV0IGk9dGhpcy5fYm90dG9tUGFuZUluZGV4O2k8dC5sZW5ndGg7KytpKXtjb25zdCBuPXRbaV07aWYoIWV8fCFuLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7cz1uO2JyZWFrfX1yZXR1cm57dG9wUGFuZTppLGJvdHRvbVBhbmU6c319fXZhciBUaSx4aT1pKDk2NDQ4NiksTWk9aSg3NjMpLElpPWkoOTMwNTA2KSxMaT1pKDkwMTM3MCksQWk9aSgxODQ2MTYpLGtpPWkoMzI5NjY2KSxEaT1pKDc4NjQzNik7IWZ1bmN0aW9uKGUpe2VbZS5HZWFyPTBdPSJHZWFyIixlW2UuU3ltYm9sPTFdPSJTeW1ib2wiLGVbZS5BdXRvPTJdPSJBdXRvIn0oVGl8fChUaT17fSkpCjt2YXIgRWksUmk9aSg1OTA4OTQpLFZpPWkoNDM5ODc5KSxCaT1pKDgyMjcyNiksTmk9aSgyNTA0MzkpLE9pPWkoMzU2MzgwKSxXaT1pKDkyNjE0OSksRmk9aSg0NjYzNDEpOyFmdW5jdGlvbihlKXtlW2UuTGFiZWxSYWRpdXM9OS41XT0iTGFiZWxSYWRpdXMiLGVbZS5MYWJlbEZvbnRTaXplPTExXT0iTGFiZWxGb250U2l6ZSJ9KEVpfHwoRWk9e30pKTtjb25zdCBIaT17ZW5hYmxlVG9vbHRpcDohMCxzaG93TGFiZWxzOiEwLGVuYWJsZU1lbnU6ITAsZW5hYmxlSGlnaGxpZ2h0OiEwfTtmdW5jdGlvbiB6aShlLHQpe3JldHVybiBNYXRoLm1heCgxLE1hdGguZmxvb3IoZS5ib3JkZXJTaXplKnQpKX1jbGFzcyBVaXtjb25zdHJ1Y3RvcihlLHQsaSxzLG4scj1udWxsKXt0aGlzLl9zaXplPSgwLHl0LnNpemUpKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5fb2Zmc2V0PTAsdGhpcy5fYXhpc0luZm89bnVsbCx0aGlzLl9vbkxhYmVsSG92ZXJlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9oaWdobGlnaHRlZD0hMSx0aGlzLl9pc0NvbnRleHRNZW51T3BlbmVkPSExLHRoaXMuX2lzTW91c2VPdmVyU3R1Yj0hMSx0aGlzLl9sYWJlbE1vZGU9Mix0aGlzLl9maXhlZExhYmVsTW9kZT1udWxsLHRoaXMuX3RleHRXaWR0aENhY2hlPW5ldyBCaS5UZXh0V2lkdGhDYWNoZSg1KSx0aGlzLl9nZWFyUmVuZGVyZXI9KDAsVmkuc3ZnUmVuZGVyZXIpKEZpKSx0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+e3RoaXMudXBkYXRlKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKX0sdGhpcy5fdGltZUF4aXNXaWRnZXQ9cix0aGlzLl9pc0xlZnQ9ImxlZnQiPT09ZTtjb25zdHtyZW5kZXJlck9wdGlvbnNQcm92aWRlcjpvLHNvdXJjZXNUaXRsZXNQcm92aWRlcjphLGNvbnRleHRNZW51SXRlbXNQcm92aWRlcjpsLGJhY2tncm91bmRCYXNlZFRoZW1lOmMsb25BY3RpdmVPckhvdmVyZWRDaGFydDpkPW5ldyBoLldhdGNoZWRWYWx1ZSghMSkub3duZXJzaGlwKCkscmVxdWVzdFJlcGFpbnQ6dSxnZXRCYWNrZ3JvdW5kVG9wQ29sb3I6cCxnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6XyxzaG93SG9yaXpvbnRhbEJvcmRlcjptfT1zO3RoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyPW8sdGhpcy5fc291cmNlc1RpdGxlc1Byb3ZpZGVyPWEsdGhpcy5fY29udGV4dE1lbnVJdGVtc1Byb3ZpZGVyPWwsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWU9Yyx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0PWQsdGhpcy5fcmVxdWVzdFJlcGFpbnQ9dSx0aGlzLl9nZXRCYWNrZ3JvdW5kVG9wQ29sb3I9cCx0aGlzLl9nZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I9Xyx0aGlzLl9zaG93SG9yaXpvbnRhbEJvcmRlcj1Cb29sZWFuKG0pLHRoaXMuX3Byb3BlcnRpZXM9dCx0aGlzLl9heGlzSW5mbz1pLHRoaXMuX2xhYmVsT3B0aW9ucz17Li4uSGksLi4ubn0sdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9sYWJlbE9wdGlvbnMuZW5hYmxlVG9vbHRpcCYmdGhpcy5fY2VsbC5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX2NlbGwuc3R5bGUud2lkdGg9IjI1cHgiLHRoaXMuX2NlbGwuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLl9jZWxsLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PSIwIix0aGlzLl9jZWxsLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLHRoaXMuX2xhYmVsT3B0aW9ucy5zaG93TGFiZWxzJiYodGhpcy5fbGFiZWxPcHRpb25zLmVuYWJsZVRvb2x0aXAmJigwLE9pLnNldFRvb2x0aXBEYXRhKSh0aGlzLl9jZWxsLCJ0ZXh0IiwoZT0+dGhpcy5fdG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX29uQWN0aXZlT3JIb3ZlcmVkQ2hhcnQuc3Vic2NyaWJlKHUpKSx0aGlzLl9wcm9wZXJ0aWVzLmxpbmVDb2xvci5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3JlcXVlc3RSZXBhaW50KCkpKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fY2VsbCx0aGlzLHt0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITAsdHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwfSksdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fY2VsbCwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpO2NvbnN0IGc9dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50O2cuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixnLnN0eWxlLmxlZnQ9IjAiLGcuc3R5bGUudG9wPSIwIix0aGlzLl9jZWxsLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIil9ZGVzdHJveSgpe3RoaXMuX2NhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fY2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fcHJvcGVydGllcy5saW5lQ29sb3IudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnJlbGVhc2UoKSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnVuc3Vic2NyaWJlKHRoaXMuX3JlcXVlc3RSZXBhaW50KSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnJlbGVhc2UoKX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX10b3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKX10b3VjaEVuZEV2ZW50KGUpe3RoaXMuX21vdXNlT3JUb3VjaExlYXZlRXZlbnQoZSl9bW91c2VDbGlja0V2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfXRhcEV2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfQp1cGRhdGUoKXt9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9jZWxsfW9uTGFiZWxIb3ZlcmVkKCl7cmV0dXJuIHRoaXMuX29uTGFiZWxIb3ZlcmVkfXNldFNpemVBbmRPZmZzZXQoZSx0KXsoMCx5dC5lcXVhbFNpemVzKSh0aGlzLl9zaXplLGUpfHwodGhpcy5fc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPWAke2Uud2lkdGh9cHhgLHRoaXMuX2NlbGwuc3R5bGUubWluV2lkdGg9YCR7ZS53aWR0aH1weGAsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9YCR7ZS5oZWlnaHR9cHhgKSx0aGlzLl9vZmZzZXQhPT10JiYodGhpcy5fb2Zmc2V0PXQsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PWAke3R9cHhgKX1wYWludChlKXswIT09dGhpcy5fc2l6ZS53aWR0aCYmMCE9PXRoaXMuX3NpemUuaGVpZ2h0JiYoZS5sZXZlbD09PUxlLkludmFsaWRhdGlvbkxldmVsLkZ1bGx8fGUuaW52YWxpZGF0ZVN0dWJzKSYmKCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fY2FudmFzQmluZGluZyksdGhpcy5fcGFpbnRJbXBsKCgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KSwoMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZykpKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWdldEltYWdlKCl7Y29uc3QgZT0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZyksdD0oMCxLdC5jcmVhdGVEaXNjb25uZWN0ZWRDYW52YXNCeVJlbmRlcmluZ0luZm8pKGRvY3VtZW50LGUpO3JldHVybiB0aGlzLl9wYWludEltcGwoKDAsS3QuZ2V0Q29udGV4dDJEKSh0KSxlLCEwKSx0fXNldExhYmVsTW9kZShlKXtlIT09dGhpcy5fbGFiZWxNb2RlJiYodGhpcy5fbGFiZWxNb2RlPWUsdGhpcy5fY2VsbC5jbGFzc0xpc3QudG9nZ2xlKCJhcHBseS1jb21tb24tdG9vbHRpcCIsMSE9PWUmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVUb29sdGlwKSl9X3BhaW50SW1wbChlLHQsaSl7dGhpcy5fZHJhd0JhY2tncm91bmQoZSx0KSx0aGlzLl9kcmF3VmVydGljYWxCb3JkZXIoZSx0KSx0aGlzLl9zaG93SG9yaXpvbnRhbEJvcmRlciYmdGhpcy5fZHJhd0hvcml6b250YWxCb3JkZXIoZSx0KSx0aGlzLl9sYWJlbE9wdGlvbnMuc2hvd0xhYmVscyYmdGhpcy5fZHJhd0xhYmVsKGUsdCxpKX1fc2V0SGlnaGxpZ2h0ZWQoZSl7dGhpcy5fbGFiZWxPcHRpb25zLmVuYWJsZUhpZ2hsaWdodCYmKHRoaXMuX29uTGFiZWxIb3ZlcmVkLmZpcmUoInN0dWJCdXR0b24iLGUpLHRoaXMuX2hpZ2hsaWdodGVkIT09ZSYmKHRoaXMuX2hpZ2hsaWdodGVkPWUpLHRoaXMuX3JlcXVlc3RSZXBhaW50KCkpfV9kcmF3VmVydGljYWxCb3JkZXIoZSx0KXtlLnNhdmUoKSxlLmZpbGxTdHlsZT10aGlzLl92ZXJ0Qm9yZGVyQ29sb3IoKTtjb25zdCBpPXppKHRoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyLm9wdGlvbnMoKSx0Lmhvcml6b250YWxQaXhlbFJhdGlvKSxzPXRoaXMuX2lzTGVmdD90LmJpdG1hcFNpemUud2lkdGgtaTowO2UuZmlsbFJlY3QocywwLGksdC5iaXRtYXBTaXplLmhlaWdodCksZS5yZXN0b3JlKCl9X2RyYXdIb3Jpem9udGFsQm9yZGVyKGUsdCl7ZS5zYXZlKCksZS5maWxsU3R5bGU9dGhpcy5faG9yekJvcmRlckNvbG9yKCk7Y29uc3QgaT16aSh0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlci5vcHRpb25zKCksdC52ZXJ0aWNhbFBpeGVsUmF0aW8pLHM9dGhpcy5faXNMZWZ0PzA6aTtlLmZpbGxSZWN0KHMsMCx0LmJpdG1hcFNpemUud2lkdGgtaSxpKSxlLnJlc3RvcmUoKX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2dldEJhY2tncm91bmRUb3BDb2xvcigpLHM9dGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yKCkse2JpdG1hcFNpemU6bn09dDtpZihpPT09cz8oMCxLdC5jbGVhclJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsaSk6KDAsRGkuY2xlYXJSZWN0V2l0aEdyYWRpZW50KShlLDAsMCxuLndpZHRoLG4uaGVpZ2h0LGkscyksdGhpcy5faGlnaGxpZ2h0ZWQpe2NvbnN0IHQ9ay50aGVtZXNbdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKV0uZ2V0VGhlbWVkQ29sb3IoImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0Iik7KDAsS3QuZmlsbFJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsdCksZS5nbG9iYWxBbHBoYT0xfX1fZHJhd0xhYmVsKGUsdCxpKXtjb25zdCBzPXRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnZhbHVlKCksbj10aGlzLl9heGlzSW5mbztpZihudWxsPT09bnx8IWkmJiF0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnZhbHVlKCkpcmV0dXJuO2NvbnN0e2JpdG1hcFNpemU6cixob3Jpem9udGFsUGl4ZWxSYXRpbzpvLHZlcnRpY2FsUGl4ZWxSYXRpbzphfT10LGw9emkodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLG8pLGM9TWF0aC5yb3VuZChyLndpZHRoKS1sLGg9emkodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLGEpLGQ9TWF0aC5yb3VuZChyLmhlaWdodCktaCx1PSgwLFB0LnBvaW50KShsK2MvMixoK2QvMik7aWYoMT09PXRoaXMuX2xhYmVsTW9kZXx8Mj09PXRoaXMuX2xhYmVsTW9kZSYmKCF0aGlzLl9oaWdobGlnaHRlZHx8aSkpe2UuZmlsbFN0eWxlPWsudGhlbWVzW3NdLmdldFRoZW1lZENvbG9yKCJjb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2siKSxlLmdsb2JhbEFscGhhPS41LGUuYmVnaW5QYXRoKCksZS5hcmModS54LHUueSw5LjUqbywwLDIqTWF0aC5QSSwhMCksZS5maWxsKCksZS5nbG9iYWxBbHBoYT0xLGUuZmlsbFN0eWxlPWsudGhlbWVzW3NdLmdldFRoZW1lZENvbG9yKCJjb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQiKSxlLmZvbnQ9KDAsUmkubWFrZUZvbnQpKDExLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpLGUudGV4dEFsaWduPSJjZW50ZXIiLGUudGV4dEJhc2VsaW5lPSJtaWRkbGUiCjtjb25zdCB0PXRoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKGUsbi5sYWJlbCk7KDAsS3QuZHJhd1NjYWxlZCkoZSxvLGEsKCgpPT57ZS5maWxsVGV4dChuLmxhYmVsLHUueC9vLHUueS9hK3QpfSkpfWVsc2UgaWYoIWkmJnRoaXMuX29uQWN0aXZlT3JIb3ZlcmVkQ2hhcnQudmFsdWUoKSl7Y29uc3QgdD10aGlzLl9nZWFyUmVuZGVyZXIudmlld0JveCgpLGk9TWF0aC5yb3VuZCh1LngtdC53aWR0aCpvLzIpLG49TWF0aC5yb3VuZCh1LnktdC5oZWlnaHQqYS8yKTtlLmZpbGxTdHlsZT1rLnRoZW1lc1tzXS5nZXRUaGVtZWRDb2xvcigiY29sb3ItdGV4dC1wcmltYXJ5IiksZS5pbWFnZVNtb290aGluZ1F1YWxpdHk9ImhpZ2giLHRoaXMuX2dlYXJSZW5kZXJlci5yZW5kZXIoZSx7dGFyZ2V0Vmlld0JveDp7eDppLHk6bix3aWR0aDp0LndpZHRoKm8saGVpZ2h0OnQuaGVpZ2h0KmF9LGRvTm90QXBwbHlDb2xvcnM6ITB9KX19X3ZlcnRCb3JkZXJDb2xvcigpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmxpbmVDb2xvci52YWx1ZSgpfV9ob3J6Qm9yZGVyQ29sb3IoKXtyZXR1cm4gdGhpcy5fdGltZUF4aXNXaWRnZXQ/LmxpbmVDb2xvcigpPz90aGlzLl92ZXJ0Qm9yZGVyQ29sb3IoKX1fdG9vbHRpcENvbnRlbnQoKXtyZXR1cm4gdGhpcy5fc291cmNlc1RpdGxlc1Byb3ZpZGVyKCkuam9pbigiXG4iKX1fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKXt0aGlzLl9pc01vdXNlT3ZlclN0dWI9ITAsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJiF0aGlzLl90aW1lQXhpc1dpZGdldD8uY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkmJnRoaXMuX3NldEhpZ2hsaWdodGVkKCEwKX1fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKXt0aGlzLl9pc01vdXNlT3ZlclN0dWI9ITEsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJiF0aGlzLl9pc0NvbnRleHRNZW51T3BlbmVkJiZ0aGlzLl9zZXRIaWdobGlnaHRlZCghMSl9YXN5bmMgX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpe2lmKGUucHJldmVudERlZmF1bHQoKSxudWxsIT09dGhpcy5fZml4ZWRMYWJlbE1vZGV8fDE9PT10aGlzLl9sYWJlbE1vZGV8fCF0aGlzLl9sYWJlbE9wdGlvbnMuZW5hYmxlTWVudXx8IXRoaXMuX2xhYmVsT3B0aW9ucy5zaG93TGFiZWxzKXJldHVybiB2b2lkIE5pLkNvbnRleHRNZW51TWFuYWdlci5oaWRlQWxsKCk7dGhpcy5fZml4ZWRMYWJlbE1vZGU9dGhpcy5fbGFiZWxNb2RlLHRoaXMuc2V0TGFiZWxNb2RlKDApO2NvbnN0IHQ9dGhpcy5fY2VsbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWF3YWl0IHRoaXMuX2NvbnRleHRNZW51SXRlbXNQcm92aWRlcigpO3RoaXMuX2lzQ29udGV4dE1lbnVPcGVuZWQ9ITAsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJnRoaXMuX3NldEhpZ2hsaWdodGVkKCEwKSxOaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoaSx7Y2xpZW50WDp0aGlzLl9pc0xlZnQ/dC5sZWZ0OnQucmlnaHQsY2xpZW50WTp0LnRvcCxhdHRhY2hUb1hCeTp0aGlzLl9pc0xlZnQ/ImxlZnQiOiJyaWdodCIsYXR0YWNoVG9ZQnk6ImJvdHRvbSJ9LHtzdGF0TmFtZToiUHJpY2VTY2FsZUxhYmVsQ29udGV4dE1lbnUiLGRvTm90Q2xvc2VPbjp0aGlzLmdldEVsZW1lbnQoKX0se21lbnVOYW1lOiJQcmljZVNjYWxlTGFiZWxDb250ZXh0TWVudSJ9LCgoKT0+e3RoaXMuX2lzTW91c2VPdmVyU3R1Ynx8dGhpcy5fc2V0SGlnaGxpZ2h0ZWQoITEpLHRoaXMuX2lzQ29udGV4dE1lbnVPcGVuZWQ9ITEsdGhpcy5zZXRMYWJlbE1vZGUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9maXhlZExhYmVsTW9kZSkpLHRoaXMuX2ZpeGVkTGFiZWxNb2RlPW51bGx9KSl9fXZhciBHaT1pKDM0MjcxMik7Y2xhc3Mgaml7Y29uc3RydWN0b3IoZSx0LGkscyxuLHI9bnVsbCl7dGhpcy5fYXhpc2VzPVtdLHRoaXMuX3N0dWJzPVtdLHRoaXMuX3NpemU9KDAseXQuc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSx0aGlzLl9vbkxhYmVsSG92ZXJlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzPWUsdGhpcy5fcHJpY2VBeGlzV2lkZ2V0RmFjdG9yeT1pLHRoaXMuX3RpbWVBeGlzV2lkZ2V0PXIsdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXI9cy5yZW5kZXJlck9wdGlvbnNQcm92aWRlcix0aGlzLl90aXRsZXNQcm92aWRlcj1zLnRpdGxlc1Byb3ZpZGVyLHRoaXMuX3N0dWJDb250ZXh0TWVudVByb3ZpZGVyPXMuc3R1YkNvbnRleHRNZW51UHJvdmlkZXIsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWU9cy5iYWNrZ3JvdW5kQmFzZWRUaGVtZSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0PXMub25BY3RpdmVPckhvdmVyZWRDaGFydCx0aGlzLl9nZXRCYWNrZ3JvdW5kVG9wQ29sb3I9cy5nZXRCYWNrZ3JvdW5kVG9wQ29sb3IsdGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yPXMuZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yLHRoaXMuX3JlcXVlc3RSZXBhaW50PXMucmVxdWVzdFJlcGFpbnQsdGhpcy5fc2hvd0hvcmlzb250YWxCb3JkZXI9Qm9vbGVhbihzLnNob3dIb3Jpem9udGFsQm9yZGVyKSx0aGlzLl9sYWJlbHNPcHRpb25zPXsuLi5IaSwuLi5ufTtjb25zdCBvPXRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7dGhpcy5fc3R1YlByb3BlcnRpZXM9e2xpbmVDb2xvcjpvLmxpbmVDb2xvcixmb250U2l6ZTpvLmZvbnRTaXplfSx0aGlzLl9zaWRlPXQsdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQoImNoYXJ0LW1hcmt1cC10YWJsZSIsInByaWNlLWF4aXMtY29udGFpbmVyIiksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5fY2VsbC5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifWRlc3Ryb3koKXt0aGlzLnNldFNjYWxlcyhbXSwwLDAsMCksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVsZWFzZSgpLAp0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0Py5yZWxlYXNlKCl9b25MYWJlbEhvdmVyZWQoKXtyZXR1cm4gdGhpcy5fb25MYWJlbEhvdmVyZWR9c2V0U2NhbGVzKGUsdCxpLHMpe2Zvcig7ZS5sZW5ndGg+dGhpcy5fYXhpc2VzLmxlbmd0aCYmdGhpcy5fYXhpc2VzLmxlbmd0aDx0Oyl7Y29uc3QgZT0oMCxHaS5nZXRQcmljZUF4aXNOYW1lSW5mbykodGhpcy5fc2lkZSx0aGlzLl9heGlzZXMubGVuZ3RoKSx0PXRoaXMuX3ByaWNlQXhpc1dpZGdldEZhY3RvcnkodGhpcy5fc2lkZSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcix0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzLGUsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUpO3RoaXMuX2F4aXNlcy5wdXNoKHQpLHRoaXMuX2NlbGwuYXBwZW5kQ2hpbGQodC5nZXRFbGVtZW50KCkpfWZvcig7ZS5sZW5ndGg8dGhpcy5fYXhpc2VzLmxlbmd0aDspe2NvbnN0IGU9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9heGlzZXMucG9wKCkpO3RoaXMuX2NlbGwucmVtb3ZlQ2hpbGQoZS5nZXRFbGVtZW50KCkpLGUuZGVzdHJveSgpfWZvcihsZXQgdD0wO3Q8dGhpcy5fYXhpc2VzLmxlbmd0aDsrK3QpdGhpcy5fYXhpc2VzW3RdLnNldFByaWNlU2NhbGUoZVt0XSk7Y29uc3Qgbj10LWUubGVuZ3RoLHI9TWF0aC5tYXgoMCxuKTtmb3IoO3RoaXMuX3N0dWJzLmxlbmd0aD5yOyl7Y29uc3QgZT0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWJzLnBvcCgpKTtlLm9uTGFiZWxIb3ZlcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2VsbC5yZW1vdmVDaGlsZChlLmdldEVsZW1lbnQoKSksZS5kZXN0cm95KCl9Zm9yKDt0aGlzLl9zdHVicy5sZW5ndGg8bjspe2NvbnN0IGU9dGhpcy5fbGFiZWxzT3B0aW9ucy5zaG93TGFiZWxzPygwLEdpLmdldFByaWNlQXhpc05hbWVJbmZvKSh0aGlzLl9zaWRlLHRoaXMuX3N0dWJzLmxlbmd0aCk6bnVsbCx0PW5ldyBVaSh0aGlzLl9zaWRlLHRoaXMuX3N0dWJQcm9wZXJ0aWVzLGUsdGhpcy5fc3R1YlBhcmFtcyh0aGlzLl9zdHVicy5sZW5ndGgpLHRoaXMuX2xhYmVsc09wdGlvbnMsdGhpcy5fdGltZUF4aXNXaWRnZXQpO3Qub25MYWJlbEhvdmVyZWQoKS5zdWJzY3JpYmUodGhpcywoKHQsaSk9Pnt0aGlzLl9sYWJlbHNPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsc09wdGlvbnMuZW5hYmxlSGlnaGxpZ2h0JiZ0aGlzLl9vbkxhYmVsSG92ZXJlZC5maXJlKHtvd25lcjp0LGF4aXM6KDAsbC5lbnN1cmVOb3ROdWxsKShlKX0saSl9KSksdGhpcy5fc3R1YnMucHVzaCh0KSx0aGlzLl9jZWxsLmFwcGVuZENoaWxkKHQuZ2V0RWxlbWVudCgpKX1jb25zdCBvPXRoaXMuX2xhYmVsc09wdGlvbnMuZW5hYmxlTWVudTsxPT09cz90aGlzLl9zdHVicy5mb3JFYWNoKCgoZSx0KT0+ZS5zZXRMYWJlbE1vZGUobz8wOjEpKSk6dGhpcy5fc3R1YnMuZm9yRWFjaCgoKGUsdCk9PmUuc2V0TGFiZWxNb2RlKHQ8aSYmbz8yOjEpKSl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9jZWxsfXVwZGF0ZUN1cnJlbmN5TGFiZWxzKCl7cmV0dXJuIHRoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnVwZGF0ZUN1cnJlbmN5TGFiZWwoKSkpfW9wdGltYWxXaWR0aHMoKXtyZXR1cm4gdGhpcy5fYXhpc2VzLm1hcCgoZT0+ZS5vcHRpbWFsV2lkdGgoKSkpfXNldFNpemVzKGUsdCl7dGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6dC5yZWR1Y2UoKChlLHQpPT5lK3QpLDApLGhlaWdodDplfSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD10aGlzLl9zaXplLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5taW5XaWR0aD10aGlzLl9zaXplLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9dGhpcy5fc2l6ZS5oZWlnaHQrInB4Iix0Lmxlbmd0aCE9PXRoaXMuX2F4aXNlcy5sZW5ndGgrdGhpcy5fc3R1YnMubGVuZ3RoJiYoMCxsLmFzc2VydCkodC5sZW5ndGg9PT10aGlzLl9heGlzZXMubGVuZ3RoK3RoaXMuX3N0dWJzLmxlbmd0aCwiV2lkZ2V0cyBjb3VudCBzaG91bGQgYmUgdGhlIHNhbWUgYXMgd2lkdGhzIG9uZSIpO2xldCBpPTA7dGhpcy5fZm9yRWFjaFdpZGdldEZyb21MZWZ0KCgocyxuKT0+e2NvbnN0IHI9dFtuXTtzLnNldFNpemVBbmRPZmZzZXQoKDAseXQuc2l6ZSkoe3dpZHRoOnIsaGVpZ2h0OmV9KSxpKSxpKz1yfSkpfXVwZGF0ZSgpe3RoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnVwZGF0ZSgpKSksdGhpcy5fc3R1YnMuZm9yRWFjaCgoZT0+ZS51cGRhdGUoKSkpfXBhaW50KGUsdCl7dGhpcy5fYXhpc2VzLmZvckVhY2goKCh0LGkpPT50LnBhaW50KGUoaSkpKSksdGhpcy5fc3R1YnMuZm9yRWFjaCgoKGUsaSk9PmUucGFpbnQodCkpKX1wYWludFN0dWJzKGUpe3RoaXMuX3N0dWJzLmZvckVhY2goKHQ9PnQucGFpbnQoZSkpKX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWZpbmRBeGlzV2lkZ2V0Rm9yU2NhbGUoZSl7Y29uc3QgdD10aGlzLl9heGlzZXMuZmluZCgodD0+dC5wcmljZVNjYWxlKCk9PT1lKSk7cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0fWdldFNjcmVlbnNob3REYXRhKCl7Y29uc3QgZT10aGlzLl9nZXRJbWFnZSgpO3JldHVybntjYW52YXM6ZSxjb250ZW50OmUudG9EYXRhVVJMKCksY29udGVudEhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxjb250ZW50V2lkdGg6dGhpcy5fc2l6ZS53aWR0aH19Z2V0SW1hZ2UoKXtyZXR1cm4gdGhpcy5fZ2V0SW1hZ2UoKX1zbG90c0NvdW50KCl7cmV0dXJuIHRoaXMuX2F4aXNlcy5sZW5ndGgrdGhpcy5fc3R1YnMubGVuZ3RofXNldEhpZ2hsaWdodGVkUHJpY2VBeGlzZXMoZSl7dGhpcy5fYXhpc2VzLmZvckVhY2goKHQ9Pntjb25zdCBpPXQuYXhpc0luZm8oKSxzPWUuZmluZCgoZT0+ZS5sYWJlbD09PWk/LmxhYmVsKSk7dC5zZXRIaWdobGlnaHRlZCh2b2lkIDAhPT1zKX0pKX1heGVzKCl7cmV0dXJuIHRoaXMuX2F4aXNlc31fc3R1YlBhcmFtcyhlKXtyZXR1cm57CnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOnRoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyLGJhY2tncm91bmRCYXNlZFRoZW1lOnRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnNwYXduT3duZXJzaGlwKCksb25BY3RpdmVPckhvdmVyZWRDaGFydDp0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0Py5zcGF3bk93bmVyc2hpcCgpLHNvdXJjZXNUaXRsZXNQcm92aWRlcjooKT0+dGhpcy5fdGl0bGVzUHJvdmlkZXIodGhpcy5fc2lkZSxlKSxjb250ZXh0TWVudUl0ZW1zUHJvdmlkZXI6KCk9PnRoaXMuX3N0dWJDb250ZXh0TWVudVByb3ZpZGVyKHRoaXMuX3NpZGUsZSksZ2V0QmFja2dyb3VuZFRvcENvbG9yOnRoaXMuX2dldEJhY2tncm91bmRUb3BDb2xvcixnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6dGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yLHJlcXVlc3RSZXBhaW50OnRoaXMuX3JlcXVlc3RSZXBhaW50LHNob3dIb3Jpem9udGFsQm9yZGVyOnRoaXMuX3Nob3dIb3Jpc29udGFsQm9yZGVyfX1fZ2V0SW1hZ2UoKXtjb25zdCBlPSgwLEt0LmNyZWF0ZURpc2Nvbm5lY3RlZENhbnZhcykoZG9jdW1lbnQsdGhpcy5fc2l6ZSksdD0oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKGUpO2xldCBpPTA7cmV0dXJuIHRoaXMuX2ZvckVhY2hXaWRnZXRGcm9tTGVmdCgoKGUscyk9Pntjb25zdCBuPWUuZ2V0V2lkdGgoKTswIT09biYmMCE9PXRoaXMuX3NpemUuaGVpZ2h0JiYodC5kcmF3SW1hZ2UoZS5nZXRJbWFnZSgpLGksMCxuLHRoaXMuX3NpemUuaGVpZ2h0KSxpKz1uKX0pKSxlfV9mb3JFYWNoV2lkZ2V0RnJvbUxlZnQoZSl7Y29uc3QgdD1bLi4udGhpcy5fYXhpc2VzLC4uLnRoaXMuX3N0dWJzXSxpPSJsZWZ0Ij09PXRoaXMuX3NpZGUscz1pPy0xOnQubGVuZ3RoLG49aT8tMToxO2ZvcihsZXQgcj1pP3QubGVuZ3RoLTE6MDtyIT09cztyKz1uKWUodFtyXSxyLHQpfX12YXIgcWk9aSg2MzcyNTgpLCRpPWkoODczNTczKSxZaT1pKDE5Mjc1MSksS2k9aSg4NTYxNik7ZnVuY3Rpb24gWGkoZSx0LGkscz0hMSl7cmV0dXJuIGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpIT09aSYmKGUuY2xhc3NMaXN0LnRvZ2dsZSgicmVhZG9ubHkiLGkpLGUuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIixzJiZpKSx0Py5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLGkpLCEwKX1jbGFzcyBaaXtjb25zdHJ1Y3RvcihlPTApe3RoaXMuX3dpZHRoPW51bGwsdGhpcy5fbGFiZWxCb3R0b209bnVsbCx0aGlzLl9jdXJyZW5jeUluZm89bnVsbCx0aGlzLl91bml0SW5mbz1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRJbmZvPW51bGwsdGhpcy5fbWV0cmljSW5mbz1udWxsLHRoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtd3JhcHBlciJdLHRoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXIuc2V0QXR0cmlidXRlKCJkYXRhLW5hbWUiLCJjdXJyZW5jeS11bml0LWxhYmVsLXdyYXBwZXIiKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwiXSx0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyKSx0aGlzLl9jdXJyZW5jeUxhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2N1cnJlbmN5TGFiZWxEaXYuY2xhc3NMaXN0LmFkZChLaS5yb3csImFwcGx5LWNvbW1vbi10b29sdGlwIiksdGhpcy5fY3VycmVuY3lMYWJlbERpdi5kYXRhc2V0Lm5hbWU9ImN1cnJlbmN5LWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fY3VycmVuY3lMYWJlbERpdiwidGV4dCIsKGU9PnRoaXMuX2N1cnJlbmN5VG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX2N1cnJlbmN5VGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jdXJyZW5jeVRleHQuY2xhc3NOYW1lPUtpWyJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXRleHQiXSx0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX2N1cnJlbmN5VGV4dCksdGhpcy5fY3VycmVuY3lBcnJvd0Rvd249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY3VycmVuY3lBcnJvd0Rvd24uY2xhc3NOYW1lPUtpWyJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWFycm93LWRvd24iXSx0aGlzLl9jdXJyZW5jeUFycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fY3VycmVuY3lMYWJlbERpdi5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW5jeUFycm93RG93biksdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc05hbWU9S2kucm93LHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuYWRkKCJyZWFkb25seSIpLCgwLE9pLnNldFRvb2x0aXBEYXRhKSh0aGlzLl9tZWFzdXJlVW5pdElkTGFiZWxEaXYsInRleHQiLChlPT50aGlzLl9tZWFzdXJlVW5pdElkVG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX21lYXN1cmVVbml0SWRUZXh0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0Il0sdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX21lYXN1cmVVbml0SWRUZXh0KSx0aGlzLl91bml0TGFiZWxEaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fdW5pdExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoS2kucm93LCJhcHBseS1jb21tb24tdG9vbHRpcCIpLAp0aGlzLl91bml0TGFiZWxEaXYuZGF0YXNldC5uYW1lPSJ1bml0LWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fdW5pdExhYmVsRGl2LCJ0ZXh0IiwoZT0+dGhpcy5fdW5pdFRvb2x0aXBDb250ZW50KCkpKSx0aGlzLl91bml0VGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl91bml0VGV4dC5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtdGV4dCJdLHRoaXMuX3VuaXRMYWJlbERpdi5hcHBlbmRDaGlsZCh0aGlzLl91bml0VGV4dCksdGhpcy5fdW5pdEFycm93RG93bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl91bml0QXJyb3dEb3duLmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duIl0sdGhpcy5fdW5pdEFycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fdW5pdExhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX3VuaXRBcnJvd0Rvd24pLHRoaXMuX21ldHJpY0xhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21ldHJpY0xhYmVsRGl2LmNsYXNzTGlzdC5hZGQoS2kucm93LCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX21ldHJpY0xhYmVsRGl2LmRhdGFzZXQubmFtZT0ibWV0cmljLWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fbWV0cmljTGFiZWxEaXYsInRleHQiLChlPT50aGlzLl9tZXRyaWNUb29sdGlwQ29udGVudCgpKSksdGhpcy5fbWV0cmljVGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9tZXRyaWNUZXh0LmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0Il0sdGhpcy5fbWV0cmljTGFiZWxEaXYuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljVGV4dCksdGhpcy5fbWV0cmljQXJyb3dEb3duPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21ldHJpY0Fycm93RG93bi5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYXJyb3ctZG93biJdLHRoaXMuX21ldHJpY0Fycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fbWV0cmljTGFiZWxEaXYuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljQXJyb3dEb3duKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2KSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9tZWFzdXJlVW5pdElkTGFiZWxEaXYpLHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX3VuaXRMYWJlbERpdiksdGhpcy5fY29udHJvbHNDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljTGFiZWxEaXYpLHRoaXMuZGlzYWJsZUN1cnJlbmN5KCksdGhpcy5kaXNhYmxlVW5pdCgpLHRoaXMuZGlzYWJsZU1ldHJpYygpLHRoaXMuc2V0Rm9udFNpemUoZSl9ZWxlbWVudCgpe3JldHVybiB0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyfWN1cnJlbmN5TGFiZWxFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2N1cnJlbmN5TGFiZWxEaXZ9dW5pdExhYmVsRWxlbWVudCgpe3JldHVybiB0aGlzLl91bml0TGFiZWxEaXZ9bWV0cmljTGFiZWxFbGVtZW50KCl7cmV0dXJuIHRoaXMuX21ldHJpY0xhYmVsRGl2fWlzRW5hYmxlZCgpe3JldHVybiB0aGlzLmN1cnJlbmN5TGFiZWxFbmFibGVkKCl8fHRoaXMudW5pdExhYmVsRW5hYmxlZCgpfHx0aGlzLm1lYXN1cmVVbml0SWRMYWJsZUVuYWJsZWQoKXx8dGhpcy5tZXRyaWNMYWJlbEVuYWJsZWQoKX1pc0hpZGRlbigpe3JldHVybiB0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyLmNsYXNzTGlzdC5jb250YWlucyhLaS5oaWRkZW4pfXNldEN1cnJlbmN5RXhwYW5kZWQoZSl7dGhpcy5fY3VycmVuY3lMYWJlbERpdi5jbGFzc0xpc3QudG9nZ2xlKEtpLmV4cGFuZGVkLGUpfXNldFVuaXRFeHBhbmRlZChlKXt0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LnRvZ2dsZShLaS5leHBhbmRlZCxlKX1zZXRNZXRyaWNFeHBhbmRlZChlKXt0aGlzLl9tZXRyaWNMYWJlbERpdi5jbGFzc0xpc3QudG9nZ2xlKEtpLmV4cGFuZGVkLGUpfXdpZHRoKCl7aWYobnVsbCE9PXRoaXMuX3dpZHRoKXJldHVybiB0aGlzLl93aWR0aDtsZXQgZT0wO2lmKHRoaXMuY3VycmVuY3lMYWJlbEVuYWJsZWQoKSl7Y29uc3QgdD10aGlzLl9jdXJyZW5jeVRleHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10aGlzLl9jdXJyZW5jeUFycm93RG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPU1hdGgubWF4KGUsdC53aWR0aCtpLndpZHRoKzIqdGhpcy5fdGV4dE1hcmdpbkFuZFBhZGRpbmcoKSl9aWYodGhpcy5tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCkpe2NvbnN0IHQ9dGhpcy5fbWVhc3VyZVVuaXRJZFRleHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZT1NYXRoLm1heChlLHQud2lkdGgrMip0aGlzLl90ZXh0TWFyZ2luQW5kUGFkZGluZygpKX1pZih0aGlzLnVuaXRMYWJlbEVuYWJsZWQoKSl7Y29uc3QgdD10aGlzLl91bml0VGV4dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXRoaXMuX3VuaXRBcnJvd0Rvd24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZT1NYXRoLm1heChlLHQud2lkdGgraS53aWR0aCsyKnRoaXMuX3RleHRNYXJnaW5BbmRQYWRkaW5nKCkpfWlmKHRoaXMubWV0cmljTGFiZWxFbmFibGVkKCkpe2NvbnN0IHQ9dGhpcy5fbWV0cmljVGV4dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXRoaXMuX21ldHJpY0Fycm93RG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPU1hdGgubWF4KGUsdC53aWR0aCtpLndpZHRoKzIqdGhpcy5fdGV4dE1hcmdpbkFuZFBhZGRpbmcoKSl9cmV0dXJuIHRoaXMuX3dpZHRoPWV9ZHJhd0xhYmVsKGUsdCxpKXtpZighdGhpcy5pc0VuYWJsZWQoKSlyZXR1cm47Y29uc3Qgcz1NYXRoLnJvdW5kKE51bWJlcihLaS5jc3Nfd3JhcHBlcl9tYXJnaW4pKmkpLG49KDAsCmJpLmNlaWxlZEV2ZW4pKHQqaSktMipzLHI9TWF0aC5yb3VuZCh0aGlzLmxhYmVsQm90dG9tKCkqaSksbz1yLTIqcyxhPU1hdGgucm91bmQoTnVtYmVyKEtpLmNzc192YWx1ZV9jdXJyZW5jeV9sYWJlbF9yYWRpdXMpKmkpO2UuZmlsbFN0eWxlPWdldENvbXB1dGVkU3R5bGUodGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlcikuYmFja2dyb3VuZENvbG9yLGUuZmlsbFJlY3QoMCwwLE1hdGguY2VpbCh0KmkpLHIpO2NvbnN0IGw9W107bC5wdXNoKHRoaXMuY3VycmVuY3lMYWJlbEVuYWJsZWQoKT90aGlzLl9jdXJyZW5jeVRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxsLnB1c2godGhpcy5tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCk/dGhpcy5fbWVhc3VyZVVuaXRJZFRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxsLnB1c2godGhpcy51bml0TGFiZWxFbmFibGVkKCk/dGhpcy5fdW5pdFRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxlLmZvbnQ9KDAsUmkubWFrZUZvbnQpKHRoaXMuX2ZvbnRTaXplLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpO2NvbnN0IGM9bmV3IEJpLlRleHRXaWR0aENhY2hlO2xldCBoPTA7Y29uc3QgZD1bXTtsLmZvckVhY2goKHQ9PntsZXQgaT0wOyIiIT09dCYmKGk9Yy55TWlkQ29ycmVjdGlvbihlLHQpLGgrKyksZC5wdXNoKGkpfSkpO2NvbnN0IHU9by9oO2UuYmVnaW5QYXRoKCk7Y29uc3QgcD1nZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyKTtlLmZpbGxTdHlsZT1wLmJhY2tncm91bmRDb2xvcixlLnN0cm9rZVN0eWxlPXAuYm9yZGVyQ29sb3IsKDAsRGkuZHJhd1JvdW5kUmVjdCkoZSxzLHMsbixvLGEpLGUuZmlsbCgpLGUuc3Ryb2tlKCksZS5maWxsU3R5bGU9Z2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2KS5jb2xvcixlLnRleHRCYXNlbGluZT0ibWlkZGxlIixlLnRleHRBbGlnbj0ibGVmdCI7Y29uc3QgXz1NYXRoLnJvdW5kKHRoaXMuX3RleHRNYXJnaW5BbmRQYWRkaW5nKCkqaSkrcyxtPXUvMjtsZXQgZz1zK207bC5mb3JFYWNoKCgodCxzKT0+eyIiIT09dCYmKCgwLEt0LmRyYXdTY2FsZWQpKGUsaSxpLCgoKT0+e2UuZmlsbFRleHQodCxfL2ksKGcrZFtzXSkvaSl9KSksZz1NYXRoLmNlaWwoZysyKm0pKX0pKX1zZXRIaWRkZW4oZSl7dGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5jbGFzc0xpc3QudG9nZ2xlKEtpLmhpZGRlbixlKX1lbmFibGVDdXJyZW5jeSgpe3RoaXMuX2N1cnJlbmN5TGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1kaXNhYmxlQ3VycmVuY3koKXt0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlVW5pdCgpe3RoaXMuX3VuaXRMYWJlbERpdi5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9yZXNldFNpemVzQW5kVmlzaWJpbGl0eSgpfWRpc2FibGVVbml0KCl7dGhpcy5fdW5pdExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlTWVhc3VyZVVuaXRJZCgpe3RoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9yZXNldFNpemVzQW5kVmlzaWJpbGl0eSgpfWRpc2FibGVNZWFzdXJlVW5pdElkKCl7dGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlTWV0cmljKCl7dGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1kaXNhYmxlTWV0cmljKCl7dGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LmFkZCgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1jdXJyZW5jeUxhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5jb250YWlucygianMtaGlkZGVuIil9dW5pdExhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJqcy1oaWRkZW4iKX1tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCl7cmV0dXJuIXRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpfW1ldHJpY0xhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl9tZXRyaWNMYWJlbERpdi5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpfWN1cnJlbmN5Q29udmVyc2lvbkF2YWlsYWJsZSgpe3JldHVybiF0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5jb250YWlucygicmVhZG9ubHkiKX11bml0Q29udmVyc2lvbkF2YWlsYWJsZSgpe3JldHVybiF0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpfW1ldHJpY0NvbnZlcnNpb25BdmFpbGFibGUoKXtyZXR1cm4hdGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpfXNldEN1cnJlbmN5SW5mbyhlKXtpZih0aGlzLl9jdXJyZW5jeUluZm89PT1lKXJldHVybiExO3RoaXMuX2N1cnJlbmN5SW5mbz1lO2NvbnN0IHQ9bnVsbD09PWUuc2VsZWN0ZWRDdXJyZW5jeT9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoMjE3MTYxKSk6KDAsbC5lbnN1cmVEZWZpbmVkKShlLmRpc3BsYXllZFZhbHVlcy5nZXQoZS5zZWxlY3RlZEN1cnJlbmN5KSk7cmV0dXJuIHRoaXMuX2N1cnJlbmN5VGV4dC50ZXh0Q29udGVudCE9PXQmJih0aGlzLl9jdXJyZW5jeVRleHQudGV4dENvbnRlbnQ9dCx0aGlzLl93aWR0aD1udWxsKSxYaSh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LHRoaXMuX2N1cnJlbmN5QXJyb3dEb3duLGUucmVhZE9ubHkpJiYodGhpcy5fd2lkdGg9bnVsbCksITB9c2V0VW5pdEluZm8oZSl7CmlmKG51bGwhPT10aGlzLl91bml0SW5mbyYmdGhpcy5fdW5pdEluZm8uc2VsZWN0ZWRVbml0PT09ZS5zZWxlY3RlZFVuaXQmJjA9PT10aGlzLl91bml0SW5mby5hdmFpbGFibGVHcm91cHMuc2l6ZT09KDA9PT1lLmF2YWlsYWJsZUdyb3Vwcy5zaXplKSYmdGhpcy5fdW5pdEluZm8ub3JpZ2luYWxVbml0cy5zaXplPT09ZS5vcmlnaW5hbFVuaXRzLnNpemUpcmV0dXJuIHRoaXMuX3VuaXRJbmZvPWUsITE7dGhpcy5fdW5pdEluZm89ZTtjb25zdCB0PW51bGw9PT1lLnNlbGVjdGVkVW5pdD9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoMjE3MTYxKSk6KDAsbC5lbnN1cmVEZWZpbmVkKShlLm5hbWVzLmdldChlLnNlbGVjdGVkVW5pdCkpO3JldHVybiB0aGlzLl91bml0VGV4dC50ZXh0Q29udGVudCE9PXQmJih0aGlzLl91bml0VGV4dC50ZXh0Q29udGVudD10LHRoaXMuX3dpZHRoPW51bGwpLFhpKHRoaXMuX3VuaXRMYWJlbERpdix0aGlzLl91bml0QXJyb3dEb3duLDA9PT1lLmF2YWlsYWJsZUdyb3Vwcy5zaXplKSYmKHRoaXMuX3dpZHRoPW51bGwpLCEwfXNldE1lYXN1cmVVbml0SWRJbmZvKGUpe2lmKHRoaXMuX21lYXN1cmVVbml0SWRJbmZvPT09ZSlyZXR1cm4hMTt0aGlzLl9tZWFzdXJlVW5pdElkSW5mbz1lO2NvbnN0IHQ9bnVsbD09PWUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkP3AudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSgyMTcxNjEpKTooMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KGUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkKSk7cmV0dXJuIHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LnRleHRDb250ZW50IT09dCYmKHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LnRleHRDb250ZW50PXQsdGhpcy5fd2lkdGg9bnVsbCksWGkodGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LG51bGwsMD09PWUubmFtZXMuc2l6ZSwhMCkmJih0aGlzLl93aWR0aD1udWxsKSwhMH1zZXRNZXRyaWNJbmZvKGUpe2lmKHRoaXMuX21ldHJpY0luZm89PT1lKXJldHVybiExO3RoaXMuX21ldHJpY0luZm89ZTtjb25zdCB0PW51bGw9PT1lLnNlbGVjdGVkTWV0cmljSWQ/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDIxNzE2MSkpOigwLGwuZW5zdXJlRGVmaW5lZCkoZS5uYW1lcy5nZXQoZS5zZWxlY3RlZE1ldHJpY0lkKSk7cmV0dXJuIHRoaXMuX21ldHJpY1RleHQudGV4dENvbnRlbnQhPT10JiYodGhpcy5fbWV0cmljVGV4dC50ZXh0Q29udGVudD10LHRoaXMuX3dpZHRoPW51bGwpLFhpKHRoaXMuX21ldHJpY0xhYmVsRGl2LHRoaXMuX21ldHJpY0Fycm93RG93bixlLnJlYWRPbmx5KSYmKHRoaXMuX3dpZHRoPW51bGwpLCEwfWN1cnJlbmN5SW5mbygpe3JldHVybiB0aGlzLl9jdXJyZW5jeUluZm99dW5pdEluZm8oKXtyZXR1cm4gdGhpcy5fdW5pdEluZm99bWVhc3VyZVVuaXRJZEluZm8oKXtyZXR1cm4gdGhpcy5fbWVhc3VyZVVuaXRJZEluZm99bWV0cmljSW5mbygpe3JldHVybiB0aGlzLl9tZXRyaWNJbmZvfXNldEZvbnRTaXplKGUpe3RoaXMuX2ZvbnRTaXplIT09ZSYmKHRoaXMuX2ZvbnRTaXplPWUsdGhpcy5fY3VycmVuY3lMYWJlbERpdi5zdHlsZS5mb250U2l6ZT1lKyJweCIsdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LnN0eWxlLmZvbnRTaXplPWUrInB4Iix0aGlzLl91bml0TGFiZWxEaXYuc3R5bGUuZm9udFNpemU9ZSsicHgiLHRoaXMuX21ldHJpY0xhYmVsRGl2LnN0eWxlLmZvbnRTaXplPWUrInB4Iix0aGlzLl93aWR0aD1udWxsLHRoaXMuX2xhYmVsQm90dG9tPW51bGwpfWxhYmVsQm90dG9tKCl7aWYobnVsbCE9PXRoaXMuX2xhYmVsQm90dG9tKXJldHVybiB0aGlzLl9sYWJlbEJvdHRvbTtjb25zdCBlPXRoaXMuX2NvbnRyb2xzQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9dGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWUueS10Lnk7cmV0dXJuIHRoaXMuX2xhYmVsQm90dG9tPWUuaGVpZ2h0KzIqaX1fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKXt0aGlzLl93aWR0aD1udWxsLHRoaXMuX2xhYmVsQm90dG9tPW51bGwsdGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpfV90ZXh0TWFyZ2luQW5kUGFkZGluZygpe3JldHVybiBOdW1iZXIoS2kuY3NzX3dyYXBwZXJfbWFyZ2luKStOdW1iZXIoS2kuY3NzX3Jvd19sZWZ0X3JpZ2h0X3BhZGRpbmcpKzJ9X2N1cnJlbmN5VG9vbHRpcENvbnRlbnQoKXtjb25zdCBlPXRoaXMuX2N1cnJlbmN5SW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRDdXJyZW5jeT9BcnJheS5mcm9tKGUuY3VycmVuY2llcykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUuZGlzcGxheWVkVmFsdWVzLmdldCh0KSkpKS5qb2luKCIsICIpOmUucmVhZE9ubHk/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDE5MTQ1NSkpOnAudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSg3ODkwNDkpKX1fdW5pdFRvb2x0aXBDb250ZW50KCl7Y29uc3QgZT10aGlzLl91bml0SW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRVbml0P0FycmF5LmZyb20oZS51bml0cykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KHQpKSkpLmpvaW4oIiwgIik6MD09PWUuYXZhaWxhYmxlR3JvdXBzLnNpemU/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDU1Njc2NSkpOnAudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSg0MDUwMTMpKX1fbWVhc3VyZVVuaXRJZFRvb2x0aXBDb250ZW50KCl7Y29uc3QgZT10aGlzLl9tZWFzdXJlVW5pdElkSW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkP0FycmF5LmZyb20oZS5tZWFzdXJlVW5pdElkcykubWFwKCh0PT4oMCwKbC5lbnN1cmVEZWZpbmVkKShlLm5hbWVzLmdldCh0KSkpKS5qb2luKCIsICIpOmUuZGVzY3JpcHRpb25zLmdldChlLnNlbGVjdGVkTWVhc3VyZVVuaXRJZCl8fCIifV9tZXRyaWNUb29sdGlwQ29udGVudCgpe2NvbnN0IGU9dGhpcy5fbWV0cmljSW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRNZXRyaWNJZD9BcnJheS5mcm9tKGUubWV0cmljcykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KHQpKSkpLmpvaW4oIiwgIik6ZS5yZWFkT25seT9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoOTk0ODQ1KSk6cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDgzMzc0NikpfV91cGRhdGVWaXNpYmlsaXR5KCl7Y29uc3QgZT10aGlzLmlzRW5hYmxlZCgpO3RoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXIuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhZSl9fWFzeW5jIGZ1bmN0aW9uIEppKGUsdCxzLG4scil7Y29uc3R7VW5pdENvbnZlcnNpb25SZW5kZXJlcjpvfT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDE2NTk4KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg4MTA3MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoODkyMDQpLGkuZSgzMjE3NiksaS5lKDIwMiksaS5lKDg4NjQxKSxpLmUoNzA2NTYpLGkuZSgzMjg1NyksaS5lKDUyOTYxKSxpLmUoMzIzODcpLGkuZSgzOTYwOSksaS5lKDM1OTY0KSxpLmUoODI5NyldKS50aGVuKGkuYmluZChpLDc2MzgwMikpO3JldHVybiBuZXcgbyhlLHMsdCxuLHIpfWFzeW5jIGZ1bmN0aW9uIFFpKGUsdCxzKXtjb25zdHtDdXJyZW5jeU1lbnVSZXN1bHRFdmVudHM6bn09YXdhaXQgaS5lKDYzODg1KS50aGVuKGkuYmluZChpLDIyMDM5KSk7cmV0dXJuIG5ldyBuKGUsdCxzKX12YXIgZXM9aSg1MDkwNCk7Y2xhc3MgdHN7Y29uc3RydWN0b3IoZSl7Y29uc3R7YWN0aW9uOnQscHJvcGVydHk6aSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpuLGNhbGxiYWNrOnI9bnVsbH09ZTt0aGlzLl9wcm9wZXJ0eT1pLHRoaXMuX3VuZG9Nb2RlbD1zLHRoaXMuX3VuZG9UZXh0PW4sdGhpcy5fYWN0aW9uPXQsdGhpcy5zZXRWYWx1ZShpLnZhbHVlKCkpLGkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvcGVydHlDaGFuZ2VkKSxudWxsIT09cj90LnVwZGF0ZSh7b25FeGVjdXRlOnIuYmluZCh0aGlzKX0pOnQudXBkYXRlKHtvbkV4ZWN1dGU6dGhpcy5fb25BY3Rpb25DYWxsYmFjay5iaW5kKHRoaXMpfSl9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnR5LnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvcGVydHlDaGFuZ2VkKX12YWx1ZSgpe3JldHVybiB0aGlzLl9hY3Rpb24uaXNDaGVja2VkKCl9c2V0VmFsdWUoZSl7dGhpcy5fYWN0aW9uLnVwZGF0ZSh7Y2hlY2tlZDpCb29sZWFuKGUpfSl9X29uQWN0aW9uQ2FsbGJhY2soKXt0aGlzLl91bmRvTW9kZWwuc2V0UHJvcGVydHkodGhpcy5fcHJvcGVydHksdGhpcy52YWx1ZSgpLHRoaXMuX3VuZG9UZXh0KX1fcHJvcGVydHlDaGFuZ2VkKGUpe3RoaXMuc2V0VmFsdWUoZS52YWx1ZSgpKX19Y2xhc3MgaXMgZXh0ZW5kcyBlcy5BY3Rpb257Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlKSx0aGlzLl9iaW5kaW5nPW5ldyB0cyh7YWN0aW9uOnRoaXMsLi4udH0pfWRlc3Ryb3koKXt0aGlzLl9iaW5kaW5nLmRlc3Ryb3koKSxzdXBlci5kZXN0cm95KCl9fXZhciBzcz1pKDM1NjQzNCksbnM9aSgyNTI0MjcpLHJzPWkoMTUyNzY2KSxvcz1pKDE2OTg0NSksYXM9aSg0NzcxNTUpO2Z1bmN0aW9uIGxzKGUsdCxpKXtyZXR1cm4gbnVsbD09PWk/W106aS5maWx0ZXIoKGk9PntpZighaS5pc1Zpc2libGUoKXx8aS5pZ25vcmVBbGlnbm1lbnQoKSlyZXR1cm4hMTtjb25zdHt0b3RhbDpzfT1pLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KGUpLG49aS5jb29yZGluYXRlKCk7cmV0dXJuIG4+LXMmJm48dCtzfSkpfWkoMTQ0MTEyKTtjb25zdCBjcz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2Ugbm8gb3ZlcmxhcHBpbmcgbGFiZWxzIixwLnQobnVsbCx2b2lkIDAsaSg5MTc1OTApKSksaHM9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGF1dG8gc2NhbGUiLHAudChudWxsLHZvaWQgMCxpKDU5OTE0MSkpKSxkcz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgbG9nIHNjYWxlIixwLnQobnVsbCx2b2lkIDAsaSg3Nzc0ODUpKSksdXM9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDI3ODc1MSkpLHBzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg5MTE3MTEpKSxfcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoODQ2NzkpKSxtcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoMjEzMDc1KSksZ3M9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDkxNjI3NykpLGZzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSgzNDI5MTUpKSxTcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoNjQyODQzKSksdnM9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDY0MDA5NikpLHlzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSgxOTcxMDUpKSxicz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoODg2MDEzKSksd3M9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDc0OTE3OSkpLENzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg4NDc4MzQpKSxQcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoNDcxOTgwKSk7Y29uc3QgVHM9ZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgbnMuTGltaXRlZFByZWNpc2lvbk51bWVyaWNGb3JtYXR0ZXIoZSk7cmV0dXJuKGUsaSk9PigwLGEuaXNOdW1iZXIpKGkpJiYhZS5pc0xvZygpP3QuZm9ybWF0KGkpOiIifSg0KSx4cz0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjdXJyZW5jeV9tZW51X2Rpc2FibGVkIiksTXM9KDAsCnEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVuaXRfbWVudV9kaXNhYmxlZCIpLElzPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1ldHJpY19tZW51X2Rpc2FibGVkIiksTHM9e2NvbnRleHRNZW51RW5hYmxlZDohMCxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiExLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMSxtZXRyaWNDb252ZXJzaW9uRW5hYmxlZDohMSxjb3VudGRvd25FbmFibGVkOiEwLGNvbnRleHRNZW51OntnZW5lcmFsOiEwLHNvdXJjZTohMH0scHJlc3NlZE1vdXNlTW92ZVNjYWxlOiEwLG1vdXNlV2hlZWxTY2FsZTohMCxwaW5jaFNjYWxlOiEwLGNyb3BwZWRUaWNrTWFya3M6ITB9O3ZhciBBcyxrczshZnVuY3Rpb24oZSl7ZVtlLkxhYmVsT2Zmc2V0PTRdPSJMYWJlbE9mZnNldCIsZVtlLkRlZmF1bHRPcHRpbWFsV2lkdGg9MzRdPSJEZWZhdWx0T3B0aW1hbFdpZHRoIixlW2UuV2hlZWxTY2FsZUNvZWZmPTE1XT0iV2hlZWxTY2FsZUNvZWZmIixlW2UuQ3VycmVuY3lMYWJlbEZvbnRTaXplPTEyXT0iQ3VycmVuY3lMYWJlbEZvbnRTaXplIn0oQXN8fChBcz17fSkpLGZ1bmN0aW9uKGUpe2VbZS5CYWNrPTBdPSJCYWNrIixlW2UuVG9wPTFdPSJUb3AiLGVbZS5BbGw9Ml09IkFsbCJ9KGtzfHwoa3M9e30pKTtjbGFzcyBEc3tjb25zdHJ1Y3RvcihlLHQsaSxzLG4scixvLGwsYyl7dGhpcy5fYWN0aW9ucz1udWxsLHRoaXMuX3ByaWNlU2NhbGU9bnVsbCx0aGlzLl9zY2FsZU1vZGVCdXR0b25zPW51bGwsdGhpcy5fc2NhbGVNb2RlQnV0dG9uc1Byb21pc2U9bnVsbCx0aGlzLl93aWR0aENhY2hlPW5ldyBCaS5UZXh0V2lkdGhDYWNoZSgxZTMpLHRoaXMuX2NvbG9yPW51bGwsdGhpcy5fZm9udFNpemU9bnVsbCx0aGlzLl9pc1Zpc2libGU9ITAsdGhpcy5fY3VycmVuY3lNZW51PW51bGwsdGhpcy5fdW5pdE1lbnU9bnVsbCx0aGlzLl9tZXRyaWNNZW51PW51bGwsdGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWU9IiIsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2hpZ2hsaWdodGVkPSExLHRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGU9bnVsbCx0aGlzLl9tb3VzZVdoZWVsSGVscGVyPW51bGwsdGhpcy5fZHJhZ1NjYWxlQWN0aXZlPSExLHRoaXMuX29mZnNldD1OYU4sdGhpcy5fcGluY2hpbmc9ITEsdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ9bnVsbCx0aGlzLl9pc0hvdmVyZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zZWxlY3RlZFZpYVRhcD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHk9KCk9PntpZihudWxsPT09dGhpcy5fY3VycmVuY3lMYWJlbClyZXR1cm47Y29uc3QgZT0oMCxycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnZhbHVlKCk7bGV0IHQ9IXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS52YWx1ZSgpO2lmKHQpc3dpdGNoKGUpe2Nhc2UiYWx3YXlzT2ZmIjp0PSExO2JyZWFrO2Nhc2UidmlzaWJsZU9uTW91c2VPdmVyIjpjb25zdCBlPXRoaXMuX2NoYXJ0LmFueVByaWNlQXhpc0hvdmVyZWQoKS52YWx1ZSgpLGk9ISF0aGlzLl9jdXJyZW5jeU1lbnUscz0hIXRoaXMuX3VuaXRNZW51O3Q9ZXx8aXx8czticmVhaztjYXNlInZpc2libGVPblRhcFNlbGVjdGlvbiI6dD10aGlzLl9zZWxlY3RlZFZpYVRhcC52YWx1ZSgpfXRoaXMuX2N1cnJlbmN5TGFiZWwuc2V0SGlkZGVuKCF0KX0sdGhpcy5faGFuZGxlQWN0dWFsQXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5PWFzeW5jIGU9Pntjb25zdCB0PWUudmFsdWUoKTtpZigiYWx3YXlzT2ZmIj09PXQpdGhpcy5fc2NhbGVNb2RlQnV0dG9ucyYmdGhpcy5fZGVzdHJveVNjYWxlTW9kZUJ1dHRvbnMoKTtlbHNle2lmKCF0aGlzLl9zY2FsZU1vZGVCdXR0b25zKXt0aGlzLl9zY2FsZU1vZGVCdXR0b25zUHJvbWlzZT10aGlzLl9zY2FsZU1vZGVCdXR0b25zUHJvbWlzZT8/dGhpcy5fY3JlYXRlU2NhbGVNb2RlQnV0dG9ucygpO3RyeXt0aGlzLl9zY2FsZU1vZGVCdXR0b25zPWF3YWl0IHRoaXMuX3NjYWxlTW9kZUJ1dHRvbnNQcm9taXNlfWNhdGNoKGUpe2lmKCgwLHFlLmlzQWJvcnRFcnJvcikoZSkpcmV0dXJufXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSl9ImFsd2F5c09uIj09PXQ/KHRoaXMuX2lzSG92ZXJlZC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSx0aGlzLl9zZWxlY3RlZFZpYVRhcC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSk6InZpc2libGVPbk1vdXNlT3ZlciI9PT10Pyh0aGlzLl9zZWxlY3RlZFZpYVRhcC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSx0aGlzLl9pc0hvdmVyZWQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpKToodGhpcy5faXNIb3ZlcmVkLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX3NlbGVjdGVkVmlhVGFwLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSksdGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSgpfXRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCgpfSx0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5PSgpPT57Y29uc3QgZT10aGlzLl9pc0hvdmVyZWQudmFsdWUoKSx0PXRoaXMuX3NlbGVjdGVkVmlhVGFwLnZhbHVlKCk7bGV0IGk9ITE7aWYoIXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS52YWx1ZSgpJiYhdGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkpc3dpdGNoKCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS52YWx1ZSgpKXsKY2FzZSJ2aXNpYmxlT25Nb3VzZU92ZXIiOmk9ZTticmVhaztjYXNlInZpc2libGVPblRhcFNlbGVjdGlvbiI6aT10O2JyZWFrO2Nhc2UiYWx3YXlzT24iOmk9ITB9dGhpcy5fc2NhbGVNb2RlQnV0dG9ucz8uZWxlbWVudCgpLmNsYXNzTGlzdC50b2dnbGUoInByaWNlLWF4aXNfX21vZGVCdXR0b25zX2hpZGRlbiIsIWkpfSx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zPSgpPT57dGhpcy5fc2NhbGVNb2RlQnV0dG9ucz8udXBkYXRlKCl9LHRoaXMuX2NoYXJ0PWUsdGhpcy5fcGFuZT10LHRoaXMuX3VuZG9Nb2RlbD1pLHRoaXMuX3Byb3BlcnRpZXM9cyx0aGlzLl9pc0xlZnQ9ImxlZnQiPT09cix0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKExzKSxvKSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcj1uLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPWMsdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jZWxsLmNsYXNzTmFtZT0icHJpY2UtYXhpcyIsdGhpcy5fY2VsbC5kYXRhc2V0Lm5hbWU9YHByaWNlLWF4aXMtJHtsLmxhYmVsfWAsdGhpcy5fY2VsbC5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PSIwIix0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+e3RoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmxpZ2h0VXBkYXRlKCl9LHRoaXMuX2NhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2NlbGwsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl9jYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBkPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtkLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZC5zdHlsZS56SW5kZXg9IjEiLGQuc3R5bGUubGVmdD0iMCIsZC5zdHlsZS50b3A9IjAiLHRoaXMuX3RvcENhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2NlbGwsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCB1PXRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDt1LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdS5zdHlsZS56SW5kZXg9IjIiLHUuc3R5bGUubGVmdD0iMCIsdS5zdHlsZS50b3A9IjAiLHRoaXMuX2NlbGwuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fY2VsbCx0aGlzLHt0cmVhdFZlcnRUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITEsdHJlYXRIb3J6VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwfSksdGhpcy5fb3B0aW9ucy5jdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkfHx0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZD8odGhpcy5fY3VycmVuY3lMYWJlbD1uZXcgWmkoMTIpLHRoaXMuX2NlbGwuYXBwZW5kQ2hpbGQodGhpcy5fY3VycmVuY3lMYWJlbC5lbGVtZW50KCkpKTp0aGlzLl9jdXJyZW5jeUxhYmVsPW51bGwsdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkZvbnRTaXplQ2hhbmdlZCksdGhpcy5fb3B0aW9ucy5tb3VzZVdoZWVsU2NhbGUmJih0aGlzLl9tb3VzZVdoZWVsSGVscGVyPW5ldyBTaSx0aGlzLl9jZWxsLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLl9vbk1vdXNld2hlZWwuYmluZCh0aGlzKSx7cGFzc2l2ZTohMX0pKSx0aGlzLl9heGlzSW5mbz1sLHRoaXMuX29mZnNldD0wLHRoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKSwoMCxycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLHRoaXMuX3NlbGVjdGVkVmlhVGFwLnN1YnNjcmliZSh0aGlzLl9yZWNhbGNDdXJyZW5jeVVuaXRBbmRNZXRyaWNWaXNpYmlsaXR5LmJpbmQodGhpcykpLCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVBY3R1YWxBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX2hhbmRsZUFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSgoMCxvcy5hY3R1YWxBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHkpKCkpLmNhdGNoKCgoKT0+e30pKSx0aGlzLl9jaGFydC5hbnlQcmljZUF4aXNIb3ZlcmVkKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS5zdWJzY3JpYmUodGhpcy5fcmVjYWxjQ3VycmVuY3lVbml0QW5kTWV0cmljVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy51cGRhdGUoKX1hc3luYyBnZXRDb250ZXh0TWVudUFjdGlvbnMoZSl7dGhpcy5faW5pdEFjdGlvbnMoKTtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucyksaT10aGlzLl9jaGFydC5hY3Rpb25zKCkscz1bXTtpZih0aGlzLl9wcmljZVNjYWxlPy5yZXNldFNjYWxlQXZhaWxhYmxlKCkudmFsdWUoKSYmcy5wdXNoKHQucmVzZXQsbmV3IGVzLlNlcGFyYXRvcikscy5wdXNoKHRoaXMuX2F1dG9TY2FsZUFjdGlvbigpKSx0aGlzLl9pc01haW5TZXJpZXNBeGlzKCkmJnMucHVzaCh0aGlzLl9sb2NrU2NhbGVBY3Rpb24oKSksCnMucHVzaChpLnNjYWxlU2VyaWVzT25seSx0aGlzLl9pbnZlcnRBY3Rpb24oKSxuZXcgZXMuU2VwYXJhdG9yLHRoaXMuX3JlZ3VsYXJTY2FsZUFjdGlvbigpLHRoaXMuX3BlcmNlbnRhZ2VBY3Rpb24oKSx0aGlzLl9pbmRleGVkVG8xMDBBY3Rpb24oKSx0aGlzLl9sb2dBY3Rpb24oKSxuZXcgZXMuU2VwYXJhdG9yLHRoaXMuX2NyZWF0ZU1lcmdlU2NhbGVzQWN0aW9uKCksbmV3IGVzLlNlcGFyYXRvciksISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZ1bmRhbWVudGFsX3dpZGdldCIpKXtjb25zdCBlPVtpLnNob3dTeW1ib2xMYWJlbHNBY3Rpb24saS5zaG93U2VyaWVzTGFzdFZhbHVlLGkuc2hvd1Nlcmllc1ByZXZDbG9zZVZhbHVlLGkuc2hvd1ByZVBvc3RNYXJrZXRQcmljZUxhYmVsLGkuc2hvd0hpZ2hMb3dQcmljZUxhYmVscywoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2F2ZXJhZ2VfY2xvc2VfcHJpY2VfbGluZV9hbmRfbGFiZWwiKT9pLnNob3dBdmVyYWdlQ2xvc2VQcmljZUxhYmVsOm51bGwsdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuaGFzQ3VzdG9tU291cmNlKCJiaWRhc2siKT9pLnNob3dCaWRBc2tMYWJlbHM6bnVsbCxpLnNob3dTdHVkeVBsb3ROYW1lc0FjdGlvbixpLnNob3dTdHVkeUxhc3RWYWx1ZSx0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQ/aS5zaG93Q291bnRkb3duOm51bGwsbmV3IGVzLlNlcGFyYXRvcix0LmFsaWduTGFiZWxzXS5maWx0ZXIoYS5ub3ROdWxsKTtzLnB1c2gobmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzIixvcHRpb25zOntsYWJlbDpwcyxzdWJJdGVtczplfX0pKX1jb25zdHtjcmVhdGVMaW5lc0FjdGlvbjpufT1hd2FpdCgwLHNzLmFjdGlvbnNQcm92aWRlck1vZHVsZSkoKTtyZXR1cm4gcy5wdXNoKG4odGhpcy5fY2hhcnQpKSx0aGlzLl91bmRvTW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuaXNNZW51RW5hYmxlZCgpJiZzLnB1c2goaS5hZGRQbHVzQnV0dG9uKSxlJiYhdGhpcy5fY2hhcnQub25XaWRnZXQoKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19jaGFydF9wcm9wZXJ0eV9wYWdlIikmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3Byb3BlcnR5X3BhZ2Vfc2NhbGVzIikmJmkuc2NhbGVzUHJvcGVydGllcyYmcy5wdXNoKG5ldyBlcy5TZXBhcmF0b3IsaS5zY2FsZXNQcm9wZXJ0aWVzKSxzfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY2VsbH1vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKGUpeyh0aGlzLl9zaXplLndpZHRoPHRoaXMub3B0aW1hbFdpZHRoKCl8fGUpJiZ0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5mdWxsVXBkYXRlKCl9b3B0aW1hbFdpZHRoKCl7aWYoIXRoaXMuaXNWaXNpYmxlKCkpcmV0dXJuIDA7bGV0IGU9MDtjb25zdCB0PXRoaXMucmVuZGVyZXJPcHRpb25zKCk7aWYodGhpcy5fcGFuZS5oYXNTdGF0ZSgpKXtjb25zdCB0PSgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KTt0LmZvbnQ9dGhpcy5iYXNlRm9udCgpO2NvbnN0IGk9dGhpcy5fdmlld3MoMix0aGlzLl9ncm91cGVkU291cmNlcygpKTtmb3IoY29uc3QgcyBvZiBpKXtpZighcy5pc0F4aXNMYWJlbFZpc2libGUoKXx8cy5pc091dHNpZGVPZlZpc2libGVQcmljZVJhbmdlPy4oKSljb250aW51ZTtjb25zdCBpPXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxzLnRleHQoKSk7ZT1NYXRoLm1heChlLGkpO2NvbnN0IG49cy5zZWNvbmRMaW5lVGV4dCgpO24mJihlPU1hdGgubWF4KGUsdGhpcy5fd2lkdGhDYWNoZS5tZWFzdXJlVGV4dCh0LG4pKSk7Y29uc3Qgcj1zLnRoaXJkTGluZVRleHQoKTtyJiYoZT1NYXRoLm1heChlLHRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxyKSkpfWNvbnN0IHM9dGhpcy5wcmljZVNjYWxlKCk7Zm9yKGNvbnN0IGkgb2Ygcy5tYXJrcygpKWU9TWF0aC5tYXgoZSx0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KHQsaS5sYWJlbCkpO2NvbnN0IG49cy5tYWluU291cmNlKCk/LmZpcnN0VmFsdWUoKXx8bnVsbDtpZihudWxsIT09biYmIXMuaXNQZXJjZW50YWdlKCkmJiFzLmlzSW5kZXhlZFRvMTAwKCkpe2NvbnN0IGk9cy5jb29yZGluYXRlVG9QcmljZSgxLG4pLHI9cy5jb29yZGluYXRlVG9QcmljZSh0aGlzLl9zaXplLmhlaWdodC0yLG4pO2lmKE1hdGguYWJzKGktcik+MWUtMTQpe2NvbnN0IG89TWF0aC5tYXgoMCwtTWF0aC5sb2cxMChNYXRoLm1heChNYXRoLmFicyhpKSxNYXRoLmFicyhyKSkpKSxhPS4xMTExMTExMTExMTExMS9NYXRoLnBvdygxMCxNYXRoLmZsb29yKG8pKSxsPXMuZm9ybWF0UHJpY2UoTWF0aC5taW4oaSxyKS1hLG4pLGM9cy5mb3JtYXRQcmljZShNYXRoLm1heChpLHIpK2Esbik7ZT1NYXRoLm1heChlLHRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxsKSx0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KHQsYykpfX19Y29uc3QgaT10aGlzLl9pc0N1cnJlbmN5TGFiZWxFbmFibGVkKCk/TWF0aC5yb3VuZCgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLndpZHRoKCkpOjAscz1lfHwzNDtsZXQgbj1NYXRoLm1heChpLHRoaXMuX3NjYWxlTW9kZUJ1dHRvbnM/LndpZHRoKCk/PzAsTWF0aC5jZWlsKHQuYm9yZGVyU2l6ZSt0LmFkZGl0aW9uYWxQYWRkaW5nSW5uZXIrdC5wYWRkaW5nSW5uZXIrdC5wYWRkaW5nT3V0ZXIrcys0KSk7cmV0dXJuIG4rPW4lMixufXNldFNpemVBbmRPZmZzZXQoZSx0KXsoMCx5dC5lcXVhbFNpemVzKSh0aGlzLl9zaXplLGUpfHwodGhpcy5fc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnJlc2l6ZUNhbnZhc0VsZW1lbnQoZSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9ZS5oZWlnaHQrInB4Iix0aGlzLl9jZWxsLnN0eWxlLm1pbldpZHRoPWUud2lkdGgrInB4IiksdGhpcy5fb2Zmc2V0IT09dCYmKHRoaXMuX29mZnNldD10LAp0aGlzLl9jZWxsLnN0eWxlLmxlZnQ9dCsicHgiKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWdldEltYWdlKCl7Y29uc3QgZT10aGlzLl9zaXplLHQ9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCxlKTtyZXR1cm4oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKHQpLmRyYXdJbWFnZSh0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsMCwwLGUud2lkdGgsZS5oZWlnaHQpLG51bGw9PT10aGlzLl9jdXJyZW5jeUxhYmVsfHx0aGlzLl9jdXJyZW5jeUxhYmVsLmlzSGlkZGVuKCl8fHRoaXMuX2N1cnJlbmN5TGFiZWwuZHJhd0xhYmVsKCgwLEt0LmdldENvbnRleHQyRCkodCksZS53aWR0aCwoMCxkaS5nZXRDYW52YXNEZXZpY2VQaXhlbFJhdGlvKSh0KSksdH11cGRhdGUoKXtudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmKHRoaXMuX3ByaWNlU2NhbGUubWFya3MoKSx0aGlzLnJlbmRlcmVyT3B0aW9ucygpKX1wYWludChlKXtpZighdGhpcy5faXNWaXNpYmxlfHwwPT09dGhpcy5fc2l6ZS53aWR0aHx8MD09PXRoaXMuX3NpemUuaGVpZ2h0KXJldHVybjtpZihlPT09TGUuSW52YWxpZGF0aW9uTGV2ZWwuTm9uZSlyZXR1cm47Y29uc3QgdD10aGlzLl9wYW5lLnN0YXRlKCksaT0hdC5tYXhpbWl6ZWQoKS52YWx1ZSgpJiZ0LmNvbGxhcHNlZCgpLnZhbHVlKCk7aWYoaSYmZTxMZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsKXJldHVybjtjb25zdCBzPXRoaXMuX3BhbmUuaGFzU3RhdGUoKTsoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX2NhbnZhc0JpbmRpbmcpLCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7Y29uc3Qgbj1udWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmIXRoaXMuX2N1cnJlbmN5TGFiZWwuaXNIaWRkZW4oKSxyPShlLHQsaSk9PntpZihuKXtlLnNhdmUoKSxlLmJlZ2luUGF0aCgpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5sYWJlbEJvdHRvbSgpO2UucmVjdCgwLGkqdC52ZXJ0aWNhbFBpeGVsUmF0aW8sdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQpLGUuY2xpcCgpfWkoKSxuJiZlLnJlc3RvcmUoKX0sbz0oMCxidC5kZWZhdWx0KSgoKCk9PnRoaXMuX2dyb3VwZWRTb3VyY2VzKCkpKSxhPSgwLGJ0LmRlZmF1bHQpKCgoKT0+dGhpcy5fdmlld3MoMSxvKCkpKSksYz0oMCxidC5kZWZhdWx0KSgoKCk9PnRoaXMuX3ZpZXdzKDAsbygpKSkpO2lmKGU+TGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yKXtjb25zdCBlPSgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KSx0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTtpfHwodGhpcy5fYWxpZ25MYWJlbHMoWy4uLmEoKSwuLi5jKCldKSxzJiZ0aGlzLnVwZGF0ZUN1cnJlbmN5TGFiZWwoKSksdGhpcy5fZHJhd0JhY2tncm91bmQoZSx0KSxpfHxyKGUsdCwoKCk9Pnt0aGlzLl9kcmF3RHJhd2luZ3NIaWdobGlnaHQoZSx0KX0pKSx0aGlzLl9kcmF3Qm9yZGVyKGUsdCkscyYmIWkmJih0aGlzLl9zY2FsZU1vZGVCdXR0b25zJiYodGhpcy5fc2NhbGVNb2RlQnV0dG9ucy5lbGVtZW50KCkuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9oaWdobGlnaHRlZD90aGlzLl9oaWdobGlnaHRDb2xvcigpOnRoaXMuYmFja2dyb3VuZENvbG9yKCkpLHIoZSx0LCgoKT0+e3RoaXMuX2RyYXdUaWNrTWFya3MoZSx0KSx0aGlzLl9kcmF3TGFiZWxzKGMoKSxlLHQpfSkpKX1pZihzJiYhaSl7Y29uc3QgZT0oMCxLdC5nZXRDb250ZXh0MkQpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudCksdD0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7ZS5jbGVhclJlY3QoMCwwLHQuYml0bWFwU2l6ZS53aWR0aCx0LmJpdG1hcFNpemUuaGVpZ2h0KSxyKGUsdCwoKCk9Pnt0aGlzLl9kcmF3TGFiZWxzKGEoKSxlLHQpLHRoaXMuX2RyYXdDcm9zc0hhaXJMYWJlbChlLHQpfSkpfX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuX3NldEN1cnNvcigiIil9cHJpY2VTY2FsZSgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcHJpY2VTY2FsZSl9c2V0UHJpY2VTY2FsZShlKXt0aGlzLl9wcmljZVNjYWxlIT09ZSYmKG51bGwhPT10aGlzLl9wcmljZVNjYWxlJiYodGhpcy5fcHJpY2VTY2FsZS5vbk1hcmtzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKSx0aGlzLl9wcmljZVNjYWxlLm1vZGVDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcykpLHRoaXMuX3ByaWNlU2NhbGU9ZSxudWxsIT09ZSYmKGUub25NYXJrc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLm9uT3B0aW1hbFdpZHRoTmVlZFRvQmVSZWNhbGN1bGF0ZWQpLGUubW9kZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCghMCkpKSx0aGlzLm9uT3B0aW1hbFdpZHRoTmVlZFRvQmVSZWNhbGN1bGF0ZWQoKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zJiYoZS5tb2RlQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNjYWxlTW9kZUJ1dHRvbnMpLHRoaXMuX3VwZGF0ZVNjYWxlTW9kZUJ1dHRvbnMoKSkpKX1pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5faXNWaXNpYmxlfXNldFZpc2libGUoZSl7KGU9ISFlKSE9PXRoaXMuX2lzVmlzaWJsZSYmKHRoaXMuX2NlbGwuc3R5bGUuZGlzcGxheT1lPyJ0YWJsZS1jZWxsIjoibm9uZSIsdGhpcy5faXNWaXNpYmxlPWUpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fY3VycmVuY3lNZW51JiYodGhpcy5fY3VycmVuY3lNZW51LmRlc3Ryb3koKSx0aGlzLl9jdXJyZW5jeU1lbnU9bnVsbCksbnVsbCE9PXRoaXMuX3VuaXRNZW51JiYodGhpcy5fdW5pdE1lbnUuZGVzdHJveSgpLHRoaXMuX3VuaXRNZW51PW51bGwpLApudWxsIT09dGhpcy5fbWV0cmljTWVudSYmKHRoaXMuX21ldHJpY01lbnUuZGVzdHJveSgpLHRoaXMuX21ldHJpY01lbnU9bnVsbCksdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fdG9wQ2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fY2FudmFzQmluZGluZy51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKSx0aGlzLl9jYW52YXNCaW5kaW5nLmRpc3Bvc2UoKSxudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmKHRoaXMuX3ByaWNlU2NhbGUub25NYXJrc0NoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCksdGhpcy5fcHJpY2VTY2FsZS5tb2RlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpKSx0aGlzLl9wcmljZVNjYWxlPW51bGwsdGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkZvbnRTaXplQ2hhbmdlZCksbnVsbCE9PXRoaXMuX2FjdGlvbnMmJihPYmplY3QudmFsdWVzKHRoaXMuX2FjdGlvbnMpLmZvckVhY2goKGU9PntlLmRlc3Ryb3koKX0pKSx0aGlzLl9hY3Rpb25zPW51bGwpLCgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnQuYW55UHJpY2VBeGlzSG92ZXJlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITEpLHRoaXMuX2Rlc3Ryb3lTY2FsZU1vZGVCdXR0b25zKCksdGhpcy5fZGVzdHJveWVkPSEwfWF4aXNJbmZvKCl7cmV0dXJuIHRoaXMuX2F4aXNJbmZvfXNldEhpZ2hsaWdodGVkKGUpe3RoaXMuX2hpZ2hsaWdodGVkPWV9YmFja2dyb3VuZENvbG9yKCl7cmV0dXJuIHRoaXMuX3BhbmUuc3RhdGUoKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9YmFja2dyb3VuZFRvcENvbG9yKCl7cmV0dXJuIHRoaXMuX3BhbmUuc3RhdGUoKS5tb2RlbCgpLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCl9bGluZUNvbG9yKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkubGluZUNvbG9yLnZhbHVlKCl9dGV4dENvbG9yKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCl9Zm9udFNpemUoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZS52YWx1ZSgpfWJhc2VGb250KGU9ITEpe3JldHVybigwLFJpLm1ha2VGb250KSh0aGlzLmZvbnRTaXplKCksV2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSxlPyJib2xkIjoiIil9cmVuZGVyZXJPcHRpb25zKCl7bGV0IGU9dGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpO3JldHVybiB0aGlzLl9jb2xvcj09PWUuY29sb3ImJnRoaXMuX2ZvbnRTaXplPT09ZS5mb250U2l6ZXx8KHRoaXMuX2NvbG9yPWUuY29sb3IpLHRoaXMuX2ZvbnRTaXplIT09ZS5mb250U2l6ZSYmKHRoaXMuX3dpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9mb250U2l6ZT1lLmZvbnRTaXplLHRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCgpKSx0aGlzLl9jaGFydC5vbldpZGdldCgpfHwoZT1PYmplY3QuYXNzaWduKHt9LGUse3BhZGRpbmdJbm5lcjpNYXRoLm1heChlLnBhZGRpbmdJbm5lcixxaS5BTEVSVF9MQUJFTF9XSURUSCl9KSksZX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl8fCh0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITApLHRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMCksdGhpcy5fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZUVudGVyT3JUb3VjaFN0YXJ0RXZlbnQoZSkpfW1vdXNlTW92ZUV2ZW50KGUpe3RoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKX1tb3VzZURvd25FdmVudChlKXt0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX10b3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTW92ZUV2ZW50KGUpLHRoaXMuX21vdXNlRW50ZXJPclRvdWNoU3RhcnRFdmVudChlKSx0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXBpbmNoU3RhcnRFdmVudChlLHQsaSxzKXtyZXR1cm4gcy5ib3RoUG9pbnRzT25UYXJnZXRFbGVtZW50fXBpbmNoRXZlbnQoZSx0LGkpe2lmKHRoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fb3B0aW9ucy5waW5jaFNjYWxlKXtpZih0aGlzLl9kcmFnU2NhbGVBY3RpdmUmJnRoaXMuX2ZpbmlzaFNjYWxlKCksIXRoaXMuX3BpbmNoaW5nKXJldHVybiB0aGlzLl9waW5jaGluZz0hMCx2b2lkIHRoaXMuX3VuZG9Nb2RlbC5zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UodGhpcy5fcGFuZS5zdGF0ZSgpLHRoaXMucHJpY2VTY2FsZSgpLHQueSxpLnkpO3RoaXMuX3VuZG9Nb2RlbC50d29Qb2ludHNTY2FsZVByaWNlVG8odGhpcy5fcGFuZS5zdGF0ZSgpLHRoaXMucHJpY2VTY2FsZSgpLHQueSxpLnkpfX1waW5jaEVuZEV2ZW50KCl7dGhpcy5fcGluY2hpbmc9ITEsCnRoaXMuX3VuZG9Nb2RlbC5lbmRUd29Qb2ludHNTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSl9bW91c2VEb3duT3V0c2lkZUV2ZW50KCl7dGhpcy5fZmluaXNoU2NhbGUoKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KCl7dGhpcy5fZmluaXNoU2NhbGUoKSx0aGlzLl9zZWxlY3RlZFZpYVRhcC5zZXRWYWx1ZSghMSl9bW91c2VVcEV2ZW50KGUpe3RoaXMuX21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl9dG91Y2hFbmRFdmVudChlKXt0aGlzLl9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpLHRoaXMuX21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl9bW91c2VDbGlja0V2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfXRhcEV2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfW1vdXNlTGVhdmVFdmVudChlKXt0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITEpLHRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMSksdGhpcy5fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpfW1vdXNlRG91YmxlQ2xpY2tFdmVudChlKXt0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX1kb3VibGVUYXBFdmVudChlKXt0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX1jb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX2NvbnRleHRNZW51T3JUb3VjaENvbnRleHRNZW51RXZlbnQoZSl9dG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX2NvbnRleHRNZW51T3JUb3VjaENvbnRleHRNZW51RXZlbnQoZSl9ZGF0YVNvdXJjZUF0UG9pbnQoZSx0KXtpZighdGhpcy5fcGFuZS5oYXNTdGF0ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5fcGFuZS5zdGF0ZSgpO2lmKCFpLm1heGltaXplZCgpLnZhbHVlKCkmJmkuY29sbGFwc2VkKCkudmFsdWUoKSlyZXR1cm4gbnVsbDtjb25zdCBzPXRoaXMuX2dyb3VwZWRTb3VyY2VzKCksbj1bLi4ucy5zb3VyY2VzLC4uLnMudG9wTGV2ZWxTb3VyY2VzLC4uLmkuY3VzdG9tU291cmNlcygpLC4uLmkuc291cmNlc0J5R3JvdXAoKS5tdWx0aXBhbmVTb3VyY2VzKCldO2xldCByPW51bGwsbz1udWxsO2lmKCF0aGlzLl9wcmljZVNjYWxlKXJldHVybiBudWxsO2NvbnN0IGE9KGUsdCk9Pntjb25zdCBpPW8/LnRhcmdldCgpPz8wO2UudGFyZ2V0KCk+aSYmKG89ZSxyPXQpfSxsPW5ldyBQdC5Qb2ludChlLHQpLGM9KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO2ZvcihsZXQgZT1uLmxlbmd0aC0xO2U+PTA7LS1lKXtjb25zdCB0PW5bZV0scz10LnByaWNlQXhpc1ZpZXdzKGksdGhpcy5fcHJpY2VTY2FsZSk7aWYocyYmMCE9PXMubGVuZ3RoKWZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7LS1lKXtjb25zdCBpPXNbZV0ucmVuZGVyZXIoKTtpZih2b2lkIDAhPT1pLmhpdFRlc3Qpe2NvbnN0IGU9aS5oaXRUZXN0KGwsYyx0aGlzLl9pc0xlZnQ/ImxlZnQiOiJyaWdodCIpO251bGwhPT1lJiZhKGUsdCl9fX1yZXR1cm4gdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ9byxyfXJlc2V0KCl7Y29uc3QgZT10aGlzLl9wYW5lLnN0YXRlKCksdD10aGlzLnByaWNlU2NhbGUoKTt0aGlzLl91bmRvTW9kZWwucmVzZXRQcmljZVNjYWxlKGUsdCksdGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKCEwKX11cGRhdGVDdXJyZW5jeUxhYmVsKCl7dGhpcy5fdXBkYXRlQ3VycmVuY3lMYWJlbEN1cnJlbmN5KCksdGhpcy5fdXBkYXRlQ3VycmVuY3lMYWJlbFVuaXQoKSx0aGlzLl91cGRhdGVDdXJyZW5jeUxhYmVsTWV0cmljKCl9X3VwZGF0ZUN1cnJlbmN5TGFiZWxDdXJyZW5jeSgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUxhYmVsKWlmKHRoaXMuX29wdGlvbnMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT10aGlzLnByaWNlU2NhbGUoKS5jdXJyZW5jeSh0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCkudmFsdWUoKSk7bnVsbD09PWV8fCJhbHdheXNPZmYiPT09KDAscnMuYWN0dWFsQ3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eSkoKS52YWx1ZSgpP3RoaXMuX2N1cnJlbmN5TGFiZWwuZGlzYWJsZUN1cnJlbmN5KCk6KHRoaXMuX2N1cnJlbmN5TGFiZWwuZW5hYmxlQ3VycmVuY3koKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldEN1cnJlbmN5SW5mbyhlKSl9ZWxzZSB0aGlzLl9jdXJyZW5jeUxhYmVsLmRpc2FibGVDdXJyZW5jeSgpfV91cGRhdGVDdXJyZW5jeUxhYmVsVW5pdCgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUxhYmVsJiZ0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT0iYWx3YXlzT2ZmIj09PSgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudmFsdWUoKSx0PXRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmF2YWlsYWJsZVVuaXRzKCkudmFsdWUoKSxpPXRoaXMucHJpY2VTY2FsZSgpLnVuaXQodCk7bnVsbD09PWl8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlVW5pdCgpOih0aGlzLl9jdXJyZW5jeUxhYmVsLmVuYWJsZVVuaXQoKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldFVuaXRJbmZvKGkpKTtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpLm1lYXN1cmVVbml0SWQodCk7bnVsbD09PXN8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlTWVhc3VyZVVuaXRJZCgpOih0aGlzLl9jdXJyZW5jeUxhYmVsLmVuYWJsZU1lYXN1cmVVbml0SWQoKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldE1lYXN1cmVVbml0SWRJbmZvKHMpKX19X3VwZGF0ZUN1cnJlbmN5TGFiZWxNZXRyaWMoKXtpZihudWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmdGhpcy5fb3B0aW9ucy5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT0iYWx3YXlzT2ZmIj09PSgwLApycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnZhbHVlKCksdD10aGlzLl91bmRvTW9kZWwubW9kZWwoKS5hdmFpbGFibGVNZXRyaWNzKCksaT10aGlzLnByaWNlU2NhbGUoKS5tZXRyaWModCk7bnVsbD09PWl8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlTWV0cmljKCk6KHRoaXMuX2N1cnJlbmN5TGFiZWwuZW5hYmxlTWV0cmljKCksdGhpcy5fY3VycmVuY3lMYWJlbC5zZXRNZXRyaWNJbmZvKGkpKX19X2dyb3VwZWRTb3VyY2VzKCl7Y29uc3QgZT10aGlzLl9wYW5lLnN0YXRlKCksdD1lLm1vZGVsKCksaT10aGlzLl9wYW5lLnN0YXRlKCkuc291cmNlc0J5R3JvdXAoKSxzPXRoaXMuX2lzTGVmdD9pLmxlZnRQcmljZVNjYWxlc1NvdXJjZXMoKTppLnJpZ2h0UHJpY2VTY2FsZXNTb3VyY2VzKCksbj10aGlzLl9wcmljZVNjYWxlPT09ZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHI9bmV3IFNldChlLmN1c3RvbVNvdXJjZXMoKSksbz10PT4hIXIuaGFzKHQpfHwodC5wcmljZVNjYWxlKCk9PT10aGlzLl9wcmljZVNjYWxlfHxuJiZlLmlzT3ZlcmxheSh0KSksYT17c291cmNlczpbLi4ucy5maWx0ZXIobyksLi4uZS5jdXN0b21Tb3VyY2VzKCldLHRvcExldmVsU291cmNlczpuZXcgU2V0fTtpZihuKXtjb25zdCB0PXRoaXMuX3BhbmUuc3RhdGUoKS5kYXRhU291cmNlcygpO2Zvcihjb25zdCBpIG9mIHQpZS5pc092ZXJsYXkoaSkmJmEuc291cmNlcy5wdXNoKGkpfWNvbnN0IGw9dC5saW5lQmVpbmdFZGl0ZWQoKT8/dC5saW5lQmVpbmdDcmVhdGVkKCk7bCYmbyhsKSYmKGEudG9wTGV2ZWxTb3VyY2VzLmFkZChsKSxhLmxpbmVCZWluZ0VkaXRlZE9yQ3JlYXRlZD1sKTtjb25zdCBjPXQuY3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpO2MmJm8oYykmJihhLnRvcExldmVsU291cmNlcy5hZGQoYyksYS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkPWMpO2NvbnN0IGg9dC5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZpbHRlcihvKTtoLmxlbmd0aD4wJiYodC5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZvckVhY2goKGU9PmEudG9wTGV2ZWxTb3VyY2VzLmFkZChlKSkpLGEuc291cmNlc0JlaW5nTW92ZWQ9aCk7Y29uc3QgZD10LnNlbGVjdGlvbigpLmFsbFNvdXJjZXMoKS5maWx0ZXIobyk7ZC5sZW5ndGg+MCYmKGQuZm9yRWFjaCgoZT0+YS50b3BMZXZlbFNvdXJjZXMuYWRkKGUpKSksYS5zZWxlY3RlZFNvdXJjZXM9ZCk7Y29uc3QgdT10LmhvdmVyZWRTb3VyY2UoKTtyZXR1cm4gdSYmbyh1KSYmKGEudG9wTGV2ZWxTb3VyY2VzLmFkZCh1KSxhLmhvdmVyZWRTb3VyY2U9dSksYX1faXNDdXJyZW5jeUxhYmVsRW5hYmxlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmdGhpcy5fY3VycmVuY3lMYWJlbC5pc0VuYWJsZWQoKX1fYWxpZ25MYWJlbHMoZSl7Y29uc3QgdD10aGlzLnByaWNlU2NhbGUoKSxpPXQubWFpblNvdXJjZSgpLHM9dGhpcy5fcGFuZS5zdGF0ZSgpLG49aT97bGFiZWxzOigpPT5pLnByaWNlQXhpc1ZpZXdzKHMsdCl9Om51bGw7IWZ1bmN0aW9uKGUpe2NvbnN0e3Zpc2libGVWaWV3czp0LGhlaWdodDppLHNjYWxlOnMscmVuZGVyZXJPcHRpb25zOm59PWU7bGV0IHI9aS8yO2NvbnN0IG89bHMobixpLHQpLGE9cy5tYWluU291cmNlKCk7bGV0IGw9W107bnVsbCE9PWEmJihsPWxzKG4saSxhLmxhYmVscygpKSxsLmxlbmd0aCYmKHI9bFswXS5jb29yZGluYXRlKCkpKTtjb25zdCBjPW8uZmlsdGVyKChlPT5lLmNvb3JkaW5hdGUoKTw9cikpLGg9by5maWx0ZXIoKGU9PmUuY29vcmRpbmF0ZSgpPnIpKTtjLnNvcnQoKChlLHQpPT57Y29uc3QgaT10LmNvb3JkaW5hdGUoKS1lLmNvb3JkaW5hdGUoKTtpZihpKXJldHVybiBpO2NvbnN0IHM9bC5pbmNsdWRlcyhlKT8xOjA7cmV0dXJuKGwuaW5jbHVkZXModCk/MTowKS1zfSkpLGMubGVuZ3RoPjAmJmgubGVuZ3RoPjAmJmgucHVzaChjWzBdKSxoLnNvcnQoKChlLHQpPT5lLmNvb3JkaW5hdGUoKS10LmNvb3JkaW5hdGUoKSkpO2Zvcihjb25zdCBlIG9mIG8pZS5zZXRGaXhlZENvb3JkaW5hdGUoZS5jb29yZGluYXRlKCkpO2lmKHMubGFiZWxzQWxpZ25pbmdFbmFibGVkKCkpe2lmKGgubGVuZ3RoPjB8fGMubGVuZ3RoPjApe3tjb25zdCBlPWNbMF0/P2hbMF0sdD1lLmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpLHt0b3A6cyxib3R0b206cix0b3RhbDpvfT1lLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KG4pO288aSYmdC1zPDAmJnQrcj4wJiZlLnNldEZpeGVkQ29vcmRpbmF0ZShzKX17Y29uc3QgZT1oWzBdPz9jWzBdLHQ9ZS5maXhlZE9yUmVndWxhckNvb3JkaW5hdGUoKSx7dG9wOnMsYm90dG9tOnIsdG90YWw6b309ZS50b3BCb3R0b21Ub3RhbEhlaWdodChuKTtvPGkmJnQtczxpJiZ0K3I+aSYmZS5zZXRGaXhlZENvb3JkaW5hdGUoaS1yKX19Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2NvbnN0IHQ9Y1tlXSxpPWNbZS0xXSx7dG9wOnMsYm90dG9tOnIsdG90YWw6b309dC50b3BCb3R0b21Ub3RhbEhlaWdodChuKSxhPXQuZml4ZWRPclJlZ3VsYXJDb29yZGluYXRlKCksbD1pLmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpO2lmKGE+bC1vKXQuc2V0Rml4ZWRDb29yZGluYXRlKGwtbyk7ZWxzZSBpZihsPjAmJmEtczwwJiZhK3I+MCl7Y29uc3R7dG9wOmV9PWkudG9wQm90dG9tVG90YWxIZWlnaHQobik7dC5zZXRGaXhlZENvb3JkaW5hdGUoTWF0aC5taW4obC1lLXIscykpfX1mb3IobGV0IGU9MTtlPGgubGVuZ3RoO2UrKyl7Y29uc3QgdD1oW2VdLHM9aFtlLTFdLHtib3R0b206cix0b3RhbDpvfT1zLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KG4pLGE9dC5maXhlZE9yUmVndWxhckNvb3JkaW5hdGUoKSxsPXMuZml4ZWRPclJlZ3VsYXJDb29yZGluYXRlKCk7aWYoYTxsK28pdC5zZXRGaXhlZENvb3JkaW5hdGUobCtvKTtlbHNlIGlmKGw8aSl7Y29uc3R7dG9wOmUsYm90dG9tOnN9PXQudG9wQm90dG9tVG90YWxIZWlnaHQobik7YS1lPGkmJmErcz5pJiZ0LnNldEZpeGVkQ29vcmRpbmF0ZShNYXRoLm1heChsK3IrZSxpLXMpKX19fX0oe3Zpc2libGVWaWV3czplLGhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxzY2FsZTp7CmxhYmVsc0FsaWduaW5nRW5hYmxlZDooKT0+dGhpcy5wcmljZVNjYWxlKCkucHJvcGVydGllcygpLmNoaWxkcygpLmFsaWduTGFiZWxzLnZhbHVlKCksbWFpblNvdXJjZTooKT0+bn0scmVuZGVyZXJPcHRpb25zOnRoaXMucmVuZGVyZXJPcHRpb25zKCl9KX1fZHJhd1RpY2tNYXJrcyhlLHQpe2NvbnN0IGk9dGhpcy5wcmljZVNjYWxlKCkubWFya3MoKTtlLnNhdmUoKTtjb25zdCBzPXRoaXMucmVuZGVyZXJPcHRpb25zKCkse2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOnJ9PXQsbz10aGlzLl9pc0xlZnQ/TWF0aC5mbG9vcigodGhpcy5fc2l6ZS53aWR0aC1zLmFkZGl0aW9uYWxQYWRkaW5nSW5uZXIpKm4pOjAsYT10aGlzLl9pc0xlZnQ/TWF0aC5yb3VuZChvLXMucGFkZGluZ0lubmVyKm4pOk1hdGgucm91bmQobysocy5hZGRpdGlvbmFsUGFkZGluZ0lubmVyK3MucGFkZGluZ0lubmVyKSpuKSxjPXRoaXMuZm9udFNpemUoKSxoPXRoaXMuX2lzQ3VycmVuY3lMYWJlbEVuYWJsZWQoKT8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLmxhYmVsQm90dG9tKCk6MCxkPWkubWFwKCh0PT57aWYodGhpcy5fb3B0aW9ucy5jcm9wcGVkVGlja01hcmtzKXJldHVybnt2aXNpYmxlOiEwLHlDb3JyZWN0aW9uOnRoaXMuX3dpZHRoQ2FjaGUueU1pZENvcnJlY3Rpb24oZSx0LmxhYmVsKX07Y29uc3QgaT10LmNvb3JkLWMvMixzPXQuY29vcmQrYy8yLG49IShzPnRoaXMuX3NpemUuaGVpZ2h0fHxpPGgpO3JldHVybnt2aXNpYmxlOiEocz50aGlzLl9zaXplLmhlaWdodHx8aTxoKSx5Q29ycmVjdGlvbjpuP3RoaXMuX3dpZHRoQ2FjaGUueU1pZENvcnJlY3Rpb24oZSx0LmxhYmVsKTowfX0pKTtlLmZpbGxTdHlsZT10aGlzLnRleHRDb2xvcigpLGUudGV4dEFsaWduPXRoaXMuX2lzTGVmdD8icmlnaHQiOiJsZWZ0IixlLnRleHRCYXNlbGluZT0ibWlkZGxlIjtjb25zdCB1PSF0aGlzLnByaWNlU2NhbGUoKS5pc0xvZygpLHA9dGhpcy5iYXNlRm9udCgpLF89dGhpcy5iYXNlRm9udCghMCk7KDAsS3QuZHJhd1NjYWxlZCkoZSxuLHIsKCgpPT57Zm9yKGxldCB0PWkubGVuZ3RoO3QtLTspe2lmKCFkW3RdLnZpc2libGUpY29udGludWU7Y29uc3Qgcz1pW3RdO2UuZm9udD11JiZzLmJvbGQ/XzpwLGUuZmlsbFRleHQocy5sYWJlbCxhL24scy5jb29yZCtkW3RdLnlDb3JyZWN0aW9uKX19KSksZS5yZXN0b3JlKCl9YXN5bmMgX3Nob3dDdXJyZW5jaWVzQ29udGV4dE1lbnUoKXtpZih0aGlzLl9jdXJyZW5jeU1lbnUpcmV0dXJuIHRoaXMuX2N1cnJlbmN5TWVudS5kZXN0cm95KCksdm9pZCh0aGlzLl9jdXJyZW5jeU1lbnU9bnVsbCk7bGV0IGU7KDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIkN1cnJlbmN5IGNvbnZlcnNpb24iKTtjb25zdCB0PSgpPT57dGhpcy5fY3VycmVuY3lNZW51PW51bGwsdGhpcy5fcmVjYWxjQ3VycmVuY3lVbml0QW5kTWV0cmljVmlzaWJpbGl0eSgpLHRoaXMuX2N1cnJlbmN5TGFiZWw/LnNldEN1cnJlbmN5RXhwYW5kZWQoITEpfTtpZih4cyllPWF3YWl0IFFpKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3VycmVuY3lMYWJlbCkuY3VycmVuY3lMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV9jdXJyZW5jeV9tZW51X2lubmVyIix0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5pZCgpLHRoaXMuX3BhbmUuc3RhdGUoKS5pZCgpLHRoaXMucHJpY2VTY2FsZSgpLmlkKCldLHQpO2Vsc2V7Y29uc3R7Y3VycmVuY3lBY3Rpb25zOnN9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMTY1OTgpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDgxMDcyKSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDY2MDUpLGkuZSg4OTIwNCksaS5lKDMyMTc2KSxpLmUoMjAyKSxpLmUoODg2NDEpLGkuZSg3MDY1NiksaS5lKDMyODU3KSxpLmUoNTI5NjEpLGkuZSgzMjM4NyksaS5lKDM5NjA5KSxpLmUoMzU5NjQpLGkuZSg4Mjk3KV0pLnRoZW4oaS5iaW5kKGksNzM2MTY5KSk7ZT1hd2FpdCBKaShfcywoKCk9PnModGhpcy5fdW5kb01vZGVsLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3VycmVuY3lMYWJlbCkuY3VycmVuY3lJbmZvKCksdGhpcy5wcmljZVNjYWxlKCkpKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLmN1cnJlbmN5TGFiZWxFbGVtZW50KCksdCl9dGhpcy5fZGVzdHJveWVkP2UuZGVzdHJveSgpOih0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRDdXJyZW5jeUV4cGFuZGVkKCEwKSx0aGlzLl9jdXJyZW5jeU1lbnU9ZSl9YXN5bmMgX3Nob3dVbml0c0NvbnRleHRNZW51KCl7aWYodGhpcy5fdW5pdE1lbnUpcmV0dXJuIHRoaXMuX3VuaXRNZW51LmRlc3Ryb3koKSx2b2lkKHRoaXMuX3VuaXRNZW51PW51bGwpO2xldCBlOygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJVbml0IGNvbnZlcnNpb24iKTtjb25zdCB0PSgpPT57dGhpcy5fdW5pdE1lbnU9bnVsbCx0aGlzLl9yZWNhbGNDdXJyZW5jeVVuaXRBbmRNZXRyaWNWaXNpYmlsaXR5KCksdGhpcy5fY3VycmVuY3lMYWJlbD8uc2V0VW5pdEV4cGFuZGVkKCExKX07aWYoTXMpZT1hd2FpdCBRaSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLnVuaXRMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV91bml0X21lbnVfaW5uZXIiLHRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmlkKCksdGhpcy5fcGFuZS5zdGF0ZSgpLmlkKCksdGhpcy5wcmljZVNjYWxlKCkuaWQoKV0sdCk7ZWxzZXsKY29uc3R7dW5pdEFjdGlvbnM6c309YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgxNjU5OCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDg5MjA0KSxpLmUoMzIxNzYpLGkuZSgyMDIpLGkuZSg4ODY0MSksaS5lKDcwNjU2KSxpLmUoMzI4NTcpLGkuZSg1Mjk2MSksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSgzNTk2NCksaS5lKDgyOTcpXSkudGhlbihpLmJpbmQoaSwxODYwNDApKTtlPWF3YWl0IEppKG1zLCgoKT0+cyh0aGlzLl91bmRvTW9kZWwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS51bml0SW5mbygpLHRoaXMucHJpY2VTY2FsZSgpKSksKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS51bml0TGFiZWxFbGVtZW50KCksdCl9dGhpcy5fZGVzdHJveWVkP2UuZGVzdHJveSgpOih0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRVbml0RXhwYW5kZWQoITApLHRoaXMuX3VuaXRNZW51PWUpfWFzeW5jIF9zaG93TWV0cmljc0NvbnRleHRNZW51KCl7aWYodGhpcy5fbWV0cmljTWVudSlyZXR1cm4gdGhpcy5fbWV0cmljTWVudS5kZXN0cm95KCksdm9pZCh0aGlzLl9tZXRyaWNNZW51PW51bGwpO2xldCBlOygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJNZXRyaWMgc3dpdGNoZXIiKTtjb25zdCB0PSgpPT57dGhpcy5fbWV0cmljTWVudT1udWxsLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkoKSx0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRNZXRyaWNFeHBhbmRlZCghMSl9O2lmKElzKWU9YXdhaXQgUWkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5tZXRyaWNMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV9tZXRyaWNfbWVudV9pbm5lciIsdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuaWQoKSx0aGlzLl9wYW5lLnN0YXRlKCkuaWQoKSx0aGlzLnByaWNlU2NhbGUoKS5pZCgpXSx0KTtlbHNle2NvbnN0e21ldHJpY0FjdGlvbnM6c309YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgxNjU5OCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDg5MjA0KSxpLmUoMzIxNzYpLGkuZSgyMDIpLGkuZSg4ODY0MSksaS5lKDcwNjU2KSxpLmUoMzI4NTcpLGkuZSg1Mjk2MSksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSgzNTk2NCksaS5lKDgyOTcpXSkudGhlbihpLmJpbmQoaSw0Mzk5MTQpKTtlPWF3YWl0IEppKGdzLCgoKT0+cyh0aGlzLl91bmRvTW9kZWwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5tZXRyaWNJbmZvKCksdGhpcy5wcmljZVNjYWxlKCkpKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLm1ldHJpY0xhYmVsRWxlbWVudCgpLHQsITApfXRoaXMuX2Rlc3Ryb3llZD9lLmRlc3Ryb3koKToodGhpcy5fY3VycmVuY3lMYWJlbD8uc2V0TWV0cmljRXhwYW5kZWQoITApLHRoaXMuX21ldHJpY01lbnU9ZSl9X29uRm9udFNpemVDaGFuZ2VkKCl7dGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKCl9X21vdXNlT3JUb3VjaE1vdmVFdmVudChlKXtpZighdGhpcy5fcHJpY2VTY2FsZSlyZXR1cm47aWYodGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJkZWZhdWx0Iik7aWYoZS5sb2NhbFg8MHx8ZS5sb2NhbFk8MHx8ZS5sb2NhbFg+PXRoaXMuX3NpemUud2lkdGh8fGUubG9jYWxZPj10aGlzLl9zaXplLmhlaWdodClyZXR1cm47bGV0IHQ9ITA7Y29uc3QgaT10aGlzLmRhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpPygoMCxxaS5pc0FsZXJ0TGFiZWwpKGkpP3RoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiZGVmYXVsdCIpOnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgicG9pbnRlciIpLHRoaXMuX2xhc3RIaXR0ZXN0UmVzdWx0Py5kYXRhKCk/LmhvdmVyTW9kZWxGcm9tQXhpcyYmKHRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnNldEhvdmVyZWRTb3VyY2UoaSx0aGlzLl9sYXN0SGl0dGVzdFJlc3VsdD8uZGF0YSgpPz9udWxsLDApLHQ9ITEpKTp0aGlzLl9zZXRSZXNpemVDdXJzb3IoKSx0JiZ0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCl9X21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fb3B0aW9ucy5wcmVzc2VkTW91c2VNb3ZlU2NhbGUmJiF0aGlzLl9waW5jaGluZyYmKHRoaXMuX2RyYWdTY2FsZUFjdGl2ZT0hMCx0aGlzLl91bmRvTW9kZWwuc3RhcnRTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSxlLmxvY2FsWSkpfV9tb3VzZUVudGVyT3JUb3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fc2V0UmVzaXplQ3Vyc29yKCl9X3ByZXNzZWRNb3VzZU9yVG91Y2hNb3ZlRXZlbnQoZSl7aWYodGhpcy5fZHJhZ1NjYWxlQWN0aXZlKXtjb25zdCB0PXRoaXMucHJpY2VTY2FsZSgpO3RoaXMuX3VuZG9Nb2RlbC5zY2FsZVByaWNlVG8odGhpcy5fcGFuZS5zdGF0ZSgpLHQsZS5sb2NhbFkpfX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXt0aGlzLl9maW5pc2hTY2FsZSgpfV9maW5pc2hTY2FsZSgpe3RoaXMuX2RyYWdTY2FsZUFjdGl2ZSYmKHRoaXMuX3VuZG9Nb2RlbC5lbmRTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSksdGhpcy5yZXN0b3JlRGVmYXVsdEN1cnNvcigpLHRoaXMuX2RyYWdTY2FsZUFjdGl2ZT0hMSl9X21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpe2lmKHRoaXMuX2N1cnJlbmN5TGFiZWwpewppZih0aGlzLl9jdXJyZW5jeUxhYmVsLmN1cnJlbmN5Q29udmVyc2lvbkF2YWlsYWJsZSgpJiZ0aGlzLl9jdXJyZW5jeUxhYmVsLmN1cnJlbmN5TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybiB0aGlzLl9zaG93Q3VycmVuY2llc0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7aWYodGhpcy5fY3VycmVuY3lMYWJlbC51bml0Q29udmVyc2lvbkF2YWlsYWJsZSgpJiZ0aGlzLl9jdXJyZW5jeUxhYmVsLnVuaXRMYWJlbEVsZW1lbnQoKS5jb250YWlucyhlLnRhcmdldCkpcmV0dXJuIHRoaXMuX3Nob3dVbml0c0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7aWYodGhpcy5fY3VycmVuY3lMYWJlbC5tZXRyaWNDb252ZXJzaW9uQXZhaWxhYmxlKCkmJnRoaXMuX2N1cnJlbmN5TGFiZWwubWV0cmljTGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybiB0aGlzLl9zaG93TWV0cmljc0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCl9ZS5pc1RvdWNoJiZ0aGlzLl9zZWxlY3RlZFZpYVRhcC5zZXRWYWx1ZSghdGhpcy5fc2VsZWN0ZWRWaWFUYXAudmFsdWUoKSk7Y29uc3QgdD10aGlzLmRhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTt0JiZ0aGlzLl91bmRvTW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PntlLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodCkmJnRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmxhc3RTZWxlY3RlZEhpdHRlc3REYXRhKCk9PT10aGlzLl9sYXN0SGl0dGVzdFJlc3VsdD8uZGF0YSgpfHwoZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHQsdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ/LmRhdGEoKT8/bnVsbCkpfSkpfV9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpe3RoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiIil9X21vdXNlRG91YmxlQ2xpY2tPckRvdWJsZVRhcEV2ZW50KGUpe2lmKHRoaXMuX2N1cnJlbmN5TGFiZWw/LmN1cnJlbmN5TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpfHx0aGlzLl9jdXJyZW5jeUxhYmVsPy51bml0TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybjtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO3Q/dGhpcy5fcGFuZS5wcm9jZXNzRG91YmxlQ2xpY2tPblNvdXJjZSh0LHRoaXMuX2xhc3RIaXR0ZXN0UmVzdWx0Pz92b2lkIDAse29yaWdpbjoicHJpY2Vfc2NhbGUifSk6KHRoaXMucmVzZXQoKSwoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiRG91YmxlIGNsaWNrIHByaWNlIHNjYWxlIikpfWFzeW5jIF9jb250ZXh0TWVudU9yVG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe2lmKHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnVFbmFibGVkKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO2lmKG51bGwhPT10JiZ0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51LnNvdXJjZSl7cmV0dXJuIHZvaWQgdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGk9PntpLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodCl8fChpLmNsZWFyU2VsZWN0aW9uKCksaS5hZGRJdGVtVG9TZWxlY3Rpb24odCkpLHRoaXMuX3BhbmUuc2hvd0NvbnRleHRNZW51Rm9yU2VsZWN0aW9uKGUse29yaWdpbjoicHJpY2Vfc2NhbGUifSl9KSl9aWYodGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudS5nZW5lcmFsKXtjb25zdCB0PWF3YWl0IHRoaXMuZ2V0Q29udGV4dE1lbnVBY3Rpb25zKCEwKSxpPXRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLmlkKCk9PT10aGlzLl9wYW5lLnN0YXRlKCkuaWQoKSkpLHM9dGhpcy5fY2hhcnQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuY2hhcnRNb2RlbHMoKS52YWx1ZSgpLmZpbmRJbmRleCgoZT0+ZS5pZCgpPT09dGhpcy5fdW5kb01vZGVsLmlkKCkpKSxuPXRoaXMuX3ByaWNlU2NhbGU/LmlkKCkmJi0xIT09aSYmLTEhPT1zO05pLkNvbnRleHRNZW51TWFuYWdlci5zaG93TWVudSh0LGUse3N0YXROYW1lOiJQcmljZVNjYWxlQ29udGV4dE1lbnUifSx7bWVudU5hbWU6IlByaWNlU2NhbGVDb250ZXh0TWVudSIsLi4ubiYme2RldGFpbDp7dHlwZToicHJpY2VTY2FsZSIsaWQ6dGhpcy5fcHJpY2VTY2FsZT8uaWQoKT8/IiIscGFuZUluZGV4OmksY2hhcnRJbmRleDpzfX19KX19fV9zZXRSZXNpemVDdXJzb3IoKXtjb25zdCBlPXRoaXMucHJpY2VTY2FsZSgpO2UuaXNQZXJjZW50YWdlKCl8fGUuaXNJbmRleGVkVG8xMDAoKT90aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIiIpOnRoaXMuX3pvb21BdmFpbGFibGUoKSYmKHRoaXMuX29wdGlvbnMucHJlc3NlZE1vdXNlTW92ZVNjYWxlfHx0aGlzLl9vcHRpb25zLm1vdXNlV2hlZWxTY2FsZSkmJnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibnMtcmVzaXplIil9X3NldEN1cnNvckNsYXNzTmFtZShlKXtsZXQgdD0iIjtlJiYhdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnZhbHVlKCkmJih0PSJwcmljZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10KX1fem9vbUF2YWlsYWJsZSgpe3JldHVybiF0aGlzLnByaWNlU2NhbGUoKS5pc0VtcHR5KCkmJnRoaXMucHJpY2VTY2FsZSgpLmhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlKCkmJnRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnpvb21FbmFibGVkKCl9X29uTW91c2V3aGVlbChlKXtpZighdGhpcy5fem9vbUF2YWlsYWJsZSgpfHwhdGhpcy5fb3B0aW9ucy5tb3VzZVdoZWVsU2NhbGUpcmV0dXJuO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb3VzZVdoZWVsSGVscGVyKS5wcm9jZXNzV2hlZWwoZSkuZGVsdGFZO2lmKDA9PT10KXJldHVybgo7ZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT10aGlzLl91bmRvTW9kZWwscz10aGlzLl9wYW5lLnN0YXRlKCksbj10aGlzLnByaWNlU2NhbGUoKSxyPXRoaXMuX2NlbGwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz1lLmNsaWVudFktci50b3AsYT1vKzE1KnQ7aS5zdGFydFNjYWxlUHJpY2Uocyx0aGlzLnByaWNlU2NhbGUoKSxvLCEwKSxpLnNjYWxlUHJpY2VUbyhzLG4sYSksaS5lbmRTY2FsZVByaWNlKHMsbiksZS5zdG9wUHJvcGFnYXRpb24oKX1fZHJhd0Nyb3NzSGFpckxhYmVsKGUsdCl7Y29uc3QgaT10aGlzLl9wYW5lLnN0YXRlKCkscz1pLm1vZGVsKCksbj10aGlzLnByaWNlU2NhbGUoKSxyPXMuY3Jvc3NoYWlyU291cmNlKCkucHJpY2VBeGlzVmlld3MoaSxuKTtyJiZyLmxlbmd0aD4wJiZ0aGlzLl9kcmF3TGFiZWxzKHIsZSx0KX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuYmFja2dyb3VuZFRvcENvbG9yKCkscz10aGlzLmJhY2tncm91bmRDb2xvcigpLHtiaXRtYXBTaXplOm59PXQ7aWYoaT09PXM/KDAsS3QuY2xlYXJSZWN0KShlLDAsMCxuLndpZHRoLG4uaGVpZ2h0LHRoaXMuYmFja2dyb3VuZENvbG9yKCkpOigwLERpLmNsZWFyUmVjdFdpdGhHcmFkaWVudCkoZSwwLDAsbi53aWR0aCxuLmhlaWdodCxpLHMpLHRoaXMuX2hpZ2hsaWdodGVkKXtlLmdsb2JhbEFscGhhPS41O2NvbnN0IHQ9ay50aGVtZXNbdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKV0uZ2V0VGhlbWVkQ29sb3IoImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0Iik7KDAsS3QuZmlsbFJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsdCksZS5nbG9iYWxBbHBoYT0xfX1fZHJhd0RyYXdpbmdzSGlnaGxpZ2h0KGUsdCl7Y29uc3QgaT10aGlzLl9wYW5lLnN0YXRlKCkubW9kZWwoKSxzPXRoaXMucHJpY2VTY2FsZSgpLG49aS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PiFlLmlzRml4ZWQoKSYmZS5wcmljZVNjYWxlKCk9PT1zKSkucmVkdWNlKCgoZSx0KT0+e2NvbnN0IGk9dC5wcmljZUF4aXNQb2ludHMoKTtyZXR1cm4gMD09PWkubGVuZ3RoP2U6ZS5jb25jYXQoaSl9KSxbXSk7bi5sZW5ndGg+MCYmdGhpcy5faGlnaHRsaWdodEJhY2tncm91bmQoZSxuLHRoaXMucHJpY2VTY2FsZSgpLm1haW5Tb3VyY2UoKSx0KTtjb25zdCByPWkuY3Jvc3NoYWlyU291cmNlKCk7ci5zdGFydE1lYXN1cmVQb2ludCgpJiZ0aGlzLl9oaWdodGxpZ2h0QmFja2dyb3VuZChlLHIubWVhc3VyZVBvaW50cygpLHRoaXMucHJpY2VTY2FsZSgpLm1haW5Tb3VyY2UoKSx0KX1fZHJhd0JvcmRlcihlLHQpe2Uuc2F2ZSgpLGUuZmlsbFN0eWxlPXRoaXMubGluZUNvbG9yKCk7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86aX09dCxzPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLnJlbmRlcmVyT3B0aW9ucygpLmJvcmRlclNpemUqaSkpLG49dGhpcy5faXNMZWZ0P3QuYml0bWFwU2l6ZS53aWR0aC1zOjA7ZS5maWxsUmVjdChuLDAscyx0LmJpdG1hcFNpemUuaGVpZ2h0KSxlLnJlc3RvcmUoKX1fZHJhd0xhYmVscyhlLHQsaSl7Y29uc3Qgcz10aGlzLnJlbmRlcmVyT3B0aW9ucygpLG49dGhpcy5faXNMZWZ0PyJyaWdodCI6ImxlZnQiO2Zvcihjb25zdCByIG9mIGUpci5pc0F4aXNMYWJlbFZpc2libGUoKSYmKHQuc2F2ZSgpLHIucmVuZGVyZXIoKS5kcmF3KHQsaSxzLHRoaXMuX3dpZHRoQ2FjaGUsbiksdC5yZXN0b3JlKCkpfV9oaWdodGxpZ2h0QmFja2dyb3VuZChlLHQsaSxzKXtpZighaSlyZXR1cm47Y29uc3Qgbj1pLmZpcnN0VmFsdWUoKTtpZihudWxsPT09bilyZXR1cm47bGV0IHI9dFswXS5wcmljZSxvPXRbMF0ucHJpY2U7Zm9yKGxldCBlPTE7ZTx0Lmxlbmd0aDtlKyspcj1NYXRoLm1pbihyLHRbZV0ucHJpY2UpLG89TWF0aC5tYXgobyx0W2VdLnByaWNlKTtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzphLHZlcnRpY2FsUGl4ZWxSYXRpbzpsfT1zLGM9dGhpcy5wcmljZVNjYWxlKCksaD1NYXRoLmZsb29yKGMucHJpY2VUb0Nvb3JkaW5hdGUocixuKSpsKSxkPU1hdGguY2VpbChjLnByaWNlVG9Db29yZGluYXRlKG8sbikqbCk7KDAsS3QuZmlsbFJlY3QpKGUsTWF0aC5mbG9vcihhKSxoLHMuYml0bWFwU2l6ZS53aWR0aCxkLWgsdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5heGlzSGlnaGxpZ2h0Q29sb3IudmFsdWUoKSl9X3ZpZXdzT3JNYXhNaW5WaWV3cyhlKXtjb25zdCB0PXRoaXMuX3BhbmUuc3RhdGUoKSxpPXRoaXMucHJpY2VTY2FsZSgpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm5bXTtpZigxPT09ZS5sZW5ndGgpcmV0dXJuIGVbMF0ucHJpY2VBeGlzVmlld3ModCxpKT8/W107e2xldCBzPTEvMCxuPS0xLzAscj1udWxsLG89bnVsbDtmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPWEucHJpY2VBeGlzVmlld3ModCxpKT8/W107Zm9yKGNvbnN0IHQgb2YgZSl7aWYoIXQuaXNWaXNpYmxlKCkpY29udGludWU7Y29uc3QgZT10LmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpO2U+PW4mJihuPWUsbz10KSxlPD1zJiYocz1lLHI9dCl9fXJldHVybiBvJiZyP1tvLHJdOltdfX1fdmlld3MoZSx0KXtjb25zdCBpPXRoaXMuX3BhbmUuc3RhdGUoKSxzPXRoaXMucHJpY2VTY2FsZSgpLG49W107aWYoMSE9PWUpZm9yKGNvbnN0IGUgb2YgdC5zb3VyY2VzKXQudG9wTGV2ZWxTb3VyY2VzLmhhcyhlKXx8bi5wdXNoKC4uLmUucHJpY2VBeGlzVmlld3MoaSxzKT8/W10pO2lmKDAhPT1lKXtjb25zdCBlPW5ldyBTZXQscj10PT4hZS5oYXModCksbz10PT57Y29uc3QgaT10LmZpbHRlcihyKTtuLnB1c2goLi4udGhpcy5fdmlld3NPck1heE1pblZpZXdzKGkpKTtmb3IoY29uc3QgdCBvZiBpKWUuYWRkKHQpfTt0LmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQmJm8oW3QuY3VzdG9tU291cmNlQmVpbmdNb3ZlZF0pLHQuc291cmNlc0JlaW5nTW92ZWQmJm8odC5zb3VyY2VzQmVpbmdNb3ZlZCksdC5zZWxlY3RlZFNvdXJjZXMmJm8odC5zZWxlY3RlZFNvdXJjZXMpLHQuaG92ZXJlZFNvdXJjZSYmbyhbdC5ob3ZlcmVkU291cmNlXSksCnQubGluZUJlaW5nRWRpdGVkT3JDcmVhdGVkJiZvKFt0LmxpbmVCZWluZ0VkaXRlZE9yQ3JlYXRlZF0pO2Zvcihjb25zdCBlIG9mWy4uLnQuc291cmNlcywuLi5pLmN1c3RvbVNvdXJjZXMoKV0pZS50b3BQcmljZUF4aXNWaWV3cyYmbi5wdXNoKC4uLmUudG9wUHJpY2VBeGlzVmlld3MoaSxzKT8/W10pfXJldHVybiBufV9pbml0QWN0aW9ucygpe2lmKCF0aGlzLl9wYW5lLmhhc1N0YXRlKCl8fG51bGwhPT10aGlzLl9hY3Rpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX3VuZG9Nb2RlbCx0PW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5SZXNldCIsb3B0aW9uczp7bGFiZWw6ZnMsaWNvbklkOiJDaGFydC5SZXNldCIsc2hvcnRjdXRIaW50OigwLEsuaHVtYW5SZWFkYWJsZUhhc2gpKEsuTW9kaWZpZXJzLkFsdCs4Miksc3RhdE5hbWU6IlJlc2V0U2NhbGUiLG9uRXhlY3V0ZTooKT0+dGhpcy5yZXNldCgpfX0pLGk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlQXV0b1NjYWxlIixvcHRpb25zOntsYWJlbDpTcyxjaGVja2FibGU6ITAsY2hlY2tlZDohMCxzdGF0TmFtZToiVG9nZ2xlQXV0b1NjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnRvZ2dsZVByaWNlU2NhbGVBdXRvU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLHM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlUGVyY2VudGFnZSIsb3B0aW9uczp7bGFiZWw6dnMsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dGhpcy5wcmljZVNjYWxlKCkuaXNQZXJjZW50YWdlKCksc3RhdE5hbWU6IlRvZ2dsZVBlcmNhbnRhZ2UiLG9uRXhlY3V0ZTooKT0+e2UudG9nZ2xlUHJpY2VTY2FsZVBlcmNlbnRhZ2VTY2FsZU1vZGUodGhpcy5wcmljZVNjYWxlKCkpLHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX19fSksbj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVJbmRleGVkVG8xMDAiLG9wdGlvbnM6e2xhYmVsOnlzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLmlzSW5kZXhlZFRvMTAwKCksc3RhdE5hbWU6IlRvZ2dsZUluZGV4ZWRUbzEwMCIsb25FeGVjdXRlOigpPT57ZS50b2dnbGVQcmljZVNjYWxlSW5kZXhlZFRvMTAwU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLHI9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlTG9nYXJpdGhtaWMiLG9wdGlvbnM6e2xhYmVsOmJzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLmlzTG9nKCksc3RhdE5hbWU6IlRvZ2dsZUxvZ1NjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnRvZ2dsZVByaWNlU2NhbGVMb2dTY2FsZU1vZGUodGhpcy5wcmljZVNjYWxlKCkpLHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX19fSksbz1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVSZWd1bGFyIixvcHRpb25zOntsYWJlbDp3cyxjaGVja2FibGU6ITAsY2hlY2tlZDp0aGlzLnByaWNlU2NhbGUoKS5pc1JlZ3VsYXIoKSxzdGF0TmFtZToiVG9nZ2xlUmVndWxhclNjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnNldFByaWNlU2NhbGVSZWd1bGFyU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLGE9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5MYWJlbHMuVG9nZ2xlTm9PdmVybGFwcGluZ0xhYmVsc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOkNzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5hbGlnbkxhYmVscy52YWx1ZSgpLHN0YXROYW1lOiJUb2dnbGVQcmVjaXNlTGFiZWxzIn19LHtwcm9wZXJ0eTp0aGlzLnByaWNlU2NhbGUoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYWxpZ25MYWJlbHMsdW5kb01vZGVsOmUsdW5kb1RleHQ6Y3N9KSxsPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLlRvZ2dsZUludmVydFNjYWxlIixvcHRpb25zOntsYWJlbDpQcyxjaGVja2FibGU6ITAsY2hlY2tlZDp0aGlzLnByaWNlU2NhbGUoKS5pc0ludmVydGVkKCksc3RhdE5hbWU6IkludmVydCBTY2FsZSIsb25FeGVjdXRlOigpPT57ZS5pbnZlcnRQcmljZVNjYWxlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pO3RoaXMuX2FjdGlvbnM9e3Jlc2V0OnQsc2V0QXV0b1NjYWxlOmksc2V0UGVyY2VudGFnZTpzLHNldEluZGV4ZWRUbzEwMDpuLHNldExvZzpyLHNldFJlZ3VsYXI6byxhbGlnbkxhYmVsczphLGludmVydFNjYWxlOmx9LHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX1fbG9nQWN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkubG9nU2VyaWVzU2NhbGU6KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKS5zZXRMb2d9X3BlcmNlbnRhZ2VBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5wZXJjZW50U2VyaWVzU2NhbGU6KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKS5zZXRQZXJjZW50YWdlfV9pbmRleGVkVG8xMDBBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5pbmRleGVkVG8xMDBTZXJpZXNTY2FsZTooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FjdGlvbnMpLnNldEluZGV4ZWRUbzEwMH1fYXV0b1NjYWxlQWN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkuYXV0b1Nlcmllc1NjYWxlOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucykuc2V0QXV0b1NjYWxlfV9yZWd1bGFyU2NhbGVBY3Rpb24oKXsKcmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkucmVndWxhclNlcmllc1NjYWxlOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucykuc2V0UmVndWxhcn1fbG9ja1NjYWxlQWN0aW9uKCl7Y29uc3QgZT10aGlzLl9jaGFydC5hY3Rpb25zKCkubG9ja1Nlcmllc1NjYWxlLHQ9VHModGhpcy5wcmljZVNjYWxlKCksdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkubWFpblNlcmllc1NjYWxlUmF0aW8oKSk7cmV0dXJuIGUudXBkYXRlKHtoaW50OnR9KSxlfV9pbnZlcnRBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5pbnZlcnRTZXJpZXNTY2FsZTooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FjdGlvbnMpLmludmVydFNjYWxlfV9pc01haW5TZXJpZXNBeGlzKCl7cmV0dXJuIHRoaXMucHJpY2VTY2FsZSgpLmhhc01haW5TZXJpZXMoKX1fdXBkYXRlU2NhbGVzQWN0aW9ucygpe2NvbnN0IGU9dGhpcy5wcmljZVNjYWxlKCksdD10aGlzLl9pc01haW5TZXJpZXNBeGlzKCksaT0oMCxsLmVuc3VyZU5vdE51bGwpKGUubWFpblNvdXJjZSgpKS5wcm9wZXJ0aWVzKCkscz10JiZlLmlzTG9ja1NjYWxlKCksbj10JiY2PT09aS5zdHlsZS52YWx1ZSgpLHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKTtyLnNldFJlZ3VsYXIudXBkYXRlKHtjaGVja2VkOmUuaXNSZWd1bGFyKCksZGlzYWJsZWQ6c3x8bn0pLHIuc2V0UGVyY2VudGFnZS51cGRhdGUoe2NoZWNrZWQ6ZS5pc1BlcmNlbnRhZ2UoKSxkaXNhYmxlZDpzfHxufSksci5zZXRJbmRleGVkVG8xMDAudXBkYXRlKHtjaGVja2VkOmUuaXNJbmRleGVkVG8xMDAoKSxkaXNhYmxlZDpzfHxufSksci5zZXRMb2cudXBkYXRlKHtjaGVja2VkOmUuaXNMb2coKSxkaXNhYmxlZDpzfHxufSksci5zZXRBdXRvU2NhbGUudXBkYXRlKHtjaGVja2VkOmUuaXNBdXRvU2NhbGUoKSxkaXNhYmxlZDplLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5hdXRvU2NhbGVEaXNhYmxlZC52YWx1ZSgpfSl9X2NyZWF0ZU1lcmdlU2NhbGVzQWN0aW9uKCl7Y29uc3QgZT10aGlzLl9jaGFydC5hY3Rpb25zKCksdD10aGlzLl91bmRvTW9kZWwubW9kZWwoKS5wcmljZVNjYWxlU2xvdHNDb3VudCgpO2lmKHQubGVmdCt0LnJpZ2h0PT09MSlyZXR1cm4gMD09PXQubGVmdD9lLm1vdmVTY2FsZVRvTGVmdDplLm1vdmVTY2FsZVRvUmlnaHQ7Y29uc3QgaT1bXTtyZXR1cm4gaS5wdXNoKGUubWVyZ2VMZWZ0U2NhbGVzQWN0aW9uKSxpLnB1c2goZS5tZXJnZVJpZ2h0U2NhbGVzQWN0aW9uKSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5NZXJnZUFsbFNjYWxlcyIsb3B0aW9uczp7bGFiZWw6dXMsc3ViSXRlbXM6aX19KX1fc2V0Q3Vyc29yKGUpe2xldCB0PSIiOyJncmFiYmluZyIhPT1lJiYibnMtcmVzaXplIiE9PWV8fCh0PSJwcmljZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10LHRoaXMuX2NlbGwuc3R5bGUuY3Vyc29yKX1hc3luYyBfY3JlYXRlU2NhbGVNb2RlQnV0dG9ucygpe2NvbnN0e1ByaWNlU2NhbGVNb2RlQnV0dG9uc1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjI1MTApLGkuZSg0MTUwNiksaS5lKDMyMzg3KSxpLmUoNzEzNzUpXSkudGhlbihpLmJpbmQoaSw5MzE4NzApKTtpZih0aGlzLl9kZXN0cm95ZWQpdGhyb3coMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHQ9bmV3IGUoe2NsYXNzTmFtZToicHJpY2UtYXhpc19fbW9kZUJ1dHRvbnMiLHNldE1vZGU6ZT0+e3RoaXMuX3ByaWNlU2NhbGUmJigibG9nIj09PWU/dGhpcy5fY2hhcnQubW9kZWwoKS5zZXRQcmljZVNjYWxlTW9kZSh7bG9nOiF0aGlzLl9wcmljZVNjYWxlLmlzTG9nKCl9LHRoaXMuX3ByaWNlU2NhbGUsZHMpOnRoaXMuX2NoYXJ0Lm1vZGVsKCkuc2V0UHJpY2VTY2FsZU1vZGUoe2F1dG9TY2FsZTohdGhpcy5fcHJpY2VTY2FsZS5pc0F1dG9TY2FsZSgpfSx0aGlzLl9wcmljZVNjYWxlLGhzKSl9LGdldE1vZGU6KCk9PnRoaXMuX3ByaWNlU2NhbGU/Lm1vZGUoKX0pO3JldHVybiB0LmVsZW1lbnQoKS5zdHlsZS5iYWNrZ3JvdW5kPXRoaXMuYmFja2dyb3VuZENvbG9yKCksdGhpcy5fY2VsbC5hcHBlbmRDaGlsZCh0LmVsZW1lbnQoKSksdGhpcy5fcHJpY2VTY2FsZT8ubW9kZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zKSx0fV9kZXN0cm95U2NhbGVNb2RlQnV0dG9ucygpe3RoaXMuX3NjYWxlTW9kZUJ1dHRvbnMmJih0aGlzLl9pc0hvdmVyZWQudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSksdGhpcy5fc2VsZWN0ZWRWaWFUYXAudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSksdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX3ByaWNlU2NhbGU/Lm1vZGVDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zLmRlc3Ryb3koKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zPW51bGwpfV9oaWdobGlnaHRDb2xvcigpe2NvbnN0IGU9dGhpcy5iYWNrZ3JvdW5kQ29sb3IoKSx0PXRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnZhbHVlKCk7aWYobnVsbD09PXRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGV8fHRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGUuYmFja2dyb3VuZENvbG9yIT09ZXx8dGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZS50aGVtZSE9PXQpe2NvbnN0IGk9KDAsCiRpLmFwcGx5VHJhbnNwYXJlbmN5KShrLnRoZW1lc1t0aGlzLl9iYWNrZ3JvdW5kQmFzZWRUaGVtZS52YWx1ZSgpXS5nZXRUaGVtZWRDb2xvcigiY29sb3ItcHJpY2UtYXhpcy1oaWdobGlnaHQiKSw1MCkscz0oMCx5aS5yZ2JhVG9TdHJpbmcpKCgwLHlpLmJsZW5kUmdiYSkoKDAseWkucGFyc2VSZ2JhKSh0aGlzLmJhY2tncm91bmRDb2xvcigpKSwoMCx5aS5wYXJzZVJnYmEpKGkpKSk7dGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZT17dGhlbWU6dCxiYWNrZ3JvdW5kQ29sb3I6ZSxyZXN1bHRDb2xvcjpzfX1yZXR1cm4gdGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZS5yZXN1bHRDb2xvcn1fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKXsidmlzaWJsZU9uTW91c2VPdmVyIj09PSgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudmFsdWUoKSYmdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkubGlnaHRVcGRhdGUoKX19dmFyIEVzPWkoOTI1OTg1KSxScz1pKDMyMzA3OSk7Y29uc3QgVnM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5DaGFydFVuZG9Nb2RlbCIpO3ZhciBCczshZnVuY3Rpb24oZSl7ZVtlLk1lcmdlVGltZW91dD0xZTNdPSJNZXJnZVRpbWVvdXQifShCc3x8KEJzPXt9KSk7Y29uc3QgTnM9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2NhbGUgcHJpY2UiLHAudChudWxsLHZvaWQgMCxpKDI1Njk2OCkpKTtjbGFzcyBPcyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuLHI9ITApe3N1cGVyKE5zLCExLHIpLHRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZT1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fcGFuZUluZGV4PWUucGFuZXMoKS5pbmRleE9mKHQpLHRoaXMuX3ByaWNlU2NhbGVJZD1pLmlkKCksdGhpcy5fc3RhdGU9cyx0aGlzLl90aW1lc3RhbXA9bj9wZXJmb3JtYW5jZS5ub3coKTpudWxsfXVuZG8oKXtpZihudWxsIT09dGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlKXJldHVybiB2b2lkIFZzLmxvZ0RlYnVnKCJQcmljZVNjYWxlQ2hhbmdlVW5kb0NvbW1hbmQudW5kbzogQ29tbWFuZCBpcyBhbHJlYWR5IHVuZG9uZSIpO2NvbnN0W2UsdF09dGhpcy5fcGFuZUFuZFNjYWxlKCk7dGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlPXQuc3RhdGUoKSx0aGlzLl9tb2RlbC5yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCx0aGlzLl9zdGF0ZSl9cmVkbygpe2lmKG51bGw9PT10aGlzLl9uZXdQcmljZVNjYWxlU3RhdGUpcmV0dXJuIHZvaWQgVnMubG9nRGVidWcoIlByaWNlU2NhbGVDaGFuZ2VVbmRvQ29tbWFuZC5yZWRvOiBDb21tYW5kIGlzIG5vdCB1bmRvbmUiKTtjb25zdFtlLHRdPXRoaXMuX3BhbmVBbmRTY2FsZSgpO3RoaXMuX21vZGVsLnJlc3RvcmVQcmljZVNjYWxlU3RhdGUoZSx0LHRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZSksdGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlPW51bGx9Y2FuTWVyZ2UoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBPcyYmbnVsbCE9PXRoaXMuX3RpbWVzdGFtcCYmbnVsbCE9PWUuX3RpbWVzdGFtcCYmbnVsbD09PXRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZSYmZS5fbW9kZWw9PT10aGlzLl9tb2RlbCYmZS5fcGFuZUluZGV4PT09dGhpcy5fcGFuZUluZGV4JiZlLl9wcmljZVNjYWxlSWQ9PT10aGlzLl9wcmljZVNjYWxlSWQmJk1hdGguYWJzKGUuX3RpbWVzdGFtcC10aGlzLl90aW1lc3RhbXApPDFlM31tZXJnZShlKXt0aGlzLl90aW1lc3RhbXA9ZS5fdGltZXN0YW1wfV9wYW5lQW5kU2NhbGUoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSx0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9wcmljZVNjYWxlSWQpKTtyZXR1cm5bZSx0XX19dmFyIFdzPWkoNDgzMDE2KSxGcz1pKDczNjI4KSxIcz1pKDU0MjM0OSksenM9aSgyOTE4NDMpLFVzPWkoMTc1ODE1KSxHcz1pKDQ5MDM5OSksanM9aSgxMTc4MjApLHFzPWkoODcwNTYyKTtjbGFzcyAkc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3NpemU9KDAseXQuc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSx0aGlzLl9wYW5lPW51bGwsdGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXI9KCk9PnRoaXMuX3BhbmU/Lm1vZGVsKCkubGlnaHRVcGRhdGUoKSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcj1lLHRoaXMuX3NpZGU9dCx0aGlzLl9jZWxsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2NlbGwuY2xhc3NMaXN0LmFkZCgiY2hhcnQtbWFya3VwLXRhYmxlIiwicHJpY2UtYXhpcy1jb250YWluZXIiKSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPSIyNXB4Iix0aGlzLl9jZWxsLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fY2VsbCwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpO2NvbnN0IGk9dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50O2kuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixpLnN0eWxlLnRvcD0iMHB4IixpLnN0eWxlLmxlZnQ9IjBweCIsdGhpcy5fbW91c2VFdmVudEhhbmRsZXI9bmV3IHdpLk1vdXNlRXZlbnRIYW5kbGVyKHRoaXMuX2NlbGwsdGhpcyl9ZGVzdHJveSgpe3RoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9jYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX2NhbnZhc0JpbmRpbmcuZGlzcG9zZSgpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY2VsbH1nZXRTY3JlZW5zaG90RGF0YShlKXtjb25zdCB0PSgwLEt0LmNyZWF0ZURpc2Nvbm5lY3RlZENhbnZhcykoZG9jdW1lbnQsdGhpcy5fc2l6ZSksaT0oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKHQpCjtyZXR1cm4gMCE9PXRoaXMuX3NpemUud2lkdGgmJjAhPT10aGlzLl9zaXplLmhlaWdodCYmaS5kcmF3SW1hZ2UodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LDAsMCx0aGlzLl9zaXplLndpZHRoLHRoaXMuX3NpemUuaGVpZ2h0KSx7Y29udGVudDp0LnRvRGF0YVVSTCgpLGNhbnZhczp0LGNvbnRlbnRXaWR0aDp0aGlzLl9zaXplLndpZHRoLGNvbnRlbnRIZWlnaHQ6dGhpcy5fc2l6ZS5oZWlnaHR9fXNldFBhbmUoZSl7dGhpcy5fcGFuZT1lfXVwZGF0ZSgpe31wYWludCgpe2lmKDA9PT10aGlzLl9zaXplLndpZHRofHwwPT09dGhpcy5fc2l6ZS5oZWlnaHQpcmV0dXJuOygwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fY2FudmFzQmluZGluZyk7Y29uc3QgZT0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZyksdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIpKTtpZih0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdC5jbGVhclJlY3QoMCwwLHRoaXMuX3NpemUud2lkdGgsdGhpcy5fc2l6ZS5oZWlnaHQpLHRoaXMuX2RyYXdCYWNrZ3JvdW5kKHQsZSksdGhpcy5fZHJhd0JvcmRlcih0LGUpLCF0aGlzLl9wYW5lPy5jb2xsYXBzZWQoKS52YWx1ZSgpKXsodGhpcy5fcGFuZT8uZGF0YVNvdXJjZXMoKT8/W10pLmZvckVhY2goKGk9PnsoaS53aWRnZXRTaWRlQXJlYVZpZXdzPy4odGhpcy5fc2lkZSk/P1tdKS5mb3JFYWNoKChpPT5pLnJlbmRlcmVyKGUpPy5kcmF3KHQsZSkpKX0pKX19cmVzdG9yZURlZmF1bHRDdXJzb3IoKXt9c2V0U2l6ZXMoZSx0KXt0aGlzLl9zaXplPSgwLHl0LnNpemUpKHt3aWR0aDp0LnJlZHVjZSgoKGUsdCk9PmUrdCksMCksaGVpZ2h0OmV9KSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPXRoaXMuX3NpemUud2lkdGgrInB4Iix0aGlzLl9jZWxsLnN0eWxlLm1pbldpZHRoPXRoaXMuX3NpemUud2lkdGgrInB4Iix0aGlzLl9jZWxsLnN0eWxlLmhlaWdodD10aGlzLl9zaXplLmhlaWdodCsicHgiLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudCh0aGlzLl9zaXplKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofXVwZGF0ZUN1cnJlbmN5TGFiZWxzKCl7fW9wdGltYWxXaWR0aHMoKXtyZXR1cm4odGhpcy5fcGFuZT8uZGF0YVNvdXJjZXMoKT8/W10pLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBpPSh0LndpZGdldFNpZGVBcmVhVmlld3M/Lih0aGlzLl9zaWRlKT8/W10pLnJlZHVjZSgoKGUsdCk9Pk1hdGgubWF4KGUsdC5vcHRpbWFsV2lkdGgoKSkpLDApO3JldHVybiBNYXRoLm1heChlLGkpfSksMCl9YmFja2dyb3VuZENvbG9yKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9YmFja2dyb3VuZFRvcENvbG9yKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCl9bW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJvY2Vzc1RvdWNoTW91c2VFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoKXt0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKG51bGwpfW1vdXNlRW50ZXJFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfWxvbmdUYXBFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoKXt0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKG51bGwpfV9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpe2lmKCF0aGlzLl9wYW5lKXJldHVybjtjb25zdCB0PSgwLFB0LnBvaW50KShlLmxvY2FsWCxlLmxvY2FsWSk7dGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZSh0aGlzLl9oaXRUZXN0U291cmNlcyh0KSl9X2hpdFRlc3RTb3VyY2VzKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZTtpZighdHx8dC5jb2xsYXBzZWQoKS52YWx1ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dC5kYXRhU291cmNlcygpO2lmKCFpLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTtmb3IoY29uc3QgdCBvZiBpKXtjb25zdCBpPXQud2lkZ2V0U2lkZUFyZWFWaWV3cz8uKHRoaXMuX3NpZGUpO2lmKGkmJmkubGVuZ3RoKWZvcihjb25zdCBuIG9mIGkpe2NvbnN0IGk9bi5yZW5kZXJlcihzKTtpZighaSljb250aW51ZTtjb25zdCByPWkuaGl0VGVzdChlLHMpO2lmKHIpcmV0dXJue3NvdXJjZTp0LGhpdHRlc3Q6cixyZW5kZXJlcjppLGlzQ3VzdG9tOiExfX19cmV0dXJuIG51bGx9X3VwZGF0ZUhvdmVyZWRTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9wYW5lO2lmKCF0KXJldHVybjtjb25zdCBpPXQubW9kZWwoKSx7c291cmNlOnM9bnVsbCxoaXR0ZXN0Om49bnVsbH09ZXx8e307aS5zZXRIb3ZlcmVkU291cmNlKHMsbj8uZGF0YSgpfHxudWxsKX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuYmFja2dyb3VuZFRvcENvbG9yKCkscz10aGlzLmJhY2tncm91bmRDb2xvcigpLHtiaXRtYXBTaXplOm59PXQscj10aGlzLl9wYW5lPy5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0aGlzLl9wYW5lKT8/MCxvPXRoaXMuX3BhbmU/Lm1vZGVsKCkubWFpblBhbmUoKSxhPXI+KG8/dGhpcy5fcGFuZT8ubW9kZWwoKS5wYW5lcygpLmluZGV4T2Yobyk/PzA6MCk/czppOygwLEt0LmNsZWFyUmVjdCkoZSwwLDAsbi53aWR0aCxuLmhlaWdodCxhKX1fZHJhd0JvcmRlcihlLHQpe2Uuc2F2ZSgpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVDb2xvci52YWx1ZSgpO2UuZmlsbFN0eWxlPWkKO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOnN9PXQsbj1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLmJvcmRlclNpemUqcykpLHI9ImxlZnQiPT09dGhpcy5fc2lkZT90LmJpdG1hcFNpemUud2lkdGgtbjowO2UuZmlsbFJlY3QociwwLG4sdC5iaXRtYXBTaXplLmhlaWdodCksZS5yZXN0b3JlKCl9fXZhciBZcz1pKDk3NjgxMyksS3M9aSgzNDQ3ODUpLFhzPWkoNTc3NzEzKSxacz1pKDgyODg1NyksSnM9aSg2MzQ0OTgpO2Z1bmN0aW9uIFFzKGUpe3JldHVybiJzdGFydE1vdmluZyJpbiBlJiYibW92ZSJpbiBlJiYiZW5kTW92aW5nImluIGUmJiJjb252ZXJ0WUNvb3JkaW5hdGVUb1ByaWNlRm9yTW92aW5nImluIGV9dmFyIGVuPWkoNjM2OTY2KSx0bj1pKDk2NjQwNCk7aSg0MDA0MCksaSgyNTkxMzIpO2NvbnN0IHNuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNjcm9sbCIscC50KG51bGwsdm9pZCAwLGkoNjE0OTA2KSkpLG5uPXAudChudWxsLHZvaWQgMCxpKDg4Mjc2KSkscm49cC50KG51bGwsdm9pZCAwLGkoOTg3NCkpO2Z1bmN0aW9uIG9uKGUsdCxpKXtlLmRyYXdCYWNrZ3JvdW5kJiZlLmRyYXdCYWNrZ3JvdW5kKHQsaSl9ZnVuY3Rpb24gYW4oZSx0LGkpe2UuZHJhdyh0LGkpfWZ1bmN0aW9uIGxuKGUsdCl7cmV0dXJuIGUucGFuZVZpZXdzKHQpfWZ1bmN0aW9uIGNuKGUsdCl7cmV0dXJuIGUudG9wUGFuZVZpZXdzPy4odCk/P1tdfWZ1bmN0aW9uIGhuKGUsdCl7cmV0dXJuIGUubGFiZWxQYW5lVmlld3ModCl9ZnVuY3Rpb24gZG4oZSx0KXtjb25zdCBpPWUuc3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpO3JldHVybiBudWxsPT09aT9udWxsOltpXX1mdW5jdGlvbiB1bihlLHQpe3JldHVybiBudWxsPT09ZXx8ZS5zb3VyY2UhPT10P251bGw6ZS5oaXR0ZXN0LmRhdGEoKX1mdW5jdGlvbiBwbihlLHQsaSxzLG4pe2NvbnN0IHI9ZS5yZXN1bHQ/LmhpdHRlc3QudGFyZ2V0KCk/PzA7dC50YXJnZXQoKT5yJiYoZS5yZXN1bHQ9e2hpdHRlc3Q6dCxzb3VyY2U6aSxyZW5kZXJlcjpzLGlzQ3VzdG9tOm59KX1jb25zdCBfbj17Y29udGV4dE1lbnVFbmFibGVkOiEwLGNvbnRleHRNZW51OldzLmRlZmF1bHRDaGFydFdpZGdldEFjdGlvbnNPcHRpb25zLHByaWNlU2NhbGVDb250ZXh0TWVudUVuYWJsZWQ6ITAsbGVnZW5kV2lkZ2V0RW5hYmxlZDohMCxjb250cm9sc0VuYWJsZWQ6ITAscHJvcGVydHlQYWdlc0VuYWJsZWQ6ITAsc291cmNlU2VsZWN0aW9uRW5hYmxlZDohMCxjb3VudGRvd25FbmFibGVkOiEwfSxtbj1uZXcgTWFwKFtbTWkuQXJlYU5hbWUuVGV4dCwiVGV4dCJdLFtNaS5BcmVhTmFtZS5TdHlsZSwiU3R5bGUiXV0pLGduPSEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIik7dmFyIGZuOyFmdW5jdGlvbihlKXtlW2UuTWluU2Nyb2xsU3BlZWQ9LjJdPSJNaW5TY3JvbGxTcGVlZCIsZVtlLk1heFNjcm9sbFNwZWVkPTddPSJNYXhTY3JvbGxTcGVlZCIsZVtlLkR1bXBpbmdDb2VmZj0uOTk3XT0iRHVtcGluZ0NvZWZmIixlW2UuU2Nyb2xsTWluTW92ZT0xNV09IlNjcm9sbE1pbk1vdmUiLGVbZS5TUGVuTWF4RGlzdGFuY2U9NV09IlNQZW5NYXhEaXN0YW5jZSIsZVtlLkNvbGxhcHNlZEhlaWdodD0zM109IkNvbGxhcHNlZEhlaWdodCJ9KGZufHwoZm49e30pKTtsZXQgU249bnVsbDtmdW5jdGlvbiB2bihlLHQpe3JldHVybiEoMCxNaS5zaG91bGREZWZhdWx0QWN0aW9uQmVFeGVjdXRlZCkoZSx0LCJwcmVzc2VkTW91c2VNb3ZlSGFuZGxlciIsInRvdWNoTW92ZUhhbmRsZXIiKX12YXIgeW47IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRG93bldpdGhvdXRNb3ZlPTFdPSJEb3duV2l0aG91dE1vdmUiLGVbZS5Eb3duV2l0aE1vdmU9Ml09IkRvd25XaXRoTW92ZSJ9KHlufHwoeW49e30pKTtjbGFzcyBibntjb25zdHJ1Y3RvcihlLHQsaSxzKXt0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCx0aGlzLl9wYW5lQ29udHJvbHM9bnVsbCx0aGlzLl9pc0Rlc3Ryb3llZD0hMSx0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXA9KDAsdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKS5pc1RvdWNoLHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1udWxsLHRoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITEsdGhpcy5fc3RhcnRNb3ZlU291cmNlUGFyYW1zPW51bGwsdGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtcz1udWxsLHRoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEsdGhpcy5fcHJldmVudFNjcm9sbFVudGlsTmV4dE1vdXNlRG93bk9yVG91Y2hTdGFydD0hMSx0aGlzLl9jbG9ubmluZ0F0TW92ZUxpbmVUb29scz1udWxsLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW51bGwsdGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuX3RoZW1lZFRvcENvbG9yPW51bGwsdGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPW51bGwsdGhpcy5fZmlyc3Rab29tUG9pbnQ9bnVsbCx0aGlzLl9lZGl0RGlhbG9nPW51bGwsdGhpcy5fcHJvY2Vzc2luZz0hMSx0aGlzLl9wcmVzc2VkTW92ZVN0YWdlPTAsdGhpcy5fdG91Y2hNb3ZlPSExLHRoaXMuX3N0YXJ0VG91Y2hQb2ludD1udWxsLHRoaXMuX2lzU2VsZWN0aW5nPSExLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1udWxsLHRoaXMuX2NvbnRleHRNZW51WD0wLHRoaXMuX2NvbnRleHRNZW51WT0wLHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zPW51bGwsdGhpcy5faXNTY3JvbGxpbmc9ITEsdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZT1udWxsLHRoaXMuX3Njcm9sbFhBbmltYXRpb249bnVsbCx0aGlzLl9wcmV2UGluY2hTY2FsZT0xLHRoaXMuX3BpbmNoaW5nPSExLHRoaXMuX3dhc1BpbmNoZWQ9ITEsdGhpcy5fbG9uZ1RhcD0hMSx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcD0hMSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX2xhc3RDbGlja2VkU291cmNlPW51bGwsdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXA9bmV3IE1hcCwKdGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW51bGwsdGhpcy5fb25NYWduZXRTdGF0ZUNoYW5nZWRMaXN0ZW5lcj10aGlzLl9vbk1hZ25ldFN0YXRlQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lcj10aGlzLl9vblNoaWZ0S2V5U3RhdGVDaGFuZ2VkLmJpbmQodGhpcyksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT0iIix0aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9bnVsbCx0aGlzLl9uZWVkUmVzZXRNZWFzdXJlTGF0ZXI9ITEsdGhpcy5fY3VycmVudENoYW5naW5nTGluZVRvb2xIaXRUZXN0PW51bGwsdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbCx0aGlzLl9wcmV2VG9vbHRpcERhdGE9bnVsbCx0aGlzLl9lcnJvclJlbmRlcmVyPW51bGwsdGhpcy5faGlnaGxpZ2h0ZWRQcmljZUF4aXNlcz1uZXcgZC5XYXRjaGVkT2JqZWN0KFtdKSx0aGlzLl92aXN1YWxseUNvbGxhcHNlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX21heGltaXplZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lcj1udWxsLHRoaXMuX3NlbGVjdGlvbkJlZm9yZU1vdXNlRG93bj1uZXcgV2Vha1NldCx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz1udWxsLHRoaXMuX2lnbm9yaW5nTW91c2VNb3ZlbWVudD0hMSx0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+dGhpcy5fc3RhdGUmJnRoaXMuX2NoYXJ0TW9kZWwoKS5saWdodFVwZGF0ZSgpLHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkPSgpPT57dGhpcy5fdmlzdWFsbHlDb2xsYXBzZWQuc2V0VmFsdWUoIXRoaXMuc3RhdGUoKS5tYXhpbWl6ZWQoKS52YWx1ZSgpJiZ0aGlzLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl9LHRoaXMuX3VwZGF0ZU1heGltaXplZD0oKT0+e3RoaXMuX21heGltaXplZC5zZXRWYWx1ZSh0aGlzLnN0YXRlKCkubWF4aW1pemVkKCkudmFsdWUoKSl9LHRoaXMuX2NoYXJ0PWUsdGhpcy5fc3RhdGU9dCx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKF9uKSxpKSx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlPXMsdGhpcy5fc3RhdGUmJnRoaXMuX3N1YnNjcmliZVRvU3RhdGUoKTtjb25zdCBuPXtjb250ZXh0TWVudUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnVFbmFibGVkLHByZXNzZWRNb3VzZU1vdmVTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlLG1vdXNlV2hlZWxTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQsY291bnRkb3duRW5hYmxlZDp0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQsY3JvcHBlZFRpY2tNYXJrczp0aGlzLl9vcHRpb25zLmNyb3BwZWRUaWNrTWFya3N9O3ZvaWQgMCE9PXRoaXMuX29wdGlvbnMucHJpY2VTY2FsZUNvbnRleHRNZW51JiYobi5jb250ZXh0TWVudT10aGlzLl9vcHRpb25zLnByaWNlU2NhbGVDb250ZXh0TWVudSk7Y29uc3Qgcj0oZSx0LGkscyxyKT0+bmV3IERzKHRoaXMuX2NoYXJ0LHRoaXMsdGhpcy5fY2hhcnRVbmRvTW9kZWwoKSxpLHQsZSxuLHMsciksbz1lLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLGM9dGhpcy5fY2hhcnRNb2RlbCgpLnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyKCkscD17YmFja2dyb3VuZEJhc2VkVGhlbWU6ZS5iYWNrZ3JvdW5kQmFzZWRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksc3R1YkNvbnRleHRNZW51UHJvdmlkZXI6KCk9PlByb21pc2UucmVzb2x2ZShbXSksdGl0bGVzUHJvdmlkZXI6KCk9PltdLHJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOmMsZ2V0QmFja2dyb3VuZFRvcENvbG9yOigpPT50aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLHJlcXVlc3RSZXBhaW50OigpPT50aGlzLl9jaGFydE1vZGVsKCkubGlnaHRVcGRhdGUoKX07dGhpcy5fcm93RWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9yb3dFbGVtZW50LnN0eWxlLmRpc3BsYXk9ImZsZXgiO2NvbnN0IF89e3Nob3dMYWJlbHM6ITF9O3RoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyPXQubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyP25ldyBqaShvLCJsZWZ0IixyLHAsXyk6bmV3ICRzKGMsImxlZnQiKSx0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lcj10Lm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcj9uZXcgamkobywicmlnaHQiLHIscCxfKTpuZXcgJHMoYywicmlnaHQiKSx0aGlzLl9wYW5lQ2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9wYW5lQ2VsbC5jbGFzc0xpc3QuYWRkKCJjaGFydC1tYXJrdXAtdGFibGUiLCJwYW5lIiksdGhpcy5fcGFuZUNlbGwuc2V0QXR0cmlidXRlKCJkYXRhLXFhLWlkIiwicGFuZSIpLHRoaXMuX2Rpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9kaXYuY2xhc3NMaXN0LmFkZCgiY2hhcnQtZ3VpLXdyYXBwZXIiKSx0aGlzLl9kaXYuc2V0QXR0cmlidXRlKCJkYXRhLXFhLWlkIiwicGFuZS13aWRnZXQtY2hhcnQtZ3VpLXdyYXBwZXIiKSx0aGlzLl9wYW5lQ2VsbC5hcHBlbmRDaGlsZCh0aGlzLl9kaXYpLHRoaXMuX2NhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2RpdiwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpCjtjb25zdCBtPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDttLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsbS5zdHlsZS5sZWZ0PSIwIixtLnN0eWxlLnRvcD0iMCIsbS5kYXRhc2V0Lm5hbWU9InBhbmUtY2FudmFzIix0aGlzLl90b3BDYW52YXNCaW5kaW5nPSgwLEt0LmNyZWF0ZUJvdW5kQ2FudmFzKSh0aGlzLl9kaXYsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBnPXRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtnLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZy5zdHlsZS5sZWZ0PSIwIixnLnN0eWxlLnRvcD0iMCIsZy5kYXRhc2V0LnFhSWQ9InBhbmUtdG9wLWNhbnZhcyIsdGhpcy5fcm93RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRFbGVtZW50KCkpLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGFuZUNlbGwpLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSxtLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIik7Y29uc3QgZj10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpO2YuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQWNjZXNzaWJpbGl0eUF0dHIpLHRoaXMuX21haW5TZXJpZXNJbnRlcnZhbD1mLmludGVydmFsT2JqKCkuc3Bhd24oKSx0aGlzLl9tYWluU2VyaWVzSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFjY2Vzc2liaWxpdHlBdHRyLmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUFjY2Vzc2liaWxpdHlBdHRyKCksdGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkJiYodGhpcy5fb3B0aW9ucy5jdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXMmJih0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcD10aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyksdGhpcy5fbG9hZEFuZENyZWF0ZUxlZ2VuZFdpZGdldCgpKSx0aGlzLl9zdGF0ZSYmIXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCkmJnRoaXMuX29wdGlvbnMuY29udHJvbHNFbmFibGVkJiZ0aGlzLl9sb2FkQW5kQ3JlYXRlUGFuZUNvbnRyb2xzV2lkZ2V0KHRoaXMuX3N0YXRlKSwoMCxacy5tYWduZXRFbmFibGVkKSgpLnN1YnNjcmliZSh0aGlzLl9vbk1hZ25ldFN0YXRlQ2hhbmdlZExpc3RlbmVyKSwoMCxYdC5zaGlmdFByZXNzZWQpKCkuc3Vic2NyaWJlKHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lciksdGhpcy5fcGFuZUNlbGwuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLChlPT57ZS5kYXRhVHJhbnNmZXImJkFycmF5LmZyb20oZS5kYXRhVHJhbnNmZXIuZmlsZXMpLnNvbWUoanMuYmxvYkltYWdlRmlsdGVyKSYmZS5wcmV2ZW50RGVmYXVsdCgpfSkpLHRoaXMuX3BhbmVDZWxsLmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLChlPT57aWYod2luZG93LnVzZXIuaWQmJmUuZGF0YVRyYW5zZmVyJiZ0aGlzLl9zdGF0ZSl7Y29uc3QgdD1BcnJheS5mcm9tKGUuZGF0YVRyYW5zZmVyLmZpbGVzKS5maW5kKGpzLmJsb2JJbWFnZUZpbHRlcik7aWYodCl7ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9KDAsanMudXBsb2FkSW1hZ2UpKHQpLHM9VVJMLmNyZWF0ZU9iamVjdFVSTCh0KSxuPWFzeW5jKCk9Pnthd2FpdCgwLGtpLmVuc3VyZUxpbmVUb29sTG9hZGVkKSgiTGluZVRvb2xJbWFnZSIpLHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkucGFzdGVJbWFnZUFzTGluZVRvb2woaSxzLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpKX07aS5jYXRjaCgoZT0+eygwLG5lLnNob3dDaGFydFdhcm5pbmdOb3RpZmljYXRpb24pKCJjb3B5Iix7dGl0bGU6cm4sdGV4dDplLm1lc3NhZ2V9KX0pKSxuKCl9fX0pKSx0aGlzLnNldEN1cnNvckZvclRvb2woKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LHRoaXMse3RyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwudmVydFRvdWNoRHJhZyx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6IXRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWcsc2hvdWxkQWxsb3dUb3VjaERyYWc6KCk9PiExfSksdGhpcy5fcGFuZUNlbGxNb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fcGFuZUNlbGwse2RvdWJsZVRhcEV2ZW50OnRoaXMuX3BhbmVEYmxDbGlja09yVGFwRXZlbnQuYmluZCh0aGlzKSxtb3VzZURvdWJsZUNsaWNrRXZlbnQ6dGhpcy5fcGFuZURibENsaWNrT3JUYXBFdmVudC5iaW5kKHRoaXMpfSx7c2hvdWxkQWxsb3dUb3VjaERyYWc6KCk9PiExLHRyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwudmVydFRvdWNoRHJhZyx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6IXRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbCx0aGlzLl9oaWdobGlnaHRlZFByaWNlQXhpc2VzLnN1YnNjcmliZSgoZT0+e3RoaXMuX2hpZ2hsaWdodFByaWNlQXhpc2VzQnlMYWJlbChlLm1hcCgoZT0+ZS5heGlzKSkpfSkpLHRoaXMuX3ByZXZQaW5jaFNjYWxlPTAsdGhpcy5faXNEZXN0cm95ZWQ9ITE7Y29uc3QgUz0oMCx1LmNvbWJpbmUpKChlPT57Y29uc3QgdD10aGlzLl9jaGFydC5wYW5lV2lkZ2V0U2VwYXJhdG9ycyh0aGlzKQo7cmV0dXJuW3Quc2VwYXJhdG9yQWJvdmU/LnNlbGVjdGVkKCk/LndlYWtSZWZlcmVuY2UoKT8/bmV3IGguV2F0Y2hlZFZhbHVlKCExKS5vd25lcnNoaXAoKSx0LnNlcGFyYXRvckJlbG93Py5zZWxlY3RlZCgpPy53ZWFrUmVmZXJlbmNlKCk/P25ldyBoLldhdGNoZWRWYWx1ZSghMSkub3duZXJzaGlwKCldfSksdGhpcy5fY2hhcnQucGFuZVdpZGdldHNXVigpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fYW55U2VwYXJhdG9yU2VsZWN0ZWQ9KDAsdS5hY2N1bXVsYXRlKSgoZT0+ZS5zb21lKEJvb2xlYW4pKSxTLm93bmVyc2hpcCgpKX1kZXN0cm95KCl7dGhpcy5fY2hhcnQub25QYW5lV2lkZ2V0RGVzdHJveWVkKHRoaXMpO3RoaXMuX2NoYXJ0TW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAuY2xlYXIoKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuZGlzcG9zZSgpLHRoaXMuX2NhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fY2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fbGVnZW5kV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9sc1Jlc2l6ZU9ic2VydmVyJiZ0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmKHRoaXMuX3BhbmVDb250cm9scy5kZXN0cm95KCksdGhpcy5fcGFuZUNvbnRyb2xzPW51bGwpLHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKSx0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lci5kZXN0cm95KCksdGhpcy5oYXNTdGF0ZSgpJiZ0aGlzLl91bnN1YnNjcmliZUZyb21TdGF0ZSgpLCgwLFpzLm1hZ25ldEVuYWJsZWQpKCkudW5zdWJzY3JpYmUodGhpcy5fb25NYWduZXRTdGF0ZUNoYW5nZWRMaXN0ZW5lciksKDAsWHQuc2hpZnRQcmVzc2VkKSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lciksdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5vblBhbmVEZXN0cm95ZWQodGhpcyksdGhpcy5fZXJyb3JSZW5kZXJlciYmdGhpcy5fZXJyb3JSZW5kZXJlci50aGVuKChlPT57ZS5kZXN0cm95KCksdGhpcy5fZXJyb3JSZW5kZXJlcj1udWxsfSkpLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1udWxsLHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9wYW5lQ2VsbE1vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9yb3dFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnJlbW92ZUNoaWxkKHRoaXMuX3Jvd0VsZW1lbnQpLHRoaXMuX2FueVNlcGFyYXRvclNlbGVjdGVkLmRlc3Ryb3koKSx0aGlzLl9tYWluU2VyaWVzSW50ZXJ2YWwuZGVzdHJveSgpLHRoaXMuX2lzRGVzdHJveWVkPSEwfXVwZGF0ZU9wdGlvbnMoZSl7aWYoKDAsYS5tZXJnZSkodGhpcy5fb3B0aW9ucyxlKSwhMT09PWUubGVnZW5kV2lkZ2V0RW5hYmxlZCYmdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fbGVnZW5kV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCksZS5sZWdlbmRXaWRnZXRFbmFibGVkJiYhdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fb3B0aW9ucy5jdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXMmJih0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcD10aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyksdGhpcy5fbG9hZEFuZENyZWF0ZUxlZ2VuZFdpZGdldCgpKSwhdGhpcy5fc3RhdGUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc3RhdGUubW9kZSgpLGk9dGhpcy5fY2hhcnRNb2RlbCgpLnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyKCk7aWYodD09PU0uUGFuZU1vZGUuUmVndWxhciYmISh0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lciBpbnN0YW5jZW9mIGppKSl7dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKTtjb25zdCBlPXtzaG93TGFiZWxzOiExfSx0PXtjb250ZXh0TWVudUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnVFbmFibGVkLHByZXNzZWRNb3VzZU1vdmVTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlLG1vdXNlV2hlZWxTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLGNvdW50ZG93bkVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5jb3VudGRvd25FbmFibGVkLGNyb3BwZWRUaWNrTWFya3M6dGhpcy5fb3B0aW9ucy5jcm9wcGVkVGlja01hcmtzfSxzPShlLGkscyxuLHIpPT5uZXcgRHModGhpcy5fY2hhcnQsdGhpcyx0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHMsaSxlLHQsbixyKSxuPXRoaXMuX2NoYXJ0LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLHI9KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLG89KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpLGE9e2JhY2tncm91bmRCYXNlZFRoZW1lOnRoaXMuX2NoYXJ0LmJhY2tncm91bmRCYXNlZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxzdHViQ29udGV4dE1lbnVQcm92aWRlcjooKT0+UHJvbWlzZS5yZXNvbHZlKFtdKSx0aXRsZXNQcm92aWRlcjooKT0+W10sCnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOmksZ2V0QmFja2dyb3VuZFRvcENvbG9yOm8sZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yOnIscmVxdWVzdFJlcGFpbnQ6KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5saWdodFVwZGF0ZSgpfTt0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lcj1uZXcgamkobiwibGVmdCIscyxhLGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyPW5ldyBqaShuLCJyaWdodCIscyxhLGUpLHRoaXMuX3Jvd0VsZW1lbnQuaW5uZXJIVE1MPSIiLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3BhbmVDZWxsKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmdldEVsZW1lbnQoKSl9dCE9PU0uUGFuZU1vZGUuV2lkZ2V0fHx0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lciBpbnN0YW5jZW9mICRzfHwodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKSx0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lcj1uZXcgJHMoaSwibGVmdCIpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyPW5ldyAkcyhpLCJyaWdodCIpLHRoaXMuX3Jvd0VsZW1lbnQuaW5uZXJIVE1MPSIiLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3BhbmVDZWxsKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmdldEVsZW1lbnQoKSkpfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1zZXRTaXplKGUpeygwLHl0LmVxdWFsU2l6ZXMpKHRoaXMuX3NpemUsZSl8fCh0aGlzLl9zaXplPWUsdGhpcy5fY2FudmFzQmluZGluZy5yZXNpemVDYW52YXNFbGVtZW50KGUpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl9wYW5lQ2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fcGFuZUNlbGwuc3R5bGUuaGVpZ2h0PWUuaGVpZ2h0KyJweCIsdGhpcy5fZGl2LnN0eWxlLndpZHRoPWUud2lkdGgrInB4Iix0aGlzLl9kaXYuc3R5bGUuaGVpZ2h0PWUuaGVpZ2h0KyJweCIsdGhpcy5fcm93RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLDA9PT1lLmhlaWdodCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZVdpZGdldE1vZGVCeVNpemUoZSksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmdGhpcy5fcGFuZUNvbnRyb2xzLnVwZGF0ZVdpZGdldE1vZGVCeVdpZHRoKGUud2lkdGgpKX13aWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9zaXplLmhlaWdodH1iYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5fY2hhcnRNb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9aGlnaGxpZ2h0ZWRQcmljZUF4aXNlcygpe3JldHVybiB0aGlzLl9oaWdobGlnaHRlZFByaWNlQXhpc2VzfXByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKGUsdCxpKXtpZigoMCxyaS5pc0VkaXRhYmxlVGV4dExpbmVUb29sKShlKSl7Y29uc3QgdD1lLnRleHRFZGl0aW5nQWN0aXZhdGlvblRpbWUoKTtudWxsIT09dCYmcGVyZm9ybWFuY2Uubm93KCktdDw1MDAmJmUuZGVhY3RpdmF0ZVRleHRFZGl0aW5nKCl9aWYoKDAscWkuaXNBbGVydExhYmVsKShlKSl7Y29uc3QgdD1lLmFsZXJ0KCkscz10LmlkKCkudmFsdWUoKTtpZih0LmlzTmV3KCkudmFsdWUoKSlyZXR1cm47KDAsVXMuZ2V0Q2hhcnRBbGVydHNGYWNhZGUpKCkudGhlbigoZT0+eygwLE10LnRyYWNrRXZlbnQpKCJjaGFydF9hbGVydCIsImVkaXQiLGBkb3VibGVfY2xpY2tfb25fJHtpPy5vcmlnaW4/PyJsaW5lIn1gKSxlLm9wZW5FZGl0RGlhbG9nKHMse2FjdGlvblNvdXJjZToiYWxlcnRfbGFiZWxfZG91YmxlX2NsaWNrIixkYXRhU291cmNlSHViOnRoaXMuX2NoYXJ0TW9kZWwoKSxtZXRob2Q6ImFsZXJ0X2xhYmVsX2RvdWJsZV9jbGljayIsc291cmNlOiJjaGFydCJ9KX0pKX1lbHNlKDAsQWkuaXNEYXRhU291cmNlKShlKSYmZS5pZCgpIT09dGhpcy5fbGFzdEZpbmlzaGVkVG9vbElkJiZ0aGlzLl9zaG93RWRpdERpYWxvZ0ZvclNvdXJjZShlLHQpfXN0cmV0Y2hGYWN0b3IoKXtyZXR1cm4gdGhpcy5fc3RhdGU/dGhpcy5fc3RhdGUuc3RyZXRjaEZhY3RvcigpOjB9c2V0U3RyZXRjaEZhY3RvcihlKXt0aGlzLmhhc1N0YXRlKCkmJnRoaXMuc3RhdGUoKS5zZXRTdHJldGNoRmFjdG9yKGUpfXNldEN1cnNvckZvclRvb2woZSx0LGkpe2lmKHQmJnQubW9kKCkmJmUmJmUhPT10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik7aWYodm9pZCAwIT09aSl7c3dpdGNoKGkpe2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuVmVydGljYWxSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJucy1yZXNpemUiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLkhvcml6b250YWxSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJldy1yZXNpemUiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLkRpYWdvbmFsTmVTd1Jlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIm5lc3ctcmVzaXplIik7YnJlYWs7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5EaWFnb25hbE53U2VSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJud3NlLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuRGVmYXVsdDp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoImRlZmF1bHQiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLlBvaW50ZXI6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik7YnJlYWsKO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuR3JhYmJpbmc6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJncmFiYmluZyIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuVGV4dDp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoInRleHQiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLk5vbmU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJub25lIil9cmV0dXJufWNvbnN0IHM9VC50b29sLnZhbHVlKCk7aWYoKDAsVC50b29sSXNDdXJzb3IpKHMpKXtpZihudWxsIT09dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpfHx0aGlzLl9pc1Njcm9sbGluZ3x8dGhpcy5fY2hhcnRVbmRvTW9kZWwoKSYmdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiZ3JhYmJpbmciKTtpZihlJiZ0aGlzLl9vcHRpb25zLnNvdXJjZVNlbGVjdGlvbkVuYWJsZWQpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIil9bGV0IG49IiI7c3dpdGNoKHMpe2Nhc2UiZXJhc2VyIjpuPSJlcmFzZXIiO2JyZWFrO2Nhc2Uiem9vbSI6bj0iem9vbS1pbiJ9aWYoIW4pc3dpdGNoKFQuY3Vyc29yVG9vbC52YWx1ZSgpKXtjYXNlImFycm93IjpuPSJkZWZhdWx0IjticmVhaztjYXNlImRvdCI6bj0iZG90IjticmVhaztjYXNlImRlbW9uc3RyYXRpb24iOm49ImRlbW9uc3RyYXRpb24iO2JyZWFrO2Nhc2UicGVyZm9ybWFuY2UiOm49InBlcmZvcm1hbmNlIn10aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUobil9c2hvd0NvbnRleHRNZW51Rm9yU2VsZWN0aW9uKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IG49cy5kYXRhU291cmNlcygpLmZpbHRlcigoZT0+ZS5oYXNDb250ZXh0TWVudSgpKSk7dGhpcy5zaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzKG4sZSx2b2lkIDAsdCxpKX1hc3luYyBzaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzKGUsdCxpLHMsbil7aWYoIWUubGVuZ3RofHwhdGhpcy5fc3RhdGUpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtjb25zdHtBY3Rpb25zUHJvdmlkZXI6cn09YXdhaXQoMCxzcy5hY3Rpb25zUHJvdmlkZXJNb2R1bGUpKCk7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuIG51bGw7Y29uc3Qgbz1lWzBdLGw9KDAsYS5tZXJnZSkoKDAsYS5jbG9uZSkodGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudSksaXx8e30pLGM9bmV3IHIodGhpcy5fY2hhcnQsbCk7aWYobz09PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkpcmV0dXJuIG8uaGFuZGxlQ29udGV4dE1lbnVFdmVudCh0KSxQcm9taXNlLnJlc29sdmUobnVsbCk7e2NvbnN0IGk9YXdhaXQgYy5jb250ZXh0TWVudUFjdGlvbnNGb3JTb3VyY2VzKGUsdGhpcy5fc3RhdGUsdCxzPy5vcmlnaW4sbj8uZGF0YSgpPy5jdXN0b21BY3Rpb25zKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTt7bGV0IGU9e21lbnVOYW1lOiIifTtyZXR1cm4gbyBpbnN0YW5jZW9mIGVuLlNlcmllcz9lPXttZW51TmFtZTpzPy5vcmlnaW4/PyJPYmplY3RUcmVlQ29udGV4dE1lbnUiLGRldGFpbDp7dHlwZToic2VyaWVzIixpZDpvLmluc3RhbmNlSWQoKX19OigwLHJpLmlzTGluZVRvb2wpKG8pP2U9e21lbnVOYW1lOnM/Lm9yaWdpbj8/Ik9iamVjdFRyZWVDb250ZXh0TWVudSIsZGV0YWlsOnt0eXBlOiJzaGFwZSIsaWQ6bz8uaWQoKT8/bnVsbH19OigwLHRpLmlzU3R1ZHkpKG8pJiYoZT17bWVudU5hbWU6cz8ub3JpZ2luPz8iT2JqZWN0VHJlZUNvbnRleHRNZW51IixkZXRhaWw6e3R5cGU6InN0dWR5IixpZDpvPy5pZCgpfHxudWxsfX0pLE5pLkNvbnRleHRNZW51TWFuYWdlci5jcmVhdGVNZW51KGkse3Rha2VGb2N1czohMCxyZXR1cm5Gb2N1czohMCxpc0tleWJvYXJkRXZlbnQ6bC5pc0tleWJvYXJkRXZlbnQsc3RhdE5hbWU6by5jb250ZXh0TWVudVN0YXROYW1lKCl9LGUscz8ub25DbG9zZSkudGhlbigoZT0+KGUuc2hvdyh0KSxlKSkpfX19bGVmdFByaWNlQXhpc2VzQ29udGFpbmVyKCl7cmV0dXJuIHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyfXJpZ2h0UHJpY2VBeGlzZXNDb250YWluZXIoKXtyZXR1cm4gdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXJ9c2V0UHJpY2VBeGlzU2l6ZXMoZSx0LGkpe3RoaXMuX3ByaWNlQXhpc2VzQ29udGFpbmVyKGUpLnNldFNpemVzKHQsaSl9c3RhdGUoKXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0YXRlKX1oYXNTdGF0ZSgpe3JldHVybiBudWxsIT09dGhpcy5fc3RhdGV9c2V0U3RhdGUoZSl7dGhpcy5fc3RhdGUhPT1lJiYodGhpcy5oYXNTdGF0ZSgpJiYodGhpcy5fdW5zdWJzY3JpYmVGcm9tU3RhdGUoKSx0aGlzLl9wYW5lQ29udHJvbHM/LmRlc3Ryb3koKSx0aGlzLl9wYW5lQ29udHJvbHM9bnVsbCksdGhpcy5fc3RhdGU9ZSx0aGlzLmhhc1N0YXRlKCkmJih0aGlzLnVwZGF0ZU9wdGlvbnModGhpcy5fb3B0aW9ucyksdGhpcy5fc3Vic2NyaWJlVG9TdGF0ZSgpLHRoaXMuX2xvYWRBbmRDcmVhdGVQYW5lQ29udHJvbHNXaWRnZXQodGhpcy5zdGF0ZSgpKSx0aGlzLnVwZGF0ZVByaWNlQXhpc1dpZGdldHNTdGF0ZXMoKSx0aGlzLl91cGRhdGVBY2Nlc3NpYmlsaXR5QXR0cigpKSl9Z2V0U2NyZWVuc2hvdERhdGEoZSl7Y29uc3QgdD1bXSxpPVtdO2xldCBzLG49W107Y29uc3Qgcj10aGlzLnN0YXRlKCksbz1yLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0P1tdOnIuc291cmNlc0J5R3JvdXAoKS5wcmljZVNvdXJjZXMoKS5zbGljZSgpLnJldmVyc2UoKSxhPXRoaXMuX2NoYXJ0LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO2Zvcihjb25zdCBsIG9mIG8pe2NvbnN0IG89bC5zdGF0dXNWaWV3KCk7aWYoKDAsCnRpLmlzU3R1ZHkpKGwpJiYoYS5zaG93TGVnZW5kLnZhbHVlKCl8fGU/LnNob3dDb2xsYXBzZWRTdHVkaWVzKSl7Y29uc3Qgcz1hLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpLG49ITA7aWYobC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsKCkucGFuZUZvclNvdXJjZShsKT09PXImJm8mJm4pe3QucHVzaChzP2wuc3RhdHVzUHJvdmlkZXIoZT8uc3RhdHVzKS50ZXh0KCk6IiIpO2NvbnN0IG49KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIik/dGhpcy5fY2hhcnRNb2RlbCgpLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKT8ubGFzdEJhcigpPz9udWxsOm51bGwscj1sLmxlZ2VuZFZhbHVlc1Byb3ZpZGVyKCkuZ2V0VmFsdWVzKG4pO2kucHVzaChyKX19ZWxzZSBpZihsPT09dGhpcy5fY2hhcnRNb2RlbCgpLm1haW5TZXJpZXMoKSYmbyYmYS5zaG93U2VyaWVzVGl0bGUudmFsdWUoKSl7Y29uc3QgdD1sLnN0YXR1c1Byb3ZpZGVyKGU/LnN0YXR1c3x8e30pLmdldFNwbGl0VGl0bGUoKTtzPU9iamVjdC52YWx1ZXModCkuZmlsdGVyKChlPT4iIiE9PWUpKS5qb2luKCIgwrcgIik7Y29uc3QgaT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbGFzdF92aXNpYmxlX2Jhcl92YWx1ZV9pbl9sZWdlbmQiKT90aGlzLl9jaGFydE1vZGVsKCkudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpPy5sYXN0QmFyKCk/P251bGw6bnVsbDtuPWwubGVnZW5kVmFsdWVzUHJvdmlkZXIoKS5nZXRWYWx1ZXMoaSl9fXJldHVybnt0eXBlOiJwYW5lIixsZWZ0QXhpczp0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLHJpZ2h0QXhpczp0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLGNvbnRlbnQ6dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LnRvRGF0YVVSTCgpLGNhbnZhczp0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsY29udGVudFdpZHRoOnRoaXMuX3NpemUud2lkdGgsY29udGVudEhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxzdHVkaWVzOnQsc3R1ZGllc1ZhbHVlczppLGNvbnRhaW5zTWFpblNlcmllczp0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpLG1haW5TZXJpZXNUZXh0OnMsbWFpblNlcmllc1ZhbHVlczpufX11cGRhdGVQcmljZUF4aXNXaWRnZXRzU3RhdGVzKCl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm47Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCksdD1lLnBhbmVGb3JTb3VyY2UoZS5tYWluU2VyaWVzKCkpO2lmKHQpaWYodGhpcy5fc3RhdGU/Lm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcil7Y29uc3QgaT1lLnByaWNlU2NhbGVTbG90c0NvdW50KCkscz10aGlzLnN0YXRlKCksbj1zLnZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKSxyPXMudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKTt0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5zZXRTY2FsZXMobixpLmxlZnQsdC5sZWZ0UHJpY2VTY2FsZXMoKS5sZW5ndGgsaS5sZWZ0K2kucmlnaHQpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFNjYWxlcyhyLGkucmlnaHQsdC5yaWdodFByaWNlU2NhbGVzKCkubGVuZ3RoLGkubGVmdCtpLnJpZ2h0KX1lbHNlIHRoaXMuX3N0YXRlPy5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCYmKHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFBhbmUodGhpcy5fc3RhdGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFBhbmUodGhpcy5fc3RhdGUpKX11cGRhdGVQcmljZUF4aXNXaWRnZXRzKCl7dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIudXBkYXRlKCksdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIudXBkYXRlKCl9dXBkYXRlKCl7dGhpcy5oYXNTdGF0ZSgpJiYodGhpcy51cGRhdGVQcmljZUF4aXNXaWRnZXRzKCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZSgpLHRoaXMudXBkYXRlQ29udHJvbHMoKSl9dXBkYXRlU3RhdHVzV2lkZ2V0KGUpe3RoaXMuaGFzU3RhdGUoKSYmbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmKGUubGVnZW5kV2lkZ2V0TGF5b3V0SW52YWxpZGF0ZWQoKT90aGlzLl9sZWdlbmRXaWRnZXQudXBkYXRlTGF5b3V0KCk6dGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZSgpKX11cGRhdGVDb250cm9scygpe3RoaXMuaGFzU3RhdGUoKSYmbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmdGhpcy5fcGFuZUNvbnRyb2xzLnVwZGF0ZSgpfXVwZGF0ZVRoZW1lZENvbG9ycyhlKXt0aGlzLl90aGVtZWRUb3BDb2xvcj1lLnRvcENvbG9yLHRoaXMuX3VwZGF0ZUJ5VGhlbWVkQ29sb3JzKCl9c3RhdHVzV2lkZ2V0KCl7cmV0dXJuIHRoaXMuX2xlZ2VuZFdpZGdldH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX3Jvd0VsZW1lbnR9Y2FudmFzRWxlbWVudCgpe3JldHVybiB0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnR9Z2V0UmVuZGVyaW5nSW5mbygpe3JldHVybigwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKX1oYXNDYW52YXMoZSl7cmV0dXJuIHRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudD09PWV8fHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudD09PWV9cGluY2hTdGFydEV2ZW50KCl7cmV0dXJuIG51bGw9PT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNjcm9sbGluZ1BhbmUoKSYmbnVsbD09PXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUucGluY2hpbmdQYW5lKCkmJih0aGlzLl9vblRvdWNoRXZlbnQoKSwhIXRoaXMuX29wdGlvbnMuaGFuZGxlU2NhbGUucGluY2gmJih0aGlzLl9jaGFydE1vZGVsKCkuc3RvcFRpbWVTY2FsZUFuaW1hdGlvbigpLHRoaXMuX3ByZXZQaW5jaFNjYWxlPTEsdGhpcy5fcGluY2hpbmc9ITAsdGhpcy5fd2FzUGluY2hlZD0hMCx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNldFBpbmNoaW5nUGFuZSh0aGlzKSwhMCkpfQpwaW5jaEV2ZW50KGUsdCxpLHMpe2lmKG51bGwhPT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNjcm9sbGluZ1BhbmUoKXx8dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5waW5jaGluZ1BhbmUoKSE9PXRoaXMpcmV0dXJuO2lmKHRoaXMuX29uVG91Y2hFdmVudCgpLCF0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLnBpbmNoKXJldHVybjtjb25zdCBuPTEwKihzLXRoaXMuX3ByZXZQaW5jaFNjYWxlKTt0aGlzLl9wcmV2UGluY2hTY2FsZT1zLHRoaXMuX2NoYXJ0TW9kZWwoKS56b29tVGltZShlLngsbiwhMCksdGhpcy5fcHJldlBpbmNoU2NhbGU9c31waW5jaEVuZEV2ZW50KCl7bnVsbD09PXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuc2Nyb2xsaW5nUGFuZSgpJiZ0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnBpbmNoaW5nUGFuZSgpPT09dGhpcyYmKHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX3BpbmNoaW5nPSExLHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuc2V0UGluY2hpbmdQYW5lKG51bGwpKX1tb3VzZUNsaWNrRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VDbGlja09yVGFwRXZlbnQoZSl9dGFwRXZlbnQoZSl7dGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKXx8KHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpKX1tb3VzZURvd25FdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLmhhc1N0YXRlKCkmJnRoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUsdGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpKX10b3VjaFN0YXJ0RXZlbnQoZSl7aWYodGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5zdGFydFRvdWNoKHRoaXMpLHRoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCkpcmV0dXJuO2NvbnN0IHQ9IXRoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcCYmbnVsbCE9PVNuJiZTbi5zdGF0ZUlkPT09dGhpcy5zdGF0ZSgpLmlkKCkmJk1hdGguYWJzKFNuLngtZS5sb2NhbFgpK01hdGguYWJzKFNuLnktZS5sb2NhbFkpPDU7dGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fY2hhcnQuc2V0QWN0aXZlUGFuZVdpZGdldCh0aGlzKTtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZih0KXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKTtudWxsIT09aSYmaS5zb3VyY2U9PT10fHx0LnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCkhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lP3RoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpKTohdGhpcy5fY2hhcnQucmVhZE9ubHkoKSYmbnVsbCE9PWkmJigoMCxyaS5pc0xpbmVUb29sKShpLnNvdXJjZSkmJmkuc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpfHwoMCxxaS5pc0FsZXJ0TGFiZWwpKGkuc291cmNlKSkmJnRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKHQ9Pntjb25zdCBzPXt0eXBlOiJjaGFuZ2UiLG5ld1NlbGVjdGVkU291cmNlOmkuc291cmNlLGludGVyYWN0aW9uVHlwZTplLmlzVG91Y2g/InRvdWNoIjoicG9pbnRlciJ9O3Quc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKHMpJiYodC5jbGVhclNlbGVjdGlvbigpLHQuYWRkSXRlbVRvU2VsZWN0aW9uKGkuc291cmNlLGkuaGl0dGVzdC5kYXRhKCkpKX0pKX10aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlLGkpLHRoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKX1tb3VzZVVwRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKX10b3VjaEVuZEV2ZW50KGUpe3RoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuZW5kVG91Y2godGhpcyksdGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKXx8KHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX21vdXNlT3JUb3VjaExlYXZlRXZlbnQoZSksdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKSl9bW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXByZXNzZWRNb3VzZU1vdmVFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9jaGFydC5jaGFydEZsb2F0aW5nVG9vbHRpcFZpc2libGUoKT9udWxsIT09dGhpcy5fY2hhcnQuYWN0aXZlUGFuZVdpZGdldCgpLnZhbHVlKCkmJnRoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKTp0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXRvdWNoTW92ZUV2ZW50KGUpe3RoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCl8fCh0aGlzLl9vblRvdWNoRXZlbnQoKSx0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZShudWxsLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSx0aGlzLl9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpfW1vdXNlRG91YmxlQ2xpY2tFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX13aGVlbENsaWNrRXZlbnQoZSl7aWYodGhpcy5fY2hhcnQucmVhZE9ubHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYobnVsbD09PXR8fHQuaXNDdXN0b20pcmV0dXJuO2lmKCh0LmhpdHRlc3QudGFyZ2V0KCl8fDApPD1NaS5IaXRUYXJnZXQuTW92ZVBvaW50QmFja2dyb3VuZClyZXR1cm47Y29uc3QgaT1uZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSxzPXQuaGl0dGVzdC5lcmFzZU1hcmtlcigpCjtpZihpLm1vZCgpJiZ2b2lkIDAhPT1zJiZ0LnNvdXJjZS5wcm9jZXNzRXJhc2UpcmV0dXJuIHZvaWQgdC5zb3VyY2UucHJvY2Vzc0VyYXNlKHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscyk7Y29uc3Qgbj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO24uc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0LnNvdXJjZSl8fG4uc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlKTtlLmFkZEl0ZW1Ub1NlbGVjdGlvbihpLHVuKHQsaSkpfSkpLHRoaXMuX2NoYXJ0LnJlbW92ZVNlbGVjdGVkU291cmNlcygpfWRvdWJsZVRhcEV2ZW50KGUpe3RoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCl8fCh0aGlzLl9vblRvdWNoRXZlbnQoKSx0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKSl9bG9uZ1RhcEV2ZW50KGUpe2lmKG51bGw9PT10aGlzLl9zdGF0ZXx8dGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKSlyZXR1cm47aWYodGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fbG9uZ1RhcD0hMCxudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50fHwhdGhpcy5fdHJhY2tpbmdNb2RlU2hvdWxkQmVBY3RpdmUoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsKCkuc2VsZWN0aW9uKCk7aWYoIXQuaXNFbXB0eSgpKXtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZihudWxsIT09aSYmdC5pc1NlbGVjdGVkKGkuc291cmNlKSlyZXR1cm59dGhpcy5zdGFydFRyYWNraW5nTW9kZShuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksbmV3IExpLkVudmlyb25tZW50U3RhdGUoZSkpfW1vdXNlRW50ZXJFdmVudChlKXtpZih0aGlzLl9vbk1vdXNlRXZlbnQoKSwhdGhpcy5oYXNTdGF0ZSgpKXJldHVybjt0aGlzLl9jaGFydC5zZXRBY3RpdmVQYW5lV2lkZ2V0KHRoaXMpO2NvbnN0IHQ9dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO3RoaXMuX3VwZGF0ZUhvdmVyZWRTb3VyY2UodCxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSksdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9Y29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9jb250ZXh0TWVudUV2ZW50KGUpfXRvdWNoQ29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9wcmV2ZW50VG91Y2hFdmVudHNFeGNlcHRQaW5jaCgpfHwodGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fY29udGV4dE1lbnVFdmVudChlKSl9bW91c2VEb3duT3V0c2lkZUV2ZW50KGUpe3RoaXMuX3Byb2Nlc3NPdXRzaWRlQ2xpY2sobnVsbCxlKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KGUpe3RoaXMuX3Byb2Nlc3NPdXRzaWRlQ2xpY2sobnVsbCxlKX1jYW5jZWxab29tKCl7dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmNsZWFyU2VsZWN0aW9uKCksdGhpcy5fZmlyc3Rab29tUG9pbnQ9bnVsbCx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCl9c3RhcnRUcmFja2luZ01vZGUoZSx0LGkpe3RoaXMuc3RhdGUoKS5tb2RlKCkhPT1NLlBhbmVNb2RlLldpZGdldCYmKHRoaXMuX3N0YXJ0Q2hhbmdlTGluZVRvb2xQYXJhbXM9bnVsbCx0aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3Q9bnVsbCx0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdD1udWxsLHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpLHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1lLHRoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITEsdGhpcy5zZXRDdXJzb3JQb3NpdGlvbih0LngsdC55LGkpLHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuY3VycmVudFBvaW50KCkpfXNldERyYWdUb0Fub3RoZXJQYW5lQ3Vyc29yKCl7dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJncmFiYmluZyIpfWNsb25lTGluZVRvb2xzKGUsdCl7cmV0dXJuIHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY2xvbmVMaW5lVG9vbHMoZSx0KX1leGl0VHJhY2tpbmdNb2RlKCl7bnVsbCE9PXRoaXMuX3N0YXRlJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50JiYodGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeT0hMCx0aGlzLl90cnlFeGl0VHJhY2tpbmdNb2RlKCkpfXRyYWNraW5nTW9kZUVuYWJsZWQoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3N0YXRlJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50fWFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl7dGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkJiYodGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAuc2V0KGUsdCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LmFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCkpfWNvbnRhaW5zTWFpblNlcmllcygpe3JldHVybiEhdGhpcy5oYXNTdGF0ZSgpJiZ0aGlzLnN0YXRlKCkuY29udGFpbnNNYWluU2VyaWVzKCl9cGFpbnQoZSx0KXtpZighdGhpcy5fY2hhcnRVbmRvTW9kZWwoKXx8IXRoaXMuaGFzU3RhdGUoKXx8MD09PXRoaXMuX3NpemUud2lkdGh8fDA9PT10aGlzLl9zaXplLmhlaWdodClyZXR1cm47KDAsS3QudHJ5QXBwbHlTdWdnZXN0ZWRDYW52YXNCaXRtYXBTaXplKSh0aGlzLl9jYW52YXNCaW5kaW5nKSwoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcpLAp0aGlzLl9zdGF0ZSYmKGUucHJpY2VTY2FsZVNpZGVNYXhMZXZlbCgibGVmdCIpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvcnx8ZS5wcmljZVNjYWxlU2lkZU1heExldmVsKCJyaWdodCIpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvcikmJih0aGlzLl9yZWNhbGN1bGF0ZVByaWNlU2NhbGVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKHRoaXMuc3RhdGUoKSkpLG51bGwhPT1TbiYmU24uc3RhdGVJZD09PXRoaXMuc3RhdGUoKS5pZCgpJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCk/dGhpcy5zZXRDdXJzb3JQb3NpdGlvbihTbi54LFNuLnksU24uZW52U3RhdGUpOnRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS52aXNpYmxlP3RoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcCYmbnVsbD09PXRoaXMuX3N0YXJ0VHJhY2tQb2ludCYmIXRoaXMuX2Nyb3NzSGFpclNob3VsZEJlVmlzaWJsZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKFNuLngsU24ueSxTbi5lbnZTdGF0ZSk6U249bnVsbCkpO2NvbnN0IGk9ZS5mdWxsSW52YWxpZGF0aW9uKCk7aWYoaT5MZS5JbnZhbGlkYXRpb25MZXZlbC5DdXJzb3ImJm51bGwhPT1TbiYmU24uc3RhdGVJZD09PXRoaXMuc3RhdGUoKS5pZCgpKXtjb25zdCBlPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KFNuLngsU24ueSk7dGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZShlLCgwLFh0Lmdsb2JhbEVudmlyb25tZW50U3RhdGUpKCkpfWlmKHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLnBhaW50KGUuZ2V0dGVyRm9yUHJpY2VTY2FsZUludmFsaWRhdGlvbkxldmVsQnlTaWRlKCJsZWZ0IiksdCksdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIucGFpbnQoZS5nZXR0ZXJGb3JQcmljZVNjYWxlSW52YWxpZGF0aW9uTGV2ZWxCeVNpZGUoInJpZ2h0IiksdCksaT09PUxlLkludmFsaWRhdGlvbkxldmVsLk5vbmUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fc3RhdGUmJih0aGlzLl9zdGF0ZS5tYXhpbWl6ZWQoKS52YWx1ZSgpfHwhdGhpcy5fc3RhdGUuY29sbGFwc2VkKCkudmFsdWUoKXx8dGhpcy5fc3RhdGUubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQpO2lmKGk+TGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIikpO2Uuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtjb25zdCB0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTt0aGlzLl9tYWtlU3VyZUlzVXBkYXRlZCh0KSx0aGlzLl9kcmF3QmFja2dyb3VuZChlLHQpLHMmJnRoaXMuX2RyYXdTb3VyY2VzKGUsdCl9aWYobnVsbCE9PXRoaXMuX3N0YXRlKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIikpO2Uuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtjb25zdCB0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl90b3BDYW52YXNCaW5kaW5nKTtlLmNsZWFyUmVjdCgwLDAsdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQpLHMmJnRoaXMuX2RyYXdUb3BWaWV3cyhlLHQpLHRoaXMuX2RyYXdDcm9zc0hhaXIoZSx0KSxzJiZ0aGlzLl9kcmF3QWN0aXZlTGluZVRvb2xzKGUsdCl9dGhpcy5fdXBkYXRlRW5kT2ZTZXJpZXNCYW5uZXIoKX1jYW5jZWxDcmVhdGluZ0xpbmVUb29sKCl7Y29uc3QgZT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5saW5lQmVpbmdDcmVhdGVkKCk7aWYodClpZih0LnBvaW50c0NvdW50KCk8PTAmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKHQudG9vbG5hbWUpKXtjb25zdCBpPXQucG9pbnRzKCk7aWYoaS5sZW5ndGg+Mil7Y29uc3Qgcz1pW2kubGVuZ3RoLTJdO2UuY29udGludWVDcmVhdGluZ0xpbmUocyksdGhpcy5fZmluaXNoVG9vbCh0KX1lbHNlIGUuY2FuY2VsQ3JlYXRpbmdMaW5lKCl9ZWxzZSBlLmNhbmNlbENyZWF0aW5nTGluZSgpO251bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludCYmdGhpcy5jYW5jZWxab29tKCksdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpfWFzeW5jIGRyYXdSaWdodFRoZXJlKGUsdCl7dGhpcy5oYXNTdGF0ZSgpJiYoYXdhaXQoMCxraS5lbnN1cmVMaW5lVG9vbExvYWRlZCkoZSksdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5kcmF3UmlnaHRUaGVyZShlLHRoaXMuc3RhdGUoKSx2b2lkIDAsdCkpfWNhbmNlbE1lYXN1cmluZygpe3RoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuY2xlYXJNZWFzdXJlKCksKDAsVC5yZXNldFRvQ3Vyc29yKSgpLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpfWFzeW5jIHNldEVycm9yTWVzc2FnZShlKXtpZighZSYmIXRoaXMuX2Vycm9yUmVuZGVyZXIpcmV0dXJuO2lmKCF0aGlzLl9lcnJvclJlbmRlcmVyKXt0aGlzLl9lcnJvclJlbmRlcmVyPXRoaXMuX2NyZWF0ZUVycm9yQmxvY2soKTtjb25zdCBlPWF3YWl0IHRoaXMuX2Vycm9yUmVuZGVyZXI7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuO3RoaXMuX2Rpdi5pbnNlcnRCZWZvcmUoZS5jb250YWluZXIsdGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50Lm5leHRTaWJsaW5nKX1sZXQgdDtpZihlKXtjb25zdCBpPXRoaXMuX3N0YXRlPy5jb250YWluc01haW5TZXJpZXMoKXx8dGhpcy5fc3RhdGU/Lm1heGltaXplZCgpLnZhbHVlKCk7dD17bWVzc2FnZTppP2UubWVzc2FnZTp2b2lkIDAsdGl0bGU6ZS50aXRsZSxpY29uOmk/ZS5pY29uOnZvaWQgMCxiYWNrZ3JvdW5kQ29sb3I6YGxpbmVhci1ncmFkaWVudCgke3RoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpfSwgJHt0aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKX0pYCx0aGVtZTp0aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZFRoZW1lKCkudmFsdWUoKSwKYnV0dG9uczp0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpP2UuYnV0dG9uczp2b2lkIDAsbWFpblBhbmU6aX19KGF3YWl0IHRoaXMuX2Vycm9yUmVuZGVyZXIpLnVwZGF0ZSh0KX1jb2xsYXBzZWRIZWlnaHQoKXtyZXR1cm4gTWF0aC5tYXgoTWF0aC5jZWlsKHRoaXMuX3BhbmVDb250cm9scz8uYm90dG9tV2l0aE1hcmdpbigpPz8wKSwzMyl9dmlzdWFsbHlDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fdmlzdWFsbHlDb2xsYXBzZWQucmVhZG9ubHkoKX1tYXhpbWl6ZWQoKXtyZXR1cm4gdGhpcy5fbWF4aW1pemVkLnJlYWRvbmx5KCl9c2V0Q3Vyc29yUG9zaXRpb24oZSx0LGkpe3RoaXMuX3VwZGF0ZUxhc3RDcm9zc2hhaXJQb3NpdGlvbihlLHQsaSksdGhpcy5fY2hhcnRNb2RlbCgpLnNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24odGhpcy5fY29ycmVjdFhDb29yZChlKSx0aGlzLl9jb3JyZWN0WUNvb3JkKHQpLHRoaXMuc3RhdGUoKSxpKX1kYXRhU291cmNlQXRQb2ludChlLHQpe3JldHVybiB0aGlzLl9kYXRhU291cmNlQXRQb2ludChlLHQpPy5zb3VyY2U/P251bGx9X3RyeUV4aXRUcmFja2luZ01vZGUoZSl7dGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeSYmKHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1udWxsLGV8fHRoaXMuX2NsZWFyQ3Vyc29yUG9zaXRpb24oKSl9X3RyeVN0YXJ0TWVhc3VyZShlLHQsaSxzLG4pe3JldHVybiEoISgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpfHx0LnN0YXJ0TWVhc3VyZVBvaW50KCkpJiYoZS5pc1RvdWNofHx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLGkpLHM9dGhpcy5fY2hhcnRNb2RlbCgpLm1hZ25ldCgpLmFsaWduKHMsbix0aGlzLnN0YXRlKCkpLHQuc3RhcnRNZWFzdXJpbmcoe3ByaWNlOnMsaW5kZXg6bn0sdGhpcy5zdGF0ZSgpKSwhMCl9X3RyeUZpbmlzaE1lYXN1cmUoZSx0KXtpZih0LnN0YXJ0TWVhc3VyZVBvaW50KCkmJiF0LmVuZE1lYXN1cmVQb2ludCgpKXtsZXQgaT10LnByaWNlO2NvbnN0IHM9dC5pbmRleDtyZXR1cm4gaT10aGlzLl9jaGFydE1vZGVsKCkubWFnbmV0KCkuYWxpZ24oaSxzLHRoaXMuc3RhdGUoKSksdC5maW5pc2hNZWFzdXJlKHtwcmljZTppLGluZGV4OnN9KSxlLmlzVG91Y2g/KDAsVC5yZXNldFRvQ3Vyc29yKSgpOnRoaXMuX25lZWRSZXNldE1lYXN1cmVMYXRlcj0hMCx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCksITB9cmV0dXJuITF9X3RyeVN0YXJ0Wm9vbShlLHQsaSxzKXtjb25zdCBuPXRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKS56b29tRW5hYmxlZCgpO2lmKCJ6b29tIj09PVQudG9vbC52YWx1ZSgpJiZuKXtjb25zdCBuPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscj1uLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKGkpLS41Km4udGltZVNjYWxlKCkuYmFyU3BhY2luZygpO3JldHVybiB0aGlzLl9maXJzdFpvb21Qb2ludD17cHJpY2U6dCxpbmRleDppLHg6cix5OmUubG9jYWxZfSx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLHMpLHRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5zdGFydFNlbGVjdGlvbih0aGlzLnN0YXRlKCkpLCEwfXJldHVybiExfV9maW5pc2hab29tKGUpe2NvbnN0IHQ9dGhpcy5zdGF0ZSgpLGk9dC5kZWZhdWx0UHJpY2VTY2FsZSgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0Lm1haW5EYXRhU291cmNlKCkpLmZpcnN0VmFsdWUoKSxuPWkuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksKDAsbC5lbnN1cmVOb3ROdWxsKShzKSkscj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLG89TWF0aC5yb3VuZChyLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSksYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2ZpcnN0Wm9vbVBvaW50KTtvIT09YS5pbmRleCYmci56b29tVG9WaWV3cG9ydChhLmluZGV4LG8sYS5wcmljZSxuLHQpLHRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jbGVhclNlbGVjdGlvbigpLHRoaXMuX2ZpcnN0Wm9vbVBvaW50PW51bGwsKDAsVC5yZXNldFRvQ3Vyc29yKSgpLHRoaXMuX3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCkmJnRoaXMuX2NsZWFyQ3Vyc29yUG9zaXRpb24oKX1fdHJ5RmluaXNoWm9vbShlKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2ZpcnN0Wm9vbVBvaW50JiYodGhpcy5fZmluaXNoWm9vbShlKSwhMCl9X3RyeUhhbmRsZUVyYXNlck1vdXNlRG93bihlLHQpe2lmKCgwLFQudG9vbElzRXJhc2VyKShULnRvb2wudmFsdWUoKSkmJiFlLmlzQ3VzdG9tJiYoIShpPWUuc291cmNlKXx8IWkuY3VzdG9taXphdGlvbnx8IWkuY3VzdG9taXphdGlvbi5kaXNhYmxlRXJhc2luZykpe2NvbnN0IGk9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZigoMCxyaS5pc0xpbmVUb29sKShlLnNvdXJjZSl8fCgwLHRpLmlzU3R1ZHkpKGUuc291cmNlKSl7Y29uc3Qgcz1lLmhpdHRlc3QuZXJhc2VNYXJrZXIoKTtyZXR1cm4gdC5tb2QoKSYmdm9pZCAwIT09cyYmZS5zb3VyY2UucHJvY2Vzc0VyYXNlP2Uuc291cmNlLnByb2Nlc3NFcmFzZShpLHMpOmkucmVtb3ZlU291cmNlKGUuc291cmNlLCExKSwhMH19dmFyIGk7cmV0dXJuITF9X3RyeVN0YXJ0Q2hhbmdpbmdMaW5lVG9vbChlLHQsaSxzKXtpZihlLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQpcmV0dXJuITE7Y29uc3Qgbj10LmhpdHRlc3Q7aWYoKCFlLmlzVG91Y2h8fCF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKSYmbiYmKDAscmkuaXNMaW5lVG9vbCkodC5zb3VyY2UpJiZuLnRhcmdldCgpPT09TWkuSGl0VGFyZ2V0LkNoYW5nZVBvaW50KXtjb25zdCByPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbz0oMCxsLmVuc3VyZSkodGhpcy5zdGF0ZSgpLm1haW5EYXRhU291cmNlKCk/LmZpcnN0VmFsdWUoKSksYT1uLmRhdGEoKT8ub3duZXJTb3VyY2VJZCxjPSgwLApsLmVuc3VyZU5vdE51bGwpKGE/dGhpcy5fY2hhcnRNb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChhKTp0LnNvdXJjZS5vd25lclNvdXJjZSgpKSxoPSgwLGwuZW5zdXJlTm90TnVsbCkoYy5wcmljZVNjYWxlKCkpLmNvb3JkaW5hdGVUb1ByaWNlKGUubG9jYWxZLG8pO3Iuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksZS5hZGRJdGVtVG9TZWxlY3Rpb24odC5zb3VyY2Usbi5kYXRhKCkpfSkpO2xldCBkPWg7dC5zb3VyY2UucHJpY2VTY2FsZSgpPT09ci5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYoZD1yLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24oaCxzLHRoaXMuc3RhdGUoKSkpO2NvbnN0IHU9bi5kYXRhKCk/Lm5vbkRpc2NyZXRlSW5kZXg7dSYmKHM9ci50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9GbG9hdEluZGV4KGUubG9jYWxYKSk7Y29uc3QgcD1uLmRhdGEoKT8ucG9pbnRJbmRleDtyZXR1cm4gdGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtcz17c291cmNlOnQuc291cmNlLG93bmVyU291cmNlOmMsc3RhcnRQb2ludDp7aW5kZXg6cyxwcmljZTpkLG5vbkRpc2NyZXRlSW5kZXg6dX0sc2NyZWVuUG9pbnQ6e3g6ZS5sb2NhbFgseTplLmxvY2FsWX0scG9pbnRJbmRleDpwLGVudlN0YXRlOml9LCEwfXJldHVybiB0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGwsITF9X3RyeVN0YXJ0Q2xvbmluZyhlLHQsaSxzKXtpZihpLm1vZCgpKXtjb25zdCB0PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PmUuY2xvbmVhYmxlKCkpKTtpZihzJiZzLmNsb25lYWJsZSgpJiZ0LnB1c2gocyksdC5sZW5ndGg+MClyZXR1cm4gdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHM9dC5tYXAoKGU9PmUuaWQoKSkpLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksITB9cmV0dXJuITF9X3RyeUZpbmlzaENsb25uaW5nKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj10aGlzLl9jaGFydE1vZGVsKCk7aWYodC5tb2QoKSYmdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHMpe2NvbnN0IHI9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRDbG9uaW5nUG9pbnQpLnN1YnRyYWN0KHIpLmxlbmd0aCgpLGE9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHMpe2NvbnN0IHQ9bi5kYXRhU291cmNlRm9ySWQoZSk7bnVsbCE9PXQmJmEucHVzaCh0KX1pZigwPT09YS5sZW5ndGgpcmV0dXJuITE7aWYobz44KXtjb25zdCBuPXRoaXMuY2xvbmVMaW5lVG9vbHMoYSwhMCkubWFwKChlPT4oMCxsLmVuc3VyZU5vdE51bGwpKHMubW9kZWwoKS5kYXRhU291cmNlRm9ySWQoZSkpKSk7cy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKTtsZXQgdD1udWxsO24uZm9yRWFjaCgocz0+e251bGw9PT10JiYodD11bihpLHMpKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbihzLHQpfSkpfSkpO2NvbnN0IHI9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkoblswXS5wcmljZVNjYWxlKCkpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSkuZmlyc3RWYWx1ZSgpLGg9e2luZGV4OnMudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgoZS5sb2NhbFgpLHByaWNlOm8uY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksKDAsbC5lbnN1cmVOb3ROdWxsKShjKSl9O3Muc3RhcnRNb3ZpbmdTb3VyY2VzKG4se2xvZ2ljYWw6aCxzY3JlZW46cn0sbnVsbCx0KSx0aGlzLl9jbG9ubmluZ0F0TW92ZUxpbmVUb29scz1udWxsLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW51bGx9cmV0dXJuITB9cmV0dXJuITF9X21vdXNlRG93bkV2ZW50Rm9yTGluZVRvb2woZSx0LGkscyl7Y29uc3Qgbj1ULnRvb2wudmFsdWUoKTtpZighdGhpcy5oYXNTdGF0ZSgpfHwoMCxtLmlzTGluZVRvb2xEcmF3V2l0aG91dFBvaW50cykobil8fHRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldClyZXR1cm47Y29uc3Qgcj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2xldCBvPSExLGE9bnVsbDsoMCxULmhpZGVBbGxEcmF3aW5ncykoKS52YWx1ZSgpJiYoMCxSdC50b2dnbGVIaWRlT3B0aW9ucykoITEpLCgwLFQubG9ja0RyYXdpbmdzKSgpLnNldFZhbHVlKCExKSxlLmlzVG91Y2gmJiFlLnN0eWx1cyYmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKG4pJiYhKDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShuKXx8ci5saW5lQmVpbmdDcmVhdGVkKCkpJiZ0aGlzLl9pbml0VG9vbENyZWF0aW9uTW9kZVBhcmFtcyhlKTtjb25zdCBjPXIubGluZUJlaW5nQ3JlYXRlZCgpO2lmKGMmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGMudG9vbG5hbWUpKXtjb25zdCBuPSgwLGwuZW5zdXJlKShjLm93bmVyU291cmNlKCk/LmZpcnN0VmFsdWUoKSk7aWYoZS5pc1RvdWNoJiYhZS5zdHlsdXMpe2lmKCF0aGlzLl9zdGFydFRvdWNoUG9pbnQpe3RoaXMuX3N0YXJ0VG91Y2hQb2ludD1uZXcgUHQuUG9pbnQoZS5wYWdlWCxlLnBhZ2VZKTtjb25zdCB0PWMucG9pbnRzKCksaT10W3QubGVuZ3RoLTFdLHM9ci50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZShpLmluZGV4KSxvPSgwLGwuZW5zdXJlTm90TnVsbCkoYy5wcmljZVNjYWxlKCkpLnByaWNlVG9Db29yZGluYXRlKGkucHJpY2Usbik7cmV0dXJuIHZvaWQodGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPW5ldyBQdC5Qb2ludChzLG8pKX19ZWxzZSBpZighZS5pc1RvdWNoKXthPWM7Y29uc3QgaD1yLm1vZGVsKCkucGFuZUJlaW5nQ3JlYXRlZExpbmVPbigpO2lmKGghPT10aGlzLl9zdGF0ZSYmbnVsbCE9PWgpe2NvbnN0IGk9dGhpcy5fZXh0ZXJuYWxQYW5lWENvb3JkKGgsZS5sb2NhbFgpLHM9dGhpcy5fZXh0ZXJuYWxQYW5lWUNvb3JkKGgsZS5sb2NhbFkpO289ci5jb250aW51ZUNyZWF0aW5nTGluZSh7CmluZGV4Ok1hdGgucm91bmQoci50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9JbmRleChpKSkscHJpY2U6KDAsbC5lbnN1cmUpKGMucHJpY2VTY2FsZSgpPy5jb29yZGluYXRlVG9QcmljZShzLG4pKX0sdCl9ZWxzZXtjb25zdCBlPXIubW9kZWwoKS5tYWduZXQoKS5hbGlnbihzLGksdGhpcy5zdGF0ZSgpKTtvPXIuY29udGludWVDcmVhdGluZ0xpbmUoe2luZGV4OmkscHJpY2U6ZX0sdCl9fX1lbHNle2NvbnN0IHQ9KDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShuKTtpZighZS5pc1RvdWNofHxlLnN0eWx1c3x8dCl7Y29uc3QgZT1udWxsPT09Y3x8KDAscmkuaXNCcnVzaEJhc2VkTGluZVRvb2wpKGMpJiZjLmhhc09ubHlPbmVQb2ludCgpLGw9e2luZGV4OmkscHJpY2U6dCYmIWU/czpyLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24ocyxpLHRoaXMuc3RhdGUoKSl9O2E9ci5jcmVhdGVMaW5lVG9vbCh7cGFuZTp0aGlzLnN0YXRlKCkscG9pbnQ6bCxsaW5ldG9vbDpuLGFjdGlvblNvdXJjZToiRHJhdyIsa2VlcFNlbGVjdGVkR3JvdXA6ITB9KSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbyYmKHRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLnRvb2xDcmVhdGlvbj0hMCksci5saW5lQmVpbmdDcmVhdGVkKCl8fChvPSEwKX19Y29uc3QgaD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7YSYmci5zZWxlY3Rpb25NYWNybygoZT0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKCgwLGwuZW5zdXJlTm90TnVsbCkoYSksaD8uaGl0dGVzdC5kYXRhKCkpfSkpLG8mJmEmJih0aGlzLl9maW5pc2hUb29sKGEsaCksZS5wcmV2ZW50RGVmYXVsdCgpKX1faGFuZGxlU2VsZWN0aW9uTW91c2VEb3duQW5kR2V0SnVzdERlc2VsZWN0ZWRTb3VyY2UoZSx0LGkpe2NvbnN0IHM9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtsZXQgbj1udWxsO2lmKG51bGw9PT10fHx0LnNvdXJjZS5pc1NlbGVjdGlvbkVuYWJsZWQoKSl7Y29uc3Qgcj10Py5oaXR0ZXN0LmRhdGEoKT8uc2tpcFNvdXJjZVNlbGVjdGlvbjtzLnNlbGVjdGlvbk1hY3JvKChzPT57aWYodGhpcy5fcHJldmVudFNvdXJjZUNoYW5nZXx8bnVsbD09PXR8fHJ8fCEoZS5pc1RvdWNoP3QuaGl0dGVzdC50YXJnZXQoKT49TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQ6dC5oaXR0ZXN0LnRhcmdldCgpPk1pLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kKSl7aWYoIWkubW9kKCkpe2NvbnN0IHQ9e3R5cGU6ImNsZWFyIixpbnRlcmFjdGlvblR5cGU6ZS5pc1RvdWNoPyJ0b3VjaCI6InBvaW50ZXIifTtzLnNlbGVjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZSh0KSYmcy5jbGVhclNlbGVjdGlvbigpLHRoaXMuX2Nsb25uaW5nQXRNb3ZlTGluZVRvb2xzPW51bGwsdGhpcy5fc3RhcnRDbG9uaW5nUG9pbnQ9bnVsbH19ZWxzZSBpLm1vZCgpfHxzLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodC5zb3VyY2UpfHxzLmNsZWFyU2VsZWN0aW9uKCksaS5tb2QoKSYmcy5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHQuc291cmNlKT8obj10LnNvdXJjZSxzLnJlbW92ZUl0ZW1Gcm9tU2VsZWN0aW9uKHQuc291cmNlKSk6cy5hZGRJdGVtVG9TZWxlY3Rpb24odC5zb3VyY2UsdC5oaXR0ZXN0LmRhdGEoKSkscy5zZWxlY3Rpb24oKS5hbGxJdGVtcygpLmxlbmd0aD4xJiYoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiTXVsdGlzZWxlY3QiLCJDbGljayBTZWxlY3QiKX0pKX1yZXR1cm4gbn1fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlLHQpe3RoaXMuX3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCl8fHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24oZS5sb2NhbFgsZS5sb2NhbFksdCl9X3VwZGF0ZUNvbW1vblRvb2x0aXAoZSx0KXtsZXQgaT1udWxsO2lmKG51bGwhPT1lJiZudWxsIT09ZS5oaXR0ZXN0KXtjb25zdCB0PWUuaGl0dGVzdC5kYXRhKCk7dCYmKGk9dC50b29sdGlwfHxudWxsKX1pZihudWxsPT09dGhpcy5fcHJldlRvb2x0aXBEYXRhJiZudWxsPT09aSlyZXR1cm47aWYobnVsbD09PWl8fCIiPT09aS50ZXh0KXJldHVybiB0aGlzLl9wcmV2VG9vbHRpcERhdGE9bnVsbCx2b2lkKDAsS3MuaGlkZSkodCk7aWYodGhpcy5fcHJldlRvb2x0aXBEYXRhJiYoMCxzLmRlZmF1bHQpKGksdGhpcy5fcHJldlRvb2x0aXBEYXRhKSlyZXR1cm47dGhpcy5fcHJldlRvb2x0aXBEYXRhPWk7Y29uc3Qgbj0oMCxhLmNsb25lKShpKTtpZih2b2lkIDAhPT1uLnJlY3Qpe2NvbnN0IGU9dGhpcy5fcGFuZUNlbGwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bi5yZWN0LngrPWUubGVmdCxuLnJlY3QueSs9ZS50b3B9KDAsS3Muc2hvdykobil9X3NldEN1cnNvclBvc2l0aW9uT25FeHRlcm5hbFBhbmUoZSx0LGkscyl7dD10aGlzLl9leHRlcm5hbFBhbmVYQ29vcmQoZSx0KSxpPXRoaXMuX2V4dGVybmFsUGFuZVlDb29yZChlLGkpO3RoaXMuX2NoYXJ0LnBhbmVCeVN0YXRlKGUpLnNldEN1cnNvclBvc2l0aW9uKHQsaSxzKX1fdXBkYXRlTGFzdENyb3NzaGFpclBvc2l0aW9uKGUsdCxpKXtjb25zdCBzPXRoaXMuc3RhdGUoKS5pZCgpO1NuPXt4OmUseTp0LGVudlN0YXRlOmksc3RhdGVJZDpzfX1fc2V0Q3Vyc29yQ2xhc3NOYW1lKGUpe2xldCB0PSIiO2UmJih0PSJwYW5lLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX3BhbmVDZWxsLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZSksdCYmdGhpcy5fcGFuZUNlbGwuY2xhc3NMaXN0LmFkZCh0KSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lPXQsdGhpcy5fcGFuZUNlbGwuc3R5bGUuY3Vyc29yKX1fcHJvY2Vzc01vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlKXtjb25zdCB0PXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZihudWxsIT09dCl7Y29uc3QgaT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0KTt0LmhpdHRlc3QudHJ5Q2FsbE1vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlLHtzb3VyY2VXYXNTZWxlY3RlZDppfSl9fV9jcm9zc0hhaXJTaG91bGRCZVZpc2libGUoKXsKY29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCk7cmV0dXJuKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHwoMCxULnRvb2xJc01lYXN1cmUpKFQudG9vbC52YWx1ZSgpKXx8ZS5zdGFydE1lYXN1cmVQb2ludCgpJiYhZS5lbmRNZWFzdXJlUG9pbnQoKXx8bnVsbCE9PXRoaXMuX2ZpcnN0Wm9vbVBvaW50fHxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCgpLmxpbmVCZWluZ0VkaXRlZCgpfHxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCgpLmxpbmVCZWluZ0NyZWF0ZWQoKX1fY2xlYXJDdXJzb3JQb3NpdGlvbigpe1NuPW51bGwsdGhpcy5fY2hhcnRNb2RlbCgpLmNsZWFyQ3VycmVudFBvc2l0aW9uKCl9X2RhdGFTb3VyY2VBdFBvaW50KGUsdCl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXtyZXN1bHQ6bnVsbH0scz10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2lmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKFQudG9vbC52YWx1ZSgpKXx8bnVsbCE9PXMubGluZUJlaW5nQ3JlYXRlZCgpKXJldHVybiBpLnJlc3VsdDtpZih0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3QpcmV0dXJuIHRoaXMuX2N1cnJlbnRDaGFuZ2luZ0xpbmVUb29sSGl0VGVzdDtjb25zdCBuPW5ldyBTZXQ7aWYodGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3QmJnRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0LnNvdXJjZUF0UG9pbnQuaGl0dGVzdC5kYXRhKCkpe2lmKCF0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5jYW5jZWxsZWRDb250YWluZXI/LmNhbmNlbGxlZClyZXR1cm4gdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Quc291cmNlQXRQb2ludDtuLmFkZCh0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50LnNvdXJjZS5pZCgpKX1pZih0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdCYmdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Quc291cmNlQXRQb2ludC5oaXR0ZXN0LmRhdGEoKSYmIXRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0LmNhbmNlbGxlZENvbnRhaW5lcj8uY2FuY2VsbGVkKXJldHVybiB0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50O2NvbnN0IHI9dGhpcy5zdGF0ZSgpLG89KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO3RoaXMuX21ha2VTdXJlSXNVcGRhdGVkKG8pO2NvbnN0IGE9cG4uYmluZChudWxsLGkpLGw9bmV3IFB0LlBvaW50KGUsdCk7aWYoIXIubWF4aW1pemVkKCkudmFsdWUoKSYmci5jb2xsYXBzZWQoKS52YWx1ZSgpfHwoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gmJihULmFjdGl2ZVBvaW50U2VsZWN0aW9uTW9kZS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZXx8bnVsbCE9PXRoaXMuX3N0YXJ0VHJhY2tQb2ludCkpcmV0dXJuIHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sW3MuY3Jvc3NoYWlyU291cmNlKCldLGwsYSwhMSxuKSxpLnJlc3VsdDtjb25zdCBjPXIuc291cmNlc0J5R3JvdXAoKSxoPXMuc2VsZWN0aW9uKCksZD1oLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT5lLmlzTXVsdGlQYW5lRW5hYmxlZCgpfHxzLnBhbmVGb3JTb3VyY2UoZSk9PT1yKSk7dGhpcy5faGl0VGVzdFNvdXJjZXMobyxkLGwsYSwhMSxuKSx0aGlzLl9oaXRUZXN0U291cmNlcyhvLGguY3VzdG9tU291cmNlcygpLGwsYSwhMCxuKSxoLmFsbFNvdXJjZXMoKS5mb3JFYWNoKChlPT5uLmFkZChlLmlkKCkpKSksdGhpcy5faGl0VGVzdFNvdXJjZXMobyxbcy5jcm9zc2hhaXJTb3VyY2UoKV0sbCxhLCExLG4pLHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sci5jdXN0b21Tb3VyY2VzKElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpLGwsYSwhMCxuKSx0aGlzLl9oaXRUZXN0U291cmNlcyhvLGMudHJhZGluZ1NvdXJjZXMoKSxsLGEsITEsbiksdGhpcy5faGl0VGVzdFNvdXJjZXMobyxyLmN1c3RvbVNvdXJjZXMoSWkuQ3VzdG9tU291cmNlTGF5ZXIuRm9yZWdyb3VuZCksbCxhLCEwLG4pO2NvbnN0IHU9Yy5oaXRUZXN0U291cmNlcygpO2lmKHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sdSxsLGEsITEsbiksdGhpcy5jb250YWluc01haW5TZXJpZXMoKSl7Y29uc3QgZT1zLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKTtpZihudWxsIT09ZSYmIW4uaGFzKGUuaWQoKSkpe2NvbnN0IHQ9ZS5zdHJhdGVneU9yZGVyc1BhbmVWaWV3KCk7aWYobnVsbCE9PXQpe2NvbnN0IHM9dC5yZW5kZXJlcihvKTtpZihudWxsIT09cyl7Y29uc3QgdD1zLmhpdFRlc3QobCxvKTt0JiZwbihpLHQsZSxzLCExKX19fX1yZXR1cm4gbnVsbD09PWkucmVzdWx0JiZ0aGlzLl9oaXRUZXN0U291cmNlcyhvLHIuY3VzdG9tU291cmNlcyhJaS5DdXN0b21Tb3VyY2VMYXllci5CYWNrZ3JvdW5kKSxsLGEsITAsbiksaS5yZXN1bHR9X3NvdXJjZVdhc1NlbGVjdGVkKGUpe3JldHVybiEhZSYmdGhpcy5fc2VsZWN0aW9uQmVmb3JlTW91c2VEb3duLmhhcyhlLnNvdXJjZSl9X2hpdFRlc3RTb3VyY2VzKGUsdCxpLHMsbixyKXtjb25zdCBvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpO2ZvcihsZXQgYT10Lmxlbmd0aC0xO2E+PTA7LS1hKXtjb25zdCBsPXRbYV07aWYoci5oYXMobC5pZCgpKSljb250aW51ZTtjb25zdCBjPWwucGFuZVZpZXdzKG8pO2lmKG51bGwhPT1jJiYwIT09Yy5sZW5ndGgpZm9yKGxldCB0PWMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IHI9Y1t0XS5yZW5kZXJlcihlKTtpZihyJiZyLmhpdFRlc3Qpe2NvbnN0IHQ9ci5oaXRUZXN0KGksZSk7bnVsbCE9PXQmJnModCxsLHIsbil9fX19X3RyeVN0YXJ0TW92aW5nTGluZVRvb2woZSx0LGkscyl7aWYobnVsbD09PXQuc291cmNlfHwhdC5zb3VyY2UubW92YWJsZSgpfHxudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50KXJldHVybiExO2lmKCF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXtjb25zdCBuPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscj0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLApsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0YXRlKS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCksbz0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlLnByaWNlU2NhbGUoKSksYT1udWxsPT09cj9OYU46by5jb29yZGluYXRlVG9QcmljZShlLmxvY2FsWSxyKTtsZXQgYz0odC5zb3VyY2UuaXNTZWxlY3Rpb25FbmFibGVkKCk/bi5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCk6W3Quc291cmNlXSkuZmlsdGVyKFFzKTtjb25zdCBoPWMuZmlsdGVyKChlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmIWUuaXNTb3VyY2VIaWRkZW4oKSkpO2M9aC5sZW5ndGg+MD9oOmMuaW5jbHVkZXModC5zb3VyY2UpP1t0LnNvdXJjZV06W2NbMF1dO2NvbnN0IGQ9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSx1PXtpbmRleDpzLHByaWNlOmF9LHA9dC5oaXR0ZXN0LmRhdGEoKT8uYWN0aXZlSXRlbTtyZXR1cm4gdGhpcy5fc3RhcnRNb3ZlU291cmNlUGFyYW1zPXtzb3VyY2U6YyxzdGFydFBvaW50Ontsb2dpY2FsOnUsc2NyZWVuOmR9LGFjdGl2ZUl0ZW06dm9pZCAwPT09cD9udWxsOnAsZW52U3RhdGU6aX0sITB9cmV0dXJuIHRoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcz1udWxsLCExfV9jaGFydE1vZGVsKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKX1fY2hhcnRVbmRvTW9kZWwoKXtyZXR1cm4gdGhpcy5fY2hhcnQubW9kZWwoKX1fZXh0ZXJuYWxQYW5lWENvb3JkKGUsdCl7dCs9dGhpcy5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0O2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydC5wYW5lQnlTdGF0ZShlKSkscz1pLl9kaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCtkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7cmV0dXJuIGkuX2NvcnJlY3RYQ29vcmQodC1zKX1fZXh0ZXJuYWxQYW5lWUNvb3JkKGUsdCl7dCs9dGhpcy5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnQucGFuZUJ5U3RhdGUoZSkpLHM9aS5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtyZXR1cm4gaS5fY29ycmVjdFlDb29yZCh0LXMpfV9jb3JyZWN0WENvb3JkKGUpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKGUsdGhpcy5fc2l6ZS53aWR0aC0xKSl9X2NvcnJlY3RZQ29vcmQoZSl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oZSx0aGlzLl9zaXplLmhlaWdodC0xKSl9X3Byb2Nlc3NTY3JvbGwoZSl7aWYoIXRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKS5zY3JvbGxFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5fc3RhcnRTY3JvbGxpbmdQb3N8fHRoaXMuX3ByZXZlbnRTY3JvbGwoKXx8KHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zPXt4OmUuY2xpZW50WCx5OmUuY2xpZW50WSx0aW1lc3RhbXA6dCxsb2NhbFg6ZS5sb2NhbFgsbG9jYWxZOmUubG9jYWxZfSk7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2xldCBzPXRoaXMuc3RhdGUoKS5kZWZhdWx0UHJpY2VTY2FsZSgpO2lmKHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zJiYhdGhpcy5faXNTY3JvbGxpbmcmJih0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy54IT09ZS5jbGllbnRYfHx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy55IT09ZS5jbGllbnRZKSlyZXR1cm4gaS5iZWdpblVuZG9NYWNybyhzbiksbnVsbD09PXRoaXMuX3Njcm9sbFhBbmltYXRpb24mJnRoaXMuX29wdGlvbnMudXNlS2luZXRpY1Njcm9sbCYmKHRoaXMuX3Njcm9sbFhBbmltYXRpb249bmV3IEVzLktpbmV0aWNBbmltYXRpb24oLjIsNywuOTk3LDE1KSx0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmFkZFBvc2l0aW9uKGUuY2xpZW50WCx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy50aW1lc3RhbXApKSxpLnNlbGVjdGlvbigpLmlzRW1wdHkoKXx8KHM9aS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKClbMF0ucHJpY2VTY2FsZSgpKSxudWxsPT09c3x8cy5pc0VtcHR5KCl8fCh0aGlzLl9zY3JvbGxQcmljZVNjYWxlPXMsaS5zdGFydFNjcm9sbFByaWNlKHRoaXMuc3RhdGUoKSxzLGUubG9jYWxZKSksaS5zdGFydFNjcm9sbFRpbWUoZS5sb2NhbFgpLHRoaXMuX2lzU2Nyb2xsaW5nPSEwLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpLHZvaWQgdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5zZXRTY3JvbGxpbmdQYW5lKHRoaXMpO3RoaXMuX2lzU2Nyb2xsaW5nJiYobnVsbCE9PXRoaXMuX3Njcm9sbFByaWNlU2NhbGUmJmkuc2Nyb2xsUHJpY2VUbyh0aGlzLnN0YXRlKCksdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSxlLmxvY2FsWSksaS5zY3JvbGxUaW1lVG8oZS5sb2NhbFgpLG51bGwhPT10aGlzLl9zY3JvbGxYQW5pbWF0aW9uJiZ0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmFkZFBvc2l0aW9uKGUuY2xpZW50WCx0KSl9X2ZpbmlzaFNjcm9sbCgpe2NvbnN0IGU9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtlLmVuZFNjcm9sbFRpbWUoKSxudWxsIT09dGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSYmZS5lbmRTY3JvbGxQcmljZSh0aGlzLnN0YXRlKCksdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSksZS5lbmRVbmRvTWFjcm8oKSx0aGlzLl9pc1Njcm9sbGluZz0hMSx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcz1udWxsLHRoaXMuX3Njcm9sbFByaWNlU2NhbGU9bnVsbCx0aGlzLnNldEN1cnNvckZvclRvb2woKSx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNldFNjcm9sbGluZ1BhbmUobnVsbCl9X2VuZFNjcm9sbChlKXtpZighdGhpcy5faXNTY3JvbGxpbmcpcmV0dXJuITE7dGhpcy5fZmluaXNoU2Nyb2xsKCk7Y29uc3QgdD10aGlzLl9zY3JvbGxVbmRvQ29tbWFuZEluU3RhY2soKSxpPXBlcmZvcm1hbmNlLm5vdygpO3JldHVybiBudWxsIT09dGhpcy5fc2Nyb2xsWEFuaW1hdGlvbiYmKHRoaXMuX3Njcm9sbFhBbmltYXRpb24uc3RhcnQoZS5jbGllbnRYLGkpLAp0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmZpbmlzaGVkKGkpfHwodGhpcy5fY2hhcnRNb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLl9jaGFydE1vZGVsKCkuc2V0VGltZVNjYWxlQW5pbWF0aW9uKHRoaXMuX3Njcm9sbFhBbmltYXRpb24pLHRoaXMuX3Njcm9sbFhBbmltYXRpb249bnVsbCkpLHR9X3ByZXZlbnRTY3JvbGwoKXtyZXR1cm4gdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwJiZ0aGlzLl9sb25nVGFwfHx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8KDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHxCb29sZWFuKHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkubGluZUJlaW5nQ3JlYXRlZCgpKXx8bnVsbCE9PXRoaXMuX3N0YXJ0VHJhY2tQb2ludHx8dGhpcy5fcHJldmVudFNjcm9sbFVudGlsTmV4dE1vdXNlRG93bk9yVG91Y2hTdGFydH1faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmV9X3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCl7cmV0dXJuISF0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXAmJihudWxsPT09dGhpcy5fY2hhcnQudHJhY2tpbmdNb2RlUGFuZVdpZGdldCgpJiYoISF0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8IXRoaXMuX2Nyb3NzSGFpclNob3VsZEJlVmlzaWJsZSgpJiZudWxsPT09dGhpcy5fc3RhcnRUcmFja1BvaW50KSl9X2ZpbmlzaFRvb2woZSx0PW51bGwpe2NvbnN0IGk9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKSxzPWUudG9vbG5hbWU7aWYocz09PVQudG9vbC52YWx1ZSgpJiYoMCxULnJlc2V0VG9DdXJzb3IpKCksdGhpcy5fcHJldmVudENyb3NzSGFpck1vdmUoKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLGkuc2VsZWN0aW9uTWFjcm8oKGk9PntpLmFkZEl0ZW1Ub1NlbGVjdGlvbihlLHVuKHQsZSkpfSkpLCgwLHJpLmlzRWRpdGFibGVUZXh0TGluZVRvb2wpKGUpJiZlLmFjdGl2YXRlRWRpdGluZ09uQ3JlYXRpb24oKSllLmFjdGl2YXRlVGV4dEVkaXRpbmdPbih0aGlzLl9kaXYsITApO2Vsc2UgaWYoKDAsbS5pc1RleHRUb29sTmFtZSkocykpe2NvbnN0IHQ9aS5jcmVhdGVVbmRvQ2hlY2twb2ludCgpO3RoaXMuX2NoYXJ0LnNob3dDaGFydFByb3BlcnRpZXNGb3JTb3VyY2UoZSxKdC5UYWJOYW1lcy50ZXh0LHZvaWQgMCx0KX10aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9ZS5pZCgpLCgwLCQuZW1pdCkoImRyYXdpbmdfZXZlbnQiLGUuaWQoKSwiY3JlYXRlIil9X2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKGUsdCxpLHMsbil7Y29uc3Qgcj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLG89Mj09PW4/TmFOOnIudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgodCk7ci5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkuZm9yRWFjaCgoZT0+e2xldCBhPW8sbD1lLmNvbnZlcnRZQ29vcmRpbmF0ZVRvUHJpY2VGb3JNb3ZpbmcoaSx0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSk7aWYobnVsbD09PWwpe2lmKDEhPT1uKXJldHVybjtsPU5hTn1pZigoMCx0aS5pc1N0dWR5KShlKSl7Y29uc3QgZT1yLm1haW5TZXJpZXMoKS5iYXJzKCkuZmlyc3RJbmRleCgpO251bGwhPT1lJiYyIT09biYmKGE9TWF0aC5tYXgobyxlKSksMSE9PW4mJihsPXRoaXMuX2NoYXJ0TW9kZWwoKS5tYWduZXQoKS5hbGlnbihsLG8sdGhpcy5zdGF0ZSgpKSl9bnVsbCE9PXRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0JiZ2b2lkIDAhPT10aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50LmhpdHRlc3QuZGF0YSgpPy5jdXJzb3JUeXBlfHx0aGlzLnNldEN1cnNvckZvclRvb2woKSxyLm1vdmVTb3VyY2VzKHtzY3JlZW46bmV3IFB0LlBvaW50KHQsaSksbG9naWNhbDp7aW5kZXg6YSxwcmljZTpsfX0scyl9KSl9X3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKXt0aGlzLl9uZWVkUmVzZXRNZWFzdXJlTGF0ZXImJigoMCxULnJlc2V0VG9DdXJzb3IpKCksdGhpcy5fbmVlZFJlc2V0TWVhc3VyZUxhdGVyPSExKX1fbWFrZVN1cmVJc1VwZGF0ZWQoZSl7Y29uc3QgdD10aGlzLnN0YXRlKCksaT1bLi4udC5kYXRhU291cmNlcygpLC4uLnQuY3VzdG9tU291cmNlcygpXTtmb3IoY29uc3QgcyBvZiBpKXtjb25zdCBpPXMucGFuZVZpZXdzKHQpO2lmKG51bGwhPT1pKWZvcihjb25zdCB0IG9mIGkpdC5tYWtlU3VyZUlzVXBkYXRlZD8uKGUpfX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwoKSxzPWkuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxuPWkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtpZih0aGlzLl9zdGF0ZT8ubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQpe2NvbnN0IGk9dGhpcy5fc3RhdGU/Lm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3N0YXRlKT8/MCxyPXRoaXMuX3N0YXRlPy5tb2RlbCgpLm1haW5QYW5lKCksbz1pPihyP3RoaXMuX3N0YXRlPy5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihyKT8/MDowKT9uOnM7KDAsS3QuY2xlYXJSZWN0KShlLDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCxvKX1lbHNlIHM9PT1uPygwLEt0LmNsZWFyUmVjdCkoZSwwLDAsdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQsbik6KDAsRGkuY2xlYXJSZWN0V2l0aEdyYWRpZW50KShlLDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCxzLG4pfV9kcmF3V2F0ZXJtYXJrKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsKCkud2F0ZXJtYXJrU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuO3RoaXMuc3RhdGUoKS5jb250YWluc01haW5TZXJpZXMoKSYmdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpfV9kcmF3Q3Jvc3NIYWlyKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO2kuaW52YWxpZGF0ZUxvY2tQb3NpdGlvbigpLAppLnZpc2libGV8fG51bGw9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKXx8aS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoaS5pZCgpKSksdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpfV9kcmF3QWN0aXZlTGluZVRvb2xzKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsKCkscz1baS5saW5lQmVpbmdDcmVhdGVkKCksaS5saW5lQmVpbmdFZGl0ZWQoKSwuLi5pLnNvdXJjZXNCZWluZ01vdmVkKCksaS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCldLmZpbHRlcigoZT0+ISFlKSk7Zm9yKGNvbnN0IG4gb2Ygcyl7KGkucGFuZUZvclNvdXJjZShuKT09PXRoaXMuc3RhdGUoKXx8KDAsQWkuaXNEYXRhU291cmNlKShuKSYmbi5pc011bHRpUGFuZUVuYWJsZWQoKSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixuKX19X2RyYXdUb3BWaWV3cyhlLHQpe2Zvcihjb25zdCBpIG9mIHRoaXMuc3RhdGUoKS5zb3VyY2VzQnlHcm91cCgpLmFsbCgpKWkudG9wUGFuZVZpZXdzJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsY24sYW4saSl9X2RyYXdTb3VyY2VzKGUsdCl7Y29uc3QgaT10aGlzLnN0YXRlKCkscz1pLm1vZGVsKCksbj1pLnNvdXJjZXNCeUdyb3VwKCkscj1uLnRyYWRpbmdTb3VyY2VzKCksbz1uLmdlbmVyYWxTb3VyY2VzKCksbD1uLnBoYW50b21Tb3VyY2VzKCksYz1pLmN1c3RvbVNvdXJjZXMoSWkuQ3VzdG9tU291cmNlTGF5ZXIuQmFja2dyb3VuZCkuc2xpY2UoKSxoPWkuY3VzdG9tU291cmNlcyhJaS5DdXN0b21Tb3VyY2VMYXllci5Gb3JlZ3JvdW5kKS5zbGljZSgpLGQ9aS5jdXN0b21Tb3VyY2VzKElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpLnNsaWNlKCksdT1zLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKSxwPXMucmVwbGF5U3R1ZHlTdHJhdGVneSgpLnZhbHVlKCk7dGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLHMuZ3JpZFNvdXJjZSgpKSx0aGlzLl9kcmF3V2F0ZXJtYXJrKGUsdCk7Zm9yKGNvbnN0IGkgb2YgYyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2Ygbyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2YgaCl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2YgbCl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Y29uc3QgXz1uZXcgU2V0O1tzLmxpbmVCZWluZ0NyZWF0ZWQoKSxzLmxpbmVCZWluZ0VkaXRlZCgpLC4uLnMuc291cmNlc0JlaW5nTW92ZWQoKSxzLmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQoKV0uZmlsdGVyKGEubm90TnVsbCkuZm9yRWFjaCgoZT0+Xy5hZGQoZS5pZCgpKSkpO2xldCBtPXMuaG92ZXJlZFNvdXJjZSgpO251bGwhPT1tJiYoKDAsQWkuaXNEYXRhU291cmNlKShtKSYmIW0uc2hvd09uVG9wT25Ib3ZlcmluZygpfHxfLmhhcyhtLmlkKCkpfHwoMCxBaS5pc0RhdGFTb3VyY2UpKG0pJiYhby5pbmNsdWRlcyhtKT9tPW51bGw6Xy5hZGQobS5pZCgpKSk7Y29uc3QgZz1zLmhpZ2hsaWdodGVkUGxvdEluZm8oKSxmPWc/by5maWx0ZXIoKGU9PigwLHRpLmlzU3R1ZHkpKGUpJiZlLmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmIV8uaGFzKGUuaWQoKSkpKTpbXTtmLmZvckVhY2goKGU9Pl8uYWRkKGUuaWQoKSkpKTtjb25zdCBTPXMuc2VsZWN0aW9uKCkuYWxsU291cmNlcygpLmZpbHRlcigoZT0+ISgoMCxBaS5pc0RhdGFTb3VyY2UpKGUpJiYhby5pbmNsdWRlcyhlKSkmJiFfLmhhcyhlLmlkKCkpKSk7Uy5mb3JFYWNoKChlPT5fLmFkZChlLmlkKCkpKSk7Zm9yKGNvbnN0IGkgb2YgYyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSxfKTtmb3IoY29uc3QgaSBvZiBvKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixpLF8pO2Zvcihjb25zdCBpIG9mIGgpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGksXyk7dSYmdGhpcy5jb250YWluc01haW5TZXJpZXMoKSYmISgwLEpzLmlzU3R1ZHlTdHJhdGVneVN0dWIpKHUpJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsZG4sYW4sdSxfKSxwJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsZG4sYW4scCxfKTtmb3IoY29uc3QgaSBvZiByKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixvbixpKTtmb3IoY29uc3QgaSBvZiBkKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixvbixpKTtmb3IoY29uc3QgaSBvZiBvKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxobixhbixpLF8pO2Zvcihjb25zdCBpIG9mIGgpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGhuLGFuLGksXyk7Zm9yKGNvbnN0IGkgb2Ygcil0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSxfKTtmb3IoY29uc3QgaSBvZiBkKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixpLF8pO2Zvcihjb25zdCBpIG9mIFMpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpLGk9PT11JiZ0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpJiYhKDAsSnMuaXNTdHVkeVN0cmF0ZWd5U3R1YikodSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxkbixhbix1KTtmb3IoY29uc3QgaSBvZiBTKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxobixhbixpKTttJiYodGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLG0pLG09PT11JiZ0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpJiYhKDAsSnMuaXNTdHVkeVN0cmF0ZWd5U3R1YikodSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxkbixhbix1KSx0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsaG4sYW4sbSkpO2Zvcihjb25zdCBpIG9mIGwpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGksXyk7aWYoZyYmZi5sZW5ndGgpZm9yKGNvbnN0IGkgb2YgZil0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSl9X2RyYXdTb3VyY2VJbXBsKGUsdCxpLHMsbixyKXtpZihyJiZyLmhhcyhuLmlkKCkpKXJldHVybjtjb25zdCBvPWkobix0aGlzLnN0YXRlKCkpO2lmKG8pZm9yKGNvbnN0IGkgb2Ygbyl7Y29uc3Qgbj1pLnJlbmRlcmVyKHQpO24mJihlLnNhdmUoKSxzKG4sZSx0KSxlLnJlc3RvcmUoKSl9fQpfdXBkYXRlQnlUaGVtZWRDb2xvcnMoKXtudWxsIT09dGhpcy5fbGVnZW5kV2lkZ2V0JiZ0aGlzLl9sZWdlbmRXaWRnZXQudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKSxudWxsIT09dGhpcy5fcGFuZUNvbnRyb2xzJiZ0aGlzLl9wYW5lQ29udHJvbHMudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKX1fc2Nyb2xsVW5kb0NvbW1hbmRJblN0YWNrKCl7Y29uc3QgZT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnVuZG9IaXN0b3J5KCkudW5kb1N0YWNrKCk7aWYoZS5pc0VtcHR5KCkpcmV0dXJuITE7Y29uc3QgdD1lLmhlYWQoKTtpZighKHQgaW5zdGFuY2VvZiBVKSlyZXR1cm4hMTtpZih0LmlzRW1wdHkoKSlyZXR1cm4hMTtyZXR1cm4gdC5jb21tYW5kcygpWzBdaW5zdGFuY2VvZiBPc31fb25TdGF0ZURlc3Ryb3llZCgpe3RoaXMuc2V0U3RhdGUobnVsbCl9X29uRGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpe3RoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcz1udWxsfV9wcm9jZXNzTW91c2VFbnRlckxlYXZlTW92ZUhhbmRsZXJzKGUsdCl7aWYobnVsbCE9PXRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdCYmKHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdC5yZW5kZXJlciE9PWU/LnJlbmRlcmVyfHx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/LmFjdGl2ZUl0ZW0hPT1lLmhpdHRlc3QuZGF0YSgpPy5hY3RpdmVJdGVtKSl7Y29uc3QgZT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QpOygwLE1pLnRyeUNhbGxIYW5kbGVyKSh0LHtzb3VyY2VXYXNTZWxlY3RlZDplfSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/Lm1vdXNlTGVhdmVIYW5kbGVyKSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbH1pZighdC5pc1RvdWNoJiZudWxsIT09ZSl7Y29uc3QgaT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZChlKTt0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q/LnJlbmRlcmVyIT09ZS5yZW5kZXJlciYmKGUuaGl0dGVzdC50cnlDYWxsTW91c2VFbnRlckhhbmRsZXIodCx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1lKSxlLmhpdHRlc3QudHJ5Q2FsbE1vdXNlTW92ZUhhbmRsZXIodCx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pfX1fc3RhcnRDaGFuZ2VPck1vdmVMaW5lVG9vbElmTmVlZGVkKCl7aWYobnVsbCE9PXRoaXMuX3N0YXJ0Q2hhbmdlTGluZVRvb2xQYXJhbXMpe2NvbnN0IGU9dGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtczsoMCxNdC50cmFja0V2ZW50KSgiY2hhcnRfYWxlcnQiLCJlZGl0Iiwic3RhcnRfY2hhbmdlX2xpbmVfdG9vbF9wYXJhbXMiKSx0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnN0YXJ0Q2hhbmdpbmdMaW5ldG9vbChlLnNvdXJjZSxlLm93bmVyU291cmNlLGUuc3RhcnRQb2ludCxlLnBvaW50SW5kZXgsZS5lbnZTdGF0ZSl9aWYobnVsbCE9PXRoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcyl7Y29uc3QgZT10aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM7KDAsTXQudHJhY2tFdmVudCkoImNoYXJ0X2FsZXJ0IiwiZWRpdCIsInN0YXJ0X21vdmluZ19zb3VyY2VzIiksdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5zdGFydE1vdmluZ1NvdXJjZXMoZS5zb3VyY2UsZS5zdGFydFBvaW50LGUuYWN0aXZlSXRlbSxlLmVudlN0YXRlKX10aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGx9X3RyYWNraW5nTW9kZVNob3VsZEJlQWN0aXZlKCl7cmV0dXJuISghdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwfHx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8dGhpcy5fY3Jvc3NIYWlyU2hvdWxkQmVWaXNpYmxlKCkpJiZ0aGlzLl9sb25nVGFwfV9wcm9jZXNzT3V0c2lkZUNsaWNrKGUsdCl7bGV0IGk9bnVsbDtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwoKTtpZihudWxsIT09ZSYmKGk9ZS5pc0N1c3RvbT9zLmN1c3RvbVNvdXJjZU5hbWUoZS5zb3VyY2UpOmUuc291cmNlLmlkKCkpLG51bGwhPT10aGlzLl9sYXN0Q2xpY2tlZFNvdXJjZSYmdGhpcy5fbGFzdENsaWNrZWRTb3VyY2UuaWQhPT1pKXtjb25zdCBlPXRoaXMuX2xhc3RDbGlja2VkU291cmNlLmlkO2xldCBpPXRoaXMuX2xhc3RDbGlja2VkU291cmNlLmlzQ3VzdG9tP3MuY3VzdG9tU291cmNlRm9yTmFtZShlKTpzLmRhdGFTb3VyY2VGb3JJZChlKTtudWxsIT09aXx8dGhpcy5fbGFzdENsaWNrZWRTb3VyY2UuaXNDdXN0b218fChpPXMuZGF0YVNvdXJjZUZvcklkKGUpKSxudWxsIT09aSYmaS5vbkNsaWNrT3V0c2lkZSYmKGkub25DbGlja091dHNpZGUoKDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpLHQpLHRoaXMuX2NoYXJ0TW9kZWwoKS51cGRhdGVTb3VyY2UoaSkpfXRoaXMuX2xhc3RDbGlja2VkU291cmNlPW51bGwhPT1pP3tpZDppLGlzQ3VzdG9tOmU/LmlzQ3VzdG9tPz8hMX06bnVsbH1hc3luYyBzaG93Q29uZmV0dGkoZSx0KXt7Y29uc3Qgcz1hd2FpdCBpLmUoODY3NDApLnRoZW4oaS5iaW5kKGksMjM3NTM3KSk7InBlcmZvcm1hbmNlIj09PVQudG9vbC52YWx1ZSgpJiZzLmNvbmZldHRpKGUsdCl9fV9tb3VzZUNsaWNrT3JUYXBFdmVudChlKXtpZighdGhpcy5oYXNTdGF0ZSgpKXJldHVybjtxcy5wZXJmb3JtYW5jZVRlc3RNb2RlJiYicGVyZm9ybWFuY2UiPT09VC50b29sLnZhbHVlKCkmJnRoaXMuc2hvd0NvbmZldHRpKGUucGFnZVgsZS5wYWdlWSk7bGV0IHQ9bnVsbCxpPW51bGw7dGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJnRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLnRvb2xDcmVhdGlvbiYmIXRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLm1vdXNlTW92ZXx8KHQ9dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLGk9dCYmdC5zb3VyY2UpCjtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1Cb29sZWFuKHQ/LmhpdHRlc3QuZGF0YSgpPy5oaWRlQ3Jvc3NoYWlyTGluZXNPbkhvdmVyKTt0aGlzLl9wcm9jZXNzT3V0c2lkZUNsaWNrKHQsZSksIXRoaXMuX2lzU2VsZWN0UG9pbnRNb2RlRW5hYmxlZCgpfHxufHxlLmlzVG91Y2gmJnRoaXMudHJhY2tpbmdNb2RlRW5hYmxlZCgpJiYhdGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeXx8cy5jcm9zc2hhaXJTb3VyY2UoKS50cnlTZWxlY3RDdXJyZW50UG9pbnQoKTtjb25zdCByPXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKHQpOyEoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJm51bGwhPT10JiZ0LmhpdHRlc3QudHJ5Q2FsbENsaWNrT3JUYXBIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOnJ9KSYmcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSgoMCxsLmVuc3VyZU5vdE51bGwpKGkpKSwhZS5pc1RvdWNofHx0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKXx8dCYmdC5zb3VyY2U9PT1zLmNyb3NzaGFpclNvdXJjZSgpfHx0aGlzLl90cnlFeGl0VHJhY2tpbmdNb2RlKCksaSYmKDAscmkuaXNMaW5lVG9vbCkoaSkmJnRoaXMuX2xhc3RGaW5pc2hlZFRvb2xJZCE9PWkuaWQoKSYmKDAsJC5lbWl0KSgiZHJhd2luZ19ldmVudCIsaS5pZCgpLCJjbGljayIpLHRoaXMuX3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz1udWxsfV9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlLHQpe3RoaXMuX3ByZXNzZWRNb3ZlU3RhZ2U9MSx0aGlzLl9wcmV2ZW50U2Nyb2xsVW50aWxOZXh0TW91c2VEb3duT3JUb3VjaFN0YXJ0PSExLHRoaXMuX3NlbGVjdGlvbkJlZm9yZU1vdXNlRG93bj1uZXcgU2V0KHRoaXMuX2NoYXJ0TW9kZWwoKS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCkpLGUuaXNUb3VjaCYmKHRoaXMuX2xvbmdUYXA9ITEsdGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeT1udWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50LHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuY2xlYXJEcmFnZ2luZ1NvdXJjZSgpKSx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcD0hMSx0aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9bnVsbDtjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwoKTtpZihpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz17bW91c2VNb3ZlOiExLHRvb2xDcmVhdGlvbjpCb29sZWFuKGkubGluZUJlaW5nQ3JlYXRlZCgpKX0sZS5pc1RvdWNoJiZ0aGlzLl9zd2l0Y2hUcmFja2luZ01vZGVGcm9tQW5vdGhlclBhbmVJZk5lZWRlZChlKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudClkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXI/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk6ZG9jdW1lbnQuYm9keS5mb2N1cygpO2Vsc2V7Y29uc3QgZT1kb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtudWxsIT09ZSYmZS5yZW1vdmVBbGxSYW5nZXMoKX0oMCwkLmVtaXQpKCJtb3VzZV9kb3duIix7Y2xpZW50WDplLmNsaWVudFgsY2xpZW50WTplLmNsaWVudFkscGFnZVg6ZS5wYWdlWCxwYWdlWTplLnBhZ2VZLHNjcmVlblg6ZS5zY3JlZW5YLHNjcmVlblk6ZS5zY3JlZW5ZfSksdGhpcy5fdXBkYXRlQ29tbW9uVG9vbHRpcChudWxsKTtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1uZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKTtzLm1haW5TZXJpZXMoKS5jbGVhckdvdG9EYXRlUmVzdWx0KCk7Y29uc3Qgcj10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKTtpZihzLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3Qgbz1zLmNyb3NzaGFpclNvdXJjZSgpO2lmKCFlLmlzVG91Y2gmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKSl7Y29uc3QgdD1udWxsIT09cy5saW5lQmVpbmdDcmVhdGVkKCk/cy5tb2RlbCgpLnBhbmVCZWluZ0NyZWF0ZWRMaW5lT24oKTpudWxsO251bGwhPT10JiZ0IT09dGhpcy5fc3RhdGU/dGhpcy5fc2V0Q3Vyc29yUG9zaXRpb25PbkV4dGVybmFsUGFuZSh0LGUubG9jYWxYLGUubG9jYWxZLG4pOnRoaXMuc2V0Q3Vyc29yUG9zaXRpb24oZS5sb2NhbFgsZS5sb2NhbFksbil9ZS5pc1RvdWNoJiYoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJigoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKXx8bnVsbCE9PW8ucGFuZT8oMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpOnRoaXMuX2NoYXJ0LnVwZGF0ZUNyb3NzSGFpclBvc2l0aW9uSWZOZWVkZWQoKSk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7bGV0IGM9bnVsbD09YT9udWxsOnIuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksYSksaD1pLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKTtpZihvLnN0YXJ0TWVhc3VyZVBvaW50KCkmJm8uZW5kTWVhc3VyZVBvaW50KCkmJm8uY2xlYXJNZWFzdXJlKCksbi5zaGlmdCgpJiYoMCxULnRvb2xJc0N1cnNvcikoVC50b29sLnZhbHVlKCkpKXtjb25zdCBlPXMuc2VsZWN0aW9uKCkuaXNFbXB0eSgpOyhudWxsPT09dHx8ZSYmIXQuaGl0dGVzdC5kYXRhKCk/Lmhhc093blNob3J0Y3V0c0JlaGF2aW91ckZvcj8uc2hpZnRLZXkpJiYoVC50b29sLnNldFZhbHVlKCJtZWFzdXJlIiksKDAsUnMudHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkKSgibWVhc3VyZSIsIktleWJvYXJkIHNob3J0Y3V0IiksZXx8cy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSkpfQppZigoZS5pc1RvdWNoJiYhZS5zdHlsdXN8fG51bGw9PT1jfHwhdGhpcy5fdHJ5U3RhcnRNZWFzdXJlKGUsbyxuLGMsaCkpJiYoZS5pc1RvdWNoJiYhZS5zdHlsdXN8fCF0aGlzLl90cnlGaW5pc2hNZWFzdXJlKGUsbykpJiYhKHRoaXMuX3RyeUZpbmlzaFpvb20oZSl8fG51bGwhPT1jJiZ0aGlzLl90cnlTdGFydFpvb20oZSxjLGgsbikpKXtpZihlLmlzVG91Y2gmJihudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50Pyh0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb249by5jdXJyZW50UG9pbnQoKSx0aGlzLl9zdGFydFRyYWNrUG9pbnQ9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSk6dGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCkmJm51bGw9PT10aGlzLl9jaGFydC50cmFja2luZ01vZGVQYW5lV2lkZ2V0KCkmJnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSksZS5pc1RvdWNoJiYodGhpcy5fcHJldmVudFNvdXJjZUNoYW5nZT1udWxsPT09dHx8IXMuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0LnNvdXJjZSkpLCF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSYmIXRoaXMuX2lzU2Nyb2xsaW5nKXtpZihlLmlzVG91Y2gmJiFlLnN0eWx1cyYmKCgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpfHxudWxsIT09by5tZWFzdXJlUGFuZSgpLnZhbHVlKCkpKXJldHVybiB2b2lkIHRoaXMuX2luaXRUb29sQ3JlYXRpb25Nb2RlUGFyYW1zKGUpO2lmKG51bGwhPT1jJiYoKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHxzLmxpbmVCZWluZ0NyZWF0ZWQoKSkpcmV0dXJuIG4uc2hpZnQoKXx8cy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSksdm9pZCB0aGlzLl9tb3VzZURvd25FdmVudEZvckxpbmVUb29sKGUsbixoLGMpfWlmKCgwLFQudG9vbElzRGVtb25zdHJhdGlvbikoVC50b29sLnZhbHVlKCkpJiZuLmFsdE9ubHkoKSl7ZS5pc1RvdWNoJiYhdGhpcy50cmFja2luZ01vZGVFbmFibGVkKCkmJnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jcm9zc2hhaXJEZW1vbnN0cmF0aW9uKCk7dC5jcmVhdGVIaWdobGlnaHRlcigpO2NvbnN0IGk9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChvLm9yaWdpblgoKSxvLm9yaWdpblkoKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKSk7aSYmdC5hZGRIaWdobGlnaHRlclBvc2l0aW9uKGkpfWVsc2V7aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5fc291cmNlV2FzU2VsZWN0ZWQodCk7dC5oaXR0ZXN0LnRyeUNhbGxNb3VzZURvd25PclRvdWNoU3RhcnRIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOml9KX1pZighdGhpcy5fY2hhcnQucmVhZE9ubHkoKSl7Y29uc3Qgcj10aGlzLl9oYW5kbGVTZWxlY3Rpb25Nb3VzZURvd25BbmRHZXRKdXN0RGVzZWxlY3RlZFNvdXJjZShlLHQsbik7aWYobnVsbCE9PXQmJiF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXtjb25zdCBpPXQuaGl0dGVzdC5kYXRhKCk7aWYodC5pc0N1c3RvbSl7aWYodC5oaXR0ZXN0Lmhhc1ByZXNzZWRNb3ZlSGFuZGxlcihlKSlyZXR1cm4gcy5tb2RlbCgpLnNldE1vdmluZ0N1c3RvbVNvdXJjZSh0LnNvdXJjZSxpKSx0aGlzLl9wcmV2ZW50U2Nyb2xsVW50aWxOZXh0TW91c2VEb3duT3JUb3VjaFN0YXJ0PSEwLHRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0PXtzb3VyY2VBdFBvaW50OnQsY2FuY2VsbGVkQ29udGFpbmVyOnMubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpPz92b2lkIDB9LHZvaWQgcy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbigoMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlKSwoMCxsLmVuc3VyZU5vdE51bGwpKGkpKX0pKX1lbHNlIGlmKGk/LmFyZWFOYW1lPT09TWkuQXJlYU5hbWUuU291cmNlSXRlbU1vdmUpe2NvbnN0IG49aT8uYWN0aXZlSXRlbTtpZih2b2lkIDAhPT1uKXJldHVybiBzLnN0YXJ0Q3VzdG9tTW92aW5nKHQuc291cmNlLG4sZSksdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9e3NvdXJjZUF0UG9pbnQ6dH0sdm9pZCBzLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKCgwLGwuZW5zdXJlTm90TnVsbCkodC5zb3VyY2UpLCgwLGwuZW5zdXJlTm90TnVsbCkoaSkpfSkpfX1pZihudWxsIT09dCYmdGhpcy5fdHJ5SGFuZGxlRXJhc2VyTW91c2VEb3duKHQsbikpcmV0dXJuO2NvbnN0IG89bnVsbCE9PXQmJigwLHJpLmlzTGluZVRvb2wpKHQuc291cmNlKSYmdC5zb3VyY2UuaXNMb2NrZWQmJnQuc291cmNlLmlzTG9ja2VkKCk7aWYoISgoMCxULmxvY2tEcmF3aW5ncykoKS52YWx1ZSgpfHxvKSYmbnVsbCE9PXQmJiF0LmlzQ3VzdG9tKXtpZighdC5zb3VyY2UudXNlckVkaXRFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHM9dC5oaXR0ZXN0LmRhdGEoKT8uc25hcHBpbmdQcmljZSxvPXQuaGl0dGVzdC5kYXRhKCk/LnNuYXBwaW5nSW5kZXg7bGV0IHU9ZS5sb2NhbFkscD1lLmxvY2FsWDtjb25zdCBfPXQuaGl0dGVzdC5kYXRhKCk/Lm93bmVyU291cmNlSWQsbT1fP2kuZGF0YVNvdXJjZUZvcklkKF8pOnQuc291cmNlLm93bmVyU291cmNlKCk7aWYodm9pZCAwIT09cyYmbnVsbCE9PWEmJih1PSgwLGwuZW5zdXJlKShtPy5wcmljZVNjYWxlKCkpLnByaWNlVG9Db29yZGluYXRlKHMsYSksYz1zKSx2b2lkIDAhPT1vJiYocD1pLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKG8pLGg9byksdT09PWUubG9jYWxZJiZwPT09ZS5sb2NhbFh8fChlPXsuLi5lLGxvY2FsWTp1LGxvY2FsWDpwfSwKdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxuKSksdGhpcy5fdHJ5U3RhcnRDaGFuZ2luZ0xpbmVUb29sKGUsdCxuLGgpKXJldHVybiB2b2lkKHRoaXMuX2N1cnJlbnRDaGFuZ2luZ0xpbmVUb29sSGl0VGVzdD10KTtpZih0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3Q9bnVsbCwoZD10LmhpdHRlc3QudGFyZ2V0KCkpPT09TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludHx8ZD09PU1pLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kJiYoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gpe2lmKHRoaXMuX3RyeVN0YXJ0Q2xvbmluZyhlLHQsbixyKSlyZXR1cm47aWYodGhpcy5fdHJ5U3RhcnRNb3ZpbmdMaW5lVG9vbChlLHQsbixoKSlyZXR1cm4gdm9pZCh0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdD17c291cmNlQXRQb2ludDp0fSk7dGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbH19aWYobnVsbCE9PXQmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0LnNvdXJjZSkmJnQuc291cmNlLmlzRHJhZ2dhYmxlKCkmJnRoaXMuX3N0YXRlPy5oYXNEYXRhU291cmNlKHQuc291cmNlKSYmdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS50cnlTZXREcmFnZ2luZ1NvdXJjZSh0LnNvdXJjZSx0aGlzKSlyZXR1cm59dmFyIGQ7bnVsbCE9PXQmJnQuaGl0dGVzdC50YXJnZXQoKT09PU1pLkhpdFRhcmdldC5SZWd1bGFyfHwodGhpcy5fcHJvY2Vzc2luZz0hMCl9fX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXtpZighdGhpcy5oYXNTdGF0ZSgpKXJldHVybjt0aGlzLl9wcmVzc2VkTW92ZVN0YWdlPTA7Y29uc3QgdD1lLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQsaT1lLmlzVG91Y2gmJnRoaXMuX3dhc1BpbmNoZWQ7ZS5pc1RvdWNoJiYodGhpcy5fd2FzUGluY2hlZD0hMSx0aGlzLl9sb25nVGFwPSExKSx0aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGwsdGhpcy5fY3VycmVudENoYW5naW5nTGluZVRvb2xIaXRUZXN0PW51bGwsdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbDtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1zLm1vZGVsKCkuY3VzdG9tU291cmNlTW92aW5nSGl0VGVzdERhdGEoKTtudWxsIT09bnx8cy5jdXN0b21Nb3ZlQmVpbmdQcm9jZXNzZWQoKXx8dGhpcy5fcHJvY2Vzc01vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlKSx0aGlzLl9pc1NlbGVjdGluZz0hMTtjb25zdCByPXMubW9kZWwoKSxvPXIuY3Jvc3NoYWlyU291cmNlKCksYT10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYoby5zZWxlY3Rpb24oKSYmbnVsbD09PXRoaXMuX2ZpcnN0Wm9vbVBvaW50KXtjb25zdCBlPXRoaXMuc3RhdGUoKS5saW5lVG9vbHNGb3JBcmVhKG8uc2VsZWN0aW9uKCksKDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpKTtzLnNlbGVjdGlvbk1hY3JvKCh0PT57bGV0IGk9bnVsbDtlLmZvckVhY2goKGU9PntudWxsPT09aSYmKGk9dW4oYSxlKSksdC5hZGRJdGVtVG9TZWxlY3Rpb24oZSxpKX0pKX0pKSxvLmNsZWFyU2VsZWN0aW9uKCksKDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIk11bHRpc2VsZWN0IiwiQXJlYSBTZWxlY3QiKX0oMCwkLmVtaXQpKCJtb3VzZV91cCIse2NsaWVudFg6ZS5jbGllbnRYLGNsaWVudFk6ZS5jbGllbnRZLHBhZ2VYOmUucGFnZVgscGFnZVk6ZS5wYWdlWSxzY3JlZW5YOmUuc2NyZWVuWCxzY3JlZW5ZOmUuc2NyZWVuWX0pO2NvbnN0IGM9ZS5pc1RvdWNoJiZ0aGlzLl90b3VjaE1vdmU7ZS5pc1RvdWNoJiYodGhpcy5fdG91Y2hNb3ZlPSExKTtjb25zdCBoPW5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpLGQ9VC50b29sLnZhbHVlKCk7aWYoZS5pc1RvdWNoJiYoKDAsVC50b29sSXNNZWFzdXJlKShkKXx8bnVsbCE9PW8ubWVhc3VyZVBhbmUoKS52YWx1ZSgpKSl7aWYoIWMmJiFlLnN0eWx1cyYmbnVsbD09PW8ubWVhc3VyZVBhbmUoKS52YWx1ZSgpJiZvLnBhbmUhPT10aGlzLl9zdGF0ZSlyZXR1cm4gdm9pZCB0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZKTtpZighYyYmIWUuc3R5bHVzJiZ0aGlzLl90cnlTdGFydE1lYXN1cmUoZSxvLGgsby5wcmljZSxvLmluZGV4KSlyZXR1cm47aWYoKCFjfHxlLnN0eWx1cykmJnRoaXMuX3RyeUZpbmlzaE1lYXN1cmUoZSxvKSlyZXR1cm59aWYoZS5pc1RvdWNoJiYhYyYmISgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikoZCkmJigwLG0uaXNMaW5lVG9vbE5hbWUpKGQpJiYhcy5saW5lQmVpbmdDcmVhdGVkKCkpe2lmKHRoaXMuX2NoYXJ0Lmp1c3RBY3RpdmF0ZWQoKSlyZXR1cm47aWYoby5wYW5lIT09dGhpcy5fc3RhdGUpcmV0dXJuIHZvaWQgdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxoKTtjb25zdCB0PW8uY3VycmVudFBvaW50KCksaT10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKSxuPSgwLGwuZW5zdXJlKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKT8uZmlyc3RWYWx1ZSgpKSxyPXtpbmRleDpNYXRoLnJvdW5kKHMudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgodC54KSkscHJpY2U6aS5jb29yZGluYXRlVG9QcmljZSh0Lnksbil9LGM9KDAsbC5lbnN1cmVOb3ROdWxsKShzLmNyZWF0ZUxpbmVUb29sKHtwYW5lOnRoaXMuc3RhdGUoKSxwb2ludDpyLGxpbmV0b29sOmQsYWN0aW9uU291cmNlOiJEcmF3IixrZWVwU2VsZWN0ZWRHcm91cDohMH0pKTtyZXR1cm4gdGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJih0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mby50b29sQ3JlYXRpb249ITApLHMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmFkZEl0ZW1Ub1NlbGVjdGlvbihjKX0pKSxzLmxpbmVCZWluZ0NyZWF0ZWQoKXx8KHRoaXMuX2ZpbmlzaFRvb2woYyxhKSxlLnByZXZlbnREZWZhdWx0KCkpLHZvaWQodGhpcy5fc3RhcnRUb3VjaFBvaW50PW51bGwpfWNvbnN0IHU9cy5saW5lQmVpbmdDcmVhdGVkKCkKO2lmKHUmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKHUudG9vbG5hbWUpJiZlLmlzVG91Y2gmJih0aGlzLl9zdGFydFRvdWNoUG9pbnR8fGUuc3R5bHVzKSl7aWYodGhpcy5fc3RhcnRUb3VjaFBvaW50PW51bGwsIWN8fGUuc3R5bHVzKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodS5sYXN0UG9pbnQoKSksaT1zLmNvbnRpbnVlQ3JlYXRpbmdMaW5lKHtpbmRleDp0LmluZGV4LHByaWNlOnQucHJpY2V9LG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTt0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb249bnVsbCxpJiYodGhpcy5fZmluaXNoVG9vbCh1LGEpLGUucHJldmVudERlZmF1bHQoKSl9cmV0dXJufWlmKG51bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludCYmdGhpcy5fZmlyc3Rab29tUG9pbnQuZHJhZ2dpbmdNb2RlKXJldHVybiB2b2lkIHRoaXMuX2ZpbmlzaFpvb20oZSk7aWYodGhpcy5fcHJvY2Vzc2luZz0hMSxzLmN1c3RvbU1vdmVCZWluZ1Byb2Nlc3NlZCgpKXJldHVybiB2b2lkIHMuZW5kQ3VzdG9tTW92aW5nKCk7aWYobnVsbCE9PW4pe2lmKG4uYmVpbmdNb3ZlZCYmIW4uY2FuY2VsbGVkKXtjb25zdCB0PXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKGEpOygwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0fSxuLm1vdXNlVXBIYW5kbGVyLG4udG91Y2hFbmRIYW5kbGVyKSx0aGlzLnNldEN1cnNvckZvclRvb2woKX1pZihyLnNldE1vdmluZ0N1c3RvbVNvdXJjZShudWxsLG51bGwpLHZuKGUsbikpcmV0dXJufWlmKHIubGluZUJlaW5nRWRpdGVkKCkpcmV0dXJuIHMuZW5kQ2hhbmdpbmdMaW5ldG9vbCghMSksdm9pZCh0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCkpO2lmKCgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikoZCkmJiF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSl7Y29uc3QgdD1zLmxpbmVCZWluZ0NyZWF0ZWQoKTtudWxsIT09dCYmKHQuZmluaXNoKCksIkxpbmVUb29sQnJ1c2giPT09dC50b29sbmFtZSYmKDAsJC5lbWl0KSgiZHJhd2luZ19ldmVudCIsdC5pZCgpLCJjcmVhdGUiKSk7Y29uc3QgaT10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKTtpZihpLmlzRW1wdHkoKSlyZXR1cm47aWYoIXQpcmV0dXJuO2NvbnN0IG49KDAsbC5lbnN1cmUpKHQub3duZXJTb3VyY2UoKT8uZmlyc3RWYWx1ZSgpKSxyPWkuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksbiksbz17aW5kZXg6TWF0aC5yb3VuZChzLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSkscHJpY2U6cn07cmV0dXJuIHZvaWQgcy5jb250aW51ZUNyZWF0aW5nTGluZShvKX1jb25zdCBwPXIuY3Jvc3NoYWlyU291cmNlKCkuY3Jvc3NoYWlyRGVtb25zdHJhdGlvbigpO2lmKHAuaXNUaGVyZVVuZmluaXNoZWRIaWdobGlnaHRlcigpKXJldHVybiB2b2lkIHAuZmluaXNoSGlnaGxpZ2h0ZXIoKTtpZihyLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiBzLmVuZE1vdmluZ1NvdXJjZSghMSwhMSksci5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZpbHRlcihyaS5pc0xpbmVUb29sKS5mb3JFYWNoKChlPT57dGhpcy5zZXRDdXJzb3JGb3JUb29sKGUpfSkpLHZvaWQgci5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2suY3Vyc29yKCkpO2lmKCF0aGlzLl9jaGFydC5yZWFkT25seSgpKXtjb25zdCB0PWUubG9jYWxYPj0wJiZlLmxvY2FsWDx0aGlzLl9zaXplLndpZHRoO2lmKCghYXx8YS5zb3VyY2UhPT1vKSYmdCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpLnN5bmNNb2RlbCgpO2lmKHQpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLnRpbWVTY2FsZSgpLnBvaW50cygpLnJvdWdoVGltZShzLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSwoKGUsaSk9PnQucHJvamVjdFRpbWUoZSxpKSkpO251bGwhPT1pJiZ0aGlzLl9jaGFydC5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5zeW5jU2Nyb2xsKDFlMyppLHRoaXMuX2NoYXJ0TW9kZWwoKSl9fX1jb25zdCBfPXRoaXMuX2lzU2Nyb2xsaW5nLGc9dGhpcy5fZW5kU2Nyb2xsKGUpLGY9dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpO2lmKG51bGwhPT1mKXtjb25zdCB0PWUudGFyZ2V0LGk9dGhpcy5fY2hhcnQucGFuZUJ5Q2FudmFzKHQpO2kmJmkhPT10aGlzJiZpLnN0YXRlKCkubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyJiYoZyYmcy51bmRvSGlzdG9yeSgpLnVuZG8oKSxzLm1lcmdlVG9QYW5lKGYsaS5zdGF0ZSgpKSk7aWYodGhpcy5fY2hhcnQudGltZUF4aXNCeUNhbnZhcyh0KSlpZihyLmlzVW5tZXJnZUF2YWlsYWJsZUZvclNvdXJjZShmKSlnJiZzLnVuZG9IaXN0b3J5KCkudW5kbygpLHMudW5tZXJnZVRvTmV3Qm90dG9tUGFuZShmKTtlbHNle2NvbnN0IGU9ci5wYW5lcygpLHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShyLnBhbmVGb3JTb3VyY2UoZikpLGk9ZS5pbmRleE9mKHQpO2khPT1lLmxlbmd0aC0xJiYoZyYmcy51bmRvSGlzdG9yeSgpLnVuZG8oKSx0Lm1heGltaXplZCgpLnZhbHVlKCkmJnMudG9nZ2xlTWF4aW1pemVkUGFuZSh0KSxzLm1vdmVQYW5lKGksZS5sZW5ndGgtMSkpfXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuY2xlYXJEcmFnZ2luZ1NvdXJjZSgpO2NvbnN0IG49dGhpcy5fY2hhcnQuZ2V0VGltZVNjYWxlKCk7biYmbi5yZXN0b3JlRGVmYXVsdEN1cnNvcigpO2NvbnN0IG89dGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3QgdD1vW2VdO3Q9PT10aGlzJiZhJiYhYS5pc0N1c3RvbT90LnNldEN1cnNvckZvclRvb2woYS5zb3VyY2V8fHZvaWQgMCk6dC5zZXRDdXJzb3JGb3JUb29sKCksdC5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS5yZXN0b3JlRGVmYXVsdEN1cnNvcigpLHQucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCl9fQp0aGlzLl9jaGFydC5yZWFkT25seSgpfHx0fHxoLm1vZCgpfHxffHxpfHxudWxsIT09dGhpcy5fbGFzdEZpbmlzaGVkVG9vbElkfHxudWxsIT09YSYmIWEuaGl0dGVzdC5kYXRhKCk/LnNraXBTb3VyY2VTZWxlY3Rpb24mJihhLmhpdHRlc3QudGFyZ2V0KCk+TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmR8fCgwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCkmJnMuc2VsZWN0aW9uTWFjcm8oKHQ9Pntjb25zdCBpPXt0eXBlOiJjaGFuZ2UiLG5ld1NlbGVjdGVkU291cmNlOmEuc291cmNlLGludGVyYWN0aW9uVHlwZTplLmlzVG91Y2g/InRvdWNoIjoicG9pbnRlciJ9O2lmKHQuc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKGkpKXt0LmNsZWFyU2VsZWN0aW9uKCk7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKGEuc291cmNlKTt0LmFkZEl0ZW1Ub1NlbGVjdGlvbihlLHVuKGEsZSkpfX0pKSxlLmlzVG91Y2gmJih0aGlzLl90b3VjaE1vdmU9ITEpfV9tb3VzZU9yVG91Y2hNb3ZlRXZlbnQoZSl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm47dGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJih0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mby5tb3VzZU1vdmU9ITApLHRoaXMuX3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKTtjb25zdCB0PXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTt0aGlzLl9wcm9jZXNzTW91c2VFbnRlckxlYXZlTW92ZUhhbmRsZXJzKHQsZSk7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2lmKCFpKXJldHVybjtjb25zdCBzPWUubG9jYWxYLG49ZS5sb2NhbFk7dGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW5ldyBQdC5Qb2ludChzLG4pO2NvbnN0IHI9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSk7aWYobnVsbD09PXRoaXMuX2ZpcnN0Wm9vbVBvaW50KXtpZih0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKHQscixlKSwhZS5pc1RvdWNoJiZpLmxpbmVCZWluZ0NyZWF0ZWQoKSl7Y29uc3QgZT1pLm1vZGVsKCkucGFuZUJlaW5nQ3JlYXRlZExpbmVPbigpO2lmKG51bGwhPT1lJiZlIT09dGhpcy5fc3RhdGUpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yUG9zaXRpb25PbkV4dGVybmFsUGFuZShlLHMsbixyKX1lLmlzVG91Y2h8fHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24ocyxuLHIpfWVsc2UgdGhpcy5fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlLHIpfV9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpe2lmKHRoaXMuX2NoYXJ0TW9kZWwoKS5kcmFnRXhwb3J0RW5hYmxlZCgpLnZhbHVlKCkmJnZvaWQgMCE9PWUuYnV0dG9ucyYmIUJvb2xlYW4oMSZlLmJ1dHRvbnMpKXJldHVybjtpZighdGhpcy5oYXNTdGF0ZSgpfHx0aGlzLl9waW5jaGluZ3x8ZS5pc1RvdWNoJiZ0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcClyZXR1cm47dGhpcy5fcHJlc3NlZE1vdmVTdGFnZT0yLHRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvJiYodGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8ubW91c2VNb3ZlPSEwKSx0aGlzLl9yZXNldE1lYXN1cmVJZlJlcXVpcmVkKCksdGhpcy5fc3RhcnRDaGFuZ2VPck1vdmVMaW5lVG9vbElmTmVlZGVkKCksZS5pc1RvdWNoJiYodGhpcy5fdG91Y2hNb3ZlPSEwLHRoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEpO2NvbnN0IHQ9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSksaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHM9aS5jcm9zc2hhaXJTb3VyY2UoKSxuPWUubG9jYWxYLHI9ZS5sb2NhbFk7aWYodGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW5ldyBQdC5Qb2ludChuLHIpLG51bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludClyZXR1cm4gdGhpcy5fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlKSx2b2lkKHRoaXMuX2ZpcnN0Wm9vbVBvaW50LmRyYWdnaW5nTW9kZT0hMCk7Y29uc3Qgbz1ULnRvb2wudmFsdWUoKTtpZihlLmlzVG91Y2gmJnRoaXMuX3N0YXJ0VG91Y2hQb2ludCYmKDAsbS5pc0xpbmVUb29sTmFtZSkobykmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKG8pJiYhaS5saW5lQmVpbmdDcmVhdGVkKCkmJiF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSlyZXR1cm4gdm9pZCB0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHRoaXMuc3RhdGUoKSk7Y29uc3QgYT1zLm1lYXN1cmVQYW5lKCkudmFsdWUoKTtpZihlLmlzVG91Y2gmJih0aGlzLl9zdGFydFRvdWNoUG9pbnR8fGUuc3R5bHVzKSYmKCgwLFQudG9vbElzTWVhc3VyZSkobyl8fG51bGwhPT1hKSlyZXR1cm4gdm9pZChlLnN0eWx1cz90aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTp0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLGF8fHRoaXMuc3RhdGUoKSkpO2NvbnN0IGM9aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYoZS5pc1RvdWNoJiYhZS5zdHlsdXMmJmMmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGMudG9vbG5hbWUpKXtpZih0aGlzLl9zdGFydFRvdWNoUG9pbnQpe2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShpLmxpbmVCZWluZ0NyZWF0ZWQoKSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKGkubW9kZWwoKS5wYW5lRm9yU291cmNlKHQpKTt0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHMpfXJldHVybn1pZihlLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQpe3RoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITE7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbiksaT1uZXcgUHQuUG9pbnQobixyKS5zdWJ0cmFjdCh0aGlzLl9zdGFydFRyYWNrUG9pbnQpLHM9ZS5hZGQoaSk7dGhpcy5zZXRDdXJzb3JQb3NpdGlvbihzLngscy55LHQpfWVsc2UgZS5pc1RvdWNoJiZ0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKG4scix0KQo7Y29uc3QgaD10aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKTtpZigoMCxtLmlzTGluZVRvb2xOYW1lKShvKSYmISgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikobykmJiFoJiYhdC5tb2QoKSlyZXR1cm47aWYoKDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShvKSYmIWgpe2NvbnN0IHQ9aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYoIXQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChlLmxvY2FsWCxlLmxvY2FsWSwoMCxsLmVuc3VyZU5vdE51bGwpKHQub3duZXJTb3VyY2UoKSkpO3JldHVybiB2b2lkKHMmJmkuY29udGludWVDcmVhdGluZ0xpbmUocykpfWNvbnN0IGQ9aS5jcm9zc2hhaXJTb3VyY2UoKS5jcm9zc2hhaXJEZW1vbnN0cmF0aW9uKCk7aWYoZC5pc1RoZXJlVW5maW5pc2hlZEhpZ2hsaWdodGVyKCkpe2NvbnN0IGU9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChzLm9yaWdpblgoKSxzLm9yaWdpblkoKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKSk7cmV0dXJuIHZvaWQoZSYmZC5hZGRIaWdobGlnaHRlclBvc2l0aW9uKGUpKX1pZihudWxsIT09dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpKXtjb25zdCB0PWUudGFyZ2V0LGk9dGhpcy5fY2hhcnQucGFuZUJ5Q2FudmFzKHQpO2kmJihpIT09dGhpcz9pLnNldERyYWdUb0Fub3RoZXJQYW5lQ3Vyc29yKCk6aS5zZXRDdXJzb3JGb3JUb29sKCkpO2NvbnN0IHM9dGhpcy5fY2hhcnQudGltZUF4aXNCeUNhbnZhcyh0KTtzJiZzLnNldEN1cnNvcigiZ3JhYmJpbmciKX1pZihpLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdT10aGlzLl9vcHRpb25zLmhhbmRsZVNjcm9sbDtpZigoIXUucHJlc3NlZE1vdXNlTW92ZXx8ZS5pc1RvdWNoKSYmKCF1LmhvcnpUb3VjaERyYWcmJiF1LnZlcnRUb3VjaERyYWd8fCFlLmlzVG91Y2gpKXJldHVybjtpZih0aGlzLl9jaGFydE1vZGVsKCkuZHJhZ0V4cG9ydEVuYWJsZWQoKS52YWx1ZSgpJiZ0aGlzLl9pZ25vcmluZ01vdXNlTW92ZW1lbnQpcmV0dXJuO2lmKGkuY3VzdG9tTW92ZUJlaW5nUHJvY2Vzc2VkKCkpcmV0dXJuIHZvaWQgaS5wcm9jZXNzQ3VzdG9tTW92ZShlKTtjb25zdCBwPWkubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpO2lmKG51bGwhPT1wJiYodGhpcy5fdXBkYXRlQ29tbW9uVG9vbHRpcChudWxsLCEwKSxwLmNhbmNlbGxlZHx8KGkubW9kZWwoKS5wcm9jZXNzaW5nQ3VzdG9tU291cmNlTW92ZSgpLCgwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0aGlzLl9zZWxlY3Rpb25CZWZvcmVNb3VzZURvd24uaGFzKGkubW9kZWwoKS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCkpfSxwLnByZXNzZWRNb3VzZU1vdmVIYW5kbGVyLHAudG91Y2hNb3ZlSGFuZGxlcikpLHZuKGUscCkpKXJldHVybjtpZihpLm1vZGVsKCkubGluZUJlaW5nRWRpdGVkKCkpcmV0dXJuIHZvaWQgdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihuLHIsdCk7aWYoaS5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKGkubW9kZWwoKS5zb3VyY2VzQmVpbmdNb3ZlZCgpLGUubG9jYWxYLGUubG9jYWxZLHQsaS5tb2RlbCgpLmxhc3RIaXR0ZXN0RGF0YSgpPy5wb3NzaWJsZU1vdmluZ0RpcmVjdGlvbnMpO2NvbnN0IF89dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO2lmKHRoaXMuX3RyeUZpbmlzaENsb25uaW5nKGUsbmV3IExpLkVudmlyb25tZW50U3RhdGUoZSksXykpcmV0dXJuO2NvbnN0IGc9KDAsVC50b29sSXNNZWFzdXJlKShvKXx8cy5zdGFydE1lYXN1cmVQb2ludCgpJiZzLmVuZE1lYXN1cmVQb2ludCgpO3RoaXMuX2NoYXJ0LnJlYWRPbmx5KCl8fCF0Lm1vZCgpfHwoMCxtLmlzTGluZVRvb2xOYW1lKShvKXx8Z3x8aD8odGhpcy5fcHJvY2Vzc1Njcm9sbChlKSx0aGlzLl9wcmV2ZW50U2Nyb2xsKCkmJiF0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZudWxsPT09dGhpcy5fc3RhcnRUcmFja1BvaW50JiZ0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSk6dGhpcy5faXNTZWxlY3Rpbmd8fChzLnN0YXJ0U2VsZWN0aW9uKHRoaXMuc3RhdGUoKSksdGhpcy5faXNTZWxlY3Rpbmc9ITApfV9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpe2lmKCF0aGlzLmhhc1N0YXRlKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZighdClyZXR1cm47Y29uc3QgaT10LmNyb3NzaGFpclNvdXJjZSgpO2UuaXNUb3VjaHx8bnVsbCE9PWkubWVhc3VyZVBhbmUoKS52YWx1ZSgpJiZudWxsPT09aS5lbmRNZWFzdXJlUG9pbnQoKXx8dGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpO2lmKHRoaXMuX2NoYXJ0TW9kZWwoKS5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCksbnVsbCE9PXRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdCl7Y29uc3QgdD10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QpOygwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0fSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/Lm1vdXNlTGVhdmVIYW5kbGVyKSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbH10aGlzLl91cGRhdGVDb21tb25Ub29sdGlwKG51bGwpLHRoaXMuX2NoYXJ0LnNldEFjdGl2ZVBhbmVXaWRnZXQobnVsbCl9X21vdXNlRG91YmxlQ2xpY2tPckRvdWJsZVRhcEV2ZW50KGUpe2lmKCF0aGlzLmhhc1N0YXRlKCkpcmV0dXJuO2NvbnN0IHQ9IXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCkmJiEoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJnRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKXx8bnVsbCxpPXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKHQpCjtpZihudWxsIT09dCYmdC5pc0N1c3RvbSl0LmhpdHRlc3QudHJ5Q2FsbERibENsaWNrT3JEYmxUYXBIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOml9KTtlbHNlIGlmKG51bGwhPT10JiYoZS5pc1RvdWNofHx0LmhpdHRlc3QudGFyZ2V0KCk+TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQpKXQuaGl0dGVzdC50cnlDYWxsRGJsQ2xpY2tPckRibFRhcEhhbmRsZXIoZSx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pJiYhKDAsTWkuc2hvdWxkRGVmYXVsdEFjdGlvbkJlRXhlY3V0ZWQpKGUsKDAsbC5lbnN1cmVOb3ROdWxsKSh0LmhpdHRlc3QuZGF0YSgpKSwiZG91YmxlQ2xpY2tIYW5kbGVyIiwiZG91YmxlVGFwSGFuZGxlciIpfHx0aGlzLnByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKHQuc291cmNlLHQuaGl0dGVzdD90LmhpdHRlc3Q6dm9pZCAwKTtlbHNlIGlmKCF0aGlzLl9jaGFydC5yZWFkT25seSgpJiYhKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpJiYhdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCkuaXNFbXB0eSgpKXtjb25zdCB0PXRoaXMuc3RhdGUoKTtuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKS5tb2QoKSYmIXQubWF4aW1pemVkKCkudmFsdWUoKT8odC5jb2xsYXBzZWQoKS52YWx1ZSgpfHx0LmNvbGxhcHNpbmdBdmFpbGFibGUoKS52YWx1ZSgpKSYmdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50b2dnbGVDb2xsYXBzZWRQYW5lKHRoaXMuc3RhdGUoKSk6dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50b2dnbGVNYXhpbWl6ZWRQYW5lKHRoaXMuc3RhdGUoKSl9fV9jb250ZXh0TWVudUV2ZW50KGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZih0LmNyb3NzaGFpclNvdXJjZSgpLnN0YXJ0TWVhc3VyZVBvaW50KCkmJiF0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXApcmV0dXJuIHQuY3Jvc3NoYWlyU291cmNlKCkuY2xlYXJNZWFzdXJlKCksdm9pZCgwLFQucmVzZXRUb0N1cnNvcikoITApO2lmKHRoaXMuX3BpbmNoaW5nKXJldHVybjtpZihudWxsPT09dGhpcy5fZmlyc3Rab29tUG9pbnR8fHRoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcHx8dGhpcy5jYW5jZWxab29tKCksISgwLFQudG9vbElzQ3Vyc29yKShULnRvb2wudmFsdWUoKSl8fHRoaXMuX2lzU2VsZWN0UG9pbnRNb2RlRW5hYmxlZCgpKXtpZihlLmlzVG91Y2gpcmV0dXJuO3JldHVybigwLFQucmVzZXRUb0N1cnNvcikoITApLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpLHZvaWQodC5saW5lQmVpbmdDcmVhdGVkKCkmJnQuY2FuY2VsQ3JlYXRpbmdMaW5lKCkpfWlmKCF0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51RW5hYmxlZClyZXR1cm47Y29uc3QgaT10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSkscz1pP2kuc291cmNlOm51bGw7aWYoZS5pc1RvdWNoJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50KXtpZih0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXJldHVybjt0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCl9ZS5pc1RvdWNoJiYodGhpcy5fY29udGV4dE1lbnVPcGVuZWRPbkxhc3RUYXA9ITAsdGhpcy5fc3RhcnRUcmFja1BvaW50PW51bGwpLHRoaXMuX2NvbnRleHRNZW51WD1lLmxvY2FsWCx0aGlzLl9jb250ZXh0TWVudVk9ZS5sb2NhbFk7Y29uc3Qgbj1pJiZpLmhpdHRlc3Q/aS5oaXR0ZXN0LnRhcmdldCgpOjAscj1uPj1NaS5IaXRUYXJnZXQuUmVndWxhcnx8bj49TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQmJmUuaXNUb3VjaDtpZih0LnNlbGVjdGlvbk1hY3JvKCh0PT57bnVsbCE9PXMmJnI/dC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHMpfHwodC5jbGVhclNlbGVjdGlvbigpLHQuYWRkSXRlbVRvU2VsZWN0aW9uKHMsdW4oaSxzKSkpOih0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51LmdlbmVyYWwmJnRoaXMuX3Nob3dDb250ZXh0TWVudShlKSx0LmNsZWFyU2VsZWN0aW9uKCkpfSkpLG51bGwhPT1pJiZyJiZudWxsIT09cylpZigoMCxBaS5pc0RhdGFTb3VyY2UpKHMpJiZzLmhhc0NvbnRleHRNZW51KCkpcy5pc1NlbGVjdGlvbkVuYWJsZWQoKT90aGlzLnNob3dDb250ZXh0TWVudUZvclNlbGVjdGlvbihlLHZvaWQgMCxpLmhpdHRlc3QpOnRoaXMuc2hvd0NvbnRleHRNZW51Rm9yU291cmNlcyhbc10sZSx2b2lkIDAsdm9pZCAwLGkuaGl0dGVzdCk7ZWxzZXtjb25zdCB0PXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKGkpO2kuaGl0dGVzdC50cnlDYWxsQ29udGV4dE1lbnVIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOnR9KX19X29uTW91c2VFdmVudCgpe3RoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEsdGhpcy5fc3RhcnRUcmFja1BvaW50PW51bGwsdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwPSExfV9vblRvdWNoRXZlbnQoKXt0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXA9ITB9X2xvY2FsQ29vcmRpbmF0ZXNUb0xpbmVEYXRhU291cmNlUG9pbnQoZSx0LGkpe2NvbnN0IHM9dGhpcy5zdGF0ZSgpLmRlZmF1bHRQcmljZVNjYWxlKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3Qgbj1uZXcgUHQuUG9pbnQoZSx0KSxyPSgwLGwuZW5zdXJlKShpLmZpcnN0VmFsdWUoKSk7cmV0dXJuIG4ucHJpY2U9cy5jb29yZGluYXRlVG9QcmljZSh0LHIpLG4uaW5kZXg9TWF0aC5yb3VuZCh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUpKSxufV9zd2l0Y2hUcmFja2luZ01vZGVGcm9tQW5vdGhlclBhbmVJZk5lZWRlZChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0LnRyYWNraW5nTW9kZVBhbmVXaWRnZXQoKTtpZihudWxsIT09dCYmdCE9PXRoaXMpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmN1cnJlbnRQb2ludCgpO3QuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITAsdC5fdHJ5RXhpdFRyYWNraW5nTW9kZSghMCksCnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoaS54LGUubG9jYWxZKSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9fWFzeW5jIF9zaG93Q29udGV4dE1lbnUoZSl7Y29uc3QgdD1lPT5lIGluc3RhbmNlb2YgZXMuU2VwYXJhdG9yLGk9dGhpcy5fY3VzdG9tQWN0aW9ucygpLHM9KGF3YWl0IHRoaXMuX2luaXRBY3Rpb25zKGUpKS5maWx0ZXIoKGU9Pm51bGwhPT1lKSk7aS5yZW1vdmUuZm9yRWFjaCgoZT0+e2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7dCsrKXtjb25zdCBpPXNbdF07aWYoaSBpbnN0YW5jZW9mIGVzLkFjdGlvbiYmaS5nZXRMYWJlbCgpPT09ZSl7cy5zcGxpY2UodCwxKTticmVha319fSkpO2NvbnN0IG49aS50b3AuY29uY2F0KHMpLmNvbmNhdChpLmJvdHRvbSk7Zm9yKGxldCBlPW4ubGVuZ3RoLTE7ZT4wO2UtLSl0KG5bZV0pJiZ0KG5bZS0xXSkmJm4uc3BsaWNlKGUsMSk7bi5sZW5ndGgmJnQoblswXSkmJm4uc3BsaWNlKDAsMSksbi5sZW5ndGgmJnQobltuLmxlbmd0aC0xXSkmJm4uc3BsaWNlKG4ubGVuZ3RoLTEsMSksTmkuQ29udGV4dE1lbnVNYW5hZ2VyLnNob3dNZW51KG4sZSx7c3RhdE5hbWU6IkNoYXJ0Q29udGV4dE1lbnUifSx7bWVudU5hbWU6IkNoYXJ0Q29udGV4dE1lbnUifSl9YXN5bmMgX2luaXRBY3Rpb25zKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnQuYWN0aW9ucygpLGk9W107aWYodGhpcy5fY2hhcnQubW9kZWwoKS5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKSYmKGkucHVzaCh0LmNoYXJ0UmVzZXQpLGkucHVzaChuZXcgZXMuU2VwYXJhdG9yKSksIXRoaXMuc3RhdGUoKS5pc0VtcHR5KCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRhdGFzb3VyY2VfY29weXBhc3RlIikmJnRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpe2NvbnN0e2NyZWF0ZVBhc3RlQWN0aW9uOnQsY3JlYXRlQWN0aW9uQ29weVByaWNlOnN9PWF3YWl0KDAsc3MuYWN0aW9uc1Byb3ZpZGVyTW9kdWxlKSgpLG49cyh0aGlzLnN0YXRlKCksZS5sb2NhbFkpLHI9dCh0aGlzLl9jaGFydCx0aGlzLnN0YXRlKCkpOyhufHxyKSYmKG4mJmkucHVzaChuKSxyJiZpLnB1c2gociksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpKX1pZihHcy5hbGVydHNBdmFpbGFibGUmJnRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXImJihpLmxlbmd0aCYmaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5zdGF0ZSgpLm1haW5EYXRhU291cmNlKCkpLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS52YWx1ZSgpKSl7Y29uc3QgdD0oYXdhaXQoMCxGcy5nZXRBbGVydHNDaGFydEFjdGlvbkNyZWF0b3JzKSgpKS5jcmVhdGVBbGVydCh0aGlzLl9jaGFydCx7bG9jYWxZOmUubG9jYWxZLHBhbmU6dGhpcy5zdGF0ZSgpfSk7bnVsbCE9PXQmJmkucHVzaCh0KX1pZih0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51Lm1haW5TZXJpZXNUcmFkZSYmdGhpcy5jb250YWluc01haW5TZXJpZXMoKSl7Y29uc3R7Y3JlYXRlQWN0aW9uVHJhZGU6dH09YXdhaXQoMCxzcy5hY3Rpb25zUHJvdmlkZXJNb2R1bGUpKCkscz1hd2FpdCB0KHRoaXMuX2NoYXJ0LHRoaXMuX2NoYXJ0Lm9wdGlvbnMoKS5leHRlcm5hbFNlcnZpY2VzLnRyYWRpbmcsZSk7cyYmaS5wdXNoKC4uLnMpfWlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLHQubW92ZUNoYXJ0QWN0aW9uJiYhdC5tb3ZlQ2hhcnRBY3Rpb24uaXNEaXNhYmxlZCgpJiZpLnB1c2godC5tb3ZlQ2hhcnRBY3Rpb24sbmV3IGVzLlNlcGFyYXRvciksaS5wdXNoKHRoaXMuX2NyZWF0ZUxvY2tUaW1lQXhpc0FjdGlvbihlKSksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpO2NvbnN0IHM9dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpOygwLHpzLmlzVGFibGVWaWV3QWxsb3dlZEZvclN5bWJvbCkocykmJnQub3BlblRhYmxlVmlldyYmaS5wdXNoKHQub3BlblRhYmxlVmlldyksdC5wYW5lT2JqZWN0VHJlZSYmaS5wdXNoKHQucGFuZU9iamVjdFRyZWUpLHQuYXBwbHlDb2xvclRoZW1lJiZpLnB1c2godC5hcHBseUNvbG9yVGhlbWUpLGlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLHRoaXMuX2NoYXJ0LmFwcGx5SW5kaWNhdG9yc1RvQWxsQ2hhcnRzQXZhaWxhYmxlKCkmJihpLnB1c2godC5hcHBseVN0dWRpZXNUb0FsbENoYXJ0cyksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpKTtjb25zdCBuPXQucGFuZVJlbW92ZUFsbERyYXdpbmdUb29scy5nZXRTdGF0ZSgpLmRpc2FibGVkO258fGkucHVzaCh0LnBhbmVSZW1vdmVBbGxEcmF3aW5nVG9vbHMpO2NvbnN0IHI9dC5wYW5lUmVtb3ZlQWxsU3R1ZGllcy5nZXRTdGF0ZSgpLmRpc2FibGVkO3JldHVybiByfHxpLnB1c2godC5wYW5lUmVtb3ZlQWxsU3R1ZGllcyksbiYmcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfY2hhcnRfcHJvcGVydHlfcGFnZSIpJiZpLnB1c2godC5jaGFydFByb3BlcnRpZXMpLGlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvciYmaS5wb3AoKSxpfV9sb2FkQW5kQ3JlYXRlTGVnZW5kV2lkZ2V0KCl7ClByb21pc2UuYWxsKFtpLmUoNDk2NzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg5NDk0OCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTcwODcpLGkuZSg3MDgxNSksaS5lKDkzNDE2KSxpLmUoMTIwNTEpLGkuZSg1MjA5NSksaS5lKDQ0MDMxKSxpLmUoODkwNDQpLGkuZSg0Mzc5MiksaS5lKDc4NDA0KSxpLmUoNTI5MjApLGkuZSg2MjYwMCksaS5lKDc1MjE3KSxpLmUoOTg2OTYpLGkuZSg2NTY3NSksaS5lKDkwNzQxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDY4NzI1KSxpLmUoMzY5MzgpLGkuZSg2NzkzMCksaS5lKDY1NTg4KV0pLnRoZW4oaS5iaW5kKGksNjcxODE4KSkudGhlbigoZT0+e2lmKHRoaXMuX2lzRGVzdHJveWVkfHwhdGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkfHx0aGlzLl9sZWdlbmRXaWRnZXQpcmV0dXJuO2NvbnN0IHQ9ZS5MZWdlbmRXaWRnZXQsaT0oMCx4aS5kZWVwRXh0ZW5kKSh7fSx0aGlzLl9vcHRpb25zLmxlZ2VuZFdpZGdldCk7aS5jYW5TaG93U291cmNlQ29kZT0hdGhpcy5fY2hhcnQub25XaWRnZXQoKSYmIUouQ2hlY2tNb2JpbGUuYW55KCksaS5yZWFkT25seU1vZGU9aS5yZWFkT25seU1vZGV8fHRoaXMuX2NoYXJ0LnJlYWRPbmx5KCksaS5zdGF0dXNlc1dpZGdldHM9e3NvdXJjZVN0YXR1c2VzRW5hYmxlZDp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0RW5hYmxlZCxzb3VyY2VTdGF0dXNlczp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0fHx7fSxtYXJrZXRTdGF0dXNFbmFibGVkOnRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzV2lkZ2V0RW5hYmxlZCxkYXRhVXBkYXRlTW9kZUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5jaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkLGRhdGFVcGRhdGVNb2RlOnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0fHx7fSxkYXRhUHJvYmxlbUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5kYXRhUHJvYmxlbVdpZGdldEVuYWJsZWQscGluZVNvdXJjZVN0YXR1c0VuYWJsZWQ6dGhpcy5fb3B0aW9ucy5waW5lU291cmNlU3RhdHVzRW5hYmxlZCxhbGVydFN0YXR1c0VuYWJsZWQ6dGhpcy5fb3B0aW9ucy5hbGVydFN0YXR1c0VuYWJsZWR9O2NvbnN0IHM9KDAsdS5jb21iaW5lKSgoKGUsdCk9PmduJiZ0aGlzLl9jaGFydCE9PWUmJiF0KSx0aGlzLl9jaGFydC5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hY3RpdmVDaGFydFdpZGdldC53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY2hhcnQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkubG9jay5jcm9zc2hhaXIud2Vha1JlZmVyZW5jZSgpKSxuPSgwLHUuY29tYmluZSkoKChlLHQpPT5udWxsIT09ZT9lPT09dGhpcy5fc3RhdGU6KDAsVC50b29sSXNNZWFzdXJlKSh0KSksdGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLm1lYXN1cmVQYW5lKCkud2Vha1JlZmVyZW5jZSgpLFQudG9vbC53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2xlZ2VuZFdpZGdldD1uZXcgdCh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHRoaXMsdGhpcy5fY2hhcnQuYmFja2dyb3VuZFRvcFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxzLm93bmVyc2hpcCgpLHRoaXMuX3Zpc3VhbGx5Q29sbGFwc2VkLnNwYXduT3duZXJzaGlwKCksbi5vd25lcnNoaXAoKSxpLHtzaG93Q29udGV4dE1lbnVGb3JTZWxlY3Rpb246dGhpcy5zaG93Q29udGV4dE1lbnVGb3JTZWxlY3Rpb24uYmluZCh0aGlzKSxzaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzOnRoaXMuc2hvd0NvbnRleHRNZW51Rm9yU291cmNlcy5iaW5kKHRoaXMpLHNob3dDaGFydFByb3BlcnRpZXNGb3JTb3VyY2U6dGhpcy5fY2hhcnQuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZS5iaW5kKHRoaXMuX2NoYXJ0KSxzaG93R2VuZXJhbENoYXJ0UHJvcGVydGllczp0aGlzLl9jaGFydC5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcy5iaW5kKHRoaXMuX2NoYXJ0KSxzaG93T2JqZWN0c1RyZWVEaWFsb2c6dGhpcy5fY2hhcnQuc2hvd09iamVjdHNUcmVlRGlhbG9nLmJpbmQodGhpcy5fY2hhcnQpLG9uTGVnZW5kUm93Rm9jdXNlZDooKT0+e3RoaXMuX2NoYXJ0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0V2lkZ2V0LnNldFZhbHVlKHRoaXMuX2NoYXJ0KX19KTtjb25zdCByPXRoaXMuX2xlZ2VuZFdpZGdldC5nZXRFbGVtZW50KCk7ci5jbGFzc0xpc3QuYWRkKCJjaGFydC1ndWktd3JhcHBlcl9fbGVnZW5kIiksdGhpcy5fZGl2LnByZXBlbmQociksdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZUxheW91dCgpLHRoaXMuX2xlZ2VuZFdpZGdldC51cGRhdGVXaWRnZXRNb2RlQnlTaXplKHRoaXMuX3NpemUpLHRoaXMuX2xlZ2VuZFdpZGdldC51cGRhdGVUaGVtZWRDb2xvcnModGhpcy5fdGhlbWVkVG9wQ29sb3IpO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20odGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAua2V5cygpKSl0aGlzLl9sZWdlbmRXaWRnZXQuYWRkQ3VzdG9tV2lkZ2V0VG9MZWdlbmQoZSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwLmdldChlKSkpfSkpfV9sb2FkQW5kQ3JlYXRlUGFuZUNvbnRyb2xzV2lkZ2V0KGUpewpQcm9taXNlLmFsbChbaS5lKDQ5Njc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoOTQ5NDgpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDE3MDg3KSxpLmUoNzA4MTUpLGkuZSg5MzQxNiksaS5lKDEyMDUxKSxpLmUoNTIwOTUpLGkuZSg0NDAzMSksaS5lKDg5MDQ0KSxpLmUoNDM3OTIpLGkuZSg3ODQwNCksaS5lKDUyOTIwKSxpLmUoNjI2MDApLGkuZSg3NTIxNyksaS5lKDk4Njk2KSxpLmUoNjU2NzUpLGkuZSg5MDc0MSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgyMzc0MyksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg2ODcyNSksaS5lKDM2OTM4KSxpLmUoNjc5MzApLGkuZSg2NTU4OCldKS50aGVuKGkuYmluZChpLDI5NzcwNykpLnRoZW4oKHQ9PntpZih0aGlzLl9pc0Rlc3Ryb3llZHx8dGhpcy5fc3RhdGUhPT1lKXJldHVybjtjb25zdCBpPXQuUGFuZUNvbnRyb2xzV2lkZ2V0O3RoaXMuX3BhbmVDb250cm9scz1uZXcgaSh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLGUse2JhY2tncm91bmRUaGVtZU5hbWU6dGhpcy5fY2hhcnQuYmFja2dyb3VuZFRvcFRoZW1lKCksYW55U2VwYXJhdG9yU2VsZWN0ZWQ6dGhpcy5fYW55U2VwYXJhdG9yU2VsZWN0ZWQud2Vha1JlZmVyZW5jZSgpfSx0aGlzLl9kaXYpLHRoaXMuX3BhbmVDb250cm9scy51cGRhdGVXaWRnZXRNb2RlQnlXaWR0aCh0aGlzLl9zaXplLndpZHRoKSx0aGlzLl9wYW5lQ29udHJvbHMudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlUmVzdHJpY3RMZWdlbmRXaWR0aC5iaW5kKHRoaXMpKSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX3BhbmVDb250cm9scy5nZXRFbGVtZW50KCkpLHRoaXMuX3BhbmVDb250cm9scy5nZXRFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgiY2hhcnQtZ3VpLXdyYXBwZXJfX3BhbmVDb250cm9scyIpLHRoaXMuX3N0YXRlPy5jb2xsYXBzZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsKCkuZnVsbFVwZGF0ZSgpfSkpfV9oYW5kbGVSZXN0cmljdExlZ2VuZFdpZHRoKGUpe251bGwhPT10aGlzLl9sZWdlbmRXaWRnZXQmJm51bGwhPT10aGlzLl9wYW5lQ29udHJvbHMmJnRoaXMuX2xlZ2VuZFdpZGdldC5hZGRNYXJnaW4oZVtlLmxlbmd0aC0xXS5jb250ZW50UmVjdC53aWR0aCl9X29uTWFnbmV0U3RhdGVDaGFuZ2VkKCl7dGhpcy5fY2hhcnQuaXNBY3RpdmUoKS52YWx1ZSgpJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCl8fHRoaXMuX2lzVG9vbEFjdGlvbkFjdGl2ZU9uUGFuZSghMCkpJiZ0aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkudmlzaWJsZSYmdGhpcy5fdXBkYXRlTGluZVRvb2xVc2luZ01hZ25ldE9yU2hpZnQoKX1fb25TaGlmdEtleVN0YXRlQ2hhbmdlZCgpe3RoaXMuX2NoYXJ0LmlzQWN0aXZlKCkudmFsdWUoKSYmdGhpcy5faXNUb29sQWN0aW9uQWN0aXZlT25QYW5lKCExKSYmdGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLnZpc2libGUmJnRoaXMuX3VwZGF0ZUxpbmVUb29sVXNpbmdNYWduZXRPclNoaWZ0KExpLkVudmlyb25tZW50U3RhdGUuY3JlYXRlKCgwLFh0LnNoaWZ0UHJlc3NlZCkoKS52YWx1ZSgpKSl9X2lzVG9vbEFjdGlvbkFjdGl2ZU9uUGFuZShlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKSxpPXQubGluZUJlaW5nQ3JlYXRlZCgpfHx0LmxpbmVCZWluZ0VkaXRlZCgpfHx0LnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoPjAmJnQuc291cmNlc0JlaW5nTW92ZWQoKVswXTtyZXR1cm4gaT90LnBhbmVGb3JTb3VyY2UoaSk9PT10aGlzLl9zdGF0ZTplJiYoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJnQuY3Jvc3NoYWlyU291cmNlKCkucGFuZT09PXRoaXMuX3N0YXRlfV91cGRhdGVMaW5lVG9vbFVzaW5nTWFnbmV0T3JTaGlmdChlKXtpZihudWxsPT09dGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uKXJldHVybjtjb25zdHt4OnQseTppfT10aGlzLl9wcmV2TW92ZUV2ZW50UG9zaXRpb24scz10aGlzLl9jaGFydE1vZGVsKCkuc291cmNlc0JlaW5nTW92ZWQoKTtzLmxlbmd0aD4wPyhULmlzU3R1ZHlFZGl0aW5nTm93LnZhbHVlKCkmJnRoaXMuc2V0Q3Vyc29yUG9zaXRpb24odCxpLGUpLHRoaXMuX2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKHMsdCxpLGUpKTp0aGlzLnNldEN1cnNvclBvc2l0aW9uKHQsaSxlKX1fc2hvd0VkaXREaWFsb2dGb3JTb3VyY2UoZSx0KXtpZih0aGlzLl9vcHRpb25zLnByb3BlcnR5UGFnZXNFbmFibGVkJiZlLnVzZXJFZGl0RW5hYmxlZCgpKWlmKGU9PT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLm1haW5TZXJpZXMoKSl0aGlzLl9jaGFydC5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcyhKdC5UYWJOYW1lcy5zeW1ib2wpO2Vsc2UgaWYoKDAscmkuaXNMaW5lVG9vbCkoZSl8fCgwLHRpLmlzU3R1ZHkpKGUpfHxzaShlKSl7bGV0IGk7Y29uc3Qgcz10Py5kYXRhKCk7aWYobnVsbCE9cyl7Y29uc3QgZT1zLmFyZWFOYW1lO3ZvaWQgMCE9PWUmJihpPW1uLmdldChlKSl9dGhpcy5fY2hhcnQuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZShlLGkpLnRoZW4oKGU9Pnt0aGlzLl9lZGl0RGlhbG9nPWV9KSl9fV9pbml0VG9vbENyZWF0aW9uTW9kZVBhcmFtcyhlKXt0aGlzLl9zdGFydFRvdWNoUG9pbnQ9bmV3IFB0LlBvaW50KGUucGFnZVgsZS5wYWdlWSksdGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jdXJyZW50UG9pbnQoKX1fdXBkYXRlQ3Jvc3NoYWlyUG9zaXRpb25JblRvb2xDcmVhdGlvbk1vZGUoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUpewpjb25zdCBpPXRoaXMuX2NoYXJ0LnBhbmVCeVN0YXRlKHQpO3JldHVybiBpLl9zdGFydFRvdWNoUG9pbnQ9dGhpcy5fc3RhcnRUb3VjaFBvaW50LGkuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj10aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb24sdm9pZCBpLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHQpfWNvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO3RoaXMuX2NoYXJ0Lmp1c3RBY3RpdmF0ZWQoKSYmKHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj1pLmN1cnJlbnRQb2ludCgpKTtjb25zdCBzPWUucGFnZVgsbj1lLnBhZ2VZLHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb24pLG89bmV3IFB0LlBvaW50KHMsbikuc3VidHJhY3QoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zdGFydFRvdWNoUG9pbnQpKSxhPXIuYWRkKG8pO3RoaXMuc2V0Q3Vyc29yUG9zaXRpb24oYS54LGEueSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9X3ByaWNlQXhpc2VzQ29udGFpbmVyKGUpe3JldHVybiJsZWZ0Ij09PWU/dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXI6dGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXJ9X3JlY2FsY3VsYXRlUHJpY2VTY2FsZXMoZSl7Y29uc3QgdD10aGlzLnN0YXRlKCk7Zm9yKGNvbnN0IGkgb2YgdC5sZWZ0UHJpY2VTY2FsZXMoKSl0LnJlY2FsY3VsYXRlUHJpY2VTY2FsZShpLGUpO2Zvcihjb25zdCBpIG9mIHQucmlnaHRQcmljZVNjYWxlcygpKXQucmVjYWxjdWxhdGVQcmljZVNjYWxlKGksZSk7Zm9yKGNvbnN0IGkgb2YgdC5zb3VyY2VzQnlHcm91cCgpLm92ZXJsYXlQcmljZVNjYWxlU291cmNlcygpKSgwLHJpLmlzTGluZVRvb2wpKGkpfHx0LnJlY2FsY3VsYXRlUHJpY2VTY2FsZShpLnByaWNlU2NhbGUoKSxlKX1fY3JlYXRlTG9ja1RpbWVBeGlzQWN0aW9uKGUpe2NvbnN0IHQ9MD09PVQuY3Jvc3NoYWlyTG9jay52YWx1ZSgpPy50eXBlO3JldHVybiBuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuQ3Jvc3NoYWlyLkxvY2tWZXJ0aWNhbEN1cnNvciIsb3B0aW9uczp7bGFiZWw6bm4sc3RhdE5hbWU6IkxvY2tDdXJzb3JJblRpbWUiLGNoZWNrYWJsZTohMCxjaGVja2VkOnQsb25FeGVjdXRlOigpPT50aGlzLl90b2dnbGVMb2NrVGltZUF4aXMoZS5sb2NhbFgsIXQpfX0pfV90b2dnbGVMb2NrVGltZUF4aXMoZSx0KXtpZih0KXtjb25zdCB0PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkudGltZVNjYWxlKCksaT10LmNvb3JkaW5hdGVUb0luZGV4KGUpLHM9dC5wb2ludHMoKS5yb3VnaFRpbWUoaSk7aWYobnVsbCE9PXMpcmV0dXJuIHZvaWQgVC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKHt0eXBlOjAsdGltZTpzfSl9VC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKG51bGwpfV9wcmV2ZW50VG91Y2hFdmVudHNFeGNlcHRQaW5jaCgpe3JldHVybiB0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLmhhc1RvdWNoZXNPbk90aGVyUGFuZXModGhpcyl8fG51bGwhPT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnBpbmNoaW5nUGFuZSgpfV91cGRhdGVIb3ZlcmVkU291cmNlKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1zLm1vZGVsKCk7bGV0IHI9ITE7Y29uc3Qgbz1lJiZlLnNvdXJjZSxhPXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCk7aWYobi5jcm9zc2hhaXJTb3VyY2UoKS5pc1JlcGxheVNlbGVjdGlvbigpKXRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibm9uZSIpO2Vsc2UgaWYoISghYXx8ZSYmKDAscmkuaXNMaW5lVG9vbCkoZS5zb3VyY2UpKXx8dGhpcy5fZWRpdERpYWxvZyYmdGhpcy5fZWRpdERpYWxvZy52aXNpYmxlKCkudmFsdWUoKSlhJiYobi5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCksdGhpcy5zZXRDdXJzb3JGb3JUb29sKCkpO2Vsc2V7Y29uc3QgbD1ULnRvb2wudmFsdWUoKTtsZXQgYz1udWxsO2lmKCF0aGlzLl9wcm9jZXNzaW5nJiYoKDAsVC50b29sSXNDdXJzb3IpKGwpfHwoMCxULnRvb2xJc0VyYXNlcikobCkmJiFhfHx0Lm1vZCgpfHwhcy5saW5lQmVpbmdDcmVhdGVkKCkpKXtjb25zdCB0PWU/LmhpdHRlc3Q7cj1Cb29sZWFuKHQ/LmRhdGEoKT8uaGlkZUNyb3NzaGFpckxpbmVzT25Ib3ZlciksdCYmdC50YXJnZXQoKT5NaS5IaXRUYXJnZXQuTW92ZVBvaW50QmFja2dyb3VuZD8oYz1vLCFvPy5pc0hvdmVyZWRFbmFibGVkKCl8fCgwLFQudG9vbElzRXJhc2VyKShsKSYmbz09PXMubWFpblNlcmllcygpP24uc2V0SG92ZXJlZFNvdXJjZShudWxsLG51bGwpOm4uc2V0SG92ZXJlZFNvdXJjZShvLHQuZGF0YSgpLDApKTpuLnNldEhvdmVyZWRTb3VyY2UobnVsbCxudWxsKX1hP3RoaXMuc2V0Q3Vyc29yRm9yVG9vbChjLHQsWXMuUGFuZUN1cnNvclR5cGUuRGVmYXVsdCk6dGhpcy5fb3B0aW9ucy5zb3VyY2VTZWxlY3Rpb25FbmFibGVkJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCk/dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik6dGhpcy5zZXRDdXJzb3JGb3JUb29sKGMsdCxlPy5oaXR0ZXN0LmRhdGEoKT8uY3Vyc29yVHlwZSkpO2NvbnN0IGg9bi5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCksZD1udWxsIT09aD9baF06bi5zb3VyY2VzQmVpbmdNb3ZlZCgpO2lmKCghZC5sZW5ndGh8fG51bGwhPT1lJiYtMT09PWQuaW5kZXhPZihlLnNvdXJjZSkpJiZ0aGlzLl91cGRhdGVDb21tb25Ub29sdGlwKGUpLCFhJiZudWxsIT09ZSYmaSYmZS5oaXR0ZXN0Lmhhc1ByZXNzZWRNb3ZlSGFuZGxlcihpKSl7c3dpdGNoKChlLmhpdHRlc3QuZGF0YSgpfHx7fSkuY3Vyc29yVHlwZSl7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5WZXJ0aWNhbFJlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIm5zLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuSG9yaXpvbnRhbFJlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIndlLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuRGlhZ29uYWxOZVN3UmVzaXplOnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibmVzdy1yZXNpemUiKQo7YnJlYWs7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5EaWFnb25hbE53U2VSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJud3NlLXJlc2l6ZSIpfX19dGhpcy5fcHJldmVudENyb3NzSGFpck1vdmUoKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLDEhPT10aGlzLl9wcmVzc2VkTW92ZVN0YWdlJiZuLmNyb3NzaGFpclNvdXJjZSgpLnNldExpbmVzU2hvdWxkQmVIaWRkZW4ocil9YXN5bmMgX2NyZWF0ZUVycm9yQmxvY2soKXtyZXR1cm4gbmV3KGF3YWl0KDAsWHMuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfV9jdXN0b21BY3Rpb25zKCl7Y29uc3QgZT17dG9wOltdLGJvdHRvbTpbXSxyZW1vdmU6W119LHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50aW1lU2NhbGUoKSxpPXRoaXMuX3N0YXRlJiZ0aGlzLl9zdGF0ZS5kZWZhdWx0UHJpY2VTY2FsZSgpO2lmKCEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjdXN0b21faXRlbXNfaW5fY29udGV4dF9tZW51IikpcmV0dXJuIGU7Y29uc3Qgcz10LmlzRW1wdHkoKT92b2lkIDA6dC5pbmRleFRvVXNlclRpbWUodC5jb29yZGluYXRlVG9JbmRleCh0aGlzLl9jb250ZXh0TWVudVgpKTtsZXQgbjtpZihpJiYhaS5pc0VtcHR5KCkpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSkuZmlyc3RWYWx1ZSgpO249aS5jb29yZGluYXRlVG9QcmljZSh0aGlzLl9jb250ZXh0TWVudVksKDAsbC5lbnN1cmVOb3ROdWxsKShlKSl9cmV0dXJuKDAsJC5lbWl0KSgib25Db250ZXh0TWVudSIse3VuaXh0aW1lOm51bGwhPXM/cy5nZXRUaW1lKCkvMWUzOnZvaWQgMCxwcmljZTpuLGNhbGxiYWNrOnQ9PntbLi4udF0uZm9yRWFjaCgodD0+e2lmKHQudGV4dClpZih0LnRleHQubGVuZ3RoPjEmJiItIj09PXQudGV4dFswXSllLnJlbW92ZS5wdXNoKHQudGV4dC5zbGljZSgxKSk7ZWxzZXtsZXQgaTtpPSItIj09PXQudGV4dD9uZXcgZXMuU2VwYXJhdG9yOm5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5FeHRlcm5hbEFjdGlvbklkIixvcHRpb25zOntsYWJlbDp0LnRleHQsb25FeGVjdXRlOnQuY2xpY2t9fSksdC5wb3NpdGlvbiYmInRvcCI9PT10LnBvc2l0aW9uP2UudG9wLnB1c2goaSk6ZS5ib3R0b20ucHVzaChpKX19KSl9fSksZX1faGlnaGxpZ2h0UHJpY2VBeGlzZXNCeUxhYmVsKGUpe3RoaXMuX3N0YXRlPy5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXImJih0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5zZXRIaWdobGlnaHRlZFByaWNlQXhpc2VzKGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldEhpZ2hsaWdodGVkUHJpY2VBeGlzZXMoZSkpfV9zdWJzY3JpYmVUb1N0YXRlKCl7Y29uc3QgZT10aGlzLnN0YXRlKCk7ZS5vbkRlc3Ryb3llZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3RhdGVEZXN0cm95ZWQsITApLGUuZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCksZS5tYXhpbWl6ZWQoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmlzdWFsbHlDb2xsYXBzZWQse2NhbGxXaXRoTGFzdDohMH0pLGUuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkLHtjYWxsV2l0aExhc3Q6ITB9KSxlLm1heGltaXplZCgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVNYXhpbWl6ZWQse2NhbGxXaXRoTGFzdDohMH0pfV91bnN1YnNjcmliZUZyb21TdGF0ZSgpe2NvbnN0IGU9dGhpcy5zdGF0ZSgpO2Uub25EZXN0cm95ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmRhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLm1heGltaXplZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkKSxlLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkKSxlLm1heGltaXplZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZU1heGltaXplZCksdGhpcy5fbWF4aW1pemVkLnNldFZhbHVlKCExKX1fdXBkYXRlQWNjZXNzaWJpbGl0eUF0dHIoKXtpZih0aGlzLmhhc1N0YXRlKCkmJnRoaXMuc3RhdGUoKS5pc01haW5QYW5lKCkudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpLHQ9ZS5zeW1ib2woKSxzPSgwLEkuZ2V0VHJhbnNsYXRlZFJlc29sdXRpb25Nb2RlbCkoZS5pbnRlcnZhbCgpKS5oaW50LG49cC50KG51bGwse3JlcGxhY2U6e3N5bWJvbDp0LGludGVydmFsOnN9fSxpKDYyODQzMCkpO3RoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLG4pfWVsc2UgdGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIil9YXN5bmMgX3VwZGF0ZUVuZE9mU2VyaWVzQmFubmVyKCl7e2NvbnN0IGU9KCk9PntpZih3aW5kb3cudXNlci5pc19wcm8pcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9zdGF0ZTtpZighZSlyZXR1cm4gdGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5zZXRWaXNpYmxlKCExKSxudWxsO2lmKCF0aGlzLl9jaGFydC5pc0FjdGl2ZSgpLnZhbHVlKCkpcmV0dXJuIG51bGw7Y29uc3QgdD1lLm1vZGVsKCkubWFpblNlcmllcygpO2lmKCF0KXJldHVybiBudWxsO2lmKCFlLmlzTWFpblBhbmUoKS52YWx1ZSgpKXJldHVybiBudWxsO2lmKDI9PT10LnN0YXR1cygpfHx0LnJlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSgpKXJldHVybiB0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI/LnNldFZpc2libGUoITEpLG51bGw7Y29uc3QgaT10LmJhcnMoKS5maXJzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1pP251bGw6e3N0YXRlOmUsc2VyaWVzOnQsZmlyc3RJbmRleDppfX0sdD0oKT0+e2lmKHRoaXMuX2xlZ2VuZFdpZGdldCl7Y29uc3QgZT10aGlzLl9sZWdlbmRXaWRnZXQuZ2V0RWxlbWVudCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBlLmJvdHRvbS1lLnRvcH1yZXR1cm4gMH0KO2xldCBzPWUoKTtpZighc3x8ImVuZCI9PT1zLnNlcmllcy5lbmRPZkRhdGFUeXBlKCkpcmV0dXJuIHZvaWQgdGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5zZXRWaXNpYmxlKCExKTtzLnNlcmllcy5kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKCExKTtjb25zdCBuPXMuc2VyaWVzLmVuZE9mRGF0YVR5cGUoKSxyPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpLm1vZGVsKCkudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUocy5maXJzdEluZGV4KS1zLnN0YXRlLm1vZGVsKCkudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO2lmKCF0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXImJiEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDczMTEpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoNTE4NCksaS5lKDEyMDUxKSxpLmUoMzgyNjIpLGkuZSg3NDI3MyksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSg5MTgzMyldKS50aGVuKGkuYmluZChpLDMxOTEyNikpO2lmKHM9ZSgpLCFzKXJldHVybjt0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXJ8fCh0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI9bmV3IHQuRW5kT2ZTZXJpZXNCYW5uZXIsdGhpcy5fZGl2LmFwcGVuZENoaWxkKHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lci5lbGVtZW50KCkpKX1jb25zdCBvPXQoKTt0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI/LnNldFZpc2libGUoITApLHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lcj8udXBkYXRlKHMuc3RhdGUsbyxyLG4pO2NvbnN0IGE9dGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5jdXJyZW50U2l6ZSgpO3Muc2VyaWVzLmRvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIobnVsbCE9PWEmJjAhPT1hKX19X3BhbmVEYmxDbGlja09yVGFwRXZlbnQoZSl7aWYodGhpcy5fY2hhcnQucmVhZE9ubHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYobnVsbCE9PXQmJigwLHJpLmlzRWRpdGFibGVUZXh0TGluZVRvb2wpKHQuc291cmNlKSl7Y29uc3QgZT10LnNvdXJjZS50ZXh0RWRpdGluZ0FjdGl2YXRpb25UaW1lKCk7bnVsbCE9PWUmJnBlcmZvcm1hbmNlLm5vdygpLWU8NTAwJiZ0aGlzLnByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKHQuc291cmNlLHQuaGl0dGVzdCl9fX1jbGFzcyB3bntjb25zdHJ1Y3Rvcigpe3RoaXMuX2RyYWdnaW5nU291cmNlPW51bGwsdGhpcy5fYWN0aXZlVG91Y2hQYW5lcz1uZXcgU2V0LHRoaXMuX3Njcm9sbGluZ1BhbmU9bnVsbCx0aGlzLl9waW5jaGluZ1BhbmU9bnVsbH1vblBhbmVEZXN0cm95ZWQoZSl7dGhpcy5fYWN0aXZlVG91Y2hQYW5lcy5kZWxldGUoZSksdGhpcy5fc2Nyb2xsaW5nUGFuZT09PWUmJih0aGlzLl9zY3JvbGxpbmdQYW5lPW51bGwpLHRoaXMuX3BpbmNoaW5nUGFuZT09PWUmJih0aGlzLl9waW5jaGluZ1BhbmU9bnVsbCl9c3RhcnRUb3VjaChlKXt0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLmFkZChlKX1lbmRUb3VjaChlKXt0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLmRlbGV0ZShlKX1oYXNUb3VjaGVzT25PdGhlclBhbmVzKGUpe3JldHVybiB0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLnNpemU+MXx8MT09PXRoaXMuX2FjdGl2ZVRvdWNoUGFuZXMuc2l6ZSYmIXRoaXMuX2FjdGl2ZVRvdWNoUGFuZXMuaGFzKGUpfXRyeVNldERyYWdnaW5nU291cmNlKGUsdCl7cmV0dXJuIXRoaXMuaGFzVG91Y2hlc09uT3RoZXJQYW5lcyh0KSYmKCgwLGwuYXNzZXJ0KShudWxsPT09dGhpcy5fZHJhZ2dpbmdTb3VyY2V8fHRoaXMuX2RyYWdnaW5nU291cmNlPT09ZSksdGhpcy5fZHJhZ2dpbmdTb3VyY2U9ZSwhMCl9Y2xlYXJEcmFnZ2luZ1NvdXJjZSgpe251bGwhPT10aGlzLl9kcmFnZ2luZ1NvdXJjZSYmKHRoaXMuX2RyYWdnaW5nU291cmNlPW51bGwpfWRyYWdnaW5nU291cmNlKCl7cmV0dXJuIHRoaXMuX2RyYWdnaW5nU291cmNlfXNldFNjcm9sbGluZ1BhbmUoZSl7KDAsbC5hc3NlcnQpKG51bGw9PT1lfHxudWxsPT09dGhpcy5fc2Nyb2xsaW5nUGFuZXx8dGhpcy5fc2Nyb2xsaW5nUGFuZT09PWUpLHRoaXMuX3Njcm9sbGluZ1BhbmU9ZX1zY3JvbGxpbmdQYW5lKCl7cmV0dXJuIHRoaXMuX3Njcm9sbGluZ1BhbmV9c2V0UGluY2hpbmdQYW5lKGUpeygwLGwuYXNzZXJ0KShudWxsPT09ZXx8bnVsbD09PXRoaXMuX3BpbmNoaW5nUGFuZXx8dGhpcy5fcGluY2hpbmdQYW5lPT09ZSksdGhpcy5fcGluY2hpbmdQYW5lPWV9cGluY2hpbmdQYW5lKCl7cmV0dXJuIHRoaXMuX3BpbmNoaW5nUGFuZX19dmFyIENuPWkoNDY1Nzc3KSxQbj1pKDQ4Mzc4Myk7aSg2MTU1MjYpO2NvbnN0IFRuPSgwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIik7dmFyIHhuOyFmdW5jdGlvbihlKXtlW2UuQm9yZGVyU2l6ZT0xXT0iQm9yZGVyU2l6ZSIsZVtlLk9mZnNldFNpemU9NV09Ik9mZnNldFNpemUifSh4bnx8KHhuPXt9KSk7Y29uc3QgTW49e2NvbnRleHRNZW51RW5hYmxlZDohMCx0aW1lem9uZU1lbnVFbmFibGVkOiEwLHByZXNzZWRNb3VzZU1vdmVTY2FsZTohMH0sSW49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHNlc3Npb24iLHAudChudWxsLHZvaWQgMCxpKDcyMzQyNikpKSxMbj1wLnQobnVsbCx2b2lkIDAsaSgxMDk5NTYpKTtjbGFzcyBBbntjb25zdHJ1Y3RvcihlLHQsaSxzLG4pe3RoaXMuX3JlbmRlcmVyT3B0aW9ucz1udWxsLHRoaXMuX29uTGFiZWxIb3ZlcmVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX21vdXNlZG93bj0hMSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lPSJpbnZhbGlkIix0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKE1uKSx0fHx7fSksdGhpcy5jaGFydD1lLHRoaXMuX3Byb3BlcnRpZXM9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcywKdGhpcy5fZWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXk9ImZsZXgiLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPW47Y29uc3Qgcj1lLm1vZGVsKCkubW9kZWwoKS5yZW5kZXJlck9wdGlvbnNQcm92aWRlcigpLG89KCk9PnRoaXMuYmFja2dyb3VuZENvbG9yKCksbD0oKT0+e3Rocm93IG5ldyBFcnJvcigiVGltZSBheGlzIGRvZXMgbm90IHN1cHBvcnQgcmVhbCBwcmljZSBzY2FsZXMiKX0sYz17dGl0bGVzUHJvdmlkZXI6aSxzdHViQ29udGV4dE1lbnVQcm92aWRlcjphc3luYyhlLHQpPT57Y29uc3QgaT1hd2FpdCBzKGUsdCksbj10aGlzLmdldENvbnRleHRNZW51QWN0aW9ucyghMCk7cmV0dXJuIDA9PT1uLmxlbmd0aD9pOmkuY29uY2F0KG5ldyBlcy5TZXBhcmF0b3Isbil9LGJhY2tncm91bmRCYXNlZFRoZW1lOm4uc3Bhd25Pd25lcnNoaXAoKSxvbkFjdGl2ZU9ySG92ZXJlZENoYXJ0OigwLHUuY29tYmluZSkoKChlLHQpPT5lfHx0KSx0aGlzLmNoYXJ0LmlzQWN0aXZlKCkud2Vha1JlZmVyZW5jZSgpLHRoaXMuY2hhcnQuaXNIb3ZlcmVkKCkud2Vha1JlZmVyZW5jZSgpKS5vd25lcnNoaXAoKSxyZW5kZXJlck9wdGlvbnNQcm92aWRlcjpyLGdldEJhY2tncm91bmRUb3BDb2xvcjpvLGdldEJhY2tncm91bmRCb3R0b21Db2xvcjpvLHJlcXVlc3RSZXBhaW50OigpPT57dGhpcy5jaGFydC5tb2RlbCgpLm1vZGVsKCkuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLnRpbWVTY2FsZShMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCwhMCkpfSxzaG93SG9yaXpvbnRhbEJvcmRlcjohMH07dGhpcy5fbGhzU3R1YkNvbnRhaW5lcj1uZXcgamkodGhpcy5fcHJvcGVydGllcywibGVmdCIsbCxjLHRoaXMuX29wdGlvbnMucHJpY2VBeGlzTGFiZWxzT3B0aW9ucyx0aGlzKSx0aGlzLl9saHNTdHViQ29udGFpbmVyLm9uTGFiZWxIb3ZlcmVkKCkuc3Vic2NyaWJlKHRoaXMsKChlLHQpPT57dGhpcy5fb25MYWJlbEhvdmVyZWQuZmlyZShlLHQpfSkpLHRoaXMuX3Joc1N0dWJDb250YWluZXI9bmV3IGppKHRoaXMuX3Byb3BlcnRpZXMsInJpZ2h0IixsLGMsdGhpcy5fb3B0aW9ucy5wcmljZUF4aXNMYWJlbHNPcHRpb25zLHRoaXMpLHRoaXMuX3Joc1N0dWJDb250YWluZXIub25MYWJlbEhvdmVyZWQoKS5zdWJzY3JpYmUodGhpcywoKGUsdCk9Pnt0aGlzLl9vbkxhYmVsSG92ZXJlZC5maXJlKGUsdCl9KSksdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9saHNTdHViQ29udGFpbmVyLmdldEVsZW1lbnQoKSksdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NlbGwpLHRoaXMuX2NlbGwuY2xhc3NMaXN0LmFkZCgiY2hhcnQtbWFya3VwLXRhYmxlIiwidGltZS1heGlzIiksdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9IjI1cHgiLHRoaXMuX2R2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2R2LnN0eWxlLndpZHRoPSIxMDAlIix0aGlzLl9kdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuX2R2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5fZHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5fY2VsbC5hcHBlbmRDaGlsZCh0aGlzLl9kdiksdGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXI9KCk9PnRoaXMuY2hhcnQubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCksdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fZHYsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl9jYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBoPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjEiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMuX3RvcENhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2R2LCgwLHl0LnNpemUpKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5fdG9wQ2FudmFzQmluZGluZy5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcik7Y29uc3QgZD10aGlzLl90b3BDYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQ7ZC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGQuc3R5bGUuekluZGV4PSIyIixkLnN0eWxlLmxlZnQ9IjAiLGQuc3R5bGUudG9wPSIwIix0aGlzLl9kdi5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcmhzU3R1YkNvbnRhaW5lci5nZXRFbGVtZW50KCkpLHRoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKSx0aGlzLnVwZGF0ZSgpLHRoaXMuX21pblZpc2libGVTcGFuPUNuLk1JTlVURV9TUEFOLHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyPW5ldyB3aS5Nb3VzZUV2ZW50SGFuZGxlcih0aGlzLl90b3BDYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsdGhpcyx7dHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwLHRyZWF0SG9yelRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMX0pLHRoaXMuc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pfWRlc3Ryb3koKXt0aGlzLl9tb3VzZUV2ZW50SGFuZGxlci5kZXN0cm95KCksdGhpcy5fdG9wQ2FudmFzQmluZGluZy51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLmRpc3Bvc2UoKSx0aGlzLl9jYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX2NhbnZhc0JpbmRpbmcuZGlzcG9zZSgpLAp0aGlzLl9yaHNTdHViQ29udGFpbmVyLm9uTGFiZWxIb3ZlcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5vbkxhYmVsSG92ZXJlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2xoc1N0dWJDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1N0dWJDb250YWluZXIuZGVzdHJveSgpLHRoaXMuY2hhcnQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVsZWFzZSgpfXNldEN1cnNvcihlKXtsZXQgdD0iIjsiZ3JhYmJpbmciIT09ZSYmImV3LXJlc2l6ZSIhPT1lfHwodD0idGltZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10LHRoaXMuX2NlbGwuc3R5bGUuY3Vyc29yKX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuc2V0Q3Vyc29yKCIiKX1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsZW1lbnR9b3B0aW1hbEhlaWdodCgpe2NvbnN0IGU9dGhpcy5yZW5kZXJlck9wdGlvbnMoKTtyZXR1cm4gTWF0aC5jZWlsKGUuYm9yZGVyU2l6ZStlLm9mZnNldFNpemUrZS5mb250U2l6ZStlLnBhZGRpbmdUb3ArZS5wYWRkaW5nQm90dG9tK2UubGFiZWxCb3R0b21PZmZzZXQpfXNldFNpemVzKGUsdCxpKXt0aGlzLnNpemUmJigwLHl0LmVxdWFsU2l6ZXMpKHRoaXMuc2l6ZSxlKXx8KHRoaXMuc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnJlc2l6ZUNhbnZhc0VsZW1lbnQoZSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9ZS5oZWlnaHQrInB4IiksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5zZXRTaXplcyhlLmhlaWdodCx0KSx0aGlzLl9yaHNTdHViQ29udGFpbmVyLnNldFNpemVzKGUuaGVpZ2h0LGkpfXJlbmRlcmVyT3B0aW9ucygpe2lmKCF0aGlzLl9yZW5kZXJlck9wdGlvbnN8fHRoaXMuX3JlbmRlcmVyT3B0aW9ucy5mb250U2l6ZSE9PXRoaXMuZm9udFNpemUoKSl7Y29uc3QgZT10aGlzLmZvbnRTaXplKCk7dGhpcy5fcmVuZGVyZXJPcHRpb25zPXtib3JkZXJTaXplOjEsb2Zmc2V0U2l6ZTo1LGZvbnRTaXplOmUsZm9udDooMCxSaS5tYWtlRm9udCkoZSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCIiKSx3aWR0aENhY2hlOm5ldyBCaS5UZXh0V2lkdGhDYWNoZSxwYWRkaW5nVG9wOjMqZS8xMixwYWRkaW5nQm90dG9tOjMqZS8xMixwYWRkaW5nSG9yaXpvbnRhbDo5KmUvMTIsbGFiZWxCb3R0b21PZmZzZXQ6NCplLzEyfX1yZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zfWJhY2tncm91bmRDb2xvcigpe3JldHVybiB0aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpfWxpbmVDb2xvcigpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5saW5lQ29sb3IudmFsdWUoKTtpZigwPT09KDAseWkucGFyc2VSZ2JhKShlKVszXSl7Y29uc3QgZT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKS5sYXN0UGFuZSgpO2lmKGUmJmUuY29sbGFwc2VkKCkudmFsdWUoKSlyZXR1cm4gdGhpcy5jaGFydC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuc2VwYXJhdG9yQ29sb3IudmFsdWUoKX1yZXR1cm4gZX10ZXh0Q29sb3IoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50ZXh0Q29sb3IudmFsdWUoKX1mb250U2l6ZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmZvbnRTaXplLnZhbHVlKCl9YmFzZUZvbnQoKXtyZXR1cm4oMCxSaS5tYWtlRm9udCkodGhpcy5mb250U2l6ZSgpLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpfWJhc2VCb2xkRm9udCgpe3JldHVybigwLFJpLm1ha2VGb250KSh0aGlzLmZvbnRTaXplKCksV2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSwiIiwiYm9sZCIpfWhhc0NhbnZhcyhlKXtyZXR1cm4gdGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50PT09ZXx8dGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50PT09ZX1vbkxhYmVsSG92ZXJlZCgpe3JldHVybiB0aGlzLl9vbkxhYmVsSG92ZXJlZH1nZXRTY3JlZW5zaG90RGF0YSgpe3JldHVybntjb250ZW50OnRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC50b0RhdGFVUkwoKSxjYW52YXM6dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LGNvbnRlbnRXaWR0aDp0aGlzLnNpemUud2lkdGgsY29udGVudEhlaWdodDp0aGlzLnNpemUuaGVpZ2h0LGxoc1N0dWI6dGhpcy5fbGhzU3R1YkNvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLHJoc1N0dWI6dGhpcy5fcmhzU3R1YkNvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpfX1nZXRDb250ZXh0TWVudUFjdGlvbnMoZSl7Y29uc3QgdD10aGlzLmNoYXJ0LGk9dC5hY3Rpb25zKCkscz1bXTtpZihlfHwodC5tb2RlbCgpLnRpbWVTY2FsZSgpLnJlc2V0QXZhaWxhYmxlKCkudmFsdWUoKSYmKHMucHVzaChpLnRpbWVTY2FsZVJlc2V0KSxzLnB1c2gobmV3IGVzLlNlcGFyYXRvcikpLHRoaXMuX29wdGlvbnMudGltZXpvbmVNZW51RW5hYmxlZCYmcy5wdXNoKGkuYXBwbHlUaW1lWm9uZSkscy5wdXNoKGkuc2Vzc2lvbkJyZWFrcykpLCF0Lm1vZGVsKCkubWFpblNlcmllcygpLmlzRFdNKCkpe2NvbnN0IGU9dC5tb2RlbCgpPy5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKGUpewpjb25zdCBpPXQubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNlc3Npb25JZCxuPShlLnN1YnNlc3Npb25zfHxbXSkuZmlsdGVyKChlPT4hZS5wcml2YXRlJiYoVG58fCIyNGgiIT09ZS5pZCkpKS5zbGljZSgpLnNvcnQoUG4uY29tcGFyZVN1YnNlc3Npb25zRm9yTWVudSk7aWYobi5sZW5ndGg+MSl7Y29uc3Qgcj1lLnR5cGUsbz1uLm1hcCgoZT0+bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNldFNlc3Npb24iLG9wdGlvbnM6e2xhYmVsOigwLFBuLnRyYW5zbGF0ZVNlc3Npb25EZXNjcmlwdGlvbikoZS5kZXNjcmlwdGlvbixyKSxjaGVja2FibGU6ITAsY2hlY2tlZDppLnZhbHVlKCk9PT1lLmlkLHN0YXROYW1lOiJTZXRTZXNzaW9uIixvbkV4ZWN1dGU6KCk9Pnt0Lm1vZGVsKCkuc2V0UHJvcGVydHkoaSxlLmlkLEluKX19fSkpKSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXRTZXNzaW9uIixvcHRpb25zOntsYWJlbDpMbixzdGF0TmFtZToiU2V0U2Vzc2lvbiIsc3ViSXRlbXM6b319KTtzLnB1c2goYSl9fX1yZXR1cm4hdC5vbldpZGdldCgpJiYoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiKSYmaS5zY2FsZXNQcm9wZXJ0aWVzJiYocy5sZW5ndGgmJnMucHVzaChuZXcgZXMuU2VwYXJhdG9yKSxzLnB1c2goaS5zY2FsZXNQcm9wZXJ0aWVzKSksc311cGRhdGUoKXtpZighdGhpcy5jaGFydC5oYXNNb2RlbCgpKXJldHVybjtjb25zdCBlPXRoaXMuY2hhcnQubW9kZWwoKS50aW1lU2NhbGUoKS5tYXJrcygpO2lmKGUpe3RoaXMuX21pblZpc2libGVTcGFuPUNuLllFQVJfU1BBTjtmb3IoY29uc3QgdCBvZiBlKXRoaXMuX21pblZpc2libGVTcGFuPU1hdGgubWluKHQuc3Bhbix0aGlzLl9taW5WaXNpYmxlU3Bhbil9fXVwZGF0ZVByaWNlQXhpc1N0dWJzKCl7Y29uc3QgZT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKSx0PXRoaXMuY2hhcnQuaGFzTWF4aW1pemVkUGFuZSgpPygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5jaGFydC5tYXhpbWl6ZWRQYW5lV2lkZ2V0KCkpLnN0YXRlKCk6ZS5wYW5lRm9yU291cmNlKGUubWFpblNlcmllcygpKTtpZighdClyZXR1cm47Y29uc3QgaT1lLnByaWNlU2NhbGVTbG90c0NvdW50KCk7dGhpcy5fbGhzU3R1YkNvbnRhaW5lci5zZXRTY2FsZXMoW10saS5sZWZ0LHQubGVmdFByaWNlU2NhbGVzKCkubGVuZ3RoLGkubGVmdCtpLnJpZ2h0KSx0aGlzLl9yaHNTdHViQ29udGFpbmVyLnNldFNjYWxlcyhbXSxpLnJpZ2h0LHQucmlnaHRQcmljZVNjYWxlcygpLmxlbmd0aCxpLmxlZnQraS5yaWdodCl9cGFpbnQoZSl7aWYoZS5sZXZlbD09PUxlLkludmFsaWRhdGlvbkxldmVsLk5vbmV8fDA9PT10aGlzLnNpemUud2lkdGh8fDA9PT10aGlzLnNpemUuaGVpZ2h0KXJldHVybjsoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX2NhbnZhc0JpbmRpbmcpLCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7Y29uc3QgdD0oMCxLdC5nZXRDb250ZXh0MkQpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudCk7aWYoZS5sZXZlbD5MZS5JbnZhbGlkYXRpb25MZXZlbC5DdXJzb3Ipe2NvbnN0IGk9KDAsS3QuZ2V0Q29udGV4dDJEKSh0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQpLHM9KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO3RoaXMuZHJhd0JhY2tncm91bmQoaSxzKSx0aGlzLmNoYXJ0Lmhhc01vZGVsKCkmJih0aGlzLmRyYXdCb3JkZXIoaSxzKSx0aGlzLmRyYXdUaWNrTWFya3MoaSxzKSx0aGlzLmRyYXdCYWNrTGFiZWxzKGkscyksdGhpcy5kcmF3Q3Jvc3NIYWlyTGFiZWwodCxzKSksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5wYWludFN0dWJzKGUpLHRoaXMuX3Joc1N0dWJDb250YWluZXIucGFpbnRTdHVicyhlKX10aGlzLmRyYXdDcm9zc0hhaXJMYWJlbCh0LCgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl90b3BDYW52YXNCaW5kaW5nKSl9ZHJhd0JhY2tncm91bmQoZSx0KXtpZigoMCxLdC5jbGVhclJlY3QpKGUsMCwwLHQuYml0bWFwU2l6ZS53aWR0aCx0LmJpdG1hcFNpemUuaGVpZ2h0LHRoaXMuYmFja2dyb3VuZENvbG9yKCkpLCF0aGlzLmNoYXJ0Lmhhc01vZGVsKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5jaGFydC5tb2RlbCgpO2lmKCFpLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSl7Y29uc3Qgcz1pLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4hZS5pc0ZpeGVkKCkpKS5yZWR1Y2UoKChlLHQpPT57Y29uc3QgaT10LnRpbWVBeGlzUG9pbnRzKCk7cmV0dXJuIDA9PT1pLmxlbmd0aD9lOmUuY29uY2F0KGkpfSksW10pO3MubGVuZ3RoPjAmJnRoaXMuX2hpZ2hsaWdodEJhY2tncm91bmQoZSxzLHQpfWNvbnN0IHM9aS5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO3Muc3RhcnRNZWFzdXJlUG9pbnQoKSYmdGhpcy5faGlnaGxpZ2h0QmFja2dyb3VuZChlLHMubWVhc3VyZVBvaW50cygpLHQpfWRyYXdCb3JkZXIoZSx0KXtlLnNhdmUoKSxlLmZpbGxTdHlsZT10aGlzLmxpbmVDb2xvcigpO2NvbnN0IGk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMucmVuZGVyZXJPcHRpb25zKCkuYm9yZGVyU2l6ZSp0LnZlcnRpY2FsUGl4ZWxSYXRpbykpLHM9dC5iaXRtYXBTaXplLndpZHRoO2UuZmlsbFJlY3QoMCwwLHMsaSksZS5yZXN0b3JlKCl9ZHJhd1RpY2tNYXJrcyhlLHQpe2NvbnN0IGk9dGhpcy5jaGFydC5tb2RlbCgpLnRpbWVTY2FsZSgpLm1hcmtzKCk7aWYoIWl8fDA9PT1pLmxlbmd0aClyZXR1cm47bGV0IHM9aS5yZWR1Y2UoKChlLHQpPT5lLnNwYW4+dC5zcGFuP2U6dCksaVswXSkuc3BhbjtzPjMwJiZzPDQwJiYocz0zMCksZS5zYXZlKCksZS5zdHJva2VTdHlsZT10aGlzLmxpbmVDb2xvcigpCjtjb25zdCBuPXRoaXMucmVuZGVyZXJPcHRpb25zKCkscj1uLmJvcmRlclNpemUrbi5vZmZzZXRTaXplK24ucGFkZGluZ1RvcCtuLmZvbnRTaXplLzI7ZS50ZXh0QWxpZ249ImNlbnRlciIsZS50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsZS5maWxsU3R5bGU9dGhpcy50ZXh0Q29sb3IoKSwoMCxLdC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57ZS5mb250PXRoaXMuYmFzZUZvbnQoKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgbj1pW3RdO24uc3BhbjxzJiZlLmZpbGxUZXh0KG4ubGFiZWwsbi5jb29yZCxyKX1lLmZvbnQ9dGhpcy5iYXNlQm9sZEZvbnQoKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgbj1pW3RdO24uc3Bhbj49cyYmZS5maWxsVGV4dChuLmxhYmVsLG4uY29vcmQscil9fSkpLGUucmVzdG9yZSgpfWRyYXdCYWNrTGFiZWxzKGUsdCl7ZS5zYXZlKCk7Y29uc3QgaT1uZXcgU2V0LHM9dGhpcy5jaGFydC5tb2RlbCgpLm1vZGVsKCk7bGV0IG49cy5kYXRhU291cmNlcygpO2NvbnN0IHI9cy5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCk7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlKTtzLmhvdmVyZWRTb3VyY2UoKSYmaS5hZGQocy5ob3ZlcmVkU291cmNlKCkpO2Zvcihjb25zdCBlIG9mIHMuc291cmNlc0JlaW5nTW92ZWQoKSlpLmFkZChlKTtjb25zdCBvPXMuY3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpO251bGwhPT1vJiZpLmFkZChvKTtjb25zdCBhPXMubGluZUJlaW5nRWRpdGVkKCk/P3MubGluZUJlaW5nQ3JlYXRlZCgpO2EmJmkuYWRkKGEpLGkuYWRkKHRoaXMuY2hhcnQubW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKSksbj1uLmNvbmNhdChzLmN1c3RvbVNvdXJjZXMoKSk7Y29uc3QgbD10aGlzLnJlbmRlcmVyT3B0aW9ucygpO2ZvcihsZXQgcz0wO3M8bi5sZW5ndGg7cysrKXtjb25zdCByPW5bc107aWYoIWkuaGFzKHIpJiZyLnRpbWVBeGlzVmlld3Mpe2NvbnN0IGk9ci50aW1lQXhpc1ZpZXdzKCk7aWYoaSlmb3IobGV0IHM9MDtzPGkubGVuZ3RoO3MrKylpW3NdLnJlbmRlcmVyKCkuZHJhdyhlLHQsbCl9fWUucmVzdG9yZSgpfWRyYXdDcm9zc0hhaXJMYWJlbChlLHQpe2Uuc2F2ZSgpLGUuY2xlYXJSZWN0KDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCk7Y29uc3QgaT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKSxzPVtdLG49aS5saW5lQmVpbmdFZGl0ZWQoKT8/aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYobiYmbi50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPW4udGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZzLnB1c2goZSl9Y29uc3Qgcj1pLmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQoKTt0aGlzLl9hZGRWaWV3c09yTWF4TWluKG51bGw9PT1yP1tdOltyXSxzKSx0aGlzLl9hZGRWaWV3c09yTWF4TWluKGkuc291cmNlc0JlaW5nTW92ZWQoKSxzKSx0aGlzLl9hZGRWaWV3c09yTWF4TWluKGkuc2VsZWN0aW9uKCkuYWxsU291cmNlcygpLHMpO2NvbnN0IG89aS5ob3ZlcmVkU291cmNlKCk7aWYobyYmKDAsQWkuaXNEYXRhU291cmNlKShvKSYmIWkuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZChvKSYmby50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPW8udGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZzLnB1c2goZSl9Y29uc3QgYT1pLmNyb3NzaGFpclNvdXJjZSgpLGw9YS50aW1lQXhpc1ZpZXdzJiZhLnRpbWVBeGlzVmlld3MoKTtsJiZsLmxlbmd0aCYmcy5wdXNoKGwpO2NvbnN0IGM9dGhpcy5yZW5kZXJlck9wdGlvbnMoKTtmb3IoY29uc3QgaSBvZiBzKWZvcihjb25zdCBzIG9mIGkpZS5zYXZlKCkscy5yZW5kZXJlcigpLmRyYXcoZSx0LGMpLGUucmVzdG9yZSgpO2UucmVzdG9yZSgpfW1vdXNlRG93bkV2ZW50KGUpe3RoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9tb3VzZU9yVG91Y2hFbnRlckV2ZW50KGUpLHRoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfW1vdXNlRG93bk91dHNpZGVFdmVudCgpe3RoaXMuX291dHNpZGVNb3VzZURvd25PclRvdWNoU3RhcnRFdmVudCgpfXRvdWNoU3RhcnRPdXRzaWRlRXZlbnQoKXt0aGlzLl9vdXRzaWRlTW91c2VEb3duT3JUb3VjaFN0YXJ0RXZlbnQoKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfW1vdXNlVXBFdmVudChlKXt0aGlzLl9tb3VzZVVwT3JUb3VjaEVuZEV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKSx0aGlzLl9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpfWNvbnRleHRNZW51RXZlbnQoZSl7dGhpcy5fY29udGV4dE1lbnVPclRvdWNoQ29udGV4dE1lbnVFdmVudChlKX10b3VjaENvbnRleHRNZW51RXZlbnQoZSl7dGhpcy5fY29udGV4dE1lbnVPclRvdWNoQ29udGV4dE1lbnVFdmVudChlKX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKX1tb3VzZURvdWJsZUNsaWNrRXZlbnQoZSl7dGhpcy5fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl9ZG91YmxlVGFwRXZlbnQoZSl7dGhpcy5fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl9X291dHNpZGVNb3VzZURvd25PclRvdWNoU3RhcnRFdmVudCgpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fbW91c2Vkb3duJiYodGhpcy5fbW91c2Vkb3duPSExLHRoaXMuY2hhcnQubW9kZWwoKS5lbmRTY2FsZVRpbWUoKSx0aGlzLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpfV9oaWdobGlnaHRCYWNrZ3JvdW5kKGUsdCxpKXtjb25zdCBzPXRoaXMuY2hhcnQubW9kZWwoKS50aW1lU2NhbGUoKTtsZXQgbj10WzBdLmluZGV4LHI9dFswXS5pbmRleAo7Zm9yKGxldCBlPTE7ZTx0Lmxlbmd0aDtlKyspbj1NYXRoLm1pbihuLHRbZV0uaW5kZXgpLHI9TWF0aC5tYXgocix0W2VdLmluZGV4KTtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzpvfT1pLGE9TWF0aC5mbG9vcihzLmluZGV4VG9Db29yZGluYXRlKG4pKm8pLGw9TWF0aC5jZWlsKHMuaW5kZXhUb0Nvb3JkaW5hdGUocikqbyk7KDAsS3QuZmlsbFJlY3QpKGUsYSwwLGwtYSxpLmJpdG1hcFNpemUuaGVpZ2h0LHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuYXhpc0hpZ2hsaWdodENvbG9yLnZhbHVlKCkpfV9hZGRWaWV3c09yTWF4TWluKGUsdCl7aWYoZS5sZW5ndGg8PTEpe2Zvcihjb25zdCBpIG9mIGUpaWYoaS50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPWkudGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZ0LnB1c2goZSl9fWVsc2UgdC5wdXNoKHRoaXMuX21pbk1heFZpZXdzKGUpKX1fbWluTWF4Vmlld3MoZSl7Y29uc3QgdD1bXTtsZXQgaT0xLzAscz0tMS8wLG49bnVsbCxyPW51bGw7Zm9yKGNvbnN0IHQgb2YgZSlpZih0LnRpbWVBeGlzVmlld3Mpe2NvbnN0IGU9dC50aW1lQXhpc1ZpZXdzKCk7aWYoZSYmZS5sZW5ndGgpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IG89ZVt0XSxhPW8uY29vcmRpbmF0ZSgpO2E+PXMmJihzPWEscj1vKSxhPD1pJiYoaT1hLG49byl9fXJldHVybiByJiZ0LnB1c2gociksbiYmdC5wdXNoKG4pLHR9X3pvb21BdmFpbGFibGUoKXtjb25zdCBlPXRoaXMuY2hhcnQubW9kZWwoKS5tb2RlbCgpO3JldHVybiFlLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSYmZS56b29tRW5hYmxlZCgpJiZ0aGlzLl9vcHRpb25zLnByZXNzZWRNb3VzZU1vdmVTY2FsZSYmIXRoaXMuY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl9X21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpe2lmKHRoaXMuX21vdXNlZG93bnx8IXRoaXMuX3pvb21BdmFpbGFibGUoKSlyZXR1cm47dGhpcy5fbW91c2Vkb3duPSEwO2NvbnN0IHQ9dGhpcy5jaGFydC5tb2RlbCgpO3QudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0LnN0YXJ0U2NhbGVUaW1lKGUubG9jYWxYKX1fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKXt0aGlzLl96b29tQXZhaWxhYmxlKCkmJnRoaXMuY2hhcnQubW9kZWwoKS5zY2FsZVRpbWVUbyhlLmxvY2FsWCl9X21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fem9vbUF2YWlsYWJsZSgpJiYodGhpcy5fbW91c2Vkb3duPSExLHRoaXMuY2hhcnQubW9kZWwoKS5lbmRTY2FsZVRpbWUoKSx0aGlzLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpfV9jb250ZXh0TWVudU9yVG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX29wdGlvbnMuY29udGV4dE1lbnVFbmFibGVkJiZOaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUodGhpcy5nZXRDb250ZXh0TWVudUFjdGlvbnMoKSxlLHtzdGF0TmFtZToiVGltZVNjYWxlQ29udGV4dE1lbnUifSx7bWVudU5hbWU6IlRpbWVTY2FsZUNvbnRleHRNZW51In0pfV9tb3VzZU9yVG91Y2hFbnRlckV2ZW50KGUpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5zZXRDdXJzb3IoImV3LXJlc2l6ZSIpfV9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpe3RoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKX1fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl7KDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIkRvdWJsZSBjbGljayB0aW1lIHNjYWxlIiksdGhpcy5jaGFydC5tb2RlbCgpLnJlc2V0VGltZVNjYWxlKCl9fXZhciBrbj1pKDUyNzMyMyksRG49aS5uKGtuKSxFbj1pKDIxODgxNCksUm49KGkoODg5NTE1KSxpKDE3MjEwOSkpLFZuPWkoNzczMDg4KTtmdW5jdGlvbiBCbihlLHQpe3JldHVybiEheC5JbnRlcnZhbC5pc0VxdWFsKGUucmVzLHQucmVzKSYmKDAsVm4uYXJlRXF1YWxUaW1lRnJhbWVzKShlLnZhbCx0LnZhbCl9dmFyIE5uPWkoNzA0NTcyKSxPbj1pKDM0Mjc4KTtjb25zdCBXbj17ZHVyYXRpb246MjUwLGVhc2luZzpFbi5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3MgRm57Y29uc3RydWN0b3IoZSl7dGhpcy5fb25GaW5pc2hDYWxsZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4uV24sLi4uZX0sdGhpcy5fc3RhcnRUaW1lPXBlcmZvcm1hbmNlLm5vdygpfWdldFN0YXJ0UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5mcm9tfWdldFBvc2l0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fY2FsY3VsYXRlUHJvZ3Jlc3MoZSk7cmV0dXJuIDE9PT10Pyh0aGlzLl9vcHRpb25zLm9uRmluaXNoJiYhdGhpcy5fb25GaW5pc2hDYWxsZWQmJih0aGlzLl9vcHRpb25zLm9uRmluaXNoKCEwKSx0aGlzLl9vbkZpbmlzaENhbGxlZD0hMCksdGhpcy5fb3B0aW9ucy50byk6KDAsT24ubGVycCkodGhpcy5fb3B0aW9ucy5mcm9tLHRoaXMuX29wdGlvbnMudG8sdGhpcy5fb3B0aW9ucy5lYXNpbmcodCkpfWZpbmlzaGVkKGUpe3JldHVybiAxPT09dGhpcy5fY2FsY3VsYXRlUHJvZ3Jlc3MoZSl9b25GaW5pc2goZSl7dGhpcy5fb25GaW5pc2hDYWxsZWR8fCh0aGlzLl9vcHRpb25zLm9uRmluaXNoPy4oZSksdGhpcy5fb25GaW5pc2hDYWxsZWQ9ITApfV9jYWxjdWxhdGVQcm9ncmVzcyhlKXtjb25zdCB0PWUtdGhpcy5fc3RhcnRUaW1lO3JldHVybiB0Pj10aGlzLl9vcHRpb25zLmR1cmF0aW9uPzE6dC90aGlzLl9vcHRpb25zLmR1cmF0aW9ufX12YXIgSG49aSgyODJlMyk7ZnVuY3Rpb24gem4oZSx0LGkscyl7bGV0IG49bnVsbDtpZihpLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQoKSYmZS5pc0N1cnJlbmN5T3JpZ2luKCkudmFsdWUoKSl7Y29uc3Qgcj1pLmF2YWlsYWJsZUN1cnJlbmNpZXMoKS52YWx1ZSgpLG89dC5jdXJyZW5jeShyKSxhPWUuY3VycmVuY3koKTtudWxsIT09byYmbnVsbCE9PW8uc2VsZWN0ZWRDdXJyZW5jeSYmIW8uYWxsQ3VycmVuY2llc0FyZU9yaWdpbmFsJiZvLnNlbGVjdGVkQ3VycmVuY3khPT1hJiYocyYmbnVsbD09PWF8fG51bGwhPT1hJiZyPy5jb252ZXJ0aWJsZShhKSkmJihuPW8uc2VsZWN0ZWRDdXJyZW5jeSl9cmV0dXJuIG59CmNvbnN0IFVuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInRvZ2dsZSBjb2xsYXBzZWQgcGFuZSBzdGF0ZSIscC50KG51bGwsdm9pZCAwLGkoMTQ1MzY2KSkpO2NsYXNzIEduIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKFVuKSx0aGlzLl9jaGFydE1vZGVsPWUsdGhpcy5fcGFuZUluZGV4PXR9cmVkbygpe3RoaXMuX2NoYXJ0TW9kZWwudG9nZ2xlQ29sbGFwc2VkUGFuZSh0aGlzLl9wYW5lSW5kZXgpfXVuZG8oKXt0aGlzLl9jaGFydE1vZGVsLnRvZ2dsZUNvbGxhcHNlZFBhbmUodGhpcy5fcGFuZUluZGV4KX19Y29uc3Qgam49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIG1heGltaXplZCBwYW5lIHN0YXRlIixwLnQobnVsbCx2b2lkIDAsaSg3ODQxMjgpKSk7Y2xhc3MgcW4gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoam4pLHRoaXMuX21vZGVsPWU7Y29uc3QgaT1lLm1heGltaXplZFBhbmUoKS52YWx1ZSgpLHM9bnVsbD09PWk/bnVsbDplLnBhbmVzKCkuaW5kZXhPZihpKTt0aGlzLl9tYXhpbWl6ZWRQYW5lSW5kZXg9dD09PWk/bnVsbDplLnBhbmVzKCkuaW5kZXhPZih0KSx0aGlzLl9wcmV2TWF4aW1pemVkUGFuZUluZGV4PXN9cmVkbygpe3RoaXMuX3NldE1heGltaXplZFBhbmUodGhpcy5fbWF4aW1pemVkUGFuZUluZGV4KX11bmRvKCl7dGhpcy5fc2V0TWF4aW1pemVkUGFuZSh0aGlzLl9wcmV2TWF4aW1pemVkUGFuZUluZGV4KX1fc2V0TWF4aW1pemVkUGFuZShlKXt0aGlzLl9tb2RlbC5zZXRNYXhpbWl6ZWRQYW5lKG51bGw9PT1lP251bGw6dGhpcy5fbW9kZWwucGFuZXMoKVtlXSl9fXZhciAkbj1pKDQzODUzOSksWW49aSg4MzY4MjgpO2NvbnN0IEtuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUgYWxsIHNjYWxlcyB0byBsZWZ0IixwLnQobnVsbCx2b2lkIDAsaSg5NjM1NTEpKSksWG49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibW92ZSBhbGwgc2NhbGVzIHRvIHJpZ2h0IixwLnQobnVsbCx2b2lkIDAsaSg3OTEzNzEpKSksWm49KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5NZXJnZUFsbFNjYWxlcyIpO2NsYXNzIEpuIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzLG4scil7c3VwZXIociksdGhpcy5fbW9kZWw9ZSx0aGlzLl9wYW5lSW5kZXg9ZS5wYW5lcygpLmluZGV4T2YodCksdGhpcy5fdGFyZ2V0UG9zaXRpb249cyx0aGlzLl90YXJnZXRJbmRleD1uLHRoaXMuX3NjYWxlSWQ9aS5pZCgpLHRoaXMuX3NvdXJjZVBvc2l0aW9uPXQucHJpY2VTY2FsZVBvc2l0aW9uKGkpLCJvdmVybGF5IiE9PXRoaXMuX3NvdXJjZVBvc2l0aW9uJiYodGhpcy5fc291cmNlSW5kZXg9dC5wcmljZVNjYWxlSW5kZXgoaSx0aGlzLl9zb3VyY2VQb3NpdGlvbikpfXJlZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSx0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9zY2FsZUlkKSk7ZS5tb3ZlUHJpY2VTY2FsZSh0LHRoaXMuX3RhcmdldFBvc2l0aW9uLHRoaXMuX3RhcmdldEluZGV4KSx0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCl9dW5kbygpe2NvbnN0IGU9dGhpcy5fbW9kZWwucGFuZXMoKVt0aGlzLl9wYW5lSW5kZXhdLHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHRoaXMuX3NjYWxlSWQpKTtlLm1vdmVQcmljZVNjYWxlKHQsdGhpcy5fc291cmNlUG9zaXRpb24sdGhpcy5fc291cmNlSW5kZXgpLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX19dmFyIFFuPWkoNjU2MTkxKTtjbGFzcyBlciBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIocyx2b2lkIDAsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pLHRoaXMuX2NyZWF0ZWRJZHM9W10sdGhpcy5fYWN0aW9uU291cmNlV2FzU2VudD0hMSx0aGlzLl9tb2RlbD1lLHRoaXMuX3dpdGhvdXRTaGlmdD1pLHRoaXMuX29yaWdTdGF0ZXM9dC5tYXAoKGU9PmUuc3RhdGUoITApKSk7Y29uc3Qgbj1lLmxpbmVUb29sc0dyb3VwTW9kZWwoKTt0aGlzLl9vcmlnR3JvdXBzPXQubWFwKChlPT57Y29uc3QgdD1uLmdyb3VwRm9yTGluZVRvb2woZSk7cmV0dXJuIHQmJnQuaWR9KSl9cmVkbygpe2NvbnN0IGU9dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpO2xldCB0O3RoaXMuX2FjdGlvblNvdXJjZVdhc1NlbnR8fCh0PSJDbG9uZSIsdGhpcy5fYWN0aW9uU291cmNlV2FzU2VudD0hMCk7Y29uc3QgaT10aGlzLl9vcmlnU3RhdGVzLm1hcCgoKGkscyk9Pntjb25zdCBuPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGkuaWQpKSxyPTA9PT10aGlzLl9jcmVhdGVkSWRzLmxlbmd0aD92b2lkIDA6KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jcmVhdGVkSWRzW3NdKSxvPSgwLHJpLmNsb25lTGluZVRvb2wpKHRoaXMuX21vZGVsLG4sIXRoaXMuX3dpdGhvdXRTaGlmdCxyLHQpO3ZvaWQgMCE9PWkuc2hhcmluZ01vZGUmJm8uc2hhcmUoaS5zaGFyaW5nTW9kZSk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKG4ucHJpY2VTY2FsZSgpKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UobikpLmFkZERhdGFTb3VyY2UobyxhLCExKTtjb25zdCBjPXRoaXMuX29yaWdHcm91cHNbc107aWYobnVsbCE9PWMpe2NvbnN0IHQ9ZS5ncm91cEZvcklkKGMpO3QmJnQuYWRkSXRlbXMoW29dKX1yZXR1cm4gdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKG8pLG99KSk7MD09PXRoaXMuX2NyZWF0ZWRJZHMubGVuZ3RoJiYodGhpcy5fY3JlYXRlZElkcz1pLm1hcCgoZT0+ZS5pZCgpKSkpLHRoaXMuX21vZGVsLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGkuZm9yRWFjaCgodD0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKHQpfSkpfSkpLHRoaXMuX21vZGVsLnNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oITApfXVuZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKQo7dGhpcy5fY3JlYXRlZElkcy5mb3JFYWNoKCh0PT57Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSkscz1lLmdyb3VwRm9yTGluZVRvb2woaSk7bnVsbCE9PXMmJnMuZXhjbHVkZUl0ZW0oaSksdGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGkpfSkpfW5ld0lkcygpe3JldHVybiB0aGlzLl9jcmVhdGVkSWRzfX12YXIgdHI9aSg4NDg3ODUpLGlyPWkoNDY3NTM5KSxzcj1pKDc2NTg3MSk7Y2xhc3MgbnIgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHM9ITApe3N1cGVyKGkscywoMCxzci5zb3VyY2VzQWZmZWN0U3RhdGUpKHQpKSx0aGlzLl9uZXdTdGF0ZXM9W10sdGhpcy5fbW9kZWw9ZSx0aGlzLl9zYXZlZFN0YXRlcz10Lm1hcCgoZT0+ZS5zdGF0ZSghMSkpKX1yZWRvKCl7dGhpcy5fYXBwbHlTdGF0ZSh0aGlzLl9uZXdTdGF0ZXMpfXVuZG8oKXswPT09dGhpcy5fbmV3U3RhdGVzLmxlbmd0aCYmdGhpcy5zYXZlTmV3U3RhdGUoKSx0aGlzLl9hcHBseVN0YXRlKHRoaXMuX3NhdmVkU3RhdGVzKX1zYXZlTmV3U3RhdGUoKXtjb25zdCBlPXRoaXMuX3NhdmVkU3RhdGVzLmZpbHRlcihhLm5vdE51bGwpLm1hcCgoZT0+KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZS5pZCkpKSk7dGhpcy5fbmV3U3RhdGVzPWUubWFwKChlPT5lLnN0YXRlKCExKSkpfV9hcHBseVN0YXRlKGUpe2Zvcihjb25zdCB0IG9mIGUpaWYobnVsbCE9PXQpe2NvbnN0IGU9dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpO2lmKG51bGwhPT1lKWlmKCgwLHRpLmlzU3R1ZHkpKGUpKXtjb25zdCBpPXQuc3RhdGUuaW5wdXRzLHM9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpO2Zvcihjb25zdCBlIGluIGkpc1tlXSYmc1tlXS5zZXRWYWx1ZShpW2VdKX1lbHNle2NvbnN0IGk9ZTt0aGlzLl9tb2RlbC5yZXN0b3JlTGluZVRvb2xTdGF0ZShpLHQsITApLGkuc3luY2hyb25pemVBbGVydCghMCl9fX19dmFyIHJyPWkoOTk5OTc0KTtjbGFzcyBvciBleHRlbmRzIHJyLk1vdmVTb3VyY2VVbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc291cmNlSWQpKSx0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGUpKSxpPXRoaXMuX2NoYXJ0TW9kZWwuY2hpbGRyZW4oZSwhMCwhMCk7dC5idWxrQWN0aW9uTWFjcm8oKCgpPT57aS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLmRldGFjaFNvdXJjZShlKSkpLHRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKGUpfSkpO2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5jcmVhdGVQYW5lKHRoaXMudGFyZ2V0UGFuZUluZGV4KGUpKSxuPXMuZmluZFN1aXRhYmxlU2NhbGUoZSk7cy5idWxrQWN0aW9uTWFjcm8oKCgpPT57cy5hZGREYXRhU291cmNlKGUsbiwhMSksaS5mb3JFYWNoKChlPT5zLmFkZERhdGFTb3VyY2UoZSxuLCExKSkpfSkpO2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnByaWNlU2NhbGUoKSk7ci5yZXN0b3JlU3RhdGUodGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlKHMuaXNPdmVybGF5KGUpKSksci5zZXRIZWlnaHQocy5oZWlnaHQoKSksdGhpcy5fY2hhcnRNb2RlbC5mdWxsVXBkYXRlKCksdGhpcy5fY2hhcnRNb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKX11bmRvKCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZUlkKSksdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShlKSksaT10aGlzLl9jaGFydE1vZGVsLmNoaWxkcmVuKGUsITAsITApO3QuYnVsa0FjdGlvbk1hY3JvKCgoKT0+e2kuZm9yRWFjaCgoZT0+dGhpcy5fY2hhcnRNb2RlbC5kZXRhY2hTb3VyY2UoZSkpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKGUpOygwLGwuYXNzZXJ0KSh0LCJVbmRvIG9mIGRldGFjaGluZyBtdXN0IHJlbW92ZSBwYW5lIil9KSk7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKClbdGhpcy5faW5pdGlhbFBhbmVJbmRleF07bGV0IG49cy5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9pbml0aWFsUHJpY2VTY2FsZUlkKTtudWxsPT09biYmKG49cy5jcmVhdGVQcmljZVNjYWxlQXRQb3NpdGlvbih0aGlzLl9pbml0aWFsUHJpY2VTY2FsZVBvc2l0aW9uLHRoaXMuX2luaXRpYWxQcmljZVNjYWxlSW5kZXgpKSxzLmJ1bGtBY3Rpb25NYWNybygoKCk9PntzLmFkZERhdGFTb3VyY2UoZSxuLCEwKSxpLmZvckVhY2goKGU9PnMuYWRkRGF0YVNvdXJjZShlLG4sITEpKSl9KSk7Y29uc3Qgcj0oMCxsLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKTtyLnJlc3RvcmVTdGF0ZSh0aGlzLl9vcmlnaW5hbFByaWNlU2NhbGVTdGF0ZSgpKSxyLnNldEhlaWdodChzLmhlaWdodCgpKSx0aGlzLl9jaGFydE1vZGVsLmZ1bGxVcGRhdGUoKX19Y2xhc3MgYXIgZXh0ZW5kcyBvcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpfXRhcmdldFBhbmVJbmRleChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtpZighdFt0aGlzLl9pbml0aWFsUGFuZUluZGV4XS5jb250YWluc01haW5TZXJpZXMoKXx8ZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKXJldHVybiB0aGlzLl9pbml0aWFsUGFuZUluZGV4KzE7Zm9yKGxldCBlPXRoaXMuX2luaXRpYWxQYW5lSW5kZXgrMTtlPHQubGVuZ3RoO2UrKylpZih0W2VdLm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcilyZXR1cm4gZTx0Lmxlbmd0aC0xJiZ0W2VdLmNvbnRhaW5zTWFpblNlcmllcygpJiZ0W2UrMV0ubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/ZSsxOmU7cmV0dXJuIHQubGVuZ3RofX1jbGFzcyBsciBleHRlbmRzIG9ye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSl9CnRhcmdldFBhbmVJbmRleChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtpZighdFt0aGlzLl9pbml0aWFsUGFuZUluZGV4XS5jb250YWluc01haW5TZXJpZXMoKXx8ZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKXJldHVybiB0aGlzLl9pbml0aWFsUGFuZUluZGV4O2ZvcihsZXQgZT10aGlzLl9pbml0aWFsUGFuZUluZGV4LTE7ZT49MDtlLS0paWYodFtlXS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpcmV0dXJuIGU+MCYmdFtlXS5jb250YWluc01haW5TZXJpZXMoKSYmdFtlLTFdLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0P2UtMTplO3JldHVybiAwfX1jbGFzcyBjciBleHRlbmRzIG9ye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSl9dGFyZ2V0UGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5sZW5ndGh9fXZhciBocj1pKDk2NDU3MyksZHI9aSg5MDA3OTcpLHVyPWkoNzc1ODY5KSxwcj1pKDUyMzc2NSksX3I9aSg0NTYyMyk7Y29uc3QgbXI9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY3JlYXRlIHt0b29sfSIscC50KG51bGwsdm9pZCAwLGkoNTQ5OTg2KSkpO2NsYXNzIGdyIGV4dGVuZHMgcHIuTGluZVRvb2xTeW5jaHJvbml6ZVVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKHttb2RlbDplLHBhbmU6dCxsaW5lVG9vbDppLG93bmVyU291cmNlOnMsZHJhd09uQWxsQ2hhcnRzTW9kZTpuPTAsaWQ6cixrZWVwU2VsZWN0ZWRHcm91cDpvPSExfSl7c3VwZXIoZSxtci5mb3JtYXQoe3Rvb2w6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhpLF9yLmxpbmVUb29sc0xvY2FsaXplZE5hbWVzW2ldKX0pLCExLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9saW5lSWQ9bnVsbCx0aGlzLl9saW5lU3RhdGU9bnVsbCx0aGlzLl9wYW5lSW5kZXg9ZS5wYW5lcygpLmluZGV4T2YodCksdGhpcy5fbGluZVRvb2w9aSx0aGlzLl9vd25lclNvdXJjZUlkPXMuaWQoKSx0aGlzLl9saW5lSWQ9cj8/bnVsbCx0aGlzLl9kcmF3T25BbGxDaGFydHNNb2RlPW4sdGhpcy5fa2VlcFNlbGVjdGVkR3JvdXA9b31rZWVwU2VsZWN0ZWRHcm91cCgpe3JldHVybiB0aGlzLl9rZWVwU2VsZWN0ZWRHcm91cH1zdGFydENyZWF0aW5nTGluZShlLHQsaSxzLG4scil7Y29uc3Qgbz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSxhPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX293bmVyU291cmNlSWQpfHx2b2lkIDAsbD10aGlzLl9jaGFydE1vZGVsLmNyZWF0ZUxpbmVUb29sKHtwYW5lOm8scG9pbnQ6ZSxsaW5ldG9vbDp0aGlzLl9saW5lVG9vbCxwcm9wZXJ0aWVzOnQsbGlua0tleTppLHNoYXJpbmdNb2RlOnMsb3duZXJTb3VyY2U6YSxpZDp0aGlzLl9saW5lSWQ/P3ZvaWQgMCxmcm9tRXh0ZXJuYWxNb2RlbDpuLGFjdGlvblNvdXJjZTpyfSk7cmV0dXJuIHRoaXMuX2xpbmVJZD1sLmlkKCksdGhpcy5fZnJvbUV4dGVybmFsTW9kZWw9biwhdGhpcy5fY2hhcnRNb2RlbC5saW5lQmVpbmdDcmVhdGVkKCl9Y29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkscyl7KDAsbC5hc3NlcnQpKHRoaXMuX2xpbmVJZD09PXRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpPy5pZCgpLCJDYW5ub3QgY29udGludWUgbm90IGxlYXN0IGNyZWF0ZWQgbGluZSIpO2NvbnN0IG49dGhpcy5fY2hhcnRNb2RlbC5jb250aW51ZUNyZWF0aW5nTGluZShlLHQsaSxzLHRoaXMuX2Zyb21FeHRlcm5hbE1vZGVsKTtyZXR1cm4gbiYmdGhpcy5fY2hhcnRNb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKSxufWxpbmUoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2xpbmVJZD9udWxsOnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX2xpbmVJZCl9ZHJhd09uQWxsQ2hhcnRzKCl7cmV0dXJuIDAhPT10aGlzLl9kcmF3T25BbGxDaGFydHNNb2RlfV9yZWRvKCl7aWYobnVsbD09PXRoaXMuX2xpbmVTdGF0ZSlyZXR1cm47Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVTb3VyY2UoITEsdGhpcy5fcGFuZUluZGV4LG51bGwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saW5lU3RhdGUpLG51bGwpO251bGwhPT1lJiYodGhpcy5fbGluZUlkPWUuaWQoKSx0aGlzLl9saW5lU3RhdGU9bnVsbCxlLnNoYXJlKHRoaXMuX2RyYXdPbkFsbENoYXJ0c01vZGUpKX1fdW5kbygpe2NvbnN0IGU9dGhpcy5saW5lKCk7bnVsbCE9PWUmJih0aGlzLl9saW5lU3RhdGU9ZS5zdGF0ZSghMSksdGhpcy5fY2hhcnRNb2RlbC5yZW1vdmVTb3VyY2UoZSksdGhpcy5fbGluZUlkPW51bGwpfX1jb25zdCBmcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyB7dGl0bGV9IHRvIGZyb250IixwLnQobnVsbCx2b2lkIDAsaSgzODY1MjIpKSksU3I9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2VuZCB7dGl0bGV9IHRvIGJhY2siLHAudChudWxsLHZvaWQgMCxpKDUwMTUwNykpKSx2cj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSBhZnRlciB7dGFyZ2V0VGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSgxMDg2MDIpKSkseXI9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXRUaXRsZX0iLHAudChudWxsLHZvaWQgMCxpKDc4MTcyMSkpKSxicj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzZW5kIHt0aXRsZX0gYmFja3dhcmQiLHAudChudWxsLHZvaWQgMCxpKDU0MDAzOCkpKSx3cj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyB7dGl0bGV9IGZvcndhcmQiLHAudChudWxsLHZvaWQgMCxpKDg4NzI4MikpKSxDcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzZW5kIGdyb3VwIHt0aXRsZX0gYmFja3dhcmQiLHAudChudWxsLHZvaWQgMCxpKDUxNzYyMikpKSxQcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyBncm91cCB7dGl0bGV9IGZvcndhcmQiLHAudChudWxsLHZvaWQgMCxpKDYwMjQzMSkpKTtmdW5jdGlvbiBUcihlKXsKcmV0dXJuIG5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoZS5uYW1lKCksZS50aXRsZShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSkpfWNsYXNzIHhyIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSx2b2lkIDAsKDAsc3Iuc291cmNlc0FmZmVjdFN0YXRlKSh0KSksdGhpcy5fc291cmNlc0J5UGFuZXM9bmV3IE1hcCx0aGlzLl9vcmlnaW5hbFN0YXRlPW5ldyBNYXAsdGhpcy5fbW9kZWw9ZSx0LmZvckVhY2goKHQ9Pntjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wYW5lRm9yU291cmNlKHQpKSxzPWUucGFuZXMoKS5pbmRleE9mKGkpLG49dGhpcy5fc291cmNlc0J5UGFuZXMuZ2V0KHMpfHxbXTtuLnB1c2godC5pZCgpKSx0aGlzLl9zb3VyY2VzQnlQYW5lcy5zZXQocyxuKX0pKSxBcnJheS5mcm9tKHRoaXMuX3NvdXJjZXNCeVBhbmVzLmtleXMoKSkuZm9yRWFjaCgodD0+e2NvbnN0IGk9ZS5wYW5lcygpW3RdLHM9bmV3IE1hcCxuPW5ldyBTZXQoaS5zb3VyY2VzQnlHcm91cCgpLm11bHRpcGFuZVNvdXJjZXMoKSk7aS5zb3VyY2VzQnlHcm91cCgpLmFsbEluY2x1ZGluZ0hpZGRlbigpLmZpbHRlcigoZT0+IW4uaGFzKGUpKSkuZm9yRWFjaCgoZT0+e3Muc2V0KGUuaWQoKSxlLnpvcmRlcigpKX0pKSx0aGlzLl9vcmlnaW5hbFN0YXRlLnNldCh0LHMpfSkpfXVuZG8oKXt0aGlzLl9vcmlnaW5hbFN0YXRlLmZvckVhY2goKChlLHQpPT57Y29uc3QgaT10aGlzLl9tb2RlbC5wYW5lcygpW3RdLHM9bmV3IE1hcDtlLmZvckVhY2goKChlLHQpPT57Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKGkuZGF0YVNvdXJjZUZvcklkKHQpKTtzLnNldChuLGUpfSkpLGkuc2V0Wk9yZGVycyhzKX0pKX1yZWRvKCl7dGhpcy5fc291cmNlc0J5UGFuZXMuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBpPXRoaXMuX21vZGVsLnBhbmVzKClbdF0scz1lLm1hcCgoZT0+KDAsbC5lbnN1cmVOb3ROdWxsKShpLmRhdGFTb3VyY2VGb3JJZChlKSkpKTt0aGlzLl9wYW5lT3BlcmF0aW9uKGkscyl9KSl9fWNsYXNzIE1yIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsZnIuZm9ybWF0KHt0aXRsZTpUcih0WzBdKX0pKX1fcGFuZU9wZXJhdGlvbihlLHQpe2UuYnJpbmdUb0Zyb250KHQpfX1jbGFzcyBJciBleHRlbmRzIHhye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LFNyLmZvcm1hdCh7dGl0bGU6VHIodFswXSl9KSl9X3BhbmVPcGVyYXRpb24oZSx0KXtlLnNlbmRUb0JhY2sodCl9fWNsYXNzIExyIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoZSx0LHMpLHRoaXMuX3RhcmdldFNvdXJjZT1pfV9wYW5lT3BlcmF0aW9uKGUsdCl7ZS5pbnNlcnRBZnRlcih0LHRoaXMuX3RhcmdldFNvdXJjZSl9fWNsYXNzIEFyIGV4dGVuZHMgTHJ7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCxpLHZyLmZvcm1hdCh7dGl0bGU6VHIodFswXSksdGFyZ2V0VGl0bGU6VHIoaSl9KSl9fWNsYXNzIGtyIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoZSx0LHMpLHRoaXMuX3RhcmdldFNvdXJjZT1pfV9wYW5lT3BlcmF0aW9uKGUsdCl7ZS5pbnNlcnRCZWZvcmUodCx0aGlzLl90YXJnZXRTb3VyY2UpfX1jbGFzcyBEciBleHRlbmRzIGtye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSx5ci5mb3JtYXQoe3RpdGxlOlRyKHRbMF0pLHRhcmdldFRpdGxlOlRyKGkpfSkpfX1mdW5jdGlvbiBFcihlLHQpe2NvbnN0IGk9dFswXSxzPWUuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpLmZpbHRlcigoZT0+ZS56b3JkZXIoKTxpLnpvcmRlcigpKSk7aWYoMD09PXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IG1vdmUgYmFja3dhcmQgc291cmNlIHRoYXQgYWxyZWFkeSBvbiBiYWNrIik7bGV0IG49c1tzLmxlbmd0aC0xXTtpZigoMCxyaS5pc0xpbmVUb29sKShuKSl7Y29uc3QgdD1lLm1vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2wobik7bnVsbCE9PXQmJihuPXQubGluZVRvb2xzKClbMF0pfXJldHVybiBufWNsYXNzIFJyIGV4dGVuZHMga3J7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsaSxFcih0LGkpLGJyLmZvcm1hdCh7dGl0bGU6VHIoaVswXSl9KSl9fWZ1bmN0aW9uIFZyKGUsdCl7Y29uc3QgaT10W3QubGVuZ3RoLTFdLHM9ZS5zb3VyY2VzQnlHcm91cCgpLmFsbEV4Y2VwdFNwZWNpYWxTb3VyY2VzKCkuZmlsdGVyKChlPT5lLnpvcmRlcigpPmkuem9yZGVyKCkpKTtpZigwPT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgYnJpbmcgZm9yd2FyZCBzb3VyY2UgdGhhdCBhbHJlYWR5IG9uIGJhY2siKTtsZXQgbj1zWzBdO2lmKCgwLHJpLmlzTGluZVRvb2wpKG4pKXtjb25zdCB0PWUubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChuKTtpZihudWxsIT09dCl7Y29uc3QgZT10LmxpbmVUb29scygpO249ZVtlLmxlbmd0aC0xXX19cmV0dXJuIG59Y2xhc3MgQnIgZXh0ZW5kcyBMcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSxpLFZyKHQsaSksd3IuZm9ybWF0KHt0aXRsZTpUcihpWzBdKX0pKX19ZnVuY3Rpb24gTnIoZSx0KXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKGUucGFuZUZvclNvdXJjZSh0LmxpbmVUb29scygpWzBdKSl9Y2xhc3MgT3IgZXh0ZW5kcyBrcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdC5saW5lVG9vbHMoKSxFcihOcihlLHQpLHQubGluZVRvb2xzKCkpLENyLmZvcm1hdCh7dGl0bGU6dC5uYW1lKCkudmFsdWUoKX0pKX19Y2xhc3MgV3IgZXh0ZW5kcyBMcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdC5saW5lVG9vbHMoKSxWcihOcihlLHQpLHQubGluZVRvb2xzKCkpLFByLmZvcm1hdCh7dGl0bGU6dC5uYW1lKCkudmFsdWUoKX0pKX19dmFyIEZyPWkoNjk0Mzg5KTtjb25zdCBIcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZWFycmFuZ2UgcGFuZXMiLHAudChudWxsLHZvaWQgMCxpKDc5NzQ5MSkpKTtjbGFzcyB6ciBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpewppZihzdXBlcihIciksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX2luZGV4PXQsKDAsYS5pc051bWJlcikoaSkpdGhpcy5fZHN0SW5kZXg9aTtlbHNle2NvbnN0IHM9InVwIj09PWk/LTE6MTt0aGlzLl9kc3RJbmRleD10K3MsZS5wYW5lcygpW3RoaXMuX2RzdEluZGV4XS5tb2RlKCk9PT1Gci5QYW5lTW9kZS5XaWRnZXQmJih0aGlzLl9kc3RJbmRleD10aGlzLl9kc3RJbmRleCtzKX19cmVkbygpe3RoaXMuX2NoZWNrSW5kaWNlcygpJiZ0aGlzLl9jaGFydE1vZGVsLm1vdmVQYW5lKHRoaXMuX2luZGV4LHRoaXMuX2RzdEluZGV4KX11bmRvKCl7dGhpcy5fY2hlY2tJbmRpY2VzKCkmJnRoaXMuX2NoYXJ0TW9kZWwubW92ZVBhbmUodGhpcy5fZHN0SW5kZXgsdGhpcy5faW5kZXgpfV9jaGVja0luZGljZXMoKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5sZW5ndGg7cmV0dXJuIHRoaXMuX2luZGV4Pj0wJiZ0aGlzLl9pbmRleDxlJiZ0aGlzLl9kc3RJbmRleD49MCYmdGhpcy5fZHN0SW5kZXg8ZX19dmFyIFVyPWkoMzYyMjM5KTt2YXIgR3I9aSg5NzQ2NjMpLGpyPWkoMjI1Mjk4KSxxcj1pKDI2NDUxMyk7Y2xhc3MgJHIgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbixyKXtzdXBlcihzKSx0aGlzLl9wcmV2UHJpY2VBeGlzUHJvcHM9e30sdGhpcy5fZGVwZW5kZW50VmFsdWVzPVtdLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZD0hMSx0aGlzLl9wcm9wZXJ0eT1lLHRoaXMuX21haW5TZXJpZXM9aSx0aGlzLl92YWx1ZT10LHRoaXMuX21vZGVsPW4sdGhpcy5fY2hhcnRXaWRnZXQ9cn1yZWRvKCl7Y29uc3QgZT10aGlzLl9tYWluU2VyaWVzLHQ9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy5fZGVwZW5kZW50VmFsdWVzPSgwLHFyLnByZXBhcmVEZXBlbmRlbnRWYWx1ZXMpKHRoaXMuX3Byb3BlcnR5KSx0aGlzLl9wcmV2UmVzb2x1dGlvbj10LmludGVydmFsLnZhbHVlKCksdGhpcy5fcHJldlZhbHVlPXRoaXMuX3Byb3BlcnR5LnZhbHVlKCksdGhpcy5fc3RvcmVQcmljZUF4aXNQcm9wcygpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKTtjb25zdCBpPXQuaW50ZXJ2YWwudmFsdWUoKSxzPXRoaXMuX21vZGVsLmRlZmF1bHRSZXNvbHV0aW9ucygpLG49KDAsSS5nZXRSZXNvbHV0aW9uQnlDaGFydFN0eWxlKSh0aGlzLl92YWx1ZSxpLHMpO2pyLmxpbmtpbmcuaW50ZXJ2YWxTeW5jRW5hYmxlZCgpP2pyLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IobiwiQ2hhcnQgc3R5bGUiLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZCx0aGlzLl9jaGFydFdpZGdldCk6dGhpcy5faW50ZXJ2YWxDaGFuZ2VXYXNUcmFja2VkfHx4LkludGVydmFsLmlzRXF1YWwoaSxuKXx8KDAsSGUudHJhY2tJbnRlcnZhbENoYW5naW5nKShuLCJDaGFydCBzdHlsZSIpLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZD0hMCxlLnNldENoYXJ0U3R5bGVXaXRoSW50ZXJ2YWxJZk5lZWRlZCh0aGlzLl92YWx1ZSxuKSwoMCxBLnNldExhc3RVc2VkU3R5bGUpKHRoaXMuX3ZhbHVlLGUuc3ltYm9sSW5mbygpKSwoMCxBLnByZXBhcmVQcmljZUF4aXNQcm9wZXJ0aWVzKSh0KSwoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSksdGhpcy5faW52YWxpZGF0ZU1vZGVsKCksdGhpcy5fY2hhcnRXaWRnZXQuc2NyZWVuLnNob3coITApfXVuZG8oKXtjb25zdCBlPXRoaXMuX21haW5TZXJpZXM7KDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLGUuc2V0Q2hhcnRTdHlsZVdpdGhJbnRlcnZhbElmTmVlZGVkKHRoaXMuX3ByZXZWYWx1ZSx0aGlzLl9wcmV2UmVzb2x1dGlvbiksdGhpcy5fcmVzdG9yZVByaWNlQXhpc1Byb3BzKCksanIubGlua2luZy5pbnRlcnZhbFN5bmNFbmFibGVkKCkmJmpyLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IodGhpcy5fcHJldlJlc29sdXRpb24sIkNoYXJ0IHN0eWxlIHVuZG8iLCEwLHRoaXMuX2NoYXJ0V2lkZ2V0KSwoMCxxci5yZXN0b3JlRGVwZW5kZW50VmFsdWVzKSh0aGlzLl9wcm9wZXJ0eSx0aGlzLl9kZXBlbmRlbnRWYWx1ZXMpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9pbnZhbGlkYXRlTW9kZWwoKSx0aGlzLl9jaGFydFdpZGdldC5zY3JlZW4uc2hvdyghMCl9X3N0b3JlUHJpY2VBeGlzUHJvcHMoKXtjb25zdCBlPXRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpO3RoaXMuX3ByZXZQcmljZUF4aXNQcm9wcz1lLm1vZGUoKX1fcmVzdG9yZVByaWNlQXhpc1Byb3BzKCl7dGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkuc2V0TW9kZSh0aGlzLl9wcmV2UHJpY2VBeGlzUHJvcHMpfV9pbnZhbGlkYXRlTW9kZWwoKXt0aGlzLl9tb2RlbCYmKHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pZCgpKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSl9fWNvbnN0IFlyPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBkYXRlIHJhbmdlIixwLnQobnVsbCx2b2lkIDAsaSgyNDcwMTQpKSk7Y2xhc3MgS3IgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoWXIpLHRoaXMuX21vZGVsc0RhdGE9W10sdGhpcy5fcmFuZ2VPcHRpb25zPXQsdGhpcy5fbW9kZWxzRGF0YS5wdXNoKHttb2RlbDplLHByZXZSZXNvbHV0aW9uOmUubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbC52YWx1ZSgpLGJhclNwYWNpbmc6ZS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCkscmlnaHRPZmZzZXQ6ZS50aW1lU2NhbGUoKS5yaWdodE9mZnNldCgpLHJhbmdlT3B0aW9uczplLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpfSl9cmVkbygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX21vZGVsc0RhdGEpe2NvbnN0IHQ9ZS5tb2RlbC5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbAo7eC5JbnRlcnZhbC5pc0VxdWFsKHRoaXMuX3JhbmdlT3B0aW9ucy5yZXMsaS52YWx1ZSgpKT90LmxvYWREYXRhVG8odGhpcy5fcmFuZ2VPcHRpb25zLnZhbCk6KHQuc2V0RGVmYXVsdFRpbWVmcmFtZSh0aGlzLl9yYW5nZU9wdGlvbnMudmFsKSx0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6dGhpcy5fcmFuZ2VPcHRpb25zLnJlc30pKX19dW5kbygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX21vZGVsc0RhdGEpe2NvbnN0IHQ9ZS5tb2RlbC5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbDtlLnByZXZSZXNvbHV0aW9uIT09aS52YWx1ZSgpPyhudWxsIT09ZS5yYW5nZU9wdGlvbnMmJnQuc2V0RGVmYXVsdFRpbWVmcmFtZShlLnJhbmdlT3B0aW9ucy52YWwpLHQuc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDplLnByZXZSZXNvbHV0aW9ufSkpOm51bGwhPT1lLnJhbmdlT3B0aW9ucyYmdC5sb2FkRGF0YVRvKGUucmFuZ2VPcHRpb25zLnZhbCk7Y29uc3Qgcz1lLm1vZGVsLnRpbWVTY2FsZSgpO3Muc2V0QmFyU3BhY2luZyhlLmJhclNwYWNpbmcpLHMuc2V0UmlnaHRPZmZzZXQoZS5yaWdodE9mZnNldCl9fWNhbk1lcmdlKGUpe3JldHVybiBlIGluc3RhbmNlb2YgS3ImJkJuKGUuX3JhbmdlT3B0aW9ucyx0aGlzLl9yYW5nZU9wdGlvbnMpfW1lcmdlKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEtyKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY29tbWFuZCB0byBtZXJnZSIpO3RoaXMuX21vZGVsc0RhdGE9dGhpcy5fbW9kZWxzRGF0YS5jb25jYXQoZS5fbW9kZWxzRGF0YSl9fXZhciBYcj1pKDU5MDY5NSk7Y29uc3QgWnI9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5MaW5lVG9vbHNHcm91cCIpO2xldCBKcj0hMTtmdW5jdGlvbiBRcihlKXtyZXR1cm4gZS5wcm9wZXJ0aWVzKCkudmlzaWJsZS52YWx1ZSgpfWZ1bmN0aW9uIGVvKGUpe2Zvcihjb25zdCB0IG9mIGUuaXRlbXMoKSl7aWYoISgwLFhyLmlzTGluZVRvb2xzR3JvdXApKHQpKXJldHVybiB0O2NvbnN0IGU9ZW8odCk7aWYobnVsbCE9PWUpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gdG8oZSx0KXtmb3IoY29uc3QgaSBvZiBlLml0ZW1zKCkpKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSk/dG8oaSx0KTp0LnB1c2goaS5pZCgpKX1jbGFzcyBpb3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5faW5zdGFuY2VJZD0oMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX2l0ZW1zU2V0PW5ldyBTZXQsdGhpcy5fbGluZVRvb2xzQ2FjaGU9bnVsbCx0aGlzLl9zdWJncm91cHNDYWNoZT1udWxsLHRoaXMuX3BhcmVudEdyb3VwPW51bGwsdGhpcy5pZD1pfHwoMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fbmFtZT1uZXcgaC5XYXRjaGVkVmFsdWUodCksdGhpcy5faW5zZXJ0SXRlbXMoZSl9aW5zdGFuY2VJZCgpe3JldHVybiB0aGlzLl9pbnN0YW5jZUlkfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfWxpbmVUb29scygpe3JldHVybiBudWxsPT09dGhpcy5fbGluZVRvb2xzQ2FjaGUmJih0aGlzLl9saW5lVG9vbHNDYWNoZT10aGlzLl9pdGVtcy5maWx0ZXIoKGU9PiEoMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKSkpKSx0aGlzLl9saW5lVG9vbHNDYWNoZX1zdWJncm91cHMoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3N1Ymdyb3Vwc0NhY2hlJiYodGhpcy5fc3ViZ3JvdXBzQ2FjaGU9dGhpcy5faXRlbXMuZmlsdGVyKChlPT4oMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKSkpKSx0aGlzLl9zdWJncm91cHNDYWNoZX1wYXJlbnRHcm91cCgpe3JldHVybiB0aGlzLl9wYXJlbnRHcm91cH1zZXRQYXJlbnRHcm91cChlKXt0aGlzLl9wYXJlbnRHcm91cD1lfW5hbWUoKXtyZXR1cm4gdGhpcy5fbmFtZX1zZXROYW1lKGUpe3RoaXMuX2RvQW5kRmlyZU9uQ2hhbmdlKCgoKT0+e3RoaXMuX25hbWUuc2V0VmFsdWUoZSl9KSl9c2hvdWxkQmVSZW1vdmVkT25EZXNlbGVjdCgpe3JldHVybiExfWlzQWN0dWFsU3ltYm9sKCl7Y29uc3QgZT1lbyh0aGlzKTtyZXR1cm4gbnVsbCE9PWUmJmUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc0FjdHVhbEN1cnJlbmN5KCkmJmUuaXNBY3R1YWxVbml0KCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2ZpcnN0TGluZVRvb2woKS5zeW1ib2woKX1jdXJyZW5jeUlkKCl7cmV0dXJuIHRoaXMuX2ZpcnN0TGluZVRvb2woKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY3VycmVuY3lJZC52YWx1ZSgpPz9udWxsfXVuaXRJZCgpe3JldHVybiB0aGlzLl9maXJzdExpbmVUb29sKCkucHJvcGVydGllcygpLmNoaWxkcygpLnVuaXRJZC52YWx1ZSgpPz9udWxsfWlzU3luY2hyb25pemFibGUoKXtyZXR1cm4gdGhpcy5faXRlbXMuc29tZSgoZT0+ZS5pc1N5bmNocm9uaXphYmxlKCkpKX1zaGFyaW5nTW9kZSgpe3JldHVybiB0aGlzLl9maXJzdExpbmVUb29sKCkuc2hhcmluZ01vZGUoKX1zaGFyZShlKXt0aGlzLl9pdGVtcy5mb3JFYWNoKCh0PT50LnNoYXJlKGUpKSl9Y29udGFpbnNJdGVtKGUpe3JldHVybiB0aGlzLl9pdGVtc1NldC5oYXMoZSl9Z3JvdXBGb3JMaW5lVG9vbChlKXtpZih0aGlzLl9pdGVtc1NldC5oYXMoZSkpcmV0dXJuIHRoaXM7Zm9yKGNvbnN0IHQgb2YgdGhpcy5zdWJncm91cHMoKSl7Y29uc3QgaT10Lmdyb3VwRm9yTGluZVRvb2woZSk7aWYobnVsbCE9PWkpcmV0dXJuIGl9cmV0dXJuIG51bGx9YWRkSXRlbXMoZSl7dGhpcy5fZG9BbmRGaXJlT25DaGFuZ2UoKHQ9Pnt0aGlzLl9pbnNlcnRJdGVtcyhlLHQpfSkpfWV4Y2x1ZGVJdGVtKGUpe3RoaXMuX2RvQW5kRmlyZU9uQ2hhbmdlKCh0PT57dGhpcy5fcmVtb3ZlSXRlbXMoW2VdLHQpfSkpfWV4Y2x1ZGVJdGVtcyhlKXt0aGlzLl9kb0FuZEZpcmVPbkNoYW5nZSgodD0+e3RoaXMuX3JlbW92ZUl0ZW1zKGUsdCl9KSl9c3RhdGUoKXtyZXR1cm57aWQ6dGhpcy5pZCxuYW1lOnRoaXMuX25hbWUudmFsdWUoKSx0b29sczp0aGlzLmxpbmVUb29scygpLm1hcCgoZT0+ZS5pZCgpKSl9fXZpc2liaWxpdHkoKXtsZXQgZT0hMSx0PSExO2Zvcihjb25zdCBpIG9mIHRoaXMuX2l0ZW1zKWlmKCgwLApYci5pc0xpbmVUb29sc0dyb3VwKShpKSl7Y29uc3Qgcz1pLnZpc2liaWxpdHkoKTtlPWV8fCJJbnZpc2libGUiIT09cyx0PXR8fCJWaXNpYmxlIiE9PXN9ZWxzZSBlPWV8fFFyKGkpLHQ9dHx8IVFyKGkpO3JldHVybiBlJiYhdD8iVmlzaWJsZSI6dCYmIWU/IkludmlzaWJsZSI6IlBhcnRpYWwifWxvY2tlZCgpe2xldCBlPSExLHQ9ITE7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpaWYoKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSkpe2NvbnN0IHM9aS5sb2NrZWQoKTtlPWV8fCJVbmxvY2tlZCIhPT1zLHQ9dHx8IkxvY2tlZCIhPT1zfWVsc2V7Y29uc3Qgcz1pLnByb3BlcnRpZXMoKS5mcm96ZW4udmFsdWUoKTtlPWV8fHMsdD10fHwhc31yZXR1cm4gZSYmIXQ/IkxvY2tlZCI6dCYmIWU/IlVubG9ja2VkIjoiUGFydGlhbCJ9aXNBY3R1YWxJbnRlcnZhbCgpe2xldCBlPSExLHQ9ITE7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpaWYoKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSkpe2NvbnN0IHM9aS5pc0FjdHVhbEludGVydmFsKCk7ZT1lfHwiSXNOb3RBY3R1YWxJbnRlcnZhbCIhPT1zLHQ9dHx8IklzQWN0dWFsSW50ZXJ2YWwiIT09c31lbHNle2NvbnN0IHM9aS5pc0FjdHVhbEludGVydmFsKCk7ZT1lfHxzLHQ9dHx8IXN9cmV0dXJuIGUmJiF0PyJJc0FjdHVhbEludGVydmFsIjp0JiYhZT8iSXNOb3RBY3R1YWxJbnRlcnZhbCI6IlBhcnRpYWwifW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9vbkNoYW5nZWR9c3RhdGljIGZyb21TdGF0ZShlLHQpe2NvbnN0IGk9W107Zm9yKGNvbnN0IHMgb2YgdC50b29scyl7Y29uc3QgdD1lLmRhdGFTb3VyY2VGb3JJZChzKTtudWxsIT09dCYmaS5wdXNoKHQpfXJldHVybiBpLmxlbmd0aD4wP25ldyBpbyhpLHQubmFtZSx0LmlkKTpudWxsfV9pbnNlcnRJdGVtcyhlLHQpe2Zvcihjb25zdCBpIG9mIGUpe2lmKCgwLFhyLmlzTGluZVRvb2xzR3JvdXApKGkpKXtpZih0aGlzLl93b3VsZENyZWF0ZUN5Y2xlKGkpKXtKcnx8KFpyLmxvZ1dhcm4oYEN5Y2xlIGRldGVjdGVkOiBjYW5ub3QgYWRkIGdyb3VwICR7aS5pZH0gaW50byBncm91cCAke3RoaXMuaWR9OyBza2lwcGluZ2ApLEpyPSEwKTtjb250aW51ZX1jb25zdCBlPWkucGFyZW50R3JvdXAoKTtudWxsIT09ZSYmZS5leGNsdWRlSXRlbShpKSxpLnNldFBhcmVudEdyb3VwKHRoaXMpLGkub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX29uQ2hhbmdlZC5maXJlKGUpKSksdm9pZCAwIT09dCYmdG8oaSx0KX1lbHNlIHZvaWQgMCE9PXQmJnQucHVzaChpLmlkKCkpO3RoaXMuX2l0ZW1zU2V0LmFkZChpKSx0aGlzLl9pdGVtcy5wdXNoKGkpfXRoaXMuX2ludmFsaWRhdGVDYWNoZXMoKX1fcmVtb3ZlSXRlbXMoZSx0KXtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IHMgb2YgZSl0aGlzLl9pdGVtc1NldC5kZWxldGUocykmJihpLmFkZChzKSwoMCxYci5pc0xpbmVUb29sc0dyb3VwKShzKT8ocy5vbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxzLnNldFBhcmVudEdyb3VwKG51bGwpLHRvKHMsdCkpOnQucHVzaChzLmlkKCkpKTt0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5maWx0ZXIoKGU9PiFpLmhhcyhlKSkpLHRoaXMuX2ludmFsaWRhdGVDYWNoZXMoKX1fZmlyc3RMaW5lVG9vbCgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkoZW8odGhpcykpfV93b3VsZENyZWF0ZUN5Y2xlKGUpe2lmKGU9PT10aGlzKXJldHVybiEwO2xldCB0PXRoaXMucGFyZW50R3JvdXAoKTtmb3IoO251bGwhPT10Oyl7aWYodD09PWUpcmV0dXJuITA7dD10LnBhcmVudEdyb3VwKCl9cmV0dXJuITF9X2ludmFsaWRhdGVDYWNoZXMoKXt0aGlzLl9saW5lVG9vbHNDYWNoZT1udWxsLHRoaXMuX3N1Ymdyb3Vwc0NhY2hlPW51bGx9X2RvQW5kRmlyZU9uQ2hhbmdlKGUpe2NvbnN0IHQ9W10saT10aGlzLnZpc2liaWxpdHkoKSxzPXRoaXMubG9ja2VkKCksbj10aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKTtlKHQpLHRoaXMuX29uQ2hhbmdlZC5maXJlKHthZmZlY3RlZExpbmVUb29sczp0LHZpc2liaWxpdHlDaGFuZ2VkOmkhPT10aGlzLnZpc2liaWxpdHkoKSxsb2NrZWRDaGFuZ2VkOnMhPT10aGlzLmxvY2tlZCgpLGlzQWN0dWFsSW50ZXJ2YWxDaGFuZ2VkOm4hPT10aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKX0pfX1pKDgyOTE4MCk7Y2xhc3Mgc28gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihpLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fbW9kZWw9ZSx0aGlzLl9ncm91cElkPXQuaWQsdGhpcy5fZ3JvdXBOYW1lPXQubmFtZSgpLnZhbHVlKCksdGhpcy5fbGluZVRvb2xzSWRzPXQubGluZVRvb2xzKCkubWFwKChlPT5lLmlkKCkpKX1yZWRvKCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKHRoaXMuX2dyb3VwSWQpKTt0aGlzLl9tb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlR3JvdXAoZSl9dW5kbygpe2NvbnN0IGU9dGhpcy5fbGluZVRvb2xzSWRzLm1hcCgoZT0+dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSksdD1uZXcgaW8oZSx0aGlzLl9ncm91cE5hbWUsdGhpcy5fZ3JvdXBJZCk7dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmFkZEdyb3VwKHQpfX1jb25zdCBubz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjcmVhdGUgbGluZSB0b29scyBncm91cCIscC50KG51bGwsdm9pZCAwLGkoMjg4Nzk3KSkpO2NsYXNzIHJvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKG5vLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fZ3JvdXBJZD1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlc0lkcz10Lm1hcCgoZT0+ZS5pZCgpKSl9cmVkbygpe2NvbnN0IGU9dGhpcy5fc291cmNlc0lkcy5tYXAoKGU9PnRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZChlKSkpLHQ9bnVsbD09PXRoaXMuX2dyb3VwSWQ/dm9pZCAwOnRoaXMuX2dyb3VwSWQKO3RoaXMuX2dyb3VwSWQ9dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmNyZWF0ZUdyb3VwKGUsdGhpcy5fdGl0bGUsdCkuaWR9dW5kbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JJZCgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2dyb3VwSWQpKSk7dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLnJlbW92ZUdyb3VwKGUpfWNyZWF0ZWRHcm91cElkKCl7cmV0dXJuIHRoaXMuX2dyb3VwSWR9fWNvbnN0IG9vPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFkZCBsaW5lIHRvb2wocykgdG8gZ3JvdXAge2dyb3VwfSIscC50KG51bGwsdm9pZCAwLGkoNDM5NTkwKSkpO2NsYXNzIGFvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIob28uZm9ybWF0KHtncm91cDp0Lm5hbWUoKS52YWx1ZSgpfSksdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9tb2RlbD1lLHRoaXMuX2dyb3VwSWQ9dC5pZCx0aGlzLl9saW5lVG9vbHNJZHM9aS5tYXAoKGU9PmUuaWQoKSkpfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQodGhpcy5fZ3JvdXBJZCkpLHQ9dGhpcy5fbGluZVRvb2xzSWRzLm1hcCgoZT0+dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSk7ZS5hZGRJdGVtcyh0KX11bmRvKCl7Y29uc3QgZT10aGlzLl9saW5lVG9vbHNJZHMubWFwKChlPT50aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZSkpKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKHRoaXMuX2dyb3VwSWQpKS5leGNsdWRlSXRlbXMoZSl9fWNsYXNzIGxvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX2dyb3VwSWQ9dC5pZCx0aGlzLl9vbGROYW1lPXQubmFtZSgpLnZhbHVlKCksdGhpcy5fbmV3TmFtZT1pfXJlZG8oKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQodGhpcy5fZ3JvdXBJZCkpLnNldE5hbWUodGhpcy5fbmV3TmFtZSl9dW5kbygpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JJZCh0aGlzLl9ncm91cElkKSkuc2V0TmFtZSh0aGlzLl9vbGROYW1lKX19dmFyIGNvPWkoOTQzOTUpO2NsYXNzIGhvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fb3JpZ2luTGlua0tleT1udWxsLHRoaXMuX21vZGVsPWksdGhpcy5faWQ9ZS5pZCgpLHRoaXMuX3RhcmdldFNoYXJpbmdNb2RlPXQsdGhpcy5fb3JpZ2luU2hhcmluZ01vZGU9ZS5zaGFyaW5nTW9kZSgpLnZhbHVlKCksdGhpcy5fb3JpZ2luTGlua0tleT1lLmxpbmtLZXkoKS52YWx1ZSgpfXJlZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCk7ZT8uaXNTeW5jaHJvbml6YWJsZSgpJiYoZS5zaGFyZSh0aGlzLl90YXJnZXRTaGFyaW5nTW9kZSksMCE9PXRoaXMuX3RhcmdldFNoYXJpbmdNb2RlJiYwPT09dGhpcy5fb3JpZ2luU2hhcmluZ01vZGUmJihlLmxpbmtLZXkoKS5zZXRWYWx1ZSgoMCxsdC5yYW5kb21IYXNoKSgpKSx0aGlzLl9tb2RlbC5jb3B5VG9PdGhlckNoYXJ0cyhbZV0sITEpKSwwPT09dGhpcy5fdGFyZ2V0U2hhcmluZ01vZGUmJjAhPT10aGlzLl9vcmlnaW5TaGFyaW5nTW9kZSYmZS5saW5rS2V5KCkuc2V0VmFsdWUobnVsbCkpfXVuZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCk7ZT8uaXNTeW5jaHJvbml6YWJsZSgpJiYoZS5zaGFyZSh0aGlzLl9vcmlnaW5TaGFyaW5nTW9kZSksMD09PXRoaXMuX29yaWdpblNoYXJpbmdNb2RlPygoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITEsbW9kZWw6dGhpcy5fbW9kZWwsc3ltYm9sOmUuc3ltYm9sKCksbGlua0tleTooMCxsLmVuc3VyZU5vdE51bGwpKGUubGlua0tleSgpLnZhbHVlKCkpLHNvdXJjZVRpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKGNvLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpLGxpbmVUb29sU3RhdGU6ZS5zdGF0ZSghMSksdW5saW5rOiEwfSksZS5saW5rS2V5KCkuc2V0VmFsdWUobnVsbCkpOmUubGlua0tleSgpLnNldFZhbHVlKHRoaXMuX29yaWdpbkxpbmtLZXkpKX19CmNvbnN0IHVvPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNyZWF0ZSBsaW5lIHRvb2xzIGdyb3VwIGZyb20gc2VsZWN0aW9uIixwLnQobnVsbCx2b2lkIDAsaSgxMzQ1NTgpKSkscG89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZpbmcgbGluZSB0b29scyBncm91cCB7bmFtZX0iLHAudChudWxsLHZvaWQgMCxpKDY2NjE0MCkpKSxfbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhZGQgbGluZSB0b29sIHtsaW5lVG9vbH0gdG8gZ3JvdXAge25hbWV9IixwLnQobnVsbCx2b2lkIDAsaSg2ODk1ODApKSksbW89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibWFrZSBncm91cCB7Z3JvdXB9IHZpc2libGUiLHAudChudWxsLHZvaWQgMCxpKDM1NjU0MSkpKSxnbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtYWtlIGdyb3VwIHtncm91cH0gaW52aXNpYmxlIixwLnQobnVsbCx2b2lkIDAsaSg1NzIzMzQpKSksZm89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibG9jayBncm91cCB7Z3JvdXB9IixwLnQobnVsbCx2b2lkIDAsaSg3MDYzMDgpKSksU289bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidW5sb2NrIGdyb3VwIHtncm91cH0iLHAudChudWxsLHZvaWQgMCxpKDk1MjUyMykpKSx2bz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW5hbWUgZ3JvdXAge2dyb3VwfSB0byB7bmV3TmFtZX0iLHAudChudWxsLHZvaWQgMCxpKDM4NTMxMCkpKTtjbGFzcyB5b3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9lbnZpcm9ubWVudD1lfWNyZWF0ZUdyb3VwRnJvbVNlbGVjdGlvbigpe2NvbnN0IGU9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKTsoMCxsLmFzc2VydCkoIWUuc2VsZWN0aW9uKCkuaXNFbXB0eSgpLCJDYW5ub3QgY3JlYXRlIGdyb3VwIGZyb20gZW1wdHkgc2VsZWN0aW9uIik7Y29uc3QgdD0oMCxkci5zb3J0U291cmNlcykoZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKSk7KDAsbC5hc3NlcnQpKHQubGVuZ3RoPT09ZS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCkubGVuZ3RoLCJBIGdyb3VwIGNvdWxkIGNvbnRhaW4gbGluZSB0b29scyBvbmx5Iik7Y29uc3QgaT10Lmxlbmd0aD4xfHxudWxsIT09dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0WzBdKSxzPXQucmVkdWNlKCgoZSx0KT0+ZS56b3JkZXIoKT50LnpvcmRlcigpP2U6dCksdFswXSk7bGV0IG49cztjb25zdCByPWUubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2wocyk7aWYobnVsbCE9PXIpe2NvbnN0IGU9ci5saW5lVG9vbHMoKTtuPWVbZS5sZW5ndGgtMV19dGhpcy5fZW52aXJvbm1lbnQuYmVnaW5VbmRvTWFjcm8odW8pO2NvbnN0IG89bmV3IE1hcCxhPW5ldyBTZXQ7dC5mb3JFYWNoKCh0PT57Y29uc3QgaT10aGlzLl9ncm91cEZvckxpbmVUb29sKHQpO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBzPW8uZ2V0KGkpfHxbXTtzLnB1c2godCksby5zZXQoaSxzKTtjb25zdCBuPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wYW5lRm9yU291cmNlKHQpKTthLmFkZChuKX0pKSwoMCxsLmFzc2VydCkoYS5zaXplPD0xLCJBbGwgc2VsZWN0ZWQgc291cmNlcyBzaG91bGQgYmUgb24gdGhlIHNhbWUgcGFuZSIpLG8uZm9yRWFjaCgoKHQsaSk9Pntjb25zdCBzPW5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQoZSxpLHQpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChzKX0pKTtjb25zdCBjPW5ldyBybyhlLCgwLGRyLnNvcnRTb3VyY2VzKSh0KSk7aWYodGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKGMpLGkpe2NvbnN0IGk9bmV3IEFyKGUsdCxuKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQoaSl9dGhpcy5fZW52aXJvbm1lbnQuZW5kVW5kb01hY3JvKCk7Y29uc3QgaD0oMCxsLmVuc3VyZU5vdE51bGwpKGMuY3JlYXRlZEdyb3VwSWQoKSk7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKShlLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGgpKX1yZW1vdmVHcm91cChlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1lLmxpbmVUb29scygpLHM9aS5tYXAoKGU9Pih7c3RhdGU6ZS5zdGF0ZSghMSksdGl0bGU6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhlLm5hbWUoKSxlLnRpdGxlKE5uLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93KSksbGlua0tleTplLmxpbmtLZXkoKS52YWx1ZSgpfSkpKTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhwby5mb3JtYXQoe25hbWU6ZS5uYW1lKCkudmFsdWUoKX0pKTtjb25zdCBuPW5ldyBzbyh0LGUsbnVsbCk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pO2NvbnN0IHI9bmV3IHRyLlJlbW92ZVNvdXJjZXNVbmRvQ29tbWFuZCh0LGksbnVsbCk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKHIpO2NvbnN0IG89dC5tYWluU2VyaWVzKCkuc3ltYm9sKCk7cy5mb3JFYWNoKChlPT57bnVsbCE9PWUubGlua0tleSYmKDAsVC5yZW1vdmVMaW5lVG9vbCkoe3dpdGhVbmRvOiEwLG1vZGVsOnQsc3ltYm9sOm8sc291cmNlVGl0bGU6ZS50aXRsZSxsaW5lVG9vbFN0YXRlOmUuc3RhdGUsbGlua0tleTplLmxpbmtLZXl9KX0pKSx0aGlzLl9lbnZpcm9ubWVudC5lbmRVbmRvTWFjcm8oKX1ncm91cHMoKXtyZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBzKCl9ZXhjbHVkZUxpbmVUb29sRnJvbUdyb3VwKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLHM9bmV3IGlyLkV4Y2x1ZGVMaW5lVG9vbHNGcm9tR3JvdXBVbmRvQ29tbWFuZChpLGUsW3RdKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQocyl9YWRkTGluZVRvb2xUb0dyb3VwKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLHM9aS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0KTtpZihzPT09ZSlyZXR1cm47Y29uc3Qgbj1fby5mb3JtYXQoewpsaW5lVG9vbDpuZXcgeS5UcmFuc2xhdGVkU3RyaW5nKHQubmFtZSgpLHQudGl0bGUoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKSxuYW1lOmUubmFtZSgpLnZhbHVlKCl9KTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhuKSxudWxsIT09cyYmdGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQoaSxzLFt0XSkpO3tjb25zdCBzPWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpO3Quc2hhcmluZ01vZGUoKS52YWx1ZSgpIT09cyYmdGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBobyh0LHMsaSxudWxsKSl9dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBhbyhpLGUsW3RdKSksdGhpcy5fZW52aXJvbm1lbnQuZW5kVW5kb01hY3JvKCl9YnJpbmdUb0Zyb250KGUpe2NvbnN0IHQ9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKSxpPW5ldyBNcih0LGUubGluZVRvb2xzKCkpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChpKSx0aGlzLl9lbnZpcm9ubWVudC5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2UubGluZVRvb2xzKCldKX1zZW5kVG9CYWNrKGUpe2NvbnN0IHQ9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKSxpPW5ldyBJcih0LGUubGluZVRvb2xzKCkpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChpKSx0aGlzLl9lbnZpcm9ubWVudC5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2UubGluZVRvb2xzKCldKX1icmluZ0ZvcndhcmQoZSl7Y29uc3QgdD10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLGk9bmV3IFdyKHQsZSk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKGkpLHRoaXMuX2Vudmlyb25tZW50LmVtaXRFdmVudCgiY2hhbmdlWk9yZGVyIixbZS5saW5lVG9vbHMoKV0pfXNlbmRCYWNrd2FyZChlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1uZXcgT3IodCxlKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQoaSksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9aW5zZXJ0QWZ0ZXIoZSx0KXtjb25zdCBpPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCk7bGV0IHM7aWYodCBpbnN0YW5jZW9mIGlvKXtjb25zdCBlPXQubGluZVRvb2xzKCk7cz1lW2UubGVuZ3RoLTFdfWVsc2Ugcz10O2NvbnN0IG49bmV3IEFyKGksZS5saW5lVG9vbHMoKSxzKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQobiksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9aW5zZXJ0QmVmb3JlKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpO2xldCBzO2lmKHQgaW5zdGFuY2VvZiBpbyl7cz10LmxpbmVUb29scygpWzBdfWVsc2Ugcz10O2NvbnN0IG49bmV3IERyKGksZS5saW5lVG9vbHMoKSxzKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQobiksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9YXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1lLmxpbmVUb29scygpLHM9aVswXSxuPWlbaS5sZW5ndGgtMV0scj0oMCxsLmVuc3VyZU5vdE51bGwpKHQucGFuZUZvclNvdXJjZShpWzBdKSkuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpLG89clswXSxhPXJbci5sZW5ndGgtMV07cmV0dXJue2JyaW5nRm9yd2FyZEVuYWJsZWQ6biE9PWEsYnJpbmdUb0Zyb250RW5hYmxlZDpuIT09YSxzZW5kQmFja3dhcmRFbmFibGVkOnMhPT1vLHNlbmRUb0JhY2tFbmFibGVkOnMhPT1vfX1zZXRHcm91cFZpc2liaWxpdHkoZSx0KXtjb25zdCBpPSh0P21vOmdvKS5mb3JtYXQoe2dyb3VwOmUubmFtZSgpLnZhbHVlKCl9KSxzPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCk7dGhpcy5fZW52aXJvbm1lbnQuYmVnaW5VbmRvTWFjcm8oaSksZS5saW5lVG9vbHMoKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLnByb3BlcnRpZXMoKS52aXNpYmxlLG49bmV3IHFyLlNldFByb3BlcnR5VW5kb0NvbW1hbmQoaSx0LG51bGwscywhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbik7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pfSkpLHRoaXMuX2Vudmlyb25tZW50LmVuZFVuZG9NYWNybygpfXNldEdyb3VwTG9jayhlLHQpe2NvbnN0IGk9KHQ/Zm86U28pLmZvcm1hdCh7Z3JvdXA6ZS5uYW1lKCkudmFsdWUoKX0pLHM9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhpKSxlLmxpbmVUb29scygpLmZvckVhY2goKGU9Pntjb25zdCBpPWUucHJvcGVydGllcygpLmZyb3plbixuPW5ldyBxci5TZXRQcm9wZXJ0eVVuZG9Db21tYW5kKGksdCxudWxsLHMsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChuKX0pKSx0aGlzLl9lbnZpcm9ubWVudC5lbmRVbmRvTWFjcm8oKX1zZXRHcm91cE5hbWUoZSx0KXtjb25zdCBpPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCkscz12by5mb3JtYXQoe2dyb3VwOmUubmFtZSgpLnZhbHVlKCksbmV3TmFtZTp0fSksbj1uZXcgbG8oaSxlLHQscyk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pfWNhbkJlR3JvdXBwZWQoZSl7Y29uc3QgdD10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpO3JldHVybiBuZXcgU2V0KGUubWFwKChlPT50LnBhbmVGb3JTb3VyY2UoZSkpKSkuc2l6ZTw9MX1fZ3JvdXBGb3JMaW5lVG9vbChlKXtyZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKX19dmFyIGJvPWkoNDEyMzg0KSx3bz1pKDU0NDg4NSksQ289aSgzMDUyNzcpCjtjb25zdCBQbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBzdHVkeSB0ZW1wbGF0ZSB7dGVtcGxhdGV9IixwLnQobnVsbCx2b2lkIDAsaSgzODE1MTMpKSk7ZnVuY3Rpb24gVG8oZSl7Zm9yKGNvbnN0IHQgb2YgZS5wYW5lcylmb3IoY29uc3QgZSBvZiB0LnNvdXJjZXMpaWYoKDAsUC5pc01haW5TZXJpZXNTdGF0ZSkoZSkpcmV0dXJuIGUuaWQ7cmV0dXJuIG51bGx9dmFyIHhvOyFmdW5jdGlvbihlKXtlW2UuSW5pdGlhbD0wXT0iSW5pdGlhbCIsZVtlLlVuZG9pbmc9MV09IlVuZG9pbmciLGVbZS5SZWRvaW5nPTJdPSJSZWRvaW5nIn0oeG98fCh4bz17fSkpO2NsYXNzIE1vIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihQby5mb3JtYXQoe3RlbXBsYXRlOml9KSksdGhpcy5fbmV3U3ltYm9sUGFyYW1zPXt9LHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPSExLHRoaXMuX21vZGVsPWUsdGhpcy5fdGVtcGxhdGVDb250ZW50PWZ1bmN0aW9uKGUsdCl7Y29uc3QgaT0oMCxyLmRlZmF1bHQpKHt9LGUpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKShUbyhpKSk7Zm9yKGNvbnN0IGUgb2YgaS5wYW5lcyl7ZS5tYWluU291cmNlSWQ9PT1zJiYoZS5tYWluU291cmNlSWQ9dCk7Zm9yKGNvbnN0IGkgb2YgZS5zb3VyY2VzKWlmKGkuaWQ9PT1zKXtpLmlkPXQ7Y29uc3Qgbj1lPT57Y29uc3QgaT1lLmluZGV4T2Yocyk7LTEhPT1pJiZlLnNwbGljZShpLDEsdCl9O2lmKGUubGVmdEF4aXNlc1N0YXRlJiZlLnJpZ2h0QXhpc2VzU3RhdGU/KGUubGVmdEF4aXNlc1N0YXRlLmZvckVhY2goKGU9Pm4oZS5zb3VyY2VzKSkpLGUucmlnaHRBeGlzZXNTdGF0ZS5mb3JFYWNoKChlPT5uKGUuc291cmNlcykpKSk6KG4oZS5sZWZ0QXhpc1NvdXJjZXMpLG4oZS5yaWdodEF4aXNTb3VyY2VzKSksZS5vdmVybGF5UHJpY2VTY2FsZXMpe2NvbnN0IGk9ZS5vdmVybGF5UHJpY2VTY2FsZXNbc107aSYmKGRlbGV0ZSBlLm92ZXJsYXlQcmljZVNjYWxlc1tzXSxlLm92ZXJsYXlQcmljZVNjYWxlc1t0XT1pKX19ZWxzZSBpLm93bmVyU291cmNlPT09cyYmKGkub3duZXJTb3VyY2U9dCl9cmV0dXJuIGl9KHQsZS5tYWluU2VyaWVzKCkuaWQoKSksdGhpcy5faW5pdGlhbFN0YXRlPWUuc3R1ZHlUZW1wbGF0ZSghMCwhMCwhMCksdGhpcy5fZXZlbnRTb3VyY2U9cztjb25zdCBuPWUubWFpblNlcmllcygpO3Quc3ltYm9sJiYodGhpcy5fbmV3U3ltYm9sUGFyYW1zPXtzeW1ib2w6dC5zeW1ib2wsY3VycmVuY3k6dC5jdXJyZW5jeT8/bnVsbCx1bml0OnQudW5pdD8/bnVsbH0pLHQuaW50ZXJ2YWwmJih0aGlzLl9uZXdTeW1ib2xQYXJhbXMuaW50ZXJ2YWw9dC5pbnRlcnZhbCx0aGlzLl9uZXdTeW1ib2xQYXJhbXMuc3R5bGU9KDAsQS5nZXRDaGFydFN0eWxlQnlSZXNvbHV0aW9uKSh0LmludGVydmFsLG4uc3R5bGUoKSkpLHRoaXMuX2luaXRpYWxTeW1ib2xQYXJhbXM9e3N5bWJvbDpuLnN5bWJvbCgpLGN1cnJlbmN5Om4uY3VycmVuY3koKSx1bml0Om4udW5pdCgpLGludGVydmFsOm4uaW50ZXJ2YWwoKSxzdHlsZTpuLnN0eWxlKCl9LHRoaXMuX2luaXRpYWxTdGF0ZT1lLnN0dWR5VGVtcGxhdGUoKSx0aGlzLl9pbml0aWFsR3JvdXBzU3RhdGU9ZS5saW5lVG9vbHNHcm91cE1vZGVsKCkuc3RhdGUoKX1yZWRvKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNldFN5bWJvbFBhcmFtcyh0aGlzLl9uZXdTeW1ib2xQYXJhbXMpO2NvbnN0IGU9dGhpcy5fbWVyZ2UodGhpcy5fdGVtcGxhdGVDb250ZW50LHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPzI6MCkuZmlsdGVyKHJpLmlzTGluZVRvb2wpO3RoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5yZW1vdmVMaW5lVG9vbHMoZSk7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpOygwLEEucHJlcGFyZVByaWNlQXhpc1Byb3BlcnRpZXMpKHQpLHRoaXMuX21vZGVsLnJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TdHVkeUNyZWF0aW9uKSx0aGlzLl9tb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKX11bmRvKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNldFN5bWJvbFBhcmFtcyh0aGlzLl9pbml0aWFsU3ltYm9sUGFyYW1zKSx0aGlzLl9tZXJnZSh0aGlzLl9pbml0aWFsU3RhdGUsMSksdGhpcy5faGFzQWxyZWFkeUJlZW5VbmRvbmU9ITB9X21lcmdlKGUsdCl7Y29uc3QgaT1lLnZlcnNpb258fDAscz10aGlzLl9tb2RlbCxuPXMubWFpblNlcmllcygpOygwLGwuYXNzZXJ0KShuLmlkKCk9PT1UbyhlKSksbi5wcmljZVNjYWxlKCkucHJvcGVydGllcygpLmNoaWxkcygpLmxvY2tTY2FsZS5zZXRWYWx1ZSghMSk7Y29uc3Qgcj1zLnBhbmVzKCksbz1bXTtmb3IobGV0IGU9ci5sZW5ndGg7ZS0tOyl7Y29uc3QgdD1yW2VdLGk9dC5jb250YWluc01haW5TZXJpZXMoKSxzPXQuZGF0YVNvdXJjZXMoKTtmb3IobGV0IGU9cy5sZW5ndGg7ZS0tOyl7Y29uc3QgdD1zW2VdOyghaXx8KCgwLHRpLmlzU3R1ZHkpKHQpfHwoMCx0aS5pc1N0dWR5U3R1YikodCkpJiZ0LmlzUmVtb3ZlZEJ5U3R1ZHlUZW1wbGF0ZXMoKSkmJm8ucHVzaCh0KX19cy5yZXNldERlZmVycmVkU3R1ZGllcygpO2NvbnN0IGM9MD09PXQ/dGhpcy5fZXZlbnRTb3VyY2U6MT09PXQ/InVuZG8iOnRoaXMuX2V2ZW50U291cmNlP2ByZWRvXyR7dGhpcy5fZXZlbnRTb3VyY2V9YDoicmVkbyIsaD0oMCxiby5jbG9zZVNvdXJjZXNTZXQpKHMsbywhMCk7Zm9yKGxldCBlPTA7ZTxoLmxlbmd0aDsrK2Upe2NvbnN0IHQ9aFtlXTsoMCx0aS5pc1N0dWR5KSh0KSYmKDAsd28udHJhY2tTdHVkaWVzKSh0Lm1ldGFJbmZvKCksdC5tb2RlbCgpLCJyZW1vdmUiLGMpLHMucmVtb3ZlU291cmNlKHQpfWNvbnN0IGQ9ZS5wYW5lcztsZXQgdT0wO2ZvcihsZXQgZT0wO2U8ZC5sZW5ndGg7ZSsrKXtsZXQgdD0tMTtjb25zdCBuPSgwLGEuY2xvbmUpKGRbZV0pO24uc291cmNlcy5zb3J0KCgoZSx0KT0+ZS56b3JkZXItdC56b3JkZXIpKTtmb3IobGV0IGU9MDtlPG4uc291cmNlcy5sZW5ndGg7ZSsrKXsKY29uc3QgaT1uLnNvdXJjZXNbZV07aWYoKDAsUC5pc01haW5TZXJpZXNTdGF0ZSkoaSkmJihkZWxldGUgaS5zdGF0ZSx0PWUpLCgwLFAuaXNTdHVkeVN0YXRlKShpKSl7Y29uc3QgZT1uZXcgb3QuU3R1ZHlNZXRhSW5mbyhpLm1ldGFJbmZvKTsoMCx3by50cmFja1N0dWRpZXMpKGUscywiYWRkIixjKX19Y29uc3Qgbz10Pi0xLGg9bz9yW2UtdV06cy5jcmVhdGVQYW5lKGUtdSk7aWYobyYmaTwzJiYoMCxDby5yZW9yZGVyRGF0YVNvdXJjZXNTdGF0ZVpPcmRlcikobi5zb3VyY2VzKSxoLnJlc3RvcmVTdGF0ZSh7c3RhdGU6bix3aXRoRGF0YTohMSx2ZXJzaW9uOmksaXNTdHVkeVRlbXBsYXRlOiEwfSksbnVsbCE9PWgubWFpbkRhdGFTb3VyY2UoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmFsZXJ0c1dhdGNoZXIoKSk7Zm9yKGNvbnN0IHQgb2YgaC5kYXRhU291cmNlcygpKWUuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHQpfWVsc2UgdSsrLHMucmVtb3ZlUGFuZShoKX1yZXR1cm4gcy5zeW5jTG9sbGlwb3BTb3VyY2VzKCksbi5wcmljZVNjYWxlKCkuc2V0TW9kZSh7YXV0b1NjYWxlOiEwfSkscy5zdGFydE5vdFN0YXJ0ZWRTdHVkaWVzKCkscy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLmdsb2JhbENoYW5nZUV2ZW50KSgpKSxzLmZ1bGxVcGRhdGUoKSxofX12YXIgSW89aSg1NDA1ODgpO2NvbnN0IExvPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKTt2YXIgQW87IWZ1bmN0aW9uKGUpe2VbZS5QYXN0ZVlDb29yZE9mZnNldD0tNDBdPSJQYXN0ZVlDb29yZE9mZnNldCJ9KEFvfHwoQW89e30pKTtjb25zdCBrbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSBkcmF3aW5nIixwLnQobnVsbCx2b2lkIDAsaSg4MzcwNjYpKSk7Y2xhc3MgRG8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbil7c3VwZXIoa28sdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9uZWVkQ29weVRvT3RoZXJDaGFydHM9ITEsdGhpcy5fc291cmNlU3RhdGU9bnVsbCx0aGlzLl9hY3Rpb25Tb3VyY2VXYXNTZW50PSExLHRoaXMuX21vZGVsPWUsdGhpcy5fY2xpcGJvYXJkRGF0YT10LHRoaXMuX3BhbmVJbmRleD10aGlzLl9tb2RlbC5wYW5lcygpLmluZGV4T2YoaXx8KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSkpKSx0aGlzLl9wYXN0ZVdpdGhEYXRhPSEhcyx0aGlzLl9rZWVwWkluZGV4PSEhbn1yZWRvKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lcygpW3RoaXMuX3BhbmVJbmRleF0sdD0oMCxsLmVuc3VyZU5vdE51bGwpKGUuY2xpcGJvYXJkTGluZVRvb2xPd25lclNvdXJjZSh0aGlzLl9jbGlwYm9hcmREYXRhLnNvdXJjZS5pZCkpLGk9dD09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTtsZXQgcztudWxsPT09dGhpcy5fc291cmNlU3RhdGUmJih0aGlzLl9zb3VyY2VTdGF0ZT10aGlzLl9nZXRTb3VyY2VTdGF0ZSh0LGkpKSx0aGlzLl9hY3Rpb25Tb3VyY2VXYXNTZW50fHwocz0iUGFzdGUiLHRoaXMuX2FjdGlvblNvdXJjZVdhc1NlbnQ9ITApO2NvbnN0IG49KDAsbC5lbnN1cmVOb3ROdWxsKShlLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6dGhpcy5fc291cmNlU3RhdGUsd2l0aERhdGE6dGhpcy5fcGFzdGVXaXRoRGF0YSxrZWVwWk9yZGVyOnRoaXMuX2tlZXBaSW5kZXgsb3duZXJTb3VyY2U6dCxhY3Rpb25Tb3VyY2U6c30pKTsoMCxsLmVuc3VyZU5vdE51bGwpKHQucHJpY2VTY2FsZSgpKS5hZGREYXRhU291cmNlKG4pLHRoaXMuX2NsaXBib2FyZERhdGEuY2VudGVyZWRPbkNoYXJ0JiZuLmNlbnRlclBvc2l0aW9uJiZuLmNlbnRlclBvc2l0aW9uKCksbi5yZXN0b3JlRml4ZWRQb2ludCgpLG4uY3JlYXRlU2VydmVyUG9pbnRzKCksdGhpcy5fbmVlZENvcHlUb090aGVyQ2hhcnRzPUJvb2xlYW4oaSYmbi5pc1N5bmNocm9uaXphYmxlKCkmJjAhPT1uLnNoYXJpbmdNb2RlKCkudmFsdWUoKSksdGhpcy5fbW9kZWwuc2V0U2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbighMCl9dW5kbygpe2lmKCF0aGlzLl9zb3VyY2VTdGF0ZSlyZXR1cm4gdm9pZCBMby5sb2dFcnJvcigiVGhpcyBjb21tYW5kIHdhcyBuZXZlciBleGVjdXRlZCAtIG5vdGhpbmcgdG8gdW5kbyIpO2NvbnN0IGU9dGhpcy5zb3VyY2UoKTt0aGlzLl9jbGlwYm9hcmREYXRhLmNlbnRlcmVkT25DaGFydCYmKHRoaXMuX2NsaXBib2FyZERhdGEuY2VudGVyZWRPbkNoYXJ0PSExLHRoaXMuX3NvdXJjZVN0YXRlLnBvaW50cz1lLm5vcm1hbGl6ZWRQb2ludHMoKSksdGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGUpfXNvdXJjZSgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlU3RhdGUpLmlkKSl9bmVlZENvcHlUb090aGVyQ2hhcnRzKCl7cmV0dXJuIHRoaXMuX25lZWRDb3B5VG9PdGhlckNoYXJ0c31fZ2V0U291cmNlU3RhdGUoZSx0KXtjb25zdCBpPSgwLGEuY2xvbmUpKHRoaXMuX2NsaXBib2FyZERhdGEuc291cmNlKTtkZWxldGUgaS5zdGF0ZS5zeW1ib2wsdD8obnVsbCE9aS5saW5rS2V5fHx2b2lkIDAhPT1pLnNoYXJpbmdNb2RlJiYwIT09aS5zaGFyaW5nTW9kZSkmJihpLmxpbmtLZXk9KDAsbHQucmFuZG9tSGFzaCkoKSk6KGkubGlua0tleT1udWxsLGkuc2hhcmluZ01vZGU9MCk7Y29uc3Qgcz0oMCxsLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKSxuPXRoaXMuX21vZGVsLHtzeW1ib2w6cixjdXJyZW5jeUlkOm8sdW5pdElkOmN9PXRoaXMuX2NsaXBib2FyZERhdGEuc291cmNlLnN0YXRlLGg9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnN5bWJvbFNvdXJjZSgpKTtsZXQgZD0hMTshaC5zeW1ib2xTYW1lQXNDdXJyZW50KHIpfHwobnVsbCE9PW8/byE9PSgwLEEuc3ltYm9sQ3VycmVuY3kpKGguc3ltYm9sSW5mbygpLHZvaWQgMCwhMCk6aC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSgpKXx8KG51bGwhPT1jP2MhPT0oMCwKQS5zeW1ib2xVbml0KShoLnN5bWJvbEluZm8oKSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk6aC5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpfHwoKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpP2Q9ITA6KDAsdGkuaXNTdHVkeSkoZSkmJihkPUJvb2xlYW4oZS5tZXRhSW5mbygpLmlzX3ByaWNlX3N0dWR5KSkpLGkuc3RhdGUuY3VycmVuY3lJZD1uLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQoKSYmaC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSgpP2guY3VycmVuY3koKTpudWxsLGkuc3RhdGUudW5pdElkPW4udW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmguaXNDb252ZXJ0ZWRUb090aGVyVW5pdCgpP2gudW5pdCgpOm51bGw7Y29uc3QgdT1lPT57Y29uc3QgdD1lLngqbi50aW1lU2NhbGUoKS53aWR0aCgpLGk9ZS55KnMuaGVpZ2h0KCktNDA7cmV0dXJuIG5ldyBQdC5Qb2ludCh0LGkpfSxwPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5maXJzdFZhbHVlKCkpO2lmKHRoaXMuX21vZGVsLmlkKCk9PT10aGlzLl9jbGlwYm9hcmREYXRhLm1vZGVsSWR8fCFkKXtmb3IobGV0IGU9MDtlPHRoaXMuX2NsaXBib2FyZERhdGEuZ2VvbWV0cnkubGVuZ3RoOysrZSl7Y29uc3QgdD11KHRoaXMuX2NsaXBib2FyZERhdGEuZ2VvbWV0cnlbZV0pLHI9bi50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9JbmRleCh0LngpLG89bi50aW1lU2NhbGUoKS5ub3JtYWxpemVCYXJJbmRleChyKTtpZihkKXtjb25zdCB0PXMucHJpY2VUb0Nvb3JkaW5hdGUoaS5wb2ludHNbZV0ucHJpY2UscCkrLTQwO28ucHJpY2U9cy5jb29yZGluYXRlVG9QcmljZSh0LHApfWVsc2Ugby5wcmljZT1zLmNvb3JkaW5hdGVUb1ByaWNlKHQueSxwKTtpLnBvaW50c1tlXT1vfWkuc3RhdGUuaW50ZXJ2YWw9bi5tYWluU2VyaWVzKCkuaW50ZXJ2YWwoKX1yZXR1cm4gaS5pZD0oMCxsdC5yYW5kb21IYXNoTikoNiksaX19Y2xhc3MgRW8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKHMpLHRoaXMuX25ld1NvdXJjZXNDdXJyZW5jaWVzPW5ldyBNYXAsdGhpcy5fb2xkU291cmNlc0N1cnJlbmNpZXM9bmV3IE1hcCx0aGlzLl9zaG93RmFkZT0hMSx0aGlzLl9jaGFydE1vZGVsPWU7Y29uc3Qgbj1lLm1haW5TZXJpZXMoKTtmb3IoY29uc3QgZSBvZiB0LnByaWNlRGF0YVNvdXJjZXMoKSl7aWYoIWUuaXNWaXNpYmxlKCl8fCFlLmlzQ3VycmVuY3lPcmlnaW4oKS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IHQ9aT8/ZS5jdXJyZW5jeU1ldGFkYXRhKCkudmFsdWUoKT8ub3JpZ2luYWxDdXJyZW5jeT8/bnVsbDt0aGlzLl9uZXdTb3VyY2VzQ3VycmVuY2llcy5zZXQoZS5pZCgpLHQpLHRoaXMuX29sZFNvdXJjZXNDdXJyZW5jaWVzLnNldChlLmlkKCksZS5jdXJyZW5jeSgpKSx0aGlzLl9zaG93RmFkZT10aGlzLl9zaG93RmFkZXx8ZT09PW4mJmUuY3VycmVuY3koKSE9PXR9fXJlZG8oKXt0aGlzLl9hcHBseUN1cnJlbmNpZXModGhpcy5fbmV3U291cmNlc0N1cnJlbmNpZXMpfXVuZG8oKXt0aGlzLl9hcHBseUN1cnJlbmNpZXModGhpcy5fb2xkU291cmNlc0N1cnJlbmNpZXMpfV9hcHBseUN1cnJlbmNpZXMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+eygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCkpLnNldEN1cnJlbmN5KGUpfSkpLHRoaXMuX2NoYXJ0TW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCl9KSksdGhpcy5fc2hvd0ZhZGUmJnRoaXMuX2NoYXJ0TW9kZWwudW5kb01vZGVsKCkubG9hZGluZ1NjcmVlbigpLnNob3coITApfX1jbGFzcyBSbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIocyksdGhpcy5fbmV3U291cmNlc1VuaXRzPW5ldyBNYXAsdGhpcy5fb2xkU291cmNlc1VuaXRzPW5ldyBNYXAsdGhpcy5fc2hvd0ZhZGU9ITEsdGhpcy5fY2hhcnRNb2RlbD1lO2NvbnN0IG49ZS5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IGUgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpe2lmKCFlLmlzVmlzaWJsZSgpfHwhZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IHQ9aT8/ZS51bml0TWV0YWRhdGEoKS52YWx1ZSgpPy5vcmlnaW5hbFVuaXQ/P251bGw7dGhpcy5fbmV3U291cmNlc1VuaXRzLnNldChlLmlkKCksdCksdGhpcy5fb2xkU291cmNlc1VuaXRzLnNldChlLmlkKCksZS51bml0KCkpLHRoaXMuX3Nob3dGYWRlPXRoaXMuX3Nob3dGYWRlfHxlPT09biYmZS51bml0KCkhPT10fX1yZWRvKCl7dGhpcy5fYXBwbHlVbml0cyh0aGlzLl9uZXdTb3VyY2VzVW5pdHMpfXVuZG8oKXt0aGlzLl9hcHBseVVuaXRzKHRoaXMuX29sZFNvdXJjZXNVbml0cyl9X2FwcGx5VW5pdHMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+eygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCkpLnNldFVuaXQoZSl9KSksdGhpcy5fY2hhcnRNb2RlbC5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9zaG93RmFkZSYmdGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKS5sb2FkaW5nU2NyZWVuKCkuc2hvdyghMCl9fXZhciBWbz1pKDE2MzYwMyk7Y2xhc3MgQm8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbj0hMSl7c3VwZXIoZSksdGhpcy5fY2hhcnRzPW5ldyBNYXAsdGhpcy5fZmlyc3RSZWRvPSEwLHRoaXMuX2NyZWF0aW9uVGltZT1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9saW5raW5nR3JvdXBJbmRleD1zLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKTtjb25zdCByPW5ldyBNYXAsbz1uZXcgTWFwO2lmKG4pZm9yKGNvbnN0IGUgb2Ygcy5tb2RlbCgpLm1vZGVsKCkuYWxsU3R1ZGllcyghMCkpZS5pZCgpIT09dC5pZCgpJiZlLnN5bWJvbFNvdXJjZSgpPT09dCYmKGUuaXNDdXJyZW5jeU9yaWdpbigpLnZhbHVlKCkmJiFlLmN1cnJlbmN5TWV0YWRhdGEoKS52YWx1ZSgpPy5kb05vdFJlc2V0Q3VycmVuY3lPbkNoYW5naW5nU3ltYm9sU291cmNlU3ltYm9sJiZyLnNldChlLmlkKCksZS5jdXJyZW5jeSgpKSwKZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpJiYhZS51bml0TWV0YWRhdGEoKS52YWx1ZSgpPy5kb05vdFJlc2V0VW5pdE9uQ2hhbmdpbmdTeW1ib2xTb3VyY2VTeW1ib2wmJm8uc2V0KGUuaWQoKSxlLnVuaXQoKSkpO3RoaXMuX2NoYXJ0cy5zZXQocyx7c291cmNlSWQ6dC5pZCgpLG5ld1N5bWJvbFBhcmFtczppLHByZXZTeW1ib2xQYXJhbXM6dC5zeW1ib2xQYXJhbXMoKSxzaG93RmFkZTp0aGlzLl9zaG93RmFkZSh0LHMpLGNoYXJ0V2lkZ2V0OnMsY3VycmVuY3lPcmlnaW5Tb3VyY2VzOnIsdW5pdE9yaWdpblNvdXJjZXM6b30pfXJlZG8oKXt0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsITApLHRoaXMuX2NoYXJ0cy5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLl9zeW1ib2xTb3VyY2UoZSkuc2V0U3ltYm9sUGFyYW1zKGUubmV3U3ltYm9sUGFyYW1zKTtmb3IoY29uc3RbdF1vZiBlLmN1cnJlbmN5T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0Q3VycmVuY3kobnVsbCl9Zm9yKGNvbnN0W3Rdb2YgZS51bml0T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0VW5pdChudWxsKX1lLnNob3dGYWRlJiZlLmNoYXJ0V2lkZ2V0LnNjcmVlbi5zaG93KCEwLHQpfSkpLHRoaXMuX2ZpcnN0UmVkb3x8KDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9saW5raW5nR3JvdXBJbmRleCwhMSksdGhpcy5fZmlyc3RSZWRvPSExfXVuZG8oKXsoMCxaLm11dGVMaW5raW5nR3JvdXApKHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LCEwKSx0aGlzLl9jaGFydHMuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9dGhpcy5fc3ltYm9sU291cmNlKGUpLnNldFN5bWJvbFBhcmFtcyhlLnByZXZTeW1ib2xQYXJhbXMpO2Zvcihjb25zdFt0LGldb2YgZS5jdXJyZW5jeU9yaWdpblNvdXJjZXMpe3RoaXMuX2N1cnJlbmN5VW5pdE9yaWdpblNvdXJjZShlLHQpLnNldEN1cnJlbmN5KGkpfWZvcihjb25zdFt0LGldb2YgZS51bml0T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0VW5pdChpKX1lLnNob3dGYWRlJiZlLmNoYXJ0V2lkZ2V0LnNjcmVlbi5zaG93KCEwLHQpfSkpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsITEpfWNhbk1lcmdlKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEJvKXx8ZS5fbGlua2luZ0dyb3VwSW5kZXghPT10aGlzLl9saW5raW5nR3JvdXBJbmRleHx8IXRoaXMuX2NvbnRhaW5zTWFpblNlcmllc09ubHkoKXx8IWUuX2NvbnRhaW5zTWFpblNlcmllc09ubHkoKXx8ZS5fY3JlYXRpb25UaW1lLXRoaXMuX2NyZWF0aW9uVGltZT41MDApcmV0dXJuITE7Zm9yKGNvbnN0W3Rdb2YgZS5fY2hhcnRzKWlmKHRoaXMuX2NoYXJ0cy5oYXModCkpcmV0dXJuITE7cmV0dXJuITB9bWVyZ2UoZSl7aWYoZSBpbnN0YW5jZW9mIEJvKWZvcihjb25zdFt0LGldb2YgZS5fY2hhcnRzKXRoaXMuX2NoYXJ0cy5zZXQodCxpKX1fc2hvd0ZhZGUoZSx0KXtyZXR1cm4gZT09PXQubW9kZWwoKS5tYWluU2VyaWVzKCl9X3N5bWJvbFNvdXJjZShlKXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKGUuY2hhcnRXaWRnZXQubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChlLnNvdXJjZUlkKSl9X2N1cnJlbmN5VW5pdE9yaWdpblNvdXJjZShlLHQpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkoZS5jaGFydFdpZGdldC5tb2RlbCgpLm1vZGVsKCkuZGF0YVNvdXJjZUZvcklkKHQpKX1fY29udGFpbnNNYWluU2VyaWVzT25seSgpe2Zvcihjb25zdFtlLHRdb2YgdGhpcy5fY2hhcnRzKWlmKHQuc291cmNlSWQhPT1lLm1vZGVsKCkubWFpblNlcmllcygpLmlkKCkpcmV0dXJuITE7cmV0dXJuITB9fWNvbnN0IE5vPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wiLHAudChudWxsLHZvaWQgMCxpKDE4NzY5KSkpO2NsYXNzIE9vIGV4dGVuZHMgQm97Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKE5vLGUse3N5bWJvbDp0LGN1cnJlbmN5Om51bGwsdW5pdDpudWxsfSxpLCEwKSx0aGlzLl9zeW1ib2w9dH1jYW5NZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIE9vJiZlLl9zeW1ib2w9PT10aGlzLl9zeW1ib2wmJnN1cGVyLmNhbk1lcmdlKGUpfX12YXIgV289aSgyMDM2ODEpO2NvbnN0IEZvPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxIbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSBpbmRpY2F0b3IiLHAudChudWxsLHZvaWQgMCxpKDc2MzMzOSkpKTtjbGFzcyB6byBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKEhvKSx0aGlzLl9zb3VyY2VTdGF0ZT1udWxsLHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPSExLHRoaXMuX21vZGVsPWUsdGhpcy5fY2xpcGJvYXJkRGF0YT10LHRoaXMuX3BhbmVJZD1pfXJlZG8oKXtpZighdGhpcy5fc291cmNlU3RhdGUpe2NvbnN0IGU9KDAsV28uZGVmYXVsdCkodGhpcy5fY2xpcGJvYXJkRGF0YS5zb3VyY2UpO2UuaWQ9KDAsbHQucmFuZG9tSGFzaE4pKDYpLHRoaXMuX3NvdXJjZVN0YXRlPWV9bGV0IGUsdDtlPXRoaXMuX3BhbmVJZD8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JJZCh0aGlzLl9wYW5lSWQpKTp0aGlzLl9zb3VyY2VTdGF0ZS5tZXRhSW5mby5pc19wcmljZV9zdHVkeT8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcy5fbW9kZWwubWFpblNlcmllcygpKSk6dGhpcy5fbW9kZWwuY3JlYXRlUGFuZSgpO2NvbnN0IGk9IWUubWFpbkRhdGFTb3VyY2UoKTt0aGlzLl9zb3VyY2VTdGF0ZS56b3JkZXI9ZS5uZXdTdHVkeVpPcmRlcigpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnJlc3RvcmVTdHVkeSh7c291cmNlOnRoaXMuX3NvdXJjZVN0YXRlfSkpCjtpZihpfHwodD10aGlzLl9zb3VyY2VTdGF0ZS5tZXRhSW5mby5pc19wcmljZV9zdHVkeT90PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCk6dGhpcy5fcGFuZUlkP2UuZmluZFN1aXRhYmxlU2NhbGUocyk6ZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHQhPT1zLnByaWNlU2NhbGUoKSYmZS5tb3ZlKHMsdCkpLCgwLHRpLmlzU3R1ZHkpKHMpfHwoMCx0aS5pc1N0dWR5U3R1Yikocykpe3tjb25zdCBlPXRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPyJyZWRvX3Bhc3RlIjoicGFzdGUiOygwLHdvLnRyYWNrU3R1ZGllcykobmV3IG90LlN0dWR5TWV0YUluZm8odGhpcy5fc291cmNlU3RhdGUubWV0YUluZm8pLHMubW9kZWwoKSwiYWRkIixlKX1zLnN0YXJ0KCl9fXVuZG8oKXtpZihudWxsPT09dGhpcy5fc291cmNlU3RhdGUpcmV0dXJuIHZvaWQgRm8ubG9nRXJyb3IoIlRoaXMgY29tbWFuZCB3YXMgbmV2ZXIgZXhlY3V0ZWQgLSBub3RoaW5nIHRvIHVuZG8iKTtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZVN0YXRlLmlkKSk7dGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGUpfXN0YXRlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZVN0YXRlfX1jbGFzcyBVbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuKXtzdXBlcihudWxsLCExKSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhbmVBPXQsdGhpcy5fcGFuZUI9aSx0aGlzLl9wcmV2U3RyZXRjaEE9cyx0aGlzLl9jdXJyU3RyZXRjaEE9bn1yZWRvKCl7Y29uc3QgZT10aGlzLl9wYW5lQS5zdHJldGNoRmFjdG9yKCkrdGhpcy5fcGFuZUIuc3RyZXRjaEZhY3RvcigpO3RoaXMuX3BhbmVBLnNldFN0cmV0Y2hGYWN0b3IodGhpcy5fY3VyclN0cmV0Y2hBKSx0aGlzLl9wYW5lQi5zZXRTdHJldGNoRmFjdG9yKGUtdGhpcy5fY3VyclN0cmV0Y2hBKSx0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCl9dW5kbygpe2NvbnN0IGU9dGhpcy5fcGFuZUEuc3RyZXRjaEZhY3RvcigpK3RoaXMuX3BhbmVCLnN0cmV0Y2hGYWN0b3IoKTt0aGlzLl9wYW5lQS5zZXRTdHJldGNoRmFjdG9yKHRoaXMuX3ByZXZTdHJldGNoQSksdGhpcy5fcGFuZUIuc2V0U3RyZXRjaEZhY3RvcihlLXRoaXMuX3ByZXZTdHJldGNoQSksdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfX1jb25zdCBHbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIixwLnQobnVsbCx2b2lkIDAsaSg5NjU3OTApKSk7Y2xhc3Mgam8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKEdvLCExKSx0aGlzLl9lbmRFdmVudD1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlSWQ9dC5pZCgpLHRoaXMuX2l0ZW1JbmRleD1pLHRoaXMuX3N0YXJ0RXZlbnQ9c31tb3ZlKGUpe3RoaXMuX2VuZEV2ZW50PWUsdGhpcy5fbW92ZShlKX1oYXNDaGFuZ2VzKCl7cmV0dXJuIG51bGwhPT10aGlzLl9lbmRFdmVudH11bmRvKCl7dGhpcy5fbW92ZSh0aGlzLl9zdGFydEV2ZW50KX1yZWRvKCl7dGhpcy5fbW92ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VuZEV2ZW50KSl9X21vdmUoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9zb3VyY2VJZCkpOygwLGwuYXNzZXJ0KSh2b2lkIDAhPT10Lm1vdmVJdGVtLCdUaGUgbWV0aG9kICJtb3ZlSXRlbSIgaXMgbm90IGRlZmluZWQnKSx0Lm1vdmVJdGVtJiZ0Lm1vdmVJdGVtKG5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksdGhpcy5faXRlbUluZGV4LG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKX19dmFyIHFvPWkoMTg1NjA4KTtjbGFzcyAkbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoaSksdGhpcy5fbmV3TW9kZT1lLHRoaXMuX3ByaWNlU2NhbGVJZD10LmlkKCksdGhpcy5fbW9kZWw9cyx0aGlzLl9vbGRNb2RlPXQubW9kZSgpfXJlZG8oKXt0aGlzLl9hcHBseU1vZGUodGhpcy5fbmV3TW9kZSl9dW5kbygpe3RoaXMuX2FwcGx5TW9kZSh0aGlzLl9vbGRNb2RlKX1fYXBwbHlNb2RlKGUpe2NvbnN0IHQ9dGhpcy5fZmluZFByaWNlU2NhbGVCeUlkKCk7bnVsbCE9PXQmJigoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCksdC5zZXRNb2RlKGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9tb2RlbCYmKHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSkpfV9maW5kUHJpY2VTY2FsZUJ5SWQoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IGk9ZVt0XS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9wcmljZVNjYWxlSWQpO2lmKG51bGwhPT1pKXJldHVybiBpfXJldHVybiBudWxsfX12YXIgWW89aSg1NDc4NTEpLEtvPWkoNTg3MTY4KSxYbz1pKDUwNTU2KSxabz1pKDkzNjMyNiksSm89aSg4MTA0MSksUW89aSg5MzIzNjUpLGVhPWkoMTU2ODI5KSx0YT1pKDIyNjkzNyksaWE9aSg0NTcwODMpLHNhPWkoOTI4MTMyKSxuYT1pKDE0MzgwOCkscmE9aSg4NzIzNDMpO2NvbnN0IG9hPSgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDE5NzI3MikpLnRoZW4oKGU9PmUuU3R1ZHkpKSkpOygwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgiU3R1ZHkiLG9hKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1Bpdm90UG9pbnRzU3RhbmRhcmQiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NDQ3MjcpKS50aGVuKChlPT5lLnN0dWR5X1Bpdm90UG9pbnRzU3RhbmRhcmQpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X092ZXJsYXkiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDEyMzI2MCkpLnRoZW4oKGU9PmUuc3R1ZHlfT3ZlcmxheSkpKSwibG9vcCIpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0NvbXBhcmUiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDg1OTY0OSkpLnRoZW4oKGU9PmUuU3R1ZHlDb21wYXJlKSkpLCJsb29wIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw3MjAxMjApKS50aGVuKChlPT5lLlZvbHVtZVN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9WYlBWaXNpYmxlIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZiUFZpc2libGVXcmFwcGVyKSkpLCJub1JvdGF0aW9ucyIpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1ZiUEZpeGVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnMpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfU2NyaXB0V2l0aERhdGFPZmZzZXQiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDIyMjkwKSkudGhlbigoZT0+ZS5zdHVkeV9TY3JpcHRXaXRoRGF0YU9mZnNldCkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfRWFybmluZ3MiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDkwOTU5MykpLnRoZW4oKGU9PmUuc3R1ZHlfRVNEJFRWX0VBUk5JTkdTKSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9TcGxpdHMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDkwOTU5MykpLnRoZW4oKGU9PmUuc3R1ZHlfRVNEJFRWX1NQTElUUykpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfRGl2aWRlbmRzIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw5MDk1OTMpKS50aGVuKChlPT5lLnN0dWR5X0VTRCRUVl9ESVZJREVORFMpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0JhclNldENvbnRpbnVvdXNSb2xsRGF0ZXMiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwzNjM2MTgpKS50aGVuKChlPT5lLnN0dWR5X0VTRCRUVl9ST0xMREFURVMpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkobmEuZnVuZGFtZW50YWxzUHJlZml4LCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDEyNTEzNykpLnRoZW4oKGU9PmUuRnVuZGFtZW50YWwpKSksKGU9PjE9PT1lLnBsb3RzLmxlbmd0aD8ibG9vcCI6Im5vUm90YXRpb25zIiksKChlLHQpPT4oMCxuYS5pc0Z1bmRhbWVudGFsU3R1ZHlNZXRhSW5mbykodCkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9FbGxpb3R0V2F2ZSIsKDAscmEuY3JlYXRlU3R1ZHlJbmZvKSgoKCk9PlByb21pc2UuYWxsKFtpLmUoNDkzMDcpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDMzOCldKS50aGVuKGkuYmluZChpLDU0MTkyNCkpLnRoZW4oKGU9PmUuc3R1ZHlfRWxsaW90dFdhdmUpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0xpbmVhclJlZ3Jlc3Npb24iLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDUwMjcyNikpLnRoZW4oKGU9PmUuTGluZWFyUmVncmVzc2lvblN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9QaXZvdFBvaW50c0hpZ2hMb3ciLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDQ5MzA3KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSgzMjI3MyldKS50aGVuKGkuYmluZChpLDc2ODcwNCkpLnRoZW4oKGU9PmUuc3R1ZHlfUGl2b3RQb2ludHNIaWdoTG93KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9WYlBTZXNzaW9ucyIsKDAscmEuY3JlYXRlU3R1ZHlJbmZvKSgoKCk9PlByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksMjQzNzIzKSkudGhlbigoZT0+ZS5TZXNzaW9uVm9sdW1lU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQUGVyaW9kaWMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDIyNzA1NikpLnRoZW4oKGU9PmUuVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQU2Vzc2lvbnNSb3VnaERldGFpbGVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4MzMxNzcpKS50aGVuKChlPT5lLlNlc3Npb25Wb2x1bWUyU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfWmlnWmFnIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSg0OTMwNyksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoMjkwNzQpXSkudGhlbihpLmJpbmQoaSw0NTk5NDApKS50aGVuKChlPT5lLnN0dWR5X1ppZ1phZykpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQQXV0b0FuY2hvcmVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnMpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVFBPUGVyaW9kaWMiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw3MTQxMCkpLnRoZW4oKGU9PmUuVHBvUGVyaW9kaWNTdHVkeSkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVFBPU2Vzc2lvbnMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDMzNDc0MikpLnRoZW4oKGU9PmUuVHBvU2Vzc2lvbnNTdHVkeSkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lRm9vdHByaW50IiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NDYyOTMpKS50aGVuKChlPT5lLlZvbHVtZUZvb3RwcmludFN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJTdHVkeVN0cmF0ZWd5IiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NzQzNjkpKS50aGVuKChlPT5lLlN0dWR5U3RyYXRlZ3kpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoIlJlcGxheVN0dWR5U3RyYXRlZ3kiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDU0NzU3MikpLnRoZW4oKGU9PmUuUmVwbGF5U3R1ZHlTdHJhdGVneSkpKSkpO2xldCBhYT0wO2FzeW5jIGZ1bmN0aW9uIGxhKGUsdCxpLHMsbixyLG8sYSl7bGV0IGM7Y29uc3QgaD0yPT09bztpZihvdC5TdHVkeU1ldGFJbmZvLmlzUmVwbGF5U3RyYXRlZ3kocykmJihjPSgwLHJhLmdldFN0dWR5SW5mb0J5TmFtZSkoIlJlcGxheVN0dWR5U3RyYXRlZ3kiKSksb3QuU3R1ZHlNZXRhSW5mby5pc1NjcmlwdFN0cmF0ZWd5KHMpJiYoYz0oMCxyYS5nZXRTdHVkeUluZm9CeU5hbWUpKCJTdHVkeVN0cmF0ZWd5IikpLCgwLG5hLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShzKSYmKGM9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKShuYS5mdW5kYW1lbnRhbHNQcmVmaXgpKSwhYyl7Y29uc3QgZT0oMCxuYS5zdHVkeU5hbWVCeU1ldGFJbmZvKShzKTtjPSgwLHJhLmdldFN0dWR5SW5mb0J5TmFtZSkoZT8/IlN0dWR5Iik/P29hfWMuc3R1ZHlDb25zdHJ1Y3Rvcnx8KGFhKz0xLGMuc3R1ZHlDb25zdHJ1Y3Rvcj1hd2FpdCgwLGwuZW5zdXJlRGVmaW5lZCkoYy5zdHVkeUNvbnN0cnVjdG9yQXN5bmNHZXR0ZXIpKCksYWEtPTEpO2NvbnN0IGQ9bmV3KCgwLGwuZW5zdXJlRGVmaW5lZCkoYz8uc3R1ZHlDb25zdHJ1Y3RvcikpKGUsdCxpLHMsbixoLCEhYSk7cmV0dXJuIHZvaWQgMCE9PXImJmQuc2V0SWQociksZH1mdW5jdGlvbiBjYShlLHQpe3JldHVybiBlLmlkPT09dC5pZCYmKHM9dCwoKGk9ZSkucGluZT9pLnBpbmUudmVyc2lvbjp2b2lkIDApPT09KHMucGluZT9zLnBpbmUudmVyc2lvbjp2b2lkIDApKTt2YXIgaSxzfWNvbnN0IGhhPVsiT3ZlcmxheUB0di1iYXNpY3N0dWRpZXMiLCJDb3JyZWxhdGlvbkNvZWZmaWNpZW50QHR2LWJhc2ljc3R1ZGllcyIsIkNvcnJlbGF0aW9uIENvZWZmQHR2LWJhc2ljc3R1ZGllcyIsIlNwcmVhZEB0di1iYXNpY3N0dWRpZXMiLCJSYXRpb0B0di1iYXNpY3N0dWRpZXMiXTtjb25zdCBkYT1bImNvbG9yLXR2LWJsdWUtNDAwIiwiY29sb3ItaWd1YW5hLWdyZWVuLWE3MDAiLCJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLXNreS1ibHVlLTQwMCIsImNvbG9yLWJlcnJ5LXBpbmstYTcwMCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCIsImNvbG9yLXR2LWJsdWUtYTEwMCIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMCIsImNvbG9yLXJpcGUtcmVkLWE0MDAiLCJjb2xvci1taW50eS1ncmVlbi01MDAiLCJjb2xvci1ncmFwZXMtcHVycGxlLWExMDAiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIl07Y2xhc3MgdWF7Y29uc3RydWN0b3IoZSx0PWRhKXt0aGlzLl91c2VyRGVmYXVsdFVzZWQ9ITEsdGhpcy5fY2FsY0NvbG9yT2Zmc2V0PWUsdGhpcy5fY29sb3JzPXR9Z2V0Q29sb3IoZSx0PSExKXtjb25zdCBpPXRoaXMuX2NhbGNDb2xvck9mZnNldCgpO2lmKDA9PT1pJiYodGhpcy5fdXNlckRlZmF1bHRVc2VkPSExKSwwPT09aSYmIXQpcmV0dXJuIHRoaXMuX3VzZXJEZWZhdWx0VXNlZD0hMCxlO2NvbnN0IHM9dGhpcy5fY29sb3JzWyhpLSh0aGlzLl91c2VyRGVmYXVsdFVzZWQ/MTowKSkldGhpcy5fY29sb3JzLmxlbmd0aF0sbj1Yby5jb2xvcnNQYWxldHRlW3NdLHI9KDAsJGkuaXNIZXhDb2xvcikoZSk/MTooMCx5aS5wYXJzZVJnYmEpKGUpWzNdO3JldHVybigwLCRpLmdlbmVyYXRlQ29sb3IpKG4sKDAsCiRpLmFscGhhVG9UcmFuc3BhcmVuY3kpKHIpKX19Y2xhc3MgcGF7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9jYWxjQ29sb3JPZmZzZXQ9ZSx0aGlzLl9tb2RlbFN0YXJ0T2Zmc2V0PXR9Z2V0Q29sb3IoZSl7Y29uc3QgdD10aGlzLl9jYWxjQ29sb3JPZmZzZXQoKTtpZigoMCwkaS5pc0hleENvbG9yKShlKSl7Y29uc3QgaT0oMCx5aS5wYXJzZVJnYikoZSk7cmV0dXJuKDAseWkucmdiVG9IZXhTdHJpbmcpKCgwLHlpLnNoaWZ0UmdiKShpLHQsdGhpcy5fbW9kZWxTdGFydE9mZnNldCkpfXtjb25zdCBpPSgwLHlpLnBhcnNlUmdiYSkoZSk7cmV0dXJuKDAseWkucmdiYVRvU3RyaW5nKSgoMCx5aS5zaGlmdFJnYmEpKGksdCx0aGlzLl9tb2RlbFN0YXJ0T2Zmc2V0KSl9fX1jbGFzcyBfYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yb3RhdG9ycz1uZXcgV2Vha01hcCx0aGlzLl9jYWxjRGVmYXVsdENvbG9yc09mZnNldD1lPT57Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLG5hLnN0dWR5TmFtZUJ5TWV0YUluZm8pKGUpLGk9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKSh0KTtpZihpKXtjb25zdCBlPWkuY29sb3JSb3RhdGlvbkNvbXBhcmF0b3I7aWYodm9pZCAwIT09ZSlyZXR1cm4gZX1yZXR1cm4gY2F9KGUpO3JldHVybiB0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChpPT4oMCx0aS5pc1N0dWR5KShpKSYmdChlLGkubWV0YUluZm8oKSkpKS5sZW5ndGh9LHRoaXMuX2NoYXJ0TW9kZWw9ZX1nZXRDb2xvclJvdGF0b3IoZSl7aWYodGhpcy5fcm90YXRvcnMuaGFzKGUpKXtjb25zdCB0PXRoaXMuX3JvdGF0b3JzLmdldChlKTtpZih2b2lkIDAhPT10KXJldHVybiB0fWNvbnN0IHQ9dGhpcy5fY3JlYXRlQ29sb3JSb3RhdG9yKGUpO3JldHVybiB0aGlzLl9yb3RhdG9ycy5zZXQoZSx0KSx0fV9jcmVhdGVDb2xvclJvdGF0b3IoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLG5hLnN0dWR5TmFtZUJ5TWV0YUluZm8pKGUpLGk9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKSh0KTtyZXR1cm4gaT8oMCxzYS5kZWZhdWx0KShpLmNvbG9yUm90YXRpb25Nb2RlKT9pLmNvbG9yUm90YXRpb25Nb2RlKGUpOmkuY29sb3JSb3RhdGlvbk1vZGU6dm9pZCAwPT09ZS5waW5lfHxvdC5TdHVkeU1ldGFJbmZvLmlzU3RhbmRhcmRQaW5lKGUuaWQpPzEhPT1lLnBsb3RzLmxlbmd0aD8ic2hpZnQiOiJsb29wIjpudWxsfShlKSxpPSgpPT50aGlzLl9jYWxjRGVmYXVsdENvbG9yc09mZnNldChlKTtzd2l0Y2godCl7Y2FzZSJsb29wIjpyZXR1cm4gbmV3IHVhKGkpO2Nhc2Uic2hpZnQiOnJldHVybiBuZXcgcGEoaSx0aGlzLl9jaGFydE1vZGVsLmdldFN0dWR5U2hpZnRDb2xvclN0YXJ0T2Zmc2V0KCkpO2Nhc2UgbnVsbDpjYXNlIm5vUm90YXRpb25zIjpyZXR1cm4gbnVsbH19fXZhciBtYSxnYSxmYT1pKDM2Mjc3MyksU2E9aSg2ODE3OTkpOyFmdW5jdGlvbihlKXtlW2UuQm9yZGVyU2l6ZT0xXT0iQm9yZGVyU2l6ZSJ9KG1hfHwobWE9e30pKSxmdW5jdGlvbihlKXtlW2UuQWRkaXRpb25hbElubmVyUGFkZGluZz00XT0iQWRkaXRpb25hbElubmVyUGFkZGluZyIsZVtlLkhvcnpQYWRkaW5nPTRdPSJIb3J6UGFkZGluZyIsZVtlLlZlcnRQYWRkaW5nPTIuNV09IlZlcnRQYWRkaW5nIixlW2UuTGluZVNwYWNpbmc9Ml09IkxpbmVTcGFjaW5nIn0oZ2F8fChnYT17fSkpO2NsYXNzIHZhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3JlbmRlcmVyT3B0aW9ucz17Ym9yZGVyU2l6ZToxLGFkZGl0aW9uYWxQYWRkaW5nSW5uZXI6MCxmb250U2l6ZTpOYU4sZm9udDoiIixjb2xvcjoiIixwYW5lQmFja2dyb3VuZENvbG9yOiIiLHBhZGRpbmdCb3R0b206MCxwYWRkaW5nSW5uZXI6MCxwYWRkaW5nT3V0ZXI6MCxwYWRkaW5nVG9wOjAsbGluZVNwYWNpbmc6MH0sdGhpcy5fY2hhcnRNb2RlbD1lfW9wdGlvbnMoKXtjb25zdCBlPXRoaXMuX3JlbmRlcmVyT3B0aW9ucyx0PXRoaXMuX2NoYXJ0TW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLGk9dC5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmZvbnRTaXplLnZhbHVlKCk7cmV0dXJuIGUuZm9udFNpemUhPT1pJiYoZS5mb250U2l6ZT1pLGUuZm9udD0oMCxSaS5tYWtlRm9udCkoaSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCIiKSxlLnBhZGRpbmdUb3A9aS8xMioyLjUsZS5wYWRkaW5nQm90dG9tPWkvMTIqMi41LGUucGFkZGluZ0lubmVyPWkvMTIqNCxlLmFkZGl0aW9uYWxQYWRkaW5nSW5uZXI9aS8xMio0LGUucGFkZGluZ091dGVyPWkvMTIqNCxlLmxpbmVTcGFjaW5nPWkvMTIqMiksZS5jb2xvcj10LnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCksZS5wYW5lQmFja2dyb3VuZENvbG9yPXQucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC52YWx1ZSgpLHRoaXMuX3JlbmRlcmVyT3B0aW9uc319dmFyIHlhPWkoNzk0ODEyKSxiYT1pKDk2MTgzMSk7Y29uc3Qgd2E9KDAsR3IuZXh0cmFjdFRoZW1lZENvbG9ycykoeHQubGlnaHRUaGVtZS5jb250ZW50LnNlc3Npb25zLHh0LmRhcmtUaGVtZS5jb250ZW50LnNlc3Npb25zKTtjb25zdCBDYT1bImdyYXBoaWNzIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5wcmVNYXJrZXQudmlzaWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMucHJlTWFya2V0LmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMucG9zdE1hcmtldC52aXNpYmxlIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5wb3N0TWFya2V0LmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMuZWxlY3Ryb25pYy52aXNpYmxlIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5lbGVjdHJvbmljLmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQudmVydExpbmVzLnNlc3NCcmVha3MuYXZhaWxhYmxlIl07Y2xhc3MgUGEgZXh0ZW5kcyBHci5EZWZhdWx0UHJvcGVydHl7Y29uc3RydWN0b3IoZSl7c3VwZXIoe2RlZmF1bHROYW1lOiJzZXNzaW9ucyIsdGhlbWVkQ29sb3JzOndhLGV4Y2x1ZGVkRGVmYXVsdHNLZXlzOlsuLi5DYV0sCmV4Y2x1ZGVkU3RhdGVLZXlzOlsuLi5DYV0sZXhjbHVkZWRUZW1wbGF0ZUtleXM6Wy4uLkNhXX0pLHRoaXMuX3N5bWJvbEluZm89ZSx0aGlzLl9zeW1ib2xJbmZvLnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZUdyYXBoaWNzUHJvcHMoKSkpLHRoaXMuaGFzQ2hpbGQoImdyYXBoaWNzIil8fHRoaXMuYWRkUHJvcGVydHkoImdyYXBoaWNzIix7fSksdGhpcy5tZXJnZSh7c2Vzc2lvbkhpZ2hsaWdodDp7dmVydGxpbmVzOntzZXNzQnJlYWtzOnthdmFpbGFibGU6ITB9fSxiYWNrZ3JvdW5kczp7cHJlTWFya2V0Ont2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0scG9zdE1hcmtldDp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9LG5pZ2h0TWFya2V0Ont2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0sZWxlY3Ryb25pYzp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9LG91dE9mU2Vzc2lvbjp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9fX19KSx0aGlzLl91cGRhdGVHcmFwaGljc1Byb3BzKCksdGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3VwZGF0ZUdyYXBoaWNzUHJvcHMoKX0pKX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sSW5mby5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfXJlc3RvcmVTdGF0ZShlKXtjb25zdCB0PWUucHJvcGVydGllczshZnVuY3Rpb24oZSl7Y29uc3QgdD1lLGk9ImdyYXBoaWNzImluIGU/ZS5ncmFwaGljcy5iYWNrZ3JvdW5kczp2b2lkIDA7aWYodm9pZCAwIT09aSl7Y29uc3QgZT0oMCxsLmVuc3VyZURlZmluZWQpKGkub3V0T2ZTZXNzaW9uKTtlLmNvbG9yPT09YmEuc2Vzc2lvbnNQcmVmZXJlbmNlc0RlZmF1bHQuc2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5vdXRPZlNlc3Npb24uY29sb3J8fCJwb3N0TWFya2V0ImluIGk/KHQuc2Vzc2lvbkhpZ2hsaWdodD10LnNlc3Npb25IaWdobGlnaHQ/P3t9LHQuc2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcz1pKToodC5zZXNzaW9uSGlnaGxpZ2h0PXQuc2Vzc2lvbkhpZ2hsaWdodD8/e30sdC5zZXNzaW9uSGlnaGxpZ2h0LmJhY2tncm91bmRzPXsuLi50LnNlc3Npb25IaWdobGlnaHQ/LmJhY2tncm91bmRzPz97fSxwb3N0TWFya2V0Ontjb2xvcjplLmNvbG9yLHRyYW5zcGFyZW5jeTplLnRyYW5zcGFyZW5jeSx2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0scHJlTWFya2V0Ontjb2xvcjplLmNvbG9yLHRyYW5zcGFyZW5jeTplLnRyYW5zcGFyZW5jeSx2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH19KX1jb25zdCBzPSJncmFwaGljcyJpbiBlP2UuZ3JhcGhpY3MudmVydGxpbmVzOnZvaWQgMDtzJiYodC5zZXNzaW9uSGlnaGxpZ2h0Pz89e30sdC5zZXNzaW9uSGlnaGxpZ2h0LnZlcnRsaW5lcz1zKSwoMCxHci5jbGVhblVwU3RhdGVLZXlzKSh0LENhKX0odCksImdyYXBoaWNzImluIGUucHJvcGVydGllcyYmKCgwLHIuZGVmYXVsdCkoZS5wcm9wZXJ0aWVzLnNlc3Npb25IaWdobGlnaHQsZS5wcm9wZXJ0aWVzLmdyYXBoaWNzKSxkZWxldGUgZS5wcm9wZXJ0aWVzLmdyYXBoaWNzKSx0aGlzLm1lcmdlQW5kRmlyZSh0KSx0aGlzLnJlbW92ZUR1cGxpY2F0ZVByb3BlcnRpZXMoKX1sb2FkVGhlbWVTdGF0ZShlKXsiZ3JhcGhpY3MiaW4gZSYmKCgwLHIuZGVmYXVsdCkoZS5zZXNzaW9uSGlnaGxpZ2h0LGUuZ3JhcGhpY3MpLGRlbGV0ZSBlLmdyYXBoaWNzKSx0aGlzLm1lcmdlQW5kRmlyZShlKX1yZW1vdmVEdXBsaWNhdGVQcm9wZXJ0aWVzKCl7dGhpcy5oYXNDaGlsZCgicHJvcGVydGllcyIpJiYodGhpcy5yZW1vdmVQcm9wZXJ0eSgicHJvcGVydGllcyIpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLmZpcmVDaGFuZ2VkKCksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpKX1fdXNlclNldHRpbmdzKCl7Y29uc3QgZT1zdXBlci5fdXNlclNldHRpbmdzKCk7cmV0dXJuIGUmJiFlLnNlc3Npb25IaWdobGlnaHQmJihlLnNlc3Npb25IaWdobGlnaHQ9ZS5ncmFwaGljcyksZGVsZXRlIGU/LmdyYXBoaWNzLGV9X3VwZGF0ZUdyYXBoaWNzUHJvcHMoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8udmFsdWUoKTtlJiYodGhpcy5jaGlsZHMoKS5ncmFwaGljcy5tZXJnZUFuZEZpcmUodGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LnN0YXRlKCkpLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5zdWJzZXNzaW9ucz8uZmlsdGVyKChlPT4hZS5wcml2YXRlKSkubWFwKChlPT5lLmlkKSk/P1tdO3JldHVybiJmdXR1cmVzIj09PWUudHlwZSYmdC5pbmNsdWRlcygicmVndWxhciIpJiZ0LmluY2x1ZGVzKCJ1c19yZWd1bGFyIil9KGUpJiYoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmJhY2tncm91bmRzKS5jaGlsZHMoKS5wcmVNYXJrZXQubWVyZ2VBbmRGaXJlKHRoaXMuY2hpbGRzKCkuc2Vzc2lvbkhpZ2hsaWdodC5jaGlsZHMoKS5iYWNrZ3JvdW5kcy5jaGlsZHMoKS5lbGVjdHJvbmljLnN0YXRlKCkpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5iYWNrZ3JvdW5kcykuY2hpbGRzKCkucG9zdE1hcmtldC5tZXJnZUFuZEZpcmUodGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LmNoaWxkcygpLmJhY2tncm91bmRzLmNoaWxkcygpLmVsZWN0cm9uaWMuc3RhdGUoKSkpKX19Y2xhc3MgVGEgZXh0ZW5kcyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSwoZT0+ZS5kZXN0cm95KCkpKSx0aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT1udWxsLHRoaXMuX21vZGVsPXQsdGhpcy5fcHJvcGVydGllcz1pLHQubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVZpc2libGVPZlByZUFuZFBvc3RNYXJrZXRCYWNrZ3JvdW5kKSx0aGlzLl91cGRhdGVWaXNpYmxlT2ZQcmVBbmRQb3N0TWFya2V0QmFja2dyb3VuZCgpLGUudGhlbigoZT0+eyF0aGlzLl9kZXN0cm95ZWQmJnRoaXMuX3Nlc3Npb25zU3RhdGVEYXRhJiYoZS5yZXN0b3JlU3RhdGVEYXRhKHRoaXMuX3Nlc3Npb25zU3RhdGVEYXRhKSwKdGhpcy5fc2Vzc2lvbnNTdGF0ZURhdGE9bnVsbCl9KSl9ZGVzdHJveSgpe3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxzdXBlci5kZXN0cm95KCl9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfWFwcGx5T3ZlcnJpZGVzKGUpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LHZvaWQgMCwhMSxlLCJzZXNzaW9ucyIpO2NvbnN0IHQ9dGhpcy5nZXQoKTt0JiZ0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodCl9c3RhdGUoZSl7Y29uc3QgdD17cHJvcGVydGllczp0aGlzLl9wcm9wZXJ0aWVzLnN0YXRlKCl9O3JldHVybiBlJiYodC5kYXRhPXRoaXMuZ2V0KCk/LnN0YXRlRGF0YSgpPz90aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT8/dm9pZCAwKSx0fXJlc3RvcmVTdGF0ZShlLHQpe2lmKGUub2xkU3RhdGUmJihlPWZ1bmN0aW9uKGUsdCl7Y29uc3QgaT17cHJvcGVydGllczp7Z3JhcGhpY3M6ZS5zdGF0ZS5ncmFwaGljc319O3JldHVybiB2b2lkIDAhPT1lLmRhdGEmJnZvaWQgMCE9PWUubWV0YUluZm8mJnQmJihpLmRhdGE9e21ldGFJbmZvOmUubWV0YUluZm8sZ3JhcGhpY3M6ZS5kYXRhLmdyYXBoaWNzfSksaX0oZSx0KSksdGhpcy5fcHJvcGVydGllcy5yZXN0b3JlU3RhdGUoZSksdGhpcy5fdXBkYXRlVmlzaWJsZU9mUHJlQW5kUG9zdE1hcmtldEJhY2tncm91bmQoKSx0aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT1udWxsLHZvaWQgMCE9PWUuZGF0YSYmdCl7Y29uc3QgdD10aGlzLmdldCgpO3Q/dC5yZXN0b3JlU3RhdGVEYXRhKGUuZGF0YSk6dGhpcy5fc2Vzc2lvbnNTdGF0ZURhdGE9ZS5kYXRhfX1fdXBkYXRlVmlzaWJsZU9mUHJlQW5kUG9zdE1hcmtldEJhY2tncm91bmQoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7aWYoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNlc3Npb25IaWdobGlnaHQuY2hpbGRzKCkse3ByZU1hcmtldDppLHBvc3RNYXJrZXQ6cyxlbGVjdHJvbmljOm4sb3V0T2ZTZXNzaW9uOnJ9PXQuYmFja2dyb3VuZHMuY2hpbGRzKCkse3Nlc3NCcmVha3M6b309dC52ZXJ0bGluZXMuY2hpbGRzKCksYT1lLnN1YnNlc3Npb25faWQsbD1hJiYoMCxBLmlzUmVndWxhclNlc3Npb25JZCkoYSxlKSxjPSgwLEEuc3ltYm9sSGFzUHJlT3JQb3N0TWFya2V0KShlKSxoPSJmdXR1cmVzIj09PWUudHlwZSYmKDAsQS5zeW1ib2xIYXNFbGVjdHJvbmljU2Vzc2lvbikoZSk7aS5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoYyYmIWwpLHMuY2hpbGRzKCkuYXZhaWxhYmxlLnNldFZhbHVlKGMmJiFsKSxuLmNoaWxkcygpLmF2YWlsYWJsZS5zZXRWYWx1ZShoJiYhbCksci5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoKGN8fGgpJiYhbCksby5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoITApfX19dmFyIHhhPWkoOTI1MjgyKTtjb25zdCBNYT0ic3ltYm9sV2F0ZXJtYXJrIixJYT17dGlja2VyOiExLGludGVydmFsOiExLGRlc2NyaXB0aW9uOiExLGN1c3RvbTohMSxyZXBsYXk6ITAsY29sb3I6IiJ9LExhPSJyZ2JhKDgwLCA4MywgOTQsIDAuMjUpIixBYT1bInJnYmEoODAsIDgzLCA5NCwgMC4yMCkiLCJyZ2JhKDgwLCA4MywgOTQsIDAuMzApIl07ZnVuY3Rpb24ga2EoKXtjb25zdCBlPVEuZ2V0SlNPTihNYSl8fHt9O3JldHVybnsuLi5JYSwuLi5EYShlKX19ZnVuY3Rpb24gRGEoZSl7Y29uc3R7Y29sb3I6dCx2aXNpYmlsaXR5OmksLi4uc309ZSxyPXsuLi5zfTtyZXR1cm4gdm9pZCAwIT09aSYmKHIudGlja2VyPXMudGlja2VyPz9pLHIuaW50ZXJ2YWw9cy5pbnRlcnZhbD8/aSxyLmRlc2NyaXB0aW9uPXMuZGVzY3JpcHRpb24/P2ksci5jdXN0b209cy5jdXN0b20/P2kpLCgwLG4uZGVmYXVsdCkodCkmJnQhPT1MYSYmKHIuY29sb3I9dCkscn1jbGFzcyBFYSBleHRlbmRzIE90LlByb3BlcnR5e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksdGhpcy5fZGVmYXVsdENvbG9ycz10fXZhbHVlKGUpe2NvbnN0IHQ9c3VwZXIudmFsdWUoKTtyZXR1cm4gdm9pZCAwPT09ZXx8dCYmdC5sZW5ndGg+MD90OnRoaXMuX2dldERlZmF1bHRDb2xvcihlKX1fZ2V0RGVmYXVsdENvbG9yKGUpe2NvbnN0W3QsaV09dGhpcy5fZGVmYXVsdENvbG9ycztyZXR1cm4gZT09PUpvLlN0ZFRoZW1lLkxpZ2h0P3Q6aX19Y29uc3QgUmE9KDAsYnQuZGVmYXVsdCkoKCgpPT57Y29uc3R7Y29sb3I6ZSwuLi50fT1rYSgpLGk9bmV3IE90LlByb3BlcnR5KHsuLi5JYSwuLi50fSwoMCx4YS5jcmVhdGVQcm9wZXJ0eVNjaGVtYSkoSWEpKTtyZXR1cm4gaS5hZGRDaGlsZCgiY29sb3IiLG5ldyBFYShlLEFhKSksUS5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5pLm1lcmdlQW5kRmlyZShrYSgpKSkpLGkuc3Vic2NyaWJlKG51bGwsKCgpPT5RLnNldEpTT04oTWEsaS5zdGF0ZSgpKSkpLGl9KSk7dmFyIFZhLEJhPWkoNjYzMDQ2KSxOYT1pKDUyODM5NiksT2E9aSg2MTU2NzMpLFdhPWkoNzc4NDU4KSxGYT1pKDU3MzA1NCk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lT2Zmc2V0PTRdPSJMaW5lT2Zmc2V0IixlW2UuTGluZVBhZGRpbmc9OF09IkxpbmVQYWRkaW5nIn0oVmF8fChWYT17fSkpO2NsYXNzIEhhIGV4dGVuZHMgRmEuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZGF0YT1udWxsLHRoaXMuX3dpZHRoQ2FjaGU9bmV3IEJpLlRleHRXaWR0aENhY2hlfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKCF0aGlzLl9kYXRhKXJldHVybjtjb25zdHtsaW5lczp0LGNvbG9yOml9PXRoaXMuX2RhdGEse2NvbnRleHQ6cyxtZWRpYVNpemU6e3dpZHRoOm4saGVpZ2h0OnJ9fT1lO2xldCBvPTA7Y29uc3QgYT1bXSxsPXQuZmlsdGVyKChlPT4hIWUudGV4dCkpLGM9bC5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxjO2UrKyl7CmNvbnN0IHQ9bFtlXSx7Zm9udDppLGxpbmVIZWlnaHQ6cn09emEodCwwPT09ZSxuPFdhLm1vYmlsZUZpcnN0QnJlYWtwb2ludHNbIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdKSx7d2lkdGg6YyxwYWRkaW5nUmlnaHQ6aH09VWEodC5pY29uLDA9PT1lLG48V2EubW9iaWxlRmlyc3RCcmVha3BvaW50c1sibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIl0pO3MuZm9udD1pO2NvbnN0IGQ9dGhpcy5fd2lkdGhDYWNoZS5tZWFzdXJlVGV4dChzLHQudGV4dCkrYytoKzE2LHU9ZD5uP24vZDoxO2EucHVzaCh1KSxvKz1yKnUrNH1sZXQgaD1NYXRoLm1heCgoci1vKS8yLDApO3MuZmlsbFN0eWxlPWk7Zm9yKGxldCBlPTA7ZTxjO2UrKyl7Y29uc3QgdD1sW2VdLGk9YVtlXSx7Zm9udDpyLGxpbmVIZWlnaHQ6byx2ZXJ0T2Zmc2V0OmN9PXphKHQsMD09PWUsbjxXYS5tb2JpbGVGaXJzdEJyZWFrcG9pbnRzWyJtZWRpYS1tZi10YWJsZXQtdmVydGljYWwiXSk7dHJ5e3Muc2F2ZSgpLHMuZm9udD1yLHMudGV4dEJhc2VsaW5lPSJ0b3AiLHMudGV4dEFsaWduPSJsZWZ0Ijtjb25zdHtpY29uOmEsdGV4dDpsfT10LHt3aWR0aDpkLHBhZGRpbmdSaWdodDp1LHBhdGg6cH09VWEoYSwwPT09ZSxuPFdhLm1vYmlsZUZpcnN0QnJlYWtwb2ludHNbIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdKSxfPXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQocyxsKStkK3U7aWYocy50cmFuc2xhdGUoKG4taSpfKS8yLGgpLHMuc2NhbGUoaSxpKSxwKXtjb25zdCBlPXt4OjAseTooby1kKS8yfTt0cnl7cy50cmFuc2xhdGUoZS54LGUueSkscy5maWxsKHAsImV2ZW5vZGQiKX1maW5hbGx5e3MudHJhbnNsYXRlKC1lLngsLWUueSl9fXMudHJhbnNsYXRlKGQrdSwwKSxzLmZpbGxUZXh0KGwsMCxjKSxoKz1vKmkrNH1maW5hbGx5e3MucmVzdG9yZSgpfX19fWZ1bmN0aW9uIHphKGUsdCxpKXtyZXR1cm4iZ2V0Rm9udE1ldHJpY3MiaW4gZT9lLmdldEZvbnRNZXRyaWNzKHQsaSk6ZX1mdW5jdGlvbiBVYShlLHQsaSl7cmV0dXJuIHZvaWQgMD09PWU/R2E6KDAsc2EuZGVmYXVsdCkoZSk/ZSh0LGkpOmV9Y29uc3QgR2E9e3dpZHRoOjAscGFkZGluZ1JpZ2h0OjB9LGphPW5ldyBQYXRoMkQoIk0yOCA1NEM0Mi4zNTk0IDU0IDU0IDQyLjM1OTQgNTQgMjhDNTQgMTMuNjQwNiA0Mi4zNTk0IDIgMjggMkMxMy42NDA2IDIgMiAxMy42NDA2IDIgMjhDMiA0Mi4zNTk0IDEzLjY0MDYgNTQgMjggNTRaTTI2IDE2VjI4VjQwTDE0IDI4TDI2IDE2Wk0yNiAyOEwzOCA0MFYxNkwyNiAyOFoiKSxxYT1qYSwkYT0oMCxEaS5zY2FsZVBhdGgyRCkoamEsLjc4NTcxNDI4NiksWWE9KDAsRGkuc2NhbGVQYXRoMkQpKGphLC41KTtmdW5jdGlvbiBLYShlLHQpe3JldHVybiBlLnZhbHVlKHQpfWZ1bmN0aW9uIFhhKGUpe3JldHVybigwLFJpLm1ha2VGb250KShlLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpfWNsYXNzIFphe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcmVuZGVyZXI9bmV3IEhhLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX21vZGVsPWUsdGhpcy5fd2F0ZXJtYXJrPXR9dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVJbXBsKCl7Y29uc3R7dGlja2VyOmUsaW50ZXJ2YWw6dCxkZXNjcmlwdGlvbjpzLGN1c3RvbTpuLHJlcGxheTpyfT10aGlzLl93YXRlcm1hcmsucHJvcGVydGllcygpLnN0YXRlKCksbz10aGlzLl9tb2RlbC5iYWNrZ3JvdW5kVGhlbWUoKS52YWx1ZSgpLGw9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGM9bC5hbGlhc1N5bWJvbEluZm8oKSxoPXImJmwuaXNJblJlcGxheSgpLnZhbHVlKCksZD1udWxsO2lmKCFjfHwhKGQ/bjplfHx0fHxzfHxoKSlyZXR1cm4gdm9pZCB0aGlzLl9yZW5kZXJlci5zZXREYXRhKG51bGwpO2lmKGQpe2NvbnN0IGU9ZCh7c3ltYm9sSW5mbzpjLGludGVydmFsOmwuaW50ZXJ2YWwoKX0pLHQ9ZT8ubWFwKChlPT4oe3RleHQ6ZS50ZXh0LGZvbnQ6WGEoZS5mb250U2l6ZSksbGluZUhlaWdodDplLmxpbmVIZWlnaHQsdmVydE9mZnNldDplLnZlcnRPZmZzZXR9KSkpO3JldHVybiB2b2lkIHRoaXMuX3JlbmRlcmVyLnNldERhdGEoe2NvbG9yOkthKHRoaXMuX3dhdGVybWFyay5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY29sb3IsbyksbGluZXM6dD8/W119KX1sZXQgdT1jLm5hbWU7aWYoL1FVQU5ETC8udGVzdChjLmV4Y2hhbmdlKSl7Y29uc3QgZT11LnNwbGl0KC9cLy8pO2UubGVuZ3RoJiYodT1lW2UubGVuZ3RoLTFdKX1jb25zdCBfPXtkZXNjcmlwdGlvbjpjLmRlc2NyaXB0aW9uLHNob3J0X2Rlc2NyaXB0aW9uOmMuc2hvcnRfZGVzY3JpcHRpb24scHJvX25hbWU6Yy5wcm9fbmFtZSxzaG9ydF9uYW1lOmMubmFtZSxsb2NhbF9kZXNjcmlwdGlvbjpjLmxvY2FsX2Rlc2NyaXB0aW9uLGxhbmd1YWdlOmMubGFuZ3VhZ2V9LG09W2U/dTpudWxsLHQ/KDAsT2EudHJhbnNsYXRlZEludGVydmFsU3RyaW5nKShsLmludGVydmFsKCkpOm51bGxdLmZpbHRlcihhLm5vdE51bGwpLGc9W3t0ZXh0OnU/bS5qb2luKCIsICIpOiIifSx7dGV4dDpzJiYoMCxOYS5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKF8pfHwiIn0se3RleHQ6aCYmcC50KG51bGwsdm9pZCAwLGkoODkzMDI4KSl8fCIiLGljb246SmF9XS5maWx0ZXIoKGU9PmUudGV4dC5sZW5ndGg+MCkpLm1hcCgoKHt0ZXh0OmUsaWNvbjp0fSk9Pih7dGV4dDplLGljb246dCxnZXRGb250TWV0cmljczpRYX0pKSk7dGhpcy5fcmVuZGVyZXIuc2V0RGF0YSh7Y29sb3I6S2EodGhpcy5fd2F0ZXJtYXJrLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jb2xvcixvKSxsaW5lczpnfSl9fWNvbnN0IEphPSgwLEJhLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe3JldHVybiB0P2U/e3BhdGg6JGEsd2lkdGg6NDQscGFkZGluZ1JpZ2h0OjEyfTp7cGF0aDpZYSx3aWR0aDoyOCxwYWRkaW5nUmlnaHQ6OH06ZT97cGF0aDpxYSx3aWR0aDo1NixwYWRkaW5nUmlnaHQ6MTZ9OntwYXRoOllhLHdpZHRoOjI4LApwYWRkaW5nUmlnaHQ6MTJ9fSksKChlLHQpPT5gJHtlfS0ke3R9YCkpO2NvbnN0IFFhPSgwLEJhLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe2NvbnN0W2kscyxuXT10bFt0P2U/MjozOmU/MDoxXTtyZXR1cm57Zm9udDpYYShpKSxsaW5lSGVpZ2h0OnMsdmVydE9mZnNldDpufX0pLCgoZSx0KT0+YCR7ZX0tJHt0fS0ke1dpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCl9YCkpO3ZhciBlbDshZnVuY3Rpb24oZSl7ZVtlLkZpcnN0TGluZT0wXT0iRmlyc3RMaW5lIixlW2UuT3RoZXJMaW5lcz0xXT0iT3RoZXJMaW5lcyIsZVtlLkZpcnN0TGluZU1vYmlsZT0yXT0iRmlyc3RMaW5lTW9iaWxlIixlW2UuT3RoZXJMaW5lc01vYmlsZT0zXT0iT3RoZXJMaW5lc01vYmlsZSJ9KGVsfHwoZWw9e30pKTtjb25zdCB0bD17MDpbODAsODAsNl0sMTpbMzYsNDQsOF0sMjpbNDgsNDgsNF0sMzpbMjgsMzYsNl19LGlsPSJzeW1ib2xXYXRlcm1hcmsiO2NsYXNzIHNsIGV4dGVuZHMgdXIuRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3VwZGF0ZVNvdXJjZT0oKT0+e3RoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9wcm9wZXJ0aWVzPVJhKCksKDAseWEuYXBwbHlEZWZhdWx0c092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcyx2b2lkIDAsITEsaWwpLHRoaXMuX3Byb3BlcnRpZXMuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9tb2RlbC5iYWNrZ3JvdW5kVGhlbWUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9wYW5lVmlldz1uZXcgWmEoZSx0aGlzKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwuYmFja2dyb3VuZFRoZW1lKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9wcm9wZXJ0aWVzLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU291cmNlKSxzdXBlci5kZXN0cm95KCl9bW9kZWwoKXtyZXR1cm4gdGhpcy5fbW9kZWx9bmFtZSgpe3JldHVybiJ3YXRlcm1hcmsifXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31yZXN0b3JlUHJvcGVydGllc0RlZmF1bHRzKCl7UmEoKS5tZXJnZUFuZEZpcmUoSWEpfWFwcGx5T3ZlcnJpZGVzKGUpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcyx2b2lkIDAsITEsZnVuY3Rpb24oZSl7Y29uc3R7dmlzaWJpbGl0eTp0LC4uLml9PWUscz17Li4uaX07cmV0dXJuIHZvaWQgMCE9PXQmJihzLnRpY2tlcj10LHMuaW50ZXJ2YWw9dCxzLmRlc2NyaXB0aW9uPXQscy5jdXN0b209dCksc30oZSksaWwpfXBhbmVWaWV3cygpe3JldHVyblt0aGlzLl9wYW5lVmlld119dXBkYXRlQWxsVmlld3MoZSl7c3VwZXIudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fcGFuZVZpZXcudXBkYXRlKCl9Y29udGV4dE1lbnVTdGF0TmFtZSgpe3JldHVybiJXYXRlcm1hcmtDb250ZXh0TWVudSJ9fXZhciBubCxybD1pKDEzMTI5NCksb2w9aSg2MzY5MTIpOyFmdW5jdGlvbihlKXtlW2UuU3RlcEZvckNoYW5nZVZhbHVlPS4xXT0iU3RlcEZvckNoYW5nZVZhbHVlIixlW2UuTWluVmFsdWU9MWUtN109Ik1pblZhbHVlIixlW2UuTWF4VmFsdWU9OTk5OTk5OTldPSJNYXhWYWx1ZSJ9KG5sfHwobmw9e30pKTtjbGFzcyBhbCBleHRlbmRzIG9sLlByb3BlcnR5QmFzZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX21vZGVsPWV9ZGVzdHJveSgpe3RoaXMuX2xpc3RlbmVycy5kZXN0cm95KCl9Z2V0U3RlcENoYW5nZVZhbHVlKCl7cmV0dXJuLjF9Z2V0TWluVmFsdWUoKXtyZXR1cm4gMWUtN31nZXRNYXhWYWx1ZSgpe3JldHVybiA5OTk5OTk5OX12YWx1ZSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzU2NhbGVSYXRpbygpfXNldFZhbHVlKGUsdCl7KGUhPT10aGlzLnZhbHVlKCl8fHQpJiYodGhpcy5fbW9kZWwuc2V0TWFpblNlcmllc1NjYWxlUmF0aW8oZSksdGhpcy5maXJlQ2hhbmdlZCgpKX1zZXRWYWx1ZVNpbGVudGx5KGUpe2UhPT10aGlzLnZhbHVlKCkmJnRoaXMuX21vZGVsLnNldE1haW5TZXJpZXNTY2FsZVJhdGlvKGUpfXN0YXRlKCl7cmV0dXJuIG51bGx9Y2xvbmUoKXtyZXR1cm4gbmV3IGFsKHRoaXMuX21vZGVsKX1zdG9yZVN0YXRlSWZVbmRlZmluZWQoKXtyZXR1cm4hMH13ZWFrUmVmZXJlbmNlKCl7cmV0dXJuKDAscmwud2Vha1JlZmVyZW5jZSkodGhpcyl9b3duZXJzaGlwKCl7cmV0dXJuKDAscmwub3duZXJzaGlwKSh0aGlzKX19dmFyIGxsPWkoMjc1NzQyKSxjbD1pKDg1NTYyNik7Y2xhc3MgaGx7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9tYXAxPW5ldyBNYXAsdGhpcy5fbWFwMj1uZXcgTWFwLHRoaXMuX2dldHRlcjE9ZSx0aGlzLl9nZXR0ZXIyPXR9YWRkKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0dGVyMShlKSxpPXRoaXMuX2dldHRlcjIoZSk7dGhpcy5fbWFwMS5zZXQodCxlKSx0aGlzLl9tYXAyLnNldChpLHQpfWdldEJ5S2V5MShlKXtyZXR1cm4gdGhpcy5fbWFwMS5nZXQoZSk/P251bGx9Z2V0QnlLZXkyKGUpe2NvbnN0IHQ9dGhpcy5fbWFwMi5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0aGlzLl9tYXAxLmdldCh0KT8/bnVsbH1yZW1vdmVCeUtleTEoZSl7Y29uc3QgdD10aGlzLl9tYXAxLmdldChlKTt2b2lkIDAhPT10JiYodGhpcy5fbWFwMS5kZWxldGUoZSksdGhpcy5fbWFwMi5kZWxldGUodGhpcy5fZ2V0dGVyMih0KSkpfXJlbW92ZUJ5S2V5MihlKXtjb25zdCB0PXRoaXMuX21hcDIuZ2V0KGUpO3ZvaWQgMCE9PXQmJih0aGlzLl9tYXAyLmRlbGV0ZShlKSx0aGlzLl9tYXAxLmRlbGV0ZSh0KSl9fXZhciBkbCx1bD1pKDI1NDgzNSkscGw9aSg3MzY1ODcpLF9sPWkoOTQzMTMwKSxtbD1pKDIyNzk4NCksZ2w9aSg4ODE5MiksZmw9aSgyMjQxODMpO2Z1bmN0aW9uIFNsKGUsdCxpKXtyZXR1cm4gaS5oYXNEYXRhU291cmNlKHQpP2JsKHQsaSk9PT1lOiEhaS5pc01haW5QYW5lKCkudmFsdWUoKSYmYmwoaS5tb2RlbCgpLm1haW5TZXJpZXMoKSxpKT09PWV9IWZ1bmN0aW9uKGUpe2UuVHJhZGluZz0idHJhZGluZyIsZS5EcmF3aW5nPSJkcmF3aW5nIiwKZS5EcmF3aW5nRm9yQWxsU3ltYm9scz0iZHJhd2luZ3NGb3JBbGxTeW1ib2xzIixlLlBoYW50b209InBoYW50b20iLGUuUmVzdFJvd1NvdXJjZXM9InJlc3RSb3dTb3VyY2VzIixlLkxlZ2VuZFZpZXdTb3VyY2VzPSJsZWdlbmRWaWV3U291cmNlcyIsZS5MZWZ0UHJpY2VTY2FsZT0ibGVmdFByaWNlU2NhbGUiLGUuUmlnaHRQcmljZVNjYWxlPSJyaWdodFByaWNlU2NhbGUiLGUuT3ZlcmxheVByaWNlU2NhbGU9Im92ZXJsYXlQcmljZVNjYWxlIixlLk11bHRpcGFuZVNvdXJjZXM9Im11bHRpcGFuZSIsZS5BbGxXaXRob3V0TXVsdGlwYW5lPSJhbGxXaXRob3V0TXVsdGlwYW5lIixlLkFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuPSJhbGxXaXRob3V0TXVsdGlwYW5lV2l0aEhpZGRlbiIsZS5QbG90U291cmNlPSJwbG90U291cmNlIixlLk9iamVjdFRyZWU9Im9iamVjdFRyZWUiLGUuSGl0VGVzdD0iaGl0VGVzdCIsZS5HZW5lcmFsPSJnZW5lcmFsIixlLlByaWNlPSJwcmljZSIsZS5FeGNlcHRTcGVjaWFsPSJleGNlcHRTcGVjaWFsIixlLlZpc2libGVFeGNlcHRTcGVjaWFsPSJ2aXNpYmxlRXhjZXB0U3BlY2lhbCIsZS5BbGxTb3J0ZWQ9ImFsbFNvcnRlZCIsZS5WaXNpYmxlU29ydGVkPSJ2aXNpYmxlU29ydGVkIn0oZGx8fChkbD17fSkpO2NvbnN0IHZsPW5ldyBNYXAoW1sicHJpY2UiLGU9PigwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKV0sWyJ0cmFkaW5nIixlPT4oMCxyaS5pc1RyYWRpbmcpKGUpXSxbImRyYXdpbmciLGU9PigwLHJpLmlzTGluZVRvb2wpKGUpJiYhKDAscmkuaXNUcmFkaW5nKShlKSYmIWUuaXNQaGFudG9tKCldLFsiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIixlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmISgwLHJpLmlzVHJhZGluZykoZSkmJiFlLmlzUGhhbnRvbSgpXSxbInBoYW50b20iLGU9PigwLHJpLmlzTGluZVRvb2wpKGUpJiZlLmlzUGhhbnRvbSgpXSxbInJlc3RSb3dTb3VyY2VzIixlPT4hKDAscmkuaXNMaW5lVG9vbCkoZSkmJiEoMCxyaS5pc1RyYWRpbmcpKGUpXSxbImxlZ2VuZFZpZXdTb3VyY2VzIiwoZSx0KT0+dC5oYXNEYXRhU291cmNlKGUpJiYoKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpfHwoMCxnbC5pc1N0dWR5TGluZVRvb2wpKGUpKV0sWyJsZWZ0UHJpY2VTY2FsZSIsU2wuYmluZChudWxsLCJsZWZ0IildLFsicmlnaHRQcmljZVNjYWxlIixTbC5iaW5kKG51bGwsInJpZ2h0IildLFsib3ZlcmxheVByaWNlU2NhbGUiLFNsLmJpbmQobnVsbCwib3ZlcmxheSIpXSxbIm11bHRpcGFuZSIsKGUsdCk9PiF0Lmhhc0RhdGFTb3VyY2UoZSldLFsiYWxsV2l0aG91dE11bHRpcGFuZSIsKGUsdCk9PnQuaGFzRGF0YVNvdXJjZShlKV0sWyJhbGxXaXRob3V0TXVsdGlwYW5lV2l0aEhpZGRlbiIsKGUsdCk9PnQuaGFzRGF0YVNvdXJjZShlKV0sWyJwbG90U291cmNlIiwoZSx0KT0+KDAsZmwuaXNTZXJpZXMpKGUpfHwoMCx0aS5pc1N0dWR5KShlKSYmdC5oYXNEYXRhU291cmNlKGUpJiYhZS5pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCldLFsib2JqZWN0VHJlZSIsKGUsdCk9PntpZigoMCxyaS5pc0xpbmVUb29sKShlKSl7Y29uc3QgaT1lLnRhcmdldFNpZ25hdHVyZSgpLnZhbHVlKCk7aWYobnVsbCE9PWkpcmV0dXJuIHQuaGFzRGF0YVNvdXJjZVdpdGhTaWduYXR1cmUoaSl9cmV0dXJuIHQuaGFzRGF0YVNvdXJjZShlKX1dXSkseWw9bmV3IE1hcChbWyJwcmljZSIsInZpc2libGVTb3J0ZWQiXSxbInRyYWRpbmciLCJ2aXNpYmxlU29ydGVkIl0sWyJkcmF3aW5nIiwidmlzaWJsZVNvcnRlZCJdLFsiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIiwiYWxsU29ydGVkIl0sWyJwaGFudG9tIiwidmlzaWJsZVNvcnRlZCJdLFsicmVzdFJvd1NvdXJjZXMiLCJ2aXNpYmxlU29ydGVkIl0sWyJsZWdlbmRWaWV3U291cmNlcyIsInZpc2libGVTb3J0ZWQiXSxbImxlZnRQcmljZVNjYWxlIiwidmlzaWJsZVNvcnRlZCJdLFsicmlnaHRQcmljZVNjYWxlIiwidmlzaWJsZVNvcnRlZCJdLFsib3ZlcmxheVByaWNlU2NhbGUiLCJ2aXNpYmxlU29ydGVkIl0sWyJtdWx0aXBhbmUiLCJ2aXNpYmxlU29ydGVkIl0sWyJhbGxXaXRob3V0TXVsdGlwYW5lIiwidmlzaWJsZVNvcnRlZCJdLFsiYWxsV2l0aG91dE11bHRpcGFuZVdpdGhIaWRkZW4iLCJhbGxTb3J0ZWQiXSxbInBsb3RTb3VyY2UiLCJ2aXNpYmxlU29ydGVkIl0sWyJvYmplY3RUcmVlIiwidmlzaWJsZVNvcnRlZCJdXSk7ZnVuY3Rpb24gYmwoZSx0KXtjb25zdCBpPWUucHJpY2VTY2FsZSgpO3JldHVybiBudWxsPT09aT8ib3ZlcmxheSI6dC5wcmljZVNjYWxlUG9zaXRpb24oaSl9ZnVuY3Rpb24gd2woZSl7bGV0IHQ9bnVsbDtyZXR1cm57c291cmNlczplLGhhc1NvdXJjZTppPT4obnVsbD09PXQmJih0PW5ldyBNYXAoZS5tYXAoKGU9PltlLmlkKCksZV0pKSkpLHQuaGFzKGkuaWQoKSkpfX1jbGFzcyBDbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9ncm91cGVkU291cmNlcz1uZXcgTWFwLHRoaXMuX3NvdXJjZXM9bnVsbCx0aGlzLl9wYW5lPWV9Y2xlYXIoKXt0aGlzLl9ncm91cGVkU291cmNlcy5jbGVhcigpLHRoaXMuX3NvdXJjZXM9bnVsbH1kZXN0cm95KCl7dGhpcy5jbGVhcigpfWFsbCgpe3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoInZpc2libGVTb3J0ZWQiKXx8dGhpcy5fc29ydFNvdXJjZXMoKSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCgidmlzaWJsZVNvcnRlZCIpKS5zb3VyY2VzfWFsbEluY2x1ZGluZ0hpZGRlbigpe3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoImFsbFNvcnRlZCIpfHx0aGlzLl9zb3J0U291cmNlcygpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JvdXBlZFNvdXJjZXMuZ2V0KCJhbGxTb3J0ZWQiKSkuc291cmNlc31hbGxXaXRob3V0TXVsdGlwYW5lKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiYWxsV2l0aG91dE11bHRpcGFuZSIpfWFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiYWxsV2l0aG91dE11bHRpcGFuZVdpdGhIaWRkZW4iKX0Kb2JqZWN0VHJlZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJvYmplY3RUcmVlIil9aGFzT2JqZWN0VHJlZVNvdXJjZShlKXtyZXR1cm4gdGhpcy5fZ2V0R3JvdXBlZFNvdXJjZXNCeUdyb3VwVHlwZSgib2JqZWN0VHJlZSIpLmhhc1NvdXJjZShlKX16T3JkZXJWaXNpYmxlU291cmNlcygpe2lmKCF0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoInZpc2libGVFeGNlcHRTcGVjaWFsIikpe2NvbnN0IGU9dGhpcy5hbGxXaXRob3V0TXVsdGlwYW5lKCkuZmlsdGVyKChlPT4hZS5pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCkpKTt0aGlzLl9ncm91cGVkU291cmNlcy5zZXQoInZpc2libGVFeGNlcHRTcGVjaWFsIix3bChlKSl9cmV0dXJuKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncm91cGVkU291cmNlcy5nZXQoInZpc2libGVFeGNlcHRTcGVjaWFsIikpLnNvdXJjZXN9YWxsRXhjZXB0U3BlY2lhbFNvdXJjZXMoKXtpZighdGhpcy5fZ3JvdXBlZFNvdXJjZXMuaGFzKCJleGNlcHRTcGVjaWFsIikpe2NvbnN0IGU9dGhpcy5hbGxJbmNsdWRpbmdIaWRkZW4oKS5maWx0ZXIoKGU9PiFlLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKSkpLmZpbHRlcigoZT0+dGhpcy5fcGFuZS5oYXNEYXRhU291cmNlKGUpKSk7dGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJleGNlcHRTcGVjaWFsIix3bChlKSl9cmV0dXJuKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncm91cGVkU291cmNlcy5nZXQoImV4Y2VwdFNwZWNpYWwiKSkuc291cmNlc310cmFkaW5nU291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoInRyYWRpbmciKX1wcmljZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJwcmljZSIpfXBsb3RTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgicGxvdFNvdXJjZSIpfWxpbmVTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiZHJhd2luZyIpfWhhc0xpbmVTb3VyY2UoZSl7cmV0dXJuIHRoaXMuX2dldEdyb3VwZWRTb3VyY2VzQnlHcm91cFR5cGUoImRyYXdpbmciKS5oYXNTb3VyY2UoZSl9bGluZVNvdXJjZXNGb3JBbGxTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIil9cGhhbnRvbVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJwaGFudG9tIil9YWxsRXhjZXB0TGluZUFuZFRyYWRpbmdTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgicmVzdFJvd1NvdXJjZXMiKX1oaXRUZXN0U291cmNlcygpe2lmKCF0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoImhpdFRlc3QiKSl7Y29uc3QgZT10aGlzLmFsbEV4Y2VwdExpbmVBbmRUcmFkaW5nU291cmNlcygpLmNvbmNhdCh0aGlzLmxpbmVTb3VyY2VzKCkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldCgiaGl0VGVzdCIsd2woKDAsZHIuc29ydFNvdXJjZXMpKGUsdGhpcy5fcGFuZSkpKX1yZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCgiaGl0VGVzdCIpKS5zb3VyY2VzfWdlbmVyYWxTb3VyY2VzKCl7aWYoIXRoaXMuX2dyb3VwZWRTb3VyY2VzLmhhcygiZ2VuZXJhbCIpKXtjb25zdCBlPXRoaXMuYWxsRXhjZXB0TGluZUFuZFRyYWRpbmdTb3VyY2VzKCkuY29uY2F0KHRoaXMubGluZVNvdXJjZXMoKSk7dGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJnZW5lcmFsIix3bCgoMCxkci5zb3J0U291cmNlcykoZSx0aGlzLl9wYW5lKSkpfXJldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JvdXBlZFNvdXJjZXMuZ2V0KCJnZW5lcmFsIikpLnNvdXJjZXN9bGVmdFByaWNlU2NhbGVzU291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoImxlZnRQcmljZVNjYWxlIil9cmlnaHRQcmljZVNjYWxlc1NvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJyaWdodFByaWNlU2NhbGUiKX1vdmVybGF5UHJpY2VTY2FsZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJvdmVybGF5UHJpY2VTY2FsZSIpfW11bHRpcGFuZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJtdWx0aXBhbmUiKX1sZWdlbmRWaWV3U291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoImxlZ2VuZFZpZXdTb3VyY2VzIil9X2dldFNvdXJjZXNCeUdyb3VwVHlwZShlKXtyZXR1cm4gdGhpcy5fZ2V0R3JvdXBlZFNvdXJjZXNCeUdyb3VwVHlwZShlKS5zb3VyY2VzfV9nZXRHcm91cGVkU291cmNlc0J5R3JvdXBUeXBlKGUpe2NvbnN0IHQ9KDAsbC5lbnN1cmVEZWZpbmVkKSh5bC5nZXQoZSkpO3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXModCk/dGhpcy5fZ3JvdXBlZFNvdXJjZXMuaGFzKGUpfHx0aGlzLl9ncm91cFNvdXJjZXMoZSk6KHRoaXMuX3NvcnRTb3VyY2VzKCksdGhpcy5fZ3JvdXBTb3VyY2VzKGUpKSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldChlKSl9X3NvcnRTb3VyY2VzKCl7bnVsbD09PXRoaXMuX3NvdXJjZXMmJih0aGlzLl9zb3VyY2VzPXRoaXMuX3BhbmUuZGF0YVNvdXJjZXMoKSk7Y29uc3QgZT10aGlzLl9wYW5lLm1vZGVsKCkubXVsdGlQYW5lU291cmNlcyh0aGlzLl9wYW5lKSx0PSgwLGRyLnNvcnRTb3VyY2VzKSh0aGlzLl9zb3VyY2VzLmNvbmNhdChlKSx0aGlzLl9wYW5lKSxpPXQuZmlsdGVyKChlPT4hKDAscmkuaXNMaW5lVG9vbCkoZSl8fGUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc0FjdHVhbEN1cnJlbmN5KCkmJmUuaXNBY3R1YWxVbml0KCkmJmUuaXNBY3R1YWxNZXRyaWMoKSkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldCgiYWxsU29ydGVkIix3bCh0KSksdGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJ2aXNpYmxlU29ydGVkIix3bChpKSl9X2dyb3VwU291cmNlcyhlKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkoeWwuZ2V0KGUpKSxpPXZsLmdldChlKQo7aWYodm9pZCAwIT09aSl7Y29uc3Qgcz0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCh0KSkuc291cmNlcy5maWx0ZXIoKGU9PmkoZSx0aGlzLl9wYW5lKSkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldChlLHdsKHMpKX19fXZhciBQbD1pKDYzNTUwOSksVGw9aSgxMjM2MTcpLHhsPWkoNzEyNzQ1KTtmdW5jdGlvbiBNbChlLHQsaSl7Y29uc3Qgcz1lLmRpdih0KS50b051bWJlcigpO3JldHVybiBNYXRoLmFicyhNYXRoLnJvdW5kKHMpLXMpPGl9Y29uc3QgSWw9WzIsNV0sTGw9WzUsMl07Y2xhc3MgQWx7Y29uc3RydWN0b3IoZSx0LGkpe2lmKHRoaXMuX2Jhc2U9ZSx0aGlzLl9pbnRlZ3JhbERpdmlkZXJzPXQsKDAsYmkuaXNCYXNlRGVjaW1hbCkoZSkpdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzPVsyLDIuNSwyXTtlbHNle3RoaXMuX2ZyYWN0aW9uYWxEaXZpZGVycz1bXTtjb25zdCBlPWk/SWw6TGw7Zm9yKGxldCB0PXRoaXMuX2Jhc2U7MSE9PXQ7KXtpZih0JWVbMF09PTApdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLnB1c2goZVswXSksdC89ZVswXTtlbHNle2lmKHQlZVsxXSE9MCl0aHJvdyBuZXcgRXJyb3IoInVuZXhwZWN0ZWQgYmFzZSIpO3RoaXMuX2ZyYWN0aW9uYWxEaXZpZGVycy5wdXNoKGVbMV0pLHQvPWVbMV19aWYodGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aD4xMDApdGhyb3cgbmV3IEVycm9yKCJzb21ldGhpbmcgd3Jvbmcgd2l0aCBiYXNlIil9fX10aWNrU3BhbihlLHQsaSl7Y29uc3Qgcz0wPT09dGhpcy5fYmFzZT8wOjEvdGhpcy5fYmFzZSxuPU1hdGgubWluKDFlLTE0LChlLXQpLzFlMyk7bGV0IHI9TWF0aC5wb3coMTAsTWF0aC5tYXgoMCxNYXRoLmNlaWwoKDAsYmkubG9nMTApKGUtdCkpKSk7aWYoIWlzRmluaXRlKHIpKXJldHVybiAxZTMwNTtsZXQgbz0wLGE9dGhpcy5faW50ZWdyYWxEaXZpZGVyc1swXTtmb3IoOzspe2NvbnN0IGU9KDAsYmkuZ3JlYXRlck9yRXF1YWwpKHIscyxuKSYmcj5zK24sdD0oMCxiaS5ncmVhdGVyT3JFcXVhbCkocixpKmEsbiksbD0oMCxiaS5ncmVhdGVyT3JFcXVhbCkociwxLG4pLGM9bmV3IHhsLkJpZyhyKS5kaXYoYSksaD0wPT09c3x8TWwoYyxzLG4pO2lmKCEoZSYmdCYmbCYmaCkpYnJlYWs7cj1jLnRvTnVtYmVyKCksYT10aGlzLl9pbnRlZ3JhbERpdmlkZXJzWysrbyV0aGlzLl9pbnRlZ3JhbERpdmlkZXJzLmxlbmd0aF19aWYocjw9cytuJiYocj1zKSxyPU1hdGgubWF4KDEsciksdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aD4wJiYoMCxiaS5lcXVhbCkociwxLG4pKWZvcihvPTAsYT10aGlzLl9mcmFjdGlvbmFsRGl2aWRlcnNbMF07Oyl7Y29uc3QgZT0oMCxiaS5ncmVhdGVyT3JFcXVhbCkocixpKmEsbikmJnI+cytuLHQ9bmV3IHhsLkJpZyhyKS5kaXYoYSksbD0wPT09c3x8TWwodCxzLG4pO2lmKCFlfHwhbClicmVhaztyPXQudG9OdW1iZXIoKSxhPXRoaXMuX2ZyYWN0aW9uYWxEaXZpZGVyc1srK28ldGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aF19cmV0dXJuIHJ9fXZhciBrbDshZnVuY3Rpb24oZSl7ZVtlLlN0ZXBzTGltaXQ9MzBdPSJTdGVwc0xpbWl0IixlW2UuSGV1cmlzdGljQWxnb1ZhbHVlc0xlbmd0aExpbWl0PTZdPSJIZXVyaXN0aWNBbGdvVmFsdWVzTGVuZ3RoTGltaXQiLGVbZS5IZXVyaXN0aWNBbGdvUmF0aW9MaW1pdD0yXT0iSGV1cmlzdGljQWxnb1JhdGlvTGltaXQifShrbHx8KGtsPXt9KSk7Y2xhc3MgRGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fYmFzZT0oMCxiaS5pc0Jhc2VEZWNpbWFsKShlKT8xOmV9bmV4dFN0ZXBEaXZpZGVycygpe3JldHVybiAxPT09dGhpcy5fYmFzZT9bWzEwLDVdLFsyXV06KHRoaXMuX2Jhc2U9TWF0aC5yb3VuZCh0aGlzLl9iYXNlLzIpLFtbMl1dKX19ZnVuY3Rpb24gRWwoZSx0KXtyZXR1cm4gZS5sZW5ndGg+a2wuSGV1cmlzdGljQWxnb1ZhbHVlc0xlbmd0aExpbWl0JiYoZS5sZW5ndGgrMSkvdC5sZW5ndGg+PWtsLkhldXJpc3RpY0FsZ29SYXRpb0xpbWl0fWZ1bmN0aW9uIFJsKGUsdCl7Y29uc3QgaT1lLmZpbHRlcigoZT0+dChlLmNhbmRpZGF0ZVZhbHVlcykpKTtyZXR1cm4gaS5sZW5ndGg+MD9pLnJlZHVjZSgoKGUsdCk9PnQuY2FuZGlkYXRlVmFsdWVzLmxlbmd0aD5lLmNhbmRpZGF0ZVZhbHVlcy5sZW5ndGg/dDplKSxpWzBdKTplLmZpbmQoKGU9PmUuY2FuZGlkYXRlVmFsdWVzLmxlbmd0aD4wKSl8fGVbMF19ZnVuY3Rpb24gVmwoZSx0KXtpZihlLmxlbmd0aDw9MSlyZXR1cm5bXTtsZXQgaT1lLm1hcCgoZT0+TWF0aC5yb3VuZChlKnQpKSkscz0xO2NvbnN0IG49bmV3IERsKHQpLHI9RWwuYmluZChudWxsLGUpLG89ZT0+ZS5tYXAoKGU9PmUqcy90KSk7Zm9yKGxldCB0PTA7dDxrbC5TdGVwc0xpbWl0OysrdCl7aWYocihpKSlyZXR1cm4gbyhpKTtjb25zdCB0PW4ubmV4dFN0ZXBEaXZpZGVycygpO2xldCBhPSExO2Zvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9UmwoZS5tYXAoKGU9Pih7ZGl2aWRlcjplLGNhbmRpZGF0ZVZhbHVlczppLmZpbHRlcigodD0+TWF0aC5hYnModCklZT09MCkpfSkpKSxyKTtpZih0LmNhbmRpZGF0ZVZhbHVlcy5sZW5ndGg+MCl7aT10LmNhbmRpZGF0ZVZhbHVlcy5tYXAoKGU9PmUvdC5kaXZpZGVyKSkscyo9dC5kaXZpZGVyLGE9ITA7YnJlYWt9fWlmKCFhKXJldHVybiBpLmxlbmd0aD09PWUubGVuZ3RoP1tdOm8oaSl9cmV0dXJuW119Y2xhc3MgQmx7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fbWFya3M9bnVsbCx0aGlzLl9wcmljZVNjYWxlPWUsdGhpcy5fYmFzZT10LHRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWxGdW5jPWksdGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZUZ1bmM9c31iYXNlKCl7cmV0dXJuIHRoaXMuX2Jhc2V9c2V0QmFzZShlKXtpZihlPDApdGhyb3cgbmV3IEVycm9yKCJiYXNlIDwgMCIpO3RoaXMuX2Jhc2U9ZX10aWNrU3BhbihlLHQsaT0wKXtpZihlPHQpdGhyb3cgbmV3IEVycm9yKCJoaWdoIDwgbG93IikKO2NvbnN0IHM9dGhpcy5fcHJpY2VTY2FsZS5oZWlnaHQoKSxuPXRoaXMuX3RpY2tNYXJrSGVpZ2h0KCkscj0oZS10KSpuL3Msbz1bbmV3IEFsKHRoaXMuX2Jhc2UsWzIsMi41LDJdLCEwKSxuZXcgQWwodGhpcy5fYmFzZSxbMiwyLDIuNV0sITApLG5ldyBBbCh0aGlzLl9iYXNlLFsyLjUsMiwyXSwhMCksbmV3IEFsKHRoaXMuX2Jhc2UsWzIsMi41LDJdLCExKSxuZXcgQWwodGhpcy5fYmFzZSxbMiwyLDIuNV0sITEpLG5ldyBBbCh0aGlzLl9iYXNlLFsyLjUsMiwyXSwhMSldLnJlZHVjZSgoKHMsbik9Pntjb25zdCBvPW4udGlja1NwYW4oZSx0LHIpO3JldHVybiBvPmk/TWF0aC5taW4obyxzKTpzfSksMS8wKTtyZXR1cm4gbz4wJiZpc0Zpbml0ZShvKT9vOmUtdH1yZWJ1aWxkVGlja01hcmtzKCl7dGhpcy5fbWFya3M9bnVsbH1tYXJrcygpe3JldHVybiBudWxsPT09dGhpcy5fbWFya3MmJih0aGlzLl9tYXJrcz10aGlzLl9yZWJ1aWxkVGlja01hcmtzSW1wbCgpKSx0aGlzLl9tYXJrc31fZm9udEhlaWdodCgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlLmZvbnRTaXplKCl9X3RpY2tNYXJrSGVpZ2h0KCl7cmV0dXJuIE1hdGguY2VpbCgyLjUqdGhpcy5fZm9udEhlaWdodCgpKX1fcmVidWlsZFRpY2tNYXJrc0ltcGwoKXtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUsdD1bXSxpPWUubWFpblNvdXJjZSgpO2lmKGUuaXNFbXB0eSgpfHwhZS5oYXNDYWxjdWxhdGVkUHJpY2VSYW5nZSgpfHxudWxsPT09aSlyZXR1cm4gdDtsZXQgcz1pLmZpcnN0VmFsdWUoKTtudWxsPT09cyYmKHM9MCk7Y29uc3Qgbj1lLmhlaWdodCgpLHI9dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbEZ1bmMobi0xLHMpLG89dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbEZ1bmMoMCxzKSxhPU1hdGgubWF4KHIsbyksbD1NYXRoLm1pbihyLG8pO2lmKGE9PT1sKXJldHVybiB0O2xldCBjPXRoaXMudGlja1NwYW4oYSxsKSxoPWElYztoKz1oPDA/YzowO2NvbnN0IGQ9YT49bD8xOi0xO2xldCB1PW51bGw7Y29uc3QgcD1lLmZvcm1hdHRlcigpO2xldCBfPU5hTjtjb25zdCBtPVtdO2ZvcihsZXQgdD1hLWg7dD5sO3QtPWMpe3Q9PT1fJiYoYz10aGlzLnRpY2tTcGFuKGEsbCxjKSksXz10O2NvbnN0IGk9dGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZUZ1bmModCxzKTtudWxsIT09dSYmTWF0aC5hYnMoaS11KTx0aGlzLl90aWNrTWFya0hlaWdodCgpfHwobS5wdXNoKHtsb2dpY2FsOnQsY29vcmQ6aX0pLHU9aSxlLmlzTG9nKCkmJihjPXRoaXMudGlja1NwYW4odCpkLGwpKSl9Y29uc3QgZz1tLm1hcCgoZT0+ZS5sb2dpY2FsKSksZj10aGlzLl9iYXNlfHxNYXRoLnBvdygxMCwtTWF0aC5jZWlsKE1hdGgubG9nMTAoYykpKSxTPVZsKGcsZiksdj0xLygxMDAqZik7cmV0dXJuIG0ubWFwKChlPT57Y29uc3R7bG9naWNhbDp0LGNvb3JkOml9PWU7cmV0dXJue2Nvb3JkOmksbGFiZWw6cC5mb3JtYXQodCksYm9sZDpTLnNvbWUoKGU9Pk1hdGguYWJzKGUtdCk8dikpfX0pKX19dmFyIE5sPWkoNzU1NjI3KSxPbD1pKDIzMzI0Nyk7KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9wcmljZV9zY2FsZV9pZl9hbGxfc291cmNlc19oaWRkZW4iKTtjb25zdCBXbD0oMCxPbC5nZXRQZXJjZW50YWdlRm9ybWF0dGVyKSgpLEZsPW5ldyBObC5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZToxMDAsbWluTW92ZToxfSksSGw9e2F1dG9TY2FsZTohMCxhdXRvU2NhbGVEaXNhYmxlZDohMSxsb2NrU2NhbGU6ITEscGVyY2VudGFnZTohMSxwZXJjZW50YWdlRGlzYWJsZWQ6ITEsbG9nOiExLGxvZ0Rpc2FibGVkOiExLGFsaWduTGFiZWxzOiEwLGlzSW52ZXJ0ZWQ6ITEsaW5kZXhlZFRvMTAwOiExfTtmdW5jdGlvbiB6bChlKXtyZXR1cm4gZS5pc0N1cnJlbmN5U291cmNlKCkmJmUuaXNDdXJyZW5jeU9yaWdpbigpLnZhbHVlKCl9ZnVuY3Rpb24gVWwoZSl7cmV0dXJuIGUuaXNDdXJyZW5jeVNvdXJjZSgpJiYhZS5pc0N1cnJlbmN5T3JpZ2luKCkudmFsdWUoKX1mdW5jdGlvbiBHbChlKXtyZXR1cm4gZS5pc1VuaXRTb3VyY2UoKSYmZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpfWZ1bmN0aW9uIGpsKGUpe3JldHVybiBlLmlzVW5pdFNvdXJjZSgpJiYhZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpfWNsYXNzIHFse2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX29uTWFya3NDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMubV9kYXRhU291cmNlcz1bXSx0aGlzLl9zb3VyY2VzRm9yQXV0b3NjYWxlPW51bGwsdGhpcy5fc291cmNlc1RoYXRBZmZlY3RWaXNpYmlsaXR5PVtdLHRoaXMuX2hhc1Nlcmllcz0hMSx0aGlzLl9zdHVkaWVzQ291bnQ9MCx0aGlzLl9kcmF3aW5nQ291bnQ9MCx0aGlzLl9zZXJpZXNMaWtlU291cmNlcz1bXSx0aGlzLl9wcmljZURhdGFTb3VyY2VzPVtdLHRoaXMuX21haW5Tb3VyY2U9bnVsbCx0aGlzLl9sYXN0U291cmNlUmVtb3ZlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY2FsZVNlcmllc09ubHk9ITEsdGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZT17aXNWYWxpZDohMCx2aXNpYmxlQmFyczpudWxsLGxvZ2ljYWxSYW5nZTpudWxsfSx0aGlzLl9wcmljZVJhbmdlPW51bGwsdGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ITEsdGhpcy5fbG9nRm9ybXVsYT0oMCxUbC5sb2dGb3JtdWxhRm9yQmFzZSkobnVsbCksdGhpcy5tX2hlaWdodD0wLHRoaXMuX21hcmdpbnM9e3RvcDowLGJvdHRvbTowfSx0aGlzLl9jb3JyZWN0ZWRNYXJnaW5zQ2FjaGU9bnVsbCx0aGlzLl90b3BQaXhlbE1hcmdpbj0wLHRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luPTAsdGhpcy5faW50ZXJuYWxIZWlnaHRDYWNoZT1udWxsLHRoaXMuX2ludGVybmFsSGVpZ2h0Q2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9wcmljZVJhbmdlU25hcHNob3Q9bnVsbCx0aGlzLl9zY3JvbGxTdGFydFBvaW50PW51bGwsdGhpcy5fY3VycmVuY3lDYWNoZT1udWxsLHRoaXMuX3VuaXRDYWNoZT1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT1udWxsLHRoaXMuX21ldHJpY0NhY2hlPW51bGwsdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZT0hMSwKdGhpcy5fY2FjaGVkT3JkZXJlZFNvcnVjZXM9bnVsbCx0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9bnVsbCx0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl9tYXhQcmljZVJhbmdlPW51bGwsdGhpcy5fbWluUHJpY2VSYW5nZT1udWxsLHRoaXMuX3ByaWNlUmFuZ2VDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX21vZGVDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPW51bGwsdGhpcy5fbWFya0J1aWxkZXI9bmV3IEJsKHRoaXMsMTAwLHRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWwuYmluZCh0aGlzKSx0aGlzLl9sb2dpY2FsVG9Db29yZGluYXRlLmJpbmQodGhpcykpLHRoaXMuX2Zvcm1hdHRlcj1udWxsLHRoaXMuX3Jlc2V0U2NhbGVBdmFpbGFibGU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pZD0iIix0aGlzLl9pc1Zpc2libGU9bmV3IGguV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9kcm9wU2NhbGVDYWNoZT0oKT0+e3RoaXMuX3NvdXJjZXNGb3JBdXRvc2NhbGU9bnVsbCx0aGlzLl9jdXJyZW5jeUNhY2hlPW51bGwsdGhpcy5fdW5pdENhY2hlPW51bGwsdGhpcy5fbWV0cmljQ2FjaGU9bnVsbCx0aGlzLl9tZWFzdXJlVW5pdElkQ2FjaGU9bnVsbH0sdD1PYmplY3QuYXNzaWduKHt9LEhsLHQpLHRoaXMuX3Byb3BlcnRpZXM9bmV3IE90LlByb3BlcnR5KHQpLHRoaXMuX3NjYWxlc1Byb3BlcnRpZXM9ZSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlzSW52ZXJ0ZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Jc0ludmVydGVkQ2hhbmdlZCksdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUobnVsbCwoKCk9Pntjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpO2lmKGUmJmUubW9kZWwoKSl7Y29uc3QgdD1lLm1vZGVsKCkucGFuZUZvclNvdXJjZShlKTt0JiZlLm1vZGVsKCkudXBkYXRlUGFuZSh0KX19KSksdGhpcy5fc2NhbGVzUHJvcGVydGllcy5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9tYXJrc0NhY2hlPW51bGx9KSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5sb2NrU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hdXRvU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpLHRoaXMuc2V0SWQoKDAsbHQucmFuZG9tSGFzaCkoKSl9aWQoKXtyZXR1cm4gdGhpcy5faWR9c2V0SWQoZSl7dGhpcy5faWQ9ZX1pc0xvZygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxvZy52YWx1ZSgpfWlzUGVyY2VudGFnZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBlcmNlbnRhZ2UudmFsdWUoKX1pc0ludmVydGVkKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaXNJbnZlcnRlZC52YWx1ZSgpfWlzSW5kZXhlZFRvMTAwKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5kZXhlZFRvMTAwLnZhbHVlKCl9aXNBdXRvU2NhbGUoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hdXRvU2NhbGUudmFsdWUoKSYmIXRoaXMuaXNMb2NrU2NhbGUoKX1pc0xvY2tTY2FsZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxvY2tTY2FsZS52YWx1ZSgpfWlzUmVndWxhcigpe3JldHVybiF0aGlzLmlzUGVyY2VudGFnZSgpJiYhdGhpcy5pc0xvZygpJiYhdGhpcy5pc0luZGV4ZWRUbzEwMCgpfWlzU2NhbGVTZXJpZXNPbmx5KCl7cmV0dXJuIHRoaXMuX3NjYWxlU2VyaWVzT25seX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9aGVpZ2h0KCl7cmV0dXJuIHRoaXMubV9oZWlnaHR9c2V0SGVpZ2h0KGUpe3RoaXMubV9oZWlnaHQhPT1lJiYodGhpcy5tX2hlaWdodD1lLHRoaXMuX2ludmFsaWRhdGVJbnRlcm5hbEhlaWdodENhY2hlKCksdGhpcy5fbWFya3NDYWNoZT1udWxsKX1pbnRlcm5hbEhlaWdodCgpe2lmKHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGUpcmV0dXJuIHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGU7Y29uc3QgZT10aGlzLmhlaWdodCgpLXRoaXMudG9wUGl4ZWxNYXJnaW4oKS10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCk7cmV0dXJuIHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGU9ZSxlfWZvbnRTaXplKCl7cmV0dXJuIHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKX1wcmljZVJhbmdlKCl7cmV0dXJuIHRoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCksdGhpcy5fcHJpY2VSYW5nZX1zZXRQcmljZVJhbmdlKGUsdCxpKXtpZighKGUgaW5zdGFuY2VvZiBQbC5QcmljZVJhbmdlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbmNvcnJlY3QgcHJpY2UgcmFuZ2UiKTtjb25zdCBzPXRoaXMuX3ByaWNlUmFuZ2U7aWYoIXQmJlBsLlByaWNlUmFuZ2UuY29tcGFyZShzLGUpKXJldHVybjtjb25zdCBuPW51bGwhPT10aGlzLl9tYXhQcmljZVJhbmdlJiZ0aGlzLl9tYXhQcmljZVJhbmdlLmNvbnRhaW5zU3RyaWN0bHkoZSkscj1udWxsIT09dGhpcy5fbWluUHJpY2VSYW5nZSYmZS5jb250YWluc1N0cmljdGx5KHRoaXMuX21pblByaWNlUmFuZ2UpO3RoaXMuaXNMb2NrU2NhbGUoKSYmIXQmJihufHxyKXx8KHRoaXMuX21hcmtzQ2FjaGU9bnVsbCx0aGlzLl9wcmljZVJhbmdlPWUsaXx8dGhpcy5fcHJpY2VSYW5nZUNoYW5nZWQuZmlyZShzLGUpLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSkpfXNldE1pblByaWNlUmFuZ2UoZSl7dGhpcy5fbWluUHJpY2VSYW5nZT1lfXNldE1heFByaWNlUmFuZ2UoZSl7dGhpcy5fbWF4UHJpY2VSYW5nZT1lfXJlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UoKXt0aGlzLl9yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlPSEwfXByaWNlUmFuZ2VTaG91bGRCZVJlY2FsY3VsYXRlZE9uY2UoKXtpZighdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZXx8dGhpcy5pc0xvY2tTY2FsZSgpKXJldHVybiExO2NvbnN0IGU9dGhpcy5tYWluU291cmNlKCkKO3JldHVybiBudWxsIT09ZSYmZS5wcmljZVJhbmdlUmVhZHkoKX1wcmljZVJhbmdlQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9wcmljZVJhbmdlQ2hhbmdlZH1tb2RlKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybnthdXRvU2NhbGU6ZS5hdXRvU2NhbGUudmFsdWUoKSxsb2NrU2NhbGU6ZS5sb2NrU2NhbGUudmFsdWUoKSxwZXJjZW50YWdlOmUucGVyY2VudGFnZS52YWx1ZSgpLGluZGV4ZWRUbzEwMDplLmluZGV4ZWRUbzEwMC52YWx1ZSgpLGxvZzplLmxvZy52YWx1ZSgpfX1zZXRNb2RlKGUpe2NvbnN0IHQ9e30saT10aGlzLm1vZGUoKSxzPXRoaXMuX3Byb3BlcnRpZXMuc3RhdGUoKTtsZXQgbj1udWxsO3ZvaWQgMCE9PWUuYXV0b1NjYWxlJiZlLmF1dG9TY2FsZSE9PXMuYXV0b1NjYWxlJiYodC5hdXRvU2NhbGU9ZS5hdXRvU2NhbGUsdGhpcy5fc2V0QXV0b1NjYWxlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmF1dG9TY2FsZSkpLHZvaWQgMCE9PWUubG9ja1NjYWxlJiZlLmxvY2tTY2FsZSE9PXMubG9ja1NjYWxlJiYodC5sb2NrU2NhbGU9ZS5sb2NrU2NhbGUsdGhpcy5fc2V0TG9ja1NjYWxlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmxvY2tTY2FsZSkpLHZvaWQgMCE9PWUucGVyY2VudGFnZSYmZS5wZXJjZW50YWdlIT09cy5wZXJjZW50YWdlJiYodC5wZXJjZW50YWdlPWUucGVyY2VudGFnZSx0aGlzLl9zZXRQZXJjZW50YWdlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLnBlcmNlbnRhZ2UpLHRoaXMuX2ludmFsaWRhdGVkRm9yUmFuZ2UuaXNWYWxpZD0hMSksdm9pZCAwIT09ZS5pbmRleGVkVG8xMDAmJmUuaW5kZXhlZFRvMTAwIT09cy5pbmRleGVkVG8xMDAmJih0LmluZGV4ZWRUbzEwMD1lLmluZGV4ZWRUbzEwMCx0aGlzLl9zZXRJbmRleGVkVG8xMDBWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUuaW5kZXhlZFRvMTAwKSx0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWQ9ITEpLHZvaWQgMCE9PWUubG9nJiZlLmxvZyE9PXMubG9nJiYodC5sb2c9ZS5sb2csdGhpcy5fc2V0TG9nVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmxvZykpO2NvbnN0IHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTtzLmxvZyYmIXIubG9nLnZhbHVlKCkmJih0aGlzLl9jYW5Db252ZXJ0UHJpY2VSYW5nZUZyb21Mb2codGhpcy5fcHJpY2VSYW5nZSk/KG49dGhpcy5fY29udmVydFByaWNlUmFuZ2VGcm9tTG9nKHRoaXMuX3ByaWNlUmFuZ2UpLG51bGwhPT1uJiZ0aGlzLnNldFByaWNlUmFuZ2UobikpOnIuYXV0b1NjYWxlLnNldFZhbHVlKCEwKSksIXMubG9nJiZyLmxvZy52YWx1ZSgpJiYobj10aGlzLl9jb252ZXJ0UHJpY2VSYW5nZVRvTG9nKHRoaXMuX3ByaWNlUmFuZ2UpLG51bGwhPT1uJiZ0aGlzLnNldFByaWNlUmFuZ2UobikpLHMuYXV0b1NjYWxlIT09ci5hdXRvU2NhbGUudmFsdWUoKSYmci5hdXRvU2NhbGUuZmlyZUNoYW5nZWQoKSxzLmF1dG9TY2FsZURpc2FibGVkIT09ci5hdXRvU2NhbGVEaXNhYmxlZC52YWx1ZSgpJiZyLmF1dG9TY2FsZURpc2FibGVkLmZpcmVDaGFuZ2VkKCkscy5sb2NrU2NhbGUhPT1yLmxvY2tTY2FsZS52YWx1ZSgpJiZyLmxvY2tTY2FsZS5maXJlQ2hhbmdlZCgpLHMucGVyY2VudGFnZSE9PXIucGVyY2VudGFnZS52YWx1ZSgpJiYoci5wZXJjZW50YWdlLmZpcmVDaGFuZ2VkKCksdGhpcy51cGRhdGVGb3JtYXR0ZXIoKSkscy5pbmRleGVkVG8xMDAhPT1yLmluZGV4ZWRUbzEwMC52YWx1ZSgpJiYoci5pbmRleGVkVG8xMDAuZmlyZUNoYW5nZWQoKSx0aGlzLnVwZGF0ZUZvcm1hdHRlcigpKSxzLnBlcmNlbnRhZ2VEaXNhYmxlZCE9PXIucGVyY2VudGFnZURpc2FibGVkLnZhbHVlKCkmJnIucGVyY2VudGFnZURpc2FibGVkLmZpcmVDaGFuZ2VkKCkscy5sb2chPT1yLmxvZy52YWx1ZSgpJiZyLmxvZy5maXJlQ2hhbmdlZCgpLHMubG9nRGlzYWJsZWQhPT1yLmxvZ0Rpc2FibGVkLnZhbHVlKCkmJnIubG9nRGlzYWJsZWQuZmlyZUNoYW5nZWQoKSx2b2lkIDA9PT10LmxvZyYmdm9pZCAwPT09dC5wZXJjZW50YWdlJiZ2b2lkIDA9PT10LmxvY2tTY2FsZSYmdm9pZCAwPT09dC5hdXRvU2NhbGUmJnZvaWQgMD09PXQuaW5kZXhlZFRvMTAwfHx0aGlzLl9tb2RlQ2hhbmdlZC5maXJlKGksdGhpcy5tb2RlKCkpfW1vZGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX21vZGVDaGFuZ2VkfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5fbWFrZVN1cmVJdElzVmFsaWQoKSwwPT09dGhpcy5tX2hlaWdodHx8IXRoaXMuX3ByaWNlUmFuZ2V8fHRoaXMuX3ByaWNlUmFuZ2UuaXNFbXB0eSgpfWhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlKCl7cmV0dXJuIHRoaXMuX2hhc0NhbGN1bGF0ZWRQcmljZVJhbmdlfWNhbkRldGFjaFNvdXJjZShlKXtyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzLnNvbWUoKHQ9PnQhPT1lJiYhc2kodCkmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmISgoMCx0aS5pc1N0dWR5KSh0KSYmdC5pc0xpbmtlZFRvU2VyaWVzKCkpKSl9dXBkYXRlQWxsVmlld3MoZSl7Y29uc3QgdD10aGlzLl9nZXRTb3VyY2VzVG9VcGRhdGVWaWV3cygpO2Zvcihjb25zdCBpIG9mIHQpaS51cGRhdGVBbGxWaWV3cyhlKX1sb2dGb3JtdWxhKCl7cmV0dXJuIHRoaXMuX2xvZ0Zvcm11bGF9c3RhdGUoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJue2lkOnRoaXMuX2lkLG1fcHJpY2VSYW5nZTp0aGlzLmlzQXV0b1NjYWxlKCk/bnVsbDp0aGlzLnByaWNlUmFuZ2UoKT8uc2VyaWFsaXplKCl8fG51bGwsbV9pc0F1dG9TY2FsZTp0aGlzLmlzQXV0b1NjYWxlKCksbV9pc1BlcmNlbnRhZ2U6ZS5wZXJjZW50YWdlLnZhbHVlKCksbV9pc0luZGV4ZWRUbzEwMDplLmluZGV4ZWRUbzEwMC52YWx1ZSgpLG1faXNMb2c6ZS5sb2cudmFsdWUoKSxtX2lzTG9ja1NjYWxlOnRoaXMuaXNMb2NrU2NhbGUoKSxtX2lzSW52ZXJ0ZWQ6dGhpcy5pc0ludmVydGVkKCksbV90b3BNYXJnaW46dGhpcy5fbWFyZ2lucy50b3AsbV9ib3R0b21NYXJnaW46dGhpcy5fbWFyZ2lucy5ib3R0b20sYWxpZ25MYWJlbHM6ZS5hbGlnbkxhYmVscy52YWx1ZSgpLApsb2dGb3JtdWxhOigwLGEuY2xvbmUpKHRoaXMuX2xvZ0Zvcm11bGEpLGhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlOnRoaXMuX2hhc0NhbGN1bGF0ZWRQcmljZVJhbmdlfX1yZXN0b3JlU3RhdGUoZSl7bGV0IHQ9ZS5tX3ByaWNlUmFuZ2U7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIHN0YXRlIik7aWYodm9pZCAwPT09ZS5tX2lzQXV0b1NjYWxlKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3RhdGUiKTt2b2lkIDAhPT1lLmlkJiYodGhpcy5faWQ9ZS5pZCk7Y29uc3QgaT17YXV0b1NjYWxlOmUubV9pc0F1dG9TY2FsZX07dm9pZCAwIT09ZS5tX2lzUGVyY2VudGFnZSYmKGkucGVyY2VudGFnZT1lLm1faXNQZXJjZW50YWdlKSx2b2lkIDAhPT1lLm1faXNJbmRleGVkVG8xMDAmJihpLmluZGV4ZWRUbzEwMD1lLm1faXNJbmRleGVkVG8xMDApLHZvaWQgMCE9PWUubV9pc0xvZyYmKGkubG9nPWUubV9pc0xvZyksdm9pZCAwIT09ZS5tX2lzTG9ja1NjYWxlJiYoaS5sb2NrU2NhbGU9ZS5tX2lzTG9ja1NjYWxlKSx2b2lkIDAhPT1lLm1faXNJbnZlcnRlZCYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pc0ludmVydGVkLnNldFZhbHVlKGUubV9pc0ludmVydGVkKSx0aGlzLnNldE1vZGUoaSksdGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ZS5oYXNDYWxjdWxhdGVkUHJpY2VSYW5nZT8/bnVsbCE9PXQsdD8odCBpbnN0YW5jZW9mIFBsLlByaWNlUmFuZ2V8fCh0PW5ldyBQbC5QcmljZVJhbmdlKHQpKSx0aGlzLnNldFByaWNlUmFuZ2UodCwhMCkpOnRoaXMuY2xlYXJQcmljZVJhbmdlKCksZS5sb2dGb3JtdWxhJiYodGhpcy5fbG9nRm9ybXVsYT1lLmxvZ0Zvcm11bGEpLHZvaWQgMCE9PWUubV90b3BNYXJnaW4mJih0aGlzLl9tYXJnaW5zLnRvcD1lLm1fdG9wTWFyZ2luKSx2b2lkIDAhPT1lLm1fYm90dG9tTWFyZ2luJiYodGhpcy5fbWFyZ2lucy5ib3R0b209ZS5tX2JvdHRvbU1hcmdpbiksdm9pZCAwIT09ZS5hbGlnbkxhYmVscyYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hbGlnbkxhYmVscy5zZXRWYWx1ZShlLmFsaWduTGFiZWxzKSx0aGlzLl9tYWluU291cmNlPW51bGwsdGhpcy5fc2NhbGVTZXJpZXNPbmx5PSExfXByaWNlVG9Mb2dpY2FsKGUpe3JldHVybiB0aGlzLmlzTG9nKCkmJmU/KDAsVGwudG9Mb2cpKGUsdGhpcy5fbG9nRm9ybXVsYSk6ZX1sb2dpY2FsVG9QcmljZShlKXtyZXR1cm4gdGhpcy5pc0xvZygpPygwLFRsLmZyb21Mb2cpKGUsdGhpcy5fbG9nRm9ybXVsYSk6ZX1wb3NpdGlvblBlcmNlbnRUb0Nvb3JkaW5hdGUoZSl7cmV0dXJuIHRoaXMuaGVpZ2h0KCkqZX1wcmljZVRvQ29vcmRpbmF0ZShlLHQpe2NvbnN0IGk9dGhpcy5fcHJpY2VUb1BlcmNlbnRPckluZGV4ZWRUbzEwMElmTmVlZGVkKGUsdCk7cmV0dXJuIHRoaXMuX2xvZ2ljYWxUb0Nvb3JkaW5hdGUoaSl9Y29vcmRpbmF0ZVRvUHJpY2UoZSx0KXtsZXQgaT10aGlzLl9jb29yZGluYXRlVG9Mb2dpY2FsKGUpO3JldHVybiB0aGlzLmlzUGVyY2VudGFnZSgpP2k9KDAsVGwuZnJvbVBlcmNlbnQpKGksdCk6dGhpcy5pc0luZGV4ZWRUbzEwMCgpJiYoaT0oMCxUbC5mcm9tSW5kZXhlZFRvMTAwKShpLHQpKSxpfW1haW5Tb3VyY2UoKXtpZihudWxsIT09dGhpcy5fbWFpblNvdXJjZSlyZXR1cm4gdGhpcy5fbWFpblNvdXJjZTtsZXQgZTtmb3IoY29uc3QgdCBvZiB0aGlzLl9wcmljZURhdGFTb3VyY2VzKXtpZigoMCxmbC5pc1NlcmllcykodCkpe2U9dDticmVha31lfHwoZT10KX1yZXR1cm4gdGhpcy5fbWFpblNvdXJjZT1lfHxudWxsLHRoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsLHRoaXMuX21haW5Tb3VyY2V9cHJpY2VUb0Nvb3JkaW5hdGVGbihlKXt0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpO2NvbnN0IHQ9dGhpcy5ib3R0b21QaXhlbE1hcmdpbigpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSkscz1pLm1pblZhbHVlKCksbj1pLm1heFZhbHVlKCkscj10aGlzLmludGVybmFsSGVpZ2h0KCktMSxvPXRoaXMuaXNJbnZlcnRlZCgpLGE9ci8obi1zKSxjPXRoaXMubV9oZWlnaHQsaD1lPT57Y29uc3QgaT10K2EqKGUtcyk7cmV0dXJuIG8/aTpjLTEtaX07cmV0dXJuIHRoaXMuaXNQZXJjZW50YWdlKCk/dD0+aCgoMCxUbC50b1BlcmNlbnQpKHQsZSkpOnRoaXMuaXNJbmRleGVkVG8xMDAoKT90PT5oKCgwLFRsLnRvSW5kZXhlZFRvMTAwKSh0LGUpKTp0aGlzLmlzTG9nKCk/ZT0+aCgoMCxUbC50b0xvZykoZSx0aGlzLl9sb2dGb3JtdWxhKSk6ZT0+aChlKX1wcmljZXNBcnJheVRvQ29vcmRpbmF0ZXMoZSx0LGkpe3RoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCk7Y29uc3Qgcz10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCksbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VSYW5nZSgpKSxyPW4ubWluVmFsdWUoKSxvPW4ubWF4VmFsdWUoKSxhPXRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xLGM9dGhpcy5pc0ludmVydGVkKCksaD1hLyhvLXIpO3ZvaWQgMD09PWkmJihpPWUubGVuZ3RoKTtjb25zdCBkPXRoaXMuaXNQZXJjZW50YWdlKCksdT10aGlzLmlzSW5kZXhlZFRvMTAwKCkscD10aGlzLmlzTG9nKCksXz10aGlzLm1faGVpZ2h0O2xldCBtLGc7Zm9yKGxldCBuPTA7bjxpO24rKyltPWVbbl0sTnVtYmVyLmlzRmluaXRlKG0pJiYoZD9tPSgwLFRsLnRvUGVyY2VudCkobSx0KTp1P209KDAsVGwudG9JbmRleGVkVG8xMDApKG0sdCk6cCYmKG09KDAsVGwudG9Mb2cpKG0sdGhpcy5fbG9nRm9ybXVsYSkpLGc9cytoKihtLXIpLGVbbl09Yz9nOl8tMS1nKX1maWxsWUNvb3JkaW5hdGVzKGUsdCxpKXt0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSksbj10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkscj1zLm1pblZhbHVlKCksbz1zLm1heFZhbHVlKCksYT10aGlzLmludGVybmFsSGVpZ2h0KCktMSxjPXRoaXMuaXNJbnZlcnRlZCgpLGg9YS8oby1yKSxkPWk/LnN0YXJ0SXRlbUluZGV4Pz8wLHU9aT8uZW5kSXRlbUluZGV4Pz9lLmxlbmd0aAo7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKSlmb3IobGV0IGk9ZDtpPHU7aSsrKWVbaV0ueT0oMCxUbC50b1BlcmNlbnQpKGVbaV0ucHJpY2UsdCk7ZWxzZSBpZih0aGlzLmlzSW5kZXhlZFRvMTAwKCkpZm9yKGxldCBpPWQ7aTx1O2krKyllW2ldLnk9KDAsVGwudG9JbmRleGVkVG8xMDApKGVbaV0ucHJpY2UsdCk7ZWxzZSBpZih0aGlzLmlzTG9nKCkpZm9yKGxldCB0PWQ7dDx1O3QrKyllW3RdLnk9dGhpcy5wcmljZVRvTG9naWNhbChlW3RdLnByaWNlKTtlbHNlIGZvcihsZXQgdD1kO3Q8dTt0KyspZVt0XS55PWVbdF0ucHJpY2U7Zm9yKGxldCB0PWQ7dDx1O3QrKyl7Y29uc3QgaT1lW3RdLnk7aWYoaXNOYU4oaSl8fG51bGw9PWkpY29udGludWU7Y29uc3Qgcz1uK2gqKGktcik7ZVt0XS55PWM/czp0aGlzLm1faGVpZ2h0LTEtc319YmFyUHJpY2VzVG9Db29yZGluYXRlcyhlLHQpe3RoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VSYW5nZSgpKSxzPWUsbj10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkscj1pLm1pblZhbHVlKCksbz1pLm1heFZhbHVlKCksYT10aGlzLmludGVybmFsSGVpZ2h0KCktMTtsZXQgYz1udWxsO2lmKHRoaXMuaXNQZXJjZW50YWdlKCk/Yz1UbC50b1BlcmNlbnQ6dGhpcy5pc0luZGV4ZWRUbzEwMCgpP2M9VGwudG9JbmRleGVkVG8xMDA6dGhpcy5pc0xvZygpJiYoYz0oZSx0KT0+ZT8oMCxUbC50b0xvZykoZSx0aGlzLl9sb2dGb3JtdWxhKTplKSwwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9Im9wZW4iaW4gc1swXSxkPSJjbG9zZSJpbiBzWzBdO2lmKG51bGwhPT1jKWZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXtpZighc1tlXSljb250aW51ZTtjb25zdCBpPXNbZV07aCYmKGkub3Blbj1jKGkub3Blbix0KSksaS5oaWdoPWMoaS5oaWdoLHQpLGkubG93PWMoaS5sb3csdCksZCYmKGkuY2xvc2U9YyhpLmNsb3NlLHQpKSx2b2lkIDAhPT1pLmFkZGl0aW9uYWxQcmljZSYmKGkuYWRkaXRpb25hbFByaWNlPWMoaS5hZGRpdGlvbmFsUHJpY2UsdCkpfWNvbnN0IHU9YS8oby1yKSxwPXRoaXMuaXNJbnZlcnRlZCgpO2ZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXtjb25zdCB0PXNbZV07aWYoIXQpY29udGludWU7aWYoaCl7Y29uc3QgZT1uK3UqKHQub3Blbi1yKSxpPXA/ZTp0aGlzLm1faGVpZ2h0LTEtZTt0Lm9wZW49aX1jb25zdCBpPW4rdSoodC5oaWdoLXIpLG89cD9pOnRoaXMubV9oZWlnaHQtMS1pO3QuaGlnaD1vO2NvbnN0IGE9bit1Kih0Lmxvdy1yKSxsPXA/YTp0aGlzLm1faGVpZ2h0LTEtYTtpZih0Lmxvdz1sLGQpe2NvbnN0IGU9bit1Kih0LmNsb3NlLXIpLGk9cD9lOnRoaXMubV9oZWlnaHQtMS1lO3QuY2xvc2U9aX1pZih2b2lkIDAhPT10LmFkZGl0aW9uYWxQcmljZSl7Y29uc3QgZT1uK3UqKHQuYWRkaXRpb25hbFByaWNlLXIpO3QuYWRkaXRpb25hbFByaWNlPXA/ZTp0aGlzLm1faGVpZ2h0LTEtZX19fWZvcm1hdHRlcigpe3JldHVybiBudWxsPT09dGhpcy5fZm9ybWF0dGVyJiZ0aGlzLnVwZGF0ZUZvcm1hdHRlcigpLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fZm9ybWF0dGVyKX11cGRhdGVGb3JtYXR0ZXIoKXt0aGlzLl9tYXJrc0NhY2hlPW51bGw7Y29uc3QgZT10aGlzLm1haW5Tb3VyY2UoKTtsZXQgdD0xMDA7ZSYmKHQ9ZS5iYXNlKCkpLHRoaXMuX2Zvcm1hdHRlcj1udWxsLHRoaXMuaXNQZXJjZW50YWdlKCk/KHRoaXMuX2Zvcm1hdHRlcj1XbCx0PTEwMCk6dGhpcy5pc0luZGV4ZWRUbzEwMCgpPyh0aGlzLl9mb3JtYXR0ZXI9RmwsdD0xMDApOnRoaXMuX2Zvcm1hdHRlcj1lP2UuZm9ybWF0dGVyKCk6RmwsdGhpcy5fbWFya0J1aWxkZXI9bmV3IEJsKHRoaXMsdCx0aGlzLl9jb29yZGluYXRlVG9Mb2dpY2FsLmJpbmQodGhpcyksdGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZS5iaW5kKHRoaXMpKSx0aGlzLl9tYXJrQnVpbGRlci5yZWJ1aWxkVGlja01hcmtzKCl9Zm9ybWF0UHJpY2UoZSx0LGkpe3JldHVybiB0aGlzLmlzUGVyY2VudGFnZSgpP3RoaXMuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGUsdCxpKTp0aGlzLmlzSW5kZXhlZFRvMTAwKCk/dGhpcy5mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChlLHQsaSk6dGhpcy5mb3JtYXR0ZXIoKS5mb3JtYXQoZSxpKX1mb3JtYXRQcmljZUFic29sdXRlKGUsdCl7cmV0dXJuIHRoaXMuX21haW5Tb3VyY2VGb3JtYXR0ZXIoKS5mb3JtYXQoZSx0KX1mb3JtYXRQcmljZVBlcmNlbnRhZ2UoZSx0LGkpe3JldHVybiBlPSgwLFRsLnRvUGVyY2VudCkoZSx0KSxXbC5mb3JtYXQoZSxpKX1mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChlLHQsaSl7Y29uc3Qgcz0oMCxUbC50b0luZGV4ZWRUbzEwMCkoZSx0KTtyZXR1cm4gdGhpcy5mb3JtYXR0ZXIoKS5mb3JtYXQocyxpKX1nZXRGb3JtYXR0ZWRWYWx1ZXMoZSx0LGkscyl7cz8/PXRoaXMuZm9ybWF0UHJpY2VBYnNvbHV0ZShlKTtjb25zdCBuPXRoaXMuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGUsdCx7c2lnblBvc2l0aXZlOml9KSxyPXRoaXMuZm9ybWF0UHJpY2VJbmRleGVkVG8xMDAoZSx0KTtyZXR1cm57Zm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTpzLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZTpuLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOnIsdGV4dDooMCxUbC5nZXRDdXJyZW50TW9kZVByaWNlVGV4dCkodGhpcyx7Zm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTpzLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZTpuLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOnJ9KX19cmVzZXRTY2FsZSgpe3RoaXMuc2V0TW9kZSh7YXV0b1NjYWxlOiEwfSl9cmVzZXRTY2FsZUF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9yZXNldFNjYWxlQXZhaWxhYmxlLnJlYWRvbmx5KCl9ZGF0YVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzfXByaWNlRGF0YVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fcHJpY2VEYXRhU291cmNlc31zZXJpZXNMaWtlU291cmNlcygpe3JldHVybiB0aGlzLl9zZXJpZXNMaWtlU291cmNlc31hZGREYXRhU291cmNlKGUsdCl7dGhpcy5fYWRkRGF0YVNvdXJjZUltcGwoZSx0KX1yZW1vdmVEYXRhU291cmNlKGUpewpjb25zdCB0PXRoaXMubV9kYXRhU291cmNlcy5pbmRleE9mKGUpO2lmKCgwLGwuYXNzZXJ0KSgtMSE9PXQsIlNvdXJjZSBpcyBub3QgYXR0YWNoZWQgdG8gc2NhbGUiKSx0aGlzLm1fZGF0YVNvdXJjZXMuc3BsaWNlKHQsMSksKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKXtjb25zdCB0PXRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuaW5kZXhPZihlKTtpZigoMCxsLmFzc2VydCkoLTEhPT10LCJTb3VyY2UgaXMgbm90IGZvdW5kIiksdGhpcy5fcHJpY2VEYXRhU291cmNlcy5zcGxpY2UodCwxKSxlLmN1cnJlbmN5T3JpZ2luU291cmNlKCkudW5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUuY3VycmVuY3lNZXRhZGF0YSgpLnVuc3Vic2NyaWJlKHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLnVuaXRPcmlnaW5Tb3VyY2UoKS51bnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS51bml0TWV0YWRhdGEoKS51bnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpKXtjb25zdCB0PXRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLmluZGV4T2YoZSk7KDAsbC5hc3NlcnQpKC0xIT09dCwiU291cmNlIGlzIG5vdCBmb3VuZCIpLHRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLnNwbGljZSh0LDEpLGUuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSwoMCxmbC5pc1NlcmllcykoZSkmJih0aGlzLl9oYXNTZXJpZXM9ITEpfWUuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfXRoaXMubWFpblNvdXJjZSgpfHx0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMH0pLCgwLHRpLmlzU3R1ZHkpKGUpJiYoZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLm9uSGliZXJuYXRpb25TdGF0ZUNoYW5nZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSx0aGlzLl9zdHVkaWVzQ291bnQtLSwwPT09dGhpcy5fc3R1ZGllc0NvdW50JiYoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpKSwoMCxyaS5pc0xpbmVUb29sKShlKSYmKHRoaXMuX2RyYXdpbmdDb3VudC0tLDA9PT10aGlzLl9kcmF3aW5nQ291bnQmJigwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpKTtjb25zdCBpPXRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5pbmRleE9mKGUpOy0xIT09aSYmKHRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5zcGxpY2UoaSwxKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VWaXNpYmlsaXR5Q2hhbmdlZCkpLGU9PT10aGlzLl9tYWluU291cmNlJiYodGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlPW51bGwsdGhpcy5faW50ZXJuYWxIZWlnaHRDYWNoZT1udWxsLHRoaXMuX21hcmtzQ2FjaGU9bnVsbCksdGhpcy5fbWFpblNvdXJjZT1udWxsLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKCksdGhpcy51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLmludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0aGlzLl91cGRhdGVJc1Zpc2libGUoKSx0aGlzLl91cGRhdGVMb2dGb3JtdWxhKCksMD09PXRoaXMubV9kYXRhU291cmNlcy5sZW5ndGgmJnRoaXMuX2xhc3RTb3VyY2VSZW1vdmVkLmZpcmUoKX1yZXBsYWNlU291cmNlKGUsdCl7Y29uc3QgaT0oMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSk/dGhpcy5fcHJpY2VEYXRhU291cmNlcy5pbmRleE9mKGUpOnZvaWQgMDtyZXR1cm4gdGhpcy5fYWRkRGF0YVNvdXJjZUltcGwodCx2b2lkIDAsLTE9PT1pP3ZvaWQgMDppKSx0aGlzLnJlbW92ZURhdGFTb3VyY2UoZSksLTEhPT1pfWN1cnJlbmN5KGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUNhY2hlJiZlLnNpemUoKT09PXRoaXMuX2N1cnJlbmN5Q2FjaGUuYXZhaWxhYmxlQ3VycmVuY2llc0NvdW50KXJldHVybiB0aGlzLl9jdXJyZW5jeUNhY2hlLnZhbHVlO2xldCB0O2NvbnN0IGk9bmV3IFNldCxzPW5ldyBTZXQsbj1uZXcgU2V0LHI9bmV3IE1hcCxvPW5ldyBTZXQsYT10aGlzLl9wcmljZURhdGFTb3VyY2VzLmZpbHRlcih6bCk7bGV0IGwsYz0wPT09YS5sZW5ndGh8fGFbMF0ubW9kZWwoKS5yZWFkT25seSgpLGg9ITAsZD0wLHU9MDtmb3IoY29uc3QgdSBvZiBhKXtpZighdS5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPXUuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk7aWYoIWEpe3Q9bnVsbDticmVha31jb25zdHtvcmlnaW5hbEN1cnJlbmN5OnAsaXNDdXJyZW5jeUNvbnZlcnRpYmxlOl8sY3VycmVuY3lPcmlnaW5OYW1lOm0sYmFzZUN1cnJlbmN5OmcsY3VycmVudEN1cnJlbmN5OmZ9PWE7aWYobnVsbD09PXApe3Q9bnVsbDticmVha31yLnNldChwLGUuaXRlbShwKT8uY29kZT8/cCksci5zZXQoZixlLml0ZW0oZik/LmNvZGU/P2YpLG51bGwhPT1nJiZzLmFkZChnKSxoPWgmJnA9PT1mLG4uYWRkKGYpLGkuYWRkKHApLHZvaWQgMD09PWw/bD1mOm51bGwhPT1sJiZsIT09ZiYmKGw9bnVsbCksY3x8ZS5jb252ZXJ0aWJsZShmKSYmX3x8KGM9ITApLGQrPTEsby5hZGQobSl9aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5fcHJpY2VEYXRhU291cmNlcy5maWx0ZXIoVWwpO2Zvcihjb25zdCBzIG9mIGkpe2lmKCFzLmlzQ3VycmVuY3lTb3VyY2UoKXx8IXMuaXNWaXNpYmxlKCl8fHMuaXNGYWlsZWQoKSljb250aW51ZTtjb25zdCBpPXMuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk7aWYoIWkpe3Q9bnVsbDticmVha31jb25zdCBvPWkuY3VycmVudEN1cnJlbmN5O24uYWRkKG8pLHUrPTE7Y29uc3R7aXNDdXJyZW5jeUNvbnZlcnRpYmxlOmh9PWk7Y3x8ZS5jb252ZXJ0aWJsZShvKSYmaHx8KGM9ITApLApyLnNldChvLGUuaXRlbShvKT8uY29kZT8/byk7Y29uc3QgZD1zLmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKTtpZihhLmluY2x1ZGVzKGQpfHwoYz0hMCksdm9pZCAwPT09bClsPW87ZWxzZSBpZihudWxsIT09bCYmbCE9PW8pe2w9bnVsbDticmVha319fXJldHVybiB2b2lkIDA9PT10JiYodD0wPT09ZCYmMD09PXU/bnVsbDp7cmVhZE9ubHk6YyxzZWxlY3RlZEN1cnJlbmN5Omx8fG51bGwsY3VycmVuY2llczpuLG9yaWdpbmFsQ3VycmVuY2llczppLGJhc2VDdXJyZW5jaWVzOnMsb3JpZ2luU291cmNlc0NvdW50OmQsYWxsQ3VycmVuY2llc0FyZU9yaWdpbmFsOmgsZGlzcGxheWVkVmFsdWVzOnIsc3ltYm9sczpvfSksdGhpcy5fY3VycmVuY3lDYWNoZT17dmFsdWU6dCxhdmFpbGFibGVDdXJyZW5jaWVzQ291bnQ6ZS5zaXplKCl9LHR9dW5pdChlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtpZihudWxsIT09dGhpcy5fdW5pdENhY2hlJiZlLnNpemUoKT09PXRoaXMuX3VuaXRDYWNoZS5hdmFpbGFibGVVbml0c0NvdW50KXJldHVybiB0aGlzLl91bml0Q2FjaGUudmFsdWU7bGV0IHQ7Y29uc3QgaT1uZXcgU2V0LHM9bmV3IFNldCxuPW5ldyBNYXAscj1uZXcgTWFwLG89bmV3IFNldCxhPXRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuZmlsdGVyKEdsKTtsZXQgbCxjPTA9PT1hLmxlbmd0aHx8YVswXS5tb2RlbCgpLnJlYWRPbmx5KCk/bmV3IFNldDplLmFsbEdyb3VwcygpLGg9ITAsZD0wLHU9MDtmb3IoY29uc3QgdSBvZiBhKXtpZighdS5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPXUudW5pdE1ldGFkYXRhKCkudmFsdWUoKTtpZighYSl7dD1udWxsO2JyZWFrfWNvbnN0e3VuaXRPcmlnaW5OYW1lOnAsY29udmVydGlibGVHcm91cHM6XyxvcmlnaW5hbFVuaXQ6bSxjdXJyZW50VW5pdDpmfT1hO2lmKG51bGw9PT1tKXt0PW51bGw7YnJlYWt9bi5zZXQobSxlLm5hbWUobSkpLHIuc2V0KG0sZS5kZXNjcmlwdGlvbihtKSksbi5zZXQoZixlLm5hbWUoZikpLHIuc2V0KGYsZS5kZXNjcmlwdGlvbihmKSksaD1oJiZtPT09ZixzLmFkZChmKSxpLmFkZChtKSx2b2lkIDA9PT1sP2w9ZjpudWxsIT09bCYmbCE9PWYmJihsPW51bGwpLGMuc2l6ZT4wJiYoYz0oMCxnLmludGVyc2VjdCkoYyxuZXcgU2V0KF8pKSksZCs9MSxvLmFkZChwKX1pZihudWxsIT09dCl7Y29uc3QgaT10aGlzLl9wcmljZURhdGFTb3VyY2VzLmZpbHRlcihqbCk7Zm9yKGNvbnN0IG8gb2YgaSl7aWYoIW8uaXNVbml0U291cmNlKCl8fCFvLmlzVmlzaWJsZSgpfHxvLmlzRmFpbGVkKCkpY29udGludWU7Y29uc3QgaT1vLnVuaXRNZXRhZGF0YSgpLnZhbHVlKCk7aWYobnVsbD09PWkpe3Q9bnVsbDticmVha31jb25zdCBoPWkuY3VycmVudFVuaXQ7cy5hZGQoaCksdSs9MSxjLnNpemU+MCYmKGM9KDAsZy5pbnRlcnNlY3QpKGMsbmV3IFNldChpLmNvbnZlcnRpYmxlR3JvdXBzKSkpLG4uc2V0KGgsZS5uYW1lKGgpKSxyLnNldChoLGUuZGVzY3JpcHRpb24oaCkpO2NvbnN0IGQ9by51bml0T3JpZ2luU291cmNlKCkudmFsdWUoKTtpZihhLmluY2x1ZGVzKGQpfHwoYz1uZXcgU2V0KSx2b2lkIDA9PT1sKWw9aDtlbHNlIGlmKG51bGwhPT1sJiZsIT09aCl7bD1udWxsO2JyZWFrfX19aWYodm9pZCAwPT09dClpZigwPT09ZCYmMD09PXUpdD1udWxsO2Vsc2V7dD17YXZhaWxhYmxlR3JvdXBzOmMsc2VsZWN0ZWRVbml0Omx8fG51bGwsdW5pdHM6cyxvcmlnaW5hbFVuaXRzOmksc3ltYm9sU291cmNlQ291bnQ6ZCxhbGxVbml0c0FyZU9yaWdpbmFsOmgsbmFtZXM6bixkZXNjcmlwdGlvbnM6cixzeW1ib2xzOm99fXJldHVybiB0aGlzLl91bml0Q2FjaGU9e3ZhbHVlOnQsYXZhaWxhYmxlVW5pdHNDb3VudDplLnNpemUoKX0sdH1tZXRyaWMoZSl7aWYoIWUuaXNSZWFkeSgpKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9tZXRyaWNDYWNoZSYmZS5zaXplKCk9PT10aGlzLl9tZXRyaWNDYWNoZS5hdmFpbGFibGVNZXRyaWNzQ291bnQpcmV0dXJuIHRoaXMuX21ldHJpY0NhY2hlLnZhbHVlO2xldCB0O2NvbnN0IGk9bmV3IFNldCxzPW5ldyBNYXAsbj1uZXcgU2V0O2xldCByLG89MD09PXRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLmxlbmd0aHx8dGhpcy5fc2VyaWVzTGlrZVNvdXJjZXNbMF0ubW9kZWwoKS5yZWFkT25seSgpLGE9MCxjPTA7Y29uc3QgaD10aGlzLl9zZXJpZXNMaWtlU291cmNlcztmb3IoY29uc3QgbCBvZiBoKXtpZighbC5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBjPWwuc3ltYm9sSW5mbygpO2lmKG51bGw9PT1jKXt0PW51bGw7YnJlYWt9Y29uc3QgaD1sLm1ldHJpYygpO2lmKG51bGw9PT1oKXt0PW51bGw7YnJlYWt9cy5zZXQoaCxlLm5hbWUoaCkpLGkuYWRkKGgpLHZvaWQgMD09PXI/cj1oOm51bGwhPT1yJiZyIT09aCYmKHI9bnVsbCksb3x8ZS5jb252ZXJ0aWJsZShoKXx8KG89ITApLGErPTEsbi5hZGQoKDAsQS5wcm9TeW1ib2wpKGMsbC5zeW1ib2woKSkpfWlmKG51bGwhPT10KWZvcihjb25zdCBuIG9mIHRoaXMuX3ByaWNlRGF0YVNvdXJjZXMpe2lmKGguaW5jbHVkZXMobikpY29udGludWU7Y29uc3QgYT1uO2lmKCFhLmlzTWV0cmljU291cmNlKCl8fCFhLmlzVmlzaWJsZSgpfHxhLmlzRmFpbGVkKCkpY29udGludWU7Y29uc3QgZD1hLm1ldHJpYygpO2lmKG51bGw9PT1kKXt0PW51bGw7YnJlYWt9aS5hZGQoZCksYys9MTtjb25zdCB1PSgwLGwuZW5zdXJlTm90TnVsbCkoYS5zeW1ib2xTb3VyY2UoKSk7aWYobnVsbD09PWEuY3VycmVuY3lTb3VyY2VTeW1ib2xJbmZvKCkpe3Q9bnVsbDticmVha31pZihvfHxlLmNvbnZlcnRpYmxlKGQpfHwobz0hMCkscy5zZXQoZCxlLm5hbWUoZCkpLGguaW5jbHVkZXModSl8fChvPSEwKSx2b2lkIDA9PT1yKXI9ZDtlbHNlIGlmKG51bGwhPT1yJiZyIT09ZCl7cj1udWxsO2JyZWFrfX1yZXR1cm4gdm9pZCAwPT09dCYmKHQ9MD09PWEmJjA9PT1jP251bGw6e3JlYWRPbmx5Om8sc2VsZWN0ZWRNZXRyaWNJZDpyfHxudWxsLG1ldHJpY3M6aSxuYW1lczpzfSksdGhpcy5fbWV0cmljQ2FjaGU9e3ZhbHVlOnQsYXZhaWxhYmxlTWV0cmljc0NvdW50OmUuc2l6ZSgpfSx0fW1lYXN1cmVVbml0SWQoZSl7CmlmKG51bGw9PT1lKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9tZWFzdXJlVW5pdElkQ2FjaGUmJmUuc2l6ZSgpPT09dGhpcy5fbWVhc3VyZVVuaXRJZENhY2hlLmF2YWlsYWJsZVVuaXRzQ291bnQpcmV0dXJuIHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZS52YWx1ZTtsZXQgdCxpO2NvbnN0IHM9bmV3IE1hcCxuPW5ldyBNYXAscj1uZXcgU2V0O2xldCBvPTA7Y29uc3QgYT10aGlzLl9zZXJpZXNMaWtlU291cmNlcztmb3IoY29uc3QgbCBvZiBhKXtpZighbC5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPWwubWVhc3VyZVVuaXRJZCgpO2lmKG51bGw9PT1hKXt0PW51bGw7YnJlYWt9ci5hZGQoYSkscy5zZXQoYSxlLm5hbWUoYSkpLG4uc2V0KGEsZS5kZXNjcmlwdGlvbihhKSksdm9pZCAwPT09aT9pPWE6bnVsbCE9PWkmJmkhPT1hJiYoaT1udWxsKSxvKz0xfXJldHVybiB2b2lkIDA9PT10JiYodD0wPT09bz9udWxsOntzZWxlY3RlZE1lYXN1cmVVbml0SWQ6aXx8bnVsbCxtZWFzdXJlVW5pdElkczpyLG5hbWVzOnMsZGVzY3JpcHRpb25zOm4sc3ltYm9sU291cmNlQ291bnQ6b30pLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT17dmFsdWU6dCxhdmFpbGFibGVVbml0c0NvdW50OmUuc2l6ZSgpfSx0fXNldE1hcmdpbnMoZSl7aWYoISgwLGEuaXNOdW1iZXIpKGUudG9wKXx8ISgwLGEuaXNOdW1iZXIpKGUuYm90dG9tKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIG1hcmdpbiIpO2lmKGUudG9wPDB8fGUudG9wPjMwfHxlLmJvdHRvbTwwfHxlLmJvdHRvbT4zMCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiaW52YWxpZCBtYXJnaW4iKTt0aGlzLl9tYXJnaW5zLnRvcD09PWUudG9wJiZ0aGlzLl9tYXJnaW5zLmJvdHRvbT09PWUuYm90dG9tfHwodGhpcy5fbWFyZ2lucz1lLHRoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsLHRoaXMuX2ludmFsaWRhdGVJbnRlcm5hbEhlaWdodENhY2hlKCksdGhpcy5fbWFya3NDYWNoZT1udWxsKX10b3BNYXJnaW4oKXtyZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2lucygpLnRvcH1ib3R0b21NYXJnaW4oKXtyZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2lucygpLmJvdHRvbX1pbnZhbGlkYXRlTWFyZ2lucygpe3RoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsfXRvcFBpeGVsTWFyZ2luKCl7cmV0dXJuIHRoaXMuaXNJbnZlcnRlZCgpP3RoaXMuYm90dG9tTWFyZ2luKCkqdGhpcy5oZWlnaHQoKSt0aGlzLl9ib3R0b21QaXhlbE1hcmdpbjp0aGlzLnRvcE1hcmdpbigpKnRoaXMuaGVpZ2h0KCkrdGhpcy5fdG9wUGl4ZWxNYXJnaW59Ym90dG9tUGl4ZWxNYXJnaW4oKXtyZXR1cm4gdGhpcy5pc0ludmVydGVkKCk/dGhpcy50b3BNYXJnaW4oKSp0aGlzLmhlaWdodCgpK3RoaXMuX3RvcFBpeGVsTWFyZ2luOnRoaXMuYm90dG9tTWFyZ2luKCkqdGhpcy5oZWlnaHQoKSt0aGlzLl9ib3R0b21QaXhlbE1hcmdpbn1tYXJrcygpe3JldHVybiB0aGlzLmlzRW1wdHkoKT8odGhpcy5fbWFya3NDYWNoZT1udWxsLFtdKToobnVsbD09PXRoaXMuX21hcmtzQ2FjaGUmJih0aGlzLl9tYXJrQnVpbGRlci5yZWJ1aWxkVGlja01hcmtzKCksdGhpcy5fbWFya3NDYWNoZT10aGlzLl9tYXJrQnVpbGRlci5tYXJrcygpLHRoaXMuX29uTWFya3NDaGFuZ2VkLmZpcmUoKSksdGhpcy5fbWFya3NDYWNoZSl9b25NYXJrc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25NYXJrc0NoYW5nZWR9cHJpY2VSYW5nZUluUHJpY2UoKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpPy5maXJzdFZhbHVlKCk/P251bGw7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLmhlaWdodCgpO3JldHVybntmcm9tOnRoaXMuY29vcmRpbmF0ZVRvUHJpY2UodC0xLGUpLHRvOnRoaXMuY29vcmRpbmF0ZVRvUHJpY2UoMCxlKX19c2V0UHJpY2VSYW5nZUluUHJpY2UoZSl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpKXJldHVybjtjb25zdCB0PXRoaXMuaXNJbnZlcnRlZCgpLGk9dD90aGlzLmJvdHRvbU1hcmdpbigpOnRoaXMudG9wTWFyZ2luKCkscz10P3RoaXMudG9wTWFyZ2luKCk6dGhpcy5ib3R0b21NYXJnaW4oKSxuPXRoaXMuaXNMb2coKTtsZXQgcj1uPygwLFRsLnRvTG9nKShlLmZyb20sdGhpcy5fbG9nRm9ybXVsYSk6ZS5mcm9tLG89bj8oMCxUbC50b0xvZykoZS50byx0aGlzLl9sb2dGb3JtdWxhKTplLnRvO2NvbnN0IGE9by1yO3IrPXMqYSxvLT1pKmEsdGhpcy5zZXRNb2RlKHthdXRvU2NhbGU6ITF9KSx0aGlzLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UocixvKSksdGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX29uTWFya3NDaGFuZ2VkLmZpcmUoKX1oYXNNYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX2hhc1Nlcmllc31nZXRTdHVkaWVzKCl7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZXMoKS5maWx0ZXIodGkuaXNTdHVkeSl9bGFzdFNvdXJjZVJlbW92ZWQoKXtyZXR1cm4gdGhpcy5fbGFzdFNvdXJjZVJlbW92ZWR9c291cmNlc0ZvckF1dG9zY2FsZSgpe3JldHVybiB0aGlzLl9tYWluU291cmNlJiZ0aGlzLl9zY2FsZVNlcmllc09ubHkhPT10aGlzLl9zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNjYWxlU2VyaWVzT25seS52YWx1ZSgpJiYodGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZT1udWxsKSx0aGlzLl9zb3VyY2VzRm9yQXV0b3NjYWxlfHwodGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZT10aGlzLl9yZWNhbGN1bGF0ZVNvdXJjZXNGb3JBdXRvc2NhbGUoKSksdGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZX1yZWNhbGN1bGF0ZVByaWNlUmFuZ2UoZSx0KXt0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlPXt2aXNpYmxlQmFyczplLGxvZ2ljYWxSYW5nZTp0LGlzVmFsaWQ6ITF9fWludGVybmFsSGVpZ2h0Q2hhbmdlZCgpe3JldHVybiB0aGlzLl9pbnRlcm5hbEhlaWdodENoYW5nZWR9b3JkZXJlZFNvdXJjZXMoKXtpZih0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcylyZXR1cm4gdGhpcy5fY2FjaGVkT3JkZXJlZFNvcnVjZXM7bGV0IGU9dGhpcy5tX2RhdGFTb3VyY2VzLnNsaWNlKCkKO3JldHVybiBlPWUuZmlsdGVyKChlPT4hc2koZSkpKSxlPSgwLGRyLnNvcnRTb3VyY2VzKShlKSx0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcz1lLHRoaXMuX2NhY2hlZE9yZGVyZWRTb3J1Y2VzfWludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKXt0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcz1udWxsLHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPW51bGx9c3RhcnRTY2FsZShlKXt0aGlzLmlzRW1wdHkoKXx8dGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50fHxudWxsIT09dGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90fHwodGhpcy5fc2NhbGVTdGFydFBvaW50PXRoaXMubV9oZWlnaHQtZSx0aGlzLl9wcmljZVJhbmdlU25hcHNob3Q9dGhpcy5wcmljZVJhbmdlKCk/LmNsb25lKCk/P251bGwpfXNjYWxlVG8oZSl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsPT09dGhpcy5fc2NhbGVTdGFydFBvaW50KXJldHVybjt0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMX0pLChlPXRoaXMubV9oZWlnaHQtZSk8MCYmKGU9MCk7bGV0IHQ9KHRoaXMuX3NjYWxlU3RhcnRQb2ludCsuMioodGhpcy5tX2hlaWdodC0xKSkvKGUrLjIqKHRoaXMubV9oZWlnaHQtMSkpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZVJhbmdlU25hcHNob3QpLmNsb25lKCk7dD1NYXRoLm1heCh0LC4xKSxpLnNjYWxlQXJvdW5kQ2VudGVyKHQpLHRoaXMuc2V0UHJpY2VSYW5nZShpKX1lbmRTY2FsZSgpe3RoaXMuaXNQZXJjZW50YWdlKCl8fHRoaXMuaXNJbmRleGVkVG8xMDAoKXx8bnVsbCE9PXRoaXMuX3NjYWxlU3RhcnRQb2ludCYmKHRoaXMuX3NjYWxlU3RhcnRQb2ludD1udWxsLHRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdD1udWxsKX1zdGFydFR3b1BvaW50c1NjYWxlKGUsdCl7aWYodGhpcy5pc0VtcHR5KCl8fHRoaXMuaXNQZXJjZW50YWdlKCl8fHRoaXMuaXNJbmRleGVkVG8xMDAoKXx8bnVsbCE9PXRoaXMuX3R3b1BvaW50c1NjYWxlU3RhcnRQb3NpdGlvbilyZXR1cm47Y29uc3QgaT1NYXRoLm1pbihlLHQpLHM9TWF0aC5tYXgoZSx0KTt0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249e3RvcExvZ2ljYWw6dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbChpKSxib3R0b21Mb2dpY2FsOnRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWwocyl9fXR3b1BvaW50c1NjYWxlKGUsdCl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsPT09dGhpcy5fdHdvUG9pbnRzU2NhbGVTdGFydFBvc2l0aW9uKXJldHVybjt0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMX0pO2NvbnN0IGk9TWF0aC5taW4oZSx0KSxzPU1hdGgubWF4KGUsdCkse3RvcExvZ2ljYWw6bixib3R0b21Mb2dpY2FsOnJ9PXRoaXMuX3R3b1BvaW50c1NjYWxlU3RhcnRQb3NpdGlvbixvPXRoaXMuYm90dG9tUGl4ZWxNYXJnaW4oKSxhPXRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xLGw9KHRoaXMuX2ludmVydGVkQ29vcmRpbmF0ZShpKS1vKS9hLGM9KHItbikvKCh0aGlzLl9pbnZlcnRlZENvb3JkaW5hdGUocyktbykvYS1sKTtpZighTnVtYmVyLmlzRmluaXRlKGMpKXJldHVybjtjb25zdCBoPW4tYypsLGQ9aCtjO3RoaXMuc2V0UHJpY2VSYW5nZShuZXcgUGwuUHJpY2VSYW5nZSh0aGlzLnByaWNlVG9Mb2dpY2FsKGgpLHRoaXMucHJpY2VUb0xvZ2ljYWwoZCkpKX1pc0JlaW5nU2NhbGVkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9zY2FsZVN0YXJ0UG9pbnR8fG51bGwhPT10aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb259ZW5kVHdvUG9pbnRzU2NhbGUoKXt0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249bnVsbH1zdGFydFNjcm9sbChlKXt0aGlzLmlzQXV0b1NjYWxlKCl8fG51bGw9PT10aGlzLl9zY3JvbGxTdGFydFBvaW50JiZudWxsPT09dGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90JiYodGhpcy5pc0VtcHR5KCl8fCh0aGlzLl9zY3JvbGxTdGFydFBvaW50PWUsdGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90PXRoaXMucHJpY2VSYW5nZSgpPy5jbG9uZSgpPz9udWxsKSl9c2Nyb2xsVG8oZSl7aWYodGhpcy5pc0F1dG9TY2FsZSgpKXJldHVybjtpZihudWxsPT09dGhpcy5fc2Nyb2xsU3RhcnRQb2ludHx8bnVsbD09PXRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdClyZXR1cm47Y29uc3QgdD10aGlzLnByaWNlUmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm47bGV0IGk9ZS10aGlzLl9zY3JvbGxTdGFydFBvaW50O3RoaXMuaXNJbnZlcnRlZCgpJiYoaSo9LTEpO2NvbnN0IHM9aSoodC5sZW5ndGgoKS8odGhpcy5pbnRlcm5hbEhlaWdodCgpLTEpKSxuPXRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdC5jbG9uZSgpO24uc2hpZnQocyksdGhpcy5zZXRQcmljZVJhbmdlKG4sITApLHRoaXMuX21hcmtzQ2FjaGU9bnVsbH1lbmRTY3JvbGwoKXt0aGlzLmlzQXV0b1NjYWxlKCl8fG51bGwhPT10aGlzLl9zY3JvbGxTdGFydFBvaW50JiYodGhpcy5fc2Nyb2xsU3RhcnRQb2ludD1udWxsLHRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdD1udWxsKX1jbGVhclByaWNlUmFuZ2UoKXt0aGlzLl9wcmljZVJhbmdlPW51bGwsdGhpcy5yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlKCl9aXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzVmlzaWJsZX1fYWRkRGF0YVNvdXJjZUltcGwoZSx0LGkpe2lmKHR8fC0xPT09dGhpcy5tX2RhdGFTb3VyY2VzLmluZGV4T2YoZSkpe2lmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSl7aWYodm9pZCAwPT09aT90aGlzLl9wcmljZURhdGFTb3VyY2VzLnB1c2goZSk6dGhpcy5fcHJpY2VEYXRhU291cmNlcy5zcGxpY2UoaSwwLGUpLGUuY3VycmVuY3lDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9jdXJyZW5jeUNhY2hlPW51bGwpKSxlLnVuaXRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl91bml0Q2FjaGU9bnVsbCkpLGUubWV0cmljQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fbWV0cmljQ2FjaGU9bnVsbCkpLAplLmN1cnJlbmN5T3JpZ2luU291cmNlKCkuc3Vic2NyaWJlKHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLmN1cnJlbmN5TWV0YWRhdGEoKS5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUudW5pdE9yaWdpblNvdXJjZSgpLnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS51bml0TWV0YWRhdGEoKS5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLCgwLElvLmlzU3ltYm9sU291cmNlKShlKSYmKHRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLnB1c2goZSksZS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX2N1cnJlbmN5Q2FjaGU9bnVsbCx0aGlzLl91bml0Q2FjaGU9bnVsbCx0aGlzLl9tZXRyaWNDYWNoZT1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT1udWxsLHRoaXMuX3VwZGF0ZUxvZ0Zvcm11bGEoKX0pKSwoMCxmbC5pc1NlcmllcykoZSkpKXtjb25zdCB0PWUucHJvcGVydGllcygpO3RoaXMuX2hhc1Nlcmllc3x8KHQuY2hpbGRzKCkubG9ja1NjYWxlJiYodGhpcy5zZXRNb2RlKHtsb2NrU2NhbGU6dC5jaGlsZHMoKS5sb2NrU2NhbGUudmFsdWUoKX0pLHQucmVtb3ZlUHJvcGVydHkoImxvY2tTY2FsZSIpKSx0LmNoaWxkcygpLnBuZlN0eWxlLmhhc0NoaWxkKCJsb2NrU2NhbGUiKSYmdC5jaGlsZHMoKS5wbmZTdHlsZS5yZW1vdmVQcm9wZXJ0eSgibG9ja1NjYWxlIikpLHRoaXMuX2hhc1Nlcmllcz0hMH1lLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKXx8KHRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5wdXNoKGUpLGUucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VWaXNpYmlsaXR5Q2hhbmdlZCkpfSgwLHRpLmlzU3R1ZHkpKGUpJiYoZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS5vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSwwPT09dGhpcy5fc3R1ZGllc0NvdW50JiYoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSx0aGlzLl9zdHVkaWVzQ291bnQrKyksKDAscmkuaXNMaW5lVG9vbCkoZSkmJigwPT09dGhpcy5fZHJhd2luZ0NvdW50JiYoMCxULmhpZGVBbGxEcmF3aW5ncykoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksdGhpcy5fZHJhd2luZ0NvdW50KyspLHRoaXMubV9kYXRhU291cmNlcy5wdXNoKGUpLHRoaXMuX21haW5Tb3VyY2U9bnVsbCx0aGlzLm1haW5Tb3VyY2UoKT09PWUmJih0aGlzLl9jb3JyZWN0ZWRNYXJnaW5zQ2FjaGU9bnVsbCx0aGlzLl9pbnRlcm5hbEhlaWdodENhY2hlPW51bGwsdGhpcy5fbWFya3NDYWNoZT1udWxsKSx0aGlzLl9kcm9wU2NhbGVDYWNoZSgpLHRoaXMudXBkYXRlRm9ybWF0dGVyKCksdGhpcy5faW5pdFNjYWxlUHJvcGVydGllcygpLHRoaXMuaW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpLHRoaXMuX3VwZGF0ZUlzVmlzaWJsZSgpLHRoaXMuX3VwZGF0ZUxvZ0Zvcm11bGEoKX19X3JlY2FsY3VsYXRlU291cmNlc0ZvckF1dG9zY2FsZSgpe3RoaXMuX21haW5Tb3VyY2UmJih0aGlzLl9zY2FsZVNlcmllc09ubHk9dGhpcy5fc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZVNlcmllc09ubHkudmFsdWUoKSk7Y29uc3QgZT10aGlzLl9zY2FsZVNlcmllc09ubHkmJnRoaXMuX2hhc1NlcmllcztyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzLmZpbHRlcigodD0+ISghdC5wcm9wZXJ0aWVzKCkudmlzaWJsZS52YWx1ZSgpJiYhKDAsZmwuaXNTZXJpZXMpKHQpKSYmKGU/KDAsZmwuaXNTZXJpZXMpKHQpOigwLHRpLmlzU3R1ZHkpKHQpPyF0LmlzU291cmNlSGlkZGVuKCkmJnQuaXNJbmNsdWRlZEluQXV0b1NjYWxlKCk6dC5pc0luY2x1ZGVkSW5BdXRvU2NhbGUoKSkpKX1fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eShlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCksaT10LmluZGV4ZWRUbzEwMC52YWx1ZSgpfHx0LnBlcmNlbnRhZ2UudmFsdWUoKXx8dC5sb2NrU2NhbGUudmFsdWUoKTtlP3QuYXV0b1NjYWxlRGlzYWJsZWQuc2V0VmFsdWVTaWxlbnRseShpKTp0LmF1dG9TY2FsZURpc2FibGVkLnNldFZhbHVlKGkpfV9zZXRBdXRvU2NhbGVWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTt0LmF1dG9TY2FsZS5zZXRWYWx1ZVNpbGVudGx5KGUpLGUmJih0LnBlcmNlbnRhZ2Uuc2V0VmFsdWVTaWxlbnRseSghMSksdC5pbmRleGVkVG8xMDAuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZVNpbGVudGx5KCExKSksdGhpcy5fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eSghMCl9X3NldExvY2tTY2FsZVZhbHVlV2l0aERlcGVuZGVudFByb3BlcnRpZXMoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3QubG9ja1NjYWxlLnNldFZhbHVlU2lsZW50bHkoZSksZSYmKHQuYXV0b1NjYWxlLnNldFZhbHVlU2lsZW50bHkoITEpLHQucGVyY2VudGFnZS5zZXRWYWx1ZVNpbGVudGx5KCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZVNpbGVudGx5KCExKSx0LmxvZy5zZXRWYWx1ZVNpbGVudGx5KCExKSksdC5wZXJjZW50YWdlRGlzYWJsZWQuc2V0VmFsdWVTaWxlbnRseShlKSx0LmxvZ0Rpc2FibGVkLnNldFZhbHVlU2lsZW50bHkoZSksdGhpcy5fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eSghMCl9X3NldFBlcmNlbnRhZ2VWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTt0LnBlcmNlbnRhZ2Uuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5hdXRvU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMCksCnQubG9nLnNldFZhbHVlU2lsZW50bHkoITEpLHQubG9ja1NjYWxlLnNldFZhbHVlU2lsZW50bHkoITEpLHQuaW5kZXhlZFRvMTAwLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fc2V0SW5kZXhlZFRvMTAwVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7dC5pbmRleGVkVG8xMDAuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5hdXRvU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMCksdC5sb2cuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fc2V0TG9nVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7dC5sb2cuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlU2lsZW50bHkoITEpLHQuaW5kZXhlZFRvMTAwLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fcmVjYWxjdWxhdGVQcmljZVJhbmdlSW1wbCgpe2NvbnN0IGU9dGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZS52aXNpYmxlQmFycyx0PXRoaXMuX2ludmFsaWRhdGVkRm9yUmFuZ2UubG9naWNhbFJhbmdlO2lmKG51bGw9PT1lfHxudWxsPT09dClyZXR1cm47bGV0IGk9bnVsbDtjb25zdCBzPXRoaXMuc291cmNlc0ZvckF1dG9zY2FsZSgpLG49dGhpcy5pc1BlcmNlbnRhZ2UoKSxyPXRoaXMuaXNJbmRleGVkVG8xMDAoKTtsZXQgbz0wLGE9MDtjb25zdCBsPXtzdGFydFRpbWVQb2ludDplLmZpcnN0QmFyKCksZW5kVGltZVBvaW50OmUubGFzdEJhcigpLGxvZ2ljU3RhcnRQb2ludDp0LmxlZnQoKSxsb2dpY0VuZFBvaW50OnQucmlnaHQoKSx0YXJnZXRQcmljZVNjYWxlOnRoaXMsc2NhbGVTZXJpZXNPbmx5OnRoaXMuX3NjYWxlU2VyaWVzT25seX07Zm9yKGNvbnN0IGUgb2Ygcyl7aWYoIWUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKSljb250aW51ZTtjb25zdCB0PWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT10fHxuJiYwPT09dCljb250aW51ZTtjb25zdCBzPWUuYXV0b1NjYWxlSW5mbyhsKTtsZXQgYz1zLnJhbmdlO2MmJihuP2M9KDAsVGwudG9QZXJjZW50UmFuZ2UpKGMsdCk6ciYmKGM9KDAsVGwudG9JbmRleGVkVG8xMDBSYW5nZSkoYyx0KSksaT1udWxsPT09aT9jOmkubWVyZ2UoYykpLHZvaWQgMCE9PXMudG9wUGl4ZWxNYXJnaW4mJihvPU1hdGgubWF4KG8scy50b3BQaXhlbE1hcmdpbikpLHZvaWQgMCE9PXMuYm90dG9tUGl4ZWxNYXJnaW4mJihhPU1hdGgubWF4KGEscy5ib3R0b21QaXhlbE1hcmdpbikpfShNYXRoLmFicyhvLXRoaXMuX3RvcFBpeGVsTWFyZ2luKT4wfHxNYXRoLmFicyhhLXRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luKT4wKSYmKHRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luPWEsdGhpcy5fdG9wUGl4ZWxNYXJnaW49byx0aGlzLl9tYXJrc0NhY2hlPW51bGwsdGhpcy5faW52YWxpZGF0ZUludGVybmFsSGVpZ2h0Q2FjaGUoKSksaT8odGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ITAsaS5taW5WYWx1ZSgpPT09aS5tYXhWYWx1ZSgpJiYoaT1uZXcgUGwuUHJpY2VSYW5nZShpLm1pblZhbHVlKCktLjUsaS5tYXhWYWx1ZSgpKy41KSksdGhpcy5zZXRQcmljZVJhbmdlKGkpKTp0aGlzLl9wcmljZVJhbmdlfHx0aGlzLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UoLS41LC41KSksdGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZS5pc1ZhbGlkPSEwO2NvbnN0IGM9dGhpcy5tYWluU291cmNlKCk7bnVsbCE9PWMmJnRoaXMuX3JlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UmJih0aGlzLl9yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlPSFjLnByaWNlUmFuZ2VSZWFkeSgpKX1fbWFrZVN1cmVJdElzVmFsaWQoKXt0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWR8fCh0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWQ9ITAsdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlSW1wbCgpKX1faW52YWxpZGF0ZUludGVybmFsSGVpZ2h0Q2FjaGUoKXt0aGlzLl9pbnRlcm5hbEhlaWdodENhY2hlPW51bGwsdGhpcy5faW50ZXJuYWxIZWlnaHRDaGFuZ2VkLmZpcmUoKX1fY29vcmRpbmF0ZVRvTG9naWNhbChlKXtpZih0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpLHRoaXMuaXNFbXB0eSgpKXJldHVybiAwO2NvbnN0IHQ9dGhpcy5faW52ZXJ0ZWRDb29yZGluYXRlKGUpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSkscz1pLm1pblZhbHVlKCkrKGkubWF4VmFsdWUoKS1pLm1pblZhbHVlKCkpKigodC10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkpLyh0aGlzLmludGVybmFsSGVpZ2h0KCktMSkpO3JldHVybiB0aGlzLmxvZ2ljYWxUb1ByaWNlKHMpfV9sb2dpY2FsVG9Db29yZGluYXRlKGUpe2lmKHRoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCksdGhpcy5pc0VtcHR5KCkpcmV0dXJuIDA7ZT10aGlzLnByaWNlVG9Mb2dpY2FsKGUpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSksaT10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkrKHRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xKSooZS10Lm1pblZhbHVlKCkpLyh0Lm1heFZhbHVlKCktdC5taW5WYWx1ZSgpKTtyZXR1cm4gdGhpcy5faW52ZXJ0ZWRDb29yZGluYXRlKGkpfV9jb252ZXJ0UHJpY2VSYW5nZUZyb21Mb2coZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD0oMCxUbC5mcm9tTG9nKShlLm1pblZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSksaT0oMCxUbC5mcm9tTG9nKShlLm1heFZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSk7cmV0dXJuIG5ldyBQbC5QcmljZVJhbmdlKHQsaSl9X2NvbnZlcnRQcmljZVJhbmdlVG9Mb2coZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGwKO2NvbnN0IHQ9KDAsVGwudG9Mb2cpKGUubWluVmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKSxpPSgwLFRsLnRvTG9nKShlLm1heFZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSk7cmV0dXJuIG5ldyBQbC5QcmljZVJhbmdlKHQsaSl9X2NhbkNvbnZlcnRQcmljZVJhbmdlRnJvbUxvZyhlKXtpZihudWxsPT09ZSlyZXR1cm4hMTtjb25zdCB0PSgwLFRsLmZyb21Mb2cpKGUubWluVmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKSxpPSgwLFRsLmZyb21Mb2cpKGUubWF4VmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKTtyZXR1cm4gaXNGaW5pdGUodCkmJmlzRmluaXRlKGkpfV9vblNvdXJjZVZpc2liaWxpdHlDaGFuZ2VkKCl7dGhpcy5fZHJvcFNjYWxlQ2FjaGUoKSx0aGlzLl91cGRhdGVJc1Zpc2libGUoKX1fdXBkYXRlSXNWaXNpYmxlKCl7dGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKCEwKX1fdXBkYXRlTG9nRm9ybXVsYSgpe2NvbnN0IGU9dGhpcy5pc0xvZygpP3RoaXMuX2NvbnZlcnRQcmljZVJhbmdlRnJvbUxvZyh0aGlzLnByaWNlUmFuZ2UoKSk6bnVsbCx0PXRoaXMubWFpblNvdXJjZSgpO2lmKG51bGw9PT10KXRoaXMuX2xvZ0Zvcm11bGE9KDAsVGwubG9nRm9ybXVsYUZvckJhc2UpKG51bGwpO2Vsc2V7Y29uc3QgZT10LmJhc2UoKXx8bnVsbCxpPSgwLFRsLmxvZ0Zvcm11bGFGb3JCYXNlKShlKTsoMCxUbC5sb2dGb3JtdWxhc0FyZVNhbWUpKGksdGhpcy5fbG9nRm9ybXVsYSl8fCh0aGlzLl9sb2dGb3JtdWxhPWkpfWUmJnRoaXMuc2V0UHJpY2VSYW5nZSh0aGlzLl9jb252ZXJ0UHJpY2VSYW5nZVRvTG9nKGUpKX1faW52ZXJ0ZWRDb29yZGluYXRlKGUpe3JldHVybiB0aGlzLmlzSW52ZXJ0ZWQoKT9lOnRoaXMuaGVpZ2h0KCktMS1lfV9pbml0U2NhbGVQcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLmlzTG9ja1NjYWxlKCksdD10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtlJiYodC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZSghMSksdC5sb2cuc2V0VmFsdWUoITEpLHQuYXV0b1NjYWxlLnNldFZhbHVlKCExKSksdC5wZXJjZW50YWdlRGlzYWJsZWQuc2V0VmFsdWUoZSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZShlKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCExKSx0LnBlcmNlbnRhZ2UudmFsdWUoKSYmKHQubG9nLnNldFZhbHVlKCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZSghMSkpLHQuaW5kZXhlZFRvMTAwLnZhbHVlKCkmJih0LmxvZy5zZXRWYWx1ZSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSl9X2NvcnJlY3RlZE1hcmdpbnMoKXtpZihudWxsPT09dGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlKXtjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpO3RoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsIT09ZT9lLmNvcnJlY3RTY2FsZU1hcmdpbnModGhpcy5fbWFyZ2lucyk6dGhpcy5fbWFyZ2luc31yZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlfV9nZXRTb3VyY2VzVG9VcGRhdGVWaWV3cygpe3JldHVybiB0aGlzLl9zb3VyY2VzVG9VcGRhdGVWaWV3c3x8KHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPXRoaXMubV9kYXRhU291cmNlcy5maWx0ZXIoKGU9PiEoMCxyaS5pc0xpbmVUb29sKShlKXx8ZS5pc0FjdHVhbFN5bWJvbCgpJiZlLmlzQWN0dWFsQ3VycmVuY3koKSkpKSx0aGlzLl9zb3VyY2VzVG9VcGRhdGVWaWV3c31fbWFpblNvdXJjZUZvcm1hdHRlcigpe2NvbnN0IGU9dGhpcy5tYWluU291cmNlKCk7cmV0dXJuIGU/LmZvcm1hdHRlcigpfHxGbH1fcHJpY2VUb1BlcmNlbnRPckluZGV4ZWRUbzEwMElmTmVlZGVkKGUsdCl7cmV0dXJuIHRoaXMuaXNQZXJjZW50YWdlKCk/KDAsVGwudG9QZXJjZW50KShlLHQpOnRoaXMuaXNJbmRleGVkVG8xMDAoKT8oMCxUbC50b0luZGV4ZWRUbzEwMCkoZSx0KTplfV9vbklzSW52ZXJ0ZWRDaGFuZ2VkKCl7dGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX21hcmtCdWlsZGVyLnJlYnVpbGRUaWNrTWFya3MoKX1fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpe3RoaXMuX3Jlc2V0U2NhbGVBdmFpbGFibGUuc2V0VmFsdWUoIXRoaXMuaXNMb2NrU2NhbGUoKSYmIXRoaXMuaXNBdXRvU2NhbGUoKSl9fXZhciAkbD1pKDEwOTQyOSksWWw9aSg4Njc4MzEpLEtsPWkoODIwMTgwKSxYbD1pKDEzNjc5KSxabD1pKDUwOTYzKSxKbD1pKDQ3NzMpLFFsPWkoNzAxNTA2KSxlYz1pKDk1MDU1NCk7ZnVuY3Rpb24gdGMoZSl7ZS53aWNrVXBDb2xvcj1lLndpY2tVcENvbG9yPz9lLndpY2tDb2xvcixlLndpY2tEb3duQ29sb3I9ZS53aWNrRG93bkNvbG9yPz9lLndpY2tDb2xvcixkZWxldGUgZS53aWNrQ29sb3J9ZnVuY3Rpb24gaWMoZSl7ZSYmKGUuY29sb3JUeXBlPz89cGkuQ29sb3JUeXBlLlNvbGlkKX1mdW5jdGlvbiBzYyhlLHQsaSl7Y29uc3Qgcz1wYXJzZUludChlLnNsaWNlKDAsMikpLG49cGFyc2VJbnQoZS5zbGljZSgyKSkscj0oMCxvLmdldF9jYWwpKHQsMmUzLG8uSkFOVUFSWSwxLDAsMCwwKTsoMCxvLnNldF9obXMpKHIscyxuLDAsMCx0KTtjb25zdCBhPSgwLG8uY2FsX3RvX3V0YykodCxyLCEwKSxsPSgwLG8udXRjX3RvX2NhbCkoaSxhKTtyZXR1cm5gJHtsLmdldFVUQ0hvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9JHtsLmdldFVUQ01pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfWNvbnN0IG5jPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuUGFuZSIpO3ZhciByYztmdW5jdGlvbiBvYyhlLHQsaSl7ZS5zZXRNYXJnaW5zKHt0b3A6dCxib3R0b206aX0pfSFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFN0cmV0Y2hGYWN0b3I9MWUzXT0iRGVmYXVsdFN0cmV0Y2hGYWN0b3IiLGVbZS5MYXJnZVBhbmVTaXplUmF0aW89MV09IkxhcmdlUGFuZVNpemVSYXRpbyIsZVtlLk1lZGl1bVBhbmVTaXplUmF0aW89LjZdPSJNZWRpdW1QYW5lU2l6ZVJhdGlvIixlW2UuU21hbGxQYW5lU2l6ZVJhdGlvPS4zXT0iU21hbGxQYW5lU2l6ZVJhdGlvIixlW2UuVGlueVBhbmVTaXplUmF0aW89LjE1XT0iVGlueVBhbmVTaXplUmF0aW8ifShyY3x8KHJjPXt9KSkKO2NvbnN0IGFjPSJjaGFydC5wYW5lIjtjbGFzcyBsY3tjb25zdHJ1Y3RvcihlLHQsaSxzLG4pe3RoaXMubV9kYXRhU291cmNlcz1bXSx0aGlzLl9zb3VyY2VXYXRjaGVkVmFsdWVzU3Vic2NyaXB0aW9ucz1uZXcgTWFwLHRoaXMubV9tYWluRGF0YVNvdXJjZT1udWxsLHRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzPW5ldyBDbCh0aGlzKSx0aGlzLl9zb3VyY2VzQnlJZD1uZXcgTWFwLHRoaXMuX3ByaWNlU291cmNlc0J5SWQ9bmV3IE1hcCx0aGlzLl9zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zb3VyY2VzWk9yZGVyQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl90YWdzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zdHJldGNoRmFjdG9yPTFlMyx0aGlzLl9pc0luSW5zZXJ0TWFueURhdGFTb3VyY2VzU3RhdGU9ITEsdGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyPW51bGwsdGhpcy5fcmlnaHRQcmljZVNjYWxlcz1bXSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXM9W10sdGhpcy5fbG9ja2VkUHJpY2VTY2FsZT1udWxsLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89bnVsbCx0aGlzLl9vblByaWNlU2NhbGVzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9pc1JlY2FsY3VsYXRpbmdTY2FsZXM9ITEsdGhpcy5fcHJpY2VEYXRhU291cmNlcz1bXSx0aGlzLl9zeW1ib2xTb3VyY2VzPVtdLHRoaXMuX3N0dWR5U291cmNlcz1bXSx0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzPVtdLHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZT1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2J1bGtBY3Rpb25zPXthY3RpdmVDb3VudGVyOjB9LHRoaXMuX2hlaWdodD0wLHRoaXMuX3dpZHRoPTAsdGhpcy5fc2l6ZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3ByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2lzTWFpblBhbmU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9jb2xsYXBzZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlPW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVzdHJveWVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2V4ZWN1dGlvbnNQb3NpdGlvbkNvbnRyb2xsZXI9bnVsbCx0aGlzLl9zZXJpZXNEaXNwbGF5RXJyb3I9bnVsbCx0aGlzLl9vblByaWNlU2NhbGVJc1Zpc2libGVDaGFuZ2VkPSgpPT57dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfSx0aGlzLl9yZWNhbGNTeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmU9KCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9zeW1ib2xTb3VyY2VzKWlmKGUuc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkudmFsdWUoKSlyZXR1cm4gdm9pZCB0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITApO3RoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMSl9LHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9KCk9PnswPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcj90aGlzLl9zeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCk6dGhpcy5fYnVsa0FjdGlvbnMuc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9ITB9LHRoaXMuX29uU2VyaWVzRGlzcGxheUVycm9yPWU9Pnt9LHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZT0oKT0+e2NvbnN0IGU9ZT0+ZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkudmFsdWUoKSx0PXRoaXMuX2xlZnRQcmljZVNjYWxlcy5zb21lKGUpfHx0aGlzLl9yaWdodFByaWNlU2NhbGVzLnNvbWUoZSk7dGhpcy5fcmVzZXRQcmljZVNjYWxlc0F2YWlsYWJsZS5zZXRWYWx1ZSh0KX0sdGhpcy5fcHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5PSgwLGNsLmNyZWF0ZVByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneSkoaS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5TmFtZS52YWx1ZSgpKSx0aGlzLl9pZD1zPz8oMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fbW9kZT1uPz9NLlBhbmVNb2RlLlJlZ3VsYXIsdGhpcy5fdGltZVNjYWxlPWUsdGhpcy5tX21haW5EYXRhU291cmNlPW51bGwsdGhpcy5fcHJvcGVydGllcz10LHRoaXMuX21vZGVsPWksdGhpcy5fbWF4aW1pemVkPSgwLHUuY29tYmluZSkoKGU9PmU9PT10aGlzKSxpLm1heGltaXplZFBhbmUoKS5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9jb2xsYXBzaW5nQXZhaWxhYmxlPSgwLHUuY29tYmluZSkoKChlLHQpPT4hZSYmdCksdGhpcy5faXNNYWluUGFuZS53ZWFrUmVmZXJlbmNlKCksaS5wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSgpLndlYWtSZWZlcmVuY2UoKSksaS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5TmFtZS5zdWJzY3JpYmUobnVsbCwoZT0+e3RoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneT0oMCxjbC5jcmVhdGVQcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kpKGUudmFsdWUoKSksdGhpcy5fcHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5LmFwcGx5KHRoaXMpfSkpLHRoaXMuX3RpbWVTY2FsZS5iYXJTcGFjaW5nQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMubV9tYWluRGF0YVNvdXJjZT09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSYmdGhpcy5fcmVjYWxjdWxhdGVQcmljZVNjYWxlQnlTY2FsZVJhdGlvKHRoaXMubV9tYWluRGF0YVNvdXJjZS5wcmljZVNjYWxlKCkpfSkpLGkub25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKSwKaS5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSksdC5jaGlsZHMoKS50b3BNYXJnaW4uc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTWFyZ2lucyksdC5jaGlsZHMoKS5ib3R0b21NYXJnaW4uc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTWFyZ2lucyksdGhpcy5fbGluZVRvb2xzQnlMaW5rS2V5PW5ldyBobCgoZT0+ZS5saW5rS2V5KCkudmFsdWUoKSksKGU9PmUuaWQoKSkpLHRoaXMuX3VwZGF0ZU1hcmdpbnMoKX1kZXN0cm95KCl7aWYodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50b3BNYXJnaW4udW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5ib3R0b21NYXJnaW4udW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLmJhclNwYWNpbmdDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbGVmdFByaWNlU2NhbGVzLmNvbmNhdCh0aGlzLl9yaWdodFByaWNlU2NhbGVzKS5mb3JFYWNoKChlPT57ZS5tb2RlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmludGVybmFsSGVpZ2h0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuaXNWaXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fb25QcmljZVNjYWxlSXNWaXNpYmxlQ2hhbmdlZCksZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRQcmljZVNjYWxlc0F2YWlsYWJsZVZhbHVlKX0pKSx0aGlzLl9tb2RlPT09TS5QYW5lTW9kZS5SZWd1bGFyKWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcyl0aGlzLnJlbW92ZVNvdXJjZUZyb21QcmljZVNjYWxlKGUpLGUuZGVzdHJveSYmZS5kZXN0cm95KCk7dGhpcy5fc2VyaWVzRGlzcGxheUVycm9yPy5kZXN0cm95KCksdGhpcy5fbW9kZWwub25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWF4aW1pemVkLmRlc3Ryb3koKSx0aGlzLl9jb2xsYXBzaW5nQXZhaWxhYmxlLmRlc3Ryb3koKSx0aGlzLl9kZXN0cm95ZWQuZmlyZSgpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfW1vZGUoKXtyZXR1cm4gdGhpcy5fbW9kZX1idWxrQWN0aW9uTWFjcm8oZSl7dGhpcy5iZWdpbkJ1bGtBY3Rpb24oKSxlKCksdGhpcy5lbmRCdWxrQWN0aW9uKCl9YmVnaW5CdWxrQWN0aW9uKCl7dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcis9MX1lbmRCdWxrQWN0aW9uKCl7dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlci09MSx0aGlzLl9wcm9jZXNzQWZ0ZXJCdWxrQWN0aW9uKCl9ZGVmYXVsdFByaWNlU2NhbGUoKXtjb25zdCBlPXRoaXMubV9tYWluRGF0YVNvdXJjZT8ucHJpY2VTY2FsZSgpPz9udWxsO2lmKG51bGwhPT1lKXJldHVybiBlO2NvbnN0IHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYXhpc1Byb3BlcnRpZXMuc3RhdGUoKTtyZXR1cm4gdC5hdXRvU2NhbGU9ITAsbmV3IHFsKHRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLHQpfWxlZnRQcmljZVNjYWxlcygpe3JldHVybiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXN9cmlnaHRQcmljZVNjYWxlcygpe3JldHVybiB0aGlzLl9yaWdodFByaWNlU2NhbGVzfXZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKXtjb25zdCBlPXRoaXMuX21vZGVsLnByaWNlU2NhbGVTbG90c0NvdW50KCksdD10aGlzLl9sZWZ0UHJpY2VTY2FsZXMuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpLnZhbHVlKCkpKSxpPXRoaXMubWFpbkRhdGFTb3VyY2UoKT8ucHJpY2VTY2FsZSgpO2lmKHQubGVuZ3RoPmUubGVmdCYmaT8uaXNWaXNpYmxlKCkudmFsdWUoKSl7Y29uc3Qgcz0oMCxnLm1vdmVUb0hlYWQpKHQsaSk7cmV0dXJuIHMuc3BsaWNlKGUubGVmdCksc31yZXR1cm4gdH12aXNpYmxlUmlnaHRQcmljZVNjYWxlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwucHJpY2VTY2FsZVNsb3RzQ291bnQoKSx0PXRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpLnZhbHVlKCkpKSxpPXRoaXMubWFpbkRhdGFTb3VyY2UoKT8ucHJpY2VTY2FsZSgpO2lmKHQubGVuZ3RoPmUucmlnaHQmJmk/LmlzVmlzaWJsZSgpLnZhbHVlKCkpe2NvbnN0IHM9KDAsZy5tb3ZlVG9IZWFkKSh0LGkpO3JldHVybiBzLnNwbGljZShlLnJpZ2h0KSxzfXJldHVybiB0fWNsZWFyU2VyaWVzKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2ZvcihsZXQgaT10aGlzLm1fZGF0YVNvdXJjZXMubGVuZ3RoLTE7aT49MDtpLS0pdGhpcy5tX2RhdGFTb3VyY2VzW2ldPT09dCYmdGhpcy5fcmVtb3ZlU291cmNlRnJvbUNvbGxlY3Rpb25zKGksZSl9c291cmNlc0J5R3JvdXAoKXtyZXR1cm4gdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXN9ZGF0YVNvdXJjZUZvcklkKGUpe3JldHVybiB0aGlzLl9zb3VyY2VzQnlJZC5nZXQoZSl8fG51bGx9bGluZVRvb2xCeUxpbmtLZXkoZSl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc0J5TGlua0tleS5nZXRCeUtleTEoZSl9Y2hhbmdlU291cmNlSWQoZSx0KXtlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiYoMCxsbC5nZXRQZXJzaXN0ZW50TG9nZ2VyKSgpPy5hZGRQZXJzaXN0ZW50TG9nRW50cnkoYGNoYW5nZVNvdXJjZUlkIGZvciBzZXJpZXMgZnJvbSAke2UuaWQoKX0gdG8gJHt0fWAsYy5MT0dMRVZFTC5JTkZPLGFjKSwoMCxsLmFzc2VydCkodGhpcy5oYXNEYXRhU291cmNlKGUpKTtjb25zdCBpPWUuaWQoKTtlLnNldElkKHQpLHRoaXMuX3NvdXJjZXNCeUlkLmRlbGV0ZShpKSx0aGlzLl9zb3VyY2VzQnlJZC5zZXQodCxlKSwoMCwKSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpJiYodGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5kZWxldGUoaSksdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5zZXQodCxlKSl9bW92ZVByaWNlU2NhbGUoZSx0LGkpe2NvbnN0IHM9dGhpcy5wcmljZVNjYWxlUG9zaXRpb24oZSk7aWYocyE9PXQpdGhpcy5yZW1vdmVQcmljZVNjYWxlKGUpLHRoaXMuX3BsYWNlUHJpY2VTY2FsZShlLHQsaSksZS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKTtlbHNlIGlmKHZvaWQgMCE9PWkmJiJvdmVybGF5IiE9PXMpe2NvbnN0IHQ9ImxlZnQiPT09cz90aGlzLl9sZWZ0UHJpY2VTY2FsZXM6dGhpcy5fcmlnaHRQcmljZVNjYWxlcyxuPXQuaW5kZXhPZihlKTt0LnNwbGljZShuLDEpLHQuc3BsaWNlKGksMCxlKX19bWFpbkRhdGFTb3VyY2UoKXtyZXR1cm4gdGhpcy5tX21haW5EYXRhU291cmNlfWlzRW1wdHkoKXtyZXR1cm4gbnVsbD09PXRoaXMubV9tYWluRGF0YVNvdXJjZX1yZWNhbGN1bGF0ZVByaWNlU2NhbGUoZSx0KXtpZighZSlyZXR1cm47bGV0IGk9ZS5zb3VyY2VzRm9yQXV0b3NjYWxlKCk7aWYoZT09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkmJihpPVsuLi5pLC4uLnRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzLm11bHRpcGFuZVNvdXJjZXMoKV0pLChlLmlzQXV0b1NjYWxlKCl8fGUucHJpY2VSYW5nZVNob3VsZEJlUmVjYWxjdWxhdGVkT25jZSgpfHxudWxsPT09ZS5wcmljZVJhbmdlKCkpJiZpLmxlbmd0aD4wJiYhdGhpcy50aW1lU2NhbGUoKS5pc0VtcHR5KCkpe2NvbnN0IGk9ZS5wcmljZVJhbmdlKCkscz10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSxuPXRoaXMudGltZVNjYWxlKCkubG9naWNhbFJhbmdlKCk7ZS5yZWNhbGN1bGF0ZVByaWNlUmFuZ2UocyxuKSxQbC5QcmljZVJhbmdlLmNvbXBhcmUoaSxlLnByaWNlUmFuZ2UoKSl8fGUudXBkYXRlQWxsVmlld3ModCl9fW9uU291cmNlVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9aW5zZXJ0RGF0YVNvdXJjZShlLHQsaSxzKXtlLnNldFpvcmRlcihpKSx0fHwocz0hMSx0PXRoaXMuZmluZFN1aXRhYmxlU2NhbGUoZSkpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnMoZSk7bGV0IG49ITE7ZT09PXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCk/KHRoaXMubV9tYWluRGF0YVNvdXJjZT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLG49ITApOm51bGw9PT10aGlzLm1fbWFpbkRhdGFTb3VyY2UmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSYmKHRoaXMubV9tYWluRGF0YVNvdXJjZT1lLG49ITApLHN8fHQuYWRkRGF0YVNvdXJjZShlLHRoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZSksZS5zZXRQcmljZVNjYWxlKHQpLHQuaW52YWxpZGF0ZU1hcmdpbnMoKSxlLm9uVGFnc0NoYW5nZWQmJmUub25UYWdzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMub25Tb3VyY2VUYWdzQ2hhbmdlZCksbiYmdGhpcy5fbW9kZT09PU0uUGFuZU1vZGUuUmVndWxhciYmdGhpcy5fcHJvY2Vzc01haW5Tb3VyY2VDaGFuZ2UoKSx0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCksKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpJiZ0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCksdGhpcy5faXNJbkluc2VydE1hbnlEYXRhU291cmNlc1N0YXRlfHwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5hbGVydHNXYXRjaGVyKCkpLnN5bmNTb3VyY2VBbGVydExhYmVscyhlKX1hZGREYXRhU291cmNlKGUsdCxpKXtsZXQgcz1lLnpvcmRlcigpO2l8fCgoMCxyaS5pc0xpbmVUb29sKShlKSYmIWUuaXNTcGVjaWFsbHlaT3JkZXJlZFNvdXJjZSgpPyhzPW51bGwhPT10aGlzLl9sYXN0TGluZURhdGFTb3VyY2VaT3JkZXI/dGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyKzE6dGhpcy5uZXdMaW5lVG9vbFpPcmRlcigpLHRoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZSYmKHRoaXMuX2xhc3RMaW5lRGF0YVNvdXJjZVpPcmRlcj1zKSk6KDAsdGkuaXNTdHVkeSkoZSkmJiFlLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKSYmKHM9dGhpcy5uZXdTdHVkeVpPcmRlcigpKSksdGhpcy5pbnNlcnREYXRhU291cmNlKGUsdCxzKX1yZW1vdmVEYXRhU291cmNlKGUsdD0hMSxpPSExLHM9ITEpe2xldCBuPXRoaXMubV9kYXRhU291cmNlcy5pbmRleE9mKGUpO2lmKC0xPT09bilyZXR1cm4gdm9pZCBuYy5sb2dEZWJ1ZygicmVtb3ZlRGF0YVNvdXJjZTogaW52YWxpZCBkYXRhIHNvdXJjZSIpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmFsZXJ0c1dhdGNoZXIoKSkuZGV0YWNoU291cmNlQWxlcnRMYWJlbHMoZSksbj10aGlzLm1fZGF0YVNvdXJjZXMuaW5kZXhPZihlKSx0aGlzLl9yZW1vdmVTb3VyY2VGcm9tQ29sbGVjdGlvbnMobixpKSxlPT09dGhpcy5tX21haW5EYXRhU291cmNlJiYodGhpcy5tX21haW5EYXRhU291cmNlPW51bGwpO2NvbnN0IHI9ZS5wcmljZVNjYWxlKCk7c3x8dGhpcy5yZW1vdmVTb3VyY2VGcm9tUHJpY2VTY2FsZShlKSxlLm9uVGFnc0NoYW5nZWQmJmUub25UYWdzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5vblNvdXJjZVRhZ3NDaGFuZ2VkKSwoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJiF0JiZ0aGlzLl9wcm9jZXNzTWFpblNvdXJjZUNoYW5nZSgpLCgwLHRpLmlzU3R1ZHkpKGUpJiZlLm1ldGFJbmZvKCkuaGFzRm9yY2VPdmVybGF5UGxvdHMoKSYmdGhpcy5fbW9kZWwucmVtb3ZlTXVsdGlQYW5lU291cmNlKGUpLHRoaXMuX3RhZ3NDaGFuZ2VkLmZpcmUoKSxyJiYoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJnRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKHIsKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKX1oYXNEYXRhU291cmNlKGUpe3JldHVybiB0aGlzLl9zb3VyY2VzQnlJZC5oYXMoZS5pZCgpKX0KaGFzRGF0YVNvdXJjZVdpdGhTaWduYXR1cmUoZSl7cmV0dXJuIHRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuc29tZSgodD0+dC5zaWduYXR1cmUoKS52YWx1ZSgpPT09ZSkpfWhhc1ByaWNlRGF0YVNvdXJjZShlKXtyZXR1cm4gdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5oYXMoZS5pZCgpKX1kYXRhU291cmNlcygpe3JldHVybiB0aGlzLm1fZGF0YVNvdXJjZXN9cHJpY2VEYXRhU291cmNlcygpe3JldHVybiB0aGlzLl9wcmljZURhdGFTb3VyY2VzfXN0dWR5U291cmNlcygpe3JldHVybiB0aGlzLl9zdHVkeVNvdXJjZXN9bG9sbGlwb3BEYXRhU291cmNlcygpe3JldHVybiB0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzfXN5bWJvbFNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlc31yZXBsYWNlU291cmNlKGUsdCxpKXtjb25zdCBzPXRoaXMubV9tYWluRGF0YVNvdXJjZT09PWUsbj1pPy5yZXBsYWNlU291cmNlKGUsdCk7dGhpcy5yZW1vdmVEYXRhU291cmNlKGUsITAsdm9pZCAwLG4pLHRoaXMuaW5zZXJ0RGF0YVNvdXJjZSh0LGksZS56b3JkZXIoKSxuKSx0aGlzLl9zb3VyY2VzQnlJZC5zZXQodC5pZCgpLHQpLCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5zZXQodC5pZCgpLHQpLHMmJih0aGlzLm1fbWFpbkRhdGFTb3VyY2U9dCx0aGlzLl9wcm9jZXNzTWFpblNvdXJjZUNoYW5nZSgpKX1maW5kU3VpdGFibGVTY2FsZShlLHQsaSl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneS5maW5kU3VpdGFibGVTY2FsZSh0aGlzLGUsdCxpKX1jcmVhdGVOZXdQcmljZVNjYWxlSWZQb3NzaWJsZSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kuY3JlYXRlTmV3UHJpY2VTY2FsZUlmUG9zc2libGUodGhpcyl9Y2FuQ3JlYXRlTmV3UHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kuY2FuQ3JlYXRlTmV3UHJpY2VTY2FsZSh0aGlzKX1pc092ZXJsYXkoZSl7Y29uc3QgdD1lLnByaWNlU2NhbGUoKTtyZXR1cm4gbnVsbD09PXR8fCJvdmVybGF5Ij09PXRoaXMucHJpY2VTY2FsZVBvc2l0aW9uKHQpfXJlY2FsY3VsYXRlKGUpe3RoaXMuX2xlZnRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LGUpKSksdGhpcy5fcmlnaHRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LGUpKSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKXRoaXMuaXNPdmVybGF5KHQpJiYhKDAscmkuaXNMaW5lVG9vbCkodCkmJnRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKHQucHJpY2VTY2FsZSgpLGUpO3RoaXMudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fbW9kZWwudXBkYXRlUGFuZSh0aGlzKX11cGRhdGVBbGxWaWV3cyhlKXtjb25zdCB0PXRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzLmFsbCgpO2Zvcihjb25zdCBpIG9mIHQpaS51cGRhdGVBbGxWaWV3cyhlKTtmb3IoY29uc3QgdCBvZiB0aGlzLm1vZGVsKCkuY3VzdG9tU291cmNlcygpKXQudXBkYXRlVmlld3NGb3JQYW5lKHRoaXMsZSl9dXBkYXRlTG9sbGlwb3BWaWV3cyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzKXQudXBkYXRlQWxsVmlld3MoZSl9cHJpY2VTY2FsZVBvc2l0aW9uKGUpe3JldHVybiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuaW5jbHVkZXMoZSk/ImxlZnQiOnRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuaW5jbHVkZXMoZSk/InJpZ2h0Ijoib3ZlcmxheSJ9Y3JlYXRlUHJpY2VTY2FsZUF0UG9zaXRpb24oZSx0KXtjb25zdCBpPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmF4aXNQcm9wZXJ0aWVzLnN0YXRlKCk7aS5hdXRvU2NhbGU9ITA7Y29uc3Qgcz1uZXcgcWwodGhpcy5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLGkpO3JldHVybiBzLnNldEhlaWdodCh0aGlzLmhlaWdodCgpKSxvYyhzLHRoaXMuX2RlZmF1bHRUb3BNYXJnaW4oKSx0aGlzLl9kZWZhdWx0Qm90dG9tTWFyZ2luKCkpLHRoaXMuX3BsYWNlUHJpY2VTY2FsZShzLGUsdCksc31yZW1vdmVQcmljZVNjYWxlKGUpe2UubW9kZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnByaWNlUmFuZ2VDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5pbnRlcm5hbEhlaWdodENoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmlzVmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uUHJpY2VTY2FsZUlzVmlzaWJsZUNoYW5nZWQpLGUucmVzZXRTY2FsZUF2YWlsYWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSksZT09PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJih0aGlzLl9sb2NrZWRQcmljZVNjYWxlPW51bGwsdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz1udWxsKTtjb25zdCB0PXRoaXMuX2xlZnRQcmljZVNjYWxlcy5pbmRleE9mKGUpOy0xIT09dCYmKHRoaXMuX2xlZnRQcmljZVNjYWxlc1t0XS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX2xlZnRQcmljZVNjYWxlcy5zcGxpY2UodCwxKSk7Y29uc3QgaT10aGlzLl9yaWdodFByaWNlU2NhbGVzLmluZGV4T2YoZSk7aWYoLTEhPT1pJiYodGhpcy5fcmlnaHRQcmljZVNjYWxlc1tpXS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuc3BsaWNlKGksMSkpLG51bGw9PT1lLm1haW5Tb3VyY2UoKSl7Y29uc3QgdD1lLmRhdGFTb3VyY2VzKCkubGVuZ3RoOzAhPT10JiZuYy5sb2dFcnJvcigiSW52YWxpZCBwcmljZVNjYWxlIHN0YXRlOiBlbXB0eSBtYWluU291cmNlIGJ1dCBub24tZW1wdHkgZGF0YSBzb3VyY2VzPSIrdCl9dGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSgpfXByaWNlU2NhbGVJbmRleChlLHQpe3N3aXRjaCh0KXtjYXNlImxlZnQiOnJldHVybiB0aGlzLmxlZnRQcmljZVNjYWxlcygpLmluZGV4T2YoZSk7Y2FzZSJyaWdodCI6CnJldHVybiB0aGlzLnJpZ2h0UHJpY2VTY2FsZXMoKS5pbmRleE9mKGUpfX1tb3ZlKGUsdCxpKXtjb25zdCBzPWUucHJpY2VTY2FsZSgpO3RoaXMucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSksdC5hZGREYXRhU291cmNlKGUpLGUuc2V0UHJpY2VTY2FsZSh0KSx0LmludmFsaWRhdGVNYXJnaW5zKCksdGhpcy5fcHJvY2Vzc01haW5Tb3VyY2VDaGFuZ2UoKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCksZS5pc0luY2x1ZGVkSW5BdXRvU2NhbGUoKSYmKG51bGwhPT1zJiZ0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShzLCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSksdGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpfXNldFpPcmRlcnMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+e3Quc2V0Wm9yZGVyKGUpfSkpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0aGlzLl9vbkRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKSwwPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlciYmdGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksdGhpcy5tb2RlbCgpLmZ1bGxVcGRhdGUoKX1pc01haW5QYW5lKCl7cmV0dXJuIHRoaXMuX2lzTWFpblBhbmUucmVhZG9ubHkoKX1pc0xhc3QoKXtjb25zdCBlPXRoaXMubW9kZWwoKS5wYW5lcygpO3JldHVybiBlW2UubGVuZ3RoLTFdPT09dGhpc31uZXdTdHVkeVpPcmRlcigpe3JldHVybigwLENvLm5ld1N0dWR5Wk9yZGVyKSh0aGlzLl9wcmljZURhdGFTb3VyY2VzKX1uZXdMaW5lVG9vbFpPcmRlcihlKXtyZXR1cm4oMCxDby5uZXdMaW5lVG9vbFpPcmRlcikodGhpcy5zb3VyY2VzQnlHcm91cCgpLnpPcmRlclZpc2libGVTb3VyY2VzKCksZSl9bW9kZWwoKXtyZXR1cm4gdGhpcy5fbW9kZWx9Y29udGFpbnNNYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX3NvdXJjZXNCeUlkLmhhcyh0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLmlkKCkpfWFwcGx5UHJpY2VTY2FsZVJhdGlvKGUsdCl7bnVsbCE9PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJnRoaXMuX2xvY2tlZFByaWNlU2NhbGUhPT1lfHx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvPT09dHx8IXRoaXMuaXNNYWluUGFuZSgpLnZhbHVlKCl8fG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlJiZlIT09dGhpcy5tYWluRGF0YVNvdXJjZSgpPy5wcmljZVNjYWxlKCl8fCh0aGlzLl9zZXROZXdQcmljZVJhbmdlQnlTY2FsZVJhdGlvKGUsdCx0aGlzLl9tYWluU291cmNlVmlzaWJsZVByaWNlUmFuZ2UoZSksITAsITApLG51bGwhPT10aGlzLl9sb2NrZWRQcmljZVNjYWxlP3RoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKTplLmlzTG9nKCl8fHRoaXMubW9kZWwoKS5tYWluU2VyaWVzU2NhbGVSYXRpb1Byb3BlcnR5T25DaGFuZ2VkKCkpfXNlbmRUb0JhY2soZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuek9yZGVyVmlzaWJsZVNvdXJjZXMoKTt0aGlzLl9iYXRjaFJlb3JkZXIoZSx0WzBdLENvLm1vdmVCZWZvcmVTb3VyY2UpfWJyaW5nVG9Gcm9udChlKXtjb25zdCB0PXRoaXMuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpO3RoaXMuX2JhdGNoUmVvcmRlcihlLHRbdC5sZW5ndGgtMV0sQ28ubW92ZUFmdGVyU291cmNlKX1zZW5kQmFja3dhcmQoZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuYWxsSW5jbHVkaW5nSGlkZGVuKCksaT10LmluZGV4T2YoZVswXSk7aWYoMD09PWkpdGhpcy5icmluZ1RvRnJvbnQoZSk7ZWxzZXtjb25zdCBzPXRbaS0xXTt0aGlzLmluc2VydEJlZm9yZShlLHMpfX1icmluZ0ZvcndhcmQoZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuYWxsRXhjZXB0U3BlY2lhbFNvdXJjZXMoKSxpPXQuaW5kZXhPZihlW2UubGVuZ3RoLTFdKTtpZihpPT09dC5sZW5ndGgtMSl0aGlzLnNlbmRUb0JhY2soZSk7ZWxzZXtjb25zdCBzPXRbaSsxXTt0aGlzLmluc2VydEFmdGVyKGUscyl9fWluc2VydEFmdGVyKGUsdCl7dGhpcy5fYmF0Y2hSZW9yZGVyKGUsdCxDby5tb3ZlQWZ0ZXJTb3VyY2UpfWluc2VydEJlZm9yZShlLHQpe3RoaXMuX2JhdGNoUmVvcmRlcihlLHQsQ28ubW92ZUJlZm9yZVNvdXJjZSl9bWF4aW1pemVkKCl7cmV0dXJuIHRoaXMuX21heGltaXplZH1jb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkfWNvbGxhcHNpbmdBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2luZ0F2YWlsYWJsZX1nZXRQcmljZVNjYWxlQnlJZChlKXtjb25zdCB0PXRoaXMubV9kYXRhU291cmNlcy5maW5kKCh0PT50LnByaWNlU2NhbGUoKT8uaWQoKT09PWUpKTtyZXR1cm4gdm9pZCAwPT09dD9udWxsOnQucHJpY2VTY2FsZSgpfXByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3l9c2V0UHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5KGUpe3RoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneT1lLGUuYXBwbHkodGhpcyl9ZmluZFRhcmdldFByaWNlQXhpc1ZpZXdzKGUsdCxpLHMpe2lmKCgwLEFpLmlzRGF0YVNvdXJjZSkoZSkmJnRoaXMubW9kZWwoKS5wYW5lRm9yU291cmNlKGUpIT09dGhpcylyZXR1cm5bXTtjb25zdCBuPWUucHJpY2VTY2FsZSgpO2lmKHQ9PT1uKXJldHVybiBpO2lmKG51bGw9PT1uKXJldHVybltdO2lmKCJvdmVybGF5Ij09PXRoaXMucHJpY2VTY2FsZVBvc2l0aW9uKG4pKXJldHVybiB0PT09dGhpcy5kZWZhdWx0UHJpY2VTY2FsZSgpP2k6W107Y29uc3Qgcj10aGlzLnByaWNlU2NhbGVQb3NpdGlvbih0KTtpZihyIT09dGhpcy5wcmljZVNjYWxlUG9zaXRpb24obikpcmV0dXJuW107Y29uc3Qgbz0ibGVmdCI9PT1yP3RoaXMubGVmdFByaWNlU2NhbGVzKCk6dGhpcy5yaWdodFByaWNlU2NhbGVzKCk7cmV0dXJuIG8uaW5kZXhPZih0KTxvLmluZGV4T2Yobik/czpbXX1hY3Rpb25Ob1NjYWxlSXNFbmFibGVkKGUpewpyZXR1cm4hKCF0aGlzLmlzT3ZlcmxheShlKSYmKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKXx8dGhpcy5fbm9uT3ZlcmxheVByaWNlc1NvdXJjZXNDb3VudCgpPjF9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfXNldFByaWNlQXV0b1NjYWxlKGUsdCl7ZS5zZXRNb2RlKHthdXRvU2NhbGU6dH0pLHRoaXMudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShlLCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpfXN0YXRlKGUpe2NvbnN0e3dpdGhEYXRhOnQsc2tpcExpbmVUb29sc0Zyb21PdGhlclN5bWJvbHM6aSx3aXBlU2Vuc2l0aXZlRGF0YTpzLHNraXBMaW5lVG9vbHM6bixza2lwTm9uU2hhcmVkTGluZVRvb2xzOnIsc2tpcEhpZGRlblNvdXJjZXM6byxpbmNsdWRlU291cmNlczphLGlzU3R1ZHlUZW1wbGF0ZTpsfT1lPz97fSxjPXtzb3VyY2VzOltdLG1haW5Tb3VyY2VJZDp0aGlzLm1fbWFpbkRhdGFTb3VyY2U/LmlkKCksc3RyZXRjaEZhY3Rvcjp0aGlzLl9zdHJldGNoRmFjdG9yLGxlZnRBeGlzZXNTdGF0ZTpbXSxyaWdodEF4aXNlc1N0YXRlOltdLG92ZXJsYXlQcmljZVNjYWxlczp7fSxwcmljZVNjYWxlUmF0aW86dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbyxpc0NvbGxhcHNlZDp0aGlzLl9jb2xsYXBzZWQudmFsdWUoKSxpc01heGltaXplZDp0aGlzLl9tYXhpbWl6ZWQudmFsdWUoKSxtb2RlOnRoaXMuX21vZGV9LGg9bmV3IE1hcCxkPW5ldyBNYXAsdT1lPT57aWYoaC5oYXMoZSkpcmV0dXJuIGguZ2V0KGUpO2xldCB0PSExO2lmKCgwLHRpLmlzU3R1ZHkpKGUpKXQ9IShlLmlzVmlzaWJsZSgpfHxlLmhhc0NoaWxkcmVuKCkmJmUuZ2V0QWxsQ2hpbGRyZW4oKS5zb21lKChlPT5lLmlzVmlzaWJsZSgpKSkpO2Vsc2UgaWYoKDAscmkuaXNMaW5lVG9vbCkoZSkpaWYoZS5pc1Zpc2libGUoKSl7Y29uc3QgaT1lLm93bmVyU291cmNlKCk7dD0hIWkmJnUoaSl9ZWxzZSB0PSEwO3JldHVybiBoLnNldChlLHQpLHR9LHA9ZT0+e2lmKGQuaGFzKGUpKXJldHVybiBkLmdldChlKTtsZXQgYT1udWxsO2NvbnN0IGM9bCYmIWUuaXNTYXZlZEluU3R1ZHlUZW1wbGF0ZXMoKXx8KDAscWkuaXNBbGVydExhYmVsKShlKXx8IWUuc3RhdGV8fCgwLHJpLmlzTGluZVRvb2wpKGUpJiZufHxvJiZ1KGUpfHwhZS5pc1NhdmVkSW5DaGFydChCb29sZWFuKHQpKXx8IShhPWUuc3RhdGUodCxzKSl8fGkmJigwLHJpLmlzTGluZVRvb2wpKGUpJiZlLmlzQWN0dWFsU3ltYm9sJiYhZS5pc0FjdHVhbFN5bWJvbCgpfHxyJiYoMCxyaS5pc0xpbmVUb29sKShlKSYmMD09PWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpfHxlLmlzUGhhbnRvbSgpP251bGw6YTtyZXR1cm4gZC5zZXQoZSxjKSxjfTtpZihhKXtjLnNvdXJjZXM9W107Zm9yKGxldCBlPTA7ZTx0aGlzLm1fZGF0YVNvdXJjZXMubGVuZ3RoO2UrKyl7Y29uc3QgdD1wKHRoaXMubV9kYXRhU291cmNlc1tlXSk7bnVsbCE9PXQmJmMuc291cmNlcy5wdXNoKHQpfX1jb25zdCBfPWU9Pm51bGwhPT1kLmdldChlKSxtPWU9PiFufHwhKDAscmkuaXNMaW5lVG9vbCkoZSk7Yy5sZWZ0QXhpc2VzU3RhdGU9dGhpcy5fbGVmdFByaWNlU2NhbGVzLm1hcCgoZT0+KHtzdGF0ZTplLnN0YXRlKCksc291cmNlczplLmRhdGFTb3VyY2VzKCkuZmlsdGVyKF8pLmZpbHRlcihtKS5tYXAoKGU9PmUuaWQoKSkpfSkpKSxjLnJpZ2h0QXhpc2VzU3RhdGU9dGhpcy5fcmlnaHRQcmljZVNjYWxlcy5tYXAoKGU9Pih7c3RhdGU6ZS5zdGF0ZSgpLHNvdXJjZXM6ZS5kYXRhU291cmNlcygpLmZpbHRlcihfKS5maWx0ZXIobSkubWFwKChlPT5lLmlkKCkpKX0pKSksYy5vdmVybGF5UHJpY2VTY2FsZXM9e307Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKWlmKHRoaXMuaXNPdmVybGF5KGUpJiZlLmlzU2F2ZWRJbkNoYXJ0KEJvb2xlYW4odCkpKXtjb25zdCB0PWUucHJpY2VTY2FsZSgpO2Mub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV09dD8uc3RhdGUoKT8/bnVsbH1yZXR1cm4gY31yZXN0b3JlU3RhdGUoZSl7Y29uc3R7c3RhdGU6dCx3aXRoRGF0YTppLHZlcnNpb246cyxzZXJpZXNJZDpuPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pZCgpLHNldHRpbmdzTWlncmF0aW9uOnI9e30sY29udGVudE92ZXJyaWRlczpvLHJlc3RvcmVTaWxlbnRseTphLHJlYXNvbjpoPTAsaXNTdHVkeVRlbXBsYXRlOmQ9ITF9PWU7KDAsbGwuZ2V0UGVyc2lzdGVudExvZ2dlcikoKT8uYWRkUGVyc2lzdGVudExvZ0VudHJ5KGBSZXN0b3JpbmcgcGFuZSB3aXRoIHNlcmllc0lkICR7bn1gLGMuTE9HTEVWRUwuSU5GTyxhYyksdGhpcy5fbW9kZT10Lm1vZGU/P00uUGFuZU1vZGUuUmVndWxhcix0LnN0cmV0Y2hGYWN0b3ImJih0aGlzLl9zdHJldGNoRmFjdG9yPXQuc3RyZXRjaEZhY3Rvcik7Y29uc3QgdT17fTtpZih0LnNvdXJjZXMpe2NvbnN0IGU9dC5zb3VyY2VzLmZpbHRlcigoZT0+ISFlJiYoIk1haW5TZXJpZXMiPT09ZS50eXBlfHwoIWUucG9pbnRzPy5zb21lKChlPT5udWxsPT09ZS50aW1lX3R8fCFpc0Zpbml0ZShlLnRpbWVfdCkpKXx8KG5jLmxvZ05vcm1hbCgiRHJvcHBlZCBpbnZhbGlkICIrZS50eXBlKyIuIFJlYXNvbjogbm9uLW51bWVyaWMgcG9pbnQgdGltZSIpLCExKSkpKSksbD1lLmZpbmRJbmRleChQLmlzTWFpblNlcmllc1N0YXRlKTstMSE9PWwmJnRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuc2V0T2Jzb2xldGVaT3JkZXIoZVtsXS56b3JkZXIpLHM8MyYmKDAsQ28ucmVvcmRlckRhdGFTb3VyY2VzU3RhdGVaT3JkZXIpKGUpO2NvbnN0IGM9LTEhPT10aGlzLm1fZGF0YVNvdXJjZXMuaW5kZXhPZih0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpO3RoaXMuY2xlYXJTZXJpZXMoQm9vbGVhbihhKSksdGhpcy5tX21haW5EYXRhU291cmNlPW51bGwsYyYmdGhpcy5fYWRkU291cmNlVG9Db2xsZWN0aW9ucyh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksYSksKCgpPT57Y29uc3QgaT1lLmZpbmQoKGU9PmUuaWQ9PT10Lm1haW5Tb3VyY2VJZCkpCjtpZih2b2lkIDA9PT1pKXJldHVybiB2b2lkIG5jLmxvZ1dhcm4oIlRoZXJlIGlzIG5vIG1haW4gc291cmNlIHdpdGggaWQgIit0Lm1haW5Tb3VyY2VJZCsiLCB0b3RhbCBzb3VyY2VzPSIrZS5sZW5ndGgpO2lmKCF3aW5kb3cuVHJhZGluZ1ZpZXdbaS50eXBlXXx8ISgwLG0uaXNMaW5lVG9vbE5hbWUpKGkudHlwZSkpcmV0dXJuIHZvaWQgbmMubG9nTm9ybWFsKCJUaGUgdHlwZSBvZiBtYWluIHNvdXJjZSBpcyBub3QgbGluZSB0b29sIC0gZml4IGlzIHVubmVjZXNzYXJ5Iik7bGV0IHM9bnVsbDtmb3IoY29uc3QgdCBvZiBlKWlmKCF3aW5kb3cuVHJhZGluZ1ZpZXdbaS50eXBlXXx8ISgwLG0uaXNMaW5lVG9vbE5hbWUpKHQudHlwZSkpe2lmKG51bGwhPT1zKXJldHVybiB2b2lkIG5jLmxvZ1dhcm4oIlBhbmUgY29udGFpbnMgbW9yZSB0aGFuIDEgcG9zc2libHkgbWFpbiBzb3VyY2VzIC0gYXV0byBmaXggY2Fubm90IGJlIGFwcGxpZWQiKTtzPXR9aWYobnVsbD09PXMpcmV0dXJuIHZvaWQgbmMubG9nV2FybigiUGFuZSBjb250YWlucyBvbmx5IGxpbmUgdG9vbHMgLSBwb3NzaWJsZSB3ZSBuZWVkIHRvIHJlbW92ZSB0aGlzIHBhbmU/Iik7Y29uc3Qgbj10Lm1haW5Tb3VyY2VJZDtsZXQgcj0wO3QubWFpblNvdXJjZUlkPXMuaWQsZS5mb3JFYWNoKChlPT57ZS5vd25lclNvdXJjZT09PW4mJihlLm93bmVyU291cmNlPXM/LmlkLHIrPTEpfSkpLG5jLmxvZ05vcm1hbCgiQXV0byBmaXggYnJva2VuIHBhbmUgaXMgYXBwbGllZCwgY2hhbmdlZCBsaW5lIHRvb2xzPSIrcisiLCBjaGFuZ2VkIGZyb209IituKyIgdG89IitzLmlkKX0pKCk7Zm9yKGNvbnN0IHQgb2YgZSlpZigic3R1ZHlfU2Vzc2lvbnMiPT09dC50eXBlKXtjb25zdCBlPXQ7ZS5vbGRTdGF0ZT0hMCx0aGlzLm1vZGVsKCkuc2Vzc2lvbnMoKS5yZXN0b3JlU3RhdGUoZSxpKTticmVha31mb3IoY29uc3QgdCBvZiBlKSJzdHVkeV9TZXNzaW9ucyIhPT10LnR5cGUmJihudWxsPT09dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpfHwiTWFpblNlcmllcyI9PT10LnR5cGU/KHVbdC5pZF09dC5vd25lclNvdXJjZSwoMCxQLmlzTWFpblNlcmllc1N0YXRlKSh0KT90aGlzLl9yZXN0b3JlTWFpblNlcmllcyh0LGksYyxyLG8sYSxkKTooMCxQLmlzU3R1ZHlTdGF0ZSkodCk/dGhpcy5yZXN0b3JlU3R1ZHkoe3NvdXJjZTp0LHdpdGhEYXRhOmksc2VyaWVzSWQ6bixzZXR0aW5nc01pZ3JhdGlvbjpyLHJlc3RvcmVTaWxlbnRseTphLHJlYXNvbjpoLHNraXBNYWluU291cmNlUmVjYWxjdWxhdGlvbjohMH0pOigwLFAuaXNMaW5lVG9vbFN0YXRlKSh0KT8odC5zdGF0ZSYmKHQuc3RhdGUuek9yZGVyVmVyc2lvbj0yKSx0aGlzLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6dCx3aXRoRGF0YTppLHJlc3RvcmVTaWxlbnRseTphfSkpOnQudHlwZT09PXBsLkNoYXJ0RXZlbnRzU291cmNlSWQuVmFsdWUmJnRoaXMuX3Jlc3RvcmVTcGVjaWFsU291cmNlKHQsaSxhKSk6bmMubG9nRXJyb3IoIkR1cGxpY2F0ZSBpZCB3aGlsZSByZXN0b3JpbmcgcGFuZTogIit0LnR5cGUrIiwiK3QuaWQpKX1jb25zdCBwPW5ldyBTZXQsXz0oZSx0KT0+e2UucHJpY2VTY2FsZSgpIT09dCYmKHRoaXMucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSksZS5zZXRQcmljZVNjYWxlKHQpLHQuYWRkRGF0YVNvdXJjZShlKSl9LGc9KGUsaSxzKT0+e2lmKHAuaGFzKGUpKXJldHVybjtwLmFkZChlKTtjb25zdCBuPXMubV9zaG93U3ltYm9sTGFiZWxzO3ZvaWQgMCE9PW4mJmU9PT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpJiZ0aGlzLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy5zZXRWYWx1ZShuKSx0aGlzLl9tb2RlbC5jaGlsZHJlbihlLCEwLCEwKS5mb3JFYWNoKChlPT57dC5vdmVybGF5UHJpY2VTY2FsZXM/LltlLmlkKCldfHxnKGUsaSxzKX0pKSxfKGUsaSl9LGY9ZT0+e2NvbnN0IHQ9KDAsJGwuZGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMiKS5wYW5lUHJvcGVydGllcy5heGlzUHJvcGVydGllcyxpPW5ldyBxbCh0aGlzLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMsdCk7cmV0dXJuIGkucmVzdG9yZVN0YXRlKGUuc3RhdGUpLGkuc2V0SGVpZ2h0KHRoaXMuX2hlaWdodCksZS5zb3VyY2VzLmZvckVhY2goKGU9Pntjb25zdCBzPXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3MmJmcocyxpLHQpfSkpLDA9PT1pLmRhdGFTb3VyY2VzKCkubGVuZ3RoP251bGw6aX0sUz1lPT5lLm1hcChmKS5maWx0ZXIoKGU9Pm51bGwhPT1lKSk7bGV0IHY7aWYodC5sZWZ0QXhpc2VzU3RhdGUpdj1TKHQubGVmdEF4aXNlc1N0YXRlKTtlbHNle2NvbnN0IGU9Zih7c3RhdGU6dC5sZWZ0QXhpc1N0YXRlLHNvdXJjZXM6dC5sZWZ0QXhpc1NvdXJjZXN9KTt2PW51bGwhPT1lP1tlXTpbXX1sZXQgeTtpZih0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuc2xpY2UoKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVByaWNlU2NhbGUoZSkpKSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXM9W10sdi5mb3JFYWNoKChlPT50aGlzLl9wbGFjZVByaWNlU2NhbGUoZSwibGVmdCIpKSksdC5yaWdodEF4aXNlc1N0YXRlKXk9Uyh0LnJpZ2h0QXhpc2VzU3RhdGUpO2Vsc2V7Y29uc3QgZT1mKHtzdGF0ZTp0LnJpZ2h0QXhpc1N0YXRlLHNvdXJjZXM6dC5yaWdodEF4aXNTb3VyY2VzfSk7eT1udWxsIT09ZT9bZV06W119dGhpcy5fcmlnaHRQcmljZVNjYWxlcy5zbGljZSgpLmZvckVhY2goKGU9PnRoaXMucmVtb3ZlUHJpY2VTY2FsZShlKSkpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXM9W10seS5mb3JFYWNoKChlPT50aGlzLl9wbGFjZVByaWNlU2NhbGUoZSwicmlnaHQiKSkpLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89dC5wcmljZVNjYWxlUmF0aW98fHQubGVmdFByaWNlU2NhbGVSYXRpb3x8dC5yaWdodFByaWNlU2NhbGVSYXRpb3x8bnVsbDtjb25zdCBiPW5ldyBNYXA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKXtpZihwLmhhcyhlKSljb250aW51ZTtsZXQgaQo7aWYodC5vdmVybGF5UHJpY2VTY2FsZXMmJnQub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV0pe2xldCBzPXQub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV07Yi5oYXMocz8uaWQpP2k9Yi5nZXQocz8uaWQpOihzPSgwLGwuZW5zdXJlKShzKSxpPW5ldyBxbCh0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcyksaS5zZXRIZWlnaHQodGhpcy5faGVpZ2h0KSxzLm1faXNBdXRvU2NhbGU9ITAscy5tX2lzTG9nPSExLHMubV9pc1BlcmNlbnRhZ2U9ITEscy5tX2lzTG9ja1NjYWxlPSExLGkucmVzdG9yZVN0YXRlKHMpLGIuc2V0KHMuaWQsaSkpfWVsc2UgaT1uZXcgcWwodGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMpLGkuc2V0SGVpZ2h0KHRoaXMuX2hlaWdodCk7XyhlLGkpfWZvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHUpKXtjb25zdCB0PXVbZV0saT10aGlzLmRhdGFTb3VyY2VGb3JJZChlKTt0JiZpJiZudWxsPT09aS5vd25lclNvdXJjZSgpJiZpLnNldE93bmVyU291cmNlKHRoaXMuZGF0YVNvdXJjZUZvcklkKHQpKX1pZih0Lm1haW5Tb3VyY2VJZCYmIXRoaXMuY29udGFpbnNNYWluU2VyaWVzKCkmJih0aGlzLm1fbWFpbkRhdGFTb3VyY2U9dGhpcy5kYXRhU291cmNlRm9ySWQodC5tYWluU291cmNlSWQpKSwhdGhpcy5tX21haW5EYXRhU291cmNlKWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcylpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkpe3RoaXMubV9tYWluRGF0YVNvdXJjZT1lO2JyZWFrfWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcykoMCxyaS5pc0xpbmVUb29sKShlKT8oZS5vd25lclNvdXJjZSgpfHxlLnNldE93bmVyU291cmNlKHRoaXMubWFpbkRhdGFTb3VyY2UoKSksZS5pc0ZpeGVkKCkmJmUucmVzdG9yZUZpeGVkUG9pbnQoKSk6KDAsdGkuaXNTdHVkeSkoZSkmJiFlLm93bmVyU291cmNlKCkmJmUuaXNMaW5rZWRUb1NlcmllcygpJiZlLnNldE93bmVyU291cmNlKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkpO3RoaXMuX2NvbGxhcHNlZC5zZXRWYWx1ZSh0LmlzQ29sbGFwc2VkPz8hMSksdC5pc01heGltaXplZCYmdGhpcy5fbW9kZWwuc2V0TWF4aW1pemVkUGFuZSh0aGlzKSx0aGlzLl91cGRhdGVNYXJnaW5zKCksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKX1vblByaWNlU2NhbGVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9vblByaWNlU2NhbGVzQ2hhbmdlZH1zZXRQYW5lU2l6ZShlKXtsZXQgdDtzd2l0Y2goZSl7Y2FzZSJsYXJnZSI6dD0xO2JyZWFrO2Nhc2UibWVkaXVtIjp0PS42O2JyZWFrO2Nhc2Uic21hbGwiOnQ9LjM7YnJlYWs7Y2FzZSJ0aW55Ijp0PS4xNTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBzaXplIGVudW0gdmFsdWU6ICIrZSl9dGhpcy5fc3RyZXRjaEZhY3Rvcj0xZTMqdH1zdHJldGNoRmFjdG9yKCl7cmV0dXJuIHRoaXMuX3N0cmV0Y2hGYWN0b3J9c2V0U3RyZXRjaEZhY3RvcihlKXt0aGlzLl9zdHJldGNoRmFjdG9yPWV9Y3VzdG9tU291cmNlcyhlKXtyZXR1cm4gdGhpcy5tb2RlbCgpLmN1c3RvbVNvdXJjZXMoZSl9Y3JlYXRlRHJhd2luZ3NDYWNoZXMoKXswfWNsZWFyRHJhd2luZ0NhY2hlcygpezB9ZXhlY3V0aW9uc1Bvc2l0aW9uQ29udHJvbGxlcigpe3JldHVybiBudWxsfXdpZHRoKCl7cmV0dXJuIHRoaXMuX3dpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9oZWlnaHR9c2V0SGVpZ2h0KGUpe2lmKHRoaXMuX2hlaWdodCE9PWUmJih0aGlzLl9oZWlnaHQ9ZSx0aGlzLl9tb2RlPT09TS5QYW5lTW9kZS5SZWd1bGFyKSl7dGhpcy5fbGVmdFByaWNlU2NhbGVzLmZvckVhY2goKHQ9PnQuc2V0SGVpZ2h0KGUpKSksdGhpcy5fcmlnaHRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50LnNldEhlaWdodChlKSkpO2ZvcihsZXQgdD0wO3Q8dGhpcy5tX2RhdGFTb3VyY2VzLmxlbmd0aDt0Kyspe2NvbnN0IGk9dGhpcy5tX2RhdGFTb3VyY2VzW3RdO3RoaXMuaXNPdmVybGF5KGkpJiZpLnByaWNlU2NhbGUoKSYmKDAsbC5lbnN1cmVOb3ROdWxsKShpLnByaWNlU2NhbGUoKSkuc2V0SGVpZ2h0KGUpfXRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fc2l6ZUNoYW5nZWQuZmlyZSgpfX1zZXRXaWR0aChlKXtyZXR1cm4gdGhpcy5fd2lkdGghPT1lJiYodGhpcy5fd2lkdGg9ZSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX3NpemVDaGFuZ2VkLmZpcmUoKSwhMCl9b25TaXplQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zaXplQ2hhbmdlZH1vblRhZ3NDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RhZ3NDaGFuZ2VkfW9uRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZH1kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWR9ZGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkfXN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkfXByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkfXN5bWJvbFNvdXJjZVJlc29sdmVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmVkfXN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmV9c291cmNlUHJvcGVydGllc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc291cmNlUHJvcGVydGllc0NoYW5nZWR9c291cmNlWk9yZGVyQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VzWk9yZGVyQ2hhbmdlZH1saW5lVG9vbHNGb3JBcmVhKGUsdCl7Y29uc3QgaT10aGlzLmxvZ2ljYWxSZWN0VG9QaXhlbHMoZSkKO3JldHVyblsuLi50aGlzLm1fZGF0YVNvdXJjZXMsLi4udGhpcy5tb2RlbCgpLm11bHRpUGFuZVNvdXJjZXModGhpcyldLmZpbHRlcihyaS5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PihlLnBhbmVWaWV3cyh0aGlzKXx8W10pLnNvbWUoKGU9Pntjb25zdCBzPWUucmVuZGVyZXIodCk7cmV0dXJuIHMmJnMuZG9lc0ludGVyc2VjdFdpdGhCb3gmJnMuZG9lc0ludGVyc2VjdFdpdGhCb3goaSx0KX0pKSkpfWxvZ2ljYWxSZWN0VG9QaXhlbHMoZSl7Y29uc3QgdD10aGlzLmRlZmF1bHRQcmljZVNjYWxlKCksaT10aGlzLnRpbWVTY2FsZSgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKHQubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLG49dC5wcmljZVRvQ29vcmRpbmF0ZShlLnAxLnByaWNlLHMpLHI9aS5pbmRleFRvQ29vcmRpbmF0ZShlLnAxLmluZGV4KSxvPXQucHJpY2VUb0Nvb3JkaW5hdGUoZS5wMi5wcmljZSxzKSxhPWkuaW5kZXhUb0Nvb3JkaW5hdGUoZS5wMi5pbmRleCksYz1uZXcgUHQuUG9pbnQoTWF0aC5taW4ocixhKSxNYXRoLm1pbihuLG8pKSxoPW5ldyBQdC5Qb2ludChNYXRoLm1heChyLGEpLE1hdGgubWF4KG4sbykpO3JldHVybigwLFB0LmJveCkoYyxoKX10aW1lU2NhbGUoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlfXJlc3RvcmVMaW5lVG9vbChlKXtjb25zdHt3aXRoRGF0YTp0LHJlc3RvcmVTaWxlbnRseTpzLGFjdGlvblNvdXJjZTpuLG93bmVyU291cmNlOnJ9PWU7bGV0e2tlZXBaT3JkZXI6byxzdGF0ZTphfT1lO2lmKCgwLG0uaXNNdHBQcmVkaWN0b3JUb29sTmFtZSkoYS50eXBlKSlyZXR1cm4gbmMubG9nV2FybihgTm8gbG9uZ2VyIHN1cHBvcnRlZCB0b29sICR7YS50eXBlfSBpcyBza2lwcGVkIHdoaWxlIHJlc3RvcmluZyBzdGF0ZWApLG51bGw7aWYoYS50YXJnZXRTaWduYXR1cmUmJiFtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzKXJldHVybiBuYy5sb2dXYXJuKGBEcmF3aW5nIHdpdGggaWQgJHthLmlkfSB3YXMgY3JlYXRlZCB3aGlsZSBzaGFyZV9kcmF3aW5nc19vbl9pbmRpY2F0b3JzIHdhcyBvbiwgYnV0IG5vdyBpdCBpcyBvZmYsIHNvIGl0IGlzIHNraXBwZWQgd2hpbGUgcmVzdG9yaW5nIHN0YXRlYCksbnVsbDtjb25zdCBjPXI/PyhhLm93bmVyU291cmNlP3RoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZChhLm93bmVyU291cmNlKTpudWxsKTtpZihtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzJiYoYS5vd25lclNvdXJjZSYmIWEudGFyZ2V0U2lnbmF0dXJlJiZjJiYoKDAsdGkuaXNTdHVkeSkoYyl8fCgwLHRpLmlzU3R1ZHlTdHViKShjKSkmJihhLnRhcmdldFNpZ25hdHVyZT1jLnNpZ25hdHVyZSgpLnZhbHVlKCk/P3ZvaWQgMCksYS50YXJnZXRTaWduYXR1cmUmJiF0aGlzLmlzTWFpblBhbmUoKS52YWx1ZSgpKSlyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLm1haW5QYW5lKCkpLnJlc3RvcmVMaW5lVG9vbChlKTtkZWxldGUgYS5zdGF0ZS5sYXN0VXBkYXRlVGltZSxhLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxKbC5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKGEuc3RhdGUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSxvPXZvaWQgMD09PW98fG8sKDAsWGwuZWxsaW90dE1pZ3JhdGVTdGF0ZSkoYSksKDAsWmwubWlncmF0ZVN0YXRlKShhKSxBcnJheS5pc0FycmF5KGEucG9zaXRpb25QZXJjZW50cykmJihhLnBvc2l0aW9uUGVyY2VudHM9YS5wb3NpdGlvblBlcmNlbnRzWzBdKTtjb25zdCBoPWEudHlwZSxkPWEuaWQsdT1hLnN0YXRlLF89bz9hLnpvcmRlcjp0aGlzLm5ld0xpbmVUb29sWk9yZGVyKCk7KDAsbC5hc3NlcnQpKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGgpLCJpbnZhbGlkIGRhdGEgc291cmNlIHR5cGU6IitoKyIgKGV4cGVjdGVkIHRvIGJlIGEgTGluZSBUb29sKSIpO2xldCBnLGYsUz1udWxsO2lmKCgwLFAuaXNTdHVkeUxpbmVUb29sU3RhdGUpKGEpKXtTPXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT9uZXcgZWMuU3R1ZHlWZXJzaW9uaW5nKFtdLFtdKTooMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKTtjb25zdCBlPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFBvaW50c0Jhc2VkU3R1ZHlTdGF0ZShhKTthPWU7Y29uc3Qgcj1uZXcgb3QuU3R1ZHlNZXRhSW5mbyhlLm1ldGFJbmZvKTtpZighdCYmcil7Y29uc3QgZT1yLnByb2R1Y3RJZDtpZighd2luZG93LnBybz8uaGFzUGFja2FnZShlKSl7Y29uc3QgZT1uZXcgdWwuU3R1ZHlMaW5lVG9vbFN0dWIodGhpcy5fbW9kZWwsYSxyLnNob3J0RGVzY3JpcHRpb24pO3JldHVybiBlLnNldElkKGQpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnMoZSxzKSx2b2lkIDAhPT1fJiZlLnNldFpvcmRlcihfKSxlLnNldEZhaWxlZChwLnQobnVsbCx2b2lkIDAsaSgzODYzNzMpKSksbnVsbH19Y29uc3Qgbz1TLnVwZGF0ZU1ldGFJbmZvKHIpPz9yO2Y9KDAscmkuY3JlYXRlU3R1ZHlMaW5lVG9vbFByb3BlcnRpZXMpKHRoaXMuX21vZGVsLmJhY2tncm91bmRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksaCxyLG8sdSxTKSxnPSgwLHJpLmNyZWF0ZUxpbmVUb29sKShoLHRoaXMuX21vZGVsLGYsbywhMCx2b2lkIDAsbil9ZWxzZSBmPSgwLHJpLmNyZWF0ZUxpbmVUb29sUHJvcGVydGllcykodGhpcy5fbW9kZWwuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxoLCF0aGlzLl9tb2RlbC5yZWFkT25seSgpLHUpLGc9KDAscmkuY3JlYXRlTGluZVRvb2wpKGgsdGhpcy5fbW9kZWwsZixudWxsLCEwLHZvaWQgMCxuKTtnLnNldElkKGQpLGcubGlua0tleSgpLnNldFZhbHVlKGEubGlua0tleXx8bnVsbCk7Y29uc3Qgdj1hLmFsZXJ0SWQ7diYmZy5jYW5IYXNBbGVydCgpJiZHcy5hbGVydHNBdmFpbGFibGUmJiF0aGlzLl9tb2RlbC5yZWFkT25seSgpJiYhdGhpcy5fbW9kZWwuaXNKdXN0Q2xvbmVkQ2hhcnQoKSYmZy5yZXN0b3JlQWxlcnQoK3YpO2xldCB5PWEuaW5kZXhlcz8/W107aWYoeT15LnNsaWNlKDAsYS5wb2ludHM/Lmxlbmd0aD8/eS5sZW5ndGgpLApnLmlzRml4ZWQoKT92b2lkIDAhPT1hLnBvc2l0aW9uUGVyY2VudHM/Zy5yZXN0b3JlUG9zaXRpb25QZXJjZW50cyhhLnBvc2l0aW9uUGVyY2VudHMpOmcucmVzdG9yZVBvc2l0aW9uUGVyY2VudHMoe3g6LjUseTouNX0pOmEucG9pbnRzJiZnLnJlc3RvcmVQb2ludHMoYS5wb2ludHMseSx0KSxnLnJlc3RvcmVEYXRhKXtjb25zdCBlPWE7KDAsUC5pc1N0dWR5TGluZVRvb2xTdGF0ZSkoZSk/dCYmKFMmJihlLmdyYXBoaWNzPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFBvaW50c0Jhc2VkU3R1ZHlEYXRhKG5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pLGUuZ3JhcGhpY3MpKSxnLnJlc3RvcmVEYXRhKGUpKTpnLnJlc3RvcmVEYXRhKGUpfWNvbnN0IGI9bnVsbD09YS52ZXJzaW9uPzE6YS52ZXJzaW9uLHc9bnVsbD09Zy52ZXJzaW9uPzE6Zy52ZXJzaW9uO3JldHVybiBiIT09dyYmZy5taWdyYXRlVmVyc2lvbj8uKGIsdyx7cGFuZTp0aGlzLG1vZGVsOnRoaXMuX21vZGVsLHByb3BlcnRpZXM6Zn0pLHZvaWQgMCE9PV8mJmcuc2V0Wm9yZGVyKF8pLHImJigwLHJpLnByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlKShmLHIpLCFhLnRhcmdldFNpZ25hdHVyZXx8IWcuc3VwcG9ydHNUYXJnZXRTaWduYXR1cmUoKXx8YyYmKDAsdGkuaXNTdHVkeVN0dWIpKGMpP2cuc2V0T3duZXJTb3VyY2UoYyk6Zy5zZXRUYXJnZXRTaWduYXR1cmUoYS50YXJnZXRTaWduYXR1cmUpLGcuaXNGaXhlZCgpJiZnLnJlc3RvcmVGaXhlZFBvaW50KCksdm9pZCAwIT09YS5zaGFyaW5nTW9kZSYmZy5zaGFyZShhLnNoYXJpbmdNb2RlKSx0aGlzLl9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGcscyksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSxnfXJlc3RvcmVTdHVkeShlKXtjb25zdHtzb3VyY2U6dCx3aXRoRGF0YTpzLHNlcmllc0lkOm89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlkKCksc2V0dGluZ3NNaWdyYXRpb246YSxyZXN0b3JlU2lsZW50bHk6bCxyZWFzb246Yyxza2lwTWFpblNvdXJjZVJlY2FsY3VsYXRpb246aH09ZTtpZihzJiZ2b2lkIDA9PT10LmRhdGEmJnZvaWQgMD09PXQubm9uU2VyaWVzRGF0YSYmdm9pZCAwPT09dC5pbmRleGVzKXJldHVybiBuYy5sb2dFcnJvcigiQ2Fubm90IHJlc3RvcmUgKHNraXBwaW5nKSBzdHVkeSB3aXRob3V0IGRhdGEgIit0LmlkKyIsICIrdC5tZXRhSW5mby5pZCksbnVsbDtjb25zdCBkPXQubWV0YUluZm8sdT0oMCxuLmRlZmF1bHQpKGQpO3UmJihuYy5sb2dXYXJuKGBDYW5ub3QgcmVzdG9yZSAoc2tpcHBpbmcpIHN0dWR5IHdpdGggc3RyaW5nIG1ldGFJbmZvLCBwcm9iYWJseSBjaGFydCBvdmVyd3JpdGluZyAke2R9YCksdC5tZXRhSW5mbz17Li4uYmUoZCksaW5wdXRzOltdfSk7Y29uc3QgXz10LmlkLG09dC5zdGF0ZSxnPXQuem9yZGVyLGY9KHQucGFyZW50U291cmNlcz8/KHQub3duZXJTb3VyY2U/W3Qub3duZXJTb3VyY2VdOltdKSkuZmlsdGVyKChlPT5lIT09bykpO2xldCBTPW5ldyBvdC5TdHVkeU1ldGFJbmZvKHQubWV0YUluZm8pLHY9dC5tZXRhSW5mb1BhdGNoPygwLHIuZGVmYXVsdCkoKDAsV28uZGVmYXVsdCkodC5tZXRhSW5mbyksdC5tZXRhSW5mb1BhdGNoKTp0Lm1ldGFJbmZvLHk9bmV3IG90LlN0dWR5TWV0YUluZm8odik7aWYoZnVuY3Rpb24oZSl7cmV0dXJuIlNjcmlwdCRUVl9FQVJOSU5HU0B0di1zY3JpcHRpbmciPT09ZXx8IlNjcmlwdCRUVl9ESVZJREVORFNAdHYtc2NyaXB0aW5nIj09PWV8fCJTY3JpcHQkVFZfU1BMSVRTQHR2LXNjcmlwdGluZyI9PT1lfHwiRVNEJFRWX0VBUk5JTkdTQHR2LXNjcmlwdGluZyI9PT1lfHwiRVNEJFRWX0RJVklERU5EU0B0di1zY3JpcHRpbmciPT09ZXx8IkVTRCRUVl9TUExJVFNAdHYtc2NyaXB0aW5nIj09PWV8fCJFYXJuaW5nc0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IkRpdmlkZW5kc0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IlNwbGl0c0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IkJhclNldENvbnRpbnVvdXNSb2xsRGF0ZXNAdHYtY29yZXN0dWRpZXMiPT09ZX0oeS5pZCkmJiFzKXJldHVybiBuYy5sb2dOb3JtYWwoIlNraXBwaW5nIHN0dWR5ICIreS5pZCksbnVsbDtsZXQgYj1tO2NvbnN0IHc9bmV3IFNhLlN0dWR5U3R1Yih0aGlzLl9tb2RlbCx0LHkuc2hvcnREZXNjcmlwdGlvbj8/eS5uYW1lKTt3LnNldElkKF8pLHcuc2V0Wm9yZGVyKGcpO2NvbnN0IEM9S2wuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKHRoaXMuX21vZGVsKTtDLmdldChfKTtsZXQgUD0hMTtjb25zdCBUPShlLG4scik9PntpZihQJiZ0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoXykhPT13KXJldHVybjt3LnNldFN0YXR1cyh7dHlwZTpZbC5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSk7Y29uc3Qgbz1hc3luYyBvPT57Y29uc3R7cHJlcGFyZVN0dWR5UHJvcGVydGllc0ZvckxvYWRDaGFydDphfT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDQzNzc0OSkpLGw9YSh5LGUsYixyKSxoPWU/P3ksZD1uPz9TLHU9IXMmJmguaXNUVlNjcmlwdCYmdC5tZXRhSW5mby5pc1RWU2NyaXB0JiZoLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24hPT10Lm1ldGFJbmZvLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24scD1hd2FpdCBsYSh0aGlzLl9tb2RlbCxsLG8saCxkLHZvaWQgMCxjLHUpO2lmKHAuc2V0SWQoXykscC5zZXRPd25GaXJzdFZhbHVlKHQub3duRmlyc3RWYWx1ZT8/bnVsbCksdC5jdXN0b21GaWVsZHMmJnAucmVzdG9yZVN0YXRlQ3VzdG9tRmllbGRzKHQuY3VzdG9tRmllbGRzKSxzKXtjb25zdCBlPXQse2RhdGE6aSxuc0RhdGE6cyxpbmRleGVzOm59PWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFN0dWR5RGF0YSh5LGUuZGF0YSxlLm5vblNlcmllc0RhdGEsZS5pbmRleGVzKTtwLnJlc3RvcmVEYXRhKGkscyxuKX0KdGhpcy5fbW9kZWwucmVwbGFjZVN0dWR5U3R1Yih3LHApLEMuYWRkKF8scCl9O2lmKGYubGVuZ3RoPjApe2NvbnN0IGU9Zi5tYXAoKGU9PkMuZ2V0KGUpKSk7UHJvbWlzZS5hbGwoZSkudGhlbihvKX1lbHNlIG8oW10pfSx4PSgwLFdvLmRlZmF1bHQpKG0pLE09dT9Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2NvbnN0IGU9b3QuU3R1ZHlNZXRhSW5mby5wYXJzZUlkU3RyaW5nKHQubWV0YUluZm8uZnVsbElkKSxpPSJ0di1zY3JpcHRpbmciPT09ZS5wYWNrYWdlSWQ/e3R5cGU6InBpbmUiLHBpbmVJZDpvdC5TdHVkeU1ldGFJbmZvLmN1dEJlZm9yZURvbGxhcihlLnNob3J0SWQpLHBpbmVWZXJzaW9uOnQubWV0YUluZm8ucGluZT8udmVyc2lvbn06e3R5cGU6ImphdmEiLHN0dWR5SWQ6ZS5pZH07cmV0dXJuKDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoaSl9KSkudGhlbigoZT0+e2lmKCFlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGdldCBzdHVkeSBtZXRhSW5mbzogIit0Lm1ldGFJbmZvLmZ1bGxJZCk7Uz1lLHQubWV0YUluZm89ZS5zdGF0ZSgpLHY9dC5tZXRhSW5mb1BhdGNoPygwLHIuZGVmYXVsdCkoKDAsV28uZGVmYXVsdCkodC5tZXRhSW5mbyksdC5tZXRhSW5mb1BhdGNoKTp0Lm1ldGFJbmZvLHk9bmV3IG90LlN0dWR5TWV0YUluZm8odil9KSk6UHJvbWlzZS5yZXNvbHZlKCk7bGV0IEk7aWYocyl7Y29uc3QgZT1lYy5TdHVkeVZlcnNpb25pbmcucGF0Y2hQcm9wc1N0YXRlQW5kTWV0YUluZm8obSx5LHtvbGRTaG93U3R1ZHlMYXN0VmFsdWVQcm9wZXJ0eTohYT8uc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHl9KSx0PWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFByb3BzU3RhdGVBbmRNZXRhSW5mbyh4LFMse29sZFNob3dTdHVkeUxhc3RWYWx1ZVByb3BlcnR5OiFhPy5zaG93U3R1ZHlMYXN0VmFsdWVQcm9wZXJ0eX0pO0k9UHJvbWlzZS5yZXNvbHZlKFtuZXcgb3QuU3R1ZHlNZXRhSW5mbyhlLm1ldGFJbmZvKSxuZXcgb3QuU3R1ZHlNZXRhSW5mbyh0Lm1ldGFJbmZvKV0pfWVsc2V7e2NvbnN0IGU9KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkucmVxdWVzdE1ldGFJbmZvKCkudGhlbigoKCk9PlByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksNDY3OTIxKSkpKTtJPU0udGhlbigoKCk9PlByb21pc2UuYWxsKFt5LFNdLm1hcCgoKHQsaSk9PmUudGhlbigoZT0+e2NvbnN0e3BpbmVJZEZvckphdmFJZDpuLG1pZ3JhdGVKYXZhU3RhdGVUb1BpbmU6cn09ZSxvPW4odC5pZCk7aWYobylyZXR1cm4oMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7cGluZUlkOm8scGluZVZlcnNpb246Imxhc3QiLHR5cGU6InBpbmUifSkudGhlbigoZT0+KHIoMD09PWk/bTp4LHQsZSkseT1lLCQuZW1pdCgiY2hhcnRfbWlncmF0ZWQiKSxlKSkpO3tjb25zdCBlPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFByb3BzU3RhdGVBbmRNZXRhSW5mbygwPT09aT9tOngsdCx7b2xkU2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk6cyYmIWE/LnNob3dTdHVkeUxhc3RWYWx1ZVByb3BlcnR5fSk7cmV0dXJuIGI9ZS5wcm9wc1N0YXRlLG5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pfX0pKSkpKSkpfX1JLnRoZW4oKChbZSx0XSk9Pntjb25zdCBzPXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT9uZXcgZWMuU3R1ZHlWZXJzaW9uaW5nKFtdLFtdKTooMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKTtpZih0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkpcmV0dXJuIHZvaWQgVChlLHQscyk7Y29uc3Qgbj1bZSx0XS5tYXAoKChlLHQpPT5zLnVwZGF0ZU1ldGFJbmZvQXN5bmMoZSwxPT09dCkpKS5tYXAoKGU9PmUuc3luYz9Qcm9taXNlLnJlc29sdmUoZS5yZXN1bHQpOmUucmVzdWx0KSk7UHJvbWlzZS5hbGwobikudGhlbigoaT0+VChpWzBdPz9lLGlbMV0/P3QscykpKS5jYXRjaCgoZT0+eyJUbyB1c2UgaXQsIGFzayB0aGUgYXV0aG9yIHRvIHB1Ymxpc2ggdGhlIHNjcmlwdC4iPT09ZT93LnNldEZhaWxlZChlLHAudChudWxsLHZvaWQgMCxpKDMwMDU1OCkpKTp3LnNldEZhaWxlZCgiZXJyb3I6ICIrZSl9KSl9KSkuY2F0Y2goKCgpPT53LnNldEZhaWxlZChwLnQobnVsbCx7Y29udGV4dDoiU3R1ZHkgbG9hZGluZyBpbiBjaGFydCJ9LGkoNzcwOTQxKSkpKSksdy5zZXRab3JkZXIoZyk7Y29uc3QgTD10Lm1ldGFJbmZvLmxpbmtlZFRvU2VyaWVzP3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKTpmLmxlbmd0aD90aGlzLmRhdGFTb3VyY2VGb3JJZChmWzBdKTpudWxsO3JldHVybiB3LnNldE93bmVyU291cmNlKEwpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnModyxsKSxQPSEwLGh8fHRoaXMuX3Byb2Nlc3NNYWluU291cmNlQ2hhbmdlKCksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSx3fWNsaXBib2FyZExpbmVUb29sT3duZXJTb3VyY2UoZSl7Y29uc3QgdD10aGlzLmRhdGFTb3VyY2VGb3JJZChlKTtpZihudWxsIT09dCl7Y29uc3QgZT10Lm93bmVyU291cmNlKCk7aWYobnVsbCE9PWUmJm51bGwhPT1lLmZpcnN0VmFsdWUoKSlyZXR1cm4gZX1jb25zdCBpPXRoaXMubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsIT09aSYmbnVsbCE9PWkuZmlyc3RWYWx1ZSgpKXJldHVybiBpO2Zvcihjb25zdCBlIG9mIHRoaXMuZGF0YVNvdXJjZXMoKSlpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJm51bGwhPT1lLmZpcnN0VmFsdWUoKSlyZXR1cm4gZTtyZXR1cm4gbnVsbH1yZWFsaWduTGluZVRvb2xzKGUpe2xldCB0PSExO2Zvcihjb25zdCBpIG9mIHRoaXMubV9kYXRhU291cmNlcykhKDAsCnJpLmlzTGluZVRvb2wpKGkpfHx2b2lkIDAhPT1lJiZpLm93bmVyU291cmNlKCk/LmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKSE9PWUmJmkub3duZXJTb3VyY2UoKT8udW5pdE9yaWdpblNvdXJjZSgpLnZhbHVlKCkhPT1lfHwoaS5yZWFsaWduKCksaS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoaS5pZCgpKSksdD0hMCk7cmV0dXJuIHQmJnRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0fXN0YXJ0U2NhbGVQcmljZShlLHQpe2Uuc3RhcnRTY2FsZSh0KX1zY2FsZVByaWNlVG8oZSx0KXtlLnNjYWxlVG8odCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1lbmRTY2FsZVByaWNlKGUpe2UuZW5kU2NhbGUoKX1zdGFydFNjcm9sbFByaWNlKGUsdCl7ZS5zdGFydFNjcm9sbCh0KX1zY3JvbGxQcmljZVRvKGUsdCl7ZS5zY3JvbGxUbyh0KSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpfWVuZFNjcm9sbFByaWNlKGUpe2UuZW5kU2Nyb2xsKCl9cmVzZXRQcmljZVNjYWxlKGUpe2NvbnN0IHQ9dGhpcy50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksaT10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO2UucmVzZXRTY2FsZUF2YWlsYWJsZSgpLnZhbHVlKCkmJmUucmVzZXRTY2FsZSgpLGUucmVjYWxjdWxhdGVQcmljZVJhbmdlKHQsaSksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3Jlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUucmVhZG9ubHkoKX1yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCl7ZS5yZXN0b3JlU3RhdGUodCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1iZWdpbkluc2VydE1hbnlMaW5lRGF0YVNvdXJjZXMoKXt0aGlzLl9pc0luSW5zZXJ0TWFueURhdGFTb3VyY2VzU3RhdGU9ITAsdGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyPW51bGx9ZW5kSW5zZXJ0TWFueUxpbmVEYXRhU291cmNlcygpe3RoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZT0hMSx0aGlzLl9sYXN0TGluZURhdGFTb3VyY2VaT3JkZXI9bnVsbDt7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5hbGVydHNXYXRjaGVyKCkpO2Zvcihjb25zdCB0IG9mIHRoaXMubV9kYXRhU291cmNlcyllLnN5bmNTb3VyY2VBbGVydExhYmVscyh0KX19cmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSl7Y29uc3QgdD1lLnByaWNlU2NhbGUoKTtpZihudWxsIT09dCl7Y29uc3QgaT10LmRhdGFTb3VyY2VzKCk7aS5pbmRleE9mKGUpPj0wJiZ0LnJlbW92ZURhdGFTb3VyY2UoZSksMD09PWkubGVuZ3RoJiZ0aGlzLnJlbW92ZVByaWNlU2NhbGUodCl9fV9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCl7dGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuZm9yRWFjaCgoZT0+ZS5pbnZhbGlkYXRlU291cmNlc0NhY2hlKCkpKSx0aGlzLl9yaWdodFByaWNlU2NhbGVzLmZvckVhY2goKGU9PmUuaW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSl9X3Byb2Nlc3NNYWluU291cmNlQ2hhbmdlKCl7bGV0IGU9ITE7aWYobnVsbD09PXRoaXMubV9tYWluRGF0YVNvdXJjZSlmb3IoY29uc3QgdCBvZiB0aGlzLm1fZGF0YVNvdXJjZXMpaWYoKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKHQpJiYhdGhpcy5pc092ZXJsYXkodCkmJighKDAsdGkuaXNTdHVkeSkodCl8fCF0LmlzTGlua2VkVG9TZXJpZXMoKSkpe3RoaXMubV9tYWluRGF0YVNvdXJjZT10LGU9ITA7YnJlYWt9aWYodGhpcy5tX21haW5EYXRhU291cmNlJiZlKXtsZXQgZT10aGlzLm1fZGF0YVNvdXJjZXMuZmlsdGVyKHJpLmlzTGluZVRvb2wpO2U9KDAsZHIuc29ydFNvdXJjZXMpKGUpO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5tb3ZlKHQsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1fbWFpbkRhdGFTb3VyY2UucHJpY2VTY2FsZSgpKSwhMCl9ZWxzZSBpZighdGhpcy5tX21haW5EYXRhU291cmNlfHx0aGlzLmlzT3ZlcmxheSh0aGlzLm1fbWFpbkRhdGFTb3VyY2UpJiYwPT09dGhpcy5fbm9uT3ZlcmxheVByaWNlc1NvdXJjZXNDb3VudCgpKXtsZXQgZT1udWxsO2lmKHRoaXMubV9kYXRhU291cmNlcy5pbmNsdWRlcyh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpKWU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2Vsc2UgZm9yKGNvbnN0IHQgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKWlmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmdGhpcy5pc092ZXJsYXkodCkmJnQuc2hvd0luT2JqZWN0VHJlZSgpKXtlPXQ7YnJlYWt9aWYobnVsbCE9PWUpe2NvbnN0IHQ9dGhpcy5tX21haW5EYXRhU291cmNlPT09ZTt0aGlzLm1fbWFpbkRhdGFTb3VyY2U9ZTtjb25zdCBpPXRoaXMuY3JlYXRlTmV3UHJpY2VTY2FsZUlmUG9zc2libGUoKTtpZih0JiZlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wcmljZVNjYWxlKCkpO3RoaXMuX21vZGVsLmNoaWxkcmVuKGUsITAsITApLmZvckVhY2goKGU9Pnt0aGlzLnJlbW92ZVNvdXJjZUZyb21QcmljZVNjYWxlKGUpLGkuYWRkRGF0YVNvdXJjZShlKSxlLnNldFByaWNlU2NhbGUoaSl9KSksdGhpcy5yZW1vdmVQcmljZVNjYWxlKHQpfXRoaXMubW92ZShlLGksITApLHRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKGUucHJpY2VTY2FsZSgpLCgwLHRuLmdsb2JhbENoYW5nZUV2ZW50KSgpKX19fV9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGUsdCl7dGhpcy5tX2RhdGFTb3VyY2VzLnB1c2goZSksdGhpcy5fc291cmNlc0J5SWQuc2V0KGUuaWQoKSxlKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCk7Y29uc3QgaT0oKT0+e3RoaXMuX3NvdXJjZVByb3BlcnRpZXNDaGFuZ2VkLmZpcmUoZSl9O2lmKGUucHJvcGVydGllcygpLnN1YnNjcmliZSh0aGlzLGkpLAplLnpPcmRlckNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywodD0+dGhpcy5fc291cmNlc1pPcmRlckNoYW5nZWQuZmlyZShlLHQpKSksKDAscmkuaXNMaW5lVG9vbCkoZSkpe2Uubm9ybWFsaXplZFBvaW50c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxpKSxlLmZpeGVkUG9pbnRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsaSksZS5vbklzQWN0dWFsU3ltYm9sQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCkpKSxlLmhhc0FsZXJ0KCkuc3Vic2NyaWJlKGkpLGUuc2hhcmluZ01vZGUoKS5zdWJzY3JpYmUoaSk7Y29uc3QgdD0oKT0+e3RoaXMuX2xpbmVUb29sc0J5TGlua0tleS5yZW1vdmVCeUtleTIoZS5pZCgpKSx0aGlzLl9saW5lVG9vbHNCeUxpbmtLZXkuYWRkKGUpfTtlLmxpbmtLZXkoKS5zdWJzY3JpYmUodCksdGhpcy5fc291cmNlV2F0Y2hlZFZhbHVlc1N1YnNjcmlwdGlvbnMuc2V0KGUuaWQoKSx7bGlua0tleUNhbGxiYWNrOnQsY29tbW9uQ2FsbGJhY2s6aX0pLHRoaXMuX2xpbmVUb29sc0J5TGlua0tleS5hZGQoZSl9Y29uc3Qgcz0oMCxJby5pc1N5bWJvbFNvdXJjZSkoZSk/ZTpudWxsO2lmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSYmKHRoaXMuX3ByaWNlU291cmNlc0J5SWQuc2V0KGUuaWQoKSxlKSxlLmN1cnJlbmN5Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSksZS51bml0Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSksdGhpcy5fcHJpY2VEYXRhU291cmNlcy5wdXNoKGUpLCgwLHRpLmlzU3R1ZHkpKGUpJiZ0aGlzLl9zdHVkeVNvdXJjZXMucHVzaChlKSx0aGlzLl9vblByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCksbnVsbCE9PXMmJih0aGlzLl9zeW1ib2xTb3VyY2VzLnB1c2gocykscy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fc3ltYm9sU291cmNlUmVzb2x2ZWQuZmlyZShlKSkpLHMuc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSkscy5zeW1ib2xIaWJlcm5hdGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQpLHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKSxzPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiZ0aGlzLl9pc01haW5QYW5lLnNldFZhbHVlKCEwKSksKDAsdGkuaXNTdHVkeSkoZSl8fCgwLHRpLmlzU3R1ZHlTdHViKShlKSkpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO3QmJigwLF9sLmlzQ291bnRlZFVzZXJTY3JpcHQpKHQpJiYoMCxfbC5hZGRVc2VyU2NyaXB0T25MYXlvdXQpKHQuc2NyaXB0SWRQYXJ0LCgwLGwuZW5zdXJlRGVmaW5lZCkodC5waW5lKS52ZXJzaW9uKX1lLmlzTXVsdGlQYW5lQXZhaWxhYmxlKCkmJnRoaXMubW9kZWwoKS5hZGRNdWx0aVBhbmVTb3VyY2UoZSksc2koZSkmJih0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzLnB1c2goZSksdGhpcy51cGRhdGVMb2xsaXBvcFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSksdHx8MCE9PXRoaXMuX2J1bGtBY3Rpb25zLmFjdGl2ZUNvdW50ZXJ8fHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpfV9yZW1vdmVTb3VyY2VGcm9tQ29sbGVjdGlvbnMoZSx0KXtjb25zdCBpPXRoaXMubV9kYXRhU291cmNlc1tlXSxzPWkuaWQoKTtpZihpLnByb3BlcnRpZXMoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxpLnpPcmRlckNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1fZGF0YVNvdXJjZXMuc3BsaWNlKGUsMSksdGhpcy5fc291cmNlc0J5SWQuZGVsZXRlKGkuaWQoKSksKDAscmkuaXNMaW5lVG9vbCkoaSkpe2lmKGkubm9ybWFsaXplZFBvaW50c0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxpLmZpeGVkUG9pbnRDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksaS5vbklzQWN0dWFsU3ltYm9sQ2hhbmdlKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc291cmNlV2F0Y2hlZFZhbHVlc1N1YnNjcmlwdGlvbnMuaGFzKHMpKXtjb25zdCBlPXRoaXMuX3NvdXJjZVdhdGNoZWRWYWx1ZXNTdWJzY3JpcHRpb25zLmdldChzKTtlJiYoaS5oYXNBbGVydCgpLnVuc3Vic2NyaWJlKGUuY29tbW9uQ2FsbGJhY2spLGkuc2hhcmluZ01vZGUoKS51bnN1YnNjcmliZShlLmNvbW1vbkNhbGxiYWNrKSxpLmxpbmtLZXkoKS51bnN1YnNjcmliZShlLmxpbmtLZXlDYWxsYmFjaykpLHRoaXMuX3NvdXJjZVdhdGNoZWRWYWx1ZXNTdWJzY3JpcHRpb25zLmRlbGV0ZShzKX10aGlzLl9saW5lVG9vbHNCeUxpbmtLZXkucmVtb3ZlQnlLZXkyKGkuaWQoKSl9dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpO2NvbnN0IG49KDAsSW8uaXNTeW1ib2xTb3VyY2UpKGkpP2k6bnVsbDtpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoaSkmJih0aGlzLl9wcmljZVNvdXJjZXNCeUlkLmRlbGV0ZShpLmlkKCkpLGkuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksaS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLCgwLGcucmVtb3ZlSXRlbUZyb21BcnJheSkodGhpcy5fcHJpY2VEYXRhU291cmNlcyxpKSwoMCx0aS5pc1N0dWR5KShpKSYmKDAsZy5yZW1vdmVJdGVtRnJvbUFycmF5KSh0aGlzLl9zdHVkeVNvdXJjZXMsaSksdGhpcy5fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLG51bGwhPT1uJiYoKDAsZy5yZW1vdmVJdGVtRnJvbUFycmF5KSh0aGlzLl9zeW1ib2xTb3VyY2VzLG4pLG4uc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxuLnN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSksCm4uc3ltYm9sSGliZXJuYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQpLHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKSxuPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiZ0aGlzLl9pc01haW5QYW5lLnNldFZhbHVlKCExKSksKDAsdGkuaXNTdHVkeSkoaSl8fCgwLHRpLmlzU3R1ZHlTdHViKShpKSkpe2NvbnN0IGU9aS5tZXRhSW5mbygpO2UmJigwLF9sLmlzQ291bnRlZFVzZXJTY3JpcHQpKGUpJiYoMCxfbC5yZW1vdmVVc2VyU2NyaXB0RnJvbUxheW91dCkoZS5zY3JpcHRJZFBhcnQsKDAsbC5lbnN1cmVEZWZpbmVkKShlLnBpbmUpLnZlcnNpb24pfWkuaXNNdWx0aVBhbmVBdmFpbGFibGUoKSYmdGhpcy5tb2RlbCgpLnJlbW92ZU11bHRpUGFuZVNvdXJjZShpKSxzaShpKSYmKCgwLGcucmVtb3ZlSXRlbUZyb21BcnJheSkodGhpcy5fbG9sbGlwb3BEYXRhU291cmNlcyxpKSx0aGlzLnVwZGF0ZUxvbGxpcG9wVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGkuaWQoKSkpKSx0fHwwIT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcnx8dGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCl9X3JlY2FsY3VsYXRlUHJpY2VTY2FsZUJ5U2NhbGVSYXRpbyhlKXt0aGlzLmlzTWFpblBhbmUoKS52YWx1ZSgpJiZlPT09dGhpcy5fbG9ja2VkUHJpY2VTY2FsZSYmKG51bGwhPT10aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvP3RoaXMuX2FwcGx5T2xkU2NhbGVSYXRpb1RvUHJpY2VTY2FsZSgpOnRoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKSl9X2RlZmF1bHRCb3R0b21NYXJnaW4oKXtyZXR1cm4uMDEqdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYm90dG9tTWFyZ2luLnZhbHVlKCl9X2RlZmF1bHRUb3BNYXJnaW4oKXtyZXR1cm4uMDEqdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudG9wTWFyZ2luLnZhbHVlKCl9X3VwZGF0ZU1hcmdpbnMoKXtjb25zdCBlPXRoaXMuX2RlZmF1bHRUb3BNYXJnaW4oKSx0PXRoaXMuX2RlZmF1bHRCb3R0b21NYXJnaW4oKTtmb3IoY29uc3QgaSBvZiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMpb2MoaSxlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMpb2MoaSxlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMubV9kYXRhU291cmNlcylpZih0aGlzLmlzT3ZlcmxheShpKSl7Y29uc3Qgcz1pLnByaWNlU2NhbGUoKTtudWxsIT09cyYmKG9jKHMsZSx0KSx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShzLCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpKX1mb3IoY29uc3QgZSBvZiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMpdGhpcy5yZWNhbGN1bGF0ZVByaWNlU2NhbGUoZSwoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9yaWdodFByaWNlU2NhbGVzKXRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKGUsKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSk7dGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1fYmF0Y2hSZW9yZGVyKGUsdCxpKXtpKHRoaXMuc291cmNlc0J5R3JvdXAoKS56T3JkZXJWaXNpYmxlU291cmNlcygpLGUsdCksdGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpLHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLHRoaXMuX29uRGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZCgpLHRoaXMubW9kZWwoKS5mdWxsVXBkYXRlKCl9X3BsYWNlUHJpY2VTY2FsZShlLHQsaSl7aWYoIm92ZXJsYXkiPT09dClyZXR1cm4gdm9pZCBlLmludmFsaWRhdGVNYXJnaW5zKCk7Y29uc3Qgcz0ibGVmdCI9PT10P3RoaXMuX2xlZnRQcmljZVNjYWxlczp0aGlzLl9yaWdodFByaWNlU2NhbGVzLG49dm9pZCAwPT09aT9zLmxlbmd0aDppO3Muc3BsaWNlKG4sMCxlKSxlLm1vZGVDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25QcmljZVNjYWxlTW9kZUNoYW5nZWQuYmluZCh0aGlzLGUpKSxlLmludGVybmFsSGVpZ2h0Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY3VsYXRlUHJpY2VTY2FsZUJ5U2NhbGVSYXRpby5iaW5kKHRoaXMsZSkpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9yZWNhbGN1bGF0ZVRpbWVTY2FsZUJ5U2NhbGVSYXRpby5iaW5kKHRoaXMsZSkpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByaWNlU2NhbGVTZXRNaW5NYXhQcmljZVJhbmdlLmJpbmQodGhpcyxlKSksZS5pc1Zpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fb25QcmljZVNjYWxlSXNWaXNpYmxlQ2hhbmdlZCksZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSksZS5pc0xvY2tTY2FsZSgpJiYoKDAsbC5hc3NlcnQpKG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0aGlzLl9sb2NrZWRQcmljZVNjYWxlPWUsdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz1udWxsKSxlLmludmFsaWRhdGVNYXJnaW5zKCksdGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSgpfV9vblByaWNlU2NhbGVNb2RlQ2hhbmdlZChlLHQsaSl7aWYoaS5sb2NrU2NhbGUmJih0aGlzLl9sb2NrZWRQcmljZVNjYWxlIT09ZSYmbnVsbCE9PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJnRoaXMuX2xvY2tlZFByaWNlU2NhbGUuc2V0TW9kZSh7bG9ja1NjYWxlOiExfSksdGhpcy5fbG9ja2VkUHJpY2VTY2FsZT1lLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89KDAsaWEuc2NhbGVSYXRpbykodGhpcy50aW1lU2NhbGUoKSxlKSksdC5sb2NrU2NhbGUmJiFpLmxvY2tTY2FsZSYmKHRoaXMuX2xvY2tlZFByaWNlU2NhbGU9bnVsbCx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvPW51bGwpLAp0LnBlcmNlbnRhZ2U9PT1pLnBlcmNlbnRhZ2UmJnQuaW5kZXhlZFRvMTAwPT09aS5pbmRleGVkVG8xMDApcmV0dXJuO2NvbnN0IHM9dGhpcy50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksbj10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO251bGwhPT1zJiZudWxsIT09biYmKGUucmVjYWxjdWxhdGVQcmljZVJhbmdlKHMsbiksZS51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSl9X2FwcGx5T2xkU2NhbGVSYXRpb1RvUHJpY2VTY2FsZSgpe3RoaXMuX2lzUmVjYWxjdWxhdGluZ1NjYWxlc3x8bnVsbD09PXRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW98fG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlfHwodGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSEwLHRoaXMuX3NldE5ld1ByaWNlUmFuZ2VCeVNjYWxlUmF0aW8odGhpcy5fbG9ja2VkUHJpY2VTY2FsZSx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvLHRoaXMuX21haW5Tb3VyY2VWaXNpYmxlUHJpY2VSYW5nZSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSksdGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSExKX1fc2V0TmV3UHJpY2VSYW5nZUJ5U2NhbGVSYXRpbyhlLHQsaSxzLG4pe2NvbnN0IHI9KDAsaWEucHJpY2VSYW5nZUJ5U2NhbGVSYXRpbykoZSx0aGlzLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSx0KTtlLnNldFByaWNlUmFuZ2UobnVsbCE9PXI/cjppLHMsbil9X2FwcGx5T2xkU2NhbGVSYXRpb1RvVGltZVNjYWxlKCl7dGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzfHxudWxsPT09dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpb3x8KHRoaXMuX2lzUmVjYWxjdWxhdGluZ1NjYWxlcz0hMCx0aGlzLl9zZXROZXdCYXJTcGFjaW5nQnlTY2FsZVJhdGlvKCksdGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSExKX1fdHJ5VG9BcHBseU5ld1ByaWNlU2NhbGVSYXRpbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0PSgwLGlhLnNjYWxlUmF0aW8pKHRoaXMudGltZVNjYWxlKCksZSk7dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz09PXR8fGUuaXNMb2coKXx8KHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89dCx0aGlzLm1vZGVsKCkubWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eU9uQ2hhbmdlZCgpKX1fcmVjYWxjdWxhdGVUaW1lU2NhbGVCeVNjYWxlUmF0aW8oZSl7ZT09PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJihudWxsIT09dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz90aGlzLl9hcHBseU9sZFNjYWxlUmF0aW9Ub1RpbWVTY2FsZSgpOnRoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKSl9X3NldE5ld0JhclNwYWNpbmdCeVNjYWxlUmF0aW8oKXtjb25zdCBlPXRoaXMudGltZVNjYWxlKCkuZ2V0VmFsaWRCYXJTcGFjaW5nKCgwLGlhLmJhclNwYWNpbmdCeVNjYWxlUmF0aW8pKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbG9ja2VkUHJpY2VTY2FsZSksdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbykpO3RoaXMudGltZVNjYWxlKCkuaXNWYWxpZEJhclNwYWNpbmcoZSkmJnRoaXMudGltZVNjYWxlKCkuc2V0QmFyU3BhY2luZyhlKX1fbWFpblNvdXJjZVZpc2libGVQcmljZVJhbmdlKGUpe2NvbnN0IHQ9dGhpcy50aW1lU2NhbGUoKSxpPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiBuZXcgUGwuUHJpY2VSYW5nZSgtLjUsLjUpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0LmxvZ2ljYWxSYW5nZSgpKSxuPXtzdGFydFRpbWVQb2ludDppLmZpcnN0QmFyKCksZW5kVGltZVBvaW50OmkubGFzdEJhcigpLGxvZ2ljU3RhcnRQb2ludDpzLmxlZnQoKSxsb2dpY0VuZFBvaW50OnMucmlnaHQoKSx0YXJnZXRQcmljZVNjYWxlOmUsc2NhbGVTZXJpZXNPbmx5OmUuaXNTY2FsZVNlcmllc09ubHkoKX07cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKGUubWFpblNvdXJjZSgpKS5wcmljZVJhbmdlKG4pKX1fc2V0TWluTWF4UHJpY2VSYW5nZSgpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0PSgwLGlhLnByaWNlUmFuZ2VCeVNjYWxlUmF0aW8pKGUsdGhpcy50aW1lU2NhbGUoKS5tYXhCYXJTcGFjaW5nKCksdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbyksaT0oMCxpYS5wcmljZVJhbmdlQnlTY2FsZVJhdGlvKShlLHRoaXMudGltZVNjYWxlKCkubWluQmFyU3BhY2luZygpLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW8pO251bGwhPT10JiZlLnNldE1heFByaWNlUmFuZ2UodCksbnVsbCE9PWkmJmUuc2V0TWluUHJpY2VSYW5nZShpKX1fb25QcmljZVNjYWxlU2V0TWluTWF4UHJpY2VSYW5nZShlKXtlPT09dGhpcy5fbG9ja2VkUHJpY2VTY2FsZSYmdGhpcy5fc2V0TWluTWF4UHJpY2VSYW5nZSgpfV9vbkRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKXswPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcj90aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkLmZpcmUoKTp0aGlzLl9idWxrQWN0aW9ucy5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPSEwfV9vblByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7MD09PXRoaXMuX2J1bGtBY3Rpb25zLmFjdGl2ZUNvdW50ZXI/dGhpcy5fcHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpOnRoaXMuX2J1bGtBY3Rpb25zLnByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkPSEwfV9ub25PdmVybGF5UHJpY2VzU291cmNlc0NvdW50KCl7cmV0dXJuIHRoaXMubV9kYXRhU291cmNlcy5maWx0ZXIoKGU9PighKDAsdGkuaXNTdHVkeSkoZSl8fCFlLmlzTGlua2VkVG9TZXJpZXMoKSkmJigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJmUuc2hvd0luT2JqZWN0VHJlZSgpJiYhdGhpcy5pc092ZXJsYXkoZSkpKSkubGVuZ3RofV9yZXN0b3JlTWFpblNlcmllcyhlLHQsaSxzLG4scixoKXtjb25zdCBkPWUuaWQsdT1lLnN0YXRlCjtpZih1JiZuJiYodS5zdHlsZT1uLnN0eWxlPz91LnN0eWxlLHUuaW50ZXJ2YWw9bi5pbnRlcnZhbHx8dS5pbnRlcnZhbCxuLnN5bWJvbCYmbi5zeW1ib2whPT11LnN5bWJvbCYmKHUuc3ltYm9sPW4uc3ltYm9sLGRlbGV0ZSB1LmN1cnJlbmN5SWQsZGVsZXRlIHUudW5pdElkKSksdSYmWyJjYW5kbGVTdHlsZSIsImhvbGxvd0NhbmRsZVN0eWxlIiwiaGFTdHlsZSJdLmZvckVhY2goKGU9Pnt1W2VdJiYodVtlXS53aWNrVXBDb2xvcj11W2VdLndpY2tVcENvbG9yfHx1W2VdLndpY2tDb2xvcix1W2VdLndpY2tEb3duQ29sb3I9dVtlXS53aWNrRG93bkNvbG9yfHx1W2VdLndpY2tDb2xvcil9KSksdSYmKHUuc3RhdHVzVmlld1N0eWxlPXUuc3RhdHVzVmlld1N0eWxlfHx7fSwhdS5zdGF0dXNWaWV3U3R5bGUuc3ltYm9sVGV4dFNvdXJjZSkpe2NvbnN0IGU9ISF1LnN0YXR1c1ZpZXdTdHlsZS5zaG93U3ltYm9sQXNEZXNjcmlwdGlvbjt1LnN0YXR1c1ZpZXdTdHlsZS5zeW1ib2xUZXh0U291cmNlPWU/InRpY2tlciI6ImRlc2NyaXB0aW9uIn1pZih1KXt1LmV4dGVuZGVkSG91cnM/dS5zZXNzaW9uSWQ9ImV4dGVuZGVkIjp1LnNlc3Npb25JZHx8KHUuc2Vzc2lvbklkPSJyZWd1bGFyIiksZGVsZXRlIHUuZXh0ZW5kZWRIb3VycywoMCxRbC5hbGxDaGFydFN0eWxlcykoKS5pbmNsdWRlcyh1LnN0eWxlKXx8KHUuc3R5bGU9Mik7Y29uc3QgZT11LmxpbmVTdHlsZS5zdHlsZVR5cGU7bGV0IHQ7ZGVsZXRlIHUubGluZVN0eWxlLnN0eWxlVHlwZSwwPT09ZSYmKHQ9MTQsdS5saW5lV2l0aE1hcmtlcnNTdHlsZT0oMCxhLmNsb25lKSh1LmxpbmVTdHlsZSkpLDE9PT1lJiYodD0xNSx1LnN0ZXBsaW5lU3R5bGU9KDAsYS5jbG9uZSkodS5saW5lU3R5bGUpKSx2b2lkIDAhPT10JiYyPT09dS5zdHlsZSYmKHUuc3R5bGU9dCk7Y29uc3QgaT11LnZvbEZvb3RwcmludFN0eWxlPy5leHRlbmRlZFN1bW1hcnk/LmZ1dHVyZXNCbG9ja0luZm87aSYmKHUudm9sRm9vdHByaW50U3R5bGUuZXh0ZW5kZWRTdW1tYXJ5LmV4dGVuZGVkT3BlbkludGVyZXN0QmxvY2tJbmZvPXtvcGVuSW50ZXJlc3RMb3c6e3Zpc2libGU6aS5vcGVuSW50ZXJlc3RMb3cudmlzaWJsZT8/ITB9LG9wZW5JbnRlcmVzdEhpZ2g6e3Zpc2libGU6aS5vcGVuSW50ZXJlc3RIaWdoLnZpc2libGU/PyEwfX0sZGVsZXRlIHUudm9sRm9vdHByaW50U3R5bGUuZXh0ZW5kZWRTdW1tYXJ5LmZ1dHVyZXNCbG9ja0luZm8pO2NvbnN0IHM9dGhpcy5fbW9kZWwudGltZXpvbmVFeGNlcHRFeGNoYW5nZSgpLnZhbHVlKCk7bGV0IG49dS5zdnBTdHlsZT8uaW5wdXRzPy5jdXN0b21TZXNzaW9uVFo/P251bGw7aWYobnVsbCE9PXMmJm51bGwhPT1uJiYobj0iZXhjaGFuZ2UiPT09bi50b0xvd2VyQ2FzZSgpP3M6bixuIT09cykpe2NvbnN0IGU9dS5zdnBTdHlsZS5pbnB1dHMuY3VzdG9tU2Vzc2lvbj8/IiIsW3QsaV09ZS5zcGxpdCgiLSIpLHI9KDAsby5nZXRfdGltZXpvbmUpKG4pLGE9KDAsby5nZXRfdGltZXpvbmUpKHMpLGw9c2ModCxyLGEpLGM9c2MoaSxyLGEpO3Uuc3ZwU3R5bGUuaW5wdXRzLmN1c3RvbVNlc3Npb249YCR7bH0tJHtjfWAsdS5zdnBTdHlsZS5pbnB1dHMuY3VzdG9tU2Vzc2lvblRaPXN9fWlmKHUpZm9yKGNvbnN0IGUgb2ZbImxpbmVTdHlsZSIsImxpbmVXaXRoTWFya2Vyc1N0eWxlIiwic3RlcGxpbmVTdHlsZSJdKWljKHVbZV0pO2lmKCFpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLm1haW5QYW5lKCkpLnJlbW92ZURhdGFTb3VyY2UoZSwhMSxyKSx0aGlzLl9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGUscil9Y29uc3QgcD10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLF89cC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy5tX21haW5EYXRhU291cmNlPXA7Y29uc3QgbT11JiZ1LnN0eWxlP3Uuc3R5bGU6dm9pZCAwOzY9PT1tJiYiQVRSIj09PV8ucG5mU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk/Xy5wbmZTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgiVHJhZGl0aW9uYWwiKTo0PT09bSYmIkFUUiI9PT1fLnJlbmtvU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkmJl8ucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgiVHJhZGl0aW9uYWwiKSx1JiYhdS5oYXNPd25Qcm9wZXJ0eSgic2hvd1Nlc3Npb25zIikmJih1LnNob3dTZXNzaW9ucz0hMSksdSYmdm9pZCAwPT09dS5zZXR0bGVtZW50QXNDbG9zZSYmKHUuc2V0dGxlbWVudEFzQ2xvc2U9ITEpLHUmJnQmJih1LnNob3dDb3VudGRvd249ITEpLHUmJih0JiYhKCJzaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHkiaW4gcykmJiJzaG93TGFzdFZhbHVlImluIHUmJnRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNMYXN0VmFsdWUuc2V0VmFsdWUodS5zaG93TGFzdFZhbHVlKSxkZWxldGUgdS5zaG93TGFzdFZhbHVlKSx1JiZ0aGlzLl9yZXN0b3JlTWFpblNlcmllc1N0dWR5SW5wdXRzKGUscC5zdHlsZVN0dWR5SW5mb3MoKSk7Y29uc3QgZz1wLnNlc3Npb25JZCgpOygwLGxsLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgUmVzdG9yZSBzZXJpZXMuIHNvdXJjZS5pZDogJHtlLmlkfSBpZDogJHtkfWAsYy5MT0dMRVZFTC5JTkZPLGFjKSxwLnJlc3RvcmVTdGF0ZShlLHQsaCksdGhpcy5jaGFuZ2VTb3VyY2VJZChwLGQpLCgwLGxsLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgU2VyaWVzIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSByZXN0b3JlZC4gaWQ6ICR7cC5pZCgpfWAsYy5MT0dMRVZFTC5JTkZPLGFjKSxwLnNlc3Npb25JZCgpIT09ZyYmXy5zZXNzaW9uSWQuZmlyZUNoYW5nZWQoKX1hc3luYyBfcmVzdG9yZU1haW5TZXJpZXNTdHVkeUlucHV0cyhlLHQpe2F3YWl0KDAsCmF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IGk9KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuc3R1ZHlWZXJzaW9uaW5nKCkscz0oMCxsLmVuc3VyZURlZmluZWQpKGUuc3RhdGUpLG49e2hhU3R5bGU6KDAsQS5jaGFydFN0eWxlU3R1ZHlJZCkoOCwhMCxzLmhhU3R5bGU/LmlucHV0cykscmVua29TdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSg0LCEwLHMucmVua29TdHlsZT8uaW5wdXRzKSxwYlN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDcsITAscy5wYlN0eWxlPy5pbnB1dHMpLGthZ2lTdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSg1LCEwLHMua2FnaVN0eWxlPy5pbnB1dHMpLHBuZlN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDYsITAscy5wbmZTdHlsZT8uaW5wdXRzKSxyYW5nZVN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDExLCEwLHMucmFuZ2VTdHlsZT8uaW5wdXRzKSx2b2xGb290cHJpbnRTdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSgxNywhMCxzLnZvbEZvb3RwcmludFN0eWxlPy5pbnB1dHMpLHRwb1N0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDE4LCEwLHMudHBvU3R5bGU/LmlucHV0cyksc3ZwU3R5bGU6KDAsQS5jaGFydFN0eWxlU3R1ZHlJZCkoMjAsITAscy5zdnBTdHlsZT8uaW5wdXRzKX0scj17fTtmb3IoY29uc3Rbb11vZiBPYmplY3QuZW50cmllcyhMLlNZTUJPTF9TVFJJTkdfREFUQSkpe2NvbnN0IGE9YCR7TC5TVFlMRV9TSE9SVF9OQU1FU1tvXX1TdHlsZWAsbD1zW2FdPy5pbnB1dHM7aWYobnVsbD09bCljb250aW51ZTtjb25zdCBjPWEgaW4gZT9lW2FdLnN0dWR5SWQ6blthXSxoPW90LlN0dWR5TWV0YUluZm8ucGFyc2VJZFN0cmluZyhjKSxkPXRbYV0uc3R1ZHlJZCx1PW90LlN0dWR5TWV0YUluZm8ucGFyc2VJZFN0cmluZyhkKSxwPWkudXBkYXRlU3R1ZHlJbnB1dHMoaC5pZCxoLnZlcnNpb24sdS52ZXJzaW9uLGwuaW5wdXRzLG51bGwpO3JbYV09e2lucHV0czpwfX10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5tZXJnZUFuZEZpcmUocil9X3Jlc3RvcmVTcGVjaWFsU291cmNlKGUsdCxpKXtlLnR5cGU9PT1wbC5DaGFydEV2ZW50c1NvdXJjZUlkLlZhbHVlJiZ0JiZ0aGlzLl9tb2RlbC5yZXN0b3JlQ2hhcnRFdmVudHMoZSl9X3Byb2Nlc3NBZnRlckJ1bGtBY3Rpb24oKXtjb25zdCBlPXRoaXMuX2J1bGtBY3Rpb25zOzA9PT1lLmFjdGl2ZUNvdW50ZXImJih0aGlzLl9kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUoKSxlLnN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkJiYodGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLGUuc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9ITEpLGUucHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQmJih0aGlzLl9wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksZS5wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD0hMSksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkJiYodGhpcy5fZGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZC5maXJlKCksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPSExKSl9fXZhciBjYyxoYz1pKDUxNTk3MyksZGM9aSg0MDM4MTcpOyFmdW5jdGlvbihlKXtlW2UuTGVmdD0wXT0iTGVmdCIsZVtlLlJpZ2h0PTFdPSJSaWdodCIsZVtlLk5lYXJlc3Q9Ml09Ik5lYXJlc3QifShjY3x8KGNjPXt9KSk7Y29uc3QgdWM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5UaW1lUG9pbnRzIik7ZnVuY3Rpb24gcGMoZSx0KXtyZXR1cm4gbnVsbD09PWV8fG51bGw9PT10P2U9PT10OmUuZmlyc3RJbmRleD09PXQuZmlyc3RJbmRleCYmZS5sYXN0SW5kZXg9PT10Lmxhc3RJbmRleH1jbGFzcyBfY3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3pvZmZzZXQ9MCx0aGlzLl9pdGVtcz1bXSx0aGlzLl9yYW5nZT1uZXcgZC5XYXRjaGVkT2JqZWN0KG51bGwscGMpfWNsZWFyKCl7dGhpcy5fem9mZnNldD0wLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX3JhbmdlLnNldFZhbHVlKG51bGwpfXNpemUoKXtyZXR1cm4gdGhpcy5faXRlbXMubGVuZ3RofXJhbmdlKCl7cmV0dXJuIHRoaXMuX3JhbmdlLnJlYWRvbmx5KCl9bWVyZ2UoZSx0LGkpe2NvbnN0IHM9dGhpcy5fbWVyZ2VJbXBsKGUsdCxpKTtyZXR1cm4gdGhpcy5fdXBkYXRlRmlyc3RBbmRMYXN0SW5kZXgoKSxzfWFkZFRhaWwoZSx0KXtmb3IobGV0IGk9dD8xOjA7aTxlLmxlbmd0aDtpKyspdGhpcy5faXRlbXMucHVzaChlW2ldKTt0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RJbmRleCgpfXJlbW92ZShlKXtjb25zdCB0PXRoaXMuX2luZGV4VG9PZmZzZXQoZSk7aWYobnVsbD09PXQpcmV0dXJuW107Y29uc3QgaT10aGlzLl9pdGVtcy5zcGxpY2UodCkscz1bXTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKylzLnB1c2goe2NoYW5nZToicmVtb3ZlIixpbmRleDplK3QsdmFsdWU6aVt0XX0pO3JldHVybiB0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RJbmRleCgpLHN9dmFsdWVBdChlKXtjb25zdCB0PXRoaXMuX2luZGV4VG9PZmZzZXQoZSk7cmV0dXJuIG51bGwhPT10P3RoaXMuX2l0ZW1zW3RdPz9udWxsOm51bGx9aW5kZXhPZihlLHQpe2lmKHRoaXMuX2l0ZW1zLmxlbmd0aDwxKXJldHVybiBudWxsO2lmKGU+dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdKXJldHVybiB0P3RoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleCh0aGlzLl9pdGVtcy5sZW5ndGgtMSk6bnVsbDtmb3IobGV0IGk9MDtpPHRoaXMuX2l0ZW1zLmxlbmd0aDsrK2kpe2lmKGU9PT10aGlzLl9pdGVtc1tpXSlyZXR1cm4gdGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KGkpO2lmKGU8dGhpcy5faXRlbXNbaV0pcmV0dXJuIHQ/dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KGkpOm51bGx9cmV0dXJuIG51bGx9c3RhdGUoZSl7bGV0IHQ9MCxpPXRoaXMuX2l0ZW1zLmxlbmd0aDtyZXR1cm4gbnVsbCE9PWUmJih0PXRoaXMuX2luZGV4VG9PZmZzZXQoZS5maXJzdEJhcigpKT8/MCwKaT0odGhpcy5faW5kZXhUb09mZnNldChlLmxhc3RCYXIoKSk/P2ktMSkrMSkse2l0ZW1zOnRoaXMuX2l0ZW1zLnNsaWNlKHQsaSksem9mZnNldDp0aGlzLl96b2Zmc2V0LXR9fXJlc3RvcmVTdGF0ZShlKXtudWxsIT09ZSYmKHRoaXMuX2l0ZW1zPWUuaXRlbXMsdGhpcy5fem9mZnNldD1lLnpvZmZzZXQsdGhpcy5fdXBkYXRlRmlyc3RBbmRMYXN0SW5kZXgoKSl9cm91Z2hUaW1lKGUsdD1udWxsKXtlPU1hdGgucm91bmQoZSk7Y29uc3QgaT10aGlzLnZhbHVlQXQoZSk7aWYobnVsbCE9PWkpcmV0dXJuIGk7Y29uc3Qgcz10aGlzLl9pdGVtcztpZighcy5sZW5ndGh8fHMubGVuZ3RoPDIpcmV0dXJuIG51bGw7Y29uc3Qgbj1zLmxlbmd0aC0xLHI9dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApLG89dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4pLGE9c1swXSxsPXNbbl0sYz0obC1hKS8oby1yKTtpZihlPHIpe3JldHVybiBhLShyLWUpKmN9aWYoZT5vKXtjb25zdCBpPWUtbztpZihpPDUwMCYmbnVsbCE9dClyZXR1cm4gdChsLGkpO3JldHVybiBsK2kqY31yZXR1cm4gbnVsbH1yb3VnaEluZGV4KGUsdD1udWxsLGk9MCl7Y29uc3Qgcz10aGlzLl9pdGVtcztpZighcy5sZW5ndGh8fHMubGVuZ3RoPDIpcmV0dXJuIG51bGw7Y29uc3Qgbj1zLmxlbmd0aC0xLHI9dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApLG89dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4pLGE9c1swXSxsPXNbbl07aWYoZT49YSYmZTw9bClyZXR1cm4gdGhpcy5fY2xvc2VzdEluZGV4KGUsaSk7Y29uc3QgYz0obC1hKS8oby1yKTtpZihlPGEpe2NvbnN0IHQ9YS1lO3JldHVybiByLU1hdGgucm91bmQodC9jKX1pZihlPmwpe2NvbnN0IGk9ZS1sO2xldCBzPU1hdGgudHJ1bmMoaS9jKTtpZihzPDUwMCYmbnVsbCE9PXQpe2NvbnN0IGk9dChsLGUpO2kuc3VjY2VzcyYmKHM9aS5yZXN1bHQpfXJldHVybiBvK3N9cmV0dXJuIG51bGx9Y2xvc2VzdEluZGV4TGVmdChlKXtyZXR1cm4gdGhpcy5fY2xvc2VzdEluZGV4KGUsMCl9Zmlyc3RQb2ludCgpe3JldHVybiAwPT09dGhpcy5faXRlbXMubGVuZ3RoP251bGw6dGhpcy5faXRlbXNbMF19bGFzdFBvaW50KCl7cmV0dXJuIDA9PT10aGlzLl9pdGVtcy5sZW5ndGg/bnVsbDp0aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGgtMV19X2Nsb3Nlc3RJbmRleChlLHQpe2NvbnN0IGk9dGhpcy5faXRlbXM7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO2lmKE51bWJlci5pc05hTihlKSlyZXR1cm4gbnVsbDtjb25zdCBzPWkubGVuZ3RoLTE7aWYoZT49aVtzXSlyZXR1cm4gdGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KHMpO2NvbnN0IG49KDAsZy5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxlLCgoZSx0KT0+ZTx0KSk7aWYobjw9cyYmdGhpcy5faXRlbXNbbl09PT1lKXJldHVybiB0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgobik7aWYoMD09PXQpcmV0dXJuIDA9PT1uP251bGw6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4tMSk7aWYoMT09PXQpcmV0dXJuIG4+cz9udWxsOnRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChuKTtjb25zdCByPWUtKHRoaXMuX2l0ZW1zW24tMV0/Py0xLzApLG89KHRoaXMuX2l0ZW1zW25dPz8xLzApLWU7cmV0dXJuIHRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChyPG8/bi0xOm4pfV9tZXJnZUltcGwoZSx0LGkpe2lmKDA9PT1pLmxlbmd0aClyZXR1cm4gdWMubG9nRXJyb3IoIm1lcmdlOiAndmFsdWVzJyBkb2VzIG5vdCBjb250YWluIGFueSB0aW1lIHBvaW50cyIpLFtdO2lmKHQ+dGhpcy5fem9mZnNldCYmZSt0PjApcmV0dXJuIHVjLmxvZ0Vycm9yKCJtZXJnZTogd2hlbiB0aGUgZmlyc3QgdGltZSBwb2ludCBpbmRleCBpcyB1cGRhdGVkLCB3ZSBzaG91bGQgZmlsbCB0aGUgdGltZSBwb2ludHMgc3RhcnRpbmcgZnJvbSB0aGUgZmlyc3Qgb25lIiksW107aWYoMD09PXRoaXMuX2l0ZW1zLmxlbmd0aClyZXR1cm4gdGhpcy5faXRlbXM9aS5zbGljZSgpLHRoaXMuX3pvZmZzZXQ9dCxbe2NoYW5nZToicmVidWlsZCIsaW5kZXg6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApfV07Y29uc3Qgcz1lK3RoaXMuX3pvZmZzZXQ7aWYoczwwKXtjb25zdCBuPU1hdGguYWJzKHMpO2lmKGkubGVuZ3RoPG4pcmV0dXJuIHVjLmxvZ0Vycm9yKCJtZXJnZTogJ3ZhbHVlcycgZG9lcyBub3QgY29udGFpbiBlbm91Z2ggdGltZSBwb2ludHMgdG8gZmlsbCBpbiB0aGUgbmV3IGl0ZW1zLiAnaW5kZXgnOiAiK2UudG9TdHJpbmcoKSsiLCBwcmV2aW91cyAnem9mZnNldCc6ICIrdGhpcy5fem9mZnNldC50b1N0cmluZygpKyIsIG5ldyAnem9mZnNldCc6ICIrdC50b1N0cmluZygpKyIsICd2YWx1ZXMubGVuZ3RoJzogIitpLmxlbmd0aCksW107dGhpcy5faXRlbXM9bmV3IEFycmF5KG4pLmNvbmNhdCh0aGlzLl9pdGVtcyksdGhpcy5fem9mZnNldD10O2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7KytzKXRoaXMuX2l0ZW1zW2Urcyt0XT1pW3NdO3JldHVyblt7Y2hhbmdlOiJyZWJ1aWxkIixpbmRleDp0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoMCl9XX1jb25zdCBuPVtdO2xldCByPXM7Zm9yKDtyPHRoaXMuX2l0ZW1zLmxlbmd0aCYmci1zPGkubGVuZ3RoOysrcil0aGlzLl9pdGVtc1tyXT1pW3Itc10sbi5wdXNoKHtjaGFuZ2U6InVwZGF0ZSIsaW5kZXg6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KHIpLHZhbHVlOmlbci1zXX0pO2NvbnN0IG89cytpLmxlbmd0aDtpZihvPnRoaXMuX2l0ZW1zLmxlbmd0aCl7Y29uc3QgZT1vLXRoaXMuX2l0ZW1zLmxlbmd0aDtmb3IobGV0IHQ9cjt0PHIrZTsrK3Qpe2NvbnN0IGU9dGhpcy5faXRlbXMubGVuZ3RoO3RoaXMuX2l0ZW1zLnB1c2goaVt0LXNdKSxuLnB1c2goe2NoYW5nZToiYXBwZW5kIixpbmRleDp0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoZSksdmFsdWU6aVt0LXNdfSl9fWVsc2V7Zm9yKGxldCBlPW87ZTx0aGlzLl9pdGVtcy5sZW5ndGg7KytlKW4ucHVzaCh7Y2hhbmdlOiJyZW1vdmUiLGluZGV4OnRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChlKSx2YWx1ZTp0aGlzLl9pdGVtc1tlXX0pO3RoaXMuX2l0ZW1zLmxlbmd0aD1vfXJldHVybiB0aGlzLl96b2Zmc2V0PXQsbn0KX3VwZGF0ZUZpcnN0QW5kTGFzdEluZGV4KCl7Y29uc3QgZT10aGlzLl9vZmZzZXRUb0luZGV4KDApLHQ9dGhpcy5fb2Zmc2V0VG9JbmRleCh0aGlzLl9pdGVtcy5sZW5ndGgtMSk7dGhpcy5fcmFuZ2Uuc2V0VmFsdWUobnVsbD09PWV8fG51bGw9PT10P251bGw6e2ZpcnN0SW5kZXg6ZSxsYXN0SW5kZXg6dH0pfV92YWxpZE9mZnNldFRvSW5kZXgoZSl7cmV0dXJuIGUtdGhpcy5fem9mZnNldH1fb2Zmc2V0VG9JbmRleChlKXtyZXR1cm4gMDw9ZSYmZTx0aGlzLnNpemUoKT90aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoZSk6bnVsbH1faW5kZXhUb09mZnNldChlKXtjb25zdCB0PWUrdGhpcy5fem9mZnNldDtyZXR1cm4gMDw9dCYmdDx0aGlzLnNpemUoKT90Om51bGx9fXZhciBtYz1pKDgxNDU4OSk7Y29uc3QgZ2M9bmV3IE1hcChbWzAsLjFdLFsxMSwuMV0sWzEsLjM1XSxbOSwuMzVdLFsxMiwuMzVdLFs4LC4zNV1dKTtjbGFzcyBmY3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3N0eWxlU3BlY2lmaWNSYW5nZXM9bmV3IE1hcCx0aGlzLl9sb2dpY2FsUmFuZ2U9ZSx0aGlzLl9kZWZhdWx0U3R5bGU9dH1zdHJpY3RSYW5nZShlKXtpZihudWxsPT09dGhpcy5fbG9naWNhbFJhbmdlKXJldHVybiBudWxsO3ZvaWQgMD09PWUmJihlPXRoaXMuX2RlZmF1bHRTdHlsZSk7bGV0IHQ9dGhpcy5fc3R5bGVTcGVjaWZpY1Jhbmdlcy5nZXQoZSk7aWYodm9pZCAwPT09dCl7Y29uc3QgaT0oZ2MuZ2V0KGUpfHwwKS8yO3Q9bmV3IGhjLkJhcnNSYW5nZShNYXRoLmZsb29yKHRoaXMuX2xvZ2ljYWxSYW5nZS5sZWZ0KCkraSksTWF0aC5jZWlsKHRoaXMuX2xvZ2ljYWxSYW5nZS5yaWdodCgpLWkpKSx0aGlzLl9zdHlsZVNwZWNpZmljUmFuZ2VzLnNldChlLHQpfXJldHVybiB0fWxvZ2ljYWxSYW5nZSgpe3JldHVybiB0aGlzLl9sb2dpY2FsUmFuZ2V9aXNWYWxpZCgpe3JldHVybiBudWxsIT09dGhpcy5fbG9naWNhbFJhbmdlfXN0YXRpYyBpbnZhbGlkKCl7cmV0dXJuIG5ldyBmYyhudWxsLDEpfX12YXIgU2MsdmM9aSgyMzgxMDMpLHljPWkoMzgwNTQwKSxiYz1pKDUxNzI5Myksd2M9aSgyNTAzMzQpLENjPWkoMjk3MTExKSxQYz1pKDU5MTc0MSksVGM9aSgxODk5OTgpOyFmdW5jdGlvbihlKXtlW2UuTWFya1BhZGRpbmdGb3IxNFB4Rm9udD01XT0iTWFya1BhZGRpbmdGb3IxNFB4Rm9udCIsZVtlLk1pbk1hcmtTaXplRm9yMTRQeEZvbnQ9NTBdPSJNaW5NYXJrU2l6ZUZvcjE0UHhGb250IixlW2UuRGVmYXVsdFNraXBJdGVtc1JhdGlvPS41XT0iRGVmYXVsdFNraXBJdGVtc1JhdGlvIixlW2UuTWF4RGF5QXZlcmFnZURldmlhdGlvblBlcmNlbnQ9MjVdPSJNYXhEYXlBdmVyYWdlRGV2aWF0aW9uUGVyY2VudCJ9KFNjfHwoU2M9e30pKTtjb25zdCB4Yz1Dbi5ZRUFSX1NQQU4tMSxNYz1Dbi5ZRUFSX1NQQU4tMixJYz1Dbi5EQVlfU1BBTi0xLExjPUNuLkhPVVJfU1BBTi0xLEFjPUNuLkhPVVJfU1BBTi0yLGtjPUNuLkhPVVJfU1BBTi0zLERjPXtbQ24uTUlMTElTRUNPTkRfU1BBTl06MSxbQ24uSE9VUl9TUEFOKzJdOjEsW0NuLkhPVVJfU1BBTisxXToxLFtDbi5TRUNPTkRfU1BBTl06LjksW01jXTouMSxbQ24uREFZX1NQQU5dOi44NX0sRWM9e1tDbi5EQVlfU1BBTl06MjMwfTtmdW5jdGlvbiBSYyhlLHQpe3JldHVybiBudWxsIT09d2MuY3VzdG9tRm9ybWF0dGVycy50aWNrTWFya0Zvcm1hdHRlcj93Yy5jdXN0b21Gb3JtYXR0ZXJzLnRpY2tNYXJrRm9ybWF0dGVyKGUsdCk6ZnVuY3Rpb24oZSx0KXtzd2l0Y2godCl7Y2FzZSJUaW1lV2l0aE1pbGxpc2Vjb25kcyI6cmV0dXJuIG5ldyBDYy5UaW1lRm9ybWF0dGVyKHZjLmhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdCkuZm9ybWF0KGUpO2Nhc2UiVGltZVdpdGhTZWNvbmRzIjpjYXNlIlRpbWUiOmNvbnN0IGk9IlRpbWVXaXRoU2Vjb25kcyI9PT10PygwLFBjLmdldEhvdXJNaW51dGVTZWNvbmRGb3JtYXQpKFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpOigwLFBjLmdldEhvdXJNaW51dGVGb3JtYXQpKFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpO3JldHVybiBuZXcgQ2MuVGltZUZvcm1hdHRlcihpKS5mb3JtYXQoZSk7Y2FzZSJEYXlPZk1vbnRoIjpyZXR1cm4gZS5nZXRVVENEYXRlKCkudG9TdHJpbmcoKTtjYXNlIk1vbnRoIjpyZXR1cm4geWMubW9udGhzU2hvcnROYW1lc1tlLmdldFVUQ01vbnRoKCldO2Nhc2UiWWVhciI6cmV0dXJuIGUuZ2V0VVRDRnVsbFllYXIoKS50b1N0cmluZygpfX0oZSx0KX1jb25zdCBWYz0oMCxCYS5kZWZhdWx0KSgoZT0+KDAsUmkucGFyc2VGb250KShlKT8uc2l6ZT8/MTIpKTtmdW5jdGlvbiBCYyhlLHQsaSxzKXtjb25zdCBuPU5jKGUsdCkscj1NYXRoLm1heChlLndpZHRoLHMpO3JldHVybntsZWZ0Om4tci8yLWkscmlnaHQ6bityLzIraX19ZnVuY3Rpb24gTmMoZSx0KXtyZXR1cm4gZS5pbmRleCp0fWZ1bmN0aW9uIE9jKGUsdCl7cmV0dXJuIHQ9PT1lLmxlbmd0aD9udWxsOmVbdF19ZnVuY3Rpb24gV2MoZSx0LGkscyxuKXtjb25zdCByPUJjKGUsaSxzLG4pLG89QmModCxpLHMsbik7cmV0dXJuIHIucmlnaHQ+by5sZWZ0fWZ1bmN0aW9uIEZjKGUpe3JldHVybiBuZXcgRGF0ZSgxZTMqZSl9ZnVuY3Rpb24gSGMoZSl7aWYoZS5zcGFuPj1Dbi5NT05USF9TUEFOJiZlLnNwYW48Q24uWUVBUl9TUEFOKXtjb25zdCB0PSgwLG8uZ2V0X21vbnRoKShGYyhlLnRpbWUpKTtyZXR1cm4gdD09PW8uSlVMWT94Yzp0PT09by5NQVJDSHx8dD09PW8uTUFZfHx0PT09by5TRVBURU1CRVJ8fHQ9PT1vLk5PVkVNQkVSP01jOkNuLk1PTlRIX1NQQU59aWYoZS5zcGFuPj1Dbi5NSU5VVEVfU1BBTiYmZS5zcGFuPENuLkhPVVJfU1BBTil7Y29uc3QgdD0oMCxvLmdldF9taW51dGVzKShGYyhlLnRpbWUpKTtyZXR1cm4gdCUzMD09MD9MYzp0JTE1PT0wP0FjOnQlNT09MD9rYzpDbi5NSU5VVEVfU1BBTn1pZihlLnNwYW4+PUNuLkhPVVJfU1BBTiYmZS5zcGFuPENuLkRBWV9TUEFOKXtjb25zdCB0PSgwLG8uZ2V0X2hvdXJzKShGYyhlLnRpbWUpKTtyZXR1cm4gMD09PXR8fDEyPT09dD9JYzplLnNwYW59CnJldHVybiBlLnNwYW4+PUNuLldFRUtfU1BBTiYmZS5zcGFuPENuLk1PTlRIX1NQQU4/Q24uREFZX1NQQU46ZS5zcGFufWZ1bmN0aW9uIHpjKGUsdCl7Y29uc3QgaT1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09Q24uTUlMTElTRUNPTkRfU1BBTiYmdD8iVGltZVdpdGhNaWxsaXNlY29uZHMiOmU8Q24uTUlOVVRFX1NQQU4mJnQ/IlRpbWVXaXRoU2Vjb25kcyI6ZTxDbi5EQVlfU1BBTiYmdD8iVGltZSI6ZTxDbi5XRUVLX1NQQU58fGU8Q24uTU9OVEhfU1BBTj8iRGF5T2ZNb250aCI6ZTxDbi5ZRUFSX1NQQU4/Ik1vbnRoIjoiWWVhciJ9KGUsdCkscz1uZXcgYmMuQ2lyY3VsYXJDYWNoZUJ1ZmZlcigxNTApO3JldHVybiBlPT57bGV0IHQ9cy5nZXQoZS50aW1lKTtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9UmMoRmMoZS50aW1lKSxpKSxzLnNldChlLnRpbWUsdCkpLHR9fWNsYXNzIFVje2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fbGFiZWxzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZT1udWxsLHRoaXMuX2NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZm9ybWF0dGVyQnlTcGFuPW5ldyBNYXAsdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IEJpLlRleHRXaWR0aENhY2hlKDFlNCksdGhpcy5fdGltZVZpc2libGU9ZSx0aGlzLl9zcGFyc2VNYXJrcz10LHRoaXMuX2ZvbnQ9aTtUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9sYWJlbHNJbnZhbGlkYXRlZD0hMCx0aGlzLl9mb3JtYXR0ZXJCeVNwYW4uY2xlYXIoKSx0aGlzLl9jYWNoZT1udWxsfSkpLHRoaXMuX2ZvbnQuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3RleHRXaWR0aENhY2hlLnJlc2V0KCksdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fY2FjaGU9bnVsbH0pKSx0aGlzLl9zcGFyc2VNYXJrcy5zdWJzY3JpYmUoKCgpPT57dGhpcy5fY2FjaGU9bnVsbH0pKX1kZXN0cm95KCl7VGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVZpc2libGUucmVsZWFzZSgpLHRoaXMuX3NwYXJzZU1hcmtzLnJlbGVhc2UoKSx0aGlzLl9mb250LnJlbGVhc2UoKX1yZXNldCgpe3RoaXMuX3Jlc2V0SW1wbCgpLHRoaXMuX2NoYW5nZWQuZmlyZSgpfWluZGV4VG9UaW1lKGUpe2NvbnN0IHQ9dGhpcy5fbWFya3NCeUluZGV4LmdldChlKTtyZXR1cm4gdD9uZXcgRGF0ZSgxZTMqdC50aW1lKTpudWxsfW5lYXJlc3RJbmRleChlKXtsZXQgdD10aGlzLm1pbkluZGV4Pz8wLGk9dGhpcy5tYXhJbmRleD8/MDtmb3IoO2ktdD4yOyl7aWYoMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0KSkudGltZT09PWUpcmV0dXJuIHQ7aWYoMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldChpKSkudGltZT09PWUpcmV0dXJuIGk7Y29uc3Qgcz1NYXRoLnJvdW5kKCh0K2kpLzIpOzFlMyooMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcmtzQnlJbmRleC5nZXQocykpLnRpbWU+ZT9pPXM6dD1zfXJldHVybiB0fWVzdGltYXRlTGVmdChlKXtjb25zdCB0PXRoaXMuX2RlbnNpdHkoKTtpZih2b2lkIDA9PT10aGlzLm1pbkluZGV4fHwhdClyZXR1cm4gMDtyZXR1cm4oMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0aGlzLm1pbkluZGV4KSkudGltZS1lKS90fW1lcmdlKGUsdCl7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCBpPWVbMF0uaW5kZXgscz1lW2UubGVuZ3RoLTFdLmluZGV4LG49aTw9KHRoaXMubWluSW5kZXg/PzApJiZzPj0odGhpcy5tYXhJbmRleD8/MCk7KHR8fG4pJiZ0aGlzLl9yZXNldEltcGwoKTtjb25zdCByPXRoaXMuX21hcmtzQnlTcGFuLG89bmV3IFNldDtpZih0aGlzLl9tYXJrc0J5SW5kZXguc2l6ZT4wKWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5pbmRleCxpPXRoaXMuX21hcmtzQnlJbmRleC5nZXQoZSk7aSYmKGkuaW5kZXg9PT1lJiZpLm92ZXJyaWRkZW5TcGFuPT09SGModCkmJmkudGltZT09PXQudGltZXx8dGhpcy5fcmVtb3ZlVGlja21hcmsoaSkpO2NvbnN0IHM9dGhpcy5fbWFya3NCeVRpbWUuZ2V0KHQudGltZSk7cyYmcy5pbmRleCE9PWUmJnRoaXMuX3JlbW92ZVRpY2ttYXJrKHMpfWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5pbmRleDtpZih0aGlzLl9tYXJrc0J5SW5kZXguaGFzKGUpKWNvbnRpbnVlO2NvbnN0IGk9SGModCkscz10aGlzLl9mb3JtYXRMYWJlbCh0KSxuPXsuLi50LGxhYmVsOnMsb3ZlcnJpZGRlblNwYW46aSx3aWR0aDooMCxLdC5tZWFzdXJlVGV4dCkocyx0aGlzLl9mb250LnZhbHVlKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUpLndpZHRofTt0aGlzLl9tYXJrc0J5SW5kZXguc2V0KGUsbiksdGhpcy5fbWFya3NCeVRpbWUuc2V0KHQudGltZSxuKTtsZXQgYT1yW2ldO3ZvaWQgMD09PWEmJihhPVtdLHJbaV09YSk7Y29uc3QgbD0wPT09YS5sZW5ndGh8fGFbYS5sZW5ndGgtMV0udGltZTx0LnRpbWU7YS5wdXNoKG4pLGx8fG8uYWRkKGkpfXRoaXMubWluSW5kZXg9TWF0aC5taW4odGhpcy5taW5JbmRleD8/MS8wLGkpLHRoaXMubWF4SW5kZXg9TWF0aC5tYXgodGhpcy5tYXhJbmRleD8/LTEvMCxzKTtmb3IobGV0IGU9ci5sZW5ndGg7ZS0tOylyW2VdJiYocltlXS5sZW5ndGh8fGRlbGV0ZSByW2VdLG8uaGFzKGUpJiZyW2VdLnNvcnQoKChlLHQpPT5lLnRpbWUtdC50aW1lKSkpO3RoaXMuX2NhY2hlPW51bGwsdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZT1udWxsLHRoaXMuX2NoYW5nZWQuZmlyZSgpfWJ1aWxkKGUpe2lmKHRoaXMuX2xhYmVsc0ludmFsaWRhdGVkJiYodGhpcy5fbWFya3NCeUluZGV4LmZvckVhY2goKGU9PntlLmxhYmVsPXRoaXMuX2Zvcm1hdExhYmVsKGUpfSkpLHRoaXMuX2xhYmVsc0ludmFsaWRhdGVkPSExKSwKdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQmJih0aGlzLl9tYXJrc0J5SW5kZXguZm9yRWFjaCgoZT0+e2Uud2lkdGg9KDAsS3QubWVhc3VyZVRleHQpKGUubGFiZWwsdGhpcy5fZm9udC52YWx1ZSgpLHRoaXMuX3RleHRXaWR0aENhY2hlKS53aWR0aH0pKSx0aGlzLl93aWR0aHNJbnZhbGlkYXRlZD0hMSksdGhpcy5fY2FjaGU/LmJhclNwYWNpbmc9PT1lKXJldHVybiB0aGlzLl9jYWNoZS5tYXJrcztjb25zdCB0PVZjKHRoaXMuX2ZvbnQudmFsdWUoKSksaT01LzE0KnQscz01MC8xNCp0O2xldCBuPVtdO2ZvcihsZXQgdD10aGlzLl9tYXJrc0J5U3Bhbi5sZW5ndGg7dC0tOyl7aWYoIXRoaXMuX21hcmtzQnlTcGFuW3RdKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy5fbWFya3NCeVNwYW5bdF07aWYoMD09PXIubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IG89dDxDbi5EQVlfU1BBTiYmdGhpcy5fc3BhcnNlTWFya3MudmFsdWUoKSYmdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2UoKSxhPW47bj1bXTtsZXQgYz0wLGg9MDtjb25zdCBkPXIubGVuZ3RoPjI/RWNbdF06dm9pZCAwO2xldCB1PW51bGwscD0tMS8wLF89bnVsbCxtPTA7Zm9yKDtjPGEubGVuZ3RofHxoPHIubGVuZ3RoOyl7Y29uc3QgdD1PYyhhLGMpLG89T2MocixoKTtpZih2b2lkIDAhPT1kJiZudWxsIT09byYmbyE9PXUpe2lmKG51bGwhPT1fKXtjb25zdCB0PW51bGwhPT11JiZ1LmluZGV4Pl8uaW5kZXg/dTpfLGk9TmMobyxlKS1OYyh0LGUpO3A9TWF0aC5tYXgocCxpKX11PW99bnVsbCE9PXQ/bnVsbCE9PW8/dC5pbmRleDxvLmluZGV4PygoMCxsLmFzc2VydCkobnVsbD09PV98fCFXYyhfLHQsZSxpLHMpKSxuLnB1c2godCksXz10LGMrKyk6KG51bGwhPT1fJiZXYyhfLG8sZSxpLHMpfHxXYyhvLHQsZSxpLHMpP20rKzoobi5wdXNoKG8pLF89byksaCsrKTooKDAsbC5hc3NlcnQpKG51bGw9PT1ffHwhV2MoXyx0LGUsaSxzKSksbi5wdXNoKHQpLF89dCxjKyspOihudWxsIT09byYmKG51bGwhPT1fJiZXYyhfLG8sZSxpLHMpP20rKzoobi5wdXNoKG8pLF89bykpLGgrKyl9aWYodGhpcy5fc3BhcnNlTWFya3MudmFsdWUoKSYmYS5sZW5ndGg+MCYmbS9yLmxlbmd0aD4oRGNbdF0/Py41KSYmIW8pe249YTticmVha31pZih2b2lkIDAhPT1kJiZOdW1iZXIuaXNGaW5pdGUocCkmJnA8PWQpYnJlYWt9cmV0dXJuIHRoaXMuX2NhY2hlPXttYXJrczpuLGJhclNwYWNpbmc6ZX0sbn1tYXJrc0J5U3Bhbigpe2NvbnN0IGU9e307Zm9yKGxldCB0PXRoaXMuX21hcmtzQnlTcGFuLmxlbmd0aDt0LS07KWlmKHRoaXMuX21hcmtzQnlTcGFuW3RdKXtjb25zdCBpPVtdO2VbdF09aTtmb3IoY29uc3QgZSBvZiB0aGlzLl9tYXJrc0J5U3Bhblt0XSlpLnB1c2goW2UuaW5kZXgsZS50aW1lLGUub3ZlcnJpZGRlblNwYW5dKX1yZXR1cm4gZX1zdGF0ZShlKXtsZXQgdD1bXTtmb3IobGV0IGU9dGhpcy5fbWFya3NCeVNwYW4ubGVuZ3RoO2UtLTspdGhpcy5fbWFya3NCeVNwYW5bZV0mJih0PXQuY29uY2F0KHRoaXMuX21hcmtzQnlTcGFuW2VdKSk7aWYobnVsbCE9PWUpe2NvbnN0IGk9ZS5maXJzdEJhcigpLHM9ZS5sYXN0QmFyKCk7dD10LmZpbHRlcigoZT0+ZS5pbmRleD49aSYmZS5pbmRleDw9cykpfXJldHVybnttYXJrczp0Lm1hcCgoZT0+W2Uuc3BhbixlLnRpbWUsZS5pbmRleF0pKSx2ZXJzaW9uOjJ9fXJlc3RvcmVTdGF0ZShlKXtpZih0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMubWF4SW5kZXg9dm9pZCAwLHRoaXMubWluSW5kZXg9dm9pZCAwLGUmJmUubWFya3MmJmUubWFya3MubGVuZ3RoKWlmKDI9PT1lLnZlcnNpb24pe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKTt0aGlzLm1lcmdlKHQpfWVsc2UgdGhpcy5tZXJnZShlLm1hcmtzKX1yZW1vdmVUYWlsKGUpe2xldCB0PS0xLzA7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fbWFya3NCeUluZGV4LnZhbHVlcygpKWkudGltZT5lP3RoaXMuX3JlbW92ZVRpY2ttYXJrKGkpOnQ9TWF0aC5tYXgodCxpLmluZGV4KTt0aGlzLm1heEluZGV4PU51bWJlci5pc0Zpbml0ZSh0KT90OnZvaWQgMCx2b2lkIDA9PT10aGlzLm1heEluZGV4JiYodGhpcy5taW5JbmRleD12b2lkIDApLHRoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGU9bnVsbH1hZGRUYWlsKGUpe2lmKHZvaWQgMCE9PXRoaXMubWF4SW5kZXgpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5pbmRleD10aGlzLm1heEluZGV4K3QrMTt0aGlzLm1lcmdlKGUpfV9yZXNldEltcGwoKXt0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMubWluSW5kZXg9dm9pZCAwLHRoaXMubWF4SW5kZXg9dm9pZCAwLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fZm9ybWF0dGVyQnlTcGFuLmNsZWFyKCl9X3JlbW92ZVRpY2ttYXJrKGUpe2NvbnN0IHQ9ZS5pbmRleCxpPWUudGltZTtpZih0aGlzLl9tYXJrc0J5SW5kZXguZ2V0KHQpIT09ZSlyZXR1cm47dGhpcy5fbWFya3NCeUluZGV4LmRlbGV0ZSh0KSx0aGlzLl9tYXJrc0J5VGltZS5kZWxldGUoaSk7Y29uc3Qgcz10aGlzLl9tYXJrc0J5U3BhbltlLm92ZXJyaWRkZW5TcGFuXSxuPSgwLGcubG93ZXJib3VuZCkocyxlLCgoZSx0KT0+ZS50aW1lPHQudGltZSkpOygwLGwuYXNzZXJ0KShuPj0wJiZuPHMubGVuZ3RoJiZzW25dLnRpbWU9PT1pLCJTZWFyY2hlZCB0aWNrbWFyayBpcyBub3QgZm91bmQiKSxzLnNwbGljZShuLDEpLDA9PT1zLmxlbmd0aCYmZGVsZXRlIHRoaXMuX21hcmtzQnlTcGFuW2Uub3ZlcnJpZGRlblNwYW5dfV9kZW5zaXR5KCl7aWYodm9pZCAwPT09dGhpcy5taW5JbmRleHx8dm9pZCAwPT09dGhpcy5tYXhJbmRleClyZXR1cm4gMDtjb25zdCBlPXRoaXMubWF4SW5kZXgtdGhpcy5taW5JbmRleDtpZigwPT09ZSlyZXR1cm4gMDtyZXR1cm4gMWUzKigoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcmtzQnlJbmRleC5nZXQodGhpcy5tYXhJbmRleCkpLnRpbWUtKDAsCmwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0aGlzLm1pbkluZGV4KSkudGltZSkvZX1fZm9ybWF0TGFiZWwoZSl7Y29uc3QgdD1IYyhlKTtsZXQgaT10aGlzLl9mb3JtYXR0ZXJCeVNwYW4uZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT16Yyh0LHRoaXMuX3RpbWVWaXNpYmxlLnZhbHVlKCkpLHRoaXMuX2Zvcm1hdHRlckJ5U3Bhbi5zZXQodCxpKSksaShlKX1fc2tpcEludHJhRGF5TWFya3NTcGFyc2UoKXtpZihudWxsPT09dGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZSl7Y29uc3QgZT10aGlzLl9tYXJrc0J5U3BhbltDbi5EQVlfU1BBTl0/P1tdO3RoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGU9ZnVuY3Rpb24oZSl7aWYoZS5sZW5ndGg8MylyZXR1cm4gMDtjb25zdCB0PVtdO2xldCBpPW51bGw7Zm9yKGNvbnN0IHMgb2YgZSl7aWYobnVsbCE9PWkpe2NvbnN0IGU9TWF0aC5hYnMocy5pbmRleC1pKTt0LnB1c2goZSl9aT1zLmluZGV4fWNvbnN0IHM9dC5yZWR1Y2UoKChlLHQpPT5lK3QpLDApL3QubGVuZ3RoO3JldHVybiB0LnJlZHVjZSgoKGUsdCk9PmUrTWF0aC5hYnModC1zKSkpL3QubGVuZ3RoL3MqMTAwfShlKT49MjV9cmV0dXJuIHRoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGV9fWNsYXNzIEdje2NvbnN0cnVjdG9yKCl7dGhpcy5fYmFzZUluZGV4PTB9c2V0QmFzZUluZGV4KGUpe3RoaXMuX2Jhc2VJbmRleD1lfWluZGV4VG9Ub3RhbFdlaWdodChlKXtyZXR1cm4gZS10aGlzLl9iYXNlSW5kZXh9dG90YWxXZWlnaHRUb0luZGV4KGUpe3JldHVybiB0aGlzLl9iYXNlSW5kZXgrZX1pbmRleFJhbmdlVG9XZWlnaHRzKGUsdCxpKXtjb25zdCBzPWUtdGhpcy5fYmFzZUluZGV4O3JldHVyblt7bGVmdDpzLS41LGNlbnRlcjpzLHJpZ2h0OnMrLjUsdGltZVBvaW50SW5kZXg6ZX1dfXN0YXRlKGUpe3JldHVybnt0eXBlOiJjb25zdGFudCIsc3RhdGU6e2Jhc2VJbmRleDp0aGlzLl9iYXNlSW5kZXh9fX1yZXN0b3JlU3RhdGUoZSl7dGhpcy5fYmFzZUluZGV4PWUuc3RhdGUuYmFzZUluZGV4fW5lZWRBZGp1c3RpbmdPbkRhdGFSZXN0b3JpbmcoKXtyZXR1cm4hMX19dmFyIGpjPWkoNDc1NTU5KTt2YXIgcWM9aSgyNDE5NTYpLCRjPWkoNTUyMTQ1KTtjb25zdCBZYz17cHJlc2VydmVCYXJTcGFjaW5nOiExLGxvY2tWaXNpYmxlVGltZVJhbmdlT25SZXNpemU6ITEscmlnaHRCYXJTdGF5c09uU2Nyb2xsOiEwLG1pbkJhclNwYWNpbmc6LjV9LEtjPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImxvd19kZW5zaXR5X2JhcnMiKSxYYz1LYz8xOjIsWmM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5UaW1lU2NhbGUiKTt2YXIgSmM7IWZ1bmN0aW9uKGUpe2VbZS5EZWZhdWx0UmlnaHRPZmZzZXQ9MTBdPSJEZWZhdWx0UmlnaHRPZmZzZXQiLGVbZS5EZWZhdWx0QmFyU3BhY2luZz02XT0iRGVmYXVsdEJhclNwYWNpbmciLGVbZS5VbnBsb3R0YWJsZUluZGV4Q29vcmQ9LTUwMF09IlVucGxvdHRhYmxlSW5kZXhDb29yZCIsZVtlLkRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2U9NV09IkRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UiLGVbZS5NYXhJdGVyYXRpb25zRm9yRHluYW1pY0JhclNwYWNpbmdBZGp1c3Q9MjBdPSJNYXhJdGVyYXRpb25zRm9yRHluYW1pY0JhclNwYWNpbmdBZGp1c3QifShKY3x8KEpjPXt9KSk7Y2xhc3MgUWN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl93aWR0aD0wLHRoaXMuX3dpZHRoQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yaWdodE9mZnNldD0xMCx0aGlzLl9yaWdodE9mZnNldENoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fbWF4UmlnaHRPZmZzZXRDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldD1uZXcgaC5XYXRjaGVkVmFsdWUoMTApLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2U9bmV3IGguV2F0Y2hlZFZhbHVlKDUpLHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2xhc3REZWZhdWx0UmlnaHRPZmZzZXQ9dm9pZCAwLHRoaXMuX2Jhc2VJbmRleD1udWxsLHRoaXMuX2xlZnRFZGdlSW5kZXg9bnVsbCx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9iYXJTcGFjaW5nPTYsdGhpcy5fc25hcHNob3RCYXJTcGFjaW5nPW51bGwsdGhpcy5fdmlzaWJsZUJhcnM9ZmMuaW52YWxpZCgpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2xvZ2ljYWxSYW5nZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcG9pbnRzPW5ldyBfYyx0aGlzLl9vblNjcm9sbD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZXNldERlbGVnYXRlPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3Njcm9sbERhdGE9bnVsbCx0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9bnVsbCx0aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZT1udWxsLHRoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT0hMSx0aGlzLl9yZXF1ZXN0ZWRUaWNrbWFya3NDb3VudD0wLHRoaXMuX2VuZE9mRGF0YT0hMSx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMSx0aGlzLl9yZXNldEF2YWlsYWJsZT1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3BvaW50V2VpZ2h0cz1uZXcgR2MsdGhpcy5fd2VpZ2h0ZWRQb2ludHNDYWNoZT1bXSx0aGlzLl90aHJvdHRsZVJlcXVlc3RNb3JlRGF0YU9uU2Nyb2xsPSgwLEtvLmRlZmF1bHQpKHRoaXMuX3JlcXVlc3RNb3JlRGF0YSwzMDApLHRoaXMuX29wdGlvbnM9KDAseGkuZGVlcEV4dGVuZCkoe30sWWMsdCksdGhpcy5fbW9kZWw9ZSx0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzPWUucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMsdGhpcy5fdGlja01hcmtzPW5ldyBVYygoMCx1LmNvbWJpbmUpKChlPT4hZS5pc0RXTSgpKSxlLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCksKDAsCnUuY29tYmluZSkoKChlLHQpPT4hZS5pc1RpY2tzKCkmJiFlLmlzU2Vjb25kcygpJiYhKDAsQS5pc1JhbmdlQmFzZWRTdHlsZSkodCkpLGUubWFpblNlcmllcygpLmludGVydmFsT2JqKCkud2Vha1JlZmVyZW5jZSgpLCgwLCRjLmNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKShlLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUpLm93bmVyc2hpcCgpKS5vd25lcnNoaXAoKSwoMCxxYy5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+KDAsUmkubWFrZUZvbnQpKHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpKSksdGhpcy5fc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZSkub3duZXJzaGlwKCkpLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldC5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0LnNldFZhbHVlKCExKSx0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXRPcHRpb25zVXBkYXRlZCgpfSkpLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2Uuc3Vic2NyaWJlKChlPT57aWYoZT49MTAwfHxlPDApe2NvbnN0IHQ9TWF0aC5tYXgoMCxNYXRoLm1pbihlLDk5KSk7dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS5zZXRWYWx1ZSh0KX1lbHNlIHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldC5zZXRWYWx1ZSghMCksdGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0T3B0aW9uc1VwZGF0ZWQoKX0pKSx0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2RlZmF1bHRSaWdodE9mZnNldE9wdGlvbnNVcGRhdGVkKCl9KSksdGhpcy5fb3B0aW9ucy5wcmVzZXJ2ZUJhclNwYWNpbmcmJih0aGlzLl9iYXJTcGFjaW5nPXRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuYmFyU3BhY2luZy52YWx1ZSgpfHw2KSx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9tYXhSaWdodE9mZnNldE9uQ2hhbmdlZCksdGhpcy5fYmFyU3BhY2luZ0NoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVJlc2V0QXZhaWxhYmxlVmFsdWUpLHRoaXMuX3dpZHRoQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9tYXhSaWdodE9mZnNldE9uQ2hhbmdlZCksdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpfWRlc3Ryb3koKXt0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5kZXN0cm95KCksdGhpcy5fd2lkdGhDaGFuZ2VkLmRlc3Ryb3koKSx0aGlzLl90aWNrTWFya3MuZGVzdHJveSgpfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3dpZHRofHwhdGhpcy5jYW5Ob3JtYWxpemUoKX1jYW5Ob3JtYWxpemUoKXtyZXR1cm4gdGhpcy5fcG9pbnRzLnNpemUoKT4wfXVwZGF0ZShlLHQsaSxzLG4pe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsaS5sZW5ndGg+MCYmdGhpcy5fcG9pbnRzLm1lcmdlKGUsdCxpKSx0aGlzLl90aWNrTWFya3MubWVyZ2UocyxuKSx0aGlzLmNvcnJlY3RPZmZzZXQoKX1hZGRUYWlsKGUsdCxpKXt0aGlzLl90aWNrTWFya3MucmVtb3ZlVGFpbCh0KTtjb25zdCBzPWUucGFyYW1zLG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl90aWNrTWFya3MubWF4SW5kZXgpKyhpPzA6MSk7Zm9yKGxldCBlPTA7ZTxzLm1hcmtzLmxlbmd0aDtlKyspcy5tYXJrc1tlXS5pbmRleD1uK2U7dGhpcy5fdGlja01hcmtzLmFkZFRhaWwocy5tYXJrcyksdGhpcy5fcG9pbnRzLmFkZFRhaWwocy5jaGFuZ2VzLGkpO2NvbnN0IHI9dGhpcy5fcmlnaHRPZmZzZXQtcy5jaGFuZ2VzLmxlbmd0aDt0aGlzLl91cGRhdGVSaWdodE9mZnNldChyKX1zdGF0ZShlKXtjb25zdCB0PXttX2JhclNwYWNpbmc6dGhpcy5iYXJTcGFjaW5nKCksbV9yaWdodE9mZnNldDp0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXQudmFsdWUoKSxyaWdodE9mZnNldFBlcmNlbnRhZ2U6dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS52YWx1ZSgpLHVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldDp0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQudmFsdWUoKX07aWYoZSl7dC5tX3JpZ2h0T2Zmc2V0PU1hdGgubWF4KDAsdGhpcy5fcmlnaHRPZmZzZXQpO2NvbnN0IGU9dGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksaT10aGlzLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YSgpLDApLHM9ZT9lLnVuaXRlKGkpOmk7dC5wb2ludHM9dGhpcy5fcG9pbnRzLnN0YXRlKHMpLHQudGlja21hcmtzPXRoaXMuX3RpY2tNYXJrcy5zdGF0ZShzKSx0LndpZHRoPXRoaXMuX3dpZHRoLHQud2VpZ2h0cz10aGlzLl9wb2ludFdlaWdodHMuc3RhdGUocyksdC5iYXNlSW5kZXg9dGhpcy5fYmFzZUluZGV4fXJldHVybiB0fXJlc3RvcmVTdGF0ZShlLHQpe2lmKHZvaWQgMD09PWUubV9iYXJTcGFjaW5nKXJldHVybiB2b2lkIFpjLmxvZ0RlYnVnKCJyZXN0b3JlU3RhdGU6IGludmFsaWQgc3RhdGUiKTtpZih2b2lkIDA9PT1lLm1fcmlnaHRPZmZzZXQpcmV0dXJuIHZvaWQgWmMubG9nRGVidWcoInJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2Uud2VpZ2h0cyYmKHRoaXMuX3BvaW50V2VpZ2h0cz1mdW5jdGlvbihlKXtsZXQgdDtzd2l0Y2goZS50eXBlKXtjYXNlImNvbnN0YW50IjpyZXR1cm4gdD1uZXcgR2MsdC5yZXN0b3JlU3RhdGUoZSksdDtjYXNlImNvbXB1dGVkIjpyZXR1cm4gdD1uZXcgamMuQ29tcHV0ZWRUaW1lUG9pbnRXZWlnaHRzLHQucmVzdG9yZVN0YXRlKGUpLHR9dGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHRpbWUgcG9pbnQgd2VpZ3RocyB0eXBlICR7ZS50eXBlfWApfShlLndlaWdodHMpKTtsZXQgaT1lLm1fYmFyU3BhY2luZzt0aGlzLl9zbmFwc2hvdEJhclNwYWNpbmc9dD9pOm51bGwKO2NvbnN0IHM9ZS5tX3JpZ2h0T2Zmc2V0PDAmJiF0P3RoaXMucmlnaHRPZmZzZXREZWZhdWx0VmFsdWUoKTplLm1fcmlnaHRPZmZzZXQsbj1zPDA/dGhpcy5yaWdodE9mZnNldERlZmF1bHRWYWx1ZSgpOk1hdGgucm91bmQocyk7aWYodGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0LnNldFZhbHVlKG4pLHZvaWQgMCE9PWUucmlnaHRPZmZzZXRQZXJjZW50YWdlJiZOdW1iZXIuaXNGaW5pdGUoZS5yaWdodE9mZnNldFBlcmNlbnRhZ2UpJiZ0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXRQZXJjZW50YWdlLnNldFZhbHVlKGUucmlnaHRPZmZzZXRQZXJjZW50YWdlKSx0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQuc2V0VmFsdWUoQm9vbGVhbihlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCkpLHRoaXMuX3JpZ2h0T2Zmc2V0PXMsdGhpcy5fYmFzZUluZGV4PWUuYmFzZUluZGV4Pz90aGlzLl9iYXNlSW5kZXgsdCYmKHRoaXMuX3JlcXVlc3RlZFRpY2ttYXJrc0NvdW50PTEvMCx0aGlzLl9lbmRPZkRhdGE9ITAsdGhpcy5fcG9pbnRzLnJlc3RvcmVTdGF0ZShlLnBvaW50c3x8bnVsbCksdGhpcy5fdGlja01hcmtzLnJlc3RvcmVTdGF0ZShlLnRpY2ttYXJrc3x8bnVsbCksZS53aWR0aCYmdGhpcy5fd2lkdGg+MCYmKGkqPXRoaXMuX3dpZHRoL2Uud2lkdGgpKSx0JiZ0aGlzLl9wb2ludFdlaWdodHMubmVlZEFkanVzdGluZ09uRGF0YVJlc3RvcmluZygpKXt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxpKTtjb25zdCBlPXRoaXMuX3BvaW50cy5yYW5nZSgpLnZhbHVlKCk7aWYoZSl7Y29uc3QgdD1lLmZpcnN0SW5kZXg7bGV0IHM9aSxuPWkscj0wOygoKT0+e3I9dGhpcy5pbmRleFRvQ29vcmRpbmF0ZSh0KSxyPDA/KG49aSxzPWkvMTApOihzPWksbj0xMCppKX0pKCk7Zm9yKGxldCBlPTA7ZTwyMCYmTWF0aC5hYnMocik+MjtlKyspe2NvbnN0IGU9KG4rcykvMjt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxlKSxyPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCkscjwwP249ZTpzPWV9fX1lbHNlIHRoaXMuX3RyeVRvVXBkYXRlQmFyU3BhY2luZyh0aGlzLl9iYXJTcGFjaW5nLGkpO3RoaXMuY29ycmVjdE9mZnNldCgpLHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldC52YWx1ZSgpJiYodGhpcy5fcmlnaHRPZmZzZXQ9dGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgodGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS52YWx1ZSgpKSksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLmZpcmUodGhpcy5fcmlnaHRPZmZzZXQpfW1hcmtzKCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9iYXJTcGFjaW5nLHQ9NSooKHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKXx8MCkrNCksaT1NYXRoLnJvdW5kKHQvZSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSxuPU1hdGgubWF4KHMuZmlyc3RCYXIoKSxzLmZpcnN0QmFyKCktaSkscj1NYXRoLm1heChzLmxhc3RCYXIoKSxzLmxhc3RCYXIoKS1pKSxvPXRoaXMuX3RpY2tNYXJrcy5idWlsZChlKSxhPVtdO2Zvcihjb25zdCBlIG9mIG8pbjw9ZS5pbmRleCYmZS5pbmRleDw9ciYmYS5wdXNoKHtjb29yZDp0aGlzLmluZGV4VG9Db29yZGluYXRlKGUuaW5kZXgpLGxhYmVsOmUubGFiZWwsc3BhbjplLnNwYW4sbWFqb3I6ITF9KTtyZXR1cm4gYX12aXNpYmxlQmFyc1N0cmljdFJhbmdlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVZpc2libGVCYXJzKCkpLHRoaXMuX3Zpc2libGVCYXJzLnN0cmljdFJhbmdlKCl9dmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkfXZpc2libGVTdHJpY3REYXRhUmFuZ2UoZSl7Y29uc3QgdD10aGlzLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBpPWUuc2VhcmNoKHQuZmlyc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpLHM9ZS5zZWFyY2godC5sYXN0QmFyKCksWm8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpO3JldHVybiBudWxsPT09aXx8bnVsbD09PXM/bnVsbDpuZXcgaGMuQmFyc1JhbmdlKGkuaW5kZXgscy5pbmRleCl9dmlzaWJsZUV4dGVuZGVkRGF0YVJhbmdlKGUsdCl7Y29uc3QgaT10aGlzLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09aSlyZXR1cm4gbnVsbDtsZXQgcz0xPT09dD9udWxsOmUuc2VhcmNoKGkuZmlyc3RCYXIoKS0xLFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0KSxuPTA9PT10P251bGw6ZS5zZWFyY2goaS5sYXN0QmFyKCkrMSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpO3JldHVybiBudWxsPT09cyYmKHM9ZS5zZWFyY2goaS5maXJzdEJhcigpLFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCkpLG51bGw9PT1uJiYobj1lLnNlYXJjaChpLmxhc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCkpLG51bGw9PT1zfHxudWxsPT09bj9udWxsOm5ldyBoYy5CYXJzUmFuZ2Uocy5pbmRleCxuLmluZGV4KX1sb2dpY2FsUmFuZ2VDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2xvZ2ljYWxSYW5nZUNoYW5nZWR9dGlja01hcmtzKCl7cmV0dXJuIHRoaXMuX3RpY2tNYXJrc31wb2ludHMoKXtyZXR1cm4gdGhpcy5fcG9pbnRzfXdpZHRoKCl7cmV0dXJuIHRoaXMuX3dpZHRofXNldFdpZHRoKGUsdCl7aWYoIU51bWJlci5pc0Zpbml0ZShlKXx8ZTw9MClyZXR1cm4gdm9pZCBaYy5sb2dXYXJuKGBzZXRXaWR0aDogaW52YWxpZCBhcmd1bWVudDogJHtlfWApO2lmKHRoaXMuX3dpZHRoPT09ZSlyZXR1cm47Y29uc3QgaT10aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQudmFsdWUoKSYmdGhpcy5fcmlnaHRPZmZzZXQ+MD90aGlzLmJhckluZGV4TGVuZ3RoVG9QZXJjZW50cyh0aGlzLl9yaWdodE9mZnNldCk6LTEKO2lmKHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsKHR8fHRoaXMuX29wdGlvbnMubG9ja1Zpc2libGVUaW1lUmFuZ2VPblJlc2l6ZSkmJnRoaXMuX3dpZHRoKXtjb25zdCB0PXRoaXMuX2JhclNwYWNpbmcqZS90aGlzLl93aWR0aDt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyx0KX1lbHNlIHRoaXMuX3dpZHRoJiZ0aGlzLnNldEJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyk7aWYobnVsbCE9PXRoaXMuX2xlZnRFZGdlSW5kZXgpe2lmKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpLmZpcnN0QmFyKCk8PXRoaXMuX2xlZnRFZGdlSW5kZXgpe2NvbnN0IHQ9dGhpcy5fd2lkdGgtZTt0aGlzLl9yaWdodE9mZnNldC09TWF0aC5yb3VuZCh0L3RoaXMuX2JhclNwYWNpbmcpKzF9fXRoaXMuX3dpZHRoPWUsdGhpcy5fd2lkdGhDaGFuZ2VkLmZpcmUoZSk7Y29uc3Qgcz10aGlzLl9yaWdodE9mZnNldDtpPjA/dGhpcy5fcmlnaHRPZmZzZXQ9dGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgoaSk6dGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT1zJiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9c2V0TGVmdEVkZ2VGaXgoZSl7dGhpcy5fbGVmdEVkZ2VJbmRleD1lO2NvbnN0IHQ9dGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuO2NvbnN0IGk9dC5maXJzdEJhcigpLWU7aWYoaTwwKXtjb25zdCBlPXRoaXMuX3JpZ2h0T2Zmc2V0LWktMTt0aGlzLnNjcm9sbFRvT2Zmc2V0QW5pbWF0ZWQoZSw1MDApfX1wb3NpdGlvblBlcmNlbnRUb0Nvb3JkaW5hdGUoZSl7cmV0dXJuIHRoaXMud2lkdGgoKSplfWluZGV4VG9Db29yZGluYXRlKGUpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiAwO2NvbnN0IHQ9dGhpcy5iYXNlSW5kZXgoKSxpPXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQodCt0aGlzLl9yaWdodE9mZnNldCsuNSktdGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4VG9Ub3RhbFdlaWdodChlKTtyZXR1cm4gdGhpcy5fd2lkdGgtaSp0aGlzLl9iYXJTcGFjaW5nfWluZGV4VG9Vc2VyVGltZShlKXtyZXR1cm4gdGhpcy5fdGlja01hcmtzLmluZGV4VG9UaW1lKGUpfXRpbWVQb2ludFRvSW5kZXgoZSx0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLl9wb2ludHMuaW5kZXhPZihlLCExKTtjYXNlIDE6cmV0dXJuIHRoaXMuX3BvaW50cy5jbG9zZXN0SW5kZXhMZWZ0KGUpO2RlZmF1bHQ6cmV0dXJuIHRoaXMuX3BvaW50cy5pbmRleE9mKGUsITApfX1pbmRleFRvVGltZVBvaW50KGUpe3JldHVybiB0aGlzLl9wb2ludHMudmFsdWVBdChlKX10aW1lVG9Db29yZGluYXRlKGUpe2NvbnN0IHQ9dGhpcy5fcG9pbnRzLmNsb3Nlc3RJbmRleExlZnQoZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3BvaW50cy52YWx1ZUF0KHQpKSxzPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCk7aWYoczw9MHx8cz49dGhpcy5fd2lkdGgpcmV0dXJuIG51bGw7Y29uc3Qgbj10aGlzLmJhclNwYWNpbmcoKSxyPXRoaXMuYmFzZUluZGV4KCk7bGV0IG87bz0wPT09cj90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmluTWlsbGlzZWNvbmRzKCkvMWUzOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQocikpLSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQoci0xKSk7Y29uc3QgYT1zKyhlLWkpL28qbisxO3JldHVybiBhPD0wfHxhPj10aGlzLl93aWR0aD9udWxsOmF9YmFyQm9yZGVycyhlKXtjb25zdCB0PXt0aW1lUG9pbnRJbmRleDplLGxlZnQ6TmFOLGNlbnRlcjpOYU4scmlnaHQ6TmFOfTtyZXR1cm4gdGhpcy5maWxsQmFyQm9yZGVycyhbdF0pLHR9ZmlsbEJhckJvcmRlcnMoZSx0LGkpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm47bGV0IHM9dD8uc3RhcnRJdGVtSW5kZXg/PzA7Y29uc3Qgbj0odD8uZW5kSXRlbUluZGV4Pz9lLmxlbmd0aCktMTtpZighMD09PWkmJihzPSgwLGcudXBwZXJib3VuZCkoZSxtYy5VTlBMT1RUQUJMRV9USU1FX1BPSU5UX0lOREVYLCgoZSx0KT0+ZTx0LnRpbWVQb2ludEluZGV4KSxzLG4rMSkpLHM+bilyZXR1cm47Y29uc3Qgcj10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KHRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUpLG89dGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4UmFuZ2VUb1dlaWdodHMoZVtzXS50aW1lUG9pbnRJbmRleCxlW25dLnRpbWVQb2ludEluZGV4LHRoaXMuX3dlaWdodGVkUG9pbnRzQ2FjaGUpO2xldCBhPTAsYz1vW2FdO2NvbnN0IGg9YyxkPW9bby5sZW5ndGgtMV07bGV0IHU9TmFOLHA9TmFOLF89TmFOLG09ITA7Zm9yKGxldCB0PXM7dDw9bjt0Kz0xKXtjb25zdCBpPWVbdF07aWYoaS50aW1lUG9pbnRJbmRleDxoLnRpbWVQb2ludEluZGV4KXU9aC5sZWZ0LShoLnRpbWVQb2ludEluZGV4LWkudGltZVBvaW50SW5kZXgpLHA9dSsuNSxfPXUrMTtlbHNlIGlmKGkudGltZVBvaW50SW5kZXg+ZC50aW1lUG9pbnRJbmRleClfPWQucmlnaHQrKGkudGltZVBvaW50SW5kZXgtZC50aW1lUG9pbnRJbmRleCkscD1fLS41LHU9Xy0xO2Vsc2UgZm9yKG0mJih1PWMubGVmdCxwPWMuY2VudGVyLF89Yy5yaWdodCxtPSExKTtjLnRpbWVQb2ludEluZGV4PGkudGltZVBvaW50SW5kZXg7KWErPTEsKDAsbC5hc3NlcnQpKGE8by5sZW5ndGgsIkJhciBib3JkZXJzIGNvb3JkaW5hdGVzIGFyZSBub3QgY29ycmVjdCIpLGM9b1thXSx1PWMubGVmdCxwPWMuY2VudGVyLF89Yy5yaWdodDtpLmxlZnQ9dGhpcy5fd2lkdGgtKHItdSkqdGhpcy5fYmFyU3BhY2luZyxpLmNlbnRlcj10aGlzLl93aWR0aC0oci1wKSp0aGlzLl9iYXJTcGFjaW5nLGkucmlnaHQ9dGhpcy5fd2lkdGgtKHItXykqdGhpcy5fYmFyU3BhY2luZ319dGltZWRWYWx1ZXNUb0Nvb3JkaW5hdGVzKGUsdCxpKXsKY29uc3Qgcz10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KHRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUpLG49dD8uc3RhcnRJdGVtSW5kZXg/PzA7bGV0IHI9bjtjb25zdCBvPXQ/LmVuZEl0ZW1JbmRleD8/ZS5sZW5ndGg7ITA9PT1pJiYocj0oMCxnLnVwcGVyYm91bmQpKGUsbWMuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWCwoKGUsdCk9PmU8dC54KSxuLG8pKTtmb3IobGV0IHQ9cjt0PG87Kyt0KXtjb25zdCBpPWVbdF0sbj1zLXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQoaS54KTtpLng9dGhpcy5fd2lkdGgtbip0aGlzLl9iYXJTcGFjaW5nfWZvcihsZXQgdD1uO3Q8cjsrK3QpZVt0XS54PS01MDB9cmlnaHRPZmZzZXRGb3JUaW1lUG9pbnQoZSl7Y29uc3QgdD10aGlzLnRpbWVUb0Nvb3JkaW5hdGUoZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0odC10aGlzLl9iYXNlSW5kZXhCYXJDZW50ZXJDb29yZGluYXRlKCkpL3RoaXMuX2JhclNwYWNpbmc7cmV0dXJuIHRoaXMuX3BvaW50V2VpZ2h0cy50b3RhbFdlaWdodFRvSW5kZXgoaSl9c2Nyb2xsVG9SZWFsdGltZShlLHQpe2xldCBpPXRoaXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCk7aTwwJiYoaT10aGlzLnJpZ2h0T2Zmc2V0RGVmYXVsdFZhbHVlKCkpO2NvbnN0IHM9KCk9Pnt2b2lkIDAhPT10JiZ0KCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9O2lmKGUpe2NvbnN0IGU9dGhpcy5sb2dpY2FsUmFuZ2UoKSx0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PWV8fG51bGw9PT10KXJldHVybjtjb25zdCBpPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUoZS5yaWdodCgpKy41KSxuPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCt0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXQudmFsdWUoKSsuNSk7cmV0dXJuIHRoaXMuX21vZGVsLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx2b2lkIHRoaXMuX21vZGVsLnNldFRpbWVTY2FsZUFuaW1hdGlvbihuZXcgRm4oe2Zyb206MCx0bzppLW4sZHVyYXRpb246MWUzLGVhc2luZzpFbi5lYXNpbmdGdW5jLmVhc2VJbk91dFF1aW50LG9uRmluaXNoOnN9KSl9dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl91cGRhdGVSaWdodE9mZnNldChpKSx0aGlzLl9vblNjcm9sbC5maXJlKCkscygpfXNjcm9sbFRvRmlyc3RCYXIoZT0oKT0+e30pe3RoaXMuX21vZGVsLmdvdG9UaW1lKG5ldyBEYXRlKCIxODAwLTAxLTAxIikuZ2V0VGltZSgpKS50aGVuKGUpLHRoaXMuX29uU2Nyb2xsLmZpcmUoKX1zY3JvbGxUb09mZnNldEFuaW1hdGVkKGUsdCl7aWYoIWlzRmluaXRlKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgZmluaXRlIG51bWJlciIpO2NvbnN0IGk9dm9pZCAwPT09dD80MDA6dDtpZighaXNGaW5pdGUoaSl8fGk8PTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoImFuaW1hdGlvbkR1cmF0aW9uIChvcHRpb25hbCkgbXVzdCBiZSBmaW5pdGUgcG9zaXRpdmUgbnVtYmVyIik7Y29uc3Qgcz10aGlzLl9yaWdodE9mZnNldCxuPURhdGUubm93KCkscj0oKT0+e3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITA7Y29uc3QgdD0oRGF0ZS5ub3coKS1uKS9pO2lmKHQ+PTEpcmV0dXJuIHRoaXMuX3VwZGF0ZVJpZ2h0T2Zmc2V0KGUpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx2b2lkIHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbz1zKyhlLXMpKnQ7dGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQobyksdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSxzZXRUaW1lb3V0KHIsMjApfTtyKCl9ZGVmYXVsdFJpZ2h0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldH1yaWdodE9mZnNldERlZmF1bHRWYWx1ZSgpe3JldHVybiAxMH1kZWZhdWx0UmlnaHRPZmZzZXRQZXJjZW50YWdlKCl7cmV0dXJuIHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2V9dXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldH1iYXJTcGFjaW5nKCl7cmV0dXJuIHRoaXMuX2JhclNwYWNpbmd9YmFyU3BhY2luZ1NjYWxlUmF0aW8oKXtyZXR1cm4gbnVsbD09PXRoaXMuX3NuYXBzaG90QmFyU3BhY2luZz8xOnRoaXMuX2JhclNwYWNpbmcvdGhpcy5fc25hcHNob3RCYXJTcGFjaW5nfXNldEJhclNwYWNpbmcoZSl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gdm9pZCBaYy5sb2dXYXJuKGBzZXRCYXJTcGFjaW5nOiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCk7ZT10aGlzLmdldFZhbGlkQmFyU3BhY2luZyhlKTtjb25zdCB0PXRoaXMuX2JhclNwYWNpbmc+ZTt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxlKSYmKHRoaXMuY29ycmVjdE9mZnNldCgpLHRoaXMuX29wdGlvbnMucHJlc2VydmVCYXJTcGFjaW5nJiYoKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuYmFyU3BhY2luZy5zZXRWYWx1ZSh0aGlzLl9iYXJTcGFjaW5nKSwoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSkpLHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSx0JiZ0aGlzLnJlcXVlc3RIaXN0b3J5UG9pbnRzSWZOZWVkZWQoKSl9YmFyU3BhY2luZ0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fYmFyU3BhY2luZ0NoYW5nZWR9Z2V0VmFsaWRCYXJTcGFjaW5nKGUpe3JldHVybiBudWxsPT1lJiYoZT10aGlzLmJhclNwYWNpbmcoKSksZTx0aGlzLm1pbkJhclNwYWNpbmcoKT90aGlzLm1pbkJhclNwYWNpbmcoKTplPnRoaXMubWF4QmFyU3BhY2luZygpP3RoaXMubWF4QmFyU3BhY2luZygpOmV9CmlzVmFsaWRCYXJTcGFjaW5nKGUpe3JldHVybiBlPj10aGlzLm1pbkJhclNwYWNpbmcoKSYmZTw9dGhpcy5tYXhCYXJTcGFjaW5nKCl9cHJlc2VydmVCYXJTcGFjaW5nKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucHJlc2VydmVCYXJTcGFjaW5nfW5vcm1hbGl6ZUJhckluZGV4KGUpe2xldCB0PTAsaT0wO2NvbnN0IHM9dGhpcy5iYXNlSW5kZXgoKSxuPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnJhbmdlKCkudmFsdWUoKSkuZmlyc3RJbmRleDtyZXR1cm4gZTxuPyh0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQobikpLGk9ZS1uKTplPnM/KHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wb2ludHMudmFsdWVBdChzKSksaT1lLXMpOih0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQoZSkpLGk9MCkse3RpbWVfdDp0LG9mZnNldDppfX1kZW5vcm1hbGl6ZVRpbWVQb2ludChlKXtjb25zdCB0PXRoaXMuX3BvaW50cy5pbmRleE9mKGUudGltZV90LCExKTtpZihudWxsIT09dClyZXR1cm4gdCtlLm9mZnNldH1yaWdodE9mZnNldCgpe3JldHVybiB0aGlzLl9yaWdodE9mZnNldH1yaWdodE9mZnNldENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkfW1pblJpZ2h0T2Zmc2V0KCl7Y29uc3QgZT10aGlzLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKT8uZmlyc3RJbmRleCx0PXRoaXMuX2Jhc2VJbmRleDtpZih2b2lkIDA9PT1lfHxudWxsPT09dClyZXR1cm4gbnVsbDtpZihudWxsIT09dGhpcy5fbGVmdEVkZ2VJbmRleCl7Y29uc3QgZT10aGlzLndpZHRoKCkvdGhpcy5fYmFyU3BhY2luZztyZXR1cm4gdGhpcy5fbGVmdEVkZ2VJbmRleC10K2UtMX1yZXR1cm4gZS10LTErWGN9bWF4UmlnaHRPZmZzZXQoKXtyZXR1cm4gdGhpcy53aWR0aCgpL3RoaXMuX2JhclNwYWNpbmctWGN9bWF4UmlnaHRPZmZzZXRDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX21heFJpZ2h0T2Zmc2V0Q2hhbmdlZH1vblJlc2V0KCl7cmV0dXJuIHRoaXMuX3Jlc2V0RGVsZWdhdGV9YmFzZUluZGV4KCl7cmV0dXJuIHRoaXMuX2Jhc2VJbmRleHx8MH16b29tKGUsdCxpKXtpZighTnVtYmVyLmlzRmluaXRlKGUpfHwhTnVtYmVyLmlzRmluaXRlKHQpKXJldHVybiB2b2lkIFpjLmxvZ1dhcm4oYHpvb206IGludmFsaWQgYXJndW1lbnRzOiAke2V9LCAke3R9LCAke2l9YCk7Y29uc3Qgcz10aGlzLnJpZ2h0T2Zmc2V0KCksbj12b2lkIDAhPT1pPyFpOnRoaXMuX29wdGlvbnMucmlnaHRCYXJTdGF5c09uU2Nyb2xsLHI9biYmdGhpcy51c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQoKS52YWx1ZSgpJiZzPj0wLG89cj90aGlzLmJhckluZGV4TGVuZ3RoVG9QZXJjZW50cyhzKTp2b2lkIDAsYT10aGlzLmNvb3JkaW5hdGVUb0luZGV4KGUpLGw9dGhpcy5iYXJTcGFjaW5nKCksYz1sK3QqKGwvMTApO3RoaXMuc2V0QmFyU3BhY2luZyhjKSxufHwodGhpcy5zdGFydFNjcm9sbCh0aGlzLmluZGV4VG9Db29yZGluYXRlKGEpKSx0aGlzLnNjcm9sbFRvKGUpLHRoaXMuZW5kU2Nyb2xsKCkpLHImJnZvaWQgMCE9PW8mJnRoaXMuc2V0UmlnaHRPZmZzZXQodGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgobykpLHRoaXMuX3JlcXVlc3RNb3JlRGF0YSgpfXpvb21Ub0JhcnNSYW5nZShlLHQpe2lmKG51bGwhPT10aGlzLl9sZWZ0RWRnZUluZGV4JiYoZT1NYXRoLm1heChlLHRoaXMuX2xlZnRFZGdlSW5kZXgpKSx0PGUpcmV0dXJuO2NvbnN0IGk9dGhpcy5iYXNlSW5kZXgoKSxzPXRoaXMuX3JpZ2h0T2Zmc2V0O3RoaXMuX3JpZ2h0T2Zmc2V0PXQtaTtjb25zdCBuPWUtLjUscj10Ky41LG89TWF0aC5tYXgodGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4VG9Ub3RhbFdlaWdodChyKS10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KG4pLFhjKTt0aGlzLnNldEJhclNwYWNpbmcodGhpcy53aWR0aCgpL28pLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT1zJiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9c2Nyb2xsVG9CYXIoZSl7bnVsbCE9PXRoaXMuX2xlZnRFZGdlSW5kZXgmJihlPU1hdGgubWF4KGUsdGhpcy5fbGVmdEVkZ2VJbmRleCkpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmxvZ2ljYWxSYW5nZSgpKS5sZW5ndGgoKStlLTE7dGhpcy5fcmlnaHRPZmZzZXQ9dC10aGlzLmJhc2VJbmRleCgpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLmZpcmUodGhpcy5fcmlnaHRPZmZzZXQpLHRoaXMuX3JlcXVlc3RNb3JlRGF0YSgpfWNvb3JkaW5hdGVUb0luZGV4KGUpe3JldHVybiBNYXRoLnJvdW5kKHRoaXMuY29vcmRpbmF0ZVRvRmxvYXRJbmRleChlKSl9Y29vcmRpbmF0ZVRvRmxvYXRJbmRleChlKXtjb25zdCB0PShlLXRoaXMuX2Jhc2VJbmRleEJhckNlbnRlckNvb3JkaW5hdGUoKSkvdGhpcy5fYmFyU3BhY2luZyxpPXRoaXMuX3BvaW50V2VpZ2h0cy50b3RhbFdlaWdodFRvSW5kZXgodCk7cmV0dXJuIE1hdGgucm91bmQoMWU2KmkpLzFlNn1jb29yZGluYXRlVG9WaXNpYmxlSW5kZXgoZSl7bGV0IHQ9dGhpcy5jb29yZGluYXRlVG9JbmRleChlKTtjb25zdCBpPXRoaXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO3JldHVybiBudWxsPT09aXx8aS5jb250YWlucyh0KXx8KHQ9TWF0aC5taW4oTWF0aC5tYXgoaS5maXJzdEJhcigpLHQpLGkubGFzdEJhcigpKSksdH1jYW5ab29tSW4oKXtyZXR1cm4gdGhpcy5iYXJTcGFjaW5nKCk8dGhpcy5tYXhCYXJTcGFjaW5nKCl9Y2FuWm9vbU91dCgpe3JldHVybiB0aGlzLmJhclNwYWNpbmcoKT50aGlzLl9vcHRpb25zLm1pbkJhclNwYWNpbmd9bWluQmFyU3BhY2luZygpe3JldHVybiB0aGlzLl9vcHRpb25zLm1pbkJhclNwYWNpbmd9bWF4QmFyU3BhY2luZygpe2NvbnN0IGU9dGhpcy53aWR0aCgpO3JldHVybiBLYz9lOmUvWGN9bWluVmlzaWJsZUJhckNvdW50KCl7CnJldHVybiBYY31yZXNldFJpZ2h0T2Zmc2V0KCl7dGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnRhcmdldERlZmF1bHRSaWdodE9mZnNldCgpKX1yZXNldCgpe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fcG9pbnRzLmNsZWFyKCksdGhpcy5fc2Nyb2xsRGF0YT1udWxsLHRoaXMuX3NjYWxlU3RhcnRQb2ludD1udWxsLHRoaXMuX2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCksdGhpcy5fdGlja01hcmtzLnJlc2V0KCksdGhpcy5fbGVmdEVkZ2VJbmRleD1udWxsLHRoaXMuX3Jlc2V0RGVsZWdhdGUuZmlyZSgpLHRoaXMuZGlzY29ubmVjdCgpfXJlc2V0QXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3Jlc2V0QXZhaWxhYmxlLnJlYWRvbmx5KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT0hMSx0aGlzLl9yZXF1ZXN0ZWRUaWNrbWFya3NDb3VudD0wLHRoaXMuX2VuZE9mRGF0YT0hMX1zZXRCYXNlSW5kZXgoZSl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gdm9pZCBaYy5sb2dEZWJ1Zyhgc2V0QmFzZUluZGV4OiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCk7Y29uc3QgdD10aGlzLl9iYXNlSW5kZXghPT1lO3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fYmFzZUluZGV4PWUsdGhpcy5fcG9pbnRXZWlnaHRzLnNldEJhc2VJbmRleCh0aGlzLl9iYXNlSW5kZXgpLHRoaXMuY29ycmVjdE9mZnNldCgpLHQmJih0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCkpfXJlc2V0QmFzZUluZGV4KCl7dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl9iYXNlSW5kZXg9bnVsbH1zZXRSaWdodE9mZnNldChlKXtOdW1iZXIuaXNGaW5pdGUoZSk/KHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQoZSkpOlpjLmxvZ1dhcm4oYHNldFJpZ2h0T2Zmc2V0OiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCl9Y29ycmVjdEJhclNwYWNpbmcoKXt0aGlzLmlzRW1wdHkoKXx8dGhpcy5wb2ludHMoKS5zaXplKCk8dGhpcy53aWR0aCgpL3RoaXMuYmFyU3BhY2luZygpJiYodGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnRhcmdldERlZmF1bHRSaWdodE9mZnNldCgpKSx0aGlzLnNldEJhclNwYWNpbmcodGhpcy53aWR0aCgpLyh0aGlzLnBvaW50cygpLnNpemUoKSt0aGlzLnJpZ2h0T2Zmc2V0KCkpKSl9c2V0VGltZVBvaW50V2VpZ2h0cyhlKXt0aGlzLl93ZWlnaHRlZFBvaW50c0NhY2hlPVtdLHRoaXMuX3BvaW50V2VpZ2h0cz1lPz9uZXcgR2MsdGhpcy5fcG9pbnRXZWlnaHRzLnNldEJhc2VJbmRleCh0aGlzLmJhc2VJbmRleCgpKSx0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwfWNvcnJlY3RPZmZzZXQoKXtjb25zdCBlPXRoaXMubWF4UmlnaHRPZmZzZXQoKTt0aGlzLl9yaWdodE9mZnNldD5lJiYodGhpcy5fcmlnaHRPZmZzZXQ9ZSx0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwKTtjb25zdCB0PXRoaXMubWluUmlnaHRPZmZzZXQoKTtudWxsIT09dCYmdGhpcy5fcmlnaHRPZmZzZXQ8dCYmKHRoaXMuX3JpZ2h0T2Zmc2V0PXQsdGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCl9bG9naWNhbFJhbmdlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVZpc2libGVCYXJzKCkpLHRoaXMuX3Zpc2libGVCYXJzLmxvZ2ljYWxSYW5nZSgpfXJlc3RvcmVEZWZhdWx0KCl7dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMDtjb25zdCBlPXRoaXMuX3Zpc2libGVCYXJzO3RoaXMuc2V0QmFyU3BhY2luZyg2KSx0aGlzLnJlc2V0UmlnaHRPZmZzZXQoKSx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMSx0aGlzLl9maXJlVmlzaWJsZUJhcnNDaGFuZ2VkSWZSZXF1aXJlZChlLHRoaXMuX3Zpc2libGVCYXJzKSx0aGlzLl9yZXF1ZXN0TW9yZURhdGEoKX1zdGFydFNjYWxlKGUpe3RoaXMuX3Njcm9sbERhdGEmJnRoaXMuZW5kU2Nyb2xsKCksbnVsbD09PXRoaXMuX3NjYWxlU3RhcnRQb2ludCYmbnVsbD09PXRoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlJiYodGhpcy5pc0VtcHR5KCl8fCh0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9ZSx0aGlzLl9zYXZlQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCkpKX1zY2FsZVRvKGUpe2lmKG51bGw9PT10aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZSlyZXR1cm47Y29uc3QgdD0oMCxiaS5jbGFtcCkodGhpcy5fd2lkdGgtZSwwLHRoaXMuX3dpZHRoKSxpPSgwLGJpLmNsYW1wKSh0aGlzLl93aWR0aC0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NjYWxlU3RhcnRQb2ludCksMCx0aGlzLl93aWR0aCk7aWYoMD09PXR8fDA9PT1pKXJldHVybjtjb25zdCBzPXRoaXMuYmFySW5kZXhMZW5ndGhUb1BlcmNlbnRzKHRoaXMucmlnaHRPZmZzZXQoKSk7dGhpcy5zZXRCYXJTcGFjaW5nKHRoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlLmJhclNwYWNpbmcqdC9pKSx0aGlzLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnZhbHVlKCkmJnRoaXMucmlnaHRPZmZzZXQoKT49MCYmdGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnBlcmNlbnRzVG9CYXJJbmRleExlbmd0aChzKSl9ZW5kU2NhbGUoKXtudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50JiYodGhpcy5fc2NhbGVTdGFydFBvaW50PW51bGwsdGhpcy5fY2xlYXJDb21tb25UcmFuc2l0aW9uc1N0YXJ0U3RhdGUoKSx0aGlzLl9yZXF1ZXN0TW9yZURhdGEoKSl9c3RhcnRTY3JvbGwoZSl7bnVsbD09PXRoaXMuX3Njcm9sbERhdGEmJm51bGw9PT10aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZSYmKHRoaXMuaXNFbXB0eSgpfHwodGhpcy5fc2Nyb2xsRGF0YT17c3RhcnRDb29yZGluYXRlOmUsCnN0YXJ0UmlnaHRFZGdlTG9naWNhbDp0aGlzLmJhc2VJbmRleCgpK3RoaXMuX3JpZ2h0T2Zmc2V0Ky41LHN0YXJ0QmFzZUluZGV4OnRoaXMuYmFzZUluZGV4KCl9LHRoaXMuX3NhdmVDb21tb25UcmFuc2l0aW9uc1N0YXJ0U3RhdGUoKSkpfXNjcm9sbFRvKGUpe2lmKHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsbnVsbD09PXRoaXMuX3Njcm9sbERhdGEpcmV0dXJuO2NvbnN0e3N0YXJ0Q29vcmRpbmF0ZTp0LHN0YXJ0UmlnaHRFZGdlTG9naWNhbDppLHN0YXJ0QmFzZUluZGV4OnN9PXRoaXMuX3Njcm9sbERhdGEsbj1lLXQscj1pKyh0aGlzLmJhc2VJbmRleCgpLXMpLG89dGhpcy5pbmRleFRvQ29vcmRpbmF0ZShyKSxhPXRoaXMuY29vcmRpbmF0ZVRvRmxvYXRJbmRleChvLW4pLS41LXRoaXMuYmFzZUluZGV4KCk7dGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQoYSksdGhpcy5fb25TY3JvbGwuZmlyZSgpfWVuZFNjcm9sbCgpe251bGwhPT10aGlzLl9zY3JvbGxEYXRhJiYodGhpcy5fc2Nyb2xsRGF0YT1udWxsLHRoaXMuX2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCksdGhpcy5fdGhyb3R0bGVSZXF1ZXN0TW9yZURhdGFPblNjcm9sbCgpKX1pc0JlaW5nU2Nyb2xsZWQoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3Njcm9sbERhdGF9aXNCZWluZ1NjYWxlZCgpe3JldHVybiBudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50fW9uU2Nyb2xsKCl7cmV0dXJuIHRoaXMuX29uU2Nyb2xsfWludmFsaWRhdGVWaXNpYmxlQmFycygpe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITB9b25UaW1lU2NhbGVDb21wbGV0ZWQoZSl7aWYodGhpcy5fcmVxdWVzdGluZ01vcmVEYXRhPSExLHRoaXMuX2VuZE9mRGF0YT1lLCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZpeF9sZWZ0X2VkZ2UiKSYmdGhpcy5fZW5kT2ZEYXRhKXtjb25zdCBlPXRoaXMuX3BvaW50cy5yYW5nZSgpLnZhbHVlKCk/LmZpcnN0SW5kZXg7dm9pZCAwIT09ZSYmdGhpcy5zZXRMZWZ0RWRnZUZpeChlKX10aGlzLl9yZXF1ZXN0TW9yZURhdGEoKX1yZXF1ZXN0TW9yZUhpc3RvcnlQb2ludHMoZSl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnJlcXVlc3RNb3JlRGF0YShlKX10YXJnZXREZWZhdWx0UmlnaHRPZmZzZXQoKXtyZXR1cm4gdGhpcy51c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQoKS52YWx1ZSgpP3RoaXMucGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UudmFsdWUoKSk6dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0LnZhbHVlKCl9cGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKGUpe3JldHVybi4wMSplKnRoaXMuX3dpZHRoL3RoaXMuX2JhclNwYWNpbmd9YmFySW5kZXhMZW5ndGhUb1BlcmNlbnRzKGUpe3JldHVybiAxMDAqZSp0aGlzLl9iYXJTcGFjaW5nL3RoaXMuX3dpZHRofXJlcXVlc3RIaXN0b3J5UG9pbnRzSWZOZWVkZWQoKXt0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucmVxdWVzdE1vcmVEYXRhKCl9X3JlcXVlc3RNb3JlRGF0YSgpe3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5yZXF1ZXN0TW9yZURhdGEoKX1fcmVxdWVzdEZ1dHVyZVRpY2ttYXJrc0lmTmVlZGVkKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnJlcXVlc3RNb3JlRGF0YSgpfV9yZXF1ZXN0SGlzdG9yeVBvaW50cyhlKXt0aGlzLl9tb2RlbC5jaGFydEFwaSgpLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmKHRoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT9aYy5sb2dOb3JtYWwoIlNraXBwaW5nIGxvYWRpbmcgbW9yZSBkYXRhIGR1ZSBhY3RpdmUgbG9hZGluZyIpOih0aGlzLl9yZXF1ZXN0aW5nTW9yZURhdGE9ITAsdGhpcy5fbW9kZWwuY2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEoZSkpKX1fdXBkYXRlVmlzaWJsZUJhcnMoKXtjb25zdCBlPXRoaXMuX3Zpc2libGVCYXJzO2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiB2b2lkKHRoaXMuX3Zpc2libGVCYXJzLmlzVmFsaWQoKSYmKHRoaXMuX3Zpc2libGVCYXJzPWZjLmludmFsaWQoKSx0aGlzLl92aXNpYmxlQmFyc0NoYW5nZWQuZmlyZShudWxsLGUuc3RyaWN0UmFuZ2UoKSksdGhpcy5fbG9naWNhbFJhbmdlQ2hhbmdlZC5maXJlKG51bGwsZS5sb2dpY2FsUmFuZ2UoKSkpKTtjb25zdCB0PXRoaXMud2lkdGgoKS90aGlzLmJhclNwYWNpbmcoKSxpPXRoaXMuYmFzZUluZGV4KCkscz1pK3RoaXMuX3JpZ2h0T2Zmc2V0LG49cysuNSxyPXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQobiktdCxvPU1hdGgubWluKG4tMSx0aGlzLl9wb2ludFdlaWdodHMudG90YWxXZWlnaHRUb0luZGV4KHIpKSsuNTtOdW1iZXIuaXNGaW5pdGUobykmJk51bWJlci5pc0Zpbml0ZShzKT8odGhpcy5fdmlzaWJsZUJhcnM9bmV3IGZjKG5ldyBkYy5Mb2dpY2FsUmFuZ2UobyxzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3R5bGUoKSksdGhpcy5fbG9ja0JhcnNBbmRMb2dpY2FsUmFuZ2VFdmVudHN8fHRoaXMuX2ZpcmVWaXNpYmxlQmFyc0NoYW5nZWRJZlJlcXVpcmVkKGUsdGhpcy5fdmlzaWJsZUJhcnMpKTpaYy5sb2dXYXJuKGB1cGRhdGVWaXNpYmxlQmFycyBlcnJvcjogYmFzZUluZGV4OiAke2l9LCBiYXJTcGFjaW5nOiAke3RoaXMuX2JhclNwYWNpbmd9LCByaWdodE9mZnNldDogJHt0aGlzLl9yaWdodE9mZnNldH1gKX1fZmlyZVZpc2libGVCYXJzQ2hhbmdlZElmUmVxdWlyZWQoZSx0KXtoYy5CYXJzUmFuZ2UuY29tcGFyZShlLnN0cmljdFJhbmdlKCksdC5zdHJpY3RSYW5nZSgpKXx8dGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkLmZpcmUodC5zdHJpY3RSYW5nZSgpLGUuc3RyaWN0UmFuZ2UoKSksZGMuTG9naWNhbFJhbmdlLmNvbXBhcmUoZS5sb2dpY2FsUmFuZ2UoKSx0LmxvZ2ljYWxSYW5nZSgpKXx8dGhpcy5fbG9naWNhbFJhbmdlQ2hhbmdlZC5maXJlKHQubG9naWNhbFJhbmdlKCksZS5sb2dpY2FsUmFuZ2UoKSl9X2Jhc2VJbmRleEJhckNlbnRlckNvb3JkaW5hdGUoKXtjb25zdCBlPXRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUsdD10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KGUpCjtyZXR1cm4gdGhpcy5fd2lkdGgtdCp0aGlzLl9iYXJTcGFjaW5nfV90cnlUb1VwZGF0ZUJhclNwYWNpbmcoZSx0KXtyZXR1cm4gZSE9PXQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwLHRoaXMuX2JhclNwYWNpbmc9dCx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5maXJlKHQpLCEwKX1fc2F2ZUNvbW1vblRyYW5zaXRpb25zU3RhcnRTdGF0ZSgpe3RoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlPXtiYXJTcGFjaW5nOnRoaXMuYmFyU3BhY2luZygpLHJpZ2h0T2Zmc2V0OnRoaXMucmlnaHRPZmZzZXQoKX19X2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCl7dGhpcy5fY29tbW9uVHJhbnNpdGlvblN0YXJ0U3RhdGU9bnVsbH1fbWF4UmlnaHRPZmZzZXRPbkNoYW5nZWQoKXt0aGlzLl9tYXhSaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLm1heFJpZ2h0T2Zmc2V0KCkpfV91cGRhdGVSaWdodE9mZnNldChlKXtjb25zdCB0PXRoaXMuX3JpZ2h0T2Zmc2V0O3RoaXMuX3JpZ2h0T2Zmc2V0PWUsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT10JiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpfV9kZWZhdWx0UmlnaHRPZmZzZXRPcHRpb25zVXBkYXRlZCgpe3RoaXMucmlnaHRPZmZzZXQoKTt0aGlzLnNldFJpZ2h0T2Zmc2V0KHRoaXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCkpLHRoaXMuX3VwZGF0ZVJlc2V0QXZhaWxhYmxlVmFsdWUoKSx0aGlzLl9sYXN0RGVmYXVsdFJpZ2h0T2Zmc2V0PXRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UudmFsdWUoKX1fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpe3RoaXMuX3Jlc2V0QXZhaWxhYmxlLnNldFZhbHVlKDYhPT10aGlzLmJhclNwYWNpbmcoKXx8dGhpcy5yaWdodE9mZnNldCgpIT09dGhpcy50YXJnZXREZWZhdWx0UmlnaHRPZmZzZXQoKSl9fXZhciBlaD1pKDgyNjE1NiksdGg9aSg2MjQ2NzgpLGloPWkoNDYyNTg5KTtjbGFzcyBzaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9vbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZ3JvdXBzPVtdLHRoaXMuX2dyb3Vwcz1lfHxbXSx0aGlzLl9ncm91cHMuZm9yRWFjaCgoZT0+e2Uub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKHQ9PnRoaXMuX29uQ2hhbmdlZC5maXJlKGUuaWQsdCkpKX0pKX1kZXN0cm95KCl7dGhpcy5fZ3JvdXBzLmZvckVhY2goKGU9PmUub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcykpKSx0aGlzLl9ncm91cHMubGVuZ3RoPTB9Z3JvdXBzKCl7cmV0dXJuIHRoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9Pm51bGw9PT1lLnBhcmVudEdyb3VwKCkmJmUuaXNBY3R1YWxTeW1ib2woKSkpfWdyb3Vwc0ZvckFsbFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fZ3JvdXBzLmZpbHRlcigoZT0+bnVsbD09PWUucGFyZW50R3JvdXAoKSkpfWNyZWF0ZUdyb3VwKGUsdCxpKXt0PXR8fHRoaXMuX2dlbmVyYXRlTmV4dE5hbWUoKTtjb25zdCBzPWUubGVuZ3RoPjA/dGhpcy5fcGFyZW50R3JvdXBGb3JJdGVtKGVbMF0pOm51bGw7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT10aGlzLl9wYXJlbnRHcm91cEZvckl0ZW0odCk7bnVsbCE9PWUmJmUuZXhjbHVkZUl0ZW0odCl9Y29uc3Qgbj1uZXcgaW8oZSx0LGkpO3RoaXMuX2dyb3Vwcy5wdXNoKG4pLG4ub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX29uQ2hhbmdlZC5maXJlKG4uaWQsZSkpKSxudWxsIT09cyYmcy5hZGRJdGVtcyhbbl0pO2NvbnN0IHI9W107ZS5mb3JFYWNoKChlPT57KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSk/dG8oZSxyKTpyLnB1c2goZS5pZCgpKX0pKTtjb25zdCBvPXt2aXNpYmlsaXR5Q2hhbmdlZDohMSxsb2NrZWRDaGFuZ2VkOiExLGlzQWN0dWFsSW50ZXJ2YWxDaGFuZ2VkOiExLGFmZmVjdGVkTGluZVRvb2xzOnJ9O3JldHVybiB0aGlzLl9vbkNoYW5nZWQuZmlyZShuLmlkLG8pLHRoaXMuX3JlbW92ZUVtcHR5R3JvdXBzQ2FzY2FkZSgpLG59YWRkR3JvdXAoZSl7dGhpcy5fZ3JvdXBzLnB1c2goZSksZS5vbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywodD0+dGhpcy5fb25DaGFuZ2VkLmZpcmUoZS5pZCx0KSkpLHRoaXMuX29uQ2hhbmdlZC5maXJlKGUuaWQpfXJlbW92ZUdyb3VwKGUpe2Uub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7Y29uc3QgdD1lLnBhcmVudEdyb3VwKCk7bnVsbCE9PXQmJnQuZXhjbHVkZUl0ZW0oZSk7Y29uc3QgaT1lLnN1Ymdyb3VwcygpO2kubGVuZ3RoPjAmJmUuZXhjbHVkZUl0ZW1zKGkpO2NvbnN0IHM9dGhpcy5fZ3JvdXBzLmZpbmRJbmRleCgodD0+dC5pZD09PWUuaWQpKTstMSE9PXMmJnRoaXMuX2dyb3Vwcy5zcGxpY2UocywxKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLmlkKX1ncm91cEZvcklkKGUpe3JldHVybiB0aGlzLl9ncm91cHMuZmluZCgodD0+dC5pZD09PWUpKXx8bnVsbH1ncm91cEZvckxpbmVUb29sKGUpe3JldHVybiB0aGlzLl9ncm91cHMuZmluZCgodD0+dC5jb250YWluc0l0ZW0oZSkpKXx8bnVsbH1yZW1vdmVMaW5lVG9vbHMoZSl7Y29uc3QgdD1uZXcgU2V0O3JldHVybiB0aGlzLl9ncm91cHMuZm9yRWFjaCgoaT0+e2NvbnN0IHM9ZS5maWx0ZXIoKGU9PmkuY29udGFpbnNJdGVtKGUpKSk7cy5sZW5ndGgmJihpLmV4Y2x1ZGVJdGVtcyhzKSx0LmFkZChpLmlkKSl9KSksdGhpcy5fcmVtb3ZlRW1wdHlHcm91cHNDYXNjYWRlKCksQXJyYXkuZnJvbSh0KX1zdGF0ZShlKXtyZXR1cm57Z3JvdXBzOihlP3RoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSkpOnRoaXMuX2dyb3VwcykubWFwKChlPT5lLnN0YXRlKCkpKX19b25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlZH1maXJlQ2hhbmdlZEFsbCgpe3RoaXMuX2dyb3Vwcy5mb3JFYWNoKChlPT57dGhpcy5fb25DaGFuZ2VkLmZpcmUoZS5pZCl9KSl9c3RhdGljIGZyb21TdGF0ZShlLHQpe2NvbnN0IGk9W10KO2Zvcihjb25zdCBzIG9mIHQuZ3JvdXBzKXtjb25zdCB0PWlvLmZyb21TdGF0ZShlLHMpO251bGwhPT10JiZpLnB1c2godCl9cmV0dXJuIG5ldyBzaChpKX1fcGFyZW50R3JvdXBGb3JJdGVtKGUpe3JldHVybigwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP2UucGFyZW50R3JvdXAoKTp0aGlzLmdyb3VwRm9yTGluZVRvb2woZSl9X3JlbW92ZUVtcHR5R3JvdXBzQ2FzY2FkZSgpe2xldCBlPSEwO2Zvcig7ZTspe2NvbnN0IHQ9dGhpcy5fZ3JvdXBzLmZpbHRlcigoZT0+MD09PWUubGluZVRvb2xzKCkubGVuZ3RoJiYwPT09ZS5zdWJncm91cHMoKS5sZW5ndGgpKTtlPXQubGVuZ3RoPjAsdC5mb3JFYWNoKChlPT50aGlzLnJlbW92ZUdyb3VwKGUpKSl9fV9nZW5lcmF0ZU5leHROYW1lKCl7Y29uc3QgZT1uZXcgU2V0KHRoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSkpLm1hcCgoZT0+ZS5uYW1lKCkudmFsdWUoKSkpKTtmb3IobGV0IHQ9MTs7dCsrKXtjb25zdCBpPWBHcm91cCAke3R9YCxzPWBHcm91cF8ke3R9YDtpZighZS5oYXMoaSkmJiFlLmhhcyhzKSlyZXR1cm4gaX19fXZhciBuaD1pKDY0MjcxOSkscmg9aSg3NzE3OTUpO2Z1bmN0aW9uIG9oKGUpe3JldHVybiBCb29sZWFuKGUuc2Vzc2lvbi50aW1lem9uZSkmJkJvb2xlYW4oZS5zZXNzaW9uLnNwZWMpfWNsYXNzIGFoe2NvbnN0cnVjdG9yKGUsdCl7dmFyIGksczt0aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyPW51bGwsdGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9zb3VyY2U9ZSx0aGlzLl90YXJnZXQ9dCx0aGlzLl9zb3VyY2VTZXNzaW9uPW5oLlNlc3Npb25JbmZvLmZyb21TdGF0ZShlLnNlc3Npb24pLHRoaXMuX3RhcmdldFNlc3Npb249bmguU2Vzc2lvbkluZm8uZnJvbVN0YXRlKHQuc2Vzc2lvbiksdGhpcy5faXNSZXNvbHV0aW9uVGhlU2FtZT14LkludGVydmFsLmlzRXF1YWwoZS5yZXNvbHV0aW9uLHQucmVzb2x1dGlvbil8fHguSW50ZXJ2YWwuaXNUaWNrcyhlLnJlc29sdXRpb24pJiZ4LkludGVydmFsLmlzVGlja3ModC5yZXNvbHV0aW9uKSx0aGlzLl9pc1Nlc3Npb25UaGVTYW1lPShpPWUuc2Vzc2lvbixzPXQuc2Vzc2lvbixpLnRpbWV6b25lPT09cy50aW1lem9uZSYmaS5zcGVjPT09cy5zcGVjJiZpLmhvbGlkYXlzPT09cy5ob2xpZGF5cyYmaS5jb3JyZWN0aW9ucz09PXMuY29ycmVjdGlvbnMpfXNvdXJjZVRpbWVUb1RhcmdldFRpbWUoZSl7aWYodGhpcy5faXNTZXNzaW9uVGhlU2FtZSYmdGhpcy5faXNSZXNvbHV0aW9uVGhlU2FtZSlyZXR1cm4gZTtpZighb2godGhpcy5fc291cmNlKXx8IW9oKHRoaXMuX3RhcmdldCkpcmV0dXJuIGU7bGV0IHQ9dGhpcy5fY2FjaGUuZ2V0KGUpO2lmKHZvaWQgMD09PXQpe2NvbnN0IGk9MWUzKmUscz10aGlzLl9zb3VyY2VUYXJnZXRCdWlsZGVyKCk7cy5tb3ZlVG8oaSk7Y29uc3Qgbj1zLmluZGV4T2ZCYXIoaSk7dD1zLnN0YXJ0T2ZCYXIoTWF0aC5tYXgoMCxuKSkvMWUzLHRoaXMuX2NhY2hlLnNldChlLHQpfXJldHVybiB0fV9zb3VyY2VUYXJnZXRCdWlsZGVyKCl7cmV0dXJuIG51bGw9PT10aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyJiYodGhpcy5fc291cmNlVGFyZ2V0QmFyQnVpbGRlcj0oMCxyaC5uZXdCYXJCdWlsZGVyKSh0aGlzLl90YXJnZXQucmVzb2x1dGlvbix0aGlzLl90YXJnZXRTZXNzaW9uLHRoaXMuX3NvdXJjZVNlc3Npb24pKSx0aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyfX12YXIgbGg9aSg0Njk4NzYpO2NvbnN0IGNoPSIjMDAwMDAwIjthc3luYyBmdW5jdGlvbiBoaChlKXsoYXdhaXQoMCxVcy5nZXRDaGFydEFsZXJ0c0ZhY2FkZSkoKSkuaW52b2tlQWxlcnRFZGl0b3IoZSl9Y2xhc3MgZGh7Y29uc3RydWN0b3IoZSl7dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZT1uZXcgTWFwLHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZD1uZXcgTWFwLHRoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fY2hhcnRNb2RlbD1lfWRlc3Ryb3koKXt0aGlzLnJlbW92ZUFsbEFsZXJ0TGFiZWxzKCl9cmVtb3ZlQWxsQWxlcnRMYWJlbHMoKXtjb25zdCBlPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2U7dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZT1uZXcgTWFwLHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5jbGVhcigpLHRoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0LmNsZWFyKCksdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LmNsZWFyKCksdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LmNsZWFyKCksZS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKSkpfSkpfXJlbW92ZVNvdXJjZUFsZXJ0TGFiZWxzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSkpdGhpcy5fcmVtb3ZlQWxlcnRMYWJlbCh0KTtpZigoMCxmbC5pc1NlcmllcykoZSkpe2NvbnN0IHQ9ZS5hY3RpdmVTdHVkeUJpbmRpbmcoKTt0JiZ0aGlzLnJlbW92ZVNvdXJjZUFsZXJ0TGFiZWxzKHQpfX1zeW5jU291cmNlQWxlcnRMYWJlbHMoZSl7aWYoISgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKXx8IWUuaGFzU3RhdGVGb3JBbGVydCgpKXJldHVybjtmb3IoY29uc3QgdCBvZiB0aGlzLl9nZXRBbGVydExhYmVsc0J5U291cmNlKGUpKXQuYWxlcnRPd25lclNvdXJjZSgpLmlkRm9yQWxlcnQoKT09PXQuYWxlcnRTZXJpZXNJZCgpfHx0LmFsZXJ0KCkuaXNPSExDKCl8fHRoaXMuX3JlbW92ZUFsZXJ0TGFiZWwodCk7Y29uc3QgdD10aGlzLl9hbGVydHNCeUFsZXJ0U2VyaWVzSWQuZ2V0KGUuaWRGb3JBbGVydCgpKSxpPXRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSk7dm9pZCAwIT09dCYmdC5mb3JFYWNoKChlPT57aS5zb21lKCh0PT50LmFsZXJ0KCk9PT1lKSl8fHRoaXMuX3VwZGF0ZUFsZXJ0TGFiZWxzQnlBbGVydChlLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fYWxlcnRTZXJpZXNJZEJ5QWxlcnQuZ2V0KGUpKSl9KSkKO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoZSkpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSkpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHQpO2khPT1zPyhudWxsIT09aSYmaS5yZW1vdmVEYXRhU291cmNlKHQpLHMuYWRkRGF0YVNvdXJjZSh0LCgwLGwuZW5zdXJlTm90TnVsbCkoZS5wcmljZVNjYWxlKCkpLCExKSk6ZS5wcmljZVNjYWxlKCkhPT10LnByaWNlU2NhbGUoKSYmcy5tb3ZlKHQsKDAsbC5lbnN1cmVOb3ROdWxsKShlLnByaWNlU2NhbGUoKSkpfWlmKCgwLGZsLmlzU2VyaWVzKShlKSl7Y29uc3QgdD1lLmFjdGl2ZVN0dWR5QmluZGluZygpO3QmJnRoaXMuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHQpfX1kZXRhY2hTb3VyY2VBbGVydExhYmVscyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9nZXRBbGVydExhYmVsc0J5U291cmNlKGUpKXRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKHQpO2lmKCgwLGZsLmlzU2VyaWVzKShlKSl7Y29uc3QgdD1lLmFjdGl2ZVN0dWR5QmluZGluZygpO3QmJnRoaXMuZGV0YWNoU291cmNlQWxlcnRMYWJlbHModCl9fWFkZEFsZXJ0KGUsdCl7KDAsbC5hc3NlcnQpKCF0aGlzLl9hbGVydFNlcmllc0lkQnlBbGVydC5oYXMoZSksIkFsZXJ0IGlzIGFscmVhZHkgYWRkZWQgb24gdGhlIGNoYXJ0IiksdGhpcy5fYWxlcnRTZXJpZXNJZEJ5QWxlcnQuc2V0KGUsdCk7bGV0IGk9dGhpcy5fYWxlcnRzQnlBbGVydFNlcmllc0lkLmdldCh0KTt2b2lkIDA9PT1pJiYoaT1uZXcgU2V0LHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5zZXQodCxpKSksaS5hZGQoZSksdGhpcy5fdXBkYXRlQWxlcnRMYWJlbHNCeUFsZXJ0KGUsdCl9aXNBbGVydExhYmVsQmVpbmdNb3ZlZChlLHQpe2NvbnN0IGk9dGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LmdldChlKTtpZih2b2lkIDA9PT1pKXJldHVybiExO2NvbnN0IHM9bmV3IFNldCh0KTtmb3IoY29uc3QgZSBvZiBpKWlmKHMuaGFzKGUpKXJldHVybiEwO3JldHVybiExfXJlbW92ZUFsZXJ0KGUpe2NvbnN0IHQ9dGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LmdldChlKTt2b2lkIDAhPT10JiZ0LmZvckVhY2goKHQ9Pntjb25zdCBpPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KHQpO3ZvaWQgMCE9PWkmJmkuZm9yRWFjaCgodD0+e3QuYWxlcnQoKT09PWUmJnRoaXMuX3JlbW92ZUFsZXJ0TGFiZWwodCl9KSl9KSk7Y29uc3QgaT10aGlzLl9hbGVydFNlcmllc0lkQnlBbGVydC5nZXQoZSk7aWYoIWkpcmV0dXJuO3RoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0LmRlbGV0ZShlKTtjb25zdCBzPXRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5nZXQoaSk7dm9pZCAwIT09cyYmcy5kZWxldGUoZSl9X3JlbW92ZUFsZXJ0TGFiZWwoZSl7Y29uc3QgdD1lLmFsZXJ0T3duZXJTb3VyY2UoKSxpPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KHQpO3ZvaWQgMCE9PWkmJihpLmRlbGV0ZShlKSwwPT09aS5zaXplJiZ0aGlzLl9hbGVydExhYmVsc0J5U291cmNlLmRlbGV0ZSh0KSk7Y29uc3Qgcz1lLmFsZXJ0KCksbj10aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZ2V0KHMpO3ZvaWQgMCE9PW4mJihuLmRlbGV0ZShlKSwwPT09bi5zaXplJiZ0aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZGVsZXRlKHMpKTtjb25zdCByPXRoaXMuX2FsZXJ0TGFiZWxzT3duZXJTb3VyY2VzQnlBbGVydC5nZXQocyk7dm9pZCAwIT09ciYmKHIuZGVsZXRlKHQpLDA9PT1yLnNpemUmJnRoaXMuX2FsZXJ0TGFiZWxzT3duZXJTb3VyY2VzQnlBbGVydC5kZWxldGUocykpLHRoaXMuX2NoYXJ0TW9kZWwucmVtb3ZlU291cmNlKGUpfV9maW5kUGFuZXMoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgaSBvZiB0aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkpe2NvbnN0IHM9aS5wcmljZURhdGFTb3VyY2VzKCksbj1uZXcgU2V0O2Zvcihjb25zdCB0IG9mIHMpaWYodC5oYXNTdGF0ZUZvckFsZXJ0KCkmJnQuaWRGb3JBbGVydCgpPT09ZSYmbi5hZGQodCksKDAsZmwuaXNTZXJpZXMpKHQpKXtjb25zdCBpPXQuYWN0aXZlU3R1ZHlCaW5kaW5nKCk7aSYmaS5oYXNTdGF0ZUZvckFsZXJ0KCkmJmkuaWRGb3JBbGVydCgpPT09ZSYmbi5hZGQoaSl9bi5zaXplPjAmJnQucHVzaCh7cGFuZTppLHNvdXJjZXM6bn0pfXJldHVybiB0fV9hZGRMYWJlbFRvUGFuZShlLHQsaSxzKXtjb25zdCBuPW5ldyBxaS5BbGVydExhYmVsKHRoaXMuX2NoYXJ0TW9kZWwsZSxzLGhoKTtpLmFkZERhdGFTb3VyY2UobixzLnByaWNlU2NhbGUoKSwhMSk7bGV0IHI9dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZS5nZXQocyk7dm9pZCAwPT09ciYmKHI9bmV3IFNldCx0aGlzLl9hbGVydExhYmVsc0J5U291cmNlLnNldChzLHIpKSxyLmFkZChuKTtsZXQgbz10aGlzLl9hbGVydExhYmVsc093bmVyU291cmNlc0J5QWxlcnQuZ2V0KGUpO3ZvaWQgMD09PW8mJihvPW5ldyBTZXQsdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LnNldChlLG8pKSxvLmFkZChzKTtsZXQgYT10aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZ2V0KGUpO3ZvaWQgMD09PWEmJihhPW5ldyBTZXQsdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LnNldChlLGEpKSxhLmFkZChuKX1fdXBkYXRlQWxlcnRMYWJlbHNCeUFsZXJ0KGUsdCl7Y29uc3QgaT10aGlzLl9maW5kUGFuZXModCk7aWYoaS5sZW5ndGgpZm9yKGNvbnN0IHMgb2YgaSlzLnNvdXJjZXMuZm9yRWFjaCgoaT0+dGhpcy5fYWRkTGFiZWxUb1BhbmUoZSx0LHMucGFuZSxpKSkpO2Vsc2UgaWYoZS5pc09ITEMoKSl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKTt0aGlzLl9hZGRMYWJlbFRvUGFuZShlLHQsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoaSkpLGkpfXRoaXMuX2NoYXJ0TW9kZWwubGlnaHRVcGRhdGUoKX1fZ2V0QWxlcnRMYWJlbHNCeVNvdXJjZShlKXtjb25zdCB0PXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KGUpCjtyZXR1cm4gdm9pZCAwPT09dD9bXTpBcnJheS5mcm9tKHQpfX12YXIgdWg9aSg0ODc4MjApLHBoPWkoNjU2NjQpLF9oPWkoNjM1Njk5KSxtaD1pKDM3NjY0NSksZ2g9aSg1OTYyNzIpLGZoPWkoOTY5NCksU2g9aSgxMzE2ODApO2NsYXNzIHZoIGV4dGVuZHMgZmguUHJpY2VMaW5lQXhpc1ZpZXd7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXR9X3ZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksdD1lLnByaWNlU2NhbGUoKSxpPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1pKXJldHVybntub0RhdGE6ITB9O2NvbnN0IHM9dGhpcy5fc291cmNlLnByaWNlKCksbj10aGlzLl9zb3VyY2UuY3VycmVudFNlc3Npb24oKSxyPSgwLFNoLmNvbG9yUHJvcGVydHlCeU1hcmtldFN0YXR1cykodGhpcy5fc291cmNlLnByb3BlcnRpZXMoKSxuKTtpZihudWxsPT1zfHwhcilyZXR1cm57bm9EYXRhOiEwfTtyZXR1cm57bm9EYXRhOiExLGNvb3JkaW5hdGU6dC5wcmljZVRvQ29vcmRpbmF0ZShzLGkpLGNvbG9yOiIiLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZToiIixmb3JtYXR0ZWRQcmljZUFic29sdXRlOiIiLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOiIiLHRleHQ6IiIsaW5kZXg6MH19X3ByaWNlTGluZUNvbG9yKGUpe2NvbnN0IHQ9dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCk7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxTaC5jb2xvclByb3BlcnR5QnlNYXJrZXRTdGF0dXMpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCksdCkpLnZhbHVlKCl9X2xpbmVXaWR0aCgpe3JldHVybiB0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLmxpbmVXaWR0aC52YWx1ZSgpfV9saW5lU3R5bGUoKXtyZXR1cm4gdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lU3R5bGUudmFsdWUoKX1faXNWaXNpYmxlKCl7aWYoIXRoaXMuX3NvdXJjZS5jYW5CZVZpc2libGVPblN5bWJvbEFuZEludGVydmFsKCl8fCF0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcmljZSgpLHQ9dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCk7cmV0dXJuIG51bGwhPT1lJiYoInByZV9tYXJrZXQiPT09dHx8InBvc3RfbWFya2V0Ij09PXQpfX12YXIgeWg9aSg3MTY3OCk7Y29uc3QgYmg9e3ByZV9tYXJrZXQ6cC50KG51bGwse2NvbnRleHQ6Im1hcmtldF9zdGF0dXMifSxpKDk2NjQxMikpLHBvc3RfbWFya2V0OnAudChudWxsLHtjb250ZXh0OiJtYXJrZXRfc3RhdHVzIn0saSg2MTkyMzMpKSxuaWdodDpwLnQobnVsbCx7Y29udGV4dDoibWFya2V0X3N0YXR1cyJ9LGkoODIwMjE5KSl9O2NsYXNzIHdoIGV4dGVuZHMgeWguUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dH1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKXtpZihlLnZpc2libGU9ITEsdC52aXNpYmxlPSExLCF0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksbj1zLnByaWNlU2NhbGUoKSxyPXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1yKXJldHVybjtpZighdGhpcy5fc291cmNlLmNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKSlyZXR1cm47Y29uc3Qgbz10aGlzLl9zb3VyY2UucHJpY2UoKSxhPXRoaXMuX3NvdXJjZS5jdXJyZW50U2Vzc2lvbigpLGM9KDAsU2guY29sb3JQcm9wZXJ0eUJ5TWFya2V0U3RhdHVzKSh0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLGEpO2lmKG51bGw9PW98fCFjKXJldHVybjtjb25zdCBoPSgwLCRpLnJlc2V0VHJhbnNwYXJlbmN5KShjLnZhbHVlKCkpO2UudmlzaWJsZT0hMCx0LnZpc2libGU9ITAsZS50ZXh0PW4uZm9ybWF0UHJpY2VBYnNvbHV0ZShvKSx0LnRleHQ9KDAsbC5lbnN1cmVEZWZpbmVkKShiaFthXSksaS5jb29yZGluYXRlPW4ucHJpY2VUb0Nvb3JkaW5hdGUobyxyKSxpLmJhY2tncm91bmQ9aCxpLnRleHRDb2xvcj10aGlzLmdlbmVyYXRlVGV4dENvbG9yKGgpLGUuc2VsZWN0ZWRNYXJrQ29sb3I9dGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP2g6dm9pZCAwfX12YXIgQ2g9aSg3NDM0Nyk7Y2xhc3MgUGggZXh0ZW5kcyBDaC5Ib3Jpem9udGFsTGluZVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigpLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXQ7Y29uc3Qgcz17ZG91YmxlQ2xpY2tIYW5kbGVyOmksZG91YmxlVGFwSGFuZGxlcjppfTt0aGlzLl9saW5lUmVuZGVyZXIuc2V0SGl0VGVzdChuZXcgTWkuSGl0VGVzdFJlc3VsdChNaS5IaXRUYXJnZXQuUmVndWxhcixzKSl9X3VwZGF0ZUltcGwoKXtjb25zdCBlPXRoaXMuX2xpbmVSZW5kZXJlckRhdGE7ZS52aXNpYmxlPSExO2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGk9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCl8fCF0LmlzVmlzaWJsZSgpKXJldHVybjtjb25zdCBzPXQucHJpY2VTY2FsZSgpLG49dC5maXJzdFZhbHVlKCk7aWYobnVsbD09PW4pcmV0dXJuO2lmKCF0aGlzLl9zb3VyY2UuY2FuQmVWaXNpYmxlT25TeW1ib2xBbmRJbnRlcnZhbCgpKXJldHVybjtjb25zdCByPXRoaXMuX3NvdXJjZS5wcmljZSgpLG89dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCksYT0oMCxTaC5jb2xvclByb3BlcnR5QnlNYXJrZXRTdGF0dXMpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCksbyk7bnVsbCE9ciYmYSYmKGUudmlzaWJsZT0hMCxlLnk9cy5wcmljZVRvQ29vcmRpbmF0ZShyLG4pLGUubGluZXN0eWxlPWkubGluZVN0eWxlLnZhbHVlKCksZS5saW5ld2lkdGg9aS5saW5lV2lkdGgudmFsdWUoKSwKZS5jb2xvcj1hLnZhbHVlKCkpfX1jbGFzcyBUaCBleHRlbmRzIGdoLkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCksdGhpcy5fZXh0cmFIb3Vyc1ByaWNlPW51bGwsdGhpcy5fY3VycmVudFNlc3Npb249ImhvbGlkYXkiLHRoaXMuX3F1b3Rlc1Byb3ZpZGVyPXQubWFpblNlcmllcygpLnF1b3Rlc1Byb3ZpZGVyKCksdGhpcy5fcHJlUG9zdE1hcmtldExpbmVQYW5lVmlldz1uZXcgUGgodCx0aGlzLGkpLHRoaXMuX3ByZVBvc3RQcmljZUF4aXNWaWV3PW5ldyB3aCh0LHRoaXMpLHRoaXMuX3ByZVBvc3RMYWJlbFBhbmVWaWV3PW5ldyBtaC5QYW5lUHJpY2VBeGlzVmlldyh0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlldyx0Lm1haW5TZXJpZXMoKSx0KSx0aGlzLl9wcmVQb3N0UHJpY2VMaW5lQXhpc1ZpZXc9bmV3IHZoKHQsdGhpcyksdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUXVvdGVzKSx0aGlzLl91cGRhdGVRdW90ZXMoKX1kZXN0cm95KCl7dGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9cGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/W3RoaXMuX3ByZVBvc3RNYXJrZXRMaW5lUGFuZVZpZXddOltdfWxhYmVsUGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/W3RoaXMuX3ByZVBvc3RMYWJlbFBhbmVWaWV3XTpbXX1wcmljZUF4aXNWaWV3cyhlLHQpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/ZS5maW5kVGFyZ2V0UHJpY2VBeGlzVmlld3ModGhpcyx0LFt0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlld10sW3RoaXMuX3ByZVBvc3RQcmljZUxpbmVBeGlzVmlld10pOltdfXByaWNlU2NhbGUoKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKX11cGRhdGVBbGxWaWV3cyhlKXt0aGlzLl9wcmVQb3N0TWFya2V0TGluZVBhbmVWaWV3LnVwZGF0ZShlKSx0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlldy51cGRhdGUoZSksdGhpcy5fcHJlUG9zdFByaWNlTGluZUF4aXNWaWV3LnVwZGF0ZShlKSx0aGlzLl9wcmVQb3N0TGFiZWxQYW5lVmlldy51cGRhdGUoZSl9cHJpY2UoKXtyZXR1cm4gdGhpcy5fZXh0cmFIb3Vyc1ByaWNlfWN1cnJlbnRTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRTZXNzaW9ufWNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKTtpZighZSlyZXR1cm4hMTtjb25zdCBpPWUuc3Vic2Vzc2lvbl9pZDtpZighaSlyZXR1cm4hMTtzd2l0Y2godGhpcy5fY3VycmVudFNlc3Npb24pe2Nhc2UibmlnaHQiOnJldHVybiB0fHwhKDAsQS5pc1N0b2NrMjRoU2Vzc2lvbklkKShpKTtjYXNlInByZV9tYXJrZXQiOmNhc2UicG9zdF9tYXJrZXQiOnJldHVybiB0fHwoMCxBLmlzUmVndWxhclNlc3Npb25JZCkoaSxlKTtkZWZhdWx0OnJldHVybiExfX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldH1fdXBkYXRlUXVvdGVzKCl7Y29uc3QgZT10aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXMoKS52YWx1ZSgpO251bGw9PT1lP3RoaXMuX2V4dHJhSG91cnNQcmljZT1udWxsOih2b2lkIDAhPT1lLmN1cnJlbnRfc2Vzc2lvbiYmKHRoaXMuX2N1cnJlbnRTZXNzaW9uPWUuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9leHRyYUhvdXJzUHJpY2U9Im5pZ2h0Ij09PXRoaXMuX2N1cnJlbnRTZXNzaW9uP2UubnRjOmUucnRjKTtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCksaT10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKTt0aGlzLmNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKSYmKHR8fGkpJiYodGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpKX1fYXJlVmlld3NBdmFpbGFibGVGb3JQYW5lKGUpe3JldHVybiF0aGlzLl9tb2RlbC5pc0luUmVwbGF5KCkudmFsdWUoKSYmIXRoaXMuX21vZGVsLmlzU25hcHNob3QoKSYmdGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpPT09ZX19dmFyIHhoPWkoOTczOTcpLE1oPWkoMjgxOTU2KTtmdW5jdGlvbiBJaChlLHQpe3JldHVybiBlLmNvZGU8dC5jb2RlPy0xOmUuY29kZT50LmNvZGU/MTowfWNsYXNzIExoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lkc1RvSXRlbXM9bmV3IE1hcCx0aGlzLl9jb2Rlc1RvSXRlbXM9bmV3IE1hcCx0aGlzLl9jb252ZXJ0aWJsZUl0ZW1zPWU7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLl9pZHNUb0l0ZW1zLnNldCh0LmlkLHQpLHRoaXMuX2NvZGVzVG9JdGVtcy5zZXQodC5jb2RlLHQpfWNvbnZlcnRpYmxlKGUpe3JldHVybiB2b2lkIDAhPT10aGlzLl9pZHNUb0l0ZW1zLmdldChlKX1jdXJyZW5jeUNvZGVCeUlkKGUpe3JldHVybiB0aGlzLl9pZHNUb0l0ZW1zLmdldChlKT8uY29kZT8/bnVsbH1jdXJyZW5jeUlkQnlDb2RlKGUpe3JldHVybiB0aGlzLl9jb2Rlc1RvSXRlbXMuZ2V0KGUpPy5pZD8/bnVsbH1pdGVtKGUpe3JldHVybiB0aGlzLl9pZHNUb0l0ZW1zLmdldChlKT8/bnVsbH1zaXplKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubGVuZ3RofWZpbHRlckNvbnZlcnRpYmxlKGUsdCl7Y29uc3QgaT10aGlzLl9jb252ZXJ0aWJsZUl0ZW1zLmZpbHRlcihmdW5jdGlvbihlLHQpe3JldHVybiBpPT4hZS5oYXMoaS5pZCkmJnQoaS5pZCl9KGUsdCkpO3JldHVybiBpLnNvcnQoSWgpLGl9CmdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubWFwKChlPT5lLmlkKSl9fWNsYXNzIEFoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FsbEdyb3Vwcz1uZXcgU2V0LHRoaXMuX2lkVG9OYW1lPW5ldyBNYXAsdGhpcy5faWRUb0Rlc2NyaXB0aW9uPW5ldyBNYXAsdGhpcy5fZ3JvdXBlZFVuaXRJZHM9bmV3IE1hcCx0aGlzLl9ncm91cGVkVW5pdHM9bmV3IE1hcCx0aGlzLl9ncm91cEJ5SWQ9bmV3IE1hcCx0aGlzLl9zaXplPTAsdGhpcy5fdW5pdHM9ZTtmb3IoY29uc3QgdCBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkodCkpe3RoaXMuX2FsbEdyb3Vwcy5hZGQodCksdGhpcy5fZ3JvdXBlZFVuaXRJZHMuc2V0KHQsbmV3IFNldChlW3RdLm1hcCgoZT0+ZS5pZCkpKSksdGhpcy5fZ3JvdXBlZFVuaXRzLnNldCh0LGVbdF0pO2Zvcihjb25zdCBpIG9mIGVbdF0pdGhpcy5fc2l6ZSsrLHRoaXMuX2lkVG9OYW1lLnNldChpLmlkLGkubmFtZSksdGhpcy5faWRUb0Rlc2NyaXB0aW9uLnNldChpLmlkLGkuZGVzY3JpcHRpb24pLHRoaXMuX2dyb3VwQnlJZC5zZXQoaS5pZCx0KX19dW5pdHNDaGFuZ2VkKGUpe3JldHVybiB0aGlzLl91bml0cyE9PWV9c2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfW5hbWUoZSl7cmV0dXJuIHRoaXMuX2lkVG9OYW1lLmdldChlKXx8ZX1kZXNjcmlwdGlvbihlKXtyZXR1cm4gdGhpcy5faWRUb0Rlc2NyaXB0aW9uLmdldChlKXx8ZX11bml0R3JvdXBCeUlkKGUpe3JldHVybiB0aGlzLl9ncm91cEJ5SWQuZ2V0KGUpfHxudWxsfWFsbEdyb3Vwcygpe3JldHVybiBuZXcgU2V0KHRoaXMuX2FsbEdyb3Vwcyl9dW5pdHNCeUdyb3VwcyhlKXtjb25zdCB0PVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdCBpPXRoaXMuX2dyb3VwZWRVbml0cy5nZXQoZSk7dm9pZCAwIT09aSYmdC5wdXNoKHtuYW1lOmUsdW5pdHM6aX0pfSkpLHR9Y29udmVydGlibGUoZSx0KXtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PXRoaXMuX2dyb3VwZWRVbml0SWRzLmdldChpKTtpZih2b2lkIDAhPT10JiZ0LmhhcyhlKSlyZXR1cm4hMH1yZXR1cm4hMX19Y2xhc3Mga2h7Y29uc3RydWN0b3IoZSl7dGhpcy5fc291cmNlPW51bGwsdGhpcy5fc291cmNlUGFuZT1udWxsLHRoaXMuX2N1cnJlbnRUb29sU3VwcG9ydHNQaGFudG9tTW9kZT0hMSx0aGlzLl9tb2RlbD1lfWRlc3Ryb3koKXt0aGlzLl9zb3VyY2U9bnVsbCx0aGlzLl9zb3VyY2VQYW5lPW51bGx9c291cmNlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZX1vblRvb2xDaGFuZ2VkKCl7dGhpcy5fcmVtb3ZlU291cmNlKCksdGhpcy5fY3VycmVudFRvb2xTdXBwb3J0c1BoYW50b21Nb2RlPSgwLG0uaXNMaW5lVG9vbE5hbWUpKFQudG9vbC52YWx1ZSgpKSYmKDAscmkuc3VwcG9ydHNQaGFudG9tTW9kZSkoVC50b29sLnZhbHVlKCkpfW9uQ3Vyc29yUG9zaXRpb25VcGRhdGVkKCl7aWYoIXRoaXMuX2N1cnJlbnRUb29sU3VwcG9ydHNQaGFudG9tTW9kZSlyZXR1cm47Y29uc3QgZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKTtpZih0aGlzLl9zb3VyY2VQYW5lIT09ZS5wYW5lJiZ0aGlzLl9yZW1vdmVTb3VyY2UoKSxudWxsPT09ZS5wYW5lfHwhKDAsYS5pc051bWJlcikoZS5pbmRleCl8fCEoMCxhLmlzTnVtYmVyKShlLnByaWNlKSlyZXR1cm4gdm9pZCB0aGlzLl9yZW1vdmVTb3VyY2UoKTtjb25zdCB0PXtpbmRleDplLmluZGV4LHByaWNlOmUucHJpY2V9O251bGwhPT10aGlzLl9zb3VyY2U/dGhpcy5fc291cmNlLnNldFBvaW50KDAsdCk6KHRoaXMuX3NvdXJjZT10aGlzLl9tb2RlbC5jcmVhdGVMaW5lVG9vbCh7cGFuZTplLnBhbmUscG9pbnQ6dCxsaW5ldG9vbDpULnRvb2wudmFsdWUoKX0pLHRoaXMuX3NvdXJjZVBhbmU9ZS5wYW5lKX1fcmVtb3ZlU291cmNlKCl7bnVsbCE9PXRoaXMuX3NvdXJjZSYmKHRoaXMuX21vZGVsLnJlbW92ZVNvdXJjZSh0aGlzLl9zb3VyY2UpLHRoaXMuX3NvdXJjZT1udWxsLHRoaXMuX3NvdXJjZVBhbmU9bnVsbCl9fWNsYXNzIERoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NvbnZlcnRpYmxlSXRlbXM9ZSx0aGlzLl9pZHNUb0l0ZW1zPW5ldyBNYXA7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLl9pZHNUb0l0ZW1zLnNldCh0LmlkLHQpO3RoaXMuX2lkc1RvTmFtZXM9bmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2lkc1RvSXRlbXMuZW50cmllcygpKS5tYXAoKChbZSx0XSk9PltlLHQubmFtZV0pKSl9Y29udmVydGlibGUoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX2lkc1RvSXRlbXMuZ2V0KGUpfWl0ZW0oZSl7cmV0dXJuIHRoaXMuX2lkc1RvSXRlbXMuZ2V0KGUpPz9udWxsfXNpemUoKXtyZXR1cm4gdGhpcy5fY29udmVydGlibGVJdGVtcy5sZW5ndGh9bmFtZShlKXtyZXR1cm4gdGhpcy5faWRzVG9OYW1lcy5nZXQoZSk/P2V9aXNSZWFkeSgpe3JldHVybiB0aGlzLl9jb252ZXJ0aWJsZUl0ZW1zLmxlbmd0aD4wfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubWFwKChlPT5lLmlkKSl9fWZ1bmN0aW9uIEVoKGUsdCxpKXtsZXQgcz1udWxsO2lmKGkubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSYmKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpKXtjb25zdCBlPWkuYXZhaWxhYmxlTWV0cmljcygpLG49dC5tZXRyaWMoZSk7bnVsbCE9PW4mJihzPW4uc2VsZWN0ZWRNZXRyaWNJZCl9cmV0dXJuIHN9dmFyIFJoPWkoNDkyMzgxKSxWaD1pKDE2ODI1OCk7Y29uc3QgQmg9KGUsdCk9PiEwLE5oPShlLHQpPT4hdC5pc1Bsb3RGb3JjZU92ZXJsYXkoZS5pZCksT2g9KGUsdCk9PnQuaXNQbG90Rm9yY2VPdmVybGF5KGUuaWQpO2Z1bmN0aW9uIFdoKGUsdCl7Y29uc3QgaT1lLnByaWNlU2NhbGUoKSxzPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1pfHxudWxsPT09cylyZXR1cm47Y29uc3Qgbj1lLmJhcnMoKS52YWx1ZUF0KHQpO2lmKG51bGw9PT1uKXJldHVybjtsZXQgcjtpZihudWxsIT09ZS5wcmljZVNvdXJjZSgpKXI9W2UuYmFyRnVuY3Rpb24oKShuKV07ZWxzZSBzd2l0Y2goZS5zdHlsZSgpKXtjYXNlIDEyOnI9WygwLGwuZW5zdXJlKShuWzJdKSwoMCxsLmVuc3VyZSkoblszXSldO2JyZWFrO2Nhc2UgMTY6Y2FzZSAyMToKcj1bKDAsbC5lbnN1cmUpKG5bMl0pLCgwLGwuZW5zdXJlKShuWzRdKSwoMCxsLmVuc3VyZSkoblszXSldO2JyZWFrO2RlZmF1bHQ6cj1bKDAsbC5lbnN1cmUpKG5bMV0pLCgwLGwuZW5zdXJlKShuWzJdKSwoMCxsLmVuc3VyZSkoblszXSksKDAsbC5lbnN1cmUpKG5bNF0pXX1yZXR1cm4gci5tYXAoKGU9Pih7eTppLnByaWNlVG9Db29yZGluYXRlKGUscykscHJpY2U6ZX0pKSl9dmFyIEZoOyFmdW5jdGlvbihlKXtlW2UuTWFnbmV0VG9sZXJhbmNlPTUwXT0iTWFnbmV0VG9sZXJhbmNlIn0oRmh8fChGaD17fSkpO2NsYXNzIEhoe2NvbnN0cnVjdG9yKCl7dGhpcy5fbGFzdFZhbHVlPW51bGx9YWxpZ24oZSx0LGkpe3RoaXMuX2xhc3RWYWx1ZT1udWxsO2xldCBzPWU7aWYoISgwLFpzLm1hZ25ldEVuYWJsZWQpKCkudmFsdWUoKSlyZXR1cm4gcztjb25zdCBuPWkubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09bilyZXR1cm4gcztjb25zdCByPW4ucHJpY2VTY2FsZSgpO2lmKCFyfHxyLmlzRW1wdHkoKSlyZXR1cm4gcztjb25zdCBvPW4ubW9kZWwoKS5tYWluU2VyaWVzKCksYT0oMCxacy5tYWduZXRTbmFwc1RvSW5kaWNhdG9ycykoKS52YWx1ZSgpO2lmKCFhJiZuIT09bylyZXR1cm4gcztjb25zdCBjPSgwLGwuZW5zdXJlKShuLmZpcnN0VmFsdWUoKSksaD1yLnByaWNlVG9Db29yZGluYXRlKGUsYyksZD1pLmNvbnRhaW5zTWFpblNlcmllcygpP2Z1bmN0aW9uKGUsdCl7cmV0dXJuIFdoKGUsdCl9KG8sdCk/P1tdOltdO2lmKGEpe2kubW9kZWwoKS5hbGxTdHVkaWVzKCEwKS5maWx0ZXIoKGU9PmUuaXNWaXNpYmxlKCkpKS5mb3JFYWNoKChlPT57Y29uc3Qgcz1mdW5jdGlvbihlLHQsaSl7Y29uc3Qgcz1lLm1vZGVsKCksbj1zLnBhbmVGb3JTb3VyY2UoZSkscj1zLm1haW5QYW5lKCksbz1zLm1haW5TZXJpZXMoKTtpZigoMCx0aS5pc092ZXJsYXlTdHVkeSkoZSkpcmV0dXJuIGk9PT1uP1doKGUsdCk6dm9pZCAwO2NvbnN0IGE9ZS5tZXRhSW5mbygpO2lmKCFhKXJldHVybjtjb25zdCBsPWUuZGF0YSgpLnZhbHVlQXQodCk7aWYobnVsbD09PWwpcmV0dXJuO2NvbnN0IGM9YS5oYXNGb3JjZU92ZXJsYXlQbG90cygpO2lmKCEoaT09PW58fGMmJmk9PT1yKSlyZXR1cm47Y29uc3QgaD1lLnByaWNlU2NhbGUoKSxkPW8ucHJpY2VTY2FsZSgpLHU9ZS5maXJzdFZhbHVlKCkscD1vLmZpcnN0VmFsdWUoKTtpZighaHx8IWR8fG51bGw9PT11fHxudWxsPT09cClyZXR1cm47bGV0IF8sbSxnO249PT1yPyhfPUJoLG09ZCxnPXApOmk9PT1uPyhfPU5oLG09aCxnPXUpOihfPU9oLG09ZCxnPXApO2NvbnN0IGY9YS5wbG90cyxTPWYuZmlsdGVyKCh0PT4hKDAsVmguaXNQbG90V2l0aFRlY2huaWNhbFZhbHVlcykodCkmJmUuaXNQbG90VmlzaWJsZUF0KHQuaWQsVmguU3R1ZHlQbG90RGlzcGxheVRhcmdldC5QYW5lKSYmXyh0LGEpKSksdj1bXTtmb3IoY29uc3QgZSBvZiBTKXtjb25zdCB0PWxbZi5pbmRleE9mKGUpKzFdO2lmKG51bGwhPXQpe2NvbnN0IGk9YS5pc1Bsb3RGb3JjZU92ZXJsYXkoZS5pZCkscz0oaT9kOmgpLnByaWNlVG9Db29yZGluYXRlKHQsaT9wOnUpO3YucHVzaCh7eTpzLHByaWNlOm0uY29vcmRpbmF0ZVRvUHJpY2UocyxnKX0pfX1yZXR1cm4gdn0oZSx0LGkpO3MmJmQucHVzaCguLi5zKX0pKX1pZigwPT09ZC5sZW5ndGgpcmV0dXJuIHM7ZC5zb3J0KCgoZSx0KT0+TWF0aC5hYnMoZS55LWgpLU1hdGguYWJzKHQueS1oKSkpO2NvbnN0IHU9ZFswXTtyZXR1cm4oKDAsWnMubWFnbmV0TW9kZSkoKS52YWx1ZSgpPT09UmguTWFnbmV0TW9kZS5TdHJvbmdNYWduZXR8fE1hdGguYWJzKHUueS1oKTw1MCkmJihzPXUucHJpY2UsdGhpcy5fbGFzdFZhbHVlPXMpLHN9bGFzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX2xhc3RWYWx1ZX1yZXNldExhc3RWYWx1ZSgpe3RoaXMuX2xhc3RWYWx1ZT1udWxsfX1jbGFzcyB6aHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9hcHBsaWVkVGltZUZyYW1lPW5ldyBkLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fYXBwbGllZFRpbWVGcmFtZUluZm89bnVsbCx0aGlzLl9hcHBsaWVkVGltZUZyYW1lQ2hhbmdlZEJvdW5kPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkLmJpbmQodGhpcyksdGhpcy5fbW9kZWw9ZSxlLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc2VyaWVzVGltZUZyYW1lKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXJpZXNUaW1lRnJhbWUpLHRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuc3Vic2NyaWJlKHRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkQm91bmQpfWRlc3Ryb3koKXt0aGlzLl9hcHBsaWVkVGltZUZyYW1lLnVuc3Vic2NyaWJlKHRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkQm91bmQpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnNlcmllc1RpbWVGcmFtZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfWFwcGxpZWRUaW1lRnJhbWUoKXtyZXR1cm4gdGhpcy5fYXBwbGllZFRpbWVGcmFtZX1fYXBwbGllZFRpbWVGcmFtZUNoYW5nZWQoKXt0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2VDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxpLHMpe2lmKHMpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7dGhpcy5fYXBwbGllZFRpbWVGcmFtZUluZm89e2xvZ2ljYWxSYW5nZTplLmxvZ2ljYWxSYW5nZSgpLGJhc2VJbmRleDplLmJhc2VJbmRleCgpfSxlLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSl9fV9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSgpe2lmKG51bGw9PT10aGlzLl9hcHBsaWVkVGltZUZyYW1lSW5mbylyZXR1cm4KO2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD1lLmxvZ2ljYWxSYW5nZSgpLGk9ZS5iYXNlSW5kZXgoKSxzPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVJbmZvLmxvZ2ljYWxSYW5nZSxuPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVJbmZvLmJhc2VJbmRleDsobnVsbD09PXR8fG51bGw9PT1zfHxNYXRoLmFicyhpLXQubGVmdCgpLShuLXMubGVmdCgpKSk+PS4wMXx8TWF0aC5hYnMoaS10LnJpZ2h0KCktKG4tcy5yaWdodCgpKSk+PS4wMSkmJnRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuc2V0VmFsdWUobnVsbCl9fXZhciBVaD1pKDcwNjg4NCksR2g9aSg5MzQzMDUpO2NsYXNzIGpoIGV4dGVuZHMgR2guQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbH1zZXREYXRhKGUpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KGUpe3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtpZihudWxsPT09dGhpcy5fZGF0YSlyZXR1cm47Y29uc3R7Y29udGV4dDp0LHZlcnRpY2FsUGl4ZWxSYXRpbzppLGhvcml6b250YWxQaXhlbFJhdGlvOnMsYml0bWFwU2l6ZTpufT1lLHI9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHMpKTt0LmxpbmVXaWR0aD1yO2NvbnN0IG89TWF0aC5jZWlsKG4uaGVpZ2h0KmkpLGE9TWF0aC5jZWlsKG4ud2lkdGgqcyk7aWYodC5saW5lQ2FwPSJidXR0Iix0aGlzLl9kYXRhLnZlcnRMaW5lc1Zpc2libGUpe3Quc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS52ZXJ0TGluZXNDb2xvciwoMCxEaS5zZXRMaW5lU3R5bGUpKHQsdGhpcy5fZGF0YS52ZXJ0TGluZVN0eWxlKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9kYXRhLnRpbWVNYXJrcyl7Y29uc3QgaT1NYXRoLnJvdW5kKGUuY29vcmQqcyk7KDAsRGkuZHJhd1ZlcnRpY2FsTGluZSkodCxpLDAsbyl9fWlmKHRoaXMuX2RhdGEuaG9yekxpbmVzVmlzaWJsZSl7dC5zdHJva2VTdHlsZT10aGlzLl9kYXRhLmhvcnpMaW5lc0NvbG9yLCgwLERpLnNldExpbmVTdHlsZSkodCx0aGlzLl9kYXRhLmhvcnpMaW5lU3R5bGUpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGEucHJpY2VNYXJrcyl7Y29uc3Qgcz1NYXRoLnJvdW5kKGUuY29vcmQqaSk7KDAsRGkuZHJhd0hvcml6b250YWxMaW5lKSh0LHMsMCxhKX19fX1jbGFzcyBxaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yZW5kZXJlcj1uZXcgamgsdGhpcy5fcGFuZT1lfXVwZGF0ZSgpe31yZW5kZXJlcigpe2NvbnN0IGU9dGhpcy5fcGFuZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHQ9dGhpcy5fcGFuZS5tb2RlbCgpLnRpbWVTY2FsZSgpO2lmKGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXRoaXMuX3BhbmUubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkscz10Lm1hcmtzKCksbj1pLmhvcnpHcmlkUHJvcGVydGllcy5jaGlsZHMoKSxyPWkudmVydEdyaWRQcm9wZXJ0aWVzLmNoaWxkcygpLG89e2hvcnpMaW5lc1Zpc2libGU6bi52aXNpYmxlLnZhbHVlKCksdmVydExpbmVzVmlzaWJsZTpyLnZpc2libGUudmFsdWUoKSxob3J6TGluZXNDb2xvcjpuLmNvbG9yLnZhbHVlKCksdmVydExpbmVzQ29sb3I6ci5jb2xvci52YWx1ZSgpLGhvcnpMaW5lU3R5bGU6bi5zdHlsZS52YWx1ZSgpLHZlcnRMaW5lU3R5bGU6ci5zdHlsZS52YWx1ZSgpLHByaWNlTWFya3M6ZS5tYXJrcygpLHRpbWVNYXJrczpudWxsIT09cz9zOltdfTtyZXR1cm4gdGhpcy5fcmVuZGVyZXIuc2V0RGF0YShvKSx0aGlzLl9yZW5kZXJlcn19Y2xhc3MgJGggZXh0ZW5kcyB1ci5EYXRhU291cmNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fbW9kZWw9ZX1pZCgpe3JldHVybiJncmlkIn1wYW5lVmlld3MoZSl7cmV0dXJuIGUubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyP1tuZXcgcWgoZSldOm51bGx9bmFtZSgpe3JldHVybiJHcmlkIn1tb2RlbCgpe3JldHVybiB0aGlzLl9tb2RlbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIkdyaWRDb250ZXh0TWVudSJ9fXZhciBZaD1pKDQ0MTgwNyksS2g9aSgyNjA2OSk7ZnVuY3Rpb24gWGgoZSl7Y29uc3QgdD1lO3QudmVydEdyaWRQcm9wZXJ0aWVzPXQudmVydEdyaWRQcm9wZXJ0aWVzPz8oMCxZaC5kZWZhdWx0KSh0LmdyaWRQcm9wZXJ0aWVzKSx0LmhvcnpHcmlkUHJvcGVydGllcz10LmhvcnpHcmlkUHJvcGVydGllcz8/KDAsWWguZGVmYXVsdCkodC5ncmlkUHJvcGVydGllcyk7Y29uc3QgaT10LnZlcnRHcmlkUHJvcGVydGllcyxzPXQuaG9yekdyaWRQcm9wZXJ0aWVzO3ZvaWQgMD09PWk/LnN0eWxlJiZ2b2lkIDA9PT1zPy5zdHlsZSYmKGkmJihpLnN0eWxlPUtoLkxJTkVTVFlMRV9TT0xJRCkscyYmKHMuc3R5bGU9S2guTElORVNUWUxFX1NPTElEKSk7Y29uc3Qgbj10LmdyaWRMaW5lc01vZGU7dm9pZCAwIT09biYmKGkmJihpLnZpc2libGU9ImJvdGgiPT09bnx8InZlcnQiPT09bikscyYmKHMudmlzaWJsZT0iYm90aCI9PT1ufHwiaG9yeiI9PT1uKSxkZWxldGUgdC5ncmlkTGluZXNNb2RlKX12YXIgWmg9aSgxMjE0NzkpO2NsYXNzIEpoIGV4dGVuZHMgeWguUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcigpLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3BhbmU9dCx0aGlzLl9wcmljZVNjYWxlPWksdGhpcy5fcHJpY2VQcm92aWRlcj1zLHRoaXMuX3Byb3BlcnRpZXM9ZS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzfXNldEhpdFRlc3REYXRhKGUpe3RoaXMuX2hpdFRlc3REYXRhPWV9c2V0WENvb3JkKGUpe3RoaXMuX3hDb29yZD1lfWlnbm9yZUFsaWdubWVudCgpe3JldHVybiEwfWFkZGl0aW9uYWxQYWRkaW5nKGUpe3JldHVybiAwfV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LGkpe2lmKGUudmlzaWJsZT0hMSx0LnZpc2libGU9ITEsdGhpcy5fcGFuZS5tb2RlbCgpLmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpKXJldHVybjtjb25zdCBzPXRoaXMuX3ByaWNlU2NhbGUsbj1zLm1haW5Tb3VyY2UoKSxyPW51bGwhPT1uP24uZmlyc3RWYWx1ZSgpOm51bGwKO2lmKCF0aGlzLl9pc1Zpc2libGUoKXx8cy5pc0VtcHR5KCl8fG51bGw9PT1yKXJldHVybjtjb25zdCBvPXRoaXMuX2N1cnJlbnRQcmljZShzKTtpZihudWxsPT09bylyZXR1cm47aS5iYWNrZ3JvdW5kPSgwLCRpLnJlc2V0VHJhbnNwYXJlbmN5KSh0aGlzLl9iZ0NvbG9yKCkpLGkudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3IoaS5iYWNrZ3JvdW5kKTtjb25zdCBhPXRoaXMuYWRkaXRpb25hbFBhZGRpbmcocy5mb250U2l6ZSgpKTtpLmFkZGl0aW9uYWxQYWRkaW5nVG9wPWEsaS5hZGRpdGlvbmFsUGFkZGluZ0JvdHRvbT1hLGkuY29vcmRpbmF0ZT1zLnByaWNlVG9Db29yZGluYXRlKG8sciksZS50ZXh0PXMuZm9ybWF0UHJpY2UobyxyKSxlLnZpc2libGU9ITAsdC52aXNpYmxlPSEwLHQuaGl0VGVzdERhdGE9dGhpcy5faGl0VGVzdERhdGEsdC54Q29vcmQ9dGhpcy5feENvb3JkfV9jdXJyZW50UHJpY2UoZSl7cmV0dXJuIHRoaXMuX3ByaWNlUHJvdmlkZXIoZSl9fWNsYXNzIFFoIGV4dGVuZHMgSmh7YWRkaXRpb25hbFBhZGRpbmcoZSl7cmV0dXJuIDIvMTIqZX1faXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubG9ja2VkUGFuZSgpO3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dQcmljZVNjYWxlQ3Jvc3NoYWlyTGFiZWwudmFsdWUoKSYmKHRoaXMuX3NvdXJjZS52aXNpYmxlfHxudWxsIT09ZSkmJihlPz90aGlzLl9zb3VyY2UucGFuZSk9PT10aGlzLl9wYW5lfV9jdXJyZW50UHJpY2UoZSl7Y29uc3QgdD1ULmNyb3NzaGFpckxvY2sudmFsdWUoKTtyZXR1cm4gbnVsbCE9PXQmJjE9PT10LnR5cGU/dGhpcy5fcGFuZT09PXRoaXMuX3NvdXJjZS5sb2NrZWRQYW5lKCk/dC5wcmljZTpudWxsOnN1cGVyLl9jdXJyZW50UHJpY2UoZSl9X2JnQ29sb3IoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJuIHRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpP2UuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yRGFyay52YWx1ZSgpOmUuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yTGlnaHQudmFsdWUoKX1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKXtjb25zdCBzPXQudmlzaWJsZTtzdXBlci5fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKSx0aGlzLl9zb3VyY2UuaXNIb3ZlcmVkKCk/dC5iYWNrZ3JvdW5nPXRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpP1hvLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS02MDAiXTpYby5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktNjUwIl06dC5iYWNrZ3JvdW5nPXZvaWQgMCxzfHwodC52aXNpYmxlPXMpfX1jbGFzcyBlZCBleHRlbmRzIEpoe19pc1Zpc2libGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3NvdXJjZS5tZWFzdXJlUGFuZSgpLnZhbHVlKCl9X2JnQ29sb3IoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5heGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbi52YWx1ZSgpfX12YXIgdGQ9aSg0MjM5MDApLGlkPWkoODYyOTUxKSxzZD1pKDU4NjE2NSksbmQ9aSg1NTg0NTUpLHJkPWkoODIyNzk1KSxvZD1pKDcyMTA0MiksYWQ9aSg2MjE5MjYpO2Z1bmN0aW9uIGxkKGUsdCl7Y29uc3R7ZGF0YVNvdXJjZTpzLHk6bixkaXNhYmxlZDpyLGFuYWx5dGljc09wdDp7bWV0aG9kOm8sc291cmNlOmEsYWN0aW9uU291cmNlOmwsZ2FPcmlnaW46Y319PXQsaD1zLnByaWNlU2NhbGUoKSxkPXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1ofHxoLmlzUGVyY2VudGFnZSgpfHxoLmlzSW5kZXhlZFRvMTAwKCl8fG51bGw9PT1kKXJldHVybiBudWxsO2NvbnN0IHU9aC5jb29yZGluYXRlVG9QcmljZShuLGQpO2lmKG51bGw9PT11KXJldHVybiBudWxsO2NvbnN0IF89cy5mb3JtYXR0ZXIoKS5mb3JtYXQodSksbT0oMCxJby5pc1N5bWJvbFNvdXJjZSkocyk/cy5zeW1ib2xUaXRsZShjby5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCwhMCk6cy50aXRsZShjby5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCx7fSwhMCksZz17bGFiZWw6KDAsc2QuaGFzVXN1YWxBbGVydFBsb3RzKShzKT9wLnQobnVsbCx7cmVwbGFjZTp7dGl0bGU6bSxwcmljZTpffX0saSg3MTU4MzgpKTpwLnQobnVsbCx7cmVwbGFjZTp7dGl0bGU6bX19LGkoOTcxODgpKSxzdGF0TmFtZToiQWRkQWxlcnRPblNvdXJjZSIsaWNvbklkOiJBbGVydC5BZGQiLHNob3J0Y3V0SGludDooMCxLLmh1bWFuUmVhZGFibGVIYXNoKShLLk1vZGlmaWVycy5BbHQrNjUpLGRpc2FibGVkOnJ9O3JldHVybiByfHwoZy5vbkV4ZWN1dGU9YXN5bmMoKT0+e2NvbnN0IHQ9ZS5tYWluU2VyaWVzKCk7KDAsb2QudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdCkodC5zeW1ib2woKSxvLGEpOygwLGFkLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+KGFzeW5jKCk9Pntjb25zdCB0PXtkYXRhU291cmNlSHViOmUubW9kZWwoKSxzaWxlbnQ6ITAsYWN0aW9uU291cmNlOmwsbWV0aG9kOm8sc291cmNlOmF9OygwLHJpLmlzTGluZVRvb2wpKHMpP3QuZHJhd2luZz1zOih0LnNlcmllcz1zLHQudmFsdWU9KDAsbmQucm91bmRBbGVydFZhbHVlVXNpbmdQcmVjaXNpb24pKHMsdSkpLCgwLHJkLmludm9rZUFsZXJ0RWRpdG9yKSh0KX0pKCkpLHtmZWF0dXJlOiJhbGVydCIsc291cmNlOmN9KX0pLG5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQWxlcnQuQWRkIixvcHRpb25zOmd9KX12YXIgY2QsaGQ9aSg5MzcwOTgpLGRkPWkoNTQzNTcwKTtjbGFzcyB1ZCBleHRlbmRzIG1oLlBhbmVQcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCxpLHMsbil7c3VwZXIoZSx0LHMpLHRoaXMuX2Nyb3NzSGFpck1lbnVDYWNoZWRTdGF0ZT1udWxsLHRoaXMuX2hhc0FjdGlvbnM9ITEsdGhpcy5fZ2FPcmlnaW49IkNIIG1lbnUiLHRoaXMuX2Nyb3NzaGFpclByaWNlQXhpc1ZpZXc9ZSxlLnNldFBhbmVSZW5kZXJlckxhYmVsSWNvbigwKSx0aGlzLl9jcm9zc2hhaXI9dCx0aGlzLl9zY2FsZT1pLHRoaXMuX29wdGlvbnM9bix0aGlzLl91cGRhdGVHYU9yaWdpbigpLAp0aGlzLl9icm9rZXJTZXJ2aWNlU3Bhd249dGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzPy50cmFkaW5nQnJva2VyU2VydmljZS5zcGF3bigpLHRoaXMuX2Jyb2tlclNlcnZpY2VTcGF3bj8uc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2Nyb3NzSGFpck1lbnVDYWNoZWRTdGF0ZT1udWxsfSkse29uY2U6ITB9KX1kZXN0cm95KCl7dGhpcy5fYnJva2VyU2VydmljZVNwYXduPy5kZXN0cm95KCl9X3VwZGF0ZUltcGwoZSl7Y29uc3QgdD10aGlzLl9jcm9zc2hhaXIueSxpPXRoaXMuX2NoYXJ0TW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKSxuPXRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCkud2lkdGgoKSxyPXRoaXMuX2Nyb3NzaGFpci5tb2RlbCgpLnByaWNlQXhpc1JlbmRlcmVyT3B0aW9ucygpLG89aSsyKnRoaXMuX2Nyb3NzaGFpclByaWNlQXhpc1ZpZXcuYWRkaXRpb25hbFBhZGRpbmcoaSkrci5wYWRkaW5nVG9wK3IucGFkZGluZ0JvdHRvbSxhPW8sbD10LW8vMixjPXRoaXMuX2Nyb3NzaGFpci5wYW5lLGg9dGhpcy5fbWFpbkRhdGFTb3VyY2VPblBhbmUoKSxkPWgmJmguc3ltYm9sU291cmNlKCksdT0hIWQmJihkLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KCl8fGQuaXNDb252ZXJ0ZWRUb090aGVyVW5pdCgpKTtpZih0aGlzLl91cGRhdGVHYU9yaWdpbigpLG51bGwhPT1oKXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5wcmljZVNjYWxlKCk7cmV0dXJuIHQ/Lm1vZGUoKT8/bnVsbH0oaCksdD1oLmlkRm9yQWxlcnQoKSxpPXRoaXMuX2NoYXJ0TW9kZWwuaXNJblJlcGxheSgpLnZhbHVlKCksbj10aGlzLl9jcm9zc0hhaXJNZW51Q2FjaGVkU3RhdGUscj0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydF9jcm9zc2hhaXJfbWVudSIpO251bGwhPT1uJiZuLmlkPT09dCYmKDAscy5kZWZhdWx0KShuLnByaWNlU2NhbGUsZSkmJm4uaXNDdXJyZW5jeU9yVW5pdENvbnZlcnRlZD09PXUmJm4uaXNJblJlcGxheT09PWkmJm4uaXNNZW51RW5hYmxlZD09PXJ8fCh0aGlzLl91cGRhdGVUb29sdGlwQW5kQWN0aW9uc0F2YWlsYWJpbGl0eShoLGUsdSksdGhpcy5fY3Jvc3NIYWlyTWVudUNhY2hlZFN0YXRlPXtpZDp0LHByaWNlU2NhbGU6ZSxpc0N1cnJlbmN5T3JVbml0Q29udmVydGVkOnUsaXNJblJlcGxheTppLGlzTWVudUVuYWJsZWQ6cn0pfW51bGwhPT1oJiYoMCxJby5pc1N5bWJvbFNvdXJjZSkoaCkmJmguc3ltYm9sKCk7Y29uc3QgcD1udWxsIT09YyYmKGMubWF4aW1pemVkKCkudmFsdWUoKXx8IWMuY29sbGFwc2VkKCkudmFsdWUoKSkmJnRoaXMuX2hhc0FjdGlvbnM7dGhpcy5fY3Jvc3NoYWlyUHJpY2VBeGlzVmlldy5zZXRQYW5lTGFiZWxWaXNpYmxlKHApO2NvbnN0IF89dGhpcy5fcG9zaXRpb24oKTtpZihudWxsIT09Xyl7Y29uc3QgZT0wLHQ9bi1hLGk9Qm9vbGVhbihkZC5zaG93UGx1c0J1dHRvbk9uQ3Vyc29yLnZhbHVlKCkpLHM9aT90aGlzLl9jcm9zc2hhaXIueDp2b2lkIDAscj12b2lkIDAhPT1zP3MtYS8yOiJsZWZ0Ij09PV8/ZTp0LGM9dm9pZCAwIT09cz9zK2EvMjoibGVmdCI9PT1fP2UrYTp0K2EsaD0oMCxQdC5ib3gpKG5ldyBQdC5Qb2ludChyLGwpLG5ldyBQdC5Qb2ludChjLGwrbykpO3RoaXMuX2RhdGE9e2l0ZW1Cb3g6aCxjbGlja0hhbmRsZXI6dGhpcy5faGFuZGxlQ2xpY2suYmluZCh0aGlzLF8saSxoKX0sdGhpcy5fY3Jvc3NoYWlyUHJpY2VBeGlzVmlldy5zZXRIaXRUZXN0RGF0YSh0aGlzLl9kYXRhKSx0aGlzLl9jcm9zc2hhaXJQcmljZUF4aXNWaWV3LnNldFhDb29yZChzKX1zdXBlci5fdXBkYXRlSW1wbChlKX1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9zY2FsZX1fdXBkYXRlR2FPcmlnaW4oKXt0aGlzLl9nYU9yaWdpbj1Cb29sZWFuKGRkLnNob3dQbHVzQnV0dG9uT25DdXJzb3IudmFsdWUoKSk/IkNIIG1lbnUgY3Vyc29yIjoiQ0ggbWVudSJ9X3VwZGF0ZVRvb2x0aXBBbmRBY3Rpb25zQXZhaWxhYmlsaXR5KGUsdCxpKXt0aGlzLl9oYXNBY3Rpb25zPSExO2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5pc0luUmVwbGF5KCkudmFsdWUoKSxuPXMmJiF0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdGZWF0dXJlRmxhZ3NTZXJ2aWNlLnZhbHVlKCk/LmlzTmV3UmVwbGF5U3VwcG9ydGluZ1BsYXRmb3JtKCkscj0haSYmZS5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSYmIXMsbz0hdGhpcy5fb3B0aW9ucy5kaXNhYmxlRHJhd0hvcml6TGluZU1lbnVBY3Rpb24sYT0haSYmZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpJiZudWxsIT10aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdCcm9rZXJTZXJ2aWNlLnZhbHVlKCkmJiFuO3RoaXMuX2hhc0FjdGlvbnM9YXx8cnx8b31faGFuZGxlQ2xpY2soZSx0LGkscyxuKXtpZigoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpKXJldHVybiB2b2lkKDAsJG4uc2hvd0dvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nKSh7ZmVhdHVyZToicGx1c01lbnUifSk7KDAsTXQudHJhY2tFdmVudCkodGhpcy5fZ2FPcmlnaW4sImNsaWNrIik7Y29uc3Qgcj10aGlzLl9tYWluRGF0YVNvdXJjZU9uUGFuZSgpLG89bnVsbCE9PXImJigwLElvLmlzU3ltYm9sU291cmNlKShyKT9yLnN5bWJvbCgpOm51bGwsYT17cGFnZVg6bi5wYWdlWCxwYWdlWTpuLnBhZ2VZLGNsaWVudFg6bi5jbGllbnRYLGNsaWVudFk6bi5jbGllbnRZLHNjcmVlblg6bi5zY3JlZW5YLHNjcmVlblk6bi5zY3JlZW5ZLHByaWNlOnRoaXMuX2Nyb3NzaGFpci5wcmljZSxzeW1ib2w6b307JC5lbWl0KCJvblBsdXNDbGljayIsYSksdGhpcy5fZ2V0TWVudUl0ZW1zKGUpLnRoZW4oKHM9PntzLmxlbmd0aD4wJiZ0aGlzLl9zaG93Q29udGV4dE1lbnUocyx0LGksbixlKX0pKX1hc3luYyBfZ2V0TWVudUl0ZW1zKGUpewpjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLGk9dC5zeW1ib2xJbmZvKCkscz10aGlzLl9vcHRpb25zLmRpc2FibGVUcmFkaW5nTWVudUFjdGlvbnM/bnVsbDp0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdDaGFydENvbnRleHRNZW51U2VydmljZS52YWx1ZSgpPz9udWxsLG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSkubWFpbkRhdGFTb3VyY2UoKSxyPXRoaXMuX2NoYXJ0TW9kZWwuaXNJblJlcGxheSgpLnZhbHVlKCksbz0hcixhPXImJiF0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdGZWF0dXJlRmxhZ3NTZXJ2aWNlLnZhbHVlKCk/LmlzTmV3UmVwbGF5U3VwcG9ydGluZ1BsYXRmb3JtKCksYz1uPT09dCYmISgwLGhkLmlzTm9uVHJhZGFibGVTeW1ib2xUeXBlKShpPy50eXBlKSYmbnVsbCE9PXMmJiFhLGg9bz90aGlzLl9jcmVhdGVBbGVydE1lbnVJdGVtcyhlKTpQcm9taXNlLnJlc29sdmUoW10pLGQ9Yz90aGlzLl9jcmVhdGVUcmFkaW5nTWVudUl0ZW1zKCk6UHJvbWlzZS5yZXNvbHZlKFtdKSx1PXRoaXMuX2NyZWF0ZUFkZEhvcml6b250YWxMaW5lTWVudUl0ZW0oKTtyZXR1cm4gUHJvbWlzZS5hbGwoW2gsZCx1XSkudGhlbigoKFtlLHQsaV0pPT57dC5sZW5ndGg+MCYmKDAsbC5lbnN1cmVOb3ROdWxsKShzKS50cmFja0V2ZW50KHRoaXMuX2dhT3JpZ2luLCJjbGljayIpO2NvbnN0IG49ZS5sZW5ndGg+MCYmdC5sZW5ndGg+MDtyZXR1cm5bLi4uZSxuP25ldyBlcy5TZXBhcmF0b3I6bnVsbCwuLi50LChlLmxlbmd0aD4wfHx0Lmxlbmd0aD4wKSYmaS5sZW5ndGg+MD9uZXcgZXMuU2VwYXJhdG9yOm51bGwsLi4uaV0uZmlsdGVyKChlPT5udWxsIT09ZSkpfSkpfV9jcmVhdGVBbGVydE1lbnVJdGVtcyhlKXtpZihudWxsPT09dGhpcy5fY3Jvc3NoYWlyLnBhbmUpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpO2lmKHguSW50ZXJ2YWwuaXNUaWNrcyh0KSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtjb25zdCBpPXRoaXMuX2Nyb3NzaGFpci5wYW5lLm1haW5EYXRhU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3Qgcz1pLnN5bWJvbFNvdXJjZSgpO2lmKCEhcyYmKHMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3koKXx8cy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IG49dGhpcy5fY3Jvc3NoYWlyLnk7aWYodGhpcy5fb3B0aW9ucy5tZW51Rm9yTWFpblNvdXJjZU9ubHkpe2lmKGkuYWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpLnZhbHVlKCkmJmkuaXNWaXNpYmxlKCkpe2NvbnN0IGU9bGQodGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKSx0aGlzLl9nZXRBZGRBbGVydEFjdGlvbk9wdGlvbnMoaSxuLCExKSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsPT09ZT9bXTpbZV0pfXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pfWNvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSkuc291cmNlc0J5R3JvdXAoKTtsZXQgbz0oImxlZnQiPT09ZT9yLmxlZnRQcmljZVNjYWxlc1NvdXJjZXMoKTpyLnJpZ2h0UHJpY2VTY2FsZXNTb3VyY2VzKCkpLmZpbHRlcigoZT0+KDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKSkuZmlsdGVyKChlPT5lLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS52YWx1ZSgpJiZlLmlzVmlzaWJsZSgpKSk7cmV0dXJuIG8ucmV2ZXJzZSgpLG89KDAsZy5tb3ZlVG9IZWFkKShvLHRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKSwoMCxpZC5maWx0ZXJBY2Nlc3NpYmxlRGF0YVNvdXJjZXMpKG8pLnRoZW4oKGU9Pntjb25zdCB0PW5ldyBTZXQoZSksaT1bXTtmb3IoY29uc3QgZSBvZiBvKXtjb25zdCBzPWxkKHRoaXMuX2NoYXJ0TW9kZWwudW5kb01vZGVsKCksdGhpcy5fZ2V0QWRkQWxlcnRBY3Rpb25PcHRpb25zKGUsbiwhdC5oYXMoZSkpKTtudWxsIT09cyYmaS5wdXNoKHMpfXJldHVybiBpfSkpfV9nZXRBZGRBbGVydEFjdGlvbk9wdGlvbnMoZSx0LGkpe3JldHVybntkYXRhU291cmNlOmUseTp0LGRpc2FibGVkOmksYW5hbHl0aWNzT3B0OnttZXRob2Q6ImNyb3NzaGFpcl9tZW51Iixzb3VyY2U6ImNoYXJ0IixhY3Rpb25Tb3VyY2U6ImNyb3NzaGFpcl9tZW51IixnYU9yaWdpbjp0aGlzLl9nYU9yaWdpbn19fV9jcmVhdGVUcmFkaW5nTWVudUl0ZW1zKCl7Y29uc3QgZT10aGlzLl9jcm9zc2hhaXIueSx0PXRoaXMuX29wdGlvbnMuZXh0ZXJuYWxTZXJ2aWNlcz8udHJhZGluZ0NoYXJ0Q29udGV4dE1lbnVTZXJ2aWNlLnZhbHVlKCk/P251bGw7aWYobnVsbD09PXR8fG51bGw9PT10aGlzLl9jcm9zc2hhaXIucGFuZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtjb25zdCBpPXRoaXMuX2Nyb3NzaGFpci5wYW5lLm1haW5EYXRhU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3Qgcz1pLnN5bWJvbFNvdXJjZSgpO3JldHVybiEhcyYmKHMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3koKXx8cy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpP1Byb21pc2UucmVzb2x2ZShbXSk6KDAsdGQuY3JlYXRlVHJhZGVDb250ZXh0KSh7c2VyaWVzOmksaXNNYWluQ2hhcnQ6ITEseTplfSkudGhlbigoZT0+dC5nZXRDaGFydENvbnRleHRNZW51QWN0aW9ucyhlLHtvbmx5TWFpbkFjdGlvbnM6ITAsaGlkZU5vdEV4ZWN1dGFibGVBY3Rpb246ITAsZ2FPcmlnaW46dGhpcy5fZ2FPcmlnaW59KSkpfWFzeW5jIF9jcmVhdGVBZGRIb3Jpem9udGFsTGluZU1lbnVJdGVtKCl7aWYobnVsbD09PXRoaXMuX2Nyb3NzaGFpci5wYW5lKXJldHVybltdO2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmUubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09ZSlyZXR1cm5bXTtjb25zdCB0PXRoaXMuX2Nyb3NzaGFpci55LGk9YXdhaXQgdGhpcy5fZ2V0QWN0aW9uQWRkSG9yaXpvbnRhbExpbmUoe3NvdXJjZTplLHk6dCxwYW5lOnRoaXMuX2Nyb3NzaGFpci5wYW5lfSkKO3JldHVybiBudWxsPT09aT9bXTpbaV19YXN5bmMgX2dldEFjdGlvbkFkZEhvcml6b250YWxMaW5lKGUpe2lmKHRoaXMuX29wdGlvbnMuZGlzYWJsZURyYXdIb3JpekxpbmVNZW51QWN0aW9uKXJldHVybiBudWxsO2NvbnN0e3NvdXJjZTp0LHk6aSxwYW5lOnN9PWUsbj10aGlzLl9nZXRWYWx1ZSh0LGkpO2lmKG51bGw9PT1uKXJldHVybiBudWxsO2NvbnN0e2NyZWF0ZURyYXdIb3Jpem9udGFsTGluZUFjdGlvbjpyfT1hd2FpdCgwLHNzLmFjdGlvbnNQcm92aWRlck1vZHVsZSkoKTtyZXR1cm4gcih0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLHMse2luZGV4OjAscHJpY2U6bn0pfV9nZXRWYWx1ZShlLHQpe2NvbnN0IGk9ZS5wcmljZVNjYWxlKCkscz1lLmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PWl8fG51bGw9PT1zP251bGw6aS5jb29yZGluYXRlVG9QcmljZSh0LHMpfV9zaG93Q29udGV4dE1lbnUoZSx0LGkscyxuKXtjb25zdCByPSJsZWZ0Ij09PW47c2V0VGltZW91dCgoKCk9Pntjb25zdCBuPXMuY2xpZW50WC1zLmxvY2FsWCxvPXMuY2xpZW50WS1zLmxvY2FsWSxhPWkubWluLngrbixjPWkubWF4LngrbixoPWkubWluLnkrbyxkPWMtYSx1PWkubWF4Lnkrby1oLHA9dD9ULmNyb3NzaGFpckxvY2sudmFsdWUoKTp2b2lkIDA7aWYodm9pZCAwIT09cCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hUaW1lKHRoaXMuX2Nyb3NzaGFpci5pbmRleCkpO1QuY3Jvc3NoYWlyTG9jay5zZXRWYWx1ZSh7dHlwZToxLHByaWNlOnRoaXMuX2Nyb3NzaGFpci5wcmljZSx0aW1lOmUsbW9kZWxJZDp0aGlzLl9jaGFydE1vZGVsLmlkKCkscGFuZUlkOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3Jvc3NoYWlyLnBhbmUpLmlkKCl9KX1OaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoZSx7Y2xpZW50WDpzLmNsaWVudFgsY2xpZW50WTpzLmNsaWVudFksYm94Ont4OmEsdzpkLHk6aCxoOnV9LGF0dGFjaFRvWEJ5OnQ/ImF1dG8iOnI/ImxlZnQiOiJyaWdodCIsYXR0YWNoVG9ZQnk6ImF1dG8tc3RyaWN0IixtYXJnaW5YOnQ/MDotZH0se3N0YXROYW1lOnQ/IkNvbnRleHRQbHVzTWVudSI6IlNjYWxlUGx1c01lbnUifSx7bWVudU5hbWU6IkNyb3NzaGFpck1lbnVWaWV3In0sKCgpPT57dm9pZCAwIT09cCYmVC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKHApfSkpfSkpfV9tYWluRGF0YVNvdXJjZU9uUGFuZSgpe2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmU7cmV0dXJuIG51bGwhPT1lP2UubWFpbkRhdGFTb3VyY2UoKTpudWxsfX1jbGFzcyBwZCBleHRlbmRzIEdoLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2RhdGEuY2xpY2tIYW5kbGVyP251bGw6bmV3IE1pLkhpdFRlc3RSZXN1bHQoTWkuSGl0VGFyZ2V0LkN1c3RvbSx7Y2xpY2tIYW5kbGVyOnRoaXMuX2RhdGEuY2xpY2tIYW5kbGVyLHRhcEhhbmRsZXI6dGhpcy5fZGF0YS5jbGlja0hhbmRsZXJ9KX1fZHJhd0ltcGwoZSl7Y29uc3QgdD10aGlzLl9kYXRhLnZlcnRMaW5lc1Zpc2libGUsaT10aGlzLl9kYXRhLmhvcnpMaW5lc1Zpc2libGU7aWYoIXQmJiFpKXJldHVybjtjb25zdHtjb250ZXh0OnMsaG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86cixiaXRtYXBTaXplOm99PWU7cy5saW5lV2lkdGg9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMuX2RhdGEubGluZVdpZHRoKm4pKSxzLnN0cm9rZVN0eWxlPXRoaXMuX2RhdGEuY29sb3Iscy5maWxsU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixzLmxpbmVDYXA9ImJ1dHQiLCgwLERpLnNldExpbmVTdHlsZSkocyx0aGlzLl9kYXRhLmxpbmVTdHlsZSk7Y29uc3QgYT1NYXRoLnJvdW5kKHRoaXMuX2RhdGEueCpuKSxsPU1hdGgucm91bmQodGhpcy5fZGF0YS55KnIpLGM9TWF0aC5jZWlsKG8ud2lkdGgqbiksaD1NYXRoLmNlaWwoby5oZWlnaHQqcik7dCYmYT49MCYmKDAsRGkuZHJhd1ZlcnRpY2FsTGluZSkocyxhLDAsaCksaSYmbD49MCYmKDAsRGkuZHJhd0hvcml6b250YWxMaW5lKShzLGwsMCxjKSx0aGlzLl9kYXRhLmRyYXdDZW50ZXImJihzLmJlZ2luUGF0aCgpLHMuYXJjKGEsbCxNYXRoLnJvdW5kKDMqbiksMCwyKk1hdGguUEksITApLHMuZmlsbFN0eWxlPXRoaXMuX2RhdGEuY29sb3Iscy5maWxsKCkpLHRoaXMuX2RhdGEuc2Npc3NvcnMmJmZ1bmN0aW9uKGUsdCxpKXtjb25zdHtjb250ZXh0OnMsYml0bWFwU2l6ZTpuLGhvcml6b250YWxQaXhlbFJhdGlvOnIsdmVydGljYWxQaXhlbFJhdGlvOm99PWUsYT0yNCpyLGw9TWF0aC5yb3VuZCh0LWEvMik7bGV0IGM9TWF0aC5yb3VuZChpLWEvMik7aWYoYzwwKWM9MDtlbHNle2NvbnN0IGU9bi5oZWlnaHQtYTtjPmUmJihjPWUpfXMudHJhbnNsYXRlKGwsYykscy5zY2FsZShyLG8pLHMuZmlsbFN0eWxlPSIjMGYwZjBmIixzLmZpbGwoX2QpLHMuc3Ryb2tlU3R5bGU9IiNmZmYiLHMubGluZVdpZHRoPTEscy5zdHJva2UoX2QpfShlLGEsbCl9fSFmdW5jdGlvbihlKXsKZS5QYXRoPSJtMTUuNjggMy43Mi0zLjgyIDUuNTItMy44My01LjUyLS4yOC0uNDItLjQyLjNhMi44NCAyLjg0IDAgMCAwLS42OCAzLjkybDMuMjcgNC43My0xLjE2IDEuNjhhMy4zNCAzLjM0IDAgMCAwLTQuMjYgMy4yMiAzLjM0IDMuMzQgMCAwIDAgMy4zMiAzLjM1IDMuMzQgMy4zNCAwIDAgMCAzLjA4LTQuNmwxLTEuNDQgMS4xMyAxLjYyYTMuMzQgMy4zNCAwIDAgMCAzLjE1IDQuNDJjMS44NCAwIDMuMzItMS41IDMuMzItMy4zNWEzLjM0IDMuMzQgMCAwIDAtNC40Mi0zLjE3bC0xLjIzLTEuNzggMy4yMi00LjY1YTIuODYgMi44NiAwIDAgMC0uNjktMy45NmwtLjQxLS4yOS0uMjkuNDJaTTcuODIgMTYuMjdjLjQ3IDAgLjg2LjM5Ljg2Ljg4IDAgLjQ4LS4zOS44Ny0uODYuODdhLjg3Ljg3IDAgMCAxLS44Ni0uODdjMC0uNS40LS44OC44Ni0uODhabTguMzYgMGMuNDcgMCAuODYuMzkuODYuODggMCAuNDgtLjQuODctLjg2Ljg3YS44Ny44NyAwIDAgMS0uODYtLjg3YzAtLjUuMzktLjg4Ljg2LS44OFoiLGVbZS5TaXplPTI0XT0iU2l6ZSIsZS5GaWxsQ29sb3I9IiMwZjBmMGYiLGUuU3Ryb2tlQ29sb3I9IiNmZmYiLGVbZS5TdHJva2VXaWR0aD0xXT0iU3Ryb2tlV2lkdGgifShjZHx8KGNkPXt9KSk7Y29uc3QgX2Q9bmV3IFBhdGgyRCgibTE1LjY4IDMuNzItMy44MiA1LjUyLTMuODMtNS41Mi0uMjgtLjQyLS40Mi4zYTIuODQgMi44NCAwIDAgMC0uNjggMy45MmwzLjI3IDQuNzMtMS4xNiAxLjY4YTMuMzQgMy4zNCAwIDAgMC00LjI2IDMuMjIgMy4zNCAzLjM0IDAgMCAwIDMuMzIgMy4zNSAzLjM0IDMuMzQgMCAwIDAgMy4wOC00LjZsMS0xLjQ0IDEuMTMgMS42MmEzLjM0IDMuMzQgMCAwIDAgMy4xNSA0LjQyYzEuODQgMCAzLjMyLTEuNSAzLjMyLTMuMzVhMy4zNCAzLjM0IDAgMCAwLTQuNDItMy4xN2wtMS4yMy0xLjc4IDMuMjItNC42NWEyLjg2IDIuODYgMCAwIDAtLjY5LTMuOTZsLS40MS0uMjktLjI5LjQyWk03LjgyIDE2LjI3Yy40NyAwIC44Ni4zOS44Ni44OCAwIC40OC0uMzkuODctLjg2Ljg3YS44Ny44NyAwIDAgMS0uODYtLjg3YzAtLjUuNC0uODguODYtLjg4Wm04LjM2IDBjLjQ3IDAgLjg2LjM5Ljg2Ljg4IDAgLjQ4LS40Ljg3LS44Ni44N2EuODcuODcgMCAwIDEtLjg2LS44N2MwLS41LjM5LS44OC44Ni0uODhaIik7Y29uc3QgbWQ9WG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXTtjbGFzcyBnZHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3JlbmRlcmVyRGF0YT17fSx0aGlzLl9yZW5kZXJlcj1uZXcgcGQodGhpcy5fcmVuZGVyZXJEYXRhKSx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9wYW5lPXR9dXBkYXRlKCl7fXJlbmRlcmVyKCl7Y29uc3QgZT10aGlzLl9zb3VyY2Uuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUsdD10aGlzLl9zb3VyY2UubG9ja2VkUGFuZSgpLGk9KHRoaXMuX3NvdXJjZS52aXNpYmxlfHxudWxsIT09dCkmJih0aGlzLl9zb3VyY2UuYXJlTGluZXNWaXNpYmxlfHxlKSYmIXRoaXMuX3NvdXJjZS5saW5lc1Nob3VsZEJlSGlkZGVuKCkscz10aGlzLl9yZW5kZXJlckRhdGE7aWYoIWl8fG51bGw9PT10aGlzLl9wYW5lKXJldHVybiBudWxsO2NvbnN0IG49dGhpcy5fc291cmNlLnBhbmVGb3JQb2ludFNlbGVjdCgpLHI9dGhpcy5fc291cmNlLmlzUmVwbGF5U2VsZWN0aW9uKCksbz10Pz90aGlzLl9zb3VyY2UucGFuZSxhPXRoaXMuX3BhbmU9PT1vLGM9cnx8KG51bGwhPT1uP289PT1uJiZ0aGlzLl9wYW5lPT09bjphKTtpZihzLnNjaXNzb3JzPSExLGUmJihyfHx0aGlzLl9zb3VyY2UuaXNPbkhvdmVyZWRDaGFydFdpZGdldCgpKSYmYyl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NvdXJjZS5wb2ludFRvU2VsZWN0KCkpO3MuY29sb3I9dGhpcy5fc291cmNlLmxpbmVDb2xvcigpfHxtZCxyPyhzLmxpbmVXaWR0aD0yLHMuc2Npc3NvcnM9YSk6cy5saW5lV2lkdGg9MSxzLmxpbmVTdHlsZT1LaC5MSU5FU1RZTEVfU09MSUQscy5ob3J6TGluZXNWaXNpYmxlPSEwLHMudmVydExpbmVzVmlzaWJsZT0hMCxzLmRyYXdDZW50ZXI9ITEsInRpbWUiPT09ZT9zLmhvcnpMaW5lc1Zpc2libGU9ITE6InByaWNlIj09PWUmJihzLnZlcnRMaW5lc1Zpc2libGU9ITEpfWVsc2V7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLHQ9VC50b29sLnZhbHVlKCksaT0oMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLG49aS5pc1RvdWNoJiYhaS5zdHlsdXMmJigoMCxtLmlzTGluZVRvb2xOYW1lKSh0KXx8KDAsVC50b29sSXNNZWFzdXJlKSh0KSk7bGV0IHI7cj1uP21kOmUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTtjb25zdCBhPWUuY2hpbGRzKCkudHJhbnNwYXJlbmN5LnZhbHVlKCk7IW4mJmE+MCYmKHI9KDAsJGkuZ2VuZXJhdGVDb2xvcikocixhKSk7Y29uc3QgbD0hdGhpcy5fcGFuZS5tb2RlbCgpLmNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCkmJnRoaXMuX3BhbmU9PT1vJiYodGhpcy5fcGFuZS5tYXhpbWl6ZWQoKS52YWx1ZSgpfHwhdGhpcy5fcGFuZS5jb2xsYXBzZWQoKS52YWx1ZSgpKTtzLmNvbG9yPXIscy5ob3J6TGluZXNWaXNpYmxlPWwscy52ZXJ0TGluZXNWaXNpYmxlPSEwLHMubGluZVdpZHRoPWUuY2hpbGRzKCkud2lkdGgudmFsdWUoKSxzLmxpbmVTdHlsZT1lLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkscy5kcmF3Q2VudGVyPW4mJnRoaXMuX3BhbmU9PT1vfXJldHVybiBzLng9dGhpcy5fc291cmNlLmxvY2tlZFgoKT8/dGhpcy5fc291cmNlLngscy55PXRoaXMuX3NvdXJjZS5sb2NrZWRZKCk/P3RoaXMuX3NvdXJjZS55LHRoaXMuX3JlbmRlcmVyfX12YXIgZmQ9aSgzNjk0NDApO2NvbnN0IFNkPXtiYWNrZ3JvdW5kQ29sb3I6KDAsJGkuZ2VuZXJhdGVDb2xvcikoWG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSw3MCksYm9yZGVyQ29sb3I6KDAsJGkuZ2VuZXJhdGVDb2xvcikoWG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSwyMCl9O2NsYXNzIHZke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3JlbmRlcmVyPW5ldyBmZC5SZWN0YW5nbGVSZW5kZXJlciwKdGhpcy5fcmVjdGFuZ2xlPW51bGwsdGhpcy5fY3Jvc3NoYWlyPWV9dXBkYXRlKCl7Y29uc3QgZT10aGlzLl9jcm9zc2hhaXIuc2VsZWN0aW9uKCk7bnVsbCE9PWUmJm51bGwhPT10aGlzLl9jcm9zc2hhaXIucGFuZT90aGlzLl9yZWN0YW5nbGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmUubG9naWNhbFJlY3RUb1BpeGVscyhlKTp0aGlzLl9yZWN0YW5nbGU9bnVsbH1yZW5kZXJlcigpe2lmKCF0aGlzLl9yZWN0YW5nbGUpcmV0dXJuIG51bGw7Y29uc3QgZT17YmFja2NvbG9yOlNkLmJhY2tncm91bmRDb2xvcixjb2xvcjpTZC5ib3JkZXJDb2xvcixmaWxsQmFja2dyb3VuZDohMCxsaW5ld2lkdGg6MSxwb2ludHM6W3RoaXMuX3JlY3RhbmdsZS5taW4sdGhpcy5fcmVjdGFuZ2xlLm1heF0sZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMX07cmV0dXJuIHRoaXMuX3JlbmRlcmVyLnNldERhdGEoZSksdGhpcy5fcmVuZGVyZXJ9fXZhciB5ZD1pKDIxMjM0NiksYmQ9aSg5NjkxNjgpLHdkPWkoODg0MjgpLENkPWkoNjY0ODE1KSxQZD1pKDQ3MDk4NiksVGQ9aSg3ODkxOTApLHhkPWkoNjYwMTYxKTtjb25zdCBNZD1wLnQobnVsbCx2b2lkIDAsaSgzMzgwOTMpKSxJZD1wLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxpKDU5NjE2OCkpLExkPSgwLE9sLmdldFBlcmNlbnRhZ2VGb3JtYXR0ZXIpKCksQWQ9bmV3IHlkLlRpbWVTcGFuRm9ybWF0dGVyLGtkPSgwLE9sLmdldFZvbHVtZUZvcm1hdHRlcikoKSxEZD0oMCxYby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksRWQ9KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC00MDAiKSxSZD17YmdDb2xvclBvc2l0aXZlOigwLCRpLmdlbmVyYXRlQ29sb3IpKERkLDgwKSxiZ0NvbG9yTmVnYXRpdmU6KDAsJGkuZ2VuZXJhdGVDb2xvcikoRWQsODApLGNvbG9yUG9zaXRpdmU6KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTYwMCIpLGNvbG9yTmVnYXRpdmU6KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC00MDAiKSxsYWJlbEJnQ29sb3JQb3NpdGl2ZTpEZCxsYWJlbEJnQ29sb3JOZWdhdGl2ZTpFZH07dmFyIFZkLEJkOyFmdW5jdGlvbihlKXtlW2UuTWluQXJyb3dEaXN0YW5jZT01MF09Ik1pbkFycm93RGlzdGFuY2UifShWZHx8KFZkPXt9KSk7Y2xhc3MgTmR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9ob3J6VHJlblJlbmRlcmVyPW5ldyBDZC5UcmVuZExpbmVSZW5kZXJlcix0aGlzLl92ZXJ0VHJlblJlbmRlcmVyPW5ldyBDZC5UcmVuZExpbmVSZW5kZXJlcix0aGlzLl9iZ1JlbmRlcmVyPW5ldyBmZC5SZWN0YW5nbGVSZW5kZXJlcix0aGlzLl9sYWJlbFJlbmRlcmVyPW5ldyBQZC5UZXh0UmVuZGVyZXIsdGhpcy5fcDE9bnVsbCx0aGlzLl9wMj1udWxsLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3BhbmU9dH11cGRhdGUoZSl7Y29uc3RbdCxpXT10aGlzLl9zb3VyY2UubWVhc3VyZVBvaW50cygpO2lmKHZvaWQgMD09PWkpcmV0dXJuIHRoaXMuX3AxPW51bGwsdm9pZCh0aGlzLl9wMj1udWxsKTtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlLm1lYXN1cmVQYW5lKCkudmFsdWUoKSksbj10LnByaWNlLHI9aS5wcmljZSxvPWkuaW5kZXgtdC5pbmRleCxhPSgwLGJkLmZvcmNlTFRSU3RyKSgiIitvKSxjPSgwLGwuZW5zdXJlTm90TnVsbCkocy5tYWluRGF0YVNvdXJjZSgpKSxoPWMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1oKXJldHVybiB0aGlzLl9wMT1udWxsLHZvaWQodGhpcy5fcDI9bnVsbCk7Y29uc3QgZD10aGlzLl9zb3VyY2UubW9kZWwoKS50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZSh0LmluZGV4KSx1PXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKGkuaW5kZXgpLHA9cy5kZWZhdWx0UHJpY2VTY2FsZSgpLnByaWNlVG9Db29yZGluYXRlKG4saCksXz1zLmRlZmF1bHRQcmljZVNjYWxlKCkucHJpY2VUb0Nvb3JkaW5hdGUocixoKTt0aGlzLl9wMT1uZXcgUHQuUG9pbnQoZCxwKSx0aGlzLl9wMj1uZXcgUHQuUG9pbnQodSxfKTtjb25zdCBtPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Vc2VyVGltZSh0LmluZGV4KSxnPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Vc2VyVGltZShpLmluZGV4KTtsZXQgZj1udWxsO251bGwhPT1tJiZudWxsIT09ZyYmKGY9KGcudmFsdWVPZigpLW0udmFsdWVPZigpKS8xZTMpO2NvbnN0IFM9ci1uLHY9MTAwKlMvTWF0aC5hYnMobikseT10aGlzLl9wYW5lLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSxiPXkmJigwLE9sLmdldFBpcEZvcm1hdHRlcikoeSksdz0oMCxsLmVuc3VyZU5vdE51bGwpKGMuZm9ybWF0dGVyKCkpLEM9KHcuZm9ybWF0Q2hhbmdlPy4ocixuKT8/dy5mb3JtYXQoUykpKyIgKCIrTGQuZm9ybWF0KE1hdGgucm91bmQoMTAwKnYpLzEwMCkrIikgIisoYj9iLmZvcm1hdChTKToiIiksUD1udWxsIT09Zj9BZC5mb3JtYXQoZik6bnVsbCxUPW51bGwhPT1QPyIsICIrKDAsYmQuc3RhcnRXaXRoTFRSKShQKToiIjtsZXQgeD0oMCxiZC5mb3JjZUxUUlN0cikoQykrIlxuIitNZC5mb3JtYXQoe2NvdW50OmF9KStUO2NvbnN0IE09dGhpcy5fc291cmNlLm1lYXN1cmVWb2x1bWUoKTtOdW1iZXIuaXNOYU4oTSl8fCh4Kz1gXG4ke0lkfSAke2tkLmZvcm1hdChNKX1gKTtjb25zdCBJPXI8bj9SZC5iZ0NvbG9yTmVnYXRpdmU6UmQuYmdDb2xvclBvc2l0aXZlLEw9cjxuP1JkLmNvbG9yTmVnYXRpdmU6UmQuY29sb3JQb3NpdGl2ZSxBPXI8bj9SZC5sYWJlbEJnQ29sb3JOZWdhdGl2ZTpSZC5sYWJlbEJnQ29sb3JQb3NpdGl2ZSxrPXtwb2ludHM6W3RoaXMuX3AxLHRoaXMuX3AyXSxsaW5ld2lkdGg6MCxmaWxsQmFja2dyb3VuZDohMCxjb2xvcjpJLGJhY2tjb2xvcjpJLGV4dGVuZExlZnQ6ITEsZXh0ZW5kUmlnaHQ6ITF9O3RoaXMuX2JnUmVuZGVyZXIuc2V0RGF0YShrKTtjb25zdCBEPXRoaXMuX3AxLmFkZCh0aGlzLl9wMikuc2NhbGVkKC41KTt7CmNvbnN0IGU9TWF0aC5yb3VuZChELnkpLHQ9bmV3IFB0LlBvaW50KHRoaXMuX3AxLngsZSksaT1uZXcgUHQuUG9pbnQodGhpcy5fcDIueCxlKSxzPXtwb2ludHM6W3QsaV0sY29sb3I6TCxsaW5ld2lkdGg6MSxsaW5lc3R5bGU6S2guTElORVNUWUxFX1NPTElELGV4dGVuZGxlZnQ6ITEsZXh0ZW5kcmlnaHQ6ITEsbGVmdGVuZDp4ZC5MaW5lRW5kLk5vcm1hbCxyaWdodGVuZDpNYXRoLmFicyh0LngtaS54KT49NTA/eGQuTGluZUVuZC5BcnJvdzp4ZC5MaW5lRW5kLk5vcm1hbH07dGhpcy5faG9yelRyZW5SZW5kZXJlci5zZXREYXRhKHMpfXtjb25zdCBlPU1hdGgucm91bmQoRC54KSx0PW5ldyBQdC5Qb2ludChlLHRoaXMuX3AxLnkpLGk9bmV3IFB0LlBvaW50KGUsdGhpcy5fcDIueSkscz17cG9pbnRzOlt0LGldLGNvbG9yOkwsbGluZXdpZHRoOjEsbGluZXN0eWxlOktoLkxJTkVTVFlMRV9TT0xJRCxleHRlbmRsZWZ0OiExLGV4dGVuZHJpZ2h0OiExLGxlZnRlbmQ6eGQuTGluZUVuZC5Ob3JtYWwscmlnaHRlbmQ6TWF0aC5hYnModC55LWkueSk+PTUwP3hkLkxpbmVFbmQuQXJyb3c6eGQuTGluZUVuZC5Ob3JtYWx9O3RoaXMuX3ZlcnRUcmVuUmVuZGVyZXIuc2V0RGF0YShzKX1jb25zdCBFPXt4OjAseToxMH0sUj0uNSoodGhpcy5fcDEueCt0aGlzLl9wMi54KSxWPXRoaXMuX3AyLnksQj1uZXcgUHQuUG9pbnQoUixWKSxOPXtwb2ludHM6W0JdLHRleHQ6eCxjb2xvcjoiI0ZGRkZGRiIsaG9yekFsaWduOndkLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOndkLlZlcnRpY2FsQWxpZ24uTWlkZGxlLGZvbnQ6V2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSxvZmZzZXRYOkUueCxvZmZzZXRZOkUueSxib2xkOiExLGl0YWxpYzohMSxmb250c2l6ZToxMixsaW5lU3BhY2luZzo4LGJhY2tncm91bmRDb2xvcjpBLGJveFBhZGRpbmdWZXJ0OjksYm94UGFkZGluZ0hvcno6OSxiYWNrZ3JvdW5kUm91bmRSZWN0OjR9O3RoaXMuX2xhYmVsUmVuZGVyZXIuc2V0RGF0YShOKTtjb25zdCBPPXRoaXMuX2xhYmVsUmVuZGVyZXIubWVhc3VyZSgpLFc9KDAsUGQuY2FsY3VsYXRlTGFiZWxQb3NpdGlvbikoTyx0aGlzLl9wMSx0aGlzLl9wMixFLHRoaXMuX3BhbmUuaGVpZ2h0KCkpO3RoaXMuX2xhYmVsUmVuZGVyZXIuc2V0UG9pbnRzKFtXXSl9cmVuZGVyZXIoKXtpZihudWxsPT09dGhpcy5fcDF8fG51bGw9PT10aGlzLl9wMilyZXR1cm4gbnVsbDtjb25zdCBlPW5ldyBUZC5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gZS5hcHBlbmQodGhpcy5fYmdSZW5kZXJlciksZS5hcHBlbmQodGhpcy5faG9yelRyZW5SZW5kZXJlciksZS5hcHBlbmQodGhpcy5fdmVydFRyZW5SZW5kZXJlciksZS5hcHBlbmQodGhpcy5fbGFiZWxSZW5kZXJlciksZX19IWZ1bmN0aW9uKGUpe2VbZS5MaWdodD0wXT0iTGlnaHQiLGVbZS5EYXJrPTFdPSJEYXJrIn0oQmR8fChCZD17fSkpO3ZhciBPZD1pKDQ1NzApO2NsYXNzIFdkIGV4dGVuZHMgRmEuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3N2Z01hcD1uZXcgTWFwLHRoaXMuX2RhdGE9ZSx0aGlzLl9zdmdNYXAuc2V0KGUudGhlbWUsdGhpcy5fY3JlYXRlU3ZnUmVuZGVyZXIoZS50aGVtZSkpfWhpdFRlc3QoKXtyZXR1cm4gbnVsbH1zZXREYXRhKGUpe3RoaXMuX3N2Z01hcC5oYXMoZS50aGVtZSl8fHRoaXMuX3N2Z01hcC5zZXQoZS50aGVtZSx0aGlzLl9jcmVhdGVTdmdSZW5kZXJlcihlLnRoZW1lKSksdGhpcy5fZGF0YT1lfV9kcmF3SW1wbChlKXtjb25zdHtjb250ZXh0OnQsbWVkaWFTaXplOml9PWUse3RoZW1lOnMseDpufT10aGlzLl9kYXRhLHI9dGhpcy5fc3ZnTWFwLmdldChzKTtpZighcilyZXR1cm47Y29uc3Qgbz1yLnZpZXdCb3goKSx7d2lkdGg6YSxoZWlnaHQ6bH09byxjPWEvMjtuK2M8MHx8bi1jPmkud2lkdGh8fCh0LnRyYW5zbGF0ZShuLWMsaS5oZWlnaHQtbCksci5yZW5kZXIodCx7dGFyZ2V0Vmlld0JveDpvfSkpfV9jcmVhdGVTdmdSZW5kZXJlcihlKXtjb25zdCB0PTE9PT1lP09kLnJlcGxhY2UoImJhY2tncm91bmRDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktOTAwIikpLnJlcGxhY2UoImxpbmVDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNDUwIikpOk9kLnJlcGxhY2UoImJhY2tncm91bmRDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci13aGl0ZSIpKS5yZXBsYWNlKCJsaW5lQ29sb3IiLCgwLFhvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpKTtyZXR1cm4oMCxWaS5zdmdSZW5kZXJlcikodCl9fWNsYXNzIEZke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3NvdXJjZT1lLHRoaXMuX3JlbmRlcmVyPW5ldyBXZCh0aGlzLl9nZXRSZW5kZXJEYXRhKDApKX11cGRhdGUoKXt9cmVuZGVyZXIoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS52aXNpYmxlJiZ0aGlzLl9zb3VyY2UuYXJlTGluZXNWaXNpYmxlLHQ9dGhpcy5fc291cmNlLmxvY2tlZFgoKSxpPTA9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKT8udHlwZTtyZXR1cm4gZSYmaSYmbnVsbCE9PXQ/KHRoaXMuX3JlbmRlcmVyLnNldERhdGEodGhpcy5fZ2V0UmVuZGVyRGF0YSh0KzEpKSx0aGlzLl9yZW5kZXJlcik6bnVsbH1fZ2V0UmVuZGVyRGF0YShlKXtyZXR1cm57eDplLHRoZW1lOnRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpPzE6MH19fWNvbnN0IEhkPTMwO2NsYXNzIHpke2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9yZW5kZXJlcj1uZXcgZmQuUmVjdGFuZ2xlUmVuZGVyZXIsdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc291cmNlPWUsdGhpcy5fcGFuZT10LHRoaXMuX21vZGVsPWl9dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVJbXBsKCl7aWYodGhpcy5fcmVuZGVyZXIuc2V0RGF0YShudWxsKSwKIXRoaXMuX3BhbmV8fCF0aGlzLl9zb3VyY2UudmlzaWJsZSlyZXR1cm47aWYoIXRoaXMuX3NvdXJjZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5sYXN0VmFsdWVEYXRhKHZvaWQgMCwhMCwhMCkuaW5kZXgpcmV0dXJuO2NvbnN0IGU9bmV3IFB0LlBvaW50KHRoaXMuX3NvdXJjZS5sb2NrZWRYKCk/P3RoaXMuX3NvdXJjZS54LDApLHQ9bmV3IFB0LlBvaW50KHRoaXMuX3BhbmUud2lkdGgoKSx0aGlzLl9wYW5lLmhlaWdodCgpKSxpPXtiYWNrY29sb3I6KDAsJGkuYXBwbHlUcmFuc3BhcmVuY3kpKHRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKC41KSxIZCksY29sb3I6KDAsJGkuYXBwbHlUcmFuc3BhcmVuY3kpKHRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKC41KSxIZCksZmlsbEJhY2tncm91bmQ6ITAsbGluZXdpZHRoOjAscG9pbnRzOltlLHRdLGRpc2FibGVJbnRlcmFjdGlvbnM6ITAsZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMX07dGhpcy5fcmVuZGVyZXIuc2V0RGF0YShpKX19dmFyIFVkPWkoNzc5NTE2KSxHZD1pKDY0MDI5Mik7Y2xhc3MgamQgZXh0ZW5kcyBVZC5EYXRhV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX2RhdGVJdGVtPW5ldyBVZC5EYXRhV2luZG93SXRlbSgiIixwLnQobnVsbCx2b2lkIDAsaSg1MDc3MjkpKSwiIiksdGhpcy5fdGltZUl0ZW09bmV3IFVkLkRhdGFXaW5kb3dJdGVtKCIiLHAudChudWxsLHZvaWQgMCxpKDg2MjExOSkpLCIiKSx0aGlzLl9tb2RlbD1lLHRoaXMuX2l0ZW1zLnB1c2godGhpcy5fZGF0ZUl0ZW0pLHRoaXMuX2l0ZW1zLnB1c2godGhpcy5fdGltZUl0ZW0pfXVwZGF0ZSgpe3RoaXMuX2ludmFsaWRhdGVkPSEwfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9pdGVtc31fdXBkYXRlSW1wbCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlzRFdNKCk7aWYodGhpcy5fdGltZUl0ZW0uc2V0VmlzaWJsZSghZSksdGhpcy5fdGltZUl0ZW0uc2V0VmFsdWUoR2Qubm90QXZhaWxhYmxlKSx0aGlzLl9kYXRlSXRlbS5zZXRWYWx1ZShHZC5ub3RBdmFpbGFibGUpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47bGV0IHQ9dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuYXBwbGllZEluZGV4KCk7aWYoISgwLGEuaXNOdW1iZXIpKHQpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5kYXRhKCkubGFzdCgpO2lmKG51bGw9PT1lKXJldHVybjt0PWUuaW5kZXh9Y29uc3QgaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvVXNlclRpbWUodCk7bnVsbCE9PWkmJih0aGlzLl9kYXRlSXRlbS5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCkuZm9ybWF0KGkpKSxlfHx0aGlzLl90aW1lSXRlbS5zZXRWYWx1ZSh0aGlzLl9tb2RlbC50aW1lRm9ybWF0dGVyKCkuZm9ybWF0KGkpKSl9fXZhciBxZD1pKDkyNzE4Nyk7Y29uc3QgJGQ9WG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSxZZD1wLnQobnVsbCx7Y29udGV4dDoiUmVwbGF5In0saSgxNTc0MTcpKTtjbGFzcyBLZCBleHRlbmRzIHFkLlRpbWVBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQsaSxzPSExKXtzdXBlcihlKSx0aGlzLl9pbmRleFByb3ZpZGVyPWksdGhpcy5faGlnaGxpZ2h0ZWQ9cyx0aGlzLl9zb3VyY2U9dCx0aGlzLl9wcm9wZXJ0aWVzPWUucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXN9X2dldFRleHQoZSl7aWYodGhpcy5fc291cmNlLmlzUmVwbGF5U2VsZWN0aW9uKCkpe2NvbnN0IHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaW5kZXhUb1VzZXJUaW1lKGUpO3JldHVybiBudWxsIT09dD9gJHtZZH06ICR7dGhpcy5fbW9kZWwuZGF0ZVRpbWVGb3JtYXR0ZXIoKS5mb3JtYXQodCl9YDoiIn1yZXR1cm4gc3VwZXIuX2dldFRleHQoZSl9X2dldEJnQ29sb3IoKXtpZih0aGlzLl9zb3VyY2UuaXNSZXBsYXlTZWxlY3Rpb24oKSlyZXR1cm4gJGQ7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9oaWdobGlnaHRlZD9lLmF4aXNMaW5lVG9vbExhYmVsQmFja2dyb3VuZENvbG9yQ29tbW9uLnZhbHVlKCk6dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/ZS5jcm9zc2hhaXJMYWJlbEJnQ29sb3JEYXJrLnZhbHVlKCk6ZS5jcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodC52YWx1ZSgpfV9nZXRJbmRleCgpe3JldHVybiB0aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS52aXNpYmxlfHxudWxsIT09dGhpcy5fc291cmNlLmxvY2tlZFBhbmUoKT90aGlzLl9pbmRleFByb3ZpZGVyKCk6bnVsbH1faXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1RpbWVTY2FsZUNyb3NzaGFpckxhYmVsLnZhbHVlKCl9fXZhciBYZCxaZD1pKDkyMjk2MiksSmQ9aSg4MzUzMyk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lV2lkdGg9MzZdPSJMaW5lV2lkdGgiLGVbZS5DaXJjbGVCb3JkZXJXaWR0aD0xXT0iQ2lyY2xlQm9yZGVyV2lkdGgiLGVbZS5BbmltYXRpb25EdXJhdGlvbj00ZTNdPSJBbmltYXRpb25EdXJhdGlvbiJ9KFhkfHwoWGQ9e30pKTt2YXIgUWQ9aSg1MDc2MDQpO2NvbnN0IGV1PSgwLCRpLmFwcGx5QWxwaGEpKFFkLmNvbG9ycy5jb2xvclJpcGVSZWQ1MDAsLjI1KSx0dT0oMCwkaS5hcHBseUFscGhhKShRZC5jb2xvcnMuY29sb3JSaXBlUmVkNTAwLC4wMyk7Y2xhc3MgaXV7Y29uc3RydWN0b3IoZSl7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fY2lyY2xlUmVuZGVyZXI9bmV3IEpkLkNpcmNsZVJlbmRlcmVyLHRoaXMuX3NvdXJjZT1lfXVwZGF0ZShlKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2NpcmNsZVJlbmRlcmVyfV91cGRhdGVJbXBsKCl7CmNvbnN0IGU9dGhpcy5fc291cmNlLm9yaWdpblgoKSx0PXRoaXMuX3NvdXJjZS5vcmlnaW5ZKCk7TnVtYmVyLmlzRmluaXRlKGUpJiZOdW1iZXIuaXNGaW5pdGUodCk/dGhpcy5fY2lyY2xlUmVuZGVyZXIuc2V0RGF0YSh7Y2VudGVyOigwLFB0LnBvaW50KShlLHQpLHJhZGl1czoxOCxsaW5lV2lkdGg6MSxjb2xvcjp0dSxiYWNrQ29sb3I6ZXUsZGlzYWJsZUludGVyYWN0aW9uczohMH0pOnRoaXMuX2NpcmNsZVJlbmRlcmVyLnNldERhdGEobnVsbCl9fWNsYXNzIHN1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyPW51bGwsdGhpcy5faGlnaGxpZ2h0ZXJzPW5ldyBNYXAsdGhpcy5fdG9vbHNGYWN0b3J5PW51bGwsdGhpcy5fdGhyb3R0bGVVcGRhdGVIaWdobGlnaHRlcnM9KDAsS28uZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5fY3Jvc3NoYWlyLmlkKCkpO2xldCB0PSExO2NvbnN0IGk9QXJyYXkuZnJvbSh0aGlzLl9oaWdobGlnaHRlcnMua2V5cygpKTtmb3IoY29uc3QgcyBvZiBpKXtjb25zdCBpPVtdO2Zvcihjb25zdCB0IG9mKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9oaWdobGlnaHRlcnMuZ2V0KHMpKSl0LmFuaW1hdGlvblByb2dyZXNzKCk8MT8odC51cGRhdGVBbGxWaWV3cyhlKSxpLnB1c2godCkpOnQuZGVzdHJveT8uKCk7aS5sZW5ndGg+MD8odGhpcy5faGlnaGxpZ2h0ZXJzLnNldChzLGkpLHQ9ITApOnRoaXMuX2hpZ2hsaWdodGVycy5kZWxldGUocyl9dCYmdGhpcy5fY3Jvc3NoYWlyLm1vZGVsKCkudXBkYXRlU291cmNlKHRoaXMuX2Nyb3NzaGFpcil9KSwyMCx7bGVhZGluZzohMH0pLHRoaXMuX2Nyb3NzaGFpcj1lLHRoaXMuX3ZpZXc9bmV3IGl1KGUpLHRoaXMuX2N1cnJlbnRUb29sPVQudG9vbC5zcGF3bigpLHRoaXMuX2N1cnJlbnRUb29sLnN1YnNjcmliZSgoZT0+eygwLFQudG9vbElzRGVtb25zdHJhdGlvbikoZSkmJm51bGw9PT10aGlzLl90b29sc0ZhY3RvcnkmJih0aGlzLl90b29sc0ZhY3Rvcnk9bmV3IHRhLkFzeW5jUmVzb3VyY2VXcmFwcGVyKChhc3luYygpPT57Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDcwOTA5KSxpLmUoNzc0NzkpXSkudGhlbihpLmJpbmQoaSwzOTc4OTcpKTtyZXR1cm4odCxpLHMsbik9Pm5ldyBlLkxpbmVUb29sRGVtb25zdHJhdGlvbkhpZ2hsaWdodGVyKHQsaSxzLG4pfSkoKSkpfSkse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXtmb3IoY29uc3RbLGVdb2YgdGhpcy5faGlnaGxpZ2h0ZXJzKWZvcihjb25zdCB0IG9mIGUpdC5kZXN0cm95Py4oKTt0aGlzLl9jdXJyZW50VG9vbC5kZXN0cm95KCl9dXBkYXRlKGUpe3RoaXMuX3ZpZXcudXBkYXRlKGUpO2Zvcihjb25zdFssdF1vZiB0aGlzLl9oaWdobGlnaHRlcnMpZm9yKGNvbnN0IGkgb2YgdClpLnVwZGF0ZUFsbFZpZXdzKGUpfXBhbmVWaWV3cyhlKXtjb25zdCB0PVtdO2U9PT10aGlzLl9jcm9zc2hhaXIucGFuZSYmKDAsVC50b29sSXNEZW1vbnN0cmF0aW9uKShULmN1cnNvclRvb2wudmFsdWUoKSkmJnQucHVzaCh0aGlzLl92aWV3KTtmb3IoY29uc3QgaSBvZiB0aGlzLl9oaWdobGlnaHRlcnMuZ2V0KGUpPz9bXSl7Y29uc3Qgcz1pLnBhbmVWaWV3cyhlKTtzJiZ0LnB1c2goLi4ucyl9cmV0dXJuIHRoaXMuX2hpZ2hsaWdodGVycy5zaXplPjAmJnRoaXMuX3Rocm90dGxlVXBkYXRlSGlnaGxpZ2h0ZXJzKCksdH1jcmVhdGVIaWdobGlnaHRlcigpe2NvbnN0IGU9dGhpcy5fdG9vbHNGYWN0b3J5Py5nZXQoKTtpZighZSlyZXR1cm47dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI9ZSh0aGlzLl9jcm9zc2hhaXIubW9kZWwoKSxldSwzNiw0ZTMpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSksaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQubWFpbkRhdGFTb3VyY2UoKSk7KDAscmkucHJlcGFyZUxpbmVUb29sUHJvcGVydGllc0J5T3duZXJTb3VyY2UpKHRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyLnByb3BlcnRpZXMoKSxpKSx0aGlzLl9hY3RpdmVIaWdobGlnaHRlci5zZXRPd25lclNvdXJjZShpKTtjb25zdCBzPXRoaXMuX2hpZ2hsaWdodGVycy5nZXQodCk/P1tdO3MucHVzaCh0aGlzLl9hY3RpdmVIaWdobGlnaHRlciksdGhpcy5faGlnaGxpZ2h0ZXJzLnNldCh0LHMpfWFkZEhpZ2hsaWdodGVyUG9zaXRpb24oZSl7dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI/LmFkZFBvaW50KGUpLHRoaXMudXBkYXRlKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLl9jcm9zc2hhaXIuaWQoKSkpfWlzVGhlcmVVbmZpbmlzaGVkSGlnaGxpZ2h0ZXIoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyfWZpbmlzaEhpZ2hsaWdodGVyKCl7dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI/LmZpbmlzaCgpLHRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyPW51bGwsdGhpcy5fdGhyb3R0bGVVcGRhdGVIaWdobGlnaHRlcnMoKX19Y29uc3QgbnU9e21lbnVFbmFibGVkOiExLG1lbnVGb3JNYWluU291cmNlT25seTohMSxkaXNhYmxlVHJhZGluZ01lbnVBY3Rpb25zOiExLGRpc2FibGVEcmF3SG9yaXpMaW5lTWVudUFjdGlvbjohMX07bGV0IHJ1PTA7Y29uc3Qgb3U9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5Dcm9zc2hhaXIiKTtjbGFzcyBhdSBleHRlbmRzIHVyLkRhdGFTb3VyY2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCksdGhpcy5wYW5lPW51bGwsdGhpcy5wcmljZT1OYU4sdGhpcy5pbmRleD1OYU4sdGhpcy52aXNpYmxlPSEwLHRoaXMuYXJlTGluZXNWaXNpYmxlPSEwLHRoaXMueD1OYU4sdGhpcy55PU5hTix0aGlzLl9sb2NrRGF0YT1udWxsLHRoaXMuX2Nyb3NzaGFpckRlbW9uc3RyYXRpb249bmV3IHN1KHRoaXMpLHRoaXMuX21lYXN1cmVQYW5lPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9tZWFzdXJlUGFuZVZpZXdDYWNoZT1uZXcgV2Vha01hcCx0aGlzLl9zdGFydE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX2VuZE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX2xhc3RWYWxpZE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzPW51bGwsCnRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW49ITEsdGhpcy5faXNPbkhvdmVyZWRDaGFydFdpZGdldD0hMSx0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGU9bmV3IGguV2F0Y2hlZFZhbHVlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpLHRoaXMuX3NlbGVjdGlvblBhbmU9bnVsbCx0aGlzLl9zZWxlY3Rpb25WaWV3PW5ldyB2ZCh0aGlzKSx0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50PW51bGwsdGhpcy5fdGltZUxvY2tQYW5lVmlldz1udWxsLHRoaXMuX2Nyb3NzaGFpclBhbmVWaWV3Q2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlPW5ldyBXZWFrTWFwLHRoaXMuX3ByaWNlQXhpc1ZpZXdzPW5ldyBNYXAsdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzPW5ldyBNYXAsdGhpcy5fc3RhcnRNZWFzdXJlUHJpY2VBeGlzVmlld3M9bmV3IE1hcCx0aGlzLl9lbmRNZWFzdXJlUHJpY2VBeGlzVmlld3M9bmV3IE1hcCx0aGlzLl9vcmlnaW5YPU5hTix0aGlzLl9vcmlnaW5ZPU5hTix0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX21vdmVkRGVsZWdhdGU9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcG9pbnRTZWxlY3RlZERlbGVnYXRlPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz1udWxsLHRoaXMuX3ZvbHVtZUNhbGN1bGF0b3I9bnVsbCx0aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQ9bnVsbCx0aGlzLl9tb2RlbD1lLHRoaXMuX29wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSxudSxpfHx7fSksdGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IGpkKGUpLHRoaXMuc2V0U2VsZWN0aW9uRW5hYmxlZCghMSk7Y29uc3Qgcz1lPT50PT50PT09KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZWFzdXJlUGFuZS52YWx1ZSgpKS5kZWZhdWx0UHJpY2VTY2FsZSgpP2UoKTpudWxsO3RoaXMuX2N1cnJlbnRQb3NQcmljZVByb3ZpZGVyPWU9Pntjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lKTtpZihlPT09dC5kZWZhdWx0UHJpY2VTY2FsZSgpKXJldHVybiB0aGlzLnByaWNlO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0LmRlZmF1bHRQcmljZVNjYWxlKCkubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCk7aWYobnVsbD09PWkpcmV0dXJuIG51bGw7Y29uc3Qgcz10LmRlZmF1bHRQcmljZVNjYWxlKCkucHJpY2VUb0Nvb3JkaW5hdGUodGhpcy5wcmljZSxpKSxuPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5tYWluU291cmNlKCkpLmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PW4/bnVsbDplLmNvb3JkaW5hdGVUb1ByaWNlKHMsbil9LHRoaXMuX3N0YXJ0TWVhc3VyZVByaWNlUHJvdmlkZXI9cygoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLnByaWNlKSksdGhpcy5fZW5kTWVhc3VyZVByaWNlUHJvdmlkZXI9cygoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpKS5wcmljZSkpLHRoaXMuX3Byb3BlcnRpZXM9dDt0aGlzLl90aW1lQXhpc1ZpZXc9bmV3IEtkKGUsdGhpcywoKCk9PnRoaXMuYXBwbGllZEluZGV4KCkpLCExKSx0aGlzLl9zdGFydE1lYXN1cmVUaW1lQXhpc1ZpZXc9bmV3IEtkKGUsdGhpcywoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLmluZGV4KSwhMCksdGhpcy5fZW5kTWVhc3VyZVRpbWVBeGlzVmlldz1uZXcgS2QoZSx0aGlzLCgoKT0+KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkpLmluZGV4KSwhMCksdGhpcy5fY3Vyc29yVG9vbD1ULmN1cnNvclRvb2wuc3Bhd24oKSxlLnJlYWRPbmx5KCl8fHRoaXMuX2N1cnNvclRvb2wuc3Vic2NyaWJlKChlPT50aGlzLmFyZUxpbmVzVmlzaWJsZT0iYXJyb3ciIT09ZSkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2Nyb3NzaGFpckxvY2s9VC5jcm9zc2hhaXJMb2NrLnNwYXduKCksdGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvcj1kZC5zaG93UGx1c0J1dHRvbk9uQ3Vyc29yLnNwYXduKCk7Y29uc3Qgbj0oKT0+e3RoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9O3RoaXMuX2Nyb3NzaGFpckxvY2suc3Vic2NyaWJlKG4pLHRoaXMuX3Nob3dQbHVzQnV0dG9uT25DdXJzb3Iuc3Vic2NyaWJlKG4pfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fdm9sdW1lQ2FsY3VsYXRvciYmdGhpcy5fdm9sdW1lQ2FsY3VsYXRvci5kZXN0cm95KCksdGhpcy5fbWVhc3VyZVBhbmUuc2V0VmFsdWUobnVsbCksdGhpcy5fY3Jvc3NoYWlyTG9jay5kZXN0cm95KCksdGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvci5kZXN0cm95KCksdGhpcy5fY3Vyc29yVG9vbC5kZXN0cm95KCksdGhpcy5fcmVtb3ZlTWVhc3VyZVBvaW50c2V0KCksdGhpcy5fY3Jvc3NoYWlyRGVtb25zdHJhdGlvbi5kZXN0cm95KCksdGhpcy5fc3Vic2NyaWJlZCYmKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3N1YnNjcmliZWQ9ITEpLHRoaXMuX21vZGVsLnBhbmVzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3BhbmVDb2xsZWN0aW9uQ2hhbmdlZCksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmZvckVhY2goKGU9PmUuZm9yRWFjaCgoZT0+ZS5kZXN0cm95Py4oKSkpKSksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmNsZWFyKCksc3VwZXIuZGVzdHJveSgpfW5hbWUoKXtyZXR1cm4iQ3Jvc3NoYWlyIn1tb3ZlZCgpe3JldHVybiB0aGlzLl9tb3ZlZERlbGVnYXRlfW9yaWdpblgoKXtyZXR1cm4gdGhpcy5fb3JpZ2luWH1vcmlnaW5ZKCl7cmV0dXJuIHRoaXMuX29yaWdpbll9c2F2ZU9yaWdpbkNvb3JkcyhlLHQpe3RoaXMuX29yaWdpblg9ZSx0aGlzLl9vcmlnaW5ZPXR9Y2xlYXJPcmlnaW5Db29yZHMoKXt0aGlzLl9vcmlnaW5YPU5hTix0aGlzLl9vcmlnaW5ZPU5hTn1jdXJyZW50UG9pbnQoKXtyZXR1cm4gbmV3IFB0LlBvaW50KHRoaXMueCx0aGlzLnkpfW1vZGVsKCl7CnJldHVybiB0aGlzLl9tb2RlbH1hcHBsaWVkSW5kZXgoKXtyZXR1cm4gdGhpcy5fZ2V0TG9ja0RhdGEoKS5pbmRleD8/dGhpcy5pbmRleH1sb2NrZWRYKCl7cmV0dXJuIHRoaXMuX2dldExvY2tEYXRhKCkueENvb3JkPz9udWxsfWxvY2tlZFkoKXtyZXR1cm4gdGhpcy5fZ2V0TG9ja0RhdGEoKS55Q29vcmQ/P251bGx9bG9ja2VkUGFuZSgpe2NvbnN0IGU9VC5jcm9zc2hhaXJMb2NrLnZhbHVlKCk7cmV0dXJuIG51bGw9PT1lfHwxIT09ZS50eXBlP251bGw6dGhpcy5fbW9kZWwuaWQoKT09PWUubW9kZWxJZD90aGlzLl9tb2RlbC5wYW5lRm9ySWQoZS5wYW5lSWQpOnRoaXMuX21vZGVsLm1haW5QYW5lKCl9aW52YWxpZGF0ZUxvY2tQb3NpdGlvbigpe3RoaXMuX2xvY2tEYXRhPW51bGx9c3RhcnRNZWFzdXJlUG9pbnQoKXtyZXR1cm4gdGhpcy5fc3RhcnRNZWFzdXJlUG9pbnR8fG51bGx9ZW5kTWVhc3VyZVBvaW50KCl7cmV0dXJuIHRoaXMuX2VuZE1lYXN1cmVQb2ludHx8bnVsbH1tZWFzdXJlVm9sdW1lKCl7aWYobnVsbD09PXRoaXMuX3ZvbHVtZUNhbGN1bGF0b3IpcmV0dXJuIE5hTjtjb25zdFtlLHRdPXRoaXMubWVhc3VyZVBvaW50cygpO3JldHVybiB2b2lkIDA9PT10P05hTjp0aGlzLl92b2x1bWVDYWxjdWxhdG9yLnZvbHVtZShlLmluZGV4LHQuaW5kZXgpfW1lYXN1cmVQYW5lKCl7cmV0dXJuIHRoaXMuX21lYXN1cmVQYW5lLnJlYWRvbmx5KCl9Y3Jvc3NoYWlyRGVtb25zdHJhdGlvbigpe3JldHVybiB0aGlzLl9jcm9zc2hhaXJEZW1vbnN0cmF0aW9ufXN0YXJ0TWVhc3VyaW5nKGUsdCl7dGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQ9ZSx0aGlzLl9tZWFzdXJlUGFuZS5zZXRWYWx1ZSh0KSx0LmNvbnRhaW5zTWFpblNlcmllcygpJiYoKDAsbC5hc3NlcnQpKG51bGw9PT10aGlzLl92b2x1bWVDYWxjdWxhdG9yKSx0aGlzLl92b2x1bWVDYWxjdWxhdG9yPW5ldyBaZC5TZXJpZXNUaW1lUmFuZ2VWb2x1bWVDYWxjdWxhdG9yKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVQYW5lKHQpfWZpbmlzaE1lYXN1cmUoZSl7dGhpcy5fZW5kTWVhc3VyZVBvaW50PWUsdGhpcy5fY3JlYXRlTWVhc3VyZVBvaW50c2V0KCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLHRoaXMuX2VuZE1lYXN1cmVQb2ludCl9Y2xlYXJNZWFzdXJlKCl7dGhpcy5fcmVtb3ZlTWVhc3VyZVBvaW50c2V0KCksdGhpcy5fbWVhc3VyZVBhbmUuc2V0VmFsdWUobnVsbCksZGVsZXRlIHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50LGRlbGV0ZSB0aGlzLl9lbmRNZWFzdXJlUG9pbnQsZGVsZXRlIHRoaXMuX2xhc3RWYWxpZE1lYXN1cmVQb2ludCx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpLG51bGwhPT10aGlzLl92b2x1bWVDYWxjdWxhdG9yJiYodGhpcy5fdm9sdW1lQ2FsY3VsYXRvci5kZXN0cm95KCksdGhpcy5fdm9sdW1lQ2FsY3VsYXRvcj1udWxsKX1tZWFzdXJlUG9pbnRzKCl7Y29uc3QgZT1bKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zdGFydE1lYXN1cmVQb2ludCldLHQ9dGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpO3JldHVybiBudWxsIT09dCYmZS5wdXNoKHQpLGV9c3RhcnRTZWxlY3Rpb24oZSl7dGhpcy5fc2VsZWN0aW9uU3RhcnRQb2ludD10aGlzLmN1cnJlbnRMb2dpY2FsUG9pbnQoKSx0aGlzLl9zZWxlY3Rpb25QYW5lPWV9Y2xlYXJTZWxlY3Rpb24oKXt0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50PW51bGwsdGhpcy5fc2VsZWN0aW9uUGFuZT1udWxsfXNlbGVjdGlvbigpe3JldHVybiB0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50P3twMTp0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50LHAyOnRoaXMuY3VycmVudExvZ2ljYWxQb2ludCgpfTpudWxsfWN1cnJlbnRMb2dpY2FsUG9pbnQoKXtyZXR1cm57aW5kZXg6dGhpcy5hcHBsaWVkSW5kZXgoKSxwcmljZTp0aGlzLnByaWNlfX1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlfWxpbmVDb2xvcigpe3JldHVybiB0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM/LmxpbmVDb2xvcj8/bnVsbH1jYW5jZWxSZXF1ZXN0U2VsZWN0UG9pbnQoKXt0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpLHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz1udWxsfXJlcXVlc3RQb2ludFBhcmFtcygpe3JldHVybiB0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXN9cmVxdWVzdFNlbGVjdFBvaW50KGUpeygwLGwuYXNzZXJ0KSh0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUsIlBvaW50IGFscmVhZHkgcmVxdWVzdGVkIik7Y29uc3R7cG9pbnRUeXBlOnQscGFuZTppLGxpbmVDb2xvcjpzLGlnbm9yZUlmT3V0T2ZEYXRhOm49MyxzZWxlY3RGcm9tQWxsQ2hhcnRzSWZPdXRPZkRhdGE6cixzZWxlY3RQb2ludE1vZGU6bz1ULlNlbGVjdFBvaW50TW9kZS5TdHVkeSxhbGlnblRvVGhlTGF0ZXN0QmFySWZUaW1lUG9pbnRJc091dE9mRGF0YTphPWUuc2VsZWN0UG9pbnRNb2RlPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5fT1lO3RoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz17cG9pbnRUeXBlOnQscGFuZTppLGxpbmVDb2xvcjpzLGlnbm9yZUlmT3V0T2ZEYXRhOm4sc2VsZWN0RnJvbUFsbENoYXJ0c0lmT3V0T2ZEYXRhOnIsc2VsZWN0UG9pbnRNb2RlOm8sYWxpZ25Ub1RoZUxhdGVzdEJhcklmVGltZVBvaW50SXNPdXRPZkRhdGE6YX0saSYmKCgwLGwuYXNzZXJ0KSgtMSE9PXRoaXMuX21vZGVsLnBhbmVzKCkuaW5kZXhPZihpKSwiQ2hhcnQgbW9kZWwgZG9lc24ndCBjb250YWluIHNwZWNpZmllZCBwYW5lIiksdGhpcy5fbW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3BhbmVDb2xsZWN0aW9uQ2hhbmdlZCkpLHRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKG8pfW9uUG9pbnRTZWxlY3RlZCgpewpyZXR1cm4gdGhpcy5fcG9pbnRTZWxlY3RlZERlbGVnYXRlfXRyeVNlbGVjdEN1cnJlbnRQb2ludCgpe2NvbnN0IGU9dGhpcy5wYW5lO2lmKCFlKXJldHVybjtjb25zdHtwb2ludFR5cGU6dCxzZWxlY3RGcm9tQWxsQ2hhcnRzSWZPdXRPZkRhdGE6aSxpZ25vcmVJZk91dE9mRGF0YTpzLHBhbmU6bn09KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXMpLHI9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxvPXIuZmlyc3RJbmRleCgpLGE9ci5sYXN0SW5kZXgoKTtpZihudWxsPT09b3x8bnVsbD09PWEpcmV0dXJuO2xldCBjPW51bGw7aWYoIXIuc2VhcmNoKHRoaXMuaW5kZXgsWm8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpJiYicHJpY2UiIT09dCYmaSYmKGM9TWF0aC5taW4oLi4uQXJyYXkuZnJvbShULmJhclRpbWVzVW5kZXJDdXJzb3IudmFsdWVzKCkpKT8/bnVsbCxudWxsPT09YykpcmV0dXJuO2lmKG4mJm4hPT1lKXJldHVybjtsZXQgaCxkPWM7aWYoInByaWNlIiE9PXQmJm51bGw9PT1jKXtjb25zdCBlPXRoaXMuaW5kZXg7c3dpdGNoKHMpe2Nhc2UgMzppZihlPG98fGU+YSlyZXR1cm47YnJlYWs7Y2FzZSAxOmlmKGU8bylyZXR1cm47YnJlYWs7Y2FzZSAyOmlmKGU+YSlyZXR1cm59aWYoZD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvVGltZVBvaW50KGUpLG51bGw9PT1kKXJldHVybn1pZigidGltZSIhPT10KXtjb25zdCB0PWUubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10LmZpcnN0VmFsdWUoKSxzPXQucHJpY2VTY2FsZSgpO2lmKG51bGw9PT1pfHxudWxsPT09cylyZXR1cm47aD1zLmNvb3JkaW5hdGVUb1ByaWNlKHRoaXMueSxpKX10aGlzLl9zZXRTZWxlY3RQb2ludE1vZGVTdGF0ZShULlNlbGVjdFBvaW50TW9kZS5Ob25lKSx0aGlzLl9wb2ludFNlbGVjdGVkRGVsZWdhdGUuZmlyZSh7dGltZTpkPz92b2lkIDAscHJpY2U6aH0sZSl9aXNPbkhvdmVyZWRDaGFydFdpZGdldCgpe3JldHVybiB0aGlzLl9pc09uSG92ZXJlZENoYXJ0V2lkZ2V0fXNldE9uSG92ZXJlZENoYXJ0V2lkZ2V0KGUpe3RoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQ9ZX1pc1JlcGxheVNlbGVjdGlvbigpe3JldHVybigiQWxsQ2hhcnRzIj09PVNlLnZhbHVlKCl8fHRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQpJiZ0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLlJlcGxheX1jbGVhclBvc2l0aW9uKCl7dGhpcy52aXNpYmxlPSExLHRoaXMuaW5kZXg9TmFOLHRoaXMucHJpY2U9TmFOLHRoaXMueD1OYU4sdGhpcy55PU5hTix0aGlzLnBhbmU9bnVsbCx0aGlzLmNsZWFyT3JpZ2luQ29vcmRzKCksdGhpcy5fdXBkYXRlVmlzaWJpbGl0eURlcGVuZGVudFBhbmVWaWV3cygpfXNldFBvc2l0aW9uKGUsdCxpKXt0aGlzLl9zdWJzY3JpYmVkfHwodGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uUmVzdGFydGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5jbGVhck1lYXN1cmUpLHRoaXMuX3N1YnNjcmliZWQ9ITApLHRoaXMudmlzaWJsZT0hMDtjb25zdCBzPXRoaXMuX21vZGVsLmlkKCksbj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuYmFycygpLnNlYXJjaCh0aGlzLmluZGV4LFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCk7cmV0dXJuIG4mJlQuYmFyVGltZXNVbmRlckN1cnNvci5zZXQocyxuLnZhbHVlWzBdKSx0aGlzLl90cnlUb1VwZGF0ZVZpZXdzKGUsdCxpKX1zZXRMaW5lc1Nob3VsZEJlSGlkZGVuKGUpe3RoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW49ZX1saW5lc1Nob3VsZEJlSGlkZGVuKCl7cmV0dXJuIHRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW59aGFuZGxlQ29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31wcmljZUF4aXNWaWV3cyhlLHQpe2NvbnN0IGk9dGhpcy5fcmVxdWVzdFBvaW50UGFyYW1zPy5wb2ludFR5cGUscz0haXx8InRpbWUiIT09aXx8IXRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQsbj1bXTtyZXR1cm4odGhpcy5sb2NrZWRQYW5lKCk/P3RoaXMucGFuZSk9PT1lJiZzJiZuLnB1c2godGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKHRoaXMuX3ByaWNlQXhpc1ZpZXdzLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3cyxlLHQsdGhpcy5fY3VycmVudFBvc1ByaWNlUHJvdmlkZXIsUWgsITApWzBdKSx0aGlzLl9zdGFydE1lYXN1cmVQb2ludCYmbi5wdXNoKHRoaXMuX2NyZWF0ZVByaWNlQXhpc1ZpZXdPbkRlbWFuZCh0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cyxudWxsLGUsdCx0aGlzLl9zdGFydE1lYXN1cmVQcmljZVByb3ZpZGVyLGVkKVswXSksdGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpJiZuLnB1c2godGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKHRoaXMuX2VuZE1lYXN1cmVQcmljZUF4aXNWaWV3cyxudWxsLGUsdCx0aGlzLl9lbmRNZWFzdXJlUHJpY2VQcm92aWRlcixlZClbMF0pLG59dGltZUF4aXNWaWV3cygpe2NvbnN0IGU9W10sdD10aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM/LnBvaW50VHlwZSxpPSF0fHwicHJpY2UiIT09dHx8IXRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQ7cmV0dXJuIHRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW58fCF0aGlzLnZpc2libGUmJm51bGw9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKXx8IWl8fGUucHVzaCh0aGlzLl90aW1lQXhpc1ZpZXcpLHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50JiZlLnB1c2godGhpcy5fc3RhcnRNZWFzdXJlVGltZUF4aXNWaWV3KSx0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkmJmUucHVzaCh0aGlzLl9lbmRNZWFzdXJlVGltZUF4aXNWaWV3KSxlfXBhbmVWaWV3cyhlKXtpZih2b2lkIDA9PT1lfHxlLm1vZGUoKSE9PU0uUGFuZU1vZGUuUmVndWxhcilyZXR1cm4gbnVsbDtjb25zdCB0PVtdCjtpZih0aGlzLmlzUmVwbGF5U2VsZWN0aW9uKCkpe2xldCBpPXRoaXMuX3BvaW50U2VsZWN0aW9uUGFuZVZpZXdDYWNoZS5nZXQoZSk7aXx8KGk9bmV3IHpkKHRoaXMsZSx0aGlzLl9tb2RlbCksdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlLnNldChlLGkpKSx0LnB1c2goaSl9bGV0IGk9dGhpcy5fY3Jvc3NoYWlyUGFuZVZpZXdDYWNoZS5nZXQoZSk7aWYoaXx8KGk9bmV3IGdkKHRoaXMsZSksdGhpcy5fY3Jvc3NoYWlyUGFuZVZpZXdDYWNoZS5zZXQoZSxpKSksdC5wdXNoKGkpLGU9PT10aGlzLl9zZWxlY3Rpb25QYW5lJiZ0LnB1c2godGhpcy5fc2VsZWN0aW9uVmlldyksZT09PXRoaXMuX21lYXN1cmVQYW5lLnZhbHVlKCkpe2xldCBpPXRoaXMuX21lYXN1cmVQYW5lVmlld0NhY2hlLmdldChlKTtpfHwoaT1uZXcgTmQodGhpcyxlKSx0aGlzLl9tZWFzdXJlUGFuZVZpZXdDYWNoZS5zZXQoZSxpKSksaS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHQucHVzaChpKX1pZigoZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCl8fHRoaXMuX3Nob3dQbHVzQnV0dG9uT25DdXJzb3IudmFsdWUoKSkmJjEhPT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKT8udHlwZSl7Y29uc3QgaT1lPT09dGhpcy5wYW5lLHM9IUouQ2hlY2tNb2JpbGUuYW55KCl8fHdpbmRvdy5zY3JlZW4ud2lkdGg+PTMyMCxuPVQudG9vbC52YWx1ZSgpLHI9KDAsbS5pc0xpbmVUb29sTmFtZSkobiksbz1udWxsIT09dGhpcy5fbW9kZWwubGluZUJlaW5nRWRpdGVkKCl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdDcmVhdGVkKCl8fHRoaXMuX21vZGVsLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoPjB8fG51bGwhPT10aGlzLl9tb2RlbC5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCl8fCgwLFQudG9vbElzTWVhc3VyZSkobik7aWYoaSYmdGhpcy5faXNPbkhvdmVyZWRDaGFydFdpZGdldCYmdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lJiZzJiYhciYmIW8pe2NvbnN0IGk9ZS5tYWluRGF0YVNvdXJjZSgpO2lmKG51bGwhPT1pKXtjb25zdCBzPWkucHJpY2VTY2FsZSgpO2lmKG51bGwhPT1zKXtjb25zdCBpPXRoaXMuX2NyZWF0ZVByaWNlQXhpc1ZpZXdPbkRlbWFuZCh0aGlzLl9wcmljZUF4aXNWaWV3cyx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MsZSxzLHRoaXMuX2N1cnJlbnRQb3NQcmljZVByb3ZpZGVyLFFoLCEwKVsxXTtudWxsIT09aSYmdC5wdXNoKGkpfX19fXJldHVybiAwPT09VC5jcm9zc2hhaXJMb2NrLnZhbHVlKCk/LnR5cGUmJihudWxsPT09dGhpcy5fdGltZUxvY2tQYW5lVmlldyYmKHRoaXMuX3RpbWVMb2NrUGFuZVZpZXc9bmV3IEZkKHRoaXMpKSx0LnB1c2godGhpcy5fdGltZUxvY2tQYW5lVmlldykpLHQucHVzaCguLi50aGlzLl9jcm9zc2hhaXJEZW1vbnN0cmF0aW9uLnBhbmVWaWV3cyhlKSksdH1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld311cGRhdGVBbGxWaWV3cyhlKXt0aGlzLl9wcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpfSkpLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpfSkpLHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50JiYodGhpcy5fc3RhcnRNZWFzdXJlUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKX0pKSx0aGlzLl9zdGFydE1lYXN1cmVUaW1lQXhpc1ZpZXcudXBkYXRlKGUpKSx0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkmJih0aGlzLl9lbmRNZWFzdXJlUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKX0pKSx0aGlzLl9lbmRNZWFzdXJlVGltZUF4aXNWaWV3LnVwZGF0ZShlKSksdGhpcy5fdGltZUF4aXNWaWV3LnVwZGF0ZShlKSx0aGlzLl9zZWxlY3Rpb25WaWV3LnVwZGF0ZSgpLHRoaXMuX2RhdGFXaW5kb3dWaWV3LnVwZGF0ZSgpLHRoaXMuX2Nyb3NzaGFpckRlbW9uc3RyYXRpb24udXBkYXRlKGUpLHRoaXMuX3VwZGF0ZVZpc2liaWxpdHlEZXBlbmRlbnRQYW5lVmlld3MoKX1pc01lbnVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubWVudUVuYWJsZWR9aXNIb3ZlcmVkRW5hYmxlZCgpe3JldHVybiBkZC5hZGRQbHVzQnV0dG9uUHJvcGVydHkudmFsdWUoKXx8dGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvci52YWx1ZSgpfWlzSG92ZXJlZCgpe3JldHVybiB0aGlzLl9tb2RlbC5ob3ZlcmVkU291cmNlKCk9PT10aGlzfXBvaW50VG9TZWxlY3QoKXtyZXR1cm4gdGhpcy5fcmVxdWVzdFBvaW50UGFyYW1zPy5wb2ludFR5cGU/P251bGx9cGFuZUZvclBvaW50U2VsZWN0KCl7cmV0dXJuIHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz8ucGFuZT8/bnVsbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIkNyb3NzSGFpckNvbnRleHRNZW51In1yZXN0YXJ0KCl7dGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldEFuZFN5bWJvbElkPW51bGwsdGhpcy5fbm9ybWFsaXplZE1lYXN1cmVQb2ludHMmJnRoaXMuX2NyZWF0ZU1lYXN1cmVQb2ludHNldFdpdGhOb3JtYWxpemVkUG9pbnRzKHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzKX1fbGFzdE1lYXN1cmVQb2ludCgpe3JldHVybiB0aGlzLl9lbmRNZWFzdXJlUG9pbnQ/dGhpcy5fZW5kTWVhc3VyZVBvaW50OihudWxsIT09dGhpcy5wYW5lJiZ0aGlzLl9tZWFzdXJlUGFuZS52YWx1ZSgpPT09dGhpcy5wYW5lJiYodGhpcy5fbGFzdFZhbGlkTWVhc3VyZVBvaW50PXtwcmljZTp0aGlzLl9tb2RlbC5tYWduZXQoKS5hbGlnbih0aGlzLnByaWNlLHRoaXMuaW5kZXgsdGhpcy5wYW5lKSxpbmRleDp0aGlzLmluZGV4fSksdGhpcy5fbGFzdFZhbGlkTWVhc3VyZVBvaW50fHxudWxsKX1fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKGUsdCxpLHMsbixyLG89ITEpe2xldCBhPWUuZ2V0KGkpLGM9bnVsbCE9PXQ/dC5nZXQoaSk6dm9pZCAwO3ZvaWQgMD09PWEmJihhPW5ldyBNYXAsCmUuc2V0KGksYSksdGhpcy5pc01lbnVFbmFibGVkKCkmJm51bGwhPT10JiYoYz1uZXcgTWFwLHQuc2V0KGksYykpLG8mJmkub25EZXN0cm95ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX29uUGFuZURlc3Ryb3llZChpKSkpKTtsZXQgaD1hLmdldChzKTtpZih2b2lkIDA9PT1oKXtpZihoPW5ldyByKHRoaXMsaSxzLG4pLGEuc2V0KHMsaCksdm9pZCAwIT09Yyl7Y29uc3QgZT1uZXcgdWQoaCx0aGlzLHMsdGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucyk7Yy5zZXQocyxlKX1vJiZzLmxhc3RTb3VyY2VSZW1vdmVkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9vblByaWNlU2NhbGVDbGVhcmVkKHMpKSl9bGV0IGQ9bnVsbDtyZXR1cm4gdm9pZCAwIT09YyYmKGQ9KDAsbC5lbnN1cmVEZWZpbmVkKShjLmdldChzKSkpLFtoLGRdfV9vblBhbmVEZXN0cm95ZWQoZSl7ZS5vbkRlc3Ryb3llZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKSx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MuZ2V0KGUpPy5mb3JFYWNoKChlPT5lLmRlc3Ryb3k/LigpKSksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKSx0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cy5kZWxldGUoZSksdGhpcy5fZW5kTWVhc3VyZVByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKX1fb25QcmljZVNjYWxlQ2xlYXJlZChlKXtlLmxhc3RTb3VyY2VSZW1vdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+dC5kZWxldGUoZSkpKSx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZ2V0KGUpPy5kZXN0cm95Py4oKSx0LmRlbGV0ZShlKX0pKSx0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LmRlbGV0ZShlKSkpLHRoaXMuX2VuZE1lYXN1cmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LmRlbGV0ZShlKSkpfV90cnlUb1VwZGF0ZVZpZXdzKGUsdCxpKXtyZXR1cm4hIXRoaXMuX3RyeVRvVXBkYXRlRGF0YShlLHQsaSkmJih0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb3ZlZERlbGVnYXRlLmZpcmUoe2luZGV4OnRoaXMuaW5kZXgscHJpY2U6dGhpcy5wcmljZX0pLCEwKX1fdHJ5VG9VcGRhdGVEYXRhKGUsdCxpKXtjb25zdCBzPXRoaXMueCxuPXRoaXMueSxyPXRoaXMucHJpY2Usbz10aGlzLmluZGV4LGE9dGhpcy5wYW5lLGM9dGhpcy5fcHJpY2VTY2FsZUJ5UGFuZShpKTtpZih0aGlzLmluZGV4PWUsdGhpcy54PWlzTmFOKGUpP05hTjp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZShlKSxudWxsIT09YyYmbnVsbCE9PWkpe3RoaXMucGFuZT1pLHRoaXMucHJpY2U9dDtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7dGhpcy55PW51bGw9PT1lP05hTjpjLnByaWNlVG9Db29yZGluYXRlKHQsZSl9ZWxzZSB0aGlzLnBhbmU9bnVsbCx0aGlzLnByaWNlPU5hTix0aGlzLnk9TmFOO3JldHVybiBzIT09dGhpcy54fHxuIT09dGhpcy55fHxvIT09dGhpcy5pbmRleHx8ciE9PXRoaXMucHJpY2V8fGEhPT10aGlzLnBhbmV9X3ByaWNlU2NhbGVCeVBhbmUoZSl7cmV0dXJuIGUmJiFlLmRlZmF1bHRQcmljZVNjYWxlKCkuaXNFbXB0eSgpP2UuZGVmYXVsdFByaWNlU2NhbGUoKTpudWxsfV9zZXRTZWxlY3RQb2ludE1vZGVTdGF0ZShlKXtlPT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmKHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz8ucGFuZSYmdGhpcy5fbW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcGFuZUNvbGxlY3Rpb25DaGFuZ2VkKSx0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM9bnVsbCksVC5hY3RpdmVQb2ludFNlbGVjdGlvbk1vZGUuc2V0VmFsdWUoZSksdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnNldFZhbHVlKGUpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9X3BhbmVDb2xsZWN0aW9uQ2hhbmdlZChlKXtjb25zdCB0PXRoaXMucGFuZUZvclBvaW50U2VsZWN0KCk7bnVsbCE9PXQmJi0xPT09ZS5pbmRleE9mKHQpJiZ0aGlzLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpfV91cGRhdGVWaXNpYmlsaXR5RGVwZW5kZW50UGFuZVZpZXdzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tb2RlbCgpLnBhbmVzKCkpdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlLmdldChlKT8udXBkYXRlKCl9X2dldExvY2tEYXRhKCl7aWYobnVsbD09PXRoaXMuX2xvY2tEYXRhKXtjb25zdCBlPVQuY3Jvc3NoYWlyTG9jay52YWx1ZSgpO2lmKG51bGw9PT1lKXRoaXMuX2xvY2tEYXRhPXt9O2Vsc2V7Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXQucG9pbnRzKCkucm91Z2hJbmRleChlLnRpbWUpPz92b2lkIDAscz12b2lkIDA9PT1pP3ZvaWQgMDp0LmluZGV4VG9Db29yZGluYXRlKGkpO3N3aXRjaChlLnR5cGUpe2Nhc2UgMDp0aGlzLl9sb2NrRGF0YT17aW5kZXg6aSx4Q29vcmQ6c307YnJlYWs7Y2FzZSAxOntsZXQgdDtjb25zdCBuPXRoaXMubG9ja2VkUGFuZSgpO2lmKG51bGwhPT1uKXtjb25zdCBpPW4ubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsIT09aSl7Y29uc3Qgcz1pLmZpcnN0VmFsdWUoKSxuPWkucHJpY2VTY2FsZSgpO251bGwhPT1uJiZudWxsIT09cyYmKHQ9bi5wcmljZVRvQ29vcmRpbmF0ZShlLnByaWNlLHMpKX19dGhpcy5fbG9ja0RhdGE9e2luZGV4OmkseENvb3JkOnMseUNvb3JkOnR9fX19fXJldHVybiB0aGlzLl9sb2NrRGF0YX1fY3JlYXRlTWVhc3VyZVBvaW50c2V0V2l0aE5vcm1hbGl6ZWRQb2ludHMoZSl7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc2VyaWVzU291cmNlKCkuc3ltYm9sSW5zdGFuY2VJZCgpO2lmKG51bGw9PT10KXJldHVybjt0aGlzLl9yZW1vdmVNZWFzdXJlUG9pbnRzZXQoKSwrK3J1LHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRBbmRTeW1ib2xJZD17bWVhc3VyZVBvaW50c2V0SWQ6cnUsCnN5bWJvbElkOnR9LHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzPWU7Y29uc3QgaT0oMCxaaC5nZXRTZXJ2ZXJJbnRlcnZhbCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLmludGVydmFsKCkpO3RoaXMuX21vZGVsLmNoYXJ0QXBpKCkuY3JlYXRlUG9pbnRzZXQodGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldElkV2l0aFByZWZpeCgpLCJ0dXJuYXJvdW5kIix0aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQuc3ltYm9sSWQsaSxlLHRoaXMuX29uUG9pbnRzZXRSZXNwb25zZS5iaW5kKHRoaXMpKX1fY3JlYXRlTWVhc3VyZVBvaW50c2V0KGUsdCl7Y29uc3QgaT10aGlzLl9ub3JtYWxpemVQb2ludChlKSxzPXRoaXMuX25vcm1hbGl6ZVBvaW50KHQpLG49W1tpLnRpbWVfdCxpLm9mZnNldF0sW3MudGltZV90LHMub2Zmc2V0XV07dGhpcy5fY3JlYXRlTWVhc3VyZVBvaW50c2V0V2l0aE5vcm1hbGl6ZWRQb2ludHMobil9X3JlbW92ZU1lYXN1cmVQb2ludHNldCgpe251bGwhPT10aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQmJnRoaXMuX21vZGVsLmNoYXJ0QXBpKCkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9tb2RlbC5jaGFydEFwaSgpLnJlbW92ZVBvaW50c2V0KHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRJZFdpdGhQcmVmaXgoKSksdGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldEFuZFN5bWJvbElkPW51bGwsdGhpcy5fbm9ybWFsaXplZE1lYXN1cmVQb2ludHM9bnVsbH1fY3VycmVudE1lYXN1cmVQb2ludHNldElkV2l0aFByZWZpeCgpe3JldHVybiJwb2ludHNldE1lYXN1cmVfIisoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRBbmRTeW1ib2xJZCkubWVhc3VyZVBvaW50c2V0SWR9X25vcm1hbGl6ZVBvaW50KGUpe3JldHVybnsuLi50aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5ub3JtYWxpemVCYXJJbmRleChlLmluZGV4KSxwcmljZTplLnByaWNlfX1fb25Qb2ludHNldFJlc3BvbnNlKGUpe2lmKCJwb2ludHNldF9lcnJvciI9PT1lLm1ldGhvZClyZXR1cm4gdm9pZCBvdS5sb2dFcnJvcihgRXJyb3IgZ2V0dGluZyBwb2ludHNldDogJHtlLnBhcmFtc1swXX0gJHtlLnBhcmFtc1sxXX1gKTtpZihlLnBhcmFtcy5jdXN0b21JZCE9PXRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRJZFdpdGhQcmVmaXgoKSlyZXR1cm47aWYobnVsbD09PXRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50fHxudWxsPT09dGhpcy5fZW5kTWVhc3VyZVBvaW50KXJldHVybjtjb25zdCB0PWUucGFyYW1zLnBsb3RzO2lmKDIhPT10Lmxlbmd0aClyZXR1cm47Y29uc3QgaT10WzBdLnZhbHVlWzBdLHM9dFsxXS52YWx1ZVswXTt0aGlzLl9zdGFydE1lYXN1cmVQb2ludC5pbmRleD1pLHRoaXMuX2VuZE1lYXN1cmVQb2ludC5pbmRleD1zLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKX19dmFyIGx1PWkoMTQxNjUpLGN1PWkoOTEwMTI2KSxodT1pKDg3NTMwMSksZHU9aSg3MjM1MjUpLHV1PWkoMzA5MzYwKSxwdT1pKDE1NTYzKTtjb25zdCBfdT0oMCxjLmdldExvZ2dlcikoIkNoYXJ0LlN0dWRpZXMuU3R1ZHlJbnNlcnRlciIpLG11PS9eUFVCOy4qLztjbGFzcyBndXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3BhcmVudFNvdXJjZXM9W10sdGhpcy5fcHJvcHNTdGF0ZT12b2lkIDAsdGhpcy5fcHJlZmVycmVkUHJpY2VTY2FsZT12b2lkIDAsdGhpcy5fYWxsb3dDaGFuZ2VDdXJyZW5jeT0hMSx0aGlzLl9hbGxvd0NoYW5nZVVuaXQ9ITAsdGhpcy5fYWxsb3dDaGFuZ2VNZXRyaWM9ITAsdGhpcy5fcGFuZVNpemU9dm9pZCAwLHRoaXMuX2ZvcmNlT3ZlcmxheT0hMSx0aGlzLl9pbnNlcnRlckltcGw9dCx0aGlzLl9zdHVkeURlc2NyaXB0b3I9ZX1zZXRQYXJlbnRTb3VyY2VzKGUpe3RoaXMuX3BhcmVudFNvdXJjZXM9ZX1zZXRQYW5lU2l6ZShlKXt0aGlzLl9wYW5lU2l6ZT1lfXNldFByZWZlcnJlZFByaWNlU2NhbGUoZSl7dGhpcy5fcHJlZmVycmVkUHJpY2VTY2FsZT1lfXNldEFsbG93Q2hhbmdlQ3VycmVuY3koZSl7dGhpcy5fYWxsb3dDaGFuZ2VDdXJyZW5jeT1lfXNldEFsbG93Q2hhbmdlVW5pdChlKXt0aGlzLl9hbGxvd0NoYW5nZVVuaXQ9ZX1zZXRBbGxvd0NoYW5nZU1ldHJpYyhlKXt0aGlzLl9hbGxvd0NoYW5nZU1ldHJpYz1lfXNldEZvcmNlT3ZlcmxheShlKXt0aGlzLl9mb3JjZU92ZXJsYXk9ZX1zZXRQcm9wZXJ0aWVzU3RhdGUoZSl7dGhpcy5fcHJvcHNTdGF0ZT1lfXNldFRhcmdldFByaWNlU2NhbGVNb2RlKGUpe3RoaXMuX3RhcmdldFByaWNlU2NhbGVNb2RlPWV9c2V0RXZlbnRTb3VyY2UoZSl7dGhpcy5fZXZlbnRTb3VyY2U9ZX1hc3luYyBpbnNlcnQoZSx0LGkpe2xldCBzPW51bGw7dmFyIHI7aXx8KHM9dm9pZCAwIT09KHI9dGhpcy5faW5zZXJ0ZXJJbXBsKS5jcmVhdGVTdHViJiZ2b2lkIDAhPT1yLnJlbW92ZVN0dWI/dGhpcy5faW5zZXJ0ZXJJbXBsLmNyZWF0ZVN0dWIoKTpudWxsKTtjb25zdCBvPShlLHQpPT57aWYoaSl7Y29uc3Qgcz0oMCxuLmRlZmF1bHQpKGUpP3tlcnJvcjplfTp7ZXJyb3I6ZS5tZXNzYWdlLGVkaXRvckVycm9yOmV9O2kuc2V0U3RhdHVzKHt0eXBlOllsLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOnN9KSx0JiZpLnNldE1ldGFJbmZvKHQpLHRoaXMuX2luc2VydGVySW1wbC5zdG9yZUZhaWxlZFN0dWIoaSl9fTtsZXQgbCxjLGgsZD0hMDt0cnl7bD1hd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRCeUlkKHRoaXMuX3N0dWR5RGVzY3JpcHRvcil9Y2F0Y2goZSl7X3UubG9nV2FybihgQ2Fubm90IGdldCBzdHVkeSAke0pTT04uc3RyaW5naWZ5KHRoaXMuX3N0dWR5RGVzY3JpcHRvcil9YCk7Y29uc3QgdD10aGlzLl9zdHVkeURlc2NyaXB0b3IucGluZUlkLHM9bXUudGVzdCh0KSxyPSJFcnJvcjogY2Fubm90IGNvbXBpbGUgc2NyaXB0IjtsZXQgYT0hMTtpZighKGUgaW5zdGFuY2VvZiB1dS5QaW5lQ29tcGlsZUZhaWxFcnJvckltcGwpKXJldHVybiBvKHIpLApQcm9taXNlLnJlamVjdChwdS5JbnNlcnRpb25FcnJvckNvZGUuQ2Fubm90R2V0TWV0YWluZm8pO2k/LmdldERlc2NyaXB0b3IoKT8uaXNPdmVybGF5JiYodGhpcy5fZm9yY2VPdmVybGF5PSEwKSxsPW5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pLCgwLG4uZGVmYXVsdCkoZS5yZWFzb24pfHwhZS5yZWFzb24uZXJyb3JzLmxlbmd0aD9jPVt7bWVzc2FnZTpyfV06KGE9ITAsYz1lLnJlYXNvbi5lcnJvcnMpLHMmJmEmJihoPXB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5ub3RDb21waWxlUHViKX1maW5hbGx5e251bGwhPT1zJiYoZD10aGlzLl9pbnNlcnRlckltcGwucmVtb3ZlU3R1YihzKSl9aWYoIWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5TdHViV2FzUmVtb3ZlZCk7aWYodm9pZCAwIT09dCYmdC5jYW5jZWxsZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5jZWxsZWQpO2lmKCF0aGlzLl9jYW5BcHBseVN0dWR5VG9QYXJlbnQobCkpcmV0dXJuIG8oIkVycm9yOiBjYW5ub3QgYmUgY2hpbGQiKSxQcm9taXNlLnJlamVjdChwdS5JbnNlcnRpb25FcnJvckNvZGUuU3R1ZHlDYW5ub3RCZUNoaWxkKTtjb25zdCB1PXsuLi5sLmRlZmF1bHRzLmlucHV0c307bGV0IHA9e307aWYodm9pZCAwIT09ZSl7Y29uc3QgdD1vdC5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShsKSxpPSgwLGEuY2xvbmUpKCgwLCRsLmRlZmF1bHRzKSh0KSk7KDAsYS5tZXJnZSkodSxpLmlucHV0cyk7Y29uc3Qgcz1hd2FpdCBlKHUsbC5pbnB1dHMsbCk7cD1zLmlucHV0cyx0aGlzLl9wYXJlbnRTb3VyY2VzPXMucGFyZW50U291cmNlcz8/W119aWYodm9pZCAwIT09dCYmdC5jYW5jZWxsZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5jZWxsZWQpO2NvbnN0IF89dGhpcy5faW5zZXJ0U3R1ZHkobCxwLGkpO2lmKG51bGw9PT1fKXJldHVybiBvKCJFcnJvcjogdW5rbm93biBlcnJvciIpLFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5Vbmtub3duKTthd2FpdCBfLnN0YXJ0UHJvbWlzZTtjb25zdCBtPWF3YWl0IF8uc3R1ZHk7cmV0dXJuIGMmJm0uc2V0RXJyb3JDb21waWxhdGlvbihjKSxoP1Byb21pc2UucmVqZWN0KGgpOm19X2luc2VydFN0dWR5KGUsdCxpKXtyZXR1cm4gdGhpcy5faW5zZXJ0ZXJJbXBsLmNyZWF0ZVN0dWR5KHtzdHVkeU1ldGFJbmZvOmUsaW5wdXRzOnQsdGFyZ2V0Wk9yZGVyOm51bGwsc3R1YlRvUmVwbGFjZTppLHByb3BzU3RhdGU6dGhpcy5fcHJvcHNTdGF0ZSxmb3JjZU92ZXJsYXk6dGhpcy5fZm9yY2VPdmVybGF5LHBhcmVudFNvdXJjZXM6dGhpcy5fcGFyZW50U291cmNlcyxwcmVmZXJyZWRQcmljZVNjYWxlOnRoaXMuX3ByZWZlcnJlZFByaWNlU2NhbGUsYWxsb3dDaGFuZ2VDdXJyZW5jeTp0aGlzLl9hbGxvd0NoYW5nZUN1cnJlbmN5LGFsbG93Q2hhbmdlVW5pdDp0aGlzLl9hbGxvd0NoYW5nZVVuaXQsYWxsb3dDaGFuZ2VNZXRyaWM6dGhpcy5fYWxsb3dDaGFuZ2VNZXRyaWMscGFuZVNpemU6dGhpcy5fcGFuZVNpemUsdGFyZ2V0U2NhbGVNb2RlOnRoaXMuX3RhcmdldFByaWNlU2NhbGVNb2RlLGV2ZW50U291cmNlOnRoaXMuX2V2ZW50U291cmNlfSl9X2NhbkFwcGx5U3R1ZHlUb1BhcmVudChlKXtyZXR1cm4gMD09PXRoaXMuX3BhcmVudFNvdXJjZXMubGVuZ3RofHxvdC5TdHVkeU1ldGFJbmZvLmNhbkJlQ2hpbGQoZSx0cnVlKX19Y2xhc3MgZnV7Y29uc3RydWN0b3IoZSl7dGhpcy5fcHJpY2VTb3VyY2VOYW1lc0J5SWQ9bmV3IE1hcCxlLmZvckVhY2goKGU9PnRoaXMuX3ByaWNlU291cmNlTmFtZXNCeUlkLnNldChlLmlkLGUubmFtZSkpKX1uYW1lKGUpe3JldHVybiB0aGlzLl9wcmljZVNvdXJjZU5hbWVzQnlJZC5nZXQoZSk/P251bGx9cHJpY2VTb3VyY2VzQ2hhbmdlZChlKXtyZXR1cm4gZS5sZW5ndGghPT10aGlzLl9wcmljZVNvdXJjZU5hbWVzQnlJZC5zaXplfX12YXIgU3U9aSgzMTQ4MDYpO2NvbnN0IHZ1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSBkZXNlbGVjdGVkIGVtcHR5IGxpbmUgdG9vbHMiLHAudChudWxsLHZvaWQgMCxpKDYzNTQ5NikpKSx5dT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhdXRvX2VuYWJsZV9zeW1ib2xfbGFiZWxzIiksYnU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZml4X2xlZnRfZWRnZSIpLHd1PSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRNb2RlbCIpO2Z1bmN0aW9uIEN1KGUsdCl7Y29uc3QgaT1lLmluZGV4T2YodCk7cmV0dXJuLTEhPT1pJiYoZS5zcGxpY2UoaSwxKSwhMCl9ZnVuY3Rpb24gUHUoZSl7Y29uc3QgdD0oMCx0bi5jcm9zc2hhaXJNb3ZlRXZlbnQpKCk7Zm9yKGxldCBpPWUubGVuZ3RoO2ktLTspe2NvbnN0IHM9ZVtpXS5kYXRhU291cmNlcygpO2ZvcihsZXQgZT1zLmxlbmd0aDtlLS07KXNbZV0uZGF0YVdpbmRvd1ZpZXcoKT8udXBkYXRlKHQpLHNbZV0uY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3Py4oKT8udXBkYXRlKHQpO2NvbnN0IG49ZVtpXS5wcmljZURhdGFTb3VyY2VzKCk7Zm9yKGxldCBlPW4ubGVuZ3RoO2UtLTspbltlXS5sZWdlbmRWaWV3KCk/LnVwZGF0ZSh0KX19Y29uc3QgVHU9e2lzU25hcHNob3Q6ITEscmVhZE9ubHk6ITEsd2F0ZXJtYXJrRW5hYmxlZDohMCxzaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyOiEwLGN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQ6ITEsdW5pdENvbnZlcnNpb25FbmFibGVkOiExLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOiExLGNvdW50ZG93bkVuYWJsZWQ6ITAsbGFzdFByaWNlQW5pbWF0aW9uRW5hYmxlZDohMCxvbldpZGdldDohMSxoaWRlSWRlYXM6ITF9O3ZhciB4dTshZnVuY3Rpb24oZSl7ZVtlLk1uUGFuZUhlaWdodD0zMF09Ik1uUGFuZUhlaWdodCIsZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0PTJlM109IlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0IiwKZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNMYXJnZVRpbWVvdXQ9NWUzXT0iUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0xhcmdlVGltZW91dCIsZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0TGlicmFyeT01MDBdPSJSZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzVGltZW91dExpYnJhcnkiLGVbZS5SZWNhbGNDb2xvclN0dWRpZXNUaW1lb3V0PTI1MF09IlJlY2FsY0NvbG9yU3R1ZGllc1RpbWVvdXQifSh4dXx8KHh1PXt9KSk7Y29uc3QgTXU9e3Rocm90dGxlOktvLmRlZmF1bHQsZGVib3VuY2U6WW8uZGVmYXVsdH0sSXU9bmV3IE1hcChbW0lpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uLHt0aW1lb3V0OjJlMyxhZGFwdGVyOiJkZWJvdW5jZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5EYXRhVXBkYXRlLHt0aW1lb3V0OjVlMyxhZGFwdGVyOiJ0aHJvdHRsZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0LHt0aW1lb3V0OjJlMyxhZGFwdGVyOiJkZWJvdW5jZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNDb21wbGV0ZWQse3RpbWVvdXQ6MmUzLGFkYXB0ZXI6ImRlYm91bmNlIn1dLFtJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlN0dWR5Q3JlYXRpb24se3RpbWVvdXQ6MmUzLGFkYXB0ZXI6ImRlYm91bmNlIn1dXSksTHU9QXJyYXkuZnJvbShJdS52YWx1ZXMoKSk7ZnVuY3Rpb24gQXUoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+e2lmKCEoMCxyaS5pc0xpbmVUb29sKSh0KXx8IXQuaXNTeW5jaHJvbml6YWJsZSgpKXJldHVybiBlO2NvbnN0IGk9dC5saW5rS2V5KCkudmFsdWUoKTtyZXR1cm4gaT8oZVswXS5hZGQoaSksZVsxXS5hZGQodC50b29sbmFtZSksZSk6ZX0pLFtuZXcgU2V0LG5ldyBTZXRdKX1mdW5jdGlvbiBrdShlKXtyZXR1cm4gZS5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmUoKX1mdW5jdGlvbiBEdShlKXtyZXR1cm4gZS5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCl9Y2xhc3MgRXV7Y29uc3RydWN0b3IoZSl7dGhpcy5fb25SZWFycmFuZ2VQYW5lcz1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsPW5ldyBzaCx0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD1bXSx0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZD1udWxsLHRoaXMuX2xpbmVCZWluZ0VkaXRlZD1udWxsLHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YT1udWxsLHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWQ9bnVsbCx0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc291cmNlUHJvcGVyaXRlc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc291cmNlWk9yZGVyQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHk9bmV3IGguV2F0Y2hlZFZhbHVlKDApLHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pbmFjdGl2aXR5R2Fwc1dhdGNoZWRWYWx1ZT1udWxsLHRoaXMuX2FsbG93ZWRBZGp1c3RtZW50PW5ldyBoLldhdGNoZWRWYWx1ZSgibm9uZSIpLHRoaXMuX2N1cnJlbnRUb29sPVQudG9vbC5zcGF3bigpLHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkPVtdLHRoaXMuX2xpbmVDYW5jZWxsZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lcj1uZXcga2godGhpcyksdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3Jlc3RvcmluZ1N0YXRlPSExLHRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uPSExLHRoaXMuX2lzVGltZVNjcm9sbGluZz0hMSx0aGlzLl9tYWduZXQ9bmV3IEhoLHRoaXMuX3Njcm9sbGluZ1N0YXRlPW51bGwsdGhpcy5fbW9kZWxJbnRlcnZhbHM9W10sdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXI9bmV3IHZhKHRoaXMpLHRoaXMuX3N0dWR5SW5zZXJ0ZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldD0wLHRoaXMuX3JlcGxheVN0YXR1cz1uZXcgaC5XYXRjaGVkVmFsdWUoMCksdGhpcy5fcGFuZXM9W10sdGhpcy5fbWF4aW1pemVkUGFuZT1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc3RyYXRlZ3lTb3VyY2VzPVtdLHRoaXMuX3N0cmF0ZWd5U291cmNlc0NoYW5nZT1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZT1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlPW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fcGFuZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY3JvbGxFbmFibGVkPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3Njcm9sbCIpLHRoaXMuX3pvb21FbmFibGVkPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3pvb20iKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyPW51bGwsdGhpcy5fYWxlcnRzV2F0Y2hlcj1udWxsLHRoaXMuX2hvdmVyZWRTb3VyY2U9bnVsbCx0aGlzLl9ob3ZlcmVkU291cmNlQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5faG92ZXJlZFNvdXJjZU9yaWdpbj1udWxsLHRoaXMuX2xhc3RTZWxlY3RlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5faGlnaGxpZ2h0ZWRTb3VyY2VJbmZvPW51bGwsdGhpcy5fdG9wbW9zdEN1c3RvbVNvdXJjZXM9W10sdGhpcy5fZmdDdXN0b21Tb3VyY2VzPVtdLAp0aGlzLl9iZ0N1c3RvbVNvdXJjZXM9W10sdGhpcy5fYWxsQ3VzdG9tU291cmNlcz1bXSx0aGlzLl9jdXN0b21Tb3VyY2VzTWFwPW5ldyBNYXAsdGhpcy5fZHJhZ0V4cG9ydEVuYWJsZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aVBhbmVTb3VyY2VzPVtdLHRoaXMuX3Nob3dMZWdlbmRQcm9wZXJ0eT1uZXcgT3QuUHJvcGVydHksdGhpcy5faWQ9KDAsbHQuZ3VpZCkoKSx0aGlzLl9jaGFydFNhdmVUaW1lPW51bGwsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3Q9bnVsbCx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXM9bmV3IGZ1KFtdKSx0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD1udWxsLHRoaXMuX2F2YWlsYWJsZVVuaXRzPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdD1udWxsLHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlc0J5U3ltYm9sPW5ldyBNYXAsdGhpcy5fc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj0hMSx0aGlzLl93YXRjaGVkVGhlbWVTcGF3bj1ELndhdGNoZWRUaGVtZS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wPW5ldyB4aC5HcmFkaWVudENvbG9yQ2FjaGUsdGhpcy5fc3R1ZGllc1dWPW5ldyBkLldhdGNoZWRPYmplY3QoW10sZy5jb21wYXJlVHdvQ29sbGVjdGlvbnNCeUlkcyksdGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWPW5ldyBkLldhdGNoZWRPYmplY3QoW10sZy5jb21wYXJlVHdvQ29sbGVjdGlvbnNCeUlkcyksdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXM9e3JlYXNvbnM6bmV3IFNldH0sdGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzUGFyYW1zPXt9LHRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3k9bmV3IGguV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3N0dWR5Q29sb3JSb3RhdG9yRmFjdG9yeT1uZXcgX2EodGhpcyksdGhpcy5fbWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eT1uZXcgYWwodGhpcyksdGhpcy5fYWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsdGhpcy5fcmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0ltcGxEZWJvdW5jZWRCeUFkYXB0ZXI9bmV3IE1hcChPYmplY3Qua2V5cyhNdSkubWFwKChlPT5bZSxuZXcgTWFwKEx1LmZpbHRlcigodD0+dC5hZGFwdGVyPT09ZSkpLm1hcCgoZT0+W2UudGltZW91dCxNdVtlLmFkYXB0ZXJdKHRoaXMuX3JlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNJbXBsLmJpbmQodGhpcyx0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXMpLGUudGltZW91dCldKSkpXSkpKSx0aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNJbXBsRGVib3VuY2VkPSgwLFlvLmRlZmF1bHQpKHRoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc0ltcGwuYmluZCh0aGlzLHRoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc1BhcmFtcyksMjUwKSx0aGlzLl93aWR0aD0wLHRoaXMuX3Jlc2V0U2NhbGVzPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2NoYXJ0VGhlbWVMb2FkZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc2VsZWN0aW9uPW5ldyBmYS5Nb2RlbFNlbGVjdGlvbix0aGlzLl9zZWxlY3RlZFNvdXJjZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzPW51bGwsdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZ3JpZFNvdXJjZT1uZXcgJGgodGhpcyksdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cz1uZXcgZC5XYXRjaGVkT2JqZWN0KG51bGwpLHRoaXMuX3N5bmNQb2ludENhY2hlPW5ldyBNYXAsdGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlPW51bGwsdGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U9bnVsbCx0aGlzLl9hbGVydHNDb2xsZWN0aW9uPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyTG9hZGVyPW51bGwsdGhpcy5fc2Vzc2lvbnM9bnVsbCx0aGlzLl9vbk11bHRpcGFuZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzPW51bGwsdGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQ9dm9pZCAwLHRoaXMuX2xpbmVUb29sc1N5bmNCbG9jaz0wLHRoaXMuX29uRGVzdHJveWVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX29uTGluZVRvb2xzR3JvdXBNb2RlbENoYW5nZWQ9KCk9PnswIT09dGhpcy5fc2VsZWN0aW9uLmxpbmVUb29sR3JvdXBzKCkubGVuZ3RoJiZ0aGlzLmNoZWNrTGluZVRvb2xBbmRHcm91cFNlbGVjdGlvbigpfSx0aGlzLl9jbGVhclNlbGVjdGlvbj0oKT0+e3RoaXMuX2xhc3RTZWxlY3RlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5fc2VsZWN0aW9uLmNsZWFyKCl9LHRoaXMuX3JlbW92ZUl0ZW1Gcm9tU2VsZWN0aW9uPWU9Pnt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlKGUpfSx0aGlzLl9hZGRJdGVtVG9TZWxlY3Rpb249KGUsdCk9Pntjb25zdCBpPXRoaXMuX3NlbGVjdGlvbi5pc1NlbGVjdGVkKGUpOygwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP2l8fHRoaXMuX3NlbGVjdGlvbi5hZGQoZSk6aSYmdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9PT10fHxlLmlzU2VsZWN0aW9uRW5hYmxlZCgpJiYodGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9dHx8bnVsbCxpfHx0aGlzLl9zZWxlY3Rpb24uYWRkKGUpLCgwLHRpLmlzU3R1ZHlTdHJhdGVneSkoZSkmJnRoaXMuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoZSkpfSx0aGlzLl9yZWNhbGNTeW1ib2xSZXNvbHZpbmdBY3RpdmU9KCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lcylpZihlLnN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLnZhbHVlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlLnNldFZhbHVlKCEwKTt0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfSwKdGhpcy5fcmVjYWxjQWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5PSgpPT57aWYodGhpcy5fc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5tYWluU2VyaWVzKCk7c3dpdGNoKGUuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIil7Y2FzZSJkaXZpZGVuZHMiOnJldHVybiB2b2lkIHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eS5zZXRWYWx1ZSgyKTtjYXNlInNwbGl0cyI6cmV0dXJuIHZvaWQgdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnNldFZhbHVlKDEpO2Nhc2UiYW55IjpyZXR1cm4gdm9pZCB0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkuc2V0VmFsdWUoMyl9Zm9yKGNvbnN0IHQgb2YgdGhpcy5zeW1ib2xTb3VyY2VzKCkpe2lmKHQuc3ltYm9sSGliZXJuYXRlZCgpLnZhbHVlKCl8fHQ9PT1lKWNvbnRpbnVlO2lmKCJhbnkiPT09KHQuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIikpcmV0dXJuIHZvaWQgdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnNldFZhbHVlKDMpfXRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eS5zZXRWYWx1ZSgwKX0sdGhpcy5fcmVjYWxjQWxsb3dlZEFkanVzdG1lbnQ9KCk9Pntjb25zdCBlPXRoaXMubWFpblNlcmllcygpLHQ9ZS5zeW1ib2xJbmZvKCk/LmFsbG93ZWRfYWRqdXN0bWVudD8/Im5vbmUiO2lmKCJkaXZpZGVuZHMiPT09dHx8InNwbGl0cyI9PT10KXJldHVybiB2b2lkIHRoaXMuX2FsbG93ZWRBZGp1c3RtZW50LnNldFZhbHVlKHQpO2xldCBpPSJub25lIjtmb3IoY29uc3QgZSBvZiB0aGlzLnN5bWJvbFNvdXJjZXMoKSl7aWYoZS5zeW1ib2xIaWJlcm5hdGVkKCkudmFsdWUoKSljb250aW51ZTtjb25zdCB0PWUuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIjtpZigiYW55Ij09PXQpcmV0dXJuIHZvaWQgdGhpcy5fYWxsb3dlZEFkanVzdG1lbnQuc2V0VmFsdWUoImFueSIpOyJzcGxpdHMiPT09dCYmImRpdmlkZW5kcyIhPT1pJiYoaT0ic3BsaXRzIiksImRpdmlkZW5kcyI9PT10JiYoaT0iZGl2aWRlbmRzIil9dGhpcy5fYWxsb3dlZEFkanVzdG1lbnQuc2V0VmFsdWUoaSl9LHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQ9KCk9Pntzd2l0Y2godGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnZhbHVlKCkpe2Nhc2UgMjpyZXR1cm4gdm9pZCB0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNFbmFibGVkLnNldFZhbHVlKCEwKTtjYXNlIDA6Y2FzZSAxOnJldHVybiB2b2lkIHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQuc2V0VmFsdWUoITEpfXRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZGl2aWRlbmRzQWRqdXN0bWVudCkudmFsdWUoKSl9LHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlPWU9PntsZXQgdD10aGlzLl9wYW5lcy5maWx0ZXIoKGU9PiFlLmNvbGxhcHNlZCgpLnZhbHVlKCkpKS5sZW5ndGg7MD09PXQmJmUmJnRoaXMuX3BhbmVzLmxlbmd0aD4wJiYodGhpcy5fcGFuZXNbMF0uY29sbGFwc2VkKCkuc2V0VmFsdWUoITEpLHQ9MSksdGhpcy5fcGFuZUNvbGxhcHNpbmdBdmFpbGFibGUuc2V0VmFsdWUodD4xKX0sdGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNBdmFpbGFibGVWYWx1ZT0oKT0+e2NvbnN0IGU9dGhpcy5fdGltZVNjYWxlLnJlc2V0QXZhaWxhYmxlKCkudmFsdWUoKXx8dGhpcy5fcGFuZXMuc29tZSgoZT0+ZS5yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKSkpO3RoaXMuX3Jlc2V0U2NhbGVzQXZhaWxhYmxlLnNldFZhbHVlKGUpfSx0aGlzLl9vbkRyYXdpbmdzVmlzaWJpbGl0eUNoYW5nZWQ9ZT0+e2NvbnN0IHQ9IWUudmFsdWUoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpe2NvbnN0IGk9KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKTt0JiZpPygwLCQuZW1pdCkoImRyYXdpbmdfZXZlbnQiLGUuaWQoKSwic2hvdyIpOiF0JiZpJiYoMCwkLmVtaXQpKCJkcmF3aW5nX2V2ZW50IixlLmlkKCksImhpZGUiKX10aGlzLnNlbGVjdGlvbk1hY3JvKChlPT5lLmNsZWFyU2VsZWN0aW9uKCkpKX0sdGhpcy5fb25JbmRpY2F0b3JzVmlzaWJpbGl0eUNoYW5nZWQ9KCk9Pnt0aGlzLmFsbFN0dWRpZXMoKS5zb21lKChlPT5lLmNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCkmJmUucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdGhpcy5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKGUpKSk/dGhpcy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSk6dGhpcy5saWdodFVwZGF0ZSgpfTtjb25zdHtjaGFydFNlc3Npb246dCxpbnZhbGlkYXRlSGFuZGxlcjppLHByb3BlcnRpZXM6cyxzZXJpZXNQcm9wZXJ0aWVzOm4sZGF0YVJlcXVlc3Q6cix1bmRvTW9kZWw6byxiYXJzTWFya3NDb250YWluZXJzRmFjdG9yeTpjLG9wdGlvbnM6cCxoaWJlcm5hdGVWVzpfLGxpbmtpbmdHcm91cFdWOlMsaXNBdXRvU2F2ZUVuYWJsZWQ6dixzeW1ib2xBbGlhc1NlcnZpY2U6eSxkcmF3VGltZTpifT1lO3RoaXMuX2F2YWlsYWJsZU1ldHJpY3M9bmV3IERoKFtdKSx0aGlzLl9jaGFydFNlc3Npb249dCx0aGlzLl9pbnZhbGlkYXRlSGFuZGxlcj1pLHRoaXMuX3VuZG9Nb2RlbD1vLHRoaXMuX3Byb3BlcnRpZXM9cyx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKFR1KSxwKSx0aGlzLl9oaWJlcm5hdGVXVj1fLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PVMsdGhpcy5faXNBdXRvU2F2ZUVuYWJsZWQ9dix0aGlzLl9yZWFkT25seT10aGlzLl9vcHRpb25zLnJlYWRPbmx5LHRoaXMuX2lzU25hcHNob3Q9dGhpcy5fb3B0aW9ucy5pc1NuYXBzaG90LHRoaXMuX3N5bWJvbEFsaWFzU2VydmljZT15LAp0aGlzLl9zeW1ib2xBbGlhc1NlcnZpY2U/Lm9uQWxpYXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLmxpZ2h0VXBkYXRlKCkpKSx0aGlzLl9kcmF3VGltZT1iLHRoaXMuX2FsZXJ0c1dhdGNoZXI9bmV3IGRoKHRoaXMpLHRoaXMub25XaWRnZXQoKXx8bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKCkpKSx0aGlzLl9jaGFydFNhdmVUaW1lPShuZXcgRGF0ZSkudmFsdWVPZigpLHRoaXMuX2JhY2tncm91bmRDb2xvcj1uZXcgaC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvcj1uZXcgaC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCEwKSksdGhpcy5fc3Vic2NyaWJlVG9MaW5lVG9vbHNHcm91cE1vZGVsKCksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhY2tncm91bmRDb2xvciksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kVHlwZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYWNrZ3JvdW5kQ29sb3IpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50U3RhcnRDb2xvci5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYWNrZ3JvdW5kQ29sb3IpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3Iuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFja2dyb3VuZENvbG9yKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTaG93TGVnZW5kUHJvcGVydHkpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLmZ1bGxVcGRhdGUpLHRoaXMuX2JhY2tncm91bmRDb2xvci5zdWJzY3JpYmUodGhpcy5yZWNhbGNDb2xvclN0dWRpZXMuYmluZCh0aGlzLCExKSksdGhpcy5fYmFja2dyb3VuZFRvcENvbG9yLnN1YnNjcmliZSh0aGlzLnJlY2FsY0NvbG9yU3R1ZGllcy5iaW5kKHRoaXMsITEpKSx0aGlzLl9iYWNrZ3JvdW5kQ291bnRlckNvbG9yPW5ldyBoLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRCYWNrZ3JvdW5kQ291bnRlckNvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRDb2xvci5zdWJzY3JpYmUoKCgpPT50aGlzLl9iYWNrZ3JvdW5kQ291bnRlckNvbG9yLnNldFZhbHVlKHRoaXMuX2dldEJhY2tncm91bmRDb3VudGVyQ29sb3IoKSkpKSx0aGlzLl9iYWNrZ3JvdW5kVGhlbWU9KDAsdS5jb21iaW5lKSgoZT0+IndoaXRlIj09PWU/Sm8uU3RkVGhlbWUuRGFyazpKby5TdGRUaGVtZS5MaWdodCksdGhpcy5fYmFja2dyb3VuZENvdW50ZXJDb2xvci53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2lzRGFyaz0oMCx1LmNvbWJpbmUpKChlPT5lPT09Sm8uU3RkVGhlbWUuRGFyayksdGhpcy5fYmFja2dyb3VuZFRoZW1lLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fd2F0Y2hlZFRoZW1lU3Bhd24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUJhY2tncm91bmRDb2xvci5iaW5kKHRoaXMpKSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eSgpLHRoaXMuX3JlY2FsY0FsbG93ZWRBZGp1c3RtZW50KCl9KSksKDAsVC5pbml0KSgpO2NvbnN0IHc9dGhpcy5fcmVhZE9ubHk/bmV3IE90LlByb3BlcnR5KCgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKHh0LmxpZ2h0VGhlbWUuY29udGVudC5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcyksKDAsJGwuZGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcyIpKSk6dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5jcm9zc0hhaXJQcm9wZXJ0aWVzO3RoaXMuX2Nyb3NzSGFpclNvdXJjZT1uZXcgYXUodGhpcyx3LHRoaXMuX29wdGlvbnMuY3Jvc3NIYWlyKSx0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGU9dGhpcy5fY3Jvc3NIYWlyU291cmNlLnNlbGVjdFBvaW50TW9kZSgpLnNwYXduKCksdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnN1YnNjcmliZSgoZT0+e2lmKGUhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lJiZ0aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKSl7Y29uc3QgZT1ULnRvb2wudmFsdWUoKTt0aGlzLmNhbmNlbENyZWF0aW5nTGluZSgpLFQudG9vbC5zZXRWYWx1ZShlKX19KSksdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGU7Y29uc3QgQz17Y291bnRkb3duRW5hYmxlZDp0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQsbGFzdFByaWNlQW5pbWF0aW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWR9O3RoaXMuX21haW5TZXJpZXM9bmV3IGVuLlNlcmllcyh0aGlzLG4sQyxyKSx0aGlzLl90aW1lU2NhbGU9bmV3IFFjKHRoaXMsdGhpcy5fb3B0aW9ucy50aW1lU2NhbGUpLHRoaXMuX3RpbWVTY2FsZS5yZXNldEF2YWlsYWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVSZXNldFNjYWxlc0F2YWlsYWJsZVZhbHVlKSx0aGlzLl9hcHBsaWVkVGltZUZyYW1lPW5ldyB6aCh0aGlzKSx0aGlzLl9tYWluU2VyaWVzLm9uU3R5bGVDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMuX3RpbWVTY2FsZSx0aGlzLl90aW1lU2NhbGUuaW52YWxpZGF0ZVZpc2libGVCYXJzKTtjb25zdCBQPSgpPT50aGlzLmZ1bGxVcGRhdGUoKTt0aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93Q291bnRkb3duLnN1YnNjcmliZSh0aGlzLCgoKT0+ewp0aGlzLl9tYWluU2VyaWVzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLl9tYWluU2VyaWVzLmlkKCkpKSxQKCl9KSksKDAscnMuY3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eVByb3BlcnR5KSgpLnN1YnNjcmliZSh0aGlzLFApLCgwLG9zLmF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eVByb3BlcnR5KSgpLnN1YnNjcmliZSh0aGlzLFApLHRoaXMuX3RpbWVTY2FsZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLl9tYWluU2VyaWVzLHRoaXMuX21haW5TZXJpZXMuY2xlYXJIaWdoTG93UHJpY2VDYWNoZSksdGhpcy5fdGltZVNjYWxlLnZpc2libGVCYXJzU3RyaWN0UmFuZ2VDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMuX21haW5TZXJpZXMsdGhpcy5fbWFpblNlcmllcy5jbGVhckF2ZXJhZ2VQcmljZUNhY2hlKSx0aGlzLmNyZWF0ZVBhbmUodm9pZCAwLHtheGlzUHJvcGVydGllczpuLmNoaWxkcygpLnByaWNlQXhpc1Byb3BlcnRpZXMuc3RhdGUoWyJhdXRvU2NhbGUiXSl9KSx0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmRpdmlkZW5kc0FkanVzdG1lbnQpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQpLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQoKSx0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQ9dGhpcy5fdXBkYXRlU3R1ZGllc01heE9mZnNldC5iaW5kKHRoaXMpLHRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zZXJpZXNUaW1lRnJhbWUoKS5zdWJzY3JpYmUodGhpcywoKGUsdCxpLHMpPT57aWYobnVsbCE9PXRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZSYmbnVsbCE9PWkmJnMmJigwLFZuLmFyZUVxdWFsVGltZUZyYW1lcykodGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlLnJhbmdlLGkpKXtjb25zdCBlPXRoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnZhbHVlKCk7bnVsbCE9PWUmJiF0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsJiYoMCxWbi5hcmVFcXVhbFRpbWVGcmFtZXMpKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZS5yYW5nZSxlLnZhbCkmJnRoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnNldFZhbHVlKG51bGwpLHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZT1udWxsfX0pKSx0aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuY29tcGxldGVkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PntudWxsPT09dGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlJiZudWxsIT09dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2UmJnRoaXMuZ290b1RpbWVSYW5nZSh0aGlzLl9sYXN0R290b1RpbWVSYW5nZS5mcm9tLHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlLnRvLHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlKX0pKTtjb25zdCB4PXRoaXMuX3BhbmVzWzBdO3guc2V0U3RyZXRjaEZhY3RvcigyKnguc3RyZXRjaEZhY3RvcigpKSx0aGlzLl9wcm9wZXJ0aWVzLnN1YnNjcmliZSh0aGlzLHRoaXMubGlnaHRVcGRhdGUpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGltZXpvbmUuc3Vic2NyaWJlKG51bGwsKCgpPT57dGhpcy5fY2hhcnRTZXNzaW9uJiZ0aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydFNlc3Npb24uc3dpdGNoVGltZXpvbmUodGhpcy50aW1lem9uZSgpKX0pKSx4LmFkZERhdGFTb3VyY2UodGhpcy5fbWFpblNlcmllcyx4LmZpbmRTdWl0YWJsZVNjYWxlKHRoaXMuX21haW5TZXJpZXMpLCExKSx0aGlzLl9iYXJzTWFya3NTb3VyY2VzPWModGhpcyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyllLnNldE93bmVyU291cmNlKHRoaXMuX21haW5TZXJpZXMpLHguYWRkRGF0YVNvdXJjZShlLHRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpLCEwKTtpZih0aGlzLl9tYWluU2VyaWVzLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJBdmFpbGFibGVQcmljZVNvdXJjZXMpLHRoaXMuX21haW5TZXJpZXMub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbEludGVydmFsQ2hhbmdlZCksdGhpcy5fY3JlYXRlTG9sbGlwb3BTb3VyY2VzV2F0Y2hlcigpLHRoaXMuX3dhdGVybWFya1NvdXJjZT10aGlzLl9vcHRpb25zLndhdGVybWFya0VuYWJsZWQ/bmV3IHNsKHRoaXMpOm51bGwsdGhpcy5fdGltZXpvbmVFeGNlcHRFeGNoYW5nZT0oMCx1LmNvbWJpbmUpKCgoZSx0KT0+ImV4Y2hhbmdlIiE9PWU/ZTp0KSwoMCxTdS5jcmVhdGVXVkZyb21Qcm9wZXJ0eSkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZSkub3duZXJzaGlwKCksKDAscWMuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm8oKT8udGltZXpvbmU/P251bGwpLHRoaXMubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkpLm93bmVyc2hpcCgpKSx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlcigpLCF0aGlzLm9uV2lkZ2V0KCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImFsZXJ0cyIpJiZ0aGlzLl9pbml0QWxlcnRzTGlzdCgpLHRoaXMuX21haW5TZXJpZXMuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e2lmKHRoaXMuX3Njcm9sbGluZ1N0YXRlJiZ0aGlzLmdvdG9UaW1lKHZvaWQgMCx7dGFyZ2V0UG9pbnRBbGlnbm1lbnQ6dGhpcy5fc2Nyb2xsaW5nU3RhdGUudGFyZ2V0UG9pbnRBbGlnbm1lbnQsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6dGhpcy5fc2Nyb2xsaW5nU3RhdGUuYXV0b3NjYWxlQWZ0ZXJTY3JvbGx9KSxidSYmIXRoaXMuX21haW5TZXJpZXMucmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlKCkpewpjb25zdCBlPXRoaXMuX21haW5TZXJpZXMuYmFycygpLmZpcnN0KCk7bnVsbCE9PWUmJnRoaXMuX3RpbWVTY2FsZS5zZXRMZWZ0RWRnZUZpeChlLmluZGV4KX19KSksdGhpcy5fbWFpblNlcmllcy5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3JlY2FsY1ZSU3R1ZGllc1BhcmFtcy5vbGRTdGFydFZpc2libGVJbmRleD1OYU4sdGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLm9sZEVuZFZpc2libGVJbmRleD1OYU59KSksdGhpcy5fbWFpblNlcmllcy5kYXRhRXZlbnRzKCkuYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleCksIXRoaXMuX3JlYWRPbmx5KXt0aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5hZGRDaGlsZCgicHJpY2VBeGlzUHJvcGVydGllcyIsdGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkucHJvcGVydGllcygpKTtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKTtlLnNob3dTdHVkeVRpdGxlcy5zdWJzY3JpYmUodGhpcywodD0+e3QudmFsdWUoKXx8ZS5zaG93U3R1ZHlBcmd1bWVudHMuc2V0VmFsdWUoITEpfSkpfXRoaXMuX21haW5TZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSx0aGlzLl9tYWluU2VyaWVzLm9uVGltZUZyYW1lQXBwbGllZCgpLnN1YnNjcmliZSh0aGlzLChlPT57Y29uc3QgdD1lP3tyZXM6dGhpcy5fbWFpblNlcmllcy5pbnRlcnZhbCgpLHZhbDplfTpudWxsO3RoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnNldFZhbHVlKHQpfSkpLHRoaXMuX21heGltaXplZFBhbmUuc3Vic2NyaWJlKCgoKT0+by5tb2RlbCgpLmZ1bGxVcGRhdGUoKSkpLHRoaXMuX2RhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTaG93TGVnZW5kUHJvcGVydHkpLCgwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRHJhd2luZ3NWaXNpYmlsaXR5Q2hhbmdlZCksKDAsVC5oaWRlQWxsSW5kaWNhdG9ycykoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkluZGljYXRvcnNWaXNpYmlsaXR5Q2hhbmdlZCksaWguZGF0ZUZvcm1hdFByb3BlcnR5LnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSxUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlciksdGhpcy5fY3VycmVudFRvb2wuc3Vic2NyaWJlKChlPT57aWYoKDAsbS5pc0xpbmVUb29sTmFtZSkoZSkpe2NvbnN0IGU9dGhpcy5fc2VsZWN0aW9uLmFsbEl0ZW1zU29ydGVkKCkubWFwKChlPT4oMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKT9lLmlkOmUuaWQoKSkpO3RoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz1lLHRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCl9KSl9dGhpcy5fbWF5YmVVcGRhdGVQcmV2aW91c1NlbGVjdGVkRHJhd2luZ09yR3JvdXAoKSwhKDAsa2kuaXNMaW5lVG9vbExvYWRlZCkoZSkmJigwLGtpLmlzQXN5bmNHZW5lcmljTGluZVRvb2xOYW1lKShlKT8oMCxraS5sb2FkTGluZVRvb2wpKGUpLnRoZW4oKCgpPT50aGlzLl9waGFudG9tU291cmNlQ29udGFpbmVyLm9uVG9vbENoYW5nZWQoKSkpOnRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIub25Ub29sQ2hhbmdlZCgpfSkpLHRoaXMuX3NpZ25hdHVyZVNvdXJjZXM9dGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWLnNwYXduKCk7Y29uc3QgTT0oMCx1LmNvbWJpbmUpKChlPT5lLm1hcCgoZT0+ZS5zaWduYXR1cmUoKS53ZWFrUmVmZXJlbmNlKCkpKSksdGhpcy5fc2lnbmF0dXJlU291cmNlcy53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX3NvdXJjZXNTaWduYXR1cmVzPSgwLHUuYWNjdW11bGF0ZSkoKGU9PmUuZmlsdGVyKGEubm90TnVsbCkpLE0ub3duZXJzaGlwKCkpfWRlc3Ryb3koKXt0aGlzLl9hYm9ydENvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLmNsZWFySW50ZXJ2YWxzKCksdGhpcy5yZXNldERlZmVycmVkU3R1ZGllcygpLHRoaXMuX3N5bWJvbEFsaWFzU2VydmljZT8ub25BbGlhc0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLmFsbFN0dWRpZXMoKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVNvdXJjZShlKSkpLGloLmRhdGVGb3JtYXRQcm9wZXJ0eS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSxUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSwoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25JbmRpY2F0b3JzVmlzaWJpbGl0eUNoYW5nZWQpLCgwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25EcmF3aW5nc1Zpc2liaWxpdHlDaGFuZ2VkKSx0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lci5kZXN0cm95KCksdGhpcy5faG92ZXJlZFNvdXJjZUNoYW5nZWQuZGVzdHJveSgpLG51bGwhPT10aGlzLl93YXRlcm1hcmtTb3VyY2UmJih0aGlzLl93YXRlcm1hcmtTb3VyY2UuZGVzdHJveSgpLHRoaXMuX3dhdGVybWFya1NvdXJjZT1udWxsKSxBcnJheS5mcm9tKHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAua2V5cygpKS5mb3JFYWNoKHRoaXMuX3JlbW92ZUN1c3RvbVNvdXJjZSx0aGlzKSwoMCxsLmFzc2VydCkoMD09PXRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzLmxlbmd0aCksKDAsbC5hc3NlcnQpKDA9PT10aGlzLl9mZ0N1c3RvbVNvdXJjZXMubGVuZ3RoKSwoMCxsLmFzc2VydCkoMD09PXRoaXMuX2JnQ3VzdG9tU291cmNlcy5sZW5ndGgpLCgwLGwuYXNzZXJ0KSgwPT09dGhpcy5fYWxsQ3VzdG9tU291cmNlcy5sZW5ndGgpLCgwLApsLmFzc2VydCkoMD09PXRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuc2l6ZSksdGhpcy5fcGFuZXMuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSx0aGlzLl9wYW5lcy5sZW5ndGg9MCx0aGlzLl9zZXNzaW9ucz1udWxsLG51bGwhPT10aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyJiYodGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlci5kZXN0cm95KCksdGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlcj1udWxsKSxudWxsIT09dGhpcy5fYWxlcnRzV2F0Y2hlciYmdGhpcy5fYWxlcnRzV2F0Y2hlci5kZXN0cm95KCksdGhpcy5vbldpZGdldCgpfHxsaC53aXRoV2Vla2RheVByb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93TGVnZW5kLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmRUeXBlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3dhdGNoZWRUaGVtZVNwYXduLmRlc3Ryb3koKSx0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9bnVsbCwoMCxycy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksKDAsb3MuYXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5UHJvcGVydHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlciksdGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0NvdW50ZG93bi51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9hbGVydHNDb2xsZWN0aW9uLnZhbHVlKCk/LmRlc3Ryb3koKSx0aGlzLl9hbGVydHNDb2xsZWN0aW9uLnNldFZhbHVlKG51bGwpLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Nyb3NzSGFpclNlbGVjdFBvaW50TW9kZS5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllcy5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX21haW5TZXJpZXMub25UaW1lRnJhbWVBcHBsaWVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWFpblNlcmllcy5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJBdmFpbGFibGVQcmljZVNvdXJjZXMpLHRoaXMuX21haW5TZXJpZXMub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKSx0aGlzLl9tYWluU2VyaWVzLm9uU3R5bGVDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcy5fdGltZVNjYWxlLHRoaXMuX3RpbWVTY2FsZS5pbnZhbGlkYXRlVmlzaWJsZUJhcnMpLHRoaXMuX3RpbWVTY2FsZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX21haW5TZXJpZXMsdGhpcy5fbWFpblNlcmllcy5jbGVhckhpZ2hMb3dQcmljZUNhY2hlKSx0aGlzLl90aW1lU2NhbGUudmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLl9tYWluU2VyaWVzLHRoaXMuX21haW5TZXJpZXMuY2xlYXJBdmVyYWdlUHJpY2VDYWNoZSksdGhpcy5fdGltZVNjYWxlLmJhclNwYWNpbmdDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLm9uU2Nyb2xsKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLmRlc3Ryb3koKSx0aGlzLl90aW1lem9uZUV4Y2VwdEV4Y2hhbmdlLmRlc3Ryb3koKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyTG9hZGVyPy5kZXN0cm95KCksdGhpcy5fYXBwbGllZFRpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fY3Jvc3NIYWlyU291cmNlLmRlc3Ryb3koKSx0aGlzLl9jdXJyZW50VG9vbC5kZXN0cm95KCksdGhpcy5fc2lnbmF0dXJlU291cmNlcy5kZXN0cm95KCksdGhpcy5fc291cmNlc1NpZ25hdHVyZXMuZGVzdHJveSgpLHRoaXMuX29uRGVzdHJveWVkLmZpcmUoKSx0aGlzLl9vbkRlc3Ryb3llZC5kZXN0cm95KCksdGhpcy5fbGluZVRvb2xzR3JvdXBNb2RlbC5kZXN0cm95KCksdGhpcy5fZGVzdHJveWVkPSEwfW9uRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX29uRGVzdHJveWVkfXJlc3RhcnQoKXt0aGlzLl9jaGFydFNlc3Npb24uc3dpdGNoVGltZXpvbmUodGhpcy50aW1lem9uZSgpKSx0aGlzLl90aW1lU2NhbGUucmVzZXQoKSx0aGlzLl9tYWluU2VyaWVzLnJlc3RhcnQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5yZXN0YXJ0JiZlIT09dGhpcy5fbWFpblNlcmllcyYmZS5yZXN0YXJ0KCk7dGhpcy5fc2Vzc2lvbnM/LmdldCgpPy5yZXN0YXJ0KCl9dmVyc2lvbigpe3JldHVybiAzfWNvbGxhcHNlZCgpe3JldHVybiB0aGlzLl9oaWJlcm5hdGVXVn12aXNpYmxlUmFuZ2VTdHVkaWVzSW5wdXRzKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVSYW5nZVN0dWRpZXNJbnB1dHMucmVhZG9ubHkoKX1jaGFydFNhdmVUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U2F2ZVRpbWV9c2V0Q2hhcnRTYXZlVGltZShlKXt0aGlzLl9jaGFydFNhdmVUaW1lPWV9c3RhcnROb3RTdGFydGVkU3R1ZGllcygpewppZighdGhpcy5fbWFpblNlcmllcy5pc1N0YXJ0ZWQoKSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzdGFydCBzdHVkaWVzOiBtYWluIHNlcmllcyBpcyBub3Qgc3RhcnRlZCIpO2Zvcihjb25zdCBlIG9mIHRoaXMuZGF0YVNvdXJjZXMoKSkoMCx0aS5pc1N0dWR5KShlKSYmIWUuaXNTdGFydGVkKCkmJmUucmVzdGFydD8uKCl9dW5kb01vZGVsKCl7cmV0dXJuIHRoaXMuX3VuZG9Nb2RlbH1vbkRhdGEoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlInRpbWVzY2FsZV91cGRhdGUiOntjb25zdCB0PWUucGFyYW1zO3RoaXMuX3VwZGF0ZVRpbWVTY2FsZSh7aW5kZXg6dC5pbmRleCx6b2Zmc2V0OnQuem9mZnNldCx2YWx1ZXM6dC5jaGFuZ2VzLGluZGV4RGlmZnM6dC5pbmRleF9kaWZmLGJhc2VJbmRleDp0LmJhc2VJbmRleCxtYXJrczp0Lm1hcmtzLGNsZWFyRmxhZzp0LmNsZWFyLGNsZWFyVGlja01hcmtzOnQuY2xlYXJUaWNrTWFya3N9KTticmVha31jYXNlInRpbWVzY2FsZV9jb21wbGV0ZWQiOntjb25zdCB0PUJvb2xlYW4oZS5wYXJhbXNbMF0pO3RoaXMuX3RpbWVTY2FsZS5vblRpbWVTY2FsZUNvbXBsZXRlZCh0KTticmVha319fWFkZFN0cmF0ZWd5U291cmNlKGUsdCl7MSE9PXQmJi0xPT09dGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmluZGV4T2YoZSkmJih0aGlzLl9zdHJhdGVneVNvdXJjZXMucHVzaChlKSx0aGlzLl9zdHJhdGVneVNvdXJjZXNDaGFuZ2UuZmlyZSh0KSx0aGlzLnNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKGUpKX1yZW1vdmVTdHJhdGVneVNvdXJjZShlLHQpe2lmKDE9PT10KXJldHVybjtjb25zdCBpPXRoaXMuX3N0cmF0ZWd5U291cmNlcy5pbmRleE9mKGUpO2lmKC0xIT09aSl7aWYodGhpcy5fc3RyYXRlZ3lTb3VyY2VzLnNwbGljZShpLDEpWzBdPT09dGhpcy5fYWN0aXZlU3RyYXRlZ3lTb3VyY2UudmFsdWUoKSYmdGhpcy51bnNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKCksdGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmxlbmd0aD4wKXtjb25zdCBlPXRoaXMuX3N0cmF0ZWd5U291cmNlc1t0aGlzLl9zdHJhdGVneVNvdXJjZXMubGVuZ3RoLTFdO3RoaXMuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoZSl9dGhpcy5fc3RyYXRlZ3lTb3VyY2VzQ2hhbmdlLmZpcmUodCl9fXNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKGUpey0xIT09dGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmluZGV4T2YoZSkmJnRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlLnNldFZhbHVlKGUpfXVuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoKXt0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZS5zZXRWYWx1ZShudWxsKX1hY3RpdmVTdHJhdGVneVNvdXJjZSgpe3JldHVybiB0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZS5yZWFkb25seSgpfXN0cmF0ZWd5U291cmNlcygpe3JldHVybiB0aGlzLl9zdHJhdGVneVNvdXJjZXN9c3RyYXRlZ3lTb3VyY2VzQ2hhbmdlKCl7cmV0dXJuIHRoaXMuX3N0cmF0ZWd5U291cmNlc0NoYW5nZX1yZXBsYXlTdHVkeVN0cmF0ZWd5KCl7cmV0dXJuIHRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3l9c2V0UmVwbGF5U3R1ZHlTdHJhdGVneShlKXt0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5LnNldFZhbHVlKGUpfWFzeW5jIHJlcGxheVN0dWR5U3RyYXRlZ3lQcm9wZXJ0aWVzKCl7aWYobnVsbD09PXRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHMpe2NvbnN0IGU9YXdhaXQoMCxwaC5nZXRSZXBsYXlTdHJhdGVneU1ldGFJbmZvKSgpO2lmKG51bGwhPT10aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzKXJldHVybiB0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzO3RoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHM9bmV3IEdyLkRlZmF1bHRQcm9wZXJ0eSh7ZGVmYXVsdE5hbWU6InJlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHMiLGZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyOigpPT4oMCxhLmNsb25lKShlLmRlZmF1bHRzLmlucHV0cyl9KX1yZXR1cm4gdGhpcy5fcmVwbGF5U3R1ZHlTdHJhdGVneUlucHV0c31jbGVhclJlcGxheVN0dWR5U3RyYXRlZ3lQcm9wZXJ0aWVzKCl7dGhpcy5fcmVwbGF5U3R1ZHlTdHJhdGVneUlucHV0cz1udWxsfXNldFNjcm9sbEVuYWJsZWQoZSl7dGhpcy5fc2Nyb2xsRW5hYmxlZD1lfXNjcm9sbEVuYWJsZWQoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRW5hYmxlZH1zZXRab29tRW5hYmxlZChlKXt0aGlzLl96b29tRW5hYmxlZD1lfXpvb21FbmFibGVkKCl7cmV0dXJuIHRoaXMuX3pvb21FbmFibGVkfWRyYWdFeHBvcnRFbmFibGVkKCl7cmV0dXJuIHRoaXMuX2RyYWdFeHBvcnRFbmFibGVkfWFzeW5jIHNldERyYWdFeHBvcnRFbmFibGVkKGUpe2NvbnNvbGUuZXJyb3IoImZlYXR1cmUgaXMgbm90IGVuYWJsZWQiKX16b29tVG9WaWV3cG9ydChlLHQsaSxzLG4pe3RoaXMuc2V0VGltZVZpZXdwb3J0KGUsdCk7bGV0IHI9TWF0aC5taW4oaSxzKSxvPU1hdGgubWF4KGkscyk7Y29uc3QgYT1uLmRlZmF1bHRQcmljZVNjYWxlKCk7YS5pc1BlcmNlbnRhZ2UoKXx8YS5zZXRNb2RlKHthdXRvU2NhbGU6ITF9KSxhLmlzTG9nKCkmJihyPWEucHJpY2VUb0xvZ2ljYWwociksbz1hLnByaWNlVG9Mb2dpY2FsKG8pKSxhLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UocixvKSksdGhpcy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhuLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSl9c2V0VGltZVZpZXdwb3J0KGUsdCl7Y29uc3QgaT10aGlzLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpO251bGwhPT10aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UmJm51bGwhPT1pJiYoMCxWbi5hcmVFcXVhbFRpbWVGcmFtZXMpKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZS5yYW5nZSxpLnZhbCkmJiF0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsfHwodGhpcy50aW1lU2NhbGUoKS56b29tVG9CYXJzUmFuZ2UoZSx0KSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksCnRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbiksdGhpcy5saWdodFVwZGF0ZSgpKX1vblRhZ3NDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RhZ3NDaGFuZ2VkfWNhblpvb21Jbigpe3JldHVybiB0aGlzLl90aW1lU2NhbGUuY2FuWm9vbUluKCkmJnRoaXMuX3pvb21FbmFibGVkfWNhblpvb21PdXQoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlLmNhblpvb21PdXQoKSYmdGhpcy5fem9vbUVuYWJsZWR9b25QYW5lVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9cGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkfWRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWR9c3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWR9c3ltYm9sU291cmNlUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlUmVzb2x2ZWR9c3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZX1hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkoKXtyZXR1cm4gdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5fWFkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzRW5hYmxlZH1hbGxvd2VkQWRqdXN0bWVudCgpe3JldHVybiB0aGlzLl9hbGxvd2VkQWRqdXN0bWVudH1wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZX1zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VQcm9wZXJpdGVzQ2hhbmdlZH1zb3VyY2VaT3JkZXJDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3NvdXJjZVpPcmRlckNoYW5nZWR9em9vbVRpbWUoZSx0LGkpe2lmKCF0aGlzLl96b29tRW5hYmxlZClyZXR1cm47Y29uc3Qgcz10aGlzLnRpbWVTY2FsZSgpO2lmKHMuaXNFbXB0eSgpfHwwPT09dClyZXR1cm47Y29uc3Qgbj1zLndpZHRoKCk7ZT1NYXRoLm1heCgxLE1hdGgubWluKGUsbi0yKSkscy56b29tKGUsdCxpKSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5saWdodFVwZGF0ZSgpLHRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbil9bGluZUJlaW5nRWRpdGVkKCl7cmV0dXJuIHRoaXMuX2xpbmVCZWluZ0VkaXRlZD8ubGluZURhdGFTb3VyY2U/P251bGx9bGluZVBvaW50QmVpbmdFZGl0ZWQoKXtyZXR1cm4gdGhpcy5fbGluZUJlaW5nRWRpdGVkPy5wb2ludEluZGV4Pz9udWxsfWxpbmVQb2ludEJlaW5nQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9saW5lQmVpbmdFZGl0ZWQ/LnN0YXJ0Q2hhbmdpbmdQb2ludD8/bnVsbH1hY3RpdmVJdGVtQmVpbmdNb3ZlZCgpe3JldHVybiB0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZH1tYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXN9dXBkYXRlQWxsUGFuZVZpZXdzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKXQudXBkYXRlQWxsVmlld3MoZSk7dGhpcy5fd2F0ZXJtYXJrU291cmNlPy51cGRhdGVBbGxWaWV3cyhlKX1kYXRhU291cmNlcygpe2NvbnN0IGU9W3RoaXMuY3Jvc3NoYWlyU291cmNlKCldO2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKWZvcihjb25zdCBpIG9mIHQuZGF0YVNvdXJjZXMoKSllLnB1c2goaSk7cmV0dXJuIGV9cHJpY2VEYXRhU291cmNlcygpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IGkgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpZS5wdXNoKGkpO3JldHVybiBlfXN5bWJvbFNvdXJjZXMoKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKWZvcihjb25zdCBpIG9mIHQuc3ltYm9sU291cmNlcygpKWUucHVzaChpKTtyZXR1cm4gZX1vcmRlcmVkRGF0YVNvdXJjZXMoZSl7bGV0IHQ9W3RoaXMuX2Nyb3NzSGFpclNvdXJjZV07Zm9yKGxldCBpPTA7aTx0aGlzLl9wYW5lcy5sZW5ndGg7aSsrKXtsZXQgcz10aGlzLl9wYW5lc1tpXS5zb3VyY2VzQnlHcm91cCgpLmFsbCgpO2UmJihzPXMuc2xpY2UoKS5yZXZlcnNlKCkpLHQ9dC5jb25jYXQocyl9cmV0dXJuIHR9bGluZVRvb2xCeUxpbmtLZXkoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpe2NvbnN0IGk9dC5saW5lVG9vbEJ5TGlua0tleShlKTtpZihpKXJldHVybiBpfXJldHVybiBudWxsfXRpbWVTY2FsZSgpe3JldHVybiB0aGlzLl90aW1lU2NhbGV9c2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGlvbn1wcmV2aW91c1NlbGVjdGVkRHJhd2luZ09yR3JvdXBJZHMoKXtyZXR1cm4gdGhpcy5fcHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzfXNlbGVjdGlvbk1hY3JvKGUsdD0hMSl7Y29uc3QgaT10aGlzLnNlbGVjdGlvbigpLmFsbEl0ZW1zKCk7ZSh7cmVtb3ZlSXRlbUZyb21TZWxlY3Rpb246dGhpcy5fcmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24sYWRkSXRlbVRvU2VsZWN0aW9uOnRoaXMuX2FkZEl0ZW1Ub1NlbGVjdGlvbixjbGVhclNlbGVjdGlvbjp0aGlzLl9jbGVhclNlbGVjdGlvbixzZWxlY3Rpb25PcGVyYXRpb25BdmFpbGFibGU6dGhpcy5fc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlLmJpbmQodGhpcyksc2VsZWN0aW9uOnRoaXMuc2VsZWN0aW9uLmJpbmQodGhpcyl9KTtjb25zdCBzPXRoaXMuc2VsZWN0aW9uKCkuYWxsSXRlbXMoKSxuPSgwLGcuc3VidHJhY3QpKGkscykscj0oMCxnLnN1YnRyYWN0KShzLGkpO3IuY29uY2F0KGkpLmZvckVhY2goKGU9PnsoMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKXx8ZS51cGRhdGVBbGxWaWV3cygoMCx0bi5zZWxlY3Rpb25DaGFuZ2VFdmVudCkoKSl9KSkKO2NvbnN0IG89W10sYT1bXTtpZighdClmb3IoY29uc3QgZSBvZiBuKSgwLHJpLmlzTGluZVRvb2wpKGUpJiYoKDAscmkuaXNFZGl0YWJsZVRleHRMaW5lVG9vbCkoZSkmJmUuZGVhY3RpdmF0ZVRleHRFZGl0aW5nKCksZS5zaG91bGRCZVJlbW92ZWRPbkRlc2VsZWN0KCkmJm51bGwhPT10aGlzLmRhdGFTb3VyY2VGb3JJZChlLmlkKCkpJiZvLnB1c2goZSkpLCgwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpJiZlLnNob3VsZEJlUmVtb3ZlZE9uRGVzZWxlY3QoKSYmbnVsbCE9PXRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwuZ3JvdXBGb3JJZChlLmlkKSYmYS5wdXNoKGUpO2lmKDE9PT1yLmxlbmd0aCl7Y29uc3RbZV09cjsoMCxyaS5pc0xpbmVUb29sKShlKSYmZS5oYXNBbGVydCgpLnZhbHVlKCkmJjA9PT1lLmFsZXJ0U3RhdHVzKCkudmFsdWUoKSYmZS5zeW5jaHJvbml6ZUFsZXJ0KCkuY2F0Y2goKCgpPT57fSkpfW8ubGVuZ3RoPjAmJnRoaXMuX3VuZG9Nb2RlbC5yZW1vdmVTb3VyY2VzKG8sITEsdnUpLGEubGVuZ3RoPjAmJmEuZm9yRWFjaCgoZT0+e3RoaXMuX3VuZG9Nb2RlbC5saW5lVG9vbHNHcm91cENvbnRyb2xsZXIoKS5yZW1vdmVHcm91cChlKX0pKSx0aGlzLmxpZ2h0VXBkYXRlKCksKG4ubGVuZ3RoPjB8fHIubGVuZ3RoPjApJiZ0aGlzLl9zZWxlY3RlZFNvdXJjZUNoYW5nZWQuZmlyZSgpLHRoaXMuX21heWJlVXBkYXRlUHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwKCl9b25TZWxlY3RlZFNvdXJjZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWRTb3VyY2VDaGFuZ2VkfWNoZWNrTGluZVRvb2xBbmRHcm91cFNlbGVjdGlvbigpe2NvbnN0IGU9dGhpcy5zZWxlY3Rpb24oKS5hbGxJdGVtcygpO3RoaXMuX3NlbGVjdGlvbi5jaGVja0xpbmVUb29sQW5kR3JvdXBTZWxlY3Rpb24oKSxlLmxlbmd0aCE9PXRoaXMuc2VsZWN0aW9uKCkuYWxsSXRlbXMoKS5sZW5ndGgmJnRoaXMuX3NlbGVjdGVkU291cmNlQ2hhbmdlZC5maXJlKCl9bGluZVRvb2xzR3JvdXBNb2RlbCgpe3JldHVybiB0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsfXJlc3RvcmVMaW5lVG9vbHNHcm91cHMoZSl7dGhpcy5fdW5zdWJzY3JpYmVGcm9tTGluZVRvb2xzR3JvdXBNb2RlbCgpLHRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwuZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWw9c2guZnJvbVN0YXRlKHRoaXMsZSksdGhpcy5fc3Vic2NyaWJlVG9MaW5lVG9vbHNHcm91cE1vZGVsKCl9cmVhbGlnbkxpbmVUb29scyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9wYW5lcykodm9pZCAwPT09ZXx8dC5oYXNEYXRhU291cmNlKGUpKSYmdC5yZWFsaWduTGluZVRvb2xzKGUpJiZ0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSh0KX1jb3B5VG9PdGhlckNoYXJ0cyhlLHQpe2NvbnN0IGk9dGhpcy5tYWluU2VyaWVzKCkscz1pLnN5bmNNb2RlbCgpLG49dGhpcy50aW1lU2NhbGUoKTtpZihzKWZvcihjb25zdCByIG9mIGUpe2lmKCFyLmlzU3luY2hyb25pemFibGUoKSljb250aW51ZTtjb25zdCBlPXIubGlua0tleSgpLnZhbHVlKCl8fCgwLGx0LnJhbmRvbUhhc2gpKCk7ci5saW5rS2V5KCkuc2V0VmFsdWUoZSk7Y29uc3Qgbz1yLnN0YXRlKCExKSxhPXIubm9ybWFsaXplZFBvaW50cygpLGM9ci5ub3JtYWxpemVkUG9pbnRzRm9yQ3JlYXRpbmcoKSxoPXIucHJvcGVydGllcygpLmludGVydmFsLnZhbHVlKCksZD1pLmludGVydmFsKCksdT1lPT57aWYoeC5JbnRlcnZhbC5pc0VxdWFsKGgsZCkpcmV0dXJuIGUubWFwKChlPT57Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKG4udGltZVBvaW50VG9JbmRleChlLnRpbWVfdCkpK2Uub2Zmc2V0O3JldHVybntwcmljZTplLnByaWNlLHRpbWVTdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuZXh0ZXJuYWxUaW1lU3RhbXAodCkpfX0pKTt7Y29uc3QgdD1zLmNyZWF0ZU5ld01vZGVsV2l0aFJlc29sdXRpb24oaCk7cmV0dXJuIGUubWFwKChlPT4oe3ByaWNlOmUucHJpY2UsdGltZVN0YW1wOjA9PT1lLm9mZnNldD9lLnRpbWVfdDp0LnByb2plY3RUaW1lKGUudGltZV90LGUub2Zmc2V0KX0pKSl9fSxwPXUoYSksXz11KGMpLG09ey4uLm8saWQ6ci5pZCgpLGxpbmtLZXk6ZSxwb2ludHM6cCxwb2ludHNGb3JDcmVhdGluZzpfLGxpbmV0b29sOnIudG9vbG5hbWUsbW9kZWw6dGhpcyxzeW1ib2w6aS5zeW1ib2woKSx3aXRoVW5kbzp0LHpPcmRlcjpyLnpvcmRlcigpLGZpbmFsU3RhdGU6e3BvaW50czphLGludGVydmFsOmh9LHBvaW50UG9zaXRpb25QZXJjZW50czpyLmlzRml4ZWQoKT9yLmNhbGNQb3NpdGlvblBlcmNlbnRzKCk6dm9pZCAwLHNoYXJpbmdNb2RlOnIuc2hhcmluZ01vZGUoKS52YWx1ZSgpfTsoMCxULmNvcHlMaW5lVG9vbCkobSl9fWlzU25hcHNob3QoKXtyZXR1cm4gdGhpcy5faXNTbmFwc2hvdH1vbldpZGdldCgpe3JldHVybiB0aGlzLl9vcHRpb25zLm9uV2lkZ2V0fWhpZGVJZGVhcygpe3JldHVybiB0aGlzLl9vcHRpb25zLmhpZGVJZGVhc311cGRhdGVTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9pbnZhbGlkYXRpb25NYXNrRm9yU291cmNlKGUpO251bGwhPT10JiZ0aGlzLmludmFsaWRhdGUodCl9dXBkYXRlU291cmNlUHJpY2VTY2FsZShlKXtjb25zdCB0PXRoaXMuX2ludmFsaWRhdGlvbk1hc2tGb3JTb3VyY2VQcmljZVNjYWxlKGUpO251bGwhPT10JiZ0aGlzLmludmFsaWRhdGUodCl9dXBkYXRlUGFuZShlKXt0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSkpfXVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleChlKXtjb25zdCB0PXRoaXMubWFpblNlcmllcygpLmJhcnMoKSxpPSh0LmZpcnN0SW5kZXgoKT8/MS8wKTwoZT8uaW5kZXg/Py0xLzApLHM9dGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpO2lmKHQuaXNFbXB0eSgpfHx0aGlzLl91cGRhdGVCYXNlSW5kZXgoKDAsbC5lbnN1cmVOb3ROdWxsKSh0Lmxhc3RJbmRleCgpKSwhIShlJiZlLmluZGV4PjApKSxpJiYhdGhpcy5fdGltZVNjYWxlLmlzQmVpbmdTY3JvbGxlZCgpJiYhdGhpcy5fdGltZVNjYWxlLmlzQmVpbmdTY2FsZWQoKSl7CmNvbnN0IGU9dGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpLXMsdD10aGlzLl90aW1lU2NhbGUucmlnaHRPZmZzZXQoKTt0LXRoaXMuc3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldCgpPmUmJnRoaXMuX3RpbWVTY2FsZS5zZXRSaWdodE9mZnNldCh0LWUpfX1zZXRJbnRlcnZhbChlLHQpe2NvbnN0IGk9c2V0SW50ZXJ2YWwoZSx0KTtyZXR1cm4gdGhpcy5fbW9kZWxJbnRlcnZhbHMucHVzaChpKSxpfWNsZWFySW50ZXJ2YWwoZSl7Y2xlYXJJbnRlcnZhbChlKTtjb25zdCB0PXRoaXMuX21vZGVsSW50ZXJ2YWxzLmluZGV4T2YoZSk7dD4tMSYmdGhpcy5fbW9kZWxJbnRlcnZhbHMuc3BsaWNlKHQsMSl9Y2xlYXJJbnRlcnZhbHMoKXtmb3IobGV0IGU9MDtlPHRoaXMuX21vZGVsSW50ZXJ2YWxzLmxlbmd0aDtlKyspY2xlYXJJbnRlcnZhbCh0aGlzLl9tb2RlbEludGVydmFsc1tlXSk7dGhpcy5fbW9kZWxJbnRlcnZhbHM9W119Y3JlYXRlU3R1ZHlJbnNlcnRlcihlKXtyZXR1cm4gbmV3IGd1KGUse2NyZWF0ZVN0dWR5OmU9PnRoaXMuaW5zZXJ0U3R1ZHlXaXRoUGFyYW1zKGUpLHN0b3JlRmFpbGVkU3R1YjplPT57fX0pfWluc2VydFN0dWR5V2l0aFBhcmFtcyhlKXtjb25zdHtzdHVkeU1ldGFJbmZvOnQsaW5wdXRzOnMsdGFyZ2V0Wk9yZGVyOm4scHJvcHNTdGF0ZTpyLGZvcmNlT3ZlcmxheTpvLHBhcmVudFNvdXJjZXM6YyxwcmVmZXJyZWRQcmljZVNjYWxlOmgsYWxsb3dDaGFuZ2VDdXJyZW5jeTpkLGFsbG93Q2hhbmdlVW5pdDp1LGFsbG93Q2hhbmdlTWV0cmljOnAscGFuZVNpemU6Xyx0YXJnZXRTY2FsZU1vZGU6bSxpZDpnfT1lO2xldCBmPW51bGw7aWYoIW8mJnZvaWQgMCE9PXQuZ3JvdXBpbmdLZXkpe2NvbnN0IGU9dGhpcy5maW5kTm9uT3ZlcmxheVN0dWR5V2l0aEdyb3VwaW5nS2V5KHQuZ3JvdXBpbmdLZXkpO251bGwhPT1lJiYoZj1lLnBhbmUpfW51bGw9PT1mJiYob3x8dC5pc19wcmljZV9zdHVkeT9mPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGM/LlswXT8/dGhpcy5fbWFpblNlcmllcykpOihmPXRoaXMuY3JlYXRlUGFuZSgpLHZvaWQgMCE9PV8mJmYuc2V0UGFuZVNpemUoXykpKSwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09dC5pZCYmdGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkuc2V0TW9kZSh7bG9nOiExLHBlcmNlbnRhZ2U6ITB9KTtjb25zdCBTPSgwLGEubWVyZ2UpKCgwLFdvLmRlZmF1bHQpKHI/P3t9KSx7aW5wdXRzOnMscGFyZW50U291cmNlczpbXX0pO2xldCB2PSExLHk9bnVsbCxiPW51bGw7Y29uc3Qgdz1jPz9bXSxDPVByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksNDM3NzQ5KSkudGhlbigoKHtwcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzOmV9KT0+ZSh0LFMsZiwoMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSx3KSkpLnRoZW4oKGU9Pntjb25zdCBpPW5ldyBvdC5TdHVkeU1ldGFJbmZvKHQuc3RhdGUoKSx0LnVzZVZlcnNpb25Gcm9tTWV0YUluZm8pO3JldHVybiBsYSh0aGlzLGUsdyxpLG5ldyBvdC5TdHVkeU1ldGFJbmZvKHQuc3RhdGUoKSx0LnVzZVZlcnNpb25Gcm9tTWV0YUluZm8pLGcsdm9pZCAwKX0pKSxQPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtyZXR1cm4gQy50aGVuKChlPT57aWYodilyZXR1cm4gZS5zdG9wKCksdm9pZCBlLmRlc3Ryb3k/LigpO3k9ZS5pZCgpO2NvbnN0IHQ9Zi5maW5kU3VpdGFibGVTY2FsZShlLGM/LlswXT8/dGhpcy5tYWluU2VyaWVzKCksaCk7aWYoYj10Lm1vZGUoKSx0PT09dGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYoMCxJby5pc1N5bWJvbFNvdXJjZSkoZSkpe2NvbnN0IGk9ZD96bihlLHQsdGhpcywhMCk6bnVsbCxzPXU/KDAsZHUuc291cmNlTmV3VW5pdE9uUGlubmluZ1RvUHJpY2VTY2FsZSkoZSx0LHRoaXMsITApOm51bGwsbj1wP0VoKGUsdCx0aGlzKTpudWxsO251bGw9PT1pJiZudWxsPT09cyYmbnVsbD09PW58fGUuc2V0U3ltYm9sUGFyYW1zKHtjdXJyZW5jeTppPz92b2lkIDAsdW5pdDpzPz92b2lkIDAsbWV0cmljOm4/P3ZvaWQgMH0pfWlmKCgwLElvLmlzU3ltYm9sU291cmNlKShlKSYmKDAsbC5lbnN1cmVOb3ROdWxsKShmKS5oYXNEYXRhU291cmNlKHRoaXMubWFpblNlcmllcygpKSYmeXUmJiFRLmdldEJvb2woImVuYWJsZV9zeW1ib2xfbGFiZWxzX29uX2luc2VydGluZ19jb21wYXJlX29uY2UiLCExKSYmKCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTeW1ib2xMYWJlbHMuc2V0VmFsdWUoITApLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSxRLnNldFZhbHVlKCJlbmFibGVfc3ltYm9sX2xhYmVsc19vbl9pbnNlcnRpbmdfY29tcGFyZV9vbmNlIiwhMCkpLFAucmVzb2x2ZShlLnN0YXJ0KCkpLG4mJmYuaWQoKT09PW4ucGFuZUlkKWYuaW5zZXJ0RGF0YVNvdXJjZShlLHQsbi56b3JkZXIpO2Vsc2V7Zi5hZGREYXRhU291cmNlKGUsdCwhMSk7bnVsbCE9PWUucHJlZmVycmVkWk9yZGVyKCkmJmYuaW5zZXJ0QWZ0ZXIoW2VdLHRoaXMubWFpblNlcmllcygpKX12b2lkIDAhPT1tJiZ0LnNldE1vZGUobSksZS5pc0xpbmtlZFRvU2VyaWVzKCkmJmUuc2V0T3duZXJTb3VyY2UodGhpcy5tYWluU2VyaWVzKCkpLHRoaXMucmVjYWxjdWxhdGVQYW5lKGYsKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5fcmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0ltcGwoe3N0dWRpZXM6W2VdLHJlYXNvbnM6bmV3IFNldChbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TdHVkeUNyZWF0aW9uXSl9KSx0aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNJbXBsKHsKc3R1ZGllczpbZV0sZm9yY2U6ITB9KSx0aGlzLl9zdHVkeUluc2VydGVkLmZpcmUoZSksdGhpcy5hbGVydHNXYXRjaGVyKCk/LnN5bmNTb3VyY2VBbGVydExhYmVscyhlKSxlLm1heE9mZnNldCgpLnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQse2NhbGxXaXRoTGFzdDohMH0pfSkpLHtzdHVkeTpDLHN0YXJ0UHJvbWlzZTpQLnByb21pc2UsY2FuY2VsOigpPT52PSEwLGVudGl0eUlkOigpPT55LG9yaWdpbmFsU2NhbGVNb2RlOigpPT5ifX1yZXBsYWNlU3R1ZHlTdHViKGUsdCl7Y29uc3QgaT10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYobnVsbD09PWkpcmV0dXJuITE7Y29uc3Qgcz1lLnByaWNlU2NhbGUoKSxuPWUuem9yZGVyKCkscj1lLm93bmVyU291cmNlKCk7cmV0dXJuIHRoaXMucGFuZUZvclNvdXJjZShlKT09PWk/aS5yZXBsYWNlU291cmNlKGUsdCxzKTooaS5pbnNlcnREYXRhU291cmNlKHQscyxuKSx0aGlzLnJlbW92ZVNvdXJjZShlKSksdC5zZXRPd25lclNvdXJjZShyKSx0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoaT0+e2kub3duZXJTb3VyY2UoKT09PWUmJihpLnNldE93bmVyU291cmNlKHQpLCgwLHJpLmlzTGluZVRvb2wpKGkpJiZpLnN1cHBvcnRzVGFyZ2V0U2lnbmF0dXJlKCkmJiFpLnRhcmdldFNpZ25hdHVyZSgpLnZhbHVlKCkmJmkuc2V0VGFyZ2V0U2lnbmF0dXJlKHQuc2lnbmF0dXJlKCkudmFsdWUoKSkpfSkpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdC5zdGFydCgpLHRoaXMucmVjYWxjdWxhdGVQYW5lKGksKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHQuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLCEwfWluc2VydFN0dWR5U3R1YihlLHQsaSxzKXtjb25zdCBuPXZvaWQgMCE9PXQscj1uZXcgU2EuU3R1ZHlTdHViKHRoaXMsaT8/bnVsbCxlLHQscz8/bnVsbCk7bGV0IG87aWYodHx8IW4pe289KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1haW5QYW5lKCkpO2NvbnN0IGU9ITA9PT10P3RoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTpvLmNyZWF0ZVByaWNlU2NhbGVBdFBvc2l0aW9uKCJvdmVybGF5Iik7by5hZGREYXRhU291cmNlKHIsZSwhMSl9ZWxzZSBvPXRoaXMuY3JlYXRlUGFuZSgpLG8uYWRkRGF0YVNvdXJjZShyLG51bGwsITEpO3JldHVybiByLnNldFpvcmRlcihvLm5ld1N0dWR5Wk9yZGVyKCkpLHRoaXMucmVjYWxjdWxhdGVQYW5lKG8sKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHIuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLHJ9cmVtb3ZlU3R1ZHlTdHViKGUpe2NvbnN0IHQ9dGhpcy5kYXRhU291cmNlRm9ySWQoZSk7cmV0dXJuIG51bGw9PT10Pyh3dS5sb2dOb3JtYWwoIlN0dWR5U3R1YiBpZD0iK2UrIiBpcyBub3QgZm91bmQgaW4gY2hhcnQgbW9kZWwiKSwhMSk6KHRoaXMucmVtb3ZlU291cmNlKHQpLCEwKX1yZXN0b3JlU3R1ZHlTdHViKGUpe2NvbnN0IHQ9dGhpcy5pbnNlcnRTdHVkeVN0dWIoZS50aXRsZSxlLmlzT3ZlcmxheSxlLmRlc2NyaXB0b3IpO3JldHVybiB0aGlzLnBhbmVGb3JTb3VyY2UodCk/LmNoYW5nZVNvdXJjZUlkKHQsZS5pZCksdC5zZXRTdGF0dXMoZS5zdGF0dXMpLHR9YnVsa0FjdGlvbk1hY3JvKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZXM7dC5mb3JFYWNoKChlPT5lLmJlZ2luQnVsa0FjdGlvbigpKSksZSgpLHQuZm9yRWFjaCgoZT0+ZS5lbmRCdWxrQWN0aW9uKCkpKX1hbGxMaW5lVG9vbHMoKXtyZXR1cm4gdGhpcy5fZ2V0QWxsU291cmNlcyhyaS5pc0xpbmVUb29sKX1hbGxMaW5lVG9vbHNJbmNsdWRpbmdIaWRkZW4oKXtyZXR1cm4gdGhpcy5fZ2V0QWxsU291cmNlcyhyaS5pc0xpbmVUb29sLER1KX1zZXRIb3ZlcmVkU291cmNlKGUsdD1udWxsLGkpe2NvbnN0IHM9dGhpcy5faG92ZXJlZFNvdXJjZSE9PWU7dGhpcy5faG92ZXJlZFNvdXJjZU9yaWdpbj1pPz9udWxsLCFzJiYoMCxNaS5oaXRUZXN0UmVzdWx0RGF0YUFyZUVxdWFsKSh0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhLHQpfHwodGhpcy5fbGFzdEhvdmVyZWRIaXR0ZXN0RGF0YT10LHRoaXMuX2hvdmVyZWRTb3VyY2UmJih0aGlzLl9ob3ZlcmVkU291cmNlLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLmhvdmVyQ2hhbmdlRXZlbnQpKCkpLHRoaXMudXBkYXRlU291cmNlKHRoaXMuX2hvdmVyZWRTb3VyY2UpKSx0aGlzLl9ob3ZlcmVkU291cmNlPWUsdGhpcy5faG92ZXJlZFNvdXJjZSYmKHRoaXMuX2hvdmVyZWRTb3VyY2UudXBkYXRlQWxsVmlld3MoKDAsdG4uaG92ZXJDaGFuZ2VFdmVudCkoKSksdGhpcy51cGRhdGVTb3VyY2UodGhpcy5faG92ZXJlZFNvdXJjZSkpLHMmJnRoaXMuX2hvdmVyZWRTb3VyY2VDaGFuZ2VkLmZpcmUoZSkpfXNldEhpZ2hsaWdodGVkUGxvdChlLHQpeygwLGEuZGVlcEVxdWFscykoZSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm8/LnN0dWR5SWRzKSYmdGhpcy5faGlnaGxpZ2h0ZWRTb3VyY2VJbmZvPy5wbG90SWQ9PT10fHwodGhpcy5fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm89e3N0dWR5SWRzOmUscGxvdElkOnR9LHRoaXMuX3VwZGF0ZUhpZ2hsaWdodGVkU291cmNlKCkpfWNsZWFySGlnaGxpZ2h0ZWRQbG90KCl7dGhpcy5fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm89bnVsbH1oaWdobGlnaHRlZFBsb3RJbmZvKCl7cmV0dXJuIHRoaXMuX2hpZ2hsaWdodGVkU291cmNlSW5mb31wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Y2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRTZXNzaW9ufWRpc2Nvbm5lY3QoKXt0aGlzLl9zZXNzaW9ucz8uZ2V0KCk/LnN0b3AoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5kaXNjb25uZWN0JiZlLmRpc2Nvbm5lY3QoKTt0aGlzLl90aW1lU2NhbGUuZGlzY29ubmVjdCgpfWNyb3NzaGFpclNvdXJjZSgpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2V9Z3JpZFNvdXJjZSgpe3JldHVybiB0aGlzLl9ncmlkU291cmNlfXB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lU291cmNlKCl7CmZvcihjb25zdCBlIG9mIHRoaXMuX2JhcnNNYXJrc1NvdXJjZXMpaWYoZSBpbnN0YW5jZW9mIF9lLlB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lKXJldHVybiBlO3JldHVybiBudWxsfWhvdmVyZWRTb3VyY2UoKXtyZXR1cm4gdGhpcy5faG92ZXJlZFNvdXJjZX1ob3ZlcmVkU291cmNlT3JpZ2luKCl7cmV0dXJuIHRoaXMuX2hvdmVyZWRTb3VyY2VPcmlnaW59aG92ZXJlZFNvdXJjZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5faG92ZXJlZFNvdXJjZUNoYW5nZWR9bGFzdEhpdHRlc3REYXRhKCl7cmV0dXJuIHRoaXMuX2xhc3RIb3ZlcmVkSGl0dGVzdERhdGF9bGFzdFNlbGVjdGVkSGl0dGVzdERhdGEoKXtyZXR1cm4gdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGF9bGlnaHRVcGRhdGUoKXt0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5saWdodCgpKX1mdWxsVXBkYXRlKCl7dGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2suZnVsbCgpKX1kcmF3VGltZSgpe3JldHVybiB0aGlzLl9kcmF3VGltZX1hc3luYyBzeW5jVGltZVdpdGhNb2RlbChlLHQsaSl7Y29uc3Qgcz10aGlzLm1haW5TZXJpZXMoKS5zeW5jTW9kZWwoKTtpZihudWxsPT09cylyZXR1cm47Y29uc3Qgbj0xZTMqdGhpcy5jcmVhdGVTeW5jUG9pbnQoZSxzLnN5bmNTb3VyY2VUYXJnZXQoKSkuc291cmNlVGltZVRvVGFyZ2V0VGltZSh0LzFlMykscj0oMCxvLmdldF90aW1lem9uZSkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnRpbWV6b25lRXhjZXB0RXhjaGFuZ2UoKS52YWx1ZSgpKSk7bGV0IGE9KDAsby51dGNfdG9fY2FsKShyLG4pO3JldHVybiB0aGlzLm1haW5TZXJpZXMoKS5pc0RXTSgpJiYoYT1zLmdldFNlc3Npb24oKS5zcGVjLmNvcnJlY3RUcmFkaW5nRGF5KGEpLCgwLG8uc2V0X2htcykoYSwwLDAsMCwwLCgwLG8uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpKSksdGhpcy5fZ290b1RpbWVJbXBsKGEuZ2V0VGltZSgpLHt0YXJnZXRQb2ludEFsaWdubWVudDoiY2VudGVyIixhbGlnbklmVGFyZ2V0UG9pbnRJc1Zpc2libGU6ITEsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6ITEsLi4uaX0pLmNhdGNoKCgoKT0+e30pKX1nb3RvVGltZShlLHQpe3JldHVybiB0aGlzLl9nb3RvVGltZUltcGwoZSx7dGFyZ2V0UG9pbnRBbGlnbm1lbnQ6ImNlbnRlciIsYWxpZ25JZlRhcmdldFBvaW50SXNWaXNpYmxlOiEwLGF1dG9zY2FsZUFmdGVyU2Nyb2xsOiEwLC4uLnR9KS5jYXRjaCgoKCk9Pnt9KSl9cmVjYWxjdWxhdGVQYW5lKGUsdCl7ZT8ucmVjYWxjdWxhdGUodCl9cmVjYWxjdWxhdGVBbGxQYW5lcyhlKXt0aGlzLl9wYW5lcy5mb3JFYWNoKCh0PT50LnJlY2FsY3VsYXRlKGUpKSksdGhpcy51cGRhdGVBbGxQYW5lVmlld3MoZSksdGhpcy5jcm9zc2hhaXJTb3VyY2UoKS51cGRhdGVBbGxWaWV3cyhlKX1hc3luYyBnb3RvVGltZVJhbmdlKGUsdCxpKXtjb25zdCBzPXRoaXMudGltZVNjYWxlKCksbj1zLnRpY2tNYXJrcygpLHI9dGhpcy5tYWluU2VyaWVzKCk7aWYoaXx8dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U/LmRlZmVycmVkLnJlamVjdCgpLHZvaWQgMD09PW4ubWluSW5kZXgpcmV0dXJuIHZvaWQoaXx8KHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlPXtmcm9tOmUsdG86dCxkZWZlcnJlZDooMCxBdC5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCl9KSk7bGV0IGE9ZSxjPXQ7aWYobnVsbCE9PXIuc3ltYm9sSW5mbygpKXtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCkudmFsdWUoKSkscz0oMCxvLmdldF90aW1lem9uZSkoaSksbj0oMCxvLnV0Y190b19jYWwpKHMsZSksaD0oMCxvLnV0Y190b19jYWwpKHMsdCk7aWYoci5pc0RXTSgpKXtjb25zdCBlPSgwLG8uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpOygwLG8uc2V0X2htcykobiwwLDAsMCwwLGUpLCgwLG8uc2V0X2htcykoaCwwLDAsMCwwLGUpfWE9bi5nZXRUaW1lKCksYz1oLmdldFRpbWUoKX1jb25zdCBoPSgwLGwuZW5zdXJlRGVmaW5lZCkobi5tYXhJbmRleCksZD0oMCxsLmVuc3VyZURlZmluZWQpKG4ubWluSW5kZXgpO2lmKCEoYT49KDAsbC5lbnN1cmVOb3ROdWxsKShuLmluZGV4VG9UaW1lKGQpKS52YWx1ZU9mKCl8fHIuZW5kT2ZEYXRhKCl8fGkpKXtjb25zdCBzPXt0eXBlOiJ0aW1lLXJhbmdlIixmcm9tOmUvMWUzLHRvOnQvMWUzfTtyZXR1cm4gbnVsbD09PXRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZSYmKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZT17cmFuZ2U6cyxhY3R1YWw6ITB9LHIubG9hZERhdGFUbyhzKSksaXx8KGk9dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U9e2Zyb206ZSx0bzp0LGRlZmVycmVkOigwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKX0pLGkuZGVmZXJyZWQucHJvbWlzZX17Y29uc3QgZT0oZSx0KT0+ZTx0LHQ9ZT0+KDAsbC5lbnN1cmVOb3ROdWxsKShuLmluZGV4VG9UaW1lKGUpKS52YWx1ZU9mKCksbz0oMCxnLmxvd2VyYm91bmRFeHQpKHQsYSxlLG4ubmVhcmVzdEluZGV4KGEpLGgpO2xldCB1PWE9PT1jP286KDAsZy5sb3dlcmJvdW5kRXh0KSh0LGMsZSxuLm5lYXJlc3RJbmRleChjKSxoKTt0aGlzLl9sYXN0R290b1RpbWVSYW5nZT1udWxsLG51bGwhPT10aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UmJih0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsPSExKTtjb25zdCBwPXMuYmFzZUluZGV4KCk7aWYobytNYXRoLm1heCh1LW8rMSxzLm1pblZpc2libGVCYXJDb3VudCgpKT5wKXtjb25zdCBlPXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCk7dS1wPGUmJih1PXArZSl9Y29uc3QgXz1vPT09dSYmbz09PWQmJnIuZW5kT2ZEYXRhKCk/by0xOm87cy56b29tVG9CYXJzUmFuZ2UoXyx1KSx0aGlzLnVwZGF0ZUFsbFBhbmVWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCksaT8uZGVmZXJyZWQucmVzb2x2ZSgpfX1wYW5lRm9yU291cmNlKGUpe2lmKGU9PT10aGlzLl9tYWluU2VyaWVzLmFjdGl2ZVN0dWR5QmluZGluZygpKXJldHVybiB0aGlzLm1haW5QYW5lKCk7aWYoISgwLApBaS5pc0RhdGFTb3VyY2UpKGUpKXJldHVybiBBcnJheS5mcm9tKHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAudmFsdWVzKCkpLmluY2x1ZGVzKGUpP3RoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSk6bnVsbDtmb3IobGV0IHQ9dGhpcy5fcGFuZXMubGVuZ3RoLTE7dD49MDt0LS0paWYodGhpcy5fcGFuZXNbdF0uaGFzRGF0YVNvdXJjZShlKSlyZXR1cm4gdGhpcy5fcGFuZXNbdF07cmV0dXJuIGUgaW5zdGFuY2VvZiBNaC5CYXJzTWFya3NDb250YWluZXI/dGhpcy5wYW5lRm9yU291cmNlKHRoaXMubWFpblNlcmllcygpKTpudWxsfXBhbmVGb3JMaW5lVG9vbHNHcm91cChlKXtyZXR1cm4gdGhpcy5wYW5lRm9yU291cmNlKGUubGluZVRvb2xzKClbMF0pfW1haW5QYW5lKCl7cmV0dXJuIHRoaXMuX3BhbmVzLmZpbmQoKGU9PmUuaXNNYWluUGFuZSgpLnZhbHVlKCkpKT8/bnVsbH1sYXN0UGFuZSgpe3JldHVybiB0aGlzLl9wYW5lc1t0aGlzLl9wYW5lcy5sZW5ndGgtMV19cmVtb3ZlU291cmNlKGUsdCl7dGhpcy5zZWxlY3Rpb25NYWNybygodD0+dC5yZW1vdmVJdGVtRnJvbVNlbGVjdGlvbihlKSksITApLHRoaXMuX2hvdmVyZWRTb3VyY2U9PT1lJiYodGhpcy5faG92ZXJlZFNvdXJjZT1udWxsLHRoaXMuX2xhc3RIb3ZlcmVkSGl0dGVzdERhdGE9bnVsbCksdGhpcy5fc291cmNlc0JlaW5nTW92ZWQuaW5jbHVkZXMoZSkmJih0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5maWx0ZXIoKHQ9PnQhPT1lKSksdGhpcy5fc291cmNlc0JlaW5nTW92ZWQubGVuZ3RofHwodGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQ9bnVsbCkpLGU9PT10aGlzLl9saW5lQmVpbmdFZGl0ZWQ/LmxpbmVEYXRhU291cmNlJiYodGhpcy5fbGluZUJlaW5nRWRpdGVkPW51bGwsVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCExKSksZT09PXRoaXMubGluZUJlaW5nQ3JlYXRlZCgpJiYodGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQuc2hpZnQoKSwwPT09dGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQubGVuZ3RoJiZULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCExKSksIXQmJmUuc3RvcCYmZS5zdG9wKCk7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmFsZXJ0c1dhdGNoZXIoKSkucmVtb3ZlU291cmNlQWxlcnRMYWJlbHMoZSk7Y29uc3QgaT10aGlzLmRldGFjaFNvdXJjZShlKSxzPXRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtyZXR1cm4oMCx0aS5pc1N0dWR5KShlKSYmKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpJiZlLnByaWNlU2NhbGUoKT09PXMmJnMuaXNQZXJjZW50YWdlKCkmJjE9PT1zLnNlcmllc0xpa2VTb3VyY2VzKCkubGVuZ3RoJiZzLnNldE1vZGUoe3BlcmNlbnRhZ2U6ITF9KSx0aGlzLmZ1bGxVcGRhdGUoKSx0aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpLCgwLHRpLmlzU3R1ZHkpKGUpJiYoKDAsJC5lbWl0KSgic3R1ZHlfZXZlbnQiLGUuaWQoKSwicmVtb3ZlIiksZS5pc0NoaWxkU3R1ZHkoKSYmZS5wYXJlbnRTb3VyY2VzKCkuZm9yRWFjaCgodD0+dC51bnNldENoaWxkKGUpKSksZS5tYXhPZmZzZXQoKS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQpKSwhdCYmZS5kZXN0cm95JiZlLmRlc3Ryb3koKSwoMCxyaS5pc0xpbmVUb29sKShlKSYmKGUucmVtb3ZlQWxlcnQoKSwoMCwkLmVtaXQpKCJkcmF3aW5nX2V2ZW50IixlLmlkKCksInJlbW92ZSIpKSxpfW1haW5TZXJpZXNTY2FsZVJhdGlvKCl7cmV0dXJuKDAsaWEuc2NhbGVSYXRpbykodGhpcy5fdGltZVNjYWxlLHRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSl9c2V0TWFpblNlcmllc1NjYWxlUmF0aW8oZSl7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodGhpcy5fbWFpblNlcmllcykpLmFwcGx5UHJpY2VTY2FsZVJhdGlvKHRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpLGUpfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGltZXpvbmUudmFsdWUoKX10aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lRXhjZXB0RXhjaGFuZ2V9YWxsU3R1ZGllcyhlKXtjb25zdCB0PWU/ZT0+KDAsdGkuaXNTdHVkeSkoZSkmJiFzaShlKTp0aS5pc1N0dWR5O3JldHVybiB0aGlzLl9nZXRBbGxTb3VyY2VzKHQpfXN0dWRpZXNXVihlKXtyZXR1cm4gZT90aGlzLl9zdHVkaWVzRXhjbHVkZUludGVybmFsV1YucmVhZG9ubHkoKTp0aGlzLl9zdHVkaWVzV1YucmVhZG9ubHkoKX1zaWduYXR1cmVTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX3NpZ25hdHVyZVNvdXJjZXN9c291cmNlc1NpZ25hdHVyZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlc1NpZ25hdHVyZXN9bGlzdFVzZXJTdHVkaWVzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IHMgb2YgaS5wcmljZURhdGFTb3VyY2VzKCkpaWYoISgwLHRpLmlzRnVuZGFtZW50YWxTdHVkeSkocykmJigwLHRpLmlzU3R1ZHkpKHMpJiZzLnNob3dJbk9iamVjdFRyZWUoKSl7Y29uc3R7aWQ6aSxzaG9ydERlc2NyaXB0aW9uOm59PXMubWV0YUluZm8oKTtpZihlLmRvbnRDb3VudFZvbHVtZSYmIlZvbHVtZUB0di1iYXNpY3N0dWRpZXMiPT09aXx8ZS5kb250Q291bnRDb21wYXJlJiYiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09aXx8ZS5kb250Q291bnRPdmVybGF5JiYiT3ZlcmxheUB0di1iYXNpY3N0dWRpZXMiPT09aSljb250aW51ZTt0LnB1c2gobil9cmV0dXJuIHR9ZmluZE5vbk92ZXJsYXlTdHVkeVdpdGhHcm91cGluZ0tleShlLHQpe2NvbnN0IGk9dm9pZCAwIT09dD9bdF06dGhpcy5fcGFuZXM7Zm9yKGNvbnN0IHQgb2YgaSl7Y29uc3QgaT10LmRhdGFTb3VyY2VzKCkuZmluZCgoaT0+KDAsdGkuaXNTdHVkeSkoaSkmJmkubWV0YUluZm8oKS5ncm91cGluZ0tleT09PWUmJiF0LmlzT3ZlcmxheShpKSkpO2lmKHZvaWQgMCE9PWkpcmV0dXJue3BhbmU6dCxzdHVkeTppfX1yZXR1cm4gbnVsbH1jYW5Nb3ZlUGFuZVVwKGUpe2lmKDA9PT1lKXJldHVybiExCjtjb25zdCB0PXRoaXMuX3BhbmVzW2VdLGk9dGhpcy5fcGFuZXNbZS0xXTtyZXR1cm4gdC5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldD9pLmNvbnRhaW5zTWFpblNlcmllcygpOmkubW9kZSgpIT09TS5QYW5lTW9kZS5XaWRnZXR8fCF0LmNvbnRhaW5zTWFpblNlcmllcygpfHwxIT09ZX1tb3ZlUGFuZVVwKGUpe3RoaXMubW92ZVBhbmUoZSxlLTEpfWNhbk1vdmVQYW5lRG93bihlKXtpZihlPT09dGhpcy5fcGFuZXMubGVuZ3RoLTEpcmV0dXJuITE7Y29uc3QgdD10aGlzLl9wYW5lc1tlXSxpPXRoaXMuX3BhbmVzW2UrMV07cmV0dXJuIHQubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/aS5jb250YWluc01haW5TZXJpZXMoKTppLm1vZGUoKSE9PU0uUGFuZU1vZGUuV2lkZ2V0fHwhdC5jb250YWluc01haW5TZXJpZXMoKXx8ZSE9PXRoaXMuX3BhbmVzLmxlbmd0aC0yfW1vdmVQYW5lRG93bihlKXt0aGlzLm1vdmVQYW5lKGUsZSsxKX1tb3ZlUGFuZShlLHQpe2NvbnN0IGk9dGhpcy5fcGFuZXNbZV07dGhpcy5fcGFuZXMuc3BsaWNlKGUsMSksdGhpcy5fcGFuZXMuc3BsaWNlKHQsMCxpKSx0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUodGhpcy5fcGFuZXMpLHRoaXMuX29uUmVhcnJhbmdlUGFuZXMuZmlyZSgpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2sucGFuZXNPcmRlcigpKX10b2dnbGVDb2xsYXBzZWRQYW5lKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZXNbZV07dC5jb2xsYXBzZWQoKS5zZXRWYWx1ZSghdC5jb2xsYXBzZWQoKS52YWx1ZSgpKSx0aGlzLmZ1bGxVcGRhdGUoKX1zZW5kVG9CYWNrKGUpe3RoaXMuX3NlbmRUbyhlLCgoZSx0KT0+ZS5zZW5kVG9CYWNrKHQpKSl9YnJpbmdUb0Zyb250KGUpe3RoaXMuX3NlbmRUbyhlLCgoZSx0KT0+ZS5icmluZ1RvRnJvbnQodCkpKX1iYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbG9yfWJhY2tncm91bmRUb3BDb2xvcigpe3JldHVybiB0aGlzLl9iYWNrZ3JvdW5kVG9wQ29sb3J9YmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3AoZSl7Y29uc3QgdD10aGlzLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCksaT10aGlzLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCk7cmV0dXJuIHRoaXMuX2JhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wLmdyYWRpZW50Q29sb3IoaSx0LGUpfWJhY2tncm91bmRDb3VudGVyQ29sb3IoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvdW50ZXJDb2xvci5yZWFkb25seSgpfWRhcmsoKXtyZXR1cm4gdGhpcy5faXNEYXJrfWJhY2tncm91bmRUaGVtZSgpe3JldHVybiB0aGlzLl9iYWNrZ3JvdW5kVGhlbWV9cmVhZE9ubHkoKXtyZXR1cm4gdGhpcy5fcmVhZE9ubHl9ZGVmYXVsdFJlc29sdXRpb25zKCl7cmV0dXJuIHRoaXMuY2hhcnRBcGkoKS5kZWZhdWx0UmVzb2x1dGlvbnMoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHRoaXMuX2dldEF2YWlsYWJsZUN1cnJlbmNpZXMoKSx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnJlYWRvbmx5KCl9Y3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWR9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0QXZhaWxhYmxlVW5pdHMoKSx0aGlzLl9hdmFpbGFibGVVbml0cy5yZWFkb25seSgpfXVuaXRDb252ZXJzaW9uRW5hYmxlZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZH1hdmFpbGFibGVNZXRyaWNzKCl7bGV0IGU9dGhpcy5fZ2V0QWxsQXZhaWxhYmxlTWV0cmljcygpO2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5tZXRyaWNzO3JldHVybiB0JiYoZT1lLmZpbHRlcigoZT0+dm9pZCAwIT09dC5pdGVtc1tlLmlkXSkpKSxlLmxlbmd0aCE9PXRoaXMuX2F2YWlsYWJsZU1ldHJpY3Muc2l6ZSgpJiYodGhpcy5fYXZhaWxhYmxlTWV0cmljcz1uZXcgRGgoZSkpLHRoaXMuX2F2YWlsYWJsZU1ldHJpY3N9bWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZH1hdmFpbGFibGVQcmljZVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLl9nZXRBdmFpbGFibGVQcmljZVNvdXJjZXMoZSk7cmV0dXJuIG51bGwhPT10JiZ0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXMucHJpY2VTb3VyY2VzQ2hhbmdlZCh0KSYmKHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlcz1uZXcgZnUodCkpLHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlc31yZXNldERlZmVycmVkU3R1ZGllcygpe0tsLkRlZmVycmVkU3R1ZGllcy5pbnN0YW5jZSh0aGlzKS5yZXNldCgpfXdhaXRGb3JTdHVkeShlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiB0JiYoMCx0aS5pc1N0dWR5KSh0KT9Qcm9taXNlLnJlc29sdmUodCk6S2wuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKHRoaXMpLmdldChlKX1yZXNldFdhaXRGb3JTdHVkeShlKXtLbC5EZWZlcnJlZFN0dWRpZXMuaW5zdGFuY2UodGhpcykuZGVsZXRlKGUpfWlzSnVzdENsb25lZENoYXJ0KCl7cmV0dXJuIHRoaXMuX3VuZG9Nb2RlbC5pc0p1c3RDbG9uZWRDaGFydCgpfXN0dWR5VGVtcGxhdGUoZSx0LGkpe2NvbnN0IHM9e3BhbmVzOltdLHZlcnNpb246dGhpcy52ZXJzaW9uKCl9O2Zvcihjb25zdCBlIG9mIHRoaXMucGFuZXMoKSlzLnBhbmVzLnB1c2goZS5zdGF0ZSh7aW5jbHVkZVNvdXJjZXM6ITAsaXNTdHVkeVRlbXBsYXRlOiEwfSkpO2NvbnN0IG49dGhpcy5tYWluU2VyaWVzKCk7cmV0dXJuIGUmJihzLnN5bWJvbD1uLnN5bWJvbCgpLHRoaXMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpJiZpJiYocy5jdXJyZW5jeT1uLmN1cnJlbmN5KCkpLHRoaXMudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmkmJihzLnVuaXQ9bi51bml0KCkpKSx0JiYocy5pbnRlcnZhbD1uLmludGVydmFsKCkpLHN9ZGF0YVNvdXJjZUZvcklkKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKXsKY29uc3QgaT10LmRhdGFTb3VyY2VGb3JJZChlKTtpZihpKXJldHVybiBpfXJldHVybiBudWxsfWdldFN0dWR5QnlJZChlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiBudWxsIT09dCYmKDAsdGkuaXNTdHVkeSkodCk/dDpudWxsfWdldExpbmVUb29sQnlJZChlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiBudWxsIT09dCYmKDAscmkuaXNMaW5lVG9vbCkodCk/dDpudWxsfXJlc3RvcmVMaW5lVG9vbFN0YXRlKGUsdCxpKXt0LnBvc2l0aW9uUGVyY2VudHM/ZS5yZXN0b3JlUG9zaXRpb25QZXJjZW50cyh0LnBvc2l0aW9uUGVyY2VudHMpOihlLmNsZWFyRml4ZWRQb2ludCgpLGUucmVzdG9yZVBvaW50cyh0LnBvaW50cyx0LmluZGV4ZXN8fFtdKSksdC5zdGF0ZS5pbnRlcnZhbHNWaXNpYmlsaXRpZXM9KDAsSmwubWVyZ2VJbnRlcnZhbFZpc2liaWxpdGllc0RlZmF1bHRzKSh0LnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcyksZS5saW5rS2V5KCkuc2V0VmFsdWUodC5saW5rS2V5fHxudWxsKSxlLnByb3BlcnRpZXMoKS5tZXJnZUFuZEZpcmUodC5zdGF0ZSksZS5yZXN0b3JlRGF0YSYmZS5yZXN0b3JlRGF0YSh0KSxlLmNyZWF0ZVNlcnZlclBvaW50cygpLGUuc2V0Wm9yZGVyKHQuem9yZGVyPz9lLnpvcmRlcigpKSx0aGlzLmZ1bGxVcGRhdGUoKTtjb25zdCBzPWUubGlua0tleSgpLnZhbHVlKCk7bnVsbCE9PXMmJmkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2smJigwLFQucmVzdG9yZUxpbmVUb29sU3RhdGUpKHttb2RlbDp0aGlzLGxpbmtLZXk6cyxzdGF0ZTp0fSl9cmVzdG9yZUZhY3RvcnlEZWZhdWx0cyhlKXtlLnJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKSx0aGlzLnJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5WaWV3cG9ydENoYW5nZVVzZXJBY3Rpb24pfXByZWZlcmVuY2VzKCl7cmV0dXJuKDAsY3UucHJlZmVyZW5jZXNCeVdoaXRlTGlzdCkodGhpcyx0aGlzLm1haW5TZXJpZXMoKSl9YXBwbHlQcmVmZXJlbmNlcyhlKXtmb3IoY29uc3RbdCxpXW9mIE9iamVjdC5lbnRyaWVzKGUpKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGQodCk7dm9pZCAwIT09aSYmdm9pZCAwIT09ZSYmZS5tZXJnZUFuZEZpcmUoaSl9aWYodm9pZCAwIT09ZS50aW1lU2NhbGUpe2NvbnN0IHQ9ZS50aW1lU2NhbGU7dGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldCgpLnNldFZhbHVlKHQuZGVmYXVsdFJpZ2h0T2Zmc2V0KSx0aGlzLl90aW1lU2NhbGUuZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZSgpLnNldFZhbHVlKHQuZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZSksdGhpcy5fdGltZVNjYWxlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnNldFZhbHVlKHQudXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KX10aGlzLl9wcm9wZXJ0aWVzLnNhdmVEZWZhdWx0cygpLHRoaXMuX21haW5TZXJpZXMuYXBwbHlQcmVmZXJlbmNlcyhlLm1haW5TZXJpZXMpLHRoaXMuc2Vzc2lvbnMoKS5yZXN0b3JlU3RhdGUoe3Byb3BlcnRpZXM6ZS5zZXNzaW9uc30sITEpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5mdWxsVXBkYXRlKCl9cmVzdG9yZVRoZW1lKGUsdCxpKXtlLm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmhvbGxvd0NhbmRsZVN0eWxlfHwoZS5tYWluU291cmNlUHJvcGVydGllcy5ob2xsb3dDYW5kbGVTdHlsZT1lLm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmNhbmRsZVN0eWxlKSx0aGlzLl91bmRvTW9kZWwuY2hhcnRMb2FkVGhlbWUoZSx0LGkpfXVwZGF0ZVNjYWxlcygpe3RoaXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wcmljZUF4aXNQcm9wZXJ0aWVzLmZpcmVDaGFuZ2VkKCl9b25SZXNldFNjYWxlcygpe3JldHVybiB0aGlzLl9yZXNldFNjYWxlc31zdGFydE1vdmluZ1NvdXJjZXMoZSx0LGkscyxuLHIpe3RoaXMuX3NvdXJjZXNCZWluZ01vdmVkPWUsdGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQ9aTtsZXQgbz0hMTtpZih0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5mb3JFYWNoKChlPT57IW8mJigwLHRpLmlzU3R1ZHkpKGUpJiYobz0hMCk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZShlKSksYz0oMCxyaS5pc0xpbmVUb29sKShlKSxoPWMmJmUubGlua0tleSgpLnZhbHVlKCk7aWYoITEhPT1oJiZudWxsIT09aCYmcy5oYXMoaCkmJmMmJmUuaXNGaXhlZCgpKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkocy5nZXQoaCkpLG89e3NjcmVlbjp0aGlzLl9wZXJjZW50UG9zaXRpb25Ub1BvaW50KHQsYSl9O2Uuc3RhcnRNb3ZpbmcobyxpLG4scil9ZWxzZSBlLnN0YXJ0TW92aW5nKHQsaSxuLHIpO2NvbnN0IGQ9dGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soYSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCk7dGhpcy5pbnZhbGlkYXRlKGQpfSkpLCFyKXtjb25zdFtzLHJdPUF1KGUpO2lmKHMuc2l6ZSYmdC5sb2dpY2FsKXtjb25zdCBvPXRoaXMuZXh0ZXJuYWxUaW1lU3RhbXAodC5sb2dpY2FsLmluZGV4KSxhPXtsaW5rS2V5czpbLi4uc10sdG9vbE5hbWVzOlsuLi5yXSxtb2RlbDp0aGlzLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxwb2ludDp7cHJpY2U6dC5sb2dpY2FsLnByaWNlLHRpbWVTdGFtcDpvfSxhY3RpdmVJdGVtOm51bGwhPT1pP2k6dm9pZCAwLGVudlN0YXRlOm4scG9pbnRQb3NpdGlvblBlcmNlbnRzOm5ldyBNYXB9O2UuZm9yRWFjaCgoZT0+e2lmKCgwLHJpLmlzTGluZVRvb2wpKGUpKXtjb25zdCBpPWUubGlua0tleSgpLnZhbHVlKCk7aWYoaSYmZS5pc1N5bmNocm9uaXphYmxlKCkmJmUuaXNGaXhlZCgpKXtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKTthLnBvaW50UG9zaXRpb25QZXJjZW50cy5zZXQoaSx0aGlzLl9wb2ludFRvUGVyY2VudFBvc2l0aW9uKCgwLGwuZW5zdXJlRGVmaW5lZCkodC5zY3JlZW4pLHMpKX19fSkpLCgwLFQuc3RhcnRNb3ZpbmdMaW5lVG9vbCkoYSl9fQpULmlzVG9vbE1vdmluZ05vdy5zZXRWYWx1ZSghMCksbyYmVC5pc1N0dWR5RWRpdGluZ05vdy5zZXRWYWx1ZSghMCl9bW92ZVNvdXJjZXMoZSx0LGkscyl7aWYodGhpcy5fc291cmNlc0JlaW5nTW92ZWQuZmlsdGVyKChlPT4hZS5pc0xvY2tlZHx8IWUuaXNMb2NrZWQoKSkpLmZvckVhY2goKG49Pntjb25zdCByPSgwLHJpLmlzTGluZVRvb2wpKG4pP24ubGlua0tleSgpLnZhbHVlKCk6bnVsbDtpZihudWxsIT09ciYmdC5oYXMocikpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UobikpLG89KDAsbC5lbnN1cmVEZWZpbmVkKSh0LmdldChyKSksYT17c2NyZWVuOnRoaXMuX3BlcmNlbnRQb3NpdGlvblRvUG9pbnQobyxlKX07bi5tb3ZlKGEsdGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQsaSxzKX1lbHNlIG4ubW92ZShlLHRoaXMuX2FjdGl2ZUl0ZW1CZWluZ01vdmVkLGkscyl9KSksdGhpcy5saWdodFVwZGF0ZSgpLCFzJiZlLmxvZ2ljYWwmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0W3Qsc109QXUodGhpcy5fc291cmNlc0JlaW5nTW92ZWQpLG49dGhpcy5leHRlcm5hbFRpbWVTdGFtcChlLmxvZ2ljYWwuaW5kZXgpLHI9e2xpbmtLZXlzOlsuLi50XSx0b29sTmFtZXM6Wy4uLnNdLG1vZGVsOnRoaXMscG9pbnQ6e3ByaWNlOmUubG9naWNhbC5wcmljZSx0aW1lU3RhbXA6bn0sZW52U3RhdGU6aSxwb2ludFBvc2l0aW9uUGVyY2VudHM6bmV3IE1hcH07dGhpcy5fc291cmNlc0JlaW5nTW92ZWQuZmlsdGVyKHJpLmlzTGluZVRvb2wpLmZvckVhY2goKHQ9PntpZih0LmxpbmtLZXkoKS52YWx1ZSgpJiZ0LmlzU3luY2hyb25pemFibGUoKSYmdC5pc0ZpeGVkKCkpe2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodCkpO3IucG9pbnRQb3NpdGlvblBlcmNlbnRzLnNldCh0LmxpbmtLZXkoKS52YWx1ZSgpLHRoaXMuX3BvaW50VG9QZXJjZW50UG9zaXRpb24oKDAsbC5lbnN1cmVEZWZpbmVkKShlLnNjcmVlbiksaSkpfX0pKSwoMCxULm1vdmVMaW5lVG9vbCkocil9fWVuZE1vdmluZ1NvdXJjZXMoZSx0LGkpe2NvbnN0IHM9dGhpcy5fc291cmNlc0JlaW5nTW92ZWQubWFwKChzPT57Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZShzKSkscj1zLmVuZE1vdmluZyhlLHQsaSksbz10aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhuLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KTtyZXR1cm4gby5pbnZhbGlkYXRlQWxsKExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSx0aGlzLmludmFsaWRhdGUobykscn0pKTtpZighdCYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayl7Y29uc3RbZSx0XT1BdSh0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZCksaT10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5maWx0ZXIocmkuaXNMaW5lVG9vbCkuZmlsdGVyKChlPT5lLmlzU3luY2hyb25pemFibGUoKSYmISFlLmxpbmtLZXkpKS5tYXAoKGU9Pntjb25zdCB0PXtwb2ludHM6ZS5ub3JtYWxpemVkUG9pbnRzKCksaW50ZXJ2YWw6dGhpcy5tYWluU2VyaWVzKCkuaW50ZXJ2YWwoKX07cmV0dXJuIGUuaXNGaXhlZCgpJiYodC5wb2ludFBvc2l0aW9uUGVyY2VudHM9ZS5jYWxjUG9zaXRpb25QZXJjZW50cygpKSx0fSkpO2Uuc2l6ZSYmKDAsVC5maW5pc2hNb3ZpbmdMaW5lVG9vbCkoe2xpbmtLZXlzOlsuLi5lXSx0b29sTmFtZXM6Wy4uLnRdLG1vZGVsOnRoaXMsZmluYWxTdGF0ZXM6aSxjaGFuZ2VzOnN9KX10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD1bXSx0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZD1udWxsLFQuaXNUb29sTW92aW5nTm93LnNldFZhbHVlKCExKSxULmlzU3R1ZHlFZGl0aW5nTm93LnNldFZhbHVlKCExKX1zb3VyY2VzQmVpbmdNb3ZlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZH1zZXRNb3ZpbmdDdXN0b21Tb3VyY2UoZSx0KXt0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkPWUsdGhpcy5fY3VzdG9tU291cmNlQmVpbmdNb3ZlZEhpdFRlc3REYXRhPW51bGwhPT10P3tiZWluZ01vdmVkOiExLGNhbmNlbGxlZDohMSwuLi50fTpudWxsfXByb2Nlc3NpbmdDdXN0b21Tb3VyY2VNb3ZlKCl7bnVsbCE9PXRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YSYmKHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YS5iZWluZ01vdmVkPSEwKX1jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkSGl0VGVzdERhdGF9Y3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY3VzdG9tU291cmNlQmVpbmdNb3ZlZEhpdFRlc3REYXRhJiZ0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkSGl0VGVzdERhdGEuYmVpbmdNb3ZlZD90aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkOm51bGx9bGluZVRvb2xzU3luY2hyb25pemVyKCl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcn1zZXRMaW5lVG9vbHNTeW5jaHJvbml6ZXIoZSl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPWV9d2lkdGgoKXtyZXR1cm4gdGhpcy5fd2lkdGh9c2V0V2lkdGgoZSx0KXsodGhpcy5fcGFuZXMucmVkdWNlKCgodCxpKT0+aS5zZXRXaWR0aChlKXx8dCksITEpfHx0aGlzLl93aWR0aCE9PWUpJiYodGhpcy5fd2lkdGg9ZSx0aGlzLl90aW1lU2NhbGUuc2V0V2lkdGgoZSx0KSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSl9c2V0UGFuZUhlaWdodChlLHQpe2Uuc2V0SGVpZ2h0KHQpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9cmVzZXRTY2FsZXNBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGUucmVhZG9ubHkoKX1tYXhpbWl6ZWRQYW5lKCl7CnJldHVybiB0aGlzLl9tYXhpbWl6ZWRQYW5lLnJlYWRvbmx5KCl9c2V0TWF4aW1pemVkUGFuZShlKXsoMCxsLmFzc2VydCkobnVsbD09PWV8fHRoaXMuX3BhbmVzLmluY2x1ZGVzKGUpLCJUaGUgcGFuZSBpcyBub3QgcGFydCBvZiB0aGlzIGNoYXJ0IiksdGhpcy5fbWF4aW1pemVkUGFuZS5zZXRWYWx1ZShlKX1wYW5lcygpe3JldHVybiB0aGlzLl9wYW5lc31wYW5lRm9ySWQoZSl7cmV0dXJuIHRoaXMuX3BhbmVzLmZpbmQoKHQ9PnQuaWQoKT09PWUpKXx8bnVsbH1jcmVhdGVQYW5lKGUsdCxpLHMpe3RoaXMuX3Jlc3RvcmluZ1N0YXRlfHx0aGlzLl9tYXhpbWl6ZWRQYW5lLnNldFZhbHVlKG51bGwpO2NvbnN0IG49dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllczt0JiZuLm1lcmdlKHQpO2NvbnN0IHI9bmV3IGxjKHRoaXMuX3RpbWVTY2FsZSxuLHRoaXMsaSxzPz9NLlBhbmVNb2RlLlJlZ3VsYXIpO3JldHVybiB2b2lkIDAhPT1lP3RoaXMuX3BhbmVzLnNwbGljZShlLDAscik6dGhpcy5fcGFuZXMucHVzaChyKSxyLm9uVGFnc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25QYW5lVGFnc0NoYW5nZWQoKSkpLHIuZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fZGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkLmZpcmUocikpKSxyLmRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCkpKSxyLnN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9vblN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKHIpKSksci5wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZChyKSkpLHIuc291cmNlUHJvcGVydGllc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+dGhpcy5fc291cmNlUHJvcGVyaXRlc0NoYW5nZWQuZmlyZShyLGUpKSksci5zb3VyY2VaT3JkZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX3NvdXJjZVpPcmRlckNoYW5nZWQuZmlyZShyLGUpKSksci5zeW1ib2xTb3VyY2VSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLChlPT50aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZlZC5maXJlKHIsZSkpKSxyLnN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLnN1YnNjcmliZSh0aGlzLl9yZWNhbGNTeW1ib2xSZXNvbHZpbmdBY3RpdmUpLHIuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlKSxyLnJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNBdmFpbGFibGVWYWx1ZSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fcmVjYWxjUGFuZUNvbGxhcHNpbmdBdmFpbGFibGUoKSx0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUodGhpcy5fcGFuZXMpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2sucGFuZXNPcmRlcigpKSxyfXJlbW92ZVBhbmUoZSl7ZT09PXRoaXMuX21heGltaXplZFBhbmUudmFsdWUoKSYmdGhpcy5fbWF4aW1pemVkUGFuZS5zZXRWYWx1ZShudWxsKSxlLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX3BhbmVzLmluZGV4T2YoZSk7LTEhPT10JiYodGhpcy5fcGFuZXMuc3BsaWNlKHQsMSksZS5kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnNvdXJjZVByb3BlcnRpZXNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5vblRhZ3NDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zeW1ib2xTb3VyY2VSZXNvbHZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlKCkudW5zdWJzY3JpYmUodGhpcy5fcmVjYWxjU3ltYm9sUmVzb2x2aW5nQWN0aXZlKSxlLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlKSxlLnJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVSZXNldFNjYWxlc0F2YWlsYWJsZVZhbHVlKSx0aGlzLl9yZWNhbGNQYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSghMCkpLHRoaXMuX3VwZGF0ZVJlc2V0U2NhbGVzQXZhaWxhYmxlVmFsdWUoKTt0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnBhbmU9PT1lJiZ0aGlzLmNsZWFyQ3VycmVudFBvc2l0aW9uKCksdGhpcy5fcGFuZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKHRoaXMuX3BhbmVzKSx0aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpLHRoaXMuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLnBhbmVzT3JkZXIoKSl9Y2hhbmdlUGFuZXNIZWlnaHQoZSx0KXtpZih0aGlzLl9wYW5lcy5sZW5ndGg8MilyZXR1cm47KDAsbC5hc3NlcnQpKGU+PTAmJmU8dGhpcy5fcGFuZXMubGVuZ3RoLCJJbnZhbGlkIHBhbmUgaW5kZXgiKTtjb25zdCBpPXRoaXMuX3BhbmVzW2VdLHM9dGhpcy5fcGFuZXMucmVkdWNlKCgoZSx0KT0+ZSt0LnN0cmV0Y2hGYWN0b3IoKSksMCksbj10aGlzLl9wYW5lcy5yZWR1Y2UoKChlLHQpPT5lK3QuaGVpZ2h0KCkpLDApLHI9bi0zMCoodGhpcy5fcGFuZXMubGVuZ3RoLTEpO3Q9TWF0aC5taW4ocixNYXRoLm1heCgzMCx0KSk7Y29uc3Qgbz1zL24sYT1pLmhlaWdodCgpO2kuc2V0U3RyZXRjaEZhY3Rvcih0Km8pO2xldCBjPXQtYSxoPXRoaXMuX3BhbmVzLmxlbmd0aC0xO2Zvcihjb25zdCBlIG9mIHRoaXMuX3BhbmVzKWlmKGUhPT1pKXsKY29uc3QgdD1NYXRoLm1pbihyLE1hdGgubWF4KDMwLGUuaGVpZ2h0KCktYy9oKSk7Yy09ZS5oZWlnaHQoKS10LGgtPTE7Y29uc3QgaT10Km87ZS5zZXRTdHJldGNoRmFjdG9yKGkpfXRoaXMuZnVsbFVwZGF0ZSgpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7Y29uc3QgZT10aGlzLmNyb3NzaGFpclNvdXJjZSgpO2UuY2xlYXJQb3NpdGlvbigpLCgwLGwuZW5zdXJlTm90TnVsbCkoZS5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKSx0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKSksdGhpcy5fdW5kb01vZGVsLnN5bmNDcm9zc2hhaXIobnVsbCksdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lci5vbkN1cnNvclBvc2l0aW9uVXBkYXRlZCgpfWdldFRwb1N1bW1hcnlQYW5lKCl7Y29uc3QgZT10aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKSx0PWUuc3VtbWFyeS5jaGlsZHMoKS5iZWxvd1Nlcmllcy52YWx1ZSgpLGk9ZS5zdW1tYXJ5LmNoaWxkcygpLmluZm9CbG9ja3Mscz1lLnN1bW1hcnkuY2hpbGRzKCkuaW5mb0Jsb2Nrcy5jaGlsZE5hbWVzKCk7bGV0IG49MDtzLmZvckVhY2goKGU9PntpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpO2NvbnN0IHI9TWF0aC5tYXgobipfaC5jb25zdGFudHMuY2VsbEhlaWdodCwzMCk7cmV0dXJuIHRoaXMuX2dldFdpZGdldFBhbmUodCxyKX1nZXRWb2x1bWVGb290cHJpbnRTdW1tYXJ5UGFuZSgpe2NvbnN0IGU9dGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudm9sRm9vdHByaW50U3R5bGUuY2hpbGRzKCksdD1lLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5iZWxvd1Nlcmllcy52YWx1ZSgpLGk9ZS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuYmxvY2tJbmZvLHM9aS5jaGlsZE5hbWVzKCk7bGV0IG49MDtzLmZvckVhY2goKGU9PntpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpO2NvbnN0IHI9dGhpcy5fbWFpblNlcmllcy5zeW1ib2xJbmZvKCk7aWYociYmKDAsZWEuaXNGdXR1cmVzKShyLnR5cGUpJiYhKDAsZWEuaGFzQ3J5cHRvVHlwZXNwZWMpKHIudHlwZXNwZWNzKSl7Y29uc3QgdD1lLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5vcGVuSW50ZXJlc3RCbG9ja0luZm87dC5jaGlsZE5hbWVzKCkuZm9yRWFjaCgoZT0+e3QuY2hpbGRzKClbZV0/LmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpfWlmKHImJigoMCxlYS5pc0Z1dHVyZXMpKHIudHlwZSl8fCJzd2FwIj09PXIudHlwZSkmJigwLGVhLmhhc0NyeXB0b1R5cGVzcGVjKShyLnR5cGVzcGVjcykpe2NvbnN0IHQ9ZS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm87dC5jaGlsZE5hbWVzKCkuZm9yRWFjaCgoZT0+e3QuY2hpbGRzKClbZV0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZuKyt9KSl9Y29uc3Qgbz1NYXRoLm1heChuKl9oLmNvbnN0YW50cy5jZWxsSGVpZ2h0LDMwKTtyZXR1cm4gdGhpcy5fZ2V0V2lkZ2V0UGFuZSh0LG8pfXNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl7dGhpcy5jcm9zc2hhaXJTb3VyY2UoKS5zYXZlT3JpZ2luQ29vcmRzKGUsdCksdGhpcy5zZXRDdXJyZW50UG9zaXRpb24oZSx0LGkscyl9c2V0Q3VycmVudFBvc2l0aW9uKGUsdCxpLHMpe2xldCBuPU5hTjtjb25zdCByPXRoaXMuX3RpbWVTY2FsZS5jb29yZGluYXRlVG9WaXNpYmxlSW5kZXgoZSksbz0odGhpcy5fbGluZUJlaW5nRWRpdGVkPz90aGlzLl9saW5lc0JlaW5nQ3JlYXRlZFswXSk/Lm93bmVyU291cmNlLnByaWNlU2NhbGUoKT8/aS5kZWZhdWx0UHJpY2VTY2FsZSgpO2xldCBhPW51bGw7IW8uaXNFbXB0eSgpJiZOdW1iZXIuaXNGaW5pdGUodCkmJihhPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCksbnVsbCE9PWEmJihuPW8uY29vcmRpbmF0ZVRvUHJpY2UodCxhKSkpO2NvbnN0IGM9dGhpcy5jcm9zc2hhaXJTb3VyY2UoKSxoPWMucmVxdWVzdFBvaW50UGFyYW1zKCksZD1oPy5zZWxlY3RQb2ludE1vZGU/P1QuU2VsZWN0UG9pbnRNb2RlLk5vbmUsdT1kIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSxwPVQudG9vbC52YWx1ZSgpLF89dGhpcy5tYWluU2VyaWVzKCksZz1jLmluZGV4LGY9Yy5wcmljZSxTPWQ9PT1ULlNlbGVjdFBvaW50TW9kZS5TdHVkeXx8VC5pc1N0dWR5RWRpdGluZ05vdy52YWx1ZSgpLHY9ZD09PVQuU2VsZWN0UG9pbnRNb2RlLlJlcGxheTtsZXQgeT0hMTtjb25zdCBiPSgwLFpzLm1hZ25ldFNuYXBzVG9JbmRpY2F0b3JzKSgpLnZhbHVlKCk7aWYobz09PXRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpfHxiKWlmKCgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikocCkpe2NvbnN0IGU9dGhpcy5saW5lQmVpbmdDcmVhdGVkKCk7eT1udWxsPT09ZXx8KDAscmkuaXNCcnVzaEJhc2VkTGluZVRvb2wpKGUpJiZlLmhhc09ubHlPbmVQb2ludCgpfWVsc2V7eT1Cb29sZWFuKHRoaXMubGluZUJlaW5nQ3JlYXRlZCgpfHx0aGlzLl9saW5lQmVpbmdFZGl0ZWR8fCgwLG0uaXNMaW5lVG9vbE5hbWUpKHApfHwoMCxULnRvb2xJc01lYXN1cmUpKHApKXx8U30hdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJnk/KG49dGhpcy5fbWFnbmV0LmFsaWduKG4scixpKSxudWxsIT09YSYmdGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcihyLG4saSkpOnRoaXMuX21hZ25ldC5yZXNldExhc3RWYWx1ZSgpO2xldCB3PW51bGw7aWYoaXNOYU4obil8fCh3PWkpLHRoaXMuX2lzVGltZVNjcm9sbGluZyl7aWYoIXRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uJiZ1KXtjb25zdCBlPV8uYmFycygpLmZpcnN0SW5kZXgoKSx0PV8uYmFycygpLmxhc3RJbmRleCgpO2lmKG51bGwhPT1lJiZudWxsIT09dCl7Y29uc3Qgcz1NYXRoLm1pbihNYXRoLm1heChyLGUpLHQpCjtzIT09ciYmdGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcihzLG4saSl9fWVsc2UgYy5zZXRQb3NpdGlvbihjLmluZGV4LG4sdyk7cmV0dXJufWMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITApLGMuc2V0UG9zaXRpb24ocixuLHcpLCgwLGwuZW5zdXJlTm90TnVsbCkoYy5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGMuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKTtjb25zdCBDPV8uc3luY01vZGVsKCksUD10aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKTtpZih0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnN0YXJ0TWVhc3VyZVBvaW50KCl8fFA/dGhpcy5saWdodFVwZGF0ZSgpOnRoaXMuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKSxQKXtjb25zdCBlPVAubGlua0tleSgpLnZhbHVlKCk7aWYoIXRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uKXtjb25zdCB0PVAuc2V0TGFzdFBvaW50KHtpbmRleDpyLHByaWNlOm59LHMpO2lmKFAudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKFAuaWQoKSkpLHQucHJpY2U9PT1uJiZ0LmluZGV4PT09cnx8dGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcih0LmluZGV4LHQucHJpY2UsaSksQyYmZSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayl7Y29uc3QgaT10aGlzLl90aW1lU2NhbGUucG9pbnRzKCkucm91Z2hUaW1lKHQuaW5kZXgsQy5wcm9qZWN0VGltZS5iaW5kKEMpKTsoMCxULnNldExpbmVUb29sTGFzdFBvaW50KSh7bW9kZWw6dGhpcyxsaW5rS2V5OmUscG9pbnQ6e3RpbWVTdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKGkpLHByaWNlOnQucHJpY2V9fSl9fX1pZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJm51bGwhPT10aGlzLl9saW5lQmVpbmdFZGl0ZWQmJm51bGwhPT10aGlzLl9saW5lQmVpbmdFZGl0ZWQucG9pbnRJbmRleCl7Y29uc3QgZT17aW5kZXg6cixwcmljZTpufSx7bGluZURhdGFTb3VyY2U6dCxwb2ludEluZGV4Om8sc3RhcnRDaGFuZ2luZ1BvaW50OmF9PXRoaXMuX2xpbmVCZWluZ0VkaXRlZDtpZihhPy5ub25EaXNjcmV0ZUluZGV4KXtjb25zdCB0PXRoaXMuY3Jvc3NoYWlyU291cmNlKCkub3JpZ2luWCgpO051bWJlci5pc0Zpbml0ZSh0KSYmKGUuaW5kZXg9dGhpcy5fdGltZVNjYWxlLmNvb3JkaW5hdGVUb0Zsb2F0SW5kZXgodCkpfXRoaXMuY2hhbmdlTGluZVBvaW50KGUscyk7Y29uc3QgbD10LmFsaWduQ3Jvc3NIYWlyVG9BbmNob3Iobyk/dC5nZXRQb2ludChvKTplO251bGwhPT1sJiZ0aGlzLl9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKGwuaW5kZXgsbC5wcmljZSxpKX1pZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJjE9PT10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5sZW5ndGgpe2NvbnN0IGU9dGhpcy5fc291cmNlc0JlaW5nTW92ZWRbMF07aWYoZS5hbGlnbkNyb3NzSGFpclRvTW92ZVBvaW50Py4oKSl7Y29uc3QgdD1lLmN1cnJlbnRNb3ZpbmdQb2ludD8uKCk7dCYmdC5sb2dpY2FsJiZ0aGlzLl9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKHQubG9naWNhbC5pbmRleCx0LmxvZ2ljYWwucHJpY2UsaSl9fWlmKCF0aGlzLl9pc1NldHRpbmdzRXh0ZXJuYWxQb3NpdGlvbiYmKFN8fHYpKXtjb25zdCBlPV8uYmFycygpLmZpcnN0SW5kZXgoKSx0PV8uYmFycygpLmxhc3RJbmRleCgpO2lmKG51bGwhPT1lJiZudWxsIT09dCl7bGV0IHM9TWF0aC5tYXgocixlKTtoPy5hbGlnblRvVGhlTGF0ZXN0QmFySWZUaW1lUG9pbnRJc091dE9mRGF0YSYmKHM9TWF0aC5taW4ocyx0KSkscyE9PXImJnRoaXMuX3NldENvcnJlY3RlZFBvc2l0aW9uVG9Dcm9zc2hhaXIocyxuLGkpfX0oZyE9PXJ8fGYhPT1uKSYmdGhpcy5fc3luY0Nyb3NzaGFpcihzKX1zZXRFeHRlcm5hbFBvc2l0aW9uKGUsdCl7bGV0IGk7Y29uc3Qgcz10aGlzLmNyb3NzaGFpclNvdXJjZSgpO2lmKHMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITEpLG51bGwhPT1lJiYoMCxhLmlzTnVtYmVyKShlLnRpbWVTdGFtcCkpe2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7aWYodCl7Y29uc3Qgcz10aGlzLmNyZWF0ZVN5bmNQb2ludChlLnN5bmNTb3VyY2VUYXJnZXQsdC5zeW5jU291cmNlVGFyZ2V0KCkpLnNvdXJjZVRpbWVUb1RhcmdldFRpbWUoZS50aW1lU3RhbXApO2k9dGhpcy5fdGltZVNjYWxlLnBvaW50cygpLnJvdWdoSW5kZXgocyx0LmRpc3RhbmNlLmJpbmQodCksMSl9fWlmKG51bGwhPT1lJiZudWxsIT1pJiZOdW1iZXIuaXNGaW5pdGUoaSkpe3RoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uPSEwO2NvbnN0IG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodGhpcy5tYWluU2VyaWVzKCkpKSxyPXRoaXMuX3RpbWVTY2FsZS5pbmRleFRvQ29vcmRpbmF0ZShpKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkobi5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7aWYobnVsbCE9PW8pe2xldCBpPU5hTjt2b2lkIDAhPT1lLnByaWNlJiZOdW1iZXIuaXNGaW5pdGUoZS5wcmljZSkmJihpPXRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKS5wcmljZVRvQ29vcmRpbmF0ZShlLnByaWNlLG8pKSxzLmNsZWFyT3JpZ2luQ29vcmRzKCksdGhpcy5zZXRDdXJyZW50UG9zaXRpb24ocixpLG4sdCl9cmV0dXJuIHMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITEpLHZvaWQodGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb249ITEpfXMuY2xlYXJQb3NpdGlvbigpLCgwLGwuZW5zdXJlTm90TnVsbCkocy5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHMuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKSx0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKSl9c3RhcnRTY2FsZVRpbWUoZSl7dGhpcy5fdGltZVNjYWxlLnN0YXJ0U2NhbGUoZSl9c2NhbGVUaW1lVG8oZSl7dGhpcy5fdGltZVNjYWxlLnNjYWxlVG8oZSksdGhpcy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLAp0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9ZW5kU2NhbGVUaW1lKCl7dGhpcy5fdGltZVNjYWxlLmVuZFNjYWxlKCksdGhpcy5saWdodFVwZGF0ZSgpLHRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbil9cmVzZXRUaW1lU2NhbGUoKXt0aGlzLl90aW1lU2NhbGUucmVzdG9yZURlZmF1bHQoKSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSx0aGlzLmxpZ2h0VXBkYXRlKCksdGhpcy5fcmVzZXRTY2FsZXMuZmlyZSgpfXN0YXJ0U2NhbGVQcmljZShlLHQsaSl7ZS5zdGFydFNjYWxlUHJpY2UodCxpKX1zY2FsZVByaWNlVG8oZSx0LGkpe2Uuc2NhbGVQcmljZVRvKHQsaSksdGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLmlzTG9ja1NjYWxlKCk/dGhpcy5saWdodFVwZGF0ZSgpOnRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhlLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSl9ZW5kU2NhbGVQcmljZShlLHQpe2UuZW5kU2NhbGVQcmljZSh0KSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfXN0YXJ0VHdvUG9pbnRzU2NhbGVQcmljZShlLHQsaSxzKXt0LnN0YXJ0VHdvUG9pbnRzU2NhbGUoaSxzKX10d29Qb2ludHNTY2FsZVByaWNlVG8oZSx0LGkscyl7dC50d29Qb2ludHNTY2FsZShpLHMpLHQudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUpKX1lbmRUd29Qb2ludHNTY2FsZVByaWNlKGUsdCl7dC5lbmRUd29Qb2ludHNTY2FsZSgpLHRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhlKSl9cmVzZXRQcmljZVNjYWxlKGUsdCl7ZS5yZXNldFByaWNlU2NhbGUodCksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCxpKXtlLnJlc3RvcmVQcmljZVNjYWxlU3RhdGUodCxpKSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfWRldGFjaFNvdXJjZShlKXtjb25zdCB0PXRoaXMucGFuZUZvclNvdXJjZShlKTtyZXR1cm4hIXQmJih0LnJlbW92ZURhdGFTb3VyY2UoZSksdC5pc0VtcHR5KCk/KHRoaXMubGluZUJlaW5nQ3JlYXRlZCgpJiZ0PT09dGhpcy5wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCksdGhpcy5yZW1vdmVQYW5lKHQpLCEwKToodGhpcy5mdWxsVXBkYXRlKCksITEpKX1yZXN0b3JlU291cmNlKGUsdCxpLHMsbil7Y29uc3Qgcj1lP3RoaXMuY3JlYXRlUGFuZSh0KTp0aGlzLnBhbmVzKClbdF0sbz0oMCxQLmlzU3R1ZHlTdGF0ZSkocyksYT1vP3IucmVzdG9yZVN0dWR5KHtzb3VyY2U6c30pOigwLFAuaXNMaW5lVG9vbFN0YXRlKShzKT9yLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6c30pOm51bGw7aWYoIWEpcmV0dXJuIG51bGw7bGV0IGw9bnVsbDtpZihuPyhsPXIuZ2V0UHJpY2VTY2FsZUJ5SWQobi5pZCksbHx8KGw9ci5jcmVhdGVQcmljZVNjYWxlQXRQb3NpdGlvbihuLnBvc2l0aW9uLG4ucHJpY2VTY2FsZUluZGV4KSxsLnNldElkKG4uaWQpKSk6bD1hLm93bmVyU291cmNlKCk/LnByaWNlU2NhbGUoKT8/bCxsJiYoYS5zZXRQcmljZVNjYWxlKGwpLGwuYWRkRGF0YVNvdXJjZShhKSksIWUmJmkmJmkub3ZlcmxheVByaWNlU2NhbGVzKXtjb25zdCBlPXRoaXMuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWkub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV0pKTtlLmZvckVhY2goKGU9PnIucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSkpKTtjb25zdCB0PW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57Y29uc3Qgcz1pLm92ZXJsYXlQcmljZVNjYWxlc1tlLmlkKCldO2lmKCFzKXJldHVybjtsZXQgbjt0LmhhcyhzLmlkKT9uPXQuZ2V0KHMuaWQpOihuPXIuY3JlYXRlUHJpY2VTY2FsZUF0UG9zaXRpb24oIm92ZXJsYXkiKSxuLnJlc3RvcmVTdGF0ZShzKSx0LnNldChzLmlkLG4pKSxlLnNldFByaWNlU2NhbGUobiksbi5hZGREYXRhU291cmNlKGUpfSkpfXJldHVybiBlJiZpJiZyLnJlc3RvcmVTdGF0ZSh7c3RhdGU6aSx3aXRoRGF0YTohMSx2ZXJzaW9uOnRoaXMudmVyc2lvbigpfSksbyYmKHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoYS5pZCgpKSksdGhpcy5faW52YWxpZGF0ZUJhckNvbG9yZXJDYWNoZXMoKSx0aGlzLmZ1bGxVcGRhdGUoKSx0aGlzLmFsZXJ0c1dhdGNoZXIoKT8uc3luY1NvdXJjZUFsZXJ0TGFiZWxzKGEpKSxhfWNoaWxkcmVuKGUsdCxpKXtyZXR1cm4gdGhpcy5kYXRhU291cmNlcygpLmZpbHRlcigocz0+ISgwLHRpLmlzU3R1ZHkpKHMpfHxzaShzKXx8ZS5pc1NlcmllcyYmcy5pc0xpbmtlZFRvU2VyaWVzKCk/ISgoMCxyaS5pc0xpbmVUb29sKShzKSYmaSYmcy5zdXBwb3J0c1RhcmdldFNpZ25hdHVyZSgpJiZudWxsIT09cy50YXJnZXRTaWduYXR1cmUoKSkmJnMub3duZXJTb3VyY2UoKT09PWU6IXQmJnMucGFyZW50U291cmNlcygpLmluY2x1ZGVzKGUpKSl9b25SZWFycmFuZ2VQYW5lcygpe3JldHVybiB0aGlzLl9vblJlYXJyYW5nZVBhbmVzfXN0dWR5SW5zZXJ0ZWQoKXtyZXR1cm4gdGhpcy5fc3R1ZHlJbnNlcnRlZH1maW5pc2hMaW5lVG9vbChlKXtjb25zdCB0PWUubGlua0tleSgpLnZhbHVlKCk7KDAsClQuZHJhd09uQWxsQ2hhcnRzKSgpLnZhbHVlKCkmJm51bGwhPT10JiZlLmlzU3luY2hyb25pemFibGUoKSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayYmKDAsVC5maW5pc2hMaW5lVG9vbCkoe2xpbmtLZXk6dCxtb2RlbDp0aGlzfSl9c3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKXt0aGlzLl9saW5lQmVpbmdFZGl0ZWQ9e2xpbmVEYXRhU291cmNlOmUsb3duZXJTb3VyY2U6dCxzdGFydENoYW5naW5nUG9pbnQ6aT8/bnVsbCxwb2ludEluZGV4OnM/P251bGx9LGUuc3RhcnRDaGFuZ2luZyhzLGksciksVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCEwKTtjb25zdCBvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKTtlLnN0YXJ0RHJhZ1BvaW50JiZ2b2lkIDAhPT1zJiZ2b2lkIDAhPT1pJiZlLnN0YXJ0RHJhZ1BvaW50KHMsaSkscnx8dm9pZCAwPT09c3x8dm9pZCAwPT09aXx8ZS5zZXRQb2ludChzLGksbixyKSxlLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKTtjb25zdCBhPXRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKG8sTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpO3RoaXMuaW52YWxpZGF0ZShhKTtjb25zdCBjPWUubGlua0tleSgpLnZhbHVlKCk7aWYoYyYmZS5pc1N5bmNocm9uaXphYmxlKCkmJnZvaWQgMCE9PXMmJnZvaWQgMCE9PWkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmV4dGVybmFsVGltZVN0YW1wKGkuaW5kZXgpKTsoMCxULnN0YXJ0Q2hhbmdpbmdMaW5lVG9vbCkoe2xpbmtLZXk6Yyxtb2RlbDp0aGlzLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxwb2ludDp7cHJpY2U6aS5wcmljZSx0aW1lU3RhbXA6dH0scG9zaXRpb25QZXJjZW50czplLnBvc2l0aW9uUGVyY2VudHMoKSxwb2ludEluZGV4OnMsZW52U3RhdGU6bnx8bnVsbH0pfX1jcmVhdGVMaW5lVG9vbChlKXtjb25zdHtwb2ludDp0LGxpbmV0b29sOmksbGlua0tleTpzPW51bGwsc2hhcmluZ01vZGU6bj0wLGlkOnIsZnJvbUV4dGVybmFsTW9kZWw6byxhY3Rpb25Tb3VyY2U6YyxwYW5lOmh9PWU7bGV0e3Byb3BlcnRpZXM6ZCxvd25lclNvdXJjZTp1fT1lO3U9KDAsbC5lbnN1cmVEZWZpbmVkKSh1fHwoMCxsLmVuc3VyZU5vdE51bGwpKGgubWFpbkRhdGFTb3VyY2UoKSkpO2xldCBwPWg7aWYobWwuc2hhcmVEcmF3aW5nc09uSW5kaWNhdG9ycyYmKDAsdGkuaXNTdHVkeSkodSkmJihwPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tYWluUGFuZSgpKSksKDAsbC5hc3NlcnQpKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGkpLGBDYW5ub3QgY3JlYXRlIHVua25vd24gbGluZSB0b29sOiAke2l9YCksZCl7Y29uc3QgZT17Li4uaHUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzRGVmYXVsdHN9LHQ9ZC5jaGlsZHMoKS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMuc3RhdGUoKTsoMCxhLm1lcmdlKShlLHQ/P3t9KTtjb25zdCBzPWQuc3RhdGUoKTtzLmludGVydmFsc1Zpc2liaWxpdGllcz1lLGQ9KDAscmkuY3JlYXRlTGluZVRvb2xQcm9wZXJ0aWVzKSh0aGlzLmJhY2tncm91bmRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksaSwhdGhpcy5yZWFkT25seSgpLHMpfWNvbnN0IF89KDAscmkuY3JlYXRlTGluZVRvb2wpKGksdGhpcyxkLG51bGwsdm9pZCAwLHIsYyk7aWYoIkxpbmVUb29sRXhlY3V0aW9uIiE9PWkpe2xldCBlO3N3aXRjaChpKXtjYXNlIkxpbmVUb29sSWNvbiI6ZT1fLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pY29uLnZhbHVlKCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7YnJlYWs7Y2FzZSJMaW5lVG9vbEVtb2ppIjplPV8ucHJvcGVydGllcygpLmNoaWxkcygpLmVtb2ppLnZhbHVlKCk7YnJlYWs7Y2FzZSJMaW5lVG9vbFN0aWNrZXIiOmU9Xy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RpY2tlci52YWx1ZSgpfSgwLE10LnRyYWNrRXZlbnQpKCJkcmF3aW5ncyIsIlN0dWR5X0RyYXdpbmdfIitpLGUpfSgwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoXykmJigwLE10LnRyYWNrRXZlbnQpKCJzdHVkaWVzIixgU3R1ZHlfJHtfLm1ldGFJbmZvKCkuaWR9YCxfLm1ldGFJbmZvKCkuZGVzY3JpcHRpb24pO2NvbnN0IGc9IV8ubGlua0tleSgpLnZhbHVlKCkmJiFzO2R8fCgwLHJpLnByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlKShfLnByb3BlcnRpZXMoKSx1KSxtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzJiYoMCx0aS5pc1N0dWR5KSh1KT9fLnNldFRhcmdldFNpZ25hdHVyZSh1LnNpZ25hdHVyZSgpLnZhbHVlKCkpOl8uc2V0T3duZXJTb3VyY2UodSk7Y29uc3QgZj11LnByaWNlU2NhbGUoKTtpZihfLnNldFByaWNlU2NhbGUoZiksdT09PXRoaXMubWFpblNlcmllcygpJiZfLnNoYXJlKG4pLHAuYWRkRGF0YVNvdXJjZShfLGYsITEpLG51bGwhPT1fLnByZWZlcnJlZFpPcmRlcigpJiZwLmluc2VydEFmdGVyKFtfXSx0aGlzLm1haW5TZXJpZXMoKSksKDAsVC5kcmF3T25BbGxDaGFydHMpKCkudmFsdWUoKSl7Y29uc3QgZT1fLmlzU3luY2hyb25pemFibGUoKT9zfHwoMCxsdC5yYW5kb21IYXNoKSgpOm51bGw7Xy5saW5rS2V5KCkuc2V0VmFsdWUoZSl9ZWxzZSBfLmxpbmtLZXkoKS5zZXRWYWx1ZShzKTtsZXQgUztpZihnJiZfLmVuYWJsZUN1cnJlbnRJbnRlcnZhbFZpc2liaWxpdHkoKSxfLmlzRml4ZWQoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkoaC5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLGk9dGhpcy5fdGltZVNjYWxlLmluZGV4VG9Db29yZGluYXRlKHQuaW5kZXgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKShmKS5wcmljZVRvQ29vcmRpbmF0ZSh0LnByaWNlLGUpO1M9Xy5hZGRGaXhlZFBvaW50KG5ldyBQdC5Qb2ludChpLHMpKX1lbHNlIFM9Xy5hZGRQb2ludCh0KTtyZXR1cm4gU3x8KHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLnVuc2hpZnQoe2xpbmVEYXRhU291cmNlOl8sZnJvbUV4dGVybmFsOiEhbyxvd25lclNvdXJjZTp1LHBhbmU6aH0pLApULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCEwKSksdGhpcy5mdWxsVXBkYXRlKCksX31lbmRDaGFuZ2luZ0xpbmV0b29sKGUsdCl7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmVCZWluZ0VkaXRlZCkubGluZURhdGFTb3VyY2Uscz1pLmVuZENoYW5naW5nKCExLGUsdCk7dGhpcy5fbGluZUJlaW5nRWRpdGVkPW51bGwsVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCExKSx0aGlzLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbj17cG9pbnRzOmkubm9ybWFsaXplZFBvaW50cygpLGludGVydmFsOnRoaXMubWFpblNlcmllcygpLmludGVydmFsKCl9LHI9aS5saW5rS2V5KCkudmFsdWUoKTtudWxsPT09cnx8IWkuaXNTeW5jaHJvbml6YWJsZSgpfHx0fHx0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2t8fCgwLFQuZmluaXNoQ2hhbmdpbmdMaW5lVG9vbCkoe21vZGVsOnRoaXMsbGlua0tleTpyLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxmaW5hbFN0YXRlOm4sY2hhbmdlczpzfSl9Y29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkscyxuKXtjb25zdCByPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5saW5lQmVpbmdDcmVhdGVkKCkpLG89ci5hZGRQb2ludChlLHQsaSxuKTtyLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShyLmlkKCkpKTtjb25zdCBhPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrKExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KTtyZXR1cm4gbyYmKHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLnNoaWZ0KCksMD09PXRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLmxlbmd0aCYmVC5pc1Rvb2xDcmVhdGluZ05vdy5zZXRWYWx1ZSghMSkpLHRoaXMuaW52YWxpZGF0ZShhKSxvfWNhbmNlbENyZWF0aW5nTGluZSgpe2NvbnN0IGU9dGhpcy5saW5lQmVpbmdDcmVhdGVkKCk7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9ZS5pc1N5bmNocm9uaXphYmxlKCk7dGhpcy5yZW1vdmVTb3VyY2UoZSksdGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQuc2hpZnQoKSx0aGlzLl9saW5lQ2FuY2VsbGVkLmZpcmUoKSwwPT09dGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQubGVuZ3RoJiZULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCExKSwoMCxULmRyYXdPbkFsbENoYXJ0cykoKS52YWx1ZSgpJiZ0JiYhdGhpcy5fbGluZVRvb2xzU3luY0Jsb2NrJiYoMCxULmNhbmNlbExpbmVUb29sKSh7bW9kZWw6dGhpc30pfWNhbmNlbEFsbERyYXdpbmdPcGVyYXRpb25zKCl7dGhpcy5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCksKDAsVC5yZXNldFRvQ3Vyc29yKSghMCl9bGluZUJlaW5nQ3JlYXRlZCgpe3JldHVybiB0aGlzLl9saW5lc0JlaW5nQ3JlYXRlZFswXT8ubGluZURhdGFTb3VyY2U/P251bGx9bGluZUJlaW5nQ3JlYXRlRnJvbUV4dGVybmFsKCl7cmV0dXJuIHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkWzBdPy5mcm9tRXh0ZXJuYWw/PyExfXBhbmVCZWluZ0NyZWF0ZWRMaW5lT24oKXtyZXR1cm4gdGhpcy5fbGluZXNCZWluZ0NyZWF0ZWRbMF0/LnBhbmU/P251bGx9bGluZUNhbmNlbGxlZCgpe3JldHVybiB0aGlzLl9saW5lQ2FuY2VsbGVkfWlzUGhhbnRvbUxpbmUoZSl7cmV0dXJuIHRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIuc291cmNlKCk9PT1lfWFsaWduVG80NURlZ3JlZXMoZSx0LGkpe2NvbnN0W3Msbl09aSxyPXsuLi5ufTtlLnNuYXBQb2ludDQ1RGVncmVlKHMsciksdGhpcy5zdGFydENoYW5naW5nTGluZXRvb2woZSx0LG4sbi5wb2ludEluZGV4KSx0aGlzLmNoYW5nZUxpbmVQb2ludChyLExpLkVudmlyb25tZW50U3RhdGUuY3JlYXRlKCEwKSksdGhpcy5lbmRDaGFuZ2luZ0xpbmV0b29sKCExKX1jaGFuZ2VMaW5lUG9pbnQoZSx0LGkpe2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saW5lQmVpbmdFZGl0ZWQpLG49cy5saW5lRGF0YVNvdXJjZSxyPSgwLGwuZW5zdXJlTm90TnVsbCkocy5wb2ludEluZGV4KTtsZXQgbz1lLnByaWNlLGE9ZS5pbmRleDtpZihuLnNldFBvaW50KHIsZSx0LGkpLCFpKXtjb25zdCB0PW4uYWxpZ25Dcm9zc0hhaXJUb0FuY2hvcihyKT9uLmdldFBvaW50KHIpOmU7bnVsbCE9PXQmJihhPXQuaW5kZXgsbz10LnByaWNlKX1uLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShuLmlkKCkpKSx0aGlzLmxpZ2h0VXBkYXRlKCk7Y29uc3QgYz1uLmxpbmtLZXkoKS52YWx1ZSgpO2lmKCFpJiZudWxsIT09YyYmbi5pc1N5bmNocm9uaXphYmxlKCkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKShzLnN0YXJ0Q2hhbmdpbmdQb2ludCksaT17aW5kZXhlc0NoYW5nZWQ6YSE9PWUuaW5kZXgscHJpY2VzQ2hhbmdlZDpvIT09ZS5wcmljZX0saD1uLmdldENoYW5nZVBvaW50Rm9yU3luYyhyKTtpZihudWxsIT09aCl7Y29uc3QgZT10aGlzLmV4dGVybmFsVGltZVN0YW1wKGEpO251bGwhPT1lJiYobz1oLnByaWNlLCgwLFQuY2hhbmdlTGluZVRvb2wpKHtsaW5rS2V5OmMsbW9kZWw6dGhpcyxzeW1ib2w6dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sKCkscG9pbnQ6e3ByaWNlOm8sdGltZVN0YW1wOmV9LHBvc2l0aW9uUGVyY2VudHM6bi5wb3NpdGlvblBlcmNlbnRzKCksZW52U3RhdGU6dCxjaGFuZ2VzOml9KSl9fX1jaGFuZ2VMaW5lUG9pbnRzKGUsdCxpKXtjb25zdCBzPWUucG9pbnRzKCksbj1lLmxpbmtLZXkoKS52YWx1ZSgpOyFpJiZuJiZlLmlzU3luY2hyb25pemFibGUoKSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayYmdC5mb3JFYWNoKCgodCxpKT0+e2NvbnN0IHI9c1tpXSxvPXIucHJpY2UhPT10LnByaWNlLGE9ci5pbmRleCE9PXQuaW5kZXg7aWYoZS5nZXRDaGFuZ2VQb2ludEZvclN5bmMoaSkpe2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmV4dGVybmFsVGltZVN0YW1wKHQuaW5kZXgpKTsoMCxULmNoYW5nZUxpbmVUb29sKSh7bGlua0tleTpuLG1vZGVsOnRoaXMsc3ltYm9sOnRoaXMubWFpblNlcmllcygpLnN5bWJvbCgpLHBvaW50OntwcmljZTp0LnByaWNlLHRpbWVTdGFtcDppfSwKcG9zaXRpb25QZXJjZW50czplLnBvc2l0aW9uUGVyY2VudHMoKSxjaGFuZ2VzOntwcmljZXNDaGFuZ2VkOm8saW5kZXhlc0NoYW5nZWQ6YX19KX19KSksZS5zZXRQb2ludHModCksZS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoZS5pZCgpKSksdGhpcy5saWdodFVwZGF0ZSgpfXN0YXJ0U2Nyb2xsVGltZShlKXt0aGlzLl90aW1lU2NhbGUuc3RhcnRTY3JvbGwoZSksdGhpcy5faXNUaW1lU2Nyb2xsaW5nPSEwLHRoaXMubWFpblNlcmllcygpLmNsZWFyR290b0RhdGVSZXN1bHQoKX1zY3JvbGxUaW1lVG8oZSl7dGhpcy5fdGltZVNjYWxlLnNjcm9sbFRvKGUpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9ZW5kU2Nyb2xsVGltZSgpe3RoaXMuX3RpbWVTY2FsZS5lbmRTY3JvbGwoKSx0aGlzLmxpZ2h0VXBkYXRlKCksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSx0aGlzLl9pc1RpbWVTY3JvbGxpbmc9ITF9c3RhcnRTY3JvbGxQcmljZShlLHQsaSl7ZS5zdGFydFNjcm9sbFByaWNlKHQsaSl9c2Nyb2xsUHJpY2VUbyhlLHQsaSl7ZS5zY3JvbGxQcmljZVRvKHQsaSksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1lbmRTY3JvbGxQcmljZShlLHQpe2UuZW5kU2Nyb2xsUHJpY2UodCksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1hZGRDdXN0b21Tb3VyY2UoZSx0LGk9SWkuQ3VzdG9tU291cmNlTGF5ZXIuRm9yZWdyb3VuZCl7dGhpcy5fY3VzdG9tU291cmNlc01hcC5oYXMoZSkmJnd1LmxvZ1dhcm4oYEF0dGVtcHQgdG8gYWRkIHRoZSBzYW1lIGN1c3RvbSBzb3VyY2UgbXVsdGlwbGUgdGltZSAiJHtlfSJgKSx3dS5sb2dOb3JtYWwoYEFkZGluZyBjdXN0b20gc291cmNlICIke2V9ImApO2NvbnN0IHM9dChlLHRoaXMpO3N3aXRjaChpKXtjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkJhY2tncm91bmQ6dGhpcy5fYmdDdXN0b21Tb3VyY2VzLnB1c2gocyk7YnJlYWs7Y2FzZSBJaS5DdXN0b21Tb3VyY2VMYXllci5Gb3JlZ3JvdW5kOnRoaXMuX2ZnQ3VzdG9tU291cmNlcy5wdXNoKHMpO2JyZWFrO2Nhc2UgSWkuQ3VzdG9tU291cmNlTGF5ZXIuVG9wbW9zdDp0aGlzLl90b3Btb3N0Q3VzdG9tU291cmNlcy5wdXNoKHMpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGN1c3RvbSBzb3VyY2VzIGxheWVyICR7aX1gKX10aGlzLl9hbGxDdXN0b21Tb3VyY2VzLnB1c2gocyksdGhpcy5fY3VzdG9tU291cmNlc01hcC5zZXQoZSxzKSx0aGlzLmxpZ2h0VXBkYXRlKCl9cmVtb3ZlQ3VzdG9tU291cmNlKGUpe3RoaXMuX3JlbW92ZUN1c3RvbVNvdXJjZShlKSx0aGlzLmxpZ2h0VXBkYXRlKCl9aGFzQ3VzdG9tU291cmNlKGUpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VzTWFwLmhhcyhlKX1jdXN0b21Tb3VyY2VGb3JOYW1lKGUpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VzTWFwLmdldChlKXx8bnVsbH1jdXN0b21Tb3VyY2VOYW1lKGUpe2xldCB0PW51bGw7cmV0dXJuIHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuZm9yRWFjaCgoKGkscyk9PntpPT09ZSYmKHQ9cyl9KSksdH1jdXN0b21Tb3VyY2VzKGUpe3N3aXRjaChlKXtjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkJhY2tncm91bmQ6cmV0dXJuIHRoaXMuX2JnQ3VzdG9tU291cmNlcztjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkZvcmVncm91bmQ6cmV0dXJuIHRoaXMuX2ZnQ3VzdG9tU291cmNlcztjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3Q6cmV0dXJuIHRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzO2RlZmF1bHQ6cmV0dXJuIHRoaXMuX2FsbEN1c3RvbVNvdXJjZXN9fWFkZE11bHRpUGFuZVNvdXJjZShlKXt0aGlzLl9tdWx0aVBhbmVTb3VyY2VzLnB1c2goZSksdGhpcy5fb25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLHRoaXMubGlnaHRVcGRhdGUoKX1yZW1vdmVNdWx0aVBhbmVTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9tdWx0aVBhbmVTb3VyY2VzLmluZGV4T2YoZSk7LTE9PT10P3d1LmxvZ1dhcm4oIkF0dGVtcHQgdG8gcmVtb3ZlIG11bHRpLXBhbmUgc291cmNlIHdoaWNoIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtb2RlbCIpOih0aGlzLl9vbk11bHRpcGFuZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksdGhpcy5fbXVsdGlQYW5lU291cmNlcy5zcGxpY2UodCwxKSksdGhpcy5saWdodFVwZGF0ZSgpfW11bHRpUGFuZVNvdXJjZXMoZSl7cmV0dXJuIHRoaXMuX211bHRpUGFuZVNvdXJjZXMuZmlsdGVyKCh0PT4hZS5oYXNEYXRhU291cmNlKHQpKSl9b25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWR9cmVuZGVyZXJPcHRpb25zUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXJ9bWFnbmV0KCl7cmV0dXJuIHRoaXMuX21hZ25ldH1wcmljZUF4aXNSZW5kZXJlck9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpfXByaWNlU2NhbGVTbG90c0NvdW50KCl7bGV0IGU9MCx0PTA7dGhpcy5fcGFuZXMuZm9yRWFjaCgoaT0+e2U9TWF0aC5tYXgoaS5sZWZ0UHJpY2VTY2FsZXMoKS5sZW5ndGgsZSksdD1NYXRoLm1heChpLnJpZ2h0UHJpY2VTY2FsZXMoKS5sZW5ndGgsdCl9KSk7Y29uc3QgaT1lK3Q7aWYoSi5DaGVja01vYmlsZS5hbnkoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpLHQ9ZS5wcmljZVNjYWxlUG9zaXRpb24odGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpKQo7cmV0dXJuKCJvdmVybGF5Ij09PXQ/ZS5yaWdodFByaWNlU2NhbGVzKCkubGVuZ3RoPjA6InJpZ2h0Ij09PXQpP3tsZWZ0OjAscmlnaHQ6MSx0b3RhbGx5U2xvdHM6aX06e2xlZnQ6MSxyaWdodDowLHRvdGFsbHlTbG90czppfX1yZXR1cm57bGVmdDplLHJpZ2h0OnQsdG90YWxseVNsb3RzOml9fWRhdGVUaW1lRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuX2RhdGVUaW1lRm9ybWF0dGVyfWRhdGVGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdHRlcn10aW1lRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuX3RpbWVGb3JtYXR0ZXJ9aXNVbm1lcmdlQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKS5kYXRhU291cmNlcygpLmZpbHRlcih0aGlzLl91bm1lcmdlQXZhaWxhYmxlLHRoaXMpLmxlbmd0aD4xfWlzTWVyZ2VEb3duQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5wYW5lRm9yU291cmNlKGUpLGk9dGhpcy5wYW5lcygpLmZpbHRlcigoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpKTtyZXR1cm4gdCE9PWlbaS5sZW5ndGgtMV19aXNNZXJnZVVwQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO3JldHVybiB0aGlzLnBhbmVGb3JTb3VyY2UoZSkhPT10aGlzLnBhbmVzKCkuZmlsdGVyKChlPT5lLm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcikpWzBdfWlzUHJpY2VTY2FsZVZpc2libGUoZSl7Y29uc3QgdD1lLm1haW5Tb3VyY2UoKTtpZighdClyZXR1cm4hMTtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKHQpKSxzPWkucHJpY2VTY2FsZVBvc2l0aW9uKGUpO2lmKCJvdmVybGF5Ij09PXMpcmV0dXJuITA7Y29uc3Qgbj1pLnByaWNlU2NhbGVJbmRleChlLHMpLHI9dGhpcy5wcmljZVNjYWxlU2xvdHNDb3VudCgpW3NdO3JldHVybiB2b2lkIDAhPT1uJiZuPHJ9Z2V0U3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXR9c2V0U3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQoZSl7dGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQ9ZX1zZXNzaW9ucygpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Vzc2lvbnMpfWNyZWF0ZVNlc3Npb25zKGUpe2lmKG51bGw9PT10aGlzLl9zZXNzaW9ucyl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PW5ldyBQYShlKTtyZXR1cm4oMCx5YS5hcHBseURlZmF1bHRzT3ZlcnJpZGVzKSh0LmNoaWxkcygpLnNlc3Npb25IaWdobGlnaHQsdm9pZCAwLCExLCJzZXNzaW9ucyIpLHQucmVtb3ZlRHVwbGljYXRlUHJvcGVydGllcygpLHR9KHRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fc2Vzc2lvbnM9bmV3IFRhKChhc3luYygpPT57Y29uc3Qgcz1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDcwNjI0OCkpO3JldHVybiB0aGlzLmFkZEN1c3RvbVNvdXJjZSgic2Vzc2lvbnMiLCgoaSxuKT0+e2NvbnN0IHI9bmV3IHMuU2Vzc2lvbnMoaSxuLHQsZSk7cmV0dXJuIHIuc3RhcnQoKSxyfSksSWkuQ3VzdG9tU291cmNlTGF5ZXIuQmFja2dyb3VuZCksdGhpcy5jdXN0b21Tb3VyY2VGb3JOYW1lKCJzZXNzaW9ucyIpfSkoKSx0aGlzLHQpfX1jcmVhdGVQcmVQb3N0TWFya2V0KGUpe3RoaXMuYWRkQ3VzdG9tU291cmNlKCJwcmVQb3N0TWFya2V0IiwoKHQsaSk9Pm5ldyBUaCh0LGksZSkpKX1jcmVhdGVJbmFjdGl2aXR5R2FwcygpezB9aW5hY3Rpdml0eUdhcHMoKXt0aHJvdyBuZXcgRXJyb3IoImluYWN0aXZpdHlfZ2FwcyBmZWF0dXJlc2V0IGlzIG5vdCBlbmFibGVkIil9c2V0SW5hY3Rpdml0eUdhcHNTZXNzaW9uKGUpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5jdXN0b21Tb3VyY2VGb3JOYW1lKCJpbmFjdGl2aXR5R2FwcyIpKS5zZXRTZXNzaW9uKGV8fCJzZXNzaW9uIil9d2F0ZXJtYXJrU291cmNlKCl7cmV0dXJuIHRoaXMuX3dhdGVybWFya1NvdXJjZX13YXRlcm1hcmtDb250ZW50UHJvdmlkZXIoKXtyZXR1cm4gbmV3IGguV2F0Y2hlZFZhbHVlKG51bGwpfXN0dWRpZXNDb2xvclJvdGF0b3JGYWN0b3J5KCl7cmV0dXJuIHRoaXMuX3N0dWR5Q29sb3JSb3RhdG9yRmFjdG9yeX1yZXBsYXlTdGF0dXMoKXtyZXR1cm4gdGhpcy5fcmVwbGF5U3RhdHVzfXNldFJlcGxheVN0YXR1cyhlKXt0aGlzLl9yZXBsYXlTdGF0dXMuc2V0VmFsdWUoZSl9aXNJblJlcGxheSgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmlzSW5SZXBsYXkoKX1nZXRTeW1ib2xTdHJpbmcoKXtyZXR1cm4gdGhpcy5fbWFpblNlcmllcy5nZXRTeW1ib2xTdHJpbmcoKX1pbnRlcnZhbCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmludGVydmFsKCl9b25JblJlcGxheVN0YXRlQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKX1zd2l0Y2hUb1JlcGxheShlLHQsaSl7dGhpcy5fbWFpblNlcmllcy5zd2l0Y2hUb1JlcGxheShlLHQsaSl9c3dpdGNoVG9SZWFsdGltZSgpe3RoaXMuX21haW5TZXJpZXMuc3dpdGNoVG9SZWFsdGltZSgpLHRoaXMuX3RpbWVTY2FsZS5yZXNldFJpZ2h0T2Zmc2V0KCksdGhpcy5zZXRSZXBsYXlTdGF0dXMoMCksdGhpcy5fc2Nyb2xsaW5nU3RhdGUmJih0aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZC5yZWplY3QoKSx0aGlzLl9zY3JvbGxpbmdTdGF0ZT1udWxsKX1jYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmNhbkNoYW5nZVJlc29sdXRpb24oZSl9CmNhbkNoYW5nZVN5bWJvbChlKXtyZXR1cm4gdGhpcy5fbWFpblNlcmllcy5jYW5DaGFuZ2VTeW1ib2woZSl9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLm9uUmVwbGF5TW9kaWZpZWQoKX1tYWluU2VyaWVzU2NhbGVSYXRpb1Byb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXNTY2FsZVJhdGlvUHJvcGVydHl9bWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eU9uQ2hhbmdlZCgpe3RoaXMuX21haW5TZXJpZXNTY2FsZVJhdGlvUHJvcGVydHkuZmlyZUNoYW5nZWQoKX1nZXRUaGVtZU5hbWVJZlN0ZFRoZW1lKCl7Y29uc3QgZT10aGlzLnNlc3Npb25zKCkucHJvcGVydGllcygpLHQ9dGhpcy5wcm9wZXJ0aWVzKCksaT10aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCk7cmV0dXJuIGUuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCkmJnQuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCkmJmkuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCk/Sm8uU3RkVGhlbWUuTGlnaHQ6ZS5hbGxUaGVtZVByb3BlcnRpZXNBcmVEZWZhdWx0KEpvLlN0ZFRoZW1lLkRhcmspJiZ0LmFsbFRoZW1lUHJvcGVydGllc0FyZURlZmF1bHQoSm8uU3RkVGhlbWUuRGFyaykmJmkuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5EYXJrKT9Kby5TdGRUaGVtZS5EYXJrOm51bGx9dGhlbWUoKXtyZXR1cm57Y2hhcnRQcm9wZXJ0aWVzOnRoaXMucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSxzZXNzaW9uczp0aGlzLnNlc3Npb25zKCkucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSxtYWluU291cmNlUHJvcGVydGllczp0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkudGhlbWVTdGF0ZSgpLHZlcnNpb246dGhpcy52ZXJzaW9uKCl9fXRlbXBsYXRlKCl7cmV0dXJue2NoYXJ0UHJvcGVydGllczp0aGlzLnByb3BlcnRpZXMoKS50ZW1wbGF0ZSgpLHNlc3Npb25zOnRoaXMuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCkudGVtcGxhdGUoKSxtYWluU291cmNlUHJvcGVydGllczp0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkudGVtcGxhdGUoKSx2ZXJzaW9uOnRoaXMudmVyc2lvbigpfX1vbkNoYXJ0VGhlbWVMb2FkZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUaGVtZUxvYWRlZH1jaGFydFRoZW1lTG9hZGVkKCl7dGhpcy5fY2hhcnRUaGVtZUxvYWRlZC5maXJlKCl9YXN5bmMgY29sb3JTdHVkaWVzUHJvcGVydGllc1JlYWR5KCl7dGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzSW1wbCh0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXMpO2NvbnN0IGU9dGhpcy5hbGxTdHVkaWVzKCEwKS5maWx0ZXIoKGU9PmUubWV0YUluZm8oKS5pbnB1dHMuZmlsdGVyKE50LmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzKS5sZW5ndGg+MCkpO2F3YWl0IFByb21pc2UuYWxsKGUubWFwKChlPT5lLnByb3BlcnRpZXNQYXRjaGVkKCkpKSl9c3RhdGUoZSl7Y29uc3R7d2l0aERhdGE6dCxza2lwTGluZVRvb2xzRnJvbU90aGVyU3ltYm9sczppLHNraXBMaW5lVG9vbHM6c309ZSxuPXRoaXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKSxyPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLG89ci50cmFkaW5nUHJvcGVydGllcy5zdGF0ZSgpLGE9e3BhbmVzOnRoaXMuX3BhbmVzLm1hcCgodD0+dC5zdGF0ZSh7Li4uZSxpbmNsdWRlU291cmNlczohMH0pKSksdGltZVNjYWxlOnRoaXMuX3RpbWVTY2FsZS5zdGF0ZSh0KSxjaGFydFByb3BlcnRpZXM6e3BhbmVQcm9wZXJ0aWVzOnIucGFuZVByb3BlcnRpZXMuc3RhdGUoKSxzY2FsZXNQcm9wZXJ0aWVzOnIuc2NhbGVzUHJvcGVydGllcy5zdGF0ZSgpLHB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lUHJvcGVydGllczpuP24uc3RhdGUodCk6dm9pZCAwLGNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllczpyLmNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcz8uc3RhdGUoKSx0cmFkaW5nUHJvcGVydGllczpvLHByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWU6ci5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lLnZhbHVlKCksaW5hY3Rpdml0eUdhcHM6ci5pbmFjdGl2aXR5R2Fwcy52YWx1ZSgpfSxzZXNzaW9uczp0aGlzLnNlc3Npb25zKCkuc3RhdGUodCksdmVyc2lvbjp0aGlzLnZlcnNpb24oKSx0aW1lem9uZTp0aGlzLnRpbWV6b25lKCksc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbjp0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuLGxpbmtpbmdHcm91cDp0aGlzLl9saW5raW5nR3JvdXBJbmRleC52YWx1ZSgpfTtyZXR1cm4gc3x8KGEubGluZVRvb2xzR3JvdXBzPXRoaXMubGluZVRvb2xzR3JvdXBNb2RlbCgpLnN0YXRlKGkpKSxhfWlzSW5SZXN0b3JlU3RhdGUoKXtyZXR1cm4gdGhpcy5fcmVzdG9yaW5nU3RhdGV9cmVzdG9yZVN0YXRlKGUsdCxpKXtLbC5EZWZlcnJlZFN0dWRpZXMuaW5zdGFuY2UodGhpcykucmVzZXQoKTtjb25zdCBzPXt9O2lmKCFlLnBhbmVzKXJldHVybiB2b2lkIHd1LmxvZ0RlYnVnKCJDaGFydE1vZGVsLnJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2lmKCFBcnJheS5pc0FycmF5KGUucGFuZXMpKXJldHVybiB2b2lkIHd1LmxvZ0RlYnVnKCJDaGFydE1vZGVsLnJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2lmKGUucGFuZXMubGVuZ3RoPDEpcmV0dXJuIHZvaWQgd3UubG9nRGVidWcoIkNoYXJ0TW9kZWwucmVzdG9yZVN0YXRlOiBpbnZhbGlkIHN0YXRlIik7dGhpcy5fcmVzdG9yaW5nU3RhdGU9ITA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyl0aGlzLmRldGFjaFNvdXJjZShlKTtpZih0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuPWUuc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj8/ITAsZS5jaGFydFByb3BlcnRpZXMmJiFlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSYmKGUuY2hhcnRQcm9wZXJ0aWVzLnRpbWV6b25lPWUudGltZXpvbmUpLGUuY2hhcnRQcm9wZXJ0aWVzKXtjb25zdCBpPSgwLAokbC5mYWN0b3J5RGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMiKS5zY2FsZXNQcm9wZXJ0aWVzOygwLGEubWVyZ2UpKGksZS5jaGFydFByb3BlcnRpZXMuc2NhbGVzUHJvcGVydGllcyksISgic2hvd0xhc3RWYWx1ZSJpbiBpKXx8InNob3dTZXJpZXNMYXN0VmFsdWUiaW4gaXx8InNob3dTdHVkeUxhc3RWYWx1ZSJpbiBpfHwoaS5zaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHk9aS5zaG93TGFzdFZhbHVlLGkuc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk9aS5zaG93TGFzdFZhbHVlKSwic2hvd1Nlcmllc0xhc3RWYWx1ZSJpbiBpJiYocy5zaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHk9ITApLCJzaG93U3R1ZHlMYXN0VmFsdWUiaW4gaSYmKHMuc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk9ITApLCghdGhpcy5pc1NuYXBzaG90KCkmJiF0aGlzLnJlYWRPbmx5KCkmJiJzaG93Q3VycmVuY3kiaW4gaXx8InNob3dVbml0ImluIGkpJiYoKDAscnMubWlncmF0ZVNob3dDdXJyZW5jeUFuZFNob3dVbml0UHJvcGVydGllcykoaS5zaG93Q3VycmVuY3ksaS5zaG93VW5pdCksZGVsZXRlIGkuc2hvd0N1cnJlbmN5LGRlbGV0ZSBpLnNob3dVbml0KTt7Y29uc3QgdD1lLmNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcztYaCh0KSwiYmFja2dyb3VuZFR5cGUiaW4gdHx8KHQuYmFja2dyb3VuZFR5cGU9cGkuQ29sb3JUeXBlLlNvbGlkKSwic2VwYXJhdG9yQ29sb3IiaW4gdHx8KHQuc2VwYXJhdG9yQ29sb3I9KDAsay5nZXRUaGVtZWRDb2xvcikoImNvbG9yLWNoYXJ0LXBhZ2UtYmciKSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5tZXJnZUFuZEZpcmUodCl9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLm1lcmdlQW5kRmlyZShpKSxlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZS5zZXRWYWx1ZShlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSksZS5jaGFydFByb3BlcnRpZXMuY2hhcnRFdmVudHNTb3VyY2VQcm9wZXJ0aWVzJiZ0aGlzLl9wcm9wZXJ0aWVzLmhhc0NoaWxkKCJjaGFydEV2ZW50c1NvdXJjZVByb3BlcnRpZXMiKSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5jaGFydEV2ZW50c1NvdXJjZVByb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuY2hhcnRQcm9wZXJ0aWVzLmNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcyksZS5jaGFydFByb3BlcnRpZXMudHJhZGluZ1Byb3BlcnRpZXMmJnRoaXMuX3Byb3BlcnRpZXMuaGFzQ2hpbGQoInRyYWRpbmdQcm9wZXJ0aWVzIikmJih2b2lkIDA9PT1lLmNoYXJ0UHJvcGVydGllcy50cmFkaW5nUHJvcGVydGllcy5ob3Jpem9udGFsQWxpZ25tZW50JiYoZS5jaGFydFByb3BlcnRpZXMudHJhZGluZ1Byb3BlcnRpZXMuaG9yaXpvbnRhbEFsaWdubWVudD0obj1lLmNoYXJ0UHJvcGVydGllcy50cmFkaW5nUHJvcGVydGllcy5saW5lTGVuZ3RoKTw9NDA/SWkuVHJhZGVkR3JvdXBIb3Jpem9udGFsQWxpZ25tZW50LlJpZ2h0Om4+PTYwP0lpLlRyYWRlZEdyb3VwSG9yaXpvbnRhbEFsaWdubWVudC5MZWZ0OklpLlRyYWRlZEdyb3VwSG9yaXpvbnRhbEFsaWdubWVudC5DZW50ZXIpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudHJhZGluZ1Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuY2hhcnRQcm9wZXJ0aWVzLnRyYWRpbmdQcm9wZXJ0aWVzKSksdGhpcy5fdGltZVNjYWxlLnJlc3RvcmVTdGF0ZShlLnRpbWVTY2FsZSx0KSx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlcigpfXZhciBuO2lmKGUudGltZVNjYWxlJiZ0aGlzLl90aW1lU2NhbGUucmVzdG9yZVN0YXRlKGUudGltZVNjYWxlLHQpLCF0aGlzLnJlYWRPbmx5KCkpe2NvbnN0IHQ9dGhpcy5fZ2V0RXhjZWVkaW5nQ2hpbGRTdHVkaWVzKGUucGFuZXMpO2lmKHQubGVuZ3RoKXtmb3IobGV0IGk9ZS5wYW5lcy5sZW5ndGgtMTtpPj0wOy0taSl7Y29uc3Qgcz1lLnBhbmVzW2ldO2ZvcihsZXQgZT1zLnNvdXJjZXMubGVuZ3RoLTE7ZT49MDstLWUpe2NvbnN0IGk9cy5zb3VyY2VzW2VdO350LmluZGV4T2YoaSkmJnMuc291cmNlcy5zcGxpY2UoZSwxKX1zLnNvdXJjZXMubGVuZ3RofHxzLm1vZGUhPT1NLlBhbmVNb2RlLlJlZ3VsYXJ8fGUucGFuZXMuc3BsaWNlKGksMSl9e2NvbnN0IGU9d2luZG93LnVzZXIucHJvX3BsYW4sdD0icHJvX3ByZW1pdW1fZXhwZXJ0Ij09PWV8fCJwcm9fcHJlbWl1bV9leHBlcnRfdHJpYWwiPT09ZTtzZXRUaW1lb3V0KCgoKT0+KDAsd2Uub3BlblBheXdhbGwpKHtmZWF0dXJlOiJzdHVkeU9uU3R1ZHkiLGlzTWF4UGxhbjp0fSkpLDUwMCl9fX1jb25zdCByPWUudmVyc2lvbnx8MCxvPWUucGFuZXM7bGV0IGM9Il9zZXJpZXNJZCIsaD0xO2Zvcihjb25zdCBlIG9mIG8pe2NvbnN0IHQ9ZS5zb3VyY2VzLmZpbmQoKGU9PiJNYWluU2VyaWVzIj09PWUudHlwZSkpO2lmKHQpe2M9dC5pZCx0LnN0YXRlJiYoaD10LnN0YXRlLnN0eWxlKTticmVha319Y29uc3QgZD0hMCx1PW9bMF07dGhpcy5wYW5lcygpWzBdLnJlc3RvcmVTdGF0ZSh7c3RhdGU6dSx3aXRoRGF0YTp0LHZlcnNpb246cixzZXJpZXNJZDpjLHNldHRpbmdzTWlncmF0aW9uOnMsY29udGVudE92ZXJyaWRlczppLHJlc3RvcmVTaWxlbnRseTpkLHJlYXNvbjoyLHRhcmdldFNlcmllc1N0eWxlOmh9KSx0aGlzLnBhbmVzKClbMF0ubWFpbkRhdGFTb3VyY2UoKXx8dGhpcy5yZW1vdmVQYW5lKHRoaXMucGFuZXMoKVswXSk7bGV0IHA9MTtmb3IobGV0IG49MTtuPGUucGFuZXMubGVuZ3RoO24rKyl7Y29uc3Qgbz1lLnBhbmVzW25dO2lmKDA9PT1vLnNvdXJjZXMubGVuZ3RoJiYoby5tb2RlPz9NLlBhbmVNb2RlLlJlZ3VsYXIpPT09TS5QYW5lTW9kZS5SZWd1bGFyKXt3dS5sb2dXYXJuKCJFbXB0eSBwYW5lIGRldGVjdGVkIC0gcmVzdG9yaW5nIGlzIHNraXBwZWQuIGlkeD0iK24rIiwgc3RhdGU9IitKU09OLnN0cmluZ2lmeShvKSk7Y29udGludWV9Y29uc3QgYT10aGlzLnBhbmVzKClbcF18fHRoaXMuY3JlYXRlUGFuZSgpO2EucmVzdG9yZVN0YXRlKHtzdGF0ZTpvLHdpdGhEYXRhOnQsdmVyc2lvbjpyLHNlcmllc0lkOmMsCnNldHRpbmdzTWlncmF0aW9uOnMsY29udGVudE92ZXJyaWRlczppLHJlc3RvcmVTaWxlbnRseTpkLHJlYXNvbjoyLHRhcmdldFNlcmllc1N0eWxlOmh9KSxhLm1haW5EYXRhU291cmNlKCl8fGEubW9kZSgpIT09TS5QYW5lTW9kZS5SZWd1bGFyP3ArPTE6dGhpcy5yZW1vdmVQYW5lKGEpfWlmKHUuaXNDb2xsYXBzZWQmJnRoaXMuX3BhbmVzWzBdLmNvbGxhcHNlZCgpLnNldFZhbHVlKCEwKSxlLmNoYXJ0UHJvcGVydGllcyYmZS5jaGFydFByb3BlcnRpZXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVQcm9wZXJ0aWVzKXtjb25zdCBpPXRoaXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKTtpJiZpLnJlc3RvcmVEYXRhKGUuY2hhcnRQcm9wZXJ0aWVzLnB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lUHJvcGVydGllcyx0KX10aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpO2NvbnN0IF89dGhpcy5kYXRhU291cmNlcygpO2xldCBtPTA7Zm9yKGxldCBlPTA7ZTxfLmxlbmd0aDtlKyspe2NvbnN0IHQ9X1tlXTsoMCxyaS5pc0xpbmVUb29sKSh0KSYmKG0rKyx0LmNhbGNJc0FjdHVhbFN5bWJvbCgpKX10aGlzLnVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleCgpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5mdWxsVXBkYXRlKCksdGhpcy5zeW5jTG9sbGlwb3BTb3VyY2VzKCk7Y29uc3QgZz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubWFpblBhbmUoKSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyl0aGlzLmRldGFjaFNvdXJjZShlKSxnLmFkZERhdGFTb3VyY2UoZSx0aGlzLl9tYWluU2VyaWVzLnByaWNlU2NhbGUoKSwhMCk7bGV0IGY9UW8uVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgibGluZXRvb2xzX2xpbWl0Iil8fDFlMztyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJndpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5zZXR0aW5ncyYmKGY9d2luZG93LnVzZXIuc2V0dGluZ3MubGluZXRvb2xzX2xpbWl0fHxmKSxlLnNlc3Npb25zJiZ0aGlzLnNlc3Npb25zKCkucmVzdG9yZVN0YXRlKGUuc2Vzc2lvbnMsdCksZS5saW5lVG9vbHNHcm91cHMmJnRoaXMucmVzdG9yZUxpbmVUb29sc0dyb3VwcyhlLmxpbmVUb29sc0dyb3VwcyksbT5mJiZtJTEwMD09MD97bGluZXNfbGltaXRfZXhjZWVkZWQ6ITAsbGluZV90b29sc19jb3VudDptfToodGhpcy5wYW5lcygpLmZvckVhY2goKGU9PnRoaXMuX2RhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKGUpKSksdGhpcy5fbGluZVRvb2xzR3JvdXBNb2RlbC5maXJlQ2hhbmdlZEFsbCgpLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LnNldFZhbHVlKGUubGlua2luZ0dyb3VwPz9udWxsKSx0aGlzLl9yZXN0b3JpbmdTdGF0ZT0hMSx7fSl9c2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpe3JldHVybiB0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVufXNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oZSl7dGhpcy5fc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj1lfWV4dGVybmFsVGltZVN0YW1wKGUpe2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7cmV0dXJuIHRoaXMudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hUaW1lKGUsdCYmdC5wcm9qZWN0VGltZS5iaW5kKHQpKX1zeW5jTG9sbGlwb3BTb3VyY2VzKCl7dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlckxvYWRlcj8uY2FsbEZ1bmN0aW9uKCgoKT0+e251bGwhPT10aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyJiZ0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyLnN5bmNTb3VyY2VzKCl9KSl9cmVzdG9yZUNoYXJ0RXZlbnRzKGUpe3RoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXI/LmNhbGxGdW5jdGlvbigoKCk9PntudWxsIT09dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlciYmdGhpcy5fb3B0aW9ucy5jaGFydEV2ZW50c0VuYWJsZWQmJnRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXIucmVzdG9yZUNoYXJ0RXZlbnRzKGUpfSkpfXJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoZSl7aWYodGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLnJlYXNvbnMuYWRkKGUpLHRoaXMuX21haW5TZXJpZXMuaXNTdGFydGVkKCkmJnRoaXMuX21haW5TZXJpZXMuaXNDb21wbGV0ZWQoKSl7Y29uc3QgdD0oMCxsLmVuc3VyZURlZmluZWQpKEl1LmdldChlKSkuYWRhcHRlcixpPU1hdGgubWluKC4uLkFycmF5LmZyb20odGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLnJlYXNvbnMpLm1hcCgoZT0+KDAsbC5lbnN1cmVEZWZpbmVkKShJdS5nZXQoZSkpKSkuZmlsdGVyKChlPT5lLmFkYXB0ZXI9PT10KSkubWFwKChlPT5lLnRpbWVvdXQpKSk7KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzSW1wbERlYm91bmNlZEJ5QWRhcHRlci5nZXQodCk/LmdldChpKSkoKX1lbHNlIHRoaXMuX3JlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNJbXBsKHRoaXMuX3JlY2FsY1ZSU3R1ZGllc1BhcmFtcyl9cmVjYWxjQ29sb3JTdHVkaWVzKGUpe3RoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc1BhcmFtcy5mb3JjZT10aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNQYXJhbXMuZm9yY2V8fEJvb2xlYW4oZSksdGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzSW1wbERlYm91bmNlZCgpfXJlY2FsY1N0dWR5QmFzZWRMaW5lVG9vbHMoKXt0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoZT0+eygwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoZSkmJmUucmVjYWxjU3R1ZHlJZk5lZWRlZCgpfSkpfWFsZXJ0c1dhdGNoZXIoKXtyZXR1cm4gdGhpcy5fYWxlcnRzV2F0Y2hlcn1hbGVydHNDb2xsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2FsZXJ0c0NvbGxlY3Rpb24ucmVhZG9ubHkoKX1zaG93TGVnZW5kKCl7cmV0dXJuIHRoaXMuX3Nob3dMZWdlbmRQcm9wZXJ0eX1pZCgpe3JldHVybiB0aGlzLl9pZH1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlfWNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpewp0aGlzLl9jcm9zc0hhaXJTb3VyY2UuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl9cmVxdWVzdFNlbGVjdFBvaW50KGUpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2UucmVxdWVzdFNlbGVjdFBvaW50KGUpfW9uUG9pbnRTZWxlY3RlZCgpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2Uub25Qb2ludFNlbGVjdGVkKCl9cmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZSgpe2NvbnN0IGU9dGhpcy5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IGkgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpaS5zeW1ib2xTb3VyY2UoKT09PWUmJmkuZGlzYWJsZVByaWNlUmFuZ2VSZWFkeSgpfWludmFsaWRhdGUoZSl7dGhpcy5faW52YWxpZGF0ZUhhbmRsZXI/LihlKX1hcHBsaWVkVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuYXBwbGllZFRpbWVGcmFtZSgpfWJhcnNNYXJrc1NvdXJjZXMoKXtyZXR1cm4gdGhpcy5fYmFyc01hcmtzU291cmNlc31jcmVhdGVTeW5jUG9pbnQoZSx0KXtyZXR1cm4oMCxsdS5nZXREZWZhdWx0MkxhenkpKHRoaXMuX3N5bmNQb2ludENhY2hlLGUudW5pcXVlSWQsdC51bmlxdWVJZCwoKCk9Pm5ldyBhaChlLHQpKSl9aXNBdXRvU2F2ZUVuYWJsZWQoKXtyZXR1cm4gdGhpcy5faXNBdXRvU2F2ZUVuYWJsZWR9bGlua2luZ0dyb3VwSW5kZXgoKXtyZXR1cm4gdGhpcy5fbGlua2luZ0dyb3VwSW5kZXh9c3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldCgpe3JldHVybiB0aGlzLl90aW1lU2NhbGUudXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KCkudmFsdWUoKT90aGlzLl90aW1lU2NhbGUucGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKHRoaXMuc3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKSk6TWF0aC5tYXgodGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldCgpLnZhbHVlKCksdGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldCl9c3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnZhbHVlKCk/TWF0aC5tYXgodGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKS52YWx1ZSgpLHRoaXMuX3RpbWVTY2FsZS5iYXJJbmRleExlbmd0aFRvUGVyY2VudHModGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldCkpOnRoaXMuX3RpbWVTY2FsZS5iYXJJbmRleExlbmd0aFRvUGVyY2VudHModGhpcy5zdHVkeUF3YXJlRGVmYXVsdFJpZ2h0T2Zmc2V0KCkpfWNsZWFyQWxsU3R1ZGllcygpe3RoaXMuZGF0YVNvdXJjZXMoKS5mb3JFYWNoKChlPT5lLmNsZWFyRGF0YT8uKCkpKX1zZXRUaW1lU2NhbGVBbmltYXRpb24oZSx0KXtjb25zdCBpPUxlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKSxzPXRoaXMuX3RpbWVTY2FsZTtpLnNldFRpbWVTY2FsZUFuaW1hdGlvbihlLHQ/P3Mud2lkdGgoKS1zLmluZGV4VG9Db29yZGluYXRlKHMuYmFzZUluZGV4KCkpKSx0aGlzLmludmFsaWRhdGUoaSl9c3RvcFRpbWVTY2FsZUFuaW1hdGlvbigpe3RoaXMuX3RpbWVTY2FsZS5lbmRTY3JvbGwoKTtjb25zdCBlPUxlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKTtlLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLmludmFsaWRhdGUoZSl9bG9sbGlwb3BTb3VyY2VzT3B0aW9ucygpe2NvbnN0IGU9dGhpcy5fb3B0aW9ucztyZXR1cm57Y2hhcnRFdmVudHNFbmFibGVkOiF0aGlzLl9vcHRpb25zLmlzU25hcHNob3QmJnRoaXMuX29wdGlvbnMuY2hhcnRFdmVudHNFbmFibGVkLGVzZEVuYWJsZWQ6ZS5lc2RFbmFibGVkLG5ld3NOb3RpZmljYXRpb25zRW5hYmxlZDplLm5ld3NOb3RpZmljYXRpb25zRW5hYmxlZCxjb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQ6ZS5jb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQsZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvbkVuYWJsZWQ6ZS5mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uRW5hYmxlZCxsYXRlc3RVcGRhdGVzRW5hYmxlZDplLmxhdGVzdFVwZGF0ZXNFbmFibGVkfX1vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWR9c2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpe2Uuc2V0UHJpY2VBdXRvU2NhbGUodCxpKSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfWNhbGN1bGF0ZURlZmF1bHRUYWdzKCl7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZXMoKS5yZWR1Y2UoKChlLHQpPT4odC50YWdzJiZlLnB1c2goLi4udC50YWdzKCkpLGUpKSxbXSl9YXN5bmMgd2l0aG91dExpbmVUb29sc1N5bmNBY3Rpb24oZSl7dHJ5e3RoaXMuX2xpbmVUb29sc1N5bmNCbG9jaysrLGF3YWl0IGUoKX1maW5hbGx5e3RoaXMuX2xpbmVUb29sc1N5bmNCbG9jay0tfX1zeW1ib2xBbGlhc1NlcnZpY2UoKXtyZXR1cm4gdGhpcy5fc3ltYm9sQWxpYXNTZXJ2aWNlfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpe3JldHVybiB0aGlzLl91bmRvTW9kZWwuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBBY3RpdmUoKXtyZXR1cm4gdGhpcy5fdW5kb01vZGVsLmNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCl9X3N1YnNjcmliZVRvTGluZVRvb2xzR3JvdXBNb2RlbCgpe3RoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25MaW5lVG9vbHNHcm91cE1vZGVsQ2hhbmdlZCl9X3Vuc3Vic2NyaWJlRnJvbUxpbmVUb29sc0dyb3VwTW9kZWwoKXt0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsLm9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfV9tYXliZVVwZGF0ZVByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cCgpe2NvbnN0IGU9dGhpcy5fY3VycmVudFRvb2wudmFsdWUoKSx0PXRoaXMuX3NlbGVjdGlvbi5hbGxJdGVtc1NvcnRlZCgpLm1hcCgoZT0+KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSk/ZS5pZDplLmlkKCkpKTsoMCwKbS5pc0xpbmVUb29sTmFtZSkoZSkmJnQubGVuZ3RoP3RoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz10OiEoMCxULnRvb2xJc0N1cnNvcikoZSkmJiEoMCxULnRvb2xJc01lYXN1cmUpKGUpfHx0Lmxlbmd0aHx8KHRoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz1udWxsKX1fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKXt0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoZT0+eygwLHRpLmlzU3R1ZHkpKGUpJiZlLmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmKGUudXBkYXRlQWxsVmlld3MoKDAsdG4uc2VsZWN0aW9uQ2hhbmdlRXZlbnQpKCkpLHRoaXMudXBkYXRlU291cmNlKGUpKX0pKX1faW5pdEFsZXJ0c0xpc3QoKXtyZXR1cm4gdGhpcy5fYWxlcnRzTGlzdFByb21pc2V8fCh0aGlzLl9hbGVydHNMaXN0UHJvbWlzZT0oMCxVcy5nZXRDaGFydEFsZXJ0c0ZhY2FkZSkoKS50aGVuKChlPT57Y29uc3QgdD1lLmNyZWF0ZUNvbGxlY3Rpb24oKCgpPT50aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpKSwoKCk9PnRoaXMubWFpblNlcmllcygpLmFjdHVhbFN5bWJvbCgpKSwoKCk9PnRoaXMubWFpblNlcmllcygpLnByb1N5bWJvbCgpKSk7dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5zZXRWYWx1ZSh0KSx0LmFsZXJ0QWRkZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9hZGRBbGVydExhYmVsVG9DaGFydC5iaW5kKHRoaXMpKSx0LmFsZXJ0UmVtb3ZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlbW92ZUFsZXJ0TGFiZWxGcm9tQ2hhcnQuYmluZCh0aGlzKSksdC5maXJzdENvbmRpdGlvbkFsZXJ0U2VyaWVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLChlPT57KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmFsZXJ0c1dhdGNoZXIoKSkuaXNBbGVydExhYmVsQmVpbmdNb3ZlZChlLHRoaXMuc291cmNlc0JlaW5nTW92ZWQoKSl8fCh0aGlzLl9yZW1vdmVBbGVydExhYmVsRnJvbUNoYXJ0KGUpLHRoaXMuX2FkZEFsZXJ0TGFiZWxUb0NoYXJ0KGUpKX0pKSx0LnN5bmMoKTtjb25zdCBpPWU9Pnt0aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKVtlXSh0aGlzLHMpLHRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xFcnJvcigpW2VdKHRoaXMsdGhpcy5fcmVtb3ZlQWxsQWxlcnRMYWJlbHNGcm9tQ2hhcnQpLHRoaXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbFtlXSh0aGlzLHMpfSxzPSgpPT57dD8uc3luYygpfTtyZXR1cm4gd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKCgpPT57dD8ucmVzZXQoKSxpKHdpbmRvdy5pc19hdXRoZW50aWNhdGVkPyJzdWJzY3JpYmUiOiJ1bnN1YnNjcmliZSIpfSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZpKCJzdWJzY3JpYmUiKSx0fSkpKSx0aGlzLl9hbGVydHNMaXN0UHJvbWlzZX1fdXBkYXRlU3R1ZGllc01heE9mZnNldCgpe2NvbnN0IGU9TWF0aC5tYXgoLi4udGhpcy5hbGxTdHVkaWVzKCkubWFwKChlPT5lLm1heE9mZnNldCgpLnZhbHVlKCkpKSk7dGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldD1lO2NvbnN0IHQ9dGhpcy5fdGltZVNjYWxlLnJpZ2h0T2Zmc2V0KCk7aWYodDwwKXJldHVybjtpZihlPD10KXJldHVybjtjb25zdCBpPXRoaXMuX3RpbWVTY2FsZS5sb2dpY2FsUmFuZ2UoKTtpP3RoaXMuX3RpbWVTY2FsZS56b29tVG9CYXJzUmFuZ2UoaS5sZWZ0KCksdGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpK01hdGgubWF4KHRoaXMuX3RpbWVTY2FsZS5yaWdodE9mZnNldCgpLGUpKTp0aGlzLl90aW1lU2NhbGUuc2V0UmlnaHRPZmZzZXQoTWF0aC5tYXgodCxlKSl9X3VwZGF0ZUJhc2VJbmRleChlLHQpe2NvbnN0IGk9dGhpcy5fdGltZVNjYWxlLHM9aS5iYXNlSW5kZXgoKSxuPWkubG9naWNhbFJhbmdlKCk7aWYobnVsbCE9PW4mJnQpe2NvbnN0IHQ9bi5jb250YWlucyhzKSxyPWUtcyxvPXQ/bnVsbDppLnJpZ2h0T2Zmc2V0KCktcjtpZighdGhpcy5fb3B0aW9ucy5zaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyJiZ0KXtjb25zdCBlPWkud2lkdGgoKS9pLmJhclNwYWNpbmcoKSx0PWUvKGUrcikscz1NYXRoLm1heChpLm1pbkJhclNwYWNpbmcoKSxpLmJhclNwYWNpbmcoKSp0KTtpLnNldEJhclNwYWNpbmcocyl9bnVsbCE9PW8mJmkuc2V0UmlnaHRPZmZzZXQobyl9aS5zZXRCYXNlSW5kZXgoZSl9YXN5bmMgX2NyZWF0ZUxvbGxpcG9wU291cmNlc1dhdGNoZXIoKXt7Y29uc3QgZT10aGlzLmxvbGxpcG9wU291cmNlc09wdGlvbnMoKSx0PVtlLmVzZEVuYWJsZWQsZS5jb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQsZS5mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uRW5hYmxlZCxlLmxhdGVzdFVwZGF0ZXNFbmFibGVkLGUuY2hhcnRFdmVudHNFbmFibGVkXSxzPSgwLEoub25XaWRnZXQpKCksbj10aGlzLmlzU25hcHNob3QoKTsodC5zb21lKEJvb2xlYW4pfHwhc3x8bikmJihhd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpLHRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXI9bmV3IHRhLkFzeW5jUmVzb3VyY2VXcmFwcGVyKGkuZSg4MTYwNSkudGhlbihpLmJpbmQoaSw2NjQwKSkpLHRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXIuY2FsbEZ1bmN0aW9uKChlPT57dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlcj1uZXcgZS5Mb2xsaXBvcFNvdXJjZXNXYXRjaGVyKHRoaXMpfSkpKX19X3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKCl7Y29uc3QgZT1paC5kYXRlRm9ybWF0UHJvcGVydHkudmFsdWUoKSx0PXRoaXMub25XaWRnZXQoKT92b2lkIDA6bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS52YWx1ZSgpO2lmKHRoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IHRoLkRhdGVGb3JtYXR0ZXIoZSx0KSx0aGlzLm1haW5TZXJpZXMoKS5pc0RXTSgpKXRoaXMuX2RhdGVUaW1lRm9ybWF0dGVyPW5ldyB0aC5EYXRlRm9ybWF0dGVyKGUsdCksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgQ2MuVGltZUZvcm1hdHRlcigoMCwKUGMuZ2V0SG91ck1pbnV0ZUZvcm1hdCkoVGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkudmFsdWUoKSkpO2Vsc2V7Y29uc3QgaT14LkludGVydmFsLnBhcnNlKHRoaXMubWFpblNlcmllcygpLmludGVydmFsKCkpLHM9KDAsUGMuZ2V0VGltZUZvcm1hdEZvckludGVydmFsKShpLFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpO3RoaXMuX2RhdGVUaW1lRm9ybWF0dGVyPW5ldyBlaC5EYXRlVGltZUZvcm1hdHRlcih7ZGF0ZUZvcm1hdDplLHdpdGhXZWVrZGF5OnQsdGltZUZvcm1hdDpzLGRhdGVUaW1lU2VwYXJhdG9yOiIgICAifSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgQ2MuVGltZUZvcm1hdHRlcihzKX19X2ludmFsaWRhdGlvbk1hc2tGb3JTb3VyY2UoZSx0PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KXtpZihlPT09dGhpcy5jcm9zc2hhaXJTb3VyY2UoKSlyZXR1cm4gTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKTtpZih0aGlzLl93YXRlcm1hcmtTb3VyY2U9PT1lKXJldHVybiB0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzaygoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpLHQpO2lmKC0xIT09dGhpcy5fYWxsQ3VzdG9tU291cmNlcy5pbmRleE9mKGUpKXtjb25zdCBlPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrO3JldHVybiBlLmludmFsaWRhdGVBbGwodCksZX1pZighKDAsQWkuaXNEYXRhU291cmNlKShlKSlyZXR1cm4gbnVsbDtpZihlLmlzTXVsdGlQYW5lRW5hYmxlZCgpKXJldHVybiBuZXcgTGUuSW52YWxpZGF0aW9uTWFzayh0KTtjb25zdCBpPXRoaXMucGFuZUZvclNvdXJjZShlKTtyZXR1cm4gbnVsbCE9PWk/dGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soaSx0KTpudWxsfV9wYW5lSW52YWxpZGF0aW9uTWFzayhlLHQ9TGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpe2NvbnN0IGk9bmV3IExlLkludmFsaWRhdGlvbk1hc2sscz10aGlzLl9wYW5lcy5pbmRleE9mKGUpO3JldHVybiBpLmludmFsaWRhdGVBbGxQYW5lKHMsdCksaX1faW52YWxpZGF0aW9uTWFza0ZvclNvdXJjZVByaWNlU2NhbGUoZSx0PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KXtpZighKDAsQWkuaXNEYXRhU291cmNlKShlKSlyZXR1cm4gbmV3IExlLkludmFsaWRhdGlvbk1hc2sodCk7Y29uc3QgaT10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYobnVsbD09PWkpcmV0dXJuIG51bGw7bGV0IHM9ZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3Qgbj10aGlzLl9wYW5lcy5pbmRleE9mKGkpO2xldCByPWkucHJpY2VTY2FsZVBvc2l0aW9uKHMpO2lmKCJvdmVybGF5Ij09PXIpe2NvbnN0IGU9dGhpcy5fcGFuZXNbbl0uZGVmYXVsdFByaWNlU2NhbGUoKTtzPWUscj1pLnByaWNlU2NhbGVQb3NpdGlvbihlKX1jb25zdCBvPWkucHJpY2VTY2FsZUluZGV4KHMscik7aWYodm9pZCAwPT09bylyZXR1cm4gbnVsbDtjb25zdCBhPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrO3JldHVybiBhLmludmFsaWRhdGVQcmljZVNjYWxlKG4scixvLHQpLGF9X3JlbW92ZUN1c3RvbVNvdXJjZShlKXtjb25zdCB0PXRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuIHZvaWQgd3UubG9nV2FybihgQXR0ZW1wdCB0byByZW1vdmUgY3VzdG9tIHNvdXJjZSB3aGljaCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbW9kZWwgLSAiJHtlfSJgKTt3dS5sb2dOb3JtYWwoYFJlbW92aW5nIGN1c3RvbSBzb3VyY2UgIiR7ZX0iYCksdGhpcy5zZWxlY3Rpb25NYWNybygoZT0+e2UucmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24odCl9KSksdGhpcy5faG92ZXJlZFNvdXJjZT09PXQmJnRoaXMuc2V0SG92ZXJlZFNvdXJjZShudWxsKSx0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkPT09dCYmdGhpcy5zZXRNb3ZpbmdDdXN0b21Tb3VyY2UobnVsbCxudWxsKTtjb25zdCBpPUN1KHRoaXMuX2JnQ3VzdG9tU291cmNlcyx0KSxzPUN1KHRoaXMuX2ZnQ3VzdG9tU291cmNlcyx0KSxuPUN1KHRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzLHQpLHI9Q3UodGhpcy5fYWxsQ3VzdG9tU291cmNlcyx0KTsoMCxsLmFzc2VydCkoaXx8c3x8biwiU291cmNlIHNob3VsZCBiZSBwcmVzZW50ZWQgaW4gb25lIG9mIHRoZSBsYXllcnMiKSwoMCxsLmFzc2VydCkociwiU291cmNlIHNob3VsZCBiZSBwcmVzZW50ZWQgaW4gdGhlIGFycmF5IiksdGhpcy5fY3VzdG9tU291cmNlc01hcC5kZWxldGUoZSksdC5kZXN0cm95KCl9X3VwZGF0ZVNob3dMZWdlbmRQcm9wZXJ0eSgpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dMZWdlbmQsdD10aGlzLl9zaG93TGVnZW5kUHJvcGVydHk7aWYoZS52YWx1ZSgpKXQuc2V0VmFsdWUoITApO2Vsc2V7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcGFuZXMpe2xldCBpPTA7Zm9yKGNvbnN0IHMgb2YgZS5wcmljZURhdGFTb3VyY2VzKCkpaWYobnVsbCE9PXMuc3RhdHVzVmlldygpJiYoaSsrLGk+PTIpKXJldHVybiB2b2lkIHQuc2V0VmFsdWUoITEpfXQuc2V0VmFsdWUoITApfX1fcG9pbnRUb1BlcmNlbnRQb3NpdGlvbihlLHQpe3JldHVybnt4OmUueC90aGlzLl90aW1lU2NhbGUud2lkdGgoKSx5OmUueS8oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkodC5tYWluRGF0YVNvdXJjZSgpKS5wcmljZVNjYWxlKCkpLmhlaWdodCgpfX1fcGVyY2VudFBvc2l0aW9uVG9Qb2ludChlLHQpe2NvbnN0IGk9ZS54KnRoaXMuX3RpbWVTY2FsZS53aWR0aCgpLHM9ZS55KigwLGwuZW5zdXJlTm90TnVsbCkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0Lm1haW5EYXRhU291cmNlKCkpLnByaWNlU2NhbGUoKSkuaGVpZ2h0KCk7cmV0dXJuIG5ldyBQdC5Qb2ludChpLHMpfV9yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzSW1wbChlKXsKaWYoIXRoaXMuX21haW5TZXJpZXMuaXNTdGFydGVkKCl8fCF0aGlzLl9tYWluU2VyaWVzLmlzQ29tcGxldGVkKCkpcmV0dXJuIHZvaWQgdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cy5zZXRWYWx1ZShudWxsKTtpZih0aGlzLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLl9tYWluU2VyaWVzLmJhcnMoKSxzPWkuc2VhcmNoKHQuZmlyc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpLG49aS5zZWFyY2godC5sYXN0QmFyKCksWm8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpLHI9aS5sYXN0SW5kZXgoKSxvPXM/cy5pbmRleDp2b2lkIDAsYT1uP24uaW5kZXg6dm9pZCAwLGw9bz09PWUub2xkU3RhcnRWaXNpYmxlSW5kZXgsYz1hPT09ZS5vbGRFbmRWaXNpYmxlSW5kZXgsaD1bSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0LElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU2VyaWVzQ29tcGxldGVkLElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU3R1ZHlDcmVhdGlvbl0uc29tZSgodD0+ZS5yZWFzb25zLmhhcyh0KSkpO2wmJmMmJiFofHwoZS5yZWFzb25zLmNsZWFyKCksZS5vbGRTdGFydFZpc2libGVJbmRleD12b2lkIDAhPT1vP286TmFOLGUub2xkRW5kVmlzaWJsZUluZGV4PXZvaWQgMCE9PWE/YTpOYU4sdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cy5zZXRWYWx1ZSh7Zmlyc3RWaXNpYmxlQmFyVGltZToxZTMqKHM/LnZhbHVlWzBdPz8wKSxsYXN0VmlzaWJsZUJhclRpbWU6MWUzKihuPy52YWx1ZVswXT8/MCksc3Vic2NyaWJlUmVhbHRpbWU6bj8uaW5kZXg9PT1yfSkpfV9yZWNhbGNDb2xvclN0dWRpZXNJbXBsKGUpe2NvbnN0IHQ9dGhpcy5iYWNrZ3JvdW5kQ29sb3JBdFlQZXJjZW50RnJvbVRvcCguNSksaT10aGlzLmRhcmsoKS52YWx1ZSgpP1hvLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS0yMDAiXTpYby5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktOTAwIl0scz10PT09ZS5vbGRCZ0NvbG9yLG49aT09PWUub2xkRmdDb2xvcjtpZihzJiZuJiYhZS5mb3JjZSlyZXR1cm47ZS5mb3JjZT0hMSxlLm9sZEJnQ29sb3I9dCxlLm9sZEZnQ29sb3I9aTtjb25zdCByPWUuc3R1ZGllcz8/dGhpcy5wcmljZURhdGFTb3VyY2VzKCk7ZS5zdHVkaWVzPXZvaWQgMDtmb3IoY29uc3QgZSBvZiByKWlmKCgwLHRpLmlzU3R1ZHkpKGUpKXtjb25zdCBzPWUubWV0YUluZm8oKS5pbnB1dHMuZmlsdGVyKE50LmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzKSxuPWUucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cztzLmZvckVhY2goKGU9Pntjb25zdCBzPWUuaWQ9PT1OdC5DaGFydENvbG9yRGVwZW5kZW50U3R1ZHlJbnB1dE5hbWVzLkZnQ29sb3I/aTp0O24uY2hpbGRzKClbZS5pZF0uc2V0VmFsdWVTaWxlbnRseShzKX0pKSxzLmxlbmd0aD4wJiZuLmZpcmVDaGFuZ2VkKCl9fV9nZXRBbGxTb3VyY2VzKGUsdD1rdSl7Y29uc3QgaT1bXTtmb3IoY29uc3QgcyBvZiB0aGlzLl9wYW5lcyl7Y29uc3Qgbj10KHMpO2Zvcihjb25zdCB0IG9mIG4pZSh0KSYmaS5wdXNoKHQpfXJldHVybiBpfV9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpe3RoaXMubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGUoKX1fYWRkQWxlcnRMYWJlbFRvQ2hhcnQoZSl7e2lmKCFlLmlzQWxlcnRQcmVzZW50T25UYXJnZXQodWguQWxlcnRDaGFydERpc3BsYXlUYXJnZXQuTGFiZWwpKXJldHVybjtjb25zdCB0PWUuZmlyc3RDb25kaXRpb25TZXJpZXNJZCgpO2lmKG51bGw9PT10KXJldHVybjsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5hZGRBbGVydChlLHQpfX1fcmVtb3ZlQWxlcnRMYWJlbEZyb21DaGFydChlKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5yZW1vdmVBbGVydChlKX1fcmVtb3ZlQWxsQWxlcnRMYWJlbHNGcm9tQ2hhcnQoKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5yZW1vdmVBbGxBbGVydExhYmVscygpfV91cGRhdGVUaW1lU2NhbGUoZSl7Y29uc3R7aW5kZXg6dCx6b2Zmc2V0OmksdmFsdWVzOnMsaW5kZXhEaWZmczpuLGJhc2VJbmRleDpyLG1hcmtzOm8sY2xlYXJGbGFnOmEsY2xlYXJUaWNrTWFya3M6bH09ZTtpZihhKXt0aGlzLl90aW1lU2NhbGUucmVzZXQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5jbGVhckRhdGE/LigpfWlmKG4ubGVuZ3RoPjApZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKWUubW92ZURhdGE/LihuKTtjb25zdCBjPXRoaXMuX3RpbWVTY2FsZS5pbmRleFRvVGltZVBvaW50KHRoaXMuX3RpbWVTY2FsZS5iYXNlSW5kZXgoKSksaD10aGlzLl90aW1lU2NhbGUuY2FuTm9ybWFsaXplKCk7dGhpcy5fdGltZVNjYWxlLnVwZGF0ZSh0LGkscyxvLGx8fCExKTtjb25zdCBkPXRoaXMuX3RpbWVTY2FsZS5wb2ludHMoKS5yYW5nZSgpLnZhbHVlKCk7bGV0IHU9IkNoYXJ0TW9kZWwucHJvdG90eXBlLl91cGRhdGVUaW1lU2NhbGUoIit0KyIsIitpKyIsIitzLmxlbmd0aCsiLCIrbi5sZW5ndGgrIiwiK28ubGVuZ3RoKyIsIithKyIpIjtpZih1Kz0iVGltZVNjYWxlOiB7Zmlyc3Q6IisoZD8uZmlyc3RJbmRleD8/bnVsbCkrIixsYXN0OiIrKGQ/Lmxhc3RJbmRleD8/bnVsbCkrIn0iLG51bGw9PT1yKXt0aGlzLl90aW1lU2NhbGUucmVzZXRCYXNlSW5kZXgoKTtjb25zdCBlPXRoaXMuX3RpbWVTY2FsZS5yaWdodE9mZnNldCgpO3RoaXMuX3RpbWVTY2FsZS5zZXRSaWdodE9mZnNldChNYXRoLm1heChlLHRoaXMuX2NhY2hlZFN0dWRpZXNNYXhPZmZzZXQpKX1lbHNlIGlmKHZvaWQgMCE9PXIpe2NvbnN0IGU9dGhpcy5fdGltZVNjYWxlLmluZGV4VG9UaW1lUG9pbnQociksdD1udWxsIT09YyYmbnVsbCE9PWUmJmU+Yzt0aGlzLl91cGRhdGVCYXNlSW5kZXgocix0KX0KaWYod3UubG9nRGVidWcodSksIWgmJmghPT10aGlzLl90aW1lU2NhbGUuY2FuTm9ybWFsaXplKCkpZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKSEoMCxyaS5pc0xpbmVUb29sKShlKXx8ZS5pc0ZpeGVkKCl8fGUuaXNTb3VyY2VIaWRkZW4oKXx8ZS5wcm9jZXNzSGliZXJuYXRlKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKWUudXBkYXRlQWxsVmlld3Moe3R5cGU6ImRhdGEtc291cmNlLWNoYW5nZSIsc291cmNlSWQ6ZS5pZCgpLGNsZWFyRGF0YTohMH0pO3RoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5saWdodFVwZGF0ZSgpfV9nZXRBdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHRoaXMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpPygwLGEuaXNBcnJheSkodGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3QpP3RoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXNMaXN0OihudWxsIT09dGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3R8fCh0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzTGlzdD0oMCxxZS5yZXNwZWN0QWJvcnQpKHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsdGhpcy5jaGFydEFwaSgpLmF2YWlsYWJsZUN1cnJlbmNpZXMoKSksdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3QudGhlbigoZT0+e3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXNMaXN0PWUsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5zZXRWYWx1ZShuZXcgTGgoZSkpLHRoaXMuZnVsbFVwZGF0ZSgpKX0pKS5jYXRjaCgoZT0+e3d1LmxvZ1dhcm4oYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgY3VycmVuY2llcyBjb25maWc6ICR7ZX1gKX0pKSksW10pOltdfV9nZXRBdmFpbGFibGVVbml0cygpe3JldHVybiB0aGlzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpP3RoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0IGluc3RhbmNlb2YgUHJvbWlzZXx8bnVsbD09PXRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0PyhudWxsIT09dGhpcy5fYXZhaWxhYmxlVW5pdHNPYmplY3R8fCh0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD0oMCxxZS5yZXNwZWN0QWJvcnQpKHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsdGhpcy5jaGFydEFwaSgpLmF2YWlsYWJsZVVuaXRzKCkpLHRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0LnRoZW4oKGU9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD1lLHRoaXMuX2F2YWlsYWJsZVVuaXRzLnNldFZhbHVlKG5ldyBBaChlKSksdGhpcy5mdWxsVXBkYXRlKCkpfSkpLmNhdGNoKChlPT57d3UubG9nV2FybihgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyB1bml0cyBjb25maWc6ICR7ZX1gKX0pKSkse30pOnRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0Ont9fV9nZXRBbGxBdmFpbGFibGVNZXRyaWNzKCl7cmV0dXJuIHRoaXMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKT8oMCxhLmlzQXJyYXkpKHRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0KT90aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdDoobnVsbCE9PXRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0fHwodGhpcy5fYWxsQXZhaWxhYmxlTWV0cmljc0xpc3Q9KDAscWUucmVzcGVjdEFib3J0KSh0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLHRoaXMuY2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCkpLHRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0LnRoZW4oKGU9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdD1lLHRoaXMuZnVsbFVwZGF0ZSgpKX0pKS5jYXRjaCgoZT0+e3d1LmxvZ1dhcm4oYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgY3VycmVuY2llcyBjb25maWc6ICR7ZX1gKX0pKSksW10pOltdfV9nZXRBdmFpbGFibGVQcmljZVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5nZXQoZSk7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdDtpZigoMCxhLmlzUHJvbWlzZSkodCkpcmV0dXJuW107Y29uc3QgaT10aGlzLmNoYXJ0QXBpKCkuYXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpO3JldHVybiB0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5zZXQoZSxpKSxpLnRoZW4oKHQ9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5zZXQoZSx0KSx0aGlzLmZ1bGxVcGRhdGUoKSl9KSkuY2F0Y2goKGU9Pnt3dS5sb2dXYXJuKGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZXR0aW5nIHByaWNlIHNvdXJjZXMgY29uZmlnOiAke2V9YCl9KSksW119X2NsZWFyQXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7dGhpcy5fYXZhaWxhYmxlUHJpY2VTb3VyY2VzQnlTeW1ib2wuY2xlYXIoKX1fb25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXt0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWQuZmlyZSgpfV9nZXRCYWNrZ3JvdW5kQ29sb3IoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpO2lmKHQuYmFja2dyb3VuZFR5cGUudmFsdWUoKT09PXBpLkNvbG9yVHlwZS5HcmFkaWVudCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxpKXtpZigoMCxrLmdldEN1cnJlbnRUaGVtZSkoKS5uYW1lPT09Sm8uU3RkVGhlbWUuRGFyayYmKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYoMCxrLmlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmRHcmFkaWVudFN0YXJ0Q29sb3IiLGUsSm8uU3RkVGhlbWUuRGFyaykmJigwLGsuaXNTdGRUaGVtZWREZWZhdWx0VmFsdWUpKCJjaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IiLHQsSm8uU3RkVGhlbWUuRGFyaykpcmV0dXJuIGNoO3JldHVybiBpP2U6dAp9KHQuYmFja2dyb3VuZEdyYWRpZW50U3RhcnRDb2xvci52YWx1ZSgpLHQuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IudmFsdWUoKSxCb29sZWFuKGUpKX1yZXR1cm4gZnVuY3Rpb24oZSl7aWYoKDAsay5nZXRDdXJyZW50VGhlbWUpKCkubmFtZT09PUpvLlN0ZFRoZW1lLkRhcmsmJigwLFguaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmKDAsay5pc1N0ZFRoZW1lZERlZmF1bHRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcy5iYWNrZ3JvdW5kIixlLEpvLlN0ZFRoZW1lLkRhcmspKXJldHVybiBjaDtyZXR1cm4gZX0odC5iYWNrZ3JvdW5kLnZhbHVlKCkpfV9nZXRCYWNrZ3JvdW5kQ291bnRlckNvbG9yKCl7Y29uc3QgZT10aGlzLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCk7cmV0dXJuImJsYWNrIj09PSgwLHlpLnJnYlRvQmxhY2tXaGl0ZVN0cmluZykoKDAseWkucGFyc2VSZ2IpKGUpLDE1MCk/IndoaXRlIjoiYmxhY2sifV91cGRhdGVCYWNrZ3JvdW5kQ29sb3IoKXt0aGlzLl9iYWNrZ3JvdW5kQ29sb3Iuc2V0VmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvci5zZXRWYWx1ZSh0aGlzLl9nZXRCYWNrZ3JvdW5kQ29sb3IoITApKX1fc3luY0Nyb3NzaGFpcihlKXtpZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24pe2NvbnN0IHQ9dGhpcy5fdW5kb01vZGVsLm1haW5TZXJpZXMoKSxpPXQuc3luY01vZGVsKCkscz10aGlzLl91bmRvTW9kZWwuY3Jvc3NoYWlyU291cmNlKCksbj1zLnBhbmU7aWYobnVsbCE9PWkmJm51bGwhPT1uKXtjb25zdCByPXt0aW1lU3RhbXA6dGhpcy5fdGltZVNjYWxlLnBvaW50cygpLnJvdWdoVGltZShzLmluZGV4LGkucHJvamVjdFRpbWUuYmluZChpKSksc3luY1NvdXJjZVRhcmdldDppLnN5bmNTb3VyY2VUYXJnZXQoKX07bi5tYWluRGF0YVNvdXJjZSgpPT09dCYmKHIucHJpY2U9cy5wcmljZSxyLnN5bWJvbD10LnN5bWJvbCgpKSx0aGlzLl91bmRvTW9kZWwuc3luY0Nyb3NzaGFpcihyLGUpfXRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIub25DdXJzb3JQb3NpdGlvblVwZGF0ZWQoKX19X2dvdG9UaW1lSW1wbChlLHQpe2NvbnN0IGk9dGhpcy50aW1lU2NhbGUoKSxzPXRoaXMubWFpblNlcmllcygpO2xldCBuO2lmKHZvaWQgMCE9PWUpe2lmKHRoaXMuX3Njcm9sbGluZ1N0YXRlJiZ0aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZC5yZWplY3QoKSxuPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSwhcy5pc0RXTSgpKXtjb25zdCB0PXMuc3ltYm9sSW5mbygpO2lmKG51bGwhPT10KXtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCkudmFsdWUoKSksbj0oMCxvLmNhbF90b191dGMpKCgwLG8uZ2V0X3RpbWV6b25lKShpKSxuZXcgRGF0ZShlKSkscj0oMCxVaC5jcmVhdGVUaW1lVG9CYXJUaW1lQWxpZ25lcikocy5pbnRlcnZhbCgpLHQpKG4pO2U9KDAsby51dGNfdG9fY2FsKSgoMCxvLmdldF90aW1lem9uZSkoaSkscikuZ2V0VGltZSgpfX10aGlzLl9zY3JvbGxpbmdTdGF0ZT17dGFyZ2V0RGF0ZTplLGRlZmVycmVkOm4sdGFyZ2V0UG9pbnRBbGlnbm1lbnQ6dC50YXJnZXRQb2ludEFsaWdubWVudCxhdXRvc2NhbGVBZnRlclNjcm9sbDp0LmF1dG9zY2FsZUFmdGVyU2Nyb2xsfX1lbHNle2lmKCF0aGlzLl9zY3JvbGxpbmdTdGF0ZSlyZXR1cm4gd3UubG9nRXJyb3IoInNjcm9sbFRvIGNhbGxlZCB3aXRob3V0IGFuIGFyZ3VtZW50IiksUHJvbWlzZS5yZWplY3QoKTtlPXRoaXMuX3Njcm9sbGluZ1N0YXRlLnRhcmdldERhdGUsbj10aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZH1pZih2b2lkIDA9PT1pLnRpY2tNYXJrcygpLm1pbkluZGV4KXJldHVybiBuLnJlc29sdmUodm9pZCAwKSxuLnByb21pc2U7dGhpcy5zdG9wVGltZVNjYWxlQW5pbWF0aW9uKCk7bGV0IHI9KChlLG4pPT57aWYoKGU9PigwLGwuZW5zdXJlTm90TnVsbCkoaS50aWNrTWFya3MoKS5pbmRleFRvVGltZSgoMCxsLmVuc3VyZURlZmluZWQpKGkudGlja01hcmtzKCkubWluSW5kZXgpKSkudmFsdWVPZigpLWUpKG4pPDApe2xldCByPWkudGlja01hcmtzKCkubmVhcmVzdEluZGV4KG4pO2NvbnN0IG89cy5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PW8pcmV0dXJuIm5vX2RhdGEiO3I9TWF0aC5taW4ocixvKTtsZXQgYT0oMCxsLmVuc3VyZU5vdE51bGwpKGkudGlja01hcmtzKCkuaW5kZXhUb1RpbWUocikpLnZhbHVlT2YoKTtmb3IoO2E8biYmcjxvOylyKyssYT0oMCxsLmVuc3VyZU5vdE51bGwpKGkudGlja01hcmtzKCkuaW5kZXhUb1RpbWUocikpLnZhbHVlT2YoKTtpZigoMCxsLmVuc3VyZU5vdE51bGwpKGkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKS5jb250YWlucyhyKSYmIXQuYWxpZ25JZlRhcmdldFBvaW50SXNWaXNpYmxlKXJldHVybiJpbl92aXNpYmxlX3JhbmdlIjtpZigibm9uZSIhPT1lKXtjb25zdCB0PWkud2lkdGgoKTtpZigibGVmdCI9PT1lKWkuc2Nyb2xsVG9CYXIocik7ZWxzZXtjb25zdCBlPWkuaW5kZXhUb0Nvb3JkaW5hdGUocikscz1pLmNvb3JkaW5hdGVUb0Zsb2F0SW5kZXgoZS10LzIpO2kuc2Nyb2xsVG9CYXIocyl9fXJldHVybnt0aW1lc3RhbXA6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmluZGV4VG9UaW1lUG9pbnQocikpfX1yZXR1cm4ibm9fZGF0YSJ9KSh0aGlzLl9zY3JvbGxpbmdTdGF0ZS50YXJnZXRQb2ludEFsaWdubWVudCx0aGlzLl9zY3JvbGxpbmdTdGF0ZS50YXJnZXREYXRlKTtpZigibm9fZGF0YSI9PT1yKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkoaS50aWNrTWFya3MoKS5taW5JbmRleCksbj0oMCxsLmVuc3VyZU5vdE51bGwpKGkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSxvPW4ubGFzdEJhcigpLW4uZmlyc3RCYXIoKTtpZihzLnJlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSgpKXtjb25zdCB0PWkudGlja01hcmtzKCkuZXN0aW1hdGVMZWZ0KGUpO2kucmVxdWVzdE1vcmVIaXN0b3J5UG9pbnRzKE1hdGguY2VpbCh0K28vMikpfWVsc2UgaS56b29tVG9CYXJzUmFuZ2UodC1vLzIsdCtvLzIpLHI9ewp0aW1lc3RhbXA6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmluZGV4VG9UaW1lUG9pbnQodCkpLGVvZDohMH19aWYoIm5vX2RhdGEiIT09ciYmImluX3Zpc2libGVfcmFuZ2UiIT09cil7aWYodGhpcy5fc2Nyb2xsaW5nU3RhdGUuYXV0b3NjYWxlQWZ0ZXJTY3JvbGwpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKShpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksdD0oMCxsLmVuc3VyZU5vdE51bGwpKGkubG9naWNhbFJhbmdlKCkpO2Zvcihjb25zdCBpIG9mIHRoaXMucGFuZXMoKSl7Zm9yKGNvbnN0IHMgb2YgaS5sZWZ0UHJpY2VTY2FsZXMoKSlzLnJlY2FsY3VsYXRlUHJpY2VSYW5nZShlLHQpO2Zvcihjb25zdCBzIG9mIGkucmlnaHRQcmljZVNjYWxlcygpKXMucmVjYWxjdWxhdGVQcmljZVJhbmdlKGUsdCl9fXRoaXMuZnVsbFVwZGF0ZSgpLHRoaXMuX3Njcm9sbGluZ1N0YXRlPW51bGwsbi5yZXNvbHZlKHIpfXJldHVybiJpbl92aXNpYmxlX3JhbmdlIj09PXImJihuLnJlamVjdCgiYWxyZWFkeSB2aXNpYmxlIiksdGhpcy5fc2Nyb2xsaW5nU3RhdGU9bnVsbCksbi5wcm9taXNlfV9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKGUsdCxpKXt0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnNldFBvc2l0aW9uKGUsdCxpKX1fc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKGUpe2NvbnN0IHQ9dGhpcy5fc2VsZWN0aW9uLmFsbEl0ZW1zKCk7aWYoMT09PXQubGVuZ3RoKXtjb25zdFtpXT10O2lmKCEoMCxYci5pc0xpbmVUb29sc0dyb3VwKShpKSYmISgwLEFpLmlzRGF0YVNvdXJjZSkoaSkmJmkuc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKXJldHVybiBpLnNlbGVjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZShlKX1yZXR1cm4hMH1fb25TeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZChlKXt0aGlzLl9jbGVhckF2YWlsYWJsZVByaWNlU291cmNlcygpLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eSgpLHRoaXMuX3JlY2FsY0FsbG93ZWRBZGp1c3RtZW50KCksdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZShlKX1fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZChlKXt0aGlzLl9wYW5lcy5zb21lKChlPT5lLmhhc0RhdGFTb3VyY2UodGhpcy5fbWFpblNlcmllcykpKSYmKHRoaXMuX3N0dWRpZXNXVi5zZXRWYWx1ZSh0aGlzLmFsbFN0dWRpZXMoKSksdGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWLnNldFZhbHVlKHRoaXMuYWxsU3R1ZGllcyghMCkpKX1fdW5tZXJnZUF2YWlsYWJsZShlKXtyZXR1cm4gZT09PXRoaXMuX21haW5TZXJpZXN8fCgwLHRpLmlzU3R1ZHkpKGUpJiYhZS5pc0xpbmtlZFRvU2VyaWVzKCkmJmUuc2hvd0luT2JqZWN0VHJlZSgpfV9nZXRFeGNlZWRpbmdDaGlsZFN0dWRpZXMoZSl7bGV0IHQ9W107Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDsrK2kpdD10LmNvbmNhdChlW2ldLnNvdXJjZXN8fFtdKTtsZXQgaT0wLHM9MTtzPSgwLENlLmdldENvbmZpZykoIlNUVURZX09OX1NUVURZIik/LmNoaWxkX2xpbWl0Pz8xO2NvbnN0IG49W10scj17fTtsZXQgbz0wLGE9MWU2O2Zvcig7dC5sZW5ndGgmJi0tYTspe2NvbnN0IGU9dFtvXTsoZS5vd25lclNvdXJjZSYmcltlLm93bmVyU291cmNlXXx8IWUub3duZXJTb3VyY2UpJiYocltlLmlkXT1lLHQuc3BsaWNlKHQuaW5kZXhPZihlKSwxKSxlLm93bmVyU291cmNlJiYoMCxQLmlzU3R1ZHlTdGF0ZSkoZSkmJmUuc3RhdGUmJmUuc3RhdGUuaXNDaGlsZFN0dWR5JiYrK2k+cyYmbi5wdXNoKGUpKSxvPShvKzEpJXQubGVuZ3RofXJldHVybiBufV9zZW5kVG8oZSx0KXtjb25zdCBpPW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYoIXQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fcGFuZXMuaW5kZXhPZih0KTtpLmhhcyhzKXx8aS5zZXQocyxbXSksaS5nZXQocyk/LnB1c2goZSl9KSk7Zm9yKGNvbnN0W2Usc11vZiBpLmVudHJpZXMoKSl0KHRoaXMuX3BhbmVzW2VdLHMpO3RoaXMuZnVsbFVwZGF0ZSgpfV9pbml0aWFsaXNlSW5hY3Rpdml0eUdhcHMoKXtpZighKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaW5hY3Rpdml0eV9nYXBzIikpcmV0dXJuO3RoaXMuY3JlYXRlSW5hY3Rpdml0eUdhcHMoKTtjb25zdCBlPWFzeW5jIGU9Pntjb25zdCB0PXRoaXMuY3VzdG9tU291cmNlRm9yTmFtZSgiaW5hY3Rpdml0eUdhcHMiKTtlP3Quc3RhcnQoKTp0LnN0b3AoKX07aWYobnVsbD09PXRoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlKXtjb25zdCB0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmluYWN0aXZpdHlHYXBzO3RoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlPWNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKHQpLHRoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlLnN1YnNjcmliZSgodD0+e2UodCl9KSksZSh0LnZhbHVlKCkpfX1fZ2V0V2lkZ2V0UGFuZShlLHQpe2NvbnN0IGk9dGhpcy5fcGFuZXMuZmluZCgoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCkpO2lmKGkpcmV0dXJuIGk7Y29uc3Qgcz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLl9tYWluU2VyaWVzKSksbj10aGlzLl9wYW5lcy5pbmRleE9mKHMpO2xldCByPTAsbz0wO3RoaXMuX3BhbmVzLmZvckVhY2goKGU9PntlLmNvbGxhcHNlZCgpLnZhbHVlKCl8fChyKz1lLmhlaWdodCgpLG8rPWUuc3RyZXRjaEZhY3RvcigpKX0pKTtjb25zdCBhPXRoaXMuY3JlYXRlUGFuZShlP24rMTpuLHZvaWQgMCx2b2lkIDAsTS5QYW5lTW9kZS5XaWRnZXQpO2lmKHI+dCl7Y29uc3QgZT10Km8vKHItdCk7YS5zZXRTdHJldGNoRmFjdG9yKGUpfXJldHVybiBhfX12YXIgUnU9aSg1NTY2NTEpLFZ1PWkoNzc1MjUzKSxCdT1pKDU5MTE5OCk7dmFyIE51PWkoODI1NjIxKSxPdT1pKDY4NTU1NSksV3U9aSg2NTU1ODQpO2NsYXNzIEZ1IGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzKSx0aGlzLl9uZXdTb3VyY2VzTWV0cmljcz1uZXcgTWFwLAp0aGlzLl9vbGRTb3VyY2VzTWV0cmljcz1uZXcgTWFwLHRoaXMuX3Nob3dGYWRlPSExLHRoaXMuX2NoYXJ0TW9kZWw9ZTtjb25zdCBuPWUubWFpblNlcmllcygpO2Zvcihjb25zdCBlIG9mIHQuc2VyaWVzTGlrZVNvdXJjZXMoKSl7aWYoIWUuaXNWaXNpYmxlKCkpY29udGludWU7Y29uc3QgdD1pfHwoMCxBLnN5bWJvbE9yaWdpbmFsTWV0cmljKSgoMCxsLmVuc3VyZU5vdE51bGwpKGUuc3ltYm9sSW5mbygpKSx0aGlzLl9jaGFydE1vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpO3RoaXMuX25ld1NvdXJjZXNNZXRyaWNzLnNldChlLmlkKCksdCksdGhpcy5fb2xkU291cmNlc01ldHJpY3Muc2V0KGUuaWQoKSxlLm1ldHJpYygpKSx0aGlzLl9zaG93RmFkZT10aGlzLl9zaG93RmFkZXx8ZT09PW4mJmUubWV0cmljKCkhPT10fX1yZWRvKCl7dGhpcy5fYXBwbHlNZXRyaWNzKHRoaXMuX25ld1NvdXJjZXNNZXRyaWNzKX11bmRvKCl7dGhpcy5fYXBwbHlNZXRyaWNzKHRoaXMuX29sZFNvdXJjZXNNZXRyaWNzKX1fYXBwbHlNZXRyaWNzKGUpe2UuZm9yRWFjaCgoKGUsdCk9PnsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQpKS5zZXRNZXRyaWMoZSl9KSksdGhpcy5fY2hhcnRNb2RlbC5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9zaG93RmFkZSYmdGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKS5sb2FkaW5nU2NyZWVuKCkuc2hvdyghMCl9fWNvbnN0IEh1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInpvb20iLHAudChudWxsLHZvaWQgMCxpKDI3ODU2NSkpKTtjbGFzcyB6dSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuLHIpe3N1cGVyKEh1KSx0aGlzLl9iYXJTcGFjaW5nPW51bGwsdGhpcy5fcmlnaHRCYXJzT2Zmc2V0PW51bGwsdGhpcy5fbGVmdEJhcnNPZmZzZXQ9bnVsbCx0aGlzLl9wcmljZU1vZGU9bnVsbCx0aGlzLl9tb2RlbD1lLHRoaXMuX3N0YXJ0QmFyPXQsdGhpcy5fZW5kQmFyPWksdGhpcy5fc3RhcnRQcmljZT1zLHRoaXMuX2VuZFByaWNlPW4sdGhpcy5fcGFuZT1yfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKTt0aGlzLl9sZWZ0QmFyc09mZnNldD1lLmZpcnN0QmFyKCktdGhpcy5fc3RhcnRCYXIsdGhpcy5fcmlnaHRCYXJzT2Zmc2V0PWUubGFzdEJhcigpLXRoaXMuX2VuZEJhcix0aGlzLl9iYXJTcGFjaW5nPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSx0aGlzLl9wcmljZU1vZGU9dGhpcy5fcGFuZS5kZWZhdWx0UHJpY2VTY2FsZSgpLm1vZGUoKSx0aGlzLl9tb2RlbC56b29tVG9WaWV3cG9ydCh0aGlzLl9zdGFydEJhcix0aGlzLl9lbmRCYXIsdGhpcy5fc3RhcnRQcmljZSx0aGlzLl9lbmRQcmljZSx0aGlzLl9wYW5lKX11bmRvKCl7Y29uc3QgZT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSx0PXRoaXMuX3BhbmUuZGVmYXVsdFByaWNlU2NhbGUoKSxpPSgwLGwuZW5zdXJlTm90TnVsbCkoZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpO2Uuc2V0QmFyU3BhY2luZygoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JhclNwYWNpbmcpKSxlLnpvb21Ub0JhcnNSYW5nZShpLmZpcnN0QmFyKCkrKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sZWZ0QmFyc09mZnNldCksaS5sYXN0QmFyKCkrKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yaWdodEJhcnNPZmZzZXQpKSx0LnNldE1vZGUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZU1vZGUpKSx0LnJlY2FsY3VsYXRlUHJpY2VSYW5nZSgoMCxsLmVuc3VyZU5vdE51bGwpKGUudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSwoMCxsLmVuc3VyZU5vdE51bGwpKGUubG9naWNhbFJhbmdlKCkpKSx0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9fWNvbnN0IFV1PSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxHdT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ6b29tIixwLnQobnVsbCx2b2lkIDAsaSgyNzg1NjUpKSk7Y2xhc3MganUgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihHdSksdGhpcy5fYmFzZUNtZD1lLHRoaXMuX3pvb21TdGFjaz10LHRoaXMuX2luT3V0PWl9dW5kbyhlKXtpZih0aGlzLl9pbk91dCl7aWYodGhpcy5fYmFzZUNtZCE9PXRoaXMuX3pvb21TdGFjay5oZWFkKCkpcmV0dXJuIHZvaWQgVXUubG9nRGVidWcoInpvb20gc3RhY2sgaW5jb25zaXN0ZW5jeSIpO3RoaXMuX2Jhc2VDbWQudW5kbyhlKSx0aGlzLl96b29tU3RhY2sucG9wKCl9ZWxzZSB0aGlzLl9iYXNlQ21kLnJlZG8oZSksdGhpcy5fem9vbVN0YWNrLnB1c2godGhpcy5fYmFzZUNtZCl9cmVkbyhlKXtpZih0aGlzLl9pbk91dCl0aGlzLl9iYXNlQ21kLnJlZG8oZSksdGhpcy5fem9vbVN0YWNrLnB1c2godGhpcy5fYmFzZUNtZCk7ZWxzZXtpZih0aGlzLl9iYXNlQ21kIT09dGhpcy5fem9vbVN0YWNrLmhlYWQoKSlyZXR1cm4gdm9pZCBVdS5sb2dEZWJ1Zygiem9vbSBzdGFjayBpbmNvbnNpc3RlbmN5Iik7dGhpcy5fYmFzZUNtZC51bmRvKGUpLHRoaXMuX3pvb21TdGFjay5wb3AoKX19fWNvbnN0IHF1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN0b3Agc3luY2luZyBkcmF3aW5nIixwLnQobnVsbCx2b2lkIDAsaSg0ODg4ODEpKSk7Y2xhc3MgJHUgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIocXUsdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9tb2RlbD1lLHRoaXMuX3NvdXJjZUlkPXQuaWQoKSx0aGlzLl9saW5rS2V5PXQubGlua0tleSgpLnZhbHVlKCl9cmVkbygpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZUlkKSkubGlua0tleSgpLnNldFZhbHVlKG51bGwpfXVuZG8oKXsoMCwKbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc291cmNlSWQpKS5saW5rS2V5KCkuc2V0VmFsdWUodGhpcy5fbGlua0tleSl9fXZhciBZdT1pKDMxNjY1NSk7Y29uc3QgS3U9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVzdG9yZSBkZWZhdWx0cyIscC50KG51bGwsdm9pZCAwLGkoMTI5NTEwKSkpO2NsYXNzIFh1IGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaT1LdSxzPSEwKXtzdXBlcihpLHZvaWQgMCxzKSx0aGlzLl9jaGFydE1vZGVsPWU7Y29uc3Qgbj10LnBhdGhUb1Jvb3QoKTt0aGlzLl90YXJnZXRPYmo9KDAsWXUuaXNSb290UGF0aCkobik/bjp0LHRoaXMuX3N0YXRlPXQuc3RhdGUoKX1yZWRvKHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX0peygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVGYWN0b3J5RGVmYXVsdHModGhpcy5fZ2V0UHJvcGVydHkoZSkpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKX11bmRvKHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX0peygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9nZXRQcm9wZXJ0eShlKS5tZXJnZUFuZEZpcmUodGhpcy5fc3RhdGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCl9X2dldFByb3BlcnR5KGUpe2NvbnN0IHQ9dGhpcy5fdGFyZ2V0T2JqO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD8oMCxZdS5wcm9wZXJ0eUJ5UGF0aCkoZSx0KTp0fX1jbGFzcyBadSBleHRlbmRzIFh1e2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKGUsdCxpLHM/PyFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKX1yZWRvKGUpeygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9nZXRQcm9wZXJ0eShlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbikuY2hpbGQoImludGVydmFsc1Zpc2liaWxpdGllcyIpPy5tZXJnZUFuZEZpcmUoaHUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzRGVmYXVsdHMpLHN1cGVyLnJlZG8oZSksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfX1jb25zdCBKdT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZXN0b3JlIHN0dWR5IGRlZmF1bHRzIixwLnQobnVsbCx2b2lkIDAsaSg2NjI5MDMpKSk7Y2xhc3MgUXUgZXh0ZW5kcyBadXtjb25zdHJ1Y3RvcihlLHQsaT1KdSl7c3VwZXIoZSx0LnByb3BlcnRpZXMoKSxpLCEwKSx0aGlzLl9zdHVkeUlkPXQuaWQoKX1yZWRvKGUpe3N1cGVyLnJlZG8oZSksdGhpcy5fY2hhcnRNb2RlbC5yZWNhbGNDb2xvclN0dWRpZXMoITApLHRoaXMuX3BhdGNoUHJvcGVydGllcygpfXVuZG8oZSl7c3VwZXIudW5kbyhlKSx0aGlzLl9jaGFydE1vZGVsLnJlY2FsY0NvbG9yU3R1ZGllcyghMCksdGhpcy5fcGF0Y2hQcm9wZXJ0aWVzKCl9X3BhdGNoUHJvcGVydGllcygpe3tjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwuZ2V0U3R1ZHlCeUlkKHRoaXMuX3N0dWR5SWQpO2lmKCFlKXRocm93IG5ldyBFcnJvcigiU3R1ZHkgaXMgbm90IGRlZmluZWQiKTtlLnBhdGNoUHJvcGVydGllc0FmdGVyUmVzZXREZWZhdWx0cygpfX19ZnVuY3Rpb24gZXAoZSx0KXtyZXR1cm4oMCxHci5leHRyYWN0U3RhdGUpKGUsdC5tYXAoKGU9PmUucGF0aCkpKX1jb25zdCB0cD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBjaGFydCB0aGVtZSIscC50KG51bGwsdm9pZCAwLGkoNjQ3NjU2KSkpO2NsYXNzIGlwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodHApLHRoaXMuX21vZGVsPWUsdC5zZXNzaW9ucyYmKHRoaXMuX25ld1Nlc3Npb25Qcm9wcz1pP3Quc2Vzc2lvbnM6ZXAodC5zZXNzaW9ucywoMCxHci5leHRyYWN0VGhlbWVkQ29sb3JzKSh4dC5saWdodFRoZW1lLmNvbnRlbnQuc2Vzc2lvbnMseHQuZGFya1RoZW1lLmNvbnRlbnQuc2Vzc2lvbnMpKSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5jYW5kbGVTdHlsZSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5ob2xsb3dDYW5kbGVTdHlsZSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5oYVN0eWxlKTtjb25zdCBzPXQ7cy5jaGFydFByb3BlcnRpZXM9cy5jaGFydFByb3BlcnRpZXM/P3twYW5lUHJvcGVydGllczp7fSxzY2FsZXNQcm9wZXJ0aWVzOnZvaWQgMH0sWGgocy5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMpO2NvbnN0IG49dGhpcy5fbW9kZWwucHJvcGVydGllcygpLnN0YXRlKCkucGFuZVByb3BlcnRpZXMubGVnZW5kUHJvcGVydGllcztkZWxldGUgbi5iYWNrZ3JvdW5kVHJhbnNwYXJlbmN5O2NvbnN0IHI9cy5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXM7aSYmKHIubGVnZW5kUHJvcGVydGllcz17Li4uci5sZWdlbmRQcm9wZXJ0aWVzLC4uLm59KTtjb25zdCBvPSgwLFdvLmRlZmF1bHQpKCgwLCRsLmZhY3RvcnlEZWZhdWx0cykoImNoYXJ0cHJvcGVydGllcyIpKTtpZihkZWxldGUgby50aW1lem9uZSxpKXtjb25zdCBlPW8ucGFuZVByb3BlcnRpZXM7ZSYmKGRlbGV0ZSBlLnRvcE1hcmdpbixkZWxldGUgZS5ib3R0b21NYXJnaW4pfWNvbnN0IGE9KDAseGkuZGVlcEV4dGVuZCkoe30sbyx0LmNoYXJ0UHJvcGVydGllcyk7dGhpcy5fbmV3Q2hhcnRQcm9wcz1pP2E6ZXAoYSwoMCxHci5leHRyYWN0VGhlbWVkQ29sb3JzKSh4dC5saWdodFRoZW1lLmNvbnRlbnQuY2hhcnRQcm9wZXJ0aWVzLHh0LmRhcmtUaGVtZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcykpLGUudGltZVNjYWxlKCkucHJlc2VydmVCYXJTcGFjaW5nKCkmJiJiYXJTcGFjaW5nImluIHRoaXMuX25ld0NoYXJ0UHJvcHMuc2NhbGVzUHJvcGVydGllcyYmZGVsZXRlIHRoaXMuX25ld0NoYXJ0UHJvcHMuc2NhbGVzUHJvcGVydGllcy5iYXJTcGFjaW5nLGljKHQubWFpblNvdXJjZVByb3BlcnRpZXMubGluZVN0eWxlKSxpYyh0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmxpbmVXaXRoTWFya2Vyc1N0eWxlKSxpYyh0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzLnN0ZXBsaW5lU3R5bGUpCjtjb25zdCBsPSgwLCRsLmZhY3RvcnlEZWZhdWx0cykoImNoYXJ0cHJvcGVydGllcy5tYWluU2VyaWVzUHJvcGVydGllcyIpLGM9KDAseGkuZGVlcEV4dGVuZCkoe30sbCx0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzKTtpJiYoZGVsZXRlIGMudmlzaWJsZSxkZWxldGUgYy5zeW1ib2wsZGVsZXRlIGMuc2hvcnROYW1lLGRlbGV0ZSBjLnRpbWVmcmFtZSxkZWxldGUgYy5pbnRlcnZhbCxkZWxldGUgYy5jdXJyZW5jeUlkLGRlbGV0ZSBjLnVuaXRJZCxkZWxldGUgYy5zZXNzaW9uSWQsZGVsZXRlIGMuZXNkQnJlYWtzU3R5bGUpLHRoaXMuX25ld1Nlcmllc1Byb3BzPWk/YzplcChjLCgwLEdyLmV4dHJhY3RUaGVtZWRDb2xvcnMpKHh0LmxpZ2h0VGhlbWUuY29udGVudC5tYWluU291cmNlUHJvcGVydGllcyx4dC5kYXJrVGhlbWUuY29udGVudC5tYWluU291cmNlUHJvcGVydGllcykpLHRoaXMuX29sZENoYXJ0UHJvcHM9aT9lLnByb3BlcnRpZXMoKS5zdGF0ZSgpOmUucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSx0aGlzLl9vbGRTZXJpZXNQcm9wcz1pP2UubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5zdGF0ZSgpOmUubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS50aGVtZVN0YXRlKCksdGhpcy5fb2xkU2Vzc2lvblByb3BzPWk/dGhpcy5fbW9kZWwuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCkuc3RhdGUoKTp0aGlzLl9tb2RlbC5zZXNzaW9ucygpLnByb3BlcnRpZXMoKS50aGVtZVN0YXRlKCl9dW5kbygpe3RoaXMuX21lcmdlKHRoaXMuX29sZENoYXJ0UHJvcHMsdGhpcy5fb2xkU2VyaWVzUHJvcHMsdGhpcy5fb2xkU2Vzc2lvblByb3BzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkub25DaGFydFN0eWxlQ2hhbmdlZCgpLHRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLHRoaXMuX21vZGVsLmNoYXJ0VGhlbWVMb2FkZWQoKX1yZWRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fbmV3Q2hhcnRQcm9wcyx0aGlzLl9uZXdTZXJpZXNQcm9wcyx0aGlzLl9uZXdTZXNzaW9uUHJvcHMpLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCksdGhpcy5fbW9kZWwudXBkYXRlU2NhbGVzKCksdGhpcy5fbW9kZWwuY2hhcnRUaGVtZUxvYWRlZCgpfV9tZXJnZShlLHQsaSl7Y29uc3Qgcz10aGlzLl9tb2RlbDsoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCk7Y29uc3Qgbj1zLnByb3BlcnRpZXMoKSxyPXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKSxvPXMuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCk7bi5hcHBseURlZmF1bHRUaGVtZWRQcm9wZXJ0aWVzKEQud2F0Y2hlZFRoZW1lLnZhbHVlKCkpLG4ubWVyZ2VBbmRGaXJlKGUpLG4uc2F2ZURlZmF1bHRzKCksInByaWNlQXhpc1Byb3BlcnRpZXMiaW4gdCYmcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLnNldE1vZGUoe2F1dG9TY2FsZTp0LnByaWNlQXhpc1Byb3BlcnRpZXM/LmF1dG9TY2FsZSxwZXJjZW50YWdlOnQucHJpY2VBeGlzUHJvcGVydGllcz8ucGVyY2VudGFnZSxsb2c6dC5wcmljZUF4aXNQcm9wZXJ0aWVzPy5sb2csbG9ja1NjYWxlOnQucHJpY2VBeGlzUHJvcGVydGllcz8ubG9ja1NjYWxlfSksci5hcHBseURlZmF1bHRUaGVtZWRQcm9wZXJ0aWVzKEQud2F0Y2hlZFRoZW1lLnZhbHVlKCkpLHIubG9hZFRoZW1lU3RhdGUodCksci5zYXZlRGVmYXVsdHMoKSxzLm1haW5TZXJpZXMoKS5jcmVhdGVQYW5lVmlldygpLHMubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJTdHlsZXNDYWNoZSgpLHMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksaSYmKG8uYXBwbHlEZWZhdWx0VGhlbWVkUHJvcGVydGllcyhELndhdGNoZWRUaGVtZS52YWx1ZSgpKSxvLmxvYWRUaGVtZVN0YXRlKGkpLG8uc2F2ZURlZmF1bHRzKCkpLHMuZnVsbFVwZGF0ZSgpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKX19Y29uc3Qgc3A9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHJlc29sdXRpb24iLHAudChudWxsLHZvaWQgMCxpKDc0MzM0MSkpKTtjbGFzcyBucCBleHRlbmRzIEJve2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihzcCxlLGZ1bmN0aW9uKGUsdCl7bGV0IGk7Y29uc3Qgcz0oMCxBLmlzUmFuZ2VTdHlsZSkoZS5zdHlsZSgpKSxuPXguSW50ZXJ2YWwuaXNSYW5nZSh0KTtyZXR1cm4hcyYmbj9pPTExOnMmJiFuJiYoaT0oMCxBLmdldExhc3RVc2VkU3R5bGUpKCkpLHtpbnRlcnZhbDp0LHN0eWxlOml9fShlLHQpLGkpLHRoaXMuX3Jlc29sdXRpb249dH1jYW5NZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG5wJiZlLl9yZXNvbHV0aW9uPT09dGhpcy5fcmVzb2x1dGlvbiYmc3VwZXIuY2FuTWVyZ2UoZSl9X3Nob3dGYWRlKGUsdCl7cmV0dXJuITB9fWNsYXNzIHJwIGV4dGVuZHMgTntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZmlyc3RSZWRvPSEwfXJlZG8oKXt0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITApLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITApLHN1cGVyLnJlZG8oKSx0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITEpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITEpLHRoaXMuX2ZpcnN0UmVkbz0hMX11bmRvKCl7KDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9uZXdWYWx1ZSwhMCksKDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9vbGRWYWx1ZSwhMCksc3VwZXIudW5kbygpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITEpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITEpfX12YXIgb3A9aSg1MjkxNjUpO2NsYXNzIGFwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX3N0dWJEZXNjcmlwdG9yPSgwLGwuZW5zdXJlTm90TnVsbCkodC5nZXREZXNjcmlwdG9yKCkpfXJlZG8oKXsKdGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc3R1YkRlc2NyaXB0b3IuaWQpfHx0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVTdHVkeVN0dWIodGhpcy5fc3R1YkRlc2NyaXB0b3IpfXVuZG8oKXt0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVN0dWR5U3R1Yih0aGlzLl9zdHViRGVzY3JpcHRvci5pZCl9fWNsYXNzIGxwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSx2b2lkIDAsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pLHRoaXMuX3NvdXJjZT1lLHRoaXMuX25ld1N0YXRlPXQsdGhpcy5fb2xkU3RhdGU9ZS5wcm9wZXJ0aWVzKCkuc3RhdGUoKX1yZWRvKCl7dGhpcy5fc291cmNlLmFwcGx5VGVtcGxhdGUodGhpcy5fbmV3U3RhdGUpfXVuZG8oKXt0aGlzLl9zb3VyY2UuYXBwbHlUZW1wbGF0ZSh0aGlzLl9vbGRTdGF0ZSl9fXZhciBjcD1pKDIxNDc3MSksaHA9aSg5MjMxNzYpLGRwPWkoMjU1MDM2KSx1cD1pKDcxNDM1KSxwcD1pKDc2NzcwNCksX3A9aSgyNTk5OTgpO2NvbnN0IG1wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGFsbCBjaGFydCBwcm9wZXJ0aWVzIixwLnQobnVsbCx2b2lkIDAsaSgzNDc1ODUpKSk7Y2xhc3MgZ3AgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIobXApLHRoaXMuX3ByZWZzPW51bGwsdGhpcy5fb2xkTm9Db25maXJtRW5hYmxlZD1udWxsLHRoaXMuX29sZFNob3dPbmx5UmVqZWN0aW9uTm90aWZpY2F0aW9ucz1udWxsLHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZT1udWxsLHRoaXMuX29sZFNob3dQcmljZXNXaXRoU3ByZWFkPW51bGwsdGhpcy5fb2xkT3JkZXJFeGVjdXRlZFNvdW5kRW5hYmxlZD1udWxsLHRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcz1udWxsLHRoaXMuX3ByZXZBbGVydExhYmVsc1ByZWZlcmVuY2VzPW51bGwsdGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzPW51bGwsdGhpcy5fbW9kZWw9ZSx0aGlzLl9wcmVmcz10LnZhbHVlKCk/LmdldFByZWZzKCk/P251bGwsbnVsbCE9PXRoaXMuX3ByZWZzJiYodGhpcy5fb2xkTm9Db25maXJtRW5hYmxlZD10aGlzLl9wcmVmcy5ub0NvbmZpcm1FbmFibGVkLnZhbHVlKCksdGhpcy5fb2xkU2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zPXRoaXMuX3ByZWZzLnNob3dPbmx5UmVqZWN0aW9uTm90aWZpY2F0aW9ucy52YWx1ZSgpLHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZT10aGlzLl9wcmVmcy5zaG93UHJpY2VzV2l0aC56ZXJvVm9sdW1lLnZhbHVlKCksdGhpcy5fb2xkU2hvd1ByaWNlc1dpdGhTcHJlYWQ9dGhpcy5fcHJlZnMuc2hvd1ByaWNlc1dpdGguc3ByZWFkLnZhbHVlKCksdGhpcy5fb2xkT3JkZXJFeGVjdXRlZFNvdW5kRW5hYmxlZD10aGlzLl9wcmVmcy5vcmRlckV4ZWN1dGVkU291bmRQYXJhbXMuZW5hYmxlZC52YWx1ZSgpKSx0aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzPSgwLGN1LmRlZmF1bHRzUHJlZmVyZW5jZXNCeVdoaXRlTGlzdCkodGhpcy5fbW9kZWwsdGhpcy5fbW9kZWwubWFpblNlcmllcygpKSx0aGlzLl9vbGRQcmVmZXJlbmNlcz1lLnByZWZlcmVuY2VzKCksdGhpcy5fcHJldkRhdGVGb3JtYXQ9aWguZGF0ZUZvcm1hdFByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldkFsZXJ0TGFiZWxzUHJlZmVyZW5jZXM9KDAsX3AuZ2V0TGFiZWxzU2V0dGluZ3NQcm9wZXJ0eSkoKS5zdGF0ZSgpLHRoaXMuX3ByZXZBbGVydE5vdGlmaWNhdGlvbnNQcmVmZXJlbmNlcz0oMCxfcC5nZXROb3RpZmljYXRpb25zU2V0dGluZ3NQcm9wZXJ0eSkoKS5zdGF0ZSgpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fCh0aGlzLl9wcmV2V2l0aFdlZWtkYXk9bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS52YWx1ZSgpKSx0aGlzLl9wcmV2VGltZUhvdXJzRm9ybWF0PVRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldkFkZFBsdXNCdXR0b249ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldlNob3dPcGVuTWFya2VyU3RhdHVzPWNwLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkudmFsdWUoKSx0aGlzLl9wcmV2Q3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eT0oMCxycy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSx0aGlzLl9wcmV2QXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5PSgwLG9zLmF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eVByb3BlcnR5KSgpLnZhbHVlKCksdGhpcy5fcHJldk5hdmlnYXRpb25CdXR0b25zVmlzaWJpbGl0eT0oMCxocC5wcm9wZXJ0eSkoKS52YWx1ZSgpLHRoaXMuX3ByZXZQYW5lQnV0dG9uc1Zpc2liaWxpdHk9KDAsZHAucHJvcGVydHkpKCkudmFsdWUoKTtjb25zdCBpPXRoaXMuX21vZGVsLndhdGVybWFya1NvdXJjZSgpO251bGwhPT1pJiYodGhpcy5fcHJldldhdGVybWFya1ByZWZlcmVuY2VzPWkucHJvcGVydGllcygpLnN0YXRlKCkpfXJlZG8oKXtudWxsIT09dGhpcy5fcHJlZnMmJih0aGlzLl9wcmVmcy5ub0NvbmZpcm1FbmFibGVkLnNldFZhbHVlKCExKSx0aGlzLl9wcmVmcy5zaG93T25seVJlamVjdGlvbk5vdGlmaWNhdGlvbnMuc2V0VmFsdWUoITEpLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnplcm9Wb2x1bWUuc2V0VmFsdWUoITApLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnNwcmVhZC5zZXRWYWx1ZSghMCksdGhpcy5fcHJlZnMub3JkZXJFeGVjdXRlZFNvdW5kUGFyYW1zLmVuYWJsZWQuc2V0VmFsdWUoITEpLHRoaXMuX3ByZWZzLm9yZGVyRXhlY3V0ZWRTb3VuZFBhcmFtcy52b2x1bWUuc2V0VmFsdWUoLjUpKSwiQXV0byI9PT10aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzLm1haW5TZXJpZXM/LnRwb1N0eWxlPy5pbnB1dHM/LnJvd1NpemUmJmRlbGV0ZSB0aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzLm1haW5TZXJpZXMudHBvU3R5bGUuaW5wdXRzLnRpY2tzUGVyUm93LHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXModGhpcy5fZGVmYXVsdHNQcmVmZXJlbmNlcyksCnRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLCgwLGloLnJlc3RvcmVEYXRlRm9ybWF0U2V0dGluZ3NWYWx1ZSkoKSwoMCxUYy5yZXN0b3JlVGltZUhvdXJzRm9ybWF0U2V0dGluZ3NWYWx1ZSkoKSwoMCxkZC5yZXN0b3JlQWRkUGx1c0J1dHRvblNldHRpbmdzVmFsdWUpKCksKDAsY3AucmVzdG9yZVNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkpKCksKDAscnMucmVzdG9yZUN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLG9zLnJlc3RvcmVBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGhwLnJlc3RvcmVOYXZpZ2F0aW9uQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGRwLnJlc3RvcmVQYW5lQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGxoLnJlc3RvcmVXaXRoV2Vla2RheVNldHRpbmdzVmFsdWUpKCksKDAscHAucmVzdG9yZVNob3dPblNjcmVlbnNob3RTZXR0aW5nc1ZhbHVlKSgpLCgwLHVwLnJlc3RvcmVTaG93TmV3c05vdGlmaWNhdGlvblNldHRpbmdzVmFsdWUpKCksKDAsX3AucmVzdG9yZVNldHRpbmdzUHJvcGVydHkpKCk7Y29uc3QgZT10aGlzLl9tb2RlbC53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmZS5yZXN0b3JlUHJvcGVydGllc0RlZmF1bHRzKCl9dW5kbygpe251bGwhPT10aGlzLl9wcmVmcyYmKHRoaXMuX3ByZWZzLm5vQ29uZmlybUVuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9vbGROb0NvbmZpcm1FbmFibGVkKSksdGhpcy5fcHJlZnMuc2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zLnNldFZhbHVlKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fb2xkU2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zKSksdGhpcy5fcHJlZnMuc2hvd1ByaWNlc1dpdGguemVyb1ZvbHVtZS5zZXRWYWx1ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZSkpLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnNwcmVhZC5zZXRWYWx1ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX29sZFNob3dQcmljZXNXaXRoU3ByZWFkKSksdGhpcy5fcHJlZnMub3JkZXJFeGVjdXRlZFNvdW5kUGFyYW1zLmVuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9vbGRPcmRlckV4ZWN1dGVkU291bmRFbmFibGVkKSkpLHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXModGhpcy5fb2xkUHJlZmVyZW5jZXMpLHRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLGloLmRhdGVGb3JtYXRQcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2RGF0ZUZvcm1hdCksVGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkuc2V0VmFsdWUodGhpcy5fcHJldlRpbWVIb3Vyc0Zvcm1hdCksY3Auc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2U2hvd09wZW5NYXJrZXJTdGF0dXMpLGRkLmFkZFBsdXNCdXR0b25Qcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2QWRkUGx1c0J1dHRvbiksKDAscnMuY3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eVByb3BlcnR5KSgpLnNldFZhbHVlKHRoaXMuX3ByZXZDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSwoMCxvcy5hdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHlQcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2QXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5KSwoMCxocC5wcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2TmF2aWdhdGlvbkJ1dHRvbnNWaXNpYmlsaXR5KSwoMCxkcC5wcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2UGFuZUJ1dHRvbnNWaXNpYmlsaXR5KSxudWxsIT09dGhpcy5fcHJldkFsZXJ0TGFiZWxzUHJlZmVyZW5jZXMmJigwLF9wLmdldExhYmVsc1NldHRpbmdzUHJvcGVydHkpKCkubWVyZ2VBbmRGaXJlKHRoaXMuX3ByZXZBbGVydExhYmVsc1ByZWZlcmVuY2VzKSxudWxsIT09dGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzJiYoMCxfcC5nZXROb3RpZmljYXRpb25zU2V0dGluZ3NQcm9wZXJ0eSkoKS5tZXJnZUFuZEZpcmUodGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzKSx0aGlzLl9tb2RlbC5vbldpZGdldCgpfHxsaC53aXRoV2Vla2RheVByb3BlcnR5LnNldFZhbHVlKHRoaXMuX3ByZXZXaXRoV2Vla2RheSk7Y29uc3QgZT10aGlzLl9tb2RlbC53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmbnVsbCE9PXRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcyYmZS5wcm9wZXJ0aWVzKCkubWVyZ2VBbmRGaXJlKHRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcyl9fWNsYXNzIGZwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihpKSx0aGlzLl9wcm9wZXJ0eT1lLHRoaXMuX25ld1ZhbHVlPXQsdGhpcy5fbW9kZWw9cyx0aGlzLl9wcmljZVNjYWxlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCksdGhpcy5fb2xkVmFsdWU9dGhpcy5fcHJvcGVydHkudmFsdWUoKSx0aGlzLl9vbGRNb2RlPXRoaXMuX3ByaWNlU2NhbGUubW9kZSgpfXJlZG8oKXt0aGlzLl9vbGRWYWx1ZT10aGlzLl9wcm9wZXJ0eS52YWx1ZSgpLHRoaXMuX29sZE1vZGU9dGhpcy5fcHJpY2VTY2FsZS5tb2RlKCksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX3ByaWNlU2NhbGUuc2V0TW9kZSh7YXV0b1NjYWxlOiExLHBlcmNlbnRhZ2U6ITEsbG9nOiExfSksdGhpcy5fcHJvcGVydHkuc2V0VmFsdWUodGhpcy5fbmV3VmFsdWUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9dW5kbygpeygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9wcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9vbGRWYWx1ZSksdGhpcy5fcHJpY2VTY2FsZS5zZXRNb2RlKHRoaXMuX29sZE1vZGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSwKdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpfX1jbGFzcyBTcCBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0KXt2YXIgcyxuO3N1cGVyKG5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGFsbCBjaGFydCBwcm9wZXJ0aWVzIixwLnQobnVsbCx2b2lkIDAsaSgzNDc1ODUpKSkpLHRoaXMuX21vZGVsPWUsdGhpcy5fbmV3UHJvcGVydGllcz10LHM9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9uZXdQcm9wZXJ0aWVzLm1haW5TZXJpZXMpLG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9uZXdQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzKSxbImNhbmRsZVN0eWxlIiwiaG9sbG93Q2FuZGxlU3R5bGUiLCJoYVN0eWxlIl0uZm9yRWFjaCgoZT0+e2NvbnN0IHQ9c1tlXTt2b2lkIDAhPT10JiYodC53aWNrVXBDb2xvcj10LndpY2tVcENvbG9yfHx0LndpY2tDb2xvcix0LndpY2tEb3duQ29sb3I9dC53aWNrRG93bkNvbG9yfHx0LndpY2tDb2xvcil9KSksbi52ZXJ0R3JpZFByb3BlcnRpZXM9bi52ZXJ0R3JpZFByb3BlcnRpZXN8fCgwLFloLmRlZmF1bHQpKG4uZ3JpZFByb3BlcnRpZXMpLG4uaG9yekdyaWRQcm9wZXJ0aWVzPW4uaG9yekdyaWRQcm9wZXJ0aWVzfHwoMCxZaC5kZWZhdWx0KShuLmdyaWRQcm9wZXJ0aWVzKSx2b2lkIDA9PT1zLmhvbGxvd0NhbmRsZVN0eWxlJiYocy5ob2xsb3dDYW5kbGVTdHlsZT0oMCxZaC5kZWZhdWx0KShzLmNhbmRsZVN0eWxlKSksdGhpcy5fb2xkUHJvcGVydGllcz0oMCxjdS5wcmVmZXJlbmNlc0J5V2hpdGVMaXN0KShlLGUubWFpblNlcmllcygpKX1yZWRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fbmV3UHJvcGVydGllcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uQ2hhcnRTdHlsZUNoYW5nZWQoKSx0aGlzLl9tb2RlbC51cGRhdGVTY2FsZXMoKX11bmRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fb2xkUHJvcGVydGllcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uQ2hhcnRTdHlsZUNoYW5nZWQoKSx0aGlzLl9tb2RlbC51cGRhdGVTY2FsZXMoKX1fbWVyZ2UoZSl7KDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXMoZSksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfX1jbGFzcyB2cHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9sZWZ0U2NhbGVzPWUubGVmdFByaWNlU2NhbGVzKCkubWFwKChlPT5lLmlkKCkpKSx0aGlzLl9yaWdodFNjYWxlcz1lLnJpZ2h0UHJpY2VTY2FsZXMoKS5tYXAoKGU9PmUuaWQoKSkpfXJlc3RvcmVQYW5lKGUpe3RoaXMuX2xlZnRTY2FsZXMucmV2ZXJzZSgpLm1hcCgodD0+KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHQpKSkpLmZvckVhY2goKHQ9PmUubW92ZVByaWNlU2NhbGUodCwibGVmdCIpKSksdGhpcy5fcmlnaHRTY2FsZXMucmV2ZXJzZSgpLm1hcCgodD0+KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHQpKSkpLmZvckVhY2goKHQ9PmUubW92ZVByaWNlU2NhbGUodCwicmlnaHQiKSkpfX1jbGFzcyB5cCBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGkpLHRoaXMuX2NoYXJ0TW9kZWw9ZSx0aGlzLl90YXJnZXRTdHJhdGVneT0oMCxjbC5jcmVhdGVQcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kpKHQpLHRoaXMuX2luaXRpYWxTdGF0ZT1lLnBhbmVzKCkubWFwKChlPT5uZXcgdnAoZSkpKX1yZWRvKCl7dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmZvckVhY2goKGU9PmUuc2V0UHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5KHRoaXMuX3RhcmdldFN0cmF0ZWd5KSkpLHRoaXMuX2NoYXJ0TW9kZWwuZnVsbFVwZGF0ZSgpfXVuZG8oKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLl9pbml0aWFsU3RhdGVbdF0ucmVzdG9yZVBhbmUoZVt0XSk7dGhpcy5fY2hhcnRNb2RlbC5mdWxsVXBkYXRlKCl9fWNvbnN0IGJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNlbmQge3RpdGxlfSBiYWNrd2FyZCIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg4MjgwOTIpKSksd3A9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiYnJpbmcge3RpdGxlfSBmb3J3YXJkIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDM4NTUwNCkpKSxDcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSBhZnRlciB7dGFyZ2V0fSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg2MTcwNDApKSksUHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXR9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDc0MDYxMykpKSxUcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjdXQge3RpdGxlfSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg0MTE4MTgpKSkseHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY3V0IHNvdXJjZXMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTM5NzE3KSkpLE1wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDQ0NTUzOSkpKSxJcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW1vdmUgZHJhd2luZ3MgZ3JvdXAiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMTIyNjA2KSkpLExwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUgc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNzc3NTc3KSkpLEFwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN0b3Agc3luY2luZyBsaW5lIHRvb2wocykiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCIKfSxpKDY5MzY0OSkpKSxrcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIGRyYXdpbmcocykiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTcwMTA1KSkpLERwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImxvYWQgZGVmYXVsdCBkcmF3aW5nIHRlbXBsYXRlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk0NjkyOSkpKSxFcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBmYWN0b3J5IGRlZmF1bHRzIHRvIHNlbGVjdGVkIHNvdXJjZXMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzY1ODc0KSkpLFJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBjdXJyZW5jeSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxODk2MDMpKSksVnA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHVuaXQiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTU0ODkxKSkpLEJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBtZXRyaWMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNDMyMTI0KSkpLE5wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNsb25lIGxpbmUgdG9vbHMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzU4KSkpLE9wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1lcmdlIHVwIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDU1NTkxOCkpKSxXcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtZXJnZSBkb3duIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDcyMTcwOSkpKSxGcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtZXJnZSB0byBwYW5lIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk3NjgxNSkpKSxIcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ1bm1lcmdlIHVwIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk1MTg0NykpKSx6cD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ1bm1lcmdlIGRvd24iLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMjI5NDE3KSkpLFVwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInVubWVyZ2UgdG8gbmV3IGJvdHRvbSBwYW5lIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDY5NDIyKSkpLEdwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUge3RpdGxlfSB0byBuZXcgcmlnaHQgc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTY3OTM1KSkpLGpwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUge3RpdGxlfSB0byBuZXcgbGVmdCBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxNTkxNCkpKSxxcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtYWtlIHt0aXRsZX0gbm8gc2NhbGUgKEZ1bGwgc2NyZWVuKSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg1MDA4NDMpKSksJHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVzZXQgc2NhbGVzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDYyOTU0MikpKSxZcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjcmVhdGUge3Rvb2x9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDc0OTAxNikpKSxLcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDcwODkwOCkpKSxYcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg5NjU1MzkpKSksWnA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZlIHBhbmUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoODI4MjUzKSkpLEpwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImludmVydCBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg3Nzk1MTcpKSksUXA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGF1dG8gc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzg4ODg3KSkpLGVfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInRvZ2dsZSBsb2NrIHNjYWxlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDYwMjQ5NykpKSx0Xz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgcmVndWxhciBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxNzQ2NDApKSksaV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGluZGV4ZWQgdG8gMTAwIHNjYWxlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDg3MTkxMCkpKSxzXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgcGVyY2VudGFnZSBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgzMjk4NDEpKSksbl89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGxvZyBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg0ODM5OTUpKSkscl89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibW92ZSBsZWZ0IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDI5NTIwNCkpKSxvXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIHJpZ2h0IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDUyNTY0MykpKSxhXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhbGlnbiB0byA0NSBkZWdyZWVzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQiCn0saSgyMzEyNjMpKSksbF89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2V0IHByaWNlIHNjYWxlIHNlbGVjdGlvbiBzdHJhdGVneSB0byB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDU0NzQ0NSkpKSxjXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW1vdmUgYWxsIGluZGljYXRvcnMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTMxNzE5KSkpLGhfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSBkcmF3aW5ncyIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg5MjU5NjMpKSksZF89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIGFuZCBkcmF3aW5nIHRvb2xzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDI1NjkpKSksdV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidHVybiBsaW5lIHRvb2xzIHNoYXJpbmcgb2ZmIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDY5MjIwMSkpKSxwXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzaGFyZSBsaW5lIHRvb2xzIGluIGxheW91dCIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgzNTU0MDcpKSksX189bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2hhcmUgbGluZSB0b29scyBnbG9iYWxseSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxMDIxOTcpKSksbV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGxpbmtpbmcgZ3JvdXAiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoODU3MjIzKSkpLGdfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGRyYXdpbmcgdGVtcGxhdGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNjE4Mzg2KSkpLGZfPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxTXz0oMCxQZS5pc0ZlYXR1cmVFbmFibGVkKSgiaGlkZV90d2VldF9kcmF3aW5ndG9vbCIpO3ZhciB2XztmdW5jdGlvbiB5XyhlLHQpe3JldHVybnticmluZ0ZvcndhcmRFbmFibGVkOmUuYnJpbmdGb3J3YXJkRW5hYmxlZHx8dC5icmluZ0ZvcndhcmRFbmFibGVkLGJyaW5nVG9Gcm9udEVuYWJsZWQ6ZS5icmluZ1RvRnJvbnRFbmFibGVkfHx0LmJyaW5nVG9Gcm9udEVuYWJsZWQsc2VuZEJhY2t3YXJkRW5hYmxlZDplLnNlbmRCYWNrd2FyZEVuYWJsZWR8fHQuc2VuZEJhY2t3YXJkRW5hYmxlZCxzZW5kVG9CYWNrRW5hYmxlZDplLnNlbmRUb0JhY2tFbmFibGVkfHx0LnNlbmRUb0JhY2tFbmFibGVkfX0hZnVuY3Rpb24oZSl7ZVtlLlVwPTBdPSJVcCIsZVtlLkRvd249MV09IkRvd24iLGVbZS5MZWZ0PTJdPSJMZWZ0IixlW2UuUmlnaHQ9M109IlJpZ2h0In0odl98fCh2Xz17fSkpO2Z1bmN0aW9uIGJfKCl7cmV0dXJuKDAsVC5kcmF3T25BbGxDaGFydHMpKCkudmFsdWUoKT8xPT09KDAsVC5kcmF3T25BbGxDaGFydHNNb2RlKSgpLnZhbHVlKCk/MToyOjB9ZnVuY3Rpb24gd18oZSx0KXsoMCxKLm9uV2lkZ2V0KSgpPygwLCRuLnNob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZykoe2ZlYXR1cmU6ImluZGljYXRvcnMifSk6KDAsWW4uc2hvd1N0dWRpZXNMaW1pdEdvUHJvRGlhbG9nKShlLHQpfWNsYXNzIENfIGV4dGVuZHMoRG4oKSl7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9jcmVhdGVMaW5lQ29tbWFuZHM9W10sdGhpcy5fc2NhbGVQcmljZUluZm89bnVsbCx0aGlzLl9jdXJyZW50U291cmNlTW92ZUNvbW1hbmQ9bnVsbCx0aGlzLl9jdXJyZW50TGluZUNoYW5nZUNvbW1hbmQ9bnVsbCx0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQ9bnVsbCx0aGlzLl96b29tU3RhY2s9bmV3IHosdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGU9bnVsbCx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9bnVsbDtjb25zdHtjaGFydFdpZGdldDp0LGNoYXJ0U2Vzc2lvbjppLGludmFsaWRhdGVIYW5kbGVyOnMscHJvcGVydGllczpuLHNlcmllc1Byb3BlcnRpZXM6cixkYXRhUmVxdWVzdDpvLHVuZG9IaXN0b3J5OmEsYmFyc01hcmtzQ29udGFpbmVyc0ZhY3Rvcnk6bCxvcHRpb25zOmMsaGliZXJuYXRlVlc6aCxsaW5raW5nR3JvdXBXVjpkLGlzQXV0b1NhdmVFbmFibGVkOnUsZHJhd1RpbWU6cH09ZTt0aGlzLl9jaGFydFdpZGdldD10LHRoaXMuX3RyYWRpbmdQcmVmZXJlbmNlc1NlcnZpY2U9ZS50cmFkaW5nUHJlZmVyZW5jZXNTZXJ2aWNlLHRoaXMubV9tb2RlbD1uZXcgRXUoe2NoYXJ0U2Vzc2lvbjppLGludmFsaWRhdGVIYW5kbGVyOnMscHJvcGVydGllczpuLHNlcmllc1Byb3BlcnRpZXM6cixkYXRhUmVxdWVzdDpvLHVuZG9Nb2RlbDp0aGlzLGJhcnNNYXJrc0NvbnRhaW5lcnNGYWN0b3J5Omwsb3B0aW9uczpjLGhpYmVybmF0ZVZXOmgsbGlua2luZ0dyb3VwV1Y6ZCxpc0F1dG9TYXZlRW5hYmxlZDp1LHN5bWJvbEFsaWFzU2VydmljZTp0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bWJvbEFsaWFzU2VydmljZSgpLGRyYXdUaW1lOnB9KSx0aGlzLl91bmRvSGlzdG9yeT1hLHRoaXMuX2xpbmVUb29sc0dyb3VwQ29udHJvbGxlcj1uZXcgeW8oe21vZGVsOnRoaXMuX21vZGVsLmJpbmQodGhpcykscHVzaFVuZG9Db21tYW5kOnRoaXMuX3B1c2hVbmRvQ29tbWFuZC5iaW5kKHRoaXMpLGJlZ2luVW5kb01hY3JvOmU9Pnt0aGlzLl91bmRvSGlzdG9yeS5iZWdpblVuZG9NYWNybyhlKX0sZW5kVW5kb01hY3JvOnRoaXMuX3VuZG9IaXN0b3J5LmVuZFVuZG9NYWNyby5iaW5kKHRoaXMuX3VuZG9IaXN0b3J5KSxlbWl0RXZlbnQ6dGhpcy5lbWl0RXZlbnQuYmluZCh0aGlzKX0pfWlkKCl7cmV0dXJuIHRoaXMuX21vZGVsKCkuaWQoKX11bmRvSGlzdG9yeSgpe3JldHVybiB0aGlzLl91bmRvSGlzdG9yeX1zZXRXYXRjaGVkVmFsdWUoZSx0LGkpe3RoaXMuX3VuZG9IaXN0b3J5LnNldFdhdGNoZWRWYWx1ZShlLHQsaSl9bGluZVRvb2xzR3JvdXBDb250cm9sbGVyKCl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc0dyb3VwQ29udHJvbGxlcgp9bWVyZ2VBbGxTY2FsZXMoZSl7IWZ1bmN0aW9uKGUsdCl7ZS5iZWdpblVuZG9NYWNybygibGVmdCI9PT10P0tuOlhuKSxlLm1vZGVsKCkucGFuZXMoKS5mb3JFYWNoKChpPT57Y29uc3Qgcz0ibGVmdCI9PT10P2kudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKTppLnZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKSxuPSgibGVmdCI9PT10P2kudmlzaWJsZUxlZnRQcmljZVNjYWxlcygpOmkudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKSkuY29uY2F0KHMpLHI9Im92ZXJsYXkiPT09aS5wcmljZVNjYWxlUG9zaXRpb24oaS5kZWZhdWx0UHJpY2VTY2FsZSgpKT9uWzBdOmkuZGVmYXVsdFByaWNlU2NhbGUoKTtlLm1vdmVQcmljZVNjYWxlKGkscix0LDApLG4uZm9yRWFjaCgodD0+e2lmKHQ9PT1yKXJldHVybjtsZXQgcz10Lm1haW5Tb3VyY2UoKTtmb3IoO251bGwhPT1zOyl7ZS5tb3ZlVG9TY2FsZShzLGkscixudWxsLCEwKTtjb25zdCBuPXQubWFpblNvdXJjZSgpO2lmKG49PT1zKXtabi5sb2dFcnJvcigiTG9vcCBkZXRlY3RlZCB3aGlsZSB0cnlpbmcgdG8gbWVyZ2Ugc2NhbGVzIik7YnJlYWt9cz1ufX0pKX0pKSxlLmVuZFVuZG9NYWNybygpLGUubW9kZWwoKS5mdWxsVXBkYXRlKCl9KHRoaXMsZSl9bW92ZVByaWNlU2NhbGUoZSx0LGkscyl7Y29uc3Qgbj1uZXcgSm4odGhpcy5fbW9kZWwoKSxlLHQsaSxzLExwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobil9Y3JlYXRlTGluZVRvb2woe3BhbmU6ZSxwb2ludDp0LGxpbmV0b29sOmkscHJvcGVydGllczpzLGxpbmtLZXk6bixvd25lclNvdXJjZTpyLHN5bmNocm9uaXphdGlvbk1vZGU6bz1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkRlZmF1bHQsc2hhcmluZ01vZGU6YT1iXygpLGlkOmMsYWN0aW9uU291cmNlOmgsa2VlcFNlbGVjdGVkR3JvdXA6ZH0pe2lmKCEoMCxSdS5lbnN1cmVEcmF3aW5nQ3JlYXRpb25BbGxvd2VkKShpLGgsImNoYXJ0X2RyYXdpbmciKSlyZXR1cm4gVC50b29sLnZhbHVlKCk9PT1pJiYoMCxULnJlc2V0VG9DdXJzb3IpKCksbnVsbDtjb25zdCB1PW9wLmxpbmVUb29sc1N0dWR5SWRzW2ldO2lmKCgwLGwuYXNzZXJ0KSghKDAsbS5pc1N0dWR5TGluZVRvb2xOYW1lKSh1KXx8ISF1KSx1KXtjb25zdCBlPXRoaXMuY2FuQ3JlYXRlU3R1ZHkoe2lkOnV9KTtpZighZS5zdWNjZXNzKXJldHVybiB3Xyh0aGlzLm1vZGVsKCksZSksKDAsbS5pc1N0dWR5TGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJigwLFQucmVzZXRUb0N1cnNvcikoKSxudWxsfWNvbnN0IHA9WXAuZm9ybWF0KHt0b29sOm5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoaSxfci5saW5lVG9vbHNMb2NhbGl6ZWROYW1lc1tpXSl9KTt0aGlzLmJlZ2luVW5kb01hY3JvKHApO2NvbnN0IF89byE9PVJuLkNyZWF0ZUxpbmVUb29sU3luY01vZGUuRm9yY2VPZmYsZz1uZXcgZ3Ioe21vZGVsOnRoaXMuX21vZGVsKCkscGFuZTplLGxpbmVUb29sOmksb3duZXJTb3VyY2U6cnx8KDAsbC5lbnN1cmVOb3ROdWxsKShlLm1haW5EYXRhU291cmNlKCkpLGRyYXdPbkFsbENoYXJ0c01vZGU6YSxpZDpjLGtlZXBTZWxlY3RlZEdyb3VwOmQmJnZvaWQgMD09PW59KSxmPWcuc3RhcnRDcmVhdGluZ0xpbmUodCxzLG58fG51bGwsYSxvPT09Um4uQ3JlYXRlTGluZVRvb2xTeW5jTW9kZS5Gb3JjZU9mZixoKSxTPSgwLGwuZW5zdXJlTm90TnVsbCkoZy5saW5lKCkpO3RoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy51bnNoaWZ0KGcpO2xldCB2PW51bGw7aWYoZiYmKF8mJnRoaXMuZmluaXNoTGluZVRvb2woUyksdGhpcy5fcHVzaFVuZG9Db21tYW5kKGcpLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpLHY9e3BvaW50czpTLm5vcm1hbGl6ZWRQb2ludHMoKSxpbnRlcnZhbDp0aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfSksKHZvaWQgMD09PW4mJm89PT1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkRlZmF1bHQmJigwLFQuZHJhd09uQWxsQ2hhcnRzKSgpLnZhbHVlKCl8fG89PT1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkZvcmNlT24pJiZTLmlzU3luY2hyb25pemFibGUoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5leHRlcm5hbFRpbWVTdGFtcCh0LmluZGV4KSkscz17cG9pbnQ6e3ByaWNlOnQucHJpY2UsdGltZVN0YW1wOmV9LGxpbmV0b29sOmkscHJvcGVydGllczpTLnByb3BlcnRpZXMoKSxzeW1ib2w6dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sKCksbW9kZWw6dGhpcy5tb2RlbCgpLGxpbmtLZXk6KDAsbC5lbnN1cmVOb3ROdWxsKShTLmxpbmtLZXkoKS52YWx1ZSgpKSxmaW5hbFN0YXRlOnYsaWQ6Uy5pZCgpLHNoYXJpbmdNb2RlOlMuc2hhcmluZ01vZGUoKS52YWx1ZSgpfTtTLmlzRml4ZWQoKSYmKHMucG9pbnRQb3NpdGlvblBlcmNlbnRzPVMuY2FsY1Bvc2l0aW9uUGVyY2VudHMoKSksKDAsVC5jcmVhdGVMaW5lVG9vbCkocyl9aWYoZCYmdm9pZCAwPT09bil7Y29uc3QgdD10aGlzLl9yZXNvbHZlUHJldmlvdXNTZWxlY3RlZEdyb3VwKGUpO251bGwhPT10JiYoZj90aGlzLl9saW5lVG9vbHNHcm91cENvbnRyb2xsZXIuYWRkTGluZVRvb2xUb0dyb3VwKHQsUyk6dC5hZGRJdGVtcyhbU10pKX1yZXR1cm4gdGhpcy5lbmRVbmRvTWFjcm8oKSxTfWNvbnRpbnVlQ3JlYXRpbmdMaW5lKGUsdCxpLHMpe2NvbnN0IG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jcmVhdGVMaW5lQ29tbWFuZHNbMF0pO3RoaXMuYmVnaW5VbmRvTWFjcm8obi50ZXh0KCkpO2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLmxpbmVCZWluZ0NyZWF0ZWQoKSksbz1uLmNvbnRpbnVlQ3JlYXRpbmdMaW5lKGUsdCxpLHMpO2xldCBhPW51bGw7aWYobyYmKHRoaXMuZmluaXNoTGluZVRvb2wociksdGhpcy5fcHVzaFVuZG9Db21tYW5kKG4pLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpLGE9e3BvaW50czpyLm5vcm1hbGl6ZWRQb2ludHMoKSxpbnRlcnZhbDp0aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfSksbi5kcmF3T25BbGxDaGFydHMoKSYmci5pc1N5bmNocm9uaXphYmxlKCkpe2NvbnN0IGk9KDAsCmwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5leHRlcm5hbFRpbWVTdGFtcChlLmluZGV4KSk7KDAsVC5jb250aW51ZUxpbmVUb29sKSh7cG9pbnQ6e3ByaWNlOmUucHJpY2UsdGltZVN0YW1wOml9LGVudlN0YXRlOnQsZmluYWxTdGF0ZTphLG1vZGVsOnRoaXMuX21vZGVsKCl9KX1pZihuLmtlZXBTZWxlY3RlZEdyb3VwKCkmJm8pe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLnBhbmVGb3JTb3VyY2UocikpLHQ9dGhpcy5fcmVzb2x2ZVByZXZpb3VzU2VsZWN0ZWRHcm91cChlKTtudWxsIT09dCYmKHQuZXhjbHVkZUl0ZW0ociksdGhpcy5fbGluZVRvb2xzR3JvdXBDb250cm9sbGVyLmFkZExpbmVUb29sVG9Hcm91cCh0LHIpKX1yZXR1cm4gdGhpcy5lbmRVbmRvTWFjcm8oKSxvfWNvbnRpbnVlRXh0ZXJuYWxMaW5lKGUsdCxpKXtjb25zdCBzPSgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fY3JlYXRlTGluZUNvbW1hbmRzWzBdKSxuPXMuY29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkpO3JldHVybiBuJiYodGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpKSxufWZpbmlzaExpbmVUb29sKGUpe3RoaXMuX21vZGVsKCkuZmluaXNoTGluZVRvb2woZSl9Y2FuY2VsQ3JlYXRpbmdMaW5lKCl7dGhpcy5tX21vZGVsLmNhbmNlbENyZWF0aW5nTGluZSgpfWxpbmVCZWluZ0NyZWF0ZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmxpbmVCZWluZ0NyZWF0ZWQoKX1wYXN0ZUltYWdlQXNMaW5lVG9vbChlLHQsaSxzKXtjb25zdCBuPXRoaXMuX21vZGVsKCkudGltZVNjYWxlKCkscj1uLndpZHRoKCksbz1pLmhlaWdodCgpLGE9aS5kZWZhdWx0UHJpY2VTY2FsZSgpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKGEubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLGg9e3ByaWNlOmEuY29vcmRpbmF0ZVRvUHJpY2Uoby8yLGMpLGluZGV4Om4uY29vcmRpbmF0ZVRvSW5kZXgoci8yKX0sZD0oMCxyaS5jcmVhdGVMaW5lVG9vbFByb3BlcnRpZXMpKGkubW9kZWwoKS5iYWNrZ3JvdW5kVGhlbWUoKS5zcGF3bk93bmVyc2hpcCgpLCJMaW5lVG9vbEltYWdlIiwhaS5tb2RlbCgpLnJlYWRPbmx5KCkpO3ZvaWQgMCE9PXMmJmQuY2hpbGRzKCkudHJhbnNwYXJlbmN5LnNldFZhbHVlKHMpO2NvbnN0IHU9KDAsbC5lbnN1cmVOb3ROdWxsKShhLm1haW5Tb3VyY2UoKSk7KDAscmkucHJlcGFyZUxpbmVUb29sUHJvcGVydGllc0J5T3duZXJTb3VyY2UpKGQsdSk7Y29uc3QgcD10aGlzLmNyZWF0ZUxpbmVUb29sKHtwYW5lOmkscG9pbnQ6aCxsaW5ldG9vbDoiTGluZVRvb2xJbWFnZSIscHJvcGVydGllczpkLGFjdGlvblNvdXJjZToiUGFzdGUiLGtlZXBTZWxlY3RlZEdyb3VwOiEwfSk7cmV0dXJuIHAmJihwLnNldEJsb2JJbWFnZVVybCh0KSx0aGlzLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHAsbnVsbCl9KSksZS50aGVuKChlPT57cC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudXJsLnNldFZhbHVlKGUpfSkpLmNhdGNoKChlPT57Y29uc3QgdD1wLmxpbmtLZXkoKS52YWx1ZSgpLGk9dGhpcy5tb2RlbCgpO251bGwhPT10JiYoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITEsbW9kZWw6aSxsaW5rS2V5OnQsc3ltYm9sOnAuc3ltYm9sKCksc291cmNlVGl0bGU6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhwLm5hbWUoKSxwLnRyYW5zbGF0ZWRUeXBlKCkpLGxpbmVUb29sU3RhdGU6cC5zdGF0ZSghMSl9KSxpLnJlbW92ZVNvdXJjZShwKX0pKSkscH1sb2FkUmFuZ2UoZSl7Y29uc3QgdD10aGlzLl9tb2RlbCgpLGk9dC5hcHBsaWVkVGltZUZyYW1lKCkudmFsdWUoKTtyZXR1cm4obnVsbD09PWl8fCFCbihpLGUpKSYmKHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgS3IodCxlKSksKDAsJC5lbWl0KSgidGltZWZyYW1lX2ludGVydmFsIixlKSwhMCl9bWFpblNlcmllcygpe3JldHVybiB0aGlzLm1fbW9kZWwubWFpblNlcmllcygpfW1vZGVsKCl7cmV0dXJuIHRoaXMubV9tb2RlbH1hbGxVbmRvTW9kZWxzKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmNoYXJ0TW9kZWxzKCkudmFsdWUoKX1wdWJsaXNoZWRDaGFydHNUaW1lbGluZVNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKX11bmxpbmtMaW5lcyhlKXtjb25zdCB0PXRoaXMubW9kZWwoKTt0aGlzLmJlZ2luVW5kb01hY3JvKEFwKTtmb3IoY29uc3QgaSBvZiBlKW51bGwhPT1pLmxpbmtLZXkoKS52YWx1ZSgpJiYoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITAsbW9kZWw6dGhpcy5tb2RlbCgpLHN5bWJvbDppLnN5bWJvbCgpLGxpbmtLZXk6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmxpbmtLZXkoKS52YWx1ZSgpKSxzb3VyY2VUaXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxpKSxsaW5lVG9vbFN0YXRlOmkuc3RhdGUoITEpLHVubGluazohMH0pLHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgJHUodCxpKSk7dGhpcy5lbmRVbmRvTWFjcm8oKX16b29tRnJvbVZpZXdwb3J0KCl7Y29uc3QgZT1uZXcganUoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl96b29tU3RhY2suaGVhZCgpKSx0aGlzLl96b29tU3RhY2ssITEpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChlKX16b29tVG9WaWV3cG9ydChlLHQsaSxzLG4pe2NvbnN0IHI9bmV3IHp1KHRoaXMubV9tb2RlbCxlLHQsaSxzLG4pLG89bmV3IGp1KHIsdGhpcy5fem9vbVN0YWNrLCEwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobyl9em9vbVN0YWNrKCl7cmV0dXJuIHRoaXMuX3pvb21TdGFja310aW1lU2NhbGUoKXtyZXR1cm4gdGhpcy5tX21vZGVsLnRpbWVTY2FsZSgpfXNlbGVjdGlvbigpe3JldHVybiB0aGlzLm1fbW9kZWwuc2VsZWN0aW9uKCl9c2VsZWN0aW9uTWFjcm8oZSx0KXtyZXR1cm4gdGhpcy5tX21vZGVsLnNlbGVjdGlvbk1hY3JvKGUsdCl9Cm9uU2VsZWN0ZWRTb3VyY2VDaGFuZ2VkKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5vblNlbGVjdGVkU291cmNlQ2hhbmdlZCgpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLm9uVGFnc0NoYW5nZWQoKX1saW5lQ2FuY2VsbGVkKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5saW5lQ2FuY2VsbGVkKCl9aG92ZXJlZFNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuaG92ZXJlZFNvdXJjZSgpfWNyb3NzaGFpclNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCl9YWN0aXZlU3RyYXRlZ3lTb3VyY2UoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCl9c2V0UHJvcGVydHkoZSx0LGkscyl7aWYoZSYmZS52YWx1ZSgpIT09dCl7dGhpcy5iZWdpblVuZG9NYWNybyhpKTtjb25zdCBuPW5ldyBxci5TZXRQcm9wZXJ0eVVuZG9Db21tYW5kKGUsdCxpLHRoaXMubV9tb2RlbCwhcyk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKG4pLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5lbWl0RXZlbnQoInNldFByb3BlcnR5Iil9fXNldFByb3BlcnRpZXMoZSx0LGkscz0hMCl7dGhpcy5iZWdpblVuZG9NYWNybyhpKSx0aGlzLm1fbW9kZWwuc2VsZWN0aW9uTWFjcm8oKCgpPT57Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdGhpcy5zZXRQcm9wZXJ0eShlW25dLHRbbl0saSwhcyl9KSksdGhpcy5lbmRVbmRvTWFjcm8oKX1iZWdpblVuZG9NYWNybyhlKXtyZXR1cm4gdGhpcy5fdW5kb0hpc3RvcnkuYmVnaW5VbmRvTWFjcm8oZSl9ZW5kVW5kb01hY3JvKCl7dGhpcy5fdW5kb0hpc3RvcnkuZW5kVW5kb01hY3JvKCl9aW52ZXJ0UHJpY2VTY2FsZShlKXtjb25zdCB0PWUucHJvcGVydGllcygpLmNoaWxkcygpLmlzSW52ZXJ0ZWQ7dGhpcy5zZXRQcm9wZXJ0eSh0LCF0LnZhbHVlKCksSnApfXRvZ2dsZVByaWNlU2NhbGVBdXRvU2NhbGVNb2RlKGUpe2NvbnN0IHQ9e2F1dG9TY2FsZTohZS5pc0F1dG9TY2FsZSgpfTt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHQsZSxRcCl9dG9nZ2xlUHJpY2VTY2FsZUxvY2tTY2FsZU1vZGUoZSl7Y29uc3QgdD17bG9ja1NjYWxlOiFlLmlzTG9ja1NjYWxlKCl9O3RoaXMuc2V0UHJpY2VTY2FsZU1vZGUodCxlLGVfKX10b2dnbGVQcmljZVNjYWxlUGVyY2VudGFnZVNjYWxlTW9kZShlKXtjb25zdCB0PXtwZXJjZW50YWdlOiFlLmlzUGVyY2VudGFnZSgpfTt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHQsZSxzXyl9dG9nZ2xlUHJpY2VTY2FsZUluZGV4ZWRUbzEwMFNjYWxlTW9kZShlKXtjb25zdCB0PXtpbmRleGVkVG8xMDA6IWUuaXNJbmRleGVkVG8xMDAoKX07dGhpcy5zZXRQcmljZVNjYWxlTW9kZSh0LGUsaV8pfXRvZ2dsZVByaWNlU2NhbGVMb2dTY2FsZU1vZGUoZSl7Y29uc3QgdD17bG9nOiFlLmlzTG9nKCl9O3RoaXMuc2V0UHJpY2VTY2FsZU1vZGUodCxlLG5fKX1zZXRQcmljZVNjYWxlUmVndWxhclNjYWxlTW9kZShlKXt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHtsb2c6ITEscGVyY2VudGFnZTohMSxpbmRleGVkVG8xMDA6ITF9LGUsdF8pfXdpdGhNYWNybyhlLHQpe2NvbnN0IGk9dGhpcy5iZWdpblVuZG9NYWNybyhlKTt0cnl7dCgpfWZpbmFsbHl7dGhpcy5lbmRVbmRvTWFjcm8oKX1yZXR1cm4gaX1kYXRhU291cmNlcygpe3JldHVybiB0aGlzLm1fbW9kZWwuZGF0YVNvdXJjZXMoKX1vcmRlcmVkRGF0YVNvdXJjZXMoZSl7cmV0dXJuIHRoaXMubV9tb2RlbC5vcmRlcmVkRGF0YVNvdXJjZXMoZSl9YmFyc01hcmtzU291cmNlcygpe3JldHVybiB0aGlzLm1fbW9kZWwuYmFyc01hcmtzU291cmNlcygpfXJlbW92ZUFsbERyYXdpbmdUb29scyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKGhfKSx0aGlzLl9yZW1vdmVBbGxEcmF3aW5nVG9vbHNJbXBsKGUpLHRoaXMuZW5kVW5kb01hY3JvKCl9cmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKGRfKSx0aGlzLl9yZW1vdmVBbGxEcmF3aW5nVG9vbHNJbXBsKGUpLHRoaXMuX3JlbW92ZUFsbFN0dWRpZXNJbXBsKCksdGhpcy5lbmRVbmRvTWFjcm8oKX1yZW1vdmVBbGxTdHVkaWVzKCl7dGhpcy5iZWdpblVuZG9NYWNybyhjXyksdGhpcy5fcmVtb3ZlQWxsU3R1ZGllc0ltcGwoKSx0aGlzLmVuZFVuZG9NYWNybygpfXNjcm9sbENoYXJ0QnlCYXIoZSl7aWYoIXRoaXMubV9tb2RlbC5zY3JvbGxFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHQ9ZSp0aGlzLm1fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO3RoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKHQpLHRoaXMuZW5kU2Nyb2xsVGltZSgpfWNhblpvb21Jbigpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuWm9vbUluKCl9Y2FuWm9vbU91dCgpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuWm9vbU91dCgpfXpvb21PdXQoKXtjb25zdCBlPXRoaXMudGltZVNjYWxlKCkud2lkdGgoKTt0aGlzLmNhblpvb21PdXQoKSYmKDAsT24uZG9BbmltYXRlKSh7dG86ZS81LG9uU3RlcDplPT57dGhpcy5zdGFydFNjYWxlVGltZSgwKSx0aGlzLnNjYWxlVGltZVRvKGUpLHRoaXMuZW5kU2NhbGVUaW1lKCl9fSl9em9vbUluKCl7Y29uc3QgZT10aGlzLnRpbWVTY2FsZSgpLndpZHRoKCk7dGhpcy5jYW5ab29tSW4oKSYmKDAsT24uZG9BbmltYXRlKSh7dG86ZS81LG9uU3RlcDplPT57dGhpcy5zdGFydFNjYWxlVGltZShlKSx0aGlzLnNjYWxlVGltZVRvKDApLHRoaXMuZW5kU2NhbGVUaW1lKCl9fSl9c2Nyb2xsQ2hhcnQoZSl7dGhpcy5tX21vZGVsLnNjcm9sbEVuYWJsZWQoKSYmKHRoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKGUpLHRoaXMuZW5kU2Nyb2xsVGltZSgpKX1zdGFydE1vdmluZ1NvdXJjZXMoZSx0LGkscyl7ZS5maWx0ZXIoKGU9PmUuZG9lc01vdmluZ0FmZmVjdHNVbmRvKCkpKS5sZW5ndGgmJih0aGlzLl9jdXJyZW50U291cmNlTW92ZUNvbW1hbmQ9bmV3IG5yKHRoaXMubW9kZWwoKSxlLGtwLCExKSksdGhpcy5tb2RlbCgpLnN0YXJ0TW92aW5nU291cmNlcyhlLHQsaSxuZXcgTWFwLHMpfW1vdmVTb3VyY2VzKGUsdCl7CnRoaXMubW9kZWwoKS5tb3ZlU291cmNlcyhlLG5ldyBNYXAsdCl9ZW5kTW92aW5nU291cmNlKGUsdCl7dGhpcy5tb2RlbCgpLmVuZE1vdmluZ1NvdXJjZXMoZSx2b2lkIDAsdCksbnVsbCE9PXRoaXMuX2N1cnJlbnRTb3VyY2VNb3ZlQ29tbWFuZCYmKHRoaXMuX2N1cnJlbnRTb3VyY2VNb3ZlQ29tbWFuZC5zYXZlTmV3U3RhdGUoKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodGhpcy5fY3VycmVudFNvdXJjZU1vdmVDb21tYW5kKSksdGhpcy5fY3VycmVudFNvdXJjZU1vdmVDb21tYW5kPW51bGx9c3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKXt0aGlzLl9jdXJyZW50TGluZUNoYW5nZUNvbW1hbmQ9bmV3IG5yKHRoaXMubW9kZWwoKSxbZV0sZS5jaGFuZ2VQb2ludFVuZG9UZXh0KHMpLCExKSx0aGlzLm1vZGVsKCkuc3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKX1jaGFuZ2VMaW5lUG9pbnQoZSx0KXt0aGlzLm1vZGVsKCkuY2hhbmdlTGluZVBvaW50KGUsdCl9YWxpZ25Ub29sVG80NURlZ3JlZXMoZSx0KXtjb25zdCBpPWUuYWxpZ25UbzQ1RGVncmVlc1BvaW50cygpO2kmJih0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IG5yKHRoaXMubW9kZWwoKSxbZV0sYV8sITEpKSx0aGlzLm1vZGVsKCkuYWxpZ25UbzQ1RGVncmVlcyhlLHQsaSkpfWVuZENoYW5naW5nTGluZXRvb2woZSl7dGhpcy5tb2RlbCgpLmVuZENoYW5naW5nTGluZXRvb2woZSksbnVsbCE9PXRoaXMuX2N1cnJlbnRMaW5lQ2hhbmdlQ29tbWFuZCYmKHRoaXMuX2N1cnJlbnRMaW5lQ2hhbmdlQ29tbWFuZC5zYXZlTmV3U3RhdGUoKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodGhpcy5fY3VycmVudExpbmVDaGFuZ2VDb21tYW5kKSksdGhpcy5fY3VycmVudExpbmVDaGFuZ2VDb21tYW5kPW51bGx9c2V0Q2hhcnRTdHlsZVByb3BlcnR5KGUsdCxpKXtpZihlLnZhbHVlKCkhPT10KXtjb25zdCBzPU91LmNoYXJ0U3R5bGVQZXJtaXNzaW9ucy5nZXQodCksbj0oKT0+e3RoaXMuYmVnaW5VbmRvTWFjcm8oaSk7Y29uc3Qgcz1uZXcgJHIoZSx0LHRoaXMubWFpblNlcmllcygpLGksdGhpcy5tb2RlbCgpLHRoaXMuX2NoYXJ0V2lkZ2V0KTt2YXIgbjt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoInNldENoYXJ0U3R5bGVQcm9wZXJ0eSIpLG49ZS52YWx1ZSgpLCgwLFVyLmdldFRyYWNrZXIpKCkudGhlbigoZT0+e2lmKG51bGwhPT1lKXtjb25zdCB0PUwuU1RZTEVfU0hPUlRfTkFNRVNbbl07ZS50cmFja0NoYXJ0U3R5bGUodCl9fSkpLHRoaXMuZW5kVW5kb01hY3JvKCl9O3M/KDAsV3UucnVuT3JHb1BybykobixzLmZlYXR1cmUse2ZlYXR1cmU6cy5mZWF0dXJlTmFtZX0pOm4oKX19c2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpe3RoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT3ModGhpcy5tX21vZGVsLGUsdCx0LnN0YXRlKCkpKSx0aGlzLm1fbW9kZWwuc2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpfXNldFByaWNlU2NhbGVNb2RlKGUsdCxpKXtpZighKDAscy5kZWZhdWx0KSh0Lm1vZGUoKSxlKSl7Y29uc3Qgcz1uZXcgJG8oZSx0LGksdGhpcy5tX21vZGVsKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyl9fXNldFByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneShlKXtjb25zdCB0PXRoaXMubV9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aWYodC5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lLnZhbHVlKCk9PT1lKXJldHVybjsoMCxNdC50cmFja0V2ZW50KSgiQ2hhcnQiLCJDaGFuZ2UgUHJpY2VTY2FsZSBTZWxlY3Rpb24gU3RyYXRlZ3kiKTtjb25zdCBpPWxfLmZvcm1hdCh7dGl0bGU6ZX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8oaSksdGhpcy5zZXRQcm9wZXJ0eSh0LnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUsZSxpKTtjb25zdCBzPW5ldyB5cCh0aGlzLm1fbW9kZWwsZSxpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbmRVbmRvTWFjcm8oKX1zZXRTY2FsZVJhdGlvUHJvcGVydHkoZSx0LGkpe2lmKGUudmFsdWUoKSE9PXQpe2NvbnN0IHM9bmV3IGZwKGUsdCxpLHRoaXMubV9tb2RlbCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpfX1jcmVhdGVVbmRvQ2hlY2twb2ludCgpe3JldHVybiB0aGlzLl91bmRvSGlzdG9yeS5jcmVhdGVVbmRvQ2hlY2twb2ludCgpfXVuZG9Ub0NoZWNrcG9pbnQoZSl7dGhpcy5fdW5kb0hpc3RvcnkudW5kb1RvQ2hlY2twb2ludChlKX1yZXN0b3JlUHJvcGVydGllc0ZvclNvdXJjZShlKXsoMCxyaS5pc0xpbmVUb29sKShlKT90aGlzLl9yZXN0b3JlTGluZVRvb2xGYWN0b3J5RGVmYXVsdHMoZSk6dGhpcy5fcmVzdG9yZVN0dWR5RmFjdG9yeURlZmF1bHRzKGUpfXJlc3RvcmVMaW5lVG9vbHNGYWN0b3J5RGVmYXVsdHMoZSl7MT09PWUubGVuZ3RoP3RoaXMuX3Jlc3RvcmVMaW5lVG9vbEZhY3RvcnlEZWZhdWx0cyhlWzBdKToodGhpcy5iZWdpblVuZG9NYWNybyhFcCksZS5mb3JFYWNoKChlPT50aGlzLl9yZXN0b3JlTGluZVRvb2xGYWN0b3J5RGVmYXVsdHMoZSkpKSx0aGlzLmVuZFVuZG9NYWNybygpKX1yZXN0b3JlUHJlZmVyZW5jZXMoKXtjb25zdCBlPW5ldyBncCh0aGlzLm1vZGVsKCksdGhpcy5fdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZSk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGUpfXJlc3RvcmVTdGF0ZShlLHQsaSl7cmV0dXJuIHRoaXMubV9tb2RlbC5yZXN0b3JlU3RhdGUoZSx0LGkpfWFzeW5jIGNsaXBib2FyZENvcHkoZSx0PXRoaXMuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKSl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRhdGFzb3VyY2VfY29weXBhc3RlIikpcmV0dXJuO2NvbnN0IGk9dC5maWx0ZXIoKGU9PmUuY29waWFibGUoKSkpO2lmKDA9PT1pLmxlbmd0aClyZXR1cm47Zm9yKGNvbnN0IGUgb2YgaSlpZigoMCx0aS5pc1N0dWR5KShlKSYmZS5pc0NoaWxkU3R1ZHkoKSl0aHJvdyBuZXcgRXJyb3IoIkNhbiBub3QgY29weSBjaGlsZCBzdHVkeSIpO2NvbnN0IHM9KDAsSG4uY2xpcGJvYXJkRGF0YUZvclNvdXJjZXMpKHRoaXMuX21vZGVsKCkuaWQoKSxpKTtyZXR1cm4gbnVsbCE9PXM/ZS53cml0ZSh7CmFwcDpKU09OLnN0cmluZ2lmeShzKSx0ZXh0OnMudGl0bGV9KTp2b2lkIDB9YXN5bmMgY2xpcGJvYXJkQ3V0KGUsdD10aGlzLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCkpe2lmKCEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkYXRhc291cmNlX2NvcHlwYXN0ZSIpKXJldHVybjtjb25zdCBpPXQuZmlsdGVyKChlPT5lLmNvcGlhYmxlKCkpKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2F3YWl0IHRoaXMuY2xpcGJvYXJkQ29weShlLGkpO2NvbnN0IHM9aS5maWx0ZXIoKGU9PmUuaXNVc2VyRGVsZXRhYmxlKCkpKTtpZigwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IG49KDE9PT1zLmxlbmd0aD9UcDp4cCkuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxzWzBdKX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8obiksdGhpcy5tX21vZGVsLnNlbGVjdGlvbk1hY3JvKCgoKT0+dGhpcy5yZW1vdmVTb3VyY2VzKHMsITEsbikpLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpfWFzeW5jIGNsaXBib2FyZFBhc3RlKGUsdCl7bGV0IGk9bnVsbDtpZigoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkYXRhc291cmNlX2NvcHlwYXN0ZSIpJiYoaT1pfHxhd2FpdCBlLnJlYWQoKSxpLmFwcCkpe2NvbnN0IGU9SlNPTi5wYXJzZShpLmFwcCk7aWYobnVsbCE9PWF3YWl0IHRoaXMucGFzdGVTb3VyY2VGcm9tQ2xpcCh0LGUpKXJldHVybn1hd2FpdCB0aGlzLl9wcm9jZXNzU3BlY2lhbExpbmVUb29sc0NvbnRlbnRzKGUsaSx0KX1hcHBseVN0dWR5VGVtcGxhdGUoZSx0LGkpe2NvbnN0IHM9bmV3IE1vKHRoaXMuX21vZGVsKCksZSx0LGkpO3RoaXMuYmVnaW5VbmRvTWFjcm8ocy50ZXh0KCkpO2NvbnN0IG49dGhpcy5tX21vZGVsLnBhbmVzKCkucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodC5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCkuZmlsdGVyKHJpLmlzTGluZVRvb2wpLmZpbHRlcigoZT0+ZS5vd25lclNvdXJjZSgpIT09dGhpcy5tX21vZGVsLm1haW5TZXJpZXMoKSYmKCFlLnN1cHBvcnRzVGFyZ2V0U2lnbmF0dXJlKCl8fG51bGw9PT1lLnRhcmdldFNpZ25hdHVyZSgpKSkpKSksW10pO3RoaXMucmVtb3ZlU291cmNlcyhuLCExLG51bGwpLHRoaXMuX3B1c2hVbmRvQ29tbWFuZChzKSx0aGlzLmVuZFVuZG9NYWNybygpLCgwLCQuZW1pdCkoImxvYWRfc3R1ZHlfdGVtcGxhdGUiKX1jcmVhdGVTdHVkeUluc2VydGVyKGUsdCxpPXt9KXtjb25zdHtzdHViVGl0bGU6cyxpc092ZXJsYXk6bn09aSxyPXtjcmVhdGVTdHVkeTplPT57Y29uc3R7c3R1ZHlNZXRhSW5mbzppLGlucHV0czpzLHN0dWJUb1JlcGxhY2U6bixwcm9wc1N0YXRlOnIsZm9yY2VPdmVybGF5Om8scGFyZW50U291cmNlczphLHByZWZlcnJlZFByaWNlU2NhbGU6bCxhbGxvd0NoYW5nZUN1cnJlbmN5OmMsYWxsb3dDaGFuZ2VVbml0OmgsYWxsb3dDaGFuZ2VNZXRyaWM6ZCxwYW5lU2l6ZTp1LHRhcmdldFNjYWxlTW9kZTpwLGV2ZW50U291cmNlOl99PWU7aWYoIXRoaXMuY2hlY2tJZkZlYXR1cmVBdmFpbGFibGUoaSx0KSlyZXR1cm4gZl8ubG9nTm9ybWFsKCJDYW5ub3QgaW5zZXJ0IHN0dWR5ICIraS5pZCksbnVsbDsoMCxNdC50cmFja0V2ZW50KSgic3R1ZGllcyIsIlN0dWR5XyIraS5pZCxpLmRlc2NyaXB0aW9uKSwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09aS5pZCYmKDAsTXQudHJhY2tFdmVudCkoImNvbXBhcmUiLCJzeW1ib2w6IitzLnN5bWJvbCksbiYmdGhpcy5tX21vZGVsLnJlbW92ZVNvdXJjZShuKTtjb25zdCBtPXRoaXMuX2luc2VydFN0dWR5KGkscyxyLG8sYSxsLGMsaCxkLHUsbnVsbCxwLF8pO3JldHVybiBtLnN0dWR5LnRoZW4oKGU9PigwLCQuZW1pdCkoInN0dWR5X2V2ZW50IixlLmlkKCksImNyZWF0ZSIpKSksbX0sc3RvcmVGYWlsZWRTdHViOmU9Pnt0aGlzLl9zdG9yZUZhaWxlZFN0dWIoZSl9fTt2b2lkIDAhPT1zJiYoci5jcmVhdGVTdHViPSgpPT50aGlzLm1fbW9kZWwuaW5zZXJ0U3R1ZHlTdHViKHMsbikuaWQoKSxyLnJlbW92ZVN0dWI9ZT0+dGhpcy5tX21vZGVsLnJlbW92ZVN0dWR5U3R1YihlKSk7Y29uc3Qgbz1uZXcgZ3UoZSxyKTtyZXR1cm4gby5zZXRQYXJlbnRTb3VyY2VzKHQpLG99YXBwbHlMaW5lVG9vbFRlbXBsYXRlKGUsdCxpKXt0aGlzLmJlZ2luVW5kb01hY3JvKGkpLHRoaXMuc2F2ZUxpbmVUb29sU3RhdGUoZSxpKTtjb25zdCBzPW5ldyBscChlLHQsaSk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpLHRoaXMuc2F2ZUxpbmVUb29sU3RhdGUoZSxpKSx0aGlzLmVuZFVuZG9NYWNybygpLHRoaXMubW9kZWwoKS51cGRhdGVTb3VyY2UoZSl9YXBwbHlMaW5lVG9vbHNUZW1wbGF0ZShlKXtpZigic291cmNlcyJpbiBlKXtjb25zdHtzb3VyY2VzOnQsZGF0YTppfT1lO3RoaXMuYmVnaW5VbmRvTWFjcm8oZ18pO2Zvcihjb25zdCBlIG9mIHQpdGhpcy5hcHBseUxpbmVUb29sVGVtcGxhdGUoZSxpLG51bGwpO3RoaXMuZW5kVW5kb01hY3JvKCl9ZWxzZXtjb25zdHtwcm9wZXJ0aWVzOnQsZGF0YTppfT1lO2kuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzPSgwLEpsLm1lcmdlSW50ZXJ2YWxWaXNpYmlsaXRpZXNEZWZhdWx0cykoaS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMpLHQuYXBwbHlUZW1wbGF0ZShpLHQuZmFjdG9yeURlZmF1bHRzKCkpLHQuc2F2ZURlZmF1bHRzKCl9fXJlcGxheVN0YXR1cygpe3JldHVybiB0aGlzLm1fbW9kZWwucmVwbGF5U3RhdHVzKCl9c2V0UmVwbGF5U3RhdHVzKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuc2V0UmVwbGF5U3RhdHVzKGUpfWlzSW5SZXBsYXkoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmlzSW5SZXBsYXkoKX1nZXRTeW1ib2xTdHJpbmcoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmdldFN5bWJvbFN0cmluZygpfWludGVydmFsKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5pbnRlcnZhbCgpfW9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKX1zd2l0Y2hUb1JlcGxheShlLHQsaSl7CnRoaXMuX3VuZG9IaXN0b3J5LmNsZWFyU3RhY2soKSx0aGlzLm1fbW9kZWwuc3dpdGNoVG9SZXBsYXkoZSx0LGkpfXN3aXRjaFRvUmVhbHRpbWUoKXt0aGlzLl91bmRvSGlzdG9yeS5jbGVhclN0YWNrKCksdGhpcy5tX21vZGVsLnN3aXRjaFRvUmVhbHRpbWUoKX1jYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuQ2hhbmdlUmVzb2x1dGlvbihlKX1jYW5DaGFuZ2VTeW1ib2woZSl7cmV0dXJuIHRoaXMubW9kZWwoKS5jYW5DaGFuZ2VTeW1ib2woZSl9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLm1vZGVsKCkub25SZXBsYXlNb2RpZmllZCgpfXN0YXJ0Q3VzdG9tTW92aW5nKGUsdCxpKXt0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQ9bmV3IGpvKHRoaXMubW9kZWwoKSxlLHQsaSl9Y3VzdG9tTW92ZUJlaW5nUHJvY2Vzc2VkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmR9cHJvY2Vzc0N1c3RvbU1vdmUoZSl7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQpLm1vdmUoZSl9ZW5kQ3VzdG9tTW92aW5nKCl7bnVsbCE9PXRoaXMuX2N1cnJlbnRDdXN0b21Nb3ZlQ29tbWFuZCYmdGhpcy5fY3VycmVudEN1c3RvbU1vdmVDb21tYW5kLmhhc0NoYW5nZXMoKSYmKHRoaXMuX3B1c2hVbmRvQ29tbWFuZCh0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQpLHRoaXMuX2N1cnJlbnRDdXN0b21Nb3ZlQ29tbWFuZD1udWxsKX1zdGF0ZShlKXtyZXR1cm4gdGhpcy5tX21vZGVsLnN0YXRlKGUpfXBhbmVzKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5wYW5lcygpfWNsb25lTGluZVRvb2xzKGUsdCl7aWYoZS5zb21lKChlPT4hKDAsUnUuZW5zdXJlRHJhd2luZ0NyZWF0aW9uQWxsb3dlZCkoZS50b29sbmFtZSwiQ2xvbmUiLCJjaGFydF9kcmF3aW5nX2Nsb25lIikpKSlyZXR1cm5bXTt0aGlzLmJlZ2luVW5kb01hY3JvKE5wKTtjb25zdCBpPW5ldyBlcih0aGlzLl9tb2RlbCgpLGUsdCxOcCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGkpO2NvbnN0IHM9aS5uZXdJZHMoKS5tYXAoKGU9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChlKSkpKS5maWx0ZXIoKGU9PjAhPT1lLnNoYXJpbmdNb2RlKCkudmFsdWUoKSkpO3JldHVybiBzLmxlbmd0aCYmdGhpcy5fbW9kZWwoKS5jb3B5VG9PdGhlckNoYXJ0cyhzLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpLHRoaXMuZW1pdEV2ZW50KCJjbG9uZUxpbmVUb29scyIpLGkubmV3SWRzKCl9cmVtb3ZlU291cmNlKGUsdCxpKXt0aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKSE9PWU/dGhpcy5yZW1vdmVTb3VyY2VzKFtlXSx0LE1wLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZSl9KSxpKTp0aGlzLmNhbmNlbENyZWF0aW5nTGluZSgpfXJlbW92ZVNlbGVjdGVkU291cmNlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwoKS5zZWxlY3Rpb24oKS5kYXRhU291cmNlcygpO2lmKCFlLmxlbmd0aClyZXR1cm47Y29uc3QgdD0oZS5sZW5ndGg+MT9JcDpNcCkuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKX0pO3RoaXMucmVtb3ZlU291cmNlcyhlLCExLHQpfXJlbW92ZVNvdXJjZXMoZSx0LGkscyl7c3x8KGU9ZS5maWx0ZXIoKGU9PmUuaXNVc2VyRGVsZXRhYmxlKCkpKSk7Y29uc3Qgbj10aGlzLl9tb2RlbCgpLHI9bi5saW5lVG9vbHNHcm91cE1vZGVsKCk7dGhpcy5iZWdpblVuZG9NYWNybyhpKSxuLnNlbGVjdGlvbk1hY3JvKChzPT57Y29uc3Qgbz1uZXcgTWFwO2UuZm9yRWFjaCgoZT0+e2lmKCgwLHJpLmlzTGluZVRvb2wpKGUpKXtjb25zdCB0PXIuZ3JvdXBGb3JMaW5lVG9vbChlKTtpZihudWxsIT09dCl7Y29uc3QgaT1vLmdldCh0KXx8W107aS5wdXNoKGUpLG8uc2V0KHQsaSl9bnVsbCE9PWUubGlua0tleSgpLnZhbHVlKCkmJigwLFQucmVtb3ZlTGluZVRvb2wpKHt3aXRoVW5kbzohMCxtb2RlbDp0aGlzLm1vZGVsKCksbGlua0tleTooMCxsLmVuc3VyZU5vdE51bGwpKGUubGlua0tleSgpLnZhbHVlKCkpLHN5bWJvbDp0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbCgpLGxpbmVUb29sU3RhdGU6ZS5zdGF0ZSghMSksc291cmNlVGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZSl9KX19KSk7Y29uc3QgYT1uZXcgdHIuUmVtb3ZlU291cmNlc1VuZG9Db21tYW5kKG4sZSxpKSxjPWEucmVtb3ZlZElkcygpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChhKSwhdCYmYy5sZW5ndGg+MCYmKDE9PT1jLmxlbmd0aD90aGlzLmVtaXRFdmVudCgicmVtb3ZlU291cmNlIixbY1swXV0pOnRoaXMuZW1pdEV2ZW50KCJyZW1vdmVTb3VyY2VzIixbY10pKX0pLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpfWFzeW5jIHNjcm9sbFRvTGluZVRvb2woZSl7Y29uc3QgdD10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBpPWUucG9pbnRzKCkubWFwKChlPT5lLmluZGV4KSkscz10aGlzLnRpbWVTY2FsZSgpLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKTtpZihudWxsPT09cylyZXR1cm47bGV0IG49cy5maXJzdEluZGV4O2NvbnN0IHI9cy5sYXN0SW5kZXgsbz10Lmxlbmd0aCgpLzI7aWYoMD09PWkubGVuZ3RofHxpLnNvbWUoKGU9PnQuY29udGFpbnMoZSkpKSlyZXR1cm47Y29uc3QgYz0oKT0+e2NvbnN0IHQ9ZS5wb2ludHMoKS5tYXAoKGU9PmUuaW5kZXgpKSxpPXQuZmlsdGVyKChlPT5lPD1yKSkucmVkdWNlKCgoZSx0KT0+bnVsbD09PWU/dDpNYXRoLm1heChlLHQpKSxudWxsKTtyZXR1cm4gbnVsbCE9PWk/aTp0LnJlZHVjZSgoKGUsdCk9Pk1hdGgubWluKGUsdCkpKX07bGV0IGg9YygpO2lmKG4tbz5oKXsKY29uc3QgdD1lLnBvaW50cygpLm1hcCgoZT0+ZS50aW1lKSkuZmlsdGVyKGEubm90VW5kZWZpbmVkKS5tYXAoKGU9PjFlMyplKSk7aWYoMD09PXQubGVuZ3RoKXJldHVybjtjb25zdCBpPXQucmVkdWNlKCgoZSx0KT0+TWF0aC5taW4oZSx0KSksdFswXSk7YXdhaXQgdGhpcy5tb2RlbCgpLmdvdG9UaW1lKGkpLGg9YygpO2lmKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKSkuY29udGFpbnMoaCkpcmV0dXJuO249KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnRpbWVTY2FsZSgpLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKSkuZmlyc3RJbmRleH1uLW8+aCYmdGhpcy5tYWluU2VyaWVzKCkuc2V0R290b0RhdGVSZXN1bHQoe3RpbWVzdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMudGltZVNjYWxlKCkucG9pbnRzKCkudmFsdWVBdChuKSksZW9kOiEwfSk7Y29uc3QgZD10aGlzLnRpbWVTY2FsZSgpLndpZHRoKCkvMix1PXRoaXMudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUoaCk7dGhpcy5tb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLm1vZGVsKCkuc2V0VGltZVNjYWxlQW5pbWF0aW9uKG5ldyBGbih7ZnJvbTowLHRvOmQtdSxkdXJhdGlvbjpFbi5kdXIsZWFzaW5nOkVuLmVhc2luZ0Z1bmMuZWFzZUluT3V0Q3ViaWN9KSl9bWVyZ2VTb3VyY2VVcChlKXtjb25zdCB0PW5ldyBoci5NZXJnZVVwVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLE9wKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tZXJnZVNvdXJjZURvd24oZSl7Y29uc3QgdD1uZXcgaHIuTWVyZ2VEb3duVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLFdwKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tZXJnZVRvUGFuZShlLHQsaSl7Y29uc3Qgcz10aGlzLl9tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0KSxuPW5ldyBoci5NZXJnZVRvVGFyZ2V0UGFuZSh0aGlzLl9tb2RlbCgpLGUscyxGcCxpKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSxuKX11bm1lcmdlU291cmNlVXAoZSl7Y29uc3QgdD1uZXcgbHIodGhpcy5fbW9kZWwoKSxlLEhwKTt0aGlzLl93aXRoS2VlcFdpZGdldFBhbmVQb3NpdGlvbkd1YXJkKCgoKT0+dGhpcy5fbWVyZ2VVbm1lcmdlU291cmNlKGUsdCkpLHQudGV4dCgpKX11bm1lcmdlU291cmNlRG93bihlKXtjb25zdCB0PW5ldyBhcih0aGlzLl9tb2RlbCgpLGUsenApO3RoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KSksdC50ZXh0KCkpfXVubWVyZ2VUb05ld0JvdHRvbVBhbmUoZSl7Y29uc3QgdD1uZXcgY3IodGhpcy5fbW9kZWwoKSxlLFVwKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tb3ZlTGVmdCgpe3RoaXMuYmVnaW5VbmRvTWFjcm8ocl8pLCgwLE9uLmRvQW5pbWF0ZSkoe3RvOnRoaXMubV9tb2RlbC50aW1lU2NhbGUoKS53aWR0aCgpLzUsb25TdGVwOmU9Pnt0aGlzLnN0YXJ0U2Nyb2xsVGltZShlKSx0aGlzLnNjcm9sbFRpbWVUbygwKSx0aGlzLmVuZFNjcm9sbFRpbWUoKX0sb25Db21wbGV0ZTooKT0+e3RoaXMuZW5kVW5kb01hY3JvKCl9fSl9bW92ZVJpZ2h0KCl7dGhpcy5iZWdpblVuZG9NYWNybyhvXyksKDAsT24uZG9BbmltYXRlKSh7dG86dGhpcy5tX21vZGVsLnRpbWVTY2FsZSgpLndpZHRoKCkvNSxvblN0ZXA6ZT0+e3RoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKGUpLHRoaXMuZW5kU2Nyb2xsVGltZSgpfSxvbkNvbXBsZXRlOigpPT57dGhpcy5lbmRVbmRvTWFjcm8oKX19KX1hdmFpbGFibGVaT3JkZXJPcGVyYXRpb25zKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCksaT1lLmZpbHRlcihyaS5pc0xpbmVUb29sKSxzPWkubWFwKChlPT50Lmdyb3VwRm9yTGluZVRvb2woZSkpKTsoMCxsLmFzc2VydCkobmV3IFNldChzKS5zaXplPD0xLCJDYW5ub3QgbW92ZSBsaW5lIHRvb2xzIGZyb20gZGlmZmVyZW50IGdyb3VwIik7Y29uc3Qgbj0wPT09cy5sZW5ndGg/bnVsbDpzWzBdO2xldCByPXticmluZ0ZvcndhcmRFbmFibGVkOiExLGJyaW5nVG9Gcm9udEVuYWJsZWQ6ITEsc2VuZEJhY2t3YXJkRW5hYmxlZDohMSxzZW5kVG9CYWNrRW5hYmxlZDohMX07Y29uc3Qgbz1uZXcgU2V0KGkpO2Zvcihjb25zdCB0IG9mKDAsZHIuc29ydFNvdXJjZXMpKGUpKXtpZigoMCxyaS5pc0xpbmVUb29sKSh0KSYmbnVsbCE9PW4pe2NvbnN0IGU9KDAsZHIuc29ydFNvdXJjZXMpKG4ubGluZVRvb2xzKCkuZmlsdGVyKChlPT4hby5oYXMoZSl8fGU9PT10KSkpO3I9eV8ocix7YnJpbmdGb3J3YXJkRW5hYmxlZDp0IT09ZVtlLmxlbmd0aC0xXSxicmluZ1RvRnJvbnRFbmFibGVkOnQhPT1lW2UubGVuZ3RoLTFdLHNlbmRCYWNrd2FyZEVuYWJsZWQ6dCE9PWVbMF0sc2VuZFRvQmFja0VuYWJsZWQ6dCE9PWVbMF19KTtjb250aW51ZX1jb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKHQpKS5zb3VyY2VzQnlHcm91cCgpLmFsbEV4Y2VwdFNwZWNpYWxTb3VyY2VzKCk7aWYoMD09PWUubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IGk9dC56b3JkZXIoKSxzPWVbMF0uem9yZGVyKCksYT1lW2UubGVuZ3RoLTFdLnpvcmRlcigpO3I9eV8ocix7YnJpbmdGb3J3YXJkRW5hYmxlZDppIT09YSxicmluZ1RvRnJvbnRFbmFibGVkOmkhPT1hLHNlbmRCYWNrd2FyZEVuYWJsZWQ6aSE9PXMsc2VuZFRvQmFja0VuYWJsZWQ6aSE9PXN9KX1yZXR1cm4gcn1zZW5kVG9CYWNrKGUpe2lmKCF0aGlzLmF2YWlsYWJsZVpPcmRlck9wZXJhdGlvbnMoZSkuc2VuZFRvQmFja0VuYWJsZWQpdGhyb3cgbmV3IEVycm9yKCJTZW5kIHRvIGJhY2sgb3BlcmF0aW9uIGlzIHVuYXZhaWxhYmxlIik7bGV0IHQ9bnVsbDtjb25zdCBpPWVbMF07aWYoKDAscmkuaXNMaW5lVG9vbCkoaSkpe2NvbnN0IHM9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChpKTtpZihudWxsIT09cyl7Y29uc3QgaT1zLmxpbmVUb29scygpCjt0PW5ldyBEcih0aGlzLm1vZGVsKCksKDAsZHIuc29ydFNvdXJjZXMpKGUpLGlbMF0pfX1udWxsPT09dCYmKHQ9bmV3IElyKHRoaXMubW9kZWwoKSwoMCxkci5zb3J0U291cmNlcykoZSkpKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCksdGhpcy5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2VdKX1icmluZ1RvRnJvbnQoZSl7aWYoIXRoaXMuYXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKS5icmluZ1RvRnJvbnRFbmFibGVkKXRocm93IG5ldyBFcnJvcigiQnJpbmcgdG8gZnJvbnQgb3BlcmF0aW9uIGlzIHVuYXZhaWxhYmxlIik7bGV0IHQ9bnVsbDtjb25zdCBpPWVbMF07aWYoKDAscmkuaXNMaW5lVG9vbCkoaSkpe2NvbnN0IHM9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChpKTtpZihudWxsIT09cyl7Y29uc3QgaT1zLmxpbmVUb29scygpO3Q9bmV3IEFyKHRoaXMubW9kZWwoKSwoMCxkci5zb3J0U291cmNlcykoZSksaVtpLmxlbmd0aC0xXSl9fW51bGw9PT10JiYodD1uZXcgTXIodGhpcy5tb2RlbCgpLCgwLGRyLnNvcnRTb3VyY2VzKShlKSkpLHRoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KSx0aGlzLmVtaXRFdmVudCgiY2hhbmdlWk9yZGVyIixbZV0pfXNlbmRCYWNrd2FyZChlKXtpZighdGhpcy5hdmFpbGFibGVaT3JkZXJPcGVyYXRpb25zKGUpLnNlbmRCYWNrd2FyZEVuYWJsZWQpdGhyb3cgbmV3IEVycm9yKCJTZW5kIGJhY2t3YXJkIG9wZXJhdGlvbiBpcyB1bmF2YWlsYWJsZSIpO2NvbnN0IHQ9YnAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKX0pO3RoaXMuX3NlbmRCYWNrT3JCcmluZ0ZvcndhcmQodCwoMCxkci5zb3J0U291cmNlcykoZSksKChlLHQpPT5uZXcgUnIodGhpcy5tb2RlbCgpLGUsdCkpKX1icmluZ0ZvcndhcmQoZSl7aWYoIXRoaXMuYXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKS5icmluZ0ZvcndhcmRFbmFibGVkKXRocm93IG5ldyBFcnJvcigiQnJpbmcgZm9yd2FyZCBvcGVyYXRpb24gaXMgdW5hdmFpbGFibGUiKTtjb25zdCB0PXdwLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZVswXSl9KTt0aGlzLl9zZW5kQmFja09yQnJpbmdGb3J3YXJkKHQsKDAsZHIuc29ydFNvdXJjZXMpKGUpLCgoZSx0KT0+bmV3IEJyKHRoaXMubW9kZWwoKSxlLHQpKSl9aW5zZXJ0QWZ0ZXIoZSx0KXtlPSgwLGRyLnNvcnRTb3VyY2VzKShlKTtjb25zdCBpPUNwLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZVswXSksdGFyZ2V0OigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLHQpfSk7dGhpcy5faW5zZXJ0QWZ0ZXJPckJlZm9yZShpLGUsdCwoKCk9Pm5ldyBBcih0aGlzLm1vZGVsKCksZSx0KSkpfWluc2VydEJlZm9yZShlLHQpe2U9KDAsZHIuc29ydFNvdXJjZXMpKGUpO2NvbnN0IGk9UHAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKSx0YXJnZXQ6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsdCl9KTt0aGlzLl9pbnNlcnRBZnRlck9yQmVmb3JlKGksZSx0LCgoKT0+bmV3IERyKHRoaXMubW9kZWwoKSxlLHQpKSl9ZGV0YWNoVG9SaWdodChlLHQpeygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1vdmUgdG8gbmV3IHJpZ2h0IHNjYWxlIik7Y29uc3QgaT1HcC5mb3JtYXQoe3RpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpfSkscz1uZXcgVm8uTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKHRoaXMubW9kZWwoKSxlLHQsInJpZ2h0IixpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoIm1vdmVTb3VyY2UiLFtlXSl9ZGV0YWNoVG9MZWZ0KGUsdCl7KDAsTXQudHJhY2tFdmVudCkoIkNoYXJ0IiwiTW92ZSB0byBuZXcgbGVmdCBzY2FsZSIpO2NvbnN0IGk9anAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlKX0pLHM9bmV3IFZvLk1vdmVUb05ld1ByaWNlU2NhbGVVbmRvQ29tbWFuZCh0aGlzLm1vZGVsKCksZSx0LCJsZWZ0IixpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoIm1vdmVTb3VyY2UiLFtlXSl9ZGV0YWNoTm9TY2FsZShlLHQpeygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1ha2Ugc291cmNlIG5vIHNjYWxlIik7Y29uc3QgaT1xcC5mb3JtYXQoe3RpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpfSkscz1uZXcgVm8uTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKHRoaXMubW9kZWwoKSxlLHQsIm92ZXJsYXkiLGkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChzKSx0aGlzLmVtaXRFdmVudCgibW92ZVNvdXJjZSIsW2VdKX1tb3ZlVG9TY2FsZShlLHQsaSxzLG4peygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1vdmUgc291cmNlIHRvIHRhcmdldCBzY2FsZSIpLHRoaXMuYmVnaW5VbmRvTWFjcm8ocyk7Y29uc3Qgcj1uZXcgVm8uTW92ZVRvRXhpc3RpbmdQcmljZVNjYWxlVW5kb0NvbW1hbmQodGhpcy5tb2RlbCgpLGUsdCxpLHMpLG89bj9udWxsOnpuKGUsaSx0aGlzLl9tb2RlbCgpKSxhPW4/bnVsbDooMCxkdS5zb3VyY2VOZXdVbml0T25QaW5uaW5nVG9QcmljZVNjYWxlKShlLGksdGhpcy5fbW9kZWwoKSksbD1uP251bGw6RWgoZSxpLHRoaXMuX21vZGVsKCkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChyKSwKbnVsbCE9PW8mJnRoaXMuc2V0UHJpY2VTY2FsZUN1cnJlbmN5KGksbyksbnVsbCE9PWEmJnRoaXMuc2V0UHJpY2VTY2FsZVVuaXQoaSxhKSxudWxsIT09bCYmdGhpcy5zZXRQcmljZVNjYWxlTWV0cmljKGksbCksdGhpcy5lbmRVbmRvTWFjcm8oKSx0aGlzLmVtaXRFdmVudCgibW92ZVNvdXJjZSIsW2VdKX1zZXRMaW5raW5nR3JvdXBJbmRleChlKXtjb25zdCB0PXRoaXMubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpO3RoaXMuX3VuZG9IaXN0b3J5LmJlZ2luVW5kb01hY3JvKG1fKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IHJwKHQsdC52YWx1ZSgpLGUsbV8pKSx0aGlzLl9tb2RlbCgpLnNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oITApLHRoaXMuX3VuZG9IaXN0b3J5LmVuZFVuZG9NYWNybygpfXN0YXJ0U2Nyb2xsUHJpY2UoZSx0LGkpe3QuaXNBdXRvU2NhbGUoKXx8KHRoaXMuX2luaXRpYWxQcmljZVNjcm9sbFN0YXRlPXQuc3RhdGUoKSx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9aSx0aGlzLl9tb2RlbCgpLnN0YXJ0U2Nyb2xsUHJpY2UoZSx0LGkpKX1zY3JvbGxQcmljZVRvKGUsdCxpKXt0LmlzQXV0b1NjYWxlKCl8fCh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxTdGF0ZSYmdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsUG9zJiZNYXRoLmFicyh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3MtaSk+MjAmJih0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IE9zKHRoaXMubV9tb2RlbCxlLHQsdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGUsdm9pZCAwLCExKSksdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGU9bnVsbCx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9bnVsbCksdGhpcy5fbW9kZWwoKS5zY3JvbGxQcmljZVRvKGUsdCxpKSl9ZW5kU2Nyb2xsUHJpY2UoZSx0KXt0LmlzQXV0b1NjYWxlKCl8fCh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxTdGF0ZT1udWxsLHRoaXMuX2luaXRpYWxQcmljZVNjcm9sbFBvcz1udWxsLHRoaXMuX21vZGVsKCkuZW5kU2Nyb2xsUHJpY2UoZSx0KSl9c3RhcnRTY3JvbGxUaW1lKGUpe3RoaXMubW9kZWwoKS5zdGFydFNjcm9sbFRpbWUoZSl9c2Nyb2xsVGltZVRvKGUpe3RoaXMubW9kZWwoKS5zY3JvbGxUaW1lVG8oZSl9ZW5kU2Nyb2xsVGltZSgpe3RoaXMubW9kZWwoKS5lbmRTY3JvbGxUaW1lKCl9c3RhcnRTY2FsZVRpbWUoZSl7dGhpcy5tb2RlbCgpLnN0YXJ0U2NhbGVUaW1lKGUpfXNjYWxlVGltZVRvKGUpe3RoaXMubW9kZWwoKS5zY2FsZVRpbWVUbyhlKX1lbmRTY2FsZVRpbWUoKXt0aGlzLm1vZGVsKCkuZW5kU2NhbGVUaW1lKCl9cmVzZXRUaW1lU2NhbGUoKXt0aGlzLm1vZGVsKCkucmVzZXRUaW1lU2NhbGUoKX1zdGFydFNjYWxlUHJpY2UoZSx0LGkscyl7dGhpcy5fc2NhbGVQcmljZUluZm89e3ByaWNlU2NhbGVTdGF0ZTp0LnN0YXRlKCksdHJ5TWVyZ2VDb25zZWN1dGl2ZVNjYWxlczpzfSx0aGlzLm1vZGVsKCkuc3RhcnRTY2FsZVByaWNlKGUsdCxpKX1zY2FsZVByaWNlVG8oZSx0LGkpe3RoaXMubW9kZWwoKS5zY2FsZVByaWNlVG8oZSx0LGkpfWVuZFNjYWxlUHJpY2UoZSx0KXt0aGlzLm1vZGVsKCkuZW5kU2NhbGVQcmljZShlLHQpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zY2FsZVByaWNlSW5mbyk7KDAscy5kZWZhdWx0KShpLnByaWNlU2NhbGVTdGF0ZSx0LnN0YXRlKCkpfHx0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IE9zKHRoaXMubW9kZWwoKSxlLHQsaS5wcmljZVNjYWxlU3RhdGUsaS50cnlNZXJnZUNvbnNlY3V0aXZlU2NhbGVzKSksdGhpcy5fc2NhbGVQcmljZUluZm89bnVsbH1zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UoZSx0LGkscyxuKXt0aGlzLl9zY2FsZVByaWNlSW5mbz17cHJpY2VTY2FsZVN0YXRlOnQuc3RhdGUoKSx0cnlNZXJnZUNvbnNlY3V0aXZlU2NhbGVzOm59LHRoaXMubW9kZWwoKS5zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UoZSx0LGkscyl9dHdvUG9pbnRzU2NhbGVQcmljZVRvKGUsdCxpLHMpe3RoaXMubW9kZWwoKS50d29Qb2ludHNTY2FsZVByaWNlVG8oZSx0LGkscyl9ZW5kVHdvUG9pbnRzU2NhbGVQcmljZShlLHQpe3RoaXMubW9kZWwoKS5lbmRUd29Qb2ludHNTY2FsZVByaWNlKGUsdCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NjYWxlUHJpY2VJbmZvKTsoMCxzLmRlZmF1bHQpKGkucHJpY2VTY2FsZVN0YXRlLHQuc3RhdGUoKSl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT3ModGhpcy5tb2RlbCgpLGUsdCxpLnByaWNlU2NhbGVTdGF0ZSxpLnRyeU1lcmdlQ29uc2VjdXRpdmVTY2FsZXMpKSx0aGlzLl9zY2FsZVByaWNlSW5mbz1udWxsfXJlc2V0UHJpY2VTY2FsZShlLHQpe2NvbnN0IGk9dC5zdGF0ZSgpO3RoaXMubW9kZWwoKS5yZXNldFByaWNlU2NhbGUoZSx0KSwoMCxzLmRlZmF1bHQpKGksdC5zdGF0ZSgpKXx8dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBPcyh0aGlzLm1fbW9kZWwsZSx0LGkpKX1yZWFycmFuZ2VQYW5lcyhlLHQpe2NvbnN0IGk9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0scz1uZXcgenIodGhpcy5fbW9kZWwoKSxlLHQpO2kubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpOnRoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9wdXNoVW5kb0NvbW1hbmQocykpLHMudGV4dCgpKX1tb3ZlUGFuZShlLHQpe2NvbnN0IGk9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0scz1uZXcgenIodGhpcy5fbW9kZWwoKSxlLHQpO2kubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpOnRoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9wdXNoVW5kb0NvbW1hbmQocykpLHMudGV4dCgpKX10b2dnbGVDb2xsYXBzZWRQYW5lKGUpe2NvbnN0IHQ9dGhpcy5wYW5lcygpLmZpbmRJbmRleCgodD0+dD09PWUpKTt0PDB8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgR24odGhpcy5fbW9kZWwoKSx0KSl9dG9nZ2xlTWF4aW1pemVkUGFuZShlKXsKdGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBxbih0aGlzLl9tb2RlbCgpLGUpKX1yZWFkT25seSgpe3JldHVybiB0aGlzLm1fbW9kZWwucmVhZE9ubHkoKX1jaGVja0lmRmVhdHVyZUF2YWlsYWJsZShlLHQpe2NvbnN0IGk9dC5sZW5ndGg+MCxzPSgwLG5hLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShlKSxuPSgwLG5hLmlzRm9yZWNhc3RTdHVkeU1ldGFJbmZvKShlKSxyPXRoaXMuY2FuQ3JlYXRlU3R1ZHkoe2lkOmUuaWQsY2hpbGQ6aSxmdW5kYW1lbnRhbDpzLHN0dWJUaXRsZTplLmRlc2NyaXB0aW9ufHxlLnNob3J0RGVzY3JpcHRpb24sZm9yZWNhc3Q6bn0pO3JldHVybiEhci5zdWNjZXNzfHwod18odGhpcy5tb2RlbCgpLHIpLCExKX1hc3luYyBwYXN0ZVNvdXJjZUZyb21DbGlwKGUsdCxpKXtjb25zdCBzPXQ7aWYoIXN8fDA9PT1zLnNvdXJjZXMubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IG49ZXx8KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpO2lmKCFzLnNvdXJjZXMuc29tZSgoZT0+ImRyYXdpbmciIT09ZS50eXBlfHxudWxsIT09bi5jbGlwYm9hcmRMaW5lVG9vbE93bmVyU291cmNlKGUuc291cmNlLmlkKSkpKXJldHVybiBudWxsO2NvbnN0IHI9QXJyYXkuZnJvbShuZXcgU2V0KHMuc291cmNlcy5maWx0ZXIoSG4uaXNMaW5lVG9vbENsaXBib2FyZERhdGEpLm1hcCgoZT0+ZS5zb3VyY2UudHlwZSkpKSk7YXdhaXQgUHJvbWlzZS5hbGwoci5tYXAoKGU9PigwLHJpLmluaXRMaW5lVG9vbCkoZSkpKSk7aWYoci5zb21lKChlPT4hKDAsUnUuZW5zdXJlRHJhd2luZ0NyZWF0aW9uQWxsb3dlZCkoZSwiUGFzdGUiLCJjaGFydF9kcmF3aW5nX3Bhc3RlIikpKSlyZXR1cm5bXTt0aGlzLmJlZ2luVW5kb01hY3JvKEtwLmZvcm1hdCh7dGl0bGU6cy50aXRsZX0pKTtjb25zdCBvPVtdLGE9W107Zm9yKGNvbnN0IHQgb2Ygcy5zb3VyY2VzKWlmKCJkcmF3aW5nIj09PXQudHlwZSYmbnVsbCE9PW4uY2xpcGJvYXJkTGluZVRvb2xPd25lclNvdXJjZSh0LnNvdXJjZS5pZCkpe2NvbnN0IGU9YXdhaXQgdGhpcy5wYXN0ZUxpbmVUb29sKG4sdCx2b2lkIDAsdm9pZCAwLCEwKTthLnB1c2goZSksby5wdXNoKGUpfWVsc2Uic3R1ZHkiPT09dC50eXBlJiZ0LnNvdXJjZSYmdC5zb3VyY2UubWV0YUluZm8mJnRoaXMuY2hlY2tJZkZlYXR1cmVBdmFpbGFibGUobmV3IG90LlN0dWR5TWV0YUluZm8odC5zb3VyY2UubWV0YUluZm8pLFtdKSYmby5wdXNoKHRoaXMucGFzdGVTdHVkeSh0LGk/ZTp2b2lkIDApKTtyZXR1cm4gYS5sZW5ndGgmJnRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksYS5mb3JFYWNoKCh0PT57ZS5hZGRJdGVtVG9TZWxlY3Rpb24odCxudWxsKX0pKX0pKSx0aGlzLmVuZFVuZG9NYWNybygpLG99YXN5bmMgcGFzdGVMaW5lVG9vbChlLHQsaSxzLG4pe2F3YWl0KDAsa2kuZW5zdXJlTGluZVRvb2xMb2FkZWQpKHQuc291cmNlLnR5cGUpLHQuc291cmNlLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxKbC5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKHQuc291cmNlLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcyksKDAsSmwubWFrZUludGVydmFsc1Zpc2liaWxpdGllc1Zpc2libGVBdEludGVydmFsKSh0LnNvdXJjZS5zdGF0ZS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMsdGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLnZhbHVlKCkpO2NvbnN0IHI9bmV3IERvKHRoaXMubW9kZWwoKSx0LGUsaSxzKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocik7Y29uc3Qgbz1yLnNvdXJjZSgpO2lmKG4pe2NvbnN0IHQ9dGhpcy5fcmVzb2x2ZVByZXZpb3VzU2VsZWN0ZWRHcm91cChlKTtudWxsIT09dCYmdGhpcy5fbGluZVRvb2xzR3JvdXBDb250cm9sbGVyLmFkZExpbmVUb29sVG9Hcm91cCh0LG8pfXJldHVybiByLm5lZWRDb3B5VG9PdGhlckNoYXJ0cygpJiZ0aGlzLl9tb2RlbCgpLmNvcHlUb090aGVyQ2hhcnRzKFtvXSwhMCksdGhpcy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbihvLG51bGwpfSkpLG99cGFzdGVTdHVkeShlLHQpe2NvbnN0IGk9bmV3IHpvKHRoaXMubW9kZWwoKSxlLHQ/LmlkKCkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChpKTtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5zdGF0ZSgpKS5pZDtyZXR1cm4oMCwkLmVtaXQpKCJzdHVkeV9ldmVudCIscywicGFzdGVfc3R1ZHkiKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsKCkuZGF0YVNvdXJjZUZvcklkKHMpKX1yZW1vdmVQYW5lKGUpe2NvbnN0IHQ9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0uZGF0YVNvdXJjZXMoKS5zbGljZSgpO3RoaXMucmVtb3ZlU291cmNlcyh0LCExLFpwKX1jcmVhdGVQYW5lKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuY3JlYXRlUGFuZShlKX1zZXRQcmljZVNjYWxlQ3VycmVuY3koZSx0KXtjb25zdCBpPW5ldyBFbyh0aGlzLm1fbW9kZWwsZSx0LFJwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9c2V0UHJpY2VTY2FsZVVuaXQoZSx0KXtjb25zdCBpPW5ldyBSbyh0aGlzLm1fbW9kZWwsZSx0LFZwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9c2V0UHJpY2VTY2FsZU1ldHJpYyhlLHQpe3tjb25zdCBpPW5ldyBGdSh0aGlzLm1fbW9kZWwsZSx0LEJwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9fXNldFN5bWJvbChlLHQpe2Uuc3ltYm9sU2FtZUFzUmVzb2x2ZWQodCl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT28oZSx0LHRoaXMuX2NoYXJ0V2lkZ2V0KSl9c2V0UmVzb2x1dGlvbihlLHQpe3guSW50ZXJ2YWwuaXNFcXVhbChlLmludGVydmFsKCksdCl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgbnAoZSx0LHRoaXMuX2NoYXJ0V2lkZ2V0KSl9c3luY0Nyb3NzaGFpcihlLHQpe3RoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bmNDcm9zc2hhaXIoZSx0aGlzLl9jaGFydFdpZGdldC5pZCgpLHQpfWxvYWRpbmdTY3JlZW4oKXsKcmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LnNjcmVlbn1jaGFydExvYWRUaGVtZShlLHQsaSl7Y29uc3Qgcz1uZXcgaXAodGhpcy5tb2RlbCgpLGUsdCk7aT9zLnJlZG8oKTp0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyl9aXNKdXN0Q2xvbmVkQ2hhcnQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXQuaXNKdXN0Q2xvbmVkQ2hhcnQoKX1pc011bHRpcGxlTGF5b3V0KCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmlzTXVsdGlwbGVMYXlvdXQoKX1hZGRQYW5lU3RyZXRjaEZhY3RvclVuZG9Db21tYW5kKGUsdCxpLHMpe2NvbnN0IG49bmV3IFVvKHRoaXMubW9kZWwoKSxlLHQsaSxzKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobil9YXBwbHlQcmVmZXJlbmNlcyhlKXt7Y29uc3QgdD1uZXcgU3AodGhpcy5tX21vZGVsLGUpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KX19cGFuZUZvclNvdXJjZShlKXtyZXR1cm4gdGhpcy5tX21vZGVsLnBhbmVGb3JTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMubV9tb2RlbC5kZXN0cm95KCl9bW92ZVNlbGVjdGVkVG9vbHNMZWZ0KCl7cmV0dXJuIHRoaXMuX21vdmVTZWxlY3RlZFRvb2xzKDIpfW1vdmVTZWxlY3RlZFRvb2xzVXAoKXtyZXR1cm4gdGhpcy5fbW92ZVNlbGVjdGVkVG9vbHMoMCl9bW92ZVNlbGVjdGVkVG9vbHNSaWdodCgpe3JldHVybiB0aGlzLl9tb3ZlU2VsZWN0ZWRUb29scygzKX1tb3ZlU2VsZWN0ZWRUb29sc0Rvd24oKXtyZXR1cm4gdGhpcy5fbW92ZVNlbGVjdGVkVG9vbHMoMSl9aW5zZXJ0U3R1ZHlXaXRob3V0Q2hlY2soZSx0LGkscyl7cmV0dXJuIHRoaXMuX2luc2VydFN0dWR5KGUsdCx7fSwhMSxbXSx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGk/P251bGwsdm9pZCAwLHZvaWQgMCxzKX1zYXZlTGluZVRvb2xTdGF0ZShlLHQpe3RoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgbnIodGhpcy5tX21vZGVsLFtlXSx0KSl9cmVzZXRTY2FsZXMoKXt0aGlzLl9tb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLmJlZ2luVW5kb01hY3JvKCRwKSx0aGlzLnJlc2V0VGltZVNjYWxlKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX21vZGVsLnBhbmVzKCkpe2Zvcihjb25zdCB0IG9mIGUubGVmdFByaWNlU2NhbGVzKCkpdGhpcy5yZXNldFByaWNlU2NhbGUoZSx0KTtmb3IoY29uc3QgdCBvZiBlLnJpZ2h0UHJpY2VTY2FsZXMoKSl0aGlzLnJlc2V0UHJpY2VTY2FsZShlLHQpfXRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5tX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSl9c2hhcmVMaW5lVG9vbHMoZSx0KXtjb25zdCBpPTA9PT10P3VfOjE9PT10P3BfOl9fO3RoaXMud2l0aE1hY3JvKGksKCgpPT57MD09PXQmJnRoaXMudW5saW5rTGluZXMoZSksZS5mb3JFYWNoKChpPT57Y29uc3Qgcz10aGlzLm1vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2woaSk7aWYocyl7Y29uc3Qgbj1zLmxpbmVUb29scygpLnNvbWUoKGU9PmUuaXNTeW5jaHJvbml6YWJsZSgpKSk7cy5saW5lVG9vbHMoKS5ldmVyeSgodD0+ZS5pbmNsdWRlcyh0KSkpJiYoMD09PXR8fGkuaXNTeW5jaHJvbml6YWJsZSgpfHwhbil8fHRoaXMubGluZVRvb2xzR3JvdXBDb250cm9sbGVyKCkuZXhjbHVkZUxpbmVUb29sRnJvbUdyb3VwKHMsaSl9dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBobyhpLHQsdGhpcy5tb2RlbCgpLG51bGwpKX0pKX0pKX1jYW5DcmVhdGVTdHVkeShlLHQpe3JldHVybiB0aGlzLm1vZGVsKCkuY2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeShlLHQpfWNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkubG9ja31vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLm1fbW9kZWwub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKX1wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCl9aW52YWxpZGF0ZShlKXt0aGlzLm1fbW9kZWwuaW52YWxpZGF0ZShlKX1zZXRXaWR0aChlKXt0aGlzLm1fbW9kZWwuc2V0V2lkdGgoZSl9c2V0UGFuZUhlaWdodChlLHQpe3RoaXMubV9tb2RlbC5zZXRQYW5lSGVpZ2h0KGUsdCl9ZGF0YVNvdXJjZUZvcklkKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpfWxpbmVCZWluZ0VkaXRlZCgpe3JldHVybiB0aGlzLm1fbW9kZWwubGluZUJlaW5nRWRpdGVkKCl9c291cmNlc0JlaW5nTW92ZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLnNvdXJjZXNCZWluZ01vdmVkKCl9Z3JpZFNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuZ3JpZFNvdXJjZSgpfXdhdGVybWFya1NvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwud2F0ZXJtYXJrU291cmNlKCl9bWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eSgpe3JldHVybiB0aGlzLm1fbW9kZWwubWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eSgpfXNldEhvdmVyZWRTb3VyY2UoZSx0KXt0aGlzLm1fbW9kZWwuc2V0SG92ZXJlZFNvdXJjZShlLHQpfXNldEN1cnJlbnRQb3NpdGlvbihlLHQsaSxzKXt0aGlzLm1fbW9kZWwuc2V0Q3VycmVudFBvc2l0aW9uKGUsdCxpLHMpfXNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl7dGhpcy5tX21vZGVsLnNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl9dmVyc2lvbigpe3JldHVybiB0aGlzLm1fbW9kZWwudmVyc2lvbigpfXJlc3RhcnQoKXt0aGlzLm1fbW9kZWwucmVzdGFydCgpfWRpc2Nvbm5lY3QoKXt0aGlzLm1fbW9kZWwuZGlzY29ubmVjdCgpfWNhbGN1bGF0ZURlZmF1bHRUYWdzKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5jYWxjdWxhdGVEZWZhdWx0VGFncygpfWRyYXdSaWdodFRoZXJlKGUsdCxpLHMpe2lmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGUpKXtpZih2b2lkIDA9PT1pKXtjb25zdCBlPXRoaXMuY3Jvc3NoYWlyU291cmNlKCkscz10aGlzLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24oZS5wcmljZSxlLmluZGV4LHQpO2k9e2luZGV4OmUuaW5kZXgscHJpY2U6c319CmNvbnN0IG49dGhpcy5jcmVhdGVMaW5lVG9vbCh7cG9pbnQ6aSxsaW5ldG9vbDplLHBhbmU6dCxhY3Rpb25Tb3VyY2U6cyxrZWVwU2VsZWN0ZWRHcm91cDohMH0pO24mJnRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksZS5hZGRJdGVtVG9TZWxlY3Rpb24obil9KSl9fXVubG9hZERhdGFTb3VyY2VzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIXNpKGUpfHwoMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeVN0dWIpKGUpKSk7KDAsYm8ucmVtb3ZlQWxsU291cmNlc1dpdGhEZXBlbmRlbmNpZXMpKGUsdCl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpfWNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCl7cmV0dXJuIHRoaXMuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkmJm51bGwhPT10aGlzLl9jaGFydFdpZGdldC5hY3RpdmVQYW5lV2lkZ2V0KCkudmFsdWUoKX1fbW9kZWwoKXtyZXR1cm4gdGhpcy5tX21vZGVsfV9wdXNoVW5kb0NvbW1hbmQoZSl7dGhpcy5fdW5kb0hpc3RvcnkucHVzaFVuZG9Db21tYW5kKGUpfV9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KXt0aGlzLmJlZ2luVW5kb01hY3JvKHQudGV4dCgpKTtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKGUpKSxzPW5ldyBTZXQoaS5zb3VyY2VzQnlHcm91cCgpLmxpbmVTb3VyY2VzKCkuZmlsdGVyKCh0PT50Lm93bmVyU291cmNlKCk9PT1lKSkpO3RoaXMuX21vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwcygpLmZpbHRlcigoZT0+e2NvbnN0IHQ9ZS5saW5lVG9vbHMoKS5zb21lKChlPT5zLmhhcyhlKSkpLGk9ZS5saW5lVG9vbHMoKS5zb21lKChlPT4hcy5oYXMoZSkpKTtyZXR1cm4gdCYmaX0pKS5mb3JFYWNoKChlPT57dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLGUubGluZVRvb2xzKCkpKX0pKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCksdGhpcy5lbmRVbmRvTWFjcm8oKX1faW5zZXJ0U3R1ZHkoZSx0LGkscyxuLHIsbyxhLGwsYyxoLGQsdSxwKXtjb25zdCBfPVhwLmZvcm1hdCh7dGl0bGU6ZS5kZXNjcmlwdGlvbn0pLG09bmV3IHFvLkluc2VydFN0dWR5Q29tbWFuZCh7Y2hhcnRNb2RlbDp0aGlzLm1vZGVsKCksc3R1ZHlNZXRhSW5mbzplLGlucHV0czp0LHByb3BzOmksYWRkQXNPdmVybGF5OnMscGFyZW50U291cmNlczpuLHByZWZlcnJlZFByaWNlU2NhbGU6cixhbGxvd0NoYW5nZUN1cnJlbmN5Om8sYWxsb3dDaGFuZ2VVbml0OmEsYWxsb3dDaGFuZ2VNZXRyaWM6bCxwYW5lU2l6ZTpjLHRhcmdldFpPcmRlcjpoPz9udWxsLHRhcmdldFNjYWxlTW9kZTpkLHN0dWR5SWQ6cCx1bmRvVGV4dDpfLGV2ZW50U291cmNlOnV9KTtyZXR1cm4gdGhpcy5fcHVzaFVuZG9Db21tYW5kKG0pLG0uaW5zZXJ0ZWRTdHVkeSgpfV9zdG9yZUZhaWxlZFN0dWIoZSl7Y29uc3QgdD1YcC5mb3JtYXQoe3RpdGxlOmUudGl0bGUoKX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8odCk7Y29uc3QgaT1uZXcgYXAodGhpcy5tb2RlbCgpLGUsdCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGkpLHRoaXMuZW5kVW5kb01hY3JvKCl9X3Jlc29sdmVQcmV2aW91c1NlbGVjdGVkR3JvdXAoZSl7Y29uc3QgdD10aGlzLl9tb2RlbCgpLmxpbmVUb29sc0dyb3VwTW9kZWwoKSxpPWU9PigwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP3RoaXMuX21vZGVsKCkucGFuZUZvckxpbmVUb29sc0dyb3VwKGUpOnRoaXMuX21vZGVsKCkucGFuZUZvclNvdXJjZShlKSxzPXQ9PmkodCk9PT1lLG49ZT0+KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSl8fCgwLHJpLmlzTGluZVRvb2wpKGUpJiYhIXQuZ3JvdXBGb3JMaW5lVG9vbChlKSxyPXRoaXMuX21vZGVsKCkuc2VsZWN0aW9uKCkuYWxsSXRlbXNTb3J0ZWQoKSxvPXIubGVuZ3RoP3I6KHRoaXMuX21vZGVsKCkucHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzKCk/P1tdKS5tYXAoKGU9PnQuZ3JvdXBGb3JJZChlKT8/dGhpcy5fbW9kZWwoKS5kYXRhU291cmNlRm9ySWQoZSkpKS5maWx0ZXIoYS5pc0V4aXN0ZW50KTtyZXR1cm4oZT0+e2NvbnN0IGk9ZS5maWx0ZXIobikuZmlsdGVyKHMpO2lmKCFpLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCByPWlbaS5sZW5ndGgtMV07cmV0dXJuKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkocik/cjp0Lmdyb3VwRm9yTGluZVRvb2wocil9KShvKX1hc3luYyBfcHJvY2Vzc1NwZWNpYWxMaW5lVG9vbHNDb250ZW50cyhlLHQsaSl7aWYodD10fHxhd2FpdCBlLnJlYWQoKSx3aW5kb3cudXNlci5pZCYmdC5maWxlcyl7Y29uc3QgZT1BcnJheS5mcm9tKHQuZmlsZXMpLmZpbmQoanMuYmxvYkltYWdlRmlsdGVyKTtpZihlKXtjb25zdCB0PVVSTC5jcmVhdGVPYmplY3RVUkwoZSkscz0oMCxqcy51cGxvYWRJbWFnZSkoZSk7cmV0dXJuIHZvaWQgMD09PWkmJihpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKHRoaXMubWFpblNlcmllcygpKSkpLGF3YWl0KDAsa2kuZW5zdXJlTGluZVRvb2xMb2FkZWQpKCJMaW5lVG9vbEltYWdlIiksdGhpcy5wYXN0ZUltYWdlQXNMaW5lVG9vbChzLHQsaSksdm9pZCBhd2FpdCBzfX10LnRleHQmJih3aW5kb3cudXNlci5pZCYmIVNfJiYoMCxWdS5pc1R3aXR0ZXJVcmwpKHQudGV4dCk/KDAsVnUuY3JlYXRlVHdlZXRMaW5lVG9vbEJ5VXJsKSh0LnRleHQsdGhpcywhMCk6d2luZG93LnVzZXIuaWQmJigwLE51LmlzSWRlYVVybCkodC50ZXh0KT8oMCxOdS5jcmVhdGVJZGVhTGluZVRvb2xCeVVybCkodC50ZXh0LHRoaXMsITApOmFzeW5jIGZ1bmN0aW9uKGUsdCxpKXtpZihudWxsPT09dC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKSlyZXR1cm4gbnVsbDtjb25zdCBzPXQubWFpblNlcmllcygpLG49aT8/KDAsCmwuZW5zdXJlTm90TnVsbCkodC5tb2RlbCgpLnBhbmVGb3JTb3VyY2UocykpLHI9bi5kZWZhdWx0UHJpY2VTY2FsZSgpLG89KDAsbC5lbnN1cmVOb3ROdWxsKShyLm1haW5Tb3VyY2UoKSksYT10LnRpbWVTY2FsZSgpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKShvLmZpcnN0VmFsdWUoKSksaD1hLmNvb3JkaW5hdGVUb0luZGV4KHQudGltZVNjYWxlKCkud2lkdGgoKS8yKSxkPW4uaGVpZ2h0KCkvMix1PXtwcmljZTpyLmNvb3JkaW5hdGVUb1ByaWNlKGQsYyksdGltZV90OigwLGwuZW5zdXJlTm90TnVsbCkoYS5pbmRleFRvVGltZVBvaW50KGgpKSxvZmZzZXQ6MH0scD1uLm5ld0xpbmVUb29sWk9yZGVyKCEwKSxfPUJ1LkxpbmVUb29sVGV4dC5jcmVhdGVQcm9wZXJ0aWVzKHQubW9kZWwoKS5iYWNrZ3JvdW5kVGhlbWUoKS5zcGF3bk93bmVyc2hpcCgpKSxtPV8uc3RhdGUoKTtfLmRlc3Ryb3koKSxtLnRleHQ9ZTtjb25zdCBnPXt0eXBlOiJkcmF3aW5nIixzb3VyY2U6e2lkOigwLGx0LnJhbmRvbUhhc2hOKSg2KSx6b3JkZXI6cCx0eXBlOiJMaW5lVG9vbFRleHQiLHN0YXRlOm0sc3ltYm9sOm8uc3ltYm9sU291cmNlKCkuc3ltYm9sKCksb3duZXJTb3VyY2U6by5pZCgpLHBvaW50czpbdV19LGdlb21ldHJ5OltdLG1vZGVsSWQ6dC5tb2RlbCgpLmlkKCksY2VudGVyZWRPbkNoYXJ0OiEwfSxmPWF3YWl0IHQucGFzdGVMaW5lVG9vbChuLGcsITEsITEpO1Euc2V0VmFsdWUoImhpbnQucGFzdGVUZXh0IiwhMCx7Zm9yY2VGbHVzaDohMH0pfSh0LnRleHQsdGhpcyxpKSl9X2luc2VydEFmdGVyT3JCZWZvcmUoZSx0LGkscyl7Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsKCkucGFuZUZvclNvdXJjZShpKSk7aWYodC5zb21lKChlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmdGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKGUpIT09bikpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGluc2VydCBsaW5lIHRvb2wgYWZ0ZXIgdGFyZ2V0IG9uIGFub3RoZXIgcGFuZSIpO3RoaXMuYmVnaW5VbmRvTWFjcm8oZSksdC5mb3JFYWNoKChlPT57KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkucGFuZUZvclNvdXJjZShlKSkhPT1uJiZ0aGlzLm1lcmdlVG9QYW5lKGUsbil9KSk7Y29uc3Qgcj1zKCk7dGhpcy5fd2l0aEtlZXBXaWRnZXRQYW5lUG9zaXRpb25HdWFyZCgoKCk9PnRoaXMuX3B1c2hVbmRvQ29tbWFuZChyKSksci50ZXh0KCkpLHRoaXMuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFt0XSksdGhpcy5lbmRVbmRvTWFjcm8oKX1fc2VuZEJhY2tPckJyaW5nRm9yd2FyZChlLHQsaSl7Y29uc3Qgcz1uZXcgTWFwO3QuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLnBhbmVGb3JTb3VyY2UoZSkpLGk9cy5nZXQodCl8fFtdO2kucHVzaChlKSxzLnNldCh0LGkpfSkpLHRoaXMuYmVnaW5VbmRvTWFjcm8oZSkscy5mb3JFYWNoKCgoZSx0KT0+e3RoaXMuX3B1c2hVbmRvQ29tbWFuZChpKHQsZSkpfSkpLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW3RdKX1fbW92ZVNlbGVjdGVkVG9vbHMoZSl7Y29uc3QgdD10aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4hZS5pc1NvdXJjZUhpZGRlbigpKSk7aWYoMD09PXQubGVuZ3RoKXJldHVybiExO2lmKCgwLFQubG9ja0RyYXdpbmdzKSgpLnZhbHVlKCkpcmV0dXJuITA7Y29uc3QgaT10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09aSlyZXR1cm4hMTtjb25zdCBzPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPWkub3duZXJTb3VyY2UoKTtpZihudWxsPT09ZSljb250aW51ZTtsZXQgcz10LmdldChlKTtpZih2b2lkIDA9PT1zKXtjb25zdCBuPWUucHJpY2VTY2FsZSgpLHI9ZS5wcmljZVN0ZXAoKSxvPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1ufHxudWxsPT09cnx8bnVsbD09PW8pY29udGludWU7aWYobnVsbD09PW4ucHJpY2VSYW5nZSgpKWNvbnRpbnVlO3M9e3NvdXJjZXM6W10scHJpY2VTY2FsZTpuLHByaWNlU3RlcDpyLHN0YXJ0UHJpY2U6aS5wb2ludHMoKVswXS5wcmljZSxmaXJzdFZhbHVlOm99LHQuc2V0KGUscyl9cy5zb3VyY2VzLnB1c2goaSl9cmV0dXJuIHR9KHQpO2lmKDA9PT1zLnNpemUpcmV0dXJuITE7dGhpcy5iZWdpblVuZG9NYWNybyhrcCk7Y29uc3Qgbj1pLmZpcnN0QmFyKCkscj10aGlzLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKG4pLG89bisoMz09PWU/MToyPT09ZT8tMTowKSxhPXRoaXMudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUobyk7cmV0dXJuIFQuaXNEaXJlY3Rpb25hbE1vdmVtZW50QWN0aXZlLnNldFZhbHVlKCEwKSxzLmZvckVhY2goKHQ9Pntjb25zdHtzdGFydFByaWNlOmkscHJpY2VTdGVwOnMscHJpY2VTY2FsZTpsLGZpcnN0VmFsdWU6Y309dCxoPWkrKDA9PT1lP3M6MT09PWU/LXM6MCksZD1sLnByaWNlVG9Db29yZGluYXRlKGksYyksdT1sLnByaWNlVG9Db29yZGluYXRlKGgsYykscD17bG9naWNhbDp7aW5kZXg6bixwcmljZTppfSxzY3JlZW46bmV3IFB0LlBvaW50KHIsZCl9LF89e2xvZ2ljYWw6e2luZGV4Om8scHJpY2U6aH0sc2NyZWVuOm5ldyBQdC5Qb2ludChhLHUpfTt0aGlzLnN0YXJ0TW92aW5nU291cmNlcyh0LnNvdXJjZXMscCxudWxsKSx0aGlzLm1vdmVTb3VyY2VzKF8pLHRoaXMuZW5kTW92aW5nU291cmNlKCExLCEwKX0pKSxULmlzRGlyZWN0aW9uYWxNb3ZlbWVudEFjdGl2ZS5zZXRWYWx1ZSghMSksdGhpcy5lbmRVbmRvTWFjcm8oKSwhMH1fcmVzdG9yZVN0dWR5RmFjdG9yeURlZmF1bHRzKGUpe2NvbnN0IHQ9bmV3IFF1KHRoaXMubV9tb2RlbCxlKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCl9X3Jlc3RvcmVMaW5lVG9vbEZhY3RvcnlEZWZhdWx0cyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKERwKSx0aGlzLnNhdmVMaW5lVG9vbFN0YXRlKGUsRHApO2NvbnN0IHQ9bmV3IFp1KHRoaXMubV9tb2RlbCxlLnByb3BlcnRpZXMoKSxEcCkKO3RoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KSx0aGlzLnNhdmVMaW5lVG9vbFN0YXRlKGUsRHApLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZShlKX1fcmVtb3ZlQWxsRHJhd2luZ1Rvb2xzSW1wbChlLHQpe3RoaXMuc2VsZWN0aW9uTWFjcm8oKCgpPT57dGhpcy5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCk7dGhpcy5kYXRhU291cmNlcygpLmZpbHRlcihyaS5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc1VzZXJEZWxldGFibGUoKSkpLmZpbHRlcigoZT0+IXR8fHQ9PT1lLnRvb2xuYW1lKSkuZmlsdGVyKCh0PT5lfHwhdC5pc0xvY2tlZD8uKCkpKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVNvdXJjZShlLCExKSkpfSksITApfV9yZW1vdmVBbGxTdHVkaWVzSW1wbCgpe2NvbnN0IGU9dGhpcy5kYXRhU291cmNlcygpLHQ9ZS5maWx0ZXIodGkuaXNTdHVkeSkuZmlsdGVyKChlPT4hZS5pc0NoaWxkU3R1ZHkoKSYmZS5yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKSkpLGk9ZS5maWx0ZXIodGkuaXNTdHVkeVN0dWIpO3QuY29uY2F0KGkpLmZvckVhY2goKGU9PnRoaXMucmVtb3ZlU291cmNlKGUsITEpKSl9X3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoZSx0KXtjb25zdCBpPXRoaXMubV9tb2RlbC5wYW5lcygpLmZpbmRJbmRleCgoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCkpLHM9dGhpcy5tX21vZGVsLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLmNvbnRhaW5zTWFpblNlcmllcygpKSk7aWYoLTE9PT1pfHwtMT09PXMpcmV0dXJuIHZvaWQgZSgpO2NvbnN0IG49aT5zO3RoaXMuYmVnaW5VbmRvTWFjcm8odCksZSgpO2NvbnN0IHI9dGhpcy5tX21vZGVsLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0KSksbz10aGlzLm1fbW9kZWwucGFuZXMoKS5maW5kSW5kZXgoKGU9PmUuY29udGFpbnNNYWluU2VyaWVzKCkpKTtpZihvIT09cyl7Y29uc3QgZT1uP28rMTpvO3RoaXMubW92ZVBhbmUocixlPnI/ZS0xOmUpfXRoaXMuZW5kVW5kb01hY3JvKCl9fXZhciBQXz1pKDY5MjY0KSxUXz1pKDY5NzQ3MikseF89aSgyMTYwODMpO2NsYXNzIE1fe2NvbnN0cnVjdG9yKCl7dGhpcy5fc2Vzc2lvbj17c3RhcnREYXRlOihuZXcgRGF0ZSkudG9JU09TdHJpbmcoKSx1cmw6d2luZG93LmxvY2F0aW9uLmhyZWYsZW50cmllczpbXX19YWRkUGVyc2lzdGVudExvZ0VudHJ5KGUsdCxpKXt0aGlzLl9zZXNzaW9uLmVudHJpZXMucHVzaCh7ZGF0ZToobmV3IERhdGUpLnRvSVNPU3RyaW5nKCksbGV2ZWw6dCxtZXNzYWdlOmUsY2F0ZWdvcnk6aX0pfWFzeW5jIGdldExhc3RTZXNzaW9ucyhlKXtyZXR1cm5bdGhpcy5fc2Vzc2lvbl19cGVuZGluZ0VudHJpZXMoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbi5lbnRyaWVzfX12YXIgSV89aSg3Mzc1MjMpLExfPWkoNzI4NTgzKSxBXz1pKDI5MDMyNCk7Y29uc3Qga189cC50KG51bGwsdm9pZCAwLGkoNzQyNjQyKSk7ZnVuY3Rpb24gRF8oZSl7aWYoInJlcGxhY2VkX3RvX2V4Y2hhbmdlIj09PWUudHlwZSlyZXR1cm57dGV4dDprXyx3YXJuaW5nSWNvbjpMXyx3YXJuaW5nQ2xhc3NOYW1lOkFfLmljb24sd2FybmluZ1R5cGU6Im5vdGFjY3VyYXRlIixzb2x1dGlvbklkOmRlLnNvbHV0aW9uSWRzLldIQVRfSVNfQ0JPRV9CWlhfRVhDSEFOR0V9fWNsYXNzIEVfe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FjdGl2ZUhpbnQ9bnVsbCx0aGlzLl9kZWZlcnJlZFByb21pc2U9bnVsbCx0aGlzLl9jaGFydD1lO2UubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xSZXNvbHZlZCl9ZGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3lBY3RpdmVIaW50KCk7dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKX1fZGVzdHJveUFjdGl2ZUhpbnQoKXtudWxsIT09dGhpcy5fYWN0aXZlSGludCYmKHRoaXMuX2FjdGl2ZUhpbnQuZGVzdHJveSgpLHRoaXMuX2FjdGl2ZUhpbnQ9bnVsbCksdGhpcy5fZGVmZXJyZWRQcm9taXNlPW51bGx9YXN5bmMgX2NyZWF0ZUhpbnQoKXtpZihudWxsPT09dGhpcy5fZGVmZXJyZWRQcm9taXNlKXtjb25zdCBlPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTt0aGlzLl9kZWZlcnJlZFByb21pc2U9ZSxQcm9taXNlLmFsbChbaS5lKDIwNTc2KSxpLmUoMjkyOTYpLGkuZSg2MDA2MiksaS5lKDk0MDU0KSxpLmUoNDAxNjgpLGkuZSgzMjM4NyksaS5lKDM2ODA0KV0pLnRoZW4oaS5iaW5kKGksNDQ4MTYwKSkudGhlbigodD0+e2UucmVzb2x2ZShuZXcgdC5DaGFydFdhcm5pbmdIaW50UmVuZGVyZXIodGhpcy5fY2hhcnQpKX0pKX1yZXR1cm4gdGhpcy5fZGVmZXJyZWRQcm9taXNlLnByb21pc2V9X29uU3ltYm9sUmVzb2x2ZWQoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLElfLmZpcnN0UmVwbGFjZWRCeUJhdHNFeGNoYW5nZSkoZSk7cmV0dXJuIG51bGwhPT10P3t0eXBlOiJyZXBsYWNlZF90b19leGNoYW5nZSIsZXhjaGFuZ2U6dH06bnVsbH0oZSksaT10JiZmdW5jdGlvbihlKXtyZXR1cm5gd2FybmluZy5ub1N1YnNjXyR7ZS5leGNoYW5nZX1gfSh0KTtpZihudWxsPT09dHx8bnVsbD09PWl8fEJvb2xlYW4oUS5nZXRCb29sKGkpKSlyZXR1cm4gdm9pZCB0aGlzLl9kZXN0cm95QWN0aXZlSGludCgpO2NvbnN0IHM9ey4uLkRfKHQpLG9uQ2xvc2U6KCk9PntRLnNldFZhbHVlKGksITAse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl9kZXN0cm95QWN0aXZlSGludCgpfX07bnVsbCE9PXRoaXMuX2FjdGl2ZUhpbnQ/dGhpcy5fYWN0aXZlSGludC5zaG93KHMpOnRoaXMuX2NyZWF0ZUhpbnQoKS50aGVuKChlPT57dGhpcy5fYWN0aXZlSGludD1lLHRoaXMuX2FjdGl2ZUhpbnQuc2hvdyhzKX0pKX19dmFyIFJfPWkoOTc2NDk5KSxWXz1pKDY0MTAzNSk7cC50KG51bGwsdm9pZCAwLGkoNTMzOTU2KSk7Y2xhc3MgQl97CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD1udWxsLHRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcj0hMSx0aGlzLl9jaGFydD1lLHRoaXMuX2NoYXJ0LndpdGhNb2RlbCh0aGlzLHRoaXMuX2Nvbm5lY3RUb01vZGVsKX1fZ2VuZXJhdGVEaWFsb2dDb250ZW50KGUpe2NvbnN0IHQ9dGhpcy5fZ2V0UHJvU3ltYm9sKCksaT1uZXcgVVJMKCJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vY2hhcnQvIik7aS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLHQpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX3NvdXJjZSIsInd3dy50cmFkaW5ndmlldy5jb20iKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ3aWRnZXQiKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsImNoYXJ0IiksaS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fdGVybSIsdCk7cmV0dXJuIGUuZm9ybWF0KHtsaW5rU3RhcnQ6YDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSIke2kudG9TdHJpbmcoKX0iPmAsbGlua0VuZDoiPC9hPiJ9KX1hc3luYyBfc2hvd0RpYWxvZyhlKXsoYXdhaXQoMCxWXy5jcmVhdGVOb3RpY2VEaWFsb2cpKHtjb250ZW50OmV9KSkub3BlbigpfV9yZXZlcnRTeW1ib2xDaGFuZ2UoKXtjb25zdCBlPXRoaXMuX2NoYXJ0LmRlZmF1bHRTeW1ib2woKSx0PXRoaXMuX2dldFByb1N5bWJvbCgpO2xldCBpO2k9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sP3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbC5wcm9fbmFtZTplIT09dD9lOiJBQVBMIix0aGlzLl9jaGFydC5zZXRTeW1ib2woaSl9X2dldFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9jaGFydC5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9TeW1ib2woKX1fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKX1fY29ubmVjdFRvTW9kZWwoKXtjb25zdCBlPXRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpO2UuZGF0YUV2ZW50cygpLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57bnVsbD09PXRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbCYmKHRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcj0hMCl9KSwhMCksZS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKX1fb25TeW1ib2xSZXNvbHZlZCgpe2NvbnN0IGU9bnVsbD09PXRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbCYmIXRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcix0PXRoaXMuX2dldFN5bWJvbCgpO2lmKCEodGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sJiZ0JiZ0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wucHJvX25hbWU9PT10LnByb19uYW1lKSYmKDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIikmJiFlJiYiQVNYIj09PXQ/LmV4Y2hhbmdlKXtjb25zdCBlPXAudChudWxsLHZvaWQgMCxpKDM2NzgwMCkpLHQ9dGhpcy5fZ2VuZXJhdGVEaWFsb2dDb250ZW50KGUpO3JldHVybiB0aGlzLl9zaG93RGlhbG9nKHQpLHZvaWQgdGhpcy5fcmV2ZXJ0U3ltYm9sQ2hhbmdlKCl9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPXRoaXMuX2dldFN5bWJvbCgpfX1mdW5jdGlvbiBOXygpe2NvbnN0IGU9d2luZG93LndpZGdldGJhcjtpZihlKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5zZXRQYWdlKCJvYmplY3RfdHJlZSIpKSxpPSgwLGwuZW5zdXJlTm90TnVsbCkodC53aWRnZXQoIm9iamVjdF90cmVlIikpOygwLGwuZW5zdXJlRGVmaW5lZCkoaS5wcm9wZXJ0aWVzKS5zZXRWYWx1ZSh7c2VsZWN0ZWRQYWdlOiJkYXRhLXdpbmRvdyJ9KX1lbHNlO31jb25zdCBPXz0idHJhZGVkR3JvdXA6IixXXz1gJHtPX31QbGFjZU9yZGVyYCxGXz1gJHtPX31FZGl0T3JkZXJgO3ZhciBIXz1pKDY2NDM3Nik7Y29uc3Qgel89cC50KG51bGwsdm9pZCAwLGkoNTMzOTU2KSk7Y2xhc3MgVV97Y29uc3RydWN0b3IoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPW51bGwsdGhpcy5fY2hhcnQ9ZSx0aGlzLl9jaGFydC53aXRoTW9kZWwodGhpcyx0aGlzLl9jb25uZWN0VG9Nb2RlbCl9X2dldFBvcHVwQ29udGVudCgpe2NvbnN0IGU9dGhpcy5fZ2V0UHJvU3ltYm9sKCksdD1uZXcgVVJMKCJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vY2hhcnQvIik7dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLGUpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX3NvdXJjZSIsInd3dy50cmFkaW5ndmlldy5jb20iKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ3aWRnZXQiKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsImNoYXJ0IiksdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fdGVybSIsZSk7cmV0dXJuIHpfLmZvcm1hdCh7bGlua1N0YXJ0OmA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iJHt0LnRvU3RyaW5nKCl9Ij5gLGxpbmtFbmQ6IjwvYT4ifSl9X29uUG9wdXBDbG9zZWQoKXtjb25zdCBlPXRoaXMuX2NoYXJ0LmRlZmF1bHRTeW1ib2woKSx0PXRoaXMuX2dldFN5bWJvbCgpO2xldCBpO2k9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sP3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbDplIT09dD9lOiJBQVBMIix0aGlzLl9jaGFydC5zZXRTeW1ib2woaSl9X2dldFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9jaGFydC5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9TeW1ib2woKX1fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpLmFjdHVhbFN5bWJvbCgpfV9jb25uZWN0VG9Nb2RlbCgpe2NvbnN0IGU9dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCk7ZS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKSxlLmRhdGFFdmVudHMoKS5zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQpLAplLmRhdGFFdmVudHMoKS5zeW1ib2xOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnNob3cpfV9vblN5bWJvbFJlc29sdmVkKCl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPXRoaXMuX2dldFN5bWJvbCgpfV9vblN5bWJvbEdyb3VwTm90UGVybWl0dGVkKCl7dGhpcy5zaG93KCl9fWNsYXNzIEdfIGV4dGVuZHMgVV97c2hvdygpeygwLFZfLmNyZWF0ZU5vdGljZURpYWxvZykoe2NvbnRlbnQ6dGhpcy5fZ2V0UG9wdXBDb250ZW50KCl9KS50aGVuKChlPT57ZS5vbigiZGVzdHJveSIsdGhpcy5fb25Qb3B1cENsb3NlZC5iaW5kKHRoaXMpKSxlLm9wZW4oKX0pKX19dmFyIGpfPWkoNzQ4OTEyKTt2YXIgcV89aSgzMDc2MTApO3ZhciAkXz1pKDg3MzM4Nik7dmFyIFlfPWkoMTUzNTgyKSxLXz1pKDM4NzEwMSksWF89aSg3Mjg2MzkpLFpfPWkoNjQzOTAzKSxKXz1pKDYxMzg4MSk7dmFyIFFfPWkoNzQ1OTkwKSxlbT1pKDEwMzk5OCk7ZnVuY3Rpb24gdG0oZSl7cmV0dXJuIGUuaGFzTW9kZWwoKT9lLm1vZGVsKCkubWFpblNlcmllcygpLnByb1N5bWJvbCgpOmUuc3ltYm9sV1YoKS52YWx1ZSgpfXZhciBpbT1pKDc2Mjg1MSksc209aSg0NTY3MDUpLG5tPWkoNTE5NTE1KSxybT1pKDc2MDM5MCk7Y2xhc3Mgb20gZXh0ZW5kcyBlcy5BY3Rpb257Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7YWN0aW9uSWQ6IkNoYXJ0LkFkZFN5bWJvbFRvV2F0Y2hMaXN0IixvcHRpb25zOnQ9e2ljb25JZDoiV2F0Y2hsaXN0LkFkZFN5bWJvbCIsaWNvbjpKXy5pY29ucy5nZXQoIldhdGNobGlzdC5BZGRTeW1ib2wiKSxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs4NyxzdGF0TmFtZToiQWRkVG9XYXRjaGxpc3QiLGxhYmVsOm9tLmZvcm1hdExhYmVsKGUpLG9uRXhlY3V0ZTooKT0+dGhpcy5fZXhlY3V0ZSgpLC4uLnR9fSksdGhpcy51cGRhdGVTeW1ib2w9dGhpcy51cGRhdGVTeW1ib2wuYmluZCh0aGlzKSx0aGlzLl9zeW1ib2w9ZX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sPXZvaWQgMCxzdXBlci5kZXN0cm95KCl9cHJlcGFyZSgpe31zdGF0aWMgZm9ybWF0TGFiZWwoZSl7cmV0dXJuIHAudChudWxsLHZvaWQgMCxpKDU3OTkzNCkpLmZvcm1hdCh7c3ltYm9sOigwLFpfLnNhZmVTaG9ydE5hbWUpKGUpfSl9dXBkYXRlU3ltYm9sKGUpe3RoaXMuX3N5bWJvbD1lLHRoaXMudXBkYXRlKHtsYWJlbDpvbS5mb3JtYXRMYWJlbChlKX0pfV9leGVjdXRlKCl7Y29uc3QgZT10aGlzLl9zeW1ib2w7ZSYmKDAsYWQucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57KDAsc20uaW5pdFN5bWJvbExpc3RTZXJ2aWNlKSgpLnRoZW4oKHQ9Pnt0LnN0b3JlLmRpc3BhdGNoKHQuYWN0aW9ucy5hZGRTeW1ib2xzKG5tLldBVENITElTVF9XSURHRVRfSUQsW2VdKSl9KSl9KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfX1jbGFzcyBhbSBleHRlbmRzIG9te2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS52YWx1ZSgpLHQpLHRoaXMuX3N5bWJvbFJlZj0oMCx1LmNvbWJpbmUpKChlPT5lKSxlKSx0aGlzLl9zeW1ib2xSZWYuc3Vic2NyaWJlKHRoaXMudXBkYXRlU3ltYm9sLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sUmVmJiZ0aGlzLl9zeW1ib2xSZWYuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlZj1udWxsLHN1cGVyLmRlc3Ryb3koKX19Y2xhc3MgbG0gZXh0ZW5kcyBhbXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCgwLHhlLmNyZWF0ZVN5bWJvbE9yQWxpYXNXVikoZS5zeW1ib2xXVigpLndlYWtSZWZlcmVuY2UoKSxlLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKSxlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bWJvbEFsaWFzU2VydmljZSgpKS5vd25lcnNoaXAoKSx7c3ViSXRlbXM6W25ldyBlcy5Mb2FkZXIoIkxvYWRpbmciKV0sLi4udH0pLHRoaXMuX2hhZFN5bWJvbE9uSW5pdD0hMSx0aGlzLl9pc01vYmlsZT0oMCxZXy5pc01vYmlsZSkoKSx0aGlzLl9vblJlcXVlc3Q9bnVsbCx0aGlzLl91bnN1YnNjcmliZT1udWxsLHRoaXMuX2NoYXJ0PWUsdGhpcy5fbG9hZCgpfXByZXBhcmUoKXtzdXBlci5wcmVwYXJlKCksdGhpcy5faGFkU3ltYm9sT25Jbml0PSExLHRoaXMuX2lzTW9iaWxlPSgwLFlfLmlzTW9iaWxlKSgpLHRoaXMudXBkYXRlKHtzdWJJdGVtczpbbmV3IGVzLkxvYWRlcigiTG9hZGluZyIpXX0pLHRoaXMuX29uUmVxdWVzdD8uKCl9ZGVzdHJveSgpe3RoaXMuX3Vuc3Vic2NyaWJlPy4oKSx0aGlzLl9jaGFydD1udWxsLHRoaXMuX29uUmVxdWVzdD1udWxsLHN1cGVyLmRlc3Ryb3koKX1fZXhlY3V0ZSgpeygwLGFkLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e2lmKHRoaXMuX2NoYXJ0KXtjb25zdCBlPXRtKHRoaXMuX2NoYXJ0KTsoMCxzbS5pbml0U3ltYm9sTGlzdFNlcnZpY2UpKCkudGhlbigodD0+e3Quc3RvcmUuZGlzcGF0Y2godC5hY3Rpb25zLmFkZFN5bWJvbHMobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCxbZV0pKX0pKX19KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfWFzeW5jIF9sb2FkKCl7Y29uc3RbZSx0LHMsbixyLHt3YXRjaGxpc3RTb3J0Q29tcGFyYXRvcjpvfSxhXT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDY0NjQ0KS50aGVuKGkudC5iaW5kKGksNzc5NDc0LDE5KSksKDAsCnNtLmluaXRTeW1ib2xMaXN0U2VydmljZSkoKSxQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksOTY5MjYyKSksUHJvbWlzZS5hbGwoW2kuZSg3Mzc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg5NDIzMiksaS5lKDEyMDUxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDE4NTEyKSxpLmUoNDI0NTcpLGkuZSgzOTYwOSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1MjUwOSksaS5lKDg1NDM0KSxpLmUoNzI4NSksaS5lKDI4NTEpLGkuZSgxOTkzOCldKS50aGVuKGkuYmluZChpLDE5NTI2OSkpLFByb21pc2UuYWxsKFtpLmUoOTY4MjMpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMjQ1ODEpLGkuZSgyNzUxNyksaS5lKDg2NDIzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDc4NjUyKSxpLmUoNzA4MTUpLGkuZSgxNDYyNSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg1MjY4MCksaS5lKDM1Nzk0KSxpLmUoMTY3NiksaS5lKDg5MjA0KSxpLmUoMTIwNTEpLGkuZSg4OTU1OCksaS5lKDEwMzY2KSxpLmUoNjk4NjEpLGkuZSgyMDIpLGkuZSg3MjUxMiksaS5lKDU1MDExKSxpLmUoNzUzMDQpLGkuZSg1MjA5NSksaS5lKDQ0MDMxKSxpLmUoNzE5MDEpLGkuZSg4OTA0NCksaS5lKDQwOTE0KSxpLmUoODEyNDcpLGkuZSg5MDk2MCksaS5lKDQzNzkyKSxpLmUoODc3NDApLGkuZSg3ODQwNCksaS5lKDM5MTYpLGkuZSg4MTEwNyksaS5lKDc4ODk5KSxpLmUoNTEyNTYpLGkuZSg0MjMwMSksaS5lKDM1MzQyKSxpLmUoNDIwMzMpLGkuZSg1MDU4OCksaS5lKDgwMDQxKSxpLmUoOTAzNzgpLGkuZSg3MjI0OSksaS5lKDMwOTIyKSxpLmUoMzc1NjcpLGkuZSg4Nzc2NyksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSg4MDkxNSksaS5lKDE4NTEyKSxpLmUoNDg2MjApLGkuZSg1MDA0OSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1NTIyOSksaS5lKDQ2MjE3KSxpLmUoNjg3MjUpLGkuZSg2NjkzMyksaS5lKDY5Njk3KSxpLmUoNTI1MDkpLGkuZSg2MzQwMiksaS5lKDI0ODc5KSxpLmUoNjcxMjApLGkuZSg0MjMyNyksaS5lKDM1MjUyKSxpLmUoNjA0OTMpXSkudGhlbihpLmJpbmQoaSw1MTAxMTYpKSxQcm9taXNlLmFsbChbaS5lKDk2ODIzKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDI0NTgxKSxpLmUoMjc1MTcpLGkuZSg4NjQyMyksaS5lKDg1NzkpLGkuZSg0MDgzNSksaS5lKDE3MDg3KSxpLmUoNzI2NjYpLGkuZSg3ODY1MiksaS5lKDcwODE1KSxpLmUoMTQ2MjUpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDE2NzYpLGkuZSg4OTIwNCksaS5lKDEyMDUxKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDY5ODYxKSxpLmUoMjAyKSxpLmUoNzI1MTIpLGkuZSg1NTAxMSksaS5lKDc1MzA0KSxpLmUoNTIwOTUpLGkuZSg0NDAzMSksaS5lKDcxOTAxKSxpLmUoODkwNDQpLGkuZSg0MDkxNCksaS5lKDgxMjQ3KSxpLmUoOTA5NjApLGkuZSg0Mzc5MiksaS5lKDg3NzQwKSxpLmUoNzg0MDQpLGkuZSgzOTE2KSxpLmUoODExMDcpLGkuZSg3ODg5OSksaS5lKDUxMjU2KSxpLmUoNDIzMDEpLGkuZSgzNTM0MiksaS5lKDQyMDMzKSxpLmUoNTA1ODgpLGkuZSg4MDA0MSksaS5lKDkwMzc4KSxpLmUoNzIyNDkpLGkuZSgzMDkyMiksaS5lKDM3NTY3KSxpLmUoODc3NjcpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQ4NjIwKSxpLmUoNTAwNDkpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTUyMjkpLGkuZSg0NjIxNyksaS5lKDY4NzI1KSxpLmUoNjY5MzMpLGkuZSg2OTY5NyksaS5lKDUyNTA5KSxpLmUoNjM0MDIpLGkuZSgyNDg3OSksaS5lKDY3MTIwKSxpLmUoNDIzMjcpLGkuZSgzNTI1MiksaS5lKDYwNDkzKV0pLnRoZW4oaS5iaW5kKGksNTQ2MTU0KSksUHJvbWlzZS5hbGwoW2kuZSg5NjgyMyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDk0MjMyKSxpLmUoMzI4MTYpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgyNDU4MSksaS5lKDI3NTE3KSxpLmUoODY0MjMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoNzg2NTIpLGkuZSg3MDgxNSksaS5lKDE0NjI1KSxpLmUoMTU1MjYpLGkuZSg5MzQxNiksaS5lKDUyNjgwKSxpLmUoMzU3OTQpLGkuZSgxNjc2KSxpLmUoODkyMDQpLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg2OTg2MSksaS5lKDIwMiksaS5lKDcyNTEyKSxpLmUoNTUwMTEpLGkuZSg3NTMwNCksaS5lKDUyMDk1KSxpLmUoNDQwMzEpLGkuZSg3MTkwMSksaS5lKDg5MDQ0KSxpLmUoNDA5MTQpLGkuZSg4MTI0NyksaS5lKDkwOTYwKSxpLmUoNDM3OTIpLGkuZSg4Nzc0MCksaS5lKDc4NDA0KSxpLmUoMzkxNiksaS5lKDgxMTA3KSxpLmUoNzg4OTkpLGkuZSg1MTI1NiksaS5lKDQyMzAxKSxpLmUoMzUzNDIpLGkuZSg0MjAzMyksaS5lKDUwNTg4KSxpLmUoODAwNDEpLGkuZSg5MDM3OCksaS5lKDcyMjQ5KSxpLmUoMzA5MjIpLGkuZSgzNzU2NyksaS5lKDg3NzY3KSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0ODYyMCksaS5lKDUwMDQ5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDU1MjI5KSxpLmUoNDYyMTcpLGkuZSg2ODcyNSksaS5lKDY2OTMzKSxpLmUoNjk2OTcpLGkuZSg1MjUwOSksaS5lKDYzNDAyKSxpLmUoMjQ4NzkpLGkuZSg2NzEyMCksaS5lKDQyMzI3KSxpLmUoMzUyNTIpLGkuZSg2MDQ5MyldKS50aGVuKGkuYmluZChpLDkyMDM5MikpXSkKO2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47Y29uc3R7c3RvcmU6bH09dDt0aGlzLl9vblJlcXVlc3Q9KCk9PmwuZGlzcGF0Y2gocy5nZXRDdXN0b21XYXRjaGxpc3RzVGh1bmsobnVsbCkpLHRoaXMuX3Vuc3Vic2NyaWJlPWwuc3Vic2NyaWJlKCgoKT0+e2lmKCF0aGlzLl9jaGFydClyZXR1cm47Y29uc3QgdD1sLmdldFN0YXRlKCk7aWYobnVsbD09PXIuZ2V0Q3VzdG9tTGlzdHNTdGF0ZSh0KS50aW1lc3RhbXApcmV0dXJuO2NvbnN0IHM9dG0odGhpcy5fY2hhcnQpLGM9ci5nZXRDdXN0b21MaXN0cyh0KSx7YWN0aXZlU3ltYm9sTGlzdDpofT10LGQ9Yy5maW5kKChlPT5lLmlkPT09aD8uaWQpKTt0aGlzLl9oYWRTeW1ib2xPbkluaXR8fCh0aGlzLl9oYWRTeW1ib2xPbkluaXQ9ISFkJiZkLnN5bWJvbHMuaW5jbHVkZXMocykpO2NvbnN0IHU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibXVsdGlwbGVfd2F0Y2hsaXN0cyIpP2MuZmlsdGVyKChlPT5lLmlkIT09aD8uaWQpKS5zb3J0KG8pOltdO2xldCBfPWQ/W2QsLi4udV06dTtfPV8uZmlsdGVyKChlPT4hKDAscm0uaXNEZWxldGVkU3ltYm9sc0xpc3QpKGUuaWQpKSk7Y29uc3QgbT1fLm1hcCgodD0+e2NvbnN0IGk9dC5zeW1ib2xzLmluY2x1ZGVzKHMpLHI9e3Nob3J0Y3V0SGludDp0LmlkPT09aD8uaWQ/KDAsSy5odW1hblJlYWRhYmxlSGFzaCkoSy5Nb2RpZmllcnMuQWx0Kzg3KTp2b2lkIDAsaW52aXNpYmxlSG90a2V5OnQuaWQ9PT1oPy5pZD9pOnZvaWQgMCxkb05vdENsb3NlT25DbGljazohMCxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPWk/bi5yZW1vdmVTeW1ib2xzVGh1bmsobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCxbc10sdC5pZCwhMCk6bi5hZGRTeW1ib2xzVG9DdXN0b21MaXN0VGh1bmsobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCx0LmlkLFtzXSk7dC5pZCE9PWg/LmlkfHx3aW5kb3cuaXNfYXV0aGVudGljYXRlZHx8dGhpcy5faGFkU3ltYm9sT25Jbml0P2wuZGlzcGF0Y2goZSk6d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2wuZGlzcGF0Y2goZSl9KSx7c291cmNlOiJDaGFydCBjb250ZXh0IG1lbnUifSl9fTtyZXR1cm4gbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5BY3Rpb25zIixvcHRpb25zOnsuLi5yLGxhYmVsOnQubmFtZSxjaGVja2FibGU6ITAsY2hlY2tlZDppLHN0YXROYW1lOiJBZGRUb1dhdGNobGlzdCJ9LGN1c3RvbUFjdGlvbk9wdGlvbnM6ey4uLnIsanN4TGFiZWw6ZS5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVXYXRjaGxpc3RJdGVtLHt0aXRsZTp0Lm5hbWUsaXNDaGVja2VkOmksaXNTbWFsbFNpemU6dGhpcy5faXNNb2JpbGV9KX19KX0pKSxnPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuQ3JlYXRlIixvcHRpb25zOntsYWJlbDooMCxpbS5hcHBlbmRFbGxpcHNpcykocC50KG51bGwsdm9pZCAwLGkoODc2MTYpKSksc3RhdE5hbWU6IkNyZWF0ZU5ld1dhdGNobGlzdCIsaWNvbklkOnRoaXMuX2lzTW9iaWxlPyJXYXRjaGxpc3QuQ3JlYXRlTmV3Ijp2b2lkIDAsb25FeGVjdXRlOigpPT57KDAsV3UucnVuT3JHb1BybykoKCgpPT57bC5kaXNwYXRjaChuLnVzZXJDcmVhdGVXYXRjaGxpc3RUaHVuayhudWxsLHtzeW1ib2xzOltzXX0pKX0pLCJNVUxUSVBMRV9XQVRDSExJU1RTIix7ZmVhdHVyZToibXVsdGlwbGVXYXRjaExpc3RzIixmZWF0dXJlTG9jYXRpb246Im1vdmVTeW1ib2xzVG9OZXcifSl9fX0pO3RoaXMudXBkYXRlKHtzdWJJdGVtczpbLi4ubSxuZXcgZXMuU2VwYXJhdG9yLGddfSl9KSl9fXZhciBjbT1pKDg4MDExNSksaG09aSgzNzk3OTMpO2Z1bmN0aW9uIGRtKGUpe3JldHVybigwLGNtLmRlZmF1bHQpKGUpJiYiZGlhbG9nQ2xvc2UiaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuZGlhbG9nQ2xvc2V9YXN5bmMgZnVuY3Rpb24gdW0oZSl7aWYoIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybntzdWJJdGVtczpbXSxkaXNhYmxlZDohMH07Y29uc3RbdCxzLG5dPWF3YWl0IFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDc0MTE0KSxpLmUoNjQyNSldKS50aGVuKGkuYmluZChpLDY2NTE4NykpLFByb21pc2UuYWxsKFtpLmUoNzQxMTQpLGkuZSg2NDI1KV0pLnRoZW4oaS5iaW5kKGksMzE2NTE3KSksUHJvbWlzZS5hbGwoW2kuZSg3NDExNCksaS5lKDY0MjUpXSkudGhlbihpLmJpbmQoaSw0MTM0NTEpKV0pLHI9YXdhaXQgdC5nZXRUaGVtZU5hbWVzKCksbz1bXSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5UaGVtZS5TYXZlQXMiLG9wdGlvbnM6e25hbWU6InRoZW1lLXNhdmUtYXMiLHN0YXROYW1lOiJTYXZlVGhlbWVBcyIsbGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc4NDc0MSkpKSxvbkV4ZWN1dGU6YXN5bmMoKT0+e3RyeXt2b2lkIDAhPT1hd2FpdCBuZXcgUHJvbWlzZSgoKHQsaSk9PntzLnNob3dUaGVtZVNhdmVEaWFsb2dBc3luYyhlLm1vZGVsKCkubW9kZWwoKS50ZW1wbGF0ZSgpLHQsdCxpKX0pKSYmYXdhaXQgcG0oZSl9Y2F0Y2goZSl7aWYoZG0oZSkpcmV0dXJuIHZvaWQgZS5kaWFsb2dDbG9zZSgpO3Rocm93IGV9fX19KTtyZXR1cm4gby5wdXNoKGEpLHImJnIubGVuZ3RoJiYoby5sZW5ndGgmJm8ucHVzaChuZXcgZXMuU2VwYXJhdG9yKSxyLmZvckVhY2goKGk9Pntjb25zdCByPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5UaGVtZS5BcHBseS5DdXN0b20iLG9wdGlvbnM6e2xhYmVsOnQudHJhbnNsYXRlU3RkVGhlbWVOYW1lKGkpLGNoZWNrYWJsZTohMSxzdGF0TmFtZToiTG9hZFRoZW1lIixvbkV4ZWN1dGU6KCk9PntuLmxvYWRUaGVtZShlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHt0aGVtZU5hbWU6aSxzdGFuZGFyZFRoZW1lOiExfSkudGhlbigoKCk9Pnt3aW5kb3cuc2F2ZXIuc2F2ZUNoYXJ0U2lsZW50bHkoKSwoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiU3dpdGNoIHRvIGN1c3RvbSB0aGVtZSIpfSkpfSx0b29sYm94Ont0eXBlOmhtLlRvb2xib3hUeXBlLkRlbGV0ZSxhY3Rpb246YXN5bmMoKT0+e3RyeXt2b2lkIDAhPT1hd2FpdCBuZXcgUHJvbWlzZSgoKGUsdCk9PnsKcy5zaG93UmVtb3ZlVGhlbWVEaWFsb2dBc3luYyhpLGUsZSx0KX0pKSYmYXdhaXQgcG0oZSl9Y2F0Y2goZSl7aWYoZG0oZSkpcmV0dXJuIHZvaWQgZS5kaWFsb2dDbG9zZSgpO3Rocm93IGV9fX0sc2hvd1Rvb2xib3hPbkhvdmVyOiEwfX0pO28ucHVzaChyKX0pKSkse3N1Ykl0ZW1zOm8sZGlzYWJsZWQ6MD09PW8ubGVuZ3RofX1hc3luYyBmdW5jdGlvbiBwbShlLHQpe3Q/Pz1lLmFjdGlvbnMoKS5hcHBseUNvbG9yVGhlbWUsdD8udXBkYXRlKGF3YWl0IHVtKGUpKX12YXIgX209aSgzNDIyMCksbW09aSg5NTI1NDUpLGdtPWkoNjQ0Mjk1KTtmdW5jdGlvbiBmbShlKXtjb25zdCB0PWUubW9kZWwoKS5kYXRhU291cmNlcygpLHM9dC5maWx0ZXIoZ2wuaXNMaW5lVG9vbCkuZmlsdGVyKChlPT5lLmlzQWN0dWFsU3ltYm9sKCkmJmUuaXNVc2VyRGVsZXRhYmxlKCkpKS5sZW5ndGgsbj10LmZpbHRlcih0aS5pc1N0dWR5KS5maWx0ZXIoKGU9PmUucmVtb3ZlQnlSZW1vdmVBbGxTdHVkaWVzKCkpKS5sZW5ndGgscj1wLnQobnVsbCx7cGx1cmFsOiJ7YW1vdW50fSBkcmF3aW5ncyIsY291bnQ6cyxyZXBsYWNlOnthbW91bnQ6cy50b1N0cmluZygpfX0saSg0MDY0ODUpKSxvPXAudChudWxsLHtwbHVyYWw6InthbW91bnR9IGluZGljYXRvcnMiLGNvdW50Om4scmVwbGFjZTp7YW1vdW50Om4udG9TdHJpbmcoKX19LGkoMTQxNjYyKSk7cmV0dXJue2RyYXdpbmdzOntsYWJlbDpwLnQobnVsbCx7cmVwbGFjZTp7ZHJhd2luZ3M6cn19LGkoMTQ1Mzk2KSksZGlzYWJsZWQ6MD09PXN9LHN0dWRpZXM6e2xhYmVsOnAudChudWxsLHtyZXBsYWNlOntpbmRpY2F0b3JzOm99fSxpKDEyODEzMykpLGRpc2FibGVkOjA9PT1ufSxhbGw6e2xhYmVsOnAudChudWxsLHtyZXBsYWNlOntkcmF3aW5nczpyLGluZGljYXRvcnM6b319LGkoNjgzMjA4KSksZGlzYWJsZWQ6MD09PXMmJjA9PT1ufX19dmFyIFNtPWkoNzgzMjU0KSx2bT1pKDg2MjU3Mik7ZnVuY3Rpb24geW0oZSl7Y29uc3QgdD1lLm9wdGlvbnMoKSxzPXtsYWJlbDooMCxpbS5hcHBlbmRFbGxpcHNpcykoU20udChudWxsLHZvaWQgMCxpKDU5Nzc3MCkpKSxzdGF0TmFtZToiQ2hhbmdlSW50ZXJ2YWwiLG9uRXhlY3V0ZTooKT0+KDAsdm0uc2hvd0NoYW5nZUludGVydmFsRGlhbG9nQXN5bmMpKHtpbml0VmFsOmpyLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSxzZWxlY3RPbkluaXQ6ITB9KX07cmV0dXJuISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyIpfHx0LnJlYWRPbmx5fHx0LmhpZGVTeW1ib2xTZWFyY2h8fChzLnNob3J0Y3V0SGludD0iLCIscy5ob3RrZXlHcm91cD1lLmhvdGtleXMoKSxzLmhvdGtleUhhc2g9MTg4KSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93Q2hhbmdlSW50ZXJ2YWwiLG9wdGlvbnM6c30pfWNsYXNzIGJtIGV4dGVuZHMgZXMuQWN0aW9ue2NvbnN0cnVjdG9yKGUsdD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpKXtzdXBlcih7Li4uZSxvcHRpb25zOnsuLi5lLm9wdGlvbnMsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dC52YWx1ZSgpLG9uRXhlY3V0ZTooKT0+e3RoaXMuX3d2LnNldFZhbHVlKCF0aGlzLl93di52YWx1ZSgpKX19fSksdGhpcy5fdXBkYXRlQ2hlY2tlZD1lPT57dGhpcy51cGRhdGUoe2NoZWNrZWQ6ZX0pfSx0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVDaGVja2VkKSx0aGlzLl93dj10fWRlc3Ryb3koKXt0aGlzLl93di51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVDaGVja2VkKSxzdXBlci5kZXN0cm95KCl9fXZhciB3bT1pKDc0MTY5MCkKO2NvbnN0IENtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNjYWxlIHByaWNlIGNoYXJ0IG9ubHkiLHAudChudWxsLHZvaWQgMCxpKDIzMTgzMSkpKSxQbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzdGF5IGluIGRyYXdpbmcgbW9kZSIscC50KG51bGwsdm9pZCAwLGkoNDgyMTE4KSkpLFRtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImhpZGUgbWFya3Mgb24gYmFycyIscC50KG51bGwsdm9pZCAwLGkoNDc3NjY1KSkpLHhtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgbGFzdCB2YWx1ZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgyMjU5MDApKSksTW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHN5bWJvbCBwcmV2aW91cyBjbG9zZSB2YWx1ZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg1OTQyMDkpKSksSW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByZXZpb3VzIGNsb3NlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoODg2OTExKSkpLExtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE1NjEwOCkpKSxBbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaW5kaWNhdG9ycyBhbmQgZmluYW5jaWFscyB2YWx1ZSBsYWJlbHMgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNjI0MzYwKSkpLGttPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBpbmRpY2F0b3JzIGFuZCBmaW5hbmNpYWxzIG5hbWUgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDM4NjMzNSkpKSxEbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgYmlkIGFuZCBhc2sgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE0MTU1MykpKSxFbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgYmlkIGFuZCBhc2sgbGluZXMgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzk2MDQ5KSkpLFJtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNTc2NzAxKSkpLFZtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoODQ0OTg0KSkpLEJtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgxNzY3NDUpKSksTm09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByZS9wb3N0L25pZ2h0IG1hcmtldCBwcmljZSBsaW5lIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDM5NDI4MikpKSxPbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaGlnaCBhbmQgbG93IHByaWNlIGxhYmVscyB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg1Njk4NykpKSxXbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaGlnaCBhbmQgbG93IHByaWNlIGxpbmVzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE4NDY2NikpKSxGbT0obmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNTE2NDYpKSksbmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg0MDUzNTIpKSksbmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGNvdW50ZG93biB0byBiYXIgY2xvc2UgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzk5MjU0KSkpKSxIbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgcGx1cyBidXR0b24gdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNzM5MDg3KSkpLHptPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzZXNzaW9uIGJyZWFrcyB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgxNDYyMDIpKSksVW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzIyOTEyKSkpLEdtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSB0aW1lem9uZSIscC50KG51bGwsdm9pZCAwLGkoMTMxNDA4KSkpO2Z1bmN0aW9uIGptKGUpe2NvbnN0IHQ9ZS5ob3RrZXlzKCkscz1lLm1vZGVsKCksbj1lLm9wdGlvbnMoKSxyPWUucHJvcGVydGllcygpLG89bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZUludmVydFByaWNlU2NhbGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDE1OTI1KSksc3RhdE5hbWU6IkludmVydCBTY2FsZSIsY2hlY2thYmxlOiEwLG9uRXhlY3V0ZTooKT0+cy5pbnZlcnRQcmljZVNjYWxlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs3M319KSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXJpZXMuUHJpY2VTY2FsZS5Ub2dnbGVBdXRvU2NhbGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDYzMzc1MikpLGNoZWNrYWJsZTohMCxvbkV4ZWN1dGU6ZT0+e2NvbnN0IHQ9cy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpO3MudG9nZ2xlUHJpY2VTY2FsZUF1dG9TY2FsZU1vZGUodCksZS51cGRhdGUoe2NoZWNrZWQ6dC5pc0F1dG9TY2FsZSgpfSl9fX0pLGw9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNjYWxlcy5Ub2dnbGVMb2NrUHJpY2VUb0JhclJhdGlvIixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg0MTE3NjgpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZUxvY2tTY2FsZSIsCm9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlTG9ja1NjYWxlTW9kZShzLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkpfX0pLGM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZVJlZ3VsYXIiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg3NDkxNzkpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZVJlZ3VsYXJTY2FsZSIsb25FeGVjdXRlOmU9Pntjb25zdCB0PXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtzLnNldFByaWNlU2NhbGVSZWd1bGFyU2NhbGVNb2RlKHQpLGUudXBkYXRlKHtjaGVja2VkOnQuaXNSZWd1bGFyKCl9KX19fSksZD1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VyaWVzLlByaWNlU2NhbGUuVG9nZ2xlUGVyY2VudGFnZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMTU1ODMzKSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVQZXJjYW50YWdlIixvbkV4ZWN1dGU6KCk9PnMudG9nZ2xlUHJpY2VTY2FsZVBlcmNlbnRhZ2VTY2FsZU1vZGUocy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpKSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuQWx0KzgwfX0pLHU9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZUluZGV4ZWRUbzEwMCIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMTUyMDU0KSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVJbmRleGVkVG8xMDAiLG9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlSW5kZXhlZFRvMTAwU2NhbGVNb2RlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSl9fSksXz1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VyaWVzLlByaWNlU2NhbGUuVG9nZ2xlTG9nYXJpdGhtaWMiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDUwMzU1OCkpLHN0YXROYW1lOiJUb2dnbGVMb2dTY2FsZSIsY2hlY2thYmxlOiEwLG9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlTG9nU2NhbGVNb2RlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs3Nn19KSxtPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5DaGFuZ2VUaW1lWm9uZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjI0MTk4KSksc3RhdE5hbWU6IlRpbWVab25lIixvbkRlc3Ryb3k6KCk9PmUucHJvcGVydGllcygpLmNoaWxkcygpLnRpbWV6b25lLnVuc3Vic2NyaWJlQWxsKG0pfX0pLGc9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudGltZXpvbmUsZj0oKT0+e2NvbnN0IHQ9W10saT1qdC5hdmFpbGFibGVUaW1lem9uZXMscz1lPT5lLmlkPT09Zy52YWx1ZSgpO2kuZm9yRWFjaCgoaT0+e2NvbnN0IG49bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkNoYW5nZVRpbWVab25lIixvcHRpb25zOntsYWJlbDppLnRpdGxlLGNoZWNrYWJsZTohMCxjaGVja2VkOnMoaSksc3RhdE5hbWU6IlNldFRpbWVab25lIixvbkV4ZWN1dGU6KCk9PntlLm1vZGVsKCkuc2V0UHJvcGVydHkoZyxpLmlkLEdtKX19fSk7dC5wdXNoKG4pfSkpLG0udXBkYXRlKHtzdWJJdGVtczp0fSl9O2YoKSxnLnN1YnNjcmliZShtLGYpO2NvbnN0IFM9bmV3IGFzLkFjdGlvbldpdGhTdGFuZGFyZEljb24oe2FjdGlvbklkOiJDaGFydC5UaW1lU2NhbGUuUmVzZXQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDkwNjQzNikpLGljb25JZDoiQ2hhcnQuUmVzZXQiLHN0YXROYW1lOiJSZXNldFNjYWxlIixvbkV4ZWN1dGU6KCk9PnMucmVzZXRUaW1lU2NhbGUoKSxob3RrZXlHcm91cDplLmhvdGtleXMoKSxob3RrZXlIYXNoOksuTW9kaWZpZXJzLk1vZCtLLk1vZGlmaWVycy5BbHQrODF9fSksdj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93SW5zZXJ0SW5kaWNhdG9ycyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDcyNDkwOSkpKSxzdGF0TmFtZToiSW5zZXJ0SW5kaWNhdG9yIixvbkV4ZWN1dGU6KCk9PmUuc2hvd0luZGljYXRvcnMoKSwuLi5uLmluZGljYXRvcnNEaWFsb2dTaG9ydGN1dEVuYWJsZWQ/e2hvdGtleUdyb3VwOnQsaG90a2V5SGFzaDoxOTF9OnZvaWQgMH19KSx5PW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dDb21wYXJlT3JBZGRTeW1ib2wiLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKShwLnQobnVsbCx2b2lkIDAsaSg5MjI0NCkpKSxzdGF0TmFtZToiQ29tcGFyZU9yQWRkU3ltYm9sIixvbkV4ZWN1dGU6KCk9PmUudG9nZ2xlQ29tcGFyZU9yQWRkKCl9fSksYj1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd0dlbmVyYWxTZXR0aW5ncyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiQ2hhcnRQcm9wZXJ0aWVzIixvbkV4ZWN1dGU6KCk9PmUuc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMoKX19KSx3PW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93R2VuZXJhbFNldHRpbmdzLlN5bWJvbFRhYiIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiTWFpblNlcmllc1Byb3BlcnRpZXMiLG9uRXhlY3V0ZTooKT0+ZS5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcyhKdC5UYWJOYW1lcy5zeW1ib2wpfX0pLEM9bmV3IGFzLkFjdGlvbldpdGhTdGFuZGFyZEljb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dHZW5lcmFsU2V0dGluZ3MuU2NhbGVzVGFiIixvcHRpb25zOntsYWJlbDooMCwKaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDMxNjAxOCkpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiU2NhbGVzUHJvcGVydGllcyIsb25FeGVjdXRlOigpPT5lLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKEp0LlRhYk5hbWVzLnNjYWxlcyl9fSksUD1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VsZWN0ZWRPYmplY3QuVG9nZ2xlTG9ja2VkIixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg3NTQzMTApKSxzdGF0TmFtZToiVG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0IixvbkV4ZWN1dGU6KCk9PmUudG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0KCl9fSkseD1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LkhpZGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc2OTM5MSkpLGljb25JZDoiQ2hhcnQuSGlkZSIsc3RhdE5hbWU6IkhpZGVTZWxlY3RlZE9iamVjdCIsb25FeGVjdXRlOigpPT5lLmhpZGVTZWxlY3RlZE9iamVjdCgpfX0pLE09bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVBdXRvU2NhbGVTZXJpZXNPbmx5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg3NjIxNDUpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlNjYWxlUHJpY2VDaGFydE9ubHkifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZVNlcmllc09ubHksdW5kb01vZGVsOnMsdW5kb1RleHQ6Q219KSxJPW5ldyBibSh7YWN0aW9uSWQ6IkNoYXJ0LkRyYXdpbmdUb29sYmFyLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDYyMzcxNikpLHN0YXROYW1lOiJUb2dnbGVEcmF3aW5nVG9vbGJhciJ9fSxuLmlzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlKSxMPW5ldyBpcyh7YWN0aW9uSWQ6IiIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoODc2NjU5KSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVTdGF5SW5EcmF3aW5nTW9kZSJ9fSx7cHJvcGVydHk6VC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RheUluRHJhd2luZ01vZGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6UG19KSxBPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0Lk1hcmtzLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDEzOTM1NSkpLGNoZWNrYWJsZTohMCxzdGF0TmFtZToiVG9nZ2xlSGlkZU1hcmtzT25CYXJzIn19LHtwcm9wZXJ0eTpULmhpZGVNYXJrc09uQmFycygpLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OlRtLGNhbGxiYWNrOmU9PlQuaGlkZU1hcmtzT25CYXJzKCkuc2V0VmFsdWUoZS5pc0NoZWNrZWQoKSl9KSxEPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZVNlcmllc0xhc3RWYWx1ZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDk1NzE5OSkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVTeW1ib2xMYXN0VmFsdWUifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzTGFzdFZhbHVlLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OnhtfSksRT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVTeW1ib2xOYW1lTGFiZWxzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzcwNDM3KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN5bWJvbExhYmVscyJ9fSx7cHJvcGVydHk6ci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTeW1ib2xMYWJlbHMsdW5kb01vZGVsOnMsdW5kb1RleHQ6TG19KSxSPSgwLHdtLmNvbWJpbmVQcm9wZXJ0eSkoKChlLHQpPT5lfHx0KSxyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N0dWR5TGFzdFZhbHVlLndlYWtSZWZlcmVuY2UoKSxyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTGFzdFZhbHVlLndlYWtSZWZlcmVuY2UoKSksVj1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVJbmRpY2F0b3JzVmFsdWVMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgzNDI0NjMpKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxzdGF0TmFtZToiVG9nZ2xlU3R1ZGllc0FuZEZ1bmRhbWVudGFsc1ByaWNlTGFiZWxzIixvbkRlc3Ryb3k6KCk9PntSLmRlc3Ryb3koKX19fSx7cHJvcGVydHk6Uix1bmRvTW9kZWw6cyx1bmRvVGV4dDpudWxsLGNhbGxiYWNrOigpPT57Y29uc3QgZT0hUi52YWx1ZSgpO3MuYmVnaW5VbmRvTWFjcm8oQW0pLHMuc2V0UHJvcGVydHkoci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTdHVkeUxhc3RWYWx1ZSxlLG51bGwpLHMuc2V0UHJvcGVydHkoci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZSxlLG51bGwpLHMuZW5kVW5kb01hY3JvKCl9fSksQj0oMCx3bS5jb21iaW5lUHJvcGVydHkpKCgoZSx0KT0+ZXx8dCksci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTdHVkeVBsb3RMYWJlbHMud2Vha1JlZmVyZW5jZSgpLHIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93RnVuZGFtZW50YWxOYW1lTGFiZWwud2Vha1JlZmVyZW5jZSgpKSxOPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZUluZGljYXRvcnNOYW1lTGFiZWxzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMzk0NDc4KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN0dWRpZXNBbmRGdW5kYW1lbnRhbHNOYW1lTGFiZWxzIixvbkRlc3Ryb3k6KCk9PntCLmRlc3Ryb3koKX19fSx7cHJvcGVydHk6Qix1bmRvTW9kZWw6cywKdW5kb1RleHQ6bnVsbCxjYWxsYmFjazooKT0+e2NvbnN0IGU9IUIudmFsdWUoKTtzLmJlZ2luVW5kb01hY3JvKGttKSxzLnNldFByb3BlcnR5KHIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U3R1ZHlQbG90TGFiZWxzLGUsbnVsbCkscy5zZXRQcm9wZXJ0eShyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTmFtZUxhYmVsLGUsbnVsbCkscy5lbmRVbmRvTWFjcm8oKX19KSxPPXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5oaWdoTG93QXZnUHJpY2UuY2hpbGRzKCksVz1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVIaWdoTG93UHJpY2VMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4MjM0MzApKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxzdGF0TmFtZToiVG9nZ2xlSGlnaExvd1ByaWNlTGFiZWxzIn19LHtwcm9wZXJ0eTpPLmhpZ2hMb3dQcmljZUxhYmVsc1Zpc2libGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6T219KSxGPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZUhpZ2hMb3dMaW5lc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDI1NjIyMCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVIaWdoTG93UHJpY2VMaW5lIn19LHtwcm9wZXJ0eTpPLmhpZ2hMb3dQcmljZUxpbmVzVmlzaWJsZSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpXbX0pLEg9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVDb3VudGRvd25Ub0JhckNsb3NlVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjcxNjYxKSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZUNvdW50ZG93biJ9fSx7cHJvcGVydHk6cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dDb3VudGRvd24sdW5kb01vZGVsOnMsdW5kb1RleHQ6Rm19KSx6PW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlQWRkT3JkZXJQbHVzQnV0dG9uVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjg4OTE1KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCksc3RhdE5hbWU6IlRvZ2dsZUFkZE9yZGVyUGx1c0J1dHRvbiJ9fSx7cHJvcGVydHk6ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LHVuZG9Nb2RlbDpzLHVuZG9UZXh0OkhtfSksVT1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd1N5bWJvbEluZm8iLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKSgoMCxZXy5pc01vYmlsZSkoKT9wLnQobnVsbCx7Y29udGV4dDoic2hvd19zeW1ib2xfaW5mb19kaWFsb2dfYWN0aW9uIn0saSg5NjA5NjgpKTpwLnQobnVsbCx7Y29udGV4dDoic2hvd19zeW1ib2xfaW5mb19kaWFsb2dfYWN0aW9uIn0saSg5ODY0NjgpKSksaWNvbklkOiJDaGFydC5TeW1ib2xJbmZvIixjaGVja2FibGU6ITEsc3RhdE5hbWU6IlN5bWJvbEluZm8iLG9uRXhlY3V0ZTooKT0+e2lmKCgwLFlfLmlzTW9iaWxlKSgpKSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3IikmJm4ub25EZXRhaWxzV2Vidmlld09wZW4/bi5vbkRldGFpbHNXZWJ2aWV3T3BlbigpOigwLEtfLnNob3dEZXRhaWxzRGlhbG9nKSgpLCgwLE10LnRyYWNrRXZlbnQpKCJDb250ZXh0TWVudUNsaWNrIiwiTW9iaWxlIiwiU3ltYm9sSW5mbyIpO2Vsc2V7Y29uc3QgdD1lLm1vZGVsKCkubW9kZWwoKSxpPXQubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZihpKXtjb25zdCBlPXQuYXZhaWxhYmxlVW5pdHMoKS52YWx1ZSgpLHM9dC51bml0Q29udmVyc2lvbkVuYWJsZWQoKTsoMCxtbS5zaG93U3ltYm9sSW5mb0RpYWxvZykoe3N5bWJvbEluZm86aSxzaG93VW5pdDpzLHVuaXREZXNjcmlwdGlvbjp0PT50JiZlP2UuZGVzY3JpcHRpb24odCk6IiIsZGF0ZUZvcm1hdHRlcjp0LmRhdGVGb3JtYXR0ZXIoKX0pfX19fX0pLEc9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTWVyZ2VBbGxTY2FsZXNUb0xlZnQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDg3Mjk4MCkpLHN0YXROYW1lOiJNZXJnZUFsbFNjYWxlc1RvTGVmdCIsb25FeGVjdXRlOigpPT5zLm1lcmdlQWxsU2NhbGVzKCJsZWZ0Iil9fSksaj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5NZXJnZUFsbFNjYWxlc1RvUmlnaHQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM2MzM3MCkpLHN0YXROYW1lOiJNZXJnZUFsbFNjYWxlc1RvUmlnaHQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygicmlnaHQiKX19KSwkPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLk1vdmVUb0xlZnQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDcwNTAxNikpLHN0YXROYW1lOiJNb3ZlU2NhbGVUb0xlZnQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygibGVmdCIpfX0pLFk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTW92ZVRvUmlnaHQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDkxODc5KSksc3RhdE5hbWU6Ik1vdmVTY2FsZVRvUmlnaHQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygicmlnaHQiKX19KSxYPW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuU2NhbGVzLlJlc2V0IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgyMDc4NDUpKSxpY29uSWQ6IkNoYXJ0LlJlc2V0IixzdGF0TmFtZToiUmVzZXRDaGFydCIsb25FeGVjdXRlOigpPT5lLkdVSVJlc2V0U2NhbGVzKCksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs4Mn0KfSksWj1lLm1vZGVsKCkubW9kZWwoKS5zZXNzaW9ucygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LmNoaWxkcygpLnZlcnRsaW5lcy5jaGlsZHMoKS5zZXNzQnJlYWtzLmNoaWxkcygpLnZpc2libGUsUT0oMCxTdS5jcmVhdGVXVkZyb21Qcm9wZXJ0eSkoZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5pc0RXTVByb3BlcnR5KCkpLGVlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXNzaW9uQnJlYWtzLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc5MjQ5NikpLGNoZWNrYWJsZTohMCxjaGVja2VkOloudmFsdWUoKSxzdGF0TmFtZToiVG9nZ2xlU2Vzc2lvbkJyZWFrcyIsZGlzYWJsZWQ6US52YWx1ZSgpLG9uRXhlY3V0ZTooKT0+e1omJnMuc2V0UHJvcGVydHkoWiwhWi52YWx1ZSgpLHptKX0sb25EZXN0cm95OigpPT5RLmRlc3Ryb3koKX19KTtRLnN1YnNjcmliZSgoKCk9PmVlLnVwZGF0ZSh7ZGlzYWJsZWQ6US52YWx1ZSgpfSkpKTtjb25zdCB0ZT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5MaW5lcy5Ub2dnbGVTZXJpZXNQcmljZUxpbmVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4ODAyMjIpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZVByaWNlTGluZSJ9fSx7cHJvcGVydHk6cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dQcmljZUxpbmUsdW5kb01vZGVsOnMsdW5kb1RleHQ6VW19KSxpZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuVW5kbyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzQxMzMpKSxvbkV4ZWN1dGU6KCk9PnsoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiVW5kbyIpLHMudW5kb0hpc3RvcnkoKS51bmRvKCl9LG9uRGVzdHJveTooKT0+e2UubW9kZWwoKS51bmRvSGlzdG9yeSgpLnVuZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmVBbGwoaWUpfSxkaXNhYmxlZDohMCxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuTW9kKzkwLGlzUmVwZWF0QWNjZXB0ZWQ6ITB9fSk7ZS5tb2RlbCgpLnVuZG9IaXN0b3J5KCkudW5kb1N0YWNrKCkub25DaGFuZ2UoKS5zdWJzY3JpYmUoaWUsKCgpPT5pZS51cGRhdGUoe2Rpc2FibGVkOmUubW9kZWwoKS51bmRvSGlzdG9yeSgpLnVuZG9TdGFjaygpLmlzRW1wdHkoKX0pKSk7Y29uc3Qgc2U9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlZG8iLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc5ODMwNykpLG9uRXhlY3V0ZTooKT0+eygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJSZWRvIiksZS5tb2RlbCgpLnVuZG9IaXN0b3J5KCkucmVkbygpfSxvbkRlc3Ryb3k6KCk9PntlLm1vZGVsKCkudW5kb0hpc3RvcnkoKS5yZWRvU3RhY2soKS5vbkNoYW5nZSgpLnVuc3Vic2NyaWJlQWxsKHNlKX0sZGlzYWJsZWQ6ITAsaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLk1vZCs4OSxpc1JlcGVhdEFjY2VwdGVkOiEwfX0pO2UubW9kZWwoKS51bmRvSGlzdG9yeSgpLnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkuc3Vic2NyaWJlKHNlLCgoKT0+c2UudXBkYXRlKHtkaXNhYmxlZDplLm1vZGVsKCkudW5kb0hpc3RvcnkoKS5yZWRvU3RhY2soKS5pc0VtcHR5KCl9KSkpO2NvbnN0IG5lPXtpbnZlcnRTZXJpZXNTY2FsZTpvLGF1dG9TZXJpZXNTY2FsZTphLGxvY2tTZXJpZXNTY2FsZTpsLHJlZ3VsYXJTZXJpZXNTY2FsZTpjLHBlcmNlbnRTZXJpZXNTY2FsZTpkLGluZGV4ZWRUbzEwMFNlcmllc1NjYWxlOnUsbG9nU2VyaWVzU2NhbGU6XyxhcHBseVRpbWVab25lOm0sc3ltYm9sU2VhcmNoOm5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dDaGFuZ2VTeW1ib2wiLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKShwLnQobnVsbCx2b2lkIDAsaSg2OTI3NjcpKSksc3RhdE5hbWU6IkNoYW5nZVN5bWJvbCIsb25FeGVjdXRlOigpPT57KDAsRXQuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZToiIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9LGVuYWJsZU9wdGlvbnNDaGFpbjooMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIn0pfX19KSxjaGFuZ2VJbnRlcnZhbDp5bShlKSx0aW1lU2NhbGVSZXNldDpTLGluc2VydEluZGljYXRvcjp2LGNvbXBhcmVPckFkZDp5LGNoYXJ0UHJvcGVydGllczpiLG1haW5TZXJpZXNQcm9wZXJ0aWVzQWN0aW9uOncsc2NhbGVzUHJvcGVydGllczpDLGxpbmVUb2dnbGVMb2NrOlAsc2VyaWVzSGlkZTp4LHN0dWR5SGlkZTp4LGxpbmVIaWRlOngsc2NhbGVTZXJpZXNPbmx5Ok0sZHJhd2luZ1Rvb2xiYXJBY3Rpb246SSxzdGF5SW5EcmF3aW5nTW9kZUFjdGlvbjpMLGhpZGVBbGxNYXJrczpBLHNob3dTZXJpZXNMYXN0VmFsdWU6RCxzaG93U3ltYm9sTGFiZWxzQWN0aW9uOkUsc2hvd1N0dWR5TGFzdFZhbHVlOlYsc2hvd1N0dWR5UGxvdE5hbWVzQWN0aW9uOk4sc2hvd0hpZ2hMb3dQcmljZUxhYmVsczpXLHNob3dIaWdoTG93UHJpY2VMaW5lczpGLHNob3dDb3VudGRvd246SCxhZGRQbHVzQnV0dG9uOnosc2hvd1N5bWJvbEluZm9EaWFsb2c6VSxtZXJnZUxlZnRTY2FsZXNBY3Rpb246RyxtZXJnZVJpZ2h0U2NhbGVzQWN0aW9uOmosbW92ZVNjYWxlVG9MZWZ0OiQsbW92ZVNjYWxlVG9SaWdodDpZLGNoYXJ0UmVzZXQ6WCxzZXNzaW9uQnJlYWtzOmVlLHNob3dQcmljZUxpbmU6dGUsdW5kbzppZSxyZWRvOnNlfTtpZihuLmdvVG9EYXRlRW5hYmxlZCYmKG5lLmdvdG9EYXRlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dHb1RvRGF0ZSIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc0NTk5OCkpKSwKc3RhdE5hbWU6IkdvVG9EYXRlIixvbkV4ZWN1dGU6KCk9PigwLGdtLnNob3dHb1RvRGF0ZURpYWxvZykoZS5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpKSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuQWx0KzcxfX0pKSwoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X29iamVjdF90cmVlIikpe2NvbnN0IHQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSxzPXt9O2xldCBuO3tjb25zdCBlPSgpPT57d2luZG93LndpZGdldGJhciYmKG49ZT0+dC5zZXRWYWx1ZShlKSx3aW5kb3cud2lkZ2V0YmFyLnZpc2libGUoKS5zdWJzY3JpYmUobix7Y2FsbFdpdGhMYXN0OiEwfSkpfTt3aW5kb3cud2lkZ2V0YmFyP2UoKTp3aW5kb3cuVHJhZGluZ1ZpZXcucmlnaHRXaWRnZXRCYXJTZXR0bGVkPy5zdWJzY3JpYmUocywodD0+e3QmJmUoKX0pLCEwKX1jb25zdCByPSgpPT57Y29uc3QgZT1wLnQobnVsbCx7Y29udGV4dDoiQWN0aW9uIGxhYmVsIn0saSg2NDY4NDgpKTtyZXR1cm4gdC52YWx1ZSgpP2U6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKGUpfTtuZS5wYW5lT2JqZWN0VHJlZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuT2JqZWN0VHJlZS5TaG93IixvcHRpb25zOntsYWJlbDpyKCksc3RhdE5hbWU6Ik9iamVjdHNUcmVlIixvbkV4ZWN1dGU6KCk9PmUuc2hvd09iamVjdHNUcmVlUGFuZWxPckRpYWxvZygpLG9uRGVzdHJveTooKT0+e3dpbmRvdy53aWRnZXRiYXI/LnZpc2libGUoKS51bnN1YnNjcmliZShuKSx3aW5kb3cuVHJhZGluZ1ZpZXcucmlnaHRXaWRnZXRCYXJTZXR0bGVkPy51bnN1YnNjcmliZUFsbChzKSx0LmRlc3Ryb3koKX19fSksdC5zdWJzY3JpYmUoKCgpPT57bmUucGFuZU9iamVjdFRyZWU/LnVwZGF0ZSh7bGFiZWw6cigpfSl9KSl9aWYoKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicHJvcGVydHlfcGFnZXMiKSYmKG5lLmZvcm1hdD1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LlNob3dTZXR0aW5nc0RpYWxvZyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiRWRpdFNlbGVjdGVkT2JqZWN0IixvbkV4ZWN1dGU6KCk9PmUuc2hvd1NlbGVjdGVkU291cmNlc1Byb3BlcnRpZXMoKX19KSksIWUucmVhZE9ubHkoKSl7Y29uc3Qgcz1mdW5jdGlvbihlKXtjb25zdCB0PWZtKGUpLGk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlbW92ZUFsbExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6dC5kcmF3aW5ncy5sYWJlbCxkaXNhYmxlZDp0LmRyYXdpbmdzLmRpc2FibGVkLHN0YXROYW1lOiJSZW1vdmVBbGxEcmF3aW5nVG9vbHMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxEcmF3aW5nVG9vbHMoKSxvbkRlc3Ryb3k6KCk9PmUubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKGUpfX0pLHM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlbW92ZUFsbEluZGljYXRvcnMiLG9wdGlvbnM6e2xhYmVsOnQuc3R1ZGllcy5sYWJlbCxkaXNhYmxlZDp0LnN0dWRpZXMuZGlzYWJsZWQsc3RhdE5hbWU6IlJlbW92ZUFsbEluZGljYXRvcnMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxTdHVkaWVzKCl9fSksbj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUmVtb3ZlQWxsSW5kaWNhdG9yc0FuZExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6dC5hbGwubGFiZWwsZGlzYWJsZWQ6dC5hbGwuZGlzYWJsZWQsc3RhdE5hbWU6IlJlbW92ZUFsbEluZGljYXRvcnNBbmREcmF3aW5nVG9vbHMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxTdHVkaWVzRHJhd2luZ1Rvb2xzKCl9fSk7cmV0dXJuIGUubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZShlLCgoKT0+e2NvbnN0e3N0dWRpZXM6dCxkcmF3aW5nczpyLGFsbDpvfT1mbShlKTtzLnVwZGF0ZSh7ZGlzYWJsZWQ6dC5kaXNhYmxlZCxsYWJlbDp0LmxhYmVsfSksaS51cGRhdGUoe2Rpc2FibGVkOnIuZGlzYWJsZWQsbGFiZWw6ci5sYWJlbH0pLG4udXBkYXRlKHtkaXNhYmxlZDpvLmRpc2FibGVkLGxhYmVsOm8ubGFiZWx9KX0pKSx7ZHJhd2luZ3M6aSxzdHVkaWVzOnMsYWxsOm59fShlKTtuZS5wYW5lUmVtb3ZlQWxsU3R1ZGllcz1zLnN0dWRpZXMsbmUucGFuZVJlbW92ZUFsbERyYXdpbmdUb29scz1zLmRyYXdpbmdzLG5lLnBhbmVSZW1vdmVBbGxTdHVkaWVzRHJhd2luZ1Rvb2xzPXMuYWxsLG5lLmFwcGx5U3R1ZGllc1RvQWxsQ2hhcnRzPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5BcHBseUluZGljYXRvcnNUb0FsbENoYXJ0cyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTI0MTc2KSksc3RhdE5hbWU6IkFwcGx5SW5kaWNhdG9yc1RvQWxsQ2hhcnRzIixvbkV4ZWN1dGU6KCk9PmUuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuYXBwbHlJbmRpY2F0b3JzVG9BbGxDaGFydHMoZSl9fSksbmUuc3R1ZHlSZW1vdmU9bmUubGluZVJlbW92ZT1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LlJlbW92ZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTExMjYpKSxpY29uSWQ6IkNoYXJ0LlJlbW92ZVNlbGVjdGVkT2JqZWN0IixzdGF0TmFtZToiUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLG9uRXhlY3V0ZTooKT0+eyhlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk/P2UpLnJlbW92ZVNlbGVjdGVkU291cmNlcygpfSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5pc01hY0tleWJvYXJkPzg6NDZ9fSl9aWYoISgwLEoub25XaWRnZXQpKCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInRleHRfbm90ZXMiKSYmKG5lLmFkZFRvVGV4dE5vdGVzPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5zeW1ib2xXVigpLnNwYXduKCkscz1uZXcgZXMuQWN0aW9uKHsKYWN0aW9uSWQ6Ik5vdGUuQ3JlYXRlIixvcHRpb25zOntpY29uSWQ6IlRleHROb3RlLkFkZCIsaWNvbjpKXy5pY29ucy5nZXQoIlRleHROb3RlLkFkZCIpLGxhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzMDIyNCkpLHN0YXROYW1lOiJBZGRUb1RleHROb3RlcyIsb25FeGVjdXRlOigpPT57d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e3dpbmRvdy53aWRnZXRiYXI/LnNldFBhZ2UoImJhc2UiKSwoMCxYXy5jcmVhdGVTeW1ib2xOb3RlKShlLnN5bWJvbFdWKCkudmFsdWUoKSwoMCxZXy5pc01vYmlsZSkoKSl9KSx7c291cmNlOiJBZGQgdGV4dCBub3RlIGluIGNoYXJ0IGNvbnRleHQgbWVudSJ9KX0saG90a2V5SGFzaDpLLk1vZGlmaWVycy5BbHQrNzgsaG90a2V5R3JvdXA6ZS5ob3RrZXlzKCksb25EZXN0cm95OigpPT50LmRlc3Ryb3koKX19KTtyZXR1cm4gdC5zdWJzY3JpYmUoKHQ9Pntjb25zdCBuPWUubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk/LnByb19uYW1lLHI9ZS5tb2RlbCgpLm1vZGVsKCkuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKG4/P3QpLG89KDAsWl8uc2FmZVNob3J0TmFtZSkodCk7cy51cGRhdGUoe2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM0MzMzMSkpLmZvcm1hdCh7c3ltYm9sOnI/LmFsaWFzTmFtZT8/b30pfSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksc30oZSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYoISgwLEouaXNEZXNrdG9wQXBwKSgpfHwoMCwkXy5kZXNrdG9wVmVyc2lvbklzTGVzcykoIjEuMC4xMCIpfHwoMCxKLmlzRGVza3RvcEFwcCkoKSYmISgwLCRfLmRlc2t0b3BWZXJzaW9uSXNMZXNzKSgiMS4wLjExIikpKXtjb25zdCB0PW5lLmFwcGx5Q29sb3JUaGVtZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuVGhlbWUuQXBwbHkiLG9wdGlvbnM6e25hbWU6ImFwcGx5LWNvbG9yLXRoZW1lIixsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgzNTQ2NzYpKSxzdWJJdGVtczpbbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkxvYWRpbmciLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM3MjczMikpfX0pXSxzdGF0TmFtZToiQ29sb3JUaGVtZSIsb25EZXN0cm95OigpPT57d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmVBbGwodCksay50aGVtZUxpc3RDaGFuZ2VkLnVuc3Vic2NyaWJlQWxsKHQpfX0sb3B0aW9uc0xvYWRlcjooKT0+dW0oZSl9KSxzPSgpPT5wbShlLG5lLmFwcGx5Q29sb3JUaGVtZSk7d2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHQscyksay50aGVtZUxpc3RDaGFuZ2VkLnN1YnNjcmliZSh0LHMpfSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfc291cmNlX2NvZGUiKSYmKG5lLnZpZXdTb3VyY2VDb2RlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5JbmRpY2F0b3IuUGluZVNvdXJjZSIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc5MzQwMikpKSxzdGF0TmFtZToiT3BlblNlbGVjdGVkT2JqZWN0U291cmNlIixvbkV4ZWN1dGU6KCk9Pntjb25zdFtlXT1zLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCk7aWYoISgwLHRpLmlzU3R1ZHkpKGUpKXJldHVybjtjb25zdCB0PWUubWV0YUluZm8oKTt0JiZ0LnNjcmlwdElkUGFydCYmdC5waW5lJiYoMCxfbS5hY3RpdmF0ZVBpbmVFZGl0b3JEaWFsb2cpKHtzY3JpcHRJbmZvOntzY3JpcHQ6e3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCx2ZXJzaW9uOnQucGluZS52ZXJzaW9ufX0sb3BlblNvdXJjZUlkOiJzdHVkeV9tZW51In0pLmNhdGNoKGVtLnNob3dTY3JpcHRJbmZvRXJyb3JOb3RpY2VEaWFsb2cpfX19KSksbmUuaGlkZUFsbExpbmVUb29scz1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5Ub2dnbGVWaXNpYmlsaXR5LkFsbExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTg4MjYwKSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVIaWRlTWFya3NPbkJhcnMiLGhvdGtleUdyb3VwOmUuaG90a2V5cygpLGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuTW9kK0suTW9kaWZpZXJzLkFsdCs3Mn19LHtwcm9wZXJ0eTpULmhpZGVNYXJrc09uQmFycygpLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OlRtLGNhbGxiYWNrOigpPT4oMCxSdC50b2dnbGVIaWRlTW9kZSkoKX0pLG5lLm9wZW5UYWJsZVZpZXc9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk9wZW5UYWJsZVZpZXciLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzODMzNikpLHN0YXROYW1lOiJUYWJsZSB2aWV3IixvbkV4ZWN1dGU6YXN5bmMoKT0+e2NvbnN0e3Nob3dDaGFydFRhYmxlVmlld0RpYWxvZzp0fT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIwMzM3KSxpLmUoMjkyOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDk0OTQ4KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMjc1MTcpLGkuZSg5ODA4NCksaS5lKDcwODE1KSxpLmUoNTAyMjEpLGkuZSgzMzUxNSksaS5lKDE0NjI1KSxpLmUoOTM0MTYpLGkuZSg2NTcpLGkuZSg2MDcwKSxpLmUoNzY2NSksaS5lKDUyOTIwKSxpLmUoNjI2MDApLGkuZSg3NTIxNyksaS5lKDk4Njk2KSxpLmUoNzQ2MzYpLGkuZSg3MTk5MSksaS5lKDQ5OTk3KSxpLmUoMzIzODcpLGkuZSgyMzc0MyksaS5lKDY2MjM1KSxpLmUoMzY5MzgpLGkuZSg2NzkzMCksaS5lKDQ2NjUwKV0pLnRoZW4oaS5iaW5kKGksNzI1OTE4KSk7dCh7d2lkZ2V0OmUuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuYWN0aXZlQ2hhcnRXaWRnZXR9KX19fSk7Y29uc3QgcmU9KDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iKSxvZT1zLm1haW5TZXJpZXMoKTt7Y29uc3QgZT1uZS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWw9bmV3IGlzKHsKYWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZVByZVBvc3RNYXJrZXRMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpyZT9wLnQobnVsbCx2b2lkIDAsaSg0NTgyNjIpKTpwLnQobnVsbCx2b2lkIDAsaSg1NjUxNjEpKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxkaXNhYmxlZDohKG9lLmlzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudmFsdWUoKXx8b2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnZhbHVlKCkpLHN0YXROYW1lOiJUb2dnbGVQcmVQb3N0TWFya2V0UHJpY2VMYWJlbCIsb25EZXN0cm95OigpPT57b2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS51bnN1YnNjcmliZUFsbChlKSxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudW5zdWJzY3JpYmVBbGwoZSl9fX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwsdW5kb01vZGVsOnMsdW5kb1RleHQ6cmU/Vm06Um19KTtvZS5pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnN1YnNjcmliZShlLCh0PT57ZS51cGRhdGUoe2Rpc2FibGVkOiF0LnZhbHVlKCl9KX0pKSxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkuc3Vic2NyaWJlKGUsKHQ9PntlLnVwZGF0ZSh7ZGlzYWJsZWQ6IXQudmFsdWUoKX0pfSkpfXtjb25zdCBlPW5lLnNob3dQcmVQb3N0TWFya2V0UHJpY2VMaW5lPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZVByZVBvc3RNYXJrZXRQcmljZUxpbmVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpyZT9wLnQobnVsbCx2b2lkIDAsaSg0NjY4NTUpKTpwLnQobnVsbCx2b2lkIDAsaSg0MjExMCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLGRpc2FibGVkOiEob2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS52YWx1ZSgpfHxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudmFsdWUoKSksc3RhdE5hbWU6IlRvZ2dsZVByZVBvc3RNYXJrZXRQcmljZUxpbmUiLG9uRGVzdHJveTooKT0+e29lLmlzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudW5zdWJzY3JpYmVBbGwoZSksb2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnVuc3Vic2NyaWJlQWxsKGUpfX19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldC5jaGlsZHMoKS52aXNpYmxlLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OnJlP05tOkJtfSk7b2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS5zdWJzY3JpYmUoZSwodD0+e2UudXBkYXRlKHtkaXNhYmxlZDohdC52YWx1ZSgpfSl9KSksb2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnN1YnNjcmliZShlLCh0PT57ZS51cGRhdGUoe2Rpc2FibGVkOiF0LnZhbHVlKCl9KX0pKX17Y29uc3Qgbz1uZS5zaG93U2VyaWVzUHJldkNsb3NlVmFsdWU9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5MYWJlbHMuVG9nZ2xlU3ltYm9sUHJldkNsb3NlVmFsdWVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4ODIxNSkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVTeW1ib2xQcmV2Q2xvc2VWYWx1ZSIsb25EZXN0cm95OigpPT5zLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnVuc3Vic2NyaWJlQWxsKG8pfX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzUHJldkNsb3NlVmFsdWUsdW5kb01vZGVsOnMsdW5kb1RleHQ6TW19KTtzLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnN1YnNjcmliZShvLCgoKT0+e28udXBkYXRlKHtkaXNhYmxlZDpzLm1haW5TZXJpZXMoKS5pc0RXTSgpfSl9KSk7Y29uc3QgYT1uZS5zaG93U2VyaWVzUHJldkNsb3NlTGluZT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5MaW5lcy5Ub2dnbGVTZXJpZXNQcmV2Q2xvc2VMaW5lVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzk0MzMxKSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN5bWJvbFByZXZDbG9zZUxpbmUiLG9uRGVzdHJveTooKT0+cy5tYWluU2VyaWVzKCkub25SZXN0YXJ0ZWQoKS51bnN1YnNjcmliZUFsbChhKX19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd1ByZXZDbG9zZVByaWNlTGluZSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpJbX0pO3MubWFpblNlcmllcygpLm9uUmVzdGFydGVkKCkuc3Vic2NyaWJlKGEsKCgpPT57YS51cGRhdGUoe2Rpc2FibGVkOnMubWFpblNlcmllcygpLmlzRFdNKCl9KX0pKSxuZS5zaG93QmlkQXNrTGFiZWxzPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZUJpZEFza0xhYmVsc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzMTUwNCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVCaWRBc2tMYWJlbHMifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93QmlkQXNrTGFiZWxzLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OkRtfSksbmUuc2hvd0JpZEFza0xpbmVzPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZUJpZEFza0xpbmVzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTE5Mzc2KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZUJpZEFza0xpbmVzIn19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmlkQXNrLmNoaWxkcygpLnZpc2libGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6RW19KQo7Y29uc3QgbD1lLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0Q2FuQmVNb3ZlZCgpLnNwYXduKCksYz1uZS5tb3ZlQ2hhcnRBY3Rpb249bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk1vdmVDaGFydEluTGF5b3V0IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgyODgzOTYpKSxzdWJJdGVtczpbbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk1vdmVDaGFydEluTGF5b3V0LkZvcndhcmQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDU5NTgzOCkpLHN0YXROYW1lOiJNb3ZlQ2hhcnRSaWdodCIsb25FeGVjdXRlOigpPT5lLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLm1vdmVBY3RpdmVDaGFydFdpdGhVbmRvKCExKX19KSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTW92ZUNoYXJ0SW5MYXlvdXQuQmFjayIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNTAwMTQ3KSksc3RhdE5hbWU6Ik1vdmVDaGFydExlZnQiLG9uRXhlY3V0ZTooKT0+ZS5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5tb3ZlQWN0aXZlQ2hhcnRXaXRoVW5kbyghMCl9fSldLG9uRGVzdHJveTooKT0+bC5kZXN0cm95KCl9fSk7aWYobC5zdWJzY3JpYmUoKGU9PmMudXBkYXRlKHtkaXNhYmxlZDohZX0pKSx7Y2FsbFdpdGhMYXN0OiEwfSksbi5hZGRUb1dhdGNobGlzdEVuYWJsZWQpe2NvbnN0IGk9e2hvdGtleUdyb3VwOnQsc3RhdE5hbWU6IkFkZFRvV2F0Y2hsaXN0In07bmUuYWRkVG9XYXRjaGxpc3Q9bmV3IGxtKGUsaSksdC5hZGQoe2Rlc2M6IkFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0Iixob3RrZXk6Sy5Nb2RpZmllcnMuTW9kK0suTW9kaWZpZXJzLkFsdCs4NyxoYW5kbGVyOigpPT4oMCxRXy5zaG93QWRkU3ltYm9sRGlhbG9nKShbdG0oZSldKX0pfX1yZXR1cm4gbmV9dmFyIHFtPWkoMzIyNjAxKSwkbT1pKDc0OTQwMik7aSgyODI3MTApO2NvbnN0IFltPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnRXaWRnZXQiLHtjb2xvcjoiIzYwNiJ9KSxLbT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyIpLFhtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImhpZGUge3RpdGxlfSIscC50KG51bGwsdm9pZCAwLGkoNTg5ODE1KSkpLFptPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInVubG9jayB7dGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSg3NzA2MzkpKSksSm09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibG9jayB7dGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSg2MjA5MjcpKSksUW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHNlc3Npb24iLHAudChudWxsLHZvaWQgMCxpKDcyMzQyNikpKTtsZXQgZWc9bnVsbDtpZihsb2NhdGlvbi5zZWFyY2gudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygibG9nY2FudmFzc2F2ZXJlc3RvcmVsZWFrcyIpKXtpZighSi5pc0Nocm9tZSl0aHJvdyBuZXcgRXJyb3IoIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBzYXZlL3Jlc3RvcmUgbGVhayBkZXRlY3Rpb24gaXMgYXZhaWxhYmxlIGZvciBub3cgaW4gQ2hyb21lIG9ubHkiKTtpLmUoMTYxMjYpLnRoZW4oaS5iaW5kKGksNDI4OTEyKSkudGhlbigoZT0+e2UuZW5hYmxlQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2F2ZVJlc3RvcmVMZWFrc0RldGVjdGlvbigpLGVnPWUucmVwb3J0Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2F2ZVJlc3RvcmVMZWFrc30pKX1jb25zdCB0Zz17YWRkVG9XYXRjaGxpc3RFbmFibGVkOiEwLHNob3dGaW5hbmNpYWxzRW5hYmxlZDohMSxzb3VyY2VTZWxlY3Rpb25FbmFibGVkOiEwLHByb3BlcnR5UGFnZXNFbmFibGVkOiEwLHBhbmVDb250ZXh0TWVudUVuYWJsZWQ6ITAscHJpY2VTY2FsZUNvbnRleHRNZW51RW5hYmxlZDohMCxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiExLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMSxnb1RvRGF0ZUVuYWJsZWQ6ITEsbWFya2V0U3RhdHVzV2lkZ2V0RW5hYmxlZDohMCxjaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkOiEwLGRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZDohMCxwYW5lQ29udHJvbHNFbmFibGVkOiEwLGlzU3ltYm9sQXZhaWxhYmxlOmU9PlByb21pc2UucmVzb2x2ZSghMCksbGVnZW5kV2lkZ2V0RW5hYmxlZDohMCxjaGFydEV2ZW50c0VuYWJsZWQ6ITAsbmV3c05vdGlmaWNhdGlvbnNFbmFibGVkOiEwLGVzZEVuYWJsZWQ6ITEsbGF0ZXN0VXBkYXRlc0VuYWJsZWQ6ITEsY29udGludW91c0NvbnRyYWN0U3dpdGNoZXNFbmFibGVkOiExLGZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25FbmFibGVkOiExLGNyb3BwZWRUaWNrTWFya3M6ITAsY291bnRkb3duRW5hYmxlZDohMCxsYXN0UHJpY2VBbmltYXRpb25FbmFibGVkOiEwLHVzZUtpbmV0aWNTY3JvbGw6Si5DaGVja01vYmlsZS5hbnkoKSxpbmRpY2F0b3JzRGlhbG9nU2hvcnRjdXRFbmFibGVkOiEwLGhhbmRsZVNjYWxlOnttb3VzZVdoZWVsOiEwLHBpbmNoOiEwLGF4aXNQcmVzc2VkTW91c2VNb3ZlOnt0aW1lOiEwLHByaWNlOiEwfX0saGFuZGxlU2Nyb2xsOnttb3VzZVdoZWVsOiEwLHByZXNzZWRNb3VzZU1vdmU6ITAsaG9yelRvdWNoRHJhZzohMCx2ZXJ0VG91Y2hEcmFnOiEwfX0saWc9KDAsR3IuZXh0cmFjdFRoZW1lZENvbG9ycykoeHQubGlnaHRUaGVtZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcyx4dC5kYXJrVGhlbWUuY29udGVudC5jaGFydFByb3BlcnRpZXMpO3ZhciBzZztmdW5jdGlvbiBuZyhlLHQsaSxzPTApe2NvbnN0IG49dC5tYWluU2VyaWVzKCkuc3luY01vZGVsKCkscj1lLm1haW5TZXJpZXMoKS5zeW5jTW9kZWwoKTtsZXQgbz1pO2lmKG51bGwhPT1uJiZudWxsIT09cil7Y29uc3QgdD1lLmNyZWF0ZVN5bmNQb2ludChuLnN5bmNTb3VyY2VUYXJnZXQoKSxyLnN5bmNTb3VyY2VUYXJnZXQoKSk7MCE9PXMmJihpPW4ucHJvamVjdFRpbWUoaSxzKSksbz10LnNvdXJjZVRpbWVUb1RhcmdldFRpbWUoaSl9cmV0dXJuIGUudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hJbmRleChvLHImJnIuZGlzdGFuY2UuYmluZChyKSl9IWZ1bmN0aW9uKGUpewplW2UuU2hvd1RpbWVBeGlzTWluQ2hhcnRIZWlnaHQ9NjFdPSJTaG93VGltZUF4aXNNaW5DaGFydEhlaWdodCIsZVtlLlNob3dQcmljZUF4aXNNaW5DaGFydFdpZHRoPTEwMl09IlNob3dQcmljZUF4aXNNaW5DaGFydFdpZHRoIn0oc2d8fChzZz17fSkpO2NvbnN0IHJnPW5ldyBTZXQoWyJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIiwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiLCJPdmVybGF5QHR2LWJhc2ljc3R1ZGllcyIsIkRpdmlkZW5kc0B0di1iYXNpY3N0dWRpZXMiLCJFYXJuaW5nc0B0di1iYXNpY3N0dWRpZXMiLCJTcGxpdHNAdHYtYmFzaWNzdHVkaWVzIiwiQmFyU2V0Q29udGludW91c1JvbGxEYXRlc0B0di1jb3Jlc3R1ZGllcyIsIlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyIsIkluYWN0aXZpdHlHYXBzQHR2LWJhc2ljc3R1ZGllcyIsIlZiUFNlc3Npb25zUm91Z2hAdHYtdm9sdW1lYnlwcmljZSIsIkFuY2hvcmVkVldBUEB0di1iYXNpY3N0dWRpZXMiLCJSZWdyZXNzaW9uVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQQW5jaG9yZWRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQRml4ZWRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQRml4ZWRAdHYtdm9sdW1lYnlwcmljZSIsIkxvbmdTaG9ydFBvc2l0aW9uQHR2LWJhc2ljc3R1ZGllcyIsIlJlcGxheVN0cmF0ZWd5QHR2LXNjcmlwdGluZyJdKSxvZz0oMCxidC5kZWZhdWx0KSgoKCk9Pnt3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5zZXRJc05vbkNvdW50ZWRTdHVkeUZuKChlPT5yZy5oYXMoZSkpKX0pKTt2YXIgYWc7IWZ1bmN0aW9uKGUpe2UuQ2FuY2VsZWQ9ImNhbmNlbGVkIixlLkxpbWl0cz0ibGltaXRzIn0oYWd8fChhZz17fSkpO2NsYXNzIGxnIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoYENyZWF0ZVN0dWR5RXJyb3I6ICR7ZX1gKSx0aGlzLnJlYXNvbj1lfX1sZy5SZWFzb25zPWFnO2NsYXNzIGNne2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWN0aXZlUGFuZVdpZGdldD1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fbWFpbkRpdj1udWxsLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuX2VsVG9vbHRpcERpdj1udWxsLHRoaXMuX3BhbmVXaWRnZXRzPW5ldyBoLldhdGNoZWRWYWx1ZShbXSksdGhpcy5fdGltZUF4aXNXaWRnZXQ9bnVsbCx0aGlzLl9wYW5lU2VwYXJhdG9ycz1bXSx0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbj1udWxsLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj1udWxsLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplckhhc0NoYW5nZXM9bnVsbCx0aGlzLl9tb2RlbENyZWF0ZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXA9bmV3IE1hcCx0aGlzLl9iYWNrZ3JvdW5kVG9wVGhlbWU9bmV3IGguV2F0Y2hlZFZhbHVlKCJsaWdodCIpLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPW5ldyBoLldhdGNoZWRWYWx1ZSgibGlnaHQiKSx0aGlzLl9iYWNrZ3JvdW5kQm90dG9tVGhlbWU9bmV3IGguV2F0Y2hlZFZhbHVlKCJsaWdodCIpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvclNwYXduPW51bGwsdGhpcy5fYmFja2dyb3VuZEJvdHRvbUNvbG9yU3Bhd249bnVsbCx0aGlzLl9saHNBeGVzV2lkdGg9MCx0aGlzLl9yaHNBeGVzV2lkdGg9MCx0aGlzLl9saHNQcmljZUF4aXNXaWR0aENoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcmhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2hvdGtleXNMaXN0ZW5lcj1udWxsLHRoaXMuX21vdXNlV2hlZWxIZWxwZXI9bnVsbCx0aGlzLl9vbldoZWVsQm91bmQ9bnVsbCx0aGlzLl9qdXN0QWN0aXZhdGVkPSExLHRoaXMuX2luaXRlZD0hMSx0aGlzLl9jb250YWluc0RhdGE9ITEsdGhpcy5faW5pdGlhbExvYWRpbmc9ITEsdGhpcy5fb25XaWRnZXQ9ITEsdGhpcy5fd2lkZ2V0Q3VzdG9tZXI9dm9pZCAwLHRoaXMuX2RlZkludGVydmFsPW51bGwsdGhpcy5fZGVmU3R5bGU9bnVsbCx0aGlzLl9kZWZUaW1lZnJhbWU9bnVsbCx0aGlzLl9kZWZNZXRyaWM9bnVsbCx0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleT1udWxsLHRoaXMuX2ludmFsaWRhdGlvbk1hc2s9bnVsbCx0aGlzLl9kcmF3UGxhbm5lZD0hMSx0aGlzLl9kcmF3UmFmSWQ9MCx0aGlzLl9kcmF3VGltZT1uZXcgaC5XYXRjaGVkVmFsdWUocGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX2luTG9hZGluZ1N0YXRlPSExLHRoaXMuX3RpbWluZ3NNZXRlcj1udWxsLHRoaXMuX3RhZ3NDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3JlZHJhdz1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9pc1Zpc2libGU9bmV3IGguV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9jb2xsYXBzZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9kYXRhV2luZG93V2lkZ2V0PW51bGwsdGhpcy5fcmVzaXplSGFuZGxlcj1udWxsLHRoaXMuX3NwaW5uZXI9bnVsbCx0aGlzLl9zeW1ib2xXVj1uZXcgaC5XYXRjaGVkVmFsdWUsdGhpcy5fcmVzb2x1dGlvbldWPW5ldyBoLldhdGNoZWRWYWx1ZSx0aGlzLl9hY3Rpb25zPW51bGwsdGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZD10aGlzLl91cGRhdGVUaGVtZWRDb2xvci5iaW5kKHRoaXMpLHRoaXMuX2Rpc2Nvbm5lY3RlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZWNvbm5lY3RCYWlsb3V0PW5ldyBmLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9jaGFydFdpZGdldEluaXRpYWxpemVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2Fib3V0VG9CZURlc3Ryb3llZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlPW51bGwsdGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI9bnVsbCx0aGlzLl9jaGFydFBhaW50ZWRQcm9taXNlPW51bGwsdGhpcy5fbm9FeGNoYW5nZVN1YnNjcnB0aW9uV2FybmluZz1udWxsLHRoaXMuX2hpcDNEaXNjbGFpbWVyUmVzb3VyY2U9bnVsbCx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlPW5ldyB3bix0aGlzLl9vblpvb209bmV3IGYuRGVsZWdhdGUsdGhpcy5fb25TY3JvbGw9bmV3IGYuRGVsZWdhdGUsCnRoaXMuX2F2YWlsYWJsZVNjcmVlbj1udWxsLHRoaXMuX3dpZGdldFN5bWJvbENoYW5nZVJlc3RyaWN0aW9ucz1udWxsLHRoaXMuX2hvdmVyZWRQcmljZUF4ZXM9bmV3IFNldCx0aGlzLl9hbnlBeGlzSG92ZXJlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9pc0hvdmVyZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9hY3RpdmVIaW50PW51bGwsdGhpcy5fZXZlbnRIaW50RGVmZXJyZWRQcm9taXNlPW51bGwsdGhpcy5fd2FybmluZ0hpbnREZWZlcnJlZFByb21pc2U9bnVsbCx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXM9e30sdGhpcy5fYXJpYVByaWNlRGVzY3JpcHRpb249bnVsbCx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1udWxsLHRoaXMuX2JhcnNCdXR0b249bnVsbCx0aGlzLl9tb2RlbFdWPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zPSgpPT57Y29uc3QgZT10aGlzLmFjdGlvbnMoKSx0PXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksaT10LnByaWNlU2NhbGUoKSxzPXQucHJvcGVydGllcygpLG49aS5pc0xvY2tTY2FsZSgpLHI9Nj09PXMuY2hpbGRzKCkuc3R5bGUudmFsdWUoKTtlLnBlcmNlbnRTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzUGVyY2VudGFnZSgpfSksZS5sb2dTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzTG9nKCl9KSxlLnJlZ3VsYXJTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzUmVndWxhcigpfSksZS5pbmRleGVkVG8xMDBTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzSW5kZXhlZFRvMTAwKCl9KSxlLmludmVydFNlcmllc1NjYWxlLnVwZGF0ZSh7Y2hlY2tlZDppLmlzSW52ZXJ0ZWQoKX0pLGUubG9ja1Nlcmllc1NjYWxlLnVwZGF0ZSh7Y2hlY2tlZDppLmlzTG9ja1NjYWxlKCl9KSxlLmF1dG9TZXJpZXNTY2FsZS51cGRhdGUoe2NoZWNrZWQ6aS5pc0F1dG9TY2FsZSgpLGRpc2FibGVkOmkucHJvcGVydGllcygpLmNoaWxkcygpLmF1dG9TY2FsZURpc2FibGVkLnZhbHVlKCl9KX0sdGhpcy5faW52YWxpZGF0aW9uSGFuZGxlcj1lPT57aWYoIShlIGluc3RhbmNlb2YgTGUuSW52YWxpZGF0aW9uTWFzaykpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1hc2siKTtudWxsIT09dGhpcy5faW52YWxpZGF0aW9uTWFzaz90aGlzLl9pbnZhbGlkYXRpb25NYXNrLm1lcmdlKGUpOnRoaXMuX2ludmFsaWRhdGlvbk1hc2s9ZSx0aGlzLl9kcmF3UGxhbm5lZHx8KHRoaXMuX2RyYXdQbGFubmVkPSEwLHRoaXMuX29wdGlvbnMudmlzaWJsZS53aGVuKCgoKT0+e2NvbnN0IGU9IWRvY3VtZW50LmhpZGRlbix0PXRoaXMuc2NyZWVuJiZ0aGlzLnNjcmVlbi5pc1Nob3duKCk7bnVsbCE9PXRoaXMuX3RpbWluZ3NNZXRlciYmZSYmIXQmJnRoaXMuX3RpbWluZ3NNZXRlci5zdGFydFdhaXRpbmdEcmF3KCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcGFyZW50KS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KTt0aGlzLl9kcmF3UmFmSWQ9aS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5faW52YWxpZGF0aW9uUkFGQ2FsbGJhY2suYmluZCh0aGlzKSl9KSkpfSx0aGlzLl9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZD1lPT57ZT90aGlzLl9vbkNvbm5lY3Rpb24oKTp0aGlzLl9vbkRpc2Nvbm5lY3QoKX0sdGhpcy5fc3Vic2NyaWJlVG9CYW5JbmZvPWU9PntlP3RoaXMuX3NwaW5uZXI/LnN0b3AoKTp0aGlzLl9zcGlubmVyPy5zcGluKCl9LHRoaXMuX2lkPXQsdGhpcy5fb3B0aW9ucz0oMCxhLm1lcmdlKSgoMCxhLmNsb25lKSh0ZyksZSksdGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzPWUuZXh0ZXJuYWxTZXJ2aWNlcyx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249dGhpcy5fb3B0aW9ucy5jaGFydFdpZGdldENvbGxlY3Rpb24sdGhpcy5faXNBY3RpdmU9bmV3IGguV2F0Y2hlZFZhbHVlKCEhdGhpcy5fb3B0aW9ucy5pc0FjdGl2ZSksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVj10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQuc3Bhd24oKSx0aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyYmKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwPXRoaXMuX29wdGlvbnMuY3VzdG9tTGVnZW5kV2lkZ2V0RmFjdG9yaWVzKSx0aGlzLl9zdWJzY3JpYmVUb0RyYXdpbmdTdGF0ZSgpLHRoaXMud2l0aE1vZGVsKHRoaXMsKCgpPT57Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmJhY2tncm91bmRUb3BDb2xvcigpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaGVtZWRDb2xvckJvdW5kKSxlLmJhY2tncm91bmRDb2xvcigpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaGVtZWRDb2xvckJvdW5kKX0pKTtjb25zdCBzPSgwLHUuY29tYmluZSkoKGU9PltlP2UubWFpblNlcmllcygpLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKTpuZXcgaC5XYXRjaGVkVmFsdWUobnVsbCkub3duZXJzaGlwKCldKSx0aGlzLl9tb2RlbFdWLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fc3ltYm9sSW5mb1dWPSgwLHUuYWNjdW11bGF0ZSkoKGU9PmVbMF0pLHMub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpLCgwLFEuZ2V0Qm9vbCkoImhpcDMuZGlzY2xhaW1lckFjY2VwdGVkIil8fCh0aGlzLl9oaXAzRGlzY2xhaW1lclJlc291cmNlPW5ldyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcihpLmUoNTk3OSkudGhlbihpLmJpbmQoaSwzNjM2NTMpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLkhpcDNEaXNjbGFpbWVyKHRoaXMuX21vZGVsV1Yud2Vha1JlZmVyZW5jZSgpKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpKSwKdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlPW5ldyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbaS5lKDUyODgyKSxpLmUoNjA5NjkpXSkudGhlbihpLmJpbmQoaSwyNDU4NjEpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLkVycm9yUmVuZGVyZXIobmV3IGguV2F0Y2hlZFZhbHVlKHRoaXMpKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpLHRoaXMuX3Njcm9sbEhlbHBlcj1uZXcgWnQodGhpcyksdGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI9QnQuZ2V0SW5zdGFuY2UoKSx0aGlzLl9wcm9wZXJ0aWVzPW5ldyBHci5EZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOiJjaGFydHByb3BlcnRpZXMiLHVzZVVzZXJQcmVmZXJlbmNlczp0aGlzLl9vcHRpb25zLnVzZVVzZXJDaGFydFByZWZlcmVuY2VzLGV4Y2x1ZGVkRGVmYXVsdHNLZXlzOlsic2NhbGVzUHJvcGVydGllcy5heGlzSGlnaGxpZ2h0Q29sb3IiLCJzY2FsZXNQcm9wZXJ0aWVzLmF4aXNMaW5lVG9vbExhYmVsQmFja2dyb3VuZENvbG9yQWN0aXZlIiwic2NhbGVzUHJvcGVydGllcy5heGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbiIsInNjYWxlc1Byb3BlcnRpZXMuc2hvd1ByaWNlU2NhbGVDcm9zc2hhaXJMYWJlbCIsInNjYWxlc1Byb3BlcnRpZXMuc2hvd1RpbWVTY2FsZUNyb3NzaGFpckxhYmVsIiwic2NhbGVzUHJvcGVydGllcy5jcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodCIsInNjYWxlc1Byb3BlcnRpZXMuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yRGFyayIsImFsZXJ0c1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyIsInBhbmVQcm9wZXJ0aWVzLmdyaWRMaW5lc01vZGUiXSxleGNsdWRlZFRlbXBsYXRlS2V5czpbInRpbWV6b25lIiwidHJhZGluZ1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyIsImNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcyIsInByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUiLCJwYW5lUHJvcGVydGllcy50b3BNYXJnaW4iLCJwYW5lUHJvcGVydGllcy5ib3R0b21NYXJnaW4iLCJ2b2x1bWVQYW5lU2l6ZSIsImFsZXJ0c1Byb3BlcnRpZXMiXSxleGNsdWRlZFN0YXRlS2V5czpbImFsZXJ0c1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyJdLHRoZW1lZENvbG9yczppZ30pLHRoaXMuX21haW5TZXJpZXNQcm9wZXJ0aWVzPW5ldyBqXy5TZXJpZXNQcm9wZXJ0aWVzSW1wbCx0aGlzLl9zdGFydFNwaW5uZXIodGhpcy5fb3B0aW9ucy5jb250YWluZXIudmFsdWUoKSksd2luZG93LkNoYXJ0QXBpSW5zdGFuY2UuY29ubmVjdGlvbkJhbkluZm8oKS5zdWJzY3JpYmUodGhpcy5fc3Vic2NyaWJlVG9CYW5JbmZvLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9jaGFydFNlc3Npb249bmV3IFR0LkNoYXJ0U2Vzc2lvbih3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZSksb2coKSx0aGlzLl9pc011bHRpcGxlTGF5b3V0PSgwLHUuY29tYmluZSkoKGU9PigwLE8uaXNNdWx0aXBsZUxheW91dCkoZSkpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5sYXlvdXQud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2NhbGVTZXJpZXNPbmx5LnN1YnNjcmliZShudWxsLCgoKT0+e2NvbnN0IGU9dGhpcy5tb2RlbCgpLm1vZGVsKCk7ZS5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLGUuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKSl9KSksdGhpcy5faG90a2V5cz1ZLmNyZWF0ZUdyb3VwKHtkZXNjOiJDaGFydCBhY3Rpb25zIixpc0Rpc2FibGVkOigpPT4hdGhpcy5pc0FjdGl2ZSgpLnZhbHVlKCl9KSwoMCxKLm9uV2lkZ2V0KSgpfHwodGhpcy5fcGVyc2lzdGVudExvZ1N3aXRjaGVyPW5ldyBQXy5GZWF0dXJlVG9nZ2xlV2F0Y2hlZFZhbHVlKCJzdXBwb3J0X3BlcnNpc3RlbnRfbG9ncyIsITEpLHRoaXMuX3BlcnNpc3RlbnRMb2dTd2l0Y2hlci5zdWJzY3JpYmUoKGFzeW5jIGU9PntpZihlKXtpZigoMCxsbC5nZXRQZXJzaXN0ZW50TG9nZ2VyKSgpKXJldHVybjsoMCxsbC5zZXRQZXJzaXN0ZW50TG9nZ2VyKShuZXcgTV8pO2NvbnN0e2luaXRQZXJzaXN0ZW50TG9nZ2VyOmV9PWF3YWl0IGkuZSg2NTkwOSkudGhlbihpLmJpbmQoaSwzOTE0MykpO3RoaXMuX3BlcnNpc3RlbnRMb2dTd2l0Y2hlcj8udmFsdWUoKT9lKCk6KDAsbGwuc2V0UGVyc2lzdGVudExvZ2dlcikobnVsbCl9ZWxzZSgwLGxsLnNldFBlcnNpc3RlbnRMb2dnZXIpKG51bGwpfSkse2NhbGxXaXRoTGFzdDohMH0pKSx0aGlzLl9jb21wYXJlRGlhbG9nPXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRDb21wYXJlRGlhbG9nUmVuZGVyZXIoKSx0aGlzLl9vcHRpb25zLnRpbWVTY2FsZVdpZGdldCYmKHRoaXMuX29wdGlvbnMudGltZVNjYWxlV2lkZ2V0LnByZXNzZWRNb3VzZU1vdmVTY2FsZT10aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUpO2NvbnN0IG49dGhpcy5fb3B0aW9ucy5vbkNtZVdpZGdldDtuJiZZbS5sb2dXYXJuKCJbQ2hhcnRXaWRnZXRdICdvbkNtZVdpZGdldCcgb3B0aW9uIGlzIGRlcHJpY2F0ZWQiKTtjb25zdCByPXRoaXMuX29wdGlvbnMud2lkZ2V0Q3VzdG9tZXIsbz10aGlzLl9vcHRpb25zLnRpbWV6b25lO2xldCBjPXRoaXMuX29wdGlvbnMuZGVmU3ltYm9sPz8iIixkPXguSW50ZXJ2YWwuaXNWYWxpZCh0aGlzLl9vcHRpb25zLmRlZkludGVydmFsKT90aGlzLl9vcHRpb25zLmRlZkludGVydmFsOm51bGw7Y29uc3QgcD10aGlzLl9vcHRpb25zLmRlZlN0eWxlO2xldCBfPSgwLEEuaXNWYWxpZFN0eWxlKShwKT9wOm51bGw7Y29uc3QgbT10aGlzLl9vcHRpb25zLmRlZlNlc3Npb25JZCxnPXZvaWQgMCE9PXRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lPyJzdHJpbmciPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5kZWZUaW1lZnJhbWU/e3ZhbHVlOnRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lLnRvVXBwZXJDYXNlKCksdHlwZToicGVyaW9kLWJhY2sifTp7Ci4uLnRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lLHR5cGU6InRpbWUtcmFuZ2UifTpudWxsO2xldCBTPXRoaXMuX29wdGlvbnMuZGVmTWV0cmljPz9udWxsO3RoaXMuX2NvbnRlbnQ9dGhpcy5fb3B0aW9ucy5jb250ZW50LHRoaXMuX2luaXRpYWxMb2FkaW5nPXRoaXMuX29wdGlvbnMuaW5pdGlhbExvYWRpbmcsdGhpcy5fY29udGFpbnNEYXRhPSEhdGhpcy5fb3B0aW9ucy5jb250YWluc0RhdGEsdGhpcy5fb25XaWRnZXQ9ISF0aGlzLl9vcHRpb25zLm9uV2lkZ2V0LHRoaXMuX2NvbXBhcmVTeW1ib2xzPXRoaXMuX29wdGlvbnMuY29tcGFyZVN5bWJvbHMsdGhpcy5fZGVmU3ltYm9sPWMsdGhpcy5fZGVmSW50ZXJ2YWw9ZCx0aGlzLl9kZWZUaW1lZnJhbWU9Zyx0aGlzLl9kZWZTdHlsZT1fLHRoaXMuX2RlZk1ldHJpYz1TLHRoaXMuX29uV2lkZ2V0JiYobj90aGlzLl93aWRnZXRDdXN0b21lcj0iY21lIjpyJiYodGhpcy5fd2lkZ2V0Q3VzdG9tZXI9cikpLHRoaXMuX2NvbXBhcmVEaWFsb2c9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcigpO2NvbnN0IHY9dGhpcy5fY29udGVudFNlcmllc1Byb3BlcnRpZXMoKTt2JiYoYz12LnN5bWJvbCxkPXYuaW50ZXJ2YWwsUz12Lm1ldHJpY0lkKSx2b2lkIDA9PT10aGlzLl9vcHRpb25zLnVzZVVzZXJDaGFydFByZWZlcmVuY2VzJiYodGhpcy5fb3B0aW9ucy51c2VVc2VyQ2hhcnRQcmVmZXJlbmNlcz0hMCk7Y29uc3QgeT0iY2hhcnRwcm9wZXJ0aWVzLm1haW5TZXJpZXNQcm9wZXJ0aWVzIixiPXRoaXMuX29wdGlvbnMudXNlVXNlckNoYXJ0UHJlZmVyZW5jZXM/KDAsJGwuZGVmYXVsdHMpKHkpOigwLCRsLmZhY3RvcnlEZWZhdWx0cykoeSksdz10aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcyxDPWR8fGIuaW50ZXJ2YWx8fCJEIjtudWxsIT09XyYmKDAsQS5pc1ZhbGlkU3R5bGUpKF8pfHwoXz0oMCxBLmlzVmFsaWRTdHlsZSkoYi5zdHlsZSk/Yi5zdHlsZTooMCxBLmdldERlZmF1bHRTdHlsZSkoeC5JbnRlcnZhbC5pc1JhbmdlKEMpKSk7Y29uc3QgUD0oMCxDdC5kZWZhdWx0KSh7dmlzaWJsZTohMCxzeW1ib2w6Y3x8KDAsRHQuZ2V0RGVmYXVsdFN5bWJvbCkoKSxzaG9ydE5hbWU6IiIsdGltZWZyYW1lOiIiLGludGVydmFsOkMsY3VycmVuY3lJZDpudWxsLHVuaXRJZDpudWxsLHN0eWxlOl8sc2Vzc2lvbklkOm0sbWV0cmljSWQ6U30sYS5ub3RVbmRlZmluZWQpO3cubWVyZ2UoUCksdGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoYyksdGhpcy5fcmVzb2x1dGlvbldWLnNldFZhbHVlKEMpLHRoaXMuX2NvbnRhaW5zRGF0YSYmdGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMubWVyZ2Uoe3Nob3dDb3VudGRvd246ITF9KSxvJiYoMCxqdC50aW1lem9uZUlzQXZhaWxhYmxlKShvKSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZS5zZXRWYWx1ZShvKSx0aGlzLl9vcHRpb25zLmNvbnRhaW5lci5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9zZXRFbGVtZW50KGUpfSkse2NhbGxXaXRoTGFzdDohMH0pO2NvbnN0IFQ9KCk9Pnt0aGlzLnJlc2l6ZSgpfTt0aGlzLl9vcHRpb25zLndpZHRoLnN1YnNjcmliZShUKSx0aGlzLl9vcHRpb25zLmhlaWdodC5zdWJzY3JpYmUoVCksdGhpcy5fb3B0aW9ucy52aXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaW1pbmdzTWV0ZXJTdGF0ZS5iaW5kKHRoaXMpKX1yZWZyZXNoTWFya3MoKXt0aGlzLm1vZGVsKCkuYmFyc01hcmtzU291cmNlcygpLmZvckVhY2goKGU9PmUucmVmcmVzaERhdGEoKSkpfWNsZWFyTWFya3MoZSl7dGhpcy5tb2RlbCgpLmJhcnNNYXJrc1NvdXJjZXMoKS5mb3JFYWNoKCh0PT50LmNsZWFyTWFya3MoZSkpKX1zZXRUaW1lem9uZShlKXtjb25zdCB0PWU7dCYmKDAsanQudGltZXpvbmVJc0F2YWlsYWJsZSkodCk/dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudGltZXpvbmUuc2V0VmFsdWUodCk6Y29uc29sZS53YXJuKCJJbmNvcnJlY3QgdGltZXpvbmU6ICIrSlNPTi5zdHJpbmdpZnkodCkpfWdldFRpbWV6b25lKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnRpbWV6b25lLnZhbHVlKCl9ZGVzdHJveSgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNjb25uZWN0KCksdGhpcy5fdW5zZXRBY3Rpb25zKCksdGhpcy5faG90a2V5cz8uZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj8uZGVzdHJveSgpLHRoaXMuX25vRXhjaGFuZ2VTdWJzY3JwdGlvbldhcm5pbmc/LmRlc3Ryb3koKSx0aGlzLl9oaXAzRGlzY2xhaW1lclJlc291cmNlPy5kZXN0cm95KCksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVMb2dpblN0YXRlQ2hhbmdlZCksdGhpcy5oYXNNb2RlbCgpJiYodGhpcy5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZFRvcENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkubW92ZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUFyaWFQcmljZURlc2NyaXB0aW9uKSx0aGlzLm1vZGVsKCkuZGVzdHJveSgpKSx0aGlzLl9tb2RlbFdWLmRlc3Ryb3koKSx3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb25uZWN0aW9uQmFuSW5mbygpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZVRvQmFuSW5mbyksdGhpcy5fYXJpYVByaWNlRGVzY3JpcHRpb249bnVsbCx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcC5jbGVhcigpLHRoaXMuX3Njcm9sbEhlbHBlci5kZXN0cm95KCksdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlLmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFNlc3Npb25Dcml0aWNhbEVycm9yKSwKdGhpcy5fY2hhcnRTZXNzaW9uLmlzQ29ubmVjdGVkKCkudW5zdWJzY3JpYmUodGhpcy5fb25DaGFydFNlc3Npb25Jc0Nvbm5lY3RlZENoYW5nZWQpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fcGVyc2lzdGVudExvZ1N3aXRjaGVyPy5kZXN0cm95KCksdGhpcy5faXNEZXN0cm95ZWQ9ITAsdGhpcy5fYWJvdXRUb0JlRGVzdHJveWVkLmZpcmUoKSx0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleT8uKCksdGhpcy5fcmVtb3ZlTWF4aW1pemVIb3RrZXk9bnVsbCwwIT09dGhpcy5fZHJhd1JhZklkJiZ0aGlzLl9wYXJlbnQ/Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc/LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2RyYXdSYWZJZCksdGhpcy5fYmFja2dyb3VuZFRvcENvbG9yU3Bhd24/LmRlc3Ryb3koKSx0aGlzLl9iYWNrZ3JvdW5kQm90dG9tQ29sb3JTcGF3bj8uZGVzdHJveSgpLHRoaXMuX3RpbWluZ3NNZXRlcj8uc3RvcENvbGxlY3QoKSx0aGlzLl90aW1pbmdzTWV0ZXI9bnVsbDtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5kZXN0cm95KCk7dGhpcy5fcGFuZVdpZGdldHMuc2V0VmFsdWUoW10pO2ZvcihsZXQgZT0wO2U8dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoO2UrKyl0aGlzLl9wYW5lU2VwYXJhdG9yc1tlXS5kZXN0cm95KCk7dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoPTAsdGhpcy5faG90a2V5c0xpc3RlbmVyPy5kZXN0cm95KCksdGhpcy5fYmFyc0J1dHRvbj8uZGVzdHJveSgpLHRoaXMuX2NvbnRyb2xCYXJOYXZpZ2F0aW9uPy5kZXN0cm95KCksdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb249bnVsbCx0aGlzLl9tYWluRGl2JiYodGhpcy5fb25XaGVlbEJvdW5kJiZ0aGlzLl9tYWluRGl2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLl9vbldoZWVsQm91bmQpLHRoaXMuX21haW5EaXYucmVtb3ZlKCkpLHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py5kZXN0cm95KCksdGhpcy5fdGltZUF4aXNXaWRnZXQ9bnVsbCx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2lzTXVsdGlwbGVMYXlvdXQuZGVzdHJveSgpLFQuY3JlYXRlZExpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuY29udGludWVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jYW5jZWxsZWRMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSxULmJlZW5TZXRMaW5lVG9vbExhc3RQb2ludC51bnN1YnNjcmliZUFsbCh0aGlzKSxULnN0YXJ0ZWRNb3ZpbmdMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSxULm1vdmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZE1vdmluZ0xpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuc3RhcnRlZENoYW5naW5nTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jaGFuZ2VkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZENoYW5naW5nTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5yZW1vdmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZExpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuY2hhbmdlZExpbmVTdHlsZS51bnN1YnNjcmliZUFsbCh0aGlzKSxULnJlc3RvcmVkTGluZVRvb2xTdGF0ZS51bnN1YnNjcmliZUFsbCh0aGlzKSxULnJlc3RvcmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jb3BpZWRMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldFdWLmRlc3Ryb3koKX10aXRsZSgpe3JldHVybiBwLnQobnVsbCx2b2lkIDAsaSg2MjU3ODgpKX1lbXVsYXRlQ3JpdGljYWxFcnJvcigpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5yZW1vdmVTZXJpZXMoIi0xIil9Y2hhcnRTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U2Vzc2lvbn1vbkRpc2Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0ZWR9b25SZWNvbm5lY3RCYWlsb3V0KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdEJhaWxvdXR9b25Db25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGVkfWNoYXJ0V2lkZ2V0SW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRJbml0aWFsaXplZH1zZXRCYXJzQnV0dG9uKGUpe3RoaXMuX2JhcnNCdXR0b249ZX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxpLHMsbil7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX1jaGFydFdpZGdldENvbGxlY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9ufWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy5faW5pdGVkfWxpbmVUb29sc1N5bmNocm9uaXplcigpe3JldHVybiB0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXJ9YWN0aW9ucygpe3JldHVybiBudWxsPT09dGhpcy5fYWN0aW9ucz90aGlzLl9zZXRBY3Rpb25zKCk6dGhpcy5fYWN0aW9uc31kZWZhdWx0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2RlZlN5bWJvbH1yZXF1ZXN0RnVsbHNjcmVlbigpe3RoaXMuZ2V0UmVzaXplckRldGFjaGVyKCkucmVxdWVzdEZ1bGxzY3JlZW4oKX1leGl0RnVsbHNjcmVlbigpe3RoaXMuZ2V0UmVzaXplckRldGFjaGVyKCkuZXhpdEZ1bGxzY3JlZW4oKX1pbkZ1bGxzY3JlZW4oKXtyZXR1cm4gdGhpcy5nZXRSZXNpemVyRGV0YWNoZXIoKS5mdWxsc2NyZWVuLnZhbHVlKCl9bW9kZWxDcmVhdGVkKCl7cmV0dXJuIHRoaXMuX21vZGVsQ3JlYXRlZH1jb250YWluc1N0dWR5QnlQcmVkaWNhdGUoZSl7cmV0dXJuISF0aGlzLmhhc01vZGVsKCkmJnRoaXMubW9kZWwoKS5kYXRhU291cmNlcygpLnNvbWUoKHQ9PiEhKDAsdGkuaXNTdHVkeSkodCkmJmUodC5tZXRhSW5mbygpKSkpfW1vZGVsKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbFdWLnZhbHVlKCkpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfWxheW91dElkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5tZXRhSW5mby51aWQudmFsdWUoKX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Cm1haW5TZXJpZXNQcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXNQcm9wZXJ0aWVzfXJlYWRPbmx5KCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fb3B0aW9ucy5yZWFkT25seSl9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5faXNBY3RpdmUucmVhZG9ubHkoKX1pc0hvdmVyZWQoKXtyZXR1cm4gdGhpcy5faXNIb3ZlcmVkLnJlYWRvbmx5KCl9Y3Jvc3NIYWlyU3luY0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmxvY2suY3Jvc3NoYWlyLnZhbHVlKCl9aXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzVmlzaWJsZS52YWx1ZSgpfXNldFZpc2libGUoZSl7dGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKGUpfXZpc2libGUoKXtyZXR1cm4gdGhpcy5faXNWaXNpYmxlLnJlYWRvbmx5KCl9aXNDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkLnZhbHVlKCl9c2V0Q29sbGFwc2VkKGUpe3RoaXMuX2NvbGxhcHNlZC5zZXRWYWx1ZShlKX1jb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkLnJlYWRvbmx5KCl9aXNKdXN0Q2xvbmVkQ2hhcnQoKXtyZXR1cm4hISh0aGlzLl9vcHRpb25zfHx7fSkuanVzdENsb25lZH1yZW1vdmVBbGxEcmF3aW5nVG9vbHMoKXshIXRoaXMubW9kZWwoKS5tb2RlbCgpLmFsbExpbmVUb29scygpLmZpbmQoKGU9PmUuaXNMb2NrZWQ/LigpKSk/KDAsJG0uY29uZmlybVJlbW92aW5nTG9ja2VkTGluZVRvb2xzKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVBbGwpLnRoZW4oKGU9Pnt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsRHJhd2luZ1Rvb2xzKGUpfSkpOnRoaXMubW9kZWwoKS5yZW1vdmVBbGxEcmF3aW5nVG9vbHMoITApfXJlbW92ZUFsbFN0dWRpZXMoKXt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllcygpfXJlbW92ZUFsbFN0dWRpZXNEcmF3aW5nVG9vbHMoKXshIXRoaXMubW9kZWwoKS5tb2RlbCgpLmFsbExpbmVUb29scygpLmZpbmQoKGU9PmUuaXNMb2NrZWQ/LigpKSk/KDAsJG0uY29uZmlybVJlbW92aW5nTG9ja2VkTGluZVRvb2xzKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVBbGwpLnRoZW4oKGU9Pnt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyhlKX0pKTp0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyghMCl9cmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl7dGhpcy5yZW1vdmVEYXRhU291cmNlcyh0aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKSl9cmVtb3ZlRGF0YVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLm1vZGVsKCksaT1lLmZpbHRlcigoZT0+ZSE9PXQubWFpblNlcmllcygpJiZlIT09dC5saW5lQmVpbmdDcmVhdGVkKCkmJmUuaXNVc2VyRGVsZXRhYmxlKCkpKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2xldCBzPW51bGw7KDAsdGkuaXNTdHVkeSkoaVswXSkmJigoMCxsLmFzc2VydCkoMT09PWkubGVuZ3RoLCJDYW5ub3QgcmVtb3ZlIHNldmVyYWwgc3R1ZGllcyAobm8gbXVsdGkgc2VsZWN0IGZvciBzdHVkaWVzKSIpLHM9aVswXSk7Y29uc3Qgbj1pLmZpbmQoKGU9PmUuaGFzQWxlcnQoKS52YWx1ZSgpKSkscj0hIWkuZmluZCgoZT0+KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUuaXNMb2NrZWQ/LigpKSk7aWYobikoMCxSXy5jb25maXJtRGF0YXNvdXJjZVJlbW92aW5nKSh7aGFzTG9ja2VkU291cmNlczpyfSkudGhlbigoZT0+e2UmJnQucmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl9KSk7ZWxzZSBpZihzJiZzLmhhc0NoaWxkcmVuKCkpe2NvbnN0IGU9cy5nZXRBbGxDaGlsZHJlbigpLm1hcCgoZT0+ZS5uYW1lKCEwKSkpOygwLEx0LnNob3dEZWxldGVTdHVkeVRyZWVDb25maXJtKShlLCgoKT0+e3QucmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl9KSl9ZWxzZSByPygwLCRtLnNob3dEZWxldGVMb2NrZWRMaW5lVG9vbHNDb25maXJtKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVTZWxlY3RlZCwoZT0+e2V8fHQuc2VsZWN0aW9uTWFjcm8oKGU9PntpLmZpbHRlcigoZT0+KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUuaXNMb2NrZWQ/LigpKSkuZm9yRWFjaCgodD0+e2UucmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24odCl9KSl9KSksdC5yZW1vdmVTZWxlY3RlZFNvdXJjZXMoKX0pKTp0LnJlbW92ZVNlbGVjdGVkU291cmNlcygpfWdldFN5bWJvbChlKXtpZighdGhpcy5oYXNNb2RlbCgpKXJldHVybiB0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuc3ltYm9sfHwoMCxEdC5nZXREZWZhdWx0U3ltYm9sKSgpO2lmKCFlKXJldHVybiB0aGlzLl9zeW1ib2xXVi52YWx1ZSgpO2NvbnN0IHQ9dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7cmV0dXJuIHQuc2hvcnROYW1lJiZ0LnNob3J0TmFtZS52YWx1ZSgpP3Quc2hvcnROYW1lPy52YWx1ZSgpPz8iIjp0LnN5bWJvbD8udmFsdWUoKT8/IiJ9c2V0U3ltYm9sKGUpe2lmKHRoaXMuaGFzTW9kZWwoKSl7dGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoZSk7Y29uc3QgdD10aGlzLm1vZGVsKCk7dC5zZXRTeW1ib2wodC5tYWluU2VyaWVzKCksZSl9ZWxzZSB0aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcy5tZXJnZSh7c3ltYm9sOmV9KSx0aGlzLl9zeW1ib2xXVi5zZXRWYWx1ZShlKSx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuc3ltYm9sPWV9c2V0UmVzb2x1dGlvbihlKXtpZih0aGlzLmhhc01vZGVsKCkpe3RoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlKTtjb25zdCB0PXRoaXMubW9kZWwoKTt0LnNldFJlc29sdXRpb24odC5tYWluU2VyaWVzKCksZSl9ZWxzZSB0aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcy5tZXJnZSh7aW50ZXJ2YWw6ZX0pLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlKSx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuaW50ZXJ2YWw9ZX1nZXRSZXNvbHV0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25XVi52YWx1ZSgpfXN5bWJvbFdWKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFdWLnJlYWRvbmx5KCl9CnN5bWJvbEluZm9XVigpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvV1Z9cmVzb2x1dGlvbldWKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25XVi5yZWFkb25seSgpfWxvYWRSYW5nZShlKXtpZih0aGlzLmhhc01vZGVsKCkpe3RoaXMuc2NyZWVuLnNob3coKTt0aGlzLm1vZGVsKCkubG9hZFJhbmdlKGUpfHx0aGlzLnNjcmVlbi5oaWRlKCl9fWFzeW5jIHNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKGUsdCl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfY2hhcnRfcHJvcGVydHlfcGFnZSIpKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7Y29uc3Qgcz1hd2FpdCB0aGlzLl9zaG93Q2hhcnRQcm9wZXJ0aWVzKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksZSx7ZG9Ob3RDbG9zZU9uQmdDbGljazohMCxvblJlc2V0VG9EZWZhdWx0OmFzeW5jKCk9Pnt0aGlzLm1vZGVsKCkucmVzdG9yZVByZWZlcmVuY2VzKCk7Y29uc3RbZSx0XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg3NDExNCksaS5lKDY0MjUpXSkudGhlbihpLmJpbmQoaSw2NjUxODcpKSxQcm9taXNlLmFsbChbaS5lKDc0MTE0KSxpLmUoNjQyNSldKS50aGVuKGkuYmluZChpLDQxMzQ1MSkpXSkscz1lLmdldEN1cnJlbnRUaGVtZSgpLm5hbWU7dC5sb2FkVGhlbWUodGhpcy5jaGFydFdpZGdldENvbGxlY3Rpb24oKSx7dGhlbWVOYW1lOnMsc3RhbmRhcmRUaGVtZTohMH0pfSxzaG91bGRSZXR1cm5Gb2N1czp0Py5zaG91bGRSZXR1cm5Gb2N1c30pO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IG49KCk9PntzLmhpZGUoKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldFdWLnVuc3Vic2NyaWJlKG4pfTtyZXR1cm4gdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVi5zdWJzY3JpYmUobiksc31zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlKGUsdCxpLHMpe3JldHVybigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIikmJmUudXNlckVkaXRFbmFibGVkKCk/ZT09PXRoaXMubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKT90aGlzLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKHQpOigoaT1pfHx7fSkub25SZXNldFRvRGVmYXVsdD0oKT0+eygoMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeSkoZSkpJiZ0aGlzLm1vZGVsKCkucmVzdG9yZVByb3BlcnRpZXNGb3JTb3VyY2UuYmluZCh0aGlzLm1vZGVsKCksZSl9LHRoaXMuX3Nob3dDaGFydFByb3BlcnRpZXMoZSx0LGkscykpOlByb21pc2UucmVzb2x2ZShudWxsKX10b2dnbGVDb21wYXJlT3JBZGQoKXt0aGlzLl9jb21wYXJlRGlhbG9nLnZpc2libGUoKS52YWx1ZSgpP3RoaXMuX2NvbXBhcmVEaWFsb2cuaGlkZSgpOnRoaXMuX2NvbXBhcmVEaWFsb2cuc2hvdygpfXRhZ3MoKXtyZXR1cm4gdGhpcy5oYXNNb2RlbCgpP3RoaXMubW9kZWwoKS5jYWxjdWxhdGVEZWZhdWx0VGFncygpOltdfW9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fb3B0aW9uc31vd25lckRvY3VtZW50KCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpLm93bmVyRG9jdW1lbnR9YXN5bmMgc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZXMoZSl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIikpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtjb25zdHtzb3VyY2VzOnQsdGl0bGU6cyx0YWJOYW1lOm4scmVuYW1hYmxlOnJ9PWUsbz10aGlzLm1vZGVsKCksYT0kdCh0Lm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkpKSksbD0kdCh0Lm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSkpLFt7Y3JlYXRlUHJvcGVydHlQYWdlOmN9LHtnZXRTZWxlY3Rpb25TdHlsZVByb3BlcnRpZXNEZWZpbml0aW9uczpofSx7Z2V0U2VsZWN0aW9uSW50ZXJ2YWxzVmlzaWJpbGl0aWVzUHJvcGVydGllc0RlZmluaXRpb246ZH0se2dldFNlbGVjdGlvbkNvb3JkaW5hdGVzUHJvcGVydHlEZWZpbml0aW9uOnV9XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg5MDkwNyksaS5lKDU5MzI4KV0pLnRoZW4oaS5iaW5kKGksNTAxNTIyKSksUHJvbWlzZS5hbGwoW2kuZSg5MDkwNyksaS5lKDU5MzI4KV0pLnRoZW4oaS5iaW5kKGksOTkzOTQpKSxQcm9taXNlLmFsbChbaS5lKDkwOTA3KSxpLmUoNTkzMjgpXSkudGhlbihpLmJpbmQoaSw0ODUwMCkpLFByb21pc2UuYWxsKFtpLmUoOTA5MDcpLGkuZSg1OTMyOCldKS50aGVuKGkuYmluZChpLDU3NjgxNykpXSk7cmV0dXJuIGFzeW5jIGZ1bmN0aW9uKGUpewpjb25zdHtTb3VyY2VzUHJvcGVydGllc0VkaXRvclJlbmRlcmVyOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMzcwMTIpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDUxNjgyKSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSg0MDg2NyksaS5lKDM5Nzg2KSxpLmUoNTA4MDApLGkuZSg1MDYyMiksaS5lKDYwODIpLGkuZSgyNzMzNyksaS5lKDQwOTE0KSxpLmUoMjc3MzYpLGkuZSg4Nzc0MCksaS5lKDY3NTQzKSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDUyNDIpLGkuZSg3ODYzKSxpLmUoNDYyNDUpLGkuZSg1NTI5MCksaS5lKDc0NDcxKSxpLmUoMjAzNzApLGkuZSgxNzg2MSksaS5lKDMyMzg3KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQwNzU0KSxpLmUoOTU1NTQpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg5Njk3MCksaS5lKDEyMDYwKV0pLnRoZW4oaS5iaW5kKGksMjgyNDA0KSkscz1uZXcgdChlKTtyZXR1cm4gbnVsbCE9PXp0JiYoenQuaGlkZSgpLHp0PXMpLHMuc2hvdygpLHN9KHtzb3VyY2VzOnQscHJvcGVydHlQYWdlczpbYyhoKGEsbyksInN0eWxlIixwLnQobnVsbCx2b2lkIDAsaSg5MzE5OTIpKSksYyh7ZGVmaW5pdGlvbnM6W3UodCxvKV19LCJkaXNwbGFjZW1lbnQiLHAudChudWxsLHZvaWQgMCxpKDM3MTU0OSkpKSxjKGQobCxvKSwidmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoOTg3NzMzKSkpXSx1bmRvTW9kZWw6byx0aXRsZTpzLGFjdGl2ZVRhYklkOm4scmVuYW1hYmxlOnJ9KX1nZXRQcmljZUF4aXNXaWR0aENoYW5nZWRCeU5hbWUoZSl7cmV0dXJuImxlZnQiPT09ZT90aGlzLl9saHNQcmljZUF4aXNXaWR0aENoYW5nZWQ6dGhpcy5fcmhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkfWdldFByaWNlQXhpc01heFdpZHRoQnlOYW1lKGUpe3JldHVybiJsZWZ0Ij09PWU/dGhpcy5fbGhzQXhlc1dpZHRoOnRoaXMuX3Joc0F4ZXNXaWR0aH10aW1lQXhpc0hlaWdodCgpe3JldHVybiBudWxsIT09dGhpcy5fdGltZUF4aXNXaWRnZXQ/dGhpcy5fdGltZUF4aXNXaWRnZXQuc2l6ZS5oZWlnaHQ6MH13aXRoTW9kZWwoZSx0KXt0aGlzLmhhc01vZGVsKCk/dC5jYWxsKGUpOnRoaXMubW9kZWxDcmVhdGVkKCkuc3Vic2NyaWJlKGUsdCwhMCl9bW9kZWxXVigpe3JldHVybiB0aGlzLl9tb2RlbFdWLnJlYWRvbmx5KCl9aGFzTW9kZWwoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21vZGVsV1YudmFsdWUoKX1vblJlZHJhdygpe3JldHVybiB0aGlzLl9yZWRyYXd9Y29weUxpbmVUb090aGVyQ2hhcnRzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLnNlbGVjdGlvbigpLmxpbmVEYXRhU291cmNlcygpLmZpbHRlcigoZT0+ZS5pc1N5bmNocm9uaXphYmxlKCkpKTtlLm1vZGVsKCkuY29weVRvT3RoZXJDaGFydHModCwhMCl9dG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0KCl7Y29uc3QgZT10aGlzLm1vZGVsKCk7ZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKS5mb3JFYWNoKCh0PT57Y29uc3QgaT10LnByb3BlcnRpZXMoKS5mcm96ZW4udmFsdWUoKTtlLnNldFByb3BlcnR5KHQucHJvcGVydGllcygpLmZyb3plbiwhaSwoaT9abTpKbSkuZm9ybWF0KHt0aXRsZTpuZXcgeS5UcmFuc2xhdGVkU3RyaW5nKHQubmFtZSgpLHQudGl0bGUoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKX0pLFFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pfSkpfWhpZGVEYXRhU291cmNlcyhlKXtpZihlLmxlbmd0aCl7Y29uc3QgdD1lLm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkudmlzaWJsZSkpLGk9ZS5tYXAoKCgpPT4hMSkpO3RoaXMubW9kZWwoKS5zZXRQcm9wZXJ0aWVzKHQsaSxYbS5mb3JtYXQoe3RpdGxlOm5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoZVswXS5uYW1lKCksZVswXS50aXRsZShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSkpfSkpfX1oaWRlU2VsZWN0ZWRPYmplY3QoKXt0aGlzLmhpZGVEYXRhU291cmNlcyh0aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PiEoMCxxaS5pc0FsZXJ0TGFiZWwpKGUpKSkpfXVubGlua1NlbGVjdGVkTGluZSgpe2NvbnN0IGU9dGhpcy5tb2RlbCgpLHQ9ZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKTtlLnVubGlua0xpbmVzKHQpfXBhbmVXaWRnZXRzV1YoKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHN9cGFuZVdpZGdldHMoKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKX1wYW5lV2lkZ2V0U2VwYXJhdG9ycyhlKXtjb25zdCB0PXRoaXMucGFuZVdpZGdldHMoKS5pbmRleE9mKGUpLGk9e307cmV0dXJuIHRoaXMuX3BhbmVTZXBhcmF0b3JzLmZvckVhY2goKGU9PntlLnRvcFBhbmVJbmRleCgpPT09dCYmKGkuc2VwYXJhdG9yQmVsb3c9ZSksZS5ib3R0b21QYW5lSW5kZXgoKT09PXQmJihpLnNlcGFyYXRvckFib3ZlPWUpfSkpLGl9YWN0aXZlUGFuZVdpZGdldCgpe3JldHVybiB0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnJlYWRvbmx5KCl9cGFuZUJ5U3RhdGUoZSl7CnJldHVybiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZpbmQoKHQ9PnQuaGFzU3RhdGUoKSYmdC5zdGF0ZSgpPT09ZSkpPz9udWxsfXBhbmVCeUNhbnZhcyhlKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5maW5kKCh0PT50Lmhhc0NhbnZhcyhlKSkpPz9udWxsfXRpbWVBeGlzQnlDYW52YXMoZSl7cmV0dXJuIHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py5oYXNDYW52YXMoZSk/dGhpcy5fdGltZUF4aXNXaWRnZXQ6bnVsbH1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5tb2RlbCgpLm1vZGVsKCkuc2VsZWN0UG9pbnRNb2RlKCl9Y2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpLGUuc2V0UmVwbGF5U3RhdHVzKGUuaXNJblJlcGxheSgpLnZhbHVlKCk/MzowKSxlLmNsZWFyQ3VycmVudFBvc2l0aW9uKCl9cmVxdWVzdFNlbGVjdFBvaW50KGUsdCl7Y29uc3QgaT10aGlzLm1vZGVsKCk7cmV0dXJuIGUuc2VsZWN0UG9pbnRNb2RlPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5JiZpLm1vZGVsKCkuc2V0UmVwbGF5U3RhdHVzKDEpLG5ldyBQcm9taXNlKCgocyxuKT0+e2NvbnN0IHI9KCk9PiEhdGhpcy5pc1Zpc2libGUoKXx8KG4oIkNoYXJ0d2lkZ2V0IG11c3QgYmUgdmlzaWJsZSIpLHRoaXMuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCksITEpO2lmKCFyKCkpcmV0dXJuOygwLFQucmVzZXRUb0N1cnNvcikoITApLGkubGluZUJlaW5nQ3JlYXRlZCgpJiZpLmNhbmNlbENyZWF0aW5nTGluZSgpO2xldCBvPSExO2NvbnN0IGE9e307aS5tb2RlbCgpLm9uUG9pbnRTZWxlY3RlZCgpLnN1YnNjcmliZShhLCgoZSx0KT0+e289ITAsdGhpcy5faXNWaXNpYmxlLnVuc3Vic2NyaWJlKHIpLHRoaXMuX2hpZGVIaW50KCkscyh7cG9pbnQ6ZSxwYW5lOnR9KX0pLCEwKSxpLm1vZGVsKCkucmVxdWVzdFNlbGVjdFBvaW50KGUpLHRoaXMuc3RhcnRUcmFja2luZ01vZGUoKSx2b2lkIDAhPT10JiZ0aGlzLl9zaG93RXZlbnRIaW50KHQpLHRoaXMuX2lzVmlzaWJsZS5zdWJzY3JpYmUociksdGhpcy5zZWxlY3RQb2ludE1vZGUoKS5zdWJzY3JpYmUoKCgpPT57c2V0VGltZW91dCgoKCk9PntvfHwodGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpPT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmdGhpcy5faGlkZUhpbnQoKSxpLm1vZGVsKCkub25Qb2ludFNlbGVjdGVkKCkudW5zdWJzY3JpYmVBbGwoYSksdGhpcy5faXNWaXNpYmxlLnVuc3Vic2NyaWJlKHIpLG4oImNhbmNlbGxlZCIpKX0pKX0pLHtvbmNlOiEwfSl9KSl9c2hvd1JlcGxheU9yZGVyQ29uZmlybWF0aW9uRGlhbG9nKCl7cmV0dXJuIHRoaXMubW9kZWwoKS5pc0luUmVwbGF5KCkudmFsdWUoKT9uZXcgUHJvbWlzZSgoKGUsdCk9PnsoMCxoZS5zaG93Q29uZmlybSkoe3RleHQ6cC50KG51bGwsdm9pZCAwLGkoNTU4NDQ0KSksb25Db25maXJtOnQ9PntlKCksdC5kaWFsb2dDbG9zZSgpfSxvbkNsb3NlOnR9KX0pKTpQcm9taXNlLnJlc29sdmUoKX1zaG93U291cmNlUHJvcGVydGllcyhlLHQpe2U9PT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpJiYodD1KdC5UYWJOYW1lcy5zeW1ib2wpLHRoaXMuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZShlLHQpfW9uU2Nyb2xsKCl7cmV0dXJuIHRoaXMuX29uU2Nyb2xsfW9uWm9vbSgpe3JldHVybiB0aGlzLl9vblpvb219b25UYWdzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl90YWdzQ2hhbmdlZH1vbldpZGdldCgpe3JldHVybiB0aGlzLl9vbldpZGdldH1jb250YWluc1ZvbHVtZSgpe3JldHVybiB0aGlzLm1vZGVsKCkuZGF0YVNvdXJjZXMoKS5zb21lKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIlZvbHVtZSI9PT1lLm1ldGFJbmZvKCkuc2hvcnRJZCkpfWNvbnRhaW5zU3R1ZHkoZSl7cmV0dXJuIHRoaXMuY29udGFpbnNTdHVkeUJ5UHJlZGljYXRlKCh0PT50LmlkPT09ZXx8dC5mdWxsSWQ9PT1lKSl9aXNTbWFsbCgpe3JldHVybiB0aGlzLl93aWR0aCgpPDU1MHx8dGhpcy5faGVpZ2h0KCk8MzAwfW9uQ21lV2lkZ2V0KCl7cmV0dXJuImNtZSI9PT10aGlzLl93aWRnZXRDdXN0b21lcn13aWRnZXRDdXN0b21lcigpe3JldHVybiB0aGlzLl93aWRnZXRDdXN0b21lcn1jb21wYXJlU3ltYm9scygpe3JldHVybiB0aGlzLl9jb21wYXJlU3ltYm9sc31pbWFnZXMoZSl7d2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nPSEwO2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnNlbGVjdGlvbigpLmFsbFNvdXJjZXMoKTt0aGlzLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uZ2xvYmFsQ2hhbmdlRXZlbnQpKCkpO2NvbnN0IGk9KHQsaSk9Pnt0LnBhaW50KGksTGUuSW52YWxpZGF0aW9uTWFzay50aW1lU2NhbGUoTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQsITApLmludmFsaWRhdGlvbkZvclRpbWVTY2FsZSgpKTtjb25zdCBzPXtzaG93Q29sbGFwc2VkU3R1ZGllczpCb29sZWFuKGU/LnNob3dDb2xsYXBzZWRTdHVkaWVzKSxzdGF0dXM6ZT8uc3RhdHVzfTtyZXR1cm4gdC5nZXRTY3JlZW5zaG90RGF0YShzKX0scz1bXSxuPXRoaXMubWF4aW1pemVkUGFuZVdpZGdldCgpO2lmKG51bGwhPT1uKXtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkuaW5kZXhPZihuKTtzLnB1c2goaShuLExlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKS5pbnZhbGlkYXRpb25Gb3JQYW5lKGUpKSl9ZWxzZXtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCk7ZS5mb3JFYWNoKCgodCxuKT0+e3MucHVzaChpKHQsTGUuSW52YWxpZGF0aW9uTWFzay5saWdodCgpLmludmFsaWRhdGlvbkZvclBhbmUobikpKSxuPGUubGVuZ3RoLTEmJnMucHVzaCh0aGlzLl9wYW5lU2VwYXJhdG9yc1tuXS5pbWFnZSgpKX0pKX1sZXQgcgo7dGhpcy5fdGltZUF4aXNXaWRnZXQmJih0aGlzLl90aW1lQXhpc1dpZGdldC5wYWludChMZS5JbnZhbGlkYXRpb25NYXNrLnRpbWVTY2FsZShMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCwhMCkuaW52YWxpZGF0aW9uRm9yVGltZVNjYWxlKCkpLHI9dGhpcy5fdGltZUF4aXNXaWRnZXQuZ2V0U2NyZWVuc2hvdERhdGEoKSksd2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nPSExLHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e3QuZm9yRWFjaCgodD0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKHQpfSkpfSkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uZ2xvYmFsQ2hhbmdlRXZlbnQpKCkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbz10aGlzLm1haW5TZXJpZXNRdW90ZXNBbmRNZXRhaW5mbygpO3JldHVybntwYW5lczpzLHRpbWVBeGlzOnIsY29sb3JzOnt0ZXh0OnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCksYmc6dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC52YWx1ZSgpLHNjYWxlczp0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVDb2xvci52YWx1ZSgpfSxtZXRhOm8ubWV0YSxvaGxjOm8ub2hsYyxxdW90ZXM6by5xdW90ZXN9fWluc2VydFN0dWR5KGUsdCxpLHMsbil7cmV0dXJuIHRoaXMuX2luc2VydFN0dWR5T3JSZXBsYWNlU3R1YihlLHQsdm9pZCAwLGkscyxuKX1yZXBsYWNlU3R1YkJ5U3R1ZHkoZSx0LGkscyxuLHIpe3JldHVybiBlLnVwZGF0ZURlc2NyaXB0b3IodCksdGhpcy5faW5zZXJ0U3R1ZHlPclJlcGxhY2VTdHViKHQsaSxlLHMsbixyKX1hZGRPdmVybGF5U3R1ZHkoZSx0LGkpe2NvbnN0IHM9dGhpcy5tb2RlbCgpO3JldHVybiB0aGlzLl9vcHRpb25zJiZ0aGlzLl9vcHRpb25zLmlzU3ltYm9sQXZhaWxhYmxlP3RoaXMuX29wdGlvbnMuaXNTeW1ib2xBdmFpbGFibGUoZSkudGhlbigoYXN5bmMgbj0+e2lmKCFuKXJldHVybiBudWxsO2F3YWl0KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkucmVxdWVzdE1ldGFJbmZvKCk7Y29uc3Qgcj1zLmNyZWF0ZVN0dWR5SW5zZXJ0ZXIoe3R5cGU6ImphdmEiLHN0dWR5SWQ6Ik92ZXJsYXlAdHYtYmFzaWNzdHVkaWVzIn0sW10pLG89e2FsbG93RXh0ZW5kVGltZVNjYWxlOml9O2lmKCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiKSl7Y29uc3QgZT0oMCwkbC5mYWN0b3J5RGVmYXVsdHMpKCJzdHVkeV9PdmVybGF5QHR2LWJhc2ljc3R1ZGllcy5zdHlsZSIpO28uc3R5bGU9ZX1yZXR1cm4gci5zZXRQcm9wZXJ0aWVzU3RhdGUobyksci5zZXRGb3JjZU92ZXJsYXkodCksci5pbnNlcnQoKCgpPT5Qcm9taXNlLnJlc29sdmUoe2lucHV0czp7c3ltYm9sOmV9LHBhcmVudFNvdXJjZXM6W119KSkpfSkpOlByb21pc2UucmVzb2x2ZShudWxsKX1zaG93SW5kaWNhdG9ycyhlLHQpe2lmKHdpbmRvdy5zdHVkeU1hcmtldClyZXR1cm4gd2luZG93LnN0dWR5TWFya2V0LnZpc2libGUoKS52YWx1ZSgpP3ZvaWQgd2luZG93LnN0dWR5TWFya2V0LmhpZGUoKTood2luZG93LnN0dWR5TWFya2V0LnNob3coZSx0KSwoMCx4Xy50cmFja0J1dHRvbkNsaWNrKSgiaG90a2V5IiwiaW5kaWNhdG9ycyIsdm9pZCAwLCEwKSx3aW5kb3cuc3R1ZHlNYXJrZXQpfXNldFNhdmVDaGFydFNlcnZpY2UoZSl7dGhpcy5fc2F2ZUNoYXJ0U2VydmljZT1lLG51bGwhPT10aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXImJnRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplci5zZXRTYXZlQ2hhcnRTZXJ2aWNlKGUpfWdldFNhdmVDaGFydFNlcnZpY2UoKXtyZXR1cm4gdGhpcy5fc2F2ZUNoYXJ0U2VydmljZX1tYWluU2VyaWVzUXVvdGVzQW5kTWV0YWluZm8oKXtsZXQgZSx0LGk7Y29uc3Qgcz10aGlzLmhhc01vZGVsKCkmJnRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCk7aWYocyl7Y29uc3Qgbj1lPT5udWxsPT1lPyIiOnMuZm9ybWF0dGVyKCkuZm9ybWF0KGUse3NpZ25OZWdhdGl2ZTohMCx1c2VSdGxGb3JtYXQ6ITF9KSxyPWU9Pm51bGw9PWU/IiI6ZSsiIjtlPXtyZXNvbHV0aW9uOnMuaW50ZXJ2YWwoKSxzeW1ib2w6cy5zeW1ib2woKSx2YWx1ZXM6cy5sZWdlbmRWYWx1ZXNQcm92aWRlcigpLmdldFZhbHVlcyhudWxsKX07Y29uc3Qgbz1zLnN5bWJvbEluZm8oKTtvJiYoZS5zeW1ib2w9by5mdWxsX25hbWUsZS5kZXNjcmlwdGlvbj1vLmRlc2NyaXB0aW9uLGUuZXhjaGFuZ2U9by5leGNoYW5nZSk7Y29uc3QgYT1zLmJhcnMoKS5sYXN0KCk7bnVsbCE9PWEmJih0PWEudmFsdWUuc2xpY2UoMSw1KS5tYXAobikpO2NvbnN0IGw9cy5xdW90ZXMoKTtsJiYoaT17Y2hhbmdlOm4obC5jaGFuZ2UpLGNoYW5nZVBlcmNlbnQ6cihsLmNoYW5nZV9wZXJjZW50KSxsYXN0Om4obC5sYXN0X3ByaWNlKX0pfXJldHVybnttZXRhOmUsb2hsYzp0LHF1b3RlczppfX1pc011bHRpcGxlTGF5b3V0KCl7cmV0dXJuIHRoaXMuX2lzTXVsdGlwbGVMYXlvdXR9dXBkYXRlQ3Jvc3NIYWlyUG9zaXRpb25JZk5lZWRlZCgpe2lmKHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT0oMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpO2lmKGUuaXNUb3VjaCl7Y29uc3QgdD10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKXx8dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKVswXTtpZih0Lmhhc1N0YXRlKCkmJighZS5zdHlsdXMmJih0aGlzLl9pc0xpbmVUb29sTW9kZUV4Y2VwdEJydXNoKCl8fCgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpKXx8dGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSkpe2NvbnN0IGU9LjUqdGhpcy5tb2RlbCgpLm1vZGVsKCkudGltZVNjYWxlKCkud2lkdGgoKSxpPS41KnQuc3RhdGUoKS5kZWZhdWx0UHJpY2VTY2FsZSgpLmhlaWdodCgpO3Quc2V0Q3Vyc29yUG9zaXRpb24oZSxpKX0KY29uc3QgaT10aGlzLm1vZGVsKCkubW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKTtpLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShpLmlkKCkpKX19fXRyYWNraW5nTW9kZVBhbmVXaWRnZXQoKXtpZighKDAsdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKS5pc1RvdWNoKXJldHVybiBudWxsO2Zvcihjb25zdCBlIG9mIHRoaXMucGFuZVdpZGdldHMoKSlpZihlLnRyYWNraW5nTW9kZUVuYWJsZWQoKSlyZXR1cm4gZTtyZXR1cm4gbnVsbH1zdGFydFRyYWNraW5nTW9kZSgpe2lmKCgwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCl7dGhpcy5leGl0VHJhY2tpbmdNb2RlKCksdGhpcy51cGRhdGVDcm9zc0hhaXJQb3NpdGlvbklmTmVlZGVkKCk7Y29uc3QgZT10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKXx8dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKVswXSx0PXRoaXMubW9kZWwoKS5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmN1cnJlbnRQb2ludCgpO2Uuc3RhcnRUcmFja2luZ01vZGUodCx0KX19ZXhpdFRyYWNraW5nTW9kZSgpeygwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCYmdGhpcy5wYW5lV2lkZ2V0cygpLnNvbWUoKGU9PmUudHJhY2tpbmdNb2RlRW5hYmxlZCgpKSkmJih0aGlzLnBhbmVXaWRnZXRzKCkuZm9yRWFjaCgoZT0+ZS5leGl0VHJhY2tpbmdNb2RlKCkpKSx0aGlzLm1vZGVsKCkubW9kZWwoKS5jbGVhckN1cnJlbnRQb3NpdGlvbigpKX1vblRvb2xDaGFuZ2VkKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmxpbmVCZWluZ0NyZWF0ZWQoKSYmIWUubGluZUJlaW5nQ3JlYXRlRnJvbUV4dGVybmFsKCkmJnRoaXMuX2NhbmNlbENyZWF0aW5nTGluZSgpLHRoaXMuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCksdGhpcy5leGl0VHJhY2tpbmdNb2RlKCl9c2V0SW5Mb2FkaW5nU3RhdGUoZSl7dGhpcy5faW5Mb2FkaW5nU3RhdGU9ZX1wYWludChlKXt0aGlzLl9kcmF3VGltZS5zZXRWYWx1ZShwZXJmb3JtYW5jZS5ub3coKSk7Y29uc3QgdD1lPz9MZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKTt0LnZhbGlkYXRpb25BY3Rpb25zKCkuZm9yRWFjaCgoZT0+ZSgpKSk7Y29uc3QgaT10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTt0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKChlLHMpPT57bnVsbCE9PWkmJmkhPT1lfHxlLnBhaW50KHQuaW52YWxpZGF0aW9uRm9yUGFuZShzKSx0LmludmFsaWRhdGlvbkZvclRpbWVTY2FsZSgpKX0pKSx0aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQucGFpbnQodC5pbnZhbGlkYXRpb25Gb3JUaW1lU2NhbGUoKSksZWc/LigpLHRoaXMuX3JlZHJhdy5maXJlKCl9R1VJUmVzZXRTY2FsZXMoKXsoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiUmVzZXQgU2NhbGVzIiksdGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkucmVzZXRTY2FsZXMoKX1hcHBseU92ZXJyaWRlcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdFtpLHNdb2YgT2JqZWN0LmVudHJpZXMoZSkpaS5zdGFydHNXaXRoKCJtYWluU2VyaWVzUHJvcGVydGllcy5wcmljZUF4aXNQcm9wZXJ0aWVzIil8fCh0W2ldPXMpO2lmKCgwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5wcm9wZXJ0aWVzKCksdm9pZCAwLCExLHQsdm9pZCAwKSx0aGlzLmhhc01vZGVsKCkpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5tb2RlbCgpLm1vZGVsKCkucHJvcGVydGllcygpLHZvaWQgMCwhMSx0KSwoMCx5YS5hcHBseVByb3BlcnRpZXNPdmVycmlkZXMpKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLHZvaWQgMCwhMSx0LCJtYWluU2VyaWVzUHJvcGVydGllcyIpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnNlc3Npb25zKCkuYXBwbHlPdmVycmlkZXModCk7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKS53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmZS5hcHBseU92ZXJyaWRlcyh0KX19c2hvd0Z1bmRhbWVudGFscyhlKXt0aGlzLnNob3dJbmRpY2F0b3JzKGU/W2VdOnZvaWQgMCwiZnVuZGFtZW50YWxzIil9bWF4aW1pemVkUGFuZVdpZGdldCgpe3JldHVybiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZpbmQoKGU9PmUubWF4aW1pemVkKCkudmFsdWUoKSkpPz9udWxsfWhhc01heGltaXplZFBhbmUoKXtyZXR1cm4gbnVsbCE9PXRoaXMubWF4aW1pemVkUGFuZVdpZGdldCgpfXNldEFjdGl2ZShlKXsoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gmJihlJiZ0aGlzLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCkhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lP3RoaXMuc3RhcnRUcmFja2luZ01vZGUoKTp0aGlzLmV4aXRUcmFja2luZ01vZGUoKSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKSllLnVwZGF0ZSgpO2V8fHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9pc0FjdGl2ZS5zZXRWYWx1ZShlKX1qdXN0QWN0aXZhdGVkKCl7cmV0dXJuIHRoaXMuX2p1c3RBY3RpdmF0ZWR9c2V0QWN0aXZlUGFuZVdpZGdldChlKXt0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKGUpfW9uUGFuZVdpZGdldERlc3Ryb3llZChlKXt0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnZhbHVlKCk9PT1lJiZ0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKG51bGwpfWdldFJlc2l6ZXJEZXRhY2hlcigpe3JldHVybiB0aGlzLl9vcHRpb25zfXRvZ2dsZUZ1bGxzY3JlZW4oKXtjb25zdCBlPXRoaXMuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS52YWx1ZSgpJiYoZS5mdWxsc2NyZWVuLnZhbHVlKCk/ZS5leGl0RnVsbHNjcmVlbigpOmUucmVxdWVzdEZ1bGxzY3JlZW4oKSl9YXN5bmMgZ2VuZXJhbFByb3BlcnRpZXNEZWZpbml0aW9ucygpe3JldHVybiBhd2FpdCgwLAphdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQWxsSmF2YVN0dWRpZXMoKSx0aGlzLl9nZXRDaGFydFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWwoKS50aGVuKChlPT5lLnByb3BlcnR5UGFnZXMoKSkpfXByb3BlcnRpZXNEZWZpbml0aW9uc0ZvclNvdXJjZShlKXtyZXR1cm4oMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeSkoZSl8fCgwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoZSk/ZS5nZXRQcm9wZXJ0eURlZmluaXRpb25zVmlld01vZGVsKCkudGhlbigoZT0+bnVsbD09PWU/bnVsbDplLnByb3BlcnR5UGFnZXMoKSkpLmNhdGNoKChlPT4oWW0ubG9nV2FybihlKSxudWxsKSkpOlByb21pc2UucmVzb2x2ZShudWxsKX1iYWNrZ3JvdW5kVG9wVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZFRvcFRoZW1lLnJlYWRvbmx5KCl9YmFja2dyb3VuZEJhc2VkVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVhZG9ubHkoKX1iYWNrZ3JvdW5kQm90dG9tVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZEJvdHRvbVRoZW1lLnJlYWRvbmx5KCl9c3RhdGUoZSl7aWYodGhpcy5oYXNNb2RlbCgpKXtjb25zdCB0PXRoaXMubW9kZWwoKS5zdGF0ZShlKTtyZXR1cm4gdC5jaGFydElkPXRoaXMuaWQoKSx0fXJldHVybiB0aGlzLl9jb250ZW50fWxpbmVUb29sc0FuZEdyb3Vwc0RUTygpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyKS5wcmVwYXJlRFRPKCl9YXBwbHlMaW5lVG9vbFVwZGF0ZU5vdGlmaWNhdGlvbihlLHQpe3JldHVybiBudWxsPT09dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyP1Byb21pc2UucmVzb2x2ZSgpOnRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplci5hcHBseUxpbmVUb29sVXBkYXRlTm90aWZpY2F0aW9uKGUsdCl9cmVsb2FkQWxsTGluZVRvb2xzKCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5yZWxvYWRBbGxMaW5lVG9vbHMoKX1zdGFydEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI/LnN0YXJ0QXBwbHlpbmdMaW5lVG9vbFVwZGF0ZU5vdGlmaWNhdGlvbigpfWVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI/LmVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKX1hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl9ZGVsZXRlQWxlcnRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5kZWxldGVBbGVydEJ5RXh0ZXJuYWxTb3VyY2UoZSl9c2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpe3JldHVybiB0aGlzLmhhc01vZGVsKCk/dGhpcy5tb2RlbCgpLm1vZGVsKCkuc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpOiEhdGhpcy5fb3B0aW9ucy5jb250ZW50LnNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW59Z2V0VGltZVNjYWxlKCl7cmV0dXJuIHRoaXMuX3RpbWVBeGlzV2lkZ2V0fXNob3dPYmplY3RzVHJlZVBhbmVsT3JEaWFsb2coKXtsZXQgZT0hMTtjb25zdCB0PXdpbmRvdy53aWRnZXRiYXI7aWYodCYmdC5pc1Zpc2libGUoKSl7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc2V0UGFnZSgib2JqZWN0X3RyZWUiKSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKGkud2lkZ2V0KCJvYmplY3RfdHJlZSIpKTsoMCxsLmVuc3VyZURlZmluZWQpKHMucHJvcGVydGllcykuc2V0VmFsdWUoe3NlbGVjdGVkUGFnZToib2JqZWN0X3RyZWUifSksZT0ib2JqZWN0X3RyZWUiPT09aS5uYW1lfWV8fHRoaXMuc2hvd09iamVjdHNUcmVlRGlhbG9nKCl9c2hvd09iamVjdHNUcmVlRGlhbG9nKCl7dGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI/LnNob3coKX1hZGRDdXN0b21XaWRnZXRUb0xlZ2VuZChlLHQpe3RoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwLnNldChlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMucGFuZVdpZGdldHMoKSlpLmFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl9YXBwbHlJbmRpY2F0b3JzVG9BbGxDaGFydHNBdmFpbGFibGUoKXtpZighdGhpcy5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hcHBseUluZGljYXRvcnNUb0FsbENoYXJ0c0F2YWlsYWJsZSgpKXJldHVybiExO2Zvcihjb25zdCBlIG9mIHRoaXMubW9kZWwoKS5tb2RlbCgpLnBhbmVzKCkpe2lmKGUuc291cmNlc0J5R3JvdXAoKS5hbGwoKS5zb21lKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIXNpKGUpKSkpcmV0dXJuITB9cmV0dXJuITF9d2lkZ2V0KCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGl2KX1hZGRDb21wYXJlQXNPdmVybGF5KGUsdCxpKXtjb25zdCBzPXRoaXMubW9kZWwoKTtyZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX29wdGlvbnMuaXNTeW1ib2xBdmFpbGFibGUpKGUpLnRoZW4oKGFzeW5jIG49PntpZighbilyZXR1cm4gbnVsbDthd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IHI9cy5jcmVhdGVTdHVkeUluc2VydGVyKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJPdmVybGF5QHR2LWJhc2ljc3R1ZGllcyJ9LFtdKTtyZXR1cm4gci5zZXRGb3JjZU92ZXJsYXkoITApLHIuc2V0UHJlZmVycmVkUHJpY2VTY2FsZSgiYXMtc2VyaWVzIiksITAhPT1pJiZyLnNldFRhcmdldFByaWNlU2NhbGVNb2RlKHtwZXJjZW50YWdlOiEwfSksdm9pZCAwIT09dCYmci5zZXRQcm9wZXJ0aWVzU3RhdGUoe2FsbG93RXh0ZW5kVGltZVNjYWxlOnR9KSxyLmluc2VydCgoYXN5bmMoKT0+KHtpbnB1dHM6e3N5bWJvbDplfSxwYXJlbnRTb3VyY2VzOltdfSkpKX0pKX1zY3JvbGxIZWxwZXIoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsSGVscGVyfXJlc2l6ZSgpe2NvbnN0IGU9dGhpcy5faGVpZ2h0KCkrInB4Iix0PXRoaXMuX3dpZHRoKCkrInB4IixpPSgwLApsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5EaXYpO2kuc3R5bGUuaGVpZ2h0PWUsaS5zdHlsZS53aWR0aD10LHRoaXMuX2VsTWFpblRhYmxlLnN0eWxlLmhlaWdodD1lLHRoaXMuX2VsTWFpblRhYmxlLnN0eWxlLndpZHRoPXQsdGhpcy5fcmVzaXplSGFuZGxlciYmdGhpcy5fbWFpbkRpdiYmdGhpcy5fcmVzaXplSGFuZGxlcigpfWNoYXJ0UGFpbnRlZCgpe3JldHVybiB0aGlzLl9kcmF3UGxhbm5lZD8obnVsbD09PXRoaXMuX2NoYXJ0UGFpbnRlZFByb21pc2UmJih0aGlzLl9jaGFydFBhaW50ZWRQcm9taXNlPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSksdGhpcy5fY2hhcnRQYWludGVkUHJvbWlzZS5wcm9taXNlKTpQcm9taXNlLnJlc29sdmUoKX1zZXREYXRhV2luZG93V2lkZ2V0KGUpe3RoaXMuX2RhdGFXaW5kb3dXaWRnZXQ9ZX1yZW1vdmVEYXRhV2luZG93V2lkZ2V0KCl7dGhpcy5fZGF0YVdpbmRvd1dpZGdldD1udWxsfXNob3dTZWxlY3RlZFNvdXJjZXNQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCk7aWYoMT09PXQubGVuZ3RoKXRoaXMuc2hvd1NvdXJjZVByb3BlcnRpZXModFswXSxlKTtlbHNle2NvbnN0IGk9dC5maWx0ZXIocmkuaXNMaW5lVG9vbCk7aS5sZW5ndGg+MCYmdGhpcy5zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlcyh7c291cmNlczppLHRhYk5hbWU6ZX0pfX1zZXRUaW1pbmdzTWV0ZXIoZSl7dGhpcy5fdGltaW5nc01ldGVyPWUsdGhpcy5fdXBkYXRlVGltaW5nc01ldGVyU3RhdGUoKX1vbkFib3V0VG9CZURlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWR9ZXhlY3V0ZUFjdGlvbkJ5SWQoZSl7aWYoInRha2VTY3JlZW5zaG90Ij09PWUpcmV0dXJuIGNvbnNvbGUud2FybignQWN0aW9uICJ0YWtlU2NyZWVuc2hvdCIgaXMgZGVwcmVjYXRlZC4gVXNlIG1ldGhvZCAidGFrZVNjcmVlbnNob3QiIGluc3RlYWQnKSx2b2lkIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi50YWtlU2NyZWVuc2hvdCgpO2NvbnN0IHQ9dGhpcy5hY3Rpb25zKClbZV07dD90LmV4ZWN1dGUoKTpjb25zb2xlLndhcm4oIlVua25vd24gYWN0aW9uIGlkOiAiK2UpfWdldENoZWNrYWJsZUFjdGlvblN0YXRlKGUpe2NvbnN0IHQ9dGhpcy5hY3Rpb25zKClbZV07aWYodCl7aWYodC5pc0NoZWNrYWJsZSgpKXJldHVybiB0LmlzQ2hlY2tlZCgpO2NvbnNvbGUud2FybigiQWN0aW9uICIrZSsiIGhhcyBubyBzdGF0ZSIpfWVsc2UgY29uc29sZS53YXJuKCJVbmtub3duIGFjdGlvbiBpZDogIitlKTtyZXR1cm4gbnVsbH1jb25uZWN0KCl7dGhpcy5fY2hhcnRTZXNzaW9uLmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhcnRTZXNzaW9uSXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTZXNzaW9uQ3JpdGljYWxFcnJvciksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QodGhpcy5fb25EYXRhLmJpbmQodGhpcykpfWZpbmlzaEluaXRXaXRob3V0Q29ubmVjdCgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNhYmxlKCksdGhpcy5faW5pdCgpLHRoaXMuX2NoYXJ0V2lkZ2V0SW5pdGlhbGl6ZWQuZmlyZSgpfXJlY29ubmVjdCgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNjb25uZWN0KCksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QoKX11cGRhdGUoKXtpZih0aGlzLmhhc01vZGVsKCkpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkpZS51cGRhdGUoKTt0aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQudXBkYXRlKCl9fXNldFByaWNlQXhpc0hvdmVyZWQoZSx0KXt0P3RoaXMuX2hvdmVyZWRQcmljZUF4ZXMuYWRkKGUpOnRoaXMuX2hvdmVyZWRQcmljZUF4ZXMuZGVsZXRlKGUpLHRoaXMuX2FueUF4aXNIb3ZlcmVkLnNldFZhbHVlKHRoaXMuX2hvdmVyZWRQcmljZUF4ZXMuc2l6ZT4wKX1hbnlQcmljZUF4aXNIb3ZlcmVkKCl7cmV0dXJuIHRoaXMuX2FueUF4aXNIb3ZlcmVkLnJlYWRvbmx5KCl9bGlua2luZ0dyb3VwSW5kZXgoKXtyZXR1cm4gdGhpcy5fbGlua2luZ0dyb3VwSW5kZXh9b2Zmc2V0SW5Eb2N1bWVudChlKXtjb25zdCB0PXRoaXMucGFuZUJ5U3RhdGUoZSk7aWYoIXQpcmV0dXJue2xlZnQ6TmFOLHRvcDpOYU59O2NvbnN0IGk9dC5nZXRFbGVtZW50KCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue2xlZnQ6TWF0aC5yb3VuZChpLmxlZnQrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSx0b3A6TWF0aC5yb3VuZChpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCl9fXNob3dIaW50KGUsLi4udCl7MD09PWU/dGhpcy5fc2hvd0V2ZW50SGludCguLi50KToxPT09ZSYmdGhpcy5fc2hvd1dhcm5pbmdIaW50KC4uLnQpfWhvdGtleXMoKXtyZXR1cm4gdGhpcy5faG90a2V5c31vbkFib3V0VG9Mb2FkQ29udGVudCgpe2lmKHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj8uZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj1udWxsLHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT10aGlzLm1vZGVsKCk7Zm9yKGNvbnN0IHQgb2YgZS5kYXRhU291cmNlcygpKSgwLHJpLmlzTGluZVRvb2wpKHQpJiZ0LmRldGFjaEFsZXJ0KCk7ZS5pc0luUmVwbGF5KCkudmFsdWUoKSYmZS5zd2l0Y2hUb1JlYWx0aW1lKCl9dGhpcy5fY2hhcnRTZXNzaW9uLmRpc2Nvbm5lY3QoKX1hc3luYyBsb2FkQ29udGVudChlLHQpe3RoaXMuc2NyZWVuLnNob3coKTtjb25zdCBpPXRoaXMubW9kZWwoKTtpLm1vZGVsKCkuc2V0TWF4aW1pemVkUGFuZShudWxsKSxpLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpO2NvbnN0IHM9aS5tYWluU2VyaWVzKCk7aS5tb2RlbCgpLmlzSW5SZXBsYXkoKS52YWx1ZSgpJiZpLm1vZGVsKCkuc3dpdGNoVG9SZWFsdGltZSgpO2xldCBuLHI7aS5jcm9zc2hhaXJTb3VyY2UoKS5jbGVhck1lYXN1cmUoKSxpLnVubG9hZERhdGFTb3VyY2VzKCksCmkubW9kZWwoKS5hbGVydHNXYXRjaGVyKCk/LmRldGFjaFNvdXJjZUFsZXJ0TGFiZWxzKHMpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5jb25uZWN0KHRoaXMuX29uRGF0YS5iaW5kKHRoaXMpKSx0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKG51bGwpLHMucHVyZ2VTeW1ib2xJbmZvKCksZS5sb2FkaW5nPSEwLHRoaXMuX2lkPSgwLGwuZW5zdXJlRGVmaW5lZCkoZS5jaGFydElkKSxhd2FpdCgwLHJpLmVuc3VyZUFsbExpbmVUb29sc0xvYWRlZEZvckxheW91dCkoW2VdKSx0aGlzLl9jb250ZW50PWUsdGhpcy5fc2V0U3ltYm9sSW50ZXJ2YWxDb250ZW50T3ZlcnJpZGVzPXt9LHRoaXMuX2luaXRpYWxMb2FkaW5nPXQ7Y29uc3Qgbz10aGlzLl9jb250ZW50U2VyaWVzUHJvcGVydGllcygpO2lmKG8mJihuPW8scj1lLmNoYXJ0UHJvcGVydGllcy5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lKSwhbil0aHJvdyBFcnJvcigiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGV0ZXJtaW5pbmcgbWFpbiBzZXJpZXMgb24gdGhlIGNoYXJ0Iik7Y29uc3QgYT1zLnN0eWxlKCk7dGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKHt2aXNpYmxlOiEwLHN5bWJvbDpuLnN5bWJvbCx0aW1lZnJhbWU6IiIsaW50ZXJ2YWw6bi5pbnRlcnZhbHx8IkQiLHN0eWxlOm4uc3R5bGV9KSx2b2lkIDAhPT1yJiZ0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUuc2V0VmFsdWUociksYSE9PXMuc3R5bGUoKSYmcy5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCksdGhpcy5faW5pdCgpLGkudW5kb0hpc3RvcnkoKS5jbGVhclN0YWNrKCksdGhpcy5fY2hhcnRXaWRnZXRJbml0aWFsaXplZC5maXJlKCksaS5tb2RlbCgpLmFsZXJ0c1dhdGNoZXIoKT8uc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHMpfXJlc2V0RHJhd2luZ1N0YXRlKCl7aWYoKDAsVC5yZXNldFRvQ3Vyc29yKSghMCksdGhpcy5oYXNNb2RlbCgpKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLnBhbmUpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShlKSkuY2FuY2VsQ3JlYXRpbmdMaW5lVG9vbCgpLHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKX19Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5jaGFydEZsb2F0aW5nVG9vbHRpcFZpc2libGUoKS52YWx1ZSgpfV9jbGVhclNlbGVjdGlvbkhvdGtleSgpe3JldHVybntkZXNjOiJDYW5jZWwgc2VsZWN0aW9uIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e2lmKHRoaXMuX2NoZWNrSXNUcmFkZWRHcm91cFNlbGVjdGVkKCkmJnRoaXMuX29wdGlvbnMuZXh0ZXJuYWxTZXJ2aWNlcy50cmFkaW5nLnRyYWRlZENvbnRleHRMaW5raW5nLnZhbHVlKCk/LmNsZWFyKCksdGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSlyZXR1cm4gdGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5JiZ0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uZ2V0QWxsKCkuZm9yRWFjaCgoZT0+e2UhPT10aGlzJiZlLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5SZXBsYXkmJmUuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl9KSksdm9pZCB0aGlzLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpO2lmKHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT10aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCk7MT09PWUubGVuZ3RoJiYoMCxyaS5pc0VkaXRhYmxlVGV4dExpbmVUb29sKShlWzBdKSYmZVswXS50ZXh0RWRpdGluZ0p1c3RGaW5pc2hlZCgpfHx0aGlzLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9Pnt0aGlzLl9jYW5jZWxDcmVhdGluZ0xpbmUoKSxlLmNsZWFyU2VsZWN0aW9uKCl9KSk7Y29uc3QgdD10aGlzLm1vZGVsKCkubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpO3QmJnQuY2FuY2VsTW92ZUhhbmRsZXImJnQuY2FuY2VsTW92ZUhhbmRsZXIoKSYmKHQuY2FuY2VsbGVkPSEwLHRoaXMubW9kZWwoKS5tb2RlbCgpLnNldE1vdmluZ0N1c3RvbVNvdXJjZShudWxsLG51bGwpLHRoaXMubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCkpfX0saXNEaXNhYmxlZDooKT0+e2lmKCF0aGlzLmhhc01vZGVsKCkpcmV0dXJuITA7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLnNlbGVjdGlvbigpLmlzRW1wdHkoKSxpPW51bGw9PT1lLmNyb3NzaGFpclNvdXJjZSgpLm1lYXN1cmVQYW5lKCkudmFsdWUoKSxzPXRoaXMuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmU7cmV0dXJuIHQmJmkmJnN9fX1hc3luYyBfaW5zZXJ0U3R1ZHlPclJlcGxhY2VTdHViKGUsdCxpLHMsbixyKXt0cnl7e2NvbnN0IGk9dGhpcy5tb2RlbCgpLm1vZGVsKCkuY2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh7aWQ6ImphdmEiPT09ZS50eXBlP2Uuc3R1ZHlJZDoiIixjaGlsZDp0Lmxlbmd0aD4wLGZ1bmRhbWVudGFsOnM/LmlzRnVuZGFtZW50YWwsZm9yZWNhc3Q6cz8uaXNGb3JlY2FzdCxzdHViVGl0bGU6cz8uc3R1YlRpdGxlfSk7aWYoIWkuc3VjY2Vzcyl0aHJvdygwLFluLnNob3dTdHVkaWVzTGltaXRHb1Byb0RpYWxvZykodGhpcy5tb2RlbCgpLm1vZGVsKCksaSksbmV3IGxnKGxnLlJlYXNvbnMuTGltaXRzKX1yZXR1cm4gdC5sZW5ndGgmJmF3YWl0IG5ldyBQcm9taXNlKCgoZSx0KT0+eygwLFV0LnJ1bk9yU2lnbkluKShlLHtzb3VyY2U6InN0dWR5IG9uIHN0dWR5IixvblVubW91bnRFdmVudDooKT0+dChuZXcgbGcoYWcuQ2FuY2VsZWQpKX0pfSkpLHI/LigpLCJqYXZhIj09PWUudHlwZSYmYXdhaXQoMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5yZXF1ZXN0TWV0YUluZm8oKSxhd2FpdCB0aGlzLl9pbnNlcnRPclJlcGxhY2VTdHViQnlTdHVkeUltcGwoZSx0LGkscyxuKX1jYXRjaChlKXsKcmV0dXJuIGkmJmUgaW5zdGFuY2VvZiBsZyYmdGhpcy5tb2RlbCgpLm1vZGVsKCkucmVtb3ZlU291cmNlKGksITApLG51bGx9fV9pbnNlcnRPclJlcGxhY2VTdHViQnlTdHVkeUltcGwoZSx0LHMsbixyKXtjb25zdCBvPXRoaXMubW9kZWwoKS5jcmVhdGVTdHVkeUluc2VydGVyKGUsdCxuKTtvLnNldEV2ZW50U291cmNlKG4/LmV2ZW50U291cmNlKSxvLnNldEZvcmNlT3ZlcmxheSgiamF2YSI9PT1lLnR5cGUmJiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIj09PWUuc3R1ZHlJZCYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidm9sdW1lX2ZvcmNlX292ZXJsYXkiKSk7Y29uc3QgYT1vLmluc2VydCgoKGUsaSxzKT0+bmV3IFByb21pc2UoKChuLG8pPT57dGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmdGhpcy5jYW5jZWxSZXF1ZXN0U2VsZWN0UG9pbnQoKSxyP24ocihlLGkscykpOiFmdW5jdGlvbihlKXtyZXR1cm4gaGEuaW5jbHVkZXMoZS5pZCl9KHMpPyhpPz9bXSkuc29tZSgoZT0+ZS5jb25maXJtKSk/KCgwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJDb25maXJtYXRpb24gZGlhbG9ncyIsIklucHV0cyBjb25maXJtYXRpb24gZGlhbG9nIiksSHQodGhpcyxlLHMsbiwoKCk9Pm8obmV3IGxnKGxnLlJlYXNvbnMuQ2FuY2VsZWQpKSkpKTpuKHtpbnB1dHM6e30scGFyZW50U291cmNlczp0fSk6KCgwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJDb25maXJtYXRpb24gZGlhbG9ncyIsIlN5bWJvbCBjb25maXJtYXRpb24gZGlhbG9nIiksSHQodGhpcyxlLHMsbiwoKCk9Pm8obmV3IGxnKGxnLlJlYXNvbnMuQ2FuY2VsZWQpKSksInN5bWJvbCIpKX0pKSksdm9pZCAwLHMpO3JldHVybiBhLnRoZW4oKCgpPT57KDAsVC5oaWRlQWxsSW5kaWNhdG9ycykoKS52YWx1ZSgpJiYoMCxSdC50b2dnbGVIaWRlT3B0aW9ucykoITEpfSkpLmNhdGNoKChlPT57c3x8KGU9PT1wdS5JbnNlcnRpb25FcnJvckNvZGUuU3R1ZHlDYW5ub3RCZUNoaWxkJiYoMCxoZS5zaG93V2FybmluZykoe3RpdGxlOnAudChudWxsLHZvaWQgMCxpKDYzMzkwNykpLHRleHQ6cC50KG51bGwsdm9pZCAwLGkoOTAwMDQxKSksYnV0dG9uVGV4dDpwLnQobnVsbCx2b2lkIDAsaSgxMTE4OTgpKSxiYWNrZHJvcDohMH0pLGU9PT1wdS5JbnNlcnRpb25FcnJvckNvZGUuQ2Fubm90Q29tcGlsZVB1YiYmKDAsaGUuc2hvd1dhcm5pbmcpKHt0aXRsZTpwLnQobnVsbCx2b2lkIDAsaSg2MjE5ODQpKSx0ZXh0OnAudChudWxsLHZvaWQgMCxpKDM4NjM3NykpLGJ1dHRvblRleHQ6cC50KG51bGwsdm9pZCAwLGkoMTExODk4KSksYmFja2Ryb3A6ITB9KSxlPT09cHUuSW5zZXJ0aW9uRXJyb3JDb2RlLkNhbm5vdEdldE1ldGFpbmZvJiYoMCxoZS5zaG93V2FybmluZykoe3RpdGxlOnAudChudWxsLHZvaWQgMCxpKDIxMjU2NCkpLHRleHQ6cC50KG51bGwsdm9pZCAwLGkoMjg1ZTMpKSxidXR0b25UZXh0OnAudChudWxsLHZvaWQgMCxpKDExMTg5OCkpLGJhY2tkcm9wOiEwfSkpfSkpLGF9YXN5bmMgX3Nob3dDaGFydFByb3BlcnRpZXMoZSx0LGkscyl7aWYoIXRoaXMuaGFzTW9kZWwoKSlyZXR1cm4gbnVsbDt0JiYoKDAsUS5zZXRWYWx1ZSkoInByb3BlcnRpZXNfZGlhbG9nLmFjdGl2ZV90YWIuY2hhcnQiLHQpLGkudGFiTmFtZT10KTtjb25zdCBuPWF3YWl0IGNpKGUsdGhpcy5tb2RlbCgpLGksdGhpcy5fb3B0aW9ucy5jaGFydFdpZGdldENvbGxlY3Rpb24scyk7cmV0dXJuIG4/LnZpc2libGUoKS52YWx1ZSgpP246bnVsbH1fY3JlYXRlTGluZVRvb2xzU3luY2hyb25pemVySWZOZWVkZWQoKXt7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5kZXN0cm95KCksdGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVySGFzQ2hhbmdlcz8/PW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVySGFzQ2hhbmdlcy5zZXRWYWx1ZSghMSk7Y29uc3QgZT17cmVhZE9ubHlNb2RlOnRoaXMucmVhZE9ubHkoKSxtaWdyYXRlU3luY2VkTGluZVRvb2xzOnRoaXM9PT10aGlzLl9vcHRpb25zLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRBbGwoKVswXX0sdD17bGF5b3V0SWQ6dGhpcy5sYXlvdXRJZCgpLGNoYXJ0SWQ6dGhpcy5faWQsY2xpZW50SWQ6dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmNsaWVudElkfSxpPXFfLkxpbmVUb29sc1N5bmNocm9uaXplcjt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI9bmV3IGkodCx0aGlzLm1vZGVsKCkubW9kZWwoKSxlLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplckhhc0NoYW5nZXMpLG51bGwhPT10aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlJiZ0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXIuc2V0U2F2ZUNoYXJ0U2VydmljZSh0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlKSx0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXIuaW52YWxpZGF0ZUFsbCghMCksdGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkubW9kZWwoKS5zZXRMaW5lVG9vbHNTeW5jaHJvbml6ZXIodGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyKX19X3VwZGF0ZVRoZW1lZENvbG9yKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKSx0PWUuYmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3AoLjUpO2xldCBpPWUuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxzPWUuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtjb25zdCBuPSgwLEl0LmlzQ29sb3JEYXJrKSh0KSxyPSgwLEl0LmlzQ29sb3JEYXJrKShpKSxvPSgwLEl0LmlzQ29sb3JEYXJrKShzKTt0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldC0tdGhlbWVkLWRhcmsiLG4pLHRoaXMud2lkZ2V0KCkuY2xhc3NMaXN0LnRvZ2dsZSgiY2hhcnQtd2lkZ2V0LS10aGVtZWQtbGlnaHQiLCFuKSx0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayIsciksdGhpcy53aWRnZXQoKS5jbGFzc0xpc3QudG9nZ2xlKCJjaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IiwhciksCnRoaXMud2lkZ2V0KCkuY2xhc3NMaXN0LnRvZ2dsZSgiY2hhcnQtd2lkZ2V0X19ib3R0b20tLXRoZW1lZC1kYXJrIixvKSx0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldF9fYm90dG9tLS10aGVtZWQtbGlnaHQiLCFvKSx0aGlzLl9iYWNrZ3JvdW5kVG9wVGhlbWUuc2V0VmFsdWUocj8iZGFyayI6ImxpZ2h0IiksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUuc2V0VmFsdWUobj8iZGFyayI6ImxpZ2h0IiksdGhpcy5fYmFja2dyb3VuZEJvdHRvbVRoZW1lLnNldFZhbHVlKG8/ImRhcmsiOiJsaWdodCIpLGk9PT1zJiYoMCxrLmlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiLGksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKSkmJihpPW51bGwscz1udWxsKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpKWUudXBkYXRlVGhlbWVkQ29sb3JzKHt0b3BDb2xvcjppLGJvdHRvbUNvbG9yOnN9KX1faXNMaW5lVG9vbE1vZGVFeGNlcHRCcnVzaCgpe2NvbnN0IGU9VC50b29sLnZhbHVlKCk7cmV0dXJuKDAsbS5pc0xpbmVUb29sTmFtZSkoZSkmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGUpJiZ0aGlzLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lfV9jYW5jZWxDcmVhdGluZ0xpbmUoKXtjb25zdCBlPXRoaXMubW9kZWwoKS5tb2RlbCgpLHQ9ZS5saW5lQmVpbmdDcmVhdGVkKCk7aWYobnVsbCE9PXQpe2NvbnN0IGk9ZS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0KTtpJiZpLmV4Y2x1ZGVJdGVtcyhbdF0pO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnBhbmVGb3JTb3VyY2UodCkpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShzKSkuY2FuY2VsQ3JlYXRpbmdMaW5lVG9vbCgpLHQudG9vbG5hbWU9PT1ULnRvb2wudmFsdWUoKSYmKDAsVC5yZXNldFRvQ3Vyc29yKSgpfWNvbnN0IGk9ZS5jcm9zc2hhaXJTb3VyY2UoKS5tZWFzdXJlUGFuZSgpLnZhbHVlKCk7aWYobnVsbCE9PWkpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShpKSkuY2FuY2VsTWVhc3VyaW5nKCl9fV9hZGp1c3RTaXplKGUpe2xldCB0PTA7Y29uc3QgaT10aGlzLmhhc01vZGVsKCk/dGhpcy5tb2RlbCgpLm1vZGVsKCkucHJpY2VTY2FsZVNsb3RzQ291bnQoKTpudWxsLHM9bmV3IFVpbnQzMkFycmF5KG51bGw9PT1pPzA6aS5sZWZ0KSxuPW5ldyBVaW50MzJBcnJheShudWxsPT09aT8wOmkucmlnaHQpLHI9e3ZhbHVlOjB9LG89e3ZhbHVlOjB9LGE9KDAsZGkuZ2V0Q2FudmFzRGV2aWNlUGl4ZWxSYXRpbykoZG9jdW1lbnQuYm9keSksbD0oZSx0KT0+ZSt0LGM9KGUsdCxpKT0+e0FycmF5LmlzQXJyYXkoaSk/aS5mb3JFYWNoKCgodCxpKT0+e2VbaV09TWF0aC5tYXgoZVtpXSx0KX0pKTp0LnZhbHVlPU1hdGgubWF4KHQudmFsdWUsaSl9LGg9KGUsdCxpKT0+e2lmKGkudmFsdWU+dCl7Y29uc3Qgcz1pLnZhbHVlL3Q7bGV0IG49MDtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdPU1hdGguY2VpbChlW3RdKnMpLG4rPWVbdF07cmV0dXJuIG59cmV0dXJuIHR9LGQ9dGhpcy5fd2lkdGgoKSx1PXRoaXMuX2hlaWdodCgpLHA9dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoLF89dGhpcy5oYXNNYXhpbWl6ZWRQYW5lKCk/MDpQaS5oZWlnaHQoKSpwLG09bnVsbCE9PXRoaXMuX3RpbWVBeGlzV2lkZ2V0P3RoaXMuX3RpbWVBeGlzV2lkZ2V0Lm9wdGltYWxIZWlnaHQoKTowO2xldCBnPXUtbT49NjE/bTowO2clMiYmKGcrPTEpO2NvbnN0IGY9dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKSxTPU1hdGgubWF4KDEsTWF0aC5mbG9vcigodS1fLWcpL2YubGVuZ3RoKSk7bGV0IHY9MCx5PW51bGw7Y29uc3QgYj10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTtmb3IoY29uc3QgZSBvZiBmKWlmKCFifHxiPT09ZSl7ZS5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS51cGRhdGVDdXJyZW5jeUxhYmVscygpO2NvbnN0IGk9ZS5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS5vcHRpbWFsV2lkdGhzKCk7ZS5yaWdodFByaWNlQXhpc2VzQ29udGFpbmVyKCkudXBkYXRlQ3VycmVuY3lMYWJlbHMoKTtjb25zdCBhPWUucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLm9wdGltYWxXaWR0aHMoKTtjKHMscixpKSxjKG4sbyxhKSxiIT09ZSYmZS5zdGF0ZSgpLmNvbGxhcHNlZCgpLnZhbHVlKCk/dis9TWF0aC5taW4oUyxlLmNvbGxhcHNlZEhlaWdodCgpKToodCs9ZS5zdHJldGNoRmFjdG9yKCkseT1lKX1sZXQgdz1zLnJlZHVjZShsLDApOzA9PT13JiYwIT09cy5sZW5ndGgmJjAhPT1yLnZhbHVlJiYoc1swXT13PXIudmFsdWUpO2xldCBDPW4ucmVkdWNlKGwsMCk7MD09PUMmJjAhPT1uLmxlbmd0aCYmMCE9PW8udmFsdWUmJihuWzBdPUM9by52YWx1ZSksdz1oKHMsdyxyKSxDPWgobixDLG8pO2xldCBQPU1hdGgubWF4KGQtdy1DLDApO2lmKFA8PTEwMil7dz0wLEM9MCxQPWQ7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspc1tlXT0wO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKW5bZV09MH1mb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lU2VwYXJhdG9ycyllLmFkanVzdFNpemUoKTtjb25zdCBUPV8rditnLHg9dTxUPzA6dS1ULE09eC90O2xldCBJPTAsTD0hMTtjb25zdCBBPXRoaXMuaGFzTW9kZWwoKT90aGlzLm1vZGVsKCkubW9kZWwoKTp2b2lkIDA7dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5mb3JFYWNoKCgoZSx0KT0+e3ZvaWQgMCE9PUEmJmUuc2V0U3RhdGUoQS5wYW5lcygpW3RdKTtsZXQgaT0wO2lmKHRoaXMuaGFzTWF4aW1pemVkUGFuZSgpKWk9dGhpcy5tYXhpbWl6ZWRQYW5lV2lkZ2V0KCk9PT1lP3g6MDtlbHNlIGlmKGUuc3RhdGUoKS5jb2xsYXBzZWQoKS52YWx1ZSgpKWk9TWF0aC5taW4oUyxlLmNvbGxhcHNlZEhlaWdodCgpKTtlbHNle2NvbnN0IHQ9ZT09PXk/TWF0aC5jZWlsKCh4LUkpKmEpL2E6TWF0aC5yb3VuZChlLnN0cmV0Y2hGYWN0b3IoKSpNKmEpL2EKO2k9TWF0aC5tYXgodCwyKSxJKz1pfWUuc2V0UHJpY2VBeGlzU2l6ZXMoImxlZnQiLGkscyksZS5zZXRQcmljZUF4aXNTaXplcygicmlnaHQiLGksbiksTD1MfHxpIT09ZS5oZWlnaHQoKSxlLnNldFNpemUoKDAseXQuc2l6ZSkoe3dpZHRoOlAsaGVpZ2h0Oml9KSksQSYmZS5zdGF0ZSgpJiZBLnNldFBhbmVIZWlnaHQoZS5zdGF0ZSgpLGkpfSkpLG51bGwhPT10aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQuc2V0U2l6ZXMoKDAseXQuc2l6ZSkoe3dpZHRoOlAsaGVpZ2h0Omd9KSxzLG4pLEEmJkEuc2V0V2lkdGgoUCxlKSx0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbiYmdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb24udXBkYXRlUG9zaXRpb24oKSx0aGlzLl9saHNBeGVzV2lkdGghPT13JiYodGhpcy5fbGhzQXhlc1dpZHRoPXcsdGhpcy5fbGhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkLmZpcmUodykpLHRoaXMuX3Joc0F4ZXNXaWR0aCE9PUMmJih0aGlzLl9yaHNBeGVzV2lkdGg9Qyx0aGlzLl9yaHNQcmljZUF4aXNXaWR0aENoYW5nZWQuZmlyZShDKSksTCYmJC5lbWl0KCJwYW5lc19oZWlnaHRfY2hhbmdlZCIpfV9tYWtlUGFuZVdpZGdldHNBbmRTZXBhcmF0b3JzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKS5wYW5lcygpLHQ9ZS5sZW5ndGgsaT10aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmxlbmd0aCxzPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkuc2xpY2UoKTtmb3IobGV0IGU9dDtlPGk7ZSsrKXsoMCxsLmVuc3VyZURlZmluZWQpKHMucG9wKCkpLmRlc3Ryb3koKTtjb25zdCBlPXRoaXMuX3BhbmVTZXBhcmF0b3JzLnBvcCgpO2UmJmUuZGVzdHJveSgpfWNvbnN0IG49dGhpcy5fb3B0aW9ucy5jb250YWluc0RhdGE7Zm9yKGxldCByPTA7cjx0O3IrKyl7Y29uc3QgdD1yPj1pLG89e2NvbnRleHRNZW51RW5hYmxlZDp0aGlzLl9vcHRpb25zLnBhbmVDb250ZXh0TWVudUVuYWJsZWQsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQsaGFuZGxlU2NhbGU6dGhpcy5fb3B0aW9ucy5oYW5kbGVTY2FsZSxoYW5kbGVTY3JvbGw6dGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwscHJpY2VTY2FsZUNvbnRleHRNZW51RW5hYmxlZDp0aGlzLl9vcHRpb25zLnByaWNlU2NhbGVDb250ZXh0TWVudUVuYWJsZWQsbGVnZW5kV2lkZ2V0RW5hYmxlZDp0aGlzLl9vcHRpb25zLmxlZ2VuZFdpZGdldEVuYWJsZWQmJmVbcl0ubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyLHNvdXJjZVN0YXR1c2VzV2lkZ2V0RW5hYmxlZDohbixzb3VyY2VTdGF0dXNlc1dpZGdldDp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0LG1hcmtldFN0YXR1c1dpZGdldEVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5tYXJrZXRTdGF0dXNXaWRnZXRFbmFibGVkJiYhbixjaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkOnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0RW5hYmxlZCYmIW4sY2hhcnRXYXJuaW5nV2lkZ2V0OnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0LGRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZDp0aGlzLl9vcHRpb25zLmRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZCYmIW4sbGVnZW5kV2lkZ2V0OnRoaXMuX29wdGlvbnMubGVnZW5kV2lkZ2V0LHByb3BlcnR5UGFnZXNFbmFibGVkOnRoaXMuX29wdGlvbnMucHJvcGVydHlQYWdlc0VuYWJsZWQsc291cmNlU2VsZWN0aW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLnNvdXJjZVNlbGVjdGlvbkVuYWJsZWQsY29udHJvbHNFbmFibGVkOnRoaXMuX29wdGlvbnMucGFuZUNvbnRyb2xzRW5hYmxlZCxjcm9wcGVkVGlja01hcmtzOnRoaXMuX29wdGlvbnMuY3JvcHBlZFRpY2tNYXJrcyxjb3VudGRvd25FbmFibGVkOnRoaXMuX29wdGlvbnMuY291bnRkb3duRW5hYmxlZCxjdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXM6bmV3IE1hcCh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcCksdXNlS2luZXRpY1Njcm9sbDp0aGlzLl9vcHRpb25zLnVzZUtpbmV0aWNTY3JvbGwscGluZVNvdXJjZVN0YXR1c0VuYWJsZWQ6IXRoaXMucmVhZE9ubHkoKSxhbGVydFN0YXR1c0VuYWJsZWQ6IXRoaXMucmVhZE9ubHkoKSYmIXRoaXMuX29uV2lkZ2V0fTtpZih2b2lkIDAhPT10aGlzLl9vcHRpb25zLnBhbmVDb250ZXh0TWVudSYmKG8uY29udGV4dE1lbnU9dGhpcy5fb3B0aW9ucy5wYW5lQ29udGV4dE1lbnUpLHZvaWQgMCE9PXRoaXMuX29wdGlvbnMucHJpY2VTY2FsZUNvbnRleHRNZW51JiYoby5wcmljZVNjYWxlQ29udGV4dE1lbnU9dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnUpLHQpe2NvbnN0IHQ9bmV3IGJuKHRoaXMsZVtyXSxvLHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUpO2lmKHMucHVzaCh0KSxyPjApe2NvbnN0IGU9bmV3IFBpKHRoaXMsci0xLHIpO3RoaXMuX3BhbmVTZXBhcmF0b3JzLnB1c2goZSksdGhpcy5fdGltZUF4aXNXaWRnZXQ/dGhpcy5fZWxNYWluVGFibGUuaW5zZXJ0QmVmb3JlKGUuZ2V0RWxlbWVudCgpLHRoaXMuX3RpbWVBeGlzV2lkZ2V0LmdldEVsZW1lbnQoKSk6dGhpcy5fZWxNYWluVGFibGUuYXBwZW5kQ2hpbGQoZS5nZXRFbGVtZW50KCkpfXRoaXMuX3RpbWVBeGlzV2lkZ2V0P3RoaXMuX2VsTWFpblRhYmxlLmluc2VydEJlZm9yZSh0LmdldEVsZW1lbnQoKSx0aGlzLl90aW1lQXhpc1dpZGdldC5nZXRFbGVtZW50KCkpOnRoaXMuX2VsTWFpblRhYmxlLmFwcGVuZENoaWxkKHQuZ2V0RWxlbWVudCgpKX1lbHNle3Nbcl0udXBkYXRlT3B0aW9ucyhvKX19Y29uc3Qgcj10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lU2VwYXJhdG9ycylyP2UuaGlkZSgpOmUuc2hvdygpO2ZvcihsZXQgaT0wO2k8dDtpKyspe2NvbnN0IHQ9ZVtpXSxuPXNbaV0KO24uaGFzU3RhdGUoKSYmbi5zdGF0ZSgpPT09dD9uLnVwZGF0ZVByaWNlQXhpc1dpZGdldHNTdGF0ZXMoKTpuLnNldFN0YXRlKHQpfWZvcihsZXQgZT10O2UtLTspc1tlXS51cGRhdGVDb250cm9scygpO3RoaXMuX3BhbmVXaWRnZXRzLnNldFZhbHVlKFsuLi5zXSksdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2U/LnVwZGF0ZVBhbmVXaWRnZXRzKCl9KSksdGhpcy5fdXBkYXRlVGhlbWVkQ29sb3IoKX1fd2lkdGgoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy53aWR0aC52YWx1ZSgpfV9oZWlnaHQoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5oZWlnaHQudmFsdWUoKX1fdXBkYXRlKGUsdCl7Y29uc3QgaT1lP2UuZnVsbEludmFsaWRhdGlvbigpOkxlLkludmFsaWRhdGlvbkxldmVsLkZ1bGwscz0hIWUmJmUuaXNWaXNpYmxlVGltZVJhbmdlTG9ja2VkT25SZXNpemUoKTtpZihudWxsIT09dGhpcy5fdGltaW5nc01ldGVyJiZ0aGlzLl90aW1pbmdzTWV0ZXIuc3RhcnREcmF3KGksdGhpcy5tb2RlbCgpLm1vZGVsKCkubWFpblNlcmllcygpLnN0eWxlKCkpLGk9PT1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsJiYodGhpcy5oYXNNb2RlbCgpP3RoaXMuX3VwZGF0ZUd1aShzKTp0aGlzLl9hZGp1c3RTaXplKHMpKSxpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvciYmKHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py51cGRhdGUoKSx0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKGU9PntlLnVwZGF0ZVByaWNlQXhpc1dpZGdldHMoKX0pKSx0aGlzLl9hcHBseVRpbWVTY2FsZUludmFsaWRhdGlvbnMoZSx0KSx0aGlzLl9pbnZhbGlkYXRpb25NYXNrPy5mdWxsSW52YWxpZGF0aW9uKCk9PT1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsJiYodGhpcy5faW52YWxpZGF0aW9uTWFzay5tZXJnZShlKSx0aGlzLl9hZGp1c3RTaXplKHRoaXMuX2ludmFsaWRhdGlvbk1hc2suaXNWaXNpYmxlVGltZVJhbmdlTG9ja2VkT25SZXNpemUoKSksdGhpcy5fYXBwbHlUaW1lU2NhbGVJbnZhbGlkYXRpb25zKHRoaXMuX2ludmFsaWRhdGlvbk1hc2ssdCksZT10aGlzLl9pbnZhbGlkYXRpb25NYXNrLHRoaXMuX2ludmFsaWRhdGlvbk1hc2s9bnVsbCkpLHRoaXMucGFpbnQoZSksdGhpcy5fZGF0YVdpbmRvd1dpZGdldCl7Y29uc3QgdD1lLm1heFBhbmVJbnZhbGlkYXRpb24oKTt0PT09TGUuSW52YWxpZGF0aW9uTGV2ZWwuRnVsbD90aGlzLl9kYXRhV2luZG93V2lkZ2V0LmZ1bGxVcGRhdGUoKTp0PkxlLkludmFsaWRhdGlvbkxldmVsLk5vbmUmJnRoaXMuX2RhdGFXaW5kb3dXaWRnZXQudXBkYXRlKCl9dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5mb3JFYWNoKCgodCxpKT0+e3QudXBkYXRlU3RhdHVzV2lkZ2V0KGUuaW52YWxpZGF0aW9uRm9yUGFuZShpKSl9KSksbnVsbCE9PXRoaXMuX3RpbWluZ3NNZXRlciYmdGhpcy5fdGltaW5nc01ldGVyLnN0b3BEcmF3KCksZSYmZS5wYW5lc09yZGVySW52YWxpZGF0ZWQoKSYmJC5lbWl0KCJwYW5lc19vcmRlcl9jaGFuZ2VkIil9X2luaXRNYXhpbWl6ZUhvdGtleShlKXtjb25zdCB0PWU9PiFlLmRlZmF1bHRQcmV2ZW50ZWQmJigwLEsubW9kaWZpZXJzRnJvbUV2ZW50KShlKT09PUsuTW9kaWZpZXJzLkFsdCYmISgwLFQudG9vbElzRGVtb25zdHJhdGlvbikoVC50b29sLnZhbHVlKCkpLGk9ZT0+e3QoZSkmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LHM9ZT0+e3QoZSkmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKSl9O3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMCksZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscywhMCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMCksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIscywhMCl9fV9vbk1vdXNld2hlZWwoZSl7aWYoIXRoaXMuaGFzTW9kZWwoKSlyZXR1cm47aWYoIXRoaXMubW9kZWwoKS5tb2RlbCgpLnpvb21FbmFibGVkKCl8fG51bGw9PT10aGlzLl9tb3VzZVdoZWVsSGVscGVyKXJldHVybjtpZih0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuaXNFbXB0eSgpKXJldHVybjtjb25zdCB0PXRoaXMuX21vdXNlV2hlZWxIZWxwZXIucHJvY2Vzc1doZWVsKGUpLGk9dC5kZWx0YVgscz0tdC5kZWx0YVk7aWYoMCE9PWkmJnRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLm1vdXNlV2hlZWx8fDAhPT1zJiZ0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpe2lmKGUuY2FuY2VsYWJsZSYmZS5wcmV2ZW50RGVmYXVsdCgpLDAhPT1zJiZ0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpe2NvbnN0IHQ9TWF0aC5zaWduKHMpKk1hdGgubWluKDEsTWF0aC5hYnMocykpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGl2KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWUuY2xpZW50WC10aGlzLl9saHNBeGVzV2lkdGgtaS5sZWZ0O2lmKCFOdW1iZXIuaXNGaW5pdGUobil8fCFOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHZvaWQgWW0ubG9nV2FybigiSW5jb3JyZWN0IG1vdXNlIHdoZWVsIHByb2Nlc3Npbmc6IHNjcm9sbFBvc2l0aW9uOiAiK24rIiwgem9vbVNjYWxlOiAiK3QpO2NvbnN0IHI9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSkubW9kKCk7dGhpcy5tb2RlbCgpLm1vZGVsKCkuem9vbVRpbWUobix0LCEhcnx8dm9pZCAwKSx0aGlzLl9vblpvb20uZmlyZShyKX0wIT09aSYmdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwubW91c2VXaGVlbCYmdGhpcy5tb2RlbCgpLnNjcm9sbENoYXJ0KC04MCppKX19X2JlZ2luUmVxdWVzdEFjdGl2ZSgpe2NvbnN0IGU9dGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVi52YWx1ZSgpIT09dGhpcztpZih0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQuc2V0VmFsdWUodGhpcyksZSl7dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFyaWFEZXNjcmliZUNoYXJ0KHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0V1YudmFsdWUoKSk7Y29uc3QgZT0oMCwKdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKTtlLmlzVG91Y2gmJiFlLnN0eWx1cyYmdGhpcy5faXNMaW5lVG9vbE1vZGVFeGNlcHRCcnVzaCgpJiZ0aGlzLnVwZGF0ZUNyb3NzSGFpclBvc2l0aW9uSWZOZWVkZWQoKSx0aGlzLl9qdXN0QWN0aXZhdGVkPSEwfX1fZW5kUmVxdWVzdEFjdGl2ZSgpe3RoaXMuX2p1c3RBY3RpdmF0ZWQmJnNldFRpbWVvdXQoKCgpPT50aGlzLl9qdXN0QWN0aXZhdGVkPSExKSwwKX1fcmVxdWVzdEFjdGl2ZSgpe3RoaXMuX2JlZ2luUmVxdWVzdEFjdGl2ZSgpLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUoKX1fY3JlYXRlU2Vzc2lvbnMoZSl7Y29uc3QgdD10aGlzLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzLmJpbmQodGhpcyxKdC5UYWJOYW1lcy5ldmVudHMpO2UuY3JlYXRlU2Vzc2lvbnModCl9X2NyZWF0ZVByZVBvc3RNYXJrZXQoZSl7e2NvbnN0IHQ9dGhpcy5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcy5iaW5kKHRoaXMsSnQuVGFiTmFtZXMuc2NhbGVzKTtlLmNyZWF0ZVByZVBvc3RNYXJrZXQodCl9fV9jcmVhdGVWb2x1bWVJZk5lZWRlZCgpe2NvbnN0IGU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIpJiZ0aGlzLl9vcHRpb25zLmFkZFZvbHVtZSx0PSF0aGlzLl9jb250ZW50LGk9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIik7dGhpcy5fY29udGVudCYmdGhpcy5fY29udGVudC5sb2FkaW5nO2lmKGUmJnQpe2NvbnN0IGU9KCk9PntzZXRUaW1lb3V0KChhc3luYygpPT57Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKSx0PWUubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZighdClyZXR1cm47Y29uc3QgaT0oMCxBLmhhc1ZvbHVtZSkodCk7aWYoIXRoaXMuY29udGFpbnNWb2x1bWUoKSYmaSl7Y29uc3QgdD0oMCwkbC5mYWN0b3J5RGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMudm9sdW1lUGFuZVNpemUiKTthd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IGk9ZS5jcmVhdGVTdHVkeUluc2VydGVyKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIn0pO2kuc2V0Rm9yY2VPdmVybGF5KCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInZvbHVtZV9mb3JjZV9vdmVybGF5IikpLGkuc2V0UGFuZVNpemUodCksKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV92b2x1bWVfbWEiKSYmaS5zZXRQcm9wZXJ0aWVzU3RhdGUoe3N0eWxlczp7dm9sX21hOntkaXNwbGF5OlZoLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZX19fSksaS5pbnNlcnQoKX1lbHNlIGlmKCFpJiZ0aGlzLmNvbnRhaW5zVm9sdW1lKCkpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIlZvbHVtZSI9PT1lLm1ldGFJbmZvKCkuc2hvcnRJZCkpWzBdO2UucmVtb3ZlU291cmNlKHQpfX0pKX07dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyxlLGkpfX1vbk1vZGVsVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9X2luaXRCYWNrZ3JvdW5kQ29sb3IoKXtudWxsPT09dGhpcy5fYmFja2dyb3VuZFRvcENvbG9yU3Bhd24mJih0aGlzLl9iYWNrZ3JvdW5kVG9wQ29sb3JTcGF3bj10aGlzLm1vZGVsKCkubW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvclNwYXduLnN1YnNjcmliZSh0aGlzLl9vbkJhY2tncm91bmRDb2xvckNoYW5nZWQuYmluZCh0aGlzKSkpLG51bGw9PT10aGlzLl9iYWNrZ3JvdW5kQm90dG9tQ29sb3JTcGF3biYmKHRoaXMuX2JhY2tncm91bmRCb3R0b21Db2xvclNwYXduPXRoaXMubW9kZWwoKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnNwYXduKCksdGhpcy5fYmFja2dyb3VuZEJvdHRvbUNvbG9yU3Bhd24uc3Vic2NyaWJlKHRoaXMuX29uQmFja2dyb3VuZENvbG9yQ2hhbmdlZC5iaW5kKHRoaXMpKSl9X3VwZGF0ZUd1aShlKXt0aGlzLmhhc01vZGVsKCkmJih0aGlzLl9tYWtlVGltZUF4aXNXaWRnZXQoKSx0aGlzLl9tYWtlUGFuZVdpZGdldHNBbmRTZXBhcmF0b3JzKCksdGhpcy5fZWxNYWluVGFibGUuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsdGhpcy5fYWRqdXN0U2l6ZShlKSl9X29uQ2hhcnRTdHlsZUNoYW5nZWQoKXsoMCxNdC50cmFja0V2ZW50KSgiQ2hhcnQiLGBDaGFydCBTdHlsZSAke3RoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuZ2V0U3R5bGVTaG9ydE5hbWUoKS50b1VwcGVyQ2FzZSgpfWApfV9hZGRQZXJmTWFyayhlKXsoMCxxbS5hZGRQZXJmTWFyaykoYENoYXJ0V2lkZ2V0LiR7dGhpcy5faWR9LiR7ZX1gKX1fc2V0RWxlbWVudChlKXtpZighZSlyZXR1cm47aWYodGhpcy5fbWFpbkRpdil7dGhpcy5fbWFpbkRpdi5yZW1vdmUoKTtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7ZS5zZWxlY3ROb2RlQ29udGVudHMoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpKSxlLmRlbGV0ZUNvbnRlbnRzKCl9dGhpcy5fY29udHJvbEJhck5hdmlnYXRpb24mJih0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbi5kZXN0cm95KCksdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb249bnVsbCksbnVsbCE9PXRoaXMuX3JlbW92ZU1heGltaXplSG90a2V5JiZ0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleSgpLHRoaXMuX3JlbW92ZU1heGltaXplSG90a2V5PXRoaXMuX2luaXRNYXhpbWl6ZUhvdGtleShlKTtjb25zdCB0PWUub3duZXJEb2N1bWVudCxzPXQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cy5jbGFzc0xpc3QuYWRkKCJjaGFydC1jb250YWluZXItYm9yZGVyIiksZS5pbnNlcnRCZWZvcmUocyxlLmZpcnN0Q2hpbGQpLHRoaXMuX3BhcmVudD1zO2NvbnN0IG49dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihuLmNsYXNzTGlzdC5hZGQoImNoYXJ0LXdpZGdldCIpLHRoaXMuX21haW5EaXY9biwKdGhpcy5fZWxUb29sdGlwRGl2PXQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxUb29sdGlwRGl2LmNsYXNzTmFtZT0idG9vbHRpcC13cmFwcGVyIix0aGlzLl9tYWluRGl2LmFwcGVuZENoaWxkKHRoaXMuX2VsVG9vbHRpcERpdiksdGhpcy5fZWxNYWluVGFibGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbE1haW5UYWJsZS5jbGFzc05hbWU9ImNoYXJ0LW1hcmt1cC10YWJsZSIsdGhpcy5fbWFpbkRpdi5hcHBlbmRDaGlsZCh0aGlzLl9lbE1haW5UYWJsZSksbi5zZXRBdHRyaWJ1dGUoInJvbGUiLCJyZWdpb24iKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIscC50KG51bGwse3JlcGxhY2U6e2luZGV4OnRoaXMuaWQoKX19LGkoODQzMzY3KSkpLHRoaXMuX2hvdGtleXNMaXN0ZW5lciYmdGhpcy5faG90a2V5c0xpc3RlbmVyLmRlc3Ryb3koKSx0aGlzLl9lcnJvclJlbmRlcmVyUmVzb3VyY2UuY2FsbEZ1bmN0aW9uKChlPT57ZT8uc2V0Q29udGFpbmVyKHRoaXMuX3BhcmVudCl9KSksdGhpcy5faG90a2V5c0xpc3RlbmVyPW5ldyBYdC5DaGFydEhvdGtleXNMaXN0ZW5lcih0aGlzLHRoaXMuX21haW5EaXYpLCh0aGlzLl9vcHRpb25zLmNvbnRyb2xCYXJFbmFibGVkfHwoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjb250cm9sX2JhciIpKSYmdGhpcy5fY3JlYXRlQ29udHJvbEJhcigpLHRoaXMuX29wdGlvbnMuaGFuZGxlU2NhbGUubW91c2VXaGVlbHx8dGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwubW91c2VXaGVlbCl7dGhpcy5fbW91c2VXaGVlbEhlbHBlcj1uZXcgU2k7Y29uc3QgZT10aGlzLl9vbk1vdXNld2hlZWwuYmluZCh0aGlzKTt0aGlzLl9vbldoZWVsQm91bmQ9ZSx0aGlzLl9tYWluRGl2LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixlLHtwYXNzaXZlOiExfSl9dGhpcy5fbWFpbkRpdi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIiwoKCk9PnRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMCkpKSx0aGlzLl9tYWluRGl2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLCgoKT0+dGhpcy5faXNIb3ZlcmVkLnNldFZhbHVlKCExKSkpLHRoaXMucmVzaXplKCksdGhpcy5fanVzdEFjdGl2YXRlZD0hMSx0aGlzLndpdGhNb2RlbCh0aGlzLCgoKT0+e3MuYXBwZW5kQ2hpbGQobiksbi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX2JlZ2luUmVxdWVzdEFjdGl2ZS5iaW5kKHRoaXMpKSxuLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9iZWdpblJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fZW5kUmVxdWVzdEFjdGl2ZS5iaW5kKHRoaXMpKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9yZXF1ZXN0QWN0aXZlLmJpbmQodGhpcykpfSkpLHRoaXMuX2luaXRlZCYmKG51bGwhPT10aGlzLl90aW1lQXhpc1dpZGdldCYmKHRoaXMuX3RpbWVBeGlzV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl90aW1lQXhpc1dpZGdldD1udWxsKSx0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKGU9PntlLmRlc3Ryb3koKX0pKSx0aGlzLl9wYW5lV2lkZ2V0cy5zZXRWYWx1ZShbXSksdGhpcy5fcGFuZVNlcGFyYXRvcnMuZm9yRWFjaCgoZT0+e2UuZGVzdHJveSgpfSkpLHRoaXMuX3BhbmVTZXBhcmF0b3JzLmxlbmd0aD0wLHRoaXMuX3VwZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKSxwZXJmb3JtYW5jZS5ub3coKSkpfV9pbml0KCl7dGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLmNsZWFyRGF0YSgpLHRoaXMuX2luaXRDb2xvcnMoKSx0aGlzLl9tYWtlRGVmYXVsdEd1aSgpO3RoaXMuX21ha2VEZWZhdWx0TW9kZWwoKSwoKCk9Pnt0aGlzLl9jaGVja09ic29sZXRlVGltZXpvbmUoKSx0aGlzLl9jaGFydFNlc3Npb24mJnRoaXMuX2NoYXJ0U2Vzc2lvbi5jb25uZWN0ZWQoKSYmdGhpcy5tb2RlbCgpLm1vZGVsKCkucmVzdGFydCgpLHRoaXMuX2NvbnRlbnQmJih0aGlzLl9pbml0Q29sb3JzKCksdGhpcy5fdXBkYXRlR3VpKCksdGhpcy51cGRhdGUoKSksdGhpcy5fcmVzaXplSGFuZGxlcj0oKT0+e3RoaXMuX2ludmFsaWRhdGlvbkhhbmRsZXIoTGUuSW52YWxpZGF0aW9uTWFzay5mdWxsKCkpfSx0aGlzLl9yZXNpemVIYW5kbGVyKCksKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpLmFwcGVuZENoaWxkKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbWFpbkRpdikpLHRoaXMuX3NwaW5uZXImJih0aGlzLl9zcGlubmVyLnN0b3AoKSx0aGlzLl9zcGlubmVyPW51bGwpLHRoaXMuX2FjdGl2YXRlU3ltYm9sU2VhcmNoSG90a2V5cygpLHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5vblNjcm9sbCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fb25TY3JvbGwuZmlyZSgpKSksdGhpcy5faW5pdGVkPSEwfSkoKX1fbWFrZURlZmF1bHRNb2RlbCgpe2xldCBlO2lmKHRoaXMuX2NvbnRlbnQmJnRoaXMuX2NvbnRlbnQudGltZVNjYWxlLnBvaW50cyl7Y29uc3QgdD10aGlzLl9jb250ZW50LnRpbWVTY2FsZS5wb2ludHMuaXRlbXNbMF07ZT17c3RhcnREYXRlOnR9fWNvbnN0IHQ9KCk9Pntjb25zdCB0PXtyZWFkT25seTp0aGlzLnJlYWRPbmx5KCksaXNTbmFwc2hvdDohIXRoaXMuX2NvbnRhaW5zRGF0YSwuLi4oMCwKa3QucGlja0ZpZWxkcykodGhpcy5fb3B0aW9ucyxbInRpbWVTY2FsZSIsImNyb3NzSGFpciIsImNoYXJ0RXZlbnRzRW5hYmxlZCIsIm5ld3NOb3RpZmljYXRpb25zRW5hYmxlZCIsImVzZEVuYWJsZWQiLCJsYXRlc3RVcGRhdGVzRW5hYmxlZCIsImNvbnRpbnVvdXNDb250cmFjdFN3aXRjaGVzRW5hYmxlZCIsImZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25FbmFibGVkIiwiY291bnRkb3duRW5hYmxlZCIsImxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWQiLCJjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkIiwidW5pdENvbnZlcnNpb25FbmFibGVkIiwibWV0cmljQ29udmVyc2lvbkVuYWJsZWQiLCJ3YXRlcm1hcmtFbmFibGVkIiwic2hpZnRWaXNpYmxlUmFuZ2VPbk5ld0JhciIsImhpZGVJZGVhcyIsIm9uV2lkZ2V0Il0pfTt2b2lkIDAhPT10LmNyb3NzSGFpciYmKHQuY3Jvc3NIYWlyLmV4dGVybmFsU2VydmljZXM9dGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzLnRyYWRpbmcpO2NvbnN0IGk9bmV3IENfKHtjaGFydFNlc3Npb246dGhpcy5fY2hhcnRTZXNzaW9uLGludmFsaWRhdGVIYW5kbGVyOnRoaXMuX2ludmFsaWRhdGlvbkhhbmRsZXIscHJvcGVydGllczp0aGlzLl9wcm9wZXJ0aWVzLHNlcmllc1Byb3BlcnRpZXM6dGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMsZGF0YVJlcXVlc3Q6ZSxjaGFydFdpZGdldDp0aGlzLHVuZG9IaXN0b3J5OnRoaXMuX29wdGlvbnMudW5kb0hpc3RvcnksYmFyc01hcmtzQ29udGFpbmVyc0ZhY3Rvcnk6dGhpcy5fb3B0aW9ucy5iYXJzTWFya3NDb250YWluZXJzRmFjdG9yeSxvcHRpb25zOnQsaGliZXJuYXRlVlc6dGhpcy5fY29sbGFwc2VkLGxpbmtpbmdHcm91cFdWOnRoaXMuX2xpbmtpbmdHcm91cEluZGV4LGlzQXV0b1NhdmVFbmFibGVkOnRoaXMuX3NhdmVDaGFydFNlcnZpY2U/LmF1dG9TYXZlRW5hYmxlZCgpPz9uZXcgaC5XYXRjaGVkVmFsdWUoITApLGRyYXdUaW1lOnRoaXMuX2RyYXdUaW1lLnJlYWRvbmx5KCksdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZTp0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXMudHJhZGluZy50cmFkaW5nUHJlZmVyZW5jZXNTZXJ2aWNlfSk7cmV0dXJuIGkubW9kZWwoKS5mdWxsVXBkYXRlKCksdGhpcy5fY3JlYXRlU2Vzc2lvbnMoaS5tb2RlbCgpKSx0aGlzLl9jcmVhdGVQcmVQb3N0TWFya2V0KGkubW9kZWwoKSksaX07dGhpcy5fbW9kZWxXVi5zZXRWYWx1ZSh0aGlzLl9tb2RlbFdWLnZhbHVlKCl8fHQoKSwhMCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuc2V0Q2hhcnRTYXZlVGltZSgxZTMqdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLm1ldGFJbmZvLmxhc3RNb2RpZmllZC52YWx1ZSgpKSx0aGlzLl9jcmVhdGVWb2x1bWVJZk5lZWRlZCgpO2lmKHRoaXMuX2NvbnRlbnQpe2xldCBlPXRoaXMuX3NldFN5bWJvbEludGVydmFsQ29udGVudE92ZXJyaWRlcztLbSYmdGhpcy5faW5pdGlhbExvYWRpbmcmJihlPXsuLi5lLHN5bWJvbDp0aGlzLl9kZWZTeW1ib2wsaW50ZXJ2YWw6dGhpcy5fZGVmSW50ZXJ2YWw/P3ZvaWQgMCxzdHlsZTp0aGlzLl9kZWZTdHlsZT8/dm9pZCAwfSx0aGlzLl9kZWZJbnRlcnZhbCYmeC5JbnRlcnZhbC5pc1JhbmdlKHRoaXMuX2RlZkludGVydmFsKSYmKGUuc3R5bGU9MTEpKSx0aGlzLl9hcHBseVNhdmVkTW9kZWxTdGF0ZSh0aGlzLl9jb250YWluc0RhdGEsZSksdGhpcy5fc2V0U3ltYm9sSW50ZXJ2YWxDb250ZW50T3ZlcnJpZGVzPXt9LEttJiZ0aGlzLl9kZWZTeW1ib2wmJnRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UoKX10aGlzLl9zZXRBY3Rpb25zKCksdGhpcy5fY3JlYXRlTGluZVRvb2xzU3luY2hyb25pemVySWZOZWVkZWQoKSwoKCk9Pntjb25zdCBlPXRoaXMubW9kZWwoKTtlLm9uVGFnc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25Nb2RlbFRhZ3NDaGFuZ2VkKCkpKSx0aGlzLl9pbml0QmFja2dyb3VuZENvbG9yKCksdGhpcy5fdXBkYXRlR3VpKCksdGhpcy5fbW9kZWxDcmVhdGVkLmZpcmUoZSksdGhpcy5fdGFnc0NoYW5nZWQuZmlyZSgpO2NvbnN0IHQ9ZS5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKTt0aGlzLl9kZWZUaW1lZnJhbWUmJnQuc2V0RGVmYXVsdFRpbWVmcmFtZSh0aGlzLl9kZWZUaW1lZnJhbWUpLHRoaXMuX2RlZk1ldHJpYyYmdC5zZXRNZXRyaWModGhpcy5fZGVmTWV0cmljKSx0LmRhdGFFdmVudHMoKS5zeW1ib2xOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoZT0+dC5zZXRTeW1ib2xQYXJhbXMoe3N5bWJvbDplfSkpKSx0aGlzLl9zeW1ib2xXVi5zZXRWYWx1ZShpLnN5bWJvbC52YWx1ZSgpKSxpLnN5bWJvbC5zdWJzY3JpYmUodGhpcywoZT0+dGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoZS52YWx1ZSgpKSkpLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShpLmludGVydmFsLnZhbHVlKCkpLGkuaW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlLnZhbHVlKCkpKSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlTG9naW5TdGF0ZUNoYW5nZWQpLHRoaXMuX2hhbmRsZUxvZ2luU3RhdGVDaGFuZ2VkKCksdC5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+e2NvbnN0IGk9ZS5wcm9fbmFtZSxzPWUucHJvX3Blcm07aSYmdGhpcy5fb3B0aW9ucy5pc1N5bWJvbEF2YWlsYWJsZSYmdGhpcy5fb3B0aW9ucy5pc1N5bWJvbEF2YWlsYWJsZShpLHMpLnRoZW4oKGU9PntlfHx0LnNldFN5bWJvbFBhcmFtcyh7c3ltYm9sOigwLER0LmdldERlZmF1bHRTeW1ib2wpKCl9KX0pKX0pKSx2b2lkIDAhPT10aGlzLl9vcHRpb25zLnJlcXVlc3RGYWxsYmFja1N5bWJvbCYmdC5kYXRhRXZlbnRzKCkuc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+eygwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fb3B0aW9ucy5yZXF1ZXN0RmFsbGJhY2tTeW1ib2wpKGkuc3ltYm9sLnZhbHVlKCkse3R5cGU6Imdyb3VwX25vdF9wZXJtaXR0ZWQiLApzeW1ib2xHcm91cDplfSkudGhlbigoZT0+e2UmJnQuc2V0U3ltYm9sUGFyYW1zKHtzeW1ib2w6ZX0pfSkpfSkpLCgwLGwuZW5zdXJlRGVmaW5lZCkodC5vbkluUmVwbGF5U3RhdGVDaGFuZ2VkKS5iaW5kKHQpKCkuc3Vic2NyaWJlKHRoaXMuc2NyZWVuLHRoaXMuc2NyZWVuLnNob3cpLGkuc3R5bGUudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0U3R5bGVDaGFuZ2VkKSxpLnN0eWxlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTdHlsZUNoYW5nZWQpLHQuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fYWRkUGVyZk1hcmsoIlNlcmllc0NvbXBsZXRlZCIpKSwhMCksdC5kYXRhRXZlbnRzKCkuYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX2FkZFBlcmZNYXJrKCJTZXJpZXNGaXJzdERhdGFSZWNlaXZlZCIpKSwhMCk7Y29uc3Qgcz10aGlzLl9vcHRpb25zO3QuZGF0YUV2ZW50cygpLmNoYXJ0VHlwZU5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3Quc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDoiRCJ9KSxzLm11dGVTZXNzaW9uRXJyb3JzfHwoKDAsTWUudHJhY2tHb1Byb0ZlYXR1cmUpKCJrYWdpUmVua28iKSwoMCxXdS5yZWxvZ2luT3JHb1Bybykoe2ZlYXR1cmU6ImthZ2lSZW5rbyJ9KSl9KSksdC5kYXRhRXZlbnRzKCkuaW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IkQifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJpbnRyYWRheVNwcmVhZCJ9KX0pKSx0LmRhdGFFdmVudHMoKS5jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZShudWxsLChpPT57Y29uc3Qgbj1lLm1vZGVsKCkuZGVmYXVsdFJlc29sdXRpb25zKCkscj1uLmZpbmQoKGU9PigwLEkuY29tcGFyZVJlc29sdXRpb25zKShlLGkpPj0wKSk/P25bbi5sZW5ndGgtMV07dC5zZXRTeW1ib2xQYXJhbXMoe2ludGVydmFsOnJ9KSxzLm11dGVTZXNzaW9uRXJyb3JzfHwoMCxXdS5yZWxvZ2luT3JHb1Bybykoe2ZlYXR1cmU6ImN1c3RvbUludGVydmFscyJ9KX0pKSx0LmRhdGFFdmVudHMoKS5zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IjEifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJzZWNvbmRzSW50ZXJ2YWxzIn0pfSkpLHQuZGF0YUV2ZW50cygpLnRpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IjEifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJ0aWNrSW50ZXJ2YWxzIn0pfSkpLHQuZGF0YUV2ZW50cygpLmludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntpZih0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IkQifSksIXMubXV0ZVNlc3Npb25FcnJvcnMpe2xldCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodC5zeW1ib2xJbmZvKCkpLmxpc3RlZF9leGNoYW5nZTsoMCxUXy5nZXRFeGNoYW5nZXMpKCkuZm9yRWFjaCgodD0+e3QudmFsdWU9PT1lJiYoZT10Lm5hbWUpfSkpLCgwLFd1LnJlbG9naW5PckdvUHJvKSh7ZmVhdHVyZToiaW50cmFkYXlFeGNoYW5nZSJ9KX19KSksdC5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5zdWJzY3JpYmUobnVsbCwoKCk9Pntjb25zdCBpPXQuaW50ZXJ2YWwoKSxzPWUubW9kZWwoKS5kZWZhdWx0UmVzb2x1dGlvbnMoKSxuPSgwLEEuZ2V0TGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKCkscj0oMCxJLmdldFJlc29sdXRpb25CeUNoYXJ0U3R5bGUpKG4saSxzKTt0LnNldENoYXJ0U3R5bGVXaXRoSW50ZXJ2YWxJZk5lZWRlZChuLHIpfSkpLHQucmVxdWVzdGluZ1N0eWxlU3VwcG9ydFJlY292ZXJlZC5zdWJzY3JpYmUobnVsbCwoaT0+e2NvbnN0IHM9dC5pbnRlcnZhbCgpLG49ZS5tb2RlbCgpLmRlZmF1bHRSZXNvbHV0aW9ucygpLHI9KDAsSS5nZXRSZXNvbHV0aW9uQnlDaGFydFN0eWxlKShpLHMsbik7dC5zZXRDaGFydFN0eWxlV2l0aEludGVydmFsSWZOZWVkZWQoaSxyKX0pKX0pKCl9X2FwcGx5U2F2ZWRNb2RlbFN0YXRlKGUsdCl7dGhpcy5fYWRqdXN0U2l6ZSgpO2NvbnN0IHM9dGhpcy5tb2RlbCgpLG49cy5yZXN0b3JlU3RhdGUodGhpcy5fY29udGVudCxlLHQpLHI9cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpO3RoaXMuX3N5bWJvbFdWLnNldFZhbHVlKHIuc3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShyLmludGVydmFsLnZhbHVlKCkpLG4mJm4ubGluZXNfbGltaXRfZXhjZWVkZWQmJiF0aGlzLnJlYWRPbmx5KCkmJlByb21pc2UuYWxsKFtpLmUoODM0NTApLGkuZSg1NDY4MSksaS5lKDMxODM3KSxpLmUoMjA5NzEpLGkuZSg0OTUxOCksaS5lKDc1MzA0KSxpLmUoMzgwMDIpLGkuZSg3MDM2NCksaS5lKDg5MTk1KSxpLmUoNzUwNCksaS5lKDgzMjI1KSxpLmUoNDY2MDApLGkuZSgxNzUxNSldKS50aGVuKGkuYmluZChpLDQwODMwOSkpLnRoZW4oKCh7c2hvd0xpbmV0b29sc0xpbWl0RXhjZWVkZWREaWFsb2c6ZX0pPT57ZSh0aGlzKX0pKX1fYWRkSG90a2V5cygpe2lmKHRoaXMuX2hvdGtleXMuYWRkKHtkZXNjOiJNYXhpbWl6ZSIsaG90a2V5OksuTW9kaWZpZXJzLkFsdCsxMyxoYW5kbGVyOigpPT50aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKSxpc0Rpc2FibGVkOigpPT4hdGhpcy5nZXRSZXNpemVyRGV0YWNoZXIoKS5mdWxsc2NyZWVuYWJsZS52YWx1ZSgpfSksdGhpcy5faG90a2V5cy5hZGQodGhpcy5fY2xlYXJTZWxlY3Rpb25Ib3RrZXkoKSksdGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzRGlhbG9nU2hvcnRj"}},"time_used":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/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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.944Z","timestamp":1785136900944,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43325.256fa5a5213b9cb70f5c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: def9417265258b7c23a135cefe8dcec6\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2823,"size_decoded":1643,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2823), with no line terminators","md5":"9117f5417af5435afba6f7700053a6fc","sha1":"28521c103a762e72c133892f41ee2fb550e20888","sha256":"e121896dc20723795767320cb9facd147ce5ba20427b67b47b47eb2f85d85b67","sha512":"7e71e1b26466a549b6496d8e84f2581eff4877ff30f1d0deaa365a3c6729bf545e9672f4a4c8417b5dfe1c7d61cfd349b3c6d476823a50b074c4a6423cb09a67","ssdeep":"","tlshash":"275188abfbcb1e2de71bcea1e7a712ff91a405c1be584138e5b3ad71064ca741724184","first_seen":"2026-04-15T09:47:56.523899Z","last_seen":"2026-08-10T08:00:01.046986Z","times_seen":5636,"resource_available":false,"data":"LmxhYmVsLWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDttYXgtd2lkdGg6MjhweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2l0aW9uOm1heC13aWR0aCAuNnMgY3ViaWMtYmV6aWVyKC40LC4wMSwuMjIsMSkgMHMsYmFja2dyb3VuZCAuM3MgY3ViaWMtYmV6aWVyKC40LC4wMSwuMjIsMSkgMHM7ei1pbmRleDozfS5sYWJlbC1kemJkN2x5ViAubG9nb1dyYXAtZHpiZDdseVZ7cGFkZGluZy1pbmxpbmUtZW5kOjVweH0ubGFiZWwtZHpiZDdseVYuZXhwYW5kZWRCeUNsaWNrLWR6YmQ3bHlWLC5sYWJlbC1kemJkN2x5Vi5leHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWe21heC13aWR0aDoxMDVweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxhYmVsLWR6YmQ3bHlWOmhvdmVye21heC13aWR0aDoxMDVweH19LmxhYmVsLWR6YmQ3bHlWOm5vdChhKXtjdXJzb3I6ZGVmYXVsdH0ubGFiZWwtZHpiZDdseVY6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO291dGxpbmUtb2Zmc2V0Oi0ycHg7b3V0bGluZS13aWR0aDoycHh9LmxhYmVsLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2luc2V0LWlubGluZS1zdGFydDo4cHh9LmxhYmVsLWR6YmQ3bHlWLmVuZC1kemJkN2x5ViwubGFiZWwtZHpiZDdseVYuc3RhcnQtZHpiZDdseVZ7Ym94LXNoYWRvdzowIDJweCA0cHggMCB2YXIoLS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KX0ubGFiZWwtZHpiZDdseVYuZW5kLWR6YmQ3bHlWe2luc2V0LWlubGluZS1lbmQ6OHB4fS5sYWJlbC1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MDtib3JkZXItZW5kLWVuZC1yYWRpdXM6MTJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoxMnB4O2luc2V0LWlubGluZS1zdGFydDowfS5sYWJlbC1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLmVuZC1kemJkN2x5Vntib3JkZXItcmFkaXVzOjA7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MTJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjEycHg7aW5zZXQtaW5saW5lLWVuZDowfS5sYWJlbC1kemJkN2x5Vi50b3AtZHpiZDdseVZ7dG9wOjhweH1AbWVkaWEgKG1heC1oZWlnaHQ6NTBweCl7LmxhYmVsLWR6YmQ3bHlWLnRvcC1kemJkN2x5Vnt0b3A6YXV0bzt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfX0ubGFiZWwtZHpiZDdseVYuYm90dG9tLWR6YmQ3bHlWe2JvdHRvbTo4cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTtib3JkZXItcmFkaXVzOjE3cHg7aGVpZ2h0OjM0cHg7bWF4LXdpZHRoOjM0cHg7cGFkZGluZzowIDZweH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYgLmxvZ29XcmFwLWR6YmQ3bHlWe3BhZGRpbmctaW5saW5lLWVuZDo1cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLmVuZC1kemJkN2x5ViwubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc3RhcnQtZHpiZDdseVZ7Ym94LXNoYWRvdzpub25lfS5sYWJlbC1kemJkN2x5Vi5sYXJnZS1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MCAxN3B4IDE3cHggMH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc25hcC1kemJkN2x5Vi5zdGFydC1kemJkN2x5VjpkaXIocnRsKXtib3JkZXItcmFkaXVzOjE3cHggMCAwIDE3cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLnNuYXAtZHpiZDdseVYuZW5kLWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MTdweCAwIDAgMTdweH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc25hcC1kemJkN2x5Vi5lbmQtZHpiZDdseVY6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czowIDE3cHggMTdweCAwfS5sYWJlbC1kemJkN2x5Vi5sYXJnZS1kemJkN2x5Vi5leHBhbmRlZEJ5Q2xpY2stZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24tZHpiZDdseVZ7bWF4LXdpZHRoOjExMXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVY6aG92ZXJ7bWF4LXdpZHRoOjExMXB4fX0ubGFiZWwtZHpiZDdseVYuZXhwYW5kZWQtZHpiZDdseVZ7bWF4LXdpZHRoOm5vbmU7dHJhbnNpdGlvbjpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubGFiZWwtZHpiZDdseVYuZXhwYW5kZWQtZHpiZDdseVY6aG92ZXJ7bWF4LXdpZHRoOm5vbmV9fS5sYWJlbF9fbGluay1kemJkN2x5Vntib3JkZXItcmFkaXVzOmluaGVyaXQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5sYWJlbC1kemJkN2x5Vi5leHBhbmRlZC1kemJkN2x5ViAubGFiZWxfX2xpbmstZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmV4cGFuZGVkQnlDbGljay1kemJkN2x5ViAubGFiZWxfX2xpbmstZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24tZHpiZDdseVYgLmxhYmVsX19saW5rLWR6YmQ3bHlWe3BvaW50ZXItZXZlbnRzOmF1dG99QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sYWJlbC1kemJkN2x5Vjpob3ZlciAubGFiZWxfX2xpbmstZHpiZDdseVZ7cG9pbnRlci1ldmVudHM6YXV0b319"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.011Z","timestamp":1785136901011,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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 07:21:41 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: 2305ac76e39d63345fdfd8d1f6a61897\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":41784,"size_decoded":13916,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8882)","md5":"75148ecd9563758ef37fbf710fa1ed9c","sha1":"de1a10ecd54ec0decbb03a8cd557426111cea6d0","sha256":"cf8c7a93d59e717ec020cee201f3d4cc1c2abdd9d284d8c741acd1489c03835c","sha512":"f58c5f5e173f73a99e68100eddfff45b2ea08d85d707f75a9b525aed76766a2a71017d55a717a9392da38d5c5ae394e073d0e7784e029bda8c8aae2a167f353d","ssdeep":"768:E+Rr6eBG5q/FjGgPqzEthfn9evRIZ3XQl0m0FSCUSxlfHiTzJuqgyLDNZGItbNb6:spKxt59evRIZXxQy8NbNANtfJiO","tlshash":"5f13c83df5d1956372eb84ff4f66f6435a266402b26b6fe0b135d3c0244ac8b1222e6d","first_seen":"2026-07-23T13:38:20.394325Z","last_seen":"2026-07-28T07:05:00.704151Z","times_seen":1503,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjk2NSw4MDU5NCw4MDkzOV0sezgwNDYxOShvKXtvLmV4cG9ydHM9e319LDExNDA2OChvKXtvLmV4cG9ydHM9eyJjb21tb24tdG9vbHRpcCI6ImNvbW1vbi10b29sdGlwLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWhpZGRlbiI6ImNvbW1vbi10b29sdGlwLS1oaWRkZW4tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0taG9yaXpvbnRhbCI6ImNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWZhcnRoZXIiOiJjb21tb24tdG9vbHRpcC0tZmFydGhlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS12ZXJ0aWNhbCI6ImNvbW1vbi10b29sdGlwLS12ZXJ0aWNhbC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLWZhcnRoZXIiOiJjb21tb24tdG9vbHRpcC1mYXJ0aGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwiOiJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5IjoiY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYnV0dG9uLWNvbnRhaW5lciI6ImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMiOiJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucy1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19idXR0b24iOiJjb21tb24tdG9vbHRpcF9fYnV0dG9uLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZCI6ImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlciI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93IjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFib3ZlIjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFib3ZlLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZSI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXIiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0td2l0aC1ob3RrZXkiOiJjb21tb24tdG9vbHRpcF9fYm9keS0td2l0aC1ob3RrZXktRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX25hcnJvdyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jayI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay0tZGl2aWRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dCI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fcGx1cy1zaWduIjoiY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WCJ9fSw1NjkzOTgobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7aXNGZWF0dXJlRW5hYmxlZDooKT0+Z30pO3ZhciByPXQoOTQ4MzgwKSxsPXQoMzc3MjI2KSxjPXQoODU2MTk2KSxuPXQoOTMyMzY1KTtjb25zdCBhPW5ldyByLkRlbGVnYXRlLGk9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IHM9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUobyl7bi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGkrbywidHJ1ZSIpLGEuZmlyZShvKX1kaXNhYmxlRmVhdHVyZShvKXtuLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oaStvLCJmYWxzZSIpLGEuZmlyZShvKX1yZXNldEZlYXR1cmUobyl7bi5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGkrbyksYS5maXJlKG8pfW9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gYX19O2Z1bmN0aW9uIGQobyxlKXtyZXR1cm4oIW9bZV18fC0xIT09b1tlXSkmJighISgidHJ1ZSI9PT1uLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oaStlKXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJ0cnVlIj09PXdpbmRvdy51c2VyPy5zZXR0aW5ncz8uW2krZV0pfHwhKCJmYWxzZSI9PT1uLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oaStlKXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJmYWxzZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltpK2VdKSYmKCEhb1tlXSYmKDE9PT1vW2VdfHwoMCxjLnNob3VsZEFmZmVjdFVzZXIpKGUsb1tlXSkpKSl9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e30sd2luZG93LlRyYWRpbmdWaWV3LkZlYXR1cmVUb2dnbGU9cztjb25zdCBnPSh1PXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGV8fHt9LCgwLGwub25XaWRnZXQpKCl8fFByb21pc2UuYWxsKFt0LmUoODU0MzQpLHQuZSg3Mjg1KSx0LmUoMTM5OTMpXSkudGhlbih0LmJpbmQodCw1MDcyODUpKS50aGVuKChvPT57by5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub24oImZlYXR1cmV0b2dnbGUiLChvPT57Y29uc3QgZT1kKHUsby5uYW1lKTt1W28ubmFtZV09by5zdGF0ZSxlIT09ZCh1LG8ubmFtZSkmJmEuZmlyZShvLm5hbWUpfSkpfSkpLApkLmJpbmQobnVsbCx1KSk7dmFyIHU7d2luZG93LlRyYWRpbmdWaWV3LmlzRmVhdHVyZUVuYWJsZWQ9Z30sNzkyNjEyKG8sZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse2dldEluaXREYXRhOigpPT5sfSk7KDAsdCgyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5Jbml0RGF0YSIpO2NvbnN0IHI9d2luZG93LmluaXREYXRhfHx7fTtmdW5jdGlvbiBsKCl7cmV0dXJuIHJ9fSw5MzIzNjUobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7VFZMb2NhbFN0b3JhZ2U6KCk9PmN9KTtjb25zdCByPSgwLHQoMjIxMDYxKS5nZXRMb2dnZXIpKCJUVkxvY2FsU3RvcmFnZSIpO3ZhciBsPWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaXNBdmFpbGFibGU9ITAsdGhpcy5sb2NhbFN0b3JhZ2U9d2luZG93LmxvY2FsU3RvcmFnZSx0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ0dmxvY2Fsc3RvcmFnZS5hdmFpbGFibGUiLCJ0cnVlIil9Y2F0Y2gobyl7ZGVsZXRlIHRoaXMuaXNBdmFpbGFibGUsZGVsZXRlIHRoaXMubG9jYWxTdG9yYWdlfXRoaXMuX3VwZGF0ZUxlbmd0aCgpO3RyeXt0aGlzLl9yZXBvcnQoKX1jYXRjaChvKXt9fTtsLnByb3RvdHlwZS5fcmVwb3J0PWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl7Y29uc3Qgbz0xMCxlPVtdO2ZvcihsZXQgbz0wO288dGhpcy5sb2NhbFN0b3JhZ2UubGVuZ3RoO28rKyl7Y29uc3QgdD10aGlzLmtleShvKTtlLnB1c2goe2tleTp0LGxlbmd0aDpTdHJpbmcodGhpcy5nZXRJdGVtKHQpKS5sZW5ndGh9KX1lLnNvcnQoKChvLGUpPT5lLmxlbmd0aC1vLmxlbmd0aCkpO2NvbnN0IHQ9ZS5zbGljZSgwLG8pO2Uuc29ydCgoKG8sZSk9PmUua2V5Lmxlbmd0aC1vLmtleS5sZW5ndGgpKTtjb25zdCBsPWUuc2xpY2UoMCxvKTtyLmxvZ05vcm1hbChgVG90YWwgYW1vdW50IG9mIGtleXMgaW4gTG9jYWwgU3RvcmFnZTogJHt0aGlzLmxlbmd0aH1gKSxyLmxvZ05vcm1hbChgVG9wICR7b30ga2V5cyB3aXRoIGxvbmdlc3QgdmFsdWVzOiAke0pTT04uc3RyaW5naWZ5KHQpfWApLHIubG9nTm9ybWFsKGBUb3AgJHtvfSBsb25nZXN0IGtleSBuYW1lczogJHtKU09OLnN0cmluZ2lmeShsKX1gKTt0cnl7bmF2aWdhdG9yLnN0b3JhZ2UuZXN0aW1hdGUoKS50aGVuKChvPT57ci5sb2dOb3JtYWwoYFN0b3JhZ2UgZXN0aW1hdGU6ICR7SlNPTi5zdHJpbmdpZnkobyl9YCl9KSl9Y2F0Y2gobyl7fX19LGwucHJvdG90eXBlLmxlbmd0aD0wLGwucHJvdG90eXBlLmlzQXZhaWxhYmxlPSExLGwucHJvdG90eXBlLmxvY2FsU3RvcmFnZT17InR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSI6ImZhbHNlIn0sbC5wcm90b3R5cGUuX3VwZGF0ZUxlbmd0aD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBdmFpbGFibGUpdGhpcy5sZW5ndGg9dGhpcy5sb2NhbFN0b3JhZ2UubGVuZ3RoO2Vsc2V7dmFyIG8sZT0wO2ZvcihvIGluIHRoaXMubG9jYWxTdG9yYWdlKXRoaXMubG9jYWxTdG9yYWdlLmhhc093blByb3BlcnR5KG8pJiZlKys7dGhpcy5sZW5ndGg9ZX19LGwucHJvdG90eXBlLmtleT1mdW5jdGlvbihvKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5rZXkobyk6T2JqZWN0LmtleXModGhpcy5sb2NhbFN0b3JhZ2UpW29dfSxsLnByb3RvdHlwZS5nZXRJdGVtPWZ1bmN0aW9uKG8pe3JldHVybiB0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0obyk6dm9pZCAwPT09dGhpcy5sb2NhbFN0b3JhZ2Vbb10/bnVsbDp0aGlzLmxvY2FsU3RvcmFnZVtvXX0sbC5wcm90b3R5cGUuc2V0SXRlbT1mdW5jdGlvbihvLGUpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShvLGUpOnRoaXMubG9jYWxTdG9yYWdlW29dPWUsdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LGwucHJvdG90eXBlLnJlbW92ZUl0ZW09ZnVuY3Rpb24obyl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG8pOmRlbGV0ZSB0aGlzLmxvY2FsU3RvcmFnZVtvXSx0aGlzLl91cGRhdGVMZW5ndGgoKX0sbC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk6dGhpcy5sb2NhbFN0b3JhZ2U9e30sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9O2NvbnN0IGM9bmV3IGw7d2luZG93LlRWTG9jYWxTdG9yYWdlPWN9LDExNzMxMyhvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtpc09uTW9iaWxlQXBwUGFnZTooKT0+bH0pO3ZhciByPXQoNTg3NDM2KTtmdW5jdGlvbiBsKG8sZT0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOnR9PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IGw9InRydWUiPT09dC5nZXQoIm1vYmlsZWFwcF9uZXciKSxjPSJ0cnVlIj09PXQuZ2V0KCJtb2JpbGVhcHAiKTtpZighZSl7Y29uc3Qgbz1yLmdldCgidHZfYXBwIil8fCIiO2x8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKG8pLGN8fD0iaW9zIj09PW99cmV0dXJuISgibmV3IiE9PW8mJiJhbnkiIT09b3x8IWwpfHwhKCJuZXciPT09b3x8IWMpfX0sNzc5Mzg5KG8sZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse0FjdGlvbkdyb3VwOigpPT5sfSk7dmFyIHI9dCg5OTI4MDMpO2NsYXNzIGx7Y29uc3RydWN0b3IobyxlKXt0aGlzLl9hY3Rpb25zPW5ldyBNYXAsdGhpcy5fbWFuYWdlcj1vLHRoaXMub3JkZXI9ZT8ub3JkZXI/PzAsdGhpcy5tb2RhbD0hKCFlfHwhZS5tb2RhbCksZSYmKHRoaXMuZGVzYz1lLmRlc2MpLGUmJmUuaXNEaXNhYmxlZD8iZnVuY3Rpb24iPT10eXBlb2YgZS5pc0Rpc2FibGVkP3RoaXMuaXNEaXNhYmxlZD1lLmlzRGlzYWJsZWQ6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMDp0aGlzLmlzRGlzYWJsZWQ9KCk9PiExLHRoaXMuX21hbmFnZXIucmVnaXN0ZXJHcm91cCh0aGlzKX1hZGQobyl7bGV0IGU9dGhpcy5fYWN0aW9ucy5nZXQoby5ob3RrZXkpO2V8fChlPVtdLHRoaXMuX2FjdGlvbnMuc2V0KG8uaG90a2V5LGUpKTtjb25zdCB0PW5ldyByLkFjdGlvbih0aGlzLG8pO3JldHVybiBlLnB1c2godCksdH1yZW1vdmUobyl7Y29uc3QgZT10aGlzLl9hY3Rpb25zLmdldChvLmhvdGtleSk7aWYoIWUpcmV0dXJuCjtjb25zdCB0PWUuZmluZEluZGV4KChlPT5lPT09bykpO3Q+PTAmJigxPT09ZS5sZW5ndGg/dGhpcy5fYWN0aW9ucy5kZWxldGUoby5ob3RrZXkpOmUuc3BsaWNlKHQsMSkpfWhhbmRsZUhvdGtleShvLGUpe2NvbnN0IHQ9dGhpcy5fYWN0aW9ucy5nZXQobyk7aWYoIXQpcmV0dXJuITE7Zm9yKGNvbnN0IHIgb2YgdClpZigoIXIuZWxlbWVudHx8ZS50YXJnZXQmJnIuZWxlbWVudC5jb250YWlucyhlLnRhcmdldCkpJiYhci5pc0Rpc2FibGVkKGUpKXJldHVybiBlLnJlcGVhdCYmIXIuaXNSZXBlYXRBY2NlcHRlZHx8KHIuaGFuZGxlcihlKSx0aGlzLl9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIobykpLGUucHJldmVudERlZmF1bHQoKSwhMDtyZXR1cm4hMX1wcm9tb3RlKCl7dGhpcy5fbWFuYWdlci5wcm9tb3RlR3JvdXAodGhpcyl9ZGVzdHJveSgpe2Zvcihjb25zdFssb11vZiB0aGlzLl9hY3Rpb25zKWZvcihjb25zdCBlIG9mIG8pZS5kZXN0cm95KCk7dGhpcy5fYWN0aW9ucy5jbGVhcigpLHRoaXMuX21hbmFnZXIudW5yZWdpc3Rlckdyb3VwKHRoaXMpfXN0YXRpYyBzZXRNYXRjaGVkSG90a2V5SGFuZGxlcihvKXtsLl9tYXRjaGVkSG90a2V5SGFuZGxlcj1vfV9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIobyl7bC5fbWF0Y2hlZEhvdGtleUhhbmRsZXImJmwuX21hdGNoZWRIb3RrZXlIYW5kbGVyKG8pfX19LDI5MTM0MShvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtBY3Rpb25NYW5hZ2VyOigpPT5pfSk7dmFyIHI9dCgyMzIzNjQpLGw9dCgyMzU3MjQpLGM9dCg3MjEzNjkpLG49dCg2OTYyMDgpO2NsYXNzIGEgZXh0ZW5kcyByLldhdGNoZWRWYWx1ZXtzZXRWYWx1ZShvLGUpe2NvbnN0IHQ9dGhpcy52YWx1ZSgpOyhlfHx2b2lkIDA9PT10fHx0LmNvZGUhPT1vLmNvZGV8fHQubW9kaWZpZXJzIT09by5tb2RpZmllcnMpJiZzdXBlci5zZXRWYWx1ZShvKX19Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1bXSx0aGlzLl9wcmVzc2VkS2V5cz1uZXcgci5XYXRjaGVkVmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlPW5ldyBhKG5ldyBuLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwKSksdGhpcy5fa2V5RG93bkxpc3RlbmVyPW89PntpZihvLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IGU9KDAsbC5oYXNoRnJvbUV2ZW50KShvKTtpZih0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZShlKSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IG4uS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCgwLGwubW9kaWZpZXJzRnJvbUV2ZW50KShvKSxvLmNvZGUpKSwhKDAsYy5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKGUsby50YXJnZXQpKWZvcihsZXQgdD10aGlzLl9ncm91cHMubGVuZ3RoO3QtLSA+MDspe2NvbnN0IHI9dGhpcy5fZ3JvdXBzW3RdO2lmKCFyLmlzRGlzYWJsZWQoKSl7aWYoci5oYW5kbGVIb3RrZXkoZSxvKSlyZXR1cm47aWYoci5tb2RhbClyZXR1cm59fX0sdGhpcy5fa2V5VXBMaXN0ZW5lcj1vPT57Y29uc3QgZT0oMCxsLmhhc2hGcm9tRXZlbnQpKG8pO3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKGUpLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgbi5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKDAsbC5tb2RpZmllcnNGcm9tRXZlbnQpKG8pLCIiKSl9LHRoaXMuX2JsdXJFdmVudD0oKT0+e3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKDApLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgbi5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoMCwiIikpfSx0aGlzLl9tb3VzZUV2ZW50PW89Pntjb25zdCBlPSgwLGwubW9kaWZpZXJzRnJvbUV2ZW50KShvKSx0PTI1NSYodGhpcy5fcHJlc3NlZEtleXMudmFsdWUoKT8/MCk7dGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUoZXx0KX19bGlzdGVuKG8pe28uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fa2V5RG93bkxpc3RlbmVyKSxvLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9rZXlVcExpc3RlbmVyKSxvLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JsdXJFdmVudCksby5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX21vdXNlRXZlbnQpfXVubGlzdGVuKG8pe28ucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fa2V5RG93bkxpc3RlbmVyKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9rZXlVcExpc3RlbmVyKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JsdXJFdmVudCksby5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX21vdXNlRXZlbnQpfXJlZ2lzdGVyR3JvdXAobyl7dGhpcy5fZ3JvdXBzLnB1c2gobyksdGhpcy5zb3J0R3JvdXBzKCl9dW5yZWdpc3Rlckdyb3VwKG8pe2ZvcihsZXQgZT10aGlzLl9ncm91cHMubGVuZ3RoO2UtLTspdGhpcy5fZ3JvdXBzW2VdPT09byYmdGhpcy5fZ3JvdXBzLnNwbGljZShlLDEpfXByb21vdGVHcm91cChvKXtjb25zdCBlPXRoaXMuX2dldE1vZGFsT3JkZXJFcG9jaCgpLHQ9cyhvLGUpO2xldCByPXRoaXMuX2dyb3Vwcy5maW5kSW5kZXgoKG89PnMobyxlKT09PXQpKSxsPTA7Zm9yKDtyPHRoaXMuX2dyb3Vwcy5sZW5ndGgmJnModGhpcy5fZ3JvdXBzW3JdLGUpPT09dDspe2NvbnN0IGM9dGhpcy5fZ3JvdXBzW3JdO2M9PT1vP2w9MTpzKGMsZSk9PT10JiYodGhpcy5fZ3JvdXBzW3ItbF09YykscisrfXRoaXMuX2dyb3Vwc1tyLWxdPW99cHJlc3NlZEtleXMoKXtyZXR1cm4gdGhpcy5fcHJlc3NlZEtleXMucmVhZG9ubHkoKX1rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKXtyZXR1cm4gdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnJlYWRvbmx5KCl9c29ydEdyb3Vwcygpe2NvbnN0IG89dGhpcy5fZ2V0TW9kYWxPcmRlckVwb2NoKCk7dGhpcy5fZ3JvdXBzLnNvcnQoKChlLHQpPT5zKHQsbyktcyhlLG8pKSl9X2dldE1pbk9yZGVyKCl7cmV0dXJuIHRoaXMuX2dyb3Vwcy5yZWR1Y2UoKChvLGUpPT5NYXRoLm1pbihvLGUub3JkZXIpKSwwKX0KX2dldE1vZGFsT3JkZXJFcG9jaCgpe3JldHVybi0yKihNYXRoLmFicyh0aGlzLl9nZXRNaW5PcmRlcigpKS0xKX19ZnVuY3Rpb24gcyhvLGUpe3JldHVybiBvLm9yZGVyKyhvLm1vZGFsP2U6MCl9fSw5OTI4MDMobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7QWN0aW9uOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihvLGUpe3RoaXMuX2dyb3VwPW87Y29uc3R7aG90a2V5OnQsaGFuZGxlcjpyLGRlc2M6bCxpc0Rpc2FibGVkOmMsZWxlbWVudDpuPW51bGwsaXNSZXBlYXRBY2NlcHRlZDphPSExfT1lO3RoaXMuaG90a2V5PXQsdGhpcy5oYW5kbGVyPXIsdGhpcy5kZXNjPWwsdGhpcy5lbGVtZW50PW4sdGhpcy5pc1JlcGVhdEFjY2VwdGVkPWEsdGhpcy5pc0Rpc2FibGVkPWM/ImZ1bmN0aW9uIj09dHlwZW9mIGM/YzooKT0+ITA6KCk9PiExfWRlc3Ryb3koKXt0aGlzLl9ncm91cCYmKHRoaXMuX2dyb3VwLnJlbW92ZSh0aGlzKSx0aGlzLl9ncm91cD1udWxsKX19fSw3MjcwOShvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtjcmVhdGVHcm91cDooKT0+bn0pO3ZhciByPXQoMjkxMzQxKSxsPXQoNzc5Mzg5KTtjb25zdCBjPW5ldyByLkFjdGlvbk1hbmFnZXI7Yy5wcmVzc2VkS2V5cygpLGMua2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCk7ZnVuY3Rpb24gbihvKXtyZXR1cm4gbmV3IGwuQWN0aW9uR3JvdXAoYyxvKX19LDY5NjIwOChvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtLZXlib2FyZFByZXNzZWRLZXlzU3RhdGU6KCk9Pmx9KTt2YXIgcj10KDIzNTcyNCk7Y2xhc3MgbHtjb25zdHJ1Y3RvcihvLGUpe3RoaXMubW9kaWZpZXJzPW8sdGhpcy5jb2RlPWV9YWx0T3JPcHRpb25Db2RlKCl7cmV0dXJuIkFsdExlZnQiPT09dGhpcy5jb2RlfHwiQWx0UmlnaHQiPT09dGhpcy5jb2RlfWNvbnRyb2xPck1ldGFDb2RlKCl7cmV0dXJuIHIuaXNNYWNLZXlib2FyZD8iTWV0YUxlZnQiPT09dGhpcy5jb2RlfHwiTWV0YVJpZ2h0Ij09PXRoaXMuY29kZXx8Ik9TTGVmdCI9PT10aGlzLmNvZGV8fCJPU1JpZ2h0Ij09PXRoaXMuY29kZToiQ29udHJvbExlZnQiPT09dGhpcy5jb2RlfHwiQ29udHJvbFJpZ2h0Ij09PXRoaXMuY29kZX19fSwzODcyMzEobyxlLHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKG8sZSx0PXt9KXtyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxvLGZ1bmN0aW9uKG8sZSx0PXt9KXtjb25zdCByPU9iamVjdC5hc3NpZ24oe30sZSk7Zm9yKGNvbnN0IGwgb2YgT2JqZWN0LmtleXMoZSkpe2NvbnN0IGM9dFtsXXx8bDtjIGluIG8mJihyW2xdPVtvW2NdLGVbbF1dLmpvaW4oIiAiKSl9cmV0dXJuIHJ9KG8sZSx0KSl9dC5kKGUse21lcmdlVGhlbWVzOigpPT5yfSl9LDQ5MjY3NyhvLGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIobyl7Y29uc3QgZT1bXTtmb3IoY29uc3QgdCBpbiBvKWlmKG8uaGFzT3duUHJvcGVydHkodCkmJm51bGwhPW9bdF0pe2NvbnN0IHI9b1t0XSxsPSJvYmplY3QiPT10eXBlb2Ygcj9KU09OLnN0cmluZ2lmeShyKTpTdHJpbmcocik7ZS5wdXNoKHtrZXk6dCxwYWlyOmVuY29kZVVSSUNvbXBvbmVudCh0KSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGwpfSl9cmV0dXJuIGUuc29ydCgoKG8sZSk9Pm8ua2V5PmUua2V5PzE6by5rZXk8ZS5rZXk/LTE6MCkpLm1hcCgobz0+by5wYWlyKSkuam9pbigiJiIpfXQuZChlLHtjcmVhdGVVcmxQYXJhbXM6KCk9PnJ9KX0sMTA3MDQ1KG8sZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse051bWVyaWNGb3JtYXR0ZXI6KCk9PmN9KTt2YXIgcj10KDU5ODkyMiksbD10KDU0NjQ4NSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihvPXt9KXt0aGlzLl9vcHRpb25zPW99Zm9ybWF0KG8sZT17fSl7aWYoIU51bWJlci5pc0Zpbml0ZShvKSlyZXR1cm4gU3RyaW5nKG8pO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0PXRoaXMuX29wdGlvbnMuaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0LG5vRXhwb25lbnRpYWxGb3JtOm49dGhpcy5fb3B0aW9ucy5ub0V4cG9uZW50aWFsRm9ybX09ZSx7bWluUHJlY2lzaW9uOmEscHJlY2lzaW9uOml9PXRoaXMuX29wdGlvbnMscz0oMCxsLmdldE51bWJlckZvcm1hdCkodCk7cmV0dXJuIHZvaWQgMD09PWk/Yy5fZm9ybWF0Tm9FSW1wbChvLHMsaSxhKTooMCxyLmZvcm1hdE51bWJlcikobyxzLGksbixhKX1wYXJzZShvLGUpe2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LHByZWNpc2lvbjpjfT10aGlzLl9vcHRpb25zLG49KDAsbC5nZXROdW1iZXJGb3JtYXQpKHR8fGU/Lmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCk7bGV0IGE9KDAsci5wYXJzZU51bWJlcikobyxuKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGEpPyhjJiYoYT0rYS50b0ZpeGVkKGMpKSx7cmVzOiEwLHZhbHVlOmF9KTp7cmVzOiExfX1zdGF0aWMgZm9ybWF0Tm9FKG8sZSl7cmV0dXJuIHRoaXMuX2Zvcm1hdE5vRUltcGwobyxlKX1zdGF0aWMgX2Zvcm1hdE5vRUltcGwobyxlLHQsbCl7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShvKT8oZT1lPz97Z3JvdXBpbmdTZXBhcmF0b3I6IiIsZGVjaW1hbFNpZ246Ii4ifSwoMCxyLmZvcm1hdE51bWJlcikobyxlLHQsITAsbCkpOlN0cmluZyhvKX19fSw5MDEwMjIobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7U0VQQVJBVE9SX1BSRUZJWDooKT0+cn0pO2NvbnN0IHI9IiMjIyJ9LDM1NjM4MChvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtnZXRUb29sdGlwRGF0YTooKT0+bCxzZXRUb29sdGlwRGF0YTooKT0+Y30pO2NvbnN0IHI9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbChvLGUpe2NvbnN0IHQ9ci5nZXQobyk7cmV0dXJuIHQgaW5zdGFuY2VvZiBGdW5jdGlvbj90KGUpOnQmJnRbZV19ZnVuY3Rpb24gYyhvLGUsdCl7aWYodCBpbnN0YW5jZW9mIEZ1bmN0aW9uKXJldHVybiB2b2lkIHIuc2V0KG8sdCk7Y29uc3QgbD1yLmdldChvKSxjPXZvaWQgMD09PWx8fGwgaW5zdGFuY2VvZiBGdW5jdGlvbj97fTpsO2NbZV09dCxyLnNldChvLGMpfX0sNDkwMzc4KG8sZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse2dldERhdGFGcm9tVGFyZ2V0OigpPT5tLGdldFRvb2x0aXA6KCk9PmgsaGlkZVRvb2x0aXA6KCk9PmYsCnNldFN0eWxlOigpPT5iLHNob3dUb29sdGlwOigpPT55fSk7dmFyIHIsbD10KDEzODYzOCksYz10KDQ0MzU1Nyksbj10KDk2OTE2OCksYT0odCg4MjkxODApLHQoNTE4NzUpKSxpPXQoNjQwNzQ0KSxzPXQoMzE4OTc0KSxkPXQoNjg2NjUwKSxnPXQoMzU2MzgwKSx1PXQoMzQ1MTUxKSxwPXQoMTE0MDY4KTtmdW5jdGlvbiBtKG8pe2NvbnN0IGU9ZnVuY3Rpb24obyl7Y29uc3QgZT1vLmhhc0F0dHJpYnV0ZSgiZGF0YS10b29sdGlwIik/by5nZXRBdHRyaWJ1dGUoImRhdGEtdG9vbHRpcCIpOm8uZ2V0QXR0cmlidXRlKCJ0aXRsZSIpO3JldHVybiBlJiYoKDAsZy5zZXRUb29sdGlwRGF0YSkobywidGV4dCIsZSksby5yZW1vdmVBdHRyaWJ1dGUoInRpdGxlIikpLCgwLGcuZ2V0VG9vbHRpcERhdGEpKG8sInRleHQiKXx8IiJ9KG8pLHQ9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPXtoOnQuaGVpZ2h0LHc6dC53aWR0aCx4OnQubGVmdCx5OnQudG9wfSxsPW8uZ2V0QXR0cmlidXRlKCJkYXRhLWNvbG9yLXRoZW1lIil8fCIiLGM9by5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLWh0bWwiKSxuPXBhcnNlSW50KG8uZ2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtZGVsYXkiKXx8IiIpLGE9cGFyc2VJbnQoby5nZXRBdHRyaWJ1dGUoImRhdGEtdG9vbHRpcC1kZWJvdW5jZSIpfHwiIik7bGV0IGk9e3R5cGU6Im5vbmUifTtyZXR1cm4gZSYmKGk9e3R5cGU6Yz8iaHRtbCI6InRleHQiLGRhdGE6ZX0pLHthYm92ZTpvLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtYWJvdmUiKSxiZWxvdzpvLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtYmVsb3ciKSxvdGw6by5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLW90bCIpLG90cjpvLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtb3RyIiksdmVydGljYWw6by5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLXZlcnRpY2FsIiksaG90a2V5Om8uZ2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtaG90a2V5IiksbmFycm93Om8uY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1uYXJyb3ciKSx3aWRlOm8uY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC13aWRlIiksY29sb3JUaGVtZTpsLHRvb2x0aXBEZWxheTpuLHRvb2x0aXBEZWJvdW5jZTphLHJlY3Q6cixjb250ZW50OmksdGFyZ2V0Om99fWZ1bmN0aW9uIGgobyl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKEYpLmNsb25lTm9kZSghMCksdD1EKGUpLHtjb250ZW50OnJ9PW87c3dpdGNoKHIudHlwZSl7Y2FzZSJlbGVtZW50Ijp0LmlubmVySFRNTD0iIix0LmFwcGVuZENoaWxkKHIuZGF0YSk7YnJlYWs7Y2FzZSJodG1sIjp0LmlubmVySFRNTD1yLmRhdGE7YnJlYWs7Y2FzZSJ0ZXh0IjppZihvLmhvdGtleSl7Y29uc3Qgbz0oMCxsLmVuc3VyZU5vdE51bGwpKEMpLmNsb25lTm9kZSghMCk7by5pbm5lclRleHQ9ci5kYXRhLHQuYXBwZW5kQ2hpbGQobyl9ZWxzZSB0LmlubmVyVGV4dD1yLmRhdGF9aWYoby5ob3RrZXkpe2NvbnN0IGU9Im5vbmUiIT09ci50eXBlLGM9KDAsbC5lbnN1cmVOb3ROdWxsKShFKS5jbG9uZU5vZGUoITApLG49KDAsdS5ob3RLZXlEZXNlcmlhbGl6ZSkoby5ob3RrZXkpLGE9bi5rZXlzLm1hcCgobz0+YDxzcGFuIGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uIl19Ij4ke299PC9zcGFuPmApKTtjLmlubmVySFRNTD1mdW5jdGlvbihvLGUpe2NvbnN0IHQ9L3tcZH18e2hvdGtleV9cZH0vZ2k7cmV0dXJuIG8ucmVwbGFjZSh0LChvPT57Y29uc3QgdD1OdW1iZXIoby5tYXRjaCgvXGQvKSk7cmV0dXJuIGVbdF19KSl9KG4udGV4dCxhKS5yZXBsYWNlKC9cc1wrXHMvZyxgPHNwYW4gY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbiJdfSI+Kzwvc3Bhbj5gKSx0LmNsYXNzTGlzdC5hZGQocFsiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5Il0pLGUmJmMuY2xhc3NMaXN0LmFkZChwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIl0pLHQuYXBwZW5kQ2hpbGQoYyl9cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGEucHJldmVudERlZmF1bHQpLGV9ZnVuY3Rpb24gYihvLGUpe2NvbnN0IHQ9ZS5yZWN0O2lmKCF0KXJldHVybjsoMCxkLnNldFRvb2x0aXBDb2xvclRoZW1lKShvLGUuY29sb3JUaGVtZXx8ImRlZmF1bHQiKTtjb25zdCByPUQobyksbD1vLnF1ZXJ5U2VsZWN0b3IoYC4ke3BbImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIl19YCk7ZS5hZGRDbGFzcyYmby5jbGFzc0xpc3QuYWRkKGUuYWRkQ2xhc3MpLGUuYWRkQm9keUNsYXNzJiZyLmNsYXNzTGlzdC5hZGQoZS5hZGRCb2R5Q2xhc3MpLHIuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSJdLEJvb2xlYW4oZS53aWRlKSksci5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nIl0sQm9vbGVhbihlLm5vUGFkZGluZykpLHIuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfbmFycm93Il0sQm9vbGVhbihlLm5hcnJvdykpLHIuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucyJdLCEwKSxyLnN0eWxlLmxlZnQ9digwKSxyLnN0eWxlLndpZHRoPXYoci5jbGllbnRXaWR0aCsoQm9vbGVhbihlLm5vUGFkZGluZyk/MDoyKSk7Y29uc3QgYz1kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoLGE9cy5DaGVja01vYmlsZS5pT1MoKXx8cy5DaGVja01vYmlsZS5BbmRyb2lkKCl8fCgwLHMuc3VwcG9ydFRvdWNoKSgpJiYoMCxzLmlzTWFjKSgpP3dpbmRvdy5pbm5lckhlaWdodDpkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCxnPWUudmVydGljYWwsdT1lLmV4dGVuZE1hcmdpbnx8ZyYmdC53PDIwfHwhZyYmdC5oPDIwO28uY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZmFydGhlciJdLHUpLApvLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLXZlcnRpY2FsIl0sZyksby5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsIl0sIWcpO2NvbnN0IG09ZnVuY3Rpb24obyl7cmV0dXJuIG8ucXVlcnlTZWxlY3RvcihgLiR7cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXIiXX1gKX0obyksaD1vLm9mZnNldEhlaWdodDtpZihnKXtjb25zdCBzPTEwLGQ9YS0xMCxnPTEyLHU9cytnLGI9ZC1nLHk9KDAsaS5jbGFtcCkodC55K3QuaC8yLHUsYiktaC8yLGY9eStoO28uc3R5bGUubGVmdD12KHQueCt0LncpLG8uc3R5bGUudG9wPXYoeSkseTxzP3Iuc3R5bGUudG9wPWwuc3R5bGUudG9wPXYocy15KTpmPmQmJihyLnN0eWxlLnRvcD1sLnN0eWxlLnRvcD12KGQtZikpO2NvbnN0e3JpZ2h0Ond9PShvLnF1ZXJ5U2VsZWN0b3IoIjpsYXN0LWNoaWxkIil8fHIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLF89dysxMD5jO28uY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkIl0sXyksby5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsIl0sIV8pO2xldCBrPV8/ImFmdGVyIjoiYmVmb3JlIjsoMCxuLmlzUnRsKSgpPyhrPWUub3RyPyJhZnRlciI6ayxrPWUub3RsPyJiZWZvcmUiOmspOihrPWUub3RyPyJiZWZvcmUiOmssaz1lLm90bD8iYWZ0ZXIiOmspLG0uY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVmb3JlIl0sImJlZm9yZSI9PT1rKSxtLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyIl0sImFmdGVyIj09PWspLCJhZnRlciI9PT1rJiYoby5zdHlsZS5sZWZ0PSJhdXRvIixvLnN0eWxlLnJpZ2h0PXYoYy10LngpKX1lbHNle2NvbnN0IG49dC54LShyLm9mZnNldFdpZHRoLXQudykvMixpPWMtby5vZmZzZXRXaWR0aC0yMDw9MD8oYy1vLm9mZnNldFdpZHRoKS8yOjEwLHM9Yy1pLW8ub2Zmc2V0V2lkdGgsZD1NYXRoLm1heChpLE1hdGgubWluKG4scykpO28uc3R5bGUubGVmdD12KGQpO2NvbnN0IGc9czxuO28uY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkIl0sZyksby5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsIl0sIWcpO2NvbnN0IHU9ZnVuY3Rpb24obyxlLHQscil7aWYoby5hYm92ZSlyZXR1cm4gTChlLHIpPyJhYm92ZSI6ImJlbG93IjtpZihvLmJlbG93KXJldHVybiBmdW5jdGlvbihvLGUsdCl7cmV0dXJuIHQueSt0LmgrZSsxMDxvfShlLHQscik/ImJlbG93IjoiYWJvdmUiO3JldHVybiBMKHQscik/ImFib3ZlIjoiYmVsb3cifShlLGEsaCx0KTsiYWJvdmUiPT09dT9vLnN0eWxlLmJvdHRvbT12KGEtdC55KTpvLnN0eWxlLnRvcD12KHQueSt0LmgpLG0uY2xhc3NMaXN0LmFkZCgiYWJvdmUiPT09dT9wWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUiXTpwWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ciXSk7Y29uc3R7bGVmdDpifT1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2xldCB5PU1hdGgudHJ1bmModC54K3Qudy8yLShiK3IuY2xpZW50V2lkdGgvMikpO28uc3R5bGUubGVmdD12KGQreSksby5zdHlsZS53aWR0aD12KHIuY2xpZW50V2lkdGgrbC5jbGllbnRXaWR0aCkseT1nP01hdGgubWF4KDAseSk6TWF0aC5taW4oMCx5KSxsLnN0eWxlLmxlZnQ9digteSksci5zdHlsZS5sZWZ0PXYoLXkpfX1mdW5jdGlvbiB5KG8pe28uY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0taGlkZGVuIl0sITEpfWZ1bmN0aW9uIGYobyl7by5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1oaWRkZW4iXSwhMCl9ZnVuY3Rpb24gdihvKXtyZXR1cm5gJHtNYXRoLmZsb29yKG8pfXB4YH0hZnVuY3Rpb24obyl7b1tvLlZpZXdwb3J0UGFkZGluZz0xMF09IlZpZXdwb3J0UGFkZGluZyJ9KHJ8fChyPXt9KSk7Y29uc3Qgdz1gXG5cdDxkaXYgaWQ9ImNvbW1vbi10b29sdGlwLXdyYXBwZXIiIGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwIl19Ij5cblx0XHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIl19IiA+XG5cdFx0XHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19ib2R5Il19IGpzLXRvb2x0aXAtYm9keSI+PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9fYnV0dG9uLWNvbnRhaW5lciJdfSI+PC9kaXY+XG5cdDwvZGl2PlxuYCxfPWBcblx0PGRpdiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrIl19Ij48L2Rpdj5cbmAsaz1gXG5cdDxkaXYgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0Il19Ij48L2Rpdj5cbmAsRj0oMCxjLnBhcnNlSHRtbEVsZW1lbnQpKHcpLEU9KDAsYy5wYXJzZUh0bWxFbGVtZW50KShfKSxDPSgwLGMucGFyc2VIdG1sRWxlbWVudCkoayk7ZnVuY3Rpb24gRChvKXtyZXR1cm4gby5xdWVyeVNlbGVjdG9yKGAuJHtwWyJjb21tb24tdG9vbHRpcF9fYm9keSJdfWApfWZ1bmN0aW9uIEwobyxlKXtyZXR1cm4gMTArbzxlLnl9fSwxNjc4OTYobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7ZW1wdHk6KCk9Pm4sc2V0VG9vbHRpcDooKT0+YX0pO2NvbnN0IHI9InRvb2x0aXAtcm9vdC1lbGVtZW50IjtsZXQgbDtmdW5jdGlvbiBjKCl7Y29uc3Qgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChyKTtvP2w9bzoobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxsLmlkPXIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsKSl9ZnVuY3Rpb24gbigpe2wmJihsLmlubmVySFRNTD0iIil9ZnVuY3Rpb24gYShvKXtuKCksbHx8YygpLGwuYXBwZW5kQ2hpbGQobyl9ImludGVyYWN0aXZlIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/YygpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGMpfSw2NTg5OTUobyxlLHQpeyJ1c2Ugc3RyaWN0Igo7dC5kKGUse2NsZWFyU2NoZWR1bGU6KCk9Pm4sc2NoZWR1bGVIaWRlOigpPT5pLHNjaGVkdWxlUmVtb3ZlOigpPT5hLHNjaGVkdWxlUmVuZGVyOigpPT5zfSk7bGV0IHI9MCxsPTAsYz0wO2Z1bmN0aW9uIG4oKXtjbGVhclRpbWVvdXQociksY2xlYXJUaW1lb3V0KGwpLGNsZWFyVGltZW91dChjKX1mdW5jdGlvbiBhKG8sZSl7Yz1zZXRUaW1lb3V0KG8sZSl9ZnVuY3Rpb24gaShvLGUpe2w9c2V0VGltZW91dChvLGUpfWZ1bmN0aW9uIHMobyxlKXtyPXNldFRpbWVvdXQobyxlKX19LDY4NjY1MChvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtzZXRUb29sdGlwQ29sb3JUaGVtZTooKT0+Y30pO2NvbnN0IHI9e2RlZmF1bHQ6IiIsd2hpdGU6InRoZW1lLXdoaXRlIixjaGFydDoidGhlbWUtY2hhcnQiLG5ld3M6InRoZW1lLW5ld3MiLCJyb3VuZC1zaGFkb3ciOiJ0aGVtZS1yb3VuZC1zaGFkb3cifSxsPU9iamVjdC5rZXlzKHIpO2Z1bmN0aW9uIGMobyxlKXtjb25zdCB0PWwuaW5jbHVkZXMoZSk/cltlXToiIjtvLmNsYXNzTGlzdC5yZW1vdmUoLi4ubC5tYXAoKG89PnJbb10pKS5maWx0ZXIoKG89PiEhbykpKSx0JiYhby5jbGFzc0xpc3QuY29udGFpbnModCkmJm8uY2xhc3NMaXN0LmFkZCh0KX19LDc0MjU3NyhvLGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIobyxlKXtyZXR1cm4gbyYmby51dG1fY2FtcGFpZ24mJihvLnV0bV9jYW1wYWlnbis9YC0ke2V9YCksb31hc3luYyBmdW5jdGlvbiBsKG8sZSxyLGwpe2lmKCJsZW50YXJ1Ij09PW8pe2NvbnN0e2dldExlbnRhQ29weXJpZ2h0RGF0YTpvfT1hd2FpdCBQcm9taXNlLmFsbChbdC5lKDQ0MjUzKSx0LmUoODUwMzgpXSkudGhlbih0LmJpbmQodCwyODQwNDEpKTtyZXR1cm4gbygpfWlmKCJjbW9uZXljb210dyI9PT1vKXtjb25zdHtnZXRDbW9uZXljb210d0NvcHlyaWdodERhdGE6b309YXdhaXQgUHJvbWlzZS5hbGwoW3QuZSg1OTk0MSksdC5lKDY0NDUpLHQuZSg3MTM5NCldKS50aGVuKHQuYmluZCh0LDc3Nzc2OSkpO3JldHVybiBvKGUscil9aWYoIm5ldyI9PT1sKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6b309YXdhaXQgUHJvbWlzZS5hbGwoW3QuZSg5Nzc5NyksdC5lKDc2MDQwKV0pLnRoZW4odC5iaW5kKHQsOTgxMTU3KSk7cmV0dXJuIG8oZSxyKX1pZigid2l0aF9ib3JkZXIiPT09bCl7Y29uc3R7Z2V0VHJhZGluZ1ZpZXdDb3B5cmlnaHREYXRhOm99PWF3YWl0IFByb21pc2UuYWxsKFt0LmUoNTM1MjEpLHQuZSgxNjgxMyldKS50aGVuKHQuYmluZCh0LDg1MjY2OSkpO3JldHVybiBvKGUscil9aWYoImxhcmdlX3RyYWRlIj09PWwpe2NvbnN0e2dldFRyYWRpbmdWaWV3Q29weXJpZ2h0RGF0YTpvfT1hd2FpdCBQcm9taXNlLmFsbChbdC5lKDc0MDExKSx0LmUoNzkwNDEpXSkudGhlbih0LmJpbmQodCw0OTM1NTkpKTtyZXR1cm4gbyhlLHIpfXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6b309YXdhaXQgUHJvbWlzZS5hbGwoW3QuZSg1OTk0MSksdC5lKDk3NTA5KV0pLnRoZW4odC5iaW5kKHQsNzA1NzkwKSk7cmV0dXJuIG8oZSxyKX19dC5kKGUse2FkZFV0bUNhbXBhaWduU291cmNlOigpPT5yLGdldEN1c3RvbWVyQ29weXJpZ2h0RGF0YTooKT0+bH0pfSw3NDgwMDIobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7Z2V0V2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9PnN9KTt2YXIgcj10KDIyMTA2MSksbD10KDM4NDAxNyksYz10KDUyODg2NCk7Y29uc3Qgbj13aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVHx8Imh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYueHN0YWdpbmctd2lkZ2V0LnR2IixhPSgwLHIuZ2V0TG9nZ2VyKSgiV2lkZ2V0U2hlcmlmZi5XaWRnZXQiKTtsZXQgaT1udWxsO2FzeW5jIGZ1bmN0aW9uIHMoKXtyZXR1cm4gbnVsbD09PWkmJihpPWF3YWl0IGFzeW5jIGZ1bmN0aW9uKCl7Y29uc3Qgbz1mdW5jdGlvbigpe2lmKGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyYmZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aClyZXR1cm4gZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zW2RvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgtMV07dHJ5e3JldHVybiBuZXcgVVJMKGRvY3VtZW50LnJlZmVycmVyKS5vcmlnaW59Y2F0Y2gobyl7cmV0dXJuIGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbnx8bnVsbH19KCk7aWYobnVsbD09PW8pcmV0dXJuIGEubG9nV2FybigiYW5jZXN0b3JPcmlnaW4gaXMgdW5kZWZpbmVkIiksUHJvbWlzZS5yZXNvbHZlKFtdKTtjb25zdCBlPW5ldyBVUkwoIi9zaGVyaWZmL2FwaS92MS9ydWxlcy9zZWFyY2giLG4pO2Uuc2VhcmNoUGFyYW1zLmFwcGVuZCgib3JpZ2luIixvKTtyZXR1cm4oYXdhaXQoMCxsLmZldGNoKShlLnRvSlNPTigpKS50aGVuKChvPT57aWYoIW8ub2spdGhyb3cgbmV3IEVycm9yKCJHdWFyZCByZXF1ZXN0IGVycm9yIG9jY3VyZWQiKTtyZXR1cm4gMjA0PT09by5zdGF0dXM/UHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSk6by5qc29uKCl9KSkuY2F0Y2goKG89PihhLmxvZ1dhcm4oby5tZXNzYWdlKSxQcm9taXNlLnJlc29sdmUoe2FjdGlvbnM6W119KSkpKSkuYWN0aW9ucy5maWx0ZXIoKG89PmMud2lkZ2V0U2hlcmlmZkFjdGlvbnMuaGFzKG8pKSl9KCkpLFByb21pc2UucmVzb2x2ZShpKX19LDI2NTEwOChvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtjcmVhdGVFbWJlZFdpZGdldFdyYXBwZXI6KCk9Pml9KTt2YXIgcj10KDEzODYzOCksbD10KDc0ODAwMiksYz10KDY1MzgxNyksbj10KDc0MjU3NyksYT10KDUyODg2NCk7ZnVuY3Rpb24gaShvLGUsdCxpPXt9KXtpZihudWxsPT09by5wYXJlbnRFbGVtZW50KXJldHVybiBjb25zb2xlLndhcm4oIkNhbiBub3Qgd3JhcCAnZWxXaWRnZXRDb250YWluZXInIGJlY2F1c2UgaXQgaGFzIG5vIHBhcmVudEVsZW1lbnQiKSxvO2xldCBzPW51bGwsZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuanMtZW1iZWQtd2lkZ2V0LWJvZHkiKTtjb25zdCBnPW51bGwhPT1kO2lmKGcpe2Q9KDAsci5lbnN1cmVOb3ROdWxsKShkKSxzPSgwLApyLmVuc3VyZU5vdE51bGwpKGQucGFyZW50RWxlbWVudCk7bGV0IG89ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmpzLWVtYmVkLXdpZGdldC1oZWFkIik7bnVsbD09PW8mJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8uY2xhc3NMaXN0LmFkZCgidHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2hlYWRlciIpLG8uY2xhc3NMaXN0LmFkZCgianMtZW1iZWQtd2lkZ2V0LWhlYWQiKSxzLmluc2VydEJlZm9yZShvLGQpKX1lbHNlIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikscy5jbGFzc0xpc3QuYWRkKCJ0di1lbWJlZC13aWRnZXQtd3JhcHBlciIpLHMuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJ0di1lbWJlZC13aWRnZXQtd3JhcHBlcl9faGVhZGVyIGpzLWVtYmVkLXdpZGdldC1oZWFkIj48L2Rpdj48ZGl2IGNsYXNzPSJ0di1lbWJlZC13aWRnZXQtd3JhcHBlcl9fYm9keSBqcy1lbWJlZC13aWRnZXQtYm9keSI+PC9kaXY+JyxkPXMucXVlcnlTZWxlY3RvcigiLmpzLWVtYmVkLXdpZGdldC1ib2R5Iik7aWYoaS5vdmVyZmxvd0F1dG8mJmQuY2xhc3NMaXN0LmFkZCgidHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHktLW92ZXJmbG93X2F1dG8iKSxpLnNob3dCb3JkZXJPblRyYW5zcGFyZW50JiZkLmNsYXNzTGlzdC5hZGQoInR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1ib3JkZXItb24tdHJhbnNwYXJlbnQiKSwhaS5pc1doaXRlTGFiZWwpeyFhc3luYyBmdW5jdGlvbihvLGUsdCxpLHM9e30pe2NvbnN0IGQ9cy5pc1NoZXJpZmZEaXNhYmxlZD9bXTphd2FpdCgwLGwuZ2V0V2lkZ2V0U2hlcmlmZkFjdGlvbnMpKCksZz1kLmluY2x1ZGVzKGEuS25vd25BY3Rpb24uTGFyZ2VUcmFkZUxvZ28pLHU9ZnVuY3Rpb24obyl7cmV0dXJuWyJjcnlwdG8tY29pbnMtaGVhdG1hcCIsImZvcmV4LWNyb3NzLXJhdGVzIiwibWFya2V0LW92ZXJ2aWV3Iiwic3ltYm9sLW92ZXJ2aWV3IiwibWFya2V0LXF1b3RlcyIsInN0b2NrLWhlYXRtYXAiLCJzY3JlZW5lciIsImZvcmV4LWhlYXQtbWFwIiwiY3J5cHRvLW1rdC1zY3JlZW5lciIsImV2ZW50cyIsImhvdGxpc3RzIl0uaW5jbHVkZXMobyl9KGUpLHA9ZyYmdT8ibGFyZ2VfdHJhZGUiOnZvaWQgMCxtPWF3YWl0KDAsbi5nZXRDdXN0b21lckNvcHlyaWdodERhdGEpKHMuY3VzdG9tZXIscy5sb2NhbGUsKDAsbi5hZGRVdG1DYW1wYWlnblNvdXJjZSkoey4uLml9LCJsb2dvIikscCksaD1wPz9zLmNvcHlyaWdodE9wdGlvbnM/Lm1vZGU/PyJzbWFsbF9vbGQiOygwLHIuZW5zdXJlTm90TnVsbCkobykuYXBwZW5kQ2hpbGQoKDAsYy5jcmVhdGVDb3B5cmlnaHRMYWJlbCkoe3NoZXJpZmZPcHRpb25zOmQsc25hcFRvRWRnZTp0LC4uLnMuY29weXJpZ2h0T3B0aW9ucywuLi5tLG1vZGU6aH0pKX0oZCxlLCFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy10cmFuc3BhcmVudCIpfHxCb29sZWFuKGkuc2hvd0JvcmRlck9uVHJhbnNwYXJlbnQpLHQsaSl9cmV0dXJuIGd8fChvLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHMsbyksZC5hcHBlbmRDaGlsZChvKSksb319LDc1MTU1NyhvLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtjcmVhdGVFbWJlZFdpZGdldFdyYXBwZXI6KCk9PnIuY3JlYXRlRW1iZWRXaWRnZXRXcmFwcGVyfSk7dCg4MDQ2MTkpO3ZhciByPXQoMjY1MTA4KX0sNDI5NjYobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LnIoZSk7dmFyIHI9dCg4NTYzMjQpLGw9dCg5NjMwOTgpOygwLHIucmVnaXN0ZXJMYW5ndWFnZUdldHRlcikoKCgpPT53aW5kb3cubGFuZ3VhZ2V8fCIiKSksKDAsci5yZWdpc3Rlckxhbmd1YWdlQ29kZU1hcHBlcikobC5nZXRJc29MYW5ndWFnZUNvZGVGcm9tTGFuZ3VhZ2UpfSw2MzE2MzQobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7Z2V0SW5pdERhdGE6KCk9Pmx9KTt2YXIgcj10KDc5MjYxMik7ZnVuY3Rpb24gbCgpe3JldHVybigwLHIuZ2V0SW5pdERhdGEpKCl9fSw0MDAxODEobyxlLHQpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiByKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOm99PWF3YWl0IFByb21pc2UuYWxsKFt0LmUoNzA2NDQpLHQuZSg5NTIwNyldKS50aGVuKHQuYmluZCh0LDQ3NzE1MCkpO3JldHVybiBvKCl9dC5kKGUse2dldFRyYWNrZXI6KCk9PnJ9KX0sMTU2ODI5KG8sZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihvKXtyZXR1cm4gdm9pZCAwIT09byYmby5pbmNsdWRlcygiY3J5cHRvIil9dC5kKGUse2hhc0NyeXB0b1R5cGVzcGVjOigpPT5yfSl9LDc5NTM4MyhvLGUsdCl7dCgzNjMyNjkpLnNldENsYXNzZXMoKSx0KDQyOTY2KSx0KDYxMDI2OCk7dmFyIHI9dCg3NDk2NDgpLndoZW5Eb2N1bWVudFJlYWR5LGw9dCg5MzExOTgpLmhhbmRsZVRWTGlua3NDbGljaztyKCgoKT0+e2woKX0pKX0sNjEwMjY4KG8sZSx0KXsidXNlIHN0cmljdCI7dC5yKGUpLCgwLHQoMTE1MjkzKS5zZXREb2N1bWVudERpckdldHRlcikoKCgpPT53aW5kb3cuZG9jdW1lbnQuZGlyKSl9LDI0MTkzNyhvLGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIobyxlKXtjb25zdCB0PWV8fHdpbmRvdy5sb2NhbGV8fCJlbiI7bGV0IHI9b1t0XT9vW3RdOm8uZW47cmV0dXJuIHI9InRyYWRpbmd2aWV3LmNvbSI9PT1yPyJ3d3cudHJhZGluZ3ZpZXcuY29tIjpyLHI/ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIityOiIifXQuZChlLHtkZXRlcm1pbmVCYXNlVXJsOigpPT5yfSl9LDk2MzkwMChvLGUsdCl7InVzZSBzdHJpY3QiO3ZhciByOyFmdW5jdGlvbihvKXtvLkVtcHR5PSIiLG8uVGVjaG5pY2Fsc1BhdGg9InRlY2huaWNhbHMvIixvLkZpbmFuY2lhbHNPdmVydmlld1BhdGg9ImZpbmFuY2lhbHMtb3ZlcnZpZXcvIixvLlRpbWVsaW5lUGF0aD0iaGlzdG9yeS10aW1lbGluZS8iLG8uTmV3c1BhdGg9Im5ld3MvIixvLk9wdGlvbnNQYXRoPSJvcHRpb25zLyIsby5Qcm9maWxlUGF0aD0icHJvZmlsZS8iLG8uSG9sZGluZ3NQYXRoPSJob2xkaW5ncy8ifShyfHwocj17fSkpfSw1MjgzOTYobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7CmdldFRyYW5zbGF0ZWRTeW1ib2xEZXNjcmlwdGlvbjooKT0+Y30pO3ZhciByPXQoMTg1MjcxKTtmdW5jdGlvbiBsKG8pe2NvbnN0IGU9YCMke299LXN5bWJvbC1kZXNjcmlwdGlvbmAsbD1yLnQoZSx2b2lkIDAsdCgyNTg2NjcpKTtyZXR1cm4gbD09PWU/bnVsbDpsfWZ1bmN0aW9uIGMobyl7aWYodm9pZCAwIT09by5wcm9fbmFtZSl7Y29uc3QgZT1sKG8ucHJvX25hbWUpO2lmKG51bGwhPT1lKXJldHVybiBlO2lmKHZvaWQgMCE9PW8uc2hvcnRfbmFtZSl7Y29uc3QgZT1sKG8uc2hvcnRfbmFtZSk7aWYobnVsbCE9PWUpcmV0dXJuIGV9fXJldHVybiJlbiIhPT1vLmxhbmd1YWdlJiZ2b2lkIDAhPT1vLmxvY2FsX2Rlc2NyaXB0aW9uJiZvLmxhbmd1YWdlPT09d2luZG93Lmxhbmd1YWdlfHwiZW4iPT09by5sYW5ndWFnZSYmdm9pZCAwIT09by5sb2NhbF9kZXNjcmlwdGlvbiYmby5sYW5ndWFnZT09PXdpbmRvdy5sYW5ndWFnZT9vLmxvY2FsX2Rlc2NyaXB0aW9uOm8uZGVzY3JpcHRpb258fCIifX0sNzMwNjQ1KG8sZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihvKXtjb25zdCBlPW5ldyBVUkwobyxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm4gYyhlKSYmbChlKX10LmQoZSx7aXNJbnRlcm5hbEhvc3Q6KCk9Pm4saXNTYWZlVXJsOigpPT5yfSk7Y29uc3QgbD1vPT4hby51c2VybmFtZSxjPW89PiJodHRwOiI9PT1vLnByb3RvY29sfHwiaHR0cHM6Ij09PW8ucHJvdG9jb2w7ZnVuY3Rpb24gbihvLGU9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKXtjb25zdCB0PSIuIj09PWUuc2xpY2UoLTEpPzM6MixyPWUudG9Mb3dlckNhc2UoKS5zcGxpdCgiLiIpLnNsaWNlKC10KSxsPW8udG9Mb3dlckNhc2UoKS5zcGxpdCgiLiIpLnNsaWNlKC1yLmxlbmd0aCk7cmV0dXJuIHIuam9pbigiLiIpPT09bC5qb2luKCIuIil9fSw3Mzg0NTgobyxlLHQpeyJ1c2Ugc3RyaWN0Ijt0LmQoZSx7aXNBbmRyb2lkOigpPT51LGlzQW55TW9iaWxlOigpPT55LGlzQmxhY2tCZXJyeTooKT0+cCxpc0Nocm9tZTooKT0+YSxpc0VkZ2U6KCk9PnMsaXNGRjooKT0+aSxpc0lPUzooKT0+bSxpc0lQYWQ6KCk9PmIsaXNNYWM6KCk9PmcsaXNPcGVyYU1pbmk6KCk9PmgsaXNTYWZhcmk6KCk9PmQsbW9iaWxldG91Y2g6KCk9PmMsdG91Y2g6KCk9Pm59KTtjb25zdCByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixsPXImJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LGM9ciYmbCYmIm9ub3JpZW50YXRpb25jaGFuZ2UiaW4gd2luZG93LG49ciYmKGx8fCEhbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSxhPXImJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSxpPXImJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xLHM9ciYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGQ9ciYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksZz1yJiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHU9KHImJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyJiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksciYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSxwPXImJi9CbGFja0JlcnJ5L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxtPXImJi9pUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksaD1yJiYvT3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksYj1yJiYoIk1hY0ludGVsIj09PW5hdmlnYXRvci5wbGF0Zm9ybSYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjF8fC9pUGFkLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLHk9dXx8cHx8bXx8aH0sMzE3NjYzKG8peyJ1c2Ugc3RyaWN0Igo7by5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29sb3Itd2hpdGUiOiIjZmZmZmZmIiwiY29sb3ItYmxhY2siOiIjMDAwMDAwIiwiY29sb3ItdHJhbnNwYXJlbnQiOiIjMDAwMDAwMDAiLCJjb2xvci1jb2xkLWdyYXktNTAiOiIjRjlGOUY5IiwiY29sb3ItY29sZC1ncmF5LTEwMCI6IiNGMkYyRjIiLCJjb2xvci1jb2xkLWdyYXktMTUwIjoiI0VCRUJFQiIsImNvbG9yLWNvbGQtZ3JheS0yMDAiOiIjREJEQkRCIiwiY29sb3ItY29sZC1ncmF5LTI1MCI6IiNDOUM5QzkiLCJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0I4QjhCOCIsImNvbG9yLWNvbGQtZ3JheS0zNTAiOiIjQThBOEE4IiwiY29sb3ItY29sZC1ncmF5LTQwMCI6IiM5QzlDOUMiLCJjb2xvci1jb2xkLWdyYXktNDUwIjoiIzhDOEM4QyIsImNvbG9yLWNvbGQtZ3JheS01MDAiOiIjODA4MDgwIiwiY29sb3ItY29sZC1ncmF5LTU1MCI6IiM3MDcwNzAiLCJjb2xvci1jb2xkLWdyYXktNjAwIjoiIzYzNjM2MyIsImNvbG9yLWNvbGQtZ3JheS02NTAiOiIjNTc1NzU3IiwiY29sb3ItY29sZC1ncmF5LTcwMCI6IiM0QTRBNEEiLCJjb2xvci1jb2xkLWdyYXktNzUwIjoiIzNEM0QzRCIsImNvbG9yLWNvbGQtZ3JheS04MDAiOiIjMkUyRTJFIiwiY29sb3ItY29sZC1ncmF5LTg1MCI6IiMxRjFGMUYiLCJjb2xvci1jb2xkLWdyYXktOTAwIjoiIzBGMEYwRiIsImNvbG9yLWNvbGQtZ3JheS05NTAiOiIjMDAwMDAwIiwiY29sb3ItcmlwZS1yZWQtNTAiOiIjRkZFQkVDIiwiY29sb3ItcmlwZS1yZWQtMTAwIjoiI0ZDQ0JDRCIsImNvbG9yLXJpcGUtcmVkLTIwMCI6IiNGQUExQTQiLCJjb2xvci1yaXBlLXJlZC0zMDAiOiIjRjc3QzgwIiwiY29sb3ItcmlwZS1yZWQtNDAwIjoiI0Y3NTI1RiIsImNvbG9yLXJpcGUtcmVkLTUwMCI6IiNGMjM2NDUiLCJjb2xvci1yaXBlLXJlZC02MDAiOiIjQ0MyRjNDIiwiY29sb3ItcmlwZS1yZWQtNzAwIjoiI0IyMjgzMyIsImNvbG9yLXJpcGUtcmVkLTgwMCI6IiM5OTFGMjkiLCJjb2xvci1yaXBlLXJlZC05MDAiOiIjODAxOTIyIiwiY29sb3ItcmlwZS1yZWQtYTEwMCI6IiNGRjgwODAiLCJjb2xvci1yaXBlLXJlZC1hMjAwIjoiI0ZGNTI1MiIsImNvbG9yLXJpcGUtcmVkLWE0MDAiOiIjRkYzMzMzIiwiY29sb3ItcmlwZS1yZWQtYTYwMCI6IiNDQzI5MjkiLCJjb2xvci1yaXBlLXJlZC1hNzAwIjoiIzgwMjAyOCIsImNvbG9yLXJpcGUtcmVkLWE4MDAiOiIjNEQxOTFEIiwiY29sb3ItcmlwZS1yZWQtYTkwMCI6IiMzMzFGMjAiLCJjb2xvci10YW4tb3JhbmdlLTUwIjoiI0ZGRjNFMCIsImNvbG9yLXRhbi1vcmFuZ2UtMTAwIjoiI0ZGRTBCMiIsImNvbG9yLXRhbi1vcmFuZ2UtMjAwIjoiI0ZGQ0M4MCIsImNvbG9yLXRhbi1vcmFuZ2UtMzAwIjoiI2ZmYjc0ZCIsImNvbG9yLXRhbi1vcmFuZ2UtNDAwIjoiI0ZGQTcyNiIsImNvbG9yLXRhbi1vcmFuZ2UtNTAwIjoiI0ZGOTgwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNjAwIjoiI0ZCOEMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNzAwIjoiI0Y1N0MwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIjoiI0VGNkMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtOTAwIjoiI2U2NTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTEwMCI6IiNGRkQxODAiLCJjb2xvci10YW4tb3JhbmdlLWEyMDAiOiIjZmZhYjQwIiwiY29sb3ItdGFuLW9yYW5nZS1hNDAwIjoiI0ZGOTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTUwMCI6IiNFNTdFMTciLCJjb2xvci10YW4tb3JhbmdlLWE2MDAiOiIjQ0M3MDE0IiwiY29sb3ItdGFuLW9yYW5nZS1hNzAwIjoiIzhDNTQxQyIsImNvbG9yLXRhbi1vcmFuZ2UtYTgwMCI6IiM1OTNBMUIiLCJjb2xvci10YW4tb3JhbmdlLWE5MDAiOiIjMzMyNjFBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwIjoiI0U4RjVFOSIsImNvbG9yLWlndWFuYS1ncmVlbi0xMDAiOiIjQzhFNkM5IiwiY29sb3ItaWd1YW5hLWdyZWVuLTIwMCI6IiNBNUQ2QTciLCJjb2xvci1pZ3VhbmEtZ3JlZW4tMzAwIjoiIzgxYzc4NCIsImNvbG9yLWlndWFuYS1ncmVlbi00MDAiOiIjNjZCQjZBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwMCI6IiM0Y2FmNTAiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tNjAwIjoiIzQzYTA0NyIsImNvbG9yLWlndWFuYS1ncmVlbi03MDAiOiIjMzg4ZTNjIiwiY29sb3ItaWd1YW5hLWdyZWVuLTgwMCI6IiMyRTdEMzIiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tOTAwIjoiIzFCNUUyMCIsImNvbG9yLWlndWFuYS1ncmVlbi1hMTAwIjoiI0I5RjZDQSIsImNvbG9yLWlndWFuYS1ncmVlbi1hMjAwIjoiIzY5RjBBRSIsImNvbG9yLWlndWFuYS1ncmVlbi1hNDAwIjoiIzAwRTY3NiIsImNvbG9yLWlndWFuYS1ncmVlbi1hNzAwIjoiIzAwYzg1MyIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNTAiOiIjRkZGREU3IiwiY29sb3ItYmFuYW5hLXllbGxvdy0xMDAiOiIjRkZGOUM0IiwiY29sb3ItYmFuYW5hLXllbGxvdy0yMDAiOiIjRkZGNTlEIiwiY29sb3ItYmFuYW5hLXllbGxvdy0zMDAiOiIjRkZGMTc2IiwiY29sb3ItYmFuYW5hLXllbGxvdy00MDAiOiIjZmZlZTU4IiwiY29sb3ItYmFuYW5hLXllbGxvdy01MDAiOiIjZmZlYjNiIiwiY29sb3ItYmFuYW5hLXllbGxvdy02MDAiOiIjZmRkODM1IiwiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiOiIjZmJjMDJkIiwiY29sb3ItYmFuYW5hLXllbGxvdy04MDAiOiIjZjlhODI1IiwiY29sb3ItYmFuYW5hLXllbGxvdy05MDAiOiIjRjU3RjE3IiwiY29sb3ItYmFuYW5hLXllbGxvdy1hMTAwIjoiI0ZGRkY4RCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMCI6IiNGRkZGMDAiLCJjb2xvci1iYW5hbmEteWVsbG93LWE0MDAiOiIjZmZlYTAwIiwiY29sb3ItYmFuYW5hLXllbGxvdy1hNzAwIjoiI0VFREEwMSIsImNvbG9yLXR2LWJsdWUtNTAiOiIjRTNFRkZEIiwiY29sb3ItdHYtYmx1ZS0xMDAiOiIjQkJEOUZCIiwiY29sb3ItdHYtYmx1ZS0yMDAiOiIjOTBCRkY5IiwiY29sb3ItdHYtYmx1ZS0zMDAiOiIjNUI5Q0Y2IiwiY29sb3ItdHYtYmx1ZS00MDAiOiIjMzE3OUY1IiwiY29sb3ItdHYtYmx1ZS01MDAiOiIjMjk2MkZGIiwiY29sb3ItdHYtYmx1ZS02MDAiOiIjMUU1M0U1IiwiY29sb3ItdHYtYmx1ZS03MDAiOiIjMTg0OENDIiwiY29sb3ItdHYtYmx1ZS04MDAiOiIjMTQzRUIyIiwiY29sb3ItdHYtYmx1ZS05MDAiOiIjMEMzMjk5IiwiY29sb3ItdHYtYmx1ZS1hMTAwIjoiIzgyYjFmZiIsImNvbG9yLXR2LWJsdWUtYTIwMCI6IiM0NDhhZmYiLCJjb2xvci10di1ibHVlLWE0MDAiOiIjMjk3OWZmIiwiY29sb3ItdHYtYmx1ZS1hNjAwIjoiIzI5NjJGRiIsImNvbG9yLXR2LWJsdWUtYTcwMCI6IiMxNDNBODciLCJjb2xvci10di1ibHVlLWE4MDAiOiIjMTQyRTYxIiwiY29sb3ItdHYtYmx1ZS1hOTAwIjoiIzEzMjA0MiIsImNvbG9yLWRlZXAtYmx1ZS01MCI6IiNFREU3RjYiLCJjb2xvci1kZWVwLWJsdWUtMTAwIjoiI0QxQzRFOSIsImNvbG9yLWRlZXAtYmx1ZS0yMDAiOiIjQjM5RERCIiwiY29sb3ItZGVlcC1ibHVlLTMwMCI6IiM5NTc1Y2QiLCJjb2xvci1kZWVwLWJsdWUtNDAwIjoiIzdlNTdjMiIsImNvbG9yLWRlZXAtYmx1ZS01MDAiOiIjNjczYWI3IiwiY29sb3ItZGVlcC1ibHVlLTYwMCI6IiM1RTM1QjEiLCJjb2xvci1kZWVwLWJsdWUtNzAwIjoiIzUxMmRhOCIsImNvbG9yLWRlZXAtYmx1ZS04MDAiOiIjNDUyN0EwIiwiY29sb3ItZGVlcC1ibHVlLTkwMCI6IiMzMTFCOTIiLCJjb2xvci1kZWVwLWJsdWUtYTEwMCI6IiNiMzg4ZmYiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCI6IiM3QzRERkYiLCJjb2xvci1kZWVwLWJsdWUtYTQwMCI6IiM2NTFGRkYiLCJjb2xvci1kZWVwLWJsdWUtYTcwMCI6IiM2MjAwRUEiLCJjb2xvci1taW50eS1ncmVlbi01MCI6IiNEQUYyRUUiLCJjb2xvci1taW50eS1ncmVlbi0xMDAiOiIjQUNFNURDIiwiY29sb3ItbWludHktZ3JlZW4tMjAwIjoiIzcwQ0NCRCIsImNvbG9yLW1pbnR5LWdyZWVuLTMwMCI6IiM0MkJEQTgiLCJjb2xvci1taW50eS1ncmVlbi00MDAiOiIjMjJBQjk0IiwiY29sb3ItbWludHktZ3JlZW4tNTAwIjoiIzA4OTk4MSIsImNvbG9yLW1pbnR5LWdyZWVuLTYwMCI6IiMwNjgwNkIiLCJjb2xvci1taW50eS1ncmVlbi03MDAiOiIjMDU2NjU2IiwiY29sb3ItbWludHktZ3JlZW4tODAwIjoiIzAwNEQ0MCIsImNvbG9yLW1pbnR5LWdyZWVuLTkwMCI6IiMwMDMzMkEiLCJjb2xvci1taW50eS1ncmVlbi1hMTAwIjoiI0E3RkZGMCIsImNvbG9yLW1pbnR5LWdyZWVuLWEyMDAiOiIjNDVFNUNCIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCI6IiMyQkQ5QkMiLCJjb2xvci1taW50eS1ncmVlbi1hNjAwIjoiIzI0QjI5QiIsImNvbG9yLW1pbnR5LWdyZWVuLWE3MDAiOiIjMUI3NjY3IiwiY29sb3ItbWludHktZ3JlZW4tYTgwMCI6IiMxMDQ0M0IiLCJjb2xvci1taW50eS1ncmVlbi1hOTAwIjoiIzA4MjYyMSIsImNvbG9yLWdyYXBlcy1wdXJwbGUtNTAiOiIjRjNFNUY1IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDAiOiIjRTFCRUU3IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0yMDAiOiIjQ0U5M0Q4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDAiOiIjYmE2OGM4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS00MDAiOiIjYWI0N2JjIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS01MDAiOiIjOWMyN2IwIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS02MDAiOiIjOGUyNGFhIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS03MDAiOiIjN2IxZmEyIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS04MDAiOiIjNkExQjlBIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS05MDAiOiIjNEExNDhDIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hMTAwIjoiI0VBODBGQyIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCI6IiNFMDQwRkIiLCJjb2xvci1ncmFwZXMtcHVycGxlLWE0MDAiOiIjRDUwMEY5IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hNzAwIjoiI2FhMDBmZiIsImNvbG9yLWJlcnJ5LXBpbmstNTAiOiIjRkNFNEVDIiwiY29sb3ItYmVycnktcGluay0xMDAiOiIjRjhCQkQwIiwiY29sb3ItYmVycnktcGluay0yMDAiOiIjZjQ4ZmIxIiwiY29sb3ItYmVycnktcGluay0zMDAiOiIjZjA2MjkyIiwiY29sb3ItYmVycnktcGluay00MDAiOiIjZWM0MDdhIiwiY29sb3ItYmVycnktcGluay01MDAiOiIjZTkxZTYzIiwiY29sb3ItYmVycnktcGluay02MDAiOiIjRDgxQjYwIiwiY29sb3ItYmVycnktcGluay03MDAiOiIjQzIxODVCIiwiY29sb3ItYmVycnktcGluay04MDAiOiIjQUQxNDU3IiwiY29sb3ItYmVycnktcGluay05MDAiOiIjODgwRTRGIiwiY29sb3ItYmVycnktcGluay1hMTAwIjoiI2ZmODBhYiIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCI6IiNmZjQwODEiLCJjb2xvci1iZXJyeS1waW5rLWE0MDAiOiIjZjUwMDU3IiwiY29sb3ItYmVycnktcGluay1hNzAwIjoiI2M1MTE2MiIsImNvbG9yLXNreS1ibHVlLTUwIjoiI0UwRjdGQSIsImNvbG9yLXNreS1ibHVlLTEwMCI6IiNCMkVCRjIiLCJjb2xvci1za3ktYmx1ZS0yMDAiOiIjODBERUVBIiwiY29sb3Itc2t5LWJsdWUtMzAwIjoiIzRkZDBlMSIsImNvbG9yLXNreS1ibHVlLTQwMCI6IiMyNmM2ZGEiLCJjb2xvci1za3ktYmx1ZS01MDAiOiIjMDBiY2Q0IiwiY29sb3Itc2t5LWJsdWUtNjAwIjoiIzAwYWNjMSIsImNvbG9yLXNreS1ibHVlLTcwMCI6IiMwMDk3QTciLCJjb2xvci1za3ktYmx1ZS04MDAiOiIjMDA4MzhGIiwiY29sb3Itc2t5LWJsdWUtOTAwIjoiIzAwNjA2NCIsImNvbG9yLXNreS1ibHVlLWExMDAiOiIjODRGRkZGIiwiY29sb3Itc2t5LWJsdWUtYTIwMCI6IiMxOEZGRkYiLCJjb2xvci1za3ktYmx1ZS1hNDAwIjoiIzAwZTVmZiIsImNvbG9yLXNreS1ibHVlLWE3MDAiOiIjMDBCOEQ0IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwIjoiI0RBRjJFNiIsImNvbG9yLWZvcmVzdC1ncmVlbi0xMDAiOiIjQUNFNUM5IiwiY29sb3ItZm9yZXN0LWdyZWVuLTIwMCI6IiM3MENDOUUiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIjoiIzQyQkQ3RiIsImNvbG9yLWZvcmVzdC1ncmVlbi00MDAiOiIjMjJBQjY3IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwMCI6IiMwODk5NTAiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tNjAwIjoiIzA2ODA0MyIsImNvbG9yLWZvcmVzdC1ncmVlbi03MDAiOiIjMDU2NjM2IiwiY29sb3ItZm9yZXN0LWdyZWVuLTgwMCI6IiMwMDREMjciLCJjb2xvci1mb3Jlc3QtZ3JlZW4tOTAwIjoiIzFBMzMyNiIsImNvbG9yLWZhY2Vib29rIjoiIzE4NzdGMiIsImNvbG9yLWRlZXAtZmFjZWJvb2siOiIjMTU2NENBIiwiY29sb3ItdHdpdHRlciI6IiMxREExRjIiLCJjb2xvci1kZWVwLXR3aXR0ZXIiOiIjMTg4Q0QzIiwiY29sb3IteW91dHViZSI6IiNGRjAwMDAiLCJjb2xvci1saW5rZWRpbiI6IiMwMDdCQjUiLCJjb2xvci1zZWVraW5nLWFscGhhLWJyYW5kIjoiI2ZmNzIwMCJ9JykKfSw4Njc1MjIobyl7InVzZSBzdHJpY3QiCjtvLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2xvci1oZWFkZXItYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWJnLXByaW1hcnkiOiJjb2xvci13aGl0ZSIsImNvbG9yLWJnLXByaW1hcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItYmctc2Vjb25kYXJ5IjoiY29sb3Itd2hpdGUiLCJjb2xvci1iZy1oaWdobGlnaHQiOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1sZWdhY3ktYmctc2Nyb2xsLWJ1dHRvbnMiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItbGVnYWN5LWJnLXdpZGdldCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItdGV4dC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRleHQtc2Vjb25kYXJ5IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRleHQtdGVydGlhcnkiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3ItdGV4dC1kaXNhYmxlZCI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1hY2NlbnQtY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1ib3gtc2hhZG93IjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWRpdmlkZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGl2aWRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1kaXZpZGVyLXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1hY3RpdmUtaG92ZXItdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1hbGVydC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvcmRlci10YWJsZSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1icmFuZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci1icmFuZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItY2hhcnQtcGFnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1kYW5nZXIiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1kYW5nZXItaG92ZXIiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1kYW5nZXItYWN0aXZlIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1zdHJva2Utc3R5bGUiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItaGlnaGxpZ2h0LW5ldyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAiLCJjb2xvci1pbnB1dC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaW5wdXQtcHVibGlzaC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItbGluayI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbGluay1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItbGluay1hY3RpdmUiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItcGFuZS1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItcGFuZS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXByaW1hcnktc3ltYm9sIjoiY29sb3Itc2t5LWJsdWUtNTAwIiwiY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb24iOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3Itc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLXN1Y2Nlc3MtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1zdWNjZXNzLWFjdGl2ZSI6ImNvbG9yLW1pbnR5LWdyZWVuLTcwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbiI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wb3B1cC1iYWNrZ3JvdW5kIjoiY29sb3Itd2hpdGUiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmUiOiJjb2xvci13aGl0ZSIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMjAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci10b29sdGlwLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdW5kZXJsaW5lZC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXdpZGdldC1wYWdlcy1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItZ3Jvd2luZyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWZhbGxpbmciOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1mb3JleC1pY29uIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTQwMCIsImNvbG9yLWxpc3QtaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1saXN0LWl0ZW0tdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2siOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcHJpY2UtYXhpcy1sYWJlbC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXByaWNlLWF4aXMtZ2VhciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXIiOiJjb2xvci1ibGFjayIsImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJpZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvcmRlci1jaGF0LWZpZWxkcyI6ImNvbG9yLWNvbGQtZ3JheS0yNTAiLCJjb2xvci1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMjUwIiwiY29sb3ItYnV0dG9uLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZSI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRpc2FibGVkLWlucHV0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWVtcHR5LWNvbnRhaW5lci1tZXNzYWdlIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWljb25zIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWlucHV0LXRleHRhcmVhLXJlYWRvbmx5IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3ItaXRlbS1hY3RpdmUtYmx1ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1pdGVtLWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1ibHVlIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItaXRlbS1hY3RpdmUtdGV4dCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWxpc3QtaXRlbSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1uZXdzLWhpZ2hsaWdodCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItcGxhY2Vob2xkZXIiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3Itcm93LWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMzAwIiwiY29sb3Itc2VwYXJhdG9yLXRhYmxlLWNoYXQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGFnLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10YWctaG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGV4dC1yZWd1bGFyIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLXR2LWJ1dHRvbi1jaGVja2VkIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXNjcm9sbC1iZyI6ImNvbG9yLWNvbGQtZ3JheS00MDAiLCJjb2xvci1zY3JvbGwtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXdpZGdldC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3ciOiJjb2xvci13aGl0ZSIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmciOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRhbmdlciI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmUtbWFya2V0IjoiY29sb3ItdGFuLW9yYW5nZS02MDAiLCJjb2xvci1wb3N0LW1hcmtldCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3Itbm90YWNjdXJhdGUtbW9kZSI6ImNvbG9yLWJlcnJ5LXBpbmstNjAwIiwiY29sb3ItZGVsYXktbW9kZSI6ImNvbG9yLXRhbi1vcmFuZ2UtNzAwIiwiY29sb3ItZGVsYXktbW9kZS1iZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNDAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLTIwMCIsImNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLW1hcmtlci1mbGFnZ2VkIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItbWFya2VyLWZsYWdnZWQtaG92ZXJlZCI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFzayI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLXNlbGwiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1idXkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItcHJvIjoiY29sb3ItbWludHktZ3JlZW4tNDAwIiwiY29sb3ItcHJvLWhvdmVyIjoiY29sb3ItbWludHktZ3JlZW4tNjAwIiwiY29sb3ItcHJvLXBsdXMiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXByby1wbHVzLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1wcm8tcHJlbWl1bSI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItcHJvLXByZW1pdW0taG92ZXIiOiJjb2xvci10YW4tb3JhbmdlLTcwMCIsImNvbG9yLXRyaWFsIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRyaWFsLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLW1vZCI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLW1vZC1ob3ZlciI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQiOiJjb2xvci1taW50eS1ncmVlbi00MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1vdmVybGF5IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXNlYXJjaC1idXR0b24taG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1jb250ZW50LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1iZy1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1ib3JkZXItZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXJlcGxheS1kYXRhLW1vZGUiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1sZWdhY3ktc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTMwMCIsImNvbG9yLWNvbGxhcHNlLXRhYnMtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItYXR0ZW50aW9uIjoiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiLCJjb2xvci14LXR3aXR0ZXItY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1jYXJkLWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jYXJkLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1zZWxlY3Rpb24tYmciOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWRlZmF1bHQtZ3JheSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmciOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItZmVhdHVyZWQtYnJva2VyLWJhZGdlLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS10ZXh0IjoiY29sb3Itd2hpdGUifScpCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1676.34884beb8e6dc4c6c0b1.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.860Z","timestamp":1785136901860,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/1676.34884beb8e6dc4c6c0b1.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-2ee\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 28c854718e5aa760cc1eb2b545afe635\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":750,"size_decoded":957,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"2632199c98129948ba24975de6a4cee8","sha1":"82a2d79a460678d39482b2df940a21f7177ade40","sha256":"caa9bc8415c74f92a48a4fdd430e1c0cdf6eab1ff81861a3ecb151196a982ec4","sha512":"01348d63394733bbe814bb6e0c4ceb17d75a380fecc3b2e339eb4a403103fafcc831f7ec9b99239d764d4d4b3b2e2840eb63e687286ed89ad97b68208b17419e","ssdeep":"","tlshash":"4f01044ad880e3f3782622ec6314526b06d19e15b2865fc777d8c00348cc4f300b7abe","first_seen":"2026-07-17T03:30:51.175342Z","last_seen":"2026-08-10T05:01:44.290391Z","times_seen":175,"resource_available":false,"data":"LnByaW1hcnktWThvRlRfUFp7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLWJveDp2YXIoCgkJLS11aS1saWItY2hlY2tib3gtY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpCgkpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1tYXJrOnZhcigKCQktLXVpLWxpYi1jaGVja2JveC1tYXJrLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZSkKCSl9LmRhbmdlci1ZOG9GVF9QWnstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1ib3g6dmFyKAoJCS0tdWktbGliLWNoZWNrYm94LWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpCgkpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1tYXJrOnZhcigKCQktLXVpLWxpYi1jaGVja2JveC1tYXJrLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZSkKCSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCLEO.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.414Z","timestamp":1785136905414,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCLEO.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"ac76fbe5151b4b9d78563f050b53be77\"\r\nlast-modified: Wed, 08 Sep 2021 09:03:40 GMT\r\ncdn-cachedat: 08/09/2025 14:33:50\r\nx-amz-id-2: AlXyTMUCId0ojVNA8sd+zggjjTqtwe8QDZ8bzn+FHgyP/SZlZhDw63lrNPWFl1/ijfrAPzbimYY=\r\nx-amz-request-id: NA3MHVDCC4NWZCCJ\r\nx-amz-meta-hash: ac76fbe5151b4b9d78563f050b53be77\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b13f84a4887d9949fee915d55e1f61be\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCPENDLEPENDLE.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.515Z","timestamp":1785136905515,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCPENDLEPENDLE.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCMANTRA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.602Z","timestamp":1785136905602,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCMANTRA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/33735.2cb844ad2b0f3c892162.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.323Z","timestamp":1785136900323,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/33735.2cb844ad2b0f3c892162.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 79fd1fe416973b35d283e7b85b7e08d5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3766,"size_decoded":1923,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3766), with no line terminators","md5":"c9433cd2c494e00bc1f5eeb71eecd363","sha1":"da37ba6947ef271416292a4bec7fd80696864e22","sha256":"83f03dfc765b467ce1c567e7c09720d3c654d84ee9ac41c94804ee40cd808af1","sha512":"b29c41b6ced30e594e30b98862f24c8824d4187d5bda612574fadeeb13c4f440d1f30c411d3803c9cd32479fbfabde86b44bc5257aa1f4144bacfc414d897a15","ssdeep":"","tlshash":"9e71001176a6973cfb279620c2a27daeb38ca9207b4f0ef99d0751740ace3d67071489","first_seen":"2026-06-26T14:56:44.439294Z","last_seen":"2026-08-05T06:08:55.529524Z","times_seen":860,"resource_available":false,"data":"Ym9keXtvdmVyZmxvdy15OnNjcm9sbH0udHYtbGF5b3V0LXdpZHRoe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyMHB4O3dpZHRoOjEwMjBweH0udHYtbGF5b3V0LXdpZHRoLS1uby1wYWRkaW5ne3BhZGRpbmc6MDt3aWR0aDo5ODBweH0udHYtbGF5b3V0LXdpZHRoLS1zaW1wbGV7cGFkZGluZzowfS50di1kaWFsb2cgLnR2LWxheW91dC13aWR0aHttYXgtd2lkdGg6MTAwJX0uY2hhcnQtcGFnZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtbGF5b3V0LXdpZHRoe3dpZHRoOmF1dG99LnR2LWxheW91dC13aWR0aCAudHYtZmVlZHttYXJnaW4taW5saW5lLWVuZDotMjBweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0yMHB4fS50di1sYXlvdXQtd2lkdGggLnR2LWZlZWQtLXRhYmxldC10b3AtaW5kZW50e21hcmdpbi10b3A6NDhweH19LnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dCxib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0e3dpZHRoOmF1dG87LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKjIwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KTstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGg6MjM2MHB4O2JveC1zaXppbmc6aW5pdGlhbDtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tYWRhcHRpdmUtbWYtY29udGFpbmVyLXBhZGRpbmcpO3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nKX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMzJweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxNDQwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqNDBweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxOTIwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMTAwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KX19QG1lZGlhIChtaW4td2lkdGg6MjU2MHB4KXsudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0LGJvZHkucGFnZS13aWRlIC50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXR7LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKigxMDB2dyAtIHZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpKS8yICsgdmFyKC0tc2lkZS1nYXAtbW9kZS1maXhlZCwgMCkqMjBweCk7bWFyZ2luLWlubGluZS1lbmQ6YXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG87bWF4LXdpZHRoOnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpfX0uZmlsdGVyLWlkZWFzLWJ1dHRvbi13aXRoLXBhZGRpbmd7cGFkZGluZy1pbmxpbmU6NXB4fS50di1sYXlvdXQtcGFkZGluZ3twYWRkaW5nOjAgMjBweH1ib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjE1MjBweH0udHYtbWFpbixib2R5LnBhZ2UtZnVsbHdpZHRoIC50di1sYXlvdXQtd2lkdGh7d2lkdGg6MTAwJX0udHYtbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MTAwJX0uY2xlYXJ7Y2xlYXI6Ym90aH0uY2xlYXJmaXg6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LmhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc2hvd3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0udHYtcmlnaHR7ZmxvYXQ6aW5saW5lLWVuZCFpbXBvcnRhbnR9LnR2LWxlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0udHYtY29udGVudHtmbGV4OjEgMCBhdXRvfS50di1jb250ZW50X19jb250ZW50LWJsb2Nre3BhZGRpbmc6NzBweCAwfS50di1mZWVke21hcmdpbjo0OHB4IC0xMHB4O21pbi1oZWlnaHQ6NTAwcHh9LnR2LWZlZWQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWZlZWQtLW5vLW1pbi1oZWlnaHR7bWluLWhlaWdodDphdXRvfS50di1mZWVkLS1uby1oaW5kZW50e21hcmdpbi1pbmxpbmUtZW5kOjA7bWFyZ2luLWlubGluZS1zdGFydDowfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWR7bWFyZ2luOjAgMCA0OHB4fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnR2LWZlZWR7bWFyZ2luOjB9fS50di1mZWVkLS1uby12ZXJ0aWNhbC1tYXJnaW57bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0udHYtZmVlZF9fZW1wdHl7Y2xlYXI6Ym90aDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZmxleDoxIDEgYXV0bztmb250LXNpemU6MjBweDtwYWRkaW5nOjEwMHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnR2LWZlZWRfX2l0ZW17Zm9udC1zaXplOjEzcHg7bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmc6MCAxMHB4O3dpZHRoOjQ4MHB4fS50di1mZWVkX19pdGVtLS13aWR0aF90d28tY29sdW1uc3t3aWR0aDo5ODBweH0udHYtZmVlZF9faXRlbS0td2lkdGhfZnVsbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbS0td2lkdGhfaGFsZntib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxvYXQ6aW5saW5lLXN0YXJ0O3dpZHRoOjUwJX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1mZWVkX19pdGVte21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjA7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbTpsYXN0LW9mLXR5cGV7Ym9yZGVyLWJvdHRvbTpub25lfX0udHYtZmVlZF9fc2VjdGlvbi10aXRsZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWRfX3NlY3Rpb24tdGl0bGV7YWxpZ24taXRlbXM6YmFzZWxpbmU7bWFyZ2luLWlubGluZS1zdGFydDoxMnB4fX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1oN0RNOiNkOWRhZGJ9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1oN0RNOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfWJvZHksaHRtbHtiYWNrZ3JvdW5kOm5vbmU7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjI0MHB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfWJvZHl7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzAtaDdETSk7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94fQ=="}},"time_used":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/runtime-embed_screener_v1_widget.9dbe1b28214d7a1471ba.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.971Z","timestamp":1785136900971,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/runtime-embed_screener_v1_widget.9dbe1b28214d7a1471ba.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7cb6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:53:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a190ed49bb5c8cd5af201c8244da783d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31926,"size_decoded":16555,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3765)","md5":"078c641a9165940f92f650670dcfe56c","sha1":"588a588b3de873254a2ca6be4975e9a456d154af","sha256":"bf1232ee83f71f223d4d69f4ec7b7ffc474385b0bf3e2ea817a41a51de2fdffc","sha512":"d70d6ac8dc2d5315cae23b5ad2102e5968136636834d12b08553280efe2990f9bb1ca243bb1cc9bcee0f291f1db4af42d8ef1716326c2ca0de1643e12bdfe1ff","ssdeep":"768:2O2u/W/ww+vFmk6+uoYOgJV3MDbos8ZJh9qWxZjcLY8Z4NqSY:2O2u/WIw49gJV3ebo9h9HrD+7F","tlshash":"35e27ded923cd6b336f12da96d7a9863f33c24237c5980d49393b56409a6ff4a232513","first_seen":"2026-07-25T03:24:57.413219Z","last_seen":"2026-07-28T04:58:42.081275Z","times_seen":293,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLGEsYyxkLGYsYix0PXt9LHI9e307ZnVuY3Rpb24gbihlKXt2YXIgYT1yW2VdO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGEuZXhwb3J0czt2YXIgYz1yW2VdPXtpZDplLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gdFtlXS5jYWxsKGMuZXhwb3J0cyxjLGMuZXhwb3J0cyxuKSxjLmxvYWRlZD0hMCxjLmV4cG9ydHN9bi5tPXQsbi5fcGx1cmFsPXthcjooZSxhPTYsYz0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K2MsY3M6KGUsYT0zLGM9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K2MscnU6KGUsYT0zLGM9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOitjLHJvOihlLGE9MyxjPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K2MscGw6KGUsYT0zLGM9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorYyxwdDooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGRlOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZW46KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyxlczooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLHN2OihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaXQ6KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyx0cjooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGVsOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZnI6KGUsYT0yLGM9ZT4xKT0+bnVsbD09ZT8wOitjLGZhOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsamE6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxrbzooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLHRoOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2Msdmk6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyx6aDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLGhlX0lMOihlLGE9NCxjPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorYyxjYV9FUzooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLG5sX05MOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaHVfSFU6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxpZF9JRDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLG1zX01ZOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsemhfVFc6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorY30sbi5hbWREPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3QiKX0sZT1bXSxuLk89KGEsYyxkLGYpPT57aWYoIWMpe3ZhciBiPTEvMDtmb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKXtmb3IodmFyW2MsZCxmXT1lW2ldLHQ9ITAscj0wO3I8Yy5sZW5ndGg7cisrKSghMSZmfHxiPj1mKSYmT2JqZWN0LmtleXMobi5PKS5ldmVyeSgoZT0+bi5PW2VdKGNbcl0pKSk/Yy5zcGxpY2Uoci0tLDEpOih0PSExLGY8YiYmKGI9ZikpO2lmKHQpe2Uuc3BsaWNlKGktLSwxKTt2YXIgbz1kKCk7dm9pZCAwIT09byYmKGE9byl9fXJldHVybiBhfWY9Znx8MDtmb3IodmFyIGk9ZS5sZW5ndGg7aT4wJiZlW2ktMV1bMl0+ZjtpLS0pZVtpXT1lW2ktMV07ZVtpXT1bYyxkLGZdfSxuLkY9e30sbi5FPWU9PntPYmplY3Qua2V5cyhuLkYpLm1hcCgoYT0+e24uRlthXShlKX0pKX0sbi5uPWU9Pnt2YXIgYT1lJiZlLl9fZXNNb2R1bGU/KCk9PmUuZGVmYXVsdDooKT0+ZTtyZXR1cm4gbi5kKGEse2F9KSxhfSxjPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18sbi50PWZ1bmN0aW9uKGUsZCl7aWYoMSZkJiYoZT10aGlzKGUpKSw4JmQpcmV0dXJuIGU7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlKXtpZig0JmQmJmUuX19lc01vZHVsZSlyZXR1cm4gZTtpZigxNiZkJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVuKXJldHVybiBlfXZhciBmPU9iamVjdC5jcmVhdGUobnVsbCk7bi5yKGYpO3ZhciBiPXt9O2E9YXx8W251bGwsYyh7fSksYyhbXSksYyhjKV07Zm9yKHZhciB0PTImZCYmZTsoIm9iamVjdCI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdCkmJiF+YS5pbmRleE9mKHQpO3Q9Yyh0KSlPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5mb3JFYWNoKChhPT5iW2FdPSgpPT5lW2FdKSk7cmV0dXJuIGIuZGVmYXVsdD0oKT0+ZSxuLmQoZixiKSxmfSxuLmQ9KGUsYSk9Pntmb3IodmFyIGMgaW4gYSluLm8oYSxjKSYmIW4ubyhlLGMpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxjLHtlbnVtZXJhYmxlOiEwLGdldDphW2NdfSl9LG4uZj17fSxuLmU9ZT0+UHJvbWlzZS5hbGwoT2JqZWN0LmtleXMobi5mKS5yZWR1Y2UoKChhLGMpPT4obi5mW2NdKGUsYSksYSkpLFtdKSksCm4udT1lPT4yODgzMT09PWU/Il9fTEFOR19fLiIrZSsiLmY5ZTczNTZmZjkxZjgzN2Y0N2M3LmpzIjo4NDY5Mz09PWU/Il9fTEFOR19fLiIrZSsiLjcxNWNiN2IyNzMyZjIwYzRjOTYxLmpzIjo0OTY4ND09PWU/Il9fTEFOR19fLiIrZSsiLjQ5OWNmYmQ3MzQ3ZTk3NDcyMjI4LmpzIjo1NDk4PT09ZT8iX19MQU5HX18uNTQ5OC44ZTRjY2M3Y2VmOGJmYWYzOTM5OS5qcyI6ODU1Mzc9PT1lPyJfX0xBTkdfXy4iK2UrIi40OWZkYTEzZTE4NzYxMjQ2M2Y4NC5qcyI6MjY5NzM9PT1lPyJfX0xBTkdfXy4iK2UrIi45YWU1NmQ2MjFhNWYyOTgyN2UwMC5qcyI6MTc2NjI9PT1lPyJfX0xBTkdfXy4iK2UrIi40N2Y1YzljYWY2NjBjNGQwZTgwNC5qcyI6ODcyMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi43ZTc3MzA5NzMzN2EzNGJlNjY1Mi5qcyI6MjE4NzA9PT1lPyJfX0xBTkdfXy4iK2UrIi43ZDM3ZmZhNTNkZmJiYzE4NDA4OC5qcyI6ODQyNjk9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZDM1MWEyYjM5ZTQ5MzI0YjQxYy5qcyI6OTIyOTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNmFmNjI2ZTg5NGVjOTAwN2Q1OC5qcyI6MTA4NDE9PT1lPyJfX0xBTkdfXy4iK2UrIi43NjZmOTY2ODc4YjdmODcyNmQ3NC5qcyI6ODg0MzI9PT1lPyJfX0xBTkdfXy4iK2UrIi40NDA2MGFkZDIxNjI4MGNmYTBkMy5qcyI6MTI2NTM9PT1lPyJfX0xBTkdfXy4iK2UrIi42MzU3NjY1OTJiNDZkZTc0OGU4ZC5qcyI6MTcxMjM9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZDRkOGU3NjgzZTM0NmYxMmUxMi5qcyI6MjU3NTM9PT1lPyJfX0xBTkdfXy4iK2UrIi43MzdmNjUzYTdiMTNmMDZhOWZjZS5qcyI6MzQ5MDg9PT1lPyJfX0xBTkdfXy4iK2UrIi40ODhjZDE0NzM2MDE5Y2VmMjdiYy5qcyI6NzM3MjU9PT1lPyJfX0xBTkdfXy4iK2UrIi5hYjczZTk1NGQyY2QxYmUzNmRjNC5qcyI6NDA4OTI9PT1lPyJfX0xBTkdfXy4iK2UrIi43NmVlM2M1MjQxN2E2MGZiMDkzMS5qcyI6NDg4Mzc9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZDY1NjczZTU4MzdjZDg2NzM3YS5qcyI6OTY0NDg9PT1lPyJfX0xBTkdfXy4iK2UrIi5hMjMwOTNiMjBjMmU0OGFhYzEyYi5qcyI6NjA5Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZTZjYmVlZjg2ZGQ4ZmYxMDk2NC5qcyI6NDkyMTU9PT1lPyJfX0xBTkdfXy4iK2UrIi4yYzIxNTZmYTBlODU0NWNiY2FhYi5qcyI6MjA4NjY9PT1lPyJfX0xBTkdfXy4iK2UrIi4zZGI4ZThlZWVlNjg2YTUwOWIyMC5qcyI6NDEyODA9PT1lPyJfX0xBTkdfXy4iK2UrIi4yYWEzY2QwN2Q2MDBlYjk2Y2JiYy5qcyI6ODEzOTU9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNmQ4M2M3NDg4ZGY0OTAzOTRmOC5qcyI6MjY3NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5lM2IwMzU1Y2ZmZDA3N2JkZTI0Mi5qcyI6MTA2NzQ9PT1lPyJfX0xBTkdfXy4iK2UrIi42NWFjZGNjZmVmMGYzZjQ5ODJlMC5qcyI6NDk3NDc9PT1lPyJfX0xBTkdfXy4iK2UrIi45ZmRkZThkZmJkNDU2NjM4ZjMxMS5qcyI6Mzg1MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi4yNjkxODkyNzVhZGRkMWY3NjdiNS5qcyI6NTkzMT09PWU/Il9fTEFOR19fLjU5MzEuMmQwMGExMDY3OGU3OGNkNjZjOTIuanMiOjg2MzE9PT1lPyJfX0xBTkdfXy44NjMxLjdhY2YyYmE0NDIxNjMzMjNhNmVjLmpzIjo4NDkwMD09PWU/Il9fTEFOR19fLiIrZSsiLjBkMzc2MmZkMGNlNzIzZTU0MWRiLmpzIjo3NTUyPT09ZT8iX19MQU5HX18uNzU1Mi5iYzAwMjAxOTI5Nzc3NzFkNzExOS5qcyI6MTg5MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi42OTgxOTM4YjExNDNhYWE2MTU3Ny5qcyI6MTcwOTI9PT1lPyJfX0xBTkdfXy4iK2UrIi44OWQ4ZTBiZjUxYTc3ZDZjZTczMS5qcyI6NzM3Nz09PWU/Il9fTEFOR19fLjczNzcuZGMxMDMxMjUyYmY5MmNmYjQxZmIuanMiOjE5OTE2PT09ZT8iX19MQU5HX18uIitlKyIuNDJlZTFlOThkNzUzMGFhNTY1NTMuanMiOjgyMDAzPT09ZT8iX19MQU5HX18uIitlKyIuZDc0OGI4Njg4MDM4ZTcyOWVmMDkuanMiOjYzNTUzPT09ZT8iX19MQU5HX18uIitlKyIuZDFlZTYxOThiNzAyODQ3OGRkNjIuanMiOjYxMDY2PT09ZT8iX19MQU5HX18uIitlKyIuM2NiNmM2NDIzYzZiMWZhMDEwZGYuanMiOjc2Mzg1PT09ZT8iX19MQU5HX18uIitlKyIuYTM4YzhlOTIxOTYwY2VhNDQwMTkuanMiOjI2MDU9PT1lPyJfX0xBTkdfXy4yNjA1LmY3MDBhZjZjYjgwYjA2ZTU1NGRkLmpzIjo5OTg2NT09PWU/Il9fTEFOR19fLiIrZSsiLjU1ODhmMmJkZjM0OTEyZWMxNDQ4LmpzIjo5OTc2NT09PWU/Il9fTEFOR19fLiIrZSsiLjZkYTZiZGJiMDhmNmY3YjljMWRkLmpzIjozMDU5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjg0YTRiM2UzY2NiNmQ3YzJmMjJhLmpzIjo0NTUyMj09PWU/Il9fTEFOR19fLiIrZSsiLjNhNjYwYTE0MjEyNGFkZjQ1MDQzLmpzIjoxMDMzPT09ZT8iX19MQU5HX18uMTAzMy43MzRiZDdkYWZlNzc3Y2YyZGY2MS5qcyI6ODg4OTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4yZjY2M2JkMTI1ZGIyOGYxY2JkYS5qcyI6ODg0Mj09PWU/Il9fTEFOR19fLjg4NDIuZjQ4NDRiNDQwNzgxYjE5ZTQ1MDguanMiOjE5MDM0PT09ZT8iX19MQU5HX18uIitlKyIuMzA1MTcyMDQ3ZTdmYWJiNTM0ODEuanMiOjE2NzI9PT1lPyJfX0xBTkdfXy4xNjcyLmZjZjY5OWM0MmNiZjZkYTA1MDNkLmpzIjoyMTM5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjM0MWY2YzdiNzY1N2U1NTU0ZGYwLmpzIjoyOTE2OT09PWU/Il9fTEFOR19fLiIrZSsiLmMzNTczZGQzM2FiZWVlZWJlZjA0LmpzIjoxODg5OD09PWU/Il9fTEFOR19fLiIrZSsiLmRmODY3OGZiMWZlZjc3MWI1M2FhLmpzIjoxODYyOD09PWU/Il9fTEFOR19fLiIrZSsiLjMyYjBiYzIwOGQ1ZTE5MGEzNzMzLmpzIjo3MzYzMz09PWU/Il9fTEFOR19fLiIrZSsiLjA1YjVlZmY0NmQ1OTE1NzE0ZmZjLmpzIjo2Nzk0OT09PWU/Il9fTEFOR19fLiIrZSsiLjk0MDFhZmNiN2JkNDc3ZTMxOWExLmpzIjo2ODg2MD09PWU/Il9fTEFOR19fLiIrZSsiLjM3NjZkMTEwNzg4MTJkN2YxNDU3LmpzIjoxODc4MT09PWU/Il9fTEFOR19fLiIrZSsiLjM4ZjEwM2NlYjM1MWQ2OGMyZjhmLmpzIjo4ODk5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjI1OTkxZGE1OWUyMGE3OTZlZGFhLmpzIjo0ODkxMj09PWU/Il9fTEFOR19fLiIrZSsiLjA3ZjEzZTY5NGRkZjU0YjRkZWViLmpzIjo2NDQ0MT09PWU/Il9fTEFOR19fLiIrZSsiLjZkM2EwN2I5YTgxNDA4NzMxY2M0LmpzIjozMzM5MT09PWU/Il9fTEFOR19fLiIrZSsiLmFlZGQxZDNjZWVmYmU0Y2U2ODAyLmpzIjoxNzg1OT09PWU/Il9fTEFOR19fLiIrZSsiLjRhNTgwYWNlNDkxNGYxMTVjZDA3LmpzIjoyODg3NT09PWU/Il9fTEFOR19fLiIrZSsiLmVkZTFiNzIxODE2OTNkMWFjZjRmLmpzIjo1ODY2Nz09PWU/Il9fTEFOR19fLiIrZSsiLmQxNWZjNGI1YzYzMWJiNWVjZThkLmpzIjo0NzAzMD09PWU/Il9fTEFOR19fLiIrZSsiLjlhYTZlMGZmNGVkZGExNjg3NTM2LmpzIjoyOTYxOD09PWU/Il9fTEFOR19fLiIrZSsiLmRkMjA4ZmE5ZDI2ZTczMjgxMDljLmpzIjozOTUwND09PWU/Il9fTEFOR19fLiIrZSsiLmViN2M4NThhMjMxMDhhY2E3ZmVlLmpzIjozOTk4OD09PWU/Il9fTEFOR19fLiIrZSsiLjNjOWQ0NmQ2OWY1YWQ3MjEwOWEwLmpzIjo1ODgyMD09PWU/Il9fTEFOR19fLiIrZSsiLjA5YjQxZDJlZDg0Yjc5ZjRmZTI0LmpzIjo5Mjk2ND09PWU/Il9fTEFOR19fLiIrZSsiLmFhNjcwZGRmZDE2NTk1OTY0YWViLmpzIjoyMzU2Nz09PWU/Il9fTEFOR19fLiIrZSsiLjVmZGRjMTU5OTgxNDJjYmM2MWVmLmpzIjooewozNDc6Im1hcmtlZC1zeW1ib2xzIiw1Nzc6ImNvbnZlcnNpb24tY29udGV4dCIsMTUyMToienhjdmJuRW5QYWNrYWdlIiwxNjQ2OiJsZWdlbmQtdmlldy1yZW5kZXJlciIsMTc4NzoiYWRkLXRvLXdhdGNobGlzdC1hY3Rpb24iLDIyODQ6InJlZ3dhbGxzLW1hbmFnZXIiLDM5NjE6InByb2ZpbGUtYXBpIiw3Mzk3OiJwZXJpb2QtZm9ybWF0dGVyIiw3NzE4OiJwaW5lLm1vbmFyY2gudjUiLDg2MDg6InN1cHBvcnQtZGlhbG9nLWltcGwiLDk1OTk6ImNvbnRhY3QtYWR2YW5jZWQtY2hhcnRzLWRpYWxvZyIsMTA3MDQ6ImNyZWF0ZS1kaWFsb2ciLDExNDM1OiJub3Rlcy1kaWFsb2ciLDEzMTIzOiJlYXJseS1iaXJkLWJhbm5lciIsMTM3MTk6InBob25lLWNoYW5nZS1mbG93IiwxMzczMjoiZnVsbHNjcmVlbi1pbWFnZS1kaWFsb2ctaW1wbCIsMTM5OTM6InB1c2hzdHJlYW0tbXVsdGlwbGV4ZXIiLDE1NzY3OiJ6eGN2Ym5Db21tb25QYWNrYWdlIiwxNjgxMzoidHJhZGluZ3ZpZXctY29weXJpZ2h0LXdpdGgtYm9yZGVyLWRhdGEtaW1wbCIsMTkwMTI6Im1vbmFyY2guY29sb3JpemVyIiwxOTMxMToidGFrZS1zY3JlZW5zaG90IiwxOTc2OToic3Vic2NyaXB0aW9uLWhhcy1jaGFuZ2VkLWRpYWxvZyIsMTk5Mzg6InN5bWJvbC1saXN0LXNlcnZpY2UiLDIxMjYwOiJuc2QtdW5wYWNrLWltcGwiLDIzNzY5OiJzdXBwb3J0LXdpemFyZC1zaG9ydGN1dC1wYWdlIiwyNjA2NjoiY29udGFjdC1wcml2YWN5LXBvbGljaWVzLWRpYWxvZyIsMjg1MDc6ImdldC1lcnJvci1jYXJkIiwzMDMwNDoiY29udGFjdC1lZHVjYXRpb25hbC1kaWFsb2ciLDMyNjEzOiJjb250YWN0LWVudGVycHJpc2UtcGxhbnMtZGlhbG9nIiwzNDE4OToiYnVnLWRpYWxvZy1jcmVhdGlvbi1oYW5kbGVyIiwzNDg3OToiaW50ZXJydXB0LWNvbmZpcm0tbW9kYWwiLDM1NTkyOiJlcnJvci1sb3R0aWUtYW5pbWF0aW9uIiwzNTk4MDoiY2xlYXItb2xkLXNldHRpbmdzIiwzODc4NzoicGFnZS1zbmFwc2hvdCIsMzk0NDI6ImNvbnZlcnQtbWVkaWF0b3Itc3RvcnkiLDQwMTAxOiJ0di1jb2lucy1kaWFsb2ciLDQyNzA2OiJzaW1wbGUtZGlhbG9nIiw0Mzk4MDoiY29udGV4dC1tZW51Iiw0NDE2MjoidGltZS1mcmFtZS12aWV3LXJlbmRlcmVyIiw0NTMyMjoibGlnaHR3ZWlnaHQtY2hhcnQtcHJpY2UtdGltZS10b29sdGlwIiw0NjE2OToidXBncmFkZURpYWxvZyIsNDYzODM6ImNyZWF0ZS1lcnJvci1kaWFsb2ciLDQ3OTYxOiJkZWNsYXJhdGlvbiIsNDgwMDI6ImNvbnRhY3Qtd2lkZ2V0cy1kaWFsb2ciLDQ4MTc4OiJzdXBwb3J0LXdpemFyZC13YXJuaW5ncyIsNDg0MTM6InN1cHBvcnQtd2l6YXJkLWhpZ2gtdm9sdW1lLWluZm8iLDQ4NTUyOiJ2aWRlby1iYW5uZXItZGlhbG9nIiw0OTgzOToic291cmNlLXRhZy1wb3BvdmVyIiw1MDE4MjoiZ2xvYmFsLW5vdGlmaWNhdGlvbiIsNTI0NTM6InNjcmVlbmVyLW5ldy1zdGFuZGFsb25lLWRpYWxvZy1pbXBsIiw1Mzc3MDoiZ2V0LW1lZGlhdG9yLWFwaSIsNTM4ODE6ImdvLXRvLXRyYWRpbmd2aWV3LXJlZmVycmFsLWRpYWxvZyIsNTQ2MTU6InJlZmVycmFsLXdlbGNvbWUiLDU1MzU2OiJnbG9iYWwtbm90aWZpY2F0aW9uLXRvb2xzIiw1NTk2MDoiY29udGFjdC1zZWN1cml0eS1yZXBvcnQtZGlhbG9nIiw1NjAwODoibmV3cy1kZXNjcmlwdGlvbi1kaWFsb2ciLDU3NjM5OiJtaW5pLWNoYXJ0LXN5bWJvbC1kYXRhIiw1NzcxNDoidXNlci1zdGF0dXMtZGVjbGFyYXRpb24iLDU4NjEzOiJjaGFuZ2UtcGxhbi1kaWFsb2ctaW1wbCIsNTg4MTc6InZhbGlkYXRlLWludGwtYWRkcmVzcy1kaWFsb2ciLDYxNTMzOiJzdG9yeS1pdGVtLXRyYW5zZm9ybSIsNjIyMzQ6Im5zZC1pbmZsYXRlLXBha28iLDYyNTU3OiJzdXBwb3J0LXdpemFyZC13aGF0cy1uZXctcGFnZSIsNjI4MTE6Indhcm5pbmctcG9wdXAtaW1wbCIsNjMwODg6InBpbmUubW9uYXJjaC52MyIsNjQ2NDQ6InJlYWN0Iiw2NDk5NzoidGFiYmVkZGlhbG9nIiw2NTYyMzoicG9wLW92ZXIiLDY1OTQ3OiJ2YWxpZGF0ZS1hZGRyZXNzLWRpYWxvZyIsNjYzOTk6InNub3dwbG93LXRyYWNrZXIiLDY2Njg3OiJyZWNhcHRjaGEtcG9wdXAiLDY3MzAzOiJzY3JlZW5lci1tYXJrZXQtZGlhbG9nLWltcGwiLDY4MTU1OiJpbWFnZS1kaWFsb2ciLDY5NDg2OiJjbGVhci1jb252ZXJzYXRpb24tbW9kYWwiLDY5ODc0OiJsb3R0aWUud29ya2VyIiw2OTg4MToid3JvbmctYWNjb3VudC1kaWFsb2ciLDcxMTg1OiJiYXNpYy1xdW90ZXMtc25hcHNob3RlciIsNzExOTI6InF1b3RlLXRpY2tlciIsNzEzMTk6ImFsZXJ0cy1jb2xsZWN0aW9uIiw3MTM5NDoiY21vbmV5Y29tdHctY29weXJpZ2h0LWRhdGEtaW1wbCIsNzIxMTE6InBpbmUubW9uYXJjaC52NCIsNzMzMDA6ImNvbnRhY3QtYnJva2VyYWdlLWludGVncmF0aW9uLWRpYWxvZyIsNzQzNjQ6ImNvbnRleHQtbWVudS1yZW5kZXJlciIsNzYwNDA6InRyYWRpbmd2aWV3LWNvcHlyaWdodC1uZXctZGF0YS1pbXBsIiw3ODcxNzoicGluZS5tb25hcmNoLnY2Iiw3ODg0MToibWF0Y2hlclB3bmVkRmFjdG9yeSIsNzg4Nzc6InBheW1lbnQtb3JkZXItZGlhbG9nIiw3OTA0MToidHJhZGluZ3ZpZXctY29weXJpZ2h0LXRyYWRlLXdpdGgtZGF0YS1pbXBsIiw4MDkzOToidHJhbnNsYXRlZC1zeW1ib2wtZGVzY3JpcHRpb24iLDg0MDcwOiJzaG93LWVycm9yLWRpYWxvZyIsODUwMzg6ImxlbnRhcnUtY29weXJpZ2h0LWRhdGEtaW1wbCIsODU2NTI6ImhhbW1lcmpzIiw4NTk3NDoic2lnbmluLWRpYWxvZyIsODYwMDE6InBheXdhbGwtbWFuYWdlciIsODY5MTQ6InNwaW5uZXIiLDg3MTk2OiJsaWdodHdlaWdodC1taW5pY2hhcnQtc3R1ZHktZGF0YS1zb3VyY2UiLDg4NTkwOiJvcGVuLXByaWNpbmciLDg4NjQwOiJzdXBwb3J0LXdpemFyZC1tYWluLXByb2JsZW0iLDkwNDE1OiJzeW1waG9ueS1jb21tdW5pY2F0aW9uIiw5MDgxMDoiYWRkLW1pbmktY2hhcnQtY29weXJpZ2h0LWltcGwiLDkwODY0OiJ1c2UtdXNlci10aGVtZSIsOTA4ODA6InJlbmRlci11bnN1YnNjcmliZS1kaWFsb2ciLDkxMjkyOiJwYXl3YWxsLW9wZW4iLDkyOTY4OiJjaGF0Ym90IiwKOTMyNDg6ImFsZXJ0cy1yZXNwb25zZS1tb2NrcyIsOTMyNzk6Im1pbmktY2hhcnQtYmFyLWJ1aWxkZXIiLDk1MjA3OiJzbm93cGxvdy10cmFja2VyLWJhc2UiLDk1NzU2OiJ0di1jb2lucyIsOTYzMzc6ImNvbnRhY3QtdHJhZGluZy1lZGl0aW9uLWRpYWxvZyIsOTcyMDI6ImdvcHJvLW9yZGVyLWRpYWxvZyIsOTc1MDk6InRyYWRpbmd2aWV3LWNvcHlyaWdodC1kYXRhLWltcGwiLDk4ODMwOiJ0d28tZmFjdG9yLWFwaSIsOTk4MDU6ImNvbnRhY3QtYWR2ZXJ0aXNpbmctZGlhbG9nIn1bZV18fGUpKyIuIit7MzQ3OiIxZjdkNjczN2UxOGQ1ZThjMWQzYSIsNTc3OiI5YTM5NjFjMTRmMjI5M2Y5MDllYyIsMTUyMToiNzI0YjUwYjBhMDg2YThiMWVmYzAiLDE1MzQ6Ijc0ZmZlMWU3MjVhNDY1ZDQzNDFlIiwxNjQ2OiI4YzgwMDA1YWYyMTU4YmQwODNkYyIsMTc4NzoiZGVlODBiMWQ1Y2M5MGQwMGQ3OGYiLDIyODQ6ImM0NGFhOTI2N2JlOGRjMWM3MTc5IiwyODUxOiJlNmJmMjAwMGQ0ZmI0YzgxMDAxMiIsMzQ2NzoiODk1NTBjMmI5MWRkYzQ4MDI5MDkiLDM1NTI6IjRjNTUzNTE4M2I3YTAzMzBhODlkIiwzOTYxOiJmM2IwY2VmM2FjOWNkOGQxMTAwZCIsNDg3NjoiMjc0ZDU1YTAyZDMyNDA4NzY4NzYiLDY5MzQ6IjkwZWRmZWY2Y2U5ODM2OWFlMDRhIiw3MjExOiIyZjkzNGIzMGNmMzg2NTE3MTQ0NiIsNzI4NToiOGJjODI5MjY2NTI4ZmE3NGFmNWMiLDczOTc6IjA1OWU2MjI5MjQwMjMyNzAxNmM0Iiw3NjA4OiI5ZGQxNDY0OTIyYzFlNjUxNTZhOCIsNzY3NjoiMGFmMTY3NzMxOWRiNzBhNzFjZGQiLDc3MTg6IjlhMWU0ZDgzOGUyMjJhM2EyNzNlIiw4NDY3OiIwODNkZDdhNTEzZDc3ZGIzZDM0NCIsODYwODoiZGE0YzY5YzJhZjg0ZmI4ZmM2MjYiLDk1OTk6ImU4NjZmYzcxYTRmNjlhZmVhMDliIiwxMDcwNDoiN2ExYThhZDc0NzNkMWVkN2RlODYiLDExNDM1OiIzNTM1OWU3NDU4YjgyMTI0NWY0NiIsMTI5NjU6IjQwNmVlNTlmYTAwOWYwZTljMjZiIiwxMzEyMzoiMzNjMDFmOWQ1MGJhM2NmZTFkYWEiLDEzNzE5OiIzMzIwOGFkMDk1Y2UyODI0MGE2OCIsMTM3MzI6IjVhZjFlZWE1ZTIwNDg4ZTI5MjA0IiwxMzk5MzoiM2IxOTljNmFkOGJmNWMzY2FjNjciLDE0ODg5OiI2MjEwYjFjNTZkYzNiMjBjOGZmYiIsMTUzOTQ6ImZhY2Y3NTNlOGNkZmI5YjkwODMxIiwxNTc2NzoiOThmOGZlOTZiYjc4ZmU1MDhlMDciLDE2MDc2OiI2YTYyYTY0YTVhYmYxNTIyNDNhNCIsMTY4MTM6IjdlNDUyN2JjNTUyMTllYTNhZDc2IiwxNzc5NzoiYjJmMjk0NTAwMGFjYWFmMmQxNjUiLDE3OTkxOiJhMzA3YmZlMDAyMzRkYzQxOWJmZCIsMTg1MTI6ImEzYmNkYzcxYzY4NjAxYjdkYmZjIiwxOTAxMjoiYjc2YzU5ZmRhY2JhYmFiYWYzNDgiLDE5MzExOiI2MjhjNmQzZjc2ZGFjODgyZTgyZCIsMTk0NjM6ImNiOWE4MjU3N2NlODFiNDY5MmQzIiwxOTc2OToiYmVlM2NhZjYyMTY4YTk5YjFkZTYiLDE5OTM4OiI1ZTU0MWY5MGJjZWIxYTdhNzU1YiIsMjAzMzE6Ijc0MDM1ZmU5Mjk3MTgxYTEyN2RiIiwyMTI2MDoiZDA5NTVhYWU3NWY4N2QzYmQ0MjEiLDIzMzY0OiI4MDJjZGFkYTc0ODQ1N2NiZmRkOSIsMjM3NDM6IjQ3MzMxMzdhZjJmMjMyYTZhMzRhIiwyMzc2OToiNjZjZWU2NWEyYTg2MGEzMDZkODgiLDI0Njk4OiJiZDk1NzA3MzA5NWJhYjdkYTU5NiIsMjU4NTQ6ImE2N2M2ZDVjZjMwZWIyYzkxYzk5IiwyNjA2NjoiMGYxZjFjYjE5YWY5ZmYzYWY4Y2MiLDI2MTQ1OiI3MjExZmY1ODA4ZjBhMThhMWU5ZCIsMjY0NzM6ImU2OTJlYzRhNTMyOWNjZTYxYWMzIiwyNjcyMzoiOGE2ODA3MmM3N2VjMDAyNjc5MDUiLDI3OTEzOiIyOTE4NjEyMjcyMmNmMGNjYjlkYyIsMjgxNzY6IjIxMzQyODY1ZTc0ZmZiZWZmZjQ0IiwyODUwNzoiZTllNWVlZDEwOGRjOWIwYmI0YTciLDMwMzA0OiI4OTZiZTI1YWE5MjFhODIxNGUyNCIsMzA0MjE6IjQxMmMzMTlkZGJhZGNjOTk1YzcxIiwzMDY5OToiMTM4NmRmYWE3OGU2ZTVmNmM4N2MiLDMyNjEzOiI3MjMwZDczZWRhNjQ5NWY5YTkwZCIsMzQxODk6IjAxNmJjODQ5ZjQ2MGI2ZGNjZjQzIiwzNDY0NToiODQxZWE2MTY4OGVlYmJiZDY5NmEiLDM0ODc5OiIxZTZjZjFmNWE5MzU4ODgxZGU2NyIsMzU1OTI6ImUyNzExZjY1YjVlNGU0MjZjOTBkIiwzNTk4MDoiYzM0MDQyYTRhMTBjYjVmYjJlM2QiLDM4Mzk4OiIwMjU1MGMxYTQ4YWM5MzYwY2E5YSIsMzg3ODc6ImVlZmFiMWQzYWZiYjMzMjhmZWQ2IiwzOTQ0MjoiMjc0MDk2M2I3OGVlNGE0ZTk2NDAiLDM5NjA5OiI4Y2UwZDc5M2IyYjYwYmU3YTRkNSIsNDAxMDE6IjRjMWJkYTJhYmJmYWI4NDczODJkIiw0MjE3MToiMWMwNWQ4MTQ3YzIzMGQ4NmI0ZmEiLDQyMjEyOiI0NzU0YzI4MDRhYjlhOTc5Nzc2YiIsNDIyODg6IjQ3ZWNhZWNhMTAxMmVlM2UxZDhjIiw0MjQ1NzoiMzI4YTg1MjM3N2Q2NDQ1NzBiMGMiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNDM5ODA6IjdlMDM3Y2ZjN2IwMTJhOTcwMzM2Iiw0NDE2MjoiMWU2MmJjNzNkZWQ4NTgxMmYzNDMiLDQ0NzgwOiI3OWQyMDUxZDNiODRjYWVhYjRlNiIsNDUzMjI6Ijg4NTFhMmQyZTE1ZGI5MjFkNDhhIiw0NjE2OToiMTkwMzg3OWMyMjIxZmNhZGNiYTgiLDQ2MjE3OiIzZDg2NGJiNGE3MGQ0ZDNkODQwZiIsNDYzODM6IjZkMGJlYTAxNGUyNDZhOWUwZjJkIiw0NjYwMDoiMjQzMmE4NTNlZjg1YjM1ZDRlMmYiLDQ2ODIzOiJhYmE1MWJkMTFkMjNkOWNmNjFlMiIsNDc5NjE6IjdjNjk1YmVmZGQwMDc3MWZjNGVkIiw0ODAwMjoiYmE1MWRkODM2MjFiMGE0MDgzMDciLDQ4MTc4OiI1MzlkNTQ2ZDNkZDQ5NjVjNzJkZCIsNDg0MTM6ImYzZjFjMTcyZTE1NDI5NGQxNzYyIiw0ODU1MjoiOTM0Y2QxNDdiYTMyYTc1ZmM0NzkiLDQ4ODU0OiJiMDczZjRmNTljZTlkZGMwOWRmNCIsNDk4Mzk6IjI2ZmZkZTY5NzUwMjUyYTRkMjJmIiw1MDE4MjoiYTdhOWQ0MTFhZTI3M2YzMDUxMzIiLDUyNDUzOiI2NDczNzExMmU1NzZlZGFjMzQ1ZSIsNTI1MDk6IjQwNjU5NDcwZTUxYjA2NWQ1MTM5Iiw1MjgxMToiMjg3MDBkNDFmNDY4N2JlODE1OTciLDUzNjUzOiIwMzBhZDU0OTk3MDE1MzQzMGY5MCIsCjUzNzcwOiJiY2NkZjI4OGNhMWYyMDU0ZTE0NSIsNTM4ODE6IjNiY2MyZTRmYmEzZGJlZWM2OTEwIiw1NDYxNToiYTQ2ZDM5M2NlY2Q1MGMwMjZmOTkiLDU1MjI5OiIyNTcyMTg4MTlmYWE2NjM5YTM4OSIsNTUzNTY6IjY1ODU5MTlkOGU5ZDllOWM3ODVjIiw1NTk2MDoiMzBlNjRmMzYxNmJlMjI1NjBjYzIiLDU1OTY5OiI0M2MzNzQ4MDE0ZGUyY2QwYmQxYyIsNTYwMDg6IjY1MTljMTQ4NWVjYjlhNmU3OTliIiw1NzA4MjoiNmZjYzZhNTViNWYyODRhOWMyYzEiLDU3NjM5OiIzNDljYmZhNzhkNjEzY2Q0ZmIzNSIsNTc3MTQ6IjMyNTRkOTAwNjkxM2EyNjhmNTY4Iiw1ODYxMzoiMzI3N2RkYTBiMmVhODkyOTY2YmIiLDU4ODE3OiI3ZTY1NDM0MTFiNmMxMzVjN2E4ZiIsNTk2MTk6ImVlNjE3ZTkxZjViZGExNGM2YWQyIiw2MDQ1MzoiMmYzNzY4NGNhNjhkODIzYmQ1N2QiLDYxMTgzOiI3Y2JkMTZmYmM3YzUxOTE1OTM0ZiIsNjE1MzM6ImFlZjE3MGE2NTM0MWM2OWQ2NmM2Iiw2MjIzNDoiMjIwYjAxYTQyMmQxZGRjOWE2ZTIiLDYyNTU3OiJjZDJhYjEzZGI5NGM0YjgzYzY5YiIsNjI4MTE6ImI0NGU3NTQxZmI2OTdjYjhhNzEzIiw2MzA4ODoiMTRlZDZhMWYzZjgwZGZhZGE5MTUiLDYzMTYwOiIyYTNhMjExODVmYmNjNzA3OWRhZSIsNjQ2NDQ6IjkwOTkyYzlkMGQ1ZGM5MmM4OWI3Iiw2NDcxNToiNWY0OTE0OWNjMzJlOWVmYTE5N2IiLDY0OTk3OiJiOWJmNjAyOGFkZmMyZDAzZTY2ZiIsNjUxMDA6ImY0MjJlMWFkMDYwMTZkYjBkNDdhIiw2NTYyMzoiZmY0ZmI3NDg0MjVkMmM1Yjk2ZDkiLDY1OTQ3OiIyZWUwYTcyYzFmMjhiNDkyM2JiMiIsNjYzOTk6IjNmNjg2NTdkNWZmZTI5YjIxZjYyIiw2NjY4NzoiNjYxNzRhNmJhOWFiMjdhNGMxNWYiLDY2OTMzOiJjMWIxZWQ3Zjk3NWFiZGU1NjU5YyIsNjczMDM6IjViYTJiYmQ5YWY4OGVjMzQxNDRiIiw2ODE1NToiY2ZhNDAzZmQwZGVhZWU3ZjZjMjMiLDY4MzA0OiJmNjY1OTY5MjRkZjZlODkxNjNiZSIsNjg3NDE6ImNiOGMyNDRiZmI2MTQwY2MxM2JmIiw2OTEyMDoiMzIyYThhMzEwM2Q2ZmMwYjE5ZGUiLDY5NDg2OiI4ZmMxYzcwODliMmE2ODQ2YmMwOSIsNjk4NzQ6IjBhMjFlODBiNDQxOTY5OWFlODMyIiw2OTg4MToiMDY3N2UxNWMyOGRhZjVkNWVhZmQiLDcwNTkwOiIwMTc4M2JkOWIyNGIxNTVjOGUxZSIsNzA2NDQ6IjQ0ODc0M2RlZjMyNWZlYjYxOTY3Iiw3MDcxMjoiOTI4MDI4YzQzYmE5YjcwN2U4MTEiLDcxMTg1OiJiNGQyMTIyZmJmYzMwN2ExZjc3MiIsNzExOTI6IjNmNWJmYTU2MGYzZDg2NzZhYTBlIiw3MTMwMDoiYjY3MDk0MzM5NDAzMzlkYzFmNjYiLDcxMzE5OiJmZTYzMTFiODIyZTA3OGYzY2MyZCIsNzEzOTQ6ImU2Mzk3NWJhMWQzNjdkZjdhOWQ4Iiw3MjExMToiNDRlNzk2NGFiMzgxYmNiNTRkYTUiLDcyMTQxOiJkODE3ZjRiZTNiMTE4NWQwZWY0ZSIsNzI2NzQ6ImRjYzE3NTI1NGUwYzY2NjJkZDE0Iiw3MzMwMDoiNjM5NTQyNjAxZjdkZjc4M2NjMDciLDczNTczOiJjMjBlYmZkYmQ5Mzc2ODk2ZjM4YSIsNzQzNjQ6ImQ1MWNlYjhkMTA2YTQ5NTFjY2YzIiw3NTQ4OToiZDljMDkxZTFhZWMyNDNjYWIxYTciLDc1OTMwOiIxNDNjM2IyNDE2YTUwOTg5MzdjOSIsNzYwMzM6IjQ1N2ZjNmE5ZGVhOTNhYmM2NGE2Iiw3NjA0MDoiODlhNTFiOTg4ZWM0M2VkMDRlZTciLDc3NTc4OiJmNmRiNDYwZWQxZThjZTMxZWE4NiIsNzgxMDk6IjRhZWJmM2I3YWJhZjNhNDMwZTM2Iiw3ODMxMjoiMDkwZDhhMDAyYjk0M2QyOGE4MjYiLDc4NzE3OiJjM2MwYWE5NTBjYzJhYmQxNGQ3YSIsNzg4NDE6IjJkZjljNjhlMmIyN2U4NTkyMGJiIiw3ODg3NzoiZDIwMDNiYjhiMzEzYzhiZTg1ODkiLDc5MDQxOiJiYjRmN2NiMDY4ZmZiZWU4Y2JiYSIsNzk5OTY6IjFhNzFhYjVkMjYzY2RiYWE5NDhiIiw4MDkxNToiNjk0MDRmZGE4YWFmYzI3NDJjNTUiLDgwOTM5OiJjZWM1ZTMyYjYwZGJjNDM3OWU3NiIsODE4Njg6Ijk2YmUxZDBhNzI4NjNkY2M0N2I5Iiw4MjIzNzoiZGVhODI4NTkxMWQwM2ZiMDZjNWIiLDgzNzgxOiJhNDMyM2IwZjAxODFlOWRkZmE2MCIsODQwNzA6IjNmZmIwMDcwNjhlMGNjN2M1MDdjIiw4NDM3MToiMjU2NTQ1MmNhZWNhYjk5ODI1NWMiLDg1MDM4OiI0YzBkNmRmMzA0NWRlNDE3MzE3OCIsODU0MzQ6ImI4NWI3NWRmOTFiMjJiYWM4ZDM5Iiw4NTY1MjoiOGYyZmY0M2I2OGJmZTZlYTEyZmQiLDg1OTc0OiJhZWU2MjQ0NDA2NTU4Y2MxNTdkMyIsODYwMDE6IjA4MzcwYWRkNWIwNzgxZjk1OTI4Iiw4Njg2MDoiNDc0ODc3YmUwYjIzNWRjOGNiNGMiLDg2OTE0OiJmNjMxNDcxZmFiMDM4MzcxYmFkMCIsODcxOTY6ImIwOGYyYWEyOGJmNDA2OWE4ZjRjIiw4Nzg1ODoiNjkxMzdlNjJiYmQ1ZTBhNjNhZjQiLDg3OTk1OiI5MTFiMjYxODE3NzhmZWNjNGI0ZSIsODgxNzI6IjNhODE5MDRhZTk0MTIxOTAyZmZlIiw4ODU5MDoiMmY1ZTIwNGM3ZTNkZDkwNjg3OGQiLDg4NjQwOiIxYjUzOTkwNDQwYjIzMWI3MGYyZSIsOTA0MTU6IjhlMmFjMWVjMjJhMGEzMzYyNDUyIiw5MDgxMDoiZDVjZGE2NGMzYmU5MmNjNTMwNWEiLDkwODY0OiJlMzE4ZDQxZTY0MTMxYTZkNzgyOSIsOTA4ODA6IjkyNTBjMGY0YzY2OTNmZjFjOTUwIiw5MTI5MjoiNjUxNmJhYmEzYTVkOThlNTBiYTkiLDkyOTY4OiI0YzQ1MzZkMGM3MTYyMmU5N2FhMyIsOTMyNDg6ImFmZGU1NDhkZmUwOTExOWI2OWI5Iiw5MzI3OToiZjMzYjA1ZDNmZmMyNGE2MTUxMjYiLDk0MTgyOiIyMGRjYzc4YzBlODQ4MWQ0MzQ3MCIsOTQ4MjU6IjhhOTBjMGMzZWJkNDEzZWI5YzgxIiw5NTIwNzoiNDY1ZjhhZjFhYTcyYWMzYTFjMzIiLDk1MjQ0OiI5ZGE4ODljMTM2ZDI1MDZhM2Q4MSIsOTU3NTY6ImVhMjMzMTQzNTI4M2QyNTMwNGE1Iiw5NjMzNzoiODZjM2NjNjEyYzk4ZjdlNzc0OGQiLDk3MjAyOiIzMjNjMTFjZGFmZGNhMzJkNGFkNyIsOTc0NzI6ImU4MTk1NDA1Zjk5MDU1YTgzYzZmIiw5NzUwOToiMjdmMzQ5YTFkNTg0ODNmMjdlYWEiLDk4ODMwOiI0OTZiZWRiM2U5MDcwZWRiNTkyYiIsOTk4MDU6Ijk5NTVhNzc0NWY4NDk3NDE3MTgyIn1bZV0rIi5qcyIsCm4ubWluaUNzc0Y9ZT0+OTc3OTc9PT1lP2UrIi5kOTg1ZWViZTY3Mzk3ZjAyZmE2NC5jc3MiOjUyMzk2PT09ZT9lKyIuZWQ3NmNhZjJmZmUwMTQ0NjBiYTYuY3NzIjoyMDM1ND09PWU/ZSsiLjJkZGY5MzRmOGVkYzI4MDJkOTBhLmNzcyI6MTM0OTI9PT1lP2UrIi4yYzc3NzMwZDExMjVhNDk4NWJkYy5jc3MiOjM3NzQ2PT09ZT9lKyIuMzQ1MjI3YmIxNmUwZDhiYzliZDUuY3NzIjoxMjM4NT09PWU/ZSsiLjc4NTYxZWJkZWYwNWNlNjQ4YjVkLmNzcyI6ODEwNzI9PT1lP2UrIi4yOTI3YTE3NzIzMWZkZDBlMjRjMS5jc3MiOjUxODQ9PT1lPyI1MTg0LjBmYjQ1NzRjYWNlYzE2ZjYzNjVkLmNzcyI6MTEyMTg9PT1lP2UrIi4xMWZlN2U4ZmRhMzAxOWFhYzFhZi5jc3MiOjcyNjY2PT09ZT9lKyIuMjIyOTE3M2JmNGQ2NzQ0ODQ2MzcuY3NzIjo5NDk0OD09PWU/ZSsiLjBmYzg4ZmE2M2MwNTRhOGQ3Njg0LmNzcyI6MjQ1ODE9PT1lP2UrIi40NWRmMDIxODFjNDUwOTczMmQyMC5jc3MiOjIzNjI0PT09ZT9lKyIuZDIzOTBkMTdiMTUwOWIwMTg4MjYuY3NzIjozNjIyMj09PWU/ZSsiLmU5YmU5YTczM2UxMTQ3MzBhNGVhLmNzcyI6ODM0ODg9PT1lP2UrIi4yYTM1Mzc3ZmQ1NGYwYWY0MDg3NC5jc3MiOjY3Nzk5PT09ZT9lKyIuZTI0OTU2OTFjZWExN2IzYTgxYzIuY3NzIjoxMTQ2MT09PWU/ZSsiLmUyN2NiNGVjZjMwNDkyYWMxMWY2LmNzcyI6OTY1ODc9PT1lP2UrIi45N2ZkZDY1ZjIwMTIxMDZmZjExZS5jc3MiOjg2NDIzPT09ZT9lKyIuNzk3ODNhYTcyYjZlMjkyNTJkMGMuY3NzIjozNzUxMz09PWU/ZSsiLmRlMTU3NGIzMzg5ODAwYzkzZWJjLmNzcyI6OTUwND09PWU/Ijk1MDQuOTAzNzdmN2Q1OTQ2Y2YzMjU0ZjAuY3NzIjo0MDgzNT09PWU/ZSsiLjc2YTFjNzkyM2EyYzk4NmJlOWFjLmNzcyI6OTM0MjE9PT1lP2UrIi45NTM4MWY4ZTAwNGQwZDJmYThjZi5jc3MiOjQ3NjMyPT09ZT9lKyIuMzNkMmEzNzQ1YWY0OTdlM2RhNWQuY3NzIjozMTgzNz09PWU/ZSsiLmQzNjhjYWE2NGQ0OTRhNDA4N2NjLmNzcyI6NzY2NT09PWU/Ijc2NjUuOWYxZjMyYjE3NzNiMDU0ZmRmMDcuY3NzIjo1NTAxMT09PWU/ZSsiLmY5YzBhM2MwOWY3Yjg3NzlhYTM3LmNzcyI6NTAwMzU9PT1lP2UrIi4wMjI3YzA5ZThkZTNiNDAwODM5NS5jc3MiOjc4NjUyPT09ZT9lKyIuNGI0ZTA5N2EzMDNkMjFiYzk3ODEuY3NzIjo1MDIyMT09PWU/ZSsiLmY0OWRhMmE3Mjc5Nzc0YWE1ZmU4LmNzcyI6NDUzNjg9PT1lP2UrIi45ZmYwMGEzZTM4MjEyMDI5YmE1NS5jc3MiOjI2NTkyPT09ZT9lKyIuMWM2MTIzOTAyYmM4OGViYTlkNTcuY3NzIjo2MjYzMD09PWU/ZSsiLjUzNzMyZGFlYTgxNzg0NDczOTNmLmNzcyI6ODQwOD09PWU/Ijg0MDguZGU1MzQ2NjNlMDUyMDc1YmExMmYuY3NzIjoyNzUxNz09PWU/ZSsiLjczNjEzNzRkZWUyYjUyZmQxZjhlLmNzcyI6NDM2NDQ9PT1lP2UrIi4wZjdjMTQwMDE5YTY3ZmQ1MGJlNi5jc3MiOjE4NDcyPT09ZT9lKyIuZDk0MTliNmRjYjY0Yzg4NTY0YzEuY3NzIjoyNTgwOT09PWU/ZSsiLjhkZjRlYTdiMDk5YWRjMTVkMDY2LmNzcyI6OTgwODQ9PT1lP2UrIi43Njk0ODc2NDAxNGFlMWQ0Y2NmYi5jc3MiOmUrIi4iK3s2NDU6ImZiMzUwZDlhYzljNzgyZTVlNDM5Iiw2NDY6ImVlMjhiMmIxOWNjODgzMjc2NGI1Iiw2NTc6IjI5ZGRkNGYwNGU2ZWM1MGRhNzBiIiwxNTA5OiIyN2M0ZjAxMWMyNTk3YWRkNzI3NiIsMTY3ODoiOWU5OWM2YzdjMTQyNDRmYWU3NGUiLDIzMzE6ImE0MTczYWZhMTVjYTg1YWQyZjY1IiwzMzIzOiIzZGE3OThkYTM1ODA2Zjg2NzlhMCIsNDA0MjoiZmE5NDk2ODBhMmFkZjllMWFiODQiLDQ0Nzc6IjUxMmMwNDcwOWEzMjU5YmQxMTI0Iiw0OTI5OiI2ZGQ2MWQ1YmY5NmFiMjM0M2Q5OCIsNDk2OToiYzNhZGIxYTEwOGJmMmJhZjljYjMiLDU2ODk6IjA3ZDBkODUyNGJhNGI5YWY0YWRiIiw2MDgyOiJlMDJiODhmNTRmNjhjYmE0MjQ3MSIsNjQ0NToiYWM2MzViYTE1MTk0ZGY0ODQ2MTYiLDY1ODM6ImJjYzU3NDNlMjM2ZmZjNWI3Y2NmIiw2NjA1OiIxZTg5NDIzMTliNDg1YWZjMWY3NSIsNzE2MzoiZWM0ZTdiY2MwYzc5ZTJlNjA3NGQiLDczODc6IjNkN2Q4NjQwMjJjODRmOTI4YWRhIiw3NDQ1OiI3ZGE5NjZhNDQwMTZhZTdhMDJmOCIsNzg5OToiNDdhYWQwNWVhYTIwYmYzMDEyZjciLDg1Nzk6IjZmNjUxOGJlNDI5MzgyMjc4NmUwIiw5ZTM6ImY4NmUxZmQxMDVkOGNjN2FlY2Y0Iiw5MTQwOiI1MTI4MzhkN2U2ZTEwN2YwNzM4ZCIsOTc0NDoiNzBiNTEyNjQ5NWY3YWRjY2FmMmYiLDEwMzY2OiIwN2UyMGU3YmJlZTI3YzlkNWZiYyIsMTAzODU6Ijg3NDRkNGY4NjcwZGFjMzEwZDFmIiwxMTAwODoiNTJhZmE1ZWVkNGExY2Y2NmJlZDYiLDExMjU3OiJlNzlmMGY3OTk1ODg0MDQ3M2QzMSIsMTE0ODk6IjU0N2UzMDNlMjkyZjU0ODE0ZGI0IiwxMTcyNToiMzFlODBiMjNkMTUxNjIyMzJjNDgiLDEyMDUxOiJiODRiZTc4MWJiOTBkNDU3ZjFkZiIsMTI1NjU6IjFkNDA1MzY3OTdhMjk0MTljNjZlIiwxNDE5MzoiZmZlNmYxZjczZGNiMThmMjliNTUiLDE0NjI1OiJhZGE2MTJjY2VmZGVmNzc5ZTI5NSIsMTU1MjY6ImM4MjljNTJmZWQyNTk4NTViYjk2IiwxNjQyMToiMzFkNmNmZTBkMTZhZTkzMWI3M2MiLDE3NjkzOiJiNTI5MzM0YzhjNzYwZWUzNTFkYSIsMTgxNjI6ImQwNjE4NGJjOTcxZWNiZGRhM2IzIiwxODQwMDoiNGYzMWU3ZDk4MGIwNDhlOTU3MmMiLDE5NTEzOiI4NzQ5ZWRjZTY0YTdlMmRlMjU4MyIsMTk1OTU6ImQ5NjJhYjc1YmQzZTFiYWE1YWFlIiwxOTU5ODoiNzhlMmRiMjFiNjlmMTQ1M2Q3MGMiLDE5Nzg3OiJiYmI2NmZhMGZkMmJkMDRkMDg3NSIsMTk4MzM6ImE5YjhmZjQ0YThjNjc2MzMwNzlhIiwyMDI3MToiMGMxNGYxMjZlMzhmNmI0NjA3N2UiLDIwOTcxOiJkNDZhMzc4MGI0MDA1ZDk0N2Q3NCIsMjA5ODY6IjQwZTM0ZTIxYjNkODE5ZGY0OWU1IiwyNDQwODoiODZlNDVlY2YwODg0YmU2YTZlZTMiLDI1NjQ3OiIzZDQzMDE5OGM0MjIyMzlhNWY5MSIsMjU2OTg6Ijc2MDVhNTgyM2NhNmQyNWZlZTQ2IiwyNzU0OToiM2VhNjQ3NWM3OWFiOGUxMWU5MDUiLDI3NzM2OiIyOTNkOTQ3N2MxOTU0ZjE5NzdhNyIsCjI4MDE3OiJmZTc5OGY0ZDdjY2YwMjRiYmIxNSIsMjg0MTM6ImQ5MTIxYmU2Y2QxMzcwNzNmZDNhIiwyOTEzMzoiYmRmYTE2NzA5M2YwNWRmYjI0ZDAiLDI5Mjk2OiJiNDA4ZjI4MjJmYTViOTU2OWJhYyIsMjkzMjc6IjVhNjIzZmU0OTg4MmI5Y2Y1MWU3IiwyOTUzNjoiNzM2ZjQ3MWE4ZDY0YTgxMjJmZDgiLDI5OTQzOiIyZjMzNzMzZGQ2NDhiODJjNDZmYiIsMzAzNzM6ImRlMzJhM2NkY2FlMTJiMTVkNmRmIiwzMDc0NToiZTc4ZDgxYmYyNTBjZDZlNDMwNjgiLDMwOTYwOiI1NDcxMDk4YmQyN2Y5MGYzMTE1ZCIsMzEyNjI6IjI2MGI2MTg3OGUwNTlhNDJlNzlhIiwzMTU1NzoiZTZhZWY1MWYxMDkzNDJiNTk5MWMiLDMyMTc2OiI3YzU3Yzk4OTMzYjhjZmQzZjhlNyIsMzI3NDg6IjJkZDE4ZTIwOWE3NzJlYTRmMWQ3IiwzMzEyMDoiM2U2ZDFjMzNkNmM1MjVjMDc3MWYiLDMzMjIxOiJmNDJjYzU1YTkwYzk4ODQxMjFlNSIsMzMzNjg6ImYxNWRmY2JjMGY3MTk2ZDdkNjc2IiwzMzU1MzoiMGRmOWIzNTJjYmM2ZmEwM2NjYTgiLDM0NzU4OiI4ODBkOTczYmY2Y2JiYzQ4MjE3NCIsMzUwNzM6ImI4NTYzMmVhYTIyY2YxOWU3Y2QyIiwzNTE5ODoiMjJhNTY1NWY1M2UwOTFhMmZiNzMiLDM1NjMwOiI4YjllZTI1YzVlMmQyMzRkOTk1MSIsMzYzNTY6IjY4ZTY2YmY3NGZkYjI0M2Q0MzJhIiwzNjU0NToiZmM0ZWIzNzExMmUzNWUwOGQwMmMiLDM3MzkwOiIzMmZlYzg3MDMzZTI4YTVkODY0ZiIsMzc3Njc6IjQ0MDI5NjA2YzczYTY4M2U3YjBjIiwzODI2MjoiYjQwZTdlNzgwNjQxNjNjZGMwZDIiLDM4ODY4OiI1ZWU3NDFmZDYzODY2NmQ0NDVkYyIsMzk3ODY6IjJiMDBkYzIxZWY5NDYwMGUwOTY4Iiw0MDIyMDoiZTBiZTM3OTczNDVjNmUyNGNlY2EiLDQwODY3OiI0OTU2YzYxNWZkZWFkODFkY2QxMSIsNDA5MTQ6ImE4ZGQ2OTZiZTdkZGU2Y2U2ZGRiIiw0MTU4ODoiYTRkMWZiYmZiYzEzYmFlNzYwZDAiLDQzNDQxOiJhYzYwMzUwYzg2YzU3ODExZjIyMyIsNDQyNTM6Ijg0MDViYWYzM2MzZWZkMDE1MjhlIiw0NTk0NToiNWM5ZWNjZDI4MWNhN2YyZDc5ZTAiLDQ2MDM0OiI3ZmU1ZDY1NTVkMzUyMzg4NzIxNCIsNDY1OTE6IjhkMDMzMzk0YjgzYjYxNmJmMDY2Iiw0NzAyMToiZWQxMTM0OTdlZjMyYTY1MjZlNTAiLDQ3NTUxOiI4ZDJjZTUyNGIzOGU0YTkyNTQ3ZiIsNDc1Nzk6ImRjMzg3OTE5MWMwNGI5MzhmZDNmIiw0ODg2NDoiYzdiMmFmOThkOTE0ZWJkODMyN2MiLDQ5NTM2OiJjYmEyMDdhNWJhY2Y3YTE1M2EzZiIsNDk1ODg6IjE1NDI2YjIyMjc5NTYxZDk4ODBiIiw1MDMyNToiNTc3Y2QxMTQ2MTYyYmNmMDVjMmIiLDUwNjIyOiI1ZjA1ZWY1MWFiMDIzOGRhYTM2YSIsNTA4MDA6IjgwZjkwZTA0NDllZjIwZjM4OTg2Iiw1MTAzMDoiYjdmNTNlZDYzNWIwOTJmZDE2OTEiLDUxMjEzOiI2ZGIxOGY1NDVlOGZjYTg1OTFkMyIsNTEzMDk6IjZmMDJlYWMxNGJmMDIyZGMyYTQ3Iiw1MTMxNToiNDUxOGM0MGM1OTRkN2M2YzczNDciLDUxNjgyOiIxNWQwMTM0NzJiODVjZDk4NTE3YSIsNTE4ODA6ImNmODA5NmFkOWNmNjY1ZThmM2JiIiw1MjA2NToiZGU5ZWRkYjMzOWFjNzdkMWRiZjgiLDUyMTc4OiI0ZDU2MmEyNWFkM2MxMzc5MjFlMSIsNTI2ODA6IjhlZmE2YjRkOTk4MTg2ZjM5Y2JhIiw1MzMyOToiMDNhNmQzNDAzNWMxNzY4ZmI3ZDUiLDUzNTIxOiJkYzliYzcwYTZhODBmMmM5NGY1NSIsNTM3MTM6IjQ5ZDg4M2M3N2IzZDc0ZjQ3YzEyIiw1NDA5MzoiZDgwYzBmZmIyMzQ1N2ZmODVlZjQiLDU0MzEwOiJjZGQwMjJmZGFmZTQ0ZmMyYzU4OSIsNTYyMTM6IjAwZDI1ZmU4YWQxNjllMzE4YjJlIiw1NjI1MjoiMmI4MmY1NzViYTFjZWI1NGZhMjkiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTc1MDQ6ImM3Zjc1ZjYwMzlmN2NhNDc4YjJlIiw1ODM4NDoiNjZhNjBiNWViYjNlMDQ2ZjgyZDEiLDU4OTMzOiJiM2FlNTFiOWIzODNmM2FjOTU2NCIsNTkzNTA6ImI2NjM2M2QxOTk4NDFlYmY4Yjg2Iiw1OTQzNzoiYjcyYzUwYjUwNWYxMmM5OWM3MmUiLDU5OTQxOiJhZjIyZjNhYjgzY2RmY2MzOTM1YSIsNjAwNjI6IjQ5NTQ0NGE3ZmFjMTczZmIyOGNkIiw2MTgyMToiZjY0ZDFlMmM2YjFlMzBkZmQ1NGUiLDYyNzkwOiIwY2QyYjkxN2Y3YTcxNjkwZTc0NSIsNjI4MDY6ImFlN2I5OTJiZDUzMWU3NmY4ZTc2Iiw2NDE5NToiNzIxNTFiYTJlNjczNDczZjcyYTQiLDY0NjQzOiI1ZWYzYmRiYWEwYzZjNDg4OWY0ZSIsNjQ2NzQ6IjY2ZDVhM2NiNWY4NDA2MzM0NDdhIiw2NTUyODoiOWRjYzE5MWE0YWI0ODdkMGIxMGMiLDY1ODU2OiI2Y2YyNzMwNjQ1MTZjZDgxMjljMCIsNjYyNzA6IjAwZjdlMDI3MzBiNDU2YWJmMjZkIiw2NjQ3MzoiMjE4MjJlYjViYTZkOGJkNTBjNmUiLDY3MjEyOiI3Y2ExMmFiN2VjY2YxYzQ4YWVhMSIsNjc1NDM6ImRjZGJhODk5NDljMDBiZjU3NWQ2Iiw2ODk0MjoiNDljZTM1ZTA4ZGZiYjdiOThlNWEiLDY4OTY0OiI5NDI1YjU4NzMwZGYxMzgwNmZmNiIsNjk4MDk6IjQyNDU3YmZiNjUxMjI1NmIyYzA4Iiw3MDY1NjoiY2U0ZmI0ZGZkOTU5ZWVmYzg0YzciLDcwODE1OiIzY2U2ZDZhMjY4NmU4ODkwN2FiMyIsNzE0MTQ6ImUzNDVlZDc1MmQzYTIwZDE5NDY3Iiw3MTQ4MjoiMWYwYWRhOTE2MGYzZjlmY2VjMDMiLDcxOTAxOiI0M2Q1YjQ4ZDk2NDM2NTZiZmQyYyIsNzIyNDk6Ijg0YmM3ODY3ZjVmMTA0YmJhZDI2Iiw3MjUxMjoiNjE5MzEwMmUzMTUyODA2YjhiMGYiLDcyNjgwOiJmNzlhNTcxNjBjZDcyNGFkZmRmYyIsNzI5MDI6Ijc3NmRiYjQ0NjlkMTk1NGY1YzZhIiw3MzQyNToiYWVhYjkxMjllOGRkMzliNWEyNDQiLDczNTUxOiIzMjgyZTA1MjVhOTM1ODIwYjRmNyIsNzQwMTE6ImUzMWQ4ZjkyNDEzZjBiZWNhOTg0Iiw3NDIzMzoiMWU3NzYxYTgxYzRlYzVmOTk4NzYiLDc0MzgxOiJmZDZiOTAxNTNjNmMxNmIyYmM5YSIsNzQ0MjI6IjNkNzg4NWI0MTQyY2Y1ZjA4YjA4Iiw3NDYzNjoiYjBkZWExNjVmNDQ1ZjQwOTA5ZmEiLDc0ODMwOiI0ZjUwZDAwZmJmOTVjMWUyOTY5NSIsNzYzMjk6ImM1N2QxNmQzNTBkZDZmNGFhN2FkIiw3NjkxMjoiZjA1NTNjNTI4M2M5ZGExMjViNDkiLAo3ODIzNzoiZTg5NmE4YmVhOTI1ZDY1ZjZlZmYiLDc4NDA0OiJiNWVjZDZkYzY1ZjEzZGVmNWVhYiIsNzg0NzE6IjA1MmY5NjMzMDM0NjE4YjAxNTYxIiw3ODg5OToiYmI1ZjgxZDk0YmU1YjVhN2JiZDEiLDgwNzMxOiJmOTY4Mzg1YmUyZTIwMDYyYmVkYSIsODA3ODI6Ijk3NWZiNDFkNDJhZTJkNTFjMDhiIiw4MTAwMToiYWZmODRiYzA0YTAzYjE3YjU0NmQiLDgxNTI5OiI5NjUyNGIwMzkzY2Y4Njk1ZDljZiIsODE5MDM6IjJjYTY3NmJiZTQ2MzgyZTZjMWZmIiw4MjI3MToiYzAyMWJhZTQ0NDY2NWEzNDg1M2YiLDgyNTg2OiJkZTlhMmVhNTE1Yjk2MGUwNTQ3ZSIsODM1Mjk6ImQ5NmVhNWMxZjljODM3NWZiYzE4Iiw4NDk0ODoiMWYwNWQyZTYzODc3OTMxYTRhMTEiLDg3NDc0OiJiZTI4ZjllMDAzZTBjNDczYjkxZCIsODc3NDA6IjVlMWE3Njc5MGVlNDlhMzc5NWZhIiw4ODM4NToiMDg1NTFmMjAwZmVhMGZkMDNjZDUiLDg4NjQxOiIwNDE0MzhkMTFjNDZmY2U5ZDA4OSIsODkwNDQ6IjEyMjg4NjU5MWRiM2ZhNmZkYzAzIiw4OTE5NToiZjFlYmMyNGEwZGQ2YzllMDQ1NTIiLDg5NTU4OiI5ODFhMzRiMTliNDFmYWQ5MmI4OCIsOTA5NjA6ImVjOTQxYWNjZmFhM2VkMmNkNmUyIiw5MTIwMDoiOWE1MmY5ZjkxOGZjMTk2YmE0NGEiLDkxNjc4OiJlMzBkNGNkY2RjNjg4MzdmZjRkMSIsOTM0MTY6IjkwODE4ZDczZTBlM2E5YTlmZTJhIiw5NDA1NDoiZDUwZTkzZWY0M2MxODRhNTEzZWYiLDk1MTU4OiI1M2JlNmVlNjY0ZTUwNTE4NDVmOCIsOTc2NjA6ImFlOWYzZDRlNTY5NmY1ZDExOWE3Iiw5OTU5MzoiYjRmOGFlMTdjMGZiNjhmMmZiMDAiLDk5OTA4OiJmM2Y3MmYyZTk3M2ZiZDlkYTkxZSJ9W2VdKyIuY3NzIixuLmc9ZnVuY3Rpb24oKXtpZigib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIikoKX1jYXRjaChlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxuLm89KGUsYSk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGEpLGQ9e30sZj0idHJhZGluZ3ZpZXc6IixuLmw9KGUsYSxjLGIpPT57aWYoZFtlXSlkW2VdLnB1c2goYSk7ZWxzZXt2YXIgdCxyO2lmKHZvaWQgMCE9PWMpZm9yKHZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxpPTA7aTxvLmxlbmd0aDtpKyspe3ZhciBzPW9baV07aWYocy5nZXRBdHRyaWJ1dGUoInNyYyIpPT1lfHxzLmdldEF0dHJpYnV0ZSgiZGF0YS13ZWJwYWNrIik9PWYrYyl7dD1zO2JyZWFrfX10fHwocj0hMCwodD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSkuY2hhcnNldD0idXRmLTgiLG4ubmMmJnQuc2V0QXR0cmlidXRlKCJub25jZSIsbi5uYyksdC5zZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIsZitjKSx0LnNyYz1lLDAhPT10LnNyYy5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKHQuY3Jvc3NPcmlnaW49ImFub255bW91cyIpKSxkW2VdPVthXTt2YXIgXz0oYSxjKT0+e3Qub25lcnJvcj10Lm9ubG9hZD1udWxsLGNsZWFyVGltZW91dChsKTt2YXIgZj1kW2VdO2lmKGRlbGV0ZSBkW2VdLHQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLGYmJmYuZm9yRWFjaCgoZT0+ZShjKSkpLGEpcmV0dXJuIGEoYyl9LGw9c2V0VGltZW91dChfLmJpbmQobnVsbCx2b2lkIDAse3R5cGU6InRpbWVvdXQiLHRhcmdldDp0fSksMTJlNCk7dC5vbmVycm9yPV8uYmluZChudWxsLHQub25lcnJvciksdC5vbmxvYWQ9Xy5iaW5kKG51bGwsdC5vbmxvYWQpLHImJmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodCl9fSxuLnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LG4ubm1kPWU9PihlLnBhdGhzPVtdLGUuY2hpbGRyZW58fChlLmNoaWxkcmVuPVtdKSxlKSxuLmo9MjExOCwoKCk9Pnt2YXIgZTtuLmcuaW1wb3J0U2NyaXB0cyYmKGU9bi5nLmxvY2F0aW9uKyIiKTt2YXIgYT1uLmcuZG9jdW1lbnQ7aWYoIWUmJmEmJihhLmN1cnJlbnRTY3JpcHQmJiJTQ1JJUFQiPT09YS5jdXJyZW50U2NyaXB0LnRhZ05hbWUudG9VcHBlckNhc2UoKSYmKGU9YS5jdXJyZW50U2NyaXB0LnNyYyksIWUpKXt2YXIgYz1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtpZihjLmxlbmd0aClmb3IodmFyIGQ9Yy5sZW5ndGgtMTtkPi0xJiYoIWV8fCEvXmh0dHAocz8pOi8udGVzdChlKSk7KWU9Y1tkLS1dLnNyY31pZighZSl0aHJvdyBuZXcgRXJyb3IoIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyIik7ZT1lLnJlcGxhY2UoL15ibG9iOi8sIiIpLnJlcGxhY2UoLyMuKiQvLCIiKS5yZXBsYWNlKC9cPy4qJC8sIiIpLnJlcGxhY2UoL1wvW15cL10rJC8sIi8iKSxuLnA9ZX0pKCksbi5nLmxvY2F0aW9uJiZuLnAuc3RhcnRzV2l0aChuLmcubG9jYXRpb24ub3JpZ2luKSYmKG4ucD1uLnAuc2xpY2Uobi5nLmxvY2F0aW9uLm9yaWdpbi5sZW5ndGgpKSwoKCk9Pntjb25zdCBlPW4udTtuLnU9YT0+ZShhKS5yZXBsYWNlKCJfX0xBTkdfXyIsbi5nLmxhbmd1YWdlKX0pKCksKCgpPT57dmFyIGU9bi5lLGE9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBjKGEsZCl7cmV0dXJuIGUoYSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihmKXt2YXIgYj1mdW5jdGlvbigpe3NlbGYucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIixiLCExKSwhMT09PW5hdmlnYXRvci5vbkxpbmU/c2VsZi5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLGIsITEpOmYoZDwyP2MoYSxkKzEpOmUoYSkpfTtzZXRUaW1lb3V0KGIsZCpkKjFlMyl9KSl9KSl9bi5lPWZ1bmN0aW9uKGUpe2lmKCFhW2VdKXthW2VdPWMoZSwwKTt2YXIgZD1mdW5jdGlvbigpewpkZWxldGUgYVtlXX07YVtlXS50aGVuKGQsZCl9cmV0dXJuIGFbZV19fSkoKSwoKCk9PntpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXt2YXIgZT1lPT5uZXcgUHJvbWlzZSgoKGEsYyk9Pnt2YXIgZD1uLm1pbmlDc3NGKGUpLGY9bi5wK2Q7aWYoKChlLGEpPT57Zm9yKHZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZj0odD1jW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpfHx0LmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKCJzdHlsZXNoZWV0Ij09PXQucmVsJiYoZj09PWV8fGY9PT1hKSlyZXR1cm4gdH12YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3R5bGUiKTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgdDtpZigoZj0odD1iW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKT09PWV8fGY9PT1hKXJldHVybiB0fX0pKGQsZikpcmV0dXJuIGEoKTsoKGUsYSxjLGQsZik9Pnt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi5yZWw9InN0eWxlc2hlZXQiLGIudHlwZT0idGV4dC9jc3MiLGIub25lcnJvcj1iLm9ubG9hZD1jPT57aWYoYi5vbmVycm9yPWIub25sb2FkPW51bGwsImxvYWQiPT09Yy50eXBlKWQoKTtlbHNle3ZhciB0PWMmJigibG9hZCI9PT1jLnR5cGU/Im1pc3NpbmciOmMudHlwZSkscj1jJiZjLnRhcmdldCYmYy50YXJnZXQuaHJlZnx8YSxuPW5ldyBFcnJvcigiTG9hZGluZyBDU1MgY2h1bmsgIitlKyIgZmFpbGVkLlxuKCIrcisiKSIpO24uY29kZT0iQ1NTX0NIVU5LX0xPQURfRkFJTEVEIixuLnR5cGU9dCxuLnJlcXVlc3Q9cixiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxmKG4pfX0sYi5ocmVmPWEsMCE9PWIuaHJlZi5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKGIuY3Jvc3NPcmlnaW49ImFub255bW91cyIpLGM/Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLGMubmV4dFNpYmxpbmcpOmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYil9KShlLGYsbnVsbCxhLGMpfSkpLGE9ezIxMTg6MH07bi5mLm1pbmlDc3M9KGMsZCk9PnthW2NdP2QucHVzaChhW2NdKTowIT09YVtjXSYmezY0NToxLDY0NjoxLDY1NzoxLDE1MDk6MSwxNjc4OjEsMjMzMToxLDMzMjM6MSw0MDQyOjEsNDQ3NzoxLDQ5Mjk6MSw0OTY5OjEsNTE4NDoxLDU2ODk6MSw2MDgyOjEsNjQ0NToxLDY1ODM6MSw2NjA1OjEsNzE2MzoxLDczODc6MSw3NDQ1OjEsNzY2NToxLDc4OTk6MSw4NDA4OjEsODU3OToxLDllMzoxLDkxNDA6MSw5NTA0OjEsOTc0NDoxLDEwMzY2OjEsMTAzODU6MSwxMTAwODoxLDExMjE4OjEsMTEyNTc6MSwxMTQ2MToxLDExNDg5OjEsMTE3MjU6MSwxMjA1MToxLDEyMzg1OjEsMTI1NjU6MSwxMzQ5MjoxLDE0MTkzOjEsMTQ2MjU6MSwxNTUyNjoxLDE2NDIxOjEsMTc2OTM6MSwxODE2MjoxLDE4NDAwOjEsMTg0NzI6MSwxOTUxMzoxLDE5NTk1OjEsMTk1OTg6MSwxOTc4NzoxLDE5ODMzOjEsMjAyNzE6MSwyMDM1NDoxLDIwOTcxOjEsMjA5ODY6MSwyMzYyNDoxLDI0NDA4OjEsMjQ1ODE6MSwyNTY0NzoxLDI1Njk4OjEsMjU4MDk6MSwyNjU5MjoxLDI3NTE3OjEsMjc1NDk6MSwyNzczNjoxLDI4MDE3OjEsMjg0MTM6MSwyOTEzMzoxLDI5Mjk2OjEsMjkzMjc6MSwyOTUzNjoxLDI5OTQzOjEsMzAzNzM6MSwzMDc0NToxLDMwOTYwOjEsMzEyNjI6MSwzMTU1NzoxLDMxODM3OjEsMzIxNzY6MSwzMjc0ODoxLDMzMTIwOjEsMzMyMjE6MSwzMzM2ODoxLDMzNTUzOjEsMzQ3NTg6MSwzNTA3MzoxLDM1MTk4OjEsMzU2MzA6MSwzNjIyMjoxLDM2MzU2OjEsMzY1NDU6MSwzNzM5MDoxLDM3NTEzOjEsMzc3NDY6MSwzNzc2NzoxLDM4MjYyOjEsMzg4Njg6MSwzOTc4NjoxLDQwMjIwOjEsNDA4MzU6MSw0MDg2NzoxLDQwOTE0OjEsNDE1ODg6MSw0MzQ0MToxLDQzNjQ0OjEsNDQyNTM6MSw0NTM2ODoxLDQ1OTQ1OjEsNDYwMzQ6MSw0NjU5MToxLDQ3MDIxOjEsNDc1NTE6MSw0NzU3OToxLDQ3NjMyOjEsNDg4NjQ6MSw0OTUzNjoxLDQ5NTg4OjEsNTAwMzU6MSw1MDIyMToxLDUwMzI1OjEsNTA2MjI6MSw1MDgwMDoxLDUxMDMwOjEsNTEyMTM6MSw1MTMwOToxLDUxMzE1OjEsNTE2ODI6MSw1MTg4MDoxLDUyMDY1OjEsNTIxNzg6MSw1MjM5NjoxLDUyNjgwOjEsNTMzMjk6MSw1MzUyMToxLDUzNzEzOjEsNTQwOTM6MSw1NDMxMDoxLDU1MDExOjEsNTYyMTM6MSw1NjI1MjoxLDU3MzAwOjEsNTc1MDQ6MSw1ODM4NDoxLDU4OTMzOjEsNTkzNTA6MSw1OTQzNzoxLDU5OTQxOjEsNjAwNjI6MSw2MTgyMToxLDYyNjMwOjEsNjI3OTA6MSw2MjgwNjoxLDY0MTk1OjEsNjQ2NDM6MSw2NDY3NDoxLDY1NTI4OjEsNjU4NTY6MSw2NjI3MDoxLDY2NDczOjEsNjcyMTI6MSw2NzU0MzoxLDY3Nzk5OjEsNjg5NDI6MSw2ODk2NDoxLDY5ODA5OjEsNzA2NTY6MSw3MDgxNToxLDcxNDE0OjEsNzE0ODI6MSw3MTkwMToxLDcyMjQ5OjEsNzI1MTI6MSw3MjY2NjoxLDcyNjgwOjEsNzI5MDI6MSw3MzQyNToxLDczNTUxOjEsNzQwMTE6MSw3NDIzMzoxLDc0MzgxOjEsNzQ0MjI6MSw3NDYzNjoxLDc0ODMwOjEsNzYzMjk6MSw3NjkxMjoxLDc4MjM3OjEsNzg0MDQ6MSw3ODQ3MToxLDc4NjUyOjEsNzg4OTk6MSw4MDczMToxLDgwNzgyOjEsODEwMDE6MSw4MTA3MjoxLDgxNTI5OjEsODE5MDM6MSw4MjI3MToxLDgyNTg2OjEsODM0ODg6MSw4MzUyOToxLDg0OTQ4OjEsODY0MjM6MSw4NzQ3NDoxLDg3NzQwOjEsODgzODU6MSw4ODY0MToxLDg5MDQ0OjEsODkxOTU6MSw4OTU1ODoxLDkwOTYwOjEsOTEyMDA6MSw5MTY3ODoxLDkzNDE2OjEsOTM0MjE6MSw5NDA1NDoxLDk0OTQ4OjEsOTUxNTg6MSw5NjU4NzoxLDk3NjYwOjEsOTc3OTc6MSw5ODA4NDoxLDk5NTkzOjEsOTk5MDg6MX1bY10mJmQucHVzaChhW2NdPWUoYykudGhlbigoKCk9PnthW2NdPTB9KSwoZT0+e3Rocm93IGRlbGV0ZSBhW2NdLGV9KSkpfX19KSgpLG4uaTE4bmV4dD0oZSxhPXt9LGMsZD1uLmcubGFuZ3VhZ2UpPT57aWYobnVsbD09PWUpewppZihBcnJheS5pc0FycmF5KGMpKXJldHVybiBjW3ZvaWQgMD09PWEuY291bnQ/MDpuLl9wbHVyYWxbZF0oYS5jb3VudCldLnJlcGxhY2UoL3soXHcrKX0vZywoKGUsYyk9PnZvaWQgMCE9PShhLnJlcGxhY2V8fGEpW2NdPyhhLnJlcGxhY2V8fGEpW2NdOmUpKTtpZigib2JqZWN0Ij09dHlwZW9mIGMpcmV0dXJuIGNbbi5nLmxhbmd1YWdlXT9uLmkxOG5leHQobnVsbCxhLGNbbi5nLmxhbmd1YWdlXSk6bi5pMThuZXh0KG51bGwsYSxjLmVuLCJlbiIpfWVsc2UgaWYoYyYmZSl7Y29uc3QgZD1gJHtlfSR7YS5jb250ZXh0P2BfJHthLmNvbnRleHR9YDoiIn1gO2lmKGNbZF0pcmV0dXJuIG4uaTE4bmV4dChudWxsLGEsY1tkXSl9cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKToic3RyaW5nIiE9dHlwZW9mIGU/IiI6ZX0sKCgpPT57bi5iPSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmJhc2VVUkl8fHNlbGYubG9jYXRpb24uaHJlZjt2YXIgZT17MjExODowLDg0MzA2OjAsNDY5MDc6MCw5NDIzMjowLDMyODE2OjAsMTcwODc6MCw0MzMyNTowLDM5MDU6MCwzNTc5NDowLDE1OTMyOjAsNTQ2ODE6MCw1MTUwODowLDQ5NTE4OjAsMzI2MzI6MCwxNTYzNDowLDc1MzA0OjAsNTIwOTU6MCwzODAwMjowLDQ0MDMxOjAsNDM3OTI6MCw3MDM2NDowLDk0ODg6MCwzNzg2NzowLDYyNjgxOjAsMzAyMDA6MCwzMTM5NjowfTtuLmYuaj0oYSxjKT0+e3ZhciBkPW4ubyhlLGEpP2VbYV06dm9pZCAwO2lmKDAhPT1kKWlmKGQpYy5wdXNoKGRbMl0pO2Vsc2UgaWYoL14oMSgwMyg2Nnw4NSl8MSgwMDh8MjE4fDI1N3w0NjF8NDg5fDcyNSl8MigwNTF8Mzg1fDU2NSl8NSgwOXw1MjZ8NjM0fDkzMil8OCgxNjJ8NDAwfDQ3Mil8OSg1KDEzfDk1fDk4KXw3ODd8ODMzKXwoNDF8NzYpOTN8MzQ5Mnw0NjI1fDY0MjF8Njc4fDcwODcpfDIoMChbMjldNzF8MzU0fDk4Nil8NSg2NDd8Njk4fDgwOSl8Nyg1MTd8NTQ5fDczNil8OSgxMzN8Mjk2fDMyN3w1MzZ8OTQzKXwxMTh8MzMxfDM2MjR8NDQwOHw0NTgxfDY1OTJ8ODAxN3w4NDEzKXwzKDAoMjAwfDM3M3w3NDV8OTYwKXwxKDI2MnwzOTZ8NTU3fDgzNyl8MigxNzZ8NjMyfDc0OHw4MTYpfDMoMTIwfDIyMXwyM3wzNjh8NTUzKXw1KDA3M3wxOTh8NjMwfDc5NCl8NigyMjJ8MzU2fDU0NSl8NyhbNzhdNjd8MzkwfDUxM3w3NDYpfDgoMDAyfDI2Mnw4NjgpfDQ3NTh8OTA1fDk3ODYpfDQoMCgyMjB8NDJ8ODM1fDg2N3w5MTQpfDMoMzI1fDQ0MXw2NDR8NzkyKXw0KDAzMXwyNTN8NzcpfDYoMDM0fDU5MXw5MDcpfDcoMDIxfDU1MXw1Nzl8NjMyKXw5KDUoMTh8MzZ8ODgpfDI5fDY5KXwxNTg4fDUzNjh8NTk0NXw4ODY0KXw1KDAoMDM1fDIyMXwzMjV8NjIyfDgwMCl8MSgwMzB8MjEzfDMwOXwzMTV8NTA4fDY4Mnw4NHw4ODApfDIoMDY1fDA5NXwxNzh8Mzk2fDY4MCl8MygzMjl8NTIxfDcxMyl8NCgwOTN8MzEwfDY4MSl8NigyMTN8MjUyfDg5KXw5KDM1MHw0Mzd8OTQxKXw1MDExfDczMDB8NzUwNHw4Mzg0fDg5MzMpfDYoMig2MzB8NjgxfDc5MHw4MDYpfDQoNih8NDN8NzQpfCh8MTl8NCk1KXw1KDUyOHw3fDgzfDg1Nil8NigwNXwyNzB8NDczKXw3KDIxMnw1NDN8Nzk5KXw4OSg0Mnw2NCl8MDA2MnwwODJ8MTgyMXw5ODA5KXw3KDAoMzY0fDY1Nnw4MTUpfDEoNDE0fDQ4Mnw2M3w5MDEpfDIoMjQ5fDUxMnw2NjZ8NjgwfDkwMil8Myg0MjV8NTUxfDg3KXw0KDAxMXwyMzN8MzgxfDQyMnw0NXw2MzZ8ODMwKXw2KDMyOXw2NXw5MTIpfDgoKHw4KTk5fDIzN3w0MDR8NDcxfDY1Mil8NTMwNCl8OCgwNygzMXw4Mil8MSgwMDF8MDcyfDUyOXw5MDMpfDQoMDh8MzA2fDk0OCl8OSgwNDR8MTk1fDU1OCl8MjI3MXwyNTg2fDM0ODh8MzUyOXw1Nzl8NjQyM3w3NDc0fDc3NDB8ODM4NXw4NjQxKXw5KDEoMjAwfDQwfDY3OCl8MzQoMTZ8MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDcoNDR8NjYwfDc5Nyl8MDAwfDA5NjB8NTA0fDUxNTh8NjU4N3w4MDg0fDk1OTN8OTkwOCkpJC8udGVzdChhKSllW2FdPTA7ZWxzZXt2YXIgZj1uZXcgUHJvbWlzZSgoKGMsZik9PmQ9ZVthXT1bYyxmXSkpO2MucHVzaChkWzJdPWYpO3ZhciBiPW4ucCtuLnUoYSksdD1uZXcgRXJyb3I7bi5sKGIsKGM9PntpZihuLm8oZSxhKSYmKDAhPT0oZD1lW2FdKSYmKGVbYV09dm9pZCAwKSxkKSl7dmFyIGY9YyYmKCJsb2FkIj09PWMudHlwZT8ibWlzc2luZyI6Yy50eXBlKSxiPWMmJmMudGFyZ2V0JiZjLnRhcmdldC5zcmM7dC5tZXNzYWdlPSJMb2FkaW5nIGNodW5rICIrYSsiIGZhaWxlZC5cbigiK2YrIjogIitiKyIpIix0Lm5hbWU9IkNodW5rTG9hZEVycm9yIix0LnR5cGU9Zix0LnJlcXVlc3Q9YixkWzFdKHQpfX0pLCJjaHVuay0iK2EsYSl9fSxuLkYuaj1hPT57CmlmKCEobi5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoMDA4fDIxOHwyNTd8NDYxfDQ4OXw3MjUpfDIoMDUxfDM4NXw1NjUpfDUoMDl8NTI2fDYzNHw5MzIpfDgoMTYyfDQwMHw0NzIpfDkoNSgxM3w5NXw5OCl8Nzg3fDgzMyl8KDQxfDc2KTkzfDM0OTJ8NDYyNXw2NDIxfDY3OHw3MDg3KXwyKDAoWzI5XTcxfDM1NHw5ODYpfDUoNjQ3fDY5OHw4MDkpfDcoNTE3fDU0OXw3MzYpfDkoMTMzfDI5NnwzMjd8NTM2fDk0Myl8MTE4fDMzMXwzNjI0fDQ0MDh8NDU4MXw2NTkyfDgwMTd8ODQxMyl8MygwKDIwMHwzNzN8NzQ1fDk2MCl8MSgyNjJ8Mzk2fDU1N3w4MzcpfDIoMTc2fDYzMnw3NDh8ODE2KXwzKDEyMHwyMjF8MjN8MzY4fDU1Myl8NSgwNzN8MTk4fDYzMHw3OTQpfDYoMjIyfDM1Nnw1NDUpfDcoWzc4XTY3fDM5MHw1MTN8NzQ2KXw4KDAwMnwyNjJ8ODY4KXw0NzU4fDkwNXw5Nzg2KXw0KDAoMjIwfDQyfDgzNXw4Njd8OTE0KXwzKDMyNXw0NDF8NjQ0fDc5Mil8NCgwMzF8MjUzfDc3KXw2KDAzNHw1OTF8OTA3KXw3KDAyMXw1NTF8NTc5fDYzMil8OSg1KDE4fDM2fDg4KXwyOXw2OSl8MTU4OHw1MzY4fDU5NDV8ODg2NCl8NSgwKDAzNXwyMjF8MzI1fDYyMnw4MDApfDEoMDMwfDIxM3wzMDl8MzE1fDUwOHw2ODJ8ODR8ODgwKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODApfDMoMzI5fDUyMXw3MTMpfDQoMDkzfDMxMHw2ODEpfDYoMjEzfDI1Mnw4OSl8OSgzNTB8NDM3fDk0MSl8NTAxMXw3MzAwfDc1MDR8ODM4NHw4OTMzKXw2KDIoNjMwfDY4MXw3OTB8ODA2KXw0KDYofDQzfDc0KXwofDE5fDQpNSl8NSg1Mjh8N3w4M3w4NTYpfDYoMDV8MjcwfDQ3Myl8NygyMTJ8NTQzfDc5OSl8ODkoNDJ8NjQpfDAwNjJ8MDgyfDE4MjF8OTgwOSl8NygwKDM2NHw2NTZ8ODE1KXwxKDQxNHw0ODJ8NjN8OTAxKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4Nyl8NCgwMTF8MjMzfDM4MXw0MjJ8NDV8NjM2fDgzMCl8NigzMjl8NjV8OTEyKXw4KCh8OCk5OXwyMzd8NDA0fDQ3MXw2NTIpfDUzMDQpfDgoMDcoMzF8ODIpfDEoMDAxfDA3Mnw1Mjl8OTAzKXw0KDA4fDMwNnw5NDgpfDkoMDQ0fDE5NXw1NTgpfDIyNzF8MjU4NnwzNDg4fDM1Mjl8NTc5fDY0MjN8NzQ3NHw3NzQwfDgzODV8ODY0MSl8OSgxKDIwMHw0MHw2NzgpfDM0KDE2fDIxKXw0KDA1NHwyMzJ8ODh8OTQ4KXw3KDQ0fDY2MHw3OTcpfDAwMHwwOTYwfDUwNHw1MTU4fDY1ODd8ODA4NHw5NTkzfDk5MDgpKSQvLnRlc3QoYSkpKXtlW2FdPW51bGw7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2MuY2hhcnNldD0idXRmLTgiLGMuY3Jvc3NPcmlnaW49ImFub255bW91cyIsbi5uYyYmYy5zZXRBdHRyaWJ1dGUoIm5vbmNlIixuLm5jKSxjLnJlbD0icHJlZmV0Y2giLGMuYXM9InNjcmlwdCIsYy5ocmVmPW4ucCtuLnUoYSksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjKX19LG4uTy5qPWE9PjA9PT1lW2FdO3ZhciBhPShhLGMpPT57dmFyIGQsZixbYix0LHJdPWMsbz0wO2lmKGIuc29tZSgoYT0+MCE9PWVbYV0pKSl7Zm9yKGQgaW4gdCluLm8odCxkKSYmKG4ubVtkXT10W2RdKTtpZihyKXZhciBpPXIobil9Zm9yKGEmJmEoYyk7bzxiLmxlbmd0aDtvKyspZj1iW29dLG4ubyhlLGYpJiZlW2ZdJiZlW2ZdWzBdKCksZVtmXT0wO3JldHVybiBuLk8oaSl9LGM9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlldz1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3fHxbXTtjLmZvckVhY2goYS5iaW5kKG51bGwsMCkpLGMucHVzaD1hLmJpbmQobnVsbCxjLnB1c2guYmluZChjKSl9KSgpLG4ucD1uLmcmJm4uZy5XRUJQQUNLX1BVQkxJQ19QQVRIfHxuLnAsYj17OTI5Njg6Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XX0sbi5mLnByZWZldGNoPShlLGEpPT5Qcm9taXNlLmFsbChhKS50aGVuKCgoKT0+e3ZhciBhPWJbZV07QXJyYXkuaXNBcnJheShhKSYmYS5tYXAobi5FKX0pKX0pKCk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.018Z","timestamp":1785136901018,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/embed_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 07:21:41 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: e082df5904930703a479c1669c2d637d\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":20040,"size_decoded":8357,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3067)","md5":"8194369d30f2aef481ad9b0e75ee118e","sha1":"37a70e62467216b914515bcbdac9df29330d6ae5","sha256":"44ece61da7dd37300e68e5b567453707c97eafcbaccfab2e1cf62f6b05966071","sha512":"4371d06b7b2b3c3742f8395c8c142405ef02bdfae5eb8f48ebb626a5ef89ccac5e87891a1a1806d59bd827f4c45bd0043bcb15e4858bc5264022119f93954367","ssdeep":"384:sN6NujCBUjpEQ4aa20p3kHYB022b2jfMwttlhp4XYzNn0+fo1r7K/A5akkVC8WGq:sMsjCBmEQ4aa26y22b2jfMwt1p4XYhDS","tlshash":"7492e9133394247b80ea44eb91fd4647b6224888f6828818b96ccdce276ddd935b7f7d","first_seen":"2026-07-23T13:38:20.453766Z","last_seen":"2026-07-28T04:59:54.483028Z","times_seen":876,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0NzY3M10sezc1ODA1OShlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtdGlja2VyLWl0ZW0tdGFwZS1wYWRkaW5nIjoiMTZweCIsImNzcy12YWx1ZS10aWNrZXItaXRlbS10YXBlLWhlaWdodC1ub3JtYWwiOiI0NHB4IiwiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtaGVpZ2h0LWNvbXBhY3QiOiI3MnB4IiwiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtc2tlbGV0b24td2lkdGgtbm9ybWFsIjoiMzQ2cHgiLCJjc3MtdmFsdWUtdGlja2VyLWl0ZW0tdGFwZS1za2VsZXRvbi13aWR0aC1jb21wYWN0IjoiMTI1cHgifX0sMzE5MDk2KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS10aWNrZXItaXRlbS10YXBlLWhlaWdodC1ub3JtYWwiOiI0NHB4IiwiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtaGVpZ2h0LWNvbXBhY3QiOiI3MnB4IiwiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtc2tlbGV0b24td2lkdGgtbm9ybWFsIjoiMzQ2cHgiLCJjc3MtdmFsdWUtdGlja2VyLWl0ZW0tdGFwZS1za2VsZXRvbi13aWR0aC1jb21wYWN0IjoiMTI1cHgiLCJjc3MtdmFsdWUtdGlja2VyLWl0ZW0tdGFwZS1wYWRkaW5nIjoiMTZweCJ9fSwzOTkwOTIoZSl7ZS5leHBvcnRzPXsiY3NzLXZhbHVlLWNvcHlyaWdodC10cmFuc2l0aW9uLXBhcmFtcyI6Ii42cyAwcyBjdWJpYy1iZXppZXIoLjQsIC4wMSwgLjIyLCAxKSIsImNzcy12YWx1ZS1jb3B5cmlnaHQtdHJhbnNpdGlvbi1wYXJhbXMtaGFsZi10aW1lIjoiLjNzIDBzIGN1YmljLWJlemllciguNCwgLjAxLCAuMjIsIDEpIixsYWJlbDoibGFiZWwtZHpiZDdseVYiLGxvZ29XcmFwOiJsb2dvV3JhcC1kemJkN2x5ViIsZXhwYW5kZWRXaXRoVHJhbnNpdGlvbjoiZXhwYW5kZWRXaXRoVHJhbnNpdGlvbi1kemJkN2x5ViIsZXhwYW5kZWRCeUNsaWNrOiJleHBhbmRlZEJ5Q2xpY2stZHpiZDdseVYiLHN0YXJ0OiJzdGFydC1kemJkN2x5ViIsZW5kOiJlbmQtZHpiZDdseVYiLHNuYXA6InNuYXAtZHpiZDdseVYiLHRvcDoidG9wLWR6YmQ3bHlWIixib3R0b206ImJvdHRvbS1kemJkN2x5ViIsbGFyZ2U6ImxhcmdlLWR6YmQ3bHlWIixleHBhbmRlZDoiZXhwYW5kZWQtZHpiZDdseVYiLGxhYmVsX19saW5rOiJsYWJlbF9fbGluay1kemJkN2x5ViJ9fSw4NjcwNTEoZSl7ZS5leHBvcnRzPXt0aWNrZXJUYXBlOiJ0aWNrZXJUYXBlLU5fa3lwanQ5Iixub0F1dG9TY3JvbGw6Im5vQXV0b1Njcm9sbC1OX2t5cGp0OSIsdGFwZToidGFwZS1OX2t5cGp0OSIsaGVhZDoiaGVhZC1OX2t5cGp0OSIsdGFpbDoidGFpbC1OX2t5cGp0OSIsc2tlbGV0b246InNrZWxldG9uLU5fa3lwanQ5In19LDE1MDE1MChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtndWlkOigpPT5uLHJhbmRvbUhhc2g6KCk9PmEscmFuZG9tSGFzaE46KCk9Pm99KTtjb25zdCBzPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gbigpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBhKCl7cmV0dXJuIG8oMTIpfWZ1bmN0aW9uIG8oZSl7bGV0IHQ9IiI7Zm9yKGxldCBpPTA7aTxlOysraSl7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPXNbZV19cmV0dXJuIHR9fSwxMzY5OTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q29weXJpZ2h0UG9zaXRpb246KCk9PnMsY29weXJpZ2h0TGFiZWw6KCk9PmR9KTt2YXIgcyxuPWkoMTg1MjcxKSxhPWkoOTE0NDg3KSxvPWkubihhKSxyPWkoNjAxODQxKSxsPWkoMzg3MjMxKSxjPWkoMzk5MDkyKTtmdW5jdGlvbiBkKHtzdmdUZXh0OmUsaWNvbjp0LHRoZW1lOmEsdXJsOmQsbW9kZTpoLHZlcnRpY2FsUG9zaXRpb246bT1zLlZlcnRpY2FsLkJvdHRvbSxob3Jpem9udGFsUG9zaXRpb246cD1zLkhvcml6b250YWwuRW5kLHNuYXBUb0VkZ2U6dT0hMCxpc0V4cGFuZGVkOmc9ITEsY2xhc3NOYW1lOl99KXtsZXQgdjtzd2l0Y2goaCl7Y2FzZSJuZXciOmNhc2Uid2l0aF9ib3JkZXIiOmNhc2UibGFyZ2VfdHJhZGUiOnY9KDAsci5jbG9uZSkoYSk7YnJlYWs7ZGVmYXVsdDp2PSgwLGwubWVyZ2VUaGVtZXMpKCgwLHIuY2xvbmUpKGMpLGEpfWNvbnN0IHk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2xldCBiO2QmJihiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxiLmNsYXNzTGlzdC5hZGQoLi4udi5sYWJlbF9fbGluay5zcGxpdCgvXHMvKSksYi5ocmVmPWQsYi50YXJnZXQ9Il9ibGFuayIsYi5yZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGIuc2V0QXR0cmlidXRlKCJkYXRhLXRhcmdldC10eXBlIiwiY29weXJpZ2h0IiksYi5hcmlhTGFiZWw9bi50KG51bGwsdm9pZCAwLGkoNTE3ODU5KSkseS5hcHBlbmQoYikpLHkuY2xhc3NOYW1lPW8oKSh2LmxhYmVsLHA9PT1zLkhvcml6b250YWwuU3RhcnQmJnYuc3RhcnQscD09PXMuSG9yaXpvbnRhbC5FbmQmJnYuZW5kLG09PT1zLlZlcnRpY2FsLlRvcCYmdi50b3AsbT09PXMuVmVydGljYWwuQm90dG9tJiZ2LmJvdHRvbSx1JiYibGFyZ2VfdHJhZGUiIT09aCYmdi5zbmFwLCJsYXJnZV9vbGQiPT09aCYmdi5sYXJnZSwoZ3x8ImxhcmdlX3RyYWRlIj09PWgpJiZ2LmV4cGFuZGVkLF8sImpzLWNvcHlyaWdodC1sYWJlbCIpLHkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgoKT0+e2Z1bmN0aW9uIGUoKXt5LmNsYXNzTGlzdC5yZW1vdmUodi5leHBhbmRlZEJ5Q2xpY2spLHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsZSl9CnkuY2xhc3NMaXN0LmNvbnRhaW5zKHYuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbil8fHkuY2xhc3NMaXN0LmNvbnRhaW5zKHYuZXhwYW5kZWQpfHwoeS5jbGFzc0xpc3QuY29udGFpbnModi5leHBhbmRlZEJ5Q2xpY2spP2R8fGUoKTooeS5jbGFzc0xpc3QuYWRkKHYuZXhwYW5kZWRCeUNsaWNrKSx5LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpKSl9KSk7Y29uc3Qgaz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7ay5jbGFzc05hbWU9di5sb2dvV3JhcCxrLmlubmVySFRNTD10O2NvbnN0IGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiBmLmNsYXNzTmFtZT12LnN2Z1RleHRXcmFwLGYuaW5uZXJIVE1MPWUseS5hcHBlbmQoayxmKSxbeSx2XX0hZnVuY3Rpb24oZSl7bGV0IHQsaTshZnVuY3Rpb24oZSl7ZVtlLkJvdHRvbT0wXT0iQm90dG9tIixlW2UuVG9wPTFdPSJUb3AifSh0PWUuVmVydGljYWx8fChlLlZlcnRpY2FsPXt9KSksZnVuY3Rpb24oZSl7ZVtlLlN0YXJ0PTBdPSJTdGFydCIsZVtlLkVuZD0xXT0iRW5kIn0oaT1lLkhvcml6b250YWx8fChlLkhvcml6b250YWw9e30pKX0oc3x8KHM9e30pKX0sNjUzODE3KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5hLkNvcHlyaWdodFBvc2l0aW9uLGNyZWF0ZUNvcHlyaWdodExhYmVsOigpPT5yfSk7dmFyIHM9aSg5MTQ0ODcpLG49aS5uKHMpLGE9aSgxMzY5OTEpLG89aSg1Mjg4NjQpO2Z1bmN0aW9uIHIoe3NoZXJpZmZPcHRpb25zOmUsLi4udH0pe2NvbnN0W2ksc109KDAsYS5jb3B5cmlnaHRMYWJlbCkodCkscj1lJiZlLmluY2x1ZGVzKG8uS25vd25BY3Rpb24uRXhwYW5kKSxsPWUmJmUuaW5jbHVkZXMoby5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk7cmV0dXJuIGkuY2xhc3NOYW1lPW4oKShpLmNsYXNzTmFtZSwocnx8bCkmJnMuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbiksaX19LDUyODg2NChlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtLbm93bkFjdGlvbjooKT0+cyx3aWRnZXRTaGVyaWZmQWN0aW9uczooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuRXhwYW5kPSJleHBhbmQtbG9nbyIsZS5MYXJnZVRyYWRlTG9nbz0ibGFyZ2UtdHJhZGUtbG9nbyJ9KHN8fChzPXt9KSk7Y29uc3Qgbj1uZXcgU2V0KFtzLkV4cGFuZCxzLkxhcmdlVHJhZGVMb2dvXSl9LDExMjU0MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRDU1NQcm9wZXJ0eTooKT0+cixnZXRDU1NQcm9wZXJ0eU51bWVyaWNWYWx1ZTooKT0+bCxnZXRDb250ZW50V2lkdGg6KCk9PmEsZ2V0U2Nyb2xsYmFyV2lkdGg6KCk9PnMsbWF0Y2hNZWRpYU1pbk1heDooKT0+bixzZXRTdHlsZTooKT0+b30pO2NvbnN0IHM9KCgpPT57bGV0IGU7cmV0dXJuKCk9PntpZih2b2lkIDA9PT1lKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGk9dC5zdHlsZTtpLnZpc2liaWxpdHk9ImhpZGRlbiIsaS53aWR0aD0iMTAwcHgiLGkubXNPdmVyZmxvd1N0eWxlPSJzY3JvbGxiYXIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7Y29uc3Qgcz10Lm9mZnNldFdpZHRoO3Quc3R5bGUub3ZlcmZsb3c9InNjcm9sbCI7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuLnN0eWxlLndpZHRoPSIxMDAlIix0LmFwcGVuZENoaWxkKG4pO2NvbnN0IGE9bi5vZmZzZXRXaWR0aDt0LnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKHQpLGU9cy1hfXJldHVybiBlfX0pKCk7ZnVuY3Rpb24gbihlLHQpe3JldHVybiB0PT09MS8wP3dpbmRvdy5tYXRjaE1lZGlhKGAobWluLXdpZHRoOiAke2V9cHgpYCk6d2luZG93Lm1hdGNoTWVkaWEoYChtaW4td2lkdGg6ICR7ZX1weCkgYW5kIChtYXgtd2lkdGg6ICR7dH1weClgKX1mdW5jdGlvbiBhKGUpe3JldHVybiBsKGUsIndpZHRoIiktbChlLCJwYWRkaW5nLWxlZnQiKS1sKGUsInBhZGRpbmctcmlnaHQiKX1mdW5jdGlvbiBvKGUsdCxpKXtudWxsIT09ZSYmZS5zdHlsZS5zZXRQcm9wZXJ0eSh0LGkpfWZ1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpLmdldFByb3BlcnR5VmFsdWUodCl9ZnVuY3Rpb24gbChlLHQpe3JldHVybiBwYXJzZUludChyKGUsdCkpfX0sMzE4OTc0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NoZWNrTW9iaWxlOigpPT5jLGlzRGVza3RvcEFwcDooKT0+cixpc01hYzooKT0+byxpc1N5bXBob255RW1iZWQ6KCk9Pmwsb25XaWRnZXQ6KCk9Pm4ub25XaWRnZXQsc3VwcG9ydFRvdWNoOigpPT5kfSk7dmFyIHM9aSg3Mzg0NTgpLG49aSgzNzcyMjYpO2NvbnN0IGE9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307ZnVuY3Rpb24gbygpe3JldHVybiBzLmlzTWFjfWZ1bmN0aW9uIHIoKXtyZXR1cm4vVFZEZXNrdG9wL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KX1mdW5jdGlvbiBsKCl7cmV0dXJuIGEuaXNTeW1waG9ueXx8ITF9Y29uc3QgYz17QW5kcm9pZDooKT0+cy5pc0FuZHJvaWQsQmxhY2tCZXJyeTooKT0+cy5pc0JsYWNrQmVycnksaU9TOigpPT5zLmlzSU9TLE9wZXJhOigpPT5zLmlzT3BlcmFNaW5pLGlzSVBhZDooKT0+cy5pc0lQYWQsYW55OigpPT5zLmlzQW55TW9iaWxlfTtmdW5jdGlvbiBkKCl7cmV0dXJuIHMubW9iaWxldG91Y2h8fHMudG91Y2h8fHMuaXNBbnlNb2JpbGV9YS5pc01vYmlsZT1jLGEub25XaWRnZXQ9bi5vbldpZGdldDtzLmlzQ2hyb21lLHMuaXNGRixzLmlzRWRnZSxzLmlzU2FmYXJpfSw5NDY2NzEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpKDc5NTM4MyksaSg3MjI1NzEpO3ZhciBzPWkoMTg1MjcxKSxuPWkoNTQ3ODUxKSxhPShpKDMxOTA5NiksaSg4NDU1MTApKSxvPWkoODM3ODIyKSxyPWkoOTg2Mjc1KSxsPWkoNDQzNTU3KSxjPWkoNjQxNTkzKSxkPWkoOTE0NDg3KSxoPWkubihkKTtjbGFzcyBtIGV4dGVuZHMgYS5UaWNrZXJJdGVtQWJzdHJhY3R7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCxpKSx0aGlzLl9vcHRpb25zPWl8fHt9fXNldFdpZHRoKGUpe3RoaXMuX2VsLnN0eWxlLnNldFByb3BlcnR5KCJ3aWR0aCIsZSsicHgiKX0KZ2V0V2lkdGgoKXtpZighZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLl9lbCkpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZ2V0IHRpY2tlciBpdGVtIHdpZHRoLCBiZWNhdXNlIHRoZSBlbGVtZW50IGlzIG5vdCBhdHRhY2hlZCB0byBET00iKTtyZXR1cm4gdGhpcy5fZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGh9cmVzZXRXaWR0aCgpe3RoaXMuX2VsLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ3aWR0aCIpfXRvZ2dsZUNvbXBhY3RNb2RlKGUpe3RoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoYCR7dGhpcy5fZ2V0Q2xhc3MoKX0tLWNvbXBhY3RgLGUpfXRvZ2dsZVRyYW5zcGFyZW5jeShlKXt0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGAke3RoaXMuX2dldENsYXNzKCl9LS10cmFuc3BhcmVudGAsZSl9c2V0VmlldyhlLHQsaSl7dGhpcy5zZXRXaWR0aChlKSx0aGlzLnRvZ2dsZUNvbXBhY3RNb2RlKHQpLHRoaXMudG9nZ2xlVHJhbnNwYXJlbmN5KGkpfXN0YXRpYyBnZXRTa2VsZXRvbkVsZW1lbnQoZSx0KXtjb25zdCBpPWA8ZGl2IGNsYXNzPSIke2goKSgidHYtdGlja2VyLWl0ZW0tdGFwZSIsInR2LXRpY2tlci1pdGVtLXRhcGUtLXNrZWxldG9uIix7InR2LXRpY2tlci1pdGVtLXRhcGUtLWNvbXBhY3QiOmUsInR2LXRpY2tlci1pdGVtLXRhcGUtLXRyYW5zcGFyZW50Ijp0fSl9Ij48ZGl2IGNsYXNzPSJ0di10aWNrZXItaXRlbS10YXBlX19ib3JkZXItd3JhcHBlciI+PGRpdiBjbGFzcz0idHYtdGlja2VyLWl0ZW0tdGFwZV9faW5uZXItd3JhcHBlciI+PGRpdiBjbGFzcz0idHYtdGlja2VyLWl0ZW0tdGFwZV9fc2hvcnQtbmFtZS13cmFwcGVyIj48L2Rpdj48ZGl2IGNsYXNzPSJ0di10aWNrZXItaXRlbS10YXBlX19sYXN0LXdyYXBwZXIiPjwvZGl2PjxkaXYgY2xhc3M9InR2LXRpY2tlci1pdGVtLXRhcGVfX2NoYW5nZS13cmFwcGVyIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj5gO3JldHVybigwLGwucGFyc2VIdG1sRWxlbWVudCkoaSl9X2dldENsYXNzKCl7cmV0dXJuInR2LXRpY2tlci1pdGVtLXRhcGUifV9nZXRWaWV3KCl7Y29uc3QgZT17Ym9yZGVyV3JhcHBlcjp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoImJvcmRlci13cmFwcGVyIiksaW5uZXJXcmFwcGVyOnRoaXMuX2dldEVsZW1lbnRDbGFzcygiaW5uZXItd3JhcHBlciIpLHN5bWJvbDp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoInN5bWJvbCIpLGljb25XcmFwcGVyOnRoaXMuX2dldEVsZW1lbnRDbGFzcygiaWNvbi13cmFwcGVyIiksc2hvcnROYW1lV3JhcHBlcjp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoInNob3J0LW5hbWUtd3JhcHBlciIpLHNob3J0TmFtZTp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoInNob3J0LW5hbWUiKSxsYXN0V3JhcHBlcjp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoImxhc3Qtd3JhcHBlciIpLGxhc3Q6dGhpcy5fZ2V0RWxlbWVudENsYXNzKCJsYXN0IiksY2hhbmdlV3JhcHBlcjp0aGlzLl9nZXRFbGVtZW50Q2xhc3MoImNoYW5nZS13cmFwcGVyIiksY2hhbmdlQWJzOnRoaXMuX2dldEVsZW1lbnRDbGFzcygiY2hhbmdlLWFicyIpLGNoYW5nZVB0OnRoaXMuX2dldEVsZW1lbnRDbGFzcygiY2hhbmdlLXB0Iil9LHQ9dGhpcy5fc3ltYm9sRGF0YS50aXRsZXx8dGhpcy5fc3ltYm9sRGF0YS5kZXNjcmlwdGlvbixpPXRoaXMuX29wdGlvbnMuc2hvd1N5bWJvbExvZ287cmV0dXJuYDxkaXYgY2xhc3M9IiR7ZS5ib3JkZXJXcmFwcGVyfSI+PGRpdiBjbGFzcz0iJHtlLmlubmVyV3JhcHBlcn0iPjxkaXYgY2xhc3M9JHtlLnN5bWJvbH0+PGRpdiBjbGFzcz0iJHtlLmljb25XcmFwcGVyfSBqcy1oZWFkZXItaWNvbiI+XG5cdFx0XHRcdFx0XHRcdCR7aT8oMCxvLmdldENpcmNsZUxvZ29BbnlIdG1sKSh7bG9nb1VybHM6W10sc2l6ZTp0aGlzLl9vcHRpb25zLmlzQ29tcGFjdE1vZGU/Inh4eHNtYWxsIjoieHNtYWxsIixjbGFzc05hbWU6dGhpcy5fZ2V0RWxlbWVudENsYXNzKCJpY29uIil9KToiIn1cblx0XHRcdFx0XHRcdDwvZGl2PjxkaXYgY2xhc3M9IiR7ZS5zaG9ydE5hbWVXcmFwcGVyfSI+PHNwYW4gY2xhc3M9IiR7aCgpKGUuc2hvcnROYW1lLCF0JiYianMtc3ltYm9sLXNob3J0LW5hbWUiKX0iPiR7KDAsYy5odG1sRXNjYXBlKSh0fHwiIil9PC9zcGFuPjxzcGFuIGNsYXNzPSJqcy1zeW1ib2wtc2Vzc2lvbi1zdGF0dXMiPjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSIke2UubGFzdFdyYXBwZXJ9Ij48c3BhbiBjbGFzcz0iJHtlLmxhc3R9IGpzLXN5bWJvbC1sYXN0Ij48L3NwYW4+PHNwYW4gY2xhc3M9ImpzLWRhdGEtbW9kZSI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9IiR7ZS5jaGFuZ2VXcmFwcGVyfSBqcy1zeW1ib2wtY2hhbmdlLWRpcmVjdGlvbiI+PHNwYW4gY2xhc3M9IiR7ZS5jaGFuZ2VBYnN9IGpzLXN5bWJvbC1jaGFuZ2UiPjwvc3Bhbj4mbmJzcDxzcGFuIGNsYXNzPSIke2UuY2hhbmdlUHR9IGpzLXN5bWJvbC1jaGFuZ2UtcHQiPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj5gfV9nZXRUaWNrZXJPcHRpb25zKCl7cmV0dXJue2RvbnREeWVQcmljZTohMCxzaWduUG9zaXRpdmU6ITAsc2lnbk5lZ2F0aXZlOiEwLGNoYW5nZUluQnJhY2tldHM6ITEsY2hhbmdlUGVyY2VudEluQnJhY2tldHM6ITAsY2hhbmdlRGlyZWN0aW9uVXBDbGFzczpgJHt0aGlzLl9nZXRFbGVtZW50Q2xhc3MoImNoYW5nZS13cmFwcGVyIil9LS11cGAsY2hhbmdlRGlyZWN0aW9uRG93bkNsYXNzOmAke3RoaXMuX2dldEVsZW1lbnRDbGFzcygiY2hhbmdlLXdyYXBwZXIiKX0tLWRvd25gLGxhc3RHcm93aW5nQ2xhc3M6YCR7dGhpcy5fZ2V0RWxlbWVudENsYXNzKCJsYXN0Iil9LS1ncm93aW5nYCxsYXN0RmFsbGluZ0NsYXNzOmAke3RoaXMuX2dldEVsZW1lbnRDbGFzcygibGFzdCIpfS0tZmFsbGluZ2Asc2Vzc2lvblN0YXR1c0NsYXNzU3VmZml4OiItLWZvci10aWNrZXItdGFwZSIsZGF0YU1vZGVDbGFzc1N1ZmZpeDoiLS1mb3ItdGlja2VyLXRhcGUiLHNob3dJbnZhbGlkU3ltYm9sU3RhdHVzOiEwLGluZGljYXRvcnNUb29sdGlwVHlwZToiYnJvd3NlciIsc2V0U3RhdGVIb29rOnRoaXMuX29wdGlvbnMuc2hvd1N5bWJvbExvZ28/KDAsCnIuZ2V0TG9nb1VybHNIb29rKSgoZT0+e2NvbnN0IHQ9dGhpcy5fb3B0aW9ucy5pc0NvbXBhY3RNb2RlPyJ4eHhzbWFsbCI6InhzbWFsbCI7dGhpcy5fcmVuZGVyU3ltYm9sTG9nbyhlLHQpfSkpOnZvaWQgMH19fXZhciBwPWkoNTI3MzIzKSx1PWkubihwKSxnPWkoNzQ5NjQ4KTtjb25zdCBfPXtkZXNrdG9wOjEvMCxkZXNrdG9wSGQ6MTkxOSxwaG9uZTo3NjcsInBob25lLXZlcnRpY2FsIjo0NzksdGFibGV0OjEwMTl9O3ZhciB2PWkoMTEyNTQyKTtjbGFzcyB5IGV4dGVuZHModSgpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5kZXZpY2U9bnVsbCx0aGlzLmJyZWFrcG9pbnRzPV8sdGhpcy5fY2hlY2tEZXZpY2UoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9jaGVja0RldmljZSksT2JqZWN0LmVudHJpZXMoXykuc29ydCgoKFtlLHRdLFtpLHNdKT0+dC1zKSkuZm9yRWFjaCgoKFtlLHRdLGkscyk9PntsZXQgbjtpZigwIT09aSl7Y29uc3RbLGVdPXNbaS0xXTtuPWUrMX1lbHNlIG49MDtjb25zdCBhPSgwLHYubWF0Y2hNZWRpYU1pbk1heCkobix0KTthLm1hdGNoZXMmJnRoaXMuX3NldE5ld0RldmljZShlKSxhLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHQ9Pnt0Lm1hdGNoZXMmJih0aGlzLl9jaGVja0RldmljZSgpLHRoaXMuX3NldE5ld0RldmljZShlKSl9KSl9KSksKDAsZy53aGVuRG9jdW1lbnRSZWFkeSkodGhpcy5fY2hlY2tEZXZpY2UuYmluZCh0aGlzKSksdGhpcy5pc1Bob25lU2l6ZURldmljZS5iaW5kKHRoaXMpfWlzUGhvbmVTaXplRGV2aWNlKCl7cmV0dXJuInBob25lIj09PXRoaXMuZGV2aWNlfHwicGhvbmUtdmVydGljYWwiPT09dGhpcy5kZXZpY2V9X2NoZWNrRGV2aWNlKCl7dGhpcy53aWR0aD13aW5kb3cuaW5uZXJXaWR0aCx0aGlzLmhlaWdodD13aW5kb3cuaW5uZXJIZWlnaHR9X3NldE5ld0RldmljZShlKXtjb25zdCB0PXRoaXMuZGV2aWNlO3RoaXMuZGV2aWNlPWUsdGhpcy50cmlnZ2VyKCJjaGFuZ2VEZXZpY2UiLFtlLHRdKX19Y29uc3QgYj1uZXcgeTt2YXIgayxmLHcsRSxDPWkoMTUwMTUwKSx4PWkoOTY5MTY4KTshZnVuY3Rpb24oZSl7ZS5BZGFwdGl2ZT0iYWRhcHRpdmUiLGUuUmVndWxhcj0icmVndWxhciIsZS5Db21wYWN0PSJjb21wYWN0In0oa3x8KGs9e30pKSxmdW5jdGlvbihlKXtlLkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIixlLk1hcmtldD0ibWFya2V0IixlLlN5bWJvbD0ic3ltYm9sIn0oZnx8KGY9e30pKSxmdW5jdGlvbihlKXtlLkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsZS5DdXJyZW5jaWVzPSJmb3JleCIsZS5TdG9ja3M9InN0b2NrIixlLkluZGljZXM9ImluZGV4IixlLkZ1dHVyZXM9ImZ1dHVyZXMiLGUuQm9uZHM9ImNmZCJ9KHd8fCh3PXt9KSksZnVuY3Rpb24oZSl7ZS5IVE1MPSJodG1sIixlLlJlYWN0PSJyZWFjdCJ9KEV8fChFPXt9KSk7dmFyIFQ9aSgyMzIzNjQpLEw9aSg5NDgzODApO3ZhciBTOyFmdW5jdGlvbihlKXtlW2UuVGlja2VySXRlbUhlaWdodE5vcm1hbD00NF09IlRpY2tlckl0ZW1IZWlnaHROb3JtYWwiLGVbZS5UaWNrZXJJdGVtSGVpZ2h0Q29tcGFjdD03Ml09IlRpY2tlckl0ZW1IZWlnaHRDb21wYWN0In0oU3x8KFM9e30pKTtjb25zdCBXPV8ucGhvbmU7ZnVuY3Rpb24gTSgpe3JldHVybiB3aW5kb3cuaW5uZXJXaWR0aDw9V31mdW5jdGlvbiBJKGUpe3JldHVybiBlPzcyOjQ0fWNsYXNzIE4gZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCJDYW5jZWxUb2tlbiIpfX12YXIgVj1pKDc1ODA1OSksRD1pKDg2NzA1MSk7Y29uc3QgQT1zLnQobnVsbCx2b2lkIDAsaSg3ODg0NDQpKTt2YXIgejshZnVuY3Rpb24oZSl7ZS5BbmltYXRpb25OYW1lPSJ0aWNrZXItdGFwZS1zY3JvbGwiLGVbZS5MYXN0UmVzb2x2ZVRpbWVvdXQ9MmUzXT0iTGFzdFJlc29sdmVUaW1lb3V0IixlW2UuUmVzaXplRGVib3VuY2U9MzAwXT0iUmVzaXplRGVib3VuY2UifSh6fHwoej17fSkpO2NvbnN0IFA9cGFyc2VJbnQoVlsiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtc2tlbGV0b24td2lkdGgtbm9ybWFsIl0pLCQ9cGFyc2VJbnQoVlsiY3NzLXZhbHVlLXRpY2tlci1pdGVtLXRhcGUtc2tlbGV0b24td2lkdGgtY29tcGFjdCJdKSxCPXBhcnNlSW50KFZbImNzcy12YWx1ZS10aWNrZXItaXRlbS10YXBlLXBhZGRpbmciXSk7ZnVuY3Rpb24gSChlKXtjb25zdCB0PWUuZ2V0RWxlbWVudCgpO2lmKHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgianMtZXhjbGFtYXRpb25lZC1zeW1ib2wiKS5sZW5ndGgpcmV0dXJuO2NvbnN0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2kuY2xhc3NMaXN0LmFkZCgidHYtdGlja2VyLWl0ZW0tdGFwZV9fc3ltYm9sLWV4Y2xhbWF0aW9uLW1hcmsiLCJqcy1leGNsYW1hdGlvbmVkLXN5bWJvbCIpLGkuc2V0QXR0cmlidXRlKCJ0aXRsZSIsQSk7Y29uc3Qgcz10LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInR2LXRpY2tlci1pdGVtLXRhcGVfX3Nob3J0LW5hbWUtd3JhcHBlciIpLml0ZW0oMCk7cyYmcy5hcHBlbmRDaGlsZChpKX1mdW5jdGlvbiBSKGUpe2NvbnN0IHQ9bmV3IFByb21pc2UoKHQ9Pntjb25zdCBpPSgpPT50KCEwKTtlLm9uSW5pdC5zdWJzY3JpYmUobnVsbCwoZT0+e3ZhciB0O2U/aSgpOih0PTJlMyxuZXcgUHJvbWlzZSgoZT0+e3NldFRpbWVvdXQoZSx0KX0pKSkudGhlbihpKX0pLCEwKX0pKSxpPW5ldyBQcm9taXNlKCh0PT57ZS5vbkVycm9yLnN1YnNjcmliZShudWxsLCgoKT0+e0goZSksdCghMSl9KSwhMCl9KSk7cmV0dXJuIFByb21pc2UucmFjZShbdCxpXSl9dmFyIE89aSg3NTE1NTcpLGo9aSg2MDE1ODcpLEY9aSg0MDMzNzApO3ZhciBLLFUscT1pKDY3MzgyOSksWD1pKDIwMDY2Nik7ZnVuY3Rpb24gRyhlLHQsaSl7Y29uc3Qgcz17bmFtZTplLGZyYW1lRWxlbWVudElkOnQsZGF0YTppfTt3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHMsIioiKX0hZnVuY3Rpb24oZSl7bGV0IHQ7IWZ1bmN0aW9uKGUpe2UuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIixlLlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwiCn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfShLfHwoSz17fSkpLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlN5bWJvbENsaWNrPSJ0di13aWRnZXQtc3ltYm9sLWNsaWNrIixlLldpZGdldExvYWQ9InR2LXdpZGdldC1sb2FkIixlLldpZGdldFJlYWR5PSJ0di13aWRnZXQtcmVhZHkiLGUuUmVzaXplSWZyYW1lPSJ0di13aWRnZXQtcmVzaXplLWlmcmFtZSIsZS5Ob0RhdGE9InR2LXdpZGdldC1uby1kYXRhIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfShVfHwoVT17fSkpO2NvbnN0IEo9d2luZG93LmluaXREYXRhLmhhc2hTZXR0aW5nc3x8e30sUT0ic3RyaW5nIj09dHlwZW9mIEouZnJhbWVFbGVtZW50SWQ/Si5mcmFtZUVsZW1lbnRJZDpudWxsO3ZhciBZPWkoNjUzODE3KSxaPWkoMzg5Mjk4KTtjb25zdCBlZT1mdW5jdGlvbigpe2NvbnN0IGU9d2luZG93O3JldHVybnsuLi5lLmluaXREYXRhLndpZGdldERlZmF1bHRzLC4uLmUuaW5pdERhdGEuaGFzaFNldHRpbmdzLC4uLmUuaW5pdERhdGEucXVlcnlTZXR0aW5nc319KCksdGU9KDAsai5maWx0ZXJVdG1JbmZvKShlZSk7bGV0IGllPWVlLnN5bWJvbHM7QXJyYXkuaXNBcnJheShpZSkmJmllLmV2ZXJ5KHEudmFsaWRhdGVTeW1ib2xEYXRhKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc3ltYm9scyBkYXRhLCBmYWxsIGJhY2sgdG8gZGVmYXVsdHMiKSxpZT13aW5kb3cuaW5pdERhdGEuZGVmYXVsdFNldHRpbmdzLnN5bWJvbHMpO2NvbnN0IHNlPWVlLm5vTGlua3M7ZWUubm9MaW5rc3x8aWUuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnByb05hbWV8fGUuc2hvcnROYW1lO2UubGlua1BhZ2U9KDAsRi5tYWtlV2lkZ2V0U3ltYm9sTGluaykoe3N5bWJvbDp0LGN1c3RvbVVybDplZS5sYXJnZUNoYXJ0VXJsLHV0bUluZm86dGV9KX0pKTtjb25zdCBuZT1lZS5pc1RyYW5zcGFyZW50LGFlPWVlLnNob3dTeW1ib2xMb2dvLG9lPWVlLmRpc3BsYXlNb2RlLHJlPWVlLmNvbG9yVGhlbWU7cmUmJigwLFguc2V0VGhlbWUpKHJlKTt0cnl7KDAsWi50cmFja1dpZGdldExvYWRNZXRhSW5mbykoe3dpZGdldF9pZDoidGlja2VyLXRhcGUiLHN5bWJvbHM6SlNPTi5zdHJpbmdpZnkoZWUuc3ltYm9scy5tYXAoKGU9PmUucHJvTmFtZXx8IiIpKSksY3VzdG9tZXI6ZWUuY3VzdG9tZXJ9KX1jYXRjaHt9Y29uc3QgbGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3dpZGdldC10aWNrZXItdGFwZS1jb250YWluZXIiKTsoMCxPLmNyZWF0ZUVtYmVkV2lkZ2V0V3JhcHBlcikobGUsInRpY2tlci10YXBlIix0ZSx7aXNXaGl0ZUxhYmVsOmVlLndoaXRlbGFiZWwsbG9jYWxlOmVlLmxvY2FsZSxjb3B5cmlnaHRPcHRpb25zOnt2ZXJ0aWNhbFBvc2l0aW9uOlkuQ29weXJpZ2h0UG9zaXRpb24uVmVydGljYWwuVG9wLG1vZGU6InNtYWxsX29sZCJ9fSk7Y29uc3QgY2U9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuaGVpZ2h0PW5ldyBULldhdGNoZWRWYWx1ZSgwKSx0aGlzLm9uQWxsVGlja2Vyc0ZhdWx0eT1uZXcgTC5EZWxlZ2F0ZSx0aGlzLl9zdHlsZUVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSx0aGlzLl9jb250YWluZXJFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3RhcGVFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2hlYWRFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3RhaWxFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2hlYWRUaWNrZXJJdGVtcz1bXSx0aGlzLl90YWlsVGlja2VySXRlbXM9W10sdGhpcy5fdGlja2VySXRlbVdpZHRocz1bXSx0aGlzLl9pc0NvbXBhY3RNb2RlPW5ldyBULldhdGNoZWRWYWx1ZSx0aGlzLl90dXJuS2V5Ym9hcmRGb2N1c09uPWU9PntlLnRhcmdldC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpJiYodGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKEQubm9BdXRvU2Nyb2xsKSx0aGlzLl9jb250YWluZXJFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLHRoaXMuX3R1cm5LZXlib2FyZEZvY3VzT24pLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLHRoaXMuX3R1cm5LZXlib2FyZEZvY3VzT2ZmKSl9LHRoaXMuX3R1cm5LZXlib2FyZEZvY3VzT2ZmPWU9Pntjb25zdCB0PWUucmVsYXRlZFRhcmdldDtudWxsIT09dCYmdGhpcy5fY29udGFpbmVyRWxlbWVudC5jb250YWlucyh0KXx8KHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuc2Nyb2xsTGVmdD0wLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShELm5vQXV0b1Njcm9sbCksdGhpcy5fY29udGFpbmVyRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c291dCIsdGhpcy5fdHVybktleWJvYXJkRm9jdXNPZmYpLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsdGhpcy5fdHVybktleWJvYXJkRm9jdXNPbikpfSx0aGlzLl9jYW5jZWxEZWJvdW5jZWRSZXNpemU9KCk9Pnt9LHRoaXMuX29uQ29tcGFjdE1vZGVDaGFuZ2VkPSgpPT57dGhpcy5fdXBkYXRlVGlja2VyVmlld3NBbmRTdHlsZXMoKX0sdGhpcy5fb25WaXNpYmlsaXR5U3RhdGVDaGFuZ2VkPSgpPT57InZpc2libGUiPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiZ0aGlzLl91cGRhdGVUaWNrZXJWaWV3c0FuZFN0eWxlcygpfSx0aGlzLl91cGRhdGVUaWNrZXJWaWV3c0FuZFN0eWxlcz0oKT0+e3RoaXMuX3VwZGF0ZVRpY2tlclZpZXdzKCksdGhpcy5fdXBkYXRlU3R5bGVzKCl9LHRoaXMuX29uRGV2aWNlQ2hhbmdlZD0oKT0+e3RoaXMuX2lzQ29tcGFjdE1vZGUuc2V0VmFsdWUoTSgpKX0sdGhpcy5fZW5zdXJlU3VmZmljaWVudFRhaWxXaWR0aD0oKT0+e2lmKDA9PT10aGlzLl9zeW1ib2xzLmxlbmd0aClyZXR1cm4KO2NvbnN0IGU9dGhpcy5fY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCx0PXRoaXMuX3RhaWxFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLGk9dGhpcy5faGVhZFRpY2tlckl0ZW1zLmxlbmd0aDtsZXQgcz1lLXQ7Zm9yKGxldCBlPXRoaXMuX3RhaWxUaWNrZXJJdGVtcy5sZW5ndGglaTtzPjA7ZT0rK2UlaSl7Y29uc3QgdD10aGlzLl90aWNrZXJJdGVtV2lkdGhzW2VdO3MtPXQ7Y29uc3QgaT10aGlzLl9jcmVhdGVUaWNrZXJJdGVtVGFwZSh0aGlzLl9zeW1ib2xzW2VdKTt0aGlzLl90YWlsVGlja2VySXRlbXMucHVzaChpKSx0aGlzLl90YWlsRWxlbWVudC5hcHBlbmRDaGlsZChpLmdldEVsZW1lbnQoKSksaS5zZXRWaWV3KHQsdGhpcy5faXNDb21wYWN0TW9kZS52YWx1ZSgpLHRoaXMuX2lzVHJhbnNwYXJlbnQpfX0sdGhpcy5fdXBkYXRlSGVpZ2h0VmFsdWU9ZT0+e3RoaXMuaGVpZ2h0LnNldFZhbHVlKEkoZSkpfSx0aGlzLl9zeW1ib2xzPWUuc3ltYm9scyx0aGlzLl9zcGVlZD1lLnNwZWVkLHRoaXMuX2lzVHJhbnNwYXJlbnQ9ISFlLmlzVHJhbnNwYXJlbnQsdGhpcy5fZGlzcGxheU1vZGU9ZS5kaXNwbGF5TW9kZSx0aGlzLl9pc0VtYmVkV2lkZ2V0PSEhZS5pc0VtYmVkV2lkZ2V0LHRoaXMuX3Nob3dTeW1ib2xMb2dvPSEhZS5zaG93U3ltYm9sTG9nbyx0aGlzLl9ub0xpbmtzPSEhZS5ub0xpbmtzLHRoaXMuX2lzQ29tcGFjdE1vZGUuc2V0VmFsdWUodGhpcy5fZGlzcGxheU1vZGU9PT1rLkFkYXB0aXZlP00oKTp0aGlzLl9kaXNwbGF5TW9kZT09PWsuQ29tcGFjdCksdGhpcy5faXNDb21wYWN0TW9kZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGVpZ2h0VmFsdWUse2NhbGxXaXRoTGFzdDohMH0pLGUuY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQpLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LmFkZChELnRpY2tlclRhcGUpLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShELm5vQXV0b1Njcm9sbCwhdGhpcy5fc3BlZWQpLHRoaXMuX3NwZWVkJiZ0aGlzLl9jb250YWluZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLHRoaXMuX3R1cm5LZXlib2FyZEZvY3VzT24pLHRoaXMuX3RhcGVFbGVtZW50LmNsYXNzTGlzdC5hZGQoRC50YXBlKSx0aGlzLl9oZWFkRWxlbWVudC5jbGFzc0xpc3QuYWRkKEQuaGVhZCksdGhpcy5fdGFpbEVsZW1lbnQuY2xhc3NMaXN0LmFkZChELnRhaWwpO2NvbnN0IHQ9ZnVuY3Rpb24oZSx0LGkpe2NvbnN0IHM9dD8kOlAsbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuLmNsYXNzTGlzdC5hZGQoRC5za2VsZXRvbik7Y29uc3QgYT1NYXRoLmNlaWwoZS9zKTtmb3IobGV0IGU9MDtlPGE7ZSsrKW4uYXBwZW5kQ2hpbGQobS5nZXRTa2VsZXRvbkVsZW1lbnQodCxpKSk7cmV0dXJuIG59KHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsdGhpcy5faXNDb21wYWN0TW9kZS52YWx1ZSgpLHRoaXMuX2lzVHJhbnNwYXJlbnQpO3RoaXMuX3RhcGVFbGVtZW50LmFwcGVuZENoaWxkKHQpO2NvbnN0IGk9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc3ltYm9scyl7Y29uc3QgdD10aGlzLl9jcmVhdGVUaWNrZXJJdGVtVGFwZShlKTt0LnRvZ2dsZVRyYW5zcGFyZW5jeSh0aGlzLl9pc1RyYW5zcGFyZW50KSx0aGlzLl9oZWFkVGlja2VySXRlbXMucHVzaCh0KSx0aGlzLl9oZWFkRWxlbWVudC5hcHBlbmRDaGlsZCh0LmdldEVsZW1lbnQoKSksaS5wdXNoKFIodCkpfXRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc3R5bGVFbGVtZW50KSx0aGlzLl9jb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3RhcGVFbGVtZW50KSx0aGlzLl93YWl0Rm9yVGlja2Vyc0NhbmNlbGFibGU9ZnVuY3Rpb24oZSl7bGV0IHQ9ITE7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChpLHMpPT57ZS50aGVuKChlPT50P3MobmV3IE4pOmkoZSkpKSxlLmNhdGNoKChlPT5zKHQ/bmV3IE46ZSkpKX0pKSxjYW5jZWwoKXt0PSEwfX19KFByb21pc2UuYWxsKGkpKSx0aGlzLl93YWl0Rm9yVGlja2Vyc0NhbmNlbGFibGUucHJvbWlzZS50aGVuKChlPT57ZS5ldmVyeSgoZT0+IWUpKSYmdGhpcy5vbkFsbFRpY2tlcnNGYXVsdHkuZmlyZSgpLHRoaXMuX3RhcGVFbGVtZW50LnJlbW92ZUNoaWxkKHQpLHRoaXMuX3RhcGVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2hlYWRFbGVtZW50KSx0aGlzLl90YXBlRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl90YWlsRWxlbWVudCksdGhpcy5faW5pdCgpfSksKGU9PntpZighKGUgaW5zdGFuY2VvZiBOKSl0aHJvdyBlfSkpfWRlc3Ryb3koKXt0aGlzLl9jb250YWluZXJFbGVtZW50LnJlbW92ZSgpLHRoaXMuX3dhaXRGb3JUaWNrZXJzQ2FuY2VsYWJsZS5jYW5jZWwoKSxiLm9mZigiY2hhbmdlRGV2aWNlIix0aGlzLl9vbkRldmljZUNoYW5nZWQpLHRoaXMuX2NhbmNlbERlYm91bmNlZFJlc2l6ZSgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eVN0YXRlQ2hhbmdlZCksdGhpcy5faGVhZFRpY2tlckl0ZW1zLmZvckVhY2goKGU9PntlLnN0b3AoKX0pKSx0aGlzLl90YWlsVGlja2VySXRlbXMuZm9yRWFjaCgoZT0+e2Uuc3RvcCgpfSkpfV9jcmVhdGVUaWNrZXJJdGVtVGFwZShlKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGhpcy5fbm9MaW5rcz8ic3BhbiI6ImEiKTtyZXR1cm4gbmV3IG0oZSx0LHtpc0VtYmVkV2lkZ2V0OnRoaXMuX2lzRW1iZWRXaWRnZXQsc2hvd1N5bWJvbExvZ286dGhpcy5fc2hvd1N5bWJvbExvZ28saXNDb21wYWN0TW9kZTp0aGlzLl9pc0NvbXBhY3RNb2RlLnZhbHVlKCl9KX1faW5pdCgpe3RoaXMuX2lzQ29tcGFjdE1vZGUuc3Vic2NyaWJlKHRoaXMuX29uQ29tcGFjdE1vZGVDaGFuZ2VkLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9lbnN1cmVTdWZmaWNpZW50VGFpbFdpZHRoKCksCnRoaXMuX2Rpc3BsYXlNb2RlPT09ay5BZGFwdGl2ZSYmYi5vbigiY2hhbmdlRGV2aWNlIix0aGlzLl9vbkRldmljZUNoYW5nZWQpLHRoaXMuX2NhbmNlbERlYm91bmNlZFJlc2l6ZT1mdW5jdGlvbihlKXtjb25zdCB0PSgwLG4uZGVmYXVsdCkoZSwzMDApO3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0KSwoKT0+e3QuY2FuY2VsKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdCl9fSh0aGlzLl9lbnN1cmVTdWZmaWNpZW50VGFpbFdpZHRoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlTdGF0ZUNoYW5nZWQpO2NvbnN0IGU9KDAsbi5kZWZhdWx0KSh0aGlzLl91cGRhdGVUaWNrZXJWaWV3c0FuZFN0eWxlcy5iaW5kKHRoaXMpLDApO3RoaXMuX3RhaWxUaWNrZXJJdGVtcy5mb3JFYWNoKCh0PT57dC5vbkluaXQuc3Vic2NyaWJlKG51bGwsZSwhMCksdC5vbkNvbXBsZXRlLnN1YnNjcmliZShudWxsLGUsITApLHQub25FcnJvci5zdWJzY3JpYmUobnVsbCwoKCk9PkgodCkpLCEwKX0pKX1fdXBkYXRlVGlja2VyVmlld3MoKXtjb25zdCBlPXRoaXMuX2hlYWRUaWNrZXJJdGVtcy5sZW5ndGg7dGhpcy5faGVhZFRpY2tlckl0ZW1zLmZvckVhY2goKChlLHQpPT57ZS5yZXNldFdpZHRoKCksZS50b2dnbGVDb21wYWN0TW9kZSh0aGlzLl9pc0NvbXBhY3RNb2RlLnZhbHVlKCkpO2NvbnN0IGk9ZS5nZXRXaWR0aCgpK0I7ZS5zZXRXaWR0aChpKSx0aGlzLl90aWNrZXJJdGVtV2lkdGhzW3RdPWl9KSksdGhpcy5fdGFpbFRpY2tlckl0ZW1zLmZvckVhY2goKCh0LGkpPT57dC50b2dnbGVDb21wYWN0TW9kZSh0aGlzLl9pc0NvbXBhY3RNb2RlLnZhbHVlKCkpLHQuc2V0V2lkdGgodGhpcy5fdGlja2VySXRlbVdpZHRoc1tpJWVdKX0pKX1fdXBkYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9zdHlsZUVsZW1lbnQuc2hlZXQ7aWYoIWV8fCF0aGlzLl9zcGVlZClyZXR1cm47Y29uc3QgdD10aGlzLl9oZWFkRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCxpPSJ0aWNrZXItdGFwZS1zY3JvbGwiKyItLSIrKDAsQy5yYW5kb21IYXNoTikoNCk7Zm9yKDtlLmNzc1J1bGVzLmxlbmd0aD4wOyllLmRlbGV0ZVJ1bGUoMCk7Y29uc3Qgcz1bYEBrZXlmcmFtZXMgJHtpfSB7XG5cdFx0XHRcdGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblx0XHRcdFx0dG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHsoMCx4LmlzUnRsKSgpPyIiOiItIn0ke3R9cHgpOyB9XG5cdFx0XHR9YCxgLiR7RC50YXBlfSB7XG5cdFx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogJHt0L3RoaXMuX3NwZWVkfXM7XG5cdFx0XHRcdGFuaW1hdGlvbi1uYW1lOiAke2l9O1xuXHRcdFx0fWBdO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7dCsrKWUuaW5zZXJ0UnVsZShzW3RdLHQpfX0oe2NvbnRhaW5lcjpsZSxzeW1ib2xzOmllLGlzVHJhbnNwYXJlbnQ6bmUsc2hvd1N5bWJvbExvZ286YWUsZGlzcGxheU1vZGU6b2Usbm9MaW5rczpzZSxzcGVlZDo0MCxpc0VtYmVkV2lkZ2V0OiEwfSk7Y2UuaGVpZ2h0LnN1YnNjcmliZSgoZnVuY3Rpb24oZSl7bmV8fChlKz0yKTtHKFUuTmFtZXMuUmVzaXplSWZyYW1lLG51bGwse2hlaWdodDplfSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksY2Uub25BbGxUaWNrZXJzRmF1bHR5LnN1YnNjcmliZShudWxsLCgoKT0+e0coVS5OYW1lcy5Ob0RhdGEsUSx2b2lkIDApfSksITApfX0sZT0+e2UuTygwLFs1ODY2Nyw1NzI5MSw0NjkwNywzMjgxNiw0MzMyNSwzOTA1LDE1OTMyLDUxNTA4LDg0MDgsODAwOTcsMTMxNDgsNDkyNjUsODA3MDYsNjkzNTIsNjU4NjIsNTEwMzEsOTQ3MDgsMzU1Miw4MDU5NCw3OTIwNyw3Mjc4LDIwMDYxLDg3OTI2XSwoKCk9PntyZXR1cm4gdD05NDY2NzEsZShlLnM9dCk7dmFyIHR9KSk7ZS5PKCl9XSk7"}},"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/72512.6193102e3152806b8b0f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.450Z","timestamp":1785136901450,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/72512.6193102e3152806b8b0f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-960\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: eea1e66746692cf07332ad593288f402\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2400,"size_decoded":1442,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2400), with no line terminators","md5":"3a3939e3aa144594584f8ef2bfacd03e","sha1":"60f23f2501747d3d97cbff6f3683dc7e6f9374e1","sha256":"33f399d21b28081ae24569e69403a1aa51e8464cb13d8c6d5e1a3fe6e44ff992","sha512":"bb575248fe0999c8bd6ce31c8a6b01ba5b72b2a388b462c6c4224c88389d94bbf5bf990264f9671498d90cb696bba3e632a59819877bdb52b2a82db3db200912","ssdeep":"","tlshash":"29414bc9f061b23f3b0f60384319d1dc139beaa1cb521fabfb62d1e001c57e562a9426","first_seen":"2026-07-17T14:15:58.435225Z","last_seen":"2026-08-10T05:00:33.840028Z","times_seen":230,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYm9zYTojMDAwMH0uYnV0dG9uLVdNcEtLVUNxe2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQpKTtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZTowO2hlaWdodDoyMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjIycHg7d2lkdGg6MjJweH0uYnV0dG9uLVdNcEtLVUNxLmhvdmVyZWQtV01wS0tVQ3EsLmJ1dHRvbi1XTXBLS1VDcTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtaG92ZXItY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLVdNcEtLVUNxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIpKX19LmJ1dHRvbi1XTXBLS1VDcS5kaXNhYmxlZC1XTXBLS1VDcSwuYnV0dG9uLVdNcEtLVUNxLmRpc2FibGVkLVdNcEtLVUNxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1fMC1ib3NhKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tV01wS0tVQ3EuZGlzYWJsZWQtV01wS0tVQ3E6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQtY29sb3IsdmFyKC0tXzAtYm9zYSkpfX0uYnV0dG9uLVdNcEtLVUNxe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tV01wS0tVQ3E6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tV01wS0tVQ3E6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1XTXBLS1VDcTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt3aWR0aDpjYWxjKDEwMCUgKyA0cHgpO3otaW5kZXg6MX0uYnV0dG9uLVdNcEtLVUNxLmZvY3VzZWQtV01wS0tVQ3E6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYnV0dG9uLVdNcEtLVUNxLmFjdGl2ZS1XTXBLS1VDcXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSkpfS5idXR0b24tV01wS0tVQ3EuYWN0aXZlLVdNcEtLVUNxLmhvdmVyZWQtV01wS0tVQ3EsLmJ1dHRvbi1XTXBLS1VDcS5hY3RpdmUtV01wS0tVQ3E6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tV01wS0tVQ3EuYWN0aXZlLVdNcEtLVUNxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5oaWRkZW4tV01wS0tVQ3F7dmlzaWJpbGl0eTpoaWRkZW59"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/snowplow-tracker-base.465f8af1aa72ac3a1c32.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.611Z","timestamp":1785136901611,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/snowplow-tracker-base.465f8af1aa72ac3a1c32.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-396d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:18:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c24857f5b3e9040e99bf3b78335619d5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":14701,"size_decoded":6832,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"1edb2832b292eaf1f490fd35fadf61ec","sha1":"40184dc94dd19e2bb7b906af7cc99c694efae8d5","sha256":"68c5b31fb26ad1af6d37dc872285b1e5c9837fed11bba1414d053e93e3728567","sha512":"a575cef153e42834c4fe933e7ec67a2a5442aec23dcf472bb585c8da5b858bfac30b279e03691938a35400b286055406e5a9f34bd3d5e5c8b51f1dbccd902df0","ssdeep":"384:rNtq6SWGLOzCHMJY+Uhb7773Y6cR39CF0msq2k70wcWKd:PjSWGLOuHM4hb7773X3F0msq2k7jcWI","tlshash":"ea62d7887043b09a42d925ef986b5149f7380898740d84b5b651f8d23caed9f63f3ebc","first_seen":"2026-07-24T05:39:08.468159Z","last_seen":"2026-07-31T06:31:09.118223Z","times_seen":503,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NTIwN10sezc1Njg1MShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPWUubGVuZ3RoLGk9MDtpPG47aSsrKXt2YXIgbz1lLmNoYXJDb2RlQXQoaSk7aWYobz49NTUyOTYmJm88PTU2MzE5JiZuPmkrMSl7dmFyIHI9ZS5jaGFyQ29kZUF0KGkrMSk7cj49NTYzMjAmJnI8PTU3MzQzJiYobz0xMDI0KihvLTU1Mjk2KStyLTU2MzIwKzY1NTM2LGkrPTEpfW88MTI4P3QucHVzaChvKTpvPDIwNDg/KHQucHVzaChvPj42fDE5MiksdC5wdXNoKDYzJm98MTI4KSk6bzw1NTI5Nnx8bz49NTczNDQmJm88NjU1MzY/KHQucHVzaChvPj4xMnwyMjQpLHQucHVzaChvPj42JjYzfDEyOCksdC5wdXNoKDYzJm98MTI4KSk6bz49NjU1MzYmJm88PTExMTQxMTE/KHQucHVzaChvPj4xOHwyNDApLHQucHVzaChvPj4xMiY2M3wxMjgpLHQucHVzaChvPj42JjYzfDEyOCksdC5wdXNoKDYzJm98MTI4KSk6dC5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkodCkuYnVmZmVyfX0sNTA0NDAyKGUsdCxuKXt2YXIgaT1uKDYzODIyMSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBlPWkoZV49ZT4+PjE2LDIyNDY4MjI1MDcpLGU9aShlXj1lPj4+MTMsMzI2NjQ4OTkwOSksKGVePWU+Pj4xNik+Pj4wfX0sNjM4MjIxKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbihlLHQpe3ZhciBuPTY1NTM1JmUsaT02NTUzNSZ0O3JldHVybiBuKmkrKChlPj4+MTYmNjU1MzUpKmkrbioodD4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KGUsdCxuKXt2YXIgaT1uKDYzODIyMSksbz1uKDUwNDQwMikscj1uKDc1Njg1MSkscz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPDx0fGU+Pj4zMi10fWUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKHQ9dD8wfHQ6MCwic3RyaW5nIj09dHlwZW9mIGUmJihlPXIoZSkpLCEoZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIG49bmV3IFVpbnQzMkFycmF5KFt0XSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPWUuYnl0ZUxlbmd0aC80fDAsbz1uZXcgVWludDMyQXJyYXkoZSwwLG4pLHI9MDtyPG47cisrKW9bcl09aShvW3JdLHNbMF0pLG9bcl09YShvW3JdLDE1KSxvW3JdPWkob1tyXSxzWzFdKSx0WzBdPXRbMF1eb1tyXSx0WzBdPWEodFswXSwxMyksdFswXT1pKHRbMF0sNSkrMzg2NDI5MjE5Nn0oZSxuKSxmdW5jdGlvbihlLHQpe3ZhciBuPWUuYnl0ZUxlbmd0aC80fDAsbz1lLmJ5dGVMZW5ndGglNCxyPTAsYz1uZXcgVWludDhBcnJheShlLDQqbixvKTtzd2l0Y2gobyl7Y2FzZSAzOnJePWNbMl08PDE2O2Nhc2UgMjpyXj1jWzFdPDw4O2Nhc2UgMTpyXj1jWzBdLHI9YShyPWkocixzWzBdKSwxNSkscj1pKHIsc1sxXSksdFswXT10WzBdXnJ9fShlLG4pLGZ1bmN0aW9uKGUsdCl7dFswXT10WzBdXmUuYnl0ZUxlbmd0aCx0WzBdPW8odFswXSl9KGUsbiksbi5idWZmZXJ9fSwzNzcyMjYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7b25XaWRnZXQ6KCk9Pm99KTtjb25zdCBpPW5ldyBNYXA7ZnVuY3Rpb24gbygpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLHQ9d2luZG93LmxvY2F0aW9uLmhvc3Qsbj1gJHt0fSR7ZX1gO3JldHVybiBpLmhhcyhuKXx8aS5zZXQobixmdW5jdGlvbihlLHQpe2NvbnN0IG49WyJed2lkZ2V0LWRvY3MiXTtmb3IoY29uc3QgZSBvZiBuKWlmKG5ldyBSZWdFeHAoZSkudGVzdCh0KSlyZXR1cm4hMDtjb25zdCBpPVsiXndpZGdldGVtYmVkLz8kIiwiXmNtZXdpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvd2lkZ2V0c3RhdGljLz8kIiwiXihbMC05YS16QS1aLV0rKT8vP21lZGl1bXdpZGdldGVtYmVkLz8kIiwiXnR3aXR0ZXItY2hhcnQvPyQiLCJedGVsZWdyYW0vY2hhcnQvPyQiLCJeZW1iZWQvKFswLTlhLXpBLVpdezh9KS8/JCIsIl53aWRnZXRwb3B1cC8/JCIsIl5leHRlbnNpb24vPyQiLCJeaWRlYS1wb3B1cC8/JCIsIl5ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXm1hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL21hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeZXZlbnRzd2lkZ2V0ZW1iZWQvPyQiLCJedGlja2Vyc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4Y3Jvc3NyYXRlc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4aGVhdG1hcHdpZGdldGVtYmVkLz8kIiwiXm1hcmtldHF1b3Rlc3dpZGdldGVtYmVkLz8kIiwiXnNjcmVlbmVyd2lkZ2V0Lz8kIiwiXmNyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9jcnlwdG9ta3RzY3JlZW5lcndpZGdldC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJedGVjaG5pY2FsLWFuYWx5c2lzLXdpZGdldC1lbWJlZC8kIiwiXnNpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3NpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeZW1iZWQtd2lkZ2V0LyhbMC05YS16QS1aLV0rKS8oKFswLTlhLXpBLVotXSspLyk/JCIsIl53aWRnZXQtZG9jcy8oWzAtOWEtekEtWi1dKykvKFswLTlhLXpBLVotL10rKT8kIl0sbz1lLnJlcGxhY2UoL15cLy8sIiIpO2xldCByO2ZvcihsZXQgZT1pLmxlbmd0aC0xO2U+PTA7ZS0tKWlmKHI9bmV3IFJlZ0V4cChpW2VdKSxyLnRlc3QobykpcmV0dXJuITA7cmV0dXJuITF9KGUsdCkpLGkuZ2V0KG4pPz8hMX19LDU2OTM5OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT5kLG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9PmN9KQo7dmFyIGk9big5NDgzODApLG89bigzNzcyMjYpLHI9big4NTYxOTYpLHM9big5MzIzNjUpO2NvbnN0IGE9bmV3IGkuRGVsZWdhdGUsYz0oKT0+YSxsPSJmb3JjZWZlYXR1cmV0b2dnbGUuIjtjb25zdCBnPW5ldyBjbGFzc3tlbmFibGVGZWF0dXJlKGUpe3MuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShsK2UsInRydWUiKSxhLmZpcmUoZSl9ZGlzYWJsZUZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGwrZSwiZmFsc2UiKSxhLmZpcmUoZSl9cmVzZXRGZWF0dXJlKGUpe3MuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShsK2UpLGEuZmlyZShlKX1vbkZlYXR1cmVzU3RhdGVDaGFuZ2VkKCl7cmV0dXJuIGF9fTtmdW5jdGlvbiB1KGUsdCl7cmV0dXJuKCFlW3RdfHwtMSE9PWVbdF0pJiYoISEoInRydWUiPT09cy5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGwrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYidHJ1ZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltsK3RdKXx8ISgiZmFsc2UiPT09cy5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGwrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYiZmFsc2UiPT09d2luZG93LnVzZXI/LnNldHRpbmdzPy5bbCt0XSkmJighIWVbdF0mJigxPT09ZVt0XXx8KDAsci5zaG91bGRBZmZlY3RVc2VyKSh0LGVbdF0pKSkpfXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9LHdpbmRvdy5UcmFkaW5nVmlldy5GZWF0dXJlVG9nZ2xlPWc7Y29uc3QgZD0oaD13aW5kb3cuZmVhdHVyZVRvZ2dsZVN0YXRlfHx7fSwoMCxvLm9uV2lkZ2V0KSgpfHxQcm9taXNlLmFsbChbbi5lKDg1NDM0KSxuLmUoNzI4NSksbi5lKDEzOTkzKV0pLnRoZW4obi5iaW5kKG4sNTA3Mjg1KSkudGhlbigoZT0+e2UucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJmZWF0dXJldG9nZ2xlIiwoZT0+e2NvbnN0IHQ9dShoLGUubmFtZSk7aFtlLm5hbWVdPWUuc3RhdGUsdCE9PXUoaCxlLm5hbWUpJiZhLmZpcmUoZS5uYW1lKX0pKX0pKSx1LmJpbmQobnVsbCxoKSk7dmFyIGg7d2luZG93LlRyYWRpbmdWaWV3LmlzRmVhdHVyZUVuYWJsZWQ9ZH0sMTc5NzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2VtaXQ6KCk9PmcsZW1pdE9uY2U6KCk9PnUsb246KCk9PmMsc3Vic2NyaWJlOigpPT5sLHVuc3Vic2NyaWJlOigpPT5hfSk7dmFyIGk9big5NDgzODApO2NvbnN0IG89e30scj1bXSxzPXt9O2Z1bmN0aW9uIGEoZSx0LG4pe29bZV0udW5zdWJzY3JpYmUobix0KX1mdW5jdGlvbiBjKGUsdCxuKXtsKGUsdCxuKX1mdW5jdGlvbiBsKGUsdCxuLHIpe28uaGFzT3duUHJvcGVydHkoZSl8fChvW2VdPW5ldyBpLkRlbGVnYXRlKSxzW2VdP3QuY2FsbChuKTpvW2VdLnN1YnNjcmliZShuLHQscil9ZnVuY3Rpb24gZyhlLC4uLnQpe2NvbnN0IG49W2VdLmNvbmNhdCh0KTtyLmZvckVhY2goKGU9PntlLmFwcGx5KG51bGwsbil9KSksby5oYXNPd25Qcm9wZXJ0eShlKSYmb1tlXS5maXJlLmFwcGx5KG9bZV0sdCl9ZnVuY3Rpb24gdShlKXtzW2VdJiZjb25zb2xlLndhcm4oYFNvbWV0aGluZyB3ZW50IHdyb25nOiBlbWl0T25jZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBzYW1lIGV2ZW50ICgke2V9KWApLHNbZV09ITAsZy5hcHBseShudWxsLGFyZ3VtZW50cyl9fSw5MzIzNjUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VFZMb2NhbFN0b3JhZ2U6KCk9PnJ9KTtjb25zdCBpPSgwLG4oMjIxMDYxKS5nZXRMb2dnZXIpKCJUVkxvY2FsU3RvcmFnZSIpO3ZhciBvPWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaXNBdmFpbGFibGU9ITAsdGhpcy5sb2NhbFN0b3JhZ2U9d2luZG93LmxvY2FsU3RvcmFnZSx0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ0dmxvY2Fsc3RvcmFnZS5hdmFpbGFibGUiLCJ0cnVlIil9Y2F0Y2goZSl7ZGVsZXRlIHRoaXMuaXNBdmFpbGFibGUsZGVsZXRlIHRoaXMubG9jYWxTdG9yYWdlfXRoaXMuX3VwZGF0ZUxlbmd0aCgpO3RyeXt0aGlzLl9yZXBvcnQoKX1jYXRjaChlKXt9fTtvLnByb3RvdHlwZS5fcmVwb3J0PWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl7Y29uc3QgZT0xMCx0PVtdO2ZvcihsZXQgZT0wO2U8dGhpcy5sb2NhbFN0b3JhZ2UubGVuZ3RoO2UrKyl7Y29uc3Qgbj10aGlzLmtleShlKTt0LnB1c2goe2tleTpuLGxlbmd0aDpTdHJpbmcodGhpcy5nZXRJdGVtKG4pKS5sZW5ndGh9KX10LnNvcnQoKChlLHQpPT50Lmxlbmd0aC1lLmxlbmd0aCkpO2NvbnN0IG49dC5zbGljZSgwLGUpO3Quc29ydCgoKGUsdCk9PnQua2V5Lmxlbmd0aC1lLmtleS5sZW5ndGgpKTtjb25zdCBvPXQuc2xpY2UoMCxlKTtpLmxvZ05vcm1hbChgVG90YWwgYW1vdW50IG9mIGtleXMgaW4gTG9jYWwgU3RvcmFnZTogJHt0aGlzLmxlbmd0aH1gKSxpLmxvZ05vcm1hbChgVG9wICR7ZX0ga2V5cyB3aXRoIGxvbmdlc3QgdmFsdWVzOiAke0pTT04uc3RyaW5naWZ5KG4pfWApLGkubG9nTm9ybWFsKGBUb3AgJHtlfSBsb25nZXN0IGtleSBuYW1lczogJHtKU09OLnN0cmluZ2lmeShvKX1gKTt0cnl7bmF2aWdhdG9yLnN0b3JhZ2UuZXN0aW1hdGUoKS50aGVuKChlPT57aS5sb2dOb3JtYWwoYFN0b3JhZ2UgZXN0aW1hdGU6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9KSl9Y2F0Y2goZSl7fX19LG8ucHJvdG90eXBlLmxlbmd0aD0wLG8ucHJvdG90eXBlLmlzQXZhaWxhYmxlPSExLG8ucHJvdG90eXBlLmxvY2FsU3RvcmFnZT17InR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSI6ImZhbHNlIn0sby5wcm90b3R5cGUuX3VwZGF0ZUxlbmd0aD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBdmFpbGFibGUpdGhpcy5sZW5ndGg9dGhpcy5sb2NhbFN0b3JhZ2UubGVuZ3RoO2Vsc2V7dmFyIGUsdD0wO2ZvcihlIGluIHRoaXMubG9jYWxTdG9yYWdlKXRoaXMubG9jYWxTdG9yYWdlLmhhc093blByb3BlcnR5KGUpJiZ0Kys7dGhpcy5sZW5ndGg9dH19LG8ucHJvdG90eXBlLmtleT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5rZXkoZSk6T2JqZWN0LmtleXModGhpcy5sb2NhbFN0b3JhZ2UpW2VdfSxvLnByb3RvdHlwZS5nZXRJdGVtPWZ1bmN0aW9uKGUpewpyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGUpOnZvaWQgMD09PXRoaXMubG9jYWxTdG9yYWdlW2VdP251bGw6dGhpcy5sb2NhbFN0b3JhZ2VbZV19LG8ucHJvdG90eXBlLnNldEl0ZW09ZnVuY3Rpb24oZSx0KXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oZSx0KTp0aGlzLmxvY2FsU3RvcmFnZVtlXT10LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfSxvLnByb3RvdHlwZS5yZW1vdmVJdGVtPWZ1bmN0aW9uKGUpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShlKTpkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2VbZV0sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LG8ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5jbGVhcigpOnRoaXMubG9jYWxTdG9yYWdlPXt9LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfTtjb25zdCByPW5ldyBvO3dpbmRvdy5UVkxvY2FsU3RvcmFnZT1yfSwxMTczMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNPbk1vYmlsZUFwcFBhZ2U6KCk9Pm8sdXJsV2l0aE1vYmlsZUFwcFBhcmFtczooKT0+cn0pO3ZhciBpPW4oNTg3NDM2KTtmdW5jdGlvbiBvKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IG89InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxyPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1pLmdldCgidHZfYXBwIil8fCIiO298fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLHJ8fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IW8pfHwhKCJuZXciPT09ZXx8IXIpfWZ1bmN0aW9uIHIoZSx0PSExKXtpZihvKCJuZXciLHQpKXtjb25zdCB0PW5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKTt0LnNlYXJjaFBhcmFtcy5zZXQoIm1vYmlsZWFwcF9uZXciLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9aWYobygib2xkIix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHAiLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9cmV0dXJuIGV9fSw4NTYxOTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7c2hvdWxkQWZmZWN0VXNlcjooKT0+Y30pO3ZhciBpPW4oMTAwNTk1KSxvPW4ubihpKSxyPW4oOTMyMzY1KTtjb25zdCBzPSJmZWF0dXJldG9nZ2xlX3NlZWQiO2Z1bmN0aW9uIGEoZSl7dHJ5e2NvbnN0IHQ9bygpKGUrZnVuY3Rpb24oKXtpZih3aW5kb3cudXNlciYmd2luZG93LnVzZXIuaWQpcmV0dXJuIHdpbmRvdy51c2VyLmlkO2NvbnN0IGU9ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKHMpO2lmKG51bGwhPT1lKXJldHVybiBlO2NvbnN0IHQ9TWF0aC5mbG9vcigxZTYqTWF0aC5yYW5kb20oKSk7cmV0dXJuIHIuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShzLGAke3R9YCksdH0oKSksbj1uZXcgRGF0YVZpZXcodCk7cmV0dXJuIG4uZ2V0VWludDMyKDAsITApLzQyOTQ5NjcyOTZ9Y2F0Y2goZSl7cmV0dXJuLjV9fWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gYShlKTw9dH19LDU4NzQzNihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG4saSxvKXtsZXQgcj0iIjtpZihpPWk/IjsgcGF0aD0iK2k6IiIsbz1vPyI7IGRvbWFpbj0iK286IiIsbil7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbio2MCo2MCoxZTMpLHI9IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIHI9IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrcitvK2l9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUrIj0iLG49ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspe2xldCBpPW5bZV07Zm9yKDsiICI9PT1pLmNoYXJBdCgwKTspaT1pLnN1YnN0cmluZygxLGkubGVuZ3RoKTtpZigwPT09aS5pbmRleE9mKHQpKXJldHVybiBpLnN1YnN0cmluZyh0Lmxlbmd0aCxpLmxlbmd0aCl9cmV0dXJuIG51bGx9bi5kKHQse2dldDooKT0+byxzZXQ6KCk9Pml9KX0sNzY4NzYwKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChuLGkpPT57ZT1uLHQ9aX0pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fW4uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9Pml9KX0sOTQ4MzgwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RlbGVnYXRlOigpPT5yfSk7Y29uc3QgaT0oMCxuKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiQ29tbW9uLkRlbGVnYXRlIik7ZnVuY3Rpb24gbyhlKXtyZXR1cm4hZS5zaW5nbGVTaG90fWNsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLmZpcmU9dGhpcy5fZmlyZUltcGwuYmluZCh0aGlzKSx0aGlzLl9saXN0ZW5lcnM9W119c3Vic2NyaWJlKGUsdCxuKXt0aGlzLl9saXN0ZW5lcnMucHVzaCh7b2JqZWN0OmUsbWVtYmVyOnQsc2luZ2xlU2hvdDohIW4sc2tpcDohMX0pfXVuc3Vic2NyaWJlKGUsdCl7Zm9yKGxldCBuPTA7bjx0aGlzLl9saXN0ZW5lcnMubGVuZ3RoOysrbil7Y29uc3QgaT10aGlzLl9saXN0ZW5lcnNbbl07aWYoaS5vYmplY3Q9PT1lJiZpLm1lbWJlcj09PXQpe2kuc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKG4sMSk7YnJlYWt9fX11bnN1YnNjcmliZUFsbChlKXtmb3IobGV0IHQ9dGhpcy5fbGlzdGVuZXJzLmxlbmd0aC0xO3Q+PTA7LS10KXtjb25zdCBuPXRoaXMuX2xpc3RlbmVyc1t0XTtuLm9iamVjdD09PWUmJihuLnNraXA9ITAsdGhpcy5fbGlzdGVuZXJzLnNwbGljZSh0LDEpKX19ZGVzdHJveSgpe3RoaXMuX2xpc3RlbmVycz1bXX1fZmlyZUltcGwoLi4uZSl7Y29uc3QgdD10aGlzLl9saXN0ZW5lcnM7dGhpcy5fbGlzdGVuZXJzPXRoaXMuX2xpc3RlbmVycy5maWx0ZXIobyk7Y29uc3Qgbj10Lmxlbmd0aDtmb3IobGV0IG89MDtvPG47KytvKXtjb25zdCBuPXRbb107aWYoIW4uc2tpcCl0cnl7bi5tZW1iZXIuYXBwbHkobi5vYmplY3R8fG51bGwsZSl9Y2F0Y2goZSl7CmkubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9fX19fSw2ODA4NDIoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtuLmQodCx7Q29va2llU2V0dGluZ3M6KCk9PmksYmFubmVyUHJpdmFjeVByZWZlcmVuY2VLZXk6KCk9PmgsY2hlY2tCYW5uZXJQcml2YWN5UHJlZmVyZW5jZUtleTooKT0+QSxjb29raWVTZXR0aW5nc0NoYW5nZUV2ZW50OigpPT5sLGdldENvb2tpZVNldHRpbmc6KCk9PiQsaGlkZUJhbm5lcjooKT0+VCxyZWplY3RCYW5uZXI6KCk9Pl8sc2V0Q29va2llU2V0dGluZzooKT0+TH0pLGZ1bmN0aW9uKGUpe2UuQW5hbHl0aWNzPSJhbmFseXRpY3MiLGUuQWR2ZXJ0aXNpbmc9ImFkdmVydGlzaW5nIn0oaXx8KGk9e30pKTt2YXIgbz1uKDE3OTc3MSkscj1uKDc2ODc2MCkscz1uKDkzMjM2NSksYT1uKDE2MDI5NiksYz1uKDU4NzQzNik7Y29uc3QgbD0iY29va2llX3NldHRpbmdzX2NoYW5nZWQiLGc9KCgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZS5zcGxpdCgiLiIpKSx1PSgwLGEuaXNMb2NhbCkoKT8iIjoiLiIrZy5zbGljZSgxLGcubGVuZ3RoKS5qb2luKCIuIiksZD0iY29va2llQmFubmVyIixoPSgwLGEuaXNQcm9kKSgpPyJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lclByb2R1Y3Rpb24iOiJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lckxvY2FsIixwPSJhY2NlcHRlZCIsZj0ibm90QXBwbGljYWJsZSIsbT0icmVqZWN0Iix3PSJjb29raWVzU2V0dGluZ3MiLGI9ImxvY2FsQ29va2llc1NldHRpbmdzIix5PSJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lciIsdj17W2kuQW5hbHl0aWNzXTohMSxbaS5BZHZlcnRpc2luZ106ITF9O2Z1bmN0aW9uIFMoKXtyZXR1cm4gcy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGQpfWZ1bmN0aW9uIGsoZSl7cmV0dXJuW3AsZixtXS5pbmNsdWRlcyhzLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk/PyIiKX1mdW5jdGlvbiBBKCl7cmV0dXJuIGU9aCxbcCxmLG1dLmluY2x1ZGVzKGMuZ2V0KGUpPz8iIik7dmFyIGV9ZnVuY3Rpb24gVCgpe0kocCl9ZnVuY3Rpb24gXygpe0kobSl9ZnVuY3Rpb24gSShlKXtjLnNldChoLGUsMzY1MywiLyIsdSl9ZnVuY3Rpb24gTChlLHQpe3ZbZV09dCxjLnNldCgoMCxhLmlzUHJvZCkoKT93OmIsSlNPTi5zdHJpbmdpZnkodiksMzY1MywiLyIsdSksby5lbWl0KGwsZSx0KX1mdW5jdGlvbiAkKGUpe3JldHVybiB2W2VdfWZ1bmN0aW9uIFAoKXtyZXR1cm4gcy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHkpfSFmdW5jdGlvbigpe2NvbnN0IGU9Yy5nZXQoKDAsYS5pc1Byb2QpKCk/dzpiKSx0PXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSh5KSxuPXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSh3KTtpZihlKXt0JiZuJiYoUCgpLHMuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh3KSksayhkKSYmUygpO3RyeXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dltpLkFuYWx5dGljc109dD8uW2kuQW5hbHl0aWNzXXx8ITEsdltpLkFkdmVydGlzaW5nXT10Py5baS5BZHZlcnRpc2luZ118fCExfWNhdGNoe319ZWxzZSBpZihrKGQpJiYoTChpLkFuYWx5dGljcywhMCksTChpLkFkdmVydGlzaW5nLCEwKSxUKCksUygpKSx0JiZuKXtjb25zdCBlPUpTT04ucGFyc2Uobik7SSh0KSxMKGkuQW5hbHl0aWNzLGU/LltpLkFuYWx5dGljc10pLEwoaS5BZHZlcnRpc2luZyxlPy5baS5BZHZlcnRpc2luZ10pLFAoKSxzLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odyl9fSgpfSwxNjAyOTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2Vudmlyb25tZW50OigpPT5vLGlzRGVidWc6KCk9PmEsaXNMb2NhbDooKT0+cixpc1Byb2Q6KCk9PnN9KTtjb25zdCBpPW5ldyBTZXQoWyJiYXR0bGUiLCJzdGFnaW5nIiwidGVzdCIsImxvY2FsIl0pO2Z1bmN0aW9uIG8oKXtjb25zdCBlPXNlbGYuZW52aXJvbm1lbnQ7cmV0dXJuIGZ1bmN0aW9uKGUpe2kuaGFzKGUpfHxjb25zb2xlLndhcm4oIkludmFsaWQgZW52aXJvbm1lbnQgIitlKX0oZSksZX1mdW5jdGlvbiByKCl7cmV0dXJuImxvY2FsIj09PW8oKX1mdW5jdGlvbiBzKCl7cmV0dXJuImJhdHRsZSI9PT1vKCl9ZnVuY3Rpb24gYSgpe3JldHVybiFzKCl9fSwzMTg5NzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q2hlY2tNb2JpbGU6KCk9PmQsYXBwVmVyc2lvbjooKT0+dSxjaGVja1BhZ2VUeXBlOigpPT5wLGRlc2t0b3BBcHBWZXJzaW9uOigpPT5nLGlzQ2hyb21lOigpPT5mLGlzRGVza3RvcEFwcDooKT0+Yyxpc0VkZ2U6KCk9PncsaXNGRjooKT0+bSxpc0xpbnV4OigpPT5hLGlzTWFjOigpPT5zLGlzU2FmYXJpOigpPT5iLGlzU3ltcGhvbnlFbWJlZDooKT0+bCxvbkdvUHJvOigpPT55LG9uV2lkZ2V0OigpPT5vLm9uV2lkZ2V0LHN1cHBvcnRUb3VjaDooKT0+aH0pO3ZhciBpPW4oNzM4NDU4KSxvPW4oMzc3MjI2KTtjb25zdCByPXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2Z1bmN0aW9uIHMoKXtyZXR1cm4gaS5pc01hY31mdW5jdGlvbiBhKCl7cmV0dXJuIGkuaXNMaW51eH1mdW5jdGlvbiBjKCl7cmV0dXJuL1RWRGVza3RvcC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCl9ZnVuY3Rpb24gbCgpe3JldHVybiByLmlzU3ltcGhvbnl8fCExfWZ1bmN0aW9uIGcoKXtjb25zdCBlPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1RWRGVza3RvcFwvKFteXHNdKykvKTtyZXR1cm4gZSYmZVsxXX1mdW5jdGlvbiB1KCl7Y29uc3QgZT1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9UcmFkaW5nVmlld1wvKFteXHNdKykvKTtyZXR1cm4gZSYmZVsxXX1jb25zdCBkPXtBbmRyb2lkOigpPT5pLmlzQW5kcm9pZCxCbGFja0JlcnJ5OigpPT5pLmlzQmxhY2tCZXJyeSxpT1M6KCk9PmkuaXNJT1MsT3BlcmE6KCk9PmkuaXNPcGVyYU1pbmksaXNJUGFkOigpPT5pLmlzSVBhZCxhbnk6KCk9PmkuaXNBbnlNb2JpbGV9O2Z1bmN0aW9uIGgoKXtyZXR1cm4gaS5tb2JpbGV0b3VjaHx8aS50b3VjaHx8aS5pc0FueU1vYmlsZX1mdW5jdGlvbiBwKGUpewpyZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoInBhZ2VfdHlwZSIpPT09ZX1yLmlzTW9iaWxlPWQsci5vbldpZGdldD1vLm9uV2lkZ2V0O2NvbnN0IGY9aS5pc0Nocm9tZSxtPWkuaXNGRix3PWkuaXNFZGdlLGI9aS5pc1NhZmFyaTtmdW5jdGlvbiB5KCl7cmV0dXJuIi9wcmljaW5nLyI9PT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9fSw5MjA3MDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U2V0dGluZ3M6KCk9Pmh9KTt2YXIgaT1uKDU2OTM5OCksbz1uKDE3OTc3MSkscj1uKDg3MDY0NCkscz1uKDMxODk3NCksYT1uKDExNzMxMyksYz1uKDY4MDg0Mik7Y29uc3QgbD13aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncztsZXQgZyx1PSJ3ZWIiLGQ9IiI7aWYoKDAscy5pc0Rlc2t0b3BBcHApKCkmJih1PSJwYyIsZD0iX2Rlc2t0b3AiKSwoMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/KHU9Im1vYiIsZD0iX2lvcyIpOigwLGEuaXNPbk1vYmlsZUFwcFBhZ2UpKCJuZXciKSYmKHU9Im1vYiIsZD0iX2FuZHJvaWQiKSxsJiZsLnBhcmFtcyYmbC5lbmFibGVkKXtjb25zdCBlPSEoMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJiEoMCxjLmdldENvb2tpZVNldHRpbmcpKGMuQ29va2llU2V0dGluZ3MuQW5hbHl0aWNzKSYme3dpdGhTZXNzaW9uVHJhY2tpbmc6ITB9O2c9e2NvbGxlY3RvcklkOmwuY29sbGVjdG9ySWQsdXJsOmwudXJsLHBhcmFtczp7YXBwSWQ6bC5wYXJhbXMuYXBwSWQrZCxwbGF0Zm9ybTp1LGRpc2NvdmVyUm9vdERvbWFpbjohMCxjb250ZXh0czp7d2ViUGFnZTohMH0sZXZlbnRNZXRob2Q6ImdldCIsbWF4TG9jYWxTdG9yYWdlUXVldWVTaXplOjMwLGFub255bW91c1RyYWNraW5nOmUsc2Vzc2lvbkNvb2tpZVRpbWVvdXQ6KDAsYy5nZXRDb29raWVTZXR0aW5nKShjLkNvb2tpZVNldHRpbmdzLkFuYWx5dGljcyk/MTgwMDo3Nzc2ZTN9fSwoMCxpLmlzRmVhdHVyZUVuYWJsZWQpKCJzbm93cGxvd19iZWFjb25fZmVhdHVyZSIpJiYoZy5wYXJhbXMuZXZlbnRNZXRob2Q9ImJlYWNvbiIsZy5wYXJhbXMucG9zdFBhdGg9bC5wYXJhbXMucG9zdFBhdGgpfWZ1bmN0aW9uIGgoKXtpZihnKXJldHVybiBnfW8uc3Vic2NyaWJlKGMuY29va2llU2V0dGluZ3NDaGFuZ2VFdmVudCwoKGUsdCk9PntlPT09Yy5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MmJih0PygwLHIuZGlzYWJsZUFub255bW91c1RyYWNraW5nKSgpOigwLHIuZW5hYmxlQW5vbnltb3VzVHJhY2tpbmcpKHtvcHRpb25zOnt3aXRoU2Vzc2lvblRyYWNraW5nOiEwfX0pKX0pLG51bGwpfSw0NzcxNTAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxvO24uZCh0LHtTbm93cGxvd1RyYWNrZXJCYXNlOigpPT51LGdldFRyYWNrZXJJbnN0YW5jZTooKT0+Z30pLGZ1bmN0aW9uKGUpe2UuV2ViPSJ3ZWIiLGUuTW9iaWxlPSJtb2IiLGUuRGVza3RvcD0icGMifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuQW5kcm9pZD0iX2FuZHJvaWQiLGUuSU9TPSJfaW9zIixlLkRlc2t0b3A9Il9kZXNrdG9wIn0ob3x8KG89e30pKTt2YXIgcj1uKDMxODk3NCkscz1uKDg3MDY0NCksYT1uKDkyMDcwNik7bGV0IGM9ITE7bGV0IGw9bnVsbDtmdW5jdGlvbiBnKCl7aWYobnVsbD09PWwpe2NvbnN0IGU9KDAsYS5nZXRTZXR0aW5ncykoKTt2b2lkIDAhPT1lJiYobD1uZXcgdShlKSl9cmV0dXJuIGx9Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXsoMCxzLm5ld1RyYWNrZXIpKGUuY29sbGVjdG9ySWQsZS51cmwsZS5wYXJhbXMpLHRoaXMuX2NvbGxlY3RvcklkPWUuY29sbGVjdG9ySWQsdGhpcy5fc2V0RGlzY2FyZEJyYWNlKCEwKX10cmFja1BhZ2VWaWV3KCl7KDAscy50cmFja1BhZ2VWaWV3KSh2b2lkIDAsW3RoaXMuX2NvbGxlY3RvcklkXSl9c2V0VXNlcklkKGUpe2NvbnN0IHQ9IWV8fCgwLHIuaXNTeW1waG9ueUVtYmVkKSgpP251bGw6YCR7ZX1gOygwLHMuc2V0VXNlcklkKSh0LFt0aGlzLl9jb2xsZWN0b3JJZF0pfXRyYWNrU2VsZkRlc2MoZSx0KXtjfHwoMCxzLnRyYWNrU2VsZkRlc2NyaWJpbmdFdmVudCkoe2V2ZW50OntzY2hlbWE6ZSxkYXRhOnR9fSxbdGhpcy5fY29sbGVjdG9ySWRdKX1fc2V0RGlzY2FyZEJyYWNlKGUpeygwLHMuZGlzY2FyZEJyYWNlKShlLFt0aGlzLl9jb2xsZWN0b3JJZF0pfV9zdGFydEFjdGl2aXR5V2F0Y2hlcihlKXtsZXQgdD0wO3JldHVybigwLHMuZW5hYmxlQWN0aXZpdHlUcmFja2luZ0NhbGxiYWNrKSh7bWluaW11bVZpc2l0TGVuZ3RoOmUubWluaW11bVZpc2l0TGVuZ3RoLGhlYXJ0YmVhdERlbGF5OmUuaGVhcnRiZWF0RGVsYXksY2FsbGJhY2s6KCk9Pnt0Kyt9fSxbdGhpcy5fY29sbGVjdG9ySWRdKSx7ZGlzYWJsZVRyYWNraW5nOnMuZGlzYWJsZUFjdGl2aXR5VHJhY2tpbmcsZmx1c2hUcmFja2luZ1Jlc3VsdDooKT0+e2NvbnN0IG49dCplLmhlYXJ0YmVhdERlbGF5O3JldHVybiB0PTAsbn19fX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.79667.38b400b7bcd71265de7e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.838Z","timestamp":1785136901838,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.79667.38b400b7bcd71265de7e.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-443f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: abf45444c782da1c831a482062aaf349\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":17471,"size_decoded":6840,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3068)","md5":"abdac933416adad2f1f0358c34e06d0c","sha1":"0dc05aeba8286a0334c027665641bcf478994d5d","sha256":"5f564c4503176b996145604c8e659d0a1c2128953899b2e776973f0a91e17e9d","sha512":"56050afbc169f102143e4d56c74c692b0bae5319724042b3417d8740d60592b7d74fb27d1863dce300e020f33f36498a00fd31af8f94b6d301558007054ee92b","ssdeep":"192:nzHO1epgwUCqXYyY0ltStvFnUkst1siHYFhftcmrEnpsMhRl2FlQ8oCe68ciDhvx:nzJWPs0ChspEkmEnptD2FlQ8/e6Axrn","tlshash":"6c72db17c105c0fa8fb5ca227359edc0b5f8b19410f1e8c6b3a95f69c623c656838b79","first_seen":"2026-07-24T15:28:44.838926Z","last_seen":"2026-07-28T04:48:50.480044Z","times_seen":58,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMjc4LDE4OTExLDUyMzI0LDc5NjY3LDg3MjM4LDk0OTQ3XSx7NDM1NzUwKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBzZWxlY3RlZCBzeW1ib2xzPyJdfSw4MjY4NzMoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIGFsbCBzeW1ib2xzPyJdfSw0MTcxOTEoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIHNlbGVjdGVkIHN5bWJvbHM/Il19LDIwNjk0OChlKXtlLmV4cG9ydHM9WyJDbGVhciJdfSwzMDkzMyhlKXtlLmV4cG9ydHM9WyJDYW5jZWwiXX0sMTA4KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSJdfSw4MzU5MzcoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIl19LDY2ODQ0OShlKXtlLmV4cG9ydHM9WyJhbmltYWxzICYgbmF0dXJlIl19LDU3NDcxNShlKXtlLmV4cG9ydHM9WyJhY3Rpdml0eSJdfSwxNDc1MDAoZSl7ZS5leHBvcnRzPVsiZm9vZCAmIGRyaW5rIl19LDE3NDE3OChlKXtlLmV4cG9ydHM9WyJmbGFncyJdfSw5NDMzOTMoZSl7ZS5leHBvcnRzPVsib2JqZWN0cyJdfSwzMDYwNzAoZSl7ZS5leHBvcnRzPVsic21pbGVzICYgcGVvcGxlIl19LDI3NjYwOShlKXtlLmV4cG9ydHM9WyJzeW1ib2xzIl19LDQ2NTQ1NihlKXtlLmV4cG9ydHM9WyJyZWNlbnRseSB1c2VkIl19LDEyMzEzOChlKXtlLmV4cG9ydHM9WyJ0cmF2ZWwgJiBwbGFjZXMiXX0sOTA0NzA0KGUpe2UuZXhwb3J0cz1bIk5vIG9wdGlvbnMgYXZhaWxhYmxlIl19LDMwNjYyNihlKXtlLmV4cG9ydHM9WyJCYWNrIl19LDY1MTYzOChlKXtlLmV4cG9ydHM9WyJOZXcgd2F0Y2hsaXN0IG5hbWUiXX0sMTYzOTgwKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCJdfSw3Mzg1NShlKXtlLmV4cG9ydHM9WyJDYWxscyJdfSw5MTU3ODcoZSl7ZS5leHBvcnRzPVsiUHV0cyJdfSw4OTI1KGUpe2UuZXhwb3J0cz1bIkhpZGUgc3ByZWFkIG9wZXJhdG9ycyJdfSwzMjMzNjMoZSl7ZS5leHBvcnRzPVsiU2hvdyBzcHJlYWQgb3BlcmF0b3JzIl19LDk2MjMxOChlKXtlLmV4cG9ydHM9WyJBZGRpdGlvbiJdfSwzMzgwMChlKXtlLmV4cG9ydHM9WyJEaXZpc2lvbiJdfSw5MjMwMjEoZSl7ZS5leHBvcnRzPVsiRXhwb25lbnRpYXRpb24iXX0sNDg0ODc1KGUpe2UuZXhwb3J0cz1bIk11bHRpcGxpY2F0aW9uIl19LDkwNTI5OShlKXtlLmV4cG9ydHM9WyJTdWJ0cmFjdGlvbiJdfSw4NTMzNDkoZSl7ZS5leHBvcnRzPVsiUmVjaXByb2NhbCJdfSw4NDUyMjgoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIHNlYXJjaCJdfSwyMzkxOTgoZSl7ZS5leHBvcnRzPVsiQ29sbGFwc2UiXX0sMzg2MjQ2KGUpe2UuZXhwb3J0cz1bIkV4cGFuZCJdfSwxODEzMDUoZSl7ZS5leHBvcnRzPVsiQ0VYIl19LDQ1MDI3MyhlKXtlLmV4cG9ydHM9WyJDb21tb24gc3RvY2siXX0sMzAxNTkzKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgU2VydmljZXMiXX0sOTM0MjQ2KGUpe2UuZXhwb3J0cz1bIkNvbW11bmljYXRpb25zIl19LDY4NTEzKGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIl19LDI3Mzk0MyhlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBEdXJhYmxlcyJdfSwyNDY1NShlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBOb24tRHVyYWJsZXMiXX0sMjQ0OTIoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgU2VydmljZXMiXX0sNjc1NDQzKGUpe2UuZXhwb3J0cz1bIkNvcnBvcmF0ZSJdfSw3ODkzMTkoZSl7ZS5leHBvcnRzPVsiQ2Vuc3VzIEJ1cmVhdSJdfSw4NTQ2NjEoZSl7ZS5leHBvcnRzPVsiQ2VudHJhbCBCYW5rIG9mIFdlc3QgQWZyaWNhbiBTdGF0ZXMgKEJDRUFPKSJdfSwzMzgxOTcoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzIl19LDU5ODU4KGUpe2UuZXhwb3J0cz1bIkN1cnJlbmNpZXMiXX0sOTkzMTY4KGUpe2UuZXhwb3J0cz1bIkFLQU1BSSJdfSw0NDY3NjcoZSl7ZS5leHBvcnRzPVsiQWdyaWN1bHR1cmUiXX0sOTc3NzY3KGUpe2UuZXhwb3J0cz1bIkFsbCBjYXRlZ29yaWVzIl19LDM2NTM0MChlKXtlLmV4cG9ydHM9WyJBbGwgZXhjaGFuZ2UgdHlwZXMiXX0sNTAyNTUzKGUpe2UuZXhwb3J0cz1bIkFsbCBzZWN0b3JzIl19LDI4OTI4MChlKXtlLmV4cG9ydHM9WyJBbGwgc291cmNlcyJdfSw3NjEzNjQoZSl7ZS5leHBvcnRzPVsiQWxsIHR5cGVzIl19LDU0NjQ5KGUpe2UuZXhwb3J0cz1bIkJDRUFPIl19LDg5NzAyOShlKXtlLmV4cG9ydHM9WyJCRUEiXX0sOTY5NjEzKGUpe2UuZXhwb3J0cz1bIkJMUyJdfSwxMzczNTMoZSl7ZS5leHBvcnRzPVsiQnVpbGRpbmcgbWF0ZXJpYWxzIl19LDU0MzU1MChlKXtlLmV4cG9ydHM9WyJCdXJlYXUgb2YgRWNvbm9taWNzIEFuYWx5c2lzIl19LDkwMzA4MyhlKXtlLmV4cG9ydHM9WyJCdXJlYXUgb2YgTGFib3VyIFN0YXRpc3RpY3MiXX0sMzg1MTYyKGUpe2UuZXhwb3J0cz1bIkJ1c2luZXNzIl19LDQxNTQwKGUpe2UuZXhwb3J0cz1bIkdEUCJdfSw4MzQ2MzQoZSl7ZS5leHBvcnRzPVsiR292ZXJubWVudCJdfSw1MzU1OShlKXtlLmV4cG9ydHM9WyJHb3Zlcm5tZW50IHNlY3RvciJdfSwzMjg1NDUoZSl7ZS5leHBvcnRzPVsiREVYIl19LDI5MjAyMChlKXtlLmV4cG9ydHM9WyJEZXBvc2l0b3J5IFJlY2VpcHQiXX0sMjk0ODEwKGUpe2UuZXhwb3J0cz1bIkRpc3RyaWJ1dGlvbiBTZXJ2aWNlcyJdfSwyMjc4NjAoZSl7ZS5leHBvcnRzPVsiRVRGIl19LDYyODQ3MihlKXtlLmV4cG9ydHM9WyJFVVJPU1RBVCJdfSwyMzM4OTAoZSl7ZS5leHBvcnRzPVsiRW5lcmd5Il19LDY2MjQ4MShlKXtlLmV4cG9ydHM9WyJFbmVyZ3kgTWluZXJhbHMiXX0sNjEyMDc1KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgVGVjaG5vbG9neSJdfSwxMTA2MihlKXtlLmV4cG9ydHM9WyJGZWRlcmFsIFJlc2VydmUiXX0sNjkxMTg5KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2UiXX0sMjA2MTEoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw5ODc0MzQoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWwiXX0sMjAxNTc0KGUpe2UuZXhwb3J0cz1bIkhvdXNpbmciXX0sMjIyMDAyKGUpe2UuZXhwb3J0cz1bIkhlYWx0aCJdfSw2MDEzNDkoZSl7ZS5leHBvcnRzPVsiSGVhbHRoIFNlcnZpY2VzIl19LDE1MjgwNShlKXsKZS5leHBvcnRzPVsiSGVhbHRoIFRlY2hub2xvZ3kiXX0sNjY1Njg5KGUpe2UuZXhwb3J0cz1bIklNRiJdfSwzNzc3NDIoZSl7ZS5leHBvcnRzPVsiSUVQIl19LDYwMTU1MShlKXtlLmV4cG9ydHM9WyJJbnRlcmVzdCByYXRlcyJdfSw4NDAxODcoZSl7ZS5leHBvcnRzPVsiSW50ZXJuYXRpb25hbCBNb25ldGFyeSBGdW5kIChJTUYpIl19LDU5NzIwMChlKXtlLmV4cG9ydHM9WyJJbmRleCJdfSwzODIxNDAoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBTZXJ2aWNlcyJdfSw4MzI4NjYoZSl7ZS5leHBvcnRzPVsiSW5zdGl0dXRlIGZvciBFY29ub21pY3MgYW5kIFBlYWNlIl19LDQ1MDU1MChlKXtlLmV4cG9ydHM9WyJPTlMiXX0sNTIwMDQwKGUpe2UuZXhwb3J0cz1bIk9FQ0QiXX0sOTc4Mjk0KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBmb3IgTmF0aW9uYWwgU3RhdGlzdGljcyJdfSwxMTc4MTAoZSl7ZS5leHBvcnRzPVsiT3JnYW5pc2F0aW9uIGZvciBFY29ub21pYyBDby1vcGVyYXRpb24gYW5kIERldmVsb3BtZW50Il19LDgxNTc0MShlKXtlLmV4cG9ydHM9WyJMYWJvciJdfSw3NTQ0OTAoZSl7ZS5leHBvcnRzPVsiTW9uZXkiXX0sNzYxMTIyKGUpe2UuZXhwb3J0cz1bIk1ldGFscyJdfSwzNjc3NjMoZSl7ZS5leHBvcnRzPVsiTWlzY2VsbGFuZW91cyJdfSw5NTc3OTgoZSl7ZS5leHBvcnRzPVsiTXV0dWFsIGZ1bmQiXX0sMTkxNDIoZSl7ZS5leHBvcnRzPVsiTm9uLUVuZXJneSBNaW5lcmFscyJdfSw3NzA5ODIoZSl7ZS5leHBvcnRzPVsiU0lQUkkiXX0sNzQ2NzkyKGUpe2UuZXhwb3J0cz1bIlNpbmdsZSBzdG9jayJdfSw0MzczNTYoZSl7ZS5leHBvcnRzPVsiU3BvdCJdfSw5MTc4MDUoZSl7ZS5leHBvcnRzPVsiU3RhdENhbiJdfSw2NTQ0NDAoZSl7ZS5leHBvcnRzPVsiU3RhdGlzdGljcyBDYW5hZGEiXX0sODYzMjM2KGUpe2UuZXhwb3J0cz1bIlN0YXRpc3RpY3MgTm9yd2F5Il19LDg3MTcyNyhlKXtlLmV4cG9ydHM9WyJTdG9ja2hvbG0gSW50ZXJuYXRpb25hbCBQZWFjZSBSZXNlYXJjaCBJbnN0aXR1dGUiXX0sMTY5MTQ1KGUpe2UuZXhwb3J0cz1bIlN3YXAiXX0sNjc4MzUoZSl7ZS5leHBvcnRzPVsiUHJlLUlQTyJdfSw0ODc0MDQoZSl7ZS5leHBvcnRzPVsiUHJlZmVycmVkIHN0b2NrIl19LDUzNjMzMyhlKXtlLmV4cG9ydHM9WyJQcmljZXMiXX0sNzEyMTk4KGUpe2UuZXhwb3J0cz1bIlByb2Nlc3MgSW5kdXN0cmllcyJdfSw5OTY0MjAoZSl7ZS5leHBvcnRzPVsiUHJvZHVjZXIgTWFudWZhY3R1cmluZyJdfSw5NTAxNzQoZSl7ZS5leHBvcnRzPVsiUkVJVCJdfSwzNjc1ODIoZSl7ZS5leHBvcnRzPVsiUmV0YWlsIFRyYWRlIl19LDI1ODc2MChlKXtlLmV4cG9ydHM9WyJXQiJdfSw3OTA0NjYoZSl7ZS5leHBvcnRzPVsiV0VGIl19LDgzMjk0NyhlKXtlLmV4cG9ydHM9WyJXR0MiXX0sMzM2MTEyKGUpe2UuZXhwb3J0cz1bIldvcmxkIEJhbmsiXX0sNDgzOTY2KGUpe2UuZXhwb3J0cz1bIldvcmxkIEdvbGQgQ291bmNpbCJdfSw4NTk5NTUoZSl7ZS5leHBvcnRzPVsiV29ybGQgRWNvbm9taWMgRm9ydW0iXX0sNzIxNzYyKGUpe2UuZXhwb3J0cz1bIldvcmxkIGluZGljZXMiXX0sNzE0MTQ1KGUpe2UuZXhwb3J0cz1bIldhZ2VJbmRpY2F0b3IiXX0sMzQ1NjA5KGUpe2UuZXhwb3J0cz1bIldhZ2VJbmRpY2F0b3IgRm91bmRhdGlvbiJdfSw0NTU0MDQoZSl7ZS5leHBvcnRzPVsiV2FycmFudCJdfSw5MTE4NjIoZSl7ZS5leHBvcnRzPVsiV2VhdGhlciJdfSwyNzY4MzMoZSl7ZS5leHBvcnRzPVsiVGF4ZXMiXX0sMjg0Njc3KGUpe2UuZXhwb3J0cz1bIlRlY2hub2xvZ3kgU2VydmljZXMiXX0sOTM3OTM1KGUpe2UuZXhwb3J0cz1bIlRydXN0Il19LDIzOTkyOShlKXtlLmV4cG9ydHM9WyJUcmFkZSJdfSw3NzAxMihlKXtlLmV4cG9ydHM9WyJUcmFuc3BhcmVuY3kgSW50ZXJuYXRpb25hbCJdfSw0MzI3MzgoZSl7ZS5leHBvcnRzPVsiVHJhbnNwb3J0YXRpb24iXX0sNTk5ODA3KGUpe2UuZXhwb3J0cz1bIlUuUy4gRW5lcmd5IEluZm9ybWF0aW9uIEFkbWluaXN0cmF0aW9uIl19LDYyNzUwNChlKXtlLmV4cG9ydHM9WyJVRUlBIl19LDM5OTQ1MShlKXtlLmV4cG9ydHM9WyJVU0NCIl19LDM0MzI4NChlKXtlLmV4cG9ydHM9WyJVdGlsaXRpZXMiXX0sNTgwNTY4KGUpe2UuZXhwb3J0cz1bIkNhdGVnb3JpZXMiXX0sMzQ0NzgxKGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIHR5cGVzIl19LDMyMTA4OShlKXtlLmV4cG9ydHM9WyJTb3VyY2VzIl19LDg5NTE3NihlKXtlLmV4cG9ydHM9WyJTZWN0b3JzIl19LDY2MjgzNChlKXtlLmV4cG9ydHM9WyJUeXBlcyJdfSwyODcwMzgoZSl7ZS5leHBvcnRzPVsiUmlnaHQiXX0sNDQ1MzMzKGUpe2UuZXhwb3J0cz1bIlN0cmlrZSJdfSwxNjE3MDgoZSl7ZS5leHBvcnRzPVsiLiJdfSw1MDI2OTIoZSl7ZS5leHBvcnRzPVsiJXMgYWdvIl19LDQ5MDc0MChlKXtlLmV4cG9ydHM9WyJJbiAlcyJdfSwzMjU3MzIoZSl7ZS5leHBvcnRzPVsiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHMiXX0sNDg0MTM2KGUpe2UuZXhwb3J0cz1bIkNvbW9yb3MiXX0sOTY0ODU4KGUpe2UuZXhwb3J0cz1bIkNvbmdvIl19LDI3MTU1OChlKXtlLmV4cG9ydHM9WyJDb25nbyAodGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlKSJdfSw3MDg4NTkoZSl7ZS5leHBvcnRzPVsiQ29vayBJc2xhbmRzIl19LDI2ODg0NChlKXtlLmV4cG9ydHM9WyJDb3N0YSBSaWNhIl19LDY0MTAyNihlKXtlLmV4cG9ydHM9WyJDYXltYW4gSXNsYW5kcyJdfSw2MDEwOTcoZSl7ZS5leHBvcnRzPVsiQ2FibyBWZXJkZSJdfSw1NTU0ODkoZSl7ZS5leHBvcnRzPVsiQ2FtYm9kaWEiXX0sOTc3MDI4KGUpe2UuZXhwb3J0cz1bIkNhbWVyb29uIl19LDc3NDc4KGUpe2UuZXhwb3J0cz1bIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyJdfSw0ODM1NShlKXtlLmV4cG9ydHM9WyJDaGFkIl19LDk1NjQ2NChlKXtlLmV4cG9ydHM9WyJDaHJpc3RtYXMgSXNsYW5kIl19LDU0OTEwKGUpe2UuZXhwb3J0cz1bIkNsb3NlIG1lbnUiXX0sODgyNDExKGUpe2UuZXhwb3J0cz1bIkNyeXB0byJdfSwyOTk5NjYoZSl7ZS5leHBvcnRzPVsiQ3J5cHRvY3VycmVuY3kiXX0sCjc2OTE0MChlKXtlLmV4cG9ydHM9WyJDdWJhIl19LDU4OTQxNyhlKXtlLmV4cG9ydHM9WyJDdXJhY2FvIl19LDk0NTE3MShlKXtlLmV4cG9ydHM9WyJDdXJhw6dhbyJdfSwxNDY4NChlKXtlLmV4cG9ydHM9WyJDeWFuIl19LDgzOTM5MChlKXtlLmV4cG9ydHM9WyJDeWFuIGxpc3QiXX0sMjYxOTkwKGUpe2UuZXhwb3J0cz1bIkN6ZWNoaWEiXX0sNDk4NzYyKGUpe2UuZXhwb3J0cz1bIkPDtHRlIGQnSXZvaXJlIl19LDEwNDU1MyhlKXtlLmV4cG9ydHM9WyJBbWVyaWNhbiBTYW1vYSJdfSw5OTE0NjQoZSl7ZS5leHBvcnRzPVsiQW1lcmljYXMiXX0sMjk3NTcwKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpY2EiXX0sNzQ1ODkoZSl7ZS5leHBvcnRzPVsiQW50aWd1YSBhbmQgQmFyYnVkYSJdfSw5NjUyMTMoZSl7ZS5leHBvcnRzPVsiQW5kb3JyYSJdfSw3NzcyMChlKXtlLmV4cG9ydHM9WyJBbmdvbGEiXX0sODU0OTAyKGUpe2UuZXhwb3J0cz1bIkFuZ3VpbGxhIl19LDQxODIzOChlKXtlLmV4cG9ydHM9WyJBZGQgdG8gV2F0Y2hsaXN0Il19LDk5MzEwMShlKXtlLmV4cG9ydHM9WyJBZmdoYW5pc3RhbiJdfSw2NTAzNDQoZSl7ZS5leHBvcnRzPVsiQWZyaWNhIl19LDI4MDAyNShlKXtlLmV4cG9ydHM9WyJBbGJhbmlhIl19LDI5NjE4MShlKXtlLmV4cG9ydHM9WyJBbGdlcmlhIl19LDIzMzY5MChlKXtlLmV4cG9ydHM9WyJBbGwiXX0sNTEzMzA4KGUpe2UuZXhwb3J0cz1bIkFsbCBjb3VudHJpZXMiXX0sMzg0MDIwKGUpe2UuZXhwb3J0cz1bIkFsbCBzb3VyY2VzIl19LDExNDc1NihlKXtlLmV4cG9ydHM9WyJBcnViYSJdfSw3Nzk5NTIoZSl7ZS5leHBvcnRzPVsiQXJtZW5pYSJdfSw2ODkxODIoZSl7ZS5leHBvcnRzPVsiQXNpYSJdfSw3NjQxNzEoZSl7ZS5leHBvcnRzPVsiQXNpYSAvIFBhY2lmaWMiXX0sNDY4MTcoZSl7ZS5leHBvcnRzPVsiQXplcmJhaWphbiJdfSw0MjUzNzgoZSl7ZS5leHBvcnRzPVsiQm90c3dhbmEiXX0sNzMwNzYzKGUpe2UuZXhwb3J0cz1bIkJvdXZldCBJc2xhbmQiXX0sOTMxMzA0KGUpe2UuZXhwb3J0cz1bIkJvbGl2aWEiXX0sNTU3MjM1KGUpe2UuZXhwb3J0cz1bIkJvbmFpcmUsIFNpbnQgRXVzdGF0aXVzIGFuZCBTYWJhIl19LDkwOTA1NChlKXtlLmV4cG9ydHM9WyJCb25kIl19LDI0MzQ2NChlKXtlLmV4cG9ydHM9WyJCb25kcyJdfSw5NzA2OTEoZSl7ZS5leHBvcnRzPVsiQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSJdfSwzMzUyNTkoZSl7ZS5leHBvcnRzPVsiQmFoYW1hcyJdfSw4MjkzODcoZSl7ZS5leHBvcnRzPVsiQmFyYmFkb3MiXX0sNTIzNTUyKGUpe2UuZXhwb3J0cz1bIkJlbGFydXMiXX0sNzg3NzAxKGUpe2UuZXhwb3J0cz1bIkJlbGl6ZSJdfSw1ODg4NDgoZSl7ZS5leHBvcnRzPVsiQmVuaW4iXX0sMzE0NzM3KGUpe2UuZXhwb3J0cz1bIkJlcm11ZGEiXX0sMjg0NDQyKGUpe2UuZXhwb3J0cz1bIkJodXRhbiJdfSw2MzgxKGUpe2UuZXhwb3J0cz1bIkJsdWUiXX0sNTczODA3KGUpe2UuZXhwb3J0cz1bIkJsdWUgbGlzdCJdfSwzOTE5MDYoZSl7ZS5leHBvcnRzPVsiQnJ1bmVpIl19LDc0NDI0NihlKXtlLmV4cG9ydHM9WyJCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkiXX0sNjUzMzQwKGUpe2UuZXhwb3J0cz1bIkJyaXRpc2ggVmlyZ2luIElzbGFuZHMiXX0sMTk4Mjk3KGUpe2UuZXhwb3J0cz1bIkJ1cmtpbmEgRmFzbyJdfSw3NTgyMihlKXtlLmV4cG9ydHM9WyJCdXJ1bmRpIl19LDc2NjYyMihlKXtlLmV4cG9ydHM9WyJHbyB0byBzeW1ib2wiXX0sMzY3NjkwKGUpe2UuZXhwb3J0cz1bIkdhYm9uIl19LDcwODc4NShlKXtlLmV4cG9ydHM9WyJHYW1iaWEiXX0sNzk1OTUxKGUpe2UuZXhwb3J0cz1bIkdlb3JnaWEiXX0sNDk4Njc5KGUpe2UuZXhwb3J0cz1bIkdoYW5hIl19LDc3MTAxNyhlKXtlLmV4cG9ydHM9WyJHaWJyYWx0YXIiXX0sNjgyNjY5KGUpe2UuZXhwb3J0cz1bIkdyZWVuIl19LDQ1OTQwMihlKXtlLmV4cG9ydHM9WyJHcmVlbiBsaXN0Il19LDMxODM5OShlKXtlLmV4cG9ydHM9WyJHcmVlbmxhbmQiXX0sNzkzMjg5KGUpe2UuZXhwb3J0cz1bIkdyZWVjZSJdfSw5MzIwODYoZSl7ZS5leHBvcnRzPVsiR3JlbmFkYSJdfSwyNDIxMTYoZSl7ZS5leHBvcnRzPVsiR3V5YW5hIl19LDE2NDg3NyhlKXtlLmV4cG9ydHM9WyJHdWFkZWxvdXBlIl19LDU0NDMyNShlKXtlLmV4cG9ydHM9WyJHdWFtIl19LDg3NzQ4NyhlKXtlLmV4cG9ydHM9WyJHdWF0ZW1hbGEiXX0sNDA4OTE2KGUpe2UuZXhwb3J0cz1bIkd1ZXJuc2V5Il19LDQzNjQ1NShlKXtlLmV4cG9ydHM9WyJHdWluZWEiXX0sMzA4MjI5KGUpe2UuZXhwb3J0cz1bIkd1aW5lYS1CaXNzYXUiXX0sOTU4OTUxKGUpe2UuZXhwb3J0cz1bIkRvaW5nIHRoaXMgd2lsbCB1bmZsYWcgYWxsIHN5bWJvbHMgZnJvbSBhbGwgeW91ciB3YXRjaGxpc3RzLiJdfSw0OTUzNjkoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHVuZmxhZyBzZWxlY3RlZCBzeW1ib2xzIGZyb20geW91ciB3YXRjaGxpc3QuIl19LDE5NDMyNihlKXtlLmV4cG9ydHM9WyJEb21pbmljYSJdfSw4MTg2MDQoZSl7ZS5leHBvcnRzPVsiRG9taW5pY2FuIFJlcHVibGljIl19LDM5Nzk4NyhlKXtlLmV4cG9ydHM9WyJEZXNjcmlwdGlvbiJdfSw1MDc3OTgoZSl7ZS5leHBvcnRzPVsiRGppYm91dGkiXX0sNDEzMzk3KGUpe2UuZXhwb3J0cz1bIkVjdWFkb3IiXX0sMTc2Mzc4KGUpe2UuZXhwb3J0cz1bIkVjb25vbXkiXX0sODgwODcyKGUpe2UuZXhwb3J0cz1bIkVsIFNhbHZhZG9yIl19LDc0NjUyNChlKXtlLmV4cG9ydHM9WyJFcXVhdG9yaWFsIEd1aW5lYSJdfSw3MzA4NzMoZSl7ZS5leHBvcnRzPVsiRXJpdHJlYSJdfSw4NzIzOChlKXtlLmV4cG9ydHM9WyJFcnJvciJdfSw4OTgzMDMoZSl7ZS5leHBvcnRzPVsiRXN3YXRpbmkiXX0sMzMxOTEoZSl7ZS5leHBvcnRzPVsiRXRoaW9waWEiXX0sOTUyMzY3KGUpe2UuZXhwb3J0cz1bIkV1cm9wZSJdfSw1MzUxNDYoZSl7ZS5leHBvcnRzPVsiRXVyb3BlYW4gVW5pb24iXX0sMjU1MDkzKGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDQ5NzU2OShlKXtlLmV4cG9ydHM9WyJGb3JleCAmIENGRCJdfSw5OTM0NzUoZSl7CmUuZXhwb3J0cz1bIkZhbGtsYW5kIElzbGFuZHMiXX0sNjA3NzIzKGUpe2UuZXhwb3J0cz1bIkZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKSJdfSw0NTI0ODcoZSl7ZS5leHBvcnRzPVsiRmFyb2UgSXNsYW5kcyJdfSw5NjY0NzUoZSl7ZS5leHBvcnRzPVsiRmVhdHVyZWQiXX0sMTUyNDA5KGUpe2UuZXhwb3J0cz1bIkZpamkiXX0sMzA4MzkoZSl7ZS5leHBvcnRzPVsiRmxhZyB7c3ltYm9sfSJdfSw5NzYwNzkoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIEd1aWFuYSJdfSw4NjM4MjUoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIFBvbHluZXNpYSJdfSwzMjg2MDcoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzIl19LDk0MzkwMyhlKXtlLmV4cG9ydHM9WyJGdXR1cmVzIl19LDQ4MDQ2MShlKXtlLmV4cG9ydHM9WyJGdW5kcyJdfSw2NzY4NihlKXtlLmV4cG9ydHM9WyJLb3Nvdm8iXX0sMjc3NTYwKGUpe2UuZXhwb3J0cz1bIkthemFraHN0YW4iXX0sNDQ2MjkzKGUpe2UuZXhwb3J0cz1bIktpcmliYXRpIl19LDQ1ODY2MChlKXtlLmV4cG9ydHM9WyJLeXJneXpzdGFuIl19LDEyNzQ5KGUpe2UuZXhwb3J0cz1bIkhvbHkgU2VlIl19LDIwMjgxNihlKXtlLmV4cG9ydHM9WyJIb25kdXJhcyJdfSw4OTQ3MDkoZSl7ZS5leHBvcnRzPVsiSGFpdGkiXX0sMjM2MTIzKGUpe2UuZXhwb3J0cz1bIkhlYXJkIElzbGFuZCBhbmQgTWNEb25hbGQgSXNsYW5kcyJdfSw1NjI2NjcoZSl7ZS5leHBvcnRzPVsiSW5kaWNlcyJdfSwzNzE3NDYoZSl7ZS5leHBvcnRzPVsiSXJhcSJdfSwyMDc4MjUoZSl7ZS5leHBvcnRzPVsiSXNsZSBvZiBNYW4iXX0sODQxNzk5KGUpe2UuZXhwb3J0cz1bIklzc3VlIFdpdGggRmxhZ2dpbmciXX0sNTgzMDA5KGUpe2UuZXhwb3J0cz1bIkpvcmRhbiJdfSwxNjM1KGUpe2UuZXhwb3J0cz1bIkphbWFpY2EiXX0sMTE4NTk4KGUpe2UuZXhwb3J0cz1bIkplcnNleSJdfSw0MDIzMjQoZSl7ZS5leHBvcnRzPVsiT0siXX0sMjg1MjkzKGUpe2UuZXhwb3J0cz1bIk9tYW4iXX0sMjg1MTMxKGUpe2UuZXhwb3J0cz1bIk9vcHMhIFRoZXJlJ3Mgbm90aGluZyBoZXJlIGZvciB0aGlzIHNlbGVjdGVkIG9wdGlvbiBzZXJpZXMiXX0sMTQ1MzQ4KGUpe2UuZXhwb3J0cz1bIk9rLCB0aGFua3MiXX0sNTg3NDY0KGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMiXX0sOTcxMjgzKGUpe2UuZXhwb3J0cz1bIk9yYW5nZSJdfSw1MDYzMzAoZSl7ZS5leHBvcnRzPVsiT3JhbmdlIGxpc3QiXX0sOTcwOTA5KGUpe2UuZXhwb3J0cz1bIk90aGVycyJdfSw1OTExODAoZSl7ZS5leHBvcnRzPVsiTGFvcyJdfSw5NDU2MTMoZSl7ZS5leHBvcnRzPVsiTGViYW5vbiJdfSw2NTMzOTUoZSl7ZS5leHBvcnRzPVsiTGVzb3RobyJdfSw2NjIxKGUpe2UuZXhwb3J0cz1bIkxpYmVyaWEiXX0sNTU1MzUyKGUpe2UuZXhwb3J0cz1bIkxpYnlhIl19LDM4NjY2NyhlKXtlLmV4cG9ydHM9WyJMaWVjaHRlbnN0ZWluIl19LDEwMDAyNihlKXtlLmV4cG9ydHM9WyJNb3phbWJpcXVlIl19LDMyMTMzNihlKXtlLmV4cG9ydHM9WyJNb2xkb3ZhIl19LDIwODkwNChlKXtlLmV4cG9ydHM9WyJNb25hY28iXX0sOTEzNzA5KGUpe2UuZXhwb3J0cz1bIk1vbmdvbGlhIl19LDczOTM2NShlKXtlLmV4cG9ydHM9WyJNb250ZW5lZ3JvIl19LDMzMzI2MihlKXtlLmV4cG9ydHM9WyJNb250c2VycmF0Il19LDM5NDk0NyhlKXtlLmV4cG9ydHM9WyJNb3JlIl19LDY2Nzk5NihlKXtlLmV4cG9ydHM9WyJNYXVyaXRhbmlhIl19LDE1MDA1NChlKXtlLmV4cG9ydHM9WyJNYXVyaXRpdXMiXX0sNDgzMTQ5KGUpe2UuZXhwb3J0cz1bIk1heW90dGUiXX0sMzA3MDYyKGUpe2UuZXhwb3J0cz1bIk1hY2FvIl19LDUzMjI2OShlKXtlLmV4cG9ydHM9WyJNYWNhdSwgQ2hpbmEiXX0sNDU5MTA4KGUpe2UuZXhwb3J0cz1bIk1hY2Vkb25pYSJdfSw2NjAxODgoZSl7ZS5leHBvcnRzPVsiTWFkYWdhc2NhciJdfSwyNDU5NDgoZSl7ZS5leHBvcnRzPVsiTWFsYXdpIl19LDMzMTYxNShlKXtlLmV4cG9ydHM9WyJNYWxkaXZlcyJdfSw2MjM0NjUoZSl7ZS5leHBvcnRzPVsiTWFsaSJdfSw0Nzc4NDMoZSl7ZS5leHBvcnRzPVsiTWFyc2hhbGwgSXNsYW5kcyJdfSwxMzUxNTIoZSl7ZS5leHBvcnRzPVsiTWFydGluaXF1ZSJdfSw1OTgyNDcoZSl7ZS5leHBvcnRzPVsiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIl19LDI5MTA5OChlKXtlLmV4cG9ydHM9WyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSJdfSw2ODU3NTEoZSl7ZS5leHBvcnRzPVsiTWlkZGxlIEVhc3QiXX0sNjAzMDY1KGUpe2UuZXhwb3J0cz1bIk1pZGRsZSBFYXN0IC8gQWZyaWNhIl19LDIzOTQzKGUpe2UuZXhwb3J0cz1bIk15YW5tYXIiXX0sNzQ0ODcwKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgZm9yIHRoaXMgc3ltYm9sIl19LDQ3MjI5OShlKXtlLmV4cG9ydHM9WyJObyBleGNoYW5nZXMgbWF0Y2ggeW91ciBjcml0ZXJpYSJdfSw0MTc3NyhlKXtlLmV4cG9ydHM9WyJObyBzeW1ib2xzIG1hdGNoIHlvdXIgY3JpdGVyaWEiXX0sNjg5NzE2KGUpe2UuZXhwb3J0cz1bIk5vcnRoIEFtZXJpY2EiXX0sNzI5NzgyKGUpe2UuZXhwb3J0cz1bIk5vcnRoIE1hY2Vkb25pYSJdfSw2MTI1NTcoZSl7ZS5leHBvcnRzPVsiTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIl19LDQ3MzQzNyhlKXtlLmV4cG9ydHM9WyJOYXVydSJdfSw1NzA2MTgoZSl7ZS5leHBvcnRzPVsiTmFtaWJpYSJdfSwyNDk1ODgoZSl7ZS5leHBvcnRzPVsiTmV3IENhbGVkb25pYSJdfSw0NzEyODgoZSl7ZS5leHBvcnRzPVsiTmVwYWwiXX0sOTA3NDcwKGUpe2UuZXhwb3J0cz1bIk5pdWUiXX0sNjIzNDQwKGUpe2UuZXhwb3J0cz1bIk5pY2FyYWd1YSJdfSw1OTIxODkoZSl7ZS5leHBvcnRzPVsiTmlnZXIiXX0sNzk1MDIxKGUpe2UuZXhwb3J0cz1bIlNJTlQgTUFBUlRFTiAoRFVUQ0ggUEFSVCkiXX0sNDg2NzE0KGUpe2UuZXhwb3J0cz1bIlNvdXJjZXMiXX0sNDQ3ODU0KGUpe2UuZXhwb3J0cz1bIlNvdXRoIEdlb3JnaWEgYW5kIHRoZSBTb3V0aCBTYW5kd2ljaCBJc2xhbmRzIl19LDQ1NzE4NihlKXtlLmV4cG9ydHM9WyJTb3V0aCBTdWRhbiJdfSwxODE3OChlKXsKZS5leHBvcnRzPVsiU29sb21vbiBJc2xhbmRzIl19LDYwMDU3KGUpe2UuZXhwb3J0cz1bIlNvbWFsaWEiXX0sMTk5NDgzKGUpe2UuZXhwb3J0cz1bIlNhaW50IEJhcnRow6lsZW15Il19LDU3Njk3NShlKXtlLmV4cG9ydHM9WyJTYWludCBLaXR0cyBhbmQgTmV2aXMiXX0sOTU1ODM1KGUpe2UuZXhwb3J0cz1bIlNhaW50IEhlbGVuYSwgQXNjZW5zaW9uIGFuZCBUcmlzdGFuIGRhIEN1bmhhIl19LDI1ODMxMShlKXtlLmV4cG9ydHM9WyJTYWludCBMdWNpYSJdfSw0MjUwNjQoZSl7ZS5leHBvcnRzPVsiU2FpbnQgTWFydGluIChGcmVuY2ggcGFydCkiXX0sNzk3MDM1KGUpe2UuZXhwb3J0cz1bIlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24iXX0sNjIyNjEzKGUpe2UuZXhwb3J0cz1bIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIl19LDU5ODk2MyhlKXtlLmV4cG9ydHM9WyJTYW1vYSJdfSw5OTk3NjIoZSl7ZS5leHBvcnRzPVsiU2FuIE1hcmlubyJdfSwyNzkzODIoZSl7ZS5leHBvcnRzPVsiU2FvIFRvbWUgYW5kIFByaW5jaXBlIl19LDUwNjkxNShlKXtlLmV4cG9ydHM9WyJTZXQge2NvbG9yfSBmbGFnIl19LDQyMDgyMShlKXtlLmV4cG9ydHM9WyJTZXljaGVsbGVzIl19LDM1MjEyNyhlKXtlLmV4cG9ydHM9WyJTZWFyY2giXX0sNDc5MjQ2KGUpe2UuZXhwb3J0cz1bIlNlbGVjdCBzb3VyY2UiXX0sMjI0Mjg5KGUpe2UuZXhwb3J0cz1bIlNlbmVnYWwiXX0sNTg5MDcyKGUpe2UuZXhwb3J0cz1bIlNob3cgdGhlIG1hcmtldHMgeW91IGNhbiBwbGFjZSBhbiBvcmRlciB3aXRoIHticm9rZXJOYW1lfSJdfSw2MjE0MzAoZSl7ZS5leHBvcnRzPVsiU2hvdyBtZSJdfSwxNjQ5OTIoZSl7ZS5leHBvcnRzPVsiU2llcnJhIExlb25lIl19LDczNjQwKGUpe2UuZXhwb3J0cz1bIlNpbnQgTWFhcnRlbiAoRHV0Y2ggcGFydCkiXX0sNTIyMDE0KGUpe2UuZXhwb3J0cz1bIlN0b2NrcyJdfSw5NzQ0MDQoZSl7ZS5leHBvcnRzPVsiU3VkYW4iXX0sODE4ODM3KGUpe2UuZXhwb3J0cz1bIlN1cmluYW1lIl19LDk3MzkxNShlKXtlLmV4cG9ydHM9WyJTdmFsYmFyZCBhbmQgSmFuIE1heWVuIl19LDYxMzE2MyhlKXtlLmV4cG9ydHM9WyJTeW1ib2wiXX0sMTAwMzczKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCAmIGRlc2NyaXB0aW9uIl19LDQwNjAxMyhlKXtlLmV4cG9ydHM9WyJTeW1ib2wgbm90IGZvdW5kIG9uIHtleGNoYW5nZU5hbWV9Il19LDk2MTYxNChlKXtlLmV4cG9ydHM9WyJTeW1ib2wgZ3JvdXAiXX0sMjEzMjk5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCwgSVNJTiwgb3IgQ1VTSVAiXX0sMjcxODQwKGUpe2UuZXhwb3J0cz1bIlN5bWJvbHMgbm90IGZvdW5kIGluIHtzeW1ib2xUeXBlfSJdfSw0ODg1OTkoZSl7ZS5leHBvcnRzPVsiU3ltYm9scyBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9IG9uIHtleGNoYW5nZU5hbWV9Il19LDQ2NTYwNihlKXtlLmV4cG9ydHM9WyJTeW1ib2xzIG5vdCBmb3VuZCBpbiB7c3ltYm9sVHlwZX0gd2l0aCBzdWNoIGNyaXRlcmlhIl19LDI3NDQ4NShlKXtlLmV4cG9ydHM9WyJTeXJpYSJdfSw5OTA1NzUoZSl7ZS5leHBvcnRzPVsiUGFjaWZpYyJdfSw3OTg0NzYoZSl7ZS5leHBvcnRzPVsiUGFsYXUiXX0sNjk4MDgzKGUpe2UuZXhwb3J0cz1bIlBhbGVzdGluZSwgU3RhdGUgb2YiXX0sMTAwNzI5KGUpe2UuZXhwb3J0cz1bIlBhbmFtYSJdfSw3MjU2OTcoZSl7ZS5leHBvcnRzPVsiUGFwdWEgTmV3IEd1aW5lYSJdfSw0MjAxMzUoZSl7ZS5leHBvcnRzPVsiUGFyYWd1YXkiXX0sMzg0MzgyKGUpe2UuZXhwb3J0cz1bIlBpdGNhaXJuIl19LDY3Njc2OChlKXtlLmV4cG9ydHM9WyJQaW5rIl19LDk0MTk4NihlKXtlLmV4cG9ydHM9WyJQaW5rIGxpc3QiXX0sNTUyMDk1KGUpe2UuZXhwb3J0cz1bIlByaW1hcnkgZXhjaGFuZ2UiXX0sODQzMzI3KGUpe2UuZXhwb3J0cz1bIlB1ZXJ0byBSaWNvIl19LDY3MDkyMyhlKXtlLmV4cG9ydHM9WyJQdXJwbGUiXX0sOTA3ODc0KGUpe2UuZXhwb3J0cz1bIlB1cnBsZSBsaXN0Il19LDY1NTA0MihlKXtlLmV4cG9ydHM9WyJSZWQiXX0sMTY1NTAxKGUpe2UuZXhwb3J0cz1bIlJlZCBsaXN0Il19LDk2ODA0NyhlKXtlLmV4cG9ydHM9WyJSZW1vdmUgZnJvbSBXYXRjaGxpc3QiXX0sNzU0MzgyKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBzZWxlY3RlZCBlbW9qaSJdfSw5MjQzMjgoZSl7ZS5leHBvcnRzPVsiUmVzZXQgYWxsIGZpbHRlcnMiXX0sOTcyMTczKGUpe2UuZXhwb3J0cz1bIlJlc2V0IHNvbWUgY3JpdGVyaWEgdG8gc2hvdyBzeW1ib2xzIGluIHtzeW1ib2xUeXBlfSJdfSw5MzQ4ODMoZSl7ZS5leHBvcnRzPVsiUnVzc2lhIl19LDc1ODI5NyhlKXtlLmV4cG9ydHM9WyJSd2FuZGEiXX0sODcyNjgwKGUpe2UuZXhwb3J0cz1bIlLDqXVuaW9uIl19LDUxMzk1MyhlKXtlLmV4cG9ydHM9WyJXb3JsZHdpZGUiXX0sNTY2OTQ4KGUpe2UuZXhwb3J0cz1bIldhdGNobGlzdCBjYW5ub3QgdGFrZSBhbnltb3JlLCBDYXAnbiJdfSwzODIwMjUoZSl7ZS5leHBvcnRzPVsiV2F0Y2hsaXN0IGVycm9yIl19LDU5MDUwNShlKXtlLmV4cG9ydHM9WyJXYWxsaXMgYW5kIEZ1dHVuYSJdfSw4ODEyNzcoZSl7ZS5leHBvcnRzPVsiV2VzdGVybiBTYWhhcmEiXX0sMzI4ODI4KGUpe2UuZXhwb3J0cz1bIldob2EgdGhlcmUsIHlvdSBjYW4ndCBnbyBhZGRpbmcgb3ZlciB7bnVtYmVyfSBzeW1ib2xzIGFuZCBzZXBhcmF0b3JzIHRvIGEgd2F0Y2hsaXN0IOKAkyB3ZSdyZSBlbmdpbmVlcnMgbm90IG1pcmFjbGUgd29ya2Vycy4iXX0sNjE0NDUwKGUpe2UuZXhwb3J0cz1bIlRvZGF5Il19LDgzMjQ0OChlKXtlLmV4cG9ydHM9WyJUb2dvIl19LDk0MDQ4MyhlKXtlLmV4cG9ydHM9WyJUb21vcnJvdyJdfSwyNTA1NTUoZSl7ZS5leHBvcnRzPVsiVG9uZ2EiXX0sOTY4NDU4KGUpe2UuZXhwb3J0cz1bIlRhamlraXN0YW4iXX0sNDk4MTgzKGUpe2UuZXhwb3J0cz1bIlRhbnphbmlhIl19LDgwMzA1MShlKXtlLmV4cG9ydHM9WyJUaW1vci1MZXN0ZSJdfSwzMzU2NzMoZSl7ZS5leHBvcnRzPVsiVHJ5IGFnYWluIGJ5IHNlbGVjdGluZyBhbm90aGVyIGV4cGlyYXRpb24gZGF0ZS4iXX0sOTg0MjM2KGUpewplLmV4cG9ydHM9WyJUcnkgc2VsZWN0aW5nIGFub3RoZXIgc3ltYm9sLiJdfSwzMTQ4NyhlKXtlLmV4cG9ydHM9WyJUcmluaWRhZCBhbmQgVG9iYWdvIl19LDQzMDEzNChlKXtlLmV4cG9ydHM9WyJUdXZhbHUiXX0sNzM1NjgzKGUpe2UuZXhwb3J0cz1bIlR1cmttZW5pc3RhbiJdfSw5NzA2MjQoZSl7ZS5leHBvcnRzPVsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIl19LDE5MjkxMChlKXtlLmV4cG9ydHM9WyJUeXBlIHRvIHNlYXJjaCBmb3Igc3ltYm9sIl19LDQzMTM3NyhlKXtlLmV4cG9ydHM9WyJVLlMuIFZpcmdpbiBJc2xhbmRzIl19LDg2MDcyMihlKXtlLmV4cG9ydHM9WyJVbmFibGUgdG8gZmxhZyBhbGwgc2VsZWN0ZWQgc3ltYm9scyBzaW5jZSBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIGFtb3VudCAoe2xpbWl0fSkuIl19LDMzMjc1MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgQWxsIFN5bWJvbHMgaW4gdGhlIFN5c3RlbSJdfSw2OTIxKGUpe2UuZXhwb3J0cz1bIlVuZmxhZyB7c3ltYm9sfSJdfSw5Njc5NDEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyJdfSw3MzY3OTkoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIl19LDU4ODY5MyhlKXtlLmV4cG9ydHM9WyJVZ2FuZGEiXX0sMzE3NDc1KGUpe2UuZXhwb3J0cz1bIlVrcmFpbmUiXX0sOTI4NTUzKGUpe2UuZXhwb3J0cz1bIlVydWd1YXkiXX0sNTQyNjA5KGUpe2UuZXhwb3J0cz1bIlVzZSB0aGUgYXJyb3dzIG9yIG1vdXNlIHRvIG5hdmlnYXRlIHRocm91Z2ggdGhlIGNoYWluLiBQcmVzcyBFbnRlciBvciBjbGljayB0byBzZWxlY3QgYW5kIG9wZW4gdGhlIGNoYXJ0LiJdfSw3ODM5NzAoZSl7ZS5leHBvcnRzPVsiVXpiZWtpc3RhbiJdfSw0MTYyNTcoZSl7ZS5leHBvcnRzPVsiVmFudWF0dSJdfSw0MjMyMDYoZSl7ZS5leHBvcnRzPVsiVmlyZ2luIElzbGFuZHMgKEJyaXRpc2gpIl19LDMwMTIyOShlKXtlLmV4cG9ydHM9WyJWaXJnaW4gSXNsYW5kcyAoVS5TLikiXX0sNDA5Mzg0KGUpe2UuZXhwb3J0cz1bIlllbWVuIl19LDk2NTU3MyhlKXtlLmV4cG9ydHM9WyJZZXN0ZXJkYXkiXX0sODY3MzkzKGUpe2UuZXhwb3J0cz1bIlphbWJpYSJdfSw5NTkxNTUoZSl7ZS5leHBvcnRzPVsiWmltYmFid2UiXX0sNzYyOTIyKGUpe2UuZXhwb3J0cz1bImNvbW1vZGl0eSJdfSwyMDgwMTcoZSl7ZS5leHBvcnRzPVsiY2ZkIl19LDk5MTA1OShlKXtlLmV4cG9ydHM9WyJjcnlwdG8iXX0sOTc0MjY0KGUpe2UuZXhwb3J0cz1bImRyIl19LDk5Njg4MihlKXtlLmV4cG9ydHM9WyJlY29ub215Il19LDg3MzU5NyhlKXtlLmV4cG9ydHM9WyJmb3JleCJdfSw4MDY3MjcoZSl7ZS5leHBvcnRzPVsiZnV0dXJlcyJdfSw2NTg5MjYoZSl7ZS5leHBvcnRzPVsiaW5kZXgiXX0sMTUxNjEoZSl7ZS5leHBvcnRzPVsiaW5kaWNlcyJdfSwzNjQ2MjUoZSl7ZS5leHBvcnRzPVsic3RvY2siXX0sOTAxNTI3KGUpe2UuZXhwb3J0cz1bIntzeW1ib2xOYW1lfSBPcHRpb25zIl19LDUzNDEzMihlKXtlLmV4cG9ydHM9WyJ7c3ltYm9sfSBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9Il19LDIwMzA4NShlKXtlLmV4cG9ydHM9WyJ7c3ltYm9sfSBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9IHdpdGggc3VjaCBjcml0ZXJpYSJdfSw5MDY1NTQoZSl7ZS5leHBvcnRzPVsiw4VsYW5kIElzbGFuZHMiXX0sNTUwMjYoZSl7ZS5leHBvcnRzPVsiJWQgZGF5IiwiJWQgZGF5cyJdfSwxNjk4MyhlKXtlLmV4cG9ydHM9WyJEb2luZyB0aGlzIHdpbGwgcmVtb3ZlIHtjb3VudH0gc2VsZWN0ZWQgc3ltYm9sIGZyb20geW91ciB3YXRjaGxpc3QuIiwiRG9pbmcgdGhpcyB3aWxsIHJlbW92ZSB7Y291bnR9IHNlbGVjdGVkIHN5bWJvbHMgZnJvbSB5b3VyIHdhdGNobGlzdC4iXX0sNDM4Nzc1KGUpe2UuZXhwb3J0cz1bIlRoZXJlIGlzIGFsc28ge2NvdW50fSBzeW1ib2wgaW4gb3RoZXIgbWFya2V0cyIsIlRoZXJlIGFyZSBhbHNvIHtjb3VudH0gc3ltYm9scyBpbiBvdGhlciBtYXJrZXRzIl19LDEwMTIyOChlKXtlLmV4cG9ydHM9WyJ7bWF0Y2hpbmdDb3VudH0gbWF0Y2hpbmcgc3ltYm9sIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyIsInttYXRjaGluZ0NvdW50fSBtYXRjaGluZyBzeW1ib2xzIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyJdfX1dKTs="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.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://huobiget.com/","date":"2026-07-27T07:21:40.220Z","timestamp":1785136900220,"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/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.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://huobiget.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: 37756\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 18:07:05 GMT\r\nexpires: Sat, 24 Jul 2027 18:07:05 GMT\r\ncache-control: public, max-age=31536000\r\nage: 220475\r\nlast-modified: Thu, 04 Sep 2025 17:09:21 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":37756,"size_decoded":38569,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 37756, version 1.0","md5":"8a6a885dd57e60ddd85f3190737fa209","sha1":"dbca56b7fe8ee5e4bfb648d639fc6a3bfc5c6e85","sha256":"b9b102f608e8252e3c1e7287309832b16af7dcc6e788651fa503a3faacd7fb2f","sha512":"2bd785869777dc57dbb5934d4c6915b66f89746dd79897820eb4bbd0d262b2612bafdfb07c1e092658ad819f582a97e6a196531f74187d8a0b0bbd07fcbba56a","ssdeep":"768:sqRKhgpCf9U72WeD4A/5IqtBr0ikGvEaQh38/LBu3Emdc043RpgZKMqjkEfO1m:jKgp+9U7Ve8A/7Ai9Et3EBKEUE3RqMMu","tlshash":"3e030130df5884edcc0ba371fdeea81fc7a332a594c0b3368297af1b80111499d99e49","first_seen":"2025-09-05T00:25:10.258656Z","last_seen":"2026-08-10T09:48:31.938276Z","times_seen":548139,"resource_available":false,"data":"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"}},"time_used":81,"timings":{"blocked":10,"dns":0,"connect":0,"send":0,"wait":38,"receive":33,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/46907.c5af8aa7b5082b1875a5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.255Z","timestamp":1785136901255,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/46907.c5af8aa7b5082b1875a5.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 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: 09d54c52073f56f90d5ba4815c6fb5b8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1724,"size_decoded":1396,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1724), with no line terminators","md5":"8212d60d44748bb18233778e23b8f7b2","sha1":"35debdd9067ec06aa3648e5d7a9cddde39873397","sha256":"cc31664050fc2b670129f7e7d1a11bda8d20efa47a713598bbb96d4da6e297ba","sha512":"3f0235fe9fb761707020a01990077cf65fd4d774216e7d49fe218ea8e4ffa73a0d3d662536e662eb978f3d790446e7ee75ab139468bc6a0371653a48512aa994","ssdeep":"","tlshash":"d931cc75936ad2387a770b376241558a3199f64773730239e680bda881e16ba3b333c4","first_seen":"2026-07-16T11:36:17.893966Z","last_seen":"2026-08-03T09:16:28.399983Z","times_seen":2410,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQUVROTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUFFUTk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LndyYXBwZXItaGN0MnlKdkt7Y29sb3I6dmFyKC0tXzAtQUVROSl9LmFuaW1hdGVkLWhjdDJ5SnZLe2FuaW1hdGlvbjoxcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGUgbm9uZSBydW5uaW5nO2FuaW1hdGlvbi1uYW1lOnB1bHNhdGlvbi1oY3QyeUp2S31Aa2V5ZnJhbWVzIHB1bHNhdGlvbi1oY3QyeUp2S3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTouNH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX19ycTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1fX3JxOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtX19ycTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8xLV9fcnE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmxvZ28tVkNOS3ViV3F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9nby1WQ05LdWJXcTpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLV9fcnEpfS5oaWRkZW4tVkNOS3ViV3F7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlfS54eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3F7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEycHg7bGluZS1oZWlnaHQ6MTBweDttaW4td2lkdGg6MTJweDt3aWR0aDoxMnB4fS54eHhzbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTFweDtoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoxOHB4O3dpZHRoOjE4cHh9Lnh4c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt3aWR0aDoyMHB4fS54c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjRweDt3aWR0aDoyNHB4fS5zbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTRweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoyOHB4O3dpZHRoOjI4cHh9Lm1lZGl1bS1WQ05LdWJXcXtmb250LXNpemU6MTZweDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDozNnB4O3dpZHRoOjM2cHh9LmxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToyNHB4O2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjMycHg7bWluLXdpZHRoOjQ4cHg7d2lkdGg6NDhweH0ueGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZTo0MHB4O2hlaWdodDo1NnB4O2xpbmUtaGVpZ2h0OjQwcHg7bWluLXdpZHRoOjU2cHg7d2lkdGg6NTZweH0ueHhsYXJnZS1WQ05LdWJXcXtmb250LXNpemU6ODBweDtoZWlnaHQ6MTEycHg7bGluZS1oZWlnaHQ6ODBweDttaW4td2lkdGg6MTEycHg7d2lkdGg6MTEycHh9Lnh4eGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToxNjBweDtoZWlnaHQ6MTY4cHg7bGluZS1oZWlnaHQ6MTYwcHg7bWluLXdpZHRoOjE2OHB4O3dpZHRoOjE2OHB4fS5za2VsZXRvbi1WQ05LdWJXcXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubGV0dGVyLVZDTkt1Yldxe2NvbG9yOnZhcigtLV8wLV9fcnEpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.22510.c6272459a17c5398fd7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.686Z","timestamp":1785136901686,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.22510.c6272459a17c5398fd7b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-dd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ca3d3947b30389325fd167e6a8121c3d\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":221,"size_decoded":957,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6c6c88b45a73669efaf42c1d23109bd6","sha1":"436efe5bac23cb6e61761f6ca2f625eb2bd05c43","sha256":"24f8d2b3db85b1adf9680eac2aecc1bdae2d614e4af27d8f1c977a97af861c18","sha512":"a1cae379741ea70a2f6d31f79de4a9ac3b5ef084207b06a5a6238b4dc5c8a38fe401c62c5b95f25478d60ed7a24806226720d381990de06e495774959d3cbe35","ssdeep":"","tlshash":"d0d01223f025e8e57a7a895473509ef07cb4a58411f2d4d373b48b18611692415b4e7c","first_seen":"2026-05-05T12:17:23.617466Z","last_seen":"2026-08-10T05:00:33.849255Z","times_seen":484,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMjUxMF0sezQ5OTM5MihlKXtlLmV4cG9ydHM9WyJBIl19LDQyMDE4NihlKXtlLmV4cG9ydHM9WyJMIl19LDM3MjcxOShlKXtlLmV4cG9ydHM9WyJUb2dnbGUgYXV0byBzY2FsZSJdfSwyMDY0NTEoZSl7ZS5leHBvcnRzPVsiVG9nZ2xlIGxvZyBzY2FsZSJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.895Z","timestamp":1785136901895,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4efd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 51be744730fbb412083c4a8a5da72595\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":20221,"size_decoded":8618,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"146c86b697d57edadedb79e577a2b819","sha1":"fac3ccefeac950dd75b09bf983e4db643acb17cf","sha256":"e7c1e85bb4c79e48526d268113263cbed1b8dc51caa0f7ece95022ce45c6426a","sha512":"0c8f76ba43c26ac96ac8ce77228656bc32000075828146c8e3f5f6c8d83aa1124958db4a287753456a136751fe65d9fc935c7e8efead69cb7bc5587e6f54cd75","ssdeep":"384:IPLZpvbUA+tmPj2DF4ciyLHBoIUEDHfKXqEVKtwAqXrNc2G/p5RuePAU32wDP7Fb:IT78mPj0FHLHevUfKa+EwBxnJePTr6Y","tlshash":"a29219c260053875dddf6eef405b45ade33e243538055499b238adec02a9a5873a7f2f","first_seen":"2026-07-22T11:33:41.962494Z","last_seen":"2026-07-29T11:04:57.500007Z","times_seen":319,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MjI4OF0sezIwMjA0MShlKXtlLmV4cG9ydHM9e2hpZGRlbjoiaGlkZGVuLW5NdHhYVFhfIixmYWRlSW5XcmFwcGVyOiJmYWRlSW5XcmFwcGVyLW5NdHhYVFhfIixpc0FuaW1hdGVkOiJpc0FuaW1hdGVkLW5NdHhYVFhfIn19LDU2NzI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZhZGVJbkNvbnRleHQ6KCk9PnJ9KTt2YXIgaT1uKDc3OTQ3NCk7big5MTQ0ODcpLG4oMjAyMDQxKTtjb25zdCBvPWkuY3JlYXRlQ29udGV4dCh7Y2hpbGRyZW46e30sc2V0SXNSZWFkeTooKT0+e319KTtmdW5jdGlvbiByKCl7Y29uc3R7c2V0SXNSZWFkeTplLGNoaWxkcmVuOnR9PSgwLGkudXNlQ29udGV4dCkobyksbj0oMCxpLnVzZVJlZikoKDAsaS51c2VJZCkoKSk7dFtuLmN1cnJlbnRdfHwodFtuLmN1cnJlbnRdPXtpc1JlYWR5OiExfSk7cmV0dXJuKDAsaS51c2VDYWxsYmFjaykoKCgpPT57dFtuLmN1cnJlbnRdLmlzUmVhZHk9ITAsZShPYmplY3QudmFsdWVzKHQpLmV2ZXJ5KChlPT5lLmlzUmVhZHkpKSl9KSxbdCxlXSl9fSwxODM1NzIoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtuLmQodCx7Q29sbGFwc2VEaXJlY3Rpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlLlN0YXJ0Rmlyc3Q9InN0YXJ0LWZpcnN0IixlLkVuZEZpcnN0PSJlbmQtZmlyc3QifShpfHwoaT17fSkpfSwxMzc2NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29sbGFwc2libGVDb21tb246KCk9PmN9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDcxOTQyNSkscj1uKDMxNDcyMCkscz1uKDk5MTA5MSksbD1uKDYxNjMxMSksYT1uKDk2NDU5NCk7ZnVuY3Rpb24gYyhlKXtjb25zdHtpdGVtc0xpc3Q6dCxnZXRJdGVtSWQ6bixjYWxjVmlzaWJsZUFuZEhpZGRlbkl0ZW1zOmMsc2hvdWxkS2VlcEl0ZW1WaXNpYmxlOmQsb25NZWFzdXJlQ2FsbGJhY2s6Zixmb3JjZVVwZGF0ZTpiPSExfT1lLFtoLG1dPSgwLHMudXNlUmVmc01hcCkoKSxwPSgwLGkudXNlUmVmKShudWxsKSx2PSgwLGkudXNlUmVmKSh7d2lkdGhzTWFwOm5ldyBNYXAsY29udGFpbmVyV2lkdGg6MCxtb3JlQnV0dG9uV2lkdGg6MH0pLFtnLEldPSgwLGkudXNlU3RhdGUpKHt2aXNpYmxlOnQsaGlkZGVuOltdfSksQz0oMCxpLnVzZU1lbW8pKCgoKT0+dC5yZWR1Y2UoKChlLHQsbik9PihkKHQpJiZlLnB1c2gobiksZSkpLFtdKSksW3QsZF0pLFI9KDAsaS51c2VDYWxsYmFjaykoKCgpPT57aWYodi5jdXJyZW50LmNvbnRhaW5lcldpZHRoKXtjb25zdCBlPWModi5jdXJyZW50LEMpOyhmdW5jdGlvbihlLHQpe3JldHVybiF1KGUudmlzaWJsZSx0LnZpc2libGUpfHwhdShlLmhpZGRlbix0LmhpZGRlbil9KShnLGUpJiZJKGUpfX0pLFt2LEksZyxDLGNdKSxTPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e3YuY3VycmVudC5tb3JlQnV0dG9uV2lkdGg9cC5jdXJyZW50PygwLHIub3V0ZXJXaWR0aCkocC5jdXJyZW50LCEwKTowO2NvbnN0IGU9bmV3IE1hcCh2LmN1cnJlbnQud2lkdGhzTWFwKTtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PW4oaSksbz1oLmN1cnJlbnQuZ2V0KHQpO2lmKG8pe2NvbnN0IG49KDAsci5vdXRlcldpZHRoKShvLCEwKTtlLnNldCh0LG4pfX12LmN1cnJlbnQud2lkdGhzTWFwPWUsZiYmZigpfSksW3YsdCxuLGgsZl0pLGs9KDAsaS51c2VSZWYpKG51bGwpLHk9KDAsaS51c2VDYWxsYmFjaykoKChbZV0pPT57ZS5jb250ZW50UmVjdC53aWR0aCE9PXYuY3VycmVudC5jb250YWluZXJXaWR0aCYmKGsuY3VycmVudCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoay5jdXJyZW50KSx2LmN1cnJlbnQuY29udGFpbmVyV2lkdGg9ZS5jb250ZW50UmVjdC53aWR0aCxrLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e1IoKX0pKSl9KSxbdixSXSksTT0oMCxpLnVzZVJlZikobnVsbCksSD0oMCxpLnVzZUNhbGxiYWNrKSgoKFtlXSk9PntNLmN1cnJlbnQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKE0uY3VycmVudCksUygpLE0uY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57UigpfSkpfSksW1MsUl0pLEE9KDAsby51c2VSZXNpemVPYnNlcnZlcikoSCksdz0oMCxvLnVzZVJlc2l6ZU9ic2VydmVyKSh5KSxUPSgwLGkudXNlUmVmKShudWxsKSxFPSgwLGEubWVyZ2VSZWZzKShbdyxUXSkseD0oMCxpLnVzZVJlZikodCksej0oMCxpLnVzZVJlZikoITApLEI9KDAsaS51c2VSZWYpKFtdKTtyZXR1cm4oMCxsLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9di5jdXJyZW50LndpZHRoc01hcC5zaXplPT09dC5sZW5ndGg7IWImJiF6LmN1cnJlbnQmJnUoeC5jdXJyZW50LHQpJiZ1KEIuY3VycmVudCxDKSYmZXx8KFMoKSxSKCksei5jdXJyZW50PSExLHguY3VycmVudD10LEIuY3VycmVudD1DKX0pLFt0LEMsYixTLFJdKSx7Y29udGFpbmVyUmVmQ2FsbGJhY2s6RSxtb3JlQnV0dG9uUmVmOnAsaW5uZXJDb250YWluZXJSZWZDYWxsYmFjazpBLGl0ZW1zUmVmczpoLHNldEl0ZW1SZWY6bSxoaWRkZW5JdGVtczpnLmhpZGRlbix2aXNpYmxlSXRlbXM6Zy52aXNpYmxlLGl0ZW1zTWVhc3VyZW1lbnRzOnZ9fWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gZS5sZW5ndGg9PT10Lmxlbmd0aCYmZS5yZWR1Y2UoKChlLG4saSk9PmUmJm49PT10W2ldKSwhMCl9fSw4NjgzMzkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29sbGFwc2libGU6KCk9PnN9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDE4MzU3Mikscj1uKDEzNzY2OSk7ZnVuY3Rpb24gcyhlLHQsbixzPW8uQ29sbGFwc2VEaXJlY3Rpb24uRW5kRmlyc3Qpe2NvbnN0IGw9KDAsaS51c2VDYWxsYmFjaykoKChuLGkpPT57Y29uc3Qgcj1lLm1hcCgoZT0+bi53aWR0aHNNYXAuZ2V0KHQoZSkpPz8wKSk7cmV0dXJuIGZ1bmN0aW9uKHtpdGVtczplLGNvbnRhaW5lcldpZHRoOnQsZWxlbWVudHNXaWR0aHM6bixtZW51SXRlbVdpZHRoOmksa2VlcFZpc2libGU6cixkaXJlY3Rpb246c30pe2NvbnN0IGw9Wy4uLmVdLGE9W10sYz1bXTtsZXQgdT0wO2Zvcihjb25zdCBlIG9mIG4pdSs9ZQo7aWYodTw9dClyZXR1cm57dmlzaWJsZTpsLGhpZGRlbjpjfTtjb25zdCBkPVsuLi5uXTtpZih1PXIubWFwKChlPT5kW2VdKSkucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKStpLHM9PT1vLkNvbGxhcHNlRGlyZWN0aW9uLkVuZEZpcnN0KWZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSsrKXIuaW5jbHVkZXMoZSk/YS5wdXNoKGxbZV0pOih1Kz1kW2VdLHU8PXQ/YS5wdXNoKGxbZV0pOmMucHVzaChsW2VdKSk7ZWxzZSBmb3IobGV0IGU9bC5sZW5ndGgtMTtlPj0wO2UtLSlyLmluY2x1ZGVzKGUpP2EudW5zaGlmdChsW2VdKToodSs9ZFtlXSx1PD10P2EudW5zaGlmdChsW2VdKTpjLnVuc2hpZnQobFtlXSkpO3JldHVybnt2aXNpYmxlOmEsaGlkZGVuOmN9fSh7aXRlbXM6ZSxjb250YWluZXJXaWR0aDpuLmNvbnRhaW5lcldpZHRoLGVsZW1lbnRzV2lkdGhzOnIsbWVudUl0ZW1XaWR0aDpuLm1vcmVCdXR0b25XaWR0aCxrZWVwVmlzaWJsZTppLGRpcmVjdGlvbjpzfSl9KSxbZV0pO3JldHVybigwLHIudXNlQ29sbGFwc2libGVDb21tb24pKHtpdGVtc0xpc3Q6ZSxnZXRJdGVtSWQ6dCxjYWxjVmlzaWJsZUFuZEhpZGRlbkl0ZW1zOmwsc2hvdWxkS2VlcEl0ZW1WaXNpYmxlOm59KX19LDQ1NjQ4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VEaXNjbG9zdXJlOigpPT5jfSk7dmFyIGk9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big3MjEzNjkpLHM9bigxNDU5ODQpLGw9big4MzM5MDMpLGE9big0MTkxODEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7aWQ6dCxsaXN0Ym94SWQ6bixkaXNhYmxlZDpjLGJ1dHRvblRhYkluZGV4OnU9MCxvbkZvY3VzOmQsb25CbHVyOmYsb25DbGljazpifT1lLFtoLG1dPSgwLGkudXNlU3RhdGUpKCExKSxbcCx2XT0oMCxzLnVzZUZvY3VzKSgpLGc9cHx8aCxJPW4/P3ZvaWQgMCE9PXQ/KDAsYS5jcmVhdGVEb21JZCkodCwibGlzdGJveCIpOnZvaWQgMCxDPSgwLGkudXNlUmVmKShudWxsKSxSPSgwLGkudXNlQ2FsbGJhY2spKChlPT5DLmN1cnJlbnQ/LmZvY3VzKGUpKSxbQ10pLFM9KDAsaS51c2VSZWYpKG51bGwpLGs9KDAsaS51c2VDYWxsYmFjaykoKCgpPT4oMCxvLmVuc3VyZU5vdE51bGwpKFMuY3VycmVudCkuZm9jdXMoKSksW1NdKSx5PSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+bSghMCkpLFttXSksTT0oMCxpLnVzZUNhbGxiYWNrKSgoKGU9ITEsdD0hMSk9PnttKCExKTtjb25zdHthY3RpdmVFbGVtZW50Om59PWRvY3VtZW50O24mJigwLHIuaXNUZXh0RWRpdGluZ0ZpZWxkKShuKXx8dHx8Uih7cHJldmVudFNjcm9sbDplfSl9KSxbbSxSXSksSD0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntoP00oKTp5KCl9KSxbaCxNLHldKSxBPWM/W106W2Qsdi5vbkZvY3VzXSx3PWM/W106W2Ysdi5vbkJsdXJdLFQ9Yz9bXTpbYixIXSxFPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoLi4uQSkseD0oMCxsLmNyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXIpKC4uLncpLHo9KDAsbC5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKSguLi5UKTtyZXR1cm57bGlzdGJveElkOkksaXNPcGVuZWQ6aCxpc0ZvY3VzZWQ6ZyxidXR0b25UYWJJbmRleDpjPy0xOnUsbGlzdGJveFRhYkluZGV4Oi0xLG9wZW46eSxjbG9zZTpNLHRvZ2dsZTpILG9uT3BlbjprLGJ1dHRvbkZvY3VzQmluZGluZ3M6e29uRm9jdXM6RSxvbkJsdXI6eH0sb25CdXR0b25DbGljazp6LGJ1dHRvblJlZjpDLGxpc3Rib3hSZWY6UyxidXR0b25BcmlhOnsiYXJpYS1jb250cm9scyI6aD9JOnZvaWQgMCwiYXJpYS1leHBhbmRlZCI6aCwiYXJpYS1kaXNhYmxlZCI6Y319fX0sNzA4MjA3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUl0ZW1zS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5sfSk7dmFyIGksbz1uKDc3OTQ3NCkscj1uKDc2MzU0OSk7ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlPj0wP2UldDoodC1NYXRoLmFicyhlKSV0KSV0fSFmdW5jdGlvbihlKXtlLk5leHQ9Im5leHQiLGUuUHJldmlvdXM9InByZXZpb3VzIixlLkZpcnN0PSJmaXJzdCIsZS5MYXN0PSJsYXN0In0oaXx8KGk9e30pKTtmdW5jdGlvbiBsKGUsdCxuLGksbCxhLGM9e30sdSxkKXtjb25zdCBmPSgwLG8udXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD1uLmZpbmRJbmRleChpKTtpZih0PT09bi5sZW5ndGgtMSYmIWEpcmV0dXJuIHZvaWQodT8ub25GYWlsTmV4dCYmdS5vbkZhaWxOZXh0KGUpKTtjb25zdCBvPXModCsxLG4ubGVuZ3RoKTtsJiZsKG5bb10sIm5leHQiKX0pLFtuLGksbCxhXSksYj0oMCxvLnVzZUNhbGxiYWNrKSgoZT0+e2NvbnN0IHQ9bi5maW5kSW5kZXgoaSk7aWYoMD09PXQmJiFhKXJldHVybiB2b2lkKHU/Lm9uRmFpbFByZXYmJnUub25GYWlsUHJldihlKSk7Y29uc3Qgbz1zKHQtMSxuLmxlbmd0aCk7bCYmbChuW29dLCJwcmV2aW91cyIpfSksW24saSxsLGFdKSxoPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2wmJmwoblswXSwiZmlyc3QiKX0pLFtsLG5dKSxtPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2wmJmwobltuLmxlbmd0aC0xXSwibGFzdCIpfSksW2wsbl0pLHA9KDAsby51c2VNZW1vKSgoKCk9PihlPT4oe25leHQ6WzQwLCgpPT5lKCk/Mzc6MzldLHByZXZpb3VzOlszOCwoKT0+ZSgpPzM5OjM3XSxmaXJzdDpbMzMsKCk9PmUoKT8zNTozNl0sbGFzdDpbMzQsKCk9PmUoKT8zNjozNV19KSkodCkpLFt0XSkse25leHQ6dj1wLm5leHQscHJldmlvdXM6Zz1wLnByZXZpb3VzLGZpcnN0Okk9cC5maXJzdCxsYXN0OkM9cC5sYXN0fT1jO3JldHVybigwLHIudXNlQ29tcG9zZWRLZXlib2FyZEFjdGlvbkhhbmRsZXJzKSgoMCxyLnVzZUtleWJvYXJkQWN0aW9uSGFuZGxlcikodixmLGQ/Lm5leHQ/PygoKT0+ITApLGUpLCgwLHIudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShnLGIsZD8ucHJldmlvdXM/PygoKT0+ITApLGUpLCgwLHIudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShJLGgsKCgpPT4hMCksZSksKDAsci51c2VLZXlib2FyZEFjdGlvbkhhbmRsZXIpKEMsbSwoKCk9PiEwKSxlKSl9fSw2NjI3NjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlS2VlcEFjdGl2ZUl0ZW1JbnRvVmlldzooKT0+c30pCjt2YXIgaT1uKDc3OTQ3NCksbz1uKDEzODYzOCkscj1uKDk5MzgzOSk7ZnVuY3Rpb24gcyhlPXt9KXtjb25zdHthY3RpdmVJdGVtOnQsZ2V0S2V5Om4sLi4uc309ZSxsPSgwLGkudXNlUmVmKShudWxsKSxhPSgwLGkudXNlUmVmKShuZXcgTWFwKSxjPSgwLHIudXNlU2Nyb2xsSW50b1ZpZXdIZWxwZXIpKGwuY3VycmVudCksdT0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntudWxsIT09Yy5jdXJyZW50JiZudWxsIT09bC5jdXJyZW50JiZjLmN1cnJlbnQuZ2V0Q29udGFpbmVyKCkhPT1sLmN1cnJlbnQmJmMuY3VycmVudC5zZXRDb250YWluZXIobC5jdXJyZW50KX0pLFtjLGxdKSxkPSgwLGkudXNlQ2FsbGJhY2spKChlPT57bC5jdXJyZW50PWV9KSxbbF0pLGY9KDAsaS51c2VDYWxsYmFjaykoKChlLHQpPT57Y29uc3QgaT1uP24oZSk6ZTt0P2EuY3VycmVudC5zZXQoaSx0KTphLmN1cnJlbnQuZGVsZXRlKGkpfSksW2Esbl0pLGI9KDAsaS51c2VDYWxsYmFjaykoKChlLHQpPT57aWYoIWUpcmV0dXJuO2NvbnN0IGk9bj9uKGUpOmUscj1hLmN1cnJlbnQuZ2V0KGkpO3ImJih1KCksKDAsby5lbnN1cmVOb3ROdWxsKShjLmN1cnJlbnQpLnNjcm9sbFRvKHIsdCkpfSksW2EsYyxuXSk7cmV0dXJuKDAsaS51c2VFZmZlY3QpKCgoKT0+Yih0LHMpKSxbYix0XSksW2QsZixiXX19LDQxODM4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VNb2JpbGVUb3VjaFN0YXRlOigpPT5yfSk7dmFyIGk9big3Nzk0NzQpLG89big3Mzg0NTgpO2Z1bmN0aW9uIHIoKXtjb25zdFtlLHRdPSgwLGkudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57dChvLm1vYmlsZXRvdWNoKX0pLFtdKSxlfX0sNTg2MjIzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVByZXZpb3VzOigpPT5vfSk7dmFyIGk9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD0oMCxpLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsaS51c2VFZmZlY3QpKCgoKT0+e3QuY3VycmVudD1lfSksW2VdKSx0LmN1cnJlbnR9fSw5OTEwOTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlUmVmc01hcDooKT0+b30pO3ZhciBpPW4oNzc5NDc0KTtmdW5jdGlvbiBvKCl7Y29uc3QgZT0oMCxpLnVzZVJlZikobmV3IE1hcCksdD0oMCxpLnVzZUNhbGxiYWNrKSgodD0+bj0+e251bGwhPT1uP2UuY3VycmVudC5zZXQodCxuKTplLmN1cnJlbnQuZGVsZXRlKHQpfSksW2VdKTtyZXR1cm5bZSx0XX19LDk5MzgzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VTY3JvbGxJbnRvVmlld0hlbHBlcjooKT0+c30pO3ZhciBpPW4oNzc5NDc0KSxvPW4oMTM4NjM4KSxyPW4oODY2NzQzKTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9KDAsaS51c2VSZWYpKG51bGwpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9Pih0LmN1cnJlbnQ9bmV3IHIuU2Nyb2xsSW50b1ZpZXdIZWxwZXIoZSksKCk9PigwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KS5kZXN0cm95KCkpKSxbXSksdH19LDU5MTU3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VUYWJzS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5jfSk7dmFyIGk9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big3NjM1NDkpLHM9big3MDgyMDcpO2Z1bmN0aW9uIGwoKXtyZXR1cm4hMX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJue25leHQ6KCk9PnQhPT1lLmxlbmd0aC0xLHByZXZpb3VzOigpPT4wIT09dH19ZnVuY3Rpb24gYyhlKXtjb25zdHthY3RpdmF0aW9uVHlwZTp0PSJtYW51YWwifT1lLG49KDAsaS51c2VNZW1vKSgoKCk9PnQpLFtdKTtyZXR1cm4oMCxvLmFzc2VydCkodD09PW4sIkFjdGl2YXRpb24gdHlwZSBtdXN0IGJlIGludmFyaWFudC4iKSwiYXV0b21hdGljIj09PXQ/ZnVuY3Rpb24oZSl7Y29uc3R7aXNSdGw6dCxpdGVtczpuLHByZXZlbnREZWZhdWx0SWZIYW5kbGVkOm89ITAsc3RvcFByb3BhZ2F0aW9uSWZIYW5kbGVkOmM9ITEsbG9vcDp1PSEwLGlzSGlnaGxpZ2h0ZWQ6ZCxvbkhpZ2hsaWdodDpmLG9uQWN0aXZhdGU6Yixpc0NvbGxhcHNlZDpoPWwsb3JpZW50YXRpb246bX09ZSxwPSgwLGkudXNlQ2FsbGJhY2spKChlPT57ZihlKSxoKGUpfHxiKGUpfSksW2YsYixoXSksdj0hdSYmYz9hKG4sbi5maW5kSW5kZXgoZCkpOnZvaWQgMDtyZXR1cm4oMCxyLnVzZUtleWJvYXJkRXZlbnRIYW5kbGVyKShbKDAscy51c2VJdGVtc0tleWJvYXJkTmF2aWdhdGlvbikobSx0LG4sZCxwLHUse30sdm9pZCAwLHYpXSxvLGMpfShlKTpmdW5jdGlvbihlKXtjb25zdHtpc1J0bDp0LGl0ZW1zOm4scHJldmVudERlZmF1bHRJZkhhbmRsZWQ6bz0hMCxzdG9wUHJvcGFnYXRpb25JZkhhbmRsZWQ6bD0hMSxsb29wOmM9ITAsaXNIaWdobGlnaHRlZDp1LG9uSGlnaGxpZ2h0OmQsb25BY3RpdmF0ZTpmLG9yaWVudGF0aW9uOmJ9PWUsaD1uLmZpbmRJbmRleCh1KSxtPW5baF0scD0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9Pnt2b2lkIDAhPT1tJiZmKG0pfSksW20sZl0pLHY9IWMmJmw/YShuLGgpOnZvaWQgMCxnPSgwLGkudXNlQ2FsbGJhY2spKChlPT5kKGUpKSxbZF0pLEk9KDAscy51c2VJdGVtc0tleWJvYXJkTmF2aWdhdGlvbikoYix0LG4sdSxnLGMse30sdm9pZCAwLHYpLEM9KDAsci51c2VLZXlib2FyZEFjdGlvbkhhbmRsZXIpKFsxMywzMl0scCk7cmV0dXJuKDAsci51c2VLZXlib2FyZEV2ZW50SGFuZGxlcikoW0ksQ10sbyxsKX0oZSl9fSw0NTQxNzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVGFiczooKT0+ZH0pO3ZhciBpPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdD0iaG9yaXpvbnRhbCIsbixpLG8scil7cmV0dXJue2lkOmUscm9sZTpyPyJyYWRpb2dyb3VwIjoidGFibGlzdCIsImFyaWEtb3JpZW50YXRpb24iOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6aSwiYXJpYS1kaXNhYmxlZCI6bn19ZnVuY3Rpb24gcihlLHQsbixpLG8scixzLGwpe3JldHVybntpZDplLHJvbGU6cj8icmFkaW8iOiJ0YWIiLHRhYkluZGV4OnQ/bD8udGFiSW5kZXg/PzA6LTEsZGlzYWJsZWQ6bywiYXJpYS1zZWxlY3RlZCI6cj92b2lkIDA6biwiYXJpYS1jaGVja2VkIjpyP246dm9pZCAwLAoiYXJpYS1jb250cm9scyI6aSwiYXJpYS1kaXNhYmxlZCI6bywiYXJpYS1sYWJlbCI6cywiZGF0YS1mb2N1cy1tYW5hZ2VyIjp2b2lkIDAhPT1sP2xbImRhdGEtZm9jdXMtbWFuYWdlciJdOnZvaWQgMH19dmFyIHM9big4MzM5MDMpLGw9bigxNDU5ODQpLGE9big2NjI3NjEpLGM9big1OTE1NzIpLHU9big0MTgzODYpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7aWQ6dCxpdGVtczpuLG9yaWVudGF0aW9uOmQsYWN0aXZhdGlvblR5cGU6Zj0ibWFudWFsIixkaXNhYmxlZDpiLHRhYmxpc3RMYWJlbElkOmgsdGFibGlzdExhYmVsOm0sZm9jdXNPbkhpZ2hsaWdodDpwPSEwLHByZXZlbnREZWZhdWx0SWZLZXlib2FyZEFjdGlvbkhhbmRsZWQ6dj0hMCxzdG9wUHJvcGFnYXRpb25JZktleWJvYXJkQWN0aW9uSGFuZGxlZDpnPSExLGtleWJvYXJkTmF2aWdhdGlvbkxvb3A6ST0hMCxzY3JvbGxJbnRvVmlld09wdGlvbnM6Qyxpc0FjdGl2ZTpSLG9uQWN0aXZhdGU6Uyxpc0NvbGxhcHNlZDprLGlzUnRsOnksaXNEaXNjbG9zdXJlT3BlbmVkOk0saXNSYWRpb0dyb3VwOkgsZGVmYXVsdEtleWJvYXJkRm9jdXM6QSxmb2N1c2FibGVJdGVtQXR0cmlidXRlczp3PXt9fT1lLFQ9KDAsdS51c2VNb2JpbGVUb3VjaFN0YXRlKSgpLEU9TT9udWxsOmR8fCJob3Jpem9udGFsIix4PSgwLGkudXNlUmVmKShlLml0ZW1zUmVmcz8uY3VycmVudD8/bmV3IE1hcCksW3osQl09KDAsaS51c2VTdGF0ZSkoKSxbXyxGXT0oMCxsLnVzZUZvY3VzKSgpLEs9bi5maW5kKFIpLFc9KDAsaS51c2VDYWxsYmFjaykoKGU9PmUuaWQ9PT16Py5pZCksW3pdKSxWPSgwLGkudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD14LmN1cnJlbnQuZ2V0KGUuaWQpO3AmJnZvaWQgMCE9PXQmJnQhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZ0LmZvY3VzKCl9KSxbcF0pLEQ9KDAsaS51c2VSZWYpKCksTz0oMCxpLnVzZUNhbGxiYWNrKSgoKGUsdCk9PntCKGUpLCJudW1iZXIiPT10eXBlb2YgdD8oY2xlYXJUaW1lb3V0KEQuY3VycmVudCksRC5jdXJyZW50PXNldFRpbWVvdXQoKCgpPT5WKGUpKSx0KSk6VihlKX0pLFtCLFZdKSxOPSgwLGkudXNlQ2FsbGJhY2spKChlPT57Ynx8ZS5kaXNhYmxlZHx8KFMoZSksVyhlKXx8TyhlKSl9KSxbYixTLFcsT10pLEw9KDAsYy51c2VUYWJzS2V5Ym9hcmROYXZpZ2F0aW9uKSh7aXNSdGw6eSxpdGVtczpuLGFjdGl2YXRpb25UeXBlOmYscHJldmVudERlZmF1bHRJZkhhbmRsZWQ6dixzdG9wUHJvcGFnYXRpb25JZkhhbmRsZWQ6Zyxsb29wOkksb25BY3RpdmF0ZTpOLGlzSGlnaGxpZ2h0ZWQ6VyxvbkhpZ2hsaWdodDpPLGlzQ29sbGFwc2VkOmssb3JpZW50YXRpb246RX0pOygwLGkudXNlRWZmZWN0KSgoKCk9PntUfHx2b2lkIDAhPT1LJiZCKEspfSksW0ssVF0pLCgwLGkudXNlRWZmZWN0KSgoKCk9PntffHxCKHZvaWQgMCl9KSxbX10pLCgwLGkudXNlRWZmZWN0KSgoKCk9PigpPT5jbGVhclRpbWVvdXQoRC5jdXJyZW50KSksW10pO2NvbnN0IFA9Qz8uYWRkaXRpb25hbFNjcm9sbD8/MCxbcSxYXT0oMCxhLnVzZUtlZXBBY3RpdmVJdGVtSW50b1ZpZXcpKHsuLi5DLHZpc2liaWxpdHlEZXRlY3Rpb25PZmZzZXRJbmxpbmU6UCsyNCxzbmFwVG9NaWRkbGU6ITAsYWN0aXZlSXRlbTp6Pz9LLGdldEtleTooMCxpLnVzZUNhbGxiYWNrKSgoZT0+ZS5pZCksW10pfSksVT0oMCxpLnVzZUNhbGxiYWNrKSgoKGUsdCk9PntudWxsIT09dD94LmN1cnJlbnQuc2V0KGUuaWQsdCk6eC5jdXJyZW50LmRlbGV0ZShlLmlkKSxYKGUsdCl9KSxbWF0pLHtmaXJzdEVkZ2VJdGVtSW5kZXg6RyxsYXN0RWRnZUl0ZW1JbmRleDpqfT1mdW5jdGlvbihlLHQpe2xldCBuLGk7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IHI9ZS5sZW5ndGgtKG8rMSkscz12b2lkIDAhPT10JiZ0KGVbcl0pO2lmKCFlW29dLmRpc2FibGVkJiZ2b2lkIDA9PT1uJiYobj1vKSwhZVtyXS5kaXNhYmxlZCYmIXMmJnZvaWQgMD09PWkmJihpPXIpLHZvaWQgMCE9PW4mJnZvaWQgMCE9PWkpYnJlYWt9cmV0dXJue2ZpcnN0RWRnZUl0ZW1JbmRleDpuLGxhc3RFZGdlSXRlbUluZGV4Oml9fShuLGspO3JldHVybnt0YWJzQmluZGluZ3M6bi5tYXAoKChlLHQpPT57Y29uc3Qgbj1XKGUpLGk9UihlKSxvPWUuZGlzYWJsZWQ/P2I/PyExLHM9MT09PUE/Xz9uOnQ9PT1HfHx0PT09ajpfP246aTtyZXR1cm57Li4ucihlLmlkLHMsaSxlLnRhYnBhbmVsSWQsbyxILGVbImFyaWEtbGFiZWwiXSx3KSxoaWdobGlnaHRlZDpuLGFjdGl2ZTppLGhhbmRsZUl0ZW1SZWY6VX19KSksdGFibGlzdEJpbmRpbmc6ey4uLm8odCxkLGIsaCxtLEgpLG9uQmx1cjpGLm9uQmx1cixvbkZvY3VzOigwLHMuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoRi5vbkZvY3VzLChlPT57bGV0IHQ9bnVsbDtmb3IoY29uc3RbaSxvXW9mIHguY3VycmVudC5lbnRyaWVzKCkpaWYoZS50YXJnZXQ9PT1vKXt0PW4uZmluZCgoZT0+ZS5pZD09PWkpKT8/bnVsbDticmVha310JiYhVyh0KSYmKCJhdXRvbWF0aWMiPT09ZiYmayYmIWsodCk/Tih0KTpPKHQpKX0pKSxvbktleURvd246TH0sc2Nyb2xsV3JhcEJpbmRpbmc6e3JlZjpxfSxvbkFjdGl2YXRlOk4sb25IaWdobGlnaHQ6Tyxpc0hpZ2hsaWdodGVkOld9fX0sODQ2ODU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVRhYnNNYWluSGFuZGxlcnM6KCk9Pmd9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDgzMzkwMykscj1uKDQxODM4Nikscz1uKDgwOTQzNiksbD1uKDcxNzkzMik7dmFyIGE9big4NjgzMzkpLGM9big0NTQxNzQpLHU9big0NTY0ODcpLGQ9bigzMTk2OSksZj1uKDc2MzU0OSksYj1uKDU2NzI2KSxoPW4oNTI5NDExKSxtPW4oNzE5NDI1KSxwPW4oNTg2MjIzKTt2YXIgdj1uKDM5NjQzMSk7ZnVuY3Rpb24gZyhlLHQsbil7CmNvbnN0e2lkOmcsaXRlbXM6SSxhY3RpdmF0aW9uVHlwZTpDLG9yaWVudGF0aW9uOlI9Imhvcml6b250YWwiLGRpc2FibGVkOlMsb25BY3RpdmF0ZTprLGlzQWN0aXZlOnksb3ZlcmZsb3dCZWhhdmlvdXI6TSxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpILHRhYmxpc3RMYWJlbElkOkEsdGFibGlzdExhYmVsOncscHJldmVudERlZmF1bHRJZktleWJvYXJkQWN0aW9uSGFuZGxlZDpULHNpemU6RSxzdG9wUHJvcGFnYXRpb25JZktleWJvYXJkQWN0aW9uSGFuZGxlZDp4LGtleWJvYXJkTmF2aWdhdGlvbkxvb3A6eixkZWZhdWx0S2V5Ym9hcmRGb2N1czpCLGZvY3VzYWJsZUl0ZW1BdHRyaWJ1dGVzOl99PXQsRj0oMCxpLnVzZU1lbW8pKCgoKT0+KDAsdi50cmFuc2Zvcm1UYWJzV2l0aENvdW50ZXJzKShJLFMsRSkpLFtJLFMsRV0pLEs9KDAsci51c2VNb2JpbGVUb3VjaFN0YXRlKSgpLFc9ZnVuY3Rpb24oZSl7Y29uc3QgdD0oMCxsLnVzZVNhZmVNYXRjaE1lZGlhKShzWyJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiXSwhMCksbj0oMCxyLnVzZU1vYmlsZVRvdWNoU3RhdGUpKCk7cmV0dXJuIGU/PyhufHwhdD8ic2Nyb2xsIjoiY29sbGFwc2UiKX0oTSksVj0oMCxpLnVzZVJlZikoITEpLEQ9KDAsaS51c2VDYWxsYmFjaykoKGU9PmUuaWQpLFtdKSxPPUg/PyFLLE49KDAsYi51c2VGYWRlSW5Db250ZXh0KSgpLHt2aXNpYmxlSXRlbXM6TCxoaWRkZW5JdGVtczpQLGNvbnRhaW5lclJlZkNhbGxiYWNrOnEsaW5uZXJDb250YWluZXJSZWZDYWxsYmFjazpYLG1vcmVCdXR0b25SZWY6VSxzZXRJdGVtUmVmOkcsaXRlbXNNZWFzdXJlbWVudHM6an09KDAsYS51c2VDb2xsYXBzaWJsZSkoRixELHkpLEo9KDAscC51c2VQcmV2aW91cykoai5jdXJyZW50Py5jb250YWluZXJXaWR0aCk/PzAsUT0oMCxoLnVzZUlzTm9uRmlyc3RSZW5kZXIpKCksWT1qLmN1cnJlbnQ/LmNvbnRhaW5lcldpZHRoPz8wO2xldCBaPSExO2ouY3VycmVudCYmUSYmKFo9ZnVuY3Rpb24oZSx0LG4saSxvKXtpZigiY29sbGFwc2UiIT09aSlyZXR1cm4hMDtjb25zdCByPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCBpPWUuZmlsdGVyKChlPT50LmZpbmQoKHQ9PnQuaWQ9PT1lWzBdKSkpKTtyZXR1cm4gdC5sZW5ndGg+MD9pWzBdWzFdK246MH0oQXJyYXkuZnJvbShlLndpZHRoc01hcC5lbnRyaWVzKCkpLHQsbykscz1lLm1vcmVCdXR0b25XaWR0aD8/MDtsZXQgbD1mdW5jdGlvbihlLHQpe3JldHVybiBlLnJlZHVjZSgoKGUsbik9PmUrKHQuZ2V0KG4uaWQpPz8wKSksMCl9KG4sZS53aWR0aHNNYXApO3JldHVybiBsKz10Lmxlbmd0aD4wP3M6MCxmdW5jdGlvbihlLHQsbixpKXtyZXR1cm4gMCE9PWU/dC1uPGUmJnQtbj5pOm48dH0ocixlLmNvbnRhaW5lcldpZHRoLGwsbyl9KGouY3VycmVudCxQLEwsVyxuLmdhcD8/MCl8fDA9PT1ZKTtjb25zdCAkPSgwLG0udXNlUmVzaXplT2JzZXJ2ZXIpKCgoW2VdKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntRJiZaJiZlLmNvbnRlbnRSZWN0LndpZHRoPT09SiYmTigpfSkpfSkpLGVlPSJjb2xsYXBzZSI9PT1XP0w6Rix0ZT0oMCxpLnVzZU1lbW8pKCgoKT0+ImNvbGxhcHNlIj09PVc/UDpbXSksW1csUF0pLG5lPSgwLGkudXNlQ2FsbGJhY2spKChlPT50ZS5pbmNsdWRlcyhlKSksW3RlXSkse2lzT3BlbmVkOmllLG9wZW46b2UsY2xvc2U6cmUsb25CdXR0b25DbGljazpzZX09KDAsdS51c2VEaXNjbG9zdXJlKSh7aWQ6ZyxkaXNhYmxlZDpTfSkse3RhYnNCaW5kaW5nczpsZSx0YWJsaXN0QmluZGluZzphZSxzY3JvbGxXcmFwQmluZGluZzpjZSxvbkFjdGl2YXRlOnVlLG9uSGlnaGxpZ2h0OmRlLGlzSGlnaGxpZ2h0ZWQ6ZmV9PSgwLGMudXNlVGFicykoe2lkOmcsaXRlbXM6Wy4uLmVlLC4uLnRlXSxhY3RpdmF0aW9uVHlwZTpDLG9yaWVudGF0aW9uOlIsZGlzYWJsZWQ6Uyx0YWJsaXN0TGFiZWxJZDpBLHRhYmxpc3RMYWJlbDp3LHByZXZlbnREZWZhdWx0SWZLZXlib2FyZEFjdGlvbkhhbmRsZWQ6VCxzY3JvbGxJbnRvVmlld09wdGlvbnM6bi5zY3JvbGxJbnRvVmlld09wdGlvbnMsb25BY3RpdmF0ZTprLGlzQWN0aXZlOnksaXNDb2xsYXBzZWQ6bmUsaXNSdGw6bi5pc1J0bCxpc0Rpc2Nsb3N1cmVPcGVuZWQ6aWUsaXNSYWRpb0dyb3VwOm4uaXNSYWRpb0dyb3VwLHN0b3BQcm9wYWdhdGlvbklmS2V5Ym9hcmRBY3Rpb25IYW5kbGVkOngsa2V5Ym9hcmROYXZpZ2F0aW9uTG9vcDp6LGRlZmF1bHRLZXlib2FyZEZvY3VzOkIsZm9jdXNhYmxlSXRlbUF0dHJpYnV0ZXM6X30pLGJlPXRlLmZpbmQoZmUpLGhlPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9Ri5maW5kKHkpO2UmJmRlKGUpfSksW2RlLHksRl0pLG1lPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e3JlKCksaGUoKSxWLmN1cnJlbnQ9ITB9KSxbcmUsaGVdKSxwZT0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntiZSYmKHVlKGJlKSxkZShiZSwyNTApKX0pLFt1ZSxkZSxiZV0pO2NlLnJlZj0oMCxkLnVzZU1lcmdlZFJlZnMpKFskLGNlLnJlZixxXSksYWUucmVmPSgwLGQudXNlTWVyZ2VkUmVmcykoW2FlLnJlZixYXSksYWUub25LZXlEb3duPSgwLG8uY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoKDAsZi51c2VLZXlib2FyZEV2ZW50SGFuZGxlcikoWygwLGYudXNlS2V5Ym9hcmRDbG9zZSkoaWUsbWUpLCgwLGYudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShbMTMsMzJdLHBlLCgwLGkudXNlQ2FsbGJhY2spKCgoKT0+Qm9vbGVhbihiZSkpLFtiZV0pKV0sVCksYWUub25LZXlEb3duKTtjb25zdCB2ZT0oMCxpLnVzZUNhbGxiYWNrKSgoZT0+e1YuY3VycmVudD0hMCxzZShlKX0pLFtWLHNlXSksZ2U9KDAsaS51c2VDYWxsYmFjaykoKGU9PntlJiZ1ZShlKX0pLFt1ZV0pO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntWLmN1cnJlbnQ/Vi5jdXJyZW50PSExOmJlJiYhaWU/b2UoKTohYmUmJmllJiZyZSgpfSksW2JlLGllLG9lLHJlXSkse2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk8sbW9yZUJ1dHRvblJlZjpVLHNldEl0ZW1SZWY6RyxnZXRCaW5kaW5nczplPT5sZS5maW5kKCh0PT50LmlkPT09ZS5pZCkpLGhhbmRsZU1vcmVCdXR0b25DbGljazp2ZSwKaGFuZGxlQ29sbGFwc2VkSXRlbUNsaWNrOmdlLHNjcm9sbFdyYXBCaW5kaW5nOmNlLG92ZXJmbG93QmVoYXZpb3VyOlcsdGFibGlzdEJpbmRpbmc6YWUsdmlzaWJsZVRhYnM6ZWUsaGlkZGVuVGFiczp0ZSxoYW5kbGVBY3RpdmF0ZTp1ZSxpc01vYmlsZVRvdWNoOkssZ2V0SXRlbUlkOkQsaXNEaXNjbG9zdXJlT3BlbmVkOmllLGlzSGlnaGxpZ2h0ZWQ6ZmUsY2xvc2VEaXNjbG9zdXJlOnJlfX19LDM5NjQzMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjb3VudGVyU2l6ZUZyb21TcXVhcmVUYWJzU2l6ZTooKT0+cyxnZXRUYWJDb3VudGVyOigpPT5yLHRyYW5zZm9ybVRhYnNXaXRoQ291bnRlcnM6KCk9Pmx9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDcyMTkxMCk7ZnVuY3Rpb24gcih7Y291bnQ6ZSxjb2xvcjp0PSJkYW5nZXIiLHNpemU6bj0ieHNtYWxsIixkaXNhYmxlZDpyfSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChvLkNvdW50ZXIseyJhcmlhLWxhYmVsIjoiVGFiIGNvdW50ZXIiLGNvdW50OmUsc2l6ZTpuLGNvbG9yOnQsYm9yZGVyQ29sb3I6InByaW1hcnkiLGRpc2FibGVkOnJ9KX1mdW5jdGlvbiBzKGUpe3JldHVybnt4c21hbGw6InhzbWFsbCIsc21hbGw6InNtYWxsIixtZWRpdW06Im1lZGl1bSIsbWVkaXVtV2l0aFNtYWxsRm9udDoibWVkaXVtIix4bGFyZ2U6ImxhcmdlIn1bZV19ZnVuY3Rpb24gbChlLHQsbil7cmV0dXJuIGUubWFwKChlPT57Y29uc3QgaT1lLmNvdW50ZXI7cmV0dXJuIGk/ey4uLmUsZW5kVXBwZXJTbG90OnIoe2NvdW50OmkuY291bnQsY29sb3I6aS5jb2xvcixzaXplOnMobiksZGlzYWJsZWQ6dH0pLGNvdW50ZXI6dm9pZCAwfTplfSkpfX0sMjEyMTI1KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGksbyxyLHMsbDtuLmQodCx7VGFiTmFtZXM6KCk9Pmx9KSxmdW5jdGlvbihlKXtlW2UuQWN0aXZlPTBdPSJBY3RpdmUiLGVbZS5FZGdlcz0xXT0iRWRnZXMifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuSG9yaXpvbnRhbD0iaG9yaXpvbnRhbCIsZS5WZXJ0aWNhbD0idmVydGljYWwifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2UuQXV0b21hdGljPSJhdXRvbWF0aWMiLGUuTWFudWFsPSJtYW51YWwifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuQ29sbGFwc2U9ImNvbGxhcHNlIixlLlNjcm9sbD0ic2Nyb2xsIixlLldyYXA9IndyYXAiLGUuTm9uZT0ibm9uZSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5TcXVhcmVCdXR0b25UYWJzPSJzcXVhcmUtYnV0dG9uLXRhYnMiLGUuVW5kZXJsaW5lQnV0dG9uVGFicz0idW5kZXJsaW5lLWJ1dHRvbi10YWJzIixlLlVuZGVybGluZUFuY2hvclRhYnM9InVuZGVybGluZS1hbmNob3ItdGFicyIsZS5Sb3VuZEFuY2hvclRhYnM9InJvdW5kLWFuY2hvci10YWJzIixlLlJvdW5kQnV0dG9uVGFicz0icm91bmQtYnV0dG9uLXRhYnMiLGUuTGlnaHRCdXR0b25UYWJzPSJsaWdodC1idXR0b24tdGFicyJ9KGx8fChsPXt9KSl9LDIzNDI5MihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG49MCl7Y29uc3QgaT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gaS50b3Atby50b3A+PTAmJm8uYm90dG9tLWkuYm90dG9tPj0wJiZpLmxlZnQtby5sZWZ0Pj1uJiZvLnJpZ2h0LWkucmlnaHQ+PW59bi5kKHQse2lzRWxlbWVudEluVmlldzooKT0+aX0pfSw4NjY3NDMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2Nyb2xsSW50b1ZpZXdIZWxwZXI6KCk9PmN9KTt2YXIgaT1uKDk1MDE5NCksbz1uKDIzNDI5Mik7Y29uc3Qgcj17ZHVyYXRpb246MjAwLGFkZGl0aW9uYWxTY3JvbGw6MH0scz17dmVydGljYWw6e3Njcm9sbFNpemU6InNjcm9sbEhlaWdodCIsY2xpZW50U2l6ZToiY2xpZW50SGVpZ2h0IixzdGFydDoidG9wIixlbmQ6ImJvdHRvbSIsc2l6ZToiaGVpZ2h0In0saG9yaXpvbnRhbDp7c2Nyb2xsU2l6ZToic2Nyb2xsV2lkdGgiLGNsaWVudFNpemU6ImNsaWVudFdpZHRoIixzdGFydDoibGVmdCIsZW5kOiJyaWdodCIsc2l6ZToid2lkdGgifX07ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49c1tlXTtyZXR1cm4gdFtuLnNjcm9sbFNpemVdPnRbbi5jbGllbnRTaXplXX1mdW5jdGlvbiBhKGUsdCxuLG8scixsKXtjb25zdCBhPWZ1bmN0aW9uKGUsdCxuLGk9MCl7Y29uc3Qgbz1zW2VdO3JldHVybntzdGFydDotMSppLG1pZGRsZTotMSooTWF0aC5mbG9vcihuW28uc2l6ZV0vMiktTWF0aC5mbG9vcih0W28uc2l6ZV0vMikpLGVuZDotMSoobltvLnNpemVdLXRbby5zaXplXSkraX19KGUsbyxyLGwuYWRkaXRpb25hbFNjcm9sbCk7bGV0IGM9MDtpZihsLnNuYXBUb01pZGRsZXx8ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IGk9c1tlXTtyZXR1cm4gdFtpLnN0YXJ0XTxuW2kuc3RhcnRdLW5baS5zaXplXS8yfHx0W2kuZW5kXT5uW2kuZW5kXStuW2kuc2l6ZV0vMn0oZSxvLHIpKWM9YS5taWRkbGU7ZWxzZXtjb25zdCB0PWZ1bmN0aW9uKGUsdCxuLGk9MCl7Y29uc3Qgbz1zW2VdLHI9dFtvLnN0YXJ0XStNYXRoLmZsb29yKHRbby5zaXplXS8yKSxsPW5bby5zdGFydF0rTWF0aC5mbG9vcihuW28uc2l6ZV0vMik7cmV0dXJue3N0YXJ0OnRbby5zdGFydF0tbltvLnN0YXJ0XS1pLG1pZGRsZTpyLWwsZW5kOnRbby5lbmRdLW5bby5lbmRdK2l9fShlLG8scixsLmFkZGl0aW9uYWxTY3JvbGwpLG49ZnVuY3Rpb24oZSl7Y29uc3R7c3RhcnQ6dCxtaWRkbGU6bixlbmQ6aX09ZSxvPW5ldyBNYXAoW1tNYXRoLmFicyh0KSx7a2V5OiJzdGFydCIsdmFsdWU6TWF0aC5zaWduKHQpfV0sW01hdGguYWJzKG4pLHtrZXk6Im1pZGRsZSIsdmFsdWU6TWF0aC5zaWduKG4pfV0sW01hdGguYWJzKGkpLHtrZXk6ImVuZCIsdmFsdWU6TWF0aC5zaWduKGkpfV1dKSxyPU1hdGgubWluKC4uLm8ua2V5cygpKTtyZXR1cm4gby5nZXQocil9KHQpO2M9dm9pZCAwIT09bj9hW24ua2V5XTowfXJldHVybiBsLmFsaWduJiYoYz1hW2wuYWxpZ25dKSwoMCxpLnNjcm9sbFRvKSh7Li4ubCx0YXJnZXQ6dCx0YXJnZXRSZWN0Om8sd3JhcDpuLHdyYXBSZWN0OnIsYWRkaXRpb25hbFNjcm9sbDpjLGRpcmVjdGlvbjplfSl9Y2xhc3MgY3sKY29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGwsdGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsPW51bGwsdGhpcy5fc3RvcEhvcml6b250YWxTY3JvbGw9bnVsbCx0aGlzLl9jb250YWluZXI9ZX1zY3JvbGxUbyhlLHQ9cil7aWYobnVsbCE9PXRoaXMuX2NvbnRhaW5lciYmbnVsbCE9PWUmJiEoMCxvLmlzRWxlbWVudEluVmlldykoZSx0aGlzLl9jb250YWluZXIsdC52aXNpYmlsaXR5RGV0ZWN0aW9uT2Zmc2V0SW5saW5lKSl7Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9dGhpcy5fY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuc3RvcFNjcm9sbCgpLGwoInZlcnRpY2FsIix0aGlzLl9jb250YWluZXIpJiYodGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsPWEoInZlcnRpY2FsIixlLHRoaXMuX2NvbnRhaW5lcixuLGksdGhpcy5fbW9kaWZ5T3B0aW9ucygidmVydGljYWwiLHQpKSksbCgiaG9yaXpvbnRhbCIsdGhpcy5fY29udGFpbmVyKSYmKHRoaXMuX3N0b3BIb3Jpem9udGFsU2Nyb2xsPWEoImhvcml6b250YWwiLGUsdGhpcy5fY29udGFpbmVyLG4saSx0aGlzLl9tb2RpZnlPcHRpb25zKCJob3Jpem9udGFsIix0KSkpfXRoaXMuX2xhc3RTY3JvbGxlZEVsZW1lbnQ9ZX1zY3JvbGxUb0xhc3RFbGVtZW50KGUpe3RoaXMuc2Nyb2xsVG8odGhpcy5fbGFzdFNjcm9sbGVkRWxlbWVudCxlKX1zdG9wU2Nyb2xsKCl7bnVsbCE9PXRoaXMuX3N0b3BWZXJ0aWNhbFNjcm9sbCYmdGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsKCksbnVsbCE9PXRoaXMuX3N0b3BIb3Jpem9udGFsU2Nyb2xsJiZ0aGlzLl9zdG9wSG9yaXpvbnRhbFNjcm9sbCgpfWdldENvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9c2V0Q29udGFpbmVyKGUpe3RoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2NvbnRhaW5lcj8uY29udGFpbnModGhpcy5fbGFzdFNjcm9sbGVkRWxlbWVudCl8fCh0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGwpfWRlc3Ryb3koKXt0aGlzLnN0b3BTY3JvbGwoKSx0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGx9X2hhbmRsZVNjcm9sbEVuZChlKXsidmVydGljYWwiPT09ZT90aGlzLl9zdG9wVmVydGljYWxTY3JvbGw9bnVsbDp0aGlzLl9zdG9wSG9yaXpvbnRhbFNjcm9sbD1udWxsfV9tb2RpZnlPcHRpb25zKGUsdCl7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sdCx7b25TY3JvbGxFbmQ6KCk9Pnt0aGlzLl9oYW5kbGVTY3JvbGxFbmQoZSksdm9pZCAwIT09dC5vblNjcm9sbEVuZCYmdC5vblNjcm9sbEVuZCgpfX0pfX19LDk1MDE5NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtzY3JvbGxUbzooKT0+b30pO3ZhciBpPW4oMjE4ODE0KTtmdW5jdGlvbiBvKGUpe2NvbnN0e2FkZGl0aW9uYWxTY3JvbGw6dD0wLGR1cmF0aW9uOm49aS5kdXIsZnVuYzpvPWkuZWFzaW5nRnVuYy5lYXNlSW5PdXRDdWJpYyxvblNjcm9sbEVuZDpyLHRhcmdldDpzLHdyYXA6bCxkaXJlY3Rpb246YT0idmVydGljYWwifT1lO2xldHt0YXJnZXRSZWN0OmMsd3JhcFJlY3Q6dX09ZTtjPWM/P3MuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdT11Pz9sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGQ9KCJ2ZXJ0aWNhbCI9PT1hP2MudG9wLXUudG9wOmMubGVmdC11LmxlZnQpK3QsZj0idmVydGljYWwiPT09YT8ic2Nyb2xsVG9wIjoic2Nyb2xsTGVmdCIsYj1sP2xbZl06MDtsZXQgaCxtPTA7cmV0dXJuIG09d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24gZSh0KXtsZXQgaTtpZihoP2k9dC1oOihpPTAsaD10KSxpPj1uKXJldHVybiBsW2ZdPWIrZCx2b2lkKHImJnIoKSk7Y29uc3Qgcz1iK2QqbyhpL24pO2xbZl09TWF0aC5mbG9vcihzKSxtPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSl9KSksZnVuY3Rpb24oKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUobSksciYmcigpfX19fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCKITE.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.528Z","timestamp":1785136905528,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCKITE.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/js/scripts.js","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.523Z","timestamp":1785136899523,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /js/scripts.js HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: text/javascript\r\nContent-Length: 15476\r\nConnection: keep-alive\r\nLast-Modified: Fri, 28 Jul 2023 08:51:02 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":15476,"size_decoded":15693,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"0c044f8dc6f0d7019f851bcad434850c","sha1":"97222d42771822e90260504b2190e3f85160c262","sha256":"d1bcf8f08856cd9b1ae7292456ad652b425e3efa6e8c355d130fc3dfee40d587","sha512":"5a1ca212bcf355c702855d2c0755947be40bae389c2c4567116e0da00e928c5073820d869b0c473c7a6280df7044050d24cce43aea8c2f2ba19765e82276e530","ssdeep":"192:pqyzpN+p7bop9JZM4s4cDu+JEHtwqQdS7G+Y7Nt0fUVNxB:pdzHZM5XwtwqQwgNtEUVNxB","tlshash":"96628409700520b96d3bb339afb62204ef695317c101da977cbe27d42fb651a72a0f9d","first_seen":"2023-06-17T17:20:01Z","last_seen":"2026-08-01T11:22:31.035171Z","times_seen":245,"resource_available":true,"data":"Lyo9PT09PT09PT09PT09PT09DQogVGVtcGxhdGUgTmFtZTogQ29ycG9yWCBDb3Jwb3JhdGUgYW5kIEJ1c2luZXNzIEhUTUwgVGVtcGxhdGUNCiBEZXNjcmlwdGlvbjogQWxsIHR5cGUgb2YgY29ycG9yYXRlIGJ1c2luZXNzIHdpdGggbWFya2V0aW5nIGFuZCBhZ2VuY3kgdGVtcGxhdGUuDQogVmVyc2lvbjogMS4wDQogQXV0aG9yOiBodHRwczovL3RoZW1lZm9yZXN0Lm5ldC91c2VyL3RoZW1ldGFncw0KPT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovLyBUQUJMRSBPRiBDT05URU5UUw0KLy8gMS4gcHJlbG9hZGVyDQovLyAyLiBmaXhlZCBuYXZiYXINCi8vIDMuIGJhY2sgdG8gdG9wDQovLyA0LiBtYWduaWZ5IHBvcHVwIHZpZGVvDQovLyA1LiBtYWduaWZ5IGdhbGxlcnkgcG9wdXANCi8vIDYuIGhlcm8gYmFja2dyb3VuZCBpbWFnZSB3aXRoIGNvbnRlbnQgc2xpZGVyDQovLyA3LiBjdXN0b20gY291bnRlciBqcyB3aXRoIHNjcm9sbGluZw0KLy8gOC4gY2xpZW50LXRlc3RpbW9uaWFsIG9uZSBpdGVtIGNhcm91c2VsDQovLyA5LiBoZXJvIGNvbnRlbnQgb25lIGl0ZW0gY2Fyb3VzZWwNCi8vIDEwLiBvdXIgY2xpZW50cyBsb2dvIGNhcm91c2VsDQovLyAxMS4gbWl4aXR1cCBwb3J0Zm9saW8NCi8vIDEyLiB2aWRlbyBiYWNrZ3JvdW5kDQovLyAxMy4gd29yayBwcm9jZXNzIGNhcm91c2VsDQovLyAxNC4gZ2FsbGVyeSBjYXJvdXNlbA0KLy8gMTUuIHdvdyBqcw0KDQoNCmpRdWVyeShmdW5jdGlvbigkKSB7DQoNCiAgICAndXNlIHN0cmljdCc7DQoNCiAgICAvLyAxLiBwcmVsb2FkZXINCiAgICAkKHdpbmRvdykucmVhZHkoZnVuY3Rpb24oKSB7DQogICAgICAgICQoJyNwcmVsb2FkZXInKS5kZWxheSgyMDApLmZhZGVPdXQoJ2ZhZGUnKTsNCiAgICB9KTsNCg0KICAgIC8vIDIuIGZpeGVkIG5hdmJhcg0KICAgICQod2luZG93KS5vbignc2Nyb2xsJywgZnVuY3Rpb24oKSB7DQogICAgICAgIC8vIGNoZWNrcyBpZiB3aW5kb3cgaXMgc2Nyb2xsZWQgbW9yZSB0aGFuIDUwMHB4LCBhZGRzL3JlbW92ZXMgc29saWQgY2xhc3MNCiAgICAgICAgaWYgKCQodGhpcykuc2Nyb2xsVG9wKCkgPiAwKSB7DQogICAgICAgICAgICAkKCcubmF2YmFyJykuYWRkQ2xhc3MoJ2FmZml4Jyk7DQogICAgICAgICAgICAkKCcuc2Nyb2xsLXRvLXRhcmdldCcpLmFkZENsYXNzKCdvcGVuJyk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkKCcubmF2YmFyJykucmVtb3ZlQ2xhc3MoJ2FmZml4Jyk7DQogICAgICAgICAgICAkKCcuc2Nyb2xsLXRvLXRhcmdldCcpLnJlbW92ZUNsYXNzKCdvcGVuJyk7DQogICAgICAgIH0NCiAgICAgICAgLy8gY2hlY2tzIGlmIHdpbmRvdyBpcyBzY3JvbGxlZCBtb3JlIHRoYW4gNTAwcHgsIGFkZHMvcmVtb3ZlcyB0b3AgdG8gdGFyZ2V0IGNsYXNzDQogICAgICAgIGlmICgkKHRoaXMpLnNjcm9sbFRvcCgpID4gNTAwKSB7DQogICAgICAgICAgICAkKCcuc2Nyb2xsLXRvLXRhcmdldCcpLmFkZENsYXNzKCdvcGVuJyk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkKCcuc2Nyb2xsLXRvLXRhcmdldCcpLnJlbW92ZUNsYXNzKCdvcGVuJyk7DQogICAgICAgIH0NCiAgICB9KTsNCg0KICAgIC8vIDMuIGJhY2sgdG8gdG9wDQogICAgaWYgKCQoJy5zY3JvbGwtdG8tdGFyZ2V0JykubGVuZ3RoKSB7DQogICAgICAgICQoIi5zY3JvbGwtdG8tdGFyZ2V0Iikub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgdGFyZ2V0ID0gJCh0aGlzKS5hdHRyKCdkYXRhLXRhcmdldCcpOw0KICAgICAgICAgICAgLy8gYW5pbWF0ZQ0KICAgICAgICAgICAgJCgnaHRtbCwgYm9keScpLmFuaW1hdGUoew0KICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogJCh0YXJnZXQpLm9mZnNldCgpLnRvcA0KICAgICAgICAgICAgfSwgNTAwKTsNCg0KICAgICAgICB9KTsNCiAgICB9DQoNCg0KICAgIC8vIDQuIG1hZ25pZnkgcG9wdXAgdmlkZW8NCiAgICAkKCcucG9wdXAteW91dHViZSwgLnBvcHVwLXZpbWVvLCAucG9wdXAtZ21hcHMnKS5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgZGlzYWJsZU9uOiA3MDAsDQogICAgICAgIHR5cGU6ICdpZnJhbWUnLA0KICAgICAgICBtYWluQ2xhc3M6ICdtZnAtZmFkZScsDQogICAgICAgIHJlbW92YWxEZWxheTogMTYwLA0KICAgICAgICBwcmVsb2FkZXI6IGZhbHNlLA0KICAgICAgICBmaXhlZENvbnRlbnRQb3M6IGZhbHNlDQogICAgfSk7DQoNCiAgICAvLyA1LiBtYWduaWZ5IGdhbGxlcnkgcG9wdXANCiAgICAkKCcucG9wdXAtZ2FsbGVyeScpLm1hZ25pZmljUG9wdXAoew0KICAgICAgICBkZWxlZ2F0ZTogJ2EnLA0KICAgICAgICB0eXBlOiAnaW1hZ2UnLA0KICAgICAgICB0TG9hZGluZzogJ0xvYWRpbmcgaW1hZ2UgIyVjdXJyJS4uLicsDQogICAgICAgIG1haW5DbGFzczogJ21mcC1pbWctbW9iaWxlJywNCiAgICAgICAgZ2FsbGVyeTogew0KICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSwNCiAgICAgICAgICAgIG5hdmlnYXRlQnlJbWdDbGljazogdHJ1ZSwNCiAgICAgICAgICAgIHByZWxvYWQ6IFswLCAxXSAvLyBXaWxsIHByZWxvYWQgMCAtIGJlZm9yZSBjdXJyZW50LCBhbmQgMSBhZnRlciB0aGUgY3VycmVudCBpbWFnZQ0KICAgICAgICB9LA0KICAgICAgICBpbWFnZTogew0KICAgICAgICAgICAgdEVycm9yOiAnPGEgaHJlZj0iJXVybCUiPlRoZSBpbWFnZSAjJWN1cnIlPC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLicsDQogICAgICAgICAgICB0aXRsZVNyYzogZnVuY3Rpb24oaXRlbSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmVsLmF0dHIoJ3RpdGxlJykgKyAnPHNtYWxsPmJ5IE1hcnNlbCBWYW4gT29zdGVuPC9zbWFsbD4nOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSk7DQoNCiAgICAvLyA2LiBoZXJvIGJhY2tncm91bmQgaW1hZ2Ugd2l0aCBjb250ZW50IHNsaWRlcg0KICAgICQoJy5oZXJvLWJnLXNsaWRlcicpLm93bENhcm91c2VsKHsNCiAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgbWFyZ2luOiAwLA0KICAgICAgICBpdGVtczogMSwNCiAgICAgICAgbmF2OiBmYWxzZSwNCiAgICAgICAgZG90czogdHJ1ZSwNCiAgICAgICAgcmVzcG9uc2l2ZUNsYXNzOiB0cnVlLA0KICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgYXV0b3BsYXlUaW1lb3V0OiA0NTAwLA0KICAgICAgICBhdXRvcGxheUhvdmVyUGF1c2U6IHRydWUsDQogICAgICAgIGF1dG9wbGF5U3BlZWQ6IDM1MDAsDQogICAgICAgIGxhenlMb2FkOiB0cnVlLA0KICAgIH0pOw0KDQogICAgLy8gOS4gaGVybyBzbGlkZXIgb25lDQogICAgJCgnLmhlcm8tc2xpZGVyLW9uZScpLm93bENhcm91c2VsKHsNCiAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgYXV0b3BsYXk6IHRydWUsDQogICAgICAgIGRvdHM6IHRydWUsDQogICAgICAgIGF1dG9wbGF5SG92ZXJQYXVzZTogdHJ1ZSwNCiAgICAgICAgaXRlbXM6IDEsDQogICAgICAgIHNtYXJ0U3BlZWQ6IDEwMDAsDQogICAgICAgIGFuaW1hdGVPdXQ6ICJzbGlkZU91dFVwIiwNCiAgICAgICAgYW5pbWF0ZUluOiAic2xpZGVJbkRvd24iLA0KICAgIH0pOw0KICAgIC8vIDEwLiBoZXJvIHNsaWRlciB0d28NCiAgICAkKCcuaGVyby1jb250ZW50LXNsaWRlcicpLm93bENhcm91c2VsKHsNCiAgICAgICAgbG9vcDogZmFsc2UsDQogICAgICAgIGF1dG9wbGF5OiB0cnVlLA0KICAgICAgICBkb3RzOiB0cnVlLA0KICAgICAgICBhdXRvcGxheUhvdmVyUGF1c2U6IHRydWUsDQogICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICBzbWFydFNwZWVkOiAxMDAwLA0KICAgICAgICBhbmltYXRlT3V0OiAic2xpZGVPdXRVcCIsDQogICAgICAgIGFuaW1hdGVJbjogInNsaWRlSW5Eb3duIiwNCiAgICB9KTsNCg0KICAgICQoJy5jdXN0b20taW5kaWNhdG9yLXNsaWRlcicpLm93bENhcm91c2VsKHsNCiAgICAgICAgaXRlbXM6IDEsDQogICAgICAgIG5hdjogZmFsc2UsDQogICAgICAgIGRvdHM6IHRydWUsDQogICAgICAgIHNtYXJ0U3BlZWQ6IDEwMDAsDQogICAgICAgIGFuaW1hdGVPdXQ6ICJzbGlkZU91dFVwIiwNCiAgICAgICAgYW5pbWF0ZUluOiAic2xpZGVJbkRvd24iLA0KICAgICAgICBkb3RzQ29udGFpbmVyOiAnI2Nhcm91c2VsLWN1c3RvbS1pbmRpY2F0b3InLA0KICAgIH0pOw0KDQogICAgLy8gNy4gY3VzdG9tIGNvdW50ZXIganMgd2l0aCBzY3JvbGxpbmcNCiAgICB2YXIgaXNGaXJzdFRpbWUgPSB0cnVlOw0KICAgIHZhciBpbnRlcnZhbCA9IG51bGw7DQogICAgdmFyIGNvdW50U2VsZWN0b3IgPSAkKCcuc2luZ2xlLWNvdW50ZXIgPiBoMywgLnNpbmdsZS1jYXJkID4gaDMnKTsNCiAgICBpZiAoY291bnRTZWxlY3Rvci5sZW5ndGgpIHsNCiAgICAgICAgdmFyIHN0YXJ0aW5nVG9wID0gY291bnRTZWxlY3Rvci5vZmZzZXQoKS50b3AgLSB3aW5kb3cuaW5uZXJIZWlnaHQ7DQogICAgICAgIGlmIChzdGFydGluZ1RvcCA+IDApIHsNCiAgICAgICAgICAgICQod2luZG93KS5vbignc2Nyb2xsJywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgaWYgKGlzRmlyc3RUaW1lICYmICQod2luZG93KS5zY3JvbGxUb3AoKSA+IHN0YXJ0aW5nVG9wKSB7DQogICAgICAgICAgICAgICAgICAgIHN0YXJ0Q291bnRpbmcoKTsNCiAgICAgICAgICAgICAgICAgICAgaXNGaXJzdFRpbWUgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHN0YXJ0Q291bnRpbmcoKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEdldCB0aGUgaW5jcmVtZW50IHZhbHVlDQogICAgICogQHBhcmFtIHZhbHVlDQogICAgICogQHJldHVybnMge251bWJlcn0NCiAgICAgKi8NCiAgICBmdW5jdGlvbiBpbmNyZW1lbnRWYWx1ZSh2YWx1ZSkgew0KICAgICAgICB2YXIgaW5jVmFsID0gMDsNCiAgICAgICAgaWYgKE1hdGguY2VpbCh2YWx1ZSAvIDIpIDw9IDUpIHsgLy8gdXB0byAxMA0KICAgICAgICAgICAgaW5jVmFsID0gMTsNCiAgICAgICAgfSBlbHNlIGlmIChNYXRoLmNlaWwodmFsdWUgLyAxMCkgPD0gMTApIHsgLy8gdXAgdG8gMTAwDQogICAgICAgICAgICBpbmNWYWwgPSAxMDsNCiAgICAgICAgfSBlbHNlIGlmIChNYXRoLmNlaWwodmFsdWUgLyAxMDApIDw9IDEwKSB7IC8vIHVwIHRvIDEwMDANCiAgICAgICAgICAgIGluY1ZhbCA9IDI1Ow0KICAgICAgICB9IGVsc2UgaWYgKE1hdGguY2VpbCh2YWx1ZSAvIDEwMCkgPD0gMTAwKSB7IC8vIHVwIHRvIDEwMDAwDQogICAgICAgICAgICBpbmNWYWwgPSA1MDsNCiAgICAgICAgfSBlbHNlIGlmIChNYXRoLmNlaWwodmFsdWUgLyAxMDAwKSA8PSAxMDApIHsgLy8gdXAgdG8gMTAwMDAwDQogICAgICAgICAgICBpbmNWYWwgPSAxNTA7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBpbmNWYWwgPSA1MDA7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGluY1ZhbDsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBUbyBzdGFydCBjb3VudA0KICAgICAqIEBwYXJhbSBjb3VudGVycyBhbGwgc2VsZWN0b3JzDQogICAgICogQHBhcmFtIHN0YXJ0IGludA0KICAgICAqIEBwYXJhbSB2YWx1ZSBpbnQNCiAgICAgKiBAcGFyYW0gaWQgaW50DQogICAgICovDQogICAgZnVuY3Rpb24gY291bnQoY291bnRlcnMsIHN0YXJ0LCB2YWx1ZSwgaWQpIHsNCiAgICAgICAgdmFyIGxvY2FsU3RhcnQgPSBzdGFydDsNCiAgICAgICAgdmFyIGluYyA9IGluY3JlbWVudFZhbHVlKHZhbHVlKTsNCiAgICAgICAgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGlmIChsb2NhbFN0YXJ0IDwgdmFsdWUpIHsNCiAgICAgICAgICAgICAgICBsb2NhbFN0YXJ0ID0gbG9jYWxTdGFydCArIGluYzsNCiAgICAgICAgICAgICAgICBjb3VudGVyc1tpZF0uaW5uZXJIVE1MID0gbG9jYWxTdGFydDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwgNDApOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIFN0YXJ0IHRoZSBjb3VudA0KICAgICAqLw0KICAgIGZ1bmN0aW9uIHN0YXJ0Q291bnRpbmcoKSB7DQogICAgICAgIHZhciBjb3VudGVycyA9ICQoIi5zaW5nbGUtY291bnRlciA+IGgzLCAuc2luZ2xlLWNhcmQgPiBoMyIpOw0KICAgICAgICB2YXIgY291bnRlcnNRdWFudGl0eSA9IGNvdW50ZXJzLmxlbmd0aDsNCiAgICAgICAgdmFyIGNvdW50ZXIgPSBbXTsNCg0KICAgICAgICAvLyBnZXQgYWwgY291bnRzIGZyb20gSFRNTCBjb3VudA0KICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50ZXJzUXVhbnRpdHk7IGkrKykgew0KICAgICAgICAgICAgY291bnRlcltpXSA9IHBhcnNlSW50KGNvdW50ZXJzW2ldLmlubmVySFRNTCk7DQogICAgICAgIH0NCg0KICAgICAgICAvLyBjYWxsaW5nIGFsbCBjb3VudCBmdW5jdGlvbg0KICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGNvdW50ZXJzUXVhbnRpdHk7IGorKykgew0KICAgICAgICAgICAgY291bnQoY291bnRlcnMsIDAsIGNvdW50ZXJbal0sIGopOw0KICAgICAgICB9DQogICAgfQ0KDQoNCiAgICAvLyA4LiBjbGllbnQtdGVzdGltb25pYWwgb25lIGl0ZW0gY2Fyb3VzZWwNCiAgICAkKCcuY2xpZW50LXRlc3RpbW9uaWFsLTEnKS5vd2xDYXJvdXNlbCh7DQogICAgICAgIGxvb3A6IHRydWUsDQogICAgICAgIG1hcmdpbjogMzAsDQogICAgICAgIG5hdjogZmFsc2UsDQogICAgICAgIGRvdHM6IHRydWUsDQogICAgICAgIHJlc3BvbnNpdmVDbGFzczogdHJ1ZSwNCiAgICAgICAgYXV0b3BsYXk6IHRydWUsDQogICAgICAgIGF1dG9wbGF5SG92ZXJQYXVzZTogdHJ1ZSwNCiAgICAgICAgbGF6eUxvYWQ6IHRydWUsDQogICAgICAgIGl0ZW1zOiAxLA0KICAgIH0pOw0KDQogICAgJCgnLmNsaWVudC10ZXN0aW1vbmlhbCcpLm93bENhcm91c2VsKHsNCiAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgbWFyZ2luOiAzMCwNCiAgICAgICAgbmF2OiB0cnVlLA0KICAgICAgICBkb3RzOiBmYWxzZSwNCiAgICAgICAgcmVzcG9uc2l2ZUNsYXNzOiB0cnVlLA0KICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgYXV0b3BsYXlIb3ZlclBhdXNlOiB0cnVlLA0KICAgICAgICBsYXp5TG9hZDogdHJ1ZSwNCiAgICAgICAgcmVzcG9uc2l2ZTogew0KICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgIGl0ZW1zOiAxDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgNTAwOiB7DQogICAgICAgICAgICAgICAgaXRlbXM6IDENCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICA2MDA6IHsNCiAgICAgICAgICAgICAgICBpdGVtczogMg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIDgwMDogew0KICAgICAgICAgICAgICAgIGl0ZW1zOiAyDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgMTIwMDogew0KICAgICAgICAgICAgICAgIGl0ZW1zOiAzDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KTsNCg0KICAgIC8vIDkuIGhlcm8gY29udGVudCBvbmUgaXRlbSBjYXJvdXNlbA0KICAgICQoJy5oZXJvLWNvbnRlbnQtc2xpZGVyJykub3dsQ2Fyb3VzZWwoew0KICAgICAgICBsb29wOiB0cnVlLA0KICAgICAgICBtYXJnaW46IDMwLA0KICAgICAgICBuYXY6IGZhbHNlLA0KICAgICAgICBkb3RzOiBmYWxzZSwNCiAgICAgICAgcmVzcG9uc2l2ZUNsYXNzOiB0cnVlLA0KICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgYXV0b3BsYXlIb3ZlclBhdXNlOiB0cnVlLA0KICAgICAgICBsYXp5TG9hZDogdHJ1ZSwNCiAgICAgICAgaXRlbXM6IDEsDQogICAgfSk7DQoNCiAgICAvLyAxMC4gb3VyIGNsaWVudHMgbG9nbyBjYXJvdXNlbA0KICAgICQoJy5jbGllbnRzLWNhcm91c2VsJykub3dsQ2Fyb3VzZWwoew0KICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgbWFyZ2luOiAxNSwNCiAgICAgICAgZG90czogZmFsc2UsDQogICAgICAgIHNsaWRlVHJhbnNpdGlvbjogJ2xpbmVhcicsDQogICAgICAgIGF1dG9wbGF5VGltZW91dDogNDUwMCwNCiAgICAgICAgYXV0b3BsYXlIb3ZlclBhdXNlOiB0cnVlLA0KICAgICAgICBhdXRvcGxheVNwZWVkOiA0NTAwLA0KICAgICAgICByZXNwb25zaXZlOiB7DQogICAgICAgICAgICAwOiB7DQogICAgICAgICAgICAgICAgaXRlbXM6IDINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICA1MDA6IHsNCiAgICAgICAgICAgICAgICBpdGVtczogMw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIDYwMDogew0KICAgICAgICAgICAgICAgIGl0ZW1zOiA0DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgODAwOiB7DQogICAgICAgICAgICAgICAgaXRlbXM6IDUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICAxMjAwOiB7DQogICAgICAgICAgICAgICAgaXRlbXM6IDYNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9DQogICAgfSk7DQoNCiAgICAvLyAxMS4gbWl4aXR1cCBwb3J0Zm9saW8NCiAgICAkKGZ1bmN0aW9uKCkgew0KICAgICAgICAvLyAxLiBxdWVyeVNlbGVjdG9yDQogICAgICAgIHZhciBjb250YWluZXJFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNNaXhJdFVwIik7DQogICAgICAgIC8vIDIuIFBhc3NpbmcgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGlubGluZQ0KICAgICAgICAvL2h0dHBzOi8vd3d3Lmt1bmthbGFicy5jb20vbWl4aXR1cC9kb2NzL2NvbmZpZ3VyYXRpb24tb2JqZWN0Lw0KICAgICAgICBpZiAodHlwZW9mKGNvbnRhaW5lckVsKSAhPSAndW5kZWZpbmVkJyAmJiBjb250YWluZXJFbCAhPSBudWxsKSB7DQogICAgICAgICAgICB2YXIgbWl4ZXIgPSBtaXhpdHVwKGNvbnRhaW5lckVsLCB7DQogICAgICAgICAgICAgICAgc2VsZWN0b3JzOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbnRyb2w6ICdbZGF0YS1taXhpdHVwLWNvbnRyb2xdJywNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogew0KICAgICAgICAgICAgICAgICAgICBlZmZlY3RzOiAiZmFkZSB0cmFuc2xhdGVaKC0xMDBweCkiLA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfSk7DQoNCiAgICAvLyAxMi4gdmlkZW8gYmFja2dyb3VuZA0KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KICAgICAgICAkKCIucGxheWVyIikuWVRQbGF5ZXIoKTsNCiAgICB9KTsNCg0KDQogICAgLy8gMTMuIHdvcmsgcHJvY2VzcyBjYXJvdXNlbA0KICAgICQoJy53b3JrLXByb2Nlc3MtY2Fyb3VzZWwnKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgYSA9ICQodGhpcyksDQogICAgICAgICAgICBpdGVtcyA9IGEuZGF0YSgnaXRlbXMnKSB8fCBbMSwgMSwgMV0sDQogICAgICAgICAgICBtYXJnaW4gPSBhLmRhdGEoJ21hcmdpbicpLA0KICAgICAgICAgICAgbG9vcCA9IGEuZGF0YSgnbG9vcCcpLA0KICAgICAgICAgICAgbmF2ID0gYS5kYXRhKCduYXYnKSwNCiAgICAgICAgICAgIGRvdHMgPSBhLmRhdGEoJ2RvdHMnKSwNCiAgICAgICAgICAgIGNlbnRlciA9IGEuZGF0YSgnY2VudGVyJyksDQogICAgICAgICAgICBhdXRvcGxheSA9IGEuZGF0YSgnYXV0b3BsYXknKSwNCiAgICAgICAgICAgIGF1dG9wbGF5U3BlZWQgPSBhLmRhdGEoJ2F1dG9wbGF5LXNwZWVkJyksDQogICAgICAgICAgICBydGwgPSBhLmRhdGEoJ3J0bCcpLA0KICAgICAgICAgICAgYXV0b2hlaWdodCA9IGEuZGF0YSgnYXV0b2hlaWdodCcpOw0KDQogICAgICAgIHZhciBvcHRpb25zID0gew0KICAgICAgICAgICAgbmF2OiBuYXYgfHwgdHJ1ZSwNCiAgICAgICAgICAgIGxvb3A6IGxvb3AgfHwgZmFsc2UsDQogICAgICAgICAgICBkb3RzOiBkb3RzIHx8IGZhbHNlLA0KICAgICAgICAgICAgY2VudGVyOiBjZW50ZXIgfHwgZmFsc2UsDQogICAgICAgICAgICBhdXRvcGxheTogYXV0b3BsYXkgfHwgZmFsc2UsDQogICAgICAgICAgICBhdXRvSGVpZ2h0OiBhdXRvaGVpZ2h0IHx8IGZhbHNlLA0KICAgICAgICAgICAgcnRsOiBydGwgfHwgZmFsc2UsDQogICAgICAgICAgICBtYXJnaW46IG1hcmdpbiB8fCAwLA0KICAgICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OiBhdXRvcGxheVNwZWVkIHx8IDMwMDAsDQogICAgICAgICAgICBhdXRvcGxheVNwZWVkOiA0MDAsDQogICAgICAgICAgICBhdXRvcGxheUhvdmVyUGF1c2U6IHRydWUsDQogICAgICAgICAgICByZXNwb25zaXZlOiB7DQogICAgICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgICAgICBpdGVtczogaXRlbXNbMl0gfHwgMQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgNTc2OiB7DQogICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBpdGVtc1sxXSB8fCAxDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAxMjAwOiB7DQogICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBpdGVtc1swXSB8fCAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIGEub3dsQ2Fyb3VzZWwob3B0aW9ucyk7DQogICAgfSk7DQoNCiAgICAvLyAxNC4gZ2FsbGVyeSBjYXJvdXNlbA0KICAgICQoJy5nYWxsZXJ5Jykub3dsQ2Fyb3VzZWwoew0KICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgbWFyZ2luOiAxNSwNCiAgICAgICAgbmF2OiBmYWxzZSwNCiAgICAgICAgYXV0b3BsYXlUaW1lb3V0OiA0NTAwLA0KICAgICAgICBhdXRvcGxheVNwZWVkOiA0MDAsDQogICAgICAgIGF1dG9wbGF5SG92ZXJQYXVzZTogdHJ1ZSwNCiAgICAgICAgcmVzcG9uc2l2ZTogew0KICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgIGl0ZW1zOiAyDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgNTAwOiB7DQogICAgICAgICAgICAgICAgaXRlbXM6IDMNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICA2MDA6IHsNCiAgICAgICAgICAgICAgICBpdGVtczogNA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIDgwMDogew0KICAgICAgICAgICAgICAgIGl0ZW1zOiA1DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgMTIwMDogew0KICAgICAgICAgICAgICAgIGl0ZW1zOiA2DQogICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KICAgIH0pOw0KDQogICAgLy8gMTUuIHdvdyBqcw0KICAgIGZ1bmN0aW9uIHdvd0FuaW1hdGlvbigpIHsNCiAgICAgICAgbmV3IFdPVyh7DQogICAgICAgICAgICBvZmZzZXQ6IDEwMCwNCiAgICAgICAgICAgIG1vYmlsZTogdHJ1ZQ0KICAgICAgICB9KS5pbml0KCkNCiAgICB9DQoNCiAgICB3b3dBbmltYXRpb24oKQ0KDQogICAgLy8gMTYuIGNvdW50ZG93biBvbmUNCiAgICAkKCcjY2xvY2snKS5jb3VudGRvd24oJzIwMjIvMDEvMzAnLCBmdW5jdGlvbihldmVudCkgew0KICAgICAgICAkKHRoaXMpLmh0bWwoZXZlbnQuc3RyZnRpbWUoJycgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9InJvdyI+JyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iY29sIj4nICsNCiAgICAgICAgICAgICc8aDIgY2xhc3M9Im1iLTEiPiUtRDwvaDI+JyArDQogICAgICAgICAgICAnPGg1PkRheSUhZDwvaDU+JyArDQogICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iY29sIj4nICsNCiAgICAgICAgICAgICc8aDIgY2xhc3M9Im1iLTEiPiVIPC9oMj4nICsNCiAgICAgICAgICAgICc8aDU+SG91cnM8L2g1PicgKw0KICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNvbCI+JyArDQogICAgICAgICAgICAnPGgyIGNsYXNzPSJtYi0xIj4lTTwvaDI+JyArDQogICAgICAgICAgICAnPGg1Pk1pbnV0ZXM8L2g1PicgKw0KICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNvbCI+JyArDQogICAgICAgICAgICAnPGgyIGNsYXNzPSJtYi0xIj4lUzwvaDI+JyArDQogICAgICAgICAgICAnPGg1PlNlY29uZHM8L2g1PicgKw0KICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzwvZGl2PicpKTsNCiAgICB9KTsNCg0KICAgIC8vIDE3LiBHZXQgYSBxdW90ZQ0KICAgIGlmICgkKCIjZ2V0UXVvdGVGcm0iKS5sZW5ndGgpIHsNCiAgICAgICAgJCgiI2dldFF1b3RlRnJtIikudmFsaWRhdG9yKCkub24oInN1Ym1pdCIsIGZ1bmN0aW9uKGV2ZW50KSB7DQogICAgICAgICAgICBpZiAoZXZlbnQuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsNCiAgICAgICAgICAgICAgICAvLyBoYW5kbGUgdGhlIGludmFsaWQgZm9ybS4uLg0KICAgICAgICAgICAgICAgIHN1Ym1pdE1TRyhmYWxzZSwgJy5zaWduLXVwLWZvcm0td3JhcCcpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAvLyBldmVyeXRoaW5nIGxvb2tzIGdvb2QhDQogICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgICAgICAgICBzdWJtaXRHZXRRdW90ZUZvcm0oKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gc3VibWl0R2V0UXVvdGVGb3JtKCkgew0KICAgICAgICAvLyBJbml0aWF0ZSBWYXJpYWJsZXMgV2l0aCBGb3JtIENvbnRlbnQNCiAgICAgICAgdmFyIG5hbWUgPSAkKCcjZ2V0UXVvdGVGcm0gaW5wdXRbbmFtZT0ibmFtZSJdJykudmFsKCk7DQogICAgICAgIHZhciBlbWFpbCA9ICQoJyNnZXRRdW90ZUZybSBpbnB1dFtuYW1lPSJlbWFpbCJdJykudmFsKCk7DQogICAgICAgIHZhciBzdWJqZWN0ID0gJCgnI2dldFF1b3RlRnJtIGlucHV0W25hbWU9InN1YmplY3QiXScpLnZhbCgpOw0KICAgICAgICB2YXIgbWVzc2FnZSA9ICQoJyNnZXRRdW90ZUZybSB0ZXh0YXJlYVtuYW1lPSJtZXNzYWdlIl0nKS52YWwoKTsNCg0KICAgICAgICBpZiAoISQoJyNnZXRRdW90ZUZybSAjZXhhbXBsZUNoZWNrMScpLmlzKCI6Y2hlY2tlZCIpKSB7DQogICAgICAgICAgICBzdWJtaXRNU0coZmFsc2UsICcuc2lnbi11cC1mb3JtLXdyYXAnKTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KDQogICAgICAgICQuYWpheCh7DQogICAgICAgICAgICB0eXBlOiAiUE9TVCIsDQogICAgICAgICAgICB1cmw6ICJsaWJzL3F1b3RlLWZvcm0tcHJvY2Vzcy5waHAiLA0KICAgICAgICAgICAgZGF0YTogIm5hbWU9IiArIG5hbWUgKyAiJmVtYWlsPSIgKyBlbWFpbCArICImc3ViamVjdD0iICsgc3ViamVjdCArICImbWVzc2FnZT0iICsgbWVzc2FnZSwNCiAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIHN1Y2Nlc3ModGV4dCkgew0KICAgICAgICAgICAgICAgIGlmICh0ZXh0ID09ICJzdWNjZXNzIikgew0KICAgICAgICAgICAgICAgICAgICBxdW90ZUZvcm1TdWNjZXNzKCk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgc3VibWl0TVNHKGZhbHNlLCAnLnNpZ24tdXAtZm9ybS13cmFwJyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBxdW90ZUZvcm1TdWNjZXNzKCkgew0KICAgICAgICAkKCIjZ2V0UXVvdGVGcm0iKVswXS5yZXNldCgpOw0KICAgICAgICBzdWJtaXRNU0codHJ1ZSwgJy5zaWduLXVwLWZvcm0td3JhcCcpOw0KICAgIH0NCg0KICAgIC8vIDE4LiBDb250YWN0IEZvcm0NCiAgICBpZiAoJCgiI2NvbnRhY3RGb3JtIikubGVuZ3RoKSB7DQogICAgICAgICQoIiNjb250YWN0Rm9ybSIpLnZhbGlkYXRvcigpLm9uKCJzdWJtaXQiLCBmdW5jdGlvbihldmVudCkgew0KICAgICAgICAgICAgaWYgKGV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7DQogICAgICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBpbnZhbGlkIGZvcm0uLi4NCiAgICAgICAgICAgICAgICBzdWJtaXRNU0coZmFsc2UsICcuY29udGFjdCcpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAvLyBldmVyeXRoaW5nIGxvb2tzIGdvb2QhDQogICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgICAgICAgICBzdWJtaXRDb250YWN0Rm9ybSgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQoNCg0KICAgIGZ1bmN0aW9uIHN1Ym1pdENvbnRhY3RGb3JtKCkgew0KICAgICAgICAvLyBJbml0aWF0ZSBWYXJpYWJsZXMgV2l0aCBGb3JtIENvbnRlbnQNCiAgICAgICAgdmFyIG5hbWUgPSAkKCcjY29udGFjdEZvcm0gaW5wdXRbbmFtZT0ibmFtZSJdJykudmFsKCk7DQogICAgICAgIHZhciBlbWFpbCA9ICQoJyNjb250YWN0Rm9ybSBpbnB1dFtuYW1lPSJlbWFpbCJdJykudmFsKCk7DQogICAgICAgIHZhciBtZXNzYWdlID0gJCgnI2NvbnRhY3RGb3JtIHRleHRhcmVhW25hbWU9Im1lc3NhZ2UiXScpLnZhbCgpOw0KDQogICAgICAgICQuYWpheCh7DQogICAgICAgICAgICB0eXBlOiAiUE9TVCIsDQogICAgICAgICAgICB1cmw6ICJsaWJzL2NvbnRhY3QtZm9ybS1wcm9jZXNzLnBocCIsDQogICAgICAgICAgICBkYXRhOiAibmFtZT0iICsgbmFtZSArICImZW1haWw9IiArIGVtYWlsICsgIiZtZXNzYWdlPSIgKyBtZXNzYWdlLA0KICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24odGV4dCkgew0KICAgICAgICAgICAgICAgIGlmICh0ZXh0ID09ICJzdWNjZXNzIikgew0KICAgICAgICAgICAgICAgICAgICBmb3JtU3VjY2VzcygpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHN1Ym1pdE1TRyhmYWxzZSwgJy5jb250YWN0Jyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBmb3JtU3VjY2VzcygpIHsNCiAgICAgICAgJCgiI2NvbnRhY3RGb3JtIilbMF0ucmVzZXQoKTsNCiAgICAgICAgc3VibWl0TVNHKHRydWUsICcuY29udGFjdCcpOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHN1Ym1pdE1TRyh2YWxpZCwgcGFyZW50U2VsZWN0b3IpIHsNCiAgICAgICAgaWYgKHZhbGlkKSB7DQogICAgICAgICAgICAkKHBhcmVudFNlbGVjdG9yICsgIiAubWVzc2FnZS1ib3giKS5yZW1vdmVDbGFzcygnZC1ub25lJykuYWRkQ2xhc3MoJ2QtYmxvY2sgJyk7DQogICAgICAgICAgICAkKHBhcmVudFNlbGVjdG9yICsgIiAubWVzc2FnZS1ib3ggZGl2IikucmVtb3ZlQ2xhc3MoJ2FsZXJ0LWRhbmdlcicpLmFkZENsYXNzKCdhbGVydC1zdWNjZXNzJykudGV4dCgnRm9ybSBzdWJtaXR0ZWQgc3VjY2Vzc2Z1bGx5Jyk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkKHBhcmVudFNlbGVjdG9yICsgIiAubWVzc2FnZS1ib3giKS5yZW1vdmVDbGFzcygnZC1ub25lJykuYWRkQ2xhc3MoJ2QtYmxvY2sgJyk7DQogICAgICAgICAgICAkKHBhcmVudFNlbGVjdG9yICsgIiAubWVzc2FnZS1ib3ggZGl2IikucmVtb3ZlQ2xhc3MoJ2FsZXJ0LXN1Y2Nlc3MnKS5hZGRDbGFzcygnYWxlcnQtZGFuZ2VyJykudGV4dCgnRm91bmQgZXJyb3IgaW4gdGhlIGZvcm0uIFBsZWFzZSBjaGVjayBhZ2Fpbi4nKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KfSk7IC8vIEpRdWVyeSBlbmQ="}},"time_used":671,"timings":{"blocked":578,"dns":0,"connect":0,"send":0,"wait":93,"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":"huobiget.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/98696.e10ceecfd44535d6ea1a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.344Z","timestamp":1785136901344,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98696.e10ceecfd44535d6ea1a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-140a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 740fda8c1ff6d783fa38dd468b08123c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5130,"size_decoded":2055,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5130), with no line terminators","md5":"14ba6ef799217e3cf6c0f723627f96dc","sha1":"56a2abca6a545fb6f28a7e66508fea511db30c47","sha256":"6db5f60c32ec213410cd578b53e2878efcddc6fc01da1bc3a11fa465d4702c63","sha512":"df91da3cdf87cd7cf1cfc3abd0b1101ac8328f973e85853b5eb5d12caddcd8bce1f4e2eb279848a377f5126ff637ac6131f20b60dcc3a6d247bca2145fe32ac2","ssdeep":"96:ONadZaAWAo8APlUdGRzg0oszVpO79JSjpHzbfKaMvPd92bCJIdWJak:ON8Zfro1PlUdGRzg0osz+79JalzbVulr","tlshash":"43b1329ceb94a27b7c2ba43c1318e32d4e45be42dd621bf6bd3d610149c3be261e6744","first_seen":"2026-06-18T02:55:32.293865Z","last_seen":"2026-07-28T06:17:53.477053Z","times_seen":310,"resource_available":false,"data":"LmhhbGFsU3RhdHVzLW5QVTM5cndVe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktc3VjY2Vzcy1leHRyYS1ib2xkKX0uaGFsYWxTdGF0dXMtblBVMzlyd1U6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5oYWxhbFN0YXR1cy1uUFUzOXJ3VTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuaGFsYWxTdGF0dXMtblBVMzlyd1U6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZCl9LnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1B7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1A6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudHZDYWxjdWxhdGVkUGFpci1TM3pjY0lfUDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1A6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5oa2V4Q29tbWVudC1lYnVOU3Zvd3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5oa2V4Q29tbWVudC1lYnVOU3ZvdzphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmhrZXhDb21tZW50LWVidU5Tdm93OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5oa2V4Q29tbWVudC1lYnVOU3ZvdzphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ib2xkKX0uZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX0uZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5kZWZhdWx0ZWRTdGF0dXMtSnV4UlREbV86YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9LmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQXtjb2xvcjp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKX0ubGV0SXRTbm93U3RhdHVzLUR0MzBidlVBOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZCl9LnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZCl9LnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBjb21pbmdJcG9TdGF0dXMtdEtaUm1JSzU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLU9ZaFg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMS1PWWhYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1PWWhYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzEtT1loWDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS53cmFwU3RhY2tUcmFjZS1xcTJqU3I5T3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5Ok1lbmxvLFVidW50dSBNb25vLENvbnNvbGFzLHNvdXJjZS1jb2RlLXBybyxtb25vc3BhY2U7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYm90dG9tOjRweDtyb3ctZ2FwOjEycHh9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ud3JhcFN0YWNrVHJhY2UtcXEyalNyOU86Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5zdGFja1RyYWNlTGluZS1xcTJqU3I5T3tjb2xvcjp2YXIoLS1fMC1PWWhYKTt3aGl0ZS1zcGFjZTpub3dyYXB9LmZ1bmN0aW9uTmFtZS1xcTJqU3I5T3tjb2xvcjp2YXIoLS1fMS1PWWhYKX0uYmFySW5kZXgtcXEyalNyOU97Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LmluZm8tcXEyalNyOU97Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpfS5oaWRlRW1wdHktcXEyalNyOU86ZW1wdHl7ZGlzcGxheTpub25lfS5lZGl0b3JFcnJvckJ1dHRvbnMtenVrOWVJTTN7Y29sdW1uLWdhcDo4cHg7ZGlzcGxheTpmbGV4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXl6SzY6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC15eks2OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS53cmFwcGVyLVBndUFyTEZme2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweDttYXgtd2lkdGg6MTAwJTtyb3ctZ2FwOjhweH0ud3JhcEVycm9yLVBndUFyTEZme2JhY2tncm91bmQtY29sb3I6aW5oZXJpdDtib3JkZXItcmFkaXVzOjRweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjRzIGVhc2V9LndyYXBFcnJvci1QZ3VBckxGZi5jbGlja2VkQW5pbS1QZ3VBckxGZntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXl6SzYpfS5lcnJvclRleHQtUGd1QXJMRmZ7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweH0ud3JhcFN0YWNrVHJhY2UtUGd1QXJMRmZ7bWFyZ2luLXRvcDoxMnB4fS5kZXNjcmlwdGlvbi1qZW5OVnNfQ3ttYXJnaW4tYm90dG9tOjhweDttYXJnaW4tdG9wOjRweH0ubW9kZS1qZW5OVnNfQ3thbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo4cHg7ZGlzcGxheTpmbGV4O2hlaWdodDozMHB4fS5hY3Rpb25zLWplbk5Wc19De2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9LmFjdGlvbnMtamVuTlZzX0MgYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4tYm90dG9tOjB9LmxpbmstamVuTlZzX0MsLmxpbmstamVuTlZzX0M6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saW5rLWplbk5Wc19DOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0ubGluay1qZW5OVnNfQzphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0ubGluay1qZW5OVnNfQzpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5saW5rLWplbk5Wc19DOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0ubGluay1qZW5OVnNfQzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxpbmstamVuTlZzX0M6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87673.afd101bd973de435fe4a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.888Z","timestamp":1785136901888,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/87673.afd101bd973de435fe4a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2ee9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1922d3a2e2d83fa5eaa0fc067d99aaea\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":12009,"size_decoded":3657,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (12009), with no line terminators","md5":"4bf3abdfbef4bb3ad462d0268797a958","sha1":"91ea7eff13ce3fe123701cfec9439574fc6c83a2","sha256":"91e0aa4d19b28419c8d285059240e0284fb153072c6b5c2fdd99b1b6a8928983","sha512":"c6986e30de2f4f72f15db0a53a0d5253d4791fd5be57e56b39b3b1d7dcabd26da545d15820dced8597a502af0909ee4e15fc981465fb3e22d3e0736242f73d82","ssdeep":"192:he1cejV/ri1iHefj8RzOQmLHL28QJHRhhzY/ssLggREF08C69qJA4:glgyArEHJNsLo9t4","tlshash":"3a42a784a3401379f8976b69d3ba838c5824ee9598174ffff712ea2441c23f750b6d49","first_seen":"2026-07-19T21:33:34.120052Z","last_seen":"2026-07-28T04:48:50.55334Z","times_seen":58,"resource_available":false,"data":"LmZpcnN0Um93SGVhZC1sQ2t1U3RUayB0aHtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2JveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgdmFyKC0tY29sb3ItYm9yZGVyKTtoZWlnaHQ6dmFyKC0tb3B0aW9ucy10YWJsZS1yb3ctaGVpZ2h0KTtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7cGFkZGluZzowIHZhcigtLW9wdGlvbnMtdGFibGUtY2VsbC1ob3J6LXBhZGRpbmcpO3RleHQtYWxpZ246Y2VudGVyO3RvcDowfS5maXJzdFJvd1RleHQtbENrdVN0VGt7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1vcHRpb25zLXRhYmxlLWhvcml6b250YWwtcGFkZGluZyk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLW9wdGlvbnMtdGFibGUtaG9yaXpvbnRhbC1wYWRkaW5nKTtwb3NpdGlvbjpzdGlja3l9LnNlY29uZFJvd0hlYWQtbENrdVN0VGsgdGh7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO3RvcDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpfS5maXJzdFJvd0hlYWQtbENrdVN0VGsgdGgsLnNlY29uZFJvd0hlYWQtbENrdVN0VGsgdGh7cG9zaXRpb246c3RpY2t5O3otaW5kZXg6Mn0udGgtbENrdVN0VGt7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKTtib3gtc2hhZG93Omluc2V0IDAgLTFweCAwIHZhcigtLWNvbG9yLWJvcmRlcik7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttaW4td2lkdGg6Y2FsYyh2YXIoLS1jb2x1bW4td2lkdGgpICsgdmFyKC0tb3B0aW9ucy10YWJsZS1jZWxsLWhvcnotcGFkZGluZykqMik7cGFkZGluZzowIHZhcigtLW9wdGlvbnMtdGFibGUtY2VsbC1ob3J6LXBhZGRpbmcpO3doaXRlLXNwYWNlOm5vd3JhcH0udGgtbENrdVN0VGs6Zmlyc3QtY2hpbGR7cGFkZGluZy1pbmxpbmUtc3RhcnQ6dmFyKC0tb3B0aW9ucy10YWJsZS1ob3Jpem9udGFsLXBhZGRpbmcpfS50aC1sQ2t1U3RUazpsYXN0LWNoaWxke3BhZGRpbmctaW5saW5lLWVuZDp2YXIoLS1vcHRpb25zLXRhYmxlLWhvcml6b250YWwtcGFkZGluZyl9LmNlbnRyYWwtbENrdVN0VGt7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb24tY2hhaW4tY2VudHJhbC1jZWxsLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KSl9LmFsaWduTGVmdC1sQ2t1U3RUa3t0ZXh0LWFsaWduOnN0YXJ0fS5hbGlnbkNlbnRlci1sQ2t1U3RUa3t0ZXh0LWFsaWduOmNlbnRlcn0uYWxpZ25SaWdodC1sQ2t1U3RUa3t0ZXh0LWFsaWduOmVuZH0uY29udGFpbmVyLUVmSjlJSFZhey0tb3B0aW9ucy10YWJsZS1yb3ctaGVpZ2h0OjQxcHg7LS1vcHRpb25zLXRhYmxlLWNlbGwtaG9yei1wYWRkaW5nOjEycHg7LS1vcHRpb25zLXRhYmxlLWhvcml6b250YWwtcGFkZGluZzp2YXIoLS1vcHRpb25zLXRhYmxlLWNlbGwtaG9yei1wYWRkaW5nKTstLW9wdGlvbnMtdGFibGUtYm9keS1ib3R0b206OHB4O2hlaWdodDoxMDAlO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LndyYXBwZXItRWZKOUlIVmF7YmFja2dyb3VuZC1hdHRhY2htZW50OmxvY2FsO2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsdmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKSx2YXIoLS1jb2xvci1ib3JkZXItdGFibGUpIDFweCx2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKSAxcHgsdmFyKC0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSkgMTRweCl9LndyYXBwZXItRWZKOUlIVmE6ZGlyKHJ0bCl7YmFja2dyb3VuZC1pbWFnZTpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHZhcigtLWNvbG9yLWJvcmRlci10YWJsZSksdmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKSAxcHgsdmFyKC0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSkgMXB4LHZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpIDE0cHgpfS50YWJsZS1FZko5SUhWYXttaW4td2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZX0uZm9vdGVyQ2VsbC1FZko5SUhWYXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2JvdHRvbTotMXB4O2hlaWdodDpjYWxjKHZhcigtLW9wdGlvbnMtdGFibGUtYm9keS1ib3R0b20pICsgMXB4KTtwb3NpdGlvbjpzdGlja3l9Lml0ZW0temd0VUJFNFd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLXdpZHRoOjM4cHh9Lml0ZW0temd0VUJFNFc6b25seS1jaGlsZHt3aWR0aDoxMDAlfS5pdGVtLXpndFVCRTRXKy5pdGVtLXpndFVCRTRXe21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5pdGVtQ29udGVudC16Z3RVQkU0V3thbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleH0uY291bnRlci16Z3RVQkU0V3ttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHItSTdiWmhWZnl7Y29udGFpbi1pbnRyaW5zaWMtc2l6ZTphdXRvIHZhcigtLW9wdGlvbnMtdGFibGUtcm93LWhlaWdodCk7Y29udGVudC12aXNpYmlsaXR5OmF1dG99LnRyLUk3YlpoVmZ5W2RhdGEtaG92ZXItcGFydD1jYWxsXSB0ZFtkYXRhLWNlbGwtcGFydD1jYWxsXSwudHItSTdiWmhWZnlbZGF0YS1ob3Zlci1wYXJ0PXB1dF0gdGRbZGF0YS1jZWxsLXBhcnQ9cHV0XXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCl9LnRkLUk3YlpoVmZ5e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci10YWJsZSk7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTtwYWRkaW5nOjAgdmFyKC0tb3B0aW9ucy10YWJsZS1jZWxsLWhvcnotcGFkZGluZyk7dGV4dC1hbGlnbjplbmR9LnRkLUk3YlpoVmZ5OmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLW9wdGlvbnMtdGFibGUtaG9yaXpvbnRhbC1wYWRkaW5nKX0udGQtSTdiWmhWZnk6bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tb3B0aW9ucy10YWJsZS1ob3Jpem9udGFsLXBhZGRpbmcpfS5hbGlnbkxlZnQtSTdiWmhWZnl7dGV4dC1hbGlnbjpzdGFydH0uYWxpZ25DZW50ZXItSTdiWmhWZnl7dGV4dC1hbGlnbjpjZW50ZXJ9LmNvbG9ySW5UaGVNb25leS1JN2JaaFZmeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpfS5jZW50ZXItSTdiWmhWZnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb24tY2hhaW4tY2VudHJhbC1jZWxsLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KSl9LnNlbGVjdGVkLUk3YlpoVmZ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpfS5uYXZpZ2F0ZWQtSTdiWmhWZnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5mbGFzaEhpZ2hsaWdodC1JN2JaaFZmeSAudGQtSTdiWmhWZnl7YW5pbWF0aW9uOmZsYXNoSGlnaGxpZ2h0LWFuaW1hdGlvbi1JN2JaaFZmeSAuNXMgbGluZWFyfUBrZXlmcmFtZXMgZmxhc2hIaWdobGlnaHQtYW5pbWF0aW9uLUk3YlpoVmZ5ezAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCl9OTkle2JhY2tncm91bmQtY29sb3I6dmFyKC0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSl9dG97YmFja2dyb3VuZC1jb2xvcjp1bnNldH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYTA1UzojMDAwMDstLV8xLWEwNVM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi1hMDVTOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzMtYTA1Uzp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1hMDVTOiMwMDAwOy0tXzEtYTA1Uzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLV8yLWEwNVM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMy1hMDVTOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS5yb290LURyNzM5UnM0ey0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aDozMnB4O2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsucm9vdC1EcjczOVJzNHstLW9wdGlvbnMtcGlja2VyLWJsdXItd2lkdGg6MTgwcHh9fS5zY3JvbGxDb250YWluZXItRHI3MzlSczR7ZGlzcGxheTpmbGV4O21hcmdpbi1ibG9jazowIC00cHg7bWFyZ2luLWlubGluZTotNHB4IC00cHg7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYmxvY2s6MCA0cHg7cGFkZGluZy1pbmxpbmU6NHB4IDRweDtzY3JvbGwtcGFkZGluZzp2YXIoLS1vcHRpb25zLXBpY2tlci1ibHVyLXdpZHRoKX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0e3Njcm9sbGJhci13aWR0aDpub25lfX0uc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0LnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnNjcm9sbENvbnRhaW5lci1EcjczOVJzNDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZ3JvdXAtRHI3MzlSczR7ZGlzcGxheTpncmlkO2ZsZXg6MCAxIGF1dG99Lmdyb3VwLURyNzM5UnM0Ky5ncm91cC1EcjczOVJzNHttYXJnaW4taW5saW5lLXN0YXJ0OjhweH0uZ3JvdXAtRHI3MzlSczQrLnN1Ymdyb3VwLURyNzM5UnM0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MTJweH0uZ3JvdXBUaXRsZS1EcjczOVJzNHtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7d2lkdGg6MTAwJX0ubGVmdEZhZGUtRHI3MzlSczR7LS1vcHRpb25zLXBpY2tlci10aXRsZS1sZWZ0OmNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkvNCl9LnJpZ2h0RmFkZS1EcjczOVJzNHstLW9wdGlvbnMtcGlja2VyLXRpdGxlLXJpZ2h0OmNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkvNCl9Lmdyb3VwLURyNzM5UnM0Om5vdCgub25lR3JvdXAtRHI3MzlSczQpIC5ncm91cFRpdGxlLURyNzM5UnM0IHNwYW57aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1vcHRpb25zLXBpY2tlci10aXRsZS1yaWdodCwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tb3B0aW9ucy1waWNrZXItdGl0bGUtbGVmdCwwKTtwb3NpdGlvbjpzdGlja3k7d2hpdGUtc3BhY2U6bm93cmFwfS5sZWZ0RmFkZS1EcjczOVJzNCAub25lR3JvdXAtRHI3MzlSczQgLmdyb3VwVGl0bGUtRHI3MzlSczQgc3BhbiwucmlnaHRGYWRlLURyNzM5UnM0IC5vbmVHcm91cC1EcjczOVJzNCAuZ3JvdXBUaXRsZS1EcjczOVJzNCBzcGFue2luc2V0LWlubGluZS1lbmQ6YXV0bztpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfS5sZWZ0RmFkZS1EcjczOVJzNCAub25lR3JvdXAtRHI3MzlSczQgLmdyb3VwVGl0bGUtRHI3MzlSczQgc3BhbjpkaXIocnRsKSwucmlnaHRGYWRlLURyNzM5UnM0IC5vbmVHcm91cC1EcjczOVJzNCAuZ3JvdXBUaXRsZS1EcjczOVJzNCBzcGFuOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9LnN1Ymdyb3VwLURyNzM5UnM0IC5ncm91cFRpdGxlLURyNzM5UnM0e21pbi13aWR0aDo2NHB4fS5yb290LURyNzM5UnM0OmFmdGVyLC5yb290LURyNzM5UnM0OmJlZm9yZXtib3R0b206MDtib3gtc2hhZG93Omluc2V0IGNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkqLTEpIDAgY2FsYyh2YXIoLS1vcHRpb25zLXBpY2tlci1ibHVyLXdpZHRoKS8yKSBjYWxjKHZhcigtLW9wdGlvbnMtcGlja2VyLWJsdXItd2lkdGgpKi0xLzIpIHZhcigtLW9wdGlvbnMtcGlja2VyLWJsdXItY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2NvbnRlbnQ6IiI7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZS1vdXQ7d2lkdGg6dmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCk7ei1pbmRleDoxfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5yb290LURyNzM5UnM0OmFmdGVyLC5yb290LURyNzM5UnM0OmJlZm9yZXt0cmFuc2l0aW9uOm5vbmV9fS5yb290LURyNzM5UnM0OmFmdGVyOmRpcihydGwpLC5yb290LURyNzM5UnM0OmJlZm9yZTpkaXIocnRsKXtib3gtc2hhZG93Omluc2V0IGNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkqMSkgMCBjYWxjKHZhcigtLW9wdGlvbnMtcGlja2VyLWJsdXItd2lkdGgpLzIpIGNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkqLTEvMikgdmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSl9LnJvb3QtRHI3MzlSczQ6YWZ0ZXJ7aW5zZXQtaW5saW5lLWVuZDotNHB4fS5yb290LURyNzM5UnM0OmJlZm9yZXtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnJvb3QtRHI3MzlSczQ6YmVmb3JlOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmxlZnRGYWRlLURyNzM5UnM0OmJlZm9yZSwucmlnaHRGYWRlLURyNzM5UnM0OmFmdGVye29wYWNpdHk6MX0ucm9vdC1EcjczOVJzNCAubGVmdEFycm93LURyNzM5UnM0LC5yb290LURyNzM5UnM0IC5yaWdodEFycm93LURyNzM5UnM0ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1iZzp2YXIoLS1fMy1hMDVTKTtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZS1vdXQ7ei1pbmRleDoyfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5yb290LURyNzM5UnM0IC5sZWZ0QXJyb3ctRHI3MzlSczQsLnJvb3QtRHI3MzlSczQgLnJpZ2h0QXJyb3ctRHI3MzlSczR7dHJhbnNpdGlvbjpub25lfX0ubGVmdEFycm93LURyNzM5UnM0e2luc2V0LWlubGluZS1zdGFydDowfS5sZWZ0QXJyb3ctRHI3MzlSczQgc3Zne3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0ubGVmdEFycm93LURyNzM5UnM0IHN2ZzpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKDApfS5yaWdodEFycm93LURyNzM5UnM0e2luc2V0LWlubGluZS1lbmQ6MH0ucmlnaHRBcnJvdy1EcjczOVJzNCBzdmd7dHJhbnNmb3JtOnJvdGF0ZSgwKX0ucmlnaHRBcnJvdy1EcjczOVJzNCBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsubGVmdEZhZGUtRHI3MzlSczQgLmxlZnRBcnJvdy1EcjczOVJzNCwucmlnaHRGYWRlLURyNzM5UnM0IC5yaWdodEFycm93LURyNzM5UnM0e29wYWNpdHk6MX19Lml0ZW1zLURyNzM5UnM0e2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjRweH0uc2tlbGV0b25Db250YWluZXItaWpSaEV3dVl7cG9pbnRlci1ldmVudHM6bm9uZX0ub3B0aW9uc0NoYWluLWlqUmhFd3VZey0tb3B0aW9uLWNoYWluLWNlbnRyYWwtY2VsbC1iZy1jb2xvcjp2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnNrZWxldG9uUmVjdGFuZ2xlLWlqUmhFd3VZe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTtib3JkZXItcmFkaXVzOjRweDttYXJnaW46MCBhdXRvfS5zZXJpZXNHcm91cENlbGwtaWpSaEV3dVl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItdGFibGUpO2hlaWdodDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLUc1X3U6dXJsKHVmby1hbmQtY293LTEyMHgxMjAuODM2ZGZhOTkzNGU1OGIwZTc4OTguc3ZnKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUc1X3U6dXJsKHVmby1hbmQtY293LTEyMHgxMjAtZGFyay40Y2NkNGU4NzRkNDM0MWQyZjk1ZC5zdmcpfS5ibG9jay1zaEt4c3pzeHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9LmVtcHR5U3RhdGVJY29uLXNoS3hzenN4e2JhY2tncm91bmQtaW1hZ2U6dmFyKC0tXzAtRzVfdSk7aGVpZ2h0OjEyMHB4O3dpZHRoOjEyMHB4fS5hcnJvdy1tSkFpMVQwaXt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2V9Lm9wZW4tbUpBaTFUMGl7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5vcGVuLW1KQWkxVDBpOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmFjdGl2ZS1tSkFpMVQwaXtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS10ZXh0KX0ubm9uQWN0aXZlLW1KQWkxVDBpe2NvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dCl9LnBpbGxJY29uLWo1TkcwVlZUe21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1pY29uLW1hcmdpbi1sZWZ0LDApfS5hY3RpdmUtajVORzBWVlR7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dCl9Lm5vbkFjdGl2ZS1qNU5HMFZWVHtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXRleHQpfS5yb290LXlCS0NlQU5xe3Bvc2l0aW9uOnJlbGF0aXZlfS5zY3JvbGxDb250YWluZXIteUJLQ2VBTnF7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0b31Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xe3Njcm9sbGJhci13aWR0aDpub25lfX0uc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xLnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnNjcm9sbENvbnRhaW5lci15QktDZUFOcTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZ3JvdXAteUJLQ2VBTnF7ZmxleDowIDEgYXV0b30uZ3JvdXAteUJLQ2VBTnErLmdyb3VwLXlCS0NlQU5xe21hcmdpbi1pbmxpbmUtc3RhcnQ6NnB4fS5ncm91cFRpdGxlLXlCS0NlQU5xe2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoyOHB4O3dpZHRoOjEwMCV9Lml0ZW1zLXlCS0NlQU5xe2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjRweH0uaXRlbS15QktDZUFOcXtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjhweDt3aWR0aDozOHB4fS5pdGVtLXlCS0NlQU5xKy5pdGVtLXlCS0NlQU5xe21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5yb290LVdNTE55NV93e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLWhlaWdodDowfS5jZWxsLUF0UllySlBue2Rpc3BsYXk6aW5saW5lLWZsZXg7Z2FwOjJweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnNvcnRBY3RpdmUtQXRSWXJKUG57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Zm9udC13ZWlnaHQ6NTAwfS5zb3J0SWNvbi1BdFJZckpQbntmbGV4LXNocmluazowO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uc29ydEljb24tQXRSWXJKUG46ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0uc29ydEljb24tQXRSWXJKUG4uc29ydERlc2MtQXRSWXJKUG57dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0ubGF5b3V0LXBlSlVTUmRae2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjA7cGFkZGluZzowIDhweH0uc3RyZXRjaC1wZUpVU1JkWnt3aWR0aDoxMDAlfS5zcGFjZS1wZUpVU1JkWntmbGV4OjF9LmVuZFRleHRTbG90LXBlSlVTUmRaLC5zdGFydFRleHRTbG90LXBlSlVTUmRae21pbi13aWR0aDowO3BhZGRpbmc6MCA0cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCETC.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.483Z","timestamp":1785136905483,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCETC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/13809.c2bb1623ced77ad07f9c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.320Z","timestamp":1785136900320,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13809.c2bb1623ced77ad07f9c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: efcb0e80ef720c9c1ef24872c898b64d\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8010,"size_decoded":2518,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8010), with no line terminators","md5":"4f0cb68a495862c356ff327ec986f404","sha1":"77305dc905a65eed86ee7c9297d7a3077ae28681","sha256":"30068922a8c864edfc76ec495f5824dc74a5bf90ffbdf13361962b688b876c0b","sha512":"68ba4919ba3409e0c8a9821aeb3de864470ef059bf11eb630b556a3f334f2eac8ab99a13abb1be0c8d86cd217e68af6a82864ad1415f3e54e02b762ef432c2e5","ssdeep":"96:DojZtH5/5CHWuyfvKH3qLs3uBGKKloim/QEann:2tHr+wfvKXLDXmYNnn","tlshash":"86f1ae05e1b463ba74bb8d5cb784dc5a6300d2b3ce24d7dff690680a85c65872e6b88d","first_seen":"2026-04-16T17:44:11.976987Z","last_seen":"2026-08-10T05:01:09.564072Z","times_seen":1213,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaUE5STp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9LnR2LWNvbnRyb2wtZmllbGRzZXR7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjMwcHg7bWluLXdpZHRoOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWNvbnRyb2wtZmllbGRzZXQtLXNwYWNpbmdfeHNtYWxse21hcmdpbi1ib3R0b206MTBweH0udHYtY29udHJvbC1maWVsZHNldC0tZmlyc3R7bWFyZ2luLXRvcDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtY29udHJvbC1maWVsZHNldHttYXJnaW4tYm90dG9tOjIwcHh9fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtc3RhcnR9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS12ZXJ0aWNhbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse2Zsb2F0Om5vbmV9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jaGVja2JveCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLWNoZWNrYm94e3BhZGRpbmctdG9wOjJweCFpbXBvcnRhbnR9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWV7ZmxvYXQ6bm9uZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVse2NsZWFyOmlubGluZS1zdGFydDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOjEzcHg7cGFkZGluZy1ibG9jazoxMHB4IDA7cGFkZGluZy1pbmxpbmU6MCAyMHB4O3dpZHRoOjMwJX0udHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXRvcHtwYWRkaW5nLXRvcDowfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tdmVydGljYWx7cGFkZGluZzowIDAgNHB4O3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jb2xvcl9kYXJre2NvbG9yOnZhcigtLV8wLWlBOUkpfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0td2lkdGhfc21hbGx7d2lkdGg6MjYlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXdpZHRoX3NtYWxse3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tc2l6ZV9zbWFsbHtwYWRkaW5nLXRvcDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHtwYWRkaW5nOjAgMCAxMHB4O3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxMnB4O2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246c3VwZXJ9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLWljb24gc3Zne2hlaWdodDoxMDAlO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle3dpZHRoOjcwJX0udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6NzQlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUsLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6YXV0b319LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RleHR7bWFyZ2luLWJvdHRvbToxMnB4fS50di1jb250cm9sLWZpZWxkc2V0X190ZXh0Omxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldC0tYmxvY2sgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle2Zsb2F0Om5vbmU7cGFkZGluZzowO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHttYXJnaW4tYm90dG9tOjEwcHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2x7ZGlzcGxheTpibG9ja30udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtY29udHJvbC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2wubGluazpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2lucHV0LXZhbHVle2ZsZXg6MTttYXJnaW4taW5saW5lLWVuZDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG57cGFkZGluZzowfS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG4gc3Zne21hcmdpbi1ib3R0b206MXB4fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1lbmQ6NXB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19zaW5nbGUtaWNvbi1idG57cGFkZGluZzowIDEycHh9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3NpbmdsZS1pY29uLWJ0biBzdmd7bWFyZ2luLWJvdHRvbTo0cHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RyYXNoLWljb24gc3Zne2NvbG9yOnJlZH0udHYtY29udHJvbC1maWVsZHNldF9faGludHtjb2xvcjp2YXIoLS1fMS1pQTlJKTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDoxMHB4fS50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1udW1iZXItaW5wdXRfX2lucHV0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLW51bWJlci1pbnB1dF9faW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sW2Rpc2FibGVkXTo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWljb25zKX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1FWFJ4OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtRVhSeDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0udHYtY29udHJvbC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEzcHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowIDEycHg7d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZSxiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO29wYWNpdHk6MX0udHYtY29udHJvbC1pbnB1dDotd2Via2l0LWF1dG9maWxsey13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApIWltcG9ydGFudDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDEwMDBweCAjZmZmIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC0tc2l6ZV94c21hbGx7aGVpZ2h0OjE5cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfc21hbGx7aGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfbGFyZ2V7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjQ4cHh9LnR2LWNvbnRyb2wtaW5wdXQtLWNvbm5lY3R7Ym9yZGVyLWlubGluZS1lbmQ6MDtib3JkZXItaW5saW5lLXN0YXJ0OjA7Ym9yZGVyLXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X2xlZnR7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MDtib3JkZXItaW5saW5lLXN0YXJ0Om5vbmU7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1pbmxpbmUtZW5kOm5vbmU7Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MH0udHYtY29udHJvbC1pbnB1dC0tY29ubmVjdF9yaWdodCNpZF91c2VybmFtZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWNvbnRyb2wtaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtib3JkZXItY29sb3I6dmFyKC0tXzAtRVhSeCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWNvbnRyb2wtaW5wdXRbcmVhZG9ubHldOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkLC50di1jb250cm9sLWlucHV0W2Rpc2FibGVkXXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50O2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDpob3ZlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtaW5wdXQuaS1lcnJvcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0LmktZXJyb3I6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWVycm9yOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKSFpbXBvcnRhbnR9fS50di1jb250cm9sLWlucHV0Lmktc3VjY2VzczphY3RpdmUsLnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWFjdGl2ZSkhaW1wb3J0YW50fS50di1jb250cm9sLWlucHV0LS1waG9uZXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246c3RhcnR9"}},"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/3552.4c5535183b7a0330a89d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.349Z","timestamp":1785136900349,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3552.4c5535183b7a0330a89d.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: f9516ad02328af0d154c234ef75f994e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12194,"size_decoded":4814,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"8cb7d12d58618d9e9433db7cf169e678","sha1":"dd2e2830dd9f4f8c3e4000fb90c94712f7315f67","sha256":"e54bba4bdf7867aec664fc0c023a4e77650464bb7e2e1a2d80ef75500363cd92","sha512":"9c9ce4a19d03df706a0fb6495901a15dd961b87797e48e43669a130ec51d4d3788fcd9e251dd54f1560134509553e5c7a1cc17249ad1f6f562d104b6b10d9a66","ssdeep":"192:ETCSGJXJ6h4GX8tWKEN7Nbj61RO2g6OQLgwF8TEz5XnC/x6/v60KjBHAH4yiFbBw:EmSGehtqWNN7Nbj61ROQLRF8TkVNjaAj","tlshash":"ab42b53d719358a8666780e980390b7ba6283980a58741bcfb78dccf46cddd46277f38","first_seen":"2026-07-22T11:33:41.980937Z","last_seen":"2026-07-28T07:05:00.655129Z","times_seen":1853,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTUyXSx7NDUwMjk1KHQpe3QuZXhwb3J0cz17fX0sNDYyMzUodCl7dC5leHBvcnRzPXt9fSw5NzMxMTkodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7cXVvdGVUaWNrZXJGb3JtYXRDaGFuZ2U6KCk9Pm59KTt2YXIgaT1zKDc1NTYyNyksYT1zKDk4NDM3Nik7dmFyIG89cygyMTYxMSk7ZnVuY3Rpb24gbih0LGUscyl7Y29uc3Qgbj0oMCxvLnRvTnVtYmVyT3JVbmRlZmluZWQpKHQpO2lmKCJlY29ub21pYyI9PT1lPy50eXBlJiYwPT09bnx8dm9pZCAwPT09bilyZXR1cm47Y29uc3QgbD1zPy5jdXN0b21QcmljZUZvcm1hdHRlcnx8InZvbHVtZSI9PT1lLmZvcm1hdCYmbmV3IGEuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pfHxuZXcgaS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTplLnByaWNlc2NhbGV8fDEwMCxtaW5Nb3ZlOmUubWlubW92fHwxLGZyYWN0aW9uYWw6ZS5mcmFjdGlvbmFsLG1pbk1vdmUyOmUubWlubW92ZTJ9KSxyPXZvaWQgMCE9PXM/LnNpZ25Qb3NpdGl2ZUNoYW5nZT9zLnNpZ25Qb3NpdGl2ZUNoYW5nZTpzPy5zaWduUG9zaXRpdmU7cmV0dXJuKCh0LGU9ITApPT5lP2AoJHt0fSlgOnQpKGwuZm9ybWF0KG4se3NpZ25Qb3NpdGl2ZTpyLHNpZ25OZWdhdGl2ZTpzPy5zaWduTmVnYXRpdmV9KSxzPy5jaGFuZ2VJbkJyYWNrZXRzKX19LDYwMjg3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3F1b3RlVGlja2VyRm9ybWF0Q3VycmVuY3k6KCk9PmF9KTt2YXIgaT1zKDE4NTI3MSk7ZnVuY3Rpb24gYSh0KXtzd2l0Y2godCl7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtjYXNlIlBDVERZIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDQ0NTA1KSk7Y2FzZSJQQ1RQQVIiOnJldHVybiBpLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNDY4NDYwKSk7ZGVmYXVsdDpyZXR1cm4gdH19Nzg2NzYwKHQsZSxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4ibWN4X2ZyZWUiPT09dH1mdW5jdGlvbiBhKHQpe3JldHVybiEhdCYmKGkodC5zeW1ib2xuYW1lKXx8InBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZpKHQudmFsdWVzPy5hbHRlcm5hdGl2ZSkpfXMuZChlLHtpc01jeFF1b3RlRGF0YTooKT0+YX0pfSwxMDE3MTIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3JldHVybiB0LmVuZHNXaXRoKCJfZGx5Iil9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hIXQmJighKHZvaWQgMD09PXQuc3ltYm9sbmFtZXx8IWkodC5zeW1ib2xuYW1lKSl8fEJvb2xlYW4oInBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZ0LnZhbHVlcyYmdm9pZCAwIT09dC52YWx1ZXMuYWx0ZXJuYXRpdmUmJmkodC52YWx1ZXMuYWx0ZXJuYXRpdmUpKSl9cy5kKGUse2lzU2ZRdW90ZURhdGE6KCk9PmF9KX0sMjAyNDYwKHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Fic3RyYWN0SW5kaWNhdG9yOigpPT5sfSk7dmFyIGk9cygyMjEwNjEpLGE9cygxNTAxNTApLG89cygxNTk1MTMpO3MoMzQ0Nzg1KTtjb25zdCBuPSgwLGkuZ2V0TG9nZ2VyKSgiR1VJLkJsb2Nrcy5BYnN0cmFjdEluZGljYXRvciIpO2NsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5fY2xhc3NTdWZmaXg9IiIsdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJhYnN0cmFjdC1pbmRpY2F0b3IiLHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9zaG93VG9vbHRpcD0hMCx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX3Rvb2x0aXBUeXBlPSJjdXN0b20iLHRoaXMuX2xhc3RUb29sdGlwVGV4dD0iIix0aGlzLl9xdW90ZVNlc3Npb249dC5xdW90ZVNlc3Npb259Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Z2V0VG9vbHRpcFRleHQoKXtyZXR1cm4gdGhpcy5fbGFiZWxNYXBbdGhpcy5fdmFsdWVdfHwiIn1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZWx9dXBkYXRlKHQsZSl7dGhpcy5fdXBkYXRlVmFsdWUodCxlKSx0aGlzLl9yZW5kZXIoKX1zZXRUb29sdGlwRW5hYmxlZCh0PSExKXt0aGlzLl9zaG93VG9vbHRpcCE9PXQmJih0aGlzLl9zaG93VG9vbHRpcD10LHRoaXMuX3JlbmRlclRvb2x0aXAoKSl9ZW5hYmxlU2hvcnRNb2RlKCl7ITAhPT10aGlzLl9zaG9ydE1vZGUmJih0aGlzLl9zaG9ydE1vZGU9ITAsdGhpcy5fcmVuZGVyKCkpfWRpc2FibGVTaG9ydE1vZGUoKXshMSE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLG8uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKHQpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09dCYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQsdGhpcy5fcmVuZGVyKCkpfV9pbml0KHQpe3RoaXMuX2VsPXQuZWw/dC5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPXQuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPXQuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPXQubGFiZWxNYXAsCnRoaXMuX3Nob3dUb29sdGlwPXQuc2hvd1Rvb2x0aXAsdGhpcy5fY2xhc3NTdWZmaXg9dC5jbGFzc1N1ZmZpeCx0aGlzLl9zeW1ib2xOYW1lPXQuc3ltYm9sLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQuc2Vzc2lvblN0YXR1c0ljb24sdGhpcy5fb25WYWx1ZUNoYW5nZT10Lm9uVmFsdWVDaGFuZ2UsdC50b29sdGlwVHlwZSYmKHRoaXMuX3Rvb2x0aXBUeXBlPXQudG9vbHRpcFR5cGUpLHRoaXMuX3F1b3RlU2Vzc2lvbkdVSUQ9KDAsYS5ndWlkKSgpLCEwPT09dC5zaG9ydCYmdGhpcy5lbmFibGVTaG9ydE1vZGUoKSx0LmRhdGEmJnRoaXMuX3VwZGF0ZVZhbHVlKHQuZGF0YSl9X2NsZWFyQ2xhc3Nlcygpe09iamVjdC52YWx1ZXModGhpcy5fY2xhc3NNYXApLm1hcCgodD0+e3RoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7dH1gKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGAke3R9JHt0aGlzLl9jbGFzc1N1ZmZpeH1gKX0pKX1fcmVuZGVyKCl7dGhpcy5fcmVuZGVyQ2xhc3NlcygpLHRoaXMuX3JlbmRlclRvb2x0aXAoKSx0aGlzLl9yZW5kZXJMYWJlbCgpfV9yZW5kZXJMYWJlbCgpe3RoaXMuX2VsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fdXBkYXRlVmFsdWUodCxlKXtjb25zdCBzPXRoaXMuX2dldFZhbHVlRnJvbURhdGEodCk7KGV8fHMhPT10aGlzLl92YWx1ZSkmJih0aGlzLl92YWx1ZT1zLHRoaXMuX29uVmFsdWVDaGFuZ2U/Lih0aGlzLl92YWx1ZSkpfV9yZW5kZXJDbGFzc2VzKCl7Y29uc3QgdD10aGlzLl9lbC5jbGFzc0xpc3Q7dC5hZGQodGhpcy5fY29tcG9uZW50Q2xhc3MsdGhpcy5fY29tcG9uZW50Q2xhc3MrdGhpcy5fY2xhc3NTdWZmaXgpO2NvbnN0IGU9dGhpcy5fY2xhc3NNYXBbdGhpcy5fdmFsdWVdO2Zvcihjb25zdCBzIGluIHRoaXMuX2NsYXNzTWFwKXtjb25zdCBpPXRoaXMuX2NsYXNzTWFwW3NdO2kmJihpPT09ZT8odC5hZGQoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5hZGQoaSsiX193aXRoSWNvbiIpKToodC5yZW1vdmUoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5yZW1vdmUoaSsiX193aXRoSWNvbiIpKSl9IWUmJnRoaXMuX3ZhbHVlJiZuLmxvZ1dhcm4oYG5vIGNsYXNzTmFtZSBmb3Igc3RhdHVzICR7dGhpcy5fdmFsdWV9YCl9X3JlbmRlclRvb2x0aXAoKXtjb25zdCB0PXRoaXMuX3Nob3dUb29sdGlwP3RoaXMuZ2V0VG9vbHRpcFRleHQoKToiIjt0IT09dGhpcy5fbGFzdFRvb2x0aXBUZXh0JiYodGhpcy5fbGFzdFRvb2x0aXBUZXh0PXQsdGhpcy5fZWwuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdCksImN1c3RvbSI9PT10aGlzLl90b29sdGlwVHlwZSYmdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHRoaXMuX3Nob3dUb29sdGlwKSl9X2dldFF1b3RlU2Vzc2lvbklkKCl7cmV0dXJuYCR7dGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4fS4ke3RoaXMuX3F1b3RlU2Vzc2lvbkdVSUR9YH19fSwzMDY5MCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtEYXRhTW9kZUluZGljYXRvcjooKT0+ZH0pO3ZhciBpLGE9cygxODUyNzEpLG89KHMoODI5MTgwKSxzKDQ1MDI5NSkscygyMDI0NjApKTshZnVuY3Rpb24odCl7dC5EZWxheWVkPSJkZWxheWVkIix0LkRlbGF5ZWRTdHJlYW1pbmc9ImRlbGF5ZWRfc3RyZWFtaW5nIix0LkVuZE9mRGF5PSJlbmRvZmRheSIsdC5TbmFwc2hvdD0ic25hcHNob3QiLHQuUmVhbHRpbWU9InJlYWx0aW1lIix0LkNvbm5lY3Rpbmc9ImNvbm5lY3RpbmciLHQuTG9hZGluZz0ibG9hZGluZyIsdC5JbnZhbGlkPSJpbnZhbGlkIix0LkZvcmJpZGRlbj0iZm9yYmlkZGVuIix0LlN0cmVhbWluZz0ic3RyZWFtaW5nIn0oaXx8KGk9e30pKTtjb25zdCBuPXtjb25uZWN0aW5nOiJ0di1kYXRhLW1vZGUtLWNvbm5lY3RpbmciLGRlbGF5ZWQ6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZGVsYXllZF9zdHJlYW1pbmc6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZW5kb2ZkYXk6InR2LWRhdGEtbW9kZS0tZW5kb2ZkYXkiLGZvcmJpZGRlbjoidHYtZGF0YS1tb2RlLS1mb3JiaWRkZW4iLHJlYWx0aW1lOiJ0di1kYXRhLW1vZGUtLXJlYWx0aW1lIixzbmFwc2hvdDoidHYtZGF0YS1tb2RlLS1zbmFwc2hvdCIsbG9hZGluZzoidHYtZGF0YS1tb2RlLS1sb2FkaW5nIixyZXBsYXk6InR2LWRhdGEtbW9kZS0tcmVwbGF5In07ZnVuY3Rpb24gbCgpe3JldHVybntjb25uZWN0aW5nOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfY29ubmVjdGluZ19sZXR0ZXIifSxzKDg1OTk5NCkpLGRlbGF5ZWQ6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LHMoODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxzKDM5NDUwMSkpLGVuZG9mZGF5OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxzKDU3MDkzOSkpLGZvcmJpZGRlbjphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxzKDM5NDkyMSkpLHJlYWx0aW1lOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0scyg4NjY0NCkpLHNuYXBzaG90OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0scygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxzKDc1NjQ1NykpfX1jb25zdCByPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgZCBleHRlbmRzIG8uQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KHQpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9CnNldE1vZGUodCxlKXt0aGlzLnVwZGF0ZSh7dmFsdWVzOnt1cGRhdGVfbW9kZTp0LHVwZGF0ZV9tb2RlX3NlY29uZHM6ZX19KX1oaWRlKCl7dGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKX1zaG93KCl7dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX1nZXRUb29sdGlwVGV4dCgpe2xldCB0PSIiO2NvbnN0IGU9dGhpcy5nZXRWYWx1ZSgpO2lmKCIiPT09ZSlyZXR1cm4gdDtzd2l0Y2goZSl7Y2FzZSJkZWxheWVkIjp0PWEudChudWxsLHZvaWQgMCxzKDc5MDUyNCkpO2JyZWFrO2Nhc2UiZGVsYXllZF9zdHJlYW1pbmciOnQ9YS50KG51bGwsdm9pZCAwLHMoODE0NjEpKTticmVhaztkZWZhdWx0OnQ9dGhpcy5fbGFiZWxNYXBbZV18fHR9cmV0dXJuWyJkZWxheWVkIiwiZGVsYXllZF9zdHJlYW1pbmciXS5pbmNsdWRlcyhlKSYmKHQ9dC5mb3JtYXQoe251bWJlcjpTdHJpbmcoTWF0aC5yb3VuZCh0aGlzLl9tb2RlSW50ZXJ2YWwvNjApKX0pKSx0fV9pbml0KHQ9e30pe2NvbnN0IGU9T2JqZWN0LmFzc2lnbih7fSx7Y2xhc3NNYXA6bixjbGFzc1N1ZmZpeDoiIixkYXRhOnt2YWx1ZXM6e3VwZGF0ZV9tb2RlOiJjb25uZWN0aW5nIn19LGxhYmVsTWFwOntjb25uZWN0aW5nOmEudChudWxsLHZvaWQgMCxzKDE5NDE5NCkpLGRlbGF5ZWQ6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZW5kb2ZkYXk6YS50KG51bGwsdm9pZCAwLHMoNjAxNzY0KSksZm9yYmlkZGVuOmEudChudWxsLHZvaWQgMCxzKDMyODMxMykpLHJlYWx0aW1lOmEudChudWxsLHZvaWQgMCxzKDg4MzkyOCkpLHNuYXBzaG90OmEudChudWxsLHZvaWQgMCxzKDU2MjM5NSkpLGxvYWRpbmc6IiIscmVwbGF5OmEudChudWxsLHZvaWQgMCxzKDk3NzI3KSl9LG1vZGVJbnRlcnZhbDo2MDAsc2hvcnQ6ITEsc2hvcnRMYWJlbE1hcDpsKCksc2hvd1Rvb2x0aXA6ITAsdG9vbHRpcFR5cGU6ImN1c3RvbSJ9LHQpO3RoaXMuX21vZGVJbnRlcnZhbD1lLm1vZGVJbnRlcnZhbHx8NjAwLHRoaXMuX3Nob3J0TGFiZWxNYXA9ZS5zaG9ydExhYmVsTWFwfHxsKCksc3VwZXIuX2luaXQoZSksdGhpcy5fcmVuZGVyKCl9X2dldFZhbHVlRnJvbURhdGEodCl7bGV0IGU7cmV0dXJuIGU9dm9pZCAwIT09dC52YWx1ZXMmJnZvaWQgMCE9PXQudmFsdWVzLnVwZGF0ZV9tb2RlP3QudmFsdWVzLnVwZGF0ZV9tb2RlOnRoaXMuZ2V0VmFsdWUoKSxyW2VdfHxlfV91cGRhdGVWYWx1ZSh0LGUpe3ZvaWQgMCE9PXQudmFsdWVzJiZ2b2lkIDAhPT10LnZhbHVlcy51cGRhdGVfbW9kZV9zZWNvbmRzJiYodGhpcy5fbW9kZUludGVydmFsPXQudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMpLHN1cGVyLl91cGRhdGVWYWx1ZSh0LGUpfX19LDU2MzkxOCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtNYXJrZXRTdGF0dXNJbmRpY2F0b3I6KCk9Pmx9KTt2YXIgaT1zKDE4NTI3MSksYT1zKDIwMjQ2MCk7cyg0NjIzNSk7Y29uc3Qgbz17aW52YWxpZDoidHYtbWFya2V0LXN0YXR1cy0taW52YWxpZCIsbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQiLG91dF9vZl9zZXNzaW9uOiJ0di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbiIscG9zdF9tYXJrZXQ6InR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0IixwcmVfbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IixuaWdodDoidHYtbWFya2V0LXN0YXR1cy0tbmlnaHQiLGxvYWRpbmc6InR2LW1hcmtldC1zdGF0dXMtLWxvYWRpbmciLGhvbGlkYXk6InR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkiLHJlcGxheToidHYtbWFya2V0LXN0YXR1cy0tcmVwbGF5IixkZWxpc3RlZDoidHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQifSxuPXtpbnZhbGlkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1pbnZhbGlkIixtYXJrZXQ6InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW1hcmtldCIsb3V0X29mX3Nlc3Npb246InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW91dC1vZi1zZXNzaW9uIixwb3N0X21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcG9zdC1tYXJrZXQiLG5pZ2h0OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1uaWdodCIscHJlX21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcHJlLW1hcmtldCIsbG9hZGluZzoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tbG9hZGluZyIsaG9saWRheToidHYtbWFya2V0LXN0YXR1c19faWNvbi0taG9saWRheSIscmVwbGF5OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1yZXBsYXkiLGRlbGlzdGVkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1kZWxpc3RlZCJ9O2NsYXNzIGwgZXh0ZW5kcyBhLkFic3RyYWN0SW5kaWNhdG9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMuX3F1b3RlU2Vzc2lvblByZWZpeD0ibWFya2V0LXN0YXR1cy1pbmRpY2F0b3IiLHRoaXMuX2NvbXBvbmVudENsYXNzPSJ0di1tYXJrZXQtc3RhdHVzIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2luaXQodCl9c2V0U3RhdHVzKHQsZSl7Y29uc3Qgcz17dmFsdWVzOntjdXJyZW50X3Nlc3Npb246ImRlbGlzdGVkIj09PXRoaXMuZ2V0VmFsdWUoKT8iZGVsaXN0ZWQiOnR9fTt0aGlzLnVwZGF0ZShzLGUpfWdldFRvb2x0aXBUZXh0KCl7bGV0IHQ9c3VwZXIuZ2V0VG9vbHRpcFRleHQoKTtyZXR1cm4iIj09PXR8fCIiIT09dGhpcy5fZXh0cmFUaXRsZSYmKHQ9YCR7dH0sICR7dGhpcy5fZXh0cmFUaXRsZX1gKSx0fXNldEV4dHJhVGl0bGUodCl7dGhpcy5fZXh0cmFUaXRsZT10fXJlc2V0KCl7dGhpcy5fY2xlYXJDbGFzc2VzKCksdGhpcy5fbGFiZWxFbC50ZXh0Q29udGVudD0iIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLCIiKSx0aGlzLl92YWx1ZT0iIn1lbmFibGVTaG9ydE1vZGUodD0hMCl7dm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpLHN1cGVyLmVuYWJsZVNob3J0TW9kZSgpfWRpc2FibGVTaG9ydE1vZGUoKXsKdm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHN1cGVyLmRpc2FibGVTaG9ydE1vZGUoKX1fcmVuZGVyTGFiZWwoKXt0aGlzLl9sYWJlbEVsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fZ2V0VmFsdWVGcm9tRGF0YSh0KXtyZXR1cm4gdC52YWx1ZXM/LnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpPyJkZWxpc3RlZCI6dm9pZCAwIT09dC52YWx1ZXM/LmN1cnJlbnRfc2Vzc2lvbj90LnZhbHVlcy5jdXJyZW50X3Nlc3Npb246dGhpcy5nZXRWYWx1ZSgpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJMYWJlbEVsZW1lbnQoKSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbj90aGlzLl9yZW5kZXJJY29uRWxlbWVudCgpOnRoaXMuX3JlbmRlckRvdEVsZW1lbnQoKSxzdXBlci5fcmVuZGVyKCl9X2luaXQodCl7Y29uc3QgZT1PYmplY3QuYXNzaWduKHt9LGZ1bmN0aW9uKCl7Y29uc3QgdD17aW52YWxpZDppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoNjM4NDA1KSksbWFya2V0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg3MDI3ODgpKSxvdXRfb2Zfc2Vzc2lvbjppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoOTE0NTcyKSkscG9zdF9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDg2NzQ1NSkpLHByZV9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDkxODg0MikpLGxvYWRpbmc6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDI3NDQxNSkpLGhvbGlkYXk6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDY4NTEwNCkpLGRlbGlzdGVkOmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg1NTIxNSkpLG5pZ2h0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg4OTc1OTEpKSxyZXBsYXk6IiJ9O3JldHVybntjbGFzc01hcDpvLGljb25DbGFzc01hcDpuLGNsYXNzU3VmZml4OiIiLGRhdGE6e30sZXh0cmFUaXRsZToiIixsYWJlbE1hcDp0LHNob3J0OiExLHNob3dUb29sdGlwOiEwLHRvb2x0aXBUeXBlOiJjdXN0b20ifX0oKSx0KTtzdXBlci5faW5pdChlKSx0aGlzLnNldEV4dHJhVGl0bGUoZS5leHRyYVRpdGxlKSx0aGlzLl9yZW5kZXIoKX1fcmVuZGVyTGFiZWxFbGVtZW50KCl7dm9pZCAwPT09dGhpcy5fbGFiZWxFbCYmKHRoaXMuX2xhYmVsRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2xhYmVsRWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2xhYmVsYCksdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKGAke3RoaXMuX2NvbXBvbmVudENsYXNzfV9fbGFiZWwke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2xhYmVsRWwpKX1fcmVuZGVyRG90RWxlbWVudCgpe3RoaXMuX2VsLmNvbnRhaW5zKHRoaXMuX2ljb25FbCkmJnRoaXMuX2VsLnJlbW92ZUNoaWxkKHRoaXMuX2ljb25FbCksdm9pZCAwPT09dGhpcy5fZG90RWwmJih0aGlzLl9kb3RFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZG90RWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2RvdGApLHRoaXMuX2RvdEVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19kb3Qke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2RvdEVsKSl9X3JlbmRlckljb25FbGVtZW50KCl7dGhpcy5fZWwuY29udGFpbnModGhpcy5fZG90RWwpJiZ0aGlzLl9lbC5yZW1vdmVDaGlsZCh0aGlzLl9kb3RFbCksdm9pZCAwPT09dGhpcy5faWNvbkVsJiZ0aGlzLl92YWx1ZSYmKHRoaXMuX2ljb25FbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uYCksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uJHt0aGlzLl9jbGFzc1N1ZmZpeH1gKSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9pY29uRWwpKX19fSw4OTE3NzgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UHJpY2VDb2xvcmVyOigpPT5pfSk7dmFyIGksYT1zKDIxODgxNCksbz1zKDUwNTU2KTshZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3JldHVybiAwPT09dD9lJiZ2b2lkIDAhPT1lLm5ldXRyYWw/ZS5uZXV0cmFsOmEuY29sb3IuYmxhY2s3MDp0PjA/ZSYmdm9pZCAwIT09ZS51cD9lLnVwOm8uY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdOmUmJnZvaWQgMCE9PWUuZG93bj9lLmRvd246by5jb2xvcnNQYWxldHRlWyJjb2xvci1kYW5nZXIiXX10LmZvcm1hdFNpZ249ZSx0LmZvcm1hdERpZmY9ZnVuY3Rpb24odCxzKXtyZXR1cm4gZShzLXQpfSx0LmRvbURpZmZlcmVuY2U9ZnVuY3Rpb24odCxlLHM9MCxpPSIiLGE9IiIpe2Z1bmN0aW9uIG8odCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIGUuaW5uZXJIVE1MPXQsZX1jb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKCFzKXJldHVybiBuLmFwcGVuZENoaWxkKG8odCkpLG47Y29uc3QgbD10KyIiLHI9ZSsiIjtsZXQgZD1udWxsO2lmKGwubGVuZ3RoPT09ci5sZW5ndGgpe2ZvcihsZXQgdD0wO3Q8bC5sZW5ndGg7dCsrKWlmKGwuY2hhckF0KHQpIT09ci5jaGFyQXQodCkpe2Q9dDticmVha319ZWxzZSBkPU51bWJlcigiMCIpO2lmKG51bGw9PT1kKXJldHVybiBuLmFwcGVuZENoaWxkKG8obCkpLG47Y29uc3QgXz1vKGwuc3Vic3RyaW5nKDAsZCkpLHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiB1LmNsYXNzTmFtZT1zPDA/aTphLHUuYXBwZW5kQ2hpbGQobyhsLnN1YnN0cmluZyhkKSkpLG4uYXBwZW5kQ2hpbGQoXyksbi5hcHBlbmRDaGlsZCh1KSxufX0oaXx8KGk9e30pKX19XSk7"}},"time_used":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/8579.6f6518be4293822786e0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.733Z","timestamp":1785136901733,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8579.6f6518be4293822786e0.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1a27\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8acf7255ad47389c4464055e8234e71f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6695,"size_decoded":1628,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6695), with no line terminators","md5":"aeecabaec60d7097b5e0df49367d3ee8","sha1":"f170c1bb6b76ce03bb8bc5e206a34a0fe91631e7","sha256":"5e3d9d49b9da950fbda835658d479573002ce3d34f5365b6f7dc9a1fe8ab3721","sha512":"d98867b86352def67f1efa0d2e1e76b45d2a102d316b7f5fb9ec3f1f1569a25c6b72f0a52ada71baf88eed1de8775c8e0163899fc4fc30d610c654508298c920","ssdeep":"192:kgzg8gGgHgDgYgygFg/g5gZgWATd8QnBiEogsOpOOO4O1O5OCO8OrO9OxOJOJ5a:kgzg8gGgHgDgYgygFg/g5gZgWATd8Qn5","tlshash":"bad1991be7e487737c638ff9c28ca0645f1ad69abe604fa6a1307e0c8bc7e555760402","first_seen":"2026-07-17T03:30:51.23738Z","last_seen":"2026-08-10T05:01:44.392893Z","times_seen":185,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTXVZODpub25lOy0tXzEtTXVZODpub25lOy0tXzItTXVZODpub25lOy0tXzMtTXVZODpub25lOy0tXzQtTXVZODpub25lfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTXVZODppbnZlcnQoMSk7LS1fMS1NdVk4OmludmVydCgxKTstLV8yLU11WTg6aW52ZXJ0KDEpOy0tXzMtTXVZODppbnZlcnQoMSk7LS1fNC1NdVk4OmludmVydCgxKX0uaW5wdXQtSDB4ZENuRlN7cGFkZGluZzowIGNhbGMoOHB4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAycHgpIC0gdmFyKC0tdWktbGliLWNvbnRyb2wtaW5uZXItc2xvdC1nYXAsIDJweCkpfS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlN7LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTp0ZXh0ZmllbGQ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7bWluLXdpZHRoOjA7b3V0bGluZTowO3dpZHRoOjEwMCU7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yLGN1cnJlbnRDb2xvcik7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O29yZGVyOjB9LmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNsZWFyLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUsLmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmZvY3Vze2JvcmRlci1yYWRpdXM6MnB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czoycHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntmaWx0ZXI6dmFyKC0tXzAtTXVZOCl9LmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTey13ZWJraXQtYXBwZWFyYW5jZTphdXRvO2FwcGVhcmFuY2U6dGV4dGZpZWxkO2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO21hcmdpbjowO21pbi13aWR0aDowO291dGxpbmU6MDt3aWR0aDoxMDAlOy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLXVpLWxpYi1jb250cm9sLXRleHQtZmlsbC1jb2xvcixjdXJyZW50Q29sb3IpO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtvcmRlcjowfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jbGVhci1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14c21hbGwtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDpmb2N1c3tib3JkZXItcmFkaXVzOjRweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czo0cHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2ZpbHRlcjp2YXIoLS1fMS1NdVk4KX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GU3std2Via2l0LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOnRleHRmaWVsZDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTttYXJnaW46MDttaW4td2lkdGg6MDtvdXRsaW5lOjA7d2lkdGg6MTAwJTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3IsY3VycmVudENvbG9yKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7b3JkZXI6MH0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsLmlucHV0LUgweGRDbkZTLnNpemUtc21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2xlYXItYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXN7Ym9yZGVyLXJhZGl1czo0cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czo0cHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3J7ZmlsdGVyOnZhcigtLV8yLU11WTgpfS5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GU3std2Via2l0LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOnRleHRmaWVsZDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTttYXJnaW46MDttaW4td2lkdGg6MDtvdXRsaW5lOjA7d2lkdGg6MTAwJTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3IsY3VycmVudENvbG9yKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7b3JkZXI6MH0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdCk7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6Y3VycmVudENvbG9yO29wYWNpdHk6MX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2xlYXItYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GUzo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUtbWVkaXVtLUgweGRDbkZTOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbCwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUsLmlucHV0LUgweGRDbkZTLnNpemUtbWVkaXVtLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXN7Ym9yZGVyLXJhZGl1czo2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmhvdmVye2JvcmRlci1yYWRpdXM6NnB4fX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntmaWx0ZXI6dmFyKC0tXzMtTXVZOCl9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlN7LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTp0ZXh0ZmllbGQ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7bWluLXdpZHRoOjA7b3V0bGluZTowO3dpZHRoOjEwMCU7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yLGN1cnJlbnRDb2xvcik7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O29yZGVyOjB9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlM6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdCk7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6Y3VycmVudENvbG9yO29wYWNpdHk6MX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLC5pbnB1dC1IMHhkQ25GUy5zaXplLWxhcmdlLUgweGRDbkZTOjotd2Via2l0LWNsZWFyLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbCwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmZvY3Vze2JvcmRlci1yYWRpdXM6NnB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmhvdmVye2JvcmRlci1yYWRpdXM6NnB4fX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2ZpbHRlcjp2YXIoLS1fNC1NdVk4KX0uaW5wdXQtSDB4ZENuRlMud2l0aC1zdGFydC1zbG90LUgweGRDbkZTe3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMoNHB4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtaW5uZXItc2xvdC1nYXAsIDJweCkpfS5pbnB1dC1IMHhkQ25GUy53aXRoLWVuZC1zbG90LUgweGRDbkZTe3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKDRweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWlubmVyLXNsb3QtZ2FwLCAycHgpKX0="}},"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/72666.2229173bf4d674484637.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.844Z","timestamp":1785136901844,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/72666.2229173bf4d674484637.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 58\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-3a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f81e771533de7897d6275d47cb4fc577\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":58,"size_decoded":842,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"691ceadea1eb9eac0db53f098918ee89","sha1":"6ac0eb21dbe2096e311778d8f7762524a2ce54ef","sha256":"07585e380a6fda6e9c3929fbd2c3632419823c24aa4ca17e10a444bc0e58e444","sha512":"487330ec519f60ed6fa1798f2dbd0164f0462df8bb57fdefa5c8d164fda54d213501636c4b9ba9de88958f080bc138c80676e892f659561af6eed5f946a9457f","ssdeep":"","tlshash":"97a00214848071d08e0bf34920d1b41ad2391be089b1e55d5517072d564f411055fcb4","first_seen":"2026-07-19T21:33:33.743099Z","last_seen":"2026-08-10T05:00:33.699187Z","times_seen":117,"resource_available":false,"data":"LmRpc2FibGVTZWxmUG9zaXRpb25pbmctTHJacDRST0N7bWFyZ2luOjA7cG9zaXRpb246c3RhdGljfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCADA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.433Z","timestamp":1785136905433,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCADA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCXDC.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.498Z","timestamp":1785136905498,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCXDC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/tradingview-copyright-data-impl.27f349a1d58483f27eaa.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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.873Z","timestamp":1785136901873,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/tradingview-copyright-data-impl.27f349a1d58483f27eaa.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/crypto-mkt-screener/?locale=en\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785136902.1.1785136902..e9181cfc-f30b-47bc-b081-f8b4edb7a96c..03949e92-a059-4f12-91c3-432adb91323c.1785136901724.1\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 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-dc9\"\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: 1d62e223b7b53d8376fc9b3ea48fca17\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":3529,"size_decoded":2690,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (1999)","md5":"88cd75b972ac65ea66d51cca418cd69c","sha1":"f4df7f63194fb7a17442ba8c04e626440cdf7985","sha256":"c7c434bf3cf0f1b1f069cde14034f32a220711a98b1190aca13e5f5b85ad3971","sha512":"877ef0b222a370b5ebeef0a0b5ec62ae76954d81f00617c2c9a7f58e0c171a599cf35ae0ac615d4daec98634a6f67c438043e0b7342efc2dc6837666902e216c","ssdeep":"","tlshash":"1c712d9a2252a8cd2553d979cc3b05e5621fa8fc3a8f43e0f973cf30a0831d5a912928","first_seen":"2026-07-23T13:38:20.341671Z","last_seen":"2026-07-29T11:04:57.516744Z","times_seen":1718,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NzUwOV0sezg2NDI3NChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zLWhhbGYtdGltZSI6Ii4zcyAwcyBjdWJpYy1iZXppZXIoLjQsIC4wMSwgLjIyLCAxKSIsbGFiZWw6ImxhYmVsLWU5YzZkeWNWIixsb2dvV3JhcDoibG9nb1dyYXAtZTljNmR5Y1YiLHN2Z1RleHRXcmFwOiJzdmdUZXh0V3JhcC1lOWM2ZHljViIsbGFyZ2U6ImxhcmdlLWU5YzZkeWNWIn19LDcwNTc5MChlLHQsYyl7InVzZSBzdHJpY3QiO2MuZCh0LHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6KCk9PmF9KTt2YXIgaT1jKDkzNzc0NCkscj1jKDg2NDI3NCksbD1jKDk1OTk5MiksaD1jKDIxMjk2MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybnsuLi57aWNvbjpsLHN2Z1RleHQ6aH0sdGhlbWU6cix1cmw6KDAsaS5nZXRMb2NhbGl6ZWRUdkhvc3RXaXRoVXRtKShlLHQpfX19LDkzNzc0NChlLHQsYyl7InVzZSBzdHJpY3QiO2MuZCh0LHtnZXRMb2NhbGl6ZWRUdkhvc3RXaXRoVXRtOigpPT5sfSk7dmFyIGk9YygzNjQxODgpLHI9Yyg2MDE1ODcpO2Z1bmN0aW9uIGwoZSx0KXtjb25zdCBjPSgwLGkuZ2V0VFZIb3N0RnJvbUxvY2FsZSkoZXx8ImVuIiksbD10PygwLHIuYnVpbGRVdG1RdWVyeVN0cmluZykodCk6IiI7cmV0dXJuYGh0dHBzOi8vJHtjfSR7bD8iPyIrbDoiIn1gfX0sMzE5ODcyKGUsdCxjKXsidXNlIHN0cmljdCI7Yy5kKHQse2dldExvY2FsaXplZERvbWFpbjooKT0+cn0pO2NvbnN0IGk9e2FyX0FFOiJhciIsZGVfREU6ImRlIixlbjoid3d3IixlczoiZXMiLGNhX0VTOiJlcyIsZmFfSVI6Ind3dyIsZnI6ImZyIixoZV9JTDoiaWwiLGlkOiJpZCIsaW46ImluIixpdDoiaXQiLGphOiJqcCIsa3I6ImtyIixtc19NWToibXkiLHBsOiJwbCIsYnI6ImJyIixydToicnUiLHN2X1NFOiJzZSIsdGhfVEg6InRoIix0cjoidHIiLHVrOiJ1ayIsdmlfVk46InZuIix6aF9DTjoiY24iLHpoX1RXOiJ0dyJ9O2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGlbZV18fCJ3d3cifX0sMzY0MTg4KGUsdCxjKXsidXNlIHN0cmljdCI7Yy5kKHQse2dldFRWSG9zdEZyb21Mb2NhbGU6KCk9PnJ9KTt2YXIgaT1jKDMxOTg3Mik7ZnVuY3Rpb24gcihlKXtyZXR1cm4oMCxpLmdldExvY2FsaXplZERvbWFpbikoZSkrIi50cmFkaW5ndmlldy5jb20ifX0sOTU5OTkyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNyAxMCIgd2lkdGg9IjE3IiBoZWlnaHQ9IjEwIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjMTMxNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjQyIDkuMDRIOS40N2wzLjU2LTloMy45NGwtMy41NSA5Wk03IC4wNEgwdjNoNHY2aDN2LTlabTIuNSAzYTEuNSAxLjUgMCAxIDAgMC0zIDEuNSAxLjUgMCAwIDAgMCAzWiIvPjwvc3ZnPid9LDIxMjk2MShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDcxIDEzIiB3aWR0aD0iNzEiIGhlaWdodD0iMTMiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGQ9Ik01My4xIDJjMCAuNTctLjQ5IDEuMDMtMS4wOSAxLjAzLS41OCAwLTEuMDctLjQ2LTEuMDctMS4wMyAwLS41Ny41LTEuMDQgMS4wNy0xLjA0LjYgMCAxLjA4LjQ3IDEuMDggMS4wNFpNNTIuOSAxMGgtMS43NlYzLjY1aDEuNzZWMTBaTTI2LjQ3IDMuMDNjLjYgMCAxLjA4LS40NiAxLjA4LTEuMDMgMC0uNTctLjQ4LTEuMDMtMS4wOC0xLjAzLS41OCAwLTEuMDcuNDYtMS4wNyAxLjAzIDAgLjU3LjQ5IDEuMDMgMS4wNyAxLjAzWk0yNS41NyAxMGgxLjc0VjMuNWgtMS43NFYxMFpNNC4wNyAxMEgyLjMzVjIuNzRIMFYxaDYuNHYxLjc0SDQuMDZWMTBaTTguMTQgMTAgNi4zOSAxMFYzLjQ5aDEuNzV2MS4xYy4yLS41OC43Ny0xLjAyIDEuNDYtMS4wMmguMDJjLjE4IDAgLjM1IDAgLjU1LjA1djEuNjZhMi4zMyAyLjMzIDAgMCAwLS43Ni0uMTJjLS44IDAtMS4yNy41OC0xLjI3IDEuNTdWMTBaTTMwLjIyIDEwaC0xLjc1VjMuNWgxLjc1di41N2MuMzMtLjQ3Ljg5LS43IDEuNjktLjcgMS40OCAwIDIuMzcgMS4wNCAyLjM3IDIuNTlWMTBoLTEuNzRWNi40YzAtLjg2LS4zMy0xLjU1LTEuMDMtMS41NS0uNzggMC0xLjMuNTQtMS4zIDEuNjhWMTBaTTQ2Ljk1IDEwbDMuNi05aC0yLjAzTDQ2LjIgNy4yNyA0My41OCAxaC0yLjAzbDMuNjYgOWgxLjc0Wk02OC4yNSAxMGgtMS43bC0xLjE4LTMuNzVMNjQuMjEgMTBoLTEuN2wtMi4wOC02LjVoMS44M2wxLjE5IDQuMSAxLjI2LTQuMWgxLjMxbDEuMjggNC4xIDEuMTctNC4xaDEuODRMNjguMjUgMTBaIi8+PHBhdGggZmlsbD0iIzEzMTcyMiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy4zMiAxMC4wMmMuODggMCAxLjUtLjQ0IDEuNzktLjg1VjEwaDEuNzlWMy41SDE1LjF2LjdhMi4yIDIuMiAwIDAgMC0xLjgtLjg1Yy0xLjcgMC0zIDEuNTQtMyAzLjM0IDAgMS44IDEuMyAzLjMzIDMgMy4zM1ptLjM3LTEuNmMtLjk3IDAtMS42MS0uNzItMS42MS0xLjczcy42NC0xLjc0IDEuNi0xLjc0Yy45OCAwIDEuNjIuNzMgMS42MiAxLjc0IDAgMS0uNjQgMS43NC0xLjYxIDEuNzRaTTIyLjY2IDkuMTdjLS4zLjQtLjkuODUtMS43OS44NS0xLjcgMC0zLTEuNTMtMy0zLjMzczEuMy0zLjM0IDMtMy4zNGMuODggMCAxLjUuNDUgMS44Ljg2VjFoMS43NHY5aC0xLjc1di0uODNabS0zLjAzLTIuNDhjMCAxIC42NCAxLjc0IDEuNjEgMS43NC45NyAwIDEuNjEtLjczIDEuNjEtMS43NHMtLjY0LTEuNzQtMS42LTEuNzRjLS45OCAwLTEuNjIuNzMtMS42MiAxLjc0Wk0zOC40OCAxMi42OGMxLjk2IDAgMy40Mi0xIDMuNDItMy4zVjMuNWgtMS44di43MmEyLjEgMi4xIDAgMCAwLTEuNzgtLjg2Yy0xLjY4IDAtMy4wMiAxLjQzLTMuMDIgMy4yNCAwIDEuNzkgMS4zNCAzLjMgMy4wMiAzLjNhMi4yIDIuMiAwIDAgMCAxLjc4LS45M3YuNDRjMCAxLjAyLS42IDEuNzUtMS42NCAxLjc1LS43MiAwLTEuNDMtLjI0LTItLjhsLS45NSAxLjMxYy43Mi43IDEuODYgMS4wMiAyLjk3IDEuMDJabS4yLTQuNDZhMS42IDEuNiAwIDAgMS0xLjYyLTEuNjNjMC0uOTkuNzUtMS42NCAxLjYzLTEuNjQuODggMCAxLjYyLjY1IDEuNjIgMS42NGExLjYgMS42IDAgMCAxLTEuNjIgMS42M1pNNjAuMyA4LjU2QTMuNDcgMy40NyAwIDAgMSA1Ny4zNSAxMGMtMS45IDAtMy4zOS0xLjMxLTMuMzktMy4zMyAwLTEuOSAxLjQyLTMuMzQgMy4zNy0zLjM0IDEuNjcgMCAzLjE0IDEuMDYgMy4xNCAzLjE1di4wOWMwIC4xNSAwIC4zNS0uMDIuNTZoLTQuNzljLjEuODYuODYgMS4yOCAxLjcgMS4yOC44MSAwIDEuMzYtLjM2IDEuNjUtLjgxbDEuMy45N1ptLTMuMDQtMy44Yy0uNjUgMC0xLjM4LjM0LTEuNTQgMS4xMmgyLjk5Yy0uMTUtLjc3LS44LTEuMTEtMS40NS0xLjExWiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"huobiget.com/img/card.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.536Z","timestamp":1785136899536,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/card.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/png\r\nContent-Length: 27204\r\nConnection: keep-alive\r\nLast-Modified: Sun, 29 Sep 2024 18:36:40 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":27204,"size_decoded":27415,"mime_type":"image/png","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 766x400, components 3","md5":"92dafa4d5793362777717d8515acf51a","sha1":"6c286c2613b743d6a85fbb21e6c8e61e3e23a186","sha256":"fb3a08a4a94f2350df72f717d34d569cef14df1e0ef5114dc8549613c3f8ca44","sha512":"97f75b11354d68c3f9e952e818cec85edb22244961d4e58e8f1a901d14546eadeb38167f97ed2a0742eb9fba0015d50b46339bc6e89b2ab4ab936184a7d42ca2","ssdeep":"768:nbEBHWXw23AJKHFpNh59ujbdV78fShTWstshRFBWHFP1lOopNh:nABH2V3AJKHFpL70j78fSxtaQP1h","tlshash":"d7c2f1c73f220110fabde7d7860de56fdf40b0b5a255e80ba6216ea4f6d0e04a11e742","first_seen":"2026-07-27T04:48:05.231475Z","last_seen":"2026-07-27T07:23:37.122066Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":715,"timings":{"blocked":622,"dns":0,"connect":0,"send":0,"wait":92,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/8408.de534663e052075ba12f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.310Z","timestamp":1785136900310,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8408.de534663e052075ba12f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: be4d2a5f78a95e5b6dbb213830b71e5d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10061,"size_decoded":2244,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (10061), with no line terminators","md5":"1a43de6a5db68cdffb5be29be8c611ea","sha1":"3cd66aa1e4e9e97cd58ad3ba8f6af15ad6c8fde1","sha256":"3f9db9383ecbe7095a61cb68292e437e948824de33abb3b09239c5effac91b84","sha512":"6735b9616b71290aa8fca75a177841e1cac8bb0193205099110ee83ffc75603098ead364960c2f7f86c7848f9fc3a784a56f615ecba08502e87028ebcc46eaa7","ssdeep":"192:zx9ZzZ8+bBPb+8b7XbnVb1pcGbM9zzZxZwG3TKO0/xavh42fmmw0TuUBJuHbRPuF:zxbl4zlvwG3GVxa2ruiUBsHdPunkS","tlshash":"62227526b95302617c2b5a3d0270affc6936cb939ac387dead10e1344fc75c9a297d85","first_seen":"2026-06-18T11:35:39.145966Z","last_seen":"2026-08-10T08:00:01.077803Z","times_seen":3866,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUVpDcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVFaQ3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LW1hcmtldC1zdGF0dXNfX2RvdHtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1pbnZhbGlkIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1yZXBsYXl7Y29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXl7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1hY3RpdmUpfS50di1tYXJrZXQtc3RhdHVzLS1uaWdodHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0udHYtbWFya2V0LXN0YXR1cy0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uX193aXRoSWNvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpfX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb25fX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7bWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcHJlLjdkMzdkY2NhMjM0ODMzZDEyYzQzLnN2Zyk7bWFzazp1cmwobWFya2V0LXByZS43ZDM3ZGNjYTIzNDgzM2QxMmM0My5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1wb3N0LW1hcmtldF9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7bWFzazp1cmwobWFya2V0LXBvc3QuOWYyYzViZmRhOTQwNWEyOTFmOTAuc3ZnKTstd2Via2l0LW1hc2stcG9zaXRpb246Y2VudGVyO21hc2stcG9zaXRpb246Y2VudGVyOy13ZWJraXQtbWFzay1zaXplOmNvdmVyO21hc2stc2l6ZTpjb3Zlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0taG9saWRheV9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKX19LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXlfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtaG9saWRheS40M2NhMzNkNjkwOTM5YjkzOTc4Ni5zdmcpO21hc2s6dXJsKG1hcmtldC1ob2xpZGF5LjQzY2EzM2Q2OTA5MzliOTM5Nzg2LnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29ue2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O3dpZHRoOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZF9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX19LnR2LW1hcmtldC1zdGF0dXMtLWRlbGlzdGVkX193aXRoSWNvbjphZnRlcntib3JkZXItcmFkaXVzOjZweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7b3BhY2l0eToxNSU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpO21hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tbmlnaHRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9fS50di1tYXJrZXQtc3RhdHVzLS1uaWdodF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcG9zdC45ZjJjNWJmZGE5NDA1YTI5MWY5MC5zdmcpO21hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOjB9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1wb3N0LW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbiAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLWludmFsaWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taG9saWRheXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1ob2xpZGF5IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHR7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnR7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlcnttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luOmF1dG8gM3B4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXN0aWNreS1zeW1ib2wtaGVhZGVyLC50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLXRhcGV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpfS50di1tYXJrZXQtc3RhdHVzLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LW1hcmtldC1zdGF0dXMtLWZvci10aWNrZXItdGFwZTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1jaGFydHtoZWlnaHQ6NnB4O21hcmdpbi1yaWdodDo0cHg7dmVydGljYWwtYWxpZ246MXB4O3dpZHRoOjZweH0udHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWNhcmR7aGVpZ2h0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDo2cHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luLWJvdHRvbTozcHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1sYXN0e2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGV7aGVpZ2h0OjRweDt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItY2hhcnR7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1jaGFydDpkaXIocnRsKXttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1jYXJkLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWxhc3QsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGUsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itd2F0Y2gtbGlzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXIsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWNhcmQsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItbGFzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItdGFwZSwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci13YXRjaC1saXN0e2Rpc3BsYXk6bm9uZX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQ6ZGlyKHJ0bCl7bWFyZ2luLWlubGluZS1zdGFydDowfS50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQtLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldF9fd2l0aEljb257ZGlzcGxheTpub25lIWltcG9ydGFudH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0OmFmdGVye2Rpc3BsYXk6bm9uZX0="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15634.9ff500f40c3ec2496a9d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.955Z","timestamp":1785136900955,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15634.9ff500f40c3ec2496a9d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-7a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f2e1c660f73c32a5e97ffe630e39df77\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1958,"size_decoded":1433,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1958), with no line terminators","md5":"1fe59f1cabe116d4c360e360391910cf","sha1":"6005a9d280a7661b640624f5309d0059e00f57a4","sha256":"4cac2a96f86db5b5ea7cc505de00925b8dff9a9b88157d33fa0832d728ab2d06","sha512":"4ce34a33edf60063dc9b5a69446b4f0f5b1870f1fa2980b7306e02ea292d73a9f2773611581f28e96d6bbf7d8c35367b6e71c21cc38b5073b921728dc3ced4b9","ssdeep":"","tlshash":"ef41545553f6b277e6b3453c6eaeb6944fb4403fab31168cb990e13847ef5500344d40","first_seen":"2026-07-22T16:00:00.46556Z","last_seen":"2026-08-10T05:01:44.405323Z","times_seen":540,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdzFiMzp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKX0uc3dpdGNoZXItbDNEdEtMc0x7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleDowIDAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ei1pbmRleDowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uaW5wdXQtbDNEdEtMc0x7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5pbnB1dC1sM0R0S0xzTDpjaGVja2VkLC5pbnB1dC1sM0R0S0xzTDpkaXNhYmxlZCwuaW5wdXQtbDNEdEtMc0w6Zm9jdXN7Ym9yZGVyOjA7b3V0bGluZTowfS5pbnB1dC1sM0R0S0xzTDpmb2N1cysudGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmlucHV0LWwzRHRLTHNMOmZvY3VzLXZpc2libGUrLnRodW1iV3JhcHBlci1sM0R0S0xzTDphZnRlcntkaXNwbGF5OmJsb2NrfS5pbnB1dC1sM0R0S0xzTDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpKy50aHVtYldyYXBwZXItbDNEdEtMc0w6YWZ0ZXJ7ZGlzcGxheTpub25lfS50aHVtYldyYXBwZXItbDNEdEtMc0x7ZGlzcGxheTpibG9jaztoZWlnaHQ6Zml0LWNvbnRlbnQ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Zml0LWNvbnRlbnR9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1c3tvdXRsaW5lOm5vbmV9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmhvdmVyKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmFjdGl2ZSsudGh1bWJXcmFwcGVyLWwzRHRLTHNMey0tdWktbGliLXN3aXRjaFZpZXctY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6aG92ZXIrLnRodW1iV3JhcHBlci1sM0R0S0xzTHstLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6YWN0aXZlKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.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://huobiget.com/","date":"2026-07-27T07:21:40.362Z","timestamp":1785136900362,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /embed-widget/crypto-mkt-screener/?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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 GMT\r\ncontent-type: text/html; charset=utf-8\r\nvary: Accept-Encoding\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\ncache-control: max-age=120\r\nexpires: Mon, 27 Jul 2026 07:21:45 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-Z2nPchDJ0LixSCjJageOeA=='; 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 07:21:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5d688d63e86fa1926757b15d31533d00\r\ncdn-cache: EXPIRED\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"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":31645,"size_decoded":10590,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (17729)","md5":"d569f4e3fb69dc8fe174a095d2288503","sha1":"b15cf4a5f17a508f034a62fe0f3a4b541899d943","sha256":"0ea2ee335f98a785a35df2b11d0e8ce796172f5f1dd2c90b69b1cf1982453f26","sha512":"9001a5a2799880206fa73d9f197391d385ac2f54728f326689140c4586d48ddf37ae8dee2a5b1456aaf9ef1766cc4f44112fa1f1b07cfb51083869103482374c","ssdeep":"768:johXscvpMte3ARANvbj+ANogFbLrX3rMag1z0:IhRMte3ARANvbj+ANogdX3F","tlshash":"7ce2d567a80cd315e8468a64bc77f602fd1e132d84a1acd056edd92c11d7ec6e20fbad","first_seen":"2026-07-27T07:22:35.686261Z","last_seen":"2026-07-27T07:24:01.732529Z","times_seen":4,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5TY3JlZW5lciB3aWRnZXQ8L3RpdGxlPgoKCTxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zY2FubmVyLnRyYWRpbmd2aWV3LmNvbSIgY3Jvc3NvcmlnaW4+Cgk8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyIgY3Jvc3NvcmlnaW4+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTUyNy4xNWM1YzI1ZDI3YTU2YTBkZjc3Mi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zOTA3MC41NWNiYzdhMWRhOTYzYjM4MjliMy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDY5MDcuYzVhZjhhYTdiNTA4MmIxODc1YTUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQyMzIuYWI2NzMxYjY5OGE4YzI4NTRhOTAuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzI4MTYuMzU1ZDc1YjIxYWU0YjUzNGE4NDkuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTcwODcuYTVlYWViMzBmN2QyNjlmOTdiNDEuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDMzMjUuMjU2ZmE1YTUyMTNiOWNiNzBmNWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTc5NC4wYTI3M2JhZmM1ZGU1MGEwZDIxZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNTkzMi4yYTcwZDM5N2MzNGYyZTlkZTk0Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NDY4MS5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTUwOC43NjcyMTkyODNjNjVmNGQ0Y2E2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTUxOC4wODFmOTYzN2I5NGVlNjJhNmU2Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjYzMi41OTZlNTM0OGExNTM4YTE4ZmQ0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNTYzNC45ZmY1MDBmNDBjM2VjMjQ5NmE5ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83NTMwNC4xNzQ0OTZkYmY2MmJjOTBkYjU5YS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MjA5NS5lNmViNTMwYTEzYjJmZWJkMmNkMy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zODAwMi44NmQyODBmZWVhYmFiNjk4MzYwYi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NDAzMS4yNjkxZmMyYzM0NjgyOTNiZmQxNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80Mzc5Mi5lMWJkMDYxMTI0MDRmMDkwMWE2Ni5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83MDM2NC42NDRjYjkzNDQxNjkwYzgyOWFiOS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDg4LjA5ZjI2OWY4YjI2YjJiMDBhOGI3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM3ODY3LmVjNzMxYWQxMDJkYjY3NjJlNDBjLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYyNjgxLjY4ODNjNGIxN2U2YTg5ZTRiODdmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjAwLjcxZGEwNzZmYjAxOTdlNGQ1OTUzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMxMzk2LmRhZGExN2FiYzRhZGJmMDczMTM5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoKPHNjcmlwdCBub25jZT0iWjJuUGNoREowTGl4U0NqSmFnZU9lQT09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJaMm5QY2hESjBMaXhTQ2pKYWdlT2VBPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF9zY3JlZW5lcl92MV93aWRnZXQuOWRiZTFiMjgyMTRkN2ExNDcxYmEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjQ2MDI0Ljk3MTc2YWE0OGZlOWQ5YTBkMTI3LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjM4Ny40N2FjZTgzYzYxYTg4NDM0MWNkNi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQ5MjY1LmMyMDhlZjgzNzllMDczZjk0ZDE2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83NTA0LjEyODhkMWQyOGIyZjQ3ZjdhYzQzLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTgyNy5kMzk3NmRjMGM1Y2ZhMmMyMTQwZS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzYxNjYuNzYzN2JlMWNmMjUxNDUwNGFjNzkuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc2NTc3LmY3M2EwMWUxZjAwMDQzNjIyYjY1LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODAyMDcuM2U1ZTdkNjhjODc1YjM2N2NhZDAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEyMTgxLmI2NWE1ODM1NWZmN2NjMzQ5NTBmLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82MTQ5NS4zN2VlN2QxODJjZjg0Y2FhNzY4MS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzAyODguNTkyMDdhYTI2MDdlYTE1OTcyODcuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX3NjcmVlbmVyX3YxX3dpZGdldC4zYzZkY2I0ODI0MWIzOGFkMjBjZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+PHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF9zY3JlZW5lcl92MV93aWRnZXQuOWRiZTFiMjgyMTRkN2ExNDcxYmEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi40NjAyNC45NzE3NmFhNDhmZTlkOWEwZDEyNy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMyMzg3LjQ3YWNlODNjNjFhODg0MzQxY2Q2LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc1MDQuMTI4OGQxZDI4YjJmNDdmN2FjNDMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTgyNy5kMzk3NmRjMGM1Y2ZhMmMyMTQwZS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM2MTY2Ljc2MzdiZTFjZjI1MTQ1MDRhYzc5LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNzY1NzcuZjczYTAxZTFmMDAwNDM2MjJiNjUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwMjA3LjNlNWU3ZDY4Yzg3NWIzNjdjYWQwLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82MTQ5NS4zN2VlN2QxODJjZjg0Y2FhNzY4MS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjg4LjU5MjA3YWEyNjA3ZWExNTk3Mjg3LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfc2NyZWVuZXJfdjFfd2lkZ2V0LjNjNmRjYjQ4MjQxYjM4YWQyMGNkLmpzIiBkZWZlcj48L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJaMm5QY2hESjBMaXhTQ2pKYWdlT2VBPT0iPndpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjM1LCJjaGFydF9hdXRvc2F2ZV81bWluIjoxLjAsImNoYXJ0X2F1dG9zYXZlXzMwbWluIjoxLjAsInBlcmZvcm1hbmNlX3Rlc3RfbW9kZSI6MS4wLCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCI6MS4wLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzYwbWluIjoxLjAsInN1cHBvcnRfcGVyc2lzdGVudF9sb2dzIjoxLjAsIm5ld19zdG9yYWdlX3N1YnNjcmlwdGlvbl91cmwiOjEuMCwicmVtb3ZlX2FuY2hvcmVkX3RleHQiOjEuMCwiZW5hYmxlX3N0ZXBfYnlfc3RlcF9oaW50c19mb3JfZHJhd2luZ3MiOjEuMCwicHVzaHN0cmVhbV9iYXNpY190ZWxlbWV0cnkiOjEuMCwiYWxsb3dfYnJhY2tldHNfcHJvZml0X2xvc3MiOjEuMCwiZW5hYmxlX3RyYWRlZF9jb250ZXh0X2xpbmtpbmciOjEuMCwib3JkZXJfY29udGV4dF92YWxpZGF0aW9uX2luX2luc3RhbnRfbW9kZSI6MS4wLCJhbGVydHMtb24tZnVuZGFtZW50YWwtbWV0cmljcyI6MS4wLCJhbGVydHMtbm90aWZpY2F0aW9uLXNjaGVkdWxlIjoxLjAsImFsZXJ0cy13YXRjaGxpc3QtZXh0ZW5kZWQtaG91cnMiOjEuMCwiZW5hYmxlX3N5bWJvbF9jaGFuZ2VfcmVzdHJpY3Rpb25fb25fd2lkZ2V0cyI6MS4wLCJlbmFibGVfYXN4X3N5bWJvbF9yZXN0cmljdGlvbiI6MS4wLCJzeW1waG9ueV9hbGxvd19ub25fcGFydGl0aW9uZWRfY29va2llX29uX29sZF9zeW1waG9ueSI6MS4wLCJzeW1waG9ueV9ub3RpZmljYXRpb25fYmFkZ2VzIjoxLjAsInN5bXBob255X3VzZV9hZGtfZm9yX3VwZ3JhZGVfcmVxdWVzdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF90cmFja2luZyI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9zb2Z0X2xpbWl0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X2hhcmRfbGltaXQiOjEuMCwidGVsZWdyYW1fbWluaV9hcHBfcmVkdWNlX3NuYXBzaG90X3F1YWxpdHkiOjEuMCwibmV3c19zeW1ib2xfb3ZlcnZpZXdfa2V5X2ZhY3RzIjoxLjAsInRpbWVvdXRfZGphbmdvX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb191c2Vyc2V0dGluZ3NfZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX2NoYXJ0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fc3ltYm9sc19saXN0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fbWluZHNfZGIiOjAuMDUsInRpbWVvdXRfZGphbmdvX2xvZ2dpbmdfZGIiOjAuMjUsImRpc2FibGVfc2VydmljZXNfbW9uaXRvcl9tZXRyaWNzIjoxLjAsImVuYWJsZV9zaWduaW5fcmVjYXB0Y2hhIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sX2NvbW1lbnRzIjoxLjAsImVuYWJsZV9zcGFtZGV0ZWN0b3JtbF9jaGF0IjoxLjAsImVuYWJsZV9taW5kc19zcGFtZGV0ZWN0b3JtbCI6MS4wLCJiYWNrZW5kLWNvbm5lY3Rpb25zLWluLXRva2VuIjoxLjAsIm9uZV9jb25uZWN0aW9uX3dpdGhfZXhjaGFuZ2VzIjoxLjAsIm1vYmlsZS1hZHMtaW9zIjoxLjAsIm1vYmlsZS1hZHMtYW5kcm9pZCI6MS4wLCJnb29nbGUtb25lLXRhcC1zaWduaW4iOjEuMCwiYnJhaW50cmVlLWdvcHJvLWluLW9yZGVyLWRpYWxvZyI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5IjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5IjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktZnJvbS1pb3MtYXBwIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktdHJpYWwiOjEuMCwidHJpcGxlYS1wYXltZW50cyI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheS10cmlhbCI6MS4wLCJicmFpbnRyZWUtb25lLXVzZC12ZXJpZmljYXRpb24iOjEuMCwiYnJhaW50cmVlLTNkcy1lbmFibGVkIjoxLjAsImJyYWludHJlZS0zZHMtc3RhdHVzLWNoZWNrIjoxLjAsImJyYWludHJlZS1hZGRpdGlvbmFsLWNhcmQtY2hlY2tzLWZvci10cmlhbCI6MS4wLCJicmFpbnRyZWUtaW5zdGFudC1zZXR0bGVtZW50IjoxLjAsImJyYWludHJlZV9yZWN1cnJpbmdfYmlsbGluZ19zY2hlZHVsZXJfc3Vic2NyaXB0aW9uIjoxLjAsImNoZWNrb3V0X21hbnVhbF9jYXB0dXJlX3JlcXVpcmVkIjoxLjAsImNoZWNrb3V0LXN1YnNjcmlwdGlvbnMiOjEuMCwiY2hlY2tvdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY29tbWVyY2lhbF9jYXJkX3RyaWFsIjoxLjAsImVuYWJsZV9wYXltZW50c18zZHNfb3B0aW1pemF0aW9uIjoxLjAsImNvdW50cnlfb2ZfaXNzdWFuY2VfdnNfYmlsbGluZ19jb3VudHJ5IjoxLjAsImNoZWNrb3V0X3Nob3dfaW5zdGVhZF9vZl9icmFpbnRyZWUiOjEuMCwiY2hlY2tvdXQtM2RzIjoxLjAsImNoZWNrb3V0LXBheXBhbCI6MS4wLCJjaGVja291dF9pbmNsdWRlX2FjY291bnRfaG9sZGVyIjoxLjAsImNoZWNrb3V0LXBheXBhbC10cmlhbCI6MS4wLCJhbm51YWxfdG9fbW9udGhseV9kb3duZ3JhZGVfYXR0ZW1wdCI6MS4wLCJyYXpvcnBheV90cmlhbF8xMF9pbnIiOjEuMCwicmF6b3JwYXktY2FyZC1vcmRlci10b2tlbi1zZWN0aW9uIjoxLjAsInJhem9ycGF5LWNhcmQtc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS11cGktc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS1zMy1pbnZvaWNlLXVwbG9hZCI6MS4wLCJyYXpvcnBheV9pbmNsdWRlX2RhdGVfb2ZfYmlydGgiOjEuMCwiZGxvY2FsLXBheW1lbnRzIjoxLjAsInJldm9sdXQtcGF5LXBheW1lbnRzIjoxLjAsInJldm9sdXQtY2FyZC1wYXltZW50cyI6MC41LCJkbG9jYWwtcGl4LWF1dG9tYXRpY28iOjEuMCwiYnJhaW50cmVlX3RyYW5zYWN0aW9uX3NvdXJjZSI6MS4wLCJ2ZXJ0ZXgtdGF4IjoxLjAsInZlcnRleC10YXgtZml4IjoxLjAsInJlY2VpcHRfaW5fZW1haWxzIjoxLjAsImFkd29yZHMtYW5hbHl0aWNzIjoxLjAsImNtMzYwLWFuYWx5dGljcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfaW9zIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9hbmRyb2lkIjoxLjAsInJlcXVpcmVkX2FncmVlbWVudF9mb3JfcnQiOjEuMCwiY2hlY2tfbWFya2V0X2RhdGFfbGltaXRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2RhdGEiOjEuMCwiZm9yY2VfdG9fdXBncmFkZV90b19leHBlcnQiOjEuMCwic2VuZF90cmFkZXZhbl9pbnZvaWNlIjoxLjAsInNob3dfcGVwZV9hbmltYXRpb24iOjEuMCwic2VuZF9uZXh0X3BheW1lbnRfaW5mb19yZWNlaXB0IjoxLjAsInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iOjEuMCwic2NyZWVuZXItYWxlcnRzLXJlYWQtb25seSI6MS4wLCJzY3JlZW5lcl9ib25kX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9zdG9ja19haV9maWx0ZXJzX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfaXNfYWxsb3dlZF90b19jcmVhdGVfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JhdGluZ19jb2x1bW5zX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3NvcnRpbmdfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfZ3JvdXBfYnlfaXNpbl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zeW1ib2xfc2VhcmNoX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JlZ2lzdHJhdGlvbl9iYW5uZXJfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNlc190cmFja2luZyI6MS4wLCJzZW5kX2ZpbmFuY2lhbF9ub3RpZmljYXRpb25zIjoxLjAsInNwYXJrX3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya19jYXRlZ29yeV90cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfdGFnc190cmFuc2xhdGlvbnMiOjEuMCwicHJvX3BsYW5faW5pdGlhbF9yZWZ1bmRzX2Rpc2FibGVkIjoxLjAsInByZXZpb3VzX21vbm9wcm9kdWN0X3B1cmNoYXNlc19yZWZ1bmRzX2VuYWJsZWQiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9ucyI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zX2ZlZWQiOjEuMCwiZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJldGhvY2FfYWxlcnRfbm90aWZpY2F0aW9uX3dlYmhvb2siOjEuMCwiaGlkZV9zdXNwaWNpb3VzX3VzZXJzX2lkZWFzIjoxLjAsImRpc2FibGVfcHVibGlzaF9zdHJhdGVneV9yYW5nZV9iYXNlZF9jaGFydCI6MS4wLCJyZXN0cmljdF9zaW11bHRhbmVvdXNfcmVxdWVzdHMiOjEuMCwibG9naW5fZnJvbV9uZXdfZGV2aWNlX2VtYWlsIjoxLjAsInNzcl93b3JrZXJfbm93YWl0IjoxLjAsImJyb2tlcl9BMUNBUElUQUwiOjEuMCwiYnJva2VyX0FDVElWVFJBREVTIjoxLjAsImJyb2tlcl9BTENIRU1ZTUFSS0VUUyI6MS4wLCJicm9rZXJfQUxJQ0VCTFVFIjoxLjAsImhpZGVfQUxPUl9vbl9pb3MiOjEuMCwiaGlkZV9BTE9SX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9BTE9SX29uX21vYmlsZV93ZWIiOjEuMCwiYWxvci1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0FMUEFDQSI6MS4wLCJicm9rZXJfQUxSQU1aIjoxLjAsImJyb2tlcl9BTVAiOjEuMCwiYnJva2VyX0FOR0VMT05FIjoxLjAsImJyb2tlcl9BVkFfRlVUVVJFUyI6MS4wLCJBVkFfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9CMlBSSU1FIjoxLjAsImJyb2tlcl9CQUpBSiI6MS4wLCJicm9rZXJfQkVZT05EIjoxLjAsImJyb2tlcl9CSU5BTkNFIjoxLjAsImVuYWJsZV9iaW5hbmNlYXBpc19iYXNlX3VybCI6MS4wLCJicm9rZXJfQklOR0JPTiI6MS4wLCJicm9rZXJfQklUQVpaQSI6MS4wLCJicm9rZXJfQklUR0VUIjoxLjAsImJyb2tlcl9CSVRNRVgiOjEuMCwiYnJva2VyX0JJVFNUQU1QIjoxLjAsImJyb2tlcl9CTEFDS0JVTEwiOjEuMCwiYnJva2VyX0JMVUVCRVJSWU1BUktFVFMiOjEuMCwiYnJva2VyX0JUQ0MiOjEuMCwiYnJva2VyX0JZQklUIjoxLjAsImJyb2tlcl9DQVBJVEFMQ09NIjoxLjAsImJyb2tlcl9DQVBUUkFERVIiOjEuMCwiQ0FQVFJBREVSX3NlcGFyYXRlX2ludGVncmF0aW9uX21pZ3JhdGlvbl93YXJuaW5nIjoxLjAsImJyb2tlcl9DRkkiOjEuMCwiYnJva2VyX0NHU0kiOjEuMCwiYnJva2VyX0NJVFlJTkRFWCI6MS4wLCJjaXR5aW5kZXhfc3ByZWFkYmV0dGluZyI6MS4wLCJDTEVBUlNUUkVFVF9iZXRhIjoxLjAsImJyb2tlcl9DTUNNQVJLRVRTIjoxLjAsImJyb2tlcl9DT0JSQVRSQURJTkciOjEuMCwiYnJva2VyX0NPSU5CQVNFIjoxLjAsImNvaW5iYXNlX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJjb2luYmFzZV9jYW5jZWxfcG9zaXRpb25fYnJhY2tldHMiOjEuMCwiYnJva2VyX0NPSU5KQVIiOjEuMCwiQ09JTkpBUl9iZXRhIjoxLjAsImJyb2tlcl9DT0lOU1dJVENIIjoxLjAsImJyb2tlcl9DT0lOVyI6MS4wLCJicm9rZXJfQ09MTUVYIjoxLjAsImhpZGVfQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiY3FnLXJlYWx0aW1lLWJhbmR3aWR0aC1saW1pdCI6MS4wLCJicm9rZXJfQ1JZUFRPQ09NIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25faW9zIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0NYTSI6MS4wLCJicm9rZXJfREFPTCI6MS4wLCJicm9rZXJfREFSV0lORVgiOjEuMCwiREFSV0lORVhfYmV0YSI6MS4wLCJicm9rZXJfREVMVEEiOjEuMCwiYnJva2VyX0RFUkFZQUgiOjEuMCwiYnJva2VyX0RFUklWIjoxLjAsImJyb2tlcl9ESEFOIjoxLjAsImJyb2tlcl9ETlNFIjoxLjAsImJyb2tlcl9ET1JNQU4iOjEuMCwiaGlkZV9EVU1NWV9vbl9pb3MiOjEuMCwiaGlkZV9EVU1NWV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRFVNTVlfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRUFTWU1BUktFVFMiOjEuMCwiYnJva2VyX0VDT1ZBTE9SRVMiOjEuMCwiYnJva2VyX0VER0VDTEVBUiI6MS4wLCJlZGdlY2xlYXJfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfRUlHSFRDQVAiOjEuMCwiYnJva2VyX0VSUkFOVEUiOjEuMCwiYnJva2VyX0VTQUZYIjoxLjAsIkZJREVMSVRZX2JldGEiOjEuMCwiRklERUxJVFlfdXNfcmVsZWFzZSI6MC4yNSwiZmlkZWxpdHlfc2VjdXJpdHlfdG9rZW4iOjEuMCwiYnJva2VyX0ZPUkVYQ09NIjoxLjAsImZvcmV4Y29tX3Nlc3Npb25fdjIiOjEuMCwiYnJva2VyX0ZQTUFSS0VUUyI6MS4wLCJoaWRlX0ZUWF9vbl9pb3MiOjEuMCwiaGlkZV9GVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImZ0eF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZVU0lPTk1BUktFVFMiOjEuMCwiZnhjbV9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GWENNIjoxLjAsImhpZGVfRlhPUEVOX29uX2lvcyI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlhPUEVOX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0ZYUFJPIjoxLjAsImJyb2tlcl9GWFRGIjoxLjAsImJyb2tlcl9GWUVSUyI6MS4wLCJicm9rZXJfR0FURSI6MS4wLCJicm9rZXJfR0JFQlJPS0VSUyI6MS4wLCJnZW1pbmktYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HRU5JQUxJTlZFU1RJTUVOVE9TIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25faW9zIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX21vYmlsZV93ZWIiOjEuMCwiZ2xvYmFscHJpbWUtYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HT01BUktFVFMiOjEuMCwiYnJva2VyX0dPVFJBREUiOjEuMCwiZ290cmFkZV9lbmFibGVfc3RyZWFtaW5nX2VuZHBvaW50cyI6MS4wLCJicm9rZXJfSEVSRU5ZQSI6MS4wLCJoaWRlX0hUWF9vbl9pb3MiOjEuMCwiaGlkZV9IVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0hUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9JQktSIjoxLjAsImNoZWNrX2lia3Jfc2lkZV9tYWludGVuYW5jZSI6MS4wLCJpYmtyX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3BhcmFsbGVsX3Byb3ZpZGVyX2luaXRpYWxpemF0aW9uIjoxLjAsImlia3Jfd3NfYWNjb3VudF9zdW1tYXJ5IjoxLjAsImlia3Jfd3Nfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3N1YnNjcmliZV90b19vcmRlcl91cGRhdGVzX2ZpcnN0IjoxLjAsImlia3Jfd3NfYWNjb3VudF9sZWRnZXIiOjEuMCwiYnJva2VyX0lCUk9LRVIiOjEuMCwiYnJva2VyX0lDTUFSS0VUUyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0FTSUMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19FVSI6MS4wLCJicm9rZXJfSUciOjEuMCwiYnJva2VyX0lORFNUT0NLUyI6MS4wLCJicm9rZXJfSU5GT1lBVElSSU0iOjEuMCwiYnJva2VyX0lOTk9WRVNUWCI6MS4wLCJicm9rZXJfSU5URVJBQ1RJVkVJTCI6MS4wLCJicm9rZXJfSU5WRVNUUkFERSI6MS4wLCJJTlZFU1RSQURFX2JldGEiOjEuMCwiYnJva2VyX0lST05CRUFNIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tJV09PTSI6MS4wLCJraXdvb21fdXNlX3NlcGFyYXRlX3N0cmVhbWluZ191cmwiOjEuMCwiYnJva2VyX0tPVEFLIjoxLjAsImhpZGVfS09UQUtfb25faW9zIjoxLjAsImhpZGVfS09UQUtfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0tPVEFLX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tSQUtFTiI6MS4wLCJoaWRlX0tSQUtFTl9vbl9pb3MiOjEuMCwiaGlkZV9LUkFLRU5fb25fYW5kcm9pZCI6MS4wLCJLUkFLRU5fYmV0YSI6MS4wLCJrcmFrZW5fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9LU0VDVVJJVElFUyI6MS4wLCJicm9rZXJfTElCRVJBVE9SIjoxLjAsImJyb2tlcl9NRVhDIjoxLjAsImJyb2tlcl9NRVhFTSI6MS4wLCJicm9rZXJfTUlEQVMiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX01PT01PTyI6MS4wLCJicm9rZXJfTU9USUxBTE9TV0FMIjoxLjAsImJyb2tlcl9OSU5KQVRSQURFUiI6MS4wLCJicm9rZXJfT0FOREEiOjEuMCwib2FuZGFfc2VydmVyX2xvZ2dpbmciOjEuMCwib2FuZGFfb2F1dGhfbXVsdGlwbGV4aW5nIjoxLjAsImJyb2tlcl9PS1giOjEuMCwiYnJva2VyX09QT0ZJTkFOQ0UiOjEuMCwiYnJva2VyX09QVElNVVMiOjEuMCwiYnJva2VyX09TTUFOTEkiOjEuMCwiYnJva2VyX09TTUFOTElGWCI6MS4wLCJwYXBlcl9mb3JjZV9jb25uZWN0X3B1c2hzdHJlYW0iOjEuMCwicGFwZXJfc3ViYWNjb3VudF9jdXN0b21fY3VycmVuY3kiOjEuMCwicGFwZXJfb3V0c2lkZV9ydGgiOjEuMCwiYnJva2VyX1BBWVRNIjoxLjAsImJyb2tlcl9QRVBQRVJTVE9ORSI6MS4wLCJicm9rZXJfUEhFTUVYIjoxLjAsImJyb2tlcl9QSElMTElQQ0FQSVRBTF9UUiI6MS4wLCJicm9rZXJfUEhJTExJUE5PVkEiOjEuMCwiYnJva2VyX1BMVVM1MDAiOjEuMCwicGx1czUwMF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIlBMVVM1MDBVU19iZXRhIjoxLjAsImJyb2tlcl9QVVJQTEVUUkFESU5HIjoxLjAsImJyb2tlcl9RVUVTVFJBREUiOjEuMCwiYnJva2VyX1JBVkFCVVJTQVRJTCI6MS4wLCJSQVZBQlVSU0FUSUxfYmV0YSI6MS4wLCJicm9rZXJfUklZQURDQVBJVEFMIjoxLjAsImJyb2tlcl9ST0JPTUFSS0VUUyI6MS4wLCJicm9rZXJfUkVQTEFZQlJPS0VSIjoxLjAsImJyb2tlcl9TQU1VRUwiOjEuMCwiYnJva2VyX1NBWE9CQU5LIjoxLjAsImJyb2tlcl9TSEFSRU1BUktFVCI6MS4wLCJicm9rZXJfU0tJTExJTkciOjEuMCwiYnJva2VyX1NQUkVBREVYIjoxLjAsImJyb2tlcl9TV0lTU1FVT1RFIjoxLjAsImJyb2tlcl9TVE9ORVgiOjEuMCwiYnJva2VyX1RBU1RZRlgiOjEuMCwiYnJva2VyX1RBU1RZVFJBREUiOjEuMCwiYnJva2VyX1RISU5LTUFSS0VUUyI6MS4wLCJ0aGlua21hcmtldHNfYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJicm9rZXJfVElDS01JTEwiOjEuMCwiaGlkZV9USUdFUl9vbl9pb3MiOjEuMCwiaGlkZV9USUdFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVElHRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfVFJBREVOQVRJT04iOjEuMCwiYnJva2VyX1RSQURFU1RBVElPTiI6MS4wLCJ0cmFkZXN0YXRpb25fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInRyYWRlc3RhdGlvbl9hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsInRyYWRlc3RhdGlvbl9zdHJlYW1pbmdfc2VydmVyX2xvZ2dpbmciOjEuMCwiYnJva2VyX1RSQURFWkVSTyI6MS4wLCJicm9rZXJfVFJBRElFUiI6MS4wLCJicm9rZXJfVFJBRElFUl9GVVRVUkVTIjoxLjAsInRyYWRpZXJfZnV0dXJlc19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9UUkFET1ZBVEUiOjEuMCwiaGlkZV9UUkFEVV9vbl9pb3MiOjEuMCwiaGlkZV9UUkFEVV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVFJBRFVfb25fbW9iaWxlX3dlYiI6MS4wLCJ0cmFkdV9zcHJlYWRfYmV0IjoxLjAsImJyb2tlcl9UUklWRSI6MS4wLCJicm9rZXJfVkFOVEFHRSI6MS4wLCJicm9rZXJfVkVMT0NJVFkiOjEuMCwiYnJva2VyX1dFQlVMTCI6MS4wLCJicm9rZXJfV0VCVUxMSkFQQU4iOjEuMCwiYnJva2VyX1dFQlVMTFBBWSI6MS4wLCJicm9rZXJfV0VCVUxMVUsiOjEuMCwiYnJva2VyX1dISVRFQklUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1QiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVF9GVVRVUkVTIjoxLjAsIldIU0VMRklOVkVTVF9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1hDVUJFIjoxLjAsImJyb2tlcl9ZTEciOjEuMCwiYnJva2VyX2lkX3Nlc3Npb24iOjEuMCwiZGlzYWxsb3dfY29uY3VycmVudF9zZXNzaW9ucyI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXJfZm9yX3VudGVzdGVkX2Jyb2tlcnMiOjEuMCwibW9iaWxlX3RyYWRpbmdfd2ViIjoxLjAsIm1vYmlsZV90cmFkaW5nX2lvcyI6MS4wLCJtb2JpbGVfdHJhZGluZ19hbmRyb2lkIjoxLjAsImNvbnRpbnVvdXNfZnJvbnRfY29udHJhY3RfdHJhZGluZyI6MS4wLCJ0cmFkaW5nX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJvYXV0aDJfY29kZV9mbG93X3Byb3ZpZGVyX3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9vYXV0aDJfY29kZV9mbG93X211bHRpcGxleGluZyI6MS4wLCJyZXN0X2xvZ291dF9vbl80MjkiOjEuMCwicmV2aWV3X3BvcHVwX29uX2NoYXJ0IjoxLjAsInNob3dfY29uY3VycmVudF9jb25uZWN0aW9uX3dhcm5pbmciOjEuMCwiZW5hYmxlX3RyYWRpbmdfc2VydmVyX2xvZ2dlciI6MS4wLCJvcmRlcl9wcmVzZXRzIjoxLjAsIm9yZGVyX3RpY2tldF9yZXNpemFibGVfZHJhd2VyX29uIjoxLjAsInJlc3RfdXNlX2FzeW5jX21hcHBlciI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9iYW5uZXJfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2ciOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2dfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fbGVhZGVyYm9hcmQiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fcHJldmlvdXNfY29tcGV0aXRpb25zIjoxLjAsImFtcF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJsdWVsaW5lX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiZG9ybWFuX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiaXJvbmJlYW1fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJvcHRpbXVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwic3RvbmV4X29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwieWxnX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwidHJhZGluZ19nZW5lcmFsX2V2ZW50c19nYV90cmFja2luZyI6MS4wLCJyZXBsYXlfcmVzdWx0X3NoYXJpbmciOjEuMCwicmVwbGF5X3RyYWRpbmdfYnJhY2tldHMiOjEuMCwiaGlkZV9hbGxfYnJva2Vyc19idXR0b25faW5faW9zX2FwcCI6MS4wLCJmb3JjZV9tYXhfYWxsb3dlZF9wdWxsaW5nX2ludGVydmFscyI6MS4wLCJwYXBlcl9kZWxheV90cmFkaW5nIjoxLjAsImVuYWJsZV9maXJzdF90b3VjaF9pc19zZWxlY3Rpb24iOjEuMCwiY2xlYXJfcHJvamVjdF9vcmRlcl9vbl9vcmRlcl90aWNrZXRfY2xvc2UiOjEuMCwiZW5hYmxlX25ld19iZWhhdmlvcl9vZl9jb25maXJtX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsInJlbmV3X3Rva2VuX3ByZWVtcHRpb25fMzAiOjEuMCwiZG9fbm90X29wZW5fb3RfZnJvbV9wbHVzX2J1dHRvbiI6MS4wLCJicm9rZXJfc2lkZV9wcm9tb3Rpb24iOjEuMCwiZW5hYmxlX25ld190cmFkaW5nX21lbnVfc3RydWN0dXJlIjoxLjAsInF1aWNrX3RyYWRpbmdfcGFuZWwiOjEuMCwicGFwZXJfb3JkZXJfY29uZmlybWF0aW9uX2RpYWxvZyI6MS4wLCJwYXBlcl9tdWx0aXBsZV9sZXZlbHNfZW5hYmxlZCI6MS4wLCJwYXBlcl9tYXJnaW5fY29udHJvbCI6MS4wLCJlbmFibGVfc2VnbWVudGF0aW9uX3BhcGVyX3RyYWRpbmciOjEuMCwiZW5hYmxlX2NoYXJ0X2FkYXB0aXZlX3Rwc2xfYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwiZW5hYmxlX21hcmtldF9wcm9qZWN0X29yZGVyIjoxLjAsImVuYWJsZV9zeW1ib2xzX3BvcHVsYXJpdHlfc2hvd2luZyI6MS4wLCJlbmFibGVfdHJhbnNsYXRpb25zX3MzX3VwbG9hZCI6MS4wLCJldGZfZnVuZF9mbG93c19vbmx5X2RheXNfcmVzb2x1dGlvbnMiOjEuMCwiZGlzYWJsZV9zbm93cGxvd19wbGF0Zm9ybV9ldmVudHMiOjEuMCwibm90aWZ5X2lkZWFfbW9kc19hYm91dF9maXJzdF9wdWJsaWNhdGlvbiI6MS4wLCJlbmFibGVfd2FmX3RyYWNraW5nIjoxLjAsIm5ld19lcnJvcnNfZmxvdyI6MS4wLCJxdW90ZS10b2tlbi1maWx0ZXItb3duLXNjcmlwdHMtYnktYWNjZXNzIjoxLjAsImtlZXBfaW5kaWNhdG9yc19zZWFyY2hfc3RhdGUiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3RhYl9zY3JvbGxfc3RhdGUiOjEuMCwiY29uZmlndXJhYmxlX3NlYXJjaF9hbmRfZmlsdHJhdGlvbiI6MS4wLCJwaW5lX2VkaXRvcl93cmFwX29uX2xpbmVfc3BsaXQiOjEuMCwic3ltYm9sX3NlYXJjaF9jb3VudHJ5X3NvdXJjZXMiOjEuMCwid2F0Y2hsaXN0c19kaWFsb2dfc2Nyb2xsX3RvX2FjdGl2ZSI6MS4wLCJib3R0b21fcGFuZWxfdHJhY2tfZXZlbnRzIjoxLjAsInNub3dwbG93X2JlYWNvbl9mZWF0dXJlIjoxLjAsInNob3dfZGF0YV9wcm9ibGVtc19pbl9oZWxwX2NlbnRlciI6MS4wLCJlbmFibGVfYXBwbGVfZGV2aWNlX2NoZWNrIjoxLjAsImVuYWJsZV9hcHBsZV9pbnRyb19vZmZlcl9zaWduYXR1cmUiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX29mZmVyX3NpZ25hdHVyZV92MiI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfYW5kcm9pZCI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2lvcyI6MS4wLCJlbmFibGVfbWFudGljb3JlX2NsdXN0ZXIiOjEuMCwiZW5hYmxlX3B1c2hzdHJlYW1fYXV0aCI6MS4wLCJlbmFibGVfZW52b3lfcHJveHkiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3BhcGVydHJhZGluZyI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfc2NyZWVuZXIiOjEuMCwib3B0aW9uc19yZWR1Y2VfcG9sbGluZ19pbnRlcnZhbCI6MS4wLCJvcHRpb25zX2J1aWxkZXJfZ3JvdXBfYWN0aW9ucyI6MS4wLCJvcHRpb25zX2NoYWluX3NpZ21hX2ZpbHRlciI6MS4wLCJvcHRpb25zX2Jyb2tlcl9zdHJhdGVnaWVzIjoxLjAsInNob3dfdG9hc3RfYWJvdXRfdW5yZWFkX21lc3NhZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcGF5b3V0IjoxLjAsImVuYWJsZV9lbWFpbF9jaGFuZ2VfbG9nZ2luZyI6MS4wLCJlbmFibGVfZW1haWxfb25fcGFydG5lcl9zdGF0dXNfY2hhbmdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW1fYXBwbHkiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbSI6MS4wLCJjb21wcmVzc19jYWNoZV9kYXRhIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZyI6MS4wLCJuZXdzX3NjcmVlbmVyX3BhZ2VfY2xpZW50IjoxLjAsImVuYWJsZV9kZWNsYXJhdGlvbl9wb3B1cF9vbl9sb2FkIjoxLjAsInNob3dfZGF0YV9ib25kc19mcmVlX3VzZXJzIjoxLjAsImVuYWJsZV9tb2Rlcm5fcmVuZGVyX21vZGUiOjEuMCwiZW5hYmxlX3Byb2ZfcG9wdXBfZnJlZSI6MS4wLCJpb3NfYXBwX25ld3NfYW5kX21pbmRzIjoxLjAsImRvX25vdF9kaXNjbG9zZV9waG9uZV9vY2N1cGFuY3kiOjEuMCwiZW5hYmxlX3JlZGlyZWN0X3RvX3dpZGdldF9kb2N1bWVudGF0aW9uX29mX2FueV9sb2NhbGl6YXRpb24iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX2hpYmVybmF0aW9uIjoxLjAsIm5ld3Nfc3RyZWFtaW5nX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIjoxLjAsInBhc3NfcmVjb3Zlcnlfc2VhcmNoX2hpZGVfaW5mbyI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfb25fc2NyZWVuZXIiOjEuMCwiZW5hYmxlX2ZvcmNlZF9lbWFpbF9jb25maXJtYXRpb24iOjEuMCwic2hvd19naWZ0X2J1dHRvbiI6MS4wLCJhZGRyZXNzX3ZhbGlkYXRpb25fZW5hYmxlZCI6MS4wLCJkaXNhYmxlX3VudmVyaWZpZWRfYWRkcmVzcyI6MS4wLCJnZW5lcmF0ZV9pbnZvaWNlX251bWJlcl9ieV9jb3VudHJ5IjoxLjAsInNob3dfZmF2b3JpdGVfbGF5b3V0cyI6MS4wLCJlbmFibGVfc29jaWFsX2F1dGhfY29uZmlybWF0aW9uIjoxLjAsImVuYWJsZV9hZF9ibG9ja19kZXRlY3QiOjEuMCwidHZkX25ld190YWJfbGlua2luZyI6MS4wLCJ0dmRfdGltZV9hbmRfZGF0ZV9yYW5nZV9saW5raW5nIjoxLjAsInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ1c2VfZGVza3RvcF9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwid3JvbmdfYWNjb3VudF9kaWFsb2dfcHJpbWFyeV9zd2l0Y2giOjEuMCwiZW5hYmxlX2xpbmd1YV9sYW5nX2NoZWNrIjoxLjAsImdldF9zYXZlZF9hY3RpdmVfbGlzdF9iZWZvcmVfZ2V0dGluZ19hbGxfbGlzdHMiOjEuMCwid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iOjEuMCwic2hvd19yZWZlcnJhbF9ub3RpZmljYXRpb25fZGlhbG9nIjoxLjAsInNldF9uZXdfYmxhY2tfY29sb3IiOjEuMCwibmV3c191c2VfbmV3c19tZWRpYXRvciI6MS4wLCJhbGxvd190cmFpbGluZ193aGl0ZXNwYWNlX2luX251bWJlcl90b2tlbiI6MS4wLCJyZXN0cmljdF9wd25lZF9wYXNzd29yZF9zZXQiOjEuMCwibm90aWZfc2V0dGluZ3NfZW5hYmxlX25ld19zdG9yZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV93cml0ZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV9yZWFkIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrLWZvci1pbml0aWFsLXB1cmNoYXNlIjoxLjAsImVuYWJsZV9tZXRhZGVmZW5kZXJfY2hlY2tfZm9yX2FncmVlbWVudCI6MS4wLCJzaG93X2Rvd25sb2FkX3lpZWxkX2N1cnZlc19kYXRhIjoxLjAsIm1vdmVfa2V5X3Rlbm9yc190b19zZXR0aW5ncyI6MS4wLCJzaG93X3lpZWxkX2N1cnZlc19tYXAiOjEuMCwiZGlzYWJsZV93aWRnZXRiYXJfaW5fYXBwcyI6MS4wLCJoaWRlX3B1YmxpY2F0aW9uc19vZl9iYW5uZWRfdXNlcnMiOjEuMCwiZW5hYmxlX3N1bW1hcnlfdXBkYXRlc19mcm9tX2NoYXJ0X3Nlc3Npb24iOjEuMCwic2hvd19uZXdzX2Zsb3dfdG9vbF9yaWdodF9iYXIiOjEuMCwiZW5hYmxlX2NoYXJ0X3NhdmluZ19zdGF0cyI6MS4wLCJlbmFibGVfc2F2aW5nX3NhbWVfY2hhcnRfcmF0ZV9saW1pdCI6MS4wLCJuZXdzX2FsZXJ0c19lbmFibGVkIjoxLjAsIm5ld3NfbXVsdGlwbGVfYWxlcnRzX2VuYWJsZWQiOjEuMCwicmVmdW5kX3Vudm9pZGFibGVfY291cG9uc19lbmFibGVkIjoxLjAsImVuYWJsZV9zbm93cGxvd19lbWFpbF90cmFja2luZyI6MS4wLCJuZXdzX2VuYWJsZV9zZW50aW1lbnQiOjEuMCwidXNlX2luX3N5bWJvbF9zZWFyY2hfb3B0aW9uc19tY3hfZXhjaGFuZ2UiOjEuMCwiZW5hYmxlX3VzZXJzZXR0aW5nc19zeW1ib2xzX3Blcl9yb3dfc29mdF9saW1pdCI6MC4xLCJmb3JiaWRfbG9naW5fd2l0aF9wd25lZF9wYXNzd29yZHMiOjEuMCwiZGVidWdfZ2V0X3Rlc3RfYmFyc19kYXRhIjoxLjAsIm5ld3NfdXNlX21lZGlhdG9yX3N0b3J5IjoxLjAsIm5ld3NfZmxvd19yZWNvbmZpZ3VyZV9maWx0ZXJzIjoxLjAsImJsYWNrX2ZyaWRheV9lbmFibGVfc2tpcF90b19wYXltZW50IjoxLjAsImhpZGVfdHJhZGluZ19idXR0b25fb25fYm90dG9tX3BhbmVsX2FuZF9yZXBsYXlfdGFiIjoxLjAsImhpZGVfdHJhZGVfYnV0dG9uX2hpbnRfaW5faGVhZGVyX3Rvb2xiYXIiOjEuMCwiaGlkZV9zZWVfb25fc3VwZXJfY2hhcnRzX2J1dHRvbiI6MS4wLCJoaWRlX3N5bWJvbF9wYWdlX2NoYXJ0X3R5cGVfc3dpdGNoZXIiOjEuMCwiZGlzYWJsZV9jaGF0X3NwYW1fcHJvdGVjdGlvbl9mb3JfcHJlbWl1bV91c2VycyI6MS4wLCJkaXNhYmxlX3B1YmxpY19waW5lX3NjcmlwdF9wdWJsaXNoX2xpbWl0cyI6MS4wLCJtYWtlX3RyYWRpbmdfcGFuZWxfY29udGV4dHVhbF90YWIiOjEuMCwicmVjb25uZWN0X2dhaW5fc2Vzc2lvbl9vbl9sc19lcnJvciI6MS4wLCJjaGVja291dC1mbG93LXBheW1lbnRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2t5YyI6MS4wLCJpbmRpYV9leGNsdWRlX2JyYWludHJlZV90YWIiOjEuMCwibWFjcm9fbWFwc19oaWRlX3Rvb2x0aXBfY2hhcnRfYnV0dG9uIjoxLjAsImZvcmNlX2t5Y19mb3Jfbm9ucHJvX3B1cmNoYXNlX2J5X2NvbW1lcmNpYWwiOjEuMCwic2hvd19zcGxpdF9wYW5lbF9mdWxsc2NyZWVuX2J1dHRvbiI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX21vdmVfYnV0dG9uX3RvX3RpdGxlIjoxLjAsIm9yZGVyX3ByZXNldHNfY3J1ZF9zdG9yYWdlIjoxLjAsIm9yZGVyX3ByZXNldHNfcmVtb3ZlX2Zyb21fdHZfc2V0dGluZ3MiOjEuMCwiY2hlY2tvdXQtZmxvdy10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheSI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsIjoxLjAsImZvcmJpZF9zaWdudXBfd2l0aF9mYWtlX2dtYWlsX2RvbWFpbnMiOjEuMCwic2hvd19pbXBvcnRfZnJvbV9wYXBlcl90cmFkaW5nX2J1dHRvbiI6MS4wLCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwtdHJpYWwiOjEuMCwidm9pZF9ub3RfZm91bmRfY2tvX3BheW1lbnRfaW5fYXBwcm92ZWRfd2ViaG9vayI6MS4wLCJzaG93X3BhbmVsX2NvbGxhcHNlX2J1dHRvbiI6MS4wLCJkZWxheV9zdGF0dXNfb25fbGFzdF9iYXIiOjAuM307CndpbmRvdy5pbml0RGF0YSA9IHt9OwoJCXdpbmRvdy5TM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwgPSAiaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIjsKCndpbmRvdy5pbml0RGF0YSA9IHsid2lkZ2V0RGVmYXVsdHMiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJjb2xvclRoZW1lIjoibGlnaHQiLCJsb2NhbGUiOiJlbiJ9fTsKCQl3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm8gPSB7Imxhbmd1YWdlIjoiZW4iLCJsYW5ndWFnZV9uYW1lIjoiRW5nbGlzaCIsImZsYWciOiJ1cyIsImdlb2lwX2NvZGUiOiJ1cyIsImlzbyI6ImVuIiwiaXNvXzYzOV8zIjoiZW5nIiwiZ2xvYmFsX25hbWUiOiJFbmdsaXNoIiwiaXNfb25seV9yZWNvbW1lbmRlZF90d19hdXRvcmVwb3N0Ijp0cnVlfTsKCQl3aW5kb3cuaW5pdERhdGEuc2V0dGluZ3MgPSB7J1MzX0xPR09fU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8nLCAnUzNfTkVXU19JTUFHRV9TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL25ld3MvJywgJ1dFQlBBQ0tfU1RBVElDX1BBVEgnOiAnaHR0cHM6Ly9zdGF0aWMudHJhZGluZ3ZpZXcuY29tL3N0YXRpYy9idW5kbGVzLycsICdUUkFESU5HX1VSTFMnOiB7J2ZyZWUnOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmctZnJlZS50cmFkaW5ndmlldy5jb20nLCAncHJvJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLnRyYWRpbmd2aWV3LmNvbSd9LCAnQ09OVEVTVFNfVVJMJzogJy9wYXBlci10cmFkaW5nJywgJ0NSVURfU1RPUkFHRV9VUkwnOiAnaHR0cHM6Ly9jcnVkLXN0b3JhZ2UudHJhZGluZ3ZpZXcuY29tJ307PC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iWjJuUGNoREowTGl4U0NqSmFnZU9lQT09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgZT17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtjb25zdCB0PXdpbmRvdzt0LmluaXREYXRhPXQuaW5pdERhdGF8fHt9O2NvbnN0IGE9L1wrL2csbj0vPFwvP1tePl0rKD58JCkvZyxzPWU9PmRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoYSwiICIpKS5yZXBsYWNlKG4sIiIpLG89dC5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGM9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtsZXQgbCxyPWMuZXhlYyhvKTtmb3IoO251bGwhPT1yOylpW3MoclsxXSldPXMoclsyXSkscj1jLmV4ZWMobyk7dHJ5e2w9SlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQodC5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSkpLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWx8fChsPXt9KX1jYXRjaChlKXtsPXt9fXZhciBoO3QuaW5pdERhdGEucXVlcnlTZXR0aW5ncz1pLHQuaW5pdERhdGEuaGFzaFNldHRpbmdzPShoPWwsT2JqZWN0LmtleXMoaCkuZm9yRWFjaCgodD0+e2VbdF0mJmRlbGV0ZSBoW3RdfSkpLGgpfSkoKTsKCTwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IloyblBjaERKMExpeFNDakphZ2VPZUE9PSI+d2luZG93LlNTX0hPU1QgPSAic3ltYm9sLXNlYXJjaC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XSURHRVRfU0hFUklGRl9IT1NUID0gImh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbSI7CgkJd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQgPSBmYWxzZTsKCgl3aW5kb3cuU0NSRUVORVJfSE9TVCA9ICdodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tJzsKCgkJd2luZG93LmxvY2FsZV9kb21haW5zID0geyJlbiI6Ind3dy50cmFkaW5ndmlldy5jb20iLCJhcl9BRSI6ImFyLnRyYWRpbmd2aWV3LmNvbSIsImJyIjoiYnIudHJhZGluZ3ZpZXcuY29tIiwiZGVfREUiOiJkZS50cmFkaW5ndmlldy5jb20iLCJlcyI6ImVzLnRyYWRpbmd2aWV3LmNvbSIsImZyIjoiZnIudHJhZGluZ3ZpZXcuY29tIiwiaGVfSUwiOiJpbC50cmFkaW5ndmlldy5jb20iLCJpZCI6ImlkLnRyYWRpbmd2aWV3LmNvbSIsImluIjoiaW4udHJhZGluZ3ZpZXcuY29tIiwiaXQiOiJpdC50cmFkaW5ndmlldy5jb20iLCJqYSI6ImpwLnRyYWRpbmd2aWV3LmNvbSIsImtyIjoia3IudHJhZGluZ3ZpZXcuY29tIiwibXNfTVkiOiJteS50cmFkaW5ndmlldy5jb20iLCJwbCI6InBsLnRyYWRpbmd2aWV3LmNvbSIsInJ1IjoicnUudHJhZGluZ3ZpZXcuY29tIiwidGhfVEgiOiJ0aC50cmFkaW5ndmlldy5jb20iLCJ0ciI6InRyLnRyYWRpbmd2aWV3LmNvbSIsInZpX1ZOIjoidm4udHJhZGluZ3ZpZXcuY29tIiwiemhfQ04iOiJjbi50cmFkaW5ndmlldy5jb20iLCJ6aF9UVyI6InR3LnRyYWRpbmd2aWV3LmNvbSIsImNhX0VTIjoiZXMudHJhZGluZ3ZpZXcuY29tIn07CgoJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyB8fCBbXTsKCQkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMucHVzaCgnd2lkZ2V0Jyk7CgoJCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKPC9zY3JpcHQ+Cgo8L2hlYWQ+Cjxib2R5PgoJPHNjcmlwdCBub25jZT0iWjJuUGNoREowTGl4U0NqSmFnZU9lQT09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgdD0xMDE5O3ZhciBlLHMsbyxhLGQ7IWZ1bmN0aW9uKHQpe3QuQWRhcHRpdmU9ImFkYXB0aXZlIix0LlJlZ3VsYXI9InJlZ3VsYXIiLHQuQ29tcGFjdD0iY29tcGFjdCJ9KGV8fChlPXt9KSksZnVuY3Rpb24odCl7dC5BbGxTeW1ib2xzPSJhbGxfc3ltYm9scyIsdC5NYXJrZXQ9Im1hcmtldCIsdC5TeW1ib2w9InN5bWJvbCJ9KHN8fChzPXt9KSksZnVuY3Rpb24odCl7dC5DcnlwdG9jdXJyZW5jaWVzPSJjcnlwdG8iLHQuQ3VycmVuY2llcz0iZm9yZXgiLHQuU3RvY2tzPSJzdG9jayIsdC5JbmRpY2VzPSJpbmRleCIsdC5GdXR1cmVzPSJmdXR1cmVzIix0LkJvbmRzPSJjZmQifShvfHwobz17fSkpLGZ1bmN0aW9uKHQpe3QuSFRNTD0iaHRtbCIsdC5SZWFjdD0icmVhY3QifShhfHwoYT17fSkpLGZ1bmN0aW9uKHQpe3QuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0oZHx8KGQ9e30pKTtjb25zdCBjPXdpbmRvdztjLmluaXREYXRhPWMuaW5pdERhdGF8fHt9O2xldCBpPWMuaW5pdERhdGEuaGFzaFNldHRpbmdzO2lmKGMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMmJihpPXsuLi5jLmluaXREYXRhLndpZGdldERlZmF1bHRzLC4uLml9KSx2b2lkIDAhPT1pKXtpZih2b2lkIDAhPT1pLmNvbG9yVGhlbWUmJmZ1bmN0aW9uKHQsZT13aW5kb3cpe2NvbnN0IHM9InRoZW1lLSIrdCxvPWUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKG8pKXQuc3RhcnRzV2l0aCgidGhlbWUtIikmJnQhPT1zJiZvLnJlbW92ZSh0KTtvLmFkZChzKSxlLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LnRoZW1lPXR9KGkuY29sb3JUaGVtZSksKGkuaXNUcmFuc3BhcmVudHx8aS50cmFuc3BhcmVuY3kpJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaXMtdHJhbnNwYXJlbnQiKSx2b2lkIDAhPT1pLmRpc3BsYXlNb2RlJiZmdW5jdGlvbihzLG8pe2lmKG89PT1lLkFkYXB0aXZlKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKGAobWF4LXdpZHRoOiAke3R9cHgpYCksbz0oKT0+e3MuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLCFlLm1hdGNoZXMpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLGUubWF0Y2hlcyl9O28oKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsbyl9ZWxzZSBzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIixvPT09ZS5SZWd1bGFyKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixvPT09ZS5Db21wYWN0KX0oZG9jdW1lbnQuYm9keSxpLmRpc3BsYXlNb2RlKSxpLmJvZHlDbGFzc2VzKWZvcihjb25zdCB0IG9mIGkuYm9keUNsYXNzZXMpZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKHQpO2kuYm9keV9jbGFzcyYmZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKGkuYm9keV9jbGFzcyksaS5ib2R5SWQmJihkb2N1bWVudC5ib2R5LmlkPWkuYm9keUlkKX19KSgpOwoJPC9zY3JpcHQ+CgoJPGRpdiBpZD0ianMtc2NyZWVuZXItY29udGFpbmVyIiBjbGFzcz0idHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIiPjwvZGl2PgoKPHNjcmlwdCBub25jZT0iWjJuUGNoREowTGl4U0NqSmFnZU9lQT09Ij4KCXdpbmRvdy5pbml0RGF0YSA9IHdpbmRvdy5pbml0RGF0YSB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncyA9IHsKCQljb2xsZWN0b3JJZDogJ3R2X2NmJywKCQl1cmw6ICdzbm93cGxvdy1waXhlbC50cmFkaW5ndmlldy5jb20nLAoJCXBhcmFtczogewoJCQlhcHBJZDogJ3RyYWRpbmd2aWV3JywKCQkJcG9zdFBhdGg6ICcvY29tLnRyYWRpbmd2aWV3L3RyYWNrJywKCQl9LAoJCWVuYWJsZWQ6IHRydWUsCgl9Cjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg=="}},"time_used":144,"timings":{"blocked":-1,"dns":0,"connect":1,"send":0,"wait":137,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/translate_static/img/te_ctrl3.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:42.230Z","timestamp":1785136902230,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /translate_static/img/te_ctrl3.gif HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: 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://huobiget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1412\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:32:24 GMT\r\nexpires: Fri, 23 Jul 2027 02:32:24 GMT\r\ncache-control: public, max-age=31536000\r\nage: 362958\r\nlast-modified: Thu, 03 Oct 2019 10:15:00 GMT\r\ncontent-type: image/gif\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":1412,"size_decoded":2072,"mime_type":"image/gif","magic":"GIF image data, version 89a, 84 x 19","md5":"9afe50090c0bc612953d081295eab5b1","sha1":"71a4da2a622879c29176ecfa5afe1bbe3e8cfa40","sha256":"d228d0256370863119c043f1e5ca8f3930f6999bd9f250434b6d8935f45dc171","sha512":"d7290b951cec51994f3480c32b70de0faeca433b5d99209b044e1d4c12327768de8c344b6bded806d993251e0ee6f98f0dd64f4480e999fbc06abfe3dd8056fa","ssdeep":"","tlshash":"042182b5cc99114a5be1bd27a334899da8b12c56c38d74595436bdb43470f098422812","first_seen":"2023-04-05T08:27:37Z","last_seen":"2026-08-10T08:28:41.118286Z","times_seen":16935,"resource_available":false,"data":"R0lGODlhVAATAOePAAAAyxZBmhdFrBhHrhpMyB1Uxh1Vzh5X0R9ZzR9awSFf1SNk2CYW0SZq2yZs4Cka2yt45TB9ITJ11TODHjODIDWKGzdgrDmUGjuaRTybGT1svj6hGUClGEF1tEGnFkGpGUKrFUNnrkWjYUWoUkZtskdww0dxy0l/EkmP5EqlLUtLS0uxFFCmLlGY6lON3la4E1e0GFhYD1uxRlu5EVyyU1+vLGW8FGef5mmTx22p7W6PEW+d32+e4XKa2Hp6en6p5H9lE4eHh4i06YurxYyqyYyufoy8iI29ho7AhpCz55DEhJW55ZaT15jClqGm9afE2KgeFavK7LDN47rV7b7J4cTa9cXi0MjX8Mrd9c0lGs3l/9QmGtbW1tfq/9jl9djl+NmcANns0dnt4NonG9otM9yGft4pG9/x4OCrIuG3I+Hv/+Lfz+Px4eRWTOSaAeSyNuUpHOWIgOalAOby/+c5P+egD+exAefJcOhYXuqjAOq3Tuq9YOtqbuvHG+vz++xYTOy8AO2sAe6xAO7x9+/Ecu/SaPDYaPD2//D47/KzAPS7APfpy/ng3fzp7P347f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAABUABMAAAj+AP+pGEiw4MB//4goXMhQ4b8gECNKnIiwosWLGBE+2sjxkaNGIB115KjCB5eTKFP6UEEkypyXMGNGIRJkpM2NQSwO2bkzI8aRjOL8oUP0TxxGI1WkXIqSZcynMGnetJnz386OanpWxNGhKw6NHOMQHUs2jsiNSpkudQr1qVScI2vitLpRTZe7XdRoGYKQ65K/Hb5yxEO2MJ0/HdNyYQCgMQAGTYnAfOAYwIOociNy1Pwo55BHXZZ07XC3Ct9/HZZUFP1vo9ixfNYsWsOHDp6kKJlUZhIZppPKTjBvhtiZOM7PdlN34Xp3Ct/Uqzu0XjT2z5qRaxrhRsn4cUq2Lyn+W475FqfEjkE+4+0yhXkXKUNGy+/6yFAdotc7HrqpmItuALz15ltjwQmHnnGbqddcV3jBl9pfEIrmSB+KKILYVNtxB9l3ksX0wGXkyWUeZ8eBdheDDcY332iOVKiIIR0tgcKMNKKQwyP9+ReggL4VaGBxNZGYnl3r4TXFE/FFCGEHLVa4SEdR1EhjDofkqBZ4bb30lpDGeUYkiu89t2JXTb4Yo5Qz3mglU1hmWZ6IcM01hBZVrDeFFEiipiRgE1ZYREdzaCGoFi3MKASOJql10kotZfnSTHBiWNVOd0qBp1Zj0mdIGiOMYMVNVdAYxSMCGWQqQg2lSsRDGKKnE09jp/lU0SNhdDqCCJ929EWhKLTQBamyBuvTRMRKJKywGxlh6whGWOGsESLQeCiwx1Zr7bWyckTDstxi0MENHGEr7rjWdqQst7Ya0RG57LZ70UhWQGurCM2O5O697N6EyL773hQQADs="}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://widgetdata.tradingview.com/socket.io/websocket?from=widgetembed%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=huobiget.com%2F\u0026ancestor-origin=huobiget.com\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.180","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.893Z","timestamp":1785136900893,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Wed, 18 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"96:06:76:35:9F:2C:2D:1C:89:55:E8:92:7C:4F:4B:FD:E9:F6:FF:1A","sha256":"BC:FA:33:CE:19:85:7A:43:44:BA:17:CE:87:15:42:E2:02:0C:7A:4E:83:42:1F:58:8F:59:B4:20:BF:4B:35:00"}}},"request":{"raw":"GET /socket.io/websocket?from=widgetembed%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=huobiget.com%2F\u0026ancestor-origin=huobiget.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: met+nKOom4KNZcDp2ypunw==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: same-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 101 Switching Protocols\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nConnection: upgrade\r\nsec-websocket-accept: UxA46O++JJxneiFqUJkOtO6dVs8=\r\nsec-websocket-extensions: permessage-deflate\r\nupgrade: websocket\r\nServer: tv\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":224,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":""}},"time_used":106,"timings":{"blocked":-1,"dns":3,"connect":24,"send":0,"wait":24,"receive":0,"ssl":55},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36166.7637be1cf2514504ac79.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.980Z","timestamp":1785136900980,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36166.7637be1cf2514504ac79.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-52e1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:20:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8fafccb7034e4dcc0cd15e2685099ee8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":21217,"size_decoded":9572,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3063)","md5":"51776a5fc46a025b06d1b20c444a8934","sha1":"ded406bfe93dcf4112270cd3f1634b7bec2da0cf","sha256":"6619f156d8b0192fb34d6c756bf0bda361c55a6a2d79c9fe1117d9a83ad626df","sha512":"1a8c2a8de6868dcf9765cf86c13f9a9f50c87cc022a6142c3a48a4e8da04589a6c06376ccb2928de274dd64f5558784b2a5f2c5c13617c7c40ea38359ab819ad","ssdeep":"384:Ew9WKLri/jpKfQVAFzMnNReRhrt3bkiRWXxKziTObRcRbF:Ew9WKa9K4Gz4fejx1RWszhbe9F","tlshash":"8492b5c8b1e1f0e556e768a0807f444bf13a7d19349e9060a3a2d4d678b46dec07bf6e","first_seen":"2026-07-25T03:24:57.421925Z","last_seen":"2026-07-28T04:58:41.961336Z","times_seen":316,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNjE2Niw4MDcwNl0sezcxMjc0NSh0LHIsZSl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBvLHU9MWU2LGk9MWU2LGM9IltiaWcuanNdICIsZj1jKyJJbnZhbGlkICIscz1mKyJkZWNpbWFsIHBsYWNlcyIsYT1mKyJyb3VuZGluZyBtb2RlIixsPWMrIkRpdmlzaW9uIGJ5IHplcm8iLHA9e30saD12b2lkIDAsZD0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiB5KHQscixlLG4pe3ZhciBvPXQuYztpZihlPT09aCYmKGU9dC5jb25zdHJ1Y3Rvci5STSksMCE9PWUmJjEhPT1lJiYyIT09ZSYmMyE9PWUpdGhyb3cgRXJyb3IoYSk7aWYocjwxKW49Mz09PWUmJihufHwhIW9bMF0pfHwwPT09ciYmKDE9PT1lJiZvWzBdPj01fHwyPT09ZSYmKG9bMF0+NXx8NT09PW9bMF0mJihufHxvWzFdIT09aCkpKSxvLmxlbmd0aD0xLG4/KHQuZT10LmUtcisxLG9bMF09MSk6b1swXT10LmU9MDtlbHNlIGlmKHI8by5sZW5ndGgpe2lmKG49MT09PWUmJm9bcl0+PTV8fDI9PT1lJiYob1tyXT41fHw1PT09b1tyXSYmKG58fG9bcisxXSE9PWh8fDEmb1tyLTFdKSl8fDM9PT1lJiYobnx8ISFvWzBdKSxvLmxlbmd0aD1yLS0sbilmb3IoOysrb1tyXT45OylvW3JdPTAsci0tfHwoKyt0LmUsby51bnNoaWZ0KDEpKTtmb3Iocj1vLmxlbmd0aDshb1stLXJdOylvLnBvcCgpfXJldHVybiB0fWZ1bmN0aW9uIHYodCxyLGUpe3ZhciBuPXQuZSxvPXQuYy5qb2luKCIiKSx1PW8ubGVuZ3RoO2lmKHIpbz1vLmNoYXJBdCgwKSsodT4xPyIuIitvLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspbz0iMCIrbztvPSIwLiIrb31lbHNlIGlmKG4+MClpZigrK24+dSlmb3Iobi09dTtuLS07KW8rPSIwIjtlbHNlIG48dSYmKG89by5zbGljZSgwLG4pKyIuIitvLnNsaWNlKG4pKTtlbHNlIHU+MSYmKG89by5jaGFyQXQoMCkrIi4iK28uc2xpY2UoMSkpO3JldHVybiB0LnM8MCYmZT8iLSIrbzpvfXAuYWJzPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHQucz0xLHR9LHAuY21wPWZ1bmN0aW9uKHQpe3ZhciByLGU9dGhpcyxuPWUuYyxvPSh0PW5ldyBlLmNvbnN0cnVjdG9yKHQpKS5jLHU9ZS5zLGk9dC5zLGM9ZS5lLGY9dC5lO2lmKCFuWzBdfHwhb1swXSlyZXR1cm4gblswXT91Om9bMF0/LWk6MDtpZih1IT1pKXJldHVybiB1O2lmKHI9dTwwLGMhPWYpcmV0dXJuIGM+Zl5yPzE6LTE7Zm9yKGk9KGM9bi5sZW5ndGgpPChmPW8ubGVuZ3RoKT9jOmYsdT0tMTsrK3U8aTspaWYoblt1XSE9b1t1XSlyZXR1cm4gblt1XT5vW3VdXnI/MTotMTtyZXR1cm4gYz09Zj8wOmM+Zl5yPzE6LTF9LHAuZGl2PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsZT1yLmNvbnN0cnVjdG9yLG49ci5jLG89KHQ9bmV3IGUodCkpLmMsaT1yLnM9PXQucz8xOi0xLGM9ZS5EUDtpZihjIT09fn5jfHxjPDB8fGM+dSl0aHJvdyBFcnJvcihzKTtpZighb1swXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gdC5zPWksdC5jPVt0LmU9MF0sdDt2YXIgZixhLHAsZCx2LHc9by5zbGljZSgpLGI9Zj1vLmxlbmd0aCxnPW4ubGVuZ3RoLG09bi5zbGljZSgwLGYpLEU9bS5sZW5ndGgsXz10LFM9Xy5jPVtdLE89MCxqPWMrKF8uZT1yLmUtdC5lKSsxO2ZvcihfLnM9aSxpPWo8MD8wOmosdy51bnNoaWZ0KDApO0UrKzxmOyltLnB1c2goMCk7ZG97Zm9yKHA9MDtwPDEwO3ArKyl7aWYoZiE9KEU9bS5sZW5ndGgpKWQ9Zj5FPzE6LTE7ZWxzZSBmb3Iodj0tMSxkPTA7Kyt2PGY7KWlmKG9bdl0hPW1bdl0pe2Q9b1t2XT5tW3ZdPzE6LTE7YnJlYWt9aWYoIShkPDApKWJyZWFrO2ZvcihhPUU9PWY/bzp3O0U7KXtpZihtWy0tRV08YVtFXSl7Zm9yKHY9RTt2JiYhbVstLXZdOyltW3ZdPTk7LS1tW3ZdLG1bRV0rPTEwfW1bRV0tPWFbRV19Zm9yKDshbVswXTspbS5zaGlmdCgpfVNbTysrXT1kP3A6KytwLG1bMF0mJmQ/bVtFXT1uW2JdfHwwOm09W25bYl1dfXdoaWxlKChiKys8Z3x8bVswXSE9PWgpJiZpLS0pO3JldHVybiBTWzBdfHwxPT1PfHwoUy5zaGlmdCgpLF8uZS0tLGotLSksTz5qJiZ5KF8saixlLlJNLG1bMF0hPT1oKSxffSxwLmVxPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXAodCl9LHAuZ3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPjB9LHAuZ3RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcCh0KT4tMX0scC5sdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk8MH0scC5sdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPDF9LHAubWludXM9cC5zdWI9ZnVuY3Rpb24odCl7dmFyIHIsZSxuLG8sdT10aGlzLGk9dS5jb25zdHJ1Y3RvcixjPXUucyxmPSh0PW5ldyBpKHQpKS5zO2lmKGMhPWYpcmV0dXJuIHQucz0tZix1LnBsdXModCk7dmFyIHM9dS5jLnNsaWNlKCksYT11LmUsbD10LmMscD10LmU7aWYoIXNbMF18fCFsWzBdKXJldHVybiBsWzBdP3Qucz0tZjpzWzBdP3Q9bmV3IGkodSk6dC5zPTEsdDtpZihjPWEtcCl7Zm9yKChvPWM8MCk/KGM9LWMsbj1zKToocD1hLG49bCksbi5yZXZlcnNlKCksZj1jO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKGU9KChvPXMubGVuZ3RoPGwubGVuZ3RoKT9zOmwpLmxlbmd0aCxjPWY9MDtmPGU7ZisrKWlmKHNbZl0hPWxbZl0pe289c1tmXTxsW2ZdO2JyZWFrfWlmKG8mJihuPXMscz1sLGw9bix0LnM9LXQucyksKGY9KGU9bC5sZW5ndGgpLShyPXMubGVuZ3RoKSk+MClmb3IoO2YtLTspc1tyKytdPTA7Zm9yKGY9cjtlPmM7KXtpZihzWy0tZV08bFtlXSl7Zm9yKHI9ZTtyJiYhc1stLXJdOylzW3JdPTk7LS1zW3JdLHNbZV0rPTEwfXNbZV0tPWxbZV19Zm9yKDswPT09c1stLWZdOylzLnBvcCgpO2Zvcig7MD09PXNbMF07KXMuc2hpZnQoKSwtLXA7cmV0dXJuIHNbMF18fCh0LnM9MSxzPVtwPTBdKSx0LmM9cyx0LmU9cCx0fSxwLm1vZD1mdW5jdGlvbih0KXsKdmFyIHIsZT10aGlzLG49ZS5jb25zdHJ1Y3RvcixvPWUucyx1PSh0PW5ldyBuKHQpKS5zO2lmKCF0LmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIGUucz10LnM9MSxyPTE9PXQuY21wKGUpLGUucz1vLHQucz11LHI/bmV3IG4oZSk6KG89bi5EUCx1PW4uUk0sbi5EUD1uLlJNPTAsZT1lLmRpdih0KSxuLkRQPW8sbi5STT11LHRoaXMubWludXMoZS50aW1lcyh0KSkpfSxwLnBsdXM9cC5hZGQ9ZnVuY3Rpb24odCl7dmFyIHIsZSxuLG89dGhpcyx1PW8uY29uc3RydWN0b3I7aWYodD1uZXcgdSh0KSxvLnMhPXQucylyZXR1cm4gdC5zPS10LnMsby5taW51cyh0KTt2YXIgaT1vLmUsYz1vLmMsZj10LmUscz10LmM7aWYoIWNbMF18fCFzWzBdKXJldHVybiBzWzBdfHwoY1swXT90PW5ldyB1KG8pOnQucz1vLnMpLHQ7aWYoYz1jLnNsaWNlKCkscj1pLWYpe2ZvcihyPjA/KGY9aSxuPXMpOihyPS1yLG49Yyksbi5yZXZlcnNlKCk7ci0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKGMubGVuZ3RoLXMubGVuZ3RoPDAmJihuPXMscz1jLGM9bikscj1zLmxlbmd0aCxlPTA7cjtjW3JdJT0xMCllPShjWy0tcl09Y1tyXStzW3JdK2UpLzEwfDA7Zm9yKGUmJihjLnVuc2hpZnQoZSksKytmKSxyPWMubGVuZ3RoOzA9PT1jWy0tcl07KWMucG9wKCk7cmV0dXJuIHQuYz1jLHQuZT1mLHR9LHAucG93PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsZT1uZXcgci5jb25zdHJ1Y3RvcigiMSIpLG49ZSxvPXQ8MDtpZih0IT09fn50fHx0PC0xZTZ8fHQ+aSl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihvJiYodD0tdCk7MSZ0JiYobj1uLnRpbWVzKHIpKSx0Pj49MTspcj1yLnRpbWVzKHIpO3JldHVybiBvP2UuZGl2KG4pOm59LHAucHJlYz1mdW5jdGlvbih0LHIpe2lmKHQhPT1+fnR8fHQ8MXx8dD51KXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiB5KG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHQscil9LHAucm91bmQ9ZnVuY3Rpb24odCxyKXtpZih0PT09aCl0PTA7ZWxzZSBpZih0IT09fn50fHx0PC11fHx0PnUpdGhyb3cgRXJyb3Iocyk7cmV0dXJuIHkobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyksdCt0aGlzLmUrMSxyKX0scC5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHQscixlLG49dGhpcyxvPW4uY29uc3RydWN0b3IsdT1uLnMsaT1uLmUsZj1uZXcgbygiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IG8obik7aWYodTwwKXRocm93IEVycm9yKGMrIk5vIHNxdWFyZSByb290Iik7MD09PSh1PU1hdGguc3FydChuKyIiKSl8fHU9PT0xLzA/KChyPW4uYy5qb2luKCIiKSkubGVuZ3RoK2kmMXx8KHIrPSIwIiksaT0oKGkrMSkvMnwwKS0oaTwwfHwxJmkpLHQ9bmV3IG8oKCh1PU1hdGguc3FydChyKSk9PTEvMD8iNWUiOih1PXUudG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLHUuaW5kZXhPZigiZSIpKzEpKStpKSk6dD1uZXcgbyh1KyIiKSxpPXQuZSsoby5EUCs9NCk7ZG97ZT10LHQ9Zi50aW1lcyhlLnBsdXMobi5kaXYoZSkpKX13aGlsZShlLmMuc2xpY2UoMCxpKS5qb2luKCIiKSE9PXQuYy5zbGljZSgwLGkpLmpvaW4oIiIpKTtyZXR1cm4geSh0LChvLkRQLT00KSt0LmUrMSxvLlJNKX0scC50aW1lcz1wLm11bD1mdW5jdGlvbih0KXt2YXIgcixlPXRoaXMsbj1lLmNvbnN0cnVjdG9yLG89ZS5jLHU9KHQ9bmV3IG4odCkpLmMsaT1vLmxlbmd0aCxjPXUubGVuZ3RoLGY9ZS5lLHM9dC5lO2lmKHQucz1lLnM9PXQucz8xOi0xLCFvWzBdfHwhdVswXSlyZXR1cm4gdC5jPVt0LmU9MF0sdDtmb3IodC5lPWYrcyxpPGMmJihyPW8sbz11LHU9cixzPWksaT1jLGM9cykscj1uZXcgQXJyYXkocz1pK2MpO3MtLTspcltzXT0wO2ZvcihmPWM7Zi0tOyl7Zm9yKGM9MCxzPWkrZjtzPmY7KWM9cltzXSt1W2ZdKm9bcy1mLTFdK2MscltzLS1dPWMlMTAsYz1jLzEwfDA7cltzXT1jfWZvcihjPysrdC5lOnIuc2hpZnQoKSxmPXIubGVuZ3RoOyFyWy0tZl07KXIucG9wKCk7cmV0dXJuIHQuYz1yLHR9LHAudG9FeHBvbmVudGlhbD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMsbj1lLmNbMF07aWYodCE9PWgpe2lmKHQhPT1+fnR8fHQ8MHx8dD51KXRocm93IEVycm9yKHMpO2ZvcihlPXkobmV3IGUuY29uc3RydWN0b3IoZSksKyt0LHIpO2UuYy5sZW5ndGg8dDspZS5jLnB1c2goMCl9cmV0dXJuIHYoZSwhMCwhIW4pfSxwLnRvRml4ZWQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLG49ZS5jWzBdO2lmKHQhPT1oKXtpZih0IT09fn50fHx0PDB8fHQ+dSl0aHJvdyBFcnJvcihzKTtmb3IodD10KyhlPXkobmV3IGUuY29uc3RydWN0b3IoZSksdCtlLmUrMSxyKSkuZSsxO2UuYy5sZW5ndGg8dDspZS5jLnB1c2goMCl9cmV0dXJuIHYoZSwhMSwhIW4pfSxwLnRvSlNPTj1wLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPXQuY29uc3RydWN0b3I7cmV0dXJuIHYodCx0LmU8PXIuTkV8fHQuZT49ci5QRSwhIXQuY1swXSl9LHAudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgdD1OdW1iZXIodih0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEodC50b1N0cmluZygpKSl0aHJvdyBFcnJvcihjKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiB0fSxwLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHQscil7dmFyIGU9dGhpcyxuPWUuY29uc3RydWN0b3Isbz1lLmNbMF07aWYodCE9PWgpe2lmKHQhPT1+fnR8fHQ8MXx8dD51KXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2ZvcihlPXkobmV3IG4oZSksdCxyKTtlLmMubGVuZ3RoPHQ7KWUuYy5wdXNoKDApfXJldHVybiB2KGUsdDw9ZS5lfHxlLmU8PW4uTkV8fGUuZT49bi5QRSwhIW8pfSxwLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dC5jb25zdHJ1Y3RvcjtpZighMD09PXIuc3RyaWN0KXRocm93IEVycm9yKGMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiB2KHQsdC5lPD1yLk5FfHx0LmU+PXIuUEUsITApfSxvPWZ1bmN0aW9uIHQoKXtmdW5jdGlvbiByKGUpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgcikpcmV0dXJuIGU9PT1oP3QoKTpuZXcgcihlKTtpZihlIGluc3RhbmNlb2YgciluLnM9ZS5zLG4uZT1lLmUsCm4uYz1lLmMuc2xpY2UoKTtlbHNle2lmKCJzdHJpbmciIT10eXBlb2YgZSl7aWYoITA9PT1yLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7ZT0wPT09ZSYmMS9lPDA/Ii0wIjpTdHJpbmcoZSl9IWZ1bmN0aW9uKHQscil7dmFyIGUsbixvO2lmKCFkLnRlc3QocikpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7dC5zPSItIj09ci5jaGFyQXQoMCk/KHI9ci5zbGljZSgxKSwtMSk6MSwoZT1yLmluZGV4T2YoIi4iKSk+LTEmJihyPXIucmVwbGFjZSgiLiIsIiIpKTsobj1yLnNlYXJjaCgvZS9pKSk+MD8oZTwwJiYoZT1uKSxlKz0rci5zbGljZShuKzEpLHI9ci5zdWJzdHJpbmcoMCxuKSk6ZTwwJiYoZT1yLmxlbmd0aCk7Zm9yKG89ci5sZW5ndGgsbj0wO248byYmIjAiPT1yLmNoYXJBdChuKTspKytuO2lmKG49PW8pdC5jPVt0LmU9MF07ZWxzZXtmb3IoO28+MCYmIjAiPT1yLmNoYXJBdCgtLW8pOyk7Zm9yKHQuZT1lLW4tMSx0LmM9W10sZT0wO248PW87KXQuY1tlKytdPStyLmNoYXJBdChuKyspfX0obixlKX1uLmNvbnN0cnVjdG9yPXJ9cmV0dXJuIHIucHJvdG90eXBlPXAsci5EUD0yMCxyLlJNPTEsci5ORT0tNyxyLlBFPTIxLHIuc3RyaWN0PWZhbHNlLHIucm91bmREb3duPTAsci5yb3VuZEhhbGZVcD0xLHIucm91bmRIYWxmRXZlbj0yLHIucm91bmRVcD0zLHJ9KCksby5kZWZhdWx0PW8uQmlnPW8sdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gb30uY2FsbChyLGUscix0KSl8fCh0LmV4cG9ydHM9bil9KCl9LDkxNDQ4Nyh0LHIpe3ZhciBlOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciB0PVtdLHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXt2YXIgZT1hcmd1bWVudHNbcl07aWYoZSl7dmFyIHU9dHlwZW9mIGU7aWYoInN0cmluZyI9PT11fHwibnVtYmVyIj09PXUpdC5wdXNoKGUpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGgpe3ZhciBpPW8uYXBwbHkobnVsbCxlKTtpJiZ0LnB1c2goaSl9ZWxzZSBpZigib2JqZWN0Ij09PXUpZm9yKHZhciBjIGluIGUpbi5jYWxsKGUsYykmJmVbY10mJnQucHVzaChjKX19cmV0dXJuIHQuam9pbigiICIpfXQuZXhwb3J0cz8oby5kZWZhdWx0PW8sdC5leHBvcnRzPW8pOnZvaWQgMD09PShlPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHIsW10pKXx8KHQuZXhwb3J0cz1lKX0oKX0sMTg1MjcxKHQscixlKXsidXNlIHN0cmljdCI7ZS5yKHIpLGUuZChyLHt0OigpPT5uLnQsd2l0aFRyYW5zbGF0aW9uQ29udGV4dDooKT0+b30pO2UoODI5MTgwKTt2YXIgbj1lKDc4MzI1NCk7ZnVuY3Rpb24gbyh0KXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfX0sOTYzMDk4KHQscixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZTooKT0+b30pO2NvbnN0IG49e2FyX0FFOiJhciIsYnI6InB0IixkZV9ERToiZGUiLGNhX0VTOiJjYSIsaGVfSUw6ImhlIixpZF9JRDoiaWQiLGluOiJlbiIsa3I6ImtvIixtc19NWToibXMiLHN2X1NFOiJzdiIsdGhfVEg6InRoIix1azoiZW4iLHZpX1ZOOiJ2aSIsemhfQ046InpoLUhhbnMiLHpoX1RXOiJ6aC1IYW50Iix6aDoiemgtSGFucyIsaHVfSFU6Imh1LUhVIn07ZnVuY3Rpb24gbyh0KXtyZXR1cm4gblt0XXx8dH19LDEyMjc0OSh0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50Iiksbj1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxvPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50IiksdT1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLGk9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIiksZj1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0Iikscz1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxsPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxwPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxoPVN5bWJvbC5pdGVyYXRvcjt2YXIgZD17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0seT1PYmplY3QuYXNzaWduLHY9e307ZnVuY3Rpb24gdyh0LHIsZSl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1yLHRoaXMucmVmcz12LHRoaXMudXBkYXRlcj1lfHxkfWZ1bmN0aW9uIGIoKXt9ZnVuY3Rpb24gZyh0LHIsZSl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1yLHRoaXMucmVmcz12LHRoaXMudXBkYXRlcj1lfHxkfXcucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24odCxyKXtpZigib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT10KXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsdCxyLCJzZXRTdGF0ZSIpfSx3LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsdCwiZm9yY2VVcGRhdGUiKX0sYi5wcm90b3R5cGU9dy5wcm90b3R5cGU7dmFyIG09Zy5wcm90b3R5cGU9bmV3IGI7bS5jb25zdHJ1Y3Rvcj1nLHkobSx3LnByb3RvdHlwZSksbS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgRT1BcnJheS5pc0FycmF5LF89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxTPXtjdXJyZW50Om51bGx9LE89e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBqKHQscixuKXt2YXIgbyx1PXt9LGk9bnVsbCxjPW51bGwKO2lmKG51bGwhPXIpZm9yKG8gaW4gdm9pZCAwIT09ci5yZWYmJihjPXIucmVmKSx2b2lkIDAhPT1yLmtleSYmKGk9IiIrci5rZXkpLHIpXy5jYWxsKHIsbykmJiFPLmhhc093blByb3BlcnR5KG8pJiYodVtvXT1yW29dKTt2YXIgZj1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWYpdS5jaGlsZHJlbj1uO2Vsc2UgaWYoMTxmKXtmb3IodmFyIHM9QXJyYXkoZiksYT0wO2E8ZjthKyspc1thXT1hcmd1bWVudHNbYSsyXTt1LmNoaWxkcmVuPXN9aWYodCYmdC5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gZj10LmRlZmF1bHRQcm9wcyl2b2lkIDA9PT11W29dJiYodVtvXT1mW29dKTtyZXR1cm57JCR0eXBlb2Y6ZSx0eXBlOnQsa2V5OmkscmVmOmMscHJvcHM6dSxfb3duZXI6Uy5jdXJyZW50fX1mdW5jdGlvbiBQKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJnQuJCR0eXBlb2Y9PT1lfXZhciBSPS9cLysvZztmdW5jdGlvbiBrKHQscil7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmbnVsbCE9dC5rZXk/ZnVuY3Rpb24odCl7dmFyIHI9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrdC5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKHQpe3JldHVybiByW3RdfSkpfSgiIit0LmtleSk6ci50b1N0cmluZygzNil9ZnVuY3Rpb24geCh0LHIsbyx1LGkpe3ZhciBjPXR5cGVvZiB0OyJ1bmRlZmluZWQiIT09YyYmImJvb2xlYW4iIT09Y3x8KHQ9bnVsbCk7dmFyIGY9ITE7aWYobnVsbD09PXQpZj0hMDtlbHNlIHN3aXRjaChjKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmY9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIGU6Y2FzZSBuOmY9ITB9fWlmKGYpcmV0dXJuIGk9aShmPXQpLHQ9IiI9PT11PyIuIitrKGYsMCk6dSxFKGkpPyhvPSIiLG51bGwhPXQmJihvPXQucmVwbGFjZShSLCIkJi8iKSsiLyIpLHgoaSxyLG8sIiIsKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpKTpudWxsIT1pJiYoUChpKSYmKGk9ZnVuY3Rpb24odCxyKXtyZXR1cm57JCR0eXBlb2Y6ZSx0eXBlOnQudHlwZSxrZXk6cixyZWY6dC5yZWYscHJvcHM6dC5wcm9wcyxfb3duZXI6dC5fb3duZXJ9fShpLG8rKCFpLmtleXx8ZiYmZi5rZXk9PT1pLmtleT8iIjooIiIraS5rZXkpLnJlcGxhY2UoUiwiJCYvIikrIi8iKSt0KSksci5wdXNoKGkpKSwxO2lmKGY9MCx1PSIiPT09dT8iLiI6dSsiOiIsRSh0KSlmb3IodmFyIHM9MDtzPHQubGVuZ3RoO3MrKyl7dmFyIGE9dStrKGM9dFtzXSxzKTtmKz14KGMscixvLGEsaSl9ZWxzZSBpZihhPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8Im9iamVjdCIhPXR5cGVvZiB0P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKHQ9aCYmdFtoXXx8dFsiQEBpdGVyYXRvciJdKT90Om51bGx9KHQpLCJmdW5jdGlvbiI9PXR5cGVvZiBhKWZvcih0PWEuY2FsbCh0KSxzPTA7IShjPXQubmV4dCgpKS5kb25lOylmKz14KGM9Yy52YWx1ZSxyLG8sYT11K2soYyxzKyspLGkpO2Vsc2UgaWYoIm9iamVjdCI9PT1jKXRocm93IHI9U3RyaW5nKHQpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09cj8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjpyKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpO3JldHVybiBmfWZ1bmN0aW9uIE4odCxyLGUpe2lmKG51bGw9PXQpcmV0dXJuIHQ7dmFyIG49W10sbz0wO3JldHVybiB4KHQsbiwiIiwiIiwoZnVuY3Rpb24odCl7cmV0dXJuIHIuY2FsbChlLHQsbysrKX0pKSxufWZ1bmN0aW9uIEModCl7aWYoLTE9PT10Ll9zdGF0dXMpe3ZhciByPXQuX3Jlc3VsdDsocj1yKCkpLnRoZW4oKGZ1bmN0aW9uKHIpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTEsdC5fcmVzdWx0PXIpfSksKGZ1bmN0aW9uKHIpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTIsdC5fcmVzdWx0PXIpfSkpLC0xPT09dC5fc3RhdHVzJiYodC5fc3RhdHVzPTAsdC5fcmVzdWx0PXIpfWlmKDE9PT10Ll9zdGF0dXMpcmV0dXJuIHQuX3Jlc3VsdC5kZWZhdWx0O3Rocm93IHQuX3Jlc3VsdH12YXIgQT17Y3VycmVudDpudWxsfSxJPXt0cmFuc2l0aW9uOm51bGx9LCQ9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6QSxSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzpJLFJlYWN0Q3VycmVudE93bmVyOlN9O3IuQ2hpbGRyZW49e21hcDpOLGZvckVhY2g6ZnVuY3Rpb24odCxyLGUpe04odCwoZnVuY3Rpb24oKXtyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLGUpfSxjb3VudDpmdW5jdGlvbih0KXt2YXIgcj0wO3JldHVybiBOKHQsKGZ1bmN0aW9uKCl7cisrfSkpLHJ9LHRvQXJyYXk6ZnVuY3Rpb24odCl7cmV0dXJuIE4odCwoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKHQpe2lmKCFQKHQpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gdH19LHIuQ29tcG9uZW50PXcsci5GcmFnbWVudD1vLHIuUHJvZmlsZXI9aSxyLlB1cmVDb21wb25lbnQ9ZyxyLlN0cmljdE1vZGU9dSxyLlN1c3BlbnNlPWEsci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD0kLHIuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKHQscixuKXtpZihudWxsPT10KXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK3QrIi4iKTt2YXIgbz15KHt9LHQucHJvcHMpLHU9dC5rZXksaT10LnJlZixjPXQuX293bmVyO2lmKG51bGwhPXIpe2lmKHZvaWQgMCE9PXIucmVmJiYoaT1yLnJlZixjPVMuY3VycmVudCksdm9pZCAwIT09ci5rZXkmJih1PSIiK3Iua2V5KSwKdC50eXBlJiZ0LnR5cGUuZGVmYXVsdFByb3BzKXZhciBmPXQudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHMgaW4gcilfLmNhbGwocixzKSYmIU8uaGFzT3duUHJvcGVydHkocykmJihvW3NdPXZvaWQgMD09PXJbc10mJnZvaWQgMCE9PWY/ZltzXTpyW3NdKX12YXIgcz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXMpby5jaGlsZHJlbj1uO2Vsc2UgaWYoMTxzKXtmPUFycmF5KHMpO2Zvcih2YXIgYT0wO2E8czthKyspZlthXT1hcmd1bWVudHNbYSsyXTtvLmNoaWxkcmVuPWZ9cmV0dXJueyQkdHlwZW9mOmUsdHlwZTp0LnR5cGUsa2V5OnUscmVmOmkscHJvcHM6byxfb3duZXI6Y319LHIuY3JlYXRlQ29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4odD17JCR0eXBlb2Y6ZixfY3VycmVudFZhbHVlOnQsX2N1cnJlbnRWYWx1ZTI6dCxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YyxfY29udGV4dDp0fSx0LkNvbnN1bWVyPXR9LHIuY3JlYXRlRWxlbWVudD1qLHIuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbih0KXt2YXIgcj1qLmJpbmQobnVsbCx0KTtyZXR1cm4gci50eXBlPXQscn0sci5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sci5mb3J3YXJkUmVmPWZ1bmN0aW9uKHQpe3JldHVybnskJHR5cGVvZjpzLHJlbmRlcjp0fX0sci5pc1ZhbGlkRWxlbWVudD1QLHIubGF6eT1mdW5jdGlvbih0KXtyZXR1cm57JCR0eXBlb2Y6cCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OnR9LF9pbml0OkN9fSxyLm1lbW89ZnVuY3Rpb24odCxyKXtyZXR1cm57JCR0eXBlb2Y6bCx0eXBlOnQsY29tcGFyZTp2b2lkIDA9PT1yP251bGw6cn19LHIuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKHQpe3ZhciByPUkudHJhbnNpdGlvbjtJLnRyYW5zaXRpb249e307dHJ5e3QoKX1maW5hbGx5e0kudHJhbnNpdGlvbj1yfX0sci51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sci51c2VDYWxsYmFjaz1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlQ2FsbGJhY2sodCxyKX0sci51c2VDb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBBLmN1cnJlbnQudXNlQ29udGV4dCh0KX0sci51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSxyLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIEEuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKHQpfSxyLnVzZUVmZmVjdD1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlRWZmZWN0KHQscil9LHIudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5jdXJyZW50LnVzZUlkKCl9LHIudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbih0LHIsZSl7cmV0dXJuIEEuY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKHQscixlKX0sci51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24odCxyKXtyZXR1cm4gQS5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdCh0LHIpfSxyLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KHQscil9LHIudXNlTWVtbz1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlTWVtbyh0LHIpfSxyLnVzZVJlZHVjZXI9ZnVuY3Rpb24odCxyLGUpe3JldHVybiBBLmN1cnJlbnQudXNlUmVkdWNlcih0LHIsZSl9LHIudXNlUmVmPWZ1bmN0aW9uKHQpe3JldHVybiBBLmN1cnJlbnQudXNlUmVmKHQpfSxyLnVzZVN0YXRlPWZ1bmN0aW9uKHQpe3JldHVybiBBLmN1cnJlbnQudXNlU3RhdGUodCl9LHIudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24odCxyLGUpe3JldHVybiBBLmN1cnJlbnQudXNlU3luY0V4dGVybmFsU3RvcmUodCxyLGUpfSxyLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gQS5jdXJyZW50LnVzZVRyYW5zaXRpb24oKX0sci52ZXJzaW9uPSIxOC4yLjAifSw5NTM3NDkodCxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbihyKXt2YXIgZT1yLmRpc3BhdGNoLG49ci5nZXRTdGF0ZTtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIGZ1bmN0aW9uKG8pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBvP28oZSxuLHQpOnIobyl9fX19ZS5kKHIse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbz1uKCk7by53aXRoRXh0cmFBcmd1bWVudD1uO2NvbnN0IHU9b30sNzg3NzI0KHQscixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2FwcGx5TWlkZGxld2FyZTooKT0+cCxjb21iaW5lUmVkdWNlcnM6KCk9PmEsY29tcG9zZTooKT0+bCxjcmVhdGVTdG9yZTooKT0+c30pO3ZhciBuPWUoMjI0MTA3KTtmdW5jdGlvbiBvKHQpe3JldHVybiJNaW5pZmllZCBSZWR1eCBlcnJvciAjIit0KyI7IHZpc2l0IGh0dHBzOi8vcmVkdXguanMub3JnL0Vycm9ycz9jb2RlPSIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMuICJ9dmFyIHU9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUiLGk9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIil9LGM9e0lOSVQ6IkBAcmVkdXgvSU5JVCIraSgpLFJFUExBQ0U6IkBAcmVkdXgvUkVQTEFDRSIraSgpLFBST0JFX1VOS05PV05fQUNUSU9OOmZ1bmN0aW9uKCl7cmV0dXJuIkBAcmVkdXgvUFJPQkVfVU5LTk9XTl9BQ1RJT04iK2koKX19O2Z1bmN0aW9uIGYodCl7aWYoIm9iamVjdCIhPXR5cGVvZiB0fHxudWxsPT09dClyZXR1cm4hMTtmb3IodmFyIHI9dDtudWxsIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpOylyPU9iamVjdC5nZXRQcm90b3R5cGVPZihyKTtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09cn1mdW5jdGlvbiBzKHQscixlKXt2YXIgbgo7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHImJiJmdW5jdGlvbiI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZSYmImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1szXSl0aHJvdyBuZXcgRXJyb3IobygwKSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHImJnZvaWQgMD09PWUmJihlPXIscj12b2lkIDApLHZvaWQgMCE9PWUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcihvKDEpKTtyZXR1cm4gZShzKSh0LHIpfWlmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDIpKTt2YXIgaT10LGE9cixsPVtdLHA9bCxoPSExO2Z1bmN0aW9uIGQoKXtwPT09bCYmKHA9bC5zbGljZSgpKX1mdW5jdGlvbiB5KCl7aWYoaCl0aHJvdyBuZXcgRXJyb3IobygzKSk7cmV0dXJuIGF9ZnVuY3Rpb24gdih0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3Iobyg0KSk7aWYoaCl0aHJvdyBuZXcgRXJyb3Iobyg1KSk7dmFyIHI9ITA7cmV0dXJuIGQoKSxwLnB1c2godCksZnVuY3Rpb24oKXtpZihyKXtpZihoKXRocm93IG5ldyBFcnJvcihvKDYpKTtyPSExLGQoKTt2YXIgZT1wLmluZGV4T2YodCk7cC5zcGxpY2UoZSwxKSxsPW51bGx9fX1mdW5jdGlvbiB3KHQpe2lmKCFmKHQpKXRocm93IG5ldyBFcnJvcihvKDcpKTtpZih2b2lkIDA9PT10LnR5cGUpdGhyb3cgbmV3IEVycm9yKG8oOCkpO2lmKGgpdGhyb3cgbmV3IEVycm9yKG8oOSkpO3RyeXtoPSEwLGE9aShhLHQpfWZpbmFsbHl7aD0hMX1mb3IodmFyIHI9bD1wLGU9MDtlPHIubGVuZ3RoO2UrKyl7KDAscltlXSkoKX1yZXR1cm4gdH1yZXR1cm4gdyh7dHlwZTpjLklOSVR9KSwobj17ZGlzcGF0Y2g6dyxzdWJzY3JpYmU6dixnZXRTdGF0ZTp5LHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDEwKSk7aT10LHcoe3R5cGU6Yy5SRVBMQUNFfSl9fSlbdV09ZnVuY3Rpb24oKXt2YXIgdCxyPXY7cmV0dXJuKHQ9e3N1YnNjcmliZTpmdW5jdGlvbih0KXtpZigib2JqZWN0IiE9dHlwZW9mIHR8fG51bGw9PT10KXRocm93IG5ldyBFcnJvcihvKDExKSk7ZnVuY3Rpb24gZSgpe3QubmV4dCYmdC5uZXh0KHkoKSl9cmV0dXJuIGUoKSx7dW5zdWJzY3JpYmU6cihlKX19fSlbdV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdH0sbn1mdW5jdGlvbiBhKHQpe2Zvcih2YXIgcj1PYmplY3Qua2V5cyh0KSxlPXt9LG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIHU9cltuXTswLCJmdW5jdGlvbiI9PXR5cGVvZiB0W3VdJiYoZVt1XT10W3VdKX12YXIgaSxmPU9iamVjdC5rZXlzKGUpO3RyeXshZnVuY3Rpb24odCl7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24ocil7dmFyIGU9dFtyXTtpZih2b2lkIDA9PT1lKHZvaWQgMCx7dHlwZTpjLklOSVR9KSl0aHJvdyBuZXcgRXJyb3IobygxMikpO2lmKHZvaWQgMD09PWUodm9pZCAwLHt0eXBlOmMuUFJPQkVfVU5LTk9XTl9BQ1RJT04oKX0pKXRocm93IG5ldyBFcnJvcihvKDEzKSl9KSl9KGUpfWNhdGNoKHQpe2k9dH1yZXR1cm4gZnVuY3Rpb24odCxyKXtpZih2b2lkIDA9PT10JiYodD17fSksaSl0aHJvdyBpO2Zvcih2YXIgbj0hMSx1PXt9LGM9MDtjPGYubGVuZ3RoO2MrKyl7dmFyIHM9ZltjXSxhPWVbc10sbD10W3NdLHA9YShsLHIpO2lmKHZvaWQgMD09PXApe3ImJnIudHlwZTt0aHJvdyBuZXcgRXJyb3IobygxNCkpfXVbc109cCxuPW58fHAhPT1sfXJldHVybihuPW58fGYubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKT91OnR9fWZ1bmN0aW9uIGwoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheSh0KSxlPTA7ZTx0O2UrKylyW2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gMD09PXIubGVuZ3RoP2Z1bmN0aW9uKHQpe3JldHVybiB0fToxPT09ci5sZW5ndGg/clswXTpyLnJlZHVjZSgoZnVuY3Rpb24odCxyKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdChyLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19KSl9ZnVuY3Rpb24gcCgpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KHQpLGU9MDtlPHQ7ZSsrKXJbZV09YXJndW1lbnRzW2VdO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpLHU9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IobygxNSkpfSxpPXtnZXRTdGF0ZTplLmdldFN0YXRlLGRpc3BhdGNoOmZ1bmN0aW9uKCl7cmV0dXJuIHUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fSxjPXIubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdChpKX0pKTtyZXR1cm4gdT1sLmFwcGx5KHZvaWQgMCxjKShlLmRpc3BhdGNoKSwoMCxuLmRlZmF1bHQpKCgwLG4uZGVmYXVsdCkoe30sZSkse30se2Rpc3BhdGNoOnV9KX19fX0sMzY0MzUwKHQscixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LHIpe3JldHVybiB0PT09cn1lLmQocix7Y3JlYXRlU2VsZWN0b3I6KCk9Pm99KTt2YXIgbz1mdW5jdGlvbih0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxlPUFycmF5KHI+MT9yLTE6MCksbj0xO248cjtuKyspZVtuLTFdPWFyZ3VtZW50c1tuXTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxuPUFycmF5KHIpLG89MDtvPHI7bysrKW5bb109YXJndW1lbnRzW29dO3ZhciB1PTAsaT1uLnBvcCgpLGM9ZnVuY3Rpb24odCl7dmFyIHI9QXJyYXkuaXNBcnJheSh0WzBdKT90WzBdOnQ7aWYoIXIuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fSkpKXt2YXIgZT1yLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiB0fSkpLmpvaW4oIiwgIik7dGhyb3cgbmV3IEVycm9yKCJTZWxlY3RvciBjcmVhdG9ycyBleHBlY3QgYWxsIGlucHV0LXNlbGVjdG9ycyB0byBiZSBmdW5jdGlvbnMsIGluc3RlYWQgcmVjZWl2ZWQgdGhlIGZvbGxvd2luZyB0eXBlczogWyIrZSsiXSIpfXJldHVybiByfShuKSxmPXQuYXBwbHkodm9pZCAwLFtmdW5jdGlvbigpe3JldHVybiB1KyssaS5hcHBseShudWxsLGFyZ3VtZW50cykKfV0uY29uY2F0KGUpKSxzPXQoKGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLHI9Yy5sZW5ndGgsZT0wO2U8cjtlKyspdC5wdXNoKGNbZV0uYXBwbHkobnVsbCxhcmd1bWVudHMpKTtyZXR1cm4gZi5hcHBseShudWxsLHQpfSkpO3JldHVybiBzLnJlc3VsdEZ1bmM9aSxzLmRlcGVuZGVuY2llcz1jLHMucmVjb21wdXRhdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdX0scy5yZXNldFJlY29tcHV0YXRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIHU9MH0sc319KChmdW5jdGlvbih0KXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06bixlPW51bGwsbz1udWxsO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0LHIsZSl7aWYobnVsbD09PXJ8fG51bGw9PT1lfHxyLmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgbj1yLmxlbmd0aCxvPTA7bzxuO28rKylpZighdChyW29dLGVbb10pKXJldHVybiExO3JldHVybiEwfShyLGUsYXJndW1lbnRzKXx8KG89dC5hcHBseShudWxsLGFyZ3VtZW50cykpLGU9YXJndW1lbnRzLG99fSkpfSwxOTM3MSh0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49ZSg5MDgxNTQpO2Z1bmN0aW9uIG8odCxyLGUpe3JldHVybihyPSgwLG4uZGVmYXVsdCkocikpaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHt2YWx1ZTplLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtyXT1lLHR9fSwyMjQxMDcodCxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPWUoMTkzNzEpO2Z1bmN0aW9uIG8odCxyKXt2YXIgZT1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO3ImJihuPW4uZmlsdGVyKChmdW5jdGlvbihyKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpLmVudW1lcmFibGV9KSkpLGUucHVzaC5hcHBseShlLG4pfXJldHVybiBlfWZ1bmN0aW9uIHUodCl7Zm9yKHZhciByPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl7dmFyIGU9bnVsbCE9YXJndW1lbnRzW3JdP2FyZ3VtZW50c1tyXTp7fTtyJTI/byhPYmplY3QoZSksITApLmZvckVhY2goKGZ1bmN0aW9uKHIpeygwLG4uZGVmYXVsdCkodCxyLGVbcl0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoZSkpOm8oT2JqZWN0KGUpKS5mb3JFYWNoKChmdW5jdGlvbihyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxyKSl9KSl9cmV0dXJuIHR9fSw4OTI2MzkodCxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZGVmYXVsdDooKT0+b30pO3ZhciBuPWUoMTI5NDc2KTtmdW5jdGlvbiBvKHQscil7aWYoIm9iamVjdCIhPSgwLG4uZGVmYXVsdCkodCl8fCF0KXJldHVybiB0O3ZhciBlPXRbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT1lKXt2YXIgbz1lLmNhbGwodCxyfHwiZGVmYXVsdCIpO2lmKCJvYmplY3QiIT0oMCxuLmRlZmF1bHQpKG8pKXJldHVybiBvO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKCJzdHJpbmciPT09cj9TdHJpbmc6TnVtYmVyKSh0KX19LDkwODE1NCh0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkZWZhdWx0OigpPT51fSk7dmFyIG49ZSgxMjk0NzYpLG89ZSg4OTI2MzkpO2Z1bmN0aW9uIHUodCl7dmFyIHI9KDAsby5kZWZhdWx0KSh0LCJzdHJpbmciKTtyZXR1cm4ic3ltYm9sIj09KDAsbi5kZWZhdWx0KShyKT9yOnIrIiJ9fSwxMjk0NzYodCxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQpe3JldHVybiBuPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSxuKHQpfWUuZChyLHtkZWZhdWx0OigpPT5ufSl9LDgzOTQyNih0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkZWZhdWx0OigpPT51fSk7dmFyIG49ZSg2OTIzNjkpO2NvbnN0IG89ZnVuY3Rpb24odCxyKXt2YXIgZTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuIHQ9KDAsbi5kZWZhdWx0KSh0KSxmdW5jdGlvbigpe3JldHVybi0tdD4wJiYoZT1yLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksdDw9MSYmKHI9dm9pZCAwKSxlfX07Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gbygyLHQpfX0sNjkyMzY5KHQscixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2RlZmF1bHQ6KCk9Pml9KTt2YXIgbj1lKDQwNjQ0OSksbz0xLzA7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdD8odD0oMCxuLmRlZmF1bHQpKHQpKT09PW98fHQ9PT0tMS8wPzE3OTc2OTMxMzQ4NjIzMTU3ZTI5MioodDwwPy0xOjEpOnQ9PXQ/dDowOjA9PT10P3Q6MH07Y29uc3QgaT1mdW5jdGlvbih0KXt2YXIgcj11KHQpLGU9ciUxO3JldHVybiByPT1yP2U/ci1lOnI6MH19LDg1Njc3MCh0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtuYW5vaWQ6KCk9Pm59KTtsZXQgbj0odD0yMSk9PmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkodCkpLnJlZHVjZSgoKHQscik9PnQrPShyJj02Myk8MzY/ci50b1N0cmluZygzNik6cjw2Mj8oci0yNikudG9TdHJpbmcoMzYpLnRvVXBwZXJDYXNlKCk6cj42Mj8iLSI6Il8iKSwiIil9fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69861.87e20a8951ceecc461d8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.445Z","timestamp":1785136901445,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/69861.87e20a8951ceecc461d8.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-f42\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1f4474cd3bd4aeeaad4ac40fd19bcbae\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3906,"size_decoded":1536,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3906), with no line terminators","md5":"3fa9c4040463e2838455328de777e889","sha1":"26592cfad4d8f47a69b92e266591e38c8c733e5a","sha256":"ca5b5651ba39b94a8865341a1ecc9844d0fe73a74db6091a7e975a360bb01d3e","sha512":"73fda847130c90e9286ea7be82f7b271a1d1d328e24768e158b7c6dac2cd3f1d20b8d08ead70420c17212b275c24d2bc70a86bfa5c8924db2a8dcd9079178f33","ssdeep":"","tlshash":"46817ec9f2e9997a02077d2982d182649b0e9ce2da53669ebc7671c000ca7dd43bdc4e","first_seen":"2026-06-30T21:57:43.451848Z","last_seen":"2026-07-28T06:17:53.597172Z","times_seen":248,"resource_available":false,"data":"LmJ1dHRvbi1zWHNwWk5uWnthbGw6dW5zZXQ7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4OjEgMCBhdXRvO2hlaWdodDoxMDAlOy0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1ib3JkZXItcmFkaXVzOjZweDtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQpKTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGNvbG9yIDYwbXMgZWFzZTt6LWluZGV4OjB9LmJ1dHRvbi1zWHNwWk5uWi5ob3Zlci1zWHNwWk5uWiwuYnV0dG9uLXNYc3BaTm5aOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1zWHNwWk5uWjpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKX19LmJ1dHRvbi1zWHNwWk5uWi5jbGlja2VkLXNYc3BaTm5aLC5idXR0b24tc1hzcFpOblo6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKSl9LmJ1dHRvbi1zWHNwWk5uWjpiZWZvcmV7Ym9yZGVyLXJhZGl1czp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLWJvcmRlci1yYWRpdXMsMnB4KTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tYm90dG9tLHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1yaWdodCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tbGVmdCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tdG9wLHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO3otaW5kZXg6LTF9LmJ1dHRvbi1zWHNwWk5uWi5ob3Zlci1zWHNwWk5uWjpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWjphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1zWHNwWk5uWjpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKTtjb250ZW50OiIifX0uYnV0dG9uLXNYc3BaTm5aLmNsaWNrZWQtc1hzcFpOblo6YmVmb3JlLC5idXR0b24tc1hzcFpOblo6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKSk7Y29udGVudDoiIn0uYnV0dG9uLXNYc3BaTm5aLmFjY2Vzc2libGUtc1hzcFpOblo6Zm9jdXMtdmlzaWJsZTpiZWZvcmV7Y29udGVudDoiIjtvdXRsaW5lLXN0eWxlOnNvbGlkfS5idXR0b24tc1hzcFpOblogc3Zne2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1zWHNwWk5uWiAuYXJyb3ctc1hzcFpOblp7YWxpZ24taXRlbXM6Y2VudGVyO2NvbnRhaW46Y29udGVudDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCV9LmJ1dHRvbi1zWHNwWk5uWiAuYXJyb3dXcmFwLXNYc3BaTm5ae21hcmdpbjowIDhweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2V9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tc1hzcFpOblo6aG92ZXIgLmFycm93V3JhcC1zWHNwWk5uWnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgycHgpfX0uYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aLmhvdmVyLXNYc3BaTm5aOmJlZm9yZSwuYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aOmFjdGl2ZTpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWi5pc09wZW5lZC1zWHNwWk5uWjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpO2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1ib3JkZXItcmFkaXVzLDApO2JvdHRvbTp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3otaW5kZXg6LTF9fS5idXR0b24tc1hzcFpOblouaXNPcGVuZWQtc1hzcFpOblouY2xpY2tlZC1zWHNwWk5uWjpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWi5pc09wZW5lZC1zWHNwWk5uWjphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2t9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tc1hzcFpOblouaXNPcGVuZWQtc1hzcFpOblo6aG92ZXIgLmFycm93V3JhcC1zWHNwWk5uWnt0cmFuc2Zvcm06bm9uZX19"}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/british-american-tobacco.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.049Z","timestamp":1785136902049,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /british-american-tobacco.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCAKT.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.530Z","timestamp":1785136905530,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCAKT.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCTRAC.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.533Z","timestamp":1785136905533,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCTRAC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCCHIPUS.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.561Z","timestamp":1785136905561,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCCHIPUS.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCRON.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.591Z","timestamp":1785136905591,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCRON.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/img/favicons/favicon-16x16.png","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:41.238Z","timestamp":1785136901238,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/favicons/favicon-16x16.png HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:41 GMT\r\nContent-Type: image/png\r\nContent-Length: 29815\r\nConnection: keep-alive\r\nLast-Modified: Sat, 28 Sep 2024 12:10:10 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":29815,"size_decoded":30026,"mime_type":"image/png","magic":"PNG image data, 178 x 283, 8-bit/color RGBA, non-interlaced","md5":"f158c33e64f3109220aca9fa6bdcfed0","sha1":"db044e6a27ccdb3831fb015902f88b1f040fb29f","sha256":"fe99d512c84442245a399dfe5abdd23ff1891db76c8ec352fffdee78a5b1d6e8","sha512":"8f92b93f2adc0589faf29bbbdf11258a37f0b973b4eca703ea531ad2d19fb804a0a6ac9b5ce19627e9dc4f8cca8efd05d5c06af3940c0d885c50225e84e3c0fb","ssdeep":"384:DNMKjG3DQwstXgmrMVJhMSpK6FCYT8mvuzaihncnAyvQ7cxa8CoRTghoPkrKCdpc:5G3Ps0JfI4nT1Ccnlg2anKkeND71","tlshash":"45d2e1bbe1327e8a4558325ab82e3dadf4482c8cd03948f7875dad281b3eba15043017","first_seen":"2026-07-27T04:48:05.173625Z","last_seen":"2026-07-27T07:23:37.170134Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":97,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":96,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"huobiget.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/52920.30ba05d6a5393e331827.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.328Z","timestamp":1785136901328,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52920.30ba05d6a5393e331827.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 103\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-67\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a40c1e450833c232831bec35e1e37984\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103,"size_decoded":888,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"905ba86f45c3c4836e1e66ce0b1a69d4","sha1":"500fc2231fc7750395f3d4ba76aaa9ca105b5267","sha256":"16405805afc864f5869ae7c76253575cc65188d7ebb3f3b4207b634b7876bf8f","sha512":"838c4397409cdb507a9f79bd3943a589fc809cb994669fcbffa017fd350ec5f0994caea1f8f4837f2b5d61a440945e8334f4310d5b23302be6408645230b51a2","ssdeep":"","tlshash":"adb0921b5a704f55155b96514fc8835a9c63043260413e88c401ca221a3a88cead020a","first_seen":"2026-07-17T03:30:51.221694Z","last_seen":"2026-08-10T05:00:33.69803Z","times_seen":241,"resource_available":false,"data":"LmlubGluZUljb24tdDZXWmxMUU97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5pbmxpbmVJY29uLXQ2V1psTFFPIHN2Z3tkaXNwbGF5OmJsb2NrfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67799.e2495691cea17b3a81c2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.422Z","timestamp":1785136901422,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67799.e2495691cea17b3a81c2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1dd4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 313398045bf5c230a869e64c5106dcb9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":7636,"size_decoded":2594,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (7636), with no line terminators","md5":"6098916a464733489420c06d4d157550","sha1":"3d922ecff9adfcac8b445b191abbbc96b8187051","sha256":"caeccc97bab3aa41bfb78157071643ae404f0ea6519d21a900a8d95d046e1e85","sha512":"da35876591ab0f26295aaa719b5305a8d64e2aeae102349f2e39f0db10964fa882cf4f4dcb4da145ab36fe83e84994e75dd61286e48abf8b54556caab7355962","ssdeep":"192:2QoSuITjVqGw07dUQdX+D3TQ3oimJmp9+9IianQm:cvCmJiTL","tlshash":"c9f124c621c49f7a7ce345afa674a2ec6348dd38f93309d7b621ae6480c16b5027492e","first_seen":"2026-07-17T14:15:58.312947Z","last_seen":"2026-08-10T05:01:44.461862Z","times_seen":282,"resource_available":false,"data":"LmJhY2tncm91bmQtTlFvbTVJOFp7YWxpZ24taXRlbXM6c3RyZXRjaDtiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlO3otaW5kZXg6MTstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWhvdmVyZWQ6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJhY2tncm91bmQtTlFvbTVJOFo6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1ob3ZlcmVkOjF9fS5tZWRpdW0tTlFvbTVJOFp7bWluLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSozMnB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqNDBweCl9LmxhcmdlLU5Rb201SThae21pbi1oZWlnaHQ6NDBweH0uZGlzYWJsZWQtTlFvbTVJOFp7b3BhY2l0eTouNX0uYmFja2dyb3VuZC1OUW9tNUk4WnstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLWJhY2tncm91bmRDb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlKSl9Lm9wZW4tTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3JIb3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJhY2tncm91bmQtTlFvbTVJOFo6bm90KC5kaXNhYmxlZC1OUW9tNUk4Wik6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3JIb3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpKX19LnNlbGVjdGVkLU5Rb201SThaLC5zZWxlY3RlZC1OUW9tNUk4Wi5vcGVuLU5Rb201SThaey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yU2VsZWN0ZWQsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlbGVjdGVkLU5Rb201SThaOm5vdCguZGlzYWJsZWQtTlFvbTVJOFopOmhvdmVyey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yU2VsZWN0ZWQsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKX19LmJhY2tncm91bmQtTlFvbTVJOFo6bm90KC5kaXNhYmxlZC1OUW9tNUk4Wik6bm90KC5zZWxlY3RlZC1OUW9tNUk4Wik6YWN0aXZley0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yQWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5uZXV0cmFsLU5Rb201SThaLmJhY2tncm91bmQtTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1wcmltYXJ5LWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS10ZXh0Q29sb3IsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCkpOy0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zZWNvbmRhcnlUZXh0Q29sb3IsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpKX0ubmV1dHJhbC1OUW9tNUk4Wi5zZWxlY3RlZC1OUW9tNUk4WnstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXByaW1hcnktY29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvclNlbGVjdGVkLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKTstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNlY29uZGFyeS1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2Vjb25kYXJ5VGV4dENvbG9yU2VsZWN0ZWQsdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvclNlbGVjdGVkLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKSl9LmRhbmdlci1OUW9tNUk4Wi5iYWNrZ3JvdW5kLU5Rb201SThaLC5kYW5nZXItTlFvbTVJOFouc2VsZWN0ZWQtTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1wcmltYXJ5LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpOy0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubmV1dHJhbC1OUW9tNUk4Wi5iYWNrZ3JvdW5kLU5Rb201SThaOm5vdCguZGlzYWJsZWQtTlFvbTVJOFopOm5vdCguc2VsZWN0ZWQtTlFvbTVJOFopOmhvdmVyey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tcHJpbWFyeS1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tdGV4dENvbG9ySG92ZXIsdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSkpfX0uYnV0dG9uLVhOVWl2VG91e2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tcHJpbWFyeS1jb2xvcik7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MTtmb250LWZhbWlseTppbmhlcml0O21pbi13aWR0aDowO3BhZGRpbmc6MDtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjJweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjZweCkgY2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMnB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqNnB4KTtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxMnB4KSBjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxMnB4KTt0ZXh0LWFsaWduOnN0YXJ0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5idXR0b24tWE5VaXZUb3U6YWZ0ZXJ7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KX0uYnV0dG9uLVhOVWl2VG91OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLVhOVWl2VG91OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6NnB4fS5idXR0b24tWE5VaXZUb3V7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1c3tvdXRsaW5lOm5vbmV9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYnV0dG9uLVhOVWl2VG91OmFmdGVye2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3dpZHRoOjEwMCV9LmJ1dHRvbi1YTlVpdlRvdTphZnRlciwuYnV0dG9uLVhOVWl2VG91OmJlZm9yZXtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjF9LmJ1dHRvbi1YTlVpdlRvdTpiZWZvcmV7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDpjYWxjKDEwMCUgLSA0cHgpO2luc2V0LWlubGluZS1zdGFydDoycHg7dG9wOjJweDt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpfS5idXR0b24tWE5VaXZUb3U6Zm9jdXM6YmVmb3Jle2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxlOmJlZm9yZXtkaXNwbGF5OmJsb2NrfS5idXR0b24tWE5VaXZUb3U6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTpiZWZvcmV7ZGlzcGxheTpub25lfS5idXR0b24tWE5VaXZUb3U6Zm9jdXN7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1mb2N1c2VkOjF9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxley0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtZm9jdXNlZC12aXNpYmxlOjF9YS5idXR0b24tWE5VaXZUb3V7Y3Vyc29yOnBvaW50ZXJ9LmhvdGtleS1YYzZTaHBDcXtjb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0taG90a2V5VGV4dENvbG9yLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSl9LmhvdGtleS1YYzZTaHBDcTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ucmlnaHQtQ0dkakthOVl7YWxpZ24tc2VsZjpzdHJldGNoO2NvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNlY29uZGFyeS1jb2xvcik7cG9zaXRpb246cmVsYXRpdmV9LnJpZ2h0LUNHZGpLYTlZOmhhcyhbZGF0YS1pcy1wb3BvdmVyLWNvbnRleHQtYWN0aW9uXSl7bWFyZ2luLWlubGluZS1lbmQ6LTJweH0uY2hpbGQtQ0dkakthOVl7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDtnYXA6NHB4O2hlaWdodDoyOHB4O3BhZGRpbmctYmxvY2s6M3B4IDNweDtwYWRkaW5nLWlubGluZToyNHB4IDRweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6Y2FsYyg1MCUqdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoLTUwJSp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSkpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmVsbGlwc2lzLURhelI4NVZBe292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ud2l0aEdhcHMtRGF6Ujg1VkF7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtnYXA6NnB4fS5taWRkbGUtRnR3d1JyN3V7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O21pbi13aWR0aDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0uaGFzTm9FbmRTbG90LUZ0d3dScjd1e3BhZGRpbmctaW5saW5lLWVuZDo0cHh9LnRpdGxlLUZ0d3dScjd1ey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjE0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxNnB4KTstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjE4cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoyNHB4KX0uZGVzY3JpcHRpb24tRnR3d1JyN3UsLnRpdGxlLUZ0d3dScjd1e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uZGVzY3JpcHRpb24tRnR3d1JyN3V7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yKTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweH0uaGFzRGVzY3JpcHRpb24tRnR3d1JyN3UsLmhhc1RpdGxlLUZ0d3dScjd1e2ZsZXg6MX0uaGFzVGl0bGUtRnR3d1JyN3UuaGFzRGVzY3JpcHRpb24tRnR3d1JyN3V7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqNHB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHgpfS5oYXNUaXRsZS1GdHd3UnI3dTpub3QoLmhhc0Rlc2NyaXB0aW9uLUZ0d3dScjd1KXtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo1cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoycHgpO3BhZGRpbmctdG9wOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjVweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjJweCl9LmJ1dHRvbkNvbnRlbnQtVlg0a3BSOWl7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjE7bWluLXdpZHRoOjB9LmxlZnQtVlg0a3BSOWl7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWxlZnRTbG90SXRlbXNOdW1iZXIpLDI4cHgpO2hlaWdodDoyOHB4O2p1c3RpZnktaXRlbXM6Y2VudGVyfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6647.ad458058dd5c882833b6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.884Z","timestamp":1785136901884,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/6647.ad458058dd5c882833b6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-51c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b57da80c589a7800b0d9c917b88dd27e\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":1308,"size_decoded":1279,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1308), with no line terminators","md5":"be8b98c40e9ede92e385a54517be043e","sha1":"9e3083b2509f546980d31913c01ffa889404ba0f","sha256":"6be44896f44575a2b9af3ccc5d758e4ad7103345fdc2c4c263d1474601c04d51","sha512":"fcd367b79e0fa94f4c8a8cadac7e6adfd831dc2f527cea1c8ad76447347d772667190dc2522fe7d116c22fdc28f2ff4eb0ddaaf936573c5b57189bb3129d2b12","ssdeep":"","tlshash":"3e2136a6f052453a3fa3173f0315f218b3c4fc62fc172b42f960d84004c62f3259aa46","first_seen":"2026-04-01T05:38:53.862017Z","last_seen":"2026-08-10T05:00:33.755539Z","times_seen":295,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUGdaUTp2YXIoLS1jb2xvci13aGl0ZSl9LndyYXBwZXItSzR1NE5nM1p7d2lkdGg6dmFyKC0taGludC13aXphcmQtd2lkdGgsMjIwcHgpfS50aXRsZS1LNHU0TmczWntjb2xvcjp2YXIoLS1fMC1QZ1pRKTtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MjRweH0uYWRkaXRpb25hbEJ1dHRvbi1LNHU0TmczWnstLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItY29udGVudDp2YXIoLS1jb2xvci13aGl0ZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5hZGRpdGlvbmFsQnV0dG9uLUs0dTROZzNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfX0uYnV0dG9ucy1LNHU0TmczWntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS50ZXh0LUs0dTROZzNae2NvbG9yOnZhcigtLV8wLVBnWlEpO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9LmJ1dHRvbi1LNHU0TmczWntib3gtc2hhZG93Om5vbmU7Y3Vyc29yOmRlZmF1bHQ7ZmxvYXQ6aW5saW5lLWVuZDttYXJnaW4tdG9wOjE1cHg7LS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSzR1NE5nM1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9fS5idXR0b24tSzR1NE5nM1o6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgMCAwIDZweCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWJnKX0ucGxhY2VIb2xkZXIteWx3YWVfR3R7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0uaGlkZGVuLXlsd2FlX0d0e3BvaW50ZXItZXZlbnRzOm5vbmU7dmlzaWJpbGl0eTpoaWRkZW59"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"snowplow-pixel.tradingview.com/com.tradingview/track","fqdn":"snowplow-pixel.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"35.162.147.20","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"beacon","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.966Z","timestamp":1785136901966,"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":"web-sp.tradingview.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 19 Apr 2026 00:00:00 GMT","end":"Mon, 02 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"9B:DF:03:4F:EB:00:80:CE:DB:C7:36:27:AE:14:79:24:3B:6C:A2:8E","sha256":"C2:A3:A5:DE:59:40:AC:09:73:08:A3:E6:2D:63:80:67:C0:F9:F7:0C:5B:A0:BC:5E:95:E4:01:FE:7C:E4:E0:AA"}}},"request":{"raw":"OPTIONS /com.tradingview/track HTTP/1.1\r\nHost: snowplow-pixel.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\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-type\r\nReferer: https://www.tradingview-widget.com/\r\nOrigin: https://www.tradingview-widget.com\r\nSec-Fetch-Storage-Access: none\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\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:42 GMT\r\ncontent-length: 0\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: Content-Type, SP-Anonymous\r\naccess-control-max-age: 3600\r\nserver: akka-http/10.2.9\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\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":"Akka HTTP:10.2.9","description":"","website":"https://akka.io","common_platform_enumeration":"cpe:2.3:a:lightbend:akka_http:*:*:*:*:*:*:*:*","icon":"akka-http.png","categories":["Web frameworks","Web servers"]}],"data":{"size":0,"size_decoded":416,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":""}},"time_used":852,"timings":{"blocked":-1,"dns":0,"connect":161,"send":0,"wait":161,"receive":0,"ssl":529},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCUSDS2.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.409Z","timestamp":1785136905409,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCUSDS2.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"49a55fe9c430456d6d1623c58839afe3\"\r\nlast-modified: Mon, 11 Nov 2024 13:48:54 GMT\r\nx-amz-id-2: lFCrvAC8CbEQatk+Hu/jyCUm+9EUm1luvKL7S2ZKmGUSvV8sLOZMmOHBBwvOLONbvzR1vjdv0ws=\r\nx-amz-request-id: C0CBFY7RRYKMR4K7\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 49a55fe9c430456d6d1623c58839afe3\r\ncdn-proxyver: 1.43\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 03/15/2026 19:18:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: be519a47962a27b7efa03951e96b1b0d\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCWIN.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.621Z","timestamp":1785136905621,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCWIN.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/icon?family=Material+Icons","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://huobiget.com/","date":"2026-07-27T07:21:39.496Z","timestamp":1785136899496,"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 /icon?family=Material+Icons 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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\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 07:21:39 GMT\r\ndate: Mon, 27 Jul 2026 07:21:39 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":565,"size_decoded":1025,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"2b7a8d84952a9183b106df19f711324e","sha1":"a92c5e12b422bba9ebb447e1852d9681487361bc","sha256":"282801a0d182035440d5ef6d429d227126d2e6720a52b91d31a7d746c758154e","sha512":"d7ef3f86fe9fa5730a118c688b8f779e82ec3695df5ec48953905ed078ef4d78a3c8005021574d936f69ff0467968b6e68fbcb0680894470abf8f26200af2e0c","ssdeep":"","tlshash":"c0f0c064be0a988566110c42370f3f164d1d401fa80ac8fe8b911d4c8cff1bb134670f","first_seen":"2025-09-17T21:11:07.996842Z","last_seen":"2026-08-10T09:46:51.678516Z","times_seen":60879,"resource_available":false,"data":"LyogZmFsbGJhY2sgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21hdGVyaWFsaWNvbnMvdjE0NS9mbFVoUnE2dHpaY2xRRUotVmRnLUl1aWFEc05jLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7Cn0KCi5tYXRlcmlhbC1pY29ucyB7CiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC1zaXplOiAyNHB4OwogIGxpbmUtaGVpZ2h0OiAxOwogIGxldHRlci1zcGFjaW5nOiBub3JtYWw7CiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgd29yZC13cmFwOiBub3JtYWw7CiAgZGlyZWN0aW9uOiBsdHI7CiAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJzsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9Cg=="}},"time_used":80,"timings":{"blocked":-1,"dns":1,"connect":16,"send":0,"wait":33,"receive":0,"ssl":29},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70364.644cb93441690c829ab9.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.962Z","timestamp":1785136900962,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70364.644cb93441690c829ab9.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2ba\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:11:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 29ba5613dadb81508cdbf6f04ce1d692\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":698,"size_decoded":997,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (698), with no line terminators","md5":"bd271563b2387cb959a02a85476d20fc","sha1":"0e477a102b7f0c4aaac868f1244ee975d076a676","sha256":"a83a53bf9ef309ae736122159bb8a92c91735729ea3ec8a987d276eb936f787c","sha512":"c3dca5bcc3a0566d7726e04a16dfa6943da394b3d4663ee7721db0397913c34ec2aecbd0e061d4c03ccc091d390facff787c481c5ac209516320eb33350e9bdb","ssdeep":"","tlshash":"1d01ec6b92e8b15320ff7e3ca96cc2d92570da624f84a6ec719c3aa487456754610934","first_seen":"2026-03-31T19:29:24.868047Z","last_seen":"2026-08-05T03:55:36.944768Z","times_seen":658,"resource_available":false,"data":"LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNN3tvdmVyZmxvdy15OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNzo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0ud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNy53cmFwcGVyLVBRNU9fMU03LnRvdWNoLVBRNU9fMU03Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNzo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/77578.f6db460ed1e8ce31ea86.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.896Z","timestamp":1785136901896,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/77578.f6db460ed1e8ce31ea86.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-69be\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6ddb6da168f8f59c9fd2952a674a6392\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":27070,"size_decoded":10712,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"2b6fab5d43180a44762a23007cc74818","sha1":"57a42431bd8f0021426278639e1480f60600ddbc","sha256":"4daa7f339a6ee290609f5a83e28d23ee34feaa429a33d7403cf4890502acabfd","sha512":"482fc0dcff39aea620d385e9ecbe90053b7ed726e6c51f9e14dddd7f150263071d648a4c7ba8c7eb4637bee7761d193c72638a4019a4214ae774a41f8a4d53b8","ssdeep":"768:8LZLvioqCZ0JL2sWfliPTkeX0dnor9s+htUQJXRl7m:8BwL2dIAYrC+DT53K","tlshash":"4ec23a913111a49d96fbe2eed02b428ef3323659790a0e75f02c9cec11cdb693175b7a","first_seen":"2026-07-23T14:00:31.442829Z","last_seen":"2026-07-28T19:45:51.653444Z","times_seen":77,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTk2NCw2MzU5NSw3NzU3OF0sezk1ODYzOShlKXtlLmV4cG9ydHM9e21lbnVXcmFwOiJtZW51V3JhcC1sQkl4SXd0eiIsaXNNZWFzdXJpbmc6ImlzTWVhc3VyaW5nLWxCSXhJd3R6IixzY3JvbGxXcmFwOiJzY3JvbGxXcmFwLWxCSXhJd3R6Iixtb21lbnR1bUJhc2VkOiJtb21lbnR1bUJhc2VkLWxCSXhJd3R6IixtZW51Qm94OiJtZW51Qm94LWxCSXhJd3R6Iixpc0hpZGRlbjoiaXNIaWRkZW4tbEJJeEl3dHoifX0sNDcwMjk1KGUpe2UuZXhwb3J0cz17InRhYmxldC1zbWFsbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNDQwcHgpIixpdGVtOiJpdGVtLU1pMF90NXVOIixob3ZlcmVkOiJob3ZlcmVkLU1pMF90NXVOIixpc0Rpc2FibGVkOiJpc0Rpc2FibGVkLU1pMF90NXVOIixpc0FjdGl2ZToiaXNBY3RpdmUtTWkwX3Q1dU4iLHNob3J0Y3V0OiJzaG9ydGN1dC1NaTBfdDV1TiIsdG9vbGJveDoidG9vbGJveC1NaTBfdDV1TiIsd2l0aEljb246IndpdGhJY29uLU1pMF90NXVOIiwicm91bmQtaWNvbiI6InJvdW5kLWljb24tTWkwX3Q1dU4iLGljb246Imljb24tTWkwX3Q1dU4iLHN0YXJ0U2xvdDoic3RhcnRTbG90LU1pMF90NXVOIixsYWJlbFJvdzoibGFiZWxSb3ctTWkwX3Q1dU4iLGxhYmVsOiJsYWJlbC1NaTBfdDV1TiIsc2hvd09uSG92ZXI6InNob3dPbkhvdmVyLU1pMF90NXVOIiwiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIjoiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvLU1pMF90NXVOIixzaG93T25Gb2N1czoic2hvd09uRm9jdXMtTWkwX3Q1dU4ifX0sMzE2NTQ5KGUpe2UuZXhwb3J0cz17bGlua0l0ZW06ImxpbmtJdGVtLVNSa0ZIQWdnIn19LDIxNjQwOShlKXtlLmV4cG9ydHM9e3JvdW5kVGFiQnV0dG9uOiJyb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMyIsZGlzYWJsZUZvY3VzT3V0bGluZToiZGlzYWJsZUZvY3VzT3V0bGluZS1XYTZUbUdOMyIsZW5hYmxlQ3Vyc29yUG9pbnRlcjoiZW5hYmxlQ3Vyc29yUG9pbnRlci1XYTZUbUdOMyIsbGFyZ2U6ImxhcmdlLVdhNlRtR04zIix3aXRoU3RhcnRJY29uOiJ3aXRoU3RhcnRJY29uLVdhNlRtR04zIixpY29uT25seToiaWNvbk9ubHktV2E2VG1HTjMiLHdpdGhFbmRJY29uOiJ3aXRoRW5kSWNvbi1XYTZUbUdOMyIsc3RhcnRJY29uV3JhcDoic3RhcnRJY29uV3JhcC1XYTZUbUdOMyIsZW5kSWNvbldyYXA6ImVuZEljb25XcmFwLVdhNlRtR04zIixzbWFsbDoic21hbGwtV2E2VG1HTjMiLHhzbWFsbDoieHNtYWxsLVdhNlRtR04zIixwcmltYXJ5OiJwcmltYXJ5LVdhNlRtR04zIixkaXNhYmxlZDoiZGlzYWJsZWQtV2E2VG1HTjMiLHNlbGVjdGVkOiJzZWxlY3RlZC1XYTZUbUdOMyIsZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiJkaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtV2E2VG1HTjMiLGdob3N0OiJnaG9zdC1XYTZUbUdOMyIsZmFrZToiZmFrZS1XYTZUbUdOMyIsY2FyZXQ6ImNhcmV0LVdhNlRtR04zIix2aXN1YWxseUhpZGRlbjoidmlzdWFsbHlIaWRkZW4tV2E2VG1HTjMiLGNvbnRlbnQ6ImNvbnRlbnQtV2E2VG1HTjMifX0sNDc4MzkoZSl7ZS5leHBvcnRzPXtzY3JvbGxXcmFwOiJzY3JvbGxXcmFwLWhyUVZfQlpzIixvdmVyZmxvd1Njcm9sbDoib3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnMiLHJvdW5kVGFiczoicm91bmRUYWJzLWhyUVZfQlpzIixjZW50ZXI6ImNlbnRlci1oclFWX0JacyIsb3ZlcmZsb3dXcmFwOiJvdmVyZmxvd1dyYXAtaHJRVl9CWnMiLHN0YXJ0OiJzdGFydC1oclFWX0JacyJ9fSw3NjEwOTMoZSl7ZS5leHBvcnRzPXt0aXRsZToidGl0bGUtbmZrR203TkcifX0sMzYyNzkzKGUpe2UuZXhwb3J0cz17eHh4c21hbGw6Inh4eHNtYWxsLUFmZDZ0NFpqIix4eHNtYWxsOiJ4eHNtYWxsLUFmZDZ0NFpqIix4c21hbGw6InhzbWFsbC1BZmQ2dDRaaiIsc21hbGw6InNtYWxsLUFmZDZ0NFpqIixtZWRpdW06Im1lZGl1bS1BZmQ2dDRaaiIsbGFyZ2U6ImxhcmdlLUFmZDZ0NFpqIix4bGFyZ2U6InhsYXJnZS1BZmQ2dDRaaiIsY291bnRlcjoiY291bnRlci1BZmQ2dDRaaiIsImNvbG9yLWRhbmdlciI6ImNvbG9yLWRhbmdlci1BZmQ2dDRaaiIsImNvbG9yLWFjY2VudCI6ImNvbG9yLWFjY2VudC1BZmQ2dDRaaiIsImNvbG9yLWFjY2VudC1saWdodCI6ImNvbG9yLWFjY2VudC1saWdodC1BZmQ2dDRaaiIsImNvbG9yLW5ldXRyYWwtYm9sZCI6ImNvbG9yLW5ldXRyYWwtYm9sZC1BZmQ2dDRaaiIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1uZXV0cmFsLUFmZDZ0NFpqIiwiYm9yZGVyQ29sb3ItcHJpbWFyeSI6ImJvcmRlckNvbG9yLXByaW1hcnktQWZkNnQ0WmoiLCJib3JkZXJDb2xvci1zZWNvbmRhcnkiOiJib3JkZXJDb2xvci1zZWNvbmRhcnktQWZkNnQ0WmoiLCJib3JkZXJDb2xvci10ZXJ0aWFyeSI6ImJvcmRlckNvbG9yLXRlcnRpYXJ5LUFmZDZ0NFpqIixkaXNhYmxlZDoiZGlzYWJsZWQtQWZkNnQ0WmoifX0sMTkzODQ3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcHVwTWVudURpc2Nsb3N1cmVWaWV3OigpPT51fSk7dmFyIG89big3Nzk0NzQpLHI9big4MDk0MzYpLGE9big4MzU5NjQpLGw9bigxMzg2MzgpO2NvbnN0IHM9e3g6MCx5OjB9O2Z1bmN0aW9uIGkoZSx0LG4pe3JldHVybigwLG8udXNlQ2FsbGJhY2spKCgoKT0+ZnVuY3Rpb24oZSx0LHt4Om49cy54LHk6bz1zLnl9PXMpe2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKShlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhPXt4OnIubGVmdCtuLHk6ci50b3Arci5oZWlnaHQrbyxpbmRlbnRGcm9tV2luZG93Ont0b3A6NCxib3R0b206NCxsZWZ0OjQscmlnaHQ6NH19O3JldHVybiB0JiYoYS5vdmVycmlkZVdpZHRoPXIud2lkdGgpLGF9KGUuY3VycmVudCx0LG4pKSxbZSx0XSl9Y29uc3QgYz1wYXJzZUludChyWyJzaXplLWhlYWRlci1oZWlnaHQiXSk7ZnVuY3Rpb24gdShlKXsKY29uc3R7YnV0dG9uOnQscG9wdXBDaGlsZHJlbjpuLGJ1dHRvblJlZjpyLGxpc3Rib3hJZDpsLGxpc3Rib3hDbGFzc05hbWU6cyxsaXN0Ym94VGFiSW5kZXg6dSxtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6ZCxpc09wZW5lZDpoLHNjcm9sbFdyYXBSZWZlcmVuY2U6bSxsaXN0Ym94UmVmZXJlbmNlOnAsb25DbG9zZTpmLG9uT3BlbjpiLG9uTGlzdGJveEZvY3VzOnYsb25MaXN0Ym94Qmx1cjpnLG9uTGlzdGJveEtleURvd246QyxsaXN0Ym94QXJpYTp4LHJlcG9zaXRpb25PblNjcm9sbDp3PSEwLGNsb3NlT25IZWFkZXJPdmVybGFwOnk9ITEscG9wdXBQb3NpdGlvbkNvcnJlY3Rpb246Xz17eDowLHk6MH0scG9wdXBQb3NpdGlvbjpOLGRhdGFRYUlkOlN9PWUsTT1pKHIsZCxfKSxSPXk/YzowO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLHQsby5jcmVhdGVFbGVtZW50KGEuUG9wdXBNZW51LHsuLi54LGRhdGFRYUlkOlMsaWQ6bCxjbGFzc05hbWU6cyx0YWJJbmRleDp1LGlzT3BlbmVkOmgscG9zaXRpb246Tnx8TSxyZXBvc2l0aW9uT25TY3JvbGw6dyxvbkNsb3NlOmYsb25PcGVuOmIsZG9Ob3RDbG9zZU9uOnIuY3VycmVudCxyZWZlcmVuY2U6cCxzY3JvbGxXcmFwUmVmZXJlbmNlOm0sb25Gb2N1czp2LG9uQmx1cjpnLG9uS2V5RG93bjpDLGNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0OlJ9LG4pKX19LDY4MTIyNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51Q29udGV4dDooKT0+b30pO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQobnVsbCl9LDE0NTE1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX01FTlVfVEhFTUU6KCk9PmIsTWVudTooKT0+Z30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oMTM4NjM4KSxzPW4oNjA3ODMyKSxpPW4oOTAzNDIpLGM9big4OTEyMDkpLHU9big2NDA3NDQpLGQ9big1MTg3NSksaD1uKDcyNzA5KSxtPW4oMjc2MDE5KSxwPW4oNjgxMjI0KSxmPW4oOTU4NjM5KTtjb25zdCBiPWY7dmFyIHY7IWZ1bmN0aW9uKGUpe2VbZS5JbmRlbnRGcm9tV2luZG93PTBdPSJJbmRlbnRGcm9tV2luZG93In0odnx8KHY9e30pKTtjbGFzcyBnIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2NvbnRhaW5lclJlZj1udWxsLHRoaXMuX3Njcm9sbFdyYXBSZWY9bnVsbCx0aGlzLl9yYWY9bnVsbCx0aGlzLl9zY3JvbGxSYWY9bnVsbCx0aGlzLl9zY3JvbGxUaW1lb3V0PXZvaWQgMCx0aGlzLl9tYW5hZ2VyPW5ldyBpLk92ZXJsYXBNYW5hZ2VyLHRoaXMuX2hvdGtleXM9bnVsbCx0aGlzLl9zY3JvbGw9MCx0aGlzLl9oYW5kbGVDb250YWluZXJSZWY9ZT0+e3RoaXMuX2NvbnRhaW5lclJlZj1lLHRoaXMucHJvcHMucmVmZXJlbmNlJiYoImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMucHJvcHMucmVmZXJlbmNlJiZ0aGlzLnByb3BzLnJlZmVyZW5jZShlKSwib2JqZWN0Ij09dHlwZW9mIHRoaXMucHJvcHMucmVmZXJlbmNlJiYodGhpcy5wcm9wcy5yZWZlcmVuY2UuY3VycmVudD1lKSl9LHRoaXMuX2hhbmRsZVNjcm9sbFdyYXBSZWY9ZT0+e3RoaXMuX3Njcm9sbFdyYXBSZWY9ZSwiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm9wcy5zY3JvbGxXcmFwUmVmZXJlbmNlJiZ0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UoZSksIm9iamVjdCI9PXR5cGVvZiB0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UmJih0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UuY3VycmVudD1lKX0sdGhpcy5faGFuZGxlQ3VzdG9tUmVtZWFzdXJlRGVsZWdhdGU9KCk9Pnt0aGlzLl9yZXNpemVGb3JjZWQoKSx0aGlzLl9oYW5kbGVNZWFzdXJlKCl9LHRoaXMuX2hhbmRsZU1lYXN1cmU9KHtjYWxsYmFjazplLGZvcmNlUmVjYWxjUG9zaXRpb246dH09e30pPT57aWYodGhpcy5zdGF0ZS5pc01lYXN1cmVWYWxpZCYmIXQpcmV0dXJuO2NvbnN0e3Bvc2l0aW9uOm59PXRoaXMucHJvcHMsbz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvbnRhaW5lclJlZik7bGV0IHI9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtjb25zdCBhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQscz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsaT10aGlzLnByb3BzLmNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0Pz8wO2xldCBjPWEtMC1pO2NvbnN0IGQ9ci5oZWlnaHQ+YztpZihkKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpLnN0eWxlLm92ZXJmbG93WT0ic2Nyb2xsIixyPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y29uc3R7d2lkdGg6aCxoZWlnaHQ6bX09cixwPSJmdW5jdGlvbiI9PXR5cGVvZiBuP24oe2NvbnRlbnRXaWR0aDpoLGNvbnRlbnRIZWlnaHQ6bSxhdmFpbGFibGVXaWR0aDpzLGF2YWlsYWJsZUhlaWdodDphfSk6bixmPXA/LmluZGVudEZyb21XaW5kb3c/LmxlZnQ/PzAsYj1zLShwLm92ZXJyaWRlV2lkdGg/P2gpLShwPy5pbmRlbnRGcm9tV2luZG93Py5yaWdodD8/MCksdj0oMCx1LmNsYW1wKShwLngsZixNYXRoLm1heChmLGIpKSxnPShwPy5pbmRlbnRGcm9tV2luZG93Py50b3A/PzApK2ksQz1hLShwLm92ZXJyaWRlSGVpZ2h0Pz9tKS0ocD8uaW5kZW50RnJvbVdpbmRvdz8uYm90dG9tPz8wKTtsZXQgeD0oMCx1LmNsYW1wKShwLnksZyxNYXRoLm1heChnLEMpKTtpZihwLmZvcmJpZENvcnJlY3RZQ29vcmQmJng8cC55JiYoYy09cC55LXgseD1wLnkpLHQmJnZvaWQgMCE9PXRoaXMucHJvcHMuY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQmJnAueTw9dGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldClyZXR1cm4gdm9pZCB0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSghMCk7Y29uc3Qgdz1wLm92ZXJyaWRlSGVpZ2h0Pz8oZD9jOnZvaWQgMCk7dGhpcy5zZXRTdGF0ZSh7YXBwZWFyaW5nTWVudUhlaWdodDp0P3RoaXMuc3RhdGUuYXBwZWFyaW5nTWVudUhlaWdodDp3LGFwcGVhcmluZ01lbnVXaWR0aDp0P3RoaXMuc3RhdGUuYXBwZWFyaW5nTWVudVdpZHRoOnAub3ZlcnJpZGVXaWR0aCwKYXBwZWFyaW5nUG9zaXRpb246e3g6dix5Onh9LGlzTWVhc3VyZVZhbGlkOiEwfSwoKCk9Pnt0aGlzLnByb3BzLmRvTm90UmVzdG9yZVBvc2l0aW9ufHx0aGlzLl9yZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSxlJiZlKCl9KSl9LHRoaXMuX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbj0oKT0+e2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zY3JvbGxXcmFwUmVmKTtlLnNjcm9sbFRvcD10aGlzLl9zY3JvbGw7Y29uc3QgdD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jb250YWluZXJSZWYpO2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmbi5jb250YWlucyh0KSYmIXRoaXMuX2lzRWxlbWVudEZ1bGx5VmlzaWJsZSh0LGUpKXRyeXt0LnNjcm9sbEludG9WaWV3KCl9Y2F0Y2goZSl7fX0sdGhpcy5faXNFbGVtZW50RnVsbHlWaXNpYmxlPShlLHQpPT57Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gbi50b3A+PW8udG9wJiZuLmJvdHRvbTw9by5ib3R0b219LHRoaXMuX3Jlc2l6ZUZvcmNlZD0oKT0+e3RoaXMuc2V0U3RhdGUoe2FwcGVhcmluZ01lbnVIZWlnaHQ6dm9pZCAwLGFwcGVhcmluZ01lbnVXaWR0aDp2b2lkIDAsYXBwZWFyaW5nUG9zaXRpb246dm9pZCAwLGlzTWVhc3VyZVZhbGlkOnZvaWQgMH0pfSx0aGlzLl9yZXNpemU9KCk9PntudWxsPT09dGhpcy5fcmFmJiYodGhpcy5fcmFmPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLnNldFN0YXRlKHthcHBlYXJpbmdNZW51SGVpZ2h0OnZvaWQgMCxhcHBlYXJpbmdNZW51V2lkdGg6dm9pZCAwLGFwcGVhcmluZ1Bvc2l0aW9uOnZvaWQgMCxpc01lYXN1cmVWYWxpZDp2b2lkIDB9KSx0aGlzLl9yYWY9bnVsbH0pKSl9LHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlPWU9Pnt0aGlzLnByb3BzLm9uQ2xvc2UoZSl9LHRoaXMuX2hhbmRsZVNsb3Q9ZT0+e3RoaXMuX21hbmFnZXIuc2V0Q29udGFpbmVyKGUpfSx0aGlzLl9oYW5kbGVTY3JvbGw9KCk9Pnt0aGlzLl9zY3JvbGw9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zY3JvbGxXcmFwUmVmKS5zY3JvbGxUb3B9LHRoaXMuX2hhbmRsZVNjcm9sbE91dHNpZGVFbmQ9KCk9PntjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsVGltZW91dCksdGhpcy5fc2Nyb2xsVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2hhbmRsZU1lYXN1cmUoe2ZvcmNlUmVjYWxjUG9zaXRpb246ITB9KX0pLDgwKX0sdGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZT1lPT57ZS50YXJnZXQhPT10aGlzLl9zY3JvbGxXcmFwUmVmJiYodGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZCgpLG51bGw9PT10aGlzLl9zY3JvbGxSYWYmJih0aGlzLl9zY3JvbGxSYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2hhbmRsZU1lYXN1cmUoe2ZvcmNlUmVjYWxjUG9zaXRpb246ITB9KSx0aGlzLl9zY3JvbGxSYWY9bnVsbH0pKSkpfSx0aGlzLnN0YXRlPXt9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5faGFuZGxlTWVhc3VyZSh7Y2FsbGJhY2s6dGhpcy5wcm9wcy5vbk9wZW59KTtjb25zdHtjdXN0b21DbG9zZURlbGVnYXRlOmU9bS5nbG9iYWxDbG9zZURlbGVnYXRlLGN1c3RvbVJlbWVhc3VyZURlbGVnYXRlOnR9PXRoaXMucHJvcHM7ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8uc3Vic2NyaWJlKG51bGwsdGhpcy5faGFuZGxlQ3VzdG9tUmVtZWFzdXJlRGVsZWdhdGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZSk7Y29uc3Qgbj1udWxsIT09dGhpcy5jb250ZXh0O3RoaXMuX2hvdGtleXN8fG58fCh0aGlzLl9ob3RrZXlzPWguY3JlYXRlR3JvdXAoe2Rlc2M6IlBvcHVwIG1lbnUifSksdGhpcy5faG90a2V5cy5hZGQoe2Rlc2M6IkNsb3NlIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e3RoaXMucHJvcHMub25LZXlib2FyZENsb3NlJiZ0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSgpLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCl9fSkpLHRoaXMucHJvcHMucmVwb3NpdGlvbk9uU2Nyb2xsJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSl9Y29tcG9uZW50RGlkVXBkYXRlKCl7dGhpcy5faGFuZGxlTWVhc3VyZSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y3VzdG9tQ2xvc2VEZWxlZ2F0ZTplPW0uZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTp0fT10aGlzLnByb3BzO2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8udW5zdWJzY3JpYmUobnVsbCx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSksdGhpcy5faG90a2V5cyYmKHRoaXMuX2hvdGtleXMuZGVzdHJveSgpLHRoaXMuX2hvdGtleXM9bnVsbCksbnVsbCE9PXRoaXMuX3JhZiYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JhZiksdGhpcy5fcmFmPW51bGwpLG51bGwhPT10aGlzLl9zY3JvbGxSYWYmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9zY3JvbGxSYWYpLHRoaXMuX3Njcm9sbFJhZj1udWxsKSx0aGlzLl9zY3JvbGxUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsVGltZW91dCl9cmVuZGVyKCl7CmNvbnN0e2lkOmUscm9sZTp0LCJhcmlhLWxhYmVsIjpuLCJhcmlhLWxhYmVsbGVkYnkiOnIsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6bCwiYXJpYS1oaWRkZW4iOmksImFyaWEtZGVzY3JpYmVkYnkiOnUsImFyaWEtaW52YWxpZCI6aCxjaGlsZHJlbjptLG1pbldpZHRoOmIsdGhlbWU6dj1mLGNsYXNzTmFtZTpnLG1heEhlaWdodDp4LG9uTW91c2VPdmVyOncsb25Nb3VzZU91dDp5LG9uS2V5RG93bjpfLG9uRm9jdXM6TixvbkJsdXI6U309dGhpcy5wcm9wcyx7YXBwZWFyaW5nTWVudUhlaWdodDpNLGFwcGVhcmluZ01lbnVXaWR0aDpSLGFwcGVhcmluZ1Bvc2l0aW9uOkUsaXNNZWFzdXJlVmFsaWQ6VH09dGhpcy5zdGF0ZSxJPXsiLS11aS1raXQtbWVudS1tYXgtd2lkdGgiOmAke0UmJkUueH1weGAsbWF4V2lkdGg6ImNhbGMoMTAwdncgLSB2YXIoLS11aS1raXQtbWVudS1tYXgtd2lkdGgpIC0gNnB4KSJ9O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQocC5NZW51Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpc30sby5jcmVhdGVFbGVtZW50KGMuU3VibWVudUhhbmRsZXIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQocy5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpcy5fbWFuYWdlcn0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDplLHJvbGU6dCwiYXJpYS1sYWJlbCI6biwiYXJpYS1sYWJlbGxlZGJ5IjpyLCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiOmwsImFyaWEtaGlkZGVuIjppLCJhcmlhLWRlc2NyaWJlZGJ5Ijp1LCJhcmlhLWludmFsaWQiOmgsY2xhc3NOYW1lOmEoKShnLHYubWVudVdyYXAsIVQmJnYuaXNNZWFzdXJpbmcpLHN0eWxlOntoZWlnaHQ6TSxsZWZ0OkUmJkUueCxtaW5XaWR0aDpiLHBvc2l0aW9uOiJmaXhlZCIsdG9wOkUmJkUueSx3aWR0aDpSLC4uLnRoaXMucHJvcHMubGltaXRNYXhXaWR0aCYmSX0sImRhdGEtbmFtZSI6dGhpcy5wcm9wc1siZGF0YS1uYW1lIl0sImRhdGEtcWEtaWQiOnRoaXMucHJvcHMuZGF0YVFhSWQsImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIjp0aGlzLnByb3BzWyJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyJdLHJlZjp0aGlzLl9oYW5kbGVDb250YWluZXJSZWYsb25TY3JvbGxDYXB0dXJlOnRoaXMucHJvcHMub25TY3JvbGwsb25Db250ZXh0TWVudTpkLnByZXZlbnREZWZhdWx0Rm9yQ29udGV4dE1lbnUsdGFiSW5kZXg6dGhpcy5wcm9wcy50YWJJbmRleCxvbk1vdXNlT3Zlcjp3LG9uTW91c2VPdXQ6eSxvbktleURvd246XyxvbkZvY3VzOk4sb25CbHVyOlN9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKSh2LnNjcm9sbFdyYXAsIXRoaXMucHJvcHMubm9Nb21lbnR1bUJhc2VkU2Nyb2xsJiZ2Lm1vbWVudHVtQmFzZWQpLHN0eWxlOntvdmVyZmxvd1k6dm9pZCAwIT09TT8ic2Nyb2xsIjoiYXV0byIsbWF4SGVpZ2h0Onh9LG9uU2Nyb2xsQ2FwdHVyZTp0aGlzLl9oYW5kbGVTY3JvbGwscmVmOnRoaXMuX2hhbmRsZVNjcm9sbFdyYXBSZWZ9LG8uY3JlYXRlRWxlbWVudChDLHtjbGFzc05hbWU6di5tZW51Qm94fSxtKSkpKSxvLmNyZWF0ZUVsZW1lbnQocy5TbG90LHtyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKSl9dXBkYXRlKGUpe2U/dGhpcy5fcmVzaXplRm9yY2VkKCk6dGhpcy5fcmVzaXplKCl9Zm9jdXMoZSl7dGhpcy5fY29udGFpbmVyUmVmPy5mb2N1cyhlKX1ibHVyKCl7dGhpcy5fY29udGFpbmVyUmVmPy5ibHVyKCl9fWZ1bmN0aW9uIEMoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLG8udXNlQ29udGV4dCkoYy5TdWJtZW51Q29udGV4dCkpLG49by51c2VSZWYobnVsbCk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOm4sY2xhc3NOYW1lOmUuY2xhc3NOYW1lLG9uTW91c2VPdmVyOmZ1bmN0aW9uKGUpe2lmKCEobnVsbCE9PXQuY3VycmVudCYmZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiYobz1lLnRhcmdldCxuLmN1cnJlbnQ/LmNvbnRhaW5zKG8pKSkpcmV0dXJuO3ZhciBvO3QuaXNTdWJtZW51Tm9kZShlLnRhcmdldCl8fHQuc2V0Q3VycmVudChudWxsKX0sImRhdGEtcWEtaWQiOiJtZW51LWlubmVyIn0sZS5jaGlsZHJlbil9Zy5jb250ZXh0VHlwZT1jLlN1Ym1lbnVDb250ZXh0fSwxNTM3MzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7REVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUU6KCk9PnUsUG9wdXBNZW51SXRlbTooKT0+aH0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oMzg3Nzc0KSxzPW4oODQ4OTg4KSxpPW4oMjc2MDE5KSxjPW4oNDcwMjk1KTtjb25zdCB1PS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qobi5qKT9jOm51bGw7ZnVuY3Rpb24gZChlKXtlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoZSl7Y29uc3R7aWQ6dCxyb2xlOm4sY2xhc3NOYW1lOnIsdGl0bGU6dSxsYWJlbFJvd0NsYXNzTmFtZTpoLGxhYmVsQ2xhc3NOYW1lOm0sdG9vbGJveENsYXNzTmFtZTpwLHNob3J0Y3V0OmYsZm9yY2VTaG93U2hvcnRjdXRzOmIsaWNvbjp2LGljb25DbGFzc25hbWU6Zyxpc0FjdGl2ZTpDLGlzRGlzYWJsZWQ6eCxpc0hvdmVyZWQ6dyxhcHBlYXJBc0Rpc2FibGVkOnksbGFiZWw6XyxsaW5rOk4sc2hvd1Rvb2xib3hPbkhvdmVyOlMsc2hvd1Rvb2xib3hPbkZvY3VzOk0sdGFyZ2V0OlIscmVsOkUsdG9vbGJveDpULHRvb2xib3hSb2xlOkkscmVmZXJlbmNlOlcsb25Nb3VzZU91dDpPLG9uTW91c2VPdmVyOmssb25LZXlEb3duOkIsc3VwcHJlc3NUb29sYm94Q2xpY2s6QT0hMCx0aGVtZTpEPWMsdGFiSW5kZXg6eix0YWdOYW1lOkYscmVuZGVyQ29tcG9uZW50Okgscm91bmRlZEljb246UCxpY29uQXJpYVByb3BzOkcsY2lyY2xlTG9nbzpMLGRvbnRDbG9zZVBvcHVwOmosb25DbGljazpaLG9uQ2xpY2tBcmc6VixvbkNvbnRleHRNZW51Okssb25Nb3VzZVVwOlEsc3RhcnRTbG90OlUsZGF0YVFhSWQ6WCwuLi4kfT1lLHE9KDAsby51c2VSZWYpKG51bGwpLFk9KDAsby51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCl7CmNvbnN0e3JlZmVyZW5jZTpuLC4uLnJ9PXQsYT1lPz8oci5ocmVmPyJhIjoiZGl2IiksbD0iYSI9PT1hP3I6ZnVuY3Rpb24oZSl7Y29uc3R7ZG93bmxvYWQ6dCxocmVmOm4saHJlZkxhbmc6byxtZWRpYTpyLHBpbmc6YSxyZWw6bCx0YXJnZXQ6cyx0eXBlOmkscmVmZXJyZXJQb2xpY3k6YywuLi51fT1lO3JldHVybiB1fShyKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGEsey4uLmwscmVmOm59KX1yZXR1cm4gdC5kaXNwbGF5TmFtZT1gRGVmYXVsdENvbXBvbmVudCgke2V9KWAsdH0oRikpLFtGXSksSj1IPz9ZO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoSix7Li4uJCxpZDp0LHJvbGU6bixjbGFzc05hbWU6YSgpKHIsRC5pdGVtLHYmJkQud2l0aEljb24se1tELmlzQWN0aXZlXTpDLFtELmlzRGlzYWJsZWRdOnh8fHksW0QuaG92ZXJlZF06d30pLHRpdGxlOnUsaHJlZjpOLHRhcmdldDpSLHJlbDpFLHJlZmVyZW5jZTpmdW5jdGlvbihlKXtxLmN1cnJlbnQ9ZSwiZnVuY3Rpb24iPT10eXBlb2YgVyYmVyhlKTsib2JqZWN0Ij09dHlwZW9mIFcmJihXLmN1cnJlbnQ9ZSl9LG9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYoeClyZXR1cm47WiYmWihWLGUpO2p8fChlLmN1cnJlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInBvcHVwLW1lbnUtY2xvc2UtZXZlbnQiLHtidWJibGVzOiEwLGRldGFpbDp7Y2xpY2tUeXBlOigwLHMuaXNLZXlib2FyZENsaWNrKShlKT8ia2V5Ym9hcmQiOiJtb3VzZSJ9fSkpLCgwLGkuZ2xvYmFsQ2xvc2VNZW51KSgpKX0sb25Db250ZXh0TWVudTpLLG9uTW91c2VVcDpRLG9uTW91c2VPdmVyOmssb25Nb3VzZU91dDpPLG9uS2V5RG93bjpCLHRhYkluZGV4OnosImRhdGEtcWEtaWQiOlh9LEwmJm8uY3JlYXRlRWxlbWVudChsLkNpcmNsZUxvZ28sey4uLkcsY2xhc3NOYW1lOmNbImRpc2Nsb3N1cmUtaXRlbS1jaXJjbGUtbG9nbyJdLHNpemU6Inh4eHNtYWxsIixsb2dvVXJsOkwubG9nb1VybCxwbGFjZWhvbGRlckxldHRlcjoicGxhY2Vob2xkZXJMZXR0ZXIiaW4gTD9MLnBsYWNlaG9sZGVyTGV0dGVyOnZvaWQgMH0pLFUmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpELnN0YXJ0U2xvdH0sVSksdiYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOkcmJkdbImFyaWEtbGFiZWwiXSwiYXJpYS1oaWRkZW4iOkcmJkJvb2xlYW4oR1siYXJpYS1oaWRkZW4iXSksY2xhc3NOYW1lOmEoKShELmljb24sUCYmY1sicm91bmQtaWNvbiJdLGcpLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dn19KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpKEQubGFiZWxSb3csaCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphKCkoRC5sYWJlbCxtKX0sXykpLCh2b2lkIDAhPT1mfHxiKSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOkQuc2hvcnRjdXR9LChlZT1mKSYmZWUuc3BsaXQoIisiKS5qb2luKCIgKyAiKSksdm9pZCAwIT09VCYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZTpJLG9uQ2xpY2s6QT9kOnZvaWQgMCxjbGFzc05hbWU6YSgpKHAsRC50b29sYm94LHtbRC5zaG93T25Ib3Zlcl06UyxbRC5zaG93T25Gb2N1c106TX0pfSxUKSk7dmFyIGVlfX0sNjMyOTkyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5hfSk7dmFyIG89big3Nzk0NzQpLHI9bigyNzYwMTkpO2NvbnN0IGE9by5jcmVhdGVDb250ZXh0KHIuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDgzNTk2NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3B1cE1lbnU6KCk9Pmh9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDEyOTM2NSksYT1uKDkyODEzMiksbD1uKDU4NTQ4KSxzPW4oMjM2NzY1KSxpPW4oMjI3OTQ5KSxjPW4oMTQ1MTUwKSx1PW4oNjMyOTkyKSxkPW4oMzAxOTM3KTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NvbnRyb2xsZXI6dCxjaGlsZHJlbjpuLGlzT3BlbmVkOmgsY2xvc2VPbkNsaWNrT3V0c2lkZTptPSEwLGRvTm90Q2xvc2VPbjpwLG9uQ2xpY2tPdXRzaWRlOmYsb25DbG9zZTpiLG9uS2V5Ym9hcmRDbG9zZTp2LGRhdGFRYUlkOmc9InBvcHVwLW1lbnUtY29udGFpbmVyIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDpDLC4uLnh9PWUsdz0oMCxvLnVzZUNvbnRleHQpKHUuQ2xvc2VEZWxlZ2F0ZUNvbnRleHQpLHk9by51c2VDb250ZXh0KGkuTWVudVdpZHRoQ29udGV4dCksXz0oMCxvLnVzZUNvbnRleHQpKGQuUmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0KSxOPSgwLHMudXNlT3V0c2lkZUV2ZW50KSh7aGFuZGxlcjpmdW5jdGlvbihlKXtmJiZmKGUpO2lmKCFtKXJldHVybjtjb25zdCB0PSgwLGEuZGVmYXVsdCkocCk/cCgpOm51bGw9PXA/W106W3BdO2lmKHQubGVuZ3RoPjAmJmUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSlmb3IoY29uc3QgbiBvZiB0KXtjb25zdCB0PXIuZmluZERPTU5vZGUobik7aWYodCBpbnN0YW5jZW9mIE5vZGUmJnQuY29udGFpbnMoZS50YXJnZXQpKXJldHVybn1iKCl9LG1vdXNlRG93bjohMCx0b3VjaFN0YXJ0OiEwfSk7cmV0dXJuIGg/by5jcmVhdGVFbGVtZW50KGwuUG9ydGFsLHt0b3A6IjAiLGxlZnQ6IjAiLHJpZ2h0OiIwIixib3R0b206IjAiLHBvaW50ZXJFdmVudHM6Im5vbmUifSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6TixzdHlsZTp7cG9pbnRlckV2ZW50czoiYXV0byJ9fSxvLmNyZWF0ZUVsZW1lbnQoYy5NZW51LHsuLi54LG9uQ2xvc2U6YixvbktleWJvYXJkQ2xvc2U6dixvblNjcm9sbDpmdW5jdGlvbih0KXtjb25zdHtvblNjcm9sbDpufT1lO24mJm4odCl9LGN1c3RvbUNsb3NlRGVsZWdhdGU6dyxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTpfLHJlZjp0LGRhdGFRYUlkOmcsbGltaXRNYXhXaWR0aDp5LnNldE1lbnVNYXhXaWR0aCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDpDfSxuKSkpOm51bGx9fSwzMDE5MzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0OigpPT5vfSkKO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQodm9pZCAwKX0sMjg3Nzg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbGxhcHNlZFJvdW5kVGFic0Rpc2Nsb3N1cmU6KCk9PmZ9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDMxOTY5KSxhPW4oMjczMzEwKSxsPW4oMTUzNzM0KSxzPW4oMTkzODQ3KSxpPW4oMTk5MTcyKSxjPW4oNzM0ODUyKSx1PW4oNDkyNTA1KSxkPW4oMjM4NTM2KSxoPW4oODg2MCksbT1uKDYzMTU0MSkscD1uKDMxNjU0OSk7ZnVuY3Rpb24gZihlKXtjb25zdHtkaXNhYmxlZDp0LGlzT3BlbmVkOm4sZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6dSxkaXNhYmxlRm9jdXNPdXRsaW5lOmQsZmFrZTpmLGl0ZW1zOnYsYnV0dG9uVGV4dDpnLGJ1dHRvblByZXNldDpDPSJ0ZXh0IixidXR0b25SZWY6eCxzaXplOncsdmFyaWFudDp5LGlzQW5jaG9yVGFiczpfLGlzSGlnaGxpZ2h0ZWQ6TixvbkJ1dHRvbkNsaWNrOlMsb25JdGVtQ2xpY2s6TSxvbkNsb3NlOlJ9PWUsRT0oMCxvLnVzZVJlZikobnVsbCksVD0oMCxyLnVzZU1lcmdlZFJlZnMpKFt4LEVdKSxJPSJ0ZXh0Ij09PUM/dm9pZCAwOiJ4c21hbGwiPT09dz9oOm07cmV0dXJuIG8uY3JlYXRlRWxlbWVudChzLlBvcHVwTWVudURpc2Nsb3N1cmVWaWV3LHtidXR0b25SZWY6RSxsaXN0Ym94VGFiSW5kZXg6LTEsaXNPcGVuZWQ6bixvbkNsb3NlOlIsbGlzdGJveEFyaWE6eyJhcmlhLWhpZGRlbiI6ITB9LGJ1dHRvbjpvLmNyZWF0ZUVsZW1lbnQoYy5Sb3VuZFRhYnNCYXNlQnV0dG9uLHsiYXJpYS1oaWRkZW4iOiEwLGRpc2FibGVkOnQsYWN0aXZlOm4sb25DbGljazpTLHJlZjpULHRhYkluZGV4Oi0xLHNpemU6dyx2YXJpYW50Onksc3RhcnRJY29uOkksc2hvd0NhcmV0OiJ0ZXh0Ij09PUMsaWNvbk9ubHk6Im1lYXRiYWxscyI9PT1DLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOnUsZGlzYWJsZUZvY3VzT3V0bGluZTpkLGZha2U6Zn0sZykscG9wdXBDaGlsZHJlbjpvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLCJtZWF0YmFsbHMiPT09QyYmby5jcmVhdGVFbGVtZW50KGkuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LG51bGwsZyksdi5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChsLlBvcHVwTWVudUl0ZW0se2tleTplLmlkLGNsYXNzTmFtZTpfP3AubGlua0l0ZW06dm9pZCAwLG9uQ2xpY2s6TSxvbkNsaWNrQXJnOmUsaXNBY3RpdmU6TihlKSxsYWJlbDpvLmNyZWF0ZUVsZW1lbnQoYix7aXNIaWdobGlnaHRlZDpOKGUpLHNpemU6dyx2YXJpYW50OnksZGlzYWJsZWQ6ZS5kaXNhYmxlZH0sZS5jaGlsZHJlbiksaXNEaXNhYmxlZDplLmRpc2FibGVkLGxpbms6ImhyZWYiaW4gZT9lLmhyZWY6dm9pZCAwLHJlbDoicmVsImluIGU/ZS5yZWw6dm9pZCAwLHRhcmdldDoidGFyZ2V0ImluIGU/ZS50YXJnZXQ6dm9pZCAwLGljb246ZS5zdGFydEljb24sdG9vbGJveDplLmVuZEljb24mJm8uY3JlYXRlRWxlbWVudChhLkljb24se2ljb246ZS5lbmRJY29ufSkscmVuZGVyQ29tcG9uZW50OiJyZW5kZXJDb21wb25lbnQiaW4gZT9lLnJlbmRlckNvbXBvbmVudDp2b2lkIDAsZG9udENsb3NlUG9wdXA6ITB9KSkpKX0pfWZ1bmN0aW9uIGIoZSl7Y29uc3R7aXNIaWdobGlnaHRlZDp0LHNpemU6bix2YXJpYW50OnIsY2hpbGRyZW46YSxkaXNhYmxlZDpsfT1lLHM9e3NpemU6bj8/dS5kZWZhdWx0U2l6ZSx2YXJpYW50OnI/P3UuZGVmYXVsdFZhcmlhbnQsaXNIaWdobGlnaHRlZDp0LGlzQ29sbGFwc2VkOiEwLGRpc2FibGVkOmw/PyExfTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGQuUm91bmRUYWJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpzfSxhKX19LDQwMDIxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZFRhYkJ1dHRvbjooKT0+aX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTY0NTk0KSxhPW4oNDkyNTA1KSxsPW4oNzM0ODUyKSxzPW4oMjM4NTM2KTtmdW5jdGlvbiBpKGUpe2NvbnN0e2l0ZW06dCxoaWdobGlnaHRlZDpuLGhhbmRsZUl0ZW1SZWY6aSxyZWZlcmVuY2U6YyxvbkNsaWNrOnUsLi4uZH09ZSxoPSgwLG8udXNlQ2FsbGJhY2spKChlPT57ZC5kaXNhYmxlZCYmZS5wcmV2ZW50RGVmYXVsdCgpLHUmJnUodCl9KSxbdSx0LGQuZGlzYWJsZWRdKSxtPSgwLG8udXNlQ2FsbGJhY2spKChlPT57aSYmaSh0LGUpLCgwLHIuaXNvbW9ycGhpY1JlZikoYykoZSl9KSxbdCxpXSkscD17c2l6ZTpkLnNpemU/P2EuZGVmYXVsdFNpemUsdmFyaWFudDpkLnZhcmlhbnQ/P2EuZGVmYXVsdFZhcmlhbnQsaXNIaWdobGlnaHRlZDpCb29sZWFuKGQuYWN0aXZlKSxpc0NvbGxhcHNlZDohMSxkaXNhYmxlZDpkLmRpc2FibGVkPz8hMX07cmV0dXJuIG8uY3JlYXRlRWxlbWVudChsLlJvdW5kVGFic0Jhc2VCdXR0b24sey4uLmQsaWQ6dC5pZCxvbkNsaWNrOmgscmVmOm0sc3RhcnRJY29uOnQuc3RhcnRJY29uLGVuZEljb246dC5lbmRJY29uLHRvb2x0aXA6dC50b29sdGlwLCJhcmlhLWxhYmVsIjoicmFkaW8iPT09ZC5yb2xlP3QuY2hpbGRyZW46dm9pZCAwfSxvLmNyZWF0ZUVsZW1lbnQocy5Sb3VuZFRhYkNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnB9LHQuY2hpbGRyZW4pKX19LDQ5MjUwNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZFRhYkNvbnRlbnQ6KCk9Pm0sZGVmYXVsdFNpemU6KCk9PnUsZGVmYXVsdFZhcmlhbnQ6KCk9PmQsdXNlUm91bmRUYWJDbGFzc05hbWVzOigpPT5ofSk7dmFyIG89big3Nzk0NzQpLHI9big5MTQ0ODcpLGE9bi5uKHIpLGw9bigzMDk5MjApLHM9bigyNzMzMTApLGk9big5MzUxKSxjPW4oMjE2NDA5KTtjb25zdCB1PSJ4c21hbGwiLGQ9InByaW1hcnkiO2Z1bmN0aW9uIGgoZSl7Y29uc3QgdD0oMCxvLnVzZUNvbnRleHQpKGwuQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCkse3NpemU6bj0ieHNtYWxsIix2YXJpYW50OnI9InByaW1hcnkiLGFjdGl2ZTpzLGZha2U6aSxzdGFydEljb246dSxlbmRJY29uOmQsc2hvd0NhcmV0OmgsaWNvbk9ubHk6bSxhbmNob3I6cCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpmPXQuZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsZGlzYWJsZUZvY3VzT3V0bGluZTpiPSExLHRvb2x0aXA6dixkaXNhYmxlZDpnfT1lCjtyZXR1cm4gYSgpKGMucm91bmRUYWJCdXR0b24sY1tuXSxjW3JdLHUmJmMud2l0aFN0YXJ0SWNvbiwoZHx8aCkmJmMud2l0aEVuZEljb24sbSYmYy5pY29uT25seSxzJiZjLnNlbGVjdGVkLGkmJmMuZmFrZSxwJiZjLmVuYWJsZUN1cnNvclBvaW50ZXIsIWYmJmMuZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLGImJmMuZGlzYWJsZUZvY3VzT3V0bGluZSx2JiYiYXBwbHktY29tbW9uLXRvb2x0aXAiLGcmJmMuZGlzYWJsZWQsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAgYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkgYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tYWxsb3ctdGV4dCIpfWZ1bmN0aW9uIG0oZSl7Y29uc3R7c3RhcnRJY29uOnQsZW5kSWNvbjpuLHNob3dDYXJldDpyLGljb25Pbmx5OmwsY2hpbGRyZW46aX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCx0JiZvLmNyZWF0ZUVsZW1lbnQocy5JY29uLHtpY29uOnQsY2xhc3NOYW1lOmMuc3RhcnRJY29uV3JhcCwiYXJpYS1oaWRkZW4iOiEwfSksaSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKShjLmNvbnRlbnQsbCYmYy52aXN1YWxseUhpZGRlbil9LGkpLCghbCYmbnx8cikmJm8uY3JlYXRlRWxlbWVudChwLHtpY29uOm4sc2hvd0NhcmV0OnJ9KSl9ZnVuY3Rpb24gcChlKXtjb25zdHtpY29uOnQsc2hvd0NhcmV0Om59PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChzLkljb24se2NsYXNzTmFtZTphKCkoYy5lbmRJY29uV3JhcCxuJiZjLmNhcmV0KSxpY29uOm4/aTp0LCJhcmlhLWhpZGRlbiI6ITB9KX19LDIzODUzNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZFRhYkNvbnRleHQ6KCk9Pm99KTtjb25zdCBvPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7c2l6ZToic21hbGwiLHZhcmlhbnQ6InByaW1hcnkiLGlzSGlnaGxpZ2h0ZWQ6ITEsaXNDb2xsYXBzZWQ6ITEsZGlzYWJsZWQ6ITF9KX0sNzM0ODUyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1JvdW5kVGFic0Jhc2VCdXR0b246KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDc3MDE0MyksYT1uKDQ5MjUwNSk7Y29uc3QgbD0oMCxvLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2lkOm4sc2l6ZTpsLHZhcmlhbnQ6cyxhY3RpdmU6aSxmYWtlOmMsc3RhcnRJY29uOnUsZW5kSWNvbjpkLHNob3dDYXJldDpoLGljb25Pbmx5Om0sY2hpbGRyZW46cCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpmLGRpc2FibGVGb2N1c091dGxpbmU6Yix0b29sdGlwOnYsZGlzYWJsZWQ6ZywuLi5DfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLkMsaWQ6bixyZWY6dCwiZGF0YS10b29sdGlwIjp2LCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCI6dj8/KDAsci5nZXRUZXh0Rm9yVG9vbHRpcCkocCksY2xhc3NOYW1lOigwLGEudXNlUm91bmRUYWJDbGFzc05hbWVzKSh7c2l6ZTpsLHZhcmlhbnQ6cyxhY3RpdmU6aSxmYWtlOmMsc3RhcnRJY29uOnUsZW5kSWNvbjpkLHNob3dDYXJldDpoLGljb25Pbmx5Om0sZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ZixkaXNhYmxlRm9jdXNPdXRsaW5lOmIsdG9vbHRpcDp2LGRpc2FibGVkOmd9KX0sby5jcmVhdGVFbGVtZW50KGEuUm91bmRUYWJDb250ZW50LHtzdGFydEljb246dSxlbmRJY29uOmQsc2hvd0NhcmV0OmgsaWNvbk9ubHk6bX0scCkpfSkpO2wuZGlzcGxheU5hbWU9IlJvdW5kVGFic0Jhc2VCdXR0b24ifSw1MDk0ODkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Um91bmRCdXR0b25UYWJzSW1wbDooKT0+bX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oNzgzMjU0KSxzPW4oMTE1MjkzKSxpPW4oODQ2ODU4KSxjPW4oMjEyMTI1KSx1PW4oNDAwMjExKSxkPW4oMjg3Nzg2KSxoPW4oMTAzNTkzKTtmdW5jdGlvbiBtKGUpe2NvbnN0e2NoaWxkcmVuOnQsZGlzYWJsZWQ6cixtb3JlQnV0dG9uVGV4dDptPWwudChudWxsLHZvaWQgMCxuKDM5NDk0NykpLG1vcmVCdXR0b25QcmVzZXQ6cCxjbGFzc05hbWU6ZixzaXplOmIsdmFyaWFudDp2LGFsaWduOmcsc3R5bGU6Qz17fSwiZGF0YS1uYW1lIjp4LGlzUmFkaW9Hcm91cDp3LCJhcmlhLWNvbnRyb2xzIjp5fT1lLF89KDAsaC5nZXRSb3VuZFRhYnNHYXApKGIpLHtlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpOLG1vcmVCdXR0b25SZWY6UyxzZXRJdGVtUmVmOk0sZ2V0QmluZGluZ3M6UixoYW5kbGVNb3JlQnV0dG9uQ2xpY2s6RSxoYW5kbGVDb2xsYXBzZWRJdGVtQ2xpY2s6VCxzY3JvbGxXcmFwQmluZGluZzpJLG92ZXJmbG93QmVoYXZpb3VyOlcsdGFibGlzdEJpbmRpbmc6Tyx2aXNpYmxlVGFiczprLGhpZGRlblRhYnM6QixoYW5kbGVBY3RpdmF0ZTpBLGlzTW9iaWxlVG91Y2g6RCxnZXRJdGVtSWQ6eixpc0Rpc2Nsb3N1cmVPcGVuZWQ6Rixpc0hpZ2hsaWdodGVkOkgsY2xvc2VEaXNjbG9zdXJlOlB9PSgwLGkudXNlVGFic01haW5IYW5kbGVycykoYy5UYWJOYW1lcy5Sb3VuZEJ1dHRvblRhYnMsZSx7aXNSdGw6cy5pc1J0bCxzY3JvbGxJbnRvVmlld09wdGlvbnM6e2FkZGl0aW9uYWxTY3JvbGw6X30saXNSYWRpb0dyb3VwOncsZ2FwOl99KTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5JLGNsYXNzTmFtZTphKCkoKDAsaC5nZXRSb3VuZFRhYnNTY3JvbGxXcmFwQ2xhc3NOYW1lcykoe292ZXJmbG93QmVoYXZpb3VyOld9KSxmKSxzdHlsZTp7Li4uQywiLS11aS1saWItcm91bmRUYWJzLWdhcCI6YCR7X31weGB9LCJkYXRhLW5hbWUiOnh9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4uTyxjbGFzc05hbWU6KDAsaC5nZXRSb3VuZFRhYnNJbm5lcldyYXBDbGFzc05hbWVzKSh7YWxpZ246ZyxvdmVyZmxvd0JlaGF2aW91cjpXfSl9LGsubWFwKChlPT5vLmNyZWF0ZUVsZW1lbnQodS5Sb3VuZFRhYkJ1dHRvbix7Li4uUihlKSxrZXk6ZS5pZCxpdGVtOmUsb25DbGljazooKT0+QShlKSx2YXJpYW50OnYsc2l6ZTpiLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk4sZGlzYWJsZUZvY3VzT3V0bGluZTpELHJlZmVyZW5jZTpNKHooZSkpLC4uLmUuZGF0YUlkJiZ7CiJkYXRhLWlkIjplLmRhdGFJZH0sImFyaWEtY29udHJvbHMiOnl9KSkpLEIubWFwKChlPT5vLmNyZWF0ZUVsZW1lbnQodS5Sb3VuZFRhYkJ1dHRvbix7Li4uUihlKSxrZXk6ZS5pZCxpdGVtOmUsdmFyaWFudDp2LHNpemU6YixyZWZlcmVuY2U6TSh6KGUpKSwiYXJpYS1jb250cm9scyI6eSxmYWtlOiEwfSkpKSxvLmNyZWF0ZUVsZW1lbnQoZC5Db2xsYXBzZWRSb3VuZFRhYnNEaXNjbG9zdXJlLHtkaXNhYmxlZDpyLGlzT3BlbmVkOkYsaXRlbXM6QixidXR0b25UZXh0Om0sYnV0dG9uUHJlc2V0OnAsYnV0dG9uUmVmOlMsaXNIaWdobGlnaHRlZDpILG9uQnV0dG9uQ2xpY2s6RSxvbkl0ZW1DbGljazpULG9uQ2xvc2U6UCx2YXJpYW50OnYsc2l6ZTpiLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk4sZGlzYWJsZUZvY3VzT3V0bGluZTpELGZha2U6MD09PUIubGVuZ3RofSksdCkpfX0sMTAzNTkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFJvdW5kVGFic0dhcDooKT0+aSxnZXRSb3VuZFRhYnNJbm5lcldyYXBDbGFzc05hbWVzOigpPT5zLGdldFJvdW5kVGFic1Njcm9sbFdyYXBDbGFzc05hbWVzOigpPT5sfSk7dmFyIG89big5MTQ0ODcpLHI9bi5uKG8pLGE9big0NzgzOSk7ZnVuY3Rpb24gbChlKXtjb25zdHtvdmVyZmxvd0JlaGF2aW91cjp0fT1lO3JldHVybiByKCkoYS5zY3JvbGxXcmFwLCJzY3JvbGwiPT09dCYmYS5vdmVyZmxvd1Njcm9sbCwid3JhcCI9PT10JiZhLm92ZXJmbG93V3JhcCl9ZnVuY3Rpb24gcyhlKXtjb25zdHthbGlnbjp0PSJzdGFydCJ9PWU7cmV0dXJuIHIoKShhLnJvdW5kVGFicyxhW3RdKX1mdW5jdGlvbiBpKGU9InhzbWFsbCIpe3N3aXRjaChlKXtjYXNlInNtYWxsIjpyZXR1cm4gODtjYXNlInhzbWFsbCI6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMTZ9fX0sMTk5MTcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRNZW51U3VtbWFyeTooKT0+c30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oNzYxMDkzKTtmdW5jdGlvbiBzKGUpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkoZS5jbGFzc05hbWUsbC50aXRsZSl9LGUuY2hpbGRyZW4pfX0sNzIxOTEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvdW50ZXI6KCk9PmR9KTt2YXIgbyxyLGEsbD1uKDkxNDQ4Nykscz1uLm4obCksaT1uKDc3OTQ3NCksYz1uKDM2Mjc5MyksdT1uLm4oYyk7ZnVuY3Rpb24gZChlKXtjb25zdHtjbGFzc05hbWU6dCxjb3VudDpuLGNvbXBhY3Q6bz0hMCxzaXplOnI9InhsYXJnZSIsY29sb3I6YT0iZGFuZ2VyIixzaWduOmwsYm9yZGVyQ29sb3I6Yz0ibm9uZSIsImFyaWEtbGFiZWwiOmQsImFyaWEtaGlkZGVuIjpoLGRpc2FibGVkOm0sLi4ucH09ZSxmPXA7bGV0IGI7Yj0hKCJ4eHNtYWxsIj09PXJ8fCJ4eHhzbWFsbCI9PT1yKSYmbj9vJiZuPj0xMDA/Ijk5KyI6bCYmbj4wP2ArJHtufWA6bjoiIjtjb25zdCB2PXMoKSh0LHUoKS5jb3VudGVyLHUoKVtyXSx1KClbYGNvbG9yLSR7YX1gXSwibm9uZSIhPT1jJiZ1KClbYGJvcmRlckNvbG9yLSR7Y31gXSxtJiZ1KCkuZGlzYWJsZWQpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5mLGNsYXNzTmFtZTp2LHJvbGU6dm9pZCAwIT09ZD8iaW1nIjp2b2lkIDAsImFyaWEtbGFiZWwiOmQsImFyaWEtaGlkZGVuIjpofSxiKX0hZnVuY3Rpb24oZSl7ZS5YWFhTbWFsbD0ieHh4c21hbGwiLGUuWFhTbWFsbD0ieHhzbWFsbCIsZS5YU21hbGw9InhzbWFsbCIsZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIixlLlhMYXJnZT0ieGxhcmdlIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLkRhbmdlcj0iZGFuZ2VyIixlLkFjY2VudD0iYWNjZW50IixlLkFjY2VudExpZ2h0PSJhY2NlbnQtbGlnaHQiLGUuTmV1dHJhbEJvbGQ9Im5ldXRyYWwtYm9sZCIsZS5OZXV0cmFsPSJuZXV0cmFsIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU2Vjb25kYXJ5PSJzZWNvbmRhcnkiLGUuVGVydGlhcnk9InRlcnRpYXJ5IixlLk5vbmU9Im5vbmUifShhfHwoYT17fSkpfSw3NjM1NDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29tcG9zZWRLZXlib2FyZEFjdGlvbkhhbmRsZXJzOigpPT5zLHVzZUtleWJvYXJkQWN0aW9uSGFuZGxlcjooKT0+bCx1c2VLZXlib2FyZENsb3NlOigpPT51LHVzZUtleWJvYXJkRXZlbnRIYW5kbGVyOigpPT5pLHVzZUtleWJvYXJkT3BlbjooKT0+ZCx1c2VLZXlib2FyZFRvZ2dsZTooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oMjM1NzI0KTtjb25zdCBhPSgpPT4hMDtmdW5jdGlvbiBsKGUsdCxuPWEscil7cmV0dXJuKDAsby51c2VDYWxsYmFjaykoKG89PntpZihyKXtpZigiaG9yaXpvbnRhbCI9PT1yJiYoNDA9PT1vfHwzOD09PW8pKXJldHVybjtpZigidmVydGljYWwiPT09ciYmKDM3PT09b3x8Mzk9PT1vKSlyZXR1cm59Y29uc3QgYT1lLm1hcCgoZT0+ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZSgpOmUpKTtyZXR1cm4hKCFuKG8pfHwhYS5pbmNsdWRlcyhvKSkmJih0KG8pLCEwKX0pLFsuLi5lLHQsbl0pfWZ1bmN0aW9uIHMoLi4uZSl7cmV0dXJuKDAsby51c2VDYWxsYmFjaykoKHQ9Pntmb3IoY29uc3QgbiBvZiBlKWlmKG4odCkpcmV0dXJuITA7cmV0dXJuITF9KSxbLi4uZV0pfWZ1bmN0aW9uIGkoZSx0PSEwLG49ITEpe2NvbnN0IGE9cyguLi5lKTtyZXR1cm4oMCxvLnVzZUNhbGxiYWNrKSgoZT0+e2NvbnN0IG89YSgoMCxyLmhhc2hGcm9tRXZlbnQpKGUpKTtvJiZ0JiZlLnByZXZlbnREZWZhdWx0KCksbyYmbiYmZS5zdG9wUHJvcGFnYXRpb24oKX0pLFthXSl9ZnVuY3Rpb24gYyhlLHQ9ITApe3JldHVybiBsKFsxMywzMl0sZSwoZnVuY3Rpb24oZSl7aWYoMTM9PT1lKXJldHVybiB0O3JldHVybiEwfSkpfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gbChbOSwoMCxvLnVzZUNhbGxiYWNrKSgoKCk9PnIuTW9kaWZpZXJzLlNoaWZ0KzkpLFtdKSwyN10sdCwoMCxvLnVzZUNhbGxiYWNrKSgoKCk9PmUpLFtlXSkpfWZ1bmN0aW9uIGQoZSx0KXsKcmV0dXJuIGwoWzQwLDM4XSx0LCgwLG8udXNlQ2FsbGJhY2spKCgoKT0+IWUpLFtlXSkpfX0sOTAwODQxKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQsbixvLHIpe2Z1bmN0aW9uIGEocil7aWYoZT5yLnRpbWVTdGFtcClyZXR1cm47Y29uc3QgYT1yLnRhcmdldDt2b2lkIDAhPT1uJiZudWxsIT09dCYmbnVsbCE9PWEmJmEub3duZXJEb2N1bWVudD09PW8mJih0LmNvbnRhaW5zKGEpfHxuKHIpKX1yZXR1cm4gci5jbGljayYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYSwhMSksci5tb3VzZURvd24mJm8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixhLCExKSxyLnRvdWNoRW5kJiZvLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixhLCExKSxyLnRvdWNoU3RhcnQmJm8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsYSwhMSksKCk9PntvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixhLCExKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsYSwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsYSwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixhLCExKX19bi5kKHQse2FkZE91dHNpZGVFdmVudExpc3RlbmVyOigpPT5vfSl9LDIzNjc2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VPdXRzaWRlRXZlbnQ6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDYxNjMxMSksYT1uKDkwMDg0MSk7ZnVuY3Rpb24gbChlKXtjb25zdHtjbGljazp0LG1vdXNlRG93bjpuLHRvdWNoRW5kOmwsdG91Y2hTdGFydDpzLGhhbmRsZXI6aSxyZWZlcmVuY2U6Y309ZSx1PSgwLG8udXNlUmVmKShudWxsKSxkPSgwLG8udXNlUmVmKSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8wOm5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRpbWVzdGFtcCIpLnRpbWVTdGFtcCk7cmV0dXJuKDAsci51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXtjbGljazp0LG1vdXNlRG93bjpuLHRvdWNoRW5kOmwsdG91Y2hTdGFydDpzfSxvPWM/Yy5jdXJyZW50OnUuY3VycmVudDtyZXR1cm4oMCxhLmFkZE91dHNpZGVFdmVudExpc3RlbmVyKShkLmN1cnJlbnQsbyxpLGRvY3VtZW50LGUpfSksW3QsbixsLHMsaV0pLGN8fHV9fSwyMjc5NDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TWVudVdpZHRoQ29udGV4dDooKT0+b30pO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe3NldE1lbnVNYXhXaWR0aDohMX0pfSw4OTEyMDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3VibWVudUNvbnRleHQ6KCk9PnIsU3VibWVudUhhbmRsZXI6KCk9PmF9KTt2YXIgbz1uKDc3OTQ3NCk7Y29uc3Qgcj1vLmNyZWF0ZUNvbnRleHQobnVsbCk7ZnVuY3Rpb24gYShlKXtjb25zdFt0LG5dPSgwLG8udXNlU3RhdGUpKG51bGwpLGE9KDAsby51c2VSZWYpKG51bGwpLGw9KDAsby51c2VSZWYpKG5ldyBNYXApO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9PigpPT57bnVsbCE9PWEuY3VycmVudCYmY2xlYXJUaW1lb3V0KGEuY3VycmVudCl9KSxbXSksby5jcmVhdGVFbGVtZW50KHIuUHJvdmlkZXIse3ZhbHVlOntjdXJyZW50OnQsc2V0Q3VycmVudDpmdW5jdGlvbihlKXtudWxsIT09YS5jdXJyZW50JiYoY2xlYXJUaW1lb3V0KGEuY3VycmVudCksYS5jdXJyZW50PW51bGwpO251bGw9PT10P24oZSk6YS5jdXJyZW50PXNldFRpbWVvdXQoKCgpPT57YS5jdXJyZW50PW51bGwsbihlKX0pLDEwMCl9LHJlZ2lzdGVyU3VibWVudTpmdW5jdGlvbihlLHQpe3JldHVybiBsLmN1cnJlbnQuc2V0KGUsdCksKCk9PntsLmN1cnJlbnQuZGVsZXRlKGUpfX0saXNTdWJtZW51Tm9kZTpmdW5jdGlvbihlKXtyZXR1cm4gQXJyYXkuZnJvbShsLmN1cnJlbnQudmFsdWVzKCkpLnNvbWUoKHQ9PnQoZSkpKX19fSxlLmNoaWxkcmVuKX19LDQxOTE4MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVEb21JZDooKT0+aSxqb2luRG9tSWRzOigpPT5jfSk7Y29uc3Qgbz0vXHMvZztmdW5jdGlvbiByKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZX1mdW5jdGlvbiBhKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJzdHJpbmciOnJldHVybiBlO2Nhc2UibnVtYmVyIjpjYXNlImJpZ2ludCI6cmV0dXJuIGUudG9TdHJpbmcoMTApO2Nhc2UiYm9vbGVhbiI6Y2FzZSJzeW1ib2wiOnJldHVybiBlLnRvU3RyaW5nKCk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS50cmltKCkubGVuZ3RoPjB9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5yZXBsYWNlKG8sIi0iKX1mdW5jdGlvbiBpKC4uLmUpe2NvbnN0IHQ9ZS5tYXAoYSkuZmlsdGVyKHIpLmZpbHRlcihsKS5tYXAocyk7cmV0dXJuKHQubGVuZ3RoPjAmJnRbMF0uc3RhcnRzV2l0aCgiaWRfIik/dDpbImlkIiwuLi50XSkuam9pbigiXyIpfWZ1bmN0aW9uIGMoLi4uZSl7cmV0dXJuIGUubWFwKGEpLmZpbHRlcihyKS5maWx0ZXIobCkuam9pbigiICIpfX0sODg2MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSA5YTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMHptNiAwYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMHptNCAyYTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNHoiLz48L3N2Zz4nfSw2MzE1NDEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTRhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwem04IDBhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwem01IDNhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCAPTO.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.499Z","timestamp":1785136905499,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCAPTO.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/24581.45df02181c4509732d20.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.297Z","timestamp":1785136901297,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/24581.45df02181c4509732d20.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-399\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b05ae22117f96a3ba8392c5fa6c618cf\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":921,"size_decoded":1137,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (921), with no line terminators","md5":"7508df616380d228cd815ae2f451930e","sha1":"85644755c1e5d7bcc3ab17ab37a76bd5f60ceffa","sha256":"98ef25505ae9dff3c961255429596f2ffdc5cf7a6eb679c08e5b2844c68e3332","sha512":"272814590c3e8b26149c112ef510d070c1cd5521cca4ef7e3bf4f28f663c19a2ff2b44912cd075b967d3ee6646cf5b2edb29bf7ade0ed8652f4b37a259b34a89","ssdeep":"","tlshash":"1711bd3c919dcb6ab4974b145240cfcf01bd2d10ab169fa7b2cc70328cc88ac1833823","first_seen":"2026-07-17T03:30:51.220732Z","last_seen":"2026-08-10T05:01:44.317101Z","times_seen":291,"resource_available":false,"data":"LmJveC1YZkdrQkJxZntib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjE4cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS5ib3gtWGZHa0JCcWYudW5jaGVja2VkLVhmR2tCQnFme2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH0uYm94LVhmR2tCQnFmLmNoZWNrZWQtWGZHa0JCcWYsLmJveC1YZkdrQkJxZi5taXhlZC1YZkdrQkJxZntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm94KTtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLW1hcmspfS51bmNoZWNrZWQtWGZHa0JCcWZ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyKX0uY2hlY2tlZC1YZkdrQkJxZiwubWl4ZWQtWGZHa0JCcWZ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm94KX0uZGlzYWJsZWQtWGZHa0JCcWZ7b3BhY2l0eTouNX0uY2hlY2tlZE1hcmstWGZHa0JCcWZ7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gNS41cHgpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDQuNXB4KX0ubWl4ZWRNYXJrLVhmR2tCQnFme2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6MTAwJTtoZWlnaHQ6NnB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDNweCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoNTAlIC0gM3B4KTt3aWR0aDo2cHh9"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/62600.6106356cb816fb74b17b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.329Z","timestamp":1785136901329,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/62600.6106356cb816fb74b17b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-146d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: eea6e42d84c35c0422baca93f33efe77\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5229,"size_decoded":2117,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5229), with no line terminators","md5":"d7ea1ec834cf91a040325bf4ce34f925","sha1":"0e34981976b5428933d87649f4e113d7b409a3b9","sha256":"fcd588160da6452887ebf4d1c522d196ea1fac8d17a58ed47e62f1f0d21b1e2d","sha512":"28eac8fd6dae3ee056842ef33367e88045ddcc76dca080bb2bd1525ba419a0b977c2a9355af008ed3a33c42e7e53add886ed268cd67340b988a14b8e4f33f9ea","ssdeep":"96:DxvxrXUfOCYwE/U8BfOfqFmn6w67T+Di1FuxgZcipAR/kESRLUUBNbkuuVIlkK/:XUo/vyqFmn6w67Cm10xgWKAR/kESRLUE","tlshash":"51b1eeb5f3c041bef413c71fb398bed803a79955ab2e9df8e025ba151a86fd52111388","first_seen":"2026-06-17T17:50:59.584306Z","last_seen":"2026-07-28T06:17:53.579026Z","times_seen":442,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtenhSbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLV8xLXp4Um46dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLV8yLXp4Um46dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC16eFJuOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tXzEtenhSbjp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tXzItenhSbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0ud3JhcHBlci1qV21NbTJWQXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MjE1cHg7cGFkZGluZy1pbmxpbmUtZW5kOjE1cHg7cG9zaXRpb246cmVsYXRpdmV9LnRpbWV6b25lLWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MThweDtwYWRkaW5nLXRvcDo0cHg7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAwJX0ubGFyZ2VQYWRkaW5nLWpXbU1tMlZBe3BhZGRpbmctdG9wOjhweH0uc2Vzc2lvbkRheVdyYXBwZXItaldtTW0yVkF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubm93V3JhcHBlci1qV21NbTJWQXtib3R0b206MDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjMwcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0ubm93V3JhcHBlci1qV21NbTJWQSAubm93LWpXbU1tMlZBe2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Ym90dG9tOi0xcHg7b3V0bGluZToxcHggdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkgc29saWQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDt3aWR0aDoxcHh9LnNlc3Npb25EYXktaldtTW0yVkF7YWxpZ24taXRlbXM6YmFzZWxpbmU7ZGlzcGxheTpmbGV4fS5zZXNzaW9uRGF5LWpXbU1tMlZBIC53ZWVrRGF5LWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjEwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctdG9wOjNweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2lkdGg6MzBweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2Vzc2lvbkRheVNlZ21lbnRzLWpXbU1tMlZBLC5zZXNzaW9uRGF5LWpXbU1tMlZBIC50aW1lTWFya1dyYXBwZXItaldtTW0yVkF7ZmxleDoxO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrV3JhcHBlci1qV21NbTJWQXtoZWlnaHQ6MTZweDttYXJnaW4tdG9wOjNweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2Vzc2lvbkRheVNlZ21lbnRzLWpXbU1tMlZBe2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDo3cHg7bWFyZ2luOjIwcHggMCAycHh9LnNlc3Npb25EYXktaldtTW0yVkE6Zmlyc3QtY2hpbGQgLnNlc3Npb25EYXlTZWdtZW50cy1qV21NbTJWQXttYXJnaW4tdG9wOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQXtjb250ZW50OiIiO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC50aW1lTWFya1NlZ21lbnQtaldtTW0yVkEgLnRpbWVNYXJrLWpXbU1tMlZBOmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLWVuZDo0cHh9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmtTZWdtZW50LWpXbU1tMlZBLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLWpXbU1tMlZBIC50aW1lTWFyay1qV21NbTJWQXtwYWRkaW5nOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6Zmlyc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6Zmlyc3QtY2hpbGQ6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmtTZWdtZW50LWpXbU1tMlZBLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLWpXbU1tMlZBIC50aW1lTWFyay1qV21NbTJWQTpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6bGFzdC1jaGlsZDpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkF7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMXB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10aW1lLW1hcmspO2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC5zZWdtZW50LWpXbU1tMlZBe2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2hlaWdodDoxMDAlO29wYWNpdHk6LjM7cGFkZGluZzowIDJweDtwb3NpdGlvbjphYnNvbHV0ZX0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQTpmaXJzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1zdGFydDowfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC5zZWdtZW50LWpXbU1tMlZBOmxhc3QtY2hpbGR7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnNlZ21lbnQtaldtTW0yVkE6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpmbGV4O2ZsZXg6MTtoZWlnaHQ6MTAwJTttaW4td2lkdGg6MXB4O3otaW5kZXg6MH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zbWFsbC1qV21NbTJWQXttYXJnaW4taW5saW5lLXN0YXJ0Oi0xcHg7cGFkZGluZzowO3otaW5kZXg6MX0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zdGFydC1qV21NbTJWQTpiZWZvcmV7Ym9yZGVyLXJhZGl1czowO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjRweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjRweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5lbmQtaldtTW0yVkE6YmVmb3Jle2JvcmRlci1yYWRpdXM6MDtib3JkZXItZW5kLWVuZC1yYWRpdXM6NHB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjRweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zdGFydC1qV21NbTJWQS5lbmQtaldtTW0yVkE6YmVmb3Jle2JvcmRlci1yYWRpdXM6NHB4fS5zZXNzaW9uRGF5LWpXbU1tMlZBLmFjdGl2ZS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQXtvcGFjaXR5OjF9LnNlc3Npb25EYXktaldtTW0yVkEuYWN0aXZlLWpXbU1tMlZBIC53ZWVrRGF5LWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS5ncmVlbi1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKX0uZ3JlZW4taldtTW0yVkE6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5vcmFuZ2UtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctZXh0cmEtYm9sZCl9Lm9yYW5nZS1qV21NbTJWQTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmJsdWUtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKX0uYmx1ZS1qV21NbTJWQTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LnB1cnBsZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0ucHVycGxlLWpXbU1tMlZBOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0uZ3JheS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpfS5ncmF5LWpXbU1tMlZBOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0udG9vbHRpcC1qV21NbTJWQXt3aGl0ZS1zcGFjZTpub3JtYWx9LnRvb2x0aXAtaldtTW0yVkEgLnRpbWUtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKTttYXJnaW4taW5saW5lLXN0YXJ0OjVweH0udG9vbHRpcC1qV21NbTJWQSAuZ3JlZW4taldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKX0udG9vbHRpcC1qV21NbTJWQSAuZ3JheS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0udG9vbHRpcC1qV21NbTJWQSAub3JhbmdlLWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKX0udG9vbHRpcC1qV21NbTJWQSAuYmx1ZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTMwMCl9LnRvb2x0aXAtaldtTW0yVkEgLnB1cnBsZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.89618.e8db19d81376d486e288.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.405Z","timestamp":1785136901405,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.89618.e8db19d81376d486e288.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a267ddb-15f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 08 Jun 2026 08:31:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/08/2026 10:13:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a360d34d940a118139e35c99b20519ba\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":351,"size_decoded":966,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (351), with no line terminators","md5":"846e435a133db84eb03e3413f477fb59","sha1":"4a30726e0dd97d7970d29e186394d5084ce62280","sha256":"dbfb0a54a4ac5aa54a0627d7183320ac1e11932f45a1b9b0fd3eb045d961c53f","sha512":"81cd04d2cc3522d75b2ac97f95540e5709fcf6db3becfaa513ba65a28ad252ed5e7242ef81861ea33e752ade52444aaaee1028e949b893e4207a076e31064b0c","ssdeep":"","tlshash":"bee0861fd071e9bc3f36864436619cd2b4a435d601f0c2c773c4ed40e0229ec1c4465c","first_seen":"2026-05-05T12:17:23.674052Z","last_seen":"2026-08-10T05:01:09.778745Z","times_seen":600,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4OTYxOF0sezQxNDAxOChlKXtlLmV4cG9ydHM9WyJDaGFydCBieSBUcmFkaW5nVmlldyJdfSwzMDA3ODgoZSl7ZS5leHBvcnRzPVsiQnkgVHJhZGluZ1ZpZXciXX0sNTE3NzIoZSl7ZS5leHBvcnRzPVsiYnkgVHJhZGluZ1ZpZXciXX0sNjE4MzU5KGUpe2UuZXhwb3J0cz1bInBvd2VyZWQgYnkiXX0sNjMzOTA2KGUpe2UuZXhwb3J0cz1bInBvd2VyZWQgYnkgVHJhZGluZ1ZpZXciXX0sMjk3OTQ4KGUpe2UuZXhwb3J0cz1bIntzeW1ib2x9IGZpbmFuY2lhbHMgYnkgVHJhZGluZ1ZpZXciXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52680.8efa6b4d998186f39cba.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.438Z","timestamp":1785136901438,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52680.8efa6b4d998186f39cba.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-ae3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a2cb4e2860b21cdd208b64d366f4df68\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2787,"size_decoded":1442,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2787), with no line terminators","md5":"b0b40767c8085628e53f188cb8827433","sha1":"dd4305af40e8132a6ffbe7ffa526b4443a209c2e","sha256":"e9b4d54c12d552fc8335e6ed145a9e61a5ae4a6b1415893daabfe8fde06952f3","sha512":"ca04e58582ad20de833d414362fea6b8f410a60267f11aa0863ce5c5b9952c123fd9d0bd2045651309ee607e9e956bbe87f419fbfb8c0b662c0772c6e36c0560","ssdeep":"","tlshash":"2b51ce84b24094bb7bb3f5798268b1ce6b249c3dddf23fc7b4aad14548d27e20194d25","first_seen":"2026-07-17T14:15:58.299653Z","last_seen":"2026-08-04T19:37:52.81208Z","times_seen":200,"resource_available":false,"data":"Lmljb25CdXR0b24tSEREVVlPQkl7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH0uaWNvbkJ1dHRvbi1IRERVWU9CSTpmb2N1c3tvdXRsaW5lOm5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaWNvbkJ1dHRvbi1IRERVWU9CSTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6YmVmb3Jle2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uc3F1YXJlLUhERFVZT0JJe2JvcmRlci1yYWRpdXM6NHB4fS5zcXVhcmUtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo4cHh9LnJvdW5kLUhERFVZT0JJe2JvcmRlci1yYWRpdXM6MTJweH0ucm91bmQtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxNnB4fS5wcmltYXJ5LUhERFVZT0JJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wcmltYXJ5LUhERFVZT0JJOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWljb25CdXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSl9LnByaW1hcnktSEREVVlPQkk6aG92ZXIgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5wcmltYXJ5LUhERFVZT0JJIC5pY29uLUhERFVZT0JJe2NvbG9yOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCkpfS5zZWNvbmRhcnktSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1IRERVWU9CSTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCkpfS5zZWNvbmRhcnktSEREVVlPQkk6aG92ZXIgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5zZWNvbmRhcnktSEREVVlPQkkgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0LHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSl9LnRlcnRpYXJ5LUhERFVZT0JJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50ZXJ0aWFyeS1IRERVWU9CSTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCkpfS50ZXJ0aWFyeS1IRERVWU9CSTpob3ZlciAuaWNvbi1IRERVWU9CSXtjb2xvcjp2YXIoLS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpKX19LnRlcnRpYXJ5LUhERFVZT0JJIC5pY29uLUhERFVZT0JJe2NvbG9yOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCkpfS5wcmltYXJ5LXNwZWNpYWwtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGUpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpbWFyeS1zcGVjaWFsLUhERFVZT0JJOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWljb25CdXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ib2xkKSl9LnByaW1hcnktc3BlY2lhbC1IRERVWU9CSTpob3ZlciAuaWNvbi1IRERVWU9CSXtjb2xvcjp2YXIoLS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5wcmltYXJ5LXNwZWNpYWwtSEREVVlPQkkgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0LHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.935Z","timestamp":1785136900935,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99527.15c5c25d27a56a0df772.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: e6cf4671f3ca07bc9c30e71b5fddde2b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103264,"size_decoded":14015,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"3ae28448cb02ee3491028f82c9e212b5","sha1":"840f868063e33818424634685f83f5dc9c54fd85","sha256":"6d8af262e85da3952f96074c40841361fe81de28292a6654a4b6a5c8c0d9a1b6","sha512":"615657ad93d0166da77c83a566e60f1d4002b7a4a1c811227c935f2a4ea91b16e01893aba5c708e2a1b40c39c6e773c08d99e62560bcc1c8df301a3b9f1b3821","ssdeep":"768:ywlwokCcAfM0x/2bcVtmUK6ogvY0FGhgiU4vWQs/WQ2das9:oIVtmUK6ouY0FGhgi1vjs/WQ2day","tlshash":"dea335bcf95192bb5e9b587f4398f6697648f943fd066f86bf00c00020c6ee710e5a5a","first_seen":"2026-04-20T12:30:34.890238Z","last_seen":"2026-08-10T08:00:01.097667Z","times_seen":6363,"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/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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.013Z","timestamp":1785136901013,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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 07:21:41 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: d79e99c8d4960eefbbe1ec4a66352213\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":4721,"size_decoded":3183,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"9f9984517a8cd65036faf42932513a8f","sha1":"05cac6f7fbc24daccaaefb92b34f6eecdc91d8d1","sha256":"597ae9e64dd837a96e9166ffeb016e0757a49f06719163620ea9c616bae3ea2a","sha512":"f122449c6f6d72c179c4a59ec669368d3caaf2e5fc59ab4dbe5a3b10c172380e9033fe19842cb0c81ba7ef956058ff787693678223786ed92f6f5188ca177f44","ssdeep":"96:S0yn+dFlV8m0eKoPnRuKfeYX1X45tTZkcdrEAUbNfBn3Codbrbth1o3I9dxKsbRN:S0yn+dFlV81YRuKWYXWhdrIBn3Pjh1Ag","tlshash":"faa1b6c630f770d673aa19e5813b0447f2be09d13a0b96e5b4989cc938750167a63fac","first_seen":"2026-07-23T13:38:20.419582Z","last_seen":"2026-07-28T07:05:00.696213Z","times_seen":1428,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNzkyMDddLHs2NDA3NDQoZSx0LG4pe2Z1bmN0aW9uIG8oZSx0LG4pe3JldHVybiBNYXRoLm1pbihNYXRoLm1heChlLHQpLG4pfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBpKGUpe3JldHVybiBlJTI9PTB9bi5kKHQse2NsYW1wOigpPT5vLGlzRXZlbjooKT0+aSx0b0ludDooKT0+cn0pfSw0NzkzNChlLHQsbil7bi5kKHQse2VuYWJsZWQ6KCk9PnMsZ2V0Q29uZmlnOigpPT5jfSk7dmFyIG89big1MDI1ODcpLHI9bigxMjc3MTEpLGk9bigzMTg5NzQpLGw9bigyMTIyMjkpO2Z1bmN0aW9uIHMoZSx0LG4pe2xldCBvPXdpbmRvdy51c2VyO24mJihvPW4pO2NvbnN0IHI9YyhlLHQsbyk7aWYoIXIpcmV0dXJuITE7aWYoci5kaXNhYmxlX29uX3RyaWFsJiYoIW98fG8uaXNfdHJpYWwpKXJldHVybiExO2NvbnN0IGw9ci5kaXNhYmxlX29uX2xpdGVfcGxhbjtpZihsJiZvLmlzX2xpdGVfcGxhbil7aWYoImFsbCI9PT1sKXJldHVybiExO2lmKCJleGNsdWRlX21vYmlsZSI9PT1sJiYhaS5DaGVja01vYmlsZS5hbnkoKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9b1tlXTtyZXR1cm4gdD90LmV4dGVuZHM/T2JqZWN0LmFzc2lnbih7fSx1KHQuZXh0ZW5kcyksdCk6dDpudWxsfWZ1bmN0aW9uIGMoZSx0LG4pe2xldCBvPXUodHx8KGZ1bmN0aW9uKGUpe2xldCB0PXdpbmRvdy51c2VyOyJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cudXNlciYmKHQ9d2luZG93LnVzZXIpLGUmJih0PWUpO2xldCBuPXQ/LnByb19wbGFufHwiZnJlZSI7cmV0dXJuImZyZWUiIT09biYmISgwLGwuaXNUcmlhbFByb2R1Y3QpKG4pfHwobj0oMCxsLmdldFByb2R1Y3RGb3JUcmlhbCkobikpLG59KG4pPz8iIikpO2lmKCFvKXJldHVybiBudWxsO2NvbnN0IGk9d2luZG93LlRyYWRpbmdWaWV3Py53aWRnZXRDdXN0b21lcjtyZXR1cm4gaSYmcltpXSYmKG89T2JqZWN0LmFzc2lnbih7fSxvLHJbaV0pKSxvJiZvW2VdfHxudWxsfX0sODYyMjEzKGUsdCxuKXtuLmQodCx7TG9nb1NpemU6KCk9Pm8uTG9nb1NpemUsZ2V0TG9nb1VybFJlc29sdmVyOigpPT5hfSk7dmFyIG89big2MjAzNTQpLHI9bigxMzg2MzgpLGk9big2MzE2MzQpLGw9big4MTA0MSk7Y29uc3Qgcz0oMCxuKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiTG9nb1VybFJlc29sdmVyIik7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXsoMCxyLmFzc2VydCkoIiIhPT1lLCJTMyBiYXNlIHVybCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZyIpLHRoaXMuX2Jhc2VVcmw9ZX1nZXRTeW1ib2xMb2dvVXJsKGUsdCl7aWYoIiI9PT1lKXJldHVybiBzLmxvZ1dhcm4oImxvZ28gaWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSwiIjtzd2l0Y2godCl7Y2FzZSBvLkxvZ29TaXplLk1lZGl1bTpyZXR1cm4gdGhpcy5fYmFzZVVybCtgJHtlfS5zdmdgO2Nhc2Ugby5Mb2dvU2l6ZS5MYXJnZTpyZXR1cm4gdGhpcy5fYmFzZVVybCtgJHtlfS0tYmlnLnN2Z2B9fWdldENvdW50cnlGbGFnVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiY291bnRyeS8iK2UsdCl9Z2V0UHJvdmlkZXJMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgicHJvdmlkZXIvIitlLHQpfWdldFNvdXJjZUxvZ29VcmwoZSx0KXtyZXR1cm4gdGhpcy5nZXRTeW1ib2xMb2dvVXJsKCJzb3VyY2UvIitlLHQpfWdldEJsb2NrY2hhaW5Db250cmFjdExvZ29VcmwoZSx0KXtyZXR1cm4gdGhpcy5nZXRTeW1ib2xMb2dvVXJsKCJibG9ja2NoYWluLyIrZSx0KX1nZXRDYW5kbGVzdGlja1BhdHRlcm5Mb2dvVXJsKGUsdD1sLlN0ZFRoZW1lLkxpZ2h0KXtyZXR1cm4gdGhpcy5nZXRTeW1ib2xMb2dvVXJsKGBjYW5kbGVwYXR0ZXJuLyR7ZX0tJHt0fWAsby5Mb2dvU2l6ZS5NZWRpdW0pfX1sZXQgYztmdW5jdGlvbiBhKCl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIWMpe2NvbnN0IGU9KDAsaS5nZXRJbml0RGF0YSkoKSx0PWUuc2V0dGluZ3M/ZS5zZXR0aW5ncy5TM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkw6IiI7Yz1uZXcgdSh0KX1yZXR1cm4gY30oKX19LDIzNDk2NChlLHQsbil7YXN5bmMgZnVuY3Rpb24gbyhlLHQpe2NvbnN0IG89YXdhaXQgUHJvbWlzZS5hbGwoW24uZSgyODgzMSksbi5lKDg0MzA2KSxuLmUoMjkyOTYpLG4uZSg1MjM5Niksbi5lKDYwMDYyKSxuLmUoMjAzNTQpLG4uZSgxMzQ5Miksbi5lKDM3NzQ2KSxuLmUoMTIzODUpLG4uZSg4MTA3Miksbi5lKDk0MjMyKSxuLmUoMTk1OTUpLG4uZSgxOTc4Nyksbi5lKDg1NzkpLG4uZSgxNzA4Nyksbi5lKDU3MzAwKSxuLmUoMTIwNTEpLG4uZSg4OTU1OCksbi5lKDEwMzY2KSxuLmUoNDA5MTQpLG4uZSg5MDk2MCksbi5lKDg3NzQwKSxuLmUoNzg4OTkpLG4uZSg2NzIxMiksbi5lKDgwOTE1KSxuLmUoMTUzNCksbi5lKDI4MTc2KSxuLmUoMzk2MDkpLG4uZSg1NTIyOSksbi5lKDY1MTAwKSxuLmUoNDI3MDYpXSkudGhlbihuLmJpbmQobiw1MDYyNzUpKTtyZXR1cm4gby5zaG93U2ltcGxlRGlhbG9nKGUsby53YXJuaW5nTW9kdWxlLHQpfW4uZCh0LHtzaG93V2FybmluZzooKT0+b30pfSw2MTk5OTIoZSx0LG4pe24uZCh0LHtpc1RpY2tzRW5hYmxlZDooKT0+cn0pO3ZhciBvPW4oMzE4OTc0KTtuKDkzMDIzMSk7ZnVuY3Rpb24gcigpe3JldHVybiEoMCxvLm9uV2lkZ2V0KSgpfX0sMjEyMjI5KGUsdCxuKXtuLmQodCx7Z2V0UHJvZHVjdEZvclRyaWFsOigpPT5pLGlzVHJpYWxQcm9kdWN0OigpPT5yfSk7big4MjkxODApLG4oMTg1MjcxKTtjb25zdCBvPSJfdHJpYWwiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIG5ldyBSZWdFeHAobysiJCIpLnRlc3QoZSl9ZnVuY3Rpb24gaShlKXtyZXR1cm4gZS5zcGxpdChvKVswXX19LDIyMTA2MShlLHQsbil7dmFyIG87bi5kKHQse2dldExvZ0hpc3Rvcnk6KCk9PmIsZ2V0TG9nZ2VyOigpPT5SLGdldFJhd0xvZ0hpc3Rvcnk6KCk9PmYsaXNIaWdoUmF0ZUVuYWJsZWQ6KCk9PmR9KSwKZnVuY3Rpb24oZSl7ZVtlLkVSUk9SPTFdPSJFUlJPUiIsZVtlLldBUk5JTkc9Ml09IldBUk5JTkciLGVbZS5JTkZPPTNdPSJJTkZPIixlW2UuTk9STUFMPTRdPSJOT1JNQUwiLGVbZS5ERUJVRz01XT0iREVCVUcifShvfHwobz17fSkpO2xldCByPTA7Y29uc3QgaT1bXTtsZXQgbD1udWxsLHM9bnVsbCx1PW51bGwsYz1udWxsLGE9by5XQVJOSU5HLGc9ITE7ZnVuY3Rpb24gZCgpe3JldHVybiBnfWZ1bmN0aW9uIGYoZSx0KXtsZXQgbj1pLnJlZHVjZSgoKGUsdCk9PmUuY29uY2F0KHQpKSxbXSk7cmV0dXJuIG4uc29ydCgoKGUsdCk9PmUuaWQtdC5pZCkpLHZvaWQgMCE9PXQmJihuPW4uZmlsdGVyKChlPT5lLnN1YlN5c3RlbUlkPT09dCkpKSwibnVtYmVyIj09dHlwZW9mIGUmJihuPW4uc2xpY2UoLWUpKSxufWZ1bmN0aW9uIG0oZSl7cmV0dXJuIG5ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpKyI6IitlLnN1YlN5c3RlbUlkKyI6IitlLm1lc3NhZ2UucmVwbGFjZSgvIi9nLCInIil9Y29uc3QgYj0oZSx0KT0+ZnVuY3Rpb24oZSx0KXtsZXQgbixvPTAscj0wO2ZvcihuPWUubGVuZ3RoLTE7bj49MSYmKG8rPTgqKDErZW5jb2RlVVJJQ29tcG9uZW50KGVbbl0pLmxlbmd0aCksIShuLTE+MCYmKHI9OCooMStlbmNvZGVVUklDb21wb25lbnQoZVtuLTFdKS5sZW5ndGgpLG8rcj50KSkpO24tLSk7cmV0dXJuIGUuc2xpY2Uobil9KGYoZSx0KS5tYXAobSksNzU0OTc0NzIpO2Z1bmN0aW9uIGgoZSx0LG4saSxnKXtpZih0PT09cyYmaS5pZD09PXUpcmV0dXJuO2NvbnN0IGY9bmV3IERhdGU7aWYoZTw9by5OT1JNQUwmJmZ1bmN0aW9uKGUsdCxuLG8saSxsKXsiZnVuY3Rpb24iPT10eXBlb2Ygc3RydWN0dXJlZENsb25lJiYodD1zdHJ1Y3R1cmVkQ2xvbmUodCkpLHQ9dC5zbGljZSgwLGw/PzFlMyk7Y29uc3Qgcz17aWQ6cixtZXNzYWdlOnQsc3ViU3lzdGVtSWQ6byx0aW1lc3RhbXA6TnVtYmVyKGUpfTtyKz0xLG4ucHVzaChzKSx2b2lkIDAhPT1pJiZuLmxlbmd0aD5pJiZuLnNwbGljZSgwLDEpfShmLHQsbixpLmlkLGkubWF4Q291bnQsZyksZTw9YSYmKCFpLmhpZ2hSYXRlfHxkKCkpJiYoIWx8fGkuaWQubWF0Y2gobCkpKXtjb25zdCBuPWYudG9JU09TdHJpbmcoKSsiOiIraS5pZCsiOiIrdDtzd2l0Y2goZSl7Y2FzZSBvLkRFQlVHOmNvbnNvbGUuZGVidWcobik7YnJlYWs7Y2FzZSBvLklORk86Y2FzZSBvLk5PUk1BTDppLmNvbG9yP2NvbnNvbGUubG9nKCIlYyIrbiwiY29sb3I6ICIraS5jb2xvcik6Y29uc29sZS5sb2cobik7YnJlYWs7Y2FzZSBvLldBUk5JTkc6Y29uc29sZS53YXJuKG4pO2JyZWFrO2Nhc2Ugby5FUlJPUjpjb25zb2xlLmVycm9yKG4pfXM9dCx1PWkuaWQsbnVsbCE9PWMmJmNsZWFyVGltZW91dChjKSxjPXNldFRpbWVvdXQoKCgpPT57cz1udWxsLHU9bnVsbCxjPW51bGx9KSwxZTMpfX1mdW5jdGlvbiBSKGUsdD17fSl7Y29uc3Qgbj1bXTtpLnB1c2gobik7Y29uc3Qgcj1PYmplY3QuYXNzaWduKHQse2lkOmV9KTtmdW5jdGlvbiBsKGUpe3JldHVybih0LG8pPT5oKGUsU3RyaW5nKHQpLG4scixvKX1yZXR1cm57bG9nRGVidWc6bChvLkRFQlVHKSxsb2dFcnJvcjpsKG8uRVJST1IpLGxvZ0luZm86bChvLklORk8pLGxvZ05vcm1hbDpsKG8uTk9STUFMKSxsb2dXYXJuOmwoby5XQVJOSU5HKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCNEAR.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.458Z","timestamp":1785136905458,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCNEAR.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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.49677.098688b37f7855b4c79b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.243Z","timestamp":1785136901243,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.49677.098688b37f7855b4c79b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-32e7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 40c3d5e670c98c8e36cfca64580bbf59\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13031,"size_decoded":5445,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3051)","md5":"0f6776037f5de9e4c3f9207486f0f7b2","sha1":"783fbc6385122ea3c305de021a71b08abbb0fe13","sha256":"dce110ca579172bc1139100317015723ce296c628363106c1f5f2f4567c0ee5b","sha512":"cd35bafd0f45ba936b47aafdca6062140e335ebd2f5af9fe5de62b033302b464c56fadcd87e9ecef463689aaece2f2c72b8da59c89c1700df22b99c4bd4721fe","ssdeep":"192:gYx48+UxlRhelpk8aH7usVSBzl97rUv1sSM5jyHw8BedM3Mj45shOAlJH2Ew+41q:7+UXRheQl5Kzl98tm5jdhj45kJHlzN","tlshash":"4a42e917d100c2f60fb0e662b749edd1b6f8b09893f1e0c673998f689207d65a92d778","first_seen":"2026-07-22T16:00:00.332154Z","last_seen":"2026-07-28T06:17:53.586668Z","times_seen":141,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNzI5Miw0MjA5Niw0OTUwMSw0OTY3Nyw5NDk0N10sezIyOTAyNShlKXtlLmV4cG9ydHM9WyJDYm9lIE9uZSJdfSwzMDAyNzEoZSl7ZS5leHBvcnRzPVsie2V4Y2hhbmdlfSBieSB7b3JpZ2luYWxFeGNoYW5nZX0iXX0sMTY3OTEyKGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIGRpc2NsYWltZXIiXX0sMjQ0MTAoZSl7ZS5leHBvcnRzPVsiSGFwcHkgaG9saWRheXMsIHRyYWRlcnMiXX0sOTgxODcyKGUpe2UuZXhwb3J0cz1bIkxldCBpdCBzbm93Il19LDQ4OTIwMChlKXtlLmV4cG9ydHM9WyJTdG9wIHRoZSBzbm93Il19LDMwNTA1NShlKXtlLmV4cG9ydHM9WyJTaG93IG9iamVjdCB0cmVlIl19LDEwOTYwMShlKXtlLmV4cG9ydHM9WyJMZWFybiBtb3JlIl19LDEzODE4MChlKXtlLmV4cG9ydHM9WyJTZWUgcmV2aWV3cyJdfSw4OTQyMjEoZSl7ZS5leHBvcnRzPVsiQ29udGludW91cyBmdXR1cmVzIGNvbnRyYWN0cyJdfSwyNzE3ODgoZSl7ZS5leHBvcnRzPVsiQ29udHJhY3QgZXhwaXJlZCJdfSw1MjYxNzQoZSl7ZS5leHBvcnRzPVsiQmxhbmsgY2hlY2sgY29tcGFueSJdfSwzMzM4ODQoZSl7ZS5leHBvcnRzPVsiRGVmYXVsdGVkIGJvbmQiXX0sNTY4NTUxKGUpe2UuZXhwb3J0cz1bIkRlbGlzdGVkIl19LDc1NjgwNihlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCBhbGVydCJdfSwxNjM4MDYoZSl7ZS5leHBvcnRzPVsiRGVyaXZlZCBEYXRhIl19LDQxNzkxKGUpe2UuZXhwb3J0cz1bIkhhbGFsIHN5bWJvbCJdfSw4MzYxMjMoZSl7ZS5leHBvcnRzPVsiU3ludGhldGljIHN5bWJvbCJdfSwxMTk1KGUpe2UuZXhwb3J0cz1bIlVwY29taW5nIElQTyJdfSwyMzIxNDkoZSl7ZS5leHBvcnRzPVsiUmVhbC10aW1lIGRhdGEgZm9yIHtzeW1ib2xOYW1lfSJdfSw0MDkwMTkoZSl7ZS5leHBvcnRzPVsiaXMgcHJvdmlkZWQgYnkge2V4Y2hhbmdlfSBleGNoYW5nZS4iXX0sOTAwNDI1KGUpe2UuZXhwb3J0cz1bIkdvIHRoZXJlIG5vdyJdfSwyOTQ2MTgoZSl7ZS5leHBvcnRzPVsiT3BlbmVkIGluIFBpbmUgRWRpdG9yIl19LDc3NDI4KGUpe2UuZXhwb3J0cz1bIk9wZW5lZCBpbiBib3R0b20gcGFuZWwiXX0sOTkyNjM2KGUpe2UuZXhwb3J0cz1bIkxlYXJuIG1vcmUiXX0sNDczNDI1KGUpe2UuZXhwb3J0cz1bIkRhdGEgaXMgZGVsYXllZCJdfSw0MzU3NTAoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIHNlbGVjdGVkIHN5bWJvbHM/Il19LDgyNjg3MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgYWxsIHN5bWJvbHM/Il19LDQxNzE5MShlKXtlLmV4cG9ydHM9WyJVbmZsYWcgc2VsZWN0ZWQgc3ltYm9scz8iXX0sMzA5MzMoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDEwOChlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sODM1OTM3KGUpe2UuZXhwb3J0cz1bIlVuZmxhZyJdfSwzNzE4MTUoZSl7ZS5leHBvcnRzPVsiT3BlbiBTdHJhdGVneSBSZXBvcnQiXX0sNjUxNjM4KGUpe2UuZXhwb3J0cz1bIk5ldyB3YXRjaGxpc3QgbmFtZSJdfSw4MTkxNjMoZSl7ZS5leHBvcnRzPVsiSW4gZnVuY3Rpb24iXX0sODg2MTMzKGUpe2UuZXhwb3J0cz1bIk9uIGJhciJdfSw4OTAwOShlKXtlLmV4cG9ydHM9WyJDb2xsYXBzZSBwYW5lIl19LDI3MjA3NChlKXtlLmV4cG9ydHM9WyJDb25uZWN0IHRvIG91ciByZWNvbW1lbmRlZCBicm9rZXIgdG8gdHJhZGUgdGhpcyBhbmQgb3RoZXIgc3ltYm9scy4iXX0sNDQxNzYwKGUpe2UuZXhwb3J0cz1bIkNvbm5lY3QgdG8gb3VyIHJlY29tbWVuZGVkIGV4Y2hhbmdlIHRvIHRyYWRlIHRoaXMgYW5kIG90aGVyIHN5bWJvbHMuIl19LDI2NjUoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHN5bWJvbCJdfSw0MjEyMShlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIl19LDU3MzM0NyhlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIHdpdGggZHJvcCBpY29uIl19LDYxNTIyMShlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIHdpdGggaGVhcnQgaWNvbiJdfSw3NjA1KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHN5bmNpbmcgd2l0aCBsZWFmIGljb24iXX0sOTIzOTA5KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHN5bmNpbmcgd2l0aCBwb28gaWNvbiJdfSw0NzkwNzgoZSl7ZS5leHBvcnRzPVsiQ2hhcnQgc3luY2luZyB3aXRoIHJob21iIGljb24iXX0sMjg4NTgwKGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHZhbHVlcyJdfSwxODMxMzIoZSl7ZS5leHBvcnRzPVsiQ2hlY2sgd2hhdCdzIG5ldyJdfSwzNDk1MDEoZSl7ZS5leHBvcnRzPVsiQ2xpY2sgaGVyZSB0byBsZWFybiBtb3JlIl19LDI5OTkyNihlKXtlLmV4cG9ydHM9WyJDcmVhdGUgYSBmcmVlIGFjY291bnQiXX0sMTQ2ODQoZSl7ZS5leHBvcnRzPVsiQ3lhbiJdfSw4MzkzOTAoZSl7ZS5leHBvcnRzPVsiQ3lhbiBsaXN0Il19LDUzMzc5OShlKXtlLmV4cG9ydHM9WyJBIG5ldyB2ZXJzaW9uIG9mIHRoaXMgc2NyaXB0IGlzIHJlYWR5IOKAlCBub3cgd2l0aCBuZXcgZmVhdHVyZXMgYW5kIGltcG9ydGFudCBidWcgZml4ZXMuIl19LDc1ODU0OShlKXtlLmV4cG9ydHM9WyJBY3RpdmUgc3RyYXRlZ3kiXX0sMjQ1ODcwKGUpe2UuZXhwb3J0cz1bIkFsZXJ0cyJdfSw4OTk3OShlKXtlLmV4cG9ydHM9WyJCYXIgY2hhbmdlIHZhbHVlcyJdfSw2MzgxKGUpe2UuZXhwb3J0cz1bIkJsdWUiXX0sNTczODA3KGUpe2UuZXhwb3J0cz1bIkJsdWUgbGlzdCJdfSw2ODI2NjkoZSl7ZS5leHBvcnRzPVsiR3JlZW4iXX0sNDU5NDAyKGUpe2UuZXhwb3J0cz1bIkdyZWVuIGxpc3QiXX0sMTQ4ODY1KGUpe2UuZXhwb3J0cz1bIkRvdWJsZSBjbGljayJdfSw5NTg5NTEoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHVuZmxhZyBhbGwgc3ltYm9scyBmcm9tIGFsbCB5b3VyIHdhdGNobGlzdHMuIl19LDQ5NTM2OShlKXtlLmV4cG9ydHM9WyJEb2luZyB0aGlzIHdpbGwgdW5mbGFnIHNlbGVjdGVkIHN5bWJvbHMgZnJvbSB5b3VyIHdhdGNobGlzdC4iXX0sMjI4MDQxKGUpe2UuZXhwb3J0cz1bIkRhdGEgZXJyb3IiXX0sMTg3MjcyKGUpewplLmV4cG9ydHM9WyJEYXRhIGlzIHVwZGF0ZWQgb25jZSBhIGRheS4iXX0sMjI3MDg4KGUpe2UuZXhwb3J0cz1bIkRhdGEgaXMgdXBkYXRlZCBvbmNlIGEgZGF5LiBUbyBnZXQgcmVhbC10aW1lIGRhdGEgZm9yIHtsaXN0ZWRFeGNoYW5nZX0sIHBsZWFzZSBidXkgdGhlIHJlYWwtdGltZSBkYXRhIHBhY2thZ2UuIl19LDIzMzkxMihlKXtlLmV4cG9ydHM9WyJEYXRhIGlzIHVwZGF0ZWQgb25jZSBwZXIgc2Vjb25kLCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHVwZGF0ZXMgb24gdGhlIG1hcmtldC4iXX0sODk1MzAwKGUpe2UuZXhwb3J0cz1bIkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIHBlciBzZWNvbmQsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJdfSw4MzE5ODgoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIHBhbmUiXX0sNzk3NDYwKGUpe2UuZXhwb3J0cz1bIkVuZCBvZiBkYXkgZGF0YSJdfSw4NDA4MyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSB0aW1lem9uZSJdfSw4NjM4NzcoZSl7ZS5leHBvcnRzPVsiRmlsbCBvdXQgRXhjaGFuZ2UgQWdyZWVtZW50cyJdfSwzMDgzOShlKXtlLmV4cG9ydHM9WyJGbGFnIHtzeW1ib2x9Il19LDcwNjQ4NihlKXtlLmV4cG9ydHM9WyJGbGFnIHN5bWJvbCJdfSw0MDQ1NDQoZSl7ZS5leHBvcnRzPVsiRnJvbSBvdXIgZmFtaWx5IHRvIHlvdXJzLCB3aXNoaW5nIHlvdSBhIG1lcnJ5IGZlc3RpdmUgc2Vhc29uLiJdfSw0NTc3NTAoZSl7ZS5leHBvcnRzPVsiSEtFWCBhbmQvb3IgYW55IHN1YnNpZGlhcmllcyBlbmRlYXZvdXIgdG8gZW5zdXJlIHRoZSBhY2N1cmFjeSBhbmQgcmVsaWFiaWxpdHkgb2YgdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ1dCBkbyBub3QgZ3VhcmFudGVlIGl0cyBhY2N1cmFjeSBvciByZWxpYWJpbGl0eSBhbmQgYWNjZXB0IG5vIGxpYWJpbGl0eSAod2hldGhlciBpbiB0b3J0IG9yIGNvbnRyYWN0IG9yIG90aGVyd2lzZSkgZm9yIGFueSBsb3NzIG9yIGRhbWFnZSBhcmlzaW5nIGZyb20gYW55IGluYWNjdXJhY2llcyBvciBvbWlzc2lvbnMuIl19LDczMjc3NihlKXtlLmV4cG9ydHM9WyJJbnZhbGlkIHN5bWJvbCJdfSw5MTkxMjEoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9yIGVycm9yIl19LDIwNDQ4OChlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgaW5wdXRzIl19LDQ0MzE5MihlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgdGl0bGVzIl19LDk3Mzk3MShlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgdmFsdWVzIl19LDI0MzU0MShlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3JzIHVwZGF0ZSJdfSwxNjUwNTIoZSl7ZS5leHBvcnRzPVsiSWYgeW91J2QgbGlrZSB7bGlzdGVkRXhjaGFuZ2V9IHJlYWwtdGltZSBkYXRhIHlvdSdsbCBuZWVkIHRvIGNvbXBsZXRlIGFuIEV4Y2hhbmdlIEFncmVlbWVudC4gRG9uJ3Qgd29ycnksIGl0IG9ubHkgdGFrZXMgYSBmZXcgY2xpY2tzIl19LDg0MTc5OShlKXtlLmV4cG9ydHM9WyJJc3N1ZSBXaXRoIEZsYWdnaW5nIl19LDMzMDc2MChlKXtlLmV4cG9ydHM9WyJPbmUgdXBkYXRlIHBlciBzZWNvbmQiXX0sMzYyOTYoZSl7ZS5leHBvcnRzPVsiT29wcy4gU29tZXRoaW5nIGhhcyBnb25lIHdyb25nIHdpdGggb25lIG9yIG1vcmUgb2YgeW91ciBpbmRpY2F0b3JzLiBDbGljayB0aGUgYXJyb3cgYnV0dG9uIHRvIHRoZSBsZWZ0IHRvIGV4cGFuZCB0aGUgaW5kaWNhdG9yIGxpc3QgYW5kIHNlZSBkZXRhaWxzLiJdfSw4Nzk2NjEoZSl7ZS5leHBvcnRzPVsiT29wcy4gU29tZXRoaW5nIGhhcyBnb25lIHdyb25nIHdpdGggb25lIG9yIG1vcmUgb2YgeW91ciBpbmRpY2F0b3JzLiBSZXNpemUgdGhlIHBhbmVzIHRvIHNlZSB0aGUgZGV0YWlscy4iXX0sMTQyNzU1KGUpe2UuZXhwb3J0cz1bIk9ibGlnYXRpb24gbm90IHBhaWQuIElzc3VlciBwYXltZW50cyBhcmUgb3ZlciBhIG1vbnRoIGxhdGUsIHRoaXMgaXMgZHVlIHRvIGNvdXBvbiBvciBwcmluY2lwYWwgZGVidC4iXX0sNjQxMTA5KGUpe2UuZXhwb3J0cz1bIk9wZW4gaW4gZWRpdG9yIl19LDE2NTM0MChlKXtlLmV4cG9ydHM9WyJPcGVuIG1hcmtldCBzdGF0dXMiXX0sOTU4MjcxKGUpe2UuZXhwb3J0cz1bIk9wZW5lZCBpbiBkZXRhY2hlZCBlZGl0b3IiXX0sOTcxMjgzKGUpe2UuZXhwb3J0cz1bIk9yYW5nZSJdfSw1MDYzMzAoZSl7ZS5leHBvcnRzPVsiT3JhbmdlIGxpc3QiXX0sNjE1NzgzKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCJdfSw1MjcwMjAoZSl7ZS5leHBvcnRzPVsiTGFzdCBkYXkgY2hhbmdlIHZhbHVlcyJdfSwzMjUxNTUoZSl7ZS5leHBvcnRzPVsiTGVhcm4gbW9yZSJdfSw4MTQwNTgoZSl7ZS5leHBvcnRzPVsiTW92ZSBwYW5lIGRvd24iXX0sMzA1ODgyKGUpe2UuZXhwb3J0cz1bIk1vdmUgcGFuZSB1cCJdfSwzOTQ5NDcoZSl7ZS5leHBvcnRzPVsiTW9yZSJdfSw1NTEzMzIoZSl7ZS5leHBvcnRzPVsiTWF4aW1pemUgY2hhcnQiXX0sNTUwNTU5KGUpe2UuZXhwb3J0cz1bIk1heGltaXplIHBhbmUiXX0sMTU5NDQzKGUpe2UuZXhwb3J0cz1bIk1hbmFnZSBwYW5lcyJdfSw5Njk0NDkoZSl7ZS5leHBvcnRzPVsiTWFya2V0IG9wZW4iXX0sODI5ODMoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGNsb3NlZCJdfSwxOTQzMDQoZSl7ZS5leHBvcnRzPVsiU2NyaXB0IHdpbGwgYmUgdXBkYXRlZCBmb3IgYWxsIGNoYXJ0cyBvZiB0aGlzIGxheW91dCJdfSwyNDE3MjIoZSl7ZS5leHBvcnRzPVsiU2Nyb2xsIHRvIHRoZSBsZWZ0Il19LDY2MDgxMChlKXtlLmV4cG9ydHM9WyJTY3JvbGwgdG8gdGhlIG1vc3QgcmVjZW50IGJhciJdfSw3MDgyMzMoZSl7ZS5leHBvcnRzPVsiU2Nyb2xsIHRvIHRoZSByaWdodCJdfSw1MDY5MTUoZSl7ZS5leHBvcnRzPVsiU2V0IHtjb2xvcn0gZmxhZyJdfSw5MzMxODQoZSl7ZS5leHBvcnRzPVsiU2VlIG1vcmUiXX0sNDM1MChlKXtlLmV4cG9ydHM9WyJTZWxlY3QgeW91ciBzdGFydCBwb2ludCJdfSw4ODI4MzkoZSl7ZS5leHBvcnRzPVsiU2VsZWN0IHlvdXIgc3RhcnQgcG9pbnQuIl19LDg5NzMwOShlKXtlLmV4cG9ydHM9WyJTaG93Il19LDI4ODI0NChlKXsKZS5leHBvcnRzPVsiU2hvdyBpbnRlcnZhbCBzZXR0aW5ncyJdfSwzMzM0MDcoZSl7ZS5leHBvcnRzPVsiU3R1ZHkgRXJyb3IiXX0sNDY5ODQxKGUpe2UuZXhwb3J0cz1bIlN0YWNrIHRyYWNlIGNvcGllZCB0byBjbGlwYm9hcmQiXX0sOTYxNjE0KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBncm91cCJdfSwyODg3MjUoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIHByaWNlIHNvdXJjZSJdfSw2ODc2MShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgdGl0bGUiXX0sNTQ2MzY5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbC9pbnRlcnZhbCBjaGFydCBzeW5jaW5nIl19LDk3Nzc3NihlKXtlLmV4cG9ydHM9WyJTeW50aGV0aWMgaW5zdHJ1bWVudHMgY29tYmluaW5nIGluZGl2aWR1YWwgY29udHJhY3RzLiBUaGUgMSEgY29udHJhY3QgcmVwcmVzZW50cyB0aGUgZnJvbnQtbW9udGggKG5lYXJlc3QgZXhwaXJhdGlvbikgd2hpbGUgdGhlIDIhIHJlcHJlc2VudHMgdGhlIHNlY29uZCBuZWFyZXN0IGV4cGlyYXRpb24uIl19LDE0ODkwKGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0Il19LDExNDQ0KGUpe2UuZXhwb3J0cz1bIlBhaWQgcGxhbnMgZmVhdHVyZSBmYXN0ZXIgZGF0YSB1cGRhdGVzLiJdfSw0ODcyMDAoZSl7ZS5leHBvcnRzPVsiUGluZSBjb2RlIGhhcyBnaG9zdGVkIl19LDY3Njc2OChlKXtlLmV4cG9ydHM9WyJQaW5rIl19LDk0MTk4NihlKXtlLmV4cG9ydHM9WyJQaW5rIGxpc3QiXX0sNDI4ODA5KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sNjcwOTIzKGUpe2UuZXhwb3J0cz1bIlB1cnBsZSJdfSw5MDc4NzQoZSl7ZS5leHBvcnRzPVsiUHVycGxlIGxpc3QiXX0sOTE1MTAwKGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSBkYXRhIGZvciB0aGlzIHN5bWJvbCBpcyBub3Qgc3VwcG9ydGVkIHJpZ2h0IG5vdy4gV2UgbWF5IHN1cHBvcnQgaXQgaW4gdGhlIGZ1dHVyZS4iXX0sOTYxOTI2KGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSBkYXRhIGZvciB7c3ltYm9sTmFtZX0gaXMgcHJvdmlkZWQgYnkge2V4Y2hhbmdlfSBleGNoYW5nZS4iXX0sNjU1MDQyKGUpe2UuZXhwb3J0cz1bIlJlZCJdfSwxNjU1MDEoZSl7ZS5leHBvcnRzPVsiUmVkIGxpc3QiXX0sNTA4NzQ5KGUpe2UuZXhwb3J0cz1bIlJlcG9ydCBpdCJdfSwyODE0NTMoZSl7ZS5leHBvcnRzPVsiUmVwbGF5IG1vZGUiXX0sNjcxODA5KGUpe2UuZXhwb3J0cz1bIlJlc3RvcmUgY2hhcnQiXX0sMjYwNTQ5KGUpe2UuZXhwb3J0cz1bIlJlc3RvcmUgcGFuZSJdfSw1NjY5NDgoZSl7ZS5leHBvcnRzPVsiV2F0Y2hsaXN0IGNhbm5vdCB0YWtlIGFueW1vcmUsIENhcCduIl19LDM4MjAyNShlKXtlLmV4cG9ydHM9WyJXYXRjaGxpc3QgZXJyb3IiXX0sNjQ1MjYzKGUpe2UuZXhwb3J0cz1bIldlIHRyaWVkIHRvIGdyYWIgdGhlIHNvdXJjZSBjb2RlLCBidXQgaXQgd2Fzbid0IHRoZXJlLiBNYXliZSBpdCdzIGJlZW4gbW92ZWQsIGRlbGV0ZWQsIG9yIGlzIGp1c3QgaGlkaW5nLiBHaXZlIGl0IGFub3RoZXIgZ28gbGF0ZXIhIl19LDMyODgyOChlKXtlLmV4cG9ydHM9WyJXaG9hIHRoZXJlLCB5b3UgY2FuJ3QgZ28gYWRkaW5nIG92ZXIge251bWJlcn0gc3ltYm9scyBhbmQgc2VwYXJhdG9ycyB0byBhIHdhdGNobGlzdCDigJMgd2UncmUgZW5naW5lZXJzIG5vdCBtaXJhY2xlIHdvcmtlcnMuIl19LDY4Nzk1NChlKXtlLmV4cG9ydHM9WyJUbyBhY2Nlc3Mgb3Zlcm5pZ2h0IHRyYWRpbmcgcXVvdGVzIGZyb20gVVMgbWFya2V0cywgc3Vic2NyaWJlIHRvIEJsdWUgT2NlYW4gKG92ZXJuaWdodCBxdW90ZXMpLiJdfSwyMjA3MzgoZSl7ZS5leHBvcnRzPVsiVG8gZ2V0IHJlYWwtdGltZSBkYXRhIGZvciB7ZGVzY3JpcHRpb259LCBwbGVhc2UgYnV5IHRoZSByZWFsLXRpbWUgZGF0YSBwYWNrYWdlLiJdfSw1NDU4NChlKXtlLmV4cG9ydHM9WyJUaGUgc291cmNlIGNvZGUgaXMgY3VycmVudGx5IG9wZW4gaW4gUGluZSBFZGl0b3IuIl19LDgyOTQ0OChlKXtlLmV4cG9ydHM9WyJUaGUgc291cmNlIGNvZGUgaXMgY3VycmVudGx5IG9wZW4gaW4gZGV0YWNoZWQgUGluZSBFZGl0b3IuIl19LDgzNzI1KGUpe2UuZXhwb3J0cz1bIlRoZSBzb3VyY2UgY29kZSBpcyBjdXJyZW50bHkgb3BlbiBpbiB0aGUgYm90dG9tIHBhbmVsLiJdfSwxMzI1NjEoZSl7ZS5leHBvcnRzPVsiVGhpcyBhc3NldCB3aWxsIGJlIGxpc3RlZCBzb29uLiBMaXZlIGRhdGEgd2lsbCBiZSBhdmFpbGFibGUgb25jZSB0cmFkaW5nIGJlZ2lucy4gVW50aWwgdGhlbiwgeW91IGNhbiBleHBsb3JlIGZ1bmRhbWVudGFsIGRhdGEuIl19LDQ2MzgyNShlKXtlLmV4cG9ydHM9WyJUaGlzIGRhdGEgaXMgcmVhbC10aW1lLCBidXQgaXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCB0byBpdHMgb2ZmaWNpYWwgY291bnRlcnBhcnQgY29taW5nIGZyb20gcHJpbWFyeSBleGNoYW5nZXMuIl19LDI4MjEzMShlKXtlLmV4cG9ydHM9WyJUaGlzIGRhdGEgaXMgcmVhbC10aW1lLCBidXQgaXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCB0byBpdHMgb2ZmaWNpYWwgY291bnRlcnBhcnQgY29taW5nIGZyb20ge2V4Y2hhbmdlfS4iXX0sNjMyMTI1KGUpe2UuZXhwb3J0cz1bIlRoaXMgaXMgYSBkZXZlbG9wbWVudGFsLXN0YWdlIGNvbXBhbnkgd2l0aCBubyBzZXQgYnVzaW5lc3MgcGxhbiwgb2Z0ZW4gZm9ybWVkIHRvIHJhaXNlIGZ1bmRzIGZvciBhIGZ1dHVyZSBtZXJnZXIgb3IgYWNxdWlzaXRpb24uIl19LDU3MzY4MihlKXtlLmV4cG9ydHM9WydUaGlzIGlzIGEgc2hhcmlhaC1jb21wbGlhbnQgYm9uZCwgb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgYSAic3VrdWssIiBtZWFuaW5nIHRoYXQgaXQgY29tcGxpZXMgd2l0aCBJc2xhbWljIGxhdyB0aGF0IHByb2hpYml0cyBpbnRlcmVzdC4gVW5saWtlIGNvbnZlbnRpb25hbCBib25kcywgd2hpY2ggaW52b2x2ZSBwYXlpbmcgaW50ZXJlc3QsIHN1a3VrIHJlcHJlc2VudCBvd25lcnNoaXAgaW4gYW4gdW5kZXJseWluZyBhc3NldCBvciBwcm9qZWN0IGFuZCBpbnZlc3RvcnMgZWFybiByZXR1cm5zIGJhc2VkIG9uIHByb2ZpdC1zaGFyaW5nIG9yIHJlbnRhbCBpbmNvbWUuJ119LDIzODAwNChlKXsKZS5leHBvcnRzPVsiVGhpcyBpcyBhIHNoYXJpYWgtY29tcGxpYW50IHN0b2NrLCBtZWFuaW5nIHRoYXQgaXQgZm9sbG93cyBJc2xhbWljIGxhdy4gVGhpcyBjb21wYW55IGRvZXMgbm90IGNoYXJnZSBvciByZWNlaXZlIGludGVyZXN0LCBhbmQgZG9lcyBub3QgZW5nYWdlIHdpdGggY2VydGFpbiBzZWN0b3JzIChnYW1ibGluZywgYWxjb2hvbCwgdG9iYWNjbywgcG9yayBwcm9kdWN0cykuIl19LDg5NDU1NihlKXtlLmV4cG9ydHM9WyJUaGlzIGlzIG5vIGxvbmdlciBwdWJsaWNseSB0cmFkaW5nIHNvIG5vIG5ldyBkYXRhIHdpbGwgYmUgYWRkZWQuIEJ1dCB5b3UgY2FuIGV4cGxvcmUgdGhlIGhpc3RvcmljYWxzIGhlcmUuIl19LDcxOTcxMShlKXtlLmV4cG9ydHM9WyJUaGlzIHJlYWwtdGltZSBkYXRhIGlzIHByb3ZpZGVkIGJ5IHtvcmlnaW5hbEV4Y2hhbmdlfSBleGNoYW5nZS4gSXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIHRoZSBvZmZpY2lhbCBkYXRhIGRpcmVjdGx5IGZyb20ge2V4Y2hhbmdlfS4gSWYgdGhpcyBkaWZmZXJlbmNlIGlzIGNydWNpYWwgZm9yIHlvdSwgeW91J2xsIG5lZWQgdG8gcHVyY2hhc2UgcmVhbC10aW1lIGRhdGEgZnJvbSB0aGUgcHJpbWFyeSBleGNoYW5nZSwgd2hpY2ggd2UgY2FuIGhlbHAgd2l0aC4iXX0sOTUyNTAwKGUpe2UuZXhwb3J0cz1bIlRoaXMgcmVmZXJzIHRvIGZpbmFuY2lhbCBpbmRpY2F0b3JzIHdoaWNoIGFyZSBjcmVhdGVkIGJ5IGNvbWJpbmluZyBhbmQvb3IgcHJvY2Vzc2luZyByYXcgZGF0YSBzdXBwbGllZCBmcm9tIHZhcmlvdXMgc291cmNlcy4iXX0sMzQ5MzMwKGUpe2UuZXhwb3J0cz1bIlRoaXMgc3RyYXRlZ3kncyB0cmFkZXMgYXJlIGRpc3BsYXllZCBvbiB0aGUgY2hhcnQuIl19LDY5MjYxNShlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBkb2Vzbid0IGV4aXN0LCBwbGVhc2UgcGljayBhbm90aGVyIG9uZS4iXX0sNjI4NTUzKGUpe2UuZXhwb3J0cz1bIlRoaXMgc3ltYm9sIGlzIGNhbGN1bGF0ZWQgYnkgVHJhZGluZ1ZpZXcgdXNpbmcgdGhlIHJhdGUgZnJvbSBvdGhlciBleGNoYW5nZXMuIl19LDU1OTU4MyhlKXtlLmV4cG9ydHM9WyJUcmFkZSB7c3ltYm9sTmFtZX0gd2l0aCB7YnJva2VyTmFtZX0iXX0sNTk3OTQoZSl7ZS5leHBvcnRzPVsiVVMgbWFya2V0cyBvdmVybmlnaHQgcXVvdGVzIl19LDg2MDcyMihlKXtlLmV4cG9ydHM9WyJVbmFibGUgdG8gZmxhZyBhbGwgc2VsZWN0ZWQgc3ltYm9scyBzaW5jZSBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIGFtb3VudCAoe2xpbWl0fSkuIl19LDMzMjc1MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgQWxsIFN5bWJvbHMgaW4gdGhlIFN5c3RlbSJdfSwzNzUxNjUoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIHN5bWJvbCJdfSw2OTIxKGUpe2UuZXhwb3J0cz1bIlVuZmxhZyB7c3ltYm9sfSJdfSwzNDYzKGUpe2UuZXhwb3J0cz1bIlVwZGF0ZSBvbiBhbGwgY2hhcnRzIl19LDEwNzg3MChlKXtlLmV4cG9ydHM9WyJVcGRhdGUgYXZhaWxhYmxlIl19LDU4MTM4OChlKXtlLmV4cG9ydHM9WyJVcGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24iXX0sMjQ3MDYyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSJdfSw3OTUzMzAoZSl7ZS5leHBvcnRzPVsiWW91IG5lZWQgdG8gdXBkYXRlIG9uZSBvciBtb3JlIG9mIHlvdXIgaW5kaWNhdG9ycy4gQ2xpY2sgdGhlIGFycm93IGJ1dHRvbiB0byB0aGUgbGVmdCB0byBleHBhbmQgdGhlIGluZGljYXRvciBsaXN0IGFuZCBzZWUgZGV0YWlscy4iXX0sMzYxMDUoZSl7ZS5leHBvcnRzPVsiWW91IG5lZWQgdG8gdXBkYXRlIG9uZSBvciBtb3JlIG9mIHlvdXIgaW5kaWNhdG9ycy4gUmVzaXplIHRoZSBwYW5lcyBvciB0aGUgd2luZG93IHRvIHNlZSB0aGUgZGV0YWlscy4iXX0sNzYzNDUxKGUpe2UuZXhwb3J0cz1bIllvdSdyZSBpbiBSZXBsYXkgbW9kZS4gWW91J3JlIGluIFJlcGxheSBtb2RlLiBZb3UncmUgaW4gUmVwbGF5IG1vZGUuIl19LDQ4Nzg3NChlKXtlLmV4cG9ydHM9WyJab29tIGluIl19LDMxNDUzNChlKXtlLmV4cG9ydHM9WyJab29tIG91dCJdfSwxNzYyNDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIG9wZW4gbWFya2V0IHN0YXR1cyB2aXNpYmlsaXR5Il19LDM2Nzg2MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgYmFyIGNoYW5nZSB2aXNpYmlsaXR5Il19LDU2ODczMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgY2hhcnQgdmFsdWVzIHZpc2liaWxpdHkiXX0sMzIwNDI2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBpbmRpY2F0b3IgdGl0bGVzIHZpc2liaWxpdHkiXX0sMjE1MDI3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBpbmRpY2F0b3IgdmFsdWVzIHZpc2liaWxpdHkiXX0sMzM1MzMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvciBpbnB1dHMgdmlzaWJpbGl0eSJdfSwzMzU2ODIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGxhc3QgZGF5IGNoYW5nZSB2aXNpYmlsaXR5Il19LDU1NTY2NihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGRlc2NyaXB0aW9uIHZpc2liaWxpdHkiXX0sNjY4MTkyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBzeW1ib2wgZmllbGQgdmlzaWJpbGl0eSJdfSw1MjE2NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugdm9sdW1lIHZhbHVlcyB2aXNpYmlsaXR5Il19LDcyNTA5KGUpe2UuZXhwb3J0cz1bInNob3cge3RpdGxlfSJdfSw3MTg3NTcoZSl7ZS5leHBvcnRzPVsidXBkYXRlIGluZGljYXRvciB0byBsYXRlc3QgdmVyc2lvbiJdfSw0MTAxNDgoZSl7ZS5leHBvcnRzPVsidXBkYXRlIHt0aXRsZX0gc2NyaXB0Il19LDkxNDU1KGUpe2UuZXhwb3J0cz1bIntsaXN0ZWRFeGNoYW5nZX0gcmVhbC10aW1lIGRhdGEgaXMgYXZhaWxhYmxlIGZvciBmcmVlIHRvIHJlZ2lzdGVyZWQgdXNlcnMuIl19LDE2OTgzKGUpe2UuZXhwb3J0cz1bIkRvaW5nIHRoaXMgd2lsbCByZW1vdmUge2NvdW50fSBzZWxlY3RlZCBzeW1ib2wgZnJvbSB5b3VyIHdhdGNobGlzdC4iLCJEb2luZyB0aGlzIHdpbGwgcmVtb3ZlIHtjb3VudH0gc2VsZWN0ZWQgc3ltYm9scyBmcm9tIHlvdXIgd2F0Y2hsaXN0LiJdfSw3NzEzNTYoZSl7CmUuZXhwb3J0cz1bIkRhdGEgaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZCwgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSB1cGRhdGVzIG9uIHRoZSBtYXJrZXQuIiwiRGF0YSBpcyB1cGRhdGVkIG9uY2UgZXZlcnkge2Ftb3VudH0gc2Vjb25kcywgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSB1cGRhdGVzIG9uIHRoZSBtYXJrZXQuIl19LDc1NTE5MihlKXtlLmV4cG9ydHM9WyJEYXRhIG9uIG91ciBCYXNpYyBwbGFuIGlzIHVwZGF0ZWQgb25jZSBldmVyeSB7YW1vdW50fSBzZWNvbmQsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiIsIkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJdfSwzMzI4MjgoZSl7ZS5leHBvcnRzPVsiSGlkZSBpbmRpY2F0b3IgbGVnZW5kIiwiSGlkZSBpbmRpY2F0b3JzIGxlZ2VuZCJdfSwyNTY4MTcoZSl7ZS5leHBvcnRzPVsiT25lIHVwZGF0ZSBldmVyeSB7YW1vdW50fSBzZWNvbmQiLCJPbmUgdXBkYXRlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMiXX0sNjkyNzEyKGUpe2UuZXhwb3J0cz1bIlNob3cgaW5kaWNhdG9yIGxlZ2VuZCIsIlNob3cgaW5kaWNhdG9ycyBsZWdlbmQiXX0sODU3MDY3KGUpe2UuZXhwb3J0cz1bIntzeW1ib2xOYW1lfSBkYXRhIGlzIGRlbGF5ZWQgYnkge3RpbWV9IG1pbnV0ZSBiZWNhdXNlIG9mIGV4Y2hhbmdlIHJlcXVpcmVtZW50cy4iLCJ7c3ltYm9sTmFtZX0gZGF0YSBpcyBkZWxheWVkIGJ5IHt0aW1lfSBtaW51dGVzIGJlY2F1c2Ugb2YgZXhjaGFuZ2UgcmVxdWlyZW1lbnRzLiJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCBNB.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.361Z","timestamp":1785136905361,"http_version":"HTTP/2","security_state":"secure","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 /crypto/XTVCBNB.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"2d7bcb1e6c2f721679a5f7b4408f3e49\"\r\nlast-modified: Fri, 12 Jan 2024 14:17:27 GMT\r\ncdn-cachedat: 08/09/2025 14:29:16\r\nx-amz-id-2: Md7a4JXRlYjdn2rzeXa/TfGjU4+rNYAMUqHNFYolkDmybKd/IC8Mb0WnhN+avDMeP8IuPf/PYqo=\r\nx-amz-request-id: XRX1HHFK3CVABMZX\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 2d7bcb1e6c2f721679a5f7b4408f3e49\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 25ab2d4a1c4a40dc44dd1d9d59c3f34c\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCETH.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.355Z","timestamp":1785136905355,"http_version":"HTTP/2","security_state":"secure","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 /crypto/XTVCETH.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"6c8b94d554caad39b40a6f7147fdc6a5\"\r\nlast-modified: Wed, 26 Feb 2025 20:02:22 GMT\r\ncdn-cachedat: 08/09/2025 14:29:13\r\nx-amz-id-2: cjxB+0rsJO+G+g9GS4iIDBwPWU8gDfAMJoEjErDTv2wKdTYX9BsP2jwaadSiv0iWhu6SXJksiTE=\r\nx-amz-request-id: WYQ4X71VWYX7W99T\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 6c8b94d554caad39b40a6f7147fdc6a5\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 146728e785e150df3d9f2ae21b79fe61\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":1163,"size_decoded":1548,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (1163), with no line terminators","md5":"6c8b94d554caad39b40a6f7147fdc6a5","sha1":"66d27f915603d3286cf7257c467fa70e1422a462","sha256":"de92a8cf9812de5a645ec6e45df7843458c106187045b6f94f431bbc2d1a703b","sha512":"ec6c9900e3c43c736df89e4140184f5bcc7d328843ddcabd17bcce25f1d5c4e0841c503f5d6927419340be7336574244f7675f9d90158284bc8348f0d3161ea4","ssdeep":"","tlshash":"2f212ea8e25db92b884783fccb2d54633a5460ee578443e6b056d63a3490bdbec00bc0","first_seen":"2025-04-10T12:22:36.097854Z","last_seen":"2026-08-10T05:01:44.132353Z","times_seen":5925,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik0wIDBoMTh2MThIMHoiLz48cGF0aCBkPSJNOC45NyAzLjE0VjcuMkw1LjExIDkuMWwzLjg2LTUuOTZaIiBmaWxsPSIjRTdGMEZGIi8+PHBhdGggZD0ibTUuMSA5LjEtLjAxLjA0IDMuODkgMi4yMVY3LjJMNS4xIDkuMVoiIGZpbGw9IiNBNUI5RUUiLz48cGF0aCBkPSJNOC45NyAzLjE0VjcuMmwzLjk0IDEuOTVMOSAzLjFsLS4wMi4wM1oiIGZpbGw9IiNBNUI4RjAiLz48cGF0aCBkPSJNMTIuOSA5LjE0IDkgMTEuMzZoLS4wM1Y3LjE4bDMuOTQgMS45NVoiIGZpbGw9IiM2ODdGQ0IiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im05IDMgNCA2LjE1LTQgMi4yOC00LTIuMjhMOSAzWm0tLjA3LjMyTDUuMjYgOC45OGwzLjY3LTEuODRWMy4zMlptMCAzLjk0TDUuMjEgOS4xNGwzLjcyIDIuMTJ2LTRabS4xMyA0di00bDMuNzMgMS44OC0zLjczIDIuMTJabTMuNjgtMi4yN0w5LjA2IDcuMTRWMy4zMkwxMi43NCA5WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik05IDE0LjkgNS4wNSA5Ljc2IDkgMTEuOTJsMy45NS0yLjE2TDkgMTQuOVoiIGZpbGw9IiNBOEI5RUYiLz48cGF0aCBkPSJNOSAxMS45MiA1LjA1IDkuNzYgOSAxNC45di0yLjk4WiIgZmlsbD0iI0U4RjFGRiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0ibTUgOS44LjA5LS4wOEw5IDExLjg2bDMuOTEtMi4xNC4wOS4wOEw5IDE1IDUgOS44Wm0zLjk0IDIuMTUtMy42Ny0yIDMuNjcgNC43N3YtMi43N1ptLjEyIDIuNzd2LTIuNzdsMy42Ny0yLTMuNjcgNC43N1oiIGZpbGw9IiNmZmYiLz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSI5IiB5MT0iMCIgeDI9IjkiIHkyPSIxOCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM0NjUxOTEiLz48c3RvcCBvZmZzZXQ9Ii4zNiIgc3RvcC1jb2xvcj0iIzMyNDk4RiIvPjxzdG9wIG9mZnNldD0iLjciIHN0b3AtY29sb3I9IiM1NTVFOTkiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0RjU3OTUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCHBAR.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.446Z","timestamp":1785136905446,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCHBAR.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/3905.682e89ef2dc4c70423c6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.293Z","timestamp":1785136900293,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3905.682e89ef2dc4c70423c6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 38072cef59df90a737b70ac1434ab06c\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9156,"size_decoded":2693,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9156), with no line terminators","md5":"585b0debea11681772c2af93fac32f6f","sha1":"239ef62778933c4ffbb2003ad1da3ab7f1c412e6","sha256":"7a6f9ce2286878bf4b28af0ff0922e443fe7fd6f6289968222d35cacb1fd8f85","sha512":"f37cf7f51a2fb42cf0f1822ddea62c13673cc6ac0dd4e9ec40de3f0387a5fc680d4eeec0d9d2b81cbc71136e743b6e8692b20d29e16cd72a6c83c741eea6239e","ssdeep":"192:aB56ZYifpWjOHpRSvoAyGGoCARk3NPmHHZ+DG4x8:ayXsh","tlshash":"6612cf5bf5e30baa2f63e1255a2d7b48516773062887a5f5ee42f3e045caec216036cc","first_seen":"2026-03-24T10:38:42.78469Z","last_seen":"2026-08-10T08:00:01.067343Z","times_seen":7360,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtd01EZjojMDAwMDstLV8xLXdNRGY6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tXzItd01EZjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8zLXdNRGY6IzAwMDB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13TURmOiMwMDAwOy0tXzEtd01EZjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1fMi13TURmOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzMtd01EZjojMDAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dCk7ZGlzcGxheTppbmxpbmUtZmxleDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WHtvcGFjaXR5OjB9LmNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsLUVKQkQ5NnpYe21hcmdpbjo0cHggMH0uY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elh7bWFyZ2luOjhweCAwfS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elh7bWFyZ2luOjAgNHB4fS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WHttYXJnaW46MCA4cHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvd30uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYLC5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elh7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoycHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYnV0dG9uLUVKQkQ5NnpYOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1lbmQ6MXB4fS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MnB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgsLmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OjFweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elh7cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXIsLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItbGVmdDo2cHggc29saWQ7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tXzMtd01EZik7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tXzMtd01EZik7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTZweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6NHB4O2JvdHRvbToxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXRvcC13aWR0aDo0cHg7dG9wOjEwMCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDphZnRlcntib3JkZXItYm90dG9tOjZweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8zLXdNRGYpO2JvcmRlci10b3A6NnB4IHNvbGlkO2JvcmRlci10b3AtY29sb3I6dmFyKC0tXzMtd01EZik7bWFyZ2luLXRvcDotNnB4O3RvcDo1MCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjRweDtyaWdodDoxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6NHB4O2xlZnQ6MTAwJX0uY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjMxMHB4O3BhZGRpbmc6M3B4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpzdGFydH0uY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5LUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6NDIwcHg7cGFkZGluZzowfS5jb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZS1FSkJEOTZ6WHttYXgtd2lkdGg6NjQwcHh9LmNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elh7bWF4LXdpZHRoOjIwMHB4fS5jb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZy1FSkJEOTZ6WHtwYWRkaW5nOjB9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDoxIDAgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjEycHg7bWFyZ2luOjNweCAwO3BhZGRpbmctaW5saW5lLWVuZDo4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXItRUpCRDk2elg6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MXB4fS5jb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQtRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWFyZ2luOjNweCA4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uLUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtoZWlnaHQ6MThweDtwYWRkaW5nOjFweCA2cHg7d2lkdGg6YXV0bzstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0uY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WHtoZWlnaHQ6MTVweDtsaW5lLWhlaWdodDoxNHB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEzcHh9LmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX19LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6MH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItaW5saW5lLWVuZDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1lbmQtY29sb3I6dmFyKC0tXzAtd01EZik7Ym9yZGVyLWlubGluZS1zdGFydDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1fMC13TURmKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YmVmb3Jle2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmUsLmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YmVmb3Jle2JvcmRlci1pbmxpbmUtZW5kOjdweCBzb2xpZDtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItaW5saW5lLXN0YXJ0OjdweCBzb2xpZDtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLV8wLXdNRGYpO2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWlubGluZS1zdGFydDotN3B4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItYm90dG9tLXdpZHRoOjZweDt0b3A6LTZweH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLXRvcC13aWR0aDo2cHg7Ym90dG9tOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YmVmb3JlLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjdweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpO21hcmdpbi10b3A6LTdweDt0b3A6NTAlfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWlubGluZS1lbmQtd2lkdGg6NnB4O2luc2V0LWlubGluZS1zdGFydDotNnB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjZweDtpbnNldC1pbmxpbmUtZW5kOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvd3tib3gtc2hhZG93OjAgMXB4IDNweCAwICMyYTJjMzk0YTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtcm91bmQtc2hhZG93IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWlubGluZS1lbmQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtZW5kLWNvbG9yOnZhcigtLV8wLXdNRGYpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAtd01EZil9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmFmdGVyLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1jaGFydCAuY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTttYXgtd2lkdGg6MzQycHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLWNoYXJ0IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLW5ld3MgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7bWF4LXdpZHRoOjMyMHB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1uZXdzIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9"}},"time_used":123,"timings":{"blocked":-1,"dns":40,"connect":37,"send":0,"wait":13,"receive":-1,"ssl":30},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.348Z","timestamp":1785136900348,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51031.535f27b776f394c7e43a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 89284758f55c2b266a86255c41b6e790\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":43860,"size_decoded":14999,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (12910)","md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-28T07:05:00.665702Z","times_seen":1638,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MTAzMV0sezE1Njg1MChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHt0ZWxlbWV0cnk6KCk9Pmh9KTt2YXIgcz1fKDk0ODM4MCksaT1fKDIyMTA2MSksbj1fKDM4NDAxNyksYT1fKDM3NzIyNikscj1fKDExNzMxMyk7XygzMDAyODYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDb21tb24uVGVsZW1ldHJ5IiksbD17ZGVmYXVsdDoxNWUzLHNpdGU6M2U1fSxjPVsiYmVmb3JlX3dlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIiwiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIsInBhZ2VfZnVsbF9sb2FkX3RpbWVfZnJhbWUiLCJwYWdlX2xvYWRfdGltZV9mcmFtZSJdO2NvbnN0IGg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yZXBvcnRTZW50PW5ldyBzLkRlbGVnYXRlLHRoaXMudGltZUNvdW50ZXJzPXtzZXJpZXM6e21hcmtzOltdfSxzdHVkeTp7fSxwaW5lOnt9fSx0aGlzLl90aW1lb3V0SWRzPXt9LHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhPXtjbHVzdGVyOm51bGwsdXNlcklkOiIwIn0sdGhpcy5fcmVwb3J0U3Rhc2g9e319c2V0U2Vzc2lvbkluZm8oZSl7Y29uc3QgdD10aGlzLl9wYXJzZUNsdXN0ZXIoZSk7bnVsbCE9PXQmJih0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS5jbHVzdGVyPXQpfXNlbmRSZXBvcnQoZSx0LF8pe2lmKCF0aGlzLl9pc0FibGVUb1NlbmRSZXBvcnQodCkpcmV0dXJuO2NvbnN0IHM9dGhpcy5fZ2V0U3Vic2VydmljZVR5cGUoZSksaT10aGlzLl9nZXRIb3N0KGUscyk7aWYobnVsbCE9PWkpe2lmKF89dm9pZCAwPT09Xz97Y291bnQ6MX06Xyx0aGlzLl9hZGRSZXBvcnRUb1N0YXNoKF8sdCxpKSwhdGhpcy5fdGltZW91dElkc1tlXSl7Y29uc3QgdD1sW2VdPz9sLmRlZmF1bHQ7dGhpcy5fdGltZW91dElkc1tlXT1zZXRUaW1lb3V0KHRoaXMuX3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UuYmluZCh0aGlzLGUsaSksdCl9fWVsc2Ugby5sb2dFcnJvcihgVW5hYmxlIHRvIGdldCBob3N0IGZvciBjb3VudGVyOiAke3R9LCBtZXRyaWMgdHlwZTogJHtlfSwgc2VyaXZjZSB0eXBlOiAke3N9YCl9c2VuZENoYXJ0UmVwb3J0KGUsdCxfPSEwKXt0aGlzLl9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydCgiY2hhcnRzIixlLHQsXyl9c2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoZSx0LF89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJsaW5lX3Rvb2xzX3N0b3JhZ2UiLGUsdCxfKX1fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoZSx0LF8scz0hMCl7dGhpcy5fdXBkYXRlVXNlckluZm8oKSxfPXZvaWQgMD09PV8/e2NvdW50OjF9Ol8scyYmKF89dGhpcy5fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oXyxbImNsdXN0ZXIiLCJ1c2VySWQiXSkpLHRoaXMuc2VuZFJlcG9ydChlLHQsXyl9X3VwZGF0ZVVzZXJJbmZvKCl7Y29uc3QgZT0idXNlciJpbiB3aW5kb3cmJiJpZCJpbiB3aW5kb3cudXNlcj93aW5kb3cudXNlci5pZDoiMCI7dGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGEudXNlcklkPVN0cmluZyhlKX1faXNBYmxlVG9TZW5kUmVwb3J0KGUpe2NvbnN0IHQ9d2luZG93LlRFTEVNRVRSWV9IT1NUUyxfPWMuaW5jbHVkZXMoZSkscz1Cb29sZWFuKHdpbmRvdy5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fCgwLGEub25XaWRnZXQpKCkpO3JldHVybiB0JiYoIV98fHMpfV9zZW5kVGVsZW1ldHJ5VG9TZXJ2aWNlKGUsdCl7aWYodGhpcy5fcmVwb3J0U3Rhc2guaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IGU9dGhpcy5fY3JvcFBhcmFtcyh0aGlzLl9yZXBvcnRTdGFzaFt0XSksXz10aGlzLl9yZW5hbWVBbGxQYXJhbXMoZSkscz17ZXZlbnQ6InJlcG9ydF9zdGFzaCIscGFyYW1zOnRoaXMuX2NsZWFuQWxsUGFyYW1zKF8pfTtvLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsbi5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHMpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3QgXz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLHM9X1tlXSYmX1tlXVt0XTtyZXR1cm4gQm9vbGVhbihzKT9zOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3QgXz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxyLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1fPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsci5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9Xz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLGEub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpfJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gby5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBfPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PV8mJl8ubGVuZ3RoPj0zP19bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXsKZm9yKGNvbnN0IHQgaW4gZSllLmhhc093blByb3BlcnR5KHQpJiZlW3RdLmxlbmd0aD4xZTMmJihlLnRvb19tdWNoX21ldHJpY3NfZnJhbWU9ZS50b29fbXVjaF9tZXRyaWNzX2ZyYW1lPz9bXSxlLnRvb19tdWNoX21ldHJpY3NfZnJhbWUucHVzaCh7dmFsdWU6ZVt0XS5sZW5ndGgsYWRkaXRpb25hbDp7ZXZlbnQ6dH19KSxkZWxldGUgZVt0XSk7cmV0dXJuIGV9X3JlbmFtZUFsbFBhcmFtcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBfIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShfKSYmKHRbX109W10sZVtfXS5mb3JFYWNoKChlPT57dFtfXS5wdXNoKHRoaXMuX3JlbmFtZUVudHJ5UGFyYW1zKGUpKX0pKSk7cmV0dXJuIHR9X3JlbmFtZUVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9e2NvdW50OiJjIix2YWx1ZToidiIsdGV4dDoidCIsYWRkaXRpb25hbDoiYSJ9O3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChfLHMpPT4oX1t0W3NdXT1lW3NdLF8pKSx7fSl9X2NsZWFuQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IF8gaW4gZSlpZihlLmhhc093blByb3BlcnR5KF8pKXt0W19dPVtdO2NvbnN0IHM9e2M6MH07ZVtfXS5mb3JFYWNoKChlPT57Y29uc3QgaT10aGlzLl9jbGVhbkVudHJ5UGFyYW1zKGUpLG49T2JqZWN0LmtleXMoaSkubGVuZ3RoOzE9PT1uJiZ2b2lkIDAhPT1pLmM/cy5jKz1pLmM6bj4wJiZ0W19dLnB1c2goaSl9KSkscy5jPjAmJnRbX10ucHVzaChzKSwwPT09dFtfXS5sZW5ndGgmJmRlbGV0ZSB0W19dfXJldHVybiB0fV9jbGVhbkVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxfKT0+ImMiIT09XyYmInQiIT09X3x8ZVtfXT8odFtfXT1lW19dLHQpOnQpLHt9KTtyZXR1cm4iYyJpbiB0fHwidiJpbiB0fHwidCJpbiB0P3Q6e319X2FkZFJlcG9ydFRvU3Rhc2goZSx0LF8pe18gaW4gdGhpcy5fcmVwb3J0U3Rhc2h8fCh0aGlzLl9yZXBvcnRTdGFzaFtfXT17fSksdCBpbiB0aGlzLl9yZXBvcnRTdGFzaFtfXXx8KHRoaXMuX3JlcG9ydFN0YXNoW19dW3RdPVtdKSxPYmplY3Qua2V5cyhlKS5sZW5ndGg+MCYmdGhpcy5fcmVwb3J0U3Rhc2hbX11bdF0ucHVzaChlKX19fSw5NjQ0ODYoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7ZGVlcEV4dGVuZDooKT0+aX0pO2NvbnN0IHM9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSwuLi50KXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlPygwPT09dC5sZW5ndGh8fHQuZm9yRWFjaCgodD0+e251bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgoXz0+e2lmKGZ1bmN0aW9uKGUpe3JldHVybiBzLmhhcyhlKX0oXykpcmV0dXJuO2NvbnN0IGE9ZVtfXSxyPXRbX107aWYocj09PWUpcmV0dXJuO2NvbnN0IG89QXJyYXkuaXNBcnJheShyKTtpZihyJiYobihyKXx8bykpe2xldCB0O3Q9bz9hJiZBcnJheS5pc0FycmF5KGEpP2E6W106YSYmbihhKT9hOnt9LGVbX109aSh0LHIpfWVsc2Ugdm9pZCAwIT09ciYmKGVbX109cil9KSl9KSksZSk6ZX1mdW5jdGlvbiBuKGUpe2lmKCFlfHwiW29iamVjdCBPYmplY3RdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4hMTtjb25zdCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtpZighdClyZXR1cm4hMDtjb25zdCBfPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS50b1N0cmluZyxzPXQuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3I7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHMmJl8uY2FsbChzKT09PV8uY2FsbChPYmplY3QpfX0sNzY4NzYwKGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChfLHMpPT57ZT1fLHQ9c30pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fV8uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9PnN9KX0sNTg5NzQ5KGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtpZih2b2lkIDA9PT1lKXJldHVybiIiO2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7bGV0IHQ9ZS5tZXNzYWdlO3JldHVybiBlLnN0YWNrJiYodCs9IiAiK2Uuc3RhY2spLHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKTpKU09OLnN0cmluZ2lmeShlKX1fLmQodCx7ZXJyb3JUb1N0cmluZzooKT0+c30pfSwxMTYzMTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7Y3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlOigpPT5hfSk7dmFyIHM9XygxMzg2MzgpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9ZX1hc3luYyBnZXRWYWx1ZShlKXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhY2hlLm1hdGNoKGUpO2lmKCF0KXJldHVybiBudWxsO3JldHVybiJhcHBsaWNhdGlvbi9qc29uIj09PSgwLHMuZW5zdXJlTm90TnVsbCkodC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikpP3QuanNvbigpOnQudGV4dCgpfWFzeW5jIHNldFZhbHVlKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZSh0LHtoZWFkZXJzOnsiY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9fSkpOnRoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh0KSx7aGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pKX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXtjb25zdCBfPWF3YWl0IHRoaXMuZ2V0VmFsdWUoZSk7XyYmKGF3YWl0IHRoaXMuc2V0VmFsdWUodCxfKSxhd2FpdCB0aGlzLl9jYWNoZS5kZWxldGUoZSkpfWFzeW5jIGRlbGV0ZVZhbHVlKGUpe3JldHVybiB0aGlzLl9jYWNoZS5kZWxldGUoZSl9fWNsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9kYXRhPW5ldyBNYXB9YXN5bmMgZ2V0VmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGUpPz9udWxsfWFzeW5jIHNldFZhbHVlKGUsdCl7dGhpcy5fZGF0YS5zZXQoZSx0KX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXsKdGhpcy5fZGF0YS5oYXMoZSkmJih0aGlzLl9kYXRhLnNldCh0LHRoaXMuX2RhdGEuZ2V0KGUpKSx0aGlzLl9kYXRhLmRlbGV0ZShlKSl9YXN5bmMgZGVsZXRlVmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZGVsZXRlKGUpfX1hc3luYyBmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWF3YWl0IGNhY2hlcy5vcGVuKGUpO3JldHVybiBuZXcgaSh0KX1jYXRjaHtyZXR1cm4gbmV3IG59fX0sNDAzNihlLHQsXyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD17fTtpZigtMT09PWUuaW5kZXhPZigiQCIpKXQuc2hvcnRJZD1lLHQucGFja2FnZUlkPSJ0di1iYXNpY3N0dWRpZXMiLHQuaWQ9ZSsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtjb25zdCBfPWUuc3BsaXQoIkAiKTt0LnNob3J0SWQ9X1swXTtjb25zdCBzPV9bMV0uc3BsaXQoIi0iKTtpZigzPT09cy5sZW5ndGgpdC5wYWNrYWdlSWQ9cy5zbGljZSgwLDIpLmpvaW4oIi0iKSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPXBhcnNlSW50KHNbMl0pO2Vsc2UgaWYoMT09PXMubGVuZ3RoJiYiZGVjaXNpb25iYXIiPT09c1swXSl0LnBhY2thZ2VJZD0ibGVzLSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtpZigxIT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIHN0dWR5IGlkOiIrZSk7dC5wYWNrYWdlSWQ9InR2LSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTF9fWlmKHQuZnVsbElkPXQuaWQrIi0iK3QudmVyc2lvbiwidHYtc2NyaXB0aW5nIj09PXQucGFja2FnZUlkKXtjb25zdCBlPXQuc2hvcnRJZDtpZigwPT09ZS5pbmRleE9mKCJTY3JpcHQkIil8fDA9PT1lLmluZGV4T2YoIlN0cmF0ZWd5U2NyaXB0JCIpKXtjb25zdCBfPWUuaW5kZXhPZigiXyIpO3QucHJvZHVjdElkPV8+PTA/ZS5zdWJzdHJpbmcoMCxfKTp0LnBhY2thZ2VJZH1lbHNlIHQucHJvZHVjdElkPXQucGFja2FnZUlkfWVsc2UgdC5wcm9kdWN0SWQ9dC5wYWNrYWdlSWQ7cmV0dXJuIHR9Xy5kKHQse3BhcnNlSWRTdHJpbmc6KCk9PnN9KX0sNzgwOTc1KGUsdCxfKXsidXNlIHN0cmljdCI7dmFyIHM7Xy5kKHQse0NoYXJ0QXBpTWVzc2FnZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQ29ubmVjdGVkPSJjb25uZWN0ZWQiLGUuRGlzY29ubmVjdGVkPSJkaXNjb25uZWN0ZWQiLGUuUmVjb25uZWN0QmFpbG91dD0icmVjb25uZWN0X2JhaWxvdXQifShzfHwocz17fSkpfSwzMDkwNTIoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7UVVPVEVfRklFTERTOigpPT5pLFFVT1RFX0ZJRUxEU19DQUNIRTooKT0+bn0pO3ZhciBzPV8oMTM4NjM4KQo7Y29uc3QgaT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwic2hvcnRfbmFtZSIsIndlYl9zaXRlX3VybCIsInByb19wZXJtIiwidGltZXpvbmUiLCJjdXJyZW50X3Nlc3Npb24iLCJzZXNzaW9uX2hvbGlkYXlzIiwibGFzdF9wcmljZSIsImxwX3RpbWUiLCJzdWJzZXNzaW9ucyIsInByZXZfY2xvc2VfcHJpY2UiLCJvcGVuX3ByaWNlIiwiaGlnaF9wcmljZSIsImxvd19wcmljZSIsInByaWNlXzUyX3dlZWtfaGlnaCIsInByaWNlXzUyX3dlZWtfbG93IiwiYXNrIiwiYXNrX3NpemUiLCJiaWQiLCJiaWRfc2l6ZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsIm5jaCIsIm5jaHAiLCJudGMiLCJudGNfdGltZSIsImRhdGFfZnJlcXVlbmN5IiwicmVmZXJlbmNlLWxhc3QtcGVyaW9kLXN0YXJ0IiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJ3ZWJfc2l0ZV91cmwiLCJmaWdpIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwicm9vdCIsImRlc2NyaXB0aW9uIiwiZXhjaGFuZ2UiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJ0eXBlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJpc190cmFkYWJsZSIsInNlY3RvciIsInR5cGVzcGVjcyIsInZpc2libGUtcGxvdHMtc2V0IiwiaW5kdXN0cnkiLCJjdXJyZW5jeV9pZCIsImxhc3RfcHJpY2UiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidmFyaWFibGVfdGlja19zaXplIiwiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJ2b2x1bWUiLCJhdmVyYWdlX3ZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJtYXJrZXRfY2FwX2NhbGMiLCJ0b3RhbF9yZXZlbnVlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsInByaWNlX2Vhcm5pbmdzX3R0bSIsImJldGFfMV95ZWFyIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5IiwiZGl2aWRlbmRzX3lpZWxkIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3B1YmxpY2F0aW9uX3R5cGVfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcSIsImZvcmVjYXN0X3JhdyIsImxhc3RfcmVsZWFzZV9kYXRlIiwibmV4dF9yZWxlYXNlX2RhdGUiLCJyZWZlcmVuY2VfbGFzdF9wZXJpb2QiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImJ1c2luZXNzX2Rlc2NyaXB0aW9uIiwiZm91bmRlZCIsImNlbyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsImRpdmlkZW5kX3BheW91dF9yYXRpb190dG0iLCJkaXZpZGVuZHNfeWllbGRfY3VycmVudCIsImRpdmlkZW5kX2V4X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfcmVjZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV9yZWNlbnQiLCJkaXZpZGVuZF9hbW91bnRfaCIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV9yZWNlbnQiLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2Z5X2giLCJmaXNjYWxfcGVyaW9kX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcV9oIiwibmV4dF9lYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxIiwiaXNfbmV4dF9lYXJuaW5nc19yZWxlYXNlX2RhdGVfZXN0aW1hdGVkIiwic3ltYm9sLXByaW1hcnluYW1lIiwiY3VycmVuY3lfY29kZSIsInJhdGVzX21jIiwicmF0ZXNfZnkiLCJyYXRlc190dG0iLCJtZWFzdXJlIiwidmFsdWVfdW5pdF9pZCIsInZhbHVlLXVuaXQtaWQiLCJ1cGRhdGVfbW9kZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiIsInNvdXJjZSIsInNvdXJjZTIiLCJmb3JtYXQiLCJyZWNvbW1lbmRhdGlvbl9tYXJrIiwibGFzdF9yZXBvcnRfZnJlcXVlbmN5IiwicHJpY2VfdGFyZ2V0X2VzdGltYXRlc19udW0iLCJwcmljZV90YXJnZXRfYXZlcmFnZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInJlY29tbWVuZGF0aW9uX2J1eSIsInJlY29tbWVuZGF0aW9uX292ZXIiLCJyZWNvbW1lbmRhdGlvbl9ob2xkIiwicmVjb21tZW5kYXRpb25fdW5kZXIiLCJyZWNvbW1lbmRhdGlvbl9zZWxsIiwicmVjb21tZW5kYXRpb25fdG90YWwiLCJwcmljZV90YXJnZXRfaGlnaCIsInByaWNlX3RhcmdldF9sb3ciLCJyYXRlc19wdCIsInJhdGVzX3B0IiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X3JldmVudWVfZnlfaCIsIm5ldF9yZXZlbnVlX2ZxX2giLCJuZXRfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnEiLCJmaXNjYWxfcGVyaW9kX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZmgiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZoX2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZoX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZoX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnkiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmgiLCJyZXZlbnVlX2ZxX2giLCJyZXZlbnVlX2Z5X2giLCJyZXZlbnVlX2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2Z5X2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnEiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnkiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZmgiLCJyZXZlbnVlX3NlZ19ieV9idXNpbmVzc19oIiwicmV2ZW51ZV9zZWdfYnlfcmVnaW9uX2giLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJlYml0ZGFfZnkiLCJlYml0X2Z5IiwibmV0X2luY29tZV9meSIsIm5ldF9pbmNvbWVfZnEiLCJuZXRfaW5jb21lX2ZoIiwidG90YWxfZGVidF9meV9oIiwidG90YWxfZGVidF9mcV9oIiwidG90YWxfZGVidF9maF9oIiwiZnJlZV9jYXNoX2Zsb3dfZnlfaCIsImZyZWVfY2FzaF9mbG93X2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19maF9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2Z5X2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnFfaCIsImNhc2hfbl9lcXVpdmFsZW50c19maF9oIiwidG90YWxfY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19mcSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnEiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2Z5IiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwibG9hbnNfbmV0X2Z5IiwibG9hbnNfbmV0X2Z5X2giLCJsb2Fuc19uZXRfZnFfaCIsImxvYW5zX25ldF9maF9oIiwidG90YWxfZGVwb3NpdHNfZnkiLCJ0b3RhbF9kZXBvc2l0c19meV9oIiwidG90YWxfZGVwb3NpdHNfZnFfaCIsInRvdGFsX2RlcG9zaXRzX2ZoX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19meSIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsInByaWNlX2Vhcm5pbmdzX2ZxX2giLCJwcmljZV9lYXJuaW5nc19meV9oIiwicHJpY2VfZWFybmluZ3NfZmhfaCIsInByaWNlX3NhbGVzX2ZxX2giLCJwcmljZV9zYWxlc19meV9oIiwicHJpY2Vfc2FsZXNfZmhfaCIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiaXNpbi1kaXNwbGF5ZWQiLCJjdXNpcCIsImNmaV9jb2RlIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwid2Vic2l0ZSIsImRvYyIsImV4cGxvcmVyIiwic291cmNlcyIsImNvbnRyYWN0cyIsImNyeXB0b19jb21tb25fY2F0ZWdvcmllcyIsImNyeXB0b19hc3NldCIsImNvbW11bml0eSIsImRpdmlkZW5kc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiLCJmaW5hbmNpYWxzX2F2YWlsYWJpbGl0eSIsImRvY3VtZW50cyIsImV0Zl9hc3NldF90eXBlX2V4cG9zdXJlIiwiZXRmX3JlZ2lvbl9leHBvc3VyZSIsInRvcF9ob2xkaW5ncyIsInVuaXQtaWQiLCJvcHRpb25zLWluZm8iLCJvcHRpb24tdHlwZSIsImludGVyZXN0X2luY29tZV9meSIsImludGVyZXN0X2luY29tZV9mcSIsImludGVyZXN0X2luY29tZV9maCIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnkiLCJub25faW50ZXJlc3RfaW5jb21lX2ZxIiwibm9uX2ludGVyZXN0X2luY29tZV9maCIsImludGVyZXN0X2V4cGVuc2VfZnkiLCJpbnRlcmVzdF9leHBlbnNlX2ZxIiwiaW50ZXJlc3RfZXhwZW5zZV9maCIsImxvYW5fbG9zc19wcm92aXNpb25fZnkiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZxIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9maCIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2Z5Iiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnEiLCJub25faW50ZXJlc3RfZXhwZW5zZV9maCIsIm5vbl9vcGVyX2luY29tZV9meSIsIm5vbl9vcGVyX2luY29tZV9mcSIsIm5vbl9vcGVyX2luY29tZV9maCIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnkiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZxIiwidW51c3VhbF9leHBlbnNlX2luY19maCIsInByZXRheF9pbmNvbWVfZnkiLCJwcmV0YXhfaW5jb21lX2ZxIiwicHJldGF4X2luY29tZV9maCIsImluY29tZV90YXhfZnkiLCJpbmNvbWVfdGF4X2ZxIiwiaW5jb21lX3RheF9maCIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnkiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZxIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9maCIsInRvdGFsX25vbl9vcGVyX2luY29tZV9meSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9mcSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9maCIsIm9wZXJfaW5jb21lX2Z5Iiwib3Blcl9pbmNvbWVfZnEiLCJvcGVyX2luY29tZV9maCIsIm9wZXJhdGluZ19leHBlbnNlc19meSIsIm9wZXJhdGluZ19leHBlbnNlc19mcSIsIm9wZXJhdGluZ19leHBlbnNlc19maCIsImNvc3Rfb2ZfZ29vZHNfZnkiLCJjb3N0X29mX2dvb2RzX2ZxIiwiY29zdF9vZl9nb29kc19maCIsImVxdWl0eV9pbl9lYXJuaW5nc19meSIsImVxdWl0eV9pbl9lYXJuaW5nc19mcSIsImVxdWl0eV9pbl9lYXJuaW5nc19maCIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9meSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9maCIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2Z5IiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnEiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19maCIsImZyb250X2NvbnRyYWN0IiwibWluX2NvbnRyYWN0IiwicG9pbnR2YWx1ZSIsInVuaXRfaWQiLCJleHBpcmF0aW9uIiwiYXVtIiwiYXNzZXRfY2xhc3MiLCJmb2N1cyIsImV4cGVuc2VfcmF0aW8iLCJsYXVuY2hfZGF0ZSIsImlzc3VlciIsImJyYW5kIiwiaG9tZXBhZ2UiLCJpbmRleF90cmFja2VkIiwiYWN0aXZlbHlfbWFuYWdlZCIsImZ1bmRfdmlld19tb2RlcyIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9maCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9mcSIsInRvdGFsX2RlYnRfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9maCIsIm1pbm9yaXR5X2ludGVyZXN0X2ZxIiwiY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZoIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZxIiwiZW50ZXJwcmlzZV92YWx1ZV9jdXJyZW50IiwiZXRmX2hvbGRpbmdzX2NvdW50IiwiY29udHJhY3QtZGVzY3JpcHRpb24iLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiLCJhbGxfdGltZV9oaWdoIiwiYWxsX3RpbWVfaGlnaF9kYXkiLCJhbGxfdGltZV9sb3ciLCJhbGxfdGltZV9sb3dfZGF5Iiwib3V0c3RhbmRpbmdfYW1vdW50Iiwibm9taW5hbF92YWx1ZSIsImRlbm9tX21pbiIsImN1cnJlbnRfY291cG9uIiwiY291cG9uX3R5cGVfZ2VuZXJhbCIsImNvdXBvbl9mcmVxdWVuY3kiLCJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5LWRhdGUiLCJkYXlzX3RvX21hdHVyaXR5IiwiYm9uZF9pc3N1ZXIiLCJpc3N1ZV9kYXRlIiwiYm9uZF9pc3N1ZXJfc3RvY2tfc3ltYm9sIiwidG90YWxfaXNzdWVkX2Ftb3VudCIsInBhaWRfYW1vdW50IiwiYm9uZF9zbnBfcmF0aW5nX2x0X2giLCJwbGFjZW1lbnRfdHlwZSIsImR1cmF0aW9uX3R5cGUiLCJtYXR1cml0eV90eXBlIiwib2ZmZXJfdHlwZSIsInJlZGVtcHRpb25fdHlwZSIsImNvbnZlcnNpb25fb3B0aW9uIiwic2lua2luZ19mdW5kIiwib3duZXJzaGlwX2Zvcm0iLCJkYWlseS1zdW1tYXJ5LWFzdCIsImlzc3VlX3N0YXR1cyIsImNvdXBvbl9oIiwic2lua2luZ19mdW5kX25leHRfZGF0ZSIsInNpbmtpbmdfZnVuZF9taW5fYW1vdW50X25leHQiLCJjYWxsX25leHRfZGF0ZSIsInJlZGVtcHRpb25zX2giLCJjYWxsX25vdGljZV9kYXlzIiwicHV0X25leHRfZGF0ZSIsInB1dF9ub3RpY2VfZGF5c19taW4iLCJzZW5pb3JpdHlfbGV2ZWwiLCJpbmZsYXRpb25fcHJvdGVjdGlvbiIsInBsZWRnZV9zdGF0dXMiLCJib25kX2lzc3Vlcl9jb3VudHJ5X29mX3Jpc2siLCJib25kX2lzc3Vlcl9jcl9wYXJlbnQiLCJjcmVkaXRfZW5oYW5jZW1lbnRfdHlwZSIsImNyZWRpdF9lbmhhbmNlbWVudF9zdGF0dXMiLCJ1c2Vfb2ZfcHJvY2VlZHMiLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX2x0X2giLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX3N0X2giLCJib25kX2FnZW50c190ciIsImZpcnN0X2Jhcl90aW1lXzFkIiwiZmluYW5jaWFsLWluZGljYXRvci1pZCIsImV4Y2hhbmdlLWluZm8iLCJ1bmRlcmx5aW5nLXN5bWJvbCIsInN0cmlrZSIsImxvdHNpemUiLCJvcHRpb24tc3R5bGUiLCJoYXNfYm9uZHMiLCJvcGVuX3RpbWUiLCJoYXNfYm9uZHMiLCJkZXhfYnV5c18xNW0iLCJkZXhfc2VsbHNfMTVtIiwiZGV4X2J1eV92b2x1bWVfMTVtIiwiZGV4X3NlbGxfdm9sdW1lXzE1bSIsImRleF9idXllcnNfMTVtIiwiZGV4X3NlbGxlcnNfMTVtIiwiZGV4X2J1eXNfMWgiLCJkZXhfc2VsbHNfMWgiLCJkZXhfYnV5X3ZvbHVtZV8xaCIsImRleF9zZWxsX3ZvbHVtZV8xaCIsImRleF9idXllcnNfMWgiLCJkZXhfc2VsbGVyc18xaCIsImRleF9idXlzXzRoIiwiZGV4X3NlbGxzXzRoIiwiZGV4X2J1eV92b2x1bWVfNGgiLCJkZXhfc2VsbF92b2x1bWVfNGgiLCJkZXhfYnV5ZXJzXzRoIiwiZGV4X3NlbGxlcnNfNGgiLCJkZXhfYnV5c18xMmgiLCJkZXhfc2VsbHNfMTJoIiwiZGV4X2J1eV92b2x1bWVfMTJoIiwiZGV4X3NlbGxfdm9sdW1lXzEyaCIsImRleF9idXllcnNfMTJoIiwiZGV4X3NlbGxlcnNfMTJoIiwiZGV4X2J1eXNfMjRoIiwiZGV4X3NlbGxzXzI0aCIsImRleF9idXlfdm9sdW1lXzI0aCIsImRleF9zZWxsX3ZvbHVtZV8yNGgiLCJkZXhfYnV5ZXJzXzI0aCIsImRleF9zZWxsZXJzXzI0aCIsImRleF9jb252ZXJ0ZWRfc3ltYm9sIiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCIsImRleF9jcmVhdGVkX3RpbWUiLCJkZXhfY3VycmVuY3kiLCJkZXhfY3VycmVuY3lfbG9nb2lkIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXNfdXJscyIsImJsb2NrY2hhaW5fYWRkcmVzc2VzIiwiYmFzZV9jdXJyZW5jeSIsImlwb19vZmZlcl9zdGF0dXMiLCJoYXNfaXBvX2RldGFpbHNfdmlzaWJsZSIsImlwb19wcmljZV9yYW5nZV91c2RfbWF4IiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9taW4iLCJpcG9fb2ZmZXJfcHJpY2VfdXNkIiwiaXBvX29mZmVyZWRfc2hhcmVzIiwiaXBvX2RlYWxfYW1vdW50X3VzZCIsImlwb19hbm5vdW5jZW1lbnRfZGF0ZSIsImlwb19vZmZlcl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfYmVnaW5fZGF0ZSIsImF2YWlsYWJsZV9kYXRhX3JhbmdlX2VuZF9kYXRlIiwiaGFzX2V0Zl9vd25lcnNoaXAiLCJzeW1ib2xfcHJpbWFyeV9saXN0aW5nIiwibWV0cmljX3l0bSIsIm1ldHJpY3MiLCJlcHNfZXN0aW1hdGVzX2Z5X2giLCJlcHNfZXN0aW1hdGVzX2ZxX2giLCJlcHNfZXN0aW1hdGVzX2ZoX2giLCJyZXZlbnVlX2VzdGltYXRlc19meV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZnFfaCIsInJldmVudWVfZXN0aW1hdGVzX2ZoX2giLCJkcHNfZXN0aW1hdGVzX2Z5X2giLCJkcHNfZXN0aW1hdGVzX2ZxX2giLCJkcHNfZXN0aW1hdGVzX2ZoX2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19meV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZnFfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2ZoX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2Z5X2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZxX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZoX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2Z5X2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZxX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZoX2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19meV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZnFfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2ZoX2giLCJlYml0ZGFfZXN0aW1hdGVzX2Z5X2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZxX2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZoX2giLCJlYml0X2VzdGltYXRlc19meV9oIiwiZWJpdF9lc3RpbWF0ZXNfZnFfaCIsImViaXRfZXN0aW1hdGVzX2ZoX2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19meV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZnFfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZxX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19meV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2ZoX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZnlfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19mcV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZnlfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19mcV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZnlfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZoX2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9meV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2ZoX2giLCJmb3JlY2FzdF9hdmFpbGFiaWxpdHkiXSksbj1uZXcgY2xhc3N7CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2NhY2hlPW5ldyBNYXAsdGhpcy5fdGltZXM9bmV3IE1hcCx0aGlzLl9maWVsZHM9Wy4uLmUuZmllbGRzXX11cGRhdGUoZSx0LF8pe2NvbnN0IGk9KDAscy5lbnN1cmVEZWZpbmVkKShlLnN5bWJvbG5hbWUpLG49RGF0ZS5ub3coKTtpZih0aGlzLl9jYWNoZS5oYXMoaSl8fHRoaXMuX2NhY2hlLnNldChpLHtzeW1ib2xuYW1lOmksc3RhdHVzOmUuc3RhdHVzLHZhbHVlczp7fX0pLHRoaXMuX3RpbWVzLmhhcyhpKXx8dGhpcy5fdGltZXMuc2V0KGksbmV3IE1hcCksImVycm9yIj09PWUuc3RhdHVzKXJldHVybjtjb25zdCBhPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2FjaGUuZ2V0KGkpKSxyPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fdGltZXMuZ2V0KGkpKTthLnN0YXR1cz1lLnN0YXR1cztmb3IoY29uc3QgcyBvZiB0aGlzLl9maWVsZHMpdC5oYXMocykmJihffHx2b2lkIDAhPT1lLnZhbHVlc1tzXSkmJihhLnZhbHVlc1tzXT1lLnZhbHVlc1tzXSxyLnNldChzLG4pKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKT8/bnVsbH1nZXRUaW1lcyhlKXtyZXR1cm4gdGhpcy5fdGltZXMuZ2V0KGUpPz9udWxsfWZpZWxkcygpe3JldHVybiB0aGlzLl9maWVsZHN9fSh7ZmllbGRzOml9KX0sOTI3NTkzKGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse1F1b3RlU2Vzc2lvbk11bHRpcGxleGVyOigpPT5mfSk7dmFyIHM9Xyg1ODcxNjgpLGk9Xyg1NDc4NTEpLG49XygzNTI4MzcpLGE9XygxMzg2MzgpLHI9XygyMjEwNjEpLG89Xyg5NDgzODApLGw9Xyg5NjQ0ODYpLGM9XygxNTAxNTApLGg9XygzMDkwNTIpLGQ9XygzNjc5NDYpO2xldCB1PSExO3ZhciBtPV8oOTcwNzc0KTtjb25zdCBwPSgwLHIuZ2V0TG9nZ2VyKSgiV2ViY2hhcnRDbGllbnQuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIiKTtjbGFzcyBme2NvbnN0cnVjdG9yKGUpe3RoaXMub25Db25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMub25EaXNjb25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9zdWJzY3JpcHRpb25zPXt9LHRoaXMuX3N5bWJvbF9kYXRhPXt9LHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHM9KDAsaS5kZWZhdWx0KSh0aGlzLl91cGRhdGVGYXN0U3ltYm9scywyNTApLHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGE9e30sdGhpcy5fZXh0ZW5zaW9ucz17fSx0aGlzLm9wdGlvbnM9e3Rocm90dGxlVGltZW91dDoxMjUsLi4uZX0sdGhpcy5fc2Vzc2lvbj1uZXcgbS5RdW90ZVNlc3Npb24oZS5hcGksWyJtdWx0aXBsZXhlciIsZS5uYW1lLCgwLGMucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LmZvcm1hdHRlciYmKHRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyPXRoaXMub3B0aW9ucy5leHRlbnNpb25zLmZvcm1hdHRlcih0aGlzKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LnNuYXBzaG90JiYodGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5zbmFwc2hvdCh0aGlzKSksdGhpcy5jb25uZWN0KCl9ZGVzdHJveSgpe3RoaXMuX3Nlc3Npb24uZGVzdHJveSgpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCl9aW50ZXJuYWxzKCl7cmV0dXJue3Nlc3Npb246KCk9PnRoaXMuX3Nlc3Npb24sc3Vic2NyaXB0aW9uczooKT0+dGhpcy5fc3Vic2NyaXB0aW9ucyxkYXRhOigpPT50aGlzLl9zeW1ib2xfZGF0YX19Y29ubmVjdCgpe3RoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLnF1b3RlSGFuZGxlci5iaW5kKHRoaXMpKX1xdW90ZUhhbmRsZXIoZSl7Y29uc3R7bWV0aG9kOnQscGFyYW1zOl99PWU7c3dpdGNoKHQpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5vbkNvbm5lY3RlZCgpKTticmVhaztjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpicmVhaztjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKF9bMF0pO2JyZWFrO2Nhc2UicXVvdGVfY29tcGxldGVkIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKHtzeW1ib2xuYW1lOl9bMF0sY29tcGxldGU6cGVyZm9ybWFuY2Uubm93KCksdmFsdWVzOnt9fSk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCkpfX1vbkNvbm5lY3RlZCgpe3RoaXMuc2V0RmllbGRzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9zeW1ib2xfZGF0YSk7ZS5sZW5ndGgmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhlKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpLHRoaXMub25Db25uZWN0LmZpcmUoKX1zZXRGaWVsZHMoKXtjb25zdHtmaWVsZHM6ZX09dGhpcy5vcHRpb25zO2UmJmUubGVuZ3RoJiZ0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfW9uU3ltYm9sRGF0YShlKXt0cnl7ZS5zdGF0dXMmJmguUVVPVEVfRklFTERTX0NBQ0hFLnVwZGF0ZShlLGguUVVPVEVfRklFTERTLCExKX1jYXRjaChlKXt9Y29uc3QgdD1lLnN5bWJvbG5hbWU7bGV0IF89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XTt1JiYoZGVsZXRlIGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2Usdm9pZCAwIT09ZS52YWx1ZXMucmVndWxhcl9jbG9zZSYmKGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U9ZS52YWx1ZXMucmVndWxhcl9jbG9zZSkpLF98fChfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbdF09e2ZuRGlzcGF0Y2g6KDAscy5kZWZhdWx0KSh0aGlzLmRpc3BhdGNoU3ltYm9sRGF0YS5iaW5kKHRoaXMpLHRoaXMub3B0aW9ucy50aHJvdHRsZVRpbWVvdXQpfSksXy5jYWNoZT8oMCxsLmRlZXBFeHRlbmQpKF8uY2FjaGUsZSk6Xy5jYWNoZT1lLF8uZm5EaXNwYXRjaCh0KX1kaXNwYXRjaFN5bWJvbERhdGEoZSl7Y29uc3QgdD10aGlzLl9zeW1ib2xfZGF0YVtlXSxfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUKO2lmKGRlbGV0ZSB0aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW2VdLmNhY2hlLHRoaXMuX3N5bWJvbF9kYXRhW2VdKXsoMCxsLmRlZXBFeHRlbmQpKHQsXyksdC52YWx1ZXMmJnRoaXMuX3BhcnNlVXBkYXRlTW9kZSh0LnZhbHVlcyk7Zm9yKGNvbnN0IHMgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW3NdO2lmKGkuaGFzKGUpKXtbLi4uKDAsYS5lbnN1cmVEZWZpbmVkKShpLmdldChlKSldLmZvckVhY2goKGU9PntlKHQsXyl9KSl9fX19c3Vic2NyaWJlKGUsdCxfKXt0aGlzLl9zdWJzY3JpcHRpb25zW2VdPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV18fG5ldyBNYXA7Y29uc3Qgcz10aGlzLl9zdWJzY3JpcHRpb25zW2VdO3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IGk9W107dC5mb3JFYWNoKChlPT57dGhpcy5fc3ltYm9sX2RhdGFbZV0/cyYmcy5oYXMoZSl8fHRoaXMuX3N5bWJvbF9kYXRhW2VdLnN1YnNjcmliZXJzX2NvdW50Kys6KHRoaXMuX3N5bWJvbF9kYXRhW2VdPXtzdWJzY3JpYmVyc19jb3VudDoxfSxpLnB1c2goZSkpLHMuaGFzKGUpfHxzLnNldChlLFtdKTtjb25zdCB0PSgwLGEuZW5zdXJlRGVmaW5lZCkocy5nZXQoZSkpO3QucHVzaChfKSx0LmZhc3Q9ITAsdGhpcy5fc3ltYm9sX2RhdGFbZV0mJnRoaXMuX3N5bWJvbF9kYXRhW2VdLnZhbHVlcyYmXyh0aGlzLl9zeW1ib2xfZGF0YVtlXSx0aGlzLl9zeW1ib2xfZGF0YVtlXSl9KSksaS5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGkpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9dW5zdWJzY3JpYmUoZSx0LF8pe3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IHM9dGhpcy5fc3Vic2NyaXB0aW9uc1tlXSxpPVtdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl07aWYocyYmcy5oYXMocikpe2lmKF8pe2NvbnN0IGU9KDAsYS5lbnN1cmVEZWZpbmVkKShzLmdldChyKSksdD1lLmluZGV4T2YoXyk7fnQmJmUuc3BsaWNlKHQsMSksZS5sZW5ndGh8fHMuZGVsZXRlKHIpfWVsc2Ugcy5kZWxldGUocik7MD09PXMuc2l6ZSYmZGVsZXRlIHRoaXMuX3N1YnNjcmlwdGlvbnNbZV0sdGhpcy5fc3ltYm9sX2RhdGEuaGFzT3duUHJvcGVydHkocikmJihzLmhhcyhyKXx8dGhpcy5fc3ltYm9sX2RhdGFbcl0uc3Vic2NyaWJlcnNfY291bnQtLSx0aGlzLl9zeW1ib2xfZGF0YVtyXS5zdWJzY3JpYmVyc19jb3VudHx8KGRlbGV0ZSB0aGlzLl9zeW1ib2xfZGF0YVtyXSxpLnB1c2gocikpKX1lbHNlIHAubG9nV2FybihgQ2hlY2sgeW91ciBzdWIvdW5zdWIgbG9va3MgaXQgaXMgbGVha2luZyAoY2xpZW50X2lkPSR7ZX0sIHN5bWJvbD0ke3J9KWApfWkubGVuZ3RoJiZ0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhpKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpfXNldEZhc3RTeW1ib2xzKGUsdCl7aWYodGhpcy5fc3Vic2NyaXB0aW9uc1tlXSl7Y29uc3QgXz10aGlzLl9zdWJzY3JpcHRpb25zW2VdLHM9QXJyYXkuZnJvbShfLmtleXMoKSk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDsrK2Upe2NvbnN0IGk9c1tlXTsoMCxhLmVuc3VyZURlZmluZWQpKF8uZ2V0KGkpKS5mYXN0PS0xIT09dC5pbmRleE9mKGkpfX10aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCl9c25hcHNob3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3Q/UHJvbWlzZS5yZWplY3QoIk5vIGZvcm1hdHRlciBleHRlbnNpb24gcHJvdmlkZWQiKTp0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90KGUpfWZvcm1hdHRlcihlLHQpe3JldHVybiB2b2lkIDA9PT10aGlzLl9leHRlbnNpb25zLmZvcm1hdHRlcj9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyKGUsdCl9X3VwZGF0ZUZhc3RTeW1ib2xzKCl7aWYoIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47Y29uc3QgZT10aGlzLl9mYXN0U3ltYm9scygpOzA9PT1lLmxlbmd0aD90aGlzLl9zZXNzaW9uLnF1b3RlSGliZXJuYXRlQWxsKCk6dGhpcy5fc2Vzc2lvbi5xdW90ZUZhc3RTeW1ib2xzKGUpfV9mYXN0U3ltYm9scygpe2xldCBlPVtdO2Zvcihjb25zdCB0IGluIHRoaXMuX3N1YnNjcmlwdGlvbnMpe2NvbnN0IF89dGhpcy5fc3Vic2NyaXB0aW9uc1t0XSxzPUFycmF5LmZyb20oXy5rZXlzKCkpO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7Kyt0KXtjb25zdCBpPXNbdF07KDAsYS5lbnN1cmVEZWZpbmVkKShfLmdldChpKSkuZmFzdCYmZS5wdXNoKGkpfX1yZXR1cm4gZT0oMCxuLmRlZmF1bHQpKGUpLGV9X3BhcnNlVXBkYXRlTW9kZShlKXsoMCxkLm5vcm1hbGl6ZVVwZGF0ZU1vZGUpKGUpfX19LDk3MDc3NChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtRdW90ZVNlc3Npb246KCk9Pml9KTt2YXIgcz1fKDE1MDE1MCk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQ9KDAscy5yYW5kb21IYXNoKSgpKXt0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSx0aGlzLl9nbG9iYWxIYW5kbGVyPW51bGwsdGhpcy5fY2hhcnRBcGk9ZSx0aGlzLl9zZXNzaW9uaWQ9InFzXyIrdH1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQmJih0aGlzLl9jaGFydEFwaS5xdW90ZURlbGV0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSl9Y29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3RlZCgpfWNvbm5lY3QoZSl7dGhpcy5fZ2xvYmFsSGFuZGxlcj1lLHRoaXMuX2NoYXJ0QXBpLmNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkLHRoaXMpLHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fY2hhcnRBcGkuZGlzY29ubmVjdCgpfXF1b3RlQWRkU3ltYm9scyhlKXt0aGlzLl9jaGFydEFwaS5xdW90ZUFkZFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlUmVtb3ZlU3ltYm9scyhlKXsKdGhpcy5fY2hhcnRBcGkucXVvdGVSZW1vdmVTeW1ib2xzKHRoaXMuX3Nlc3Npb25pZCxlKX1xdW90ZUZhc3RTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlRmFzdFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlU2V0RmllbGRzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlU2V0RmllbGRzKHRoaXMuX3Nlc3Npb25pZCxlKX1vbk1lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWR8fCh0aGlzLl9jaGFydEFwaS5xdW90ZUNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMCk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX3Nlc3Npb25zdGFydGVkPSExfXRoaXMuX2dsb2JhbEhhbmRsZXI/LihlKX1xdW90ZUhpYmVybmF0ZUFsbCgpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlSGliZXJuYXRlQWxsKHRoaXMuX3Nlc3Npb25pZCl9fX0sNjYxODU4KGUsdCxfKXtlLmV4cG9ydHM9W3tuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDM1MDE0NikpLHZhbHVlOiIiLHNlYXJjaF90eXBlOiJ1bmRlZmluZWQifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1NTU1MTApKSx2YWx1ZToic3RvY2tzIixzZWFyY2hfdHlwZToic3RvY2tzIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTY0OTE3KSksdmFsdWU6ImZ1bmRzIixzZWFyY2hfdHlwZToiZnVuZHMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1MDUwNzkpKSx2YWx1ZToiZnV0dXJlcyIsc2VhcmNoX3R5cGU6ImZ1dHVyZXMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg5Nzk5NykpLHZhbHVlOiJmb3JleCIsc2VhcmNoX3R5cGU6ImZvcmV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oMzg0NTk3KSksdmFsdWU6ImNmZCIsc2VhcmNoX3R5cGU6ImNmZCJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDY1NTIzNSkpLHZhbHVlOiJiaXRjb2luLGNyeXB0byIsc2VhcmNoX3R5cGU6ImNyeXB0byJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDkyNzQxMSkpLHZhbHVlOiJpbmRleCIsc2VhcmNoX3R5cGU6ImluZGV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNzY1NDQwKSksdmFsdWU6ImJvbmQiLHNlYXJjaF90eXBlOiJib25kIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTQ4MzIyKSksdmFsdWU6ImVjb25vbWljIixzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XX0sNjA2MTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7QXV0aFRva2VuOigpPT5vfSk7dmFyIHM9XygyMjEwNjEpLGk9Xyg5NDgzODApLG49XygzODQwMTcpO2NvbnN0IGE9KDAscy5nZXRMb2dnZXIpKCJDaGFydEFwaS5BdXRoVG9rZW4iLHtjb2xvcjoiIzE3MyJ9KTt2YXIgcjshZnVuY3Rpb24oZSl7ZVtlLkV4cGlyYXRpb25SZXNlcnZlPTNlNV09IkV4cGlyYXRpb25SZXNlcnZlIixlW2UuTWF4UmV0cmllcz0zXT0iTWF4UmV0cmllcyIsZVtlLlJldHJ5RGVsYXlNdWx0aXBsaWVyPTFlM109IlJldHJ5RGVsYXlNdWx0aXBsaWVyIixlW2UuRmFsbGJhY2tFeHBpcmF0aW9uPTE0NGU1XT0iRmFsbGJhY2tFeHBpcmF0aW9uIixlW2UuTWluRXhwaXJhdGlvbj0zZTVdPSJNaW5FeHBpcmF0aW9uIn0ocnx8KHI9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKCl7dGhpcy5pbnZhbGlkYXRlZD1uZXcgaS5EZWxlZ2F0ZSx0aGlzLl90aWQ9MCx0aGlzLl9vbkdvaW5nQXV0aFRva2VuUmVxdWVzdD1udWxsLHRoaXMuX29uT25saW5lPSgpPT57YS5sb2dJbmZvKCJPbmxpbmUsIG5ldyB0b2tlbiB3aWxsIGJlIGZldGNoZWQgaWYgbmVlZGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpfSx0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2U9KCk9PnsidmlzaWJsZSI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJihhLmxvZ0luZm8oIlBhZ2UgdmlzaWJsZSwgbmV3IHRva2VuIHNob3VsZCBiZSBmZXRjaGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpKX0sd2luZG93LmxvZ2luU3RhdGVDaGFuZ2V8fCh3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgaS5EZWxlZ2F0ZSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKGU9PntlfHwodGhpcy5fc2V0KHdpbmRvdy51c2VyLmF1dGhfdG9rZW4pLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpKX0pKSx0aGlzLl9zZXQod2luZG93LnVzZXIuYXV0aF90b2tlbiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5fb25PbmxpbmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eUNoYW5nZSl9ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uT25saW5lKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2UpfWdldChlKXtyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/IWUmJnRoaXMuY3VycmVudFRva2VuSXNWYWxpZCgpPyhhLmxvZ0luZm8oYFVzaW5nIGNhY2hlZCB0b2tlbiAke3RoaXMuX2NhY2hlLnRva2VufWApLFByb21pc2UucmVzb2x2ZSh0aGlzLl9jYWNoZS50b2tlbikpOndpbmRvdy5uYXZpZ2F0b3Iub25MaW5lP3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0fHw9dGhpcy5fZmV0Y2goQm9vbGVhbihlKSwwKS50aGVuKChlPT57CmlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZCl0aHJvdyBuZXcgRXJyb3IoIlVzZXIgbG9nZ2VkIG91dCB3aGlsZSB0aGUgcmVxdWVzdCB3YXMgaW4gZmxpZ2h0Iik7cmV0dXJuIHRoaXMuX3NldChlKSxlfSkpLmNhdGNoKChlPT4oYS5sb2dFcnJvcihgRXJyb3IgZmV0Y2hpbmcgbmV3IHRva2VuOiAke2UmJmUubWVzc2FnZX1gKSwiIikpKS5maW5hbGx5KCgoKT0+e3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0PW51bGx9KSk6KGEubG9nV2FybigiT2ZmbGluZSwgY2Fubm90IGZldGNoIG5ldyB0b2tlbiwgdXNpbmcgY2FjaGVkIHRva2VuIiksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NhY2hlLnRva2VuKSk6UHJvbWlzZS5yZXNvbHZlKCIiKX1yZXNldCgpe3RoaXMuX3NldCh2b2lkIDApLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpfWN1cnJlbnRUb2tlbklzVmFsaWQoKXtyZXR1cm4hd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCEhdGhpcy5fY2FjaGUmJihwZXJmb3JtYW5jZS5ub3coKTx0aGlzLl9jYWNoZS5tb25vVmFsaWRUaHJ1JiZEYXRlLm5vdygpPHRoaXMuX2NhY2hlLndhbGxWYWxpZFRocnUpfV9zZXQoZSl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJnZvaWQgMCE9PWUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7aWYoIiI9PT1lKXJldHVybiAxNDRlNTt0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGF0b2IoZS5zcGxpdCgiLiIpWzFdLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSksXz0xZTMqKHQuZXhwLXQuaWF0KTtpZighaXNGaW5pdGUoXykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cGlyYXRpb24iKTtyZXR1cm4gTWF0aC5tYXgoXy0zZTUsM2U1KX1jYXRjaCh0KXtyZXR1cm4gYS5sb2dFcnJvcihgJHtlfSBpcyBpbnZhbGlkOiAke3QubWVzc2FnZX1gKSwxNDRlNX19KGUpO3RoaXMuX2NhY2hlPXt0b2tlbjplLG1vbm9WYWxpZFRocnU6cGVyZm9ybWFuY2Uubm93KCkrdCx3YWxsVmFsaWRUaHJ1OkRhdGUubm93KCkrdH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksdGhpcy5fdGlkPXNldFRpbWVvdXQoKCgpPT57d2luZG93Lm5hdmlnYXRvci5vbkxpbmU/dGhpcy5yZXNldCgpOmEubG9nSW5mbygiT2ZmbGluZSwgY2FjaGUgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQiKX0pLHQpLGEubG9nSW5mbyhgQ2FjaGVkIGZvciAke3R9IG1zOiAke2V9YCl9ZWxzZSB0aGlzLl9jYWNoZT17dG9rZW46IiIsbW9ub1ZhbGlkVGhydTotMS8wLHdhbGxWYWxpZFRocnU6LTEvMH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksYS5sb2dJbmZvKCJDYWNoZSBkcm9wcGVkIil9X2ZldGNoKGUsdCl7cmV0dXJuIGEubG9nTm9ybWFsKGBGZXRjaGluZyBhIG5ldyB0b2tlbiwgZ3JhYlNlc3Npb249JHtlfWApLCgwLG4uZmV0Y2gpKCIvcXVvdGVfdG9rZW4vIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTplPyJncmFiU2Vzc2lvbj10cnVlIjoiIn0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYFJlc3BvbnNlIHN0YXR1cyBpcyBub3Qgb2s6ICR7ZS5zdGF0dXN9YCk7cmV0dXJuIGUuanNvbigpLnRoZW4oU3RyaW5nKX0pLChfPT57aWYodD49Myl0aHJvdyBfO3JldHVybiBhLmxvZ1dhcm4oIlJlcXVlc3QgZmFpbGVkLCB3aWxsIHJldHJ5IiksZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT5zZXRUaW1lb3V0KHQsMWUzKmUpKSl9KHQpLnRoZW4oKCgpPT50aGlzLl9mZXRjaChlLHQrMSkpKX0pKX1hc3luYyBfdHJ5VG9VcGRhdGVUb2tlbigpe3RoaXMuX2NhY2hlLnRva2VuIT09YXdhaXQgdGhpcy5nZXQoKSYmdGhpcy5pbnZhbGlkYXRlZC5maXJlKCl9fX0sOTMwMDQ1KGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse0pTT05EYXRhSGFuZGxlcjooKT0+YX0pO3ZhciBzPV8oNzgzMzQwKTtmdW5jdGlvbiBpKGUpe3JldHVybntpbmRleDplLmksdmFsdWU6ZS52fX1mdW5jdGlvbiBuKGUpe2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBfPWVbdF07Xy50JiYoXy50dXJuYXJvdW5kPWVbdF0udCksInMiaW4gZVt0XSYmZVt0XS5zJiYhXy5zZXJpZXMmJihfLnNlcmllcz1lW3RdLnMubWFwKGkpKSwic3QiaW4gZVt0XSYmZVt0XS5zdCYmIV8uc2VyaWVzJiYoXy5zZXJpZXM9ZVt0XS5zdC5tYXAoaSkpfX1jbGFzcyBhe3NldF9icm9rZXIoZSl7cmV0dXJuW2VdfXNldF9kYXRhX3F1YWxpdHkoKXtyZXR1cm5bImxvdyJdfXF1b3RlX2NyZWF0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1xdW90ZV9kZWxldGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cXVvdGVfc2V0X2ZpZWxkcyhlLHQpe3JldHVybltlXS5jb25jYXQodCl9cXVvdGVfYWRkX3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX3JlbW92ZV9zeW1ib2xzKGUsdCl7cmV0dXJuW2VdLmNvbmNhdCh0KX1xdW90ZV9mYXN0X3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX2hpYmVybmF0ZV9hbGwoZSl7cmV0dXJuW2VdfWRlcHRoX2NyZWF0ZV9zZXNzaW9uKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWRlcHRoX2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc3ltYm9sKGUsdCl7cmV0dXJuW2UsdF19ZGVwdGhfY2xlYXJfc3ltYm9sKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc2NhbGUoZSx0KXtyZXR1cm5bZSx0XX1jaGFydF9jcmVhdGVfc2Vzc2lvbihlLHQpe3JldHVybltlLHQ/ImRpc2FibGVfc3RhdGlzdGljcyI6IiJdfWNoYXJ0X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1zZXRfYXV0aF90b2tlbihlKXtyZXR1cm5bZV19c2V0X2xvY2FsZShlLHQpe3JldHVybltlLHRdfXN3aXRjaF90aW1lem9uZShlLHQpe3JldHVybltlLHRdfXJlc29sdmVfc3ltYm9sKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWNyZWF0ZV9zZXJpZXMoZSx0LF8scyxpLG4sYSl7cmV0dXJuW2UsdCxfPV98fCIiLHMsaSxuLGFdfXJlbW92ZV9zZXJpZXMoZSx0KXtyZXR1cm5bZSx0XX1tb2RpZnlfc2VyaWVzKGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpLG5dfQpyZXF1ZXN0X21vcmVfZGF0YShlLHQsXyl7cmV0dXJuW2UsdCxfXX1zZXRfZnV0dXJlX3RpY2ttYXJrc19tb2RlKGUsdCl7cmV0dXJuW2UsdF19cmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhKGUpe3JldHVybltlXX1jcmVhdGVfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybltlLHQsXz1ffHwiIixzLGldLmNvbmNhdChuKX1jcmVhdGVfY2hpbGRfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybiB0aGlzLmNyZWF0ZV9zdHVkeShlLHQsXyxzLGksbil9cmVtb3ZlX3N0dWR5KGUsdCl7cmV0dXJuW2UsdF19bW9kaWZ5X3N0dWR5KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfW5vdGlmeV9zdHVkeShlLHQsXyxzKXtyZXR1cm5bZSx0LF89X3x8IiIsc119Y3JlYXRlX3BvaW50c2V0KGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpXS5jb25jYXQobil9bW9kaWZ5X3BvaW50c2V0KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfXJlbW92ZV9wb2ludHNldChlLHQpe3JldHVybltlLHRdfXJlcXVlc3RfbW9yZV90aWNrbWFya3MoZSx0LF8pe3JldHVybltlLHQsX119Z2V0X2ZpcnN0X2Jhcl90aW1lKGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9jcmVhdGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cmVwbGF5X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1yZXBsYXlfcmVzZXQoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X3N0YXJ0KGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9zdG9wKGUsdCl7cmV0dXJuW2UsdF19cmVwbGF5X3N0ZXAoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2FkZF9zZXJpZXMoZSx0LF8scyl7cmV0dXJuW2UsdCxfLHNdfXJlcGxheV9yZW1vdmVfc2VyaWVzKGUsdCxfLHMpe3JldHVybltlLHQsXyxzXX1yZXBsYXlfc2V0X3Jlc29sdXRpb24oZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2dldF9kZXB0aChlLHQsXyxzKXtyZXR1cm5bZSx0LF8sc119Y29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKSxfPXZvaWQgMD09PWUuaW5kZXhfZGlmZj9bXTplLmluZGV4X2RpZmYubWFwKChlPT4oe29sZDplWzBdLG5ldzplWzFdfSkpKTtyZXR1cm57Li4uZSxtYXJrczp0LGluZGV4X2RpZmY6XyxjbGVhcjowPT09ZS5jaGFuZ2VzLmxlbmd0aCYmMD09PV8ubGVuZ3RoJiYwPT09dC5sZW5ndGh9fWdldERhdGFVcGRhdGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSl7cmV0dXJuIGUucGFyYW1zWzFdfXByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhlLHQsXyl7Zm9yKGNvbnN0W2ksbl1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgdD0icGxvdHMiaW4gbj9uLnBsb3RzOm4uc2VyaWVzLGE9e2N1c3RvbUlkOmksdHVybmFyb3VuZDpuLnR1cm5hcm91bmQscGxvdHM6dH07Im5zImluIG4mJm4ubnMmJihhLm5vbnNlcmllcz1uLm5zKSwibGJzImluIG4mJm4ubGJzJiYoYS5sYXN0QmFyPXtjbG9zZVRpbWU6bi5sYnMuYmFyX2Nsb3NlX3RpbWV9KTtmb3IoY29uc3QgZSBvZiBhLnBsb3RzKWZvcihjb25zdFt0LF9db2YgT2JqZWN0LmVudHJpZXMoZS52YWx1ZSkpXyYmTWF0aC5hYnMoXyk+PTFlMTAwJiYoZS52YWx1ZVsrdF09dm9pZCAwKTtfKGUsaSx7bWV0aG9kOnMuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlLHBhcmFtczphfSl9fXVucGFjayhlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dC5tJiZ0LnAmJih0Lm1ldGhvZD10Lm0sdC5wYXJhbXM9dC5wLHQudGltZT10LnQpO2NvbnN0IF89dC5wYXJhbXNbMV07c3dpdGNoKHQubWV0aG9kKXtjYXNlInFzZCI6dC5tZXRob2Q9InF1b3RlX3N5bWJvbF9kYXRhIixfLnN5bWJvbG5hbWU9Xy5uLF8uc3RhdHVzPV8ucyxfLnZhbHVlcz1fLnYsXy52YWx1ZXMuY2hhbmdlPV8udi5jaCxfLnZhbHVlcy5sYXN0X3ByaWNlPV8udi5scCxfLnZhbHVlcy5jaGFuZ2VfcGVyY2VudD1fLnYuY2hwLGRlbGV0ZSBfLm4sZGVsZXRlIF8ucyxkZWxldGUgXy52LGRlbGV0ZSBfLnZhbHVlcy5jaCxkZWxldGUgXy52YWx1ZXMubHAsZGVsZXRlIF8udmFsdWVzLmNocDticmVhaztjYXNlImR1Ijp0Lm1ldGhvZD0iZGF0YV91cGRhdGUiLG4oXyk7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjpmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhfKSlfW2VdLnR1cm5hcm91bmQ9X1tlXS50O2JyZWFrO2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6bihfKX1yZXR1cm4gdH1wcmVwYXJlRW5jb2RlTWVzc2FnZShlLHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7bTplLHA6dH0pfXJlcXVlc3RfZGF0YV9wcm9ibGVtcygpe3JldHVybltdfX19LDQ2MzQ0NyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtIYW5kbGVySW5mbzooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LF8pe3RoaXMuaGFuZGxlcj1lLHRoaXMuY3VzdG9tSWQ9dCx0aGlzLnNpbmdsZVNob3Q9X319fSw3ODMzNDAoZSx0LF8peyJ1c2Ugc3RyaWN0Ijt2YXIgcyxpLG47Xy5kKHQse1dlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9PmksV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9Pm4sV2ViY2hhcnRSZXNwb25zZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUmVxdWVzdERhdGFQcm9ibGVtcz0icmVxdWVzdF9kYXRhX3Byb2JsZW1zIixlLlByb3RvY29sRXJyb3I9InByb3RvY29sX2Vycm9yIixlLlByb3RvY29sU3dpdGNoZWQ9InByb3RvY29sX3N3aXRjaGVkIixlLkNyaXRpY2FsRXJyb3I9ImNyaXRpY2FsX2Vycm9yIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlN0dWRpZXNNZXRhZGF0YT0ic3R1ZGllc19tZXRhZGF0YSIsZS5UaW1lU2NhbGVVcGRhdGU9InRpbWVzY2FsZV91cGRhdGUiLGUuVGlja01hcmtVcGRhdGU9InRpY2ttYXJrX3VwZGF0ZSIsZS5EVT0iZHUiLGUuRGF0YVVwZGF0ZT0iZGF0YV91cGRhdGUiLAplLkluZGV4VXBkYXRlPSJpbmRleF91cGRhdGUiLGUuVGltZVNjYWxlQ29tcGxldGVkPSJ0aW1lc2NhbGVfY29tcGxldGVkIixlLlFTRD0icXNkIixlLlF1b3RlTGlzdEZpZWxkPSJxdW90ZV9saXN0X2ZpZWxkcyIsZS5RdW90ZVN5bWJvbERhdGE9InF1b3RlX3N5bWJvbF9kYXRhIixlLlF1b3RlQ29tcGxldGVkPSJxdW90ZV9jb21wbGV0ZWQiLGUuRGVwdGhTeW1ib2xFcnJvcj0iZGVwdGhfc3ltYm9sX2Vycm9yIixlLkRlcHRoU3ltYm9sU3VjY2Vzcz0iZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiLGUuRGVwdGhEYXRhPSJkZCIsZS5EZXB0aERhdGFVcGRhdGU9ImRwdSIsZS5EZXB0aEJhckxhc3RWYWx1ZT0iZGVwdGhfYmFyX2xhc3RfdmFsdWUiLGUuQ2xlYXJEYXRhPSJjbGVhcl9kYXRhIixlLlNlcmllc1RpbWVGcmFtZT0ic2VyaWVzX3RpbWVmcmFtZSIsZS5TeW1ib2xSZXNvbHZlZD0ic3ltYm9sX3Jlc29sdmVkIixlLlNlcmllc0Vycm9yPSJzZXJpZXNfZXJyb3IiLGUuU2VyaWVzQ29tcGxldGVkPSJzZXJpZXNfY29tcGxldGVkIixlLlN0dWR5TG9hZGluZz0ic3R1ZHlfbG9hZGluZyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZS5SZXBsYXlFcnJvcj0icmVwbGF5X2Vycm9yIixlLlJlcGxheVBvaW50PSJyZXBsYXlfcG9pbnQiLGUuUmVwbGF5T2s9InJlcGxheV9vayIsZS5SZXBsYXlSZXNvbHV0aW9ucz0icmVwbGF5X3Jlc29sdXRpb25zIixlLlJlcGxheURhdGFFbmQ9InJlcGxheV9kYXRhX2VuZCIsZS5SZXBsYXlJbnN0YW5jZUlkPSJyZXBsYXlfaW5zdGFuY2VfaWQiLGUuUmVwbGF5RGVwdGg9InJlcGxheV9kZXB0aCJ9KG58fChuPXt9KSl9LDUyMTMzMyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtnZXREZWZhdWx0UmVzb2x1dGlvbnM6KCk9Pm59KTt2YXIgcz1fKDkzMDIzMSksaT1fKDYxOTk5Mik7ZnVuY3Rpb24gbigpe2NvbnN0IGU9WyIxIiwiMyIsIjUiLCIxNSIsIjMwIiwiNDUiLCI2MCIsIjEyMCIsIjE4MCIsIjI0MCIsIjFEIiwiMVciLCIxTSIsIjNNIiwiNk0iLCIxMk0iLCIxUiIsIjEwUiIsIjEwMFIiLCIxMDAwUiJdO2lmKCEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7bGV0IHQ9WyIxUyIsIjVTIiwiMTBTIiwiMTVTIiwiMzBTIiwiNDVzIl07cmV0dXJuKDAsaS5pc1RpY2tzRW5hYmxlZCkoKSYmKHQ9WyIxVCIsIjEwVCIsIjEwMFQiLCIxMDAwVCJdLmNvbmNhdCh0KSksdC5jb25jYXQoZSl9cmV0dXJuIGV9fSwyMTc1MjcoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7dHlwZXM6KCk9PnN9KTtjb25zdCBzPXtFQ09OT01JQzoiZWNvbm9taWMiLFFVQU5ETDoicXVhbmRsIn19LDEyNzcxMShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siY21lIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sImJvdmVzcGEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwicWVjb21xYSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJzYW50YW5kZXJjb21hciI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19fScpfSw1MDI1ODcoZSl7InVzZSBzdHJpY3QiCjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJmcmVlIjp7IkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MX0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjJ9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjF9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo1MCwibGltaXQiOjMsImNvbXBsZXhfbGltaXQiOjAsInByaW1pdGl2ZV9saW1pdCI6M30sIlNDUkVFTkVSX0lOVEVSVkFMUyI6eyJpbnRlcnZhbCI6WyIxRCIsIjFXIiwiMU0iXX0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6MX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6MX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjJ9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyI6eyJsaW1pdCI6MX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjozMH0sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6MjB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjoxfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6MjAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MjB9fSwicHJvIjp7IkRSQVdJTkdTIjp7fSwiQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIjp7fSwiQkFDS1RFU1RJTkdfRVhURU5ERURfTUVUUklDUyI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9YTFNYIjp7fSwiQkFDS1RFU1RJTkdfRVhQT1JUX0NTViI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUEVSU09OQUxfU1VQUE9SVCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6NX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6Mn0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MiwicHJpbWl0aXZlX2xpbWl0IjoyfSwiQ1VTVE9NX0lOVEVSVkFMUyI6e30sIk1VTFRJUExFX1dBVENITElTVFMiOnt9LCJJTVBPUlRfV0FUQ0hMSVNUUyI6e30sIkVYUE9SVF9XQVRDSExJU1RTIjp7fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6NX0sIkZVTkRBTUVOVEFMU19GT1JFQ0FTVCI6e30sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6NH0sIlRWX1BST1NUVURJRVMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtY2hhcnRwYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoxMH0sIlRWX1ZPTFVNRUJZUFJJQ0UiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJUSUNLX0JZX1RJQ0tfUFVTSF9EQVRBIjp7fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0IjoyMCwiY29tcGxleF9saW1pdCI6MjAsInByaW1pdGl2ZV9saW1pdCI6MjB9LCJTQ1JFRU5FUl9BVVRPX1JFRlJFU0giOnt9LCJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0VYUE9SVF9DU1ZfREFUQSI6e30sIlNDUkVFTkVSX05FV19TSE9XX1JFU1RSSUNURURfREFUQSI6e30sIlNIT1dfQk9ORFNfUkVTVFJJQ1RFRF9EQVRBIjp7fSwiUE9SVEZPTElPX0RBVEFfTElNSVQiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjozfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6NTAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NTB9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMW0iLCI1bSIsIjE1bSIsIjMwbSIsIjFoIiwiMmgiLCI0aCIsIjFEIiwiMVciLCIxTSJdfSwiTk9fU1BPTlNPUkVEX0FEUyI6eyJkaXNhYmxlX29uX2xpdGVfcGxhbiI6ImV4Y2x1ZGVfbW9iaWxlIn0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6OTk5OTl9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxMH0sIklEQ19BVkFJTEFCTEVfREVMQVkiOnt9LCJTVEFUVVMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBUl9SRVBMQVlfSU5UUkFEQVkiOnsibGltaXQiOjF9LCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyI6e30sIlNIT1dTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJBTEVSVFNfV0VCSE9PSyI6e30sIkFMRVJUU19PTl9FQVJOSU5HUyI6e30sIkFMRVJUU19PTl9GVU5EQU1FTlRBTF9NRVRSSUNTIjp7fSwiREVFUF9GVU5EQU1FTlRBTFNfSElTVE9SWSI6e30sIlBVQkxJU0hfUFJPVEVDVEVEX1NDUklQVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIklERUFfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiVHdpdHRlciIsIllvdXR1YmUiXX0sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJNVUxUSV9NT05JVE9SIjp7fSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjd9LCJJTlRSQURBWV9FWENIQU5HRSI6e30sIlZPTFVNRV9QUk9GSUxFIjp7fSwiU1RSRUFNU19BQ0NFU1MiOnsiZm9sbG93ZXJzIjoxMH0sIlNNU18yRkFfVkVSSUZJQ0FUSU9OIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTT0NJQUxfQUNUSVZJVFkiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjoxMDAwfSwiRklFTERTX1BFUk1JU1NJT05TIjp7Iml0ZW1zIjpbInJlZmJvbmRzIl19LCJDVVNUT01fUkFOR0VfQkFSUyI6e30sIkZBU1RFU1RfREFUQV9GTE9XIjp7fSwiU0VTU0lPTl9WT0xVTUVfUFJPRklMRSI6e30sIlNIT1dfRVRGX0hPTERJTkdTX0RBVEEiOnt9fSwicHJvX3JlYWx0aW1lIjp7ImV4dGVuZHMiOiJwcm8iLCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0IjoxMH0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6NH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NCwicHJpbWl0aXZlX2xpbWl0Ijo0fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjd9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXByb3N0dWRpZXMiLCJ0di1jaGFydHBhdHRlcm5zIl19LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6OX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MTAwLCJjb21wbGV4X2xpbWl0IjoxMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwfSwiQUxFUlRTX01VTFRJQ09ORElUSU9OUyI6eyJjb25kaXRpb25fbGltaXQiOjV9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNBTl9FRElUX1BVQkxJQ19DSEFUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjB9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkNVU1RPTV9GT1JNVUxBUyI6e30sIklOVFJBREFZX0VYT1RJQ19DSEFSVFMiOnt9LCJLQUdJX1JFTktPIjp7fSwiSU5UUkFEQVlfU1BSRUFEIjp7fSwiQ1VTVE9NX0NIQVRTIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6NH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NzV9fSwicHJvX3ByZW1pdW0iOnsiZXh0ZW5kcyI6InByb19yZWFsdGltZSIsIkJBUl9ERVRBTElaQVRJT04iOnt9LCJTQ1JJUFRfRVhFQ1VUSU9OX09OX0hJU1RPUllfQkFSUyI6e30sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjk5OTk5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0Ijo4fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo2LCJwcmltaXRpdmVfbGltaXQiOjZ9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTF9HUkFQSFNfTEFSR0VfVElNRV9SQU5HRSI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo5OTk5OSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1BBVFRFUk5TIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiLCJ0di1jaGFydF9wYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoyMH0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoyNH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6NDAwLCJjb21wbGV4X2xpbWl0Ijo0MDAsInByaW1pdGl2ZV9saW1pdCI6NDAwLCJ3YXRjaGxpc3RfbGltaXQiOjIsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0Ijo1fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6NTB9LCJJREVBX1NJR05BVFVSRSI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUFJPRklMRV9XRUJTSVRFX0ZJRUxEIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo0fSwiQkFSX1JFUExBWV8xUyI6e30sIkFMRVJUU19OT19FWFBJUkFUSU9OIjp7fSwiUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkRFRVBfSElTVE9SWV9CQUNLVEVTVCI6e30sIkFMRVJUU19PTl9TRUNPTkRTIjp7fSwiUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIjp7fSwiRVhURU5ERURfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiRmFjZWJvb2siLCJJbnN0YWdyYW0iLCJXZWJzaXRlIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTRUNPTkRTX0lOVEVSVkFMUyI6e30sIlRQT19QRVJJT0RJQyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di12b2x1bWVieXByaWNlIl19LCJUUE9fQ0hBUlRfU1RZTEUiOnt9LCJWT0xVTUVfQ0FORExFUyI6e30sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6NjB9LCJWT0xVTUVfRk9PVFBSSU5UIjp7fSwiUElORV9TQ1JFRU5FUiI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjV9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEwMH0sIlNPQ0lBTF9UUlVTVEVEX1VTRVIiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkZPTExPV0VSU19PTkxZX01JTkRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9fSwicHJvX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX3ByZW1pdW0iLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjozMH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6Mjl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjEwfSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0IjoxMiwicHJpbWl0aXZlX2xpbWl0IjoxMn0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjV9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjYwMCwiY29tcGxleF9saW1pdCI6NjAwLCJwcmltaXRpdmVfbGltaXQiOjYwMCwid2F0Y2hsaXN0X2xpbWl0IjoxMCwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjIwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6ODB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo2fSwiQkFSX1JFUExBWV8xUyI6e30sIkJBUl9SRVBMQVlfMVQiOnt9LCJFWFBPUlRfRklOQU5DSUFMU19EQVRBIjp7fSwiVElDS19JTlRFUlZBTFMiOnt9LCJGSVJTVF9QUklPUklUWV9TVVBQT1JUIjp7fSwiQlVZX1BST19EQVRBIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6Nn0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MTI1fX0sInByb19wcmVtaXVtX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX2V4cGVydCIsIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjUwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0Ijo0OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MTZ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjk5OTk5LCJwcmltaXRpdmVfbGltaXQiOjI1fSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo0MH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo0MDAwLCJsaW1pdCI6MTAwMCwiY29tcGxleF9saW1pdCI6MTAwMCwicHJpbWl0aXZlX2xpbWl0IjoxMDAwLCJ3YXRjaGxpc3RfbGltaXQiOjE1LCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6MzB9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyMDB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxMH0sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjd9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjE1MH19fScpCn19XSk7"}},"time_used":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/35342.7d61a7ec764ba6b2c6bd.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.487Z","timestamp":1785136901487,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35342.7d61a7ec764ba6b2c6bd.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-327\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3b6ae2b87524bab0d050011dc45ec0e6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":807,"size_decoded":1107,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (807), with no line terminators","md5":"50d3abce4215ba71259575a94352a7c1","sha1":"f6730a01f60611b0d6d8b26b0771318b8ba5e72d","sha256":"8645bbc80c253b897320c57fa607b4f6898034ea24adf1e1ef5f754c8b1255a2","sha512":"cf887dea6f55668c33daa46b54a9fe526a84dee52138a92728920e878e21d5bc8b516e76ce087a8a0580365ea43b8dba7239895e6136f44d43645ef76695bdba","ssdeep":"","tlshash":"ae0155c4a5887e3bac6233f8f61291131754dd19fdda2e427a66e08e80a62e2407a930","first_seen":"2026-07-17T14:15:58.314201Z","last_seen":"2026-07-28T06:17:53.427979Z","times_seen":123,"resource_available":false,"data":"LmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLVlGWFZKTkVRLnByaW1hcnktWUZYVkpORVEsLmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLVlGWFZKTkVRLnNlY29uZGFyeS1ZRlhWSk5FUSwuZmF2b3JpdGVzSWNvbkJ1dHRvblRvZ2dsZWQtWUZYVkpORVEudGVydGlhcnktWUZYVkpORVF7LS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmFjdGlvbi15bUZ1OVFFRHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5zaG93T25Ib3Zlci15bUZ1OVFFRHstLW1lbnUtaXRlbS1pcy1ob3ZlcmVkLW9yLWZvY3VzZWQ6bWluKDEsdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtaG92ZXJlZCwwKSArIHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWZvY3VzZWQtdmlzaWJsZSwwKSl9QG1lZGlhIG5vdCAoYW55LXBvaW50ZXI6Y29hcnNlKXsuc2hvd09uSG92ZXIteW1GdTlRRUR7b3BhY2l0eTptaW4oMSx2YXIoLS1tZW51LWl0ZW0taXMtaG92ZXJlZC1vci1mb2N1c2VkLDApICsgdmFyKC0tbWVudS1pdGVtLWFjdGlvbi1mb3JjZVZpc2libGUsMCkpfX0uc2hvd09uSG92ZXIteW1GdTlRRUQ6aGFzKDpmb2N1cy12aXNpYmxlKXstLW1lbnUtaXRlbS1hY3Rpb24tZm9yY2VWaXNpYmxlOjF9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/support/support-portal-problems/?language=en","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"108.157.214.23","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.704Z","timestamp":1785136901704,"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":"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 /support/support-portal-problems/?language=en HTTP/1.1\r\nHost: s.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en\r\nx-language: en\r\nx-requested-with: XMLHttpRequest\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 301 \r\ncontent-type: text/html; charset=utf-8\r\ncontent-length: 0\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 07:21:31 GMT\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nlocation: https://www.tradingview.com/support/support-portal-problems/?language=en\r\nexpires: Mon, 27 Jul 2026 07:23:31 GMT\r\ncache-control: max-age=120\r\ncontent-security-policy: default-src 'self' https: data: blob: wss: 'unsafe-inline'; base-uri 'none'; object-src 'none'; frame-ancestors '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/\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin, origin-when-cross-origin\r\nx-content-type-options: nosniff, nosniff\r\nserver: tv\r\nx-cache: Hit from cloudfront\r\nage: 10\r\nvia: 1.1 9b9a19a17f71baf11790ad734100cb88.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN56-P1\r\nx-amz-cf-id: O9uJpkqzGishdUOX_G8b5OC2B8NCL-T1-E7ZXGnZTDKYe9NjLAMIFw==\r\n\r\n","headers":null,"cookies":null,"status_code":"301","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":"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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/json","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"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":"s3-symbol-logo.tradingview.com/crypto/XTVCDEGEN4.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.609Z","timestamp":1785136905609,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCDEGEN4.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/93426.0083d163d728bff784d9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.361Z","timestamp":1785136900361,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93426.0083d163d728bff784d9.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: ce9b73929abbe1cec47a20085c32d000\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":57327,"size_decoded":21041,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3069)","md5":"2d347eb2f7b046ec91197c1181d0e178","sha1":"fa3f74deaffe52fd98be22519cbaf8bdaab25947","sha256":"fb7eabec75f8061e8b8fc70989b366069567cd7a0d2cd1a967ea3d6ca229cd65","sha512":"6dfe90357513672ec3cb8f8c8d0c67ae193c641e15eaeb723bf4a2748ee7b3d22bb3fdf28d26b845a0b94c9893fac86c325ec3b65c99d6c7edc47634f2033447","ssdeep":"1536:6J/J5J4hb3JAHbuOrju2mA83n6XAtKD/BHJMs3v5c1W0U9z51qKrDGwPzPAIF7Vg:vhb3JAHtVmAdDUgQlbF","tlshash":"c6430856b251246721da00eba077100bba3e55d5744484bdb13cdcce26aec8eb2b7fbd","first_seen":"2026-07-23T13:54:09.127319Z","last_seen":"2026-07-28T06:17:53.420467Z","times_seen":309,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTM0MjZdLHsyNzcwMjkoZSx0LG8peygwLG8oMzYzMjY5KS5zZXRDbGFzc2VzKSgpfSw4NDI5ODMoZSx0LG8pe3ZhciBuPW8oMTUyNjk5KSxpPW8oMzg2OTMxKSxzPW8oMzg0MDE3KSxyPW8oMTUwMTUwKSxhPW8oMTYwMjk2KSxsPW8oOTMyMzY1KSxjPW8oMjIxMDYxKTtjb25zdCBoPSgwLGMuZ2V0TG9nZ2VyKSgiQ29tbW9uLkV2ZXJjb29raWUiKTtvKDQ2NzE1OCk7Y29uc3QgZD1uZXcgd2luZG93LmV2ZXJjb29raWUoe2RvbWFpbjooMCxhLmlzUHJvZCkoKT8iLnRyYWRpbmd2aWV3LmNvbSI6bG9jYXRpb24uaG9zdG5hbWUsbHNvOiExfSksdT0oMCxjLmdldExvZ2dlcikoIkNvbW1vbi5FdmVyY29va2llIik7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbT0vXlswLTlhLWZdezh9LVswLTlhLWZdezR9LVsxLTVdWzAtOWEtZl17M30tWzg5YWJdWzAtOWEtZl17M30tWzAtOWEtZl17MTJ9JC9pO2NsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLl9jb29raWVOYW1lPSJ0dl9lY3VpZCIsdGhpcy5fZW52PW51bGwsdGhpcy5jaGVjaz0oKT0+e2lmKHRoaXMuX2lzRWNOb3RBdmFpbGFibGUoKXx8bC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKCJfdHZfZWNfaWdub3JlX3VzZXJuYW1lIik9PT13aW5kb3cudXNlci51c2VybmFtZSlyZXR1cm47Y29uc3QgZT13aW5kb3cudXNlci5pZDt0aGlzLl9nZXRFY1VpZHMoKS5jYXRjaCgoZT0+e3UubG9nV2FybihgRXJyb3IgdGhyb3duIGluc2lkZSBnZXRFY1VpZHMoKS4gTGVhdmUgZXZlcmNvb2tpZSBkYXRhIHVudG91Y2hlZC4gVXNlcjogJHt3aW5kb3cudXNlci51c2VybmFtZX0gKCR7d2luZG93LnVzZXIuaWR9KVxuQWN0dWFsIGVycm9yOiAke2V9YCl9KSkudGhlbigodD0+e2lmKHZvaWQgMD09PXQpcmV0dXJuIHZvaWQgdS5sb2dXYXJuKGBnZXRFY1VpZHMoKSByZXR1cm5lZCBubyBkYXRhLiBMZWF2ZSBldmVyY29va2llIGRhdGEgdW50b3VjaGVkLiBVc2VyOiAke3dpbmRvdy51c2VyLnVzZXJuYW1lfSAoJHt3aW5kb3cudXNlci5pZH0pYCk7bGV0IG49dC5sb2NhbEVjVWlkO2NvbnN0IGk9dC5yZW1vdGVFY1VpZHM7biYmbS50ZXN0KG4pfHwobj0oMCxyLmd1aWQpKCksZC5zZXQodGhpcy5fY29va2llTmFtZSxuKSk7Y29uc3QgYT10PT57dC5zdWJzY3JpcHRpb25fY2FuY2VsZWQmJlByb21pc2UuYWxsKFtvLmUoNDkzODApLG8uZSg1MjM5Niksby5lKDIwMzU0KSxvLmUoNzQ4MzApLG8uZSgxODQwMCksby5lKDQzNDMzKSxvLmUoMzIzODcpLG8uZSg0ODAyNyldKS50aGVuKG8uYmluZChvLDY2NTMxOCkpLnRoZW4oKGU9PmUuY3JlYXRlVHJpYWxDYW5jZWxlZERpYWxvZygpKSksZT09PXdpbmRvdy51c2VyLmlkJiZ0LmlzX3N1c3BpY2lvdXM/bC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKCJpc19zdXNwaWNpb3VzIiwiMSIpOmwuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgiaXNfc3VzcGljaW91cyIpfTtpJiYwIT09aS5sZW5ndGgmJi0xIT09aS5pbmRleE9mKG4pfHxlIT09d2luZG93LnVzZXIuaWR8fGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IEZvcm1EYXRhO3JldHVybiB0LmFwcGVuZCgiZWN1aWQiLGUpLCgwLHMuZmV0Y2gpKCIvYWNjb3VudHMvc2V0LWVjdWlkLyIse2JvZHk6dCxjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJQT1NUIn0pLnRoZW4oKGU9PntpZihlLm9rKXJldHVybiBlLmpzb24oKS5jYXRjaCgoZT0+e2gubG9nV2FybihgRXJyb3IgaW4gcmVwb25zZS5qc29uKCkgb2YgL2FjY291bnRzL3NldC1lY3VpZC8uIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlcbkFjdHVhbCBlcnJvcjogJHtlfWApfSkpO3Rocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIHNldCByZW1vdGUgZWN1aWRzLiBSZXNwb25zZSB3YXMgbm90IE9LIil9KSl9KG4pLnRoZW4oYSl9KSkuY2F0Y2goKGU9Pnt1LmxvZ0Vycm9yKGUubWVzc2FnZStgIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlgKX0pKX0sdGhpcy5faXNFY05vdEF2YWlsYWJsZSgpfHwodGhpcy5fZW52PSgwLGEuZW52aXJvbm1lbnQpKCksKDAsYS5pc0RlYnVnKSgpJiYodGhpcy5fY29va2llTmFtZSs9Il8iK3RoaXMuX2VudikpfV9pc0VjTm90QXZhaWxhYmxlKCl7cmV0dXJuIHdpbmRvdy5UcmFkaW5nVmlldy5vbldpZGdldD8uKCl8fCF3aW5kb3cudXNlcn1fZ2V0TG9jYWxFY1VpZCgpe3JldHVybiBuZXcgUHJvbWlzZSgoZT0+e2QuZ2V0KHRoaXMuX2Nvb2tpZU5hbWUsKHQ9PntlKHQpfSkpfSkpfV9nZXRFY1VpZHMoKXtyZXR1cm4gbmV3IFByb21pc2UoKChlLHQpPT57bGV0IG87dGhpcy5fZ2V0TG9jYWxFY1VpZCgpLnRoZW4oKGU9PihvPWUsZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxvKT0+e2NvbnN0IG49bmV3IEZvcm1EYXRhO2UmJm4uYXBwZW5kKCJsb2NhbF9lY3VpZCIsZSksKDAscy5mZXRjaCkoIi9hY2NvdW50cy9nZXQtZWN1aWQvIix7Ym9keTpuLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IlBPU1QifSkudGhlbigoZT0+e2lmKGUub2spcmV0dXJuIGUuanNvbigpLmNhdGNoKChlPT57aC5sb2dXYXJuKGBFcnJvciBpbiByZXBvbnNlLmpzb24oKSBvZiAvYWNjb3VudHMvZ2V0LWVjdWlkLy4gVXNlcjogJHt3aW5kb3cudXNlci51c2VybmFtZX0gKCR7d2luZG93LnVzZXIuaWR9KVxuQWN0dWFsIGVycm9yOiAke2V9YCl9KSk7dGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZ2V0IHJlbW90ZSBlY3VpZHMuIFJlc3BvbnNlIHdhcyBub3QgT0siKX0pKS50aGVuKChlPT57dChlKX0pKS5jYXRjaCgoZT0+e28oZSl9KSl9KSl9KGUpKSkpLnRoZW4oKHQ9PntpZih2b2lkIDA9PT10KXRocm93IG5ldyBFcnJvcihgZ2V0UmVtb3RlRWNVaWRzKCkgcmV0dXJuZWQgbm8gcmVzcG9uc2UuIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlgKTtlKHtsb2NhbEVjVWlkOm8sCnJlbW90ZUVjVWlkczp0LmVjdWlkc30pfSkpLmNhdGNoKChlPT57dChlKX0pKX0pKX19dmFyIF89byg2MTM4NzApLHA9bygyMzk3MTkpLGY9bygzMTg5NzQpLHc9bygxMTczMTMpLHY9byg3MjcwOSkseT1vKDIzNTcyNCksYj1vKDkyNjk5NSk7dmFyIFM9bygxNzk3NzEpLE49bygzNDQ3ODUpLFQ9byg3NDk2NDgpO2Z1bmN0aW9uIEUoZSx0PSJ4Iil7bGV0IG89ITE7cmV0dXJuIngiIT09dCYmImJvdGgiIT09dHx8KG89b3x8ZS5vZmZzZXRXaWR0aDxlLnNjcm9sbFdpZHRoKSwieSIhPT10JiYiYm90aCIhPT10fHwobz1vfHxlLm9mZnNldEhlaWdodDxlLnNjcm9sbEhlaWdodCksb31mdW5jdGlvbiBDKGUsdD0ieCIpe2Zvcihjb25zdCBvIG9mIEFycmF5LmZyb20oZS5jaGlsZHJlbikpaWYobyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoRShvLHQpfHxDKG8sdCkpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHgoZSl7bGV0IHQ9IngiO3JldHVybiBlLm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1kaXJlY3Rpb25fYm90aCIpP3Q9ImJvdGgiOmUubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWRpcmVjdGlvbl95IikmJih0PSJ5IiksdH1mdW5jdGlvbiBMKGUpe2NvbnN0IHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC1odG1sIik7aWYodClyZXR1cm57dHlwZToiaHRtbCIsZGF0YTp0fTtjb25zdCBvPWUuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCIpO2lmKG8pcmV0dXJue3R5cGU6InRleHQiLGRhdGE6b307aWYoZS5tYXRjaGVzPy4oIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1hbGxvdy10ZXh0Iikpe3JldHVybnt0eXBlOiJ0ZXh0IixkYXRhOmUudGV4dENvbnRlbnR8fCIifX1jb25zdCBuPUFycmF5LmZyb20oZS5jaGlsZE5vZGVzKS5yZWR1Y2UoKChlLHQpPT4odC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZlLnB1c2godC50ZXh0Q29udGVudHx8IiIpLGUpKSxbXSkuam9pbigiIikudHJpbSgpO3JldHVybiBuP3t0eXBlOiJ0ZXh0IixkYXRhOm59Ont0eXBlOiJub25lIn19ZnVuY3Rpb24gRChlLHQpe2xldCBvPSExO2NvbnN0IG49ZS5jaGlsZHJlbjtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl7Y29uc3QgaT1uW2VdO2lmKGkgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmRShpLHQpKXtvPSEwO2JyZWFrfX1yZXR1cm4gb31mdW5jdGlvbiBGKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7aWYodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYodC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC1mb2N1cyIpfHx0LnF1ZXJ5U2VsZWN0b3IoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLWZvY3VzIikpKXtjb25zdCBlPXQubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKT90OnQucXVlcnlTZWxlY3RvcigiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKSxvPXgoZSk7aWYoZS5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkiKSl7aWYoIUMoZSxvKSlyZXR1cm59ZWxzZSBpZihlLm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbiIpKXtpZighRChlLG8pKXJldHVybn1lbHNlIGlmKCFFKGUsbykpcmV0dXJuOygwLE4uc2hvd09uRWxlbWVudCkodCx7Y29udGVudDpMKGUpfSk7Y29uc3Qgbj0oKT0+eygwLE4uaGlkZSkoKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLG4pLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsbil9O3QuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsbiksdC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKX19KDAsVC53aGVuRG9jdW1lbnRSZWFkeSkoKCgpPT57ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsKGU9Pntjb25zdCB0PWUudGFyZ2V0O2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpKXtjb25zdCBlPXgodCk7aWYodC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkiKSl7aWYoIUModCxlKSlyZXR1cm59ZWxzZSBpZih0Lm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbiIpKXtpZighRCh0LGUpKXJldHVybn1lbHNlIGlmKCFFKHQsZSkpcmV0dXJuOygwLE4uc2hvd09uRWxlbWVudCkodCx7Y29udGVudDpMKHQpfSk7Y29uc3Qgbz0oKT0+eygwLE4uaGlkZSkoKSxbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxvKSkpfTtbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LmFkZEV2ZW50TGlzdGVuZXIoZSxvKSkpfX0pLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsRiwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLEYsITApfSkpO3ZhciBrPW8oOTQ4MzgwKSxQPW8oOTY0NDg2KSxNPW8oODcyNTE4KTtmdW5jdGlvbiBPKGUpe2xldCB0LG89ITE7cmV0dXJuKCk9PihvfHwobz0hMCx0PWUoKSksdCl9dmFyIEk9byg1NzAxOTMpLEg9byg2ODIzODEpLFY9bygzODIyNDIpO2NvbnN0IEE9KGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KT0+KDAsVi5nZXRTZWxlY3RvclRyZWVXYWxrZXIpKGUsSC5GT0NVU0FCTEVfU0VMRUNUT1IpO2NvbnN0IFI9YFske0kuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURX09InRydWUiXWA7Y2xhc3MgVXtjb25zdHJ1Y3Rvcigpe3RoaXMuX2hhbmRsZU1vdXNlRG93bj0oKT0+e3RoaXMuX2ZvcndhcmRUYWI9dm9pZCAwfSx0aGlzLl9oYW5kbGVLZXlEb3duPWU9Pnt0aGlzLl9mb3J3YXJkVGFiPXZvaWQgMCxbOSx5Lk1vZGlmaWVycy5TaGlmdCs5XS5pbmNsdWRlcygoMCx5Lmhhc2hGcm9tRXZlbnQpKGUpKSYmKHRoaXMuX2ZvcndhcmRUYWI9IWUuc2hpZnRLZXkpfSx0aGlzLl9oYW5kbGVGb2N1cz1lPT57Y29uc3QgdD1lLnRhcmdldAo7aWYodm9pZCAwPT09dGhpcy5fZm9yd2FyZFRhYnx8ISh0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBvPXRoaXMuX2ZpbmREZWVwZXN0Rm9jdXNUcmFwRWxlbWVudChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpO2lmKCEobyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXx8IW98fG8uY29udGFpbnModCkpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQuYmx1cigpO2NvbnN0IG49by5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KTtpZihuJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HfHxuJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKXtjb25zdCBlPXRoaXMuX2ZvcndhcmRUYWI/QihvKTpCKG8sITApO2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZS5mb2N1cygpfX0sZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9oYW5kbGVGb2N1cyx7Y2FwdHVyZTohMH0pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9oYW5kbGVLZXlEb3duLHtjYXB0dXJlOiEwfSksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5faGFuZGxlTW91c2VEb3duLHtjYXB0dXJlOiEwfSl9ZGVzdHJveSgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5faGFuZGxlRm9jdXMse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlS2V5RG93bix7Y2FwdHVyZTohMH0pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX2hhbmRsZU1vdXNlRG93bix7Y2FwdHVyZTohMH0pfV9maW5kRGVlcGVzdEZvY3VzVHJhcEVsZW1lbnQoZSl7Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoUik7bGV0IG89bnVsbCxuPS0xO3JldHVybiB0LmZvckVhY2goKHQ9Pntjb25zdCBpPXRoaXMuX2NhbGN1bGF0ZVBhcmVudENvdW50KHQsZSk7aT5uJiYobj1pLG89dCl9KSksb31fY2FsY3VsYXRlUGFyZW50Q291bnQoZSx0KXtsZXQgbz0wLG49ZS5wYXJlbnRFbGVtZW50O2Zvcig7biYmbiE9PXQ7KSJ0cnVlIj09PW4uZ2V0QXR0cmlidXRlKEkuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJm8rKyxuPW4ucGFyZW50RWxlbWVudDtyZXR1cm4gb319Y29uc3QgJD1PKCgoKT0+bmV3IFUpKTtmdW5jdGlvbiBCKGUsdCl7cmV0dXJuIHQ/ZnVuY3Rpb24oZSl7Y29uc3QgdD1BKGUpO3JldHVybigwLFYuZ2V0TGFzdERlc2NlbmRhbnQpKHQpfShlKTpmdW5jdGlvbihlKXtjb25zdCB0PUEoZSk7cmV0dXJuKDAsVi5nZXRGaXJzdERlc2NlbmRhbnQpKHQpfShlKX1jb25zdCBqPU8oKCgpPT57JCgpfSkpO3ZhciBHPW8oNDUwMTQwKSxXPW8oOTk1Njc4KTt2YXIgcT1vKDUwNzQyNiksSz1vKDE0MTMxKSxKPW8oNTQ5MTk5KSxYPW8oMTU3OTE3KSx6PW8oODI3MDEpLFk9bygzODE1MTcpLFE9byg3NzkzODkpO2xldCBaLGVlO2Z1bmN0aW9uIHRlKCl7aWYod2luZG93LmluaXREYXRhLmxmcyl7Y29uc3QgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJqcy1hZG1pbi13YXJuaW5nIilbMF07ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlKX1sZXQgZT0hMDtbL15cL2NoYXJ0XC8vLC9eXC9zaGFyZS15b3VyLWxvdmVcLy8sL15cL3BpbmVcLy9dLmZvckVhY2goKHQ9Pnt0LnRlc3Qod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSYmKGU9ITEpfSkpLGUmJndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX1mdW5jdGlvbiBvZShlKXt3aW5kb3cudXNlcj0oMCxQLmRlZXBFeHRlbmQpKHt9LGUpLHdpbmRvdy5UcmFkaW5nVmlldy5jaGFuZ2VMb2dpblN0YXRlKCEwKX1mdW5jdGlvbiBuZShlKXt7Y29uc3QgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZS5jbGFzc0xpc3QudG9nZ2xlKCJpcy1hdXRoZW50aWNhdGVkIix3aW5kb3cuaXNfYXV0aGVudGljYXRlZCksZS5jbGFzc0xpc3QudG9nZ2xlKCJpcy1ub3QtYXV0aGVudGljYXRlZCIsIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKX13aW5kb3cuVFZTZXR0aW5ncyYmd2luZG93LlRWU2V0dGluZ3Muc3luYyh3aW5kb3cudXNlci5zZXR0aW5ncyksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KGUmJiExIT09d2luZG93LnVzZXIucHJvZmlsZV9kYXRhX2ZpbGxlZHx8dm9pZCAwPT09ZWV8fGVlLmNoZWNrKCksZXx8KFByb21pc2UuYWxsKFtvLmUoNzEyMzcpLG8uZSgzMTU1Nyksby5lKDMyMzg3KSxvLmUoNjQ2MzIpXSkudGhlbihvLmJpbmQobyw3NTQyMTgpKS50aGVuKChlPT5lLm9mZmVyQnV0dG9uTG9naW5TdGF0ZUNoYW5nZUluaXQoKSkpLCgwLGYub25Hb1BybykoKSYmd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpKSwhMT09PXdpbmRvdy51c2VyLnByb2ZpbGVfZGF0YV9maWxsZWQmJigoMCxmLmNoZWNrUGFnZVR5cGUpKCJtb2JpbGUiKXx8KDAsdy5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpfHx3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3RhcnRzV2l0aCgiL3ByaXZhY3ktcG9saWN5Iil8fHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKCIvcG9saWNpZXMiKXx8KDAsVC53aGVuRG9jdW1lbnRSZWFkeSkoKCgpPT57KDAsXy5zaG93U2lnbk1vZGFsKSh7bW9kZToiY3JlYXRlLWFjY291bnQiLG9uVW5tb3VudEV2ZW50OigpPT57d2luZG93LnVzZXIuc29jaWFsX3JlZ2lzdHJhdGlvbj8oby5lKDQyNDAyKS50aGVuKG8uYmluZChvLDk5MzY2MSkpLnRoZW4oKCh7cmVnaXN0cmF0aW9uRXZlbnQ6ZX0pPT57ZSgiU29jaWFsIil9KSksKDAsSy50cmFja0dUYWdBZHNFdmVudCkoSy5HVGFnRXZlbnQuUmVnaXN0cmF0aW9uQ29tcGxldGVkKSwoMCxKLnRyYWNrVHdpdHRlckV2ZW50KShKLlR3aXR0ZXJFdmVudC5SZWdpc3RyYXRpb25Db21wbGV0ZWQpLApkZWxldGUgd2luZG93LnVzZXIuc29jaWFsX3JlZ2lzdHJhdGlvbik6bi5UVlhXaW5kb3dFdmVudHMuZW1pdCgibG9naW5TdGF0ZUNoYW5nZSIsSlNPTi5zdHJpbmdpZnkoe2lzX2F1dGhlbnRpY2F0ZWQ6d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsdXNlcjp3aW5kb3cudXNlcn0pKX19KX0pLCEwKSwoMCxYLnRyYWNrQ21FdmVudCkoWC5DbUV2ZW50LlJlZ2lzdHJhdGlvbkNvbXBsZXRlZCksKDAsaS50cmFja0V2ZW50KSgiQ29udmVyc2lvbiIsIkZpcnN0IGxvZ2luIiksZGVsZXRlIHdpbmRvdy51c2VyLnByb2ZpbGVfZGF0YV9maWxsZWQpLHouYXZhaWxhYmxlT2ZmZXJzLnJ1bk9yVXBkYXRlKCgoKT0+e3dpbmRvdy5UcmFkaW5nVmlldy5zZXRUcmlhbEF2YWlsaWFibGUoKDAsWS5pc1RyaWFsQXZhaWxhYmxlRm9yVXNlcikod2luZG93LnVzZXIsd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpKX0pKSk6ei5hdmFpbGFibGVPZmZlcnMucnVuT3JVcGRhdGUoKGU9PntPYmplY3Qua2V5cyhlKS5mb3JFYWNoKCh0PT57Y29uc3Qgbz10O2Vbb10uYXZhaWxhYmxlX2Zvcl9hbm9uc3x8ZGVsZXRlIGVbb119KSksd2luZG93LnVzZXI9e3VzZXJuYW1lOiJHdWVzdCIsZm9sbG93aW5nOiIwIixmb2xsb3dlcnM6IjAiLGlnbm9yZV9saXN0OltdLGF2YWlsYWJsZV9vZmZlcnM6ZX0sbC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ0cmlhbF9hdmFpbGlhYmxlIil9KSl9KDAsdi5yZWdpc3RlcldpbmRvdykod2luZG93KSxRLkFjdGlvbkdyb3VwLnNldE1hdGNoZWRIb3RrZXlIYW5kbGVyKChlPT57KDAsaS50cmFja0V2ZW50KSgiS2V5Ym9hcmQgU2hvcnRjdXRzIiwoMCx5Lmh1bWFuUmVhZGFibGVIYXNoKShlKSl9KSksWj13aW5kb3cubG9naW5TdGF0ZUNoYW5nZT93aW5kb3cubG9naW5TdGF0ZUNoYW5nZTp3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgay5EZWxlZ2F0ZSxaLnN1YnNjcmliZShudWxsLG5lKSwoMCx2LmNyZWF0ZUdyb3VwKSh7ZGVzYzoiU3VwcG9ydCJ9KS5hZGQoe2Rlc2M6Ik9wZW4iLGhvdGtleTp5Lk1vZGlmaWVycy5Nb2QrMTkxLGhhbmRsZXI6KCk9PigwLGIuc2hvd1N1cHBvcnREaWFsb2cpKHtpbml0aWFsU3RhdGU6InNob3J0Y3V0cyJ9KX0pLG4uVFZYV2luZG93RXZlbnRzLm9uKCJsb2dpblN0YXRlQ2hhbmdlIiwoZT0+e2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt3aW5kb3cudXNlcj10LnVzZXIsd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ISF0LmlzX2F1dGhlbnRpY2F0ZWQsWi5maXJlKCl9KSksbi5UVlhXaW5kb3dFdmVudHMub24oInNpZ25PdXQiLCgoKT0+e3RlKCl9KSksKCgpPT57Y29uc3QgZT0idXNlci1vYmotY2hhbmdlZCIsdD17fTt3aW5kb3cuY3Jvc3NUYWJTeW5jVXNlckF0dHI9dD0+e2NvbnN0IG89e307dCBpbnN0YW5jZW9mIEFycmF5P3QuZm9yRWFjaCgoZT0+e29bZV09d2luZG93LnVzZXJbZV19KSk6b1t0XT13aW5kb3cudXNlclt0XSxuLlRWWFdpbmRvd0V2ZW50cy5lbWl0KGUsSlNPTi5zdHJpbmdpZnkobykpfSxuLlRWWFdpbmRvd0V2ZW50cy5vbihlLChlPT57Y29uc3Qgbz1KU09OLnBhcnNlKGUpO2xldCBuO2ZvcihuIGluIG8paWYoby5oYXNPd25Qcm9wZXJ0eShuKSl7d2luZG93LnVzZXJbbl09b1tuXTsodFtuXXx8W10pLmZvckVhY2goKGU9PntlLmZpcmUob1tuXSl9KSl9fSkpfSkoKSx3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZT1lPT57d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ISFlLG4uVFZYV2luZG93RXZlbnRzLmVtaXQoImxvZ2luU3RhdGVDaGFuZ2UiLEpTT04uc3RyaW5naWZ5KHtpc19hdXRoZW50aWNhdGVkOndpbmRvdy5pc19hdXRoZW50aWNhdGVkLHVzZXI6d2luZG93LnVzZXJ9KSksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJlMuZW1pdChwLkdMT0JBTF9FVkVOVF9TSUdOX0lOX1NVQ0NFU1MpLFouZmlyZSgpfSx3aW5kb3cubG9naW5Vc2VyPW9lLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZT0+eyJsb2dpbl91c2VyIj09PWUua2V5JiZudWxsIT09ZS5uZXdWYWx1ZSYmb2UoSlNPTi5wYXJzZShlLm5ld1ZhbHVlKSl9KSksd2luZG93LlRyYWRpbmdWaWV3LnNpZ25PdXQ9KCk9Pntjb25zdCBlPXsuLi53aW5kb3cudXNlcn07KDAscy5mZXRjaCkoIi9hY2NvdW50cy9sb2dvdXQvIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnthY2NlcHQ6Imh0bWwifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbigoKCk9Pnt3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZSghMSksbi5UVlhXaW5kb3dFdmVudHMuZW1pdCgic2lnbk91dCIpLHRlKCl9KSkuY2F0Y2goKCgpPT57d2luZG93LnVzZXI9ZSx3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZSghMCl9KSl9LGVlPW5ldyBnLHdpbmRvdy5sb2dpblJlcXVpcmVkRGVsZWdhdGU9bmV3IGsuRGVsZWdhdGUsd2luZG93LnJ1bk9yU2lnbkluPShlLHQpPT57dHx8KHQ9e30pO2NvbnN0IG89W107dC5wYWlkQWNjb3VudENoZWNrJiZvLnB1c2goKCgpPT4oMCxxLnBhaWRBY2NvdW50Q2hlY2spKHtzdWNjZXNzQnV0dG9uVGV4dDp0LnBhaWRBY2NvdW50U3VjY2Vzc0J1dHRvblRleHR9KSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkP28ucmVkdWNlKCgoZSx0KT0+ZS50aGVuKHQpKSxQcm9taXNlLnJlc29sdmUoKSkudGhlbihlKS5jYXRjaCgoKCk9Pnt9KSk6KDAsXy5zaG93U2lnbk1vZGFsKSh7c291cmNlOnQuc291cmNlLHNvdXJjZU1ldGE6dC5zb3VyY2VNZXRhLGZlYXR1cmU6dC5mZWF0dXJlLG1vZGU6dC5tb2RlLHNpZ25pblN1Y2Nlc3M6ZSxzdGFydFRyaWFsOnQuc3RhcnRUcmlhbCxvblVubW91bnRFdmVudDp0Lm9uVW5tb3VudEV2ZW50LHVzZXJuYW1lOnQudXNlcm5hbWV9KX0sd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJm4uVFZYV2luZG93RXZlbnRzLm9uKCJ1c2VyLXN0YXR1cy1kZWNsYXJlZCIsKGU9Pnt3aW5kb3cudXNlci5kZWNsYXJlZF9zdGF0dXM9ZX0pKSx3aW5kb3cub25Mb2dpblN0YXRlQ2hhbmdlPW5lLHdpbmRvdy5UcmFkaW5nVmlldy5zZXRUcmlhbEF2YWlsaWFibGU9ZT0+ewpsLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oInRyaWFsX2F2YWlsaWFibGUiLGU/IjEiOiIwIil9LHdpbmRvdy5UcmFkaW5nVmlldy5ub3RpZmljYXRpb25zQ2hhbmdlZD1uZXcgay5EZWxlZ2F0ZSxqKCksKDAsRy5pbml0TW91c2VDbGlja0F1dG9CbHVySGFuZGxlcikoKSwoMCxXLmluaXRNb2RhbFNjcm9sbExvY2tIYW5kbGVyKSh3aW5kb3csKCgpPT4oMCxNLnNldEZpeGVkQm9keVN0YXRlKSghMCkpLCgoKT0+KDAsTS5zZXRGaXhlZEJvZHlTdGF0ZSkoITEpKSl9LDMxNDEzMygpe2Z1bmN0aW9uIGUoZSl7aWYoZSBpbnN0YW5jZW9mIEVycm9yKXJldHVybiBlLnN0YWNrfHxlLm1lc3NhZ2U7dHJ5e3JldHVybiBlLm91dGVySFRNTC5zbGljZSgwLDEwMjQpfWNhdGNoe310cnl7aWYodm9pZCAwIT09ZSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSkuc2xpY2UoMCwxMDI0KX1jYXRjaHt9cmV0dXJuIFN0cmluZyhlKX1mdW5jdGlvbiB0KGUpe2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gbmV3IFVSTChlKX1jYXRjaHtyZXR1cm4gbnVsbH19d2luZG93Ll9fdHZfanNfZXJyb3JzfHwod2luZG93Ll9fdHZfanNfZXJyb3JzPVtdKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCh0PT57Y29uc3Qgbz0obmV3IERhdGUpLnRvSVNPU3RyaW5nKCk7d2luZG93Ll9fdHZfanNfZXJyb3JzLnB1c2goYCR7b30gJHt0Lm1lc3NhZ2V8fCJKUyBlcnJvciJ9LiAke3QuZmlsZW5hbWV8fCI8dW5rbm93biB1cmw+In0sIGxpbmUgJHt0LmxpbmVub30sIGNvbCAke3QuY29sbm99LlxuRXJyb3I6ICR7ZSh0LmVycm9yKX1gKX0pLCExKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5oYW5kbGVkcmVqZWN0aW9uIiwodD0+e2NvbnN0IG89KG5ldyBEYXRlKS50b0lTT1N0cmluZygpO3dpbmRvdy5fX3R2X2pzX2Vycm9ycy5wdXNoKGAke299IFVuaGFuZGxlZCByZWplY3Rpb24uXG5SZWFzb246ICR7ZSh0LnJlYXNvbil9YCl9KSwhMSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChvPT57aWYoZnVuY3Rpb24oZSxvKXtjb25zdCBuPXQoZSksaT10KG8pO3JldHVybiEoIW58fCFpKSYmImh0dHBzOiI9PT1uLnByb3RvY29sJiYiaHR0cHM6Ij09PWkucHJvdG9jb2wmJiJzZWN1cmVwdWJhZHMuZy5kb3VibGVjbGljay5uZXQiPT09bi5ob3N0bmFtZSYmL15hZHNlcnZpY2VcLmdvb2dsZVwuW2Etei5dKyQvaS50ZXN0KGkuaG9zdG5hbWUpfShvLnNvdXJjZUZpbGUsby5ibG9ja2VkVVJJKSlyZXR1cm47Y29uc3Qgbj0obmV3IERhdGUpLnRvSVNPU3RyaW5nKCksaT0icmVwb3J0Ij09PW8uZGlzcG9zaXRpb24/IkNTUCByZXBvcnQtb25seSI6IkNTUCB2aW9sYXRpb24iO3dpbmRvdy5fX3R2X2pzX2Vycm9ycy5wdXNoKGAke259ICR7aX06ICR7by52aW9sYXRlZERpcmVjdGl2ZXx8by5lZmZlY3RpdmVEaXJlY3RpdmV9LiAke28uc291cmNlRmlsZXx8Ijx1bmtub3duIHVybD4ifSwgbGluZSAke28ubGluZU51bWJlcn0sIGNvbCAke28uY29sdW1uTnVtYmVyfS5cbkJsb2NrZWQgVVJJOiAke28uYmxvY2tlZFVSSX1cblNhbXBsZTogJHtvLnNhbXBsZX1cblRhcmdldDogJHtlKG8udGFyZ2V0KX1gKX0pLCExKX0sMjMzMzk5KGUsdCxvKXt2YXIgbj1vKDIyMTA2MSksaT1vKDkzMjM2NSk7Y29uc3Qgcz0idHYubG9nZ2VyLmxvZ2xldmVsIixyPSJ0di5sb2dnZXIubG9nSGlnaFJhdGUiLGE9KDAsbi5nZXRMb2dnZXIpKCJsb2dnZXIiKTtmdW5jdGlvbiBsKCl7dHJ5e2kuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShyLFN0cmluZygoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpKSksaS5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHMsU3RyaW5nKCgwLG4uZ2V0TG9nTGV2ZWwpKCkpKX1jYXRjaChlKXthLmxvZ1dhcm4oYENhbm5vdCBzYXZlIGxvZ2dlciBzdGF0ZSAobGV2ZWw6ICR7KDAsbi5nZXRMb2dMZXZlbCkoKX0sIGhpZ2gtcmF0ZTogJHsoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpfSkgdG8gbG9jYWxTdG9yYWdlOiAke2UubWVzc2FnZX1gKX19d2luZG93LmxnZXQ9bi5nZXRMb2dIaXN0b3J5LHdpbmRvdy5sb249KGUsdCk9PnthLmxvZ05vcm1hbCgiRGVidWcgbG9nZ2luZyBlbmFibGVkIiksKDAsbi5sb2dnaW5nT24pKGUsdCksbCgpfSx3aW5kb3cubG9mZj0oKT0+e2EubG9nSW5mbygiRGVidWcgbG9nZ2luZyBkaXNhYmxlZCIpLCgwLG4ubG9nZ2luZ09mZikoKSxsKCl9LHdpbmRvdy5sbGV2ZWw9ZT0+e2EubG9nSW5mbygiQ2hhbmdlZCBsb2dnaW5nIGxldmVsIiksKDAsbi5zZXRMb2dMZXZlbCkoZSksbCgpfSxmdW5jdGlvbigpe2NvbnN0IGU9InRydWUiPT09aS5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKHIpOygwLG4uc2V0SGlnaFJhdGVTdGF0dXMpKGUpO2xldCB0PXBhcnNlSW50KGkuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShzKXx8IiIpO051bWJlci5pc05hTih0KSYmKHQ9bi5MT0dMRVZFTC5XQVJOSU5HKSwoMCxuLnNldExvZ0xldmVsKSh0KSxhLmxvZ05vcm1hbChgSW5pdCB3aXRoIHNldHRpbmdzIC0gbGV2ZWw6ICR7KDAsbi5nZXRMb2dMZXZlbCkoKX0sIGhpZ2gtcmF0ZTogJHsoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpfWApfSgpLGEubG9nTm9ybWFsKGBTeW5jIGxvZ2dlciBhbmQgcGVyZiB0aW1lcywgbm93IGlzICR7cGVyZm9ybWFuY2Uubm93KCl9YCl9LDkyNjQxNSgpe3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9fSw1NjkzOTgoZSx0LG8pe28uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT51LG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9Pmx9KTt2YXIgbj1vKDk0ODM4MCksaT1vKDM3NzIyNikscz1vKDg1NjE5Nikscj1vKDkzMjM2NSk7Y29uc3QgYT1uZXcgbi5EZWxlZ2F0ZSxsPSgpPT5hLGM9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IGg9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7ci5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGMrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtyLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oYytlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7CnIuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShjK2UpLGEuZmlyZShlKX1vbkZlYXR1cmVzU3RhdGVDaGFuZ2VkKCl7cmV0dXJuIGF9fTtmdW5jdGlvbiBkKGUsdCl7cmV0dXJuKCFlW3RdfHwtMSE9PWVbdF0pJiYoISEoInRydWUiPT09ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGMrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYidHJ1ZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltjK3RdKXx8ISgiZmFsc2UiPT09ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGMrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYiZmFsc2UiPT09d2luZG93LnVzZXI/LnNldHRpbmdzPy5bYyt0XSkmJighIWVbdF0mJigxPT09ZVt0XXx8KDAscy5zaG91bGRBZmZlY3RVc2VyKSh0LGVbdF0pKSkpfXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9LHdpbmRvdy5UcmFkaW5nVmlldy5GZWF0dXJlVG9nZ2xlPWg7Y29uc3QgdT0obT13aW5kb3cuZmVhdHVyZVRvZ2dsZVN0YXRlfHx7fSwoMCxpLm9uV2lkZ2V0KSgpfHxQcm9taXNlLmFsbChbby5lKDg1NDM0KSxvLmUoNzI4NSksby5lKDEzOTkzKV0pLnRoZW4oby5iaW5kKG8sNTA3Mjg1KSkudGhlbigoZT0+e2UucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJmZWF0dXJldG9nZ2xlIiwoZT0+e2NvbnN0IHQ9ZChtLGUubmFtZSk7bVtlLm5hbWVdPWUuc3RhdGUsdCE9PWQobSxlLm5hbWUpJiZhLmZpcmUoZS5uYW1lKX0pKX0pKSxkLmJpbmQobnVsbCxtKSk7dmFyIG07d2luZG93LlRyYWRpbmdWaWV3LmlzRmVhdHVyZUVuYWJsZWQ9dX0sMzg0MDE3KGUsdCxvKXtvLmQodCx7ZmV0Y2g6KCk9PnN9KTt2YXIgbj1vKDIyMTA2MSk7bygzMDAyODYpO2NvbnN0IGk9KDAsbi5nZXRMb2dnZXIpKCJGZXRjaCIpO2Z1bmN0aW9uIHMoZSx0LG89e30pe3tjb25zdHtsb2dPbkVycm9yU3RhdHVzOm49ITAsbG9nQm9keU9uRXJyb3I6cz0hMX09bzt0PXR8fHt9LGZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSkub3JpZ2luPT09bG9jYXRpb24ub3JpZ2lufShlKSYmKHQuaGVhZGVycz90LmhlYWRlcnMgaW5zdGFuY2VvZiBIZWFkZXJzfHwodC5oZWFkZXJzPW5ldyBIZWFkZXJzKHQuaGVhZGVycykpOnQuaGVhZGVycz1uZXcgSGVhZGVycyx3aW5kb3cubG9jYWxlJiZ0LmhlYWRlcnMuc2V0KCJYLUxhbmd1YWdlIix3aW5kb3cubG9jYWxlKSx0LmhlYWRlcnMuc2V0KCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKSksdm9pZCAwPT09dC5jcmVkZW50aWFscyYmKHQuY3JlZGVudGlhbHM9InNhbWUtb3JpZ2luIik7Y29uc3Qgcj13aW5kb3cuZmV0Y2goZSx0KTtyZXR1cm4gci50aGVuKChvPT57aWYoIW8ub2smJm4pe2xldCBuPSIiO3QubWV0aG9kJiYobis9YCR7dC5tZXRob2QudG9VcHBlckNhc2UoKX0gYCksbis9ZSxuKz1gLiBTdGF0dXMgJHtvLnN0YXR1c31gLG8uc3RhdHVzVGV4dCYmKG4rPWAuICR7by5zdGF0dXNUZXh0fWApLG8uaGVhZGVycy52aWEmJihuKz1gLiBWaWE6ICR7by5oZWFkZXJzLnZpYX1gKSxzJiYic3RyaW5nIj09dHlwZW9mIHQuYm9keSYmKG4rPWAuIEJvZHk6ICR7dC5ib2R5LnNsaWNlKDAsMTAyNCl9YCksaS5sb2dFcnJvcihuKX1yZXR1cm4gb30pLChvPT57aWYobyYmIkFib3J0RXJyb3IiPT09by5uYW1lKXJldHVybjtsZXQgbj0iIjt0Lm1ldGhvZCYmKG4rPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLG4rPWUsbmF2aWdhdG9yLm9uTGluZT9uKz1gLiAke1N0cmluZyhvKX1gOm4rPSIuIFVzZXIgaXMgb2ZmbGluZS4iLGkubG9nRXJyb3Iobil9KSkscn19fSw5MzIzNjUoZSx0LG8pe28uZCh0LHtUVkxvY2FsU3RvcmFnZTooKT0+c30pO2NvbnN0IG49KDAsbygyMjEwNjEpLmdldExvZ2dlcikoIlRWTG9jYWxTdG9yYWdlIik7dmFyIGk9ZnVuY3Rpb24oKXt0cnl7dGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLmxvY2FsU3RvcmFnZT13aW5kb3cubG9jYWxTdG9yYWdlLHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oInR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSIsInRydWUiKX1jYXRjaChlKXtkZWxldGUgdGhpcy5pc0F2YWlsYWJsZSxkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2V9dGhpcy5fdXBkYXRlTGVuZ3RoKCk7dHJ5e3RoaXMuX3JlcG9ydCgpfWNhdGNoKGUpe319O2kucHJvdG90eXBlLl9yZXBvcnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXtjb25zdCBlPTEwLHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZSsrKXtjb25zdCBvPXRoaXMua2V5KGUpO3QucHVzaCh7a2V5Om8sbGVuZ3RoOlN0cmluZyh0aGlzLmdldEl0ZW0obykpLmxlbmd0aH0pfXQuc29ydCgoKGUsdCk9PnQubGVuZ3RoLWUubGVuZ3RoKSk7Y29uc3Qgbz10LnNsaWNlKDAsZSk7dC5zb3J0KCgoZSx0KT0+dC5rZXkubGVuZ3RoLWUua2V5Lmxlbmd0aCkpO2NvbnN0IGk9dC5zbGljZSgwLGUpO24ubG9nTm9ybWFsKGBUb3RhbCBhbW91bnQgb2Yga2V5cyBpbiBMb2NhbCBTdG9yYWdlOiAke3RoaXMubGVuZ3RofWApLG4ubG9nTm9ybWFsKGBUb3AgJHtlfSBrZXlzIHdpdGggbG9uZ2VzdCB2YWx1ZXM6ICR7SlNPTi5zdHJpbmdpZnkobyl9YCksbi5sb2dOb3JtYWwoYFRvcCAke2V9IGxvbmdlc3Qga2V5IG5hbWVzOiAke0pTT04uc3RyaW5naWZ5KGkpfWApO3RyeXtuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpLnRoZW4oKGU9PntuLmxvZ05vcm1hbChgU3RvcmFnZSBlc3RpbWF0ZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKX0pKX1jYXRjaChlKXt9fX0saS5wcm90b3R5cGUubGVuZ3RoPTAsaS5wcm90b3R5cGUuaXNBdmFpbGFibGU9ITEsaS5wcm90b3R5cGUubG9jYWxTdG9yYWdlPXsidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIjoiZmFsc2UifSxpLnByb3RvdHlwZS5fdXBkYXRlTGVuZ3RoPWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl0aGlzLmxlbmd0aD10aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZWxzZXt2YXIgZSx0PTA7Zm9yKGUgaW4gdGhpcy5sb2NhbFN0b3JhZ2UpdGhpcy5sb2NhbFN0b3JhZ2UuaGFzT3duUHJvcGVydHkoZSkmJnQrKwo7dGhpcy5sZW5ndGg9dH19LGkucHJvdG90eXBlLmtleT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5rZXkoZSk6T2JqZWN0LmtleXModGhpcy5sb2NhbFN0b3JhZ2UpW2VdfSxpLnByb3RvdHlwZS5nZXRJdGVtPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk6dm9pZCAwPT09dGhpcy5sb2NhbFN0b3JhZ2VbZV0/bnVsbDp0aGlzLmxvY2FsU3RvcmFnZVtlXX0saS5wcm90b3R5cGUuc2V0SXRlbT1mdW5jdGlvbihlLHQpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLHQpOnRoaXMubG9jYWxTdG9yYWdlW2VdPXQsdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LGkucHJvdG90eXBlLnJlbW92ZUl0ZW09ZnVuY3Rpb24oZSl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGUpOmRlbGV0ZSB0aGlzLmxvY2FsU3RvcmFnZVtlXSx0aGlzLl91cGRhdGVMZW5ndGgoKX0saS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk6dGhpcy5sb2NhbFN0b3JhZ2U9e30sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9O2NvbnN0IHM9bmV3IGk7d2luZG93LlRWTG9jYWxTdG9yYWdlPXN9LDExNzMxMyhlLHQsbyl7by5kKHQse2lzT25Nb2JpbGVBcHBQYWdlOigpPT5pLHVybFdpdGhNb2JpbGVBcHBQYXJhbXM6KCk9PnN9KTt2YXIgbj1vKDU4NzQzNik7ZnVuY3Rpb24gaShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpvfT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBpPSJ0cnVlIj09PW8uZ2V0KCJtb2JpbGVhcHBfbmV3Iikscz0idHJ1ZSI9PT1vLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9bi5nZXQoInR2X2FwcCIpfHwiIjtpfHw9WyJhbmRyb2lkIiwiYW5kcm9pZF9ucHMiXS5pbmNsdWRlcyhlKSxzfHw9ImlvcyI9PT1lfXJldHVybiEoIm5ldyIhPT1lJiYiYW55IiE9PWV8fCFpKXx8ISgibmV3Ij09PWV8fCFzKX1mdW5jdGlvbiBzKGUsdD0hMSl7aWYoaSgibmV3Iix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHBfbmV3IiwidHJ1ZSIpLGU9dC50b1N0cmluZygpfWlmKGkoIm9sZCIsdCkpe2NvbnN0IHQ9bmV3IFVSTChlLGxvY2F0aW9uLmhyZWYpO3Quc2VhcmNoUGFyYW1zLnNldCgibW9iaWxlYXBwIiwidHJ1ZSIpLGU9dC50b1N0cmluZygpfXJldHVybiBlfX0sOTA5Nzk4KGUsdCxvKXtvLmQodCx7Zmx1c2hEZWxlZ2F0ZTooKT0+bn0pO2NvbnN0IG49bmV3KG8oOTQ4MzgwKS5EZWxlZ2F0ZSl9LDI0NzkwMShlLHQsbyl7dmFyIG47by5kKHQse1N0ZFRoZW1lOigpPT5ufSksZnVuY3Rpb24oZSl7ZS5MaWdodD0ibGlnaHQiLGUuRGFyaz0iZGFyayJ9KG58fChuPXt9KSl9LDM4NjkzMShlLHQsbyl7by5kKHQse3RyYWNrRXZlbnQ6KCk9PmF9KTt2YXIgbj1vKDIyMTA2MSksaT1vKDkzMDIzMSk7bygxNzk3NzEpO2NvbnN0IHM9KDAsbi5nZXRMb2dnZXIpKCJDb21tb24uVHJhY2tFdmVudCIpO2xldCByPSExO2NvbnN0IGE9KGUsdCxvKT0+e2lmKHIpcmV0dXJuO2xldCBuPShlP2UrIjoiOiIiKSt0O28mJihuKz0iICIrbykscy5sb2dOb3JtYWwobiksKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fCF3aW5kb3cuX1VOSVRfVEVTVFMmJndpbmRvdy5ndGFnJiZ3aW5kb3cuZ3RhZygiZXZlbnQiLHQse2V2ZW50X2NhdGVnb3J5OmUsZXZlbnRfbGFiZWw6b30pfTt2YXIgbCxjLGg7IWZ1bmN0aW9uKGUpe2UuR1VJPSJHVUkifShsfHwobD17fSkpLGZ1bmN0aW9uKGUpe2UuQ2hhcnRIZWFkZXJUb29sYmFyPSJDaGFydCBIZWFkZXIgVG9vbGJhciIsZS5DaGFydEJvdHRvbVRvb2xiYXI9IkNoYXJ0IEJvdHRvbSBUb29sYmFyIixlLkNoYXJ0TGVmdFRvb2xiYXI9IkNoYXJ0IExlZnQgVG9vbGJhciIsZS5UaW1lSW50ZXJ2YWw9IlRpbWUgSW50ZXJ2YWwiLGUuTG9hZENoYXJ0TGF5b3V0PSJMb2FkIGNoYXJ0IGxheW91dCJ9KGN8fChjPXt9KSksZnVuY3Rpb24oZSl7ZS5SYW5nZT0icmFuZ2UiLGUuR29Ubz0iZ28gdG8iLGUuQ2hhcnRQcm9wZXJ0aWVzPSJjaGFydCBwcm9wZXJ0aWVzIixlLkNvbXBhcmU9ImNvbXBhcmUiLGUuU2VsZWN0TGF5b3V0PSJzZWxlY3QgbGF5b3V0IixlLk1hZ25ldE1vZGU9Im1hZ25ldCBtb2RlIixlLk1hZ25ldFNuYXBzPSJtYWduZXQgc25hcHMiLGUuRHJhd2luZ01vZGU9ImRyYXdpbmcgbW9kZSIsZS5Mb2NrQWxsRHJhd2luZz0ibG9jayBhbGwgZHJhd2luZyIsZS5SZW1vdmVEcmF3aW5nPSJyZW1vdmUgZHJhd2luZyIsZS5SZW1vdmVJbmRpY2F0b3I9InJlbW92ZSBpbmRpY2F0b3IiLGUuUmVtb3ZlQWxsPSJyZW1vdmUgYWxsIixlLkhpZGVEcmF3aW5ncz0iaGlkZSBkcmF3aW5ncyIsZS5IaWRlSW5kaWNhdG9ycz0iaGlkZSBpbmRpY2F0b3JzIixlLkhpZGVQb3NpdGlvbnM9ImhpZGUgcG9zaXRpb25zIixlLkhpZGVBbGw9ImhpZGUgYWxsIixlLlN5bmM9InN5bmMiLGUuU3luY01vZGU9InN5bmMgbW9kZSIsZS5Td2l0Y2hDaGFydExheW91dD0iU3dpdGNoIGNoYXJ0IGxheW91dCIsZS5EZWxldGVDaGFydExheW91dD0iRGVsZXRlIGNoYXJ0IGxheW91dCIsZS5Mb2FkQ2hhcnRMYXlvdXQ9IkxvYWQgY2hhcnQgbGF5b3V0IixlLkFkZFRvRmF2b3JpdGVzPSJBZGQgdG8gZmF2b3JpdGVzIixlLlNvcnQ9IlNvcnQifShofHwoaD17fSkpfSwyMzU3MjQoZSx0LG8pe28uZCh0LHtNb2RpZmllcnM6KCk9PnIsaGFzaEZyb21FdmVudDooKT0+bCxob3RrZXlIYXNoVG9BcmlhS2V5c2hvcnRjdXRzOigpPT5nLGh1bWFuUmVhZGFibGVIYXNoOigpPT51LGh1bWFuUmVhZGFibGVNb2RpZmllcnM6KCk9PmMsaXNNYWNLZXlib2FyZDooKT0+cyxtb2RpZmllcnNGcm9tRXZlbnQ6KCk9PmF9KTt2YXIgbixpPW8oNzM4NDU4KTshZnVuY3Rpb24oZSl7ZVtlLktleUNvZGU9MjU1XT0iS2V5Q29kZSIsZVtlLkNvbnRyb2w9MjU2XT0iQ29udHJvbCIsZVtlLkFsdD01MTJdPSJBbHQiLAplW2UuU2hpZnQ9MTAyNF09IlNoaWZ0IixlW2UuTWV0YT0yMDQ4XT0iTWV0YSJ9KG58fChuPXt9KSk7Y29uc3Qgcz1pLmlzTWFjfHxpLmlzSU9TO3ZhciByO2Z1bmN0aW9uIGEoZSl7bGV0IHQ9MDtyZXR1cm4gZS5zaGlmdEtleSYmKHQrPTEwMjQpLGUuYWx0S2V5JiYodCs9NTEyKSxlLmN0cmxLZXkmJih0Kz0yNTYpLGUubWV0YUtleSYmKHQrPTIwNDgpLHR9ZnVuY3Rpb24gbChlKXtyZXR1cm4gYShlKXxlLmtleUNvZGV9IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuQWx0PTUxMl09IkFsdCIsZVtlLlNoaWZ0PTEwMjRdPSJTaGlmdCIsZVtlLk1vZD1zPzIwNDg6MjU2XT0iTW9kIixlW2UuQ29udHJvbD0yNTZdPSJDb250cm9sIixlW2UuTWV0YT0yMDQ4XT0iTWV0YSJ9KHJ8fChyPXt9KSk7ZnVuY3Rpb24gYyhlLHQ9IXMpe2xldCBvPSIiO3JldHVybiAyNTYmZSYmKG8rPW0ocz8iXiI6IkN0cmwiLHQpKSw1MTImZSYmKG8rPW0ocz8i4oylIjoiQWx0Iix0KSksMTAyNCZlJiYobys9bShzPyLih6ciOiJTaGlmdCIsdCkpLDIwNDgmZSYmKG8rPW0ocz8i4oyYIjoiV2luIix0KSksb31jb25zdCBoPXs5OiLih6UiLDEzOiLihrUiLDI3OiJFc2MiLDg6cz8i4oyrIjoiQmFja3NwYWNlIiwzMjoiU3BhY2UiLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoi4oaQIiwzODoi4oaRIiwzOToi4oaSIiw0MDoi4oaTIiw0NToiSW5zIiw0NjoiRGVsIiwxODg6IiwiLDE5MDoiRG90IiwxOTE6Ii8ifSxkPXs5OiJUYWIiLDEzOiJFbnRlciIsMjc6IkVzYyIsODoiQmFja3NwYWNlIiwzMjoiU3BhY2UiLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnMiLDQ2OiJEZWwiLDE4ODoiLCIsMTkwOiIuIiwxOTE6Ii8ifTtmb3IobGV0IGU9MTtlPD0xNjtlKyspaFtlKzExMV09YEYke2V9YCxkW2UrMTExXT1gRiR7ZX1gO2Z1bmN0aW9uIHUoZSl7bGV0IHQ9YyhlKTtjb25zdCBvPTI1NSZlO3JldHVybiB0Kz1vIGluIGg/aFtvXTpTdHJpbmcuZnJvbUNoYXJDb2RlKG8pLHR9ZnVuY3Rpb24gbShlLHQpe3JldHVybmAke2V9JHt0PyIgKyAiOnM/IiAiOiIifWB9ZnVuY3Rpb24gZyhlKXtjb25zdCB0PVtdOzI1NiZlJiZ0LnB1c2goIkN0cmwiKSw1MTImZSYmdC5wdXNoKCJBbHQiKSwxMDI0JmUmJnQucHVzaCgiU2hpZnQiKSwyMDQ4JmUmJnQucHVzaCgiTWV0YSIpO2NvbnN0IG89MjU1JmU7cmV0dXJuIG8gaW4gaD90LnB1c2goaFtvXSk6dC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUobykpLHQuam9pbigiKyIpfX0sNzIxMzY5KGUsdCxvKXtvLmQodCx7aXNOYXRpdmVVSUludGVyYWN0aW9uOigpPT5zLGlzVGV4dEVkaXRpbmdGaWVsZDooKT0+aX0pO3ZhciBuPW8oMjM1NzI0KTtmdW5jdGlvbiBpKGUpe2lmKCJJTlBVVCI9PT1lLnRhZ05hbWUpe2NvbnN0IHQ9ZS50eXBlO3JldHVybiJ0ZXh0Ij09PXR8fCJlbWFpbCI9PT10fHwibnVtYmVyIj09PXR8fCJwYXNzd29yZCI9PT10fHwic2VhcmNoIj09PXR8fCJ0ZWwiPT09dHx8InVybCI9PT10fXJldHVybiJURVhUQVJFQSI9PT1lLnRhZ05hbWV8fGUuaXNDb250ZW50RWRpdGFibGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IG89MjU1JmU7aWYoMjc9PT1vfHxvPj4+ND09NylyZXR1cm4hMTtzd2l0Y2goZV5vKXtjYXNlIG4uTW9kaWZpZXJzLkFsdDpyZXR1cm4oMzg9PT1vfHw0MD09PW8pJiYiU0VMRUNUIj09PXQudGFnTmFtZXx8aSh0KTtjYXNlIG4uTW9kaWZpZXJzLkFsdCtuLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gaSh0KTtjYXNlIG4uTW9kaWZpZXJzLk1vZDppZig2Nz09PW98fCFuLmlzTWFjS2V5Ym9hcmQmJjQ1PT09byl7Y29uc3QgZT10Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtpZihlJiYhZS5pc0NvbGxhcHNlZClyZXR1cm4hMH1yZXR1cm4gaSh0KTtjYXNlIG4uTW9kaWZpZXJzLk1vZCtuLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gbz49MzMmJm88PTQwJiZpKHQpO2Nhc2Ugbi5Nb2RpZmllcnMuU2hpZnQ6Y2FzZSAwOnJldHVybiA5PT09bz8hKCF0Lm93bmVyRG9jdW1lbnR8fHQ9PT10Lm93bmVyRG9jdW1lbnQuYm9keXx8dD09PXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOighZnVuY3Rpb24oZSl7aWYoIkJVVFRPTiI9PT1lLnRhZ05hbWUpcmV0dXJuITA7aWYoIklOUFVUIj09PWUudGFnTmFtZSl7Y29uc3QgdD1lLnR5cGU7aWYoInN1Ym1pdCI9PT10fHwiYnV0dG9uIj09PXR8fCJyZXNldCI9PT10fHwiY2hlY2tib3giPT09dHx8InJhZGlvIj09PXQpcmV0dXJuITB9cmV0dXJuITF9KHQpfHwxMz09PW98fDMyPT09b3x8OT09PW8pJiYoImZvcm0iaW4gdHx8dC5pc0NvbnRlbnRFZGl0YWJsZSl9cmV0dXJuITF9fSw5OTU2NzgoZSx0LG8pe28uZCh0LHtpbml0TW9kYWxTY3JvbGxMb2NrSGFuZGxlcjooKT0+cyxyZWxlYXNlTW9kYWxTY3JvbGxMb2NrOigpPT5hLHJlcXVlc3RNb2RhbFNjcm9sbExvY2s6KCk9PnJ9KTtjb25zdCBuPSJtb2RhbC1zY3JvbGwtbG9jay1yZXF1ZXN0IixpPSJtb2RhbC1zY3JvbGwtbG9jay1yZWxlYXNlIjtmdW5jdGlvbiBzKGUsdCxvKXtlLmFkZEV2ZW50TGlzdGVuZXIobiwoKCk9PnQoKSkpLGUuYWRkRXZlbnRMaXN0ZW5lcihpLCgoKT0+bygpKSl9ZnVuY3Rpb24gcihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KG4pKX1mdW5jdGlvbiBhKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoaSkpfX0sNTcwMTkzKGUsdCxvKXtvLmQodCx7Rk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURTooKT0+bn0pO2NvbnN0IG49ImRhdGEtZm9jdXMtdHJhcCJ9LDY4MjM4MShlLHQsbyl7by5kKHQse0ZPQ1VTQUJMRV9TRUxFQ1RPUjooKT0+aSxjcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcjooKT0+aCxnZXRBY3RpdmVFbGVtZW50U2VsZWN0b3JzOigpPT5jLGlzSFRNTE9yU1ZHRWxlbWVudDooKT0+ZCxpc0luZXJ0Um9vdDooKT0+YSxpc1Zpc2liaWxpdHlWaXNpYmxlOigpPT5zfSkKO2NvbnN0IG49WyJidXR0b24iLCJmaWVsZHNldCIsIm9wdGdyb3VwIiwib3B0aW9uIiwic2VsZWN0IiwidGV4dGFyZWEiLCJpbnB1dCJdLGk9WyJidXR0b24iLCJpbnB1dCIsInNlbGVjdCIsInRleHRhcmVhIiwiYVtocmVmXSIsImF1ZGlvW2NvbnRyb2xzXSIsInZpZGVvW2NvbnRyb2xzXSIsJ1t0YWJpbmRleD0iMCJdJywnW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdJ10ubWFwKChlPT5uLmluY2x1ZGVzKGUpP2Ake2V9Om5vdCg6ZGlzYWJsZWQpYDplKSkubWFwKChlPT5gJHtlfTpub3QoW3RhYmluZGV4PSItMSJdKWApKS5qb2luKCIsIik7ZnVuY3Rpb24gcyhlKXtyZXR1cm4idmlzaWJsZSI9PT1nZXRDb21wdXRlZFN0eWxlKGUpLnZpc2liaWxpdHl9ZnVuY3Rpb24gcihlLHQpe2lmKGUubWF0Y2hlcygiW2luZXJ0XSxbaW5lcnRdICoiKSlyZXR1cm4hMDtsZXQgbz1lO2Zvcig7byE9PXQmJm51bGwhPT1vOyl7aWYobChvKSlyZXR1cm4hMDtvPW8ucGFyZW50RWxlbWVudH1yZXR1cm4hMX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLm1hdGNoZXMoIltpbmVydF0iKXx8bChlKX1mdW5jdGlvbiBsKGUpe3JldHVybiJub25lIj09PWdldENvbXB1dGVkU3R5bGUoZSkuZGlzcGxheX1mdW5jdGlvbiBjKCl7cmV0dXJuIGl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gdD0+cyh0KSYmIXIodCxlKX1mdW5jdGlvbiBkKGUpe3JldHVybiBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnR8fGUgaW5zdGFuY2VvZiBTVkdFbGVtZW50fX0sOTM0MDgxKGUsdCxvKXtvLmQodCx7U1RPUllfUE9TVEVSUzooKT0+bn0pO2NvbnN0IG49W3tuYW1lOiJuZW9uIixwb3N0ZXI6by5wKyJuZW9uLmZmOTMzMTBlNzk1ZDU0YTVkMzliLndlYnAifSx7bmFtZToibWFycyIscG9zdGVyOm8ucCsibWFycy5jYjZhMzcxZmE3ODIzNjYzNDNiZS53ZWJwIn0se25hbWU6InNub3ciLHBvc3RlcjpvLnArInNub3cuOGY1ZWM5Y2Q4NGE3NTJmNDZiNjgud2VicCJ9XX0sODQyMTAyKGUsdCxvKXtvLmQodCx7aXNTaG93UHJvbW9WaWRlbzooKT0+cn0pO3ZhciBuPW8oODA5NDM2KTtjb25zdCBpPW5bIm1lZGlhLW1mLXRhYmxldC1sYW5kc2NhcGUiXSxzPW5bIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdO2Z1bmN0aW9uIHIoKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKGkpLm1hdGNoZXMsdD13aW5kb3cubWF0Y2hNZWRpYShzKS5tYXRjaGVzLG89d2luZG93LmlubmVyV2lkdGgsbj13aW5kb3cuaW5uZXJIZWlnaHQ7cmV0dXJuISFlfHwhIXQmJm4+PW99fSw5Nzg1NChlLHQsbyl7by5kKHQse29uZVRhcFNpZ25Nb2RhbERlbGVnYXRlOigpPT5ufSk7Y29uc3Qgbj1uZXcobyg5NDgzODApLkRlbGVnYXRlKX0sMjM5NzE5KGUsdCxvKXtvLmQodCx7R0xPQkFMX0VWRU5UX1NJR05fSU5fU1VDQ0VTUzooKT0+bixzaWdudXBTb3VyY2U6KCk9Pmksc2lnbnVwU291cmNlTWV0YTooKT0+c30pO2NvbnN0IG49IkdMT0JBTF9FVkVOVF9TSUdOX0lOX1NVQ0NFU1MiLGk9InNpZ251cFNvdXJjZSIscz0ic2lnbnVwU291cmNlTWV0YSJ9LDcxOTE5NChlLHQsbyl7by5kKHQse3BpY2tTdG9yeUluZGV4OigpPT5zfSk7dmFyIG49byg5MzIzNjUpO2NvbnN0IGk9InNpZ25pbi1wcm9tby1zdG9yeSI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWZ1bmN0aW9uKCl7dHJ5e2NvbnN0IGU9bi5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGkpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQubmFtZSYmIm51bWJlciI9PXR5cGVvZiB0LnRpbWVzdGFtcD90Om51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fSgpLG89bnVsbCE9PXQ/ZS5pbmRleE9mKHQubmFtZSk6LTE7aWYobnVsbCE9PXQmJi0xIT09byYmRGF0ZS5ub3coKS10LnRpbWVzdGFtcDw4NjRlNSlyZXR1cm4gbztjb25zdCBzPWZ1bmN0aW9uKGUsdCl7aWYoZTw9MXx8dDwwKXJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqZSk7cmV0dXJuKHQrMStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGUtMSkpKSVlfShlLmxlbmd0aCxvKTtyZXR1cm4gbi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGksSlNPTi5zdHJpbmdpZnkoe25hbWU6ZVtzXSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pKSxzfX0sNzU2MjcxKGUsdCxvKXtvLmQodCx7U1RPUllfTkFNRVM6KCk9Pm59KTtjb25zdCBuPVsibmVvbiIsIm1hcnMiLCJzbm93Il19LDg2NDAzNChlLHQsbyl7dmFyIG47by5kKHQse0JpbGxpbmdDeWNsZTooKT0+bixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+cyxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0obnx8KG49e30pKTtjb25zdCBpPTcscz0zMH0sOTEzNzA2KGUsdCxvKXtvLmQodCx7T0ZGRVJTOigpPT5ufSk7Y29uc3Qgbj17dHJpYWw6InRyaWFsIixlYXJseV9hY2Nlc3M6ImVhcmx5X2FjY2VzcyIsYmxhY2tfZnJpZGF5OiJibGFja19mcmlkYXkiLGN5YmVyX21vbmRheToiY3liZXJfbW9uZGF5IixjdXN0b21fZGlzY291bnQ6ImN1c3RvbV9kaXNjb3VudCIsbG9uZ2VyX2N5Y2xlOiJsb25nZXJfY3ljbGUiLHVwZ3JhZGU6InVwZ3JhZGUiLGV4dGVuZDoiZXh0ZW5kIixsYXN0X2NoYW5jZToibGFzdF9jaGFuY2UiLG9uZV91c2Q6Im9uZV91c2QiLG9uZV91c2RfeWVhcmx5OiJvbmVfdXNkX3llYXJseSIsdGhyZWVfbW9udGhzOiJ0aHJlZV9tb250aHMiLHVuc3Vic2NyaWJlOiJ1bnN1YnNjcmliZSIsc2l4X21vbnRoczoic2l4X21vbnRocyIsY291cG9uOiJjb3Vwb24ifTt2YXIgaSxzOyFmdW5jdGlvbihlKXtlLlR3b1dlZWtzPSJMYXN0Q2hhbmNlXzJ3IixlLlR3b0RheXM9Ikxhc3RDaGFuY2VfMmQiLGUuSG91cnM9Ikxhc3RDaGFuY2VfMjRoIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLlN0YXJ0ZWQ9InN0YXJ0ZWQiLGUuRGF5NT0iYWZ0ZXIgNSBkYXlzIixlLkRheTc9ImFmdGVyIDcgZGF5cyIsZS5EYXkxMj0iYWZ0ZXIgMTIgZGF5cyIsZS5EYXkxND0iYWZ0ZXIgMTQgZGF5cyIsCmUuV2VlazE9ImFmdGVyIDEgd2VlayIsZS5XZWVrMj0iYWZ0ZXIgMiB3ZWVrcyIsZS5XZWVrMz0iYWZ0ZXIgMyB3ZWVrcyIsZS5XZWVrND0iYWZ0ZXIgNCB3ZWVrcyIsZS5GaW5pc2hlZD0iZmluaXNoZWQifShzfHwocz17fSkpfSw0NTAxNDAoZSx0LG8pe28uZCh0LHtNb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyOigpPT5yLGluaXRNb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyOigpPT5hfSk7dmFyIG49byg4Mzk0MjYpLGk9byg4NDg5ODgpO2NvbnN0IHM9ImRhdGEtbW91c2UtY2xpY2stYXV0by1ibHVyIjtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5faGFuZGxlcj1lPT57ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoKDAsaS5pc0tleWJvYXJkQ2xpY2spKGUpfHxlLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJiJJTlBVVCIhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWUmJm51bGwhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LmNsb3Nlc3QoYFske3N9XWApJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKSl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5faGFuZGxlciwhMCl9c3RhdGljIGF0dHJpYnV0ZXMoZT0hMCl7cmV0dXJuIGU/e1tzXTohMH06e319fWNvbnN0IGE9KDAsbi5kZWZhdWx0KSgoKCk9Pm5ldyByKSl9LDUxODc1KGUsdCxvKXtmdW5jdGlvbiBuKGUpe2UucHJldmVudERlZmF1bHQoKX1vLmQodCx7cHJldmVudERlZmF1bHQ6KCk9Pm4scHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudTooKT0+c30pO2NvbnN0IGk9WyJpbnB1dDpub3QoW3R5cGVdKSIsJ2lucHV0W3R5cGU9InRleHQiXScsJ2lucHV0W3R5cGU9ImVtYWlsIl0nLCdpbnB1dFt0eXBlPSJwYXNzd29yZCJdJywnaW5wdXRbdHlwZT0ic2VhcmNoIl0nLCdpbnB1dFt0eXBlPSJudW1iZXIiXScsJ2lucHV0W3R5cGU9InVybCJdJywidGV4dGFyZWEiLCJhW2hyZWZdIiwnKltjb250ZW50ZWRpdGFibGU9InRydWUiXScsIltkYXRhLWFsbG93LWNvbnRleHQtbWVudV0iXTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7dCYmIXQuY2xvc2VzdChpLmpvaW4oIiwgIikpJiZlLnByZXZlbnREZWZhdWx0KCl9fSwxNTAxNTAoZSx0LG8pe28uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9PnMscmFuZG9tSGFzaE46KCk9PnJ9KTtjb25zdCBuPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBzKCl7cmV0dXJuIHIoMTIpfWZ1bmN0aW9uIHIoZSl7bGV0IHQ9IiI7Zm9yKGxldCBvPTA7bzxlOysrbyl7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPW5bZV19cmV0dXJuIHR9fSw1NDA1NzgoZSx0LG8pe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvWy0vXFxeJCorPy4oKXxbXF17fV0vZywiXFwkJiIpfW8uZCh0LHtyZWdFeHBFc2NhcGU6KCk9Pm59KX0sMTA3MDQ1KGUsdCxvKXtvLmQodCx7TnVtZXJpY0Zvcm1hdHRlcjooKT0+c30pO3ZhciBuPW8oNTk4OTIyKSxpPW8oNTQ2NDg1KTtjbGFzcyBze2NvbnN0cnVjdG9yKGU9e30pe3RoaXMuX29wdGlvbnM9ZX1mb3JtYXQoZSx0PXt9KXtpZighTnVtYmVyLmlzRmluaXRlKGUpKXJldHVybiBTdHJpbmcoZSk7Y29uc3R7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om89dGhpcy5fb3B0aW9ucy5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQsbm9FeHBvbmVudGlhbEZvcm06cj10aGlzLl9vcHRpb25zLm5vRXhwb25lbnRpYWxGb3JtfT10LHttaW5QcmVjaXNpb246YSxwcmVjaXNpb246bH09dGhpcy5fb3B0aW9ucyxjPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShvKTtyZXR1cm4gdm9pZCAwPT09bD9zLl9mb3JtYXROb0VJbXBsKGUsYyxsLGEpOigwLG4uZm9ybWF0TnVtYmVyKShlLGMsbCxyLGEpfXBhcnNlKGUsdCl7Y29uc3R7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om8scHJlY2lzaW9uOnN9PXRoaXMuX29wdGlvbnMscj0oMCxpLmdldE51bWJlckZvcm1hdCkob3x8dD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0KTtsZXQgYT0oMCxuLnBhcnNlTnVtYmVyKShlLHIpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/KHMmJihhPSthLnRvRml4ZWQocykpLHtyZXM6ITAsdmFsdWU6YX0pOntyZXM6ITF9fXN0YXRpYyBmb3JtYXROb0UoZSx0KXtyZXR1cm4gdGhpcy5fZm9ybWF0Tm9FSW1wbChlLHQpfXN0YXRpYyBfZm9ybWF0Tm9FSW1wbChlLHQsbyxpKXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGUpPyh0PXQ/P3tncm91cGluZ1NlcGFyYXRvcjoiIixkZWNpbWFsU2lnbjoiLiJ9LCgwLG4uZm9ybWF0TnVtYmVyKShlLHQsbywhMCxpKSk6U3RyaW5nKGUpfX19LDEyNTIxOChlLHQsbyl7by5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9PnN9KTt2YXIgbj1vKDExNTI5MyksaT1vKDc1NTYyNyk7Y2xhc3MgcyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om89ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG8/KDAsbi5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgcyhlKX19fSw4NTYzMjQoZSx0LG8pe28uZCh0LHsKZ2V0TGFuZ3VhZ2U6KCk9PnMsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5hLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pml9KTtsZXQgbj1udWxsO2Z1bmN0aW9uIGkoZSl7bj1lfWZ1bmN0aW9uIHMoKXtpZighbil0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIG4oKX1sZXQgcj1lPT5lO2Z1bmN0aW9uIGEoZSl7cj1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHIoZSl9fSw5ODQzNzYoZSx0LG8pe28uZCh0LHtQTEFDRV9IT0xERVI6KCk9PnIsVm9sdW1lRm9ybWF0dGVyOigpPT5jfSk7dmFyIG49byg3ODMyNTQpLGk9byg2MDE4NDEpLHM9bygxMDcwNDUpO2NvbnN0IHI9Ii0tLSIsYT1be3ZhbHVlOjMsbGV0dGVyOiJLIn0se3ZhbHVlOjYsbGV0dGVyOiJNIn0se3ZhbHVlOjksbGV0dGVyOiJCIn0se3ZhbHVlOjEyLGxldHRlcjoiVCJ9XTtmdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbz1lLXQ7cmV0dXJuIGEuZmluZCgoZT0+ZS52YWx1ZT49bykpPz9hW2EubGVuZ3RoLTFdfWNsYXNzIGN7Y29uc3RydWN0b3IoZT17fSl7dGhpcy50eXBlPSJ2b2x1bWUiO2NvbnN0e3ByZWNpc2lvbjp0PTAsbWluUHJlY2lzaW9uOm89MCxkaW1lbnNpb25QcmVjaXNpb246bj0yLGRpbWVuc2lvbk1pblByZWNpc2lvbjppPTAsc2lnbmlmaWNhbnREaWdpdHM6cj0zLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLG5vRXhwb25lbnRpYWxGb3JtOmwscmVtb3ZlU3BhY2VCZWZvcmVEaW1lbnNpb246Y309ZTt0aGlzLl9wcmVjaXNpb249dCx0aGlzLl9mb3JtYXR0ZXI9bmV3IHMuTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX3ByZWNpc2lvbixtaW5QcmVjaXNpb246byxub0V4cG9uZW50aWFsRm9ybTpsfSksdGhpcy5fZGltZW5zaW9uUHJlY2lzaW9uPW4sdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyPW5ldyBzLk51bWVyaWNGb3JtYXR0ZXIoe2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLHByZWNpc2lvbjp0aGlzLl9kaW1lbnNpb25QcmVjaXNpb24sbWluUHJlY2lzaW9uOmksbm9FeHBvbmVudGlhbEZvcm06bH0pLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzPXIsdGhpcy5fZnJhY3Rpb25hbFZhbHVlcz12b2lkIDAhPT10JiZ0PjAsdGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb249Yz8iIjoi4oCvIix0aGlzLl9vcHRpb25zPWV9c3RhdGUoKXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6ZSwuLi50fT10aGlzLl9vcHRpb25zO3JldHVybiB0fWZvcm1hdChlLHQpe2lmKCEoMCxpLmlzTnVtYmVyKShlKSlyZXR1cm4gcjtpZihNYXRoLmFicyhlKT49MWUxMDApcmV0dXJuIG4udChudWxsLHtjb250ZXh0OiJ2b2x1bWUtZm9ybWF0dGVyIn0sbyg1NzA2MikpO2xldCBzPSIiO01hdGguYWJzKGUpPDEmJihlPStlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKSksZTwwP3M9IuKIkiI6ZT4wJiZ0Py5zaWduUG9zaXRpdmUmJihzPSIrIiksZT1NYXRoLmFicyhlKTtjb25zdCBhPSEhKHQ/Lmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdD8/dGhpcy5fb3B0aW9ucy5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBjLGgsZD1NYXRoLmZsb29yKE1hdGgubG9nMTAoZSkpKzE7aWYoZDw9dGhpcy5fc2lnbmlmaWNhbnREaWdpdHMmJihlPStlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMSksZDw9dGhpcy5fc2lnbmlmaWNhbnREaWdpdHMpYz10aGlzLl9mb3JtYXROdW1iZXIoZSxhLHRoaXMuX2Zvcm1hdHRlcik7ZWxzZXtsZXQgdD1sKGQsdGhpcy5fc2lnbmlmaWNhbnREaWdpdHMpO2NvbnN0IG89TWF0aC5wb3coMTAsdC52YWx1ZSk7ZT0rKGUvbykudG9GaXhlZCh0aGlzLl9kaW1lbnNpb25QcmVjaXNpb24pKm8sdD1sKE1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMSx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyksYz10aGlzLl9mb3JtYXROdW1iZXIoZS9NYXRoLnBvdygxMCx0LnZhbHVlKSxhLHRoaXMuX2RpbWVuc2lvbkZvcm1hdHRlciksaD10LmxldHRlcn1yZXR1cm4gaD9gJHtzfSR7Y30ke3RoaXMuX3NwYWNlQmVmb3JlRGltZW5zaW9ufSR7aH1gOmAke3N9JHtjfWB9cGFyc2UoZSx0KXtpZihlPT09cilyZXR1cm57ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn07Y29uc3Qgbz17SzoxZTMsTToxZTYsQjoxZTksVDoxZTEyfSxuPShlPWUucmVwbGFjZSgi4oiSIiwiLSIpKS5zbGljZSgtMSk7aWYoby5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcz10aGlzLl9mb3JtYXR0ZXIucGFyc2UoZS5zbGljZSgwLC0xKS50cmltKCksdCkscj1zLnJlcz9zLnZhbHVlOk5hTjtyZXR1cm4oMCxpLmlzTnVtYmVyKShyKT97cmVzOiEwLHZhbHVlOnIqb1tuXX06e2Vycm9yOiJub3QgYSBudW1iZXIiLHJlczohMSx2YWx1ZTpOYU59fXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnRyaW0oKSx0KTtsZXQgbj1vLnJlcz9vLnZhbHVlOk5hTjtyZXR1cm4tMD09PW4mJihuPTApLCgwLGkuaXNOdW1iZXIpKG4pP3tyZXM6ITAsdmFsdWU6bn06e2Vycm9yOiJub3QgYSBudW1iZXIiLHJlczohMSx2YWx1ZTpOYU59fX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgYyhlKX1fZm9ybWF0TnVtYmVyKGUsdCxvKXtpZih0aGlzLl9mcmFjdGlvbmFsVmFsdWVzJiYwIT09ZSl7Y29uc3QgdD0xNC1NYXRoLmNlaWwoTWF0aC5sb2cxMChlKSksbz1NYXRoLnBvdygxMCx0KTtlPU1hdGgucm91bmQoZSpvKS9vfXJldHVybiBvLmZvcm1hdChlLHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6dH0pfX19LDc3MzA4OChlLHQsbyl7dmFyIG47ZnVuY3Rpb24gaShlLHQpewpyZXR1cm4icGVyaW9kLWJhY2siPT09ZS50eXBlJiYicGVyaW9kLWJhY2siPT09dC50eXBlP2UudmFsdWU9PT10LnZhbHVlOiJ0aW1lLXJhbmdlIj09PWUudHlwZSYmInRpbWUtcmFuZ2UiPT09dC50eXBlJiYoZS5mcm9tPT09dC5mcm9tJiZlLnRvPT09dC50byl9ZnVuY3Rpb24gcyhlLHQ9ITEpe2lmKCJwZXJpb2QtYmFjayI9PT1lLnR5cGUpe2xldCBvPWUudmFsdWU7cmV0dXJuIHQmJiJZVEQiIT09byYmIkQiPT09by5zbGljZSgtMSkmJihvPW8uc2xpY2UoMCwtMSkpLG99cmV0dXJuInIsIitlLmZyb20rIjoiK2UudG99ZnVuY3Rpb24gcihlKXtjb25zdCB0PS9yLChcZCspOihcZCspLy5leGVjKGUpO3JldHVybiBudWxsIT09dD97ZnJvbTpOdW1iZXIodFsxXSksdG86TnVtYmVyKHRbMl0pLHR5cGU6InRpbWUtcmFuZ2UifTp7dmFsdWU6ZSx0eXBlOiJwZXJpb2QtYmFjayJ9fW8uZCh0LHthcmVFcXVhbFRpbWVGcmFtZXM6KCk9PmksY29udmVydFN0clRvVGltZUZyYW1lOigpPT5yLGNvbnZlcnRUaW1lRnJhbWVUb1N0cjooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUGVyaW9kQmFjaz0icGVyaW9kLWJhY2siLGUuVGltZVJhbmdlPSJ0aW1lLXJhbmdlIn0obnx8KG49e30pKX0sMzQ1MTUxKGUsdCxvKXtvLmQodCx7aG90S2V5RGVzZXJpYWxpemU6KCk9PnMsaG90S2V5U2VyaWFsaXplOigpPT5pfSk7dmFyIG49byg2NDE1OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuKDAsbi5odG1sRXNjYXBlKShKU09OLnN0cmluZ2lmeShlKSl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gSlNPTi5wYXJzZSgoMCxuLmRlY29kZUhUTUxFbnRpdGllcykoZSkpfX0sMTYwMjk2KGUsdCxvKXtvLmQodCx7ZW52aXJvbm1lbnQ6KCk9PmksaXNEZWJ1ZzooKT0+YSxpc0xvY2FsOigpPT5zLGlzUHJvZDooKT0+cn0pO2NvbnN0IG49bmV3IFNldChbImJhdHRsZSIsInN0YWdpbmciLCJ0ZXN0IiwibG9jYWwiXSk7ZnVuY3Rpb24gaSgpe2NvbnN0IGU9c2VsZi5lbnZpcm9ubWVudDtyZXR1cm4gZnVuY3Rpb24oZSl7bi5oYXMoZSl8fGNvbnNvbGUud2FybigiSW52YWxpZCBlbnZpcm9ubWVudCAiK2UpfShlKSxlfWZ1bmN0aW9uIHMoKXtyZXR1cm4ibG9jYWwiPT09aSgpfWZ1bmN0aW9uIHIoKXtyZXR1cm4iYmF0dGxlIj09PWkoKX1mdW5jdGlvbiBhKCl7cmV0dXJuIXIoKX19LDQyOTY2KGUsdCxvKXt2YXIgbj1vKDg1NjMyNCksaT1vKDk2MzA5OCk7KDAsbi5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxuLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDgxMDQxKGUsdCxvKXtvLmQodCx7U3RkVGhlbWU6KCk9Pm4uU3RkVGhlbWV9KTt2YXIgbj1vKDI0NzkwMSl9LDQwNzc5OShlLHQsbyl7by5kKHQse2VuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmc6KCk9Pml9KTt2YXIgbj1vKDExMTk1Myk7ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxuLmVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbCkoZSl9fSw2MTk5OTIoZSx0LG8pe28uZCh0LHtpc1RpY2tzRW5hYmxlZDooKT0+aX0pO3ZhciBuPW8oMzE4OTc0KTtvKDkzMDIzMSk7ZnVuY3Rpb24gaSgpe3JldHVybiEoMCxuLm9uV2lkZ2V0KSgpfX0sNjEwMjY4KGUsdCxvKXsoMCxvKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw0Mzg1MzkoZSx0LG8pe2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3R7cmVuZGVyR29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2c6dH09YXdhaXQgUHJvbWlzZS5hbGwoW28uZSg1NDk4KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoMjAzNTQpLG8uZSgyOTUzNiksby5lKDUxODQpLG8uZSg1NjI1Miksby5lKDM5MDUpLG8uZSg3NDgzMCksby5lKDUwNjIyKSxvLmUoMzMyMjEpLG8uZSgxMTcyNSksby5lKDUxMzA5KSxvLmUoMTEyNTcpLG8uZSgzMjM4Nyksby5lKDE3OTkxKSxvLmUoMTI5NjUpLG8uZSg2ODc0MSksby5lKDgzNzgxKSxvLmUoNTI4MTEpLG8uZSg1Mzg4MSldKS50aGVuKG8uYmluZChvLDQ3NTgwNikpO3QoZSl9by5kKHQse3Nob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZzooKT0+bn0pfSwzODE1MTcoZSx0LG8pe28uZCh0LHtpc1RyaWFsQXZhaWxhYmxlRm9yVXNlcjooKT0+aX0pO3ZhciBuPW8oOTEzNzA2KTtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbz1lLmF2YWlsYWJsZV9vZmZlcnN8fHt9O3JldHVybiB0JiZ2b2lkIDAhPT1vW24uT0ZGRVJTLnRyaWFsXX19LDI4NDQ4NChlLHQsbyl7by5yKHQpLG8uZCh0LHtRdW90ZVRpY2tlcjooKT0+U30pO3ZhciBuPW8oOTY0NDg2KSxpPW8oMjIxMDYxKSxzPW8oNjAxODQxKSxyPW8oMTI1MjE4KSxhPW8oODkxNzc4KSxsPW8oNzU1NjI3KSxjPW8oOTg0Mzc2KSxoPW8oNTYzOTE4KSxkPW8oMzA2OTApLHU9byg1MjgzOTYpLG09bygxMTM1NjcpLGc9bygxNTk1MTMpLF89byg5NzMxMTkpLHA9byg2MDI4NyksZj1vKDc4Njc2MCksdz1vKDEwMTcxMik7Y29uc3Qgdj0oMCxpLmdldExvZ2dlcikoIlF1b3RlVGlja2VyIikseT17YWRkRGVzY3JpcHRpb25UaXRsZTohMCxjaGFuZ2VEaXJlY3Rpb25Eb3duQ2xhc3M6ImRvd24iLGNoYW5nZURpcmVjdGlvblVwQ2xhc3M6InVwIixjaGFuZ2VEaXJlY3Rpb25OZXV0cmFsQ2xhc3M6Im5ldXRyYWwiLGNoYW5nZUluQnJhY2tldHM6ITEsY2hhbmdlUGVyY2VudEluQnJhY2tldHM6ITEsbGFzdFByaWNlVGltZUluQnJhY2tldHM6ITAsbGFzdFJlbGVhc2VEYXRlVGltZUluQnJhY2tldHM6ITAscnRjVGltZUluQnJhY2tldHM6ITAsY2xpZW50TmFtZToicXVvdGUtdGlja2VyIixkb250RHllUHJpY2U6ITEsZmFsbGluZ0JnOm51bGwsZ3Jvd2luZ0JnOm51bGwsbGFzdEZhbGxpbmdDbGFzczoiZmFsbGluZyIsbGFzdEdyb3dpbmdDbGFzczoiZ3Jvd2luZyIscXVvdGVTZXNzaW9uOm51bGwsc2lnbk5lZ2F0aXZlOiEwLHNpZ25Qb3NpdGl2ZTohMSxjdXN0b21QcmljZUZvcm1hdHRlcjpudWxsLGN1c3RvbVRpbWVGb3JtYXR0ZXI6bnVsbCwKc2Vzc2lvblN0YXR1c0NsYXNzU3VmZml4OiItLWZvci10aWNrZXIiLGRhdGFNb2RlQ2xhc3NTdWZmaXg6Ii0tZm9yLXRpY2tlciIsc2hvd0ludmFsaWRTeW1ib2xTdGF0dXM6ITEsaW5kaWNhdG9yc1Rvb2x0aXBUeXBlOiJjdXN0b20iLGxhc3RQcmljZUxhc3RDaGFyU3VwOiExLGxhc3RQcmljZUhpZ2hsaWdodERpZmZPbmx5OiExLGluaXRlZEhvb2s6dm9pZCAwLHNldFN0YXRlSG9vazp2b2lkIDAscGVybWlzc2lvbkRlbmllZEhvb2s6dm9pZCAwLG5vU3VjaFN5bWJvbEhvb2s6dm9pZCAwfSxiPS9bS01CVF0vO2Z1bmN0aW9uIFMoZSx0LG89e30pe3RoaXMuZW5hYmxlZD0hMCx0aGlzLl9zeW1ib2w9ZSx0aGlzLl9zeW1ib2xPcmlnaW5hbD1udWxsLHRoaXMuX29wdGlvbnM9KDAsbi5kZWVwRXh0ZW5kKSh7fSx5LG8pLCExIT09dGhpcy5fb3B0aW9ucy5zaWduTmVnYXRpdmUmJiEwIT09dGhpcy5fb3B0aW9ucy5zaWduTmVnYXRpdmUmJmRlbGV0ZSB0aGlzLl9vcHRpb25zLnNpZ25OZWdhdGl2ZSxvLmN1c3RvbVByaWNlRm9ybWF0dGVyJiYodGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXI9by5jdXN0b21QcmljZUZvcm1hdHRlciksby5jdXN0b21UaW1lRm9ybWF0dGVyJiYodm9pZCAwIT09by5jdXN0b21UaW1lRm9ybWF0dGVyLmxhc3RQcmljZXx8dm9pZCAwIT09by5jdXN0b21UaW1lRm9ybWF0dGVyLnJ0Yz90aGlzLl90aW1lRm9ybWF0dGVyPW8uY3VzdG9tVGltZUZvcm1hdHRlcjp0aGlzLl90aW1lRm9ybWF0dGVyPXtsYXN0UHJpY2U6by5jdXN0b21QcmljZUZvcm1hdHRlcixydGM6by5jdXN0b21QcmljZUZvcm1hdHRlcn0pLHRoaXMuX3BlcmNlbnRGb3JtYXR0ZXI9bmV3IHIuUGVyY2VudGFnZUZvcm1hdHRlcix0aGlzLl9kZWZhdWx0UHJpY2VGb3JtYXR0ZXI9bmV3IGwuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAwfSksdGhpcy5fcHJpY2VGb3JtYXR0ZXI9dGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXJ8fHRoaXMuX2RlZmF1bHRQcmljZUZvcm1hdHRlcix0aGlzLl92b2x1bWVGb3JtYXR0ZXI9bmV3IGMuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pLHRoaXMuX2NhY2hlPXt9LHRoaXMuX2xhc3RQcmljZT1udWxsLHRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZD0iIix0aGlzLl9sYXN0TWluTW92ZT0wLHRoaXMuX2VsZW1lbnRzPXt9LHRoaXMuX3RleHROb2Rlcz17fSx0aGlzLl9jaGFuZ2VWb2x1bWVMZXR0ZXI9dGhpcy5fZ2V0Q2hhbmdlVm9sdW1lTGV0dGVyQ2FsbGJhY2soKSx0aGlzLl9zZXRFbGVtZW50cyh0KSx0aGlzLl9oaWdobGlnaHRlcnM9e30sdGhpcy5faW5pdEhpZ2hsaWdodGVycygpLHRoaXMuX29wdGlvbnMuc2V0U3RhdGVIb29rJiZ0aGlzLnNldFN0YXRlSG9vayh0aGlzLl9vcHRpb25zLnNldFN0YXRlSG9vayksdGhpcy5xdW90ZVNlc3Npb249dGhpcy5fb3B0aW9ucy5xdW90ZVNlc3Npb258fCgwLGcuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSx0aGlzLl9xdW90ZVNlc3Npb25FdmVudEhhbmRsZXI9dGhpcy5vbkRhdGEuYmluZCh0aGlzKSx0aGlzLl9jb25uZWN0VGltZW91dElkPXNldFRpbWVvdXQodGhpcy5jb25uZWN0LmJpbmQodGhpcyksMCl9ZnVuY3Rpb24gTihlKXtjb25zdCB0PWUuc2VhcmNoKGIpLG89dD49MD9lLnNsaWNlKHQpOiIiO3JldHVyblt0PjA/ZS5zdWJzdHJpbmcodCwwKTowPT09dD8iIjplLG9dfWZ1bmN0aW9uIFQoZSx0LG8sbixpKXt2YXIgcyxyPW51bGw7ZnVuY3Rpb24gYSgpe2lmKHMmJihjbGVhclRpbWVvdXQocykscz12b2lkIDApLG98fHQpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXS5zdHlsZS5iYWNrZ3JvdW5kPSIiO2lmKCFvfHwhdClmb3Iocj0wO3I8ZS5sZW5ndGg7cisrKW4mJmVbcl0uY2xhc3NMaXN0LnJlbW92ZShuKSxpJiZlW3JdLmNsYXNzTGlzdC5yZW1vdmUoaSl9cmV0dXJue3Nob3c6ZnVuY3Rpb24obCl7dmFyIGM9MDtpZihsIT09cil7aWYobnVsbCE9PXImJm51bGwhPT1sJiYoYz1sLXIpLGEoKSxzPXNldFRpbWVvdXQoYSw3NTApLDA8Yyl7aWYodClmb3IodmFyIGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLnN0eWxlLmJhY2tncm91bmQ9dDtlbHNlIGlmKG4pZm9yKGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLmNsYXNzTGlzdC5hZGQobil9ZWxzZSBpZihjPDApaWYobylmb3IoaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0uc3R5bGUuYmFja2dyb3VuZD1vO2Vsc2UgaWYoaSlmb3IoaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0uY2xhc3NMaXN0LmFkZChpKTtudWxsIT09bCYmKHI9bCl9fSxoaWRlOmF9fVMucHJvdG90eXBlLl9zZXRFbGVtZW50cz1mdW5jdGlvbihlKXt0aGlzLl9jb250YWluZXI9ZSx0aGlzLl9lbGVtZW50cy5jaGFuZ2U9dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtY2hhbmdlIiwic3ltYm9sLWNoYW5nZSJdKSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VEaXJlY3Rpb249dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtY2hhbmdlLWRpcmVjdGlvbiIsInN5bWJvbC1jaGFuZ2UtZGlyZWN0aW9uIl0pLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZS1kaXJlY3Rpb24iXSksdGhpcy5fZWxlbWVudHMuY2hhbmdlUGVyY2VudD10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1jaGFuZ2UtcHQiLCJzeW1ib2wtY2hhbmdlLXB0Il0pLHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLWRlc2NyaXB0aW9uLW5hbWUiLCJzeW1ib2wtZGVzY3JpcHRpb24tbmFtZSJdKSx0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2U9dGhpcy5fZmluZEVsZW1lbnRzKGUsImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZSIpLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZVBlcmNlbnQ9dGhpcy5fZmluZEVsZW1lbnRzKGUsImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZS1wdCIpLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtZXh0LWhycy1jbG9zZSIpLAp0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1uaWdodC1jaGFuZ2UtZGlyZWN0aW9uIl0pLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlIiksdGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VQZXJjZW50PXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlLXB0IiksdGhpcy5fZWxlbWVudHMubmlnaHRDbG9zZT10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLW5pZ2h0LWNsb3NlIiksdGhpcy5fZWxlbWVudHMuaW5kdXN0cnk9dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtaW5kdXN0cnkiLCJzeW1ib2wtaW5kdXN0cnkiXSksdGhpcy5fZWxlbWVudHMubGFzdD10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1sYXN0Iiwic3ltYm9sLWxhc3QiXSksdGhpcy5fZWxlbWVudHMuc2VjdG9yPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLXNlY3RvciIsInN5bWJvbC1zZWN0b3IiXSksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cz10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLXNlc3Npb24tc3RhdHVzIiksdGhpcy5fZWxlbWVudHMuc2hvcnROYW1lPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLXNob3J0LW5hbWUiLCJzeW1ib2wtc2hvcnQtbmFtZSJdKSx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1kYXRhLW1vZGUiKSx0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbGFzdC1wZXJpb2QiKSx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSkpLHRoaXMuX3RleHROb2Rlcy5jaGFuZ2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuY2hhbmdlKSx0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlUGVyY2VudD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50KSx0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZSksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0NoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudCksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0Nsb3NlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlKSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2UpLHRoaXMuX3RleHROb2Rlcy5uaWdodENoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VQZXJjZW50KSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDbG9zZT10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5uaWdodENsb3NlKSx0aGlzLl90ZXh0Tm9kZXMubGFzdD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5sYXN0KSx0aGlzLl90ZXh0Tm9kZXMub3Blbj10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1vcGVuIiksdGhpcy5fdGV4dE5vZGVzLmVwcz10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1lcHMiKSx0aGlzLl90ZXh0Tm9kZXMubWFya2V0Q2FwPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLW1hcmtldC1jYXAiKSx0aGlzLl90ZXh0Tm9kZXMucHJldkNsb3NlPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXByZXYtY2xvc2UiKSx0aGlzLl90ZXh0Tm9kZXMuZGl2aWRlbmRzPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLWRpdmlkZW5kcyIpLHRoaXMuX3RleHROb2Rlcy5wcmljZUVhcm5pbmdzPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXBlIiksdGhpcy5fdGV4dE5vZGVzLnZvbHVtZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC12b2x1bWUiKSx0aGlzLl90ZXh0Tm9kZXMuaGlnaD10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1oaWdoIiksdGhpcy5fdGV4dE5vZGVzLmxvdz10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1sb3ciKSx0aGlzLl90ZXh0Tm9kZXMuY3VycmVuY3k9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtY3VycmVuY3kiKSx0aGlzLl90ZXh0Tm9kZXMubGFzdFByaWNlVGltZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1scC10aW1lIiksdGhpcy5fdGV4dE5vZGVzLmxhc3RSZWxlYXNlRGF0ZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1sYXN0LXJlbGVhc2UtZGF0ZSIpLHRoaXMuX3RleHROb2Rlcy5ydGNUaW1lPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXJ0Yy10aW1lIiksdGhpcy5fdGV4dE5vZGVzLm50Y1RpbWU9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtbnRjLXRpbWUiKSx0aGlzLl9lbGVtZW50cy5sYXN0SGlnaGxpZ2h0PXRoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk/dGhpcy5fZWxlbWVudHMubGFzdC5tYXAoKGU9PnRoaXMuX2FwcGVuZEFuZEdldE5ld0VsZW1lbnQoZSwic3BhbiIpKSk6dGhpcy5fZWxlbWVudHMubGFzdCx0aGlzLl90ZXh0Tm9kZXMubGFzdEhpZ2hsaWdodD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5sYXN0SGlnaGxpZ2h0KSx0aGlzLl9lbGVtZW50cy5sYXN0U3VwPXRoaXMuX29wdGlvbnMubGFzdFByaWNlTGFzdENoYXJTdXA/dGhpcy5fZWxlbWVudHMubGFzdEhpZ2hsaWdodC5tYXAoKGU9PnRoaXMuX2FwcGVuZEFuZEdldE5ld0VsZW1lbnQoZSwic3VwIikpKTpbXSwKdGhpcy5fdGV4dE5vZGVzLmxhc3RTdXA9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubGFzdFN1cCl9LFMucHJvdG90eXBlLl9maW5kRWxlbWVudHM9ZnVuY3Rpb24oZSx0KXt2YXIgbz0oMCxzLmlzQXJyYXkpKHQpP3Q6W3RdO3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLG8ubWFwKCh0PT5BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUodCkpKSkpfSxTLnByb3RvdHlwZS5fZmluZFRleHROb2Rlcz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9maW5kRWxlbWVudHMoZSx0KSl9LFMucHJvdG90eXBlLl9nZXRPckNyZWF0ZVRleHROb2Rlcz1mdW5jdGlvbihlKXtyZXR1cm4gZS5tYXAoKGU9Pnt2YXIgdD10aGlzLl9nZXRGaXJzdFRleHROb2RlKGUpO3JldHVybiB0fHwodD1lLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpLGUuYXBwZW5kQ2hpbGQodCkpLHR9KSl9LFMucHJvdG90eXBlLl9hcHBlbmRBbmRHZXROZXdFbGVtZW50PWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiBlLmFwcGVuZENoaWxkKG8pLG99LFMucHJvdG90eXBlLl9nZXRGaXJzdFRleHROb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmNoaWxkTm9kZXMsbz10Lmxlbmd0aC0xO28+PTA7by0tKWlmKDM9PT10Lml0ZW0obykubm9kZVR5cGUpcmV0dXJuIHQuaXRlbShvKTtyZXR1cm4gbnVsbH0sUy5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbihlKXt0aGlzLl9zdWJzY3JpYmVkfHwodGhpcy5fc3Vic2NyaWJlZFN5bWJvbD1lfHx0aGlzLl9zeW1ib2wsdGhpcy5xdW90ZVNlc3Npb24uc3Vic2NyaWJlKHRoaXMuX29wdGlvbnMuY2xpZW50TmFtZSx0aGlzLl9zdWJzY3JpYmVkU3ltYm9sLHRoaXMuX3F1b3RlU2Vzc2lvbkV2ZW50SGFuZGxlciksdGhpcy5fc3Vic2NyaWJlZD0hMCl9LFMucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodGhpcy5fY29ubmVjdFRpbWVvdXRJZCksdGhpcy5fc3Vic2NyaWJlZCYmKHRoaXMucXVvdGVTZXNzaW9uLnVuc3Vic2NyaWJlKHRoaXMuX29wdGlvbnMuY2xpZW50TmFtZSx0aGlzLl9zdWJzY3JpYmVkU3ltYm9sLHRoaXMuX3F1b3RlU2Vzc2lvbkV2ZW50SGFuZGxlciksdGhpcy5fc3Vic2NyaWJlZD0hMSl9LFMucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlLHQpe3RoaXMuZW5hYmxlZCYmKCJvayI9PT1lLnN0YXR1cz90aGlzLnN1Y2Nlc3NEYXRhKGUsdCk6InBlcm1pc3Npb25fZGVuaWVkIj09PWUuc3RhdHVzP3RoaXMub25QZXJtaXNzaW9uRGVuaWVkKGUpOiJlcnJvciI9PT1lLnN0YXR1cyYmdGhpcy5lcnJvckRhdGEoZSkpfSxTLnByb3RvdHlwZS5zdWNjZXNzRGF0YT1mdW5jdGlvbihlLHQpe2UudmFsdWVzJiZ0aGlzLnNldFN0YXRlKGUudmFsdWVzLGUsdCl9LFMucHJvdG90eXBlLm9uUGVybWlzc2lvbkRlbmllZD1mdW5jdGlvbihlKXsoMCx3LmlzU2ZRdW90ZURhdGEpKGUpfHwoMCxmLmlzTWN4UXVvdGVEYXRhKShlKT90aGlzLl9vcHRpb25zLnBlcm1pc3Npb25EZW5pZWRIb29rP3RoaXMuX29wdGlvbnMucGVybWlzc2lvbkRlbmllZEhvb2soZSx0aGlzLl9zeW1ib2xPcmlnaW5hbHx8dGhpcy5fc3ltYm9sKTp0aGlzLmVycm9yRGF0YShlKTp0aGlzLmRvd25ncmFkZURhdGEoZSl9LFMucHJvdG90eXBlLmVycm9yRGF0YT1mdW5jdGlvbihlKXt0aGlzLl9vcHRpb25zLnNob3dJbnZhbGlkU3ltYm9sU3RhdHVzJiYodGhpcy5zZXRTaG9ydE5hbWUodGhpcy5fc3ltYm9sKSx0aGlzLl9lbGVtZW50cy5zZXNzaW9uU3RhdHVzLm1hcCgoZT0+bmV3IGguTWFya2V0U3RhdHVzSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLnNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeCxlbDplLGRhdGE6e3ZhbHVlczp7Y3VycmVudF9zZXNzaW9uOiJpbnZhbGlkIn19LHRvb2x0aXBUeXBlOnRoaXMuX29wdGlvbnMuaW5kaWNhdG9yc1Rvb2x0aXBUeXBlfSkpKSksdGhpcy5fb3B0aW9ucy5ub1N1Y2hTeW1ib2xIb29rPyh0aGlzLl9zeW1ib2xPcmlnaW5hbCYmdGhpcy5zZXRTaG9ydE5hbWUodGhpcy5fc3ltYm9sT3JpZ2luYWwpLHRoaXMuX29wdGlvbnMubm9TdWNoU3ltYm9sSG9vay5jYWxsKHRoaXMsZSx0aGlzLl9zeW1ib2xPcmlnaW5hbHx8dGhpcy5fc3ltYm9sKSk6di5sb2dXYXJuKCJObyBkYXRhIGZvcjogIit0aGlzLl9zeW1ib2wpfSxTLnByb3RvdHlwZS5kb3duZ3JhZGVEYXRhPWZ1bmN0aW9uKGUpe3tjb25zdCB0PWUmJmUudmFsdWVzJiZlLnZhbHVlcy5hbHRlcm5hdGl2ZSxvPXRoaXMuX3N5bWJvbD09PXQ7aWYoISh0JiYtMSE9PXQuaW5kZXhPZigiOiIpKXx8bylyZXR1cm4gdm9pZCB0aGlzLmVycm9yRGF0YShlKTt0aGlzLl9zeW1ib2xPcmlnaW5hbD10aGlzLl9zeW1ib2wsdGhpcy5fc3ltYm9sPXQsdGhpcy5fc3Vic2NyaWJlZD0hMSx0aGlzLmNvbm5lY3QoKX19LFMucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCBpPW4udmFsdWVzO3RoaXMuX2lzVm9sdW1lRm9ybWF0PSJ2b2x1bWUiPT09ZS5mb3JtYXQsbnVsbD09aS5wcmljZXNjYWxlJiZudWxsPT1pLm1pbm1vdiYmbnVsbD09aS5mcmFjdGlvbmFsJiZudWxsPT1pLm1pbm1vdmUyfHwodGhpcy5fcHJpY2VGb3JtYXR0ZXI9dGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXJ8fHRoaXMuX2lzVm9sdW1lRm9ybWF0JiZ0aGlzLl92b2x1bWVGb3JtYXR0ZXJ8fG5ldyBsLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZXx8MTAwLG1pbk1vdmU6ZS5taW5tb3Z8fDEsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pKQo7Y29uc3Qgcz10aGlzLl9vcHRpb25zLHI9dGhpcy5fcGVyY2VudEZvcm1hdHRlcixhPXRoaXMuX3ByaWNlRm9ybWF0dGVyLGc9dGhpcy5fZGVmYXVsdFByaWNlRm9ybWF0dGVyLGY9dGhpcy5fdm9sdW1lRm9ybWF0dGVyLHc9KGUsdD0hMCk9PnQ/YCgke2V9KWA6ZSx5PXZvaWQgMCE9PXMuc2lnblBvc2l0aXZlQ2hhbmdlP3Muc2lnblBvc2l0aXZlQ2hhbmdlOnMuc2lnblBvc2l0aXZlLGI9ZT0+KDAsXy5xdW90ZVRpY2tlckZvcm1hdENoYW5nZSkoZSxpLHMpLFM9ZT0+e2NvbnN0IHQ9ci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOnksc2lnbk5lZ2F0aXZlOnMuc2lnbk5lZ2F0aXZlfSk7cmV0dXJuIHcodCxzLmNoYW5nZVBlcmNlbnRJbkJyYWNrZXRzKX0sTj1hLmZvcm1hdC5iaW5kKGEpLFQ9Zy5mb3JtYXQuYmluZChnKSxFPWYuZm9ybWF0LmJpbmQoZiksQz1lPT5udWxsPT1lP2MuUExBQ0VfSE9MREVSOlQoZSk7cy5kaXNhYmxlQ2hhbmdlfHwodGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlLGkuY2hhbmdlLGIpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmNoYW5nZVBlcmNlbnQsaS5jaGFuZ2VfcGVyY2VudCxTKSxudWxsIT1pLmNoYW5nZSYmKHMuZG9udER5ZVByaWNlfHx0aGlzLl9zZXRDaGFuZ2VGb250Q29sb3IoW10uY29uY2F0KHRoaXMuX2VsZW1lbnRzLmNoYW5nZSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50KSxpLmNoYW5nZSxzLmNoYW5nZVVwRm9udENvbG9yLHMuY2hhbmdlRG93bkZvbnRDb2xvcixzLmNoYW5nZU5ldXRyYWxGb250Q29sb3IpLHRoaXMuX3NldENoYW5nZURpcmVjdGlvbih0aGlzLl9lbGVtZW50cy5jaGFuZ2VEaXJlY3Rpb24saS5jaGFuZ2UpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5leHRIcnNDaGFuZ2UsaS5yY2gsYiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlUGVyY2VudCxpLnJjaHAsUyksbnVsbCE9aS5yY2gmJihzLmRvbnREeWVQcmljZXx8dGhpcy5fc2V0Q2hhbmdlRm9udENvbG9yKFtdLmNvbmNhdCh0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2UsdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudCksaS5yY2gscy5jaGFuZ2VVcEZvbnRDb2xvcixzLmNoYW5nZURvd25Gb250Q29sb3Iscy5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlRGlyZWN0aW9uLGkucmNoKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2UsaS5uY2gsYiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2VQZXJjZW50LGkubmNocCxTKSxudWxsIT1pLm5jaCYmKHMuZG9udER5ZVByaWNlfHx0aGlzLl9zZXRDaGFuZ2VGb250Q29sb3IoW10uY29uY2F0KHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlUGVyY2VudCksaS5uY2gscy5jaGFuZ2VVcEZvbnRDb2xvcixzLmNoYW5nZURvd25Gb250Q29sb3Iscy5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VEaXJlY3Rpb24saS5uY2gpKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMucHJldkNsb3NlLGkucHJldl9jbG9zZV9wcmljZSxOKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5kaXZpZGVuZHMsZS5kaXZpZGVuZHNfeWllbGQsKGU9Pm51bGw9PWU/Yy5QTEFDRV9IT0xERVI6ci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOnMuc2lnblBvc2l0aXZlLHNpZ25OZWdhdGl2ZTpzLnNpZ25OZWdhdGl2ZX0pKSwhMCk7bGV0IHg9KDAsdS5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKGkpO2lmKHgmJih4PXRoaXMuX3ByZXBhcmVTeW1ib2xEZXNjcmlwdGlvbih4KSx0aGlzLl9zZXRUZXh0c0NvbnRlbnQodGhpcy5fZWxlbWVudHMuZGVzY3JpcHRpb24seCksdGhpcy5fb3B0aW9ucy5hZGREZXNjcmlwdGlvblRpdGxlKSlmb3IodmFyIEw9MDtMPHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uLmxlbmd0aDtMKyspdGhpcy5fZWxlbWVudHMuZGVzY3JpcHRpb25bTF0uc2V0QXR0cmlidXRlKCJ0aXRsZSIseCk7aWYoKG51bGwhPWkuc2hvcnRfbmFtZXx8bnVsbCE9aS5leGNoYW5nZSkmJmUuc2hvcnRfbmFtZSl7dmFyIEQ9ZS5zaG9ydF9uYW1lOyJRVUFOREwiPT09ZS5leGNoYW5nZSYmdm9pZCAwIT09ZS5zaG9ydF9uYW1lLnNwbGl0KCIvIilbMV0mJihEPWUuc2hvcnRfbmFtZS5zcGxpdCgiLyIpWzFdKyIsICIrZS5zaG9ydF9uYW1lLnNwbGl0KCIvIilbMF0pLHRoaXMuc2V0U2hvcnROYW1lKEQpfWVbInJlZmVyZW5jZS1sYXN0LXBlcmlvZCJdJiZ0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLmxlbmd0aCYmUHJvbWlzZS5hbGwoW28uZSgyMzU2Nyksby5lKDczOTcpXSkudGhlbihvLmJpbmQobywyMTU1NzkpKS50aGVuKCh0PT57dGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmxhc3RQZXJpb2QsdC5wZXJpb2RGb3JtYXR0ZXIoZVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIl0pKX0pKSx0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLmxlbmd0aCYmdm9pZCAwPT09ZVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIl0mJnRoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLCLigJQiKSx0aGlzLl9zZXRMYXN0VmFsdWUoaS5sYXN0X3ByaWNlLGkubWlubW92ZTIsTiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2xvc2UsaS5ydGMsTiksaS5ydGMmJnRoaXMuX2hpZ2hsaWdodGVycy5leHRIcnNDbG9zZS5zaG93KGkucnRjKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5uaWdodENsb3NlLGkubnRjLE4pLGkubnRjJiZ0aGlzLl9oaWdobGlnaHRlcnMubmlnaHRDbG9zZS5zaG93KGkubnRjKSwKaS5pbmR1c3RyeSYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmluZHVzdHJ5LGUuaW5kdXN0cnksKGU9PmUpKSxpLnNlY3RvciYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLnNlY3RvcixlLnNlY3RvciksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cyYmaS5jdXJyZW50X3Nlc3Npb24mJih0aGlzLl9zZXNzaW9uU3RhdHVzSW5zdGFuY2VzP3RoaXMuX3Nlc3Npb25TdGF0dXNJbnN0YW5jZXMuZm9yRWFjaCgoZT0+ZS5zZXRTdGF0dXMoaS5jdXJyZW50X3Nlc3Npb24pKSk6dGhpcy5fc2Vzc2lvblN0YXR1c0luc3RhbmNlcz10aGlzLl9lbGVtZW50cy5zZXNzaW9uU3RhdHVzLm1hcCgodD0+bmV3IGguTWFya2V0U3RhdHVzSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLnNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeCxlbDp0LHNob3J0OiEwLGRhdGE6e3ZhbHVlczppfSxxdW90ZVNlc3Npb246dGhpcy5xdW90ZVNlc3Npb24sc3ltYm9sOmUub3JpZ2luYWxfbmFtZSxtYW51YWxVcGRhdGU6ITAsdG9vbHRpcFR5cGU6dGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzVG9vbHRpcFR5cGUsc2Vzc2lvblN0YXR1c0ljb246dGhpcy5fb3B0aW9ucy5zZXNzaW9uU3RhdHVzSWNvbn0pKSkpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm9wZW4saS5vcGVuX3ByaWNlLE4pLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmhpZ2gsaS5oaWdoX3ByaWNlLE4pLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxvdyxpLmxvd19wcmljZSxOKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5lcHMsZS5lYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtLEMsITApLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLnByaWNlRWFybmluZ3MsZS5wcmljZV9lYXJuaW5nc190dG0sQywhMCksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubWFya2V0Q2FwLGUubWFya2V0X2NhcF9iYXNpYyxFLCEwKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy52b2x1bWUsZS52b2x1bWUsRSwhMCk7Y29uc3QgRj0oMCxtLnByZXBhcmVDdXJyZW5jeVZhbHVlKShpKTtpZihGJiZ0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5jdXJyZW5jeSxGLHAucXVvdGVUaWNrZXJGb3JtYXRDdXJyZW5jeSwhMCksKGkubHBfdGltZXx8ZS5scF90aW1lKSYmdGhpcy5fdGV4dE5vZGVzLmxhc3RQcmljZVRpbWUubGVuZ3RoJiYodGhpcy5fdGltZUZvcm1hdHRlciYmdGhpcy5fdGltZUZvcm1hdHRlci5sYXN0UHJpY2U/dGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubGFzdFByaWNlVGltZSx3KHRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFByaWNlKGUubHBfdGltZSxlLmN1cnJlbnRfc2Vzc2lvbiksdGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VUaW1lSW5CcmFja2V0cykpOnYubG9nRXJyb3IoImxhc3QgcHJpY2UgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksKGkubGFzdF9yZWxlYXNlX2RhdGV8fGUubGFzdF9yZWxlYXNlX2RhdGUpJiZ0aGlzLl90ZXh0Tm9kZXMubGFzdFJlbGVhc2VEYXRlLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFJlbGVhc2VEYXRlP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RSZWxlYXNlRGF0ZSx3KHRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFJlbGVhc2VEYXRlKGUubGFzdF9yZWxlYXNlX2RhdGUsZS5jdXJyZW50X3Nlc3Npb24pLHRoaXMuX29wdGlvbnMubGFzdFJlbGVhc2VEYXRlVGltZUluQnJhY2tldHMpKTp2LmxvZ0Vycm9yKCJsYXN0UmVsZWFzZURhdGUgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksKGkucnRjX3RpbWV8fGUucnRjX3RpbWUpJiZ0aGlzLl90ZXh0Tm9kZXMucnRjVGltZS5sZW5ndGgmJih0aGlzLl90aW1lRm9ybWF0dGVyJiZ0aGlzLl90aW1lRm9ybWF0dGVyLnJ0Yz90aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5ydGNUaW1lLHcodGhpcy5fdGltZUZvcm1hdHRlci5ydGMoZS5ydGNfdGltZSxlLmN1cnJlbnRfc2Vzc2lvbiksdGhpcy5fb3B0aW9ucy5ydGNUaW1lSW5CcmFja2V0cykpOnYubG9nRXJyb3IoInJ0YyB0aW1lIGZpZWxkIHJlcXVlc3RlZCB3aXRoIG5vIGZvcm1hdHRlciBwcm92aWRlZCIpKSwoaS5udGNfdGltZXx8ZS5udGNfdGltZSkmJnRoaXMuX3RleHROb2Rlcy5udGNUaW1lLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIucnRjP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm50Y1RpbWUsdyh0aGlzLl90aW1lRm9ybWF0dGVyLnJ0YyhlLm50Y190aW1lLGUuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9vcHRpb25zLnJ0Y1RpbWVJbkJyYWNrZXRzKSk6di5sb2dFcnJvcigibnRjIHRpbWUgZmllbGQgcmVxdWVzdGVkIHdpdGggbm8gZm9ybWF0dGVyIHByb3ZpZGVkIikpLG51bGwhPWkubGFzdF9wcmljZSlmb3IoTD0wO0w8dGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5sZW5ndGg7TCsrKXRoaXMuX2VsZW1lbnRzLnVwZGF0ZU1vZGVbTF0uY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKTt0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlJiYoaS51cGRhdGVfbW9kZXx8aS51cGRhdGVfbW9kZV9zZWNvbmRzKSYmKHRoaXMuX3VwZGF0ZU1vZGVJbnN0YW5jZXM/dGhpcy5fdXBkYXRlTW9kZUluc3RhbmNlcy5mb3JFYWNoKCh0PT50LnVwZGF0ZSh7dmFsdWVzOmV9KSkpOnRoaXMuX3VwZGF0ZU1vZGVJbnN0YW5jZXM9dGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5tYXAoKHQ9Pm5ldyBkLkRhdGFNb2RlSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLmRhdGFNb2RlQ2xhc3NTdWZmaXgsZWw6dCxkYXRhOnt2YWx1ZXM6ZX0sbW9kZUludGVydmFsOmUudXBkYXRlX21vZGVfc2Vjb25kcyxzaG9ydDohMCwKdG9vbHRpcFR5cGU6dGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzVG9vbHRpcFR5cGV9KSkpKSx0aGlzLl9zZXRTdGF0ZUhvb2smJnRoaXMuX3NldFN0YXRlSG9vayh0LnZhbHVlcyxuLnZhbHVlcyx0LmNvbXBsZXRlLHRoaXMuZ2V0T3B0aW9ucygpKSx0aGlzLl9sYXN0UHJpY2U/dGhpcy5faGlnaGxpZ2h0ZXJzLmxhc3Quc2hvdyhlLmxhc3RfcHJpY2UpOm51bGw9PT10aGlzLl9sYXN0UHJpY2UmJih0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZCgicXVvdGUtdGlja2VyLWluaXRlZCIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmluaXRlZEhvb2smJnRoaXMuX29wdGlvbnMuaW5pdGVkSG9vaygibGFzdF9wcmljZSJpbiBlKSksdGhpcy5fbGFzdFByaWNlPWUubGFzdF9wcmljZX0sUy5wcm90b3R5cGUuX3NldE5vZGVzVmFsdWU9ZnVuY3Rpb24oZSx0LG8sbil7aWYobnVsbCE9dHx8bilmb3IodmFyIGk9ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh0KTp0LHM9MDtzPGUubGVuZ3RoO3MrKyllW3NdLm5vZGVWYWx1ZT1pfSxTLnByb3RvdHlwZS5fc2V0VGV4dHNDb250ZW50PWZ1bmN0aW9uKGUsdCxvKXtpZihlJiZlLmxlbmd0aCYmdClmb3IodmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh0KTp0LGk9MDtpPGUubGVuZ3RoO2krKyllW2ldLnRleHRDb250ZW50PW59LFMucHJvdG90eXBlLl9zZXRMYXN0VmFsdWU9ZnVuY3Rpb24oZSx0LG8pe2lmKG51bGw9PWUpcmV0dXJuO2NvbnN0IG49ImZ1bmN0aW9uIj09dHlwZW9mIG8/byhlKTpTdHJpbmcoZSk7aWYobj09PXRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZClyZXR1cm47Y29uc3RbaSxzLHJdPXRoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk/dGhpcy5fZ2V0TGFzdFZhbHVlU3RyaW5nRGlmZih0aGlzLl9sYXN0UHJpY2VGb3JtYXR0ZWQsbik6WyIiLG4sIiJdLGE9aSxsPXRoaXMuX2NhbGN1bGF0ZVBpcGV0dGVEaWdpdHModCksW2MsaF09dGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VMYXN0Q2hhclN1cCYmbD9bcy5zbGljZSgwLC1sKSxzLnNsaWNlKC1sKV06W3MsIiJdO3RoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHkmJih0aGlzLl9pc1ZvbHVtZUZvcm1hdCYmdGhpcy5fY2hhbmdlVm9sdW1lTGV0dGVyLmNhbGwodGhpcyxyKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0LGEpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0SGlnaGxpZ2h0LGMpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RTdXAsaCksdGhpcy5fbGFzdFByaWNlRm9ybWF0dGVkPW59LFMucHJvdG90eXBlLl9nZXRDaGFuZ2VWb2x1bWVMZXR0ZXJDYWxsYmFjaz1mdW5jdGlvbigpe2xldCBlO3JldHVybiBmdW5jdGlvbih0KXt0IT09ZSYmKGU9dCx0aGlzLl9lbGVtZW50cy5sYXN0LmZvckVhY2goKHQ9PnszIT09dC5jaGlsZE5vZGVzLmxlbmd0aD90LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpKTp0LmNoaWxkTm9kZXNbMl0ubm9kZVZhbHVlPWV9KSkpfX0sUy5wcm90b3R5cGUuX2dldExhc3RWYWx1ZVN0cmluZ0RpZmY9ZnVuY3Rpb24oZSx0KXtpZihlPT09dCl7Y29uc3RbZSxvXT1OKHQpO3JldHVybltlLCIiLG9dfWxldCBvPTA7Zm9yKDtlW29dPT09dFtvXTspbysrO2NvbnN0W24saV09Tih0LnNsaWNlKG8pKTtyZXR1cm5bdC5zbGljZSgwLG8pLG4saV19LFMucHJvdG90eXBlLl9jYWxjdWxhdGVQaXBldHRlRGlnaXRzPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlIT09dGhpcy5fbGFzdE1pbk1vdmUmJih0aGlzLl9sYXN0TWluTW92ZT1lKSx0aGlzLl9sYXN0TWluTW92ZT8oIiIrdGhpcy5fbGFzdE1pbk1vdmUpLmxlbmd0aC0xOjB9LFMucHJvdG90eXBlLl9zZXRDaGFuZ2VGb250Q29sb3I9ZnVuY3Rpb24oZSx0LG8sbixpKXtmb3IodmFyIHM9YS5QcmljZUNvbG9yZXIuZm9ybWF0U2lnbih0LHt1cDpvLGRvd246bixuZXV0cmFsOml9KSxyPTA7cjxlLmxlbmd0aDtyKyspZVtyXS5zdHlsZS5jb2xvcj1zfSxTLnByb3RvdHlwZS5fc2V0Q2hhbmdlRGlyZWN0aW9uPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBvPTA7bzxlLmxlbmd0aDtvKyspe3ZhciBuPWVbb10uY2xhc3NMaXN0O24udG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uVXBDbGFzcyx0PjApLG4udG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uRG93bkNsYXNzLHQ8MCksbi50b2dnbGUodGhpcy5fb3B0aW9ucy5jaGFuZ2VEaXJlY3Rpb25OZXV0cmFsQ2xhc3MsMD09PXQpfX0sUy5wcm90b3R5cGUuc2V0U2hvcnROYW1lPWZ1bmN0aW9uKGU9IiIpe3RoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5zaG9ydE5hbWUsZSl9LFMucHJvdG90eXBlLl9wcmVwYXJlU3ltYm9sRGVzY3JpcHRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZ2V0Q2FjaGUoInN5bWJvbC1kZXNjcmlwdGlvbjoiK2UpO3JldHVybiB0fHwodD1lLHRoaXMuX3NldENhY2hlKCJzeW1ib2wtZGVzY3JpcHRpb246IitlLHQpLHQpfSxTLnByb3RvdHlwZS5faW5pdEhpZ2hsaWdodGVycz1mdW5jdGlvbigpe3RoaXMuX2hpZ2hsaWdodGVycy5sYXN0PW5ldyBUKHRoaXMuX2VsZW1lbnRzLmxhc3RIaWdobGlnaHQsdGhpcy5fb3B0aW9ucy5ncm93aW5nQmcsdGhpcy5fb3B0aW9ucy5mYWxsaW5nQmcsdGhpcy5fb3B0aW9ucy5sYXN0R3Jvd2luZ0NsYXNzLHRoaXMuX29wdGlvbnMubGFzdEZhbGxpbmdDbGFzcyksdGhpcy5faGlnaGxpZ2h0ZXJzLmV4dEhyc0Nsb3NlPW5ldyBUKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlLHRoaXMuX29wdGlvbnMuZ3Jvd2luZ0JnLHRoaXMuX29wdGlvbnMuZmFsbGluZ0JnLHRoaXMuX29wdGlvbnMubGFzdEdyb3dpbmdDbGFzcyx0aGlzLl9vcHRpb25zLmxhc3RGYWxsaW5nQ2xhc3MpLAp0aGlzLl9oaWdobGlnaHRlcnMubmlnaHRDbG9zZT1uZXcgVCh0aGlzLl9lbGVtZW50cy5uaWdodENsb3NlLHRoaXMuX29wdGlvbnMuZ3Jvd2luZ0JnLHRoaXMuX29wdGlvbnMuZmFsbGluZ0JnLHRoaXMuX29wdGlvbnMubGFzdEdyb3dpbmdDbGFzcyx0aGlzLl9vcHRpb25zLmxhc3RGYWxsaW5nQ2xhc3MpfSxTLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExLHRoaXMuZGlzY29ubmVjdCgpfSxTLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITAsdGhpcy5jb25uZWN0KCl9LFMucHJvdG90eXBlLnNldFN0YXRlSG9vaz1mdW5jdGlvbihlKXtudWxsPT09ZSYmdGhpcy5fc2V0U3RhdGVIb29rP2RlbGV0ZSB0aGlzLl9zZXRTdGF0ZUhvb2s6ImZ1bmN0aW9uIj09dHlwZW9mIGUmJih0aGlzLl9zZXRTdGF0ZUhvb2s9ZSl9LFMucHJvdG90eXBlLl9zZXRDYWNoZT1mdW5jdGlvbihlLHQpe251bGw9PXQ/ZGVsZXRlIHRoaXMuX2NhY2hlW2VdOnRoaXMuX2NhY2hlW2VdPXR9LFMucHJvdG90eXBlLl9nZXRDYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FjaGUmJnRoaXMuX2NhY2hlW2VdfSxTLnByb3RvdHlwZS5nZXRPcHRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnN9fSw1Njk4MTkoZSx0LG8pe3ZhciBuPW8oNzcwNzU1KS5vcGVuUGF5d2FsbCxpPW8oNjEzODcwKS5zaG93U2lnbk1vZGFsO3dpbmRvdy5UVkRpYWxvZ3M9e3Nob3dTaWduSW5EaWFsb2c6ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSl9LHNob3dHb1Byb0RpYWxvZzpmdW5jdGlvbihlKXtuKGUpfX19LDIyMTA2MShlLHQsbyl7dmFyIG47by5kKHQse0xPR0xFVkVMOigpPT5uLGdldExvZ0hpc3Rvcnk6KCk9PncsZ2V0TG9nTGV2ZWw6KCk9PnUsZ2V0TG9nZ2VyOigpPT55LGdldFJhd0xvZ0hpc3Rvcnk6KCk9PnAsaXNIaWdoUmF0ZUVuYWJsZWQ6KCk9Pm0sbG9nZ2luZ09mZjooKT0+Uyxsb2dnaW5nT246KCk9PmIsc2VyaWFsaXplTG9nSGlzdG9yeUVudHJ5OigpPT5mLHNldEhpZ2hSYXRlU3RhdHVzOigpPT5fLHNldExvZ0xldmVsOigpPT5nfSksZnVuY3Rpb24oZSl7ZVtlLkVSUk9SPTFdPSJFUlJPUiIsZVtlLldBUk5JTkc9Ml09IldBUk5JTkciLGVbZS5JTkZPPTNdPSJJTkZPIixlW2UuTk9STUFMPTRdPSJOT1JNQUwiLGVbZS5ERUJVRz01XT0iREVCVUcifShufHwobj17fSkpO2xldCBpPTA7Y29uc3Qgcz1bXTtsZXQgcj1udWxsLGE9bnVsbCxsPW51bGwsYz1udWxsLGg9bi5XQVJOSU5HLGQ9ITE7ZnVuY3Rpb24gdSgpe3JldHVybiBofWZ1bmN0aW9uIG0oKXtyZXR1cm4gZH1mdW5jdGlvbiBnKGUpe2U9TWF0aC5tYXgobi5FUlJPUixNYXRoLm1pbihuLkRFQlVHLGUpKSxoPWV9ZnVuY3Rpb24gXyhlKXtkPWV9ZnVuY3Rpb24gcChlLHQpe2xldCBvPXMucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodCkpLFtdKTtyZXR1cm4gby5zb3J0KCgoZSx0KT0+ZS5pZC10LmlkKSksdm9pZCAwIT09dCYmKG89by5maWx0ZXIoKGU9PmUuc3ViU3lzdGVtSWQ9PT10KSkpLCJudW1iZXIiPT10eXBlb2YgZSYmKG89by5zbGljZSgtZSkpLG99ZnVuY3Rpb24gZihlKXtyZXR1cm4gbmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCkrIjoiK2Uuc3ViU3lzdGVtSWQrIjoiK2UubWVzc2FnZS5yZXBsYWNlKC8iL2csIiciKX1jb25zdCB3PShlLHQpPT5mdW5jdGlvbihlLHQpe2xldCBvLG49MCxpPTA7Zm9yKG89ZS5sZW5ndGgtMTtvPj0xJiYobis9OCooMStlbmNvZGVVUklDb21wb25lbnQoZVtvXSkubGVuZ3RoKSwhKG8tMT4wJiYoaT04KigxK2VuY29kZVVSSUNvbXBvbmVudChlW28tMV0pLmxlbmd0aCksbitpPnQpKSk7by0tKTtyZXR1cm4gZS5zbGljZShvKX0ocChlLHQpLm1hcChmKSw3NTQ5NzQ3Mik7ZnVuY3Rpb24gdihlLHQsbyxzLGQpe2lmKHQ9PT1hJiZzLmlkPT09bClyZXR1cm47Y29uc3QgdT1uZXcgRGF0ZTtpZihlPD1uLk5PUk1BTCYmZnVuY3Rpb24oZSx0LG8sbixzLHIpeyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAscj8/MWUzKTtjb25zdCBhPXtpZDppLG1lc3NhZ2U6dCxzdWJTeXN0ZW1JZDpuLHRpbWVzdGFtcDpOdW1iZXIoZSl9O2krPTEsby5wdXNoKGEpLHZvaWQgMCE9PXMmJm8ubGVuZ3RoPnMmJm8uc3BsaWNlKDAsMSl9KHUsdCxvLHMuaWQscy5tYXhDb3VudCxkKSxlPD1oJiYoIXMuaGlnaFJhdGV8fG0oKSkmJighcnx8cy5pZC5tYXRjaChyKSkpe2NvbnN0IG89dS50b0lTT1N0cmluZygpKyI6IitzLmlkKyI6Iit0O3N3aXRjaChlKXtjYXNlIG4uREVCVUc6Y29uc29sZS5kZWJ1ZyhvKTticmVhaztjYXNlIG4uSU5GTzpjYXNlIG4uTk9STUFMOnMuY29sb3I/Y29uc29sZS5sb2coIiVjIitvLCJjb2xvcjogIitzLmNvbG9yKTpjb25zb2xlLmxvZyhvKTticmVhaztjYXNlIG4uV0FSTklORzpjb25zb2xlLndhcm4obyk7YnJlYWs7Y2FzZSBuLkVSUk9SOmNvbnNvbGUuZXJyb3Iobyl9YT10LGw9cy5pZCxudWxsIT09YyYmY2xlYXJUaW1lb3V0KGMpLGM9c2V0VGltZW91dCgoKCk9PnthPW51bGwsbD1udWxsLGM9bnVsbH0pLDFlMyl9fWZ1bmN0aW9uIHkoZSx0PXt9KXtjb25zdCBvPVtdO3MucHVzaChvKTtjb25zdCBpPU9iamVjdC5hc3NpZ24odCx7aWQ6ZX0pO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKHQsbik9PnYoZSxTdHJpbmcodCksbyxpLG4pfXJldHVybntsb2dEZWJ1ZzpyKG4uREVCVUcpLGxvZ0Vycm9yOnIobi5FUlJPUiksbG9nSW5mbzpyKG4uSU5GTyksbG9nTm9ybWFsOnIobi5OT1JNQUwpLGxvZ1dhcm46cihuLldBUk5JTkcpfX1jb25zdCBiPShlLHQpPT57ZyhuLkRFQlVHKSxkPUJvb2xlYW4oZSkscj10fHxudWxsfSxTPSgpPT57ZyhuLklORk8pfX19XSk7"}},"time_used":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.tradingview-widget.com/static/bundles/embed/9270.32910635bb39c686f5be.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.633Z","timestamp":1785136901633,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9270.32910635bb39c686f5be.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-25cb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 38148bee24d563fc55ebc390a39dccad\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9675,"size_decoded":4352,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"5539ff4455921fad5c1cbaab2a5f3bce","sha1":"1073b48b55f2cd1b7d3fa453240d3a291dfd463b","sha256":"1f30073c128d18667a732ed75caf7f398da1accffcaa0a3f31bf098b68158c7d","sha512":"0c43ed53a7646dae59e40f446fe718b9737fd8e7a496ec59d228934369a1e38d90c3b9dd61a21fe12001706bad97b7bcd580f3b48b18b5626df44fc3632dfbdd","ssdeep":"192:TdqLHSioSpIwtLAZ9ZZmQSUMesX4decPvT4L27UXn4Tmdl6eFU3KT0:ToHSioVwtLAZ9JS8s8eYvT4L27UXLMeK","tlshash":"83120a85b3643caa91da1ad479b1088793137994a02bcde8742c65ff299cc27743cb7d","first_seen":"2026-07-17T03:30:51.183942Z","last_seen":"2026-07-28T06:17:53.613421Z","times_seen":108,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTI3MF0sezEwNzg2OShlLHQsbyl7ZnVuY3Rpb24gcihlLHQpe2NvbnN0IG89ZS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpLHI9ZS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLG49dC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0KSxpPXQubW9kZWwoKS5tYWluUGFuZSgpO3JldHVybiBuPihpP3QubW9kZWwoKS5wYW5lcygpLmluZGV4T2YoaSk6MCk/cjpvfW8uZCh0LHtnZXRQYW5lV2lkZ2V0U2lkZUFyZWFCZ0NvbG9yOigpPT5yfSl9LDM3OTY1MihlLHQsbyl7by5kKHQse2NhbGN1bGF0ZUZvbnRTaXplOigpPT5oLGdldFByZXBhcmVkVGV4dE1lYXN1cmVtZW50czooKT0+bH0pO3ZhciByPW8oMTM4NjM4KSxuPW8oNTkwODk0KSxpPW8oODIyNzI2KSxhPW8oOTI2MTQ5KSxzPW8oMTk4OTAxKTtmdW5jdGlvbiBsKGUsdCxvLHIpe2lmKGUuc2l6ZSlyZXR1cm4gZTtmb3IobGV0IG49ci5taW5BbGxvd2VkRm9udFNpemU7bjw9ci5tYXhBbGxvd2VkRm9udFNpemU7bisrKXtjb25zdCBhPW8uZ2V0KG4pPz9uZXcgaS5UZXh0V2lkdGhDYWNoZTtvLnNldChuLGEpLGUuc2V0KG4sZCh0LG4sYSxyLm1heFN5bWJvbHMpKX1yZXR1cm4gZX1mdW5jdGlvbiBkKGUsdCxvLHIpe2UuZm9udD0oMCxuLm1ha2VGb250KSh0LGEuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSk7Y29uc3QgaT1uZXcgTWFwO2ZvcihsZXQgdD0xO3Q8PXI7dCsrKWkuc2V0KHQsby5tZWFzdXJlVGV4dChlLG5ldyBBcnJheSh0KzEpLmpvaW4oIjAiKSkpO2NvbnN0IHM9by55TWlkQ29ycmVjdGlvbihlLCIwIiksbD1vLmdldE1ldHJpY3MoZSwiMCIpO3JldHVybnt3aWR0aHM6aSxhY3R1YWxGb250SGVpZ2h0OmwuZm9udEJvdW5kaW5nQm94RGVzY2VudCtsLmZvbnRCb3VuZGluZ0JveEFzY2VudCx5Q29ycmVjdGlvbjpzfX1mdW5jdGlvbiBoKGUsdCxvLG4saSxhKXtjb25zdCBkPWwoaSxvLG4sYSkse21heEFsbG93ZWRGb250U2l6ZTpoLG1pbkFsbG93ZWRGb250U2l6ZTpjLGZvbnRTaXplQ29lZmY6dSxob3J6Q2VsbE1pbk1hcmdpbjptLGhvcnpDZWxsTWFyZ2luc0NvZWZmOkN9PWE7bGV0IGY9aDtjb25zdCBfPWU9PmMrZTtmb3IoY29uc3QgbyBvZiBlKXtpZighZilicmVhaztjb25zdHtib3g6ZSxsYWJlbDpufT1vLGk9TWF0aC5mbG9vcihlLm1heC54LWUubWluLngpL3QuaG9yaXpvbnRhbFBpeGVsUmF0aW8sYT0oZS5tYXgueS1lLm1pbi55KS90LnZlcnRpY2FsUGl4ZWxSYXRpbyxsPU1hdGgucm91bmQoYSp1KTtpZihsPGMpe2Y9MDticmVha31mPmwmJihmPWwpO2NvbnN0IGg9XygoMCxzLmxvd2VyYm91bmRFeHQpKF8sbiwoKGUsdCk9Pnt2YXIgbyxuO3JldHVybihvPWUsbj10LCgwLHIuZW5zdXJlRGVmaW5lZCkoZC5nZXQobyk/LndpZHRocy5nZXQobi5sZW5ndGgpKSk8aS1NYXRoLm1heChtLDIqQypfKGUpKX0pLDAsZi1jKzEpKTtpZihoPGYrMSYmKGY9aC0xKSxmPGMpe2Y9MDticmVha319cmV0dXJuIGY/e2ZvbnRTaXplOmYseU1pZENvcnJlY3Rpb246KGc9ZiwoMCxyLmVuc3VyZURlZmluZWQpKGQuZ2V0KGcpPy55Q29ycmVjdGlvbikpfTpudWxsO3ZhciBnfX0sMjk0MzY0KGUsdCxvKXtvLmQodCx7cm93Qm94R2VuZXJhdG9yOigpPT5hfSk7dmFyIHI9byg3MzY1MzEpLG49byg2MzU2OTkpO2NvbnN0e2NlbGxIZWlnaHQ6aX09bi5jb25zdGFudHM7ZnVuY3Rpb24qYShlLHtiaXRtYXBTaXplOnt3aWR0aDp0fX0pe2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7KytvKXlpZWxkW28sKDAsci5ib3gpKCgwLHIucG9pbnQpKDAsbyppKSwoMCxyLnBvaW50KSh0LChvKzEpKmkpKV19fSw1ODg4NzAoZSx0LG8pe28uZCh0LHtTdW1tYXJ5UGFuZVZpZXc6KCk9Pnp9KTt2YXIgcj1vKDEzODYzOCksbj1vKDczNjUzMSksaT1vKDkyNjE0OSksYT1vKDEwNzg2OSkscz1vKDQyNTY1OSksbD1vKDU5MDg5NCksZD1vKDc4OTE5MCksaD1vKDM3OTY1MiksYz1vKDYzNTY5OSksdT1vKDE4NTI3MSksbT1vKDU3MzA1NCk7Y29uc3QgQz11LnQobnVsbCx7Y29udGV4dDoiY2hhcnQgd2l0aCBzdW1tYXJ5IHRhYmxlIn0sbyg4NzAwOSkpO2NsYXNzIGYgZXh0ZW5kcyBtLk1lZGlhQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPW51bGwsdGhpcy5fZGF0YT1lfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoKXtyZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7Y29uc3QgdD10aGlzLl9kYXRhO2lmKCF0KXJldHVybjtjb25zdCBvPXQuaXNEYXJrP2MuZGFya0NvbG9yczpjLmxpZ2h0Q29sb3JzLHI9ZS5jb250ZXh0O3IuZmlsbFN0eWxlPW8udGV4dENvbG9yLHIudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHIuZm9udD10LmZvbnQsci5maWxsVGV4dChDLGMuY29uc3RhbnRzLmxlZ2VuZExlZnRQYWRkaW5nLGUubWVkaWFTaXplLmhlaWdodC8yK3QueU1pZENvcnJlY3Rpb24pfX12YXIgXz1vKDc2ODMwNSksZz1vKDc2MykseD1vKDk3NjgxMyksdz1vKDkzNDMwNSksdj1vKDc4NjQzNikscD1vKDE1MTIxKSxNPW8oMjk0MzY0KSxTPW8oODIyNzI2KTtjbGFzcyBUIGV4dGVuZHMgdy5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl93aWR0aENhY2hlPW5ldyBTLlRleHRXaWR0aENhY2hlKDFlMyksdGhpcy5fZGF0YT1lPz9udWxsfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSx0KXtjb25zdCBvPXRoaXMuX2RhdGE7aWYoIW8/LmNvbHVtbnMubGVuZ3RoKXJldHVybiBudWxsO2Zvcihjb25zdFtyLG5db2YoMCxNLnJvd0JveEdlbmVyYXRvcikoby5jb2x1bW5zWzBdLnJvd3MsdCkpaWYoKDAsXy5wb2ludEluQm94KShlLG4pKXJldHVybiBuZXcgZy5IaXRUZXN0UmVzdWx0KGcuSGl0VGFyZ2V0LlJlZ3VsYXIse2FjdGl2ZUl0ZW06cixjdXJzb3JUeXBlOnguUGFuZUN1cnNvclR5cGUuRGVmYXVsdH0pO3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2RhdGEKO2lmKCF0Py5jb2x1bW5zLmxlbmd0aClyZXR1cm47Y29uc3R7Y29udGV4dDpvLGJpdG1hcFNpemU6cix2ZXJ0aWNhbFBpeGVsUmF0aW86bixob3Jpem9udGFsUGl4ZWxSYXRpbzphfT1lLHM9dC5pc0Rhcms/Yy5kYXJrQ29sb3JzOmMubGlnaHRDb2xvcnMsZD1jLmNvbnN0YW50cy5jZWxsSGVpZ2h0LGg9TWF0aC5yb3VuZChkKm4pO28uZmlsbFN0eWxlPXMudGV4dENvbG9yLG8udGV4dEJhc2VsaW5lPSJtaWRkbGUiLG8uZm9udD0oMCxsLm1ha2VGb250KSh0LmZvbnRTaXplLGkuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSk7Y29uc3QgdT10LmNvbHVtbnMubGVuZ3RoLTE7aWYoKDAscC5kcmF3U2NhbGVkKShvLGEsbiwoKCk9Pnt0LmNvbHVtbnMuZm9yRWFjaCgoKGUscik9Pntjb25zdFtuLGldPVtlLmxlZnQsZS5yaWdodF0ubWFwKChlPT5NYXRoLnJvdW5kKGUvYSkpKSxzPWktbixsPXI9PT11O2Uucm93cy5mb3JFYWNoKCgoZSxyKT0+e2NvbnN0IGE9ZS50ZXh0LGg9ZS5iYWNrZ3JvdW5kQ29sb3I7aCYmKG8uc2F2ZSgpLG8uZmlsbFN0eWxlPWgsby5maWxsUmVjdChuLHIqZCxzLGQpLG8ucmVzdG9yZSgpKTt0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KG8sYSk+cy0yKmMuY29uc3RhbnRzLmhvcnpDZWxsTWluTWFyZ2luP2wmJiF0LmN1dE9mZkxhc3RDb2x1bW4/KG8udGV4dEFsaWduPSJsZWZ0IixvLmZpbGxUZXh0KGEsbitjLmNvbnN0YW50cy5ob3J6Q2VsbE1pbk1hcmdpbixyKmQrZC8yKSk6KG8uc2F2ZSgpLG8udGV4dEFsaWduPSJsZWZ0IixvLmJlZ2luUGF0aCgpLG8ucmVjdChuK2MuY29uc3RhbnRzLmhvcnpDZWxsTWluTWFyZ2luLHIqZCxzLTIqYy5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW4sZCksby5jbGlwKCksby5maWxsVGV4dChhLG4rYy5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW4scipkK2QvMiksby5yZXN0b3JlKCkpOihvLnRleHRBbGlnbj0iY2VudGVyIixvLmZpbGxUZXh0KGEsKG4raSkvMixyKmQrZC8yK3QueU1pZENvcnJlY3Rpb24pKX0pKX0pKX0pKSxvLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IoYSkpLHZvaWQgMCE9PXQuaG92ZXJlZFJvdyYmKG8uZmlsbFN0eWxlPXMuaG92ZXJlZFJvd0NvbG9yLG8uZmlsbFJlY3QoMCx0LmhvdmVyZWRSb3cqaCxyLndpZHRoLGgpKSxvLnN0cm9rZVN0eWxlPXQudmVydEJvcmRlcnNDb2xvcix0LmNvbHVtbnMuZm9yRWFjaCgoZT0+eygwLHYuZHJhd1ZlcnRpY2FsTGluZSkobyxlLmxlZnQsMCxyLmhlaWdodCl9KSksdC5jdXRPZmZMYXN0Q29sdW1uKXtjb25zdCBlPXQuY29sdW1uc1t0LmNvbHVtbnMubGVuZ3RoLTFdOygwLHYuZHJhd1ZlcnRpY2FsTGluZSkobyxlLnJpZ2h0LDAsci5oZWlnaHQpfXtjb25zdFt7cm93czp7bGVuZ3RoOmV9fV09dC5jb2x1bW5zO28uc3Ryb2tlU3R5bGU9dC5ob3J6Qm9yZGVyc0NvbG9yO2ZvcihsZXQgdD0xO3Q8PWU7Kyt0KSgwLHYuZHJhd0hvcml6b250YWxMaW5lKShvLHQqaCwwLHIud2lkdGgpfX19Y29uc3QgUj1uZXcgTWFwO2NsYXNzIHp7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yZW5kZXJlcj1uZXcgZC5Db21wb3NpdGVSZW5kZXJlcix0aGlzLl9sZWdlbmRSZW5kZXJlcj1udWxsLHRoaXMuX3N1bW1hcnlSZW5kZXJlcj1uZXcgVCx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl90ZXh0V2lkdGhDYWNoZXNNYXA9bmV3IE1hcCx0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fdGV4dFdpZHRoQ2FjaGVDYW52YXM9KDAsci5lbnN1cmVOb3ROdWxsKShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSksdGhpcy5fdGV4dFdpZHRoQ2FjaGVDYW52YXNDdHg9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl90ZXh0V2lkdGhDYWNoZUNhbnZhcy5nZXRDb250ZXh0KCIyZCIpKX11cGRhdGUoKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVSZW5kZXJlcihlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fcmVuZGVyZXJ9bWFrZVN1cmVJc1VwZGF0ZWQoZSl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVSZW5kZXJlcihlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSl9X3VwZGF0ZVJlbmRlcmVyKGUpe3RoaXMuX3JlbmRlcmVyLmNsZWFyKCk7Y29uc3QgdD10aGlzLl9nZXREYXRhU291cmNlRm9yU3VtbWFyeSgpO2lmKCF0KXJldHVybjtjb25zdCBvPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0KSksZD0oMCxhLmdldFBhbmVXaWRnZXRTaWRlQXJlYUJnQ29sb3IpKHRoaXMuX21vZGVsLG8pLHU9by5jb2xsYXBzZWQoKS52YWx1ZSgpJiYhby5tYXhpbWl6ZWQoKS52YWx1ZSgpLG09KDAscy5pc0NvbG9yRGFyaykoZCk7aWYodSl7Y29uc3QgZT0oMCxoLmdldFByZXBhcmVkVGV4dE1lYXN1cmVtZW50cykoUix0aGlzLl90ZXh0V2lkdGhDYWNoZUNhbnZhc0N0eCx0aGlzLl90ZXh0V2lkdGhDYWNoZXNNYXAsYy5jb25zdGFudHMpLHQ9e2lzRGFyazptLGZvbnQ6KDAsbC5tYWtlRm9udCkoYy5jb25zdGFudHMubGVnZW5kRm9udFNpemUsaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpKSx5TWlkQ29ycmVjdGlvbjplLmdldChjLmNvbnN0YW50cy5sZWdlbmRGb250U2l6ZSk/LnlDb3JyZWN0aW9uPz8wfTtyZXR1cm4gdGhpcy5fbGVnZW5kUmVuZGVyZXJ8fCh0aGlzLl9sZWdlbmRSZW5kZXJlcj1uZXcgZih0KSksdGhpcy5fbGVnZW5kUmVuZGVyZXIuc2V0RGF0YSh0KSx2b2lkIHRoaXMuX3JlbmRlcmVyLmFwcGVuZCh0aGlzLl9sZWdlbmRSZW5kZXJlcil9Y29uc3QgQz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKTtpZighQylyZXR1cm47Y29uc3QgXz10aGlzLl9nZXRTdW1tYXJ5Q29sdW1uUmVuZGVyZXJEYXRhKGUsQyk7aWYobnVsbD09PV8pcmV0dXJuO2NvbnN0IGc9dGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLHg9ewpob3ZlcmVkUm93OnRoaXMuX21vZGVsLmhvdmVyZWRTb3VyY2UoKT09PXQ/dGhpcy5fbW9kZWwubGFzdEhpdHRlc3REYXRhKCk/LmFjdGl2ZUl0ZW06dm9pZCAwLGNvbHVtbnM6XyxjdXRPZmZMYXN0Q29sdW1uOnRoaXMuX2N1dE9mZkxhc3RDb2x1bW4oKSxpc0Rhcms6bSx2ZXJ0Qm9yZGVyc0NvbG9yOmcudmVydEdyaWRQcm9wZXJ0aWVzLmNoaWxkcygpLmNvbG9yLnZhbHVlKCksaG9yekJvcmRlcnNDb2xvcjpnLmhvcnpHcmlkUHJvcGVydGllcy5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfSx3PSgwLGguY2FsY3VsYXRlRm9udFNpemUpKGZ1bmN0aW9uKihlLHQpe2ZvcihsZXQgbz0wO288ZS5jb2x1bW5zLmxlbmd0aC0xO28rKyl7Y29uc3Qgcj1lLmNvbHVtbnNbb107Zm9yKGxldCBlPTA7ZTxyLnJvd3MubGVuZ3RoO2UrKyl7Y29uc3Qgbz1yLnJvd3NbZV0saT1lKnQsYT0oZSsxKSp0O3lpZWxke2xhYmVsOm8udGV4dCxib3g6KDAsbi5ib3gpKCgwLG4ucG9pbnQpKHIubGVmdCxpKSwoMCxuLnBvaW50KShyLnJpZ2h0LGEpKX19fX0oeCxjLmNvbnN0YW50cy5jZWxsSGVpZ2h0KmUudmVydGljYWxQaXhlbFJhdGlvKSxlLHRoaXMuX3RleHRXaWR0aENhY2hlQ2FudmFzQ3R4LHRoaXMuX3RleHRXaWR0aENhY2hlc01hcCxSLGMuY29uc3RhbnRzKXx8e2ZvbnRTaXplOmMuY29uc3RhbnRzLm1pbkFsbG93ZWRGb250U2l6ZSx5TWlkQ29ycmVjdGlvbjowfTt0aGlzLl9zdW1tYXJ5UmVuZGVyZXIuc2V0RGF0YSh7Li4ueCwuLi53fSksdGhpcy5fcmVuZGVyZXIuYXBwZW5kKHRoaXMuX3N1bW1hcnlSZW5kZXJlcil9fX0sNzQ1NTY5KGUsdCxvKXtvLmQodCx7U3VtbWFyeVdpZGdldFNpZGVBcmVhVmlldzooKT0+eH0pO3ZhciByPW8oMTM4NjM4KSxuPW8oODIyNzI2KSxpPW8oNzY4MzA1KSxhPW8oNTkwODk0KSxzPW8oNzYzKSxsPW8oOTM0MzA1KSxkPW8oNzg2NDM2KSxoPW8oOTI2MTQ5KSxjPW8oMTUxMjEpLHU9byg2MzU2OTkpLG09bygyOTQzNjQpLEM9byg5NzY4MTMpO2NsYXNzIGYgZXh0ZW5kcyBsLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kYXRhPW51bGwsdGhpcy5fd2lkdGhDYWNoZT1uZXcgbi5UZXh0V2lkdGhDYWNoZSgxZTMpfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSx0KXtjb25zdCBvPXRoaXMuX2RhdGE7aWYoIW8/LnJvd1RpdGxlcy5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKGNvbnN0W3Isbl1vZigwLG0ucm93Qm94R2VuZXJhdG9yKShvLnJvd1RpdGxlcyx0KSlpZigoMCxpLnBvaW50SW5Cb3gpKGUsbikpcmV0dXJuIG5ldyBzLkhpdFRlc3RSZXN1bHQocy5IaXRUYXJnZXQuUmVndWxhcix7YWN0aXZlSXRlbTpyLGN1cnNvclR5cGU6Qy5QYW5lQ3Vyc29yVHlwZS5EZWZhdWx0fSk7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2NvbnN0IHQ9dGhpcy5fZGF0YTtpZihudWxsPT09dClyZXR1cm47Y29uc3R7Y29udGV4dDpvLGJpdG1hcFNpemU6cix2ZXJ0aWNhbFBpeGVsUmF0aW86bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLG1lZGlhU2l6ZTpzfT1lLGw9dC5pc0Rhcms/dS5kYXJrQ29sb3JzOnUubGlnaHRDb2xvcnMsbT11LmNvbnN0YW50cy5jZWxsSGVpZ2h0LEM9TWF0aC5yb3VuZChtKm4pO3ZvaWQgMCE9PXQuaG92ZXJlZFJvdyYmKG8uZmlsbFN0eWxlPWwuaG92ZXJlZFJvd0NvbG9yLG8uZmlsbFJlY3QoMCx0LmhvdmVyZWRSb3cqQyxyLndpZHRoLEMpKSxvLnN0cm9rZVN0eWxlPXQuYm9yZGVyQ29sb3IsdC5yb3dUaXRsZXMuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBuPSh0KzEpKkM7KDAsZC5kcmF3SG9yaXpvbnRhbExpbmUpKG8sbiwwLHIud2lkdGgpfSkpLG8uZmlsbFN0eWxlPWwudGV4dENvbG9yLG8udGV4dEJhc2VsaW5lPSJtaWRkbGUiLG8uZm9udD0oMCxhLm1ha2VGb250KSh0LmZvbnRTaXplLGguQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSksKDAsYy5kcmF3U2NhbGVkKShvLGksbiwoKCk9Pnt0LnJvd1RpdGxlcy5mb3JFYWNoKCgoZSxyKT0+e2xldCBuO2lmKCJyaWdodCI9PT10LmFsaWduKW49dS5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW47ZWxzZXtjb25zdCB0PXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQobyxlKTtuPXMud2lkdGgtdC11LmNvbnN0YW50cy5ob3J6Q2VsbE1pbk1hcmdpbn1vLmZpbGxUZXh0KGUsbixyKm0rbS8yK3QueU1pZENvcnJlY3Rpb24pfSkpfSkpfX12YXIgXz1vKDQyNTY1OSksZz1vKDEwNzg2OSk7Y2xhc3MgeHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yZW5kZXJlcj1uZXcgZix0aGlzLl93aWR0aHNDYWNoZT1uZXcgbi5UZXh0V2lkdGhDYWNoZSx0aGlzLl9tb2RlbD1lLHRoaXMuX3RleHRNZWFzdXJlQ2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpfWRlc3Ryb3koKXt0aGlzLl90ZXh0TWVhc3VyZUNhbnZhcy5yZW1vdmUoKX1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9yZW5kZXJlcn11cGRhdGUoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCksbz10aGlzLl9tb2RlbC5tYWluUGFuZSgpLG49dGhpcy5fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKTtpZihlJiZvJiZuKXtjb25zdCBpPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZShuKSkscz0oMCxnLmdldFBhbmVXaWRnZXRTaWRlQXJlYUJnQ29sb3IpKHRoaXMuX21vZGVsLGkpLGw9KDAsXy5pc0NvbG9yRGFyaykocyksZD1vLnByaWNlU2NhbGVQb3NpdGlvbihlKTtpZigib3ZlcmxheSIhPT1kKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fdGV4dE1lYXN1cmVDYW52YXMuZ2V0Q29udGV4dCgiMmQiKSk7ZS5mb250PSgwLGEubWFrZUZvbnQpKHUuY29uc3RhbnRzLm1heEFsbG93ZWRGb250U2l6ZSxoLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpLHRoaXMuX3JlbmRlcmVyLnNldERhdGEoewpob3ZlcmVkUm93OnRoaXMuX21vZGVsLmhvdmVyZWRTb3VyY2UoKT09PW4/dGhpcy5fbW9kZWwubGFzdEhpdHRlc3REYXRhKCk/LmFjdGl2ZUl0ZW06dm9pZCAwLHJvd1RpdGxlczp0aGlzLl92aXNpYmxlVGl0bGVzKCksYWxpZ246ZCxpc0Rhcms6bCxmb250U2l6ZTp1LmNvbnN0YW50cy5tYXhBbGxvd2VkRm9udFNpemUsYm9yZGVyQ29sb3I6dC5ob3J6R3JpZFByb3BlcnRpZXMuY2hpbGRzKCkuY29sb3IudmFsdWUoKSx5TWlkQ29ycmVjdGlvbjp0aGlzLl93aWR0aHNDYWNoZS55TWlkQ29ycmVjdGlvbihlLCJBQkMiKX0pfX19b3B0aW1hbFdpZHRoKCl7Y29uc3QgZT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RleHRNZWFzdXJlQ2FudmFzLmdldENvbnRleHQoIjJkIikpO3JldHVybiBlLmZvbnQ9KDAsYS5tYWtlRm9udCkodS5jb25zdGFudHMubWF4QWxsb3dlZEZvbnRTaXplLGguQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSksdGhpcy5fdmlzaWJsZVRpdGxlcygpLnJlZHVjZSgoKHQsbyk9Pk1hdGgubWF4KHQsdGhpcy5fd2lkdGhzQ2FjaGUubWVhc3VyZVRleHQoZSxvKSkpLDApKzIqdS5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW59fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.893Z","timestamp":1785136901893,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-480d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 565ad2762fb8e0b643c6b112613ac559\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":18445,"size_decoded":8139,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"038623c38228a4865caf89b1ceed9af4","sha1":"fd2acb21c02b96c3c9c1f1081dab960c7031d783","sha256":"b8d3050d5622dc00f843f06bba75b96d7e07f17b7a71a3e5b77c9d30e3c91720","sha512":"dccd582f4658fc2f09410a5304dd63fe7d4e6420b4a961d737904968f4ca733ac1a0ece06f7a4e90ebf80305f0edcfd2a5fb95ea52ea369659b342075df8d55b","ssdeep":"384:he30HE+F6f00MWmgOsLEWioQLsiJrTNk20ptZTEjifF:hJEU6f00yzsYWxQLsiJrTT0ptPF","tlshash":"6282a5cdf5c0b0a75a93b8b040bf128bb23a6940bc5d9130d116f9d57d7a81ea163fad","first_seen":"2026-07-23T14:00:31.677621Z","last_seen":"2026-08-10T05:00:33.76802Z","times_seen":138,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTg1MTJdLHs0ODkwNTcobix0LGUpe2UuZCh0LHskOigpPT5aLEE6KCk9PlIsQjooKT0+TCxDOigpPT5QLEQ6KCk9PnksRTooKT0+QyxGOigpPT5ILEc6KCk9PlEsSDooKT0+ZixJOigpPT5qLEo6KCk9PkQsTDooKT0+VyxNOigpPT5lbixOOigpPT5hbixPOigpPT50bixQOigpPT5xLFE6KCk9PnVuLFI6KCk9PlUsUzooKT0+RyxUOigpPT5fLFU6KCk9PmNuLFY6KCk9PkksVzooKT0+JCxaOigpPT5YLGE6KCk9PkssYTM6KCk9PnJuLGE0OigpPT5vbixiOigpPT5GLGQ6KCk9PnosZTooKT0+TSxmOigpPT5CLGc6KCk9PkosaDooKT0+WSxpOigpPT5BLGo6KCk9PmssazooKT0+dSxsOigpPT5OLG06KCk9PkUsbjooKT0+eCxvOigpPT5kLHA6KCk9PmwscTooKT0+ZyxyOigpPT52LHM6KCk9Pm0sdDooKT0+aSx1OigpPT5zLHY6KCk9PmIseTooKT0+Uyx6OigpPT5UfSk7dmFyIHI9ZSg1NjQ1MjEpLGE9ZSg2NDQzMjApLG89ZSg0NzQxMzYpO2lmKDIxMTghPWUuail2YXIgYz1lKDgyMzcwOSk7dmFyIHU9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG59fSghMCksaT1mdW5jdGlvbigpe307dmFyIGY9ZnVuY3Rpb24obil7cmV0dXJuIG59OyJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5hc3luY0l0ZXJhdG9yJiZTeW1ib2wuYXN5bmNJdGVyYXRvcjt2YXIgbD1mdW5jdGlvbihuLHQpeygwLGEuZGVmYXVsdCkobix0KSxPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiZPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpLmZvckVhY2goKGZ1bmN0aW9uKGUpe25bZV09dFtlXX0pKX0scz1mdW5jdGlvbihuLHQpe3ZhciBlO3JldHVybihlPVtdKS5jb25jYXQuYXBwbHkoZSx0Lm1hcChuKSl9O2Z1bmN0aW9uIHYobix0KXt2YXIgZT1uLmluZGV4T2YodCk7ZT49MCYmbi5zcGxpY2UoZSwxKX1mdW5jdGlvbiBkKG4pe3ZhciB0PSExO3JldHVybiBmdW5jdGlvbigpe3R8fCh0PSEwLG4oKSl9fXZhciBwPWZ1bmN0aW9uKG4pe3Rocm93IG59LGg9ZnVuY3Rpb24obil7cmV0dXJue3ZhbHVlOm4sZG9uZTohMH19O2Z1bmN0aW9uIGcobix0LGUpe3ZvaWQgMD09PXQmJih0PXApLHZvaWQgMD09PWUmJihlPSJpdGVyYXRvciIpO3ZhciByPXttZXRhOntuYW1lOmV9LG5leHQ6bix0aHJvdzp0LHJldHVybjpoLGlzU2FnYUl0ZXJhdG9yOiEwfTtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmKHJbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiByfSkscn1mdW5jdGlvbiB5KG4sdCl7dmFyIGU9dC5zYWdhU3RhY2s7Y29uc29sZS5lcnJvcihuKSxjb25zb2xlLmVycm9yKGUpfXZhciBBPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgRXJyb3IoIlxuICByZWR1eC1zYWdhOiBFcnJvciBjaGVja2luZyBob29rcyBkZXRlY3RlZCBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnXG4gIGluIHJlZHV4LXNhZ2EgY29kZSBhbmQgbm90IHlvdXJzLiBUaGFua3MgZm9yIHJlcG9ydGluZyB0aGlzIGluIHRoZSBwcm9qZWN0J3MgZ2l0aHViIHJlcG8uXG4gIEVycm9yOiAiK24rIlxuIil9LEU9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmFwcGx5KG51bGwsbmV3IEFycmF5KG4pKX0sQz1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG4oT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5TQUdBX0FDVElPTix7dmFsdWU6ITB9KSl9fSxUPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ci5URVJNSU5BVEV9LFM9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1yLlRBU0tfQ0FOQ0VMfSxtPWZ1bmN0aW9uKG4pe3JldHVybiBUKG4pfHxTKG4pfTtmdW5jdGlvbiBOKG4sdCl7dmFyIGU9T2JqZWN0LmtleXMobikscj1lLmxlbmd0aDt2YXIgYSxjPTAsdT0oMCxvLmFycmF5KShuKT9FKHIpOnt9LGY9e307cmV0dXJuIGUuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIGU9ZnVuY3Rpb24oZSxvKXthfHwob3x8bShlKT8odC5jYW5jZWwoKSx0KGUsbykpOih1W25dPWUsKytjPT09ciYmKGE9ITAsdCh1KSkpKX07ZS5jYW5jZWw9aSxmW25dPWV9KSksdC5jYW5jZWw9ZnVuY3Rpb24oKXthfHwoYT0hMCxlLmZvckVhY2goKGZ1bmN0aW9uKG4pe3JldHVybiBmW25dLmNhbmNlbCgpfSkpKX0sZn1mdW5jdGlvbiBrKG4pe3JldHVybntuYW1lOm4ubmFtZXx8ImFub255bW91cyIsbG9jYXRpb246YihuKX19ZnVuY3Rpb24gYihuKXtyZXR1cm4gbltyLlNBR0FfTE9DQVRJT05dfWZ1bmN0aW9uIEwoKXtmb3IodmFyIG49YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShuKSxlPTA7ZTxuO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gMD09PXQubGVuZ3RoP2Z1bmN0aW9uKG4pe3JldHVybiBufToxPT09dC5sZW5ndGg/dFswXTp0LnJlZHVjZSgoZnVuY3Rpb24obix0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbih0LmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19KSl9dmFyIHc9e2lzRW1wdHk6dSxwdXQ6aSx0YWtlOml9O2Z1bmN0aW9uIE8obix0KXt2b2lkIDA9PT1uJiYobj0xMCk7dmFyIGU9bmV3IEFycmF5KG4pLHI9MCxhPTAsbz0wLGM9ZnVuY3Rpb24odCl7ZVthXT10LGE9KGErMSklbixyKyt9LHU9ZnVuY3Rpb24oKXtpZigwIT1yKXt2YXIgdD1lW29dO3JldHVybiBlW29dPW51bGwsci0tLG89KG8rMSklbix0fX0saT1mdW5jdGlvbigpe2Zvcih2YXIgbj1bXTtyOyluLnB1c2godSgpKTtyZXR1cm4gbn07cmV0dXJue2lzRW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gMD09cn0scHV0OmZ1bmN0aW9uKHUpe3ZhciBmO2lmKHI8biljKHUpO2Vsc2Ugc3dpdGNoKHQpe2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3IoIkNoYW5uZWwncyBCdWZmZXIgb3ZlcmZsb3chIik7Y2FzZSAzOmVbYV09dSxvPWE9KGErMSklbjticmVhaztjYXNlIDQ6Zj0yKm4sZT1pKCkscj1lLmxlbmd0aCxhPWUubGVuZ3RoLG89MCxlLmxlbmd0aD1mLG49ZixjKHUpfX0sdGFrZTp1LGZsdXNoOml9fXZhciB4PWZ1bmN0aW9uKCl7cmV0dXJuIHcKfSxJPWZ1bmN0aW9uKG4pe3JldHVybiBPKG4sMyl9LE09ZnVuY3Rpb24obil7cmV0dXJuIE8obiw0KX0saj1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxub25lOngsZml4ZWQ6ZnVuY3Rpb24obil7cmV0dXJuIE8obiwxKX0sZHJvcHBpbmc6ZnVuY3Rpb24obil7cmV0dXJuIE8obiwyKX0sc2xpZGluZzpJLGV4cGFuZGluZzpNfSksXz0iVEFLRSIscT0iUFVUIixSPSJBTEwiLFU9IlJBQ0UiLFA9IkNBTEwiLEs9IkNQUyIsSD0iRk9SSyIsRD0iSk9JTiIsRj0iQ0FOQ0VMIixHPSJTRUxFQ1QiLHo9IkFDVElPTl9DSEFOTkVMIixCPSJDQU5DRUxMRUQiLEo9IkZMVVNIIixRPSJHRVRfQ09OVEVYVCIsWT0iU0VUX0NPTlRFWFQiLFY9ZnVuY3Rpb24obix0KXt2YXIgZTtyZXR1cm4oZT17fSlbci5JT109ITAsZS5jb21iaW5hdG9yPSExLGUudHlwZT1uLGUucGF5bG9hZD10LGV9O2Z1bmN0aW9uIFcobix0KXtyZXR1cm4gdm9pZCAwPT09biYmKG49IioiKSwoMCxvLnBhdHRlcm4pKG4pPygoMCxvLm5vdFVuZGVmKSh0KSYmY29uc29sZS53YXJuKCJ0YWtlKHBhdHRlcm4pIHRha2VzIG9uZSBhcmd1bWVudCBidXQgdHdvIHdlcmUgcHJvdmlkZWQuIENvbnNpZGVyIHBhc3NpbmcgYW4gYXJyYXkgZm9yIGxpc3RlbmluZyB0byBzZXZlcmFsIGFjdGlvbiB0eXBlcyIpLFYoXyx7cGF0dGVybjpufSkpOigwLG8ubXVsdGljYXN0KShuKSYmKDAsby5ub3RVbmRlZikodCkmJigwLG8ucGF0dGVybikodCk/VihfLHtjaGFubmVsOm4scGF0dGVybjp0fSk6KDAsby5jaGFubmVsKShuKT8oKDAsby5ub3RVbmRlZikodCkmJmNvbnNvbGUud2FybigidGFrZShjaGFubmVsKSB0YWtlcyBvbmUgYXJndW1lbnQgYnV0IHR3byB3ZXJlIHByb3ZpZGVkLiBTZWNvbmQgYXJndW1lbnQgaXMgaWdub3JlZC4iKSxWKF8se2NoYW5uZWw6bn0pKTp2b2lkIDB9ZnVuY3Rpb24gWChuLHQpe3JldHVybigwLG8udW5kZWYpKHQpJiYodD1uLG49dm9pZCAwKSxWKHEse2NoYW5uZWw6bixhY3Rpb246dH0pfWZ1bmN0aW9uIFoobil7dmFyIHQ9VihSLG4pO3JldHVybiB0LmNvbWJpbmF0b3I9ITAsdH1mdW5jdGlvbiAkKG4pe3ZhciB0PVYoVSxuKTtyZXR1cm4gdC5jb21iaW5hdG9yPSEwLHR9ZnVuY3Rpb24gbm4obix0KXt2YXIgZSxyPW51bGw7cmV0dXJuKDAsby5mdW5jKShuKT9lPW46KCgwLG8uYXJyYXkpKG4pPyhyPW5bMF0sZT1uWzFdKToocj1uLmNvbnRleHQsZT1uLmZuKSxyJiYoMCxvLnN0cmluZykoZSkmJigwLG8uZnVuYykocltlXSkmJihlPXJbZV0pKSx7Y29udGV4dDpyLGZuOmUsYXJnczp0fX1mdW5jdGlvbiB0bihuKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0PjE/dC0xOjApLHI9MTtyPHQ7cisrKWVbci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIFYoUCxubihuLGUpKX1mdW5jdGlvbiBlbihuKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0PjE/dC0xOjApLHI9MTtyPHQ7cisrKWVbci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIFYoSCxubihuLGUpKX1mdW5jdGlvbiBybihuKXtyZXR1cm4gVihELG4pfWZ1bmN0aW9uIGFuKG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj1yLlNFTEZfQ0FOQ0VMTEFUSU9OKSxWKEYsbil9ZnVuY3Rpb24gb24obil7dm9pZCAwPT09biYmKG49Zik7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodD4xP3QtMTowKSxyPTE7cjx0O3IrKyllW3ItMV09YXJndW1lbnRzW3JdO3JldHVybiBWKEcse3NlbGVjdG9yOm4sYXJnczplfSl9ZnVuY3Rpb24gY24obix0KXtyZXR1cm4gVih6LHtwYXR0ZXJuOm4sYnVmZmVyOnR9KX12YXIgdW49MjExOCE9ZS5qP3RuLmJpbmQobnVsbCxjLmRlZmF1bHQpOm51bGx9LDgyMzcwOShuLHQsZSl7aWYoZS5kKHQse2RlZmF1bHQ6KCk9PmF9KSwyMTE4IT1lLmopdmFyIHI9ZSg1NjQ1MjEpO2NvbnN0IGE9MjExOCE9ZS5qP2Z1bmN0aW9uKG4sdCl7dmFyIGU7dm9pZCAwPT09dCYmKHQ9ITApO3ZhciBhPW5ldyBQcm9taXNlKChmdW5jdGlvbihyKXtlPXNldFRpbWVvdXQocixNYXRoLm1pbigyMTQ3NDgzNjQ3LG4pLHQpfSkpO3JldHVybiBhW3IuQ0FOQ0VMXT1mdW5jdGlvbigpe2NsZWFyVGltZW91dChlKX0sYX06bnVsbH0sNTY0NTIxKG4sdCxlKXtlLmQodCx7Q0FOQ0VMOigpPT5hLENIQU5ORUxfRU5EX1RZUEU6KCk9Pm8sSU86KCk9PmMsTUFUQ0g6KCk9PnUsTVVMVElDQVNUOigpPT5pLFNBR0FfQUNUSU9OOigpPT5mLFNBR0FfTE9DQVRJT046KCk9PnAsU0VMRl9DQU5DRUxMQVRJT046KCk9PmwsVEFTSzooKT0+cyxUQVNLX0NBTkNFTDooKT0+dixURVJNSU5BVEU6KCk9PmR9KTt2YXIgcj1mdW5jdGlvbihuKXtyZXR1cm4iQEByZWR1eC1zYWdhLyIrbn0sYT1yKCJDQU5DRUxfUFJPTUlTRSIpLG89cigiQ0hBTk5FTF9FTkQiKSxjPXIoIklPIiksdT1yKCJNQVRDSCIpLGk9cigiTVVMVElDQVNUIiksZj1yKCJTQUdBX0FDVElPTiIpLGw9cigiU0VMRl9DQU5DRUxMQVRJT04iKSxzPXIoIlRBU0siKSx2PXIoIlRBU0tfQ0FOQ0VMIiksZD1yKCJURVJNSU5BVEUiKSxwPXIoIkxPQ0FUSU9OIil9LDg5NDQ4KG4sdCxlKXtlLmQodCx7YnVmZmVyczooKT0+dS5JLGRlZmF1bHQ6KCk9PlEsZXZlbnRDaGFubmVsOigpPT5MfSk7dmFyIHI9ZSg1NjQ1MjEpLGE9ZSg2NDQzMjApLG89ZSg3ODg5MTUpLGM9ZSg0NzQxMzYpLHU9ZSg0ODkwNTcpO2Z1bmN0aW9uIGkoKXt2YXIgbj17fTtyZXR1cm4gbi5wcm9taXNlPW5ldyBQcm9taXNlKChmdW5jdGlvbih0LGUpe24ucmVzb2x2ZT10LG4ucmVqZWN0PWV9KSksbn1jb25zdCBmPWk7dmFyIGw9W10scz0wO2Z1bmN0aW9uIHYobil7dHJ5e2goKSxuKCl9ZmluYWxseXtnKCl9fWZ1bmN0aW9uIGQobil7bC5wdXNoKG4pLHN8fChoKCkseSgpKX1mdW5jdGlvbiBwKG4pe3RyeXtyZXR1cm4gaCgpLG4oKX1maW5hbGx5e3koKX19ZnVuY3Rpb24gaCgpe3MrK31mdW5jdGlvbiBnKCl7cy0tfWZ1bmN0aW9uIHkoKXt2YXIgbjtmb3IoZygpOyFzJiZ2b2lkIDAhPT0obj1sLnNoaWZ0KCkpOyl2KG4pfXZhciBBPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXsKcmV0dXJuIG4uc29tZSgoZnVuY3Rpb24obil7cmV0dXJuIG0obikodCl9KSl9fSxFPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbih0KX19LEM9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0LnR5cGU9PT1TdHJpbmcobil9fSxUPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlPT09bn19LFM9ZnVuY3Rpb24oKXtyZXR1cm4gdS5rfTtmdW5jdGlvbiBtKG4pe3ZhciB0PSIqIj09PW4/UzooMCxjLnN0cmluZykobik/QzooMCxjLmFycmF5KShuKT9BOigwLGMuc3RyaW5nYWJsZUZ1bmMpKG4pP0M6KDAsYy5mdW5jKShuKT9FOigwLGMuc3ltYm9sKShuKT9UOm51bGw7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBhdHRlcm46ICIrbik7cmV0dXJuIHQobil9dmFyIE49e3R5cGU6ci5DSEFOTkVMX0VORF9UWVBFfSxrPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnR5cGU9PT1yLkNIQU5ORUxfRU5EX1RZUEV9O2Z1bmN0aW9uIGIobil7dm9pZCAwPT09biYmKG49KDAsdS5lKSgpKTt2YXIgdD0hMSxlPVtdO3JldHVybnt0YWtlOmZ1bmN0aW9uKHIpe3QmJm4uaXNFbXB0eSgpP3IoTik6bi5pc0VtcHR5KCk/KGUucHVzaChyKSxyLmNhbmNlbD1mdW5jdGlvbigpeygwLHUucikoZSxyKX0pOnIobi50YWtlKCkpfSxwdXQ6ZnVuY3Rpb24ocil7aWYoIXQpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gbi5wdXQocik7ZS5zaGlmdCgpKHIpfX0sZmx1c2g6ZnVuY3Rpb24oZSl7dCYmbi5pc0VtcHR5KCk/ZShOKTplKG4uZmx1c2goKSl9LGNsb3NlOmZ1bmN0aW9uKCl7aWYoIXQpe3Q9ITA7dmFyIG49ZTtlPVtdO2Zvcih2YXIgcj0wLGE9bi5sZW5ndGg7cjxhO3IrKyl7KDAsbltyXSkoTil9fX19fWZ1bmN0aW9uIEwobix0KXt2b2lkIDA9PT10JiYodD0oMCx1Lm4pKCkpO3ZhciBlLHI9ITEsYT1iKHQpLG89ZnVuY3Rpb24oKXtyfHwocj0hMCwoMCxjLmZ1bmMpKGUpJiZlKCksYS5jbG9zZSgpKX07cmV0dXJuIGU9bigoZnVuY3Rpb24obil7ayhuKT9vKCk6YS5wdXQobil9KSksZT0oMCx1Lm8pKGUpLHImJmUoKSx7dGFrZTphLnRha2UsZmx1c2g6YS5mbHVzaCxjbG9zZTpvfX1mdW5jdGlvbiB3KCl7dmFyIG4sdCxlLGEsbyxjLGk9KHQ9ITEsYT1lPVtdLG89ZnVuY3Rpb24oKXthPT09ZSYmKGE9ZS5zbGljZSgpKX0sYz1mdW5jdGlvbigpe3Q9ITA7dmFyIG49ZT1hO2E9W10sbi5mb3JFYWNoKChmdW5jdGlvbihuKXtuKE4pfSkpfSwobj17fSlbci5NVUxUSUNBU1RdPSEwLG4ucHV0PWZ1bmN0aW9uKG4pe2lmKCF0KWlmKGsobikpYygpO2Vsc2UgZm9yKHZhciBvPWU9YSx1PTAsaT1vLmxlbmd0aDt1PGk7dSsrKXt2YXIgZj1vW3VdO2Zbci5NQVRDSF0obikmJihmLmNhbmNlbCgpLGYobikpfX0sbi50YWtlPWZ1bmN0aW9uKG4sZSl7dm9pZCAwPT09ZSYmKGU9UyksdD9uKE4pOihuW3IuTUFUQ0hdPWUsbygpLGEucHVzaChuKSxuLmNhbmNlbD0oMCx1Lm8pKChmdW5jdGlvbigpe28oKSwoMCx1LnIpKGEsbil9KSkpfSxuLmNsb3NlPWMsbiksZj1pLnB1dDtyZXR1cm4gaS5wdXQ9ZnVuY3Rpb24obil7bltyLlNBR0FfQUNUSU9OXT9mKG4pOmQoKGZ1bmN0aW9uKCl7ZihuKX0pKX0saX1mdW5jdGlvbiBPKG4sdCl7dmFyIGU9bltyLkNBTkNFTF07KDAsYy5mdW5jKShlKSYmKHQuY2FuY2VsPWUpLG4udGhlbih0LChmdW5jdGlvbihuKXt0KG4sITApfSkpfXZhciB4LEk9MCxNPWZ1bmN0aW9uKCl7cmV0dXJuKytJfTtmdW5jdGlvbiBqKG4pe24uaXNSdW5uaW5nKCkmJm4uY2FuY2VsKCl9dmFyIF89KCh4PXt9KVt1LlRdPWZ1bmN0aW9uKG4sdCxlKXt2YXIgYT10LmNoYW5uZWwsbz12b2lkIDA9PT1hP24uY2hhbm5lbDphLHU9dC5wYXR0ZXJuLGk9dC5tYXliZSxmPWZ1bmN0aW9uKG4pe24gaW5zdGFuY2VvZiBFcnJvcj9lKG4sITApOiFrKG4pfHxpP2Uobik6ZShyLlRFUk1JTkFURSl9O3RyeXtvLnRha2UoZiwoMCxjLm5vdFVuZGVmKSh1KT9tKHUpOm51bGwpfWNhdGNoKG4pe3JldHVybiB2b2lkIGUobiwhMCl9ZS5jYW5jZWw9Zi5jYW5jZWx9LHhbdS5QXT1mdW5jdGlvbihuLHQsZSl7dmFyIHI9dC5jaGFubmVsLGE9dC5hY3Rpb24sbz10LnJlc29sdmU7ZCgoZnVuY3Rpb24oKXt2YXIgdDt0cnl7dD0ocj9yLnB1dDpuLmRpc3BhdGNoKShhKX1jYXRjaChuKXtyZXR1cm4gdm9pZCBlKG4sITApfW8mJigwLGMucHJvbWlzZSkodCk/Tyh0LGUpOmUodCl9KSl9LHhbdS5BXT1mdW5jdGlvbihuLHQsZSxyKXt2YXIgYT1yLmRpZ2VzdEVmZmVjdCxvPUksaT1PYmplY3Qua2V5cyh0KTtpZigwIT09aS5sZW5ndGgpe3ZhciBmPSgwLHUubCkodCxlKTtpLmZvckVhY2goKGZ1bmN0aW9uKG4pe2EodFtuXSxvLGZbbl0sbil9KSl9ZWxzZSBlKCgwLGMuYXJyYXkpKHQpP1tdOnt9KX0seFt1LlJdPWZ1bmN0aW9uKG4sdCxlLHIpe3ZhciBhPXIuZGlnZXN0RWZmZWN0LG89SSxpPU9iamVjdC5rZXlzKHQpLGY9KDAsYy5hcnJheSkodCk/KDAsdS5tKShpLmxlbmd0aCk6e30sbD17fSxzPSExO2kuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIHQ9ZnVuY3Rpb24odCxyKXtzfHwocnx8KDAsdS5zKSh0KT8oZS5jYW5jZWwoKSxlKHQscikpOihlLmNhbmNlbCgpLHM9ITAsZltuXT10LGUoZikpKX07dC5jYW5jZWw9dS50LGxbbl09dH0pKSxlLmNhbmNlbD1mdW5jdGlvbigpe3N8fChzPSEwLGkuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIGxbbl0uY2FuY2VsKCl9KSkpfSxpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3N8fGEodFtuXSxvLGxbbl0sbil9KSl9LHhbdS5DXT1mdW5jdGlvbihuLHQsZSxyKXt2YXIgYT10LmNvbnRleHQsbz10LmZuLGk9dC5hcmdzLGY9ci50YXNrO3RyeXt2YXIgbD1vLmFwcGx5KGEsaSk7aWYoKDAsYy5wcm9taXNlKShsKSlyZXR1cm4gdm9pZCBPKGwsZSk7aWYoKDAsYy5pdGVyYXRvcikobCkpcmV0dXJuIHZvaWQgeihuLGwsZi5jb250ZXh0LEksKDAsdS5qKShvKSwhMSxlKTtlKGwpfWNhdGNoKG4pe2UobiwhMCl9fSx4W3UuYV09ZnVuY3Rpb24obix0LGUpe3ZhciByPXQuY29udGV4dCxhPXQuZm4sbz10LmFyZ3M7dHJ5e3ZhciB1PWZ1bmN0aW9uKG4sdCl7CigwLGMudW5kZWYpKG4pP2UodCk6ZShuLCEwKX07YS5hcHBseShyLG8uY29uY2F0KHUpKSx1LmNhbmNlbCYmKGUuY2FuY2VsPXUuY2FuY2VsKX1jYXRjaChuKXtlKG4sITApfX0seFt1LkZdPWZ1bmN0aW9uKG4sdCxlLHIpe3ZhciBhPXQuY29udGV4dCxvPXQuZm4saT10LmFyZ3MsZj10LmRldGFjaGVkLGw9ci50YXNrLHM9ZnVuY3Rpb24obil7dmFyIHQ9bi5jb250ZXh0LGU9bi5mbixyPW4uYXJnczt0cnl7dmFyIGE9ZS5hcHBseSh0LHIpO2lmKCgwLGMuaXRlcmF0b3IpKGEpKXJldHVybiBhO3ZhciBvPSExO3JldHVybigwLHUucSkoKGZ1bmN0aW9uKG4pe3JldHVybiBvP3t2YWx1ZTpuLGRvbmU6ITB9OihvPSEwLHt2YWx1ZTphLGRvbmU6ISgwLGMucHJvbWlzZSkoYSl9KX0pKX1jYXRjaChuKXtyZXR1cm4oMCx1LnEpKChmdW5jdGlvbigpe3Rocm93IG59KSl9fSh7Y29udGV4dDphLGZuOm8sYXJnczppfSksdj1mdW5jdGlvbihuLHQpe3JldHVybiBuLmlzU2FnYUl0ZXJhdG9yP3tuYW1lOm4ubWV0YS5uYW1lfTooMCx1LmopKHQpfShzLG8pO3AoKGZ1bmN0aW9uKCl7dmFyIHQ9eihuLHMsbC5jb250ZXh0LEksdixmLHZvaWQgMCk7Zj9lKHQpOnQuaXNSdW5uaW5nKCk/KGwucXVldWUuYWRkVGFzayh0KSxlKHQpKTp0LmlzQWJvcnRlZCgpP2wucXVldWUuYWJvcnQodC5lcnJvcigpKTplKHQpfSkpfSx4W3UuSl09ZnVuY3Rpb24obix0LGUscil7dmFyIGE9ci50YXNrLG89ZnVuY3Rpb24obix0KXtpZihuLmlzUnVubmluZygpKXt2YXIgZT17dGFzazphLGNiOnR9O3QuY2FuY2VsPWZ1bmN0aW9uKCl7bi5pc1J1bm5pbmcoKSYmKDAsdS5yKShuLmpvaW5lcnMsZSl9LG4uam9pbmVycy5wdXNoKGUpfWVsc2Ugbi5pc0Fib3J0ZWQoKT90KG4uZXJyb3IoKSwhMCk6dChuLnJlc3VsdCgpKX07aWYoKDAsYy5hcnJheSkodCkpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gdm9pZCBlKFtdKTt2YXIgaT0oMCx1LmwpKHQsZSk7dC5mb3JFYWNoKChmdW5jdGlvbihuLHQpe28obixpW3RdKX0pKX1lbHNlIG8odCxlKX0seFt1LmJdPWZ1bmN0aW9uKG4sdCxlLGEpe3ZhciBvPWEudGFzazt0PT09ci5TRUxGX0NBTkNFTExBVElPTj9qKG8pOigwLGMuYXJyYXkpKHQpP3QuZm9yRWFjaChqKTpqKHQpLGUoKX0seFt1LlNdPWZ1bmN0aW9uKG4sdCxlKXt2YXIgcj10LnNlbGVjdG9yLGE9dC5hcmdzO3RyeXtlKHIuYXBwbHkodm9pZCAwLFtuLmdldFN0YXRlKCldLmNvbmNhdChhKSkpfWNhdGNoKG4pe2UobiwhMCl9fSx4W3UuZF09ZnVuY3Rpb24obix0LGUpe3ZhciByPXQucGF0dGVybixhPWIodC5idWZmZXIpLG89bShyKSxjPWZ1bmN0aW9uIHQoZSl7ayhlKXx8bi5jaGFubmVsLnRha2UodCxvKSxhLnB1dChlKX0sdT1hLmNsb3NlO2EuY2xvc2U9ZnVuY3Rpb24oKXtjLmNhbmNlbCgpLHUoKX0sbi5jaGFubmVsLnRha2UoYyxvKSxlKGEpfSx4W3UuZl09ZnVuY3Rpb24obix0LGUscil7ZShyLnRhc2suaXNDYW5jZWxsZWQoKSl9LHhbdS5nXT1mdW5jdGlvbihuLHQsZSl7dC5mbHVzaChlKX0seFt1LkddPWZ1bmN0aW9uKG4sdCxlLHIpe2Uoci50YXNrLmNvbnRleHRbdF0pfSx4W3UuaF09ZnVuY3Rpb24obix0LGUscil7dmFyIGE9ci50YXNrOygwLHUucCkoYS5jb250ZXh0LHQpLGUoKX0seCk7ZnVuY3Rpb24gcShuLHQpe3JldHVybiBuKyI/Iit0fWZ1bmN0aW9uIFIobil7dmFyIHQ9bi5uYW1lLGU9bi5sb2NhdGlvbjtyZXR1cm4gZT90KyIgICIrcShlLmZpbGVOYW1lLGUubGluZU51bWJlcik6dH1mdW5jdGlvbiBVKG4pe3ZhciB0PSgwLHUudSkoKGZ1bmN0aW9uKG4pe3JldHVybiBuLmNhbmNlbGxlZFRhc2tzfSksbik7cmV0dXJuIHQubGVuZ3RoP1siVGFza3MgY2FuY2VsbGVkIGR1ZSB0byBlcnJvcjoiXS5jb25jYXQodCkuam9pbigiXG4iKToiIn12YXIgUD1udWxsLEs9W10sSD1mdW5jdGlvbihuKXtuLmNyYXNoZWRFZmZlY3Q9UCxLLnB1c2gobil9LEQ9ZnVuY3Rpb24oKXtQPW51bGwsSy5sZW5ndGg9MH0sRj1mdW5jdGlvbigpe3ZhciBuLHQsZT1LWzBdLHI9Sy5zbGljZSgxKSxhPWUuY3Jhc2hlZEVmZmVjdD8obj1lLmNyYXNoZWRFZmZlY3QsKHQ9KDAsdS52KShuKSk/dC5jb2RlKyIgICIrcSh0LmZpbGVOYW1lLHQubGluZU51bWJlcik6IiIpOm51bGw7cmV0dXJuWyJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGFzayAiK1IoZS5tZXRhKSsoYT8iIFxuIHdoZW4gZXhlY3V0aW5nIGVmZmVjdCAiK2E6IiIpXS5jb25jYXQoci5tYXAoKGZ1bmN0aW9uKG4pe3JldHVybiIgICAgY3JlYXRlZCBieSAiK1Iobi5tZXRhKX0pKSxbVShLKV0pLmpvaW4oIlxuIil9O2Z1bmN0aW9uIEcobix0LGUsYSxvLGMsaSl7dmFyIGw7dm9pZCAwPT09aSYmKGk9dS50KTt2YXIgcyx2LGQ9MCxwPW51bGwsaD1bXSxnPU9iamVjdC5jcmVhdGUoZSkseT1mdW5jdGlvbihuLHQsZSl7dmFyIHIsYT1bXSxvPSExO2Z1bmN0aW9uIGMobil7dCgpLGYoKSxlKG4sITApfWZ1bmN0aW9uIGkodCl7YS5wdXNoKHQpLHQuY29udD1mdW5jdGlvbihpLGYpe298fCgoMCx1LnIpKGEsdCksdC5jb250PXUudCxmP2MoaSk6KHQ9PT1uJiYocj1pKSxhLmxlbmd0aHx8KG89ITAsZShyKSkpKX19ZnVuY3Rpb24gZigpe298fChvPSEwLGEuZm9yRWFjaCgoZnVuY3Rpb24obil7bi5jb250PXUudCxuLmNhbmNlbCgpfSkpLGE9W10pfXJldHVybiBpKG4pLHthZGRUYXNrOmksY2FuY2VsQWxsOmYsYWJvcnQ6YyxnZXRUYXNrczpmdW5jdGlvbigpe3JldHVybiBhfX19KHQsKGZ1bmN0aW9uKCl7aC5wdXNoLmFwcGx5KGgseS5nZXRUYXNrcygpLm1hcCgoZnVuY3Rpb24obil7cmV0dXJuIG4ubWV0YS5uYW1lfSkpKX0pLEEpO2Z1bmN0aW9uIEEodCxlKXtpZihlKXtpZihkPTIsSCh7bWV0YTpvLGNhbmNlbGxlZFRhc2tzOmh9KSxFLmlzUm9vdCl7dmFyIGE9RigpO0QoKSxuLm9uRXJyb3IodCx7c2FnYVN0YWNrOmF9KX12PXQscCYmcC5yZWplY3QodCl9ZWxzZSB0PT09ci5UQVNLX0NBTkNFTD9kPTE6MSE9PWQmJihkPTMpLHM9dCxwJiZwLnJlc29sdmUodCk7RS5jb250KHQsZSksRS5qb2luZXJzLmZvckVhY2goKGZ1bmN0aW9uKG4pe24uY2IodCxlKX0pKSxFLmpvaW5lcnM9bnVsbH0KdmFyIEU9KChsPXt9KVtyLlRBU0tdPSEwLGwuaWQ9YSxsLm1ldGE9byxsLmlzUm9vdD1jLGwuY29udGV4dD1nLGwuam9pbmVycz1bXSxsLnF1ZXVlPXksbC5jYW5jZWw9ZnVuY3Rpb24oKXswPT09ZCYmKGQ9MSx5LmNhbmNlbEFsbCgpLEEoci5UQVNLX0NBTkNFTCwhMSkpfSxsLmNvbnQ9aSxsLmVuZD1BLGwuc2V0Q29udGV4dD1mdW5jdGlvbihuKXsoMCx1LnApKGcsbil9LGwudG9Qcm9taXNlPWZ1bmN0aW9uKCl7cmV0dXJuIHB8fChwPWYoKSwyPT09ZD9wLnJlamVjdCh2KTowIT09ZCYmcC5yZXNvbHZlKHMpKSxwLnByb21pc2V9LGwuaXNSdW5uaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT1kfSxsLmlzQ2FuY2VsbGVkPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT1kfHwwPT09ZCYmMT09PXQuc3RhdHVzfSxsLmlzQWJvcnRlZD1mdW5jdGlvbigpe3JldHVybiAyPT09ZH0sbC5yZXN1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gc30sbC5lcnJvcj1mdW5jdGlvbigpe3JldHVybiB2fSxsKTtyZXR1cm4gRX1mdW5jdGlvbiB6KG4sdCxlLGEsbyxpLGYpe3ZhciBsPW4uZmluYWxpemVSdW5FZmZlY3QoKGZ1bmN0aW9uKHQsZSxhKXtpZigoMCxjLnByb21pc2UpKHQpKU8odCxhKTtlbHNlIGlmKCgwLGMuaXRlcmF0b3IpKHQpKXoobix0LHYuY29udGV4dCxlLG8sITEsYSk7ZWxzZSBpZih0JiZ0W3IuSU9dKXsoMCxfW3QudHlwZV0pKG4sdC5wYXlsb2FkLGEsZCl9ZWxzZSBhKHQpfSkpO3AuY2FuY2VsPXUudDt2YXIgcz17bWV0YTpvLGNhbmNlbDpmdW5jdGlvbigpezA9PT1zLnN0YXR1cyYmKHMuc3RhdHVzPTEscChyLlRBU0tfQ0FOQ0VMKSl9LHN0YXR1czowfSx2PUcobixzLGUsYSxvLGksZiksZD17dGFzazp2LGRpZ2VzdEVmZmVjdDpofTtyZXR1cm4gZiYmKGYuY2FuY2VsPXYuY2FuY2VsKSxwKCksdjtmdW5jdGlvbiBwKG4sZSl7dHJ5e3ZhciBvO2U/KG89dC50aHJvdyhuKSxEKCkpOigwLHUueSkobik/KHMuc3RhdHVzPTEscC5jYW5jZWwoKSxvPSgwLGMuZnVuYykodC5yZXR1cm4pP3QucmV0dXJuKHIuVEFTS19DQU5DRUwpOntkb25lOiEwLHZhbHVlOnIuVEFTS19DQU5DRUx9KTpvPSgwLHUueikobik/KDAsYy5mdW5jKSh0LnJldHVybik/dC5yZXR1cm4oKTp7ZG9uZTohMH06dC5uZXh0KG4pLG8uZG9uZT8oMSE9PXMuc3RhdHVzJiYocy5zdGF0dXM9Mykscy5jb250KG8udmFsdWUpKTpoKG8udmFsdWUsYSxwKX1jYXRjaChuKXtpZigxPT09cy5zdGF0dXMpdGhyb3cgbjtzLnN0YXR1cz0yLHMuY29udChuLCEwKX19ZnVuY3Rpb24gaCh0LGUscixhKXt2b2lkIDA9PT1hJiYoYT0iIik7dmFyIG8sYz1NKCk7ZnVuY3Rpb24gaShlLGEpe298fChvPSEwLHIuY2FuY2VsPXUudCxuLnNhZ2FNb25pdG9yJiYoYT9uLnNhZ2FNb25pdG9yLmVmZmVjdFJlamVjdGVkKGMsZSk6bi5zYWdhTW9uaXRvci5lZmZlY3RSZXNvbHZlZChjLGUpKSxhJiZmdW5jdGlvbihuKXtQPW59KHQpLHIoZSxhKSl9bi5zYWdhTW9uaXRvciYmbi5zYWdhTW9uaXRvci5lZmZlY3RUcmlnZ2VyZWQoe2VmZmVjdElkOmMscGFyZW50RWZmZWN0SWQ6ZSxsYWJlbDphLGVmZmVjdDp0fSksaS5jYW5jZWw9dS50LHIuY2FuY2VsPWZ1bmN0aW9uKCl7b3x8KG89ITAsaS5jYW5jZWwoKSxpLmNhbmNlbD11LnQsbi5zYWdhTW9uaXRvciYmbi5zYWdhTW9uaXRvci5lZmZlY3RDYW5jZWxsZWQoYykpfSxsKHQsYyxpKX19ZnVuY3Rpb24gQihuLHQpe3ZhciBlPW4uY2hhbm5lbCxyPXZvaWQgMD09PWU/dygpOmUsYT1uLmRpc3BhdGNoLG89bi5nZXRTdGF0ZSxjPW4uY29udGV4dCxpPXZvaWQgMD09PWM/e306YyxmPW4uc2FnYU1vbml0b3IsbD1uLmVmZmVjdE1pZGRsZXdhcmVzLHM9bi5vbkVycm9yLHY9dm9pZCAwPT09cz91LkQ6cztmb3IodmFyIGQ9YXJndW1lbnRzLmxlbmd0aCxoPW5ldyBBcnJheShkPjI/ZC0yOjApLGc9MjtnPGQ7ZysrKWhbZy0yXT1hcmd1bWVudHNbZ107dmFyIHk9dC5hcHBseSh2b2lkIDAsaCk7dmFyIEEsRT1NKCk7aWYoZiYmKGYucm9vdFNhZ2FTdGFydGVkPWYucm9vdFNhZ2FTdGFydGVkfHx1LnQsZi5lZmZlY3RUcmlnZ2VyZWQ9Zi5lZmZlY3RUcmlnZ2VyZWR8fHUudCxmLmVmZmVjdFJlc29sdmVkPWYuZWZmZWN0UmVzb2x2ZWR8fHUudCxmLmVmZmVjdFJlamVjdGVkPWYuZWZmZWN0UmVqZWN0ZWR8fHUudCxmLmVmZmVjdENhbmNlbGxlZD1mLmVmZmVjdENhbmNlbGxlZHx8dS50LGYuYWN0aW9uRGlzcGF0Y2hlZD1mLmFjdGlvbkRpc3BhdGNoZWR8fHUudCxmLnJvb3RTYWdhU3RhcnRlZCh7ZWZmZWN0SWQ6RSxzYWdhOnQsYXJnczpofSkpLGwpe3ZhciBDPXUuQi5hcHBseSh2b2lkIDAsbCk7QT1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIpe3JldHVybiBDKChmdW5jdGlvbih0KXtyZXR1cm4gbih0LGUscil9KSkodCl9fX1lbHNlIEE9dS5IO3ZhciBUPXtjaGFubmVsOnIsZGlzcGF0Y2g6KDAsdS5FKShhKSxnZXRTdGF0ZTpvLHNhZ2FNb25pdG9yOmYsb25FcnJvcjp2LGZpbmFsaXplUnVuRWZmZWN0OkF9O3JldHVybiBwKChmdW5jdGlvbigpe3ZhciBuPXooVCx5LGksRSwoMCx1LmopKHQpLCEwLHZvaWQgMCk7cmV0dXJuIGYmJmYuZWZmZWN0UmVzb2x2ZWQoRSxuKSxufSkpfWNvbnN0IEo9ZnVuY3Rpb24obil7dmFyIHQsZT12b2lkIDA9PT1uP3t9Om4scj1lLmNvbnRleHQsYz12b2lkIDA9PT1yP3t9OnIsaT1lLmNoYW5uZWwsZj12b2lkIDA9PT1pP3coKTppLGw9ZS5zYWdhTW9uaXRvcixzPSgwLG8uZGVmYXVsdCkoZSxbImNvbnRleHQiLCJjaGFubmVsIiwic2FnYU1vbml0b3IiXSk7ZnVuY3Rpb24gdihuKXt2YXIgZT1uLmdldFN0YXRlLHI9bi5kaXNwYXRjaDtyZXR1cm4gdD1CLmJpbmQobnVsbCwoMCxhLmRlZmF1bHQpKHt9LHMse2NvbnRleHQ6YyxjaGFubmVsOmYsZGlzcGF0Y2g6cixnZXRTdGF0ZTplLHNhZ2FNb25pdG9yOmx9KSksZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQpe2wmJmwuYWN0aW9uRGlzcGF0Y2hlZCYmbC5hY3Rpb25EaXNwYXRjaGVkKHQpO3ZhciBlPW4odCk7cmV0dXJuIGYucHV0KHQpLGV9fX1yZXR1cm4gdi5ydW49ZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX0sCnYuc2V0Q29udGV4dD1mdW5jdGlvbihuKXsoMCx1LnApKGMsbil9LHZ9LFE9Sn0sNjE0ODI1KG4sdCxlKXtlLmQodCx7YWxsOigpPT5hLiQsY2FsbDooKT0+YS5PLGNhbmNlbDooKT0+YS5OLGRlbGF5OigpPT5hLlEsZm9yazooKT0+YS5NLGpvaW46KCk9PmEuYTMscHV0OigpPT5hLloscmFjZTooKT0+YS5XLHNlbGVjdDooKT0+YS5hNCx0YWtlOigpPT5hLkwsdGFrZUV2ZXJ5OigpPT52LHRha2VMYXRlc3Q6KCk9PmQsdGhyb3R0bGU6KCk9PnB9KTt2YXIgcj1lKDQ3NDEzNiksYT1lKDQ4OTA1Nyksbz1mdW5jdGlvbihuKXtyZXR1cm57ZG9uZTohMCx2YWx1ZTpufX0sYz17fTtmdW5jdGlvbiB1KG4pe3JldHVybigwLHIuY2hhbm5lbCkobik/ImNoYW5uZWwiOigwLHIuc3RyaW5nYWJsZUZ1bmMpKG4pP1N0cmluZyhuKTooMCxyLmZ1bmMpKG4pP24ubmFtZTpTdHJpbmcobil9ZnVuY3Rpb24gaShuLHQsZSl7dmFyIHIsdSxpLGY9dDtmdW5jdGlvbiBsKHQsZSl7aWYoZj09PWMpcmV0dXJuIG8odCk7aWYoZSYmIXUpdGhyb3cgZj1jLGU7ciYmcih0KTt2YXIgYT1lP25bdV0oZSk6bltmXSgpO3JldHVybiBmPWEubmV4dFN0YXRlLGk9YS5lZmZlY3Qscj1hLnN0YXRlVXBkYXRlcix1PWEuZXJyb3JTdGF0ZSxmPT09Yz9vKHQpOml9cmV0dXJuKDAsYS5xKShsLChmdW5jdGlvbihuKXtyZXR1cm4gbChudWxsLG4pfSksZSl9ZnVuY3Rpb24gZihuLHQpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGU+Mj9lLTI6MCksbz0yO288ZTtvKyspcltvLTJdPWFyZ3VtZW50c1tvXTt2YXIgYyxmPXtkb25lOiExLHZhbHVlOigwLGEuTCkobil9LGw9ZnVuY3Rpb24obil7cmV0dXJuIGM9bn07cmV0dXJuIGkoe3ExOmZ1bmN0aW9uKCl7cmV0dXJue25leHRTdGF0ZToicTIiLGVmZmVjdDpmLHN0YXRlVXBkYXRlcjpsfX0scTI6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMSIsZWZmZWN0OihuPWMse2RvbmU6ITEsdmFsdWU6YS5NLmFwcGx5KHZvaWQgMCxbdF0uY29uY2F0KHIsW25dKSl9KX07dmFyIG59fSwicTEiLCJ0YWtlRXZlcnkoIit1KG4pKyIsICIrdC5uYW1lKyIpIil9ZnVuY3Rpb24gbChuLHQpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGU+Mj9lLTI6MCksbz0yO288ZTtvKyspcltvLTJdPWFyZ3VtZW50c1tvXTt2YXIgYyxmLGw9e2RvbmU6ITEsdmFsdWU6KDAsYS5MKShuKX0scz1mdW5jdGlvbihuKXtyZXR1cm57ZG9uZTohMSx2YWx1ZTphLk0uYXBwbHkodm9pZCAwLFt0XS5jb25jYXQocixbbl0pKX19LHY9ZnVuY3Rpb24obil7cmV0dXJue2RvbmU6ITEsdmFsdWU6KDAsYS5OKShuKX19LGQ9ZnVuY3Rpb24obil7cmV0dXJuIGM9bn0scD1mdW5jdGlvbihuKXtyZXR1cm4gZj1ufTtyZXR1cm4gaSh7cTE6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMiIsZWZmZWN0Omwsc3RhdGVVcGRhdGVyOnB9fSxxMjpmdW5jdGlvbigpe3JldHVybiBjP3tuZXh0U3RhdGU6InEzIixlZmZlY3Q6dihjKX06e25leHRTdGF0ZToicTEiLGVmZmVjdDpzKGYpLHN0YXRlVXBkYXRlcjpkfX0scTM6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMSIsZWZmZWN0OnMoZiksc3RhdGVVcGRhdGVyOmR9fX0sInExIiwidGFrZUxhdGVzdCgiK3UobikrIiwgIit0Lm5hbWUrIikiKX1mdW5jdGlvbiBzKG4sdCxlKXtmb3IodmFyIG89YXJndW1lbnRzLmxlbmd0aCxjPW5ldyBBcnJheShvPjM/by0zOjApLGY9MztmPG87ZisrKWNbZi0zXT1hcmd1bWVudHNbZl07dmFyIGwscyx2PXtkb25lOiExLHZhbHVlOigwLGEuUSkobil9LGQ9ZnVuY3Rpb24obil7cmV0dXJuIGw9bn0scD1mdW5jdGlvbihuKXtyZXR1cm4gcz1ufSxoPSEoMCxyLmNoYW5uZWwpKHQpO3JldHVybiBofHxwKHQpLGkoe3ExOmZ1bmN0aW9uKCl7cmV0dXJue25leHRTdGF0ZToicTIiLGVmZmVjdDp7ZG9uZTohMSx2YWx1ZTooMCxhLlUpKHQsKDAsYS5WKSgxKSl9LHN0YXRlVXBkYXRlcjpwfX0scTI6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMyIsZWZmZWN0Ontkb25lOiExLHZhbHVlOigwLGEuTCkocyl9LHN0YXRlVXBkYXRlcjpkfX0scTM6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxNCIsZWZmZWN0OihuPWwse2RvbmU6ITEsdmFsdWU6YS5NLmFwcGx5KHZvaWQgMCxbZV0uY29uY2F0KGMsW25dKSl9KX07dmFyIG59LHE0OmZ1bmN0aW9uKCl7cmV0dXJue25leHRTdGF0ZToicTIiLGVmZmVjdDp2fX19LGg/InExIjoicTIiLCJ0aHJvdHRsZSgiK3UodCkrIiwgIitlLm5hbWUrIikiKX1mdW5jdGlvbiB2KG4sdCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZT4yP2UtMjowKSxvPTI7bzxlO28rKylyW28tMl09YXJndW1lbnRzW29dO3JldHVybiBhLk0uYXBwbHkodm9pZCAwLFtmLG4sdF0uY29uY2F0KHIpKX1mdW5jdGlvbiBkKG4sdCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZT4yP2UtMjowKSxvPTI7bzxlO28rKylyW28tMl09YXJndW1lbnRzW29dO3JldHVybiBhLk0uYXBwbHkodm9pZCAwLFtsLG4sdF0uY29uY2F0KHIpKX1mdW5jdGlvbiBwKG4sdCxlKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxvPW5ldyBBcnJheShyPjM/ci0zOjApLGM9MztjPHI7YysrKW9bYy0zXT1hcmd1bWVudHNbY107cmV0dXJuIGEuTS5hcHBseSh2b2lkIDAsW3Msbix0LGVdLmNvbmNhdChvKSl9fSw2NDQzMjAobix0LGUpe2Z1bmN0aW9uIHIoKXtyZXR1cm4gcj1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKG4pe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBlPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gZSkoe30pLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKG5bcl09ZVtyXSl9cmV0dXJuIG59LHIuYXBwbHkobnVsbCxhcmd1bWVudHMpfWUuZCh0LHtkZWZhdWx0OigpPT5yfSl9LDc4ODkxNShuLHQsZSl7ZnVuY3Rpb24gcihuLHQpe2lmKG51bGw9PW4pcmV0dXJue307dmFyIGU9e307Zm9yKHZhciByIGluIG4paWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChuLHIpKXsKaWYoLTEhPT10LmluZGV4T2YocikpY29udGludWU7ZVtyXT1uW3JdfXJldHVybiBlfWUuZCh0LHtkZWZhdWx0OigpPT5yfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCPOLYG.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.488Z","timestamp":1785136905488,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCPOLYG.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCCKB.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.586Z","timestamp":1785136905586,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCCKB.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:40.154Z","timestamp":1785136900154,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1161431244.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:49 GMT","end":"Wed, 02 Sep 2026 14:34:48 GMT"},"fingerprint":{"sha1":"77:06:42:CE:73:9F:CA:05:A3:6E:99:99:F2:3F:B7:EE:E4:60:E9:29","sha256":"E7:6E:68:C5:CD:6C:F6:14:84:A0:18:1A:D7:94:77:7A:28:F6:67:8E:90:58:94:AE:3A:65:6A:B7:95:0F:5D:1B"}}},"request":{"raw":"GET /loader.js? HTTP/1.1\r\nHost: www.smartsuppchat.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:43 GMT\r\ncontent-type: application/javascript\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a2663cd-4668\"\r\nexpires: Mon, 08 Jun 2026 06:46:12 GMT\r\nlast-modified: Mon, 08 Jun 2026 06:40:13 GMT\r\nx-77-nzt: k7LObH+BUPYc5jOaFByqryw6FIF1iZOUpbGovdmdmj3fp2aptJ5DmXUfoHCjn5s/ThVhjCQ\r\nx-77-nzt-ray: e2f75420e91584240707676a6928451c\r\nx-77-cache: HIT\r\nx-77-age: 0\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":18024,"size_decoded":6041,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (17951)","md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-10T08:00:01.079467Z","times_seen":8272,"resource_available":true,"data":"LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgbG9hZGVyLnRlbXBsYXRlLmpzLkxJQ0VOU0UudHh0ICovCigoKT0+e3ZhciB0PXs3MTUodCl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7LTEhPT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIDEwIikmJih0PSEwKTt2YXIgZSxuPVtdLHI9Im9iamVjdCI9PXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQsbz10P3IuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iik6ci5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwsaT0iRE9NQ29udGVudExvYWRlZCIscz1yJiYobz8vXmxvYWRlZHxeYy86L15sb2FkZWR8Xml8XmMvKS50ZXN0KHIucmVhZHlTdGF0ZSk7cmV0dXJuIXMmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcihpLGU9ZnVuY3Rpb24oKXtmb3Ioci5yZW1vdmVFdmVudExpc3RlbmVyKGksZSkscz0xO2U9bi5zaGlmdCgpOyllKCl9KSxmdW5jdGlvbih0KXtzP3NldFRpbWVvdXQodCwwKTpuLnB1c2godCl9fSgpfSw3NjEodCxlLG4peyJ1c2Ugc3RyaWN0Ijtjb25zdCByPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZS5yZXNvbHZlKHQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9LGZ1bmN0aW9uKG4pe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUucmVqZWN0KG4pfSl9KX0sbz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHRoaXMoZnVuY3Rpb24oZSxuKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIG4obmV3IFR5cGVFcnJvcih0eXBlb2YgdCsiICIrdCsiIGlzIG5vdCBpdGVyYWJsZShjYW5ub3QgcmVhZCBwcm9wZXJ0eSBTeW1ib2woU3ltYm9sLml0ZXJhdG9yKSkiKSk7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk7aWYoMD09PXIubGVuZ3RoKXJldHVybiBlKFtdKTt2YXIgbz1yLmxlbmd0aDtmdW5jdGlvbiBpKHQsbil7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgcz1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpcmV0dXJuIHZvaWQgcy5jYWxsKG4sZnVuY3Rpb24oZSl7aSh0LGUpfSxmdW5jdGlvbihuKXtyW3RdPXtzdGF0dXM6InJlamVjdGVkIixyZWFzb246bn0sMD09PS0tbyYmZShyKX0pfXJbdF09e3N0YXR1czoiZnVsZmlsbGVkIix2YWx1ZTpufSwwPT09LS1vJiZlKHIpfWZvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKWkocyxyW3NdKX0pfTtmdW5jdGlvbiBpKHQsZSl7dGhpcy5uYW1lPSJBZ2dyZWdhdGVFcnJvciIsdGhpcy5lcnJvcnM9dCx0aGlzLm1lc3NhZ2U9ZXx8IiJ9aS5wcm90b3R5cGU9RXJyb3IucHJvdG90eXBlO2NvbnN0IHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IGUoZnVuY3Rpb24obixyKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIHIobmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbnkgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09by5sZW5ndGgpcmV0dXJuIHIoKTtmb3IodmFyIHM9W10sYT0wO2E8by5sZW5ndGg7YSsrKXRyeXtlLnJlc29sdmUob1thXSkudGhlbihuKS5jYXRjaChmdW5jdGlvbih0KXtzLnB1c2godCkscy5sZW5ndGg9PT1vLmxlbmd0aCYmcihuZXcgaShzLCJBbGwgcHJvbWlzZXMgd2VyZSByZWplY3RlZCIpKX0pfWNhdGNoKHQpe3IodCl9fSl9O3ZhciBhPXNldFRpbWVvdXQ7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gQm9vbGVhbih0JiZ2b2lkIDAhPT10Lmxlbmd0aCl9ZnVuY3Rpb24gdSgpe31mdW5jdGlvbiBsKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXZvaWQgMCx0aGlzLl9kZWZlcnJlZHM9W10sdyh0LHRoaXMpfWZ1bmN0aW9uIHAodCxlKXtmb3IoOzM9PT10Ll9zdGF0ZTspdD10Ll92YWx1ZTswIT09dC5fc3RhdGU/KHQuX2hhbmRsZWQ9ITAsbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgbj0xPT09dC5fc3RhdGU/ZS5vbkZ1bGZpbGxlZDplLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PW4pe3ZhciByO3RyeXtyPW4odC5fdmFsdWUpfWNhdGNoKHQpe3JldHVybiB2b2lkIGQoZS5wcm9taXNlLHQpfWYoZS5wcm9taXNlLHIpfWVsc2UoMT09PXQuX3N0YXRlP2Y6ZCkoZS5wcm9taXNlLHQuX3ZhbHVlKX0pKTp0Ll9kZWZlcnJlZHMucHVzaChlKX1mdW5jdGlvbiBmKHQsZSl7dHJ5e2lmKGU9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoZSBpbnN0YW5jZW9mIGwpcmV0dXJuIHQuX3N0YXRlPTMsdC5fdmFsdWU9ZSx2b2lkIGgodCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgdygocj1uLG89ZSxmdW5jdGlvbigpe3IuYXBwbHkobyxhcmd1bWVudHMpfSksdCl9dC5fc3RhdGU9MSx0Ll92YWx1ZT1lLGgodCl9Y2F0Y2goZSl7ZCh0LGUpfXZhciByLG99ZnVuY3Rpb24gZCh0LGUpe3QuX3N0YXRlPTIsdC5fdmFsdWU9ZSxoKHQpfWZ1bmN0aW9uIGgodCl7Mj09PXQuX3N0YXRlJiYwPT09dC5fZGVmZXJyZWRzLmxlbmd0aCYmbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxsLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KTtmb3IodmFyIGU9MCxuPXQuX2RlZmVycmVkcy5sZW5ndGg7ZTxuO2UrKylwKHQsdC5fZGVmZXJyZWRzW2VdKTt0Ll9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiB5KHQsZSxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIHcodCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbih0KXtufHwobj0hMCxmKGUsdCkpfSxmdW5jdGlvbih0KXtufHwobj0hMCxkKGUsdCkpfSl9Y2F0Y2godCl7aWYobilyZXR1cm47bj0hMCxkKGUsdCl9fWwucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRoZW4obnVsbCx0KX0sbC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LGUpe3ZhciBuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHUpO3JldHVybiBwKHRoaXMsbmV3IHkodCxlLG4pKSxufSxsLnByb3RvdHlwZS5maW5hbGx5PXIsbC5hbGw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKGUsbil7aWYoIWModCkpcmV0dXJuIG4obmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09ci5sZW5ndGgpcmV0dXJuIGUoW10pO3ZhciBvPXIubGVuZ3RoO2Z1bmN0aW9uIGkodCxzKXt0cnl7aWYocyYmKCJvYmplY3QiPT10eXBlb2Ygc3x8ImZ1bmN0aW9uIj09dHlwZW9mIHMpKXt2YXIgYT1zLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpcmV0dXJuIHZvaWQgYS5jYWxsKHMsZnVuY3Rpb24oZSl7aSh0LGUpfSxuKX1yW3RdPXMsMD09PS0tbyYmZShyKX1jYXRjaCh0KXtuKHQpfX1mb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKylpKHMscltzXSl9KX0sbC5hbnk9cyxsLmFsbFNldHRsZWQ9byxsLnJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PWw/dDpuZXcgbChmdW5jdGlvbihlKXtlKHQpfSl9LGwucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe24odCl9KX0sbC5yYWNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe2lmKCFjKHQpKXJldHVybiBuKG5ldyBUeXBlRXJyb3IoIlByb21pc2UucmFjZSBhY2NlcHRzIGFuIGFycmF5IikpO2Zvcih2YXIgcj0wLG89dC5sZW5ndGg7cjxvO3IrKylsLnJlc29sdmUodFtyXSkudGhlbihlLG4pfSl9LGwuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKHQpe3NldEltbWVkaWF0ZSh0KX18fGZ1bmN0aW9uKHQpe2EodCwwKX0sbC5fdW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24odCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLHQpfTtjb25zdCB2PWw7dmFyIGc9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYpcmV0dXJuIHNlbGY7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvdztpZih2b2lkIDAhPT1uLmcpcmV0dXJuIG4uZzt0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCIpfSgpOyJmdW5jdGlvbiIhPXR5cGVvZiBnLlByb21pc2U/Zy5Qcm9taXNlPXY6KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1yKSxnLlByb21pc2UuYWxsU2V0dGxlZHx8KGcuUHJvbWlzZS5hbGxTZXR0bGVkPW8pLGcuUHJvbWlzZS5hbnl8fChnLlByb21pc2UuYW55PXMpKX0sMzQ1KHQsZSxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuU21hcnRzdXBwTG9hZGVyPXZvaWQgMDt2YXIgcj1uKDc0MCksbz1uKDg5MyksaT1uKDEzMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5vcHRpb25zPXQsdGhpcy53aWRnZXRzPXt9LHRoaXMuY2hhdHM9dGhpcy53aWRnZXRzfXJldHVybiB0LnByb3RvdHlwZS5zZXREZWZhdWx0cz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpc30sdC5wcm90b3R5cGUuZ2V0Q2hhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53aWRnZXRzW3RdfSx0LnByb3RvdHlwZS5nZXRXaWRnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud2lkZ2V0c1t0XX0sdC5wcm90b3R5cGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSxuLHMpe3ZhciBjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7YShjKTt2YXIgdT10aGlzLndpZGdldHNbdF09bmV3IGkuU21hcnRzdXBwV2lkZ2V0KHQsYyxuKTtyZXR1cm4gdS5faW5pdFByb21pc2U9KDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKHQpe3ZhciBuPSgwLG8ucGFyc2VKU09OKSh0KTtyZXR1cm4gZGVsZXRlIGUuZmVhdHVyZXMsdS5pbml0KCgwLG8ubWVyZ2VEZWVwKShuLGUpLG4uZmVhdHVyZXMpLGUmJmUud2lkZ2V0VHJhY2tlckVuYWJsZWQmJigwLHIudHJhY2tPcHRpb25zKSh1Lm9wdGlvbnMsT2JqZWN0LmtleXMoZSkpLHdpbmRvdy5zbWFydHN1cHAuZ2V0QXNzZXRVcmw9dS5nZXRBc3NldFVybC5iaW5kKHUpLHMmJnModm9pZCAwLHUpLHUub3B0aW9ucy5yZW5kZXJUbyYmdS5yZW5kZXIodS5vcHRpb25zLnJlbmRlclRvKSxudWxsfSkuY2F0Y2goZnVuY3Rpb24odCl7cyYmcyh0KX0pLHV9LHQucHJvdG90eXBlLmNyZWF0ZVdpZGdldD1mdW5jdGlvbih0LGUsbil7dmFyIHM9dGhpcyxjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7cmV0dXJuIGEoYyksKDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKGEpe3ZhciB1PSgwLG8ucGFyc2VKU09OKShhKSxsPXMud2lkZ2V0c1t0XT1uZXcgaS5TbWFydHN1cHBXaWRnZXQodCxjLG4pO3JldHVybiBkZWxldGUgZS5mZWF0dXJlcyxsLmluaXQoKDAsby5tZXJnZURlZXApKHUsZSksdS5mZWF0dXJlcyksZSYmZS53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsci50cmFja09wdGlvbnMpKGwub3B0aW9ucyxPYmplY3Qua2V5cyhlKSksd2luZG93LnNtYXJ0c3VwcC5nZXRBc3NldFVybD1sLmdldEFzc2V0VXJsLmJpbmQobCksbH0pfSx0fSgpO2UuU21hcnRzdXBwTG9hZGVyPXM7dmFyIGE9ZnVuY3Rpb24odCl7aWYoIXQuYm9vdHN0cmFwVXJsKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24gYm9vdHN0cmFwVXJsIik7aWYoIXQua2V5KXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24ga2V5Iil9fSw3NDAodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBzKHQpe3RyeXtjKHIubmV4dCh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYSh0KXt0cnl7YyhyLnRocm93KHQpKX1jYXRjaCh0KXtpKHQpfX1mdW5jdGlvbiBjKHQpe3ZhciBlO3QuZG9uZT9vKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSkpLnRoZW4ocyxhKX1jKChyPXIuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX0sbz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0LGUpe3ZhciBuLHIsbyxpLHM9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGk9e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoaVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxpO2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBmdW5jdGlvbihhKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2kmJihpPTAsYVswXSYmKHM9MCkpLHM7KXRyeXtpZihuPTEsciYmKG89MiZhWzBdP3IucmV0dXJuOmFbMF0/ci50aHJvd3x8KChvPXIucmV0dXJuKSYmby5jYWxsKHIpLDApOnIubmV4dCkmJiEobz1vLmNhbGwocixhWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gocj0wLG8mJihhPVsyJmFbMF0sby52YWx1ZV0pLGFbMF0pe2Nhc2UgMDpjYXNlIDE6bz1hO2JyZWFrO2Nhc2UgNDpyZXR1cm4gcy5sYWJlbCsrLHt2YWx1ZTphWzFdLGRvbmU6ITF9O2Nhc2UgNTpzLmxhYmVsKysscj1hWzFdLGE9WzBdO2NvbnRpbnVlO2Nhc2UgNzphPXMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKG89KG89cy50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSl8fDYhPT1hWzBdJiYyIT09YVswXSkpe3M9MDtjb250aW51ZX1pZigzPT09YVswXSYmKCFvfHxhWzFdPm9bMF0mJmFbMV08b1szXSkpe3MubGFiZWw9YVsxXTticmVha31pZig2PT09YVswXSYmcy5sYWJlbDxvWzFdKXtzLmxhYmVsPW9bMV0sbz1hO2JyZWFrfWlmKG8mJnMubGFiZWw8b1syXSl7cy5sYWJlbD1vWzJdLHMub3BzLnB1c2goYSk7YnJlYWt9b1syXSYmcy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlfWE9ZS5jYWxsKHQscyl9Y2F0Y2godCl7YT1bNix0XSxyPTB9ZmluYWxseXtuPW89MH1pZig1JmFbMF0pdGhyb3cgYVsxXTtyZXR1cm57dmFsdWU6YVswXT9hWzFdOnZvaWQgMCxkb25lOiEwfX0oW2EsY10pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnRyYWNrT3BlcmF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcyxmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fHMuaW5kZXhPZihlKT49MHx8YS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk+PTApcmV0dXJuWzIsITFdO24ubGFiZWw9MTtjYXNlIDE6cmV0dXJuIG4udHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCwoMCxpLnJlcXVlc3QpKHQud2lkZ2V0VHJhY2tlclVybCsiL3RyYWNrL29wZXJhdGlvbj9rZXk9Ii5jb25jYXQodC5rZXksIiZvcGVyYXRpb249IikuY29uY2F0KGUsIiZkb21haW49IikuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkpXTtjYXNlIDI6cmV0dXJuIG4uc2VudCgpLFsyLCEwXTtjYXNlIDM6cmV0dXJuIG4uc2VudCgpLFsyLCExXTtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUudHJhY2tPcHRpb25zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIG8odGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fGEuaW5kZXhPZih3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpPj0wKXJldHVyblsyLCExXTtpZigwPT09KG49ZS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGMuaW5kZXhPZih0KTwwfSkpLmxlbmd0aClyZXR1cm5bMiwhMV07ci5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gci50cnlzLnB1c2goWzEsMywsNF0pLFs0LCgwLGkucmVxdWVzdCkodC53aWRnZXRUcmFja2VyVXJsKyIvdHJhY2svb3B0aW9ucz9rZXk9Ii5jb25jYXQodC5rZXksIiZvcHRpb25zPSIpLmNvbmNhdChuLmpvaW4oIiwiKSwiJmRvbWFpbj0iKS5jb25jYXQod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSldO2Nhc2UgMjpyZXR1cm4gci5zZW50KCksWzIsITBdO2Nhc2UgMzpyZXR1cm4gci5zZW50KCksWzIsITFdO2Nhc2UgNDpyZXR1cm5bMl19fSl9KX07dmFyIGk9big4OTMpLHM9WyJodG1sOmFwcGx5IiwiY2hhdDptZXNzYWdlIiwib24iXSxhPVsid3d3LnNtYXJ0c3VwcC5jb20iLCJhcHAuc21hcnRzdXBwLmNvbSJdLGM9WyJrZXkiLCJnYU9wdGlvbnMiLCJnYU5hbWUiLCJjb29raWVQcmVmaXgiLCJjb29raWVQYXRoIiwiY3Jvc3NEb21haW5FbmFibGVkIiwicG9zaXRpb24iLCJvcGVuT25UcmlnZ2VyIl19LDg5Myh0LGUpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5wYXJzZUpTT049ZS5yZXF1ZXN0PWUuY3JlYXRlTGluaz1lLmNyZWF0ZVNjcmlwdD1lLnJlc29sdmVUYXJnZXRFbGVtZW50PWUubWVyZ2VEZWVwPXZvaWQgMDt2YXIgbj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0fTtlLm1lcmdlRGVlcD1mdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3JdPWFyZ3VtZW50c1tyXTt2YXIgbz17fTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9b1tyXSxzPXRbcl07dm9pZCAwIT09cyYmKEFycmF5LmlzQXJyYXkoaSl8fEFycmF5LmlzQXJyYXkocyk/b1tyXT1zOm4oaSkmJm4ocyk/b1tyXT0oMCxlLm1lcmdlRGVlcCkoaSxzKTpvW3JdPXMpfSl9KSxvfSxlLnJlc29sdmVUYXJnZXRFbGVtZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudD90OiJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTpkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdfSxlLmNyZWF0ZVNjcmlwdD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cmV0dXJuIG4udHlwZT0idGV4dC9qYXZhc2NyaXB0IixuLmNoYXJzZXQ9InV0ZjgiLGUmJihuLnNyYz1lKSxufSxlLmNyZWF0ZUxpbms9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtyZXR1cm4gZSYmKG4uaHJlZj1lKSxufSxlLnJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWUucmVhZHlTdGF0ZSYmKGUuc3RhdHVzPj0yMDAmJmUuc3RhdHVzPDMwMD9uKGUucmVzcG9uc2UpOnIobmV3IEVycm9yKCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAiLmNvbmNhdChlLnN0YXR1cykpKSl9LGUub3BlbigiR0VUIix0LCEwKSxlLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsInRleHQvcGxhaW4iKSxlLnNlbmQoKX0pfSxlLnBhcnNlSlNPTj1mdW5jdGlvbih0KXtpZihKU09OLnBhcnNlKXJldHVybiBKU09OLnBhcnNlKHQpO2lmKEpTT04uZGVjb2RlKXJldHVybiBKU09OLmRlY29kZSh0KTt0aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBwYXJzZSBqc29uLiIpfX0sMTMwKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gcyh0KXt0cnl7YyhyLm5leHQodCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGEodCl7dHJ5e2Moci50aHJvdyh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYyh0KXt2YXIgZTt0LmRvbmU/byh0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pKS50aGVuKHMsYSl9Yygocj1yLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9LG89dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBhKGEpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtpJiYoaT0wLGFbMF0mJihzPTApKSxzOyl0cnl7aWYobj0xLHImJihvPTImYVswXT9yLnJldHVybjphWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLHI9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChvPShvPXMudHJ5cykubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pfHw2IT09YVswXSYmMiE9PWFbMF0pKXtzPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtzLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnMubGFiZWw8b1sxXSl7cy5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZzLmxhYmVsPG9bMl0pe3MubGFiZWw9b1syXSxzLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1hPWUuY2FsbCh0LHMpfWNhdGNoKHQpe2E9WzYsdF0scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFthLGNdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBXaWRnZXQ9dm9pZCAwO3ZhciBpPW4oNzQwKSxzPW4oODkzKSxhPXdpbmRvdyxjPSItYXBwbGljYXRpb24taWZyYW1lIix1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7aWYodm9pZCAwPT09biYmKG49W10pLHRoaXMuaWQ9dCx0aGlzLm9wdGlvbnM9ZSx0aGlzLl9wdXNoQXBpPW4sdGhpcy5yZW5kZXJlZD0hMSx0aGlzLmFwaT1udWxsLHRoaXMuZWw9bnVsbCx0aGlzLmZyYW1lPW51bGwsdGhpcy52ZXJzaW9uPTIsdGhpcy5pbml0aWFsaXplZD0hMSwhZS5ib290c3RyYXBVcmwpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBib290c3RyYXBVcmwiKTtpZighZS5rZXkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBrZXkiKX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLHMubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpcy5mZWF0dXJlcyYmKHRoaXMuZmVhdHVyZXMucmF0aW5nfHwodGhpcy5vcHRpb25zLnJhdGluZ0VuYWJsZWQ9ITEpLHRoaXMuZmVhdHVyZXMuZ3JvdXBzfHwodGhpcy5vcHRpb25zLmdyb3VwU2VsZWN0RW5hYmxlZD0hMSksdGhpcy5mZWF0dXJlcy5jdXN0b21pemV8fCh0aGlzLm9wdGlvbnMuaGlkZVdpZGdldD0hMSx0aGlzLm9wdGlvbnMuaGlkZU9mZmxpbmVDaGF0PSExLHRoaXMub3B0aW9ucy5udW1iZXJDb250cm9sPSExLHRoaXMub3B0aW9ucy5yZXF1aXJlTG9naW49ITEsdGhpcy5vcHRpb25zLnByaXZhY3lOb3RpY2VFbmFibGVkPSEwLHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj0icmlnaHQiKSx0aGlzLmZlYXR1cmVzLmdhfHwodGhpcy5vcHRpb25zLmdvb2dsZUFuYWx5dGljc0VuYWJsZWQ9ITEpKSx0aGlzfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSl7dGhpcy5mZWF0dXJlcz1lLHRoaXMuc2V0T3B0aW9ucyh0KSx0aGlzLmluaXRpYWxpemVkPSEwLCJhdXRvIj09PXRoaXMub3B0aW9ucy5wb3NpdGlvbiYmKHRoaXMub3B0aW9ucy5wb3NpdGlvbj10aGlzLm9wdGlvbnMucmVuZGVyVG8/InJlbGF0aXZlIjoiZml4ZWQiKX0sdC5wcm90b3R5cGUuY3JlYXRlRnJhbWU9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC5pZD0iIi5jb25jYXQodGhpcy5pZCkuY29uY2F0KGMpLHQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlNtYXJ0c3VwcCIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdC5zdHlsZS50b3A9IjAiLHQuc3R5bGUubGVmdD0iMCIsdC5zdHlsZS53aWR0aD0iMXB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLm9wYWNpdHk9IjAiLHQuc3R5bGUuYm9yZGVyPSJub25lIix0LnN0eWxlLnpJbmRleD0iLTEiLHQuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsdH0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBvKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5faW5pdFByb21pc2U/WzQsdGhpcy5faW5pdFByb21pc2VdOlszLDJdO2Nhc2UgMTpuLnNlbnQoKSxuLmxhYmVsPTI7Y2FzZSAyOmlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQrYykpcmV0dXJuWzJdO2lmKCF0aGlzLmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIGluaXRpYWxpemUgd2lkZ2V0Iik7aWYoIShlPSgwLHMucmVzb2x2ZVRhcmdldEVsZW1lbnQpKHQpKSl0aHJvdyBuZXcgRXJyb3IoInRhcmdldCBlbGVtZW50IG5vdCBmb3VuZCIpO3JldHVybiB0aGlzLnJlbmRlckZyYW1lKGUpLHRoaXMucmVuZGVyZWQ9ITAsWzJdfX0pfSl9LHQucHJvdG90eXBlLnJlbmRlckZyYW1lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLmZyYW1lPXRoaXMuY3JlYXRlRnJhbWUoKTtuLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7dmFyIHQsaSxhPW51bGwhPT0odD1uLmNvbnRlbnREb2N1bWVudCkmJnZvaWQgMCE9PXQ/dDpudWxsPT09KGk9bi5jb250ZW50V2luZG93KXx8dm9pZCAwPT09aT92b2lkIDA6aS5kb2N1bWVudDtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIERvY3VtZW50Iik7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLHU9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3UuaWQ9ImJvZHkiLHUuZGF0YXNldC5zbWFydHN1cHBJZD1lLmlkLHUuaW5uZXJIVE1MPSc8ZGl2IGlkPSJhcHAiPjwvZGl2Pic7dmFyIGw9InNyYy9tYWluLnRzIixwPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlU2NyaXB0KShhLGUuZ2V0QmFzZVVybCgpKyIvIi5jb25jYXQodCkpO24udHlwZT0ibW9kdWxlIixjLmFwcGVuZENoaWxkKG4pfSxmPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlTGluaykoYSwiIi5jb25jYXQoZS5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCkpO24ucmVsPSJzdHlsZXNoZWV0IixuLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLGMuYXBwZW5kQ2hpbGQobil9O2Uub3B0aW9ucy53aWRnZXRWM0Rldk1vZGU/WyJAdml0ZS9jbGllbnQiLGxdLmZvckVhY2gocCk6cihlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdCxuLHIsaTtyZXR1cm4gbyh0aGlzLGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsKDAscy5yZXF1ZXN0KSgiIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi9tYW5pZmVzdC5qc29uIikpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuKDAscy5wYXJzZUpTT04pKHQpfSldO2Nhc2UgMTpyZXR1cm4gdD1vLnNlbnQoKSxuPXRbbF0scChuLmZpbGUpLG51bGw9PT0ocj1uLmltcG9ydHMpfHx2b2lkIDA9PT1yfHxyLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHIsbztyPXRbbl0uZmlsZSwobz0oMCxzLmNyZWF0ZUxpbmspKGEsIiIuY29uY2F0KGUuZ2V0QmFzZVVybCgpLCIvIikuY29uY2F0KHIpKSkucmVsPSJtb2R1bGVwcmVsb2FkIixjLmFwcGVuZENoaWxkKG8pfSksbnVsbD09PShpPW4uY3NzKXx8dm9pZCAwPT09aXx8aS5mb3JFYWNoKGYpLGYodFsic3R5bGUuY3NzIl0uZmlsZSksWzJdfX0pfSl9KSx0LmFwcGVuZENoaWxkKG4pfSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5lbCYmdGhpcy5lbC5wYXJlbnROb2RlJiYodGhpcy5lbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWwpLHRoaXMuZWw9bnVsbCl9LHQucHJvdG90eXBlLmdldE9wdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10aGlzLm9wdGlvbnNbdF0/ZTp0aGlzLm9wdGlvbnNbdF19LHQucHJvdG90eXBlLmdldEJhc2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLndpZGdldFYzVXJsfSx0LnByb3RvdHlwZS5nZXRBc3NldFVybD1mdW5jdGlvbih0KXtyZXR1cm4iIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCl9LHQucHJvdG90eXBlLmdldEludGVybmFsQXBpVXJsPWZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KHRoaXMub3B0aW9ucy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KHRoaXMub3B0aW9ucy5rZXksIi9jb2RlLmpzIil9LHQucHJvdG90eXBlLmV4ZWM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dGhpcy5fcHVzaEFwaS5wdXNoKHQpfSx0LnByb3RvdHlwZS5pbnN0YWxsQXBpPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYodGhpcy5hcGk9dCxhLnNtYXJ0c3VwcC5hcGk9dCx0aGlzLl9wdXNoQXBpJiYodGhpcy5fcHVzaEFwaS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4sMCk7dHJ5e2Uub3B0aW9ucy53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsaS50cmFja09wZXJhdGlvbikoZS5vcHRpb25zLHJbMF0pLHQuZXhlY3V0ZShyKX1jYXRjaCh0KXtjb25zb2xlLmxvZyh0KX19KSx0aGlzLl9wdXNoQXBpLnB1c2g9ZnVuY3Rpb24obil7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwKTt0cnl7ZS5vcHRpb25zLndpZGdldFRyYWNrZXJFbmFibGVkJiYoMCxpLnRyYWNrT3BlcmF0aW9uKShlLm9wdGlvbnMsclswXSksdC5leGVjdXRlKHIpfWNhdGNoKHQpe2NvbnNvbGUubG9nKHQpfX0pLHRoaXMub3B0aW9ucy5vblN0YXJ0dXApdHJ5e3RoaXMub3B0aW9ucy5vblN0YXJ0dXAodCl9Y2F0Y2godCl7Y29uc29sZS5sb2codCl9fSx0fSgpO2UuU21hcnRzdXBwV2lkZ2V0PXV9fSxlPXt9O2Z1bmN0aW9uIG4ocil7dmFyIG89ZVtyXTtpZih2b2lkIDAhPT1vKXJldHVybiBvLmV4cG9ydHM7dmFyIGk9ZVtyXT17ZXhwb3J0czp7fX07cmV0dXJuIHRbcl0uY2FsbChpLmV4cG9ydHMsaSxpLmV4cG9ydHMsbiksaS5leHBvcnRzfW4uZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKHQpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLCgoKT0+eyJ1c2Ugc3RyaWN0IjtuKDc2MSk7dmFyIHQ9big3MTUpLGU9bigzNDUpLHI9ImNoYXQiO2lmKHdpbmRvdy5zbWFydHN1cHB8fCh3aW5kb3cuc21hcnRzdXBwPWZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcC5fLnB1c2goYXJndW1lbnRzKX0sd2luZG93LnNtYXJ0c3VwcC5fPVtdKSwhd2luZG93LlNNQVJUU1VQUF9MT0FERUQpe3dpbmRvdy5TTUFSVFNVUFBfTE9BREVEPSEwO3ZhciBvPW5ldyBlLlNtYXJ0c3VwcExvYWRlcih7d2lkZ2V0VmVyc2lvbjozLGJvb3RzdHJhcFVybDoiaHR0cHM6Ly9ib290c3RyYXAuc21hcnRzdXBwY2hhdC5jb20iLGZpbGVzVXJsOiJodHRwczovL2ZpbGVzLnNtYXJ0c3VwcGNkbi5jb20iLHdpZGdldFYzVXJsOiJodHRwczovL3dpZGdldC12My5zbWFydHN1cHBjZG4uY29tIixzdG9yYWdlVXJsOiJodHRwczovL3trZXl9LnN0b3JhZ2Uuc21hcnRzdXBwY2hhdC5jb20iLHdpZGdldEFwaVVybDoiaHR0cHM6Ly9hcGkuc21hcnRzdXBwY2hhdC5jb20iLHpJbmRleDoxZTcscG9zaXRpb246ImF1dG8iLG9yaWVudGF0aW9uOiJyaWdodCIsYXV0b0lubGluZU1vZGU6ITAsd2lkZ2V0VjNEZXZNb2RlOiExfSk7d2luZG93LiRzbWFydHN1cHA9byx3aW5kb3cuc21hcnRzdXBwPU9iamVjdC5hc3NpZ24od2luZG93LnNtYXJ0c3VwcCx7Y2hhdHM6by53aWRnZXRzLGNyZWF0ZTpvLmNyZWF0ZS5iaW5kKG8pLGNyZWF0ZVdpZGdldDpvLmNyZWF0ZVdpZGdldC5iaW5kKG8pLGdldENoYXQ6by5nZXRDaGF0LmJpbmQobyksZ2V0V2lkZ2V0Om8uZ2V0V2lkZ2V0LmJpbmQobyksc2V0RGVmYXVsdHM6by5zZXREZWZhdWx0cy5iaW5kKG8pfSksITEhPT13aW5kb3cuU01BUlRTVVBQX0FVVE9DUkVBVEUmJighMD09PXdpbmRvdy5TTUFSVFNVUFBfQkZDQUNIRSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZnVuY3Rpb24oKXt2YXIgdDtudWxsPT09KHQ9d2luZG93LnNtYXJ0c3VwcC5nZXRXaWRnZXQocikpfHx2b2lkIDA9PT10fHx0LnJlbmRlcigpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsZnVuY3Rpb24oKXt2YXIgdCxlO251bGw9PT0odD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIi5jb25jYXQociwiLWFwcGxpY2F0aW9uLWlmcmFtZSIpKSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlKCksbnVsbD09PShlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzbWFydHN1cHAtd2lkZ2V0LWNvbnRhaW5lciIpKXx8dm9pZCAwPT09ZXx8ZS5yZW1vdmUoKX0pKSx0KGZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcCgiaHRtbDphcHBseSIsZG9jdW1lbnQpLG8uY3JlYXRlV2lkZ2V0KHIsd2luZG93Ll9zbWFydHN1cHAsd2luZG93LnNtYXJ0c3VwcC5fKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlbmRlcigpfSkuY2F0Y2goZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKHQpfSl9KSl9fSkoKX0pKCk7"}},"time_used":3326,"timings":{"blocked":-1,"dns":35,"connect":8,"send":0,"wait":8,"receive":0,"ssl":3275},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59941.af22f3ab83cdfcc3935a.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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.768Z","timestamp":1785136901768,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/59941.af22f3ab83cdfcc3935a.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-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: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 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-2da\"\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:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 53ba30169391aa166c2e0f7b45e8f826\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":730,"size_decoded":1064,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (730), with no line terminators","md5":"d829b77313e592f8d1913e78559754cd","sha1":"4bb78c4325498d327399604dd0dd90aa01fc6c87","sha256":"fdce8cb0a541548e40c8119d9c9bfcf3a9759dab795202f5302b4806a5938d50","sha512":"b1fa8c3f6815776f559376b98c708080898a95bd9128718fed3bb876db210241ae2be25002f53de0843ab5eb05c194a2f2f7f4a0b1000577797bf91ad7dbce5b","ssdeep":"","tlshash":"eb0128dea3465539e633dd73035783cb3004f6a28d389919fa44e92544cf7f04424d0e","first_seen":"2025-07-09T16:57:52.264591Z","last_seen":"2026-08-10T08:00:01.093872Z","times_seen":11300,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVDJTTzp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1UMlNPOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtVDJTTzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLV8xLVQyU086dmFyKC0tY29sb3Itd2hpdGUpfS5sYWJlbC1lOWM2ZHljVntiYWNrZ3JvdW5kOnZhcigtLV8wLVQyU08pfS5sYWJlbC1lOWM2ZHljViAubG9nb1dyYXAtZTljNmR5Y1Ygc3Zne2hlaWdodDoxMHB4O21hcmdpbjo3cHggMDt3aWR0aDoxN3B4fS5sYWJlbC1lOWM2ZHljViAubG9nb1dyYXAtZTljNmR5Y1Ygc3ZnIHBhdGh7ZmlsbDp2YXIoLS1fMS1UMlNPKX0ubGFiZWwtZTljNmR5Y1YgLnN2Z1RleHRXcmFwLWU5YzZkeWNWIHN2Z3ttYXJnaW46NnB4IDB9LmxhYmVsLWU5YzZkeWNWIC5zdmdUZXh0V3JhcC1lOWM2ZHljViBzdmcgcGF0aHtmaWxsOnZhcigtLV8xLVQyU08pfS5sYWJlbC1lOWM2ZHljVi5sYXJnZS1lOWM2ZHljVntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJnLXNlY29uZGFyeSl9LmxhYmVsLWU5YzZkeWNWLmxhcmdlLWU5YzZkeWNWIC5sb2dvV3JhcC1lOWM2ZHljViBzdmd7aGVpZ2h0OjExcHg7bWFyZ2luOjExcHggMCAxMHB4O3dpZHRoOjIwcHh9LmxhYmVsLWU5YzZkeWNWLmxhcmdlLWU5YzZkeWNWIC5zdmdUZXh0V3JhcC1lOWM2ZHljViBzdmd7aGVpZ2h0OjE0cHg7bWFyZ2luOjEwcHggMDt3aWR0aDo3N3B4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52065.de9eddb339ac77d1dbf8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.849Z","timestamp":1785136901849,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52065.de9eddb339ac77d1dbf8.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4f5c82-3a3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 09 Jul 2026 08:32:02 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/09/2026 11:43:01\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a351e70f74793ef26e56b37ab3896c88\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":931,"size_decoded":1213,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (931), with no line terminators","md5":"3053a0430cd82554d9d18841226bcf14","sha1":"d36bf12346d438365d482697e192eb89e6c87dac","sha256":"d8e583ee4c6e07de08baade2e2c20f2ee50ce314ce21f56429ce719de2d80225","sha512":"7bf59310bea9e3dac3cef4eb734765099c03b81015f6f3e82b0024a156ac0bfe7d538daee6ff98605ea047dd495b5e9d79168d8c7f9e9788fed9cfd27e8a819d","ssdeep":"","tlshash":"bf11145751b7a222b4262a320741ce4da300cd375884dab5ee808a3cc3c999136d1b3d","first_seen":"2026-07-09T18:30:19.462745Z","last_seen":"2026-08-10T05:00:33.785322Z","times_seen":135,"resource_available":false,"data":"LmNvbnRhaW5lci1CWktFTmtoVHthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87cGFkZGluZzowIDIwcHh9LnVuc2V0QWxpZ24tQlpLRU5raFR7YWxpZ24taXRlbXM6c3RyZXRjaH0udGl0bGUtQlpLRU5raFR7Y29sb3I6dmFyKC0tdHYtY29sb3ItZGlhbG9nLWhlYWRlci10ZXh0LHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSkpO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoyOHB4O21pbi13aWR0aDowO3BhZGRpbmc6MTdweCAwfUBtZWRpYSAobWF4LWhlaWdodDozNjBweCl7LnRpdGxlLUJaS0VOa2hUe3BhZGRpbmc6MTBweCAwfX0uc3VidGl0bGUtQlpLRU5raFR7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luLWJsb2NrOjhweCAzcHg7bWFyZ2luLWlubGluZTowIDB9LnRleHRXcmFwLUJaS0VOa2hUe2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtsaW5lLWhlaWdodDoyOHB4O21heC1oZWlnaHQ6NTZweH0uZWxsaXBzaXMtQlpLRU5raFR7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jbG9zZS1CWktFTmtoVHtjb2xvcjp2YXIoLS10di1jb2xvci1kaWFsb2ctaGVhZGVyLXRleHQsdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KSk7ZmxleC1zaHJpbms6MDttYXJnaW4tYmxvY2s6MTdweCAxN3B4O21hcmdpbi1pbmxpbmU6MCAtM3B4fUBtZWRpYSAobWF4LWhlaWdodDozNjBweCl7LmNsb3NlLUJaS0VOa2hUe21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tdG9wOjEwcHh9fS5pY29uLUJaS0VOa2hUe2hlaWdodDoxN3B4fQ=="}},"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_screener_v1_widget.3c6dcb48241b38ad20cd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.992Z","timestamp":1785136900992,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/embed_screener_v1_widget.3c6dcb48241b38ad20cd.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-9324c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:53:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6e7671e8281b95daf32d50254765bc0a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":602700,"size_decoded":163680,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (6334)","md5":"b07d7762afc64303abb48d31f9b49b37","sha1":"1c890e25377b837bc68ec086492e285e65d16c18","sha256":"1eb5c13d7babdf9d1b73d7ad5a55022781e5d3f382adc1ee187565d64a40827f","sha512":"a8f88cc675c375635ddd8bede571efff87e5328f1d0d90c979d7b07ebc0ae4eb81802b64a9d6eff50ce17142110fbbb224ff8fc3c4c22a1338431110a908c8b5","ssdeep":"12288:N5WOCvvhWwgPkUciIrBbM37JDMclwUYGZTw7yhLrLl1wrFh:N5WOitgPkDiIrBbM37JDMclwUYGZTw7N","tlshash":"8dd43a71a1a5293011f6c2dad8b66406623d2647f80604adfe7d8cdf168ee45f13bf3a","first_seen":"2026-07-25T03:24:57.336653Z","last_seen":"2026-07-28T04:58:42.134177Z","times_seen":291,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjk2NSw0NjQ4Miw2NDAxOSw4MDkzOSw4NTYwNyw4NjkxNCw5MTI5Ml0sezg0ODUyNyhlKXtlLmV4cG9ydHM9e319LDE5NjIxKGUpe2UuZXhwb3J0cz17bGlzdDoibGlzdC1HTlc2QnZHbyIsaXRlbToiaXRlbS1HTlc2QnZHbyJ9fSw5MjQ1MDcoZSl7ZS5leHBvcnRzPXsidGFibGV0LW5vcm1hbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNzY4cHgpIiwic21hbGwtaGVpZ2h0LWJyZWFrcG9pbnQiOiIobWF4LWhlaWdodDogMzYwcHgpIiwidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkifX0sMjQ0NTI1KGUpe2UuZXhwb3J0cz17bG9hZGVyOiJsb2FkZXItTWdmOEVGd0siLHN0YXRpYzoic3RhdGljLU1nZjhFRndLIixpdGVtOiJpdGVtLU1nZjhFRndLIiwidHYtYnV0dG9uLWxvYWRlciI6InR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0siLG1lZGl1bToibWVkaXVtLU1nZjhFRndLIixzbWFsbDoic21hbGwtTWdmOEVGd0siLGJsYWNrOiJibGFjay1NZ2Y4RUZ3SyIsd2hpdGU6IndoaXRlLU1nZjhFRndLIixncmF5OiJncmF5LU1nZjhFRndLIixwcmltYXJ5OiJwcmltYXJ5LU1nZjhFRndLIn19LDg0NTU3NyhlKXtlLmV4cG9ydHM9eyJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSCIsInR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtcnRsIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwtajRKbHJZVkgifX0sNjI1NzA5KGUpe2UuZXhwb3J0cz17c21hbGw6InNtYWxsLXRXRElDVGF5IixtZWRpdW06Im1lZGl1bS10V0RJQ1RheSIsbGFyZ2U6ImxhcmdlLXRXRElDVGF5Iixzd2l0Y2hWaWV3OiJzd2l0Y2hWaWV3LXRXRElDVGF5IixjaGVja2VkOiJjaGVja2VkLXRXRElDVGF5IixkaXNhYmxlZDoiZGlzYWJsZWQtdFdESUNUYXkiLHRyYWNrOiJ0cmFjay10V0RJQ1RheSIsdGh1bWI6InRodW1iLXRXRElDVGF5In19LDY4NzU0NyhlKXtlLmV4cG9ydHM9e3N3aXRjaGVyOiJzd2l0Y2hlci1sM0R0S0xzTCIsaW5wdXQ6ImlucHV0LWwzRHRLTHNMIix0aHVtYldyYXBwZXI6InRodW1iV3JhcHBlci1sM0R0S0xzTCIsZGlzYWJsZWQ6ImRpc2FibGVkLWwzRHRLTHNMIixjaGVja2VkOiJjaGVja2VkLWwzRHRLTHNMIn19LDE3MjM3MShlKXtlLmV4cG9ydHM9e319LDc5MDUwMShlKXtlLmV4cG9ydHM9e319LDE2NzU1OShlKXtlLmV4cG9ydHM9e319LDQ4OTc1MihlKXtlLmV4cG9ydHM9e319LDQ1NTU3KGUpe2UuZXhwb3J0cz17fX0sNTUwNzA1KGUpe2UuZXhwb3J0cz17fX0sNTkzMjYzKGUpe2UuZXhwb3J0cz17fX0sOTIyMjA2KGUpe2UuZXhwb3J0cz17fX0sNTUxMjE1KGUpe2UuZXhwb3J0cz17ImZsaWNrLXRoZW1lLWRhcmsiOiJmbGljay10aGVtZS1kYXJrLXpQaVY2U1k0IixmbGljazoiZmxpY2stelBpVjZTWTQifX0sNDQ2OTU2KGUpe2UuZXhwb3J0cz17InR2LXB1bHNlLWFuaW1hdGlvbi1idXR0b24iOiJ0di1wdWxzZS1hbmltYXRpb24tYnV0dG9uLUFSZGJNMHlEIn19LDk1MjY4NihlKXtlLmV4cG9ydHM9e319LDk3NTI0NChlKXtlLmV4cG9ydHM9e319LDExMjYxMyhlKXtlLmV4cG9ydHM9e319LDgwNDYxOShlKXtlLmV4cG9ydHM9e319LDE1Mzc3KGUpe2UuZXhwb3J0cz17bW9kZVRpdGxlOiJtb2RlVGl0bGUtanNUM1M0TUEiLG1vZGVUaXRsZUFjdGl2ZToibW9kZVRpdGxlQWN0aXZlLWpzVDNTNE1BIixzd2l0Y2hlckNvbnRhaW5lcjoic3dpdGNoZXJDb250YWluZXItanNUM1M0TUEifX0sMzUxODI3KGUpe2UuZXhwb3J0cz17bGluazoibGluay1VSVFwTExOcyJ9fSw0NTAyOTUoZSl7ZS5leHBvcnRzPXt9fSw0NDM2MjAoZSl7ZS5leHBvcnRzPXt9fSw2NjIzOTIoZSl7ZS5leHBvcnRzPXt9fSwxMTQwNjgoZSl7ZS5leHBvcnRzPXsiY29tbW9uLXRvb2x0aXAiOiJjb21tb24tdG9vbHRpcC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1oaWRkZW4iOiJjb21tb24tdG9vbHRpcC0taGlkZGVuLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwiOiJjb21tb24tdG9vbHRpcC0taG9yaXpvbnRhbC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyIjoiY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tdmVydGljYWwiOiJjb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC1mYXJ0aGVyIjoiY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsIjoiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keSI6ImNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXIiOiJjb21tb24tdG9vbHRpcF9fYnV0dG9uLWNvbnRhaW5lci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zIjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYnV0dG9uIjoiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQiOiJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXIiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdyI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZSI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVmb3JlLUVKQkQ5NnpYIiwKImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlIjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX3dpZGUtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfbmFycm93IjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX25hcnJvdy1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nIjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLXBhZGRpbmctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXIiOiJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0IjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0LUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24iOiJjb21tb24tdG9vbHRpcF9faG90a2V5LWJ1dHRvbi1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19wbHVzLXNpZ24iOiJjb21tb24tdG9vbHRpcF9fcGx1cy1zaWduLUVKQkQ5NnpYIn19LDg1NzAxOShlKXtlLmV4cG9ydHM9e319LDI2MjMxOShlKXtlLmV4cG9ydHM9e319LDk1MDc3MShlKXtlLmV4cG9ydHM9e319LDgzMjIyNihlKXtlLmV4cG9ydHM9e319LDIwMjgxNShlKXtlLmV4cG9ydHM9e319LDM3NjQ1MChlKXtlLmV4cG9ydHM9e319LDYzODI4MihlKXtlLmV4cG9ydHM9e319LDg1NTc0MihlKXtlLmV4cG9ydHM9e319LDYyNTQxMShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItUFE1T18xTTciLHRvdWNoOiJ0b3VjaC1QUTVPXzFNNyJ9fSwyODY4MjAoZSl7ZS5leHBvcnRzPXt9fSwxMzMyNDMoZSl7ZS5leHBvcnRzPXt9fSwxMjE2NDUoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1IVEJKbzliYSIsdG9wOiJ0b3AtSFRCSm85YmEifX0sNTcyMjQ5KGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC15emo3bHZLbiIsbGlzdDoibGlzdC15emo3bHZLbiIsaXRlbToiaXRlbS15emo3bHZLbiIsc2VsZWN0ZWQ6InNlbGVjdGVkLXl6ajdsdktuIixibHVpc2hJdGVtOiJibHVpc2hJdGVtLXl6ajdsdktuIixub1BhZGRpbmc6Im5vUGFkZGluZy15emo3bHZLbiJ9fSw2ODAyNShlKXtlLmV4cG9ydHM9e2VsZW1lbnRXcmFwOiJlbGVtZW50V3JhcC1MZVp3R2lCNiIsaXRlbXNXcmFwOiJpdGVtc1dyYXAtTGVad0dpQjYiLGl0ZW06Iml0ZW0tTGVad0dpQjYiLGFjdGl2ZToiYWN0aXZlLUxlWndHaUI2IixpdGVtQ29udGVudDoiaXRlbUNvbnRlbnQtTGVad0dpQjYiLGRyb3Bkb3duSXRlbToiZHJvcGRvd25JdGVtLUxlWndHaUI2Iixkcm9wZG93bkljb246ImRyb3Bkb3duSWNvbi1MZVp3R2lCNiIsZHJvcGRvd25MaXN0SXRlbToiZHJvcGRvd25MaXN0SXRlbS1MZVp3R2lCNiJ9fSw5MzAyMzEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZW5hYmxlOigpPT5jLGlzRmVhdHVyZXNldEVuYWJsZWQ6KCk9PmF9KTt2YXIgaT1vKDYzNTE4KTtjb25zdCBuPW5ldyBNYXAscj1uZXcgTWFwLHM9bmV3IFNldDtmdW5jdGlvbiBhKGUpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodm9pZCAwIT09dClyZXR1cm4gdDtjb25zdCBvPXIuZ2V0KGUpO3JldHVybiEhbyYmby5zb21lKGEpfWZ1bmN0aW9uIGwoZSx0KXtuLnNldChTdHJpbmcoZSksQm9vbGVhbih0KSl9ZnVuY3Rpb24gYyhlKXtsKGUsITApfSFmdW5jdGlvbigpe2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXMoaSkpaWYocy5hZGQoZSksInN1YnNldHMiaW4gdClmb3IoY29uc3QgbyBvZiB0LnN1YnNldHMpe3MuYWRkKG8pO2xldCB0PXIuZ2V0KG8pO3ZvaWQgMD09PXQmJih0PVtdLHIuc2V0KG8sdCkpLHQucHVzaChlKX19KCksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzJiZBcnJheS5pc0FycmF5KF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2woZSwhMSl9KSksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzKSYmX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goYyl9LDM4NDAxNyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtmZXRjaDooKT0+cn0pO3ZhciBpPW8oMjIxMDYxKTtvKDMwMDI4Nik7Y29uc3Qgbj0oMCxpLmdldExvZ2dlcikoIkZldGNoIik7ZnVuY3Rpb24gcihlLHQsbz17fSl7e2NvbnN0e2xvZ09uRXJyb3JTdGF0dXM6aT0hMCxsb2dCb2R5T25FcnJvcjpyPSExfT1vO3Q9dHx8e30sZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBVUkwoZSxkb2N1bWVudC5iYXNlVVJJKS5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW59KGUpJiYodC5oZWFkZXJzP3QuaGVhZGVycyBpbnN0YW5jZW9mIEhlYWRlcnN8fCh0LmhlYWRlcnM9bmV3IEhlYWRlcnModC5oZWFkZXJzKSk6dC5oZWFkZXJzPW5ldyBIZWFkZXJzLHdpbmRvdy5sb2NhbGUmJnQuaGVhZGVycy5zZXQoIlgtTGFuZ3VhZ2UiLHdpbmRvdy5sb2NhbGUpLHQuaGVhZGVycy5zZXQoIlgtUmVxdWVzdGVkLVdpdGgiLCJYTUxIdHRwUmVxdWVzdCIpKSx2b2lkIDA9PT10LmNyZWRlbnRpYWxzJiYodC5jcmVkZW50aWFscz0ic2FtZS1vcmlnaW4iKTtjb25zdCBzPXdpbmRvdy5mZXRjaChlLHQpO3JldHVybiBzLnRoZW4oKG89PntpZighby5vayYmaSl7bGV0IGk9IiI7dC5tZXRob2QmJihpKz1gJHt0Lm1ldGhvZC50b1VwcGVyQ2FzZSgpfSBgKSxpKz1lLGkrPWAuIFN0YXR1cyAke28uc3RhdHVzfWAsby5zdGF0dXNUZXh0JiYoaSs9YC4gJHtvLnN0YXR1c1RleHR9YCksCm8uaGVhZGVycy52aWEmJihpKz1gLiBWaWE6ICR7by5oZWFkZXJzLnZpYX1gKSxyJiYic3RyaW5nIj09dHlwZW9mIHQuYm9keSYmKGkrPWAuIEJvZHk6ICR7dC5ib2R5LnNsaWNlKDAsMTAyNCl9YCksbi5sb2dFcnJvcihpKX1yZXR1cm4gb30pLChvPT57aWYobyYmIkFib3J0RXJyb3IiPT09by5uYW1lKXJldHVybjtsZXQgaT0iIjt0Lm1ldGhvZCYmKGkrPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLGkrPWUsbmF2aWdhdG9yLm9uTGluZT9pKz1gLiAke1N0cmluZyhvKX1gOmkrPSIuIFVzZXIgaXMgb2ZmbGluZS4iLG4ubG9nRXJyb3IoaSl9KSksc319fSwxNzk3NzEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZW1pdDooKT0+YyxzdWJzY3JpYmU6KCk9PmwsdW5zdWJzY3JpYmU6KCk9PmF9KTt2YXIgaT1vKDk0ODM4MCk7Y29uc3Qgbj17fSxyPVtdLHM9e307ZnVuY3Rpb24gYShlLHQsbyl7bltlXS51bnN1YnNjcmliZShvLHQpfWZ1bmN0aW9uIGwoZSx0LG8scil7bi5oYXNPd25Qcm9wZXJ0eShlKXx8KG5bZV09bmV3IGkuRGVsZWdhdGUpLHNbZV0/dC5jYWxsKG8pOm5bZV0uc3Vic2NyaWJlKG8sdCxyKX1mdW5jdGlvbiBjKGUsLi4udCl7Y29uc3Qgbz1bZV0uY29uY2F0KHQpO3IuZm9yRWFjaCgoZT0+e2UuYXBwbHkobnVsbCxvKX0pKSxuLmhhc093blByb3BlcnR5KGUpJiZuW2VdLmZpcmUuYXBwbHkobltlXSx0KX19LDkzMjM2NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtUVkxvY2FsU3RvcmFnZTooKT0+cn0pO2NvbnN0IGk9KDAsbygyMjEwNjEpLmdldExvZ2dlcikoIlRWTG9jYWxTdG9yYWdlIik7dmFyIG49ZnVuY3Rpb24oKXt0cnl7dGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLmxvY2FsU3RvcmFnZT13aW5kb3cubG9jYWxTdG9yYWdlLHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oInR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSIsInRydWUiKX1jYXRjaChlKXtkZWxldGUgdGhpcy5pc0F2YWlsYWJsZSxkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2V9dGhpcy5fdXBkYXRlTGVuZ3RoKCk7dHJ5e3RoaXMuX3JlcG9ydCgpfWNhdGNoKGUpe319O24ucHJvdG90eXBlLl9yZXBvcnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXtjb25zdCBlPTEwLHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZSsrKXtjb25zdCBvPXRoaXMua2V5KGUpO3QucHVzaCh7a2V5Om8sbGVuZ3RoOlN0cmluZyh0aGlzLmdldEl0ZW0obykpLmxlbmd0aH0pfXQuc29ydCgoKGUsdCk9PnQubGVuZ3RoLWUubGVuZ3RoKSk7Y29uc3Qgbz10LnNsaWNlKDAsZSk7dC5zb3J0KCgoZSx0KT0+dC5rZXkubGVuZ3RoLWUua2V5Lmxlbmd0aCkpO2NvbnN0IG49dC5zbGljZSgwLGUpO2kubG9nTm9ybWFsKGBUb3RhbCBhbW91bnQgb2Yga2V5cyBpbiBMb2NhbCBTdG9yYWdlOiAke3RoaXMubGVuZ3RofWApLGkubG9nTm9ybWFsKGBUb3AgJHtlfSBrZXlzIHdpdGggbG9uZ2VzdCB2YWx1ZXM6ICR7SlNPTi5zdHJpbmdpZnkobyl9YCksaS5sb2dOb3JtYWwoYFRvcCAke2V9IGxvbmdlc3Qga2V5IG5hbWVzOiAke0pTT04uc3RyaW5naWZ5KG4pfWApO3RyeXtuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpLnRoZW4oKGU9PntpLmxvZ05vcm1hbChgU3RvcmFnZSBlc3RpbWF0ZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKX0pKX1jYXRjaChlKXt9fX0sbi5wcm90b3R5cGUubGVuZ3RoPTAsbi5wcm90b3R5cGUuaXNBdmFpbGFibGU9ITEsbi5wcm90b3R5cGUubG9jYWxTdG9yYWdlPXsidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIjoiZmFsc2UifSxuLnByb3RvdHlwZS5fdXBkYXRlTGVuZ3RoPWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl0aGlzLmxlbmd0aD10aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZWxzZXt2YXIgZSx0PTA7Zm9yKGUgaW4gdGhpcy5sb2NhbFN0b3JhZ2UpdGhpcy5sb2NhbFN0b3JhZ2UuaGFzT3duUHJvcGVydHkoZSkmJnQrKzt0aGlzLmxlbmd0aD10fX0sbi5wcm90b3R5cGUua2V5PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmtleShlKTpPYmplY3Qua2V5cyh0aGlzLmxvY2FsU3RvcmFnZSlbZV19LG4ucHJvdG90eXBlLmdldEl0ZW09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTp2b2lkIDA9PT10aGlzLmxvY2FsU3RvcmFnZVtlXT9udWxsOnRoaXMubG9jYWxTdG9yYWdlW2VdfSxuLnByb3RvdHlwZS5zZXRJdGVtPWZ1bmN0aW9uKGUsdCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGUsdCk6dGhpcy5sb2NhbFN0b3JhZ2VbZV09dCx0aGlzLl91cGRhdGVMZW5ndGgoKX0sbi5wcm90b3R5cGUucmVtb3ZlSXRlbT1mdW5jdGlvbihlKXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZSk6ZGVsZXRlIHRoaXMubG9jYWxTdG9yYWdlW2VdLHRoaXMuX3VwZGF0ZUxlbmd0aCgpfSxuLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UuY2xlYXIoKTp0aGlzLmxvY2FsU3RvcmFnZT17fSx0aGlzLl91cGRhdGVMZW5ndGgoKX07Y29uc3Qgcj1uZXcgbjt3aW5kb3cuVFZMb2NhbFN0b3JhZ2U9cn0sODY1NTYwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1RWQXBwQ29udGV4dDooKT0+YyxUVkFwcENvbnRleHRQcm92aWRlcjooKT0+bH0pO3ZhciBpPW8oNzc5NDc0KSxuPW8oMTE1MjkzKSxyPW8oOTk5NTEpLHM9bygxMTczMTMpO2NvbnN0IGE9e2lPczoib2xkIixhbmRyb2lkOiJuZXciLG9sZDoib2xkIixuZXc6Im5ldyIsYW55OiJhbnkifTtmdW5jdGlvbiBsKGUpe2NvbnN0W3RdPSgwLGkudXNlU3RhdGUpKHtpc09uTW9iaWxlQXBwUGFnZTplPT4oMCxzLmlzT25Nb2JpbGVBcHBQYWdlKShhW2VdKSxpc1J0bDooMCxuLmlzUnRsKSgpLGxvY2FsZTp3aW5kb3cubG9jYWxlLHJlbmRlck1vZGU6ZS5yZW5kZXJNb2RlPz8ibGVnYWN5In0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoci5BcHBDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0Cn0sZS5jaGlsZHJlbil9Y29uc3QgYz1yLkFwcENvbnRleHR9LDU3MTMwMChlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7Y3JlYXRlUmVhY3RSb290OigpPT5hfSk7dmFyIGk9byg3Nzk0NzQpLG49bygxMjkzNjUpLHI9bygzMzYzMzQpLHM9byg4NjU1NjApO2Z1bmN0aW9uIGEoZSx0LG89ImxlZ2FjeSIpe2NvbnN0IGE9aS5jcmVhdGVFbGVtZW50KHMuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sZSk7aWYoIm1vZGVybiI9PT1vKXtjb25zdCBlPSgwLHIuY3JlYXRlUm9vdCkodCk7cmV0dXJuIGUucmVuZGVyKGEpLHtyZW5kZXIodCl7ZS5yZW5kZXIoaS5jcmVhdGVFbGVtZW50KHMuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sdCkpfSx1bm1vdW50KCl7ZS51bm1vdW50KCl9fX1yZXR1cm4gbi5yZW5kZXIoYSx0KSx7cmVuZGVyKGUpe24ucmVuZGVyKGkuY3JlYXRlRWxlbWVudChzLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm99LGUpLHQpfSx1bm1vdW50KCl7bi51bm1vdW50Q29tcG9uZW50QXROb2RlKHQpfX19fSw5MDk3OTgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Zmx1c2hEZWxlZ2F0ZTooKT0+aX0pO2NvbnN0IGk9bmV3KG8oOTQ4MzgwKS5EZWxlZ2F0ZSl9LDg1NjE5NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzaG91bGRBZmZlY3RVc2VyOigpPT5sfSk7dmFyIGk9bygxMDA1OTUpLG49by5uKGkpLHI9byg5MzIzNjUpO2NvbnN0IHM9ImZlYXR1cmV0b2dnbGVfc2VlZCI7ZnVuY3Rpb24gYShlKXt0cnl7Y29uc3QgdD1uKCkoZStmdW5jdGlvbigpe2lmKHdpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5pZClyZXR1cm4gd2luZG93LnVzZXIuaWQ7Y29uc3QgZT1yLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocyk7aWYobnVsbCE9PWUpcmV0dXJuIGU7Y29uc3QgdD1NYXRoLmZsb29yKDFlNipNYXRoLnJhbmRvbSgpKTtyZXR1cm4gci5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHMsYCR7dH1gKSx0fSgpKSxvPW5ldyBEYXRhVmlldyh0KTtyZXR1cm4gby5nZXRVaW50MzIoMCwhMCkvNDI5NDk2NzI5Nn1jYXRjaChlKXtyZXR1cm4uNX19ZnVuY3Rpb24gbChlLHQpe3JldHVybiBhKGUpPD10fX0sMTU2ODUwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3RlbGVtZXRyeTooKT0+aH0pO3ZhciBpPW8oOTQ4MzgwKSxuPW8oMjIxMDYxKSxyPW8oMzg0MDE3KSxzPW8oMzc3MjI2KSxhPW8oMTE3MzEzKTtvKDMwMDI4Nik7Y29uc3QgbD0oMCxuLmdldExvZ2dlcikoIkNvbW1vbi5UZWxlbWV0cnkiKSxjPXtkZWZhdWx0OjE1ZTMsc2l0ZTozZTV9LGQ9WyJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIsIndlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJmaXJzdF9zZXJpZXNfZnVsbF90aW1lX2ZyYW1lIiwicGFnZV9mdWxsX2xvYWRfdGltZV9mcmFtZSIsInBhZ2VfbG9hZF90aW1lX2ZyYW1lIl07Y29uc3QgaD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnJlcG9ydFNlbnQ9bmV3IGkuRGVsZWdhdGUsdGhpcy50aW1lQ291bnRlcnM9e3Nlcmllczp7bWFya3M6W119LHN0dWR5Ont9LHBpbmU6e319LHRoaXMuX3RpbWVvdXRJZHM9e30sdGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGE9e2NsdXN0ZXI6bnVsbCx1c2VySWQ6IjAifSx0aGlzLl9yZXBvcnRTdGFzaD17fX1zZXRTZXNzaW9uSW5mbyhlKXtjb25zdCB0PXRoaXMuX3BhcnNlQ2x1c3RlcihlKTtudWxsIT09dCYmKHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhLmNsdXN0ZXI9dCl9c2VuZFJlcG9ydChlLHQsbyl7aWYoIXRoaXMuX2lzQWJsZVRvU2VuZFJlcG9ydCh0KSlyZXR1cm47Y29uc3QgaT10aGlzLl9nZXRTdWJzZXJ2aWNlVHlwZShlKSxuPXRoaXMuX2dldEhvc3QoZSxpKTtpZihudWxsIT09bil7aWYobz12b2lkIDA9PT1vP3tjb3VudDoxfTpvLHRoaXMuX2FkZFJlcG9ydFRvU3Rhc2gobyx0LG4pLCF0aGlzLl90aW1lb3V0SWRzW2VdKXtjb25zdCB0PWNbZV0/P2MuZGVmYXVsdDt0aGlzLl90aW1lb3V0SWRzW2VdPXNldFRpbWVvdXQodGhpcy5fc2VuZFRlbGVtZXRyeVRvU2VydmljZS5iaW5kKHRoaXMsZSxuKSx0KX19ZWxzZSBsLmxvZ0Vycm9yKGBVbmFibGUgdG8gZ2V0IGhvc3QgZm9yIGNvdW50ZXI6ICR7dH0sIG1ldHJpYyB0eXBlOiAke2V9LCBzZXJpdmNlIHR5cGU6ICR7aX1gKX1zZW5kQ2hhcnRSZXBvcnQoZSx0LG89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJjaGFydHMiLGUsdCxvKX1zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydChlLHQsbz0hMCl7dGhpcy5fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoImxpbmVfdG9vbHNfc3RvcmFnZSIsZSx0LG8pfV9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydChlLHQsbyxpPSEwKXt0aGlzLl91cGRhdGVVc2VySW5mbygpLG89dm9pZCAwPT09bz97Y291bnQ6MX06byxpJiYobz10aGlzLl9hcHBlbmRDb21tb25BZGRpdGlvbmFsSW5mbyhvLFsiY2x1c3RlciIsInVzZXJJZCJdKSksdGhpcy5zZW5kUmVwb3J0KGUsdCxvKX1fdXBkYXRlVXNlckluZm8oKXtjb25zdCBlPSJ1c2VyImluIHdpbmRvdyYmImlkImluIHdpbmRvdy51c2VyP3dpbmRvdy51c2VyLmlkOiIwIjt0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS51c2VySWQ9U3RyaW5nKGUpfV9pc0FibGVUb1NlbmRSZXBvcnQoZSl7Y29uc3QgdD13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLG89ZC5pbmNsdWRlcyhlKSxpPUJvb2xlYW4od2luZG93LlRyYWRpbmdWaWV3Py5vbkNoYXJ0UGFnZXx8KDAscy5vbldpZGdldCkoKSk7cmV0dXJuIHQmJighb3x8aSl9X3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UoZSx0KXtpZih0aGlzLl9yZXBvcnRTdGFzaC5oYXNPd25Qcm9wZXJ0eSh0KSl7Y29uc3QgZT10aGlzLl9jcm9wUGFyYW1zKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxvPXRoaXMuX3JlbmFtZUFsbFBhcmFtcyhlKSxpPXtldmVudDoicmVwb3J0X3N0YXNoIixwYXJhbXM6dGhpcy5fY2xlYW5BbGxQYXJhbXMobyl9CjtsLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsci5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGkpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3Qgbz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLGk9b1tlXSYmb1tlXVt0XTtyZXR1cm4gQm9vbGVhbihpKT9pOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3Qgbz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1vPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsYS5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9bz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLHMub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpvJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gbC5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBvPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PW8mJm8ubGVuZ3RoPj0zP29bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXtmb3IoY29uc3QgdCBpbiBlKWUuaGFzT3duUHJvcGVydHkodCkmJmVbdF0ubGVuZ3RoPjFlMyYmKGUudG9vX211Y2hfbWV0cmljc19mcmFtZT1lLnRvb19tdWNoX21ldHJpY3NfZnJhbWU/P1tdLGUudG9vX211Y2hfbWV0cmljc19mcmFtZS5wdXNoKHt2YWx1ZTplW3RdLmxlbmd0aCxhZGRpdGlvbmFsOntldmVudDp0fX0pLGRlbGV0ZSBlW3RdKTtyZXR1cm4gZX1fcmVuYW1lQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IG8gaW4gZSllLmhhc093blByb3BlcnR5KG8pJiYodFtvXT1bXSxlW29dLmZvckVhY2goKGU9Pnt0W29dLnB1c2godGhpcy5fcmVuYW1lRW50cnlQYXJhbXMoZSkpfSkpKTtyZXR1cm4gdH1fcmVuYW1lRW50cnlQYXJhbXMoZSl7Y29uc3QgdD17Y291bnQ6ImMiLHZhbHVlOiJ2Iix0ZXh0OiJ0IixhZGRpdGlvbmFsOiJhIn07cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKG8saSk9PihvW3RbaV1dPWVbaV0sbykpLHt9KX1fY2xlYW5BbGxQYXJhbXMoZSl7Y29uc3QgdD17fTtmb3IoY29uc3QgbyBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobykpe3Rbb109W107Y29uc3QgaT17YzowfTtlW29dLmZvckVhY2goKGU9Pntjb25zdCBuPXRoaXMuX2NsZWFuRW50cnlQYXJhbXMoZSkscj1PYmplY3Qua2V5cyhuKS5sZW5ndGg7MT09PXImJnZvaWQgMCE9PW4uYz9pLmMrPW4uYzpyPjAmJnRbb10ucHVzaChuKX0pKSxpLmM+MCYmdFtvXS5wdXNoKGkpLDA9PT10W29dLmxlbmd0aCYmZGVsZXRlIHRbb119cmV0dXJuIHR9X2NsZWFuRW50cnlQYXJhbXMoZSl7Y29uc3QgdD1PYmplY3Qua2V5cyhlKS5yZWR1Y2UoKCh0LG8pPT4iYyIhPT1vJiYidCIhPT1vfHxlW29dPyh0W29dPWVbb10sdCk6dCkse30pO3JldHVybiJjImluIHR8fCJ2ImluIHR8fCJ0ImluIHQ/dDp7fX1fYWRkUmVwb3J0VG9TdGFzaChlLHQsbyl7byBpbiB0aGlzLl9yZXBvcnRTdGFzaHx8KHRoaXMuX3JlcG9ydFN0YXNoW29dPXt9KSx0IGluIHRoaXMuX3JlcG9ydFN0YXNoW29dfHwodGhpcy5fcmVwb3J0U3Rhc2hbb11bdF09W10pLE9iamVjdC5rZXlzKGUpLmxlbmd0aD4wJiZ0aGlzLl9yZXBvcnRTdGFzaFtvXVt0XS5wdXNoKGUpfX19LDczMjA0MChlLHQsbyl7InVzZSBzdHJpY3QiO3ZhciBpO2Z1bmN0aW9uIG4oZSx0PXdpbmRvdyl7Y29uc3Qgbz0idGhlbWUtIitlLGk9dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpZS5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmZSE9PW8mJmkucmVtb3ZlKGUpO2kuYWRkKG8pLHQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9ZX1vLmQodCx7YXBwbHlUaGVtZTooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0oaXx8KGk9e30pKX0sMjQ3OTAxKGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIGk7by5kKHQse1N0ZFRoZW1lOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5MaWdodD0ibGlnaHQiLGUuRGFyaz0iZGFyayJ9KGl8fChpPXt9KSl9LDIwMDY2NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzZXRUaGVtZTooKT0+cyx3YXRjaGVkVGhlbWU6KCk9PnJ9KTt2YXIgaT1vKDIzMjM2NCksbj1vKDczMjA0MCk7Y29uc3Qgcj1uZXcgaS5XYXRjaGVkVmFsdWU7ZnVuY3Rpb24gcyhlKXtyLnNldFZhbHVlKGUpfXIuc3Vic2NyaWJlKChlPT57KDAsbi5hcHBseVRoZW1lKShlLHdpbmRvdyl9KSl9LDM4NjkzMShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt0cmFja0V2ZW50OigpPT5hfSk7dmFyIGk9bygyMjEwNjEpLG49byg5MzAyMzEpO28oMTc5NzcxKTtjb25zdCByPSgwLGkuZ2V0TG9nZ2VyKSgiQ29tbW9uLlRyYWNrRXZlbnQiKTtsZXQgcz0hMTtjb25zdCBhPShlLHQsbyk9PntpZihzKXJldHVybjtsZXQgaT0oZT9lKyI6IjoiIikrdDtvJiYoaSs9IiAiK28pLHIubG9nTm9ybWFsKGkpLCgwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwhd2luZG93Ll9VTklUX1RFU1RTJiZ3aW5kb3cuZ3RhZyYmd2luZG93Lmd0YWcoImV2ZW50Iix0LHsKZXZlbnRfY2F0ZWdvcnk6ZSxldmVudF9sYWJlbDpvfSl9O3ZhciBsLGMsZDshZnVuY3Rpb24oZSl7ZS5HVUk9IkdVSSJ9KGx8fChsPXt9KSksZnVuY3Rpb24oZSl7ZS5DaGFydEhlYWRlclRvb2xiYXI9IkNoYXJ0IEhlYWRlciBUb29sYmFyIixlLkNoYXJ0Qm90dG9tVG9vbGJhcj0iQ2hhcnQgQm90dG9tIFRvb2xiYXIiLGUuQ2hhcnRMZWZ0VG9vbGJhcj0iQ2hhcnQgTGVmdCBUb29sYmFyIixlLlRpbWVJbnRlcnZhbD0iVGltZSBJbnRlcnZhbCIsZS5Mb2FkQ2hhcnRMYXlvdXQ9IkxvYWQgY2hhcnQgbGF5b3V0In0oY3x8KGM9e30pKSxmdW5jdGlvbihlKXtlLlJhbmdlPSJyYW5nZSIsZS5Hb1RvPSJnbyB0byIsZS5DaGFydFByb3BlcnRpZXM9ImNoYXJ0IHByb3BlcnRpZXMiLGUuQ29tcGFyZT0iY29tcGFyZSIsZS5TZWxlY3RMYXlvdXQ9InNlbGVjdCBsYXlvdXQiLGUuTWFnbmV0TW9kZT0ibWFnbmV0IG1vZGUiLGUuTWFnbmV0U25hcHM9Im1hZ25ldCBzbmFwcyIsZS5EcmF3aW5nTW9kZT0iZHJhd2luZyBtb2RlIixlLkxvY2tBbGxEcmF3aW5nPSJsb2NrIGFsbCBkcmF3aW5nIixlLlJlbW92ZURyYXdpbmc9InJlbW92ZSBkcmF3aW5nIixlLlJlbW92ZUluZGljYXRvcj0icmVtb3ZlIGluZGljYXRvciIsZS5SZW1vdmVBbGw9InJlbW92ZSBhbGwiLGUuSGlkZURyYXdpbmdzPSJoaWRlIGRyYXdpbmdzIixlLkhpZGVJbmRpY2F0b3JzPSJoaWRlIGluZGljYXRvcnMiLGUuSGlkZVBvc2l0aW9ucz0iaGlkZSBwb3NpdGlvbnMiLGUuSGlkZUFsbD0iaGlkZSBhbGwiLGUuU3luYz0ic3luYyIsZS5TeW5jTW9kZT0ic3luYyBtb2RlIixlLlN3aXRjaENoYXJ0TGF5b3V0PSJTd2l0Y2ggY2hhcnQgbGF5b3V0IixlLkRlbGV0ZUNoYXJ0TGF5b3V0PSJEZWxldGUgY2hhcnQgbGF5b3V0IixlLkxvYWRDaGFydExheW91dD0iTG9hZCBjaGFydCBsYXlvdXQiLGUuQWRkVG9GYXZvcml0ZXM9IkFkZCB0byBmYXZvcml0ZXMiLGUuU29ydD0iU29ydCJ9KGR8fChkPXt9KSl9LDE1MjY5OShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtUVlhXaW5kb3dFdmVudHM6KCk9PnN9KTt2YXIgaT1vKDIyMTA2MSksbj1vKDkzMjM2NSk7Y29uc3Qgcj0oMCxpLmdldExvZ2dlcikoIlhXaW5kb3dFdmVudHMiKTt2YXIgczshZnVuY3Rpb24oZSl7Y29uc3QgdD0idHZ4d2V2ZW50cy4iLG89e307bGV0IGk7d2luZG93LkJyb2FkY2FzdENoYW5uZWw/KGk9bmV3IEJyb2FkY2FzdENoYW5uZWwoInR2eHdldmVudHMiKSxpLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtkYXRhOntldmVudDp0LHZhbHVlOml9fT1lO29bdF0mJm9bdF0uZm9yRWFjaCgoZT0+e2UoaSl9KSl9KSksZnVuY3Rpb24oKXtjb25zdCBlPVtdLG89cGVyZm9ybWFuY2Uubm93KCk7Zm9yKGxldCBvPTA7bzxuLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtvKyspe2NvbnN0IGk9bi5UVkxvY2FsU3RvcmFnZS5rZXkobyk7aS5zdGFydHNXaXRoKHQpJiZlLnB1c2goaSl9Y29uc3QgaT1uLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtmb3IoY29uc3QgdCBvZiBlKW4uVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0KTtjb25zdCBzPXBlcmZvcm1hbmNlLm5vdygpLW87ci5sb2dOb3JtYWwoYFRvdGFsIGtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2Ugb24gb3BlcmF0aW9uIHN0YXJ0OiAke2l9YCksci5sb2dOb3JtYWwoYEtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2UgdG8gYmUgZGVsZXRlZDogJHtlLmxlbmd0aH1gKSxyLmxvZ05vcm1hbChgS2V5cyB0byBiZSBkZWxldGVkIGZyb20gbG9jYWwgc3RvcmFnZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKSxyLmxvZ05vcm1hbChgUmVtb3Zpbmcga2V5cyBmcm9tIGxvY2FsIHN0b3JhZ2UgdG9vayAke3N9IG1zYCl9KCkpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZnVuY3Rpb24oZSl7Y29uc3R7bmV3VmFsdWU6aSxrZXk6cn09ZTtpZihudWxsPT09aXx8IXJ8fCFyLnN0YXJ0c1dpdGgodCkpcmV0dXJuO2NvbnN0IHM9ci5zdWJzdHJpbmcoMTEpO29bc10mJm9bc10uZm9yRWFjaCgodD0+e3QoZS5uZXdWYWx1ZSl9KSk7bi5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHIpfSkpLGUub249ZnVuY3Rpb24oZSx0KXtvW2VdfHwob1tlXT1bXSksb1tlXS5wdXNoKHQpfSxlLm9mZj1mdW5jdGlvbihlLHQpe2lmKCFvW2VdKXJldHVybjtjb25zdCBpPW9bZV0uaW5kZXhPZih0KTstMSE9PWkmJigxPT09b1tlXS5sZW5ndGg/ZGVsZXRlIG9bZV06b1tlXS5zcGxpY2UoaSwxKSl9LGUuZW1pdD1mdW5jdGlvbihlLG89RGF0ZS5ub3coKSl7dHJ5e2k/aS5wb3N0TWVzc2FnZSh7ZXZlbnQ6ZSx2YWx1ZTpvfSk6bi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQrZSxvLnRvU3RyaW5nKCkpfWNhdGNoKGUpe3IubG9nRXJyb3IoZS5tZXNzYWdlKX19fShzfHwocz17fSkpfSw3MDA4MDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVDRU1CRVI6KCk9PmcsRklSU1RfREFZX09GX1dFRUs6KCk9Pl8sRlJJREFZOigpPT5oLEpBTlVBUlk6KCk9Pm0sTEFTVF9EQVlfT0ZfV0VFSzooKT0+cCxNT05EQVk6KCk9PmEsU0FUVVJEQVk6KCk9PnUsU1VOREFZOigpPT5zLFRIVVJTREFZOigpPT5kLFRVRVNEQVk6KCk9PmwsV0VETkVTREFZOigpPT5jLGFkZF9kYXRlOigpPT5JLGFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdDooKT0+TSxhZGRfbWludXRlczooKT0+UixjYWxfdG9fdXRjOigpPT5WLGNsb25lOigpPT5MLGRheXNfcGVyX3llYXI6KCk9PkQsZ2V0X2NhbDooKT0+JCxnZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXM6KCk9PlcsZ2V0X2NhbF91dGM6KCk9PnEsZ2V0X2RheV9vZl9tb250aDooKT0+QyxnZXRfZGF5X29mX3dlZWs6KCk9PmssZ2V0X2RheV9vZl95ZWFyOigpPT5ULGdldF9taW51dGVzX2Zyb21fbWlkbmlnaHQ6KCk9PkUsZ2V0X21pbnV0ZXNfd2l0aF9ob3VyczooKT0+eCxnZXRfbW9udGg6KCk9PmIsZ2V0X3RpbWV6b25lOigpPT5ILGdldF95ZWFyOigpPT55LGlzX2xlYXBfeWVhcjooKT0+TyxtaW51dGVzUGVyRGF5OigpPT52LG1pbnV0ZXNQZXJXZWVrOigpPT5mLHNldF9obXM6KCk9PkEsCnNldF9zZWNvbmRzOigpPT5GLHRpbWVfc2Vjb25kczooKT0+Tix0aW1lX3NlY29uZHNfZGlmZjooKT0+UCx1dGNfdG9fY2FsOigpPT5CfSk7dmFyIGk9byg3MTIxODEpO2NvbnN0IG49ezA6MCwxOjMxLDI6NTksMzo5MCw0OjEyMCw1OjE1MSw2OjE4MSw3OjIxMiw4OjI0Myw5OjI3MywxMDozMDQsMTE6MzM0fTtjbGFzcyBye2NvbnN0cnVjdG9yKGUpe3RoaXMuX2ludmFsaWQ9ITEsdGhpcy5fbmFtZT1lO2xldCB0PWkudHpEYXRhPy5bZV0/P251bGw7IXQmJlUmJih0PVUuaW5zdGFuY2UoKS5nZXRUaW1lem9uZURhdGEoZSkpLHR8fCh0PXt0aW1lOltdLG9mZnNldDpbXX0sdGhpcy5faW52YWxpZD0hMCksdC50aW1lLmxlbmd0aCE9PXQub2Zmc2V0Lmxlbmd0aCYmKHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKTtjb25zdCBvPXQ7aWYoIW8udGltZV91dGMpe2NvbnN0IGU9dC50aW1lLGk9dC5vZmZzZXQsbj1lLmxlbmd0aCxyPW5ldyBBcnJheShuKTtmb3IobGV0IHQ9MDt0PG47dCsrKWVbdF0qPTFlMyxpW3RdKj0xZTMsclt0XT1lW3RdLWlbdF07by50aW1lX3V0Yz1yfXRoaXMudHo9b31vZmZzZXRfdXRjKGUpe3JldHVybiByLm9mZnNldCh0aGlzLnR6LnRpbWVfdXRjLHRoaXMudHoub2Zmc2V0LGUpfW9mZnNldF9sb2MoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZSx0aGlzLnR6Lm9mZnNldCxlKX1uYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9aXNfdmFsaWQoKXtyZXR1cm4hdGhpcy5faW52YWxpZH1jb3JyZWN0aW9uX2xvYyhlKXtjb25zdCB0PXRoaXMudHoudGltZSxvPXRoaXMudHoub2Zmc2V0LGk9eih0LGUpO2lmKGk8MSlyZXR1cm4gMDtjb25zdCBuPW9baV0tb1tpLTFdO2lmKG4+MCl7aWYoZS10W2ktMV08PW4pcmV0dXJuIG59cmV0dXJuIDB9c3RhdGljIG9mZnNldChlLHQsbyl7Y29uc3QgaT16KGUsbyk7cmV0dXJuLTE9PT1pPzA6dFtpXX19Y29uc3Qgcz0xLGE9MixsPTMsYz00LGQ9NSxoPTYsdT03LF89cyxwPXUsbT0wLGc9MTEsdj0xNDQwLGY9MTAwODA7ZnVuY3Rpb24geShlKXtyZXR1cm4gZS5nZXRVVENGdWxsWWVhcigpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUuZ2V0VVRDTW9udGgoKX1mdW5jdGlvbiBTKGUpe3JldHVybiBlLmdldFVUQ0hvdXJzKCl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4gZS5nZXRVVENNaW51dGVzKCl9ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5nZXRVVENEYXRlKCl9ZnVuY3Rpb24gayhlKXtyZXR1cm4gZS5nZXRVVENEYXkoKSsxfWZ1bmN0aW9uIFQoZSl7Y29uc3QgdD1lLmdldFVUQ01vbnRoKCk7bGV0IG89blt0XTtyZXR1cm4gdD5tKzEmJk8oZS5nZXRVVENGdWxsWWVhcigpKSYmKG8rPTEpLG8rZS5nZXRVVENEYXRlKCl9ZnVuY3Rpb24gRShlKXtyZXR1cm4gNjAqUyhlKSt3KGUpfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIEUoZSl9ZnVuY3Rpb24gQShlLHQsbyxpLG4scil7ZS5zZXRVVENIb3Vycyh0KSxlLnNldFVUQ01pbnV0ZXMobyksZS5zZXRVVENTZWNvbmRzKGkpLGUuc2V0VVRDTWlsbGlzZWNvbmRzKG4pLHZvaWQgMCE9PXImJmZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1lLmdldFRpbWUoKSxpPXQuY29ycmVjdGlvbl9sb2Mobyk7ZS5zZXRUaW1lKG8raSl9KGUscil9ZnVuY3Rpb24gTShlLHQsbyl7Y29uc3QgaT1lLm9mZnNldF91dGModC5nZXRUaW1lKCkpLG49TCh0KTtJKG4sbyk7Y29uc3Qgcj1lLm9mZnNldF91dGMobi5nZXRUaW1lKCkpO3JldHVybiBuLnNldFRpbWUobi5nZXRUaW1lKCkraS1yKSxufWZ1bmN0aW9uIEkoZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrODY0ZTUqdCl9ZnVuY3Rpb24gUihlLHQpe2Uuc2V0VGltZShlLmdldFRpbWUoKSs2MCp0KjFlMyl9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IG89ODY0MDAsaT10JW88MD8tMTowLG49TWF0aC50cnVuYyh0L28pK2kscj10LW4qbyxzPU1hdGgudHJ1bmMoci8zNjAwKSxhPU1hdGgudHJ1bmMociUzNjAwLzYwKTtBKGUscyxhLHItMzYwMCpzLTYwKmEsMCksSShlLG4pfWZ1bmN0aW9uIEwoZSl7cmV0dXJuIG5ldyBEYXRlKGUuZ2V0VGltZSgpKX1mdW5jdGlvbiBEKGUpe3JldHVybiBPKGUpPzM2NjozNjV9ZnVuY3Rpb24gTyhlKXtyZXR1cm4gZSU0PT0wJiYoZSUxMDAhPTB8fGUlNDAwPT0wKX1mdW5jdGlvbiBOKGUpe3JldHVybiAxZTMqZX1mdW5jdGlvbiBQKGUsdCl7cmV0dXJuIEcoZSktRyh0KX1mdW5jdGlvbiBCKGUsdCl7cmV0dXJuIG5ldyBEYXRlKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1lLm9mZnNldF91dGModCk7cmV0dXJuIHQrb30oZSx0KSl9ZnVuY3Rpb24gJChlLHQsbyxpLG4scixzKXtjb25zdCBhPW5ldyBEYXRlKERhdGUuVVRDKHQsbyxpLG58fDAscnx8MCxzfHwwKSksbD1lLm9mZnNldF91dGMoK2EpO3JldHVybiBuZXcgRGF0ZShhLnZhbHVlT2YoKS1sKX1mdW5jdGlvbiBXKGUsdCl7cmV0dXJuIG5ldyBEYXRlKHQrZS5vZmZzZXRfdXRjKHQpKX1mdW5jdGlvbiBxKGUsdCxvLGk9MCxuPTAscj0wKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoZSx0LG8saSxuLHIpKX1mdW5jdGlvbiBWKGUsdCxvKXtsZXQgaT10LmdldFRpbWUoKTtvJiYoaSs9ZS5jb3JyZWN0aW9uX2xvYyhpKSk7cmV0dXJuIGktZS5vZmZzZXRfbG9jKGkpfWZ1bmN0aW9uIEgoZSl7cmV0dXJuIG5ldyByKGUpfWxldCBVO2Z1bmN0aW9uIHooZSx0KXtjb25zdCBvPWUubGVuZ3RoO2lmKDA9PT1vKXJldHVybi0xO2lmKGlzTmFOKHQpKXRocm93IEVycm9yKCJLZXkgaXMgTmFOIik7bGV0IGk9MCxuPW8tMSxyPWooKGkrbikvMik7Zm9yKDs7KXtpZihlW3JdPnQpe2lmKG49ci0xLG48aSlyZXR1cm4gcn1lbHNlIGlmKGk9cisxLG48aSlyZXR1cm4gcjxvLTE/cisxOi0xO3I9aigoaStuKS8yKX19ZnVuY3Rpb24gaihlKXtyZXR1cm4gTWF0aC50cnVuYyhlKX1mdW5jdGlvbiBHKGUpe3JldHVybiBlPDA/aihlLzFlMyktKGUlMWUzIT0wPzE6MCk6aihlLzFlMyl9fSw3NzkzODkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7QWN0aW9uR3JvdXA6KCk9Pm59KTt2YXIgaT1vKDk5MjgwMyk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2FjdGlvbnM9bmV3IE1hcCx0aGlzLl9tYW5hZ2VyPWUsCnRoaXMub3JkZXI9dD8ub3JkZXI/PzAsdGhpcy5tb2RhbD0hKCF0fHwhdC5tb2RhbCksdCYmKHRoaXMuZGVzYz10LmRlc2MpLHQmJnQuaXNEaXNhYmxlZD8iZnVuY3Rpb24iPT10eXBlb2YgdC5pc0Rpc2FibGVkP3RoaXMuaXNEaXNhYmxlZD10LmlzRGlzYWJsZWQ6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMDp0aGlzLmlzRGlzYWJsZWQ9KCk9PiExLHRoaXMuX21hbmFnZXIucmVnaXN0ZXJHcm91cCh0aGlzKX1hZGQoZSl7bGV0IHQ9dGhpcy5fYWN0aW9ucy5nZXQoZS5ob3RrZXkpO3R8fCh0PVtdLHRoaXMuX2FjdGlvbnMuc2V0KGUuaG90a2V5LHQpKTtjb25zdCBvPW5ldyBpLkFjdGlvbih0aGlzLGUpO3JldHVybiB0LnB1c2gobyksb31yZW1vdmUoZSl7Y29uc3QgdD10aGlzLl9hY3Rpb25zLmdldChlLmhvdGtleSk7aWYoIXQpcmV0dXJuO2NvbnN0IG89dC5maW5kSW5kZXgoKHQ9PnQ9PT1lKSk7bz49MCYmKDE9PT10Lmxlbmd0aD90aGlzLl9hY3Rpb25zLmRlbGV0ZShlLmhvdGtleSk6dC5zcGxpY2UobywxKSl9aGFuZGxlSG90a2V5KGUsdCl7Y29uc3Qgbz10aGlzLl9hY3Rpb25zLmdldChlKTtpZighbylyZXR1cm4hMTtmb3IoY29uc3QgaSBvZiBvKWlmKCghaS5lbGVtZW50fHx0LnRhcmdldCYmaS5lbGVtZW50LmNvbnRhaW5zKHQudGFyZ2V0KSkmJiFpLmlzRGlzYWJsZWQodCkpcmV0dXJuIHQucmVwZWF0JiYhaS5pc1JlcGVhdEFjY2VwdGVkfHwoaS5oYW5kbGVyKHQpLHRoaXMuX2NhbGxNYXRjaGVkSG90a2V5SGFuZGxlcihlKSksdC5wcmV2ZW50RGVmYXVsdCgpLCEwO3JldHVybiExfXByb21vdGUoKXt0aGlzLl9tYW5hZ2VyLnByb21vdGVHcm91cCh0aGlzKX1kZXN0cm95KCl7Zm9yKGNvbnN0WyxlXW9mIHRoaXMuX2FjdGlvbnMpZm9yKGNvbnN0IHQgb2YgZSl0LmRlc3Ryb3koKTt0aGlzLl9hY3Rpb25zLmNsZWFyKCksdGhpcy5fbWFuYWdlci51bnJlZ2lzdGVyR3JvdXAodGhpcyl9c3RhdGljIHNldE1hdGNoZWRIb3RrZXlIYW5kbGVyKGUpe24uX21hdGNoZWRIb3RrZXlIYW5kbGVyPWV9X2NhbGxNYXRjaGVkSG90a2V5SGFuZGxlcihlKXtuLl9tYXRjaGVkSG90a2V5SGFuZGxlciYmbi5fbWF0Y2hlZEhvdGtleUhhbmRsZXIoZSl9fX0sMjkxMzQxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0FjdGlvbk1hbmFnZXI6KCk9Pmx9KTt2YXIgaT1vKDIzMjM2NCksbj1vKDIzNTcyNCkscj1vKDcyMTM2OSkscz1vKDY5NjIwOCk7Y2xhc3MgYSBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle3NldFZhbHVlKGUsdCl7Y29uc3Qgbz10aGlzLnZhbHVlKCk7KHR8fHZvaWQgMD09PW98fG8uY29kZSE9PWUuY29kZXx8by5tb2RpZmllcnMhPT1lLm1vZGlmaWVycykmJnN1cGVyLnNldFZhbHVlKGUpfX1jbGFzcyBse2NvbnN0cnVjdG9yKCl7dGhpcy5fZ3JvdXBzPVtdLHRoaXMuX3ByZXNzZWRLZXlzPW5ldyBpLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGU9bmV3IGEobmV3IHMuS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKDApKSx0aGlzLl9rZXlEb3duTGlzdGVuZXI9ZT0+e2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxuLmhhc2hGcm9tRXZlbnQpKGUpO2lmKHRoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKHQpLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgcy5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKDAsbi5tb2RpZmllcnNGcm9tRXZlbnQpKGUpLGUuY29kZSkpLCEoMCxyLmlzTmF0aXZlVUlJbnRlcmFjdGlvbikodCxlLnRhcmdldCkpZm9yKGxldCBvPXRoaXMuX2dyb3Vwcy5sZW5ndGg7by0tID4wOyl7Y29uc3QgaT10aGlzLl9ncm91cHNbb107aWYoIWkuaXNEaXNhYmxlZCgpKXtpZihpLmhhbmRsZUhvdGtleSh0LGUpKXJldHVybjtpZihpLm1vZGFsKXJldHVybn19fSx0aGlzLl9rZXlVcExpc3RlbmVyPWU9Pntjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7dGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUodCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnNldFZhbHVlKG5ldyBzLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgoMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSksIiIpKX0sdGhpcy5fYmx1ckV2ZW50PSgpPT57dGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnNldFZhbHVlKG5ldyBzLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwLCIiKSl9LHRoaXMuX21vdXNlRXZlbnQ9ZT0+e2NvbnN0IHQ9KDAsbi5tb2RpZmllcnNGcm9tRXZlbnQpKGUpLG89MjU1Jih0aGlzLl9wcmVzc2VkS2V5cy52YWx1ZSgpPz8wKTt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSh0fG8pfX1saXN0ZW4oZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9rZXlEb3duTGlzdGVuZXIpLGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuX2tleVVwTGlzdGVuZXIpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fYmx1ckV2ZW50KSxlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fbW91c2VFdmVudCl9dW5saXN0ZW4oZSl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9rZXlEb3duTGlzdGVuZXIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuX2tleVVwTGlzdGVuZXIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fYmx1ckV2ZW50KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fbW91c2VFdmVudCl9cmVnaXN0ZXJHcm91cChlKXt0aGlzLl9ncm91cHMucHVzaChlKSx0aGlzLnNvcnRHcm91cHMoKX11bnJlZ2lzdGVyR3JvdXAoZSl7Zm9yKGxldCB0PXRoaXMuX2dyb3Vwcy5sZW5ndGg7dC0tOyl0aGlzLl9ncm91cHNbdF09PT1lJiZ0aGlzLl9ncm91cHMuc3BsaWNlKHQsMSl9cHJvbW90ZUdyb3VwKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0TW9kYWxPcmRlckVwb2NoKCksbz1jKGUsdCk7bGV0IGk9dGhpcy5fZ3JvdXBzLmZpbmRJbmRleCgoZT0+YyhlLHQpPT09bykpLG49MAo7Zm9yKDtpPHRoaXMuX2dyb3Vwcy5sZW5ndGgmJmModGhpcy5fZ3JvdXBzW2ldLHQpPT09bzspe2NvbnN0IHI9dGhpcy5fZ3JvdXBzW2ldO3I9PT1lP249MTpjKHIsdCk9PT1vJiYodGhpcy5fZ3JvdXBzW2ktbl09ciksaSsrfXRoaXMuX2dyb3Vwc1tpLW5dPWV9cHJlc3NlZEtleXMoKXtyZXR1cm4gdGhpcy5fcHJlc3NlZEtleXMucmVhZG9ubHkoKX1rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKXtyZXR1cm4gdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnJlYWRvbmx5KCl9c29ydEdyb3Vwcygpe2NvbnN0IGU9dGhpcy5fZ2V0TW9kYWxPcmRlckVwb2NoKCk7dGhpcy5fZ3JvdXBzLnNvcnQoKCh0LG8pPT5jKG8sZSktYyh0LGUpKSl9X2dldE1pbk9yZGVyKCl7cmV0dXJuIHRoaXMuX2dyb3Vwcy5yZWR1Y2UoKChlLHQpPT5NYXRoLm1pbihlLHQub3JkZXIpKSwwKX1fZ2V0TW9kYWxPcmRlckVwb2NoKCl7cmV0dXJuLTIqKE1hdGguYWJzKHRoaXMuX2dldE1pbk9yZGVyKCkpLTEpfX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGUub3JkZXIrKGUubW9kYWw/dDowKX19LDk5MjgwMyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtBY3Rpb246KCk9Pml9KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fZ3JvdXA9ZTtjb25zdHtob3RrZXk6byxoYW5kbGVyOmksZGVzYzpuLGlzRGlzYWJsZWQ6cixlbGVtZW50OnM9bnVsbCxpc1JlcGVhdEFjY2VwdGVkOmE9ITF9PXQ7dGhpcy5ob3RrZXk9byx0aGlzLmhhbmRsZXI9aSx0aGlzLmRlc2M9bix0aGlzLmVsZW1lbnQ9cyx0aGlzLmlzUmVwZWF0QWNjZXB0ZWQ9YSx0aGlzLmlzRGlzYWJsZWQ9cj8iZnVuY3Rpb24iPT10eXBlb2Ygcj9yOigpPT4hMDooKT0+ITF9ZGVzdHJveSgpe3RoaXMuX2dyb3VwJiYodGhpcy5fZ3JvdXAucmVtb3ZlKHRoaXMpLHRoaXMuX2dyb3VwPW51bGwpfX19LDcyNzA5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NyZWF0ZUdyb3VwOigpPT5zfSk7dmFyIGk9bygyOTEzNDEpLG49byg3NzkzODkpO2NvbnN0IHI9bmV3IGkuQWN0aW9uTWFuYWdlcjtyLnByZXNzZWRLZXlzKCksci5rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKTtmdW5jdGlvbiBzKGUpe3JldHVybiBuZXcgbi5BY3Rpb25Hcm91cChyLGUpfX0sMjM1NzI0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse01vZGlmaWVyczooKT0+cyxoYXNoRnJvbUV2ZW50OigpPT5sLGhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHM6KCk9PnAsaHVtYW5SZWFkYWJsZUhhc2g6KCk9PnUsaHVtYW5SZWFkYWJsZU1vZGlmaWVyczooKT0+Yyxpc01hY0tleWJvYXJkOigpPT5yLG1vZGlmaWVyc0Zyb21FdmVudDooKT0+YX0pO3ZhciBpLG49byg3Mzg0NTgpOyFmdW5jdGlvbihlKXtlW2UuS2V5Q29kZT0yNTVdPSJLZXlDb2RlIixlW2UuQ29udHJvbD0yNTZdPSJDb250cm9sIixlW2UuQWx0PTUxMl09IkFsdCIsZVtlLlNoaWZ0PTEwMjRdPSJTaGlmdCIsZVtlLk1ldGE9MjA0OF09Ik1ldGEifShpfHwoaT17fSkpO2NvbnN0IHI9bi5pc01hY3x8bi5pc0lPUzt2YXIgcztmdW5jdGlvbiBhKGUpe2xldCB0PTA7cmV0dXJuIGUuc2hpZnRLZXkmJih0Kz0xMDI0KSxlLmFsdEtleSYmKHQrPTUxMiksZS5jdHJsS2V5JiYodCs9MjU2KSxlLm1ldGFLZXkmJih0Kz0yMDQ4KSx0fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGEoZSl8ZS5rZXlDb2RlfSFmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkFsdD01MTJdPSJBbHQiLGVbZS5TaGlmdD0xMDI0XT0iU2hpZnQiLGVbZS5Nb2Q9cj8yMDQ4OjI1Nl09Ik1vZCIsZVtlLkNvbnRyb2w9MjU2XT0iQ29udHJvbCIsZVtlLk1ldGE9MjA0OF09Ik1ldGEifShzfHwocz17fSkpO2Z1bmN0aW9uIGMoZSx0PSFyKXtsZXQgbz0iIjtyZXR1cm4gMjU2JmUmJihvKz1fKHI/Il4iOiJDdHJsIix0KSksNTEyJmUmJihvKz1fKHI/IuKMpSI6IkFsdCIsdCkpLDEwMjQmZSYmKG8rPV8ocj8i4oenIjoiU2hpZnQiLHQpKSwyMDQ4JmUmJihvKz1fKHI/IuKMmCI6IldpbiIsdCkpLG99Y29uc3QgZD17OToi4oelIiwxMzoi4oa1IiwyNzoiRXNjIiw4OnI/IuKMqyI6IkJhY2tzcGFjZSIsMzI6IlNwYWNlIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IuKGkCIsMzg6IuKGkSIsMzk6IuKGkiIsNDA6IuKGkyIsNDU6IklucyIsNDY6IkRlbCIsMTg4OiIsIiwxOTA6IkRvdCIsMTkxOiIvIn0saD17OToiVGFiIiwxMzoiRW50ZXIiLDI3OiJFc2MiLDg6IkJhY2tzcGFjZSIsMzI6IlNwYWNlIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zIiw0NjoiRGVsIiwxODg6IiwiLDE5MDoiLiIsMTkxOiIvIn07Zm9yKGxldCBlPTE7ZTw9MTY7ZSsrKWRbZSsxMTFdPWBGJHtlfWAsaFtlKzExMV09YEYke2V9YDtmdW5jdGlvbiB1KGUpe2xldCB0PWMoZSk7Y29uc3Qgbz0yNTUmZTtyZXR1cm4gdCs9byBpbiBkP2Rbb106U3RyaW5nLmZyb21DaGFyQ29kZShvKSx0fWZ1bmN0aW9uIF8oZSx0KXtyZXR1cm5gJHtlfSR7dD8iICsgIjpyPyIgIjoiIn1gfWZ1bmN0aW9uIHAoZSl7Y29uc3QgdD1bXTsyNTYmZSYmdC5wdXNoKCJDdHJsIiksNTEyJmUmJnQucHVzaCgiQWx0IiksMTAyNCZlJiZ0LnB1c2goIlNoaWZ0IiksMjA0OCZlJiZ0LnB1c2goIk1ldGEiKTtjb25zdCBvPTI1NSZlO3JldHVybiBvIGluIGQ/dC5wdXNoKGRbb10pOnQucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKG8pKSx0LmpvaW4oIisiKX19LDY5NjIwOChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtLZXlib2FyZFByZXNzZWRLZXlzU3RhdGU6KCk9Pm59KTt2YXIgaT1vKDIzNTcyNCk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMubW9kaWZpZXJzPWUsdGhpcy5jb2RlPXR9YWx0T3JPcHRpb25Db2RlKCl7cmV0dXJuIkFsdExlZnQiPT09dGhpcy5jb2RlfHwiQWx0UmlnaHQiPT09dGhpcy5jb2RlfWNvbnRyb2xPck1ldGFDb2RlKCl7CnJldHVybiBpLmlzTWFjS2V5Ym9hcmQ/Ik1ldGFMZWZ0Ij09PXRoaXMuY29kZXx8Ik1ldGFSaWdodCI9PT10aGlzLmNvZGV8fCJPU0xlZnQiPT09dGhpcy5jb2RlfHwiT1NSaWdodCI9PT10aGlzLmNvZGU6IkNvbnRyb2xMZWZ0Ij09PXRoaXMuY29kZXx8IkNvbnRyb2xSaWdodCI9PT10aGlzLmNvZGV9fX0sNzIxMzY5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2lzTmF0aXZlVUlJbnRlcmFjdGlvbjooKT0+cixpc1RleHRFZGl0aW5nRmllbGQ6KCk9Pm59KTt2YXIgaT1vKDIzNTcyNCk7ZnVuY3Rpb24gbihlKXtpZigiSU5QVVQiPT09ZS50YWdOYW1lKXtjb25zdCB0PWUudHlwZTtyZXR1cm4idGV4dCI9PT10fHwiZW1haWwiPT09dHx8Im51bWJlciI9PT10fHwicGFzc3dvcmQiPT09dHx8InNlYXJjaCI9PT10fHwidGVsIj09PXR8fCJ1cmwiPT09dH1yZXR1cm4iVEVYVEFSRUEiPT09ZS50YWdOYW1lfHxlLmlzQ29udGVudEVkaXRhYmxlfWZ1bmN0aW9uIHIoZSx0KXtpZighdClyZXR1cm4hMTtjb25zdCBvPTI1NSZlO2lmKDI3PT09b3x8bz4+PjQ9PTcpcmV0dXJuITE7c3dpdGNoKGVebyl7Y2FzZSBpLk1vZGlmaWVycy5BbHQ6cmV0dXJuKDM4PT09b3x8NDA9PT1vKSYmIlNFTEVDVCI9PT10LnRhZ05hbWV8fG4odCk7Y2FzZSBpLk1vZGlmaWVycy5BbHQraS5Nb2RpZmllcnMuU2hpZnQ6cmV0dXJuIG4odCk7Y2FzZSBpLk1vZGlmaWVycy5Nb2Q6aWYoNjc9PT1vfHwhaS5pc01hY0tleWJvYXJkJiY0NT09PW8pe2NvbnN0IGU9dC5vd25lckRvY3VtZW50JiZ0Lm93bmVyRG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7aWYoZSYmIWUuaXNDb2xsYXBzZWQpcmV0dXJuITB9cmV0dXJuIG4odCk7Y2FzZSBpLk1vZGlmaWVycy5Nb2QraS5Nb2RpZmllcnMuU2hpZnQ6cmV0dXJuIG8+PTMzJiZvPD00MCYmbih0KTtjYXNlIGkuTW9kaWZpZXJzLlNoaWZ0OmNhc2UgMDpyZXR1cm4gOT09PW8/ISghdC5vd25lckRvY3VtZW50fHx0PT09dC5vd25lckRvY3VtZW50LmJvZHl8fHQ9PT10Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTooIWZ1bmN0aW9uKGUpe2lmKCJCVVRUT04iPT09ZS50YWdOYW1lKXJldHVybiEwO2lmKCJJTlBVVCI9PT1lLnRhZ05hbWUpe2NvbnN0IHQ9ZS50eXBlO2lmKCJzdWJtaXQiPT09dHx8ImJ1dHRvbiI9PT10fHwicmVzZXQiPT09dHx8ImNoZWNrYm94Ij09PXR8fCJyYWRpbyI9PT10KXJldHVybiEwfXJldHVybiExfSh0KXx8MTM9PT1vfHwzMj09PW98fDk9PT1vKSYmKCJmb3JtImluIHR8fHQuaXNDb250ZW50RWRpdGFibGUpfXJldHVybiExfX0sODY4MTEwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2FuY2hvcnM6KCk9PnIsbWFrZUFuY2hvcmFibGU6KCk9PnN9KTt2YXIgaSxuPW8oNzc5NDc0KTshZnVuY3Rpb24oZSl7ZS5Ub3A9InRvcCIsZS5Cb3R0b209ImJvdHRvbSIsZS5Ub3BSaWdodD0idG9wUmlnaHQifShpfHwoaT17fSkpO2NvbnN0IHI9e2JvdHRvbTp7YXR0YWNobWVudDp7aG9yaXpvbnRhbDoibGVmdCIsdmVydGljYWw6InRvcCJ9LHRhcmdldEF0dGFjaG1lbnQ6e2hvcml6b250YWw6ImxlZnQiLHZlcnRpY2FsOiJib3R0b20ifX0sdG9wOnthdHRhY2htZW50Ontob3Jpem9udGFsOiJsZWZ0Iix2ZXJ0aWNhbDoiYm90dG9tIn0sdGFyZ2V0QXR0YWNobWVudDp7aG9yaXpvbnRhbDoibGVmdCIsdmVydGljYWw6InRvcCJ9fSx0b3BSaWdodDp7YXR0YWNobWVudDp7aG9yaXpvbnRhbDoicmlnaHQiLHZlcnRpY2FsOiJib3R0b20ifSx0YXJnZXRBdHRhY2htZW50Ontob3Jpem9udGFsOiJyaWdodCIsdmVydGljYWw6InRvcCJ9fSxib3R0b21SaWdodDp7YXR0YWNobWVudDp7aG9yaXpvbnRhbDoicmlnaHQiLHZlcnRpY2FsOiJ0b3AifSx0YXJnZXRBdHRhY2htZW50Ontob3Jpem9udGFsOiJyaWdodCIsdmVydGljYWw6ImJvdHRvbSJ9fX07ZnVuY3Rpb24gcyhlKXt2YXIgdDtyZXR1cm4odD1jbGFzcyBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtyZW5kZXIoKXtjb25zdHthbmNob3I6dD0iYm90dG9tIn09dGhpcy5wcm9wcztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsYXR0YWNobWVudDpyW3RdLmF0dGFjaG1lbnQsdGFyZ2V0QXR0YWNobWVudDpyW3RdLnRhcmdldEF0dGFjaG1lbnR9KX19KS5kaXNwbGF5TmFtZT0iQW5jaG9yYWJsZSBDb21wb25lbnQiLHR9fSwzODQzNzAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7bWFrZUF0dGFjaGFibGU6KCk9PnJ9KTt2YXIgaT1vKDc3OTQ3NCksbj1vKDEyOTM2NSk7ZnVuY3Rpb24gcihlKXt2YXIgdDtyZXR1cm4odD1jbGFzcyBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9nZXRDb21wb25lbnRJbnN0YW5jZT1lPT57dGhpcy5faW5zdGFuY2U9ZX0sdGhpcy5fdGhyb3R0bGVDYWxjUHJvcHM9KCk9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLnNldFN0YXRlKHRoaXMuX2NhbGNQcm9wcyh0aGlzLnByb3BzKSkpKX0sdGhpcy5zdGF0ZT10aGlzLl9nZXRTdGF0ZUZyb21Qcm9wcygpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5faW5zdGFuY2VFbGVtPW4uZmluZERPTU5vZGUodGhpcy5faW5zdGFuY2UpLHRoaXMucHJvcHMuYXR0YWNoT25jZXx8dGhpcy5fc3Vic2NyaWJlKCksdGhpcy5zZXRTdGF0ZSh0aGlzLl9jYWxjUHJvcHModGhpcy5wcm9wcykpfWNvbXBvbmVudERpZFVwZGF0ZShlKXtlLmNoaWxkcmVuPT09dGhpcy5wcm9wcy5jaGlsZHJlbiYmZS50b3A9PT10aGlzLnByb3BzLnRvcCYmZS5sZWZ0PT09dGhpcy5wcm9wcy5sZWZ0JiZlLndpZHRoPT09dGhpcy5wcm9wcy53aWR0aHx8dGhpcy5zZXRTdGF0ZSh0aGlzLl9nZXRTdGF0ZUZyb21Qcm9wcygpLCgoKT0+dGhpcy5zZXRTdGF0ZSh0aGlzLl9jYWxjUHJvcHModGhpcy5wcm9wcykpKSl9cmVuZGVyKCl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsd2lkdGg6IjEwMCUiLHRvcDowLGxlZnQ6MH19LGkuY3JlYXRlRWxlbWVudChlLHsuLi50aGlzLnByb3BzLHJlZjp0aGlzLl9nZXRDb21wb25lbnRJbnN0YW5jZSx0b3A6dGhpcy5zdGF0ZS50b3AsCmJvdHRvbTp2b2lkIDAhPT10aGlzLnN0YXRlLmJvdHRvbT90aGlzLnN0YXRlLmJvdHRvbToiYXV0byIscmlnaHQ6dm9pZCAwIT09dGhpcy5zdGF0ZS5yaWdodD90aGlzLnN0YXRlLnJpZ2h0OiJhdXRvIixsZWZ0OnRoaXMuc3RhdGUubGVmdCx3aWR0aDp0aGlzLnN0YXRlLndpZHRoLG1heFdpZHRoOnRoaXMuc3RhdGUubWF4V2lkdGh9LHRoaXMucHJvcHMuY2hpbGRyZW4pKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Vuc3Vic3JpYmUoKX1fZ2V0U3RhdGVGcm9tUHJvcHMoKXtyZXR1cm57Ym90dG9tOnRoaXMucHJvcHMuYm90dG9tLGxlZnQ6dGhpcy5wcm9wcy5sZWZ0LHJpZ2h0OnRoaXMucHJvcHMucmlnaHQsdG9wOnZvaWQgMCE9PXRoaXMucHJvcHMudG9wP3RoaXMucHJvcHMudG9wOi0xZTQsd2lkdGg6dGhpcy5wcm9wcy5pbmhlcml0V2lkdGhGcm9tVGFyZ2V0P3RoaXMucHJvcHMudGFyZ2V0JiZ0aGlzLnByb3BzLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDp0aGlzLnByb3BzLndpZHRoLG1heFdpZHRoOnRoaXMucHJvcHMuaW5oZXJpdE1heFdpZHRoRnJvbVRhcmdldCYmdGhpcy5wcm9wcy50YXJnZXQmJnRoaXMucHJvcHMudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRofX1fY2FsY1Byb3BzKGUpe2lmKGUudGFyZ2V0JiZlLmF0dGFjaG1lbnQmJmUudGFyZ2V0QXR0YWNobWVudCl7Y29uc3QgdD10aGlzLl9jYWxjVGFyZ2V0UHJvcHMoZS50YXJnZXQsZS5hdHRhY2htZW50LGUudGFyZ2V0QXR0YWNobWVudCk7aWYobnVsbD09PXQpcmV0dXJue307Y29uc3R7d2lkdGg6byxpbmhlcml0V2lkdGhGcm9tVGFyZ2V0Omk9ITAsaW5oZXJpdE1heFdpZHRoRnJvbVRhcmdldDpuPSExfT10aGlzLnByb3BzLHI9e3dpZHRoOmk/dC53aWR0aDpvLG1heFdpZHRoOm4/dC53aWR0aDp2b2lkIDB9O3N3aXRjaChlLmF0dGFjaG1lbnQudmVydGljYWwpe2Nhc2UiYm90dG9tIjpjYXNlIm1pZGRsZSI6ci50b3A9dC55O2JyZWFrO2RlZmF1bHQ6cltlLmF0dGFjaG1lbnQudmVydGljYWxdPXQueX1zd2l0Y2goZS5hdHRhY2htZW50Lmhvcml6b250YWwpe2Nhc2UicmlnaHQiOmNhc2UiY2VudGVyIjpyLmxlZnQ9dC54O2JyZWFrO2RlZmF1bHQ6cltlLmF0dGFjaG1lbnQuaG9yaXpvbnRhbF09dC54fXJldHVybiByfXJldHVybnt9fV9jYWxjVGFyZ2V0UHJvcHMoZSx0LG8pe2NvbnN0IGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPXRoaXMuX2luc3RhbmNlRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPSJwYXJlbnQiPT09dGhpcy5wcm9wcy5yb290P3RoaXMuX2dldENvb3Jkc1JlbFRvUGFyZW50RWwoZSxpKTp0aGlzLl9nZXRDb29yZHNSZWxUb0RvY3VtZW50KGkpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fZ2V0RGltZW5zaW9ucyhuKSxhPXRoaXMuX2dldERpbWVuc2lvbnMoaSkud2lkdGg7bGV0IGw9MCxjPTA7c3dpdGNoKHQudmVydGljYWwpe2Nhc2UidG9wIjpjPXJbby52ZXJ0aWNhbF07YnJlYWs7Y2FzZSJib3R0b20iOmM9cltvLnZlcnRpY2FsXS1zLmhlaWdodDticmVhaztjYXNlIm1pZGRsZSI6Yz1yW28udmVydGljYWxdLXMuaGVpZ2h0LzJ9c3dpdGNoKHQuaG9yaXpvbnRhbCl7Y2FzZSJsZWZ0IjpsPXJbby5ob3Jpem9udGFsXTticmVhaztjYXNlInJpZ2h0IjpsPXJbby5ob3Jpem9udGFsXS1zLndpZHRoO2JyZWFrO2Nhc2UiY2VudGVyIjpsPXJbby5ob3Jpem9udGFsXS1zLndpZHRoLzJ9cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0aGlzLnByb3BzLmF0dGFjaG1lbnRPZmZzZXRZJiYoYys9dGhpcy5wcm9wcy5hdHRhY2htZW50T2Zmc2V0WSksIm51bWJlciI9PXR5cGVvZiB0aGlzLnByb3BzLmF0dGFjaG1lbnRPZmZzZXRYJiYobCs9dGhpcy5wcm9wcy5hdHRhY2htZW50T2Zmc2V0WCkse3g6bCx5OmMsd2lkdGg6YX19X2dldENvb3Jkc1JlbFRvRG9jdW1lbnQoZSl7Y29uc3QgdD1wYWdlWU9mZnNldCxvPXBhZ2VYT2Zmc2V0LGk9ZS50b3ArdCxuPWUuYm90dG9tK3Qscj1lLmxlZnQrbztyZXR1cm57dG9wOmksYm90dG9tOm4sbGVmdDpyLHJpZ2h0OmUucmlnaHQrbyxtaWRkbGU6KGkrZS5oZWlnaHQpLzIsY2VudGVyOnIrZS53aWR0aC8yfX1fZ2V0Q29vcmRzUmVsVG9QYXJlbnRFbChlLHQpe2NvbnN0IG89ZS5vZmZzZXRQYXJlbnQ7aWYobnVsbD09PW8pcmV0dXJuIG51bGw7Y29uc3QgaT1vLnNjcm9sbFRvcCxuPW8uc2Nyb2xsTGVmdCxyPWUub2Zmc2V0VG9wK2kscz1lLm9mZnNldExlZnQrbixhPXQud2lkdGgrcztyZXR1cm57dG9wOnIsYm90dG9tOnQuaGVpZ2h0K3IsbGVmdDpzLHJpZ2h0OmEsbWlkZGxlOihyK3QuaGVpZ2h0KS8yLGNlbnRlcjoocyt0LndpZHRoKS8yfX1fZ2V0RGltZW5zaW9ucyhlKXtyZXR1cm57aGVpZ2h0OmUuaGVpZ2h0LHdpZHRoOmUud2lkdGh9fV9zdWJzY3JpYmUoKXsiZG9jdW1lbnQiPT09dGhpcy5wcm9wcy5yb290JiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5fdGhyb3R0bGVDYWxjUHJvcHMsITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Rocm90dGxlQ2FsY1Byb3BzKSl9X3Vuc3Vic3JpYmUoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl90aHJvdHRsZUNhbGNQcm9wcywhMCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fdGhyb3R0bGVDYWxjUHJvcHMpfX0pLmRpc3BsYXlOYW1lPSJBdHRhY2hhYmxlIENvbXBvbmVudCIsdH19LDM0Mjc4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RvQW5pbWF0ZTooKT0+cn0pO2NvbnN0IGk9e2Zyb206MCxkdXJhdGlvbjoyNTAsZWFzaW5nOm8oMjE4ODE0KS5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3Mgbntjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2luZz0hMCx0aGlzLl9jb21wbGV0ZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4uaSwuLi5lfTtjb25zdCB0PXBlcmZvcm1hbmNlLm5vdygpO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGU9Pnt0aGlzLl9hbmltYXRpb24odCx0aGlzLl9vcHRpb25zLmZyb20sZSl9KSl9c3RvcCgpewp0aGlzLl9kb2luZz0hMX1jb21wbGV0ZWQoKXtyZXR1cm4gdGhpcy5fY29tcGxldGVkfV9hbmltYXRpb24oZSx0LG8pe2lmKCF0aGlzLl9kb2luZylyZXR1cm4gdm9pZCB0aGlzLl9maW5pc2hBbmltYXRpb24oKTtjb25zdCBpPShvPSFvfHxvPDFlMTI/cGVyZm9ybWFuY2Uubm93KCk6byktZSxuPWk+PXRoaXMuX29wdGlvbnMuZHVyYXRpb258fHQ9PT10aGlzLl9vcHRpb25zLnRvLHI9KHM9dGhpcy5fb3B0aW9ucy5mcm9tLGE9dGhpcy5fb3B0aW9ucy50byxsPXRoaXMuX29wdGlvbnMuZWFzaW5nKGkvdGhpcy5fb3B0aW9ucy5kdXJhdGlvbikscyooMS1sKSthKmwpO3ZhciBzLGEsbDtjb25zdCBjPW4/dGhpcy5fb3B0aW9ucy50bzpyLGQ9Yy10O3RoaXMuX29wdGlvbnMub25TdGVwKGQsYyksbj90aGlzLl9maW5pc2hBbmltYXRpb24oKTp3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0PT57dGhpcy5fYW5pbWF0aW9uKGUsYyx0KX0pKX1fZmluaXNoQW5pbWF0aW9uKCl7dGhpcy5fb3B0aW9ucy5vbkNvbXBsZXRlJiZ0aGlzLl9vcHRpb25zLm9uQ29tcGxldGUoKSx0aGlzLl9jb21wbGV0ZWQ9ITB9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIG5ldyBuKGUpfX0sNzgwMzc0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RyYWdnYWJsZTooKT0+cn0pO3ZhciBpPW8oMTM4NjM4KSxuPW8oMzE0NzIwKTtvKDg0ODUyNyk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9oZWxwZXI9bnVsbCx0aGlzLl9oYW5kbGVEcmFnU3RhcnQ9ZT0+e2lmKG51bGwhPT10aGlzLl9oZWxwZXIpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc291cmNlO3QuY2xhc3NMaXN0LmFkZCgidWktZHJhZ2dhYmxlLWRyYWdnaW5nIik7Y29uc3RbbyxpXT1bKDAsbi5vdXRlcldpZHRoKSh0KSwoMCxuLm91dGVySGVpZ2h0KSh0KV07dGhpcy5faGVscGVyPXtzdGFydFRvcDpwYXJzZUZsb2F0KHQuc3R5bGUudG9wKXx8MCxzdGFydExlZnQ6cGFyc2VGbG9hdCh0LnN0eWxlLmxlZnQpfHwwLG5leHRUb3A6bnVsbCxuZXh0TGVmdDpudWxsLHJhZjpudWxsLHNpemU6W28saV0sY29udGFpbm1lbnQ6dGhpcy5fY29udGFpbm1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9bcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jb250YWlubWVudCkuYm9yZGVyTGVmdFdpZHRoKStwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRhaW5tZW50KS5wYWRkaW5nTGVmdCkscGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jb250YWlubWVudCkuYm9yZGVyVG9wV2lkdGgpK3BhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodGhpcy5fY29udGFpbm1lbnQpLnBhZGRpbmdUb3ApLHRoaXMuX2NvbnRhaW5tZW50Lm9mZnNldFdpZHRoLXBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodGhpcy5fY29udGFpbm1lbnQpLmJvcmRlclJpZ2h0V2lkdGgpLXBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodGhpcy5fY29udGFpbm1lbnQpLnBhZGRpbmdSaWdodCktcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0KS5tYXJnaW5MZWZ0KS1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHQpLm1hcmdpblJpZ2h0KS1vLHRoaXMuX2NvbnRhaW5tZW50Lm9mZnNldEhlaWdodC1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRhaW5tZW50KS5ib3JkZXJCb3R0b21XaWR0aCktcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jb250YWlubWVudCkucGFkZGluZ0JvdHRvbSktcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0KS5tYXJnaW5Ub3ApLXBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodCkubWFyZ2luQm90dG9tKS1pXToid2luZG93Ij09PXRoaXMuX2NvbnRhaW5tZW50P1t3aW5kb3cuc2Nyb2xsWCx3aW5kb3cuc2Nyb2xsWSx3aW5kb3cuc2Nyb2xsWCtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGgtbyx3aW5kb3cuc2Nyb2xsWStkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0LWldOm51bGx9LHRoaXMuX3N0YXJ0Py4oKX0sdGhpcy5faGFuZGxlRHJhZ01vdmU9ZT0+e2lmKG51bGw9PT10aGlzLl9oZWxwZXIpcmV0dXJuO2NvbnN0e2N1cnJlbnQ6dCxpbml0aWFsOm99PWUuZGV0YWlsLGk9dGhpcy5fc291cmNlLG49dGhpcy5faGVscGVyLm5leHRUb3Ascj10aGlzLl9oZWxwZXIubmV4dExlZnQscz0ieSI9PT10aGlzLl9heGlzfHwhMT09PXRoaXMuX2F4aXN8fDAhPT10Lm1vdmVtZW50WTtpZihzKXtjb25zdCBlPXRoaXMuX2hlbHBlci5zdGFydFRvcDtpc0Zpbml0ZShlKSYmKHRoaXMuX2hlbHBlci5uZXh0VG9wPXQuY2xpZW50WS1vLmNsaWVudFkrZSl9Y29uc3QgYT0ieCI9PT10aGlzLl9heGlzfHwhMT09PXRoaXMuX2F4aXN8fDAhPT10Lm1vdmVtZW50WTtpZihhKXtjb25zdCBlPXRoaXMuX2hlbHBlci5zdGFydExlZnQ7aXNGaW5pdGUoZSkmJih0aGlzLl9oZWxwZXIubmV4dExlZnQ9dC5jbGllbnRYLW8uY2xpZW50WCtlKX1pZihudWxsIT09dGhpcy5faGVscGVyLmNvbnRhaW5tZW50KXtjb25zdFtlLHQsbyxpXT10aGlzLl9oZWxwZXIuY29udGFpbm1lbnQ7cyYmdGhpcy5faGVscGVyLm5leHRUb3AmJih0aGlzLl9oZWxwZXIubmV4dFRvcD1NYXRoLm1pbih0aGlzLl9oZWxwZXIubmV4dFRvcCxpKSx0aGlzLl9oZWxwZXIubmV4dFRvcD1NYXRoLm1heCh0aGlzLl9oZWxwZXIubmV4dFRvcCx0KSksYSYmdGhpcy5faGVscGVyLm5leHRMZWZ0JiYodGhpcy5faGVscGVyLm5leHRMZWZ0PU1hdGgubWluKHRoaXMuX2hlbHBlci5uZXh0TGVmdCxvKSx0aGlzLl9oZWxwZXIubmV4dExlZnQ9TWF0aC5tYXgodGhpcy5faGVscGVyLm5leHRMZWZ0LGUpKX1udWxsIT09dGhpcy5faGVscGVyLnJhZnx8bj09PXRoaXMuX2hlbHBlci5uZXh0VG9wJiZyPT09dGhpcy5faGVscGVyLm5leHRMZWZ0fHwodGhpcy5faGVscGVyLnJhZj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57bnVsbCE9PXRoaXMuX2hlbHBlciYmKG51bGwhPT10aGlzLl9oZWxwZXIubmV4dFRvcCYmKGkuc3R5bGUudG9wPXRoaXMuX2hlbHBlci5uZXh0VG9wKyJweCIsdGhpcy5faGVscGVyLm5leHRUb3A9bnVsbCksCm51bGwhPT10aGlzLl9oZWxwZXIubmV4dExlZnQmJihpLnN0eWxlLmxlZnQ9dGhpcy5faGVscGVyLm5leHRMZWZ0KyJweCIsdGhpcy5faGVscGVyLm5leHRMZWZ0PW51bGwpLHRoaXMuX2hlbHBlci5yYWY9bnVsbCl9KSkpLHRoaXMuX2RyYWc/LigpfSx0aGlzLl9oYW5kbGVEcmFnU3RvcD1lPT57aWYobnVsbD09PXRoaXMuX2hlbHBlcilyZXR1cm47dGhpcy5fc291cmNlLmNsYXNzTGlzdC5yZW1vdmUoInVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpLHRoaXMuX2hlbHBlcj1udWxsLHRoaXMuX3N0b3A/LigpfTtjb25zdCB0PXRoaXMuX3NvdXJjZT1lLnNvdXJjZTt0LmNsYXNzTGlzdC5hZGQoInVpLWRyYWdnYWJsZSIpO2NvbnN0IG89dGhpcy5faGFuZGxlPShlLmhhbmRsZT90LnF1ZXJ5U2VsZWN0b3IoZS5oYW5kbGUpOm51bGwpPz90O28uY2xhc3NMaXN0LmFkZCgidWktZHJhZ2dhYmxlLWhhbmRsZSIpLHRoaXMuX3N0YXJ0PWUuc3RhcnQsdGhpcy5fc3RvcD1lLnN0b3AsdGhpcy5fZHJhZz1lLmRyYWcsdGhpcy5fYmFja2VuZD1uZXcgcyh7aGFuZGxlOm8sb25EcmFnU3RhcnQ6dGhpcy5faGFuZGxlRHJhZ1N0YXJ0LG9uRHJhZ01vdmU6dGhpcy5faGFuZGxlRHJhZ01vdmUsb25EcmFnU3RvcDp0aGlzLl9oYW5kbGVEcmFnU3RvcH0pLHRoaXMuX2F4aXM9ZS5heGlzPz8hMSx0aGlzLl9jb250YWlubWVudD1lLmNvbnRhaW5tZW50fWRlc3Ryb3koKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtlLmNsYXNzTGlzdC5yZW1vdmUoInVpLWRyYWdnYWJsZSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgidWktZHJhZ2dhYmxlLWRyYWdnaW5nIik7dGhpcy5faGFuZGxlLmNsYXNzTGlzdC5yZW1vdmUoInVpLWRyYWdnYWJsZS1oYW5kbGUiKSx0aGlzLl9iYWNrZW5kLmRlc3Ryb3koKSxudWxsIT09dGhpcy5faGVscGVyJiYodGhpcy5faGVscGVyLnJhZiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5faGVscGVyLnJhZiksdGhpcy5faGVscGVyPW51bGwpfX1jbGFzcyBze2NvbnN0cnVjdG9yKGUpe3RoaXMuX3BvaW50ZXJTdGFydGVkPSExLHRoaXMuX2luaXRpYWw9bnVsbCx0aGlzLl9oYW5kbGVQb2ludGVyRG93bj1lPT57aWYobnVsbCE9PXRoaXMuX2luaXRpYWx8fDAhPT1lLmJ1dHRvbilyZXR1cm47aWYoIShlLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJnRoaXMuX2hhbmRsZS5jb250YWlucyhlLnRhcmdldCkpKXJldHVybjtpZih0aGlzLl9pbml0aWFsPWUsIXRoaXMuX2Rpc3RhbmNlJiYodGhpcy5fcG9pbnRlclN0YXJ0KCksIXRoaXMuX3BvaW50ZXJTdGFydGVkKSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9dGhpcy5fZ2V0RXZlbnRUYXJnZXQoKTt0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIix0aGlzLl9oYW5kbGVQb2ludGVyTW92ZSksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuX2hhbmRsZVBvaW50ZXJVcCksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIix0aGlzLl9oYW5kbGVQb2ludGVyVXApLHQuYWRkRXZlbnRMaXN0ZW5lcigibG9zdHBvaW50ZXJjYXB0dXJlIix0aGlzLl9oYW5kbGVMb3N0UG9pbnRlckNhcHR1cmUpfSx0aGlzLl9oYW5kbGVMb3N0UG9pbnRlckNhcHR1cmU9ZT0+e3RoaXMuX2dldEV2ZW50VGFyZ2V0KCk9PT1lLnRhcmdldCYmdGhpcy5faGFuZGxlUG9pbnRlclVwKGUpfSx0aGlzLl9oYW5kbGVQb2ludGVyTW92ZT1lPT57aWYobnVsbCE9PXRoaXMuX2luaXRpYWwmJnRoaXMuX2luaXRpYWwucG9pbnRlcklkPT09ZS5wb2ludGVySWQpaWYodGhpcy5fcG9pbnRlclN0YXJ0ZWQpdGhpcy5fcG9pbnRlckRyYWcoZSk7ZWxzZSBpZih0aGlzLl9wb2ludGVyRGlzdGFuY2VNZXQoZSkpe2lmKHRoaXMuX3BvaW50ZXJTdGFydCgpLHRoaXMuX3BvaW50ZXJTdGFydGVkKXJldHVybiB2b2lkIHRoaXMuX3BvaW50ZXJEcmFnKGUpO3RoaXMuX2hhbmRsZVBvaW50ZXJVcChlKX19LHRoaXMuX2hhbmRsZVBvaW50ZXJVcD1lPT57aWYobnVsbD09PXRoaXMuX2luaXRpYWx8fHRoaXMuX2luaXRpYWwucG9pbnRlcklkIT09ZS5wb2ludGVySWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PXRoaXMuX2dldEV2ZW50VGFyZ2V0KCk7dC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5faGFuZGxlUG9pbnRlck1vdmUpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLl9oYW5kbGVQb2ludGVyVXApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsdGhpcy5faGFuZGxlUG9pbnRlclVwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvc3Rwb2ludGVyY2FwdHVyZSIsdGhpcy5faGFuZGxlUG9pbnRlclVwKSx0aGlzLl9wb2ludGVyU3RhcnRlZCYmKHRoaXMuX3BvaW50ZXJTdGFydGVkPSExLHQucmVsZWFzZVBvaW50ZXJDYXB0dXJlKHRoaXMuX2luaXRpYWwucG9pbnRlcklkKSx0aGlzLl9kaXNwYXRjaEV2ZW50KHRoaXMuX2NyZWF0ZUV2ZW50KCJwb2ludGVyLWRyYWctc3RvcCIsZSkpKSx0aGlzLl9pbml0aWFsPW51bGx9O2NvbnN0IHQ9dGhpcy5faGFuZGxlPWUuaGFuZGxlO3RoaXMuX29uRHJhZ1N0YXJ0PWUub25EcmFnU3RhcnQsdGhpcy5fb25EcmFnTW92ZT1lLm9uRHJhZ01vdmUsdGhpcy5fb25EcmFnU3RvcD1lLm9uRHJhZ1N0b3AsdGhpcy5fZGlzdGFuY2U9ZS5kaXN0YW5jZT8/MCx0aGlzLl9yb290RWxlbWVudD1lLnJvb3RFbGVtZW50LHQuc3R5bGUudG91Y2hBY3Rpb249Im5vbmUiLHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMuX2hhbmRsZVBvaW50ZXJEb3duKX1kZXN0cm95KCl7Y29uc3QgZT10aGlzLl9oYW5kbGU7ZS5zdHlsZS50b3VjaEFjdGlvbj0iIixlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIix0aGlzLl9oYW5kbGVQb2ludGVyRG93biksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5faGFuZGxlUG9pbnRlck1vdmUpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLl9oYW5kbGVQb2ludGVyVXApLAplLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHRoaXMuX2hhbmRsZVBvaW50ZXJVcCksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb3N0cG9pbnRlcmNhcHR1cmUiLHRoaXMuX2hhbmRsZVBvaW50ZXJVcCksbnVsbCE9PXRoaXMuX2luaXRpYWwmJihlLnJlbGVhc2VQb2ludGVyQ2FwdHVyZSh0aGlzLl9pbml0aWFsLnBvaW50ZXJJZCksdGhpcy5faW5pdGlhbD1udWxsKSx0aGlzLl9wb2ludGVyU3RhcnRlZD0hMX1fcG9pbnRlclN0YXJ0KCl7aWYoIXRoaXMuX2luaXRpYWwpcmV0dXJuO2NvbnN0IGU9dGhpcy5fZ2V0RXZlbnRUYXJnZXQoKTt0aGlzLl9kaXNwYXRjaEV2ZW50KHRoaXMuX2NyZWF0ZUV2ZW50KCJwb2ludGVyLWRyYWctc3RhcnQiLHRoaXMuX2luaXRpYWwpKT8odGhpcy5fcG9pbnRlclN0YXJ0ZWQ9ITAsZS5zZXRQb2ludGVyQ2FwdHVyZSh0aGlzLl9pbml0aWFsLnBvaW50ZXJJZCkpOnRoaXMuX2luaXRpYWw9bnVsbH1fcG9pbnRlckRyYWcoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2Rpc3BhdGNoRXZlbnQodGhpcy5fY3JlYXRlRXZlbnQoInBvaW50ZXItZHJhZy1tb3ZlIixlKSl9X3BvaW50ZXJEaXN0YW5jZU1ldChlKXtyZXR1cm4hdGhpcy5faW5pdGlhbHx8IXRoaXMuX2Rpc3RhbmNlfHxNYXRoLm1heChNYXRoLmFicyh0aGlzLl9pbml0aWFsLmNsaWVudFgtZS5jbGllbnRYKSxNYXRoLmFicyh0aGlzLl9pbml0aWFsLmNsaWVudFktZS5jbGllbnRZKSk+PXRoaXMuX2Rpc3RhbmNlfV9nZXRFdmVudFRhcmdldCgpe3JldHVybiB0aGlzLl9yb290RWxlbWVudD8/dGhpcy5faGFuZGxlfV9kaXNwYXRjaEV2ZW50KGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UicG9pbnRlci1kcmFnLXN0YXJ0Ijp0aGlzLl9vbkRyYWdTdGFydChlKTticmVhaztjYXNlInBvaW50ZXItZHJhZy1tb3ZlIjp0aGlzLl9vbkRyYWdNb3ZlKGUpO2JyZWFrO2Nhc2UicG9pbnRlci1kcmFnLXN0b3AiOnRoaXMuX29uRHJhZ1N0b3AoZSl9cmV0dXJuIWUuZGVmYXVsdFByZXZlbnRlZH1fY3JlYXRlRXZlbnQoZSx0KXtyZXR1cm4oMCxpLmFzc2VydCkobnVsbCE9PXRoaXMuX2luaXRpYWwpLG5ldyBDdXN0b21FdmVudChlLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsZGV0YWlsOntiYWNrZW5kOnRoaXMsaW5pdGlhbDp0aGlzLl9pbml0aWFsLGN1cnJlbnQ6dH19KX19fSw0MDYxMTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TWF0Y2hNZWRpYTooKT0+bn0pO3ZhciBpPW8oNzc5NDc0KTtjbGFzcyBuIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2hhbmRsZUNoYW5nZT0oKT0+e3RoaXMuZm9yY2VVcGRhdGUoKX0sdGhpcy5zdGF0ZT17cXVlcnk6d2luZG93Lm1hdGNoTWVkaWEodGhpcy5wcm9wcy5ydWxlKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLl9zdWJzY3JpYmUodGhpcy5zdGF0ZS5xdWVyeSl9Y29tcG9uZW50RGlkVXBkYXRlKGUsdCl7dGhpcy5zdGF0ZS5xdWVyeSE9PXQucXVlcnkmJih0aGlzLl91bnN1YnNjcmliZSh0LnF1ZXJ5KSx0aGlzLl9zdWJzY3JpYmUodGhpcy5zdGF0ZS5xdWVyeSkpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fdW5zdWJzY3JpYmUodGhpcy5zdGF0ZS5xdWVyeSl9cmVuZGVyKCl7cmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW4odGhpcy5zdGF0ZS5xdWVyeS5tYXRjaGVzKX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7cmV0dXJuIGUucnVsZSE9PXQucXVlcnkubWVkaWE/e3F1ZXJ5OndpbmRvdy5tYXRjaE1lZGlhKGUucnVsZSl9Om51bGx9X3N1YnNjcmliZShlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5faGFuZGxlQ2hhbmdlKX1fdW5zdWJzY3JpYmUoZSl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuX2hhbmRsZUNoYW5nZSl9fX0sNzc4NDU4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2JyZWFrcG9pbnRzOigpPT5pLG1vYmlsZUZpcnN0QnJlYWtwb2ludHM6KCk9Pm4sbW9iaWxlRmlyc3RMZWdhY3lCcmVha3BvaW50czooKT0+cn0pO2NvbnN0IGk9e2Rlc2t0b3A6MS8wLGRlc2t0b3BIZDoxOTE5LHBob25lOjc2NywicGhvbmUtdmVydGljYWwiOjQ3OSx0YWJsZXQ6MTAxOX0sbj17YmFzZTowLCJtZWRpYS1tZi1waG9uZS12ZXJ0aWNhbCI6MzIwLCJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiOjU2OCwibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIjo3NjgsIm1lZGlhLW1mLXRhYmxldC1sYW5kc2NhcGUiOjEwMjQsIm1lZGlhLW1mLWxhcHRvcCI6MTI4MCwibWVkaWEtbWYtZGVza3RvcC1tZWRpdW0iOjE0NDAsIm1lZGlhLW1mLWRlc2t0b3AtbGFyZ2UiOjE5MjAsIm1lZGlhLW1mLWRlc2t0b3AtZXh0cmEtbGFyZ2UiOjI1NjB9LHI9eyJtZWRpYS1tZi1sZWdhY3ktcGhvbmUtdmVydGljYWwiOjMzMCwibWVkaWEtbWYtbGVnYWN5LXBob25lIjo0ODAsIm1lZGlhLW1mLWxlZ2FjeS1ub3RlYm9vayI6MTAyMCwibWVkaWEtbWYtbGVnYWN5LWRlc2t0b3AtbWVkaXVtIjoxNDgwLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcCI6MTUzMX19LDI3NjAxOShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnbG9iYWxDbG9zZURlbGVnYXRlOigpPT5pLGdsb2JhbENsb3NlTWVudTooKT0+bn0pO2NvbnN0IGk9bmV3KG8oOTQ4MzgwKS5EZWxlZ2F0ZSk7ZnVuY3Rpb24gbigpe2kuZmlyZSgpfX0sNjA5NTI4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RpYWxvZ0JyZWFrcG9pbnRzOigpPT5ufSk7dmFyIGk9byg5MjQ1MDcpO2NvbnN0IG49e1NtYWxsSGVpZ2h0OmlbInNtYWxsLWhlaWdodC1icmVha3BvaW50Il0sVGFibGV0U21hbGw6aVsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiXSxUYWJsZXROb3JtYWw6aVsidGFibGV0LW5vcm1hbC1icmVha3BvaW50Il19fSw5OTU2NzgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7cmVsZWFzZU1vZGFsU2Nyb2xsTG9jazooKT0+cyxyZXF1ZXN0TW9kYWxTY3JvbGxMb2NrOigpPT5yfSk7Y29uc3QgaT0ibW9kYWwtc2Nyb2xsLWxvY2stcmVxdWVzdCIsbj0ibW9kYWwtc2Nyb2xsLWxvY2stcmVsZWFzZSIKO2Z1bmN0aW9uIHIoZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChpKSl9ZnVuY3Rpb24gcyhlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KG4pKX19LDY1OTg3OChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHttYWtlT3ZlcmxhcGFibGU6KCk9PnJ9KTt2YXIgaT1vKDc3OTQ3NCksbj1vKDU4NTQ4KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2lzT3BlbmVkOm8scm9vdDpyfT10aGlzLnByb3BzO2lmKCFvKXJldHVybiBudWxsO2NvbnN0IHM9aS5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMscmVmOnRoaXMucHJvcHMuY29tcG9uZW50UmVmLHpJbmRleDoxNTB9KTtyZXR1cm4icGFyZW50Ij09PXI/czppLmNyZWF0ZUVsZW1lbnQobi5Qb3J0YWwse3Nob3VsZFRyYXBGb2N1czp0fSxzKX19fX0sNTU4MDMwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1RvdWNoU2Nyb2xsQ29udGFpbmVyOigpPT5jfSk7dmFyIGk9byg3Nzk0NzQpLG49byg4NTMzMzYpLHI9bygxMzg2MzgpLHM9byg3Mzg0NTgpO2NvbnN0IGE9Q1NTLnN1cHBvcnRzKCJvdmVyc2Nyb2xsLWJlaGF2aW9yIiwibm9uZSIpO2xldCBsPTA7Y29uc3QgYz0oMCxpLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NoaWxkcmVuOm8sLi4ucn09ZSxjPSgwLGkudXNlUmVmKShudWxsKTtyZXR1cm4oMCxpLnVzZUltcGVyYXRpdmVIYW5kbGUpKHQsKCgpPT5jLmN1cnJlbnQpKSwoMCxpLnVzZUxheW91dEVmZmVjdCkoKCgpPT57aWYocy5pc0lPUylyZXR1cm4gbCsrLG51bGwhPT1jLmN1cnJlbnQmJihhPzE9PT1sJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyc2Nyb2xsQmVoYXZpb3I9Im5vbmUiKTooMCxuLmRpc2FibGVCb2R5U2Nyb2xsKShjLmN1cnJlbnQse2FsbG93VG91Y2hNb3ZlOmQoYyl9KSksKCk9PntsLS0sbnVsbCE9PWMuY3VycmVudCYmKGE/MD09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIik6KDAsbi5lbmFibGVCb2R5U2Nyb2xsKShjLmN1cnJlbnQpKX19KSxbXSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6YywuLi5yfSxvKX0pKTtmdW5jdGlvbiBkKGUpe3JldHVybiB0PT57Y29uc3Qgbz0oMCxyLmVuc3VyZU5vdE51bGwpKGUuY3VycmVudCksaT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3JldHVybiFvLmNvbnRhaW5zKHQpfHxudWxsIT09aSYmby5jb250YWlucyhpKSYmaS5jb250YWlucyh0KX19fSw5OTk1MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtBcHBDb250ZXh0OigpPT5pfSk7Y29uc3QgaT0oMCxvKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2lzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDE1NDYyMyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtwcmVzZXREZWZhdWx0OigpPT5pLHByZXNldFBsYXRmb3JtOigpPT5ufSk7Y29uc3QgaT17ZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ITB9LG49e2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiExfX0sMjE4ODE0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NvbG9yOigpPT5yLGR1cjooKT0+aSxlYXNpbmdGdW5jOigpPT5ufSk7Y29uc3QgaT0zNTAsbj17bGluZWFyOmU9PmUsZWFzZUluUXVhZDplPT5lKmUsZWFzZU91dFF1YWQ6ZT0+ZSooMi1lKSxlYXNlSW5PdXRRdWFkOmU9PmU8LjU/MiplKmU6KDQtMiplKSplLTEsZWFzZUluQ3ViaWM6ZT0+ZSplKmUsZWFzZU91dEN1YmljOmU9Pi0tZSplKmUrMSxlYXNlSW5PdXRDdWJpYzplPT5lPC41PzQqZSplKmU6KGUtMSkqKDIqZS0yKSooMiplLTIpKzEsZWFzZUluUXVhcnQ6ZT0+ZSplKmUqZSxlYXNlT3V0UXVhcnQ6ZT0+MS0gLS1lKmUqZSplLGVhc2VJbk91dFF1YXJ0OmU9PmU8LjU/OCplKmUqZSplOjEtOCotLWUqZSplKmUsZWFzZUluUXVpbnQ6ZT0+ZSplKmUqZSplLGVhc2VPdXRRdWludDplPT4xKy0tZSplKmUqZSplLGVhc2VJbk91dFF1aW50OmU9PmU8LjU/MTYqZSplKmUqZSplOjErMTYqLS1lKmUqZSplKmV9O2NvbnN0IHI9e2JsYWNrNzA6IiM0QTRBNEEiLGJsYWNrODA6IiM1MzUzNTMifX0sNzg3ODk1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3VzZUZ1bmN0aW9uYWxSZWZPYmplY3Q6KCk9PnJ9KTt2YXIgaT1vKDc3OTQ3NCksbj1vKDYxNjMxMSk7ZnVuY3Rpb24gcihlKXtjb25zdCB0PSgwLGkudXNlTWVtbykoKCgpPT5mdW5jdGlvbihlKXtjb25zdCB0PW89PntlKG8pLHQuY3VycmVudD1vfTtyZXR1cm4gdC5jdXJyZW50PW51bGwsdH0oKGU9PnthLmN1cnJlbnQoZSl9KSkpLFtdKSxvPSgwLGkudXNlUmVmKShudWxsKSxyPXQ9PntpZihudWxsPT09dClyZXR1cm4gcyhvLmN1cnJlbnQsdCksdm9pZChvLmN1cnJlbnQ9bnVsbCk7by5jdXJyZW50IT09ZSYmKG8uY3VycmVudD1lLHMoby5jdXJyZW50LHQpKX0sYT0oMCxpLnVzZVJlZikocik7cmV0dXJuIGEuY3VycmVudD1yLCgwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57aWYobnVsbCE9PXQuY3VycmVudClyZXR1cm4gYS5jdXJyZW50KHQuY3VycmVudCksKCk9PmEuY3VycmVudChudWxsKX0pLFtlXSksdH1mdW5jdGlvbiBzKGUsdCl7bnVsbCE9PWUmJigiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOmUuY3VycmVudD10KX19LDcxOTQyNShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VSZXNpemVPYnNlcnZlcjooKT0+c30pO3ZhciBpPW8oNzc5NDc0KSxuPW8oNjE2MzExKSxyPW8oNzg3ODk1KTtmdW5jdGlvbiBzKGUsdD1bXSl7Y29uc3R7Y2FsbGJhY2s6byxyZWY6cz1udWxsfT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT97Y2FsbGJhY2s6ZX06ZX0oZSksYT0oMCxpLnVzZVJlZikobnVsbCksbD0oMCxpLnVzZVJlZikobyk7bC5jdXJyZW50PW87Y29uc3QgYz0oMCxyLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHMpLGQ9KDAsaS51c2VDYWxsYmFjaykoKGU9PntjKGUpLG51bGwhPT1hLmN1cnJlbnQmJihhLmN1cnJlbnQuZGlzY29ubmVjdCgpLApudWxsIT09ZSYmYS5jdXJyZW50Lm9ic2VydmUoZSkpfSksW2MsYV0pO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT4oYS5jdXJyZW50PW5ldyBSZXNpemVPYnNlcnZlcigoKGUsdCk9PntsLmN1cnJlbnQoZSx0KX0pKSxjLmN1cnJlbnQmJmQoYy5jdXJyZW50KSwoKT0+e2EuY3VycmVudD8uZGlzY29ubmVjdCgpfSkpLFtjLC4uLnRdKSxkfX0sNjQ5MTY2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0xvYWRlcjooKT0+Y30pO3ZhciBpLG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9bygyNDQ1MjUpLGw9by5uKGEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc2l6ZTpvPSJtZWRpdW0iLHN0YXRpY1Bvc2l0aW9uOmksY29sb3I6cj0iYmxhY2sifT1lLGE9cygpKGwoKS5pdGVtLGwoKVtyXSxsKClbb10pO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKGwoKS5sb2FkZXIsaSYmbCgpLnN0YXRpYyx0KX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmF9KSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YX0pLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphfSkpfSFmdW5jdGlvbihlKXtlLk1lZGl1bT0ibWVkaXVtIixlLlNtYWxsPSJzbWFsbCJ9KGl8fChpPXt9KSl9LDU4NTQ4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1BvcnRhbDooKT0+YyxQb3J0YWxDb250ZXh0OigpPT5kfSk7dmFyIGk9byg3Nzk0NzQpLG49bygxMjkzNjUpLHI9byg4NTY3NzApLHM9byg5MDM0MiksYT1vKDU3MDE5MyksbD1vKDYwNzgzMik7Y2xhc3MgYyBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fdXVpZD0oMCxyLm5hbm9pZCkoKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21hbmFnZXIoKS5yZW1vdmVXaW5kb3codGhpcy5fdXVpZCl9cmVuZGVyKCl7Y29uc3QgZT10aGlzLl9tYW5hZ2VyKCkuZW5zdXJlV2luZG93KHRoaXMuX3V1aWQsdGhpcy5wcm9wcy5sYXllck9wdGlvbnMpO2Uuc3R5bGUudG9wPXRoaXMucHJvcHMudG9wfHwiIixlLnN0eWxlLmJvdHRvbT10aGlzLnByb3BzLmJvdHRvbXx8IiIsZS5zdHlsZS5sZWZ0PXRoaXMucHJvcHMubGVmdHx8IiIsZS5zdHlsZS5yaWdodD10aGlzLnByb3BzLnJpZ2h0fHwiIixlLnN0eWxlLnBvaW50ZXJFdmVudHM9dGhpcy5wcm9wcy5wb2ludGVyRXZlbnRzfHwiIjtjb25zdCB0PXRoaXMucHJvcHMuY2xhc3NOYW1lO3JldHVybiB0JiYoInN0cmluZyI9PXR5cGVvZiB0P2UuY2xhc3NMaXN0LmFkZCh0KTplLmNsYXNzTGlzdC5hZGQoLi4udCkpLHRoaXMucHJvcHMuc2hvdWxkVHJhcEZvY3VzJiYhZS5oYXNBdHRyaWJ1dGUoYS5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFKSYmZS5zZXRBdHRyaWJ1dGUoYS5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFLCJ0cnVlIiksdGhpcy5wcm9wc1siYXJpYS1oaWRkZW4iXSYmZS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLG4uY3JlYXRlUG9ydGFsKGkuY3JlYXRlRWxlbWVudChkLlByb3ZpZGVyLHt2YWx1ZTp0aGlzfSx0aGlzLnByb3BzLmNoaWxkcmVuKSxlKX1tb3ZlVG9Ub3AoKXt0aGlzLl9tYW5hZ2VyKCkubW92ZVRvVG9wKHRoaXMuX3V1aWQpfV9tYW5hZ2VyKCl7cmV0dXJuIG51bGw9PT10aGlzLmNvbnRleHQ/KDAscy5nZXRSb290T3ZlcmxhcE1hbmFnZXIpKCk6dGhpcy5jb250ZXh0fX1jLmNvbnRleHRUeXBlPWwuU2xvdENvbnRleHQ7Y29uc3QgZD1pLmNyZWF0ZUNvbnRleHQobnVsbCl9LDYwNzgzMihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTbG90OigpPT5uLFNsb3RDb250ZXh0OigpPT5yfSk7dmFyIGk9byg3Nzk0NzQpO2NsYXNzIG4gZXh0ZW5kcyBpLkNvbXBvbmVudHtzaG91bGRDb21wb25lbnRVcGRhdGUoKXtyZXR1cm4hMX1yZW5kZXIoKXtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTp7cG9zaXRpb246ImZpeGVkIix6SW5kZXg6MTUwLGxlZnQ6MCx0b3A6MH0scmVmOnRoaXMucHJvcHMucmVmZXJlbmNlfSl9fWNvbnN0IHI9aS5jcmVhdGVDb250ZXh0KG51bGwpfSw1Njc0NzkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9TSVpFOigpPT5pLHNwaW5uZXJTaXplTWFwOigpPT5ufSk7Y29uc3QgaT0ibGFyZ2UiLG49e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwzMDgyMTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3dpdGNoVmlldzooKT0+Y30pO3ZhciBpLG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9byg2MjU3MDkpLGw9by5uKGEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7c2l6ZTp0PSJzbWFsbCIsY2hlY2tlZDpvLGRpc2FibGVkOml9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkobCgpLnN3aXRjaFZpZXcsbCgpW3RdLGkmJmwoKS5kaXNhYmxlZCxvJiZsKCkuY2hlY2tlZCl9LG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpsKCkudHJhY2t9KSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bCgpLnRodW1ifSkpfSFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShpfHwoaT17fSkpfSwxMjgzMihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTd2l0Y2g6KCk9PnV9KTt2YXIgaSxuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMzA5OTIwKSxsPW8oMzA4MjE2KSxjPW8oMjM1NzI0KSxkPW8oNjg3NTQ3KSxoPW8ubihkKTtmdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsCm4udXNlQ29udGV4dCkoYS5DdXN0b21CZWhhdmlvdXJDb250ZXh0KSx7c2l6ZTpvLGludGVudDppPSJkZWZhdWx0IixjaGVja2VkOnIsY2xhc3NOYW1lOmQsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6dT10LmVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLGRpc2FibGVkOl8sb25DaGFuZ2U6cCx0aXRsZTptLGlkOmcsbmFtZTp2LHZhbHVlOmYsdGFiSW5kZXg6eSxyb2xlOmI9InN3aXRjaCIsYXJpYURpc2FibGVkOlMscmVmZXJlbmNlOncsYXJpYUxhYmVsbGVkQnk6QyxhcmlhTGFiZWw6aywuLi5UfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKGQsaCgpLnN3aXRjaGVyKX0sbi5jcmVhdGVFbGVtZW50KCJpbnB1dCIsey4uLlQsdHlwZToiY2hlY2tib3giLGNsYXNzTmFtZTpzKCkoaCgpLmlucHV0LHUmJmgoKS5hY3RpdmVTdHlsZXNFbmFibGVkLHImJmgoKS5jaGVja2VkLF8mJmgoKS5kaXNhYmxlZCkscm9sZTpiLCJhcmlhLWNoZWNrZWQiOnIsY2hlY2tlZDpyLG9uS2V5RG93bjplPT57MTM9PT0oMCxjLmhhc2hGcm9tRXZlbnQpKGUpJiZlLmN1cnJlbnRUYXJnZXQ/LmNsaWNrKCl9LG9uQ2hhbmdlOnAsZGlzYWJsZWQ6XywiYXJpYS1kaXNhYmxlZCI6Uyx0YWJJbmRleDp5LHRpdGxlOm0saWQ6ZyxuYW1lOnYsdmFsdWU6ZixyZWY6dywiYXJpYS1sYWJlbCI6aywiYXJpYS1sYWJlbGxlZGJ5IjpDfSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShoKCkudGh1bWJXcmFwcGVyLGgoKVtpXSl9LG4uY3JlYXRlRWxlbWVudChsLlN3aXRjaFZpZXcse2NoZWNrZWQ6cixzaXplOm8sZGlzYWJsZWQ6X30pKSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TZWxlY3Q9InNlbGVjdCJ9KGl8fChpPXt9KSl9LDU3MDE5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtGT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFOigpPT5pfSk7Y29uc3QgaT0iZGF0YS1mb2N1cy10cmFwIn0sNjgyMzgxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyOigpPT5kLGdldEFjdGl2ZUVsZW1lbnRTZWxlY3RvcnM6KCk9PmMsaXNIVE1MT3JTVkdFbGVtZW50OigpPT5oLGlzSW5lcnRSb290OigpPT5hLGlzVmlzaWJpbGl0eVZpc2libGU6KCk9PnJ9KTtjb25zdCBpPVsiYnV0dG9uIiwiZmllbGRzZXQiLCJvcHRncm91cCIsIm9wdGlvbiIsInNlbGVjdCIsInRleHRhcmVhIiwiaW5wdXQiXSxuPVsiYnV0dG9uIiwiaW5wdXQiLCJzZWxlY3QiLCJ0ZXh0YXJlYSIsImFbaHJlZl0iLCJhdWRpb1tjb250cm9sc10iLCJ2aWRlb1tjb250cm9sc10iLCdbdGFiaW5kZXg9IjAiXScsJ1tjb250ZW50ZWRpdGFibGU9InRydWUiXSddLm1hcCgoZT0+aS5pbmNsdWRlcyhlKT9gJHtlfTpub3QoOmRpc2FibGVkKWA6ZSkpLm1hcCgoZT0+YCR7ZX06bm90KFt0YWJpbmRleD0iLTEiXSlgKSkuam9pbigiLCIpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuInZpc2libGUiPT09Z2V0Q29tcHV0ZWRTdHlsZShlKS52aXNpYmlsaXR5fWZ1bmN0aW9uIHMoZSx0KXtpZihlLm1hdGNoZXMoIltpbmVydF0sW2luZXJ0XSAqIikpcmV0dXJuITA7bGV0IG89ZTtmb3IoO28hPT10JiZudWxsIT09bzspe2lmKGwobykpcmV0dXJuITA7bz1vLnBhcmVudEVsZW1lbnR9cmV0dXJuITF9ZnVuY3Rpb24gYShlKXtyZXR1cm4gZS5tYXRjaGVzKCJbaW5lcnRdIil8fGwoZSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ibm9uZSI9PT1nZXRDb21wdXRlZFN0eWxlKGUpLmRpc3BsYXl9ZnVuY3Rpb24gYygpe3JldHVybiBufWZ1bmN0aW9uIGQoZSl7cmV0dXJuIHQ9PnIodCkmJiFzKHQsZSl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50fHxlIGluc3RhbmNlb2YgU1ZHRWxlbWVudH19LDk2NDU5NChlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG4oZSl7cmV0dXJuIGkoW2VdKX1vLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+bixtZXJnZVJlZnM6KCk9Pml9KX0sNzE4NTUzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse091dHNpZGVFdmVudDooKT0+bn0pO3ZhciBpPW8oMjM2NzY1KTtmdW5jdGlvbiBuKGUpe2NvbnN0e2NoaWxkcmVuOnQsLi4ub309ZTtyZXR1cm4gdCgoMCxpLnVzZU91dHNpZGVFdmVudCkobykpfX0sOTAzNDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PnMsZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIGk9bygxMzg2MzgpLG49byg1NzAxOTMpO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIHN7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgcix0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbz1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxvKSx0aGlzLl9jb250YWluZXI9b31yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBvPXRoaXMuX3dpbmRvd3MuZ2V0KGUpCjtpZih2b2lkIDAhPT1vKXJldHVybiBvO3RoaXMucmVnaXN0ZXJXaW5kb3coZSk7Y29uc3QgaT10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihpLnN0eWxlLnBvc2l0aW9uPXQucG9zaXRpb24saS5zdHlsZS56SW5kZXg9dGhpcy5faW5kZXgudG9TdHJpbmcoKSxpLmRhdGFzZXQuaWQ9ZSx2b2lkIDAhPT10LmluZGV4KXtjb25zdCBlPXRoaXMuX2NvbnRhaW5lci5jaGlsZE5vZGVzLmxlbmd0aDtpZih0LmluZGV4Pj1lKXRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChpKTtlbHNlIGlmKHQuaW5kZXg8PTApdGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShpLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTtlbHNle2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXNbdC5pbmRleF07dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShpLGUpfX1lbHNlInJldmVyc2UiPT09dC5kaXJlY3Rpb24/dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShpLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTp0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQoaSk7cmV0dXJuIHRoaXMuX3dpbmRvd3Muc2V0KGUsaSksKyt0aGlzLl9pbmRleCxpfXVucmVnaXN0ZXJXaW5kb3coZSl7dGhpcy5fc3RvcmFnZS5yZW1vdmUoZSk7Y29uc3QgdD10aGlzLl93aW5kb3dzLmdldChlKTt2b2lkIDAhPT10JiYobnVsbCE9PXQucGFyZW50RWxlbWVudCYmdC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHQpLHRoaXMuX3dpbmRvd3MuZGVsZXRlKGUpKX1nZXRaaW5kZXgoZSl7Y29uc3QgdD10aGlzLmVuc3VyZVdpbmRvdyhlKTtyZXR1cm4gcGFyc2VJbnQodC5zdHlsZS56SW5kZXh8fCIwIil9bW92ZUxhc3RXaW5kb3dUb1RvcCgpe2NvbnN0IGU9dGhpcy5fc3RvcmFnZS5nZXRJdGVtcygpLHQ9ZVtlLmxlbmd0aC0xXTt0JiZ0aGlzLm1vdmVUb1RvcCh0KX1tb3ZlVG9Ub3AoZSl7aWYodGhpcy5nZXRaaW5kZXgoZSkhPT10aGlzLl9pbmRleCl7Y29uc3QgdD10aGlzLmVuc3VyZVdpbmRvdyhlKTt0aGlzLl93aW5kb3dzLmZvckVhY2goKChlLG8pPT57ZS5oYXNBdHRyaWJ1dGUobi5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFKSYmZS5zZXRBdHRyaWJ1dGUobi5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFLGU9PT10PyJ0cnVlIjoiZmFsc2UiKX0pKSx0LnN0eWxlLnpJbmRleD0oKyt0aGlzLl9pbmRleCkudG9TdHJpbmcoKX19cmVtb3ZlV2luZG93KGUpe3RoaXMudW5yZWdpc3RlcldpbmRvdyhlKX19Y29uc3QgYT1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGU9ZG9jdW1lbnQpe2NvbnN0IHQ9ZS5nZXRFbGVtZW50QnlJZCgib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiKTtpZihudWxsIT09dClyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKGEuZ2V0KHQpKTt7Y29uc3QgdD1uZXcgcyhlKSxvPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIGEuc2V0KG8sdCksdC5zZXRDb250YWluZXIobyksZS5ib2R5LmFwcGVuZENoaWxkKG8pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sOTM0MDgxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1NUT1JZX1BPU1RFUlM6KCk9Pml9KTtjb25zdCBpPVt7bmFtZToibmVvbiIscG9zdGVyOm8ucCsibmVvbi5mZjkzMzEwZTc5NWQ1NGE1ZDM5Yi53ZWJwIn0se25hbWU6Im1hcnMiLHBvc3RlcjpvLnArIm1hcnMuY2I2YTM3MWZhNzgyMzY2MzQzYmUud2VicCJ9LHtuYW1lOiJzbm93Iixwb3N0ZXI6by5wKyJzbm93LjhmNWVjOWNkODRhNzUyZjQ2YjY4LndlYnAifV19LDg0MjEwMihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtpc1Nob3dQcm9tb1ZpZGVvOigpPT5zfSk7dmFyIGk9byg4MDk0MzYpO2NvbnN0IG49aVsibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSJdLHI9aVsibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIl07ZnVuY3Rpb24gcygpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEobikubWF0Y2hlcyx0PXdpbmRvdy5tYXRjaE1lZGlhKHIpLm1hdGNoZXMsbz13aW5kb3cuaW5uZXJXaWR0aCxpPXdpbmRvdy5pbm5lckhlaWdodDtyZXR1cm4hIWV8fCEhdCYmaT49b319LDk3ODU0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse29uZVRhcFNpZ25Nb2RhbERlbGVnYXRlOigpPT5pfSk7Y29uc3QgaT1uZXcobyg5NDgzODApLkRlbGVnYXRlKX0sNjEzODcwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2lzU2lnbk1vZGFsT3BlbjooKT0+ZCxzaG93U2lnbk1vZGFsOigpPT5jfSk7dmFyIGk9byg4NDIxMDIpLG49byg5Nzg1NCkscj1vKDcxOTE5NCkscz1vKDc1NjI3MSksYT1vKDkzNDA4MSk7bGV0IGw9KCk9PiExO2FzeW5jIGZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxpLmlzU2hvd1Byb21vVmlkZW8pKCksbj1PYmplY3QuYXNzaWduKHt9LGUse2lzU2hvd1ZpZGVvOnR9KTtpZih3aW5kb3cuVFZEJiZ3aW5kb3cuVFZELnNpZ25JbilyZXR1cm4gd2luZG93LlRWRC5zaWduSW4obik7e3QmJmZ1bmN0aW9uKCl7Y29uc3R7cG9zdGVyOmV9PWEuU1RPUllfUE9TVEVSU1soMCxyLnBpY2tTdG9yeUluZGV4KShzLlNUT1JZX05BTUVTKV0sdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7dC5yZWw9InByZWxvYWQiLHQuYXM9ImltYWdlIix0LmhyZWY9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfSgpCjtjb25zdCBlPWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODU1MzcpLG8uZSg4NDMwNiksby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMTM0OTIpLG8uZSgzNzc0Niksby5lKDEyMzg1KSxvLmUoOTQ5NDgpLG8uZSg5NDIzMiksby5lKDE5NTk1KSxvLmUoMTk3ODcpLG8uZSgyNDU4MSksby5lKDExMjE4KSxvLmUoODU3OSksby5lKDcyNjY2KSxvLmUoNzA4MTUpLG8uZSg3NDM4MSksby5lKDE1NTI2KSxvLmUoOTM0MTYpLG8uZSgzNzc2Nyksby5lKDMyNjMyKSxvLmUoMzUxOTgpLG8uZSg0NjU5MSksby5lKDk0MDU0KSxvLmUoNTA2MjIpLG8uZSgzODg2OCksby5lKDU5MzUwKSxvLmUoMjA5ODYpLG8uZSgzMjM4Nyksby5lKDQ0NzgwKSxvLmUoNzU5MzApLG8uZSg4NTk3NCldKS50aGVuKG8uYmluZChvLDczMDg0MSkpO3JldHVybiBsPWUuaXNTaWduTW9kYWxPcGVuLGUuc2hvd1NpZ25Nb2RhbChuKX19ZnVuY3Rpb24gZCgpe3JldHVybiBsKCl9bi5vbmVUYXBTaWduTW9kYWxEZWxlZ2F0ZS5zdWJzY3JpYmUobnVsbCxjKX0sNzE5MTk0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3BpY2tTdG9yeUluZGV4OigpPT5yfSk7dmFyIGk9byg5MzIzNjUpO2NvbnN0IG49InNpZ25pbi1wcm9tby1zdG9yeSI7ZnVuY3Rpb24gcihlKXtjb25zdCB0PWZ1bmN0aW9uKCl7dHJ5e2NvbnN0IGU9aS5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQubmFtZSYmIm51bWJlciI9PXR5cGVvZiB0LnRpbWVzdGFtcD90Om51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fSgpLG89bnVsbCE9PXQ/ZS5pbmRleE9mKHQubmFtZSk6LTE7aWYobnVsbCE9PXQmJi0xIT09byYmRGF0ZS5ub3coKS10LnRpbWVzdGFtcDw4NjRlNSlyZXR1cm4gbztjb25zdCByPWZ1bmN0aW9uKGUsdCl7aWYoZTw9MXx8dDwwKXJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqZSk7cmV0dXJuKHQrMStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGUtMSkpKSVlfShlLmxlbmd0aCxvKTtyZXR1cm4gaS5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKG4sSlNPTi5zdHJpbmdpZnkoe25hbWU6ZVtyXSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pKSxyfX0sNzU2MjcxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1NUT1JZX05BTUVTOigpPT5pfSk7Y29uc3QgaT1bIm5lb24iLCJtYXJzIiwic25vdyJdfSwyMjI0MjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7QWdncmVnYXRlRXJyb3I6KCk9PlMsQXBpRXJyb3I6KCk9PnksU01TX0JBTk5FRF9TVEFUVVM6KCk9PnIsYWNjdW11bGF0ZUVycm9yczooKT0+YSxjaGVja1Bob25lQ29kZTooKT0+dSxjb250aW51ZVBhcnRpYWxBdXRoOigpPT5FLGZpcnN0TG9naW5EYXRhOigpPT5kLGZpcnN0TG9naW5EYXRhVXJsOigpPT5zLGdlbmVyYXRlU2lnbmluQ2hhbGxlbmdlOigpPT54LGdldEFwaUVycm9yTWVzc2FnZTooKT0+YixyZWNvdmVyUGFzc3dvcmQ6KCk9PkMscmVjb3ZlclBhc3N3b3JkVXJsOigpPT53LHJlY292ZXJ5UGFzc3dvcmQ6KCk9Pl8scmVzZW5kTGluazooKT0+aCxzZWNvbmRGYWN0b3JTaWduaW46KCk9PkEsc2lnbmluOigpPT5nLHNpZ25pblVybDooKT0+cCxzaWdudXA6KCk9PmYsc2lnbnVwVXJsOigpPT52LHNvY2lhbEF1dGg6KCk9PlR9KTt2YXIgaT1vKDM4NDAxNyksbj1vKDE4NTI3MSk7Y29uc3Qgcj00MDMscz0iL2FjY291bnRzL2ZpcnN0X2xvZ2luX2RhdGEvIjtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLm1hcCgoZT0+bmV3IHkoZVsxXS5qb2luKCJcbiIpLHQsZVswXSkpKX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuKDAsaS5mZXRjaCkoZSx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsbW9kZToic2FtZS1vcmlnaW4iLGJvZHk6dH0pfWFzeW5jIGZ1bmN0aW9uIGMoZSl7dHJ5e3JldHVybiBhd2FpdCBlLmpzb24oKX1jYXRjaHt0aHJvdyBuZXcgeShuLnQobnVsbCx7Y29udGV4dDoiYXBpIGVycm9yIn0sbyg2ODM2MjcpKSxlLnN0YXR1cywic2VydmVyX2Vycm9yIil9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGwocyxlKS50aGVuKChlPT5lLm9rP2MoZSk6YyhlKS50aGVuKCh0PT57dGhyb3cgbmV3IFMoYSh0LmVycm9ycyxlLnN0YXR1cykpfSkpKSl9ZnVuY3Rpb24gaCgpe3JldHVybiBsKCIvYXBpL3YxL3VzZXJzL2Fub24vY2hhbmdlLWVtYWlsL3Jlc2VuZC8iKS50aGVuKChlPT5lLm9rP2MoZSk6YyhlKS50aGVuKChlPT57dGhyb3cgRXJyb3IoZS5lcnJvcil9KSkpKX1mdW5jdGlvbiB1KGUpe3JldHVybiBsKCIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvY2hlY2tfcGhvbmVfY29kZS8iLGUpLnRoZW4oKGU9PmUub2s/YyhlKTpjKGUpLnRoZW4oKGU9Pnt0aHJvdyBFcnJvcihlLmVycm9yKX0pKSkpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIGwoIi9hcGkvdjEvcmVjb3Zlcl9wYXNzd29yZC8iLGUpLnRoZW4oKGU9PmUpKX1jb25zdCBwPSIvYWNjb3VudHMvc2lnbmluLyI7ZnVuY3Rpb24gbShlKXtyZXR1cm4gYyhlKS50aGVuKCh0PT57aWYoImVycm9ycyJpbiB0JiZPYmplY3Qua2V5cyh0LmVycm9ycykubGVuZ3RoKXRocm93IG5ldyBTKGEodC5lcnJvcnMsZS5zdGF0dXMpKTtpZigiZXJyb3IiaW4gdCYmIiIhPT10LmVycm9yfHwiY29kZSJpbiB0fHwhZS5vayl0aHJvdyBuZXcgeSh0LmVycm9yfHx0LmRldGFpbCxlLnN0YXR1cyx0LmNvZGUsdC5jb25maXJtX2F1dGhfZGF0YSx0LnR3b19mYWN0b3JfdHlwZXMsZnVuY3Rpb24oZSl7aWYoZS5zaWduYXR1cmUpcmV0dXJue3NpZ25hdHVyZTplLnNpZ25hdHVyZSxlbWFpbDplLmVtYWlsfHwiIixwaG9uZTplLnBob25lfHwiIixzb2NpYWxzOltdfTtyZXR1cm59KHQpKTtyZXR1cm4gdH0pKX1mdW5jdGlvbiBnKGUpe3JldHVybiBsKHAsZSkudGhlbihtKX1jb25zdCB2PSIvYWNjb3VudHMvc2lnbnVwLyI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gbCh2LGUpLnRoZW4oKGU9PmMoZSkudGhlbigodD0+ewppZigiZXJyb3JzImluIHQmJiIiIT09dC5lcnJvcnMpdGhyb3cgbmV3IFMoYSh0LmVycm9ycyxlLnN0YXR1cykpfSkpKSl9Y2xhc3MgeSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCxvLGksbixyKXtzdXBlcihlKSx0aGlzLnR5cGU9byx0aGlzLnN0YXR1cz10LHRoaXMuc2Vjb25kRmFjdG9yVHlwZXM9bix0aGlzLnNvY2lhbENvbmZpcm1EYXRhPWksdGhpcy5yZXNldFBhc3N3b3JkRGF0YT1yfX1mdW5jdGlvbiBiKGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiB5JiZ2b2lkIDAhPT1lLnN0YXR1cz9gJHtlLm1lc3NhZ2V8fHR8fG4udChudWxsLHtjb250ZXh0OiJhcGkgZXJyb3IifSxvKDY4MzYyNykpfSAoJHtlLnN0YXR1c30pYDplIGluc3RhbmNlb2YgRXJyb3ImJmUubWVzc2FnZT9lLm1lc3NhZ2U6dHx8bi50KG51bGwse2NvbnRleHQ6ImFwaSBlcnJvciJ9LG8oNjgzNjI3KSl9Y2xhc3MgUyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUubWFwKChlPT5lLm1lc3NhZ2UpKS5qb2luKCJcbiIpKSx0aGlzLmVycm9ycz1bXSx0aGlzLmVycm9ycz1lfX1jb25zdCB3PSIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvc2VhcmNoLyI7ZnVuY3Rpb24gQyhlKXtyZXR1cm4gbCh3LGUpLnRoZW4obSl9Y29uc3Qgaz17QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn07ZnVuY3Rpb24gVChlLHQpe2NvbnN0IG89bmV3IFVSTCh3aW5kb3cub3JpZ2luKyIvYWNjb3VudHMvY29tcGxldGUvYW5kcm9pZC1qd3QvIik7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHQpLmZvckVhY2goKChbZSx0XSk9PnQmJm8uc2VhcmNoUGFyYW1zLmFwcGVuZChlLHQpKSksKDAsaS5mZXRjaCkoby5ocmVmLHttZXRob2Q6IlBPU1QiLGJvZHk6ZSxoZWFkZXJzOmt9KS50aGVuKG0pfWZ1bmN0aW9uIEUoZSx0KXtjb25zdCBvPW5ldyBVUkwod2luZG93Lm9yaWdpbitgL2FjY291bnRzL2NvbXBsZXRlLyR7ZX0vYCksbj1uZXcgRm9ybURhdGE7cmV0dXJuIG4uYXBwZW5kKCJwYXJ0aWFsX3Rva2VuIix0KSwoMCxpLmZldGNoKShvLmhyZWYse21ldGhvZDoiUE9TVCIsYm9keTpuLGhlYWRlcnM6a30pLnRoZW4obSl9ZnVuY3Rpb24geChlKXtyZXR1cm4gbChgL2FjY291bnRzL3R3by1mYWN0b3Ivc2lnbmluLyR7ZX0vZ2VuZXJhdGUtY2hhbGxlbmdlL2ApLnRoZW4oKGU9PmUub2s/YyhlKTpjKGUpLnRoZW4oKCh7ZGV0YWlsOmV9KT0+e3Rocm93IEVycm9yKGUpfSkpKSl9ZnVuY3Rpb24gQShlLHQpe3JldHVybiBsKGAvYWNjb3VudHMvdHdvLWZhY3Rvci9zaWduaW4vJHtlfS9gLHQpLnRoZW4oKGU9PmUub2s/YyhlKTpjKGUpLnRoZW4oKHQ9PntpZigicmVxdWlyZV9wYXJhbWV0ZXJzIj09PXQuY29kZSl0aHJvdyBuZXcgUyhhKHQuZXJyb3JzLGUuc3RhdHVzKSk7dGhyb3cgbmV3IHkodC5kZXRhaWwsZS5zdGF0dXMsdC5jb2RlKX0pKSkpfX0sOTczMDQxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3RyaWVzVHJhbnNsYXRlQ291bnRyaWVOYW1lOigpPT5ufSk7dmFyIGk9bygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1yLmdldChlKTtyZXR1cm4gdm9pZCAwIT09dD90KCk6ZX0KY29uc3Qgcj1uZXcgTWFwKFtbIkFmcmljYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY1MDM0NCkpXSxbIkFtZXJpY2FzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTkxNDY0KSldLFsiQXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY4OTE4MikpXSxbIkV1cm9wZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk1MjM2NykpXSxbIlBhY2lmaWMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5OTA1NzUpKV0sWyJNaWRkbGUgRWFzdCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY4NTc1MSkpXSxbIkFmZ2hhbmlzdGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTkzMTAxKSldLFsiw4VsYW5kIElzbGFuZHMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MDY1NTQpKV0sWyJBbGFuZCBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTA2NTU0KSldLFsiQWxiYW5pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI4MDAyNSkpXSxbIkFsZ2VyaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyOTYxODEpKV0sWyJBbWVyaWNhbiBTYW1vYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEwNDU1MykpXSxbIkFuZG9ycmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NjUyMTMpKV0sWyJBbmdvbGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3NzcyMCkpXSxbIkFuZ3VpbGxhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODU0OTAyKSldLFsiQW50YXJjdGljYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI5NzU3MCkpXSxbIkFudGlndWEgYW5kIEJhcmJ1ZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3NDU4OSkpXSxbIkFyZ2VudGluYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg1NzU4NykpXSxbIkFybWVuaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3Nzk5NTIpKV0sWyJBcnViYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDExNDc1NikpXSxbIkF1c3RyYWxpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3OTIzMykpXSxbIkF1c3RyaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMzgyNzgpKV0sWyJBemVyYmFpamFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDY4MTcpKV0sWyJCYWhhbWFzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzM1MjU5KSldLFsiQmFocmFpbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU3ODY2NSkpXSxbIkJhbmdsYWRlc2giLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NTIwMTUpKV0sWyJCYXJiYWRvcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDgyOTM4NykpXSxbIkJlbGFydXMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1MjM1NTIpKV0sWyJCZWxnaXVtIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODMzMjQpKV0sWyJCZWxpemUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3ODc3MDEpKV0sWyJCZW5pbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU4ODg0OCkpXSxbIkJlcm11ZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMTQ3MzcpKV0sWyJCaHV0YW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyODQ0NDIpKV0sWyJCb2xpdmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTMxMzA0KSldLFsiQm9uYWlyZSwgU2ludCBFdXN0YXRpdXMgYW5kIFNhYmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1NTcyMzUpKV0sWyJCb3NuaWEgYW5kIEhlcnplZ292aW5hIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTcwNjkxKSldLFsiQm90c3dhbmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0MjUzNzgpKV0sWyJCb3V2ZXQgSXNsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzMwNzYzKSldLFsiQnJhemlsIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjEyOTY3KSldLFsiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzQ0MjQ2KSldLFsiQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY1MzM0MCkpXSxbIkJydW5laSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDM5MTkwNikpXSxbIkJ1bGdhcmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzE0MDMxKSldLFsiQnVya2luYSBGYXNvIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTk4Mjk3KSldLFsiQnVydW5kaSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc1ODIyKSldLFsiQ2FibyBWZXJkZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYwMTA5NykpXSxbIkNhbWJvZGlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTU1NDg5KSldLFsiQ2FtZXJvb24iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NzcwMjgpKV0sWyJDYW5hZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxNTE4OSkpXSxbIkNheW1hbiBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjQxMDI2KSldLFsiQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzc0NzgpKV0sWyJDaGFkIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDgzNTUpKV0sWyJDaGlsZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDkwNDMzOCkpXSxbIkNoaW5hIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldLFsiQ2hyaXN0bWFzIElzbGFuZCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk1NjQ2NCkpXSxbIkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzI1NzMyKSldLFsiQ29sb21iaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMzU4NjcpKV0sWyJDb21vcm9zIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDg0MTM2KSldLFsiQ29uZ28iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NjQ4NTgpKV0sWyJDb25nbyAodGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlKSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3MTU1OCkpXSxbIkNvb2sgSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcwODg1OSkpXSxbIkN1cmFjYW8iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1ODk0MTcpKV0sWyJDb3N0YSBSaWNhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjY4ODQ0KSldLFsiQ8O0dGUgZCdJdm9pcmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0OTg3NjIpKV0sWyJDcm9hdGlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDA3NCkpXSxbIkN1YmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3NjkxNDApKV0sWyJDdXJhw6dhbyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk0NTE3MSkpXSxbIkN5cHJ1cyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYzNDczNykpXSxbIkN6ZWNoaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyNjE5OTApKV0sWyJDemVjaCBSZXB1YmxpYyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEyOTgwOCkpXSxbIkRlbm1hcmsiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NTI1MDEpKV0sWyJEamlib3V0aSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDUwNzc5OCkpXSxbIkRvbWluaWNhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTk0MzI2KSldLFsiRG9taW5pY2FuIFJlcHVibGljIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODE4NjA0KSldLFsiRWN1YWRvciIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQxMzM5NykpXSxbIkVneXB0IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzM3NDM3KSldLFsiRWwgU2FsdmFkb3IiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4ODA4NzIpKV0sWyJFcXVhdG9yaWFsIEd1aW5lYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc0NjUyNCkpXSxbIkVyaXRyZWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MzA4NzMpKV0sWyJFc3RvbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTQxMjApKV0sWyJGYWxrbGFuZCBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTkzNDc1KSldLFsiRXN3YXRpbmkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4OTgzMDMpKV0sWyJFdGhpb3BpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMzMTkxKSldLFsiRXVyb3BlYW4gVW5pb24iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1MzUxNDYpKV0sWyJGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcykiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2MDc3MjMpKV0sWyJGYXJvZSBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDUyNDg3KSldLFsiRmlqaSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDE1MjQwOSkpXSxbIkZpbmxhbmQiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NzY0NTQpKV0sWyJGcmFuY2UiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMzYyMzgpKV0sWyJGcmVuY2ggR3VpYW5hIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTc2MDc5KSldLFsiRnJlbmNoIFBvbHluZXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg2MzgyNSkpXSxbIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMyODYwNykpXSxbIkdhYm9uIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzY3NjkwKSldLFsiR2FtYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzA4Nzg1KSldLFsiR2VvcmdpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5NTk1MSkpXSxbIkdlcm1hbnkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV0sWyJHaGFuYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ5ODY3OSkpXSxbIkdpYnJhbHRhciIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc3MTAxNykpXSxbIkdyZWVjZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5MzI4OSkpXSxbIkdyZWVubGFuZCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMxODM5OSkpXSxbIkdyZW5hZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MzIwODYpKV0sWyJHdWFkZWxvdXBlIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTY0ODc3KSldLFsiR3VhbSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU0NDMyNSkpXSxbIkd1YXRlbWFsYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg3NzQ4NykpXSxbIkd1ZXJuc2V5IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDA4OTE2KSldLFsiR3VpbmVhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDM2NDU1KSldLFsiR3VpbmVhLUJpc3NhdSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMwODIyOSkpXSxbIkd1eWFuYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI0MjExNikpXSxbIkhhaXRpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODk0NzA5KSldLFsiSGVhcmQgSXNsYW5kIGFuZCBNY0RvbmFsZCBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjM2MTIzKSldLFsiSG9seSBTZWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMjc0OSkpXSxbIkhvbmR1cmFzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjAyODE2KSldLFsiSG9uZyBLb25nIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDYzNzc5KSldLFsiSHVuZ2FyeSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY2MTM2NikpXSxbIkljZWxhbmQiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NDAxODgpKV0sWyJJbmRpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXSxbIkluZG9uZXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDgwMjk3NSkpXSxbIklyYXEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzNzE3NDYpKV0sWyJJcmVsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzExNTI3KSldLFsiSXNsZSBvZiBNYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMDc4MjUpKV0sWyJJc3JhZWwiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MDMzNTQpKV0sWyJJdGFseSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg5ODE2MykpXSxbIkphbWFpY2EiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxNjM1KSldLFsiSmFwYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV0sWyJKZXJzZXkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMTg1OTgpKV0sWyJKb3JkYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1ODMwMDkpKV0sWyJLYXpha2hzdGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjc3NTYwKSldLFsiS2VueWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MTQ5NjYpKV0sWyJLaXJpYmF0aSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ0NjI5MykpXSxbIktvc292byIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY3Njg2KSldLFsiS3V3YWl0IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzk1MTMwKSldLFsiS3lyZ3l6c3RhbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ1ODY2MCkpXSxbIkxhb3MiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1OTExODApKV0sWyJMYXR2aWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyODI3NzMpKV0sWyJMZWJhbm9uIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTQ1NjEzKSldLFsiTGVzb3RobyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY1MzM5NSkpXSxbIkxpYmVyaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2NjIxKSldLFsiTGlieWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1NTUzNTIpKV0sWyJMaWVjaHRlbnN0ZWluIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzg2NjY3KSldLFsiTGl0aHVhbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODkyMTAwKSldLFsiTHV4ZW1ib3VyZyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk3NTQ0NykpXSxbIk1hY2F1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTMyMjY5KSldLFsiTWFjYW8iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMDcwNjIpKV0sWyJNYWNlZG9uaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NTkxMDgpKV0sWyJNYWRhZ2FzY2FyIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjYwMTg4KSldLFsiTWFsYXdpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjQ1OTQ4KSldLFsiTWFsYXlzaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2Mjc5NjcpKV0sWyJNYWxkaXZlcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMzMTYxNSkpXSxbIk1hbGkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2MjM0NjUpKV0sWyJNYWx0YSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU2MzIzNykpXSxbIk1hcnNoYWxsIElzbGFuZHMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0Nzc4NDMpKV0sWyJNYXJ0aW5pcXVlIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTM1MTUyKSldLFsiTWF1cml0YW5pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY2Nzk5NikpXSxbIk1hdXJpdGl1cyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDE1MDA1NCkpXSxbIk1heW90dGUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0ODMxNDkpKV0sWyJNZXhpY28iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NjU3MDApKV0sWyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI5MTA5OCkpXSxbIk1vbGRvdmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMjEzMzYpKV0sWyJNb25hY28iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMDg5MDQpKV0sWyJNb25nb2xpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDkxMzcwOSkpXSxbIk1vbnRlbmVncm8iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MzkzNjUpKV0sWyJNb250c2VycmF0IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzMzMjYyKSldLFsiTW9yb2NjbyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcyMTQzMykpXSxbIk1vemFtYmlxdWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMDAwMjYpKV0sWyJNeWFubWFyIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjM5NDMpKV0sWyJOYW1pYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTcwNjE4KSldLFsiTmF1cnUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NzM0MzcpKV0sWyJOZXBhbCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ3MTI4OCkpXSxbIk5ldGhlcmxhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjE2ODYyKSldLFsiTmV3IENhbGVkb25pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI0OTU4OCkpXSxbIk5ldyBaZWFsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDIxNikpXSxbIk5pY2FyYWd1YSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYyMzQ0MCkpXSxbIk5pZ2VyIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTkyMTg5KSldLFsiTmlnZXJpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg0OTg2OCkpXSxbIk5pdWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MDc0NzApKV0sWyJOb3Jmb2xrIElzbGFuZCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk2NzQxMikpXSxbIk5vcnRoIE1hY2Vkb25pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcyOTc4MikpXSxbIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYxMjU1NykpXSxbIk5vcndheSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg0NTUyMykpXSxbIk9tYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyODUyOTMpKV0sWyJQYWtpc3RhbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg0NDQzNikpXSxbIlBhbGF1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzk4NDc2KSldLFsiUGFsZXN0aW5lLCBTdGF0ZSBvZiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY5ODA4MykpXSxbIlBhbmFtYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEwMDcyOSkpXSxbIlBhcHVhIE5ldyBHdWluZWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MjU2OTcpKV0sWyJQYXJhZ3VheSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQyMDEzNSkpXSxbIlBlcnUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NTExMTEpKV0sWyJQaGlsaXBwaW5lcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYxMzY0NykpXSxbIlBpdGNhaXJuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzg0MzgyKSldLFsiUG9sYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTY4NjA5KSldLFsiUG9ydHVnYWwiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzOTg5NCkpXSxbIlB1ZXJ0byBSaWNvIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODQzMzI3KSldLFsiUWF0YXIiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MzM3NTMpKV0sWyJSw6l1bmlvbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg3MjY4MCkpXSxbIkxhIFJldW5pb24iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NzI2ODApKV0sWyJSb21hbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTA1OTQ1KSldLFsiUnVzc2lhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTM0ODgzKSldLFsiUnVzc2lhbiBGZWRlcmF0aW9uIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzkwNTk4KSldLFsiU0lOVCBNQUFSVEVOIChEVVRDSCBQQVJUKSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5NTAyMSkpXSxbIlJ3YW5kYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc1ODI5NykpXSxbIlNhaW50IEJhcnRow6lsZW15IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTk5NDgzKSldLFsiU2FpbnQgSGVsZW5hLCBBc2NlbnNpb24gYW5kIFRyaXN0YW4gZGEgQ3VuaGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NTU4MzUpKV0sWyJTYWludCBLaXR0cyBhbmQgTmV2aXMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1NzY5NzUpKV0sWyJTYWludCBMdWNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI1ODMxMSkpXSxbIlNhaW50IE1hcnRpbiAoRnJlbmNoIHBhcnQpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDI1MDY0KSldLFsiU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5NzAzNSkpXSxbIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjIyNjEzKSldLFsiU2Ftb2EiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1OTg5NjMpKV0sWyJTYW4gTWFyaW5vIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTk5NzYyKSldLFsiU2FvIFRvbWUgYW5kIFByaW5jaXBlIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjc5MzgyKSldLFsiU2F1ZGkgQXJhYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzYxNTIzKSldLFsiU2VuZWdhbCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDIyNDI4OSkpXSxbIlNlcmJpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcxODUyOSkpXSxbIlNleWNoZWxsZXMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0MjA4MjEpKV0sWyJTaWVycmEgTGVvbmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxNjQ5OTIpKV0sWyJTaW5nYXBvcmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2NDM3OTUpKV0sWyJTaW50IE1hYXJ0ZW4gKER1dGNoIHBhcnQpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzM2NDApKV0sWyJTbG92YWtpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI2MzQzMikpXSxbIlNsb3ZlbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzIxODIxKSldLFsiU29sb21vbiBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTgxNzgpKV0sWyJTb21hbGlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjAwNTcpKV0sWyJTb3V0aCBBZnJpY2EiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMTAwODIpKV0sWyJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ0Nzg1NCkpXSxbIlNvdXRoIEtvcmVhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTg3NzUyKSldLFsiU291dGggU3VkYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NTcxODYpKV0sWyJTcGFpbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc4ODMyMSkpXSxbIlNyaSBMYW5rYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDgwNDc2NikpXSxbIlN1ZGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTc0NDA0KSldLFsiU3VyaW5hbWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MTg4MzcpKV0sWyJTdmFsYmFyZCBhbmQgSmFuIE1heWVuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTczOTE1KSldLFsiU3dlZGVuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzY5OTYzKSldLFsiU3dpdHplcmxhbmQiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MzM5NzEpKV0sWyJTeXJpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3NDQ4NSkpXSxbIlRhaXdhbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3MzE1NykpXSxbIlRhamlraXN0YW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5Njg0NTgpKV0sWyJUYW56YW5pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ5ODE4MykpXSxbIlRoYWlsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTUzMDQ0KSldLFsiVGltb3ItTGVzdGUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MDMwNTEpKV0sWyJUb2dvIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODMyNDQ4KSldLFsiVG9rZWxhdSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEwNDE3NykpXSxbIlRvbmdhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjUwNTU1KSldLFsiVHJpbmlkYWQgYW5kIFRvYmFnbyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMxNDg3KSldLFsiVHVuaXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY3NzU5KSldLFsiVHVya2V5IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjMxODEwKSldLFsiVHVya21lbmlzdGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzM1NjgzKSldLFsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTcwNjI0KSldLFsiVHV2YWx1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDMwMTM0KSldLFsiVS5TLiBWaXJnaW4gSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQzMTM3NykpXSxbIlVBRSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDE2MzExMCkpXSxbIlVTQSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMwMTExNykpXSxbIlVnYW5kYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU4ODY5MykpXSxbIlVrcmFpbmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMTc0NzUpKV0sWyJVbml0ZWQgQXJhYiBFbWlyYXRlcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXSxbIlVuaXRlZCBLaW5nZG9tIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjgyNzMpKV0sWyJVbml0ZWQgU3RhdGVzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTY3OTQxKSldLFsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzM2Nzk5KSldLFsiVXJ1Z3VheSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDkyODU1MykpXSxbIlVTQSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMwMTExNykpXSxbIlV6YmVraXN0YW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3ODM5NzApKV0sWyJWYW51YXR1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDE2MjU3KSldLFsiVmVuZXp1ZWxhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjQzNTAzKSldLFsiVmlldG5hbSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg1MjIxKSldLFsiVmlyZ2luIElzbGFuZHMgKEJyaXRpc2gpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDIzMjA2KSldLFsiVmlyZ2luIElzbGFuZHMgKFUuUy4pIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzAxMjI5KSldLFsiV2FsbGlzIGFuZCBGdXR1bmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1OTA1MDUpKV0sWyJXZXN0ZXJuIFNhaGFyYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg4MTI3NykpXSxbIlllbWVuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDA5Mzg0KSldLFsiWmFtYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODY3MzkzKSldLFsiWmltYmFid2UiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NTkxNTUpKV1dKQp9LDE1OTUxMyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBpPW8oOTI3NTkzKSxuPW8oNzU1NjI3KSxyPW8oMTUwMTUwKTtjb25zdCBzPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiBzW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtzW2VdPXR9KGUsbmV3IGkuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmxbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyBjKGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgZChlKS5zbmFwc2hvdH19KSksc1tlXX1jb25zdCBsPXtzaW1wbGU6WyJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJjaCIsImNocCIsImN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImJhc2VfY3VycmVuY3lfaWQiLCJjdXJyZW50X3Nlc3Npb24iLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwiZm9ybWF0IiwiZnJhY3Rpb25hbCIsImlzX3RyYWRhYmxlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxpc3RlZF9leGNoYW5nZSIsImxvZ29pZCIsImxwIiwibHBfdGltZSIsIm1pbm1vdiIsIm1pbm1vdmUyIiwib3JpZ2luYWxfbmFtZSIsInByaWNlc2NhbGUiLCJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIiwidXBkYXRlX21vZGUiLCJ2b2x1bWUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJ2YWx1ZV91bml0X2lkIiwidW5pdF9pZCIsIm1lYXN1cmUiXX07bC5zaW1wbGVEZXRhaWxlZD1bLi4ubC5zaW1wbGUsImFzayIsImJpZCIsImZ1bmRhbWVudGFscyIsImhpZ2hfcHJpY2UiLCJpc190cmFkYWJsZSIsImxvd19wcmljZSIsIm9wZW5fcHJpY2UiLCJwcmV2X2Nsb3NlX3ByaWNlIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwic3RhdHVzIiwiYmFzaWNfZXBzX25ldF9pbmNvbWUiLCJiZXRhXzFfeWVhciIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJpbmR1c3RyeSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJzZWN0b3IiLCJ2b2x1bWUiLCJkaXZpZGVuZHNfeWllbGQiLCJ0aW1lem9uZSJdLGwuZnVsbD1bXSxsLndhdGNobGlzdD1bLi4ubC5zaW1wbGUsInJjaHAiLCJuY2hwIiwicnRjIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJkaXZpZGVuZHNfYXZhaWxhYmlsaXR5IiwiZmluYW5jaWFsc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiXSxsLnBvcnRmb2xpbz1bInByb19uYW1lIiwic2hvcnRfbmFtZSIsImV4Y2hhbmdlIiwibGlzdGVkX2V4Y2hhbmdlIiwiZGVzY3JpcHRpb24iLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwic2VjdG9yIiwidHlwZSIsInR5cGVzcGVjcyIsImluZHVzdHJ5IiwiY3VycmVuY3lfY29kZSIsImN1cnJlbmN5X2lkIiwiY2giLCJjaHAiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZxIiwibHAiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidm9sdW1lIiwiYXZlcmFnZV92b2x1bWUiLCJtYXJrZXRfY2FwX2NhbGMiLCJtYXJrZXRfY2FwX2Jhc2ljIiwidG90YWxfcmV2ZW51ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJwcmljZV9lYXJuaW5nc190dG0iLCJiZXRhXzFfeWVhciIsImRwc19jb21tb25fc3RvY2tfcHJpbV9pc3N1ZV9meSIsImRpdmlkZW5kc195aWVsZCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJyYXRlc19tYyIsInJhdGVzX2Z5IiwicmF0ZXNfdHRtIiwiZm9ybWF0IiwidmFsdWVfdW5pdF9pZCIsInVuaXRfaWQiLCJtZWFzdXJlIl0sbC5ub3Rlcz1bInNob3J0X25hbWUiLCJwcm9fbmFtZSIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwibG9nbyIsInN5bWJvbC1wcmltYXJ5bmFtZSIsInR5cGUiLCJ0eXBlc3BlY3MiXSxsLmVzdGltYXRlcz1bImZ1bmRhbWVudGFsX2RhdGEiLCJ0eXBlIiwidHlwZXNwZWNzIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfc3ltYm9sX2N1cnJlbmN5X2ZxIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2FsaWduZWRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiXSxsLmVjb25vbWljPVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIiwibHAiLCJjdXJyZW5jeV9jb2RlIiwidmFsdWVfdW5pdF9pZCIsInVuaXRfaWQiLCJtZWFzdXJlIl0sbC5vcHRpb25zPVsiYXNrIiwiYmlkIiwibHAiLCJ2b2x1bWUiLCJjaCIsImNocCJdO2NsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGU9e30sdGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnM9e30sdGhpcy5mb3JtYXR0ZXI9KGUsdCk9PntpZih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXSlyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV07ZnVuY3Rpb24gbyhlKXtjb25zdCBvPXQmJiFlLmZyYWN0aW9uYWw/MTplLm1pbm1vdjtyZXR1cm4gbmV3IG4uUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6ZS5wcmljZXNjYWxlLG1pbk1vdmU6byxmcmFjdGlvbmFsOmUuZnJhY3Rpb25hbCxtaW5Nb3ZlMjplLm1pbm1vdmUyfSl9Y29uc3QgaT1uZXcgUHJvbWlzZSgoKHQsaSk9PntpZih0aGlzLl9mb3JtYXR0ZXJWYWx1ZXNDYWNoZVtlXSl0KG8odGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pKTtlbHNle2NvbnN0IG49KDAsci5ndWlkKSgpO3RoaXMuX211bHRpcGxleGVyLnN1YnNjcmliZShuLFtlXSwocj0+eyJlcnJvciI9PT1yLnN0YXR1cyYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsCmkoIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KHIudmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09ci52YWx1ZXMsdChvKHIudmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUobixlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1pLGl9LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGR7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSx0aGlzLl93YWl0aW5nRm9yU25hcHNob3Q9e30sdGhpcy5zbmFwc2hvdD1lPT57aWYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdKXJldHVybiB0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV07Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQsbyk9PntpZih0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdKXQodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSk7ZWxzZXtjb25zdCBpPSgwLHIuZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUoaSxbZV0sKG49PnsiZXJyb3IiPT09bi5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCxvKCJRdW90ZXMgc25hcHNob3QgaXMgbm90IHJlY2VpdmVkIikpO2NvbnN0IHI9bi52YWx1ZXM7ciYmci5taW5tb3YmJnIucHJpY2VzY2FsZSYmci5kZXNjcmlwdGlvbiYmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT1udWxsLHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV09cix0KHIpLHRoaXMuX211bHRpcGxleGVyLnVuc3Vic2NyaWJlKGksZSkpfSkpfX0pKTtyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPXQsdH0sdGhpcy5fbXVsdGlwbGV4ZXI9ZX19InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2U9YSl9LDk3MTA1MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtHUk9VUF9QQVRIX1BBVFRFUk46KCk9Pm4sTk9URVNfUEFUSF9QQVRURVJOOigpPT5pLFVOQVRURU5ERURfUEFUSF9QQVRURVJOOigpPT5yLHBhdGhUb0dyb3VwOigpPT5zfSk7Y29uc3QgaT0iL25vdGVzLyIsbj0iL25vdGVzL2dyb3Vwcy86c3ltYm9sLyIscj0iL25vdGVzL3VuYXR0ZW5kZWQvIjtmdW5jdGlvbiBzKGUpe3JldHVybiBlP24ucmVwbGFjZSgiOnN5bWJvbCIsZW5jb2RlVVJJQ29tcG9uZW50KGUpKTpyfX0sODI3MDEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7YXZhaWxhYmxlT2ZmZXJzOigpPT5ufSk7dmFyIGk9bygzODQwMTcpO2NvbnN0IG49bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5faXNJbnZhbGlkPSEwLHRoaXMuX29mZmVycz17fX1ydW5PclVwZGF0ZShlKXt0aGlzLl9pc0ludmFsaWQ/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2s/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soKCgpPT50aGlzLl91cGRhdGVPZmZlcnMoKS50aGVuKGUpKSk6c2V0VGltZW91dCgoKCk9PnRoaXMuX3VwZGF0ZU9mZmVycygpLnRoZW4oZSkpLDApOmUodGhpcy5fb2ZmZXJzKX1nZXREYXRhKCl7cmV0dXJuIHRoaXMuX29mZmVyc31pbnZhbGlkYXRlKGUpe3RoaXMuX2lzSW52YWxpZD0hMCx3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzPXt9LHRoaXMucnVuT3JVcGRhdGUoZT8/KCgpPT57fSkpfXNldEluaXRpYWwoZSl7dGhpcy5faXNJbnZhbGlkPSExLHRoaXMuX29mZmVycz1lLHdpbmRvdy51c2VyLmF2YWlsYWJsZV9vZmZlcnM9dGhpcy5fb2ZmZXJzfWVuc3VyZU9mZmVycygpe3JldHVybiBuZXcgUHJvbWlzZSgoZT0+dGhpcy5ydW5PclVwZGF0ZShlKSkpfXdpdGhBdmFpbGFibGVPZmZlcnMoZSl7cmV0dXJuIGFzeW5jKC4uLnQpPT4oYXdhaXQgdGhpcy5lbnN1cmVPZmZlcnMoKSxlKC4uLnQpKX1hc3luYyBfdXBkYXRlT2ZmZXJzKCl7cmV0dXJuIHdpbmRvdy51c2VyLmF2YWlsYWJsZV9vZmZlcnN8fCh3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzPXt9KSx0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlP3RoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U6dGhpcy5faXNJbnZhbGlkPyh0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlPSgwLGkuZmV0Y2gpKCIvYXBpL3YxL29mZmVycy8iLHttZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbigoYXN5bmMgZT0+e2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIGRlbGV0ZSB0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlLHRoaXMuX2lzSW52YWxpZD0hMSx0aGlzLl9vZmZlcnM9T2JqZWN0LmVudHJpZXModCkucmVkdWNlKCgoZSxbdCxvXSk9PihvJiYoZVt0XT1vKSxlKSkse30pLHdpbmRvdy51c2VyLmF2YWlsYWJsZV9vZmZlcnM9dGhpcy5fb2ZmZXJzLHR9KSkuY2F0Y2goKCgpPT4oe30pKSksdGhpcy5fdXBkYXRlT2ZmZXJzUHJvbWlzZSk6dGhpcy5fb2ZmZXJzfX19LDc3NDUwNyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtVc2VyU3RhdHVzOigpPT5pfSk7dmFyIGksbj1vKDg2NDAzNCkscj1vKDYzODU3MSk7IWZ1bmN0aW9uKGUpe2UuTm9uUHJvPSJub25fcHJvIixlLlBybz0icHJvIn0oaXx8KGk9e30pKTsoMCxyLm1lbW9pemUpKCgoKT0+d2luZG93LnVzZXIuaXNfdHJpYWwmJndpbmRvdy51c2VyLnByb19wbGFuP3dpbmRvdy51c2VyLmlzX2V4cGVydHx8d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzIT09aS5Qcm8/bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOm4uTU9OVEhMWV9TVUJTQ1JJUFRJT05fREFZU19MRU46bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOKSl9LDk2MDIyOShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRTY3JlZW5lckNvdW50cmllc01hcDooKT0+c30pO3ZhciBpPW8oMTM3ODc5KSxuPW8oMzg5OTk0KTtsZXQgcj1udWxsO2Z1bmN0aW9uIHMoKXtpZihyKXJldHVybiByO3I9e307Zm9yKGNvbnN0IGUgb2YgbilpZihpLmNvdW50cmllcy5oYXNPd25Qcm9wZXJ0eShlKSl7CmNvbnN0IHQ9ZSxvPWkuY291bnRyaWVzW3RdLG49by5zY3JlZW5lck5hbWUscz1vLmV4Y2hhbmdlc1N0b2Nrc3x8W107clt0XT17Li4ubyxzY3JlZW5lck5hbWU6bixleGNoYW5nZXNTdG9ja3M6cyxncm91cDpvLmdyb3VwfX1yZXR1cm4gcn19LDIxNDA2MChlLHQsbyl7InVzZSBzdHJpY3QiO3ZhciBpPW8oNDgyNTA0KTtjb25zdCBuPW8oMjIxMDYxKS5nZXRMb2dnZXIoIkNvbW1vblVJLkNyZWF0ZVRWQmxvY2tQbHVnaW4iKTtlLmV4cG9ydHMuY3JlYXRlVHZCbG9ja1dpdGhJbnN0YW5jZT1mdW5jdGlvbihlLHQpe2lmKGUmJnQpcmV0dXJuIGU9ZS50b1N0cmluZygpLGZ1bmN0aW9uKHIscyxhKXt2YXIgbCxjLGQ7cmV0dXJuImdldCI9PT1yP2w9czooYz1zLCJvYmplY3QiPT10eXBlb2YgciYmdm9pZCAwPT09cz8oYz1yLHI9ImluaXQiKToic3RyaW5nIiE9dHlwZW9mIHImJihyPSJpbml0IikpLCJnZXRJbnN0YW5jZSI9PT1yP2kodGhpcykuZXEoMCkuZGF0YShlKToiZGVzdHJveSI9PT1yPyhkPWkodGhpcykuZXEoMCkuZGF0YShlKSk/dm9pZCgiZnVuY3Rpb24iPT10eXBlb2YgZC5kZXN0cm95PyhvKGQsImRlc3Ryb3kiLGMpLGkodGhpcykuZXEoMCkucmVtb3ZlRGF0YShlKSk6bi5sb2dFcnJvcigiW0Jsb2NrIFBsdWdpbl0gIitlKyIgZG9lcyBub3Qgc3VwcG9ydCBkZXN0cm95IGNvbW1hbmQiKSk6dm9pZCBjb25zb2xlLndhcm4oIltCbG9jayBQbHVnaW5dIFRyeWluZyB0byBleGVjdXRlIGRlc3Ryb3kgbWV0aG9kIG9mICIrZSsiIGJ1dCBpdCBoYXMgbm90IGJlZW4gaW5pdGVkIik6ImdldCI9PT1yPyhkPWkodGhpcykuZXEoMCkuZGF0YShlKSk/ImZ1bmN0aW9uIj09dHlwZW9mIGRbbF0/byhkLGwsYSk6ZFtsXTp2b2lkIGNvbnNvbGUud2FybigiW0Jsb2NrIFBsdWdpbl0gVHJ5aW5nIHRvIGdldCBwcm9wIG9yIGV4ZWN1dGUgbWV0aG9kIG9mICIrZSsiIGJ1dCBpdCBoYXMgbm90IGJlZW4gaW5pdGVkIik6aSh0aGlzKS5lYWNoKChmdW5jdGlvbigpe3ZhciBzPWkodGhpcyksYT1zLmRhdGEoZSk7dm9pZCAwPT09YSYmKGE9dm9pZCAwPT09Yz90KHMpOnQocyxjKSxzLmRhdGEoZSxhKSksImluaXQiIT09ciYmKCJmdW5jdGlvbiI9PXR5cGVvZiBhW3JdP28oYSxyLGMpOm4ubG9nRXJyb3IoIltCbG9jayBQbHVnaW5dICIrZSsiIGRvZXMgbm90IHN1cHBvcnQgY29tbWFuZCAiK3IpKX0pKX07ZnVuY3Rpb24gbyhlLHQsbyl7cmV0dXJuIHZvaWQgMD09PW8/ZVt0XSgpOmVbdF0obyl9fX0sMjE1NTM5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9Pmh9KTt2YXIgaT1vKDIxNDA2MCksbj0obygyNjIzMTkpLG8oNDgyNTA0KSkscj1vKDQ5MTg2KSx7bWVyZ2U6c309byg2MDE4NDEpO2NvbnN0IGE9bygyMjEwNjEpLmdldExvZ2dlcigiVWkuVHZDb250cm9sQ2hlY2tib3giKSxsPXtsYWJlbFdyYXBwZXI6J3t7I2hhc0xhYmVsfX08bGFiZWw+e3sjbGFiZWxMZWZ0fX08c3BhbiBjbGFzcz0idHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwge3sjbGFiZWxBZGRDbGFzc319e3tsYWJlbEFkZENsYXNzfX17ey9sYWJlbEFkZENsYXNzfX0iPnt7bGFiZWxMZWZ0fX08L3NwYW4+e3svbGFiZWxMZWZ0fX17ez4gaW5wdXRXcmFwcGVyIH19e3sjbGFiZWxSaWdodH19PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsIHt7I2xhYmVsQWRkQ2xhc3N9fXt7bGFiZWxBZGRDbGFzc319e3svbGFiZWxBZGRDbGFzc319Ij57e2xhYmVsUmlnaHR9fTwvc3Bhbj57ey9sYWJlbFJpZ2h0fX08L2xhYmVsPnt7L2hhc0xhYmVsfX17e15oYXNMYWJlbH19e3s+IGlucHV0V3JhcHBlciB9fXt7L2hhc0xhYmVsfX0nLGlucHV0V3JhcHBlcjonPHt7IHRhZyB9fSBjbGFzcz0ie3sgY3VzdG9tQ2xhc3MgfX17eyNkaXNhYmxlZH19IGktZGlzYWJsZWR7ey9kaXNhYmxlZH19Ij57e15oYXNDaGVja2JveH19e3s+IGNoZWNrYm94IH19e3svaGFzQ2hlY2tib3h9fXt7PiBib3ggfX08L3t7IHRhZyB9fT4nLGNoZWNrYm94Oic8aW5wdXR7eyNpZH19IGlkPSJ7eyBpZCB9fSJ7ey9pZH19IGNsYXNzPSJ7ez4gY2hlY2tib3hDbGFzcyB9fSIgdHlwZT0iY2hlY2tib3gie3sjbmFtZX19IG5hbWU9Int7IG5hbWUgfX0ie3svbmFtZX19e3sjY2hlY2tlZH19IGNoZWNrZWR7ey9jaGVja2VkfX17eyNkaXNhYmxlZH19IGRpc2FibGVke3svZGlzYWJsZWR9fT4nLGNoZWNrYm94Q2xhc3M6Int7IGN1c3RvbUNsYXNzIH19X19pbnB1dCIsYm94Oic8c3BhbiBjbGFzcz0ie3sgY3VzdG9tQ2xhc3MgfX1fX2JveCB7eyNib3hBZGRDbGFzc319e3tib3hBZGRDbGFzc319e3svYm94QWRkQ2xhc3N9fSI+JytvKDQ4ODg3NSkrIjwvc3Bhbj4ifSxjPSJpLWluaXRlZCI7Y2xhc3MgZHtjb25zdHJ1Y3Rvcih7Y3VzdG9tQ2xhc3M6ZT0idHYtY29udHJvbC1jaGVja2JveCIsJGNoZWNrYm94OnQsdGFnOm8saWQ6aSxuYW1lOnIsY2hlY2tlZDpzLGRpc2FibGVkOmwsbGFiZWxMZWZ0OmQsbGFiZWxSaWdodDpoLGxhYmVsQWRkQ2xhc3M6dSxib3hBZGRDbGFzczpffSl7dGhpcy4kZWw9bnVsbCx2b2lkIDA9PT1vJiYobz1kfHxoPyJzcGFuIjoibGFiZWwiKTtjb25zdCBwPXQgaW5zdGFuY2VvZiBuJiYhIXQubGVuZ3RoO2lmKHApe2lmKCF0LmlzKCJpbnB1dFt0eXBlPWNoZWNrYm94XSIpKXJldHVybiB2b2lkIGEubG9nRXJyb3IoImAkY2hlY2tib3hgIG5lZWQgdG8gYmUgaW5wdXRbdHlwZT1jaGVja2JveF0iKTtpZih0Lmhhc0NsYXNzKGMpKXJldHVybjt0aGlzLl9zZXRJbnB1dElkKHQsaSksdGhpcy5fc2V0SW5wdXRDbGFzcyh0LGUpLHRoaXMuX3NldElucHV0TmFtZSh0LHIpLHRoaXMuX3NldElucHV0Q2hlY2tlZCh0LHMpLHRoaXMuX3NldElucHV0RGlzYWJsZWQodCxsKSxzPSEhdC5wcm9wKCJjaGVja2VkIiksbD0hIXQuYXR0cigiZGlzYWJsZWQiKX10aGlzLiRlbD10aGlzLnJlbmRlcih7JGNoZWNrYm94OnQsaGFzQ2hlY2tib3g6cCxjdXN0b21DbGFzczplLHRhZzpvLGlkOmksbmFtZTpyLGNoZWNrZWQ6cyxkaXNhYmxlZDpsLGxhYmVsTGVmdDpkLGxhYmVsUmlnaHQ6aCxoYXNMYWJlbDpkfHxoLGxhYmVsQWRkQ2xhc3M6dSxib3hBZGRDbGFzczpffSksCnRoaXMuJGNoZWNrYm94PXA/dDp0aGlzLiRlbC5maW5kKCJpbnB1dFt0eXBlPWNoZWNrYm94XSIpfV9zZXRJbnB1dElkKGUsdCl7dm9pZCAwIT09dCYmZS5hdHRyKCJpZCIsdCl9X3NldElucHV0Q2xhc3MoZSx0KXtjb25zdCBvPXIucmVuZGVyKGwuY2hlY2tib3hDbGFzcyx7Y3VzdG9tQ2xhc3M6dH0pO2UuYWRkQ2xhc3Mobyl9X3NldElucHV0TmFtZShlLHQpe3ZvaWQgMCE9PXQmJmUuYXR0cigibmFtZSIsdCl9X3NldElucHV0Q2hlY2tlZChlLHQpe3ZvaWQgMCE9PXQmJmUucHJvcCgiY2hlY2tlZCIsISF0KX1fc2V0SW5wdXREaXNhYmxlZChlLHQpe3ZvaWQgMCE9PXQmJih0P2Uuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsImRpc2FibGVkIik6ZS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpKX1yZW5kZXIoZSl7Y29uc3QgdD1lLiRjaGVja2JveCxvPW4oci5yZW5kZXIobC5sYWJlbFdyYXBwZXIsZSxsKSk7aWYoZS5oYXNDaGVja2JveCl7by5pbnNlcnRCZWZvcmUodCk7by5maW5kKCIuIitlLmN1c3RvbUNsYXNzKS5hbmRTZWxmKCkuZmlsdGVyKCIuIitlLmN1c3RvbUNsYXNzKS5lcSgwKS5wcmVwZW5kKHQuZGV0YWNoKCkpLHQuYWRkQ2xhc3MoYyl9cmV0dXJuIG99c2V0IGNoZWNrZWQoZSl7dGhpcy5fc2V0SW5wdXRDaGVja2VkKHRoaXMuJGNoZWNrYm94LCEhZSl9Z2V0IGNoZWNrZWQoKXtyZXR1cm4hIXRoaXMuJGNoZWNrYm94LnByb3AoImNoZWNrZWQiKX19bi5mbi50dkNvbnRyb2xDaGVja2JveD0oMCxpLmNyZWF0ZVR2QmxvY2tXaXRoSW5zdGFuY2UpKCJ0di1jb250cm9sLWNoZWNrYm94IiwoZnVuY3Rpb24oZSx0PXt9KXtyZXR1cm4gbmV3IGQocyh0LHskY2hlY2tib3g6ZX0pKX0pKTtjb25zdCBoPWR9LDU1MDY4MihlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7RHJvcGRvd25WaWV3OigpPT5sfSk7byg5ODY3MDUpLG8oMzc2NDUwKTt2YXIgaT1vKDkzMDIzMSksbj1vKDIxNDA2MCkscj1vKDE4OTMpLHM9bygzMzczNjIpLGE9byg0ODI1MDQpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLiRlbD1lLHRoaXMuJHdyYXA9dC4kd3JhcHx8ZS5maW5kKCIudHYtZHJvcGRvd24tYmVoYXZpb3JfX2J1dHRvbiIpLHRoaXMuJGJvZHk9dC4kYm9keXx8ZS5maW5kKCIudHYtZHJvcGRvd24tYmVoYXZpb3JfX2JvZHkiKSx0aGlzLm5vdENsb3NlV2l0aEN0cmw9ISF0Lm5vdENsb3NlV2l0aEN0cmwmJnQubm90Q2xvc2VXaXRoQ3RybCx0aGlzLmNsb3NlV2l0aEVzYz12b2lkIDA9PT10LmNsb3NlV2l0aEVzY3x8dC5jbG9zZVdpdGhFc2MsdGhpcy5jbG9zZVdpdGhFc2MmJnRoaXMuJGVsLmF0dHIoInRhYkluZGV4IiwwKSwoZS5kYXRhKCJzY3JvbGwiKXx8dC5zY3JvbGwpJiYodGhpcy4kc2Nyb2xsPXRoaXMuJGJvZHkuZmluZCgiLnR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwiKSx0aGlzLiRpblNjcm9sbD10aGlzLiRzY3JvbGwuZmluZCgiLnR2LWRyb3Bkb3duLWJlaGF2aW9yX19pbnNjcm9sbCIpLHRoaXMuc2Nyb2xsPW5ldyByLlNpZGViYXJDdXN0b21TY3JvbGwodGhpcy4kc2Nyb2xsWzBdLHRoaXMuJGluU2Nyb2xsWzBdLHtzaG93VG9wU2hhZG93OiExLHNob3dCb3R0b21TaGFkb3c6ITF9KSx0aGlzLiRzY3JvbGxCYXI9YSh0aGlzLnNjcm9sbC5nZXRTY3JvbGxCYXIoKSksdGhpcy4kc2Nyb2xsQmFyJiZ0aGlzLiRzY3JvbGxCYXIub24oIm1vdXNlZG93bi50di1kcm9wZG93bi12aWV3LXNjcm9sbCIsKCgpPT57dGhpcy5vZmZDbGlja091dHNpZGUoKSxhKGRvY3VtZW50KS5vbigibW91c2V1cC50di1kcm9wZG93bi12aWV3LXNjcm9sbCIsKCgpPT57dGhpcy5vbkNsaWNrT3V0c2lkZSgpLGEoZG9jdW1lbnQpLm9mZigibW91c2V1cC50di1kcm9wZG93bi12aWV3LXNjcm9sbCIpfSkpfSkpKSwoZS5kYXRhKCJhZGFwdEJvZHkiKXx8dC5hZGFwdEJvZHkpJiYodGhpcy5fYWRhcHRCb2R5PSEwKSwoZS5kYXRhKCJhZGFwdE9ubHlJblNjcm9sbEhlaWdodCIpfHx0LmFkYXB0T25seUluU2Nyb2xsSGVpZ2h0KSYmKHRoaXMuX2FkYXB0T25seUluU2Nyb2xsSGVpZ2h0PSEwKSx0aGlzLl9maXRTY3JlZW49ZS5kYXRhKCJmaXRTY3JlZW4iKXx8dC5maXRTY3JlZW4sdGhpcy5fbWF4SGVpZ2h0PWUuZGF0YSgibWF4SGVpZ2h0Iil8fHQubWF4SGVpZ2h0LHRoaXMuX2Ryb3Bkb3duV2lkdGg9ZS5kYXRhKCJkcm9wZG93bldpZHRoIil8fHQuZHJvcGRvd25XaWR0aCx0aGlzLl9ib3VuZGluZ0VsZW1lbnQ9dC5ib3VuZGluZ0VsZW1lbnQsdGhpcy4kd3JhcC5hZGQoZS5maW5kKCIuanMtZHJvcGRvd24tdG9nZ2xlIikpLm9uKCJjbGljayIsKGU9PnthKGUuY3VycmVudFRhcmdldCkuaGFzQ2xhc3MoImpzLXByZXZlbnQtZHJvcGRvd24iKXx8dGhpcy50b2dnbGUoKX0pKSx0aGlzLl9jaGVja0lnbm9yZUNsaWNrT3V0c2lkZT1bXSwoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpJiZzLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5zdGFydExpc3RlbmluZygpfXRvZ2dsZSgpe3RoaXMub3BlbmVkP3RoaXMuY2xvc2UoITApOnRoaXMub3BlbigpfW9wZW4oKXt0aGlzLm9wZW5lZHx8dGhpcy5kaXNhYmxlZHx8dGhpcy5yZWFkb25seXx8KHRoaXMuJGVsLnRyaWdnZXIoImJlZm9yZU9wZW5NZW51IiksdGhpcy4kYm9keS5yZW1vdmVDbGFzcygiaS1oaWRkZW4iKS5hZGRDbGFzcygiaS1vcGVuZWQiKSx0aGlzLiR3cmFwLmFkZENsYXNzKCJpLWRyb3BwZWQiKSx0aGlzLiRlbC5hZGRDbGFzcygiaS1vcGVuZWQiKSwiaG9yeiI9PT10aGlzLl9maXRTY3JlZW4mJnRoaXMuZml0SG9yaXpvbnRhbGx5KCksdGhpcy5fYWRhcHRCb2R5JiZ0aGlzLmFkYXB0Qm9keSgpLHRoaXMub25DbGlja091dHNpZGUoKSx0aGlzLiRlbC50cmlnZ2VyKCJ1cGRhdGVTY3JvbGwiKSx0aGlzLiRlbC50cmlnZ2VyKCJhZnRlck9wZW5NZW51IiksdGhpcy5vcGVuZWQ9ITAsdGhpcy5jbG9zZVdpdGhFc2MmJnRoaXMuJGVsLm9uKCJrZXlwcmVzcyBrZXl1cCIsKGU9PnsyNz09PWUua2V5Q29kZSYmdGhpcy5jbG9zZSghMCl9KSkpfW9uQ2xpY2tPdXRzaWRlKCl7CnNldFRpbWVvdXQoKCgpPT57dGhpcy4kYm9keS5vbigiY2xpY2tvdXRzaWRlIiwoZT0+e3RoaXMuX2NoZWNrSWdub3JlQ2xpY2tPdXRzaWRlLmxlbmd0aCYmdGhpcy5fY2hlY2tJZ25vcmVDbGlja091dHNpZGUuc29tZSgodD0+dChlKSkpfHx0aGlzLmNsb3NlKCEwKX0pKX0pLDApfW9mZkNsaWNrT3V0c2lkZSgpe3RoaXMuJGJvZHkub2ZmKCJjbGlja291dHNpZGUiKX1zZXRDaGVja0lnbm9yZUNsaWNrT3V0c2lkZShlKXt0aGlzLl9jaGVja0lnbm9yZUNsaWNrT3V0c2lkZS5wdXNoKGUpfWRyb3BDaGVja0lnbm9yZUNsaWNrT3V0c2lkZShlKXt2YXIgdD10aGlzLl9jaGVja0lnbm9yZUNsaWNrT3V0c2lkZS5pbmRleE9mKGUpOy0xIT09dCYmdGhpcy5fY2hlY2tJZ25vcmVDbGlja091dHNpZGUuc3BsaWNlKHQsMSl9Y2xvc2UoZT0hMSl7IXRoaXMub3BlbmVkfHx0aGlzLmRpc2FibGVkfHx0aGlzLnJlYWRvbmx5fHwhZSYmdGhpcy5ub3RDbG9zZVdpdGhDdHJsJiYod2luZG93LmV2ZW50LmN0cmxLZXl8fHdpbmRvdy5ldmVudC5tZXRhS2V5KXx8KHRoaXMub2ZmQ2xpY2tPdXRzaWRlKCksdGhpcy4kd3JhcC5yZW1vdmVDbGFzcygiaS1kcm9wcGVkIiksdGhpcy4kZWwudHJpZ2dlcigiYmVmb3JlQ2xvc2VNZW51IiksdGhpcy4kYm9keS5yZW1vdmVDbGFzcygiaS1vcGVuZWQiKS5hZGRDbGFzcygiaS1oaWRkZW4iKSx0aGlzLiRlbC5yZW1vdmVDbGFzcygiaS1vcGVuZWQiKSx0aGlzLmNsb3NlV2l0aEVzYyYmdGhpcy4kZWwub2ZmKCJrZXlwcmVzcyBrZXl1cCIpLHRoaXMub3BlbmVkPSExLHRoaXMuJGVsLnRyaWdnZXIoImFmdGVyQ2xvc2VNZW51IikpfWlzT3BlbmVkKCl7cmV0dXJuIHRoaXMub3BlbmVkfXVwZGF0ZVNjcm9sbCgpe3RoaXMuc2Nyb2xsJiYodGhpcy5zY3JvbGwudXBkYXRlU2Nyb2xsQmFyKCksdGhpcy5zY3JvbGwuc2Nyb2xsVG9TdGFydCgpKX1lbmFibGUoKXt0aGlzLiR3cmFwLnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIiksdGhpcy5kaXNhYmxlZD0hMX1kaXNhYmxlKCl7dGhpcy4kd3JhcC5hZGRDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMuZGlzYWJsZWQ9ITB9c2V0UmVhZG9ubHkoZSl7dGhpcy5yZWFkb25seT1lfWFkYXB0Qm9keSgpe2NvbnN0IGU9dGhpcy4kYm9keSx0PXRoaXMuJHdyYXAuZ2V0KDApLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dGhpcy5fYm91bmRpbmdFbGVtZW50P3RoaXMuX2JvdW5kaW5nRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTp7dG9wOjAsYm90dG9tOndpbmRvdy5pbm5lckhlaWdodCxoZWlnaHQ6d2luZG93LmlubmVySGVpZ2h0fTtpZigoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpKXtjb25zdCBlPXMuRW1iZWRWaWV3cG9ydERpbWVuc2lvbnNQcm92aWRlci5nZXRJbnN0YW5jZSgpLmRhdGEoKTtlJiYoby50b3A9TWF0aC5tYXgoby50b3AsZS50b3AtMzIpLG8uaGVpZ2h0PU1hdGgubWluKG8uaGVpZ2h0LGUuaGVpZ2h0KSxvLmJvdHRvbT1NYXRoLm1pbihvLmJvdHRvbSxlLmJvdHRvbSkpfWNvbnN0IG49cGFyc2VGbG9hdChlLmNzcygicGFkZGluZy10b3AiKSkscj1wYXJzZUZsb2F0KGUuY3NzKCJwYWRkaW5nLWJvdHRvbSIpKSxhPXRoaXMuJGluU2Nyb2xsLm91dGVySGVpZ2h0KCEwKStuK3I7aWYodGhpcy5zY3JvbGwmJnRoaXMuc2Nyb2xsLnNjcm9sbFRvU3RhcnQoKSx0aGlzLl9hZGFwdE9ubHlJblNjcm9sbEhlaWdodCl7Y29uc3QgaT1lLmZpbmQoIi5qcy1kcm9wZG93bi1kdW1teSIpLG49aT9wYXJzZUZsb2F0KGkuY3NzKCJwYWRkaW5nLWJvdHRvbSIpKStwYXJzZUZsb2F0KGkuY3NzKCJtYXJnaW4tYm90dG9tIikpOjAscz10LnRvcCt0LmhlaWdodCtuO3JldHVybiB2b2lkIHRoaXMuJGVsLmZpbmQoIi50di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIikuY3NzKCJtYXhIZWlnaHQiLG8uYm90dG9tLXItcy0yNSl9Y29uc3QgbD10aGlzLl9tYXhIZWlnaHR8fGEsYz10LnRvcCtsKzI1PD1vLmJvdHRvbSxkPW8udG9wKzE1K2w8PXQuYm90dG9tO2xldCBoLHU9dGhpcy5fbWF4SGVpZ2h0fHwiYXV0byI7aWYoYyloPS1uO2Vsc2UgaWYoZCloPS1sK3QuaGVpZ2h0K3I7ZWxzZXtoPS10LnRvcCtvLnRvcCsxNSsyNStuK3I7Y29uc3QgZT1vLmhlaWdodC0xNS0yNS1yO2w+ZSYmKHU9ZSl9ZS5jc3MoInRvcCIsaCksZS5oZWlnaHQodSksdGhpcy5fZHJvcGRvd25XaWR0aCYmZS53aWR0aCh0aGlzLl9kcm9wZG93bldpZHRoKX1maXRIb3Jpem9udGFsbHkoKXt0aGlzLiRib2R5LmNzcygibWFyZ2luTGVmdCIsMCk7Y29uc3QgZT1kb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9cGFyc2VGbG9hdChhKGRvY3VtZW50LmJvZHkpLmNzcygicGFkZGluZ1JpZ2h0IikpLG89dGhpcy4kYm9keS5vZmZzZXQoKTtvLnJpZ2h0PW8ubGVmdCt0aGlzLiRib2R5Lm91dGVyV2lkdGgoKTtjb25zdCBpPU1hdGgubWF4KE1hdGgubWluKDAsZS5yaWdodC10LW8ucmlnaHQpLGUubGVmdC1vLmxlZnQpO2kmJnRoaXMuJGJvZHkuY3NzKCJtYXJnaW5MZWZ0IixpKX1kZXN0cm95KCl7dGhpcy5zY3JvbGwmJnRoaXMuc2Nyb2xsLmRlc3Ryb3koKSx0aGlzLm9mZkNsaWNrT3V0c2lkZSgpLHRoaXMuJGVsLmZpbmQoIi5qcy1kcm9wZG93bi10b2dnbGUiKS5vZmYoImNsaWNrIiksdGhpcy4kd3JhcC5vZmYoImNsaWNrIil9fWEuZm4udHZEcm9wZG93bj0oMCxuLmNyZWF0ZVR2QmxvY2tXaXRoSW5zdGFuY2UpKCJ0di1kcm9wZG93biIsKGZ1bmN0aW9uKGUsdD17fSl7cmV0dXJuIG5ldyBsKGUsdCl9KSl9LDkyNjk5NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzaG93U3VwcG9ydERpYWxvZzooKT0+bn0pO28oMzAwMjg2KTt2YXIgaT1vKDgyNzAxKTthc3luYyBmdW5jdGlvbiBuKGUpewpjb25zdCB0PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoMjY5NzMpLG8uZSg4NDMwNiksby5lKDI5Mjk2KSxvLmUoNjAwNjIpLG8uZSg0NjkwNyksby5lKDIwMzU0KSxvLmUoMTIzODUpLG8uZSg4MTA3Miksby5lKDk0OTQ4KSxvLmUoMjM2MjQpLG8uZSgzNjIyMiksby5lKDk0MjMyKSxvLmUoODM0ODgpLG8uZSgxOTU5NSksby5lKDE5Nzg3KSxvLmUoNjc3OTkpLG8uZSgxMTQ2MSksby5lKDk2NTg3KSxvLmUoMTEyMTgpLG8uZSg4NjQyMyksby5lKDM3NTEzKSxvLmUoODU3OSksby5lKDk1MDQpLG8uZSg0MDgzNSksby5lKDcyNjY2KSxvLmUoOTM0MjEpLG8uZSg0OTU4OCksby5lKDQ3NjMyKSxvLmUoNzQzODEpLG8uZSgxNTUyNiksby5lKDcxNDE0KSxvLmUoNjE4MjEpLG8uZSg1NDY4MSksby5lKDY2MjcwKSxvLmUoMzE4MzcpLG8uZSg5NzQ0KSxvLmUoMjA5NzEpLG8uZSg0OTUxOCksby5lKDM3NzY3KSxvLmUoMTk1MTMpLG8uZSgzMjYzMiksby5lKDM1MTk4KSxvLmUoNDY1OTEpLG8uZSg5NDA1NCksby5lKDE1MDkpLG8uZSg3NjY1KSxvLmUoODA3MzEpLG8uZSg1NDMxMCksby5lKDM2MzU2KSxvLmUoNzg0NzEpLG8uZSgyNTY5OCksby5lKDMzMzY4KSxvLmUoOTUxNTgpLG8uZSgzMjM4Nyksby5lKDc1MDQpLG8uZSg0NDc4MCksby5lKDcwNzEyKSxvLmUoODc4NTgpLG8uZSg1OTYxOSksby5lKDk5ODI3KSxvLmUoODE4NjgpLG8uZSgyMzM2NCksby5lKDIzNzQzKSxvLmUoNDIyODgpLG8uZSg3NzU3OCksby5lKDQ4ODU0KSxvLmUoMTk0NjMpLG8uZSg4NjA4KV0pLnRoZW4oby5iaW5kKG8sOTEyMjk5KSk7YXdhaXQgaS5hdmFpbGFibGVPZmZlcnMuZW5zdXJlT2ZmZXJzKCksbmV3IHQuU3VwcG9ydERpYWxvZyhlKS5vcGVuKCl9fSw5ODM2MTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7bWFwS2V5Q29kZVRvRGlyZWN0aW9uOigpPT5jLG5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3I6KCk9PnMscXVlcnlGb2N1c2FibGVFbGVtZW50czooKT0+bCxxdWVyeVRhYmJhYmxlRWxlbWVudHM6KCk9PmF9KTt2YXIgaSxuPW8oOTY5MTY4KSxyPW8oNjgyMzgxKTtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuIGU9PT10PzA6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8tMToxfWZ1bmN0aW9uIGEoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b246bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFt0YWJpbmRleD0iLTEiXSksIFt0YWJpbmRleF06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pJykpLmZpbHRlcigoMCxyLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShlKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSknKSkuZmlsdGVyKCgwLHIuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsbi5pc1J0bCkoKTtzd2l0Y2goZSl7Y2FzZSAzODpyZXR1cm4iYmxvY2tQcmV2IjtjYXNlIDQwOnJldHVybiJibG9ja05leHQiO2Nhc2UgMzc6cmV0dXJuIHQ/ImlubGluZU5leHQiOiJpbmxpbmVQcmV2IjtjYXNlIDM5OnJldHVybiB0PyJpbmxpbmVQcmV2IjoiaW5saW5lTmV4dCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19IWZ1bmN0aW9uKGUpe2UuQmxvY2tQcmV2PSJibG9ja1ByZXYiLGUuQmxvY2tOZXh0PSJibG9ja05leHQiLGUuSW5saW5lUHJldj0iaW5saW5lUHJldiIsZS5JbmxpbmVOZXh0PSJpbmxpbmVOZXh0In0oaXx8KGk9e30pKX0sMzg5ODQ0KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbigpPzA6cigpPzQ1Ok1hdGgubWluKE1hdGgubWF4KGUsNDUpLDQ1MCl9by5kKHQse2dldFdpZGdldEJhclBhZGRpbmc6KCk9Pml9KTtjb25zdCBuPSgpPT4hd2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDc2OHB4KSIpLm1hdGNoZXMscj0oKT0+IXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAxMjgwcHgpIikubWF0Y2hlc30sNzEyMTM0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0xJU1RfQ09MT1JTOigpPT51LExpc3RDb2xvcjooKT0+aSxjaGFuZ2VEZXNjcmlwdGlvbjooKT0+QyxjcmVhdGVDcm9zc1RhYlN5bmNNaWRkbGV3YXJlOigpPT5NLGdldENvbW1hbmRzOigpPT5MLGdldExpc3RCeUNvbG9yOigpPT5SLGdldFN5bWJvbENvbG9yOigpPT5JLGdldFN5bWJvbHNCeUNvbG9yOigpPT5GLGdldFRpbWVzdGFtcDooKT0+RCxpc0xpc3RDb2xvcjooKT0+XyxtYXJrTWFueTooKT0+ZixyZWR1Y2VyOigpPT5BLHJlbW92ZTooKT0+UyxyZW5hbWU6KCk9PncscmVuYW1lU2VwYXJhdG9yOigpPT5rLHJlc2V0OigpPT5iLHNldHVwOigpPT55LHNoaWZ0Q29tbWFuZDooKT0+VCx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTooKT0+eH0pO3ZhciBpLG49bygxMzA2OTkpLHI9bygzMjcyMzkpLHM9bygxMzg2MzgpLGE9byg0MzMyMCksbD1vKDI5NTIzNSksYz1vKDYxMjQ0NiksZD1vKDkwMTAyMiksaD1vKDk3MzUyNCk7IWZ1bmN0aW9uKGUpe2UuUmVkPSJyZWQiLGUuQmx1ZT0iYmx1ZSIsZS5HcmVlbj0iZ3JlZW4iLGUuT3JhbmdlPSJvcmFuZ2UiLGUuUHVycGxlPSJwdXJwbGUiLGUuQ3lhbj0iY3lhbiIsZS5QaW5rPSJwaW5rIn0oaXx8KGk9e30pKTtjb25zdCB1PVtpLlJlZCxpLkJsdWUsaS5HcmVlbixpLk9yYW5nZSxpLlB1cnBsZSxpLkN5YW4saS5QaW5rXTtmdW5jdGlvbiBfKGUpe3JldHVybiBuZXcgU2V0KHUpLmhhcyhlKX1jb25zdCBwPXtsaXN0czp7Y29sb3JzOltdLGJ5Q29sb3I6e30sYnlTeW1ib2w6e319LGNvbW1hbmRzOltdLHRpbWVzdGFtcDpudWxsfTtmdW5jdGlvbiBtKGUsdCl7CmNvbnN0e2xpc3RzOm99PWUsaT1vLmJ5Q29sb3JbdF07aSYmMD09PWkuc3ltYm9scy5sZW5ndGgmJihvLmNvbG9ycz1vLmNvbG9ycy5maWx0ZXIoKGU9PmUhPT10KSkpfWZ1bmN0aW9uIGcoZSl7cmV0dXJuKDAsZC5pc1NlcGFyYXRvckl0ZW0pKGUpfWNvbnN0IHY9KDAsbi5jcmVhdGVTbGljZSkoe25hbWU6Im1hcmtlZC1saXN0cyIsaW5pdGlhbFN0YXRlOnAscmVkdWNlcnM6e3NldHVwOihlLHQpPT57Y29uc3R7bGlzdHM6byx0aW1lc3RhbXA6aX09dC5wYXlsb2FkLG49e2xpc3RzOntjb2xvcnM6W10sYnlDb2xvcjp7fSxieVN5bWJvbDp7fX0sY29tbWFuZHM6W10sdGltZXN0YW1wOm51bGx9O24udGltZXN0YW1wPWk7Zm9yKGNvbnN0IGUgb2YgZnVuY3Rpb24oZSx0KXtyZXR1cm5bLi4uZV0uc29ydCgoKGUsbyk9PnQuaW5kZXhPZihlLmNvbG9yKS10LmluZGV4T2Yoby5jb2xvcikpKX0obyx1KSl7Y29uc3QgdD1lLnN5bWJvbHMuZmlsdGVyKCh0PT52b2lkIDA9PT1uLmxpc3RzLmJ5U3ltYm9sW3RdJiYoZyh0KXx8KG4ubGlzdHMuYnlTeW1ib2xbdF09ZS5jb2xvciksITApKSk7bi5saXN0cy5ieUNvbG9yW2UuY29sb3JdPXtjb2xvcjplLmNvbG9yLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sc2hhcmVkOmUuc2hhcmVkLHN5bWJvbHM6dCxwZXJzaXN0ZWRTdGF0ZTplLnBlcnNpc3RlZFN0YXRlfSx0Lmxlbmd0aD4wJiZuLmxpc3RzLmNvbG9ycy5wdXNoKGUuY29sb3IpfXJldHVybiBufSxyZW1vdmU6KGUsdCk9Pntjb25zdHtjb2xvcjpvLHN5bWJvbHM6aSxzaWxlbnQ6bn09dC5wYXlsb2FkLHtsaXN0czphLGNvbW1hbmRzOmx9PWUsZD1hLmJ5Q29sb3Jbb107aWYodm9pZCAwPT09ZHx8MD09PWQuc3ltYm9scy5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9bmV3IFNldChpKSx1PWQuc3ltYm9scy5maWx0ZXIoKGU9PiFoLmhhcyhlKSkpO2lmKCEoMCxjLmVxdWFsQXJyYXlzKSh1LGQuc3ltYm9scykpe2Quc3ltYm9scz11O2Zvcihjb25zdCBlIG9mIGgpZGVsZXRlIGEuYnlTeW1ib2xbZV07bnx8bC5wdXNoKHt0eXBlOiJyZW1vdmUiLGNvbG9yOm8sc3ltYm9sczpbLi4uaF0scHJldkxpc3RzOigwLHMuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSksbShlLG8pfX0sbWFya01hbnk6KGUsdCk9Pntjb25zdHtjb2xvcjpvLGJlZm9yZTppLHNpbGVudDpufT10LnBheWxvYWQse2xpc3RzOmEsY29tbWFuZHM6bH09ZSx7dW5pcXVlOmQsZXhjbHVzaW9uczp1fT1mdW5jdGlvbihlLHQpe2NvbnN0e2NvbG9yOm8sc3ltYm9sczppLHNlcGFyYXRvcnM6bn09dC5wYXlsb2FkLHtsaXN0czpyfT1lLGE9e30sbD1uZXcgU2V0LGM9ZT0+ZyhlKT8oKDAscy5hc3NlcnQpKG51bGwhPT1vKSxvKTpyLmJ5U3ltYm9sW2VdO2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7KytlKXtjb25zdCB0PWlbZV07aWYobC5oYXModCl8fGcodCkmJiFuKWNvbnRpbnVlO2wuYWRkKHQpO2NvbnN0IG89Yyh0KTt2b2lkIDAhPT1vJiYoYVtvXT1hW29dPz9uZXcgU2V0KS5hZGQodCl9cmV0dXJue2V4Y2x1c2lvbnM6YSx1bmlxdWU6bH19KGUsdCk7aWYoMD09PWQuc2l6ZSlyZXR1cm47Y29uc3QgXz1mdW5jdGlvbihlLHQsbyxpKXtjb25zdHtjb2xvcjpuLGJlZm9yZTpyfT10LnBheWxvYWQse2xpc3RzOnN9PWU7bGV0IGE7aWYobnVsbCE9PW4mJnZvaWQgMCE9PXImJm8uaGFzKHIpKXtjb25zdCBlPXMuYnlDb2xvcltuXTtpZih2b2lkIDAhPT1lKXthPWk7Zm9yKGxldCB0PWUuc3ltYm9scy5pbmRleE9mKHIpO3Q+PTA7LS10KWlmKCFvLmhhcyhlLnN5bWJvbHNbdF0pKXthPWUuc3ltYm9sc1t0XTticmVha319fXJldHVybiBhfShlLHQsZCxoLkxJU1RfU1RBUlQpO2lmKG51bGwhPT1vJiZ2b2lkIDAhPT11W29dJiYxPT09T2JqZWN0LmtleXModSkubGVuZ3RoKXtjb25zdCB0PWEuYnlDb2xvcltvXTsoMCxzLmFzc2VydCkodm9pZCAwIT09dCk7Y29uc3QgcD10LnN5bWJvbHMuZmlsdGVyKChlPT4hZC5oYXMoZSkpKSx2PSgwLGguZ2V0VGFyZ2V0SW5kZXgpKHAsaSxfKTtpZih2b2lkIDA9PT12P3AucHVzaCguLi5kKTpwLnNwbGljZSh2LDAsLi4uZCksKDAsYy5lcXVhbEFycmF5cykocCx0LnN5bWJvbHMpKXJldHVybjt7Y29uc3QgaT11W29dOygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1pKSx0LnN5bWJvbHM9cDtmb3IoY29uc3QgZSBvZiBpKWRlbGV0ZSBhLmJ5U3ltYm9sW2VdO2Zvcihjb25zdCBlIG9mIGQpZyhlKXx8KGEuYnlTeW1ib2xbZV09byk7cmV0dXJuIG0oZSxvKSx2b2lkKG58fGwucHVzaCh7dHlwZToicmVwbGFjZSIsY29sb3I6byxzeW1ib2xzOlsuLi50LnN5bWJvbHNdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pKX19Zm9yKGNvbnN0IHQgaW4gdSl7aWYoIXUuaGFzT3duUHJvcGVydHkodCkpY29udGludWU7Y29uc3Qgbz11W3RdOygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1vKTtjb25zdCBpPWEuYnlDb2xvclt0XTsoMCxzLmFzc2VydCkodm9pZCAwIT09aSksaS5zeW1ib2xzPWkuc3ltYm9scy5maWx0ZXIoKGU9PiFvLmhhcyhlKXx8KGRlbGV0ZSBhLmJ5U3ltYm9sW2VdLCExKSkpLG0oZSx0KX1pZihudWxsPT09bylyZXR1cm4gdm9pZChufHxsLnB1c2goe3R5cGU6InJlc2V0IixzeW1ib2xzOlsuLi5kXSxwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSk7Y29uc3QgcD1hLmJ5Q29sb3Jbb107aWYoYS5jb2xvcnMuaW5jbHVkZXMobykpeygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1wKTtjb25zdCB0PSgwLGguZ2V0VGFyZ2V0SW5kZXgpKHAuc3ltYm9scyxpLF8pO3ZvaWQgMD09PXQ/KHAuc3ltYm9scy5wdXNoKC4uLmQpLG58fCh2b2lkIDA9PT11W29dP2wucHVzaCh7dHlwZToiYXBwZW5kIixjb2xvcjpvLHN5bWJvbHM6Wy4uLmRdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pOmwucHVzaCh7dHlwZToicmVwbGFjZSIsY29sb3I6byxzeW1ib2xzOlsuLi5wLnN5bWJvbHNdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLApyLm9yaWdpbmFsKShlKSkubGlzdHN9KSkpOihwLnN5bWJvbHMuc3BsaWNlKHQsMCwuLi5kKSxufHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOm8sc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9ZWxzZSB2b2lkIDA9PT1wP2EuYnlDb2xvcltvXT17Y29sb3I6byxzeW1ib2xzOlsuLi5kXSxuYW1lOm51bGwsZGVzY3JpcHRpb246bnVsbCxzaGFyZWQ6ITEscGVyc2lzdGVkU3RhdGU6bnVsbH06cC5zeW1ib2xzPVsuLi5kXSxhLmNvbG9ycy5wdXNoKG8pLG58fGwucHVzaCh7dHlwZToiYXBwZW5kIixjb2xvcjpvLHN5bWJvbHM6Wy4uLmRdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pO2Zvcihjb25zdCBlIG9mIGQpZyhlKXx8KGEuYnlTeW1ib2xbZV09byl9LHJlbmFtZVNlcGFyYXRvcjooZSx0KT0+e2NvbnN0e2NvbG9yOm8sc2VwYXJhdG9yOmksbmFtZTpuLHNpbGVudDphfT10LnBheWxvYWQ7aWYoaT09PW58fCFnKGkpfHwhZyhuKSlyZXR1cm47Y29uc3QgbD1lLmxpc3RzLmJ5Q29sb3Jbb107KDAscy5hc3NlcnQpKHZvaWQgMCE9PWwpO2NvbnN0IGM9bC5zeW1ib2xzLmluZGV4T2YoaSk7LTEhPT1jJiYtMT09PWwuc3ltYm9scy5pbmRleE9mKG4pJiYobC5zeW1ib2xzLnNwbGljZShjLDEsbiksYXx8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJyZW5hbWUtc2VwYXJhdG9yIixjb2xvcjpvLHNlcGFyYXRvcjppLG5hbWU6bixwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9LHJlbmFtZTooZSx0KT0+e2NvbnN0e25hbWU6byxjb2xvcjppLHNpbGVudDpufT10LnBheWxvYWQsYT1lLmxpc3RzLmJ5Q29sb3JbaV07KDAscy5hc3NlcnQpKHZvaWQgMCE9PWEpLGEubmFtZSE9PW8mJihhLm5hbWU9byxufHxlLmNvbW1hbmRzLnB1c2goe3R5cGU6InJlbmFtZSIsY29sb3I6aSxuYW1lOm8scHJldkxpc3RzOigwLHMuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSxjaGFuZ2VEZXNjcmlwdGlvbjooZSx0KT0+e2NvbnN0e2NvbG9yOm8sZGVzY3JpcHRpb246aSxzaWxlbnQ6bn09dC5wYXlsb2FkLGE9ZS5saXN0cy5ieUNvbG9yW29dOygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1hKSxhLmRlc2NyaXB0aW9uIT09aSYmKGEuZGVzY3JpcHRpb249aSxufHxlLmNvbW1hbmRzLnB1c2goe3R5cGU6ImNoYW5nZS1kZXNjcmlwdGlvbiIsY29sb3I6byxkZXNjcmlwdGlvbjppLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pKX0scmVzZXQ6KGUsdCk9Pntjb25zdHtzaWxlbnQ6b309dC5wYXlsb2FkLHtsaXN0czppfT1lO2Zvcihjb25zdCBlIG9mIHUpe2NvbnN0IHQ9aS5ieUNvbG9yW2VdO3ZvaWQgMCE9PXQmJih0LnN5bWJvbHM9W10pfWkuY29sb3JzPVtdLGkuYnlTeW1ib2w9e30sb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJyZXNldC1hbGwiLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pfSxzaGFyZTooZSx0KT0+e2NvbnN0e2xpc3RzOm8sY29tbWFuZHM6aX09ZSx7c2hhcmVkOm4sY29sb3I6YSxzaWxlbnQ6bH09dC5wYXlsb2FkLGM9by5ieUNvbG9yW2FdO3ZvaWQgMCE9PWMmJmMuc2hhcmVkIT09biYmKGMuc2hhcmVkPW4sbHx8aS5wdXNoKHt0eXBlOiJzaGFyZSIsY29sb3I6YSxzaGFyZWQ6bixwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9LHVwZGF0ZVBlcnNpc3RlZFN0YXRlOihlLHQpPT57Y29uc3R7bGlzdHM6b309ZTtmb3IoY29uc3QgZSBvZiB1KXtjb25zdCBpPW8uYnlDb2xvcltlXSxuPXQucGF5bG9hZFtlXTt2b2lkIDAhPT1pJiZpLnBlcnNpc3RlZFN0YXRlJiZuJiYoaS5wZXJzaXN0ZWRTdGF0ZT17Li4uaS5wZXJzaXN0ZWRTdGF0ZSwuLi5ufSl9fSxzaGlmdENvbW1hbmQ6KGUsdCk9Pntjb25zdHtjb3VudDpvfT10LnBheWxvYWQ7ZS5jb21tYW5kcy5zcGxpY2UoMCxvKX19fSkse21hcmtNYW55OmYsc2V0dXA6eSxyZXNldDpiLHJlbW92ZTpTLHJlbmFtZTp3LGNoYW5nZURlc2NyaXB0aW9uOkMscmVuYW1lU2VwYXJhdG9yOmssc2hpZnRDb21tYW5kOlQsc2hhcmU6RSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTp4fT12LmFjdGlvbnMse3JlZHVjZXI6QX09djtmdW5jdGlvbiBNKGUsdCxvPXYpe3JldHVybigwLGEuY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZSkoe2lkOmUsY2hhbm5lbDp0LGV2ZW50OiJtYXJrZWQtbGlzdC1jcm9zcy10YWItc3luYyIsZmlsdGVyOmU9PmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuYWN0aW9ucy5tYXJrTWFueS5tYXRjaChlKXx8dC5hY3Rpb25zLnJlbmFtZS5tYXRjaChlKXx8dC5hY3Rpb25zLmNoYW5nZURlc2NyaXB0aW9uLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVtb3ZlLm1hdGNoKGUpfHx0LmFjdGlvbnMuc2V0dXAubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW5hbWVTZXBhcmF0b3IubWF0Y2goZSl8fHQuYWN0aW9ucy5yZXNldC5tYXRjaChlKXx8dC5hY3Rpb25zLnNoYXJlLm1hdGNoKGUpfHx0LmFjdGlvbnMudXBkYXRlUGVyc2lzdGVkU3RhdGUubWF0Y2goZSl9KGUsbyl9KX1mdW5jdGlvbiBJKGUsdCl7cmV0dXJuIGUubGlzdHMuYnlTeW1ib2xbbC5xdWFsaWZpZWQuY2FzdCh0KV0/P251bGx9ZnVuY3Rpb24gUihlLHQpe3JldHVybiBlLmxpc3RzLmJ5Q29sb3JbdF0/P251bGx9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBSKGUsdCk/LnN5bWJvbHM/P251bGx9ZnVuY3Rpb24gTChlKXtyZXR1cm4gZS5jb21tYW5kc31mdW5jdGlvbiBEKGUpe3JldHVybiBlLnRpbWVzdGFtcH19LDUxODc1KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtlLnByZXZlbnREZWZhdWx0KCl9by5kKHQse3ByZXZlbnREZWZhdWx0OigpPT5pLHByZXZlbnREZWZhdWx0Rm9yQ29udGV4dE1lbnU6KCk9PnJ9KQo7Y29uc3Qgbj1bImlucHV0Om5vdChbdHlwZV0pIiwnaW5wdXRbdHlwZT0idGV4dCJdJywnaW5wdXRbdHlwZT0iZW1haWwiXScsJ2lucHV0W3R5cGU9InBhc3N3b3JkIl0nLCdpbnB1dFt0eXBlPSJzZWFyY2giXScsJ2lucHV0W3R5cGU9Im51bWJlciJdJywnaW5wdXRbdHlwZT0idXJsIl0nLCJ0ZXh0YXJlYSIsImFbaHJlZl0iLCcqW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdJywiW2RhdGEtYWxsb3ctY29udGV4dC1tZW51XSJdO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1lLnRhcmdldDt0JiYhdC5jbG9zZXN0KG4uam9pbigiLCAiKSkmJmUucHJldmVudERlZmF1bHQoKX19LDYxNjMxMShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0OigpPT5ufSk7dmFyIGk9byg3Nzk0NzQpO2Z1bmN0aW9uIG4oZSx0KXsoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/aS51c2VFZmZlY3Q6aS51c2VMYXlvdXRFZmZlY3QpKGUsdCl9fSw3NjI4NTEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe3JldHVybiBlKyLigKYifW8uZCh0LHthcHBlbmRFbGxpcHNpczooKT0+aX0pfSwxMzg2MzgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJBc3NlcnRpb24gZmFpbGVkIisodD9gOiAke3R9YDoiIikpfWZ1bmN0aW9uIG4oZSx0KXtpZih2b2lkIDA9PT1lKXRocm93IG5ldyBFcnJvcihgJHt0Pz8iVmFsdWUifSBpcyB1bmRlZmluZWRgKTtyZXR1cm4gZX1mdW5jdGlvbiByKGUsdCl7aWYobnVsbD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIG51bGxgKTtyZXR1cm4gZX1mdW5jdGlvbiBzKGUsdCl7cmV0dXJuIHIobihlLHQpLHQpfW8uZCh0LHthc3NlcnQ6KCk9PmksZW5zdXJlOigpPT5zLGVuc3VyZURlZmluZWQ6KCk9Pm4sZW5zdXJlTm90TnVsbDooKT0+cn0pfSwyMTQ5ODcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2xldCB0PW51bGw7cmV0dXJuKG8sLi4uaSk9Pih0Py5hYm9ydCgpLHQ9bmV3IEFib3J0Q29udHJvbGxlcixvPy5hYm9ydGVkP3QuYWJvcnQoKTpvPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT50Py5hYm9ydCgpKSx7b25jZTohMH0pLGUodC5zaWduYWwsLi4uaSkpfWZ1bmN0aW9uIG4oZSl7aWYoIWwoZSkpdGhyb3cgZX1mdW5jdGlvbiByKGUpe2lmKGwoZSkpdGhyb3cgZX1mdW5jdGlvbiBzKGUpe3JldHVybiBlPy5hYm9ydGVkP1Byb21pc2UucmVqZWN0KGEoKSk6bmV3IFByb21pc2UoKCh0LG8pPT57ZT8uYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgoKT0+byhhKCkpKSx7b25jZTohMH0pfSkpfWZ1bmN0aW9uIGEoKXtyZXR1cm4gbmV3IERPTUV4Y2VwdGlvbigiQWJvcnRlZCIsIkFib3J0RXJyb3IiKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlIGluc3RhbmNlb2YgRXJyb3ImJiJBYm9ydEVycm9yIj09PWUubmFtZXx8Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmIm5hbWUiaW4gZSYmIkFib3J0RXJyb3IiPT09ZS5uYW1lfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gUHJvbWlzZS5yYWNlKFtzKGUpLHRdKX1hc3luYyBmdW5jdGlvbiBkKGUsdCl7bGV0IG87dHJ5e2F3YWl0IGMoZSxuZXcgUHJvbWlzZSgoZT0+e289c2V0VGltZW91dChlLHQpfSkpKX1maW5hbGx5e2NsZWFyVGltZW91dChvKX19by5kKHQse2NyZWF0ZUFib3J0RXJyb3I6KCk9PmEsZGVsYXk6KCk9PmQsaXNBYm9ydEVycm9yOigpPT5sLHJlc3BlY3RBYm9ydDooKT0+YyxyZXNwZWN0TGF0ZXN0OigpPT5pLHJldGhyb3dBYm9ydEVycm9yOigpPT5yLHNraXBBYm9ydEVycm9yOigpPT5ufSl9LDk2NDQ4NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtkZWVwRXh0ZW5kOigpPT5ufSk7Y29uc3QgaT1uZXcgU2V0KFsiX19wcm90b19fIiwicHJvdG90eXBlIiwiY29uc3RydWN0b3IiXSk7ZnVuY3Rpb24gbihlLC4uLnQpe3JldHVybiBlJiYib2JqZWN0Ij09dHlwZW9mIGU/KDA9PT10Lmxlbmd0aHx8dC5mb3JFYWNoKCh0PT57bnVsbCE9dCYmIm9iamVjdCI9PXR5cGVvZiB0JiZPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChvPT57aWYoZnVuY3Rpb24oZSl7cmV0dXJuIGkuaGFzKGUpfShvKSlyZXR1cm47Y29uc3Qgcz1lW29dLGE9dFtvXTtpZihhPT09ZSlyZXR1cm47Y29uc3QgbD1BcnJheS5pc0FycmF5KGEpO2lmKGEmJihyKGEpfHxsKSl7bGV0IHQ7dD1sP3MmJkFycmF5LmlzQXJyYXkocyk/czpbXTpzJiZyKHMpP3M6e30sZVtvXT1uKHQsYSl9ZWxzZSB2b2lkIDAhPT1hJiYoZVtvXT1hKX0pKX0pKSxlKTplfWZ1bmN0aW9uIHIoZSl7aWYoIWV8fCJbb2JqZWN0IE9iamVjdF0iIT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpKXJldHVybiExO2NvbnN0IHQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2lmKCF0KXJldHVybiEwO2NvbnN0IG89T2JqZWN0Lmhhc093blByb3BlcnR5LnRvU3RyaW5nLGk9dC5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKSYmdC5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgaSYmby5jYWxsKGkpPT09by5jYWxsKE9iamVjdCl9fSw2Mzg1NzEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbz1uZXcgTWFwO3JldHVybiBmdW5jdGlvbiguLi5pKXtjb25zdCBuPSIiKyh0P3QuYXBwbHkobnVsbCxpKTppWzBdKTtpZighby5oYXMobikpe2NvbnN0IHQ9ZS5hcHBseSh0aGlzLGkpO3JldHVybiBvLnNldChuLHQpLHR9cmV0dXJuIG8uZ2V0KG4pfX1vLmQodCx7bWVtb2l6ZTooKT0+aX0pfSw1NDA1NzgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLnJlcGxhY2UoL1stL1xcXiQqKz8uKCl8W1xde31dL2csIlxcJCYiKX1vLmQodCx7cmVnRXhwRXNjYXBlOigpPT5pfSl9LDExNTI5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtmb3JjZUxUUlN0cjooKT0+aCxnZXRMVFJTY3JvbGxMZWZ0OigpPT51LGlzUnRsOigpPT5zLHNldERvY3VtZW50RGlyR2V0dGVyOigpPT5yLHN0cmlwTFRSTWFya3M6KCk9PmR9KTt2YXIgaT1vKDMyMDQwMyk7bGV0IG49KCk9Pm51bGwKO2Z1bmN0aW9uIHIoZSl7bj1lfWNvbnN0IHM9KCk9PiJydGwiPT09ZnVuY3Rpb24oKXtjb25zdCBlPW4oKTtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoIkRvY3VtZW50IGRpcmVjdGlvbiBnZXR0ZXIgaXMgbm90IHNldCwgY2FsbCBzZXREb2N1bWVudERpckdldHRlciB0byBzZXQgaXQiKTtyZXR1cm4gZX0oKSxhPSLigKoiLGw9IuKArCIsYz1uZXcgUmVnRXhwKCLigI584oCPfOKAqnzigKt84oCsIiwiZyIpO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIiIhPT1lJiZzKCkmJm51bGwhPWU/ZS5yZXBsYWNlKGMsIiIpOmV9ZnVuY3Rpb24gaChlKXtyZXR1cm4iIiE9PWUmJnMoKSYmbnVsbCE9ZT9hK2UrbDplfWZ1bmN0aW9uIHUoZSl7cmV0dXJuKDAsaS5nZXROb3JtYWxpemVkU2Nyb2xsTGVmdCkoZSwicnRsIil9dmFyIF87IWZ1bmN0aW9uKGUpe2UuTFRSPSJsdHIiLGUuUlRMPSJydGwiLGUuVU5LTk9XTj0iIn0oX3x8KF89e30pKX0sNTM1MzAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TWluVGlja0RhdGE6KCk9PmwsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmR9KTt2YXIgaT1vKDcxMjc0NSksbj1vKDYwMTg0MSkscj1vKDUzNDQ0MCkscz1vKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxpLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBsKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTpvLHZhcmlhYmxlTWluVGlja0RhdGE6aSxzaG91bGRDaGVja0ZvckVxdWFsaXR5OnJ9PWUscz0oMCxuLmlzTnVtYmVyKSh0KT9jKHQpOnQ7cmV0dXJuIHZvaWQgMD09PWk/czpmdW5jdGlvbihlLHQsbz0hMSl7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspe2lmKGU8dFtpXS5wcmljZSlyZXR1cm4gdFtpXS5taW5UaWNrO2lmKG8mJmU9PT10W2ldLnByaWNlKXJldHVybiB0W2ldLm1pblRpY2t9cmV0dXJuIHRbdC5sZW5ndGgtMV0ubWluVGlja30obyxpLHIpfWZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxyLm51bU9mRGVjaW1hbFBsYWNlcykoZSksbz1NYXRoLnBvdygxMCx0KTtyZXR1cm57cHJpY2VTY2FsZTpvLG1pbk1vdmU6KDAsaS5CaWcpKGUpLm11bChvKS50b051bWJlcigpfX1mdW5jdGlvbiBkKGUsdCl7Y29uc3Qgbz1be21pblRpY2s6KDAsbi5pc051bWJlcikoZSk/YyhlKTplLHByaWNlOjEvMCxtYXhJbmRleDoxLzB9XTt0cnl7Y29uc3QgZT10LnNwbGl0KCIgIikubWFwKCgoZSx0KT0+KDAscy5pc0V2ZW4pKHQpP2Z1bmN0aW9uKGUpe2NvbnN0IHQ9TnVtYmVyKGUpO2lmKE51bWJlci5pc0Zpbml0ZSh0KSlyZXR1cm4gYyh0KTt7Y29uc3QgdD1lLnNwbGl0KCIvIik7aWYodC5sZW5ndGg8Mnx8dC5sZW5ndGg+Myl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgbWludGljazogJHtlfWApO2NvbnN0IG89TnVtYmVyKHRbMV0pLGk9TnVtYmVyKHRbMF0pO2lmKCFOdW1iZXIuaXNGaW5pdGUobyl8fCFOdW1iZXIuaXNGaW5pdGUoaSkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBuPTM9PT10Lmxlbmd0aD9OdW1iZXIodFsyXSk6dm9pZCAwO2lmKHZvaWQgMCE9PW4mJiFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCByPXtwcmljZVNjYWxlOm8sbWluTW92ZTppfTtyZXR1cm4gdm9pZCAwIT09biYmKHIubWluTW92ZTI9bikscn19KGUpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9TnVtYmVyKGUpO2lmKE51bWJlci5pc05hTih0KSl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgcHJpY2UgbGltaXQ6ICR7ZX1gKTtyZXR1cm4gdH0oZSkpKTtpZigoMCxzLmlzRXZlbikoZS5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigiVGhlbWUgbXVzdCBub3QgYmUgZXZlbnQgbnVtYmVyIG9mIGVsZW1lbnRzIik7Y29uc3Qgbz1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTIpe2NvbnN0IG49ZVt0KzFdPz8xLzAscj1vW28ubGVuZ3RoLTFdPy5wcmljZT8/MCxzPW9bby5sZW5ndGgtMV0/Lm1heEluZGV4Pz8wLGw9bj09PTEvMD8xLzA6bmV3IGkuQmlnKG4pLm1pbnVzKHIpLmRpdihhKGVbdF0pKS5wbHVzKHMpLnRvTnVtYmVyKCk7by5wdXNoKHttaW5UaWNrOmVbdF0scHJpY2U6bixtYXhJbmRleDpsfSl9cmV0dXJuIG99Y2F0Y2h7cmV0dXJuIG99fX0sNDkxMTY1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RhdGVGb3JtYXRGdW5jdGlvbnM6KCk9PmYsZ2V0RGF0ZUZvcm1hdFdpdGhXZWVrZGF5OigpPT55fSk7dmFyIGk9byg3ODMyNTQpLG49byg4MjI0MzEpLHI9byg4NTYzMjQpO2NvbnN0IHM9ezE6KCk9PmkudChudWxsLHZvaWQgMCxvKDY1NzM3NCkpLDI6KCk9PmkudChudWxsLHZvaWQgMCxvKDYxNzM0MSkpLDM6KCk9PmkudChudWxsLHZvaWQgMCxvKDEwMzMwNSkpLDQ6KCk9PmkudChudWxsLHZvaWQgMCxvKDUyNjc4NSkpLDU6KCk9PmkudChudWxsLHtjb250ZXh0OiJzaG9ydCJ9LG8oNzM0NzUwKSksNjooKT0+aS50KG51bGwsdm9pZCAwLG8oODc3NDUpKSw3OigpPT5pLnQobnVsbCx2b2lkIDAsbygxODM5NTkpKSw4OigpPT5pLnQobnVsbCx2b2lkIDAsbyg5Mzc2MikpLDk6KCk9PmkudChudWxsLHZvaWQgMCxvKDE3ODQ2OSkpLDEwOigpPT5pLnQobnVsbCx2b2lkIDAsbyg3MjgzMzcpKSwxMTooKT0+aS50KG51bGwsdm9pZCAwLG8oNjQ2NTQ1KSksMTI6KCk9PmkudChudWxsLHZvaWQgMCxvKDc2OTAzNikpfSxhPXsxOigpPT5pLnQobnVsbCx2b2lkIDAsbyg4OTc2NykpLDI6KCk9PmkudChudWxsLHZvaWQgMCxvKDk0ODkyMykpLDM6KCk9PmkudChudWxsLHZvaWQgMCxvKDM2NzkzNSkpLDQ6KCk9PmkudChudWxsLHZvaWQgMCxvKDE3NTUwNykpfSxsPShlLHQpPT4odD9lLmdldE1vbnRoKCk6ZS5nZXRVVENNb250aCgpKSsxLGM9KGUsdCk9PnQ/ZS5nZXREYXRlKCk6ZS5nZXRVVENEYXRlKCksZD0oZSx0KT0+dD9lLmdldEZ1bGxZZWFyKCk6ZS5nZXRVVENGdWxsWWVhcigpLGg9KGUsdCk9PmUudG9Mb2NhbGVEYXRlU3RyaW5nKCgwLHIuZ2V0TGFuZ3VhZ2UpKCk/KDAsci5tYXBMYW5ndWFnZUNvZGUpKCgwLApyLmdldExhbmd1YWdlKSgpKTp2b2lkIDAse3dlZWtkYXk6InNob3J0Iix0aW1lWm9uZToibG9jYWwiPT09dD92b2lkIDA6dH0pLHU9KGUsdCk9PmFbKChlLHQpPT5NYXRoLmZsb29yKChsKGUsdCktMSkvMykrMSkoZSx0KV0oKSxfPShlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjKGUsdCksMikscD0oZSx0KT0+c1tsKGUsdCldKCksbT0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobChlLHQpLDIpLGc9KGUsdCk9PigwLG4ubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGQoZSx0KSUxMDAsMiksdj0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZChlLHQpLDQpLGY9eyJxcSAneXkiOihlLHQpPT5gJHt1KGUsdCl9ICcke2coZSx0KX1gLCJxcSB5eXl5IjooZSx0KT0+YCR7dShlLHQpfSAke3YoZSx0KX1gLCJkZCBNTU0gJ3l5IjooZSx0KT0+YCR7XyhlLHQpfSAke3AoZSx0KX0gJyR7ZyhlLHQpfWAsIk1NTSAneXkiOihlLHQpPT5gJHtwKGUsdCl9ICcke2coZSx0KX1gLCJNTU0gZGQsIHl5eXkiOihlLHQpPT5gJHtwKGUsdCl9ICR7XyhlLHQpfSwgJHt2KGUsdCl9YCwiTU1NIGQsIHl5eXkiOihlLHQpPT5gJHtwKGUsdCl9ICR7KChlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjKGUsdCksMCkpKGUsdCl9LCAke3YoZSx0KX1gLCJNTU0geXl5eSI6KGUsdCk9PmAke3AoZSx0KX0gJHt2KGUsdCl9YCwiTU1NIGRkIjooZSx0KT0+YCR7cChlLHQpfSAke18oZSx0KX1gLCJkZCBNTU0iOihlLHQpPT5gJHtfKGUsdCl9ICR7cChlLHQpfWAsInl5eXktTU0tZGQiOihlLHQpPT5gJHt2KGUsdCl9LSR7bShlLHQpfS0ke18oZSx0KX1gLCJ5eS1NTS1kZCI6KGUsdCk9PmAke2coZSx0KX0tJHttKGUsdCl9LSR7XyhlLHQpfWAsInl5L01NL2RkIjooZSx0KT0+YCR7ZyhlLHQpfS8ke20oZSx0KX0vJHtfKGUsdCl9YCwieXl5eS9NTS9kZCI6KGUsdCk9PmAke3YoZSx0KX0vJHttKGUsdCl9LyR7XyhlLHQpfWAsImRkLU1NLXl5eXkiOihlLHQpPT5gJHtfKGUsdCl9LSR7bShlLHQpfS0ke3YoZSx0KX1gLCJkZC1NTS15eSI6KGUsdCk9PmAke18oZSx0KX0tJHttKGUsdCl9LSR7ZyhlLHQpfWAsImRkL01NL3l5IjooZSx0KT0+YCR7XyhlLHQpfS8ke20oZSx0KX0vJHtnKGUsdCl9YCwiZGQvTU0veXl5eSI6KGUsdCk9PmAke18oZSx0KX0vJHttKGUsdCl9LyR7dihlLHQpfWAsIk1NL2RkL3l5IjooZSx0KT0+YCR7bShlLHQpfS8ke18oZSx0KX0vJHtnKGUsdCl9YCwiTU0vZGQveXl5eSI6KGUsdCk9PmAke20oZSx0KX0vJHtfKGUsdCl9LyR7dihlLHQpfWB9O2Z1bmN0aW9uIHkoZSx0KXtyZXR1cm4iamEiPT09KDAsci5nZXRMYW5ndWFnZSkoKT8obyxpKT0+YCR7ZltlXShvLGkpfSAoJHtoKG8sdCl9KWA6KG8saSk9PmAke2gobyx0KX0gJHtmW2VdKG8saSl9YH1PYmplY3Qua2V5cyhmKX0sODIyNDMxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse251bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvOigpPT5ufSk7dmFyIGk9byg2MDE4NDEpO2Z1bmN0aW9uIG4oZSx0KXtpZighKDAsaS5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLGkuaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9fSw4NTYzMjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TGFuZ3VhZ2U6KCk9PnIsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5hLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pm59KTtsZXQgaT1udWxsO2Z1bmN0aW9uIG4oZSl7aT1lfWZ1bmN0aW9uIHIoKXtpZighaSl0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIGkoKX1sZXQgcz1lPT5lO2Z1bmN0aW9uIGEoZSl7cz1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHMoZSl9fSw5NzM1MjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TElTVF9TVEFSVDooKT0+aSxnZXRUYXJnZXRJbmRleDooKT0+bn0pO2NvbnN0IGk9U3ltYm9sKCk7ZnVuY3Rpb24gbihlLHQsbyl7Y29uc3Qgbj12b2lkIDA9PT1vP3ZvaWQgMCE9PXQ/ZS5pbmRleE9mKHQpOnZvaWQgMDpvPT09aT8wOmUuaW5kZXhPZihvKSsxO3JldHVybi0xIT09bj9uOnZvaWQgMH19LDQzMzIwKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtjb25zdHtpZDp0LGV2ZW50Om8sY2hhbm5lbDppLGZpbHRlcjpufT1lO3JldHVybiBlPT4oaS5vbihvLChvPT57Y29uc3R7YWN0aW9uOmksZW1pdHRlcjpyfT1KU09OLnBhcnNlKG8pO3IhPT10JiZuKGkpJiZlLmRpc3BhdGNoKHsuLi5pLHBheWxvYWQ6ey4uLmkucGF5bG9hZCxzaWxlbnQ6ITB9fSl9KSksZT0+cj0+e2NvbnN0IHM9ZShyKTtyZXR1cm4gbihyKSYmKHIucGF5bG9hZC5zaWxlbnR8fGkuZW1pdChvLEpTT04uc3RyaW5naWZ5KHthY3Rpb246cixlbWl0dGVyOnR9KSkpLHN9KX1vLmQodCx7Y3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+aX0pfSwyOTUyMzUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7cXVhbGlmaWVkOigpPT5pfSk7Y29uc3QgaT17Y2FzdDplPT5lLGNhc3RNYW55OmU9PmUubWFwKGkuY2FzdCl9fSw2MTI0NDYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IG89MDtvPGUubGVuZ3RoOysrbylpZihlW29dIT09dFtvXSlyZXR1cm4hMTtyZXR1cm4hMH1vLmQodCx7ZXF1YWxBcnJheXM6KCk9Pml9KX0sODUyOTgwKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyxpLG4pewpjb25zdHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDpyLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTpzLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6YSx1cHBlcmNhc2VJbnN0cnVtZW50TmFtZXM6bH09ZTtsZXQgYz10JiYoaSYmdC5wcm9fbmFtZXx8dC5mdWxsX25hbWV8fHQubmFtZSk7cmV0dXJuIGEmJm8/Yz1vOihzfHwhbiYmcikmJnQmJnQudGlja2VyJiYoYz10LnRpY2tlciksbCYmYyYmKGM9Yy50b1VwcGVyQ2FzZSgpKSxjfW8uZCh0LHtleHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvOigpPT5pfSl9LDMwOTA1MihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtRVU9URV9GSUVMRFM6KCk9Pm4sUVVPVEVfRklFTERTX0NBQ0hFOigpPT5yfSk7dmFyIGk9bygxMzg2MzgpCjtjb25zdCBuPW5ldyBTZXQoWyJwcm9fbmFtZSIsImJhc2VfbmFtZSIsImxvZ28iLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsInNvdXJjZS1sb2dvaWQiLCJzaG9ydF9uYW1lIiwid2ViX3NpdGVfdXJsIiwicHJvX3Blcm0iLCJ0aW1lem9uZSIsImN1cnJlbnRfc2Vzc2lvbiIsInNlc3Npb25faG9saWRheXMiLCJsYXN0X3ByaWNlIiwibHBfdGltZSIsInN1YnNlc3Npb25zIiwicHJldl9jbG9zZV9wcmljZSIsIm9wZW5fcHJpY2UiLCJoaWdoX3ByaWNlIiwibG93X3ByaWNlIiwicHJpY2VfNTJfd2Vla19oaWdoIiwicHJpY2VfNTJfd2Vla19sb3ciLCJhc2siLCJhc2tfc2l6ZSIsImJpZCIsImJpZF9zaXplIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwibmNoIiwibmNocCIsIm50YyIsIm50Y190aW1lIiwiZGF0YV9mcmVxdWVuY3kiLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2Qtc3RhcnQiLCJidXNpbmVzc19kZXNjcmlwdGlvbiIsIndlYl9zaXRlX3VybCIsImZpZ2kiLCJudW1iZXJfb2ZfZW1wbG95ZWVzIiwiZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2NhbGVuZGFyX2RhdGUiLCJyb290IiwiZGVzY3JpcHRpb24iLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsInR5cGUiLCJjb3VudHJ5X2NvZGUiLCJwcm92aWRlcl9pZCIsImlzX3RyYWRhYmxlIiwic2VjdG9yIiwidHlwZXNwZWNzIiwidmlzaWJsZS1wbG90cy1zZXQiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2lkIiwibGFzdF9wcmljZSIsImZyYWN0aW9uYWwiLCJtaW5tb3YiLCJtaW5tb3ZlMiIsInByaWNlc2NhbGUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJjaGFuZ2UiLCJjaGFuZ2VfcGVyY2VudCIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9iYXNpYyIsIm1hcmtldF9jYXBfY2FsYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxIiwiZWFybmluZ3NfcHVibGljYXRpb25fdHlwZV9uZXh0X2ZxIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZxIiwiZm9yZWNhc3RfcmF3IiwibGFzdF9yZWxlYXNlX2RhdGUiLCJuZXh0X3JlbGVhc2VfZGF0ZSIsInJlZmVyZW5jZV9sYXN0X3BlcmlvZCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJudW1iZXJfb2ZfZW1wbG95ZWVzIiwid2ViX3NpdGVfdXJsIiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJmb3VuZGVkIiwiY2VvIiwiZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nIiwiZGl2aWRlbmRfcGF5b3V0X3JhdGlvX3R0bSIsImRpdmlkZW5kc195aWVsZF9jdXJyZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX2Ftb3VudF91cGNvbWluZyIsImRpdmlkZW5kX2Ftb3VudF9yZWNlbnQiLCJkaXZpZGVuZF9leF9kYXRlX3JlY2VudCIsImRpdmlkZW5kX2Ftb3VudF9oIiwiZGl2aWRlbmRfcGF5bWVudF9kYXRlX3VwY29taW5nIiwiZGl2aWRlbmRfcGF5bWVudF9kYXRlX3JlY2VudCIsInRvdGFsX3JldmVudWVfZnFfaCIsInRvdGFsX3JldmVudWVfZnlfaCIsIm5ldF9pbmNvbWVfZnlfaCIsIm5ldF9pbmNvbWVfZnFfaCIsInRvdGFsX2Fzc2V0c19meV9oIiwidG90YWxfYXNzZXRzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19meV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9mcV9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJjdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsIm1lYXN1cmUiLCJ2YWx1ZV91bml0X2lkIiwidmFsdWUtdW5pdC1pZCIsInVwZGF0ZV9tb2RlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsInNob3J0X2Rlc2NyaXB0aW9uIiwic291cmNlIiwic291cmNlMiIsImZvcm1hdCIsInJlY29tbWVuZGF0aW9uX21hcmsiLCJsYXN0X3JlcG9ydF9mcmVxdWVuY3kiLCJwcmljZV90YXJnZXRfZXN0aW1hdGVzX251bSIsInByaWNlX3RhcmdldF9hdmVyYWdlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInJlY29tbWVuZGF0aW9uX3RvdGFsIiwicmVjb21tZW5kYXRpb25fYnV5IiwicmVjb21tZW5kYXRpb25fb3ZlciIsInJlY29tbWVuZGF0aW9uX2hvbGQiLCJyZWNvbW1lbmRhdGlvbl91bmRlciIsInJlY29tbWVuZGF0aW9uX3NlbGwiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInByaWNlX3RhcmdldF9oaWdoIiwicHJpY2VfdGFyZ2V0X2xvdyIsInJhdGVzX3B0IiwicmF0ZXNfcHQiLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2ZoX2giLCJuZXRfcmV2ZW51ZV9meV9oIiwibmV0X3JldmVudWVfZnFfaCIsIm5ldF9yZXZlbnVlX2ZoX2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJuZXRfaW5jb21lX2ZoX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfYXNzZXRzX2ZoX2giLCJ0b3RhbF9saWFiaWxpdGllc19meV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnFfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZoX2giLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9meV9oIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2Z5IiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZmgiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfdGltZSIsImVhcm5pbmdzX3JlbGVhc2VfdGltZSIsImlzX25leHRfZWFybmluZ3NfcmVsZWFzZV9kYXRlX2VzdGltYXRlZCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnkiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9maCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZmhfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZmhfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnlfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmhfaCIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9meSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9maCIsInJldmVudWVfZnFfaCIsInJldmVudWVfZnlfaCIsInJldmVudWVfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfZnFfaCIsInJldmVudWVfZm9yZWNhc3RfZnlfaCIsInJldmVudWVfZm9yZWNhc3RfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9mcSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9meSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9maCIsInJldmVudWVfc2VnX2J5X2J1c2luZXNzX2giLCJyZXZlbnVlX3NlZ19ieV9yZWdpb25faCIsInRvdGFsX3JldmVudWVfZnkiLCJ0b3RhbF9yZXZlbnVlX2ZxIiwidG90YWxfcmV2ZW51ZV9maCIsImdyb3NzX3Byb2ZpdF9meSIsImdyb3NzX3Byb2ZpdF9mcSIsImdyb3NzX3Byb2ZpdF9maCIsImViaXRkYV9meSIsImViaXRfZnkiLCJuZXRfaW5jb21lX2Z5IiwibmV0X2luY29tZV9mcSIsIm5ldF9pbmNvbWVfZmgiLCJ0b3RhbF9kZWJ0X2Z5X2giLCJ0b3RhbF9kZWJ0X2ZxX2giLCJ0b3RhbF9kZWJ0X2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19meV9oIiwiZnJlZV9jYXNoX2Zsb3dfZnFfaCIsImZyZWVfY2FzaF9mbG93X2ZoX2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnlfaCIsImNhc2hfbl9lcXVpdmFsZW50c19mcV9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2ZoX2giLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19meSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2Z5IiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnEiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJsb2Fuc19uZXRfZnkiLCJsb2Fuc19uZXRfZnlfaCIsImxvYW5zX25ldF9mcV9oIiwibG9hbnNfbmV0X2ZoX2giLCJ0b3RhbF9kZXBvc2l0c19meSIsInRvdGFsX2RlcG9zaXRzX2Z5X2giLCJ0b3RhbF9kZXBvc2l0c19mcV9oIiwidG90YWxfZGVwb3NpdHNfZmhfaCIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5IiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZnlfaCIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2ZxX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19maF9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2Z5X2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZnFfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9maF9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2Z5X2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZnFfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9maF9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2Z5X2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZnFfaCIsImluc3VyYW5jZV9yZXNlcnZlc19maF9oIiwicG9saWN5X2NsYWltc19meV9oIiwicG9saWN5X2NsYWltc19mcV9oIiwicG9saWN5X2NsYWltc19maF9oIiwicHJlbWl1bXNfZWFybmVkX2Z5X2giLCJwcmVtaXVtc19lYXJuZWRfZnFfaCIsInByZW1pdW1zX2Vhcm5lZF9maF9oIiwicHJpY2VfZWFybmluZ3NfZnFfaCIsInByaWNlX2Vhcm5pbmdzX2Z5X2giLCJwcmljZV9lYXJuaW5nc19maF9oIiwicHJpY2Vfc2FsZXNfZnFfaCIsInByaWNlX3NhbGVzX2Z5X2giLCJwcmljZV9zYWxlc19maF9oIiwiZGlsdXRlZF9uZXRfaW5jb21lX3R0bSIsInRvdGFsX3JldmVudWVfdHRtIiwibmV0X3JldmVudWVfdHRtIiwicHJpY2VfZWFybmluZ3NfY3VycmVudCIsInByaWNlX3NhbGVzX2N1cnJlbnQiLCJpc2luLWRpc3BsYXllZCIsImN1c2lwIiwiY2ZpX2NvZGUiLCJpbnRlcmVzdF9pbmNvbWVfZnlfaCIsImludGVyZXN0X2luY29tZV9mcV9oIiwiaW50ZXJlc3RfaW5jb21lX2ZoX2giLCJub25faW50ZXJlc3RfaW5jb21lX2Z5X2giLCJub25faW50ZXJlc3RfaW5jb21lX2ZxX2giLCJub25faW50ZXJlc3RfaW5jb21lX2ZoX2giLCJ3ZWJzaXRlIiwiZG9jIiwiZXhwbG9yZXIiLCJzb3VyY2VzIiwiY29udHJhY3RzIiwiY3J5cHRvX2NvbW1vbl9jYXRlZ29yaWVzIiwiY3J5cHRvX2Fzc2V0IiwiY29tbXVuaXR5IiwiZGl2aWRlbmRzX2F2YWlsYWJpbGl0eSIsImVhcm5pbmdzX2F2YWlsYWJpbGl0eSIsImZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5IiwiZG9jdW1lbnRzIiwiZXRmX2Fzc2V0X3R5cGVfZXhwb3N1cmUiLCJldGZfcmVnaW9uX2V4cG9zdXJlIiwidG9wX2hvbGRpbmdzIiwidW5pdC1pZCIsIm9wdGlvbnMtaW5mbyIsIm9wdGlvbi10eXBlIiwiaW50ZXJlc3RfaW5jb21lX2Z5IiwiaW50ZXJlc3RfaW5jb21lX2ZxIiwiaW50ZXJlc3RfaW5jb21lX2ZoIiwibm9uX2ludGVyZXN0X2luY29tZV9meSIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnEiLCJub25faW50ZXJlc3RfaW5jb21lX2ZoIiwiaW50ZXJlc3RfZXhwZW5zZV9meSIsImludGVyZXN0X2V4cGVuc2VfZnEiLCJpbnRlcmVzdF9leHBlbnNlX2ZoIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9meSIsImxvYW5fbG9zc19wcm92aXNpb25fZnEiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZoIiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnkiLCJub25faW50ZXJlc3RfZXhwZW5zZV9mcSIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2ZoIiwibm9uX29wZXJfaW5jb21lX2Z5Iiwibm9uX29wZXJfaW5jb21lX2ZxIiwibm9uX29wZXJfaW5jb21lX2ZoIiwidW51c3VhbF9leHBlbnNlX2luY19meSIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnEiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZoIiwicHJldGF4X2luY29tZV9meSIsInByZXRheF9pbmNvbWVfZnEiLCJwcmV0YXhfaW5jb21lX2ZoIiwiaW5jb21lX3RheF9meSIsImluY29tZV90YXhfZnEiLCJpbmNvbWVfdGF4X2ZoIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9meSIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnEiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZoIiwidG90YWxfbm9uX29wZXJfaW5jb21lX2Z5IiwidG90YWxfbm9uX29wZXJfaW5jb21lX2ZxIiwidG90YWxfbm9uX29wZXJfaW5jb21lX2ZoIiwib3Blcl9pbmNvbWVfZnkiLCJvcGVyX2luY29tZV9mcSIsIm9wZXJfaW5jb21lX2ZoIiwib3BlcmF0aW5nX2V4cGVuc2VzX2Z5Iiwib3BlcmF0aW5nX2V4cGVuc2VzX2ZxIiwib3BlcmF0aW5nX2V4cGVuc2VzX2ZoIiwiY29zdF9vZl9nb29kc19meSIsImNvc3Rfb2ZfZ29vZHNfZnEiLCJjb3N0X29mX2dvb2RzX2ZoIiwiZXF1aXR5X2luX2Vhcm5pbmdzX2Z5IiwiZXF1aXR5X2luX2Vhcm5pbmdzX2ZxIiwiZXF1aXR5X2luX2Vhcm5pbmdzX2ZoIiwibWlub3JpdHlfaW50ZXJlc3RfZXhwX2Z5IiwibWlub3JpdHlfaW50ZXJlc3RfZXhwX2ZxIiwibWlub3JpdHlfaW50ZXJlc3RfZXhwX2ZoIiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnkiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19mcSIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2ZoIiwiZnJvbnRfY29udHJhY3QiLCJtaW5fY29udHJhY3QiLCJwb2ludHZhbHVlIiwidW5pdF9pZCIsImV4cGlyYXRpb24iLCJhdW0iLCJhc3NldF9jbGFzcyIsImZvY3VzIiwiZXhwZW5zZV9yYXRpbyIsImxhdW5jaF9kYXRlIiwiaXNzdWVyIiwiYnJhbmQiLCJob21lcGFnZSIsImluZGV4X3RyYWNrZWQiLCJhY3RpdmVseV9tYW5hZ2VkIiwiZnVuZF92aWV3X21vZGVzIiwiY29tbW9uX2VxdWl0eV90aWVyMV9yYXRpb19meV9oIiwiY29tbW9uX2VxdWl0eV90aWVyMV9yYXRpb19mcV9oIiwiY29tbW9uX2VxdWl0eV90aWVyMV9yYXRpb19maF9oIiwidGllcjFfY2FwaXRhbF9yYXRpb19meV9oIiwidGllcjFfY2FwaXRhbF9yYXRpb19mcV9oIiwidGllcjFfY2FwaXRhbF9yYXRpb19maF9oIiwidG90YWxfY2FwaXRhbF9yYXRpb19meV9oIiwidG90YWxfY2FwaXRhbF9yYXRpb19mcV9oIiwidG90YWxfY2FwaXRhbF9yYXRpb19maF9oIiwicHJlZmVycmVkX3N0b2NrX2NhcnJ5aW5nX3ZhbHVlX2ZoIiwicHJlZmVycmVkX3N0b2NrX2NhcnJ5aW5nX3ZhbHVlX2ZxIiwidG90YWxfZGVidF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2ZoIiwibWlub3JpdHlfaW50ZXJlc3RfZnEiLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZnEiLCJjYXNoX25fZHVlX2ZfYmFua3NfZmgiLCJjYXNoX25fZHVlX2ZfYmFua3NfZnEiLCJlbnRlcnByaXNlX3ZhbHVlX2N1cnJlbnQiLCJldGZfaG9sZGluZ3NfY291bnQiLCJjb250cmFjdC1kZXNjcmlwdGlvbiIsInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImFsbF90aW1lX2hpZ2giLCJhbGxfdGltZV9oaWdoX2RheSIsImFsbF90aW1lX2xvdyIsImFsbF90aW1lX2xvd19kYXkiLCJvdXRzdGFuZGluZ19hbW91bnQiLCJub21pbmFsX3ZhbHVlIiwiZGVub21fbWluIiwiY3VycmVudF9jb3Vwb24iLCJjb3Vwb25fdHlwZV9nZW5lcmFsIiwiY291cG9uX2ZyZXF1ZW5jeSIsInlpZWxkX3RvX21hdHVyaXR5IiwibWF0dXJpdHktZGF0ZSIsImRheXNfdG9fbWF0dXJpdHkiLCJib25kX2lzc3VlciIsImlzc3VlX2RhdGUiLCJib25kX2lzc3Vlcl9zdG9ja19zeW1ib2wiLCJ0b3RhbF9pc3N1ZWRfYW1vdW50IiwicGFpZF9hbW91bnQiLCJib25kX3NucF9yYXRpbmdfbHRfaCIsInBsYWNlbWVudF90eXBlIiwiZHVyYXRpb25fdHlwZSIsIm1hdHVyaXR5X3R5cGUiLCJvZmZlcl90eXBlIiwicmVkZW1wdGlvbl90eXBlIiwiY29udmVyc2lvbl9vcHRpb24iLCJzaW5raW5nX2Z1bmQiLCJvd25lcnNoaXBfZm9ybSIsImRhaWx5LXN1bW1hcnktYXN0IiwiaXNzdWVfc3RhdHVzIiwiY291cG9uX2giLCJzaW5raW5nX2Z1bmRfbmV4dF9kYXRlIiwic2lua2luZ19mdW5kX21pbl9hbW91bnRfbmV4dCIsImNhbGxfbmV4dF9kYXRlIiwicmVkZW1wdGlvbnNfaCIsImNhbGxfbm90aWNlX2RheXMiLCJwdXRfbmV4dF9kYXRlIiwicHV0X25vdGljZV9kYXlzX21pbiIsInNlbmlvcml0eV9sZXZlbCIsImluZmxhdGlvbl9wcm90ZWN0aW9uIiwicGxlZGdlX3N0YXR1cyIsImJvbmRfaXNzdWVyX2NvdW50cnlfb2ZfcmlzayIsImJvbmRfaXNzdWVyX2NyX3BhcmVudCIsImNyZWRpdF9lbmhhbmNlbWVudF90eXBlIiwiY3JlZGl0X2VuaGFuY2VtZW50X3N0YXR1cyIsInVzZV9vZl9wcm9jZWVkcyIsImJvbmRfaXNzdWVyX3NucF9yYXRpbmdfbHRfaCIsImJvbmRfaXNzdWVyX3NucF9yYXRpbmdfc3RfaCIsImJvbmRfYWdlbnRzX3RyIiwiZmlyc3RfYmFyX3RpbWVfMWQiLCJmaW5hbmNpYWwtaW5kaWNhdG9yLWlkIiwiZXhjaGFuZ2UtaW5mbyIsInVuZGVybHlpbmctc3ltYm9sIiwic3RyaWtlIiwibG90c2l6ZSIsIm9wdGlvbi1zdHlsZSIsImhhc19ib25kcyIsIm9wZW5fdGltZSIsImhhc19ib25kcyIsImRleF9idXlzXzE1bSIsImRleF9zZWxsc18xNW0iLCJkZXhfYnV5X3ZvbHVtZV8xNW0iLCJkZXhfc2VsbF92b2x1bWVfMTVtIiwiZGV4X2J1eWVyc18xNW0iLCJkZXhfc2VsbGVyc18xNW0iLCJkZXhfYnV5c18xaCIsImRleF9zZWxsc18xaCIsImRleF9idXlfdm9sdW1lXzFoIiwiZGV4X3NlbGxfdm9sdW1lXzFoIiwiZGV4X2J1eWVyc18xaCIsImRleF9zZWxsZXJzXzFoIiwiZGV4X2J1eXNfNGgiLCJkZXhfc2VsbHNfNGgiLCJkZXhfYnV5X3ZvbHVtZV80aCIsImRleF9zZWxsX3ZvbHVtZV80aCIsImRleF9idXllcnNfNGgiLCJkZXhfc2VsbGVyc180aCIsImRleF9idXlzXzEyaCIsImRleF9zZWxsc18xMmgiLCJkZXhfYnV5X3ZvbHVtZV8xMmgiLCJkZXhfc2VsbF92b2x1bWVfMTJoIiwiZGV4X2J1eWVyc18xMmgiLCJkZXhfc2VsbGVyc18xMmgiLCJkZXhfYnV5c18yNGgiLCJkZXhfc2VsbHNfMjRoIiwiZGV4X2J1eV92b2x1bWVfMjRoIiwiZGV4X3NlbGxfdm9sdW1lXzI0aCIsImRleF9idXllcnNfMjRoIiwiZGV4X3NlbGxlcnNfMjRoIiwiZGV4X2NvbnZlcnRlZF9zeW1ib2wiLCJkZXhfdHJhZGluZ192b2x1bWVfMjRoIiwiZGV4X2NyZWF0ZWRfdGltZSIsImRleF9jdXJyZW5jeSIsImRleF9jdXJyZW5jeV9sb2dvaWQiLCJibG9ja2NoYWluX2FkZHJlc3Nlc191cmxzIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXMiLCJiYXNlX2N1cnJlbmN5IiwiaXBvX29mZmVyX3N0YXR1cyIsImhhc19pcG9fZGV0YWlsc192aXNpYmxlIiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9tYXgiLCJpcG9fcHJpY2VfcmFuZ2VfdXNkX21pbiIsImlwb19vZmZlcl9wcmljZV91c2QiLCJpcG9fb2ZmZXJlZF9zaGFyZXMiLCJpcG9fZGVhbF9hbW91bnRfdXNkIiwiaXBvX2Fubm91bmNlbWVudF9kYXRlIiwiaXBvX29mZmVyX2RhdGUiLCJhdmFpbGFibGVfZGF0YV9yYW5nZV9iZWdpbl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfZW5kX2RhdGUiLCJoYXNfZXRmX293bmVyc2hpcCIsInN5bWJvbF9wcmltYXJ5X2xpc3RpbmciLCJtZXRyaWNfeXRtIiwibWV0cmljcyIsImVwc19lc3RpbWF0ZXNfZnlfaCIsImVwc19lc3RpbWF0ZXNfZnFfaCIsImVwc19lc3RpbWF0ZXNfZmhfaCIsInJldmVudWVfZXN0aW1hdGVzX2Z5X2giLCJyZXZlbnVlX2VzdGltYXRlc19mcV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZmhfaCIsImRwc19lc3RpbWF0ZXNfZnlfaCIsImRwc19lc3RpbWF0ZXNfZnFfaCIsImRwc19lc3RpbWF0ZXNfZmhfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2Z5X2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19mcV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZmhfaCIsImdyb3NzX3Byb2ZpdF9lc3RpbWF0ZXNfZnlfaCIsImdyb3NzX3Byb2ZpdF9lc3RpbWF0ZXNfZnFfaCIsImdyb3NzX3Byb2ZpdF9lc3RpbWF0ZXNfZmhfaCIsInNlbGxfZ2VuX2FkbWluX2V4cF90b3RhbF9lc3RpbWF0ZXNfZnlfaCIsInNlbGxfZ2VuX2FkbWluX2V4cF90b3RhbF9lc3RpbWF0ZXNfZnFfaCIsInNlbGxfZ2VuX2FkbWluX2V4cF90b3RhbF9lc3RpbWF0ZXNfZmhfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2Z5X2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19mcV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZmhfaCIsImViaXRkYV9lc3RpbWF0ZXNfZnlfaCIsImViaXRkYV9lc3RpbWF0ZXNfZnFfaCIsImViaXRkYV9lc3RpbWF0ZXNfZmhfaCIsImViaXRfZXN0aW1hdGVzX2Z5X2giLCJlYml0X2VzdGltYXRlc19mcV9oIiwiZWJpdF9lc3RpbWF0ZXNfZmhfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2Z5X2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19mcV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZmhfaCIsInRvdGFsX2Fzc2V0c19lc3RpbWF0ZXNfZnlfaCIsInRvdGFsX2Fzc2V0c19lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2Fzc2V0c19lc3RpbWF0ZXNfZmhfaCIsImNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9lc3RpbWF0ZXNfZnlfaCIsImNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9lc3RpbWF0ZXNfZnFfaCIsImNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9lc3RpbWF0ZXNfZmhfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19mcV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZmhfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19meV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZxX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZmhfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZmhfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnlfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZmhfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19meV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZmhfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnlfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZmhfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19meV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZmhfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9mcV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZmhfaCIsImZvcmVjYXN0X2F2YWlsYWJpbGl0eSJdKSxyPW5ldyBjbGFzc3sKY29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl90aW1lcz1uZXcgTWFwLHRoaXMuX2ZpZWxkcz1bLi4uZS5maWVsZHNdfXVwZGF0ZShlLHQsbyl7Y29uc3Qgbj0oMCxpLmVuc3VyZURlZmluZWQpKGUuc3ltYm9sbmFtZSkscj1EYXRlLm5vdygpO2lmKHRoaXMuX2NhY2hlLmhhcyhuKXx8dGhpcy5fY2FjaGUuc2V0KG4se3N5bWJvbG5hbWU6bixzdGF0dXM6ZS5zdGF0dXMsdmFsdWVzOnt9fSksdGhpcy5fdGltZXMuaGFzKG4pfHx0aGlzLl90aW1lcy5zZXQobixuZXcgTWFwKSwiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuO2NvbnN0IHM9KDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jYWNoZS5nZXQobikpLGE9KDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl90aW1lcy5nZXQobikpO3Muc3RhdHVzPWUuc3RhdHVzO2Zvcihjb25zdCBpIG9mIHRoaXMuX2ZpZWxkcyl0LmhhcyhpKSYmKG98fHZvaWQgMCE9PWUudmFsdWVzW2ldKSYmKHMudmFsdWVzW2ldPWUudmFsdWVzW2ldLGEuc2V0KGkscikpfWdldChlKXtyZXR1cm4gdGhpcy5fY2FjaGUuZ2V0KGUpPz9udWxsfWdldFRpbWVzKGUpe3JldHVybiB0aGlzLl90aW1lcy5nZXQoZSk/P251bGx9ZmllbGRzKCl7cmV0dXJuIHRoaXMuX2ZpZWxkc319KHtmaWVsZHM6bn0pfSw5Mjc1OTMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7UXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXI6KCk9Pmd9KTt2YXIgaT1vKDU4NzE2OCksbj1vKDU0Nzg1MSkscj1vKDM1MjgzNykscz1vKDEzODYzOCksYT1vKDIyMTA2MSksbD1vKDk0ODM4MCksYz1vKDk2NDQ4NiksZD1vKDE1MDE1MCksaD1vKDMwOTA1MiksdT1vKDM2Nzk0Nik7bGV0IF89ITE7dmFyIHA9byg5NzA3NzQpO2NvbnN0IG09KDAsYS5nZXRMb2dnZXIpKCJXZWJjaGFydENsaWVudC5RdW90ZVNlc3Npb25NdWx0aXBsZXhlciIpO2NsYXNzIGd7Y29uc3RydWN0b3IoZSl7dGhpcy5vbkNvbm5lY3Q9bmV3IGwuRGVsZWdhdGUsdGhpcy5vbkRpc2Nvbm5lY3Q9bmV3IGwuRGVsZWdhdGUsdGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX3N1YnNjcmlwdGlvbnM9e30sdGhpcy5fc3ltYm9sX2RhdGE9e30sdGhpcy5fZGVsYXlVcGRhdGVGYXN0U3ltYm9scz0oMCxuLmRlZmF1bHQpKHRoaXMuX3VwZGF0ZUZhc3RTeW1ib2xzLDI1MCksdGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YT17fSx0aGlzLl9leHRlbnNpb25zPXt9LHRoaXMub3B0aW9ucz17dGhyb3R0bGVUaW1lb3V0OjEyNSwuLi5lfSx0aGlzLl9zZXNzaW9uPW5ldyBwLlF1b3RlU2Vzc2lvbihlLmFwaSxbIm11bHRpcGxleGVyIixlLm5hbWUsKDAsZC5yYW5kb21IYXNoKSgpXS5maWx0ZXIoQm9vbGVhbikuam9pbigiXyIpKSx0aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucz8uZm9ybWF0dGVyJiYodGhpcy5fZXh0ZW5zaW9ucy5mb3JtYXR0ZXI9dGhpcy5vcHRpb25zLmV4dGVuc2lvbnMuZm9ybWF0dGVyKHRoaXMpKSx0aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucz8uc25hcHNob3QmJih0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90PXRoaXMub3B0aW9ucy5leHRlbnNpb25zLnNuYXBzaG90KHRoaXMpKSx0aGlzLmNvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fY29ubmVjdGVkPSExLHRoaXMub25EaXNjb25uZWN0LmZpcmUoKX1pbnRlcm5hbHMoKXtyZXR1cm57c2Vzc2lvbjooKT0+dGhpcy5fc2Vzc2lvbixzdWJzY3JpcHRpb25zOigpPT50aGlzLl9zdWJzY3JpcHRpb25zLGRhdGE6KCk9PnRoaXMuX3N5bWJvbF9kYXRhfX1jb25uZWN0KCl7dGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMucXVvdGVIYW5kbGVyLmJpbmQodGhpcykpfXF1b3RlSGFuZGxlcihlKXtjb25zdHttZXRob2Q6dCxwYXJhbXM6b309ZTtzd2l0Y2godCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLm9uQ29ubmVjdGVkKCkpO2JyZWFrO2Nhc2UicXVvdGVfbGlzdF9maWVsZHMiOmJyZWFrO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5vblN5bWJvbERhdGEob1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5vblN5bWJvbERhdGEoe3N5bWJvbG5hbWU6b1swXSxjb21wbGV0ZTpwZXJmb3JtYW5jZS5ub3coKSx2YWx1ZXM6e319KTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMub25EaXNjb25uZWN0LmZpcmUoKSl9fW9uQ29ubmVjdGVkKCl7dGhpcy5zZXRGaWVsZHMoKTtjb25zdCBlPU9iamVjdC5rZXlzKHRoaXMuX3N5bWJvbF9kYXRhKTtlLmxlbmd0aCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGUpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSksdGhpcy5vbkNvbm5lY3QuZmlyZSgpfXNldEZpZWxkcygpe2NvbnN0e2ZpZWxkczplfT10aGlzLm9wdGlvbnM7ZSYmZS5sZW5ndGgmJnRoaXMuX3Nlc3Npb24ucXVvdGVTZXRGaWVsZHMoZSl9b25TeW1ib2xEYXRhKGUpe3RyeXtlLnN0YXR1cyYmaC5RVU9URV9GSUVMRFNfQ0FDSEUudXBkYXRlKGUsaC5RVU9URV9GSUVMRFMsITEpfWNhdGNoKGUpe31jb25zdCB0PWUuc3ltYm9sbmFtZTtsZXQgbz10aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW3RdO18mJihkZWxldGUgZS52YWx1ZXMucHJldl9jbG9zZV9wcmljZSx2b2lkIDAhPT1lLnZhbHVlcy5yZWd1bGFyX2Nsb3NlJiYoZS52YWx1ZXMucHJldl9jbG9zZV9wcmljZT1lLnZhbHVlcy5yZWd1bGFyX2Nsb3NlKSksb3x8KG89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XT17Zm5EaXNwYXRjaDooMCxpLmRlZmF1bHQpKHRoaXMuZGlzcGF0Y2hTeW1ib2xEYXRhLmJpbmQodGhpcyksdGhpcy5vcHRpb25zLnRocm90dGxlVGltZW91dCl9KSxvLmNhY2hlPygwLGMuZGVlcEV4dGVuZCkoby5jYWNoZSxlKTpvLmNhY2hlPWUsby5mbkRpc3BhdGNoKHQpfWRpc3BhdGNoU3ltYm9sRGF0YShlKXtjb25zdCB0PXRoaXMuX3N5bWJvbF9kYXRhW2VdLG89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVtlXS5jYWNoZQo7aWYoZGVsZXRlIHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUsdGhpcy5fc3ltYm9sX2RhdGFbZV0peygwLGMuZGVlcEV4dGVuZCkodCxvKSx0LnZhbHVlcyYmdGhpcy5fcGFyc2VVcGRhdGVNb2RlKHQudmFsdWVzKTtmb3IoY29uc3QgaSBpbiB0aGlzLl9zdWJzY3JpcHRpb25zKXtjb25zdCBuPXRoaXMuX3N1YnNjcmlwdGlvbnNbaV07aWYobi5oYXMoZSkpe1suLi4oMCxzLmVuc3VyZURlZmluZWQpKG4uZ2V0KGUpKV0uZm9yRWFjaCgoZT0+e2UodCxvKX0pKX19fX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX3N1YnNjcmlwdGlvbnNbZV09dGhpcy5fc3Vic2NyaXB0aW9uc1tlXXx8bmV3IE1hcDtjb25zdCBpPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV07dD1BcnJheS5pc0FycmF5KHQpP1suLi50XTpbdF07Y29uc3Qgbj1bXTt0LmZvckVhY2goKGU9Pnt0aGlzLl9zeW1ib2xfZGF0YVtlXT9pJiZpLmhhcyhlKXx8dGhpcy5fc3ltYm9sX2RhdGFbZV0uc3Vic2NyaWJlcnNfY291bnQrKzoodGhpcy5fc3ltYm9sX2RhdGFbZV09e3N1YnNjcmliZXJzX2NvdW50OjF9LG4ucHVzaChlKSksaS5oYXMoZSl8fGkuc2V0KGUsW10pO2NvbnN0IHQ9KDAscy5lbnN1cmVEZWZpbmVkKShpLmdldChlKSk7dC5wdXNoKG8pLHQuZmFzdD0hMCx0aGlzLl9zeW1ib2xfZGF0YVtlXSYmdGhpcy5fc3ltYm9sX2RhdGFbZV0udmFsdWVzJiZvKHRoaXMuX3N5bWJvbF9kYXRhW2VdLHRoaXMuX3N5bWJvbF9kYXRhW2VdKX0pKSxuLmxlbmd0aCYmdGhpcy5fY29ubmVjdGVkJiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMobiksdGhpcy5fZGVsYXlVcGRhdGVGYXN0U3ltYm9scygpKX11bnN1YnNjcmliZShlLHQsbyl7dD1BcnJheS5pc0FycmF5KHQpP1suLi50XTpbdF07Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW2VdLG49W107Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspe2NvbnN0IGE9dFtyXTtpZihpJiZpLmhhcyhhKSl7aWYobyl7Y29uc3QgZT0oMCxzLmVuc3VyZURlZmluZWQpKGkuZ2V0KGEpKSx0PWUuaW5kZXhPZihvKTt+dCYmZS5zcGxpY2UodCwxKSxlLmxlbmd0aHx8aS5kZWxldGUoYSl9ZWxzZSBpLmRlbGV0ZShhKTswPT09aS5zaXplJiZkZWxldGUgdGhpcy5fc3Vic2NyaXB0aW9uc1tlXSx0aGlzLl9zeW1ib2xfZGF0YS5oYXNPd25Qcm9wZXJ0eShhKSYmKGkuaGFzKGEpfHx0aGlzLl9zeW1ib2xfZGF0YVthXS5zdWJzY3JpYmVyc19jb3VudC0tLHRoaXMuX3N5bWJvbF9kYXRhW2FdLnN1YnNjcmliZXJzX2NvdW50fHwoZGVsZXRlIHRoaXMuX3N5bWJvbF9kYXRhW2FdLG4ucHVzaChhKSkpfWVsc2UgbS5sb2dXYXJuKGBDaGVjayB5b3VyIHN1Yi91bnN1YiBsb29rcyBpdCBpcyBsZWFraW5nIChjbGllbnRfaWQ9JHtlfSwgc3ltYm9sPSR7YX0pYCl9bi5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKG4pLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9c2V0RmFzdFN5bWJvbHMoZSx0KXtpZih0aGlzLl9zdWJzY3JpcHRpb25zW2VdKXtjb25zdCBvPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV0saT1BcnJheS5mcm9tKG8ua2V5cygpKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoOysrZSl7Y29uc3Qgbj1pW2VdOygwLHMuZW5zdXJlRGVmaW5lZCkoby5nZXQobikpLmZhc3Q9LTEhPT10LmluZGV4T2Yobil9fXRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKX1zbmFwc2hvdChlKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3QoZSl9Zm9ybWF0dGVyKGUsdCl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyP1Byb21pc2UucmVqZWN0KCJObyBmb3JtYXR0ZXIgZXh0ZW5zaW9uIHByb3ZpZGVkIik6dGhpcy5fZXh0ZW5zaW9ucy5mb3JtYXR0ZXIoZSx0KX1fdXBkYXRlRmFzdFN5bWJvbHMoKXtpZighdGhpcy5fY29ubmVjdGVkKXJldHVybjtjb25zdCBlPXRoaXMuX2Zhc3RTeW1ib2xzKCk7MD09PWUubGVuZ3RoP3RoaXMuX3Nlc3Npb24ucXVvdGVIaWJlcm5hdGVBbGwoKTp0aGlzLl9zZXNzaW9uLnF1b3RlRmFzdFN5bWJvbHMoZSl9X2Zhc3RTeW1ib2xzKCl7bGV0IGU9W107Zm9yKGNvbnN0IHQgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3Qgbz10aGlzLl9zdWJzY3JpcHRpb25zW3RdLGk9QXJyYXkuZnJvbShvLmtleXMoKSk7Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDsrK3Qpe2NvbnN0IG49aVt0XTsoMCxzLmVuc3VyZURlZmluZWQpKG8uZ2V0KG4pKS5mYXN0JiZlLnB1c2gobil9fXJldHVybiBlPSgwLHIuZGVmYXVsdCkoZSksZX1fcGFyc2VVcGRhdGVNb2RlKGUpeygwLHUubm9ybWFsaXplVXBkYXRlTW9kZSkoZSl9fX0sOTcwNzc0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1F1b3RlU2Vzc2lvbjooKT0+bn0pO3ZhciBpPW8oMTUwMTUwKTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdD0oMCxpLnJhbmRvbUhhc2gpKCkpe3RoaXMuX3Nlc3Npb25zdGFydGVkPSExLHRoaXMuX2dsb2JhbEhhbmRsZXI9bnVsbCx0aGlzLl9jaGFydEFwaT1lLHRoaXMuX3Nlc3Npb25pZD0icXNfIit0fWRlc3Ryb3koKXt0aGlzLl9zZXNzaW9uc3RhcnRlZCYmKHRoaXMuX2NoYXJ0QXBpLnF1b3RlRGVsZXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uaWQpLHRoaXMuX3Nlc3Npb25zdGFydGVkPSExKX1jb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGkuY29ubmVjdGVkKCl9Y29ubmVjdChlKXt0aGlzLl9nbG9iYWxIYW5kbGVyPWUsdGhpcy5fY2hhcnRBcGkuY3JlYXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uaWQsdGhpcyksdGhpcy5fY2hhcnRBcGkuY29ubmVjdCgpfWRpc2Nvbm5lY3QoKXt0aGlzLl9jaGFydEFwaS5kaXNjb25uZWN0KCl9cXVvdGVBZGRTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlQWRkU3ltYm9scyh0aGlzLl9zZXNzaW9uaWQsZSl9cXVvdGVSZW1vdmVTeW1ib2xzKGUpewp0aGlzLl9jaGFydEFwaS5xdW90ZVJlbW92ZVN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlRmFzdFN5bWJvbHMoZSl7dGhpcy5fY2hhcnRBcGkucXVvdGVGYXN0U3ltYm9scyh0aGlzLl9zZXNzaW9uaWQsZSl9cXVvdGVTZXRGaWVsZHMoZSl7dGhpcy5fY2hhcnRBcGkucXVvdGVTZXRGaWVsZHModGhpcy5fc2Vzc2lvbmlkLGUpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9zZXNzaW9uc3RhcnRlZHx8KHRoaXMuX2NoYXJ0QXBpLnF1b3RlQ3JlYXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uaWQpLHRoaXMuX3Nlc3Npb25zdGFydGVkPSEwKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQ9ITF9dGhpcy5fZ2xvYmFsSGFuZGxlcj8uKGUpfXF1b3RlSGliZXJuYXRlQWxsKCl7dGhpcy5fY2hhcnRBcGkucXVvdGVIaWJlcm5hdGVBbGwodGhpcy5fc2Vzc2lvbmlkKX19fSwzNjc5NDYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2lmKHZvaWQgMD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLm1hdGNoKC8oZGVsYXllZF9zdHJlYW1pbmcpXyhcZCspLyk7cmV0dXJuIG51bGw9PT10P251bGw6e21vZGU6dFsxXSxpbnRlcnZhbDpwYXJzZUludCh0WzJdKX19ZnVuY3Rpb24gbihlKXtjb25zdCB0PWkoZS51cGRhdGVfbW9kZSk7cmV0dXJuIG51bGw9PT10fHwoZS51cGRhdGVfbW9kZT10Lm1vZGUsZS51cGRhdGVfbW9kZV9zZWNvbmRzPXQuaW50ZXJ2YWwpLGV9by5kKHQse25vcm1hbGl6ZVVwZGF0ZU1vZGU6KCk9Pm4scGFyc2VVcGRhdGVNb2RlOigpPT5pfSl9LDM1NjM4MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRUb29sdGlwRGF0YTooKT0+bixzZXRUb29sdGlwRGF0YTooKT0+cn0pO2NvbnN0IGk9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IG89aS5nZXQoZSk7cmV0dXJuIG8gaW5zdGFuY2VvZiBGdW5jdGlvbj9vKHQpOm8mJm9bdF19ZnVuY3Rpb24gcihlLHQsbyl7aWYobyBpbnN0YW5jZW9mIEZ1bmN0aW9uKXJldHVybiB2b2lkIGkuc2V0KGUsbyk7Y29uc3Qgbj1pLmdldChlKSxyPXZvaWQgMD09PW58fG4gaW5zdGFuY2VvZiBGdW5jdGlvbj97fTpuO3JbdF09byxpLnNldChlLHIpfX0sNDkwMzc4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldERhdGFGcm9tVGFyZ2V0OigpPT5wLGdldFRvb2x0aXA6KCk9Pm0saGlkZVRvb2x0aXA6KCk9PmYsc2V0U3R5bGU6KCk9Pmcsc2hvd1Rvb2x0aXA6KCk9PnZ9KTt2YXIgaSxuPW8oMTM4NjM4KSxyPW8oNDQzNTU3KSxzPW8oOTY5MTY4KSxhPShvKDgyOTE4MCksbyg1MTg3NSkpLGw9byg2NDA3NDQpLGM9bygzMTg5NzQpLGQ9byg2ODY2NTApLGg9bygzNTYzODApLHU9bygzNDUxNTEpLF89bygxMTQwNjgpO2Z1bmN0aW9uIHAoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PWUuaGFzQXR0cmlidXRlKCJkYXRhLXRvb2x0aXAiKT9lLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwIik6ZS5nZXRBdHRyaWJ1dGUoInRpdGxlIik7cmV0dXJuIHQmJigoMCxoLnNldFRvb2x0aXBEYXRhKShlLCJ0ZXh0Iix0KSxlLnJlbW92ZUF0dHJpYnV0ZSgidGl0bGUiKSksKDAsaC5nZXRUb29sdGlwRGF0YSkoZSwidGV4dCIpfHwiIn0oZSksbz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9e2g6by5oZWlnaHQsdzpvLndpZHRoLHg6by5sZWZ0LHk6by50b3B9LG49ZS5nZXRBdHRyaWJ1dGUoImRhdGEtY29sb3ItdGhlbWUiKXx8IiIscj1lLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtaHRtbCIpLHM9cGFyc2VJbnQoZS5nZXRBdHRyaWJ1dGUoImRhdGEtdG9vbHRpcC1kZWxheSIpfHwiIiksYT1wYXJzZUludChlLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWRlYm91bmNlIil8fCIiKTtsZXQgbD17dHlwZToibm9uZSJ9O3JldHVybiB0JiYobD17dHlwZTpyPyJodG1sIjoidGV4dCIsZGF0YTp0fSkse2Fib3ZlOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1hYm92ZSIpLGJlbG93OmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1iZWxvdyIpLG90bDplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtb3RsIiksb3RyOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1vdHIiKSx2ZXJ0aWNhbDplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtdmVydGljYWwiKSxob3RrZXk6ZS5nZXRBdHRyaWJ1dGUoImRhdGEtdG9vbHRpcC1ob3RrZXkiKSxuYXJyb3c6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLW5hcnJvdyIpLHdpZGU6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLXdpZGUiKSxjb2xvclRoZW1lOm4sdG9vbHRpcERlbGF5OnMsdG9vbHRpcERlYm91bmNlOmEscmVjdDppLGNvbnRlbnQ6bCx0YXJnZXQ6ZX19ZnVuY3Rpb24gbShlKXtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkoQykuY2xvbmVOb2RlKCEwKSxvPUUodCkse2NvbnRlbnQ6aX09ZTtzd2l0Y2goaS50eXBlKXtjYXNlImVsZW1lbnQiOm8uaW5uZXJIVE1MPSIiLG8uYXBwZW5kQ2hpbGQoaS5kYXRhKTticmVhaztjYXNlImh0bWwiOm8uaW5uZXJIVE1MPWkuZGF0YTticmVhaztjYXNlInRleHQiOmlmKGUuaG90a2V5KXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkoVCkuY2xvbmVOb2RlKCEwKTtlLmlubmVyVGV4dD1pLmRhdGEsby5hcHBlbmRDaGlsZChlKX1lbHNlIG8uaW5uZXJUZXh0PWkuZGF0YX1pZihlLmhvdGtleSl7Y29uc3QgdD0ibm9uZSIhPT1pLnR5cGUscj0oMCxuLmVuc3VyZU5vdE51bGwpKGspLmNsb25lTm9kZSghMCkscz0oMCx1LmhvdEtleURlc2VyaWFsaXplKShlLmhvdGtleSksYT1zLmtleXMubWFwKChlPT5gPHNwYW4gY2xhc3M9IiR7X1siY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24iXX0iPiR7ZX08L3NwYW4+YCkpO3IuaW5uZXJIVE1MPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz0ve1xkfXx7aG90a2V5X1xkfS9naTtyZXR1cm4gZS5yZXBsYWNlKG8sKGU9Pntjb25zdCBvPU51bWJlcihlLm1hdGNoKC9cZC8pKQo7cmV0dXJuIHRbb119KSl9KHMudGV4dCxhKS5yZXBsYWNlKC9cc1wrXHMvZyxgPHNwYW4gY2xhc3M9IiR7X1siY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbiJdfSI+Kzwvc3Bhbj5gKSxvLmNsYXNzTGlzdC5hZGQoX1siY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5Il0pLHQmJnIuY2xhc3NMaXN0LmFkZChfWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIl0pLG8uYXBwZW5kQ2hpbGQocil9cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGEucHJldmVudERlZmF1bHQpLHR9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IG89dC5yZWN0O2lmKCFvKXJldHVybjsoMCxkLnNldFRvb2x0aXBDb2xvclRoZW1lKShlLHQuY29sb3JUaGVtZXx8ImRlZmF1bHQiKTtjb25zdCBpPUUoZSksbj1lLnF1ZXJ5U2VsZWN0b3IoYC4ke19bImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIl19YCk7dC5hZGRDbGFzcyYmZS5jbGFzc0xpc3QuYWRkKHQuYWRkQ2xhc3MpLHQuYWRkQm9keUNsYXNzJiZpLmNsYXNzTGlzdC5hZGQodC5hZGRCb2R5Q2xhc3MpLGkuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSJdLEJvb2xlYW4odC53aWRlKSksaS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nIl0sQm9vbGVhbih0Lm5vUGFkZGluZykpLGkuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfbmFycm93Il0sQm9vbGVhbih0Lm5hcnJvdykpLGkuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucyJdLCEwKSxpLnN0eWxlLmxlZnQ9eSgwKSxpLnN0eWxlLndpZHRoPXkoaS5jbGllbnRXaWR0aCsoQm9vbGVhbih0Lm5vUGFkZGluZyk/MDoyKSk7Y29uc3Qgcj1kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoLGE9Yy5DaGVja01vYmlsZS5pT1MoKXx8Yy5DaGVja01vYmlsZS5BbmRyb2lkKCl8fCgwLGMuc3VwcG9ydFRvdWNoKSgpJiYoMCxjLmlzTWFjKSgpP3dpbmRvdy5pbm5lckhlaWdodDpkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCxoPXQudmVydGljYWwsdT10LmV4dGVuZE1hcmdpbnx8aCYmby53PDIwfHwhaCYmby5oPDIwO2UuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcC0tZmFydGhlciJdLHUpLGUuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcC0tdmVydGljYWwiXSxoKSxlLmNsYXNzTGlzdC50b2dnbGUoX1siY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwiXSwhaCk7Y29uc3QgcD1mdW5jdGlvbihlKXtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKGAuJHtfWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlciJdfWApfShlKSxtPWUub2Zmc2V0SGVpZ2h0O2lmKGgpe2NvbnN0IGM9MTAsZD1hLTEwLGg9MTIsdT1jK2gsZz1kLWgsdj0oMCxsLmNsYW1wKShvLnkrby5oLzIsdSxnKS1tLzIsZj12K207ZS5zdHlsZS5sZWZ0PXkoby54K28udyksZS5zdHlsZS50b3A9eSh2KSx2PGM/aS5zdHlsZS50b3A9bi5zdHlsZS50b3A9eShjLXYpOmY+ZCYmKGkuc3R5bGUudG9wPW4uc3R5bGUudG9wPXkoZC1mKSk7Y29uc3R7cmlnaHQ6Yn09KGUucXVlcnlTZWxlY3RvcigiOmxhc3QtY2hpbGQiKXx8aSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUz1iKzEwPnI7ZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQiXSxTKSxlLmNsYXNzTGlzdC50b2dnbGUoX1siY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwiXSwhUyk7bGV0IHc9Uz8iYWZ0ZXIiOiJiZWZvcmUiOygwLHMuaXNSdGwpKCk/KHc9dC5vdHI/ImFmdGVyIjp3LHc9dC5vdGw/ImJlZm9yZSI6dyk6KHc9dC5vdHI/ImJlZm9yZSI6dyx3PXQub3RsPyJhZnRlciI6dykscC5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUiXSwiYmVmb3JlIj09PXcpLHAuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXIiXSwiYWZ0ZXIiPT09dyksImFmdGVyIj09PXcmJihlLnN0eWxlLmxlZnQ9ImF1dG8iLGUuc3R5bGUucmlnaHQ9eShyLW8ueCkpfWVsc2V7Y29uc3Qgcz1vLngtKGkub2Zmc2V0V2lkdGgtby53KS8yLGw9ci1lLm9mZnNldFdpZHRoLTIwPD0wPyhyLWUub2Zmc2V0V2lkdGgpLzI6MTAsYz1yLWwtZS5vZmZzZXRXaWR0aCxkPU1hdGgubWF4KGwsTWF0aC5taW4ocyxjKSk7ZS5zdHlsZS5sZWZ0PXkoZCk7Y29uc3QgaD1jPHM7ZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQiXSxoKSxlLmNsYXNzTGlzdC50b2dnbGUoX1siY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwiXSwhaCk7Y29uc3QgdT1mdW5jdGlvbihlLHQsbyxpKXtpZihlLmFib3ZlKXJldHVybiB4KHQsaSk/ImFib3ZlIjoiYmVsb3ciO2lmKGUuYmVsb3cpcmV0dXJuIGZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gby55K28uaCt0KzEwPGV9KHQsbyxpKT8iYmVsb3ciOiJhYm92ZSI7cmV0dXJuIHgobyxpKT8iYWJvdmUiOiJiZWxvdyJ9KHQsYSxtLG8pOyJhYm92ZSI9PT11P2Uuc3R5bGUuYm90dG9tPXkoYS1vLnkpOmUuc3R5bGUudG9wPXkoby55K28uaCkscC5jbGFzc0xpc3QuYWRkKCJhYm92ZSI9PT11P19bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZSJdOl9bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdyJdKTtjb25zdHtsZWZ0Omd9PWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bGV0IHY9TWF0aC50cnVuYyhvLngrby53LzItKGcraS5jbGllbnRXaWR0aC8yKSk7ZS5zdHlsZS5sZWZ0PXkoZCt2KSxlLnN0eWxlLndpZHRoPXkoaS5jbGllbnRXaWR0aCtuLmNsaWVudFdpZHRoKSx2PWg/TWF0aC5tYXgoMCx2KTpNYXRoLm1pbigwLHYpLG4uc3R5bGUubGVmdD15KC12KSxpLnN0eWxlLmxlZnQ9eSgtdil9fWZ1bmN0aW9uIHYoZSl7ZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1oaWRkZW4iXSwhMSl9ZnVuY3Rpb24gZihlKXsKZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1oaWRkZW4iXSwhMCl9ZnVuY3Rpb24geShlKXtyZXR1cm5gJHtNYXRoLmZsb29yKGUpfXB4YH0hZnVuY3Rpb24oZSl7ZVtlLlZpZXdwb3J0UGFkZGluZz0xMF09IlZpZXdwb3J0UGFkZGluZyJ9KGl8fChpPXt9KSk7Y29uc3QgYj1gXG5cdDxkaXYgaWQ9ImNvbW1vbi10b29sdGlwLXdyYXBwZXIiIGNsYXNzPSIke19bImNvbW1vbi10b29sdGlwIl19Ij5cblx0XHQ8ZGl2IGNsYXNzPSIke19bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIl19IiA+XG5cdFx0XHQ8ZGl2IGNsYXNzPSIke19bImNvbW1vbi10b29sdGlwX19ib2R5Il19IGpzLXRvb2x0aXAtYm9keSI+PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz0iJHtfWyJjb21tb24tdG9vbHRpcF9fYnV0dG9uLWNvbnRhaW5lciJdfSI+PC9kaXY+XG5cdDwvZGl2PlxuYCxTPWBcblx0PGRpdiBjbGFzcz0iJHtfWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrIl19Ij48L2Rpdj5cbmAsdz1gXG5cdDxkaXYgY2xhc3M9IiR7X1siY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0Il19Ij48L2Rpdj5cbmAsQz0oMCxyLnBhcnNlSHRtbEVsZW1lbnQpKGIpLGs9KDAsci5wYXJzZUh0bWxFbGVtZW50KShTKSxUPSgwLHIucGFyc2VIdG1sRWxlbWVudCkodyk7ZnVuY3Rpb24gRShlKXtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKGAuJHtfWyJjb21tb24tdG9vbHRpcF9fYm9keSJdfWApfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm4gMTArZTx0Lnl9fSwzNDUxNTEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7aG90S2V5RGVzZXJpYWxpemU6KCk9PnIsaG90S2V5U2VyaWFsaXplOigpPT5ufSk7dmFyIGk9byg2NDE1OTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKDAsaS5odG1sRXNjYXBlKShKU09OLnN0cmluZ2lmeShlKSl9ZnVuY3Rpb24gcihlKXtyZXR1cm4gSlNPTi5wYXJzZSgoMCxpLmRlY29kZUhUTUxFbnRpdGllcykoZSkpfX0sMTY3ODk2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2VtcHR5OigpPT5zLHNldFRvb2x0aXA6KCk9PmF9KTtjb25zdCBpPSJ0b29sdGlwLXJvb3QtZWxlbWVudCI7bGV0IG47ZnVuY3Rpb24gcigpe2NvbnN0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaSk7ZT9uPWU6KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksbi5pZD1pLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobikpfWZ1bmN0aW9uIHMoKXtuJiYobi5pbm5lckhUTUw9IiIpfWZ1bmN0aW9uIGEoZSl7cygpLG58fHIoKSxuLmFwcGVuZENoaWxkKGUpfSJpbnRlcmFjdGl2ZSI9PT1kb2N1bWVudC5yZWFkeVN0YXRlP3IoKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKX0sNjU4OTk1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NsZWFyU2NoZWR1bGU6KCk9PnMsc2NoZWR1bGVIaWRlOigpPT5sLHNjaGVkdWxlUmVtb3ZlOigpPT5hLHNjaGVkdWxlUmVuZGVyOigpPT5jfSk7bGV0IGk9MCxuPTAscj0wO2Z1bmN0aW9uIHMoKXtjbGVhclRpbWVvdXQoaSksY2xlYXJUaW1lb3V0KG4pLGNsZWFyVGltZW91dChyKX1mdW5jdGlvbiBhKGUsdCl7cj1zZXRUaW1lb3V0KGUsdCl9ZnVuY3Rpb24gbChlLHQpe249c2V0VGltZW91dChlLHQpfWZ1bmN0aW9uIGMoZSx0KXtpPXNldFRpbWVvdXQoZSx0KX19LDY4NjY1MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzZXRUb29sdGlwQ29sb3JUaGVtZTooKT0+cn0pO2NvbnN0IGk9e2RlZmF1bHQ6IiIsd2hpdGU6InRoZW1lLXdoaXRlIixjaGFydDoidGhlbWUtY2hhcnQiLG5ld3M6InRoZW1lLW5ld3MiLCJyb3VuZC1zaGFkb3ciOiJ0aGVtZS1yb3VuZC1zaGFkb3cifSxuPU9iamVjdC5rZXlzKGkpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBvPW4uaW5jbHVkZXModCk/aVt0XToiIjtlLmNsYXNzTGlzdC5yZW1vdmUoLi4ubi5tYXAoKGU9PmlbZV0pKS5maWx0ZXIoKGU9PiEhZSkpKSxvJiYhZS5jbGFzc0xpc3QuY29udGFpbnMobykmJmUuY2xhc3NMaXN0LmFkZChvKX19LDM0NDc4NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtoaWRlOigpPT52LHNob3dPbkVsZW1lbnQ6KCk9Pl99KTt2YXIgaT1vKDM2MzI2OSksbj1vKDEzODYzOCkscj1vKDcyNzA5KSxzPW8oNjU4OTk1KSxhPW8oMTY3ODk2KSxsPW8oNDkwMzc4KTtsZXQgYz0hMSxkPW51bGwsaD1udWxsO2kubW9iaWxldG91Y2h8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLG0sITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnRhcmdldDtpZighKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5jbG9zZXN0KCdbZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXM9InRydWUiXScpJiZ0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikpKXJldHVybjttKGUsITApfSkse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1mb2N1cyIsKGZ1bmN0aW9uKGUpe2UudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJm0oZSwhMCl9KSx7Y2FwdHVyZTohMH0pKTtjb25zdCB1PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKGQmJmQub3B0aW9ucy50YXJnZXQpe2xldCBlO2U9ImlzQ29ubmVjdGVkImluIGQub3B0aW9ucy50YXJnZXQ/ZC5vcHRpb25zLnRhcmdldC5pc0Nvbm5lY3RlZDpkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGQub3B0aW9ucy50YXJnZXQpLGV8fHYoKX19KSksXz0oZSx0PXt9KT0+e2NvbnN0e2NvbnRlbnQ6bywuLi5pfT1iKHQpLG49bC5nZXREYXRhRnJvbVRhcmdldChlKSxyPU9iamVjdC5hc3NpZ24obixpKTtyZXR1cm4ibm9uZSIhPT1vLnR5cGUmJihyLmNvbnRlbnQ9byksISgibm9uZSI9PT1yLmNvbnRlbnQudHlwZSYmIXIuaG90a2V5KSYmKHIudGFyZ2V0PWUscChyKSwhMCl9LHA9ZT0+e2NvbnN0IHQ9YihlKSxvPWwuZ2V0VG9vbHRpcCh0KTtpZihkPXtvcHRpb25zOnQsZWxlbWVudDpvfSwoMCxhLnNldFRvb2x0aXApKG8pLCgwLHMuY2xlYXJTY2hlZHVsZSkoKSwKIWMpcmV0dXJuIGwuaGlkZVRvb2x0aXAobyksdm9pZCgwLHMuc2NoZWR1bGVSZW5kZXIpKCgoKT0+ZihvKSksZnVuY3Rpb24oZSl7cmV0dXJuIm51bWJlciIhPXR5cGVvZiBlLnRvb2x0aXBEZWxheXx8aXNOYU4oZS50b29sdGlwRGVsYXkpPzUwMDplLnRvb2x0aXBEZWxheX0odCkpO2NvbnN0e3Rvb2x0aXBEZWJvdW5jZTppfT1lOyJudW1iZXIiIT10eXBlb2YgaXx8aXNOYU4oaSk/ZihvKTooMCxzLnNjaGVkdWxlUmVuZGVyKSgoKCk9PmYobykpLGkpfTtmdW5jdGlvbiBtKGUsdCl7aWYoInNvdXJjZUNhcGFiaWxpdGllcyJpbiBlJiZlLnNvdXJjZUNhcGFiaWxpdGllcz8uZmlyZXNUb3VjaEV2ZW50cylyZXR1cm47Y29uc3Qgbz1mdW5jdGlvbihlLHQsbyl7Y29uc3QgaT1bXTtmb3IoO2UmJmUhPT10OyllLmNsYXNzTGlzdCYmZS5jbGFzc0xpc3QuY29udGFpbnMobykmJmkucHVzaChlKSxlPWUucGFyZW50RWxlbWVudHx8eShlLnBhcmVudE5vZGUpO3JldHVybiBpfShlLnRhcmdldCxlLmN1cnJlbnRUYXJnZXQsImFwcGx5LWNvbW1vbi10b29sdGlwIik7Zm9yKGNvbnN0IGkgb2Ygbyl7aWYoZSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpaWYoImJ1dHRvbnMiaW4gZSl7aWYoMSZlLmJ1dHRvbnMpY29udGludWV9ZWxzZSBpZigxPT09ZS53aGljaCljb250aW51ZTtjb25zdCBvPSgpPT5fKGkpO2lmKG8oKSl7Y29uc3QgZT1lPT5uKG51bGwsITApLG49KHIscz0hMSk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIsbyksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixuKSxpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLHtjYXB0dXJlOiEwfSksdCYmKGkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsbiksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKSksaCYmKGguZGVzdHJveSgpLGg9bnVsbCksdihzKX07aS5hZGRFdmVudExpc3RlbmVyKCJjb21tb24tdG9vbHRpcC11cGRhdGUiLG8pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsbiksaS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG4pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZSx7Y2FwdHVyZTohMH0pLHQmJihpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLG4pLGkuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsbikpLG51bGw9PT1oJiYoaD0oMCxyLmNyZWF0ZUdyb3VwKSh7ZGVzYzoiVG9vbHRpcCJ9KSxoLmFkZCh7ZGVzYzoiSGlkZSIsaG90a2V5OjI3LGhhbmRsZXI6bn0pKTticmVha319fWZ1bmN0aW9uIGcoKXsoMCxhLmVtcHR5KSgpLGM9ITEsZD1udWxsfWNvbnN0IHY9KGUsdCk9PntpZigoMCxzLmNsZWFyU2NoZWR1bGUpKCksKDAsbi5lbnN1cmVOb3ROdWxsKSh1KS5kaXNjb25uZWN0KCksIWQpcmV0dXJuO2lmKCFlJiYhYylyZXR1cm47Y29uc3R7ZWxlbWVudDpvLG9wdGlvbnM6aX09ZCxyPSgpPT57by5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixyKSxsLmhpZGVUb29sdGlwKG8pLGU/ZygpOigwLHMuc2NoZWR1bGVSZW1vdmUpKCgoKT0+e2coKX0pLDI1MCksdD8uKCl9O2kudG9vbHRpcEhpZGVEZWxheT8oMCxzLnNjaGVkdWxlSGlkZSkoKCgpPT57by5xdWVyeVNlbGVjdG9yKCI6aG92ZXIiKT9vLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHIpOnIoKX0pLGkudG9vbHRpcEhpZGVEZWxheSk6cigpfTtmdW5jdGlvbiBmKGUpe2NvbnN0e29wdGlvbnM6dH09KDAsbi5lbnN1cmVOb3ROdWxsKShkKTtpZihsLnNldFN0eWxlKGUsdCksbC5zaG93VG9vbHRpcChlKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLm9ic2VydmUoZG9jdW1lbnQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSksYz0hMCx0LmZvcmNlSGlkZU9uTW92ZSl7Y29uc3QgZT0oKT0+e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixlKSx2KCl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixlKX19ZnVuY3Rpb24geShlKXtyZXR1cm4gZSYmKGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERT9lOm51bGwpfWZ1bmN0aW9uIGIoZSl7aWYoZnVuY3Rpb24oZSl7cmV0dXJuImNvbnRlbnQiaW4gZX0oZSkpcmV0dXJuIGU7Y29uc3R7aW5uZXI6dCxodG1sOm8sdGV4dDppLC4uLm59PWU7bGV0IHI9e3R5cGU6Im5vbmUifTtyZXR1cm4gdCYmKHI9e3R5cGU6ImVsZW1lbnQiLGRhdGE6dH0pLGkmJihyPXt0eXBlOm8/Imh0bWwiOiJ0ZXh0IixkYXRhOml9KSx7Y29udGVudDpyLC4uLm59fX0sNzAzMDQxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse01hcmtldERpYWxvZ0NvbnRleHQ6KCk9PnIsTWFya2V0RGlhbG9nTW9kZTooKT0+aX0pO3ZhciBpLG49byg3Nzk0NzQpOyFmdW5jdGlvbihlKXtlLlNpbmdsZT0ic2luZ2xlIixlLk11bHRpPSJtdWx0aSJ9KGl8fChpPXt9KSk7Y29uc3Qgcj0oMCxuLmNyZWF0ZUNvbnRleHQpKG51bGwpfSwyNDk0NjkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZW50aXJlV29ybGRNYXJrZXRzUHJlc2V0OigpPT5hLGdldE1hcmtldEdyb3VwTmFtZU1hcDooKT0+cixpc01hcmtldHNQcmVzZXQ6KCk9Pmx9KTt2YXIgaT1vKDE4NTI3MSksbj1vKDE5NjIwMSk7Y29uc3Qgcj0oKT0+KHtbbi5NYXJrZXRHcm91cC5DdXN0b21dOiIiLFtuLk1hcmtldEdyb3VwLkVudGlyZVdvcmxkXToiIixbbi5NYXJrZXRHcm91cC5Ob3J0aEFtZXJpY2FdOmkudChudWxsLHZvaWQgMCxvKDY4OTcxNikpLFtuLk1hcmtldEdyb3VwLkV1cm9wZV06aS50KG51bGwsdm9pZCAwLG8oOTUyMzY3KSksW24uTWFya2V0R3JvdXAuTWlkZGxlRWFzdEFmcmljYV06aS50KG51bGwsdm9pZCAwLG8oNjAzMDY1KSksW24uTWFya2V0R3JvdXAuTWV4aWNvU291dGhBbWVyaWNhXTppLnQobnVsbCx2b2lkIDAsbyg1OTgyNDcpKSwKW24uTWFya2V0R3JvdXAuQXNpYVBhY2lmaWNdOmkudChudWxsLHZvaWQgMCxvKDc2NDE3MSkpLFtuLk1hcmtldEdyb3VwLldvcmxkd2lkZV06aS50KG51bGwsdm9pZCAwLG8oNjQzMDc1KSksW24uTWFya2V0R3JvdXAuRzIwXTppLnQobnVsbCx2b2lkIDAsbyg5Nzg1NjEpKX0pO3ZhciBzOyFmdW5jdGlvbihlKXtlLkVudGlyZVdvcmxkPSJlbnRpcmVfd29ybGQiLGUuRzIwPSJnMjAifShzfHwocz17fSkpO2NvbnN0IGE9ZT0+KHt2YWx1ZToiZW50aXJlX3dvcmxkIixuYW1lOmkudChudWxsLHZvaWQgMCxvKDkxNTEyNCkpLGRlc2M6IiIsZ3JvdXA6bi5NYXJrZXRHcm91cC5DdXN0b20sY291bnRyaWVzOmU/P1tdfSk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS5ncm91cD09PW4uTWFya2V0R3JvdXAuQ3VzdG9tJiZlLmhhc093blByb3BlcnR5KCJjb3VudHJpZXMiKX19LDE5NjIwMShlLHQsbyl7InVzZSBzdHJpY3QiO3ZhciBpO28uZCh0LHtNYXJrZXRHcm91cDooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuQ3VzdG9tPSJDdXN0b20iLGUuRW50aXJlV29ybGQ9IkVudGlyZSBXb3JsZCIsZS5Ob3J0aEFtZXJpY2E9Ik5vcnRoIEFtZXJpY2EiLGUuRXVyb3BlPSJFdXJvcGUiLGUuTWlkZGxlRWFzdEFmcmljYT0iTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGUuTWV4aWNvU291dGhBbWVyaWNhPSJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLGUuQXNpYVBhY2lmaWM9IkFzaWEgLyBQYWNpZmljIixlLldvcmxkd2lkZT0iV29ybGR3aWRlIixlLkcyMD0iRzIwIn0oaXx8KGk9e30pKX0sOTk4NjYxKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUuZm9yRWFjaCgoZT0+e3QuaGFzKGUuZ3JvdXApP3QuZ2V0KGUuZ3JvdXApLnB1c2goZSk6dC5zZXQoZS5ncm91cCxbZV0pfSkpLHR9ZnVuY3Rpb24gbihlLHQpe3JldHVybiB0Lm1hcCgodD0+ZS5maW5kKChlPT5lLnZhbHVlPT09dCkpKSkuZmlsdGVyKChlPT5Cb29sZWFuKGUpKSl9ZnVuY3Rpb24gcihlLHQ9Mil7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO2lmKDE9PT10KXJldHVybltlXTtjb25zdCBvPU1hdGguZmxvb3IoZS5sZW5ndGgvMikrZS5sZW5ndGglMjtyZXR1cm5bZS5zbGljZSgwLG8pLGUuc2xpY2UobyldLmZpbHRlcigoZT0+ZS5sZW5ndGg+MCkpfW8uZCh0LHtjcmVhdGVHcm91cENvbHVtbnM6KCk9PnIsZ2V0TWFya2V0c0J5TmFtZXM6KCk9Pm4sc3BsaXRNYXJrZXRzQnlHcm91cDooKT0+aX0pfSwxODk4NjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3Bpbm5lcjooKT0+cn0pO28oODQ1NTc3KTt2YXIgaT1vKDQ0MzU1Nyksbj1vKDU2NzQ3OSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9zaG93bj0hMSx0aGlzLl9lbD0oMCxpLnBhcnNlSHRtbEVsZW1lbnQpKGZ1bmN0aW9uKGU9IiIpe3JldHVybmA8ZGl2IGNsYXNzPSJ0di1zcGlubmVyICR7ZX0iIHJvbGU9InByb2dyZXNzYmFyIj48L2Rpdj5gfSgpKSx0aGlzLnNldFNpemUobi5zcGlubmVyU2l6ZU1hcFtlfHxuLkRFRkFVTFRfU0laRV0pfXNwaW4oZSl7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTGlzdC5hZGQoInR2LXNwaW5uZXItLXNob3duIiksdm9pZCAwPT09dGhpcy5fY29udGFpbmVyJiYodGhpcy5fY29udGFpbmVyPWUsdm9pZCAwIT09ZSYmZS5hcHBlbmRDaGlsZCh0aGlzLl9lbCkpLHRoaXMuX3Nob3duPSEwLHRoaXN9c3RvcChlKXtyZXR1cm4gZSYmdm9pZCAwIT09dGhpcy5fY29udGFpbmVyJiZ0aGlzLl9jb250YWluZXIucmVtb3ZlQ2hpbGQodGhpcy5fZWwpLHRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCJ0di1zcGlubmVyLS1zaG93biIpLHRoaXMuX3Nob3duPSExLHRoaXN9c2V0U3R5bGUoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2goKHQ9Pntjb25zdCBvPWVbdF07dm9pZCAwIT09byYmdGhpcy5fZWwuc3R5bGUuc2V0UHJvcGVydHkodCxvKX0pKSx0aGlzfXN0eWxlKCl7cmV0dXJuIHRoaXMuX2VsLnN0eWxlfXNldFNpemUoZSl7Y29uc3QgdD12b2lkIDAhPT1lP2B0di1zcGlubmVyLS1zaXplXyR7ZX1gOiIiO3JldHVybiB0aGlzLl9lbC5jbGFzc05hbWU9YHR2LXNwaW5uZXIgJHt0fSAke3RoaXMuX3Nob3duPyJ0di1zcGlubmVyLS1zaG93biI6IiJ9YCx0aGlzfWdldEVsKCl7cmV0dXJuIHRoaXMuX2VsfWRlc3Ryb3koKXt0aGlzLnN0b3AoKSxkZWxldGUgdGhpcy5fZWwsZGVsZXRlIHRoaXMuX2NvbnRhaW5lcn19fSwyMDI0NjAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7QWJzdHJhY3RJbmRpY2F0b3I6KCk9PmF9KTt2YXIgaT1vKDIyMTA2MSksbj1vKDE1MDE1MCkscj1vKDE1OTUxMyk7bygzNDQ3ODUpO2NvbnN0IHM9KDAsaS5nZXRMb2dnZXIpKCJHVUkuQmxvY2tzLkFic3RyYWN0SW5kaWNhdG9yIik7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9jbGFzc1N1ZmZpeD0iIix0aGlzLl9xdW90ZVNlc3Npb25QcmVmaXg9ImFic3RyYWN0LWluZGljYXRvciIsdGhpcy5fc2hvcnRNb2RlPSExLHRoaXMuX3Nob3dUb29sdGlwPSEwLHRoaXMuX3N1YnNjcmliZWQ9ITEsdGhpcy5fdG9vbHRpcFR5cGU9ImN1c3RvbSIsdGhpcy5fbGFzdFRvb2x0aXBUZXh0PSIiLHRoaXMuX3F1b3RlU2Vzc2lvbj1lLnF1b3RlU2Vzc2lvbn1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLl92YWx1ZX1nZXRUb29sdGlwVGV4dCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldExhYmVsKCl7cmV0dXJuIHRoaXMuX2xhYmVsTWFwW3RoaXMuX3ZhbHVlXXx8IiJ9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9lbH11cGRhdGUoZSx0KXt0aGlzLl91cGRhdGVWYWx1ZShlLHQpLHRoaXMuX3JlbmRlcigpfXNldFRvb2x0aXBFbmFibGVkKGU9ITEpe3RoaXMuX3Nob3dUb29sdGlwIT09ZSYmKHRoaXMuX3Nob3dUb29sdGlwPWUsdGhpcy5fcmVuZGVyVG9vbHRpcCgpKX1lbmFibGVTaG9ydE1vZGUoKXshMCE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMCx0aGlzLl9yZW5kZXIoKSl9ZGlzYWJsZVNob3J0TW9kZSgpeyExIT09dGhpcy5fc2hvcnRNb2RlJiYodGhpcy5fc2hvcnRNb2RlPSExLAp0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKGUpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09ZSYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPWUsdGhpcy5fcmVuZGVyKCkpfV9pbml0KGUpe3RoaXMuX2VsPWUuZWw/ZS5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPWUuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPWUuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPWUubGFiZWxNYXAsdGhpcy5fc2hvd1Rvb2x0aXA9ZS5zaG93VG9vbHRpcCx0aGlzLl9jbGFzc1N1ZmZpeD1lLmNsYXNzU3VmZml4LHRoaXMuX3N5bWJvbE5hbWU9ZS5zeW1ib2wsdGhpcy5fc2Vzc2lvblN0YXR1c0ljb249ZS5zZXNzaW9uU3RhdHVzSWNvbix0aGlzLl9vblZhbHVlQ2hhbmdlPWUub25WYWx1ZUNoYW5nZSxlLnRvb2x0aXBUeXBlJiYodGhpcy5fdG9vbHRpcFR5cGU9ZS50b29sdGlwVHlwZSksdGhpcy5fcXVvdGVTZXNzaW9uR1VJRD0oMCxuLmd1aWQpKCksITA9PT1lLnNob3J0JiZ0aGlzLmVuYWJsZVNob3J0TW9kZSgpLGUuZGF0YSYmdGhpcy5fdXBkYXRlVmFsdWUoZS5kYXRhKX1fY2xlYXJDbGFzc2VzKCl7T2JqZWN0LnZhbHVlcyh0aGlzLl9jbGFzc01hcCkubWFwKChlPT57dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShgJHtlfWApLHRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7ZX0ke3RoaXMuX2NsYXNzU3VmZml4fWApfSkpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJDbGFzc2VzKCksdGhpcy5fcmVuZGVyVG9vbHRpcCgpLHRoaXMuX3JlbmRlckxhYmVsKCl9X3JlbmRlckxhYmVsKCl7dGhpcy5fZWwudGV4dENvbnRlbnQ9dGhpcy5nZXRMYWJlbCgpfV91cGRhdGVWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fZ2V0VmFsdWVGcm9tRGF0YShlKTsodHx8byE9PXRoaXMuX3ZhbHVlKSYmKHRoaXMuX3ZhbHVlPW8sdGhpcy5fb25WYWx1ZUNoYW5nZT8uKHRoaXMuX3ZhbHVlKSl9X3JlbmRlckNsYXNzZXMoKXtjb25zdCBlPXRoaXMuX2VsLmNsYXNzTGlzdDtlLmFkZCh0aGlzLl9jb21wb25lbnRDbGFzcyx0aGlzLl9jb21wb25lbnRDbGFzcyt0aGlzLl9jbGFzc1N1ZmZpeCk7Y29uc3QgdD10aGlzLl9jbGFzc01hcFt0aGlzLl92YWx1ZV07Zm9yKGNvbnN0IG8gaW4gdGhpcy5fY2xhc3NNYXApe2NvbnN0IGk9dGhpcy5fY2xhc3NNYXBbb107aSYmKGk9PT10PyhlLmFkZChpLGkrdGhpcy5fY2xhc3NTdWZmaXgpLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uJiZlLmFkZChpKyJfX3dpdGhJY29uIikpOihlLnJlbW92ZShpLGkrdGhpcy5fY2xhc3NTdWZmaXgpLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uJiZlLnJlbW92ZShpKyJfX3dpdGhJY29uIikpKX0hdCYmdGhpcy5fdmFsdWUmJnMubG9nV2Fybihgbm8gY2xhc3NOYW1lIGZvciBzdGF0dXMgJHt0aGlzLl92YWx1ZX1gKX1fcmVuZGVyVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fc2hvd1Rvb2x0aXA/dGhpcy5nZXRUb29sdGlwVGV4dCgpOiIiO2UhPT10aGlzLl9sYXN0VG9vbHRpcFRleHQmJih0aGlzLl9sYXN0VG9vbHRpcFRleHQ9ZSx0aGlzLl9lbC5zZXRBdHRyaWJ1dGUoInRpdGxlIixlKSwiY3VzdG9tIj09PXRoaXMuX3Rvb2x0aXBUeXBlJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKCJhcHBseS1jb21tb24tdG9vbHRpcCIsdGhpcy5fc2hvd1Rvb2x0aXApKX1fZ2V0UXVvdGVTZXNzaW9uSWQoKXtyZXR1cm5gJHt0aGlzLl9xdW90ZVNlc3Npb25QcmVmaXh9LiR7dGhpcy5fcXVvdGVTZXNzaW9uR1VJRH1gfX19LDMwNjkwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RhdGFNb2RlSW5kaWNhdG9yOigpPT5jfSk7dmFyIGksbj1vKDE4NTI3MSkscj0obyg4MjkxODApLG8oNDUwMjk1KSxvKDIwMjQ2MCkpOyFmdW5jdGlvbihlKXtlLkRlbGF5ZWQ9ImRlbGF5ZWQiLGUuRGVsYXllZFN0cmVhbWluZz0iZGVsYXllZF9zdHJlYW1pbmciLGUuRW5kT2ZEYXk9ImVuZG9mZGF5IixlLlNuYXBzaG90PSJzbmFwc2hvdCIsZS5SZWFsdGltZT0icmVhbHRpbWUiLGUuQ29ubmVjdGluZz0iY29ubmVjdGluZyIsZS5Mb2FkaW5nPSJsb2FkaW5nIixlLkludmFsaWQ9ImludmFsaWQiLGUuRm9yYmlkZGVuPSJmb3JiaWRkZW4iLGUuU3RyZWFtaW5nPSJzdHJlYW1pbmcifShpfHwoaT17fSkpO2NvbnN0IHM9e2Nvbm5lY3Rpbmc6InR2LWRhdGEtbW9kZS0tY29ubmVjdGluZyIsZGVsYXllZDoidHYtZGF0YS1tb2RlLS1kZWxheWVkIixkZWxheWVkX3N0cmVhbWluZzoidHYtZGF0YS1tb2RlLS1kZWxheWVkIixlbmRvZmRheToidHYtZGF0YS1tb2RlLS1lbmRvZmRheSIsZm9yYmlkZGVuOiJ0di1kYXRhLW1vZGUtLWZvcmJpZGRlbiIscmVhbHRpbWU6InR2LWRhdGEtbW9kZS0tcmVhbHRpbWUiLHNuYXBzaG90OiJ0di1kYXRhLW1vZGUtLXNuYXBzaG90Iixsb2FkaW5nOiJ0di1kYXRhLW1vZGUtLWxvYWRpbmciLHJlcGxheToidHYtZGF0YS1tb2RlLS1yZXBsYXkifTtmdW5jdGlvbiBhKCl7cmV0dXJue2Nvbm5lY3Rpbmc6bi50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9jb25uZWN0aW5nX2xldHRlciJ9LG8oODU5OTk0KSksZGVsYXllZDpuLnQobnVsbCx7CmNvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LG8oODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6bi50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxvKDM5NDUwMSkpLGVuZG9mZGF5Om4udChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxvKDU3MDkzOSkpLGZvcmJpZGRlbjpuLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxvKDM5NDkyMSkpLHJlYWx0aW1lOm4udChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0sbyg4NjY0NCkpLHNuYXBzaG90Om4udChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0sbygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTpuLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxvKDc1NjQ1NykpfX1jb25zdCBsPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgYyBleHRlbmRzIHIuQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KGUpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9c2V0TW9kZShlLHQpe3RoaXMudXBkYXRlKHt2YWx1ZXM6e3VwZGF0ZV9tb2RlOmUsdXBkYXRlX21vZGVfc2Vjb25kczp0fX0pfWhpZGUoKXt0aGlzLl9lbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpfXNob3coKXt0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpfWdldFRvb2x0aXBUZXh0KCl7bGV0IGU9IiI7Y29uc3QgdD10aGlzLmdldFZhbHVlKCk7aWYoIiI9PT10KXJldHVybiBlO3N3aXRjaCh0KXtjYXNlImRlbGF5ZWQiOmU9bi50KG51bGwsdm9pZCAwLG8oNzkwNTI0KSk7YnJlYWs7Y2FzZSJkZWxheWVkX3N0cmVhbWluZyI6ZT1uLnQobnVsbCx2b2lkIDAsbyg4MTQ2MSkpO2JyZWFrO2RlZmF1bHQ6ZT10aGlzLl9sYWJlbE1hcFt0XXx8ZX1yZXR1cm5bImRlbGF5ZWQiLCJkZWxheWVkX3N0cmVhbWluZyJdLmluY2x1ZGVzKHQpJiYoZT1lLmZvcm1hdCh7bnVtYmVyOlN0cmluZyhNYXRoLnJvdW5kKHRoaXMuX21vZGVJbnRlcnZhbC82MCkpfSkpLGV9X2luaXQoZT17fSl7Y29uc3QgdD1PYmplY3QuYXNzaWduKHt9LHtjbGFzc01hcDpzLGNsYXNzU3VmZml4OiIiLGRhdGE6e3ZhbHVlczp7dXBkYXRlX21vZGU6ImNvbm5lY3RpbmcifX0sbGFiZWxNYXA6e2Nvbm5lY3Rpbmc6bi50KG51bGwsdm9pZCAwLG8oMTk0MTk0KSksZGVsYXllZDpuLnQobnVsbCx2b2lkIDAsbygyMjk1MjUpKSxkZWxheWVkX3N0cmVhbWluZzpuLnQobnVsbCx2b2lkIDAsbygyMjk1MjUpKSxlbmRvZmRheTpuLnQobnVsbCx2b2lkIDAsbyg2MDE3NjQpKSxmb3JiaWRkZW46bi50KG51bGwsdm9pZCAwLG8oMzI4MzEzKSkscmVhbHRpbWU6bi50KG51bGwsdm9pZCAwLG8oODgzOTI4KSksc25hcHNob3Q6bi50KG51bGwsdm9pZCAwLG8oNTYyMzk1KSksbG9hZGluZzoiIixyZXBsYXk6bi50KG51bGwsdm9pZCAwLG8oOTc3MjcpKX0sbW9kZUludGVydmFsOjYwMCxzaG9ydDohMSxzaG9ydExhYmVsTWFwOmEoKSxzaG93VG9vbHRpcDohMCx0b29sdGlwVHlwZToiY3VzdG9tIn0sZSk7dGhpcy5fbW9kZUludGVydmFsPXQubW9kZUludGVydmFsfHw2MDAsdGhpcy5fc2hvcnRMYWJlbE1hcD10LnNob3J0TGFiZWxNYXB8fGEoKSxzdXBlci5faW5pdCh0KSx0aGlzLl9yZW5kZXIoKX1fZ2V0VmFsdWVGcm9tRGF0YShlKXtsZXQgdDtyZXR1cm4gdD12b2lkIDAhPT1lLnZhbHVlcyYmdm9pZCAwIT09ZS52YWx1ZXMudXBkYXRlX21vZGU/ZS52YWx1ZXMudXBkYXRlX21vZGU6dGhpcy5nZXRWYWx1ZSgpLGxbdF18fHR9X3VwZGF0ZVZhbHVlKGUsdCl7dm9pZCAwIT09ZS52YWx1ZXMmJnZvaWQgMCE9PWUudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMmJih0aGlzLl9tb2RlSW50ZXJ2YWw9ZS52YWx1ZXMudXBkYXRlX21vZGVfc2Vjb25kcyksc3VwZXIuX3VwZGF0ZVZhbHVlKGUsdCl9fX0sNjQ3NjE0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2ZsYWdVcmw6KCk9PmwsZ2V0TW9ja2VkRmxhZzooKT0+Y30pO3ZhciBpPW8oODEwNDEpLG49byg4NjIyMTMpLHI9byg3MTcxNDEpLHM9byg0NTgwNTkpO2NvbnN0IGE9e2VybDoiRVUiLHVrOiJHQiIsYml0Y29pbjoiQlRDIn07ZnVuY3Rpb24gbChlLHQsbz1uLkxvZ29TaXplLk1lZGl1bSl7cmV0dXJuIGU/KGUudG9Mb3dlckNhc2UoKWluIGEmJihlPWFbZV0pLCgwLG4uZ2V0TG9nb1VybFJlc29sdmVyKSgpLmdldENvdW50cnlGbGFnVXJsKGUudG9VcHBlckNhc2UoKSxvKSk6Yyh0KX1mdW5jdGlvbiBjKGUpe3JldHVybiBlPT09aS5TdGRUaGVtZS5EYXJrP3I6c319LDEzNzg3OShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtjb3VudHJpZXM6KCk9PnIsZ2V0Q291bnRyeTooKT0+c30pO2NvbnN0IGk9L15bYS16XXsyfSQvO3ZhciBuPW8oMjU1NTE2KTtjb25zdCByPW4scz1lPT57cmV0dXJuIHQ9ZSxpLnRlc3QodCkmJm5bZV18fG51bGw7dmFyIHR9fSwxNjAyOTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLnIodCksby5kKHQse2Vudmlyb25tZW50OigpPT5uLGlzRGVidWc6KCk9PmEsaXNMb2NhbDooKT0+cixpc1Byb2Q6KCk9PnN9KTtjb25zdCBpPW5ldyBTZXQoWyJiYXR0bGUiLCJzdGFnaW5nIiwidGVzdCIsImxvY2FsIl0pO2Z1bmN0aW9uIG4oKXtjb25zdCBlPXNlbGYuZW52aXJvbm1lbnQ7cmV0dXJuIGZ1bmN0aW9uKGUpe2kuaGFzKGUpfHxjb25zb2xlLndhcm4oIkludmFsaWQgZW52aXJvbm1lbnQgIitlKX0oZSksZX1mdW5jdGlvbiByKCl7cmV0dXJuImxvY2FsIj09PW4oKX1mdW5jdGlvbiBzKCl7cmV0dXJuImJhdHRsZSI9PT1uKCl9ZnVuY3Rpb24gYSgpe3JldHVybiFzKCl9fSw3Mzc4NjMoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuCjtvLmQodCx7UHJvZHVjdEZlYXR1cmVzRW51bTooKT0+bixVTkxJTUlURURfRkVBVFVSRV9MSU1JVDooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuRElTQUJMRV9PTl9UUklBTD0iZGlzYWJsZV9vbl90cmlhbCIsZS5ESVNBQkxFX09OX0xJVEVfUExBTj0iZGlzYWJsZV9vbl9saXRlX3BsYW4iLGUuQ1VTVE9NX0lOVEVSVkFMUz0iQ1VTVE9NX0lOVEVSVkFMUyIsZS5DSEFSVF9TVE9SQUdFPSJDSEFSVF9TVE9SQUdFIixlLk1VTFRJUExFX0NIQVJUUz0iTVVMVElQTEVfQ0hBUlRTIixlLk1VTFRJUExFX1dBVENITElTVFM9Ik1VTFRJUExFX1dBVENITElTVFMiLGUuSU1QT1JUX1dBVENITElTVFM9IklNUE9SVF9XQVRDSExJU1RTIixlLkVYUE9SVF9XQVRDSExJU1RTPSJFWFBPUlRfV0FUQ0hMSVNUUyIsZS5XQVRDSExJU1RfU1lNQk9MUz0iV0FUQ0hMSVNUX1NZTUJPTFMiLGUuSU5ESUNBVE9SU19PTl9DSEFSVD0iSU5ESUNBVE9SU19PTl9DSEFSVCIsZS5TVFVEWV9PTl9TVFVEWT0iU1RVRFlfT05fU1RVRFkiLGUuVElDS19CWV9USUNLX1BVU0hfREFUQT0iVElDS19CWV9USUNLX1BVU0hfREFUQSIsZS5TRVJWRVJfU0lERV9BTEVSVFM9IlNFUlZFUl9TSURFX0FMRVJUUyIsZS5TRVJWRVJfU0lERV9BTEVSVFNfVEVDSE5JQ0FMPSJTRVJWRVJfU0lERV9BTEVSVFNfVEVDSE5JQ0FMIixlLlNFUlZFUl9TSURFX0FMRVJUU19XQVRDSExJU1Q9IlNFUlZFUl9TSURFX0FMRVJUU19XQVRDSExJU1QiLGUuQUxFUlRTX01VTFRJQ09ORElUSU9OUz0iQUxFUlRTX01VTFRJQ09ORElUSU9OUyIsZS5BTEVSVFNfT05fRUFSTklOR1M9IkFMRVJUU19PTl9FQVJOSU5HUyIsZS5BTEVSVFNfT05fRlVOREFNRU5UQUxfTUVUUklDUz0iQUxFUlRTX09OX0ZVTkRBTUVOVEFMX01FVFJJQ1MiLGUuUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTPSJQVUJMSVNIX0lOVklURV9PTkxZX1NDUklQVFMiLGUuUFVCTElTSF9QUk9URUNURURfU0NSSVBUUz0iUFVCTElTSF9QUk9URUNURURfU0NSSVBUUyIsZS5TQ1JFRU5FUl9BVVRPX1JFRlJFU0g9IlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsZS5TQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIPSJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIixlLlNDUkVFTkVSX0lOVEVSVkFMUz0iU0NSRUVORVJfSU5URVJWQUxTIixlLlNDUkVFTkVSX05FV19FWFBPUlRfQ1NWX0RBVEE9IlNDUkVFTkVSX05FV19FWFBPUlRfQ1NWX0RBVEEiLGUuU0NSRUVORVJfTkVXX1NIT1dfUkVTVFJJQ1RFRF9EQVRBPSJTQ1JFRU5FUl9ORVdfU0hPV19SRVNUUklDVEVEX0RBVEEiLGUuUElORV9TQ1JFRU5FUj0iUElORV9TQ1JFRU5FUiIsZS5TSU1VTFRBTkVPVVNfQ09OTkVDVElPTlM9IlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyIsZS5CQUNLRU5EX0NPTk5FQ1RJT05TPSJCQUNLRU5EX0NPTk5FQ1RJT05TIixlLlNUVURZX1RFTVBMQVRFUz0iU1RVRFlfVEVNUExBVEVTIixlLkNBTl9FRElUX1BVQkxJQ19DSEFUUz0iQ0FOX0VESVRfUFVCTElDX0NIQVRTIixlLk5PX1NQT05TT1JFRF9BRFM9Ik5PX1NQT05TT1JFRF9BRFMiLGUuSURDX0FWQUlMQUJMRV9ERUxBWT0iSURDX0FWQUlMQUJMRV9ERUxBWSIsZS5TVEFUVVM9IlNUQVRVUyIsZS5BTEVSVFNfTk9fRVhQSVJBVElPTj0iQUxFUlRTX05PX0VYUElSQVRJT04iLGUuTVVMVElGTEFHR0VEX1NZTUJPTFNfTElTVFM9Ik1VTFRJRkxBR0dFRF9TWU1CT0xTX0xJU1RTIixlLkJBUl9SRVBMQVlfSU5UUkFEQVk9IkJBUl9SRVBMQVlfSU5UUkFEQVkiLGUuQkFSX1JFUExBWV8xUz0iQkFSX1JFUExBWV8xUyIsZS5CQVJfUkVQTEFZXzFUPSJCQVJfUkVQTEFZXzFUIixlLlRWX1ZPTFVNRUJZUFJJQ0U9IlRWX1ZPTFVNRUJZUFJJQ0UiLGUuQUxFUlRTX1dFQkhPT0s9IkFMRVJUU19XRUJIT09LIixlLk1BUktFVF9EQVRBX0xJTUlUUz0iTUFSS0VUX0RBVEFfTElNSVRTIixlLkRFRVBfRlVOREFNRU5UQUxTX0hJU1RPUlk9IkRFRVBfRlVOREFNRU5UQUxTX0hJU1RPUlkiLGUuRVhQT1JUX0NIQVJUX0RBVEE9IkVYUE9SVF9DSEFSVF9EQVRBIixlLkVYUE9SVF9GSU5BTkNJQUxTX0RBVEE9IkVYUE9SVF9GSU5BTkNJQUxTX0RBVEEiLGUuQUxFUlRTX09OX1NFQ09ORFM9IkFMRVJUU19PTl9TRUNPTkRTIixlLlBFUk1BTkVOVF9TVFJFQU1fUkVDT1JEUz0iUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIixlLklERUFfU09DSUFMX0xJTktTPSJJREVBX1NPQ0lBTF9MSU5LUyIsZS5FWFRFTkRFRF9TT0NJQUxfTElOS1M9IkVYVEVOREVEX1NPQ0lBTF9MSU5LUyIsZS5ERUVQX0hJU1RPUllfQkFDS1RFU1Q9IkRFRVBfSElTVE9SWV9CQUNLVEVTVCIsZS5CQUNLVEVTVElOR19FWFBPUlRfWExTWD0iQkFDS1RFU1RJTkdfRVhQT1JUX1hMU1giLGUuQkFDS1RFU1RJTkdfRVhQT1JUX0NTVj0iQkFDS1RFU1RJTkdfRVhQT1JUX0NTViIsZS5GVU5EQU1FTlRBTFNfRk9SRUNBU1Q9IkZVTkRBTUVOVEFMU19GT1JFQ0FTVCIsZS5CQUNLVEVTVElOR19FWFRFTkRFRF9NRVRSSUNTPSJCQUNLVEVTVElOR19FWFRFTkRFRF9NRVRSSUNTIixlLkJBUl9ERVRBTElaQVRJT049IkJBUl9ERVRBTElaQVRJT04iLGUuU0NSSVBUX0VYRUNVVElPTl9PTl9ISVNUT1JZX0JBUlM9IlNDUklQVF9FWEVDVVRJT05fT05fSElTVE9SWV9CQVJTIixlLkJBQ0tURVNUSU5HX0NIQVJUX0VYUEFORD0iQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIixlLkhJU1RPUklDQUxfQkFSUz0iSElTVE9SSUNBTF9CQVJTIixlLktBR0lfUkVOS089IktBR0lfUkVOS08iLGUuSU5UUkFEQVlfU1BSRUFEPSJJTlRSQURBWV9TUFJFQUQiLGUuU0VDT05EU19JTlRFUlZBTFM9IlNFQ09ORFNfSU5URVJWQUxTIixlLk1VTFRJQ09MT1JfRkxBR0dFRF9TWU1CT0xTPSJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyIsZS5JTlRSQURBWV9FWENIQU5HRT0iSU5UUkFEQVlfRVhDSEFOR0UiLGUuQ1VTVE9NX0NIQVRTPSJDVVNUT01fQ0hBVFMiLGUuVk9MVU1FX1BST0ZJTEU9IlZPTFVNRV9QUk9GSUxFIixlLlZPTFVNRV9DQU5ETEVTPSJWT0xVTUVfQ0FORExFUyIsZS5UUE9fUEVSSU9ESUM9IlRQT19QRVJJT0RJQyIsZS5UUE9fQ0hBUlRfU1RZTEU9IlRQT19DSEFSVF9TVFlMRSIsCmUuUFJJTUlUSVZFX0FMRVJUUz0iUFJJTUlUSVZFX0FMRVJUUyIsZS5DT01QTEVYX0FMRVJUUz0iQ09NUExFWF9BTEVSVFMiLGUuVFZfUFJPU1RVRElFUz0iVFZfUFJPU1RVRElFUyIsZS5DSEFSVF9QQVRURVJOUz0iQ0hBUlRfUEFUVEVSTlMiLGUuU01TXzJGQV9WRVJJRklDQVRJT049IlNNU18yRkFfVkVSSUZJQ0FUSU9OIixlLlNPQ0lBTF9BQ1RJVklUWT0iU09DSUFMX0FDVElWSVRZIixlLlRJQ0tfSU5URVJWQUxTPSJUSUNLX0lOVEVSVkFMUyIsZS5DVVNUT01fRk9STVVMQVM9IkNVU1RPTV9GT1JNVUxBUyIsZS5DVVNUT01fUkFOR0VfQkFSUz0iQ1VTVE9NX1JBTkdFX0JBUlMiLGUuQlVZX1BST19EQVRBPSJCVVlfUFJPX0RBVEEiLGUuRkFTVEVTVF9EQVRBX0ZMT1c9IkZBU1RFU1RfREFUQV9GTE9XIixlLkZJUlNUX1BSSU9SSVRZX1NVUFBPUlQ9IkZJUlNUX1BSSU9SSVRZX1NVUFBPUlQiLGUuRlVOREFNRU5UQUxTX09OX0NIQVJUPSJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiLGUuRlVOREFNRU5UQUxfR1JBUEhTX0xBUkdFX1RJTUVfUkFOR0U9IkZVTkRBTUVOVEFMX0dSQVBIU19MQVJHRV9USU1FX1JBTkdFIixlLlZJREVPX0lERUFTX0xFTkdUSD0iVklERU9fSURFQVNfTEVOR1RIIixlLlZPTFVNRV9GT09UUFJJTlQ9IlZPTFVNRV9GT09UUFJJTlQiLGUuU0VTU0lPTl9WT0xVTUVfUFJPRklMRT0iU0VTU0lPTl9WT0xVTUVfUFJPRklMRSIsZS5DSEFUX0FTU0lTVEFOVD0iQ0hBVF9BU1NJU1RBTlQiLGUuUEVSU09OQUxfU1VQUE9SVD0iUEVSU09OQUxfU1VQUE9SVCIsZS5TSE9XX0JPTkRTX1JFU1RSSUNURURfREFUQT0iU0hPV19CT05EU19SRVNUUklDVEVEX0RBVEEiLGUuU0hPV19FVEZfSE9MRElOR1NfREFUQT0iU0hPV19FVEZfSE9MRElOR1NfREFUQSIsZS5DUkVBVEVfTU9SRV9QT1JURk9MSU9TPSJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIixlLlBPUlRGT0xJT19UUkFOU0FDVElPTlM9IlBPUlRGT0xJT19UUkFOU0FDVElPTlMiLGUuUE9SVEZPTElPX0hPTERJTkdTPSJQT1JURk9MSU9fSE9MRElOR1MiLGUuUE9SVEZPTElPX0RBVEFfTElNSVQ9IlBPUlRGT0xJT19EQVRBX0xJTUlUIixlLlNPQ0lBTF9UUlVTVEVEX1VTRVI9IlNPQ0lBTF9UUlVTVEVEX1VTRVIiLGUuQUNDRVNTX0FDUk9TU19ERVZJQ0VTPSJBQ0NFU1NfQUNST1NTX0RFVklDRVMiLGUuRk9MTE9XRVJTX09OTFlfTUlORFM9IkZPTExPV0VSU19PTkxZX01JTkRTIixlLkZPUkVDQVNUX0VTVElNQVRFX0RBVEE9IkZPUkVDQVNUX0VTVElNQVRFX0RBVEEiLGUuRFJBV0lOR1M9IkRSQVdJTkdTIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLkNBTl9FRElUX1BVQkxJQ19DSEFUUz0iQ0FOX0VESVRfUFVCTElDX0NIQVRTIixlLk5PX1NQT05TT1JFRF9BRFM9Ik5PX1NQT05TT1JFRF9BRFMiLGUuQUxFUlRTX05PX0VYUElSQVRJT049IkFMRVJUU19OT19FWFBJUkFUSU9OIixlLkFMRVJUU19XRUJIT09LPSJBTEVSVFNfV0VCSE9PSyIsZS5TQ1JFRU5FUl9BVVRPX1JFRlJFU0g9IlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsZS5TQ1JFRU5FUl9JTlRFUlZBTFM9IlNDUkVFTkVSX0lOVEVSVkFMUyIsZS5TT0NJQUxfQUNUSVZJVFk9IlNPQ0lBTF9BQ1RJVklUWSJ9KG58fChuPXt9KSk7Y29uc3Qgcj05OTk5OX0sMjI1Mjk4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2xpbmtpbmc6KCk9PlR9KTt2YXIgaT1vKDU0Nzg1MSksbj1vKDEzODYzOCkscj1vKDIyMTA2MSkscz0obyg5MzAyMzEpLG8oMjMyMzY0KSksYT1vKDI1NDY3MyksbD1vKDEyODk5OCksYz1vKDk1MjkwMCksZD1vKDI0MTk1Nik7dmFyIGg9byg5MzA1NjYpLHU9byg2MzE2MzQpLF89byg3OTgzOCkscD1vKDc3ODk0NiksbT1vKDc3NDUwNyksZz1vKDM2MjIzOSk7dmFyIHY9bygzODMzNTEpLGY9byg3MDE1MDYpLHk9byg2ODI3NzkpLGI9bygyMDkzOSk7Y29uc3QgUz0oMCxyLmdldExvZ2dlcikoIkxpbmtpbmciKTt2YXIgdyxDOyFmdW5jdGlvbihlKXtlW2UuTm90Qm91bmQ9MF09Ik5vdEJvdW5kIixlW2UuQm91bmRUb1dpZGdldD0xXT0iQm91bmRUb1dpZGdldCIsZVtlLkJvdW5kVG9Nb2RlbD0yXT0iQm91bmRUb01vZGVsIn0od3x8KHc9e30pKSxmdW5jdGlvbihlKXtlW2UuU3ltYm9sPTBdPSJTeW1ib2wiLGVbZS5SZXNvbHV0aW9uPTFdPSJSZXNvbHV0aW9uIn0oQ3x8KEM9e30pKTtjbGFzcyBre2NvbnN0cnVjdG9yKGUsdCxvKXt0aGlzLndhdGNoZWRTeW1ib2xzPW5ldyBzLldhdGNoZWRWYWx1ZShbXSksdGhpcy53YXRjaGVkU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLnNlcmllc1Nob3J0U3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLnByb1N5bWJvbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5lbnN1cmVkUHJvU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRJbnRlcnZhbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkSW50cmFkYXk9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFNlY29uZHM9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFRpY2tzPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbj1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkUmFuZ2U9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcz1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5zeW1ib2xOYW1lc0xpc3Q9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTAsdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9bnVsbCx0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0PW51bGwsdGhpcy5fd2F0Y2hlZFN5bWJvbExpc3RlbmVyQm91bmQ9dGhpcy5fd2F0Y2hlZFN5bWJvbExpc3RlbmVyLmJpbmQodGhpcyksCnRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyQm91bmQ9dGhpcy5fd2F0Y2hlZEludGVydmFsTGlzdGVuZXIuYmluZCh0aGlzKSx0aGlzLl9zZXRHcm91cFN5bWJvbENhbmNlbGxhdGlvblRva2VuPXtjYW5jZWxsZWQ6ITF9LHRoaXMuX211dGVkPSExLHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldD0oKT0+e2NvbnN0IGU9dGhpcy5fY2hhcnRUb0JpbmQoKTtlIT09dGhpcy5fYm91bmRDaGFydFdpZGdldCYmKG51bGw9PT1lP3RoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0KCk6dGhpcy5iaW5kVG9DaGFydFdpZGdldChlKSl9LHRoaXMuX3VwZGF0ZUFsbEdyb3VwQ2hhcnRXaWRnZXRzPSgpPT57dGhpcy5fZGVzdHJveVN5bWJvbEludGVydmFsUHJvcGVydHlTdWJzY3JpcHRpb25zPy4oKTtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzKS52YWx1ZSgpLHQ9W10sbz1bXTtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPWkuc3ltYm9sV1YoKS5zcGF3bigpLG49aS5yZXNvbHV0aW9uV1YoKS5zcGF3bigpO2Uuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbEJ5UHJvcGVydHkuYmluZCh0aGlzLGkpKSxuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVJbnRlcnZhbEJ5UHJvcGVydHkuYmluZCh0aGlzLGkpKSx0LnB1c2goZSksby5wdXNoKG4pfXRoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz0oKT0+e3QuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxvLmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSksdGhpcy5fZGVzdHJveVN5bWJvbEludGVydmFsUHJvcGVydHlTdWJzY3JpcHRpb25zPXZvaWQgMH07Y29uc3QgaT10aGlzLndhdGNoZWRTeW1ib2wudmFsdWUoKTtlLmxlbmd0aD4xJiZ0aGlzLl9uZWVkQXBwbHlTeW1ib2woaSkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2woaSk7Y29uc3Qgcj10aGlzLndhdGNoZWRJbnRlcnZhbC52YWx1ZSgpO2UubGVuZ3RoPjEmJnRoaXMuX25lZWRBcHBseUludGVydmFsKHIpJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwSW50ZXJ2YWwociksdGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KCl9LHRoaXMuX2dyb3VwSW5kZXg9ZTtjb25zdCBpPShlLHQpPT57ZS5zdWJzY3JpYmUoKGU9PntvKCk9PT10aGlzJiZ0LnNldFZhbHVlKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pfTtpKHRoaXMud2F0Y2hlZFN5bWJvbHMsdC53YXRjaGVkU3ltYm9scyksaSh0aGlzLndhdGNoZWRTeW1ib2wsdC53YXRjaGVkU3ltYm9sKSxpKHRoaXMuc2VyaWVzU2hvcnRTeW1ib2wsdC5zZXJpZXNTaG9ydFN5bWJvbCksaSh0aGlzLnByb1N5bWJvbCx0LnByb1N5bWJvbCksaSh0aGlzLmVuc3VyZWRQcm9TeW1ib2wsdC5lbnN1cmVkUHJvU3ltYm9sKSxpKHRoaXMud2F0Y2hlZEludGVydmFsLHQud2F0Y2hlZEludGVydmFsKSxpKHRoaXMud2F0Y2hlZEludHJhZGF5LHQud2F0Y2hlZEludHJhZGF5KSxpKHRoaXMud2F0Y2hlZFNlY29uZHMsdC53YXRjaGVkU2Vjb25kcyksaSh0aGlzLndhdGNoZWRUaWNrcyx0LndhdGNoZWRUaWNrcyksaSh0aGlzLndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbix0LndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbiksaSh0aGlzLndhdGNoZWRSYW5nZSx0LndhdGNoZWRSYW5nZSksaSh0aGlzLndhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucyx0LndhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucyksaSh0aGlzLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcyx0LndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcyksaSh0aGlzLnN5bWJvbE5hbWVzTGlzdCx0LnN5bWJvbE5hbWVzTGlzdCksdGhpcy53YXRjaGVkU3ltYm9sLnN1YnNjcmliZSgoZT0+e3RoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJnRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQuaGFzTW9kZWwoKSYmdGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sU2FtZUFzQ3VycmVudChlKXx8dGhpcy5wcm9TeW1ib2wuc2V0VmFsdWUoZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSl9bXV0ZShlKXt0aGlzLl9tdXRlZD1lfWJpbmRUb0NoYXJ0V2lkZ2V0Q29sbGVjdGlvbihlKXt0aGlzLnVuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249ZSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldD1lLmFjdGl2ZUNoYXJ0V2lkZ2V0LnNwYXduKCksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXQuc3Vic2NyaWJlKHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCksdGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzPWUubGlua2luZ0dyb3Vwc0NoYXJ0cyh0aGlzLl9ncm91cEluZGV4KS5zcGF3bigpLHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxsR3JvdXBDaGFydFdpZGdldHMpLHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCgpLHRoaXMuX3VwZGF0ZUFsbEdyb3VwQ2hhcnRXaWRnZXRzKCk7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLGMuY29tYmluZSkoKCgpPT5lLmdldEFsbCgpLmZpbHRlcigoZT0+ZS5pc1Zpc2libGUoKSYmZS5oYXNNb2RlbCgpKSkubWFwKChlPT4oMCxkLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbCgpKSxlLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkpLm93bmVyc2hpcCgpKSkpLGUuY2hhcnRNb2RlbHMoKS53ZWFrUmVmZXJlbmNlKCksZS5sYXlvdXQud2Vha1JlZmVyZW5jZSgpKTtyZXR1cm4oMCxjLmFjY3VtdWxhdGUpKChlPT5lKSx0Lm93bmVyc2hpcCgpKX0oZSk7dC5zdWJzY3JpYmUoKGU9Pnt0aGlzLndhdGNoZWRTeW1ib2xzLnNldFZhbHVlKGUpfSkpLHRoaXMud2F0Y2hlZFN5bWJvbHMuc2V0VmFsdWUodC52YWx1ZSgpKX11bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCl7dGhpcy51bmJpbmRGcm9tQ2hhcnRXaWRnZXQoKSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249bnVsbCx0aGlzLl9hY3RpdmVDaGFydFdpZGdldD8uZGVzdHJveSgpLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0PW51bGwsCnRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cz8uZGVzdHJveSgpLHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cz1udWxsLHRoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz8uKCl9YmluZFRvQ2hhcnRXaWRnZXQoZSl7aWYodGhpcy51bmJpbmRGcm9tQ2hhcnRXaWRnZXQoKSx0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0PWUsZS5oYXNNb2RlbCgpKXJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRNb2RlbENyZWF0ZWQoZS5tb2RlbCgpKTtlLm1vZGVsQ3JlYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRNb2RlbENyZWF0ZWQsITApLHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTE7Y29uc3QgdD1lLm1haW5TZXJpZXNQcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQuc3ltYm9sLnZhbHVlKCkpLHRoaXMud2F0Y2hlZEludGVydmFsLnNldFZhbHVlKHQuaW50ZXJ2YWwudmFsdWUoKSksdGhpcy5fYm91bmRDaGFydFdpZGdldC5saW5raW5nR3JvdXBJbmRleCgpLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQpfXVuYmluZEZyb21DaGFydFdpZGdldCgpe2NvbnN0IGU9dGhpcy5fYm91bmRDaGFydFdpZGdldDtpZihudWxsIT09ZSl7c3dpdGNoKHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlKXtjYXNlIDE6ZS5tb2RlbENyZWF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKTticmVhaztjYXNlIDI6dGhpcy53YXRjaGVkU3ltYm9sLnVuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRTeW1ib2xMaXN0ZW5lckJvdW5kKTtjb25zdCB0PXRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKTt0LnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdC5zeW1ib2xFcnJvcigpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy53YXRjaGVkSW50ZXJ2YWwudW5zdWJzY3JpYmUodGhpcy5fd2F0Y2hlZEludGVydmFsTGlzdGVuZXJCb3VuZCksZGVsZXRlIHRoaXMud2F0Y2hlZFN5bWJvbC53cml0ZUxvY2t9ZS5saW5raW5nR3JvdXBJbmRleCgpLnVuc3Vic2NyaWJlKHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCksdGhpcy5fYm91bmRDaGFydFdpZGdldD1udWxsLHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTB9fWJvdW5kQ2hhcnRXaWRnZXQoKXtyZXR1cm4gdGhpcy5fYm91bmRDaGFydFdpZGdldH1tYWluU2VyaWVzKCl7aWYoIXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpdGhyb3cgbmV3IEVycm9yKCJDaGFydFdpZGdldCBpcyB1bmRlZmluZWQiKTtyZXR1cm4gdGhpcy5fYm91bmRDaGFydFdpZGdldC5tb2RlbCgpLm1haW5TZXJpZXMoKX1fd2F0Y2hlZFN5bWJvbExpc3RlbmVyKGUpe3RoaXMuX25lZWRBcHBseVN5bWJvbChlKSYmIXRoaXMuX211dGVkJiZ0aGlzLl9zZXRHcm91cFN5bWJvbChlKX1fdXBkYXRlU3ltYm9sQnlQcm9wZXJ0eShlLHQpe2NvbnN0IG89dGhpcy5fc3ltYm9sTG9jaygpO28mJnRoaXMuX25lZWRBcHBseVN5bWJvbCh0KSYmIXRoaXMuX211dGVkJiZ0aGlzLl9zZXRHcm91cFN5bWJvbCh0KSwob3x8ZT09PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpJiZ0aGlzLndhdGNoZWRTeW1ib2wuc2V0VmFsdWUodCl9X3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyKGUpe2NvbnN0IHQ9YS5JbnRlcnZhbC5ub3JtYWxpemUoZSk7dCYmdGhpcy5fbmVlZEFwcGx5SW50ZXJ2YWwodCkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBJbnRlcnZhbCh0KX1fdXBkYXRlSW50ZXJ2YWxCeVByb3BlcnR5KGUsdCl7Y29uc3Qgbz10aGlzLl9pbnRlcnZhbExvY2soKSxpPWEuSW50ZXJ2YWwubm9ybWFsaXplKHQpO28mJmkmJnRoaXMuX25lZWRBcHBseUludGVydmFsKGkpJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwSW50ZXJ2YWwoaSksKG98fGU9PT10aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KSYmdGhpcy53YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUoaT8/dCl9X3VwZGF0ZVNlcmllc1N5bWJvbEluZm8oKXt0aGlzLnNlcmllc1Nob3J0U3ltYm9sLnNldFZhbHVlKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fYm91bmRDaGFydFdpZGdldCkuZ2V0U3ltYm9sKCEwKSk7Y29uc3QgZT10aGlzLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7aWYoZSl7Y29uc3QgdD1lLnByb19uYW1lfHwhMTt0aGlzLnByb1N5bWJvbC5zZXRWYWx1ZSh0fHx0aGlzLndhdGNoZWRTeW1ib2wudmFsdWUoKSksdGhpcy5lbnN1cmVkUHJvU3ltYm9sLnNldFZhbHVlKHRoaXMucHJvU3ltYm9sLnZhbHVlKCkpLGUuYWxpYXNlcyYmdGhpcy5zeW1ib2xOYW1lc0xpc3Quc2V0VmFsdWUoZS5hbGlhc2VzKTtsZXQgbz0oMCxmLmFsbENoYXJ0U3R5bGVzKSgpOygoMCxsLmlzQ2xvc2VCYXNlZFN5bWJvbCkoZSl8fHRoaXMubWFpblNlcmllcygpLmludGVydmFsT2JqKCkudmFsdWUoKS5pczFUaWNrKCkpJiYobz1vLmZpbHRlcigoZT0+KDAsbC5pc1NpbmdsZVZhbHVlQmFzZWRTdHlsZSkoZSkpKSksImhsYyI9PT1lLnZpc2libGVfcGxvdHNfc2V0JiYobz1vLmZpbHRlcigoZT0+KDAsbC5pc0hMQ0Jhc2VkU3R5bGUpKGUpfHwoMCxsLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKSkpKSx0aGlzLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcy5zZXRWYWx1ZShvKSx0aGlzLndhdGNoZWRJbnRyYWRheS5zZXRWYWx1ZSghIWUuaGFzX2ludHJhZGF5KSx0aGlzLndhdGNoZWRTZWNvbmRzLnNldFZhbHVlKCEhZS5oYXNfc2Vjb25kcyksdGhpcy53YXRjaGVkVGlja3Muc2V0VmFsdWUoISgwLGwuaXNDbG9zZUJhc2VkU3ltYm9sKShlKSYmISFlWyJpcy10aWNrYmFycy1hdmFpbGFibGUiXSksdGhpcy53YXRjaGVkUmFuZ2Uuc2V0VmFsdWUoISgwLGwuaXNDbG9zZUJhc2VkU3ltYm9sKShlKSk7Y29uc3QgaT1lLmRhdGFfZnJlcXVlbmN5P2UuZGF0YV9mcmVxdWVuY3k6dm9pZCAwO3RoaXMud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnNldFZhbHVlKGkpfWVsc2UgdGhpcy53YXRjaGVkSW50cmFkYXkuc2V0VmFsdWUoITEpLAp0aGlzLndhdGNoZWRTZWNvbmRzLnNldFZhbHVlKCExKSx0aGlzLndhdGNoZWRUaWNrcy5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkUmFuZ2Uuc2V0VmFsdWUoITEpLHRoaXMubWFpblNlcmllcygpLmlzRmFpbGVkKCkmJnRoaXMuZW5zdXJlZFByb1N5bWJvbC5zZXRWYWx1ZSh0aGlzLnByb1N5bWJvbC52YWx1ZSgpKX1fb25DaGFydE1vZGVsQ3JlYXRlZChlKXtpZighdGhpcy5fYm91bmRDaGFydFdpZGdldCl0aHJvdyBuZXcgRXJyb3IoIkNoYXJ0V2lkZ2V0IGlzIHVuZGVmaW5lZCIpO3RoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTIsdGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQuc3ltYm9sV1YoKS52YWx1ZSgpKSx0aGlzLndhdGNoZWRTeW1ib2wuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRTeW1ib2xMaXN0ZW5lckJvdW5kKTtjb25zdCB0PWUubWFpblNlcmllcygpLmRhdGFFdmVudHMoKTt0LnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbyksdC5zeW1ib2xFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbyksdGhpcy5fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbygpLHRoaXMud2F0Y2hlZEludGVydmFsLnNldFZhbHVlKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQucmVzb2x1dGlvbldWKCkudmFsdWUoKSksdGhpcy53YXRjaGVkSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyQm91bmQpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQucmVhZE9ubHkoKSYmKHRoaXMud2F0Y2hlZFN5bWJvbC53cml0ZUxvY2s9ITApfV9jaGFydFRvQmluZCgpe2NvbnN0IGU9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uO3JldHVybiBudWxsPT09ZT9udWxsOmUuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCk9PT10aGlzLl9ncm91cEluZGV4P2UuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTpudWxsIT09dGhpcy5fYm91bmRDaGFydFdpZGdldCYmdGhpcy5fYm91bmRDaGFydFdpZGdldC5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCk9PT10aGlzLl9ncm91cEluZGV4P3RoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ6ZS5nZXRBbGwoKS5maW5kKChlPT5lLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKT09PXRoaXMuX2dyb3VwSW5kZXgpKT8/bnVsbH1fc3ltYm9sTG9jaygpe3JldHVybiEhdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPy5sb2NrLnN5bWJvbC52YWx1ZSgpfV9pbnRlcnZhbExvY2soKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5pbnRlcnZhbC52YWx1ZSgpfV9jaGFydHNGb3JMb2NrKGUpe3JldHVybigwPT09ZT90aGlzLl9zeW1ib2xMb2NrKCk6dGhpcy5faW50ZXJ2YWxMb2NrKCkpPygwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzKS52YWx1ZSgpOnRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ/W3RoaXMuX2JvdW5kQ2hhcnRXaWRnZXRdOltdfV9zZXRHcm91cFN5bWJvbChlKXt0aGlzLm11dGUoITApLHRoaXMuX3NldEdyb3VwU3ltYm9sQ2FuY2VsbGF0aW9uVG9rZW4uY2FuY2VsbGVkPSEwO2NvbnN0IHQ9dGhpcy5fc2V0R3JvdXBTeW1ib2xDYW5jZWxsYXRpb25Ub2tlbj17Y2FuY2VsbGVkOiExfTsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbikuc2V0U3ltYm9sKGUsdGhpcy5fZ3JvdXBJbmRleCwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpKS5maW5hbGx5KCgoKT0+e2lmKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJiF0LmNhbmNlbGxlZCl7Y29uc3QgdD10aGlzLl9ib3VuZENoYXJ0V2lkZ2V0Lm1vZGVsKCkubWFpblNlcmllcygpO3Quc3ltYm9sU2FtZUFzQ3VycmVudChlKXx8KHRoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0LnN5bWJvbCgpKSx0aGlzLnByb1N5bWJvbC5zZXRWYWx1ZSh0LnByb1N5bWJvbCgpKSl9fSkpLHRoaXMubXV0ZSghMSl9X25lZWRBcHBseVN5bWJvbChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0c0ZvckxvY2soMCksbz10LmZpbmQoKHQ9PnQuaGFzTW9kZWwoKSYmdC5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkmJnQubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZSkpKTtpZihvKXtjb25zdCBlPW8ubW9kZWwoKS5tYWluU2VyaWVzKCk7aWYodC5ldmVyeSgodD0+ZS5zeW1ib2xTYW1lQXNSZXNvbHZlZCh0LnN5bWJvbFdWKCkudmFsdWUoKSkpKSlyZXR1cm4hMX1yZXR1cm4gdC5zb21lKCh0PT50LnN5bWJvbFdWKCkudmFsdWUoKSE9PWUpKX1fc2V0R3JvdXBJbnRlcnZhbChlKXt0aGlzLm11dGUoITApLCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5zZXRSZXNvbHV0aW9uKGUsdGhpcy5fZ3JvdXBJbmRleCkuZmluYWxseSgoKCk9PntpZih0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KXtjb25zdCB0PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQucmVzb2x1dGlvbldWKCkudmFsdWUoKTthLkludGVydmFsLmlzRXF1YWwodCxlKXx8dGhpcy53YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUodCl9fSkpLHRoaXMubXV0ZSghMSl9X25lZWRBcHBseUludGVydmFsKGUpe3JldHVybiB0aGlzLl9jaGFydHNGb3JMb2NrKDEpLnNvbWUoKHQ9PiFhLkludGVydmFsLmlzRXF1YWwodC5yZXNvbHV0aW9uV1YoKS52YWx1ZSgpLGUpKSl9fWNvbnN0IFQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fd2F0Y2hlZFN5bWJvbHM9bmV3IHMuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl93YXRjaGVkU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl9zZXJpZXNTaG9ydFN5bWJvbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fcHJvU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSwKdGhpcy5fZW5zdXJlZFByb1N5bWJvbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZEludGVydmFsPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkSW50cmFkYXk9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRTZWNvbmRzPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkVGlja3M9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbj1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFJhbmdlPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnM9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcz1uZXcgcy5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3N5bWJvbE5hbWVzTGlzdD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPW51bGwsdGhpcy5fb25TeW1ib2xMaW5rQm91bmQ9dGhpcy5fb25TeW1ib2xMaW5rLmJpbmQodGhpcyksdGhpcy5fc2VhcmNoQ2hhcnRzPW51bGwsdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD1udWxsLHRoaXMuX3NlbGZFbWl0PSExLHRoaXMuX3ByZXZlbnRGZWVkQnlTeW1ib2w9ITEsdGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPTAsdGhpcy5fbGlua2luZ0dyb3Vwcz1uZXcgTWFwLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXg9bnVsbCx0aGlzLl91cGRhdGVMaW5raW5nR3JvdXBzPSgpPT57KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pLmFsbExpbmtpbmdHcm91cHMoKS52YWx1ZSgpLmZvckVhY2goKGU9PnRoaXMuX2xpbmtpbmdHcm91cChlKSkpLHRoaXMuX2xpbmtpbmdHcm91cHMuZm9yRWFjaCgoZT0+ZS51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KCkpKX0sdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnNldFZhbHVlKHRoaXMuX2xpbmtpbmdHcm91cChudWxsKSk7Y29uc3QgZT0oZSx0KT0+e2Uuc3Vic2NyaWJlKChlPT50KCkuc2V0VmFsdWUoZSkpLHtjYWxsV2l0aExhc3Q6ITB9KX07ZSh0aGlzLl93YXRjaGVkU3ltYm9scywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTeW1ib2xzKSksZSh0aGlzLl93YXRjaGVkU3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFN5bWJvbCkpLGUodGhpcy5fc2VyaWVzU2hvcnRTeW1ib2wsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS5zZXJpZXNTaG9ydFN5bWJvbCkpLGUodGhpcy5fcHJvU3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkucHJvU3ltYm9sKSksZSh0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkuZW5zdXJlZFByb1N5bWJvbCkpLGUodGhpcy5fd2F0Y2hlZEludGVydmFsLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZEludGVydmFsKSksZSh0aGlzLl93YXRjaGVkSW50cmFkYXksKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkSW50cmFkYXkpKSxlKHRoaXMuX3dhdGNoZWRTZWNvbmRzLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFNlY29uZHMpKSxlKHRoaXMuX3dhdGNoZWRUaWNrcywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRUaWNrcykpLGUodGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uKSksZSh0aGlzLl93YXRjaGVkUmFuZ2UsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkUmFuZ2UpKSxlKHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucykpLGUodGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzKSksZSh0aGlzLl9zeW1ib2xOYW1lc0xpc3QsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS5zeW1ib2xOYW1lc0xpc3QpKTtjb25zdCB0PWU9Pnt0aGlzLl93YXRjaGVkU3ltYm9sLnNldFZhbHVlKGUud2F0Y2hlZFN5bWJvbC52YWx1ZSgpKSx0aGlzLl9zZXJpZXNTaG9ydFN5bWJvbC5zZXRWYWx1ZShlLnNlcmllc1Nob3J0U3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Byb1N5bWJvbC5zZXRWYWx1ZShlLnByb1N5bWJvbC52YWx1ZSgpKSx0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLnNldFZhbHVlKGUuZW5zdXJlZFByb1N5bWJvbC52YWx1ZSgpKSx0aGlzLl93YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUoZS53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKSksdGhpcy5fd2F0Y2hlZEludHJhZGF5LnNldFZhbHVlKGUud2F0Y2hlZEludHJhZGF5LnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRTZWNvbmRzLnNldFZhbHVlKGUud2F0Y2hlZFNlY29uZHMudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFRpY2tzLnNldFZhbHVlKGUud2F0Y2hlZFRpY2tzLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbi5zZXRWYWx1ZShlLndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbi52YWx1ZSgpKSx0aGlzLl93YXRjaGVkUmFuZ2Uuc2V0VmFsdWUoZS53YXRjaGVkUmFuZ2UudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLnNldFZhbHVlKGUud2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcy5zZXRWYWx1ZShlLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcy52YWx1ZSgpKSwKdGhpcy5fc3ltYm9sTmFtZXNMaXN0LnNldFZhbHVlKGUuc3ltYm9sTmFtZXNMaXN0LnZhbHVlKCkpfTt0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAuc3Vic2NyaWJlKHQpLHQodGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkpLCgwLGIuc2V0TXV0ZUxpbmtpbmdHcm91cCkoKChlLHQpPT57ImFsbCI9PT1lP3RoaXMuX2xpbmtpbmdHcm91cHMuZm9yRWFjaCgoZT0+ZS5tdXRlKHQpKSk6dGhpcy5fbGlua2luZ0dyb3VwKGUpLm11dGUodCl9KSl9Z2V0IHN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN5bWJvbHN9Z2V0IHN5bWJvbCgpe3JldHVybiB0aGlzLl93YXRjaGVkU3ltYm9sfWdldCBwcm9TeW1ib2woKXtyZXR1cm4gdGhpcy5fcHJvU3ltYm9sLnJlYWRvbmx5KCl9c3ltYm9sU3luY0VuYWJsZWQoKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5zeW1ib2wudmFsdWUoKX1nZXQgZW5zdXJlZFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLnJlYWRvbmx5KCl9Z2V0IHN5bWJvbE5hbWVzTGlzdCgpe3JldHVybiB0aGlzLl9zeW1ib2xOYW1lc0xpc3QucmVhZG9ubHkoKX1nZXQgc2VyaWVzU2hvcnRTeW1ib2woKXtyZXR1cm4gdGhpcy5fc2VyaWVzU2hvcnRTeW1ib2wucmVhZG9ubHkoKX1nZXQgaW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZEludGVydmFsfWludGVydmFsU3luY0VuYWJsZWQoKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5pbnRlcnZhbC52YWx1ZSgpfWdldCBpbnRyYWRheSgpe3JldHVybiB0aGlzLl93YXRjaGVkSW50cmFkYXkucmVhZG9ubHkoKX1nZXQgc2Vjb25kcygpe3JldHVybiB0aGlzLl93YXRjaGVkU2Vjb25kcy5yZWFkb25seSgpfWdldCB0aWNrcygpe3JldHVybiB0aGlzLl93YXRjaGVkVGlja3MucmVhZG9ubHkoKX1nZXQgcmFuZ2UoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFJhbmdlLnJlYWRvbmx5KCl9Z2V0IHN1cHBvcnRlZFJlc29sdXRpb25zKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucy5yZWFkb25seSgpfWdldCBzdXBwb3J0ZWRDaGFydFN0eWxlcygpe3JldHVybiB0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMucmVhZG9ubHkoKX1nZXQgcHJldmVudEZlZWRCeVN5bWJvbCgpe3JldHVybiB0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sfWdldCBkYXRhRnJlcXVlbmN5UmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24ucmVhZG9ubHkoKX1hY3RpdmVMaW5raW5nR3JvdXAoKXtyZXR1cm4gdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnJlYWRvbmx5KCl9Z2V0Q2hhcnRXaWRnZXQoKXtyZXR1cm4gdGhpcy5hY3RpdmVMaW5raW5nR3JvdXAoKS52YWx1ZSgpLmJvdW5kQ2hhcnRXaWRnZXQoKX1iaW5kVG9DaGFydFdpZGdldENvbGxlY3Rpb24oZSl7dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPy5vbkFib3V0VG9CZURlc3Ryb3llZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl91bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCksdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWUsdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLm9uQWJvdXRUb0JlRGVzdHJveWVkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24pLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hbGxMaW5raW5nR3JvdXBzKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxpbmtpbmdHcm91cHMpLHRoaXMuX3VwZGF0ZUxpbmtpbmdHcm91cHMoKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleD1lLmFjdGl2ZUxpbmtpbmdHcm91cCgpLnNwYXduKCksdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXguc3Vic2NyaWJlKChlPT57dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnNldFZhbHVlKHRoaXMuX2xpbmtpbmdHcm91cChlKSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fbGlua2luZ0dyb3Vwcy5mb3JFYWNoKCh0PT50LmJpbmRUb0NoYXJ0V2lkZ2V0Q29sbGVjdGlvbihlKSkpfWJpbmRUb1NlYXJjaENoYXJ0cyhlKXt0aGlzLnVuYmluZEZyb21TZWFyY2hDaGFydHMoKSx0aGlzLl9zZWFyY2hDaGFydHM9ZSxlLm9uU2VhcmNoQnlTeW1ib2wuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZWFyY2hCeVN5bWJvbCksZS5sb2FkaW5nU3ltYm9sLnN1YnNjcmliZSgoZT0+eyExPT09ZSYmKHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcj0wKX0pKSx0aGlzLl93YXRjaGVkU3ltYm9sLnN1YnNjcmliZSh0aGlzLl9vblN5bWJvbExpbmtCb3VuZCl9dW5iaW5kRnJvbVNlYXJjaENoYXJ0cygpe3RoaXMuX3NlYXJjaENoYXJ0cyYmKHRoaXMuX3NlYXJjaENoYXJ0cy5vblNlYXJjaEJ5U3ltYm9sLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZWFyY2hCeVN5bWJvbCksdGhpcy5fd2F0Y2hlZFN5bWJvbC51bnN1YnNjcmliZSh0aGlzLl9vblN5bWJvbExpbmtCb3VuZCksdGhpcy5fc2VhcmNoQ2hhcnRzPW51bGwpfXNldFByZXZlbnRGZWVkQnlTeW1ib2woZSl7dGhpcy5fcHJldmVudEZlZWRCeVN5bWJvbD1lfXNldFN5bWJvbEFuZExvZ0luaXRpYXRvcihlLHQsbyxpLG4pe2NvbnN0IHI9dm9pZCAwIT09bj90aGlzLl9saW5raW5nR3JvdXAobi5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCkpOnRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKTt2YXIgcyxhLGwsYzsoci53YXRjaGVkU3ltYm9sLnZhbHVlKCkhPT1lfHxvKSYmKFMubG9nSW5mbyhgQ2hhbmdlIGxpbmtpbmcgc3ltYm9sIHRvICR7ZX0sIGluaXRpYXRvcjogJHt0fWApLHIud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZShlLG8pLGl8fG51bGw9PT10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb258fChzPXIubWFpblNlcmllcygpLGE9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmxheW91dC52YWx1ZSgpLGw9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLm1ldGFJbmZvLnVpZC52YWx1ZSgpfHwiIixjPXQsCndpbmRvdy51c2VyLmRvX25vdF90cmFja3x8cy5zeW1ib2xSZXNvbHZpbmdBY3RpdmUoKS5zdWJzY3JpYmUoKGU9PntpZihlKXJldHVybjtjb25zdCB0PXMuc3ltYm9sSW5mbygpO3QmJigwLGcuZ2V0VHJhY2tlcikoKS50aGVuKChlPT57bnVsbCE9PWUmJmUudHJhY2tDaGFydFN5bWJvbHMoe3N5bWJvbE5hbWU6dC5wcm9fbmFtZSxzeW1ib2xUeXBlOnQudHlwZSxyZXNvbHV0aW9uOnMuaW50ZXJ2YWwoKSxsYXlvdXRUeXBlOmEsY2hhcnRJZDpsLGNoYXJ0U3R5bGVzOl8uU1RZTEVfU0hPUlRfTkFNRVNbcy5zdHlsZSgpXSxvcGVuU291cmNlOmMscGxhdGZvcm06KDAscC5nZXRQbGF0Zm9ybSkoKSxpc0V4cGVydDp3aW5kb3cudXNlci5kZWNsYXJlZF9zdGF0dXM9PT1tLlVzZXJTdGF0dXMuUHJvfSl9KSl9KSx7b25jZTohMH0pKSl9c2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IoZSx0LG8saSl7Y29uc3Qgbj12b2lkIDAhPT1pP3RoaXMuX2xpbmtpbmdHcm91cChpLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKSk6dGhpcy5hY3RpdmVMaW5raW5nR3JvdXAoKS52YWx1ZSgpO2EuSW50ZXJ2YWwuaXNFcXVhbChuLndhdGNoZWRJbnRlcnZhbC52YWx1ZSgpLGUpfHwoUy5sb2dJbmZvKGBDaGFuZ2UgbGlua2luZyBpbnRlcnZhbCB0byAke2V9LCBpbml0aWF0b3I6ICR7dH1gKSxvfHwoMCx2LnRyYWNrSW50ZXJ2YWxDaGFuZ2luZykoZSx0KSxuLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShlKSl9X29uU2VhcmNoQnlTeW1ib2woZSl7aWYoIWUucmVzb2x2ZWRfc3ltYm9sKXRocm93IG5ldyBFcnJvcigibm8gcmVzb2x2ZWRfc3ltYm9sIik7dGhpcy5fc2VsZkVtaXQ9ITAsdGhpcy5fd2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZShlLnJlc29sdmVkX3N5bWJvbCksdGhpcy5fc2VsZkVtaXQ9ITF9X29uU3ltYm9sTGluayhlKXtpZighdGhpcy5fc2VsZkVtaXQpe2lmKCF0aGlzLl9zZWFyY2hDaGFydHMpe2NvbnN0IGU9Ik5vIHNlYXJjaCBjaGFydHMgZGVmaW5lZCI7dGhyb3cgUy5sb2dFcnJvcihlKSxuZXcgRXJyb3IoZSl9dGhpcy5fcHJldmVudEZlZWRCeVN5bWJvbHx8dGhpcy5fbG9hZFNlYXJjaENoYXJ0cyhlKX19X2xvYWRTZWFyY2hDaGFydHMoZSl7aWYoIXRoaXMuX3NlYXJjaENoYXJ0cyl7Y29uc3QgZT0iTm8gc2VhcmNoIGNoYXJ0cyBkZWZpbmVkIjt0aHJvdyBTLmxvZ0Vycm9yKGUpLG5ldyBFcnJvcihlKX1pZih0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKXJldHVybiB2b2lkKHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcjwxMDAmJih0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXIrKyx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKGUpKSk7Y29uc3QgdD1lPT50aGlzLl9zZWFyY2hDaGFydHM/KCEwPT09dGhpcy5fc2VhcmNoQ2hhcnRzLmxvYWRpbmdTeW1ib2wudmFsdWUoKT90aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXI8MTAwJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyKyssdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD0oMCxpLmRlZmF1bHQpKHQsMmUzKSx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKGUpKTp0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkPW51bGwsdGhpcy5fc2VhcmNoQ2hhcnRzLmZlZWRCeVN5bWJvbC5jYWxsKHRoaXMuX3NlYXJjaENoYXJ0cyxlKSk6KCk9Pnt9OyEwPT09dGhpcy5fc2VhcmNoQ2hhcnRzLmxvYWRpbmdTeW1ib2wudmFsdWUoKT90aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXI8MTAwJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyKyssdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD0oMCxpLmRlZmF1bHQpKHQsMmUzKSx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKGUpKTp0aGlzLl9zZWFyY2hDaGFydHMuZmVlZEJ5U3ltYm9sKGUpfV9saW5raW5nR3JvdXAoZSl7bGV0IHQ9dGhpcy5fbGlua2luZ0dyb3Vwcy5nZXQoZSk7aWYodm9pZCAwPT09dCl7Y29uc3Qgbz17d2F0Y2hlZFN5bWJvbHM6dGhpcy5fd2F0Y2hlZFN5bWJvbHMsd2F0Y2hlZFN5bWJvbDp0aGlzLl93YXRjaGVkU3ltYm9sLHNlcmllc1Nob3J0U3ltYm9sOnRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLHByb1N5bWJvbDp0aGlzLl9wcm9TeW1ib2wsZW5zdXJlZFByb1N5bWJvbDp0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLHdhdGNoZWRJbnRlcnZhbDp0aGlzLl93YXRjaGVkSW50ZXJ2YWwsd2F0Y2hlZEludHJhZGF5OnRoaXMuX3dhdGNoZWRJbnRyYWRheSx3YXRjaGVkU2Vjb25kczp0aGlzLl93YXRjaGVkU2Vjb25kcyx3YXRjaGVkVGlja3M6dGhpcy5fd2F0Y2hlZFRpY2tzLHdhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbjp0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sd2F0Y2hlZFJhbmdlOnRoaXMuX3dhdGNoZWRSYW5nZSx3YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnM6dGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLHdhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlczp0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsc3ltYm9sTmFtZXNMaXN0OnRoaXMuX3N5bWJvbE5hbWVzTGlzdH07dD1uZXcgayhlLG8sKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKSkpLHRoaXMuX2xpbmtpbmdHcm91cHMuc2V0KGUsdCksdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uJiZ0LmJpbmRUb0NoYXJ0V2lkZ2V0Q29sbGVjdGlvbih0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pfXJldHVybiB0fV91bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCl7bnVsbCE9PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbiYmKHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4Py5kZXN0cm95KCksdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXg9bnVsbCx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpKSksCnRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hbGxMaW5raW5nR3JvdXBzKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcyksdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPW51bGwpfX07e2NvbnN0IGU9KDAsdS5nZXRGcmVzaEluaXREYXRhKSgpLnN5bWJvbEluZm8sdD1lP2UucHJvX3N5bWJvbDpoLmdldFZhbHVlKCJlZGl0Y2hhcnQubW9kZWwuc3ltYm9sIiwoMCx5LmdldERlZmF1bHRTeW1ib2wpKCkpO1Quc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKHQsImluaXRpYWwgZGF0YSIsITEsITApfXdpbmRvdy5UcmFkaW5nVmlld0FwaXx8KHdpbmRvdy5UcmFkaW5nVmlld0FwaT17bGlua2luZzpUfSl9LDIwOTM5KGUsdCxvKXsidXNlIHN0cmljdCI7bGV0IGk7ZnVuY3Rpb24gbihlKXtpPWV9by5kKHQse3NldE11dGVMaW5raW5nR3JvdXA6KCk9Pm59KX0sNDU5NDg4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3Bvc2l0aW9uOigpPT5yfSk7dmFyIGk9bygxMzg2MzgpO2Z1bmN0aW9uIG4oZSl7aWYoIWUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpcmV0dXJue3RvcDowLGxlZnQ6MH07Y29uc3QgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89KDAsaS5lbnN1cmVOb3ROdWxsKShlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcpO3JldHVybnt0b3A6dC50b3Arby5wYWdlWU9mZnNldCxsZWZ0OnQubGVmdCtvLnBhZ2VYT2Zmc2V0fX1mdW5jdGlvbiByKGUpe2NvbnN0IHQ9Z2V0Q29tcHV0ZWRTdHlsZShlKTtsZXQgbyxpPXt0b3A6MCxsZWZ0OjB9O2lmKCJmaXhlZCI9PT10LnBvc2l0aW9uKW89ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlbHNle289bihlKTtjb25zdCB0PWUub3duZXJEb2N1bWVudDtsZXQgcj1lLm9mZnNldFBhcmVudHx8dC5kb2N1bWVudEVsZW1lbnQ7Zm9yKDtyJiYocj09PXQuYm9keXx8cj09PXQuZG9jdW1lbnRFbGVtZW50KSYmInN0YXRpYyI9PT1nZXRDb21wdXRlZFN0eWxlKHIpLnBvc2l0aW9uOylyPXIucGFyZW50RWxlbWVudDtyJiZyIT09ZSYmMT09PXIubm9kZVR5cGUmJihpPW4ociksaS50b3ArPXBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShyKS5ib3JkZXJUb3BXaWR0aCksaS5sZWZ0Kz1wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUocikuYm9yZGVyTGVmdFdpZHRoKSl9cmV0dXJue3RvcDpvLnRvcC1pLnRvcC1wYXJzZUZsb2F0KHQubWFyZ2luVG9wKSxsZWZ0Om8ubGVmdC1pLmxlZnQtcGFyc2VGbG9hdCh0Lm1hcmdpbkxlZnQpfX19LDM2MjIzOShlLHQsbyl7InVzZSBzdHJpY3QiO2FzeW5jIGZ1bmN0aW9uIGkoKXtpZighd2luZG93LnVzZXJ8fHdpbmRvdy51c2VyLmRvX25vdF90cmFjaylyZXR1cm4gbnVsbDtjb25zdHtnZXRUcmFja2VySW5zdGFuY2U6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW28uZSg3MDY0NCksby5lKDY2Mzk5KV0pLnRoZW4oby5iaW5kKG8sMTU4MzMyKSk7cmV0dXJuIGUoKX1vLmQodCx7Z2V0VHJhY2tlcjooKT0+aX0pfSwzNTUxMjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c3BhcnNlVXNlcnNUcmFja2luZ0NvZWZmaWNpZW50OigpPT5hfSk7dmFyIGk9byg5MzIzNjUpO2NvbnN0IG49InNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCIscj0oMCxvKDE2MDI5NikuaXNQcm9kKSgpP251bGw6aS5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pO2xldCBzPW51bGwhPT1yP3BhcnNlRmxvYXQocik6bnVsbDtudWxsIT09cyYmKCFOdW1iZXIuaXNGaW5pdGUocyl8fHM8MHx8cz4xKSYmKHM9bnVsbCxpLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obikpO2NvbnN0IGE9cz8/LjF9LDM4MzM1MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt0cmFja0ludGVydmFsQ2hhbmdpbmc6KCk9PnN9KTt2YXIgaT1vKDg1NjE5Niksbj1vKDM2MjIzOSkscj1vKDM1NTEyMyk7ZnVuY3Rpb24gcyhlLHQpe3dpbmRvdy51c2VyLmRvX25vdF90cmFja3x8KDAsaS5zaG91bGRBZmZlY3RVc2VyKSgiSW50ZXJ2YWxDaGFuZ2luZyIsci5zcGFyc2VVc2Vyc1RyYWNraW5nQ29lZmZpY2llbnQpJiYoMCxuLmdldFRyYWNrZXIpKCkudGhlbigobz0+e251bGwhPT1vJiZvLnRyYWNrQ2hhcnRJbnRlcnZhbENoYW5naW5nKGUsdCl9KSl9fSwxNTI3MTcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c3luY1VzZXJDb252ZXJzaW9uRGF0YTooKT0+dSxzeW5jVXNlckRhdGE6KCk9Pmh9KTt2YXIgaT1vKDIyMTA2MSksbj1vKDM4NjkzMSkscj1vKDgyNzAxKSxzPW8oMzg0MDE3KSxhPW8oNTI0MDY5KTtjb25zdCBsPSgwLGkuZ2V0TG9nZ2VyKSgiVXNlci5TeW5jIik7ZnVuY3Rpb24gYyhlKXtyZXR1cm5gJHtlfV8ke3dpbmRvdy51c2VyJiZ3aW5kb3cudXNlci51c2VybmFtZXx8IiJ9YH1mdW5jdGlvbiBkKGUpe2NvbnN0e3NvdXJjZTp0LGlzQXV0aGVudGljYXRlZDpvLHByb1BsYW46aSxvZmZlcnM6cyxmaXJlTG9naW5DaGFuZ2U6YT0hMH09ZTtpIT09d2luZG93LnVzZXIucHJvX3BsYW4mJih3aW5kb3cudXNlci5wcm9fcGxhbj1pLHdpbmRvdy51c2VyLmlzX3Bybz1Cb29sZWFuKGkpLCgwLG4udHJhY2tFdmVudCkoIlN5bmMgVXNlciBEYXRhIiwiRGlmZmVyZW50IFBybyBQbGFuIixjKHQpKSksbyE9PXdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9byxhJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5maXJlKCksKDAsbi50cmFja0V2ZW50KSgiU3luYyBVc2VyIERhdGEiLCJEaWZmZXJlbnQgQXV0aCIsYyh0KSkpLHMmJnIuYXZhaWxhYmxlT2ZmZXJzLnNldEluaXRpYWwocyl9YXN5bmMgZnVuY3Rpb24gaChlKXt0cnl7ZCh7c291cmNlOmUsaXNBdXRoZW50aWNhdGVkOiEwLHByb1BsYW46KGF3YWl0KDAsYS5nZXRQcm9QbGFuRGV0YWlsc0ZvclVzZXIpKCkpLnByb19wbGFufSl9Y2F0Y2godCl7IWZ1bmN0aW9uKGUsdCl7NDAzPT09dC5zdGF0dXMmJlsibm90X2F1dGhlbnRpY2F0ZWQiLCJsb2dpbl9yZXF1aXJlZCJdLmluY2x1ZGVzKHQudHlwZXx8IiIpP2Qoe3NvdXJjZTplLGlzQXV0aGVudGljYXRlZDohMSxwcm9QbGFuOnZvaWQgMH0pOmwubG9nRXJyb3IodC5tZXNzYWdlKX0oZSx0KX19CmFzeW5jIGZ1bmN0aW9uIHUoZSx0PSEwKXtjb25zdCBvPW5ldyBVUkwoIi9wcmljaW5nLyIsd2luZG93LmxvY2F0aW9uLm9yaWdpbiksaT1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO2kuaGFzKCJfdGVzdF9jb3VudHJ5IikmJm8uc2VhcmNoUGFyYW1zLmFwcGVuZCgiX3Rlc3RfY291bnRyeSIsaS5nZXQoIl90ZXN0X2NvdW50cnkiKT8/IiIpLG8uc2VhcmNoUGFyYW1zLmFwcGVuZCgiY29tcG9uZW50LWRhdGEtb25seSIsIjEiKTtjb25zdCBuPWF3YWl0KDAscy5mZXRjaCkoby5ocmVmKSxyPWF3YWl0IG4uanNvbigpO3JldHVybiBkKHtzb3VyY2U6ZSxpc0F1dGhlbnRpY2F0ZWQ6ci5pc19hdXRoZW50aWNhdGVkLHByb1BsYW46ci51c2VyLnByb19wbGFuLGZpcmVMb2dpbkNoYW5nZTp0LG9mZmVyczpyLnVzZXIuYXZhaWxhYmxlX29mZmVyc30pLHJ9fSw4MTA0MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTdGRUaGVtZTooKT0+aS5TdGRUaGVtZX0pO3ZhciBpPW8oMjQ3OTAxKX0sMjM0OTY0KGUsdCxvKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gaShlLHQpe2NvbnN0IGk9YXdhaXQgUHJvbWlzZS5hbGwoW28uZSgyODgzMSksby5lKDg0MzA2KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoMjAzNTQpLG8uZSgxMzQ5Miksby5lKDM3NzQ2KSxvLmUoMTIzODUpLG8uZSg4MTA3Miksby5lKDk0MjMyKSxvLmUoMTk1OTUpLG8uZSgxOTc4Nyksby5lKDg1NzkpLG8uZSgxNzA4Nyksby5lKDU3MzAwKSxvLmUoMTIwNTEpLG8uZSg4OTU1OCksby5lKDEwMzY2KSxvLmUoNDA5MTQpLG8uZSg5MDk2MCksby5lKDg3NzQwKSxvLmUoNzg4OTkpLG8uZSg2NzIxMiksby5lKDgwOTE1KSxvLmUoMTUzNCksby5lKDI4MTc2KSxvLmUoMzk2MDkpLG8uZSg1NTIyOSksby5lKDY1MTAwKSxvLmUoNDI3MDYpXSkudGhlbihvLmJpbmQobyw1MDYyNzUpKTtyZXR1cm4gaS5zaG93U2ltcGxlRGlhbG9nKGUsaS5yZW5hbWVNb2R1bGUsdCl9YXN5bmMgZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9YXdhaXQgUHJvbWlzZS5hbGwoW28uZSgyODgzMSksby5lKDg0MzA2KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoMjAzNTQpLG8uZSgxMzQ5Miksby5lKDM3NzQ2KSxvLmUoMTIzODUpLG8uZSg4MTA3Miksby5lKDk0MjMyKSxvLmUoMTk1OTUpLG8uZSgxOTc4Nyksby5lKDg1NzkpLG8uZSgxNzA4Nyksby5lKDU3MzAwKSxvLmUoMTIwNTEpLG8uZSg4OTU1OCksby5lKDEwMzY2KSxvLmUoNDA5MTQpLG8uZSg5MDk2MCksby5lKDg3NzQwKSxvLmUoNzg4OTkpLG8uZSg2NzIxMiksby5lKDgwOTE1KSxvLmUoMTUzNCksby5lKDI4MTc2KSxvLmUoMzk2MDkpLG8uZSg1NTIyOSksby5lKDY1MTAwKSxvLmUoNDI3MDYpXSkudGhlbihvLmJpbmQobyw1MDYyNzUpKTtyZXR1cm4gaS5zaG93U2ltcGxlRGlhbG9nKGUsaS5jb25maXJtTW9kdWxlLHQpfWFzeW5jIGZ1bmN0aW9uIHIoZSx0KXtjb25zdCBpPWF3YWl0IFByb21pc2UuYWxsKFtvLmUoMjg4MzEpLG8uZSg4NDMwNiksby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMTM0OTIpLG8uZSgzNzc0Niksby5lKDEyMzg1KSxvLmUoODEwNzIpLG8uZSg5NDIzMiksby5lKDE5NTk1KSxvLmUoMTk3ODcpLG8uZSg4NTc5KSxvLmUoMTcwODcpLG8uZSg1NzMwMCksby5lKDEyMDUxKSxvLmUoODk1NTgpLG8uZSgxMDM2Niksby5lKDQwOTE0KSxvLmUoOTA5NjApLG8uZSg4Nzc0MCksby5lKDc4ODk5KSxvLmUoNjcyMTIpLG8uZSg4MDkxNSksby5lKDE1MzQpLG8uZSgyODE3Niksby5lKDM5NjA5KSxvLmUoNTUyMjkpLG8uZSg2NTEwMCksby5lKDQyNzA2KV0pLnRoZW4oby5iaW5kKG8sNTA2Mjc1KSk7cmV0dXJuIGkuc2hvd1NpbXBsZURpYWxvZyhlLGkud2FybmluZ01vZHVsZSx0KX1vLmQodCx7c2hvd0NvbmZpcm06KCk9Pm4sc2hvd1JlbmFtZTooKT0+aSxzaG93V2FybmluZzooKT0+cn0pfSw2NTQ2MzYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7cnVuT3JTaWduSW46KCk9PnJ9KTt2YXIgaT1vKDkzMDIzMSk7byg2MjE5MjYpO2NvbnN0IG49KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik7ZnVuY3Rpb24gcihlLHQpe24/ZSgpOndpbmRvdy5ydW5PclNpZ25JbihlLHQpfX0sODMyMzkyKGUsdCxvKXsidXNlIHN0cmljdCI7byg3OTUzODMpLG8oNDgyNTA0KTt2YXIgaT1vKDM0NDc4NSksbj1vKDkzMDU2Nikscj0obyg4MjkxODApLG8oODA0NjE5KSxvKDEzODYzOCkpLHM9byg3NDgwMDIpLGE9byg2NTM4MTcpLGw9byg3NDI1NzcpLGM9byg1Mjg4NjQpO3ZhciBkLGgsdT1vKDYwMTU4NyksXz1vKDE4NTI3MSk7IWZ1bmN0aW9uKGUpe2UuQm9uZHM9ImJvbmRzIixlLkNmZD0iY2ZkIixlLkNvbnRpbnVvdXNGdXR1cmVzPSJjb250aW51b3VzX2Z1dHVyZXMiLGUuQ3J5cHRvPSJjcnlwdG8iLGUuQ3J5cHRvQnlTeW1ib2w9ImNyeXB0b19ieV9zeW1ib2wiLGUuQ3J5cHRvTWt0PSJjcnlwdG9fbWt0IixlLkNyeXB0b01rdEJ5U3ltYm9sPSJjcnlwdG9fbWt0X2J5X3N5bWJvbCIsZS5DdXJyZW5jeT0iY3VycmVuY3kiLGUuRm9yZXg9ImZvcmV4IixlLkZ1dHVyZXM9ImZ1dHVyZXMiLGUuSW5kdXN0cnk9ImluZHVzdHJ5IixlLlBvc3RNYXJrZXQ9InBvc3RfbWFya2V0IixlLlByZU1hcmtldD0icHJlX21hcmtldCIsZS5TZWN0b3I9InNlY3RvciIsZS5TdG9jaz0ic3RvY2siLGUuU3RvY2tDb21wYWN0PSJzdG9ja19jb21wYWN0In0oZHx8KGQ9e30pKSxmdW5jdGlvbihlKXtlLkJhc2VDdXJyZW5jeUxvZ29JZD0iYmFzZV9jdXJyZW5jeV9sb2dvaWQiLGUuQ2hhbmdlPSJjaGFuZ2UiLGUuQ291bnRyeT0iY291bnRyeSIsZS5DdXJyZW5jeUxvZ29JZD0iY3VycmVuY3lfbG9nb2lkIixlLkRlc2NyaXB0aW9uPSJkZXNjcmlwdGlvbiIsZS5JbmR1c3RyeT0iaW5kdXN0cnkiLGUuTG9nb0lkPSJsb2dvaWQiLGUuTmFtZT0ibmFtZSIsZS5QZXJmb3JtYW5jZTFNPSJQZXJmLjFNIixlLlBlcmZvcm1hbmNlM009IlBlcmYuM00iLGUuUGVyZm9ybWFuY2U2TT0iUGVyZi42TSIsCmUuUGVyZm9ybWFuY2VXPSJQZXJmLlciLGUuUGVyZm9ybWFuY2VZPSJQZXJmLlkiLGUuUGVyZm9ybWFuY2VZVEQ9IlBlcmYuWVREIixlLlNlY3Rvcj0ic2VjdG9yIn0oaHx8KGg9e30pKTtjb25zdCBwPVt7aWQ6Im92ZXJ2aWV3Iix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1NjgzNDYpKSxzY3JlZW5lclR5cGVDb250ZW50OntzdG9jazp7c3RvY2s6W2guTG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiUmVjb21tZW5kLkFsbCIsInZvbHVtZSIsIlZhbHVlLlRyYWRlZCIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwibnVtYmVyX29mX2VtcGxveWVlcyIsaC5TZWN0b3IsImRlc2NyaXB0aW9uIiwidHlwZSJdLF9zZWN0b3I6W2guTG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiUmVjb21tZW5kLkFsbCIsInZvbHVtZSIsIlZhbHVlLlRyYWRlZCIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImluZHVzdHJ5IiwiZGVzY3JpcHRpb24iLCJ0eXBlIl19LGZvcmV4OltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiYmlkIiwiYXNrIiwiaGlnaCIsImxvdyIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG86W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJjbG9zZSIsImNoYW5nZSIsImNoYW5nZV9hYnMiLCJoaWdoIiwibG93Iiwidm9sdW1lIiwiMjRoX3ZvbHw1IiwiMjRoX3ZvbF9jaGFuZ2V8NSIsIlJlY29tbWVuZC5BbGwiLCJleGNoYW5nZSIsImRlc2NyaXB0aW9uIl0sY3J5cHRvX21rdDpbaC5CYXNlQ3VycmVuY3lMb2dvSWQsaC5TZWN0b3IsIm1hcmtldF9jYXBfY2FsYyIsIm1hcmtldF9jYXBfZGlsdXRlZF9jYWxjIiwiY2xvc2UiLCJ0b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmciLCJ0b3RhbF9zaGFyZXNfZGlsdXRlZCIsInRvdGFsX3ZhbHVlX3RyYWRlZCIsImNoYW5nZSJdLGNyeXB0b19ta3RfYnlfc3ltYm9sOltoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsInZvbHVtZSIsIlJlY29tbWVuZC5BbGwiLCJleGNoYW5nZSIsImRlc2NyaXB0aW9uIl0sY3J5cHRvX2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsImV4Y2hhbmdlIiwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsInZvbHVtZSIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiJdLGZ1dHVyZXM6W2guTG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiJdLGNvbnRpbnVvdXNfZnV0dXJlczpbaC5Mb2dvSWQsaC5OYW1lLCJleHBpcmF0aW9uIiwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiJdLGNmZDpbaC5Mb2dvSWQsaC5OYW1lLCJjbG9zZSIsImNoYW5nZSIsImNoYW5nZV9hYnMiLCJoaWdoIiwibG93IiwiUmVjb21tZW5kLkFsbCIsImRlc2NyaXB0aW9uIl0sc2VjdG9yOlsiZGVzY3JpcHRpb24iLCJtYXJrZXRfY2FwX2Jhc2ljIiwiZGl2aWRlbmRfeWllbGRfcmVjZW50IiwiY2hhbmdlIiwidm9sdW1lIiwiZWxlbWVudHMiLCJiYXNpY19lbGVtZW50cyJdLGluZHVzdHJ5OlsiZGVzY3JpcHRpb24iLCJtYXJrZXRfY2FwX2Jhc2ljIiwiZGl2aWRlbmRfeWllbGRfcmVjZW50IiwiY2hhbmdlIiwidm9sdW1lIixoLlNlY3RvciwiZWxlbWVudHMiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJjbG9zZSIsImNoYW5nZSIsImNoYW5nZV9hYnMiLCJoaWdoIiwibG93IiwiUmVjb21tZW5kLkFsbCIsImRlc2NyaXB0aW9uIl0sYm9uZHM6W2guTG9nb0lkLGguTmFtZSwiY291cG9uIiwibWF0dXJpdHlfZGF0ZSIsImNsb3NlIiwiY2hhbmdlIiwiY2hhbmdlX2FicyIsImhpZ2giLCJsb3ciLCJSZWNvbW1lbmQuQWxsIiwiZGVzY3JpcHRpb24iXSxwcmVfbWFya2V0OltoLkxvZ29JZCxoLk5hbWUsInByZW1hcmtldF9jbG9zZSIsInByZW1hcmtldF9jaGFuZ2VfYWJzIiwicHJlbWFya2V0X2NoYW5nZSIsInByZW1hcmtldF92b2x1bWUiLCJwcmVtYXJrZXRfZ2FwIiwiY2xvc2UiLCJjaGFuZ2UiLCJ2b2x1bWUiLCJtYXJrZXRfY2FwX2Jhc2ljIl0scG9zdF9tYXJrZXQ6W2guTG9nb0lkLGguTmFtZSwicG9zdG1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2hhbmdlX2FicyIsInBvc3RtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF92b2x1bWUiLCJjbG9zZSIsImNoYW5nZSIsInZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiXX0sY29udGVudDpbXSxzY3JlZW5lcnM6W2QuU3RvY2ssZC5TdG9ja0NvbXBhY3QsZC5Gb3JleCxkLkZ1dHVyZXMsZC5Db250aW51b3VzRnV0dXJlcyxkLkNmZCxkLkNyeXB0byxkLkNyeXB0b01rdCxkLkNyeXB0b01rdEJ5U3ltYm9sLGQuQ3J5cHRvQnlTeW1ib2wsZC5TZWN0b3IsZC5JbmR1c3RyeSxkLkN1cnJlbmN5LGQuQm9uZHMsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9LHtpZDoicGVyZm9ybWFuY2UiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDExMTM0MSkpLHNjcmVlbmVyVHlwZUNvbnRlbnQ6e3N0b2NrOltoLkxvZ29JZCxoLk5hbWUsImRlc2NyaXB0aW9uIiwidHlwZSIsImNoYW5nZS4xIiwiY2hhbmdlLjUiLCJjaGFuZ2UuMTUiLCJjaGFuZ2UuNjAiLCJjaGFuZ2UuMjQwIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlBlcmYuNVkiLCJQZXJmLkFsbCIsImJldGFfMV95ZWFyIiwiVm9sYXRpbGl0eS5EIl0sCmZ1dHVyZXM6W2guTG9nb0lkLGguTmFtZSwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlZvbGF0aWxpdHkuRCJdLGNvbnRpbnVvdXNfZnV0dXJlczpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sZm9yZXg6W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiUGVyZi41WSIsIlBlcmYuQWxsIiwiVm9sYXRpbGl0eS5EIl0sY3J5cHRvOltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlBlcmYuNVkiLCJQZXJmLkFsbCIsIlZvbGF0aWxpdHkuRCJdLGNyeXB0b19ta3Q6W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguU2VjdG9yLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sY3J5cHRvX21rdF9ieV9zeW1ib2w6W2guQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sY3J5cHRvX2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsImV4Y2hhbmdlIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlZvbGF0aWxpdHkuRCJdLGNmZDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sc2VjdG9yOlsiZGVzY3JpcHRpb24iLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIl0saW5kdXN0cnk6WyJkZXNjcmlwdGlvbiIsImNoYW5nZSIsImNoYW5nZS4xVyIsImNoYW5nZS4xTSIsIlBlcmYuM00iLCJQZXJmLjZNIiwiUGVyZi5ZVEQiLCJQZXJmLlkiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sYm9uZHM6W2guTG9nb0lkLGguTmFtZSwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlZvbGF0aWxpdHkuRCJdfSxjb250ZW50OltdLHNjcmVlbmVyczpbZC5TdG9jayxkLlN0b2NrQ29tcGFjdCxkLkZvcmV4LGQuRnV0dXJlcyxkLkNvbnRpbnVvdXNGdXR1cmVzLGQuQ2ZkLGQuQ3J5cHRvLGQuQ3J5cHRvTWt0LGQuQ3J5cHRvQnlTeW1ib2wsZC5DcnlwdG9Na3RCeVN5bWJvbCxkLlNlY3RvcixkLkluZHVzdHJ5LGQuQ3VycmVuY3ksZC5Cb25kcyxkLlByZU1hcmtldCxkLlBvc3RNYXJrZXRdLHNob3dPbldpZGdldDohMH0se2lkOiJleHRlbmRlZF9ob3VycyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzIxNDQxKSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInByZW1hcmtldF9jbG9zZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwcmVtYXJrZXRfZ2FwIiwicHJlbWFya2V0X3ZvbHVtZSIsImNsb3NlIiwiY2hhbmdlIiwidm9sdW1lIiwicG9zdG1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF92b2x1bWUiLCJSZWNvbW1lbmQuQWxsIiwibWFya2V0X2NhcF9iYXNpYyJdLHNjcmVlbmVyczpbZC5TdG9ja10sc2hvd09uV2lkZ2V0OiExfSx7aWQ6InZhbHVhdGlvbiIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzk2MjU2KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjbG9zZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJwcmljZV9yZXZlbnVlX3R0bSIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJsYXN0X2FubnVhbF9lcHMiLCJlbnRlcnByaXNlX3ZhbHVlX2ViaXRkYV90dG0iLCJlbnRlcnByaXNlX3ZhbHVlX2ZxIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nX2Z1bmRhbWVudGFsIl0sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuUHJlTWFya2V0LGQuUG9zdE1hcmtldF0sc2hvd09uV2lkZ2V0OiEwfSx7aWQ6ImRpdmlkZW5kcyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNjU5MjY3KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjbG9zZSIsImRpdmlkZW5kX3lpZWxkX3JlY2VudCIsImRpdmlkZW5kc19wYWlkIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5Il0sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuUHJlTWFya2V0LGQuUG9zdE1hcmtldF0sc2hvd09uV2lkZ2V0OiEwfSx7aWQ6Im1hcmdpbnMiLHRpdGxlOl8udChudWxsLHtjb250ZXh0OiJzY3JlZW5lciJ9LG8oMjA1OSkpLApjb250ZW50OltoLkxvZ29JZCxoLk5hbWUsImRlc2NyaXB0aW9uIiwidHlwZSIsImdyb3NzX21hcmdpbiIsIm9wZXJhdGluZ19tYXJnaW4iLCJwcmVfdGF4X21hcmdpbiIsImFmdGVyX3RheF9tYXJnaW4iXSxzY3JlZW5lcnM6W2QuU3RvY2ssZC5TdG9ja0NvbXBhY3QsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9LHtpZDoiaW5jb21lX3N0YXRlbWVudCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODQ3NTQ0KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJiYXNpY19lcHNfbmV0X2luY29tZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJlYXJuaW5nc19wZXJfc2hhcmVfZGlsdXRlZF90dG0iLCJlYml0ZGEiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXQiLCJ0b3RhbF9yZXZlbnVlIiwibGFzdF9hbm51YWxfZXBzIiwibGFzdF9hbm51YWxfcmV2ZW51ZSIsIm5ldF9pbmNvbWUiXSxzY3JlZW5lcnM6W2QuU3RvY2ssZC5TdG9ja0NvbXBhY3QsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9LHtpZDoiYmFsYW5jZV9zaGVldCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTQ0MTU1KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjdXJyZW50X3JhdGlvIiwiZGVidF90b19lcXVpdHkiLCJuZXRfZGVidCIsInF1aWNrX3JhdGlvIiwidG90YWxfYXNzZXRzIiwidG90YWxfZGVidCIsInRvdGFsX2N1cnJlbnRfYXNzZXRzIl0sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuUHJlTWFya2V0LGQuUG9zdE1hcmtldF0sc2hvd09uV2lkZ2V0OiEwfSx7aWQ6Im9zY2lsbGF0b3JzIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzNTkxNTApKSxzY3JlZW5lclR5cGVDb250ZW50OntzdG9jazpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuT3RoZXIiLCJBRFgiLCJBTyIsIkFUUiIsIkNDSTIwIiwiTUFDRC5tYWNkIiwiTUFDRC5zaWduYWwiLCJNb20iLCJSU0kiLCJTdG9jaC5LIiwiU3RvY2guRCIsImRlc2NyaXB0aW9uIiwidHlwZSJdLGZvcmV4OltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxmdXR1cmVzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY29udGludW91c19mdXR1cmVzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY3J5cHRvOltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fbWt0OltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLlNlY3RvciwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fbWt0X2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY3J5cHRvX2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsImV4Y2hhbmdlIiwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjZmQ6W2guTG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuT3RoZXIiLCJBRFgiLCJBTyIsIkFUUiIsIkNDSTIwIiwiTUFDRC5tYWNkIiwiTUFDRC5zaWduYWwiLCJNb20iLCJSU0kiLCJTdG9jaC5LIiwiU3RvY2guRCIsImRlc2NyaXB0aW9uIiwidHlwZSJdLGJvbmRzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl19LGNvbnRlbnQ6W10sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuRm9yZXgsZC5GdXR1cmVzLGQuQ29udGludW91c0Z1dHVyZXMsZC5DZmQsZC5DcnlwdG8sZC5DcnlwdG9Na3QsZC5DcnlwdG9Na3RCeVN5bWJvbCxkLkNyeXB0b0J5U3ltYm9sLGQuQ3VycmVuY3ksZC5Cb25kcyxkLlByZU1hcmtldCxkLlBvc3RNYXJrZXRdLHNob3dPbldpZGdldDohMH0se2lkOiJtb3ZpbmdfYXZlcmFnZXMiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDExNTI3NCkpLHNjcmVlbmVyVHlwZUNvbnRlbnQ6ewpzdG9jazpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sZm9yZXg6W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sZnV0dXJlczpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY29udGludW91c19mdXR1cmVzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG86W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY3J5cHRvX21rdDpbaC5CYXNlQ3VycmVuY3lMb2dvSWQsaC5TZWN0b3IsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fbWt0X2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fYnlfc3ltYm9sOltoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiZXhjaGFuZ2UiLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY2ZkOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sYm9uZHM6W2guTG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk1BIiwiY2xvc2UiLCJTTUEyMCIsIlNNQTUwIiwiU01BMjAwIiwiQkIudXBwZXIiLCJCQi5sb3dlciIsImRlc2NyaXB0aW9uIiwidHlwZSJdfSxjb250ZW50OltdLHNjcmVlbmVyczpbZC5TdG9jayxkLlN0b2NrQ29tcGFjdCxkLkZvcmV4LGQuRnV0dXJlcyxkLkNvbnRpbnVvdXNGdXR1cmVzLGQuQ2ZkLGQuQ3J5cHRvLGQuQ3J5cHRvTWt0LGQuQ3J5cHRvTWt0QnlTeW1ib2wsZC5DcnlwdG9CeVN5bWJvbCxkLkN1cnJlbmN5LGQuQm9uZHMsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9XSxtPVtoLkxvZ29JZCwibmFtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVwc19zdXJwcmlzZV9mcSIsImVwc19zdXJwcmlzZV9wZXJjZW50X2ZxIiwicmV2ZW51ZV9mb3JlY2FzdF9uZXh0X2ZxIiwicmV2ZW51ZV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2NhbGVuZGFyX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfdGltZSIsImRlc2NyaXB0aW9uIiwidHlwZSJdO2Z1bmN0aW9uIGcoZSl7Y29uc3QgdD17c2NyZWVuZXJUeXBlOmQuU3RvY2ssbWFya2V0czpbInN0b2NrIl0saXNDb21wYWN0OiExLHN1YnR5cGU6IiIsaXNPbldpZGdldDohMX07bGV0IG89cDtjb25zdCBpPU9iamVjdC5hc3NpZ24odCxlKSx7c2NyZWVuZXJUeXBlOm4saXNDb21wYWN0OnMsc3VidHlwZTphLGlzT25XaWRnZXQ6bH09aSx7bWFya2V0czpjfT1pO3JldHVybiBvPW8uZmlsdGVyKChlPT57aWYobj09PWQuU3RvY2spe2NvbnN0IHQ9cz9gJHtufV9jb21wYWN0YDpuO3JldHVybiBlLnNjcmVlbmVycy5pbmNsdWRlcyh0KX1yZXR1cm4gZS5zY3JlZW5lcnMuaW5jbHVkZXMobil9KSksbCYmKG89by5maWx0ZXIoKGU9PiEwPT09ZS5zaG93T25XaWRnZXQpKSksby5mb3JFYWNoKChlPT57aWYodm9pZCAwIT09ZS5zY3JlZW5lclR5cGVDb250ZW50KXtjb25zdCBvPWUuc2NyZWVuZXJUeXBlQ29udGVudFsoMCxyLmVuc3VyZURlZmluZWQpKG4pXXx8ZS5zY3JlZW5lclR5cGVDb250ZW50LnN0b2NrO2lmKHQ9byxBcnJheS5pc0FycmF5KHQpKWUuY29udGVudD0oMCxyLmVuc3VyZURlZmluZWQpKG8pO2Vsc2V7Y29uc3QgdD1PYmplY3Qua2V5cyhvKSxpPWMucmVkdWNlKCgoZSx0KT0+KGUucHVzaChgJHsoMCxyLmVuc3VyZURlZmluZWQpKHQpfV8keygwLHIuZW5zdXJlRGVmaW5lZCkoYSl9YCksZS5wdXNoKGAkeygwLHIuZW5zdXJlRGVmaW5lZCkoYSl9YCksZS5wdXNoKCgwLHIuZW5zdXJlRGVmaW5lZCkodCkpLGUpKSxbXSksbj1mdW5jdGlvbihlLHQpe2Zvcihjb25zdCBvIG9mIGUpaWYodC5pbmNsdWRlcyhvKSlyZXR1cm4gbztyZXR1cm4ic3RvY2sifShbLi4ubmV3IFNldChpKV0sdCk7ZS5jb250ZW50PW9bbl19fXZhciB0O2wmJihlLmNvbnRlbnQ9ZS5jb250ZW50LmZpbHRlcigoZT0+ImRlc2NyaXB0aW9uIiE9PWUpKSl9KSksb312YXIgdixmLHksYj1vKDk3MzA0MSk7IWZ1bmN0aW9uKGUpe2UuQW1lcmljYT0iYW1lcmljYSIsZS5BcmdlbnRpbmE9ImFyZ2VudGluYSIsZS5BdXN0cmFsaWE9ImF1c3RyYWxpYSIsZS5BdXN0cmlhPSJhdXN0cmlhIixlLkJhaHJhaW49ImJhaHJhaW4iLGUuQmFuZ2xhZGVzaD0iYmFuZ2xhZGVzaCIsZS5CZWxnaXVtPSJiZWxnaXVtIixlLkJ1bGdhcmlhPSJidWxnYXJpYSIsCmUuQnJhemlsPSJicmF6aWwiLGUuQ2FuYWRhPSJjYW5hZGEiLGUuQ2hpbGU9ImNoaWxlIixlLkNoaW5hPSJjaGluYSIsZS5Db2xvbWJpYT0iY29sb21iaWEiLGUuQ3JvYXRpYT0iY3JvYXRpYSIsZS5DeXBydXM9ImN5cHJ1cyIsZS5DemVjaD0iY3plY2giLGUuRGVubWFyaz0iZGVubWFyayIsZS5FZ3lwdD0iZWd5cHQiLGUuRXN0b25pYT0iZXN0b25pYSIsZS5GaW5sYW5kPSJmaW5sYW5kIixlLkZyYW5jZT0iZnJhbmNlIixlLkdlcm1hbnk9Imdlcm1hbnkiLGUuR3JlZWNlPSJncmVlY2UiLGUuSG9uZ0tvbmc9Imhvbmdrb25nIixlLkh1bmdhcnk9Imh1bmdhcnkiLGUuSWNlbGFuZD0iaWNlbGFuZCIsZS5JbmRpYT0iaW5kaWEiLGUuSW5kb25lc2lhPSJpbmRvbmVzaWEiLGUuSXJlbGFuZD0iaXJlbGFuZCIsZS5Jc3JhZWw9ImlzcmFlbCIsZS5JdGFseT0iaXRhbHkiLGUuSmFwYW49ImphcGFuIixlLktlbnlhPSJrZW55YSIsZS5LdXdhaXQ9Imt1d2FpdCIsZS5MYXR2aWE9ImxhdHZpYSIsZS5MaXRodWFuaWE9ImxpdGh1YW5pYSIsZS5MdXhlbWJvdXJnPSJsdXhlbWJvdXJnIixlLk1hbGF5c2lhPSJtYWxheXNpYSIsZS5NZXhpY289Im1leGljbyIsZS5Nb3JvY2NvPSJtb3JvY2NvIixlLk5ldGhlcmxhbmRzPSJuZXRoZXJsYW5kcyIsZS5OZXdaZWFsYW5kPSJuZXd6ZWFsYW5kIixlLk5pZ2VyaWE9Im5pZ2VyaWEiLGUuTm9yd2F5PSJub3J3YXkiLGUuUGFraXN0YW49InBha2lzdGFuIixlLlBlcnU9InBlcnUiLGUuUGhpbGlwcGluZXM9InBoaWxpcHBpbmVzIixlLlBvbGFuZD0icG9sYW5kIixlLlBvcnR1Z2FsPSJwb3J0dWdhbCIsZS5RYXRhcj0icWF0YXIiLGUuUm9tYW5pYT0icm9tYW5pYSIsZS5SdXNzaWE9InJ1c3NpYSIsZS5TYXVkaUFyYWJpYT0ia3NhIixlLlNlcmJpYT0ic2VyYmlhIixlLlNpbmdhcG9yZT0ic2luZ2Fwb3JlIixlLlNsb3Zha2lhPSJzbG92YWtpYSIsZS5TbG92ZW5pYT0ic2xvdmVuaWEiLGUuU291dGhBZnJpY2E9InJzYSIsZS5Tb3V0aEtvcmVhPSJrb3JlYSIsZS5TcGFpbj0ic3BhaW4iLGUuU3JpTGFua2E9InNyaWxhbmthIixlLlN3ZWRlbj0ic3dlZGVuIixlLlN3aXR6ZXJsYW5kPSJzd2l0emVybGFuZCIsZS5UYWl3YW49InRhaXdhbiIsZS5UaGFpbGFuZD0idGhhaWxhbmQiLGUuVHVuaXNpYT0idHVuaXNpYSIsZS5UdXJrZXk9InR1cmtleSIsZS5VQUU9InVhZSIsZS5VSz0idWsiLGUuVmVuZXp1ZWxhPSJ2ZW5lenVlbGEiLGUuVmlldG5hbT0idmlldG5hbSJ9KHZ8fCh2PXt9KSksZnVuY3Rpb24oZSl7ZS5Gb3JleD0iZm9yZXgiLGUuQ3J5cHRvPSJjcnlwdG8iLGUuQ29pbj0iY29pbiIsZS5DRkQ9ImNmZCIsZS5Cb25kcz0iYm9uZHMiLGUuQm9uZD0iYm9uZCIsZS5GdXR1cmVzPSJmdXR1cmVzIixlLk9wdGlvbnM9Im9wdGlvbnMifShmfHwoZj17fSkpLGZ1bmN0aW9uKGUpe2UuR2xvYmFsPSJnbG9iYWwifSh5fHwoeT17fSkpO3YuQmVsZ2l1bSx2LkN5cHJ1cyx2LkRlbm1hcmssdi5Fc3RvbmlhLHYuRmlubGFuZCx2LkZyYW5jZSx2Lkdlcm1hbnksdi5HcmVlY2Usdi5IdW5nYXJ5LHYuSWNlbGFuZCx2Lkl0YWx5LHYuTGF0dmlhLHYuTGl0aHVhbmlhLHYuTHV4ZW1ib3VyZyx2Lk5ldGhlcmxhbmRzLHYuTm9yd2F5LHYuUG9sYW5kLHYuUG9ydHVnYWwsdi5Sb21hbmlhLHYuUnVzc2lhLHYuU2VyYmlhLHYuU2xvdmFraWEsdi5TcGFpbix2LlN3ZWRlbix2LlN3aXR6ZXJsYW5kLHYuVHVya2V5LHYuVUssdi5CZWxnaXVtLHYuQ3lwcnVzLHYuRGVubWFyayx2LkVzdG9uaWEsdi5GaW5sYW5kLHYuRnJhbmNlLHYuR2VybWFueSx2LkdyZWVjZSx2Lkh1bmdhcnksdi5JdGFseSx2LkxhdHZpYSx2LkxpdGh1YW5pYSx2Lkx1eGVtYm91cmcsdi5OZXRoZXJsYW5kcyx2LlBvbGFuZCx2LlBvcnR1Z2FsLHYuUm9tYW5pYSx2LlNsb3Zha2lhLHYuU3BhaW4sdi5Td2VkZW47dmFyIFM9byg5NjAyMjkpO2xldCB3PW51bGw7Y29uc3QgQz12LkFtZXJpY2E7ZnVuY3Rpb24gayhlKXtjb25zdCB0PWV8fHdpbmRvdy5sb2NhbGU7cmV0dXJuIHQmJih3fHwodz1PYmplY3QuZW50cmllcygoMCxTLmdldFNjcmVlbmVyQ291bnRyaWVzTWFwKSgpKS5yZWR1Y2UoKChlLFt0LG9dKT0+by5zY3JlZW5lck5hbWU/KGVbby50dkxvY2FsZXx8dF09by5zY3JlZW5lck5hbWUsZSk6ZSkse30pLHcpKVt0XXx8Q31jb25zdCBUPW8oMjU1NTE2KSxFPW8oMzg5OTk0KSx4PXt9LEE9bmV3IE1hcChbWyJ1YWUiLCgpPT5vLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjMxMTApKV1dKTtmb3IoY29uc3QgZSBvZiBFKXtjb25zdCB0PVRbZV07aWYodCYmdC5zY3JlZW5lck5hbWUpe2NvbnN0IG89QS5oYXModC5zY3JlZW5lck5hbWUpP0EuZ2V0KHQuc2NyZWVuZXJOYW1lKTooKT0+KDAsYi50cmllc1RyYW5zbGF0ZUNvdW50cmllTmFtZSkodC50aXRsZSk7eFt0LnNjcmVlbmVyTmFtZV09e2ZsYWc6ZSxnZXQgdGl0bGUoKXtyZXR1cm4gbygpfSxzdG9ja3M6dC5leGNoYW5nZXNTdG9ja3N8fFtdLHRpbWV6b25lOnQuc2NyZWVuZXJUaW1lem9uZSxncm91cDp0Lmdyb3VwLGNvdW50cnk6ZX19fWNvbnN0IE09byg4MTkyOTApLEk9e2ZvcmV4OntpY29uOmA8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdF9faXRlbS1mb3JleCI+JHtvKDU2NzI0NSl9PC9zcGFuPmAsZ2V0IHRpdGxlKCl7cmV0dXJuIG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI1NTA5MykpfSxzdG9ja3M6W119fSxSPXtjcnlwdG86e2ljb246YDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0X19pdGVtLWJpdGNvaW4iPiR7TX08L3NwYW4+YCxnZXQgdGl0bGUoKXtyZXR1cm4gby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg0MDA0KSl9LHN0b2NrczpbXX19O2Z1bmN0aW9uIEYoZSl7cmV0dXJuInN0b2NrIj09PWU/eDoiZm9yZXgiPT09ZT9JOiJjcnlwdG8iPT09ZT9SOnh9Y29uc3QgTD17YW1lcmljYTp7bWFya2V0X2NhcF9iYXNpYzpbNWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTEsMmUxMl0sdm9sdW1lOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XSwKYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTddLGF2ZXJhZ2Vfdm9sdW1lXzMwZF9jYWxjOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XSxhdmVyYWdlX3ZvbHVtZV82MGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN10sYXZlcmFnZV92b2x1bWVfOTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTddLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCw1LDEwLDE1LDIwLDUwLDc1LDEwMF0scHJlbWFya2V0X3ZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN10scG9zdG1hcmtldF92b2x1bWU6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTddLGNoYW5nZV9hYnM6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGNoYW5nZTpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sb3BlbjpbMTAsMjAsNTAsMTAwXSxjbG9zZTpbMTAsMjAsNTAsMTAwXSxoaWdoOlsxMCwyMCw1MCwxMDBdLGxvdzpbMTAsMjAsNTAsMTAwXSxnYXA6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLHByaWNlX2Vhcm5pbmdzX3R0bTpbMCw1LDEwLDE1LDIwLDI1LDMwLDM1LDQwLDQ1LDUwXSxwcmljZV9lYXJuaW5nc190b19ncm93dGhfdHRtOlswLDEsMiwzXSxwcmljZV9zYWxlc19yYXRpbzpbMCw1LDEwLDE1LDIwLDI1LDMwLDM1LDQwLDQ1LDUwXSxyZXR1cm5fb25fYXNzZXRzOlstNTAsLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMCw1MF0scmV0dXJuX29uX2VxdWl0eTpbLTUwLC0zMCwtMjAsLTE1LC0xMCwtNSwwLDUsMTAsMTUsMjAsMzAsNTBdLGRlYnRfdG9fZXF1aXR5OlsuMSwuMiwuMywuNCwuNSwuNiwuNywuOCwuOSwxXSxjdXJyZW50X3JhdGlvOlswLDUsMTAsMTUsMjAsMjUsMzAsMzUsNDAsNDUsNTBdLHF1aWNrX3JhdGlvOlswLDUsMTAsMTUsMjAsMjUsMzAsMzUsNDAsNDUsNTBdLHByaWNlX2Jvb2tfZnE6WzAsMSwyLDMsNCw1LDYsNyw4LDksMTBdLHByaWNlX2Jvb2tfcmF0aW86WzAsMSwyLDMsNCw1LDYsNyw4LDksMTBdLHByaWNlX2ZyZWVfY2FzaF9mbG93X3R0bTpbMCw1LDEwLDE1LDIwLDI1LDMwLDM1LDQwLDQ1LDUwLDYwLDcwLDgwLDkwLDEwMF0sYmV0YV8xX3llYXI6Wy0yLC0xLjUsLTEsLS41LDAsLjUsMSwxLjUsMl0sb3BlcmF0aW5nX21hcmdpbjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bTpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sZWJpdGRhOls1ZTUsMWU2LDVlNiwxZTcsNWU3LDFlOCw1ZTgsMWU5LDJlOSw1ZTksMWUxMCwyNWU5LDVlMTBdLGNoYW5nZV9mcm9tX29wZW46Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLlciOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4xTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjNNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuNk0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi5ZIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWVREIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlZvbGF0aWxpdHkuVyI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuTSI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuRCI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sQURYOlsxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDIsMi41LDMsMy41LDQsNC41LDVdLE1vbTpbLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMF0sZ29vZHdpbGw6WzVlNywzZTgsMmU5LDFlMTAsMmUxMV0sbmV0X2RlYnQ6Wy0yZTExLC0xZTEwLC0yZTksLTNlOCwtNWU3LDVlNywzZTgsMmU5LDFlMTAsMmUxMV0sdG90YWxfZGVidDpbNWU3LDNlOCwyZTksMWUxMCwyZTExXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN10scmV0dXJuX29uX2ludmVzdGVkX2NhcGl0YWw6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGFmdGVyX3RheF9tYXJnaW46Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLHByZV90YXhfbWFyZ2luOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXSxncm9zc19tYXJnaW46Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGRpdmlkZW5kc19wYWlkOlstMmUxMSwtMWUxMCwtMmU5LC0zZTgsLTVlNywwXSxkaXZpZGVuZF95aWVsZF9yZWNlbnQ6WzAsNSwxMCwxNSwyMCwyNSw1MCwxMDBdLGJhc2ljX2Vwc19uZXRfaW5jb21lOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXSxuZXRfaW5jb21lOlstNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTVlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLGdyb3NzX3Byb2ZpdDpbLTJlMTEsLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxncm9zc19wcm9maXRfZnE6Wy0yZTExLC0xZTEwLC0yZTksLTNlOCwtNWU3LDVlNywzZTgsMmU5LDFlMTAsMmUxMV0sbnVtYmVyX29mX3NoYXJlaG9sZGVyczpbMTAwLDUwMCwxZTMsMWU0LDFlNSwxZTZdLGZsb2F0X3NoYXJlc19vdXRzdGFuZGluZzpbNWU3LDNlOCwyZTksMWUxMCwyZTExXSx0b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmdfZnVuZGFtZW50YWw6WzVlNywzZTgsMmU5LDFlMTAsMmUxMV0sdG90YWxfYXNzZXRzOls1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX2N1cnJlbnRfYXNzZXRzOls1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX3JldmVudWU6WzAsNWU3LDNlOCwyZTksMWUxMCwyZTExLDVlMTFdLHRvdGFsX2xpYWJpbGl0aWVzX2Z5Ols1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX2xpYWJpbGl0aWVzX2ZxOls1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3R0bTpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sCmVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXSxlYXJuaW5nc19wZXJfc2hhcmVfZnE6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGVudGVycHJpc2VfdmFsdWVfZWJpdGRhX3R0bTpbLTVlMywtMWUzLDAsMWUzLDVlM10sZW50ZXJwcmlzZV92YWx1ZV9mcTpbLTJlMTEsLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxlcHNfc3VycHJpc2VfZnE6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGVwc19zdXJwcmlzZV9wZXJjZW50X2ZxOlstMzAsLTIwLC0xNSwtMTAsLTUsMCw1LDEwLDE1LDIwLDMwXSxwcmljZV9yZXZlbnVlX3R0bTpbMCw1LDEwLDUwLDEwMCwxZTMsNWUzLDFlNF0sbnVtYmVyX29mX2VtcGxveWVlczpbMTAwLDUwMCwxZTMsMWU0LDFlNSwxZTZdLGxhc3RfYW5udWFsX2VwczpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sbGFzdF9hbm51YWxfcmV2ZW51ZTpbNWU3LDNlOCwyZTksMWUxMCwyZTExXSxDQ0kyMDpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sQ2hhaWtpbk1vbmV5RmxvdzpbLTEsLS45LC0uOCwtLjcsLS42LC0uNSwtLjQsLS4zLC0uMiwtLjEsMCwuMSwuMiwuMywuNCwuNSwuNiwuNywuOCwuOSwxXSxNb25leUZsb3c6WzAsNSwxMCwxNSwyNSw1MCwxMDBdLCJWYWx1ZS5UcmFkZWQiOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3LDFlOCw1ZTgsNzVlN119LHVrOnthdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZThdLG9wZW46WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLGNsb3NlOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLGN1cnJlbnRfcmF0aW86WzAsNSwxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MCw3NSwxMDBdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19mdW5kYW1lbnRhbDpbNWU2LDFlNyw1ZTcsM2U4LDJlOSwxZTEwLDVlMTAsMWUxMV0sZGl2aWRlbmRzX3BhaWQ6Wy0yZTExLC0xNWUxMCwtNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTFlOCwtNWU3LDBdLGdyb3NzX3Byb2ZpdDpbLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXX0saW5kaWE6e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTJdLG9wZW46WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLGNsb3NlOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLHF1aWNrX3JhdGlvOlswLDUsMTAsMTUsMjAsMjUsMzAsMzUsNDAsNDUsNTAsMTAwLDUwMF0sY2hhbmdlX2Zyb21fb3BlbjpbLTIwLC0xMCwwLDEwLDIwLDUwXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsM2U4LDVlOF0sZGl2aWRlbmRzX3BhaWQ6Wy01ZTEwLC0xZTEwLC0yZTksLTNlOCwtMWU4LC01ZTcsMF0sZ3Jvc3NfcHJvZml0OlstMWUxMCwtMmU5LC0zZTgsLTVlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19mdW5kYW1lbnRhbDpbNWU3LDNlOCwyZTksNWU5LDFlMTBdLG51bWJlcl9vZl9lbXBsb3llZXM6WzEwMCw1MDAsMWUzLDFlNCwxZTUsMmU1XX0sc3BhaW46e21hcmtldF9jYXBfYmFzaWM6WzFlNywzZTcsNWU3LDFlOCwzZTgsNWU4LDFlOSwxZTEwLDVlMTBdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTddLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCwxLDIsMyw0LDUsMTBdLGNoYW5nZTpbLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwXSxnYXA6Wy0xMCwtNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNSwxMF0scXVpY2tfcmF0aW86WzAsMSwyLDMsNCw1LDEwXSxlYml0ZGE6WzVlNSwxZTYsNWU2LDFlNyw1ZTcsMWU4LDVlOCwxZTksMmU5LDVlOSwxZTEwLDE1ZTldLCJWb2xhdGlsaXR5LlciOlswLDUsMTAsMTUsMjBdLCJWb2xhdGlsaXR5Lk0iOlswLDUsMTAsMTUsMjBdLCJWb2xhdGlsaXR5LkQiOlswLDUsMTAsMTUsMjBdLE1vbTpbLTE1LC0xMCwtNSwwLDUsMTAsMTVdLGdvb2R3aWxsOls1ZTcsM2U4LDJlOSwxZTEwLDI1ZTldLHJldmVudWVfcGVyX2VtcGxveWVlOlsxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlN10sZGl2aWRlbmRzX3BhaWQ6Wy01ZTksLTJlOSwtM2U4LC0xZTgsLTVlNywwXSxncm9zc19wcm9maXQ6Wy0yZTksLTNlOCwtNWU3LDVlNywzZTgsMmU5LDFlMTAsMmUxMF0scHJpY2VfcmV2ZW51ZV90dG06WzAsNSwxMCw1MCwxMDBdfSxydXNzaWE6e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTJdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsMjVlNyw1ZTgsMWU5XSxhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsMjVlNyw1ZTgsMWU5XSxyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDUwXSxjaGFuZ2U6Wy0zMCwtMjAsLTE1LC0xMCwtNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sb3BlbjpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzLDJlMyw1ZTNdLGNsb3NlOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM10saGlnaDpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzLDJlMyw1ZTNdLApsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzXSxnYXA6Wy0xMCwtNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNSwxMF0scXVpY2tfcmF0aW86WzAsMSwyLDMsNCw1LDEwLDE1LDIwXSxwcmljZV9mcmVlX2Nhc2hfZmxvd190dG06WzAsNSwxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MF0sY2hhbmdlX2Zyb21fb3BlbjpbLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwXSwiVm9sYXRpbGl0eS5XIjpbMCw1LDEwLDE1LDIwLDMwLDUwXSwiVm9sYXRpbGl0eS5NIjpbMCw1LDEwLDE1LDIwLDMwLDUwXSwiVm9sYXRpbGl0eS5EIjpbMCw1LDEwLDE1LDIwLDMwLDUwXSxnb29kd2lsbDpbMWU3LDVlNywzZTgsMmU5LDFlMTAsMWUxMV0scmV2ZW51ZV9wZXJfZW1wbG95ZWU6WzFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDNlN10sZGl2aWRlbmRzX3BhaWQ6Wy0xNWUxMCwtNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTFlOCwtNWU3LDBdLGdyb3NzX3Byb2ZpdDpbLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxwcmljZV9yZXZlbnVlX3R0bTpbMCw1LDEwLDUwLDEwMF0sbnVtYmVyX29mX2VtcGxveWVlczpbMTAwLDUwMCwxZTMsMWU0LDFlNSw1ZTVdLGxhc3RfYW5udWFsX2VwczpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMCw1MDAsMWUzXX0sYXVzdHJhbGlhOnttYXJrZXRfY2FwX2Jhc2ljOls1ZTcsM2U4LDJlOSwxZTEwLDVlMTAsMWUxMSwxNWUxMF0sZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bTpbLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwXSxlYml0ZGE6WzVlNSwxZTYsNWU2LDFlNyw1ZTcsMWU4LDVlOCwxZTksMmU5LDVlOSwxZTEwLDJlMTBdLGRpdmlkZW5kc19wYWlkOlstNWU5LC0yZTksLTNlOCwtNWU3LDBdfSxicmF6aWw6e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyXSx2b2x1bWU6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlN10sYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlN10scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLDEsMiwzLDQsNSwxMCwxNSwyMCw1MF0sb3BlbjpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzXSxjbG9zZTpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzXSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTNdLGxvdzpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzXSxlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSxjaGFuZ2VfZnJvbV9vcGVuOlstMjAsLTEwLDAsMTAsMjBdLCJWb2xhdGlsaXR5LlciOlswLDUsMTAsMTUsMjBdLCJWb2xhdGlsaXR5Lk0iOlswLDUsMTAsMTUsMjBdLGdvb2R3aWxsOls1ZTcsM2U4LDJlOSwxZTEwXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sZGl2aWRlbmRzX3BhaWQ6Wy0xZTEwLC0yZTksLTNlOCwtMWU4LC01ZTcsMF0sbmV0X2luY29tZTpbLTJlMTAsLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTEwXSxncm9zc19wcm9maXQ6Wy0xZTgsLTVlNyw1ZTcsM2U4LDJlOSwxZTEwLDFlMTFdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19mdW5kYW1lbnRhbDpbNWU3LDNlOCwyZTksNWU5LDFlMTBdLHRvdGFsX2N1cnJlbnRfYXNzZXRzOls1ZTcsM2U4LDJlOSwxZTEwLDFlMTFdLHRvdGFsX3JldmVudWU6WzAsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxwcmljZV9yZXZlbnVlX3R0bTpbMCw1LDEwLDUwLDEwMCwxZTNdLG51bWJlcl9vZl9lbXBsb3llZXM6WzEwMCw1MDAsMWUzLDFlNCwxZTVdLGxhc3RfYW5udWFsX2VwczpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwXX0samFwYW46e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTIsNWUxMl0scHJpY2VfcmV2ZW51ZV90dG06WzAsNSwxMCw1MCwxMDBdLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCw1LDEwLDE1LDIwLDUwXSxjaGFuZ2U6Wy0zMCwtMjAsLTEwLDAsMTAsMjAsMzBdLG9wZW46WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywxZTQsMWU1XSxjbG9zZTpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzLDFlNCwxZTVdLGhpZ2g6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywxZTQsMWU1XSxsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywxZTQsMWU1XSxnYXA6Wy0yMCwtMTAsMCwxMCwyMF0sZWJpdGRhOls1ZTUsMWU2LDVlNiwxZTcsNWU3LDFlOCw1ZTgsMWU5LDJlOSw1ZTksMWUxMCwyNWU5LDVlMTAsMWUxMSwyZTExLDVlMTFdLGNoYW5nZV9mcm9tX29wZW46Wy0yMCwtMTAsLTUsMCw1LDEwLDIwXSwiVm9sYXRpbGl0eS5XIjpbMCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5NIjpbMCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5EIjpbMCw1LDEwLDE1LDIwLDMwXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsNWU3XX0sbmV3emVhbGFuZDp7bWFya2V0X2NhcF9iYXNpYzpbNWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTFdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTddLGF2ZXJhZ2Vfdm9sdW1lXzEwZF9jYWxjOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlN10scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLDEsMiwzLDQsNSwxMCwxNV0sb3BlbjpbNSwxMCwyMCw1MF0sY2xvc2U6WzUsMTAsMjAsNTBdLGhpZ2g6WzUsMTAsMjAsNTBdLGxvdzpbNSwxMCwyMCw1MF0sY3VycmVudF9yYXRpbzpbMCw1LDEwLDE1LDIwLDI1XSxxdWlja19yYXRpbzpbMCw1LDEwLDE1LDIwLDI1XSxlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtOlstMTAsLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDUsMTBdLGViaXRkYTpbNWU1LDFlNiw1ZTYsMWU3LDVlNywxZTgsNWU4LDFlOSwyZTksNWU5LDFlMTAsMmUxMF0sY2hhbmdlX2Zyb21fb3BlbjpbLTIwLC0xNSwtMTAsLTUsMCw1LDEwLDE1LDIwXSwKIlZvbGF0aWxpdHkuVyI6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5NIjpbMCwxLDIsMyw0LDUsMTAsMTUsMjAsMzBdLCJWb2xhdGlsaXR5LkQiOlswLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDJdLE1vbTpbLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDVdLGdvb2R3aWxsOlsyNWU2LDVlNywxZTgsMjVlNyw1ZTgsMmU5XSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sZGl2aWRlbmRzX3BhaWQ6Wy01ZTksLTJlOSwtM2U4LC01ZTcsMF0sYmFzaWNfZXBzX25ldF9pbmNvbWU6Wy01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1XSxuZXRfaW5jb21lOlstNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTVlNyw1ZTcsM2U4LDJlOSw1ZTldLGdyb3NzX3Byb2ZpdDpbMCwyNWU2LDVlNywyNWU3LDVlOCwyZTksMWUxMF0sdG90YWxfc2hhcmVzX291dHN0YW5kaW5nX2Z1bmRhbWVudGFsOls1ZTcsM2U4LDJlOSwxZTEwXSx0b3RhbF9jdXJyZW50X2Fzc2V0czpbNWU3LDNlOCwyZTksMWUxMF0sdG90YWxfcmV2ZW51ZTpbMCw1ZTcsM2U4LDJlOSwxZTEwLDI1ZTldLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3R0bTpbLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDVdLGVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxOlstNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNV0sZWFybmluZ3NfcGVyX3NoYXJlX2ZxOlstNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNV0scHJpY2VfcmV2ZW51ZV90dG06WzAsNSwxMCw1MCwxMDBdLG51bWJlcl9vZl9lbXBsb3llZXM6WzEwMCw1MDAsMWUzLDFlNCw1ZTRdLGxhc3RfYW5udWFsX2VwczpbLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDVdLCJWYWx1ZS5UcmFkZWQiOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTddfSx0dXJrZXk6e21hcmtldF9jYXBfYmFzaWM6WzVlNiwxZTcsNWU3LDNlOCwyZTksMWUxMCwzZTEwLDVlMTBdLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCwxLDIsMyw0LDUsMTAsMTVdLGNoYW5nZTpbLTIwLC0xNSwtMTAsLTUsMCw1LDEwLDE1LDIwXSxnYXA6Wy0yMCwtMTAsLTUsMCw1LDEwLDIwXSwiVm9sYXRpbGl0eS5XIjpbMCwxLDIsMyw0LDUsMTAsMTUsMjAsMzBdLCJWb2xhdGlsaXR5Lk0iOlswLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sIlZvbGF0aWxpdHkuRCI6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSwiVmFsdWUuVHJhZGVkIjpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN119LHN3aXR6ZXJsYW5kOnt2b2x1bWU6WzVlNCwxZTUsMjVlNCw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsMjVlNCw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sY2hhbmdlOlstMjAsLTE1LC0xMCwtNSwwLDUsMTAsMTUsMjBdfSxob25na29uZzp7bWFya2V0X2NhcF9iYXNpYzpbNWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTEsMmUxMSwyNWUxMCw1ZTExLDc1ZTEwLDFlMTJdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsMjVlN10sYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTcsMWU4LDI1ZTddfSx0YWl3YW46e2NoYW5nZTpbLTEwLC05LC04LC03LC02LC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDYsNyw4LDksMTBdLCJWb2xhdGlsaXR5LlciOlswLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sIlZvbGF0aWxpdHkuTSI6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5EIjpbMCwxLDIsMyw0LDUsMTAsMTUsMjAsMzBdfSxuZXRoZXJsYW5kczp7fSxiZWxnaXVtOnt9LHBvcnR1Z2FsOnt9LGZyYW5jZTp7fSxtZXhpY286e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTJdLGNoYW5nZTpbLTMwLC0yMCwtMTUsLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSxvcGVuOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM10sY2xvc2U6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzXSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM10sbG93OlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM119LGNhbmFkYTp7dm9sdW1lOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlN119LGNvbG9tYmlhOnt9LHVhZTp7fSxuaWdlcmlhOnt9LHNpbmdhcG9yZTp7fSxnZXJtYW55Ont2b2x1bWU6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDI1ZTZdfSxwYWtpc3Rhbjp7fSxwZXJ1Ont9LHBvbGFuZDp7dm9sdW1lOls1ZTQsMWU1LDJlNSw1ZTUsNzVlNCwxZTYsMmU2XX0saXRhbHk6e30sYXJnZW50aW5hOnt2b2x1bWU6WzVlNCwxZTUsMmU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlN119LGlzcmFlbDp7fSxpcmVsYW5kOnt9LGVneXB0Ont9LHNyaWxhbmthOnt9LHNlcmJpYTp7fSxjaGlsZTp7fSxjaGluYTp7fSxtYWxheXNpYTp7fSxtb3JvY2NvOnt9LGtzYTp7fSxiYWhyYWluOnt9LHFhdGFyOnt9LGluZG9uZXNpYTp7fSxmaW5sYW5kOnt9LGljZWxhbmQ6e30sZGVubWFyazp7fSxyb21hbmlhOnt9LGh1bmdhcnk6e30sc3dlZGVuOnt9LHNsb3Zha2lhOnt9LGxpdGh1YW5pYTp7fSxsdXhlbWJvdXJnOnt9LGVzdG9uaWE6e30sbGF0dmlhOnt9LHZpZXRuYW06e30scnNhOnt9LHRoYWlsYW5kOnt9LHR1bmlzaWE6e30sa29yZWE6e30sa2VueWE6e30sa3V3YWl0Ont9LG5vcndheTp7fSxwaGlsaXBwaW5lczp7fSxncmVlY2U6e30sdmVuZXp1ZWxhOnt9LGN5cHJ1czp7fSxiYW5nbGFkZXNoOnt9LGF1c3RyaWE6e30sY3plY2g6e319LEQ9e2ZvcmV4OntjaGFuZ2VfYWJzOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSxjaGFuZ2U6Wy01LC0xLC0uNSwtLjQsLS4zLC0uMiwtLjEsMCwtLjEsLjIsLjMsLjQsLjUsMSw1XSxiaWQ6WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSwKYXNrOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10sb3BlbjpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNsb3NlOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10saGlnaDpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGxvdzpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNoYW5nZV9mcm9tX29wZW46Wy01LC0yLjUsLTEsLS41LC0uNCwtLjMsLS4yLC0uMSwwLC0uMSwuMiwuMywuNCwuNSwxLDIuNSw1XSwiUGVyZi5XIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuMU0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4zTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjZNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLllURCI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJWb2xhdGlsaXR5LlciOlswLDUsMTAsMTUsMjAsMzAsNTAsNzBdLCJWb2xhdGlsaXR5Lk0iOlswLDUsMTAsMTUsMjAsMzAsNTAsNzBdLCJWb2xhdGlsaXR5LkQiOlswLDUsMTAsMTUsMjAsMzAsNTAsNzBdLEFEWDpbMTAsMjAsMzAsNDAsNTAsNjAsNzAsODAsOTBdLEFUUjpbLjI1LC41LC43NSwxLDEuNSwyLDIuNSwzLDMuNSw0LDQuNSw1XSxNb206Wy0zMCwtMjAsLTE1LC0xMCwtNSwwLDUsMTAsMTUsMjAsMzBdLENDSTIwOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXX19LE89e2NyeXB0bzp7bWFya2V0X2NhcF9jYWxjOlsxZTQsMWU1LDVlNSwxZTYsMWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTFdLG1hcmtldF9jYXBfZGlsdXRlZF9jYWxjOlsxZTQsMWU1LDVlNSwxZTYsMWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTFdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZzpbMWU2LDVlNiwxZTcsNWU3LDFlOCw1ZTgsMWU5LDVlOSwxZTEwLDVlMTAsMWUxMV0sdG90YWxfc2hhcmVzX2RpbHV0ZWQ6WzFlNiw1ZTYsMWU3LDVlNywxZTgsNWU4LDFlOSw1ZTksMWUxMCw1ZTEwLDFlMTFdLHRvdGFsX3ZhbHVlX3RyYWRlZDpbMWU0LDFlNSw1ZTUsMWU2LDFlNywzZTgsMmU5LDFlMTAsNWUxMF0sdm9sdW1lOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XSxhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywzZTgsNWU4LDJlOV0scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLC41LDEsMS41LDIsMi41LDVdLGNoYW5nZV9hYnM6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGNoYW5nZTpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sYmlkOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10sYXNrOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10sb3BlbjpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNsb3NlOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10saGlnaDpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGxvdzpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNoYW5nZV9mcm9tX29wZW46Wy0xMCwtNSwtNCwtMywtMiwtMSwtLjUsMCwuNSwxLDIsMyw0LDUsMTBdLCJQZXJmLlciOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4xTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjNNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuNk0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi5ZIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWVREIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlZvbGF0aWxpdHkuVyI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuTSI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuRCI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sQURYOlsxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDIsMi41LDMsMy41LDQsNC41LDVdLE1vbTpbLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMF0sQ0NJMjA6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLCIyNGhfdm9sfDUiOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XX19LE49e2NmZDp7dm9sdW1lOlsxZTMsNWUzLDFlNCw1ZTQsMWU1XSxhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWUzLDFlNCw1ZTQsMWU1LDFlNiwxZTcsMWU4LDFlOV0scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLC4xLC4yLC4zLC40LC41LC42LC43LC44LC45LDFdLGNoYW5nZV9hYnM6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLGNoYW5nZTpbLTUsLTEsLS41LC0uNCwtLjMsLS4yLC0uMSwwLC0uMSwuMiwuMywuNCwuNSwxLDVdLGJpZDpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGFzazpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLG9wZW46WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSxjbG9zZTpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGhpZ2g6WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSxsb3c6WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSxjaGFuZ2VfZnJvbV9vcGVuOlstNSwtNCwtMywtMiwtMSwtLjUsMCwuNSwxLDIsMyw0LDVdLCJQZXJmLlciOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4xTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjNNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuNk0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi5ZIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWVREIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlZvbGF0aWxpdHkuVyI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuTSI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuRCI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sQURYOlsxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDIsMi41LDMsMy41LDQsNC41LDVdLE1vbTpbLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMF0sCkNDSTIwOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXX19O2Z1bmN0aW9uIFAoZSl7c3dpdGNoKGUpe2Nhc2Uic3RvY2siOmNhc2UiZnV0dXJlcyI6cmV0dXJuIEw7Y2FzZSJmb3JleCI6cmV0dXJuIEQ7Y2FzZSJjcnlwdG8iOmNhc2UiY3J5cHRvX21rdCI6cmV0dXJuIE87Y2FzZSJjZmQiOnJldHVybiBOfXJldHVybiBMfWNvbnN0IEI9e2FtZXJpY2E6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6MX19LGVhcm5pbmdzX3RoaXNfd2Vlazp7Z2V0IGVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlKCl7cmV0dXJuIG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzQ4MykpfX19LHVrOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX19LGluZGlhOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOjJ9fX0sc3BhaW46e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjF9fX0scnVzc2lhOnt0b3BfZ2FpbmVyczp7Y2xvc2U6bnVsbH0sdG9wX2xvc2Vyczp7Y2xvc2U6bnVsbH0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGF1c3RyYWxpYTp7dG9wX2dhaW5lcnM6e2Nsb3NlOm51bGx9LHRvcF9sb3NlcnM6e2Nsb3NlOm51bGx9fSxicmF6aWw6e3RvcF9nYWluZXJzOntjbG9zZTpudWxsfSx0b3BfbG9zZXJzOntjbG9zZTpudWxsfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjV9fX0samFwYW46e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sbmV3emVhbGFuZDp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19LHVudXN1YWxfdm9sdW1lOntyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTouMn19fSx0dXJrZXk6e3RvcF9nYWluZXJzOntjbG9zZTpudWxsfSx0b3BfbG9zZXJzOntjbG9zZTpudWxsfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjJ9fX0sc3dpdHplcmxhbmQ6e3RvcF9nYWluZXJzOntjbG9zZTpbLjEsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6Wy4xLDFlNF19fSxob25na29uZzp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSx0YWl3YW46e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sbmV0aGVybGFuZHM6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sYmVsZ2l1bTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSxwb3J0dWdhbDp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSxmcmFuY2U6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sbWV4aWNvOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGNhbmFkYTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSxzaW5nYXBvcmU6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sZ2VybWFueTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsxLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsxLDFlNF19fSxwb2xhbmQ6e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjV9fX0saXNyYWVsOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGl0YWx5Ont0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGFyZ2VudGluYTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19LHVudXN1YWxfdm9sdW1lOntyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTouMn19fSxmb3JleDp7dG9wX2dhaW5lcnM6e2Nsb3NlOm51bGx9LHRvcF9sb3NlcnM6e2Nsb3NlOm51bGx9LG1vc3RfY2FwaXRhbGl6ZWQ6bnVsbCxlYXJuaW5nc190aGlzX3dlZWs6bnVsbCx2b2x1bWVfbGVhZGVyczpudWxsLG1vc3Rfdm9sYXRpbGU6eyJWb2xhdGlsaXR5LkQiOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6MX19LHVudXN1YWxfdm9sdW1lOm51bGwsaGlnaF9kaXZpZGVuZDpudWxsfSxjcnlwdG86e3RvcF9nYWluZXJzOntjbG9zZTpudWxsfSx0b3BfbG9zZXJzOntjbG9zZTpudWxsfSxtb3N0X2NhcGl0YWxpemVkOm51bGwsCmVhcm5pbmdzX3RoaXNfd2VlazpudWxsLHZvbHVtZV9sZWFkZXJzOm51bGwsbW9zdF92b2xhdGlsZTp7IlZvbGF0aWxpdHkuRCI6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZToxfX0sdW51c3VhbF92b2x1bWU6bnVsbCxoaWdoX2RpdmlkZW5kOm51bGx9LGNoaW5hOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX19LGNoaWxlOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzEsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzEsMWU0XX19LGJhaHJhaW46e3RvcF9nYWluZXJzOntjbG9zZTpbLjAxLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsuMDEsMWU0XX19LG1hbGF5c2lhOnt0b3BfZ2FpbmVyczp7Y2xvc2U6Wy4wMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbLjAxLDFlNF19fSxzZXJiaWE6e3RvcF9nYWluZXJzOntjbG9zZTpbLjEsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6Wy4xLDFlNF19fSxrc2E6e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfX0sZWd5cHQ6e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfX19O2Z1bmN0aW9uICQoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQoZnVuY3Rpb24oZSl7cmV0dXJuIHhbZV0mJnhbZV0uc3RvY2tzfHxbXX0odCkpKSxbXSl9Y29uc3QgVz1bInVrIiwibHV4ZW1ib3VyZyIsIm5vcndheSIsInNsb3Zha2lhIiwic3dlZGVuIiwicGhpbGlwcGluZXMiLCJrb3JlYSJdO2NvbnN0IHE9e2luZGlhOlsiTlNFIl19O2Z1bmN0aW9uIFYoKXtyZXR1cm4gcX12YXIgSD1vKDYwMTg0MSksVT1vKDcwMDgwOSksej1vKDM2Nzk0Niksaj1vKDc1NTYyNyksRz1vKDk4NDM3NiksWD1vKDEyNTIxOCksSz1vKDgyMjQzMSk7dmFyIFk9byg1NDY0ODUpO2NvbnN0IEo9bmV3IFJlZ0V4cCgvMCskLyk7Y2xhc3MgWiBleHRlbmRzIGouUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7aWYodm9pZCAwIT09ZS5mcmFjdGlvbmFsKXRocm93IG5ldyBFcnJvcigiRnJhY3Rpb25hbCBzaG91bGQgbm90IGJlIHVzZWQgd2l0aCB0aGlzIGZvcm1hdHRlciIpO3N1cGVyKGUpfWZvcm1hdChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHRhaWxTaXplOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om59PXQscj1lLnRvU3RyaW5nKCkscz0oMCxZLmdldE51bWJlckZvcm1hdCkodGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0fHxuKTtpZigtMSE9PXIuaW5kZXhPZigiZS0iKSl7Y29uc3QgZT1yLnNwbGl0KCJlLSIpLHQ9TnVtYmVyKGVbMF0pLG89TnVtYmVyKGVbMV0pO3JldHVybiB0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoJiZvPnRoaXMuX2ZyYWN0aW9uYWxMZW5ndGgrMT9gMCR7cy5kZWNpbWFsU2lnbn0wMGA6YCR7dDwwPyLiiJIiOiIifTAke3MuZGVjaW1hbFNpZ259JHsiMCIucmVwZWF0KG8tMSl9JHtNYXRoLmFicyhNYXRoLnJvdW5kKHQpKX1gfXtsZXQgdD1zdXBlci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOm8sdGFpbFNpemU6aSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bn0pO3QuaW5jbHVkZXMoImUiKXx8KHQ9dC5yZXBsYWNlKEosIiIpKTtjb25zdFtyLGFdPXQuc3BsaXQocy5kZWNpbWFsU2lnbik7cmV0dXJuIGEmJmEubGVuZ3RoPj0yP3Q6YCR7cn0ke3MuZGVjaW1hbFNpZ259JHsoKGF8fCIiKSsiMDAiKS5zdWJzdHJpbmcoMCwyKX1gfX19dmFyIFE9bygzMDY5MCksZWU9byg1MjgzOTYpO2NvbnN0IHRlPXtTVFJPTkdfQlVZOntrZXk6IlN0cm9uZyBCdXkiLGdldCB0aXRsZSgpe3JldHVybiBfLnQobnVsbCx7Y29udGV4dDoic2NyZWVuZXJfcmF0aW5nIn0sbyg0ODk4NjkpKX0sZ2V0IHNob3J0VGl0bGUoKXtyZXR1cm4gXy50KG51bGwse2NvbnRleHQ6InNjcmVlbmVyX3JhdGluZyJ9LG8oNDg5ODY5KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zdHJvbmctYnV5In0sQlVZOntrZXk6IkJ1eSIsZ2V0IHRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJzY3JlZW5lcl9yYXRpbmcifSxvKDU2NTk2MikpfSxnZXQgc2hvcnRUaXRsZSgpe3JldHVybiBfLnQobnVsbCx7Y29udGV4dDoiZmlyc3RfbGV0dGVyX29mX0J1eSJ9LG8oNDEzNTM3KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1idXkifSxTVFJPTkdfU0VMTDp7a2V5OiJTdHJvbmcgU2VsbCIsZ2V0IHRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJzY3JlZW5lcl9yYXRpbmcifSxvKDY5MTU0MykpfSxnZXQgc2hvcnRUaXRsZSgpe3JldHVybiBfLnQobnVsbCx7Y29udGV4dDoic2NyZWVuZXJfcmF0aW5nIn0sbyg2OTE1NDMpKX0sY3NzQ2xhc3M6InR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1zZWxsIn0sU0VMTDp7a2V5OiJTZWxsIixnZXQgdGl0bGUoKXtyZXR1cm4gXy50KG51bGwse2NvbnRleHQ6InNjcmVlbmVyX3JhdGluZyJ9LG8oMjU3NjQzKSl9LGdldCBzaG9ydFRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJmaXJzdF9sZXR0ZXJfb2ZfU2VsbCJ9LG8oOTkxNjk3KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zZWxsIn0sTkVVVFJBTDp7a2V5OiJOZXV0cmFsIixnZXQgdGl0bGUoKXtyZXR1cm4gXy50KG51bGwse2NvbnRleHQ6InNjcmVlbmVyX3JhdGluZyJ9LG8oNDU5NDYzKSl9LGdldCBzaG9ydFRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJmaXJzdF9sZXR0ZXJfb2ZfTmV1dHJhbCJ9LG8oMjE3Nzg4KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1uZXV0cmFsIn19LG9lPShlLHQ9ITEsbz0hMSk9Pntjb25zdCBpPXQ/IiI6IiBpLWhpZGRlbiIKO3JldHVybiBvP2A8c3BhbiB0aXRsZT0iJHtlLnRpdGxlfSIgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwgYXBwbHktY29tbW9uLXRvb2x0aXAgJHtlLmNzc0NsYXNzfSR7aX0iPiR7ZS5zaG9ydFRpdGxlfTwvc3Bhbj5gOmA8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbCAke2UuY3NzQ2xhc3N9JHtpfSI+JHtlLnRpdGxlfTwvc3Bhbj5gfSxpZT17Y29tcHV0ZU1BU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTx0JiYobz10ZS5CVVkpLGU+dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZVJTSVNpZ25hbDooZSx0KT0+e2xldCBvPXRlLk5FVVRSQUw7cmV0dXJuIGU8MzAmJnQ8ZSYmKG89dGUuQlVZKSxlPjcwJiZ0PmUmJihvPXRlLlNFTEwpLG99LGNvbXB1dGVTdG9jaFNpZ25hbDooZSx0LG8saSk9PntsZXQgbj10ZS5ORVVUUkFMO3JldHVybiBlPDIwJiZ0PDIwJiZlPnQmJm88aSYmKG49dGUuQlVZKSxlPjgwJiZ0PjgwJiZlPHQmJm8+aSYmKG49dGUuU0VMTCksbn0sY29tcHV0ZUNDSTIwU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTwtMTAwJiZlPnQmJihvPXRlLkJVWSksZT4xMDAmJmU8dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZUFEWFNpZ25hbDooZSx0LG8saSxuKT0+e2xldCByPXRlLk5FVVRSQUw7cmV0dXJuIGU+MjAmJmk8biYmdD5vJiYocj10ZS5CVVkpLGU+MjAmJmk+biYmdDxvJiYocj10ZS5TRUxMKSxyfSxjb21wdXRlQU9TaWduYWw6KGUsdCxvKT0+e2xldCBpPXRlLk5FVVRSQUw7cmV0dXJuKGU+MCYmdDwwfHxlPjAmJnQ+MCYmZT50JiZvPnQpJiYoaT10ZS5CVVkpLChlPDAmJnQ+MHx8ZTwwJiZ0PDAmJmU8dCYmbzx0KSYmKGk9dGUuU0VMTCksaX0sY29tcHV0ZU1vbVNpZ25hbDooZSx0KT0+e2xldCBvPXRlLk5FVVRSQUw7cmV0dXJuIGU+dCYmKG89dGUuQlVZKSxlPHQmJihvPXRlLlNFTEwpLG99LGNvbXB1dGVNQUNEU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZT50JiYobz10ZS5CVVkpLGU8dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZUJCQnV5U2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTx0JiYobz10ZS5CVVkpLG99LGNvbXB1dGVCQlNlbGxTaWduYWw6KGUsdCk9PntsZXQgbz10ZS5ORVVUUkFMO3JldHVybiBlPnQmJihvPXRlLlNFTEwpLG99LGNvbXB1dGVQU0FSU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTx0JiYobz10ZS5CVVkpLGU+dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZVJlY29tbWVuZFNpZ25hbDplPT57bGV0IHQ7cmV0dXJuIGU+PS0xJiZlPC0uNSYmKHQ9dGUuU1RST05HX1NFTEwpLGU+PS0uNSYmZTwtLjEmJih0PXRlLlNFTEwpLGU+PS0uMSYmZTw9LjEmJih0PXRlLk5FVVRSQUwpLGU+LjEmJmU8PS41JiYodD10ZS5CVVkpLGU+LjUmJmU8PTEmJih0PXRlLlNUUk9OR19CVVkpLHR9LGNvbXB1dGVTaW1wbGVTaWduYWw6ZT0+e2xldCB0PXRlLk5FVVRSQUw7cmV0dXJuLTE9PT1lJiYodD10ZS5TRUxMKSwxPT09ZSYmKHQ9dGUuQlVZKSx0fX0sbmU9e3Byb2Nlc3NNQVNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlTUFTaWduYWwodCxvKTtyZXR1cm5gJHtlfSAke29lKG4saS5kaXNwbGF5U2lnbmFsLCEwKX1gfSxwcm9jZXNzUlNJU2lnbmFsOihlLHQsbyxpKT0+e2lmKG51bGw9PT10KXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZVJTSVNpZ25hbCh0LG8pO3JldHVybmAke2V9ICR7b2UobixpLmRpc3BsYXlTaWduYWwsITApfWB9LHByb2Nlc3NTdG9jaFNpZ25hbDooZSx0LG8saSxuLHIpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IHM9aWUuY29tcHV0ZVN0b2NoU2lnbmFsKHQsbyxpLG4pO3JldHVybmAke2V9ICR7b2UocyxyLmRpc3BsYXlTaWduYWwsITApfWB9LHByb2Nlc3NDQ0kyMFNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlQ0NJMjBTaWduYWwodCxvKTtyZXR1cm5gJHtlfSAke29lKG4saS5kaXNwbGF5U2lnbmFsLCEwKX1gfSxwcm9jZXNzQURYU2lnbmFsOihlLHQsbyxpLG4scixzKT0+e2lmKG51bGw9PT10fHxudWxsPT09b3x8bnVsbD09PWkpcmV0dXJuIGU7Y29uc3QgYT1pZS5jb21wdXRlQURYU2lnbmFsKHQsbyxpLG4scik7cmV0dXJuYCR7ZX0gJHtvZShhLHMuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc0FPU2lnbmFsOihlLHQsbyxpLG4pPT57aWYobnVsbD09PXR8fG51bGw9PT1vfHxudWxsPT09aSlyZXR1cm4gZTtjb25zdCByPWllLmNvbXB1dGVBT1NpZ25hbCh0LG8saSk7cmV0dXJuYCR7ZX0gJHtvZShyLG4uZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc01vbVNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlTW9tU2lnbmFsKHQsbyk7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc01BQ0RTaWduYWw6KGUsdCxvLGkpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZU1BQ0RTaWduYWwodCxvKTtyZXR1cm5gJHtlfSAke29lKG4saS5kaXNwbGF5U2lnbmFsLCEwKX1gfSxwcm9jZXNzQkJCdXlTaWduYWw6KGUsdCxvLGkpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZUJCQnV5U2lnbmFsKHQsbyk7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc0JCU2VsbFNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlQkJTZWxsU2lnbmFsKHQsbyk7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc1BTQVJTaWduYWw6KGUsdCxvLGkpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZVBTQVJTaWduYWwodCxvKQo7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc1JlY29tbWVuZFNpZ25hbDplPT57aWYobnVsbD09PWV8fCEoMCxILmlzTnVtYmVyKShlKSlyZXR1cm4gZTtjb25zdCB0PWllLmNvbXB1dGVSZWNvbW1lbmRTaWduYWwoZSk7cmV0dXJuIHZvaWQgMD09PXQ/ZTpgJHtvZSh0LCEwKX1gfSxwcm9jZXNzU2ltcGxlU2lnbmFsOihlLHQsbyk9PntpZihudWxsPT09dHx8IiZtZGFzaDsiPT09ZSlyZXR1cm4gZTtjb25zdCBpPWllLmNvbXB1dGVTaW1wbGVTaWduYWwodCk7cmV0dXJuYCR7ZX0gJHtvZShpLG8uZGlzcGxheVNpZ25hbCwhMCl9YH19LHJlPWU9PntsZXQgdCxvO3JldHVybiBlPT09dGUuU1RST05HX1NFTEwudGl0bGUmJih0PVstMSwtLjVdLG89LS41KSxlPT09dGUuU0VMTC50aXRsZSYmKHQ9Wy0uNSwtLjFdLG89LS4xKSxlPT09dGUuTkVVVFJBTC50aXRsZSYmKHQ9Wy0uMSwuMV0pLGU9PT10ZS5CVVkudGl0bGUmJih0PVsuMSwuNV0sbz0uMSksZT09PXRlLlNUUk9OR19CVVkudGl0bGUmJih0PVsuNSwxXSxvPS41KSx7cmlnaHQ6dCxub3RFcXVhbDpvfX0sc2U9KGUsdCk9PntpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBvPWUubWFwKChlPT5yZShlKSkpLGk9W10sbj1bXTtmb3IoY29uc3QgZSBvZiBvKXtpZih2b2lkIDAhPT1lLm5vdEVxdWFsKXtvLmZpbHRlcigodD0+dC5ub3RFcXVhbCE9PWUubm90RXF1YWwmJih0LmVxdWFsPT09ZS5ub3RFcXVhbHx8dC5yaWdodCYmKHQucmlnaHRbMF09PT1lLm5vdEVxdWFsfHx0LnJpZ2h0WzFdPT09ZS5ub3RFcXVhbCkpKSkubGVuZ3RofHxpLnB1c2goe2xlZnQ6dCxvcGVyYXRpb246Im5lcXVhbCIscmlnaHQ6ZS5ub3RFcXVhbH0pfWUucmlnaHQmJm4ucHVzaCh7bGVmdDp0LG9wZXJhdGlvbjoiaW5fcmFuZ2UiLHJpZ2h0OmUucmlnaHR9KSx2b2lkIDAhPT1lLmVxdWFsJiZuLnB1c2goe2xlZnQ6dCxvcGVyYXRpb246ImVxdWFsIixyaWdodDplLmVxdWFsfSl9cmV0dXJue2ZpbHRlcjppLGZpbHRlcjJBbmRQYXJ0Om4sZmlsdGVyMkZsYWc6ITB9fWNvbnN0IG89cmUoZSk7aWYoMD09PW8uZXF1YWwpcmV0dXJue2xlZnQ6dCxvcGVyYXRpb246ImVxdWFsIixyaWdodDowfTtjb25zdCBpPVt7bGVmdDp0LG9wZXJhdGlvbjoiaW5fcmFuZ2UiLHJpZ2h0Om8ucmlnaHR9XTtyZXR1cm4gdm9pZCAwIT09by5ub3RFcXVhbCYmaS5wdXNoKHtsZWZ0OnQsb3BlcmF0aW9uOiJuZXF1YWwiLHJpZ2h0Om8ubm90RXF1YWx9KSxpfTt2YXIgYWU9byg0NDM1NTcpO2NvbnN0IGxlPVt7aWQ6IjFtIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtaW51dGVzIixjb3VudDoxLHJlcGxhY2U6e251bWJlcjpTdHJpbmcoMSl9fSxvKDcwNDk1OCkpLHNob3J0VGl0bGU6YDE8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbyg2MTg0KSl9PC9zdXA+YCx2YWx1ZToxfSx7aWQ6IjVtIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtaW51dGVzIixjb3VudDo1LHJlcGxhY2U6e251bWJlcjpTdHJpbmcoNSl9fSxvKDcwNDk1OCkpLHNob3J0VGl0bGU6YDU8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbyg2MTg0KSl9PC9zdXA+YCx2YWx1ZTo1fSx7aWQ6IjE1bSIsdGl0bGU6Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gbWludXRlcyIsY291bnQ6MTUscmVwbGFjZTp7bnVtYmVyOlN0cmluZygxNSl9fSxvKDcwNDk1OCkpLHNob3J0VGl0bGU6YDE1PHN1cCBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc3VwIj4ke18udChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LG8oNjE4NCkpfTwvc3VwPmAsdmFsdWU6MTV9LHtpZDoiMzBtIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtaW51dGVzIixjb3VudDozMCxyZXBsYWNlOntudW1iZXI6U3RyaW5nKDMwKX19LG8oNzA0OTU4KSksc2hvcnRUaXRsZTpgMzA8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbyg2MTg0KSl9PC9zdXA+YCx2YWx1ZTozMH0se2lkOiIxaCIsdGl0bGU6Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gaG91cnMiLGNvdW50OjEscmVwbGFjZTp7bnVtYmVyOlN0cmluZygxKX19LG8oODI0MjE4KSksc2hvcnRUaXRsZTpgMTxzdXAgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXN1cCI+JHtfLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxvKDI0MDczKSl9PC9zdXA+YCx2YWx1ZTo2MH0se2lkOiIyaCIsdGl0bGU6Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gaG91cnMiLGNvdW50OjIscmVwbGFjZTp7bnVtYmVyOlN0cmluZygyKX19LG8oODI0MjE4KSksc2hvcnRUaXRsZTpgMjxzdXAgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXN1cCI+JHtfLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxvKDI0MDczKSl9PC9zdXA+YCx2YWx1ZToxMjB9LHtpZDoiNGgiLHRpdGxlOl8udChudWxsLHtwbHVyYWw6IntudW1iZXJ9IGhvdXJzIixjb3VudDo0LHJlcGxhY2U6e251bWJlcjpTdHJpbmcoNCl9fSxvKDgyNDIxOCkpLHNob3J0VGl0bGU6YDQ8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbygyNDA3MykpfTwvc3VwPmAsdmFsdWU6MjQwfSx7aWQ6IjFEIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBkYXlzIixjb3VudDoxLHJlcGxhY2U6e251bWJlcjpTdHJpbmcoMSl9fSxvKDI0NTI2MikpLHNob3J0VGl0bGU6YDE8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbygxOTE0MzIpKX08L3N1cD5gLHZhbHVlOm51bGx9LHtpZDoiMVciLAp0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSB3ZWVrcyIsY291bnQ6MSxyZXBsYWNlOntudW1iZXI6U3RyaW5nKDEpfX0sbyg4MzI3MTcpKSxzaG9ydFRpdGxlOmAxPHN1cCBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc3VwIj4ke18udChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LG8oMzIzNTcwKSl9PC9zdXA+YCx2YWx1ZToiMVcifSx7aWQ6IjFNIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtb250aHMiLGNvdW50OjEscmVwbGFjZTp7bnVtYmVyOlN0cmluZygxKX19LG8oNzIwODkzKSksc2hvcnRUaXRsZTpgMTxzdXAgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXN1cCI+JHtfLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxvKDg4OTEwKSl9PC9zdXA+YCx2YWx1ZToiMU0ifV0sY2U9IjFEIjtmdW5jdGlvbiBkZShlKXtyZXR1cm4gbGUuZmluZCgodD0+dC5pZD09PWUpKX1mdW5jdGlvbiBoZShlLHQpe2lmKGU9ZnVuY3Rpb24oZSl7aWYoSXRbZV0mJkl0W2VdLmFsaWFzKXJldHVybiBJdFtlXS5hbGlhcztyZXR1cm4gZX0oZSksLyhjaGFuZ2V8Y2hhbmdlX2FicykuXGR7MSwzfS8udGVzdChlKXx8SXRbZV0mJkl0W2VdLnVzZURlZmF1bHRUaW1lSW50ZXJ2YWxGcm9tRmllbGROYW1lKXJldHVybiBlLnJlcGxhY2UoIi4iLCJ8Iik7aWYoIXR8fHQ9PT1jZXx8SXRbZV0mJkl0W2VdLnVzZURlZmF1bHRUaW1lSW50ZXJ2YWwpcmV0dXJuIGU7Y29uc3Qgbz1kZSh0KTtpZihvKXtjb25zdCB0PW8udmFsdWV8fCIiO2lmKEl0W2VdJiZJdFtlXS5jdXN0b21SZXNvbHV0aW9ucyl7Y29uc3Qgbz1JdFtlXS5jdXN0b21SZXNvbHV0aW9ucztpZih0JiYtMSE9PW8uaW5kZXhPZih0LnRvU3RyaW5nKCkpKXJldHVybmAke2V9fCR7dH1gfX1yZXR1cm4gZX12YXIgdWUsX2U9byg0OTExNjUpLHBlPW8oMTY4ODI0KTtmdW5jdGlvbiBtZShlKXtyZXR1cm4gZSYmKDAsSC5pc051bWJlcikoZSk/X2UuZGF0ZUZvcm1hdEZ1bmN0aW9uc1sieXl5eS1NTS1kZCJdKCgwLHBlLmdldERhdGVGcm9tWVlZWU1NREQpKGUpLCEwKToi4oCUIn0hZnVuY3Rpb24oZSl7ZS5TdG9jaz0ic3RvY2siLGUuQ29tbW9uPSJjb21tb24iLGUuRHI9ImRyIixlLlByZWZlcnJlZD0icHJlZmVycmVkIixlLkNsb3NlZGVuZD0iY2xvc2VkZW5kIixlLkV0Zj0iZXRmIixlLkV0bj0iZXRuIixlLk11dHVhbD0ibXV0dWFsIixlLlJlaXQ9InJlaXQiLGUuVHJ1c3Q9InRydXN0IixlLlVuaXQ9InVuaXQiLGUuRnVuZD0iZnVuZCIsZS5TdHJ1Y3R1cmVkPSJzdHJ1Y3R1cmVkIixlLlNwb3Q9InNwb3QiLGUuRnV0dXJlcz0iZnV0dXJlcyIsZS5QZXJwZXR1YWw9InBlcnBldHVhbCJ9KHVlfHwodWU9e30pKTtjb25zdCBnZT17Y29tbW9uOlsiY29tbW9uIiwiZm9yZWlnbi1pc3N1ZXIiXSxzdG9jazpbImNvbW1vbiJdLGRyOlsiIiwiZm9yZWlnbi1pc3N1ZXIiXSxwcmVmZXJyZWQ6WyJwcmVmZXJyZWQiXSxmdW5kOlsiZnVuZCJdLHN0cnVjdHVyZWQ6WyIiXSxzcG90Olsic3BvdCJdLGZ1dHVyZXM6WyJmdXR1cmVzIl19LHZlPXtjbG9zZWRlbmQ6WyJjbG9zZWRlbmQiXSxldGY6WyJldGYiLCJldGYsb2RkIiwiZXRmLG90YyIsImV0ZixjZmQiXSxldG46WyJldG4iXSxtdXR1YWw6WyJtdXR1YWwiXSxyZWl0OlsicmVpdCIsInJlaXQsY2ZkIiwidHJ1c3QscmVpdCJdLHRydXN0OlsidHJ1c3QiXSx1bml0OlsidW5pdCJdfSxmZT17cGVycGV0dWFsOlsicGVycGV0dWFsIl19O2Z1bmN0aW9uIHllKGUpe2xldCB0PVtdLG89W107aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgaSBvZiBlKXtjb25zdFtlLG5dPVNlKGkpO3Q9Wy4uLnQsLi4uZV0sbz1bLi4ubywuLi5uXX1lbHNlW3Qsb109U2UoZSk7cmV0dXJuIG89Wy4uLm5ldyBTZXQobyldLHQubGVuZ3RoJiZvLmxlbmd0aD9bd2UoInR5cGUiLHQpLHdlKCJzdWJ0eXBlIixvKV06dC5sZW5ndGg/W3dlKCJ0eXBlIix0KV06W3dlKCJzdWJ0eXBlIixvKV19ZnVuY3Rpb24gYmUoZSl7Y29uc3QgdD1bXSxvPVtdLmNvbmNhdChlKTtmb3IoY29uc3QgZSBvZiBvKUNlKGUpJiZ0LnB1c2goe2xlZnQ6InR5cGUiLG9wZXJhdGlvbjoiaW5fcmFuZ2UiLHJpZ2h0OmdlW2VdfSksa2UoZSkmJnQucHVzaCh7bGVmdDoidHlwZXNwZWNzIixvcGVyYXRpb246ImhhcyIscmlnaHQ6ZmVbZV19KTtyZXR1cm57ZmlsdGVyMkZsYWc6ITAsZmlsdGVyMkFuZFBhcnQ6dCxmaWx0ZXI6W119fWZ1bmN0aW9uIFNlKGUpe2xldCB0PVtdLG89W107cmV0dXJuImV0biI9PT1lP1tbInN0cnVjdHVyZWQiXSxbImV0biJdXTooIWZ1bmN0aW9uKGUpe3JldHVybiBlIGluIHZlfShlKT8hZnVuY3Rpb24oZSl7cmV0dXJuImNvbW1vbiI9PT1lfHwicHJlZmVycmVkIj09PWV8fCJzdG9jayI9PT1lfShlKT9DZShlKT8odD1bZV0sbz1nZVtlXSk6dD1bZV06KHQucHVzaCgic3RvY2siKSxvPWdlW2VdKToodC5wdXNoKCJmdW5kIiksbz12ZVtlXSksW3Qsb10pfWZ1bmN0aW9uIHdlKGUsdCl7Y29uc3Qgbz1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZWR1Y2UoKGZ1bmN0aW9uKGUsdCxvKXtyZXR1cm5+ZS5pbmRleE9mKHQpfHxlLnB1c2godCksZX0pLFtdKX0odCksaT0xPT09by5sZW5ndGg7cmV0dXJue2xlZnQ6ZSxvcGVyYXRpb246aT8iZXF1YWwiOiJpbl9yYW5nZSIscmlnaHQ6aT9vWzBdOm99fWZ1bmN0aW9uIENlKGUpe3JldHVybiBlIGluIGdlfWZ1bmN0aW9uIGtlKGUpe3JldHVybiBlIGluIGZlfXZhciBUZT1vKDM4MDIwNyk7Y29uc3QgRWU9e25hbWU6W18udChudWxsLHZvaWQgMCxvKDgyODQyMCkpLF8udChudWxsLHZvaWQgMCxvKDgyODQyMCkpXSxkZXNjcmlwdGlvbjpbXy50KG51bGwsdm9pZCAwLG8oMzk3OTg3KSksXy50KG51bGwsdm9pZCAwLG8oMzk3OTg3KSldLGNvdW50cnk6W18udChudWxsLHZvaWQgMCxvKDQ0MzYyNykpLF8udChudWxsLHZvaWQgMCxvKDQ0MzYyNykpXSx0eXBlOltfLnQobnVsbCx2b2lkIDAsbygyODcyNDQpKSxfLnQobnVsbCx2b2lkIDAsbygyODcyNDQpKV0sCmFmdGVyX3RheF9tYXJnaW46W18udChudWxsLHZvaWQgMCxvKDE3NTE0MCkpLF8udChudWxsLHZvaWQgMCxvKDE3ODExNCkpXSxhdmVyYWdlX3ZvbHVtZTpbXy50KG51bGwsdm9pZCAwLG8oMjk3OTMwKSksXy50KG51bGwsdm9pZCAwLG8oMjUyNzc4KSldLGF2ZXJhZ2Vfdm9sdW1lXzMwZF9jYWxjOltfLnQobnVsbCx2b2lkIDAsbyg1NjY0MzQpKSxfLnQobnVsbCx2b2lkIDAsbyg0OTU2MzIpKV0sYXZlcmFnZV92b2x1bWVfNjBkX2NhbGM6W18udChudWxsLHZvaWQgMCxvKDk3NzA2MikpLF8udChudWxsLHZvaWQgMCxvKDI2OTE4MSkpXSxhdmVyYWdlX3ZvbHVtZV85MGRfY2FsYzpbXy50KG51bGwsdm9pZCAwLG8oNTcyNTg0KSksXy50KG51bGwsdm9pZCAwLG8oNzk3NjA0KSldLGJhc2ljX2Vwc19uZXRfaW5jb21lOltfLnQobnVsbCx2b2lkIDAsbyg3MTYxMSkpLF8udChudWxsLHZvaWQgMCxvKDMyNzE0OSkpXSxiZXRhXzFfeWVhcjpbXy50KG51bGwsdm9pZCAwLG8oMTg2NzI2KSksXy50KG51bGwsdm9pZCAwLG8oMTgxMjI4KSldLGJldGFfM195ZWFyOltfLnQobnVsbCx2b2lkIDAsbyg4OTcwMDcpKSxfLnQobnVsbCx2b2lkIDAsbyg4NjcwNDApKV0sYmV0YV81X3llYXI6W18udChudWxsLHZvaWQgMCxvKDEyODc5MSkpLF8udChudWxsLHZvaWQgMCxvKDMwMzU3NSkpXSxjYW5kbGVzdGljazpbXy50KG51bGwse2NvbnRleHQ6ImNhbmRsZXN0aWNrX3BhdHRlcm4ifSxvKDc1NDkyNSkpLF8udChudWxsLHtjb250ZXh0OiJjYW5kbGVzdGlja19wYXR0ZXJuIn0sbyg3NTQ5MjUpKV0sY3VycmVudF9yYXRpbzpbXy50KG51bGwsdm9pZCAwLG8oNDYwMTM5KSksXy50KG51bGwsdm9pZCAwLG8oMjQzNTA3KSldLGRlYnRfdG9fYXNzZXRzOltfLnQobnVsbCx2b2lkIDAsbyg1NDczNjIpKSxfLnQobnVsbCx2b2lkIDAsbyg1NDczNjIpKV0sZGVidF90b19lcXVpdHk6W18udChudWxsLHZvaWQgMCxvKDMwNjk2NikpLF8udChudWxsLHZvaWQgMCxvKDIzNzI0MSkpXSxkaXZpZGVuZHNfcGFpZDpbXy50KG51bGwsdm9pZCAwLG8oNTUwMjE2KSksXy50KG51bGwsdm9pZCAwLG8oMTg4MzYyKSldLGRpdmlkZW5kc19wZXJfc2hhcmVfZnE6W18udChudWxsLHZvaWQgMCxvKDI5MjIyMCkpLF8udChudWxsLHZvaWQgMCxvKDExMTgyOSkpXSxkaXZpZGVuZHNfeWllbGQ6W18udChudWxsLHZvaWQgMCxvKDk3NjYwNykpLF8udChudWxsLHZvaWQgMCxvKDQzODgxMCkpXSxkaXZpZGVuZF95aWVsZF9yZWNlbnQ6W18udChudWxsLHZvaWQgMCxvKDk3NjYwNykpLF8udChudWxsLHZvaWQgMCxvKDQzODgxMCkpXSxkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnk6W18udChudWxsLHZvaWQgMCxvKDI3NDcyOSkpLF8udChudWxsLHZvaWQgMCxvKDExNTMwNCkpXSxlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtOltfLnQobnVsbCx2b2lkIDAsbygxMDM3OTEpKSxfLnQobnVsbCx2b2lkIDAsbygyNTU4NTcpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg5ODY1MTYpKSxfLnQobnVsbCx2b2lkIDAsbyg5ODY1MTYpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnE6W18udChudWxsLHZvaWQgMCxvKDgwMjU5MCkpLF8udChudWxsLHZvaWQgMCxvKDIwNTU0OCkpXSxlYXJuaW5nc19wZXJfc2hhcmVfZnE6W18udChudWxsLHZvaWQgMCxvKDkzMTA5MykpLF8udChudWxsLHZvaWQgMCxvKDkzMTA5MykpXSxlYXJuaW5nc19yZWxlYXNlX2RhdGU6W18udChudWxsLHZvaWQgMCxvKDUwMjEyOSkpLF8udChudWxsLHZvaWQgMCxvKDUwMjEyOSkpXSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZTpbXy50KG51bGwsdm9pZCAwLG8oNzcwNDI0KSksXy50KG51bGwsdm9pZCAwLG8oNzcwNDI0KSldLGViaXRkYTpbXy50KG51bGwsdm9pZCAwLG8oNTQwOTkpKSxfLnQobnVsbCx2b2lkIDAsbyg2OTk3KSldLGVudGVycHJpc2VfdmFsdWVfZWJpdGRhX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oMTExMTI1KSksXy50KG51bGwsdm9pZCAwLG8oNzc2NDY0KSldLGVudGVycHJpc2VfdmFsdWVfZnE6W18udChudWxsLHZvaWQgMCxvKDUzMTI4OCkpLF8udChudWxsLHZvaWQgMCxvKDI2MzIzMCkpXSxleGNoYW5nZTpbXy50KG51bGwsdm9pZCAwLG8oODI2NjA3KSksXy50KG51bGwsdm9pZCAwLG8oODI2NjA3KSldLGZyZWVfY2FzaF9mbG93X21hcmdpbl9meTpbXy50KG51bGwsdm9pZCAwLG8oNTMxMTczKSksXy50KG51bGwsdm9pZCAwLG8oNTMxMTczKSldLGZyZWVfY2FzaF9mbG93X21hcmdpbl90dG06W18udChudWxsLHZvaWQgMCxvKDkyNDU1MykpLF8udChudWxsLHZvaWQgMCxvKDkyNDU1MykpXSxncm9zc19tYXJnaW46W18udChudWxsLHZvaWQgMCxvKDY2MTg5MykpLF8udChudWxsLHZvaWQgMCxvKDM3ODM5OSkpXSxncm9zc19wcm9maXQ6W18udChudWxsLHZvaWQgMCxvKDg3MDI2MikpLF8udChudWxsLHZvaWQgMCxvKDg3MDI2MikpXSxncm9zc19wcm9maXRfZnE6W18udChudWxsLHZvaWQgMCxvKDQyNjY1MikpLF8udChudWxsLHZvaWQgMCxvKDQyNjY1MikpXSxpbmRleDpbXy50KG51bGwsdm9pZCAwLG8oMTIyOTAwKSksXy50KG51bGwsdm9pZCAwLG8oMTIyOTAwKSldLGluZHVzdHJ5OltfLnQobnVsbCx2b2lkIDAsbyg4Nzc2MSkpLF8udChudWxsLHZvaWQgMCxvKDg3NzYxKSldLGxhc3RfYW5udWFsX2VwczpbXy50KG51bGwsdm9pZCAwLG8oMTEyMjc4KSksXy50KG51bGwsdm9pZCAwLG8oMTEyMjc4KSldLGxhc3RfYW5udWFsX3JldmVudWU6W18udChudWxsLHZvaWQgMCxvKDI4NTMzMykpLF8udChudWxsLHZvaWQgMCxvKDgzMTc4MSkpXSxsb25nX3Rlcm1fY2FwaXRhbDpbXy50KG51bGwsdm9pZCAwLG8oNTQ4MzUyKSksXy50KG51bGwsdm9pZCAwLG8oNTQ4MzUyKSldLG1hcmtldF9jYXBfYmFzaWM6W18udChudWxsLHZvaWQgMCxvKDI3ODYxNCkpLF8udChudWxsLHZvaWQgMCxvKDI2NTYyKSldLG1hcmtldF9jYXBfY2FsYzpbXy50KG51bGwsdm9pZCAwLG8oMjc4NjE0KSksXy50KG51bGwsdm9pZCAwLG8oMjY1NjIpKV0sCm1hcmtldF9jYXBfZGlsdXRlZF9jYWxjOltfLnQobnVsbCx2b2lkIDAsbyg2ODczMzIpKSxfLnQobnVsbCx2b2lkIDAsbygyMTQyNzkpKV0sbmV0X2RlYnQ6W18udChudWxsLHZvaWQgMCxvKDUyNjY5OCkpLF8udChudWxsLHZvaWQgMCxvKDg0NTQ5NikpXSxuZXRfaW5jb21lOltfLnQobnVsbCx2b2lkIDAsbygxMzE2MzMpKSxfLnQobnVsbCx2b2lkIDAsbygxODI0MzcpKV0sbnVtYmVyX29mX2VtcGxveWVlczpbXy50KG51bGwsdm9pZCAwLG8oMTY0MDQyKSksXy50KG51bGwsdm9pZCAwLG8oNjc3ODEzKSldLG51bWJlcl9vZl9zaGFyZWhvbGRlcnM6W18udChudWxsLHZvaWQgMCxvKDU3OTQwMykpLF8udChudWxsLHZvaWQgMCxvKDE2MTE1MikpXSxvcGVuX3ByaWNlOltfLnQobnVsbCx2b2lkIDAsbygzMjEwMjkpKSxfLnQobnVsbCx2b2lkIDAsbyg5Nzc4MSkpXSxvcGVyYXRpbmdfbWFyZ2luOltfLnQobnVsbCx2b2lkIDAsbyg4MDA0MzMpKSxfLnQobnVsbCx2b2lkIDAsbygzMzI5OSkpXSxwcmVfdGF4X21hcmdpbjpbXy50KG51bGwsdm9pZCAwLG8oODI2MTE1KSksXy50KG51bGwsdm9pZCAwLG8oNDIzMDUpKV0scHJlZmVycmVkX2RpdmlkZW5kczpbXy50KG51bGwsdm9pZCAwLG8oNDkzMjAwKSksXy50KG51bGwsdm9pZCAwLG8oOTIyNzE0KSldLHByZXZfY2xvc2VfcHJpY2U6W18udChudWxsLHZvaWQgMCxvKDM2NjI0OCkpLF8udChudWxsLHZvaWQgMCxvKDgzMjEyMykpXSxwcmljZV81Ml93ZWVrX2hpZ2g6W18udChudWxsLHZvaWQgMCxvKDE5MzI1OSkpLF8udChudWxsLHZvaWQgMCxvKDkwMDM3NSkpXSxwcmljZV81Ml93ZWVrX2xvdzpbXy50KG51bGwsdm9pZCAwLG8oNjY5MzA4KSksXy50KG51bGwsdm9pZCAwLG8oOTYyNjU0KSldLHByaWNlX2Jvb2tfcmF0aW86W18udChudWxsLHZvaWQgMCxvKDE3MTM5MSkpLF8udChudWxsLHZvaWQgMCxvKDYyMjE1KSldLHByaWNlX2Vhcm5pbmdzX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oOTE3NzE1KSksXy50KG51bGwsdm9pZCAwLG8oMjEzMjQ4KSldLHByaWNlX3BlcmNlbnRfY2hhbmdlXzFfd2VlazpbXy50KG51bGwsdm9pZCAwLG8oOTg0MTQpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mjc0MjgpKV0scHJpY2VfcGVyY2VudF9jaGFuZ2VfNF93ZWVrOltfLnQobnVsbCx2b2lkIDAsbyg2MzYzNTEpKSxfLnQobnVsbCx2b2lkIDAsbygzOTA2NTIpKV0scHJpY2VfcGVyY2VudF9jaGFuZ2VfNTJfd2VlazpbXy50KG51bGwsdm9pZCAwLG8oODM0MTIxKSksXy50KG51bGwsdm9pZCAwLG8oMjM2Nzk4KSldLHByaWNlX3JldmVudWVfdHRtOltfLnQobnVsbCx2b2lkIDAsbygzMTMyNDYpKSxfLnQobnVsbCx2b2lkIDAsbyg2MzE0MTApKV0scHJpY2Vfc2FsZXNfcmF0aW86W18udChudWxsLHZvaWQgMCxvKDgxOTM3MSkpLF8udChudWxsLHZvaWQgMCxvKDI3OTAxMCkpXSxxdWlja19yYXRpbzpbXy50KG51bGwsdm9pZCAwLG8oNDAzMTMxKSksXy50KG51bGwsdm9pZCAwLG8oNTkyOTgxKSldLHJldHVybl9vZl9pbnZlc3RlZF9jYXBpdGFsX3BlcmNlbnRfdHRtOltfLnQobnVsbCx2b2lkIDAsbygxNzg1MTMpKSxfLnQobnVsbCx2b2lkIDAsbygzODk1MjUpKV0scmV0dXJuX29uX2Fzc2V0czpbXy50KG51bGwsdm9pZCAwLG8oMTg1MTAzKSksXy50KG51bGwsdm9pZCAwLG8oNTg5OTY0KSldLHJldHVybl9vbl9lcXVpdHk6W18udChudWxsLHZvaWQgMCxvKDExOTUyMykpLF8udChudWxsLHZvaWQgMCxvKDE3MDk1MikpXSxyZXR1cm5fb25faW52ZXN0ZWRfY2FwaXRhbDpbXy50KG51bGwsdm9pZCAwLG8oODA5NzI2KSksXy50KG51bGwsdm9pZCAwLG8oMzg5NTI1KSldLHJldmVudWVfcGVyX2VtcGxveWVlOltfLnQobnVsbCx2b2lkIDAsbyg5NDIwMjUpKSxfLnQobnVsbCx2b2lkIDAsbyg3OTM3NTApKV0sc2VjdG9yOltfLnQobnVsbCx2b2lkIDAsbygyNzg3MjkpKSxfLnQobnVsbCx2b2lkIDAsbygyNzg3MjkpKV0sc3VibWFya2V0OltfLnQobnVsbCx2b2lkIDAsbygzNzA2ODcpKSxfLnQobnVsbCx2b2lkIDAsbygzNzA2ODcpKV0saXNfcHJpbWFyeTpbXy50KG51bGwsdm9pZCAwLG8oODE4MjczKSksXy50KG51bGwsdm9pZCAwLG8oODE4MjczKSldLGFjdGl2ZV9zeW1ib2w6W18udChudWxsLHZvaWQgMCxvKDQ0OTA2MCkpLF8udChudWxsLHZvaWQgMCxvKDQ0OTA2MCkpXSxlcHNfc3VycHJpc2VfZnE6W18udChudWxsLHZvaWQgMCxvKDI2OTk1NSkpLF8udChudWxsLHZvaWQgMCxvKDI2OTk1NSkpXSxlcHNfc3VycHJpc2VfcGVyY2VudF9mcTpbXy50KG51bGwsdm9pZCAwLG8oNTI0ODE3KSksXy50KG51bGwsdm9pZCAwLG8oNTI0ODE3KSldLHRvdGFsX2Fzc2V0czpbXy50KG51bGwsdm9pZCAwLG8oNDAyMikpLF8udChudWxsLHZvaWQgMCxvKDY2Mzg2MCkpXSx0b3RhbF9jYXBpdGFsOltfLnQobnVsbCx2b2lkIDAsbyg4MTIzMzUpKSxfLnQobnVsbCx2b2lkIDAsbygxNDk1MDMpKV0sdG90YWxfY3VycmVudF9hc3NldHM6W18udChudWxsLHZvaWQgMCxvKDU3OTEwOSkpLF8udChudWxsLHZvaWQgMCxvKDg4NDEyMykpXSx0b3RhbF9kZWJ0OltfLnQobnVsbCx2b2lkIDAsbyg1Njg5MzQpKSxfLnQobnVsbCx2b2lkIDAsbyg0OTUyMTApKV0sdG90YWxfcmV2ZW51ZTpbXy50KG51bGwsdm9pZCAwLG8oNDM2NDc0KSksXy50KG51bGwsdm9pZCAwLG8oNTY4MDkxKSldLHRvdGFsX2xpYWJpbGl0aWVzX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg2MDY5MjApKSxfLnQobnVsbCx2b2lkIDAsbyg4Mjk2NTYpKV0sdG90YWxfbGlhYmlsaXRpZXNfZnE6W18udChudWxsLHZvaWQgMCxvKDMzNDE3MSkpLF8udChudWxsLHZvaWQgMCxvKDE5NDA5MSkpXSx0b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmdfZnVuZGFtZW50YWw6W18udChudWxsLHZvaWQgMCxvKDU0MzA5NSkpLF8udChudWxsLHZvaWQgMCxvKDM3OTkzMikpXSx2b2x1bWU6W18udChudWxsLHZvaWQgMCxvKDI0NzA2MikpLF8udChudWxsLHtjb250ZXh0OiJzdHVkeSJ9LG8oNTk2MTY4KSldLHJlbGF0aXZlX3ZvbHVtZTpbXy50KG51bGwsdm9pZCAwLG8oNzgzMTkzKSksXy50KG51bGwsdm9pZCAwLG8oMjUwNjU0KSldLApyZWxhdGl2ZV92b2x1bWVfYXRfdGltZTpbXy50KG51bGwsdm9pZCAwLG8oMTkzMDY2KSksXy50KG51bGwsdm9pZCAwLG8oNjk5MDkwKSldLGNoYW5nZV9hYnM6W18udChudWxsLHZvaWQgMCxvKDY3MzQ4NykpLF8udChudWxsLHZvaWQgMCxvKDIwNTgzNCkpXSxjaGFuZ2U6W18udChudWxsLHZvaWQgMCxvKDk2OTQ3MikpLF8udChudWxsLHZvaWQgMCxvKDIxMDgxNSkpXSwiY2hhbmdlLjEiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDE1NzUxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDE1NzUxKSl9KV0sImNoYW5nZV9hYnMuMSI6W18udChudWxsLHZvaWQgMCxvKDY1NzExNCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg0MTU3NTEpKX0pLF8udChudWxsLHZvaWQgMCxvKDI5NTYyMCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg0MTU3NTEpKX0pXSwiY2hhbmdlLjUiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oODAxNDgwKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oODAxNDgwKSl9KV0sImNoYW5nZV9hYnMuNSI6W18udChudWxsLHZvaWQgMCxvKDY1NzExNCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MDE0ODApKX0pLF8udChudWxsLHZvaWQgMCxvKDI5NTYyMCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MDE0ODApKX0pXSwiY2hhbmdlLjE1IjpbXy50KG51bGwsdm9pZCAwLG8oNzkwOTQ5KSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSksXy50KG51bGwsdm9pZCAwLG8oNjAyNjAxKSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSldLCJjaGFuZ2VfYWJzLjE1IjpbXy50KG51bGwsdm9pZCAwLG8oNjU3MTE0KSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSksXy50KG51bGwsdm9pZCAwLG8oMjk1NjIwKSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSldLCJjaGFuZ2UuNjAiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KV0sImNoYW5nZV9hYnMuNjAiOltfLnQobnVsbCx2b2lkIDAsbyg2NTcxMTQpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KSxfLnQobnVsbCx2b2lkIDAsbygyOTU2MjApKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KV0sImNoYW5nZS4yNDAiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNTUyNzQzKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNTUyNzQzKSl9KV0sImNoYW5nZV9hYnMuMjQwIjpbXy50KG51bGwsdm9pZCAwLG8oNjU3MTE0KSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDU1Mjc0MykpfSksXy50KG51bGwsdm9pZCAwLG8oMjk1NjIwKSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDU1Mjc0MykpfSldLCJjaGFuZ2UuMVciOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KV0sImNoYW5nZV9hYnMuMVciOltfLnQobnVsbCx2b2lkIDAsbyg2NTcxMTQpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KSxfLnQobnVsbCx2b2lkIDAsbygyOTU2MjApKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KV0sImNoYW5nZS4xTSI6W18udChudWxsLHZvaWQgMCxvKDc5MDk0OSkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pLF8udChudWxsLHZvaWQgMCxvKDYwMjYwMSkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pXSwiY2hhbmdlX2Ficy4xTSI6W18udChudWxsLHZvaWQgMCxvKDY1NzExNCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pLF8udChudWxsLHZvaWQgMCxvKDI5NTYyMCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pXSxjdXJyZW5jeTpbXy50KG51bGwsdm9pZCAwLG8oMTkwNjk2KSksXy50KG51bGwsdm9pZCAwLG8oMTkwNjk2KSldLHByZV9jaGFuZ2U6W18udChudWxsLHZvaWQgMCxvKDMyNTcxMykpLF8udChudWxsLHZvaWQgMCxvKDIwODg0NikpXSxwb3N0X2NoYW5nZTpbXy50KG51bGwsdm9pZCAwLG8oMzk5OTY4KSksXy50KG51bGwsdm9pZCAwLG8oNjczNzAzKSldLGJpZDpbXy50KG51bGwsdm9pZCAwLG8oNDI5NTA4KSksXy50KG51bGwsdm9pZCAwLG8oNDI5NTA4KSldLGFzazpbXy50KG51bGwsdm9pZCAwLG8oNjcyNzEwKSksXy50KG51bGwsdm9pZCAwLG8oNjcyNzEwKSldLGNsb3NlOltfLnQobnVsbCx2b2lkIDAsbyg4MjA4NjYpKSxfLnQobnVsbCx2b2lkIDAsbyg4MjA4NjYpKV0sb3BlbjpbXy50KG51bGwsdm9pZCAwLG8oOTc3ODEpKSxfLnQobnVsbCx2b2lkIDAsbyg5Nzc4MSkpXSxoaWdoOltfLnQobnVsbCx2b2lkIDAsbyg4NDU1NjMpKSxfLnQobnVsbCx2b2lkIDAsbyg4NDU1NjMpKV0sCmxvdzpbXy50KG51bGwsdm9pZCAwLG8oODg4Njc4KSksXy50KG51bGwsdm9pZCAwLG8oODg4Njc4KSldLGdhcDpbXy50KG51bGwsdm9pZCAwLG8oOTMwMDY5KSksXy50KG51bGwsdm9pZCAwLG8oOTMwMDY5KSldLHByaWNlX2Vhcm5pbmdzX3RvX2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDQyNDU0NSkpLF8udChudWxsLHZvaWQgMCxvKDEyMTk2OSkpXSxwcmljZV9zYWxlczpbXy50KG51bGwsdm9pZCAwLG8oMjYzMzM1KSksXy50KG51bGwsdm9pZCAwLG8oMjYzMzM1KSldLHByaWNlX2Jvb2tfZnE6W18udChudWxsLHZvaWQgMCxvKDc5NzQ1MCkpLF8udChudWxsLHZvaWQgMCxvKDYxMTQ1OSkpXSxwcmljZV9mcmVlX2Nhc2hfZmxvd190dG06W18udChudWxsLHZvaWQgMCxvKDMwNjM1NikpLF8udChudWxsLHZvaWQgMCxvKDgxNjk0NCkpXSxmbG9hdF9zaGFyZXNfb3V0c3RhbmRpbmc6W18udChudWxsLHZvaWQgMCxvKDE4ODU3NykpLF8udChudWxsLHZvaWQgMCxvKDcyMzA4OCkpXSxmcmVlX2Nhc2hfZmxvdzpbXy50KG51bGwsdm9pZCAwLG8oMTY3Njg4KSksXy50KG51bGwsdm9pZCAwLG8oMTQ0NjMpKV0sdG90YWxfc2hhcmVzX291dHN0YW5kaW5nOltfLnQobnVsbCx2b2lkIDAsbyg2MDUxNTkpKSxfLnQobnVsbCx2b2lkIDAsbyg2MDUxNTkpKV0sdG90YWxfc2hhcmVzX2RpbHV0ZWQ6W18udChudWxsLHZvaWQgMCxvKDU0MzUzMikpLF8udChudWxsLHZvaWQgMCxvKDU0MzUzMikpXSx0b3RhbF92YWx1ZV90cmFkZWQ6W18udChudWxsLHZvaWQgMCxvKDUwOTY3OSkpLF8udChudWxsLHZvaWQgMCxvKDIzNDA3MSkpXSxjaGFuZ2VfZnJvbV9vcGVuOltfLnQobnVsbCx2b2lkIDAsbyg5MzYwMzQpKSxfLnQobnVsbCx2b2lkIDAsbyg4NTM4OTUpKV0sY2hhbmdlX2Zyb21fb3Blbl9hYnM6W18udChudWxsLHZvaWQgMCxvKDM4Mjc1MSkpLF8udChudWxsLHZvaWQgMCxvKDYzMzQ1NCkpXSwiUGVyZi5XIjpbXy50KG51bGwsdm9pZCAwLG8oODQ2NjE0KSksXy50KG51bGwsdm9pZCAwLG8oNzgxOTkzKSldLCJQZXJmLjFNIjpbXy50KG51bGwsdm9pZCAwLG8oODIyODc1KSksXy50KG51bGwsdm9pZCAwLG8oNDY3OTgyKSldLCJQZXJmLjNNIjpbXy50KG51bGwsdm9pZCAwLG8oNjY0MjQyKSksXy50KG51bGwsdm9pZCAwLG8oNzc5MDgzKSldLCJQZXJmLjZNIjpbXy50KG51bGwsdm9pZCAwLG8oOTYwNjYzKSksXy50KG51bGwsdm9pZCAwLG8oNzY4Nzg2KSldLCJQZXJmLlkiOltfLnQobnVsbCx2b2lkIDAsbygxMjk4MDkpKSxfLnQobnVsbCx2b2lkIDAsbygxODM1NjQpKV0sIlBlcmYuWVREIjpbXy50KG51bGwsdm9pZCAwLG8oODUzMTAwKSksXy50KG51bGwsdm9pZCAwLG8oNjQ3NDcxKSldLCJQZXJmLjVZIjpbXy50KG51bGwsdm9pZCAwLG8oOTM1ODE5KSksXy50KG51bGwsdm9pZCAwLG8oNDkwNTc3KSldLCJQZXJmLkFsbCI6W18udChudWxsLHZvaWQgMCxvKDQ4NjMwMikpLF8udChudWxsLHZvaWQgMCxvKDgxNTQpKV0sIlZvbGF0aWxpdHkuVyI6W18udChudWxsLHZvaWQgMCxvKDE2MjI2NSkpLF8udChudWxsLHZvaWQgMCxvKDExMTU0OCkpXSwiVm9sYXRpbGl0eS5NIjpbXy50KG51bGwsdm9pZCAwLG8oNTYzMzYzKSksXy50KG51bGwsdm9pZCAwLG8oOTI5NTk0KSldLCJWb2xhdGlsaXR5LkQiOltfLnQobnVsbCx2b2lkIDAsbygzMzgzOTIpKSxfLnQobnVsbCx2b2lkIDAsbygzMzgzOTIpKV0sUlNJOltfLnQobnVsbCx2b2lkIDAsbyg4MTM0MzIpKSxfLnQobnVsbCx2b2lkIDAsbyg0OTY2NzQpKV0sUlNJNzpbXy50KG51bGwsdm9pZCAwLG8oNDIzNDYpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mjg2NTkpKV0sQURYOltfLnQobnVsbCx2b2lkIDAsbyg1NzgxOTgpKSxfLnQobnVsbCx2b2lkIDAsbyg4MDMwMjQpKV0sIkFEWCtESSI6W18udChudWxsLHZvaWQgMCxvKDc2NzgyNSkpLF8udChudWxsLHtjb250ZXh0OiJQb3NpdGl2ZV9EaXJlY3Rpb25hbF9JbmRpY2F0b3Jfc2hvcnRfdGl0bGUifSxvKDgxOTA0MikpXSwiQURYLURJIjpbXy50KG51bGwsdm9pZCAwLG8oMTc0MzA5KSksXy50KG51bGwse2NvbnRleHQ6Ik5lZ2F0aXZlX0RpcmVjdGlvbmFsX0luZGljYXRvcl9zaG9ydF90aXRsZSJ9LG8oMjc0ODc0KSldLEFUUjpbXy50KG51bGwsdm9pZCAwLG8oMzE1NDYyKSksXy50KG51bGwsdm9pZCAwLG8oOTYwMDY5KSldLE1vbTpbXy50KG51bGwsdm9pZCAwLG8oNTMxNTAyKSksXy50KG51bGwsdm9pZCAwLG8oNDI1MzAxKSldLCJIaWdoLkFsbCI6W18udChudWxsLHZvaWQgMCxvKDkzMDU3OCkpLF8udChudWxsLHZvaWQgMCxvKDkzMDU3OCkpXSwiTG93LkFsbCI6W18udChudWxsLHZvaWQgMCxvKDI1MzQ3MSkpLF8udChudWxsLHZvaWQgMCxvKDI1MzQ3MSkpXSwiSGlnaC42TSI6W18udChudWxsLHZvaWQgMCxvKDk3ODc2MCkpLF8udChudWxsLHZvaWQgMCxvKDk3ODc2MCkpXSwiTG93LjZNIjpbXy50KG51bGwsdm9pZCAwLG8oNjAzNTA5KSksXy50KG51bGwsdm9pZCAwLG8oNjAzNTA5KSldLCJIaWdoLjNNIjpbXy50KG51bGwsdm9pZCAwLG8oOTkwNzcpKSxfLnQobnVsbCx2b2lkIDAsbyg5OTA3NykpXSwiTG93LjNNIjpbXy50KG51bGwsdm9pZCAwLG8oODg2OTE4KSksXy50KG51bGwsdm9pZCAwLG8oODg2OTE4KSldLCJIaWdoLjFNIjpbXy50KG51bGwsdm9pZCAwLG8oMTYxNTgzKSksXy50KG51bGwsdm9pZCAwLG8oMTYxNTgzKSldLCJMb3cuMU0iOltfLnQobnVsbCx2b2lkIDAsbygyMDA5MjApKSxfLnQobnVsbCx2b2lkIDAsbygyMDA5MjApKV0sRU1BNTpbXy50KG51bGwsdm9pZCAwLG8oNjM0NTA2KSkuZm9ybWF0KHtudW1iZXI6IjUifSksXy50KG51bGwsdm9pZCAwLG8oNTExODQ0KSldLEVNQTEwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiMTAifSksXy50KG51bGwsdm9pZCAwLG8oMTA3OTA1KSldLEVNQTIwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiMjAifSksXy50KG51bGwsdm9pZCAwLG8oMTQzNjMpKV0sRU1BMzA6W18udChudWxsLHZvaWQgMCxvKDYzNDUwNikpLmZvcm1hdCh7bnVtYmVyOiIzMCIKfSksXy50KG51bGwsdm9pZCAwLG8oOTU0ODU5KSldLEVNQTUwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiNTAifSksXy50KG51bGwsdm9pZCAwLG8oNTM4MDE4KSldLEVNQTEwMDpbXy50KG51bGwsdm9pZCAwLG8oNjM0NTA2KSkuZm9ybWF0KHtudW1iZXI6IjEwMCJ9KSxfLnQobnVsbCx2b2lkIDAsbyg2NDk2NDQpKV0sRU1BMjAwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiMjAwIn0pLF8udChudWxsLHZvaWQgMCxvKDYwNTQzOCkpXSxTTUE1OltfLnQobnVsbCx2b2lkIDAsbyg0ODY1NzIpKS5mb3JtYXQoe251bWJlcjoiNSJ9KSxfLnQobnVsbCx2b2lkIDAsbyg2NTk1NjApKV0sU01BMTA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIxMCJ9KSxfLnQobnVsbCx2b2lkIDAsbygxMzQwODUpKV0sU01BMjA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIyMCJ9KSxfLnQobnVsbCx2b2lkIDAsbygzOTgwMzkpKV0sU01BMzA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIzMCJ9KSxfLnQobnVsbCx2b2lkIDAsbyg0NTc1NDMpKV0sU01BNTA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiI1MCJ9KSxfLnQobnVsbCx2b2lkIDAsbyg1NTY0ODYpKV0sU01BMTAwOltfLnQobnVsbCx2b2lkIDAsbyg0ODY1NzIpKS5mb3JtYXQoe251bWJlcjoiMTAwIn0pLF8udChudWxsLHZvaWQgMCxvKDMyODc4NCkpXSxTTUEyMDA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIyMDAifSksXy50KG51bGwsdm9pZCAwLG8oNjgwNzQpKV0sIlN0b2NoLksiOltfLnQobnVsbCx2b2lkIDAsbygyMjA3MjUpKSxfLnQobnVsbCx2b2lkIDAsbyg1NTc4MDApKV0sIlN0b2NoLkQiOltfLnQobnVsbCx2b2lkIDAsbygzMTc4MzIpKSxfLnQobnVsbCx2b2lkIDAsbyg0MDYyOTgpKV0sIk1BQ0QubWFjZCI6W18udChudWxsLHZvaWQgMCxvKDI0NzU2MCkpLF8udChudWxsLHZvaWQgMCxvKDk0MDk0MykpXSwiTUFDRC5zaWduYWwiOltfLnQobnVsbCx2b2lkIDAsbyg5NTA2NjIpKSxfLnQobnVsbCx2b2lkIDAsbygzMjc5MTEpKV0sIkFyb29uLlVwIjpbXy50KG51bGwsdm9pZCAwLG8oNDczODUpKSxfLnQobnVsbCx2b2lkIDAsbygxNTgzOTYpKV0sIkFyb29uLkRvd24iOltfLnQobnVsbCx2b2lkIDAsbygyMTM3MDMpKSxfLnQobnVsbCx2b2lkIDAsbyg3NjU3NjUpKV0sIkJCLnVwcGVyIjpbXy50KG51bGwsdm9pZCAwLG8oOTk1NjMxKSksXy50KG51bGwsdm9pZCAwLG8oOTEzOTkyKSldLCJCQi5sb3dlciI6W18udChudWxsLHZvaWQgMCxvKDE5NjY5MSkpLF8udChudWxsLHZvaWQgMCxvKDQzMDUzMCkpXSxnb29kd2lsbDpbXy50KG51bGwsdm9pZCAwLG8oNzczOTI2KSksXy50KG51bGwsdm9pZCAwLG8oNzczOTI2KSldLGRlYnRfdG9fZXF1aXR5X2ZxOltfLnQobnVsbCx2b2lkIDAsbygzMTUwOTIpKSxfLnQobnVsbCx2b2lkIDAsbygyNTk2NSkpXSxDQ0kyMDpbXy50KG51bGwsdm9pZCAwLG8oNjE3NDI3KSksXy50KG51bGwsdm9pZCAwLG8oNzUzMTYpKV0sIkRvbmNoQ2gyMC5VcHBlciI6W18udChudWxsLHZvaWQgMCxvKDM3ODAyNCkpLF8udChudWxsLHZvaWQgMCxvKDYxNzQ2OCkpXSwiRG9uY2hDaDIwLkxvd2VyIjpbXy50KG51bGwsdm9pZCAwLG8oNjA4NjU2KSksXy50KG51bGwsdm9pZCAwLG8oMzUxOTYzKSldLEh1bGxNQTk6W18udChudWxsLHZvaWQgMCxvKDc2MDcxOSkpLF8udChudWxsLHZvaWQgMCxvKDczOTIwMykpXSxBTzpbXy50KG51bGwsdm9pZCAwLG8oMzQ0NTUyKSksXy50KG51bGwsdm9pZCAwLG8oNzk5NTUzKSldLCJQaXZvdC5NLkNsYXNzaWMuUzMiOltfLnQobnVsbCx2b2lkIDAsbygxMzA0NjcpKSxfLnQobnVsbCx2b2lkIDAsbyg4NjA4NTMpKV0sIlBpdm90Lk0uQ2xhc3NpYy5TMiI6W18udChudWxsLHZvaWQgMCxvKDUxOTAyNykpLF8udChudWxsLHZvaWQgMCxvKDQ0MTg0MSkpXSwiUGl2b3QuTS5DbGFzc2ljLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oNDk1MzE3KSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uQ2xhc3NpYy5NaWRkbGUiOltfLnQobnVsbCx2b2lkIDAsbyg1NjU1MjYpKSxfLnQobnVsbCx2b2lkIDAsbyg3MzY2MjcpKV0sIlBpdm90Lk0uQ2xhc3NpYy5SMSI6W18udChudWxsLHZvaWQgMCxvKDYyMjgzNCkpLF8udChudWxsLHZvaWQgMCxvKDEyMzgwNSkpXSwiUGl2b3QuTS5DbGFzc2ljLlIyIjpbXy50KG51bGwsdm9pZCAwLG8oNTE3MzAwKSksXy50KG51bGwsdm9pZCAwLG8oNTk0NDAxKSldLCJQaXZvdC5NLkNsYXNzaWMuUjMiOltfLnQobnVsbCx2b2lkIDAsbyg3NzE1NikpLF8udChudWxsLHZvaWQgMCxvKDEzNDEzKSldLCJQaXZvdC5NLkZpYm9uYWNjaS5TMyI6W18udChudWxsLHZvaWQgMCxvKDcxMjU3NikpLF8udChudWxsLHZvaWQgMCxvKDg2MDg1MykpXSwiUGl2b3QuTS5GaWJvbmFjY2kuUzIiOltfLnQobnVsbCx2b2lkIDAsbygyMDI1ODcpKSxfLnQobnVsbCx2b2lkIDAsbyg0NDE4NDEpKV0sIlBpdm90Lk0uRmlib25hY2NpLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oMzg5Nzc4KSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZSI6W18udChudWxsLHZvaWQgMCxvKDg4NTYzNCkpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSwiUGl2b3QuTS5GaWJvbmFjY2kuUjEiOltfLnQobnVsbCx2b2lkIDAsbygzNzQ0MDYpKSxfLnQobnVsbCx2b2lkIDAsbygxMjM4MDUpKV0sIlBpdm90Lk0uRmlib25hY2NpLlIyIjpbXy50KG51bGwsdm9pZCAwLG8oMTg3MjE1KSksXy50KG51bGwsdm9pZCAwLG8oNTk0NDAxKSldLCJQaXZvdC5NLkZpYm9uYWNjaS5SMyI6W18udChudWxsLHZvaWQgMCxvKDU4MTAxMikpLF8udChudWxsLHZvaWQgMCxvKDEzNDEzKSldLCJQaXZvdC5NLkNhbWFyaWxsYS5TMyI6W18udChudWxsLHZvaWQgMCxvKDk0Mjk3NykpLF8udChudWxsLHZvaWQgMCxvKDg2MDg1MykpXSwKIlBpdm90Lk0uQ2FtYXJpbGxhLlMyIjpbXy50KG51bGwsdm9pZCAwLG8oNzU1Nzg2KSksXy50KG51bGwsdm9pZCAwLG8oNDQxODQxKSldLCJQaXZvdC5NLkNhbWFyaWxsYS5TMSI6W18udChudWxsLHZvaWQgMCxvKDczNjM3MSkpLF8udChudWxsLHZvaWQgMCxvKDIyODI5KSldLCJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGUiOltfLnQobnVsbCx2b2lkIDAsbyg4NzQ0NjkpKSxfLnQobnVsbCx2b2lkIDAsbyg3MzY2MjcpKV0sIlBpdm90Lk0uQ2FtYXJpbGxhLlIxIjpbXy50KG51bGwsdm9pZCAwLG8oOTM5ODg3KSksXy50KG51bGwsdm9pZCAwLG8oMTIzODA1KSldLCJQaXZvdC5NLkNhbWFyaWxsYS5SMiI6W18udChudWxsLHZvaWQgMCxvKDc1NDk0KSksXy50KG51bGwsdm9pZCAwLG8oNTk0NDAxKSldLCJQaXZvdC5NLkNhbWFyaWxsYS5SMyI6W18udChudWxsLHZvaWQgMCxvKDE0NjQ5MykpLF8udChudWxsLHZvaWQgMCxvKDEzNDEzKSldLCJQaXZvdC5NLldvb2RpZS5TMyI6W18udChudWxsLHZvaWQgMCxvKDMxOTEwNikpLF8udChudWxsLHZvaWQgMCxvKDg2MDg1MykpXSwiUGl2b3QuTS5Xb29kaWUuUzIiOltfLnQobnVsbCx2b2lkIDAsbyg5MzgzNjEpKSxfLnQobnVsbCx2b2lkIDAsbyg0NDE4NDEpKV0sIlBpdm90Lk0uV29vZGllLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oMTI1NTUyKSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uV29vZGllLk1pZGRsZSI6W18udChudWxsLHZvaWQgMCxvKDE1OTA5MikpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSwiUGl2b3QuTS5Xb29kaWUuUjEiOltfLnQobnVsbCx2b2lkIDAsbygyNjg3MTYpKSxfLnQobnVsbCx2b2lkIDAsbygxMjM4MDUpKV0sIlBpdm90Lk0uV29vZGllLlIyIjpbXy50KG51bGwsdm9pZCAwLG8oODE1MjUpKSxfLnQobnVsbCx2b2lkIDAsbyg1OTQ0MDEpKV0sIlBpdm90Lk0uV29vZGllLlIzIjpbXy50KG51bGwsdm9pZCAwLG8oODk0MzM0KSksXy50KG51bGwsdm9pZCAwLG8oMTM0MTMpKV0sIlBpdm90Lk0uRGVtYXJrLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oODgxNzIwKSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uRGVtYXJrLk1pZGRsZSI6W18udChudWxsLHZvaWQgMCxvKDQ5MTU0MCkpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSwiUGl2b3QuTS5EZW1hcmsuUjEiOltfLnQobnVsbCx2b2lkIDAsbyg5NDEyMjQpKSxfLnQobnVsbCx2b2lkIDAsbygxMjM4MDUpKV0sIktsdENobmwudXBwZXIiOltfLnQobnVsbCx2b2lkIDAsbygzMDU4ODUpKSxfLnQobnVsbCx2b2lkIDAsbygyNDA3MTUpKV0sIktsdENobmwubG93ZXIiOltfLnQobnVsbCx2b2lkIDAsbyg2Nzk1NDYpKSxfLnQobnVsbCx2b2lkIDAsbygyNTc3NjApKV0sIlAuU0FSIjpbXy50KG51bGwsdm9pZCAwLG8oOTQxMDI4KSksXy50KG51bGwsdm9pZCAwLG8oMTE0MDk5KSldLCJWYWx1ZS5UcmFkZWQiOltfLnQobnVsbCx2b2lkIDAsbyg2OTAyMDYpKSxfLnQobnVsbCx2b2lkIDAsbyg2OTAyMDYpKV0sTW9uZXlGbG93OltfLnQobnVsbCx2b2lkIDAsbygxNzgwOTYpKSxfLnQobnVsbCx7Y29udGV4dDoiTW9uZXlfRmxvd19zaG9ydF90aXRsZSJ9LG8oOTQ5NzA0KSldLENoYWlraW5Nb25leUZsb3c6W18udChudWxsLHZvaWQgMCxvKDI1ODE0MykpLF8udChudWxsLHtjb250ZXh0OiJDaGFpa2luX01vbmV5X0Zsb3dfc2hvcnRfdGl0bGUifSxvKDE2MDU2MikpXSwiUmVjb21tZW5kLkFsbCI6W18udChudWxsLHZvaWQgMCxvKDU2OTU5NSkpLF8udChudWxsLHZvaWQgMCxvKDU2OTU5NSkpXSwiUmVjb21tZW5kLk1BIjpbXy50KG51bGwsdm9pZCAwLG8oMjAwNDUyKSksXy50KG51bGwsdm9pZCAwLG8oMjAwNDUyKSldLCJSZWNvbW1lbmQuT3RoZXIiOltfLnQobnVsbCx2b2lkIDAsbyg1NDA0NDApKSxfLnQobnVsbCx2b2lkIDAsbyg1NDA0NDApKV0sIlN0b2NoLlJTSS5LIjpbXy50KG51bGwsdm9pZCAwLG8oNTg1Njg5KSksXy50KG51bGwsdm9pZCAwLG8oNzAwNjA4KSldLCJTdG9jaC5SU0kuRCI6W18udChudWxsLHZvaWQgMCxvKDExMzczMSkpLF8udChudWxsLHZvaWQgMCxvKDYzOTU5NSkpXSwiVy5SIjpbXy50KG51bGwsdm9pZCAwLG8oMjYwOTEwKSksXy50KG51bGwsdm9pZCAwLG8oNTM5MjM4KSldLFJPQzpbXy50KG51bGwsdm9pZCAwLG8oODAyMDg4KSksXy50KG51bGwsdm9pZCAwLG8oODQ4MTU0KSldLEJCUG93ZXI6W18udChudWxsLHtjb250ZXh0OiJzdHVkeSJ9LG8oMjQ4Nzg1KSksXy50KG51bGwsdm9pZCAwLG8oOTQ5ODI1KSldLFVPOltfLnQobnVsbCx2b2lkIDAsbyg5OTk5NjEpKSxfLnQobnVsbCx2b2lkIDAsbyg4OTU3NzQpKV0sIkljaGltb2t1LkNMaW5lIjpbXy50KG51bGwsdm9pZCAwLG8oOTI2NCkpLF8udChudWxsLHZvaWQgMCxvKDcwMjk0NikpXSwiSWNoaW1va3UuQkxpbmUiOltfLnQobnVsbCx2b2lkIDAsbyg0OTA3MjgpKSxfLnQobnVsbCx2b2lkIDAsbyg3NTI5MzQpKV0sIkljaGltb2t1LkxlYWQxIjpbXy50KG51bGwsdm9pZCAwLG8oMjk3MzEwKSksXy50KG51bGwsdm9pZCAwLG8oMzEwMTc3KSldLCJJY2hpbW9rdS5MZWFkMiI6W18udChudWxsLHZvaWQgMCxvKDcwNjU2MikpLF8udChudWxsLHZvaWQgMCxvKDgzOTU4MSkpXSxWV0FQOltfLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxvKDg2ODQxOSkpLF8udChudWxsLHZvaWQgMCxvKDI1MTE2NykpXSxWV01BOltfLnQobnVsbCx2b2lkIDAsbyg1NDMzOTEpKSxfLnQobnVsbCx2b2lkIDAsbygzMzk0MDcpKV0sQURSOltfLnQobnVsbCx2b2lkIDAsbygzMjMzOTIpKSxfLnQobnVsbCx2b2lkIDAsbygxNTA0NzQpKV0sIjI0aF92b2x8NSI6W18udChudWxsLHZvaWQgMCxvKDU1NzkzMykpLF8udChudWxsLHZvaWQgMCxvKDIzNDA3NykpXSwiMjRoX3ZvbF9jaGFuZ2V8NSI6W18udChudWxsLHZvaWQgMCxvKDcxMTE4OCkpLF8udChudWxsLHZvaWQgMCxvKDM1MjQ1NykpXSx0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDgwMzI4MSkpLF8udChudWxsLHZvaWQgMCxvKDgwMzI4MSkpXSwKdG90YWxfcmV2ZW51ZV9xb3FfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg0ODI1NTMpKSxfLnQobnVsbCx2b2lkIDAsbyg0ODI1NTMpKV0sdG90YWxfcmV2ZW51ZV95b3lfZ3Jvd3RoX2Z5OltfLnQobnVsbCx2b2lkIDAsbygxMjgzNzYpKSxfLnQobnVsbCx2b2lkIDAsbygxMjgzNzYpKV0sdG90YWxfcmV2ZW51ZV95b3lfZ3Jvd3RoX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNzQwOTI4KSksXy50KG51bGwsdm9pZCAwLG8oNzQwOTI4KSldLGdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbygxMDc5MDQpKSxfLnQobnVsbCx2b2lkIDAsbygxMDc5MDQpKV0sZ3Jvc3NfcHJvZml0X3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDE5MTU3NCkpLF8udChudWxsLHZvaWQgMCxvKDE5MTU3NCkpXSxncm9zc19wcm9maXRfeW95X2dyb3d0aF9meTpbXy50KG51bGwsdm9pZCAwLG8oMzU2MTI1KSksXy50KG51bGwsdm9pZCAwLG8oMzU2MTI1KSldLGdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNzYxMzA1KSksXy50KG51bGwsdm9pZCAwLG8oNzYxMzA1KSldLGViaXRkYV95b3lfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg1Mzk3MDUpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mzk3MDUpKV0sZWJpdGRhX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDc0NjIzKSksXy50KG51bGwsdm9pZCAwLG8oNzQ2MjMpKV0sZWJpdGRhX3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDk4NjI5MikpLF8udChudWxsLHZvaWQgMCxvKDk4NjI5MikpXSxlYml0ZGFfeW95X2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDgzNDY2OCkpLF8udChudWxsLHZvaWQgMCxvKDgzNDY2OCkpXSxuZXRfaW5jb21lX3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDg1MzM0NikpLF8udChudWxsLHZvaWQgMCxvKDg1MzM0NikpXSxuZXRfaW5jb21lX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDE0ODU3MCkpLF8udChudWxsLHZvaWQgMCxvKDE0ODU3MCkpXSxuZXRfaW5jb21lX3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDk4MzY3MSkpLF8udChudWxsLHZvaWQgMCxvKDk4MzY3MSkpXSxuZXRfaW5jb21lX3lveV9ncm93dGhfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg3ODkwNykpLF8udChudWxsLHZvaWQgMCxvKDc4OTA3KSldLGZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDI2NTA2KSksXy50KG51bGwsdm9pZCAwLG8oMjY1MDYpKV0sZnJlZV9jYXNoX2Zsb3dfcW9xX2dyb3d0aF9mcTpbXy50KG51bGwsdm9pZCAwLG8oMzQ0MzYpKSxfLnQobnVsbCx2b2lkIDAsbygzNDQzNikpXSxmcmVlX2Nhc2hfZmxvd195b3lfZ3Jvd3RoX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg2MDc1NjApKSxfLnQobnVsbCx2b2lkIDAsbyg2MDc1NjApKV0sZnJlZV9jYXNoX2Zsb3dfeW95X2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDc4NTcxKSksXy50KG51bGwsdm9pZCAwLG8oNzg1NzEpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF9mcTpbXy50KG51bGwsdm9pZCAwLG8oODIyNzgyKSksXy50KG51bGwsdm9pZCAwLG8oODIyNzgyKSldLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDk2NjI1NikpLF8udChudWxsLHZvaWQgMCxvKDk2NjI1NikpXSxlYXJuaW5nc19wZXJfc2hhcmVfZGlsdXRlZF95b3lfZ3Jvd3RoX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg1Mjg5NzIpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mjg5NzIpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDQwNjg2MykpLF8udChudWxsLHZvaWQgMCxvKDQwNjg2MykpXSxkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfeW95X2dyb3d0aF9meTpbXy50KG51bGwsdm9pZCAwLG8oNTU3OTQxKSksXy50KG51bGwsdm9pZCAwLG8oNTU3OTQxKSldLHRvdGFsX2Fzc2V0c195b3lfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg1NDgzNDIpKSxfLnQobnVsbCx2b2lkIDAsbyg1NDgzNDIpKV0sdG90YWxfYXNzZXRzX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDk3MzYwKSksXy50KG51bGwsdm9pZCAwLG8oOTczNjApKV0sdG90YWxfYXNzZXRzX3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDQwMzY0NykpLF8udChudWxsLHZvaWQgMCxvKDQwMzY0NykpXSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDY3NTEwOCkpLF8udChudWxsLHZvaWQgMCxvKDY3NTEwOCkpXSx0b3RhbF9kZWJ0X3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDc5MzAzNikpLF8udChudWxsLHZvaWQgMCxvKDc5MzAzNikpXSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDYyMzgzNykpLF8udChudWxsLHZvaWQgMCxvKDYyMzgzNykpXSxzZWxsX2dlbl9hZG1pbl9leHBfb3RoZXJfcmF0aW9fZnk6W18udChudWxsLHZvaWQgMCxvKDk5MjQ3MCkpLF8udChudWxsLHZvaWQgMCxvKDkzMDc1NCkpXSxzZWxsX2dlbl9hZG1pbl9leHBfb3RoZXJfcmF0aW9fdHRtOltfLnQobnVsbCx2b2lkIDAsbyg1OTM4MTIpKSxfLnQobnVsbCx2b2lkIDAsbygyNDI1MzMpKV0scmVzZWFyY2hfYW5kX2Rldl9yYXRpb19meTpbXy50KG51bGwsdm9pZCAwLG8oODcwMzE2KSksXy50KG51bGwsdm9pZCAwLG8oMzM0MTAyKSldLHJlc2VhcmNoX2FuZF9kZXZfcmF0aW9fdHRtOltfLnQobnVsbCx2b2lkIDAsbyg3MDEwMzUpKSxfLnQobnVsbCx2b2lkIDAsbyg1MDIwODgpKV0sZ3Jvc3NfcHJvZml0X21hcmdpbl9meTpbXy50KG51bGwsdm9pZCAwLG8oOTAwOTQ1KSksXy50KG51bGwsdm9pZCAwLG8oOTAwOTQ1KSldLG9wZXJfaW5jb21lX21hcmdpbl9meTpbXy50KG51bGwsdm9pZCAwLG8oNDM1MDcwKSksXy50KG51bGwsdm9pZCAwLG8oNDM1MDcwKSldLApuZXRfaW5jb21lX2JlZl9kaXNjX29wZXJfbWFyZ2luX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg5NDA3MTEpKSxfLnQobnVsbCx2b2lkIDAsbyg5NDA3MTEpKV0sY2FzaF9uX2VxdWl2YWxlbnRzX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3NjUwMTcpKSxfLnQobnVsbCx2b2lkIDAsbyg3NjUwMTcpKV0sY2FzaF9uX2VxdWl2YWxlbnRzX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg0NzY4MzcpKSxfLnQobnVsbCx2b2lkIDAsbyg0NzY4MzcpKV0sY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3ODg4MzgpKSxfLnQobnVsbCx2b2lkIDAsbygyNDczNjApKV0sY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2Z5OltfLnQobnVsbCx2b2lkIDAsbygyNTQ5NDcpKSxfLnQobnVsbCx2b2lkIDAsbyg5MTUxNTQpKV0sY2VudHJhbGl6YXRpb246W18udChudWxsLHZvaWQgMCxvKDYxMTExOCkpLF8udChudWxsLHZvaWQgMCxvKDYxMTExOCkpXSxmaXNjYWxfcGVyaW9kX2VuZF9meTpbXy50KG51bGwsdm9pZCAwLG8oMzE0NTIxKSksXy50KG51bGwsdm9pZCAwLG8oMzE0NTIxKSldLGZpc2NhbF9wZXJpb2RfZnE6W18udChudWxsLHZvaWQgMCxvKDk1MDgwMikpLF8udChudWxsLHZvaWQgMCxvKDk1MDgwMikpXSxmaXNjYWxfcGVyaW9kX2VuZF9mcTpbXy50KG51bGwsdm9pZCAwLG8oNTMwNDQ0KSksXy50KG51bGwsdm9pZCAwLG8oNTMwNDQ0KSldLGVudGVycHJpc2VfdmFsdWVfY3VycmVudDpbXy50KG51bGwsdm9pZCAwLG8oNjczMTYxKSksXy50KG51bGwsdm9pZCAwLG8oNjczMTYxKSldLHByaWNlX2Vhcm5pbmdzX2N1cnJlbnQ6W18udChudWxsLHZvaWQgMCxvKDU1NzMzNikpLF8udChudWxsLHZvaWQgMCxvKDU1NzMzNikpXSxwcmljZV9zYWxlc19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbyg3ODI2MTQpKSxfLnQobnVsbCx2b2lkIDAsbyg3ODI2MTQpKV0scHJpY2VfYm9va19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbyg1OTAyMDUpKSxfLnQobnVsbCx2b2lkIDAsbyg1OTAyMDUpKV0scHJpY2VfY2FzaF9mbG93X2N1cnJlbnQ6W18udChudWxsLHZvaWQgMCxvKDMzMjIxNCkpLF8udChudWxsLHZvaWQgMCxvKDMzMjIxNCkpXSxwcmljZV9mcmVlX2Nhc2hfZmxvd19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbyg4NjQ2NDgpKSxfLnQobnVsbCx2b2lkIDAsbyg4NjQ2NDgpKV0sdG90YWxfcmV2ZW51ZV90dG06W18udChudWxsLHZvaWQgMCxvKDMwMjE2NSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMzAyMTY1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0scmV2ZW51ZV9wZXJfc2hhcmVfdHRtOltfLnQobnVsbCx2b2lkIDAsbygxMzI1NDgpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDEzMjU0OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLGdyb3NzX3Byb2ZpdF90dG06W18udChudWxsLHZvaWQgMCxvKDM5NzYwMikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMzk3NjAyKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sb3Blcl9pbmNvbWVfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg4NTAyMTEpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDg1MDIxMSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLG5ldF9pbmNvbWVfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg1MTA3MjYpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDUxMDcyNikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3Mjg1NDUpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDcyODU0NSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbygzMzYzMDMpKSxfLnQobnVsbCx2b2lkIDAsbygzMzYzMDMpKV0sZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nX2N1cnJlbnQ6W18udChudWxsLHZvaWQgMCxvKDk4MTY0MykpLF8udChudWxsLHZvaWQgMCxvKDk4MTY0MykpXSx0b3RhbF9hc3NldHNfZnE6W18udChudWxsLHZvaWQgMCxvKDQxNDI1OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSksXy50KG51bGwsdm9pZCAwLG8oNDE0MjU4KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oMjk4NTc2KSl9KV0sdG90YWxfZXF1aXR5X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3MzMyNikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSksXy50KG51bGwsdm9pZCAwLG8oNzMzMjYpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pXSx0b3RhbF9kZWJ0X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg0Njk1NTgpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDQ2OTU1OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGJvb2tfcGVyX3NoYXJlX2ZxOltfLnQobnVsbCx2b2lkIDAsbygyNDUzMTcpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDI0NTMxNykpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGN1cnJlbnRfcmF0aW9fZnE6W18udChudWxsLHZvaWQgMCxvKDQ5OTI2NSkpLmZvcm1hdCh7CnBlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDQ5OTI2NSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGFzc2V0X3R1cm5vdmVyX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3NDgyOTApKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDc0ODI5MCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc190dG06W18udChudWxsLHZvaWQgMCxvKDM1Nzc3NCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMzU3Nzc0KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNjM4NDk4KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2Mzg0OTgpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg3Njk4NzQpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDc2OTg3NCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLGZyZWVfY2FzaF9mbG93X3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNjIyNTU5KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MjI1NTkpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxjYXBpdGFsX2V4cGVuZGl0dXJlc190dG06W18udChudWxsLHZvaWQgMCxvKDUzNTEzMikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oNTM1MTMyKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sZ3Jvc3NfbWFyZ2luX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oOTY2NTA1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg5NjY1MDUpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxvcGVyYXRpbmdfbWFyZ2luX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNDcyNjY5KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg0NzI2NjkpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxwcmVfdGF4X21hcmdpbl90dG06W18udChudWxsLHZvaWQgMCxvKDY1Njk3MSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oNjU2OTcxKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sbmV0X21hcmdpbl90dG06W18udChudWxsLHZvaWQgMCxvKDg5MDU0OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oODkwNTQ4KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0scmV0dXJuX29uX2Fzc2V0c19mcTpbXy50KG51bGwsdm9pZCAwLG8oODE4MTExKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg4MTgxMTEpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxyZXR1cm5fb25fZXF1aXR5X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg0ODEwODcpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDQ4MTA4NykpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLHJldHVybl9vbl9pbnZlc3RlZF9jYXBpdGFsX2ZxOltfLnQobnVsbCx2b2lkIDAsbygyMzE3MykpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMjMxNzMpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxyZXZlbnVlX3Blcl9lbXBsb3llZV9meTpbXy50KG51bGwsdm9pZCAwLG8oNjMwNjc2KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oMjg3OTE4KSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MzA2NzYpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyODc5MTgpKX0pXSxuZXRfaW5jb21lX3Blcl9lbXBsb3llZV9meTpbXy50KG51bGwsdm9pZCAwLG8oMjM3NTg1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oMjg3OTE4KSl9KSxfLnQobnVsbCx2b2lkIDAsbygyMzc1ODUpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyODc5MTgpKX0pXSxkaXZpZGVuZF9hbW91bnRfcmVjZW50OltfLnQobnVsbCx2b2lkIDAsbyg3OTIyNjApKSxfLnQobnVsbCx2b2lkIDAsbyg3OTIyNjApKV0sZGl2aWRlbmRfYW1vdW50X3VwY29taW5nOltfLnQobnVsbCx2b2lkIDAsbyg5NDI1MDQpKSxfLnQobnVsbCx2b2lkIDAsbyg5NDI1MDQpKV0sZXhfZGl2aWRlbmRfZGF0ZV9yZWNlbnQ6W18udChudWxsLHZvaWQgMCxvKDU2NDA4OSkpLF8udChudWxsLHZvaWQgMCxvKDU2NDA4OSkpXSxleF9kaXZpZGVuZF9kYXRlX3VwY29taW5nOltfLnQobnVsbCx2b2lkIDAsbyg3NTAwNTMpKSxfLnQobnVsbCx2b2lkIDAsbyg3NTAwNTMpKV0sZGl2aWRlbmRfcGF5b3V0X3JhdGlvX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNDU3NTA1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg0NTc1MDUpKS5mb3JtYXQoewpwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0scHJpY2VfdGFyZ2V0X2F2ZXJhZ2U6W18udChudWxsLHZvaWQgMCxvKDgxODAwMikpLF8udChudWxsLHZvaWQgMCxvKDgxODAwMikpXX07bGV0IHhlPW51bGw7Y29uc3QgQWU9KCk9PnhlO3ZhciBNZT1vKDc0NDI0MCksSWU9byg3MDI5NjcpLFJlPW8oNzY5OTM5KSxGZT1vKDQ5NTM5NiksTGU9byg2ODMzODMpLERlPW8oMjg3ODMyKSxPZT1vKDIzMTc3MCksTmU9byg2NDQ5MDUpLFBlPW8oNjM1MjcwKSxCZT1vKDM4NjcyNiksJGU9bygxMjM3MjkpLFdlPW8oNzI1NjAyKSxxZT1vKDEyOTc5NCksVmU9bygyMTcpLEhlPW8oMjY3NTg3KSxVZT1vKDkzMzEzOCksemU9bygyODU5OTMpLGplPW8oNzg2NTc4KSxHZT1vKDY3Nzc3KSxYZT1vKDM5OTQ5NCksS2U9byg0MTQ3OTYpLFllPW8oMTMwNjg2KSxKZT1vKDEyMDAzNyksWmU9bygyMjAzNDEpLFFlPW8oMjIzNDgzKSxldD1vKDgzNTE3NCksdHQ9byg4NzQ5NzMpO2NvbnN0IG90PVt7a2V5OiJDYW5kbGUuM0JsYWNrQ3Jvd3MiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oODkwMzg3KSksc3ZnOk1lfSx7a2V5OiJDYW5kbGUuM1doaXRlU29sZGllcnMiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMjc3MDk3KSksc3ZnOkllfSx7a2V5OiJDYW5kbGUuQWJhbmRvbmVkQmFieS5CZWFyaXNoIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDE1Njk2OSkpLHN2ZzpSZX0se2tleToiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQnVsbGlzaCIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg3NjQxMzYpKSxzdmc6RmV9LHtrZXk6IkNhbmRsZS5Eb2ppIixuYW1lOl8udChudWxsLHtjb250ZXh0OiJzdHVkeSJ9LG8oOTMwMDk4KSksc3ZnOkxlfSx7a2V5OiJDYW5kbGUuRG9qaS5EcmFnb25mbHkiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzc1NDQpKSxzdmc6RGV9LHtrZXk6IkNhbmRsZS5Eb2ppLkdyYXZlc3RvbmUiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMTIzNzM2KSksc3ZnOk9lfSx7a2V5OiJDYW5kbGUuRW5ndWxmaW5nLkJlYXJpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNDYyODk2KSksc3ZnOk5lfSx7a2V5OiJDYW5kbGUuRW5ndWxmaW5nLkJ1bGxpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzM5NTI3KSksc3ZnOlBlfSx7a2V5OiJDYW5kbGUuRXZlbmluZ1N0YXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzQ5NjcwKSksc3ZnOkJlfSx7a2V5OiJDYW5kbGUuSGFtbWVyIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDg2NTkwNykpLHN2ZzokZX0se2tleToiQ2FuZGxlLkhhbmdpbmdNYW4iLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzQ4MzMwKSksc3ZnOldlfSx7a2V5OiJDYW5kbGUuSGFyYW1pLkJlYXJpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNDUwOTA3KSksc3ZnOnFlfSx7a2V5OiJDYW5kbGUuSGFyYW1pLkJ1bGxpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNDYzODk2KSksc3ZnOlZlfSx7a2V5OiJDYW5kbGUuSW52ZXJ0ZWRIYW1tZXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMjcyMTYxKSksc3ZnOkhlfSx7a2V5OiJDYW5kbGUuS2lja2luZy5CZWFyaXNoIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDQ1NzY5NCkpLHN2ZzpVZX0se2tleToiQ2FuZGxlLktpY2tpbmcuQnVsbGlzaCIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg2MTg0OTIpKSxzdmc6emV9LHtrZXk6IkNhbmRsZS5Mb25nU2hhZG93Lkxvd2VyIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDc0ODAxNCkpLHN2ZzpqZX0se2tleToiQ2FuZGxlLkxvbmdTaGFkb3cuVXBwZXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oODEwODE3KSksc3ZnOkdlfSx7a2V5OiJDYW5kbGUuTWFydWJvenUuQmxhY2siLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNTM1NzgzKSksc3ZnOlhlfSx7a2V5OiJDYW5kbGUuTWFydWJvenUuV2hpdGUiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oOTUyNTY1KSksc3ZnOktlfSx7a2V5OiJDYW5kbGUuTW9ybmluZ1N0YXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNzE0NDYzKSksc3ZnOlllfSx7a2V5OiJDYW5kbGUuU2hvb3RpbmdTdGFyIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDc3ODA0KSksc3ZnOkplfSx7a2V5OiJDYW5kbGUuU3Bpbm5pbmdUb3AuQmxhY2siLG5hbWU6Xy50KG51bGwse2NvbnRleHQ6InN0dWR5In0sbyg3NjMyMjYpKSxzdmc6WmV9LHtrZXk6IkNhbmRsZS5TcGlubmluZ1RvcC5XaGl0ZSIsbmFtZTpfLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxvKDMzMzkxNCkpLHN2ZzpRZX0se2tleToiQ2FuZGxlLlRyaVN0YXIuQmVhcmlzaCIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbygyOTExNzMpKSxzdmc6ZXR9LHtrZXk6IkNhbmRsZS5UcmlTdGFyLkJ1bGxpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oODY3MjY4KSksc3ZnOnR0fV0uc29ydCgoKGUsdCk9PmUubmFtZS5sb2NhbGVDb21wYXJlKHQubmFtZSkpKSxpdD1uZXcgWih7cHJpY2VTY2FsZToxZTgsbWluTW92ZToxfSksbnQ9bmV3IGouUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAwLG1pbk1vdmU6MSxmcmFjdGlvbmFsOiExfSkscnQ9bmV3IGouUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MSxtaW5Nb3ZlOjEsZnJhY3Rpb25hbDohMX0pLHN0PW5ldyBHLlZvbHVtZUZvcm1hdHRlcixhdD1uZXcgWC5QZXJjZW50YWdlRm9ybWF0dGVyLGx0PW5ldyBYLlBlcmNlbnRhZ2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MX0pLGN0PW5ldyBjbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9mb3JtYXRTdHI9ZXx8IiV5LSVtLSVkIn1mb3JtYXQoZSl7Y29uc3QgdD1uZXcgRGF0ZSgxZTMqZSk7cmV0dXJuIHRoaXMuX2Zvcm1hdFN0ci5yZXBsYWNlKCIleSIsKDAsSy5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodC5nZXRVVENGdWxsWWVhcigpLDQpKS5yZXBsYWNlKCIlbSIsKDAsSy5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodC5nZXRVVENNb250aCgpKzEsMikpLnJlcGxhY2UoIiVkIiwoMCxLLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh0LmdldFVUQ0RhdGUoKSwyKSl9Cn0sZHQ9W3RlLlNUUk9OR19CVVkudGl0bGUsdGUuQlVZLnRpdGxlLHRlLk5FVVRSQUwudGl0bGUsdGUuU0VMTC50aXRsZSx0ZS5TVFJPTkdfU0VMTC50aXRsZV0saHQ9e0FueTpfLnQobnVsbCx2b2lkIDAsbyg5MjE4NDcpKSxFeG90aWM6Xy50KG51bGwsdm9pZCAwLG8oNTgwODMyKSksTWFqb3I6Xy50KG51bGwsdm9pZCAwLG8oNDQ3NzUzKSksTWlub3I6Xy50KG51bGwsdm9pZCAwLG8oMjA2OTgzKSksQWZyaWNhOl8udChudWxsLHZvaWQgMCxvKDY1MDM0NCkpLEFtZXJpY2FzOl8udChudWxsLHZvaWQgMCxvKDk5MTQ2NCkpLEFzaWE6Xy50KG51bGwsdm9pZCAwLG8oNjg5MTgyKSksRXVyb3BlOl8udChudWxsLHZvaWQgMCxvKDk1MjM2NykpLFBhY2lmaWM6Xy50KG51bGwsdm9pZCAwLG8oOTkwNTc1KSksIk1pZGRsZSBFYXN0IjpfLnQobnVsbCx2b2lkIDAsbyg2ODU3NTEpKX0sdXQ9W3trZXk6InRvZGF5IixuYW1lOl8udChudWxsLHZvaWQgMCxvKDYxNDQ1MCkpfSx7a2V5OiJ0b21vcnJvdyIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg5NDA0ODMpKX0se2tleToieWVzdGVyZGF5IixuYW1lOl8udChudWxsLHZvaWQgMCxvKDk2NTU3MykpfSx7a2V5OiJuZXh0X2ZpdmUiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNTYxMTYxKSl9LHtrZXk6InByZXZfZml2ZSIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbygxMzcyMCkpfSx7a2V5OiJ0aGlzX3dlZWsiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMTI3NDgzKSl9LHtrZXk6Im5leHRfd2VlayIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg0ODU0NTQpKX0se2tleToicHJldl93ZWVrIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDU2NDU2MSkpfSx7a2V5OiJ0aGlzX21vbnRoIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDE3MDgwOSkpfV0sX3Q9WyJ0b2RheSIsInllc3RlcmRheSIsInByZXZfZml2ZSIsInByZXZfd2VlayIsInRoaXNfd2VlayIsInRoaXNfbW9udGgiXSxwdD1bInRvZGF5IiwidG9tb3Jyb3ciLCJuZXh0X2ZpdmUiLCJuZXh0X3dlZWsiLCJ0aGlzX3dlZWsiLCJ0aGlzX21vbnRoIl0sbXQ9ZT0+bnVsbD09ZXx8IiI9PT1lLnRvU3RyaW5nKCkudHJpbSgpLGd0PWU9PnQ9Pntjb25zdCBvPWJ0KHQsdXQpO2lmKG8pe2NvbnN0IHQ9U3Qobyk7aWYodClyZXR1cm4oKGUsdCxvPSJlYXJuaW5nc19yZWxlYXNlX2RhdGUsZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiKT0+W3tsZWZ0Om8sb3BlcmF0aW9uOiJpbl9yYW5nZSIscmlnaHQ6W2UvMWUzLHQvMWUzXX0se2xlZnQ6byxvcGVyYXRpb246Im5lcXVhbCIscmlnaHQ6dC8xZTN9XSkodFswXSx0WzFdLGUpfXJldHVybiExfSx2dD0oZSx0KT0+T2JqZWN0LmtleXModCkuZmluZCgobz0+dFtvXT09PWUpKXx8ZSxmdD0oZSx0LG8saSk9Pntjb25zdCBuPWkuZmlsdGVyKCh0PT50W2VdPT09bykpO3JldHVybiBuLmxlbmd0aD4wP25bMF1bdF06IiJ9LHl0PShlLHQpPT5mdCgia2V5IiwibmFtZSIsZSx0KSxidD0oZSx0KT0+ZnQoIm5hbWUiLCJrZXkiLGUsdCksU3Q9ZT0+e2NvbnN0IHQ9VS5nZXRfdGltZXpvbmUoQWUoKSksbz0oKCk9Pntjb25zdCBlPVUuZ2V0X3RpbWV6b25lKEFlKCkpLHQ9bmV3IERhdGUsbz1VLnV0Y190b19jYWwoZSx0LmdldFRpbWUoKSk7cmV0dXJuIFUuZ2V0X2NhbChlLG8uZ2V0VVRDRnVsbFllYXIoKSxvLmdldFVUQ01vbnRoKCksby5nZXRVVENEYXRlKCkpfSkoKTtsZXQgaSxuO2lmKCJ0b2RheSI9PT1lKWk9by5nZXRUaW1lKCksbj1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sMSkuZ2V0VGltZSgpO2Vsc2UgaWYoInRvbW9ycm93Ij09PWUpaT1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sMSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDIpLmdldFRpbWUoKTtlbHNlIGlmKCJ5ZXN0ZXJkYXkiPT09ZSl7Y29uc3QgZT02ZTQ7aT1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sLTEpLmdldFRpbWUoKSxuPW8uZ2V0VGltZSgpLWV9ZWxzZSBpZigibmV4dF9maXZlIj09PWUpaT1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sMSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDUpLmdldFRpbWUoKTtlbHNlIGlmKCJwcmV2X2ZpdmUiPT09ZSlpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtNSkuZ2V0VGltZSgpLG49by5nZXRUaW1lKCk7ZWxzZSBpZigidGhpc193ZWVrIj09PWUpe2NvbnN0IGU9KG8uZ2V0RGF5KCkrNiklNztpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDctZSkuZ2V0VGltZSgpfWVsc2UgaWYoIm5leHRfd2VlayI9PT1lKXtjb25zdCBlPShvLmdldERheSgpKzYpJTctNztpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDctZSkuZ2V0VGltZSgpfWVsc2UgaWYoInByZXZfd2VlayI9PT1lKXtjb25zdCBlPShvLmdldERheSgpKzYpJTcrNztpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDctZSkuZ2V0VGltZSgpfWVsc2UgaWYoInRoaXNfbW9udGgiPT09ZSl7Y29uc3QgZT1vLmdldERhdGUoKSxyPW5ldyBEYXRlKG8uZ2V0RnVsbFllYXIoKSxvLmdldE1vbnRoKCksMCkuZ2V0RGF0ZSgpO2k9VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDEtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLHItZSkuZ2V0VGltZSgpfXJldHVybiEoIWl8fCFuKSYmW2ksbl19LHd0PXtkcjpbXy50KG51bGwsdm9pZCAwLG8oNzE0NzQ1KSksXy50KG51bGwsdm9pZCAwLG8oMjg3OTk4KSkse25vd3JhcDohMH1dLGV0ZjpbXy50KG51bGwsdm9pZCAwLG8oNjk0MDcyKSksXy50KG51bGwsdm9pZCAwLG8oNjk0MDcyKSldLGNvbW1vbjpbXy50KG51bGwsdm9pZCAwLG8oOTgxMjgzKSksIiJdLApwcmVmZXJyZWQ6W18udChudWxsLHZvaWQgMCxvKDI3NTY2MikpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSxjbG9zZWRlbmQ6W18udChudWxsLHZvaWQgMCxvKDYzNjAwMSkpLF8udChudWxsLHZvaWQgMCxvKDc5Njg5MSkpXSxldG46W18udChudWxsLHZvaWQgMCxvKDk3MjI0MCkpLF8udChudWxsLHZvaWQgMCxvKDk3MjI0MCkpXSxyZWl0OltfLnQobnVsbCx2b2lkIDAsbyg4MTAyMDIpKSxfLnQobnVsbCx2b2lkIDAsbyg4MTAyMDIpKV0sdW5pdDpbXy50KG51bGwsdm9pZCAwLG8oNjIwMjExKSksXy50KG51bGwsdm9pZCAwLG8oNjIwMjExKSldLG11dHVhbDpbXy50KG51bGwsdm9pZCAwLG8oOTQwOTg2KSksXy50KG51bGwsdm9pZCAwLG8oNTE4MDQxKSldLHRydXN0OltfLnQobnVsbCx2b2lkIDAsbyg3MjE1MjIpKSxfLnQobnVsbCx2b2lkIDAsbygzNDQzNzUpKV0sc3RydWN0dXJlZDpbXy50KG51bGwsdm9pZCAwLG8oMjU1NjIyKSksXy50KG51bGwsdm9pZCAwLG8oMzAwMjc1KSldLHNwb3Q6W18udChudWxsLHZvaWQgMCxvKDI4MzQxNikpLCIiXSxmdXR1cmVzOltfLnQobnVsbCx2b2lkIDAsbyg5NDM5MDMpKSwiIl0scGVycGV0dWFsOltfLnQobnVsbCx2b2lkIDAsbyg1NTY4NzYpKSwiIl19LEN0PVsiZHIiLCJldGYiLCJjb21tb24iLCJwcmVmZXJyZWQiLCJjbG9zZWRlbmQiLCJldG4iLCJyZWl0IiwidW5pdCIsIm11dHVhbCIsInRydXN0Iiwic3RydWN0dXJlZCJdLGt0PVsic3BvdCIsImZ1dHVyZXMiLCJwZXJwZXR1YWwiXSxUdD1lPT5bIm9wZW4iLCJoaWdoIiwibG93IiwiY2xvc2UiXS5maWx0ZXIoKHQ9PnQhPT1lKSksRXQ9ZT0+WyJTTUE1IiwiU01BMTAiLCJTTUEyMCIsIlNNQTMwIiwiU01BNTAiLCJTTUExMDAiLCJTTUEyMDAiLCJFTUE1IiwiRU1BMTAiLCJFTUEyMCIsIkVNQTMwIiwiRU1BNTAiLCJFTUExMDAiLCJFTUEyMDAiXS5maWx0ZXIoKHQ9PnQhPT1lKSkseHQ9ZT0+WyJJY2hpbW9rdS5CTGluZSIsIkljaGltb2t1LkNMaW5lIiwiSWNoaW1va3UuTGVhZDEiLCJJY2hpbW9rdS5MZWFkMiJdLmZpbHRlcigodD0+dCE9PWUpKSxBdD1bImNyb3NzZXMiLCJjcm9zc2VzX2Fib3ZlIiwiY3Jvc3Nlc19iZWxvdyJdO2Z1bmN0aW9uIE10KGUsLi4udCl7Y29uc3Qgbz10W3QubGVuZ3RoLTFdO2lmKG8uc2VhcmNoVmFsdWUpe2NvbnN0IHQ9KDAsYWUucGFyc2VIdG1sKShlKS5jaGlsZE5vZGVzO2xldCBpPSIiO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2xhc3NMaXN0JiYodFtlXS5jbGFzc0xpc3QuY29udGFpbnMoInR2LXNjcmVlbmVyX19zeW1ib2wiKSYmKHRbZV0uaW5uZXJIVE1MPVJ0KHRbZV0udGV4dENvbnRlbnQudHJpbSgpLG8uc2VhcmNoVmFsdWUpKSxpKz10W2VdLm91dGVySFRNTCk7cmV0dXJuIGkrIiAifXJldHVybiBlfWNvbnN0IEl0PXtuYW1lOntmaXhlZDohMCxjb250cm9sOiJzZWxlY3QiLGNhdGVnb3J5OjEsaW5wbGFjZUVkaXRvckxlZnRPZmZzZXQ6MTAsZmlsdGVyVGl0bGU6RWUudHlwZVswXSxyYW5nZVRpdGxlczp3dCxhZGRpdGlvbmFsQ29sdW1uczpbImRlc2NyaXB0aW9uIiwibmFtZSIsInR5cGUiLCJzdWJ0eXBlIiwidXBkYXRlX21vZGUiXSxhZGRpdGlvbmFsRm9ybWF0dGVyOihlLHQsbyxpLG4scj0iIik9Pntjb25zdCBzPSgoZSx0KT0+SXQudHlwZS5kaXNhYmxlZHx8IUl0LnR5cGUuY2hlY2tlZD8iIjpgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyX190eXBlIiB0aXRsZT0iJHtJdC50eXBlLm11dGF0ZURpc3BsYXlWYWx1ZShlLHQpfSI+PHN1cD4ke0l0LnR5cGUubXV0YXRlRGlzcGxheVZhbHVlKGUsdCwhMCl9PC9zdXA+PC9zcGFuPmApKG8saSk7cmV0dXJuKChlLHQsbyxpLG4pPT57Y29uc3Qgcj1uZXcgUS5EYXRhTW9kZUluZGljYXRvcih7Y2xhc3NTdWZmaXg6Ii0tZm9yLXNjcmVlbmVyIixzaG9ydDohMH0pO2lmKG51bGwhPT1uJiYic3RyaW5nIj09dHlwZW9mIG4pe2NvbnN0IGU9KDAsei5wYXJzZVVwZGF0ZU1vZGUpKG4pO251bGw9PT1lP3Iuc2V0TW9kZShuKTpyLnNldE1vZGUoZS5tb2RlLGUuaW50ZXJ2YWwpfWlmKEl0LmRlc2NyaXB0aW9uLmRpc2FibGVkfHwhSXQuZGVzY3JpcHRpb24uY2hlY2tlZClyZXR1cm4gci5nZXRFbGVtZW50KCkub3V0ZXJIVE1MO2NvbnN0IHM9e2Rlc2NyaXB0aW9uOmUscHJvX25hbWU6aSxzaG9ydF9uYW1lOm99O2xldCBhPWU/KDAsZWUuZ2V0VHJhbnNsYXRlZFN5bWJvbERlc2NyaXB0aW9uKShzKS50b1N0cmluZygpLnRvVXBwZXJDYXNlKCk6IiI7SXQubmFtZS5zZWFyY2hWYWx1ZSYmKGE9UnQoYSxJdC5uYW1lLnNlYXJjaFZhbHVlKSk7Y29uc3QgbD0hSXQuZGVzY3JpcHRpb24uZGlzYWJsZWR8fEl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ/YDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lcl9fZGVzY3JpcHRpb24iPiR7YX0gJHt0fTwvc3Bhbj5gOiIiO3JldHVybmAke3IuZ2V0RWxlbWVudCgpLm91dGVySFRNTH0ke2x9YH0pKGUscyx0LHIsbil9LG11dGF0ZURpc3BsYXlWYWx1ZTpNdCx0b29sdGlwOihlLHQpPT5JdC5kZXNjcmlwdGlvbi5kaXNhYmxlZHx8IUl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ/dDplLHVzZURlZmF1bHRSYW5nZTohMCxkZWZhdWx0UmFuZ2U6Q3QsY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9Pkl0LnR5cGUuY3VzdG9tRmlsdGVyQ29uZGl0aW9uKGUpLHNlYXJjaDohMH0sZGVzY3JpcHRpb246e2hpZGRlbkNvbHVtbjohMCxoaWRlU2V0dXBDb2x1bW46ITB9LGxvZ29pZDp7aGlkZGVuQ29sdW1uOiExLGhpZGVTZXR1cENvbHVtbjohMCxza2lwRmllbGQ6ITB9LGN1cnJlbmN5X2xvZ29pZDp7aGlkZGVuQ29sdW1uOiExLGhpZGVTZXR1cENvbHVtbjohMCxza2lwRmllbGQ6ITB9LGJhc2VfY3VycmVuY3lfbG9nb2lkOntoaWRkZW5Db2x1bW46ITEsaGlkZVNldHVwQ29sdW1uOiEwLHNraXBGaWVsZDohMH0sZXhjaGFuZ2U6e2NvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MSxtdXRhdGVEaXNwbGF5VmFsdWU6ZT0+IkFNRVgiPT09ZT8iTllTRSBBUkNBIjplLHJhbmdlVGl0bGVzOntBTUVYOlsiTllTRSBBUkNBIiwiTllTRSBBUkNBIix7bm93cmFwOiEwfV19fSxjZW50cmFsaXphdGlvbjp7CmNvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MSxoaWRlU2V0dXBDb2x1bW46ITAscmFuZ2VUaXRsZXM6e2NleDpbIkNFWCIsIkNFWCJdLGRleDpbIkRFWCIsIkRFWCJdfX0sc3VibWFya2V0Ontjb250cm9sOiJzZWxlY3QiLGNhdGVnb3J5OjF9LHNlY3Rvcjp7Y2F0ZWdvcnk6MSxmaWx0ZXJDb25kaXRpb246InNlbGVjdCIsc291cmNlUmFuZ2U6WyJNYWpvciIsIk1pbm9yIiwiRXhvdGljIl0sbXV0YXRlRGlzcGxheVZhbHVlOihlLC4uLnQpPT57Y29uc3Qgbz1NdChlLHQpO3JldHVybigwLFRlLnRyaWVzVHJhbnNsYXRlU2NyZWVuZXJEYXRhKShvKX19LGluZGV4Ontjb250cm9sOiJzZWxlY3QiLGlzU2luZ2xlOiEwLGNhdGVnb3J5OjEsaGlkZVNldHVwQ29sdW1uOiEwLGdyb3VwRmlsdGVyOiEwLGN1c3RvbUZpbHRlckNvbmRpdGlvbjplPT57Y29uc3QgdD1JdC5pbmRleC5zb3VyY2VSYW5nZT9JdC5pbmRleC5zb3VyY2VSYW5nZS5maW5kKCh0PT50Lm5hbWU9PT1lKSk6bnVsbDtyZXR1cm4hIXQmJnt0eXBlOiJpbmRleCIsdmFsdWVzOlt0LmlkXX19fSxpbmR1c3RyeTp7Y29udHJvbDoic2VsZWN0IixjYXRlZ29yeToxfSxjb3VudHJ5Ontjb250cm9sOiJzZWxlY3QiLGNhdGVnb3J5OjF9LHR5cGU6e2hpZGRlbkNvbHVtbjohMCxoaWRlU2V0dXBDb2x1bW46ITAsZmlsdGVyQ29uZGl0aW9uOiJzZWxlY3QiLGNhdGVnb3J5OjEscmFuZ2VUaXRsZXM6d3Qsc29ydGFibGVDb2x1bW46ITEscmVzZXR0YWJsZUZpbHRlcjohMSx1c2VEZWZhdWx0UmFuZ2U6ITAsZGVmYXVsdFJhbmdlOkN0LGFkZGl0aW9uYWxDb2x1bW5zOlsic3VidHlwZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTooZSx0LG89ITEpPT50JiZ3dFt0XT93dFt0XVtvPzE6MF06d3RbZV0/d3RbZV1bbz8xOjBdOiIiLGN1c3RvbUZpbHRlckNvbmRpdGlvbjp5ZX0sbWFya2V0X2NhcF9iYXNpYzp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxfSxtYXJrZXRfY2FwX2NhbGM6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MX0sbWFya2V0X2NhcF9kaWx1dGVkX2NhbGM6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MX0sdm9sdW1lOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjF9LGF2ZXJhZ2Vfdm9sdW1lXzEwZF9jYWxjOnt0aXRsZTpFZS5hdmVyYWdlX3ZvbHVtZVswXSxzaG9ydFRpdGxlOkVlLmF2ZXJhZ2Vfdm9sdW1lWzFdLGNvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MSx1c2VEZWZhdWx0VGltZUludGVydmFsOiEwfSxhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsYzp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxLHVzZURlZmF1bHRUaW1lSW50ZXJ2YWw6ITB9LGF2ZXJhZ2Vfdm9sdW1lXzYwZF9jYWxjOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjEsdXNlRGVmYXVsdFRpbWVJbnRlcnZhbDohMH0sYXZlcmFnZV92b2x1bWVfOTBkX2NhbGM6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MSx1c2VEZWZhdWx0VGltZUludGVydmFsOiEwfSxyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6e3RpdGxlOkVlLnJlbGF0aXZlX3ZvbHVtZVswXSxzaG9ydFRpdGxlOkVlLnJlbGF0aXZlX3ZvbHVtZVsxXSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSwicmVsYXRpdmVfdm9sdW1lX2ludHJhZGF5LjUiOnt0aXRsZTpFZS5yZWxhdGl2ZV92b2x1bWVfYXRfdGltZVswXSxzaG9ydFRpdGxlOkVlLnJlbGF0aXZlX3ZvbHVtZV9hdF90aW1lWzFdLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjEsdXNlRGVmYXVsdFRpbWVJbnRlcnZhbEZyb21GaWVsZE5hbWU6ITB9LGNoYW5nZTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS4xIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbImNoYW5nZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS41Ijp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbImNoYW5nZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS4xNSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczp7c3RvY2s6WyJjaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2UiXSxkZWZhdWx0OltdfSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2UuNjAiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6e3N0b2NrOlsiY2hhbmdlIiwicHJlbWFya2V0X2NoYW5nZSIsInBvc3RtYXJrZXRfY2hhbmdlIl0sZGVmYXVsdDpbXX0sZm9ybWF0dGVyOmF0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlLjI0MCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczp7c3RvY2s6WyJjaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2UiXSxkZWZhdWx0OltdfSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MywKaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlLjFXIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbImNoYW5nZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS4xTSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczp7c3RvY2s6WyJjaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2UiXSxkZWZhdWx0OltdfSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LGNoYW5nZV9hYnM6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2VfYWJzLjEiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlX2Ficy41Ijp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZV9hYnMuMTUiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlX2Ficy42MCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2VfYWJzLjI0MCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2VfYWJzLjFXIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZV9hYnMuMU0iOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxiaWQ6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjEsbXV0YXRlRGlzcGxheVZhbHVlOmU9PmA8c3Bhbj4ke2V9PC9zcGFuPmB9LGFzazp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MSxtdXRhdGVEaXNwbGF5VmFsdWU6ZT0+YDxzcGFuPiR7ZX08L3NwYW4+YH0sb3Blbjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6e3N0b2NrOlR0KCJvcGVuIikuY29uY2F0KCJwcmVtYXJrZXRfb3BlbiIsInBvc3RtYXJrZXRfb3BlbiIsInByZW1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2xvc2UiLEV0KCksIkh1bGxNQTkiLCJCQi51cHBlciIsIkJCLmxvd2VyIix4dCgpKSxmb3JleDpUdCgib3BlbiIpLmNvbmNhdCgiYmlkIiwiYXNrIixFdCgpLCJIdWxsTUE5IiwiQkIudXBwZXIiLCJCQi5sb3dlciIseHQoKSksZGVmYXVsdDpUdCgib3BlbiIpLmNvbmNhdChFdCgpLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiSHVsbE1BOSIseHQoKSl9LGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeToxfSxjbG9zZTp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODM0OTApKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDgzNDkwKSksY29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6e3N0b2NrOlR0KCJjbG9zZSIpLmNvbmNhdCgicHJlbWFya2V0X2Nsb3NlIiwicG9zdG1hcmtldF9jbG9zZSIsRXQoKSwiSHVsbE1BOSIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLHh0KCkpLGZvcmV4OlR0KCJjbG9zZSIpLmNvbmNhdCgiYmlkIiwiYXNrIixFdCgpLCJIdWxsTUE5IiwiQkIudXBwZXIiLCJCQi5sb3dlciIseHQoKSksZGVmYXVsdDpUdCgiY2xvc2UiKS5jb25jYXQoRXQoKSwiQkIudXBwZXIiLCJCQi5sb3dlciIsIkh1bGxNQTkiLHh0KCkpfSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MSxtdXRhdGVEaXNwbGF5VmFsdWU6ZT0+YDxzcGFuPiR7ZX08L3NwYW4+YH0saGlnaDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6e3N0b2NrOlR0KCJoaWdoIikuY29uY2F0KCJwcmVtYXJrZXRfaGlnaCIsInBvc3RtYXJrZXRfaGlnaCIsInByZW1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2xvc2UiLEV0KCksIkh1bGxNQTkiLCJCQi51cHBlciIsIkJCLmxvd2VyIix4dCgpKSxmb3JleDpUdCgiaGlnaCIpLmNvbmNhdCgiYmlkIiwiYXNrIixFdCgpLCJIdWxsTUE5IiwiQkIudXBwZXIiLCJCQi5sb3dlciIseHQoKSksZGVmYXVsdDpUdCgiaGlnaCIpLmNvbmNhdChFdCgpLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiSHVsbE1BOSIseHQoKSl9LGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeToxfSxsb3c6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOnsKc3RvY2s6VHQoImxvdyIpLmNvbmNhdCgicHJlbWFya2V0X2xvdyIsInBvc3RtYXJrZXRfbG93IiwicHJlbWFya2V0X2Nsb3NlIiwicG9zdG1hcmtldF9jbG9zZSIsRXQoKSwiSHVsbE1BOSIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLHh0KCkpLGZvcmV4OlR0KCJsb3ciKS5jb25jYXQoImJpZCIsImFzayIsRXQoKSwiSHVsbE1BOSIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLHh0KCkpLGRlZmF1bHQ6VHQoImxvdyIpLmNvbmNhdChFdCgpLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiSHVsbE1BOSIseHQoKSl9LGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeToxfSxnYXA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxwcmljZV9lYXJuaW5nc190dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LHByaWNlX3NhbGVzX3JhdGlvOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxyZXR1cm5fb25fYXNzZXRzOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxyZXR1cm5fb25fZXF1aXR5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxkZWJ0X3RvX2VxdWl0eTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeToyfSxjdXJyZW50X3JhdGlvOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxxdWlja19yYXRpbzp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0scHJpY2VfYm9va19mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0scHJpY2VfYm9va19yYXRpbzp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0scHJpY2VfZnJlZV9jYXNoX2Zsb3dfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxiZXRhXzFfeWVhcjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozfSxvcGVyYXRpbmdfbWFyZ2luOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sZWJpdGRhOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGNoYW5nZV9mcm9tX29wZW46e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxjaGFuZ2VfZnJvbV9vcGVuX2Ficzp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sIlBlcmYuVyI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi4xTSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi4zTSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi42TSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi5ZIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJQZXJmLllURCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsCmZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sIlBlcmYuNVkiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sIlBlcmYuQWxsIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJWb2xhdGlsaXR5LlciOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjN9LCJWb2xhdGlsaXR5Lk0iOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjN9LCJWb2xhdGlsaXR5LkQiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjN9LFJTSTp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJSU0kiLCJSU0lbMV0iXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1JTSVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUlNJU2lnbmFsfSxSU0k3Ontjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJTSTciLCJSU0k3WzFdIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NSU0lTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVJTSVNpZ25hbH0sQURYOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkFEWCIsIkFEWCtESSIsIkFEWC1ESSIsIkFEWCtESVsxXSIsIkFEWC1ESVsxXSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzQURYU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVBRFhTaWduYWx9LCJBRFgrREkiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbIkFEWC1ESSJdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6M30sIkFEWC1ESSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlsiQURYK0RJIl0sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeTozfSxBVFI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSxNb206e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiTW9tIiwiTW9tWzFdIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNb21TaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1vbVNpZ25hbH0sIkhpZ2guQWxsIjp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkxvdy5BbGwiOntjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVncmVhdGVyIix2YWx1ZToibG93In0sZm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LHByaWNlXzUyX3dlZWtfaGlnaDp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30scHJpY2VfNTJfd2Vla19sb3c6e2NvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30saXNfcHJpbWFyeTp7dGl0bGU6RWUuaXNfcHJpbWFyeVswXSxjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sY2F0ZWdvcnk6MX0sYWN0aXZlX3N5bWJvbDp7aGlkZVNldHVwQ29sdW1uOiEwLGNvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxjYXRlZ29yeToxfSwiSGlnaC42TSI6e2NvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZWxlc3MiLHZhbHVlOiJoaWdoIn0sZm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJMb3cuNk0iOntjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVncmVhdGVyIix2YWx1ZToibG93In0sZm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJIaWdoLjNNIjp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkxvdy4zTSI6e2NvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkhpZ2guMU0iOntjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVsZXNzIix2YWx1ZToiaGlnaCJ9LGZvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiTG93LjFNIjp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlZ3JlYXRlciIsdmFsdWU6ImxvdyJ9LApmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sRU1BNTp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTUiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkVNQTUiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxFTUExMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTEwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJFTUExMCIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LEVNQTIwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiRU1BMjAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkVNQTIwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sRU1BMzA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJFTUEzMCIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiRU1BMzAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxFTUE1MDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTUwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJFTUE1MCIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LEVNQTEwMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTEwMCIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiRU1BMTAwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sRU1BMjAwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiRU1BMjAwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJFTUEyMDAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxTTUE1Ontjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BNSIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiU01BNSIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LFNNQTEwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BMTAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlNNQTEwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sU01BMjA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJTTUEyMCIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiU01BMjAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxTTUEzMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIlNNQTMwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJTTUEzMCIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LFNNQTUwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BNTAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlNNQTUwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sU01BMTAwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BMTAwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJTTUExMDAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxTTUEyMDA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJTTUEyMDAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlNNQTIwMCIsImNsb3NlIl0sCm11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSwiU3RvY2guSyI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiU3RvY2guRCJdKSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiU3RvY2guSyIsIlN0b2NoLkQiLCJTdG9jaC5LWzFdIiwiU3RvY2guRFsxXSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzU3RvY2hTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVN0b2NoU2lnbmFsfSwiU3RvY2guRCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiU3RvY2guSyJdKSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6M30sIk1BQ0QubWFjZCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiTUFDRC5zaWduYWwiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQUNEU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQUNEU2lnbmFsfSwiTUFDRC5zaWduYWwiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIk1BQ0QubWFjZCJdKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkFyb29uLlVwIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6WyJBcm9vbi5Eb3duIl0sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjN9LCJBcm9vbi5Eb3duIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6WyJBcm9vbi5VcCJdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozfSwiQkIudXBwZXIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIkJCLmxvd2VyIiwiS2x0Q2hubC51cHBlciIsIktsdENobmwubG93ZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbImNsb3NlIiwiQkIudXBwZXIiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc0JCU2VsbFNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlQkJTZWxsU2lnbmFsfSwiQkIubG93ZXIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIkJCLnVwcGVyIiwiS2x0Q2hubC51cHBlciIsIktsdENobmwubG93ZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbImNsb3NlIiwiQkIubG93ZXIiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc0JCQnV5U2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVCQkJ1eVNpZ25hbH0sIktsdENobmwudXBwZXIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIktsdENobmwubG93ZXIiLCJCQi51cHBlciIsIkJCLmxvd2VyIl0pLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiS2x0Q2hubC5sb3dlciI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiS2x0Q2hubC51cHBlciIsIkJCLnVwcGVyIiwiQkIubG93ZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJQLlNBUiI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlAuU0FSIiwib3BlbiJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzUFNBUlNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUFNBUlNpZ25hbH0sIlZhbHVlLlRyYWRlZCI6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MSxyYW5nZTpbTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVJ8fC0oTWF0aC5wb3coMiw1MyktMSksTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJ8fE1hdGgucG93KDIsNTMpLTFdLHZhbHVlczpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN119LE1vbmV5Rmxvdzp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjN9LENoYWlraW5Nb25leUZsb3c6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozfSxnb29kd2lsbDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxuZXRfZGVidDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSx0b3RhbF9kZWJ0Ontjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHJldmVudWVfcGVyX2VtcGxveWVlOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHJldHVybl9vbl9pbnZlc3RlZF9jYXBpdGFsOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sYWZ0ZXJfdGF4X21hcmdpbjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHByZV90YXhfbWFyZ2luOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZ3Jvc3NfbWFyZ2luOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCwKY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGdyb3NzX3Byb2ZpdF9tYXJnaW5fZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxvcGVyX2luY29tZV9tYXJnaW5fZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxuZXRfaW5jb21lX2JlZl9kaXNjX29wZXJfbWFyZ2luX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZnJlZV9jYXNoX2Zsb3dfbWFyZ2luX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZnJlZV9jYXNoX2Zsb3dfbWFyZ2luX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHNlbGxfZ2VuX2FkbWluX2V4cF9vdGhlcl9yYXRpb19meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6Mn0sc2VsbF9nZW5fYWRtaW5fZXhwX290aGVyX3JhdGlvX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6Mn0scmVzZWFyY2hfYW5kX2Rldl9yYXRpb19meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6Mn0scmVzZWFyY2hfYW5kX2Rldl9yYXRpb190dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjJ9LGRpdmlkZW5kc19wYWlkOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGRpdmlkZW5kX3lpZWxkX3JlY2VudDp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGJhc2ljX2Vwc19uZXRfaW5jb21lOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxuZXRfaW5jb21lOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGdyb3NzX3Byb2ZpdDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxncm9zc19wcm9maXRfZnE6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sbnVtYmVyX29mX3NoYXJlaG9sZGVyczp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxmbG9hdF9zaGFyZXNfb3V0c3RhbmRpbmc6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfc2hhcmVzX291dHN0YW5kaW5nX2Z1bmRhbWVudGFsOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZzp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSx0b3RhbF9zaGFyZXNfZGlsdXRlZDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSx0b3RhbF92YWx1ZV90cmFkZWQ6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfYXNzZXRzOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHRvdGFsX2N1cnJlbnRfYXNzZXRzOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHRvdGFsX3JldmVudWU6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfbGlhYmlsaXRpZXNfZnk6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfbGlhYmlsaXRpZXNfZnE6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sZGl2aWRlbmRzX3Blcl9zaGFyZV9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxlbnRlcnByaXNlX3ZhbHVlX2ViaXRkYV90dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LGVudGVycHJpc2VfdmFsdWVfZnE6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0scHJpY2VfcmV2ZW51ZV90dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjIKfSxudW1iZXJfb2ZfZW1wbG95ZWVzOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGxhc3RfYW5udWFsX2Vwczp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sbGFzdF9hbm51YWxfcmV2ZW51ZTp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxDQ0kyMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkNDSTIwIiwiQ0NJMjBbMV0iXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc0NDSTIwU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVDQ0kyMFNpZ25hbH0sIkRvbmNoQ2gyMC5VcHBlciI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiRG9uY2hDaDIwLkxvd2VyIl0pLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiRG9uY2hDaDIwLkxvd2VyIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoWyJEb25jaENoMjAuVXBwZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LEh1bGxNQTk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJIdWxsTUE5IikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJSZWMuSHVsbE1BOSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzU2ltcGxlU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVTaW1wbGVTaWduYWx9LEFPOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiQU8iLCJBT1sxXSIsIkFPWzJdIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NBT1NpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlQU9TaWduYWx9LCJQaXZvdC5NLkNsYXNzaWMuTWlkZGxlIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uQ2xhc3NpYy5SMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkNsYXNzaWMuUjIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DbGFzc2ljLlIzIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uQ2xhc3NpYy5TMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkNsYXNzaWMuUzIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DbGFzc2ljLlMzIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5SMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5SMiI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5SMyI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5TMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5TMiI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5TMyI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGUiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUjEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUjIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUjMiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUzEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUzIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUzMiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5Xb29kaWUuTWlkZGxlIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uV29vZGllLlIxIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uV29vZGllLlIyIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uV29vZGllLlIzIjp7CmZvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLldvb2RpZS5TMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLldvb2RpZS5TMiI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLldvb2RpZS5TMyI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkRlbWFyay5NaWRkbGUiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5EZW1hcmsuUjEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5EZW1hcmsuUzEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSxjYW5kbGVzdGljazp7YWxpYXM6Im5hbWUiLGNvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6Myxzb3J0YWJsZUNvbHVtbjohMSxhZGRpdGlvbmFsQ29sdW1uczpvdC5tYXAoKGU9PmUua2V5KSksbXV0YXRlRGlzcGxheVZhbHVlOihlLC4uLnQpPT57Y29uc3Qgbz1bXTtmb3IobGV0IGU9MDtlPG90Lmxlbmd0aDsrK2UpdFtlXSYmby5wdXNoKG90W2VdKTtyZXR1cm4gby5sZW5ndGg/by5tYXAoKGU9PmA8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3BhdHRlcm5faWNvbiBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZCBjb21tb24tdG9vbHRpcC1iZWxvdyBjb21tb24tdG9vbHRpcC1odG1sIiBkYXRhLWNvbG9yLXRoZW1lPSJyb3VuZC1zaGFkb3ciIHRpdGxlPSc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fcGF0dGVybl90b29sdGlwX2NvbnRhaW5lciI+JHtlLnN2Z308ZGl2PiR7ZS5uYW1lfTwvZGl2PjwvZGl2Pic+JHtlLnN2Z308L3NwYW4+YCkpLmpvaW4oIiAiKTonPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19wYXR0ZXJuX2VtcHR5Ij7igJQ8L3NwYW4+J30scmFuZ2U6b3QubWFwKChlPT5lLm5hbWUpKSxzb3VyY2VSYW5nZTpvdCxjdXN0b21GaWx0ZXJDb25kaXRpb246ZT0+e0FycmF5LmlzQXJyYXkoZSl8fChlPVtlXSk7cmV0dXJue2xlZnQ6ZS5tYXAoKGU9PmJ0KGUsb3QpKSkuam9pbigiLCIpLG9wZXJhdGlvbjoiZXF1YWwiLHJpZ2h0OjF9fX0sdXBkYXRlX21vZGU6e2hpZGRlbkNvbHVtbjohMSxoaWRlU2V0dXBDb2x1bW46ITAsc2tpcEZpZWxkOiEwfSxwcmVtYXJrZXRfY2hhbmdlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzMjU3MTMpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDIwODg0NikpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbImNoYW5nZSJdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LHByZW1hcmtldF9jaGFuZ2VfYWJzOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1OTc3NjMpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ2NTU3NCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbImNoYW5nZV9hYnMiXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LHByZW1hcmtldF9jaGFuZ2VfZnJvbV9vcGVuOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzODY5NjkpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDY0MjMyOCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxwcmVtYXJrZXRfY2hhbmdlX2Zyb21fb3Blbl9hYnM6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDUwODI3NikpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNDk5NDk1KSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0scHJlbWFya2V0X2Nsb3NlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzODY0NzQpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDM4NjQ3NCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjF9LHByZW1hcmtldF9nYXA6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDUxMTMxMykpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNTExMzEzKSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOlsiZ2FwIl0sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0scHJlbWFya2V0X2hpZ2g6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDI0NTgxMikpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjQ1ODEyKSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0scHJlbWFya2V0X2xvdzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNDI1MjAwKSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg0MjUyMDApKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxwcmVtYXJrZXRfb3Blbjp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjE2NzY0KSksCnNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjE2NzY0KSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0scHJlbWFya2V0X3ZvbHVtZTp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTcxNDE1KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygxNzE0MTUpKSxjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjF9LHBvc3RtYXJrZXRfY2hhbmdlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzOTk5NjgpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDY3MzcwMykpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbImNoYW5nZSJdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LHBvc3RtYXJrZXRfY2hhbmdlX2Ficzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMzAwNjU1KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg0NTI3MjIpKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6WyJjaGFuZ2VfYWJzIl0sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxwb3N0bWFya2V0X2Nsb3NlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg3ODgwMDIpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc4ODAwMikpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjF9LHBvc3RtYXJrZXRfaGlnaDp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzQyMjk5KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg3NDIyOTkpKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxwb3N0bWFya2V0X2xvdzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTM2OTAyKSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygxMzY5MDIpKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxwb3N0bWFya2V0X29wZW46e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDM5NzMzMykpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMzk3MzMzKSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0scG9zdG1hcmtldF92b2x1bWU6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDc5OTI2KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg3OTkyNikpLGNvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MX0sZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LGVhcm5pbmdzX3Blcl9zaGFyZV9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sZWFybmluZ3NfcmVsZWFzZV9kYXRlOntjb250cm9sOiJzZWxlY3QiLGlzU2luZ2xlOiEwLGNhdGVnb3J5OjIsc29ydGFibGU6ITEsdXNlRGVmYXVsdFJhbmdlOiEwLGRlZmF1bHRSYW5nZTp1dC5maWx0ZXIoKGU9Pi0xIT09X3QuaW5kZXhPZihlLmtleSkpKS5tYXAoKGU9PmUubmFtZSkpLHNvdXJjZVJhbmdlOnV0LGN1c3RvbUZpbHRlckNvbmRpdGlvbjpndCgiZWFybmluZ3NfcmVsZWFzZV9kYXRlIiksZm9ybWF0dGVyOmN0fSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZTp7Y29udHJvbDoic2VsZWN0Iixpc1NpbmdsZTohMCxjYXRlZ29yeToyLHNvcnRhYmxlOiExLHVzZURlZmF1bHRSYW5nZTohMCxkZWZhdWx0UmFuZ2U6dXQuZmlsdGVyKChlPT4tMSE9PXB0LmluZGV4T2YoZS5rZXkpKSkubWFwKChlPT5lLm5hbWUpKSxzb3VyY2VSYW5nZTp1dCxjdXN0b21GaWx0ZXJDb25kaXRpb246Z3QoImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiksZm9ybWF0dGVyOmN0fSwiUmVjb21tZW5kLkFsbCI6e2NvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MyxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1JlY29tbWVuZFNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUmVjb21tZW5kU2lnbmFsLHVzZURlZmF1bHRSYW5nZTohMCxzb3J0YWJsZTohMSxzb3J0U2VsZWN0ZWRGaXJzdDohMSxkZWZhdWx0UmFuZ2U6ZHQsY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9PnNlKGUsIlJlY29tbWVuZC5BbGwiKX0sIlJlY29tbWVuZC5NQSI6e2NvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MyxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1JlY29tbWVuZFNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUmVjb21tZW5kU2lnbmFsLHVzZURlZmF1bHRSYW5nZTohMCxzb3J0YWJsZTohMSxzb3J0U2VsZWN0ZWRGaXJzdDohMSxkZWZhdWx0UmFuZ2U6ZHQsY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9PnNlKGUsIlJlY29tbWVuZC5NQSIpfSwiUmVjb21tZW5kLk90aGVyIjp7Y29udHJvbDoic2VsZWN0IixjYXRlZ29yeTozLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzUmVjb21tZW5kU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVSZWNvbW1lbmRTaWduYWwsdXNlRGVmYXVsdFJhbmdlOiEwLHNvcnRhYmxlOiExLHNvcnRTZWxlY3RlZEZpcnN0OiExLGRlZmF1bHRSYW5nZTpkdCwKY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9PnNlKGUsIlJlY29tbWVuZC5PdGhlciIpfSwiU3RvY2guUlNJLksiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbIlN0b2NoLlJTSS5EIl0sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJlYy5TdG9jaC5SU0kiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1NpbXBsZVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlU2ltcGxlU2lnbmFsfSwiU3RvY2guUlNJLkQiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbIlN0b2NoLlJTSS5LIl0sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjN9LCJXLlIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiUmVjLldSIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sUk9DOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6M30sQkJQb3dlcjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJlYy5CQlBvd2VyIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sVU86e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJSZWMuVU8iXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1NpbXBsZVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlU2ltcGxlU2lnbmFsfSxWV0FQOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sVldNQTp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJlYy5WV01BIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sQURSOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiSWNoaW1va3UuQ0xpbmUiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdCh4dCgiSWNoaW1va3UuQ0xpbmUiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJJY2hpbW9rdS5CTGluZSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KHh0KCJJY2hpbW9rdS5CTGluZSIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiUmVjLkljaGltb2t1Il0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sIkljaGltb2t1LkxlYWQxIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoeHQoIkljaGltb2t1LkxlYWQxIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiSWNoaW1va3UuTGVhZDIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdCh4dCgiSWNoaW1va3UuTGVhZDIiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LGVsZW1lbnRzOntoaWRkZW5PcGVyYXRvcnM6QXQsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTA1ODM1KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg5MDU4MzUpKSxjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0sYmFzaWNfZWxlbWVudHM6e2hpZGRlbk9wZXJhdG9yczpBdCx0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1MjIwMTQpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDUyMjAxNCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LCIyNGhfdm9sfDUiOntjYXRlZ29yeToxLGZvcm1hdHRlcjpzdCxjb250cm9sOiJyYW5nZSIsdGl0bGU6RWVbIjI0aF92b2x8NSJdWzBdLHNob3J0VGl0bGU6RWVbIjI0aF92b2x8NSJdWzFdfSwiMjRoX3ZvbF9jaGFuZ2V8NSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MSxoaWdobGlnaHRDaGFuZ2U6ITB9LGN1cnJlbmN5Ontjb250cm9sOiJzZWxlY3QiLGRlZmF1bHRSYW5nZTpbIlVTRCIsIlVTRFQiLCJVU0RDIiwiQlVTRCIsIkJUQyIsIkVUSCIsIkRBSSIsIkJOQiIsIldCVEMiLCJXRVRIIl0sZGlzYWJsZWQ6ITAsY2F0ZWdvcnk6MSxoaWRlU2V0dXBDb2x1bW46ITB9LHRvdGFsX3JldmVudWVfeW95X2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHRvdGFsX3JldmVudWVfcW9xX2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsCmNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZ3Jvc3NfcHJvZml0X3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxncm9zc19wcm9maXRfcW9xX2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZ3Jvc3NfcHJvZml0X3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWJpdGRhX3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxlYml0ZGFfcW9xX2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGViaXRkYV95b3lfZ3Jvd3RoX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWJpdGRhX3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV95b3lfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV9xb3FfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV95b3lfZ3Jvd3RoX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV95b3lfZ3Jvd3RoX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxmcmVlX2Nhc2hfZmxvd19xb3FfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZnJlZV9jYXNoX2Zsb3dfeW95X2dyb3d0aF9meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3FvcV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwCn0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF9meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9hc3NldHNfeW95X2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHRvdGFsX2Fzc2V0c19xb3FfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sdG90YWxfYXNzZXRzX3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9kZWJ0X3FvcV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxjYXNoX25fZXF1aXZhbGVudHNfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sY2FzaF9uX2VxdWl2YWxlbnRzX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn19O2Z1bmN0aW9uIFJ0KGUsdCl7dD10LnJlcGxhY2UoLyhccyspLywiKDxbXj5dKz4pKiQxKDxbXj5dKz4pKiIpO2NvbnN0IG89bmV3IFJlZ0V4cCgiKCIrdCsiKSIsImdpIik7cmV0dXJuIGUucmVwbGFjZShvLCI8bWFyaz4kMTwvbWFyaz4iKX1mdW5jdGlvbiBGdChlLHQpe2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7KytvKXtjb25zdCBpPWVbb107aS5sZWZ0JiZJdFtpLmxlZnRdJiYoaS5sZWZ0PWhlKGkubGVmdCx0KSl9fWZ1bmN0aW9uIEx0KGUsdCxvLGkpe2lmKEFycmF5LmlzQXJyYXkodCkmJjA9PT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkVtcHR5IHZhbHVlIik7bGV0IG49byYmb1tlXT9vW2VdOnQ7aWYoImZ1bmN0aW9uIj09dHlwZW9mIEl0W2VdLmN1c3RvbUZpbHRlckNvbmRpdGlvbil7Y29uc3QgdD1JdFtlXS5jdXN0b21GaWx0ZXJDb25kaXRpb24obik7aWYodClyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT9GdCh0LGkpOigiY2FuZGxlc3RpY2siPT09ZSYmKHQubGVmdD10LmxlZnQuc3BsaXQoIiwiKS5tYXAoKGU9PmhlKGUsaSkpKS5qb2luKCIsIikpLHQubGVmdCYmSXRbdC5sZWZ0XSYmKHQubGVmdD1oZSh0LmxlZnQsaSkpKSx0LmZpbHRlck9SJiYoRnQodC5maWx0ZXIsaSksRnQodC5maWx0ZXJPUixpKSksdC5maWx0ZXIyRmxhZyYmKEZ0KHQuZmlsdGVyLGkpLEZ0KHQuZmlsdGVyMkFuZFBhcnQsaSkpLHR9aWYoImZ1bmN0aW9uIj09dHlwZW9mIEl0W2VdLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlKXtjb25zdCB0PUl0W2VdLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlKG4pO3QmJihuPXQpfWNvbnN0IHI9QXJyYXkuaXNBcnJheShuKTtpZihuJiYib2JqZWN0Ij09dHlwZW9mIG4mJiFyKXtjb25zdCB0PXtsZWZ0OmUsb3BlcmF0aW9uOm4ub3BlcmF0b3J9O3JldHVybiBuLnZhbHVlJiYodC5yaWdodD1uLnZhbHVlKSx0fXJldHVybntsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOnI/ImluX3JhbmdlIjoiZXF1YWwiLHJpZ2h0OnI/bi5zbGljZSgpOm59fWZ1bmN0aW9uIER0KGUsdCxvLGkpe2lmKG10KHQpJiZtdChvKSl0aHJvdyBuZXcgRXJyb3IoIkVtcHR5IHZhbHVlIik7bGV0IG4scj17fTtzd2l0Y2goSXRbZV0uY29udHJvbCl7Y2FzZSJyYW5nZSI6aWYodCYmIm9iamVjdCI9PXR5cGVvZiB0JiYhQXJyYXkuaXNBcnJheSh0KSl7cj17bGVmdDplLG9wZXJhdGlvbjp0Lm9wZXJhdG9yfSx0LnZhbHVlJiYoci5yaWdodD10LnZhbHVlKTticmVha30KdmFyIHM9bz9BcnJheS5pc0FycmF5KG9bZV0pJiZvW2VdLnNsaWNlKCl8fFtdOnQuc2xpY2UoKTtyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOiJpbl9yYW5nZSIscmlnaHQ6c30sMj09PXMubGVuZ3RoJiYoMCxILmlzTnVtYmVyKShzWzBdKSYmKDAsSC5pc051bWJlcikoc1sxXSkmJigtMWUxMDA9PStzWzBdP3I9e2xlZnQ6aGUoZSxpKSxvcGVyYXRpb246ImVsZXNzIixyaWdodDpzWzFdfToxZTEwMD09K3NbMV0mJihyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOiJlZ3JlYXRlciIscmlnaHQ6c1swXX0pKTticmVhaztjYXNlImNvbmRpdGlvbiI6aWYobXQodC5vcGVyYXRvcikpdGhyb3cgbmV3IEVycm9yKCJFbXB0eSB2YWx1ZSBvcGVyYXRvciIpO2lmKG10KHQudmFsdWUpKXRocm93IG5ldyBFcnJvcigiRW1wdHkgdmFsdWUiKTtuPW8mJm9bZV0udmFsdWU/b1tlXS52YWx1ZTp0LnZhbHVlLEl0W25dJiYobj1oZShuLGkpKSxyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOm8mJm9bZV0ub3BlcmF0b3I/b1tlXS5vcGVyYXRvcjp0Lm9wZXJhdG9yLHJpZ2h0Om59O2JyZWFrO2Nhc2UidG9nZ2xlIjpyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOm8mJm9bZV0ub3BlcmF0b3I/b1tlXS5vcGVyYXRvcjpJdFtlXS5maWx0ZXIub3BlcmF0b3IscmlnaHQ6byYmb1tlXS52YWx1ZT9vW2VdLnZhbHVlOkl0W2VdLmZpbHRlci52YWx1ZX07YnJlYWs7Y2FzZSJzZWxlY3QiOnI9THQoZSx0LG8saSk7YnJlYWs7ZGVmYXVsdDoic2VsZWN0Ij09PUl0W2VdLmZpbHRlckNvbmRpdGlvbiYmKHI9THQoZSx0LG8saSkpfXJldHVybiByfWZ1bmN0aW9uIE90KGUsdCl7IWZ1bmN0aW9uKGUsdCl7Zm9yKGNvbnN0IG8gaW4gZSllW29dLmRpc2FibGVkPTI9PT1lW29dLmNhdGVnb3J5fHx0LmluY2x1ZGVzKG8pfShlLCh0fHxbXSkuY29uY2F0KCJ0eXBlIiwiaW5kdXN0cnkiLCJtYXJrZXRfY2FwX2Jhc2ljIiwiYmV0YV8xX3llYXIiLCJWYWx1ZS5UcmFkZWQiLCJNb25leUZsb3ciLCJDaGFpa2luTW9uZXlGbG93IiwiZWxlbWVudHMiLCJiYXNpY19lbGVtZW50cyIsInByZW1hcmtldF9jaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlX2FicyIsInByZW1hcmtldF9jaGFuZ2VfZnJvbV9vcGVuIiwicHJlbWFya2V0X2NoYW5nZV9mcm9tX29wZW5fYWJzIiwicHJlbWFya2V0X2Nsb3NlIiwicHJlbWFya2V0X2dhcCIsInByZW1hcmtldF9oaWdoIiwicHJlbWFya2V0X2xvdyIsInByZW1hcmtldF9vcGVuIiwicHJlbWFya2V0X3ZvbHVtZSIsInBvc3RtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2VfYWJzIiwicG9zdG1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfaGlnaCIsInBvc3RtYXJrZXRfbG93IiwicG9zdG1hcmtldF9vcGVuIiwicG9zdG1hcmtldF92b2x1bWUiKSl9ZnVuY3Rpb24gTnQoKXtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhFZSkpZSBpbiBJdCYmKEl0W2VdLnRpdGxlPUl0W2VdLnRpdGxlfHxFZVtlXVswXSxJdFtlXS5zaG9ydFRpdGxlPUl0W2VdLnNob3J0VGl0bGV8fEVlW2VdWzFdKX1mdW5jdGlvbiBQdChlLHQpe2lmKGRlbGV0ZSBJdC5uYW1lLmNvbnRyb2wsTnQoKSwiZm9yZXgiPT09ZSYmKEl0LmNvdW50cnkudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oMjI0ODIxKSksSXQuY291bnRyeS5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDIyNDgyMSkpLGRlbGV0ZSBJdC5zZWN0b3IuY29udHJvbCxJdC5zZWN0b3IudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODYyOTQ5KSksSXQuc2VjdG9yLnNob3J0VGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODYyOTQ5KSksSXQuc2VjdG9yLnJlc2V0dGFibGVGaWx0ZXI9ITEsSXQuc2VjdG9yLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlPWU9PiEhZSYmKEFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoKGU9PnZ0KGUsaHQpKSk6dnQoZSxodCkpKSwic3RvY2siPT09ZSl7SXQuc2VjdG9yLnRpdGxlPV8udChudWxsLHZvaWQgMCxvKDI3ODcyOSkpLEl0LnNlY3Rvci5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDI3ODcyOSkpLEl0LnR5cGUuY3VzdG9tRmlsdGVyQ29uZGl0aW9uPXllLEl0LnR5cGUuZGVmYXVsdFJhbmdlPUN0LEl0Lm5hbWUuZGVmYXVsdFJhbmdlPUN0LEl0LnNlY3Rvci5jb250cm9sPSJzZWxlY3QiLEl0LnNlY3Rvci5yZXNldHRhYmxlRmlsdGVyPSEwLGRlbGV0ZSBJdC5zZWN0b3IubXV0YXRlRmlsdGVyQ29uZGl0aW9uVmFsdWU7Zm9yKGNvbnN0IGUgaW4gSXQpSXRbZV0uZGlzYWJsZWQ9ITF9WyJzdG9jayIsImNyeXB0byJdLmluY2x1ZGVzKGUpJiYoSXQubmFtZS5jb250cm9sPSJzZWxlY3QiKSwiY3J5cHRvIj09PWUmJihJdC5zZWN0b3IudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oNTQ1OCkpLEl0LnNlY3Rvci5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDU0NTgpKSxJdC5zZWN0b3IuY29udHJvbD0ic2VsZWN0IixJdC5zZWN0b3IucmVzZXR0YWJsZUZpbHRlcj0hMCxkZWxldGUgSXQuc2VjdG9yLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlLEl0Lm5hbWUuYWRkaXRpb25hbENvbHVtbnMucHVzaCgiZXhjaGFuZ2UiKSxJdC50eXBlLmRlZmF1bHRSYW5nZT1rdCxJdC5uYW1lLmRlZmF1bHRSYW5nZT1rdCxJdC50eXBlLmN1c3RvbUZpbHRlckNvbmRpdGlvbj1iZSksImNyeXB0byIhPT1lJiYoSXQubmFtZS5hZGRpdGlvbmFsQ29sdW1ucz1JdC5uYW1lLmFkZGl0aW9uYWxDb2x1bW5zLmZpbHRlcigoZT0+ImV4Y2hhbmdlIiE9PWUpKSksImNyeXB0b19ta3QiPT09ZSYmKEl0LnNlY3Rvci50aXRsZT1fLnQobnVsbCx2b2lkIDAsbyg3MzQ5OTMpKSxJdC5zZWN0b3Iuc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg3MzQ5OTMpKSksWyJjcnlwdG8iLCJjcnlwdG9fbWt0Il0uaW5jbHVkZXMoZSkmJihJdC50b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmcudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODM1OTYxKSksSXQudG90YWxfc2hhcmVzX291dHN0YW5kaW5nLnNob3J0VGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODEzMDc3KSkpLCJzZWN0b3IiPT09ZSYmKEl0LmRlc2NyaXB0aW9uLmhpZGRlbkNvbHVtbj0hMSwKSXQuZGVzY3JpcHRpb24udGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oMjc4NzI5KSksSXQuZGVzY3JpcHRpb24uc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbygyNzg3MjkpKSxJdC5kZXNjcmlwdGlvbi5tdXRhdGVEaXNwbGF5VmFsdWU9TXQpLCJpbmR1c3RyeSI9PT1lJiYoSXQuZGVzY3JpcHRpb24uaGlkZGVuQ29sdW1uPSExLEl0LmRlc2NyaXB0aW9uLnRpdGxlPV8udChudWxsLHZvaWQgMCxvKDg3NzYxKSksSXQuZGVzY3JpcHRpb24uc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg4Nzc2MSkpLEl0LmRlc2NyaXB0aW9uLm11dGF0ZURpc3BsYXlWYWx1ZT1NdCxJdC5lbGVtZW50cy50aXRsZT1fLnQobnVsbCx2b2lkIDAsbyg1MjIwMTQpKSxJdC5lbGVtZW50cy5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDUyMjAxNCkpLEl0LnNlY3Rvci5jb250cm9sPSJzZWxlY3QiLEl0LnNlY3Rvci5yZXNldHRhYmxlRmlsdGVyPSEwKSxbInNlY3RvciIsImluZHVzdHJ5Il0uaW5jbHVkZXModCkmJihJdC5zZWN0b3IuaGlkZGVuQ29sdW1uPSEwKSwiYm9uZHMiPT09ZSYmKEl0LmNsb3NlLnRpdGxlPV8udChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNzU0NikpLEl0LmNsb3NlLnNob3J0VGl0bGU9Xy50KG51bGwse2NvbnRleHQ6IkJvbmRzIn0sbyg3NTQ2KSksSXQuY291cG9uPXt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygyMjU3MDYpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDIyNTcwNikpLGFsaWduOiJyaWdodCIsZm9ybWF0dGVyOmF0fSxJdC5tYXR1cml0eV9kYXRlPXt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygyNzc5ODQpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDI3Nzk4NCkpLGFsaWduOiJyaWdodCIsbXV0YXRlRGlzcGxheVZhbHVlOm1lfSksImNvbnRpbnVvdXNfZnV0dXJlcyI9PT1lJiYoSXQuZXhwaXJhdGlvbj17dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMzY1NTg5KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygzNjU1ODkpKSxhbGlnbjoicmlnaHQiLG11dGF0ZURpc3BsYXlWYWx1ZTptZX0pLGZ1bmN0aW9uKGUsdCl7c3dpdGNoKGUpe2Nhc2Uic3RvY2siOlsiYmlkIiwiYXNrIiwiY3VycmVuY3kiLCJjZW50cmFsaXphdGlvbiJdLmZvckVhY2goKGU9Pnt0W2VdLmRpc2FibGVkPSEwfSkpO2JyZWFrO2Nhc2UiZm9yZXgiOk90KHQsWyJleGNoYW5nZSIsInZvbHVtZSIsInJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYyIsInJlbGF0aXZlX3ZvbHVtZV9pbnRyYWRheS41IiwiYXZlcmFnZV92b2x1bWVfMTBkX2NhbGMiLCJhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsYyIsImF2ZXJhZ2Vfdm9sdW1lXzYwZF9jYWxjIiwiYXZlcmFnZV92b2x1bWVfOTBkX2NhbGMiLCJjdXJyZW5jeSIsImNlbnRyYWxpemF0aW9uIl0pO2JyZWFrO2Nhc2UiZnV0dXJlcyI6Y2FzZSJjZmQiOk90KHQsWyJiaWQiLCJhc2siLCJjZW50cmFsaXphdGlvbiJdKTticmVhaztjYXNlImNyeXB0byI6T3QodCxbImNvdW50cnkiLCJzZWN0b3IiXSl9fShlLEl0KTtbIm1hcmtldF9jYXBfY2FsYyIsIm1hcmtldF9jYXBfZGlsdXRlZF9jYWxjIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfc2hhcmVzX2RpbHV0ZWQiLCJ0b3RhbF92YWx1ZV90cmFkZWQiLCIyNGhfdm9sfDUiLCIyNGhfdm9sX2NoYW5nZXw1Il0uZm9yRWFjaCgodD0+e0l0W3RdLmRpc2FibGVkPSFbImNyeXB0byIsImNyeXB0b19ta3QiXS5pbmNsdWRlcyhlKX0pKTtbImVsZW1lbnRzIiwiYmFzaWNfZWxlbWVudHMiXS5mb3JFYWNoKCh0PT57SXRbdF0uZGlzYWJsZWQ9IVsic2VjdG9yIiwiaW5kdXN0cnkiXS5pbmNsdWRlcyhlKX0pKX1OdCgpO2NvbnN0IEJ0PVt7a2V5OiItMSIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg3MDA1MDgpKX0se2tleToiMSIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg1NzI5NjIpKX1dLCR0PVt7a2V5OiItMSIsbmFtZTonPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX21hcmtldC1pY29uIj4nK28oNTk4NTg1KSsiPC9kaXY+In0se2tleToiMSIsbmFtZTonPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX21hcmtldC1pY29uIj4nK28oNjkzMjM2KSsiPC9kaXY+In1dO2Z1bmN0aW9uIFd0KCl7Y29uc3QgZT0oZSx0LG8saSk9Pntjb25zdCBuPWJ0KGUsdXQpfHxudWxsLHI9bj9TdChuKTpudWxsO3JldHVybiByJiZyWzBdPD0xZTMqdCYmMWUzKnQ8PXJbMV0/aTpvfTtJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfdGltZT17aXNTaW5nbGU6ITAsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODYyMTE5KSksdG9vbHRpcDoodCxvLGkpPT57Y29uc3Qgbj1JdC5lYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZS52YWx1ZSxyPWUobix0LG8saSk7cmV0dXJuIHI/eXQoKHM9cikudG9TdHJpbmcoKSxCdCl8fHM6dm9pZCAwO3ZhciBzfSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDg2MjExOSkpLGRpc2FibGVIZWFkZXJDb250cm9sOiEwLGFsaWduOiJjZW50ZXIiLGFkZGl0aW9uYWxDb2x1bW5zOlsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfdGltZSJdLG11dGF0ZURpc3BsYXlWYWx1ZToodCxvLGksbik9Pntjb25zdCByPUl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnZhbHVlLHM9ZShyLG8saSxuKTtyZXR1cm4gcz95dCgoYT1zKS50b1N0cmluZygpLCR0KXx8YTpxdDt2YXIgYX0sY2F0ZWdvcnk6Mn0sSXQuY2xvc2UudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODM0OTApKSxJdC5jbG9zZS5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDgzNDkwKSksSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGU9T2JqZWN0LmFzc2lnbihJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSx7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNTA3NzI5KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1MDc3MjkpKSxub0FueTohMCxhZGRpdGlvbmFsQ29sdW1uczpbImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sCmRlZmF1bHRSYW5nZTp1dC5tYXAoKGU9PmUubmFtZSkpLHJlc2V0dGFibGVGaWx0ZXI6ITEsbXV0YXRlRGlzcGxheVZhbHVlOihlLHQsbyxpKT0+e2lmKCFvJiZ0KXJldHVybiBjdC5mb3JtYXQodCk7aWYoaS52YWx1ZSl7Y29uc3QgZT1idChpLnZhbHVlLHV0KTtpZihlKXtjb25zdCBpPVN0KGUpO2lmKGkpe2lmKHQmJlZ0KHQsaSkpcmV0dXJuIGN0LmZvcm1hdCh0KTtpZihvJiZWdChvLGkpKXJldHVybiBjdC5mb3JtYXQobyl9fX1yZXR1cm4gZX0sY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmd0KCl9KSxJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZT17dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTU2ODc0KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygxNTY4NzQpKSxmb3JtYXR0ZXI6Y3QsY2F0ZWdvcnk6MSxhZGRpdGlvbmFsQ29sdW1uczpbImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9jYWxlbmRhcl9kYXRlIl0sbXV0YXRlRGlzcGxheVZhbHVlOihlLHQsbyk9Pntjb25zdCBpPWJ0KEl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnZhbHVlLHV0KTtpZihpKXtjb25zdCBvPVN0KGkpO2lmKG8mJlZ0KHQsbykpcmV0dXJuIGV9cmV0dXJuIG8/Y3QuZm9ybWF0KG8pOnF0fX0sZGVsZXRlIEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxLmNvbnRyb2wsSXQuZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oNzg5MTU1KSksSXQuZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEuc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg3ODkxNTUpKSxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcS5kaXNhYmxlSGVhZGVyQ29udHJvbD0hMCxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcS5hbGlnbj0icmlnaHQiLEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxLmFkZGl0aW9uYWxDb2x1bW5zPVsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnEiXSxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcS5tdXRhdGVEaXNwbGF5VmFsdWU9KGUsdCxvKT0+e2NvbnN0IGk9YnQoSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUudmFsdWUsdXQpO2lmKGkpe2NvbnN0IG89U3QoaSk7aWYobyYmVnQodCxvKSlyZXR1cm4gZX1yZXR1cm4gbz9udC5mb3JtYXQobyk6cXR9LEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mcS50aXRsZT1fLnQobnVsbCx2b2lkIDAsbyg4NTc4OTgpKSxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZnEuc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg4NTc4OTgpKSxJdC5lcHNfc3VycHJpc2VfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpFZS5lcHNfc3VycHJpc2VfZnFbMF0sc2hvcnRUaXRsZTpFZS5lcHNfc3VycHJpc2VfZnFbMV0sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sSXQuZXBzX3N1cnByaXNlX3BlcmNlbnRfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpFZS5lcHNfc3VycHJpc2VfcGVyY2VudF9mcVswXSxzaG9ydFRpdGxlOkVlLmVwc19zdXJwcmlzZV9wZXJjZW50X2ZxWzFdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LEl0LnJldmVudWVfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1ODgzNzMpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDU4ODM3MykpLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxfSxJdC5yZXZlbnVlX2ZvcmVjYXN0X25leHRfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg0NTk1ODcpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ1OTU4NykpLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxLGFkZGl0aW9uYWxDb2x1bW5zOlsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxIl0sbXV0YXRlRGlzcGxheVZhbHVlOihlLHQsbyk9Pntjb25zdCBpPWJ0KEl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnZhbHVlLHV0KTtpZihpKXtjb25zdCBvPVN0KGkpO2lmKG8mJlZ0KHQsbykpcmV0dXJuIjAiPT09ZT9xdDplfXJldHVybiBvP3N0LmZvcm1hdChvKTpxdH19LFV0KCl9Y29uc3QgcXQ9JzxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY29sb3Itbm9ybWFsIj7igJQ8L3NwYW4+JztmdW5jdGlvbiBWdChlLHQpe3JldHVybiBmdW5jdGlvbihlLHQpe2NvbnN0IG89dFswXSxpPXRbMV07cmV0dXJuIG88PWUmJmU8PWl9KDFlMyplLHQpfWNvbnN0IEh0PWU9PntlLmFkZGl0aW9uYWxDb2x1bW5zPVsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiXSxlLm11dGF0ZURpc3BsYXlWYWx1ZT0oZSx0KT0+e2NvbnN0IG89YnQoSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUudmFsdWUsdXQpO2lmKG8pe2NvbnN0IGU9U3Qobyk7aWYoZSYmVnQodCxlKSlyZXR1cm4gcXR9cmV0dXJuIGV9fTtmdW5jdGlvbiBVdCgpe0h0KEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mcSksSHQoSXQuZXBzX3N1cnByaXNlX2ZxKSxIdChJdC5lcHNfc3VycHJpc2VfcGVyY2VudF9mcSksSHQoSXQucmV2ZW51ZV9mcSl9ZnVuY3Rpb24genQoZSx0PSJzdG9jayIsbz0hMCl7aWYoIWUpcmV0dXJuIG51bGw7aWYoWyJjcnlwdG9fbWt0Il0uaW5jbHVkZXModCkmJmUuY3J5cHRvRm9ybWF0dGVyKXJldHVybiBlLmNyeXB0b0Zvcm1hdHRlcjtpZihbImZvcmV4IiwiY3J5cHRvIiwiY3J5cHRvX21rdCIsImNmZCIsImZ1dHVyZXMiXS5pbmNsdWRlcyh0KSl7CmlmKGUuZm9yZXhGaWx0ZXJGb3JtYXR0ZXIpcmV0dXJuIGUuZm9yZXhGaWx0ZXJGb3JtYXR0ZXI7aWYoZS5mb3JleEZvcm1hdHRlcilyZXR1cm4gZS5mb3JleEZvcm1hdHRlcn1yZXR1cm4gbyYmZS5maWx0ZXJGb3JtYXR0ZXI/ZS5maWx0ZXJGb3JtYXR0ZXI6ZS5mb3JtYXR0ZXI/ZS5mb3JtYXR0ZXI6bnVsbH1jb25zdCBqdD17fTtmdW5jdGlvbiBHdChlLHQsbyxpKXtjb25zdCBuPWUrIjsiK3QrIjsiK28rIjsiK2k7cmV0dXJuIGp0W25dfHwoanRbbl09bmV3IGouUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6ZSxtaW5Nb3ZlOnQsZnJhY3Rpb25hbDpvLG1pbk1vdmUyOml9KSksanRbbl19ZnVuY3Rpb24gWHQoZSl7cmV0dXJuIEl0W2VdJiYhSXRbZV0uZml4ZWQmJiFJdFtlXS5kaXNhYmxlZCYmIUl0W2VdLmhpZGVTZXR1cENvbHVtbn1mdW5jdGlvbiBLdChlKXtyZXR1cm4gZS5maWx0ZXJUaXRsZXx8ZS50aXRsZX1mdW5jdGlvbiBZdChlLHQpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiZBcnJheS5pc0FycmF5KHQpP2Z1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bLi4uZSwuLi50XTtyZXR1cm5bTWF0aC5taW4oLi4ubyksTWF0aC5tYXgoLi4ubyldfShlLHQpOiJzdHJpbmciIT10eXBlb2YgZT9mdW5jdGlvbihlLHQpe3JldHVybiBlLm9wZXJhdG9yIT09dC5vcGVyYXRvcj9udWxsOiJncmVhdGVyIj09PXQub3BlcmF0b3I/e29wZXJhdG9yOmUub3BlcmF0b3IsdmFsdWU6TWF0aC5taW4odC52YWx1ZSxlLnZhbHVlKX06e29wZXJhdG9yOmUub3BlcmF0b3IsdmFsdWU6TWF0aC5tYXgoZS52YWx1ZSx0LnZhbHVlKX19KGUsdCk6ZT09PXQ/ZTpudWxsfWNvbnN0IEp0PXtmb3JleDp7dG9wX2dhaW5lcnM6Xy50KG51bGwsdm9pZCAwLG8oNDA3NDM4KSksdG9wX2xvc2VyczpfLnQobnVsbCx2b2lkIDAsbyg0Mjg5NzgpKX0sZGVmYXVsdDp7dG9wX2dhaW5lcnM6Xy50KG51bGwsdm9pZCAwLG8oODE0MDIxKSksdG9wX2xvc2VyczpfLnQobnVsbCx2b2lkIDAsbygzODQ1NDApKX19LFp0PVt7aWQ6ImdlbmVyYWwiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDkxMDgyMSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e319fSx7aWQ6Im1vc3RfY2FwaXRhbGl6ZWQiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDU1NDE1MSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im1hcmtldF9jYXBfYmFzaWMiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6InZvbHVtZV9sZWFkZXJzIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygxNTUyODApKSxhZGp1c3RGaWx0ZXI6e3ZvbHVtZTpbMV19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6InZvbHVtZSIsc29ydF9kaXJlY3Rpb246ImRlc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoidG9wX2dhaW5lcnMiLHRpdGxlOkp0LmRlZmF1bHQudG9wX2dhaW5lcnMsYWRqdXN0RmlsdGVyOntjaGFuZ2U6WzFdfSxjb250ZW50Ontzb3J0X2ZpZWxkOiJjaGFuZ2UiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntjaGFuZ2U6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTowfSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6InRvcF9sb3NlcnMiLHRpdGxlOkp0LmRlZmF1bHQudG9wX2xvc2VycyxhZGp1c3RGaWx0ZXI6e2NoYW5nZTpbMF19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6ImNoYW5nZSIsc29ydF9kaXJlY3Rpb246ImFzYyIsZmlsdGVyczp7Y2hhbmdlOntvcGVyYXRvcjoibGVzcyIsdmFsdWU6MH0saXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJhdGgiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDI0MTMxNykpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6eyJIaWdoLkFsbCI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6ImF0bCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNjI1NDg4KSksY29udGVudDp7c29ydF9maWVsZDoibmFtZSIsc29ydF9kaXJlY3Rpb246ImFzYyIsZmlsdGVyczp7Ikxvdy5BbGwiOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6ImhpZ2hfZGl2aWRlbmQiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDg4NTkzKSksY29udGVudDp7c29ydF9maWVsZDoiZGl2aWRlbmRfeWllbGRfcmVjZW50Iixzb3J0X2RpcmVjdGlvbjoiZGVzYyIsZmlsdGVyczp7ZGl2aWRlbmRfeWllbGRfcmVjZW50OntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6MH0saXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJhYm92ZV81MndrX2hpZ2giLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ1NzE5NSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e3ByaWNlXzUyX3dlZWtfaGlnaDp7b3BlcmF0b3I6ImVsZXNzIix2YWx1ZToiaGlnaCJ9LGlzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoiYmVsb3dfNTJ3a19sb3ciLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDgzODY5MCkpLApjb250ZW50Ontzb3J0X2ZpZWxkOiJuYW1lIixzb3J0X2RpcmVjdGlvbjoiYXNjIixmaWx0ZXJzOntwcmljZV81Ml93ZWVrX2xvdzp7b3BlcmF0b3I6ImVncmVhdGVyIix2YWx1ZToibG93In0saXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJtb250aGx5X2hpZ2giLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc1OTg0MSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6eyJIaWdoLjFNIjp7b3BlcmF0b3I6ImVsZXNzIix2YWx1ZToiaGlnaCJ9LGlzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoibW9udGhseV9sb3ciLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDk5NjU3MikpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6eyJMb3cuMU0iOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6Im1vc3Rfdm9sYXRpbGUiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDY1NjYwMykpLGFkanVzdEZpbHRlcjp7IlZvbGF0aWxpdHkuRCI6WzFdfSxjb250ZW50Ontzb3J0X2ZpZWxkOiJWb2xhdGlsaXR5LkQiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6InVudXN1YWxfdm9sdW1lIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygyNTAwNzIpKSxhZGp1c3RGaWx0ZXI6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMV19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6InJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYyIsc29ydF9kaXJlY3Rpb246ImRlc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpudWxsLGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoib3ZlcmJvdWdodCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjIyNTk3KSksY29udGVudDp7c29ydF9maWVsZDoibmFtZSIsc29ydF9kaXJlY3Rpb246ImFzYyIsZmlsdGVyczp7aXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sUlNJOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6NzB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoib3ZlcnNvbGQiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDgxMTIwMykpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LFJTSTp7b3BlcmF0b3I6Imxlc3MiLHZhbHVlOjMwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6Im91dHBlcmZvcm1pbmdfU01BNTAiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDM3NjUzMikpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LFNNQTUwOntvcGVyYXRvcjoibGVzcyIsdmFsdWU6ImNsb3NlIn0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJ1bmRlcnBlcmZvcm1pbmdfU01BNTAiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc0MjMzOCkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LFNNQTUwOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6ImNsb3NlIn0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJlYXJuaW5nc190aGlzX3dlZWsiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDEzNDA1OSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im1hcmtldF9jYXBfYmFzaWMiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZTpudWxsLGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoicHJlX21hcmtldF9nYWluZXJzIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzMjk2NDgpKSxhZGp1c3RGaWx0ZXI6e3ByZW1hcmtldF9jaGFuZ2U6WzFdfSxjb250ZW50Ontzb3J0X2ZpZWxkOiJwcmVtYXJrZXRfY2hhbmdlIixzb3J0X2RpcmVjdGlvbjoiZGVzYyIsZmlsdGVyczp7aXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0scHJlbWFya2V0X2NoYW5nZTp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOjB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoiYWZ0ZXJfaG91cnNfZ2FpbmVycyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNTMyMDI4KSksYWRqdXN0RmlsdGVyOntwb3N0bWFya2V0X3ZvbHVtZTpbMV19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6InBvc3RtYXJrZXRfdm9sdW1lIixzb3J0X2RpcmVjdGlvbjoiZGVzYyIsZmlsdGVyczp7aXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0scG9zdG1hcmtldF92b2x1bWU6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTowfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fV07ZnVuY3Rpb24gUXQoZSl7WnQuZm9yRWFjaCgodD0+e2lmKHQuZGlzYWJsZWQ9ITEsCnQuaWQgaW4gQi5hbWVyaWNhKWZvcihjb25zdCBlIGluIEIuYW1lcmljYVt0LmlkXSl0LmNvbnRlbnQuZmlsdGVyc1tlXT1CLmFtZXJpY2FbdC5pZF1bZV07KHQ9PntbImZvcmV4IiwiY3J5cHRvIl0uaW5jbHVkZXMoZVswXSl8fGUuaW5jbHVkZXMoImJyYXppbCIpP2RlbGV0ZSB0LmNvbnRlbnQuZmlsdGVycy5uYW1lOnQuY29udGVudC5maWx0ZXJzLm5hbWU9WyJjb21tb24iLCJkciIsImV0ZiJdLDE9PT1lLmxlbmd0aCYmImFtZXJpY2EiPT09ZVswXT90LmNvbnRlbnQuZmlsdGVycy5leGNoYW5nZT1bIk5ZU0UiLCJOQVNEQVEiLCJBTUVYIl06ZGVsZXRlIHQuY29udGVudC5maWx0ZXJzLmV4Y2hhbmdlLCJnZW5lcmFsIj09PXQuaWQmJigiY3J5cHRvIj09PWVbMF0mJih0LmNvbnRlbnQuc29ydF9maWVsZD0iMjRoX3ZvbHw1Iix0LmNvbnRlbnQuc29ydF9kaXJlY3Rpb249ImRlc2MiKSwiZm9yZXgiPT09ZVswXSYmKHQuY29udGVudC5zb3J0X2ZpZWxkPSJuYW1lIix0LmNvbnRlbnQuc29ydF9kaXJlY3Rpb249ImFzYyIpKTtjb25zdCBvPVtdO2Zvcihjb25zdCByIG9mIGUpe2NvbnN0IGU9QltyXTtpZihlJiZ0LmlkIGluIGUpaWYodC5kaXNhYmxlZHx8bnVsbCE9PWVbdC5pZF0pe2NvbnN0IHI9ZVt0LmlkXTtmb3IoY29uc3QgZSBpbiByKXtjb25zdCBzPXJbZV07aWYobnVsbD09PXN8fChpPXQuY29udGVudC5maWx0ZXJzW2VdLG49cyxPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaSkhPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobikpKWRlbGV0ZSB0LmNvbnRlbnQuZmlsdGVyc1tlXSxvLnB1c2goZSk7ZWxzZSBpZighby5pbmNsdWRlcyhlKSYmZSBpbiB0LmNvbnRlbnQuZmlsdGVycyl7Y29uc3QgaT1ZdCh0LmNvbnRlbnQuZmlsdGVyc1tlXSxzKTtpP3QuY29udGVudC5maWx0ZXJzW2VdPWk6KGRlbGV0ZSB0LmNvbnRlbnQuZmlsdGVyc1tlXSxvLnB1c2goZSkpfWVsc2UgdC5jb250ZW50LmZpbHRlcnNbZV09c319ZWxzZSB0LmRpc2FibGVkPSEwfXZhciBpLG47ImZvcmV4Ij09PWVbMF0/SnQuZm9yZXhbdC5pZF0mJih0LnRpdGxlPUp0LmZvcmV4W3QuaWRdKTpKdC5kZWZhdWx0W3QuaWRdJiYodC50aXRsZT1KdC5kZWZhdWx0W3QuaWRdKX0pKHQpLCJnZW5lcmFsIj09PXQuaWQmJih0LmRpc2FibGVkPSJmb3JleCIhPT1lWzBdJiYiY3J5cHRvIiE9PWVbMF0pLFsicHJlX21hcmtldF9nYWluZXJzIiwiYWZ0ZXJfaG91cnNfZ2FpbmVycyJdLmluY2x1ZGVzKHQuaWQpJiYodC5kaXNhYmxlZD0hMCl9KSl9Y29uc3QgZW89SlNPTi5wYXJzZSgnWyJCQUhSQUlOIiwiQkVMRVgiLCJCTVYiLCJCU1NFIiwiQlZMIiwiQlZNVCIsIkRGTSIsIkRTRUJEIiwiRVVST05FWFRfQU1TIiwiRVVST05FWFRfQlJVIiwiRVVST05FWFRfTElTIiwiRVVST05FWFRfUEFSIiwiRVVST05FWFRBTVMiLCJFVVJPTkVYVEJSVSIsIkVVUk9ORVhUTElTIiwiRVVST05FWFRQQVIiLCJFVVJPTkVYVERVQiIsIk9TRSIsIk9TTCIsIkZTRSIsIkhLRVgiLCJIT1NFIiwiSUNFU0ciLCJJQ0VBQlVEIiwiSUNFVVNDQSIsIklDRUVOREVYIiwiSlNFIiwiTFVYU0UiLCJNT0VYIiwiTVlYIiwiTkFHIiwiTkFTREFRRFVCQUkiLCJOU0UiLCJOU0VORyIsIk5TRUtFIiwiTkdNIiwiTlpYIiwiUFNFIiwiUFNYIiwiU0FQU0UiLCJTRVQiLCJTR1giLCJTWlNFIiwiU0hGRSIsIlRBREFXVUwiLCJUU0UiLCJUV1NFIiwiRlRTRVNUIiwiTE1FIiwiUVNFIiwiTFNFIiwiTFNJTiJdJyk7Y29uc3QgdG89WyJhcnRlY2hlY29tIiwiY2luY29kaWFzIiwiY29wZWVzIiwiZWxjb25maWRlbmNpYWwiLCJlbGVzcGFub2xjb20iLCJlbG5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIiwiZXBlIiwiZmluYW56YXNEIiwibGFpbmZvcm1hY2lvbmNvbSJdLG9vPVsiYm92ZXNwYSIsImZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyIsIm1hcmNvcG9sb2NvbWJyIiwibW9uZXl0aW1lc2NvbWJyIiwiTm90aWNpYXNhZ3JpY29sYUQiLCJwb2RlcjM2MCIsInNldWRpbmhlaXJvIiwic3BhY2Vtb25leWNvbWJyIiwidHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiLCJ2b2Nlc2FhYnJpbGNvbWJyIiwieHBpY29tYnIiXTtjb25zdCBpbz0iYW1lcmljYSI7ZnVuY3Rpb24gbm8oZSx0KXtjb25zdCBvPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZW8uc2xpY2UoKTtyZXR1cm4gZSYmb28uaW5jbHVkZXMoZSkmJnQuc3BsaWNlKHQuaW5kZXhPZigiQk1GQk9WRVNQQSIpLDEpLCJhbWJpdG8iPT09ZSYmdC5zcGxpY2UodC5pbmRleE9mKCJCQ0JBIiksMSksImhlZ25hcm5vIj09PWUmJnQuc3BsaWNlKHQuaW5kZXhPZigiT1NMIiksMSksZSYmdG8uaW5jbHVkZXMoZSkmJnQuc3BsaWNlKHQuaW5kZXhPZigiQk1FIiksMSksZSYmWyJyaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCJdLmluY2x1ZGVzKGUpJiYodC5zcGxpY2UodC5pbmRleE9mKCJUQURBV1VMIiksMSksdC5zcGxpY2UodC5pbmRleE9mKCJERk0iKSwxKSksIk5HWCI9PT1lJiZ0LnNwbGljZSh0LmluZGV4T2YoIk5TRU5HIiksMSksdH0odCk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZpbHRlcigodD0+e2lmKFsiZm9yZXgiLCJjcnlwdG8iXS5pbmNsdWRlcyh0KSlyZXR1cm4hMDtjb25zdCBpPWVbdF07cmV0dXJuISFpJiYoaS5zdG9ja3M9aS5zdG9ja3MuZmlsdGVyKChlPT4tMT09PW8uaW5kZXhPZihlKSkpLDAhPT1pLnN0b2Nrcy5sZW5ndGgpfSkpLm1hcCgodD0+KHtjb250ZW50OmVbdF0/ZVt0XS50aXRsZSsoZVt0XS5zdG9ja3MubGVuZ3RoP2AgKCR7cm8odCxlKX0pYDoiIik6dCx2YWx1ZTp0fSkpKS5zb3J0KCgoZSx0KT0+ZS52YWx1ZT09PWlvPy0xOnQudmFsdWU9PT1pb3x8KGU/LmNvbnRlbnQ/PyIiKT4odD8uY29udGVudD8/IiIpPzE6LTEpKX1mdW5jdGlvbiBybyhlLHQpe2xldCBvPVsuLi50W2VdLnN0b2Nrc107Y29uc3QgaT1WKClbZV07cmV0dXJuIGkmJihvPW8uZmlsdGVyKChlPT4haS5pbmNsdWRlcyhlKSkpKSxvLmpvaW4oIiwgIil9dmFyIHNvPW8oOTAyMTAwKSxhbz1vKDQwMDE4MSk7Y29uc3QgbG89ewpob3N0OiJfdW5rbm93biIscGF0aDoiIn07ZnVuY3Rpb24gY28oZSl7aWYoZSl0cnl7Y29uc3QgdD1uZXcgVVJMKGUpO3JldHVybntob3N0OnQuaG9zdG5hbWV8fHQuaG9zdHx8Il91bmtub3duIixwYXRoOnQucGF0aG5hbWV9fWNhdGNoe3JldHVybn19ZnVuY3Rpb24gaG8oKXtyZXR1cm4gY28oZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YT8uaGFzaFNldHRpbmdzPy5bInBhZ2UtdXJpIl07aWYoZSlyZXR1cm4iaHR0cHM6Ly8iK2V9KCkpfHxjbyhkb2N1bWVudC5yZWZlcnJlcil8fGNvKGxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdKXx8bG99dmFyIHVvPW8oMzg5Mjk4KSxfbz1vKDkzMDIzMSkscG89KG8oODU1NzQyKSxvKDY2MjM5MiksbygxMzMyNDMpLG8oMjg2ODIwKSxvKDIzMjM2NCkpLG1vPShvKDM2NDgzOCksbyg4MTU3MjgpLG8oMTIxNjM0KSxvKDcxMTk3OSksbyg5ODY3MDUpLG8oMjAyODE1KSxvKDk1MDc3MSksbyg2MzgyODIpLG8oMTEyNjEzKSxvKDk3NTI0NCksbyg5NTI2ODYpLG8oNDQ2OTU2KSxvKDQ1NTU3KSxvKDc5MDUwMSksbyg1NTEyMTUpLG8oMTY3NTU5KSxvKDkyMjIwNiksbyg0ODk3NTIpLG8oODU3MDE5KSxvKDIxODgxNCkpLGdvPW8oNjQ3NjE0KTtvKDQ0MzYyMCk7dmFyIHZvPW8oNTQ3ODUxKSxmbz1vKDc3ODQ1OCkseW89byg4NTU5ODkpO2Z1bmN0aW9uIGJvKGUsdCxvKXtjb25zdCBpPVtbIiYiLCImYW1wOyJdLFsiPCIsIiZsdDsiXSxbIj4iLCImZ3Q7Il0sWyciJywiJnF1b3Q7Il0sWyInIiwiJiMwMzk7Il0sWyInIiwiJiMzOTsiXV07dCYmaS5mb3JFYWNoKChlPT5lLnJldmVyc2UoKSkpO2xldCBuPWU7aWYoIWV8fCFlLnJlcGxhY2UpcmV0dXJuIG47Zm9yKGNvbnN0IGUgb2YgaSl7Y29uc3RbdCxpXT1lO28mJi0xIT09by5pbmRleE9mKHQpfHwobj1uLnJlcGxhY2UobmV3IFJlZ0V4cCh0LCJnIiksaSkpfXJldHVybiBufW8oNTUwNjgyKSxvKDIxNTUzOSk7dmFyIFNvPW8oNzgzMjU0KSx3bz1vKDM2MzI2OSksQ289KG8oODMyMjI2KSxvKDIxNDA2MCkpLGtvPW8oNDgyNTA0KSxUbz1vKDQ5MTg2KSxFbz1vKDMwNzUwNCk7Y29uc3QgeG89e3dyYXA6JzxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvciB7eyBjbGFzcyB9fXt7IyB0b3VjaCB9fSB0di1jb250cm9sLXNlbGVjdF9fd3JhcC0tdG91Y2h7ey8gdG91Y2ggfX17eyMgZGlzYWJsZWQgfX0gaS1kaXNhYmxlZHt7LyBkaXNhYmxlZCB9fXt7IyByZWFkb25seSB9fSB0di1jb250cm9sLXNlbGVjdF9fd3JhcC0tcmVhZG9ubHl7ey8gcmVhZG9ubHl9fSI+PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9se3teIHRvdWNoIH19IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b257ey8gdG91Y2ggfX17eyMgZGlzYWJsZWQgfX0gaS1kaXNhYmxlZHt7LyBkaXNhYmxlZCB9fSI+PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLWlubmVyIj48L3NwYW4+PC9zcGFuPnt7XiB0b3VjaCB9fTxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd24gdHYtZHJvcGRvd24tYmVoYXZpb3JfX2JvZHkge3sgZHJvcGRvd25fY2xhc3MgfX0gaS1oaWRkZW4iPjxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fc2Nyb2xsIHR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwiPjxzcGFuIGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwiPnt7PiByb3V0ZSB9fTwvc3Bhbj48L3NwYW4+PC9zcGFuPnt7LyB0b3VjaCB9fTxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fY2FyZXQganMtZHJvcGRvd24tdG9nZ2xlIj48L3NwYW4+PC9zcGFuPicscm91dGU6Int7IyBpdGVtcyB9fXt7IyBvcHRpb24gfX17ez4gb3B0aW9uIH19e3svIG9wdGlvbiB9fXt7XiBvcHRpb24gfX17eyMgb3B0Z3JvdXAgfX17ez4gb3B0Z3JvdXAgfX17ey8gb3B0Z3JvdXAgfX17ey8gb3B0aW9uIH19e3svIGl0ZW1zIH19IixvcHRncm91cDone3sjIGxhYmVsIH19PHNwYW4gY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIHR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1sYWJlbCI+e3sgbGFiZWwgfX08L3NwYW4+e3svIGxhYmVsIH19e3s+IHJvdXRlIH19e3sjIHNlcGFyYXRvciB9fTxociBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGdyb3VwLXNlcGFyYXRvciI+e3svIHNlcGFyYXRvciB9fScsb3B0aW9uOmA8c3BhbiBkYXRhLWlkPSJ7eyBpZCB9fSIgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIHR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb257eyMgZGlzYWJsZWQgfX0gaS1kaXNhYmxlZHt7LyBkaXNhYmxlZCB9fSI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIj5cblx0XHRcdHt7IyBtdWx0aXBsZSB9fVxuXHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1jaGVja2JveCI+XG5cdFx0XHRcdFx0PGlucHV0IGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19pbnB1dCIgdHlwZT0iY2hlY2tib3giIHt7IyBzZWxlY3RlZCB9fSBjaGVja2Vke3svIHNlbGVjdGVkIH19PlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19ib3giPiR7byg0ODg4NzUpfTwvc3Bhbj5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwiPnt7IGxhYmVsIH19PC9zcGFuPlxuXHRcdFx0e3svIG11bHRpcGxlIH19XG5cdFx0XHR7e14gbXVsdGlwbGUgfX1cblx0XHRcdFx0e3sgbGFiZWwgfX1cblx0XHRcdHt7LyBtdWx0aXBsZSB9fVxuXHRcdFx0PC9zcGFuPlxuXHRcdDwvc3Bhbj5gfTtjbGFzcyBBb3tjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLl9vcHRpb25zPU9iamVjdC5hc3NpZ24oe25vQW5pbWF0aW9uOiEwfSxlKSx0aGlzLnRvdWNoPXdvLm1vYmlsZXRvdWNoLHRoaXMuJHNlbGVjdD10aGlzLl9vcHRpb25zLiRzZWxlY3QsdGhpcy5fc2VsZWN0RWxlbWVudD10aGlzLiRzZWxlY3RbMF0sCnRoaXMubXVsdGlwbGU9Qm9vbGVhbih0aGlzLiRzZWxlY3QuYXR0cigibXVsdGlwbGUiKSksdGhpcy5fbWluRGlzcGxheUNvdW50PXRoaXMuX29wdGlvbnMubWluRGlzcGxheUNvdW50fHwxLHRoaXMuX2VtcHR5U3RyaW5nPXRoaXMuX29wdGlvbnMuZW1wdHlTdHJpbmd8fFNvLnQobnVsbCx7Y29udGV4dDoiY29tYm9ib3hfaW5wdXQifSxvKDMzMzM1KSksdGhpcy5fZGVmYXVsdFBsYWNlSG9kZXI9dGhpcy5fb3B0aW9ucy5kZWZhdWx0UGxhY2VIb2Rlcnx8ITEsdGhpcy5kaXNhYmxlZD1Cb29sZWFuKHRoaXMuJHNlbGVjdC5pcygiOmRpc2FibGVkIikpLHRoaXMucmVhZG9ubHk9dGhpcy5fb3B0aW9ucy5yZWFkb25seSx0aGlzLm9wdGlvbnM9W10sdGhpcy5maWx0ZXJRdWVyeT1bXSx0aGlzLml0ZW1zPXRoaXMuX3BhcnNlRG9tSXRlbXModGhpcy4kc2VsZWN0KSx0aGlzLl9yZW5kZXIoKSxlLmluaXRpYWxWYWx1ZSYmdGhpcy52YWwoZS5pbml0aWFsVmFsdWUpLHRoaXMuJGVsLmluc2VydEJlZm9yZSh0aGlzLiRzZWxlY3QpLHRoaXMuJHNlbGVjdC5kZXRhY2goKS5hZGRDbGFzcygiaS1pbml0ZWQiKS5hcHBlbmRUbyh0aGlzLiRlbCl9dmFsKGUpe3RoaXMubXVsdGlwbGU/dGhpcy5fc2V0TXVsdGlwbGVWYWx1ZXMoZSk6dGhpcy5fc2V0U2luZ2xlVmFsdWUodGhpcy5fZmluZE9wdGlvbihlKSl9ZW5hYmxlKCl7dGhpcy5kaXNhYmxlZD0hMSx0aGlzLiRlbC5hZGQodGhpcy4kZHJvcGRvd24pLnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIiksdGhpcy50b3VjaHx8KHRoaXMuJGVsLnR2RHJvcGRvd24oImVuYWJsZSIpLHRoaXMuJGNvbnRyb2wuYXR0cigidGFiaW5kZXgiLHRoaXMuJHNlbGVjdC5hdHRyKCJ0YWJpbmRleCIpfHwwKSl9ZGlzYWJsZSgpe3RoaXMuZGlzYWJsZWQ9ITAsdGhpcy4kZWwuYWRkKHRoaXMuJGRyb3Bkb3duKS5hZGRDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMudG91Y2h8fCh0aGlzLiRlbC50dkRyb3Bkb3duKCJkaXNhYmxlIiksdGhpcy4kY29udHJvbC5yZW1vdmVBdHRyKCJ0YWJpbmRleCIpKX1zZXRSZWFkb25seShlKXt0aGlzLnJlYWRvbmx5PWUsdGhpcy4kZWwudG9nZ2xlQ2xhc3MoInR2LWNvbnRyb2wtc2VsZWN0X193cmFwLS1yZWFkb25seSIsZSksdGhpcy4kY29udHJvbElubmVyLnRvZ2dsZUNsYXNzKCJ0di1jb250cm9sLXNlbGVjdF9fY29udHJvbC1pbm5lci0tcmVhZG9ubHkiLGUpLHRoaXMuJGVsLnR2RHJvcGRvd24oInNldFJlYWRvbmx5IixlKX10b2dnbGUoKXt0aGlzLmRpc2FibGVkfHx0aGlzLnJlYWRvbmx5fHwodGhpcy50b3VjaD90aGlzLiRzZWxlY3QuY2xpY2soKTp0aGlzLiRlbC50dkRyb3Bkb3duKCJ0b2dnbGUiKSl9b3Blbigpe3RoaXMuZGlzYWJsZWR8fHRoaXMucmVhZG9ubHl8fCh0aGlzLnRvdWNoP3RoaXMuJHNlbGVjdC5jbGljaygpOnRoaXMuJGVsLnR2RHJvcGRvd24oIm9wZW4iKSl9Y2xvc2UoKXt0aGlzLmRpc2FibGVkfHx0aGlzLnJlYWRvbmx5fHwodGhpcy50b3VjaD90aGlzLiRzZWxlY3QuY2xpY2soKToodGhpcy5fZm9jdXNPcHRpb24odGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4KSx0aGlzLiRlbC50dkRyb3Bkb3duKCJjbG9zZSIpKSl9ZGVzdHJveSgpe3RoaXMuJHNlbGVjdC5vZmYoImNoYW5nZSIpLHRoaXMuJGRyb3Bkb3duJiZ0aGlzLiRkcm9wZG93bi5vZmYoImNsaWNrIiksdGhpcy4kc2VsZWN0LnJlbW92ZUNsYXNzKCJpLWluaXRlZCIpLmluc2VydEJlZm9yZSh0aGlzLiRlbCksdGhpcy4kZWwudHZEcm9wZG93bigiZGVzdHJveSIpLHRoaXMuJGVsLnJlbW92ZSgpfXVwZGF0ZUl0ZW1zKCl7dGhpcy5vcHRpb25zPVtdLHRoaXMuaXRlbXM9dGhpcy5fcGFyc2VEb21JdGVtcyh0aGlzLiRzZWxlY3QpO2NvbnN0IGU9dGhpcy5fcmVuZGVyRHJvcGRvd24oKTtpZighdGhpcy50b3VjaCl7dGhpcy4kZHJvcGRvd24uZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iKS5yZW1vdmUoKTtjb25zdCB0PXRoaXMuJGRyb3Bkb3duLmZpbmQoIi50di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwiKTt0aGlzLiRvcHRpb25zPWUuZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iKTtmb3IobGV0IGU9MDtlPHRoaXMuJG9wdGlvbnMubGVuZ3RoO2UrKyl7Y29uc3Qgbz1rbyh0aGlzLiRvcHRpb25zW2VdKSxpPW8uZGF0YSgiaWQiKTt0aGlzLm9wdGlvbnNbaV0mJih0aGlzLm9wdGlvbnNbaV0uJGVsPW8sdC5hcHBlbmQobykpfX10aGlzLm11bHRpcGxlPyh0aGlzLl91cGRhdGVTZWxlY3RCb3hUaXRsZSgpLHRoaXMuX3VwZGF0ZUNoZWNrQm94ZXMoKSk6dGhpcy5fdXBkYXRlU2luZ2xlVmlldyh0aGlzLl9zZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXgpfV9mb2N1c09wdGlvbihlKXtjb25zdCB0PXRoaXMub3B0aW9uc1tlXS4kZWw7aWYodGhpcy5fZm9jdXNlZE9wdGlvbj1lLCF0aGlzLnRvdWNoKXtpZih0aGlzLl9jbGVhckZvY3VzKCksdC5hZGRDbGFzcygiaS1hY3RpdmUiKSwhdGhpcy5kcm9wZG93blNjcm9sbHx8IXRoaXMub3BlbmVkKXJldHVybjtjb25zdCBlPXRoaXMuZHJvcGRvd25TY3JvbGwuY3VycmVudFBvc2l0aW9uKCksbz10Lm91dGVySGVpZ2h0KCksaT10LnBvc2l0aW9uKCkudG9wLG49LWUrdGhpcy5kcm9wZG93blNjcm9sbC5nZXRDb250YWluZXJIZWlnaHRXaXRob3V0SGVhZGVyKCk8aStvO2k8LWU/dGhpcy5kcm9wZG93blNjcm9sbC5zY3JvbGxUbyhpKTpuJiZ0aGlzLmRyb3Bkb3duU2Nyb2xsLnNjcm9sbFRvKGkrbyl9fV9zZXRTaW5nbGVWYWx1ZShlKXtjb25zdCB0PXRoaXMub3B0aW9uc1tlXS52YWx1ZTsodGhpcy4kc2VsZWN0LnZhbCgpJiZ0aGlzLiRzZWxlY3QudmFsKCkudG9TdHJpbmcoKSkhPT10LnRvU3RyaW5nKCkmJnRoaXMuJHNlbGVjdC52YWwodCkudHJpZ2dlcigiY2hhbmdlIil9X3VwZGF0ZVNpbmdsZVZpZXcoZSl7Y29uc3QgdD10aGlzLm9wdGlvbnNbZV07dCYmKHRoaXMuX2ZvY3VzT3B0aW9uKGUpLHRoaXMuX3NlbGVjdEVsZW1lbnQuc2VsZWN0ZWRJbmRleD1lLHRoaXMuJGNvbnRyb2xJbm5lci50ZXh0KHQubGFiZWwpLAp0aGlzLiRjb250cm9sSW5uZXIudG9nZ2xlQ2xhc3MoInR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLWlubmVyLS1vcHRpb24tZGlzYWJsZWQiLHQuZGlzYWJsZWQpKX1fdG9nZ2xlT3B0aW9uKGUpe2NvbnN0IHQ9dGhpcy5vcHRpb25zW2VdLnZhbHVlLG89dGhpcy4kc2VsZWN0LnZhbCgpfHxbXSxpPW8uaW5kZXhPZih0KTtpZigtMSE9PWkpby5zcGxpY2UoaSwxKTtlbHNlIGlmKG8ubGVuZ3RoKXtjb25zdCBlPXRoaXMub3B0aW9uc1t0aGlzLl9maW5kT3B0aW9uKHQpXS5pZCxpPW8uZmluZCgodD0+dGhpcy5vcHRpb25zW3RoaXMuX2ZpbmRPcHRpb24odCldLmlkPmUpKTtvLnNwbGljZShpP28uaW5kZXhPZihpKTowLDAsdCl9ZWxzZSBvLnB1c2godCk7dGhpcy5fc2V0TXVsdGlwbGVWYWx1ZXMobyl9X3VwZGF0ZUNoZWNrQm94ZXMoKXtjb25zdCBlPXRoaXMuJHNlbGVjdC52YWwoKXx8W107Zm9yKGxldCB0PTA7dDx0aGlzLml0ZW1zLmxlbmd0aDt0Kyspe2NvbnN0IG89dGhpcy5pdGVtc1t0XTtvLiRlbC5maW5kKCIudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQiKS5wcm9wKCJjaGVja2VkIiwtMSE9PWUuaW5kZXhPZihvLnZhbHVlKSl9fV91cGRhdGVTZWxlY3RCb3hUaXRsZSgpe2NvbnN0IGU9dGhpcy4kc2VsZWN0LnZhbCgpfHxbXTtpZihlLmxlbmd0aCYmIXRoaXMuX2RlZmF1bHRQbGFjZUhvZGVyKWlmKGUubGVuZ3RoPT09dGhpcy5pdGVtcy5sZW5ndGgpdGhpcy4kY29udHJvbElubmVyLnRleHQoU28udChudWxsLHtjb250ZXh0OiJjb21ib2JveF9pbnB1dCJ9LG8oMzYyMDA0KSkpO2Vsc2UgaWYoZS5sZW5ndGg+dGhpcy5fbWluRGlzcGxheUNvdW50KXRoaXMuJGNvbnRyb2xJbm5lci50ZXh0KFNvLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBpdGVtcyIsY291bnQ6ZS5sZW5ndGgsY29udGV4dDoiY29tYm9ib3hfaW5wdXQifSxvKDk4Mzc2NCkpLmZvcm1hdChlLmxlbmd0aCkpO2Vsc2V7Y29uc3QgdD1lLm1hcCgoZT0+dGhpcy5vcHRpb25zW3RoaXMuX2ZpbmRPcHRpb24oZSldLmxhYmVsKSk7dGhpcy4kY29udHJvbElubmVyLnRleHQodC5qb2luKCIsICIpKX1lbHNlIHRoaXMuJGNvbnRyb2xJbm5lci50ZXh0KHRoaXMuX2VtcHR5U3RyaW5nKX1fc2V0TXVsdGlwbGVWYWx1ZXMoZSl7dGhpcy4kc2VsZWN0LmZpbmQoIm9wdGlvbiIpLnByb3AoInNlbGVjdGVkIiwhMSk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG89ZVt0XTt0aGlzLiRzZWxlY3QuZmluZChgb3B0aW9uW3ZhbHVlPSIke299Il1gKS5wcm9wKCJzZWxlY3RlZCIsITApfXRoaXMuJHNlbGVjdC50cmlnZ2VyKCJjaGFuZ2UiKX1fY2xlYXJGb2N1cygpe3RoaXMuJG9wdGlvbnMucmVtb3ZlQ2xhc3MoImktYWN0aXZlIil9X2ZpbmRPcHRpb24oZSl7Y29uc3QgdD1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpO2ZvcihsZXQgbz0wO288dC5sZW5ndGg7bysrKWlmKHRoaXMub3B0aW9uc1t0W29dXS52YWx1ZS50b1N0cmluZygpPT09ZS50b1N0cmluZygpKXJldHVybiB0aGlzLm9wdGlvbnNbdFtvXV0uaWR9X3BhcnNlRG9tSXRlbXMoZSl7Y29uc3QgdD1lLmNoaWxkcmVuKCksbz1bXTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3QgaT1rbyh0W2VdKTtsZXQgbjsib3B0Z3JvdXAiPT09aS5wcm9wKCJ0YWdOYW1lIikudG9Mb3dlckNhc2UoKT9uPXtvcHRncm91cDohMCxzZXBhcmF0b3I6Qm9vbGVhbih0aGlzLl9vcHRpb25zLnNob3dPcHRncm91cFNlcGFyYXRvcnMpLGxhYmVsOmkuYXR0cigibGFiZWwiKSxpdGVtczp0aGlzLl9wYXJzZURvbUl0ZW1zKGkpfToib3B0aW9uIj09PWkucHJvcCgidGFnTmFtZSIpLnRvTG93ZXJDYXNlKCkmJihuPXtpZDppWzBdLmluZGV4LG9wdGlvbjohMCxsYWJlbDppLnRleHQoKS5yZXBsYWNlKC9cLy9nLCLigIskJuKAiyIpLHZhbHVlOmkuYXR0cigidmFsdWUiKSxkaXNhYmxlZDppLmlzKCI6ZGlzYWJsZWQiKX0sdGhpcy5vcHRpb25zW24uaWRdPW4pLG8ucHVzaChuKX1yZXR1cm4gb31fcmVuZGVyKCl7aWYodGhpcy4kZWw9dGhpcy5fcmVuZGVyRHJvcGRvd24oKSx0aGlzLiRjb250cm9sPXRoaXMuJGVsLmZpbmQoIi50di1jb250cm9sLXNlbGVjdF9fY29udHJvbCIpLHRoaXMuJGNvbnRyb2xJbm5lcj10aGlzLiRlbC5maW5kKCIudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtaW5uZXIiKSwhdGhpcy50b3VjaCl7dGhpcy4kZHJvcGRvd249dGhpcy4kZWwuZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19kcm9wZG93biIpLHRoaXMuJG9wdGlvbnM9dGhpcy4kZWwuZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iKTtmb3IobGV0IGU9MDtlPHRoaXMuJG9wdGlvbnMubGVuZ3RoO2UrKyl7Y29uc3QgdD1rbyh0aGlzLiRvcHRpb25zW2VdKSxvPXQuZGF0YSgiaWQiKTt0aGlzLm9wdGlvbnNbb10mJih0aGlzLm9wdGlvbnNbb10uJGVsPXQpfX10aGlzLm11bHRpcGxlPyh0aGlzLl91cGRhdGVTZWxlY3RCb3hUaXRsZSgpLHRoaXMuX3VwZGF0ZUNoZWNrQm94ZXMoKSk6KC0xPT09dGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4JiYodGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4PTApLHRoaXMuX3VwZGF0ZVNpbmdsZVZpZXcodGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4KSksdGhpcy4kc2VsZWN0Lm9uKCJjaGFuZ2UiLChlPT57dGhpcy5tdWx0aXBsZT8odGhpcy5fdXBkYXRlU2VsZWN0Qm94VGl0bGUoKSx0aGlzLl91cGRhdGVDaGVja0JveGVzKCkpOnRoaXMuX3VwZGF0ZVNpbmdsZVZpZXcodGhpcy5fZmluZE9wdGlvbih0aGlzLiRzZWxlY3QudmFsKCkpKX0pKSx0aGlzLnRvdWNofHwodGhpcy4kZWwudHZEcm9wZG93bih7c2Nyb2xsOiEwLGFkYXB0Qm9keTohMCxib3VuZGluZ0VsZW1lbnQ6dGhpcy5fb3B0aW9ucy5ib3VuZGluZ0VsZW1lbnQsbWF4SGVpZ2h0OnRoaXMuX29wdGlvbnMubWF4SGVpZ2h0LGRyb3Bkb3duV2lkdGg6dGhpcy5fb3B0aW9ucy5kcm9wZG93bldpZHRoLG5vQW5pbWF0aW9uOnRoaXMuX29wdGlvbnMubm9BbmltYXRpb24sY2xvc2VXaXRoRXNjOnRoaXMuX29wdGlvbnMuY2xvc2VXaXRoRXNjfSksCnRoaXMuZHJvcGRvd25TY3JvbGw9dGhpcy4kZWwudHZEcm9wZG93bigiZ2V0Iiwic2Nyb2xsIiksdGhpcy4kZHJvcGRvd24ub24oImNsaWNrIiwiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iLChlPT57Y29uc3QgdD1wYXJzZUludChrbyhlLmN1cnJlbnRUYXJnZXQpLmRhdGEoImlkIikpO3RoaXMub3B0aW9uc1t0XSYmIXRoaXMub3B0aW9uc1t0XS5kaXNhYmxlZCYmKHRoaXMubXVsdGlwbGU/dGhpcy5fdG9nZ2xlT3B0aW9uKHQpOih0aGlzLl9zZXRTaW5nbGVWYWx1ZSh0KSx0aGlzLmNsb3NlKCkpKX0pKSx0aGlzLiRlbC5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e3RoaXMub3BlbmVkPSEwfSkpLHRoaXMuJGVsLm9uKCJhZnRlckNsb3NlTWVudSIsKCgpPT57dGhpcy5vcGVuZWQ9ITEsdGhpcy5maWx0ZXJRdWVyeT1bXSx0aGlzLm11bHRpcGxlfHx0aGlzLl9mb2N1c2VkT3B0aW9uLnRvU3RyaW5nKCk9PT10aGlzLl9zZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXgudG9TdHJpbmcoKXx8dGhpcy5fZm9jdXNPcHRpb24odGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4KSx0aGlzLm11bHRpcGxlJiZ0aGlzLl9jbGVhckZvY3VzKCl9KSksdGhpcy4kZWwub24oImNsaWNrIiwoKCk9Pnt0aGlzLiRjb250cm9sLmZvY3VzKCl9KSksdGhpcy4kZWwub24oImtleWRvd24iLChlPT57dGhpcy5fZmlsdGVyKGUpfSkpLHRoaXMuZGlzYWJsZWQ/dGhpcy5kaXNhYmxlKCk6dGhpcy5lbmFibGUoKSl9X3JlbmRlckRyb3Bkb3duKCl7cmV0dXJuIGtvKFRvLnJlbmRlcih4by53cmFwLHtpdGVtczp0aGlzLml0ZW1zLGNsYXNzOnRoaXMuJHNlbGVjdC5hdHRyKCJjbGFzcyIpLHRvdWNoOnRoaXMudG91Y2gsbXVsdGlwbGU6dGhpcy5tdWx0aXBsZSxkaXNhYmxlZDp0aGlzLmRpc2FibGVkLHJlYWRvbmx5OnRoaXMucmVhZG9ubHksZHJvcGRvd25fY2xhc3M6dGhpcy5fb3B0aW9ucy5hZGREcm9wZG93bkNsYXNzfSx4bykpLnJlbW92ZUNsYXNzKCJ0di1jb250cm9sLXNlbGVjdCIpfV9maWx0ZXIoZSl7aWYoOT09PWUud2hpY2gpcmV0dXJuIHZvaWQgdGhpcy5jbG9zZSgpO2lmKDEzPT09ZS53aGljaCYmIXRoaXMub3BlbmVkKXJldHVybjtpZigoNDA9PT1lLndoaWNofHwzMj09PWUud2hpY2gpJiYhdGhpcy5vcGVuZWQpcmV0dXJuIHRoaXMub3BlbigpLHZvaWQgZS5wcmV2ZW50RGVmYXVsdCgpO2UucHJldmVudERlZmF1bHQoKSx0aGlzLm9wZW5lZHx8dGhpcy5vcGVuKCk7Y29uc3QgdD1TdHJpbmcuZnJvbUNoYXJDb2RlKGUud2hpY2gpLnRvTG93ZXJDYXNlKCk7aWYodCYmLTE9PT1bOSwxMywyNywzOCw0MF0uaW5kZXhPZihlLndoaWNoKSl7dGhpcy5maWx0ZXJRdWVyeS5wdXNoKHQpO2NvbnN0IGU9dGhpcy5maWx0ZXJRdWVyeS5qb2luKCIiKTtsZXQgbztjb25zdCBpPU9iamVjdC5rZXlzKHRoaXMub3B0aW9ucyk7Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0KyspaWYoMD09PXRoaXMub3B0aW9uc1tpW3RdXS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZSkmJiF0aGlzLm9wdGlvbnNbaVt0XV0uZGlzYWJsZWQpe289dGhpcy5vcHRpb25zW2lbdF1dLmlkO2JyZWFrfXZvaWQgMCE9PW8mJnRoaXMuX2ZvY3VzT3B0aW9uKG8pLHRoaXMuY2xlYXJGaWx0ZXImJmNsZWFyVGltZW91dCh0aGlzLmNsZWFyRmlsdGVyKSx0aGlzLmNsZWFyRmlsdGVyPXNldFRpbWVvdXQoKCgpPT57dGhpcy5maWx0ZXJRdWVyeT1bXX0pLDUwMCl9MzIhPT1lLndoaWNoJiYxMyE9PWUud2hpY2h8fCF0aGlzLm9wZW5lZHx8KHRoaXMubXVsdGlwbGU/dGhpcy5fdG9nZ2xlT3B0aW9uKHRoaXMuX2ZvY3VzZWRPcHRpb24pOih0aGlzLl9zZXRTaW5nbGVWYWx1ZSh0aGlzLl9mb2N1c2VkT3B0aW9uKSx0aGlzLmNsb3NlKCksdGhpcy4kZWwub25lKCJrZXl1cCIsKGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpKSkpO2NvbnN0IG89ZT0+e2xldCB0O2lmKHRoaXMub3B0aW9uc1t0aGlzLl9mb2N1c2VkT3B0aW9uXSl7Y29uc3Qgbz10aGlzLm9wdGlvbnNbdGhpcy5fZm9jdXNlZE9wdGlvbl0uJGVsW2VdKHRoaXMuJGRyb3Bkb3duLCIudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbjpub3QoLmktZGlzYWJsZWQpIik7dD1vLmxlbmd0aD9vLmRhdGEoImlkIik6dGhpcy5fZm9jdXNlZE9wdGlvbn1lbHNlIHQ9dGhpcy4kb3B0aW9ucy5maXJzdCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb246bm90KC5pLWRpc2FibGVkKSIpLmRhdGEoImlkIik7cmV0dXJuIHR9OzQwPT09ZS53aGljaCYmKHRoaXMuZmlsdGVyUXVlcnk9W10sdGhpcy5fZm9jdXNPcHRpb24obygibmV4dFVudGlsIikpKSwzOD09PWUud2hpY2gmJih0aGlzLmZpbHRlclF1ZXJ5PVtdLHRoaXMuX2ZvY3VzT3B0aW9uKG8oInByZXZVbnRpbCIpKSksMjc9PT1lLndoaWNoJiZ0aGlzLmNsb3NlKCl9fWZ1bmN0aW9uIE1vKGUpeyhhc3luYyBmdW5jdGlvbihlKXtyZXR1cm4oYXdhaXQgUHJvbWlzZS5hbGwoW28uZSg4NzIzOCksby5lKDU0NjgxKSxvLmUoMzE4MzcpLG8uZSgyMDk3MSksby5lKDQ5NTE4KSxvLmUoNzUzMDQpLG8uZSgzODAwMiksby5lKDcwMzY0KSxvLmUoODkxOTUpLG8uZSg3NTA0KSxvLmUoNDY2MDApLG8uZSgxMDcwNCldKS50aGVuKG8uYmluZChvLDIzNTcyKSkpLmNyZWF0ZURpYWxvZyh7d2lkdGg6NDAwLGRlc3Ryb3lPbkNsb3NlOiEwLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDU2MTYwMCkpLGNvbnRlbnQ6Xy50KG51bGwsdm9pZCAwLG8oNzIzNjMpKSxjb250ZW50V3JhcFRlbXBsYXRlOic8ZGl2IGNsYXNzPSJ0di1kaWFsb2dfX3NlY3Rpb24gdHYtZGlhbG9nX19zZWN0aW9uLS1uby1ib3JkZXIiPjxkaXYgY2xhc3M9InR2LXRleHQiPjxwPjwvcD48L2Rpdj48L2Rpdj4nLGFjdGlvbnNXcmFwVGVtcGxhdGU6JzxkaXYgY2xhc3M9InR2LWRpYWxvZ19fc2VjdGlvbiB0di1kaWFsb2dfX3NlY3Rpb24tLWFjdGlvbnMgdHYtZGlhbG9nX19zZWN0aW9uLS1uby1ib3JkZXIiPicsYWN0aW9uczpbe25hbWU6Im9rIix0eXBlOiJwcmltYXJ5Iix0ZXh0Ol8udChudWxsLHZvaWQgMCxvKDIwODA3OCkpLG1ldGhvZDoiY2xvc2UiLGtleTpbMTMsMzJdfV0sLi4uZX0pCn0pKGUpLnRoZW4oKGU9PmUub3BlbigpKSl9a28uZm4udHZDb250cm9sU2VsZWN0PSgwLENvLmNyZWF0ZVR2QmxvY2tXaXRoSW5zdGFuY2UpKCJ0di1jb250cm9sLXNlbGVjdCIsKGZ1bmN0aW9uKGUsdD17fSl7cmV0dXJuIG5ldyBBbyhFby5leHRlbmQodCx7JHNlbGVjdDplfSkpfSkpO28oNTUwNzA1KTt2YXIgSW89byg3NzA3NTUpLFJvPW8oMjM0OTY0KSxGbz1vKDQ5ODY1MSk7ZnVuY3Rpb24gTG8oZSl7aWYoISgwLEZvLmlzSURDRXhjaGFuZ2UpKGUpKXJldHVybiExO2U9RG8oZSk7Y29uc3QgdD13aW5kb3cucHJvLG89dC5nZXRQcm9kdWN0KGUpO3JldHVybiB2b2lkIDAhPT1vLmlkY19zZXJ2aWNlX2NvZGVzX2RlbGF5JiYoKCFBcnJheS5pc0FycmF5KG8uaW5jbHVkZWRfZXhjaGFuZ2VzKXx8IW8uaW5jbHVkZWRfZXhjaGFuZ2VzLnNvbWUoKGU9PnQuaGFzUGFja2FnZShEbyhlKSkpKSkmJiFmdW5jdGlvbihlKXtjb25zdCB0PXdpbmRvdy5wcm87cmV0dXJuIHQuaGFzUGFja2FnZShlKXx8dC5oYXNQYWNrYWdlKGUrIl9kbHkiKX0oZSkpfWZ1bmN0aW9uIERvKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpP2U6ImV4Y2hhbmdlLXswfSIuZm9ybWF0KGUudG9Mb3dlckNhc2UoKSl9dmFyIE9vPW8oMjU1NTE2KTtjb25zdCBObz1KU09OLnBhcnNlKCd7Ik5BU0RBUSI6ImV4Y2hhbmdlLW5hc2RhcSIsIk5ZU0UiOiJleGNoYW5nZS1ueXNlIiwiTllTRSBBUkNBIjoiZXhjaGFuZ2UtYW1leCIsIkFNRVgiOiJleGNoYW5nZS1hbWV4IiwiT1RDIjoiZXhjaGFuZ2Utb3RjIiwiREZNIjoiZXhjaGFuZ2UtZGZtIiwiQkNCQSI6ImV4Y2hhbmdlLWJjYmEiLCJBU1giOiJleGNoYW5nZS1hc3giLCJFVVJPTkVYVCI6ImV4Y2hhbmdlLWV1cm9uZXh0X3N0b2NrcyIsIkVVUk9ORVhUQlJVIjoiZXhjaGFuZ2UtZXVyb25leHRfc3RvY2tzIiwiRVVST05FWFRQQVIiOiJleGNoYW5nZS1ldXJvbmV4dF9zdG9ja3MiLCJFVVJPTkVYVExJUyI6ImV4Y2hhbmdlLWV1cm9uZXh0X3N0b2NrcyIsIkVVUk9ORVhUQU1TIjoiZXhjaGFuZ2UtZXVyb25leHRfc3RvY2tzIiwiQkFIUkFJTiI6ImV4Y2hhbmdlLWJhaHJhaW4iLCJCTUZCT1ZFU1BBIjoiZXhjaGFuZ2UtYm92ZXNwYV9zdG9ja3MiLCJUU1giOiJleGNoYW5nZS10c3giLCJUU1hWIjoiZXhjaGFuZ2UtdHN4diIsIkNTRSI6ImV4Y2hhbmdlLWNzZSIsIlNJWCI6ImV4Y2hhbmdlLXNpeCIsIkJDUyI6ImV4Y2hhbmdlLWJjcyIsIlNTRSI6ImV4Y2hhbmdlLXNzZSIsIlNaU0UiOiJleGNoYW5nZS1zenNlIiwiQlZDIjoiZXhjaGFuZ2UtYnZjIiwiRldCIjoiZXhjaGFuZ2UtZndiIiwiU1dCIjoiZXhjaGFuZ2Utc3diIiwiWEVUUiI6ImV4Y2hhbmdlLXhldHIiLCJPTVhDT1AiOiJleGNoYW5nZS1vbXhjb3AiLCJPTVhUU0UiOiJleGNoYW5nZS1vbXh0c2UiLCJFR1giOiJleGNoYW5nZS1lZ3giLCJCTUUiOiJleGNoYW5nZS1ibWUiLCJPTVhIRVgiOiJleGNoYW5nZS1vbXhoZXgiLCJIS0VYIjoiZXhjaGFuZ2UtaGtleCIsIklEWCI6ImV4Y2hhbmdlLWlkeCIsIlRBU0UiOiJleGNoYW5nZS10YXNlIiwiQlNFIjoiZXhjaGFuZ2UtYnNlIiwiTlNFIjoiZXhjaGFuZ2UtbnNlIiwiT01YSUNFIjoiZXhjaGFuZ2Utb214aWNlIiwiTUlMIjoiZXhjaGFuZ2UtbWlsIiwiTUlMU0VERVgiOiJleGNoYW5nZS1taWwiLCJGU0UiOiJleGNoYW5nZS1mc2UiLCJOQUciOiJleGNoYW5nZS1uYWciLCJTQVBTRSI6ImV4Y2hhbmdlLXNhcHNlIiwiVFNFIjoiZXhjaGFuZ2Utb214dHNlIiwiS1JYIjoiZXhjaGFuZ2Uta3J4X3N0b2NrcyIsIk9NWFZTRSI6ImV4Y2hhbmdlLW9teHZzZSIsIk9NWFJTRSI6ImV4Y2hhbmdlLW9teHJzZSIsIkJNViI6ImV4Y2hhbmdlLWJtdiIsIk1ZWCI6ImV4Y2hhbmdlLW15eCIsIk5TRU5HIjoiZXhjaGFuZ2UtbnNlbmciLCJOWlgiOiJleGNoYW5nZS1uengiLCJCVkwiOiJleGNoYW5nZS1idmwiLCJHUFciOiJleGNoYW5nZS1ncHciLCJRU0UiOiJleGNoYW5nZS1xc2UiLCJCRUxFWCI6ImV4Y2hhbmdlLWJlbGV4IiwiTEpTRSI6ImV4Y2hhbmdlLWxqc2UiLCJNT0VYIjoiZXhjaGFuZ2UtbW9leF9zdG9ja3MiLCJUQURBV1VMIjoiZXhjaGFuZ2UtdGFkYXd1bCIsIk9NWFNUTyI6ImV4Y2hhbmdlLW9teHN0byIsIlNHWCI6ImV4Y2hhbmdlLXNneF9zdG9ja3MiLCJTRVQiOiJleGNoYW5nZS1zZXQiLCJCSVNUIjoiZXhjaGFuZ2UtYmlzdCIsIlRXU0UiOiJleGNoYW5nZS10d3NlIiwiTFNFIjoiZXhjaGFuZ2UtbHNlIiwiTFNJTiI6ImV4Y2hhbmdlLWxzaW4iLCJIT1NFIjoiZXhjaGFuZ2UtaG9zZV9zdG9ja3MiLCJKU0UiOiJleGNoYW5nZS1qc2Vfc3RvY2tzIiwiT1NFIjoiZXhjaGFuZ2Utb3NsIiwiWlNFIjoiZXhjaGFuZ2UtenNlIn0nKSxQbz1bXTtmb3IoY29uc3QgZSBpbiBPbylPby5oYXNPd25Qcm9wZXJ0eShlKSYmT29bZV0uaGFzT3duUHJvcGVydHkoImV4Y2hhbmdlc1N0b2NrcyIpJiZPb1tlXS5leGNoYW5nZXNTdG9ja3MuZm9yRWFjaCgoZT0+e1BvLnB1c2goZSl9KSk7ZnVuY3Rpb24gQm8oZSl7cmV0dXJuIE5vW2VdfHxudWxsfWZ1bmN0aW9uICRvKGUpe3JldHVyblsiQVNYIiwiQVRIRVgiXS5pbmNsdWRlcyhlKX12YXIgV287IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuV2lkZ2V0PTFdPSJXaWRnZXQiLGVbZS5TaXRlPTJdPSJTaXRlIn0oV298fChXbz17fSkpO3ZhciBxbz1vKDc2Mjg1MSksVm89bygxNTI3MTcpLEhvPW8oNDc5MzQpO2Z1bmN0aW9uIFVvKGUsdCxvKXtyZXR1cm4gdC52YWx1ZXx8KDAsSG8uZW5hYmxlZCkoZSxvKX1mdW5jdGlvbiB6byhlLHQsbyl7c3dpdGNoKGUpe2Nhc2UiU0NSRUVORVJfSU5URVJWQUxTIjpyZXR1cm4gZnVuY3Rpb24oZSx0KXtjb25zdCBvPSgwLEhvLmdldENvbmZpZykoIlNDUkVFTkVSX0lOVEVSVkFMUyIsdCk7cmV0dXJuISghb3x8IW8uaW50ZXJ2YWwpJiZvLmludGVydmFsLmluY2x1ZGVzKGUuaW50ZXJ2YWwpfSh0LG8pO2Nhc2UiU0NSRUVORVJfQVVUT19SRUZSRVNIIjpyZXR1cm4gVW8oIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsdCxvKTtjYXNlIkFMRVJUU19OT19FWFBJUkFUSU9OIjoKcmV0dXJuIFVvKCJBTEVSVFNfTk9fRVhQSVJBVElPTiIsdCxvKTtkZWZhdWx0OnJldHVybigwLEhvLmVuYWJsZWQpKGUsbyl9fXZhciBqbz1vKDYxMzg3MCk7YXN5bmMgZnVuY3Rpb24gR28oZSx0LG8saT17fSxuKXtjb25zdCByPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAsVm8uc3luY1VzZXJEYXRhKSgiZ29wcm8iKSxyPT09d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/ZnVuY3Rpb24oZSx0LG8saSxuKXt6byh0LGkpP2UoKTooMCxJby5vcGVuUGF5d2FsbCkoey4uLm8scnVuT3JHb3Byb1dpdGhGZWF0dXJlQ2hlY2tPcHRpb25zOntmZWF0dXJlQ2hlY2s6KCk9PnpvKHQsaSksc2lnbkluU3VjY2VzczplfX0sbil9KGUsdCxvLGksbik6KDAsam8uc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTpvLmdvcHJvU291cmNlLGZlYXR1cmU6by5mZWF0dXJlLHNpZ25pblN1Y2Nlc3M6ZX0pfXZhciBYbz1vKDczNzg2MyksS289byg5NjkxNjgpLFlvPW8oMjExMzYwKTtjbGFzcyBKb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjaGFuZ2VfdGltZWZyYW1lIix0aGlzLnNvdXJjZT0idGltZWZyYW1lX3NlbGVjdG9yIix0aGlzLmxvY2F0aW9uPSJ0b29sYmFyIix0aGlzLnN0YXRlPSIiLHRoaXMudmFsdWU9ZX19Y2xhc3MgWm97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmV2ZW50PSJjaGFuZ2VfY29sdW1uc2V0Iix0aGlzLnNvdXJjZT0iY29sdW1zZXRfc2VsZWN0b3IiLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMuc3RhdGU9IiIsdGhpcy52YWx1ZT0oMCxZby5nZXRDb2x1bW5TZXROYW1lRm9yU25vd1Bsb3cpKHQpLHRoaXMuc291cmNlPWV9fWNsYXNzIFFve2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ldmVudD0iY2hhbmdlX2Zhdm9yaXRlX2NvbHVtbnNldHMiLHRoaXMuc291cmNlPSJjb2x1bW5zZXRfc3Rhcl9idXR0b24iLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMudmFsdWU9KDAsWW8uZ2V0Q29sdW1uU2V0TmFtZUZvclNub3dQbG93KSh0KSx0aGlzLnN0YXRlPWV9fWNsYXNzIGVpe2NvbnN0cnVjdG9yKCl7dGhpcy5ldmVudD0icmVuYW1lX2N1c3RvbV9jb2x1bW5zZXQiLHRoaXMuc291cmNlPSJjb2x1bW5zZXRfcGVuX2J1dHRvbiIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPSIifX1jbGFzcyB0aXtjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjaGFuZ2VfZmlsdGVyc2V0Iix0aGlzLnNvdXJjZT0iZmlsdGVyc2V0X3NlbGVjdG9yIix0aGlzLmxvY2F0aW9uPSJ0b29sYmFyIix0aGlzLnN0YXRlPSIiLHRoaXMudmFsdWU9KDAsWW8uZ2V0RmlsdGVyU2V0TmFtZUZvclNub3dQbG93KShlKX19Y2xhc3Mgb2l7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50PSJyZW5hbWVfY3VzdG9tX2ZpbHRlcnNldCIsdGhpcy5zb3VyY2U9ImZpbHRlcnNldF9wZW5fYnV0dG9uIix0aGlzLmxvY2F0aW9uPSJ0b29sYmFyIix0aGlzLnN0YXRlPSIiLHRoaXMudmFsdWU9IiJ9fXZhciBpaT1vKDQ1MDY2NCk7Y2xhc3Mgbml7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMuZXZlbnQ9ImNoYW5nZV9jb2x1bW5zIix0aGlzLnNvdXJjZT0iY29sdW1uX3NlbGVjdG9yIix0aGlzLmxvY2F0aW9uPSJoZWFkZXJfZmllbGRzX3BvcHVwIj09PWU/ImhlYWRlciI6InRvb2xiYXIiLHRoaXMuc3RhdGU9dD8iYWRkZWQiOiJyZW1vdmVkIix0aGlzLnZhbHVlPW99fWNsYXNzIHJpe2NvbnN0cnVjdG9yKGUpe3RoaXMuZXZlbnQ9ImNvbHVtbl9tb3ZlIix0aGlzLnNvdXJjZT0iY29sdW1uX2hlYWRlciIsdGhpcy5sb2NhdGlvbj0iaGVhZGVyIix0aGlzLnN0YXRlPWlpLlVzZXJBY3Rpb25TdGF0ZS5EcmFnLHRoaXMudmFsdWU9ZX19Y2xhc3Mgc2l7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50PSJyZWZyZXNoX3NjcmVlbmVyX2RhdGEiLHRoaXMuc291cmNlPSJyZWZyZXNoX2J1dHRvbiIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPSIifX1jbGFzcyBhaXtjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjaGFuZ2VfcmVmcmVzaF9pbnRlcnZhbCIsdGhpcy5zb3VyY2U9InJlZnJlc2hfaW50ZXJ2YWxfc2VsZWN0b3IiLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMuc3RhdGU9IiIsdGhpcy52YWx1ZT0oMCxZby5nZXRTbm93UGxvd1JlZnJlc2hJbnRlcnZhbCkoZSl9fXZhciBsaT1vKDQ4MjUwNCk7Y29uc3QgY2k9bygyMjEwNjEpLmdldExvZ2dlcigiU2NyZWVuZXIuUG9wdXBzIik7Y2xhc3MgZGl7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMuX21vZGVsPWUsdGhpcy5fdmlldz10LHRoaXMuX2JyaWRnZT1vLHRoaXMuX21hcmtldHM9bnVsbCx0aGlzLl9tb2RlbC5maWVsZFNldFNhdmVkLnN1YnNjcmliZShudWxsLCgoKT0+dGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiKSkpLHRoaXMuX21vZGVsLmZpbHRlclNldFNhdmVkLnN1YnNjcmliZShudWxsLCgoKT0+dGhpcy5fdmlldy4kZmlsdGVyU2V0c0J1dHRvbi5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS11bnNhdmVkIikpKSx0aGlzLl9maWVsZHNQb3B1cENhY2hlPXt9fXNob3dQcm9tcHREaWFsb2coZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKGk9PnsoMCxSby5zaG93UmVuYW1lKSh7dGl0bGU6ZS50aXRsZSx0ZXh0OmUubGFiZWwsaW5pdFZhbHVlOnQsbWFpbkJ1dHRvblRleHQ6Xy50KG51bGwsdm9pZCAwLG8oNjEyNjU1KSksbWF4TGVuZ3RoOjEyOCxvblJlbmFtZTooe25ld1ZhbHVlOmUsZGlhbG9nQ2xvc2U6dH0pPT57aShlKSx0KCl9LG9uQ2xvc2U6aX0pfSkpfXNob3dNYWludGVuYW5jZURpYWxvZygpe01vKHt0eXBlOiJtb2RhbCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTU0NjQpKSxjb250ZW50Ol8udChudWxsLHZvaWQgMCxvKDMzMjg1NSkpfSl9c2hvd0NvbmZpcm1EaWFsb2coZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT57KDAsUm8uc2hvd0NvbmZpcm0pKHt0ZXh0OmUsCm9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOmV9KT0+e3QoITApLGUoKX0sb25DbG9zZTooKT0+dCghMSl9KX0pKX1zaG93Tm90aWNlKGUsdCl7TW8oe2NvbnRlbnQ6ZSx0aXRsZTp0fSl9c2V0RmllbGRzUG9wdXAoZSx0LGkpe2UuYWRkQ2xhc3MoInR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b24iKTtjb25zdCBuPWxpKGA8ZGl2IGNsYXNzPSIke3R8fCIifSI+YCk7bi5pbnNlcnRBZnRlcihlKS5hcHBlbmQoZSk7Y29uc3Qgcj1saSgnPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2JvZHkgdHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlciB0di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keSB0di1zY3JlZW5lci1maWVsZHMtcG9wdXAgaS1oaWRkZW4iPicpLmFwcGVuZFRvKG4pO2kmJnIuYWRkQ2xhc3MoaSk7Y29uc3Qgcz1saSgnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19zZWFyY2gtd3JhcCI+JykuYXBwZW5kVG8ociksYT1saShgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSIke18udChudWxsLHZvaWQgMCxvKDg3MTExMCkpfSIgY2xhc3M9InR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLWlucHV0Ij5gKS5hcHBlbmRUbyhzKSxsPWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIj4nKS5hcHBlbmRUbyhyKSxjPWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW1zLXdyYXAgdHYtZHJvcGRvd24tYmVoYXZpb3JfX2luc2Nyb2xsIj4nKS5hcHBlbmRUbyhsKTsiaGVhZGVyX2ZpZWxkcy1idXR0b24iPT09ZS5hdHRyKCJkYXRhLW5hbWUiKSYmYy5hdHRyKHsiZGF0YS1uYW1lIjoiaGVhZGVyX2ZpZWxkc19wb3B1cCJ9KTtjb25zdCBkPWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW0gdHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19pdGVtLS1uby1tYXRjaGVzIGpzLWhpZGRlbiI+Tm8gbWF0Y2hlczwvZGl2PicpLmFwcGVuZFRvKHIpO2Eub24oImNoYW5nZSBpbnB1dCIsKGU9Pntjb25zdCB0PWEudmFsKCkudHJpbSgpLnRvTG93ZXJDYXNlKCk7dD9jLmZpbmQoIi5qcy1maWVsZHMtaXRlbSIpLmVhY2goKGZ1bmN0aW9uKCl7Y29uc3QgZT1saSh0aGlzKTtlLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCF+ZS50ZXh0KCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHQpKX0pKTpjLmZpbmQoIi5qcy1maWVsZHMtaXRlbSIpLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKSxkLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCEhYy5maW5kKCIuanMtZmllbGRzLWl0ZW06bm90KC5qcy1oaWRkZW4pIikuc2l6ZSgpKSxuLnR2RHJvcGRvd24oInVwZGF0ZVNjcm9sbCIpfSkpLG4ub24oImJlZm9yZU9wZW5NZW51IiwoKCk9PnthLnZhbCgiIiksYy5maW5kKCIuanMtZmllbGRzLWl0ZW0iKS5yZW1vdmVDbGFzcygianMtaGlkZGVuIiksZC5hZGRDbGFzcygianMtaGlkZGVuIiksdGhpcy5yZXNldEZpZWxkc1BvcHVwKGMpLGwuY3NzKCJtYXhIZWlnaHQiLGxpKHdpbmRvdykuaGVpZ2h0KCktZS5vZmZzZXQoKS50b3ArbGkod2luZG93KS5zY3JvbGxUb3AoKS1lLm91dGVySGVpZ2h0KCktcy5vdXRlckhlaWdodCgpLTIwKX0pKS5vbigiYWZ0ZXJPcGVuTWVudSIsKCgpPT57YS5mb2N1cygpfSkpLnR2RHJvcGRvd24oe3Njcm9sbDohMCxub0FuaW1hdGlvbjohMH0pLHNldFRpbWVvdXQoKCgpPT50aGlzLnJlc2V0RmllbGRzUG9wdXAoYykpLDApfXJlc2V0RmllbGRzUG9wdXAoZSl7ZS5lbXB0eSgpO2NvbnN0IHQ9ZT0+e2lmKGUgaW4gdGhpcy5fZmllbGRzUG9wdXBDYWNoZSl7Y29uc3QgdD10aGlzLl9maWVsZHNQb3B1cENhY2hlW2VdO3JldHVybiB0LmNoZWNrYm94LnByb3AoImNoZWNrZWQiLEl0W2VdLmNoZWNrZWQpLHQuaXRlbX1jb25zdCB0PWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+Jyk7bGkoYDxsYWJlbCBkYXRhLWZpZWxkPSIke2V9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9faXRlbSBqcy1maWVsZHMtaXRlbSI+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJHtlfSIgY2xhc3M9ImpzLWZpZWxkLWNoZWNrYm94IiR7SXRbZV0uY2hlY2tlZD8iIGNoZWNrZWQiOiIifT5cblx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsIj4keygwLFRlLnRyaWVzVHJhbnNsYXRlU2NyZWVuZXJEYXRhKShJdFtlXS50aXRsZSl9PC9zcGFuPlxuXHRcdFx0PC9sYWJlbD5gKS5hcHBlbmRUbyh0KTtjb25zdCBvPXQuZmluZCgiLmpzLWZpZWxkLWNoZWNrYm94IikudHZDb250cm9sQ2hlY2tib3goKTtyZXR1cm4gdGhpcy5fZmllbGRzUG9wdXBDYWNoZVtlXT17aXRlbTp0LGNoZWNrYm94Om99LHR9LG89dGhpcy5fdmlldy5zb3J0ZWRGaWVsZHMuZmlsdGVyKFh0KS5zb3J0KCgoZSx0KT0+SXRbZV0udGl0bGUubG9jYWxlQ29tcGFyZShJdFt0XS50aXRsZSx2b2lkIDAse2lnbm9yZVB1bmN0dWF0aW9uOiEwLG51bWVyaWM6ITB9KSkpLGk9by5maWx0ZXIoKGU9Pkl0W2VdLmNoZWNrZWQpKSxuPW8uZmlsdGVyKChlPT4hSXRbZV0uY2hlY2tlZCkpO2kuY29uY2F0KG4pLmZvckVhY2goKG89PnsiaXNfcHJpbWFyeSIhPT1vJiZ0KG8pLmFwcGVuZFRvKGUpfSkpLGUuZmluZCgiLmpzLWZpZWxkLWNoZWNrYm94Iikub2ZmKCJjaGFuZ2UiKSxlLmZpbmQoIi5qcy1maWVsZC1jaGVja2JveCIpLm9uKCJjaGFuZ2UiLCh0PT57Y29uc3Qgbz1saSh0LmN1cnJlbnRUYXJnZXQpLGk9by5hdHRyKCJuYW1lIik7SXRbaV0uY2hlY2tlZD1vLnByb3AoImNoZWNrZWQiKTtjb25zdCBuPWUuYXR0cigiZGF0YS1uYW1lIikscj1JdFtpXS5jaGVja2VkOygwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBuaShuLHIsaSkpO2NvbnN0IHM9SXRbaV0uY2hlY2tlZD90aGlzLl92aWV3Ll90YWJsZS5maWVsZHNPcmRlci5jb25jYXQoaSk6dGhpcy5fdmlldy5fdGFibGUuZmllbGRzT3JkZXIuZmlsdGVyKChlPT5lIT09aSkpO3RoaXMuX21vZGVsLnByZXZlbnRQcmV2U2NhblJlcXVlc3QoKSwKdGhpcy5fbW9kZWwuZmllbGRTZXRDaGFuZ2VkLmZpcmUocy5maWx0ZXIoKGU9Pkl0W2VdJiYhMCE9PUl0W2VdLmRpc2FibGVkJiYhMCE9PUl0W2VdLmhpZGRlbkNvbHVtbikpKSx0aGlzLl9tb2RlbC51cGRhdGUoKSx0aGlzLl92aWV3LiRmaWVsZFNldHNCdXR0b24udG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tdW5zYXZlZCIsdGhpcy5fbW9kZWwuaXNGaWVsZFNldENoYW5nZWQoKSl9KSl9c2V0UG9wdXAoZSx0LG8pe2UuYWRkQ2xhc3MoInR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b24iKTtjb25zdCBpPWxpKGA8ZGl2IGNsYXNzPSIke3R8fCIifSI+YCk7aS5pbnNlcnRBZnRlcihlKS5hcHBlbmQoZSk7Y29uc3Qgbj1saSgnPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2JvZHkgdHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlciB0di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keSB0di1zY3JlZW5lci1wb3B1cCBpLWhpZGRlbiI+JykuYXBwZW5kVG8oaSk7byYmbi5hZGRDbGFzcyhvKTtjb25zdCByPWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIGpzLWNvbnRhaW5lciI+JykuYXBwZW5kVG8obik7cmV0dXJuIGxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbXMtd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwganMtY29udGVudCI+JykuYXBwZW5kVG8ociksaS5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e3IuY3NzKCJtYXhIZWlnaHQiLGxpKHdpbmRvdykuaGVpZ2h0KCktZS5vZmZzZXQoKS50b3ArbGkod2luZG93KS5zY3JvbGxUb3AoKS00NSl9KSkudHZEcm9wZG93bih7c2Nyb2xsOiEwLG5vQW5pbWF0aW9uOiEwfSl9c2V0RmllbGRTZXRzUG9wdXAoZSl7Y29uc3QgdD10aGlzLnNldFBvcHVwKGUsInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwIik7dC50dkRyb3Bkb3duKCJkaXNhYmxlIik7Y29uc3QgaT10LmZpbmQoIi5qcy1jb250ZW50Iik7aS5vbigiY2xpY2siLCIuanMtc2V0IiwoZT0+e2NvbnN0IG89bGkoZS5jdXJyZW50VGFyZ2V0KTtpLmZpbmQoIi5qcy1pdGVtLWFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tYWN0aXZlIGpzLWl0ZW0tYWN0aXZlIiksby5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSBqcy1pdGVtLWFjdGl2ZSIpO2NvbnN0IG49by5hdHRyKCJkYXRhLXNldCIpO3RoaXMuX21vZGVsLmFwcGx5RmllbGRTZXQobiksdGhpcy5fdmlldy5hZGp1c3RUb29sYmFyV2lkdGgoKSx0LnR2RHJvcGRvd24oImNsb3NlIiksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFpvKCJjb2x1bW5zZXRfc2VsZWN0b3IiLG4pKX0pKS5vbigiY2xpY2siLCIuanMtc2V0LWRlbGV0ZSIsKGU9Pntjb25zdCBpPWxpKGUuY3VycmVudFRhcmdldCksbj10aGlzLl9tb2RlbC5nZXRGaWVsZFNldEJ5SWQoaS5wYXJlbnQoKS5hdHRyKCJkYXRhLXNldCIpKSxyPXRoaXMuX21vZGVsLmN1cnJlbnRGaWVsZFNldElkKCk9PT1uLmlkO3RoaXMuc2hvd0NvbmZpcm1EaWFsb2coXy50KG51bGwsdm9pZCAwLG8oOTg1MjU5KSkuZm9ybWF0KHtuYW1lOm4udGl0bGV9KSkudGhlbigoZT0+e2UmJnRoaXMuX21vZGVsLnNhdmVGaWVsZFNldCh7aWQ6bi5pZCxkZWxldGU6MX0sIkRlbGV0ZSBmaWVsZCBzZXQiKS50aGVuKCgoKT0+e3RoaXMuX21vZGVsLnJlbW92ZUZhdm9yaXRlRmllbGRTZXQobi5pZCksciYmdGhpcy5fbW9kZWwuYXBwbHlGaWVsZFNldCh0aGlzLl9tb2RlbC5kZWZhdWx0RmllbGRTZXRzWzBdLmlkLG51bGwsITApLHRoaXMuX3ZpZXcuYWRqdXN0VG9vbGJhcldpZHRoKCl9KSl9KSksdC50dkRyb3Bkb3duKCJjbG9zZSIpLGUuc3RvcFByb3BhZ2F0aW9uKCl9KSkub24oImNsaWNrIiwiLmpzLXNldC1zdGFyIiwoZT0+e2NvbnN0IHQ9bGkoZS5jdXJyZW50VGFyZ2V0KSxvPXQucGFyZW50KCkuYXR0cigiZGF0YS1zZXQiKTt0LnBhcmVudCgpLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tZmF2b3JpdGUiKSx0aGlzLl9tb2RlbC5hZGRGYXZvcml0ZUZpZWxkU2V0KG8pLGUuc3RvcFByb3BhZ2F0aW9uKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFFvKCJhZGRlZCIsbykpfSkpLm9uKCJjbGljayIsIi5qcy1zZXQtc3Rhci1hY3RpdmUiLChlPT57Y29uc3QgdD1saShlLmN1cnJlbnRUYXJnZXQpLG89dC5wYXJlbnQoKS5hdHRyKCJkYXRhLXNldCIpO3QucGFyZW50KCkudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1mYXZvcml0ZSIpLHRoaXMuX21vZGVsLnJlbW92ZUZhdm9yaXRlRmllbGRTZXQobyksZS5zdG9wUHJvcGFnYXRpb24oKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgUW8oInJlbW92ZWQiLG8pKX0pKS5vbigiY2xpY2siLCIuanMtc2V0LXJlbmFtZSIsKGU9Pntjb25zdCBpPWxpKGUuY3VycmVudFRhcmdldCkucGFyZW50KCkuYXR0cigiZGF0YS1zZXQiKSxuPXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChpKTt0aGlzLnNob3dQcm9tcHREaWFsb2coe3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDY3MTIzKSksbGFiZWw6Xy50KG51bGwsdm9pZCAwLG8oMjQ5OTc4KSl9LG4udGl0bGUpLnRoZW4oKGU9PntlJiZlIT09bi50aXRsZSYmKHRoaXMuX21vZGVsLnNhdmVGaWVsZFNldCh7aWQ6bi5pZCx0aXRsZTplfSwiUmVuYW1lIGZpZWxkIHNldCIpLHRoaXMuX3ZpZXcuJGZpZWxkU2V0c0J1dHRvbi5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hY3RpdmUganMtbm8tcG9pbnRlci1ldmVudHMiKSx0aGlzLl9tb2RlbC5jdXJyZW50RmllbGRTZXRJZCgpPT1uLmlkJiZ0aGlzLl92aWV3LiRmaWVsZFNldHNCdXR0b24udGV4dChlKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgZWkpKX0pKSx0LnR2RHJvcGRvd24oImNsb3NlIiksZS5zdG9wUHJvcGFnYXRpb24oKX0pKS5vbigiY2xpY2siLCIuanMtc2F2ZSIsKGU9Pnt0aGlzLmNvbmZpcm1BbmRTYXZlQ3VycmVudEZpZWxkU2V0KCkudGhlbigoZT0+ewpjb25zdCB0PXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChlLmlkKTt0aGlzLl9tb2RlbC5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKHRoaXMuX21vZGVsLnNldHRpbmdLZXkrIi5maWVsZFNldElkIixlLmlkLHtmb3JjZUZsdXNoOiEwfSksdGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRleHQodC50aXRsZSk7Y29uc3Qgbz10aGlzLiRmYXZvcml0ZXNCYXImJnRoaXMuJGZhdm9yaXRlc0Jhci5maW5kKGAuanMtZmF2b3JpdGUtaXRlbVtkYXRhLXNldD0ke2UuaWR9XWApfHxsaSgpO28uc2l6ZSgpJiZvLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMtaXRlbS0tYWN0aXZlIil9KSkuY2F0Y2goKGU9PntlJiZjaS5sb2dFcnJvcihlKX0pKSx0LnR2RHJvcGRvd24oImNsb3NlIil9KSksdGhpcy5fbW9kZWwubG9hZGluZ0NvbXBsZXRlLnN1YnNjcmliZShudWxsLCgoKT0+e3QudHZEcm9wZG93bigiZW5hYmxlIil9KSwhMCksdC5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+dGhpcy5zZXRGaWVsZFNldHNQb3B1cENvbnRlbnQoaSkpKX1zZXRGaWVsZFNldHNQb3B1cENvbnRlbnQoZSl7ZS5lbXB0eSgpLHRoaXMuX2JyaWRnZS5vbldpZGdldHx8bGkoYDxkaXYgY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCB0di1zY3JlZW5lci1wb3B1cF9faXRlbSB0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tc2F2ZSBqcy1zYXZlIj4keygwLHFvLmFwcGVuZEVsbGlwc2lzKShfLnQobnVsbCx2b2lkIDAsbygzMDM2ODQpKSl9PC9kaXY+YCkucHJlcGVuZChsaShvKDYyNjIxOCkpLmF0dHIoe2NsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixzdHlsZToidG9wOiAtMnB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7In0pKS5hcHBlbmRUbyhlKTtjb25zdCB0PWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tcHJlc2V0cyI+PC9kaXY+JykuYXBwZW5kVG8oZSk7dGhpcy5fbW9kZWwuc2V0dGluZ3MuZmllbGRTZXRzLmZvckVhY2goKGU9Pntjb25zdCBpPWxpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+XG5cdFx0XHRcdDxkaXYgZGF0YS1zZXQ9IiR7ZS5pZH0iICBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXQganMtc2V0IiB0aXRsZT0iJHtibyhlLnRpdGxlKX0iPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJqcy1maWVsZC1zZXQtbmFtZSI+PC9zcGFuPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGUganMtc2V0LWRlbGV0ZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oNDMxNDQxKSl9Ij5cblx0XHRcdFx0XHRcdCR7bygxOTk3ODUpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tcmVuYW1lIGpzLXNldC1yZW5hbWUiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDkyNDgyMykpfSI+XG5cdFx0XHRcdFx0XHQke28oMjQ5NDg5KX1cblx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXItYWN0aXZlIGpzLXNldC1zdGFyLWFjdGl2ZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oNjk0MjA5KSl9Ij5cblx0XHRcdFx0XHRcdCR7byg4MDEzMjcpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhciBqcy1zZXQtc3RhciIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oOTk1MjkpKX0iPlxuXHRcdFx0XHRcdFx0JHtvKDQyNzA5KX1cblx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+YCkuYXBwZW5kVG8odCk7aS5maW5kKCIuanMtZmllbGQtc2V0LW5hbWUiKS50ZXh0KGhpKGUudGl0bGUpKSxpLmZpbmQoIi5qcy1zZXQiKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWZhdm9yaXRlIiwtMSE9PXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YoZS5pZCkpfSkpLHRoaXMuX21vZGVsLmRlZmF1bHRGaWVsZFNldHMuZm9yRWFjaCgodD0+e2xpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+XG5cdFx0XHRcdDxkaXYgZGF0YS1zZXQ9IiR7dC5pZH0iIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0ganMtc2V0Ij5cblx0XHRcdFx0XHQke3QudGl0bGV9XG5cdFx0XHRcdFx0JHt0aGlzLl9icmlkZ2Uub25XaWRnZXQ/IiI6YDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS1zdGFyLWFjdGl2ZSBqcy1zZXQtc3Rhci1hY3RpdmUiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDY5NDIwOSkpfSI+XG5cdFx0XHRcdFx0XHRcdCR7byg4MDEzMjcpfVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXIganMtc2V0LXN0YXIiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDk5NTI5KSl9Ij5cblx0XHRcdFx0XHRcdFx0JHtvKDQyNzA5KX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5gfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKGUpLmZpbmQoIi5qcy1zZXQiKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWZhdm9yaXRlIiwtMSE9PXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YodC5pZCkpfSkpLGUuZmluZChgW2RhdGEtc2V0PSIke3RoaXMuX21vZGVsLmN1cnJlbnRGaWVsZFNldElkKCl9Il1gKS5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSBqcy1pdGVtLWFjdGl2ZSIpfWNvbmZpcm1BbmRTYXZlQ3VycmVudEZpZWxkU2V0KCl7CmNvbnN0IGU9dGhpcy5fbW9kZWwuZ2V0RmllbGRTZXRCeUlkKHRoaXMuX21vZGVsLmN1cnJlbnRGaWVsZFNldElkKCkpLHQ9dGhpcy5fdmlldy5fdGFibGUuZmllbGRzT3JkZXIuc2xpY2UoMCk7aWYoIUl0LnR5cGUuZGlzYWJsZWQmJkl0LnR5cGUuY2hlY2tlZCl7Y29uc3QgZT10LmluZGV4T2YoIm5hbWUiKTstMSE9PWUmJnQuc3BsaWNlKGUrMSwwLCJ0eXBlIil9aWYoIUl0LmRlc2NyaXB0aW9uLmRpc2FibGVkJiZJdC5kZXNjcmlwdGlvbi5jaGVja2VkKXtjb25zdCBlPXQuaW5kZXhPZigibmFtZSIpOy0xIT09ZSYmdC5zcGxpY2UoZSsxLDAsImRlc2NyaXB0aW9uIil9Y29uc3QgaT1KU09OLnN0cmluZ2lmeSh0KSxuPWUmJiF0aGlzLl9tb2RlbC5kZWZhdWx0RmllbGRTZXRzLmZpbmQoKHQ9PnQuaWQ9PT1lLmlkKSk7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxyKT0+cnVuT3JTaWduSW4oKCgpPT50aGlzLnNob3dQcm9tcHREaWFsb2coe3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDMwMzY4NCkpLGxhYmVsOl8udChudWxsLHZvaWQgMCxvKDI0OTk3OCkpfSxlJiZlLnRpdGxlfHwiIikudGhlbigobz0+e2lmKHZvaWQgMD09PW8pcmV0dXJuIHZvaWQgcigpO2NvbnN0IHM9e3RpdGxlOmJvKG8pLGNvbnRlbnQ6aX07bGV0IGE9IkNyZWF0ZSBmaWVsZCBzZXQiO24mJmUudGl0bGU9PT1vJiYocy5pZD1lLmlkLGE9IlVwZGF0ZSBmaWVsZCBzZXQiKSx0aGlzLl9tb2RlbC5zYXZlRmllbGRTZXQocyxhKS50aGVuKHQscil9KSkpLHtzb3VyY2U6InNhdmUgY29sdW1uc2V0In0pKSl9c2V0RmlsdGVyU2V0c1BvcHVwKGUpe2NvbnN0IHQ9dGhpcy5zZXRQb3B1cChlLCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24td3JhcCIsInR2LWRyb3Bkb3duX19ib2R5LS1wb3NpdGlvbl9yaWdodCIpO3QudHZEcm9wZG93bigiZGlzYWJsZSIpO2NvbnN0IGk9dC5maW5kKCIuanMtY29udGVudCIpLG49dGhpcy5fYnJpZGdlLiRib2R5O2Z1bmN0aW9uIHIoZSl7aWYoKDAsS28uaXNSdGwpKCkpZS50b2dnbGVDbGFzcygidHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0IiwhMCk7ZWxzZXtjb25zdCBvPXQud2lkdGgoKSxpPW4uZmluZCgiLnR2LXNjcmVlbmVyLXRvb2xiYXIiKS53aWR0aCgpLHI9dC5wb3NpdGlvbigpLmxlZnQscz1pLShvK3IpO2UudG9nZ2xlQ2xhc3MoInR2LWRyb3Bkb3duX19ib2R5LS1wb3NpdGlvbl9yaWdodCIscj5zKX19aS5vbigiY2xpY2siLCIuanMtc2V0IiwoZT0+e2NvbnN0IG49bGkoZS5jdXJyZW50VGFyZ2V0KTtpLmZpbmQoIi5qcy1pdGVtLWFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tYWN0aXZlIGpzLWl0ZW0tYWN0aXZlIiksbi5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSBqcy1pdGVtLWFjdGl2ZSIpLHRoaXMuX3ZpZXcuJGZpbHRlclNldHNCdXR0b24udG9nZ2xlQ2xhc3MoImktZGlzYWJsZWQiLCEwKSxuZXcgUHJvbWlzZSgoZT0+e3RoaXMuX2JyaWRnZS5vbldpZGdldD9lKCk6dGhpcy5fbW9kZWwuaXNGaWx0ZXJTZXRDaGFuZ2VkKCk/dGhpcy5zaG93Q29uZmlybURpYWxvZyhfLnQobnVsbCx2b2lkIDAsbyg5NjMzMTgpKSkudGhlbigodD0+e3Q/dGhpcy5jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWx0ZXJTZXQoKS50aGVuKGUsKHQ9Pnt0JiZjaS5sb2dFcnJvcih0KSxlKCl9KSk6ZSgpfSkpOmUoKX0pKS50aGVuKCgoKT0+e2NvbnN0IGU9aGkobi5hdHRyKCJkYXRhLXNldCIpKTt0aGlzLl9tb2RlbC5hcHBseUZpbHRlclNldChlKSx0aGlzLl9tb2RlbC50cmFja0V2ZW50KCJBcHBseSBmaWx0ZXIgc2V0ICIrZSksdGhpcy5fdmlldy4kZmlsdGVyU2V0c0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITEpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyB0aShlKSl9KSksc2V0VGltZW91dCgoKCk9PnQudHZEcm9wZG93bigiY2xvc2UiKSksMjAwKX0pKS5vbigiY2xpY2siLCIuanMtc2V0LWRlbGV0ZSIsKGU9Pntjb25zdCBpPWxpKGUuY3VycmVudFRhcmdldCksbj10aGlzLl9tb2RlbC5nZXRGaWx0ZXJTZXRCeUlkKGkucGFyZW50KCkuYXR0cigiZGF0YS1zZXQiKSkscj10aGlzLl9tb2RlbC5jdXJyZW50RmlsdGVyU2V0SWQoKT09PW4uaWQ7dGhpcy5zaG93Q29uZmlybURpYWxvZyhfLnQobnVsbCx2b2lkIDAsbygyNzcwMTEpKS5mb3JtYXQoe25hbWU6bi50aXRsZX0pKS50aGVuKChlPT57ZSYmdGhpcy5fbW9kZWwuc2F2ZUZpbHRlclNldCh7aWQ6bi5pZCxkZWxldGU6MX0sIkRlbGV0ZSBmaWx0ZXIgc2V0IikudGhlbigoKCk9PntpZihyKXtjb25zdCBlPXRoaXMuX21vZGVsLmRlZmF1bHRGaWx0ZXJTZXRzLmZpbmQoKGU9PiEwIT09ZS5kaXNhYmxlZCkpfHx0aGlzLl9tb2RlbC5kZWZhdWx0RmlsdGVyU2V0c1swXTt0aGlzLl9tb2RlbC5hcHBseUZpbHRlclNldChlLmlkKX19KSl9KSksdC50dkRyb3Bkb3duKCJjbG9zZSIpLGUuc3RvcFByb3BhZ2F0aW9uKCl9KSkub24oImNsaWNrIiwiLmpzLXNldC1yZW5hbWUiLChlPT57Y29uc3QgaT1saShlLmN1cnJlbnRUYXJnZXQpLnBhcmVudCgpLmF0dHIoImRhdGEtc2V0Iiksbj10aGlzLl9tb2RlbC5nZXRGaWx0ZXJTZXRCeUlkKGkpO3RoaXMuc2hvd1Byb21wdERpYWxvZyh7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTQxMjU3KSksbGFiZWw6Xy50KG51bGwsdm9pZCAwLG8oODkwOTkpKX0sbi50aXRsZSkudGhlbigoZT0+e2UmJmUhPT1uLnRpdGxlJiYodGhpcy5fbW9kZWwuc2F2ZUZpbHRlclNldCh7aWQ6bi5pZCx0aXRsZTplfSwiUmVuYW1lIGZpbHRlciBzZXQiKSx0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFjdGl2ZSBqcy1uby1wb2ludGVyLWV2ZW50cyIpLHRoaXMuX21vZGVsLmN1cnJlbnRGaWx0ZXJTZXRJZCgpPT1uLmlkJiZ0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dChlKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgb2kpKX0pKSx0LnR2RHJvcGRvd24oImNsb3NlIiksZS5zdG9wUHJvcGFnYXRpb24oKQp9KSkub24oImNsaWNrIiwiLmpzLXNhdmUiLChlPT57dGhpcy5jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWx0ZXJTZXQoKS50aGVuKChlPT57dm9pZCAwIT09ZS5pZD8odGhpcy5fbW9kZWwuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5zZXR0aW5nS2V5KyIuZmlsdGVyU2V0SWQiLGUuaWQse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dCh0aGlzLl9tb2RlbC5nZXRGaWx0ZXJTZXRCeUlkKGUuaWQpLnRpdGxlKSk6Y2kubG9nRXJyb3IoIlVuYWJsZSB0byBnZXQgaWQgb2YgY3JlYXRlZCBzZXQiKX0pKS5jYXRjaCgoZT0+e2UmJmNpLmxvZ0Vycm9yKGUpfSkpLHQudHZEcm9wZG93bigiY2xvc2UiKX0pKSx0aGlzLiRmaWx0ZXJTZXRzUG9wdXBDb250ZW50PWksdGhpcy5fYnJpZGdlLndpZHRoPyhyKGkucGFyZW50KCkucGFyZW50KCkpLHRoaXMuX2JyaWRnZS53aWR0aC5zdWJzY3JpYmUoKCgpPT57cihpLnBhcmVudCgpLnBhcmVudCgpKX0pKSk6bGkod2luZG93KS5vbigicmVzaXplIiwoKCk9PntyKGkucGFyZW50KCkucGFyZW50KCkpfSkpLHRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnR2RHJvcGRvd24oImVuYWJsZSIpfSksITApLHQub24oImJlZm9yZU9wZW5NZW51IiwoKCk9Pnt0aGlzLnNldEZpbHRlclNldHNQb3B1cENvbnRlbnQoKX0pKX1zZXRGaWx0ZXJTZXRzUG9wdXBDb250ZW50KCl7Y29uc3QgZT10aGlzLiRmaWx0ZXJTZXRzUG9wdXBDb250ZW50O2UuZW1wdHkoKSx0aGlzLl9icmlkZ2Uub25XaWRnZXR8fGxpKGA8ZGl2IGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0gdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXNhdmUgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXNwYWNlLWxlZnQganMtc2F2ZSI+JHsoMCxxby5hcHBlbmRFbGxpcHNpcykoXy50KG51bGwsdm9pZCAwLG8oMzk0MTMxKSkpfTwvZGl2PmApLnByZXBlbmQobGkobyg2MjYyMTgpKS5hdHRyKHtjbGFzczoidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLWljb24iLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIsc3R5bGU6InRvcDogLTJweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyJ9KSkuYXBwZW5kVG8oZSk7Y29uc3QgdD1saSgnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXByZXNldHMiPjwvZGl2PicpLmFwcGVuZFRvKGUpO3RoaXMuX21vZGVsLnNldHRpbmdzLmZpbHRlclNldHMuZm9yRWFjaCgoZT0+e2NvbnN0IGk9bGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0PGRpdiBkYXRhLXNldD0iJHtlLmlkfSIgY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCB0di1zY3JlZW5lci1wb3B1cF9faXRlbSB0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tcHJlc2V0IHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zcGFjZS1sZWZ0IGpzLXNldCI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9ImpzLWZpbHRlci1zZXQtbmFtZSI+PC9zcGFuPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS1yZW5hbWUganMtc2V0LXJlbmFtZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oOTI0ODIzKSl9Ij5cblx0XHRcdFx0XHRcdCR7bygyNDk0ODkpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZGVsZXRlIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWRlbGV0ZS0tcmlnaHQganMtc2V0LWRlbGV0ZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oNDMxNDQxKSl9Ij5cblx0XHRcdFx0XHRcdCR7bygxOTk3ODUpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5gKTtpLmZpbmQoIi5qcy1maWx0ZXItc2V0LW5hbWUiKS50ZXh0KGhpKGUudGl0bGUpKSxpLmFwcGVuZFRvKHQpfSkpLHRoaXMuX21vZGVsLmRlZmF1bHRGaWx0ZXJTZXRzLmZvckVhY2goKHQ9Pnt0LmRpc2FibGVkfHxsaShgPGRpdiBjbGFzcz0idHYtZHJvcGRvd24tYmVoYXZpb3JfX2l0ZW0iPlxuXHRcdFx0XHQ8ZGl2IGRhdGEtc2V0PSIke3QuaWR9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zcGFjZS1sZWZ0IGpzLXNldCI+XG5cdFx0XHRcdFx0JHt0LnRpdGxlfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKGUpfSkpLGUuZmluZChgW2RhdGEtc2V0PSIke3RoaXMuX21vZGVsLmN1cnJlbnRGaWx0ZXJTZXRJZCgpfSJdYCkuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1hY3RpdmUganMtaXRlbS1hY3RpdmUiKX1jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWx0ZXJTZXQoKXtjb25zdCBlPXRoaXMuX21vZGVsLmdldEZpbHRlclNldEJ5SWQodGhpcy5fbW9kZWwuY3VycmVudEZpbHRlclNldElkKCkpLHQ9SlNPTi5zdHJpbmdpZnkodGhpcy5fbW9kZWwuY3VycmVudEZpbHRlclN0YXRlKCkpLGk9ZSYmIXRoaXMuX21vZGVsLmRlZmF1bHRGaWx0ZXJTZXRzLmZpbmQoKHQ9PnQuaWQ9PT1lLmlkKSk7cmV0dXJuIG5ldyBQcm9taXNlKCgobixyKT0+cnVuT3JTaWduSW4oKCgpPT50aGlzLnNob3dQcm9tcHREaWFsb2coe3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDM5NDEzMSkpLGxhYmVsOl8udChudWxsLHZvaWQgMCxvKDg5MDk5KSl9LGUudGl0bGUpLnRoZW4oKG89PntpZih2b2lkIDA9PT1vKXJldHVybiB2b2lkIHIoKTtjb25zdCBzPXt0aXRsZTpibyhvKSxjb250ZW50OnR9O2xldCBhPSJDcmVhdGUgZmlsdGVyIHNldCI7aSYmZS50aXRsZT09PW8mJihzLmlkPWUuaWQsYT0iVXBkYXRlIGZpbHRlciBzZXQiKSx0aGlzLl9tb2RlbC5zYXZlRmlsdGVyU2V0KHMsYSkudGhlbihuLHIpfSkpKSx7c291cmNlOiJzYXZlIHNjcmVlbiJ9KSkpfXNldEhpZGRlbkZhdm9yaXRlc1BvcHVwKGUsdCxvLGkpewplLmFkZENsYXNzKCJ0di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9uIik7Y29uc3Qgbj1saSgnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLW1vcmUtd3JhcCI+Jyk7bi5pbnNlcnRBZnRlcihlKS5hcHBlbmQoZSk7Y29uc3Qgcj1saSgnPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2JvZHkgdHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlciB0di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keSB0di1kcm9wZG93bl9fYm9keS0tcG9zaXRpb25fcmlnaHQgaS1oaWRkZW4iPicpLmFwcGVuZFRvKG4pLHM9bGkoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwganMtY29udGFpbmVyIj4nKS5hcHBlbmRUbyhyKSxhPWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbXMtd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwganMtY29udGVudCI+JykuYXBwZW5kVG8ocyk7YS5vbigiY2xpY2siLCIuanMtc2V0IiwoZT0+e2NvbnN0IHQ9bGkoZS5jdXJyZW50VGFyZ2V0KS5hdHRyKCJkYXRhLXNldCIpO2kodCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFpvKCJjb2x1bW5zZXRfZmF2b3JpdGVzX3BpY2tlciIsdCkpLG4udHZEcm9wZG93bigiY2xvc2UiKX0pKTtjb25zdCBsPSgpPT57YS5lbXB0eSgpLHQoKS5mb3JFYWNoKChlPT57bGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0XHQ8ZGl2IGRhdGEtc2V0PSIke2UuaWR9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtIGpzLXNldCI+XG5cdFx0XHRcdFx0XHQke2JvKGUudGl0bGUpfVxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5gKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSIsbyhlLmlkKSkuYXBwZW5kVG8oYSl9KSksbi50dkRyb3Bkb3duKCJ1cGRhdGVTY3JvbGwiKX07cmV0dXJuIG4ub24oImJlZm9yZU9wZW5NZW51IiwoKCk9PntsKCkscy5jc3MoIm1heEhlaWdodCIsbGkod2luZG93KS5oZWlnaHQoKS1lLm9mZnNldCgpLnRvcCtsaSh3aW5kb3cpLnNjcm9sbFRvcCgpLTQ1KX0pKS5vbigicmVzZXRDb250ZW50IiwoKCk9PmwoKSkpLm9uKCJmb3JjZUNsb3NlIiwoKCk9Pm4udHZEcm9wZG93bigiY2xvc2UiKSkpLnR2RHJvcGRvd24oe3Njcm9sbDohMCxub0FuaW1hdGlvbjohMH0pfXNldFNlbGVjdFBvcHVwKGUsdCl7Y29uc3R7d3JhcENsYXNzOm8sYnV0dG9uQ2xhc3M6aSxkcm9wZG93bkNsYXNzOm59PWUse2J1dHRvblRpdGxlOnJ9PXQscz1saShgPGRpdiBjbGFzcz0iJHtvfSB0di1kcm9wZG93biB0di1kcm9wZG93bi0taW5saW5lIHR2LWRyb3Bkb3duLWJlaGF2aW9yIj5gKSxhPWxpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bl9fYnV0dG9uIHR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b24gJHtpfSIgdGl0bGU9IiR7cn0iPmApLmFwcGVuZFRvKHMpLGw9bGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duX19ib2R5IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19ib2R5IHR2LWRyb3Bkb3duX19ib2R5LS1vdmVyLXRyaWdnZXIgdHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0IGktaGlkZGVuICR7bn0iPmApLmFwcGVuZFRvKHMpLGM9bGkoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwganMtY29udGFpbmVyIj4nKS5hcHBlbmRUbyhsKSxkPWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwganMtY29udGVudCI+JykuYXBwZW5kVG8oYyk7cmV0dXJuIHMub24oImJlZm9yZU9wZW5NZW51IiwoKCk9PntjLmNzcygibWF4SGVpZ2h0IixsaSh3aW5kb3cpLmhlaWdodCgpLWEub2Zmc2V0KCkudG9wK2xpKHdpbmRvdykuc2Nyb2xsVG9wKCktNDUpfSkpLm9uKCJmb3JjZUNsb3NlIiwoKCk9PnMudHZEcm9wZG93bigiY2xvc2UiKSkpLnR2RHJvcGRvd24oe3Njcm9sbDohMCwkd3JhcDphLCRib2R5Omwsbm9BbmltYXRpb246ITB9KSx7JHdyYXA6cywkYnV0dG9uOmEsJGRyb3Bkb3duQm9keTpsLCRkcm9wZG93bkNvbnRlbnQ6ZH19c2V0TWFya2V0c0xpc3QoZSl7dGhpcy5fbWFya2V0cz1lfXVwZGF0ZVJlZnJlc2hJbnRlcnZhbHNQb3B1cENvbnRlbnQoKXtpZighdGhpcy4kZmlsdGVyUmVmcmVzaEludGVydmFsc1BvcHVwfHwhdGhpcy4kZmlsdGVyUmVmcmVzaEludGVydmFsc1BvcHVwLmxlbmd0aClyZXR1cm47dGhpcy4kZmlsdGVyUmVmcmVzaEludGVydmFsc1BvcHVwLmVtcHR5KCk7Y29uc3QgZT10aGlzLl92aWV3LnJlZnJlc2hJbnRlcnZhbHM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IGk9ZVt0XTtsZXQgbj1udWxsO2lmKC0xPT09aSluPV8udChudWxsLHZvaWQgMCxvKDk5ODYxNikpO2Vsc2V7Y29uc3QgZT1pLzYwfDA7bj0xPT09ZT9fLnQobnVsbCx2b2lkIDAsbyg4Njk3NTYpKTplPDE/dGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaD9fLnQobnVsbCx2b2lkIDAsbyg4OTg5ODcpKTpfLnQobnVsbCx7cGx1cmFsOiJSZWZyZXNoIGV2ZXJ5IHswfSBzZWNvbmRzIixjb3VudDppfSxvKDYzMTQ0NykpLmZvcm1hdChpKTpfLnQobnVsbCx7cGx1cmFsOiJSZWZyZXNoIGV2ZXJ5IHswfSBtaW51dGVzIixjb3VudDplfSxvKDU1NDcyMikpLmZvcm1hdChlKX0KbGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0PGxhYmVsIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0ganMtaW50ZXJ2YWwiPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXJhZGlvIj5cblx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iaW50ZXJ2YWwiIHZhbHVlPSIke2l9IiBjbGFzcz0idHYtY29udHJvbC1yYWRpb19faW5wdXQiPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtcmFkaW9fX2JveCI+PC9zcGFuPlxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1yYWRpb19fbGFiZWwgdHYtc2NyZWVuZXItcG9wdXBfX3JlZnJlc2gtaW50ZXJ2YWwtbGFiZWwiPiR7bn08L3NwYW4+XG5cdFx0XHRcdDwvbGFiZWw+XG5cdFx0XHQ8L2Rpdj5gKS5hcHBlbmRUbyh0aGlzLiRmaWx0ZXJSZWZyZXNoSW50ZXJ2YWxzUG9wdXApfX1zZXRSZWZyZXNoSW50ZXJ2YWxzUG9wdXAoZSl7Y29uc3QgdD10aGlzLnNldFBvcHVwKGUsInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwIiwidHYtc2NyZWVuZXItcG9wdXBfX3JlZnJlc2gtaW50ZXJ2YWxzIik7ZS50b2dnbGVDbGFzcygianMtcHJldmVudC1kcm9wZG93biIsIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSxlLm9uKCJjbGljayIsKCgpPT5ydW5PclNpZ25JbigoKCk9Pnt9KSx7c291cmNlOiJTY3JlZW5lciByZWZyZXNoIG1vZGUgYnV0dG9uIn0pKSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKG51bGwsKCgpPT57ZS50b2dnbGVDbGFzcygianMtcHJldmVudC1kcm9wZG93biIsIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKX0pKTtjb25zdCBvPXQuZmluZCgiLmpzLWNvbnRlbnQiKTt0aGlzLiRmaWx0ZXJSZWZyZXNoSW50ZXJ2YWxzUG9wdXA9byx0aGlzLnVwZGF0ZVJlZnJlc2hJbnRlcnZhbHNQb3B1cENvbnRlbnQoKSx0Lm9uKCJiZWZvcmVPcGVuTWVudSIsKCgpPT57by5maW5kKGBpbnB1dFt2YWx1ZT0ke3RoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbH1dYCkucHJvcCgiY2hlY2tlZCIsITApfSkpLG8ub24oImNsaWNrIiwiLmpzLWludGVydmFsIiwoZT0+e2UucHJldmVudERlZmF1bHQoKTtjb25zdCBpPStsaShlLmN1cnJlbnRUYXJnZXQpLmZpbmQoImlucHV0IikudmFsKCk7c2V0VGltZW91dCgoKCk9PnQudHZEcm9wZG93bigiY2xvc2UiKSksbW8uZHVyLzIpLGkhPT10aGlzLl9tb2RlbC5yZWZyZXNoSW50ZXJ2YWwmJih0aGlzLl9tb2RlbC5pc0Zhc3RSZWZyZXNoPyhvLmZpbmQoYGlucHV0W3ZhbHVlPSR7aX1dYCkucHJvcCgiY2hlY2tlZCIsITApLHRoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbD1pKTpHbygoKCk9PntvLmZpbmQoYGlucHV0W3ZhbHVlPSR7aX1dYCkucHJvcCgiY2hlY2tlZCIsITApLHRoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbD1pfSksWG8uUHJvZHVjdEZlYXR1cmVzRW51bS5TQ1JFRU5FUl9BVVRPX1JFRlJFU0gse2ZlYXR1cmU6InNjcmVlbmVyQXV0b1JlZnJlc2gifSx7dmFsdWU6LTE9PT1pfSksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IGFpKGkpKSl9KSl9c2V0U2VsZWN0SW50ZXJ2YWxDb250ZW50KGUsdCxvPSgpPT57fSl7dC5lbXB0eSgpO2NvbnN0IGk9dGhpcy5fbW9kZWwuc2VsZWN0ZWRJbnRlcnZhbElkO2Zvcihjb25zdCBlIG9mIGxlKWxpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+XG5cdFx0XHRcdDxkaXYgZGF0YS1pbnRlcnZhbD0iJHtlLmlkfSIgdGl0bGU9IiR7ZS50aXRsZX0iIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0ganMtc2VsZWN0LWludGVydmFsICR7ZS5pZD09PWk/InR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIjoiIn0iPlxuXHRcdFx0XHRcdCR7ZS5zaG9ydFRpdGxlfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKHQpO2Uub24oImFmdGVyT3Blbk1lbnUiLCgoKT0+e3Qub24oImNsaWNrIiwiLmpzLXNlbGVjdC1pbnRlcnZhbCIsKGk9PntpLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbj10aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQ7bGV0IHI9ZGUobGkoaS5jdXJyZW50VGFyZ2V0KS5kYXRhKCJpbnRlcnZhbCIpKTtpZighcnx8bj09PXIuaWQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fbW9kZWwuZW9kUmVzdHJpY3Rpb24udmFsdWUoKTtHbygoKCk9PntzIT09V28uTm9uZSYmIjFkIiE9PXIuaWQ/KCgwLElvLm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToic2NyZWVuZXJJbnRlcnZhbHNFb2QifSkscj1kZSgiMWQiKSk6KHQuZmluZCgiLnR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIikucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIiksdC5maW5kKGBbZGF0YS1pbnRlcnZhbD0nJHtyLmlkfSddYCkuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIiksbyhyKSl9KSxYby5Qcm9kdWN0RmVhdHVyZXNFbnVtLlNDUkVFTkVSX0lOVEVSVkFMUyx7ZmVhdHVyZToic2NyZWVuZXJJbnRlcnZhbHMifSx7aW50ZXJ2YWw6ci5pZH0pLHNldFRpbWVvdXQoKCgpPT57ZS50dkRyb3Bkb3duKCJjbG9zZSIpLHQub2ZmKCJjbGljayIpfSksbW8uZHVyLzIpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBKbyhyLmlkKSl9KSl9KSl9fWZ1bmN0aW9uIGhpKGUpe3JldHVybiBibyhlLCEwKX12YXIgdWk9byg1ODcxNjgpLF9pPW8oMTY3NTAyKTtvKDE3MjM3MSksbyg1OTMyNjMpO2NsYXNzIHBpe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ldmVudD0ib3Blbl9maWx0ZXJzX2RpYWxvZyIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy52YWx1ZT0iIix0aGlzLnNvdXJjZT1lLHRoaXMuc3RhdGU9dD4wPyJ3aXRoX2NvdW50ZXIiOiJ3aXRob3V0X2NvdW50ZXIifX1jbGFzcyBtaXtjb25zdHJ1Y3RvcihlKXsKdGhpcy5ldmVudD0iY2hhbmdlX2ZpbHRlcl9kaWFsb2dfdGFiIix0aGlzLnNvdXJjZT0iZmlsdGVyX2RpYWxvZ190YWJfYnV0dG9uIix0aGlzLmxvY2F0aW9uPSJmaWx0ZXJfZGlhbG9nIix0aGlzLnZhbHVlPSIiLHRoaXMuc3RhdGU9ZX19Y2xhc3MgZ2l7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50PSJmaWx0ZXJfZGlhbG9nX3NlYXJjaF9pbnB1dF9jbGljayIsdGhpcy5zb3VyY2U9ImZpbHRlcl9kaWFsb2dfc2VhcmNoX2lucHV0Iix0aGlzLmxvY2F0aW9uPSJmaWx0ZXJfZGlhbG9nIix0aGlzLnN0YXRlPSJ1c2VyX2NsaWNrZWQiLHRoaXMudmFsdWU9IiJ9fWNsYXNzIHZpe2NvbnN0cnVjdG9yKGUpe3RoaXMuZXZlbnQ9ImZpbHRlcl9kaWFsb2dfc2VhcmNoX25vX3Rlcm1zX2ZvdW5kIix0aGlzLnNvdXJjZT0iZmlsdGVyX2RpYWxvZ19zZWFyY2hfaW5wdXQiLHRoaXMubG9jYXRpb249ImZpbHRlcl9kaWFsb2ciLHRoaXMuc3RhdGU9ImVtcHR5X3NlYXJjaF9yZXN1bHQiLHRoaXMudmFsdWU9IiIsdGhpcy52YWx1ZT1lfX1jbGFzcyBmaXtjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJmaWx0ZXJfZGlhbG9nX2FwcGxpZWRfZmlsdGVycyIsdGhpcy5zb3VyY2U9InVua25vd24iLHRoaXMubG9jYXRpb249ImZpbHRlcl9kaWFsb2ciLHRoaXMuc3RhdGU9aWkuVXNlckFjdGlvblN0YXRlLkFwcGx5RmlsdGVycyx0aGlzLnZhbHVlPWV9fWNsYXNzIHlpe2NvbnN0cnVjdG9yKGUsdCxvLGkpe3RoaXMuZXZlbnQ9ImZpbHRlcl91c2UiLHRoaXMudmFsdWU9ZSx0aGlzLnN0YXRlPXQsdGhpcy5zb3VyY2U9byx0aGlzLmxvY2F0aW9uPWl9fWNsYXNzIGJpe2NvbnN0cnVjdG9yKGUpe3RoaXMuZXZlbnQ9ImFwcGx5X2ZsYWdnZWRfZmlsdGVyIix0aGlzLnNvdXJjZT0iZmxhZ2dlZF9tYXJrZXIiLHRoaXMubG9jYXRpb249ImhlYWRlciIsdGhpcy5zdGF0ZT0iZW5hYmxlZCIsdGhpcy52YWx1ZT1lfX12YXIgU2k9byg0ODI1MDQpO2NvbnN0IHdpPXtmaWx0ZXJzU2VhcmNoOmA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1zZWFyY2gganMtc2NyZWVuZXItc2VhcmNoIj5cblx0XHQ8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InR2LXNjcmVlbmVyLXNlYXJjaF9faW5wdXQganMtc2VhcmNoLWlucHV0IiBwbGFjZWhvbGRlcj0iJHtfLnQobnVsbCx2b2lkIDAsbyg1OTg3KSl9Ij5cblx0XHQke28oNzU1MDQxKX1cblx0XHQ8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1zZWFyY2hfX3Jlc2V0IGpzLXNlYXJjaC1yZXNldCI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItc2VhcmNoX19yZXNldC1pY29uIj4ke28oMTQ3MDc4KX08L3NwYW4+XG5cdFx0XHQke18udChudWxsLHZvaWQgMCxvKDgyNjMxNCkpfVxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5gLGZpbHRlcnNCb2R5Oic8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1kaWFsb2cganMtc2NyZWVuZXItZGlhbG9nIj5cblx0XHQ8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1kaWFsb2dfX3dyYXAganMtZmlsdGVycy13cmFwIj48L2Rpdj5cblx0PC9kaXY+J307dmFyIENpPVtfLnQobnVsbCx2b2lkIDAsbygyMzM2OTApKSxfLnQobnVsbCx2b2lkIDAsbyg5OTQwMjUpKSxfLnQobnVsbCx2b2lkIDAsbygzNjkzMjUpKSxfLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxvKDQ3NzQ3NSkpXTtjbGFzcyBraXtjb25zdHJ1Y3RvcihlLHQsbyl7dGhpcy5fbW9kZWw9ZSx0aGlzLl92aWV3PXQsdGhpcy5fYnJpZGdlPW8sdGhpcy5fZGlhbG9nVGl0bGU9InNjcmVlbmVyX2ZpbHRlcnMiLHRoaXMuX2NhdGVnb3JpZXM9bnVsbH1zaG93RmlsdGVyc0RpYWxvZyhlKXtyZXR1cm4gUHJvbWlzZS5hbGwoW28uZSg4NzIzOCksby5lKDMxODM3KSxvLmUoMjA5NzEpLG8uZSg4OTE5NSksby5lKDM3MzkwKSxvLmUoNjQ5OTcpXSkudGhlbihvLmJpbmQobyw2ODY5NzUpKS50aGVuKCgoe2NyZWF0ZVRhYmJlZERpYWxvZzp0fSk9Pnt0aGlzLl9jYXRlZ29yaWVzPXRoaXMuX2dldENhdGVnb3JpZXMoKTtjb25zdCBvPXRoaXMuX2NhdGVnb3JpZXMubWFwKChlPT4oe25hbWU6Q2lbZV19KSkpLHtkaWFsb2c6aSx0YWJzOm59PXQoe3RhYnM6byxhZGRpdGlvbmFsSGVhZGVyQ29udGVudDp3aS5maWx0ZXJzU2VhcmNoLHdpZHRoOk1hdGgubWluKDE0MDAsTWF0aC5tYXgoNjQ2LFNpKHdpbmRvdykud2lkdGgoKS0yMDApKSxoZWlnaHQ6TWF0aC5tYXgoNDUwLFNpKHdpbmRvdykuaGVpZ2h0KCktMjAwKSxjb250ZW50QWRkQ2xhc3M6ImpzLWRpYWxvZy1jb250ZW50IixkcmFnZ2FibGU6ITEsZG9Ob3RDcmVhdGVQYWdlczohMCxkZXN0cm95T25DbG9zZTohMH0pLHI9aS4kY29udGVudC5maW5kKCIuanMtZGlhbG9nLWNvbnRlbnQiKSxzPWkuJGNvbnRlbnQuZmluZCgiLmpzLXNjcmVlbmVyLXNlYXJjaCIpO3RoaXMuJGZpZWxkU2VhcmNoSW5wdXQ9cy5maW5kKCIuanMtc2VhcmNoLWlucHV0IiksdGhpcy4kZmllbGRTZWFyY2hJbnB1dC5vbigiaW5wdXQiLCgwLHVpLmRlZmF1bHQpKChlPT57dGhpcy5fdmlldy51cGRhdGVGaWx0ZXJTZWFyY2goKSxpLnVwZGF0ZVNjcm9sbCgpfSksMTAwLHtsZWFkaW5nOiExLHRyYWlsaW5nOiEwfSkpLHRoaXMuJGZpZWxkU2VhcmNoSW5wdXQub24oImNsaWNrIiwoKCk9PnsoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgZ2kpfSkpO3MuZmluZCgiLmpzLXNlYXJjaC1yZXNldCIpLm9uKCJjbGljayIsKGU9PnRoaXMuX3ZpZXcucmVzZXRBbGxGaWx0ZXJzKCkpKTtjb25zdCBhPSgpPT57Y29uc3QgZT10aGlzLiRmaWx0ZXJzUG9wdXAuZ2V0KDApLmNsaWVudFdpZHRoPj0xMjkyO2UmJiF0aGlzLl8kZmlsdGVyc1dyYXAuaXMoIi5qcy0yY29sIik/dGhpcy5fJGZpbHRlcnNXcmFwLmFkZENsYXNzKCJqcy0yY29sIHR2LXNjcmVlbmVyLWRpYWxvZ19fd3JhcC0tMmNvbCIpOiFlJiZ0aGlzLl8kZmlsdGVyc1dyYXAuaXMoIi5qcy0yY29sIikmJnRoaXMuXyRmaWx0ZXJzV3JhcC5yZW1vdmVDbGFzcygianMtMmNvbCB0di1zY3JlZW5lci1kaWFsb2dfX3dyYXAtLTJjb2wiKX07dGhpcy4kZmlsdGVyc1BvcHVwPVNpKHdpLmZpbHRlcnNCb2R5KSwKdGhpcy5fJGZpbHRlcnNXcmFwPXRoaXMuJGZpbHRlcnNQb3B1cC5maW5kKCIuanMtZmlsdGVycy13cmFwIik7Y29uc3QgbD1bXTt0aGlzLl92aWV3LnNvcnRlZEZpZWxkcy5mb3JFYWNoKChlPT57SXRbZV0mJiFJdFtlXS5kaXNhYmxlZCYmSXRbZV0uY29udHJvbCYmbC5wdXNoKHRoaXMuX3ZpZXcuYWRkRmllbGRGaWx0ZXIoZSx0aGlzLl8kZmlsdGVyc1dyYXApKX0pKSxQcm9taXNlLmFsbChsKS50aGVuKCgoKT0+dGhpcy5fJGZpbHRlcnNXcmFwLmZpbmQoIi5qcy13cmFwIikuZWFjaCgoKGUsdCk9Pnt0aGlzLl92aWV3LmluaXRGaWx0ZXJIYW5kbGVycyhTaSh0KSl9KSkpKSx0aGlzLiRmaWx0ZXJzUG9wdXAuYXBwZW5kVG8ociksZSYmdGhpcy5fbW9kZWwuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5zZXR0aW5nS2V5KyIuZmlsdGVycy50YWIiLDApLG4udGFiQ2hhbmdlZC5zdWJzY3JpYmUobnVsbCwoZT0+e3RoaXMuZmlsdGVyc0RpYWxvZ1RhYkNoYW5nZWQoZSksaS5zY3JvbGxUb1N0YXJ0KCksMCE9PWUmJigwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBtaShlKSl9KSksdGhpcy5fdmlldy4kZmlsdGVyc0J1dHRvbi5hZGRDbGFzcygianMtbm8tcG9pbnRlci1ldmVudHMiKSxpLm9uKCJzY3JvbGwiLCgoKT0+e2kuJGNvbnRlbnQuZmluZCgiLmpzLWRyb3Bkb3duLXRvZ2dsZS5pLW9wZW5lZCIpLnRyaWdnZXIoInJlc2V0UG9zaXRpb24iLG51bGwsci5wYXJlbnQoKSl9KSk7Y29uc3QgYz10aGlzLl9nZXRBY3RpdmVGaWx0ZXJzKCExKS5zb3J0KCk7aS5vbigiZGVzdHJveSIsKGU9Pntjb25zdCB0PXRoaXMuX2dldEFjdGl2ZUZpbHRlcnMoITEpLnNvcnQoKTtmb3IoY29uc3QgZSBpbiBJdCkiY29uZGl0aW9uIj09PUl0W2VdLmNvbnRyb2wmJkl0W2VdLnZhbHVlJiYobXQoSXRbZV0udmFsdWUudmFsdWUpfHxtdChJdFtlXS52YWx1ZS5vcGVyYXRvcikpJiYoSXRbZV0udmFsdWU9bnVsbCk7U2koIi50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKSx0aGlzLiRmaWVsZFNlYXJjaElucHV0LnZhbCgiIiksdGhpcy4kZmlsdGVyc1BvcHVwLnJlbW92ZSgpLGRlbGV0ZSB0aGlzLiRmaWx0ZXJzUG9wdXAsdGhpcy5fdmlldy4kZmlsdGVyc0J1dHRvbi5yZW1vdmVDbGFzcygianMtbm8tcG9pbnRlci1ldmVudHMiKSxkZWxldGUgdGhpcy5fZGlhbG9nLFNpKHdpbmRvdykub2ZmKCJyZXNpemUiLGEpLCgwLF9pLmRlZmF1bHQpKGMsdCl8fCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBmaSh0LmpvaW4oIiwgIikpKX0pKSx0aGlzLl9tb2RlbC50cmFja0V2ZW50KCJPcGVuIGZpbHRlcnMgZGlhbG9nIiksaS5vcGVuKCksU2kod2luZG93KS5vbigicmVzaXplIixhKSxhKCksdGhpcy4kZGlhbG9nQ29udGFpbmVyPWkuJGNvbnRlbnQsdGhpcy5fZGlhbG9nPWl9KSl9ZmlsdGVyc0RpYWxvZ1RhYkNoYW5nZWQoZSl7Y29uc3QgdD10aGlzLl9jYXRlZ29yaWVzLm1hcCgoZT0+InR2LXNjcmVlbmVyLWRpYWxvZy0tY2F0IitlKSkuam9pbigiICIpO3RoaXMuJGZpbHRlcnNQb3B1cC5yZW1vdmVDbGFzcyh0KS5hZGRDbGFzcygidHYtc2NyZWVuZXItZGlhbG9nLS1jYXQiK3RoaXMuX2NhdGVnb3JpZXNbZV0pLnNjcm9sbFRvcCgwKX1kZXN0cm95KCl7dGhpcy5fZGlhbG9nJiYodGhpcy5fZGlhbG9nLmNsb3NlKCksZGVsZXRlIHRoaXMuX2RpYWxvZyl9X2dldENhdGVnb3JpZXMoKXtjb25zdCBlPVswXTtyZXR1cm4gdGhpcy5fdmlldy5zb3J0ZWRGaWVsZHMuZm9yRWFjaCgodD0+e0l0W3RdJiYhSXRbdF0uZGlzYWJsZWQmJkl0W3RdLmNvbnRyb2wmJihlLmluY2x1ZGVzKEl0W3RdLmNhdGVnb3J5KXx8ZS5wdXNoKEl0W3RdLmNhdGVnb3J5KSl9KSksZS5zb3J0KCl9X2dldERlZmF1bHRGaWx0ZXJzRm9yQ3VycmVudEZpbHRlclNldCgpe2NvbnN0e2RlZmF1bHRGaWx0ZXJTZXRzOmV9PXRoaXMuX21vZGVsLHQ9dGhpcy5fbW9kZWwuY3VycmVudEZpbHRlclNldElkKCk7cmV0dXJuIE9iamVjdC52YWx1ZXMoZSkuZmlsdGVyKChlPT5lLmlkPT09dCkpWzBdLmNvbnRlbnQuZmlsdGVyc31fZmllbGRWYWx1ZUlzRXF1YWxUb0RlZmF1bHRGaWx0ZXIoZSl7Y29uc3QgdD10aGlzLl9nZXREZWZhdWx0RmlsdGVyc0ZvckN1cnJlbnRGaWx0ZXJTZXQoKVtlXSxvPUl0W2VdLnZhbHVlO3N3aXRjaChJdFtlXS5jb250cm9sKXtjYXNlImNvbmRpdGlvbiI6cmV0dXJuIG8ub3BlcmF0b3I9PT10Lm9wZXJhdG9yJiZvLnZhbHVlLnRvU3RyaW5nKCk9PT10LnZhbHVlLnRvU3RyaW5nKCk7Y2FzZSJyYW5nZSI6Y2FzZSJzZWxlY3QiOnJldHVybiBvLnNvcnQoKS50b1N0cmluZygpPT09dC5zb3J0KCkudG9TdHJpbmcoKTtkZWZhdWx0OnJldHVybiBJdFtlXS52YWx1ZT09PW99fV9nZXRBY3RpdmVGaWx0ZXJzKGU9ITApe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG8gaW4gSXQpaWYoSXRbb10udmFsdWUpe2lmKCJjb25kaXRpb24iPT09SXRbb10uY29udHJvbCYmKG10KEl0W29dLnZhbHVlLm9wZXJhdG9yKXx8bXQoSXRbb10udmFsdWUudmFsdWUpKSljb250aW51ZTtlP3QucHVzaChLdChJdFtvXSkpOnQucHVzaChvKX1yZXR1cm4gdH19dmFyIFRpPW8oMTg5ODYzKSxFaT1vKDY0MTU5Myk7Y2xhc3MgeGl7Y29uc3RydWN0b3IoKXt0aGlzLl9oYW5kbGVycz1bXX1yZWdpc3RlckhhbmRsZXJzKGUpe3RoaXMuX2hhbmRsZXJzLnB1c2goZSl9YmVmb3JlQXBwZW5kU3ltYm9sKGUsdCl7dGhpcy5faGFuZGxlcnMuZm9yRWFjaCgobz0+e28uYmVmb3JlQXBwZW5kU3ltYm9sJiZvLmJlZm9yZUFwcGVuZFN5bWJvbChlLHQpfSkpfWJlZm9yZUFwcGVuZENvbnRleHRNZW51SXRlbXMoZSl7cmV0dXJuIHRoaXMuX2hhbmRsZXJzLnJlZHVjZSgoKHQsbyk9Pm8uYmVmb3JlQXBwZW5kQ29udGV4dE1lbnVJdGVtcz90LmNvbmNhdChvLmJlZm9yZUFwcGVuZENvbnRleHRNZW51SXRlbXMoZSkpOnQpLFtdKX1hZnRlclN5bWJvbENvbmZpcm0oZSx0KXt0aGlzLl9oYW5kbGVycy5mb3JFYWNoKChvPT57by5hZnRlclN5bWJvbENvbmZpcm0mJm8uYWZ0ZXJTeW1ib2xDb25maXJtKGUsdCl9KSl9CmJlZm9yZUFwcGVuZFN5bWJvbHNIZWFkZXIoZSl7dGhpcy5faGFuZGxlcnMuZm9yRWFjaCgodD0+e3QuYmVmb3JlQXBwZW5kU3ltYm9sc0hlYWRlciYmdC5iZWZvcmVBcHBlbmRTeW1ib2xzSGVhZGVyKGUpfSkpfX12YXIgQWk9byg4MzQxODgpLE1pPW8oMTc5NzcxKSxJaT1vKDIxNDk4Nyk7Y2xhc3MgUml7Y29uc3RydWN0b3IoKXt0aGlzLl9yZXRyaWVzPTUsdGhpcy5fY2FjaGU9bnVsbCx0aGlzLl90cnlMb2FkPShlLHQpPT57dGhpcy5fcmV0cmllcz10aGlzLl9yZXRyaWVzLTE7dGhpcy5fc3RhcnRMb2FkaW5nKGUpLnRoZW4odCwwIT09dGhpcy5fcmV0cmllcz9vPT57KDAsSWkuaXNBYm9ydEVycm9yKShvKXx8c2V0VGltZW91dCgoKCk9PnRoaXMuX3RyeUxvYWQoZSx0KSksM2UzKX06dm9pZCAwKX19bG9hZChlKXtyZXR1cm4gdGhpcy5fY2FjaGV8fCh0aGlzLl9jYWNoZT1uZXcgUHJvbWlzZSh0aGlzLl90cnlMb2FkLmJpbmQodGhpcyxlPz9udWxsKSkpLHRoaXMuX2NhY2hlfX1jbGFzcyBGaSBleHRlbmRzIFJpe19zdGFydExvYWRpbmcoKXtyZXR1cm4gUHJvbWlzZS5hbGwoW28uZSg3MjE0MSksby5lKDg1NjUyKV0pLnRoZW4oby5iaW5kKG8sNjAwNzc5KSkudGhlbigoZT0+ZS5IYW1tZXJKUykpfX12YXIgTGk9byg3Nzk0NzQpLERpPW8oMTI5MzY1KSxPaT1vKDkxNDQ4NyksTmk9by5uKE9pKSxQaT1vKDMwOTkyMCksQmk9bygxNTQ2MjMpLCRpPW8oMTI4MzIpLFdpPW8oMTUzNzcpO2Z1bmN0aW9uIHFpKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZS5tb2Rlcyksbz1PYmplY3QudmFsdWVzKGUubW9kZXMpLFtpLG5dPUxpLnVzZVN0YXRlKHRbMF0pO3JldHVybiBMaS5jcmVhdGVFbGVtZW50KFBpLkN1c3RvbUJlaGF2aW91ckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZT9CaS5wcmVzZXRQbGF0Zm9ybTpCaS5wcmVzZXREZWZhdWx0fSxMaS5jcmVhdGVFbGVtZW50KFZpLHtpc0FjdGl2ZTppPT09dFswXSx0aXRsZTpvWzBdfSksTGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpXaS5zd2l0Y2hlckNvbnRhaW5lcn0sTGkuY3JlYXRlRWxlbWVudCgkaS5Td2l0Y2gse29uQ2hhbmdlOmZ1bmN0aW9uKG8pe2NvbnN0IGk9by5jdXJyZW50VGFyZ2V0LmNoZWNrZWQ/dFsxXTp0WzBdO24oaSksZS5vbkNoYW5nZShpKX0sY2hlY2tlZDppPT09dFsxXX0pKSxMaS5jcmVhdGVFbGVtZW50KFZpLHtpc0FjdGl2ZTppPT09dFsxXSx0aXRsZTpvWzFdfSkpfWZ1bmN0aW9uIFZpKGUpe3JldHVybiBMaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOk5pKCkoV2kubW9kZVRpdGxlLGUuaXNBY3RpdmUmJldpLm1vZGVUaXRsZUFjdGl2ZSl9LGUudGl0bGUpfXZhciBIaT1vKDY4MDI1KSxVaT1vKDU3MjI0OSksemk9byg3MTk0MjUpO2Z1bmN0aW9uIGppKGUpe2NvbnN0e2NoaWxkcmVuOnQsb25SZXNpemU6b309ZTtyZXR1cm4gdCgoMCx6aS51c2VSZXNpemVPYnNlcnZlcikob3x8KCgpPT57fSksW251bGw9PT1vXSkpfXZhciBHaT1vKDk2NDU5NCksWGk9bygxOTYyMSk7Y2xhc3MgS2kgZXh0ZW5kcyBMaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpfXJlbmRlcigpe3JldHVybiBMaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dGhpcy5wcm9wcy5jbGFzc05hbWUsb25DbGljazp0aGlzLnByb3BzLm9uQ2xpY2sscmVmOnRoaXMucHJvcHMucmVmZXJlbmNlfSx0aGlzLnByb3BzLmNoaWxkcmVuKX19Y2xhc3MgWWkgZXh0ZW5kcyBMaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2hhbmRsZVJlc2l6ZT0oW2VdKT0+e3RoaXMucHJvcHMub25NZWFzdXJlPy4oZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpfX1yZW5kZXIoKXtjb25zdHt0aGVtZTplPVhpfT10aGlzLnByb3BzLHQ9TmkoKShlLmxpc3Qse1t0aGlzLnByb3BzLmNsYXNzTmFtZV06Qm9vbGVhbih0aGlzLnByb3BzLmNsYXNzTmFtZSl9KSx7Zm9udFNpemU6bz0xM309dGhpcy5wcm9wcyxpPXtib3R0b206dGhpcy5wcm9wcy5ib3R0b20sZm9udFNpemU6byxsZWZ0OnRoaXMucHJvcHMubGVmdCxoZWlnaHQ6dGhpcy5wcm9wcy5oZWlnaHR8fCJhdXRvIixyaWdodDp0aGlzLnByb3BzLnJpZ2h0LHRvcDp0aGlzLnByb3BzLnRvcCx3aWR0aDp0aGlzLnByb3BzLndpZHRoLHpJbmRleDp0aGlzLnByb3BzLnpJbmRleH07cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQoamkse29uUmVzaXplOkJvb2xlYW4odGhpcy5wcm9wcy5vbk1lYXN1cmUpP3RoaXMuX2hhbmRsZVJlc2l6ZTpudWxsfSwoZT0+TGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnQsc3R5bGU6aSxyZWY6KDAsR2kubWVyZ2VSZWZzKShbdGhpcy5wcm9wcy5yZWZlcmVuY2UsZV0pfSx0aGlzLl93cmFwSXRlbXModGhpcy5wcm9wcy5pdGVtcyx0aGlzLnByb3BzLnNlbGVjdGVkKSkpKX1jb21wb25lbnREaWRNb3VudCgpe2lmKHZvaWQgMCE9PXRoaXMucHJvcHMuc2VsZWN0ZWQmJnRoaXMucHJvcHMuc2hvdWxkU2Nyb2xsSWZOb3RWaXNpYmxlKXtjb25zdCBlPXRoaXMuX2l0ZW1zW3RoaXMucHJvcHMuc2VsZWN0ZWRdO2UmJnRoaXMuX3Njcm9sbFRvSXRlbShlKX19Y29tcG9uZW50RGlkVXBkYXRlKCl7aWYodm9pZCAwIT09dGhpcy5wcm9wcy5zZWxlY3RlZCYmdGhpcy5wcm9wcy5zaG91bGRTY3JvbGxJZk5vdFZpc2libGUpe2NvbnN0IGU9dGhpcy5faXRlbXNbdGhpcy5wcm9wcy5zZWxlY3RlZF07ZSYmdGhpcy5fc2Nyb2xsVG9JdGVtKGUpfX1fd3JhcEl0ZW1zKGU9W10sdCl7dGhpcy5faXRlbXM9W107Y29uc3R7aXRlbVdyYXA6bz1LaSx0aGVtZTppPVhpfT10aGlzLnByb3BzLG49bztyZXR1cm4gZS5tYXAoKChlLG8pPT57Y29uc3Qgcj1OaSgpKGkuaXRlbSx7W3RoaXMucHJvcHMuaXRlbXNDbGFzc05hbWVdOkJvb2xlYW4odGhpcy5wcm9wcy5pdGVtc0NsYXNzTmFtZSksW3RoaXMucHJvcHMuc2VsZWN0ZWRDbGFzc05hbWVdOnQ9PT1vfSk7cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQobix7cmVmZXJlbmNlOnQ9Pnt0JiZ0aGlzLl9pdGVtcy5wdXNoKHtlbGVtOnQsaW5kZXg6bywKdmFsdWU6ZX0pfSxrZXk6byxvbkNsaWNrOigpPT50aGlzLl9vblNlbGVjdChvKSxjbGFzc05hbWU6cn0sZS5lbGVtKX0pKX1fb25TZWxlY3QoZSl7dGhpcy5wcm9wcy5vblNlbGVjdCYmdGhpcy5wcm9wcy5vblNlbGVjdChlLHRoaXMuX2l0ZW1zW2VdLnZhbHVlKX1fc2Nyb2xsVG9JdGVtKGUpe2UuZWxlbS5zY3JvbGxJbnRvVmlldyh7YmxvY2s6ImNlbnRlciJ9KX19WWkuZGVmYXVsdFByb3BzPXtzaG91bGRTY3JvbGxJZk5vdFZpc2libGU6ITB9O3ZhciBKaT1vKDM4NDM3MCksWmk9byg2NTk4NzgpO2NsYXNzIFFpIGV4dGVuZHMgTGkuUHVyZUNvbXBvbmVudHtyZW5kZXIoKXtjb25zdCBlPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDp0aGlzLnByb3BzLnRvcCx3aWR0aDp0aGlzLnByb3BzLndpZHRoLGhlaWdodDp0aGlzLnByb3BzLmhlaWdodCxib3R0b206dGhpcy5wcm9wcy5ib3R0b20scmlnaHQ6dGhpcy5wcm9wcy5yaWdodCxsZWZ0OnRoaXMucHJvcHMubGVmdCx6SW5kZXg6dGhpcy5wcm9wcy56SW5kZXh9O3JldHVybiBMaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dGhpcy5wcm9wcy5jbGFzc05hbWUsc3R5bGU6ZSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9LHRoaXMucHJvcHMuY2hpbGRyZW4pfX1RaS5kaXNwbGF5TmFtZT0iRHJvcGRvd24gQ29udGFpbmVyIjtjb25zdCBlbj0oMCxaaS5tYWtlT3ZlcmxhcGFibGUpKCgwLEppLm1ha2VBdHRhY2hhYmxlKShRaSkpO3ZhciB0bixvbj1vKDEyMTY0NSk7IWZ1bmN0aW9uKGUpe2UuVG9wPSJ0b3AiLGUuQm90dG9tPSJib3R0b20ifSh0bnx8KHRuPXt9KSk7Y2xhc3Mgbm4gZXh0ZW5kcyBMaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9zZXRDb250YWluZXJSZWY9ZT0+eyJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLnJlZmVyZW5jZSYmdGhpcy5wcm9wcy5yZWZlcmVuY2UoZSksIm9iamVjdCI9PXR5cGVvZiB0aGlzLnByb3BzLnJlZmVyZW5jZSYmKHRoaXMucHJvcHMucmVmZXJlbmNlLmN1cnJlbnQ9ZSksdGhpcy5fY29udGFpbmVyPWV9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUmJnRoaXMuX2FkZFBhc3NpdmVMaXN0ZW5lck9uV2hlZWwodGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUpfWNvbXBvbmVudERpZFVwZGF0ZShlKXt0aGlzLnByb3BzLm9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZSE9PWUub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlJiZ0aGlzLl91cGRhdGVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMucHJvcHMub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlJiZ0aGlzLl9yZW1vdmVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKHRoaXMucHJvcHMub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlKX1yZW5kZXIoKXtjb25zdHtzaGFkb3c6ZT0iYm90dG9tIixjaGlsZHJlbjp0LGNsYXNzTmFtZTpvfT10aGlzLnByb3BzLGk9TmkoKShvbi5jb250YWluZXIsb25bZV0sbyksbj17bWF4SGVpZ2h0OnRoaXMucHJvcHMubWF4SGVpZ2h0fTtyZXR1cm4gTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOnRoaXMuX3NldENvbnRhaW5lclJlZixzdHlsZTpuLGNsYXNzTmFtZTppLG9uVG91Y2hTdGFydDp0aGlzLnByb3BzLm9uRHJvcGRvd25Ub3VjaFN0YXJ0LG9uVG91Y2hNb3ZlOnRoaXMucHJvcHMub25Ecm9wZG93blRvdWNoTW92ZSxvblRvdWNoRW5kOnRoaXMucHJvcHMub25Ecm9wZG93blRvdWNoRW5kLG9uV2hlZWw6dGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWx9LHQpfV91cGRhdGVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUpe2UmJnRoaXMuX3JlbW92ZVBhc3NpdmVMaXN0ZW5lck9uV2hlZWwoZSksdGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUmJnRoaXMuX2FkZFBhc3NpdmVMaXN0ZW5lck9uV2hlZWwodGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUpfV9hZGRQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUpeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyKS5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsZSx7cGFzc2l2ZTohMX0pfV9yZW1vdmVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUpeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyKS5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsZSl9fXZhciBybj1vKDg2ODExMCk7Y29uc3Qgc249KGFuPVlpLChsbj1jbGFzcyBleHRlbmRzIExpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5faXRlbXM9dGhpcy5wcm9wcy5pdGVtc31jb21wb25lbnREaWRVcGRhdGUoZSl7aWYoZS5jb21tYW5kIT09dGhpcy5wcm9wcy5jb21tYW5kJiZ0aGlzLnByb3BzLmNvbW1hbmQpc3dpdGNoKHRoaXMucHJvcHMuY29tbWFuZC5uYW1lKXtjYXNlIm5leHQiOnRoaXMuX25leHQoKTticmVhaztjYXNlInByZXYiOnRoaXMuX3ByZXYoKX1lLml0ZW1zIT09dGhpcy5wcm9wcy5pdGVtcyYmKHRoaXMuX2l0ZW1zPXRoaXMucHJvcHMuaXRlbXMpfXJlbmRlcigpe3JldHVybiBMaS5jcmVhdGVFbGVtZW50KGFuLHsuLi50aGlzLnByb3BzfSx0aGlzLnByb3BzLmNoaWxkcmVuKX1fbmV4dCgpe2NvbnN0e3NlbGVjdGVkOmU9LTF9PXRoaXMucHJvcHMsdD1lKzE7dGhpcy5faXRlbXMubGVuZ3RoLTE+PXQ/dGhpcy5fbmF2aWdhdGVUbyh0KTp0aGlzLl9uYXZpZ2F0ZVRvKDApfV9wcmV2KCl7Y29uc3R7c2VsZWN0ZWQ6ZT0tMX09dGhpcy5wcm9wcyx0PWUtMSxvPXRoaXMuX2l0ZW1zLmxlbmd0aC0xOzA8PXQ/dGhpcy5fbmF2aWdhdGVUbyh0KTp0aGlzLl9uYXZpZ2F0ZVRvKG8pfV9uYXZpZ2F0ZVRvKGUpe3RoaXMucHJvcHMub25OYXZpZ2F0ZSYmdGhpcy5wcm9wcy5vbk5hdmlnYXRlKGUsdGhpcy5faXRlbXNbZV0pfX0pLmRpc3BsYXlOYW1lPSJOYXZpZ2F0ZWFibGUgQ29tcG9uZW50Iixsbik7dmFyIGFuLGxuO2NvbnN0IGNuPSgwLHJuLm1ha2VBbmNob3JhYmxlKShlbiksZG49ewp0b3A6InRvcCIsYm90dG9tOiJib3R0b20iLHRvcFJpZ2h0OiJ0b3AifTtjbGFzcyBobiBleHRlbmRzIExpLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7YW5jaG9yOmU9ImJvdHRvbSIsZm9udFNpemU6dD0xNCxyb290Om89InBhcmVudCJ9PXRoaXMucHJvcHMsaT1OaSgpKFVpLmxpc3QsVWlbZV0pLHtkcm9wZG93bkNsYXNzTmFtZTpuLGhlaWdodDpyLC4uLnN9PXRoaXMucHJvcHM7cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQoY24sey4uLnMsY2xhc3NOYW1lOm4scm9vdDpvfSxMaS5jcmVhdGVFbGVtZW50KG5uLHtjbGFzc05hbWU6dGhpcy5wcm9wcy5kcm9wZG93bkNvbnRhaW5lckNsYXNzTmFtZSxzaGFkb3c6ZG5bZV0sbWF4SGVpZ2h0OnRoaXMucHJvcHMubWF4SGVpZ2h0LG9uRHJvcGRvd25Ub3VjaFN0YXJ0OnRoaXMucHJvcHMub25Ecm9wZG93blRvdWNoU3RhcnQ/dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hTdGFydDp2b2lkIDAsb25Ecm9wZG93blRvdWNoTW92ZTp0aGlzLnByb3BzLm9uRHJvcGRvd25Ub3VjaE1vdmU/dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hNb3ZlOnZvaWQgMCxvbkRyb3Bkb3duVG91Y2hFbmQ6dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hFbmQ/dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hFbmQ6dm9pZCAwLG9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZTp0aGlzLnByb3BzLm9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZT90aGlzLnByb3BzLm9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZTp2b2lkIDB9LExpLmNyZWF0ZUVsZW1lbnQoc24sey4uLnMsd2lkdGg6dGhpcy5wcm9wcy53aWR0aCxoZWlnaHQ6cixjbGFzc05hbWU6dGhpcy5wcm9wcy5jbGFzc05hbWV8fGksaXRlbXNDbGFzc05hbWU6dGhpcy5wcm9wcy5pdGVtc0NsYXNzTmFtZXx8VWkuaXRlbSxzZWxlY3RlZENsYXNzTmFtZTp0aGlzLnByb3BzLnNlbGVjdGVkQ2xhc3NOYW1lfHxVaS5zZWxlY3RlZCxmb250U2l6ZTp0LHJlZmVyZW5jZTp0aGlzLnByb3BzLnJlZmVyZW5jZX0pKSl9fXZhciB1bj1vKDI3MzMxMCksX249byg3MTg1NTMpO2Z1bmN0aW9uIHBuKGUpe2NvbnN0e2NoaWxkcmVuOnQsY2xhc3NOYW1lOm8sb25SZXNpemU6aSxvbkNsaWNrOm59PWUscj0oMCx6aS51c2VSZXNpemVPYnNlcnZlcikoKChbZV0pPT57aShlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9KSk7cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpyLGNsYXNzTmFtZTpvLG9uQ2xpY2s6bn0sdCl9dmFyIG1uPW8oOTg3MDc2KTtjbGFzcyBnbiBleHRlbmRzIExpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fZ2V0RHJvcGRvd25IZWlnaHQ9KCk9PntpZighdGhpcy5fZHJvcGRvd25QYXJlbnQpcmV0dXJuO2NvbnN0IGU9d2luZG93LmlubmVySGVpZ2h0LXRoaXMuX2Ryb3Bkb3duUGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbS0yMDtyZXR1cm4gZSYmZTw1MD92b2lkIDA6ZX0sdGhpcy5fZ2V0Rmlyc3RIaWRkZW5JdGVtSW5kZXg9KCk9PntsZXQgZTtpZih0aGlzLnN0YXRlLmF2YWlsYWJsZVdpZHRoJiYhdGhpcy5faXRlbVNpemVzLmluY2x1ZGVzKG51bGwpKXtsZXQgdD0wO2ZvcihlPTA7ZTx0aGlzLnByb3BzLml0ZW1zLmxlbmd0aDtlKyspe2NvbnN0IG89dCsodGhpcy5faXRlbVNpemVzW2VdfHwwKTtpZighKChlPT09dGhpcy5wcm9wcy5pdGVtcy5sZW5ndGgtMT9vOm8rNDEpPHRoaXMuc3RhdGUuYXZhaWxhYmxlV2lkdGgpKWJyZWFrO3Q9b319ZWxzZSBlPXRoaXMuc3RhdGUuYXZhaWxhYmxlV2lkdGg/dGhpcy5wcm9wcy5pdGVtcy5sZW5ndGg6MDtyZXR1cm4gZX0sdGhpcy5fb25FbGVtZW50UmVzaXplPShbZV0pPT57dGhpcy5zZXRTdGF0ZSh7YXZhaWxhYmxlV2lkdGg6ZS5jb250ZW50UmVjdC53aWR0aCxpc09wZW5lZDohMX0pfSx0aGlzLl9vblNlbGVjdD1lPT57dGhpcy5wcm9wcy5vblNlbGVjdCYmdGhpcy5wcm9wcy5vblNlbGVjdChlKSx0aGlzLnNldFN0YXRlKHthY3RpdmVJdGVtOmUsaXNPcGVuZWQ6ITF9KX0sdGhpcy5fb25Ecm9wZG93blNlbGVjdD0oZSx0KT0+e3RoaXMucHJvcHMub25TZWxlY3QmJnRoaXMucHJvcHMub25TZWxlY3QodC5hY3R1YWxJbmRleCksdGhpcy5zZXRTdGF0ZSh7YWN0aXZlSXRlbTp0LmFjdHVhbEluZGV4LGlzT3BlbmVkOiExfSl9LHRoaXMuX29uT3V0c2lkZUNsaWNrPWU9Pnt0aGlzLnN0YXRlLmlzT3BlbmVkJiYodGhpcy5zdGF0ZS5pc09wZW5lZCYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKSx0aGlzLnNldFN0YXRlKHtpc09wZW5lZDohMX0pKX0sdGhpcy5fb25Ecm9wZG93bkl0ZW1DbGljaz0oKT0+e3RoaXMuc2V0U3RhdGUoe2lzT3BlbmVkOiF0aGlzLnN0YXRlLmlzT3BlbmVkfSl9LHRoaXMuX29uSXRlbVJlc2l6ZT0oZSx0KT0+e3RoaXMuX2l0ZW1TaXplc1tlXT10LndpZHRoLHRoaXMuX2l0ZW1TaXplcy5pbmNsdWRlcyhudWxsKXx8dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9pdGVtU2l6ZXM9dGhpcy5wcm9wcy5pdGVtcy5tYXAoKGU9Pm51bGwpKSx0aGlzLnN0YXRlPXthdmFpbGFibGVXaWR0aDowLGFjdGl2ZUl0ZW06dGhpcy5wcm9wcy5hY3RpdmVJdGVtfHwwLGlzT3BlbmVkOiExfX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX2dldEZpcnN0SGlkZGVuSXRlbUluZGV4KCksdD10aGlzLnByb3BzLml0ZW1zLnNsaWNlKDAsZSksbz10aGlzLnByb3BzLml0ZW1zLnNsaWNlKGUpLGk9dC5tYXAoKChlLHQpPT57Y29uc3Qgbz10aGlzLnN0YXRlLmFjdGl2ZUl0ZW09PT10LGk9TmkoKShIaS5pdGVtQ29udGVudCx7W0hpLmFjdGl2ZV06b30pO3JldHVybiBMaS5jcmVhdGVFbGVtZW50KHBuLHtrZXk6ZS50aXRsZSxjbGFzc05hbWU6TmkoKShIaS5pdGVtLHtbSGkuYWN0aXZlXTpvfSksb25DbGljazp0aGlzLl9vblNlbGVjdC5iaW5kKHRoaXMsdCksb25SZXNpemU6dGhpcy5fb25JdGVtUmVzaXplLmJpbmQodGhpcyx0KX0sTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOml9LGUudGl0bGUpKX0pKSxuPW8ubWFwKCgoZSxvKT0+KHtlbGVtOmUudGl0bGUsCmFjdHVhbEluZGV4Om8rdC5sZW5ndGh9KSkpLHI9dGhpcy5zdGF0ZS5hY3RpdmVJdGVtLWUscz1yPj0wLGE9TGkuY3JlYXRlRWxlbWVudChfbi5PdXRzaWRlRXZlbnQse2hhbmRsZXI6dGhpcy5fb25PdXRzaWRlQ2xpY2ssY2xpY2s6ITB9LChlPT5MaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6ZT0+ZSYmKHRoaXMuX2Ryb3Bkb3duUGFyZW50PURpLmZpbmRET01Ob2RlKGUpKX0sTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOk5pKCkoSGkuaXRlbSx7W0hpLmFjdGl2ZV06c30pLHJlZjplLG9uQ2xpY2s6dGhpcy5fb25Ecm9wZG93bkl0ZW1DbGlja30sTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOk5pKCkoSGkuaXRlbUNvbnRlbnQsSGkuZHJvcGRvd25JdGVtLHtbSGkuYWN0aXZlXTpzfSl9LExpLmNyZWF0ZUVsZW1lbnQodW4uSWNvbix7Y2xhc3NOYW1lOk5pKCkoSGkuZHJvcGRvd25JY29uLHtbSGkuYWN0aXZlXTp0aGlzLnN0YXRlLmlzT3BlbmVkfSksaWNvbjptbn0pLExpLmNyZWF0ZUVsZW1lbnQoaG4se2lzT3BlbmVkOnRoaXMuc3RhdGUuaXNPcGVuZWQsaXRlbXM6bixzZWxlY3RlZDpzP3I6dm9pZCAwLG9uU2VsZWN0OnRoaXMuX29uRHJvcGRvd25TZWxlY3QsdG9wOjI3LHJpZ2h0OjAsaXRlbXNDbGFzc05hbWU6TmkoKShVaS5ibHVpc2hJdGVtLEhpLmRyb3Bkb3duTGlzdEl0ZW0pLHNlbGVjdGVkQ2xhc3NOYW1lOnRoaXMucHJvcHMuc2VsZWN0ZWRJdGVtQ2xhc3NOYW1lLG1heEhlaWdodDp0aGlzLl9nZXREcm9wZG93bkhlaWdodCgpfSkpKSkpKTtyZXR1cm4gTGkuY3JlYXRlRWxlbWVudChqaSx7b25SZXNpemU6dGhpcy5fb25FbGVtZW50UmVzaXplfSwoZT0+TGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOk5pKCkoSGkuZWxlbWVudFdyYXAsdGhpcy5wcm9wcy5jbGFzc05hbWUpLHJlZjplfSxMaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6SGkuaXRlbXNXcmFwfSxpLG8ubGVuZ3RoP2E6dm9pZCAwKSkpKX19ZnVuY3Rpb24gdm4oZSx0KXtEaS5yZW5kZXIoTGkuY3JlYXRlRWxlbWVudChnbix7Li4udH0pLGUpfXZhciBmbj1vKDY1NDYzNikseW49byg2NjcxMzIpO2NsYXNzIGJue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ldmVudD0iY2hhbmdlX2ZvcmV4X2dyb3VwIix0aGlzLnNvdXJjZT0iZm9yZXhfZ3JvdXBfc2VsZWN0b3IiLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMuc3RhdGU9ZSx0aGlzLnZhbHVlPXR9fXZhciBTbj1vKDM4OTg0NCk7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIFByb21pc2UuYWxsKFtvLmUoOTIyOTMpLG8uZSgyOTI5Niksby5lKDUyMzk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgxMjM4NSksby5lKDk0OTQ4KSxvLmUoMTAzODUpLG8uZSg1MjA2NSksby5lKDY2MDUpLG8uZSgzMjc0OCksby5lKDMyMTc2KSxvLmUoODg2NDEpLG8uZSg1NjIxMyksby5lKDUwMDM1KSxvLmUoNjQ1KSxvLmUoNTEzMTUpLG8uZSgyODQxMyksby5lKDM5NjA5KSxvLmUoNzI2NzQpLG8uZSg2NzMwMyldKS50aGVuKG8uYmluZChvLDYzODgyMikpLnRoZW4oKHQ9PnQuc2hvd1NjcmVlbmVyTWFya2V0RGlhbG9nKGUpKSl9Y29uc3QgQ249bmV3IFNldChbImRwc19jb21tb25fc3RvY2tfcHJpbV9pc3N1ZV95b3lfZ3Jvd3RoX2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfcW9xX2dyb3d0aF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3lveV9ncm93dGhfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZGlsdXRlZF95b3lfZ3Jvd3RoX2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF90dG0iLCJlYml0ZGFfcW9xX2dyb3d0aF9mcSIsImViaXRkYV95b3lfZ3Jvd3RoX2ZxIiwiZWJpdGRhX3lveV9ncm93dGhfZnkiLCJlYml0ZGFfeW95X2dyb3d0aF90dG0iLCJmcmVlX2Nhc2hfZmxvd19tYXJnaW5fZnkiLCJmcmVlX2Nhc2hfZmxvd19tYXJnaW5fdHRtIiwiZnJlZV9jYXNoX2Zsb3dfcW9xX2dyb3d0aF9mcSIsImZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfZnEiLCJmcmVlX2Nhc2hfZmxvd195b3lfZ3Jvd3RoX2Z5IiwiZnJlZV9jYXNoX2Zsb3dfeW95X2dyb3d0aF90dG0iLCJncm9zc19wcm9maXRfbWFyZ2luX2Z5IiwiZ3Jvc3NfcHJvZml0X3FvcV9ncm93dGhfZnEiLCJncm9zc19wcm9maXRfeW95X2dyb3d0aF9mcSIsImdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX2Z5IiwiZ3Jvc3NfcHJvZml0X3lveV9ncm93dGhfdHRtIiwibmV0X2luY29tZV9iZWZfZGlzY19vcGVyX21hcmdpbl9meSIsIm5ldF9pbmNvbWVfcW9xX2dyb3d0aF9mcSIsIm5ldF9pbmNvbWVfeW95X2dyb3d0aF9mcSIsIm5ldF9pbmNvbWVfeW95X2dyb3d0aF9meSIsIm5ldF9pbmNvbWVfeW95X2dyb3d0aF90dG0iLCJvcGVyX2luY29tZV9tYXJnaW5fZnkiLCJ0b3RhbF9hc3NldHNfcW9xX2dyb3d0aF9mcSIsInRvdGFsX2Fzc2V0c195b3lfZ3Jvd3RoX2ZxIiwidG90YWxfYXNzZXRzX3lveV9ncm93dGhfZnkiLCJ0b3RhbF9kZWJ0X3FvcV9ncm93dGhfZnEiLCJ0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnEiLCJ0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnkiLCJ0b3RhbF9yZXZlbnVlX3FvcV9ncm93dGhfZnEiLCJ0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnEiLCJ0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnkiLCJ0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfdHRtIl0pO2Z1bmN0aW9uIGtuKGUsdCl7cmV0dXJuISF0LnRpdGxlJiYodC50aXRsZS50b0xvd2VyQ2FzZSgpIT09dC5zaG9ydFRpdGxlPy50b0xvd2VyQ2FzZSgpfHxmdW5jdGlvbihlKXtyZXR1cm4gQ24uaGFzKGUpfShlKSl9Y29uc3QgVG49KEVuPUYoInN0b2NrIiksT2JqZWN0LmVudHJpZXMoRW4pLm1hcCgoKFtlLHRdKT0+e2NvbnN0IG89dC5ncm91cDtyZXR1cm57ZmxhZzp0LmZsYWcsZ2V0IG5hbWUoKXtyZXR1cm4gdC50aXRsZX0sZGVzYzp0LnN0b2Nrcy5qb2luKCIsICIpLGNvdW50cnk6dC5jb3VudHJ5LGdyb3VwOm8sdmFsdWU6ZX19KSkpO3ZhciBFbjtjb25zdCB4bj1Ubi5maW5kKChlPT4iYW1lcmljYSI9PT1lLnZhbHVlKSkKO3ZhciBBbj1vKDY4NDYxMCk7ZnVuY3Rpb24gTW4oZSx0KXtjb25zdCBvPXNldEludGVydmFsKCgoKT0+e2NvbnN0IGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKTtpZihpKXtjbGVhckludGVydmFsKG8pO25ldyBSZXNpemVPYnNlcnZlcih0KS5vYnNlcnZlKGkpLHQoKX19KSwyMCl9dmFyIEluLFJuPW8oODA5NDM2KSxGbj1vKDQ4MjUwNCk7IWZ1bmN0aW9uKGUpe2UuQUJTT0xVVEU9ImFic29sdXRlIixlLlNUSUNLWT0ic3RpY2t5IixlLkJPVFRPTT0iYm90dG9tIn0oSW58fChJbj17fSkpO2NvbnN0IExuPXBhcnNlSW50KFJuWyJzaXplLXN0aWNreS1zeW1ib2wtaGVhZGVyLWhlaWdodCJdKTtmdW5jdGlvbiBEbihlKXtjb25zdHskdG9vbGJhcjp0fT1lLG89dC5vdXRlckhlaWdodCgpLGk9ZS50YWJsZS4kc3RpY2t5SGVhZGVyLG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmpzLXN0aWNreS1zeW1ib2wtaGVhZGVyLWNvbnRhaW5lciIpPzY0K0xuOjY0O2Z1bmN0aW9uIHIodCl7Y29uc3Qgcj10fHxGbihkb2N1bWVudCkuc2Nyb2xsVG9wKCkse2lzU3RpY2t5OnMsdXBwZXJTY3JvbGxMaW1pdDphLGJvdHRvbVNjcm9sbExpbWl0Omx9PWZ1bmN0aW9uKHQpe2NvbnN0IHI9ZS50YWJsZS5fJGVtcHR5TWVzc2FnZT9lLnRhYmxlLl8kZW1wdHlNZXNzYWdlLm91dGVySGVpZ2h0KCk6MCxzPWUuJGNvbnRlbnQub2Zmc2V0KCkudG9wK2UuJGNvbnRlbnQub3V0ZXJIZWlnaHQoKSxhPXJ8fDQ4LGw9ZS4kY29udGVudC5vZmZzZXQoKS50b3Atbi1vLGM9cy1hLW4tby1pLm91dGVySGVpZ2h0KCk7cmV0dXJue2lzU3RpY2t5OnQ+PWwmJnQ8PWMsYm90dG9tU2Nyb2xsTGltaXQ6Yyx1cHBlclNjcm9sbExpbWl0Omx9fShyKTtpZihzKXJldHVybiJzdGlja3kiO3JldHVybiBNYXRoLmFicyhsLWEpPDIwfHxyPGE/ImFic29sdXRlIjoiYm90dG9tIn1mdW5jdGlvbiBzKCl7Y29uc3Qgbz1yKCksbj0oMCxLby5pc1J0bCkoKT9lLiRjb250ZW50Lm9mZnNldCgpLmxlZnQtRm4od2luZG93KS5zY3JvbGxMZWZ0KCk6ZS4kY29udGVudC5vZmZzZXQoKS5sZWZ0LHM9ZS4kY29udGVudC53aWR0aCgpLGE9Rm4oZS50YWJsZS5fdGFibGUpLndpZHRoKCksbD1mdW5jdGlvbih0KXtjb25zdCBvPWZvLmJyZWFrcG9pbnRzLnRhYmxldCxpPXIoKTtpZihGbih3aW5kb3cpLndpZHRoKCk+bylyZXR1cm4iYWJzb2x1dGUiPT09aT97bGVmdDoiIixyaWdodDoiIn06e2xlZnQ6dCxyaWdodDoiIn07Y29uc3Qgbj1lLiRjb250ZW50LnNjcm9sbExlZnQoKTtpZigoMCxLby5pc1J0bCkoKSl7Y29uc3QgdD1lLl9nZXRSZXNpemVyQnJpZGdlV2lkdGgoKTtyZXR1cm4iYWJzb2x1dGUiPT09aT97bGVmdDoiIixyaWdodDpufTp7bGVmdDoiIixyaWdodDp0K259fXJldHVybntsZWZ0OnQtbixyaWdodDoiIn19KG4pLGM9e2xlZnQ6bix3aWR0aDpzfSxkPXsuLi5sLHdpZHRoOmF9O2lmKHQuY3NzKHtsZWZ0OiIiLHJpZ2h0OiIifSksaS5jc3Moe2xlZnQ6IiIscmlnaHQ6IiJ9KSwiYWJzb2x1dGUiPT09bylyZXR1cm4gdC5jc3Moe3dpZHRoOnN9KSx2b2lkIGkuY3NzKGQpO3QuY3NzKGMpLGkuY3NzKGQpfWZ1bmN0aW9uIGEoZSl7dC5jc3Moe3RvcDplfSk7Y29uc3Qgbj1lK287aS5jc3Moe3RvcDpufSl9Y29uc3QgbD1mdW5jdGlvbigpe2xldCBlPUZuKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxsPXIoZSk7cmV0dXJuKCk9Pntjb25zdCBjPUZuKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxoPXIoYyk7aWYoImJvdHRvbSI9PT1oKXtkKGgpO3JldHVybiBhKGUrbi1jKSx2b2lkKGw9ImJvdHRvbSIpfWlmKGwhPT1oKXtpZihkKGgpLCJhYnNvbHV0ZSI9PT1oKXJldHVybiB0LmNzcyh7dG9wOjB9KSxpLmNzcyh7dG9wOm99KSxzKCksdm9pZChsPSJhYnNvbHV0ZSIpOyJzdGlja3kiPT09aCYmKHMoKSxhKG4pLGU9YyxsPSJzdGlja3kiKX19fSgpO2Z1bmN0aW9uIGMoKXtzKCksbCgpfWZ1bmN0aW9uIGQoZSl7Y29uc3Qgbz0iYWJzb2x1dGUiPT09ZTt0LnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyLS1tYXJrZXRzX2Fic29sdXRlIixvKSxpLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXItLW1hcmtldHNfYWJzb2x1dGUiLG8pLHQudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHNfc3RpY2t5IiwhbyksaS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyLS1zdGFuZGFsb25lX3N0aWNreSIsITApLGkudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tbWFya2V0c19zdGlja3kiLCFvKX1jb25zdCBoPWZ1bmN0aW9uKCl7bGV0IGU7cmV0dXJuKCk9PntjbGVhclRpbWVvdXQoZSksZT1zZXRUaW1lb3V0KGMsMCl9fSgpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsKGZ1bmN0aW9uKCl7bCgpLCgwLEtvLmlzUnRsKSgpJiZzKCl9KSx7cGFzc2l2ZTohMH0pLGUuJGNvbnRlbnRbMF0uYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixzKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixoKSxNbigiLndpZGdldGJhci13cmFwIixzKSxNbigiLnR2LXNjcmVlbmVyLXRhYmxlIixzKSxkKHIoKSksYygpfWZ1bmN0aW9uIE9uKGUpe2NvbnN0eyRiZWZvcmU6dD1udWxsLCRhcHBlbmRUbzpvPW51bGwsJGRyb3Bkb3duQ29udGFpbmVyOmk9bnVsbCxiZWZvcmVNYWtpbmdTZWxlY3RQb3B1cDpuPSgpPT57fSxtYWtlU2VsZWN0UG9wdXA6cixhZnRlck1ha2luZ1NlbGVjdFBvcHVwOnM9KCk9Pnt9LGFmdGVyU2VsZWN0UG9wdXBBcHBlbmQ6YT0oKT0+e319PWUsbD17JGRyb3Bkb3duQ29udGFpbmVyOml9O24oKTtjb25zdHskd3JhcDpjLCRidXR0b246ZCwkZHJvcGRvd25Db250ZW50Omh9PXIobCk7cmV0dXJuIHMoYyxkLGgpLCh0fHxvKSYmKHQ/Yy5pbnNlcnRCZWZvcmUodCk6Yy5hcHBlbmRUbyhvKSxhKGMsZCxoKSksZH1jb25zdCBObj1uZXcgcG8uV2F0Y2hlZFZhbHVlKCExKTt2YXIgUG49byg5NzEwNTEpO2xldCBCbj1udWxsO2Z1bmN0aW9uICRuKGUsdCl7aWYoQm4mJk5uLnVuc3Vic2NyaWJlKEJuKSxCbj0oKT0+ewpjb25zdCBvPXdpbmRvdz8ud2lkZ2V0YmFyPy5sYXlvdXQ/LmdldFdpZGdldEJ5VHlwZSgiZGV0YWlsIik/LndpZGdldE9iamVjdDtvLm5hdmlnYXRlKGUsdCl9LE5uLnZhbHVlKCkpcmV0dXJuIEJuKCksdm9pZChCbj1udWxsKTtObi5zdWJzY3JpYmUoQm4se29uY2U6ITB9KX1mdW5jdGlvbiBXbihlPW51bGwsdCl7Y29uc3QgaT0oMCxQbi5wYXRoVG9Hcm91cCkoZT8/IiIpKyI/bmV3PSIrcGVyZm9ybWFuY2Uubm93KCk7dCYmYXN5bmMgZnVuY3Rpb24oZSl7UHJvbWlzZS5hbGwoW28uZSgyMTg3MCksby5lKDg0MzA2KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoNDY5MDcpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgyMzYyNCksby5lKDMyODE2KSxvLmUoMTk1OTUpLG8uZSgxOTc4Nyksby5lKDE3MDg3KSxvLmUoNzI2NjYpLG8uZSgxMDM4NSksby5lKDUyMDY1KSxvLmUoNjYwNSksby5lKDc0MzgxKSxvLmUoMTQ2MjUpLG8uZSg2NTcpLG8uZSg2MTgyMSksby5lKDY2MjcwKSxvLmUoNTUwMTEpLG8uZSg3MTkwMSksby5lKDgwNzMxKSxvLmUoNjg5NjQpLG8uZSgyOTEzMyksby5lKDE5ODMzKSxvLmUoMzIzODcpLG8uZSgzMDY5OSksby5lKDQ0NzgwKSxvLmUoODIyMzcpLG8uZSg0ODg1NCksby5lKDk0MTgyKSxvLmUoMTE0MzUpXSkudGhlbihvLmJpbmQobyw5OTUyMTMpKS50aGVuKCh0PT57dC5yZW5kZXJOb3Rlc0RpYWxvZyhlKX0pKX0oaSksJG4oaSl9dmFyIHFuLFZuPW8oMzQ0MTAzKTshZnVuY3Rpb24oZSl7ZVtlLkhlYWRlcj0wXT0iSGVhZGVyIixlW2UuVGFibGU9MV09IlRhYmxlIn0ocW58fChxbj17fSkpO2NvbnN0IEhuPXtbcW4uSGVhZGVyXTp7ZGVzY3JpcHRpb246Ik9wZW4gaGVhZGVyIGNvbnRleHQgbWVudSIscHJlcGVuZDohMX0sW3FuLlRhYmxlXTp7ZGVzY3JpcHRpb246Ik9wZW4gY29udGV4dCBtZW51IixwcmVwZW5kOiEwfX07ZnVuY3Rpb24gVW4oZSx0LGkpe3JldHVybiBhc3luYyBmdW5jdGlvbigpe2NvbnN0W3tBY3Rpb246ZX0se0FkZFRvV2F0Y2hsaXN0QWN0aW9uOnR9XT1hd2FpdCBQcm9taXNlLmFsbChbby5lKDQzOTgwKS50aGVuKG8uYmluZChvLDUwOTA0KSksby5lKDE3ODcpLnRoZW4oby5iaW5kKG8sMjczMjg1KSldKTtyZXR1cm57ZGVmYXVsdDplLGFkZFRvV2F0Y2hsaXN0OnR9fSgpLnRoZW4oKG89PnQoZSxvKSkpLnRoZW4oKHQ9Pntjb25zdCBvPU9iamVjdC52YWx1ZXModCk7cmV0dXJuIEhuW2ldLnByZXBlbmQ/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5fbGlmZWN5Y2xlLmJlZm9yZUFwcGVuZENvbnRleHRNZW51SXRlbXModC5sZW5ndGg+MD8iYm90dG9tIjp2b2lkIDApLmNvbmNhdCh0KX0oZS52aWV3LG8pOm99KSl9ZnVuY3Rpb24gem4oZSx0LGkpe2NvbnN0e3ZpZXc6bixlOnJ9PWU7cmV0dXJuIFVuKGUsdCxpKS50aGVuKChlPT57cmV0dXJuIHQ9ZSxpPXIsby5lKDQzOTgwKS50aGVuKG8uYmluZChvLDI1MDQzOSkpLnRoZW4oKCh7Q29udGV4dE1lbnVNYW5hZ2VyOmV9KT0+ZS5zaG93TWVudSh0LGkpKSk7dmFyIHQsaX0pKS50aGVuKCgoKT0+e2NvbnN0IGU9SG5baV0uZGVzY3JpcHRpb247bi5fbW9kZWwudHJhY2tFdmVudChlKX0pKX12YXIgam4sR249byg4MTEzMTIpLFhuPW8oNjIxOTI2KSxLbj1vKDU3NjEwMyksWW49byg3NjU2OTUpLEpuPW8oNzU2Mjg4KSxabj1vKDQ4MjUwNCk7ZnVuY3Rpb24gUW4oZSx0KXtjb25zdHt2aWV3Om99PWUsaT1vLl9icmlkZ2Usbj10LmRlZmF1bHQscj1vLl9zZWxlY3RhYmxlTGlzdD9vLl9zZWxlY3RhYmxlTGlzdC5nZXRTZWxlY3RlZEtleXMoKS5sZW5ndGg6MSxzPXsuLi5lLHNlbGVjdGVkU3ltYm9sc0NvdW50OnJ9O2lmKCgwLEFuLmlzRXh0ZXJuYWxXaWRnZXQpKGkpKXJldHVybnsuLi50cihzLG4pfTtpZigoMCxBbi5pc1NjcmVlbmVyUGFnZSkoaSl8fCgwLEFuLmlzTWFya2V0UGFnZSkoaSkpe3JldHVybnsuLi4wPT09cj90cihzLG4pOnt9LC4uLmVyKHMsdC5hZGRUb1dhdGNobGlzdCl9fXJldHVybnsuLi5lcihzLHQuYWRkVG9XYXRjaGxpc3QpLC4uLm9yKHMsbiksLi4uaXIocyxuKX19ZnVuY3Rpb24gZXIoZSx0KXtjb25zdHt2aWV3Omksc3ltYm9sOm4sc2hvcnROYW1lOnIsc2VsZWN0ZWRTeW1ib2xzQ291bnQ6c309ZTtsZXQgYSxsOzA9PT1zPyhhPV8udChudWxsLHtyZXBsYWNlOntzeW1ib2xOYW1lOnJ9fSxvKDIyNDA1NikpLGw9W25dKTooYT1fLnQobnVsbCx2b2lkIDAsbyg4MTU3MTIpKSxsPWkuX3NlbGVjdGFibGVMaXN0P2kuX3NlbGVjdGFibGVMaXN0LmdldFNlbGVjdGVkS2V5cygpLnNsaWNlKDApOltdKTtyZXR1cm57YWRkVG9XYXRjaExpc3RBY3Rpb246bmV3IHQoe2xhYmVsOmEsZGlzYWJsZWQ6ITAsb25FeGVjdXRlOigpPT57KDAsWG4ucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57Y29uc3QgZT1pLl9nZXRXYXRjaGxpc3QoKTtlJiYoZS5hZGRTeW1ib2xzKGwpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoam4uQWRkVG9XYXRjaGxpc3QsInJvdyIsITApKSl9KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfSxpY29uOkpufSl9fWZ1bmN0aW9uIHRyKGUsdCl7Y29uc3R7dmlldzppfT1lO3JldHVyblsic2VjdG9yIiwiaW5kdXN0cnkiXS5pbmNsdWRlcyhpLl9tb2RlbC5zY3JlZW5lcl90eXBlKT9mdW5jdGlvbihlLHQpe2NvbnN0e2U6aX09ZSxuPVpuKGkudGFyZ2V0KS5jbG9zZXN0KCIudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ciKS5maW5kKCIudHYtc2NyZWVuZXJfX3N5bWJvbCIpO3JldHVybntvcGVuU3ltYm9sUGFnZUFjdGlvbjpuZXcgdCh7YWN0aW9uSWQ6IldhdGNobGlzdC5PcGVuU3ltYm9sT3ZlcnZpZXciLG9wdGlvbnM6e2xhYmVsOl8udChudWxsLHtyZXBsYWNlOntzeW1ib2w6bi50ZXh0KCl9fSxvKDcwNjQwMCkpLG9uRXhlY3V0ZTooKT0+e3dpbmRvdy5vcGVuKG4uYXR0cigiaHJlZiIpLCJfYmxhbmsiKSwoMCwKWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEduLkRpc3BhdGNoQ29udGV4dE1lbnVBY3Rpb25FdmVudChqbi5PcGVuU3ltYm9sUGFnZSwicm93IiwhMCkpfX19KX19KGUsdCk6ZnVuY3Rpb24oZSx0KXtjb25zdHt2aWV3Omksc2hvcnROYW1lOm4sc3ltYm9sOnJ9PWU7cmV0dXJue29wZW5DaGFydEFjdGlvbjpuZXcgdCh7YWN0aW9uSWQ6IldhdGNobGlzdC5PcGVuU3ltYm9sQ2hhcnQiLG9wdGlvbnM6e2xhYmVsOl8udChudWxsLHtyZXBsYWNlOntzeW1ib2w6bn19LG8oOTM2MTM1KSksb25FeGVjdXRlOigpPT57Y29uc3R7YXBwbHlTeW1ib2w6ZX09aS5fYnJpZGdlO2UmJihlKHIsITApLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoam4uT3BlbkNoYXJ0LCJyb3ciLCEwKSkpfX19KX19KGUsdCl9ZnVuY3Rpb24gb3IoZSx0KXtjb25zdHt2aWV3Omksc3ltYm9sOm4sc2hvcnROYW1lOnIsc2VsZWN0ZWRTeW1ib2xzQ291bnQ6c309ZTtsZXQgYSxsOzA9PT1zPyhhPV8udChudWxsLHtyZXBsYWNlOntzeW1ib2w6cn19LG8oNTYwNDcwKSksbD1bbl0pOihhPV8udChudWxsLHZvaWQgMCxvKDcyMDU0NikpLGw9aS5fc2VsZWN0YWJsZUxpc3QuZ2V0U2VsZWN0ZWRLZXlzKCkpO3JldHVybntjb21wYXJlQWN0aW9uOm5ldyB0KHthY3Rpb25JZDoiV2F0Y2hsaXN0LkFkZFN5bWJvbFRvQ29tcGFyZSIsb3B0aW9uczp7bGFiZWw6YSxvbkV4ZWN1dGU6YXN5bmMoKT0+e2Zvcihjb25zdCBlIG9mIGwpYXdhaXQoaS5fYnJpZGdlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8uYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5hZGRDb21wYXJlQXNPdmVybGF5KGUsZmFsc2UpKX0saWNvbjpZbn19KX19ZnVuY3Rpb24gaXIoZSx0KXtjb25zdHtzeW1ib2w6aSxzaG9ydE5hbWU6bixzZWxlY3RlZFN5bWJvbHNDb3VudDpyfT1lO2lmKHI+MClyZXR1cm57fTtyZXR1cm57YWRkVG9UZXh0Tm90ZXNBY3Rpb246bmV3IHQoe2FjdGlvbklkOiJOb3RlLkNyZWF0ZSIsb3B0aW9uczp7aWNvbjpLbixsYWJlbDpfLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOm59fSxvKDIzOTA3NykpLG9uRXhlY3V0ZTooKT0+eygwLGZuLnJ1bk9yU2lnbkluKSgoKCk9PnsoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgR24uRGlzcGF0Y2hDb250ZXh0TWVudUFjdGlvbkV2ZW50KGpuLkFkZFRleHROb3RlLCJyb3ciLCEwKSksd2luZG93LndpZGdldGJhcj8uc2V0UGFnZSgiYmFzZSIpLFduKGkpfSkse3NvdXJjZToiQWRkIHRleHQgbm90ZSBpbiBzY3JlZW5lciJ9KX19fSl9fSFmdW5jdGlvbihlKXtlLkFkZFRvV2F0Y2hsaXN0PSJhZGRfdG9fd2F0Y2hsaXN0IixlLk9wZW5DaGFydD0ib3Blbl9jaGFydCIsZS5BZGRUb0NvbXBhcmU9ImFkZF90b19jb21wYXJlIixlLkFkZFRleHROb3RlPSJhZGRfdGV4dF9ub3RlIixlLk9wZW5TeW1ib2xQYWdlPSJvcGVuX3N5bWJvbF9wYWdlIn0oam58fChqbj17fSkpO3ZhciBucj1vKDk0ODM4MCkscnI9byg4MTA0MSksc3I9bygyMDA2NjYpLGFyPW8oODg0Nzk4KSxscj1vKDE1MjE4Mik7ZnVuY3Rpb24gY3IoZSl7Y29uc3R7c3ltYm9sSHRtbDp0LGxvZ29Vcmw6byxzeW1ib2xGaXJzdExldHRlcjppLHNpemU6bj0ieHNtYWxsIn09ZTtyZXR1cm4gZHIoe3N5bWJvbEh0bWw6dCxsb2dvSHRtbDooMCxhci5nZXRDaXJjbGVMb2dvSHRtbCkoe2xvZ29Vcmw6byxzaXplOm4scGxhY2Vob2xkZXJMZXR0ZXI6aSxjbGFzc05hbWU6InR2LXNjcmVlbmVyLXRhYmxlX19sb2dvLWNvbnRhaW5lciJ9KX0pfWZ1bmN0aW9uIGRyKGUpe2NvbnN0e2xvZ29IdG1sOnQ9IiIsc3ltYm9sSHRtbDpvPSIiLHdyYXBIdG1sQ2xhc3M6aT0iIn09ZTtyZXR1cm5gXG5cdFx0PGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3N5bWJvbC1jb250YWluZXIgJHtpfSI+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fc3ltYm9sLWFkZGl0aW9uIj48L2Rpdj5cblx0XHRcdCR7dH1cblx0XHRcdDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19zeW1ib2wtY29udGFpbmVyLWRlc2NyaXB0aW9uIj5cblx0XHRcdFx0JHtvfVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdGB9dmFyIGhyPW8oODYyMjEzKTtjb25zdCB1cj0oMCxoci5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gX3IoZSl7aWYoZSYmIm51bGwiIT09ZSlyZXR1cm4gdXIuZ2V0U3ltYm9sTG9nb1VybChlLGhyLkxvZ29TaXplLk1lZGl1bSl9ZnVuY3Rpb24gcHIoZSl7Y29uc3R7ZmllbGRzT3JkZXI6dCxwcm9TeW1ib2w6byxyb3dEYXRhOmksc3ltYm9sSHRtbDpufT1lLHI9dC5pbmRleE9mKGguTG9nb0lkKTtpZigtMSE9PXIpe2NvbnN0IGU9aVtyXTtyZXR1cm4gY3Ioe3N5bWJvbEh0bWw6bixzeW1ib2xGaXJzdExldHRlcjptcihvKSxsb2dvVXJsOl9yKGUpfSl9Y29uc3Qgcz10LmluZGV4T2YoaC5CYXNlQ3VycmVuY3lMb2dvSWQpLGE9LTEhPT1zLGw9dC5pbmRleE9mKGguQ3VycmVuY3lMb2dvSWQpLGM9LTEhPT1sO2lmKGEmJmMpe2NvbnN0IGU9aVtzXSx0PWlbbF07cmV0dXJuIGZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gZHIoe3N5bWJvbEh0bWw6ZSxsb2dvSHRtbDooMCxsci5nZXRDaXJjbGVMb2dvUGFpckh0bWwpKHtwcmltYXJ5TG9nb1VybDp0LHNlY29uZGFyeUxvZ29Vcmw6byxzaXplOiJ4c21hbGwiLGNsYXNzTmFtZToidHYtc2NyZWVuZXItdGFibGVfX2xvZ28tY29udGFpbmVyIn0pfSl9KG4sX3IoZSksX3IodCkpfWlmKGEpe2NvbnN0IGU9aVtzXTtyZXR1cm4gY3Ioe3N5bWJvbEh0bWw6bixzeW1ib2xGaXJzdExldHRlcjptcihvKSxsb2dvVXJsOl9yKGUpfSl9aWYoYyl7Y29uc3QgZT1pW2xdO3JldHVybiBjcih7c3ltYm9sSHRtbDpuLHN5bWJvbEZpcnN0TGV0dGVyOm1yKG8pLGxvZ29Vcmw6X3IoZSl9KX1yZXR1cm4gZHIoe3N5bWJvbEh0bWw6bn0pfWZ1bmN0aW9uIG1yKGUpe3JldHVybigwLFZuLnNob3J0TmFtZSkoZSlbMF19ZnVuY3Rpb24gZ3IoZSx0LG8pe3JldHVybiBlLmdldChoZSh0LG8pKX12YXIgdnI7IWZ1bmN0aW9uKGUpe2UuQm9vbD0iYm9vbCIsCmUuRnVuZGFtZW50YWxQcmljZT0iZnVuZGFtZW50YWxfcHJpY2UiLGUuTnVtYmVyPSJudW1iZXIiLGUuUGVyY2VudD0icGVyY2VudCIsZS5QcmljZT0icHJpY2UiLGUuVGV4dD0idGV4dCIsZS5UaW1lPSJ0aW1lIn0odnJ8fCh2cj17fSkpO2NvbnN0IGZyPVsiJm1kYXNoOyIsJzxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY29sb3Itbm9ybWFsIj7igJQ8L3NwYW4+J107ZnVuY3Rpb24geXIoZSx0LG8saSxuKXtpZighU3IoKSYmIW4pcmV0dXJuIiI7Y29uc3Qgcj0hZSYmbz09PXZyLlByaWNlfHwhdCYmbz09PXZyLkZ1bmRhbWVudGFsUHJpY2V8fGZyLmluY2x1ZGVzKGkpLHM9IVt2ci5QcmljZSx2ci5GdW5kYW1lbnRhbFByaWNlXS5pbmNsdWRlcyhvKTtpZihyfHxzKXJldHVybiIiO2xldCBhO3JldHVybiBhPW89PT12ci5QcmljZT9lOnQsYDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC1jdXJyZW5jeS12YWx1ZSI+JHthfTwvc3Bhbj5gfWNvbnN0IGJyPSJzY3JlZW5lci5zaG93Q3VycmVuY3lMYWJlbCI7ZnVuY3Rpb24gU3IoKXtyZXR1cm4gbi5nZXRCb29sKGJyLCEwKX12YXIgd3I9bygxNDA4OTUpLENyPW8oNDg3NzUwKSxrcj1vKDg0MTg3NyksVHI9byg4MjMzNTgpLEVyPW8oNDgyNTA0KSx4cj1vKDQ4MjUwNCk7Y2xhc3MgQXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fc2V0T3B0aW9ucyhlKSx0aGlzLl9maWVsZHM9e30sdGhpcy5fZmllbGRzT3JkZXI9QXJyYXkuaXNBcnJheShlLmZpZWxkc09yZGVyKSYmZS5maWVsZHNPcmRlcnx8W10sdGhpcy5maWVsZHNPcmRlckNoYW5nZT1uZXcgbnIuRGVsZWdhdGUsdGhpcy5fY29sdW1uc01hcD1uZXcgTWFwLHRoaXMuYWZ0ZXJGaXhDb2xzPW5ldyBuci5EZWxlZ2F0ZSx0aGlzLl9hZGRpdGlvbmFsQ29sdW1ucz1bXSx0aGlzLl9oaWRkZW5Db2x1bW5zPTAsdGhpcy5fdGhyb3R0bGVGaXhDb2xzPSgwLHVpLmRlZmF1bHQpKCgoKT0+eyJtaW5pbWl6ZWQiIT09KHRoaXMuX21vZGVsLl9icmlkZ2UuYm90dG9tVG9vbGJhck1vZGU/dGhpcy5fbW9kZWwuX2JyaWRnZS5ib3R0b21Ub29sYmFyTW9kZS52YWx1ZSgpOiJub3JtYWwiKSYmKHRoaXMuX3VuaGlkZUNvbHVtbnMoKSx0aGlzLl91bmhpZGVDZWxscygpLHRoaXMuX2ZpeENvbHMoKSl9KSwxMCksdGhpcy5kcmFnU3RhcnRlZD1uZXcgcG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2ZpZWxkc09yZGVyQ2hhbmdlPSExLHRoaXMuX3VwZGF0ZUVtcHR5TWVzc2FnZUljb249dGhpcy5fdXBkYXRlRW1wdHlNZXNzYWdlSWNvbi5iaW5kKHRoaXMpLHNyLndhdGNoZWRUaGVtZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRW1wdHlNZXNzYWdlSWNvbil9X3NldE9wdGlvbnMoZSl7dGhpcy5fb3B0aW9ucz1lfHx7fSx0aGlzLl9tb2RlbD10aGlzLl9vcHRpb25zLm1vZGVsLHRoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9dGhpcy5fb3B0aW9ucy5kZWZhdWx0Rm9ybWF0dGVyfHwoZT0+ZS52YWx1ZSksdGhpcy5fbnVsbEZvcm1hdHRlcj10aGlzLl9vcHRpb25zLm51bGxGb3JtYXR0ZXJ8fCgoKT0+IiZtZGFzaDsiKSx0aGlzLl93aWR0aENoYW5nZT10aGlzLl9vcHRpb25zLndpZHRoQ2hhbmdlLHRoaXMuX3Zpc2liaWxpdHlDaGFuZ2U9dGhpcy5fb3B0aW9ucy52aXNpYmlsaXR5Q2hhbmdlLHRoaXMuX25vRGF0YVN0cmluZz10aGlzLl9vcHRpb25zLm5vRGF0YVN0cmluZyx0aGlzLl9pc1VuYXZhaWxhYmxlV2lkZ2V0TWFya2V0PXRoaXMuX29wdGlvbnMuaXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldCx0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyPWUuZGlzYWJsZVN0aWNreUhlYWRlcn11cGRhdGVTb3J0RmllbGQoZSx0KXtjb25zdCBvPXRoaXMuZ2V0VGgoZSk7ZSYmdCYmby5zaXplKCkmJih0aGlzLiR0aGVhZFJvdy5maW5kKCIudHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWRlc2MsLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0LS1hc2MiKS5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWRlc2MgdHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWFzYyIpLG8uZmluZCgiLmpzLXRhYmxlLXNvcnQiKS5lbXB0eSgpLmFkZENsYXNzKGB0di1zY3JlZW5lci10YWJsZV9fc29ydC0tJHt0fWApLmFwcGVuZCgiYXNjIj09PXQ/a3I6VHIpKX1oaWdobGlnaHRDZWxsKGUsdCxvKXtjb25zdCBpPXRoaXMuJHRib2R5WzBdLnF1ZXJ5U2VsZWN0b3IoYHRyW2RhdGEtc3ltYm9sPSIke2V9Il0gdGRbZGF0YS1maWVsZC1rZXk9IiR7dH0iXWApO2lmKGkpe2kuY2xhc3NMaXN0LmFkZCgidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWhpZ2hsaWdodGVkIik7Y29uc3QgZT1pLnF1ZXJ5U2VsZWN0b3IoInNwYW4iKTtpZihlKXtjb25zdCB0PW8/InR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1ncm93aW5nIjoidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmciO2UuY2xhc3NMaXN0LmFkZCh0KX19fWZsaWNrUm93KGUpe3RoaXMuJHRib2R5WzBdLnF1ZXJ5U2VsZWN0b3JBbGwoYHRyW2RhdGEtc3ltYm9sPSIke2V9Il0gdGRgKS5mb3JFYWNoKChlPT57Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoInNwYW4iKTt0JiZ0LmNsYXNzTGlzdC5yZW1vdmUoInR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1ncm93aW5nIiwidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmciKX0pKX1fY3JlYXRlVGFibGUoKXtpZih0aGlzLl90YWJsZSlyZXR1cm47Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpLHQ9WyJ0di1kYXRhLXRhYmxlIl07dGhpcy5fb3B0aW9ucy5hZGRUYWJsZUNsYXNzZXMmJnQucHVzaCguLi50aGlzLl9vcHRpb25zLmFkZFRhYmxlQ2xhc3NlcyksZS5jbGFzc0xpc3QuYWRkKC4uLnQpO2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY29sZ3JvdXAiKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoZWFkIiksbj1bInR2LWRhdGEtdGFibGVfX3RoZWFkIl07dGhpcy5fb3B0aW9ucy5hZGRUaGVhZENsYXNzZXMmJm4ucHVzaCguLi50aGlzLl9vcHRpb25zLmFkZFRoZWFkQ2xhc3NlcyksaS5jbGFzc0xpc3QuYWRkKC4uLm4pCjtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIikscz1bInR2LWRhdGEtdGFibGVfX3RoZWFkLXJvdyJdO3RoaXMuX29wdGlvbnMuYWRkVGhlYWRSb3dDbGFzc2VzJiZzLnB1c2goLi4udGhpcy5fb3B0aW9ucy5hZGRUaGVhZFJvd0NsYXNzZXMpLHIuY2xhc3NMaXN0LmFkZCguLi5zKTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5Iik7YS5jbGFzc0xpc3QuYWRkKCJ0di1kYXRhLXRhYmxlX190Ym9keSIpLGUuYXBwZW5kQ2hpbGQobyksZS5hcHBlbmRDaGlsZChpKSxpLmFwcGVuZENoaWxkKHIpLGUuYXBwZW5kQ2hpbGQoYSksdGhpcy5fdGFibGU9ZSx0aGlzLl9jb2xncm91cD1vLHRoaXMuX3RoZWFkUm93PXIsdGhpcy5fdGJvZHk9YSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwoKCk9PnRoaXMuX3Rocm90dGxlRml4Q29scygpKSksdGhpcy5fd2lkdGhDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl90aHJvdHRsZUZpeENvbHMoKSkpLHRoaXMuX21vZGVsLl9icmlkZ2UuYm90dG9tVG9vbGJhck1vZGUmJnRoaXMuX21vZGVsLl9icmlkZ2UuYm90dG9tVG9vbGJhck1vZGUuc3Vic2NyaWJlKCgoKT0+dGhpcy5fdGhyb3R0bGVGaXhDb2xzKCkpKSx0aGlzLl92aXNpYmlsaXR5Q2hhbmdlJiZ0aGlzLl92aXNpYmlsaXR5Q2hhbmdlLnN1YnNjcmliZSgoZT0+e2UmJnRoaXMuX3Rocm90dGxlRml4Q29scygpfSkpfV9jcmVhdGVTdGlja3lXcmFwcGVyKCl7aWYodGhpcy5fc3RpY2t5V3JhcHBlcilyZXR1cm47Y29uc3QgZT1bInR2LWRhdGEtdGFibGUtc3RpY2t5LXdyYXBwZXIiXTt0aGlzLl9vcHRpb25zLmFkZFN0aWNreUhlYWRlcldyYXBwZXJDbGFzc2VzJiZlLnB1c2goLi4udGhpcy5fb3B0aW9ucy5hZGRTdGlja3lIZWFkZXJXcmFwcGVyQ2xhc3Nlcyk7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTGlzdC5hZGQoLi4uZSk7Y29uc3Qgbz10aGlzLl90YWJsZS5jbG9uZU5vZGUoITApO3QuYXBwZW5kKG8pLHRoaXMuX3N0aWNreVdyYXBwZXI9dH1fY3JlYXRlSGVhZGVyKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksdD1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7dGhpcy5fZGlzYWJsZVN0aWNreUhlYWRlcnx8dGhpcy5fY3JlYXRlU3RpY2t5V3JhcHBlcigpO2ZvcihsZXQgaT0wO2k8dGhpcy5fY29sdW1uc09yZGVyLmxlbmd0aDsrK2kpe2NvbnN0IG49dGhpcy5fY29sdW1uc09yZGVyW2ldO2lmKCF0aGlzLl9maWVsZHNbbl0pY29udGludWU7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0aCIpO3Iuc2V0QXR0cmlidXRlKCJkYXRhLWZpZWxkIixuKTtjb25zdCBzPVsidHYtZGF0YS10YWJsZV9fdGgiLCJ0di1kYXRhLXRhYmxlX19jZWxsIiwianMtdHYtZGF0YS10YWJsZS10aCIsYGpzLXR2LWRhdGEtdGFibGUtdGgtJHt0aGlzLl9lc2Mobil9YF07aWYodGhpcy5fb3B0aW9ucy5hZGRUaENsYXNzZXMpe2NvbnN0IGU9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX29wdGlvbnMuYWRkVGhDbGFzc2VzP3RoaXMuX29wdGlvbnMuYWRkVGhDbGFzc2VzKG4sdGhpcy5fZmllbGRzW25dKTp0aGlzLl9vcHRpb25zLmFkZFRoQ2xhc3NlcztzLnB1c2goLi4uZSl9ci5jbGFzc0xpc3QuYWRkKC4uLihvPXMsby5maWx0ZXIoQm9vbGVhbikpKTtjb25zdCBhPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLnRpdGxlRm9ybWF0dGVyP3RoaXMuX29wdGlvbnMudGl0bGVGb3JtYXR0ZXIobix0aGlzLl9maWVsZHNbbl0pOnRoaXMuX2ZpZWxkc1tuXSYmKHRoaXMuX2ZpZWxkc1tuXS5jb250ZW50fHx0aGlzLl9maWVsZHNbbl0udGl0bGUpfHxuO2EgaW5zdGFuY2VvZiBFcj9yLmFwcGVuZChhWzBdKTpyLmlubmVySHRtbD1hLHRoaXMuX3NldERyYWdnYWJsZShyKSx0LmFwcGVuZChyKTtjb25zdCBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNvbCIpO2wuY2xhc3NMaXN0LmFkZCgianMtdHYtZGF0YS10YWJsZS1jb2wiLGBqcy10di1kYXRhLXRhYmxlLWNvbC0ke3RoaXMuX2VzYyhuKX1gKSxlLmFwcGVuZChsKX12YXIgbztNcih0aGlzLl9jb2xncm91cCksTXIodGhpcy5fdGhlYWRSb3cpO2NvbnN0IGk9dGhpcy5fZmllbGRzW3RoaXMuX21vZGVsLnNlYXJjaEZpZWxkXT90aGlzLl9maWVsZHNbdGhpcy5fbW9kZWwuc2VhcmNoRmllbGRdLnNlYXJjaFZhbHVlOnZvaWQgMDtpZih0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyKXRoaXMuX2NvbGdyb3VwLmFwcGVuZChlKSx0aGlzLl90aGVhZFJvdy5hcHBlbmQodCksdGhpcy5fc2V0U2VhcmNoSW5wdXQodGhpcy5fdGhlYWRSb3csaSk7ZWxzZXtjb25zdCBvPXRoaXMuX3N0aWNreVdyYXBwZXIucXVlcnlTZWxlY3RvcigidGFibGUiKSxuPW8ucXVlcnlTZWxlY3RvcigiY29sZ3JvdXAiKSxyPW8ucXVlcnlTZWxlY3RvcigidGhlYWQgdHIiKTtNcihuKSxNcihyKTtjb25zdCBzPWUuY2xvbmVOb2RlKCEwKTtuLmFwcGVuZChlKSx0aGlzLl9jb2xncm91cC5hcHBlbmQocyk7Y29uc3QgYT10LmNsb25lTm9kZSghMCk7ci5hcHBlbmQodCksdGhpcy5fdGhlYWRSb3cuYXBwZW5kKGEpLHRoaXMuX3RoZWFkUm93U3RpY2t5PXIsby5jbGFzc0xpc3QuYWRkKCJ0di1zY3JlZW5lci10YWJsZS0tZml4ZWQiKSx4cih0aGlzLl90aGVhZFJvdykuZmluZCgiLmpzLXRhYmxlLXNvcnQiKS5yZW1vdmUoKSx0aGlzLl9zZXRTZWFyY2hJbnB1dCh0aGlzLl90aGVhZFJvd1N0aWNreSxpKX19X3NldERyYWdnYWJsZShlKXtjb25zdCB0PXhyKGUpO2lmKHQuaXMoIi5qcy1kcmFnZ2FibGUiKSlyZXR1cm47Y29uc3QgaT14cih0aGlzLl90aGVhZFJvdyk7bGV0IG49ITE7dC5hZGRDbGFzcygianMtZHJhZ2dhYmxlIikub24oIm1vdXNlZG93biB0b3VjaHN0YXJ0IiwoZT0+e2lmKHQuZGF0YSgiZmllbGQiKT09PXRoaXMuX21vZGVsLnNlYXJjaEZpZWxkKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCksdC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsbGVmdDowfSk7Y29uc3Qgcj10Lm9mZnNldCgpLmxlZnQ7bGV0IHM9cgo7Y29uc3QgYT1lLnBhZ2VYfHxlLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5wYWdlWCxsPWU9Pntjb25zdCBjPShlLnBhZ2VYfHxlLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5wYWdlWCktYTtpZighbil7aWYoTWF0aC5hYnMoYyk8MTApcmV0dXJuO28uZSg0Mzk4MCkudGhlbihvLmJpbmQobywyNTA0MzkpKS50aGVuKCgoe0NvbnRleHRNZW51TWFuYWdlcjplfSk9PntudWxsIT09ZS5nZXRTaG93bigpJiYobj0hMSx0LmNzcygibGVmdCIsImF1dG8iKSx4cih3aW5kb3cpLm9mZigibW91c2Vtb3ZlIHRvdWNobW92ZSIsbCksdGhpcy5fb25EcmFnU3RvcCh0KSl9KSksdGhpcy5fb25EcmFnU3RhcnQodCksdC5vbmUoImNsaWNrIiwoZT0+e24mJmUuc3RvcFByb3BhZ2F0aW9uKCl9KSl9bj0hMDtjb25zdCBkPWkub2Zmc2V0KCkubGVmdCxoPWkub3V0ZXJXaWR0aCgpLHU9dC5vdXRlcldpZHRoKCksXz1NYXRoLm1heChkLE1hdGgubWluKGQraC11LHIrYykpLHA9Xyt1LzI7bGV0IG09eHIoKSxnPSExO2NvbnN0IHY9dC5wcmV2KCk7aWYodi5zaXplKCkmJigoMCxLby5pc1J0bCkoKT9wPnYub2Zmc2V0KCkubGVmdCt2Lm91dGVyV2lkdGgoKS8yOl88PWR8fHA8di5vZmZzZXQoKS5sZWZ0K3Yub3V0ZXJXaWR0aCgpLzIpKW09djtlbHNle2NvbnN0IGU9dC5uZXh0KCk7aWYoZS5zaXplKCkmJiFlLmlzKCIuaS1oaWRkZW4iKSl7KF8rdT49ZCtofHwoKDAsS28uaXNSdGwpKCk/cDxlLm9mZnNldCgpLmxlZnQrZS5vdXRlcldpZHRoKCkvMjpwPmUub2Zmc2V0KCkubGVmdCtlLm91dGVyV2lkdGgoKS8yKSkmJihtPWUsZz0hMCl9fWNvbnN0IGY9bS5kYXRhKCJmaWVsZCIpO2lmKG0uc2l6ZSgpJiYibmFtZSIhPT1mKXtjb25zdCBlPXQuZGF0YSgiZmllbGQiKSxvPXhyKHRoaXMuX2NvbGdyb3VwKS5maW5kKGAuanMtdHYtZGF0YS10YWJsZS1jb2wtJHt0aGlzLl9lc2MoZSl9YCksaT14cih0aGlzLl9jb2xncm91cCkuZmluZChgLmpzLXR2LWRhdGEtdGFibGUtY29sLSR7dGhpcy5fZXNjKGYpfWApO2xldCBuPXhyKCkscj14cigpO3RoaXMuX3N0aWNreVdyYXBwZXImJihuPXhyKHRoaXMuX3N0aWNreVdyYXBwZXIpLmZpbmQoYC5qcy10di1kYXRhLXRhYmxlLWNvbC0ke3RoaXMuX2VzYyhlKX1gKSxyPXhyKHRoaXMuX3N0aWNreVdyYXBwZXIpLmZpbmQoYC5qcy10di1kYXRhLXRhYmxlLWNvbC0ke3RoaXMuX2VzYyhmKX1gKSksZz8oby5pbnNlcnRBZnRlcihpKSxuLnNpemUoKSYmci5zaXplKCkmJm4uaW5zZXJ0QWZ0ZXIocikpOihvLmluc2VydEJlZm9yZShpKSxuLnNpemUoKSYmci5zaXplKCkmJm4uaW5zZXJ0QmVmb3JlKHIpKTtsZXQgYT14cigpLGw9eHIoKTt0aGlzLl9zdGlja3lXcmFwcGVyJiYoYT14cih0aGlzLl9zdGlja3lXcmFwcGVyKS5maW5kKGAuanMtdHYtZGF0YS10YWJsZS10aC0ke3RoaXMuX2VzYyhlKX1gKSxsPXhyKHRoaXMuX3N0aWNreVdyYXBwZXIpLmZpbmQoYC5qcy10di1kYXRhLXRhYmxlLXRoLSR7dGhpcy5fZXNjKGYpfWApKSxnPyh0Lmluc2VydEFmdGVyKG0pLHM9dC5vZmZzZXQoKS5sZWZ0LW1bMF0ub2Zmc2V0V2lkdGgsYS5zaXplKCkmJmwuc2l6ZSgpJiZhLmluc2VydEFmdGVyKGwpKToodC5pbnNlcnRCZWZvcmUobSkscz10Lm9mZnNldCgpLmxlZnQrbVswXS5vZmZzZXRXaWR0aCxhLnNpemUoKSYmbC5zaXplKCkmJmEuaW5zZXJ0QmVmb3JlKGwpKSx0aGlzLl9zd2FwQ29scyhlLGYpfXQuY3NzKCJsZWZ0IixfLXMpfTt4cih3aW5kb3cpLm9uKCJtb3VzZW1vdmUgdG91Y2htb3ZlIixsKS5vbmUoIm1vdXNldXAgdG91Y2hlbmQiLChlPT57c2V0VGltZW91dCgoKCk9PntuPSExfSksMCksdC5jc3MoImxlZnQiLCJhdXRvIikseHIod2luZG93KS5vZmYoIm1vdXNlbW92ZSB0b3VjaG1vdmUiLGwpLG4mJnRoaXMuX29uRHJhZ1N0b3AodCl9KSl9KSl9X3NldFNlYXJjaElucHV0KGUsdCl7Y29uc3Qgbz1lLnF1ZXJ5U2VsZWN0b3IoIi5qcy1zZWFyY2gtcXVlcnkiKTtpZighbylyZXR1cm47Y29uc3QgaT1vLnF1ZXJ5U2VsZWN0b3IoIi5qcy1zZWFyY2gtaW5wdXQiKSxuPW8ucXVlcnlTZWxlY3RvcigiLmpzLWlucHV0LXJlc2V0Iik7KDAsQW4uaXNTY3JlZW5lclBhZ2UpKHRoaXMuX21vZGVsLl9icmlkZ2UpJiZpLmZvY3VzKCk7Y29uc3Qgcj1Cb29sZWFuKHQpO24uY2xhc3NMaXN0LnRvZ2dsZSgiaS1oaWRkZW4iLCFyKSxyJiYoaS52YWx1ZT10KSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKCk9PntuLmNsYXNzTGlzdC50b2dnbGUoImktaGlkZGVuIiwwPT09aS52YWx1ZS5sZW5ndGgpfSkpO2NvbnN0IHM9KDAsdm8uZGVmYXVsdCkoKCgpPT57dGhpcy5fZmllbGRzW3RoaXMuX21vZGVsLnNlYXJjaEZpZWxkXS5zZWFyY2hWYWx1ZT1pLnZhbHVlLHRoaXMuX21vZGVsLmxvYWRpbmd8fHRoaXMuX21vZGVsLnVwZGF0ZSgpfSksNDAwKTtpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKCk9PnMoKSkpfV9vbkRyYWdTdGFydChlKXt0aGlzLl9tb2RlbC5wcmV2ZW50UHJldlNjYW5SZXF1ZXN0KCksdGhpcy5kcmFnU3RhcnRlZC5zZXRWYWx1ZSghMCk7Y29uc3QgdD1lLmRhdGEoImZpZWxkIiksbz10aGlzLl9nZXRDb2xCeUZpZWxkKHQpO28mJih0aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nVGhDbGFzc2VzJiZlWzBdLmNsYXNzTGlzdC5hZGQoLi4udGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ1RoQ2xhc3NlcyksdGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ0NvbENsYXNzZXMmJm8uY2xhc3NMaXN0LmFkZCguLi50aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nQ29sQ2xhc3NlcykpfV9zd2FwQ29scyhlLHQpe2NvbnN0IG89dGhpcy5fY29sdW1uc09yZGVyLmluZGV4T2YoZSksaT10aGlzLl9jb2x1bW5zT3JkZXIuaW5kZXhPZih0KTt0aGlzLl9jb2x1bW5zT3JkZXJbb109dGhpcy5fY29sdW1uc09yZGVyLnNwbGljZShpLDEsdGhpcy5fY29sdW1uc09yZGVyW29dKVswXSx0aGlzLl9maWVsZHNPcmRlckNoYW5nZWQ9ITA7Y29uc3Qgbj1NYXRoLm1pbihvLGkpLHI9TWF0aC5tYXgobyxpKSxzPXRoaXMuX3Rib2R5LmNoaWxkcmVuO2ZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXsKY29uc3QgdD1zW2VdLmNoaWxkcmVuLG89dFtuXTt0W3JdLmFmdGVyKG8pfWNvbnN0IGE9dGhpcy5fZmllbGRzT3JkZXIuaW5kZXhPZihlKSxsPXRoaXMuX2ZpZWxkc09yZGVyLmluZGV4T2YodCk7dGhpcy5fZmllbGRzT3JkZXJbYV09dGhpcy5fZmllbGRzT3JkZXIuc3BsaWNlKGwsMSx0aGlzLl9maWVsZHNPcmRlclthXSlbMF19X29uRHJhZ1N0b3AoZSl7dGhpcy5kcmFnU3RhcnRlZC5zZXRWYWx1ZSghMSk7Y29uc3QgdD1lLmRhdGEoImZpZWxkIiksbz10aGlzLl9nZXRDb2xCeUZpZWxkKHQpO28mJih0aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nVGhDbGFzc2VzJiZlWzBdLmNsYXNzTGlzdC5yZW1vdmUoLi4udGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ1RoQ2xhc3NlcyksdGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ0NvbENsYXNzZXMmJm8uY2xhc3NMaXN0LnJlbW92ZSguLi50aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nQ29sQ2xhc3NlcyksdGhpcy5fZmllbGRzT3JkZXJDaGFuZ2VkJiYodGhpcy5maWVsZHNPcmRlckNoYW5nZS5maXJlKCksdGhpcy5fZmllbGRzT3JkZXJDaGFuZ2VkPSExLHRoaXMuX21vZGVsLnRyYWNrRXZlbnQoYERyYWcgYW5kIGRyb3AgJHsiYmlnIj09PXRoaXMuX29wdGlvbnMudGFibGVfc3R5bGU/InF1b3RlcyI6Im5vbi1xdW90ZXMifSBjb2x1bW5gKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgcmkodCkpKSx0aGlzLl9maXhDb2xzKCkpfV9nZXRDb2xCeUZpZWxkKGUpe3JldHVybiB0aGlzLl9jb2xncm91cC5xdWVyeVNlbGVjdG9yKGAuanMtdHYtZGF0YS10YWJsZS1jb2wtJHt0aGlzLl9lc2MoZSl9YCl9X2ZpeENvbHMoKXtjb25zdCBlPUFycmF5LmZyb20odGhpcy5fdGhlYWRSb3cuY2hpbGRyZW4pO2lmKDA9PT1lLmxlbmd0aClyZXR1cm47dGhpcy5fdGFibGUuY2xhc3NMaXN0LnJlbW92ZSgidHYtc2NyZWVuZXItdGFibGUtLWZpeGVkIik7Y29uc3QgdD10aGlzLl90YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCJjb2wiKTtsZXQgbz1lLm1hcCgoZT0+TWF0aC5mbG9vcihlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKSkpO2NvbnN0IGk9ImJpZyI9PT10aGlzLl9vcHRpb25zLnRhYmxlX3N0eWxlLG49d2luZG93LmlubmVyV2lkdGg+Zm8uYnJlYWtwb2ludHMudGFibGV0LHI9dGhpcy5fdGFibGUucGFyZW50Tm9kZS5vZmZzZXRXaWR0aDtsZXQgcz1JcihvKTtpZihpJiZuJiZzPnIpe2Rve3M+ciYmKG8ucG9wKCksdGhpcy5faGlkZUNvbHVtbigpKSxzPUlyKG8pfXdoaWxlKHM+cik7Y29uc3QgZT1NYXRoLmZsb29yKChyLXMpL28ubGVuZ3RoKTtvPW8ubWFwKCh0PT50K2UpKTtjb25zdCB0PW8ubGVuZ3RoLTEsaT1vW3RdLG49ci1JcihvKTtvW3RdPWkrbn1pZih0LmZvckVhY2goKChlLHQpPT57Y29uc3QgaT1vW3RdO2k/ZS5zdHlsZS53aWR0aD1gJHtpfXB4YDplLmNsYXNzTGlzdC5hZGQoImktaGlkZGVuIil9KSksdGhpcy5fc3RpY2t5V3JhcHBlcil7Y29uc3QgZT10aGlzLl9zdGlja3lXcmFwcGVyLHQ9ZS5xdWVyeVNlbGVjdG9yKCJjb2xncm91cCIpLGk9ZS5xdWVyeVNlbGVjdG9yKCJ0YWJsZSIpLG49dGhpcy5fY29sZ3JvdXAuY2xvbmVOb2RlKCEwKTt0LnJlcGxhY2VXaXRoKG4pLGkuY2xhc3NMaXN0LmFkZCgidHYtc2NyZWVuZXItdGFibGUtLWZpeGVkIiksdGhpcy5fc3RpY2t5V3JhcHBlci5zdHlsZS53aWR0aD1mdW5jdGlvbihlLHQpe2lmKCEoKDAsQW4uaXNNYXJrZXRQYWdlKShlLl9tb2RlbC5fYnJpZGdlKSYmd2luZG93LmlubmVyV2lkdGg+Zm8uYnJlYWtwb2ludHMucGhvbmUpKXJldHVybjtyZXR1cm4gZS5fc3RpY2t5V3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCJ0aCIpLmZvckVhY2goKChlLG8pPT57dFtvXT9lLmNsYXNzTGlzdC5yZW1vdmUoImktaGlkZGVuIik6ZS5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpfSkpLGAke0ZuKGUuX3RhYmxlKS53aWR0aCgpfXB4YH0odGhpcyxvKXx8YCR7c31weGB9dGhpcy5fdGFibGUuY2xhc3NMaXN0LmFkZCgidHYtc2NyZWVuZXItdGFibGUtLWZpeGVkIiksdGhpcy5hZnRlckZpeENvbHMuZmlyZSgpfV9oaWRlQ29sdW1uKCl7Y29uc3QgZT10aGlzLl90aGVhZFJvdy5jaGlsZHJlbjtmb3IobGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtLSl7Y29uc3Qgbz1lW3RdO2lmKCFvLmNsYXNzTGlzdC5jb250YWlucygiaS1oaWRkZW4iKSl7by5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpO2JyZWFrfX10aGlzLl9oaWRkZW5Db2x1bW5zKyt9X3VuaGlkZUNvbHVtbnMoKXtjb25zdCBlPXRoaXMuX3RhYmxlLnF1ZXJ5U2VsZWN0b3JBbGwoImNvbCIpLHQ9dGhpcy5fdGhlYWRSb3cucXVlcnlTZWxlY3RvckFsbCgidGgiKTtlLmZvckVhY2goKChlLG8pPT57ZS5zdHlsZS53aWR0aD0iIixlLmNsYXNzTGlzdC5yZW1vdmUoImktaGlkZGVuIiksdFtvXS5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpfSkpLHRoaXMuX2hpZGRlbkNvbHVtbnM9MH1fdW5oaWRlQ2VsbHMoKXtpZighdGhpcy5fdGJvZHkpcmV0dXJuO3RoaXMuX3Rib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoInRkLmktaGlkZGVuIikuZm9yRWFjaCgoZT0+e2UuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX0pKX10b2dnbGVTaWduYWxzKGUpe2NvbnN0IHQ9dGhpcy5fZmllbGRzW2VdO3QuZGlzcGxheVNpZ25hbD0hdC5kaXNwbGF5U2lnbmFsO2NvbnN0IG89dGhpcy5fY29sdW1uc09yZGVyLmluZGV4T2YoZSk7aWYoLTE9PT1vKXJldHVybjtjb25zdCBpPXRoaXMuX3Rib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoYC50di1kYXRhLXRhYmxlX19yb3cgLnR2LWRhdGEtdGFibGVfX2NlbGw6bnRoLWNoaWxkKCR7bysxfSkgLnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWxgKTswIT09aS5sZW5ndGgmJihpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnRvZ2dsZSgiaS1oaWRkZW4iLCF0LmRpc3BsYXlTaWduYWwpKSksdGhpcy5fZml4Q29scygpKX1nZXQgJGVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY3JlYXRlVGFibGUoKSx4cih0aGlzLl90YWJsZSl9Z2V0ICR0Ym9keSgpe3JldHVybiB0aGlzLl9jcmVhdGVUYWJsZSgpLHhyKHRoaXMuX3Rib2R5KX1nZXQgJHN0aWNreUhlYWRlcigpewpyZXR1cm4gdGhpcy5fY3JlYXRlVGFibGUoKSx0aGlzLl9jcmVhdGVTdGlja3lXcmFwcGVyKCkseHIodGhpcy5fc3RpY2t5V3JhcHBlcil9Z2V0ICR0aGVhZFJvdygpe3JldHVybiB0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyP3hyKHRoaXMuX3RoZWFkUm93KTp4cih0aGlzLl90aGVhZFJvd1N0aWNreSl9Z2V0IGFkZGl0aW9uYWxDb2x1bW5zKCl7cmV0dXJuIHRoaXMuX2FkZGl0aW9uYWxDb2x1bW5zfWdldCBmaWVsZHNPcmRlcigpe3JldHVybiB0aGlzLl9maWVsZHNPcmRlcn1nZXQgY29sdW1uc09yZGVyKCl7cmV0dXJuIHRoaXMuX2NvbHVtbnNPcmRlcn1zZXRDb2x1bW5zTWFwKGUpe3RoaXMuX2NvbHVtbnNNYXA9ZX1zZXRGaWVsZHMoZSl7dGhpcy5fZmllbGRzT3JkZXI9W10sdGhpcy5fY29sdW1uc09yZGVyPVtdO2Zvcihjb25zdFt0LG9db2YgT2JqZWN0LmVudHJpZXMoZSkpdGhpcy5fZmllbGRzT3JkZXIucHVzaCh0KSxvLnNraXBGaWVsZHx8dGhpcy5fY29sdW1uc09yZGVyLnB1c2godCk7dGhpcy5fZmllbGRzPXt9LHRoaXMuX2FkZGl0aW9uYWxDb2x1bW5zPVtdLHRoaXMuX2ZpZWxkc09yZGVyLmZvckVhY2goKHQ9Pnt0aGlzLl9maWVsZHNbdF09ZVt0XSxlW3RdJiZlW3RdLmFkZGl0aW9uYWxDb2x1bW5zJiZlW3RdLmFkZGl0aW9uYWxDb2x1bW5zLmZvckVhY2goKGU9Pnt0aGlzLl9hZGRpdGlvbmFsQ29sdW1ucy5pbmNsdWRlcyhlKXx8dGhpcy5fYWRkaXRpb25hbENvbHVtbnMucHVzaChlKX0pKX0pKSx0aGlzLmZpZWxkc09yZGVyQ2hhbmdlLmZpcmUoKSx0aGlzLl9maWVsZHNPcmRlckNoYW5nZT0hMH11cGRhdGUoZSl7dGhpcy5fZmllbGRzT3JkZXJDaGFuZ2UmJih0aGlzLl91bmhpZGVDb2x1bW5zKCksdGhpcy5fY3JlYXRlVGFibGUoKSx0aGlzLl9jcmVhdGVIZWFkZXIoKSksdGhpcy5jbGVhckRhdGEoKSx0aGlzLmFwcGVuZChlKSx0aGlzLl9maWVsZHNPcmRlckNoYW5nZSYmKHRoaXMuX2ZpZWxkc09yZGVyQ2hhbmdlPSExKSx0aGlzLl9maXhDb2xzKCl9X3VwZGF0ZUVtcHR5TWVzc2FnZUljb24oKXtpZighdGhpcy5fJGVtcHR5TWVzc2FnZSlyZXR1cm47Y29uc3QgZT1mdW5jdGlvbigpe2NvbnN0IGU9c3Iud2F0Y2hlZFRoZW1lLnZhbHVlKCk7cmV0dXJuIGV8fChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJodG1sIik/LmNsYXNzTGlzdC5jb250YWlucygidGhlbWUtZGFyayIpP3JyLlN0ZFRoZW1lLkRhcms6cnIuU3RkVGhlbWUuTGlnaHQpfSgpLHQ9dGhpcy5fJGVtcHR5TWVzc2FnZS5maW5kKCJpIiksbz1lPT09cnIuU3RkVGhlbWUuTGlnaHQ/Q3I6d3I7dC5odG1sKG8pfV9zZXRFbXB0eU1lc3NhZ2UoKXtsZXQgZSx0PSIiOygwLEFuLmlzU2NyZWVuZXJQYWdlKSh0aGlzLl9tb2RlbC5fYnJpZGdlKT90PSJ0di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LS1maXhlZCI6KCgwLEFuLmlzQ2hhcnRQYWdlKSh0aGlzLl9tb2RlbC5fYnJpZGdlKXx8KDAsQW4uaXNFeHRlcm5hbFdpZGdldCkodGhpcy5fbW9kZWwuX2JyaWRnZSkpJiYodD0idHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC0tcmVsYXRpdmUiKSxlPXRoaXMuX2lzVW5hdmFpbGFibGVXaWRnZXRNYXJrZXQ/Xy50KG51bGwsdm9pZCAwLG8oNjc2NDQyKSkuZm9ybWF0KHtvcGVuTGluazonPGEgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbmsiPicsY2xvc2VMaW5rOiI8L2E+In0pOnRoaXMuX25vRGF0YVN0cmluZ3x8Xy50KG51bGwsdm9pZCAwLG8oNDE3NzcpKSx0aGlzLl8kZW1wdHlNZXNzYWdlPXhyKGBcblx0XHRcdDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQgJHt0fSI+XG5cdFx0XHRcdDxpIGNsYXNzPSJqcy1uby1yZXN1bHRzLWljb24iPjwvaT5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LWRlc2NyaXB0aW9uIj4ke2V9PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRgKS5pbnNlcnRBZnRlcih0aGlzLl90YWJsZSksdGhpcy5fdXBkYXRlRW1wdHlNZXNzYWdlSWNvbigpLCgwLEFuLmlzTWFya2V0UGFnZSkodGhpcy5fbW9kZWwuX2JyaWRnZSk/dGhpcy5fZml4Q29scygpOnRoaXMuX21vZGVsLl92aWV3LmZpeFN0YW5kYWxvbmVXaWR0aCgpfWFwcGVuZChlKXt0aGlzLl8kZW1wdHlNZXNzYWdlJiZ0aGlzLl8kZW1wdHlNZXNzYWdlLnJlbW92ZSgpO2NvbnN0IHQ9Z3IodGhpcy5fY29sdW1uc01hcCwiY3VycmVuY3kiLHRoaXMuX21vZGVsLnNlbGVjdGVkSW50ZXJ2YWxJZCksbz1ncih0aGlzLl9jb2x1bW5zTWFwLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIix0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpLGk9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtjb25zdCByPWVbbl07aWYoIUFycmF5LmlzQXJyYXkoci5kKSljb250aW51ZTtjb25zdCBzPXIuZFt0XSxhPXIuZFtvXSxsPVsidHYtZGF0YS10YWJsZV9fcm93Il07aWYodGhpcy5fb3B0aW9ucy5hZGRSb3dDbGFzc2VzKXtjb25zdCBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmFkZFJvd0NsYXNzZXM/dGhpcy5fb3B0aW9ucy5hZGRSb3dDbGFzc2VzKHIpOnRoaXMuX29wdGlvbnMuYWRkUm93Q2xhc3NlcztsLnB1c2goLi4uZSl9Y29uc3QgYz1bXTtpZih0aGlzLl9vcHRpb25zLmFkZFJvd0F0dHJzKXtjb25zdCBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmFkZFJvd0F0dHJzP3RoaXMuX29wdGlvbnMuYWRkUm93QXR0cnMocik6dGhpcy5fb3B0aW9ucy5hZGRSb3dBdHRycztmb3IoY29uc3RbdCxvXW9mIE9iamVjdC5lbnRyaWVzKGUpKWMucHVzaChbdCxvXSl9Y29uc3QgdT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7bGV0IF89dGhpcy5faGlkZGVuQ29sdW1ucztmb3IobGV0IGU9dGhpcy5fZmllbGRzT3JkZXIubGVuZ3RoLTE7ZT49MDstLWUpe2NvbnN0IHQ9dGhpcy5fZmllbGRzT3JkZXJbZV0sbz10aGlzLl9maWVsZHNbdF0KO2lmKCFvfHxvLnNraXBGaWVsZCljb250aW51ZTtjb25zdCBpPWdyKHRoaXMuX2NvbHVtbnNNYXAsdCx0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpLG49by5hZGRpdGlvbmFsQ29sdW1ucz9vLmFkZGl0aW9uYWxDb2x1bW5zLm1hcCgoZT0+UnIoci5kLGdyKHRoaXMuX2NvbHVtbnNNYXAsZSx0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpKSkpOltdO2xldCBsPSIiO2NvbnN0IGM9WyJ0di1kYXRhLXRhYmxlX19jZWxsIl07bGV0IHA7aWYoby50b29sdGlwJiYoImZ1bmN0aW9uIj09dHlwZW9mIG8udG9vbHRpcD9sPW8udG9vbHRpcCguLi5uLG8pOiJzdHJpbmciPT10eXBlb2Ygby50b29sdGlwJiYobD1vLnRvb2x0aXApLGMucHVzaCgiYXBwbHktY29tbW9uLXRvb2x0aXAiKSksInByaWNlIj09PW8udHlwZSYmbi5sZW5ndGg+PTQpe2NvbnN0IGU9bi5zbGljZSgtNCk7ZVsyXT0idHJ1ZSI9PT1lWzJdLHA9R3QoLi4uZSl9ZWxzZSBwPXp0KG8sdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSwhMSk7Im5hbWUiPT09dCYmbi5wdXNoKHIucyk7Y29uc3QgbT1ScihyLmQsaSk7bGV0IGc9bnVsbD09PW0/dGhpcy5fbnVsbEZvcm1hdHRlcigpOnAmJnAuZm9ybWF0KG0pfHx0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyKHt2YWx1ZTptLGZpZWxkS2V5OnQsZmllbGQ6byxyb3dEYXRhOnIsZmllbGRzT3JkZXI6dGhpcy5fZmllbGRzT3JkZXIsdGl0bGU6bCxjb2x1bW5zTWFwOnRoaXMuX2NvbHVtbnNNYXB9KTtpZih0aGlzLl9vcHRpb25zLmFkZENlbGxDbGFzc2VzKXtjb25zdCBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmFkZENlbGxDbGFzc2VzP3RoaXMuX29wdGlvbnMuYWRkQ2VsbENsYXNzZXMoe3ZhbHVlOm0sZmllbGRLZXk6dCxmaWVsZDpvfSk6dGhpcy5fb3B0aW9ucy5hZGRDZWxsQ2xhc3NlcztjLnB1c2goLi4uZSl9Y29uc3Qgdj1vLmFkZGl0aW9uYWxGb3JtYXR0ZXI/by5hZGRpdGlvbmFsRm9ybWF0dGVyKC4uLm4pOiIiO28ubXV0YXRlRGlzcGxheVZhbHVlJiYoZz1vLm11dGF0ZURpc3BsYXlWYWx1ZShnLC4uLm4sbykpLHRoaXMuX21vZGVsLmhhc01hcmtlZFN5bWJvbHMoKSYmYy5wdXNoKCJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aC1tYXJrZXIiKSxfPjAmJihjLnB1c2goImktaGlkZGVuIiksXy0tKTtsZXQgZj1nK3YreXIocyxhLG8udHlwZSxnLCgwLEFuLmlzTWFya2V0UGFnZSkodGhpcy5fbW9kZWwuX2JyaWRnZSkpOyh0PT09aC5OYW1lfHx0PT09aC5TZWN0b3ImJnRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGU9PT1kLkNyeXB0b01rdCkmJihmPXByKHtzeW1ib2xIdG1sOmYsZmllbGRzT3JkZXI6dGhpcy5fZmllbGRzT3JkZXIscm93RGF0YTpyLmQscHJvU3ltYm9sOnIuc30pKTtjb25zdCB5PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7eS5jbGFzc0xpc3QuYWRkKC4uLmMpLHkudGl0bGU9bCYmIm5hbWUiIT09dD9sOiIiLHkuc2V0QXR0cmlidXRlKCJkYXRhLWZpZWxkLWtleSIsdCkseS5pbm5lckhUTUw9Zix1LnByZXBlbmQoeSl9Y29uc3QgcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpO3AuY2xhc3NMaXN0LmFkZCguLi5sKSxjLmZvckVhY2goKGU9PnAuc2V0QXR0cmlidXRlKC4uLmUpKSkscC5hcHBlbmQodSksdGhpcy5fb3B0aW9ucy5vblJvd0J1aWxkJiZ0aGlzLl9vcHRpb25zLm9uUm93QnVpbGQocCxyKSxpLmFwcGVuZENoaWxkKHApfXRoaXMuX3Rib2R5LmFwcGVuZENoaWxkKGkpLDA9PT10aGlzLl90Ym9keS5xdWVyeVNlbGVjdG9yQWxsKCJ0ciIpLmxlbmd0aCYmdGhpcy5fc2V0RW1wdHlNZXNzYWdlKCksdGhpcy5fb3B0aW9ucy5vblVwZGF0ZSYmdGhpcy5fb3B0aW9ucy5vblVwZGF0ZSgpfWNsZWFyRGF0YShlKXtpZih0aGlzLl90Ym9keSlpZihlKXtjb25zdCB0PXRoaXMuX3Rib2R5LmNoaWxkcmVuLG89dC5sZW5ndGg7Zm9yKGxldCBpPWU7aTxvO2krKyl7Y29uc3Qgbz10W2VdO3RoaXMuX3Rib2R5LnJlbW92ZUNoaWxkKG8pfX1lbHNlIHRoaXMuX3Rib2R5LmlubmVySFRNTD0iIn1zZXRUaENvbnRlbnQoZSx0KXtjb25zdCBvPXRoaXMuZ2V0VGgoZSk7by5zaXplKCkmJihvLmVtcHR5KCksdCBpbnN0YW5jZW9mIEVyP28uYXBwZW5kKHQpOm8uaHRtbCh0KSwibmFtZSI9PT1lJiZ0aGlzLl9zZXRTZWFyY2hJbnB1dCh0aGlzLiR0aGVhZFJvd1swXSx0aGlzLl9maWVsZHNbZV0uc2VhcmNoVmFsdWUpKX1zZXRDb2x1bW5UaXRsZShlLHQpe2NvbnN0IG89dGhpcy5nZXRUaChlKTtvLnNpemUoKSYmby5maW5kKCIuanMtaGVhZC10aXRsZSIpLnRleHQodCl9c2V0U2VhcmNoVGV4dChlKXtjb25zdCB0PXRoaXMuZ2V0VGgodGhpcy5fbW9kZWwuc2VhcmNoRmllbGQpO3Quc2l6ZSgpJiZ0LmZpbmQoIi5qcy1maWVsZC10b3RhbCIpLnRleHQoZSl9Z2V0VGgoZSl7Y29uc3QgdD10aGlzLiR0aGVhZFJvdztyZXR1cm4gdCYmdC5maW5kKGAuanMtdHYtZGF0YS10YWJsZS10aC0ke3RoaXMuX2VzYyhlKX1gKXx8eHIoKX1fZXNjKGUpe3JldHVybiBlLnJlcGxhY2UoL1tcLnxdL2csIl8iKX19ZnVuY3Rpb24gTXIoZSl7Y29uc3QgdD1lLmNoaWxkcmVuOzAhPT10Lmxlbmd0aCYmQXJyYXkuZnJvbSh0KS5mb3JFYWNoKCh0PT5lLnJlbW92ZUNoaWxkKHQpKSl9ZnVuY3Rpb24gSXIoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+ZSt0KSl9ZnVuY3Rpb24gUnIoZSx0KXtyZXR1cm4gZVt0XX12YXIgRnI9bygzMDk4MzYpLExyPW8oOTExMzI3KTtjb25zdCBEcj17YW1lcmljYToidXNhIixldXJvbmV4dDoiZXVyb3BlIixob25na29uZzoiaG9uZy1rb25nIixuZXd6ZWFsYW5kOiJuZXctemVhbGFuZCIsdWs6InVuaXRlZC1raW5nZG9tIixyc2E6InNvdXRoLWFmcmljYSIsc3JpbGFua2E6InNyaS1sYW5rYSJ9O2Z1bmN0aW9uIE9yKGUsdCxvPSJzZWN0b3IiKXtyZXR1cm4gZSYmdD8oRHJbdF0mJih0PURyW3RdKSxgL21hcmtldHMvc3RvY2tzLSR7dH0vc2VjdG9yYW5kaW5kdXN0cnktJHtvfS8keyhpPWUsCmkucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCItIikucmVwbGFjZSgvLSsvZywiLSIpLnJlcGxhY2UoL14tfC0kL2csIiIpKS50b0xvd2VyQ2FzZSgpfS9gKToiL21hcmtldHMvc3RvY2tzLXVzYS9zZWN0b3JhbmRpbmR1c3RyeS1zZWN0b3IvIjt2YXIgaX1mdW5jdGlvbiBOcihlKXtjb25zdCB0PWUuX21vZGVsLG89ZS5fYnJpZGdlLGk9e3NjcmVlbmVyVHlwZTpXcih0KSxtYXJrZXQ6dC5tYXJrZXRzWzBdLHV0bTp0LnV0bSxsYXJnZUNoYXJ0VXJsOnQubGFyZ2VDaGFydFVybCx0YWJsZVN0eWxlOm8udGFibGVfc3R5bGUsc2NyZWVuZXJQbGFjZW1lbnQ6KDAsQW4uZ2V0U2NyZWVuZXJQYWdlKShvKSxvcGVuQ2hhcnRPblNhbWVUYWI6by5vcGVuX2NoYXJ0X29uX3NhbWVfdGFiLGJyaWRnZUJhc2VVcmw6by5iYXNlVXJsLHNlbGVjdGVkSW50ZXJ2YWxJZDp0LnNlbGVjdGVkSW50ZXJ2YWxJZH07cmV0dXJuIGU9PmZ1bmN0aW9uKGUpe3N3aXRjaChlLmZpZWxkS2V5KXtjYXNlIGguTmFtZTpyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3R7dmFsdWU6dCx0aXRsZTpvLHNjcmVlbmVyUGxhY2VtZW50Omksb3BlbkNoYXJ0T25TYW1lVGFiOm59PWU7aWYoImNoYXJ0IiE9PWkpe2NvbnN0IGk9cXIoZSk7cmV0dXJuYDxhIGNsYXNzPSJ0di1zY3JlZW5lcl9fc3ltYm9sIGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHsoMCxFaS5odG1sRXNjYXBlKShvKX0iIGhyZWY9IiR7KDAsRWkuaHRtbEVzY2FwZSkoaSl9IiAke24/IiI6J3RhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIid9PiR7dH08L2E+YH1yZXR1cm5gPGRpdiBjbGFzcz0idHYtc2NyZWVuZXJfX3N5bWJvbCB0di1zY3JlZW5lcl9fc3ltYm9sLS10ZXh0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHtvfSI+JHt0fTwvZGl2PmB9KGUpO2Nhc2UgaC5EZXNjcmlwdGlvbjpyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3R7dmFsdWU6dCxzY3JlZW5lclR5cGU6byxtYXJrZXQ6aX09ZTtpZihbInNlY3RvciIsImluZHVzdHJ5Il0uaW5jbHVkZXMobykpe2NvbnN0IGU9UHIodCk7cmV0dXJuYDxhIGNsYXNzPSJ0di1zY3JlZW5lcl9fc3ltYm9sIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgaHJlZj0iJHtPcih0LGksbyl9Ij5cblx0XHRcdFx0XHRcdCR7ZX1cblx0XHRcdFx0XHQ8L2E+YH1yZXR1cm4gQnIodCl9KGUpO2Nhc2UgaC5TZWN0b3I6cmV0dXJuIGZ1bmN0aW9uKGUpe2NvbnN0e3ZhbHVlOnQsZmllbGRLZXk6byxzY3JlZW5lclR5cGU6aSxtYXJrZXQ6bix0YWJsZVN0eWxlOnIsdXRtOnMsb3BlbkNoYXJ0T25TYW1lVGFiOmF9PWU7aWYoaT09PWQuQ3J5cHRvTWt0KXtjb25zdCBvPXFyKGUpO3JldHVybmA8YSBjbGFzcz0idHYtc2NyZWVuZXJfX3N5bWJvbCIgaHJlZj0iJHsoMCxFaS5odG1sRXNjYXBlKSgoMCxGci5hZGRVdG1Ub1VybCkobyxzKSl9IiAke2E/IiI6J3RhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIid9PlxuXHRcdFx0XHRcdFx0JHt0fVxuXHRcdFx0XHRcdDwvYT5gfWlmKCJiaWciPT09cilyZXR1cm4gJHIodCxuLG8pO3JldHVybiB0fShlKTtjYXNlIGguSW5kdXN0cnk6cmV0dXJuIGZ1bmN0aW9uKGUpe2NvbnN0e3ZhbHVlOnQsZmllbGRLZXk6byxzY3JlZW5lclR5cGU6aSxtYXJrZXQ6bix0YWJsZVN0eWxlOnJ9PWU7aWYoImJpZyI9PT1yJiZpIT09ZC5DcnlwdG9Na3QpcmV0dXJuICRyKHQsbixvKTtyZXR1cm4gQnIodCl9KGUpO2Nhc2UgaC5Db3VudHJ5OnJldHVybigwLGIudHJpZXNUcmFuc2xhdGVDb3VudHJpZU5hbWUpKGUudmFsdWUpO2RlZmF1bHQ6cmV0dXJuIGUudmFsdWV9fSh7Li4uZSwuLi5pfSl9ZnVuY3Rpb24gUHIoZSl7cmV0dXJuKDAsVGUudHJpZXNUcmFuc2xhdGVTY3JlZW5lckRhdGEpKGUpfWZ1bmN0aW9uIEJyKGUpe2NvbnN0IHQ9UHIoZSk7cmV0dXJuYDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tZml4LXdpZHRoIiB0aXRsZT0iJHt0fSI+JHt0fTwvc3Bhbj5gfWZ1bmN0aW9uICRyKGUsdCxvKXtjb25zdCBpPVByKGUpO3JldHVybmA8YSBjbGFzcz0idHYtc2NyZWVuZXJfX3N5bWJvbCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGhyZWY9IiR7T3IoZSx0LG8pfSI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lcl9fc3ltYm9sLS1zZWNvbmRhcnkiPiR7aX08L3NwYW4+XG5cdFx0XHQ8L2E+YH1mdW5jdGlvbiBXcihlKXtyZXR1cm4gZS5zY3JlZW5lcl90eXBlfWZ1bmN0aW9uIHFyKGUpe2NvbnN0e3Jvd0RhdGE6dCxzY3JlZW5lclR5cGU6byxzY3JlZW5lclBsYWNlbWVudDppLHV0bTpuLGxhcmdlQ2hhcnRVcmw6cixjb2x1bW5zTWFwOnMsc2VsZWN0ZWRJbnRlcnZhbElkOmF9PWU7aWYobz09PWQuQ3J5cHRvTWt0KXtjb25zdCBlPXtwcm9OYW1lOnQucyx0eXBlOiJjcnlwdG8ifTtyZXR1cm4id2lkZ2V0Ij09PWkmJnI/KDAsTHIubWFrZVRlbXBsYXRlU3ltYm9sVXJsKShyLGUpOigwLExyLm1ha2VTeW1ib2xQYWdlVXJsKShlKX1jb25zdCBsPWdyKHMsImV4Y2hhbmdlIixhKTtsZXQgYztsJiYoYz10LmRbbF0pO2NvbnN0IGg9e3Byb05hbWU6dC5zLGV4Y2hhbmdlOmMsdHlwZTpvfTtyZXR1cm4gbz09PWQuQ29udGludW91c0Z1dHVyZXM/KDAsTHIubWFrZVN5bWJvbENoYXJ0VXJsKShoKToid2lkZ2V0Ij09PWkmJnI/KDAsTHIubWFrZVRlbXBsYXRlU3ltYm9sVXJsKShyLGgpOigwLExyLm1ha2VTeW1ib2xQYWdlVXJsKShoLG4pfXZhciBWcixIcj1vKDIyNTI5OCk7ZnVuY3Rpb24gVXIoZSl7Y29uc3QgdD1lLl9maWVsZHNfb3JkZXIsaT1lLl9kaXNhYmxlU3RpY2t5SGVhZGVyLG49ZS5fbGlmZWN5Y2xlLHI9ZS53aWR0aENoYW5nZSxzPWUuX21vZGVsLGE9cy5zY3JlZW5lcl90eXBlLGw9ZS5fYnJpZGdlLGM9bC50YWJsZV9zdHlsZSx1PWwuaGlkZV9jb250cm9scyxwPWwudmlzaWJsZSxtPSgwLEFuLmdldFNjcmVlbmVyUGFnZSkobCksZz1JdC5kZXNjcmlwdGlvbix2PXttb2RlbDpzLGZpZWxkc09yZGVyOnQsdGl0bGVGb3JtYXR0ZXI6KHQsbyk9Pntjb25zdCBpPWUuX2dldFRoQ29udGVudCh0LG8pCjtyZXR1cm4gdD09PWguTmFtZSYmbi5iZWZvcmVBcHBlbmRTeW1ib2xzSGVhZGVyKGkuZ2V0KDApKSxpfSxkZWZhdWx0Rm9ybWF0dGVyOk5yKGUpLGFkZFRoZWFkQ2xhc3NlczpbInR2LXNjcmVlbmVyLXRhYmxlX190aGVhZCIsaT8idHYtc2NyZWVuZXItdGFibGVfX3RoZWFkLS1zdGlja3kiOiJ0di1zY3JlZW5lci10YWJsZV9fdGhlYWQtLXJlZ3VsYXIiXSxhZGRUaENsYXNzZXM6WyJ0di1kYXRhLXRhYmxlX19zb3J0YWJsZSIsInR2LXNjcmVlbmVyLXRhYmxlX19zb3J0YWJsZSIsInR2LXNjcmVlbmVyLXRhYmxlX190aCIsYz9gdHYtc2NyZWVuZXItdGFibGVfX3RoLS0ke2N9YDoiIiwid2lkZ2V0Ij09PW0mJnU/InR2LXNjcmVlbmVyLXRhYmxlX190aC0tbm8tdG9vbGJhciI6IiJdLGFkZENlbGxDbGFzc2VzOmU9Pntjb25zdHt2YWx1ZTp0LGZpZWxkS2V5Om8sZmllbGQ6aX09ZSxuPVsidHYtc2NyZWVuZXItdGFibGVfX2NlbGwiXTtyZXR1cm4gbi5wdXNoKC4uLmZ1bmN0aW9uKGUpe2NvbnN0IHQ9W107ZS5hbGlnbj09PVZyLlJpZ2h0fHxlLmFsaWduPT09VnIuQ2VudGVyfHxlLmNvbnRyb2wmJiJzZWxlY3QiIT09ZS5jb250cm9sfHx0LnB1c2goInR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1sZWZ0Iik7ZS5hbGlnbiE9PVZyLkNlbnRlcnx8ZS5jb250cm9sfHx0LnB1c2goInR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1jZW50ZXIiKTtyZXR1cm4gdH0oaSkpLGkuaGlnaGxpZ2h0Q2hhbmdlJiZ0JiZuLnB1c2godD49MD8idHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLXVwIjoidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWRvd24iKSxvIT09aC5OYW1lfHwhZy5kaXNhYmxlZCYmZy5jaGVja2VkfHxuLnB1c2goIndpZGdldCI9PT1tPyJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2lkZ2V0LXdpdGhvdXQtZGVzY3JpcHRpb24iOiJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aG91dC1kZXNjcmlwdGlvbiIpLGMmJm4ucHVzaChgdHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLSR7Y31gKSwid2lkZ2V0Ij09PW0mJm4ucHVzaCguLi5mdW5jdGlvbihlLHQpe2NvbnN0IG89W107ZSYmby5wdXNoKCJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tbm8tdG9vbGJhciIpO3Q9PT1kLkNyeXB0b01rdCYmby5wdXNoKCJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY3J5cHRvX21rdCIpO3JldHVybiBvfSh1LGEpKSxufSx3aWR0aENoYW5nZTpyLHZpc2liaWxpdHlDaGFuZ2U6cCx0YWJsZV9zdHlsZTpjLG5vRGF0YVN0cmluZzplLl9ub0RhdGFTdHJpbmcsaXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldDplLl9pc1VuYXZhaWxhYmxlV2lkZ2V0TWFya2V0LGRpc2FibGVTdGlja3lIZWFkZXI6aSxvblJvd0J1aWxkOih0LG8pPT57Y29uc3QgaT1lLl9zZWxlY3RhYmxlTGlzdDsiY2hhcnQiPT09bSYmSHIubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKT09PW8ucyYmaSYmKGUuX3NldEFjdGl2ZUVsZW0odCksaS5mb2N1c0l0ZW0odCkpLG4uYmVmb3JlQXBwZW5kU3ltYm9sKG8ucyx0KX0sb25VcGRhdGU6KCk9Pntjb25zdCB0PWUuX3NlbGVjdGFibGVMaXN0O3QmJnQucmVzdG9yZSgpfX0sZj17Li4udixzb3J0YWJsZTohMCxhZGRUYWJsZUNsYXNzZXM6WyJ0di1zY3JlZW5lci10YWJsZSJdLGFkZFRoZWFkUm93Q2xhc3NlczpbInR2LWRhdGEtdGFibGVfX3N0cm9rZSIsInR2LXNjcmVlbmVyLXRhYmxlX19oZWFkIl0sYWRkUm93Q2xhc3NlczooKT0+WyJ0di1kYXRhLXRhYmxlX19zdHJva2UiLCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdyJdLGFkZFJvd0F0dHJzOmU9Pih7ImRhdGEtc3ltYm9sIjplLnN9KSxhZGRTdGlja3lIZWFkZXJXcmFwcGVyQ2xhc3NlczpbInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlciJdLGFkZERyYWdnaW5nVGhDbGFzc2VzOlsidHYtc2NyZWVuZXItdGFibGVfX3RoLS1kcmFnZ2luZyJdLGFkZERyYWdnaW5nQ29sQ2xhc3NlczpbInR2LXNjcmVlbmVyLXRhYmxlX19jb2wtLWRyYWdnaW5nIl19LHk9bmV3IEFyKGYpO3JldHVybiB5LnNldEZpZWxkcyh7bmFtZTp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODI4NDIwKSl9fSkseX0hZnVuY3Rpb24oZSl7ZS5DZW50ZXI9ImNlbnRlciIsZS5SaWdodD0icmlnaHQifShWcnx8KFZyPXt9KSk7dmFyIHpyLGpyPW8oNDgyNTA0KTtmdW5jdGlvbiBHcihlKXtjb25zdHt2aWV3OnR9PWU7cmV0dXJuIHQuX2JyaWRnZS5oaWRlX2NvbnRyb2xzP1Byb21pc2UucmVzb2x2ZSgpOnpuKGUsWHIscW4uSGVhZGVyKX1mdW5jdGlvbiBYcihlLHQpe2NvbnN0e2ZpZWxkS2V5Om99PWUsaT10LmRlZmF1bHQsbj1JdFtvXSxyPXsuLi5lLGZpZWxkOm59O3JldHVybnsuLi5LcihyLGkpLC4uLllyKHIsaSksLi4uSnIocixpKSwuLi5acihyLGkpfX1mdW5jdGlvbiBLcihlLHQpe2NvbnN0e3ZpZXc6aSxmaWVsZEtleTpyfT1lO2lmKCJuYW1lIiE9PXIpcmV0dXJue307Y29uc3Qgcz1uZXcgdCh7YWN0aW9uSWQ6IlNjcmVlbmVyLlRvZ2dsZVZpc2liaWxpdHkuRGVzY3JpcHRpb24iLG9wdGlvbnM6e2xhYmVsOiFJdC5kZXNjcmlwdGlvbi5kaXNhYmxlZCYmSXQuZGVzY3JpcHRpb24uY2hlY2tlZD9fLnQobnVsbCx2b2lkIDAsbyg3MjEwMDEpKTpfLnQobnVsbCx2b2lkIDAsbyg4MjU5MikpLGRpc2FibGVkOkl0LmRlc2NyaXB0aW9uLmRpc2FibGVkLG9uRXhlY3V0ZTooKT0+e2NvbnN0IGU9IUl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ7SXQuZGVzY3JpcHRpb24uY2hlY2tlZD1lLGkudGFibGUudXBkYXRlKGkuX2RhdGEpLGkuJGZpZWxkU2V0c0J1dHRvbi50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS11bnNhdmVkIixpLl9tb2RlbC5pc0ZpZWxkU2V0Q2hhbmdlZCgpKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgR24uRGlzcGF0Y2hDb250ZXh0TWVudUFjdGlvbkV2ZW50KHpyLlRvZ2dsZURlc2NyaXB0aW9uLCJoZWFkZXIiLGUpKX19fSksYT1uZXcgdCh7YWN0aW9uSWQ6IlNjcmVlbmVyLlRvZ2dsZVZpc2liaWxpdHkuU3ltYm9sVHlwZSIsb3B0aW9uczp7CmxhYmVsOiFJdC50eXBlLmRpc2FibGVkJiZJdC50eXBlLmNoZWNrZWQ/Xy50KG51bGwsdm9pZCAwLG8oOTI2ODI1KSk6Xy50KG51bGwsdm9pZCAwLG8oNjAzNTA3KSksZGlzYWJsZWQ6SXQudHlwZS5kaXNhYmxlZCxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPSFJdC50eXBlLmNoZWNrZWQ7SXQudHlwZS5jaGVja2VkPWUsaS50YWJsZS51cGRhdGUoaS5fZGF0YSksaS4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLGkuX21vZGVsLmlzRmllbGRTZXRDaGFuZ2VkKCkpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuVG9nZ2xlU3ltYm9sVHlwZSwiaGVhZGVyIixlKSl9fX0pLGw9IVsiZm9yZXgiLCJjcnlwdG8iXS5pbmNsdWRlcyhpLl9tb2RlbC5zY3JlZW5lcl90eXBlKSxjPW5ldyB0KHthY3Rpb25JZDoiU2NyZWVuZXIuVG9nZ2xlVmlzaWJpbGl0eS5DdXJyZW5jeSIsb3B0aW9uczp7bGFiZWw6U3IoKT9fLnQobnVsbCx2b2lkIDAsbygxMjI3NjQpKTpfLnQobnVsbCx2b2lkIDAsbyg2Nzc0MjYpKSxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPSFTcigpO3ZhciB0O3Q9ZSxuLnNldFZhbHVlKGJyLHQpLGkudGFibGUudXBkYXRlKGkuX2RhdGEpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuVG9nZ2xlU2hvd0N1cnJlbmN5LCJoZWFkZXIiLGUpKX19fSk7cmV0dXJuey4uLmw/e3RvZ2dsZUN1cnJlbmN5RGlzcGxheUFjdGlvbjpjfTpudWxsLHRvZ2dsZURlc2NyaXB0aW9uQWN0aW9uOnMsdG9nZ2xlU3ltYm9sVHlwZUFjdGlvbjphfX1mdW5jdGlvbiBZcihlLHQpe2NvbnN0e3ZpZXc6aSxmaWVsZEtleTpuLGZpZWxkOnJ9PWU7aWYoIm5hbWUiPT09bilyZXR1cm57fTtyZXR1cm57cmVtb3ZlQ29sdW1uQWN0aW9uOm5ldyB0KHthY3Rpb25JZDoiU2NyZWVuZXIuQ29sdW1uLlJlbW92ZSIsb3B0aW9uczp7bGFiZWw6Xy50KG51bGwsdm9pZCAwLG8oNTkxMjI3KSksb25FeGVjdXRlOigpPT57ci5jaGVja2VkPSExO2NvbnN0IGU9aS5fdGFibGUuZmllbGRzT3JkZXIuZmlsdGVyKChlPT5lIT09bikpO2kuX21vZGVsLmZpZWxkU2V0Q2hhbmdlZC5maXJlKGUuZmlsdGVyKChlPT5JdFtlXSYmITAhPT1JdFtlXS5kaXNhYmxlZCYmITAhPT1JdFtlXS5oaWRkZW5Db2x1bW4pKSksaS5fbW9kZWwudXBkYXRlKCksaS4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLGkuX21vZGVsLmlzRmllbGRTZXRDaGFuZ2VkKCkpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuUmVtb3ZlQ29sdW1uLCJoZWFkZXIiLG4pKX19fSl9fWZ1bmN0aW9uIEpyKGUsdCl7Y29uc3R7dmlldzppLGZpZWxkS2V5Om4sZmllbGQ6cixlOnN9PWUsYT1zLmN1cnJlbnRUYXJnZXR8fHMudGFyZ2V0LGw9bmV3IHQoe2FjdGlvbklkOiJTY3JlZW5lci5GaWx0ZXIuUmVzZXQiLG9wdGlvbnM6e2xhYmVsOl8udChudWxsLHZvaWQgMCxvKDMxMTczNykpLG9uRXhlY3V0ZTooKT0+e2kucmVzZXRGaWx0ZXIobiksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEduLkRpc3BhdGNoQ29udGV4dE1lbnVBY3Rpb25FdmVudCh6ci5SZXNldEZpbHRlciwiaGVhZGVyIixuKSl9fX0pLGM9bmV3IHQoe2FjdGlvbklkOiJTY3JlZW5lci5GaWx0ZXIuQ2hhbmdlIixvcHRpb25zOntsYWJlbDpfLnQobnVsbCx2b2lkIDAsbyg2ODEwNDMpKSxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPWpyKGEpLmNsb3Nlc3QoInRoIik7aS5zaG93SW5wbGFjZUVkaXRvcihuLGUpLHMuc3RvcFByb3BhZ2F0aW9uKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEduLkRpc3BhdGNoQ29udGV4dE1lbnVBY3Rpb25FdmVudCh6ci5DaGFuZ2VGaWx0ZXIsImhlYWRlciIsbikpfX19KTtpZihyLmNvbnRyb2wpe2kuZmllbGRWYWx1ZVN0cmluZyhuKXx8bC51cGRhdGUoe2Rpc2FibGVkOiEwfSl9ZWxzZSBsLnVwZGF0ZSh7ZGlzYWJsZWQ6ITB9KSxjLnVwZGF0ZSh7ZGlzYWJsZWQ6ITB9KTtyZXR1cm57cmVzZXRGaWx0ZXJBY3Rpb246bCxjaGFuZ2VGaWx0ZXJBY3Rpb246Y319ZnVuY3Rpb24gWnIoZSx0KXtjb25zdHt2aWV3OmksZmllbGRLZXk6bixmaWVsZDpyfT1lO2lmKCFyLmhhc093blByb3BlcnR5KCJkaXNwbGF5U2lnbmFsIikpcmV0dXJue307Y29uc3R7ZGlzcGxheVNpZ25hbDpzfT1yO3JldHVybnt0b2dnbGVTaWduYWxBY3Rpb246bmV3IHQoe2FjdGlvbklkOiJTY3JlZW5lci5Ub2dnbGVWaXNpYmlsaXR5LlJhdGluZyIsb3B0aW9uczp7bGFiZWw6cz9fLnQobnVsbCx2b2lkIDAsbyg3NTcyMzEpKTpfLnQobnVsbCx2b2lkIDAsbygyNzM2ODEpKSxvbkV4ZWN1dGU6KCk9PntpLl90YWJsZS50b2dnbGVTaWduYWxzKG4pLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuVG9nZ2xlU2lnbmFsLCJoZWFkZXIiLCFzKSl9fX0pfX0hZnVuY3Rpb24oZSl7ZS5BY3RpdmVPbmx5PSJhY3RpdmVfb25seSIsZS5Ub2dnbGVEZXNjcmlwdGlvbj0ic2hvd19kZXNjcmlwdGlvbiIsZS5Ub2dnbGVTeW1ib2xUeXBlPSJzaG93X3N5bWJvbF90eXBlIixlLlRvZ2dsZVByaW1hcnlPbmx5PSJzaG93X3ByaW1hcnlfb25seSIsZS5SZW1vdmVDb2x1bW49InJlbW92ZV9jb2x1bW4iLGUuUmVzZXRGaWx0ZXI9InJlc2V0X2ZpbHRlciIsZS5DaGFuZ2VGaWx0ZXI9ImNoYW5nZV9maWx0ZXIiLGUuVG9nZ2xlU2lnbmFsPSJzaG93X3JhdGluZyIsZS5Ub2dnbGVTaG93Q3VycmVuY3k9InRvZ2dsZV9zaG93X2N1cnJlbmN5In0oenJ8fCh6cj17fSkpO3ZhciBRcj1vKDcwMzA0MSksZXM9bygzODI3NDUpO2NvbnN0IHRzPSJzY3JlZW5lci1tYXJrZXQtc2VsZWN0LW1vZGUiO3ZhciBvcz1vKDI0OTQ2OSksaXM9byg5OTg2NjEpLG5zPW8oOTIxNzA4KSxycz1vKDQ4MjUwNCk7Y29uc3Qgc3M9bygyMjUyOTgpLmxpbmtpbmc7byg1NTA2ODIpCjtjb25zdHtEZWxlZ2F0ZTphc309byg5NDgzODApLGxzPW8oMjIxMDYxKS5nZXRMb2dnZXIoIlNjcmVlbmVyLlZpZXciKSx7b3BlcmF0b3JzOmNzLGZpZWxkczpkc309byg2NDEzMDQpLGhzPV8udChudWxsLHtjb250ZXh0OiJmb3JleF9zY3JlZW5lcl9wYWlyc19zZWxlY3QifSxvKDE4NTQ5OSkpLHVzPV8udChudWxsLHZvaWQgMCxvKDIzMzY5MCkpLF9zPV8udChudWxsLHZvaWQgMCxvKDkyMTg0NykpLHBzPW8oODQxODc3KSxtcz1vKDgyMzM1OCksZ3M9Wy0xLDEwLDYwXSx2cz1bLTEsMTBdLGZzPXtib25kczp7eWllbGRzOl8udChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNzUxMDMzKSkscHJpY2VzOl8udChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNjQxNTk4KSl9LGNyeXB0b19ta3Q6e1VTRDoiVVNEIixCVEM6IkJUQyJ9fSx5cz1gPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1xdWVyeSBqcy1zZWFyY2gtcXVlcnkgJHtJdC5kZXNjcmlwdGlvbi5kaXNhYmxlZHx8IUl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ/InR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnktLXdpdGhvdXQtZGVzY3JpcHRpb24iOiIifSI+XG5cdFx0PGlucHV0XG5cdFx0XHR0eXBlPSJ0ZXh0IlxuXHRcdFx0YXV0b2NvbXBsZXRlPSJvZmYiXG5cdFx0XHRjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1pbnB1dCBqcy1zZWFyY2gtaW5wdXQiXG5cdFx0Lz5cblx0XHQ8c3BhbiBjbGFzcz0idHYtc2VhcmNoLWJhcl9fc2VhcmNoLWljb24gdHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1pY29uIj4ke28oMjYxMTc4KX08L3NwYW4+XG5cdFx0PHNwYW4gY2xhc3M9InR2LXNlYXJjaC1iYXJfX2lucHV0LXJlc2V0IHR2LXNjcmVlbmVyLXRhYmxlX19pbnB1dC1yZXNldCBpLWhpZGRlbiBqcy1pbnB1dC1yZXNldCI+JHtvKDIwNzc0Nil9PC9zcGFuPlxuXHQ8L2Rpdj5gO2NsYXNzIGJze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYnJpZGdlPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9vbldpZGdldD1lLm9uV2lkZ2V0LHRoaXMuX2FjdGl2ZUVsZW09bnVsbCx0aGlzLl9jaGFuZ2VTeW1ib2w9KDAsdm8uZGVmYXVsdCkodGhpcy5fY2hhbmdlU3ltYm9sLDUwMCksdGhpcy5fbGlmZWN5Y2xlPW5ldyB4aSx0aGlzLnNvcnRlZEZpZWxkcz1PYmplY3Qua2V5cyhJdCkuZmlsdGVyKChlPT5Cb29sZWFuKEt0KEl0W2VdKSkpKSx0aGlzLl9wb3B1cHM9bmV3IGRpKHQsdGhpcyxlKSx0aGlzLl9kaWFsb2c9bmV3IGtpKHQsdGhpcyxlKSx0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyPXRoaXMuX2JyaWRnZS5kaXNhYmxlU3RpY2t5SGVhZGVyLHRoaXMuX3BlcmlvZFBpY2tlcj1lLnBlcmlvZF9waWNrZXIsdGhpcy5fbm9EYXRhU3RyaW5nPWUubm9fZGF0YV9zdHJpbmcsdGhpcy5faXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldD1lLmlzVW5hdmFpbGFibGVXaWRnZXRNYXJrZXQsdGhpcy5fcGVyaW9kUGlja2VyQnV0dG9ucz1be2lkOiJ5ZXN0ZXJkYXkiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDk2NTU3MykpfSx7aWQ6InRvZGF5Iix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg2MTQ0NTApKX0se2lkOiJ0b21vcnJvdyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTQwNDgzKSl9LHtpZDoidGhpc193ZWVrIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygxMjc0ODMpKX0se2lkOiJuZXh0X3dlZWsiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ4NTQ1NCkpfV07Y29uc3QgaT0idW5kZWZpbmVkIj09PXRoaXMuX21vZGVsLnNldHRpbmdLZXk/dGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZTp0aGlzLl9tb2RlbC5zZXR0aW5nS2V5O3RoaXMuX2ZpZWxkc19vcmRlcj10aGlzLl9tb2RlbC5zZXR0aW5nc1NhdmVyLmdldEpTT04oaSsiLmZpZWxkc19vcmRlciIsW10pLHRoaXMuX2RhdGE9W10sdGhpcy5fbGFzdFNldElkPW51bGwsdGhpcy53aWR0aENoYW5nZT1uZXcgYXMsdGhpcy5fYnJpZGdlLndpZHRoJiZ0aGlzLl9icmlkZ2Uud2lkdGguc3Vic2NyaWJlKCgoKT0+e3RoaXMud2lkdGhDaGFuZ2UuZmlyZSgpfSkpLHRoaXMuXyRncm91cFNlbGVjdD1udWxsLHRoaXMuX3ByZXZlbnRIaWdobGlnaHRDaGFuZ2VzPSExLHRoaXMuX3RhYmxlPVVyKHRoaXMpLHRoaXMuX21vZGVsLmZpZWxkU2V0Q2hhbmdlZC5zdWJzY3JpYmUobnVsbCwoZT0+e2NvbnN0IHQ9e307ZS5mb3JFYWNoKChlPT57dFtlXT1JdFtlXX0pKSx0aGlzLl90YWJsZS5zZXRGaWVsZHModCl9KSksdGhpcy5fbW9kZWwuZmlsdGVyU2V0Q2hhbmdlZC5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLHRoaXMuX21vZGVsLmlzRmlsdGVyU2V0Q2hhbmdlZCgpKX0pKSx0aGlzLl90YWJsZS5maWVsZHNPcmRlckNoYW5nZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLl9tb2RlbC5maWVsZHNPcmRlci5zZXRWYWx1ZSh0aGlzLl90YWJsZS5maWVsZHNPcmRlciksdGhpcy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLHRoaXMuX21vZGVsLmlzRmllbGRTZXRDaGFuZ2VkKCkpLHRoaXMuX21vZGVsLnNldHRpbmdzU2F2ZXIuc2V0SlNPTihpKyIuZmllbGRzX29yZGVyIix0aGlzLl90YWJsZS5maWVsZHNPcmRlcix7Zm9yY2VGbHVzaDohMH0pfSkpO2xldCBuPTAscj0hMTt0aGlzLl9tb2RlbC5sb2FkaW5nU3RhcnQuc3Vic2NyaWJlKG51bGwsKGU9PntlPyhyPSEwLHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiYobj1ycyhkb2N1bWVudCkuc2Nyb2xsVG9wKCkpLHRoaXMuX3Nob3dTcGlubmVyKHRoaXMuJGJvdHRvbUxvYWRpbmdTY3JlZW4pKToobj0wLHRoaXMuX21vZGVsLmlzRmFzdFJlZnJlc2h8fHRoaXMuX3Nob3dTcGlubmVyKCkpfSkpLHRoaXMuX21vZGVsLmxvYWRpbmdTdGFydC5zdWJzY3JpYmUobnVsbCwoKCk9PnRoaXMucmVzZXRSZWZyZXNoQ291bnRlcighMCkpKSx0aGlzLl9tb2RlbC5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57CnImJnRoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiYwIT09biYmcnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpIT09bj8ocj0hMSxycyhkb2N1bWVudCkuc2Nyb2xsVG9wKG4pLG49MCk6dGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUmJnRoaXMuX2lzU2Nyb2xsQm90dG9tKCkmJnJzKGRvY3VtZW50KS5zY3JvbGxUb3AocnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLzIpLHRoaXMuX2hpZGVTcGlubmVyKCksdGhpcy5yZXNldFJlZnJlc2hDb3VudGVyKCl9KSksdGhpcy5fbW9kZWwuZW9kUmVzdHJpY3Rpb24uc3Vic2NyaWJlKCgoKT0+dGhpcy51cGRhdGVJbnRlcnZhbEJ1dHRvbigpKSx7Y2FsbFdpdGhMYXN0OiEwfSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZShudWxsLCgoKT0+e2lmKHRoaXMucmVzZXRSZWZyZXNoQ291bnRlcigpLCJmb3JleCI9PT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKXtjb25zdCBlPXRoaXMuX21vZGVsLnNlbGVjdGVkR3JvdXBzO0l0LnNlY3Rvci52YWx1ZT1BcnJheS5pc0FycmF5KGUpJiZlWzBdPT09Xy50KG51bGwsdm9pZCAwLG8oOTIxODQ3KSk/bnVsbDplLHRoaXMuXyRncm91cFNlbGVjdEJ1dHRvbiYmKHRoaXMuXyRncm91cFNlbGVjdEJ1dHRvbi5lbXB0eSgpLHRoaXMudXBkYXRlR3JvdXBzQnV0dG9uKHRoaXMuXyRncm91cFNlbGVjdEJ1dHRvbixlKSl9fSkpLHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiZycyh3aW5kb3cpLm9uKCJzY3JvbGwiLCgoKT0+e3JzKCIuanMtZHJvcGRvd24tdG9nZ2xlLmktb3BlbmVkIikudHJpZ2dlcigicmVzZXRQb3NpdGlvbiIpfSkpO2NvbnN0IHM9KDAsdm8uZGVmYXVsdCkoKCgpPT57dGhpcy5fdGVtcEJ1c3k9ITF9KSwyNTApLGE9KCk9Pnt0aGlzLl90ZW1wQnVzeXx8KHRoaXMuX3RlbXBCdXN5PSEwKSxzKCl9O3RoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiZycyh3aW5kb3cpLm9uKCJzY3JvbGwiLGEpLHJzKHdpbmRvdykub24oInJlc2l6ZSIsYSksdGhpcy53aWR0aENoYW5nZS5zdWJzY3JpYmUodGhpcyxhKSx0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZXx8dGhpcy5fbW9kZWwubG9hZGluZ0NvbXBsZXRlLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuaXNFbmRSZWFjaGVkKCk/KHRoaXMuJGNvbnRlbnQuYWRkQ2xhc3MoInR2LXNjcmVlbmVyX19jb250ZW50LXBhbmUtLWZ1bGx5LWxvYWRlZCIpLHRoaXMuX3RhYmxlLiRlbGVtZW50LmNzcygibWFyZ2luLWJvdHRvbSIsLXRoaXMuX2NvbnRlbnRQYWRkaW5nKSk6KHRoaXMuJGNvbnRlbnQucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyX19jb250ZW50LXBhbmUtLWZ1bGx5LWxvYWRlZCIpLHRoaXMuX3RhYmxlLiRlbGVtZW50LmNzcygibWFyZ2luLWJvdHRvbSIsIiIpKX0pKSxUcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmTWkuc3Vic2NyaWJlKCJzY3JlZW5lci5zZWxlY3RlZF90eXBlX29uX2NoYXJ0IiwoZT0+e3RoaXMuX21vZGVsLmNoYW5nZVNjcmVlbmVyVHlwZShlKS50aGVuKCgoKT0+e3RoaXMuX2xhc3RTZXRJZD1udWxsLHRoaXMuX3BvcHVwcy5zZXRNYXJrZXRzTGlzdChGKHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpKSwiZm9yZXgiPT09dGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZT90aGlzLl8kZ3JvdXBTZWxlY3QucmVtb3ZlQ2xhc3MoImktaGlkZGVuIik6dGhpcy5fJGdyb3VwU2VsZWN0LmFkZENsYXNzKCJpLWhpZGRlbiIpLHRoaXMudXBkYXRlSW50ZXJ2YWxCdXR0b24odGhpcy5fJHNlbGVjdEludGVydmFsQnV0dG9uLHRoaXMuX21vZGVsLnNlbGVjdGVkSW50ZXJ2YWxJZCksdGhpcy5fcG9wdXBzLnVwZGF0ZVJlZnJlc2hJbnRlcnZhbHNQb3B1cENvbnRlbnQoKX0pKS50aGVuKCgoKT0+dGhpcy51cGRhdGVNYXJrZXRCdXR0b24oKSkpLmNhdGNoKChlPT57ZSYmbHMubG9nRXJyb3IoZSl9KSl9KSl9Z2V0U2VsZWN0ZWRTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGFibGVMaXN0P3RoaXMuX3NlbGVjdGFibGVMaXN0LmdldFNlbGVjdGVkS2V5cygpOltdfWdldEZvY3VzZWRTeW1ib2woKXtpZih0aGlzLl9zZWxlY3RhYmxlTGlzdClyZXR1cm4gdGhpcy5fc2VsZWN0YWJsZUxpc3QuZ2V0Rm9jdXNlZEtleSgpfXJlZ2lzdGVySG9va3NIYW5kbGVycyhlKXt0aGlzLl9saWZlY3ljbGUucmVnaXN0ZXJIYW5kbGVycyhlKX1faXNTY3JvbGxCb3R0b20oKXtyZXR1cm4gcnMod2luZG93KS5zY3JvbGxUb3AoKStycyh3aW5kb3cpLmhlaWdodCgpPT09cnMoZG9jdW1lbnQpLmhlaWdodCgpfV9pbml0U2VsZWN0YWJsZUxpc3QoKXt0aGlzLl9zZWxlY3RhYmxlTGlzdD0oMCx5by5jcmVhdGVTZWxlY3RhYmxlTGlzdCkoe2xpc3Q6dGhpcy4kY29udGVudC5nZXQoMCksbGlzdEl0ZW1DbGFzczoidHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ciLHNlbGVjdGVkTGlzdEl0ZW1DbGFzczoidHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVkIixmb2N1c2VkTGlzdEl0ZW1DbGFzczoidHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLWZvY3VzZWQiLG9uTmF2aWdhdGU6dGhpcy5fb25TeW1ib2xzTmF2aWdhdGUuYmluZCh0aGlzKSxvbkNvbmZpcm06dGhpcy5fb25TeW1ib2xDb25maXJtLmJpbmQodGhpcyksZ2V0Tm9kZUtleTplPT5lLmRhdGFzZXQuc3ltYm9sfSl9X2dldFRoQ29udGVudChlLHQpe3R8fCh0PUl0W2VdKTtjb25zdCBpPWtuKGUsdCk/cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLXdyYXAganMtaGVhZC13cmFwIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIiB0aXRsZT0iJHt0LnRpdGxlfSIgZGF0YS1maWVsZD0iJHtlfSI+YCk6cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLXdyYXAganMtaGVhZC13cmFwIiBkYXRhLWZpZWxkPSIke2V9Ij5gKTt0LmRpc2FibGVIZWFkZXJDb250cm9sJiZpLmFkZENsYXNzKCJ0di1zY3JlZW5lci10YWJsZV9faGVhZC13cmFwLS1kaXNhYmxlLWludGVyYWN0aW9uIikKO2NvbnN0IG49cnMoJzxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQganMtaGVhZC1sZWZ0Ij48L2Rpdj4nKS5hcHBlbmRUbyhpKSxyPXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS10ZXh0Ij48L2Rpdj4nKS5hcHBlbmRUbyhuKSxzPXJzKGA8ZGl2IGNsYXNzPSJqcy1oZWFkLXRpdGxlIj4ke3Quc2hvcnRUaXRsZXx8dC50aXRsZX08L2Rpdj5gKS5hcHBlbmRUbyhyKTtlPT09dGhpcy5fbW9kZWwuc2VhcmNoRmllbGQmJm4uYWRkQ2xhc3MoIUl0LmRlc2NyaXB0aW9uLmRpc2FibGVkJiZJdC5kZXNjcmlwdGlvbi5jaGVja2VkPyJ0di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1uYW1lLWNvbCI6dGhpcy5fb25XaWRnZXQ/InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQtLXdpZGdldC1uYW1lLWNvbC13aXRob3V0LWRlc2NyaXB0aW9uIjoidHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbiIpO2NvbnN0IGE9cnMoYDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fc29ydCBqcy10YWJsZS1zb3J0ICR7dGhpcy5fbW9kZWwuX3NvcnRGaWVsZC52YWx1ZSgpPT09ZT9gdHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLSR7dGhpcy5fbW9kZWwuX3NvcnREaXJlY3Rpb24udmFsdWUoKX1gOiIifSI+JHsiYXNjIj09PXRoaXMuX21vZGVsLl9zb3J0RGlyZWN0aW9uLnZhbHVlKCk/cHM6bXN9PC9zcGFuPmApO2lmKGU9PT10aGlzLl9tb2RlbC5zZWFyY2hGaWVsZCl7bGV0IGU7ZT10aGlzLl90b3RhbENvdW50P3RoaXMuX2JyaWRnZS5oaWRlX2xvYWRfbW9yZSYmdGhpcy5fYnJpZGdlLnBhZ2Vfc2l6ZSYmdGhpcy5fdG90YWxDb3VudD49dGhpcy5fYnJpZGdlLnBhZ2Vfc2l6ZT9fLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtYXRjaGVzIixjb3VudDp0aGlzLl9icmlkZ2UucGFnZV9zaXplfSxvKDU0MDU2NSkpLmZvcm1hdCh7bnVtYmVyOnRoaXMuX2JyaWRnZS5wYWdlX3NpemV9KTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtYXRjaGVzIixjb3VudDp0aGlzLl90b3RhbENvdW50fSxvKDU0MDU2NSkpLmZvcm1hdCh7bnVtYmVyOnRoaXMuX3RvdGFsQ291bnR9KTpfLnQobnVsbCx2b2lkIDAsbygyMjgyOTEpKSxycyhgPGRpdiBjbGFzcz0ianMtZmllbGQtdG90YWwgdHYtc2NyZWVuZXItdGFibGVfX2ZpZWxkLXZhbHVlLS10b3RhbCI+JHtlfTwvZGl2PmApLmFwcGVuZFRvKG4pLHRoaXMuX29uV2lkZ2V0fHxycyh5cykuYXBwZW5kVG8obil9bGV0IGw9ITE7aWYodC5jb250cm9sJiYhdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMpe2NvbnN0IHQ9cnMoYDxpIGRhdGEtZmllbGQ9IiR7ZX0iIGNsYXNzPSJqcy1maWx0ZXItYnV0dG9uIHR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9uIj4ke28oNjA4MDY1KX08L2k+YCk7dC5hcHBlbmRUbyhpKTtpZih0aGlzLmZpZWxkVmFsdWVTdHJpbmcoZSkpe3QuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9uLS1hY3RpdmUiKTtjb25zdCBvPXJzKGA8c3BhbiBjbGFzcz0ianMtZmllbGQtdmFsdWUgdHYtc2NyZWVuZXItdGFibGVfX2ZpZWxkLXZhbHVlIGFwcGx5LW92ZXJmbG93LXRvb2x0aXAkeyJuYW1lIj09PWU/IiB0di1zY3JlZW5lci10YWJsZV9fZmllbGQtdmFsdWUtLW5hbWUiOiIifSI+JHt0aGlzLmZpZWxkVmFsdWVTdHJpbmcoZSl9PC9zcGFuPmApO24uYXBwZW5kKG8pLGw9ITB9fXJldHVybiBhLmFwcGVuZFRvKGkpLHMuYWRkQ2xhc3MobD8idHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGl0bGUtdHdvLWxpbmVzIjoidHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGl0bGUtdGhyZWUtbGluZXMiKSxpfV91cGRhdGVUYWJsZVNvcnRGaWVsZCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwuX3NvcnRGaWVsZC52YWx1ZSgpLHQ9dGhpcy5fbW9kZWwuX3NvcnREaXJlY3Rpb24udmFsdWUoKTt0aGlzLl90YWJsZS51cGRhdGVTb3J0RmllbGQoZSx0KX1zZXRGaWVsZEFjdGl2ZShlLHQsbyl7dGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAmJihvfHwobz10aGlzLl9kaWFsb2cuJGZpbHRlcnNQb3B1cC5maW5kKGAuanMtZmlsdGVyLWZpZWxkLSR7ZS5yZXBsYWNlKC9cVy9nLCIiKX1gKSksbyYmby5zaXplKCkmJm8udG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmUiLHQpKX1fcmVzZXRTZWFyY2hDb3VudCgpe2NvbnN0IGU9dGhpcy5fZ2V0VGhDb250ZW50KHRoaXMuX21vZGVsLnNlYXJjaEZpZWxkKS5maW5kKCIuanMtZmllbGQtdG90YWwiKS50ZXh0KCk7dGhpcy5fdGFibGUuc2V0U2VhcmNoVGV4dChlKX1fcmVzZXRGaWVsZChlKXt0aGlzLnNldEZpZWxkQWN0aXZlKGUsdGhpcy5fbW9kZWwuZmllbGRBY3RpdmUoZSkpO2NvbnN0IHQ9dGhpcy5fZ2V0VGhDb250ZW50KGUpO2lmKCJuYW1lIj09PWUmJnRoaXMuX2xpZmVjeWNsZS5iZWZvcmVBcHBlbmRTeW1ib2xzSGVhZGVyKHQuZ2V0KDApKSx0aGlzLl90YWJsZS5zZXRUaENvbnRlbnQoZSx0KSwhdGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAmJnRoaXMuJGlucGxhY2VFZGl0b3ImJmU9PT10aGlzLl9pbnBsYWNlRWRpdG9yRmllbGQpe2NvbnN0IHQ9IXRoaXMuX2lzRmlsdGVyVmFsdWVFbXB0eShlKSxvPXRoaXMuJGlucGxhY2VFZGl0b3IuZmluZCgiLmpzLXJlc2V0IiksaT10aGlzLiRpbnBsYWNlRWRpdG9yLmZpbmQoIi5qcy13cmFwIik7dD8oby5yZW1vdmVDbGFzcygiaS1oaWRkZW4iKSxpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLXdpdGhvdXQtcmVzZXQiKSx0aGlzLiRpbnBsYWNlRWRpdG9yLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fd2l0aG91dC1yZXNldCIpKTooby5hZGRDbGFzcygiaS1oaWRkZW4iKSxpLmFkZENsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLXdpdGhvdXQtcmVzZXQiKSwKdGhpcy4kaW5wbGFjZUVkaXRvci5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXQiKSl9fV9zZXR1cFN0aWNreUhlYWRlcigpe2lmKHRoaXMuX2Rpc2FibGVTdGlja3lIZWFkZXIpcmV0dXJuO2NvbnN0IGU9dGhpcy5fdGFibGUuJHN0aWNreUhlYWRlcjtlLmluc2VydEJlZm9yZSh0aGlzLiRjb250ZW50KTtjb25zdCB0PXJzKCc8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19yaWdodC1zdWJzdHJhdGUiPjwvc3Bhbj4nKS5wcmVwZW5kVG8odGhpcy4kY29udGVudCk7bGV0IG49TWF0aC5yb3VuZCh0aGlzLiR0b29sYmFyLm91dGVySGVpZ2h0KCkpO2lmKG5ldyBSZXNpemVPYnNlcnZlcigoKCk9PnRoaXMub25SZXNpemVUb29sYmFyKCkpKS5vYnNlcnZlKHRoaXMuJHRvb2xiYXJbMF0pLCgwLEFuLmlzTWFya2V0UGFnZSkodGhpcy5fYnJpZGdlKSlEbih0aGlzKTtlbHNlIGlmKHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lKXtjb25zdCBvPTE0ODtsZXQgaTt0aGlzLiR0b29sYmFyLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyLS1zdGFuZGFsb25lX3N0aWNreSIsITApLmNzcyh7dG9wOm99KSx0aGlzLl9icmlkZ2UuJGJvZHkuY3NzKHsicGFkZGluZy10b3AiOm59KSxlLmNzcyh7dG9wOm59KTtjb25zdCByPShpLHIpPT57cnx8KHI9cnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKSx0aGlzLl9icmlkZ2UuJGJvZHkuY3NzKHsicGFkZGluZy10b3AiOm59KSx0aGlzLiR0b29sYmFyLmNzcyh7dG9wOmk/MDpvLXJ9KSxlLmNzcyh7dG9wOm59KSx0LmNzcyh7dG9wOmk/bjowfSl9LHM9ZT0+cnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLSh0aGlzLiRjb250ZW50Lm9mZnNldCgpLnRvcC1lKT4wO3JzKGRvY3VtZW50KS5vbigic2Nyb2xsIiwoKCk9PntuPU1hdGgucm91bmQodGhpcy4kdG9vbGJhci5vdXRlckhlaWdodCgpKTtjb25zdCBvPXJzKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxhPXJzKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCk7bGV0IGw7dGhpcy5fb25XaWRnZXR8fChsPXMobikscihsLG8pLHRoaXMuXyRtYWluQ29udGFpbmVyLmNzcygidG9wIiwtbykpLGUudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tc3RhbmRhbG9uZV9zdGlja3kiLGwpO2NvbnN0IGM9KDAsS28uaXNSdGwpKCk/ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aC10aGlzLiRjb250ZW50WzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0Oi1hO2UuY3NzKHtbKDAsS28uaXNSdGwpKCk/InJpZ2h0IjoibGVmdCJdOmw/YzoiYXV0byJ9KSx0LnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX3JpZ2h0LXN1YnN0cmF0ZS0tc3RhbmRhbG9uZV9zdGlja3kiLGwpLGkhPT1sJiZ0aGlzLnVwZGF0ZVRvb2xiYXJCdXR0b25zKCksaT1sLHRoaXMuJGJvdHRvbUxvYWRpbmdTY3JlZW4uY3NzKHtsZWZ0OmF9KX0pKSxycyh3aW5kb3cpLm9uKCJyZXNpemUiLCgoKT0+e3RoaXMuZml4U3RhbmRhbG9uZVdpZHRoKCksbj1NYXRoLnJvdW5kKHRoaXMuJHRvb2xiYXIub3V0ZXJIZWlnaHQoKSk7Y29uc3QgZT1zKG4pO3IoZSksdGhpcy5vblJlc2l6ZVRvb2xiYXIoKX0pKSx0aGlzLmZpeFN0YW5kYWxvbmVXaWR0aCgpLHRoaXMuX3RhYmxlLmFmdGVyRml4Q29scy5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLmZpeFN0YW5kYWxvbmVIb3Jpem9udGFsU2Nyb2xsKCl9KSl9ZWxzZXt0aGlzLl9icmlkZ2UuJGJvZHkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pO2xldCBvPSExLG49ITE7dGhpcy5vblJlc2l6ZVRvb2xiYXIoKTtjb25zdCByPSgpPT57Y29uc3Qgbz1NYXRoLnJvdW5kKGUub3V0ZXJIZWlnaHQoKSk7dC5jc3Moe3RvcDotb30pLHRoaXMuJGNvbnRlbnQuY3NzKHt0b3A6b30pLHRoaXMuX3RhYmxlLiRlbGVtZW50LmNzcyh7dG9wOi1vLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9KX07KFRyYWRpbmdWaWV3Lm9uQ2hhcnRQYWdlfHx0aGlzLl9vbldpZGdldCkmJnIoKSx0aGlzLiRjb250ZW50Lm9uKCJzY3JvbGwiLCgoKT0+eygwLGkuaGlkZSkoKSxBaS5Qb3B1cENvbG9yU2VsZWN0b3IuaGlkZSgpLCgwLEtvLmlzUnRsKSgpP2UuY3NzKCJyaWdodCIsLSh0aGlzLiRjb250ZW50WzBdLnNjcm9sbFdpZHRoLXRoaXMuJGNvbnRlbnRbMF0uY2xpZW50V2lkdGgtKDAsS28uZ2V0TFRSU2Nyb2xsTGVmdCkodGhpcy4kY29udGVudFswXSkpKTplLmNzcygibGVmdCIsLXRoaXMuJGNvbnRlbnQuc2Nyb2xsTGVmdCgpKSx0aGlzLl9vbldpZGdldCYmdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMmJmUuY3NzKHt0b3A6MH0pfSkpLFRyYWRpbmdWaWV3Lm9uQ2hhcnRQYWdlJiZycyhkb2N1bWVudCkub24oInNjcm9sbCIsKCgpPT57d2luZG93LmlubmVyV2lkdGg8PWZvLmJyZWFrcG9pbnRzLnRhYmxldCYmKG89dGhpcy4kY29udGVudC5nZXQoMCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wPDApLGUudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tc3RhbmRhbG9uZV9zdGlja3kiLG8pLG4hPT1vJiZlLmNzcyh7bGVmdDpvPy10aGlzLiRjb250ZW50LnNjcm9sbExlZnQoKTowfSksbj1vfSkpfXRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzfHwodGhpcy4kaGVhZGVyRmllbGRzQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX2ZpZWxkcy1idXR0b24gYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtdmVydGljYWwgY29tbW9uLXRvb2x0aXAtb3RsIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg1NzkwNjUpKX0iPlxuXHRcdFx0XHQke28oODkzMjUxKX1cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKGUpLHRoaXMuJGhlYWRlckZpZWxkc0J1dHRvbi5hdHRyKHsiZGF0YS1uYW1lIjoiaGVhZGVyX2ZpZWxkcy1idXR0b24ifSksCnRoaXMuX3BvcHVwcy5zZXRGaWVsZHNQb3B1cCh0aGlzLiRoZWFkZXJGaWVsZHNCdXR0b24sInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlcl9fZmllbGRzLWJ1dHRvbi13cmFwIiwidHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0IikpLHRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNob3coKX0pLCEwKX1fc2hvd1NwaW5uZXIoZT10aGlzLiRsb2FkaW5nU2NyZWVuKXtlLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKSxjbGVhclRpbWVvdXQodGhpcy5fc3Bpbm5lclRpbWVvdXRJZCksdGhpcy5fc3Bpbm5lcnx8KHRoaXMuX3NwaW5uZXJUaW1lb3V0SWQ9c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9zcGlubmVyPShuZXcgVGkuU3Bpbm5lcikuc3BpbihlLmdldCgwKSl9KSwxMDApKX1faGlkZVNwaW5uZXIoKXt0aGlzLiRsb2FkaW5nU2NyZWVuLmFkZENsYXNzKCJqcy1oaWRkZW4iKSx0aGlzLiRib3R0b21Mb2FkaW5nU2NyZWVuLmFkZENsYXNzKCJqcy1oaWRkZW4iKSxjbGVhclRpbWVvdXQodGhpcy5fc3Bpbm5lclRpbWVvdXRJZCksdGhpcy5fc3Bpbm5lciYmKHRoaXMuX3NwaW5uZXIuc3RvcCgpLGRlbGV0ZSB0aGlzLl9zcGlubmVyKX1fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCl7cmV0dXJuIHdpbmRvdy53aWRnZXRiYXI/KDAsU24uZ2V0V2lkZ2V0QmFyUGFkZGluZykod2luZG93LndpZGdldGJhci5yZXNpemVyQnJpZGdlLndpZHRoLnZhbHVlKCkpOjB9Zml4U3RhbmRhbG9uZVdpZHRoKCl7aWYodGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe3RoaXMuX2JyaWRnZS4kYm9keS5jc3MoeyJwYWRkaW5nLXJpZ2h0IjoiIiwicGFkZGluZy1sZWZ0IjoiIn0pO2NvbnN0IGU9dGhpcy5fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCksdD0oMCxLby5pc1J0bCkoKT8icGFkZGluZy1sZWZ0IjoicGFkZGluZy1yaWdodCI7dGhpcy4kdG9vbGJhci53aWR0aChycyh3aW5kb3cpLndpZHRoKCktZSksdGhpcy5fJG1haW5IZWFkZXIuY3NzKHtbdF06ZX0pLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKSx0aGlzLl90YWJsZSYmdGhpcy5fdGFibGUuXyRlbXB0eU1lc3NhZ2UmJiEoMCxBbi5pc01hcmtldFBhZ2UpKHRoaXMuX21vZGVsLl9icmlkZ2UpJiZ0aGlzLl90YWJsZS5fJGVtcHR5TWVzc2FnZS5jc3Moe3dpZHRoOmBjYWxjKDEwMCUgLSAke2V9cHhgfSksdGhpcy53aWR0aENoYW5nZS5maXJlKCl9fWZpeFN0YW5kYWxvbmVIb3Jpem9udGFsU2Nyb2xsKCl7aWYodGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe2NvbnN0IGU9dGhpcy5fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCksdD10aGlzLl90YWJsZS4kZWxlbWVudC53aWR0aCgpKygoMCxLby5pc1J0bCkoKT8wOmUpLG89cnMod2luZG93KS53aWR0aCgpPHQsaT0oMCxLby5pc1J0bCkoKT8icGFkZGluZy1sZWZ0IjoicGFkZGluZy1yaWdodCI7dGhpcy5fYnJpZGdlLiRib2R5LmNzcyh7W2ldOm8/dDoiIn0pLHRoaXMuJHRvb2xiYXIud2lkdGgocnMod2luZG93KS53aWR0aCgpLWUpLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKX19cHJlcGFyZUxheW91dCgpe3RoaXMuX2JyaWRnZS4kYm9keS5hZGRDbGFzcygidHYtc2NyZWVuZXIiKyh0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZT8iIHR2LXNjcmVlbmVyLS1zdGFuZGFsb25lIjoiIikpLHRoaXMuJGxvYWRpbmdTY3JlZW49cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyX19sb2FkaW5nLXNjcmVlbiR7dGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUmJiF0aGlzLl9icmlkZ2UudGFibGVfbG9hZGluZ19zY3JlZW4/IiB0di1zY3JlZW5lcl9fbG9hZGluZy1zY3JlZW4tLXN0YW5kYWxvbmUiOiIifSI+YCkuYXBwZW5kVG8odGhpcy5fYnJpZGdlLiRib2R5KSx0aGlzLiR0b29sYmFyPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyJHt0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZT8iIHR2LXNjcmVlbmVyLXRvb2xiYXItLXN0YW5kYWxvbmUiOiIifSAke3RoaXMuX2Rpc2FibGVTdGlja3lIZWFkZXI/InR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHMiOiIifSI+YCkuYXBwZW5kVG8odGhpcy5fYnJpZGdlLiRib2R5KSx0aGlzLiR0b29sYmFyLm9uKCJjb250ZXh0bWVudSIsKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX0pKSxycygiLnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmUiKS5yZW1vdmUoKSx0aGlzLiRjb250ZW50PXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lcl9fY29udGVudC1wYW5lIiB0YWJpbmRleD0iMTAwIj4nKS5kYXRhKHtsb2NhbFNjcm9sbDohdGhpcy5fYnJpZGdlLnN0YW5kYWxvbmV9KS5hcHBlbmRUbyh0aGlzLl9icmlkZ2UuJGJvZHkpLHRoaXMuJGNvbnRlbnQub24oImNvbnRleHRtZW51IiwoZnVuY3Rpb24oZSl7ZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0di1zY3JlZW5lcl9fY29udGVudC1wYW5lIikmJmUucHJldmVudERlZmF1bHQoKX0pKSx0aGlzLiRib3R0b21Mb2FkaW5nU2NyZWVuPXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lcl9fYm90dG9tLWxvYWRpbmctc2NyZWVuIj4nKS5hcHBlbmRUbyh0aGlzLl9icmlkZ2UuJGJvZHkpLHRoaXMuXyRtYWluQ29udGFpbmVyPXJzKCIudHYtc2NyZWVuZXJfX3N0YW5kYWxvbmUtbWFpbi1jb250YWluZXIiKSx0aGlzLl8kbWFpbkhlYWRlcj10aGlzLl8kbWFpbkNvbnRhaW5lci5maW5kKCIudHYtaGVhZGVyIiksdGhpcy5fb25XaWRnZXR8fCh0aGlzLiRyZWZyZXNoQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLW9wdGlvbnMgdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1yZWZyZXNoIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbygzNzM3MjIpKX0iPjwvZGl2PmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1yZWZyZXNoIiwiZGF0YS1yb2xlIjoiYnV0dG9uIn0pLmFwcGVuZChycyhvKDg5OTcwKSkuYXR0cih7CmNsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbi0tc3RhbmRhbG9uZS1yZWZyZXNoIix3aWR0aDoiMTgiLGhlaWdodDoiMTgifSkpLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpLHRoaXMuJHJlZnJlc2hDb3VudGVyPXJzKCc8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fcmVmcmVzaC1jb3VudGVyIj4nKS50ZXh0KCIwMDowMCIpLmFwcGVuZFRvKHRoaXMuJHJlZnJlc2hCdXR0b24pLHRoaXMuJHJlZnJlc2hJbnRlcnZhbEJ1dHRvbj1ycyhgPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uIHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tb3B0aW9ucyB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNwYWNlX3JpZ2h0IGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg3ODI2MzQpKX0iPjwvZGl2PmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1yZWZyZXNoLWludGVydmFsIiwiZGF0YS1yb2xlIjoiYnV0dG9uIn0pLmFwcGVuZChycyhvKDg5MzI1MSkpLmF0dHIoe3dpZHRoOjMsaGVpZ2h0OjEzLGNsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiIsc3R5bGU6InRvcDogLTFweCJ9KSkuYXBwZW5kVG8odGhpcy4kdG9vbGJhcikpO2NvbnN0IGU9dGhpcy5fbW9kZWwuY3VycmVudEZpZWxkU2V0SWQoKSx0PXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChlKTt0aGlzLiRmaWVsZFNldHNCdXR0b249cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFuaW1hdGVkXG5cdFx0XHR0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtb3B0aW9ucyB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd25cblx0XHRcdHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0td2l0aC1zdGF0ZSBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZCBqcy1maWVsZC1zZXRzIiB0aXRsZT0iICR7Xy50KG51bGwsdm9pZCAwLG8oMzMyNjA5KSl9Ij5cblx0XHRcdFx0JHt0P3QudGl0bGU6IiJ9XG5cdFx0XHQ8L2Rpdj5gKS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItZmllbGQtc2V0cyIsImRhdGEtcm9sZSI6ImJ1dHRvbiIsImRhdGEtZmllbGQtc2V0IjplfSkuYXBwZW5kVG8odGhpcy4kdG9vbGJhciksdGhpcy4kZmllbGRzQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1vcHRpb25zXG5cdFx0XHR0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNxdWFyZSBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZFxuXHRcdFx0dHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1zcGFjZV9yaWdodCIgdGl0bGU9IiAke18udChudWxsLHZvaWQgMCxvKDU3OTA2NSkpfSI+YCkuYXR0cih7ImRhdGEtbmFtZSI6InNjcmVlbmVyLWZpZWxkcyIsImRhdGEtcm9sZSI6ImJ1dHRvbiJ9KS5hcHBlbmQocnMobyg3OTAwODApKS5hdHRyKHtjbGFzczoidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLWljb24ifSkpLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpLHRoaXMuJGZhdm9yaXRlc0Jhcj1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzIj4nKS5hcHBlbmRUbyh0aGlzLiR0b29sYmFyKSx0aGlzLiRwZXJpb2RQaWNrZXI9cnMoJzxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXIiPicpLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpO2NvbnN0IGk9ZnNbdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZV07aSYmKHRoaXMuX2NyZWF0ZVN3aXRjaChpKSx0aGlzLiR0b29sYmFyLmFkZENsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyLS1vbmUtbGluZSIpKTtjb25zdCBuPXRoaXMuX21vZGVsLmN1cnJlbnRGaWx0ZXJTZXRJZCgpLHI9dGhpcy5fbW9kZWwuZ2V0RmlsdGVyU2V0QnlJZChuKTt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLW9wdGlvbnNcblx0XHRcdHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYXJyb3ctZG93biB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtc3RhdGVcblx0XHRcdGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIGpzLWZpbHRlci1zZXRzIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg1NzAzNDMpKX0iPmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1maWx0ZXItc2V0cyIsImRhdGEtcm9sZSI6ImJ1dHRvbiIsImRhdGEtZmlsdGVyLXNldCI6bn0pLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpLHRoaXMuJGZpbHRlclNldHNCdXR0b25UaXRsZT1ycyhgPHNwYW4+JHtyP3IudGl0bGU6IiJ9PC9zcGFuPmApLmFwcGVuZFRvKHRoaXMuJGZpbHRlclNldHNCdXR0b24pLHRoaXMuJGZpbHRlcnNCdXR0b249cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLW9wdGlvbnMgdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1maWx0ZXJzIGFwcGx5LWNvbW1vbi10b29sdGlwIGktZGlzYWJsZWQgY29tbW9uLXRvb2x0aXAtZml4ZWQiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDEwMzQ4NikpfSI+JHtfLnQobnVsbCx2b2lkIDAsbygxNDE3MjcpKX08L2Rpdj5gKS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItZmlsdGVyIiwiZGF0YS1yb2xlIjoiYnV0dG9uIn0pLmFwcGVuZChycyhvKDYwODA2NSkpLmF0dHIoe2NsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbi0tZmlsdGVycyJ9KSkuYXBwZW5kVG8odGhpcy4kdG9vbGJhciksCnRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLiRmaWx0ZXJzQnV0dG9uLnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIil9KSwhMCk7Y29uc3Qgcz1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmlsdGVyLWNvdW50LXdyYXAiPicpLm9uKCJjbGljayIsKCgpPT57dGhpcy5zaG93QWN0aXZlRmlsdGVycygpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBwaSgiZmlsdGVyX2NvdW50ZXJfYnV0dG9uIix0aGlzLl9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCkpKX0pKS5hcHBlbmRUbyh0aGlzLiR0b29sYmFyKTtpZih0aGlzLiRmaWx0ZXJDb3VudD1ycyhgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ZpbHRlci1jb3VudCBqcy1oaWRkZW4gYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtdmVydGljYWwgY29tbW9uLXRvb2x0aXAtb3RsIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbygxNTc1MzgpKX0iPmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1maWx0ZXItY291bnQiLCJkYXRhLXJvbGUiOiJidXR0b24ifSkuYXBwZW5kVG8ocyksdGhpcy5fdGFibGUuJGVsZW1lbnQuYXBwZW5kVG8odGhpcy4kY29udGVudCksdGhpcy5pbml0SGFuZGxlcnMoKSx0aGlzLl9icmlkZ2Uuc2VsZWN0aW9uX2Rpc2FibGVkfHx0aGlzLl9pbml0U2VsZWN0YWJsZUxpc3QoKSx0aGlzLl9vbldpZGdldCYmdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMmJih0aGlzLl9jb250ZW50UGFkZGluZz10aGlzLiRjb250ZW50LmlubmVySGVpZ2h0KCktdGhpcy4kY29udGVudC5oZWlnaHQoKSx0aGlzLiRjb250ZW50LmNzcygiaGVpZ2h0IixgY2FsYygxMDAlIC0gJHt0aGlzLl9jb250ZW50UGFkZGluZ31weClgKSx0aGlzLiR0b29sYmFyLmhpZGUoKSksdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMpW3RoaXMuJHJlZnJlc2hCdXR0b24sdGhpcy4kcmVmcmVzaEludGVydmFsQnV0dG9uLHRoaXMuJGZpZWxkU2V0c0J1dHRvbix0aGlzLiRmaWVsZHNCdXR0b24sdGhpcy4kZmlsdGVyU2V0c0J1dHRvbix0aGlzLiRmaWx0ZXJzQnV0dG9uLHRoaXMuJGZpbHRlckNvdW50XS5mb3JFYWNoKChlPT57ZSYmZS5oaWRlKCl9KSksdGhpcy5fb25XaWRnZXQmJih0aGlzLl9icmlkZ2UuJGJvZHkuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLS1oaWRkZW4tdG9vbGJhciIpLHRoaXMuJGxvYWRpbmdTY3JlZW4uYWRkQ2xhc3MoInR2LXNjcmVlbmVyX19sb2FkaW5nLXNjcmVlbi0taGlkZGVuLXRvb2xiYXIiKSk7ZWxzZXt0aGlzLl9vbldpZGdldHx8KHRoaXMuXyRzZWxlY3RJbnRlcnZhbEJ1dHRvbj10aGlzLmFkZEludGVydmFsU2VsZWN0KHskYmVmb3JlOnRoaXMuJGZpbHRlclNldHNCdXR0b259KS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItdGltZS1pbnRlcnZhbCIsImRhdGEtcm9sZSI6ImJ1dHRvbiJ9KSk7Y29uc3QgZT10aGlzLmFkZE1hcmtldFNlbGVjdCh7JGJlZm9yZTp0aGlzLiRmaWx0ZXJTZXRzQnV0dG9ufSksdD1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fbWFya2V0LWNvdW50LXdyYXAiPicpLm9uKCJjbGljayIsKCgpPT57dGhpcy5fc2hvd01hcmtldHNEaWFsb2coKX0pKTt0aGlzLiRtYXJrZXRDb3VudD1ycyhgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ZpbHRlci1jb3VudCB0di1zY3JlZW5lci10b29sYmFyX19maWx0ZXItY291bnQtLW1hcmtldC1jb3VudCBqcy1oaWRkZW4gYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtdmVydGljYWwgY29tbW9uLXRvb2x0aXAtb3RsIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbygzOTQwMzkpKX0iPmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1tYXJrZXQtY291bnQiLCJkYXRhLXJvbGUiOiJidXR0b24ifSkuYXBwZW5kVG8odCkscnMoZSkuYWZ0ZXIodCksdGhpcy5fJGdyb3VwU2VsZWN0QnV0dG9uPXRoaXMuYWRkR3JvdXBTZWxlY3QoeyRiZWZvcmU6dGhpcy4kZmlsdGVyU2V0c0J1dHRvbn0pLHRoaXMuX3BvcHVwcy5zZXRGaWVsZHNQb3B1cCh0aGlzLiRmaWVsZHNCdXR0b24sInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwIiksdGhpcy5fcG9wdXBzLnNldEZpZWxkU2V0c1BvcHVwKHRoaXMuJGZpZWxkU2V0c0J1dHRvbiksdGhpcy5fcG9wdXBzLnNldEZpbHRlclNldHNQb3B1cCh0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uKSx0aGlzLl9vbldpZGdldHx8dGhpcy5fcG9wdXBzLnNldFJlZnJlc2hJbnRlcnZhbHNQb3B1cCh0aGlzLiRyZWZyZXNoSW50ZXJ2YWxCdXR0b24pfXZhciBhOyhhPXRoaXMuX21vZGVsLnRpbWV6b25lKSYmYSE9PXhlJiYoeGU9YSksdGhpcy5fcGVyaW9kUGlja2VyPyhXdCgpLHRoaXMuX3NlbGVjdGVkUGVyaW9kSWQ9InRvZGF5Iix0aGlzLl9zZXROZXdFYXJuaW5nc1BlcmlvZCh0aGlzLl9zZWxlY3RlZFBlcmlvZElkKSx0aGlzLnVwZGF0ZVBlcmlvZFBpY2tlcigpLHRoaXMuJGZhdm9yaXRlc0Jhci5oaWRlKCksSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUub25GaWx0ZXJDaGFuZ2U9ZT0+e2NvbnN0IHQ9dGhpcy5fcGVyaW9kUGlja2VyQnV0dG9ucy5maW5kKCh0PT50LnRpdGxlPT09ZSkpO3RoaXMuY2hhbmdlRWFybmluZ3NQZXJpb2QodD90LmlkOiIiLCEwKX0pOnRoaXMuJHBlcmlvZFBpY2tlci5oaWRlKCksdGhpcy5fc2hvd1NwaW5uZXIoKSx0aGlzLnVwZGF0ZVRvb2xiYXJCdXR0b25zKCksdGhpcy5vblJlc2l6ZVRvb2xiYXIoKX1vblJlc2l6ZVRvb2xiYXIoKXtpZih0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyKXJldHVybjtpZih0aGlzLl90YWJsZS4kc3RpY2t5SGVhZGVyLnBvc2l0aW9uKCkudG9wPDApcmV0dXJuO2NvbnN0IGU9TWF0aC5yb3VuZCh0aGlzLiR0b29sYmFyLm91dGVySGVpZ2h0KCkpOygwLEFuLmlzRXh0ZXJuYWxXaWRnZXQpKHRoaXMuX2JyaWRnZSkmJnRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzP3RoaXMuX3RhYmxlLiRzdGlja3lIZWFkZXIuY3NzKHt0b3A6MH0pOnRoaXMuX3RhYmxlLiRzdGlja3lIZWFkZXIuY3NzKHt0b3A6ZX0pfQpzaG93TWFpbnRlbmFuY2UoKXt0aGlzLl9icmlkZ2UuJGJvZHkuaHRtbChgPGRpdiBjbGFzcz0idHYtc2NyZWVuZXJfX21haW50ZW5hbmNlIj4ke18udChudWxsLHZvaWQgMCxvKDMzMjg1NSkpfTwvZGl2PmApfWluaXRIYW5kbGVycygpe3RoaXMuJHRvb2xiYXIub24oImhvdmVyIix0aGlzLmFkanVzdFRvb2xiYXJXaWR0aC5iaW5kKHRoaXMpKSx0aGlzLiRmaWVsZFNldHNCdXR0b24ub24oInRyYW5zaXRpb25lbmQiLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMuYmluZCh0aGlzKSk7Y29uc3QgZT1lPT57Y29uc3QgdD1lLmRhdGEoImZpZWxkIik7aWYoITE9PT1JdFt0XS5zb3J0YWJsZUNvbHVtbilyZXR1cm47Y29uc3Qgbz10aGlzLl9tb2RlbC5fc29ydEZpZWxkLnZhbHVlKCksaT10aGlzLl9tb2RlbC5fc29ydERpcmVjdGlvbi52YWx1ZSgpO0l0W3RdLmRpc2FibGVIZWFkZXJDb250cm9sfHwobz09PXQmJnRoaXMuX21vZGVsLl9zb3J0RGlyZWN0aW9uLnNldFZhbHVlKCJhc2MiPT09aT8iZGVzYyI6ImFzYyIpLHRoaXMuX21vZGVsLl9zb3J0RmllbGQuc2V0VmFsdWUodCksdGhpcy5fbW9kZWwudXBkYXRlKCkpfTtpZih3by5tb2JpbGV0b3VjaCl7KG5ldyBGaSkubG9hZCgpLnRoZW4oKHQ9Pntjb25zdCBvPW5ldyB0KHJzKCIudHYtc2NyZWVuZXIiKVswXSx7dG91Y2hBY3Rpb246ImF1dG8ifSk7by5nZXQoInByZXNzIikuc2V0KHt0aW1lOjUwMH0pLG8ub24oInByZXNzIiwoZT0+e2NvbnN0IHQ9cnMoZS50YXJnZXQpLmNsb3Nlc3QoIi5qcy1oZWFkLXdyYXAiKTtpZih0Lmxlbmd0aCl7R3Ioe3ZpZXc6dGhpcyxmaWVsZEtleTpycyh0KS5kYXRhKCJmaWVsZCIpLGU6ZS5zcmNFdmVudH0pfWUucHJldmVudERlZmF1bHQoKX0pKSxvLm9uKCJ0YXAiLCh0PT57aWYocnModC50YXJnZXQpLmNsb3Nlc3QoIi5qcy1zZWFyY2gtaW5wdXQiKS5sZW5ndGgpcmV0dXJuO2NvbnN0IG89cnModC50YXJnZXQpLmNsb3Nlc3QoIi5qcy1oZWFkLXdyYXAiKTtvLmxlbmd0aCYmZShvKX0pKX0pKX1lbHNlIHJzKCIudHYtc2NyZWVuZXIiKS5vbigiY2xpY2siLCIuanMtaGVhZC13cmFwIiwodD0+e2NvbnN0IG89cnModC5jdXJyZW50VGFyZ2V0KTtlKG8pLHQuc3RvcFByb3BhZ2F0aW9uKCl9KSkub24oImNvbnRleHRtZW51IiwiLmpzLWhlYWQtd3JhcCIsKGU9PntHcih7dmlldzp0aGlzLGZpZWxkS2V5OnJzKGUuY3VycmVudFRhcmdldCkuZGF0YSgiZmllbGQiKSxlfSksZS5wcmV2ZW50RGVmYXVsdCgpfSkpLHJzKCIudHYtc2NyZWVuZXIiKS5vbigiY2xpY2siLCIuanMtZmlsdGVyLWJ1dHRvbiIsKGU9Pntjb25zdCB0PXJzKGUuY3VycmVudFRhcmdldCkuY2xvc2VzdCgidGgiKSxvPXQuZGF0YSgiZmllbGQiKTt0aGlzLnNob3dJbnBsYWNlRWRpdG9yKG8sdCksZS5zdG9wUHJvcGFnYXRpb24oKX0pKTtycygiLnR2LXNjcmVlbmVyIikub24oImNsaWNrIiwiLmpzLXNlYXJjaC1pbnB1dCIsKGU9PntlLnN0b3BQcm9wYWdhdGlvbigpfSkpLHJzKCIudHYtc2NyZWVuZXIiKS5vbigiY2xpY2siLCIuanMtaW5wdXQtcmVzZXQiLChlPT57cnMoZS5jdXJyZW50VGFyZ2V0KS5hZGRDbGFzcygiaS1oaWRkZW4iKSxycygiLnR2LXNjcmVlbmVyIikuZmluZCgiLmpzLXNlYXJjaC1pbnB1dCIpLnZhbCgiIiksSXRbdGhpcy5fbW9kZWwuc2VhcmNoRmllbGRdLnNlYXJjaFZhbHVlPSIiLHRoaXMuX21vZGVsLnVwZGF0ZSgpLGUuc3RvcFByb3BhZ2F0aW9uKCl9KSkscnMoIi50di1zY3JlZW5lciIpLm9uKCJjbGljayIsIi5qcy1maWx0ZXItYnV0dG9uIiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KS5jbG9zZXN0KCJ0aCIpLG89dC5kYXRhKCJmaWVsZCIpO3RoaXMuc2hvd0lucGxhY2VFZGl0b3Iobyx0KSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpLHRoaXMuX2JyaWRnZS50YWJsZV9jb250ZXh0X21lbnVfZGlzYWJsZWR8fHRoaXMuX2luaXRUYWJsZUNvbnRleHRNZW51KCksdGhpcy4kY29udGVudC5vbigic2Nyb2xsdG9lbmQiLChlPT57dGhpcy5fbW9kZWwubG9hZGluZ3x8dGhpcy5fbW9kZWwudXBkYXRlKG51bGwsITApfSkpLHRoaXMuJHJlZnJlc2hCdXR0b24mJnRoaXMuJHJlZnJlc2hCdXR0b24uY2xpY2soKGU9PnsoMCxmbi5ydW5PclNpZ25JbikoKCgpPT57dGhpcy5fbW9kZWwubG9hZGluZ3x8dGhpcy5yZWZyZXNoKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHNpKX0pLHtzb3VyY2U6IlNjcmVlbmVyIHJlZnJlc2ggYnV0dG9uIn0pfSkpLHRoaXMuJGZpbHRlcnNCdXR0b24uY2xpY2soKCgpPT57dGhpcy5fZGlhbG9nLnNob3dGaWx0ZXJzRGlhbG9nKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHBpKCJmaWx0ZXJfYnV0dG9uIix0aGlzLl9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCkpKX0pKSxzcy5wcm9TeW1ib2wuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLiRjb250ZW50LmZpbmQoYFtkYXRhLXN5bWJvbD0iJHtlfSJdYCkuZ2V0KDApO3RoaXMuX3NldEFjdGl2ZUVsZW0odCksdGhpcy5fc2VsZWN0YWJsZUxpc3QmJih0P3RoaXMuX3NlbGVjdGFibGVMaXN0LmZvY3VzSXRlbSh0KTp0aGlzLl9zZWxlY3RhYmxlTGlzdC5jbGVhcigpKX0pKSx0aGlzLiRmaWVsZFNldHNCdXR0b24ub24oImNsaWNrIiwoKCk9Pnt0aGlzLl9sYXN0U2V0SWQ9bnVsbH0pKSx0aGlzLiR0b29sYmFyLm9uKCJjbGljayIsIi5qcy1mYXZvcml0ZS1pdGVtIiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KS5hdHRyKCJkYXRhLXNldCIpO3RoaXMuX2xhc3RTZXRJZCE9PXQmJih0aGlzLl9tb2RlbC5wcmV2ZW50UHJldlNjYW5SZXF1ZXN0KCksdGhpcy51cGRhdGVTZXRJZCh0LCExLHRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzKSksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFpvKCJjb2x1bW5zZXRfZmF2b3JpdGVzX3BpY2tlciIsdCkpfSkpLHRoaXMuJHRvb2xiYXIub24oImNsaWNrIiwiLmpzLXBlcmlvZC1waWNrZXItaXRlbSIsKGU9Pntjb25zdCB0PXJzKGUuY3VycmVudFRhcmdldCkuYXR0cigiZGF0YS1wZXJpb2QiKTt0aGlzLmNoYW5nZUVhcm5pbmdzUGVyaW9kKHQpfSkpLApycyh3aW5kb3cpLnJlc2l6ZSgoZT0+dGhpcy51cGRhdGVUb29sYmFyQnV0dG9ucygpKSksdGhpcy5fYnJpZGdlLndpZHRoJiZ0aGlzLl9icmlkZ2Uud2lkdGguc3Vic2NyaWJlKCgoKT0+dGhpcy51cGRhdGVUb29sYmFyQnV0dG9ucygpKSksdGhpcy5fYnJpZGdlLnZpc2libGUmJnRoaXMuX2JyaWRnZS52aXNpYmxlLnN1YnNjcmliZSgoZT0+e2UmJih0aGlzLnVwZGF0ZVRvb2xiYXJCdXR0b25zKCksdGhpcy5hZGp1c3RUb29sYmFyV2lkdGgoKSl9KSksdGhpcy51cGRhdGVGYXZvcml0ZXNUb29sYmFyKCl9X2luaXRUYWJsZUNvbnRleHRNZW51KCl7dGhpcy4kY29udGVudC5vbigiY29udGV4dG1lbnUiLCIudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ciLChlPT57Y29uc3QgdD1ycyhlLmN1cnJlbnRUYXJnZXQpLmRhdGEoInN5bWJvbCIpO3RoaXMuX3NlbGVjdGFibGVMaXN0JiZ0aGlzLl9zZWxlY3RhYmxlTGlzdC5mb2N1c0l0ZW0oZS5jdXJyZW50VGFyZ2V0KSxmdW5jdGlvbihlKXtjb25zdCB0PSgwLFZuLnRpY2tlcikoZS5zeW1ib2wpO3puKHsuLi5lLHNob3J0TmFtZTp0fSxRbixxbi5UYWJsZSl9KHt2aWV3OnRoaXMsc3ltYm9sOnQsZX0pLGUucHJldmVudERlZmF1bHQoKX0pKX1fb25TeW1ib2xzTmF2aWdhdGUoZSl7Y29uc3QgdD1lLmN1cnNvcjtpZih0KXtpZihUcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmdGhpcy5fc2V0QWN0aXZlRWxlbSh0KSxbInNlY3RvciIsImluZHVzdHJ5Il0uaW5jbHVkZXModGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSkpcmV0dXJuO2NvbnN0IGU9dC5kYXRhc2V0LnN5bWJvbDt0aGlzLl9jaGFuZ2VTeW1ib2woZSl9fV9jaGFuZ2VTeW1ib2woZSl7Y29uc3QgdD1zcy5wcmV2ZW50RmVlZEJ5U3ltYm9sO3NzLnNldFByZXZlbnRGZWVkQnlTeW1ib2woITApLHNzLnNldFN5bWJvbEFuZExvZ0luaXRpYXRvcihlLCJzY3JlZW5lciIpLHNzLnNldFByZXZlbnRGZWVkQnlTeW1ib2wodCksdGhpcy5fbW9kZWwudHJhY2tFdmVudCgiQ2hhbmdlIHN5bWJvbCBmcm9tIHRhYmxlIil9X3NldEFjdGl2ZUVsZW0oZSl7dGhpcy5fYWN0aXZlRWxlbSYmdGhpcy5fYWN0aXZlRWxlbS5jbGFzc0xpc3QucmVtb3ZlKCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tYWN0aXZlIiksZT8oZS5jbGFzc0xpc3QuYWRkKCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tYWN0aXZlIiksdGhpcy5fYWN0aXZlRWxlbT1lKTp0aGlzLl9hY3RpdmVFbGVtPW51bGx9X29uU3ltYm9sQ29uZmlybShlKXtlLml0ZW1zLmZvckVhY2goKHQ9Pntjb25zdCBvPXQuZGF0YXNldC5zeW1ib2w7byYmdGhpcy5fbGlmZWN5Y2xlLmFmdGVyU3ltYm9sQ29uZmlybShvLGUuYWN0aW9uKX0pKX1jaGFuZ2VFYXJuaW5nc1BlcmlvZChlLHQ9ITEpe2lmKHRoaXMuX3NlbGVjdGVkUGVyaW9kSWQ9PT1lKXJldHVybjt0aGlzLl9zZWxlY3RlZFBlcmlvZElkPWUsdGhpcy51cGRhdGVQZXJpb2RQaWNrZXIoKSx0aGlzLl9tb2RlbC5hcHBseUZpZWxkU2V0Q29udGVudChtKTsidG9tb3Jyb3ciPT09ZXx8Im5leHRfd2VlayI9PT1lPyhJdC5lYXJuaW5nc19wZXJfc2hhcmVfZnEubXV0YXRlRGlzcGxheVZhbHVlPSgpPT5xdCxJdC5lcHNfc3VycHJpc2VfZnEubXV0YXRlRGlzcGxheVZhbHVlPSgpPT5xdCxJdC5lcHNfc3VycHJpc2VfcGVyY2VudF9mcS5tdXRhdGVEaXNwbGF5VmFsdWU9KCk9PnF0LEl0LnJldmVudWVfZnEubXV0YXRlRGlzcGxheVZhbHVlPSgpPT5xdCk6VXQoKSx0fHx0aGlzLl9zZXROZXdFYXJuaW5nc1BlcmlvZChlLCgoKT0+e3RoaXMuX3Jlc2V0RmllbGQoImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiksdGhpcy5fbW9kZWwucHJldmVudFByZXZTY2FuUmVxdWVzdCgpLHRoaXMuX21vZGVsLnVwZGF0ZSgpfSkpfV9zZXROZXdFYXJuaW5nc1BlcmlvZChlLHQ9KCk9Pnt9KXtjb25zdCBvPUl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnNvdXJjZVJhbmdlLmZpbmQoKHQ9PnQua2V5PT09ZSkpO28mJihJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZS52YWx1ZT1vLm5hbWUsdCgpKX1nZXQgdG90YWxDb3VudCgpe3JldHVybiB0aGlzLl90b3RhbENvdW50fWdldCBpdGVtc0NvdW50KCl7cmV0dXJuIHRoaXMuX2l0ZW1zQ291bnR9c2V0IGl0ZW1zQ291bnQoZSl7dGhpcy5faXRlbXNDb3VudD0rZX1zZXQgbGFzdFNldElkKGUpe3RoaXMuX2xhc3RTZXRJZD1lfWdldCBwb3B1cHMoKXtyZXR1cm4gdGhpcy5fcG9wdXBzfWlzRW5kUmVhY2hlZCgpe3JldHVybiAwPT09dGhpcy5fZGF0YS5sZW5ndGh8fCJudW1iZXIiPT10eXBlb2YgdGhpcy5fdG90YWxDb3VudCYmdGhpcy5fZGF0YS5sZW5ndGg+PXRoaXMuX3RvdGFsQ291bnR9ZGlzcGxheShlLHQsbyl7aWYodGhpcy5faGlkZVNwaW5uZXIoKSx0aGlzLl9zZXRGaWx0ZXJzQ291bnQoKSx0aGlzLl9zZXRNYXJrZXRzQ291bnQoKSx0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLHRoaXMuX21vZGVsLmlzRmlsdGVyU2V0Q2hhbmdlZCgpKSwhZXx8ZS5lcnJvcnx8IWUuZGF0YSYmIWUuc3ltYm9scykiYWJvcnQiIT09byYmKHRoaXMucmVzZXRJdGVtcygpLHRoaXMuX3RhYmxlLnNldENvbHVtbnNNYXAodCksdGhpcy5fdGFibGUudXBkYXRlKFtdKSx0aGlzLl9yZXNldEZpZWxkKCJuYW1lIiksImVycm9yIj09PW8/bHMubG9nRXJyb3IoZS5yZXNwb25zZVRleHR8fG8pOmUmJmUuZXJyb3ImJmxzLmxvZ0Vycm9yKGUuZXJyb3IpKTtlbHNle2xldCBvPWUuZGF0YXx8ZS5zeW1ib2xzO2ZvcihsZXQgZT0wO2U8by5sZW5ndGg7KytlKW9bZV0uZiYmKG9bZV0uZD1vW2VdLmYpO2lmKHZvaWQgMD09PXRoaXMuX3RvdGFsQ291bnQpdGhpcy5fYnJpZGdlLnRhYmxlX3N0eWxlfHx0aGlzLmZpeFN0YW5kYWxvbmVXaWR0aCgpLHRoaXMuX3RhYmxlLnNldENvbHVtbnNNYXAodCksdGhpcy5fdGFibGUudXBkYXRlKG8pLHRoaXMuX2RhdGE9bztlbHNle2NvbnN0IGU9dGhpcy5fZ2V0SW52YWxpZGF0ZWRGcm9tKG8pOzA9PT1lPyh0aGlzLl9kYXRhPW8sCnRoaXMuX3RhYmxlLnNldENvbHVtbnNNYXAodCksdGhpcy5fdGFibGUudXBkYXRlKG8pKTooZT4wPyhvPW8uc2xpY2UoZSksdGhpcy5fZGF0YT10aGlzLl9kYXRhLnNsaWNlKDAsZSksdGhpcy5fdGFibGUuY2xlYXJEYXRhKGUpKTpvPW8uc2xpY2UodGhpcy5fZGF0YS5sZW5ndGgpLHRoaXMuX2RhdGE9dGhpcy5fZGF0YS5jb25jYXQobyksdGhpcy5fdGFibGUuc2V0Q29sdW1uc01hcCh0KSx0aGlzLl90YWJsZS5hcHBlbmQobykpfXNldFRpbWVvdXQoKCgpPT50aGlzLmhpZ2hsaWdodENoYW5nZXMoKSksMCksdGhpcy5fdG90YWxDb3VudD1lLnRvdGFsQ291bnQsdGhpcy5fcmVzZXRTZWFyY2hDb3VudCgpLHRoaXMuX21vZGVsLl9pbml0aWFsU29ydEZpZWxkJiYodGhpcy5fbW9kZWwuX3NvcnRGaWVsZC5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5faW5pdGlhbFNvcnRGaWVsZCwhMCksdGhpcy5fbW9kZWwuX3NvcnREaXJlY3Rpb24uc2V0VmFsdWUodGhpcy5fbW9kZWwuX2luaXRpYWxTb3J0RGlyZWN0aW9uLCEwKSxkZWxldGUgdGhpcy5fbW9kZWwuX2luaXRpYWxTb3J0RmllbGQsZGVsZXRlIHRoaXMuX21vZGVsLl9pbml0aWFsU29ydERpcmVjdGlvbil9fV9nZXRJbnZhbGlkYXRlZEZyb20oZSl7Zm9yKGxldCB0PTA7dDx0aGlzLl9kYXRhLmxlbmd0aDsrK3Qpe2lmKCFlW3RdfHx0aGlzLl9kYXRhW3RdLnMhPT1lW3RdLnN8fCFlW3RdLmQpcmV0dXJuIHQ7Zm9yKGxldCBvPTA7bzx0aGlzLl9kYXRhW3RdLmQubGVuZ3RoOysrbylpZih0aGlzLl9kYXRhW3RdLmRbb10hPT1lW3RdLmRbb10pcmV0dXJuIHR9cmV0dXJuLTF9Z2V0IHRhYmxlKCl7cmV0dXJuIHRoaXMuX3RhYmxlfXJlc2V0SXRlbXMoKXtkZWxldGUgdGhpcy5fdG90YWxDb3VudCx0aGlzLl9kYXRhPVtdfV9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5jdXJyZW50RmlsdGVyU3RhdGUoKTtyZXR1cm4gZS5maWx0ZXJzJiZPYmplY3Qua2V5cyhlLmZpbHRlcnMpLmxlbmd0aHx8MH1fc2V0RmlsdGVyc0NvdW50KCl7Y29uc3QgZT10aGlzLl9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCk7dGhpcy4kZmlsdGVyQ291bnQudGV4dChgJHtlfWApLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCFlKX1fc2V0TWFya2V0c0NvdW50KCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYXJrZXRzLmxlbmd0aDt0aGlzLiRtYXJrZXRDb3VudCYmdGhpcy4kbWFya2V0Q291bnQudGV4dChgJHtlfWApLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLDE9PT1lfHx0aGlzLl9tb2RlbC5pc0VudGlyZVdvcmxkKX1fY29uY2F0RmllbGRWYWx1ZXMoZSx0KXt2YXIgbz1bXTtyZXR1cm4gZS5mb3JFYWNoKChlPT57by5wdXNoKHRoaXMuX2dldEZpZWxkVmFsdWVGcm9tUmFuZ2VUaXRsZXMoZSx0KSl9KSksby5qb2luKCIsICIpfV9nZXRGaWVsZFZhbHVlRnJvbVJhbmdlVGl0bGVzKGUsdCxvPSExKXtyZXR1cm4gSXRbdF0ucmFuZ2VUaXRsZXMmJkl0W3RdLnJhbmdlVGl0bGVzW2VdP0l0W3RdLnJhbmdlVGl0bGVzW2VdW28/MTowXToic3RyaW5nIiE9dHlwZW9mIGU/IiI6ZX1maWVsZFZhbHVlU3RyaW5nKGUpe2NvbnN0IHQ9SXRbZV0udmFsdWU7aWYobXQodCl8fCExPT09dClyZXR1cm4iIjtpZigic2VsZWN0Ij09PUl0W2VdLmNvbnRyb2wpe2NvbnN0IGk9Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gaXRlbXMiLGNvdW50OnQubGVuZ3RoLGNvbnRleHQ6ImNvbWJvYm94X2lucHV0In0sbyg5ODM3NjQpKS5mb3JtYXQoe251bWJlcjp0Lmxlbmd0aH0pO3JldHVybiBBcnJheS5pc0FycmF5KHQpP2A8c3BhbiB0aXRsZT0iJHt0aGlzLl9jb25jYXRGaWVsZFZhbHVlcyh0LGUpfSIgY2xhc3M9ImFwcGx5LWNvbW1vbi10b29sdGlwIj4ke2l9PC9zcGFuPmA6dGhpcy5fZ2V0RmllbGRWYWx1ZUZyb21SYW5nZVRpdGxlcyh0LGUsImRyIj09PXQmJiJuYW1lIj09PWUpfXJldHVybiJyYW5nZSI9PT1JdFtlXS5jb250cm9sP0FycmF5LmlzQXJyYXkodCk/dGhpcy5fcmFuZ2VMZWZ0VmFsdWUoZSkrIiDigJMgIit0aGlzLl9yYW5nZVJpZ2h0VmFsdWUoZSk6IiI6InRvZ2dsZSI9PT1JdFtlXS5jb250cm9sPy0xIT09ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImhpZ2giKT9fLnQobnVsbCx2b2lkIDAsbygzMDU0MDYpKTpfLnQobnVsbCx2b2lkIDAsbyg1MzgyNTQpKToiY29uZGl0aW9uIiE9PUl0W2VdLmNvbnRyb2x8fG10KHQub3BlcmF0b3IpfHxtdCh0LnZhbHVlKT8iIjoiaW5fcmFuZ2UiPT09dC5vcGVyYXRvcj90LnZhbHVlWzBdPT09dC52YWx1ZVsxXT9jcy5lcXVhbCsiICIrdC52YWx1ZVswXTotMWUxMDA9PT10LnZhbHVlWzBdfHx0aGlzLl9pc0xlc3NUaGVuTWluKHQudmFsdWVbMF0sZSk/Y3MubGVzcysiICIrdC52YWx1ZVsxXToxZTEwMD09PXQudmFsdWVbMV18fHRoaXMuX2lzR3JlYXRlclRoZW5NYXgodC52YWx1ZVsxXSxlKT9jcy5ncmVhdGVyKyIgIit0LnZhbHVlWzBdOnRoaXMuX3JhbmdlTGVmdFZhbHVlKGUpKyIg4oCTICIrdGhpcy5fcmFuZ2VSaWdodFZhbHVlKGUpOiJub3RfaW5fcmFuZ2UiPT09dC5vcGVyYXRvcj90LnZhbHVlWzBdPT09dC52YWx1ZVsxXT9jcy5uZXF1YWwrIiAiK3QudmFsdWVbMF06LTFlMTAwPT09dC52YWx1ZVswXXx8dGhpcy5faXNMZXNzVGhlbk1pbih0LnZhbHVlWzBdLGUpP2NzLmdyZWF0ZXIrIiAiK3QudmFsdWVbMV06MWUxMDA9PT10LnZhbHVlWzFdfHx0aGlzLl9pc0dyZWF0ZXJUaGVuTWF4KHQudmFsdWVbMV0sZSk/Y3MubGVzcysiICIrdC52YWx1ZVswXTpgJHtjcy5ub3RfaW5fcmFuZ2V9ICR7dGhpcy5fcmFuZ2VMZWZ0VmFsdWUoZSl9IOKAkyAke3RoaXMuX3JhbmdlUmlnaHRWYWx1ZShlKX1gOmNzW3Qub3BlcmF0b3JdKyIgIisoIm51bWJlciI9PXR5cGVvZiB0LnZhbHVlP3QudmFsdWU6SXRbdC52YWx1ZV0udGl0bGUpfXVwZGF0ZVRvb2xiYXJCdXR0b25zKCl7dGhpcy5fYnJpZGdlLnBlcmlvZF9waWNrZXI/dGhpcy51cGRhdGVQZXJpb2RQaWNrZXIoKTp0aGlzLl9icmlkZ2Uub3JpZ2luYWxTdGFuZGFsb25lJiZ0aGlzLnVwZGF0ZU9sZEZhdm9yaXRlc1Rvb2xiYXIoKX11cGRhdGVPbGRGYXZvcml0ZXNUb29sYmFyKCl7CnRoaXMuJGhpZGRlbkZhdm9yaXRlc0J1dHRvbldyYXAmJnRoaXMuJGhpZGRlbkZhdm9yaXRlc0J1dHRvbldyYXAuaGlkZSgpLHRoaXMuJGZhdm9yaXRlc0Jhci5maW5kKCIuanMtZmF2b3JpdGUtaXRlbSIpLnJlbW92ZSgpO2xldCBlPTA7dGhpcy5oaWRkZW5GYXZvcml0ZXM9W107Y29uc3QgdD10aGlzLiRmYXZvcml0ZXNCYXIud2lkdGgoKSxpPSJmb3JleCIhPT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlfHx0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9scz80MDoxNjAsbj1lPT5lPT09dGhpcy5fbW9kZWwuY3VycmVudEZpZWxkU2V0SWQoKTtpZih0aGlzLl9tb2RlbC5mYXZvcml0ZUZpZWxkU2V0cyl7bGV0IG89bnVsbDtmb3IobGV0IHI9MDtyPHRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmxlbmd0aDsrK3Ipe2NvbnN0IHM9dGhpcy5fbW9kZWwuZmF2b3JpdGVGaWVsZFNldHNbcl0sYT10aGlzLl9tb2RlbC5nZXRGaWVsZFNldEJ5SWQocyk7aWYoIWEpcmV0dXJuO2NvbnN0IGw9cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1pdGVtIGpzLWZhdm9yaXRlLWl0ZW0iIGRhdGEtc2V0PSIke2EuaWR9Ij5cblx0XHRcdFx0XHQkeygwLEVpLmh0bWxFc2NhcGUpKGEudGl0bGUpfVxuXHRcdFx0XHQ8L2Rpdj5gKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0tLWFjdGl2ZSIsbihhLmlkKSk7bz9sLmluc2VydEFmdGVyKG8pOmwucHJlcGVuZFRvKHRoaXMuJGZhdm9yaXRlc0Jhcik7bGV0IGM9bC5vdXRlcldpZHRoKCk7bFswXS5zY3JvbGxXaWR0aD5jJiZsLmFkZENsYXNzKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLmF0dHIoInRpdGxlIixhLnRpdGxlKSxjKz05LGUrPWMsZStpPnQ/KGUtPWMsbC5yZW1vdmUoKSx0aGlzLmhpZGRlbkZhdm9yaXRlcy5wdXNoKHtpZDphLmlkLHRpdGxlOmEudGl0bGV9KSk6bz1sfX1pZih0aGlzLmhpZGRlbkZhdm9yaXRlcy5sZW5ndGgpe2lmKHRoaXMuaGlkZGVuRmF2b3JpdGVzLmxlbmd0aD09PXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmxlbmd0aCYmdGhpcy4kaGlkZGVuRmF2b3JpdGVzQnV0dG9uV3JhcClyZXR1cm4gdm9pZCB0aGlzLiRoaWRkZW5GYXZvcml0ZXNCdXR0b25XcmFwLmhpZGUoKTtpZih0aGlzLiRoaWRkZW5GYXZvcml0ZXNCdXR0b25XcmFwKXRoaXMuJGhpZGRlbkZhdm9yaXRlc0J1dHRvbldyYXAudHJpZ2dlcigicmVzZXRDb250ZW50Iikuc2hvdygpO2Vsc2V7Y29uc3QgZT1ycyhgPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0gdHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLW1vcmUgYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtZml4ZWQiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDI2MDYwNSkpfSI+YCkuYXBwZW5kVG8odGhpcy4kZmF2b3JpdGVzQmFyKTt0aGlzLiRoaWRkZW5GYXZvcml0ZXNCdXR0b25XcmFwPXRoaXMuX3BvcHVwcy5zZXRIaWRkZW5GYXZvcml0ZXNQb3B1cChlLCgoKT0+dGhpcy5oaWRkZW5GYXZvcml0ZXMpLG4sKGU9PnRoaXMudXBkYXRlU2V0SWQoZSwhMSx0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9scykpKX19fXVwZGF0ZVNldElkKGUsdCxvKXt0aGlzLl9sYXN0U2V0SWQ9ZSx0aGlzLl9tb2RlbC5hcHBseUZpZWxkU2V0KGUsdCxvKX11cGRhdGVOZXdGYXZvcml0ZXNUb29sYmFyKCl7aWYoIXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzKXJldHVybjtjb25zdCBlPXtpdGVtczp0aGlzLl9tb2RlbC5mYXZvcml0ZUZpZWxkU2V0cy5tYXAoKGU9Pih7dGl0bGU6dGhpcy5fbW9kZWwuZ2V0RmllbGRTZXRCeUlkKGUpLnRpdGxlfSkpKSxhY3RpdmVJdGVtOnRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YodGhpcy5fbW9kZWwuY3VycmVudEZpZWxkU2V0SWQoKSksb25TZWxlY3Q6ZT0+e2NvbnN0IHQ9dGhpcy5fbW9kZWwuZmF2b3JpdGVGaWVsZFNldHNbZV07dGhpcy5fbGFzdFNldElkIT09dCYmKHRoaXMuX21vZGVsLnByZXZlbnRQcmV2U2NhblJlcXVlc3QoKSx0aGlzLnVwZGF0ZVNldElkKHQsITEsdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMpKX0sY2xhc3NOYW1lOiJ0di1zY3JlZW5lci10b29sYmFyX19uby1zY3JvbGwtY2hvaWNlci1yZWFjdC1yb290IixzZWxlY3RlZEl0ZW1DbGFzc05hbWU6InR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3QtZHJvcGRvd24taXRlbS0tc2VsZWN0ZWQifTt2bih0aGlzLiRmYXZvcml0ZXNCYXIuZ2V0KDApLGUpfXVwZGF0ZUZhdm9yaXRlc1Rvb2xiYXIoKXt0aGlzLl9vbldpZGdldHx8KHRoaXMuX2JyaWRnZS5vcmlnaW5hbFN0YW5kYWxvbmU/dGhpcy51cGRhdGVPbGRGYXZvcml0ZXNUb29sYmFyKCk6dGhpcy51cGRhdGVOZXdGYXZvcml0ZXNUb29sYmFyKCkpfXVwZGF0ZVBlcmlvZFBpY2tlcigpe2NvbnN0IGU9e2l0ZW1zOnRoaXMuX3BlcmlvZFBpY2tlckJ1dHRvbnMubWFwKChlPT4oe3RpdGxlOmUudGl0bGV9KSkpLGFjdGl2ZUl0ZW06dGhpcy5fcGVyaW9kUGlja2VyQnV0dG9ucy5maW5kSW5kZXgoKGU9PmUuaWQ9PT10aGlzLl9zZWxlY3RlZFBlcmlvZElkKSksb25TZWxlY3Q6ZT0+e2NvbnN0IHQ9dGhpcy5fcGVyaW9kUGlja2VyQnV0dG9uc1tlXS5pZDt0aGlzLmNoYW5nZUVhcm5pbmdzUGVyaW9kKHQpfSxjbGFzc05hbWU6InR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3QiLHNlbGVjdGVkSXRlbUNsYXNzTmFtZToidHYtc2NyZWVuZXItdG9vbGJhcl9fbm8tc2Nyb2xsLWNob2ljZXItcmVhY3Qtcm9vdC1kcm9wZG93bi1pdGVtLS1zZWxlY3RlZCJ9O3ZuKHRoaXMuJHBlcmlvZFBpY2tlci5nZXQoMCksZSl9X2dldFdhdGNobGlzdCgpe2lmKHdpbmRvdy53aWRnZXRiYXIpe2NvbnN0IHQ9d2luZG93LndpZGdldGJhci5zZXRQYWdlKCJiYXNlIik7bGV0IG87Zm9yKHZhciBlPTA7ZTx0LndpZGdldHMubGVuZ3RoO2UrKylpZigid2F0Y2hsaXN0Ij09PXQud2lkZ2V0c1tlXS50eXBlKXtvPXQud2lkZ2V0c1tlXS53aWRnZXRPYmplY3QKO2JyZWFrfXJldHVybiBvfXJldHVybiBudWxsfWFkanVzdFRvb2xiYXJXaWR0aChlKXtjb25zdCB0PXRoaXMuJGZpZWxkU2V0c0J1dHRvblswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihlJiYibW91c2VlbnRlciI9PT1lLnR5cGUpdGhpcy4kZmllbGRTZXRzQnV0dG9uLmNzcygid2lkdGgiLHQud2lkdGgpO2Vsc2V7dGhpcy4kZmllbGRTZXRzQnV0dG9uLmNzcygid2lkdGgiLCJhdXRvIik7Y29uc3QgZT10aGlzLiRmaWVsZFNldHNCdXR0b25bMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy4kZmllbGRTZXRzQnV0dG9uLmNzcygid2lkdGgiLHQud2lkdGgpLHRoaXMuJGZpZWxkU2V0c0J1dHRvblswXS5vZmZzZXRXaWR0aCx0aGlzLiRmaWVsZFNldHNCdXR0b24uY3NzKCJ3aWR0aCIsZS53aWR0aCl9fWluaXRGaWx0ZXJIYW5kbGVycyhlKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgZT17fSx0PWlpLlVzZXJBY3Rpb25TdGF0ZS5UeXBlO3JldHVybihvLGksbixyKT0+e2xldCBzPW47ZS5oYXNPd25Qcm9wZXJ0eShvKSYmKGVbb10uc3RhdGU9PT10JiYocz10KSxjbGVhclRpbWVvdXQoZVtvXS5zZW5kZXIpLG49PT1paS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2smJiExPT09aSl8fChlW29dPXtzdGF0ZTpzLHNlbmRlcjpzZXRUaW1lb3V0KCgoKT0+KDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHlpKGkudG9TdHJpbmcoKSxuLG8scikpKSwxZTQpfSl9fSgpLG89KGUsdCk9PnQucmVkdWNlKCgodCxvKT0+KG89PT1lJiYoby09MSksdCs9TWF0aC5mbG9vcihvL2UvKDEvNCkpKSksIiIpO2Uub2ZmKCJjaGFuZ2Uub3AiKS5vbigiY2hhbmdlLm9wIiwic2VsZWN0LmpzLWZpbHRlci1vcGVyYXRvciIsKG89Pntjb25zdCBpPXJzKG8udGFyZ2V0KSxuPWkuYXR0cigibmFtZSIpO0l0W25dLnZhbHVlfHwoSXRbbl0udmFsdWU9e30pLEl0W25dLnZhbHVlLm9wZXJhdG9yPWkudmFsKCksdGhpcy5fcmVzZXRGaWVsZChuKSx0aGlzLl9tb2RlbC51cGRhdGUoKTtjb25zdHtvcGVyYXRvcjpyfT1JdFtuXS52YWx1ZSxzPWUuaGFzQ2xhc3MoInR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkIik/ImZpbHRlcl9kaWFsb2ciOiJjb2x1bW5zIjt0KG4scixpaS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2sscyl9KSksZS5vZmYoImNoYW5nZS5vcC12YWwiKS5vbigiY2hhbmdlLm9wLXZhbCIsInNlbGVjdC5qcy1maWx0ZXItb3BlcmF0b3ItdmFsdWUiLChvPT57Y29uc3QgaT1ycyhvLnRhcmdldCkse3ZhbHVlOm59PW8udGFyZ2V0LHI9aS5hdHRyKCJuYW1lIik7SXRbcl0udmFsdWV8fChJdFtyXS52YWx1ZT17fSksSXRbcl0udmFsdWUudmFsdWU9aS52YWwoKSx0aGlzLl9yZXNldEZpZWxkKHIpLHRoaXMuX21vZGVsLnVwZGF0ZSgpO2xldHtvcGVyYXRvcjpzfT1JdFtyXS52YWx1ZTtjb25zdCBhPWUuaGFzQ2xhc3MoInR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkIik/ImZpbHRlcl9kaWFsb2ciOiJjb2x1bW5zIjsiIiE9PW4mJihzKz0iLiIrbiksdChyLHMsaWkuVXNlckFjdGlvblN0YXRlLkNsaWNrLGEpfSkpLGUub2ZmKCJ1cGRhdGUub3AtYXJiLXZhbCIpLm9uKCJ1cGRhdGUub3AtYXJiLXZhbCIsImlucHV0LmpzLWZpbHRlci1vcGVyYXRvci1hcmItdmFsdWUiLChvPT57Y29uc3QgaT1ycyhvLnRhcmdldCksbj1pLmF0dHIoIm5hbWUiKTtJdFtuXS52YWx1ZXx8KEl0W25dLnZhbHVlPXt9KTtsZXQgcj0raS52YWwoKTtpc0Zpbml0ZShyKSYmIW10KGkudmFsKCkpfHwocj1udWxsKSxJdFtuXS52YWx1ZS52YWx1ZT1yLHRoaXMuX3Jlc2V0RmllbGQobiksdGhpcy5fbW9kZWwudXBkYXRlKCk7Y29uc3R7b3BlcmF0b3I6c309SXRbbl0udmFsdWUsYT1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyI7dChuLHMsaWkuVXNlckFjdGlvblN0YXRlLkNsaWNrLGEpfSkpO2NvbnN0IGk9ZS5maW5kKCJpbnB1dC5qcy1maWx0ZXItb3BlcmF0b3ItYmV0d2Vlbi1sZWZ0Iiksbj1lLmZpbmQoImlucHV0LmpzLWZpbHRlci1vcGVyYXRvci1iZXR3ZWVuLXJpZ2h0Iikscj1lPT57Y29uc3QgdD1ycyhlLnRhcmdldCkuYXR0cigibmFtZSIpO0l0W3RdLnZhbHVlfHwoSXRbdF0udmFsdWU9e30pO2xldCBvPStpLnZhbCgpOyghaXNGaW5pdGUobyl8fG10KGkudmFsKCkpfHx0aGlzLl9pc0xlc3NUaGVuTWluKG8sdCl8fHRoaXMuX2lzR3JlYXRlclRoZW5NYXgobyx0KSkmJihvPS0xZTEwMCk7bGV0IHI9K24udmFsKCk7aWYoKCFpc0Zpbml0ZShyKXx8bXQobi52YWwoKSl8fHRoaXMuX2lzTGVzc1RoZW5NaW4ocix0KXx8dGhpcy5faXNHcmVhdGVyVGhlbk1heChyLHQpKSYmKHI9MWUxMDApLG8+cil7Y29uc3QgZT1vO289cixyPWV9SXRbdF0udmFsdWUudmFsdWU9W28scl0sLTFlMTAwPT09SXRbdF0udmFsdWUudmFsdWVbMF0mJjFlMTAwPT09SXRbdF0udmFsdWUudmFsdWVbMV0mJihJdFt0XS52YWx1ZS52YWx1ZT0iIiksdGhpcy5fcmVzZXRGaWVsZCh0KSx0aGlzLl9tb2RlbC51cGRhdGUoKX07ZS5vZmYoInVwZGF0ZS5vcC1iZXR3ZWVuLWxlZnQtdmFsIikub24oInVwZGF0ZS5vcC1iZXR3ZWVuLWxlZnQtdmFsIiwiaW5wdXQuanMtZmlsdGVyLW9wZXJhdG9yLWJldHdlZW4tbGVmdCIsciksZS5vZmYoInVwZGF0ZS5vcC1iZXR3ZWVuLXJpZ2h0LXZhbCIpLm9uKCJ1cGRhdGUub3AtYmV0d2Vlbi1yaWdodC12YWwiLCJpbnB1dC5qcy1maWx0ZXItb3BlcmF0b3ItYmV0d2Vlbi1yaWdodCIsciksZS5vZmYoImNoYW5nZS50b2dnbGUtdmFsIikub24oImNoYW5nZS50b2dnbGUtdmFsIiwiaW5wdXQuanMtZmlsdGVyLXRvZ2dsZSIsKG89Pntjb25zdCBpPXJzKG8udGFyZ2V0KSxuPWkuYXR0cigibmFtZSIpO0l0W25dLnZhbHVlPWkucHJvcCgiY2hlY2tlZCIpLHRoaXMuX3Jlc2V0RmllbGQobiksdGhpcy5fbW9kZWwudXBkYXRlKCk7Y29uc3Qgcj1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyI7dChuLGkucHJvcCgiY2hlY2tlZCIpLGlpLlVzZXJBY3Rpb25TdGF0ZS5DbGljayxyKQp9KSksZS5vZmYoImNsaWNrLnJlc2V0Iikub24oImNsaWNrLnJlc2V0IiwiLmpzLXJlc2V0IiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKCJmaWVsZCIpO3RoaXMucmVzZXRGaWx0ZXIodCl9KSk7bGV0IHM9IiI7ZS5vZmYoImtleWRvd24uZmlsdGVySW5wdXQiKS5vbigia2V5ZG93bi5maWx0ZXJJbnB1dCIsImlucHV0Om5vdCguanMtc2VhcmNoLWlucHV0KTpub3QoLmpzLWZpbHRlci1vcGVyYXRvci1hcmItdmFsdWUpIiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KTtzPXQudmFsKCl9KSksZS5vZmYoImtleXVwLmZpbHRlcklucHV0Iikub24oImtleXVwLmZpbHRlcklucHV0IiwiaW5wdXQ6bm90KC5qcy1zZWFyY2gtaW5wdXQpOm5vdCguanMtZmlsdGVyLW9wZXJhdG9yLWFyYi12YWx1ZSkiLChpPT57Y29uc3Qgbj1ycyhpLmN1cnJlbnRUYXJnZXQpLHI9bi5kYXRhKCJmaWVsZCIpLGE9bi5kYXRhKCJib3VuZCIpO2lmKHZvaWQgMD09PXJ8fHZvaWQgMD09PWF8fHM9PT1uLnZhbCgpKXJldHVybjtjb25zdCBsPVt0aGlzLnBhcnNlUmFuZ2VWYWx1ZShyLG4udmFsKCksYSksSXRbcl0udmFsdWU/SXRbcl0udmFsdWVbMS1hXTpJdFtyXS5yYW5nZVsxLWFdXS5zb3J0KHRoaXMuX21vZGVsLm51bWVyaWNTb3J0ZXIpLGM9dGhpcy5hcHByb3hpbWF0ZVNsaWRlclZhbHVlcyhyLGwpO2lmKGUuZmluZChgLnR2LXNsaWRlcltkYXRhLWZpZWxkPSIke3J9Il1gKS5zbGlkZXIoInZhbHVlcyIsYyksSXRbcl0udmFsdWU9bCx0aGlzLl9yZXNldEZpZWxkKHIpLHRoaXMuX21vZGVsLnVwZGF0ZSgpLEl0W3JdLnZhbHVlcyl7Y29uc3QgaT1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyIsbj1vKEl0W3JdLnZhbHVlcy5sZW5ndGgrMSxjKTt0KHIsbixpaS5Vc2VyQWN0aW9uU3RhdGUuVHlwZSxpKX19KSk7ZS5maW5kKCIudHYtc2xpZGVyIikub2ZmKCJzbGlkZWNoYW5nZSIpLm9uKCJzbGlkZWNoYW5nZSIsKChlLHQpPT57Y29uc3Qgbz1ycyhlLmN1cnJlbnRUYXJnZXQpLmRhdGEoImZpZWxkIik7SXRbb10udmFsdWVzPzA9PT10LnZhbHVlc1swXSYmdC52YWx1ZXNbMV09PT1JdFtvXS52YWx1ZXMubGVuZ3RoKzE/SXRbb10udmFsdWU9bnVsbDpJdFtvXS52YWx1ZT1bMD09PXQudmFsdWVzWzBdPy0xZTEwMDpwYXJzZUludChJdFtvXS52YWx1ZXNbdC52YWx1ZXNbMF0tMV0sMTApLHQudmFsdWVzWzFdPT09SXRbb10udmFsdWVzLmxlbmd0aCsxPzFlMTAwOnBhcnNlSW50KEl0W29dLnZhbHVlc1t0LnZhbHVlc1sxXS0xXSwxMCldOnQudmFsdWVzWzBdPT09SXRbb10ucmFuZ2VbMF0mJnQudmFsdWVzWzFdPT09SXRbb10ucmFuZ2VbMV0/SXRbb10udmFsdWU9bnVsbDpJdFtvXS52YWx1ZT10LnZhbHVlcyx0aGlzLl9yZXNldEZpZWxkKG8pLHRoaXMuX21vZGVsLnVwZGF0ZSgpfSkpLm9mZigic2xpZGUiKS5vbigic2xpZGUiLCgoZSx0KT0+e2NvbnN0IG89cnMoZS5jdXJyZW50VGFyZ2V0KSxpPW8uZGF0YSgiZmllbGQiKTtsZXQgbj10LnZhbHVlc1swXSxyPXQudmFsdWVzWzFdO2lmKG49PT1yKXJldHVybiExO0l0W2ldLnZhbHVlcyYmKG49MD09PXQudmFsdWVzWzBdP3RoaXMuX3JhbmdlTWluVmFsdWUoaSk6enQoSXRbaV0sdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSkuZm9ybWF0KEl0W2ldLnZhbHVlc1t0LnZhbHVlc1swXS0xXSkscj10LnZhbHVlc1sxXT09PUl0W2ldLnZhbHVlcy5sZW5ndGgrMT90aGlzLl9yYW5nZU1heFZhbHVlKGkpOnp0KEl0W2ldLHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpLmZvcm1hdChJdFtpXS52YWx1ZXNbdC52YWx1ZXNbMV0tMV0pKSx0LnZhbHVlPT09dC52YWx1ZXNbMF0/by5maW5kKCIudHYtc2xpZGVyX19sYWJlbC0tbGVmdCIpLnZhbChuKToodC52YWx1ZT09PXQudmFsdWVzWzFdfHxvLmZpbmQoIi50di1zbGlkZXJfX2xhYmVsLS1sZWZ0IikudmFsKG4pLG8uZmluZCgiLnR2LXNsaWRlcl9fbGFiZWwtLXJpZ2h0IikudmFsKHIpKX0pKS5vbigic2xpZGVjaGFuZ2UiLCgoaSxuKT0+e2NvbnN0IHI9cnMoaS5jdXJyZW50VGFyZ2V0KS5kYXRhKCJmaWVsZCIpO2lmKEl0W3JdLnZhbHVlcyl7Y29uc3QgaT1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyIscz1vKEl0W3JdLnZhbHVlcy5sZW5ndGgrMSxuLnZhbHVlcyk7dChyLHMsaWkuVXNlckFjdGlvblN0YXRlLlNsaWRlLGkpfX0pKX1wYXJzZVJhbmdlVmFsdWUoZSx0LG8pe2lmKC0xIT09dC5pbmRleE9mKCI8IikpcmV0dXJuIEl0W2VdLnJhbmdlWzBdO2lmKC0xIT09dC5pbmRleE9mKCI+IikpcmV0dXJuIEl0W2VdLnJhbmdlWzFdO3Q9dC5yZXBsYWNlKC8lL2csIiIpO2xldCBpPXp0KEl0W2VdLHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpLnBhcnNlKHQpO2lmKCFpLnJlcylyZXR1cm4gSXRbZV0ucmFuZ2Vbb107Y29uc3Qgbj1pLnZhbHVlfHwwPT09aS52YWx1ZT9pLnZhbHVlOmkucHJpY2U7cmV0dXJuIGk9TWF0aC5taW4oSXRbZV0ucmFuZ2VbMV0sTWF0aC5tYXgoSXRbZV0ucmFuZ2VbMF0sbikpLGl9YXBwcm94aW1hdGVTbGlkZXJWYWx1ZXMoZSx0KXtjb25zdCBvPVswLDBdLGk9W10uY29uY2F0KC0xZTEwMCxJdFtlXS52YWx1ZXMsMWUxMDApO2ZvcihsZXQgZT0wO2U8MjtlKyspZm9yKGxldCBuPTA7bjxpLmxlbmd0aDtuKyspTWF0aC5hYnModFtlXS1pW25dKTxNYXRoLmFicyh0W2VdLWlbb1tlXV0pJiYob1tlXT1uKTtyZXR1cm4gb311cGRhdGVGaWx0ZXJTZWFyY2goKXtjb25zdCBlPXRoaXMuX2RpYWxvZy4kZmllbGRTZWFyY2hJbnB1dC52YWwoKS50cmltKCkucmVwbGFjZSgvXixccyp8XHMqLCQvLCIiKS50b0xvd2VyQ2FzZSgpLnNwbGl0KC9ccyosXHMqLyk7dGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAuZmluZCgiLmpzLWZpbHRlci1maWVsZCIpLnJlbW92ZUNsYXNzKCJqcy1mb3VuZCIpO2NvbnN0IHQ9dGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAuZmluZCgiLmpzLWZpbHRlcnMtd3JhcCIpLmdldCgwKTtlLmZvckVhY2goKGU9PnsKbGV0IG89ITE7Zm9yKGNvbnN0IGkgaW4gSXQpe2NvbnN0IG49QXJyYXkuZnJvbSh0LnF1ZXJ5U2VsZWN0b3JBbGwoYC5qcy1maWx0ZXItZmllbGQtJHtpLnJlcGxhY2UoL1xXL2csIiIpfTpub3QoLmpzLWZvdW5kKWApKSxyPUt0KEl0W2ldKSxzPS0xIT09aS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZSl8fEJvb2xlYW4ocikmJi0xIT09ci50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZSk7cyYmKG89ITApLG4uZm9yRWFjaCgoZT0+e2UuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhcyksZS5jbGFzc0xpc3QudG9nZ2xlKCJqcy1mb3VuZCIscyl9KSl9b3x8MD09PWUubGVuZ3RofHwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgdmkoZSkpfSkpfXNob3dBY3RpdmVGaWx0ZXJzKCl7aWYodGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXApcmV0dXJuO2NvbnN0IGU9dGhpcy5fZGlhbG9nLl9nZXRBY3RpdmVGaWx0ZXJzKCk7dGhpcy5fZGlhbG9nLnNob3dGaWx0ZXJzRGlhbG9nKCEwKS50aGVuKCgoKT0+e3RoaXMuX2RpYWxvZy4kZGlhbG9nQ29udGFpbmVyLmZpbmQoIi5qcy1zZWFyY2gtaW5wdXQiKS52YWwoZS5qb2luKCIsICIpKSx0aGlzLnVwZGF0ZUZpbHRlclNlYXJjaCgpfSkpfXJlc2V0QWxsRmlsdGVycygpe3RoaXMuX3Jlc2V0QWxsRmlsdGVycz0hMDtmb3IoY29uc3QgZSBpbiBJdCl0aGlzLl9pc0ZpbHRlclZhbHVlRW1wdHkoZSl8fHRoaXMucmVzZXRGaWx0ZXIoZSk7dGhpcy5fZGlhbG9nLiRkaWFsb2dDb250YWluZXIuZmluZCgiLmpzLXNlYXJjaC1pbnB1dCIpLnZhbCgiIiksdGhpcy51cGRhdGVGaWx0ZXJTZWFyY2goKSx0aGlzLl9yZXNldEFsbEZpbHRlcnM9ITF9cmVzZXRGaWx0ZXIoZSl7aWYoIUl0W2VdLnZhbHVlfHwhMT09PUl0W2VdLnJlc2V0dGFibGVGaWx0ZXIpcmV0dXJuO0l0W2VdLnZhbHVlPW51bGw7Y29uc3QgdD10aGlzLl9kaWFsb2cuJGZpbHRlcnNQb3B1cHx8dGhpcy4kaW5wbGFjZUVkaXRvcjtpZih0KWlmKCJzZWxlY3QiPT09SXRbZV0uY29udHJvbCl0LmZpbmQoYC5qcy1maWx0ZXItZmllbGQtJHtlLnJlcGxhY2UoL1xXL2csIiIpfWApLnRyaWdnZXIoInJlc2V0Iik7ZWxzZSBpZigiY29uZGl0aW9uIj09PUl0W2VdLmNvbnRyb2wpdC5maW5kKGBbbmFtZT0iJHtlfSJdYCkudmFsKCIiKS50cmlnZ2VyKCJjaGFuZ2UiKTtlbHNlIGlmKCJ0b2dnbGUiPT09SXRbZV0uY29udHJvbCl0LmZpbmQoYFtuYW1lPSIke2V9Il1gKS5wcm9wKCJjaGVja2VkIiwhMSk7ZWxzZSBpZigicmFuZ2UiPT09SXRbZV0uY29udHJvbCl7bGV0IG89SXRbZV0ucmFuZ2U7SXRbZV0udmFsdWVzJiYobz1bMCxJdFtlXS52YWx1ZXMubGVuZ3RoKzFdKSx0LmZpbmQoYC51aS1zbGlkZXJbZGF0YS1maWVsZD0iJHtlfSJdYCkuc2xpZGVyKCJ2YWx1ZXMiLG8pLnRyaWdnZXIoInNsaWRlIix7dmFsdWVzOm99KX10aGlzLl9yZXNldEZpZWxkKGUpLHRoaXMuX21vZGVsLnVwZGF0ZSgpfV9yYW5nZUxlZnRWYWx1ZShlKXtsZXQgdD1JdFtlXS52YWx1ZTtyZXR1cm4iaW5fcmFuZ2UiIT09dC5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT10Lm9wZXJhdG9yfHwodD10LnZhbHVlKSx0aGlzLl9pc0xlc3NUaGVuTWluKHRbMF0sZSk/dGhpcy5fcmFuZ2VNaW5WYWx1ZShlKTp6dChJdFtlXSx0aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKS5mb3JtYXQodFswXSl9X3JhbmdlUmlnaHRWYWx1ZShlKXtsZXQgdD1JdFtlXS52YWx1ZTtyZXR1cm4iaW5fcmFuZ2UiIT09dC5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT10Lm9wZXJhdG9yfHwodD10LnZhbHVlKSx0aGlzLl9pc0dyZWF0ZXJUaGVuTWF4KHRbMV0sZSk/dGhpcy5fcmFuZ2VNYXhWYWx1ZShlKTp6dChJdFtlXSx0aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKS5mb3JtYXQodFsxXSl9X2lzR3JlYXRlclRoZW5NYXgoZSx0KXtyZXR1cm4gSXRbdF0ucmFuZ2UmJmU+PUl0W3RdLnJhbmdlWzFdfV9pc0xlc3NUaGVuTWluKGUsdCl7cmV0dXJuIEl0W3RdLnJhbmdlJiZlPD1JdFt0XS5yYW5nZVswXX1fcmFuZ2VNaW5WYWx1ZShlKXtyZXR1cm4iPCIrenQoSXRbZV0sdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSkuZm9ybWF0KEl0W2VdLnZhbHVlc1swXSl9X3JhbmdlTWF4VmFsdWUoZSl7cmV0dXJuIj4iK3p0KEl0W2VdLHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpLmZvcm1hdChJdFtlXS52YWx1ZXNbSXRbZV0udmFsdWVzLmxlbmd0aC0xXSl9X2hpZ2hsaWdodEFjdGl2ZUl0ZW1zKGUpe2lmKCFlLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCIpLnNpemUoKSlyZXR1cm4gZS5maW5kKCIudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIikucmVtb3ZlQ2xhc3MoImktYWN0aXZlIiksdm9pZCBlLmZpbmQoIi5qcy1pdGVtLXdyYXAtYW55IC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAiKS5hZGRDbGFzcygiaS1hY3RpdmUiKTtlLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCwgLmpzLWZpbHRlci1jaGVja2JveC1hbnk6Y2hlY2tlZCIpLmVhY2goKGZ1bmN0aW9uKCl7ZS5maW5kKCIudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIikucmVtb3ZlQ2xhc3MoImktYWN0aXZlIikscnModGhpcykuY2xvc2VzdCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCIpLmFkZENsYXNzKCJpLWFjdGl2ZSIpfSkpfV9jbG9zZURyb3Bkb3duKGUpe2UudHZEcm9wZG93bigiY2xvc2UiKSx0aGlzLiRpbnBsYWNlRWRpdG9yJiZ0aGlzLiRpbnBsYWNlRWRpdG9yLmZvY3VzKCl9X2NyZWF0ZU11bHRpU2VsZWN0SXRlbXMoZSx0LG8saSxuKXtjb25zdCByPShJdFtlXS51c2VEZWZhdWx0UmFuZ2U/SXRbZV0uZGVmYXVsdFJhbmdlOkl0W2VdLnJhbmdlKS5zbGljZSgpLnNvcnQoKCh0LG8pPT57aWYoITEhPT1JdFtlXS5zb3J0U2VsZWN0ZWRGaXJzdCl7Y29uc3QgaT1JdFtlXS52YWx1ZT09PXR8fEFycmF5LmlzQXJyYXkoSXRbZV0udmFsdWUpJiZ+SXRbZV0udmFsdWUuaW5kZXhPZih0KSxuPUl0W2VdLnZhbHVlPT09b3x8QXJyYXkuaXNBcnJheShJdFtlXS52YWx1ZSkmJn5JdFtlXS52YWx1ZS5pbmRleE9mKG8pO2lmKGkmJiFuKXJldHVybi0xCjtpZihuJiYhaSlyZXR1cm4gMX1yZXR1cm4hMT09PUl0W2VdLnNvcnRhYmxlPzA6dD5vPzE6LTF9KSk7Zm9yKGxldCBzPW51bGw9PT1vPzA6LTE7czxyLmxlbmd0aDsrK3Mpe2xldCBhPS0xPT09cz9fczpyW3NdO2NvbnN0IGw9cnMoYDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJHthfSIgY2xhc3M9ImpzLWZpbHRlci1jaGVja2JveCR7LTE9PT1zPyItYW55IjoiIn0iJHtJdFtlXS52YWx1ZT09PWF8fEFycmF5LmlzQXJyYXkoSXRbZV0udmFsdWUpJiZ+SXRbZV0udmFsdWUuaW5kZXhPZihhKT8iY2hlY2tlZCI6IiJ9PmApOy0xPT09cyYmKG89bCksLTE9PT1zJiZuJiYoYT1uKTtjb25zdCBjPUl0W2VdLnJhbmdlVGl0bGVzLGQ9YyYmY1thXSYmY1thXVsyXSxoPXRoaXMuX2dldEZpZWxkVmFsdWVGcm9tUmFuZ2VUaXRsZXMoYSxlKTtsZXQgdTt1PWQmJiEwPT09ZC5ub3dyYXA/YDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwIj4ke2h9PC9zcGFuPmA6ImNvdW50cnkiPT09ZT8oMCxiLnRyaWVzVHJhbnNsYXRlQ291bnRyaWVOYW1lKShoKTooMCxUZS50cmllc1RyYW5zbGF0ZVNjcmVlbmVyRGF0YSkoaCk7Y29uc3QgXz1ycyhgPGRpdiBjbGFzcz0idHYtZHJvcGRvd24tYmVoYXZpb3JfX2l0ZW0ganMtaXRlbS13cmFwJHstMT09PXM/Ii1hbnkiOiIifSI+YCkuYXBwZW5kVG8odCk7cnMoYDxsYWJlbCBkYXRhLWZpZWxkPSIke2V9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwICR7aX1fX2Ryb3Bkb3duLWNoZWNrYm94LWl0ZW0iPmApLmFwcGVuZChsKS5hcHBlbmQoYDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19sYWJlbCI+JHt1fTwvc3Bhbj5gKS5hcHBlbmRUbyhfKSxsLnR2Q29udHJvbENoZWNrYm94KCl9cmV0dXJuIG99X2NyZWF0ZU11bHRpU2VsZWN0SXRlbXNFbGVtZW50KGUsdCxvLGksbj0hMSxyPSgpPT57fSxzPSExLGEpe2NvbnN0IGw9e2NoYW5nZWQ6ITEscmVzZXRPcHRpb25zOm51bGx9O2xldCBjPXJzKCksZD1ycygpO2NvbnN0IGg9ImZvcmV4LWdyb3VwIj09PW8uYXR0cigiZGF0YS1zZWxlY3QtbmFtZSIpLHU9bz0+e2NvbnN0IGk9IXQuZmluZCgiLmpzLWZpbHRlci1jaGVja2JveDpjaGVja2VkIikuc2l6ZSgpO3M/YyYmYy5wcm9wKCJjaGVja2VkIiwhMCk6ZC5wcm9wKCJjaGVja2VkIixpKSxuJiZ0aGlzLl9oaWdobGlnaHRBY3RpdmVJdGVtcyh0KSxvfHx0aGlzLl9yZXNldEZpZWxkKGUpLHRoaXMuX21vZGVsLnVwZGF0ZSgpLGwuY2hhbmdlZD0hbyxyKHQsaSl9O2xldCBfPXJzKCk7cmV0dXJuIGwucmVzZXRPcHRpb25zPW89Pnt0LmVtcHR5KCksZD10aGlzLl9jcmVhdGVNdWx0aVNlbGVjdEl0ZW1zKGUsdCxzP251bGw6ZCxpLGEpLCEwIT09byYmKHRoaXMuX3RyeUV4ZWN1dGVGaWx0ZXJDaGFuZ2VIYW5kbGVyKGUpLHUoITApKSxfPXJzKCl9LGwucmVzZXRPcHRpb25zKCksdC5vbigiY2hhbmdlIiwiLmpzLWZpbHRlci1jaGVja2JveCIsKGk9Pntjb25zdCByPXJzKGkudGFyZ2V0KSxhPXIuYXR0cigibmFtZSIpO2lmKG4mJkl0W2VdLnZhbHVlPT09YSlyZXR1cm4gci5wcm9wKCJjaGVja2VkIiwhMCksdm9pZCB0aGlzLl9jbG9zZURyb3Bkb3duKG8pO2M9cnMoKSxyLnByb3AoImNoZWNrZWQiKT8oSXRbZV0udmFsdWU/bj8odC5maW5kKCIuanMtZmlsdGVyLWNoZWNrYm94Iikubm90KHIpLnByb3AoImNoZWNrZWQiLCExKSxJdFtlXS52YWx1ZT1hKTooQXJyYXkuaXNBcnJheShJdFtlXS52YWx1ZSl8fChJdFtlXS52YWx1ZT1bSXRbZV0udmFsdWVdKSxJdFtlXS52YWx1ZS5wdXNoKGEpKTpJdFtlXS52YWx1ZT1hLGgmJigwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBibigiYWRkZWQiLGEpKSk6KEFycmF5LmlzQXJyYXkoSXRbZV0udmFsdWUpPyhJdFtlXS52YWx1ZS5zcGxpY2UoSXRbZV0udmFsdWUuaW5kZXhPZihhKSwxKSwxPT09SXRbZV0udmFsdWUubGVuZ3RoP0l0W2VdLnZhbHVlPUl0W2VdLnZhbHVlWzBdOkl0W2VdLnZhbHVlLmxlbmd0aHx8KHM/KGM9cixJdFtlXS52YWx1ZT1hKTpJdFtlXS52YWx1ZT1udWxsKSk6cz8oYz1yLEl0W2VdLnZhbHVlPWEpOkl0W2VdLnZhbHVlPW51bGwsaCYmKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IGJuKCJyZW1vdmVkIixhKSkpLHRoaXMuX3RyeUV4ZWN1dGVGaWx0ZXJDaGFuZ2VIYW5kbGVyKGUpLHUoKSxuJiZ0aGlzLl9jbG9zZURyb3Bkb3duKG8pfSkpLHN8fHQub24oImNsaWNrIHRvdWNoZW5kIiwiLmpzLWZpbHRlci1jaGVja2JveC1hbnkiLChpPT57Y29uc3Qgcj1ycyhpLnRhcmdldCkuYXR0cigibmFtZSIpO2kucHJldmVudERlZmF1bHQoKSxzZXRUaW1lb3V0KCgoKT0+e2lmKCFJdFtlXS52YWx1ZSlyZXR1cm4gZC5wcm9wKCJjaGVja2VkIiwhMCksdm9pZCB0aGlzLl9jbG9zZURyb3Bkb3duKG8pO2QucHJvcCgiY2hlY2tlZCIpPyhfLnByb3AoImNoZWNrZWQiLCEwKSxJdFtlXS52YWx1ZT1fLnRvQXJyYXkoKS5tYXAoKGU9PmUubmFtZSkpLEl0W2VdLnZhbHVlLmxlbmd0aD8xPT09SXRbZV0udmFsdWUubGVuZ3RoJiYoSXRbZV0udmFsdWU9SXRbZV0udmFsdWVbMF0pOkl0W2VdLnZhbHVlPW51bGwpOihfPXQuZmluZCgiLmpzLWZpbHRlci1jaGVja2JveDpjaGVja2VkIiksdC5maW5kKCIuanMtZmlsdGVyLWNoZWNrYm94IikucHJvcCgiY2hlY2tlZCIsITEpLEl0W2VdLnZhbHVlPW51bGwsaCYmKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IGJuKCJhZGRlZCIscikpKSx0aGlzLl90cnlFeGVjdXRlRmlsdGVyQ2hhbmdlSGFuZGxlcihlKSx1KCksbiYmdGhpcy5fY2xvc2VEcm9wZG93bihvKX0pLDApfSkpLGx9X3RyeUV4ZWN1dGVGaWx0ZXJDaGFuZ2VIYW5kbGVyKGUpe0l0W2VdLm9uRmlsdGVyQ2hhbmdlJiZJdFtlXS5vbkZpbHRlckNoYW5nZShJdFtlXS52YWx1ZSl9X2NyZWF0ZU11bHRpc2VsZWN0RmlsdGVyKGUsdCxpLG4scj0hMSl7CmNvbnN0IHM9cnMoYDxkaXYgY2xhc3M9IiR7bn1fX3NlbGVjdGJveC1jb250YWluZXIganMtZmlsdGVyLWZpZWxkLSR7ZS5yZXBsYWNlKC9cVy9nLCIiKX0ganMtZHJvcGRvd24tdG9nZ2xlIj5gKS5hcHBlbmRUbyh0KSxhPXJzKGA8aSBjbGFzcz0iJHtufV9fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZSI+YCkuYXBwZW5kKHJzKG8oODE1NjgzKSkuYXR0cih7d2lkdGg6MTIsaGVpZ2h0Ojd9KSksbD1ycyhgPHNwYW4gY2xhc3M9IiR7bn1fX3NlbGVjdGJveC1jYXB0aW9uICR7bn1fX3NlbGVjdGJveC1jYXB0aW9uLS10ZXh0LW92ZXJmbG93Ij5cblx0XHRcdDxzcGFuIGNsYXNzPSIke259X19zZWxlY3Rib3gtY2FwdGlvbi1sYWJlbCBqcy1sYWJlbCI+PC9zcGFuPlxuXHRcdDwvc3Bhbj5gKS5hcHBlbmQoYSkuYXBwZW5kVG8ocyksYz1sLmZpbmQoIi5qcy1sYWJlbCIpLGQ9cnMoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duX19ib2R5IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19ib2R5Ij4nKTtsZXQgaD1ycygpO2lmKChJdFtlXS51c2VEZWZhdWx0UmFuZ2U/SXRbZV0uZGVmYXVsdFJhbmdlOkl0W2VdLnJhbmdlKS5sZW5ndGg+PTE2KXtjb25zdCBlPXJzKGA8ZGl2IGNsYXNzPSIke259X19zZWFyY2gtd3JhcCI+YCkuYXBwZW5kVG8oZCk7aD1ycyhgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSIke18udChudWxsLHZvaWQgMCxvKDM1MjEyNykpfSIgY2xhc3M9IiR7bn1fX3NlYXJjaC1pbnB1dCI+YCkuYXBwZW5kVG8oZSk7Y29uc3QgdD1ycyhgPGRpdiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwICR7bn1fX3NlYXJjaC1uby1tYXRjaGVzIGpzLWhpZGRlbiI+Tm8gbWF0Y2hlczwvZGl2PmApLmFwcGVuZFRvKGQpO2gub24oImNoYW5nZSBpbnB1dCIsKGU9Pntjb25zdCBvPWgudmFsKCkudHJpbSgpLnRvTG93ZXJDYXNlKCk7bz9wLmZpbmQoIi5qcy1pdGVtLXdyYXAiKS5lYWNoKChmdW5jdGlvbigpe2NvbnN0IGU9cnModGhpcyk7ZS50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhfmUudGV4dCgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihvKSl9KSk6cC5maW5kKCIuanMtaXRlbS13cmFwIikucmVtb3ZlQ2xhc3MoImpzLWhpZGRlbiIpLHAuZmluZCgiLmpzLWl0ZW0td3JhcC1hbnkiKS50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhIXAuZmluZCgiLmpzLWl0ZW0td3JhcC5qcy1oaWRkZW4iKS5zaXplKCkpLHQudG9nZ2xlQ2xhc3MoImpzLWhpZGRlbiIsISFwLmZpbmQoIi5qcy1pdGVtLXdyYXA6bm90KC5qcy1oaWRkZW4pIikuc2l6ZSgpKSxzLnR2RHJvcGRvd24oInVwZGF0ZVNjcm9sbCIpfSkpfWNvbnN0IHU9cnMoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwiPicpLmFwcGVuZFRvKGQpLHA9cnMoJzxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9faXRlbXMtd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwiPicpLmFwcGVuZFRvKHUpLG09dGhpcy5fY3JlYXRlTXVsdGlTZWxlY3RJdGVtc0VsZW1lbnQoZSxwLHMsbixyLCgoKT0+e2MuZW1wdHkoKSxwLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCwgLmpzLWZpbHRlci1jaGVja2JveC1hbnk6Y2hlY2tlZCIpLmVhY2goKCh0LG8pPT57Yy5hcHBlbmQocnMoJzxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1jb250ZW50LXZhbHVlIj4nKS50ZXh0KHRoaXMuX2dldEZpZWxkVmFsdWVGcm9tUmFuZ2VUaXRsZXMocnMobykuYXR0cigibmFtZSIpLGUpKSl9KSkscy5mb2N1cygpfSksSXRbZV0ubm9BbnkpLGc9ZT0+e2lmKCEwIT09ZSYmIXMuaXMoIi5pLW9wZW5lZCIpKXJldHVybjtjb25zdCB0PXMuY2xvc2VzdCgiLmktc2Nyb2xsYWJsZSIpO2lmKHQuc2l6ZSgpJiYocy5vZmZzZXQoKS50b3Arcy5oZWlnaHQoKTx0Lm9mZnNldCgpLnRvcHx8cy5vZmZzZXQoKS50b3A+dC5vZmZzZXQoKS50b3ArdC5oZWlnaHQoKSkpcmV0dXJuIHZvaWQgcy50dkRyb3Bkb3duKCJjbG9zZSIpO2NvbnN0IG89aS5vZmZzZXQoKSxuPXMub2Zmc2V0KCk7bGV0IHI9cnMod2luZG93KS5oZWlnaHQoKS1uLnRvcCtycyh3aW5kb3cpLnNjcm9sbFRvcCgpLTM1O2guc2l6ZSgpJiYoci09NDUpO2NvbnN0IGE9TWF0aC5tYXgoaS5oZWlnaHQoKS0obi50b3Atby50b3ApLDYwKTtpZih1LmNzcygibWF4SGVpZ2h0IixNYXRoLm1pbihhLHIpKSx0aGlzLl9zZXREcm9wZG93blBvc2l0aW9uKGQscyxpKSxkLnBhcmVudCgpLmlzKGkpKXtjb25zdCBlPXMudHZEcm9wZG93bigiZ2V0SW5zdGFuY2UiKS5zY3JvbGw7ZS51cGRhdGVTY3JvbGxCYXIoKSxlLnVwZGF0ZVNjcm9sbCgpfWVsc2UgZC5hcHBlbmRUbyhpKX07bGV0IHY7cy50dkRyb3Bkb3duKHskd3JhcDpsLCRib2R5OmQsc2Nyb2xsOiEwLGNsb3NlV2l0aEVzYzohMCxub0FuaW1hdGlvbjohMH0pLm9uKCJyZXNldFBvc2l0aW9uIixnKS5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e20uY2hhbmdlZCYmKG0ucmVzZXRPcHRpb25zKCEwKSxtLmNoYW5nZWQ9ITEpLGcoITApLHImJihwLmZpbmQoIi50di1jb250cm9sLWNoZWNrYm94X19ib3gsIC5qcy1maWx0ZXItY2hlY2tib3gsIC5qcy1maWx0ZXItY2hlY2tib3gtYW55IikuaGlkZSgpLHRoaXMuX2hpZ2hsaWdodEFjdGl2ZUl0ZW1zKHApLHAuZmluZCgiLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsIikuY3NzKCJtYXJnaW4tcmlnaHQiLDApKSxhLmFkZENsYXNzKGAke259X19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlLS1vcGVuYCl9KSkub24oImFmdGVyT3Blbk1lbnUiLCgoKT0+e3Y9cC5maW5kKCIuanMtZmlsdGVyLWNoZWNrYm94OmNoZWNrZWQiKSxoLnNpemUoKSYmc2V0VGltZW91dCgoKCk9PntoLmZvY3VzKCkub24oImZvY3Vzb3V0IiwoZnVuY3Rpb24oKXtoLmZvY3VzKCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtoLmZvY3VzKCl9KSwxMCl9KSksaC5hZGQoIi50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZHJvcGRvd24tY2hlY2tib3gtaXRlbSIpLm9uKCJrZXlwcmVzcyBrZXl1cCIsKGU9PnsKMjc9PT1lLmtleUNvZGUmJnRoaXMuX2Nsb3NlRHJvcGRvd24ocyl9KSl9KSwwKX0pKS5vbigiYmVmb3JlQ2xvc2VNZW51IiwoKCk9PnthLnJlbW92ZUNsYXNzKGAke259X19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlLS1vcGVuYCksaC5vZmYoImZvY3Vzb3V0IGtleXByZXNzIGtleXVwIil9KSkub24oImFmdGVyQ2xvc2VNZW51IiwoKCk9PntzLnR2RHJvcGRvd24oInVwZGF0ZVNjcm9sbCIpLGQuZGV0YWNoKCk7Y29uc3QgdD1wLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCIpLG89InR2LXNjcmVlbmVyLWRpYWxvZyI9PT1uPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyIsaT1BcnJheS5mcm9tKHQpLm1hcCgoZT0+ZS5uYW1lKSkuam9pbigiLCIpO2khPT1BcnJheS5mcm9tKHYpLm1hcCgoZT0+ZS5uYW1lKSkuam9pbigiLCIpJiYoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgeWkoaSxpaS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2ssZSxvKSl9KSkub24oInJlc2V0IixtLnJlc2V0T3B0aW9ucykub24oIm1vdXNlZG93bm91dHNpZGUiLCgoKT0+e3MudHZEcm9wZG93bigiY2xvc2UiKX0pKSxkLm9uKCJtb3VzZWRvd24gdG91Y2hzdGFydCIsKGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpKX1fYXBwbHlTZWxlY3Rib3goZSx0LGk9e30pe2NvbnN0IG49aS5jbGFzc1ByZWZpeHx8InR2LXNjcmVlbmVyLWRpYWxvZyIscj1ycyhgPGxhYmVsIGNsYXNzPSIke259X19zZWxlY3Rib3gtY29udGFpbmVyIGpzLWRyb3Bkb3duLXRvZ2dsZSI+YCk7aS5hZGRDbGFzcyYmci5hZGRDbGFzcyhpLmFkZENsYXNzKSxyLmluc2VydEFmdGVyKGUpLGUuYXBwZW5kVG8ocik7Y29uc3Qgcz1ycyhgPGkgY2xhc3M9IiR7bn1fX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGUiPmApLmFwcGVuZChycyhvKDgxNTY4MykpLmF0dHIoe3dpZHRoOjEyLGhlaWdodDo3fSkpLGE9cnMoYDxzcGFuIGNsYXNzPSIke259X19zZWxlY3Rib3gtY2FwdGlvbiI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0iJHtufV9fc2VsZWN0Ym94LWNhcHRpb24tbGFiZWwganMtbGFiZWwiPjwvc3Bhbj5cblx0XHQ8L3NwYW4+YCkuYXBwZW5kKHMpLmFwcGVuZFRvKHIpLGw9cnMoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duX19ib2R5IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19ib2R5Ij4nKSxjPXJzKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIj4nKS5hcHBlbmRUbyhsKSxkPXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW1zLXdyYXAgdHYtZHJvcGRvd24tYmVoYXZpb3JfX2luc2Nyb2xsIj4nKS5hcHBlbmRUbyhjKSxoPSgpPT57bC5maW5kKCIuanMtb3B0aW9uLXNlbGVjdGVkIikucmVtb3ZlQ2xhc3MoImktYWN0aXZlIGpzLW9wdGlvbi1zZWxlY3RlZCIpO2NvbnN0IHQ9bC5maW5kKGBbZGF0YS12YWx1ZT0iJHtlLnZhbCgpfSJdYCksbz0hdC5kYXRhKCJ2YWx1ZSIpO3QuYWRkQ2xhc3MoImktYWN0aXZlIGpzLW9wdGlvbi1zZWxlY3RlZCIpLnRvZ2dsZUNsYXNzKGAke259X19zZWxlY3Rib3gtb3B0aW9uLS1uby12YWx1ZWAsbyksYS5maW5kKCIuanMtbGFiZWwiKS50b2dnbGVDbGFzcyhgJHtufV9fc2VsZWN0Ym94LWNhcHRpb24tLW5vLXZhbHVlYCxvKS50ZXh0KHQudGV4dCgpKX0sdT0oKT0+e2QuZW1wdHkoKTtjb25zdCB0PWUuZ2V0KDApLmNoaWxkTm9kZXM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDsrK2UpcnMoYDxzcGFuIGRhdGEtdmFsdWU9IiR7dFtlXS52YWx1ZX0iIGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSB0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uIGpzLW9wdGlvbiI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCAke259X19zZWxlY3Rib3gtb3B0aW9uLXdyYXAiPiR7dFtlXS50ZXh0Q29udGVudH08L3NwYW4+XG5cdFx0XHRcdDwvc3Bhbj5gKS5hcHBlbmRUbyhkKTtoKCl9O3UoKSxlLm9uKCJjaGFuZ2UiLGgpO2NvbnN0IF89ZT0+e2lmKCEwIT09ZSYmIXIuaXMoIi5pLW9wZW5lZCIpKXJldHVybjtjb25zdCBvPXIuY2xvc2VzdCgiLmktc2Nyb2xsYWJsZSIpO2lmKG8uc2l6ZSgpJiYoci5vZmZzZXQoKS50b3Arci5oZWlnaHQoKTxvLm9mZnNldCgpLnRvcHx8ci5vZmZzZXQoKS50b3A+by5vZmZzZXQoKS50b3Arby5oZWlnaHQoKSkpcmV0dXJuIHZvaWQgci50dkRyb3Bkb3duKCJjbG9zZSIpO2NvbnN0IGk9dC5vZmZzZXQoKSxuPXIub2Zmc2V0KCkscz1NYXRoLm1heCh0LmhlaWdodCgpLShuLnRvcC1pLnRvcCksNjApLGE9cnMod2luZG93KS5oZWlnaHQoKS1uLnRvcCtycyh3aW5kb3cpLnNjcm9sbFRvcCgpLTM1O2MuY3NzKCJtYXhIZWlnaHQiLE1hdGgubWluKHMsYSkpLHRoaXMuX3NldERyb3Bkb3duUG9zaXRpb24obCxyLHQpLGwuYXBwZW5kVG8odCl9O3JldHVybiByLm9uKCJyZXNldFBvc2l0aW9uIixfKS5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e18oITApLHMuYWRkQ2xhc3MoYCR7bn1fX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGUtLW9wZW5gKX0pKS5vbigiYmVmb3JlQ2xvc2VNZW51IiwoKCk9PnMucmVtb3ZlQ2xhc3MoYCR7bn1fX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGUtLW9wZW5gKSkpLm9uKCJhZnRlckNsb3NlTWVudSIsKCgpPT57ci50dkRyb3Bkb3duKCJ1cGRhdGVTY3JvbGwiKSxsLmRldGFjaCgpfSkpLnR2RHJvcGRvd24oeyR3cmFwOmEsJGJvZHk6bCxzY3JvbGw6ITAsY2xvc2VXaXRoRXNjOiEwLG5vQW5pbWF0aW9uOiEwfSksZC5vbigiY2xpY2siLCIuanMtb3B0aW9uIiwodD0+e2NvbnN0IG89cnModC5jdXJyZW50VGFyZ2V0KS5kYXRhKCJ2YWx1ZSIpO2UudmFsKCkhPT1vJiYoZS52YWwobyksZS50cmlnZ2VyKCJjaGFuZ2UiKSksci50dkRyb3Bkb3duKCJjbG9zZSIpfSkpLGwub24oIm1vdXNlZG93biB0b3VjaHN0YXJ0IiwoZT0+ZS5zdG9wUHJvcGFnYXRpb24oKSkpLGUub24oInJlc2V0Iix1KSxyfV9zZXREcm9wZG93blBvc2l0aW9uKGUsdCxvKXtjb25zdCBpPW8ub2Zmc2V0KCksbj10Lm9mZnNldCgpO2UuY3NzKCJ0b3AiLG4udG9wLWkudG9wLTE1KSwoMCwKS28uaXNSdGwpKCk/ZS5jc3MoInJpZ2h0IixvWzBdLnNjcm9sbFdpZHRoLShuLmxlZnQrdC53aWR0aCgpKStpLmxlZnQtKDAsS28uZ2V0TFRSU2Nyb2xsTGVmdCkob1swXSkpOmUuY3NzKCJsZWZ0IixuLmxlZnQtaS5sZWZ0KX1faXNGaWx0ZXJWYWx1ZUVtcHR5KGUpe2NvbnN0IHQ9SXRbZV0udmFsdWU7cmV0dXJuIHQmJiJjb25kaXRpb24iPT09SXRbZV0uY29udHJvbD8iIj09PXQudmFsdWV8fG51bGw9PXQudmFsdWU6ISh0JiYoIUFycmF5LmlzQXJyYXkodCl8fHQubGVuZ3RoKSYmKCJvYmplY3QiIT10eXBlb2YgdHx8T2JqZWN0LmtleXModCkuZmluZCgoZT0+ISF0W2VdKSkpKX1hZGRGaWVsZEZpbHRlcihlLHQsaT0idHYtc2NyZWVuZXItZGlhbG9nIixuKXtjb25zdCByPXJzKCc8ZGl2IGNsYXNzPSInK2krIl9fZmlsdGVyLWZpZWxkIGpzLWZpbHRlci1maWVsZCBqcy1maWx0ZXItZmllbGQtIitlLnJlcGxhY2UoL1xXL2csIiIpKyIgIitpKyJfX2ZpbHRlci1maWVsZC0tY2F0IitJdFtlXS5jYXRlZ29yeSsnIGpzLXdyYXAiPicpLHM9IXRoaXMuX2lzRmlsdGVyVmFsdWVFbXB0eShlKTtpZihzKXtjb25zdCBlPXQuZmluZCgiLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmUiKTtlLmxlbmd0aD4wP3IuaW5zZXJ0QWZ0ZXIoZS5sYXN0KCkpOnQucHJlcGVuZChyKX1lbHNlIHIuYXBwZW5kVG8odCk7biYmKHM/dC5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXQiKTooci5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci13aXRob3V0LXJlc2V0IiksdC5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXQiKSkpO2xldCBhPUl0W2VdLmZpbHRlclRpdGxlfHxJdFtlXS50aXRsZTsidG9nZ2xlIj09PUl0W2VdLmNvbnRyb2wmJiJpc19wcmltYXJ5IiE9PWUmJiJhY3RpdmVfc3ltYm9sIiE9PWUmJihhPV8udChudWxsLHZvaWQgMCxvKDE1OTkxMCkpLmZvcm1hdCh7dGl0bGU6YX0pKSxycyhgPGRpdiBjbGFzcz0iJHtpfV9fZmlsdGVyLWZpZWxkLXRpdGxlIGpzLWZpbHRlci1maWVsZC10aXRsZS0ke2UucmVwbGFjZSgvXFcvZywiIil9Ij4ke2F9PC9kaXY+YCkuYXBwZW5kVG8ociksdGhpcy5zZXRGaWVsZEFjdGl2ZShlLHMscik7Y29uc3QgbD1ycyhgPGRpdiBjbGFzcz0iJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQgJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLSR7SXRbZV0uY29udHJvbH0ganMtZmlsdGVyLWZpZWxkLV9jb250ZW50Ij5gKS5hcHBlbmRUbyhyKTtyZXR1cm4gcnMoYDxkaXYgY2xhc3M9IiR7aX1fX2ZpbHRlci1maWVsZC1yZXNldCAke3N8fCFuPyIiOiJpLWhpZGRlbiAifWFwcGx5LWNvbW1vbi10b29sdGlwIGpzLXJlc2V0IiBkYXRhLWZpZWxkPSIke2V9IiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg0MjU2NTApKX0iPmApLmFwcGVuZChycyhvKDE0NzA3OCkpKS5hcHBlbmRUbyhyKSxuZXcgUHJvbWlzZSgodD0+e3NldFRpbWVvdXQoKCgpPT57aWYoInNlbGVjdCI9PT1JdFtlXS5jb250cm9sKXRoaXMuX2NyZWF0ZU11bHRpc2VsZWN0RmlsdGVyKGUsbCxuP3RoaXMuX2JyaWRnZS4kYm9keTp0aGlzLl9kaWFsb2cuJGRpYWxvZ0NvbnRhaW5lcixpLEl0W2VdLmlzU2luZ2xlKTtlbHNlIGlmKCJyYW5nZSI9PT1JdFtlXS5jb250cm9sKXtjb25zdCB0PXtyYW5nZTohMH07bGV0IG89SXRbZV0ucmFuZ2VbMF0saT1JdFtlXS5yYW5nZVsxXTtJdFtlXS52YWx1ZXM/KHQubWluPTAsdC5tYXg9SXRbZV0udmFsdWVzLmxlbmd0aCsxLEl0W2VdLnZhbHVlJiZBcnJheS5pc0FycmF5KEl0W2VdLnZhbHVlKT8odC52YWx1ZXM9dGhpcy5hcHByb3hpbWF0ZVNsaWRlclZhbHVlcyhlLEl0W2VdLnZhbHVlKSxvPXRoaXMuX3JhbmdlTGVmdFZhbHVlKGUpLGk9dGhpcy5fcmFuZ2VSaWdodFZhbHVlKGUpKToodC52YWx1ZXM9WzAsSXRbZV0udmFsdWVzLmxlbmd0aCsxXSxvPXRoaXMuX3JhbmdlTWluVmFsdWUoZSksaT10aGlzLl9yYW5nZU1heFZhbHVlKGUpKSk6KHQubWluPUl0W2VdLnJhbmdlWzBdLHQubWF4PUl0W2VdLnJhbmdlWzFdLHQudmFsdWVzPUl0W2VdLnZhbHVlfHxbSXRbZV0ucmFuZ2VbMF0sSXRbZV0ucmFuZ2VbMV1dKSxycyhgPGRpdiBjbGFzcz0idHYtc2xpZGVyIiBkYXRhLWZpZWxkPSIke2V9Ij5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9InR2LXNsaWRlcl9fbGFiZWxzIj5cblx0XHRcdFx0XHRcdFx0PGlucHV0IHR5cGU9InRleHQiIGRhdGEtZmllbGQ9IiR7ZX0iIGRhdGEtYm91bmQ9IjAiIGNsYXNzPSJ0di1zbGlkZXJfX2xhYmVsIHR2LXNsaWRlcl9fbGFiZWwtLWxlZnQiIHZhbHVlPSIke299Ii8+XG5cdFx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPSJ0ZXh0IiBkYXRhLWZpZWxkPSIke2V9IiBkYXRhLWJvdW5kPSIxIiBjbGFzcz0idHYtc2xpZGVyX19sYWJlbCB0di1zbGlkZXJfX2xhYmVsLS1yaWdodCIgdmFsdWU9IiR7aX0iLz5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvZGl2PmApLnNsaWRlcih0KS5hcHBlbmRUbyhsKX1lbHNlIGlmKCJjb25kaXRpb24iPT09SXRbZV0uY29udHJvbCl7Y29uc3QgdD1ycyhgPHNlbGVjdCBuYW1lPSIke2V9IiBjbGFzcz0ianMtZmlsdGVyLW9wZXJhdG9yIGpzLWhpZGRlbiI+YCkuYXBwZW5kVG8obCk7bGV0IHIscz0hMDtmb3IoY29uc3QgbyBpbiBjcylJdFtlXS5oaWRkZW5PcGVyYXRvcnMmJi0xIT09SXRbZV0uaGlkZGVuT3BlcmF0b3JzLmluZGV4T2Yobyl8fChzJiYhSXRbZV0udmFsdWUmJihzPSExLEl0W2VdLnZhbHVlPXtvcGVyYXRvcjpvfSkscnMoYDxvcHRpb24gdmFsdWU9IiR7b30iJHtvPT09KEl0W2VdLnZhbHVlJiZJdFtlXS52YWx1ZS5vcGVyYXRvcik/IiBzZWxlY3RlZCI6IiJ9PiR7Y3Nbb119PC9vcHRpb24+YCkuYXBwZW5kVG8odCkpO3RoaXMuX2FwcGx5U2VsZWN0Ym94KHQsbj90aGlzLl9icmlkZ2UuJGJvZHk6dGhpcy5fZGlhbG9nLiRkaWFsb2dDb250YWluZXIse2NsYXNzUHJlZml4OmksYWRkQ2xhc3M6YCR7aX1fX2ZpbHRlci1maWVsZC1jb250ZW50LS1sZWZ0YH0pLApyPUl0W2VdLmNvbmRpdGlvbkZpZWxkcz9BcnJheS5pc0FycmF5KEl0W2VdLmNvbmRpdGlvbkZpZWxkcyk/SXRbZV0uY29uZGl0aW9uRmllbGRzOkl0W2VdLmNvbmRpdGlvbkZpZWxkc1t0aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlXXx8SXRbZV0uY29uZGl0aW9uRmllbGRzLmRlZmF1bHR8fGRzOmRzO2NvbnN0IGE9cnMoYDxzZWxlY3QgbmFtZT0iJHtlfSIgY2xhc3M9ImpzLWZpbHRlci1vcGVyYXRvci12YWx1ZSBqcy1oaWRkZW4iPmApLmFwcGVuZFRvKGwpO2xldCBjO2lmKHJzKGA8b3B0aW9uIHZhbHVlPSIiPiR7Xy50KG51bGwsdm9pZCAwLG8oMzEwODY5KSl9PC9vcHRpb24+YCkuYXBwZW5kVG8oYSksMD09PXIubGVuZ3RoKWM9cnMoYDxsYWJlbCBjbGFzcz0iJHtpfV9fc2VsZWN0Ym94LWNvbnRhaW5lciBqcy1kcm9wZG93bi10b2dnbGUgJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSBqcy1oaWRkZW4iIHRhYmluZGV4PSIwIj5cblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9IiR7aX1fX3NlbGVjdGJveC1jYXB0aW9uLWxhYmVsIGpzLWxhYmVsICR7aX1fX3NlbGVjdGJveC1jYXB0aW9uLS1uby12YWx1ZSI+JHtfLnQobnVsbCx2b2lkIDAsbygzMTA4NjkpKX08L3NwYW4+XG5cdFx0XHRcdFx0XHQ8L2xhYmVsPmApLmFwcGVuZFRvKGwpO2Vsc2V7Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDsrK3Qpe2NvbnN0IG89clt0XTtycyhgPG9wdGlvbiB2YWx1ZT0iJHtvfSIke289PT0oSXRbZV0udmFsdWUmJkl0W2VdLnZhbHVlLm9wZXJhdG9yJiZJdFtlXS52YWx1ZS52YWx1ZSk/IiBzZWxlY3RlZCI6IiJ9PiR7SXRbb10udGl0bGV9PC9vcHRpb24+YCkuYXBwZW5kVG8oYSl9Yz10aGlzLl9hcHBseVNlbGVjdGJveChhLG4/dGhpcy5fYnJpZGdlLiRib2R5OnRoaXMuX2RpYWxvZy4kZGlhbG9nQ29udGFpbmVyLHtjbGFzc1ByZWZpeDppLGFkZENsYXNzOmAke2l9X19maWx0ZXItZmllbGQtY29udGVudC0tbWlkZGxlIGpzLWhpZGRlbmB9KX1jb25zdCBkPXJzKGA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iJHtlfSIgY2xhc3M9IiR7aX1fX2ZpbHRlci1maWVsZC1jb250ZW50LS1yaWdodCAke2l9X19maWx0ZXItZmllbGQtdGV4dCBqcy1maWx0ZXItb3BlcmF0b3ItYXJiLXZhbHVlIj5gKS5hcHBlbmRUbyhsKTtJdFtlXS52YWx1ZSYmIm51bWJlciI9PXR5cGVvZiBJdFtlXS52YWx1ZS52YWx1ZSYmZC52YWwoYCR7SXRbZV0udmFsdWUudmFsdWV9YCk7Y29uc3QgaD1lPT57ZS5jdHJsS2V5fHxlLm1ldGFLZXl8fCFlLmNoYXJDb2RlfHwhZS53aGljaHx8ZS53aGljaDwzMnx8L1tcZC4tXS8udGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGUuY2hhckNvZGUpKXx8ZS5wcmV2ZW50RGVmYXVsdCgpfSx1PWU9Pntjb25zdCB0PXt2YWx1ZTplLnZhbCgpfTtyZXR1cm4gZS5vbigia2V5cHJlc3MiLGgpLm9uKCJjaGFuZ2UgaW5wdXQiLCgwLHZvLmRlZmF1bHQpKChvPT57ZS52YWwoKSE9PXQudmFsdWUmJihlLnRyaWdnZXIoInVwZGF0ZSIsbyksdC52YWx1ZT1lLnZhbCgpKX0pLDUwMCkpLHR9LHA9cnMoYDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSIke2V9IiBjbGFzcz0iJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXJpZ2h0ICR7aX1fX2ZpbHRlci1iZXR3ZWVuLWlucHV0IGpzLWZpbHRlci1vcGVyYXRvci1iZXR3ZWVuLWxlZnQganMtaGlkZGVuIj5gKS5hcHBlbmRUbyhsKTshSXRbZV0udmFsdWV8fCJpbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvcnx8cC52YWwoYCR7LTFlMTAwPT09SXRbZV0udmFsdWUudmFsdWVbMF18fHRoaXMuX2lzTGVzc1RoZW5NaW4oSXRbZV0udmFsdWUudmFsdWVbMF0sZSk/IiI6SXRbZV0udmFsdWUudmFsdWVbMF19YCk7Y29uc3QgbT11KHApLGc9cnMoYDxzcGFuIGNsYXNzPSIke2l9X19maWx0ZXItYmV0d2Vlbi1zZXBhcmF0b3IganMtaGlkZGVuIj7igJQ8L3NwYW4+YCkuYXBwZW5kVG8obCksdj1ycyhgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IiR7ZX0iIGNsYXNzPSIke2l9X19maWx0ZXItZmllbGQtY29udGVudC0tcmlnaHQgJHtpfV9fZmlsdGVyLWJldHdlZW4taW5wdXQganMtZmlsdGVyLW9wZXJhdG9yLWJldHdlZW4tcmlnaHQganMtaGlkZGVuIj5gKS5hcHBlbmRUbyhsKTshSXRbZV0udmFsdWV8fCJpbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvcnx8di52YWwoYCR7MWUxMDA9PT1JdFtlXS52YWx1ZS52YWx1ZVsxXXx8dGhpcy5faXNHcmVhdGVyVGhlbk1heChJdFtlXS52YWx1ZS52YWx1ZVsxXSxlKT8iIjpJdFtlXS52YWx1ZS52YWx1ZVsxXX1gKTtjb25zdCBmPXUodikseT11KGQpLGI9KCk9Pntjb25zdCBlPXQudmFsKCksbz1lJiYiaW5fcmFuZ2UiIT09ZSYmIm5vdF9pbl9yYW5nZSIhPT1lO2MudG9nZ2xlQ2xhc3MoImpzLWhpZGRlbiIsIW8pLG98fCh5LnZhbHVlPSIiLGQudmFsKCIiKSxhLnZhbCgiIikudHJpZ2dlcigiY2hhbmdlIikpfSxTPWU9Pntjb25zdCBvPXQudmFsKCksaT1vJiYiaW5fcmFuZ2UiIT09byYmIm5vdF9pbl9yYW5nZSIhPT1vJiYhYS52YWwoKTtkLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCFpKSxpJiYhMCE9PWUmJiF0aGlzLl9yZXNldEFsbEZpbHRlcnMmJnNldFRpbWVvdXQoKCgpPT57ZC5mb2N1cygpfSksNTApfSx3PWU9Pntjb25zdCBvPSJpbl9yYW5nZSI9PT10LnZhbCgpfHwibm90X2luX3JhbmdlIj09PXQudmFsKCk7cC50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhbyksZy50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhbyksdi50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhbyksbyYmITAhPT1lJiYhdGhpcy5fcmVzZXRBbGxGaWx0ZXJzJiZzZXRUaW1lb3V0KCgoKT0+e3AuZm9jdXMoKX0pLDUwKSxvfHwhMD09PWV8fChtLnZhbHVlPSIiLGYudmFsdWU9IiIscC52YWwoIiIpLHYudmFsKCIiKSxhLnZhbCgiIikudHJpZ2dlcigiY2hhbmdlIikpfTsiaW5fcmFuZ2UiPT09dC52YWwoKXx8Im5vdF9pbl9yYW5nZSI9PT10LnZhbCgpP3coITApOmIoKSxTKCEwKSwKdC5vbigiY2hhbmdlIixiKS5vbigiY2hhbmdlIixTKS5vbigiY2hhbmdlIix3KSxhLm9uKCJjaGFuZ2UiLFMpfWVsc2UgaWYoInRvZ2dsZSI9PT1JdFtlXS5jb250cm9sKXtycyhgPGxhYmVsIGNsYXNzPSIke2l9X19maWx0ZXItdG9nZ2xlIj5cblx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJHtlfSIgY2xhc3M9IiR7aX1fX2ZpbHRlci1kcm9wZG93bi1pdGVtLWlucHV0IHR2LXNjcmVlbmVyLWZpbHRlci1yb2xsdXBfX2l0ZW0taW5wdXQganMtZmlsdGVyLXRvZ2dsZSIgJHtJdFtlXS52YWx1ZT8iY2hlY2tlZCI6IiJ9PlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9IiR7aX1fX2ZpbHRlci10b2dnbGUtY2hlY2tib3gtdGl0bGUgdHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwiPlxuXHRcdFx0XHRcdFx0XHQkey0xIT09ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImhpZ2giKT9fLnQobnVsbCx2b2lkIDAsbygzMDU0MDYpKTpfLnQobnVsbCx2b2lkIDAsbyg1MzgyNTQpKX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L2xhYmVsPmApLmFwcGVuZFRvKGwpLmZpbmQoIi5qcy1maWx0ZXItdG9nZ2xlIikudHZDb250cm9sQ2hlY2tib3goKX10KCl9KSxuPzA6bW8uZHVyLzMuNSl9KSl9c2hvd0lucGxhY2VFZGl0b3IoZSx0KXtpZighSXRbZV0pcmV0dXJuO3RoaXMuX2lucGxhY2VFZGl0b3JGaWVsZD1lLHRoaXMuJGlucGxhY2VFZGl0b3JUYXJnZXQ9dCx0aGlzLiRpbnBsYWNlRWRpdG9yfHwodGhpcy4kaW5wbGFjZUVkaXRvcj1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3IgdHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLWhpZGRlbiI+Jykub24oIm1vdXNlZG93bm91dHNpZGUiLChlPT57Y29uc3QgdD1JdFt0aGlzLl9pbnBsYWNlRWRpdG9yRmllbGRdOyJjb25kaXRpb24iPT09dC5jb250cm9sJiZ0LnZhbHVlJiYobXQodC52YWx1ZS52YWx1ZSl8fG10KHQudmFsdWUub3BlcmF0b3IpKSYmKHRoaXMuJGlucGxhY2VFZGl0b3IuaGFzQ2xhc3MoImpzLWhpZGRlbiIpfHwodC52YWx1ZT1udWxsKSk7Y29uc3Qgbz10aGlzLiRpbnBsYWNlRWRpdG9yLmZpbmQoIi5qcy1kcm9wZG93bi10b2dnbGUuaS1vcGVuZWQiKTtvLnNpemUoKT9vLm9uZSgiYWZ0ZXJDbG9zZU1lbnUiLCgoKT0+e3RoaXMuJGlucGxhY2VFZGl0b3IuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS1oaWRkZW4ganMtaGlkZGVuIil9KSk6dGhpcy4kaW5wbGFjZUVkaXRvci5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLWhpZGRlbiBqcy1oaWRkZW4iKX0pKS5vbigia2V5cHJlc3Mga2V5dXAiLChlPT57MjchPT1lLmtleUNvZGV8fHJzKCIudHYtZHJvcGRvd25fX2JvZHkuaS1vcGVuZWQiKS5sZW5ndGh8fHRoaXMuJGlucGxhY2VFZGl0b3IudHJpZ2dlcigibW91c2Vkb3dub3V0c2lkZSIpfSkpLmF0dHIoInRhYkluZGV4IiwiMCIpLmFwcGVuZFRvKHRoaXMuX2JyaWRnZS4kYm9keSksdGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUmJih0aGlzLiRpbnBsYWNlRWRpdG9yLmFkZENsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvci0tc3RhbmRhbG9uZSIpLHJzKGRvY3VtZW50KS5vbigic2Nyb2xsIiwoKCk9Pnt0aGlzLiRpbnBsYWNlRWRpdG9yLmlzKCIuanMtaGlkZGVuIil8fHRoaXMuJGlucGxhY2VFZGl0b3IuY3NzKCJ0b3AiLHRoaXMuJGlucGxhY2VFZGl0b3JUYXJnZXQub2Zmc2V0KCkudG9wLXRoaXMuX2JyaWRnZS4kYm9keS5vZmZzZXQoKS50b3ApfSkpKSksdGhpcy4kaW5wbGFjZUVkaXRvci5lbXB0eSgpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fd2l0aG91dC1yZXNldCIpLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLXNsaW0iLCJ0b2dnbGUiPT09SXRbZV0uY29udHJvbCkudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS13aWRlIiwiY29uZGl0aW9uIj09PUl0W2VdLmNvbnRyb2wpLHRoaXMuYWRkRmllbGRGaWx0ZXIoZSx0aGlzLiRpbnBsYWNlRWRpdG9yLCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvciIsITApLnRoZW4oKCgpPT57dGhpcy5pbml0RmlsdGVySGFuZGxlcnModGhpcy4kaW5wbGFjZUVkaXRvcil9KSk7Y29uc3Qgbz10aGlzLiRpbnBsYWNlRWRpdG9yLmZpbmQoIi5qcy1yZXNldCIpLGk9SXRbZV0uaW5wbGFjZUVkaXRvckxlZnRPZmZzZXR8fDAsbj10aGlzLl9nZXRJbnBsYWNlRWRpdG9yQm91bmQoKSxyPXQucG9zaXRpb24oKS5sZWZ0O2lmKHRoaXMuJGlucGxhY2VFZGl0b3IuY3NzKCJ0b3AiLHQub2Zmc2V0KCkudG9wLXRoaXMuX2JyaWRnZS4kYm9keS5vZmZzZXQoKS50b3ApLCgwLEtvLmlzUnRsKSgpKXtjb25zdCBlPXIrdC53aWR0aCgpLHM9aStNYXRoLm1pbih0aGlzLiRjb250ZW50LndpZHRoKCktZSxuKS1vLndpZHRoKCk7dGhpcy4kaW5wbGFjZUVkaXRvci5jc3MoInJpZ2h0IixNYXRoLm1heChzLDApKX1lbHNlIHRoaXMuJGlucGxhY2VFZGl0b3IuY3NzKCJsZWZ0IixNYXRoLm1heChpK01hdGgubWluKHIsbiktby53aWR0aCgpLDApKTt0aGlzLiRpbnBsYWNlRWRpdG9yLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvci0taGlkZGVuIikuZm9jdXMoKSx0aGlzLl9tb2RlbC50cmFja0V2ZW50KCJPcGVuIGlucGxhY2UgZWRpdG9yIil9X2dldElucGxhY2VFZGl0b3JCb3VuZCgpe2xldCBlPXRoaXMuX2JyaWRnZS4kYm9keS53aWR0aCgpLXRoaXMuJGlucGxhY2VFZGl0b3Iub3V0ZXJXaWR0aCgpK3JzKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCk7aWYodGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe2NvbnN0IHQ9dGhpcy5fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCksbz10aGlzLl90YWJsZS4kZWxlbWVudC53aWR0aCgpK3Q7cnMod2luZG93KS53aWR0aCgpPG8mJihlPSgwLApLby5pc1J0bCkoKT9ycyh3aW5kb3cpLndpZHRoKCktdC10aGlzLiRpbnBsYWNlRWRpdG9yLm91dGVyV2lkdGgoKS1ycyhkb2N1bWVudCkuc2Nyb2xsTGVmdCgpOnJzKHdpbmRvdykud2lkdGgoKS10LXRoaXMuJGlucGxhY2VFZGl0b3Iub3V0ZXJXaWR0aCgpK3JzKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpfXJldHVybiBlfXNldEZpbHRlclNldChlKXtjb25zdCB0PXRoaXMuX21vZGVsLmdldEZpbHRlclNldEJ5SWQoZSk7dGhpcy4kZmlsdGVyU2V0c0J1dHRvbi5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS11bnNhdmVkIikuYXR0cigiZGF0YS1maWx0ZXItc2V0IixlKSx0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dCh0LnRpdGxlKSx0aGlzLl9wb3B1cHMuJGZpbHRlclNldHNQb3B1cCYmKHRoaXMuX3BvcHVwcy4kZmlsdGVyU2V0c1BvcHVwLmZpbmQoIi50di1zY3JlZW5lci1wb3B1cF9faXRlbSIpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tYWN0aXZlIiksdGhpcy5fcG9wdXBzLiRmaWx0ZXJTZXRzUG9wdXAuZmluZChgW2RhdGEtc2V0PSIke2V9Il1gKS5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSIpKX1zZXRGaWVsZFNldChlKXtjb25zdCB0PXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChlKTt0aGlzLiRmaWVsZFNldHNCdXR0b24ucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tdW5zYXZlZCIpLnRleHQodC50aXRsZSkuYXR0cigiZGF0YS1maWVsZC1zZXQiLGUpfXVwZGF0ZUludGVydmFsQnV0dG9uKGU9dGhpcy5fJHNlbGVjdEludGVydmFsQnV0dG9uLHQ9dGhpcy5fbW9kZWwuc2VsZWN0ZWRJbnRlcnZhbElkKXtpZighZSlyZXR1cm47Y29uc3Qgbz1kZSh0KTtvJiZlLmh0bWwoby5zaG9ydFRpdGxlKTtjb25zdCBpPXRoaXMuX21vZGVsLmVvZFJlc3RyaWN0aW9uLnZhbHVlKCk7ZS50b2dnbGVDbGFzcygiaS1oaWRkZW4iLGk9PT1Xby5XaWRnZXQpfWFkZEludGVydmFsU2VsZWN0KHskYmVmb3JlOmU9bnVsbCwkYXBwZW5kVG86dD1udWxsLCRkcm9wZG93bkNvbnRhaW5lcjppPW51bGx9KXtyZXR1cm4gT24oeyRiZWZvcmU6ZSwkYXBwZW5kVG86dCwkZHJvcGRvd25Db250YWluZXI6aSxtYWtlU2VsZWN0UG9wdXA6ZT0+e2NvbnN0IHQ9T2JqZWN0LmFzc2lnbih7YnV0dG9uVGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzY1MykpfSxlKTtyZXR1cm4gdGhpcy5fcG9wdXBzLnNldFNlbGVjdFBvcHVwKHt3cmFwQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXNlbGVjdCIsYnV0dG9uQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLXN0YXRlIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIGktZGlzYWJsZWQifSx0KX0sYWZ0ZXJNYWtpbmdTZWxlY3RQb3B1cDooZSx0LG8pPT57dGhpcy5fcG9wdXBzLnNldFNlbGVjdEludGVydmFsQ29udGVudChlLG8sKGU9Pnt0aGlzLl9tb2RlbC5zZXRTZWxlY3RlZEludGVydmFsSWQoZS5pZCksdGhpcy51cGRhdGVJbnRlcnZhbEJ1dHRvbih0LGUuaWQpLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKSx0aGlzLnByZXZlbnRIaWdobGlnaHRDaGFuZ2VzKCksdGhpcy5yZWZyZXNoKCl9KSl9LGFmdGVyU2VsZWN0UG9wdXBBcHBlbmQ6KGUsdCk9Pnt0aGlzLl9tb2RlbC5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57dC5yZW1vdmVDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMudXBkYXRlSW50ZXJ2YWxCdXR0b24odCx0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpfSksITApfX0pfXVwZGF0ZUdyb3Vwc0J1dHRvbihlLHQpe3Quc29ydCgoKGUsdCk9Pkl0LnNlY3Rvci5zb3VyY2VSYW5nZS5pbmRleE9mKGUpPkl0LnNlY3Rvci5zb3VyY2VSYW5nZS5pbmRleE9mKHQpPzE6LTEpKTtmb3IobGV0IGk9MDtpPHQubGVuZ3RoO2krKyl7Y29uc3Qgbj10W2ldPT09X3M/aHM6YCR7dFtpXX0ke2k9PT10Lmxlbmd0aC0xPyIgIitfLnQobnVsbCx2b2lkIDAsbyg0MDY2NzcpKToiIn1gO2UuYXBwZW5kKHJzKCc8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC12YWx1ZSI+JykudGV4dChuKSl9ZS5hdHRyKCJkYXRhLWdyb3VwcyIsdCl9YWRkR3JvdXBTZWxlY3QoeyRiZWZvcmU6ZT1udWxsLCRhcHBlbmRUbzp0PW51bGwsJGRyb3Bkb3duQ29udGFpbmVyOmk9bnVsbH0pe3JldHVybiBPbih7JGJlZm9yZTplLCRhcHBlbmRUbzp0LCRkcm9wZG93bkNvbnRhaW5lcjppLGJlZm9yZU1ha2luZ1NlbGVjdFBvcHVwOigpPT57aWYoImZvcmV4Ij09PXRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpe2NvbnN0IGU9dGhpcy5fbW9kZWwuc2VsZWN0ZWRHcm91cHM7LTE9PT1lLmluZGV4T2YoX3MpJiYoSXQuc2VjdG9yLnZhbHVlPWUpfX0sbWFrZVNlbGVjdFBvcHVwOmU9Pntjb25zdCB0PXt3cmFwQ2xhc3M6IiIsYnV0dG9uQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNwYWNlX3JpZ2h0IHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYXJyb3ctZG93biB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtc3RhdGUgYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtZml4ZWQgaS1kaXNhYmxlZCJ9OyJmb3JleCIhPT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlJiYodC53cmFwQ2xhc3MrPSIgaS1oaWRkZW4iKTtjb25zdCBpPU9iamVjdC5hc3NpZ24oe2J1dHRvblRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc5MDY1NikpfSxlKTtyZXR1cm4gdGhpcy5fcG9wdXBzLnNldFNlbGVjdFBvcHVwKHQsaSl9LGFmdGVyTWFraW5nU2VsZWN0UG9wdXA6KGUsdCxvKT0+e3Qub24oImNsaWNrIiwoKCk9PntvLm9mZigiY2hhbmdlIGNsaWNrIHRvdWNoZW5kIiksZS5hdHRyKHsiZGF0YS1zZWxlY3QtbmFtZSI6ImZvcmV4LWdyb3VwIn0pLAp0aGlzLl9jcmVhdGVNdWx0aVNlbGVjdEl0ZW1zRWxlbWVudCgic2VjdG9yIixvLGUsInR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yIiwhMSwoZT0+e3QuZW1wdHkoKTtjb25zdCBvPVtdO2UuZmluZCgiLmpzLWZpbHRlci1jaGVja2JveDpjaGVja2VkLCAuanMtZmlsdGVyLWNoZWNrYm94LWFueTpjaGVja2VkIikuZWFjaCgoKGUsdCk9Pntjb25zdCBpPXJzKHQpLmF0dHIoIm5hbWUiKTtvLnB1c2goaSl9KSksdGhpcy5fbW9kZWwuc2V0U2VsZWN0ZWRHcm91cHMobyk7Y29uc3QgaT1vLm1hcCgoZT0+aHRbZV18fGUpKTt0aGlzLnVwZGF0ZUdyb3Vwc0J1dHRvbih0LGkpLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKX0pLCExLHVzKX0pKX0sYWZ0ZXJTZWxlY3RQb3B1cEFwcGVuZDooZSx0KT0+e3RoaXMuXyRncm91cFNlbGVjdD1lLHRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIiksdC5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItZm9yZXgtcGFpcnMiLCJkYXRhLXJvbGUiOiJidXR0b24ifSksdGhpcy51cGRhdGVHcm91cHNCdXR0b24odCx0aGlzLl9tb2RlbC5zZWxlY3RlZEdyb3Vwcyl9KSwhMCl9fSl9dXBkYXRlTWFya2V0QnV0dG9uKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFya2V0cyxvPXJzKCIuanMtc2NyZWVuZXItbWFya2V0LWJ1dHRvbiIpO2xldCBpLG4scjtpZigxPT09dC5sZW5ndGgpe2NvbnN0IGU9dFswXSxvPUYodGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSk7aT10WzBdLG49b1tlXS5mbGFnP2A8aW1nIGFsdD0iJHtzPW9bZV0uZmxhZ30iIGNyb3Nzb3JpZ2luIHNyYz0iJHsoMCxnby5mbGFnVXJsKShzKX0iIGNsYXNzPSJ0di1mbGFnLWNvdW50cnkgdHYtZmxhZy1jb3VudHJ5LS0ke3N9Ij5gOm9bZV0uaWNvbixyPW9bZV0udGl0bGV9ZWxzZSBpPSJnbG9iYWwiLHI9Imdsb2JhbCIsbj1ycygnXG5cdFx0XHRcdDxpIGFsdD0iZ2xvYmUiIGNsYXNzPSJ0di1mbGFnLWNvdW50cnkgdHYtZmxhZy1jb3VudHJ5LS1nbG9iZSI+XG5cdFx0XHRcdDwvaT5cblx0XHRcdCcpLmh0bWwobnMpO3ZhciBzO28uYXR0cih7ImRhdGEtbmFtZSI6InNjcmVlbmVyLW1hcmtldHMiLCJkYXRhLXJvbGUiOiJidXR0b24iLCJkYXRhLW1hcmtldCI6aX0pLG8uaHRtbChuKSxvLnBhcmVudCgpLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0LS1oaWRkZW4iLCJzdG9jayIhPT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKSxlJiZlLmFwcGVuZChgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3RfX2J1dHRvbi10aXRsZSI+XG5cdFx0XHRcdCR7cn1cblx0XHRcdDwvc3Bhbj48c3BhbiBjbGFzcz0idHYtY2FyZXQiPmApfV9zaG93TWFya2V0c0RpYWxvZygpe3duKHRoaXMuZ2V0U2NyZWVuZXJNYXJrZXREaWFsb2dPcHRpb25zKCkpfWFkZE1hcmtldFNlbGVjdCh7JGJlZm9yZTplPW51bGwsJGFwcGVuZFRvOnQ9bnVsbCwkZHJvcGRvd25Db250YWluZXI6aT1udWxsLGNhcHRpb246cj0hMSxjbGFzc1N1ZmZpeDpzPW51bGx9KXtpZih0aGlzLl9vbldpZGdldClyZXR1cm47Y29uc3QgYT1Pbih7JGJlZm9yZTplLCRhcHBlbmRUbzp0LCRkcm9wZG93bkNvbnRhaW5lcjppLG1ha2VTZWxlY3RQb3B1cDooKT0+e2NvbnN0IGU9e3dyYXBDbGFzczpzPyJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0IHR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3QiK3M6InR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3QiLGJ1dHRvbkNsYXNzOiJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0X19idXR0b24ganMtc2NyZWVuZXItbWFya2V0LWJ1dHRvbiBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZCJ9LHt3cmFwQ2xhc3M6dCxidXR0b25DbGFzczppfT1lLG49cnMoYDxkaXYgY2xhc3M9IiR7dH0gdHYtZHJvcGRvd24gdHYtZHJvcGRvd24tLWlubGluZSB0di1kcm9wZG93bi1iZWhhdmlvciI+YCk7cmV0dXJueyR3cmFwOm4sJGJ1dHRvbjpycyhgPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2J1dHRvbiB0di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9uICR7aX0iIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDU1MzE2NCkpfSI+YCkuYXBwZW5kVG8obil9fX0pO3JldHVybiB0aGlzLmdldFNjcmVlbmVyTWFya2V0RGlhbG9nT3B0aW9ucz0oKT0+KHt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg5ODQ3OTApKSxpbml0aWFsU2VsZWN0ZWRNYXJrZXRzOnRoaXMuX21vZGVsLmlzRW50aXJlV29ybGQ/WygwLG9zLmVudGlyZVdvcmxkTWFya2V0c1ByZXNldCkoKV06KDAsaXMuZ2V0TWFya2V0c0J5TmFtZXMpKFRuLHRoaXMuX21vZGVsLm1hcmtldHMpLGF1dG9mb2N1czohMCxpbml0aWFsTW9kZTooMCxlcy5pc0dsb2JhbFNjcmVlbmVyQXZhaWxhYmxlKSgpP24uZ2V0VmFsdWUodHMsUXIuTWFya2V0RGlhbG9nTW9kZS5TaW5nbGUpOlFyLk1hcmtldERpYWxvZ01vZGUuU2luZ2xlLGRlZmF1bHRNYXJrZXQ6eG4sb25TZWxlY3RDb21wbGV0ZTplPT57dmFyIHQ7dD1lLm1vZGUsbi5zZXRWYWx1ZSh0cyx0KTtjb25zdCBvPWUubWFya2V0cy5tYXAoKGU9PmUudmFsdWUpKTt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksdGhpcy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksdGhpcy4kZmlsdGVyc0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITApLHRoaXMuX21vZGVsLmlzRW50aXJlV29ybGQ9MT09PW8ubGVuZ3RoJiYiZW50aXJlX3dvcmxkIj09PW9bMF0sdGhpcy5fbW9kZWwuc2V0TWFya2V0KHRoaXMuX21vZGVsLmlzRW50aXJlV29ybGQ/W106bykudGhlbigoKCk9Pnt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMSksdGhpcy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMSksdGhpcy4kZmlsdGVyc0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITEpLHRoaXMudXBkYXRlTWFya2V0QnV0dG9uKHImJmF8fG51bGwpCn0pKS5jYXRjaCgoZT0+e2UmJmxzLmxvZ0Vycm9yKGUpfSkpfSxvbkNsb3NlOigpPT57KDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHluLkNoYW5nZU1hcmtldEV2ZW50KHRoaXMuX21vZGVsLm1hcmtldHMuam9pbigiLCIpKSl9fSksYS5vbigiY2xpY2siLCgoKT0+e3duKHRoaXMuZ2V0U2NyZWVuZXJNYXJrZXREaWFsb2dPcHRpb25zKCkpfSkpLHRoaXMudXBkYXRlTWFya2V0QnV0dG9uKHImJmF8fG51bGwpLGF9cmVmcmVzaCgpe2RvY3VtZW50LmhpZGRlbnx8dGhpcy5fdGVtcEJ1c3l8fCh0aGlzLl9kYXRhJiYodGhpcy5fcHJldkRhdGE9dGhpcy5fZGF0YS5zbGljZSgpKSx0aGlzLl9tb2RlbC5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMuX21vZGVsLnVwZGF0ZShudWxsLCExLCExLCExLCEwKSl9Z2V0IHJlZnJlc2hJbnRlcnZhbHMoKXtyZXR1cm4gdGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaD92czpnc31yZXNldFJlZnJlc2hDb3VudGVyKGUpe2lmKGNsZWFySW50ZXJ2YWwodGhpcy5fcmVmcmVzaENvdW50ZXJJbnRlcnZhbElkKSwhMD09PWUpcmV0dXJuO2xldCB0PXRoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbDtjb25zdCBvPS0xPT09dHx8IXVzZXIuaXNfcHJvJiYhdGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaDtpZih0aGlzLiRyZWZyZXNoQnV0dG9uJiZ0aGlzLiRyZWZyZXNoQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtY291bnRlciIsIW8mJiF0aGlzLl9tb2RlbC5pc0Zhc3RSZWZyZXNoKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hY3RpdmUiLCFvKSxvKXJldHVybjtjb25zdCBpPSgpPT57aWYoIXRoaXMuX21vZGVsLmlzRmFzdFJlZnJlc2gpe2NvbnN0IGU9dC82MHwwLG89dCU2MDt0aGlzLiRyZWZyZXNoQ291bnRlci50ZXh0KGAke2AwMCR7ZX1gLnNsaWNlKC0yKX06JHtgMDAke299YC5zbGljZSgtMil9YCl9dDw9MD90aGlzLnJlZnJlc2goKTotLXR9O2koKSx0Pj0wJiYodGhpcy5fcmVmcmVzaENvdW50ZXJJbnRlcnZhbElkPXNldEludGVydmFsKGksMWUzKSl9cHJldmVudEhpZ2hsaWdodENoYW5nZXMoKXt0aGlzLl9wcmV2ZW50SGlnaGxpZ2h0Q2hhbmdlcz0hMH1oaWdobGlnaHRDaGFuZ2VzKCl7aWYodGhpcy5fcHJldmVudEhpZ2hsaWdodENoYW5nZXMpcmV0dXJuIHZvaWQodGhpcy5fcHJldmVudEhpZ2hsaWdodENoYW5nZXM9ITEpO2lmKCF0aGlzLl9wcmV2RGF0YXx8IXRoaXMuX2RhdGF8fHRoaXMuX21vZGVsLm1hcmtldENoYW5nZVByb2Nlc3MpcmV0dXJuO2NvbnN0IGU9e307Zm9yKGxldCB0PTA7dDwodGhpcy5fcHJldkRhdGF8fFtdKS5sZW5ndGg7Kyt0KWVbdGhpcy5fcHJldkRhdGFbdF0uc109dGhpcy5fcHJldkRhdGFbdF0uZDtpZihkZWxldGUgdGhpcy5fcHJldkRhdGEsdGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaCl7Y29uc3QgdD1bImJpZCIsImFzayIsImNsb3NlIl07Zm9yKGxldCBvPTA7bzx0aGlzLl9kYXRhLmxlbmd0aDsrK28pe2NvbnN0IGk9dGhpcy5fZGF0YVtvXS5zLG49dGhpcy5fZGF0YVtvXS5kLHI9ZVtpXTtpZighciljb250aW51ZTtjb25zdCBzPSgpPT57dGhpcy5fdGFibGUuZmxpY2tSb3coaSl9O2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtjb25zdCBvPXRbZV0scz10aGlzLl90YWJsZS5maWVsZHNPcmRlci5pbmRleE9mKG8pO2lmKG5bc10hPT1yW3NdKXtjb25zdCBlPW5bc10+cltzXTt0aGlzLl90YWJsZS5oaWdobGlnaHRDZWxsKGksbyxlKX19c2V0VGltZW91dChzLDFlMyl9cmV0dXJufWNvbnN0IHQ9W107Zm9yKGxldCBvPTA7bzx0aGlzLl9kYXRhLmxlbmd0aDsrK28pe2NvbnN0IGk9dGhpcy5fZGF0YVtvXS5zLG49dGhpcy5fZGF0YVtvXS5kLHI9ZVtpXTtpZighciljb250aW51ZTtsZXQgcz0hMTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoOysrZSlpZihuW2VdIT09cltlXSl7cz0hMDticmVha31zJiZ0LnB1c2goaSl9dC5sZW5ndGgmJnRoaXMuX3RhYmxlLiR0Ym9keS5maW5kKGB0cltkYXRhLXN5bWJvbD0iJHt0LmpvaW4oJyJdLHRyW2RhdGEtc3ltYm9sPSInKX0iXWApLmFkZENsYXNzKCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZmxpY2siKX1fY3JlYXRlU3dpdGNoKGUpe3RoaXMuJHN3aXRjaD1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fc3dpdGNoIj4nKS5hcHBlbmRUbyh0aGlzLiR0b29sYmFyKTtjb25zdCB0PXttb2RlczplLG9uQ2hhbmdlOmU9PnRoaXMuX21vZGVsLmFwcGx5U3dpdGNoKGUpfTshZnVuY3Rpb24oZSx0KXtEaS5yZW5kZXIoTGkuY3JlYXRlRWxlbWVudChxaSx7Li4udH0pLGUpfSh0aGlzLiRzd2l0Y2hbMF0sdCl9Z2V0IGNvbmRpdGlvbk9wZXJhdG9ycygpe3JldHVybiBjc319dmFyIFNzPW8oMjAzNjgxKSx3cz1vKDM4NjkzMSksQ3M9bygxNTI2OTkpLGtzPW8oNTY5Mzk4KTtjb25zdCBUcz0oKT0+d2luZG93LlNDUkVFTkVSX0hPU1R8fCJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIjt2YXIgRXM9bygxNTY4NTApO2NsYXNzIHhze2NvbnN0cnVjdG9yKCl7dGhpcy5fbG9jYWxTZXR0aW5ncz17fX1nZXRWYWx1ZShlLHQpe3JldHVybiB0aGlzLl9sb2NhbFNldHRpbmdzLmhhc093blByb3BlcnR5KGUpP3RoaXMuX2xvY2FsU2V0dGluZ3NbZV06dH1zZXRWYWx1ZShlLHQpe3RoaXMuX2xvY2FsU2V0dGluZ3NbZV09dH1nZXRJbnQoZSx0KXtyZXR1cm4gdGhpcy5nZXRWYWx1ZShlLHQpfWdldEJvb2woZSx0KXtyZXR1cm4gdGhpcy5nZXRWYWx1ZShlLHQpfXNldEludChlLHQpe3RoaXMuc2V0VmFsdWUoZSx0KX1nZXRKU09OKGUsdCl7cmV0dXJuIHRoaXMuZ2V0VmFsdWUoZSx0KX1zZXRKU09OKGUsdCl7dGhpcy5zZXRWYWx1ZShlLHQpfXJlbW92ZShlKXt0aGlzLl9sb2NhbFNldHRpbmdzLmhhc093blByb3BlcnR5KGUpJiZkZWxldGUgdGhpcy5fbG9jYWxTZXR0aW5nc1tlXX19dmFyIEFzPW8oMjMyOTQ4KSxNcz1vKDMwNTQ2Nik7ZnVuY3Rpb24gSXMoZSl7Y29uc3R7dmFsdWU6dCxpc01hcmtldEN1cnJlbmN5OmksY29udGVudDpufT1lCjtyZXR1cm4gdD09PUxzLlNZTUJPTD9fLnQobnVsbCx2b2lkIDAsbyg3MDk0OTcpKTppJiZ0PT09THMuTUFSS0VUP18udChudWxsLHZvaWQgMCxvKDkzOTEzNikpOmk/Xy50KG51bGwsdm9pZCAwLG8oOTM5MTM2KSkrYCAoJHtufSlgOm59ZnVuY3Rpb24gUnMoZSl7Y29uc3R7aXNHbG9iYWw6dCxmaW5hbmNpYWxDdXJyZW5jeTppLHN5bWJvbEN1cnJlbmNpZXM6bn09ZTtsZXQgcj1bXTt0JiZyLnB1c2goe3ZhbHVlOkxzLk1BUktFVCxpc01hcmtldEN1cnJlbmN5OiEwLGNvbnRlbnQ6Xy50KG51bGwsdm9pZCAwLG8oOTM5MTM2KSksZGVzY3JpcHRpb246Xy50KG51bGwsdm9pZCAwLG8oMzg3MzUyKSl9KTtjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU/e3ZhbHVlOkxzLkdMT0JBTCxpc01hcmtldEN1cnJlbmN5OiExLGNvbnRlbnQ6RHMuVVNELGRlc2NyaXB0aW9uOl8udChudWxsLHZvaWQgMCxvKDYwNTY3NCkpfTp7dmFsdWU6dCxpc01hcmtldEN1cnJlbmN5OiEwLGNvbnRlbnQ6dCxkZXNjcmlwdGlvbjpfLnQobnVsbCx2b2lkIDAsbygzODczNTIpKX19KHQsaSk7ci5wdXNoKHMpO2NvbnN0IGE9T2JqZWN0LmtleXMoRHMpLmZpbHRlcigoZT0+ZSE9PWkpKSxsPWEubWFwKChlPT4oe3ZhbHVlOmUsaXNNYXJrZXRDdXJyZW5jeTohMSxjb250ZW50OmUsZGVzY3JpcHRpb246dm9pZCAwfSkpKTtyPVsuLi5yLC4uLmxdO3JldHVybiAxPT09bi5sZW5ndGgmJltpLC4uLmFdLmluY2x1ZGVzKG5bMF0pfHxyLnVuc2hpZnQoe3ZhbHVlOkxzLlNZTUJPTCxpc01hcmtldEN1cnJlbmN5OiExLGNvbnRlbnQ6Xy50KG51bGwsdm9pZCAwLG8oNzA5NDk3KSksZGVzY3JpcHRpb246Xy50KG51bGwsdm9pZCAwLG8oMTk0NjAwKSl9KSx7ZGVmYXVsdEN1cnJlbmN5OnMsY3VycmVuY2llczpyfX1jbGFzcyBGc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjb252ZXJ0X2N1cnJlbmN5Iix0aGlzLnNvdXJjZT0iY29udmVydF9jdXJyZW5jeV9zZWxlY3RvciIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPWV9fXZhciBMcyxEcyxPcz1vKDQ4MjUwNCk7IWZ1bmN0aW9uKGUpe2UuTUFSS0VUPSJtYXJrZXQiLGUuU1lNQk9MPSJzeW1ib2wiLGUuR0xPQkFMPSJnbG9iYWwifShMc3x8KExzPXt9KSksZnVuY3Rpb24oZSl7ZS5VU0Q9IlVTRCJ9KERzfHwoRHM9e30pKTtjbGFzcyBOc3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5jcmVhdGVDdXJyZW5jeVNlbGVjdD0oKT0+KHtzZWxlY3RCdXR0b246dGhpcy5faW5pdEN1cnJlbmN5U2VsZWN0KHskYmVmb3JlOnRoaXMuX3ZpZXcuJGZpbHRlclNldHNCdXR0b24ucGFyZW50KCl9KS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItcHJpY2UtY3VycmVuY3kiLCJkYXRhLXJvbGUiOiJidXR0b24ifSksY3VycmVuY3lTZWxlY3Q6dGhpc30pLHRoaXMuZ2V0UHJpY2VDb252ZXJzaW9uT2JqZWN0PSgpPT57Y29uc3R7dmFsdWU6ZSxpc01hcmtldEN1cnJlbmN5OnR9PXRoaXMuZ2V0Q3VycmVudEN1cnJlbmN5KCk7cmV0dXJuIGU9PT1Mcy5TWU1CT0w/e3RvX3N5bWJvbDohMH06dD97dG9fc3ltYm9sOiExfTplPT09THMuR0xPQkFMP251bGw6e3RvX3N5bWJvbDohMSx0b19jdXJyZW5jeTplfX0sdGhpcy5faW5pdEN1cnJlbmN5U2VsZWN0PWU9Pntjb25zdHskYmVmb3JlOnQ9bnVsbCwkYXBwZW5kVG86bz1udWxsLCRkcm9wZG93bkNvbnRhaW5lcjppPW51bGx9PWU7aWYoISh0fHxvKSl0aHJvdyBuZXcgRXJyb3IoIlByb3ZpZGUgYXQgbGVhc3Qgb25lIG9mICRiZWZvcmUgb3IgJGFwcGVuZFRvIGZvciBTZWNyZWVuZXJDdXJyZW5jeVNlbGVjdCIpO3JldHVybiBPbih7JGJlZm9yZTp0LCRhcHBlbmRUbzpvLCRkcm9wZG93bkNvbnRhaW5lcjppLG1ha2VTZWxlY3RQb3B1cDp0aGlzLl9jcmVhdGVTZWxlY3RCdXR0b24sYWZ0ZXJNYWtpbmdTZWxlY3RQb3B1cDp0aGlzLl9zZXRTZWxlY3RDb250ZW50LGFmdGVyU2VsZWN0UG9wdXBBcHBlbmQ6dGhpcy5fb25Mb2FkfSl9LHRoaXMuX2NyZWF0ZVNlbGVjdEJ1dHRvbj1lPT57Y29uc3QgdD17YnV0dG9uVGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNjEzMTQpKSwuLi5lfTtyZXR1cm4gdGhpcy5fdmlldy5fcG9wdXBzLnNldFNlbGVjdFBvcHVwKHt3cmFwQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2N1cnJlbmN5LXNlbGVjdCIsYnV0dG9uQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLXN0YXRlIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIn0sdCl9LHRoaXMuX3NldFNlbGVjdENvbnRlbnQ9KGUsdCxvKT0+e28uZW1wdHkoKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzKXtjb25zdHt2YWx1ZTp0LGNvbnRlbnQ6aSxkZXNjcmlwdGlvbjpufT1lLHI9SXMoZSk7T3MoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdGRhdGEtY3VycmVuY3k9IiR7dH0iXG5cdFx0XHRcdFx0dGl0bGU9IiR7bnx8aX0iXG5cdFx0XHRcdFx0Y2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCB0di1zY3JlZW5lci1wb3B1cF9faXRlbSBqcy1jdXJyZW5jeS1zZWxlY3QgJHt0PT09dGhpcy5fY3VycmVudEN1cnJlbmN5LnZhbHVlPyJ0di1zY3JlZW5lci1wb3B1cF9fY3VycmVuY3ktc2VsZWN0LS1hY3RpdmUiOiIifSJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdCR7cn1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5gKS5hcHBlbmRUbyhvKX1lLm9uKCJhZnRlck9wZW5NZW51IiwoKCk9PntvLm9uKCJjbGljayIsIi5qcy1jdXJyZW5jeS1zZWxlY3QiLCh0PT57dC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9dGhpcy5fY3VycmVudEN1cnJlbmN5LnZhbHVlLG49dC5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuY3VycmVuY3kKO24mJm4hPT1pJiYoby5maW5kKCIudHYtc2NyZWVuZXItcG9wdXBfX2N1cnJlbmN5LXNlbGVjdC0tYWN0aXZlIikucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19jdXJyZW5jeS1zZWxlY3QtLWFjdGl2ZSIpLG8uZmluZChgW2RhdGEtY3VycmVuY3k9JyR7bn0nXWApLmFkZENsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9fY3VycmVuY3ktc2VsZWN0LS1hY3RpdmUiKSx0aGlzLl9oYW5kbGVTZWxlY3Qobiksc2V0VGltZW91dCgoKCk9PntlLnR2RHJvcGRvd24oImNsb3NlIiksby5vZmYoImNsaWNrIil9KSxtby5kdXIvMikpfSkpfSkpfSx0aGlzLl9oYW5kbGVTZWxlY3Q9ZT0+e3RoaXMuX2N1cnJlbnRDdXJyZW5jeT10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLmZpbHRlcigodD0+dC52YWx1ZT09PWUpKVswXSxmdW5jdGlvbihlKXtpZihlLmlzTWFya2V0Q3VycmVuY3kpcmV0dXJuIHZvaWQoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgRnMoIm1hcmtldF9jdXJyZW5jeSIpKTtpZihlLnZhbHVlPT09THMuU1lNQk9MKXJldHVybiB2b2lkKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEZzKCJzeW1ib2xfY3VycmVuY3kiKSk7KDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEZzKCJ1c2QiKSl9KHRoaXMuX2N1cnJlbnRDdXJyZW5jeSksdGhpcy5fdXBkYXRlU2VsZWN0QnV0dG9uKCksdGhpcy5fdmlldy5wcmV2ZW50SGlnaGxpZ2h0Q2hhbmdlcygpLHRoaXMuX3ZpZXcucmVmcmVzaCgpfSx0aGlzLl9vbkxvYWQ9KGUsdCk9Pnt0aGlzLl92aWV3Ll9tb2RlbC5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57dC5yZW1vdmVDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMuX3VwZGF0ZVNlbGVjdEJ1dHRvbigpfSksITApfSx0aGlzLl91cGRhdGVTZWxlY3RCdXR0b249KCk9Pntjb25zdHtjb250ZW50OmV9PXRoaXMuX2N1cnJlbnRDdXJyZW5jeSx0PV8udChudWxsLHZvaWQgMCxvKDM0MTI0NCkpK2A6ICR7ZX1gO3RoaXMuX3ZpZXcuXyRjdXJyZW5jeVNlbGVjdEJ1dHRvbi5odG1sKHQpfSx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzPWUsdGhpcy5fY3VycmVudEN1cnJlbmN5PXQsdGhpcy5fdmlldz1pfWdldEN1cnJlbnRDdXJyZW5jeSgpe3JldHVybiB0aGlzLl9jdXJyZW50Q3VycmVuY3l9fWZ1bmN0aW9uIFBzKGUsdCxvKXtvLl8kY3VycmVuY3lTZWxlY3RCdXR0b24mJihvLl8kY3VycmVuY3lTZWxlY3RCdXR0b24ucGFyZW50KCkucmVtb3ZlKCksby5fbW9kZWwuX2N1cnJlbmN5U2VsZWN0PXZvaWQgMCk7Y29uc3QgaT1vLl9icmlkZ2U7aWYoIWV8fCgwLEFuLmlzRXh0ZXJuYWxXaWRnZXQpKGkpfHxpLmhpZGVfY29udHJvbHMpcmV0dXJuO2NvbnN0IG49ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZS5fbW9kZWwubWFya2V0cykmJmUuX21vZGVsLm1hcmtldHMubGVuZ3RoPjF9KG8pLHtkZWZhdWx0Q3VycmVuY3k6cixjdXJyZW5jaWVzOnN9PVJzKHtpc0dsb2JhbDpuLGZpbmFuY2lhbEN1cnJlbmN5OmUsc3ltYm9sQ3VycmVuY2llczp0fSk7aWYoMT09PXMubGVuZ3RoKXJldHVybjtjb25zdCBhPW5ldyBOcyhzLHIsbykse3NlbGVjdEJ1dHRvbjpsLGN1cnJlbmN5U2VsZWN0OmN9PWEuY3JlYXRlQ3VycmVuY3lTZWxlY3QoKTtvLl8kY3VycmVuY3lTZWxlY3RCdXR0b249bCxvLl9tb2RlbC5fY3VycmVuY3lTZWxlY3Q9Y312YXIgQnM9byg5MjY5OTUpLCRzPW8oMzUxODI3KTtjb25zdCBXcz17c3RvY2s6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDU2MzUzMCkpLGNvbnRlbnRUZXh0Ol8udChudWxsLHZvaWQgMCxvKDMyNzMwNSkpLGNvbmZpcm1BY3Rpb246e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDUzMjEwOSkpLGhhbmRsZXI6KCk9PndpbmRvdy5vcGVuKCIvc2NyZWVuZXIvIiwiX2JsYW5rIil9LGNsb3NlQWN0aW9uOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzMjI5ODYpKSxoYW5kbGVyOigpPT4oMCxCcy5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6NDMwMDA3MTg4NjZ9KX19LGNyeXB0bzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzQ4NTQ0KSksY29udGVudFRleHQ6Xy50KG51bGwse3JlcGxhY2U6e2NyeXB0b0NvaW5zU2NyZWVuZXJMaW5rU3RhcnQ6YDxhIGhyZWY9Ii9jcnlwdG8tY29pbnMtc2NyZWVuZXIvP2Zyb209b2xkLWNyeXB0by1wYWlycyIgY2xhc3M9IiR7JHMubGlua30iIHRhcmdldD0iX2JsYW5rIj5gLGNleFNjcmVlbmVyTGlua1N0YXJ0OmA8YSBocmVmPSIvY2V4LXNjcmVlbmVyLz9mcm9tPW9sZC1jcnlwdG8tcGFpcnMiIGNsYXNzPSIkeyRzLmxpbmt9IiB0YXJnZXQ9Il9ibGFuayI+YCxkZXhTY3JlZW5lckxpbmtTdGFydDpgPGEgaHJlZj0iL2RleC1zY3JlZW5lci8/ZnJvbT1vbGQtY3J5cHRvLXBhaXJzIiBjbGFzcz0iJHskcy5saW5rfSIgdGFyZ2V0PSJfYmxhbmsiPmAsbGlua0VuZDoiPC9hPiJ9fSxvKDUyOTE2MCkpLGNvbmZpcm1BY3Rpb246e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDI5MjAzOCkpLGhhbmRsZXI6KCk9PndpbmRvdy5vcGVuKCIvY2V4LXNjcmVlbmVyLz9mcm9tPW9sZC1jcnlwdG8tcGFpcnMiLCJfYmxhbmsiKX0sY2xvc2VBY3Rpb246e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDcyNDkxMikpLGhhbmRsZXI6KCk9Pnt9fX19O3ZhciBxcz1vKDc0Njk0OSksVnM9byg0ODI1MDQpO28oNzExOTc5KTtjb25zdCBIcz1vKDIyNTI5OCkubGlua2luZyx7RGVsZWdhdGU6VXN9PW8oOTQ4MzgwKSx6cz1vKDE2MDI5NiksanM9bygyMjEwNjEpLmdldExvZ2dlcigiU2NyZWVuZXIuV2lkZ2V0IiksR3M9d2luZG93LmxvY2FsZXx8ImVuIjtsZXQgWHM9MTUwO2NvbnN0IEtzPWU9Pkl0W2VdJiYhMCE9PUl0W2VdLmRpc2FibGVkJiYhMCE9PUl0W2VdLmhpZGRlbkNvbHVtbixZcz17Zm9yZXg6InNjcmVlbmVyLWZvcmV4IixjcnlwdG86InNjcmVlbmVyLWNyeXB0byIsc3RvY2s6InNjcmVlbmVyIn0sSnM9WyJwcmljZXNjYWxlIiwibWlubW92IiwiZnJhY3Rpb25hbCIsIm1pbm1vdmUyIl07dmFyIFpzPW8oNDgyNTA0KTsoMCxfby5lbmFibGUpKCJ3aWRnZXQiKTtjb25zdCBRcz0oMCwKc28uZXh0cmFjdFdpZGdldFNldHRpbmdzKSh3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMpLGVhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNqcy1zY3JlZW5lci1jb250YWluZXIiKSx0YT1Rcy5sb2NhbGV8fCJlbiI7IWZ1bmN0aW9uKGUsdCxvLGk9e30pe2lmKG51bGw9PT1lLnBhcmVudEVsZW1lbnQpcmV0dXJuIGNvbnNvbGUud2FybigiQ2FuIG5vdCB3cmFwICdlbFdpZGdldENvbnRhaW5lcicgYmVjYXVzZSBpdCBoYXMgbm8gcGFyZW50RWxlbWVudCIpLGU7bGV0IG49bnVsbCxkPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtYm9keSIpO2NvbnN0IGg9bnVsbCE9PWQ7aWYoaCl7ZD0oMCxyLmVuc3VyZU5vdE51bGwpKGQpLG49KDAsci5lbnN1cmVOb3ROdWxsKShkLnBhcmVudEVsZW1lbnQpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtaGVhZCIpO251bGw9PT1lJiYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlLmNsYXNzTGlzdC5hZGQoInR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19oZWFkZXIiKSxlLmNsYXNzTGlzdC5hZGQoImpzLWVtYmVkLXdpZGdldC1oZWFkIiksbi5pbnNlcnRCZWZvcmUoZSxkKSl9ZWxzZSBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4uY2xhc3NMaXN0LmFkZCgidHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXIiKSxuLmlubmVySFRNTD0nPGRpdiBjbGFzcz0idHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2hlYWRlciBqcy1lbWJlZC13aWRnZXQtaGVhZCI+PC9kaXY+PGRpdiBjbGFzcz0idHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHkganMtZW1iZWQtd2lkZ2V0LWJvZHkiPjwvZGl2PicsZD1uLnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtYm9keSIpO2lmKGkub3ZlcmZsb3dBdXRvJiZkLmNsYXNzTGlzdC5hZGQoInR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1vdmVyZmxvd19hdXRvIiksaS5zaG93Qm9yZGVyT25UcmFuc3BhcmVudCYmZC5jbGFzc0xpc3QuYWRkKCJ0di1lbWJlZC13aWRnZXQtd3JhcHBlcl9fYm9keS0tYm9yZGVyLW9uLXRyYW5zcGFyZW50IiksIWkuaXNXaGl0ZUxhYmVsKXshYXN5bmMgZnVuY3Rpb24oZSx0LG8saSxuPXt9KXtjb25zdCBkPW4uaXNTaGVyaWZmRGlzYWJsZWQ/W106YXdhaXQoMCxzLmdldFdpZGdldFNoZXJpZmZBY3Rpb25zKSgpLGg9ZC5pbmNsdWRlcyhjLktub3duQWN0aW9uLkxhcmdlVHJhZGVMb2dvKSx1PWZ1bmN0aW9uKGUpe3JldHVyblsiY3J5cHRvLWNvaW5zLWhlYXRtYXAiLCJmb3JleC1jcm9zcy1yYXRlcyIsIm1hcmtldC1vdmVydmlldyIsInN5bWJvbC1vdmVydmlldyIsIm1hcmtldC1xdW90ZXMiLCJzdG9jay1oZWF0bWFwIiwic2NyZWVuZXIiLCJmb3JleC1oZWF0LW1hcCIsImNyeXB0by1ta3Qtc2NyZWVuZXIiLCJldmVudHMiLCJob3RsaXN0cyJdLmluY2x1ZGVzKGUpfSh0KSxfPWgmJnU/ImxhcmdlX3RyYWRlIjp2b2lkIDAscD1hd2FpdCgwLGwuZ2V0Q3VzdG9tZXJDb3B5cmlnaHREYXRhKShuLmN1c3RvbWVyLG4ubG9jYWxlLCgwLGwuYWRkVXRtQ2FtcGFpZ25Tb3VyY2UpKHsuLi5pfSwibG9nbyIpLF8pLG09Xz8/bi5jb3B5cmlnaHRPcHRpb25zPy5tb2RlPz8ic21hbGxfb2xkIjsoMCxyLmVuc3VyZU5vdE51bGwpKGUpLmFwcGVuZENoaWxkKCgwLGEuY3JlYXRlQ29weXJpZ2h0TGFiZWwpKHtzaGVyaWZmT3B0aW9uczpkLHNuYXBUb0VkZ2U6bywuLi5uLmNvcHlyaWdodE9wdGlvbnMsLi4ucCxtb2RlOm19KSl9KGQsdCwhZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtdHJhbnNwYXJlbnQiKXx8Qm9vbGVhbihpLnNob3dCb3JkZXJPblRyYW5zcGFyZW50KSxvLGkpfWh8fChlLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKG4sZSksZC5hcHBlbmRDaGlsZChlKSl9KGVhLCJzY3JlZW5lciIsKDAsdS5maWx0ZXJVdG1JbmZvKShRcykse2lzV2hpdGVMYWJlbDpRcy53aGl0ZWxhYmVsLGxvY2FsZTp0YSxvdmVyZmxvd0F1dG86ITB9KTtjb25zdCBvYT1acygiI2pzLXNjcmVlbmVyLWNvbnRhaW5lciIpLGlhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtaGVhZCIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuanMtZW1iZWQtd2lkZ2V0LWJvZHkiKS5zdHlsZS5oZWlnaHQ9YGNhbGMoMTAwJSAtICR7aWF9cHgpYCxRcy5pc1RyYW5zcGFyZW50JiZvYS5hZGRDbGFzcygidHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50Iik7Y29uc3QgbmE9ZnVuY3Rpb24oZSl7Y29uc3QgdD1ubyhGKCJzdG9jayIpLGUpLG89bm8oRigiZm9yZXgiKSxlKSxpPW5vKEYoImNyeXB0byIpLGUpO3JldHVybiB0LmNvbmNhdChvKS5jb25jYXQoaSl9KHdpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcikubWFwKChlPT5lLnZhbHVlKSkscmE9WyJtb3JvY2NvIl0sc2E9W107aWYoUXMucGVybWlzc2lvbk92ZXJyaWRlcz8ubWFya2V0Py5pbmNsdWRlcygidWsiKXx8c2EucHVzaCgidWsiKSxRcy5tYXJrZXQpe2NvbnN0IGU9IW5hLmluY2x1ZGVzKFFzLm1hcmtldCksdD1yYS5pbmNsdWRlcyhRcy5tYXJrZXQpLG89c2EuaW5jbHVkZXMoUXMubWFya2V0KTsoZSYmIXR8fG8pJiYoUXMubWFya2V0PW5hWzBdKX12YXIgYWE7UXMuc2NyZWVuZXJfdHlwZXx8KFFzLnNjcmVlbmVyX3R5cGU9dm9pZCAwPT09KGFhPVFzLm1hcmtldCk/ZC5TdG9jazpbImZvcmV4IiwiY3J5cHRvIl0uaW5jbHVkZXMoYWEpP2FhOmQuU3RvY2spO2NvbnN0IGxhPVFzLnNjcmVlbmVyX3R5cGU9PT1kLkNyeXB0b01rdD8iY3J5cHRvbWt0c2NyZWVuZXIiOiJmb3JleHNjcmVlbmVyIixjYT1Rcy5zY3JlZW5lcl90eXBlPT09ZC5DcnlwdG9Na3Q/ImNyeXB0by1ta3Qtc2NyZWVuZXIiOiJzY3JlZW5lciI7IWFzeW5jIGZ1bmN0aW9uKGUpe2F3YWl0IG5ldyBQcm9taXNlKChlPT5zZXRUaW1lb3V0KGUsMCkpKSwoYXdhaXQoMCwKYW8uZ2V0VHJhY2tlcikoKSk/LnRyYWNrU2VsZkRlc2MoImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldHNfd2l0aG91dF93ZWJzb2NrZXQvanNvbnNjaGVtYS8xLTAtMCIsey4uLmhvKCksd2lkZ2V0X2lkOmUsZXZlbnRfbmFtZToicGFnZV92aWV3In0pfShsYSk7dHJ5eygwLHVvLnRyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvKSh7d2lkZ2V0X2lkOmNhLHN5bWJvbHM6SlNPTi5zdHJpbmdpZnkoW1FzLm1hcmtldF0pLGN1c3RvbWVyOlFzLmN1c3RvbWVyfSl9Y2F0Y2h7fWNvbnN0IGRhPXskYm9keTpvYSxzdGFuZGFsb25lOiExLG9uV2lkZ2V0OiEwLHdpZGdldFNldHRpbmdzOlFzLGhpZGVfY29udHJvbHM6IVFzLnNob3dUb29sYmFyLG1hcmtlZF9zeW1ib2xzX2Rpc2FibGVkOiEwLHRhYmxlX2NvbnRleHRfbWVudV9kaXNhYmxlZDohMSxvcGVuX2NoYXJ0X29uX3NhbWVfdGFiOiExLHNlbGVjdGlvbl9kaXNhYmxlZDohMCxkaXNhYmxlU3RpY2t5SGVhZGVyOiExLGlzVW5hdmFpbGFibGVXaWRnZXRNYXJrZXQ6ISghUXMubWFya2V0fHwhZnVuY3Rpb24oZSl7cmV0dXJuIFcuaW5jbHVkZXMoZSl9KFFzLm1hcmtldCkpfTtWKClbUXMubWFya2V0XSYmKGRhLnVuYXZhaWxhYmxlV2lkZ2V0RXhjaGFuZ2VzPVYoKVtRcy5tYXJrZXRdKSxuZXcgY2xhc3N7Y29uc3RydWN0b3IoZSl7aWYodGhpcy5fYnJpZGdlPWUsdGhpcy5fcGVuZGluZ1Byb21pc2U9bnVsbCwhKCIkYm9keSJpbiBlKSYmImNvbnRhaW5lciJpbiBlJiYodGhpcy5fYnJpZGdlLiRib2R5PVZzKGUuY29udGFpbmVyKSksdGhpcy5fYnJpZGdlLm9uV2lkZ2V0fHwiYmlnIj09PXRoaXMuX2JyaWRnZS50YWJsZV9zdHlsZT90aGlzLnNldHRpbmdzU2F2ZXI9bmV3IHhzOnRoaXMuc2V0dGluZ3NTYXZlcj1uLHRoaXMuX2JyaWRnZS5wYWdlX3NpemUmJihYcz10aGlzLl9icmlkZ2UucGFnZV9zaXplKSx0aGlzLl9icmlkZ2Uub25XaWRnZXQpe2xldCB0O2lmKGUud2lkZ2V0U2V0dGluZ3MubGFyZ2VDaGFydFVybCl7dD1lLndpZGdldFNldHRpbmdzLmxhcmdlQ2hhcnRVcmw7dC5tYXRjaCgvXmh0dHBzPzpcL1wvLyl8fCh0PSJodHRwOi8vIit0KX1pZih0aGlzLmxhcmdlQ2hhcnRVcmw9dCx0aGlzLnV0bT0oMCx1LmZpbHRlclV0bUluZm8pKGUud2lkZ2V0U2V0dGluZ3MpLHRoaXMuc2NyZWVuZXJfdHlwZT1lLndpZGdldFNldHRpbmdzLnNjcmVlbmVyX3R5cGUsImNyeXB0b19ta3QiPT09dGhpcy5zY3JlZW5lcl90eXBlKXtjb25zdCB0PSJCVEMiPT09ZS53aWRnZXRTZXR0aW5ncy5kaXNwbGF5Q3VycmVuY3k/IkJUQyI6IlVTRCI7dGhpcy5zd2l0Y2hGaWx0ZXI9e2xlZnQ6Im5hbWUiLG9wZXJhdGlvbjoibWF0Y2giLHJpZ2h0OnQrIiQifSxadC51bnNoaWZ0KHtpZDoiY3J5cHRvX21rdCIsdGl0bGU6ImNyeXB0b19ta3QiLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im1hcmtldF9jYXBfY2FsYyIsc29ydF9kaXJlY3Rpb246ImRlc2MiLGZpbHRlcnM6e3NlY3Rvcjp7b3BlcmF0b3I6Im5lbXB0eSJ9fX19KX19ZWxzZSB0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZT90aGlzLnNjcmVlbmVyX3R5cGU9ZS5zY3JlZW5lcl90eXBlfHwic3RvY2siOnRoaXMuc2NyZWVuZXJfdHlwZT1kLkNyeXB0bzt0aGlzLnNldHRpbmdLZXk9WXNbdGhpcy5zY3JlZW5lcl90eXBlXXx8WXMuc3RvY2ssdGhpcy5fYnJpZGdlLm9uV2lkZ2V0JiZ0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUoYCR7R3N9LiR7dGhpcy5zZXR0aW5nS2V5fS5tYXJrZXRgLGUud2lkZ2V0U2V0dGluZ3MubWFya2V0LHtmb3JjZUZsdXNoOiEwfSksdGhpcy5kZWZhdWx0RmllbGRTZXRzPWcoe3NjcmVlbmVyVHlwZTp0aGlzLnNjcmVlbmVyX3R5cGUsbWFya2V0czp0aGlzLm1hcmtldHMsaXNDb21wYWN0OnRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSxzdWJ0eXBlOnRoaXMuX3NjcmVlbmVyU3VidHlwZSgpLGlzT25XaWRnZXQ6dGhpcy5fYnJpZGdlLm9uV2lkZ2V0fSksdGhpcy5fYnJpZGdlLm9uV2lkZ2V0JiYodGhpcy5fd2lkZ2V0SW5pdENvbHVtbj1lLndpZGdldFNldHRpbmdzLmRlZmF1bHRDb2x1bW58fHRoaXMuZGVmYXVsdEZpZWxkU2V0c1swXS5pZCx0aGlzLl93aWRnZXRJbml0U2NyZWVuPWUud2lkZ2V0U2V0dGluZ3MuZGVmYXVsdFNjcmVlbnx8WnRbMF0uaWQpLFB0KHRoaXMuc2NyZWVuZXJfdHlwZSx0aGlzLl9zY3JlZW5lclN1YnR5cGUoKSksImZvcmV4Ij09PXRoaXMuc2NyZWVuZXJfdHlwZSYmUXQoWyJmb3JleCJdKSx0aGlzLl9icmlkZ2UuZ2V0Q3VycmVudEZpbHRlclNldElkPSgpPT50aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpLHRoaXMuX2JyaWRnZS5hcHBseVN5bWJvbD0oZSx0PSExKT0+e2lmKCEwPT09dHx8dGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe2xldCB0PSIiO2NvbnN0IG89KDAsTXMuZ2V0U2hvcnROYW1lQW5kUHJvTmFtZSkoZSk7dD10aGlzLl9icmlkZ2Uub25XaWRnZXQmJnRoaXMubGFyZ2VDaGFydFVybD8oMCxMci5tYWtlVGVtcGxhdGVTeW1ib2xVcmwpKHRoaXMubGFyZ2VDaGFydFVybCxvKTooMCxMci5tYWtlU3ltYm9sQ2hhcnRVcmwpKG8sdGhpcy51dG0pLHdpbmRvdy5vcGVuKHQpfWVsc2UgSHMuc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKGUsInNjcmVlbmVyIil9LHRoaXMuX2JyaWRnZS5hcHBseUZpbHRlclNldD0oZSx0KT0+e2NvbnN0IG89ISgwLF9pLmRlZmF1bHQpKHQuc29ydCgpLHRoaXMubWFya2V0cy5zb3J0KCkpLGk9b3x8ZSE9PXRoaXMuY3VycmVudEZpbHRlclNldElkKCk7bGV0IG49bz90aGlzLnNldE1hcmtldCh0KS50aGVuKCgoKT0+dGhpcy5fdmlldy51cGRhdGVNYXJrZXRCdXR0b24oKSkpOlByb21pc2UucmVzb2x2ZSgpO3JldHVybiBpJiYobj1uLnRoZW4oKCgpPT50aGlzLmFwcGx5RmlsdGVyU2V0KGUpKSkpLG59LHRoaXMuZGlzYWJsZWQ9bmV3IHBvLldhdGNoZWRWYWx1ZSx0aGlzLmZpZWxkc09yZGVyPW5ldyBwby5XYXRjaGVkVmFsdWUsdGhpcy5fc29ydEZpZWxkPW5ldyBwby5XYXRjaGVkVmFsdWUsdGhpcy5fc29ydERpcmVjdGlvbj1uZXcgcG8uV2F0Y2hlZFZhbHVlLHRoaXMuZW9kUmVzdHJpY3Rpb249bmV3IHBvLldhdGNoZWRWYWx1ZShXby5Ob25lKSwKdGhpcy5fb3B0aW9ucz17fSx0aGlzLl9pbml0aWFsU29ydEZpZWxkPWUuc29ydF9maWVsZHx8dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLnNvcnRfZmllbGQiLCJtYXJrZXRfY2FwX2Jhc2ljIiksdGhpcy5faW5pdGlhbFNvcnREaXJlY3Rpb249ZS5zb3J0X2RpcmVjdGlvbnx8dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLnNvcnRfZGlyZWN0aW9uIiwiZGVzYyIpLHRoaXMudXBkYXRlPSgwLHZvLmRlZmF1bHQpKHRoaXMudXBkYXRlSW1wbC5iaW5kKHRoaXMpLDEwMCksdGhpcy5fc29ydEZpZWxkLnN1YnNjcmliZSgoZT0+e3RoaXMuX3ZpZXcuX3VwZGF0ZVRhYmxlU29ydEZpZWxkKCksdGhpcy5zYXZlRmlsdGVyc1NldHRpbmdzKCksZGVsZXRlIHRoaXMuX2luaXRpYWxTb3J0RmllbGR9KSksdGhpcy5fc29ydERpcmVjdGlvbi5zdWJzY3JpYmUoKGU9Pnt0aGlzLl92aWV3Ll91cGRhdGVUYWJsZVNvcnRGaWVsZCgpLHRoaXMuc2F2ZUZpbHRlcnNTZXR0aW5ncygpLGRlbGV0ZSB0aGlzLl9pbml0aWFsU29ydERpcmVjdGlvbn0pKSx0aGlzLmlzU2NyZWVuZXJXaWRnZXRVcGRhdGVkSW1wbD0hMSx0aGlzLl9icmlkZ2UudmlzaWJsZSYmKDAsQW4uaXNDaGFydFBhZ2UpKHRoaXMuX2JyaWRnZSkmJnRoaXMuX2JyaWRnZS52aXNpYmxlLnN1YnNjcmliZSgoZT0+eyF0aGlzLmlzU2NyZWVuZXJXaWRnZXRVcGRhdGVkSW1wbCYmZSYmKHRoaXMuaW52YWxpZGF0ZVJlcXVlc3QoKSx0aGlzLl9icmlkZ2UuZGlzYWJsZVN0aWNreUhlYWRlcj90aGlzLnVwZGF0ZUltcGwoKTp0aGlzLnVwZGF0ZUltcGwodGhpcy5fdmlldy5fc2V0dXBTdGlja3lIZWFkZXIuYmluZCh0aGlzLl92aWV3KSksdGhpcy5pc1NjcmVlbmVyV2lkZ2V0VXBkYXRlZEltcGw9ITApfSkpLHRoaXMuc2NhblJlcXVlc3Q9bnVsbCx0aGlzLmxvYWRpbmdTdGFydD1uZXcgVXMsdGhpcy5sb2FkaW5nQ29tcGxldGU9bmV3IFVzLHRoaXMuZmllbGRTZXRDaGFuZ2VkPW5ldyBVcyx0aGlzLmZpZWxkU2V0U2F2ZWQ9bmV3IFVzLHRoaXMuZmlsdGVyU2V0Q2hhbmdlZD1uZXcgVXMsdGhpcy5maWx0ZXJTZXRTYXZlZD1uZXcgVXMsdGhpcy5maWx0ZXJTZXREZWxldGVkPW5ldyBVcyx0aGlzLm1heFNhZmVJbnRlZ2VyPU51bWJlci5NQVhfU0FGRV9JTlRFR0VSfHxNYXRoLnBvdygyLDUzKS0xLHRoaXMubWluU2FmZUludGVnZXI9TnVtYmVyLk1JTl9TQUZFX0lOVEVHRVJ8fC0oTWF0aC5wb3coMiw1MyktMSksdGhpcy5fdGlja2Vycz1bXSwiY29udGludW91c19mdXR1cmVzIj09PXRoaXMuc2NyZWVuZXJfdHlwZSYmKHRoaXMuX2JyaWRnZS5vcGVuX2NoYXJ0X29uX3NhbWVfdGFiPSExKSx0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9sc3x8dGhpcy5faW5pdFhXaW5kb3dIYW5kbGVycygpLHRoaXMuX3ZpZXc9bmV3IGJzKGUsdGhpcyk7Y29uc3QgdD1bdGhpcy5faW5pdE1hcmtlZFN5bWJvbHModGhpcy5fdmlldyldO3ZhciBpOyF0aGlzLl9icmlkZ2UuX29uV2lkZ2V0JiZ3aW5kb3cucHJvJiZ0LnB1c2god2luZG93LnByby5lbnN1cmVWYWxpZFNob3BDb25mKCkpLFByb21pc2UuYWxsKHQpLnRoZW4oKCgpPT57aWYoKDAsa3MuaXNGZWF0dXJlRW5hYmxlZCkoInNjcmVlbmVyLW1haW50ZW5hbmNlIikpcmV0dXJuIHZvaWQgdGhpcy5fdmlldy5zaG93TWFpbnRlbmFuY2UoKTt0aGlzLl92aWV3LnByZXBhcmVMYXlvdXQoKTtjb25zdCBlPSgpPT57dGhpcy5fY2hlY2tDdXJyZW50U2V0cygpLHRoaXMuX3ZpZXcuX3NlbGVjdGVkUGVyaW9kSWQmJiJ0b2RheSI9PT10aGlzLl92aWV3Ll9zZWxlY3RlZFBlcmlvZElkPyh0aGlzLmFwcGx5RmllbGRTZXRDb250ZW50KG0pLHRoaXMuX3NvcnRGaWVsZC5zZXRWYWx1ZSgibmFtZSIpLHRoaXMuX3NvcnREaXJlY3Rpb24uc2V0VmFsdWUoImFzYyIpKTp0aGlzLmFwcGx5RmllbGRTZXQodGhpcy5fd2lkZ2V0SW5pdENvbHVtbnx8dGhpcy5jdXJyZW50RmllbGRTZXRJZCgpLCEwKSx0aGlzLmFwcGx5RmlsdGVyU2V0KHRoaXMuX3dpZGdldEluaXRTY3JlZW58fHRoaXMuY3VycmVudEZpbHRlclNldElkKCksITApLHRoaXMuX3VwZGF0ZUVvZFJlc3RyaWN0aW9uKCksKDAsQW4uaXNDaGFydFBhZ2UpKHRoaXMuX2JyaWRnZSkmJnRoaXMuX2JyaWRnZS52aXNpYmxlJiYhdGhpcy5fYnJpZGdlLnZpc2libGUudmFsdWUoKXx8KHRoaXMuX2JyaWRnZS5kaXNhYmxlU3RpY2t5SGVhZGVyP3RoaXMudXBkYXRlSW1wbCgpOnRoaXMudXBkYXRlSW1wbCh0aGlzLl92aWV3Ll9zZXR1cFN0aWNreUhlYWRlci5iaW5kKHRoaXMuX3ZpZXcpKSx0aGlzLmlzU2NyZWVuZXJXaWRnZXRVcGRhdGVkSW1wbD0hMCl9O2lmKHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSl0aGlzLmdldE1ldGFJbmZvKCksdGhpcy5nZXRVc2VyU2V0dGluZ3MoKSxlKCk7ZWxzZXtjb25zdCB0PVt0aGlzLmdldE1ldGFJbmZvKCksdGhpcy5nZXRVc2VyU2V0dGluZ3MoKV07UHJvbWlzZS5hbGwodCkudGhlbihlKX13aW5kb3cubG9naW5TdGF0ZUNoYW5nZSYmd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKG51bGwsKGU9PnRoaXMub25Mb2dpblN0YXRlQ2hhbmdlKGUpKSksenMuaXNQcm9kKCl8fCh3aW5kb3cuX2V4cG9zZWRfc2NyZWVuZXJXaWRnZXQ9dGhpcyksdGhpcy5pc1NlcnZlclJlbmRlcigpJiZkZWxldGUgdGhpcy5fYnJpZGdlLnNlcnZlcl9kYXRhfSkpLCgwLFlvLmluaXRTY3JlZW5lckluc3RhbmNlKSh0aGlzKSxlLnN0YW5kYWxvbmUmJlsic3RvY2siLCJjcnlwdG8iXS5pbmNsdWRlcyhlLnNjcmVlbmVyX3R5cGUpJiYhZS5wZXJpb2RfcGlja2VyJiYoaT17bm90aWZpY2F0aW9uRGF0YTpXc1tlLnNjcmVlbmVyX3R5cGVdfSxQcm9taXNlLmFsbChbby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMTM0OTIpLG8uZSgzNzc0Niksby5lKDEyMDUxKSxvLmUoNjg5NDIpLG8uZSgzOTYwOSksby5lKDUyNDUzKV0pLnRoZW4oby5iaW5kKG8sNzMwMjU3KSkudGhlbigoZT0+ZS5zaG93U2NyZWVuZXJOZXdTdGFuZGFsb25lRGlhbG9nKGkpKSkpfWFzeW5jIF9pbml0TWFya2VkU3ltYm9scyhlKXsKaWYoIXRoaXMuaGFzTWFya2VkU3ltYm9scygpKXJldHVybjtjb25zdCB0PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODQyNjkpLG8uZSgyOTI5Niksby5lKDUyMzk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgxMjA1MSksby5lKDg5MDQ0KSxvLmUoNzg0MDQpLG8uZSgzOTYwOSksby5lKDE0ODg5KSxvLmUoODU0MzQpLG8uZSgyODUxKSxvLmUoNDM5ODApLG8uZSgzNDcpXSkudGhlbihvLmJpbmQobywyMzUxODYpKSxpPWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODQyNjkpLG8uZSgyOTI5Niksby5lKDUyMzk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgxMjA1MSksby5lKDg5MDQ0KSxvLmUoNzg0MDQpLG8uZSgzOTYwOSksby5lKDE0ODg5KSxvLmUoODU0MzQpLG8uZSgyODUxKSxvLmUoNDM5ODApLG8uZSgzNDcpXSkudGhlbihvLmJpbmQobyw1NjI4ODUpKTt0aGlzLm1hcmthYmxlU3ltYm9scz1uZXcgdC5NYXJrYWJsZVN5bWJvbHMoe3N5bWJvbHNWaWV3OmUsbWFya2VyQ29udGFpbmVyU2VsZWN0b3I6Ii50di1zY3JlZW5lci10YWJsZV9fc3ltYm9sLWFkZGl0aW9uIixhY3RpdmVNYXJrZXJDbGFzczoidHYtc2NyZWVuZXItdGFibGVfX21hcmtlci0tYWN0aXZlIixhZGRpdGlvbmFsTWFya2VyQ2xhc3M6InR2LXNjcmVlbmVyLXRhYmxlX19tYXJrZXIifSk7dGhpcy5fbWFya2VkU3ltYm9sc0ZpbHRlcj1uZXcgaS5NYXJrZWRTeW1ib2xzRmlsdGVyKHtzeW1ib2xzVmlldzplLGNvbnRhaW5lclNlbGVjdG9yOiIudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGV4dCIsY2xhc3NOYW1lOiJ0di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1tYXJrZXIiLGRpc2FibGVTYXZlU3RhdGU6dGhpcy5fYnJpZGdlLmRpc2FibGVTYXZlTWFya2VkU3ltYm9sc0ZpbHRlcn0pO2NvbnN0IG49dGhpcy5fbWFya2VkU3ltYm9sc0ZpbHRlci5nZXRTdHJlYW0oKTt0aGlzLl90aWNrZXJzPXRoaXMuX2luaXRUaWNrZXJzfHx0aGlzLl9tYXJrZWRTeW1ib2xzRmlsdGVyLmdldFN5bWJvbHNGb3JTY2FuKCksdGhpcy5fbWFya2VkU3ltYm9sc0ZpbHRlci5pc0FjdGl2ZSgpJiYodGhpcy5fYnJpZGdlLnNlcnZlcl9kYXRhPW51bGwpO2xldCByPSEwO24ub24oaS5GaWx0ZXJFdmVudHMuSW5pdCwoKCk9Pnt0aGlzLl90aWNrZXJzPXRoaXMuX2luaXRUaWNrZXJzfHx0aGlzLl9tYXJrZWRTeW1ib2xzRmlsdGVyLmdldFN5bWJvbHNGb3JTY2FuKCkscj0hMX0pKSxuLm9uKGkuRmlsdGVyRXZlbnRzLkZpbHRlckJ5TWFya2VkU3ltYm9scywoZT0+e2lmKCFyKXtjb25zdCBlPXRoaXMuX21hcmtlZFN5bWJvbHNGaWx0ZXIuX2NvbG9yTWFuYWdlci5nZXRDb2xvcigpOygwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBiaShlKSl9dGhpcy5fdGlja2Vycz1lLHRoaXMuX3ByZXZTY2FuRGF0YT1udWxsLHRoaXMuX3ByZXZSZXF1ZXN0RGF0YT1udWxsLHRoaXMuaW52YWxpZGF0ZVJlcXVlc3QoKSwoMCxBbi5pc1NjcmVlbmVyUGFnZSkodGhpcy5fYnJpZGdlKSYmcnx8dGhpcy51cGRhdGUoKX0pKSxuLm9uKGkuRmlsdGVyRXZlbnRzLkRpc2FibGUsKCgpPT57dGhpcy5fdGlja2Vycz10aGlzLl9pbml0VGlja2Vyc3x8W10sdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMudXBkYXRlKCl9KSl9X2luaXRYV2luZG93SGFuZGxlcnMoKXt0aGlzLl9icmlkZ2Uub25XaWRnZXR8fCh0aGlzLl9yZWdpc3RlclhXaW5kb3dIYW5kbGVyKCJzY3JlZW5lci5tYXJrZXQtY2hhbmdlZCIsKCgpPT57UXQodGhpcy5tYXJrZXRzKTtsZXQgZT10aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpO2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpO2lmKHQmJnQuZGlzYWJsZWQpe2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKChlPT4hZS5kaXNhYmxlZCkpO2U9dD90LmlkOiIifXRoaXMuZ2V0VXNlclNldHRpbmdzKCkudGhlbigoKCk9Pnt0aGlzLmFwcGx5RmlsdGVyU2V0KGUsITApLHRoaXMuX3ZpZXcudXBkYXRlTWFya2V0QnV0dG9uKCksdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMudXBkYXRlSW1wbCgpfSkpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLnNhdmUtZmllbGQtc2V0IiwoZT0+e2NvbnN0IHQ9ZS5zZXRJZDt0aGlzLmdldFVzZXJTZXR0aW5ncygpLnRoZW4oKCgpPT57dCYmdD09PXRoaXMuY3VycmVudEZpZWxkU2V0SWQoKSYmdGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRleHQodGhpcy5nZXRGaWVsZFNldEJ5SWQodCkudGl0bGUpfSkpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLnNhdmUtZmlsdGVyLXNldCIsKGU9Pntjb25zdCB0PWUuc2V0SWQ7dGhpcy5nZXRVc2VyU2V0dGluZ3MoKS50aGVuKCgoKT0+e3QmJnQ9PT10aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpJiZ0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dCh0aGlzLmdldEZpbHRlclNldEJ5SWQodCkudGl0bGUpfSkpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLmFkZC1maWVsZC1zZXQtdG8tZmF2b3JpdGVzIiwoKCk9Pnt0aGlzLmdldFVzZXJTZXR0aW5ncygpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLnJlbW92ZS1maWVsZC1zZXQtZnJvbS1mYXZvcml0ZXMiLCgoKT0+e3RoaXMuZ2V0VXNlclNldHRpbmdzKCl9KSksdGhpcy5fcmVnaXN0ZXJYV2luZG93SGFuZGxlcigic2NyZWVuZXIuYXBwbHktZmllbGQtc2V0IiwoZT0+e3RoaXMuYXBwbHlGaWVsZFNldEltcGwoZS5zZXRJZCxlLmluaXRpYWwsITEpLHRoaXMuX3ZpZXcubGFzdFNldElkPWUuc2V0SWR9KSksdGhpcy5fcmVnaXN0ZXJYV2luZG93SGFuZGxlcigic2NyZWVuZXIuYXBwbHktZmlsdGVyLXNldCIsKGU9Pnt0aGlzLmFwcGx5RmlsdGVyU2V0KGUuc2V0SWQsZS5kb05vdFVwZGF0ZSwhMSl9KSksdGhpcy5fcmVnaXN0ZXJYV2luZG93SGFuZGxlcigic2NyZWVuZXIuY2hhbmdlLXNlbGVjdGVkLWludGVydmFsLWlkIiwoZT0+ewp0aGlzLl92aWV3LnVwZGF0ZUludGVydmFsQnV0dG9uKG51bGwsZS5pZCksdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMudXBkYXRlSW1wbCgpfSkpKX1fcmVnaXN0ZXJYV2luZG93SGFuZGxlcihlLHQpe0NzLlRWWFdpbmRvd0V2ZW50cy5vbihlLChlPT57Y29uc3Qgbz1KU09OLnBhcnNlKGUpO3RoaXMuc2V0dGluZ0tleT09PW8uc2V0dGluZ0tleSYmdChvKX0pKX1fc2VuZFhXaW5kb3dFdmVudChlLHQpe3RoaXMuX2JyaWRnZS5vbldpZGdldHx8ImJpZyI9PT10aGlzLl9icmlkZ2UudGFibGVfc3R5bGV8fENzLlRWWFdpbmRvd0V2ZW50cy5lbWl0KGUsdCl9X2NoZWNrQ3VycmVudFNldHMoKXtjb25zdCBlPXRoaXMuY3VycmVudEZpZWxkU2V0SWQoKTtlJiYhdGhpcy5nZXRGaWVsZFNldEJ5SWQoZSkmJnRoaXMuc2V0dGluZ3NTYXZlci5yZW1vdmUodGhpcy5zZXR0aW5nS2V5KyIuZmllbGRTZXRJZCIpO2NvbnN0IHQ9dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKTt0JiYhdGhpcy5nZXRGaWx0ZXJTZXRCeUlkKHQpJiZ0aGlzLnNldHRpbmdzU2F2ZXIucmVtb3ZlKHRoaXMuc2V0dGluZ0tleSsiLmZpbHRlclNldElkIil9aXNTZXJ2ZXJSZW5kZXIoKXtyZXR1cm4gd2luZG93LmluaXREYXRhLnNjcmVlbmVyX21ldGFpbmZvJiZ3aW5kb3cuaW5pdERhdGEuc2NyZWVuZXJfZGF0YSYmdGhpcy5fYnJpZGdlLnNlcnZlcl9kYXRhfXVwZGF0ZU1ldGFJbmZvKGUpe0l0LmluZGV4LmRpc2FibGVkPSEwLEl0LnN1Ym1hcmtldC5kaXNhYmxlZD0hMCwiY3J5cHRvIj09PXRoaXMuc2NyZWVuZXJfdHlwZSYmKEl0LmN1cnJlbmN5LnVzZURlZmF1bHRSYW5nZT0hMCxJdC5jdXJyZW5jeS5kaXNhYmxlZD0hMSk7Y29uc3QgdD1uZXcgU2V0LG89dGhpcy5tYXJrZXRzfHxbdGhpcy5tYXJrZXRdO0l0LmlzX3ByaW1hcnkuZGlzYWJsZWQ9WyJjcnlwdG8iLCJmb3JleCJdLmluY2x1ZGVzKG9bMF0pLGUuZmllbGRzLmZvckVhY2goKGU9PntpZigiY3VycmVuY3kiPT09ZS5uJiZlLnIuZm9yRWFjaCgoZT0+dC5hZGQoZSkpKSxlLm4gaW4gSXQpe2lmKEl0W2Uubl0udHlwZT1lLnQsImluZGV4Ij09PWUubilyZXR1cm4gSXQuaW5kZXguZGlzYWJsZWQ9ITEsSXQuaW5kZXguc291cmNlUmFuZ2U9ZS5yLHZvaWQoSXQuaW5kZXgucmFuZ2U9SXQuaW5kZXguc291cmNlUmFuZ2U/SXQuaW5kZXguc291cmNlUmFuZ2UubWFwKChlPT5lLm5hbWUpKTpbXSk7aWYoInN1Ym1hcmtldCI9PT1lLm4mJmUuci5sZW5ndGg+PTEmJihlLnI9ZS5yLmZpbHRlcigoZT0+IiIhPT1lKSksZS5yLmxlbmd0aD4wJiYoSXQuc3VibWFya2V0LmRpc2FibGVkPSExKSksIUl0W2Uubl0ucmFuZ2UmJkl0W2Uubl0udXNlRGVmYXVsdFJhbmdlP0l0W2Uubl0ucmFuZ2U9SXRbZS5uXS5kZWZhdWx0UmFuZ2U6SXRbZS5uXS51c2VEZWZhdWx0UmFuZ2V8fChJdFtlLm5dLnJhbmdlPWUuciksImV4Y2hhbmdlIj09PWUubiYmdGhpcy5fYnJpZGdlLnVuYXZhaWxhYmxlV2lkZ2V0RXhjaGFuZ2VzJiZ0aGlzLl9icmlkZ2UudW5hdmFpbGFibGVXaWRnZXRFeGNoYW5nZXMubGVuZ3RoJiYoSXRbZS5uXS5yYW5nZT10aGlzLl9nZXRGaWx0ZXJlZEV4Y2hhbmdlc0ZvcldpZGdldChJdFtlLm5dLnJhbmdlKSksZnVuY3Rpb24oZSx0KXtjb25zdCBvPVAoZS5zY3JlZW5lcl90eXBlKSxpPVAoZC5TdG9jaykuYW1lcmljYTtsZXQgbixyPVtdO2Zvcihjb25zdCBsIG9mIGUubWFya2V0cylvW2xdJiYobj1vW2xdW3RdfHxpW3RdLG4mJkFycmF5LmlzQXJyYXkobikmJihzPXIsYT1uLHI9Wy4uLm5ldyBTZXQoWy4uLnMsLi4uYV0pXS5zb3J0KCgoZSx0KT0+ZS10KSkpKTt2YXIgcyxhO0l0W3RdLnZhbHVlcz1ufSh0aGlzLGUubiksITE9PT1JdFtlLm5dLnNvcnRhYmxlKXJldHVybjtlLnQ9PT12ci5QcmljZSYmKEl0W2Uubl0uYWRkaXRpb25hbENvbHVtbnM/SXRbZS5uXS5hZGRpdGlvbmFsQ29sdW1ucz1JdFtlLm5dLmFkZGl0aW9uYWxDb2x1bW5zLmNvbmNhdChKcyk6SXRbZS5uXS5hZGRpdGlvbmFsQ29sdW1ucz1KcyksZS50PT09dnIuVGV4dCYmKEl0W2Uubl0ucmFuZ2U9SXRbZS5uXS5yYW5nZS5zb3J0KCkpLG89ZSxbdnIuTnVtYmVyLHZyLkZ1bmRhbWVudGFsUHJpY2VdLmluY2x1ZGVzKG8udCkmJkl0W2Uubl0ucmFuZ2UmJiFJdFtlLm5dLnVzZURlZmF1bHRSYW5nZSYmKEl0W2Uubl0ucmFuZ2U9SXRbZS5uXS5yYW5nZS5tYXAoKGU9Pk1hdGgubWluKE1hdGgubWF4KGUsdGhpcy5taW5TYWZlSW50ZWdlciksdGhpcy5tYXhTYWZlSW50ZWdlcikpKS5zb3J0KHRoaXMubnVtZXJpY1NvcnRlcikpLEl0W2Uubl0udmFsdWVzJiYhSXRbZS5uXS5yYW5nZSYmKEl0W2Uubl0ucmFuZ2U9W3RoaXMubWluU2FmZUludGVnZXIsdGhpcy5tYXhTYWZlSW50ZWdlcl0pLEl0W2Uubl0udmFsdWVzJiZJdFtlLm5dLnJhbmdlJiYoSXRbZS5uXS5yYW5nZVswXT5JdFtlLm5dLnZhbHVlc1swXSYmKEl0W2Uubl0ucmFuZ2VbMF09SXRbZS5uXS52YWx1ZXNbMF0pLEl0W2Uubl0ucmFuZ2VbMV08SXRbZS5uXS52YWx1ZXNbSXRbZS5uXS52YWx1ZXMubGVuZ3RoLTFdJiYoSXRbZS5uXS5yYW5nZVsxXT1JdFtlLm5dLnZhbHVlc1tJdFtlLm5dLnZhbHVlcy5sZW5ndGgtMV0pKSwicmFuZ2UiIT09SXRbZS5uXS5jb250cm9sfHxJdFtlLm5dLnZhbHVlc3x8SXRbZS5uXS5yYW5nZXx8KEl0W2Uubl0ucmFuZ2U9W3RoaXMubWluU2FmZUludGVnZXIsdGhpcy5tYXhTYWZlSW50ZWdlcl0sSXRbZS5uXS52YWx1ZXM9W3RoaXMubWluU2FmZUludGVnZXIsMCx0aGlzLm1heFNhZmVJbnRlZ2VyXSl9ZWxzZSBpZigtMSE9PWUubi5pbmRleE9mKCJ8Iikpe2NvbnN0IHQ9ZS5uLnNwbGl0KCJ8Iik7SXRbdFswXV18fChJdFt0WzBdXT17fSksSXRbdFswXV0uY3VzdG9tUmVzb2x1dGlvbnN8fChJdFt0WzBdXS5jdXN0b21SZXNvbHV0aW9ucz1bXSksSXRbdFswXV0uY3VzdG9tUmVzb2x1dGlvbnMucHVzaCh0WzFdKX12YXIgb30pKSxQcyhlLmZpbmFuY2lhbF9jdXJyZW5jeSxbLi4udF0sdGhpcy5fdmlldyksUXQodGhpcy5tYXJrZXRzKSx0aGlzLmRlZmF1bHRGaWx0ZXJTZXRzPVp0fWdldE1ldGFJbmZvKCl7CmlmKHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSlyZXR1cm4gdGhpcy51cGRhdGVNZXRhSW5mbyhKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS5zY3JlZW5lcl9tZXRhaW5mbykpLFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGU9dGhpcy5fZ2V0U2NhblVybCgibWV0YWluZm8iKSx0PXQ9Pih7dHlwZToiUE9TVCIsdXJsOmUsZGF0YTpKU09OLnN0cmluZ2lmeSh7bWFya2V0czp0aGlzLm1hcmtldHN9KSxiZWZvcmVTZW5kOigpPT57bnVsbCE9PXRoaXMuX3BlbmRpbmdQcm9taXNlJiZ0aGlzLl9wZW5kaW5nUHJvbWlzZS5hYm9ydCgpfSxzdWNjZXNzOmU9Pnt0aGlzLnVwZGF0ZU1ldGFJbmZvKGUpLHQoKX0sZGF0YVR5cGU6Impzb24iLHhockZpZWxkczp7d2l0aENyZWRlbnRpYWxzOiFCb29sZWFuKHRoaXMuX2JyaWRnZS5vbldpZGdldCl9fSk7cmV0dXJuIG5ldyBQcm9taXNlKChlPT57dGhpcy5sb2FkaW5nU3RhcnQuZmlyZSgpLHRoaXMuX3BlbmRpbmdQcm9taXNlPVZzLmFqYXgodChlKSkuZmFpbCgoZT0+eyJhYm9ydCIhPT1lLnN0YXR1c1RleHQmJmpzLmxvZ0Vycm9yKCJGYWlsZWQgdG8gbG9hZCBzY3JlZW5lciBtZXRhaW5mbyIpfSkpLmFsd2F5cygoKCk9Pnt0aGlzLmxvYWRpbmdDb21wbGV0ZS5maXJlKCksdGhpcy5fcGVuZGluZ1Byb21pc2U9bnVsbH0pKX0pKX1maWVsZEFjdGl2ZShlKXtyZXR1cm4hKCFJdFtlXXx8IUl0W2VdLnZhbHVlfHwiY29uZGl0aW9uIiE9PUl0W2VdLmNvbnRyb2x8fCJpbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvcnx8MiE9PUl0W2VdLnZhbHVlLnZhbHVlLmxlbmd0aCl8fCEoIUl0W2VdfHwhSXRbZV0udmFsdWV8fCJjb25kaXRpb24iPT09SXRbZV0uY29udHJvbCYmKCFJdFtlXS52YWx1ZS5vcGVyYXRvcnx8Im51bWJlciIhPXR5cGVvZiBJdFtlXS52YWx1ZS52YWx1ZSYmIUl0W2VdLnZhbHVlLnZhbHVlKXx8InJhbmdlIj09PUl0W2VdLmNvbnRyb2wmJkl0W2VdLnZhbHVlWzBdPT09SXRbZV0ucmFuZ2VbMF0mJkl0W2VdLnZhbHVlWzFdPT09SXRbZV0ucmFuZ2VbMV0pfXBhdGNoRmlsdGVyc0Zvck1hcmtldFBhZ2VzKGUpe2xldCB0PXtydXNzaWE6W3tsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzX25vbmVfb2YiLHJpZ2h0OiJmb3JlaWduLWlzc3VlciJ9XSxicmF6aWw6W3tsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzX25vbmVfb2YiLHJpZ2h0OiJvZGQifV0sdGhhaWxhbmQ6W3tsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzX25vbmVfb2YiLHJpZ2h0OiJmb3JlaWduIn1dLHVrOlt7bGVmdDoidHlwZXNwZWNzIixvcGVyYXRpb246Imhhc19ub25lX29mIixyaWdodDoiY2RpIn0se2xlZnQ6ImV4Y2hhbmdlIixvcGVyYXRpb246ImVxdWFsIixyaWdodDoiTFNFIn1dfVt0aGlzLm1hcmtldHNbMF1dO2lmKFsic2VjdG9yIiwiaW5kdXN0cnkiXS5pbmNsdWRlcyh0aGlzLnNjcmVlbmVyX3R5cGUpJiZ0JiYodD10LmZpbHRlcigoZT0+ImV4Y2hhbmdlIiE9PWUubGVmdCkpKSwhdHx8MD09PXQubGVuZ3RoKXJldHVybiBlO2NvbnN0IG89KDAsU3MuZGVmYXVsdCkoZSk7aWYoIWUuZmlsdGVyKXJldHVybiBvLmZpbHRlcj1bLi4udF0sbztmb3IoY29uc3QgZSBvZiB0KXswPT09by5maWx0ZXIuZmlsdGVyKCh0PT4oMCxfaS5kZWZhdWx0KSh0LGUpKSkubGVuZ3RoJiZvLmZpbHRlci5wdXNoKGUpfXJldHVybiBvfWdldFNjYW5uZXJQYXJhbXMoZSl7bGV0IHQ9bnVsbCxvPW51bGwsaT1udWxsLG49e307aWYoZSl7Y29uc3Qgcj10aGlzLmdldEZpbHRlclNldEJ5SWQoZSk7dD1yLmNvbnRlbnQuc29ydF9maWVsZCxvPXIuY29udGVudC5maWx0ZXJzfHx7fSxpPU9iamVjdC5rZXlzKHIuY29udGVudC5maWx0ZXJzfHx7fSksbj1yLmNvbnRlbnQub3B0aW9uc31lbHNlIGk9T2JqZWN0LmtleXMoSXQpLmZpbHRlcigoZT0+dGhpcy5maWVsZEFjdGl2ZShlKSkpLG49dGhpcy5fb3B0aW9uczt0fHwodD10aGlzLl9zb3J0RmllbGQudmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnRGaWVsZCk7Y29uc3Qgcj17ZmlsdGVyOltdLF9ncm91cHM6W10sb3B0aW9uczpufTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoOysrZSl7Y29uc3QgdD1pW2VdO2lmKCJjb25kaXRpb24iPT09SXRbdF0uY29udHJvbCYmIUl0W3RdLnZhbHVlKWNvbnRpbnVlO2lmKCJuYW1lIj09PXQmJkFycmF5LmlzQXJyYXkoSXRbdF0udmFsdWUpKXtsZXQgZT0hMTtjb25zdCBvPUl0W3RdLnZhbHVlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7Kyt0KWlmKCJuZXF1YWwiPT09b1t0XS5vcGVyYXRvcil7ZT0hMDticmVha31pZihlKWNvbnRpbnVlfWNvbnN0IG49SXRbdF0uZ3JvdXBGaWx0ZXI/ci5fZ3JvdXBzOnIuZmlsdGVyO2xldCBzPUR0KHQsSXRbdF0udmFsdWUsbyx0aGlzLnNlbGVjdGVkSW50ZXJ2YWxJZCk7aWYocy5maWx0ZXIyRmxhZyYmKHMuZmlsdGVyMkFuZFBhcnQubGVuZ3RoJiYoci5maWx0ZXIyfHwoci5maWx0ZXIyPXtvcGVyYXRvcjoiYW5kIixvcGVyYW5kczpbXX0pLHIuZmlsdGVyMi5vcGVyYW5kcy5wdXNoKHtvcGVyYXRpb246e29wZXJhdG9yOiJvciIsb3BlcmFuZHM6cy5maWx0ZXIyQW5kUGFydC5tYXAoKGU9Pih7ZXhwcmVzc2lvbjplfSkpKX19KSkscz1zLmZpbHRlciksQXJyYXkuaXNBcnJheShzKSlmb3IobGV0IGU9MDtlPHMubGVuZ3RoOysrZSluLnB1c2goc1tlXSk7ZWxzZSBuLnB1c2gocyl9aWYodGhpcy5maWx0ZXJTZXRDaGFuZ2VkLmZpcmUoKSx0aGlzLmVvZFJlc3RyaWN0aW9uLnZhbHVlKCkhPT1Xby5Ob25lJiYoci5vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zPSJQUkVWX0JBUiIpLHIubWFya2V0cz10aGlzLm1hcmtldHMsKDAsQW4uaXNNYXJrZXRQYWdlKSh0aGlzLl9icmlkZ2UpKXJldHVybiB0aGlzLnBhdGNoRmlsdGVyc0Zvck1hcmtldFBhZ2VzKHIpO2NvbnN0IHM9ci5maWx0ZXIuZmlsdGVyKChlPT4iaXNfcHJpbWFyeSI9PT1lLmxlZnQpKTtyZXR1cm4gcyYmITE9PT1zLmxlZnQmJihyLmZpbHRlcj1yLmZpbHRlci5maWx0ZXIoKGU9PiJpc19wcmltYXJ5IiE9PWUubGVmdCkpKSxyfXVwZGF0ZUltcGwoZSx0LG8saT0hMCxuPSExLHI9ITEpewppZih0JiZ0aGlzLl92aWV3LmlzRW5kUmVhY2hlZCgpKXJldHVybjtpZih0aGlzLl92aWV3LnRhYmxlLmRyYWdTdGFydGVkLnZhbHVlKCkpcmV0dXJuO2lmKCgwLGtzLmlzRmVhdHVyZUVuYWJsZWQpKCJzY3JlZW5lci1tYWludGVuYW5jZSIpKXJldHVybiB2b2lkIHRoaXMuX3ZpZXcuX3BvcHVwcy5zaG93TWFpbnRlbmFuY2VEaWFsb2coKTtjb25zdCBzPXRoaXMuZ2VuZXJhdGVTY2FuUmVxdWVzdCgpLGE9WzAsWHNdO3MucmFuZ2U9YS5zbGljZSgpLGk/KHQmJnRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlPyhhWzBdPXRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlWzFdLGFbMV09YVswXStYcyxzLnJhbmdlWzFdPWFbMV0pOnRoaXMuX3ZpZXcucmVzZXRJdGVtcygpLHRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlPWEpOnRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlP3MucmFuZ2VbMV09dGhpcy5fY3VycmVudEl0ZW1zUmFuZ2VbMV06dGhpcy5fdmlldy5yZXNldEl0ZW1zKCksIXQmJnRoaXMuX3ByZXZSZXF1ZXN0JiYoMCxfaS5kZWZhdWx0KShzLHRoaXMuX3ByZXZSZXF1ZXN0KT8iZnVuY3Rpb24iPT10eXBlb2YgZSYmITA9PT1vJiZlKCk6KHRoaXMuX3ByZXZSZXF1ZXN0PSgwLEguY2xvbmUpKHMpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlKCksdGhpcy5zY2FuKHMsdCxuLHIpKX1fZ2V0U3ltYm9scygpe2xldCBlO3N3aXRjaCh0aGlzLnNjcmVlbmVyX3R5cGUpe2Nhc2UiZm9yZXgiOmU9WyJmb3JleCJdO2JyZWFrO2Nhc2Uic2VjdG9yIjplPVsic2VjdG9yIl07YnJlYWs7Y2FzZSJpbmR1c3RyeSI6ZT1bImluZHVzdHJ5Il07YnJlYWs7Y2FzZSJjb250aW51b3VzX2Z1dHVyZXMiOmU9WyJmdXR1cmVzIl07YnJlYWs7ZGVmYXVsdDplPXRoaXMuX2JyaWRnZS50eXBlc3x8W119cmV0dXJue3F1ZXJ5Ont0eXBlczplfSx0aWNrZXJzOnRoaXMuX3RpY2tlcnN9fWdlbmVyYXRlU2NhblJlcXVlc3QoKXtjb25zdCBlPU9iamVjdC5hc3NpZ24oe30sdGhpcy5nZXRTY2FubmVyUGFyYW1zKCkpO2lmKGUuc3ltYm9scz10aGlzLl9nZXRTeW1ib2xzKCksZS5jb2x1bW5zPXRoaXMuZ2V0UmVxdWVzdENvbHVtbnMoKSxlLnNvcnQ9e3NvcnRCeTpoZSh0aGlzLl9zb3J0RmllbGQudmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnRGaWVsZCx0aGlzLnNlbGVjdGVkSW50ZXJ2YWxJZCksc29ydE9yZGVyOnRoaXMuX3NvcnREaXJlY3Rpb24udmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnREaXJlY3Rpb259LGUucHJlc2V0PXRoaXMucHJlc2V0LHdpbmRvdy5sYW5ndWFnZSYmKGUub3B0aW9uc3x8KGUub3B0aW9ucz17fSksZS5vcHRpb25zLmxhbmc9d2luZG93Lmxhbmd1YWdlKSx0aGlzLl9icmlkZ2Uub25XaWRnZXQmJiJmb3JleCIhPT10aGlzLm1hcmtldHNbMF0pe2NvbnN0IHQ9Rih0aGlzLnNjcmVlbmVyX3R5cGUpW3RoaXMubWFya2V0c1swXV07dCYmdC5zdG9ja3MmJnQuc3RvY2tzLmxlbmd0aCYmKGUuc3ltYm9scy5xdWVyeS5leGNoYW5nZXM9dC5zdG9ja3MubWFwKChlPT4iTllTRSBBUkNBIj09PWU/IkFNRVgiOmUpKSx0aGlzLl9icmlkZ2UudW5hdmFpbGFibGVXaWRnZXRFeGNoYW5nZXMmJnRoaXMuX2JyaWRnZS51bmF2YWlsYWJsZVdpZGdldEV4Y2hhbmdlcy5sZW5ndGgmJihlLnN5bWJvbHMucXVlcnkuZXhjaGFuZ2VzPXRoaXMuX2dldEZpbHRlcmVkRXhjaGFuZ2VzRm9yV2lkZ2V0KGUuc3ltYm9scy5xdWVyeS5leGNoYW5nZXMpKSl9aWYoZS5fZ3JvdXBzLmxlbmd0aD4wJiYoZS5zeW1ib2xzLmdyb3Vwcz1lLl9ncm91cHMpLGRlbGV0ZSBlLl9ncm91cHMsInByZWRlZmluZWRfZmlsdGVyIj09PXRoaXMuY3VycmVudEZpbHRlclNldElkKCkpe2NvbnN0IHQ9dGhpcy5nZXRGaWx0ZXJTZXRCeUlkKCJwcmVkZWZpbmVkX2ZpbHRlciIpO2lmKGUuc3ltYm9sc3x8KGUuc3ltYm9scz17fSksKDAsSC5tZXJnZSkoZS5zeW1ib2xzLHQuc3ltYm9scyksdC5jb250ZW50JiZ0LmNvbnRlbnQuZmlsdGVycylmb3IoY29uc3RbbyxpXW9mIE9iamVjdC5lbnRyaWVzKHQuY29udGVudC5maWx0ZXJzKSlpZihBcnJheS5pc0FycmF5KGkpKWZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7Kyt0KXtjb25zdCBuPWlbdF07bi5vcGVyYXRvciYmIm5lcXVhbCI9PT1uLm9wZXJhdG9yJiZlLmZpbHRlci5wdXNoKHtsZWZ0Om8sb3BlcmF0aW9uOm4ub3BlcmF0b3IscmlnaHQ6bi52YWx1ZX0pfWVsc2V7bGV0IHQ9e307dm9pZCAwIT09aS5vcGVyYXRvciYmdm9pZCAwIT09aS52YWx1ZT90PXtsZWZ0Om8sb3BlcmF0aW9uOmkub3BlcmF0b3IscmlnaHQ6aS52YWx1ZX06dm9pZCAwIT09aSYmdm9pZCAwIT09aS5vcGVyYXRvcj8odD17bGVmdDpvLG9wZXJhdGlvbjppLm9wZXJhdG9yfSxpLnJpZ2h0JiZ2b2lkIDAhPT1pLnJpZ2h0JiYodC5yaWdodD1pLnJpZ2h0KSk6dm9pZCAwIT09aSYmKHQ9e2xlZnQ6byxvcGVyYXRpb246ImVxdWFsIixyaWdodDppfSksImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLGVhcm5pbmdzX3JlbGVhc2VfZGF0ZSI9PT10LmxlZnQmJih0LmxlZnQ9ImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIpO2UuZmlsdGVyLnNvbWUoKGU9PigwLF9pLmRlZmF1bHQpKHQsZSl8fGUubGVmdD09PXQubGVmdCYmZS5vcGVyYXRpb249PT10Lm9wZXJhdGlvbikpfHxlLmZpbHRlci5wdXNoKHQpfX1mb3IobGV0IHQ9MDt0PGUuY29sdW1ucy5sZW5ndGg7Kyt0KWUuY29sdW1uc1t0XT1oZShlLmNvbHVtbnNbdF0sdGhpcy5zZWxlY3RlZEludGVydmFsSWQpO2lmKEl0W3RoaXMuc2VhcmNoRmllbGRdLnNlYXJjaFZhbHVlKXtjb25zdCB0PXtsZWZ0OiFJdC5kZXNjcmlwdGlvbi5kaXNhYmxlZCYmSXQuZGVzY3JpcHRpb24uY2hlY2tlZD9gJHt0aGlzLnNlYXJjaEZpZWxkfSxkZXNjcmlwdGlvbmA6dGhpcy5zZWFyY2hGaWVsZCxvcGVyYXRpb246Im1hdGNoIixyaWdodDpJdFt0aGlzLnNlYXJjaEZpZWxkXS5zZWFyY2hWYWx1ZX07ZS5maWx0ZXIucHVzaCh0KX1pZih0aGlzLl9icmlkZ2Uuc2NyZWVuZXJfZmllbGRfbWF0Y2gmJmUuZmlsdGVyLnB1c2goe2xlZnQ6dGhpcy5fYnJpZGdlLnNjcmVlbmVyX2ZpZWxkX21hdGNoLmZpZWxkLApvcGVyYXRpb246Im1hdGNoIixyaWdodDp0aGlzLl9icmlkZ2Uuc2NyZWVuZXJfZmllbGRfbWF0Y2gucGF0dGVybn0pLHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyJiYodGhpcy5fYnJpZGdlLmhpZGRlbl9maWx0ZXIuZmlsdGVyJiYoZS5maWx0ZXI9ZS5maWx0ZXIuY29uY2F0KHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyLmZpbHRlcikpLHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyLm9wdGlvbnMmJihlLm9wdGlvbnM9T2JqZWN0LmFzc2lnbihlLm9wdGlvbnN8fHt9LHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyLm9wdGlvbnMpKSksdGhpcy5zd2l0Y2hGaWx0ZXImJmUuZmlsdGVyLnB1c2godGhpcy5zd2l0Y2hGaWx0ZXIpLHRoaXMuX2N1cnJlbmN5U2VsZWN0KXtjb25zdCB0PXRoaXMuX2N1cnJlbmN5U2VsZWN0LmdldFByaWNlQ29udmVyc2lvbk9iamVjdCgpO3QmJihlLnByaWNlX2NvbnZlcnNpb249dCl9cmV0dXJuIHRoaXMuZW9kUmVzdHJpY3Rpb24udmFsdWUoKSE9PVdvLk5vbmU/ZS5vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zPSJQUkVWX0JBUiI6ZGVsZXRlIGUub3B0aW9ucy5kYXRhX3Jlc3RyaWN0aW9ucyxlfWdldFJlcXVlc3RDb2x1bW5zKCl7Y29uc3QgZT1bZC5TdG9jayxkLlNlY3RvcixkLkluZHVzdHJ5XS5pbmNsdWRlcyh0aGlzLnNjcmVlbmVyX3R5cGUpP1siY3VycmVuY3kiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIl06W107cmV0dXJuIEFycmF5LmZyb20obmV3IFNldChbLi4udGhpcy5maWVsZHNPcmRlci52YWx1ZSgpLC4uLnRoaXMuX3ZpZXcudGFibGUuYWRkaXRpb25hbENvbHVtbnMsLi4uZV0pKX1zY2FuKGUsdCxvLGk9ITEpe2lmKCFpJiZ0aGlzLl9icmlkZ2UudmlzaWJsZSYmITAhPT10aGlzLl9icmlkZ2UudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCBuPUpTT04uc3RyaW5naWZ5KGUpO3RoaXMubG9hZGluZz0hMCx0aGlzLmxvYWRpbmdTdGFydC5maXJlKHQmJiFvKTtjb25zdCByPURhdGUubm93KCkscz1mdW5jdGlvbihlKXtjb25zdCB0PWUubWFwKCgoZSx0KT0+W2UsdF0pKTtyZXR1cm4gbmV3IE1hcCh0KX0oZS5jb2x1bW5zKTtpZih0aGlzLl9icmlkZ2UuaXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldClyZXR1cm4gdm9pZCB0aGlzLl92aWV3LmRpc3BsYXkoe2RhdGE6W119LHMpO2NvbnN0IGE9KHQsbyk9Pnt0aGlzLmxvYWRpbmc9ITE7Y29uc3QgaT1EYXRlLm5vdygpLXIsbj1KU09OLnBhcnNlKHQpO3RoaXMuX3Nob3VsZFJlcmVuZGVyKHQsZSkmJih0aGlzLl92aWV3LmRpc3BsYXkobixzLG8pLHRoaXMuX3ByZXZTY2FuRGF0YT10LHRoaXMuX3ByZXZSZXF1ZXN0RGF0YT0oMCxILmNsb25lKShlKSksdGhpcy5pc1NlcnZlclJlbmRlcigpJiZuLnJlcXVlc3QmJihuLnJlcXVlc3Quc3ltYm9scyYmbi5yZXF1ZXN0LnN5bWJvbHMudGlja2VycyYmKHRoaXMuX2luaXRUaWNrZXJzPW4ucmVxdWVzdC5zeW1ib2xzLnRpY2tlcnMsdGhpcy5fdGlja2Vycz10aGlzLl9pbml0VGlja2VycyksdGhpcy5fb3B0aW9ucz1uLnJlcXVlc3Qub3B0aW9ucyksdGhpcy5sb2FkaW5nQ29tcGxldGUuZmlyZSgpO2lmKG51bGwhPT1sb2NhdGlvbi5wYXRobmFtZS5tYXRjaCgvZWFybmluZ3NcL3swLDF9JC9pKSYmIXRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSl7Y29uc3QgZT0iZXJyb3IiPT09bz8iZXJyb3IiOiJvayIsdD12b2lkIDAhPT1uLnN0YXR1cyYmMCE9PW4uc3RhdHVzP24uc3RhdHVzOiJlcnJvciI9PT1lPzQwMDoyMDA7RXMudGVsZW1ldHJ5LnNlbmRSZXBvcnQoImNhbGVuZGFycyIsImVhcm5pbmdzX2h0dHBfc3RhdHVzIix7dmFsdWU6dCxhZGRpdGlvbmFsOntzb3VyY2U6IlNjcmVlbmVyV2lkZ2V0In19KSxFcy50ZWxlbWV0cnkuc2VuZFJlcG9ydCgiY2FsZW5kYXJzIiwiZWFybmluZ3NfcmVzcG9uc2VfdGltZV9mcmFtZSIse3ZhbHVlOmksYWRkaXRpb25hbDp7c291cmNlOiJTY3JlZW5lcldpZGdldCJ9fSksRXMudGVsZW1ldHJ5LnNlbmRSZXBvcnQoImNhbGVuZGFycyIsYGVhcm5pbmdzXyR7ZX1gKX19LGw9KGUsdCk9Pntjb25zdCBvPURhdGUubm93KCktcjt0aGlzLmxvYWRpbmc9ITEsdGhpcy5fdmlldy5kaXNwbGF5KGUscyx0KSx0aGlzLmxvYWRpbmdDb21wbGV0ZS5maXJlKCk7aWYobnVsbCE9PWxvY2F0aW9uLnBhdGhuYW1lLm1hdGNoKC9lYXJuaW5nc1wvezAsMX0kL2kpJiYhdGhpcy5pc1NlcnZlclJlbmRlcigpKXtjb25zdCBpPSJlcnJvciI9PT10PyJlcnJvciI6Im9rIixuPXZvaWQgMCE9PWUuc3RhdHVzJiYwIT09ZS5zdGF0dXM/ZS5zdGF0dXM6ImVycm9yIj09PWk/NDAwOjIwMDtFcy50ZWxlbWV0cnkuc2VuZFJlcG9ydCgiY2FsZW5kYXJzIiwiZWFybmluZ3NfaHR0cF9zdGF0dXMiLHt2YWx1ZTpuLGFkZGl0aW9uYWw6e3NvdXJjZToiU2NyZWVuZXJXaWRnZXQifX0pLEVzLnRlbGVtZXRyeS5zZW5kUmVwb3J0KCJjYWxlbmRhcnMiLCJlYXJuaW5nc19yZXNwb25zZV90aW1lX2ZyYW1lIix7dmFsdWU6byxhZGRpdGlvbmFsOntzb3VyY2U6IlNjcmVlbmVyV2lkZ2V0In19KSxFcy50ZWxlbWV0cnkuc2VuZFJlcG9ydCgiY2FsZW5kYXJzIixgZWFybmluZ3NfJHtpfWApfX07dGhpcy5pc1NlcnZlclJlbmRlcigpP2Eod2luZG93LmluaXREYXRhLnNjcmVlbmVyX2RhdGEpOnRoaXMuX21hcmtlZFN5bWJvbHNGaWx0ZXImJnRoaXMuX21hcmtlZFN5bWJvbHNGaWx0ZXIuaXNBY3RpdmUoKSYmIXRoaXMuX3RpY2tlcnMubGVuZ3RoP3RoaXMuX3ZpZXcuZGlzcGxheSh7ZGF0YTpbXX0scyk6KHRoaXMuc2NhblJlcXVlc3QmJjQhPT10aGlzLnNjYW5SZXF1ZXN0LnJlYWR5U3RhdGUmJnRoaXMuc2NhblJlcXVlc3QuYWJvcnQoKSx0aGlzLnNjYW5SZXF1ZXN0PXRoaXMuX3NlbmRTY2FuUmVxdWVzdChuLGEpLHRoaXMuc2NhblJlcXVlc3QuZmFpbChsKSx0aGlzLnRyYWNrRXZlbnQoIlNjYW4gcmVxdWVzdCIpLHdpbmRvdy5pbml0RGF0YS5maWx0ZXJfaWQmJmRlbGV0ZSB3aW5kb3cuaW5pdERhdGEuZmlsdGVyX2lkKX1wcmV2ZW50UHJldlNjYW5SZXF1ZXN0KCl7dGhpcy5sb2FkaW5nJiZ0aGlzLnNjYW5SZXF1ZXN0JiYodGhpcy5zY2FuUmVxdWVzdC5hYm9ydCgpLAp0aGlzLnNjYW5SZXF1ZXN0PW51bGwpfV9zaG91bGRSZXJlbmRlcihlLHQpe3JldHVybiF0aGlzLl9pc1ByZXZTY2FuRGF0YUVxdWFsKGUpfHwhdGhpcy5faXNQcmV2UmVxdWVzdERhdGFFcXVhbCh0KX1faXNQcmV2U2NhbkRhdGFFcXVhbChlKXtyZXR1cm4gdGhpcy5fcHJldlNjYW5EYXRhPT09ZX1faXNQcmV2UmVxdWVzdERhdGFFcXVhbChlKXtyZXR1cm4oMCxfaS5kZWZhdWx0KShlLHRoaXMuX3ByZXZSZXF1ZXN0RGF0YSl9aXNGaWVsZFNldENoYW5nZWQoKXtpZih0aGlzLl9icmlkZ2Uub25XaWRnZXQpcmV0dXJuITE7Y29uc3QgZT10aGlzLmN1cnJlbnRGaWVsZFNldElkKCksdD1lJiZ0aGlzLmdldEZpZWxkU2V0QnlJZChlKTtpZighZXx8IXQpcmV0dXJuITA7Y29uc3Qgbz10LmNvbnRlbnQuc2xpY2UoKS5maWx0ZXIoS3MpLGk9dGhpcy5maWVsZHNPcmRlci52YWx1ZSgpLnNsaWNlKCkuZmlsdGVyKEtzKSxuPSFJdC50eXBlLmRpc2FibGVkJiYtMSE9PXQuY29udGVudC5pbmRleE9mKCJ0eXBlIikhPT1JdC50eXBlLmNoZWNrZWQscj0hSXQuZGVzY3JpcHRpb24uZGlzYWJsZWQmJi0xIT09dC5jb250ZW50LmluZGV4T2YoImRlc2NyaXB0aW9uIikhPT1JdC5kZXNjcmlwdGlvbi5jaGVja2VkO3JldHVybiBvLmpvaW4oKSE9PWkuam9pbigpfHxufHxyfWFwcGx5RmllbGRTZXRDb250ZW50KGUpe2Zvcihjb25zdCB0IGluIEl0KUl0W3RdLmNoZWNrZWQ9LTEhPT1lLmluZGV4T2YodCk7dGhpcy5maWVsZFNldENoYW5nZWQuZmlyZShlLmZpbHRlcigoZT0+ITAhPT1JdFtlXS5oaWRkZW5Db2x1bW4pKSl9YXBwbHlGaWVsZFNldEltcGwoZSx0LG89ITApe2NvbnN0IGk9dGhpcy5nZXRGaWVsZFNldEJ5SWQoZSksbj1pLmNvbnRlbnQuZmlsdGVyKChlPT5JdFtlXSYmIUl0W2VdLmRpc2FibGVkKSk7aWYodGhpcy5hcHBseUZpZWxkU2V0Q29udGVudChuKSx0fHx0aGlzLnVwZGF0ZSgpLHRoaXMuX3ZpZXcuc2V0RmllbGRTZXQoZSksdGhpcy5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLmZpZWxkU2V0SWQiLGkuaWQse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl92aWV3LnVwZGF0ZUZhdm9yaXRlc1Rvb2xiYXIoKSwhdCl7Y29uc3QgdD10aGlzLmRlZmF1bHRGaWVsZFNldHMuZmluZCgodD0+dC5pZD09PWUpKT9lOiJjdXN0b20iO3RoaXMudHJhY2tFdmVudChgQXBwbHkgZmllbGQgc2V0ICR7dH1gKX1vJiZ0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5hcHBseS1maWVsZC1zZXQiLEpTT04uc3RyaW5naWZ5KHtzZXRJZDplLGluaXRpYWw6dCxzZXR0aW5nS2V5OnRoaXMuc2V0dGluZ0tleX0pKX1hcHBseUZpZWxkU2V0KGUsdCxpKXt0fHxpfHwhdGhpcy5pc0ZpZWxkU2V0Q2hhbmdlZCgpP3RoaXMuYXBwbHlGaWVsZFNldEltcGwoZSx0KTpuZXcgUHJvbWlzZSgoZT0+e3RoaXMuX2JyaWRnZS5vbldpZGdldD9lKCk6dGhpcy5fdmlldy5fcG9wdXBzLnNob3dDb25maXJtRGlhbG9nKG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcxNzM1MCkpKS50aGVuKCh0PT57dD90aGlzLl92aWV3LnBvcHVwcy5jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWVsZFNldCgpLnRoZW4oZSwodD0+e3QmJmpzLmxvZ0Vycm9yKHQpLGUoKX0pKTplKCl9KSl9KSkudGhlbigoKCk9Pnt0aGlzLmFwcGx5RmllbGRTZXRJbXBsKGUsdCl9KSl9aXNGaWx0ZXJTZXRDaGFuZ2VkKCl7aWYodGhpcy5fYnJpZGdlLm9uV2lkZ2V0KXJldHVybiExO2NvbnN0IGU9dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKSx0PWUmJnRoaXMuZ2V0RmlsdGVyU2V0QnlJZChlKTtpZighZXx8IXQpcmV0dXJuITA7Y29uc3Qgbz10aGlzLm1hcmtldHN8fFt0aGlzLm1hcmtldF07WyJmb3JleCIsImNyeXB0byJdLmluY2x1ZGVzKG9bMF0pJiZkZWxldGUgdC5jb250ZW50LmZpbHRlcnMuaXNfcHJpbWFyeTtjb25zdCBpPXRoaXMuY3VycmVudEZpbHRlclN0YXRlKCksbj17fTtpZih0LmNvbnRlbnQuZmlsdGVycylmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyh0LmNvbnRlbnQuZmlsdGVycykpe2NvbnN0IG89dC5jb250ZW50LmZpbHRlcnNbZV0saT1tdChvLm9wZXJhdG9yKSxyPW10KG8udmFsdWUpOyhpJiZyfHwhaSYmIXIpJiYobltlXT1vKX1pZih0LmNvbnRlbnQub3B0aW9ucyYmaS5vcHRpb25zKXtpZihpLm9wdGlvbnMuYWN0aXZlX3N5bWJvbHNfb25seSE9PXQuY29udGVudC5vcHRpb25zLmFjdGl2ZV9zeW1ib2xzX29ubHkpcmV0dXJuITB9Y29uc3Qgcj1pLmZpbHRlcnMscz1PYmplY3Qua2V5cyhuKS5jb25jYXQoT2JqZWN0LmtleXMocikpLmZpbHRlcigoKGUsdCxvKT0+by5pbmRleE9mKGUpPT09dCkpO2ZvcihsZXQgZT0wO2U8cy5sZW5ndGg7KytlKXtjb25zdCB0PXNbZV07aWYoIW4uaGFzT3duUHJvcGVydHkodCl8fCFyLmhhc093blByb3BlcnR5KHQpKXJldHVybiEwO2lmKEFycmF5LmlzQXJyYXkoblt0XSleQXJyYXkuaXNBcnJheShyW3RdKSlyZXR1cm4hMDtpZihBcnJheS5pc0FycmF5KG5bdF0pJiZBcnJheS5pc0FycmF5KHJbdF0pJiZuW3RdLnNvcnQodGhpcy5udW1lcmljU29ydGVyKS5qb2luKCkhPT1yW3RdLnNvcnQodGhpcy5udW1lcmljU29ydGVyKS5qb2luKCl8fCFBcnJheS5pc0FycmF5KG5bdF0pJiYhKDAsX2kuZGVmYXVsdCkoblt0XSxyW3RdKSlyZXR1cm4hMH1yZXR1cm4hISh0LmNvbnRlbnQuc29ydF9kaXJlY3Rpb24mJnQuY29udGVudC5zb3J0X2RpcmVjdGlvbiE9PWkuc29ydF9kaXJlY3Rpb258fHQuY29udGVudC5zb3J0X2ZpZWxkJiZ0LmNvbnRlbnQuc29ydF9maWVsZCE9PWkuc29ydF9maWVsZCl9Y3VycmVudEZpbHRlclN0YXRlKCl7Y29uc3QgZT17fTtmb3IoY29uc3QgdCBpbiBJdCl7Y29uc3Qgbz1JdFt0XS52YWx1ZTtpZihbImlzX3ByaW1hcnkiLCJhY3RpdmVfc3ltYm9sIl0uaW5jbHVkZXModCkpe2lmKCFvKWNvbnRpbnVlO2VbdF09e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9Cn1lbHNlIEl0W3RdLmNvbnRyb2wmJm8mJigib2JqZWN0Ij09dHlwZW9mIG8/ImNvbmRpdGlvbiI9PT1JdFt0XS5jb250cm9sP210KG8ub3BlcmF0b3IpfHxtdChvLnZhbHVlKXx8KGVbdF09byk6T2JqZWN0LmtleXMobykuc29tZSgoZT0+ISFvW2VdKSkmJihlW3RdPW8pOmVbdF09byl9cmV0dXJue2ZpbHRlcnM6ZSxzb3J0X2ZpZWxkOnRoaXMuX3NvcnRGaWVsZC52YWx1ZSgpfHx0aGlzLl9pbml0aWFsU29ydEZpZWxkLHNvcnRfZGlyZWN0aW9uOnRoaXMuX3NvcnREaXJlY3Rpb24udmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnREaXJlY3Rpb24sb3B0aW9uczp0aGlzLl9vcHRpb25zfX1zYXZlRmllbGRTZXQoZSx0KXtyZXR1cm4gdGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksZS50eXBlPSJmaWVsZFNldCIsZS5zY3JlZW5lcl90eXBlPXRoaXMuc2NyZWVuZXJfdHlwZSx0aGlzLnNhdmVTZXQoZSx0KS50aGVuKCh0PT57dGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMSk7Y29uc3Qgbz10JiZ0LmlkJiZgJHt0LmlkfWA7cmV0dXJuIGUuZGVsZXRlfHx0aGlzLmZpZWxkU2V0U2F2ZWQuZmlyZSgpLHRoaXMuX3NlbmRYV2luZG93RXZlbnQoInNjcmVlbmVyLnNhdmUtZmllbGQtc2V0IixKU09OLnN0cmluZ2lmeSh7c2V0SWQ6ZS5kZWxldGU/IiI6byxzZXR0aW5nS2V5OnRoaXMuc2V0dGluZ0tleX0pKSx0aGlzLmFwcGx5RmllbGRTZXRJbXBsKG8pLHR9KSl9c2F2ZUZpbHRlclNldChlLHQpe3JldHVybiB0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksZS50eXBlPSJmaWx0ZXJTZXQiLGUuc2NyZWVuZXJfdHlwZT10aGlzLnNjcmVlbmVyX3R5cGUsZS5tYXJrZXRzPXRoaXMubWFya2V0cyx0aGlzLnNhdmVTZXQoZSx0KS50aGVuKCh0PT4odGhpcy5fdmlldy4kZmlsdGVyU2V0c0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITEpLGUuc2V0SWQ9dCYmdC5pZCYmYCR7dC5pZH1gLHRoaXMuYXBwbHlGaWx0ZXJTZXQodC5pZCksZS5kZWxldGU/dGhpcy5maWx0ZXJTZXREZWxldGVkLmZpcmUoZS5zZXRJZCk6dGhpcy5maWx0ZXJTZXRTYXZlZC5maXJlKGUuc2V0SWQsZS5tYXJrZXRzLCEhZS5jb250ZW50KSx0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5zYXZlLWZpbHRlci1zZXQiLEpTT04uc3RyaW5naWZ5KHtzZXRJZDplLmRlbGV0ZT8iIjplLnNldElkLHNldHRpbmdLZXk6dGhpcy5zZXR0aW5nS2V5fSkpLHQpKSl9c2F2ZVNldChlLHQpe3JldHVybiBQcm9taXNlLnJlc29sdmUoe3R5cGU6IlBPU1QiLHVybDoiL3NjcmVlbmVyL3NhdmUvIixkYXRhOmV9KS50aGVuKFZzLmFqYXgpLnRoZW4oKGU9PihlLmVycm9yP2pzLmxvZ0Vycm9yKGUuZXJyb3IpOnQmJnRoaXMudHJhY2tFdmVudCh0KSx0aGlzLmdldFVzZXJTZXR0aW5ncygpLnRoZW4oKCgpPT5lKSkpKSl9X2lzRXhjaGFuZ2VSZWxldmFudChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlLnZhbHVlKT9lLnZhbHVlLmV2ZXJ5KCh0PT5lLnJhbmdlLmluY2x1ZGVzKHQpKSk6ZS5yYW5nZS5pbmNsdWRlcyhlLnZhbHVlKX1faXNTdWJtYXJrZXRSZWxldmFudChlKXtyZXR1cm4oQXJyYXkuaXNBcnJheShlLnZhbHVlKT9lLnZhbHVlOltlLnZhbHVlXSkuZXZlcnkoKHQ9PmUucmFuZ2UuaW5jbHVkZXModCkpKX1hcHBseUZpbHRlclNldChlLHQsbz0hMCl7Y29uc3QgaT10aGlzLmdldEZpbHRlclNldEJ5SWQoZSk7aWYoaSl7aS5jb250ZW50LnNvcnRfZmllbGQmJnRoaXMuX3NvcnRGaWVsZC5zZXRWYWx1ZShpLmNvbnRlbnQuc29ydF9maWVsZCksaS5jb250ZW50LnNvcnRfZGlyZWN0aW9uJiZ0aGlzLl9zb3J0RGlyZWN0aW9uLnNldFZhbHVlKGkuY29udGVudC5zb3J0X2RpcmVjdGlvbiksdGhpcy5fb3B0aW9ucz1PYmplY3QuYXNzaWduKHt9LGkuY29udGVudC5vcHRpb25zKTtmb3IoY29uc3QgZSBpbiBJdClpLmNvbnRlbnQuZmlsdGVycyYmZSBpbiBpLmNvbnRlbnQuZmlsdGVycz8oImNvbmRpdGlvbiI9PT1JdFtlXS5jb250cm9sJiZBcnJheS5pc0FycmF5KGkuY29udGVudC5maWx0ZXJzW2VdKSYmMj09PWkuY29udGVudC5maWx0ZXJzW2VdLmxlbmd0aCYmKGkuY29udGVudC5maWx0ZXJzW2VdPXtvcGVyYXRvcjoiaW5fcmFuZ2UiLHZhbHVlOmkuY29udGVudC5maWx0ZXJzW2VdfSksSXRbZV0udmFsdWU9KDAsSC5jbG9uZSkoaS5jb250ZW50LmZpbHRlcnNbZV0pLCJzdWJtYXJrZXQiIT09ZXx8IUl0W2VdLmRpc2FibGVkJiZ0aGlzLl9pc1N1Ym1hcmtldFJlbGV2YW50KEl0W2VdKXx8KEl0W2VdLnZhbHVlPW51bGwpLCJpc19wcmltYXJ5Ij09PWUmJkl0W2VdLmRpc2FibGVkJiYoSXRbZV0udmFsdWU9bnVsbCksImNvbmRpdGlvbiI9PT1JdFtlXS5jb250cm9sJiZJdFtlXS52YWx1ZSYmKG10KEl0W2VdLnZhbHVlLnZhbHVlKXx8bXQoSXRbZV0udmFsdWUub3BlcmF0b3IpKSYmKEl0W2VdLnZhbHVlPW51bGwpLCJleGNoYW5nZSIhPT1lfHx0aGlzLl9pc0V4Y2hhbmdlUmVsZXZhbnQoSXRbZV0pfHwoSXRbZV0udmFsdWU9bnVsbCkpOiExIT09SXRbZV0ucmVzZXR0YWJsZUZpbHRlciYmKEl0W2VdLnZhbHVlPW51bGwpLHRoaXMuX3ZpZXcuX3Jlc2V0RmllbGQoZSwhMSwhMCk7dGhpcy5fb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgiYWN0aXZlX3N5bWJvbHNfb25seSIpJiYoITA9PT10aGlzLl9vcHRpb25zLmFjdGl2ZV9zeW1ib2xzX29ubHkmJihJdC5hY3RpdmVfc3ltYm9sLnZhbHVlPSEwKSxkZWxldGUgdGhpcy5fb3B0aW9ucy5hY3RpdmVfc3ltYm9sc19vbmx5KSx0aGlzLnNhdmVGaWx0ZXJzU2V0dGluZ3MoKSwhMD09PXQ/KHRoaXMuX3ZpZXcuc2V0RmlsdGVyU2V0KGUpLHRoaXMuZmlsdGVyU2V0Q2hhbmdlZC5maXJlKGUpKTp0aGlzLnVwZGF0ZUltcGwoKCgpPT57dGhpcy5fdmlldy5zZXRGaWx0ZXJTZXQoZSksdGhpcy5maWx0ZXJTZXRDaGFuZ2VkLmZpcmUoZSl9KSxudWxsLCEwKSx0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUodGhpcy5zZXR0aW5nS2V5KyIuZmlsdGVyU2V0SWQiLGkuaWQsewpmb3JjZUZsdXNoOiEwfSksdGhpcy50cmFja0V2ZW50KCJBcHBseSBmaWx0ZXIgc2V0IiksbyYmdGhpcy5fc2VuZFhXaW5kb3dFdmVudCgic2NyZWVuZXIuYXBwbHktZmlsdGVyLXNldCIsSlNPTi5zdHJpbmdpZnkoe3NldElkOmUsZG9Ob3RVcGRhdGU6dCxzZXR0aW5nS2V5OnRoaXMuc2V0dGluZ0tleX0pKX19c2F2ZUZpbHRlcnNTZXR0aW5ncygpe3RoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSh0aGlzLnNldHRpbmdLZXkrIi5zb3J0X2RpcmVjdGlvbiIsdGhpcy5fc29ydERpcmVjdGlvbi52YWx1ZSgpfHx0aGlzLl9pbml0aWFsU29ydERpcmVjdGlvbiksdGhpcy5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLnNvcnRfZmllbGQiLHRoaXMuX3NvcnRGaWVsZC52YWx1ZSgpfHx0aGlzLl9pbml0aWFsU29ydEZpZWxkKX1nZXRVc2VyU2V0dGluZ3MoKXtjb25zdCBlPXtmaWx0ZXJTZXRzOltdLGZpZWxkU2V0czpbXX07cmV0dXJuIHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKT90aGlzLmZhdm9yaXRlRmllbGRTZXRzPXRoaXMuZGVmYXVsdEZpZWxkU2V0cy5tYXAoKGU9PmUuaWQpKTp0aGlzLmZhdm9yaXRlRmllbGRTZXRzPXRoaXMuc2V0dGluZ3NTYXZlci5nZXRKU09OKHRoaXMuc2V0dGluZ0tleSsiLmZhdm9yaXRlRmllbGRTZXRzIix0aGlzLmRlZmF1bHRGaWVsZFNldHMubWFwKChlPT5lLmlkKSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkP25ldyBQcm9taXNlKCh0PT57VnMuZ2V0KCIvc2NyZWVuZXIvc2V0dGluZ3MvIix7c2NyZWVuZXJfdHlwZTp0aGlzLnNjcmVlbmVyX3R5cGV9KS5kb25lKChvPT57KG89b3x8ZSkuZmlsdGVyU2V0cz1vLmZpbHRlclNldHMubWFwKChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUuY29udGVudCk7dmFyIG87cmV0dXJuIHQuZmlsdGVycz0obz10LmZpbHRlcnMsT2JqZWN0LmtleXMobykuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9b1tlXTsibWFya2V0X2NhcF9iYXNpYyI9PT1lJiYibmVtcHR5Ij09PXQub3BlcmF0aW9uJiZkZWxldGUgb1tlXX0pKSxvKSx7aWQ6ZS5pZCsiIix0aXRsZTplLnRpdGxlLGNvbnRlbnQ6dH19KSksby5maWVsZFNldHM9by5maWVsZFNldHMubWFwKChlPT4oe2lkOmUuaWQrIiIsdGl0bGU6ZS50aXRsZSxjb250ZW50OkpTT04ucGFyc2UoZS5jb250ZW50KX0pKSksdGhpcy5zZXR0aW5ncz1vLHQoKX0pKX0pKToodGhpcy5zZXR0aW5ncz1lLFByb21pc2UucmVzb2x2ZSgpKX1nZXRGaWVsZFNldEJ5SWQoZSl7Y29uc3QgdD10PT50LmlkPT1lLG89dGhpcy5kZWZhdWx0RmllbGRTZXRzLmZpbmQodCl8fCh0aGlzLnNldHRpbmdzP3RoaXMuc2V0dGluZ3MuZmllbGRTZXRzLmZpbmQodCk6bnVsbCk7cmV0dXJuIG8/T2JqZWN0LmFzc2lnbih7fSxvLHt0aXRsZTpibyhvLnRpdGxlLCEwKX0pOm51bGx9Z2V0RmlsdGVyU2V0QnlJZChlKXtpZigicHJlZGVmaW5lZF9maWx0ZXIiPT09ZSlyZXR1cm4gdGhpcy5fYnJpZGdlLnByZWRlZmluZWRfZmlsdGVyO2NvbnN0IHQ9dD0+dC5pZD09ZSxvPVp0LmZpbmQodCl8fCh0aGlzLnNldHRpbmdzP3RoaXMuc2V0dGluZ3MuZmlsdGVyU2V0cy5maW5kKHQpOm51bGwpO3JldHVybiBvP09iamVjdC5hc3NpZ24oe30sbyx7dGl0bGU6Ym8oby50aXRsZSwhMCl9KTpudWxsfWFkZEZhdm9yaXRlRmllbGRTZXQoZSl7LTE9PT10aGlzLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YoZSkmJnRoaXMuZmF2b3JpdGVGaWVsZFNldHMucHVzaChlKSx0aGlzLnNldHRpbmdzU2F2ZXIuc2V0SlNPTih0aGlzLnNldHRpbmdLZXkrIi5mYXZvcml0ZUZpZWxkU2V0cyIsdGhpcy5mYXZvcml0ZUZpZWxkU2V0cyx7Zm9yY2VGbHVzaDohMH0pLHRoaXMuX3ZpZXcudXBkYXRlRmF2b3JpdGVzVG9vbGJhcigpLHRoaXMudHJhY2tFdmVudCgiQWRkIGZpZWxkIHNldCB0byBmYXZvcml0ZXMiKSx0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5hZGQtZmllbGQtc2V0LXRvLWZhdm9yaXRlcyIsSlNPTi5zdHJpbmdpZnkoe3NldHRpbmdLZXk6dGhpcy5zZXR0aW5nS2V5LGRhdGU6RGF0ZS5ub3coKX0pKX1yZW1vdmVGYXZvcml0ZUZpZWxkU2V0KGUpe3RoaXMuZmF2b3JpdGVGaWVsZFNldHM9dGhpcy5mYXZvcml0ZUZpZWxkU2V0cy5maWx0ZXIoKHQ9PnQhPT1lKSksdGhpcy5zZXR0aW5nc1NhdmVyLnNldEpTT04odGhpcy5zZXR0aW5nS2V5KyIuZmF2b3JpdGVGaWVsZFNldHMiLHRoaXMuZmF2b3JpdGVGaWVsZFNldHMse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl92aWV3LnVwZGF0ZUZhdm9yaXRlc1Rvb2xiYXIoKSx0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5yZW1vdmUtZmllbGQtc2V0LWZyb20tZmF2b3JpdGVzIixKU09OLnN0cmluZ2lmeSh7c2V0dGluZ0tleTp0aGlzLnNldHRpbmdLZXksZGF0ZTpEYXRlLm5vdygpfSkpfWN1cnJlbnRGaWVsZFNldElkKCl7cmV0dXJuIHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKT93aW5kb3cuaW5pdERhdGEuZmllbGRzZXRfaWQ6dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLmZpZWxkU2V0SWQiLHRoaXMuZGVmYXVsdEZpZWxkU2V0c1swXS5pZCl9Y3VycmVudEZpbHRlclNldElkKCl7Y29uc3QgZT1adC5maW5kKChlPT5lLmhhc093blByb3BlcnR5KCJkaXNhYmxlZCIpJiYhZS5kaXNhYmxlZCkpfHxadFswXTtyZXR1cm4gd2luZG93LmluaXREYXRhLmZpbHRlcl9pZHx8dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLmZpbHRlclNldElkIixlLmlkKX1nZXRDdXJyZW50U3RhdGUoKXtyZXR1cm57cmVxdWVzdFBhcmFtczp0aGlzLl9wcmV2UmVxdWVzdHx8Im5vbmUiLGZpZWxkU2V0OnRoaXMuY3VycmVudEZpZWxkU2V0SWQoKSxmaWx0ZXJTZXQ6dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKX19dHJhY2tFdmVudChlKXsoMCx3cy50cmFja0V2ZW50KSgiU2NyZWVuZXIiLGUsdGhpcy5tYXJrZXRzLmpvaW4oIiwiKSsiICIrKHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lPyJzdGFuZGFsb25lIjoib24gY2hhcnQiKSl9bnVtZXJpY1NvcnRlcihlLHQpe3JldHVybiBlPnQ/MTotMX1pbnZhbGlkYXRlUmVxdWVzdCgpewpkZWxldGUgdGhpcy5fcHJldlJlcXVlc3R9Z2V0IHNlbGVjdGVkSW50ZXJ2YWxJZCgpe2lmKCF0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9scyl7aWYodGhpcy5lb2RSZXN0cmljdGlvbi52YWx1ZSgpIT09V28uTm9uZSlyZXR1cm4iMUQiO2NvbnN0IGU9dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKGAke3RoaXMuc2V0dGluZ0tleX0uaW50ZXJ2YWwtaWRgLGNlKTtyZXR1cm4odGhpcy5fYnJpZGdlLm9uV2lkZ2V0fHwoMCxIby5lbmFibGVkKShYby5Qcm9kdWN0RmVhdHVyZXNFbnVtLlNDUkVFTkVSX0lOVEVSVkFMUykmJi0xIT09KDAsSG8uZ2V0Q29uZmlnKShYby5Qcm9kdWN0RmVhdHVyZXNFbnVtLlNDUkVFTkVSX0lOVEVSVkFMUykuaW50ZXJ2YWwuaW5kZXhPZihlKSkmJmRlKGUpP2U6Y2V9fXNldFNlbGVjdGVkSW50ZXJ2YWxJZChlKXt0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUoYCR7dGhpcy5zZXR0aW5nS2V5fS5pbnRlcnZhbC1pZGAsZSx7Zm9yY2VGbHVzaDohMH0pLHRoaXMuX3NlbmRYV2luZG93RXZlbnQoInNjcmVlbmVyLmNoYW5nZS1zZWxlY3RlZC1pbnRlcnZhbC1pZCIsSlNPTi5zdHJpbmdpZnkoe3NldHRpbmdLZXk6dGhpcy5zZXR0aW5nS2V5LGlkOmV9KSk7Y29uc3QgdD1kZShlKTt0JiZ0aGlzLnRyYWNrRXZlbnQoYEFwcGx5IHRpbWVmcmFtZSAke3QuaWR9YCl9Z2V0IHNlbGVjdGVkR3JvdXBzKCl7cmV0dXJuIEpTT04ucGFyc2UodGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKGAke0dzfS5zY3JlZW5lci1mb3JleC5ncm91cHNgLCdbIk1ham9yIiwiTWlub3IiXScpKS5tYXAoKGU9Pmh0W2VdfHxlKSl9c2V0U2VsZWN0ZWRHcm91cHMoZSl7Y29uc3QgdD1PYmplY3Qua2V5cyhodCksbz1lLm1hcCgoZT0+dC5maW5kKCh0PT5odFt0XT09PWUpKXx8ZSkpO3RoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZShgJHtHc30uc2NyZWVuZXItZm9yZXguZ3JvdXBzYCxKU09OLnN0cmluZ2lmeShvKSx7Zm9yY2VGbHVzaDohMH0pLHRoaXMudHJhY2tFdmVudCgiQ2hhbmdlIHNlbGVjdGVkIGdyb3VwcyIpfXNldCBtYXJrZXRzKGUpe2NvbnN0IHQ9QXJyYXkuaXNBcnJheShlKT9lOltlXSxvPUpTT04uc3RyaW5naWZ5KHQpO3RoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZShgJHtHc30uJHt0aGlzLnNldHRpbmdLZXl9Lm1hcmtldGAsbyx7Zm9yY2VGbHVzaDohMH0pLHRoaXMudHJhY2tFdmVudCgiQ2hhbmdlIG1hcmtldCIpLHRoaXMuX3NlbmRYV2luZG93RXZlbnQoInNjcmVlbmVyLm1hcmtldC1jaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh7c2V0dGluZ0tleTp0aGlzLnNldHRpbmdLZXksZGF0ZTpEYXRlLm5vdygpfSkpfWdldCBwcmVzZXQoKXtyZXR1cm4gd2luZG93LmluaXREYXRhLnNjcmVlbmVyX3ByZXNldH1nZXQgbWFya2V0cygpe2NvbnN0IGU9ZnVuY3Rpb24oZSx0PSJzdG9jayIpe3JldHVybiJmb3JleCI9PT10PyJmb3JleCI6ImNyeXB0byI9PT10PyJjcnlwdG8iOmsoZSl9KEdzLHRoaXMuc2NyZWVuZXJfdHlwZSksdD1PYmplY3Qua2V5cyhQKHRoaXMuc2NyZWVuZXJfdHlwZSkpLG89dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKGAke0dzfS4ke3RoaXMuc2V0dGluZ0tleX0ubWFya2V0YCxKU09OLnN0cmluZ2lmeShbZV0pKTtsZXQgaTtpZih0aGlzLnNldHRpbmdzU2F2ZXIuZ2V0Qm9vbChgJHtHc30uJHt0aGlzLnNldHRpbmdLZXl9LmlzLWVudGlyZS13b3JsZGAsITEpKWk9dDtlbHNlIHRyeXtpPUpTT04ucGFyc2UobyksQXJyYXkuaXNBcnJheShpKSYmIWkuc29tZSgoZT0+IXQuaW5jbHVkZXMoZSkpKXx8KGk9W2VdKX1jYXRjaChuKXtpPW4gaW5zdGFuY2VvZiBTeW50YXhFcnJvciYmdC5pbmNsdWRlcyhvKT9bb106W2VdfWlmKHdpbmRvdy5pbml0RGF0YS5zY3JlZW5lcl9tYXJrZXQpcmV0dXJuW3dpbmRvdy5pbml0RGF0YS5zY3JlZW5lcl9tYXJrZXRdO2lmKCEoMCxlcy5pc0dsb2JhbFNjcmVlbmVyQXZhaWxhYmxlKSgpJiZpLmxlbmd0aD4xKXJldHVybiBpPVtlXSxpO3JldHVybiBpLmV2ZXJ5KChlPT50LmluY2x1ZGVzKGUpKSk/aTpbZV19c2V0IGlzRW50aXJlV29ybGQoZSl7dGhpcy5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKGAke0dzfS4ke3RoaXMuc2V0dGluZ0tleX0uaXMtZW50aXJlLXdvcmxkYCxlLHtmb3JjZUZsdXNoOiEwfSl9Z2V0IGlzRW50aXJlV29ybGQoKXtjb25zdCBlPXRoaXMuc2V0dGluZ3NTYXZlci5nZXRCb29sKGAke0dzfS4ke3RoaXMuc2V0dGluZ0tleX0uaXMtZW50aXJlLXdvcmxkYCwhMSk7cmV0dXJuISghKDAsZXMuaXNHbG9iYWxTY3JlZW5lckF2YWlsYWJsZSkoKSYmdGhpcy5tYXJrZXRzLmxlbmd0aD4xKSYmZX1nZXQgdGltZXpvbmUoKXtyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD1GKCJzdG9jayIpW2VdO3JldHVybiB0P3QudGltZXpvbmU6bnVsbH0odGhpcy5tYXJrZXRzWzBdKX1fdmVyaWZ5QWxsU2V0c0NoYW5nZXMoZSl7cmV0dXJuKCEwPT09ZT9Qcm9taXNlLnJlc29sdmUoKTpuZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9icmlkZ2Uub25XaWRnZXQ/ZSgpOnRoaXMuaXNGaWVsZFNldENoYW5nZWQoKT90aGlzLl92aWV3LnBvcHVwcy5zaG93Q29uZmlybURpYWxvZyhvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MTczNTApKSkudGhlbigodD0+e3Q/dGhpcy5fdmlldy5wb3B1cHMuY29uZmlybUFuZFNhdmVDdXJyZW50RmllbGRTZXQoKS50aGVuKGUsKHQ9Pnt0JiZqcy5sb2dFcnJvcih0KSxlKCl9KSk6ZSgpfSkpOmUoKX0pKSkudGhlbigoKCk9PiEwPT09ZT9Qcm9taXNlLnJlc29sdmUoKTpuZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9icmlkZ2Uub25XaWRnZXQ/ZSgpOnRoaXMuaXNGaWx0ZXJTZXRDaGFuZ2VkKCk/dGhpcy5fdmlldy5wb3B1cHMuc2hvd0NvbmZpcm1EaWFsb2coby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjcwNjQ0KSkpLnRoZW4oKHQ9Pnt0P3RoaXMuX3ZpZXcucG9wdXBzLmNvbmZpcm1BbmRTYXZlQ3VycmVudEZpbHRlclNldCgpLnRoZW4oZSwodD0+e3QmJmpzLmxvZ0Vycm9yKHQpLGUoKX0pKTplKCl9KSk6ZSgpfSkpKSl9c2V0TWFya2V0KGUsdCxvKXtjb25zdCBpPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0KO3JldHVybiEwIT09dCYmKDAsX2kuZGVmYXVsdCkoaSx0aGlzLm1hcmtldHMpP1Byb21pc2UucmVqZWN0KCk6KHRoaXMubWFya2V0cz1pLHRoaXMuX3ZlcmlmeUFsbFNldHNDaGFuZ2VzKG8pLnRoZW4oKCgpPT50aGlzLmxvYWRpbmdTdGFydC5maXJlKCkpKS50aGVuKCgoKT0+dGhpcy5nZXRNZXRhSW5mbygpKSkudGhlbigoKCk9Pnt0aGlzLmRlZmF1bHRGaWVsZFNldHM9Zyh7c2NyZWVuZXJUeXBlOnRoaXMuc2NyZWVuZXJfdHlwZSxpc0NvbXBhY3Q6dGhpcy5pc1NlcnZlclJlbmRlcigpLG1hcmtldHM6dGhpcy5tYXJrZXRzLHN1YnR5cGU6IiIsaXNPbldpZGdldDp0aGlzLl9icmlkZ2Uub25XaWRnZXR9KTtsZXQgZT10aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpO2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpO2lmKHQmJnQuZGlzYWJsZWQpe2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKChlPT4hZS5kaXNhYmxlZCkpO2U9dD90LmlkOiIifXRoaXMuYXBwbHlGaWVsZFNldCh0aGlzLmN1cnJlbnRGaWVsZFNldElkKCksITApLHRoaXMuYXBwbHlGaWx0ZXJTZXQoZSwhMCksdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMuX3VwZGF0ZUVvZFJlc3RyaWN0aW9uKCksdGhpcy51cGRhdGUoKX0pKSl9X3VwZGF0ZUVvZFJlc3RyaWN0aW9uKCl7Y29uc3QgZT17bWFya2V0czp0aGlzLm1hcmtldHMsaXNQcm86KDAsQXMuaXNQcm8pKHdpbmRvdy51c2VyKSxpc0Fub255bW91czohd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsc2NyZWVuZXJUeXBlOnRoaXMuc2NyZWVuZXJfdHlwZSxvbldpZGdldDooMCxBbi5pc0V4dGVybmFsV2lkZ2V0KSh0aGlzLl9icmlkZ2UpfTt0aGlzLmVvZFJlc3RyaWN0aW9uLnNldFZhbHVlKGZ1bmN0aW9uKGUpe2NvbnN0e3NjcmVlbmVyVHlwZTp0LG1hcmtldHM6byxvbldpZGdldDppLGlzUHJvOm4saXNBbm9ueW1vdXM6cn09ZTtpZihvLmxlbmd0aD4xKXJldHVybiBXby5Ob25lO2lmKCJzdG9jayIhPT10KXJldHVybiBXby5Ob25lO2NvbnN0IHM9JChvKTtpZihpKXJldHVybiBzLmV2ZXJ5KCRvKT9Xby5Ob25lOldvLldpZGdldDtpZihuKXJldHVybiBXby5Ob25lO2NvbnN0IGE9cy5tYXAoQm8pO3JldHVybiBhLnNvbWUoKGU9PigwLEZvLmlzSURDRXhjaGFuZ2UpKGUsITApKSkmJihyfHxhLnNvbWUoKGU9PiEhZSYmTG8oZSkpKSk/V28uU2l0ZTpXby5Ob25lfShlKSl9Y2hhbmdlU2NyZWVuZXJUeXBlKGUpe3JldHVybiBlPT09dGhpcy5zY3JlZW5lcl90eXBlP1Byb21pc2UucmVqZWN0KCk6KHRoaXMudHJhY2tFdmVudCgiQ2hhbmdlIHNjcmVlbmVyIHR5cGUiKSx0aGlzLl92ZXJpZnlBbGxTZXRzQ2hhbmdlcygpLnRoZW4oKCgpPT57dGhpcy5kaXNhYmxlZC5zZXRWYWx1ZSghMCksdGhpcy5tYXJrZXRDaGFuZ2VQcm9jZXNzPSEwLHRoaXMuc2NyZWVuZXJfdHlwZT1lLHRoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSgic2NyZWVuZXIuc2VsZWN0ZWRfdHlwZV9vbl9jaGFydCIsZSx7Zm9yY2VGbHVzaDohMH0pLHRoaXMuc2V0dGluZ0tleT1Zc1t0aGlzLnNjcmVlbmVyX3R5cGVdfHxZcy5zdG9jayx0aGlzLmRlZmF1bHRGaWVsZFNldHM9Zyh7c2NyZWVuZXJUeXBlOnRoaXMuc2NyZWVuZXJfdHlwZSxtYXJrZXRzOnRoaXMubWFya2V0cyxpc0NvbXBhY3Q6dGhpcy5pc1NlcnZlclJlbmRlcigpLHN1YnR5cGU6IiIsaXNPbldpZGdldDp0aGlzLl9icmlkZ2Uub25XaWRnZXR9KSxQdCh0aGlzLnNjcmVlbmVyX3R5cGUpLFF0KHRoaXMubWFya2V0cyk7Y29uc3QgdD10aGlzLnNlbGVjdGVkR3JvdXBzO0l0LnNlY3Rvci52YWx1ZT1BcnJheS5pc0FycmF5KHQpJiZ0WzBdPT09by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTIxODQ3KSk/bnVsbDp0fSkpLnRoZW4oKCgpPT50aGlzLmxvYWRpbmdTdGFydC5maXJlKCkpKS50aGVuKCgoKT0+dGhpcy5nZXRNZXRhSW5mbygpKSkudGhlbigoKCk9PnRoaXMuZ2V0VXNlclNldHRpbmdzKCkpKS50aGVuKCgoKT0+e3RoaXMuX2NoZWNrQ3VycmVudFNldHMoKSx0aGlzLmFwcGx5RmllbGRTZXQodGhpcy5jdXJyZW50RmllbGRTZXRJZCgpLCEwKSx0aGlzLmFwcGx5RmlsdGVyU2V0KHRoaXMuY3VycmVudEZpbHRlclNldElkKCksITApfSkpLnRoZW4oKCgpPT57bGV0IGU9dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKTtjb25zdCB0PXRoaXMuZGVmYXVsdEZpbHRlclNldHMuZmluZCgodD0+dC5pZD09PWUpKTtpZih0JiZ0LmRpc2FibGVkKXtjb25zdCB0PXRoaXMuZGVmYXVsdEZpbHRlclNldHMuZmluZCgoZT0+IWUuZGlzYWJsZWQpKTtlPXQ/dC5pZDoiIn10aGlzLmFwcGx5RmlsdGVyU2V0KGUsITApLHRoaXMuaW52YWxpZGF0ZVJlcXVlc3QoKSx0aGlzLl91cGRhdGVFb2RSZXN0cmljdGlvbigpLHRoaXMudXBkYXRlSW1wbCh2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLCEwKSx0aGlzLm1hcmtldENoYW5nZVByb2Nlc3M9ITEsdGhpcy5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57dGhpcy5kaXNhYmxlZC5zZXRWYWx1ZSghMSl9KSwhMCl9KSkpfWJhY2tlbmRVcmwoZSl7cmV0dXJuIGZ1bmN0aW9uKGUsdD1lKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLmxlbmd0aD4xP2Ake1RzKCl9L2dsb2JhbC9gOmAke1RzKCl9LyR7dFswXX0vYDpgJHtUcygpfS8ke3R9L2B9KHRoaXMubWFya2V0cyxlKX1vbkxvZ2luU3RhdGVDaGFuZ2UoZSl7ZXx8dGhpcy5nZXRVc2VyU2V0dGluZ3MoKS50aGVuKCgoKT0+dGhpcy5hcHBseUZpZWxkU2V0KHRoaXMuY3VycmVudEZpZWxkU2V0SWQoKSwhMCkpKS50aGVuKCgoKT0+dGhpcy5zZXRNYXJrZXQodGhpcy5tYXJrZXRzLCEwLCEwKSkpLnRoZW4oKCgpPT50aGlzLl92aWV3LnVwZGF0ZU1hcmtldEJ1dHRvbigpKSl9c2hvd05vdGljZUlmTm9GaWx0ZXJzKGUpe2xldCB0O2lmKGUpe2NvbnN0IG89dGhpcy5nZXRGaWx0ZXJTZXRCeUlkKGUpO3Q9byYmby5jb250ZW50fWVsc2UgdD10aGlzLmN1cnJlbnRGaWx0ZXJTdGF0ZSgpCjtyZXR1cm4oIXR8fCFPYmplY3Qua2V5cyh0LmZpbHRlcnN8fHt9KS5sZW5ndGgpJiYodGhpcy5fdmlldy5wb3B1cHMuc2hvd05vdGljZShvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjA4MikpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUxOTQ3NCkpKSwhMCl9YmluZFNjcm9sbFRvQm90dG9tKGUpe2NvbnN0IHQ9KCk9Pnt0aGlzLmxvYWRpbmd8fHRoaXMudXBkYXRlKG51bGwsITApfSxvPSgpPT57VnMod2luZG93KS5iaW5kKCJzY3JvbGx0byIse3RvOiJib3R0b20iLHRvbGVyYW5jZTplfSx0KSx0aGlzLmxvYWRpbmdDb21wbGV0ZS51bnN1YnNjcmliZShudWxsLG8pfTt0aGlzLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCxvKX1nZXQgaXNGYXN0UmVmcmVzaCgpe3JldHVyblsiZm9yZXgiLCJjcnlwdG8iXS5pbmNsdWRlcyh0aGlzLnNjcmVlbmVyX3R5cGUpfWdldCByZWZyZXNoSW50ZXJ2YWwoKXtpZih0aGlzLmlzRmFzdFJlZnJlc2gmJiF0aGlzLl9icmlkZ2Uub25XaWRnZXQpe2lmKHRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzKXJldHVybiAxMDtpZighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpcmV0dXJuLTE7Y29uc3QgZT10aGlzLnNldHRpbmdzU2F2ZXIuZ2V0SW50KHRoaXMuc2V0dGluZ0tleSsiLnJlZnJlc2hJbnRlcnZhbCIsLTEpfHwtMTtyZXR1cm4gMT09PWU/MTA6ZX1yZXR1cm4gd2luZG93LnVzZXImJndpbmRvdy51c2VyLmlzX3BybyYmdGhpcy5zZXR0aW5nc1NhdmVyLmdldEludCh0aGlzLnNldHRpbmdLZXkrIi5yZWZyZXNoSW50ZXJ2YWwiLC0xKXx8LTF9c2V0IHJlZnJlc2hJbnRlcnZhbChlKXt0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUodGhpcy5zZXR0aW5nS2V5KyIucmVmcmVzaEludGVydmFsIixlLHtmb3JjZUZsdXNoOiEwfSksdGhpcy5fdmlldy5yZXNldFJlZnJlc2hDb3VudGVyKCksLTEhPT1lJiZ0aGlzLnRyYWNrRXZlbnQoIlNldCByZWZyZXNoIGludGVydmFsIil9Z2V0IHZpZXcoKXtyZXR1cm4gdGhpcy5fdmlld31nZXQgc2VhcmNoRmllbGQoKXtyZXR1cm4ic2VjdG9yIj09PXRoaXMuc2NyZWVuZXJfdHlwZXx8ImluZHVzdHJ5Ij09PXRoaXMuc2NyZWVuZXJfdHlwZT8iZGVzY3JpcHRpb24iOiJjcnlwdG9fbWt0Ij09PXRoaXMuc2NyZWVuZXJfdHlwZT8ic2VjdG9yIjoibmFtZSJ9Z2V0IHNjcmVlbmVyVHlwZSgpe3JldHVybiB0aGlzLnNjcmVlbmVyX3R5cGV9Z2V0IHNjcmVlbmVyQnJpZGdlKCl7cmV0dXJuIHRoaXMuX2JyaWRnZX1hcHBseVN3aXRjaChlKXtpZihkZWxldGUgdGhpcy5fYnJpZGdlLnNjcmVlbmVyX2ZpZWxkX21hdGNoLCJjcnlwdG9fbWt0Ij09PXRoaXMuc2NyZWVuZXJfdHlwZSl0aGlzLnN3aXRjaEZpbHRlcj17bGVmdDoibmFtZSIsb3BlcmF0aW9uOiJtYXRjaCIscmlnaHQ6ZSsiJCJ9O2Vsc2UgaWYoImJvbmRzIj09PXRoaXMuc2NyZWVuZXJfdHlwZSl7dGhpcy5zd2l0Y2hGaWx0ZXI9e2xlZnQ6ImRlc2NyaXB0aW9uIixvcGVyYXRpb246InlpZWxkcyI9PT1lPyJtYXRjaCI6Im5tYXRjaCIscmlnaHQ6IllJRUxEJCJ9O2NvbnN0IHQ9InlpZWxkcyI9PT1lP28uaTE4bmV4dChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNzU0NikpOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgyMDg2NikpO0l0LmNsb3NlLnRpdGxlPXQsSXQuY2xvc2Uuc2hvcnRUaXRsZT10LHRoaXMuX3ZpZXcudGFibGUuc2V0Q29sdW1uVGl0bGUoImNsb3NlIix0KX10aGlzLnVwZGF0ZSgpfWhhc01hcmtlZFN5bWJvbHMoKXtyZXR1cm4oMCxfby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibWFya2VkX3N5bWJvbHMiKSYmIXRoaXMuX2JyaWRnZS5tYXJrZWRfc3ltYm9sc19kaXNhYmxlZH1fc2NyZWVuZXJTdWJ0eXBlKCl7cmV0dXJuIHRoaXMuX2JyaWRnZS5zY3JlZW5lcl9zdWJ0eXBlfHwiIn1fYnVpbGRSZXF1ZXN0RGF0YShlKXtpZigiZ2xvYmFsIj09PXRoaXMubWFya2V0c1swXSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO3JldHVybiBkZWxldGUgdC5tYXJrZXRzLEpTT04uc3RyaW5naWZ5KHQpfXJldHVybiBlfV9zZW5kU2NhblJlcXVlc3QoZSx0KXtjb25zdCBvPXt0eXBlOiJQT1NUIix1cmw6dGhpcy5fZ2V0U2NhblVybCgic2NhbiIpLGRhdGE6dGhpcy5fYnVpbGRSZXF1ZXN0RGF0YShlKSxzdWNjZXNzOnQsZGF0YVR5cGU6InRleHQiLHhockZpZWxkczp7d2l0aENyZWRlbnRpYWxzOiFCb29sZWFuKHRoaXMuX2JyaWRnZS5vbldpZGdldCl9fTtyZXR1cm4gVnMuYWpheChvKX1fZ2V0RmlsdGVyZWRFeGNoYW5nZXNGb3JXaWRnZXQoZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hdGhpcy5fYnJpZGdlLnVuYXZhaWxhYmxlV2lkZ2V0RXhjaGFuZ2VzLmluY2x1ZGVzKGUpKSl9X2dldFNjYW5VcmwoZSl7Y29uc3QgdD1uZXcgVVJMKHRoaXMuYmFja2VuZFVybCgpK2UpLG89d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiO3JldHVybiBvJiZxc1tvXT90LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFwaV9rZXkiLHFzW29dKTooMCxBbi5pc0V4dGVybmFsV2lkZ2V0KSh0aGlzLl9icmlkZ2UpJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFwaV9rZXkiLCJ3aWRnZXRfdXNlcl90b2tlbiIpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgibGFiZWwtcHJvZHVjdCIsKDAsQW4uaXNDaGFydFBhZ2UpKHRoaXMuX2JyaWRnZSk/YHVuZGVyY2hhcnQtc2NyZWVuZXItJHt0aGlzLnNjcmVlbmVyX3R5cGV9YDpgc2NyZWVuZXItJHt0aGlzLnNjcmVlbmVyX3R5cGV9LW9sZGApLHQudG9TdHJpbmcoKX19KGRhKX0sMTg5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTaWRlYmFyQ3VzdG9tU2Nyb2xsOigpPT51fSk7dmFyIGk9bygzNjMyNjkpLG49byg5NDgzODApLHI9byg0NTk0ODgpLHM9bygzMTQ3MjApLGE9bygzNDI3OCksbD1vKDc4MDM3NCk7Y29uc3QgYz1bKCk9Pm5hdmlnYXRvci51c2VyQWdlbnQuaW5jbHVkZXMoIldpbiIpJiZuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKCJDaHJvbWUiKT8xL3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjEsKCk9PjE2LChlPSgpPT4wKT0+LjgqKGUoKT8/MCldO28oMTEyNjEzKTt2YXIgZD1vKDYyNTQxMSkKO2NvbnN0IGg9e2hlYWRlckhlaWdodDowLGFkZGl0aW9uYWxDbGFzczoiIixhbHdheXNWaXNpYmxlOiExLHNob3dCb3R0b21TaGFkb3c6ITAsc2Nyb2xsTWFyZ2luVG9wOjEsYnViYmxlU2Nyb2xsRXZlbnQ6ITF9O2NsYXNzIHV7Y29uc3RydWN0b3IoZSx0LG89e30pe2lmKHRoaXMuc2Nyb2xsZWQ9bmV3IG4uRGVsZWdhdGUsdGhpcy5zY3JvbGx0b2VuZD1uZXcgbi5EZWxlZ2F0ZSx0aGlzLnNjcm9sbHRvc3RhcnQ9bmV3IG4uRGVsZWdhdGUsdGhpcy52aXNpYmlsaXR5Q2FsbGJhY2tzPVtdLHRoaXMuX3Njcm9sbFRhcmdldFRvcD0wLHRoaXMuX3Njcm9sbFNwZWVkPTQwLHRoaXMuX3NoYWRvd09mZnNldD0xMCx0aGlzLl9zaGFkb3dUb3A9bnVsbCx0aGlzLl9zaGFkb3dCb3R0b209bnVsbCx0aGlzLl9kcmFnSW5pdGlhbGl6ZWQ9ITEsdGhpcy5fZHJhZ2dpbmc9ITEsdGhpcy5fZHJhZ2dhYmxlPW51bGwsdGhpcy5fYXRTdGFydD0hMSx0aGlzLl9hdEVuZD0hMSx0aGlzLl9zdGlja3lCb3R0b209bnVsbCx0aGlzLl9hbmltYXRpb249bnVsbCx0aGlzLl9zYXZlZD1udWxsLHRoaXMuX29wdGlvbnM9ey4uLmgsLi4ub30sdGhpcy5fd3JhcHBlcj1lLHRoaXMuX3dyYXBwZXIuY2xhc3NMaXN0LmFkZChkLndyYXBwZXIpLHRoaXMuX2NvbnRlbnQ9dCx0aGlzLl9oZWFkZXJIZWlnaHQ9dGhpcy5fb3B0aW9ucy5oZWFkZXJIZWlnaHQsdGhpcy5fc2Nyb2xsTWFyZ2luVG9wPXRoaXMuX29wdGlvbnMuc2Nyb2xsTWFyZ2luVG9wLHRoaXMuX3Njcm9sbEJhcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9zY3JvbGxCYXIuY2xhc3NMaXN0LmFkZCgic2Itc2Nyb2xsYmFyIiwic2Itc2Nyb2xsYmFyLWJvZHkiKSx0aGlzLl9vcHRpb25zLmFkZGl0aW9uYWxDbGFzcyYmdGhpcy5fc2Nyb2xsQmFyLmNsYXNzTGlzdC5hZGQodGhpcy5fb3B0aW9ucy5hZGRpdGlvbmFsQ2xhc3MpLHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUtYWx3YXlzIix0aGlzLl9vcHRpb25zLmFsd2F5c1Zpc2libGUpLHRoaXMuX3Njcm9sbEJhcldyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fc2Nyb2xsQmFyV3JhcHBlci5jbGFzc0xpc3QuYWRkKCJzYi1zY3JvbGxiYXItd3JhcCIpLHRoaXMuX3RvdWNoPWkudG91Y2gsdGhpcy5fdG91Y2gpcmV0dXJuIHRoaXMuX2NvbnRlbnQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0aGlzLl93cmFwcGVyLmNsYXNzTGlzdC5hZGQoZC50b3VjaCksdm9pZCB0aGlzLl93cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsKCgpPT50aGlzLl9vblNjcm9sbCgpKSk7dGhpcy5fd3JhcHBlci5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIix0aGlzLl91bnN1YnNjcmliZT0oKCk9Pntjb25zdCBlPSgpPT57dGhpcy5fZHJhZ2dpbmd8fCh0aGlzLl9vcHRpb25zLmFsd2F5c1Zpc2libGV8fHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSx0aGlzLl9vblNjcm9sbCgpKX0sdD0oKT0+e3RoaXMuX2RyYWdnaW5nfHwodGhpcy5fb3B0aW9ucy5hbHdheXNWaXNpYmxlfHx0aGlzLl9zY3JvbGxCYXIuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksdGhpcy5fb25TY3JvbGwoKSl9LG89ZT0+e2NvbnN0IHQ9ZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9lLnRhcmdldDpudWxsO2lmKCghISF0Py5jbG9zZXN0KCIuaWdub3JlLWhvcml6b250YWwtc2Nyb2xsIil8fGUuZGVsdGFZKSYmIWUuZGVmYXVsdFByZXZlbnRlZCl7Y29uc3QgdD1mdW5jdGlvbihlLHQ9KCk9Pih7fSkpe3JldHVybnt4OmUuZGVsdGFYKmNbZS5kZWx0YU1vZGVdKCgoKT0+dCgpLndpZHRoKSkseTplLmRlbHRhWSpjW2UuZGVsdGFNb2RlXSgoKCk9PnQoKS5oZWlnaHQpKX19KGUsKCgpPT4oe2hlaWdodDp0aGlzLl93cmFwcGVyLmNsaWVudEhlaWdodH0pKSkueTt0aGlzLnNjcm9sbCgtdCwxKXx8KGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpKX19O3JldHVybiB0aGlzLl93cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGUpLHRoaXMuX3dyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdCksdGhpcy5fd3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsbyksKCk9Pnt0aGlzLl93cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGUpLHRoaXMuX3dyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdCksdGhpcy5fd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsbyl9fSkoKSwhMSE9PXRoaXMuX29wdGlvbnMuc2hvd1RvcFNoYWRvdyYmKHRoaXMuX3NoYWRvd1RvcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9zaGFkb3dUb3AuY2xhc3NMaXN0LmFkZCgic2ItaW5uZXItc2hhZG93IiwidG9wIiwiaS1pbnZpc2libGUiKSx0aGlzLl93cmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX3NoYWRvd1RvcCkpLCExIT09dGhpcy5fb3B0aW9ucy5zaG93Qm90dG9tU2hhZG93JiYodGhpcy5fc2hhZG93Qm90dG9tPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3NoYWRvd0JvdHRvbS5jbGFzc0xpc3QuYWRkKCJzYi1pbm5lci1zaGFkb3ciKSx0aGlzLl93cmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX3NoYWRvd0JvdHRvbSkpLHRoaXMuX3NoYWRvd1RvcCYmdGhpcy5faGVhZGVySGVpZ2h0JiYodGhpcy5fc2hhZG93VG9wLnN0eWxlLnRvcD10aGlzLl9oZWFkZXJIZWlnaHQtdGhpcy5fc2hhZG93T2Zmc2V0KyJweCIpLHRoaXMuX3dyYXBwZXIuYXBwZW5kQ2hpbGQodGhpcy5fc2Nyb2xsQmFyV3JhcHBlciksdGhpcy5fc2Nyb2xsQmFyV3JhcHBlci5hcHBlbmRDaGlsZCh0aGlzLl9zY3JvbGxCYXIpLHRoaXMuX29uU2Nyb2xsKCl9aXNUb3VjaCgpe3JldHVybiB0aGlzLl90b3VjaH1nZXRTY3JvbGxCYXIoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsQmFyfWluaXREcmFnZ2FibGUoKXtyZXR1cm4gdGhpcy5fZHJhZ0luaXRpYWxpemVkfHwodGhpcy5fZHJhZ2dhYmxlPW5ldyBsLkRyYWdnYWJsZSh7YXhpczoieSIsCnNvdXJjZTp0aGlzLl9zY3JvbGxCYXIsY29udGFpbm1lbnQ6dGhpcy5fc2Nyb2xsQmFyV3JhcHBlcixzdGFydDooKT0+e3RoaXMuX2RyYWdnaW5nPSEwfSxzdG9wOigpPT57dGhpcy5fZHJhZ2dpbmc9ITF9LGRyYWc6KCk9Pnt0aGlzLnVwZGF0ZVNjcm9sbCgpfX0pLHRoaXMuX2RyYWdJbml0aWFsaXplZD0hMCksdGhpc311cGRhdGVTY3JvbGwoKXtpZih0aGlzLl90b3VjaClyZXR1cm4gdGhpcztjb25zdCBlPU1hdGguY2VpbCgoMCxyLnBvc2l0aW9uKSh0aGlzLl9zY3JvbGxCYXIpLnRvcC10aGlzLl9zY3JvbGxNYXJnaW5Ub3AtdGhpcy5faGVhZGVySGVpZ2h0KSx0PXRoaXMuZ2V0Q29udGFpbmVySGVpZ2h0V2l0aG91dEhlYWRlcigpLG89KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCksaT1vLXQtMTtyZXR1cm4gdDw9MHx8KHRoaXMuX3Njcm9sbFRhcmdldFRvcD1pPD0wP3RoaXMuX2hlYWRlckhlaWdodDpNYXRoLm1pbigtZSpvL3QrdGhpcy5faGVhZGVySGVpZ2h0LHRoaXMuX2hlYWRlckhlaWdodCksZSsoMCxzLmNvbnRlbnRIZWlnaHQpKHRoaXMuX3Njcm9sbEJhcikrMj49dD90aGlzLnNjcm9sbFRvRW5kKCk6KHRoaXMuX2NvbnRlbnQuc3R5bGUudG9wPXRoaXMuX3Njcm9sbFRhcmdldFRvcCsicHgiLHRoaXMuX29uU2Nyb2xsKCkpKSx0aGlzfWdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKXtyZXR1cm4gdGhpcy5fd3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQtdGhpcy5faGVhZGVySGVpZ2h0fWdldENvbnRhaW5lckhlaWdodCgpe3JldHVybiB0aGlzLl93cmFwcGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodH1nZXRDb250ZW50SGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2NvbnRlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0fXVwZGF0ZVNjcm9sbEJhcigpe2lmKHRoaXMuX3RvdWNoKXJldHVybiB0aGlzO2NvbnN0IGU9KDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLHQ9dGhpcy5nZXRDb250ZW50SGVpZ2h0KCksbz10aGlzLmdldENvbnRhaW5lckhlaWdodCgpLGk9dGhpcy5nZXRDb250YWluZXJIZWlnaHRXaXRob3V0SGVhZGVyKCksbj0xK3RoaXMuX2hlYWRlckhlaWdodCxzPWktMixhPShNYXRoLmFicyhlKS10aGlzLl9oZWFkZXJIZWlnaHQpKnMvdCxsPW8qby90O3JldHVybiB0aGlzLmlzQ29udGVudFNob3J0KCk/KHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QuYWRkKCJqcy1oaWRkZW4iKSx0aGlzLl93cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoInNiLXNjcm9sbC1hY3RpdmUiKSk6KHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9zY3JvbGxCYXIuc3R5bGUuaGVpZ2h0PWwrInB4Iix0aGlzLl9zY3JvbGxCYXIuc3R5bGUudG9wPW4rYSsicHgiLHRoaXMuX3dyYXBwZXIuY2xhc3NMaXN0LmFkZCgic2Itc2Nyb2xsLWFjdGl2ZSIpLHRoaXMuaW5pdERyYWdnYWJsZSgpKSx0aGlzfXNjcm9sbChlLHQpe2NvbnN0IG89KDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLGk9KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCktdGhpcy5nZXRDb250YWluZXJIZWlnaHRXaXRob3V0SGVhZGVyKCktMSxuPXR8fHRoaXMuX3Njcm9sbFNwZWVkO3JldHVybiBpPD0wfHwodGhpcy5fc2Nyb2xsVGFyZ2V0VG9wPU1hdGgubWF4KC1pK3RoaXMuX2hlYWRlckhlaWdodCxNYXRoLm1pbih0aGlzLl9oZWFkZXJIZWlnaHQsbytlKm4pKSx0aGlzLnNldENvbnRlbnRUb3AodGhpcy5fc2Nyb2xsVGFyZ2V0VG9wKSx0aGlzLl9vblNjcm9sbCgpKX1hbmltYXRlVG8oZSl7aWYodGhpcy5fdG91Y2gpcmV0dXJuIHRoaXM7Y29uc3QgdD0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KS10aGlzLmdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKS0xO2lmKHQ8PTApcmV0dXJuITA7dGhpcy5fc2Nyb2xsVGFyZ2V0VG9wPU1hdGgubWF4KC10K3RoaXMuX2hlYWRlckhlaWdodCxNYXRoLm1pbih0aGlzLl9oZWFkZXJIZWlnaHQsLWUpKSx0aGlzLl9hbmltYXRpb24mJnRoaXMuX2FuaW1hdGlvbi5zdG9wKCksdGhpcy5fYW5pbWF0aW9uPSgwLGEuZG9BbmltYXRlKSh7ZHVyYXRpb246NTAwLGZyb206cGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRlbnQpLnRvcCksdG86dGhpcy5fc2Nyb2xsVGFyZ2V0VG9wLG9uU3RlcDooZSx0KT0+e3RoaXMuX2NvbnRlbnQuc3R5bGUudG9wPXQrInB4In0sb25Db21wbGV0ZTooKT0+e3RoaXMuX29uU2Nyb2xsKCl9fSl9cmVzaXplKCl7Y29uc3QgZT0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KSx0PSgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX3dyYXBwZXIpOyF0aGlzLl9vcHRpb25zLnZBbGlnbkJvdHRvbSYmZTx0P3RoaXMuYXRTdGFydCgpfHx0aGlzLnNjcm9sbFRvU3RhcnQoKTp0aGlzLmF0RW5kKCk/dGhpcy5zY3JvbGxUb0VuZCgpOiJudW1iZXIiPT10eXBlb2YgdGhpcy5fc3RpY2t5Qm90dG9tJiZ0aGlzLnNldENvbnRlbnRUb3AoTWF0aC5taW4oMCx0aGlzLl9zdGlja3lCb3R0b20rKDAscy5vdXRlckhlaWdodCkodGhpcy5fd3JhcHBlciktKDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCkpKX1yZXNpemVIZWFkZXIoZSl7Y29uc3QgdD1lLXRoaXMuX2hlYWRlckhlaWdodDt0aGlzLl9oZWFkZXJIZWlnaHQ9ZSx0aGlzLl9zY3JvbGxUYXJnZXRUb3ArPXQsdGhpcy5fc2hhZG93VG9wJiYodGhpcy5fc2hhZG93VG9wLnN0eWxlLnRvcD10aGlzLl9oZWFkZXJIZWlnaHQtdGhpcy5fc2hhZG93T2Zmc2V0KyJweCIpLHRoaXMucmVzaXplKCl9c2Nyb2xsVG8oZSx0KXtjb25zdCBvPXtwb3NpdGlvbjoidmlzaWJsZSIsYXJlYUhlaWdodDplIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/KDAscy5jb250ZW50SGVpZ2h0KShlKTowLC4uLnR9O2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmKGU9by5vZmZzZXRUb3B8fCgwLHIucG9zaXRpb24pKGUpLnRvcCk7Y29uc3QgaT0oMCwKci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLG49dGhpcy5fY29udGVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsYT10aGlzLmdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKTtpZihuLWEtMTw9MClyZXR1cm4hMDtjb25zdCBsPS0xKihpLXRoaXMuX2hlYWRlckhlaWdodCksYz1sK2E7bGV0IGQ9MDtpZigidmlzaWJsZSI9PT1vLnBvc2l0aW9uKXtpZihlPmwmJmUrby5hcmVhSGVpZ2h0PGMpcmV0dXJuITE7ZD1lK28uYXJlYUhlaWdodD5jP2MtZS1vLmFyZWFIZWlnaHQ6bC1lfWVsc2UidG9wIj09PW8ucG9zaXRpb24mJihkPWwtZSk7cmV0dXJuIHRoaXMuc2Nyb2xsKGQsMSksdGhpcy5fb25TY3JvbGwoKSwhMX1zY3JvbGxUb0VuZCgpe2NvbnN0IGU9KDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLHQ9KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCksbz0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl93cmFwcGVyKSxpPXQ+bz9lKyhvLSh0K2UpKSsxOjE7cmV0dXJuIHRoaXMuc2V0Q29udGVudFRvcChpKSx0aGlzLl9vblNjcm9sbCgpLHRoaXN9c2Nyb2xsVG9TdGFydCgpe3JldHVybiB0aGlzLnNldENvbnRlbnRUb3AodGhpcy5faGVhZGVySGVpZ2h0KSx0aGlzLl9vblNjcm9sbCgpLHRoaXN9Y3VycmVudFBvc2l0aW9uKCl7cmV0dXJuIE1hdGgucm91bmQoKDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wKX1hdFN0YXJ0KCl7cmV0dXJuIE1hdGgucm91bmQoKDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wKT49dGhpcy5faGVhZGVySGVpZ2h0fWF0RW5kKGUpeyJudW1iZXIiPT10eXBlb2YgZSYmaXNGaW5pdGUoZSl8fChlPTApO2NvbnN0IHQ9TWF0aC5yb3VuZCgoMCxyLnBvc2l0aW9uKSh0aGlzLl9jb250ZW50KS50b3ApLG89TWF0aC5mbG9vcigoMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KSksaT1NYXRoLmZsb29yKCgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX3dyYXBwZXIpKTtyZXR1cm4gby1NYXRoLmFicyh0KS0xPD1pK2V9Y2hlY2tDb250ZW50VmlzaWJpbGl0eSgpe3RoaXMuX29uQ29udGVudFZpc2libGUoKX1zdWJzY3JpYmVUb0NvbnRlbnRWaXNpYmxlKGUsdCxvKXt0aGlzLnZpc2liaWxpdHlDYWxsYmFja3MucHVzaCh7aWQ6ZSxlbGVtZW50OnQsY2FsbGJhY2s6b30pfXRyaWdnZXJWaXNpYmlsaXR5Q2FsbGJhY2tzKGUpe3RoaXMuX29uQ29udGVudFZpc2libGUoZSl9c2F2ZSgpe3JldHVybiB0aGlzLl9zYXZlZD17dG9wOigwLHIucG9zaXRpb24pKHRoaXMuX2NvbnRlbnQpLnRvcCxoZWlnaHQ6KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCl9LHRoaXN9cmVzdG9yZSgpe2lmKHRoaXMuX3NhdmVkKXtpZih0aGlzLl9zYXZlZC50b3A9PT0oMCxyLnBvc2l0aW9uKSh0aGlzLl9jb250ZW50KS50b3AmJnRoaXMuX3NhdmVkLmhlaWdodD09PSgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX2NvbnRlbnQpKXJldHVybiB0aGlzLl9zYXZlZD1udWxsLHRoaXM7dGhpcy5fb3B0aW9ucy52QWxpZ25Cb3R0b20mJih0aGlzLl9zYXZlZC50b3AtPSgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX2NvbnRlbnQpLXRoaXMuX3NhdmVkLmhlaWdodCx0aGlzLl9zYXZlZC50b3A+dGhpcy5faGVhZGVySGVpZ2h0JiYodGhpcy5fc2F2ZWQudG9wPXRoaXMuX2hlYWRlckhlaWdodCkpLHRoaXMuc2V0Q29udGVudFRvcCh0aGlzLl9zYXZlZC50b3ApLHRoaXMuX3NhdmVkPW51bGwsdGhpcy5fb25TY3JvbGwoITApfXJldHVybiB0aGlzfXNldENvbnRlbnRUb3AoZSl7cmV0dXJuIHRoaXMuX3RvdWNoP3RoaXMuX29wdGlvbnMudkFsaWduQm90dG9tJiYoMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KTwoMCxzLm91dGVySGVpZ2h0KSh0aGlzLl93cmFwcGVyKT8odGhpcy5fd3JhcHBlci5zdHlsZS5vdmVyZmxvd1k9InZpc2libGUiLHRoaXMuX2NvbnRlbnQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0aGlzLl9jb250ZW50LnN0eWxlLmJvdHRvbT0iMHB4Iik6KHRoaXMuX2NvbnRlbnQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0aGlzLl9jb250ZW50LnN0eWxlLnBvc2l0aW9uPSJhdXRvIix0aGlzLl93cmFwcGVyLnN0eWxlLm92ZXJmbG93WT0iYXV0byIsdGhpcy5fd3JhcHBlci5zY3JvbGxUb3A9LWUpOnRoaXMuX2NvbnRlbnQuc3R5bGUudG9wPWUrInB4Iix0aGlzfWlzQ29udGVudFNob3J0KCl7cmV0dXJuIHRoaXMuZ2V0Q29udGVudEhlaWdodCgpPD10aGlzLmdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKX1kZXN0cm95KCl7dGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uc3RvcCgpLHRoaXMuX3Njcm9sbEJhcldyYXBwZXImJnRoaXMuX3Njcm9sbEJhcldyYXBwZXIucmVtb3ZlKCksdGhpcy5fc2hhZG93Qm90dG9tJiZ0aGlzLl9zaGFkb3dCb3R0b20ucmVtb3ZlKCksdGhpcy5fc2hhZG93VG9wJiZ0aGlzLl9zaGFkb3dUb3AucmVtb3ZlKCksdGhpcy5fZHJhZ2dhYmxlJiYodGhpcy5fZHJhZ2dhYmxlLmRlc3Ryb3koKSx0aGlzLl9kcmFnZ2FibGU9bnVsbCksdGhpcy5fY29udGVudC5zdHlsZS5jc3NUZXh0PSIiLHRoaXMuX3dyYXBwZXIuc3R5bGUuY3NzVGV4dD0iIix0aGlzLl91bnN1YnNjcmliZT8uKCl9X29uU2Nyb2xsKGUpe3RoaXMuX3RvdWNofHwodGhpcy5fY29udGVudC5zdHlsZS5ib3R0b209ImF1dG8iKSx0aGlzLnNjcm9sbGVkLmZpcmUoKSx0aGlzLl9kcmFnZ2luZyYmITAhPT1lfHx0aGlzLnVwZGF0ZVNjcm9sbEJhcigpO2NvbnN0IHQ9dGhpcy5hdFN0YXJ0KCksbz10aGlzLmF0RW5kKCk7cmV0dXJuIHRoaXMuX3NoYWRvd1RvcCYmdGhpcy5fc2hhZG93VG9wLmNsYXNzTGlzdC50b2dnbGUoImktaW52aXNpYmxlIiwhIXQpLHRoaXMuX3NoYWRvd0JvdHRvbSYmdGhpcy5fc2hhZG93Qm90dG9tLmNsYXNzTGlzdC50b2dnbGUoImktaW52aXNpYmxlIiwhIW8pLHRoaXMuX29uQ29udGVudFZpc2libGUoKSwhdGhpcy5fYXRTdGFydCYmdD8odGhpcy5fYXRTdGFydD0hMCx0aGlzLnNjcm9sbHRvc3RhcnQuZmlyZSgpKTp0aGlzLl9hdFN0YXJ0JiYhdCYmKHRoaXMuX2F0U3RhcnQ9ITEpLAohdGhpcy5fYXRFbmQmJm8/KHRoaXMuX2F0RW5kPSEwLHRoaXMuc2Nyb2xsdG9lbmQuZmlyZSgpKTp0aGlzLl9hdEVuZCYmIW8mJih0aGlzLl9hdEVuZD0hMSksdGhpcy5fb3B0aW9ucy52QWxpZ25Cb3R0b20mJih0aGlzLl9zdGlja3lCb3R0b209KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCktTWF0aC5hYnMoKDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wKS0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl93cmFwcGVyKSksKHRoaXMuX2F0U3RhcnR8fHRoaXMuX2F0RW5kKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmJ1YmJsZVNjcm9sbEV2ZW50P0Jvb2xlYW4odGhpcy5fb3B0aW9ucy5idWJibGVTY3JvbGxFdmVudCgpKTpCb29sZWFuKHRoaXMuX29wdGlvbnMuYnViYmxlU2Nyb2xsRXZlbnQpKX1fY29udGVudElzVmlzaWJsZShlKXtyZXR1cm4oMCxyLnBvc2l0aW9uKShlLmVsZW1lbnQpLnRvcD4tMSp0aGlzLmN1cnJlbnRQb3NpdGlvbigpfV9vbkNvbnRlbnRWaXNpYmxlKGUpe2lmKCF0aGlzLnZpc2liaWxpdHlDYWxsYmFja3MubGVuZ3RoKXJldHVybjtjb25zdCB0PWV8fHRoaXMuX2NvbnRlbnRJc1Zpc2libGUuYmluZCh0aGlzKSxvPVtdLGk9dGhpcy52aXNpYmlsaXR5Q2FsbGJhY2tzLmZpbHRlcigoKGUsaSk9PntpZighdGhpcy5fY29udGVudC5jb250YWlucyhlLmVsZW1lbnQpKXJldHVybiExO2NvbnN0IG49dChlKTtyZXR1cm4gbiYmby5wdXNoKGkpLCFufSkpO28uZm9yRWFjaCgodD0+e3RoaXMudmlzaWJpbGl0eUNhbGxiYWNrc1t0XS5jYWxsYmFjayghIWUpfSkpLHRoaXMudmlzaWJpbGl0eUNhbGxiYWNrcz1pfX19LDcwMTUwNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHthbGxDaGFydFN0eWxlczooKT0+cn0pO3ZhciBpPW8oOTMwMjMxKTtjb25zdCBuPSgwLG8oMzE4OTc0KS5vbldpZGdldCkoKTtmdW5jdGlvbiByKCl7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgZT1bMCwxLDksMTMsMiwxNCwxNSwzLDE2LDEwXTtyZXR1cm4gZS5wdXNoKDEyKSxufHxlLnB1c2goMTcpLG58fGUucHVzaCgxOCksbnx8ZS5wdXNoKDIwKSxufHxlLnB1c2goMTkpLGV9KCkuY29uY2F0KGZ1bmN0aW9uKCl7Y29uc3QgZT1bOF07cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiamFwYW5lc2VfY2hhcnRfc3R5bGVzIikmJihlLnB1c2goNCw3LDUsNiksZS5wdXNoKDExKSksZX0oKSl9fSwzMTQ5MTQoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1vKDg1Mjk4MCksbj1vKDkzMDIzMSk7Y29uc3Qgcj0oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIikscz0oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLGE9KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIik7aS5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cixjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OnMsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOmEsdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuOyFmdW5jdGlvbihlKXtlW2UuT2ZmbGluZT0wXT0iT2ZmbGluZSIsZVtlLlJlc29sdmluZz0xXT0iUmVzb2x2aW5nIixlW2UuTG9hZGluZz0yXT0iTG9hZGluZyIsZVtlLlJlYWR5PTNdPSJSZWFkeSIsZVtlLkludmFsaWRTeW1ib2w9NF09IkludmFsaWRTeW1ib2wiLGVbZS5TbmFwc2hvdD01XT0iU25hcHNob3QiLGVbZS5FT0Q9Nl09IkVPRCIsZVtlLlB1bHNlPTddPSJQdWxzZSIsZVtlLkRlbGF5ZWQ9OF09IkRlbGF5ZWQiLGVbZS5EZWxheWVkU3RlYW1pbmc9OV09IkRlbGF5ZWRTdGVhbWluZyIsZVtlLk5vQmFycz0xMF09Ik5vQmFycyIsZVtlLlJlcGxheT0xMV09IlJlcGxheSIsZVtlLkVycm9yPTEyXT0iRXJyb3IiLGVbZS5DYWxjdWxhdGlvbkVycm9yPTEzXT0iQ2FsY3VsYXRpb25FcnJvciIsZVtlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0xNF09IlVuc3VwcG9ydGVkUmVzb2x1dGlvbiJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk1hcmtlcnM9MF09Ik1hcmtlcnMiLGVbZS5TdGVwbGluZT0xXT0iU3RlcGxpbmUiLGVbZS5TaW1wbGU9Ml09IlNpbXBsZSJ9KG58fChuPXt9KSl9LDEyODk5OChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtjcmVhdGVTZXJpZXNGb3JtYXR0ZXI6KCk9PmgsaXNDbG9zZUJhc2VkU3ltYm9sOigpPT5fLGlzSExDQmFzZWRTdHlsZTooKT0+ZCxpc1JlZ3VsYXJTZXNzaW9uSWQ6KCk9PnUsaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PmN9KTtvKDE4NTI3MSk7dmFyIGk9byg5MzAyMzEpLG49KG8oOTMwNTY2KSxvKDMxODk3NCksbygxNTY4MjkpKSxyPShvKDc5ODM4KSxvKDc1NTYyNykpLHM9byg5ODQzNzYpLGE9bygxMjUyMTgpO28oMzE0OTE0KTsoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpLCgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIik7dmFyIGw7IWZ1bmN0aW9uKGUpe2UuTGFzdFVzZWRTdHlsZUtleT0iY2hhcnQubGFzdFVzZWRTdHlsZSIsZS5MYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZT0iY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiLGUuTGFzdFVzZWRSYXdEYXRhU3R5bGU9ImNoYXJ0LnJhd0RhdGFTdHlsZSIsZS5MYXN0VXNlZE1ldHJpYz0iY2hhcnQubGFzdFVzZWRNZXRyaWMifShsfHwobD17fSkpO2Z1bmN0aW9uIGMoZSl7c3dpdGNoKGUpe2Nhc2UgMzpjYXNlIDEwOmNhc2UgMjpjYXNlIDE0OmNhc2UgMTU6Y2FzZSAxMzpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBkKGUpe3N3aXRjaChlKXtjYXNlIDE2OgpjYXNlIDIxOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGgoZSx0LG89ITEpe2NvbnN0e3ByaWNlU2NhbGU6aSxtaW5Nb3ZlOm4sZnJhY3Rpb25hbDpsLG1pbk1vdmUyOmMsdmFyaWFibGVNaW5UaWNrOmQsbm9FeHBvbmVudGlhbEZvcm06aH09ZnVuY3Rpb24oZSx0PSJkZWZhdWx0IixvPSExKXtsZXQgaSxuLHIscyxhPTEwMCxsPTE7aWYoImRlZmF1bHQiPT09dCludWxsIT1lJiYoKHtwcmljZXNjYWxlOmEsbWlubW92OmwsbWlubW92ZTI6bixmcmFjdGlvbmFsOml9PWUpLHI9ZS52YXJpYWJsZV90aWNrX3NpemV8fHZvaWQgMCk7ZWxzZXtsZXQgZT10LnNwbGl0KCIsIik7MyE9PWUubGVuZ3RoJiYoZT1bIjEwMCIsIjEiLCJmYWxzZSJdKSxhPXBhcnNlSW50KGVbMF0pLGw9cGFyc2VJbnQoZVsxXSksaT0idHJ1ZSI9PT1lWzJdLHM9ITB9cmV0dXJuIG8mJihsPTEpLHtwcmljZVNjYWxlOmEsbWluTW92ZTpsLGZyYWN0aW9uYWw6aSxtaW5Nb3ZlMjpuLHZhcmlhYmxlTWluVGljazpyLGlnbm9yZU1pbk1vdmU6byxub0V4cG9uZW50aWFsRm9ybTpzfX0oZSx0LG8pO2lmKG51bGwhPWUpe2NvbnN0IHI9ZS5mb3JtYXQ7aWYoImRlZmF1bHQiPT09dCYmInZvbHVtZSI9PT1yKXJldHVybiBuZXcgcy5Wb2x1bWVGb3JtYXR0ZXIoe3ByZWNpc2lvbjoyfSk7aWYoInBlcmNlbnQiPT09cilyZXR1cm4gbmV3IGEuUGVyY2VudGFnZUZvcm1hdHRlcih7cHJpY2VTY2FsZTppLG1pbk1vdmU6bixmcmFjdGlvbmFsOmwsbWluTW92ZTI6Yyx2YXJpYWJsZU1pblRpY2s6ZCxpZ25vcmVNaW5Nb3ZlOm99KX1yZXR1cm4gbmV3IHIuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6aSxtaW5Nb3ZlOm4sZnJhY3Rpb25hbDpsLG1pbk1vdmUyOmMsdmFyaWFibGVNaW5UaWNrOmQsaWdub3JlTWluTW92ZTpvLG5vRXhwb25lbnRpYWxGb3JtOmh9KX1mdW5jdGlvbiB1KGUsdCl7d2luZG93O3JldHVyblsic3RvY2siLCJmdW5kIiwiaW5kZXgiLCJkciJdLmluY2x1ZGVzKHQudHlwZSkmJiJyZWd1bGFyIj09PWV8fCgwLG4uaXNGdXR1cmVzKSh0LnR5cGUpJiYidXNfcmVndWxhciI9PT1lfWZ1bmN0aW9uIF8oZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9fSw3Nzc2NjEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c3R1ZHlUcG9QcmVyaW9kaWNJZDooKT0+aSxzdHVkeVRwb1Nlc3Npb25zSWQ6KCk9Pm59KTtjb25zdCBpPSJUUE9QZXJpb2RpY0B0di12b2x1bWVieXByaWNlIixuPSJUUE9TZXNzaW9uc0B0di12b2x1bWVieXByaWNlIn0sNzI4NDM2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3N0dWR5Vm9sRm9vdHByaW50SWQ6KCk9Pml9KTtjb25zdCBpPSJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSJ9LDU1MDM5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzdHVkeVZiUFNlc3Npb25zSWQ6KCk9Pml9KTtjb25zdCBpPSJWYlBTZXNzaW9uc0B0di12b2x1bWVieXByaWNlIn0sNjQxMzA0KGUsdCxvKXsidXNlIHN0cmljdCI7dC5vcGVyYXRvcnM9e2xlc3M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTc3NTA2KSksZWxlc3M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjA0ODA0KSksZ3JlYXRlcjpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5ODY1MDUpKSxlZ3JlYXRlcjpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODc0NzkpKSxjcm9zc2VzOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk1NDgzOSkpLGNyb3NzZXNfYWJvdmU6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTY3NjEzKSksY3Jvc3Nlc19iZWxvdzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NjM2NjYpKSxpbl9yYW5nZTpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjU2NjApKSxub3RfaW5fcmFuZ2U6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTcyNTQzKSksZXF1YWw6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQwMjM5KSksbmVxdWFsOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM0OTg4OSkpfX0sMzgyNzQ1KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe3JldHVybiB3aW5kb3cuaXNfYXV0aGVudGljYXRlZH1vLmQodCx7aXNHbG9iYWxTY3JlZW5lckF2YWlsYWJsZTooKT0+aX0pfSw2ODQ2MTAoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtmdW5jdGlvbiBuKGUpe3JldHVybntzdGFuZGFsb25lOkJvb2xlYW4oZS5zdGFuZGFsb25lKSxvcmlnaW5hbFN0YW5kYWxvbmU6Qm9vbGVhbihlLm9yaWdpbmFsU3RhbmRhbG9uZSksb25XaWRnZXQ6Qm9vbGVhbihlLm9uV2lkZ2V0KX19ZnVuY3Rpb24gcihlKXtjb25zdCB0PW4oZSk7cmV0dXJuIHQuc3RhbmRhbG9uZSYmdC5vcmlnaW5hbFN0YW5kYWxvbmUmJiF0Lm9uV2lkZ2V0fWZ1bmN0aW9uIHMoZSl7Y29uc3QgdD1uKGUpO3JldHVybiB0LnN0YW5kYWxvbmUmJiF0Lm9yaWdpbmFsU3RhbmRhbG9uZSYmIXQub25XaWRnZXR9ZnVuY3Rpb24gYShlKXtjb25zdCB0PW4oZSk7cmV0dXJuIXQuc3RhbmRhbG9uZSYmdC5vcmlnaW5hbFN0YW5kYWxvbmUmJiF0Lm9uV2lkZ2V0fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIG4oZSkub25XaWRnZXR9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gcihlKT8ic2NyZWVuZXIiOnMoZSk/Im1hcmtldCI6YShlKT8iY2hhcnQiOiJ3aWRnZXQifW8uZCh0LHtnZXRTY3JlZW5lclBhZ2U6KCk9PmMsaXNDaGFydFBhZ2U6KCk9PmEsaXNFeHRlcm5hbFdpZGdldDooKT0+bCxpc01hcmtldFBhZ2U6KCk9PnMsaXNTY3JlZW5lclBhZ2U6KCk9PnJ9KSxmdW5jdGlvbihlKXtlLlNjcmVlbmVyPSJzY3JlZW5lciIsZS5NYXJrZXQ9Im1hcmtldCIsZS5DaGFydD0iY2hhcnQiLGUuV2lkZ2V0PSJ3aWRnZXQifShpfHwoaT17fSkpfSw0NTA2NjQoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7by5kKHQse1VzZXJBY3Rpb25TdGF0ZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuQXBwbHlGbGFnZ2VkRmlsdGVyPSJhcHBseV9mbGFnZ2VkX2ZpbHRlciIsZS5DaGFuZ2VDb2x1bW5TZXQ9ImNoYW5nZV9jb2x1bW5zZXQiLGUuQ2hhbmdlQ29sdW1ucz0iY2hhbmdlX2NvbHVtbnMiLGUuQ2hhbmdlRmF2b3JpdGVDb2x1bW5TZXRzPSJjaGFuZ2VfZmF2b3JpdGVfY29sdW1uc2V0cyIsCmUuQ2hhbmdlRmlsdGVyRGlhbG9nVGFiPSJjaGFuZ2VfZmlsdGVyX2RpYWxvZ190YWIiLGUuQ2hhbmdlRmlsdGVyU2V0PSJjaGFuZ2VfZmlsdGVyc2V0IixlLkNoYW5nZUZvcmV4R3JvdXA9ImNoYW5nZV9mb3JleF9ncm91cCIsZS5DaGFuZ2VNYXJrZXQ9ImNoYW5nZV9tYXJrZXQiLGUuQ2hhbmdlTWFya2V0U2VsZWN0aW9uTW9kZT0iY2hhbmdlX21hcmtldF9zZWxlY3Rpb25fbW9kZSIsZS5DaGFuZ2VSZWZyZXNoSW50ZXJ2YWw9ImNoYW5nZV9yZWZyZXNoX2ludGVydmFsIixlLkNoYW5nZVRpbWVmcmFtZT0iY2hhbmdlX3RpbWVmcmFtZSIsZS5Db2x1bW5Nb3ZlPSJjb2x1bW5fbW92ZSIsZS5GaWx0ZXJEaWFsb2dBcHBsaWVkRmlsdGVycz0iZmlsdGVyX2RpYWxvZ19hcHBsaWVkX2ZpbHRlcnMiLGUuRmlsdGVyRGlhbG9nU2VhcmNoSW5wdXRDbGljaz0iZmlsdGVyX2RpYWxvZ19zZWFyY2hfaW5wdXRfY2xpY2siLGUuRmlsdGVyRGlhbG9nU2VhcmNoTm9UZXJtc0ZvdW5kPSJmaWx0ZXJfZGlhbG9nX3NlYXJjaF9ub190ZXJtc19mb3VuZCIsZS5GaWx0ZXJVc2U9ImZpbHRlcl91c2UiLGUuRmxhZ0NsaWNrPSJmbGFnX2NsaWNrIixlLkNvbnRleHRNZW51QWN0aW9uPSJjb250ZXh0X21lbnVfYWN0aW9uIixlLk9wZW5Db250ZXh0TWVudT0ib3Blbl9jb250ZXh0X21lbnUiLGUuT3BlbkZpbHRlcnNEaWFsb2c9Im9wZW5fZmlsdGVyc19kaWFsb2ciLGUuUmVmcmVzaFNjcmVlbmVyRGF0YT0icmVmcmVzaF9zY3JlZW5lcl9kYXRhIixlLlJlbmFtZUN1c3RvbUNvbHVtblNldD0icmVuYW1lX2N1c3RvbV9jb2x1bW5zZXQiLGUuUmVuYW1lQ3VzdG9tRmlsdGVyc2V0PSJyZW5hbWVfY3VzdG9tX2ZpbHRlcnNldCIsZS5Db252ZXJ0Q3VycmVuY3k9ImNvbnZlcnRfY3VycmVuY3kifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuVG9vbGJhcj0idG9vbGJhciIsZS5IZWFkZXI9ImhlYWRlciIsZS5GaWx0ZXJEaWFsb2c9ImZpbHRlcl9kaWFsb2ciLGUuQ29sdW1ucz0iY29sdW1ucyIsZS5Sb3c9InJvdyIsZS5NYXJrZXRzRGlhbG9nPSJtYXJrZXRfZGlhbG9nIixlLlVua25vd249IiJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZS5DbGljaz0iY2xpY2tlZCIsZS5BcHBseUZpbHRlcnM9ImZpbHRlcnNfYXBwbGllZCIsZS5UeXBlPSJ0eXBlZCIsZS5TbGlkZT0ic2xpZGVkIixlLkRyYWc9ImRyYWcifShyfHwocj17fSkpfSw4MTEzMTIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RGlzcGF0Y2hDb250ZXh0TWVudUFjdGlvbkV2ZW50OigpPT5ufSk7dmFyIGk9byg0NTA2NjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMuZXZlbnQ9ImNvbnRleHRfbWVudV9hY3Rpb24iLHRoaXMuc3RhdGU9aS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2ssdGhpcy5zb3VyY2U9ZSx0aGlzLnZhbHVlPW8udG9TdHJpbmcoKSx0aGlzLmxvY2F0aW9uPXR9fX0sNjY3MTMyKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0NoYW5nZU1hcmtldEV2ZW50OigpPT5pLENoYW5nZU1hcmtldFNlbGVjdGlvbk1vZGVFdmVudDooKT0+bn0pO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5ldmVudD0iY2hhbmdlX21hcmtldCIsdGhpcy5zb3VyY2U9Im1hcmtldF9zZWxlY3RvciIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPWV9fWNsYXNzIG57Y29uc3RydWN0b3IoZSl7dGhpcy5ldmVudD0iY2hhbmdlX21hcmtldF9zZWxlY3Rpb25fbW9kZSIsdGhpcy5zb3VyY2U9Im1hcmtldF9zZWxlY3Rpb25fbW9kZV9zd2l0Y2giLHRoaXMubG9jYXRpb249Im1hcmtldF9kaWFsb2ciLHRoaXMuc3RhdGU9IiIsdGhpcy52YWx1ZT1lfX19LDIxMTM2MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRDb2x1bW5TZXROYW1lRm9yU25vd1Bsb3c6KCk9PmMsZ2V0RmlsdGVyU2V0TmFtZUZvclNub3dQbG93OigpPT5kLGdldFNub3dQbG93UmVmcmVzaEludGVydmFsOigpPT5sLGluaXRTY3JlZW5lckluc3RhbmNlOigpPT5zLHNlbmRTbm93UGxvd0RhdGE6KCk9PmF9KTt2YXIgaT1vKDM2MjIzOSksbj1vKDY4NDYxMCk7bGV0IHI7ZnVuY3Rpb24gcyhlKXtyPWV9ZnVuY3Rpb24gYShlKXtsZXQgdD0iIixvPSIiO3ImJih0PSgwLG4uZ2V0U2NyZWVuZXJQYWdlKShyLnNjcmVlbmVyQnJpZGdlKSxvPXIuc2NyZWVuZXJUeXBlKTsoIXJ8fCEoMCxuLmlzRXh0ZXJuYWxXaWRnZXQpKHIuc2NyZWVuZXJCcmlkZ2UpKSYmKDAsaS5nZXRUcmFja2VyKSgpLnRoZW4oKGk9PntpJiZpLnRyYWNrU2NyZWVuZXJIaWdoTGV2ZWwoZSxvLHQpfSkpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIDE9PT1lPyJhdXRvIjotMT09PWU/Im1hbnVhbCI6YCR7ZX1gfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHIuZGVmYXVsdEZpZWxkU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpP2U6ImN1c3RvbSJ9ZnVuY3Rpb24gZChlKXtyZXR1cm4gci5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpP2U6ImN1c3RvbSJ9fSw5NjkxNjgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TFRSU2Nyb2xsTGVmdDooKT0+aS5nZXRMVFJTY3JvbGxMZWZ0LGlzUnRsOigpPT5pLmlzUnRsfSk7byg2MTAyNjgpO3ZhciBpPW8oMTE1MjkzKX0sNjgyNzc5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldERlZmF1bHRTeW1ib2w6KCk9PnJ9KTt2YXIgaT1vKDgzOTQyNik7Y29uc3Qgbj1KU09OLnBhcnNlKCd7ImVuIjoiTkFTREFROkFBUEwiLCJiciI6IkJNRkJPVkVTUEE6SUJPViIsImVzIjoiQk1FOlNBTiIsImZyIjoiVFZDOkNBQzQwIiwiaWQiOiJGWF9JREM6VVNESURSIiwiaW4iOiJOU0U6TklGVFkiLCJpdCI6Ik1JTDpKVVZFIiwiamEiOiJGWDpKUE4yMjUiLCJrciI6IkZYX0lEQzpVU0RLUlciLCJwbCI6IkZYX0lEQzpVU0RQTE4iLCJydSI6IlJVUzpVU0RSVUJfVE9NIiwidHIiOiJGWDpVU0RUUlkiLCJ1ayI6IkxTRTpMQU5EIn0nKSxyPSgwLGkuZGVmYXVsdCkoKGZ1bmN0aW9uKCl7cmV0dXJuIG5bd2luZG93LmxvY2FsZXx8ImVuIl18fCJOQVNEQVE6QUFQTCJ9KSl9LDI0MTkzNyhlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0KXsKY29uc3Qgbz10fHx3aW5kb3cubG9jYWxlfHwiZW4iO2xldCBpPWVbb10/ZVtvXTplLmVuO3JldHVybiBpPSJ0cmFkaW5ndmlldy5jb20iPT09aT8id3d3LnRyYWRpbmd2aWV3LmNvbSI6aSxpP2RvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKyIvLyIraToiIn1vLmQodCx7ZGV0ZXJtaW5lQmFzZVVybDooKT0+aX0pfSw0Mzg1MzkoZSx0LG8peyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKGUpe2NvbnN0e3JlbmRlckdvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nOnR9PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoNTQ5OCksby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMjk1MzYpLG8uZSg1MTg0KSxvLmUoNTYyNTIpLG8uZSgzOTA1KSxvLmUoNzQ4MzApLG8uZSg1MDYyMiksby5lKDMzMjIxKSxvLmUoMTE3MjUpLG8uZSg1MTMwOSksby5lKDExMjU3KSxvLmUoMzIzODcpLG8uZSgxNzk5MSksby5lKDEyOTY1KSxvLmUoNjg3NDEpLG8uZSg4Mzc4MSksby5lKDUyODExKSxvLmUoNTM4ODEpXSkudGhlbihvLmJpbmQobyw0NzU4MDYpKTt0KGUpfW8uZCh0LHtzaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2c6KCk9Pml9KX0sOTk5NjQwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3BheXdhbGxNb2JpbGVJbnRlcmNlcHRvcjooKT0+aX0pO2NvbnN0IGk9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5faGlkZGVuRmVhdHVyZXM9bmV3IFNldCx0aGlzLl9saXN0ZW5lcnM9W10sdGhpcy5oaWRlPWU9Pnt0aGlzLl9oaWRkZW5GZWF0dXJlcy5hZGQoZSl9LHRoaXMuaXNIaWRkZW5GZWF0dXJlPWU9PnRoaXMuX2hpZGRlbkZlYXR1cmVzLmhhcyhlKSx0aGlzLnN1YnNjcmliZT1lPT57dGhpcy5fbGlzdGVuZXJzLnB1c2goZSl9LHRoaXMuaW52b2tlPWU9Pnt0aGlzLl9saXN0ZW5lcnMuZm9yRWFjaCgodD0+dChlKSkpfX19fSw3NzA3NTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7b3BlblBheXdhbGw6KCk9PnN9KTt2YXIgaT1vKDkzMDIzMSksbj1vKDk5OTY0MCkscj1vKDQzODUzOSk7bygzMDAyODYpO2FzeW5jIGZ1bmN0aW9uIHMoZSx0PXt9KXtpZihuLnBheXdhbGxNb2JpbGVJbnRlcmNlcHRvci5pc0hpZGRlbkZlYXR1cmUoZS5mZWF0dXJlKSlyZXR1cm4gdm9pZCBuLnBheXdhbGxNb2JpbGVJbnRlcmNlcHRvci5pbnZva2UoZS5mZWF0dXJlKTtpZigoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJyZWZlcnJhbF9wcm9ncmFtX2Zvcl93aWRnZXRfb3duZXJzIikpcmV0dXJuKDAsci5zaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2cpKHtmZWF0dXJlOmUuZmVhdHVyZX0pO2NvbnN0e3BheXdhbGxzOnN9PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODQ2OTMpLG8uZSg0OTY4NCksby5lKDI5Mjk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDUxODQpLG8uZSgxMTIxOCksby5lKDcyNjY2KSxvLmUoMzI2MzIpLG8uZSg1MDYyMiksby5lKDMzMjIxKSxvLmUoNTkzNTApLG8uZSgzMzIzKSxvLmUoMzgyNjIpLG8uZSg4NzQ3NCksby5lKDMyMzg3KSxvLmUoNzU0ODkpLG8uZSg2ODc0MSksby5lKDcwNTkwKSxvLmUoODYwMDEpXSkudGhlbihvLmJpbmQobyw4MTc4MTYpKTtzLm9wZW4oZSx0KX19LDYyMTkyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtydW5PclNpZ25pbldpdGhGZWF0dXJlOigpPT5ufSk7bygzMDAyODYpO3ZhciBpPW8oMTE3MzEzKTtjb25zdCBuPWFzeW5jKGUsdCxuPXt9KT0+e3tpZih3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gdm9pZCBlKCk7aWYoKDAsaS5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpKXJldHVybiB2b2lkIHdpbmRvdy5ydW5PclNpZ25JbihlLHtzb3VyY2U6dC5zb3VyY2UsZmVhdHVyZTp0LmZlYXR1cmV9KTtjb25zdHtyZWd3YWxsczpyfT1hd2FpdCBQcm9taXNlLmFsbChbby5lKDE3NjYyKSxvLmUoMjkyOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMjk1MzYpLG8uZSg1NjI1Miksby5lKDUwNjIyKSxvLmUoNTkzNTApLG8uZSgzMzIzKSxvLmUoNTgzODQpLG8uZSgzMjM4Nyksby5lKDcwNTkwKSxvLmUoMjI4NCldKS50aGVuKG8uYmluZChvLDIxNDY3KSk7ci5vcGVuKHsuLi50LG9uU2lnbmluU3VjY2VzczplfSxuKX19fSwzMzczNjIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RW1iZWRWaWV3cG9ydERpbWVuc2lvbnNQcm92aWRlcjooKT0+bn0pO3ZhciBpPW8oOTMwMjMxKTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fZGF0YT1udWxsLHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1udWxsfXN0YXJ0TGlzdGVuaW5nKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyfHwodGhpcy5fbWVzc2FnZVJlY2VpdmVyPWU9PntpZihlLmRhdGEpdHJ5e2NvbnN0IHQ9SlNPTi5wYXJzZShlLmRhdGEpOyJzZXQtZW1iZWQtcmVzaXplci1vdmVycmlkZXMiPT09dC5ldmVudCYmKHRoaXMuX2RhdGE9dC5lZGdlcyl9Y2F0Y2h7fX0sdGhpcy5fYWRkTWVzc2FnZUxpc3RlbmVyKCkpfWRlc3Ryb3koKXt0aGlzLl9yZW1vdmVNZXNzYWdlTGlzdGVuZXIoKX1kYXRhKCl7cmV0dXJuIHRoaXMuX2RhdGF9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlfHwodGhpcy5faW5zdGFuY2U9bmV3IG4pLHRoaXMuX2luc3RhbmNlfV9hZGRNZXNzYWdlTGlzdGVuZXIoKXt0aGlzLl9tZXNzYWdlUmVjZWl2ZXImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9tZXNzYWdlUmVjZWl2ZXIpfV9yZW1vdmVNZXNzYWdlTGlzdGVuZXIoKXt0aGlzLl9tZXNzYWdlUmVjZWl2ZXImJndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9tZXNzYWdlUmVjZWl2ZXIpLHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1udWxsfX0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpJiZuLmdldEluc3RhbmNlKCkuc3RhcnRMaXN0ZW5pbmcoKX0sOTExMzI3KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldFN5bWJvbFBhZ2VQYXRoOigpPT5kLG1ha2VTeW1ib2xDaGFydFVybDooKT0+ZixtYWtlU3ltYm9sUGFnZVVybDooKT0+diwKbWFrZVRlbXBsYXRlU3ltYm9sVXJsOigpPT5tfSk7byg5NjM5MDApO3ZhciBpPW8oMzA5ODM2KSxuPW8oMjQxOTM3KSxyPW8oNzMwNjQ1KSxzPW8oODUxNDU4KSxhPW8oMTU2ODI5KTtjb25zdCBsPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9ey4uLmV9O2lmKCJzcHJlYWQiPT09dC50eXBlfHwiZXhwcmVzc2lvbiI9PT10LnR5cGUpe2NvbnN0IGU9dC5zaG9ydE5hbWUmJmgodC5zaG9ydE5hbWUpLG89dC5wcm9OYW1lJiZoKHQucHJvTmFtZSk7dC50eXBlPXZvaWQgMCx0LnNob3J0TmFtZT1lLHQucHJvTmFtZT1vfXJldHVybiB0fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBvPWMoZSk7cmV0dXJuIF8ocChvLHQpLHUobykpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuKDAscy50b2tlbml6ZSkoZSkuZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gdShlKXtjb25zdCB0PXtzaG9ydE5hbWU6ZS5zaG9ydE5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSxwcm9OYW1lOmUucHJvTmFtZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3Mscm9vdDplLnJvb3R9O3JldHVybiB0LnByb05hbWUmJnQucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW3QuZXhjaGFuZ2UsdC5zaG9ydE5hbWVdPXQucHJvTmFtZS5zcGxpdCgiOiIpKSx0fWZ1bmN0aW9uIF8oZSx0KXtjb25zdCBvPWVuY29kZVVSSUNvbXBvbmVudCh0LnNob3J0TmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KHQuZXhjaGFuZ2V8fCIiKSxuPWVuY29kZVVSSUNvbXBvbmVudCh0LnByb05hbWV8fCIiKSxyPWVuY29kZVVSSUNvbXBvbmVudCh0LnJvb3R8fCIiKTtyZXR1cm4gZS5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLGkpLnJlcGxhY2UoInt0dnN5bWJvbH0iLG8pLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLG4pLnJlcGxhY2UoInt0dnJvb3R9IixyKX1mdW5jdGlvbiBwKGUsdD0iIil7Y29uc3Qgbz11KGUpLHt0eXBlOmksdHlwZXNwZWNzOm4sc2hvcnROYW1lOnIscHJvTmFtZTpzLGV4Y2hhbmdlOmMscm9vdDpkfT1vO3JldHVybiB2b2lkIDA9PT1yJiZ2b2lkIDA9PT1zPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOnMmJmwuaGFzKHMpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOml8fG4/ImNvbW1vZGl0eSI9PT1pJiZuJiZuLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohZHx8IW58fCJmdXR1cmVzIiE9PWl8fG4uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmcj8uZW5kc1dpdGgoIjEhIil8fG4uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9jJiYoImZvcmV4Ij09PWl8fG4mJigwLGEuaGFzQ3J5cHRvVHlwZXNwZWMpKG4pKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH1mdW5jdGlvbiBtKGUsdCl7bGV0IG89ZTtpZighL3t0dnN5bWJvbH18e3R2ZXhjaGFuZ2V9fHt0dnByb3N5bWJvbH0vLnRlc3QoZSkpe2xldCBpPSJ0dnByb3N5bWJvbCI7dm9pZCAwPT09dC5wcm9OYW1lJiYoaT0idHZzeW1ib2wiKSxvPWAke2V9P3R2d2lkZ2V0c3ltYm9sPXske2l9fWB9Y29uc3QgaT1fKG8sdShjKHQpKSk7aWYoISgwLHIuaXNTYWZlVXJsKShpKSl0aHJvdyBuZXcgRXJyb3IoYFRoZSBzeW1ib2wgVVJMICR7aX0gaXMgbm90IGFsbG93ZWQuYCk7cmV0dXJuIGl9ZnVuY3Rpb24gZyhlLHQsbyxyKXtjb25zdCBzPSh3aW5kb3cubG9jYWxlX2RvbWFpbnM/KDAsbi5kZXRlcm1pbmVCYXNlVXJsKSh3aW5kb3cubG9jYWxlX2RvbWFpbnMscik6d2luZG93LmxvY2F0aW9uLm9yaWdpbikrXyhlLHUoYyh0KSkpO3JldHVybiBvPygwLGkuYWRkVXRtVG9VcmwpKHMsbyk6c31mdW5jdGlvbiB2KGUsdCxvLGkpe2NvbnN0IG49YyhlKTtyZXR1cm4gZyhwKG4saSksbix0LG8pfWZ1bmN0aW9uIGYoZSx0KXtyZXR1cm4gZygiL2NoYXJ0Lz9zeW1ib2w9e3R2cHJvc3ltYm9sfSIsZSx0KX19LDQ4MjUwNChlLHQsbyl7Y29uc3QgaT1vKDE5OTgyNyk7ZS5leHBvcnRzPWksaShkb2N1bWVudCkuYWpheFNlbmQoKChlLHQsbyk9PntvLmNyb3NzRG9tYWluJiYhby5mb3JjZUxhbmd1YWdlSGVhZGVyfHwod2luZG93LmxvY2FsZT90LnNldFJlcXVlc3RIZWFkZXIoIlgtTGFuZ3VhZ2UiLHdpbmRvdy5sb2NhbGUpOmNvbnNvbGUud2Fybigid2luZG93LmxvY2FsZSBpcyBub3QgZGVmaW5lZCIpKX0pKX0sNzc4OTQ2KGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIGk7by5kKHQse2dldFBsYXRmb3JtOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5EZXNrdG9wPSJkZXNrdG9wIixlLldlYj0id2ViIixlLklPUz0iaW9zIixlLkFuZHJvaWQ9ImFuZHJvaWQifShpfHwoaT17fSkpO3ZhciBuPW8oMTE3MzEzKSxyPW8oMzE4OTc0KTtmdW5jdGlvbiBzKCl7cmV0dXJuKDAsci5pc0Rlc2t0b3BBcHApKCk/ImRlc2t0b3AiOigwLG4uaXNPbk1vYmlsZUFwcFBhZ2UpKCJvbGQiKT8iaW9zIjooMCxuLmlzT25Nb2JpbGVBcHBQYWdlKSgibmV3Iik/ImFuZHJvaWQiOiJ3ZWIifX0sNTI0MDY5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldFByb1BsYW5EZXRhaWxzRm9yVXNlcjooKT0+YSxnZXRQcm9QbGFuV2VpZ2h0OigpPT5zfSk7byg0NzkzNCk7dmFyIGk9bygyMTIyMjkpLG49bygzODQwMTcpLHI9bygyMjI0MjMpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHdpbmRvdy5wcm8/ImZyZWUiPT09ZT8tMTp3aW5kb3cucHJvLmdldFByb2R1Y3QoKDAsaS5nZXRQcm9kdWN0Rm9yVHJpYWwpKGUpKS51cGdyYWRlX3dlaWdodDowfWFzeW5jIGZ1bmN0aW9uIGEoKXtjb25zdCBlPWF3YWl0KDAsbi5mZXRjaCkoIi9wcm8tcGxhbnMvcHJvZmlsZS8iKSx0PWF3YWl0IGUuanNvbigpCjtpZihlLm9rKXJldHVybiB0O2lmKDQwMz09PWUuc3RhdHVzKXtjb25zdCBvPXQ7dGhyb3cgbmV3IHIuQXBpRXJyb3Ioby5kZXRhaWwsZS5zdGF0dXMsby5jb2RlKX10aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBoYW5kbGUgdW5leHBlY3RlZCByZXNwb25zZTogJHtTdHJpbmcoZS50ZXh0KCkpfWApfX0sNTI4Mzk2KGUsdCxvKXsidXNlIHN0cmljdCI7by5yKHQpLG8uZCh0LHtnZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb246KCk9PnJ9KTt2YXIgaT1vKDE4NTI3MSk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWAjJHtlfS1zeW1ib2wtZGVzY3JpcHRpb25gLG49aS50KHQsdm9pZCAwLG8oMjU4NjY3KSk7cmV0dXJuIG49PT10P251bGw6bn1mdW5jdGlvbiByKGUpe2lmKHZvaWQgMCE9PWUucHJvX25hbWUpe2NvbnN0IHQ9bihlLnByb19uYW1lKTtpZihudWxsIT09dClyZXR1cm4gdDtpZih2b2lkIDAhPT1lLnNob3J0X25hbWUpe2NvbnN0IHQ9bihlLnNob3J0X25hbWUpO2lmKG51bGwhPT10KXJldHVybiB0fX1yZXR1cm4iZW4iIT09ZS5sYW5ndWFnZSYmdm9pZCAwIT09ZS5sb2NhbF9kZXNjcmlwdGlvbiYmZS5sYW5ndWFnZT09PXdpbmRvdy5sYW5ndWFnZXx8ImVuIj09PWUubGFuZ3VhZ2UmJnZvaWQgMCE9PWUubG9jYWxfZGVzY3JpcHRpb24mJmUubGFuZ3VhZ2U9PT13aW5kb3cubGFuZ3VhZ2U/ZS5sb2NhbF9kZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9ufHwiIn19LDczMDY0NShlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD1uZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSk7cmV0dXJuIGEodCkmJnModCkmJnIodCl9ZnVuY3Rpb24gbihlKXtjb25zdCB0PW5ldyBVUkwoZSxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm4gcyh0KSYmcih0KX1vLmQodCx7aXNJbnRlcm5hbEhvc3Q6KCk9PmwsaXNJbnRlcm5hbFVybDooKT0+aSxpc1NhZmVVcmw6KCk9Pm4saXNUdkxpbms6KCk9PmN9KTtjb25zdCByPWU9PiFlLnVzZXJuYW1lLHM9ZT0+Imh0dHA6Ij09PWUucHJvdG9jb2x8fCJodHRwczoiPT09ZS5wcm90b2NvbCxhPWU9PmUuaG9zdG5hbWU9PT1sb2NhdGlvbi5ob3N0bmFtZXx8IS9eXGQrXC5cZCtcLlxkK1wuXGQrJC8udGVzdChlLmhvc3RuYW1lKSYmbChlLmhvc3RuYW1lKTtmdW5jdGlvbiBsKGUsdD13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpe2NvbnN0IG89Ii4iPT09dC5zbGljZSgtMSk/MzoyLGk9dC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLW8pLG49ZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLWkubGVuZ3RoKTtyZXR1cm4gaS5qb2luKCIuIik9PT1uLmpvaW4oIi4iKX1mdW5jdGlvbiBjKGUpe3RyeXtyZXR1cm4gZS5zdGFydHNXaXRoKCIvIil8fGwobmV3IFVSTChlKS5ob3N0bmFtZSwidHJhZGluZ3ZpZXcuY29tIil9Y2F0Y2h7cmV0dXJuITF9fX0sMzA1NDY2KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtsZXQgdCxvO3JldHVybiBlLmluY2x1ZGVzKCI6Iik/KG89ZS5zcGxpdCgiOiIpWzFdLHQ9ZSk6bz1lLHtwcm9OYW1lOnQsc2hvcnROYW1lOm99fW8uZCh0LHtnZXRTaG9ydE5hbWVBbmRQcm9OYW1lOigpPT5pfSl9LDU3NjEwMyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgNUg2LjVDNS42NyA1IDUgNS42NyA1IDYuNXYxNWMwIC44My42NyAxLjUgMS41IDEuNWgxNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTZoMXY1LjVhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNUEyLjUgMi41IDAgMCAxIDQgMjEuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgNEgxNXYxWm03LjQxLS4zYTIgMiAwIDAgMC0yLjgyIDBsLS45NC45NS03LjUgNy41LTEgMS0uMTUuMTRWMTloNC43bC4xNS0uMTUgMS0xIDcuNS03LjUuOTQtLjk0YTIgMiAwIDAgMCAwLTIuODJMMjIuNDEgNC43Wm0tMi4xMi43MWExIDEgMCAwIDEgMS40MiAwbDEuODggMS44OGExIDEgMCAwIDEgMCAxLjQybC0uNTkuNTgtMS42NS0xLjY0TDE5LjcxIDZsLjU4LS41OVptLjM2IDIuOTRMMjIuMjkgMTBsLTYuNzkgNi44LTEuNjUtMS42NS0xLjY0LTEuNjVMMTkgNi43bDEuNjUgMS42NVptLTcuNSA3LjUgMS42NCAxLjY1LS41LjVIMTF2LTMuM2wuNS0uNSAxLjY1IDEuNjVaIi8+PC9zdmc+J30sNzU2Mjg4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMyAxM2gtMVY0SDZ2MTkuNDc2TDE0IDIwbDMuMDA4IDEuMzA3LS40Mi45MDdMMTQgMjEuMDkgNSAyNVYzaDE4em0wIDZoNHYxaC00djRoLTF2LTRoLTR2LTFoNHYtNGgxem0tNi0zSDl2LTFoOHptMi00SDl2LTFoMTB6bTAtNC4wMDVIOXYtMWgxMHoiLz48L3N2Zz4nfSw1ODA1OTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOCA1bDMuNSAzLjVMOCAxMiIvPjwvc3ZnPid9LDYyNjIxOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjIgMTUiIHdpZHRoPSIyMiIgaGVpZ2h0PSIxNSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZT0iIzc1NzU3NSIgZD0iTTYuMjUgNS44MTJMMTEgMTAuMDg3bDQuNzUtNC4yNzVNMTEgOS44NjhWLjMxNSIvPjxwYXRoIHN0cm9rZT0iI0FEQUVCMCIgZD0iTTIxIDEwdjRIMXYtNCIvPjwvZz48L3N2Zz4nfSw4OTk3MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04IC03KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTcgMTFjMS4zOCAwIDIuNjMuNTYgMy41NCAxLjQ2TDE4IDE1aDZWOWwtMi4wNSAyLjA1QTYuOTc2IDYuOTc2IDAgMCAwIDE3IDljLTMuNTMgMC02LjQzIDIuNjEtNi45MiA2aDIuMDJhNSA1IDAgMCAxIDQuOS00em02LjkyIDZIMjEuOWE1IDUgMCAwIDEtNC45IDRjLTEuMzggMC0yLjYzLS41Ni0zLjU0LTEuNDZMMTYgMTdoLTZ2NmwyLjA1LTIuMDVBNi45NzYgNi45NzYgMCAwIDAgMTcgMjNjMS41NSAwIDIuOTgtLjUxIDQuMTQtMS4zNmwxLjUtMS41QTYuODkgNi44OSAwIDAgMCAyMy45MiAxN3oiLz48L2c+PC9zdmc+J30sNzY1Njk1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMy41IDZhOC41IDguNSAwIDEgMCAwIDE3IDguNSA4LjUgMCAwIDAgMC0xN3pNNCAxNC41YTkuNSA5LjUgMCAxIDEgMTkgMCA5LjUgOS41IDAgMCAxLTE5IDB6Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxNGg0di00aDF2NGg0djFoLTR2NGgtMXYtNEg5di0xeiIvPjwvc3ZnPid9LDgxNTY4MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIyOTkgMTMxIDEyIDciIHdpZHRoPSIxMiIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMzAwIDEzMmw1IDUgNS01Ii8+PC9zdmc+J30sODAxMzI3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0Ij48cGF0aCBkPSJNMTAuODkzIDkuNTEybC40NTggMy42MjRjLjAxNC4xMDUtLjAwNi4xNi0uMDIuMTc2LS4wMjguMDMtLjEwOS4wMDUtLjE4Mi0uMDNMNy44MTIgMTEuNzNhMS45NzMgMS45NzMgMCAwIDAtLjgxMS0uMTZjLS4zMDIgMC0uNTkuMDU3LS44MS4xNmwtMy4zMzggMS41NTJjLS4xMTguMDU2LS4xNjQuMDUxLS4xODIuMDMtLjAxNC0uMDE2LS4wMzQtLjA3LS4wMi0uMTc4TDMuMTEgOS41MWMuMDYtLjUwMy0uMTYyLTEuMTgtLjUwNS0xLjU0TC4wODcgNS4zMDJjLS4wODUtLjA5MS0uMDktLjE0OC0uMDg2LS4xNTguMDAzLS4wMS4wNC0uMDUzLjE2LS4wNzdsMy42MjEtLjY4OWMuNDkxLS4wOSAxLjA2OS0uNTA2IDEuMzE1LS45NDhMNy4wMDQgMGwxLjkwMiAzLjQzYy4yNDYuNDQyLjgyNC44NTkgMS4zMTIuOTQ3bDMuNjE3LjY5Yy4xMjMuMDI0LjE2Mi4wNjguMTY0LjA3Ny4wMDMuMDEtLjAwMy4wNjYtLjA4OS4xNTdMMTEuNCA3Ljk3Yy0uMzQ4LjM2Ny0uNTcgMS4wNDUtLjUwNiAxLjU0M3oiLz48L3N2Zz4nfSw0MjcwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTQgMTQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCI+PHBhdGggZD0iTTkuOTAxIDkuNjM5Yy0uMTAyLS43OTcuMjE4LTEuNzc1Ljc3LTIuMzU2bDEuNDM4LTEuNTI3LTIuMDctLjM5NWMtLjc4NC0uMTQyLTEuNjE1LS43NDItMi4wMDgtMS40NDZMNy4wMDMgMi4wNiA1Ljk3IDMuOTE3Yy0uMzkxLjcwMi0xLjIyMiAxLjMwMS0yIDEuNDQzbC0yLjA4LjM5NiAxLjQ0IDEuNTI2Yy41NDcuNTc3Ljg2NiAxLjU0OS43NyAyLjM1M2wtLjI2MiAyLjA4NiAxLjkzLS44OTdhMi45NSAyLjk1IDAgMCAxIDEuMjMzLS4yNTRjLjQ0IDAgLjg3LjA4NSAxLjIzMy4yNTRsMS45My44OTctLjI2My0yLjA4MnptLjk5Mi0uMTI3bC40NTggMy42MjRjLjAxNC4xMDUtLjAwNi4xNi0uMDIuMTc2LS4wMjguMDMtLjEwOS4wMDUtLjE4Mi0uMDNMNy44MTIgMTEuNzNhMS45NzMgMS45NzMgMCAwIDAtLjgxMS0uMTZjLS4zMDIgMC0uNTkuMDU3LS44MS4xNmwtMy4zMzggMS41NTJjLS4xMTguMDU2LS4xNjQuMDUxLS4xODIuMDMtLjAxNC0uMDE2LS4wMzQtLjA3LS4wMi0uMTc4TDMuMTEgOS41MWMuMDYtLjUwMy0uMTYyLTEuMTgtLjUwNS0xLjU0TC4wODcgNS4zMDJjLS4wODUtLjA5MS0uMDktLjE0OC0uMDg2LS4xNTguMDAzLS4wMS4wNC0uMDUzLjE2LS4wNzdsMy42MjEtLjY4OWMuNDkxLS4wOSAxLjA2OS0uNTA2IDEuMzE1LS45NDhMNy4wMDQgMGwxLjkwMiAzLjQzYy4yNDYuNDQyLjgyNC44NTkgMS4zMTIuOTQ3bDMuNjE3LjY5Yy4xMjMuMDI0LjE2Mi4wNjguMTY0LjA3Ny4wMDMuMDEtLjAwMy4wNjYtLjA4OS4xNTdMMTEuNCA3Ljk3Yy0uMzQ4LjM2Ny0uNTcgMS4wNDUtLjUwNiAxLjU0M3oiLz48L3N2Zz4nfSw4MTkyOTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTkuNSA4LjVjMS4xMDUgMCAyLS4zOTUgMi0xLjVzLS44OTUtMS41LTItMS41aC0zdjNoM3ptLjUgNGMxLjM4IDAgMi41LS42MiAyLjUtMnMtMS4xMi0yLTIuNS0ySDYuNXY0SDEweiIvPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik05LjUgMy41VjVtMCA4djEuNW0tMi0xLjV2MS41bS0yLTJINm0tLjUtN0g2bTEuNS0yVjUiLz48Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iOC41Ii8+PC9nPjwvc3ZnPid9LDQ4ODg3NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTEgOSIgd2lkdGg9IjExcHgiIGhlaWdodD0iOXB4Ij48cGF0aCBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEgMy4yMmwzLjQxNSAzLjQ5NkwxMCAxIi8+PC9zdmc+J30sOTg3MDc2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNiA5IiB3aWR0aD0iNiIgaGVpZ2h0PSI5Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTEgMWwzLjUgMy41TDEgOCIvPjwvc3ZnPid9LDI0OTQ4OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxwYXRoIGQ9Ik0wIDQ2bDM1LTM1IDE0IDE0LTM1IDM1SDB6TTM5IDdsNi02YzUtNSAxOSA5IDE0IDE0bC02IDZ6Ii8+PC9zdmc+J30sNTY3MjQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9ImN1cnJlbnRDb2xvciI+PGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjguNSIvPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik01LjUgMTMuNXYtOWg0bS0yIDRINm0zLjUgMWwzIDRtMC00bC0zIDQiLz48L2c+PC9zdmc+J30sOTIxNzA4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTIuNSAxNC41YzEuNjgtMS4yNiAzLjctMiA2LjUtMnM0LjkxLjc0IDYuNSAybS0xMy0xMWMxLjY4IDEuMjYgMy43IDIgNi41IDJzNC45MS0uNzQgNi41LTIiLz48Y2lyY2xlIHN0cm9rZT0iY3VycmVudENvbG9yIiBjeD0iOSIgY3k9IjkiIHI9IjguNSIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTMuNSA5YzAgMi40Mi0uNTUgNC41OC0xLjQgNi4xMi0uODcgMS41Ni0xLjk4IDIuMzgtMy4xIDIuMzhzLTIuMjMtLjgyLTMuMS0yLjM4Yy0uODUtMS41NC0xLjQtMy43LTEuNC02LjEycy41NS00LjU4IDEuNC02LjEyQzYuNzcgMS4zMiA3Ljg4LjUgOSAuNXMyLjIzLjgyIDMuMSAyLjM4Yy44NSAxLjU0IDEuNCAzLjcgMS40IDYuMTJ6Ii8+PC9zdmc+J30sMjA3NzQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxMiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjEyIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzlEQjJCRCI+PHBhdGggZD0iTTEgMGwxMiAxMk0xMyAwTDEgMTIiLz48L2c+PC9zdmc+J30sNjA4MDY1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAyMiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjIyIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUgMXY5LjEzYTQgNCAwIDAgMSAwIDcuNzVWMjFhMSAxIDAgMSAxLTIgMHYtMy0uMTJhNCA0IDAgMCAxIDAtNy43NVYxYTEgMSAwIDAgMSAyIDB6TTIgMTRhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwem0xMi05Ljg4VjFhMSAxIDAgMSAxIDIgMHYzLjEyYTQgNCAwIDAgMSAwIDcuNzVWMjFhMSAxIDAgMSAxLTIgMHYtOS4xM2E0IDQgMCAwIDEgMC03Ljc1ek0xNSAxMGEyIDIgMCAxIDAgMC00IDIgMiAwIDAgMCAwIDR6Ii8+PC9zdmc+J30sNjkzMjM2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48cGF0aCBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTguMzYgMy42MDhhNi4wMDIgNi4wMDIgMCAxIDAgMi43NTUgMTEuNjcyIDYuMDEgNi4wMSAwIDAgMCA0LjI3Ny00LjY0IDUgNSAwIDEgMS03LjAzLTcuMDN6Ii8+PC9zdmc+J30sMTQwODk1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCI+PHBhdGggZmlsbD0iI0IyQjVCRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMjMgMzlhMzYgMzYgMCAwIDEgNzIgMHYxMy4xNWwxNS4xIDguNDQgMi4xNiAxLjItMS42NCAxLjg2LTEyLjg1IDE0LjU5IDMuNzMgNC4wM0w5OC41NyA4NSA5NSA4MS4xM1YxMTdINzd2LTEySDY3djlINTBWOTVINDB2MjJIMjNWODEuMjhsLTMuOCAzLjYxLTIuNzYtMi45IDQuMDUtMy44NC0xMi43Ny0xNC41LTEuNjQtMS44NiAyLjE2LTEuMkwyMyA1Mi4zNFYzOVptNzIgMzYuMzMgMTAuOTgtMTIuNDZMOTUgNTYuNzN2MTguNlpNMjMgNTYuOTJ2MTguMDNMMTIuMzUgNjIuODcgMjMgNTYuOTJaTTU5IDdhMzIgMzIgMCAwIDAtMzIgMzJ2NzRoOVY5MWgxOHYxOWg5di05aDE4djEyaDEwVjM5QTMyIDMyIDAgMCAwIDU5IDdabS03IDM2YTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFptMTkgM2EzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZaIi8+PC9zdmc+J30sNDg3NzUwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxMjAiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIzIDM5YTM2IDM2IDAgMCAxIDcyIDB2MTMuMTVsMTUuMSA4LjQ0IDIuMTYgMS4yLTEuNjQgMS44Ni0xMi44NSAxNC41OSAzLjczIDQuMDNMOTguNTcgODUgOTUgODEuMTNWMTE3SDc3di0xMkg2N3Y5SDUwVjk1SDQwdjIySDIzVjgxLjI4bC0zLjggMy42MS0yLjc2LTIuOSA0LjA1LTMuODQtMTIuNzctMTQuNS0xLjY0LTEuODYgMi4xNi0xLjJMMjMgNTIuMzRWMzlabTcyIDM2LjMzIDEwLjk4LTEyLjQ2TDk1IDU2LjczdjE4LjZaTTIzIDU2LjkydjE4LjAzTDEyLjM1IDYyLjg3IDIzIDU2LjkyWk01OSA3YTMyIDMyIDAgMCAwLTMyIDMydjc0aDlWOTFoMTh2MTloOXYtOWgxOHYxMmgxMFYzOUEzMiAzMiAwIDAgMCA1OSA3Wm0tNyAzNmEzIDMgMCAxIDEtNiAwIDMgMyAwIDAgMSA2IDBabTE5IDNhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvc3ZnPid9LDI2MTE3OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSI+PGNpcmNsZSBjeD0iNiIgY3k9IjYiIHI9IjYiLz48cGF0aCBkPSJNMTAgMTBsNCA0Ii8+PC9nPjwvc3ZnPid9LDE0NzA3OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZD0iTTMuMDYgNi4yOTVDMi4zNyA3LjM5NyAyIDguNjcgMiAxMGMwIDMuODY2IDMuMTM0IDcgNyA3czctMy4xMzQgNy03LTMuMTM0LTctNy03VjJjNC40MTggMCA4IDMuNTgyIDggOHMtMy41ODIgOC04IDgtOC0zLjU4Mi04LThjMC0xLjU1Ni40NDQtMy4wMDcgMS4yMTItNC4yMzZsLjg0OC41M3ptMCAwQzIuMzcgNy4zOTcgMiA4LjY3IDIgMTBjMCAzLjg2NiAzLjEzNCA3IDcgN3M3LTMuMTM0IDctNy0zLjEzNC03LTctN1YyYzQuNDE4IDAgOCAzLjU4MiA4IDhzLTMuNTgyIDgtOCA4LTgtMy41ODItOC04YzAtMS41NTYuNDQ0LTMuMDA3IDEuMjEyLTQuMjM2bC44NDguNTN6TTYgMi41TDkgMHY1TDYgMi41eiIvPjwvc3ZnPid9LDc2OTkzOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTMuNSAxMC41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTQuNSA4LjV2Mm0wIDV2MiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDhoM3Y2aC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTUuNSA2LjV2OW0tNy0xMWg0bS0yLTJ2NCIvPjwvZz48L3N2Zz4nfSw0OTUzOTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNC41IDQuNWgydjZoLTJ6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNS41IDIuNXYybTAgNnYyIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMyA0aDN2NkgzeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNC41IDIuNXY5bTQgNGg0bS0yLTJ2NCIvPjwvZz48L3N2Zz4nfSwyODc4MzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxwYXRoIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDEwLjV2N20tMS03aDJtLTUgMXYtNG0tMyAydi00bS0zIDJ2LTQiLz48L3N2Zz4nfSwyMzE3NzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxwYXRoIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDIuNXY3bS0xIDBoMm0tNSAydi00bS0zIDd2LTRtLTMgNnYtNCIvPjwvc3ZnPid9LDY4MzM4MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PHBhdGggZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEwLjUgNi41djdtLTItNGg0Ii8+PC9zdmc+J30sNjQ0OTA1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNSA0aDN2MTJoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNi41IDE3LjV2LTE1Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMC41IDcuNWgydjRoLTJ6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDUuNXYybTAgNHYybS00IDJ2LTRtLTMgNXYtNG0tMyA1di00Ii8+PC9nPjwvc3ZnPid9LDYzNTI3MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDhoM3Y2SDl6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMC41IDYuNXY5Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNC41IDQuNWgydjExaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTUuNSAyLjV2Mm0tOSA0di00bS0zIDN2LTRtMTIgMTJ2MiIvPjwvZz48L3N2Zz4nfSwzODY3MjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik02LjUgNi41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTcuNSA0LjV2Mm0wIDV2MiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE2IDVoM3Y2aC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTcuNSAzLjV2OSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDNoM3YyaC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTIuNSAyLjV2M20tOCAxMXYtNG0tMiA2di00Ii8+PC9nPjwvc3ZnPid9LDEyMzcyOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTExLjUgOS41djhtLTQtOHYtNG04IDR2LTRtLTExIDJ2LTQiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMCA5aDN2NGgtM3oiLz48L2c+PC9zdmc+J30sNzI1NjAyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSA0LjV2MTBtLTQtM3YtNG0tMyA3di00Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTAgNGgzdjNoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNS41IDExLjV2LTQiLz48L2c+PC9zdmc+J30sMTI5Nzk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTAuNSA1LjVoMnY3aC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSAzLjV2Mm0wIDd2MiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDVoM3YzaC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTYuNSAzLjV2Ni4wN20tOSAzLjkzdi00bS0zIDZ2LTRtLTMgNnYtNCIvPjwvZz48L3N2Zz4nfSwyMTcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTAgN2gzdjhoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDUuNXYxMSIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTUuNSA3LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTYuNSA1LjV2Mm0wIDN2Mm0tOS0ydi00bS0zIDJ2LTRtLTMgMnYtNCIvPjwvZz48L3N2Zz4nfSwyNjc1ODcoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSA2LjV2N20tNCAwdi00bTggNHYtNG0tMTEgMnYtNCIvPjxwYXRoIGQ9Ik0xMC41IDEzLjVoMnYzaC0yeiIvPjwvZz48L3N2Zz4nfSw5MzMxMzgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgOWgzdjRoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDkuNXYtMm0wLTV2Mm01IDN2N20wLTV2MiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTAuNSA0LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNy41IDEzLjV2LTJtMC01djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTYuNSA4LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMy41IDE3LjV2LTJtMC01djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTIuNSAxMi41aDJ2M2gtMnoiLz48L2c+PC9zdmc+J30sMjg1OTkzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDdoM3Y0aC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSAxNy41di0ybTAtNXYybTUtN3Y3bTAtM3YyIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMC41IDEyLjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNy41IDEzLjV2LTJtMC01djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTYuNSA4LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMy41IDkuNXYtMm0wLTV2MiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMi41IDQuNWgydjNoLTJ6Ii8+PC9nPjwvc3ZnPid9LDc4NjU3OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTkuNSA5LjV2OG0tNC05di00bS0zIDJ2LTQiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDdoM3Y1SDh6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDExLjV2NCIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTMuNSA3LjVoMnY0aC0yeiIvPjwvZz48L3N2Zz4nfSw2Nzc3NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTkuNSAxMS41djJtLTQgMnYtNG0tMyA2di00Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjUgNy41aDJ2NGgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE0LjUgMi41djUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMyA3aDN2NWgtM3oiLz48L2c+PC9zdmc+J30sMzk5NDk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzIDRoM3YxMmgtM3oiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEwLjUgMTEuNXYtNG0tMyAydi00bS0zIDJ2LTQiLz48L2c+PC9zdmc+J30sNDE0Nzk2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTMuNSA0LjVoMnYxMWgtMnoiLz48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTAuNSAxMi41di00bS0zIDZ2LTRtLTMgNnYtNCIvPjwvZz48L3N2Zz4nfSwxMzA2ODYoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNC41IDIuNXYxMSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMgNGgzdjhIM3oiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE0LjUgNC41djJtMCA3djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNi41aDJ2N2gtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTkuNSAxMi41djUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDE0aDN2Mkg4eiIvPjwvZz48L3N2Zz4nfSwxMjAwMzcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMC41IDkuNWgydjNoLTJ6Ii8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTExLjUgOC41di02bS00IDEzdi00bTggNHYtNG0tMTEgNnYtNCIvPjwvZz48L3N2Zz4nfSwyMjAzNDEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMC41IDMuNXYxMyIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgOGgzdjRIOXoiLz48L2c+PC9zdmc+J30sMjIzNDgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTAuNSAzLjV2NW0wIDN2NSIvPjxwYXRoIGQ9Ik05LjUgOC41aDJ2M2gtMnoiLz48L2c+PC9zdmc+J30sNzQ0MjQwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDEyaDN2NGgtM3oiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE2LjUgMTAuNXY3Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgOGgzdjRoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMi41IDYuNXY3Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNyA0aDN2NEg3eiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNOC41IDIuNXY3bS00IDF2LTRtLTIgNnYtNCIvPjwvZz48L3N2Zz4nfSw3MDI5NjcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgNGgzdjJoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDExLjV2LTJtMC03djJtNS0ydjUiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjUgNC41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTcuNSAxNC41di0ybTAtN3YyIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik02LjUgNy41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTMuNSAxNy41di0ybTAtN3YyIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0yLjUgMTAuNWgydjVoLTJ6Ii8+PC9nPjwvc3ZnPid9LDgzNTE3NChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PHBhdGggZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE0LjUgOC41aDRtLTItMnY0bS03LTZoNG0tMi0ydjRtLTYgMmg0bS0yLTJ2NG0tMyA1di00bS0yIDZ2LTQiLz48L3N2Zz4nfSw4NzQ5NzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxwYXRoIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDExLjVoNG0tMi0ydjRtLTcgMmg0bS0yLTJ2NG0tNi02aDRtLTItMnY0bS0zLTV2LTRtLTIgMnYtNCIvPjwvc3ZnPid9LDc5MDA4MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE0IDEyIiB3aWR0aD0iMTQiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjcxIDEuMjlIMS4zdjkuNDJIMi43VjEuM3pNMS4zIDBDLjU4IDAgMCAuNTggMCAxLjI5djkuNDJDMCAxMS40Mi41OCAxMiAxLjI5IDEySDIuN0MzLjQyIDEyIDQgMTEuNDIgNCAxMC43MVYxLjNDNCAuNTggMy40MiAwIDIuNzEgMEgxLjN6TTcuNyAxLjI5SDYuM3Y5LjQySDcuN1YxLjN6TTYuMyAwQzUuNTggMCA1IC41OCA1IDEuMjl2OS40MmMwIC43MS41OCAxLjI5IDEuMjkgMS4yOUg3LjdDOC40MiAxMiA5IDExLjQyIDkgMTAuNzFWMS4zQzkgLjU4IDguNDIgMCA3LjcxIDBINi4zem01IDEuMjloMS40MnY5LjQySDExLjNWMS4zem0tMS4yOSAwQzEwIC41OCAxMC41OCAwIDExLjI5IDBoMS40MkMxMy40MiAwIDE0IC41OCAxNCAxLjI5djkuNDJjMCAuNzEtLjU4IDEuMjktMS4yOSAxLjI5SDExLjNjLS43MSAwLTEuMjktLjU4LTEuMjktMS4yOVYxLjN6Ii8+PC9zdmc+J30sNzU1MDQxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSIjQURBRUIwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi41IDExaC0uNzlsLS4yOC0uMjdBNi40NyA2LjQ3IDAgMCAwIDEzIDYuNSA2LjUgNi41IDAgMSAwIDYuNSAxM2MxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDE3LjQ5IDE2bC00Ljk5LTV6bS02IDBDNC4wMSAxMSAyIDguOTkgMiA2LjVTNC4wMSAyIDYuNSAyIDExIDQuMDEgMTEgNi41IDguOTkgMTEgNi41IDExeiIvPjwvc3ZnPid9LDE5OTc4NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAgMTAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzU4Njk2IiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0xLjEyNSA5LjExTDkuMTMgMS4xMDRNMS4xMjUgMS4xMDVMOS4xMyA5LjExIi8+PC9nPjwvc3ZnPid9LDgyMzM1OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCAzIiB3aWR0aD0iOCIgaGVpZ2h0PSIzIj48cGF0aCBkPSJNMCAwIEw0IDMgTDggMCBaIi8+PC9zdmc+J30sODQxODc3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDMiIHdpZHRoPSI4IiBoZWlnaHQ9IjMiPjxwYXRoIGQ9Ik0wIDMgTDQgMCBMOCAzIFoiLz48L3N2Zz4nfSw1OTg1ODUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSI+PGNpcmNsZSBjeD0iOC41IiBjeT0iOC41IiByPSIzIi8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEzLjUgOC41aDNNLjUgOC41aDNNOC41IDMuNXYtM00xMyA0bDItMk0yIDE1bDItMiIvPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiIGQ9Ik0yIDJsMiAyIi8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEzIDEzbDIgMk04LjUgMTYuNXYtMyIvPjwvZz48L3N2Zz4nfSw4OTMyNTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDYgMjYiIHdpZHRoPSIzIiBoZWlnaHQ9IjEzIiBmaWxsPSJjdXJyZW50Q29sb3IiPjxjaXJjbGUgY3g9IjMiIGN5PSIzIiByPSIzIi8+PGNpcmNsZSBjeD0iMyIgY3k9IjEzIiByPSIzIi8+PGNpcmNsZSBjeD0iMyIgY3k9IjIzIiByPSIzIi8+PC9zdmc+J30sNzE3MTQxKGUsdCxvKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW8ucCsibW9jay1kYXJrLjE2YjVmM2E0MzFmNTAyYjAzYWUzLnN2ZyJ9LDQ1ODA1OShlLHQsbyl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1vLnArIm1vY2stbGlnaHQuZDIwMTMxMzAxN2ViMmMxYjk4OWYuc3ZnIn0sMjIxMDYxKGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIGk7by5kKHQse2dldExvZ2dlcjooKT0+bSxnZXRSYXdMb2dIaXN0b3J5OigpPT51LHNlcmlhbGl6ZUxvZ0hpc3RvcnlFbnRyeTooKT0+X30pLGZ1bmN0aW9uKGUpe2VbZS5FUlJPUj0xXT0iRVJST1IiLGVbZS5XQVJOSU5HPTJdPSJXQVJOSU5HIixlW2UuSU5GTz0zXT0iSU5GTyIsZVtlLk5PUk1BTD00XT0iTk9STUFMIixlW2UuREVCVUc9NV09IkRFQlVHIn0oaXx8KGk9e30pKTtsZXQgbj0wO2NvbnN0IHI9W107bGV0IHM9bnVsbCxhPW51bGwsbD1udWxsLGM9bnVsbCxkPWkuV0FSTklORyxoPSExO2Z1bmN0aW9uIHUoZSx0KXtsZXQgbz1yLnJlZHVjZSgoKGUsdCk9PmUuY29uY2F0KHQpKSxbXSk7cmV0dXJuIG8uc29ydCgoKGUsdCk9PmUuaWQtdC5pZCkpLHZvaWQgMCE9PXQmJihvPW8uZmlsdGVyKChlPT5lLnN1YlN5c3RlbUlkPT09dCkpKSwibnVtYmVyIj09dHlwZW9mIGUmJihvPW8uc2xpY2UoLWUpKSxvfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIG5ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpKyI6IitlLnN1YlN5c3RlbUlkKyI6IitlLm1lc3NhZ2UucmVwbGFjZSgvIi9nLCInIil9ZnVuY3Rpb24gcChlLHQsbyxyLHUpe2lmKHQ9PT1hJiZyLmlkPT09bClyZXR1cm47Y29uc3QgXz1uZXcgRGF0ZTtpZihlPD1pLk5PUk1BTCYmZnVuY3Rpb24oZSx0LG8saSxyLHMpeyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAscz8/MWUzKTtjb25zdCBhPXtpZDpuLAptZXNzYWdlOnQsc3ViU3lzdGVtSWQ6aSx0aW1lc3RhbXA6TnVtYmVyKGUpfTtuKz0xLG8ucHVzaChhKSx2b2lkIDAhPT1yJiZvLmxlbmd0aD5yJiZvLnNwbGljZSgwLDEpfShfLHQsbyxyLmlkLHIubWF4Q291bnQsdSksZTw9ZCYmKCFyLmhpZ2hSYXRlfHxoKSYmKCFzfHxyLmlkLm1hdGNoKHMpKSl7Y29uc3Qgbz1fLnRvSVNPU3RyaW5nKCkrIjoiK3IuaWQrIjoiK3Q7c3dpdGNoKGUpe2Nhc2UgaS5ERUJVRzpjb25zb2xlLmRlYnVnKG8pO2JyZWFrO2Nhc2UgaS5JTkZPOmNhc2UgaS5OT1JNQUw6ci5jb2xvcj9jb25zb2xlLmxvZygiJWMiK28sImNvbG9yOiAiK3IuY29sb3IpOmNvbnNvbGUubG9nKG8pO2JyZWFrO2Nhc2UgaS5XQVJOSU5HOmNvbnNvbGUud2FybihvKTticmVhaztjYXNlIGkuRVJST1I6Y29uc29sZS5lcnJvcihvKX1hPXQsbD1yLmlkLG51bGwhPT1jJiZjbGVhclRpbWVvdXQoYyksYz1zZXRUaW1lb3V0KCgoKT0+e2E9bnVsbCxsPW51bGwsYz1udWxsfSksMWUzKX19ZnVuY3Rpb24gbShlLHQ9e30pe2NvbnN0IG89W107ci5wdXNoKG8pO2NvbnN0IG49T2JqZWN0LmFzc2lnbih0LHtpZDplfSk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4odCxpKT0+cChlLFN0cmluZyh0KSxvLG4saSl9cmV0dXJue2xvZ0RlYnVnOnMoaS5ERUJVRyksbG9nRXJyb3I6cyhpLkVSUk9SKSxsb2dJbmZvOnMoaS5JTkZPKSxsb2dOb3JtYWw6cyhpLk5PUk1BTCksbG9nV2FybjpzKGkuV0FSTklORyl9fX0sODA5NDM2KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZHVyIjoiMzUwbXMiLCJkdXItZmFzdCI6IjYwbXMiLCJlYXNlLWluLWxpa2UiOiJjdWJpYy1iZXppZXIoMC4zMywgMCwgMC4xMSwgMSkiLCJlYXNlLW91dC1saWtlIjoiY3ViaWMtYmV6aWVyKDAuODksIDAsIDAuNjcsIDEpIiwic2l6ZS1mZWVkLWl0ZW0td2lkdGgiOiI0ODBweCIsInNpemUtZmVlZC1oaWRlbnQiOiIyMHB4Iiwic2l6ZS1mZWVkLXZpZGVudCI6IjIwcHgiLCJzaXplLWJhc2UtaW5kZW50IjoiNHB4Iiwic2l6ZS1sYXlvdXQtc21hbGwtaG9yenBhZGRpbmciOiIxMnB4Iiwic2l6ZS1sYXlvdXQtaG9yenBhZGRpbmciOiIyMHB4Iiwic2l6ZS1kcmF3aW5ncy10b29sYmFyLWl0ZW0taGVpZ2h0IjoiMzhweCIsInNpemUtaGVhZGVyLWxpbmtpbmRlbnQiOiIxNXB4Iiwic2l6ZS1oZWFkZXItaGVpZ2h0IjoiNjRweCIsInNpemUtbmF2LWhlYWRlci1oZWlnaHQiOiI1OHB4Iiwic2l6ZS1zdGlja3ktc3ltYm9sLWhlYWRlci1oZWlnaHQiOiI2NHB4Iiwic2l6ZS1kaWFsb2ctZml4ZWQtaGVhZGVyLWhlaWdodCI6IjcycHgiLCJzaXplLXNpdGUtd2lkZ2V0LXBhZGRpbmciOiIyMHB4Iiwic2l6ZS1zaXRlLXdpZGdldC1wYWRkaW5nLXRhYmxldCI6IjEycHgiLCJzaXplLWNvbGxhcHNlLXRhYnMtaGVpZ2h0IjoiNTZweCIsInNpemUtbm8tc2Nyb2xsLWNob2ljZXItaGVpZ2h0IjoiNTZweCIsInNpemUtbWFpbi1jaGFydC1hcmVhLWluZGVudCI6IjRweCIsInNpemUtbWFpbi1jaGFydC1hcmVhLXJhZGl1cyI6IjAiLCJzaXplLXNlYXJjaGJhci1oZWlnaHQiOiI4MHB4Iiwic2l6ZS1zZWFyY2hiYXItaGVpZ2h0LXRhYmxldCI6IjU0cHgiLCJzaXplLXNlYXJjaGJhci1idG4td2lkdGgtdGFibGV0IjoiNjZweCIsInNpemUtY29udGVudC10b3AtdmluZGVudCI6IjQ4cHgiLCJzaXplLWxheW91dC13aWR0aCI6IjEwMjBweCIsInNpemUtbGF5b3V0LXdpZHRoLXdpZGUiOiIxNTIwcHgiLCJzaXplLWNoZWNrYm94LXNpZGUiOiIxOHB4Iiwic2l6ZS1jaGVja2JveC1jbGljay1leHBhbmQiOiIxMHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LWhlaWdodC0teHNtYWxsIjoiMTlweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLXNtYWxsIjoiMjdweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQiOiIzNHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LWhlaWdodC0tbGFyZ2UiOiI0OHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LXBhZGRpbmctaG9yeiI6IjEycHgiLCJzaXplLXRhYnMtaG9yei1pbmRlbnQiOiIxNnB4Iiwic2l6ZS1hdmF0YXItYm9yZGVyLXJhZGl1cyI6IjNweCIsInNpemUtY2hhcnQtdmlldy1zcGFjaW5nIjoiMjVweCIsInNpemUtY2hhcnQtdmlldy1zcGFjaW5nLXRhYmxldCI6IjIwcHgiLCJyYWRpdXMtZW1iZWQtd2lkZ2V0LXdyYXBwZXIiOiIzcHgiLCJ0eXBvZ3JhcGh5LXBsYXRmb3JtLXJlZ3VsYXItMTZweC1saW5lLWhlaWdodCI6IjI0cHgiLCJ0eXBvZ3JhcGh5LXBsYXRmb3JtLXJlZ3VsYXItMThweC1saW5lLWhlaWdodCI6IjI4cHgiLCJtZWRpYS1ub3RlYm9vayI6ImFsbCBhbmQgKG1heC13aWR0aDogMTUzMHB4KSIsIm1lZGlhLXRhYmxldCI6ImFsbCBhbmQgKG1heC13aWR0aDogMTAxOXB4KSIsIm1lZGlhLXBob25lIjoiYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkiLCJtZWRpYS1waG9uZS12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1heC13aWR0aDogNDc5cHgpIiwibWVkaWEtZXh0cmVtZS10aGluIjoiYWxsIGFuZCAobWF4LXdpZHRoOiAzMjlweCkiLCJtZWRpYS1zaG93LWRyYXdlciI6ImFsbCBhbmQgKG1heC13aWR0aDogNTY3cHgpIiwibWVkaWEtbWYtbGVnYWN5LXBob25lLXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiAzMzBweCkiLCJtZWRpYS1tZi1sZWdhY3ktcGhvbmUiOiJhbGwgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1ub3RlYm9vayI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTAyMHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wLW1lZGl1bSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTQ4MHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxNTMxcHgpIiwibWVkaWEtbWYtcGhvbmUtdmVydGljYWwiOiJhbGwgYW5kIChtaW4td2lkdGg6IDMyMHB4KSIsIm1lZGlhLW1mLXBob25lLWxhbmRzY2FwZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogNTY4cHgpIiwibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiA3NjhweCkiLCJtZWRpYS1tZi10YWJsZXQtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIiwibWVkaWEtbWYtbGFwdG9wIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDE0NDBweCkiLCJtZWRpYS1tZi1kZXNrdG9wLWxhcmdlIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSIsImNvbnRhaW5lci10YWJsZXQiOiIobWF4LXdpZHRoOiAxMDE5cHgpIiwiY29udGFpbmVyLXBob25lIjoiKG1heC13aWR0aDogNzY3cHgpIiwiY29udGFpbmVyLXBob25lLXZlcnRpY2FsIjoiKG1heC13aWR0aDogNDc5cHgpIiwiY29udGFpbmVyLW1mLXBob25lLXZlcnRpY2FsIjoiKG1pbi13aWR0aDogMzAwcHgpIiwiY29udGFpbmVyLW1mLXBob25lLWxhbmRzY2FwZSI6IihtaW4td2lkdGg6IDU0OHB4KSIsImNvbnRhaW5lci1tZi10YWJsZXQtdmVydGljYWwiOiIobWluLXdpZHRoOiA3MDJweCkiLCJjb250YWluZXItbWYtdGFibGV0LWxhbmRzY2FwZSI6IihtaW4td2lkdGg6IDk1OHB4KSIsImNvbnRhaW5lci1tZi1sYXB0b3AiOiIobWluLXdpZHRoOiAxMjE0cHgpIiwiY29udGFpbmVyLW1mLWRlc2t0b3AtbWVkaXVtIjoiKG1pbi13aWR0aDogMTM3NHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLWxhcmdlIjoiKG1pbi13aWR0aDogMTg1NHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLWV4dHJhLWxhcmdlIjoiKG1pbi13aWR0aDogMjQ5NHB4KSIsIm1lZGlhLWxhcHRvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSIsIm1lZGlhLWxhcHRvcC1hbmQtZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkiLCJtZWRpYS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweCkgYW5kIChtYXgtZGV2aWNlLWhlaWdodDogODEycHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLCJtZWRpYS1waG9uZS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtYXgtaGVpZ2h0OiA0NDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIsIm1lZGlhLXdpZGdldGJhci1icmVha3BvaW50IjoiYWxsIGFuZCAobWF4LXdpZHRoOiAxMDY0cHgpIiwiei1pbmRleC1jb250ZW50LXBhZ2UiOjEsInotaW5kZXgtY2hhcnQtbGVnZW5kIjo2LCJ6LWluZGV4LWNoYXJ0LXJpZ2h0LWNvcm5lci1jb250cm9scyI6Nywiei1pbmRleC1sb2FkaW5nLXNjcmVlbiI6OCwiei1pbmRleC1kcm9wZG93biI6OTksInotaW5kZXgtdG9vbGJhci1wb3B1cC1tZW51IjoxMDAsInotaW5kZXgtdG9vbHRpcCI6MTAwMCwiei1pbmRleC11c2VyLWxpbmstcG9wdXAiOjkwMCwiei1pbmRleC1zdGlja3ktc2VhcmNoLWJhciI6MTAxLCJ6LWluZGV4LXJlc2l6YWJsZS1kcmF3ZXIiOjgwMCwiei1pbmRleC1mdWxsc2NyZWVuIjoxMDIsImRpc2FibGVkLXN0YXRlLW9wYWNpdHkiOjAuNSwic2l6ZS1nYXAtbWluaW11bSI6IjIwcHgiLCJzaXplLWdhcC1tZWRpdW0iOiI0MHB4Iiwic2l6ZS1nYXAtbWF4aW11bSI6IjEwMHB4In0nKQp9LDI1NTUxNihlKXsidXNlIHN0cmljdCIKO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7InVzIjp7InRpdGxlIjoiVVNBIiwic2NyZWVuZXJOYW1lIjoiYW1lcmljYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL05ld19Zb3JrIiwiZGVmYXVsdEV4Y2hhbmdlIjoiVVMiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkFNRVgiLCJOQVNEQVEiLCJOWVNFIiwiT1RDIiwiVVMiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5BU0RBUSIsIk5ZU0UiLCJOWVNFIEFSQ0EiLCJPVEMiXSwiZ3JvdXAiOiJOb3J0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJ1c2EvIn0sImFlIjp7InRpdGxlIjoiVW5pdGVkIEFyYWIgRW1pcmF0ZXMiLCJzY3JlZW5lck5hbWUiOiJ1YWUiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9EdWJhaSIsImRlZmF1bHRFeGNoYW5nZSI6IkFEWCIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiREZNIiwiQURYIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJERk0iLCJBRFgiLCJOQVNEQVFEVUJBSSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJ1YWUvIn0sImFyIjp7InRpdGxlIjoiQXJnZW50aW5hIiwic2NyZWVuZXJOYW1lIjoiYXJnZW50aW5hIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvQXJnZW50aW5hL0J1ZW5vc19BaXJlcyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQkNCQSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiQllNQSIsIkJDQkEiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiQkNCQSIsImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJhcmdlbnRpbmEvIn0sImF0Ijp7InRpdGxlIjoiQXVzdHJpYSIsInNjcmVlbmVyTmFtZSI6ImF1c3RyaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1ZpZW5uYSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiVklFIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJWSUUiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiVklFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImF1c3RyaWEvIn0sImF1Ijp7InRpdGxlIjoiQXVzdHJhbGlhIiwic2NyZWVuZXJOYW1lIjoiYXVzdHJhbGlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkF1c3RyYWxpYS9TeWRuZXkiLCJleGNoYW5nZXNTdG9ja3MiOlsiQVNYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImF1c3RyYWxpYS8ifSwiYmQiOnsidGl0bGUiOiJCYW5nbGFkZXNoIiwic2NyZWVuZXJOYW1lIjoiYmFuZ2xhZGVzaCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0RoYWthIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkRTRUJEIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRFNFQkQiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiYmFuZ2xhZGVzaC8ifSwiYmUiOnsidGl0bGUiOiJCZWxnaXVtIiwic2NyZWVuZXJOYW1lIjoiYmVsZ2l1bSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnJ1c3NlbHMiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkVVUk9ORVhUX0JSVSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRCUlUiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiRVVST05FWFRfQlJVIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImJlbGdpdW0vIn0sImJoIjp7InRpdGxlIjoiQmFocmFpbiIsInNjcmVlbmVyTmFtZSI6ImJhaHJhaW4iLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9CYWhyYWluIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJBSFJBSU4iXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoiYmFocmFpbi8ifSwiYnIiOnsidGl0bGUiOiJCcmF6aWwiLCJzY3JlZW5lck5hbWUiOiJicmF6aWwiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9TYW9fUGF1bG8iLCJleGNoYW5nZXNTdG9ja3MiOlsiQk1GQk9WRVNQQSJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiYnJhemlsLyJ9LCJiZyI6eyJ0aXRsZSI6IkJ1bGdhcmlhIiwic2NyZWVuZXJOYW1lIjoiYnVsZ2FyaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1NvZmlhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJTRVNPRiJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiYnVsZ2FyaWEvIn0sImNhIjp7InRpdGxlIjoiQ2FuYWRhIiwic2NyZWVuZXJOYW1lIjoiY2FuYWRhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvVG9yb250byIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUU1giLCJUU1hWIiwiQ1NFIiwiTkVPIl0sImdyb3VwIjoiTm9ydGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiY2FuYWRhLyJ9LCJjaCI6eyJ0aXRsZSI6IlN3aXR6ZXJsYW5kIiwic2NyZWVuZXJOYW1lIjoic3dpdHplcmxhbmQiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1p1cmljaCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJTSVgiLCJCWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoic3dpdHplcmxhbmQvIn0sImNsIjp7InRpdGxlIjoiQ2hpbGUiLCJzY3JlZW5lck5hbWUiOiJjaGlsZSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL1NhbnRpYWdvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJDUyJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiY2hpbGUvIn0sImNuIjp7InRpdGxlIjoiTWFpbmxhbmQgQ2hpbmEiLCJ0dkxvY2FsZSI6InpoX0NOIiwic2NyZWVuZXJOYW1lIjoiY2hpbmEiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9Ib25nX0tvbmciLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIlNTRSIsIlNaU0UiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIlNTRSIsIlNaU0UiLCJTSEZFIiwiWkNFIiwiQ0ZGRVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiY2hpbmEvIn0sImNvIjp7InRpdGxlIjoiQ29sb21iaWEiLCJzY3JlZW5lck5hbWUiOiJjb2xvbWJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL0JvZ290YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVkMiXSwiZ3JvdXAiOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJtYXJrZXRSb3V0ZSI6ImNvbG9tYmlhLyJ9LCJociI6eyJ0aXRsZSI6IkNyb2F0aWEiLCJzY3JlZW5lck5hbWUiOiJjcm9hdGlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9aYWdyZWIiLCJleGNoYW5nZXNTdG9ja3MiOlsiWlNFIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiWlNFIl0sImRlZmF1bHRFeGNoYW5nZSI6IlpTRSIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJjcm9hdGlhLyJ9LCJjeSI6eyJ0aXRsZSI6IkN5cHJ1cyIsInNjcmVlbmVyTmFtZSI6ImN5cHJ1cyIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQ3lwcnVzIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkNTRUNZIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQ1NFQ1kiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImN5cHJ1cy8ifSwiY3oiOnsidGl0bGUiOiJDemVjaCBSZXB1YmxpYyIsInNjcmVlbmVyTmFtZSI6ImN6ZWNoIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9DemVjaCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJQU0VDWiJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIlBTRUNaIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJjemVjaC8ifSwiZGUiOnsidGl0bGUiOiJHZXJtYW55IiwidHZMb2NhbGUiOiJkZV9ERSIsInNjcmVlbmVyTmFtZSI6Imdlcm1hbnkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0JlcmxpbiIsImRlZmF1bHRFeGNoYW5nZSI6IlhFVFIiLCJleGNoYW5nZXNTdG9ja3MiOlsiRldCIiwiU1dCIiwiWEVUUiIsIkRVUyIsIkhBTSIsIkhBTiIsIk1VTiIsIlRSQURFR0FURSIsIkxTIiwiTFNYIiwiR0VUVEVYIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRldCIiwiU1dCIiwiWEVUUiIsIkRVUyIsIkhBTSIsIkhBTiIsIk1VTiIsIlRSQURFR0FURSIsIkxTIiwiTFNYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJnZXJtYW55LyJ9LCJkayI6eyJ0aXRsZSI6IkRlbm1hcmsiLCJzY3JlZW5lck5hbWUiOiJkZW5tYXJrIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9Db3BlbmhhZ2VuIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWENPUCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZGVubWFyay8ifSwiZWUiOnsidGl0bGUiOiJFc3RvbmlhIiwic2NyZWVuZXJOYW1lIjoiZXN0b25pYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvVGFsbGlubiIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhUU0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImVzdG9uaWEvIn0sImVnIjp7InRpdGxlIjoiRWd5cHQiLCJzY3JlZW5lck5hbWUiOiJlZ3lwdCIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvQ2Fpcm8iLCJleGNoYW5nZXNTdG9ja3MiOlsiRUdYIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImVneXB0LyJ9LCJlcyI6eyJ0aXRsZSI6IlNwYWluIiwic2NyZWVuZXJOYW1lIjoic3BhaW4iLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL01hZHJpZCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCTUUiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InNwYWluLyJ9LCJldSI6eyJ0aXRsZSI6IkV1cm9wZWFuIFVuaW9uIiwic2NyZWVuZXJOYW1lIjoiZXVyb25leHQiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1BhcmlzIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6W10sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVCIsIkVVUk9ORVhUQ09NTSJdLCJncm91cCI6IkV1cm9wZSJ9LCJmaSI6eyJ0aXRsZSI6IkZpbmxhbmQiLCJzY3JlZW5lck5hbWUiOiJmaW5sYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9IZWxzaW5raSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhIRVgiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImZpbmxhbmQvIn0sImZyIjp7InRpdGxlIjoiRnJhbmNlIiwic2NyZWVuZXJOYW1lIjoiZnJhbmNlIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9QYXJpcyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRVVST05FWFRfUEFSIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVFBBUiJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJFVVJPTkVYVF9QQVIiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZnJhbmNlLyJ9LCJnZSI6eyJ0aXRsZSI6Ikdlb3JnaWEifSwiZ3IiOnsidGl0bGUiOiJHcmVlY2UiLCJzY3JlZW5lck5hbWUiOiJncmVlY2UiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0F0aGVucyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJBVEhFWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZ3JlZWNlLyJ9LCJoayI6eyJ0aXRsZSI6IkhvbmcgS29uZywgQ2hpbmEiLCJzY3JlZW5lck5hbWUiOiJob25na29uZyIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0hvbmdfS29uZyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJIS0VYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6Imhvbmcta29uZy8ifSwiaHUiOnsidGl0bGUiOiJIdW5nYXJ5Iiwic2NyZWVuZXJOYW1lIjoiaHVuZ2FyeSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnVkYXBlc3QiLCJleGNoYW5nZXNTdG9ja3MiOlsiQkVUIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQkVUIl0sImRlZmF1bHRFeGNoYW5nZSI6IkJFVCIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJodW5nYXJ5LyJ9LCJpZCI6eyJ0aXRsZSI6IkluZG9uZXNpYSIsInNjcmVlbmVyTmFtZSI6ImluZG9uZXNpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0pha2FydGEiLCJleGNoYW5nZXNTdG9ja3MiOlsiSURYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImluZG9uZXNpYS8ifSwiaWUiOnsidGl0bGUiOiJJcmVsYW5kIiwic2NyZWVuZXJOYW1lIjoiaXJlbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvRHVibGluIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhURFVCIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJpcmVsYW5kLyJ9LCJpbCI6eyJ0aXRsZSI6IklzcmFlbCIsInR2TG9jYWxlIjoiaGVfSUwiLCJzY3JlZW5lck5hbWUiOiJpc3JhZWwiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9KZXJ1c2FsZW0iLCJleGNoYW5nZXNTdG9ja3MiOlsiVEFTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJpc3JhZWwvIn0sImluIjp7InRpdGxlIjoiSW5kaWEiLCJzY3JlZW5lck5hbWUiOiJpbmRpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0tvbGthdGEiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlNFIiwiTlNFIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImluZGlhLyJ9LCJpciI6eyJ0aXRsZSI6IklyYW4ifSwiaXMiOnsidGl0bGUiOiJJY2VsYW5kIiwic2NyZWVuZXJOYW1lIjoiaWNlbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJBdGxhbnRpYy9SZXlramF2aWsiLCJleGNoYW5nZXNTdG9ja3MiOlsiT01YSUNFIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJpY2VsYW5kLyJ9LCJpdCI6eyJ0aXRsZSI6Ikl0YWx5Iiwic2NyZWVuZXJOYW1lIjoiaXRhbHkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1JvbWUiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIk1JTCIsIkVVUk9UTFgiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIk1JTCIsIkVVUk9UTFgiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Iml0YWx5LyJ9LCJqcCI6eyJ0aXRsZSI6IkphcGFuIiwidHZMb2NhbGUiOiJqYSIsInNjcmVlbmVyTmFtZSI6ImphcGFuIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvVG9reW8iLCJkZWZhdWx0RXhjaGFuZ2UiOiJUU0UiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIk5BRyIsIlRTRSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiVFNFIiwiTkFHIiwiRlNFIiwiU0FQU0UiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiamFwYW4vIn0sImtlIjp7InRpdGxlIjoiS2VueWEiLCJzY3JlZW5lck5hbWUiOiJrZW55YSIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvTmFpcm9iaSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJOU0VLRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJrZW55YS8ifSwia3AiOnsidGl0bGUiOiJOb3J0aCBLb3JlYSJ9LCJrciI6eyJ0aXRsZSI6IlNvdXRoIEtvcmVhIiwidHZMb2NhbGUiOiJrciIsInNjcmVlbmVyTmFtZSI6ImtvcmVhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvU2VvdWwiLCJleGNoYW5nZXNTdG9ja3MiOlsiS1JYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImtvcmVhLyJ9LCJrdyI6eyJ0aXRsZSI6Ikt1d2FpdCIsInNjcmVlbmVyTmFtZSI6Imt1d2FpdCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0t1d2FpdCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJLU0UiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoia3V3YWl0LyJ9LCJsayI6eyJ0aXRsZSI6IlNyaSBMYW5rYSIsInNjcmVlbmVyTmFtZSI6InNyaWxhbmthIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvQ29sb21ibyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJDU0VMSyJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJzcmktbGFua2EvIn0sImx0Ijp7InRpdGxlIjoiTGl0aHVhbmlhIiwic2NyZWVuZXJOYW1lIjoibGl0aHVhbmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9WaWxuaXVzIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWFZTRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibGl0aHVhbmlhLyJ9LCJsdiI6eyJ0aXRsZSI6IkxhdHZpYSIsInNjcmVlbmVyTmFtZSI6ImxhdHZpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvUmlnYSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhSU0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImxhdHZpYS8ifSwibHUiOnsidGl0bGUiOiJMdXhlbWJvdXJnIiwic2NyZWVuZXJOYW1lIjoibHV4ZW1ib3VyZyIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTHV4ZW1ib3VyZyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJMVVhTRSJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkxVWFNFIl0sImRlZmF1bHRFeGNoYW5nZSI6IkxVWFNFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Imx1eGVtYm91cmcvIn0sIm14Ijp7InRpdGxlIjoiTWV4aWNvIiwic2NyZWVuZXJOYW1lIjoibWV4aWNvIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvTWV4aWNvX0NpdHkiLCJleGNoYW5nZXNTdG9ja3MiOlsiQk1WIiwiQklWQSJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoibWV4aWNvLyJ9LCJtYSI6eyJ0aXRsZSI6Ik1vcm9jY28iLCJzY3JlZW5lck5hbWUiOiJtb3JvY2NvIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9Nb3JvY2NvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkNTRU1BIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQ1NFTUEiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoibW9yb2Njby8ifSwibXkiOnsidGl0bGUiOiJNYWxheXNpYSIsInR2TG9jYWxlIjoibXNfTVkiLCJzY3JlZW5lck5hbWUiOiJtYWxheXNpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1NpbmdhcG9yZSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJNWVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoibWFsYXlzaWEvIn0sIm5nIjp7InRpdGxlIjoiTmlnZXJpYSIsInNjcmVlbmVyTmFtZSI6Im5pZ2VyaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQWZyaWNhL0xhZ29zIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5TRU5HIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6Im5pZ2VyaWEvIn0sIm5sIjp7InRpdGxlIjoiTmV0aGVybGFuZHMiLCJzY3JlZW5lck5hbWUiOiJuZXRoZXJsYW5kcyIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQW1zdGVyZGFtIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJFVVJPTkVYVF9BTVMiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhUQU1TIl0sImRlZmF1bHRFeGNoYW5nZSI6IkVVUk9ORVhUX0FNUyIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJuZXRoZXJsYW5kcy8ifSwibm8iOnsidGl0bGUiOiJOb3J3YXkiLCJzY3JlZW5lck5hbWUiOiJub3J3YXkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL09zbG8iLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIk9TTCJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRPU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiT1NMIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Im5vcndheS8ifSwibnoiOnsidGl0bGUiOiJOZXcgWmVhbGFuZCIsInNjcmVlbmVyTmFtZSI6Im5ld3plYWxhbmQiLCJzY3JlZW5lclRpbWV6b25lIjoiUGFjaWZpYy9BdWNrbGFuZCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJOWlgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoibmV3LXplYWxhbmQvIn0sInBlIjp7InRpdGxlIjoiUGVydSIsInNjcmVlbmVyTmFtZSI6InBlcnUiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9MaW1hIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWTCJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoicGVydS8ifSwicGgiOnsidGl0bGUiOiJQaGlsaXBwaW5lcyIsInNjcmVlbmVyTmFtZSI6InBoaWxpcHBpbmVzIiwic2NyZWVuZXJUaW1lem9uZSI6IlBoaWxpcHBpbmVzL01hbmlsYSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJQU0UiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoicGhpbGlwcGluZXMvIn0sInBrIjp7InRpdGxlIjoiUGFraXN0YW4iLCJzY3JlZW5lck5hbWUiOiJwYWtpc3RhbiIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0thcmFjaGkiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIlBTWCJdLCJleGNoYW5nZXNTdG9ja3MiOlsiUFNYIl0sImRlZmF1bHRFeGNoYW5nZSI6IlBTWCIsImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InBha2lzdGFuLyJ9LCJwbCI6eyJ0aXRsZSI6IlBvbGFuZCIsInNjcmVlbmVyTmFtZSI6InBvbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvV2Fyc2F3IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkdQVyIsIk5FV0NPTk5FQ1QiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InBvbGFuZC8ifSwicHQiOnsidGl0bGUiOiJQb3J0dWdhbCIsInNjcmVlbmVyTmFtZSI6InBvcnR1Z2FsIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9MaXNib24iLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkVVUk9ORVhUX0xJUyJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRMSVMiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiRVVST05FWFRfTElTIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InBvcnR1Z2FsLyJ9LCJxYSI6eyJ0aXRsZSI6IlFhdGFyIiwic2NyZWVuZXJOYW1lIjoicWF0YXIiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9RYXRhciIsImV4Y2hhbmdlc1N0b2NrcyI6WyJRU0UiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoicWF0YXIvIn0sInJvIjp7InRpdGxlIjoiUm9tYW5pYSIsInNjcmVlbmVyTmFtZSI6InJvbWFuaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0J1Y2hhcmVzdCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVkIiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJCVkIiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiQlZCIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InJvbWFuaWEvIn0sInJzIjp7InRpdGxlIjoiU2VyYmlhIiwic2NyZWVuZXJOYW1lIjoic2VyYmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CZWxncmFkZSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCRUxFWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoic2VyYmlhLyJ9LCJydSI6eyJ0aXRsZSI6IlJ1c3NpYSIsInNjcmVlbmVyTmFtZSI6InJ1c3NpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTW9zY293IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlJVUyJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicnVzc2lhLyJ9LCJzYSI6eyJ0aXRsZSI6IlNhdWRpIEFyYWJpYSIsInR2TG9jYWxlIjoiYXJfQUUiLCJzY3JlZW5lck5hbWUiOiJrc2EiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9SaXlhZGgiLCJleGNoYW5nZXNTdG9ja3MiOlsiVEFEQVdVTCJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJrc2EvIn0sInNlIjp7InRpdGxlIjoiU3dlZGVuIiwic2NyZWVuZXJOYW1lIjoic3dlZGVuIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9TdG9ja2hvbG0iLCJleGNoYW5nZXNTdG9ja3MiOlsiTkdNIiwiT01YU1RPIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTkdNIiwiT01YU1RPIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzd2VkZW4vIn0sInNnIjp7InRpdGxlIjoiU2luZ2Fwb3JlIiwic2NyZWVuZXJOYW1lIjoic2luZ2Fwb3JlIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvU2luZ2Fwb3JlIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlNHWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJzaW5nYXBvcmUvIn0sInNrIjp7InRpdGxlIjoiU2xvdmFraWEiLCJzY3JlZW5lck5hbWUiOiJzbG92YWtpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnJhdGlzbGF2YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCU1NFIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzbG92YWtpYS8ifSwic2kiOnsidGl0bGUiOiJTbG92ZW5pYSIsInNjcmVlbmVyTmFtZSI6InNsb3ZlbmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9ManVibGphbmEiLCJleGNoYW5nZXNTdG9ja3MiOlsiTEpTRSJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkxKU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiTEpTRSIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzbG92ZW5pYS8ifSwidGgiOnsidGl0bGUiOiJUaGFpbGFuZCIsInR2TG9jYWxlIjoidGhfVEgiLCJzY3JlZW5lck5hbWUiOiJ0aGFpbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0Jhbmdrb2siLCJleGNoYW5nZXNTdG9ja3MiOlsiU0VUIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InRoYWlsYW5kLyJ9LCJ0biI6eyJ0aXRsZSI6IlR1bmlzaWEiLCJzY3JlZW5lck5hbWUiOiJ0dW5pc2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9UdW5pcyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVk1UIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6InR1bmlzaWEvIn0sInRyIjp7InRpdGxlIjoiVHVya2V5Iiwic2NyZWVuZXJOYW1lIjoidHVya2V5Iiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9Jc3RhbmJ1bCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCSVNUIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJ0dXJrZXkvIn0sInR3Ijp7InRpdGxlIjoiVGFpd2FuLCBDaGluYSIsInR2TG9jYWxlIjoiemhfVFciLCJzY3JlZW5lck5hbWUiOiJ0YWl3YW4iLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9UYWlwZWkiLCJleGNoYW5nZXNTdG9ja3MiOlsiVFdTRSIsIlRQRVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoidGFpd2FuLyJ9LCJnYiI6eyJ0aXRsZSI6IlVuaXRlZCBLaW5nZG9tIiwic2NyZWVuZXJOYW1lIjoidWsiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0xvbmRvbiIsImRlZmF1bHRFeGNoYW5nZSI6IkxTRSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJMU0UiLCJMU0lOIiwiQVFVSVMiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InVuaXRlZC1raW5nZG9tLyJ9LCJ2ZSI6eyJ0aXRsZSI6IlZlbmV6dWVsYSIsInNjcmVlbmVyTmFtZSI6InZlbmV6dWVsYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL0NhcmFjYXMiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlZDViJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoidmVuZXp1ZWxhLyJ9LCJ2biI6eyJ0aXRsZSI6IlZpZXRuYW0iLCJ0dkxvY2FsZSI6InZpX1ZOIiwic2NyZWVuZXJOYW1lIjoidmlldG5hbSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0hvX0NoaV9NaW5oIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkhPU0UiLCJITlgiLCJVUENPTSJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJ2aWV0bmFtLyJ9LCJ6YSI6eyJ0aXRsZSI6IlNvdXRoIEFmcmljYSIsInNjcmVlbmVyTmFtZSI6InJzYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvSm9oYW5uZXNidXJnIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkpTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJzb3V0aC1hZnJpY2EvIn0sInd3Ijp7InRpdGxlIjoiV29ybGR3aWRlIiwic2NyZWVuZXJOYW1lIjoiZ2xvYmFsIiwiZXhjaGFuZ2VzU3RvY2tzIjpbXX19JykKfSwxMjc3MTEoZSl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNtZSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJib3Zlc3BhIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sInFlY29tcWEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwic2FudGFuZGVyY29tYXIiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fX0nKX0sNTAyNTg3KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZnJlZSI6eyJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjF9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjF9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoxfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo1fSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6NTAsImxpbWl0IjozLCJjb21wbGV4X2xpbWl0IjowLCJwcmltaXRpdmVfbGltaXQiOjN9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMUQiLCIxVyIsIjFNIl19LCJTVFVEWV9URU1QTEFURVMiOnsibGltaXQiOjF9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiSURFQV9TT0NJQUxfTElOS1MiOnsic29jaWFscyI6WyJUd2l0dGVyIiwiWW91dHViZSJdfSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjF9LCJXQVRDSExJU1RfU1lNQk9MUyI6eyJsaW1pdCI6MzB9LCJWSURFT19JREVBU19MRU5HVEgiOnsibGltaXQiOjIwfSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6MX0sIlBPUlRGT0xJT19UUkFOU0FDVElPTlMiOnsibGltaXQiOjIwMDB9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjIwfX0sInBybyI6eyJEUkFXSU5HUyI6e30sIkJBQ0tURVNUSU5HX0NIQVJUX0VYUEFORCI6e30sIkJBQ0tURVNUSU5HX0VYVEVOREVEX01FVFJJQ1MiOnt9LCJCQUNLVEVTVElOR19FWFBPUlRfWExTWCI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9DU1YiOnt9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIlBFUlNPTkFMX1NVUFBPUlQiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjV9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjJ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjIsInByaW1pdGl2ZV9saW1pdCI6Mn0sIkNVU1RPTV9JTlRFUlZBTFMiOnt9LCJNVUxUSVBMRV9XQVRDSExJU1RTIjp7fSwiSU1QT1JUX1dBVENITElTVFMiOnt9LCJFWFBPUlRfV0FUQ0hMSVNUUyI6e30sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjV9LCJGVU5EQU1FTlRBTFNfRk9SRUNBU1QiOnt9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjR9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiXX0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MTB9LCJUVl9WT0xVTUVCWVBSSUNFIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXZvbHVtZWJ5cHJpY2UiXX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoxfSwiVElDS19CWV9USUNLX1BVU0hfREFUQSI6e30sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MjAsImNvbXBsZXhfbGltaXQiOjIwLCJwcmltaXRpdmVfbGltaXQiOjIwfSwiU0NSRUVORVJfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0FVVE9fUkVGUkVTSCI6e30sIlNDUkVFTkVSX05FV19FWFBPUlRfQ1NWX0RBVEEiOnt9LCJTQ1JFRU5FUl9ORVdfU0hPV19SRVNUUklDVEVEX0RBVEEiOnt9LCJTSE9XX0JPTkRTX1JFU1RSSUNURURfREFUQSI6e30sIlBPUlRGT0xJT19EQVRBX0xJTUlUIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6M30sIlBPUlRGT0xJT19UUkFOU0FDVElPTlMiOnsibGltaXQiOjUwMDB9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjUwfSwiU0NSRUVORVJfSU5URVJWQUxTIjp7ImludGVydmFsIjpbIjFtIiwiNW0iLCIxNW0iLCIzMG0iLCIxaCIsIjJoIiwiNGgiLCIxRCIsIjFXIiwiMU0iXX0sIk5PX1NQT05TT1JFRF9BRFMiOnsiZGlzYWJsZV9vbl9saXRlX3BsYW4iOiJleGNsdWRlX21vYmlsZSJ9LCJTVFVEWV9URU1QTEFURVMiOnsibGltaXQiOjk5OTk5fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MTB9LCJJRENfQVZBSUxBQkxFX0RFTEFZIjp7fSwiU1RBVFVTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxfSwiTVVMVElGTEFHR0VEX1NZTUJPTFNfTElTVFMiOnt9LCJTSE9XUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQUxFUlRTX1dFQkhPT0siOnt9LCJBTEVSVFNfT05fRUFSTklOR1MiOnt9LCJBTEVSVFNfT05fRlVOREFNRU5UQUxfTUVUUklDUyI6e30sIkRFRVBfRlVOREFNRU5UQUxTX0hJU1RPUlkiOnt9LCJQVUJMSVNIX1BST1RFQ1RFRF9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJFWFRFTkRFRF9TT0NJQUxfTElOS1MiOnsic29jaWFscyI6WyJGYWNlYm9vayIsIkluc3RhZ3JhbSJdLCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiTVVMVElfTU9OSVRPUiI6e30sIk1VTFRJQ09MT1JfRkxBR0dFRF9TWU1CT0xTIjp7ImxpbWl0Ijo3fSwiSU5UUkFEQVlfRVhDSEFOR0UiOnt9LCJWT0xVTUVfUFJPRklMRSI6e30sIlNUUkVBTVNfQUNDRVNTIjp7ImZvbGxvd2VycyI6MTB9LCJTTVNfMkZBX1ZFUklGSUNBVElPTiI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiU09DSUFMX0FDVElWSVRZIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJXQVRDSExJU1RfU1lNQk9MUyI6eyJsaW1pdCI6MTAwMH0sIkZJRUxEU19QRVJNSVNTSU9OUyI6eyJpdGVtcyI6WyJyZWZib25kcyJdfSwiQ1VTVE9NX1JBTkdFX0JBUlMiOnt9LCJGQVNURVNUX0RBVEFfRkxPVyI6e30sIlNFU1NJT05fVk9MVU1FX1BST0ZJTEUiOnt9LCJTSE9XX0VURl9IT0xESU5HU19EQVRBIjp7fX0sInByb19yZWFsdGltZSI6eyJleHRlbmRzIjoicHJvIiwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MTB9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjR9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjQsInByaW1pdGl2ZV9saW1pdCI6NH0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjEwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0Ijo3fSwiVFZfUFJPU1RVRElFUyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di1wcm9zdHVkaWVzIiwidHYtY2hhcnRwYXR0ZXJucyJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjl9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjEwMCwiY29tcGxleF9saW1pdCI6MTAwLCJwcmltaXRpdmVfbGltaXQiOjEwMH0sIkFMRVJUU19NVUxUSUNPTkRJVElPTlMiOnsiY29uZGl0aW9uX2xpbWl0Ijo1fSwiQ0hBVF9BU1NJU1RBTlQiOnsibGltaXQiOjUsImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJDQU5fRURJVF9QVUJMSUNfQ0hBVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjIwfSwiRVhQT1JUX0NIQVJUX0RBVEEiOnt9LCJDVVNUT01fRk9STVVMQVMiOnt9LCJJTlRSQURBWV9FWE9USUNfQ0hBUlRTIjp7fSwiS0FHSV9SRU5LTyI6e30sIklOVFJBREFZX1NQUkVBRCI6e30sIkNVU1RPTV9DSEFUUyI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjR9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjc1fX0sInByb19wcmVtaXVtIjp7ImV4dGVuZHMiOiJwcm9fcmVhbHRpbWUiLCJCQVJfREVUQUxJWkFUSU9OIjp7fSwiU0NSSVBUX0VYRUNVVElPTl9PTl9ISVNUT1JZX0JBUlMiOnt9LCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0Ijo5OTk5OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6OH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NiwicHJpbWl0aXZlX2xpbWl0Ijo2fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MjV9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjEwfSwiRlVOREFNRU5UQUxfR1JBUEhTX0xBUkdFX1RJTUVfUkFOR0UiOnt9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6OTk5OTksImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJDSEFSVF9QQVRURVJOUyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di1jaGFydHBhdHRlcm5zIiwidHYtY2hhcnRfcGF0dGVybnMiXX0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjB9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MjR9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjQwMCwiY29tcGxleF9saW1pdCI6NDAwLCJwcmltaXRpdmVfbGltaXQiOjQwMCwid2F0Y2hsaXN0X2xpbWl0IjoyLCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6NX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6Mn0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjUwfSwiSURFQV9TSUdOQVRVUkUiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIlBST0ZJTEVfV0VCU0lURV9GSUVMRCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFSX1JFUExBWV9JTlRSQURBWSI6eyJsaW1pdCI6NH0sIkJBUl9SRVBMQVlfMVMiOnt9LCJBTEVSVFNfTk9fRVhQSVJBVElPTiI6e30sIlBVQkxJU0hfSU5WSVRFX09OTFlfU0NSSVBUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiRVhQT1JUX0NIQVJUX0RBVEEiOnt9LCJERUVQX0hJU1RPUllfQkFDS1RFU1QiOnt9LCJBTEVSVFNfT05fU0VDT05EUyI6e30sIlBFUk1BTkVOVF9TVFJFQU1fUkVDT1JEUyI6e30sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIiwiV2Vic2l0ZSJdLCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiU0VDT05EU19JTlRFUlZBTFMiOnt9LCJUUE9fUEVSSU9ESUMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiVFBPX0NIQVJUX1NUWUxFIjp7fSwiVk9MVU1FX0NBTkRMRVMiOnt9LCJWSURFT19JREVBU19MRU5HVEgiOnsibGltaXQiOjYwfSwiVk9MVU1FX0ZPT1RQUklOVCI6e30sIlBJTkVfU0NSRUVORVIiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0Ijo1fSwiUE9SVEZPTElPX0hPTERJTkdTIjp7ImxpbWl0IjoxMDB9LCJTT0NJQUxfVFJVU1RFRF9VU0VSIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJGT0xMT1dFUlNfT05MWV9NSU5EUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfX0sInByb19leHBlcnQiOnsiZXh0ZW5kcyI6InByb19wcmVtaXVtIiwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MzB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjE1fSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjI5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0IjoxMH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MTIsInByaW1pdGl2ZV9saW1pdCI6MTJ9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjI1fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0Ijo2MDAsImNvbXBsZXhfbGltaXQiOjYwMCwicHJpbWl0aXZlX2xpbWl0Ijo2MDAsIndhdGNobGlzdF9saW1pdCI6MTAsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0IjoyMH0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjgwfSwiQkFSX1JFUExBWV9JTlRSQURBWSI6eyJsaW1pdCI6Nn0sIkJBUl9SRVBMQVlfMVMiOnt9LCJCQVJfUkVQTEFZXzFUIjp7fSwiRVhQT1JUX0ZJTkFOQ0lBTFNfREFUQSI6e30sIlRJQ0tfSU5URVJWQUxTIjp7fSwiRklSU1RfUFJJT1JJVFlfU1VQUE9SVCI6e30sIkJVWV9QUk9fREFUQSI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjZ9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEyNX19LCJwcm9fcHJlbWl1bV9leHBlcnQiOnsiZXh0ZW5kcyI6InByb19leHBlcnQiLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo1MH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6NDl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjE2fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo5OTk5OSwicHJpbWl0aXZlX2xpbWl0IjoyNX0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6NDB9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6NDAwMCwibGltaXQiOjEwMDAsImNvbXBsZXhfbGltaXQiOjEwMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwMCwid2F0Y2hsaXN0X2xpbWl0IjoxNSwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjMwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjAwfSwiQkFSX1JFUExBWV9JTlRSQURBWSI6eyJsaW1pdCI6MTB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0Ijo3fSwiUE9SVEZPTElPX0hPTERJTkdTIjp7ImxpbWl0IjoxNTB9fX0nKQp9LDM4OTk5NChlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ1sidXMiLCJhZSIsImFyIiwiYXQiLCJhdSIsImJkIiwiYmUiLCJiZyIsImJoIiwiYnIiLCJjYSIsImNoIiwiY2wiLCJjbiIsImNvIiwiaHIiLCJjeSIsImN6IiwiZGUiLCJkayIsImVlIiwiZWciLCJlcyIsImZpIiwiZnIiLCJnciIsImhrIiwiaHUiLCJpZCIsImllIiwiaWwiLCJpbiIsImlzIiwiaXQiLCJqcCIsImtlIiwia3IiLCJrdyIsImxrIiwibHQiLCJsdiIsImx1IiwibXgiLCJtYSIsIm15IiwibmciLCJubCIsIm5vIiwibnoiLCJwZSIsInBoIiwicGsiLCJwbCIsInB0IiwicWEiLCJycyIsInJ1Iiwicm8iLCJzYSIsInNlIiwic2ciLCJzaSIsInNrIiwidGgiLCJ0biIsInRyIiwidHciLCJnYiIsInZlIiwidm4iLCJ6YSJdJyl9fSxlPT57ZS5PKDAsWzQ2MDI0LDg0MzA2LDQ2OTA3LDk0MjMyLDMyODE2LDE3MDg3LDQzMzI1LDM5MDUsMzU3OTQsMTU5MzIsNTQ2ODEsNTE1MDgsNDk1MTgsMzI2MzIsMTU2MzQsNzUzMDQsNTIwOTUsMzgwMDIsNDQwMzEsNDM3OTIsNzAzNjQsOTQ4OCwzNzg2Nyw2MjY4MSwzMDIwMCwzMTM5NiwzMjM4NywxMzE0OCw0OTI2NSw3NTA0LDk5ODI3LDM2MTY2LDc2NTc3LDY1ODYyLDgwMjA3LDEyMTgxLDYxNDk1LDMwMjg4XSwoKCk9PntyZXR1cm4gdD04MzIzOTIsZShlLnM9dCk7dmFyIHR9KSk7ZS5PKCl9XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.993Z","timestamp":1785136900993,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8408.de534663e052075ba12f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\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 07:21:40 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: 7b9bf9c82e8874c70b5bc154b4d297c9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10061,"size_decoded":2244,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (10061), with no line terminators","md5":"1a43de6a5db68cdffb5be29be8c611ea","sha1":"3cd66aa1e4e9e97cd58ad3ba8f6af15ad6c8fde1","sha256":"3f9db9383ecbe7095a61cb68292e437e948824de33abb3b09239c5effac91b84","sha512":"6735b9616b71290aa8fca75a177841e1cac8bb0193205099110ee83ffc75603098ead364960c2f7f86c7848f9fc3a784a56f615ecba08502e87028ebcc46eaa7","ssdeep":"192:zx9ZzZ8+bBPb+8b7XbnVb1pcGbM9zzZxZwG3TKO0/xavh42fmmw0TuUBJuHbRPuF:zxbl4zlvwG3GVxa2ruiUBsHdPunkS","tlshash":"62227526b95302617c2b5a3d0270affc6936cb939ac387dead10e1344fc75c9a297d85","first_seen":"2026-06-18T11:35:39.145966Z","last_seen":"2026-08-10T08:00:01.077803Z","times_seen":3866,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUVpDcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVFaQ3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LW1hcmtldC1zdGF0dXNfX2RvdHtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1pbnZhbGlkIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1yZXBsYXl7Y29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXl7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1hY3RpdmUpfS50di1tYXJrZXQtc3RhdHVzLS1uaWdodHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0udHYtbWFya2V0LXN0YXR1cy0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uX193aXRoSWNvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpfX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb25fX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7bWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcHJlLjdkMzdkY2NhMjM0ODMzZDEyYzQzLnN2Zyk7bWFzazp1cmwobWFya2V0LXByZS43ZDM3ZGNjYTIzNDgzM2QxMmM0My5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1wb3N0LW1hcmtldF9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7bWFzazp1cmwobWFya2V0LXBvc3QuOWYyYzViZmRhOTQwNWEyOTFmOTAuc3ZnKTstd2Via2l0LW1hc2stcG9zaXRpb246Y2VudGVyO21hc2stcG9zaXRpb246Y2VudGVyOy13ZWJraXQtbWFzay1zaXplOmNvdmVyO21hc2stc2l6ZTpjb3Zlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0taG9saWRheV9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKX19LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXlfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtaG9saWRheS40M2NhMzNkNjkwOTM5YjkzOTc4Ni5zdmcpO21hc2s6dXJsKG1hcmtldC1ob2xpZGF5LjQzY2EzM2Q2OTA5MzliOTM5Nzg2LnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29ue2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O3dpZHRoOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZF9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX19LnR2LW1hcmtldC1zdGF0dXMtLWRlbGlzdGVkX193aXRoSWNvbjphZnRlcntib3JkZXItcmFkaXVzOjZweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7b3BhY2l0eToxNSU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpO21hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tbmlnaHRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9fS50di1tYXJrZXQtc3RhdHVzLS1uaWdodF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcG9zdC45ZjJjNWJmZGE5NDA1YTI5MWY5MC5zdmcpO21hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOjB9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1wb3N0LW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbiAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLWludmFsaWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taG9saWRheXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1ob2xpZGF5IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHR7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnR7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlcnttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luOmF1dG8gM3B4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXN0aWNreS1zeW1ib2wtaGVhZGVyLC50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLXRhcGV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpfS50di1tYXJrZXQtc3RhdHVzLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LW1hcmtldC1zdGF0dXMtLWZvci10aWNrZXItdGFwZTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1jaGFydHtoZWlnaHQ6NnB4O21hcmdpbi1yaWdodDo0cHg7dmVydGljYWwtYWxpZ246MXB4O3dpZHRoOjZweH0udHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWNhcmR7aGVpZ2h0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDo2cHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luLWJvdHRvbTozcHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1sYXN0e2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGV7aGVpZ2h0OjRweDt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItY2hhcnR7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1jaGFydDpkaXIocnRsKXttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1jYXJkLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWxhc3QsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGUsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itd2F0Y2gtbGlzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXIsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWNhcmQsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItbGFzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItdGFwZSwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci13YXRjaC1saXN0e2Rpc3BsYXk6bm9uZX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQ6ZGlyKHJ0bCl7bWFyZ2luLWlubGluZS1zdGFydDowfS50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQtLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldF9fd2l0aEljb257ZGlzcGxheTpub25lIWltcG9ydGFudH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0OmFmdGVye2Rpc3BsYXk6bm9uZX0="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36222.e9be9a733e114730a4ea.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.278Z","timestamp":1785136901278,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36222.e9be9a733e114730a4ea.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-817\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dfea830f4cceadc1ec52349cb0fcaab8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2071,"size_decoded":1307,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2071), with no line terminators","md5":"2e8e694e16e9459d863140b929080820","sha1":"49a854bbed81708280adaa8bbe6867c856fcec99","sha256":"39a8612e5776ad12480990df92ddf0ae28da68e6fda202f92e646cfbd754ed65","sha512":"f624307751b27dd6725309a31659c60b989256ea30ddbc8f0b6a2632af721b14d2c15e8ad1e8f78fae96aada441df8c0d4a42bec925b80236c39d5fd8fa5f59e","ssdeep":"","tlshash":"3041dd2045d5ec78bc53b366d2e5160c55b5bd34de4b2cce3ba438222ac2bf400b7a5e","first_seen":"2026-07-16T13:40:49.685175Z","last_seen":"2026-08-10T05:01:44.183435Z","times_seen":415,"resource_available":false,"data":"LnBvc2l0aW9uZXItaEJWa2FQMlB7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czoxZnI7aGVpZ2h0OnZhcigtLXVpLWxpYi1pbi1wb3NpdGlvbmVyLWV4YWN0SGVpZ2h0LHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yRXhhY3RIZWlnaHQsYXV0bykpO2xlZnQ6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcmVkWCk7bWF4LWhlaWdodDptaW4odmFyKC0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4SGVpZ2h0LDEwMDAwMHZoKSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1heEhlaWdodCwxMDAwMDB2aCksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1zY3JlZW5SZXN0cmljdGlvbk1heEhlaWdodCwxMDAwMDB2aCksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1yZXNpemVSZXN0cmljdGlvbk1heEhlaWdodCwxMDAwMDB2aCkpO21heC13aWR0aDptaW4odmFyKC0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4V2lkdGgsMTAwMDB2dyksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNYXhXaWR0aCwxMDAwMHZ3KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLXNjcmVlblJlc3RyaWN0aW9uTWF4V2lkdGgsMTAwMDB2dyksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1yZXNpemVSZXN0cmljdGlvbk1heFdpZHRoLDEwMDAwdncpKTttaW4taGVpZ2h0Om1heCh2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1taW5IZWlnaHQsMHB4KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1pbkhlaWdodCwwcHgpLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5IZWlnaHQsMHB4KSk7bWluLXdpZHRoOm1heCh2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1taW5XaWR0aCwwcHgpLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yTWluV2lkdGgsMHB4KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLXJlc2l6ZVJlc3RyaWN0aW9uTWluV2lkdGgsMHB4KSk7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpmaXhlZDt0b3A6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcmVkWSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXVpLWxpYi1vdXQtcG9zaXRpb25lci1jb250ZW50UG9pbnRYKSotMTAwJSksY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WSkqLTEwMCUpKTt3aWR0aDp2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1leGFjdFdpZHRoLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yRXhhY3RXaWR0aCxhdXRvKSl9Lm5vSG9yaXpvbnRhbFNocmluay1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5XaWR0aDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFdpZHRoKX0ubm9Ib3Jpem9udGFsR3Jvdy1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NYXhXaWR0aDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFdpZHRoKX0ubm9WZXJ0aWNhbFNocmluay1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5IZWlnaHQ6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRIZWlnaHQpfS5ub1ZlcnRpY2FsR3Jvdy1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplLXJlc3RyaWN0aW9uLW1heC1oZWlnaHQ6dmFyKC0tdWktbGliLXBvc2l0aW9uZXItY29udGVudC1oZWlnaHQtbWVhc3VyZWQpfS5pbnZpc2libGUtaEJWa2FQMlB7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnBvcnRhbC1oQlZrYVAyUHtoZWlnaHQ6MTAwMHZoO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCk7d2lkdGg6MTAwMHZ3fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/14625.ada612ccefdef779e295.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.856Z","timestamp":1785136901856,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/14625.ada612ccefdef779e295.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"69f98b71-f8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/25/2026 11:16:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e01424216161bd843f33b8c2aabee097\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":248,"size_decoded":920,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"262d7c6d32fe176cad158bcf581392cf","sha1":"46ad9060cd3563ca4a028ea3ef2de8e4f2aa4cbf","sha256":"afec4eea93654c674622a8144d3721d9bd840022423552e2ad2c630463a7fbe1","sha512":"7950e146c863cb2f43396153f4068338f6514f7214983146822d7aa47777172d75340f6d86a723724a3f9e15b8363f5ba13b933024993d98520fc45be5524791","ssdeep":"","tlshash":"1fd05e7e9ec8372052138f271693679ac82786159f300e5edb00a2234fda40be8334a4","first_seen":"2023-04-17T07:26:31Z","last_seen":"2026-08-10T05:00:33.887694Z","times_seen":703,"resource_available":false,"data":"LmNvbnRhaW5lci1NMW16NHF1QXtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5sb2dvLU0xbXo0cXVBLC5wYWlyQ29udGFpbmVyLU0xbXo0cXVBe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmxvZ28tTTFtejRxdUF7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleDpub25lO292ZXJmbG93OmhpZGRlbn0ubG9nby1NMW16NHF1QSBpbWd7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uaGlkZGVuLU0xbXo0cXVBe2Rpc3BsYXk6bm9uZX0="}},"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/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.324Z","timestamp":1785136900324,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: cc44f70d71035e681115212ef2dca81f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":78581,"size_decoded":34908,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (14472)","md5":"14bf3ff2a3107514a76ce3b64ebfadc7","sha1":"cdbe48a268d7b51c28606b399cb8586afee97128","sha256":"99f49c837d9b9a85e81174053a80d5738c2d7c21a53faa30b396f377724df1ba","sha512":"e917564b665e35938d9d86ea200951191fa25a923f4012992d87c30408c3fe4188962849136025458fb8143a64842308d4783c9ae847f84f0720cd7f86a1301f","ssdeep":"1536:Hf6kU6QbwU/pS8wcbXbUFrGAMt6GYvlW1naSzKr1vhheth+47z:Hfy0yLBAK+v4nrD9z","tlshash":"32735cacd23c99b776f02e781c6bac52a33820537d6182ed4397736409b7ef4c666543","first_seen":"2026-07-24T11:36:48.051243Z","last_seen":"2026-07-28T06:17:53.622022Z","times_seen":205,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLGEsYyxkLGYsYixfPXt9LG89e307ZnVuY3Rpb24gdChlKXt2YXIgYT1vW2VdO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGEuZXhwb3J0czt2YXIgYz1vW2VdPXtpZDplLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gX1tlXS5jYWxsKGMuZXhwb3J0cyxjLGMuZXhwb3J0cyx0KSxjLmxvYWRlZD0hMCxjLmV4cG9ydHN9dC5tPV8sdC5jPW8sdC5fcGx1cmFsPXthcjooZSxhPTYsYz0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K2MsY3M6KGUsYT0zLGM9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K2MscnU6KGUsYT0zLGM9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOitjLHJvOihlLGE9MyxjPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K2MscGw6KGUsYT0zLGM9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorYyxwdDooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGRlOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZW46KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyxlczooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLHN2OihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaXQ6KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyx0cjooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGVsOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZnI6KGUsYT0yLGM9ZT4xKT0+bnVsbD09ZT8wOitjLGZhOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsamE6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxrbzooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLHRoOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2Msdmk6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyx6aDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLGhlX0lMOihlLGE9NCxjPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorYyxjYV9FUzooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLG5sX05MOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaHVfSFU6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxpZF9JRDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLG1zX01ZOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsemhfVFc6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorY30sdC5hbWREPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3QiKX0sZT1bXSx0Lk89KGEsYyxkLGYpPT57aWYoIWMpe3ZhciBiPTEvMDtmb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKXtmb3IodmFyW2MsZCxmXT1lW2ldLF89ITAsbz0wO288Yy5sZW5ndGg7bysrKSghMSZmfHxiPj1mKSYmT2JqZWN0LmtleXModC5PKS5ldmVyeSgoZT0+dC5PW2VdKGNbb10pKSk/Yy5zcGxpY2Uoby0tLDEpOihfPSExLGY8YiYmKGI9ZikpO2lmKF8pe2Uuc3BsaWNlKGktLSwxKTt2YXIgcz1kKCk7dm9pZCAwIT09cyYmKGE9cyl9fXJldHVybiBhfWY9Znx8MDtmb3IodmFyIGk9ZS5sZW5ndGg7aT4wJiZlW2ktMV1bMl0+ZjtpLS0pZVtpXT1lW2ktMV07ZVtpXT1bYyxkLGZdfSx0LkY9e30sdC5FPWU9PntPYmplY3Qua2V5cyh0LkYpLm1hcCgoYT0+e3QuRlthXShlKX0pKX0sdC5IPXt9LHQuRz1lPT57T2JqZWN0LmtleXModC5IKS5tYXAoKGE9Pnt0LkhbYV0oZSl9KSl9LHQubj1lPT57dmFyIGE9ZSYmZS5fX2VzTW9kdWxlPygpPT5lLmRlZmF1bHQ6KCk9PmU7cmV0dXJuIHQuZChhLHthfSksYX0sYz1PYmplY3QuZ2V0UHJvdG90eXBlT2Y/ZT0+T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpOmU9PmUuX19wcm90b19fLHQudD1mdW5jdGlvbihlLGQpe2lmKDEmZCYmKGU9dGhpcyhlKSksOCZkKXJldHVybiBlO2lmKCJvYmplY3QiPT10eXBlb2YgZSYmZSl7aWYoNCZkJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7aWYoMTYmZCYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbilyZXR1cm4gZX12YXIgZj1PYmplY3QuY3JlYXRlKG51bGwpO3QucihmKTt2YXIgYj17fTthPWF8fFtudWxsLGMoe30pLGMoW10pLGMoYyldO2Zvcih2YXIgXz0yJmQmJmU7KCJvYmplY3QiPT10eXBlb2YgX3x8ImZ1bmN0aW9uIj09dHlwZW9mIF8pJiYhfmEuaW5kZXhPZihfKTtfPWMoXykpT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoXykuZm9yRWFjaCgoYT0+YlthXT0oKT0+ZVthXSkpO3JldHVybiBiLmRlZmF1bHQ9KCk9PmUsdC5kKGYsYiksZn0sdC5kPShlLGEpPT57Zm9yKHZhciBjIGluIGEpdC5vKGEsYykmJiF0Lm8oZSxjKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYyx7ZW51bWVyYWJsZTohMCxnZXQ6YVtjXX0pfSx0LmY9e30sdC5lPWU9PlByb21pc2UuYWxsKE9iamVjdC5rZXlzKHQuZikucmVkdWNlKCgoYSxjKT0+KHQuZltjXShlLGEpLGEpKSxbXSkpLAp0LnU9ZT0+Mjg4MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5mOWU3MzU2ZmY5MWY4MzdmNDdjNy5qcyI6MjM1Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi41ZmRkYzE1OTk4MTQyY2JjNjFlZi5qcyI6ODk2MTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5lOGRiMTlkODEzNzZkNDg2ZTI4OC5qcyI6NTQ4NTI9PT1lPyJfX0xBTkdfXy4iK2UrIi43NzI4Y2RlOWMwMTIyNTk0NWQxMC5qcyI6MTYxOTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iYTA3NWY4OTVjNmVkMDU3YzExYy5qcyI6OTU1NT09PWU/Il9fTEFOR19fLjk1NTUuNmU0NWM3ZjAyOGQ0NTU0Y2E3MjUuanMiOjg0NjkzPT09ZT8iX19MQU5HX18uIitlKyIuNzE1Y2I3YjI3MzJmMjBjNGM5NjEuanMiOjQ5Njg0PT09ZT8iX19MQU5HX18uIitlKyIuNDk5Y2ZiZDczNDdlOTc0NzIyMjguanMiOjU0OTg9PT1lPyJfX0xBTkdfXy41NDk4LjhlNGNjYzdjZWY4YmZhZjM5Mzk5LmpzIjo4NTUzNz09PWU/Il9fTEFOR19fLiIrZSsiLjQ5ZmRhMTNlMTg3NjEyNDYzZjg0LmpzIjo0OTM4MD09PWU/Il9fTEFOR19fLiIrZSsiLjc1NTNlZDk4YThkZDViYjg0NmI1LmpzIjoyNjk3Mz09PWU/Il9fTEFOR19fLiIrZSsiLjlhZTU2ZDYyMWE1ZjI5ODI3ZTAwLmpzIjo3MTIzNz09PWU/Il9fTEFOR19fLiIrZSsiLjAyYjAzZmQwNDU4MzAzMTQ1MGE3LmpzIjo2MzU1Mz09PWU/Il9fTEFOR19fLiIrZSsiLmQxZWU2MTk4YjcwMjg0NzhkZDYyLmpzIjo3MTcwOT09PWU/Il9fTEFOR19fLiIrZSsiLmVlMDU4NjY3MzBiMTY4YWJkMTM1LmpzIjozMDA3MD09PWU/Il9fTEFOR19fLiIrZSsiLjJiMTIzZWEwZDkyZTk0NGFjOWZiLmpzIjoxMTE1MT09PWU/Il9fTEFOR19fLiIrZSsiLjI1NTk0YzI3MDY2NTkxZTJiYzdiLmpzIjozMzIyNT09PWU/Il9fTEFOR19fLiIrZSsiLjQyOTVmMzJiMWM4ZmRjNzRjMDU2LmpzIjozMjc4PT09ZT8iX19MQU5HX18uMzI3OC5mMjMyMmNiMDExOWQ5MjRjY2Q2NC5qcyI6MjcwNDA9PT1lPyJfX0xBTkdfXy4iK2UrIi45MmRkNThmZDRiZDMwZGUwYmI2ZC5qcyI6MzQyODQ9PT1lPyJfX0xBTkdfXy4iK2UrIi40M2Y0NjA1YmI3MmQ2OWIzZWQ0My5qcyI6Mjc4MjA9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMjJjYmU2NmQ0Y2E0MmE3ZTEyYy5qcyI6MzE2NjE9PT1lPyJfX0xBTkdfXy4iK2UrIi40MmYzMmIxNWExNzcxYTJkZmRlZC5qcyI6MTQ2OTM9PT1lPyJfX0xBTkdfXy4iK2UrIi4xYWZmZmM3MzFkN2NjM2YzYzZjMy5qcyI6NTI4ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODk4ZTYzOGE2ODE4MGVkNmRmNC5qcyI6NzQxMTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi45MGY2N2UzNjU4YWIzMTNiYjVmYi5qcyI6OTA5MDc9PT1lPyJfX0xBTkdfXy4iK2UrIi41ZTkxYTllMWU2OWVlNGZkODkwZS5qcyI6ODM0NTA9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNGQwYWNmYWQxOGNhMzVjNmYyOC5qcyI6NDk2Nzc9PT1lPyJfX0xBTkdfXy4iK2UrIi4wOTg2ODhiMzdmNzg1NWI0Yzc5Yi5qcyI6MjA1NzY9PT1lPyJfX0xBTkdfXy4iK2UrIi4wZTE2ZjI3YzQ3ZTdkZmEwOWE4MC5qcyI6ODEwMTU9PT1lPyJfX0xBTkdfXy4iK2UrIi4yMTUzNzJkNzBjMzNhOGFiNWQ1NC5qcyI6NDA1Mjg9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODljYmViODYzMmM3OGJlYjA1OC5qcyI6Nzk2Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi4zOGI0MDBiN2JjZDcxMjY1ZGU3ZS5qcyI6NjIyNz09PWU/Il9fTEFOR19fLjYyMjcuNDg5YTZlMWQxMjI0YmEwNDk3YzcuanMiOjU1MDc5PT09ZT8iX19MQU5HX18uIitlKyIuY2ZhODA4MmFhY2NlYTk1OTM2MDYuanMiOjM3MDEyPT09ZT8iX19MQU5HX18uIitlKyIuZWRlMGZjM2Q2ODU4N2Q4MTdlZDUuanMiOjE3NjYyPT09ZT8iX19MQU5HX18uIitlKyIuNDdmNWM5Y2FmNjYwYzRkMGU4MDQuanMiOjkyNDE5PT09ZT8iX19MQU5HX18uIitlKyIuOTk2ZmFkZGRmY2EzZTZjMjc2ZDcuanMiOjg4OTk3PT09ZT8iX19MQU5HX18uIitlKyIuMjU5OTFkYTU5ZTIwYTc5NmVkYWEuanMiOjExMzc4PT09ZT8iX19MQU5HX18uIitlKyIuOTdjYWQ3ZGZkZjllNDdhYjRmZjMuanMiOjE2NDYxPT09ZT8iX19MQU5HX18uIitlKyIuMGQ5MTBhNGVhY2VlNTU4NGNkN2YuanMiOjQ1MTE3PT09ZT8iX19MQU5HX18uIitlKyIuZGEwZmRjMGExNDllMTczOGJhNjYuanMiOjIyNjQ5PT09ZT8iX19MQU5HX18uIitlKyIuNmQ0YTQ3MWMxYTNjMTZlNjk1MzQuanMiOjczNjI2PT09ZT8iX19MQU5HX18uIitlKyIuZWZiY2ZlYmEzYjg1MTZkYWZjN2MuanMiOjY4OTUyPT09ZT8iX19MQU5HX18uIitlKyIuM2NhMDljZWIwY2I0MGQ5MjJmZmYuanMiOjE5MTkzPT09ZT8iX19MQU5HX18uIitlKyIuNjBiZDcxMWQ4MzhjNzUxZDY5OTAuanMiOjk5NzU4PT09ZT8iX19MQU5HX18uIitlKyIuOTllM2U2MTdhMWI2NmRkZmY2ZDQuanMiOjI5NDc3PT09ZT8iX19MQU5HX18uIitlKyIuNGJjOTY5OTY3ZTA4OGVmOWRhOTguanMiOjI1OTI0PT09ZT8iX19MQU5HX18uIitlKyIuYjJiOGZkMzA4ZTc2MDZmMDRkZGEuanMiOjkyMDc9PT1lPyJfX0xBTkdfXy45MjA3LmViMmEyYWU2ZDcwYjFhMzA0ZmZjLmpzIjo2MzU2MD09PWU/Il9fTEFOR19fLiIrZSsiLjIwM2YzYzA0YWFmZGE5MTk3OGM2LmpzIjo3NTkwNT09PWU/Il9fTEFOR19fLiIrZSsiLmM0NTQ4NWI5NWZlNjc2YzczNDhjLmpzIjo5ODQ3OT09PWU/Il9fTEFOR19fLiIrZSsiLjA3YjMyZjY5NTBmNWZhYTJkNWRiLmpzIjo3MDk4Mz09PWU/Il9fTEFOR19fLiIrZSsiLmQwYWNjZDU3MWQyNTNjYmU3ZmQ2LmpzIjo5NDE3NT09PWU/Il9fTEFOR19fLiIrZSsiLmMyZjAwM2JkZTQ0NWU2ZjA1Nzg3LmpzIjo4NDM2ND09PWU/Il9fTEFOR19fLiIrZSsiLmRmNWY3OTc0ZWY2NjVlZTBjYTliLmpzIjo2MzU5MT09PWU/Il9fTEFOR19fLiIrZSsiLjRkODFkMjUzMGMzOTQ2MjExMWU5LmpzIjozNjEyMT09PWU/Il9fTEFOR19fLiIrZSsiLjY3MjhmNDhmNTY5Y2I2MTAyZmFjLmpzIjoxNDkwPT09ZT8iX19MQU5HX18uMTQ5MC5mNzFkZGJlNDAxNDk2ZTU1YTVlZS5qcyI6NDQxMzY9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZjczZWIyY2Q2Y2M5ZmVlM2FhMS5qcyI6NjU3ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi41NTA5YmFiYmQ0ZWY1OWMyZmM5NC5qcyI6MTU3MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4xOTA5NjVlMWJiYTQxOTkzNWI1OS5qcyI6ODU3OTA9PT1lPyJfX0xBTkdfXy4iK2UrIi45YzMzZWI2MDExM2JiYjY1ZDYzOS5qcyI6ODE0NTY9PT1lPyJfX0xBTkdfXy4iK2UrIi4wMTM4MjRkMjYzNDY2NjI3YTZmYS5qcyI6ODc4OTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi45NWVkNGI5ZjMzYTdiZjcwY2NiMy5qcyI6ODMzMzk9PT1lPyJfX0xBTkdfXy4iK2UrIi44ZDM5ZTc2MDFhMjU4ZTY4N2E5MS5qcyI6NjIxOTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zY2RjMmRiMWJjMTcxNmRjZDM5YS5qcyI6NDgwMzE9PT1lPyJfX0xBTkdfXy4iK2UrIi44Y2ExMDY5ODQ5ZjA5Y2YwZDlkNy5qcyI6Njk3MzA9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODFiMjM5YWY3ZTA0MzU0MDNkZC5qcyI6Nzc1ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi41MDcwYTFkMTc0MjQxNDNjNTc0NC5qcyI6NzgwMTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYTJiMTIxZDJlNGUxNDA3ZTc1OS5qcyI6NTc4Njk9PT1lPyJfX0xBTkdfXy4iK2UrIi5jZjg2NDNjYTU3MWIwZjFjNGIxMS5qcyI6MjUwMjg9PT1lPyJfX0xBTkdfXy4iK2UrIi5iY2VkNzNlZDg3MDAxNWZjOWViYS5qcyI6NzA5MDk9PT1lPyJfX0xBTkdfXy4iK2UrIi5kYWY2ZjJjZjA2MTRiODYzMWQ4Ni5qcyI6MjU3ODg9PT1lPyJfX0xBTkdfXy4iK2UrIi44MDU3NTA4MGFlMzZmNjU3MTYwYi5qcyI6NjA2NTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5jNzZjYzZiMWY2ZTRkZGZjYTc4MC5qcyI6MzQ1OTI9PT1lPyJfX0xBTkdfXy4iK2UrIi42MGY2ODI5YWYzNjU5NmMyN2NiMS5qcyI6OTUxMDI9PT1lPyJfX0xBTkdfXy4iK2UrIi4wNzNiMzVkMzA4YTZlMjU1NmJmOC5qcyI6ODc5MTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZmYyYWU4NTBkZDhkYjM1ZTkwOS5qcyI6NTgzMzE9PT1lPyJfX0xBTkdfXy4iK2UrIi45NjhlY2JkZGNkNDAyNzg3YjliMy5qcyI6MjU0MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi4xOTlmMGRlNjI3NjllMDM4ODIzYS5qcyI6MzUwMDc9PT1lPyJfX0xBTkdfXy4iK2UrIi5lMzgxYTZlMjRkOGNlZTNmODQ2MC5qcyI6MTcxMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi42MGQ5OWRhZGIxOTZlZTc5MWZiMS5qcyI6OTY0MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5mZjNhYTNmYzQ1OTNkNTU1ZGQzZi5qcyI6NzI0Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi40ZWZkNzdkYWJhYjJlZmUxYjcyZC5qcyI6NzY4MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zODk4NDUzYjhjYmEzYzBlMTE1NS5qcyI6Mjk0Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZWJlYTcxZTljZmEwYjM1OTJiOS5qcyI6MTM5MzY9PT1lPyJfX0xBTkdfXy4iK2UrIi45MDZhMGEyMjMxYWUxY2JkOWNkMy5qcyI6NTQwNDA9PT1lPyJfX0xBTkdfXy4iK2UrIi42MTFiYWNjNTI2YTI3YWFlMWEzYS5qcyI6NzMxMT09PWU/Il9fTEFOR19fLjczMTEuZmI1ZDA0OTRlZjg1NzNiZDkwNjguanMiOjc1NTI9PT1lPyJfX0xBTkdfXy43NTUyLmJjMDAyMDE5Mjk3Nzc3MWQ3MTE5LmpzIjoxNjU5OD09PWU/Il9fTEFOR19fLiIrZSsiLmIwYWI1YzJjMmRjNTQ0NGNkZWViLmpzIjoyMjUxMD09PWU/Il9fTEFOR19fLiIrZSsiLmM2MjcyNDU5YTE3YzUzOThmZDdiLmpzIjo1NTgwMT09PWU/Il9fTEFOR19fLiIrZSsiLmQ5NDk2ZGI4Y2QwYTUzZGRlMDJjLmpzIjoxMDc3Nj09PWU/Il9fTEFOR19fLiIrZSsiLjY0YzQxMjNlN2MwY2NjMzkwNWJhLmpzIjo3ODAzND09PWU/Il9fTEFOR19fLiIrZSsiLjgwMGIyY2VlNjQ5OGE2YzRiNDRhLmpzIjozOTE4Mj09PWU/Il9fTEFOR19fLiIrZSsiLjE4YjMxYTU4ZDRiNTc5NmQ5YjBkLmpzIjoyNDQxPT09ZT8iX19MQU5HX18uMjQ0MS4xYjQzNWE0M2RiMTY1ODAyNzdjMi5qcyI6MjcyOTI9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNDUzMTNkNDlkZDc3NWJhZDI1Zi5qcyI6NTUzOD09PWU/Il9fTEFOR19fLjU1MzguYTdlNmE5YjliZDRlZGI4ODVmNzUuanMiOjk2Njc4PT09ZT8iX19MQU5HX18uIitlKyIuYzEwNmIyNjA0OWU5YjAyYmU3NzkuanMiOjg2NTkzPT09ZT8iX19MQU5HX18uIitlKyIuODIxODlmNjM2ODQ5YTUxZDA1NjkuanMiOjQ5MzA3PT09ZT8iX19MQU5HX18uIitlKyIuYzhkOGEyYjQ2NWY0MjBjMzZjOWQuanMiOjQyMDk2PT09ZT8iX19MQU5HX18uIitlKyIuODVhMWYyY2IzY2U2NzU3MTZjZjYuanMiOjIxNzg0PT09ZT8iX19MQU5HX18uIitlKyIuM2E4NzY3MGVmNDFlZGZkYzg4NWMuanMiOjc4NDQ9PT1lPyJfX0xBTkdfXy43ODQ0LmM3NDhlNzFlYWYxNzExODBhY2ZmLmpzIjo4NzIzOD09PWU/Il9fTEFOR19fLiIrZSsiLjdlNzczMDk3MzM3YTM0YmU2NjUyLmpzIjoyMDMzNz09PWU/Il9fTEFOR19fLiIrZSsiLjMwMTVkYjVlMGE1MjE5NjIzY2ZiLmpzIjo5Mzc0NT09PWU/Il9fTEFOR19fLiIrZSsiLjlkOTkxMTY3ZWY2ZDg5MjZiOTFlLmpzIjo2NjAwMj09PWU/Il9fTEFOR19fLiIrZSsiLmQxMWM0NDk1NTYxMjg0ZTg3MjI3LmpzIjoyMTg3MD09PWU/Il9fTEFOR19fLiIrZSsiLjdkMzdmZmE1M2RmYmJjMTg0MDg4LmpzIjo4NTAxND09PWU/Il9fTEFOR19fLiIrZSsiLjIzMzc2MTVhNGJkMmMzMDNjMDQ2LmpzIjo3Mzc3PT09ZT8iX19MQU5HX18uNzM3Ny5kYzEwMzEyNTJiZjkyY2ZiNDFmYi5qcyI6OTY4MjM9PT1lPyJfX0xBTkdfXy4iK2UrIi4xMjI2NWRkODhhNWQwOGQ2NmE4Yi5qcyI6Mjc1NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi4yYTZjMzcwMmZiYzUxZTk0YzYyNi5qcyI6MzUyNTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi5mMzE3NDgxOWIxNDBiNmE3ZDJlNy5qcyI6Njk2OTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4wOGEzMGYwN2JhMTk1YjVlODM0Zi5qcyI6ODU4Nzk9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMTg5YjcwN2E5MTY1YzY1ZDlmYS5qcyI6MjY5NjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMzcxZGJiZGEwM2Y5Y2EwZGUyOS5qcyI6OTgxMTE9PT1lPyJfX0xBTkdfXy4iK2UrIi44YzZiYTU1Nzk0YjY0YWQ3Zjg3Zi5qcyI6NTk4Mjk9PT1lPyJfX0xBTkdfXy4iK2UrIi4xODU0YTZiY2I5NjUxOTNjODkyZi5qcyI6OTQyNDQ9PT1lPyJfX0xBTkdfXy4iK2UrIi5iYTg5Yzc1NDA0MWMzNGI2YWVmMy5qcyI6MTIwODA9PT1lPyJfX0xBTkdfXy4iK2UrIi45MjM1MWEzNzc4MDEzMmM5ZTlmZC5qcyI6OTkxMjQ9PT1lPyJfX0xBTkdfXy4iK2UrIi43MTI5ZTA1N2M3NDQ0ZGYyNTk5NC5qcyI6MjcxNzQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODQ4NDY0ZDVjMGNhNmMzMmE0My5qcyI6NDAxNTc9PT1lPyJfX0xBTkdfXy4iK2UrIi4wYjk5ZDU0NTMyYWIwNDAxNmJjYS5qcyI6NTQ4Nj09PWU/Il9fTEFOR19fLjU0ODYuMWIxZTMwODg0NGNkM2YwNDdiMDcuanMiOjYxOTUwPT09ZT8iX19MQU5HX18uIitlKyIuOGJiNWU5MDIwYTY0MmY3OTZjOTMuanMiOjE0OTI2PT09ZT8iX19MQU5HX18uIitlKyIuOTM2NDNhMjRkYjhiM2NkYmU1YzQuanMiOjk4MzgzPT09ZT8iX19MQU5HX18uIitlKyIuMmQ0MTY5YzRhZTMyMmFkYjc0MGUuanMiOjMzMTc2PT09ZT8iX19MQU5HX18uIitlKyIuMjkwMGIxNzFiNmFmY2JlNWZjYzQuanMiOjE0NT09PWU/Il9fTEFOR19fLjE0NS44MTJjOTAzYTA1Y2FhYTJjYTEyNS5qcyI6MTI2NjM9PT1lPyJfX0xBTkdfXy4iK2UrIi43NDE5MzQyMzU0ZWNhMmZmZTMxNy5qcyI6MTE1MjY9PT1lPyJfX0xBTkdfXy4iK2UrIi4xN2RkMTM5ZjYwNGEyZDk4M2M3Ny5qcyI6NDI1MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNDg3NjY3ZDMzMzE4MmMxZWI1Zi5qcyI6Njk4MTI9PT1lPyJfX0xBTkdfXy4iK2UrIi44MzM3NmJlMzMxZWJkZTk4YTU0ZC5qcyI6NDY4MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi40ZGY5Y2Q3NDdjZWZjMjRmMTg0Yy5qcyI6MjEwODA9PT1lPyJfX0xBTkdfXy4iK2UrIi5jNzM3M2UxOGM3ZDc4MDc0ZTQwYS5qcyI6MTQ5OTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4wN2Q2ZTg1YjZkMDU4ODE1MmJhYS5qcyI6NTQ5MDQ9PT1lPyJfX0xBTkdfXy4iK2UrIi40YWZkZmI5MGNjNzVkYWQ2ZThjYS5qcyI6MzkzNz09PWU/Il9fTEFOR19fLjM5MzcuY2IxM2QyZjQ0MWU5NjNiOGY4NTEuanMiOjM3MDkxPT09ZT8iX19MQU5HX18uIitlKyIuODg5OTAzZmE0MTgwYTQwYmI3MWYuanMiOjM5ODM9PT1lPyJfX0xBTkdfXy4zOTgzLjZmOWJlZmFhMDVhNjg1YzcwNjg0LmpzIjo0MzA2MD09PWU/Il9fTEFOR19fLiIrZSsiLjRjZWU5ZGJmZGY0ZmVjN2I0ZjM4LmpzIjoxMDg0MT09PWU/Il9fTEFOR19fLiIrZSsiLjc2NmY5NjY4NzhiN2Y4NzI2ZDc0LmpzIjo3OTk3OT09PWU/Il9fTEFOR19fLiIrZSsiLjNkYTNmZmQyNzExMGViODg5MGQzLmpzIjo5MzI5MD09PWU/Il9fTEFOR19fLiIrZSsiLmZhMDEwZTQyNmY5YWYwOGRkNDNlLmpzIjo0MjE2Nz09PWU/Il9fTEFOR19fLiIrZSsiLmM2ZTM1MWI0MTc1Y2YyZjg4NjhhLmpzIjoxOTI2ND09PWU/Il9fTEFOR19fLiIrZSsiLmE5NDdkNjMxODJlZjE1ZDg3MTgzLmpzIjo4ODQzMj09PWU/Il9fTEFOR19fLiIrZSsiLjQ0MDYwYWRkMjE2MjgwY2ZhMGQzLmpzIjoxMjY1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjYzNTc2NjU5MmI0NmRlNzQ4ZThkLmpzIjoxNzEyMz09PWU/Il9fTEFOR19fLiIrZSsiLmFkNGQ4ZTc2ODNlMzQ2ZjEyZTEyLmpzIjoyNTc1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjczN2Y2NTNhN2IxM2YwNmE5ZmNlLmpzIjozNDkwOD09PWU/Il9fTEFOR19fLiIrZSsiLjQ4OGNkMTQ3MzYwMTljZWYyN2JjLmpzIjo3MzcyNT09PWU/Il9fTEFOR19fLiIrZSsiLmFiNzNlOTU0ZDJjZDFiZTM2ZGM0LmpzIjo0MDg5Mj09PWU/Il9fTEFOR19fLiIrZSsiLjc2ZWUzYzUyNDE3YTYwZmIwOTMxLmpzIjo0ODgzNz09PWU/Il9fTEFOR19fLiIrZSsiLmVkNjU2NzNlNTgzN2NkODY3MzdhLmpzIjo5NjQ0OD09PWU/Il9fTEFOR19fLiIrZSsiLmEyMzA5M2IyMGMyZTQ4YWFjMTJiLmpzIjo2MDkzOT09PWU/Il9fTEFOR19fLiIrZSsiLmVlNmNiZWVmODZkZDhmZjEwOTY0LmpzIjo0OTIxNT09PWU/Il9fTEFOR19fLiIrZSsiLjJjMjE1NmZhMGU4NTQ1Y2JjYWFiLmpzIjoyMDg2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNkYjhlOGVlZWU2ODZhNTA5YjIwLmpzIjo0MTI4MD09PWU/Il9fTEFOR19fLiIrZSsiLjJhYTNjZDA3ZDYwMGViOTZjYmJjLmpzIjo4MTM5NT09PWU/Il9fTEFOR19fLiIrZSsiLmI2ZDgzYzc0ODhkZjQ5MDM5NGY4LmpzIjoyNjc3MT09PWU/Il9fTEFOR19fLiIrZSsiLmUzYjAzNTVjZmZkMDc3YmRlMjQyLmpzIjoxMDY3ND09PWU/Il9fTEFOR19fLiIrZSsiLjY1YWNkY2NmZWYwZjNmNDk4MmUwLmpzIjo0OTc0Nz09PWU/Il9fTEFOR19fLiIrZSsiLjlmZGRlOGRmYmQ0NTY2MzhmMzExLmpzIjozODUzNT09PWU/Il9fTEFOR19fLiIrZSsiLjI2OTE4OTI3NWFkZGQxZjc2N2I1LmpzIjo1OTMxPT09ZT8iX19MQU5HX18uNTkzMS4yZDAwYTEwNjc4ZTc4Y2Q2NmM5Mi5qcyI6ODYzMT09PWU/Il9fTEFOR19fLjg2MzEuN2FjZjJiYTQ0MjE2MzMyM2E2ZWMuanMiOjg0OTAwPT09ZT8iX19MQU5HX18uIitlKyIuMGQzNzYyZmQwY2U3MjNlNTQxZGIuanMiOjM5OTg4PT09ZT8iX19MQU5HX18uIitlKyIuM2M5ZDQ2ZDY5ZjVhZDcyMTA5YTAuanMiOjM5NTA0PT09ZT8iX19MQU5HX18uIitlKyIuZWI3Yzg1OGEyMzEwOGFjYTdmZWUuanMiOjgyMDAzPT09ZT8iX19MQU5HX18uIitlKyIuZDc0OGI4Njg4MDM4ZTcyOWVmMDkuanMiOjE4OTExPT09ZT8iX19MQU5HX18uIitlKyIuNjk4MTkzOGIxMTQzYWFhNjE1NzcuanMiOjUzNzg5PT09ZT8iX19MQU5HX18uIitlKyIuZTQ1ODQ1YmYwMDRlNjRhNzFmNmIuanMiOjU0NjQ9PT1lPyJfX0xBTkdfXy41NDY0LjFkNmMzNjI2ZTQ4NTNmYWUzN2ZlLmpzIjo4OTUzND09PWU/Il9fTEFOR19fLiIrZSsiLjE4N2FiMTllNDViNjZjNzk0MmMzLmpzIjo4Njg3MT09PWU/Il9fTEFOR19fLiIrZSsiLmJlN2JmMGEyYjM0YjM3Yjg1ZjRiLmpzIjoyMTg4OD09PWU/Il9fTEFOR19fLiIrZSsiLjliM2QzZmNjYjgyZDI1ODc2MzMyLmpzIjo3ODM9PT1lPyJfX0xBTkdfXy43ODMuNmI4ZDMzZmFiZjYwYmE1MzE1MDcuanMiOjI2NzY0PT09ZT8iX19MQU5HX18uIitlKyIuZDhmZjZlMjlmYWU1ZTJlNDMxNDguanMiOjE3MDkyPT09ZT8iX19MQU5HX18uIitlKyIuODlkOGUwYmY1MWE3N2Q2Y2U3MzEuanMiOjUzNDExPT09ZT8iX19MQU5HX18uIitlKyIuZTgwM2YzZDcyOWI5NTViZTZlMzYuanMiOjg2MjM4PT09ZT8iX19MQU5HX18uIitlKyIuZGIwNzUwYTcwZDM2NzhiM2ExMmQuanMiOjg2MzI0PT09ZT8iX19MQU5HX18uIitlKyIuZDkzN2I2NzRlMmUwYTY1MGZjMDkuanMiOjI0NTA9PT1lPyJfX0xBTkdfXy4yNDUwLjYxM2I4MWRmYjc1MDZkZjdjNTk5LmpzIjo3Mjc1PT09ZT8iX19MQU5HX18uNzI3NS43NTFmNzU4NzU0MDUwNDg4NzEyMy5qcyI6NTY4MDE9PT1lPyJfX0xBTkdfXy4iK2UrIi43MDAwZjcwOGViNmY0NzFiMGQ3Zi5qcyI6MzQ0NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5kODg0ZTE0ZDQzMjYxM2UxNzU5Yi5qcyI6OTQyNTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5lYTFiMzM0MzhlYTEwOGNiNDcxZi5qcyI6ODQ5Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi4xZmNkMTM1ZGViODM4ZjdmOTFkYi5qcyI6ODc0Njg9PT1lPyJfX0xBTkdfXy4iK2UrIi44NWFjZDc2OTQyNzM2NzFhNWUxZS5qcyI6ODcwMDc9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMGZmMDQ0NTQwZmNmMmZkZGYwNi5qcyI6Mjc3NjE9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMzdiOTUxMGZlZjNhZjI4MDk5Mi5qcyI6NDkzOTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4yZWYyNTYyNTJjMjMxZDY5MzVhMi5qcyI6NDM1NzY9PT1lPyJfX0xBTkdfXy4iK2UrIi5iOGYyOGE1MjRjNzUxM2RjZjA1Zi5qcyI6MTMzOT09PWU/Il9fTEFOR19fLjEzMzkuZjkwZWUwZWNkMmM3NzZmNmRjMDcuanMiOjY5Nzc3PT09ZT8iX19MQU5HX18uIitlKyIuYWQyZmU0ZmM3YzJjMGYyZjRiMDEuanMiOjg4MDM9PT1lPyJfX0xBTkdfXy44ODAzLjIxYzJjYTgyOTEyMmU5MTVkZjIzLmpzIjoxOTkxNj09PWU/Il9fTEFOR19fLiIrZSsiLjQyZWUxZTk4ZDc1MzBhYTU2NTUzLmpzIjo2MTA4OD09PWU/Il9fTEFOR19fLiIrZSsiLjA4MzNmM2YxNzM1OGRkMTdlN2ZkLmpzIjozNTE1MD09PWU/Il9fTEFOR19fLiIrZSsiLjdiMGNmM2YwZmIwZDQ4YTU0MTg2LmpzIjoxNTk5OD09PWU/Il9fTEFOR19fLiIrZSsiLjVmYjFlN2JlYzc1NTcyYzAxMGExLmpzIjo2NTI1OT09PWU/Il9fTEFOR19fLiIrZSsiLmE2Njg5MzUwNTZhYWU5OWMzMzQxLmpzIjo4NTk0Mz09PWU/Il9fTEFOR19fLiIrZSsiLjM1Y2UwN2ZlOWViYzQ4NmIwMzAxLmpzIjo4NjgwOD09PWU/Il9fTEFOR19fLiIrZSsiLjQ4NzJlNjU3MmZlYTMwNDE0NWI5LmpzIjo0OTUwMT09PWU/Il9fTEFOR19fLiIrZSsiLjQwMzRjYWU3ZWFhZDVjZjY5Y2IyLmpzIjo4NzU0Mj09PWU/Il9fTEFOR19fLiIrZSsiLmExYTRhMDBmNGI2YmE0NDFkNmUyLmpzIjo3NzI2Mz09PWU/Il9fTEFOR19fLiIrZSsiLjcwMGYzYTAwYjI5MmRkMjg4YmI4LmpzIjo4MzA4Mz09PWU/Il9fTEFOR19fLiIrZSsiLjg4NDAxNmY2ZGJhMWEwOTRlYzU0LmpzIjo2MzA1MT09PWU/Il9fTEFOR19fLiIrZSsiLmQxN2Y3MmJkZjA4ZTAxOTdiMjJiLmpzIjo1MjMyND09PWU/Il9fTEFOR19fLiIrZSsiLjYyNjVlMDA0ZTAzNjE5NDY5ZmE2LmpzIjo2NTc1MD09PWU/Il9fTEFOR19fLiIrZSsiLmUwN2Y4NmZkZjY3ODE2ZDU4YTk3LmpzIjo2NzQzNj09PWU/Il9fTEFOR19fLiIrZSsiLmE3OTc2NTQ4OWE4NjJiYWY5NTNhLmpzIjo1NDI0OD09PWU/Il9fTEFOR19fLiIrZSsiLmI1MjVjMzAxNWM4NjE4Y2U3NDA4LmpzIjo1NDc4MT09PWU/Il9fTEFOR19fLiIrZSsiLjdhNzNjMTMzYjg4OGUxNmEzYWVjLmpzIjo3MzcwPT09ZT8iX19MQU5HX18uNzM3MC5hMGJmODgwN2RhOGQzNTlhMTQ5Yy5qcyI6MTQyMj09PWU/Il9fTEFOR19fLjE0MjIuYzU2MWU0NTkyN2M2Njg4MzhkM2EuanMiOjE3ODU5PT09ZT8iX19MQU5HX18uIitlKyIuNGE1ODBhY2U0OTE0ZjExNWNkMDcuanMiOjE2Mzc3PT09ZT8iX19MQU5HX18uIitlKyIuNGVhZDdiYmRlM2VlZDljYjJlY2IuanMiOjQyMjM2PT09ZT8iX19MQU5HX18uIitlKyIuZTg4NTUwNjljNzBlZTZiNjRlYzcuanMiOjM4NTU1PT09ZT8iX19MQU5HX18uIitlKyIuODQ3NzIyMDc2ZmQwMjExNjQyNmYuanMiOjk5MjIwPT09ZT8iX19MQU5HX18uIitlKyIuNWJmNGZlOTdkYTk2YzZkNGE4OTQuanMiOjYxOTEzPT09ZT8iX19MQU5HX18uIitlKyIuNmQ4MTczNzYyNzA5MzMzYzdhZGEuanMiOjY0MzYxPT09ZT8iX19MQU5HX18uIitlKyIuMzVkZjNiMjdkNDVlZTgyNjI0ZmUuanMiOjUxMzE0PT09ZT8iX19MQU5HX18uIitlKyIuMTAzMTQzYTZiMjg3ZmVkZWMwYzIuanMiOjk1NzcyPT09ZT8iX19MQU5HX18uIitlKyIuYzI4NDVlN2Q2YTIzYjU0NTliYTUuanMiOjY4NjcyPT09ZT8iX19MQU5HX18uIitlKyIuMjUzMzhhYjE2NzBlMDMwNzUyZWIuanMiOjI4ODc1PT09ZT8iX19MQU5HX18uIitlKyIuZWRlMWI3MjE4MTY5M2QxYWNmNGYuanMiOjczMTkwPT09ZT8iX19MQU5HX18uIitlKyIuNDI3NzkyYzcxOGEzZjU5MThkMDUuanMiOjk0NzAyPT09ZT8iX19MQU5HX18uIitlKyIuNmM1ZDUyOWVhY2Y1OGYxY2QyYzEuanMiOjEyMzkzPT09ZT8iX19MQU5HX18uIitlKyIuOGNhMDRmYTc4ZjA0M2E4Yjk5YWMuanMiOjQ3MDMwPT09ZT8iX19MQU5HX18uIitlKyIuOWFhNmUwZmY0ZWRkYTE2ODc1MzYuanMiOjkwMjUxPT09ZT8iX19MQU5HX18uIitlKyIuMjkxYzVkMGYxZWYwOTdiMDljMTguanMiOjQwNTU3PT09ZT8iX19MQU5HX18uIitlKyIuNzRlYzZhZjVmMTg5ZWExYjRiYmEuanMiOjI5NjE4PT09ZT8iX19MQU5HX18uIitlKyIuZGQyMDhmYTlkMjZlNzMyODEwOWMuanMiOjQ0MDY2PT09ZT8iX19MQU5HX18uIitlKyIuNjg4ODFlZTU3ZjMwYzQwM2JiMDMuanMiOjQyNTE9PT1lPyJfX0xBTkdfXy40MjUxLmVhZGNlODIwZTIwODFlNDFmZTM2LmpzIjoyOTgyMT09PWU/Il9fTEFOR19fLiIrZSsiLmEwOTkxMWZmNDhmYmIwN2JiNzdkLmpzIjo2MTA2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNjYjZjNjQyM2M2YjFmYTAxMGRmLmpzIjo3NjM4NT09PWU/Il9fTEFOR19fLiIrZSsiLmEzOGM4ZTkyMTk2MGNlYTQ0MDE5LmpzIjoyNjA1PT09ZT8iX19MQU5HX18uMjYwNS5mNzAwYWY2Y2I4MGIwNmU1NTRkZC5qcyI6OTk4NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi41NTg4ZjJiZGYzNDkxMmVjMTQ0OC5qcyI6OTk3NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi42ZGE2YmRiYjA4ZjZmN2I5YzFkZC5qcyI6MzA1OTc9PT1lPyJfX0xBTkdfXy4iK2UrIi44NGE0YjNlM2NjYjZkN2MyZjIyYS5qcyI6NDU1MjI9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYTY2MGExNDIxMjRhZGY0NTA0My5qcyI6MTAzMz09PWU/Il9fTEFOR19fLjEwMzMuNzM0YmQ3ZGFmZTc3N2NmMmRmNjEuanMiOjg4ODkxPT09ZT8iX19MQU5HX18uIitlKyIuMmY2NjNiZDEyNWRiMjhmMWNiZGEuanMiOjg4NDI9PT1lPyJfX0xBTkdfXy44ODQyLmY0ODQ0YjQ0MDc4MWIxOWU0NTA4LmpzIjoxOTAzND09PWU/Il9fTEFOR19fLiIrZSsiLjMwNTE3MjA0N2U3ZmFiYjUzNDgxLmpzIjoxNjcyPT09ZT8iX19MQU5HX18uMTY3Mi5mY2Y2OTljNDJjYmY2ZGEwNTAzZC5qcyI6MjEzOTc9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNDFmNmM3Yjc2NTdlNTU1NGRmMC5qcyI6MjkxNjk9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMzU3M2RkMzNhYmVlZWViZWYwNC5qcyI6MTg4OTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5kZjg2NzhmYjFmZWY3NzFiNTNhYS5qcyI6MTg2Mjg9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMmIwYmMyMDhkNWUxOTBhMzczMy5qcyI6NzM2MzM9PT1lPyJfX0xBTkdfXy4iK2UrIi4wNWI1ZWZmNDZkNTkxNTcxNGZmYy5qcyI6Njc5NDk9PT1lPyJfX0xBTkdfXy4iK2UrIi45NDAxYWZjYjdiZDQ3N2UzMTlhMS5qcyI6Njg4NjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNzY2ZDExMDc4ODEyZDdmMTQ1Ny5qcyI6MTg3ODE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zOGYxMDNjZWIzNTFkNjhjMmY4Zi5qcyI6NDg5MTI9PT1lPyJfX0xBTkdfXy4iK2UrIi4wN2YxM2U2OTRkZGY1NGI0ZGVlYi5qcyI6NjQ0NDE9PT1lPyJfX0xBTkdfXy4iK2UrIi42ZDNhMDdiOWE4MTQwODczMWNjNC5qcyI6MzMzOTE9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZWRkMWQzY2VlZmJlNGNlNjgwMi5qcyI6NTUwMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi5jYWZjZDVlNTA1M2YxMDhlZTYzMS5qcyI6OTM3NTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNmRlZWE5OWMyYTlkOTU5NWIzZi5qcyI6Njc1ND09PWU/Il9fTEFOR19fLjY3NTQuYmQxZGNiNWU1MzhkNzVhN2QxN2YuanMiOjkzOTA1PT09ZT8iX19MQU5HX18uIitlKyIuYzhmNjE0YzQxYzIzZjJmYTMwYjMuanMiOjgxNzQ2PT09ZT8iX19MQU5HX18uIitlKyIuNzNlNmU5ZmEzNzEyOTkyYWRmODEuanMiOjc4MzY1PT09ZT8iX19MQU5HX18uIitlKyIuYmEzMDJjMTI0NmY3ODJhZmJmZWUuanMiOjgyMjQyPT09ZT8iX19MQU5HX18uIitlKyIuZTJkZjJhNWQxMzYyZjZjNGEzOTYuanMiOjkxMjc4PT09ZT8iX19MQU5HX18uIitlKyIuNTVjOTRkZTIzNjQxZTBhZmU5NmEuanMiOjIxMDY2PT09ZT8iX19MQU5HX18uIitlKyIuYTgxOWE2MzE4MDEwYTBkOTkyZGMuanMiOjk0MjM3PT09ZT8iX19MQU5HX18uIitlKyIuZTlkZTczNGMwMDBjZTY3MDYxM2IuanMiOjYyNTc0PT09ZT8iX19MQU5HX18uIitlKyIuZDBiODNmZDliODM0YjBiY2MzNzUuanMiOjI0NDUwPT09ZT8iX19MQU5HX18uIitlKyIuZGQzMTBiZmNkNzBkM2JkMWVjMjAuanMiOjkyOTY0PT09ZT8iX19MQU5HX18uIitlKyIuYWE2NzBkZGZkMTY1OTU5NjRhZWIuanMiOjQ1NTk3PT09ZT8iX19MQU5HX18uIitlKyIuNThmYzJlMjJhZjhmMTAyYTQ2MGEuanMiOjEwMzgyPT09ZT8iX19MQU5HX18uIitlKyIuYThlM2Y3MzYzNzY4M2YwN2IxNWIuanMiOjcwODU3PT09ZT8iX19MQU5HX18uIitlKyIuNDAzZTRlM2JiOWI1OTZhZDAzOTcuanMiOjYwMzY1PT09ZT8iX19MQU5HX18uIitlKyIuYjQwN2FkMTYxOGFiNjViOWUxNjYuanMiOjYxODAzPT09ZT8iX19MQU5HX18uIitlKyIuZmY1ODc4OWM0MzVhMDk3MDZjZTkuanMiOjMyOTA9PT1lPyJfX0xBTkdfXy4zMjkwLjE3ZDk1OTMyOGQzYmMwN2Y0M2IxLmpzIjo5MjY1MT09PWU/Il9fTEFOR19fLiIrZSsiLjA4NDNiZjM4YmVlODMxMWM2NzdiLmpzIjo1ODgyMD09PWU/Il9fTEFOR19fLiIrZSsiLjA5YjQxZDJlZDg0Yjc5ZjRmZTI0LmpzIjo2NDUwPT09ZT8iX19MQU5HX18uNjQ1MC42NDc1NTY5ZjYxNGQyOTMyMTY4OC5qcyI6MTc0NDM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iMzVkN2MwZmYxMDA5ZTM0ZTcyNC5qcyI6KHsKMTU1OiJzaG93LXJlcG9ydC1kaWFsb2ctaW1wbCIsMzM4OiJzdHVkeS1lbGxpb3R0LXdhdmUiLDU3NzoiY29udmVyc2lvbi1jb250ZXh0Iiw5OTM6ImxpbmUtdG9vbC1iZXppZXItY3ViaWMiLDExMDA6ImxpbmUtdG9vbC1yZWdyZXNzaW9uLXRyZW5kIiwxMjAzOiJmaW5hbmNpYWxzLXBlcmlvZC1kb2N1bWVudHMtZGlhbG9nIiwxNDA5OiJiYWNrdGVzdGluZy1pbXBsIiwxNDM4OiJsaWdodHdlaWdodC1hbmFseXNpcy1jaGFydC1kZXBzIiwxNDY0OiJzY3JpcHQtdmlldyIsMTUyMToienhjdmJuRW5QYWNrYWdlIiwxNjQ2OiJsZWdlbmQtdmlldy1yZW5kZXJlciIsMTY5OToiY2hhcnQtcmVuZGVyZXIiLDE4MjY6ImxpbmUtdG9vbC12ZXJ0aWNhbC1saW5lIiwyMjg0OiJyZWd3YWxscy1tYW5hZ2VyIiwyNTAxOiJsaW5lLXRvb2wtNXBvaW50cy1wYXR0ZXJucyIsMjg1OToidmlkZW8tanMtc3R5bGVzIiwzMDM5OiJuZXctY29uZmlybS1pbnB1dHMtZGlhbG9nIiwzNTI0OiJsaW5lLXRvb2wtc2lnbnBvc3QiLDM4NTE6InVzZXItYmFuLWZsb3ciLDM5NjE6InByb2ZpbGUtYXBpIiw0ODU1OiJjaGFydC1uZXdzIiw0OTg3OiJwaW5lLXZpZXdlci1pbXBsIiw1MzMxOiJvcGVuLXNoYXJlLXBvcHVwLWltcGwiLDUzNDM6Im9wZW4tYmxvY2staW5mby1tZW51LWltcGwiLDU5MTc6ImxpbmUtdG9vbC10ZXh0LW5vdGUiLDU5Nzk6ImhpcDMtZGlzY2xhaW1lciIsNjQyNToidGhlbWVzIiw2NDg5OiJzaG93LXN0b2NrLWJvbmRzLWRpYWxvZyIsNjg1MjoibGluZS10b29sLWhvcml6b250YWwtbGluZSIsNzM5NzoicGVyaW9kLWZvcm1hdHRlciIsNzYzNzoibGluZS10b29sLXNpbmUtbGluZSIsNzcxODoicGluZS5tb25hcmNoLnY1Iiw4MjA4OiJzaG93LWV0ZnMtZGlhbG9nIiw4Mjk3OiJjdXJyZW5jeS1sYWJlbC1tZW51Iiw4MzM2OiJsaW5lLXRvb2wtZmxhdC1ib3R0b20iLDg2MDg6InN1cHBvcnQtZGlhbG9nLWltcGwiLDg3MDc6InNlcmllcy1jaGFydC1iYXNlIiw5MDc1OiJsaW5lLXRvb2wtYXJyb3ctbWFya2VyIiw5MTA3OiJwdWJsaWNhdGlvbi12aWV3LXBvcHVwLXJlbmRlciIsOTU5OToiY29udGFjdC1hZHZhbmNlZC1jaGFydHMtZGlhbG9nIiwxMDMyNToiZm9ybSIsMTA1MDU6ImxpbmUtdG9vbC1lbGxpcHNlIiwxMDY0MzoibGluZS10b29sLWNhbGxvdXQiLDEwNzA0OiJjcmVhdGUtZGlhbG9nIiwxMDc4ODoibGluZS10b29sLXRyZW5kLWJhc2VkLWZpYi1leHRlbnNpb24iLDExMzA0OiJzaG93LWVjb25vbXktaW5kaWNhdG9yLWRpYWxvZyIsMTE0MzU6Im5vdGVzLWRpYWxvZyIsMTE5MTE6ImxpbmUtdG9vbC1mbGFnLW1hcmsiLDEyMDYwOiJzb3VyY2UtcHJvcGVydGllcy1lZGl0b3IiLDEyMTM2OiJpZGVhLXZpZXciLDEyMjI3OiJ2b2x1bWUtZm9vdHByaW50LXN0dWR5IiwxMjQ0ODoiZGVsYXktc3RhdHVzLXBhbmUtdmlldyIsMTNlMzoiZWRpdGNoYXRyb29tZGlhbG9nIiwxMzEyMzoiZWFybHktYmlyZC1iYW5uZXIiLDEzNjA5OiJnZXQtY2hhdGlkLWJ5LXVzZXIiLDEzNzE5OiJwaG9uZS1jaGFuZ2UtZmxvdyIsMTM3MzI6ImZ1bGxzY3JlZW4taW1hZ2UtZGlhbG9nLWltcGwiLDEzODM0OiJzaG93LXdhdGNobGlzdHMtZGlhbG9nIiwxMzk4MjoicGluZS1kaWFsb2ciLDEzOTkzOiJwdXNoc3RyZWFtLW11bHRpcGxleGVyIiwxNTE2MDoic2hvdy1hbmFseXNpcy1kaWFsb2ciLDE1MTczOiJmaXJlcy1hY3Rpb24tY3JlYXRvcnMiLDE1MTk2OiJzdnAtc3R1ZHkiLDE1NzM0OiJsaW5lLXRvb2wtcG9seS1saW5lIiwxNTc2NzoienhjdmJuQ29tbW9uUGFja2FnZSIsMTYxMjY6ImNhbnZhcy1yZW5kZXJpbmctY29udGV4dC1zYXZlLXJlc3RvcmUtbGVha3MtdXRpbHMiLDE2MjkyOiJtb25hY28uZWRpdG9yLmxvY2FsZS5kZSIsMTY2Nzg6InNjcmlwdC1hY2Nlc3MtcmVxdWlyZWQtZGlhbG9nIiwxNjgxMzoidHJhZGluZ3ZpZXctY29weXJpZ2h0LXdpdGgtYm9yZGVyLWRhdGEtaW1wbCIsMTY5NDk6InN0dWR5LXRlY2huaWNhbHMtc2VhcmNoLWRpYWxvZyIsMTcwMjg6ImRvY3VtZW50LWVhcm5pbmctcG9wdXAtY29udGVudCIsMTcyMjY6InNob3dNYXhGb2xsb3dpbmdzRXhjZWVkRGlhbG9nIiwxNzMzNjoiY29tcGFyZS1tb2RlbCIsMTc1MTU6ImxpbmV0b29scy1saW1pdC1leGNlZWRlZC1kaWFsb2ciLDE3NjMzOiJsaW5lLXRvb2xzLXNwbGl0LWFkanVzdGVyIiwxNzkwOToic2NyaXB0LWZvcm0iLDE4MzA0OiJsdC1pY29ucy1hdGxhcyIsMTgzMTE6InNjcmlwdC1wcmVmZXRjaGVyIiwxOTAxMjoibW9uYXJjaC5jb2xvcml6ZXIiLDE5MTQzOiJtb25hY28uZWRpdG9yLmxvY2FsZS56aC1oYW5zIiwxOTIxMzoicHVibGljYXRpb24tdmlldy1pZGVhIiwxOTMxMToidGFrZS1zY3JlZW5zaG90IiwxOTMxNDoib3Blbi1kZWZhdWx0LXNjcmlwdC1kaWFsb2ciLDE5NzIyOiJmbG9hdGluZy10b29sYmFycyIsMTk3Njk6InN1YnNjcmlwdGlvbi1oYXMtY2hhbmdlZC1kaWFsb2ciLDE5ODE2OiJ0b2FzdC1sYXllciIsMTk5Mzg6InN5bWJvbC1saXN0LXNlcnZpY2UiLDIwMjQ3OiJsaW5lLXRvb2wtdHdlZXQiLDIxMTA2OiJtaW5kLXBvcHVwLWVtcHR5LXN0YXRlIiwyMTI2MDoibnNkLXVucGFjay1pbXBsIiwyMTU5NjoibGluZS10b29sLWZpYi1zcGVlZC1yZXNpc3RhbmNlLWZhbiIsMjE3NjY6ImRyYXdpbmctaGludHMtcmVuZGVyZXIiLDIxOTc3OiJsaW5lLXRvb2wtdHJpYW5nbGUiLDIyMDIwOiJzaG93LXBvcnRmb2xpby1kaWFsb2ciLDIyMTYzOiJsaW5lLXRvb2wtdGVtcGxhdGVzLWxpc3QiLDIyMzQ3OiJhZGQtY29tcGFyZS1kaWFsb2ciLDIyNTMyOiJjaGFydC1zb3VyY2UtaWRzLWdldHRlciIsMjI1NDc6ImdvcHJvLWRpYWxvZyIsMjMxMTQ6ImxpbmUtdG9vbC1pY29uIiwyMzc2OToic3VwcG9ydC13aXphcmQtc2hvcnRjdXQtcGFnZSIsMjQwMTM6ImxpbmUtdG9vbC1wcmljZS1ub3RlIiwyNDA0NDoiY29va2llcy1ub3RpZmljYXRpb24iLDI0MTA4OiJvcGVuLXBpbmUtZWRpdG9yLXNvdXJjZS1jb2RlIiwyNDEzNzoibGluZS10b29sLWZpYi1yZXRyYWNlbWVudCIsMjQyNjk6Im1vbmFjby5sYW5ndWFnZS5jbGllbnQiLAoyNDk5MDoibW9uYWNvLmVkaXRvci5sb2NhbGUuamEiLDI1MjM3OiJuZXctZWRpdC1vYmplY3QtZGlhbG9nIiwyNTQ2Mzoic2hvdy13YXJuaW5nLWFsZXJ0cy1tYXgtdG90YWwtY291bnQtZXhjZWVkZWQiLDI1NTU3OiJzaG93LW92ZXJhbGwtd2F0Y2hsaXN0LWFsZXJ0cy1saW1pdC1wb3B1cCIsMjU2Mjg6InNuYWNrYmFyLW1hbmFnZXIiLDI1NjM0OiJsaW5lLXRvb2wtYXJyb3ctbWFyayIsMjU2NDg6ImxpbmUtdG9vbC1yaXNrLXJld2FyZCIsMjYwNjY6ImNvbnRhY3QtcHJpdmFjeS1wb2xpY2llcy1kaWFsb2ciLDI2MDcwOiJsaW5lLXRvb2wtZmliLXNwZWVkLXJlc2lzdGFuY2UtYXJjcyIsMjcwNTI6ImxpbmUtdG9vbC10cmVuZC1hbmdsZSIsMjcxMTg6InRvb2x0aXAtY2hhcnQtY2FyZCIsMjc4OTE6InNlbmQtbWVzc2FnZS1kaWFsb2ctaW1wbCIsMjg0OTg6InByaXZhY3ktcHJlZmVyZW5jZS1kaWFsb2ciLDI4NTA3OiJnZXQtZXJyb3ItY2FyZCIsMjg2NjA6ImZ1bGwtdG9vbHRpcHMtcG9wdXAiLDI4NzE1OiJtb25hY28uZWRpdG9yLmxvY2FsZS56aC1oYW50IiwyODcxODoiZ28tdG8tZGF0ZS1kaWFsb2ctaW1wbCIsMjkwNzQ6InN0dWR5LXppZy16YWciLDI5NzY1OiJpbmRpY2F0b3ItdGVtcGxhdGVzLWRpYWxvZyIsMjk3OTg6ImRvY3VtZW50LWNhcmQtcG9wdXAiLDMwMDM0OiJtb25hY28uZWRpdG9yLmxvY2FsZS5wdC1iciIsMzAzMDQ6ImNvbnRhY3QtZWR1Y2F0aW9uYWwtZGlhbG9nIiwzMDc3NDoibGluZS10b29sLXN0aWNrZXIiLDMwOTQ2OiJhbGVydHMtcmVzdC1hcGkiLDMxMTUyOiJtb25hY28ubGFuZ3VhZ2Uuc2VydmljZXMiLDMyMjczOiJzdHVkeS1waXZvdC1wb2ludHMtaGlnaC1sb3ciLDMyNjEzOiJjb250YWN0LWVudGVycHJpc2UtcGxhbnMtZGlhbG9nIiwzMzEyNDoibGluZS10b29sLXJlY3RhbmdsZSIsMzM0MTA6InBlcmZvcm1hbmNlLXRlc3QtbW9kZS0xIiwzNDE4OToiYnVnLWRpYWxvZy1jcmVhdGlvbi1oYW5kbGVyIiwzNDU1NToic2hvdy1jb250cmFjdHMtZGlhbG9nIiwzNDY0NzoibGluZS1yYW5nZS10b29scyIsMzQ2NTQ6ImxheW91dC1jaGFydC1zeW5jIiwzNDg3OToiaW50ZXJydXB0LWNvbmZpcm0tbW9kYWwiLDM0OTU0OiJzaG93LW9wdGlvbnMtZGlhbG9nIiwzNTM0NDoicHVibGljYXRpb24tY29tbWVudHMtY29udGFpbmVyIiwzNTQ4NToidHBvLXN0eWxlLXByb3BlcnR5LWRlZmluaXRpb25zIiwzNTUzNToidXNlci1wb3B1cCIsMzU1OTI6ImVycm9yLWxvdHRpZS1hbmltYXRpb24iLDM1NzkwOiJwb3BvdmVyLW1lbnUiLDM1OTIyOiJmYXZvcml0ZS1pbmRpY2F0b3JzIiwzNTk4MDoiY2xlYXItb2xkLXNldHRpbmdzIiwzNjM2NzoiYmFja3Rlc3Rpbmctc3RyYXRlZ3ktZmFjYWRlIiwzNjgwNDoiY2hhcnQtd2FybmluZy1oaW50IiwzNzIxMzoic2hvdy1ib25kLXlpZWxkLWN1cnZlLWRpYWxvZyIsMzc3NTY6ImV4Y2hhbmdlLWFncmVlbWVudC1kaWFsb2ciLDM3ODc3OiJpbnNlcnQtaW1hZ2UtZGlhbG9nIiwzODMzMzoiYm9vdHN0cmFwLW1vbmFjbyIsMzg0NDI6ImNoYXJ0LWFsZXJ0cy1mYWNhZGUiLDM4NDQ5OiJzaG93LXNlYXNvbmFscy1kaWFsb2ciLDM4Nzg3OiJwYWdlLXNuYXBzaG90IiwzOTIwMzoicGluZS1kaWFsb2ctb3Blbi1zdGF0ZSIsMzkyMzk6ImN1cnZlLWNoYXJ0LWNvbnRlbnQtdXRpbHMiLDM5MjUxOiJnZW5lcmF0ZS1hbGVydHMtZmlyZXMtY3N2LWZpbGUtaW1wbCIsMzk0NDI6ImNvbnZlcnQtbWVkaWF0b3Itc3RvcnkiLDM5ODQzOiJsaW5lLXRvb2wtdGFibGUiLDM5ODU5OiJmb290cHJpbnQtcGFuZS12aWV3Iiw0MDEwMToidHYtY29pbnMtZGlhbG9nIiw0MDI0MzoibGluZS10b29sLWFyYyIsNDAyNjY6InB1Ymxpc2gtdG9vbHMiLDQxMDYxOiJtb25hY28uZWRpdG9yLmxvY2FsZS5lcyIsNDEzMjg6InNlcmllcy1pY29ucy1tYXAiLDQxNTI0OiJoaXAzLWRpc2NsYWltZXItZGlhbG9nIiw0MTY3MjoibG9sbGlwb3AtdG9vbHRpcC1yZW5kZXJlciIsNDE4MTQ6InRvYXN0LWFkIiw0MjQwMjoidHJhY2stZXZlbnRzIiw0MjQ0MToic29sdXRpb24taWQtbWFwIiw0MjYyODoibGluZS10b29sLWFuY2hvcmVkLXZ3YXAiLDQyNzA2OiJzaW1wbGUtZGlhbG9nIiw0MjgzNjoid3JhcC1waW5lLXRhZ3MiLDQyOTM0OiJ3aWRnZXQtc2lkZXRvb2xiYXIiLDQzMTgwOiJjaGFydC1zY3JlZW5zaG90LWhpbnQiLDQzNDU4OiJhbGVydC11dGlscy1oYXMtdXNlci1hY2Nlc3MtdG8tZGF0YS1zb3VyY2UiLDQzNDk2OiJsaW5lLXRvb2wtcGF0aCIsNDM5MjY6IndpZGdldC10b3B0b29sYmFyIiw0NDE2MjoidGltZS1mcmFtZS12aWV3LXJlbmRlcmVyIiw0NDE2NToibGluZS10b29sLWNpcmNsZSIsNDQ0Njg6ImxpbmUtdG9vbC1yb3RhdGVkLXJlY3RhbmdsZSIsNDUzMjI6ImxpZ2h0d2VpZ2h0LWNoYXJ0LXByaWNlLXRpbWUtdG9vbHRpcCIsNDU5NDc6ImxpbmUtdG9vbC1nYW5uLXNxdWFyZSIsNDYxNjk6InVwZ3JhZGVEaWFsb2ciLDQ2MjUwOiJsaW5lLXRvb2wtcGFyYWxsZWwtY2hhbm5lbCIsNDYyNjA6InB1Ymxpc2hlZC1pZGVhLWJhbm5lciIsNDYzODM6ImNyZWF0ZS1lcnJvci1kaWFsb2ciLDQ2NjUwOiJ0YWJsZS12aWV3LWRpYWxvZyIsNDY3Mzk6ImxpbmUtdG9vbC1maWItd2VkZ2UiLDQ2NzcyOiJjaGFuZ2UtaW50ZXJ2YWwtZGlhbG9nIiw0NjgzMjoiYWdncmVnYXRlZC1iYXJzLWNoYXJ0Iiw0Njg4MjoidGFibGVjb250ZXh0LW1lbnUiLDQ3MzkwOiJsaW5lLXRvb2wtdGltZS1jeWNsZXMiLDQ3NTM4OiJzdHVkaWVzIiw0NzU1OToibWFuYWdlLWRyYXdpbmdzLWRpYWxvZyIsNDc1Nzc6InNob3ctbmV3cy1kaWFsb2ciLDQ3NjkyOiJsaW5lLXRvb2wtaW1hZ2UiLDQ3NzIzOiJjaGFydC1hY3Rpb25zLXByb3ZpZGVyIiw0Nzk2MToiZGVjbGFyYXRpb24iLDQ4MDAyOiJjb250YWN0LXdpZGdldHMtZGlhbG9nIiw0ODAyNzoidHJpYWwtY2FuY2VsZWQiLDQ4MTc4OiJzdXBwb3J0LXdpemFyZC13YXJuaW5ncyIsNDgyNTU6ImNoYXJ0LWZsb2F0aW5nLXRvb2x0aXAtYWN0aXZhdGlvbi1oaW50Iiw0ODQxMzoic3VwcG9ydC13aXphcmQtaGlnaC12b2x1bWUtaW5mbyIsCjQ4NTUyOiJ2aWRlby1iYW5uZXItZGlhbG9nIiw0OTY1MjoibW9uYWNvLm1vZGVsLnNlcnZpY2UiLDQ5ODM5OiJzb3VyY2UtdGFnLXBvcG92ZXIiLDQ5ODgzOiJicmFuZGluZy1zb3VyY2UiLDQ5OTc0OiJsaW5lLXRvb2wtYmFsbG9vbiIsNTAxODI6Imdsb2JhbC1ub3RpZmljYXRpb24iLDUwMjY5OiJjaGFydC10ZXh0LWVkaXRvci1yZW5kZXJlciIsNTAzMTc6ImxpbmUtdG9vbC1waXRjaGZvcmsiLDUwNjI1OiJnZW5lcmFsLWNoYXJ0LXByb3BlcnRpZXMtZGlhbG9nIiw1MDkyNzoibGluZS10b29sLWdob3N0LWZlZWQiLDUxMjYzOiJ2aWRlby5qcyIsNTE2ODY6ImN1c3RvbS1pbnRlcnZhbHMtYWRkLWRpYWxvZyIsNTIwODY6ImxpbmUtdG9vbC1nYW5uLWNvbXBsZXgiLDUyMDk0OiJzeW1ib2wtbGlzdC1jb250ZXh0LW1lbnUiLDUzNTQ3OiJwcm9tb3Rpb24tZGlhbG9nIiw1Mzc3MDoiZ2V0LW1lZGlhdG9yLWFwaSIsNTM4ODE6ImdvLXRvLXRyYWRpbmd2aWV3LXJlZmVycmFsLWRpYWxvZyIsNTQxNjA6InNob3ctcGluZS1kaWFsb2ciLDU0NjE1OiJyZWZlcnJhbC13ZWxjb21lIiw1NTM1NjoiZ2xvYmFsLW5vdGlmaWNhdGlvbi10b29scyIsNTUzODE6ImNoYXJ0LWJvdHRvbS10b29sYmFyIiw1NTk2MDoiY29udGFjdC1zZWN1cml0eS1yZXBvcnQtZGlhbG9nIiw1NjAwODoibmV3cy1kZXNjcmlwdGlvbi1kaWFsb2ciLDU2MzgyOiJ3aWRnZXRiYXIiLDU2NDA5OiJsaW5lLXRvb2wtZ2Fubi1mYW4iLDU2OTQ2OiJvcGVuLXJlcGxheS1wcm9wZXJ0aWVzLWRpYWxvZyIsNTcyMzQ6ImxpbmUtdG9vbC1maWItc3BpcmFsIiw1NzQ4NDoicHJvZHVjdHMtYnV0dG9uIiw1NzYzOToibWluaS1jaGFydC1zeW1ib2wtZGF0YSIsNTc2NzQ6ImFsZXJ0cy1jaGFydC1hY3Rpb24tY3JlYXRvcnMiLDU3NzE0OiJ1c2VyLXN0YXR1cy1kZWNsYXJhdGlvbiIsNTg0MTg6InNob3ctZG9jdW1lbnRzLWRpYWxvZyIsNTg2MTM6ImNoYW5nZS1wbGFuLWRpYWxvZy1pbXBsIiw1ODgxNzoidmFsaWRhdGUtaW50bC1hZGRyZXNzLWRpYWxvZyIsNTkzMjg6Imx0LXByb3BlcnR5LXBhZ2VzLXdpdGgtZGVmaW5pdGlvbnMiLDU5NTA3OiJwdWJsaWNhdGlvbi1hZHZlcnRpc2VtZW50Iiw1OTYzMDoiYXN5bmMtZ3ppcC53b3JrZXIiLDYwMzE3OiJiYWNrdGVzdGluZy1zdGF0aWMiLDYwNDkzOiJ3YXRjaGxpc3Qtd2lkZ2V0Iiw2MDU0ODoiZWRpdG9yLndvcmtlciIsNjA5Njk6ImVycm9yLXJlbmRlcmVyIiw2MTEyNjoiZ2V0LXNjYW4tZGF0YSIsNjE1MzM6InN0b3J5LWl0ZW0tdHJhbnNmb3JtIiw2MTg3NzoibGluZS10b29sLWJlemllci1xdWFkcm8iLDYyMDY4OiJmaW5hbmNpYWxzLXNvbHV0aW9uLWlkLW1hcCIsNjIyMzQ6Im5zZC1pbmZsYXRlLXBha28iLDYyMzYzOiJtb25hY28uZWRpdG9yLmxvY2FsZS50ciIsNjI1NTc6InN1cHBvcnQtd2l6YXJkLXdoYXRzLW5ldy1wYWdlIiw2MjgxMToid2FybmluZy1wb3B1cC1pbXBsIiw2MjkxNDoidm9sdW1lLWZvb3RwcmludC1zdHlsZS1wcm9wZXJ0eS1kZWZpbml0aW9ucyIsNjI5NDM6InJlYWN0LXBvcHBlciIsNjI5OTc6ImxvbGxpcG9wLWNoYXJ0LWV2ZW50cyIsNjMwODg6InBpbmUubW9uYXJjaC52MyIsNjMwOTQ6InN5bWJvbC1kZXRhaWxzIiw2MzE1OToic3RhY2tlZC1jb21wYXJlLXN5bWJvbHMtY2hhcnQiLDYzNTk1OiJ1c2VybmFtZS1oaW50cy1saXN0Iiw2MzYwNDoibGluZS10b29sLXBvc2l0aW9uIiw2Mzg3NToiY3JlYXRlLXB1Ymxpc2gtdW50cnVzdGVkLXN0cmF0ZWd5LWRpYWxvZyIsNjM4ODU6ImN1cnJlbmN5LWxhYmVsLW1lbnUtZXZlbnRzIiw2Mzk2ODoic3ltYm9sLWluZm8tZGlhbG9nLWltcGwiLDY0MTU4OiJsaW5lLXRvb2wtY3Jvc3MtbGluZSIsNjQxODU6Im1vbmFjby5lZGl0b3IubG9jYWxlLnBsIiw2NDU4ODoibGluZS10b29sLWZpYi10aW1lem9uZSIsNjQ2MzI6Im9mZmVyLWJ1dHRvbi1sb2dpbi1zdGF0ZS1jaGFuZ2UtaW1wbCIsNjQ2NDQ6InJlYWN0Iiw2NDg5MDoibGluZS10b29sLWJhcnMtcGF0dGVybiIsNjU1ODg6ImNoYXJ0LXdpZGdldC1ndWkiLDY1NjIzOiJwb3Atb3ZlciIsNjU2NDY6ImZvcmVjYXN0LXF1b3Rlcy1zbmFwc2hvdGVyIiw2NTkwOToicGVyc2lzdGVudC1sb2dnZXIiLDY1OTQ3OiJ2YWxpZGF0ZS1hZGRyZXNzLWRpYWxvZyIsNjYwNDA6ImxpbmUtdG9vbC1jb21tZW50Iiw2NjI4NDoibWFuYWdlLWFjY2Vzcy1kaWFsb2ctY29udGFpbmVyIiw2NjM5OToic25vd3Bsb3ctdHJhY2tlciIsNjY0NzI6InB1YmxpY2F0aW9uLXZpZXctcG9wdXAtbWFuYWdlciIsNjY2ODc6InJlY2FwdGNoYS1wb3B1cCIsNjY4NjY6InRwby1zdHVkeSIsNjc0ODQ6InNob3ctYWx0ZXJuYXRpdmUtZW1haWwtcG9wdXAiLDY3OTU4OiJwaW5lLWVkaXRvci1kaWFsb2ciLDY4MTU1OiJpbWFnZS1kaWFsb2ciLDY4MjAxOiJob3RsaXN0LXdpZGdldCIsNjgzODE6InN0dWR5LXByb3BlcnR5LXBhZ2VzLXdpdGgtZGVmaW5pdGlvbnMiLDY4NDgxOiJzeW1ib2wtc2VhcmNoLWRpYWxvZyIsNjg1MTk6InNob3ctZm9yd2FyZC1jdXJ2ZS1kaWFsb2ciLDY4OTgyOiJhbGVydHMtd2FybmluZy1kaWFsb2ciLDY5MjQxOiJtb25hY28uY29uZmlndXJhdGlvbi5zZXJ2aWNlIiw2OTQ4NjoiY2xlYXItY29udmVyc2F0aW9uLW1vZGFsIiw2OTg3NDoibG90dGllLndvcmtlciIsNjk4ODE6Indyb25nLWFjY291bnQtZGlhbG9nIiw3MDA1OToibGluZS10b29sLXZvbHVtZS1wcm9maWxlIiw3MDUzMjoiaW52b2tlLWFsZXJ0LWVkaXRvciIsNzA5MTc6ImVkaXRvci1iYXNlLWxheW91dCIsNzExODU6ImJhc2ljLXF1b3Rlcy1zbmFwc2hvdGVyIiw3MTE5MjoicXVvdGUtdGlja2VyIiw3MTMxOToiYWxlcnRzLWNvbGxlY3Rpb24iLDcxMzc1OiJwcmljZS1zY2FsZS1tb2RlLWJ1dHRvbnMtcmVuZGVyZXIiLDcxNTY1OiJwdWJsaWNhdGlvbi12aWV3LXNjcmlwdCIsNzE1OTY6ImxpbmUtdG9vbC1nYW5uLWZpeGVkIiw3MTYzMjoibGluZS10b29sLXRyaWFuZ2xlLXBhdHRlcm4iLDcxNjYyOiJsaW5lLXRvb2wtaG9yaXpvbnRhbC1yYXkiLDcxNzUzOiJjaGFydC1leHBvcnQtZGlhbG9nIiw3MjExMToicGluZS5tb25hcmNoLnY0IiwKNzIxODY6ImxpbmUtdG9vbC1wcmVkaWN0aW9uIiw3MjI2NDoiYWxlcnRzLWVycm9yLXByZXNlbnRlciIsNzMyMzQ6InN0dWR5LWlucHV0cy1wYW5lLXZpZXdzIiw3MzIzNjoicGxheWVyLWN1c3RvbWl6ZXIiLDczMzAwOiJjb250YWN0LWJyb2tlcmFnZS1pbnRlZ3JhdGlvbi1kaWFsb2ciLDczMzk3OiJsaW5lLXRvb2wtcHJpY2UtbGFiZWwiLDczNDgwOiJmaXJlcy1hY3Rpb25zIiw3MzY0NDoiaWdub3JlLXVzZXJzLWRpYWxvZy1saXN0Iiw3MzY3ODoiZGV0YWlscy1tZXRyaWNzLWFjdGlvbiIsNzQyMTg6ImFsZXJ0LWxhYmVsLWNvbnRleHQtbWVudS1hY3Rpb25zIiw3NDM0MToidGVjaG5pY2Fscy1kaWFsb2ctY29udHJvbGxlciIsNzQzNjQ6ImNvbnRleHQtbWVudS1yZW5kZXJlciIsNzQ0MDk6ImxpbmUtdG9vbC10cmVuZC1saW5lIiw3NDUyMzoic2hvdy1mb3JlY2FzdC1kaWFsb2ciLDc0NTcwOiJsaW5lLXRvb2wtZWxsaW90dCIsNzQ4Nzg6ImxpbmUtdG9vbC1maWItY2hhbm5lbCIsNzQ5NjI6InNob3ctdGVjaG5pY2Fscy1kaWFsb2ciLDc1NDM5OiJnZW5lcmFsLXByb3BlcnR5LXBhZ2UiLDc2Mjc0OiJzaG93LWZpbmFuY2lhbHMtZGlhbG9nIiw3NjY2MzoibW9uYWNvLmtleWJpbmRpbmcuc2VydmljZSIsNzc0Nzk6ImxpbmUtdG9vbC1icnVzaCIsNzc1ODg6ImNoYXJ0LWV2ZW50LWhpbnQiLDc4NzE3OiJwaW5lLm1vbmFyY2gudjYiLDc4ODQxOiJtYXRjaGVyUHduZWRGYWN0b3J5Iiw3ODg3NzoicGF5bWVudC1vcmRlci1kaWFsb2ciLDc4OTA1OiJzZWFzb25hbHMtY2hhcnQiLDc5MTM0OiJsaW5lLXRvb2wtcHJvamVjdGlvbiIsNzk0NzY6ImFsZXJ0cy10cmFja2VycyIsNzk2MTU6InZlcnNpb24taGlzdG9yeS1kaWFsb2ciLDc5NjcxOiJzaG93LXRoZW1lLXNhdmUtZGlhbG9nIiw3OTkwMjoibHQtc3RpY2tlcnMtYXRsYXMiLDgwNzYyOiJjaGFydC1mbG9hdGluZy10b29sdGlwIiw4MDkxMjoiZGV0YWlscy1kaWFsb2ctcmVuZGVyZXIiLDgwOTM5OiJ0cmFuc2xhdGVkLXN5bWJvbC1kZXNjcmlwdGlvbiIsODEwNzY6Im1vZGVyYXRvci1hY3Rpb25zLWNvbnRhaW5lciIsODEwOTc6ImFsZXJ0LWxhYmVsLWFjdGlvbi1jcmVhdG9ycyIsODE0OTU6Imx0LXBhbmUtdmlld3MiLDgxNTU0OiJtb25hY28uZWRpdG9yLmxvY2FsZS5ydSIsODE2MDU6ImFkdmFuY2VkLWNoYXJ0LWxvbGxpcG9wcyIsODE3NTg6ImxpbmUtdG9vbC1jeWNsaWMtbGluZXMiLDgzMTE5OiJsaW5lLXRvb2wtaGVhZC1hbmQtc2hvdWxkZXJzIiw4MzE3OToiY2hhdC1tZXNzYWdlIiw4MzQwODoib24tcHJpdmF0ZS1tZXNzYWdlLWJ1dHRvbi1hY3Rpb24iLDg0MDcwOiJzaG93LWVycm9yLWRpYWxvZyIsODQyMDY6InRpbWVyLndvcmtlciIsODQ0MzY6ImxpbmUtdG9vbC1pZGVhIiw4NDY5MjoibHNwLndvcmtlciIsODQ4Mjc6InB1Ymxpc2hlZC1jaGFydHMtdGltZWxpbmUtdG9vbHRpcCIsODQ5NTI6Im9iamVjdC10cmVlLWRpYWxvZyIsODUwNTc6ImFsZXJ0cy1zZXNzaW9uIiw4NTIyNzoib3BlbmVkLXNjcmlwdHMiLDg1NDgwOiJhbGVydHMtYWN0aW9ucyIsODU2NTI6ImhhbW1lcmpzIiw4NTk3NDoic2lnbmluLWRpYWxvZyIsODYwMDE6InBheXdhbGwtbWFuYWdlciIsODYyMzc6ImxpbmUtdG9vbC1hYmNkIiw4NjQxMzoicHVibGljYXRpb24tdmlldy12aWRlbyIsODY3NDA6InBlcmZvcm1hbmNlLXRlc3QtbW9kZSIsODY5MTQ6InNwaW5uZXIiLDg3MTk2OiJsaWdodHdlaWdodC1taW5pY2hhcnQtc3R1ZHktZGF0YS1zb3VyY2UiLDg3NTA5OiJtZXNzYWdlLWRpYWxvZyIsODc2MDc6ImxpbmUtdG9vbC1kaXNqb2ludC1jaGFubmVsIiw4Nzg1MToic3ZwLXN0eWxlLXByb3BlcnR5LWRlZmluaXRpb25zIiw4ODExNjoiaW52aXRlLW9ubHktZGlhbG9nIiw4ODM1ODoic2VyaWVzLXBhbmUtdmlld3MiLDg4NDgzOiJsaW5lLXRvb2wtb3JkZXIiLDg4NTkwOiJvcGVuLXByaWNpbmciLDg4NjQwOiJzdXBwb3J0LXdpemFyZC1tYWluLXByb2JsZW0iLDg4Njk3OiJsaW5lLXRvb2wtZW1vamkiLDg5NDY3OiJjb21wYXJlLXN5bWJvbHMtY2hhcnQiLDg5OTYzOiJtaW5kLXBvcHVwLXJlbmRlciIsOTA0MTU6InN5bXBob255LWNvbW11bmljYXRpb24iLDkwNDcwOiJsaW5lLXRvb2wtdHJlbmQtYmFzZWQtZmliLXRpbWUiLDkwNTU4OiJsaXF1aWRhdGlvbi12b2x1bWUtc3RyZWFtIiw5MDgxMDoiYWRkLW1pbmktY2hhcnQtY29weXJpZ2h0LWltcGwiLDkwODY0OiJ1c2UtdXNlci10aGVtZSIsOTA4ODA6InJlbmRlci11bnN1YnNjcmliZS1kaWFsb2ciLDkxMjkyOiJwYXl3YWxsLW9wZW4iLDkxNjY4OiJzdHVkeS1wYW5lLXZpZXdzIiw5MTgzMzoiZW5kLW9mLXNlcmllcy1iYW5uZXIiLDkyMjI5OiJhbGVydHMtYWN0aW9uLWNyZWF0b3JzIiw5Mjc0Njoib3Blbi1zY3JpcHQtZGlhbG9nIiw5Mjc4NjoicmVhZG9ubHktbGlzdC1ub3RpZmljYXRpb24iLDkyODE3OiJtb25hY28uZWRpdG9yLmxvY2FsZS5mciIsOTI5MTY6Im9wZW4taW1hZ2UtZGlhbG9nIiw5Mjk2ODoiY2hhdGJvdCIsOTMwNjY6ImRpc2Nvbm5lY3QtbWVzc2FnZXMiLDkzMTU4OiJtb25hY28uZWRpdG9yLmxvY2FsZS5pdCIsOTMyMDY6InB1YmxpY2F0aW9uLXZpZXctZXJyb3IiLDkzMjQ4OiJhbGVydHMtcmVzcG9uc2UtbW9ja3MiLDkzMjc5OiJtaW5pLWNoYXJ0LWJhci1idWlsZGVyIiw5MzM0MDoiZGVsZXRlLWxvY2tlZC1saW5lLWNvbmZpcm0tZGlhbG9nLWNvbnRlbnQiLDkzNTI4OiJ0YWtlLWNoYXJ0LWltYWdlLWltcGwiLDkzNzY1OiJsaW5lLXRvb2wtdGhyZWUtZHJpdmVycyIsOTM4MDE6InRwby1wYW5lLXZpZXciLDk0MDg1OiJzaG93LWNvbW11bml0eS1kaWFsb2ciLDk0ODIyOiJzaG93LWRlcml2YXRpdmVzLWRpYWxvZyIsOTUwNjI6ImxvbGxpcG9wLWZ1dHVyZXMtY29udHJhY3QtZXhwaXJhdGlvbiIsOTUyMDc6InNub3dwbG93LXRyYWNrZXItYmFzZSIsOTU2MzQ6InBpbmUtcmVmZXJlbmNlLWRpYWxvZyIsOTU3NTY6InR2LWNvaW5zIiw5NTc2MDoibGF0ZXN0LXVwZGF0ZXMtdG9vbHRpcC1zdHlsZXMiLDk2MDc1OiJsb2xsaXBvcC1sYXRlc3QtdXBkYXRlcyIsCjk2MTExOiJkZWxheS1zdGF0dXMtdmlldy1tb2RlbCIsOTYzMzc6ImNvbnRhY3QtdHJhZGluZy1lZGl0aW9uLWRpYWxvZyIsOTY0Mjc6Im1vbmFjby5lZGl0b3IubG9jYWxlLmtvIiw5NjUxMzoibW9uYWNvLnZzY29kZS5sYW5ndWFnZS5jbGllbnQiLDk2NzI3OiJsYXp5LWpxdWVyeS11aSIsOTcyMDI6ImdvcHJvLW9yZGVyLWRpYWxvZyIsOTg1NTc6ImxpbmUtdG9vbC1ub3RlIiw5ODgzMDoidHdvLWZhY3Rvci1hcGkiLDk5ODA1OiJjb250YWN0LWFkdmVydGlzaW5nLWRpYWxvZyJ9W2VdfHxlKSsiLiIrezE1NToiYzhkODlmY2ZkZDdmNzFlMjE2ZDciLDMzODoiMTFjMTZhNzFkNGY1Mzk2OGQzNWIiLDU3NzoiOWEzOTYxYzE0ZjIyOTNmOTA5ZWMiLDk5MzoiYTc4YTRkY2E4ZTI0NDhmOGM2NzgiLDExMDA6IjMxN2VmZGMyOTg4ZjNhNGY2NzA5IiwxMTI4OiIzYTJmZDE3MzYzM2Y0NmY5YTBmYiIsMTIwMzoiOTYwMjRkNzJkYTQzNmUxZGIzMjciLDEzMzE6IjU0ZmQyYTU5NTJjODhmMzU1NWMxIiwxMzU4OiIzZGI3YjVmZWUwNTZlZjc1ZDdkZiIsMTQwOToiNTI4YTIyNDg2YmJjZmQ5ZmMzODEiLDE0Mzg6Ijk5ODQxNzkzMDg0YmNkNjdlNGMyIiwxNDY0OiI1Y2RhNGNkODg1ZDE5MzVjNWRlZiIsMTUyMToiNzI0YjUwYjBhMDg2YThiMWVmYzAiLDE1MzQ6Ijc0ZmZlMWU3MjVhNDY1ZDQzNDFlIiwxNjQ2OiI4YzgwMDA1YWYyMTU4YmQwODNkYyIsMTY2MDoiNTM4NGFmMmRmYTAzMDQ3ZTVkNTIiLDE2OTk6IjI1YjUzYTkyODVmMGExODhkNDA3IiwxODI2OiJhYjMwOGEyNjYwMWQ0ZmRmYzg5YiIsMjI4NDoiYzQ0YWE5MjY3YmU4ZGMxYzcxNzkiLDI1MDE6IjkzMmQ5NTRhMjY5M2Q4OGY2NWU2IiwyODUxOiJlNmJmMjAwMGQ0ZmI0YzgxMDAxMiIsMjg1OToiYjQwODQwYzU3ODA0YTRmZWY5Y2YiLDI5Nzc6IjQ4ODYzODRhYTZhOWYxZDE4Y2I0IiwzMDM5OiIyZmUyODdmYWJmZGU1ODgzYWU0NyIsMzM2NzoiYjdjMTI1MWZkMGI2OWMzMjE2NDIiLDM0MTc6IjVmZmNmN2Y2YTM2MTI1NDljYjVkIiwzNDY3OiI4OTU1MGMyYjkxZGRjNDgwMjkwOSIsMzUyNDoiYjJhYWFiOWVhMWFhMzIyMzA0MzUiLDM4MDY6ImE0ZTIyZjk0ZTRhNmY1ZDM5YWYwIiwzODUxOiJiYjNkNzkxZjgzZGUzNjZlZjZhMiIsMzk2MToiZjNiMGNlZjNhYzljZDhkMTEwMGQiLDQzMjM6ImY2MWNiNTIzYzllNWExZTBjNTNmIiw0NTUyOiJjOWRhYWZmZTMyOGQxNTRiYmJkNSIsNDg1NToiZThlYmE5YzZkNTMzM2YzNDVjOGUiLDQ4NzY6IjI3NGQ1NWEwMmQzMjQwODc2ODc2Iiw0OTg3OiIxYmY1YzI0NWZjYjkyMDEwODA4YiIsNTMzMToiN2U2ZmE2NGYxMGE0NDE4NGI3MGEiLDUzNDM6Ijc2YWI5NzQwYTFiMzRkZjQyODcwIiw1MzU1OiIyZWEzYzQ4YTMxOWVlMGZmNWI3OCIsNTgwODoiZjQ4MDBmYTkyNDZmNDA0NjIxZWUiLDU5MTc6ImMxMDAzZjM2ZjBiNDMwMTk0ZDNiIiw1OTc5OiI0ZjNlM2JmOWMzNDVjM2YzZTA3YSIsNjQyNToiYjcyZGI1MGM2OTUxZjZlM2U5OWQiLDY0ODk6IjdiZWQyMGU0NmNjZDdkYjlmZDM3Iiw2Nzc5OiI3Y2M3NGQ1MzNlOTFiZTJlZTdkOCIsNjg1MjoiMWQ1MDVjZTI2M2Y0ZWYxNGU1YWIiLDcyMTE6IjJmOTM0YjMwY2YzODY1MTcxNDQ2Iiw3Mjg1OiI4YmM4MjkyNjY1MjhmYTc0YWY1YyIsNzM5NzoiMDU5ZTYyMjkyNDAyMzI3MDE2YzQiLDc0OTE6Ijc4MTQ0MTczOGE2Y2QwNjE4ZmRjIiw3NTA0OiIxMjg4ZDFkMjhiMmY0N2Y3YWM0MyIsNzYwODoiOWRkMTQ2NDkyMmMxZTY1MTU2YTgiLDc2Mzc6IjNhMjY1OGEwYzIzM2ZiYjY0N2YxIiw3Njc2OiIwYWYxNjc3MzE5ZGI3MGE3MWNkZCIsNzcxODoiOWExZTRkODM4ZTIyMmEzYTI3M2UiLDgyMDg6ImE2MzYzYmNhYTNiMDIwNWRjYjRmIiw4Mjk3OiI4MGI0YzAwNzhmMjdlN2UzODYxOSIsODMzNjoiMDg4MDU0OWZiNGY5OWMxYWI0MWQiLDg0Njc6IjA4M2RkN2E1MTNkNzdkYjNkMzQ0Iiw4NjA4OiJkYTRjNjljMmFmODRmYjhmYzYyNiIsODcwNzoiMWFhYjlhNTFmNjVmOTQ5NTVjMDEiLDg5Mjc6ImNmYmZjMDM3OGY2ZGVjNjVhMTg0Iiw4OTQ2OiIwYmUyMGNmNWI1NjgzOGJkMWNkZCIsOTA3NToiYWEyZGNhYjQ4MzJkZDgyYjQ5YTIiLDkxMDc6ImY0MTQ5ZjMxOTYzZGNlZjNhNTg0Iiw5MjE0OiJlYWY4MWQ2MTRhMjAxODI0NGY1NyIsOTI3MDoiMzI5MTA2MzViYjM5YzY4NmY1YmUiLDk1OTk6ImU4NjZmYzcxYTRmNjlhZmVhMDliIiwxMDA0MToiYzMwZmRkZmVjNjk0ZGFhNjZlZjQiLDEwMjkwOiIxZjJmMTZkYWM4YTFiNDI5MTA5NCIsMTAzMjI6IjYxZTU3ZWZlMmZiNDA4OGZjYWU1IiwxMDMyNToiMDU0M2M4ODdlYTJiZTYzNzdkOGYiLDEwNTA1OiI5NjJmNmNlYjIyMGIzNjA4OTE3NiIsMTA2NDM6IjY2YTM3YTczMGQwMDdiMDNhYmYwIiwxMDcwNDoiN2ExYThhZDc0NzNkMWVkN2RlODYiLDEwNzg4OiJlYTYwMjk4MjhjOWMwODNkNDJlNyIsMTA5OTk6ImY3MjhjZTEyYmFiMGQxNWRlMWZhIiwxMTMwNDoiM2JkOTU0OGRmMWMxMjgxN2FmZWMiLDExNDM1OiIzNTM1OWU3NDU4YjgyMTI0NWY0NiIsMTE5MTE6IjNhMjM5ZTAyNGNlNjU0YjAxOTg5IiwxMjA2MDoiZGQxYTU2ZWMzMmIyMGYyOTg5YjciLDEyMTM2OiIxMmIwNTVkYTc0MTM1MzVjYjg5NCIsMTIyMjc6IjlkYzY3NjBjYjAzYmE0MWQ2OGYxIiwxMjQ0ODoiNGMxZTQzZGVhMDA4YjkzN2JmYzgiLDEyOTY1OiI0MDZlZTU5ZmEwMDlmMGU5YzI2YiIsMTNlMzoiOWNjMDgxNGQ2NWZjOWMxNDAyM2EiLDEzMDI1OiJhNjBjNDg5MWJmOTllYTQ3NjNjMiIsMTMxMjM6IjMzYzAxZjlkNTBiYTNjZmUxZGFhIiwxMzYwOToiNjQwYWUxNDQzNDkwYjZlZGM0YTUiLDEzNzE5OiIzMzIwOGFkMDk1Y2UyODI0MGE2OCIsMTM3MzI6IjVhZjFlZWE1ZTIwNDg4ZTI5MjA0IiwxMzgwNToiOWEyMDI5ZmIxYTM3N2Y4NmMyNGQiLDEzODM0OiIxMWZjNjU1YmQ5Y2VlNTM4ODQ4ZiIsMTM5ODI6IjAwMTQ0YzE1ODc1MDZjZWY2NWEzIiwxMzk5MzoiM2IxOTljNmFkOGJmNWMzY2FjNjciLDE0ODg5OiI2MjEwYjFjNTZkYzNiMjBjOGZmYiIsMTUxNjA6IjRiZDQzOGFlMjEyNTFlNWRjMDc2IiwxNTE3MzoiZmY5NzNmNDZmZWRjYzIwMWU5ZDAiLAoxNTE5NjoiYjdjZmUzNTk4OTg5ZDQ4ZmEzNzUiLDE1MzI3OiJlMGRhZjA2ZmJkMTc5NjE5ZjI1YyIsMTUzOTQ6ImZhY2Y3NTNlOGNkZmI5YjkwODMxIiwxNTQ1NzoiOGIwMDMxMGNiNTc4YzdhYmJkYmIiLDE1NzM0OiJhZGMyOTQ0N2UzYmVkZWZkYzAwZSIsMTU3Njc6Ijk4ZjhmZTk2YmI3OGZlNTA4ZTA3IiwxNjAzMToiOTk4Njg0NmIwNDNmYjExYjZmYTgiLDE2MDc2OiI2YTYyYTY0YTVhYmYxNTIyNDNhNCIsMTYxMjY6IjY2N2YxZjVhZmIxY2NhOWExNzVhIiwxNjI5MjoiMmE4ZWIxNzM5ZTU4ZGI1YzFlMDYiLDE2Njc4OiIwMzdjMTdmZDZlYWNhNTgxOGVjNiIsMTY4MTM6IjdlNDUyN2JjNTUyMTllYTNhZDc2IiwxNjk0OToiMThhMjU2ZWEzNjUxYzkyNGUzNDYiLDE3MDI4OiI0NjQ5NTg4YzAyYjBmZGE0MmY5ZiIsMTcyMjY6ImFiOTVmZDg4YjJkMTNlN2Y5ZDkwIiwxNzMzNjoiODY3ZTViOTE2NjBhYjQ0ZDExYjMiLDE3NTE1OiI0MTg2MmViMWY5YWJjZDc5ZGUxOCIsMTc2MzM6ImNkMzIwYTA4ZDdhZmI1YTdhZGE1IiwxNzc3NzoiMTQ2MTFhOGQzNDYwNGU5YWNiMDEiLDE3Nzk3OiJiMmYyOTQ1MDAwYWNhYWYyZDE2NSIsMTc5MDk6IjQ3NWVlYzBlNTA0ZjExZTVjMDc2IiwxNzk5MToiYTMwN2JmZTAwMjM0ZGM0MTliZmQiLDE4MzA0OiI0MTZmMGI3NGNiNGY1N2JjMzY2NiIsMTgzMTE6IjM2ZDE3MjNkZDVmMmNmOTY3MjIzIiwxODUxMjoiYTNiY2RjNzFjNjg2MDFiN2RiZmMiLDE5MDEyOiJiNzZjNTlmZGFjYmFiYWJhZjM0OCIsMTkxNDM6Ijk3NjQwYjk2YTg2NTMyNWVjODkwIiwxOTIxMzoiODFlMjk4Nzc5MDgyNDdjZTRjZGUiLDE5MjYxOiJiZDMzYmIxMDcwNDc4N2I3ZDVlZSIsMTkzMTE6IjYyOGM2ZDNmNzZkYWM4ODJlODJkIiwxOTMxNDoiMjNmNGQ0NDhhMGNmNjBhMjNjNzMiLDE5NDYzOiJjYjlhODI1NzdjZTgxYjQ2OTJkMyIsMTk3MjI6ImJlMjY5ZmQ0OWU5YzI1OGUyZDkyIiwxOTc2OToiYmVlM2NhZjYyMTY4YTk5YjFkZTYiLDE5Nzc2OiIzMjViMjUyMGFjOTBkNTdjNmNmZCIsMTk4MDA6Ijk4ODI0N2E0M2I5MzcwMjFhN2I4IiwxOTgxNjoiZmI3MzI4MmJlNmJhZWE0N2UyM2QiLDE5OTM4OiI1ZTU0MWY5MGJjZWIxYTdhNzU1YiIsMjAyNDc6Ijk1MDg1ZWEwOTJmM2EzYmJhNTA4IiwyMDMzMToiNzQwMzVmZTkyOTcxODFhMTI3ZGIiLDIxMTA2OiI1NGMyODc3ZDZhZGY0MjdkZmJjNyIsMjEyNjA6ImQwOTU1YWFlNzVmODdkM2JkNDIxIiwyMTQyNjoiMTgyNWU3YTg1MGIzZjk1MzllNTgiLDIxNTk2OiJmNDk5YmQwMTM2ZDg4NGVjOGYwMCIsMjE3NjY6IjMzNjQ5ZGY0ODlkMGI4YzMyNDc0IiwyMTk3NzoiOGY1NDE4MDMzYzliZWI5MGU4ZmMiLDIyMDIwOiJlYTZkMDM1ZjRmZGU3YWZhNWQ0ZiIsMjIxNjM6IjMxZDc3NmM3ZDdjYTY2YWI3Njg3IiwyMjI3MToiZWM1M2ExMDUxMjdlNGM0MmQ0YTEiLDIyMzQ3OiI2YTAwNzFhMzkwNzAxOWQ2ZjNmNSIsMjI1MzI6IjBjYTk2ZDBlNWUyNjM2NTA3NWFhIiwyMjU0NzoiMjBjNWM4YWQ3NTg3NzQxNWUxNDkiLDIzMTE0OiIyZWRjYjc5NTRlN2Q4MGE5ZWU2YiIsMjMzNjQ6IjgwMmNkYWRhNzQ4NDU3Y2JmZGQ5IiwyMzc0MzoiNDczMzEzN2FmMmYyMzJhNmEzNGEiLDIzNzY5OiI2NmNlZTY1YTJhODYwYTMwNmQ4OCIsMjQwMTM6IjVjODcyNDUzODI5YTY1MGFiYmZlIiwyNDA0NDoiMzk3NDVhYzQ3ODlkOThkOWY2MDAiLDI0MTA4OiI3NDliNDBkMGMwNjFhMmEwNDUzNiIsMjQxMzc6IjM5NjBiYWRhNGIzZTBiNDdjZTNmIiwyNDI2OToiYzBhNzBlMmU2YTRhZTkxODYzMDQiLDI0Njk4OiJiZDk1NzA3MzA5NWJhYjdkYTU5NiIsMjQ4Nzk6ImNlN2ZlYmRiNGIwZjMwN2UyMWU4IiwyNDk5MDoiNDg2NjlmNWZjODk3YTY3YTNlNzciLDI1MjM3OiJhNmQxMDY4ZWNiZmZjMjA1MDY2OCIsMjU0NjM6IjI1N2E0MGQ0YjRjMWFiYTEwYjdkIiwyNTQ4MjoiYzVlZmZkZDI3MTAxODExMTY1NTgiLDI1NTU3OiI0Yzc4MTkzN2MxMTE0YmRmOTNkYyIsMjU2Mjg6IjA3YjhjYWNkZTliNTBkZTkxOGQwIiwyNTYzNDoiZjNlYTQzMzA4NGI2ZDRlNmMxMTMiLDI1NjQ4OiIzYTUwYTFlZjk4YzJmNTliMzRmMyIsMjU4NTQ6ImE2N2M2ZDVjZjMwZWIyYzkxYzk5IiwyNjA2NjoiMGYxZjFjYjE5YWY5ZmYzYWY4Y2MiLDI2MDcwOiI2NmMzMzk1MzFiODZmOGNkMmNmNyIsMjYxMTg6IjNmNGIwZTVkZTA0NWQ2YmQ4Mjk1IiwyNjE0NToiNzIxMWZmNTgwOGYwYTE4YTFlOWQiLDI2NDczOiJlNjkyZWM0YTUzMjljY2U2MWFjMyIsMjY1MDE6IjVlYzk4NjI0ZWQ3OTE0NjFjZDhhIiwyNjcyMzoiOGE2ODA3MmM3N2VjMDAyNjc5MDUiLDI3MDUyOiJiMzc2OTg1MjEzZGI3NDU5Y2Y3OSIsMjcxMTg6IjhmOTM4NjhlZTZkZGJmNjllNWQ2IiwyNzg5MToiYzBkMjY2YjY2MzJjMGRiODU4NzgiLDI3OTEzOiIyOTE4NjEyMjcyMmNmMGNjYjlkYyIsMjgxNzY6IjIxMzQyODY1ZTc0ZmZiZWZmZjQ0IiwyODQ0MjoiMGIwZTc4YzA4NzVkYjg0NDA3ZDciLDI4NDk4OiJjM2U3ZjQzMDhlMzc4ODU5MDYxMiIsMjg1MDc6ImU5ZTVlZWQxMDhkYzliMGJiNGE3IiwyODY2MDoiNDkzNTFjMjNiNGQyMDkxNmJlOTkiLDI4NzE1OiJlZDI5NmNhNGNlMTA2OTYyN2Y4YiIsMjg3MTg6IjRiMTlmMWZhMGIwOGE5MjkzMGZjIiwyODg2NDoiZjI4ZThlOTQzOGIwMGY5ZDYxZmEiLDI5MDc0OiIxMWYxYTM4ZWJkNmQxNjEzZTQxYSIsMjk3NjU6ImNjNDMwZjQ4OTczZmY4ZDYyZWM2IiwyOTc5ODoiMGFmMGMzNDRmNzRlYjE3YjEwMDUiLDI5ODQ0OiJhOWNjN2U5NzA0ZjkzMWQ2MmJlMSIsMjk4OTY6ImM4MjZlMDIzNTQ3MzVkZTk0ZTk4IiwzMDAzNDoiMWU0NDMxYjg0MDI0ZjExYmRlY2UiLDMwMzA0OiI4OTZiZTI1YWE5MjFhODIxNGUyNCIsMzA0MjE6IjQxMmMzMTlkZGJhZGNjOTk1YzcxIiwzMDY5OToiMTM4NmRmYWE3OGU2ZTVmNmM4N2MiLDMwNzc0OiIzNjliM2I1NjM0NGIzMTQ3ZGRhMSIsMzA5NDY6IjdlYWExZDdmOThlZmZjNTBjZjQ4IiwzMTE1MjoiZmEyMjI3MWVmMzYzMTNkZGMyNjkiLDMyMjczOiIzMjVlMGM3ZTVkY2UwNzVhNjg4YSIsMzIzODc6IjQ3YWNlODNjNjFhODg0MzQxY2Q2IiwKMzI2MTM6IjcyMzBkNzNlZGE2NDk1ZjlhOTBkIiwzMjk3NToiOTgwNzhhNmRmYTFjYzliNjRjYjkiLDMzMTI0OiJhZTUwYTg5ZWI5ODU1MGJhOGE2NSIsMzM0MTA6ImNjZWVhZjc4NWNkOTdlMDgzN2U2IiwzNDA0OToiNTc2MjlkMjM3ZGZhOTAxZDEyMjMiLDM0MTAxOiIwZDA0Y2RiYTM5ZTMzMTNlNDdiMSIsMzQxODk6IjAxNmJjODQ5ZjQ2MGI2ZGNjZjQzIiwzNDU1NToiODI1OWYzYTM4OWFhYzhjNDk2NTEiLDM0NjQ1OiI4NDFlYTYxNjg4ZWViYmJkNjk2YSIsMzQ2NDc6ImE4YWEyZTYwMzdjMmJiMTBlZmUyIiwzNDY1NDoiYTQ3YjBiMjMyZWVjMDZiZTYyMTgiLDM0ODc5OiIxZTZjZjFmNWE5MzU4ODgxZGU2NyIsMzQ5Mjk6IjQwNDkxN2UyNTEyY2ZiOGQxMjdjIiwzNDk1NDoiZWY5ZTY3MGJkMmYxNGM1NTNiOTgiLDM1MjUyOiIzOGI1N2EyYjdhYTA1MWMxMDA5ZiIsMzUzNDQ6IjM5OWQ1ODMwMmUyNWFlMzlmZGRiIiwzNTM5MDoiMjQxZmIxNDFhY2Q2NTVhNWRkYjAiLDM1NDg1OiIwMTZkMGJhY2RhNTJhYTM4ZjBhNyIsMzU1MzU6ImRiNDlkMDNiYzdiMDRkMTk3Mjk0IiwzNTU5MjoiZTI3MTFmNjViNWU0ZTQyNmM5MGQiLDM1NzkwOiIxOTNjZDhhMjg0YjVmNWFkZjE1ZCIsMzU5MjI6ImNiZWU1ZDY2ZDIyMGYzZTg1ZjA1IiwzNTk2NDoiNjc0YmE3ZDI2M2JhOTA0YTcyZmUiLDM1OTgwOiJjMzQwNDJhNGExMGNiNWZiMmUzZCIsMzYzNjc6IjJjODc5NWQzY2FkMzZkYTkzZWUyIiwzNjY4NToiNjkxN2ZjZmY5NjIzNzA3MDY0OTUiLDM2ODA0OiI2ZTdlYjAzYmFmZjhhYzU5Y2YwZiIsMzY5Mzg6IjU4NDU2ZGEwY2RiNGJiOWJiNDg1IiwzNzEwNjoiOWZhYTBkNTlkM2NmMWJiOGY5NzgiLDM3MjEzOiJiYWI3YmMxN2YyZTQzNjM4ODMyYyIsMzcyNTk6ImMyNzQ5MDZkY2EwY2U3OTNiOWQwIiwzNzc1NjoiY2RiZGZhYjRiZjdiMTcxYjZkYTAiLDM3ODc3OiIxYTcxZGNjOTBmOWQwZjI3YTcxOCIsMzgwMTY6IjkwZmY3MTRlMjMzNGRhOGE0NWFhIiwzODA4NjoiOTkwYjAxM2FlMzI1YTliNTA5OWEiLDM4MzMzOiIwY2I1NDE5NzdiYzdlMjk2NTc4ZCIsMzgzOTg6IjAyNTUwYzFhNDhhYzkzNjBjYTlhIiwzODQ0MjoiYjA5ZDkxOTRmOGU0MGU5MDFmMGEiLDM4NDQ5OiJjYjdkMGU1YmVjYWQ1N2NkMzYzYSIsMzg3ODc6ImVlZmFiMWQzYWZiYjMzMjhmZWQ2IiwzODk3MzoiMzc2MmJjZjQ1ZWY5OGJjMTg1MDEiLDM5MTY2OiIyMTM0MzIwOWQ4NzUwZGEzNjkzYSIsMzkyMDM6ImJlMzhjNzdhOTE3ODE2NGI4M2RiIiwzOTIzOToiNTQ0OTViMTFiODEyZTRhZTBjZDEiLDM5MjUxOiIxZTg4OGQ4YTVmYzUxZDRhMjk0MiIsMzk0NDI6IjI3NDA5NjNiNzhlZTRhNGU5NjQwIiwzOTYwNjoiYzkzYzc2NWVmNWM1MWEzMGQwN2QiLDM5NjA5OiI4Y2UwZDc5M2IyYjYwYmU3YTRkNSIsMzk4NDM6IjFkNTZjYTNkYTA0ZjEzYmQwY2UwIiwzOTg1OToiNzgyMDViYTBhYWFiMWFjNTRkNDEiLDQwMTAxOiI0YzFiZGEyYWJiZmFiODQ3MzgyZCIsNDAxNTI6IjY4NjkwMDVlM2EzMzZhNDkyYTk4Iiw0MDI0MzoiOTYyM2Y0ZTRlNTVmYTYzNzViZDMiLDQwMjY2OiIyZmQwNjdjZmY3MDA1ZDExNjQ3NiIsNDA3NTQ6IjczNTY3ZjQ1Y2UzOGMxNWFjYWZkIiw0MTA2MToiNDIyNzJjNzIxODY3NTliZDVlY2EiLDQxMzI4OiJlN2MzNDgxZjNhMDY5ZmFhNmZkMiIsNDE1MjQ6IjUxZjkxMmVmMjA5NWQ3YTJjYTRmIiw0MTY3MjoiOWFlYmZhZDcyMzQ1Yzk1ODYwMjMiLDQxODE0OiJmZWQ1YjgyOGMwMzlmMzYzMjUxZiIsNDIxNzE6IjFjMDVkODE0N2MyMzBkODZiNGZhIiw0MjIxMjoiNDc1NGMyODA0YWI5YTk3OTc3NmIiLDQyMjg4OiI0N2VjYWVjYTEwMTJlZTNlMWQ4YyIsNDIzMjc6IjgxMzc4NmRhZmI5Y2M3YjA2NWNlIiw0MjQwMjoiMWZlN2M3ODE2NzZhNWZlMzllMTYiLDQyNDQxOiI5ZjY2NDM0ZTBkYTUwNWIzMjA5YSIsNDI0NTc6IjMyOGE4NTIzNzdkNjQ0NTcwYjBjIiw0MjYyODoiZGZjNTE2Y2JlYjUxZDVmYzQ2MWMiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNDI4MzY6Ijg1N2UwNTFmYmY4OGI4ZDcwODljIiw0MjkzNDoiOGQ2Y2EzMGM1N2JjNjYyNzI2NjYiLDQzMTgwOiI5N2YwNmFlYmUyMTA2Yzc0MDIzNCIsNDM0NTg6IjkzNGMxYzdkMjg2Mzg4MTBlNzIxIiw0MzQ5NjoiZjFkOWQ4NTFkOTE4ODJmNTg1MmMiLDQzODI3OiI2OThlZGJjMWQ5ZmM5ZjlmOThhOSIsNDM5MjY6ImQ3ZWQ3Y2RlNWViMzVmMGZlNGI4Iiw0NDE2MjoiMWU2MmJjNzNkZWQ4NTgxMmYzNDMiLDQ0MTY1OiJlNWZjNDJhMWE5MWZkYjY0Y2RjMSIsNDQ0Njg6IjEwZmUzNmExZjczYmJmN2EyMWJmIiw0NDc4MDoiNzlkMjA1MWQzYjg0Y2FlYWI0ZTYiLDQ1Mjc3OiJlYzZlMzYxOTNkMTM5YzVjNWY3YiIsNDUzMjI6Ijg4NTFhMmQyZTE1ZGI5MjFkNDhhIiw0NTk0NzoiYmQ4NWM2ZGRiMDZhMGFkNTAxN2QiLDQ2MTY5OiIxOTAzODc5YzIyMjFmY2FkY2JhOCIsNDYyMTc6IjNkODY0YmI0YTcwZDRkM2Q4NDBmIiw0NjI1MDoiYmRlZWIyMDAwYTdiZThjZmYzNmUiLDQ2MjYwOiI5YWEzM2I1MzEwNjcwMTVjNTM4NCIsNDYzODM6IjZkMGJlYTAxNGUyNDZhOWUwZjJkIiw0NjYwMDoiMjQzMmE4NTNlZjg1YjM1ZDRlMmYiLDQ2NjUwOiI3MTk2ZmFjNGY3NmRhZjVjMGYwMSIsNDY3Mzk6IjVlMDFhY2U0NThhZGMxNjMyNWViIiw0Njc3MjoiN2ExZTIwNWFkOWFkNTk1ZGMyOGMiLDQ2ODIzOiJhYmE1MWJkMTFkMjNkOWNmNjFlMiIsNDY4MzI6IjgyOGVkODY1NGU0OGRjY2ExYzkwIiw0Njg4MjoiMjJiYTExNTNlYTBmZmY3NTUyNzciLDQ3MzkwOiI0MWEwNmI5YTgzMjgwYTgyZTdkZCIsNDc1Mzg6ImM1MGYyOGViOWEzNDZlMDkzMjUyIiw0NzU1OToiZTQxMTYyNzM1YzU4NzdmNzYzZmUiLDQ3NTc3OiJhM2IyNjRmNWQxZDUwM2E1YmFiMyIsNDc2OTI6ImZiZTM4Yzc0N2M4ODk4Mjg3ZTgyIiw0NzcxMToiNzFkMTgwZDliMWI2ODFhYTQxZTgiLDQ3NzIzOiI4ZTcyYjRlZWQxMDY5NTM5YzcxMSIsNDc5NjE6IjdjNjk1YmVmZGQwMDc3MWZjNGVkIiw0ODAwMjoiYmE1MWRkODM2MjFiMGE0MDgzMDciLDQ4MDI3OiI2M2NlZGMzMzZmN2IxMDYzNzAwZCIsCjQ4MTc4OiI1MzlkNTQ2ZDNkZDQ5NjVjNzJkZCIsNDgyNTU6ImY5MjVlZWU4ZGFjMTVhMWQ2YWNhIiw0ODQxMzoiZjNmMWMxNzJlMTU0Mjk0ZDE3NjIiLDQ4NTUyOiI5MzRjZDE0N2JhMzJhNzVmYzQ3OSIsNDg2MjA6IjFkY2Q1MmE5NGQwNGE3ZTEwN2RjIiw0ODY1MjoiOTQ4NzE0OGNhOTczYThjZTRjYWEiLDQ4ODU0OiJiMDczZjRmNTljZTlkZGMwOWRmNCIsNDk2NTI6IjU5OTg4NTU3YjAzYjNjYmVjNGIzIiw0OTgzOToiMjZmZmRlNjk3NTAyNTJhNGQyMmYiLDQ5ODgzOiI4M2I3ZGJjZjMyYzRjY2I0NjZiYyIsNDk5NzQ6ImYwZGJkOGIxYWRiY2ZlZGYxM2Q0Iiw1MDA0OToiNGNjOTBmNWQ3MjY4N2MxZjkyNDgiLDUwMDc3OiIxNjA3YjBiNGM3MzUzOTJjYjc4NyIsNTAxODI6ImE3YTlkNDExYWUyNzNmMzA1MTMyIiw1MDI2OToiZGU3OWZhOTU5M2I1ZWJmNjg2YWIiLDUwMzE3OiIxOWQ1YzcyZDU3NDBkODFhNjg0OSIsNTA2MjU6IjAzZDc3NjI1MGM0ZmZkNGRhMTNjIiw1MDkyNzoiNWY0ZDI1ZDEwZmI2ZjcxNTY3ZTUiLDUxMjYzOiIwY2JiMzBkMTk3NmU4ZmU3MTZiMiIsNTE2ODY6ImE1NWM4ODM1MGU4NTQ3ZTFhNDQyIiw1MjA4NjoiOTNkNTQ5MTgzNmMwODcyY2MwOWEiLDUyMDk0OiIyYWViOGQyZjI3NzgwZmQxMjBjYiIsNTI1MDA6IjAwNTlkOGUwZDFiYmRkMGY5NDhjIiw1MjUwOToiNDA2NTk0NzBlNTFiMDY1ZDUxMzkiLDUyODExOiIyODcwMGQ0MWY0Njg3YmU4MTU5NyIsNTI4NDM6ImEyOTk1ODU2MGVhYjYyY2Q5ZjA3Iiw1MzI5NzoiYTZmNjU0N2NkYWQ4ZDM3OTcxZmMiLDUzNTQ3OiI2MDg3NmQ2ZGQyZWY5Y2IzOWIzYSIsNTM2NTM6IjAzMGFkNTQ5OTcwMTUzNDMwZjkwIiw1Mzc3MDoiYmNjZGYyODhjYTFmMjA1NGUxNDUiLDUzODgxOiIzYmNjMmU0ZmJhM2RiZWVjNjkxMCIsNTQxNjA6IjM4ZGFjYjFlZDNiZTBiMGYwMThhIiw1NDYxNToiYTQ2ZDM5M2NlY2Q1MGMwMjZmOTkiLDU1MjI5OiIyNTcyMTg4MTlmYWE2NjM5YTM4OSIsNTUyNTM6ImEyYWVmZjhhYTliNTk2MzM0YjJmIiw1NTM1NjoiNjU4NTkxOWQ4ZTlkOWU5Yzc4NWMiLDU1MzgxOiI4ZGMzODYwZjViZTVmZWQ5MDRmZCIsNTU5NjA6IjMwZTY0ZjM2MTZiZTIyNTYwY2MyIiw1NjAwODoiNjUxOWMxNDg1ZWNiOWE2ZTc5OWIiLDU2MjE3OiJkZGI4ZDBkZTRhNjkwZWJiMDBlZiIsNTYzODI6ImRiMThlN2M0YzkxZGFmNjkxZGUyIiw1NjQwOToiOGYyNzhjNTM1YzRkOGY5MGU3ZjUiLDU2OTQ2OiIwZmU3MmNhYTk3ZTBhYzJkZTgyMyIsNTcwODI6IjZmY2M2YTU1YjVmMjg0YTljMmMxIiw1NzA5MzoiMjY2MDBjOTNiNjE3MWQ5OWI3MDAiLDU3MjM0OiI1YWRlM2M3ZjQ5MTU1NmJlZmQzYiIsNTc0ODQ6ImE3MGUxZjkyZDQ0MTgzNjk5ODlmIiw1NzQ4NToiODRmNzhiMGYxMzU5YmRlNWNjZTEiLDU3NjM4OiJiZWI4OTg5M2QzNGM3YzM3OTgyNiIsNTc2Mzk6IjM0OWNiZmE3OGQ2MTNjZDRmYjM1Iiw1NzY3NDoiM2IzMzdlMjI3MTYzNjZmZGEyNjEiLDU3NzE0OiIzMjU0ZDkwMDY5MTNhMjY4ZjU2OCIsNTg0MTg6IjdiODdiMDBhNDNjZGI1NjU4MTQ0Iiw1ODYxMzoiMzI3N2RkYTBiMmVhODkyOTY2YmIiLDU4ODE3OiI3ZTY1NDM0MTFiNmMxMzVjN2E4ZiIsNTkzMjg6IjEyNTRkN2ZmN2RkNmI1MTQ0NzM4Iiw1OTUwNzoiN2ZmZWIwZjliMmQyYTU3ZDA4OWYiLDU5NjE5OiJlZTYxN2U5MWY1YmRhMTRjNmFkMiIsNTk2MzA6IjFkYjgxNWUzNWE1MDk5ZDg0ZTI3Iiw1OTY0OToiOTJkZjVjNjY2MDU3MDcxNmM4M2IiLDYwMDExOiIxZTNjMzU0ZDY3MjlhOTgyZWVjNyIsNjAzMTc6IjA3NjY4ZTFkZmRhMWM0YjgyZjgzIiw2MDQ1MzoiMmYzNzY4NGNhNjhkODIzYmQ1N2QiLDYwNDkzOiI1ZTg2NjUzZTI5NTAzNzQ5NjAwYiIsNjA1NDg6IjE0NGMzMGQzMWQyMjhkMTJiNTUxIiw2MDg2NDoiZDE4NjQ5NDJhYzE4MjVjMzA1NjUiLDYwOTY5OiJkYzJjZTcxN2QwZTUwMjhiMzVmYyIsNjExMjY6ImQyMzExMjNlMDBiZWMxMzMwY2RiIiw2MTE4MzoiN2NiZDE2ZmJjN2M1MTkxNTkzNGYiLDYxNDk1OiIzN2VlN2QxODJjZjg0Y2FhNzY4MSIsNjE1MzM6ImFlZjE3MGE2NTM0MWM2OWQ2NmM2Iiw2MTY0NzoiZTkzN2U1Nzc5YmExNWIwOGJiOTIiLDYxODc3OiJmZWRkYjM4MWU0YjNkNThjNTU1MiIsNjIwNjg6IjdmYjVjMzhjMWVjYzQxMjU1ZjJmIiw2MjIzNDoiMjIwYjAxYTQyMmQxZGRjOWE2ZTIiLDYyMzYzOiI5NmEzYjM5MWZhMzRhNmNjYzk3ZSIsNjI1NTc6ImNkMmFiMTNkYjk0YzRiODNjNjliIiw2MjgxMToiYjQ0ZTc1NDFmYjY5N2NiOGE3MTMiLDYyOTE0OiI3ZTU4Nzc5YTdhNDBjZjViYjUyYyIsNjI5NDM6IjU3ODAyMDQzNzRmNGQ5ZjMwODE3Iiw2Mjk5NzoiMTk3ODJhYjY1NjE0ZjZiOWIxYTciLDYzMDg4OiIxNGVkNmExZjNmODBkZmFkYTkxNSIsNjMwOTQ6ImQzNTFmYjg3NjM2MTIyYjAwNjIwIiw2MzE1OToiNmU3ZmYwYjZiYmJhNjYxZGUxM2YiLDYzMjkwOiIyYTMyY2I2YTliMmNmYmIyYTU0OCIsNjM0MDI6ImQzMGMxZTAwM2IwNTQ5MzBkMzJjIiw2MzU5NToiY2IxZjVkYjNiYzY3Mjc5MGIyOWEiLDYzNjA0OiJiYWM0NDhjYmE2NjZmMDNjOTM3OCIsNjM4NzU6IjRmMDVjMTNlNjQ1NDNlMzVkOGE1Iiw2Mzg4NToiNDRiY2FlOGY1NTYyMjUwOTJmMjYiLDYzOTY4OiI0NjNiZDJiZTM5ZjMzNWU4ODIxYiIsNjQwMjQ6IjUxOWMwYTNlZTdhZGFlMmJhYWExIiw2NDE1ODoiMjk0NjNmZmVmZTQ0ODU3YzBjNDAiLDY0MTg1OiI0ZDA2YTEyNDQ2MDlhY2Q0YzNkZCIsNjQ1ODg6IjY0YTVjYTM2ODc2MGU1ZWM1ZWY3Iiw2NDYzMjoiZDlhZjkyMzVjOWJjZmYzOWZjZmUiLDY0NjQ0OiI5MDk5MmM5ZDBkNWRjOTJjODliNyIsNjQ2NDg6IjM2MDkxNjE5Zjg3Yjk3OTI1NjYzIiw2NDcxNToiNWY0OTE0OWNjMzJlOWVmYTE5N2IiLDY0ODkwOiI1ZTljMjVkNDllNGI5NGFiNjc1ZCIsNjUxMDA6ImY0MjJlMWFkMDYwMTZkYjBkNDdhIiw2NTU4ODoiMTM0NjhlNjllMDRhODA1Zjk3Y2YiLDY1NjIzOiJmZjRmYjc0ODQyNWQyYzViOTZkOSIsNjU2NDY6IjFkZTdmYWJiMGQ0ZmUwOWU1ZTU3Iiw2NTkwOToiNWRmNDMyOTk1YTkxYzIzNzQ3N2IiLAo2NTk0NzoiMmVlMGE3MmMxZjI4YjQ5MjNiYjIiLDY2MDQwOiJiM2MzMzIxMjE2YWJhZDIyMThmZiIsNjYyMzU6IjIzYTgwYTJiZmZjY2Y1NDlkZmNkIiw2NjI4NDoiNDI1ODdiYTJmZDk5MGYxMTEzZTMiLDY2Mzk5OiIzZjY4NjU3ZDVmZmUyOWIyMWY2MiIsNjY0NzI6IjVlNjVkNGFlMDc2MjFhZmZlZjVlIiw2NjY4NzoiNjYxNzRhNmJhOWFiMjdhNGMxNWYiLDY2ODY2OiI1YjY0NjBiZGRhZmNkN2ZhNTk1NyIsNjY4ODg6IjA2MDFjYmE1ZGQ4MmY5OGFhZmQwIiw2NjkzMzoiYzFiMWVkN2Y5NzVhYmRlNTY1OWMiLDY2OTg4OiI4NDU4YjZhMGI2YjZkYWI1NGVhNCIsNjcxMjA6ImE1NDk5NTVlOGRkMTY0NmU3YTQ4Iiw2NzIwODoiMTY0YmM1YmQzMzViM2NlNzI5NDIiLDY3NDg0OiI4ZDhiYzUzNGMwZmQyNmU1OTlkYSIsNjc4MTI6Ijg4OThlODQzY2ZhOWZjMWMzZDViIiw2Nzg1MzoiODBmZWEyMzkzMWJmNDY5YjExODciLDY3OTMwOiJmMGQ3N2MxNzIxZGM4ZmEwZDMzMyIsNjc5NTg6ImNlNTVmMjhhZWE4NWFhNThmZmUyIiw2ODE1NToiY2ZhNDAzZmQwZGVhZWU3ZjZjMjMiLDY4MjAxOiJkM2I2NmUxMzJmNTRkNWZlZjUwZCIsNjgzMDQ6ImY2NjU5NjkyNGRmNmU4OTE2M2JlIiw2ODM4MToiZGQzODJjNTdmNDZlYmQ0ZTBiMjEiLDY4NDgxOiIyYmQ1YWQ0YTUwZjExYzU1MTgxZCIsNjg1MTk6IjczNDlmNDBkODcyNzlmZGUyYjgzIiw2ODcyNToiZGY0NmQxNDBmZmNjZTVjYmVkYmYiLDY4NzQxOiJjYjhjMjQ0YmZiNjE0MGNjMTNiZiIsNjg5ODI6IjY4MWIwODk2ZjcwYzQ0MjU1YmE2Iiw2OTAzMjoiNzkyMTgwZDUxZWFhOGQ5OGI5ZTIiLDY5MTIwOiIzMjJhOGEzMTAzZDZmYzBiMTlkZSIsNjkyNDE6IjI3OGJmOWQyNjIxNGEwODU1NDg2Iiw2OTQ4NjoiOGZjMWM3MDg5YjJhNjg0NmJjMDkiLDY5Njk3OiI5NGY3YTNjNjhlNWI3MWU5MGFkMCIsNjk4NzQ6IjBhMjFlODBiNDQxOTY5OWFlODMyIiw2OTg4MToiMDY3N2UxNWMyOGRhZjVkNWVhZmQiLDcwMDU5OiI0NGVlMmQ0NzBmYjdmNWZjMDkyYiIsNzA1MzI6IjY2YjYwYWZhYWZkOWQzYzQyNGQzIiw3MDU5MDoiMDE3ODNiZDliMjRiMTU1YzhlMWUiLDcwNjQ0OiI0NDg3NDNkZWYzMjVmZWI2MTk2NyIsNzA3MTI6IjkyODAyOGM0M2JhOWI3MDdlODExIiw3MDkxNzoiOTI1MDVjYTk4YzhjM2ZlMWM5M2YiLDcwOTU3OiI1ZGVjMmFiYTdmZTY1MDYzMTczZiIsNzExODU6ImI0ZDIxMjJmYmZjMzA3YTFmNzcyIiw3MTE5MjoiM2Y1YmZhNTYwZjNkODY3NmFhMGUiLDcxMzAwOiJiNjcwOTQzMzk0MDMzOWRjMWY2NiIsNzEzMTk6ImZlNjMxMWI4MjJlMDc4ZjNjYzJkIiw3MTM3NToiM2Y2MTY2MTc5Mzc4OTU1OWI2MDUiLDcxNTY1OiI3MzRiMjc2Nzk1NGZhMjM0NDZlYiIsNzE1OTY6IjQ5OTViODZjYzgxYzE5NTA0ZTcyIiw3MTYzMjoiMTcxYjE0ZWQ1ZTc5MGFmZmQ5MzUiLDcxNjYyOiJlOTQ2MWJmODZlZGViZDllNDQxYSIsNzE3NTM6IjNjNGZlNmJmOGE2ZjJjOTljZWIzIiw3MjExMToiNDRlNzk2NGFiMzgxYmNiNTRkYTUiLDcyMTQxOiJkODE3ZjRiZTNiMTE4NWQwZWY0ZSIsNzIxODY6ImE1NmYxOGQ3MjVlYWFlMWZkMDcxIiw3MjI2NDoiZjFhNzNhNTY4MDUwOWVkNDYyZTciLDcyNjc0OiJkY2MxNzUyNTRlMGM2NjYyZGQxNCIsNzMyMzQ6IjhlMzFmMDU1OGFjNTc3NGQwYTJlIiw3MzIzNjoiY2I4MGU5YjM5NDJjOWQxMjZlY2UiLDczMzAwOiI2Mzk1NDI2MDFmN2RmNzgzY2MwNyIsNzMzOTc6ImRhNmRiMDY1NGM3MzhkMThiMDlkIiw3MzQ4MDoiMGNjYTU3MTFhNjIwMTAyNDk3NTIiLDczNTM1OiI5YWY2NTBlMDY5ZDNhYWZkNGY0YyIsNzM1NzM6ImMyMGViZmRiZDkzNzY4OTZmMzhhIiw3MzY0NDoiMmRkNWVmMWNiMWQ1YWIzYTVlNzMiLDczNjc4OiJkYmYxYWM0NmQwYzAwNzljZmY0YiIsNzQyMTg6IjhiZTcwODcyYTYwNWM4ZTZjNzc1Iiw3NDM0MToiMzM0NTUxN2Y2Nzk5ZWU2NDdjMzEiLDc0MzY0OiJkNTFjZWI4ZDEwNmE0OTUxY2NmMyIsNzQ0MDk6ImFkYmQ1ZmEwNzQyOTIyMGYxODUwIiw3NDUyMzoiMTBhYjlhM2UzYzYwOTBmYWI2MmMiLDc0NTcwOiI0Y2M3Njk4YjIzNjdhNjlkMzY0ZCIsNzQ4Nzg6ImNkMjI0NTA0MWNhZGYxYzcwZTBmIiw3NDk2MjoiNDJjYTY2ZDMwM2RkYzcxOGNhN2IiLDc1NDM5OiJhMzJjZTk2Zjg4NTUzNjliMjY0MCIsNzU0ODk6ImQ5YzA5MWUxYWVjMjQzY2FiMWE3Iiw3NTkzMDoiMTQzYzNiMjQxNmE1MDk4OTM3YzkiLDc2MDMzOiI0NTdmYzZhOWRlYTkzYWJjNjRhNiIsNzYyNzQ6ImJkYjEzNzJhNWI2MzYyYjZiMjg4Iiw3NjY2MzoiM2JkZjExYjk4ZGNiM2U0NTQ2NDMiLDc2NzU1OiI5MjFkNjdhNWEwYTg0MTU3OWI5ZSIsNzcwODg6ImZkYjRkYzk1MjgzODgxYTA0MzNhIiw3NzQ3OToiYmFiMDhkZTkyMWRiNmI2YjFhMWUiLDc3NTc4OiJmNmRiNDYwZWQxZThjZTMxZWE4NiIsNzc1ODg6IjRiZWViMjA1OTNlYzM4M2E1N2YxIiw3ODEwOToiNGFlYmYzYjdhYmFmM2E0MzBlMzYiLDc4MzEyOiIwOTBkOGEwMDJiOTQzZDI4YTgyNiIsNzg3MTc6ImMzYzBhYTk1MGNjMmFiZDE0ZDdhIiw3ODg0MToiMmRmOWM2OGUyYjI3ZTg1OTIwYmIiLDc4ODc3OiJkMjAwM2JiOGIzMTNjOGJlODU4OSIsNzg5MDU6Ijk3MTlmZTI1NWQ4YzQzNDg0ZmY5Iiw3OTEzNDoiZDJjNDNhNjdiNzU2Y2U2ZjVmNWEiLDc5MzI2OiJkMGQ1ZTA1NGMyODRmNWRjMGViMCIsNzk0NzY6IjI0MmIxY2U1NWEyOTc5ZmJiYjZiIiw3OTYxNToiYmNhZDZjZmU3ODk3MTBiM2QxNTMiLDc5NjcxOiI3NGMyYzcwNDgwNmU1MjZkMjE4MiIsNzk5MDI6ImRiNzM2MjNjYmNjOTI0OGZjZDM1Iiw3OTk5NjoiMWE3MWFiNWQyNjNjZGJhYTk0OGIiLDgwMjA3OiIzZTVlN2Q2OGM4NzViMzY3Y2FkMCIsODA3NjI6IjY4NzUzMDViNWYzMmU4NTlhM2Q0Iiw4MDkxMjoiMWFiZjRkNmYzZWE5NmU0YjE4NTkiLDgwOTE1OiI2OTQwNGZkYThhYWZjMjc0MmM1NSIsODA5Mzk6ImNlYzVlMzJiNjBkYmM0Mzc5ZTc2Iiw4MTA3NjoiZjBhMDdhMWM5MzY3Yzg1YzZlMjciLDgxMDk3OiJlMjZiZjk1ZjlmMjhkYTI2ZThjOCIsODExODk6IjE3YWNjMmZkYmYyMTk5NWJlNDY2IiwKODE0OTU6IjBhZjUyNjk4ZGI5ZWQzZTg4YWRlIiw4MTU0NDoiYWM5YThiMTUxNTQzZWMzZTE0ZDYiLDgxNTU0OiIyYzMyZjEzN2U1ZThkMzU3MTE1YyIsODE2MDU6ImIxNGNiZjBjMzg0ODQ4ODhjM2M2Iiw4MTc1MDoiMDc4NmZlYTYwN2QwMDdlNzZmMGYiLDgxNzU4OiIyZWE2MTJhZjI4N2MyMzY0Mzk4ZSIsODE4Njg6Ijk2YmUxZDBhNzI4NjNkY2M0N2I5Iiw4MjIzNzoiZGVhODI4NTkxMWQwM2ZiMDZjNWIiLDgzMTE5OiI1ZjRmNzU3MGE0OWQyZGU2NTc4YSIsODMxNTQ6IjhjZjllYzRmMTljNWMwNzAxNjBjIiw4MzE3OToiODBkY2M4OGUzN2VlMjE2Y2E3ZjIiLDgzMjI1OiJhNzgwNTk0OWZiNWE2MzdhOGU0OSIsODM0MDg6IjUwNmZlNjVmMTcwOGU5ZDc5M2Y5Iiw4Mzc4MToiYTQzMjNiMGYwMTgxZTlkZGZhNjAiLDgzOTM1OiIyZWVkNDVhOWNjNjQ3NmFmZDAzNSIsODQwNzA6IjNmZmIwMDcwNjhlMGNjN2M1MDdjIiw4NDIwNjoiODQ2YjJkODY1ODAzOTZhYzBjNzkiLDg0MjY1OiI0YzZkOGY3NzJkNTM4ZjUyODU5OCIsODQzNzE6IjI1NjU0NTJjYWVjYWI5OTgyNTVjIiw4NDQzNjoiMjI0YTgyZTcyZWQ4ZTQ3ZDYxZTgiLDg0NjkyOiJkZmU2NTkwODUwZGQ0NTg3NWQ4ZSIsODQ4Mjc6IjJlNzMyM2JhNTk5NGZlN2EwMDMyIiw4NDk1MjoiYmU3ZTI0ZTkxMjQwYjIyYmYxYmUiLDg1MDU3OiI1NDI0MDFkNmVlYzY5ZmE1Mjc1MSIsODUxMDg6IjVhNjNlMjg0MzY3YzYyOTY2ZDliIiw4NTIyNzoiNWUwZGNkZDc5OTUyNzU5YTgzZGEiLDg1NDM0OiJiODViNzVkZjkxYjIyYmFjOGQzOSIsODU0ODA6ImY1MGViYjk5Zjk2NzVkY2RkNDFkIiw4NTY1MjoiOGYyZmY0M2I2OGJmZTZlYTEyZmQiLDg1OTc0OiJhZWU2MjQ0NDA2NTU4Y2MxNTdkMyIsODYwMDE6IjA4MzcwYWRkNWIwNzgxZjk1OTI4Iiw4NjIzNzoiNDJjNDk3ZDYwMGUzYTQ0NTQ0ODYiLDg2NDEzOiJiNDE2NjYzZWUzYmI0Y2RiZjQ4OSIsODY3NDA6IjQxYjQwYWNkY2Q5MWI0ZGMxZWZkIiw4Njg2MDoiNDc0ODc3YmUwYjIzNWRjOGNiNGMiLDg2OTE0OiJmNjMxNDcxZmFiMDM4MzcxYmFkMCIsODcxOTY6ImIwOGYyYWEyOGJmNDA2OWE4ZjRjIiw4NzUwOToiNTdmMTVhMWZjZDJmNWY2ZjJkY2EiLDg3NTYzOiI0YTM5NDgxNzdjNjQyMGIyOGQ0NSIsODc2MDc6Ijg4MTgzY2U2MTE2MWJmYTYyMDc0Iiw4Nzg1MToiMjVkNDRhMzY5MGNmZGVjOTE4YzIiLDg3ODU4OiI2OTEzN2U2MmJiZDVlMGE2M2FmNCIsODc5OTU6IjkxMWIyNjE4MTc3OGZlY2M0YjRlIiw4ODExNjoiOWNjZjU2ZjA1NzI1MmY1MmU2OTQiLDg4MTcyOiIzYTgxOTA0YWU5NDEyMTkwMmZmZSIsODgzNTg6IjdlOTQ4ODgwNjJjMmU3Njg0YzMxIiw4ODQ4MzoiNzFkOGZmMDVjZTMxMDViYjI4MjIiLDg4NTkwOiIyZjVlMjA0YzdlM2RkOTA2ODc4ZCIsODg2NDA6IjFiNTM5OTA0NDBiMjMxYjcwZjJlIiw4ODY5NzoiY2ZjYjVlNTU4Y2ZhMjMxOWE3NTAiLDg5NDY3OiJmMjUzYjUwNzMwNmU1ZDU1ZTliNyIsODk5NjM6ImIzN2RiNTk0MmE3YjA5NmM2ODdjIiw5MDQxNToiOGUyYWMxZWMyMmEwYTMzNjI0NTIiLDkwNDcwOiJmYzc5MDJiNTQ5ZTg5ZTM1YTU5ZCIsOTA1NTg6Ijg2MzRiYzdjMWVmMjFkNDY1MjM0Iiw5MDgxMDoiZDVjZGE2NGMzYmU5MmNjNTMwNWEiLDkwODY0OiJlMzE4ZDQxZTY0MTMxYTZkNzgyOSIsOTA4ODA6IjkyNTBjMGY0YzY2OTNmZjFjOTUwIiw5MTI5MjoiNjUxNmJhYmEzYTVkOThlNTBiYTkiLDkxNjY4OiI2NjNjNWQ5YjIxZGM1ZTYxODk5OCIsOTE4MzM6IjcyZjhkY2MzYjk4NmQ4OTM1NjM4Iiw5MTk0NDoiY2Q1MWI0OGZhNGQ3NDJhMTE3MjYiLDkyMjI5OiJkZmZkZWZhZTY3ZmI3YWQzM2MwYyIsOTI3NDY6IjQyOTY4NmYxZDRkY2FhMzE0MmFlIiw5Mjc4NjoiMTIwMzQ5NmI3NDM3ZDk2MDU1ZTQiLDkyODE3OiIxZTczZDFmZDk3NTU5YjEzNjI3NiIsOTI5MTY6IjIzOTk2Y2U4MDNkOWExM2U1MDg3Iiw5Mjk2ODoiNGM0NTM2ZDBjNzE2MjJlOTdhYTMiLDkzMDY2OiI1MDk3YjcwYTZjZTE5NjY5OGEyYyIsOTMxNTg6Ijk4ZGZiZWQ0MDMyNjQyYjlmOGFhIiw5MzIwNjoiYWIyNjVmOTEyYjg1YTM5Nzg4YjAiLDkzMjQ4OiJhZmRlNTQ4ZGZlMDkxMTliNjliOSIsOTMyNzc6IjMyZTI3NDExMGE2OGViOGE1NDNlIiw5MzI3OToiZjMzYjA1ZDNmZmMyNGE2MTUxMjYiLDkzMzQwOiJhNjNjN2JjNzE1NzY2NjAzZDgwMSIsOTM1Mjg6IjgwMGE1MDk1MWYxY2FhYmFmN2Q0Iiw5Mzc2NToiMzA4NmFhNDJlZjIzNDZkOGNjNDQiLDkzODAxOiI2ZDQ1ZWI4ZDViZWU0YWZlN2RiNyIsOTQwODU6IjUwNGY0NWUxZDU4MTM4MWQzZWMxIiw5NDE4MjoiMjBkY2M3OGMwZTg0ODFkNDM0NzAiLDk0NTYwOiIzMmUzMDRhYThlMzkzN2Q4MDQxNCIsOTQ4MjI6IjdmYWQyMTE4NzI1MDhmYWIxMjI1Iiw5NTA2MjoiNGFkZTExYjE5MDFlYWI1MDY5YmIiLDk1MjA3OiI0NjVmOGFmMWFhNzJhYzNhMWMzMiIsOTUyNzM6ImZkMTE4MDJlMzIxYjE3N2I0ZDc1Iiw5NTU1NDoiZjljZTMzMmUxOWZjY2NmMzc1NTYiLDk1NjM0OiJiM2Q5YjdlYjFlN2Q4ODk5M2Y0MSIsOTU3NTY6ImVhMjMzMTQzNTI4M2QyNTMwNGE1Iiw5NTc2MDoiMzJmZmRlNjYxOWQyOTFjMzA3YzEiLDk2MDc1OiJmMjk2NDEzODQ5M2RhMTkwNWEwMCIsOTYwNzg6IjNhOTMyMTJhOWM0YjY0MGVjYzVlIiw5NjExMToiNGZjYzU0NGUxNmY4NzRmNWEyMjkiLDk2MzM3OiI4NmMzY2M2MTJjOThmN2U3NzQ4ZCIsOTY0Mjc6IjhhNjk3NGY5YzU3NGMyNTU2NDkwIiw5NjUxMzoiNjljNjNlNWQ0Y2Q3MjQ1ODg4YTQiLDk2NzI3OiIxOWM4ODgxZDhmMDBiZjkxNjkwZSIsOTY5NzA6ImE0YzUxNjMxMmEwYzIxMDdiZWM3Iiw5NzIwMjoiMzIzYzExY2RhZmRjYTMyZDRhZDciLDk3MjcyOiIzYmZiZmM4ZGFhYmNhMDQwY2Y3MyIsOTc0OTM6IjQ5YjdmNTMzZGNjNTQ4MWQ4ZDBiIiw5NzU1ODoiOTRiYjBjMjY0M2Q3NGViNmY4YTkiLDk3NjQ3OiI2NGZhMDdlZTc0ZmQ2NjVkNmUxOSIsOTc4Nzk6IjA2MjkwZWZkOGFiMWM1OWM3ZGQ0Iiw5ODU1NzoiNzMxYzFhMmUzMDM5YWMzM2QxNWUiLDk4ODMwOiI0OTZiZWRiM2U5MDcwZWRiNTkyYiIsCjk5MzA5OiJjYTRhYzE5YjhhYjM3Njc5ZjI1MSIsOTk4MDU6Ijk5NTVhNzc0NWY4NDk3NDE3MTgyIiw5OTkzNjoiYmRmZGE5NjBkNDhkZTQ1YjI2ZGUifVtlXSsiLmpzIix0Lm1pbmlDc3NGPWU9Pjg0MzA2PT09ZT9lKyIuMzFkNmNmZTBkMTZhZTkzMWI3M2MuY3NzIjo1MjM5Nj09PWU/ZSsiLmVkNzZjYWYyZmZlMDE0NDYwYmE2LmNzcyI6MjAzNTQ9PT1lP2UrIi4yZGRmOTM0ZjhlZGMyODAyZDkwYS5jc3MiOjEzNDkyPT09ZT9lKyIuMmM3NzczMGQxMTI1YTQ5ODViZGMuY3NzIjozNzc0Nj09PWU/ZSsiLjM0NTIyN2JiMTZlMGQ4YmM5YmQ1LmNzcyI6MTIzODU9PT1lP2UrIi43ODU2MWViZGVmMDVjZTY0OGI1ZC5jc3MiOjgxMDcyPT09ZT9lKyIuMjkyN2ExNzcyMzFmZGQwZTI0YzEuY3NzIjo5NDIzMj09PWU/ZSsiLmFiNjczMWI2OThhOGMyODU0YTkwLmNzcyI6MTcwODc9PT1lP2UrIi5hNWVhZWIzMGY3ZDI2OWY5N2I0MS5jc3MiOjQ2OTA3PT09ZT9lKyIuYzVhZjhhYTdiNTA4MmIxODc1YTUuY3NzIjo5NDk0OD09PWU/ZSsiLjBmYzg4ZmE2M2MwNTRhOGQ3Njg0LmNzcyI6MjM2MjQ9PT1lP2UrIi5kMjM5MGQxN2IxNTA5YjAxODgyNi5jc3MiOjUxODQ9PT1lPyI1MTg0LjBmYjQ1NzRjYWNlYzE2ZjYzNjVkLmNzcyI6Njc3OTk9PT1lP2UrIi5lMjQ5NTY5MWNlYTE3YjNhODFjMi5jc3MiOjI0NTgxPT09ZT9lKyIuNDVkZjAyMTgxYzQ1MDk3MzJkMjAuY3NzIjo4NjQyMz09PWU/ZSsiLjc5NzgzYWE3MmI2ZTI5MjUyZDBjLmNzcyI6NDA4MzU9PT1lP2UrIi43NmExYzc5MjNhMmM5ODZiZTlhYy5jc3MiOjc4NjUyPT09ZT9lKyIuNGI0ZTA5N2EzMDNkMjFiYzk3ODEuY3NzIjozNTc5ND09PWU/ZSsiLjBhMjczYmFmYzVkZTUwYTBkMjFkLmNzcyI6ODkyMDQ9PT1lP2UrIi5mNjQxOGZiYTczZDM5N2IyOTY0MS5jc3MiOjU1MDExPT09ZT9lKyIuZjljMGEzYzA5ZjdiODc3OWFhMzcuY3NzIjoxNTYzND09PWU/ZSsiLjlmZjUwMGY0MGMzZWMyNDk2YTlkLmNzcyI6NzUzMDQ9PT1lP2UrIi4xNzQ0OTZkYmY2MmJjOTBkYjU5YS5jc3MiOjUyMDk1PT09ZT9lKyIuZTZlYjUzMGExM2IyZmViZDJjZDMuY3NzIjo0NDAzMT09PWU/ZSsiLjI2OTFmYzJjMzQ2ODI5M2JmZDE2LmNzcyI6OTUwND09PWU/Ijk1MDQuOTAzNzdmN2Q1OTQ2Y2YzMjU0ZjAuY3NzIjoxMTIxOD09PWU/ZSsiLjExZmU3ZThmZGEzMDE5YWFjMWFmLmNzcyI6NzI2NjY9PT1lP2UrIi4yMjI5MTczYmY0ZDY3NDQ4NDYzNy5jc3MiOjM2MjIyPT09ZT9lKyIuZTliZTlhNzMzZTExNDczMGE0ZWEuY3NzIjo4MzQ4OD09PWU/ZSsiLjJhMzUzNzdmZDU0ZjBhZjQwODc0LmNzcyI6MTE0NjE9PT1lP2UrIi5lMjdjYjRlY2YzMDQ5MmFjMTFmNi5jc3MiOjk2NTg3PT09ZT9lKyIuOTdmZGQ2NWYyMDEyMTA2ZmYxMWUuY3NzIjozNzUxMz09PWU/ZSsiLmRlMTU3NGIzMzg5ODAwYzkzZWJjLmNzcyI6OTM0MjE9PT1lP2UrIi45NTM4MWY4ZTAwNGQwZDJmYThjZi5jc3MiOjQ3NjMyPT09ZT9lKyIuMzNkMmEzNzQ1YWY0OTdlM2RhNWQuY3NzIjo3NjY1PT09ZT8iNzY2NS45ZjFmMzJiMTc3M2IwNTRmZGYwNy5jc3MiOjMyODE2PT09ZT9lKyIuMzU1ZDc1YjIxYWU0YjUzNGE4NDkuY3NzIjoyNzUxNz09PWU/ZSsiLjczNjEzNzRkZWUyYjUyZmQxZjhlLmNzcyI6OTgwODQ9PT1lP2UrIi43Njk0ODc2NDAxNGFlMWQ0Y2NmYi5jc3MiOjUwMjIxPT09ZT9lKyIuZjQ5ZGEyYTcyNzk3NzRhYTVmZTguY3NzIjozMzUxNT09PWU/ZSsiLjg1MDA0NDgxZTRhZTY2MjRhOTg1LmNzcyI6MTY3Nj09PWU/IjE2NzYuMzQ4ODRiZWI4ZTZkYzRjNmMwYjEuY3NzIjo4MzA0MT09PWU/ZSsiLjljNTQ1Zjk4NjgyMDRjNzcwMGYyLmNzcyI6NzE1Mjg9PT1lP2UrIi43YzZjMDhjOGVlZDAxZDg0MTA1Mi5jc3MiOjQzNzkyPT09ZT9lKyIuZTFiZDA2MTEyNDA0ZjA5MDFhNjYuY3NzIjo1MDAzNT09PWU/ZSsiLjAyMjdjMDllOGRlM2I0MDA4Mzk1LmNzcyI6OTE4NTU9PT1lP2UrIi4wMDk3NjRkYTYxYmQ4YzhjNDRiZS5jc3MiOjc0NDYxPT09ZT9lKyIuNmNjNTEyYzQyMTlhMTVlMzU3NzMuY3NzIjozODAwMj09PWU/ZSsiLjg2ZDI4MGZlZWFiYWI2OTgzNjBiLmNzcyI6NzAzNjQ9PT1lP2UrIi42NDRjYjkzNDQxNjkwYzgyOWFiOS5jc3MiOjY1Njc1PT09ZT9lKyIuYjIyZTg2Mzg0ZGE5NWE0Mjc0ODUuY3NzIjo0MzY0ND09PWU/ZSsiLjBmN2MxNDAwMTlhNjdmZDUwYmU2LmNzcyI6NTgwNTE9PT1lP2UrIi5jNTQ0MDY2NWMzYjMyZTZjNmRlOC5jc3MiOjQ1MzY4PT09ZT9lKyIuOWZmMDBhM2UzODIxMjAyOWJhNTUuY3NzIjoxODQ3Mj09PWU/ZSsiLmQ5NDE5YjZkY2I2NGM4ODU2NGMxLmNzcyI6MjU4MDk9PT1lP2UrIi44ZGY0ZWE3YjA5OWFkYzE1ZDA2Ni5jc3MiOjI2MTAwPT09ZT9lKyIuNzY3N2ZjN2ZmOGZjNGEwZDc1ZjEuY3NzIjozNjk4Nj09PWU/ZSsiLmNlNzdjYmQ2NmU2MDUyNTBkNGZmLmNzcyI6MjcwODU9PT1lP2UrIi5jYjIyMjI5NTgwOTkzZTg2MWMxZi5jc3MiOjE0Njk3PT09ZT9lKyIuZjFkYzE5MTc0NDhkMjE4OTE5OGYuY3NzIjo0MzMyNT09PWU/ZSsiLjI1NmZhNWE1MjEzYjljYjcwZjVjLmNzcyI6MjY1OTI9PT1lP2UrIi4xYzYxMjM5MDJiYzg4ZWJhOWQ1Ny5jc3MiOjM3ODY3PT09ZT9lKyIuZWM3MzFhZDEwMmRiNjc2MmU0MGMuY3NzIjo2MjYzMD09PWU/ZSsiLjUzNzMyZGFlYTgxNzg0NDczOTNmLmNzcyI6NDE2MDg9PT1lP2UrIi5kOTg5ZTQ5NDBiMGVhMTI4NmRiYy5jc3MiOjk0ODg9PT1lPyI5NDg4LjA5ZjI2OWY4YjI2YjJiMDBhOGI3LmNzcyI6ZSsiLiIrezIwMjoiMDcyZTk5MGM3NjY0MTA2OGQ4ZTMiLDY0NToiZmIzNTBkOWFjOWM3ODJlNWU0MzkiLDY0NjoiZWUyOGIyYjE5Y2M4ODMyNzY0YjUiLDY1NzoiMjlkZGQ0ZjA0ZTZlYzUwZGE3MGIiLDE1MDk6IjI3YzRmMDExYzI1OTdhZGQ3Mjc2IiwxNjc4OiI5ZTk5YzZjN2MxNDI0NGZhZTc0ZSIsMjAxMzoiOTZhMmNmY2UzMWFmOTE0MTk4N2EiLDIzMzE6ImE0MTczYWZhMTVjYTg1YWQyZjY1IiwyMzcyOiIwMzQ4ODE1ZjIwOTZmMzc1MTY3NSIsMjUxMToiZmRjZWJmMjIxNTMyNjY5NTRjZWQiLDMzMTA6IjNlMzNlZGU2NTI2ZjBiYTg1NTI0IiwKMzMyMzoiM2RhNzk4ZGEzNTgwNmY4Njc5YTAiLDM3MTk6IjJkYzAwOTRlNTIzODFmNzQ1OTYwIiwzOTE2OiI1NDgxMjYxYjk1MTI3MTc0NjBmZSIsNDA0MjoiZmE5NDk2ODBhMmFkZjllMWFiODQiLDQxMjc6ImZhMWMxM2Q5YzMwNmY2NzdiYzA3Iiw0NDc3OiI1MTJjMDQ3MDlhMzI1OWJkMTEyNCIsNDY2MDoiMGYzMzJjMGE0Yzc1MTcxMDZlMTkiLDQ5Mjk6IjZkZDYxZDViZjk2YWIyMzQzZDk4Iiw0OTY5OiJjM2FkYjFhMTA4YmYyYmFmOWNiMyIsNTE4NjoiODNjMTM2MTFlNjYyNzdlYTc1OTciLDUzMjI6ImVmY2U2Yzg4YjkxZmY0NTczZWVjIiw1NTM5OiI5N2I0NGNmYWNhMzJiNDcyNmU1MyIsNTYwMzoiYjAyZDYxYTE4YjA4ZGI1ZWQ2OGQiLDU2ODk6IjA3ZDBkODUyNGJhNGI5YWY0YWRiIiw1NzU2OiJlNTY3NDBmYTNhZTA1OTlkYmE0MCIsNjA3MDoiMmJlYzRiOTY5ZTE3YzgzOTVhZmMiLDYwODI6ImUwMmI4OGY1NGY2OGNiYTQyNDcxIiw2NTgzOiJiY2M1NzQzZTIzNmZmYzViN2NjZiIsNjYwNToiMWU4OTQyMzE5YjQ4NWFmYzFmNzUiLDY2NDc6ImFkNDU4MDU4ZGQ1Yzg4MjgzM2I2Iiw3MTExOiJmNDE4NTFkNTQ1YmFjZWFjNzVhNCIsNzE2MzoiZWM0ZTdiY2MwYzc5ZTJlNjA3NGQiLDczODc6IjNkN2Q4NjQwMjJjODRmOTI4YWRhIiw3NDQ1OiI3ZGE5NjZhNDQwMTZhZTdhMDJmOCIsNzQ1NjoiMDZlNzBmNzY1OTY2Y2VlZDIxODEiLDc4NjM6ImQ1ODBlMjI1YzMyMmNiYTFlNmVjIiw3ODk5OiI0N2FhZDA1ZWFhMjBiZjMwMTJmNyIsNzkyNzoiZjczYjI5NjY5ZWQzYzNlZGMzZGIiLDgyMTY6ImQ3ZjIxZmUyNDg5ZGRmY2JjNDE4Iiw4NTc5OiI2ZjY1MThiZTQyOTM4MjI3ODZlMCIsOWUzOiJmODZlMWZkMTA1ZDhjYzdhZWNmNCIsOTE0MDoiNTEyODM4ZDdlNmUxMDdmMDczOGQiLDk3NDQ6IjcwYjUxMjY0OTVmN2FkY2NhZjJmIiwxMDM2NjoiMDdlMjBlN2JiZWUyN2M5ZDVmYmMiLDEwMzg1OiI4NzQ0ZDRmODY3MGRhYzMxMGQxZiIsMTEwMDg6IjUyYWZhNWVlZDRhMWNmNjZiZWQ2IiwxMTI1NzoiZTc5ZjBmNzk5NTg4NDA0NzNkMzEiLDExNDg5OiI1NDdlMzAzZTI5MmY1NDgxNGRiNCIsMTE1Mzc6IjYxYzc5NzI4NjhmZGRkNTJiNmU0IiwxMTcyNToiMzFlODBiMjNkMTUxNjIyMzJjNDgiLDEyMDUxOiJiODRiZTc4MWJiOTBkNDU3ZjFkZiIsMTI0MTI6IjEwMzgxYjNkM2UzN2NiOTA4NTJjIiwxMjUyNzoiZGJjMjBjMmI4YmM5NTQzMmE4OWEiLDEyNTY1OiIxZDQwNTM2Nzk3YTI5NDE5YzY2ZSIsMTI2NjY6IjdiNTZiOTQ0NWZkNTgyN2MwYzA4IiwxMzAzOToiZDYzN2FkMTI0ZTI0NmFjNTYzYmYiLDEzNjc3OiJkNThlOGQ2M2Q4YTNmZDc3NGM0MyIsMTQxOTM6ImZmZTZmMWY3M2RjYjE4ZjI5YjU1IiwxNDYyNToiYWRhNjEyY2NlZmRlZjc3OWUyOTUiLDE0NjQwOiJmNGUxODExMzgxYTVlMTQ5NDQ4YyIsMTQ2NTc6IjQwZGFhYzRiMzhiYmQ5NTViNWYyIiwxNTM4MzoiYzNhZGM1Mzg5MDAwMmVmNWVjYTAiLDE1NTI2OiJjODI5YzUyZmVkMjU5ODU1YmI5NiIsMTYzOTk6IjZkYWE5MGUyOWEwZDE5OWI5ZDMyIiwxNjQyMToiMzFkNmNmZTBkMTZhZTkzMWI3M2MiLDE3NjkzOiJiNTI5MzM0YzhjNzYwZWUzNTFkYSIsMTc3NTE6ImM5MmI4MDVlMDg3MzQ3ZjdmMTVlIiwxNzg2MToiMTllMTAzM2U5MmY1NDRiZDY4NWUiLDE3ODY1OiJhOGRkMzkxNzRhYTdiN2EwZjU5NyIsMTgxNjI6ImQwNjE4NGJjOTcxZWNiZGRhM2IzIiwxODQwMDoiNGYzMWU3ZDk4MGIwNDhlOTU3MmMiLDE4NDQyOiJiMzM2Y2QxMTdiYzE3Y2ExN2MwMiIsMTg2NzQ6ImJkMjEzYmJiNjk5MGY3MjNkNGQzIiwxOTQ0NzoiZGQ3MDRjOTk1ZTY5NjNhNjRjYTQiLDE5NTEzOiI4NzQ5ZWRjZTY0YTdlMmRlMjU4MyIsMTk1OTU6ImQ5NjJhYjc1YmQzZTFiYWE1YWFlIiwxOTU5ODoiNzhlMmRiMjFiNjlmMTQ1M2Q3MGMiLDE5NjMxOiI2YjRmZjUwNThjZGI2Y2Q0YjE5OSIsMTk3ODc6ImJiYjY2ZmEwZmQyYmQwNGQwODc1IiwxOTgzMzoiYTliOGZmNDRhOGM2NzYzMzA3OWEiLDIwMDg1OiJiNjg4MGUwNzg1NDBhNDFlY2RjMyIsMjAxNTM6Ijk3Y2JiMDNlNTMzNTVjM2M4ODY5IiwyMDI3MToiMGMxNGYxMjZlMzhmNmI0NjA3N2UiLDIwMzcwOiJmOTI1NDIyYmE0ZWIwYjYxMmM3YiIsMjA1NjQ6IjEzZTZlZmIzOGVhYWIwYTUyNjgzIiwyMDU5MDoiMDE4YzdkNmIwMTRlMTJiNGQ1ZmYiLDIwOTcxOiJkNDZhMzc4MGI0MDA1ZDk0N2Q3NCIsMjA5ODY6IjQwZTM0ZTIxYjNkODE5ZGY0OWU1IiwyMTI0NToiNTg2ZmE4ZDA0YWJhMGQ2YWRiYzgiLDIxNTgxOiIyZDU0NWRlZDViZjgwMDU0MDEzZiIsMjIwNzA6IjdiZDFiMWE5MTVjMjRlMTIzZTJmIiwyMjE0NDoiZGEyN2UyOWZhNDUwYWExNzIxNGEiLDIyNDA1OiJmMzBiNWNjNTU0OTBjYTM2Mjk2NyIsMjI0NjQ6Ijc2ZjMyNmVkMWQwNTA4NmUzZDA1IiwyMzI1NDoiMzA0M2Y2ZmYxMzk2ZjUwNjVjMmEiLDIzMzY5OiIzMTc4MjkzYjY1NGFjMDFmNGZhOCIsMjM2Njk6ImE2MTk3MWQ4NDI1N2MzNDZiZDVmIiwyNDMxNjoiYzg1OWI2NDBmODU2MDNjMjZkNjkiLDI0NDA4OiI4NmU0NWVjZjA4ODRiZTZhNmVlMyIsMjQ2MDM6ImRjMzA1ZTU1ZTgxNDgxOTgyNThhIiwyNTE0MjoiZTExNTA4NjI2ZTM5MGRkMDQzNDUiLDI1NDg1OiJmOTZhOWZkYWFkMTRiMGQ3NWQzNCIsMjU1NTQ6Ijc1ZWMxOTk5ZjVhYzk2NmQ4ODYzIiwyNTU2MjoiODYxYzQ0YWMzNzRkYzI3OGQyZGQiLDI1NjQ3OiIzZDQzMDE5OGM0MjIyMzlhNWY5MSIsMjU2OTg6Ijc2MDVhNTgyM2NhNmQyNWZlZTQ2IiwyNTg5NToiZTlkOTg2MjNkYzk1OWJhNTY3NjQiLDI2OTg5OiI3NzMyNWIzM2FhZGE5NDdjZTc3OCIsMjcyMTc6IjkyNWYxMTkxYTAwMGIwMmMwYWQ1IiwyNzMzNzoiZWRjYTYxZWZjZGIyMzBiYTY2M2EiLDI3NDQ2OiI0YjYzYmI4ZTkxMDliMzNiZDlkYiIsMjc1MTM6Ijg1MGU5MjAwMTNhZGFiNTI1MjQ4IiwyNzU0OToiM2VhNjQ3NWM3OWFiOGUxMWU5MDUiLDI3NjY1OiIwMTNmZGI2ZjA5ZmUxMjE3MDViMiIsMjc2OTY6IjEwZGU2MWZkNmM0M2JmNjNjZmQwIiwyNzczNjoiMjkzZDk0NzdjMTk1NGYxOTc3YTciLDI4MDE3OiJmZTc5OGY0ZDdjY2YwMjRiYmIxNSIsCjI4OTM2OiI4YzJmMTU1NzViYjE3OWYzYjEyNyIsMjg5OTU6IjA0YjQzNDVhNTNmMjAyMDA2YjM4IiwyOTEzMzoiYmRmYTE2NzA5M2YwNWRmYjI0ZDAiLDI5Mjk2OiJiNDA4ZjI4MjJmYTViOTU2OWJhYyIsMjkzMTU6ImRhOTc2ZGY0NWZlYzAxMDczN2Q3IiwyOTMyNzoiNWE2MjNmZTQ5ODgyYjljZjUxZTciLDI5MzQ4OiI4M2I3YjRkY2E4MGRkOWViMDdiOCIsMjk0ODk6IjA5ZmJmYWZiOWZmNTllMDQyYTNiIiwyOTUzNjoiNzM2ZjQ3MWE4ZDY0YTgxMjJmZDgiLDI5NzE0OiIzNzg4YzRhMzNkOTQ1MzZlOGNlYSIsMjk5NDM6IjJmMzM3MzNkZDY0OGI4MmM0NmZiIiwyOTk5MzoiOWQ5MjU4MjgwMTAwZDAyODBjMjAiLDMwMDI5OiI2Yzk4MTUxNjIxZWFlODNhNTU5ZSIsMzAzNzM6ImRlMzJhM2NkY2FlMTJiMTVkNmRmIiwzMDc0NToiZTc4ZDgxYmYyNTBjZDZlNDMwNjgiLDMwNzg5OiIyOTdlMGZiNmM3Mjk3MWU5NGI0YSIsMzA5MjI6IjUzYmJjNDVlZmRjNDljMDY5YTA3IiwzMDk2MDoiNTQ3MTA5OGJkMjdmOTBmMzExNWQiLDMxMDAxOiJjNTIyMjk0ZDNhMjhkOWNhMTUxYyIsMzEyNjI6IjI2MGI2MTg3OGUwNTlhNDJlNzlhIiwzMTU1NzoiZTZhZWY1MWYxMDkzNDJiNTk5MWMiLDMyMTc2OiI3YzU3Yzk4OTMzYjhjZmQzZjhlNyIsMzI0Mjc6IjZkMTY2Zjg3YjczNjcyZTU2MWRhIiwzMjc0ODoiMmRkMThlMjA5YTc3MmVhNGYxZDciLDMyODU3OiJlNDk2OGNjOTA2YWM1NzY5OTA2YSIsMzMxMjA6IjNlNmQxYzMzZDZjNTI1YzA3NzFmIiwzMzIyMToiZjQyY2M1NWE5MGM5ODg0MTIxZTUiLDMzMzY4OiJmMTVkZmNiYzBmNzE5NmQ3ZDY3NiIsMzM1NTM6IjBkZjliMzUyY2JjNmZhMDNjY2E4IiwzNDc1ODoiODgwZDk3M2JmNmNiYmM0ODIxNzQiLDM1MDczOiJiODU2MzJlYWEyMmNmMTllN2NkMiIsMzUxOTg6IjIyYTU2NTVmNTNlMDkxYTJmYjczIiwzNTM0MjoiN2Q2MWE3ZWM3NjRiYTZiMmM2YmQiLDM1Mzk5OiI1ZTZkMTQ5MTllZTBjODZmNjliMCIsMzU2MzA6IjhiOWVlMjVjNWUyZDIzNGQ5OTUxIiwzNjE3MzoiMzBhYjA3N2ExMGYxYWJhNDdkMmEiLDM2MzU2OiI2OGU2NmJmNzRmZGIyNDNkNDMyYSIsMzY1MjE6IjhlYTE5ZDE4YzZmMGIyNmFlMjUwIiwzNjU0NToiZmM0ZWIzNzExMmUzNWUwOGQwMmMiLDM3NTY3OiJmNzQyMzY2YTUwMmExZWQ3MzYxZiIsMzc3Njc6IjQ0MDI5NjA2YzczYTY4M2U3YjBjIiwzODI2MjoiYjQwZTdlNzgwNjQxNjNjZGMwZDIiLDM4NDc5OiIyNmUyZDUzYzA0MTAwZWE0MDE2YyIsMzg3ODI6IjNiMjY2ZDZhODE1MzgwNmI3MzFlIiwzODg2ODoiNWVlNzQxZmQ2Mzg2NjZkNDQ1ZGMiLDM5Nzg2OiIyYjAwZGMyMWVmOTQ2MDBlMDk2OCIsNDAxNjg6IjgwY2QyMjQyOWIxNDVhOGNiODIyIiw0MDIyMDoiZTBiZTM3OTczNDVjNmUyNGNlY2EiLDQwODY3OiI0OTU2YzYxNWZkZWFkODFkY2QxMSIsNDA5MDI6IjU2NDViOGVmZGQyYmRkN2JjNTdmIiw0MDkxNDoiYThkZDY5NmJlN2RkZTZjZTZkZGIiLDQxNTA2OiI0ZTQ4MWNmZTNkN2RjYzkxMTNkZiIsNDE1ODg6ImE0ZDFmYmJmYmMxM2JhZTc2MGQwIiw0MTgxMToiZTIxMjY3YjUxZjE0YWFhYjU0YzciLDQxOTgwOiI3NWJmNmUyZjNjMTI2NzliMDQ4YSIsNDIwMzM6IjkyNGRhYjc4MWU0NDc3Zjk1MWJmIiw0MjMwMToiMjI1MmQxY2NjYjQwMzUxYmQ1ODEiLDQyNzIxOiIzZWFhZTU3MWU3NTg2Zjk2N2Y3YyIsNDM0MzM6IjdiNjRlOTE4MjAyNTZkZGJiOTVlIiw0MzQ0MToiYWM2MDM1MGM4NmM1NzgxMWYyMjMiLDQzNDg2OiI2ZWRhYjk0YjBmNTJiZTQ3OTQzYiIsNDM4MDg6IjVhZDM2NTFhMzg2MzBmNzc1NDQyIiw0Mzg0MToiMzg2MzgyODcwNTVmNjg1MzlhOTIiLDQzOTE5OiI1NzNhYTE3YmRiNzc1NmYwNWNhOSIsNDM5Mzk6ImJhYmI2YzEzYWQyYTIzYzBhZjczIiw0NDQ2MDoiMWE0YjM5NTZjNTk5Mzk1OWVjMDUiLDQ0OTQ2OiIxOTY4MGRkNGU1YzQzZDlmNzE2MiIsNDUyNDI6IjhmNmM5MTBlZjgzZGM5ZGJhMTkxIiw0NTMzMToiYjRkNmY1MjQ5Mjk5NmRkMjliYzYiLDQ1NDE4OiIwNmQ3MTg1ODI1NjE2MWQ1NGZlOCIsNDU3ODM6IjRlYzU3ZjUzM2M1YWM1MDE1ODk4Iiw0NTk0NToiNWM5ZWNjZDI4MWNhN2YyZDc5ZTAiLDQ2MDM0OiI3ZmU1ZDY1NTVkMzUyMzg4NzIxNCIsNDYwNTU6IjAyMzJmNWExOTRkMGU2NDZlMDg5Iiw0NjI0NToiYjFmMDRlMzFkOGU4NzQ4ZTkwMjAiLDQ2NTkxOiI4ZDAzMzM5NGI4M2I2MTZiZjA2NiIsNDY3NTY6ImJlYzU1ZmEwNTBhMTFkYjgwYjFlIiw0NzAyMToiZWQxMTM0OTdlZjMyYTY1MjZlNTAiLDQ3MDkyOiJjNTcyMzg5MzRhMmY3YTM2YTBjMCIsNDcyMDE6IjQyODBhYTBjM2NmMTJjYWM5ZDZkIiw0NzMxNjoiZDIxNzQ0ZmY2ODlhYTZkYTYxNmIiLDQ3NDU3OiJhNmMxMTZjZTUxMTY5MTk2NGRkNiIsNDc1NTE6IjhkMmNlNTI0YjM4ZTRhOTI1NDdmIiw0NzU3OToiZGMzODc5MTkxYzA0YjkzOGZkM2YiLDQ4MzEyOiJhZmRjYzM4MmE5MjhiYzAyZmU2NSIsNDg2ODI6IjZmZjIzZDVhYzFjYjcwZDAyMzlmIiw0ODg2NDoiYzdiMmFmOThkOTE0ZWJkODMyN2MiLDQ5MTQ5OiI2MTBkOThlYWQ1Y2IwNmFiMzhmYSIsNDkyOTc6ImNhNDAwZTVmMmRkMDY4ZDc4YmNjIiw0OTQ5MDoiZDM5OGFiNGEyZTRiMDRmOGZjODMiLDQ5NTM2OiJjYmEyMDdhNWJhY2Y3YTE1M2EzZiIsNDk1ODg6IjE1NDI2YjIyMjc5NTYxZDk4ODBiIiw0OTk5NzoiNjhiZDc1OWI0YWRkNjVjZjc2NjAiLDUwMzE2OiIzMWQ2Y2ZlMGQxNmFlOTMxYjczYyIsNTAzMjU6IjU3N2NkMTE0NjE2MmJjZjA1YzJiIiw1MDU4ODoiYTI3MTE4NjIwNmU1M2ZjOTg3NGIiLDUwNjIyOiI1ZjA1ZWY1MWFiMDIzOGRhYTM2YSIsNTA3NDM6ImMwMzFkNTc0OTZmZmY3YmU5NWUyIiw1MDgwMDoiODBmOTBlMDQ0OWVmMjBmMzg5ODYiLDUxMDE3OiI0M2ViYWViNGQ2ZDg5OTBkOGM3ZiIsNTEwMzA6ImI3ZjUzZWQ2MzViMDkyZmQxNjkxIiw1MTE4NDoiOTkyMzI0MGQyODA2ZjBlMjU4ZjAiLDUxMjEzOiI2ZGIxOGY1NDVlOGZjYTg1OTFkMyIsNTEyNTY6IjgwY2MwMDFlMjFhYzg0N2U2NDJkIiw1MTMwOToiNmYwMmVhYzE0YmYwMjJkYzJhNDciLAo1MTY4MjoiMTVkMDEzNDcyYjg1Y2Q5ODUxN2EiLDUxODUwOiIzMGFmM2EzZDFmYTU3MjUyZDczYSIsNTE4ODA6ImNmODA5NmFkOWNmNjY1ZThmM2JiIiw1MjA2NToiZGU5ZWRkYjMzOWFjNzdkMWRiZjgiLDUyMTc4OiI0ZDU2MmEyNWFkM2MxMzc5MjFlMSIsNTI2ODA6IjhlZmE2YjRkOTk4MTg2ZjM5Y2JhIiw1MjkyMDoiMzBiYTA1ZDZhNTM5M2UzMzE4MjciLDUyOTYxOiJjZjY1MzhjNDFmN2Q4ZmUxNjc0MSIsNTMyMjg6ImQ1N2IxY2M5NDdkNTFkNTRmNGMwIiw1MzMyOToiMDNhNmQzNDAzNWMxNzY4ZmI3ZDUiLDUzNTIxOiJkYzliYzcwYTZhODBmMmM5NGY1NSIsNTM3MTM6IjQ5ZDg4M2M3N2IzZDc0ZjQ3YzEyIiw1MzkyMzoiZmEzMmI0NjhiZjcyYmU5MGE3M2QiLDU0MDkzOiJkODBjMGZmYjIzNDU3ZmY4NWVmNCIsNTQzMTA6ImNkZDAyMmZkYWZlNDRmYzJjNTg5Iiw1NDMzOToiY2FlZWU1MGNkMGIxZDBhYjRlOGMiLDU1MjkwOiIxODZjZTMzOGQyZTI3OGVkZjFmNCIsNTUzMzY6ImZhYTc3MTY0YTU2MzZkODI2NDc1Iiw1NjEyMToiYmQ2NGJkNTI5MGUxNzhlNThlNmUiLDU2MjEzOiIwMGQyNWZlOGFkMTY5ZTMxOGIyZSIsNTYyNTI6IjJiODJmNTc1YmExY2ViNTRmYTI5Iiw1NzI1NDoiMWQ3ZTg5NzFkOTJlYmI5NTcxMjQiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTc1MDQ6ImM3Zjc1ZjYwMzlmN2NhNDc4YjJlIiw1NzYyNjoiOWE4YzNiOWQ5ZDRiM2YxM2MxZWIiLDU4MDQzOiJhMmFmMGRiYjQ1ZDBlMmNiMDM3NCIsNTgzODQ6IjY2YTYwYjVlYmIzZTA0NmY4MmQxIiw1ODkzMzoiYjNhZTUxYjliMzgzZjNhYzk1NjQiLDU5MzUwOiJiNjYzNjNkMTk5ODQxZWJmOGI4NiIsNTk0Mzc6ImI3MmM1MGI1MDVmMTJjOTljNzJlIiw1OTgzMDoiZWI3YzE4M2QzMzFiODVlOGFmNjAiLDYwMDYyOiI0OTU0NDRhN2ZhYzE3M2ZiMjhjZCIsNjAwOTA6ImRmMGExNDk4ZDQzOTI5YmE5MTBkIiw2MDc2OToiYzZiNTk2NmU5ZGY1NWRkMTlhYmYiLDYxMTkyOiIyMmQ1NDJiODYzM2Q1YTRhNTg3ZCIsNjE0MTM6IjRmYmY4ZDMzNTYyMGMwZWY4Mjc1Iiw2MTgyMToiZjY0ZDFlMmM2YjFlMzBkZmQ1NGUiLDYyNjAwOiI2MTA2MzU2Y2I4MTZmYjc0YjE3YiIsNjI3OTA6IjBjZDJiOTE3ZjdhNzE2OTBlNzQ1Iiw2MjgwNjoiYWU3Yjk5MmJkNTMxZTc2ZjhlNzYiLDYyODkyOiI2NWEwMzU1MGFjNGIzNmQ4Mzg4YyIsNjMwMzM6ImY5MmE4NzQ3MWU1ZTEwMWM4YzU1Iiw2MzEwMDoiMzYyMWZlYjhiZmFiZDRhYzVhNjQiLDYzNzIzOiIxYzY1YTA5YzIwYjYxZTM0NDcwOCIsNjQxMTM6IjAzYTJlNDc1YzQ1YTUzNzMxMjVkIiw2NDE5NToiNzIxNTFiYTJlNjczNDczZjcyYTQiLDY0NTAzOiJlYTZlMzRmMWYyN2JhZDdkZjhkMiIsNjQ2NDM6IjVlZjNiZGJhYTBjNmM0ODg5ZjRlIiw2NDY3NDoiNjZkNWEzY2I1Zjg0MDYzMzQ0N2EiLDY1NTI4OiI5ZGNjMTkxYTRhYjQ4N2QwYjEwYyIsNjU2MTM6ImM5OWYzYjY5MTBmMGY1ZWIyZWQzIiw2NTY0MzoiM2M5NjU5MTYyMmRlZmMwYWJkMDYiLDY1NjkyOiIyZjM4OWQ0NDNkOTc1Y2NiMDM1ZSIsNjU4NTY6IjZjZjI3MzA2NDUxNmNkODEyOWMwIiw2NjIyOToiMDkwYWQ1NGMyZmMzM2UxZjFmZjciLDY2MjcwOiIwMGY3ZTAyNzMwYjQ1NmFiZjI2ZCIsNjY0NzM6IjIxODIyZWI1YmE2ZDhiZDUwYzZlIiw2NjUyMjoiNjYxYTk3MTYxYzNjYWQ5NjkwZDIiLDY3MjEyOiI3Y2ExMmFiN2VjY2YxYzQ4YWVhMSIsNjcyNDQ6ImY5ZmYxMzY3YjE0MjNmNGEwNWVhIiw2NzU0MzoiZGNkYmE4OTk0OWMwMGJmNTc1ZDYiLDY3Njg1OiIxMzc1NTI5NmQ3ZDI2ZWI3ZGJjYyIsNjc3ODQ6IjIzYjc0NTZjMjEyODQ5ZTViN2U4Iiw2NzkyNDoiMTgwNTAwODZhOTQ2OGVjNGQwMTkiLDY3OTI1OiJjZGQ3N2E2OTcyNzg3Nzg5YTYxNiIsNjg1Nzk6ImMwMTg3NGFlOTNmY2VlOTRiMzg4Iiw2ODY4NjoiMjUxMTRiZWE1ZmZlZDBlZTIxNzEiLDY4OTQyOiI0OWNlMzVlMDhkZmJiN2I5OGU1YSIsNjg5NjQ6Ijk0MjViNTg3MzBkZjEzODA2ZmY2Iiw2OTE4NToiMjhlMGQ0MTJjNjQzNjk1N2I1ZjEiLDY5MjA5OiIxMTIxNGQxZmIxMGEzYTc2YTAwYiIsNjk3NDc6IjAzMWQyNTU0MjRiMGRlMWQzZmMyIiw2OTc2NjoiMTg5OWMwNzkyZGYwOWNjYTVlYTQiLDY5ODAzOiI2ZWQ3Yzc4MzA1ZmVlMGFiM2I3MiIsNjk4MDk6IjQyNDU3YmZiNjUxMjI1NmIyYzA4Iiw2OTg2MToiODdlMjBhODk1MWNlZWNjNDYxZDgiLDcwMjU1OiI1YzlhMWVlNDAyZjMxYjc2YzE4OSIsNzAyODA6ImZmMzJmOGU2MDg0NDBmMDU3YTI5Iiw3MDY1NjoiY2U0ZmI0ZGZkOTU5ZWVmYzg0YzciLDcwNzU2OiIyYzE2ZWJkYTk3ZGJmZTE3NDgyOSIsNzA4MTU6IjNjZTZkNmEyNjg2ZTg4OTA3YWIzIiw3MTE5MDoiOGY1YmYyYWU5NDg4ZDY1ZDMyNWEiLDcxMzUwOiJhZTI5ZGNiMzBjODJjOGQ4YzFmMyIsNzE0MTQ6ImUzNDVlZDc1MmQzYTIwZDE5NDY3Iiw3MTQzNzoiMTc2ZGI4ZGQ2ZTlhMGJkY2M4Y2MiLDcxNDgyOiIxZjBhZGE5MTYwZjNmOWZjZWMwMyIsNzE5MDE6IjQzZDViNDhkOTY0MzY1NmJmZDJjIiw3MTk5MToiZmM2MTlmNzViYWRiOTIwMTUyNzgiLDcyMjQ5OiI4NGJjNzg2N2Y1ZjEwNGJiYWQyNiIsNzI1MTI6IjYxOTMxMDJlMzE1MjgwNmI4YjBmIiw3MjY4MDoiZjc5YTU3MTYwY2Q3MjRhZGZkZmMiLDcyOTAyOiI3NzZkYmI0NDY5ZDE5NTRmNWM2YSIsNzM0MjU6ImFlYWI5MTI5ZThkZDM5YjVhMjQ0Iiw3MzU1MToiMzI4MmUwNTI1YTkzNTgyMGI0ZjciLDczOTYwOiIzMzRiMTNkYWM5ZjU1MjliMmU0NSIsNzQyMzM6IjFlNzc2MWE4MWM0ZWM1Zjk5ODc2Iiw3NDI3MzoiNjY3NDNmYjM2ODdjNzdjMTVjYTEiLDc0MzgxOiJmZDZiOTAxNTNjNmMxNmIyYmM5YSIsNzQ0MjI6IjNkNzg4NWI0MTQyY2Y1ZjA4YjA4Iiw3NDQ3MToiY2QxOTI3ZDIzYzE1NmIxZGYzMzciLDc0NjM2OiJiMGRlYTE2NWY0NDVmNDA5MDlmYSIsNzQ4MzA6IjRmNTBkMDBmYmY5NWMxZTI5Njk1Iiw3NTE3MjoiYjFkM2ZmZGVkZTk0ZWUzZWI0YmMiLDc1MjE3OiI4YmZkMjM0MzU0ODYzMTMwZTJlMCIsNzU2MDM6ImRlNDNjYmU1OWFkZDg5ZTkyY2M1IiwKNzYyNzg6IjQwOTJiMDM4NjgxYzUwZjFlN2Y2Iiw3NjMyOToiYzU3ZDE2ZDM1MGRkNmY0YWE3YWQiLDc2NjY0OiI5OWMxYzQ0M2M0NWI2NzRjMzQyZSIsNzY5MTI6ImYwNTUzYzUyODNjOWRhMTI1YjQ5Iiw3NzI2NDoiNzNkMTBjZmI1ZWMwZjEwNjcyN2MiLDc4MTgyOiI5MmZkZmNlMTAwZTgxMjIwNDZmYyIsNzgyMzc6ImU4OTZhOGJlYTkyNWQ2NWY2ZWZmIiw3ODM0MToiMDVhOGU0MzQ5MjM0YzYxOTI5MmUiLDc4NDA0OiJiNWVjZDZkYzY1ZjEzZGVmNWVhYiIsNzg0MzQ6IjU4MGY1ZDIyNWY0YjBmM2E3NjIzIiw3ODQ3MToiMDUyZjk2MzMwMzQ2MThiMDE1NjEiLDc4ODk5OiJiYjVmODFkOTRiZTViNWE3YmJkMSIsNzkxOTE6IjQ4MjM4YzczZTQwMzZjNDcyMzQwIiw3OTI0NDoiZmFkYzYxNGYwYTQwNWZkNGM0OWIiLDc5Mzk4OiI5ZjcwZTEwMTc1MjRlZDkzMDEzNiIsNzk0Mzk6IjE4ZDhiYWE1YTIzMDIyMTU1MGJmIiw3OTc5MToiMTYzYzFiYjA3YzYwNDI5NDQzZGYiLDc5ODkyOiJkM2Q5MGQ1ZjVlZTU0MGY1MzQyZSIsODAwNDE6ImZmMmUzZGY5NjNkNThjMTc3MWY1Iiw4MDYzOToiOTM0MDJjMDA5YTI3YjQ2NjBjN2IiLDgwNzMxOiJmOTY4Mzg1YmUyZTIwMDYyYmVkYSIsODA3NjE6IjE5MzFkYTk0Zjk0ODI1ZGJhYWY4Iiw4MDc4MjoiOTc1ZmI0MWQ0MmFlMmQ1MWMwOGIiLDgxMDAxOiJhZmY4NGJjMDRhMDNiMTdiNTQ2ZCIsODExMDc6IjFiYmE1OWUyMDg5ZTU4MzQ3ODU5Iiw4MTIxMDoiMGIxZWI3MTYxMzQ1ZDMzNDAwNDIiLDgxMjQ3OiI3MDU5MDYzYmE0ZDNiMzczMDJkYyIsODE1Mjk6Ijk2NTI0YjAzOTNjZjg2OTVkOWNmIiw4MTgxODoiNzY0N2UzNzljMDhjZmFkYzNhMGEiLDgxOTAzOiIyY2E2NzZiYmU0NjM4MmU2YzFmZiIsODIyNzA6IjUyMDAzODQwODAyYTdhMTVkNGY5Iiw4MjI3MToiYzAyMWJhZTQ0NDY2NWEzNDg1M2YiLDgyNTg2OiJkZTlhMmVhNTE1Yjk2MGUwNTQ3ZSIsODMyNjE6ImI0NWNkOTQyMzI4Y2Q5YjBlYWZhIiw4MzUyOToiZDk2ZWE1YzFmOWM4Mzc1ZmJjMTgiLDgzNjc1OiI1ZWQwMTg0ODI3MjNhYmFmOWU4NiIsODQyMjQ6IjMyNzgzNWMyMDIwZTlkN2U0YWQ4Iiw4NDMzNToiYjZjNThmZTViYjNhMDk5YzFmNjUiLDg0OTQ4OiIxZjA1ZDJlNjM4Nzc5MzFhNGExMSIsODU1MTE6ImJjMDAxNWM3MzY4MzBkYmI0MzkxIiw4NjA4NzoiOGRhNTZjMTMzNGU0MzZkZDNhOTEiLDg2MTc4OiJlNmZiZWM5MGFmNWJhNjIxMDM2OCIsODYzNjA6ImE5NDkyZDM3NzRhYmE3NjAzNDc5Iiw4NjU0NDoiOGU0YzYyODA0YjZmYjA3ZGNhNTUiLDg2OTk3OiJkOWExYjJhY2EwMGE2MjA5ZmU2MSIsODcyNTY6IjNmNWUwNWRjNDRkMjcwNmE5MDI2Iiw4NzQ3NDoiYmUyOGY5ZTAwM2UwYzQ3M2I5MWQiLDg3NDk4OiJlNTk0MDAyYTJjN2ViMzAxYWZhNSIsODc2NzM6ImFmZDEwMWJkOTczZGU0MzVmZTRhIiw4NzcyMToiZDQ4YzAyNjczMzZkYzY2OTEwN2QiLDg3NzQwOiI1ZTFhNzY3OTBlZTQ5YTM3OTVmYSIsODc3Njc6ImVkZWNmNDM5NTA0OGI3NDExYTg1Iiw4ODM4NToiMDg1NTFmMjAwZmVhMGZkMDNjZDUiLDg4NjQxOiIwNDE0MzhkMTFjNDZmY2U5ZDA4OSIsODkwNDQ6IjEyMjg4NjU5MWRiM2ZhNmZkYzAzIiw4OTE5NToiZjFlYmMyNGEwZGQ2YzllMDQ1NTIiLDg5NDMwOiIzOGJmODZiODVjOTg4MzE4ZmM3MiIsODk1NTg6Ijk4MWEzNGIxOWI0MWZhZDkyYjg4Iiw5MDMzMDoiYWFmMTYyMWU5ZTY4YjMxZjNjNmUiLDkwMzc4OiI4YjNhYjJjYWM5ZDBmZjkyN2ViZCIsOTA3NDE6ImFmMmI0ODE3MGQ2NDU0NzQwOGZmIiw5MDk2MDoiZWM5NDFhY2NmYWEzZWQyY2Q2ZTIiLDkxMjAwOiI5YTUyZjlmOTE4ZmMxOTZiYTQ0YSIsOTE2NzA6ImU4ZDNlZThkYmQ0MzVlMDM2ZWRlIiw5MTY3ODoiZTMwZDRjZGNkYzY4ODM3ZmY0ZDEiLDkyMzkzOiJmYmI4YzI3MWJjNGEwYjc1MTI2OSIsOTMxODg6IjgzMTJiOWEzNzZiNTU4ZTAwMzI0Iiw5MzQxNjoiOTA4MThkNzNlMGUzYTlhOWZlMmEiLDk0MDU0OiJkNTBlOTNlZjQzYzE4NGE1MTNlZiIsOTUxNTg6IjUzYmU2ZWU2NjRlNTA1MTg0NWY4Iiw5NTgzMToiZjA5ODQ4NjI4NDVlNTliYWY5MDUiLDk1ODUzOiI5YjIyODIxZWUzYjBlMzg3OTBjMCIsOTYxODE6ImFiNDljNzE0YTVkMmQ1MDMyMGRjIiw5NjM1MjoiODU2NGI0YWRmMTRlNDdlMDUxYWYiLDk3MTQ5OiI2NWQyNWE1Y2M5YjJhZTUxNjk2OCIsOTc2NjA6ImFlOWYzZDRlNTY5NmY1ZDExOWE3Iiw5Nzg0NToiZjJkYjRkYzgyMDIzZWQ0MjIwZmMiLDk4NDMzOiI1MTM4ZmFmM2FhZjE0ZjJhNGE3OCIsOTg0NzU6IjMzNzhmN2ExMjMwNjliMmU3ZjBmIiw5ODUwOToiZjhkNmFjMzg1NTgxOTY4MDBkODEiLDk4Njk2OiJlMTBjZWVjZmQ0NDUzNWQ2ZWExYSIsOTk0NDg6IjNlY2Q1MWNjNDRjMTZlNWZlMDRmIiw5OTU5MzoiYjRmOGFlMTdjMGZiNjhmMmZiMDAiLDk5OTA4OiJmM2Y3MmYyZTk3M2ZiZDlkYTkxZSIsOTk5NDQ6ImVmZjMyODgyYzdhZGU4ZDkwZTVmIn1bZV0rIi5jc3MiLHQuZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKGUpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLHQubz0oZSxhKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSksZD17fSxmPSJ0cmFkaW5ndmlldzoiLHQubD0oZSxhLGMsYik9PntpZihkW2VdKWRbZV0ucHVzaChhKTtlbHNle3ZhciBfLG87aWYodm9pZCAwIT09Yylmb3IodmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLGk9MDtpPHMubGVuZ3RoO2krKyl7dmFyIHI9c1tpXTtpZihyLmdldEF0dHJpYnV0ZSgic3JjIik9PWV8fHIuZ2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siKT09ZitjKXtfPXI7YnJlYWt9fV98fChvPSEwLChfPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKS5jaGFyc2V0PSJ1dGYtOCIsdC5uYyYmXy5zZXRBdHRyaWJ1dGUoIm5vbmNlIix0Lm5jKSxfLnNldEF0dHJpYnV0ZSgiZGF0YS13ZWJwYWNrIixmK2MpLApfLnNyYz1lLDAhPT1fLnNyYy5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKF8uY3Jvc3NPcmlnaW49ImFub255bW91cyIpKSxkW2VdPVthXTt2YXIgbj0oYSxjKT0+e18ub25lcnJvcj1fLm9ubG9hZD1udWxsLGNsZWFyVGltZW91dChsKTt2YXIgZj1kW2VdO2lmKGRlbGV0ZSBkW2VdLF8ucGFyZW50Tm9kZSYmXy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKF8pLGYmJmYuZm9yRWFjaCgoZT0+ZShjKSkpLGEpcmV0dXJuIGEoYyl9LGw9c2V0VGltZW91dChuLmJpbmQobnVsbCx2b2lkIDAse3R5cGU6InRpbWVvdXQiLHRhcmdldDpffSksMTJlNCk7Xy5vbmVycm9yPW4uYmluZChudWxsLF8ub25lcnJvciksXy5vbmxvYWQ9bi5iaW5kKG51bGwsXy5vbmxvYWQpLG8mJmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoXyl9fSx0LnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LHQubm1kPWU9PihlLnBhdGhzPVtdLGUuY2hpbGRyZW58fChlLmNoaWxkcmVuPVtdKSxlKSx0Lmo9Nzk3OTUsKCgpPT57dmFyIGU7dC5nLmltcG9ydFNjcmlwdHMmJihlPXQuZy5sb2NhdGlvbisiIik7dmFyIGE9dC5nLmRvY3VtZW50O2lmKCFlJiZhJiYoYS5jdXJyZW50U2NyaXB0JiYiU0NSSVBUIj09PWEuY3VycmVudFNjcmlwdC50YWdOYW1lLnRvVXBwZXJDYXNlKCkmJihlPWEuY3VycmVudFNjcmlwdC5zcmMpLCFlKSl7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7aWYoYy5sZW5ndGgpZm9yKHZhciBkPWMubGVuZ3RoLTE7ZD4tMSYmKCFlfHwhL15odHRwKHM/KTovLnRlc3QoZSkpOyllPWNbZC0tXS5zcmN9aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlciIpO2U9ZS5yZXBsYWNlKC9eYmxvYjovLCIiKS5yZXBsYWNlKC8jLiokLywiIikucmVwbGFjZSgvXD8uKiQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIvIiksdC5wPWV9KSgpLHQuZy5sb2NhdGlvbiYmdC5wLnN0YXJ0c1dpdGgodC5nLmxvY2F0aW9uLm9yaWdpbikmJih0LnA9dC5wLnNsaWNlKHQuZy5sb2NhdGlvbi5vcmlnaW4ubGVuZ3RoKSksKCgpPT57Y29uc3QgZT10LnU7dC51PWE9PmUoYSkucmVwbGFjZSgiX19MQU5HX18iLHQuZy5sYW5ndWFnZSl9KSgpLCgoKT0+e3ZhciBlPXQuZSxhPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gYyhhLGQpe3JldHVybiBlKGEpLmNhdGNoKChmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZil7dmFyIGI9ZnVuY3Rpb24oKXtzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsYiwhMSksITE9PT1uYXZpZ2F0b3Iub25MaW5lP3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixiLCExKTpmKGQ8Mj9jKGEsZCsxKTplKGEpKX07c2V0VGltZW91dChiLGQqZCoxZTMpfSkpfSkpfXQuZT1mdW5jdGlvbihlKXtpZighYVtlXSl7YVtlXT1jKGUsMCk7dmFyIGQ9ZnVuY3Rpb24oKXtkZWxldGUgYVtlXX07YVtlXS50aGVuKGQsZCl9cmV0dXJuIGFbZV19fSkoKSwoKCk9PntpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXt2YXIgZT1lPT5uZXcgUHJvbWlzZSgoKGEsYyk9Pnt2YXIgZD10Lm1pbmlDc3NGKGUpLGY9dC5wK2Q7aWYoKChlLGEpPT57Zm9yKHZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZj0oXz1jW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpfHxfLmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKCJzdHlsZXNoZWV0Ij09PV8ucmVsJiYoZj09PWV8fGY9PT1hKSlyZXR1cm4gX312YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3R5bGUiKTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgXztpZigoZj0oXz1iW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKT09PWV8fGY9PT1hKXJldHVybiBffX0pKGQsZikpcmV0dXJuIGEoKTsoKGUsYSxjLGQsZik9Pnt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi5yZWw9InN0eWxlc2hlZXQiLGIudHlwZT0idGV4dC9jc3MiLGIub25lcnJvcj1iLm9ubG9hZD1jPT57aWYoYi5vbmVycm9yPWIub25sb2FkPW51bGwsImxvYWQiPT09Yy50eXBlKWQoKTtlbHNle3ZhciBfPWMmJigibG9hZCI9PT1jLnR5cGU/Im1pc3NpbmciOmMudHlwZSksbz1jJiZjLnRhcmdldCYmYy50YXJnZXQuaHJlZnx8YSx0PW5ldyBFcnJvcigiTG9hZGluZyBDU1MgY2h1bmsgIitlKyIgZmFpbGVkLlxuKCIrbysiKSIpO3QuY29kZT0iQ1NTX0NIVU5LX0xPQURfRkFJTEVEIix0LnR5cGU9Xyx0LnJlcXVlc3Q9byxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxmKHQpfX0sYi5ocmVmPWEsMCE9PWIuaHJlZi5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKGIuY3Jvc3NPcmlnaW49ImFub255bW91cyIpLGM/Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLGMubmV4dFNpYmxpbmcpOmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYil9KShlLGYsbnVsbCxhLGMpfSkpLGE9ezc5Nzk1OjB9O3QuZi5taW5pQ3NzPShjLGQpPT57YVtjXT9kLnB1c2goYVtjXSk6MCE9PWFbY10mJnsyMDI6MSw2NDU6MSw2NDY6MSw2NTc6MSwxNTA5OjEsMTY3NjoxLDE2Nzg6MSwyMDEzOjEsMjMzMToxLDIzNzI6MSwyNTExOjEsMzMxMDoxLDMzMjM6MSwzNzE5OjEsMzkxNjoxLDQwNDI6MSw0MTI3OjEsNDQ3NzoxLDQ2NjA6MSw0OTI5OjEsNDk2OToxLDUxODQ6MSw1MTg2OjEsNTMyMjoxLDU1Mzk6MSw1NjAzOjEsNTY4OToxLDU3NTY6MSw2MDcwOjEsNjA4MjoxLDY1ODM6MSw2NjA1OjEsNjY0NzoxLDcxMTE6MSw3MTYzOjEsNzM4NzoxLDc0NDU6MSw3NDU2OjEsNzY2NToxLDc4NjM6MSw3ODk5OjEsNzkyNzoxLDgyMTY6MSw4NTc5OjEsOWUzOjEsOTE0MDoxLDk0ODg6MSwKOTUwNDoxLDk3NDQ6MSwxMDM2NjoxLDEwMzg1OjEsMTEwMDg6MSwxMTIxODoxLDExMjU3OjEsMTE0NjE6MSwxMTQ4OToxLDExNTM3OjEsMTE3MjU6MSwxMjA1MToxLDEyMzg1OjEsMTI0MTI6MSwxMjUyNzoxLDEyNTY1OjEsMTI2NjY6MSwxMzAzOToxLDEzNDkyOjEsMTM2Nzc6MSwxNDE5MzoxLDE0NjI1OjEsMTQ2NDA6MSwxNDY1NzoxLDE0Njk3OjEsMTUzODM6MSwxNTUyNjoxLDE1NjM0OjEsMTYzOTk6MSwxNjQyMToxLDE3MDg3OjEsMTc2OTM6MSwxNzc1MToxLDE3ODYxOjEsMTc4NjU6MSwxODE2MjoxLDE4NDAwOjEsMTg0NDI6MSwxODQ3MjoxLDE4Njc0OjEsMTk0NDc6MSwxOTUxMzoxLDE5NTk1OjEsMTk1OTg6MSwxOTYzMToxLDE5Nzg3OjEsMTk4MzM6MSwyMDA4NToxLDIwMTUzOjEsMjAyNzE6MSwyMDM1NDoxLDIwMzcwOjEsMjA1NjQ6MSwyMDU5MDoxLDIwOTcxOjEsMjA5ODY6MSwyMTI0NToxLDIxNTgxOjEsMjIwNzA6MSwyMjE0NDoxLDIyNDA1OjEsMjI0NjQ6MSwyMzI1NDoxLDIzMzY5OjEsMjM2MjQ6MSwyMzY2OToxLDI0MzE2OjEsMjQ0MDg6MSwyNDU4MToxLDI0NjAzOjEsMjUxNDI6MSwyNTQ4NToxLDI1NTU0OjEsMjU1NjI6MSwyNTY0NzoxLDI1Njk4OjEsMjU4MDk6MSwyNTg5NToxLDI2MTAwOjEsMjY1OTI6MSwyNjk4OToxLDI3MDg1OjEsMjcyMTc6MSwyNzMzNzoxLDI3NDQ2OjEsMjc1MTM6MSwyNzUxNzoxLDI3NTQ5OjEsMjc2NjU6MSwyNzY5NjoxLDI3NzM2OjEsMjgwMTc6MSwyODkzNjoxLDI4OTk1OjEsMjkxMzM6MSwyOTI5NjoxLDI5MzE1OjEsMjkzMjc6MSwyOTM0ODoxLDI5NDg5OjEsMjk1MzY6MSwyOTcxNDoxLDI5OTQzOjEsMjk5OTM6MSwzMDAyOToxLDMwMzczOjEsMzA3NDU6MSwzMDc4OToxLDMwOTIyOjEsMzA5NjA6MSwzMTAwMToxLDMxMjYyOjEsMzE1NTc6MSwzMjE3NjoxLDMyNDI3OjEsMzI3NDg6MSwzMjgxNjoxLDMyODU3OjEsMzMxMjA6MSwzMzIyMToxLDMzMzY4OjEsMzM1MTU6MSwzMzU1MzoxLDM0NzU4OjEsMzUwNzM6MSwzNTE5ODoxLDM1MzQyOjEsMzUzOTk6MSwzNTYzMDoxLDM1Nzk0OjEsMzYxNzM6MSwzNjIyMjoxLDM2MzU2OjEsMzY1MjE6MSwzNjU0NToxLDM2OTg2OjEsMzc1MTM6MSwzNzU2NzoxLDM3NzQ2OjEsMzc3Njc6MSwzNzg2NzoxLDM4MDAyOjEsMzgyNjI6MSwzODQ3OToxLDM4NzgyOjEsMzg4Njg6MSwzOTc4NjoxLDQwMTY4OjEsNDAyMjA6MSw0MDgzNToxLDQwODY3OjEsNDA5MDI6MSw0MDkxNDoxLDQxNTA2OjEsNDE1ODg6MSw0MTYwODoxLDQxODExOjEsNDE5ODA6MSw0MjAzMzoxLDQyMzAxOjEsNDI3MjE6MSw0MzMyNToxLDQzNDMzOjEsNDM0NDE6MSw0MzQ4NjoxLDQzNjQ0OjEsNDM3OTI6MSw0MzgwODoxLDQzODQxOjEsNDM5MTk6MSw0MzkzOToxLDQ0MDMxOjEsNDQ0NjA6MSw0NDk0NjoxLDQ1MjQyOjEsNDUzMzE6MSw0NTM2ODoxLDQ1NDE4OjEsNDU3ODM6MSw0NTk0NToxLDQ2MDM0OjEsNDYwNTU6MSw0NjI0NToxLDQ2NTkxOjEsNDY3NTY6MSw0NjkwNzoxLDQ3MDIxOjEsNDcwOTI6MSw0NzIwMToxLDQ3MzE2OjEsNDc0NTc6MSw0NzU1MToxLDQ3NTc5OjEsNDc2MzI6MSw0ODMxMjoxLDQ4NjgyOjEsNDg4NjQ6MSw0OTE0OToxLDQ5Mjk3OjEsNDk0OTA6MSw0OTUzNjoxLDQ5NTg4OjEsNDk5OTc6MSw1MDAzNToxLDUwMjIxOjEsNTAzMTY6MSw1MDMyNToxLDUwNTg4OjEsNTA2MjI6MSw1MDc0MzoxLDUwODAwOjEsNTEwMTc6MSw1MTAzMDoxLDUxMTg0OjEsNTEyMTM6MSw1MTI1NjoxLDUxMzA5OjEsNTE2ODI6MSw1MTg1MDoxLDUxODgwOjEsNTIwNjU6MSw1MjA5NToxLDUyMTc4OjEsNTIzOTY6MSw1MjY4MDoxLDUyOTIwOjEsNTI5NjE6MSw1MzIyODoxLDUzMzI5OjEsNTM1MjE6MSw1MzcxMzoxLDUzOTIzOjEsNTQwOTM6MSw1NDMxMDoxLDU0MzM5OjEsNTUwMTE6MSw1NTI5MDoxLDU1MzM2OjEsNTYxMjE6MSw1NjIxMzoxLDU2MjUyOjEsNTcyNTQ6MSw1NzMwMDoxLDU3NTA0OjEsNTc2MjY6MSw1ODA0MzoxLDU4MDUxOjEsNTgzODQ6MSw1ODkzMzoxLDU5MzUwOjEsNTk0Mzc6MSw1OTgzMDoxLDYwMDYyOjEsNjAwOTA6MSw2MDc2OToxLDYxMTkyOjEsNjE0MTM6MSw2MTgyMToxLDYyNjAwOjEsNjI2MzA6MSw2Mjc5MDoxLDYyODA2OjEsNjI4OTI6MSw2MzAzMzoxLDYzMTAwOjEsNjM3MjM6MSw2NDExMzoxLDY0MTk1OjEsNjQ1MDM6MSw2NDY0MzoxLDY0Njc0OjEsNjU1Mjg6MSw2NTYxMzoxLDY1NjQzOjEsNjU2NzU6MSw2NTY5MjoxLDY1ODU2OjEsNjYyMjk6MSw2NjI3MDoxLDY2NDczOjEsNjY1MjI6MSw2NzIxMjoxLDY3MjQ0OjEsNjc1NDM6MSw2NzY4NToxLDY3Nzg0OjEsNjc3OTk6MSw2NzkyNDoxLDY3OTI1OjEsNjg1Nzk6MSw2ODY4NjoxLDY4OTQyOjEsNjg5NjQ6MSw2OTE4NToxLDY5MjA5OjEsNjk3NDc6MSw2OTc2NjoxLDY5ODAzOjEsNjk4MDk6MSw2OTg2MToxLDcwMjU1OjEsNzAyODA6MSw3MDM2NDoxLDcwNjU2OjEsNzA3NTY6MSw3MDgxNToxLDcxMTkwOjEsNzEzNTA6MSw3MTQxNDoxLDcxNDM3OjEsNzE0ODI6MSw3MTUyODoxLDcxOTAxOjEsNzE5OTE6MSw3MjI0OToxLDcyNTEyOjEsNzI2NjY6MSw3MjY4MDoxLDcyOTAyOjEsNzM0MjU6MSw3MzU1MToxLDczOTYwOjEsNzQyMzM6MSw3NDI3MzoxLDc0MzgxOjEsNzQ0MjI6MSw3NDQ2MToxLDc0NDcxOjEsNzQ2MzY6MSw3NDgzMDoxLDc1MTcyOjEsNzUyMTc6MSw3NTMwNDoxLDc1NjAzOjEsNzYyNzg6MSw3NjMyOToxLDc2NjY0OjEsNzY5MTI6MSw3NzI2NDoxLDc4MTgyOjEsNzgyMzc6MSw3ODM0MToxLDc4NDA0OjEsNzg0MzQ6MSw3ODQ3MToxLDc4NjUyOjEsNzg4OTk6MSw3OTE5MToxLDc5MjQ0OjEsNzkzOTg6MSw3OTQzOToxLDc5NzkxOjEsNzk4OTI6MSw4MDA0MToxLDgwNjM5OjEsODA3MzE6MSw4MDc2MToxLDgwNzgyOjEsODEwMDE6MSw4MTA3MjoxLDgxMTA3OjEsODEyMTA6MSw4MTI0NzoxLDgxNTI5OjEsODE4MTg6MSw4MTkwMzoxLDgyMjcwOjEsODIyNzE6MSw4MjU4NjoxLDgzMDQxOjEsODMyNjE6MSw4MzQ4ODoxLDgzNTI5OjEsODM2NzU6MSw4NDIyNDoxLDg0MzA2OjEsODQzMzU6MSw4NDk0ODoxLDg1NTExOjEsODYwODc6MSw4NjE3ODoxLDg2MzYwOjEsODY0MjM6MSw4NjU0NDoxLAo4Njk5NzoxLDg3MjU2OjEsODc0NzQ6MSw4NzQ5ODoxLDg3NjczOjEsODc3MjE6MSw4Nzc0MDoxLDg3NzY3OjEsODgzODU6MSw4ODY0MToxLDg5MDQ0OjEsODkxOTU6MSw4OTIwNDoxLDg5NDMwOjEsODk1NTg6MSw5MDMzMDoxLDkwMzc4OjEsOTA3NDE6MSw5MDk2MDoxLDkxMjAwOjEsOTE2NzA6MSw5MTY3ODoxLDkxODU1OjEsOTIzOTM6MSw5MzE4ODoxLDkzNDE2OjEsOTM0MjE6MSw5NDA1NDoxLDk0MjMyOjEsOTQ5NDg6MSw5NTE1ODoxLDk1ODMxOjEsOTU4NTM6MSw5NjE4MToxLDk2MzUyOjEsOTY1ODc6MSw5NzE0OToxLDk3NjYwOjEsOTc4NDU6MSw5ODA4NDoxLDk4NDMzOjEsOTg0NzU6MSw5ODUwOToxLDk4Njk2OjEsOTk0NDg6MSw5OTU5MzoxLDk5OTA4OjEsOTk5NDQ6MX1bY10mJmQucHVzaChhW2NdPWUoYykudGhlbigoKCk9PnthW2NdPTB9KSwoZT0+e3Rocm93IGRlbGV0ZSBhW2NdLGV9KSkpfX19KSgpLHQuaTE4bmV4dD0oZSxhPXt9LGMsZD10LmcubGFuZ3VhZ2UpPT57aWYobnVsbD09PWUpe2lmKEFycmF5LmlzQXJyYXkoYykpcmV0dXJuIGNbdm9pZCAwPT09YS5jb3VudD8wOnQuX3BsdXJhbFtkXShhLmNvdW50KV0ucmVwbGFjZSgveyhcdyspfS9nLCgoZSxjKT0+dm9pZCAwIT09KGEucmVwbGFjZXx8YSlbY10/KGEucmVwbGFjZXx8YSlbY106ZSkpO2lmKCJvYmplY3QiPT10eXBlb2YgYylyZXR1cm4gY1t0LmcubGFuZ3VhZ2VdP3QuaTE4bmV4dChudWxsLGEsY1t0LmcubGFuZ3VhZ2VdKTp0LmkxOG5leHQobnVsbCxhLGMuZW4sImVuIil9ZWxzZSBpZihjJiZlKXtjb25zdCBkPWAke2V9JHthLmNvbnRleHQ/YF8ke2EuY29udGV4dH1gOiIifWA7aWYoY1tkXSlyZXR1cm4gdC5pMThuZXh0KG51bGwsYSxjW2RdKX1yZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/ZS50b1N0cmluZygpOiJzdHJpbmciIT10eXBlb2YgZT8iIjplfSwoKCk9Pnt0LmI9InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQuYmFzZVVSSXx8c2VsZi5sb2NhdGlvbi5ocmVmO3ZhciBlPXs3OTc5NTowLDM5MDU6MCw1NDY4MTowLDMxODM3OjAsNTE1MDg6MCw0OTUxODowLDMyNjMyOjAsODQwODowLDk5NTI3OjAsMTE0MDk6MCwzMDIwMDowLDUyODQyOjAsODg5MDY6MCwxMzgwOTowLDg1NTEwOjAsMzM3MzU6MH07dC5mLmo9KGEsYyk9Pnt2YXIgZD10Lm8oZSxhKT9lW2FdOnZvaWQgMAo7aWYoMCE9PWQpaWYoZCljLnB1c2goZFsyXSk7ZWxzZSBpZigvXigxKDAzKDY2fDg1KXwxKDQoMDl8NjF8ODkpfDAwOHwyMTh8MjU3fDUzN3w3MjUpfDIoMDUxfDM4NXw0MTJ8NTI3fDU2NXw2NjYpfDMoMDM5fDQ5Mnw2Nzd8ODA5KXw0KDYoMjV8NDB8NTd8OTcpfDE5Myl8NSgwOXwzODN8NTI2fDYzNCl8NigzOTl8NDIxfDc2fDc4KXw3KDg2WzE1XXwwODd8NjkzfDc1MSl8OCg0KDAwfDQyfDcyKXwxNjJ8Njc0KXw5KDUoMTN8OTV8OTgpfDQ0N3w2MzF8Nzg3fDgzMykpfDIoMChbMjldNzF8MDg1fDEzfDE1M3wyfDM1NHwzNzB8NTY0fDU5MHw5ODYpfDIoMDcwfDE0NHw0MDV8NDY0KXwzKFszNl02OXwyNTR8MzF8NjI0fDcyKXw0KDMxNnw0MDh8NTgxfDYwMyl8NSgxMXwxNDJ8NDg1fDU1NHw1NjJ8NjQ3fDY5OHw4MDl8ODk1KXw2KDEwMHw1OTJ8OTg5KXw3KDUoMTN8MTd8NDkpfCg0NHw2OXw3Myk2fDA4NXwyMTd8MzM3fDY2NSl8OCgwMTd8OTM2fDk5NSl8OSgzKDE1fDI3fDQ4KXwoMTN8OTR8OTkpM3wyOTZ8NDg5fDUzNnw3MTQpfDEyNDV8MTU4MSl8MygwKDAyOXwyMDB8MzczfDc0NXw3ODl8OTIyfDk2MCl8MSgwMDF8MjYyfDU1N3w4MzcpfDIoMTc2fDQyN3w2MzJ8NzQ4fDgxNnw4NTcpfDMoMTB8MTIwfDIyMXwyM3wzNjh8NTE1fDU1M3w3MzUpfDUoMDczfDE5OHwzNDJ8Mzk5fDYzMHw3OTQpfDYoMTczfDIyMnwzNTZ8NTIxfDU0NXw5ODYpfDcoWzU3OF02N3wxOXw1MTN8NzQ2KXw4KCgwMHwyNnw3OCkyfDQ3OXw4NjgpfDkoMDV8MTZ8Nzg2KXw0NzU4KXw0KDAoMTY4fDIyMHw0Mnw4MzV8ODY3fDkwMnw5MTQpfDEoMjd8NTA2fDU4OHw2MDh8ODExfDk4MCl8MigwMzN8MzAxfDcyMSl8Myg0KDMzfDQxfDg2KXwzMjV8NjQ0fDc5Mnw4MDh8ODQxfDkxOXw5MzkpfDQoMDMxfDQ2MHw3N3w5NDYpfDUoMjQyfDMzMXwzNjh8NDE4fDc4M3w5NDUpfDYoMDM0fDA1NXwyNDV8NTkxfDYwfDc1Nnw5MDcpfDcoKDAyfDIwfDU1KTF8MDkyfDMxNnw0NTd8NTc5fDYzMil8OCgzMTJ8NjgyfDg2NCl8OSgyOSh8Nyl8NSgxOHwzNnw4OCl8MTQ5fDQ5MHw2OXw5OTcpKXw1KDAoMDM1fDIyMXwzMTZ8MzI1fDU4OHw2MjJ8NzQzfDgwMCl8MSg4KDR8NTB8Nnw4MCl8MDE3fDAzMHwxODR8MjEzfDI1NnwzMDl8NTA4fDY4Mil8MigwNjV8MDk1fDE3OHwzOTZ8NjgwfDg0Mnw5MjB8OTYxKXwzKDIyKHw4KXwzMjl8NTIxfDcxM3w5MjMpfDQoMDkzfDMxMHwzMzl8NjgxKXw1KDAxMXwyOTB8MzM2fDM5KXw2KDAzfDEyMXwyMTN8MjUyfDg5KXw3KDI1NHwzMDB8NTA0fDU2fDYyNil8OCgwNDN8MDUxfDM4NHw5MzMpfDkoMzUwfDQzN3w4MzApKXw2KDAoMDYyfDA5MHw3MHw3Njl8ODIpfDEoMTkyfDQxM3w4MjEpfDIoKDYwfDYzfDc5KTB8ODA2fDg5Mil8MygwMzN8MTAwfDcyMyl8NCg2KHw0M3w3NCl8MTEzfDE5NXw1fDUwMyl8NSg2KDEzfDQzfDc1fDkyKXw1Mjh8N3w4M3w4NTYpfDYoNDcofDMpfDA1fDIyOXwyNzB8NTIyKXw3KDkyWzQ1XXwyMTJ8MjQ0fDU0M3w2ODV8Nzg0fDc5OSl8OCg1Nzl8Njg2fDk0Mnw5NjQpfDkoOCgwM3wwOXw2MSl8MTg1fDIwOXw3NDd8NzY2KSl8NygwKFs2N101NnwyNTV8MjgwfDM2NHw4MTUpfDEoNCgxNHwzN3w4Mil8KDF8OTB8OTkpMXwxOTB8MzUwfDUyOHw2Myl8MigyNDl8NTEyfDY2Nnw2ODB8OTAyKXwzKDQyNXw1NTF8ODd8OTYwKXw0KDQoMjJ8NXw2MXw3MSl8MjMzfDI3M3wzODF8NTZ8NjM2fDgzMCl8NSgxNzJ8MjE3fDMwNHw2MDMpfDYoMjc4fDMyOXw2NXw2NjR8OTEyKXw4KDQoMDR8MzR8NzEpfCh8OCk5OXwxODJ8MjM3fDM0MXw2M3w2NTIpfDkoNzlbMTVdfDE5MXwyNDR8Mjd8Mzk4fDQzOXw4OTIpfDcyNjQpfDgoMCg3KDMxfDYxfDgyKXwwNDF8NjM5KXwxKDAwMXwwNzJ8MTA3fDIxMHwyNDd8NTI5fDgxOHw5MDMpfDIoMjdbMDFdfDE2fDU4Nil8MygwNDF8MjYxfDQ4OHw1Mjl8Njc1KXw0KDA4fDIyNHwzMDZ8MzM1fDk0OCl8NSg1MVswMV18NzkpfDYoMDg3fDE3OHwzNjB8NDIzfDU0NHw5OTcpfDcoNygyMXw0MHw2Nyl8MjU2fDQ3NHw0OTh8NjczKXw4KDM4NXw2NDF8OTA2KXw5KDA0NHwxOTV8MjA0fDQzMHw1NTgpKXw5KDAoKDB8MzN8OTYpMHwzNzh8NzQxKXwxKDY3WzA4XXwyMDB8NDB8ODU1KXwzKDE4OHw0MTZ8NDIxKXw0KDA1NHwyMzJ8ODh8OTQ4KXw1KDA0fDE1OHw4MzF8ODUzKXw2KDE4MXwzNTJ8NTg3KXw3KDE0OXw0NHw2NjB8ODQ1KXw4KDA4NHw0MzN8NDc1fDUwOXw2OTYpfDkoNDQ4fDUyN3w1OTN8OTA4fDk0NCl8MjM5MykpJC8udGVzdChhKSllW2FdPTA7ZWxzZXt2YXIgZj1uZXcgUHJvbWlzZSgoKGMsZik9PmQ9ZVthXT1bYyxmXSkpO2MucHVzaChkWzJdPWYpO3ZhciBiPXQucCt0LnUoYSksXz1uZXcgRXJyb3I7dC5sKGIsKGM9PntpZih0Lm8oZSxhKSYmKDAhPT0oZD1lW2FdKSYmKGVbYV09dm9pZCAwKSxkKSl7dmFyIGY9YyYmKCJsb2FkIj09PWMudHlwZT8ibWlzc2luZyI6Yy50eXBlKSxiPWMmJmMudGFyZ2V0JiZjLnRhcmdldC5zcmM7Xy5tZXNzYWdlPSJMb2FkaW5nIGNodW5rICIrYSsiIGZhaWxlZC5cbigiK2YrIjogIitiKyIpIixfLm5hbWU9IkNodW5rTG9hZEVycm9yIixfLnR5cGU9ZixfLnJlcXVlc3Q9YixkWzFdKF8pfX0pLCJjaHVuay0iK2EsYSl9fSx0LkYuaj1hPT57CmlmKCEodC5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoNCgwOXw2MXw4OSl8MDA4fDIxOHwyNTd8NTM3fDcyNSl8MigwNTF8Mzg1fDQxMnw1Mjd8NTY1fDY2Nil8MygwMzl8NDkyfDY3N3w4MDkpfDQoNigyNXw0MHw1N3w5Nyl8MTkzKXw1KDA5fDM4M3w1MjZ8NjM0KXw2KDM5OXw0MjF8NzZ8NzgpfDcoODZbMTVdfDA4N3w2OTN8NzUxKXw4KDQoMDB8NDJ8NzIpfDE2Mnw2NzQpfDkoNSgxM3w5NXw5OCl8NDQ3fDYzMXw3ODd8ODMzKSl8MigwKFsyOV03MXwwODV8MTN8MTUzfDJ8MzU0fDM3MHw1NjR8NTkwfDk4Nil8MigwNzB8MTQ0fDQwNXw0NjQpfDMoWzM2XTY5fDI1NHwzMXw2MjR8NzIpfDQoMzE2fDQwOHw1ODF8NjAzKXw1KDExfDE0Mnw0ODV8NTU0fDU2Mnw2NDd8Njk4fDgwOXw4OTUpfDYoMTAwfDU5Mnw5ODkpfDcoNSgxM3wxN3w0OSl8KDQ0fDY5fDczKTZ8MDg1fDIxN3wzMzd8NjY1KXw4KDAxN3w5MzZ8OTk1KXw5KDMoMTV8Mjd8NDgpfCgxM3w5NHw5OSkzfDI5Nnw0ODl8NTM2fDcxNCl8MTI0NXwxNTgxKXwzKDAoMDI5fDIwMHwzNzN8NzQ1fDc4OXw5MjJ8OTYwKXwxKDAwMXwyNjJ8NTU3fDgzNyl8MigxNzZ8NDI3fDYzMnw3NDh8ODE2fDg1Nyl8MygxMHwxMjB8MjIxfDIzfDM2OHw1MTV8NTUzfDczNSl8NSgwNzN8MTk4fDM0MnwzOTl8NjMwfDc5NCl8NigxNzN8MjIyfDM1Nnw1MjF8NTQ1fDk4Nil8NyhbNTc4XTY3fDE5fDUxM3w3NDYpfDgoKDAwfDI2fDc4KTJ8NDc5fDg2OCl8OSgwNXwxNnw3ODYpfDQ3NTgpfDQoMCgxNjh8MjIwfDQyfDgzNXw4Njd8OTAyfDkxNCl8MSgyN3w1MDZ8NTg4fDYwOHw4MTF8OTgwKXwyKDAzM3wzMDF8NzIxKXwzKDQoMzN8NDF8ODYpfDMyNXw2NDR8NzkyfDgwOHw4NDF8OTE5fDkzOSl8NCgwMzF8NDYwfDc3fDk0Nil8NSgyNDJ8MzMxfDM2OHw0MTh8NzgzfDk0NSl8NigwMzR8MDU1fDI0NXw1OTF8NjB8NzU2fDkwNyl8NygoMDJ8MjB8NTUpMXwwOTJ8MzE2fDQ1N3w1Nzl8NjMyKXw4KDMxMnw2ODJ8ODY0KXw5KDI5KHw3KXw1KDE4fDM2fDg4KXwxNDl8NDkwfDY5fDk5NykpfDUoMCgwMzV8MjIxfDMxNnwzMjV8NTg4fDYyMnw3NDN8ODAwKXwxKDgoNHw1MHw2fDgwKXwwMTd8MDMwfDE4NHwyMTN8MjU2fDMwOXw1MDh8NjgyKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODB8ODQyfDkyMHw5NjEpfDMoMjIofDgpfDMyOXw1MjF8NzEzfDkyMyl8NCgwOTN8MzEwfDMzOXw2ODEpfDUoMDExfDI5MHwzMzZ8MzkpfDYoMDN8MTIxfDIxM3wyNTJ8ODkpfDcoMjU0fDMwMHw1MDR8NTZ8NjI2KXw4KDA0M3wwNTF8Mzg0fDkzMyl8OSgzNTB8NDM3fDgzMCkpfDYoMCgwNjJ8MDkwfDcwfDc2OXw4Mil8MSgxOTJ8NDEzfDgyMSl8MigoNjB8NjN8NzkpMHw4MDZ8ODkyKXwzKDAzM3wxMDB8NzIzKXw0KDYofDQzfDc0KXwxMTN8MTk1fDV8NTAzKXw1KDYoMTN8NDN8NzV8OTIpfDUyOHw3fDgzfDg1Nil8Nig0Nyh8Myl8MDV8MjI5fDI3MHw1MjIpfDcoOTJbNDVdfDIxMnwyNDR8NTQzfDY4NXw3ODR8Nzk5KXw4KDU3OXw2ODZ8OTQyfDk2NCl8OSg4KDAzfDA5fDYxKXwxODV8MjA5fDc0N3w3NjYpKXw3KDAoWzY3XTU2fDI1NXwyODB8MzY0fDgxNSl8MSg0KDE0fDM3fDgyKXwoMXw5MHw5OSkxfDE5MHwzNTB8NTI4fDYzKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4N3w5NjApfDQoNCgyMnw1fDYxfDcxKXwyMzN8MjczfDM4MXw1Nnw2MzZ8ODMwKXw1KDE3MnwyMTd8MzA0fDYwMyl8NigyNzh8MzI5fDY1fDY2NHw5MTIpfDgoNCgwNHwzNHw3MSl8KHw4KTk5fDE4MnwyMzd8MzQxfDYzfDY1Mil8OSg3OVsxNV18MTkxfDI0NHwyN3wzOTh8NDM5fDg5Mil8NzI2NCl8OCgwKDcoMzF8NjF8ODIpfDA0MXw2MzkpfDEoMDAxfDA3MnwxMDd8MjEwfDI0N3w1Mjl8ODE4fDkwMyl8MigyN1swMV18MTZ8NTg2KXwzKDA0MXwyNjF8NDg4fDUyOXw2NzUpfDQoMDh8MjI0fDMwNnwzMzV8OTQ4KXw1KDUxWzAxXXw3OSl8NigwODd8MTc4fDM2MHw0MjN8NTQ0fDk5Nyl8Nyg3KDIxfDQwfDY3KXwyNTZ8NDc0fDQ5OHw2NzMpfDgoMzg1fDY0MXw5MDYpfDkoMDQ0fDE5NXwyMDR8NDMwfDU1OCkpfDkoMCgoMHwzM3w5NikwfDM3OHw3NDEpfDEoNjdbMDhdfDIwMHw0MHw4NTUpfDMoMTg4fDQxNnw0MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDUoMDR8MTU4fDgzMXw4NTMpfDYoMTgxfDM1Mnw1ODcpfDcoMTQ5fDQ0fDY2MHw4NDUpfDgoMDg0fDQzM3w0NzV8NTA5fDY5Nil8OSg0NDh8NTI3fDU5M3w5MDh8OTQ0KXwyMzkzKSkkLy50ZXN0KGEpKSl7ZVthXT1udWxsO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmNoYXJzZXQ9InV0Zi04IixjLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLHQubmMmJmMuc2V0QXR0cmlidXRlKCJub25jZSIsdC5uYyksYy5yZWw9InByZWZldGNoIixjLmFzPSJzY3JpcHQiLGMuaHJlZj10LnArdC51KGEpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYyl9fSx0Lkguaj1hPT57CmlmKCEodC5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoNCgwOXw2MXw4OSl8MDA4fDIxOHwyNTd8NTM3fDcyNSl8MigwNTF8Mzg1fDQxMnw1Mjd8NTY1fDY2Nil8MygwMzl8NDkyfDY3N3w4MDkpfDQoNigyNXw0MHw1N3w5Nyl8MTkzKXw1KDA5fDM4M3w1MjZ8NjM0KXw2KDM5OXw0MjF8NzZ8NzgpfDcoODZbMTVdfDA4N3w2OTN8NzUxKXw4KDQoMDB8NDJ8NzIpfDE2Mnw2NzQpfDkoNSgxM3w5NXw5OCl8NDQ3fDYzMXw3ODd8ODMzKSl8MigwKFsyOV03MXwwODV8MTN8MTUzfDJ8MzU0fDM3MHw1NjR8NTkwfDk4Nil8MigwNzB8MTQ0fDQwNXw0NjQpfDMoWzM2XTY5fDI1NHwzMXw2MjR8NzIpfDQoMzE2fDQwOHw1ODF8NjAzKXw1KDExfDE0Mnw0ODV8NTU0fDU2Mnw2NDd8Njk4fDgwOXw4OTUpfDYoMTAwfDU5Mnw5ODkpfDcoNSgxM3wxN3w0OSl8KDQ0fDY5fDczKTZ8MDg1fDIxN3wzMzd8NjY1KXw4KDAxN3w5MzZ8OTk1KXw5KDMoMTV8Mjd8NDgpfCgxM3w5NHw5OSkzfDI5Nnw0ODl8NTM2fDcxNCl8MTI0NXwxNTgxKXwzKDAoMDI5fDIwMHwzNzN8NzQ1fDc4OXw5MjJ8OTYwKXwxKDAwMXwyNjJ8NTU3fDgzNyl8MigxNzZ8NDI3fDYzMnw3NDh8ODE2fDg1Nyl8MygxMHwxMjB8MjIxfDIzfDM2OHw1MTV8NTUzfDczNSl8NSgwNzN8MTk4fDM0MnwzOTl8NjMwfDc5NCl8NigxNzN8MjIyfDM1Nnw1MjF8NTQ1fDk4Nil8NyhbNTc4XTY3fDE5fDUxM3w3NDYpfDgoKDAwfDI2fDc4KTJ8NDc5fDg2OCl8OSgwNXwxNnw3ODYpfDQ3NTgpfDQoMCgxNjh8MjIwfDQyfDgzNXw4Njd8OTAyfDkxNCl8MSgyN3w1MDZ8NTg4fDYwOHw4MTF8OTgwKXwyKDAzM3wzMDF8NzIxKXwzKDQoMzN8NDF8ODYpfDMyNXw2NDR8NzkyfDgwOHw4NDF8OTE5fDkzOSl8NCgwMzF8NDYwfDc3fDk0Nil8NSgyNDJ8MzMxfDM2OHw0MTh8NzgzfDk0NSl8NigwMzR8MDU1fDI0NXw1OTF8NjB8NzU2fDkwNyl8NygoMDJ8MjB8NTUpMXwwOTJ8MzE2fDQ1N3w1Nzl8NjMyKXw4KDMxMnw2ODJ8ODY0KXw5KDI5KHw3KXw1KDE4fDM2fDg4KXwxNDl8NDkwfDY5fDk5NykpfDUoMCgwMzV8MjIxfDMxNnwzMjV8NTg4fDYyMnw3NDN8ODAwKXwxKDgoNHw1MHw2fDgwKXwwMTd8MDMwfDE4NHwyMTN8MjU2fDMwOXw1MDh8NjgyKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODB8ODQyfDkyMHw5NjEpfDMoMjIofDgpfDMyOXw1MjF8NzEzfDkyMyl8NCgwOTN8MzEwfDMzOXw2ODEpfDUoMDExfDI5MHwzMzZ8MzkpfDYoMDN8MTIxfDIxM3wyNTJ8ODkpfDcoMjU0fDMwMHw1MDR8NTZ8NjI2KXw4KDA0M3wwNTF8Mzg0fDkzMyl8OSgzNTB8NDM3fDgzMCkpfDYoMCgwNjJ8MDkwfDcwfDc2OXw4Mil8MSgxOTJ8NDEzfDgyMSl8MigoNjB8NjN8NzkpMHw4MDZ8ODkyKXwzKDAzM3wxMDB8NzIzKXw0KDYofDQzfDc0KXwxMTN8MTk1fDV8NTAzKXw1KDYoMTN8NDN8NzV8OTIpfDUyOHw3fDgzfDg1Nil8Nig0Nyh8Myl8MDV8MjI5fDI3MHw1MjIpfDcoOTJbNDVdfDIxMnwyNDR8NTQzfDY4NXw3ODR8Nzk5KXw4KDU3OXw2ODZ8OTQyfDk2NCl8OSg4KDAzfDA5fDYxKXwxODV8MjA5fDc0N3w3NjYpKXw3KDAoWzY3XTU2fDI1NXwyODB8MzY0fDgxNSl8MSg0KDE0fDM3fDgyKXwoMXw5MHw5OSkxfDE5MHwzNTB8NTI4fDYzKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4N3w5NjApfDQoNCgyMnw1fDYxfDcxKXwyMzN8MjczfDM4MXw1Nnw2MzZ8ODMwKXw1KDE3MnwyMTd8MzA0fDYwMyl8NigyNzh8MzI5fDY1fDY2NHw5MTIpfDgoNCgwNHwzNHw3MSl8KHw4KTk5fDE4MnwyMzd8MzQxfDYzfDY1Mil8OSg3OVsxNV18MTkxfDI0NHwyN3wzOTh8NDM5fDg5Mil8NzI2NCl8OCgwKDcoMzF8NjF8ODIpfDA0MXw2MzkpfDEoMDAxfDA3MnwxMDd8MjEwfDI0N3w1Mjl8ODE4fDkwMyl8MigyN1swMV18MTZ8NTg2KXwzKDA0MXwyNjF8NDg4fDUyOXw2NzUpfDQoMDh8MjI0fDMwNnwzMzV8OTQ4KXw1KDUxWzAxXXw3OSl8NigwODd8MTc4fDM2MHw0MjN8NTQ0fDk5Nyl8Nyg3KDIxfDQwfDY3KXwyNTZ8NDc0fDQ5OHw2NzMpfDgoMzg1fDY0MXw5MDYpfDkoMDQ0fDE5NXwyMDR8NDMwfDU1OCkpfDkoMCgoMHwzM3w5NikwfDM3OHw3NDEpfDEoNjdbMDhdfDIwMHw0MHw4NTUpfDMoMTg4fDQxNnw0MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDUoMDR8MTU4fDgzMXw4NTMpfDYoMTgxfDM1Mnw1ODcpfDcoMTQ5fDQ0fDY2MHw4NDUpfDgoMDg0fDQzM3w0NzV8NTA5fDY5Nil8OSg0NDh8NTI3fDU5M3w5MDh8OTQ0KXwyMzkzKSkkLy50ZXN0KGEpKSl7ZVthXT1udWxsO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmNoYXJzZXQ9InV0Zi04Iix0Lm5jJiZjLnNldEF0dHJpYnV0ZSgibm9uY2UiLHQubmMpLGMucmVsPSJwcmVsb2FkIixjLmFzPSJzY3JpcHQiLGMuaHJlZj10LnArdC51KGEpLDAhPT1jLmhyZWYuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihjLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGMpfX0sdC5PLmo9YT0+MD09PWVbYV07dmFyIGE9KGEsYyk9Pnt2YXIgZCxmLFtiLF8sb109YyxzPTA7aWYoYi5zb21lKChhPT4wIT09ZVthXSkpKXtmb3IoZCBpbiBfKXQubyhfLGQpJiYodC5tW2RdPV9bZF0pO2lmKG8pdmFyIGk9byh0KX1mb3IoYSYmYShjKTtzPGIubGVuZ3RoO3MrKylmPWJbc10sdC5vKGUsZikmJmVbZl0mJmVbZl1bMF0oKSxlW2ZdPTA7cmV0dXJuIHQuTyhpKX0sYz1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdO2MuZm9yRWFjaChhLmJpbmQobnVsbCwwKSksYy5wdXNoPWEuYmluZChudWxsLGMucHVzaC5iaW5kKGMpKX0pKCksdC5wPXQuZyYmdC5nLldFQlBBQ0tfUFVCTElDX1BBVEh8fHQucCxiPXsxNTE3MzpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldLDU2MzgyOls4NDY5Myw4ODk5NywzMDY5OSw0NjIxNyw2NjkzMyw3MTMxOV0sNzA1MzI6Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XSw5MjIyOTpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldLAo5Mjk2ODpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldfSx0LmYucHJlZmV0Y2g9KGUsYSk9PlByb21pc2UuYWxsKGEpLnRoZW4oKCgpPT57dmFyIGE9YltlXTtBcnJheS5pc0FycmF5KGEpJiZhLm1hcCh0LkUpfSkpLCgoKT0+e3ZhciBlPXsxOTIxMzpbNTY4MDEsMTMwMzksMTY5OV0sNzE1NjU6WzU2ODAxLDEzMDM5LDE2OTldLDg2NDEzOls1NjgwMSwxMzAzOSwxNjk5XX07dC5mLnByZWxvYWQ9YT0+e3ZhciBjPWVbYV07QXJyYXkuaXNBcnJheShjKSYmYy5tYXAodC5HKX19KSgpfSkoKTs="}},"time_used":55,"timings":{"blocked":-1,"dns":3,"connect":2,"send":0,"wait":10,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCDOGE.svg","fqdn":"s3-symbol-logo.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":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.401Z","timestamp":1785136905401,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCDOGE.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"47f2b3d4f911b55a91159a4c2e3e3653\"\r\nlast-modified: Fri, 12 Jan 2024 14:17:40 GMT\r\ncdn-cachedat: 08/14/2025 09:10:46\r\nx-amz-id-2: sXro9ZJxmHs/8GgMOnCRxAVZldlFML/+fLVjQjMIlOvfbjvZcsikJwX/J886wV65+2yy1tRFdyM=\r\nx-amz-request-id: EP4HPYP1RR742AW8\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 47f2b3d4f911b55a91159a4c2e3e3653\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 44f62cfad12850d512661912f40b8504\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":0,"size_decoded":0,"mime_type":"image/svg+xml","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCLTC.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.445Z","timestamp":1785136905445,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCLTC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVC2Z.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.526Z","timestamp":1785136905526,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVC2Z.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.014Z","timestamp":1785136901014,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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 07:21:41 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: c69e792e6705c7715337ffe45a7744f1\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":30098,"size_decoded":10551,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"0b8a552598142ab8089cd94992779448","sha1":"87a17e3637b405af0a42d322fc032cfd1da668b2","sha256":"22e612835027b9e83688180a91ed31c88f1ccb25ae05dc6866015bd73cb709a8","sha512":"3117f337cfd3fac0235478fc1c3bed80263bf95c521e7d287c8d86eada785db4a298db00b8523d0c3f22c5bced964bb3c73d3b355fb4211325d32ddc24fdcb10","ssdeep":"768:FbBK1Dsf6MP7AAKZAlrHp4Czh1HBvJ+vmdv2cKWPUqz+1xKGDZwYzYAlFKVGjqtr:UsfDP7ADAzlRBvJ++dv2cKWPUqz+1xK9","tlshash":"52d2940ab26054a711db01db4077405bea3fa6e9a04185befa688cdd0b6ee4c3167b7d","first_seen":"2026-07-23T13:38:20.531806Z","last_seen":"2026-07-28T07:05:00.687917Z","times_seen":1381,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3Mjc4XSx7ODYwMDI1KHQpe3QuZXhwb3J0cz17cGFpcjoicGFpci14d0dzU1hSMCIseHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzOiJ4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMteHdHc1NYUjAiLHh4eHhzbWFsbDoieHh4eHNtYWxsLXh3R3NTWFIwIix4eHhzbWFsbDoieHh4c21hbGwteHdHc1NYUjAiLHh4c21hbGw6Inh4c21hbGwteHdHc1NYUjAiLHhzbWFsbDoieHNtYWxsLXh3R3NTWFIwIixzbWFsbDoic21hbGwteHdHc1NYUjAiLG1lZGl1bToibWVkaXVtLXh3R3NTWFIwIixsYXJnZToibGFyZ2UteHdHc1NYUjAiLHhsYXJnZToieGxhcmdlLXh3R3NTWFIwIix4eGxhcmdlOiJ4eGxhcmdlLXh3R3NTWFIwIix4eHhsYXJnZToieHh4bGFyZ2UteHdHc1NYUjAiLGxvZ286ImxvZ28teHdHc1NYUjAiLHNrZWxldG9uOiJza2VsZXRvbi14d0dzU1hSMCIsZW1wdHk6ImVtcHR5LXh3R3NTWFIwIn19LDE0MDAxNyh0KXt0LmV4cG9ydHM9e2xvZ286ImxvZ28tVkNOS3ViV3EiLGhpZGRlbjoiaGlkZGVuLVZDTkt1YldxIix4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjM6Inh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy1WQ05LdWJXcSIseHh4c21hbGw6Inh4eHNtYWxsLVZDTkt1YldxIix4eHNtYWxsOiJ4eHNtYWxsLVZDTkt1YldxIix4c21hbGw6InhzbWFsbC1WQ05LdWJXcSIsc21hbGw6InNtYWxsLVZDTkt1YldxIixtZWRpdW06Im1lZGl1bS1WQ05LdWJXcSIsbGFyZ2U6ImxhcmdlLVZDTkt1YldxIix4bGFyZ2U6InhsYXJnZS1WQ05LdWJXcSIseHhsYXJnZToieHhsYXJnZS1WQ05LdWJXcSIseHh4bGFyZ2U6Inh4eGxhcmdlLVZDTkt1YldxIixza2VsZXRvbjoic2tlbGV0b24tVkNOS3ViV3EiLGxldHRlcjoibGV0dGVyLVZDTkt1YldxIn19LDk3NTI4NSh0KXt0LmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItaGN0MnlKdksiLGFuaW1hdGVkOiJhbmltYXRlZC1oY3QyeUp2SyIscHVsc2F0aW9uOiJwdWxzYXRpb24taGN0MnlKdksifX0sMjM1NzI0KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse01vZGlmaWVyczooKT0+cixoYXNoRnJvbUV2ZW50OigpPT5sLGlzTWFjS2V5Ym9hcmQ6KCk9Pm4sbW9kaWZpZXJzRnJvbUV2ZW50OigpPT5hfSk7dmFyIGksbz1zKDczODQ1OCk7IWZ1bmN0aW9uKHQpe3RbdC5LZXlDb2RlPTI1NV09IktleUNvZGUiLHRbdC5Db250cm9sPTI1Nl09IkNvbnRyb2wiLHRbdC5BbHQ9NTEyXT0iQWx0Iix0W3QuU2hpZnQ9MTAyNF09IlNoaWZ0Iix0W3QuTWV0YT0yMDQ4XT0iTWV0YSJ9KGl8fChpPXt9KSk7Y29uc3Qgbj1vLmlzTWFjfHxvLmlzSU9TO3ZhciByO2Z1bmN0aW9uIGEodCl7bGV0IGU9MDtyZXR1cm4gdC5zaGlmdEtleSYmKGUrPTEwMjQpLHQuYWx0S2V5JiYoZSs9NTEyKSx0LmN0cmxLZXkmJihlKz0yNTYpLHQubWV0YUtleSYmKGUrPTIwNDgpLGV9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gYSh0KXx0LmtleUNvZGV9IWZ1bmN0aW9uKHQpe3RbdC5Ob25lPTBdPSJOb25lIix0W3QuQWx0PTUxMl09IkFsdCIsdFt0LlNoaWZ0PTEwMjRdPSJTaGlmdCIsdFt0Lk1vZD1uPzIwNDg6MjU2XT0iTW9kIix0W3QuQ29udHJvbD0yNTZdPSJDb250cm9sIix0W3QuTWV0YT0yMDQ4XT0iTWV0YSJ9KHJ8fChyPXt9KSk7Y29uc3QgaD17OToi4oelIiwxMzoi4oa1IiwyNzoiRXNjIiw4Om4/IuKMqyI6IkJhY2tzcGFjZSIsMzI6IlNwYWNlIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IuKGkCIsMzg6IuKGkSIsMzk6IuKGkiIsNDA6IuKGkyIsNDU6IklucyIsNDY6IkRlbCIsMTg4OiIsIiwxOTA6IkRvdCIsMTkxOiIvIn0sYz17OToiVGFiIiwxMzoiRW50ZXIiLDI3OiJFc2MiLDg6IkJhY2tzcGFjZSIsMzI6IlNwYWNlIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zIiw0NjoiRGVsIiwxODg6IiwiLDE5MDoiLiIsMTkxOiIvIn07Zm9yKGxldCB0PTE7dDw9MTY7dCsrKWhbdCsxMTFdPWBGJHt0fWAsY1t0KzExMV09YEYke3R9YH0sODM3ODIyKHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse2dldENpcmNsZUxvZ29BbnlIdG1sOigpPT5ufSk7dmFyIGk9cyg4ODQ3OTgpLG89cygxNTIxODIpO2Z1bmN0aW9uIG4odCl7Y29uc3R7bG9nb1VybHM6ZSwuLi5zfT10O3JldHVybiAxPT09ZS5sZW5ndGg/KDAsaS5nZXRDaXJjbGVMb2dvSHRtbCkoe2xvZ29Vcmw6ZVswXSwuLi5zfSk6Mj09PWUubGVuZ3RoPygwLG8uZ2V0Q2lyY2xlTG9nb1BhaXJIdG1sKSh7cHJpbWFyeUxvZ29Vcmw6ZVswXSxzZWNvbmRhcnlMb2dvVXJsOmVbMV0sLi4uc30pOigwLGkuZ2V0Q2lyY2xlTG9nb0h0bWwpKHtsb2dvVXJsOnZvaWQgMCwuLi5zfSl9fSwxNTIxODIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7Z2V0Q2lyY2xlTG9nb1BhaXJIdG1sOigpPT5vfSk7dmFyIGk9cyg2Mjc4NDgpO2Z1bmN0aW9uIG8odCl7Y29uc3R7cHJpbWFyeUxvZ29Vcmw6ZSxzZWNvbmRhcnlMb2dvVXJsOnMsc2l6ZTpvLGNsYXNzTmFtZTpyfT10O3JldHVybmA8c3BhbiBjbGFzcz0iJHsoMCxpLmdldEJsb2NrU3R5bGVDbGFzc2VzKShvLHIpfSI+XG5cdFx0XHQke24oe2xvZ29Vcmw6cyxzaXplOm99KX1cblx0XHRcdCR7bih7bG9nb1VybDplLHNpemU6b30pfVxuXHRcdDwvc3Bhbj5gfWZ1bmN0aW9uIG4odCl7Y29uc3R7bG9nb1VybDplLHNpemU6c309dCxvPSgwLGkuZ2V0TG9nb1N0eWxlQ2xhc3NlcykocywyLEJvb2xlYW4oZSkpO3JldHVybiB2b2lkIDA9PT1lP2A8c3BhbiBjbGFzcz0iJHtvfSI+PC9zcGFuPmA6YDxpbWcgY2xhc3M9IiR7b30iIGNyb3Nzb3JpZ2luIHNyYz0iJHtlfSIgYWx0PSIiIC8+YH19LDYyNzg0OCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtnZXRCbG9ja1N0eWxlQ2xhc3NlczooKT0+bCxnZXRMb2dvU3R5bGVDbGFzc2VzOigpPT5ofSk7dmFyIGk9cyg5MTQ0ODcpLG89cy5uKGkpLG49cygxMzY0KSxyPXMoODYwMDI1KSxhPXMubihyKTtmdW5jdGlvbiBsKHQsZSl7CnJldHVybiBvKCkoYSgpLnBhaXIsYSgpW3RdLGUpfWZ1bmN0aW9uIGgodCxlPTIscz0hMCl7cmV0dXJuIG8oKShhKCkubG9nbyxhKClbdF0sYSgpLnNrZWxldG9uLG4uc2tlbGV0b25UaGVtZS53cmFwcGVyLCFzJiZhKCkuZW1wdHksMT09PWUmJm8oKShuLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpKX19LDg4NDc5OCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtnZXRDaXJjbGVMb2dvSHRtbDooKT0+b30pO3ZhciBpPXMoNzk0MTg3KTtzKDE0MDAxNyk7ZnVuY3Rpb24gbyh0KXtjb25zdCBlPSgwLGkuZ2V0U3R5bGVDbGFzc2VzKSh0LnNpemUsMix0LmNsYXNzTmFtZSk7cmV0dXJuKDAsaS5pc0NpcmNsZUxvZ29XaXRoVXJsUHJvcHMpKHQpP2A8aW1nIGNsYXNzPSIke2V9IiBjcm9zc29yaWdpbiBzcmM9IiR7dC5sb2dvVXJsfSIgYWx0PSIiPmA6YDxzcGFuIGNsYXNzPSIke2V9Ij4ke3QucGxhY2Vob2xkZXJMZXR0ZXJ8fCIifTwvc3Bhbj5gfX0sNzk0MTg3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse2dldFN0eWxlQ2xhc3NlczooKT0+bCxpc0NpcmNsZUxvZ29XaXRoVXJsUHJvcHM6KCk9Pmh9KTt2YXIgaT1zKDkxNDQ4Nyksbz1zLm4oaSksbj1zKDEzNjQpLHI9cygxNDAwMTcpLGE9cy5uKHIpO2Z1bmN0aW9uIGwodCxlPTIscyl7cmV0dXJuIG8oKShhKCkubG9nbyxhKClbdF0scywwPT09ZXx8MT09PWU/bygpKG4uc2tlbGV0b25UaGVtZS53cmFwcGVyLGEoKS5za2VsZXRvbik6YSgpLmxldHRlciwxPT09ZSYmbi5za2VsZXRvblRoZW1lLmFuaW1hdGVkKX1mdW5jdGlvbiBoKHQpe3JldHVybiJsb2dvVXJsImluIHQmJm51bGwhPT10LmxvZ29VcmwmJnZvaWQgMCE9PXQubG9nb1VybCYmMCE9PXQubG9nb1VybC5sZW5ndGh9fSwxMzY0KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3NrZWxldG9uVGhlbWU6KCk9Pm99KTt2YXIgaT1zKDk3NTI4NSk7Y29uc3Qgbz1zLm4oaSkoKX0sMjE2MTEodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe2lmKG51bGwhPXQmJiJib29sZWFuIiE9dHlwZW9mIHQmJiFpc05hTihOdW1iZXIodCkpKXJldHVybiBOdW1iZXIodCl9cy5kKGUse3RvTnVtYmVyT3JVbmRlZmluZWQ6KCk9Pml9KX0sNTE4NzUodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3QucHJldmVudERlZmF1bHQoKX1zLmQoZSx7cHJldmVudERlZmF1bHQ6KCk9PmkscHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudTooKT0+bn0pO2NvbnN0IG89WyJpbnB1dDpub3QoW3R5cGVdKSIsJ2lucHV0W3R5cGU9InRleHQiXScsJ2lucHV0W3R5cGU9ImVtYWlsIl0nLCdpbnB1dFt0eXBlPSJwYXNzd29yZCJdJywnaW5wdXRbdHlwZT0ic2VhcmNoIl0nLCdpbnB1dFt0eXBlPSJudW1iZXIiXScsJ2lucHV0W3R5cGU9InVybCJdJywidGV4dGFyZWEiLCJhW2hyZWZdIiwnKltjb250ZW50ZWRpdGFibGU9InRydWUiXScsIltkYXRhLWFsbG93LWNvbnRleHQtbWVudV0iXTtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9dC50YXJnZXQ7ZSYmIWUuY2xvc2VzdChvLmpvaW4oIiwgIikpJiZ0LnByZXZlbnREZWZhdWx0KCl9fSwxMjUyMTgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UGVyY2VudGFnZUZvcm1hdHRlcjooKT0+bn0pO3ZhciBpPXMoMTE1MjkzKSxvPXMoNzU1NjI3KTtjbGFzcyBuIGV4dGVuZHMgby5QcmljZUZvcm1hdHRlcntjb25zdHJ1Y3Rvcih0PXt9KXt2b2lkIDAhPT10LmRlY2ltYWxQbGFjZXMmJih0LnByaWNlU2NhbGU9TWF0aC5wb3coMTAsdC5kZWNpbWFsUGxhY2VzKSksc3VwZXIodCksdGhpcy50eXBlPSJwZXJjZW50YWdlIn1zdGF0ZSgpe3JldHVybnsuLi5zdXBlci5zdGF0ZSgpLHBlcmNlbnQ6ITB9fXBhcnNlKHQsZSl7cmV0dXJuIHQ9dC5yZXBsYWNlKCIlIiwiIiksc3VwZXIucGFyc2UodCxlKX1mb3JtYXQodCxlPXt9KXtjb25zdHt1c2VSdGxGb3JtYXQ6cz0hMH09ZSxvPXN1cGVyLmZvcm1hdCh0LHsuLi5lLHVzZVJ0bEZvcm1hdDohMX0pKyIlIjtyZXR1cm4gcz8oMCxpLmZvcmNlTFRSU3RyKShvKTpvfXN0YXRpYyBzZXJpYWxpemUodCl7cmV0dXJuIHQuc3RhdGUoKX1zdGF0aWMgZGVzZXJpYWxpemUodCl7cmV0dXJuIG5ldyBuKHQpfX19LDk4NDM3Nih0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtQTEFDRV9IT0xERVI6KCk9PnIsVm9sdW1lRm9ybWF0dGVyOigpPT5ofSk7dmFyIGk9cyg3ODMyNTQpLG89cyg2MDE4NDEpLG49cygxMDcwNDUpO2NvbnN0IHI9Ii0tLSIsYT1be3ZhbHVlOjMsbGV0dGVyOiJLIn0se3ZhbHVlOjYsbGV0dGVyOiJNIn0se3ZhbHVlOjksbGV0dGVyOiJCIn0se3ZhbHVlOjEyLGxldHRlcjoiVCJ9XTtmdW5jdGlvbiBsKHQsZSl7Y29uc3Qgcz10LWU7cmV0dXJuIGEuZmluZCgodD0+dC52YWx1ZT49cykpPz9hW2EubGVuZ3RoLTFdfWNsYXNzIGh7Y29uc3RydWN0b3IodD17fSl7dGhpcy50eXBlPSJ2b2x1bWUiO2NvbnN0e3ByZWNpc2lvbjplPTAsbWluUHJlY2lzaW9uOnM9MCxkaW1lbnNpb25QcmVjaXNpb246aT0yLGRpbWVuc2lvbk1pblByZWNpc2lvbjpvPTAsc2lnbmlmaWNhbnREaWdpdHM6cj0zLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLG5vRXhwb25lbnRpYWxGb3JtOmwscmVtb3ZlU3BhY2VCZWZvcmVEaW1lbnNpb246aH09dDt0aGlzLl9wcmVjaXNpb249ZSx0aGlzLl9mb3JtYXR0ZXI9bmV3IG4uTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX3ByZWNpc2lvbixtaW5QcmVjaXNpb246cyxub0V4cG9uZW50aWFsRm9ybTpsfSksdGhpcy5fZGltZW5zaW9uUHJlY2lzaW9uPWksdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyPW5ldyBuLk51bWVyaWNGb3JtYXR0ZXIoe2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLHByZWNpc2lvbjp0aGlzLl9kaW1lbnNpb25QcmVjaXNpb24sbWluUHJlY2lzaW9uOm8sbm9FeHBvbmVudGlhbEZvcm06bH0pLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzPXIsdGhpcy5fZnJhY3Rpb25hbFZhbHVlcz12b2lkIDAhPT1lJiZlPjAsdGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb249aD8iIjoi4oCvIix0aGlzLl9vcHRpb25zPXR9c3RhdGUoKXsKY29uc3R7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OnQsLi4uZX09dGhpcy5fb3B0aW9ucztyZXR1cm4gZX1mb3JtYXQodCxlKXtpZighKDAsby5pc051bWJlcikodCkpcmV0dXJuIHI7aWYoTWF0aC5hYnModCk+PTFlMTAwKXJldHVybiBpLnQobnVsbCx7Y29udGV4dDoidm9sdW1lLWZvcm1hdHRlciJ9LHMoNTcwNjIpKTtsZXQgbj0iIjtNYXRoLmFicyh0KTwxJiYodD0rdC50b0ZpeGVkKHRoaXMuX3ByZWNpc2lvbikpLHQ8MD9uPSLiiJIiOnQ+MCYmZT8uc2lnblBvc2l0aXZlJiYobj0iKyIpLHQ9TWF0aC5hYnModCk7Y29uc3QgYT0hIShlPy5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ/P3RoaXMuX29wdGlvbnMuaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0KTtsZXQgaCxjLG09TWF0aC5mbG9vcihNYXRoLmxvZzEwKHQpKSsxO2lmKG08PXRoaXMuX3NpZ25pZmljYW50RGlnaXRzJiYodD0rdC50b0ZpeGVkKHRoaXMuX3ByZWNpc2lvbiksbT1NYXRoLmZsb29yKE1hdGgubG9nMTAodCkpKzEpLG08PXRoaXMuX3NpZ25pZmljYW50RGlnaXRzKWg9dGhpcy5fZm9ybWF0TnVtYmVyKHQsYSx0aGlzLl9mb3JtYXR0ZXIpO2Vsc2V7bGV0IGU9bChtLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzKTtjb25zdCBzPU1hdGgucG93KDEwLGUudmFsdWUpO3Q9Kyh0L3MpLnRvRml4ZWQodGhpcy5fZGltZW5zaW9uUHJlY2lzaW9uKSpzLGU9bChNYXRoLmZsb29yKE1hdGgubG9nMTAodCkpKzEsdGhpcy5fc2lnbmlmaWNhbnREaWdpdHMpLGg9dGhpcy5fZm9ybWF0TnVtYmVyKHQvTWF0aC5wb3coMTAsZS52YWx1ZSksYSx0aGlzLl9kaW1lbnNpb25Gb3JtYXR0ZXIpLGM9ZS5sZXR0ZXJ9cmV0dXJuIGM/YCR7bn0ke2h9JHt0aGlzLl9zcGFjZUJlZm9yZURpbWVuc2lvbn0ke2N9YDpgJHtufSR7aH1gfXBhcnNlKHQsZSl7aWYodD09PXIpcmV0dXJue2Vycm9yOiJub3QgYSBudW1iZXIiLHJlczohMSx2YWx1ZTpOYU59O2NvbnN0IHM9e0s6MWUzLE06MWU2LEI6MWU5LFQ6MWUxMn0saT0odD10LnJlcGxhY2UoIuKIkiIsIi0iKSkuc2xpY2UoLTEpO2lmKHMuaGFzT3duUHJvcGVydHkoaSkpe2NvbnN0IG49dGhpcy5fZm9ybWF0dGVyLnBhcnNlKHQuc2xpY2UoMCwtMSkudHJpbSgpLGUpLHI9bi5yZXM/bi52YWx1ZTpOYU47cmV0dXJuKDAsby5pc051bWJlcikocik/e3JlczohMCx2YWx1ZTpyKnNbaV19OntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfX17Y29uc3Qgcz10aGlzLl9mb3JtYXR0ZXIucGFyc2UodC50cmltKCksZSk7bGV0IGk9cy5yZXM/cy52YWx1ZTpOYU47cmV0dXJuLTA9PT1pJiYoaT0wKSwoMCxvLmlzTnVtYmVyKShpKT97cmVzOiEwLHZhbHVlOml9OntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfX19c3RhdGljIHNlcmlhbGl6ZSh0KXtyZXR1cm4gdC5zdGF0ZSgpfXN0YXRpYyBkZXNlcmlhbGl6ZSh0KXtyZXR1cm4gbmV3IGgodCl9X2Zvcm1hdE51bWJlcih0LGUscyl7aWYodGhpcy5fZnJhY3Rpb25hbFZhbHVlcyYmMCE9PXQpe2NvbnN0IGU9MTQtTWF0aC5jZWlsKE1hdGgubG9nMTAodCkpLHM9TWF0aC5wb3coMTAsZSk7dD1NYXRoLnJvdW5kKHQqcykvc31yZXR1cm4gcy5mb3JtYXQodCx7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmV9KX19fSw2NDE1OTModCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7ZGVjb2RlSFRNTEVudGl0aWVzOigpPT5sLGdldEZpcnN0U2VnbWVudE9yQ29kZVBvaW50U3RyaW5nOigpPT5jLGh0bWxFc2NhcGU6KCk9Pmh9KTtjb25zdCBpPS9bPCInJj5dL2csbz10PT5gJiMke3QuY2hhckNvZGVBdCgwKX07YCxuPXsiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZxdW90OyI6JyInLCImYXBvczsiOiInIiwiJmFtcDsiOiImIiwiJiM2MDsiOiI8IiwiJiM2MjsiOiI+IiwiJiMzNDsiOiciJywiJiMzOTsiOiInIiwiJiMwMzk7IjoiJyIsIiYjMzg7IjoiJiJ9LHI9T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhuKS5tYXAoKChbdCxlXSk9Pih7W2VdOnR9KSkpKSxhPW5ldyBSZWdFeHAoT2JqZWN0LmtleXMobikuam9pbigifCIpLCJnIik7bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhyKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiBsKHQpe3JldHVybiB0LnJlcGxhY2UoYSwodD0+blt0XXx8dCkpfWZ1bmN0aW9uIGgodCl7cmV0dXJuIHQucmVwbGFjZShpLG8pfWZ1bmN0aW9uIGModCl7Y29uc3QgZT1JbnRsLlNlZ21lbnRlcjtpZihlKXtjb25zdCBzPW5ldyBlKHZvaWQgMCx7Z3JhbnVsYXJpdHk6ImdyYXBoZW1lIn0pLFt7c2VnbWVudDppfT17c2VnbWVudDpudWxsfV09cy5zZWdtZW50KHQpO3JldHVybiBpPy50b1VwcGVyQ2FzZSgpPz9udWxsfXtjb25zdCBlPXQuY29kZVBvaW50QXQoMCk7cmV0dXJuIGU/U3RyaW5nLmZyb21Db2RlUG9pbnQoZSkudG9VcHBlckNhc2UoKTpudWxsfX19LDM0NTE1MSh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtob3RLZXlEZXNlcmlhbGl6ZTooKT0+b30pO3ZhciBpPXMoNjQxNTkzKTtmdW5jdGlvbiBvKHQpe3JldHVybiBKU09OLnBhcnNlKCgwLGkuZGVjb2RlSFRNTEVudGl0aWVzKSh0KSl9fSw5ODYyNzUodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7Z2V0TG9nb1VybHNIb29rOigpPT5yfSk7dmFyIGk9cyg2MDE4NDEpLG89cyg4NjIyMTMpO2NvbnN0IG49KDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gcih0LGUpe2xldCBzPSExO3JldHVybihyLGEsbCk9PntpZighcyYmKHIubG9nb3x8bCkpe3M9ITA7Y29uc3QgYT1yLmxvZ28/ZnVuY3Rpb24odCxlPW8uTG9nb1NpemUuTWVkaXVtKXtyZXR1cm4oInBhaXIiPT09dC5zdHlsZT9bdC5sb2dvaWQsdC5sb2dvaWQyXTpbdC5sb2dvaWRdKS5tYXAoKHQ9Pm4uZ2V0U3ltYm9sTG9nb1VybCh0LGUpKSkuZmlsdGVyKGkubm90TnVsbCl9KHIubG9nbyxlKTpbXTt0KGEpfX19fSwyODQ0ODQodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UXVvdGVUaWNrZXI6KCk9PmJ9KQo7dmFyIGk9cyg5NjQ0ODYpLG89cygyMjEwNjEpLG49cyg2MDE4NDEpLHI9cygxMjUyMTgpLGE9cyg4OTE3NzgpLGw9cyg3NTU2MjcpLGg9cyg5ODQzNzYpLGM9cyg1NjM5MTgpLG09cygzMDY5MCksdT1zKDUyODM5NiksZD1zKDExMzU2NyksXz1zKDE1OTUxMyksZz1zKDk3MzExOSkscD1zKDYwMjg3KSxmPXMoNzg2NzYwKSx4PXMoMTAxNzEyKTtjb25zdCB5PSgwLG8uZ2V0TG9nZ2VyKSgiUXVvdGVUaWNrZXIiKSxOPXthZGREZXNjcmlwdGlvblRpdGxlOiEwLGNoYW5nZURpcmVjdGlvbkRvd25DbGFzczoiZG93biIsY2hhbmdlRGlyZWN0aW9uVXBDbGFzczoidXAiLGNoYW5nZURpcmVjdGlvbk5ldXRyYWxDbGFzczoibmV1dHJhbCIsY2hhbmdlSW5CcmFja2V0czohMSxjaGFuZ2VQZXJjZW50SW5CcmFja2V0czohMSxsYXN0UHJpY2VUaW1lSW5CcmFja2V0czohMCxsYXN0UmVsZWFzZURhdGVUaW1lSW5CcmFja2V0czohMCxydGNUaW1lSW5CcmFja2V0czohMCxjbGllbnROYW1lOiJxdW90ZS10aWNrZXIiLGRvbnREeWVQcmljZTohMSxmYWxsaW5nQmc6bnVsbCxncm93aW5nQmc6bnVsbCxsYXN0RmFsbGluZ0NsYXNzOiJmYWxsaW5nIixsYXN0R3Jvd2luZ0NsYXNzOiJncm93aW5nIixxdW90ZVNlc3Npb246bnVsbCxzaWduTmVnYXRpdmU6ITAsc2lnblBvc2l0aXZlOiExLGN1c3RvbVByaWNlRm9ybWF0dGVyOm51bGwsY3VzdG9tVGltZUZvcm1hdHRlcjpudWxsLHNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeDoiLS1mb3ItdGlja2VyIixkYXRhTW9kZUNsYXNzU3VmZml4OiItLWZvci10aWNrZXIiLHNob3dJbnZhbGlkU3ltYm9sU3RhdHVzOiExLGluZGljYXRvcnNUb29sdGlwVHlwZToiY3VzdG9tIixsYXN0UHJpY2VMYXN0Q2hhclN1cDohMSxsYXN0UHJpY2VIaWdobGlnaHREaWZmT25seTohMSxpbml0ZWRIb29rOnZvaWQgMCxzZXRTdGF0ZUhvb2s6dm9pZCAwLHBlcm1pc3Npb25EZW5pZWRIb29rOnZvaWQgMCxub1N1Y2hTeW1ib2xIb29rOnZvaWQgMH0sQz0vW0tNQlRdLztmdW5jdGlvbiBiKHQsZSxzPXt9KXt0aGlzLmVuYWJsZWQ9ITAsdGhpcy5fc3ltYm9sPXQsdGhpcy5fc3ltYm9sT3JpZ2luYWw9bnVsbCx0aGlzLl9vcHRpb25zPSgwLGkuZGVlcEV4dGVuZCkoe30sTixzKSwhMSE9PXRoaXMuX29wdGlvbnMuc2lnbk5lZ2F0aXZlJiYhMCE9PXRoaXMuX29wdGlvbnMuc2lnbk5lZ2F0aXZlJiZkZWxldGUgdGhpcy5fb3B0aW9ucy5zaWduTmVnYXRpdmUscy5jdXN0b21QcmljZUZvcm1hdHRlciYmKHRoaXMuX2N1c3RvbVByaWNlRm9ybWF0dGVyPXMuY3VzdG9tUHJpY2VGb3JtYXR0ZXIpLHMuY3VzdG9tVGltZUZvcm1hdHRlciYmKHZvaWQgMCE9PXMuY3VzdG9tVGltZUZvcm1hdHRlci5sYXN0UHJpY2V8fHZvaWQgMCE9PXMuY3VzdG9tVGltZUZvcm1hdHRlci5ydGM/dGhpcy5fdGltZUZvcm1hdHRlcj1zLmN1c3RvbVRpbWVGb3JtYXR0ZXI6dGhpcy5fdGltZUZvcm1hdHRlcj17bGFzdFByaWNlOnMuY3VzdG9tUHJpY2VGb3JtYXR0ZXIscnRjOnMuY3VzdG9tUHJpY2VGb3JtYXR0ZXJ9KSx0aGlzLl9wZXJjZW50Rm9ybWF0dGVyPW5ldyByLlBlcmNlbnRhZ2VGb3JtYXR0ZXIsdGhpcy5fZGVmYXVsdFByaWNlRm9ybWF0dGVyPW5ldyBsLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOjEwMH0pLHRoaXMuX3ByaWNlRm9ybWF0dGVyPXRoaXMuX2N1c3RvbVByaWNlRm9ybWF0dGVyfHx0aGlzLl9kZWZhdWx0UHJpY2VGb3JtYXR0ZXIsdGhpcy5fdm9sdW1lRm9ybWF0dGVyPW5ldyBoLlZvbHVtZUZvcm1hdHRlcih7cHJlY2lzaW9uOjJ9KSx0aGlzLl9jYWNoZT17fSx0aGlzLl9sYXN0UHJpY2U9bnVsbCx0aGlzLl9sYXN0UHJpY2VGb3JtYXR0ZWQ9IiIsdGhpcy5fbGFzdE1pbk1vdmU9MCx0aGlzLl9lbGVtZW50cz17fSx0aGlzLl90ZXh0Tm9kZXM9e30sdGhpcy5fY2hhbmdlVm9sdW1lTGV0dGVyPXRoaXMuX2dldENoYW5nZVZvbHVtZUxldHRlckNhbGxiYWNrKCksdGhpcy5fc2V0RWxlbWVudHMoZSksdGhpcy5faGlnaGxpZ2h0ZXJzPXt9LHRoaXMuX2luaXRIaWdobGlnaHRlcnMoKSx0aGlzLl9vcHRpb25zLnNldFN0YXRlSG9vayYmdGhpcy5zZXRTdGF0ZUhvb2sodGhpcy5fb3B0aW9ucy5zZXRTdGF0ZUhvb2spLHRoaXMucXVvdGVTZXNzaW9uPXRoaXMuX29wdGlvbnMucXVvdGVTZXNzaW9ufHwoMCxfLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgic2ltcGxlIiksdGhpcy5fcXVvdGVTZXNzaW9uRXZlbnRIYW5kbGVyPXRoaXMub25EYXRhLmJpbmQodGhpcyksdGhpcy5fY29ubmVjdFRpbWVvdXRJZD1zZXRUaW1lb3V0KHRoaXMuY29ubmVjdC5iaW5kKHRoaXMpLDApfWZ1bmN0aW9uIHYodCl7Y29uc3QgZT10LnNlYXJjaChDKSxzPWU+PTA/dC5zbGljZShlKToiIjtyZXR1cm5bZT4wP3Quc3Vic3RyaW5nKGUsMCk6MD09PWU/IiI6dCxzXX1mdW5jdGlvbiBTKHQsZSxzLGksbyl7dmFyIG4scj1udWxsO2Z1bmN0aW9uIGEoKXtpZihuJiYoY2xlYXJUaW1lb3V0KG4pLG49dm9pZCAwKSxzfHxlKWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRbcl0uc3R5bGUuYmFja2dyb3VuZD0iIjtpZighc3x8IWUpZm9yKHI9MDtyPHQubGVuZ3RoO3IrKylpJiZ0W3JdLmNsYXNzTGlzdC5yZW1vdmUoaSksbyYmdFtyXS5jbGFzc0xpc3QucmVtb3ZlKG8pfXJldHVybntzaG93OmZ1bmN0aW9uKGwpe3ZhciBoPTA7aWYobCE9PXIpe2lmKG51bGwhPT1yJiZudWxsIT09bCYmKGg9bC1yKSxhKCksbj1zZXRUaW1lb3V0KGEsNzUwKSwwPGgpe2lmKGUpZm9yKHZhciBjPTA7Yzx0Lmxlbmd0aDtjKyspdFtjXS5zdHlsZS5iYWNrZ3JvdW5kPWU7ZWxzZSBpZihpKWZvcihjPTA7Yzx0Lmxlbmd0aDtjKyspdFtjXS5jbGFzc0xpc3QuYWRkKGkpfWVsc2UgaWYoaDwwKWlmKHMpZm9yKGM9MDtjPHQubGVuZ3RoO2MrKyl0W2NdLnN0eWxlLmJhY2tncm91bmQ9cztlbHNlIGlmKG8pZm9yKGM9MDtjPHQubGVuZ3RoO2MrKyl0W2NdLmNsYXNzTGlzdC5hZGQobyk7bnVsbCE9PWwmJihyPWwpfX0saGlkZTphfX1iLnByb3RvdHlwZS5fc2V0RWxlbWVudHM9ZnVuY3Rpb24odCl7dGhpcy5fY29udGFpbmVyPXQsCnRoaXMuX2VsZW1lbnRzLmNoYW5nZT10aGlzLl9maW5kRWxlbWVudHModCxbImpzLXN5bWJvbC1jaGFuZ2UiLCJzeW1ib2wtY2hhbmdlIl0pLHRoaXMuX2VsZW1lbnRzLmNoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHModCxbImpzLXN5bWJvbC1jaGFuZ2UtZGlyZWN0aW9uIiwic3ltYm9sLWNoYW5nZS1kaXJlY3Rpb24iXSksdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlRGlyZWN0aW9uPXRoaXMuX2ZpbmRFbGVtZW50cyh0LFsianMtc3ltYm9sLWV4dC1ocnMtY2hhbmdlLWRpcmVjdGlvbiJdKSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50PXRoaXMuX2ZpbmRFbGVtZW50cyh0LFsianMtc3ltYm9sLWNoYW5nZS1wdCIsInN5bWJvbC1jaGFuZ2UtcHQiXSksdGhpcy5fZWxlbWVudHMuZGVzY3JpcHRpb249dGhpcy5fZmluZEVsZW1lbnRzKHQsWyJqcy1zeW1ib2wtZGVzY3JpcHRpb24tbmFtZSIsInN5bWJvbC1kZXNjcmlwdGlvbi1uYW1lIl0pLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZT10aGlzLl9maW5kRWxlbWVudHModCwianMtc3ltYm9sLWV4dC1ocnMtY2hhbmdlIiksdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudD10aGlzLl9maW5kRWxlbWVudHModCwianMtc3ltYm9sLWV4dC1ocnMtY2hhbmdlLXB0IiksdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2xvc2U9dGhpcy5fZmluZEVsZW1lbnRzKHQsImpzLXN5bWJvbC1leHQtaHJzLWNsb3NlIiksdGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VEaXJlY3Rpb249dGhpcy5fZmluZEVsZW1lbnRzKHQsWyJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlLWRpcmVjdGlvbiJdKSx0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZT10aGlzLl9maW5kRWxlbWVudHModCwianMtc3ltYm9sLW5pZ2h0LWNoYW5nZSIpLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlUGVyY2VudD10aGlzLl9maW5kRWxlbWVudHModCwianMtc3ltYm9sLW5pZ2h0LWNoYW5nZS1wdCIpLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2xvc2U9dGhpcy5fZmluZEVsZW1lbnRzKHQsImpzLXN5bWJvbC1uaWdodC1jbG9zZSIpLHRoaXMuX2VsZW1lbnRzLmluZHVzdHJ5PXRoaXMuX2ZpbmRFbGVtZW50cyh0LFsianMtc3ltYm9sLWluZHVzdHJ5Iiwic3ltYm9sLWluZHVzdHJ5Il0pLHRoaXMuX2VsZW1lbnRzLmxhc3Q9dGhpcy5fZmluZEVsZW1lbnRzKHQsWyJqcy1zeW1ib2wtbGFzdCIsInN5bWJvbC1sYXN0Il0pLHRoaXMuX2VsZW1lbnRzLnNlY3Rvcj10aGlzLl9maW5kRWxlbWVudHModCxbImpzLXN5bWJvbC1zZWN0b3IiLCJzeW1ib2wtc2VjdG9yIl0pLHRoaXMuX2VsZW1lbnRzLnNlc3Npb25TdGF0dXM9dGhpcy5fZmluZEVsZW1lbnRzKHQsImpzLXN5bWJvbC1zZXNzaW9uLXN0YXR1cyIpLHRoaXMuX2VsZW1lbnRzLnNob3J0TmFtZT10aGlzLl9maW5kRWxlbWVudHModCxbImpzLXN5bWJvbC1zaG9ydC1uYW1lIiwic3ltYm9sLXNob3J0LW5hbWUiXSksdGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZT10aGlzLl9maW5kRWxlbWVudHModCwianMtZGF0YS1tb2RlIiksdGhpcy5fZWxlbWVudHMubGFzdFBlcmlvZD10aGlzLl9maW5kRWxlbWVudHModCwianMtc3ltYm9sLWxhc3QtcGVyaW9kIiksdGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5mb3JFYWNoKCh0PT50LmNsYXNzTGlzdC5hZGQoImktaGlkZGVuIikpKSx0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmNoYW5nZSksdGhpcy5fdGV4dE5vZGVzLmNoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuY2hhbmdlUGVyY2VudCksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0NoYW5nZT10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2UpLHRoaXMuX3RleHROb2Rlcy5leHRIcnNDaGFuZ2VQZXJjZW50PXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZVBlcmNlbnQpLHRoaXMuX3RleHROb2Rlcy5leHRIcnNDbG9zZT10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5leHRIcnNDbG9zZSksdGhpcy5fdGV4dE5vZGVzLm5pZ2h0Q2hhbmdlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlKSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2VQZXJjZW50PXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlUGVyY2VudCksdGhpcy5fdGV4dE5vZGVzLm5pZ2h0Q2xvc2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDbG9zZSksdGhpcy5fdGV4dE5vZGVzLmxhc3Q9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubGFzdCksdGhpcy5fdGV4dE5vZGVzLm9wZW49dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtb3BlbiIpLHRoaXMuX3RleHROb2Rlcy5lcHM9dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtZXBzIiksdGhpcy5fdGV4dE5vZGVzLm1hcmtldENhcD10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1tYXJrZXQtY2FwIiksdGhpcy5fdGV4dE5vZGVzLnByZXZDbG9zZT10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1wcmV2LWNsb3NlIiksdGhpcy5fdGV4dE5vZGVzLmRpdmlkZW5kcz10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1kaXZpZGVuZHMiKSx0aGlzLl90ZXh0Tm9kZXMucHJpY2VFYXJuaW5ncz10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1wZSIpLHRoaXMuX3RleHROb2Rlcy52b2x1bWU9dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtdm9sdW1lIiksdGhpcy5fdGV4dE5vZGVzLmhpZ2g9dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtaGlnaCIpLHRoaXMuX3RleHROb2Rlcy5sb3c9dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtbG93IiksCnRoaXMuX3RleHROb2Rlcy5jdXJyZW5jeT10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1jdXJyZW5jeSIpLHRoaXMuX3RleHROb2Rlcy5sYXN0UHJpY2VUaW1lPXRoaXMuX2ZpbmRUZXh0Tm9kZXModCwianMtc3ltYm9sLWxwLXRpbWUiKSx0aGlzLl90ZXh0Tm9kZXMubGFzdFJlbGVhc2VEYXRlPXRoaXMuX2ZpbmRUZXh0Tm9kZXModCwianMtc3ltYm9sLWxhc3QtcmVsZWFzZS1kYXRlIiksdGhpcy5fdGV4dE5vZGVzLnJ0Y1RpbWU9dGhpcy5fZmluZFRleHROb2Rlcyh0LCJqcy1zeW1ib2wtcnRjLXRpbWUiKSx0aGlzLl90ZXh0Tm9kZXMubnRjVGltZT10aGlzLl9maW5kVGV4dE5vZGVzKHQsImpzLXN5bWJvbC1udGMtdGltZSIpLHRoaXMuX2VsZW1lbnRzLmxhc3RIaWdobGlnaHQ9dGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VIaWdobGlnaHREaWZmT25seT90aGlzLl9lbGVtZW50cy5sYXN0Lm1hcCgodD0+dGhpcy5fYXBwZW5kQW5kR2V0TmV3RWxlbWVudCh0LCJzcGFuIikpKTp0aGlzLl9lbGVtZW50cy5sYXN0LHRoaXMuX3RleHROb2Rlcy5sYXN0SGlnaGxpZ2h0PXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmxhc3RIaWdobGlnaHQpLHRoaXMuX2VsZW1lbnRzLmxhc3RTdXA9dGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VMYXN0Q2hhclN1cD90aGlzLl9lbGVtZW50cy5sYXN0SGlnaGxpZ2h0Lm1hcCgodD0+dGhpcy5fYXBwZW5kQW5kR2V0TmV3RWxlbWVudCh0LCJzdXAiKSkpOltdLHRoaXMuX3RleHROb2Rlcy5sYXN0U3VwPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmxhc3RTdXApfSxiLnByb3RvdHlwZS5fZmluZEVsZW1lbnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHM9KDAsbi5pc0FycmF5KShlKT9lOltlXTtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxzLm1hcCgoZT0+QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUpKSkpKX0sYi5wcm90b3R5cGUuX2ZpbmRUZXh0Tm9kZXM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZmluZEVsZW1lbnRzKHQsZSkpfSxiLnByb3RvdHlwZS5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXM9ZnVuY3Rpb24odCl7cmV0dXJuIHQubWFwKCh0PT57dmFyIGU9dGhpcy5fZ2V0Rmlyc3RUZXh0Tm9kZSh0KTtyZXR1cm4gZXx8KGU9dC5vd25lckRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSx0LmFwcGVuZENoaWxkKGUpKSxlfSkpfSxiLnByb3RvdHlwZS5fYXBwZW5kQW5kR2V0TmV3RWxlbWVudD1mdW5jdGlvbih0LGUpe2NvbnN0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKTtyZXR1cm4gdC5hcHBlbmRDaGlsZChzKSxzfSxiLnByb3RvdHlwZS5fZ2V0Rmlyc3RUZXh0Tm9kZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5jaGlsZE5vZGVzLHM9ZS5sZW5ndGgtMTtzPj0wO3MtLSlpZigzPT09ZS5pdGVtKHMpLm5vZGVUeXBlKXJldHVybiBlLml0ZW0ocyk7cmV0dXJuIG51bGx9LGIucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24odCl7dGhpcy5fc3Vic2NyaWJlZHx8KHRoaXMuX3N1YnNjcmliZWRTeW1ib2w9dHx8dGhpcy5fc3ltYm9sLHRoaXMucXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9vcHRpb25zLmNsaWVudE5hbWUsdGhpcy5fc3Vic2NyaWJlZFN5bWJvbCx0aGlzLl9xdW90ZVNlc3Npb25FdmVudEhhbmRsZXIpLHRoaXMuX3N1YnNjcmliZWQ9ITApfSxiLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMuX2Nvbm5lY3RUaW1lb3V0SWQpLHRoaXMuX3N1YnNjcmliZWQmJih0aGlzLnF1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9vcHRpb25zLmNsaWVudE5hbWUsdGhpcy5fc3Vic2NyaWJlZFN5bWJvbCx0aGlzLl9xdW90ZVNlc3Npb25FdmVudEhhbmRsZXIpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfSxiLnByb3RvdHlwZS5vbkRhdGE9ZnVuY3Rpb24odCxlKXt0aGlzLmVuYWJsZWQmJigib2siPT09dC5zdGF0dXM/dGhpcy5zdWNjZXNzRGF0YSh0LGUpOiJwZXJtaXNzaW9uX2RlbmllZCI9PT10LnN0YXR1cz90aGlzLm9uUGVybWlzc2lvbkRlbmllZCh0KToiZXJyb3IiPT09dC5zdGF0dXMmJnRoaXMuZXJyb3JEYXRhKHQpKX0sYi5wcm90b3R5cGUuc3VjY2Vzc0RhdGE9ZnVuY3Rpb24odCxlKXt0LnZhbHVlcyYmdGhpcy5zZXRTdGF0ZSh0LnZhbHVlcyx0LGUpfSxiLnByb3RvdHlwZS5vblBlcm1pc3Npb25EZW5pZWQ9ZnVuY3Rpb24odCl7KDAseC5pc1NmUXVvdGVEYXRhKSh0KXx8KDAsZi5pc01jeFF1b3RlRGF0YSkodCk/dGhpcy5fb3B0aW9ucy5wZXJtaXNzaW9uRGVuaWVkSG9vaz90aGlzLl9vcHRpb25zLnBlcm1pc3Npb25EZW5pZWRIb29rKHQsdGhpcy5fc3ltYm9sT3JpZ2luYWx8fHRoaXMuX3N5bWJvbCk6dGhpcy5lcnJvckRhdGEodCk6dGhpcy5kb3duZ3JhZGVEYXRhKHQpfSxiLnByb3RvdHlwZS5lcnJvckRhdGE9ZnVuY3Rpb24odCl7dGhpcy5fb3B0aW9ucy5zaG93SW52YWxpZFN5bWJvbFN0YXR1cyYmKHRoaXMuc2V0U2hvcnROYW1lKHRoaXMuX3N5bWJvbCksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cy5tYXAoKHQ9Pm5ldyBjLk1hcmtldFN0YXR1c0luZGljYXRvcih7Y2xhc3NTdWZmaXg6dGhpcy5fb3B0aW9ucy5zZXNzaW9uU3RhdHVzQ2xhc3NTdWZmaXgsZWw6dCxkYXRhOnt2YWx1ZXM6e2N1cnJlbnRfc2Vzc2lvbjoiaW52YWxpZCJ9fSx0b29sdGlwVHlwZTp0aGlzLl9vcHRpb25zLmluZGljYXRvcnNUb29sdGlwVHlwZX0pKSkpLHRoaXMuX29wdGlvbnMubm9TdWNoU3ltYm9sSG9vaz8odGhpcy5fc3ltYm9sT3JpZ2luYWwmJnRoaXMuc2V0U2hvcnROYW1lKHRoaXMuX3N5bWJvbE9yaWdpbmFsKSx0aGlzLl9vcHRpb25zLm5vU3VjaFN5bWJvbEhvb2suY2FsbCh0aGlzLHQsdGhpcy5fc3ltYm9sT3JpZ2luYWx8fHRoaXMuX3N5bWJvbCkpOnkubG9nV2FybigiTm8gZGF0YSBmb3I6ICIrdGhpcy5fc3ltYm9sKX0sYi5wcm90b3R5cGUuZG93bmdyYWRlRGF0YT1mdW5jdGlvbih0KXt7CmNvbnN0IGU9dCYmdC52YWx1ZXMmJnQudmFsdWVzLmFsdGVybmF0aXZlLHM9dGhpcy5fc3ltYm9sPT09ZTtpZighKGUmJi0xIT09ZS5pbmRleE9mKCI6IikpfHxzKXJldHVybiB2b2lkIHRoaXMuZXJyb3JEYXRhKHQpO3RoaXMuX3N5bWJvbE9yaWdpbmFsPXRoaXMuX3N5bWJvbCx0aGlzLl9zeW1ib2w9ZSx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuY29ubmVjdCgpfX0sYi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24odCxlLGkpe2NvbnN0IG89aS52YWx1ZXM7dGhpcy5faXNWb2x1bWVGb3JtYXQ9InZvbHVtZSI9PT10LmZvcm1hdCxudWxsPT1vLnByaWNlc2NhbGUmJm51bGw9PW8ubWlubW92JiZudWxsPT1vLmZyYWN0aW9uYWwmJm51bGw9PW8ubWlubW92ZTJ8fCh0aGlzLl9wcmljZUZvcm1hdHRlcj10aGlzLl9jdXN0b21QcmljZUZvcm1hdHRlcnx8dGhpcy5faXNWb2x1bWVGb3JtYXQmJnRoaXMuX3ZvbHVtZUZvcm1hdHRlcnx8bmV3IGwuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dC5wcmljZXNjYWxlfHwxMDAsbWluTW92ZTp0Lm1pbm1vdnx8MSxmcmFjdGlvbmFsOnQuZnJhY3Rpb25hbCxtaW5Nb3ZlMjp0Lm1pbm1vdmUyfSkpO2NvbnN0IG49dGhpcy5fb3B0aW9ucyxyPXRoaXMuX3BlcmNlbnRGb3JtYXR0ZXIsYT10aGlzLl9wcmljZUZvcm1hdHRlcixfPXRoaXMuX2RlZmF1bHRQcmljZUZvcm1hdHRlcixmPXRoaXMuX3ZvbHVtZUZvcm1hdHRlcix4PSh0LGU9ITApPT5lP2AoJHt0fSlgOnQsTj12b2lkIDAhPT1uLnNpZ25Qb3NpdGl2ZUNoYW5nZT9uLnNpZ25Qb3NpdGl2ZUNoYW5nZTpuLnNpZ25Qb3NpdGl2ZSxDPXQ9PigwLGcucXVvdGVUaWNrZXJGb3JtYXRDaGFuZ2UpKHQsbyxuKSxiPXQ9Pntjb25zdCBlPXIuZm9ybWF0KHQse3NpZ25Qb3NpdGl2ZTpOLHNpZ25OZWdhdGl2ZTpuLnNpZ25OZWdhdGl2ZX0pO3JldHVybiB4KGUsbi5jaGFuZ2VQZXJjZW50SW5CcmFja2V0cyl9LHY9YS5mb3JtYXQuYmluZChhKSxTPV8uZm9ybWF0LmJpbmQoXyksUD1mLmZvcm1hdC5iaW5kKGYpLFQ9dD0+bnVsbD09dD9oLlBMQUNFX0hPTERFUjpTKHQpO24uZGlzYWJsZUNoYW5nZXx8KHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmNoYW5nZSxvLmNoYW5nZSxDKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5jaGFuZ2VQZXJjZW50LG8uY2hhbmdlX3BlcmNlbnQsYiksbnVsbCE9by5jaGFuZ2UmJihuLmRvbnREeWVQcmljZXx8dGhpcy5fc2V0Q2hhbmdlRm9udENvbG9yKFtdLmNvbmNhdCh0aGlzLl9lbGVtZW50cy5jaGFuZ2UsdGhpcy5fZWxlbWVudHMuY2hhbmdlUGVyY2VudCksby5jaGFuZ2Usbi5jaGFuZ2VVcEZvbnRDb2xvcixuLmNoYW5nZURvd25Gb250Q29sb3Isbi5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMuY2hhbmdlRGlyZWN0aW9uLG8uY2hhbmdlKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlLG8ucmNoLEMpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmV4dEhyc0NoYW5nZVBlcmNlbnQsby5yY2hwLGIpLG51bGwhPW8ucmNoJiYobi5kb250RHllUHJpY2V8fHRoaXMuX3NldENoYW5nZUZvbnRDb2xvcihbXS5jb25jYXQodGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZVBlcmNlbnQpLG8ucmNoLG4uY2hhbmdlVXBGb250Q29sb3Isbi5jaGFuZ2VEb3duRm9udENvbG9yLG4uY2hhbmdlTmV1dHJhbEZvbnRDb2xvciksdGhpcy5fc2V0Q2hhbmdlRGlyZWN0aW9uKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZURpcmVjdGlvbixvLnJjaCkpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm5pZ2h0Q2hhbmdlLG8ubmNoLEMpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm5pZ2h0Q2hhbmdlUGVyY2VudCxvLm5jaHAsYiksbnVsbCE9by5uY2gmJihuLmRvbnREeWVQcmljZXx8dGhpcy5fc2V0Q2hhbmdlRm9udENvbG9yKFtdLmNvbmNhdCh0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZSx0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZVBlcmNlbnQpLG8ubmNoLG4uY2hhbmdlVXBGb250Q29sb3Isbi5jaGFuZ2VEb3duRm9udENvbG9yLG4uY2hhbmdlTmV1dHJhbEZvbnRDb2xvciksdGhpcy5fc2V0Q2hhbmdlRGlyZWN0aW9uKHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlRGlyZWN0aW9uLG8ubmNoKSkpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLnByZXZDbG9zZSxvLnByZXZfY2xvc2VfcHJpY2UsdiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZGl2aWRlbmRzLHQuZGl2aWRlbmRzX3lpZWxkLCh0PT5udWxsPT10P2guUExBQ0VfSE9MREVSOnIuZm9ybWF0KHQse3NpZ25Qb3NpdGl2ZTpuLnNpZ25Qb3NpdGl2ZSxzaWduTmVnYXRpdmU6bi5zaWduTmVnYXRpdmV9KSksITApO2xldCB3PSgwLHUuZ2V0VHJhbnNsYXRlZFN5bWJvbERlc2NyaXB0aW9uKShvKTtpZih3JiYodz10aGlzLl9wcmVwYXJlU3ltYm9sRGVzY3JpcHRpb24odyksdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uLHcpLHRoaXMuX29wdGlvbnMuYWRkRGVzY3JpcHRpb25UaXRsZSkpZm9yKHZhciBGPTA7Rjx0aGlzLl9lbGVtZW50cy5kZXNjcmlwdGlvbi5sZW5ndGg7RisrKXRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uW0ZdLnNldEF0dHJpYnV0ZSgidGl0bGUiLHcpO2lmKChudWxsIT1vLnNob3J0X25hbWV8fG51bGwhPW8uZXhjaGFuZ2UpJiZ0LnNob3J0X25hbWUpe3ZhciBEPXQuc2hvcnRfbmFtZTsiUVVBTkRMIj09PXQuZXhjaGFuZ2UmJnZvaWQgMCE9PXQuc2hvcnRfbmFtZS5zcGxpdCgiLyIpWzFdJiYoRD10LnNob3J0X25hbWUuc3BsaXQoIi8iKVsxXSsiLCAiK3Quc2hvcnRfbmFtZS5zcGxpdCgiLyIpWzBdKSx0aGlzLnNldFNob3J0TmFtZShEKX0KdFsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIl0mJnRoaXMuX2VsZW1lbnRzLmxhc3RQZXJpb2QubGVuZ3RoJiZQcm9taXNlLmFsbChbcy5lKDIzNTY3KSxzLmUoNzM5NyldKS50aGVuKHMuYmluZChzLDIxNTU3OSkpLnRoZW4oKGU9Pnt0aGlzLl9zZXRUZXh0c0NvbnRlbnQodGhpcy5fZWxlbWVudHMubGFzdFBlcmlvZCxlLnBlcmlvZEZvcm1hdHRlcih0WyJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiXSkpfSkpLHRoaXMuX2VsZW1lbnRzLmxhc3RQZXJpb2QubGVuZ3RoJiZ2b2lkIDA9PT10WyJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiXSYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmxhc3RQZXJpb2QsIuKAlCIpLHRoaXMuX3NldExhc3RWYWx1ZShvLmxhc3RfcHJpY2Usby5taW5tb3ZlMix2KSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5leHRIcnNDbG9zZSxvLnJ0Yyx2KSxvLnJ0YyYmdGhpcy5faGlnaGxpZ2h0ZXJzLmV4dEhyc0Nsb3NlLnNob3coby5ydGMpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm5pZ2h0Q2xvc2Usby5udGMsdiksby5udGMmJnRoaXMuX2hpZ2hsaWdodGVycy5uaWdodENsb3NlLnNob3coby5udGMpLG8uaW5kdXN0cnkmJnRoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5pbmR1c3RyeSx0LmluZHVzdHJ5LCh0PT50KSksby5zZWN0b3ImJnRoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5zZWN0b3IsdC5zZWN0b3IpLHRoaXMuX2VsZW1lbnRzLnNlc3Npb25TdGF0dXMmJm8uY3VycmVudF9zZXNzaW9uJiYodGhpcy5fc2Vzc2lvblN0YXR1c0luc3RhbmNlcz90aGlzLl9zZXNzaW9uU3RhdHVzSW5zdGFuY2VzLmZvckVhY2goKHQ9PnQuc2V0U3RhdHVzKG8uY3VycmVudF9zZXNzaW9uKSkpOnRoaXMuX3Nlc3Npb25TdGF0dXNJbnN0YW5jZXM9dGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cy5tYXAoKGU9Pm5ldyBjLk1hcmtldFN0YXR1c0luZGljYXRvcih7Y2xhc3NTdWZmaXg6dGhpcy5fb3B0aW9ucy5zZXNzaW9uU3RhdHVzQ2xhc3NTdWZmaXgsZWw6ZSxzaG9ydDohMCxkYXRhOnt2YWx1ZXM6b30scXVvdGVTZXNzaW9uOnRoaXMucXVvdGVTZXNzaW9uLHN5bWJvbDp0Lm9yaWdpbmFsX25hbWUsbWFudWFsVXBkYXRlOiEwLHRvb2x0aXBUeXBlOnRoaXMuX29wdGlvbnMuaW5kaWNhdG9yc1Rvb2x0aXBUeXBlLHNlc3Npb25TdGF0dXNJY29uOnRoaXMuX29wdGlvbnMuc2Vzc2lvblN0YXR1c0ljb259KSkpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5vcGVuLG8ub3Blbl9wcmljZSx2KSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5oaWdoLG8uaGlnaF9wcmljZSx2KSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sb3csby5sb3dfcHJpY2UsdiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXBzLHQuZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSxULCEwKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5wcmljZUVhcm5pbmdzLHQucHJpY2VfZWFybmluZ3NfdHRtLFQsITApLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm1hcmtldENhcCx0Lm1hcmtldF9jYXBfYmFzaWMsUCwhMCksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMudm9sdW1lLHQudm9sdW1lLFAsITApO2NvbnN0IGs9KDAsZC5wcmVwYXJlQ3VycmVuY3lWYWx1ZSkobyk7aWYoayYmdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuY3VycmVuY3ksayxwLnF1b3RlVGlja2VyRm9ybWF0Q3VycmVuY3ksITApLChvLmxwX3RpbWV8fHQubHBfdGltZSkmJnRoaXMuX3RleHROb2Rlcy5sYXN0UHJpY2VUaW1lLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFByaWNlP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RQcmljZVRpbWUseCh0aGlzLl90aW1lRm9ybWF0dGVyLmxhc3RQcmljZSh0LmxwX3RpbWUsdC5jdXJyZW50X3Nlc3Npb24pLHRoaXMuX29wdGlvbnMubGFzdFByaWNlVGltZUluQnJhY2tldHMpKTp5LmxvZ0Vycm9yKCJsYXN0IHByaWNlIHRpbWUgZmllbGQgcmVxdWVzdGVkIHdpdGggbm8gZm9ybWF0dGVyIHByb3ZpZGVkIikpLChvLmxhc3RfcmVsZWFzZV9kYXRlfHx0Lmxhc3RfcmVsZWFzZV9kYXRlKSYmdGhpcy5fdGV4dE5vZGVzLmxhc3RSZWxlYXNlRGF0ZS5sZW5ndGgmJih0aGlzLl90aW1lRm9ybWF0dGVyJiZ0aGlzLl90aW1lRm9ybWF0dGVyLmxhc3RSZWxlYXNlRGF0ZT90aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0UmVsZWFzZURhdGUseCh0aGlzLl90aW1lRm9ybWF0dGVyLmxhc3RSZWxlYXNlRGF0ZSh0Lmxhc3RfcmVsZWFzZV9kYXRlLHQuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9vcHRpb25zLmxhc3RSZWxlYXNlRGF0ZVRpbWVJbkJyYWNrZXRzKSk6eS5sb2dFcnJvcigibGFzdFJlbGVhc2VEYXRlIHRpbWUgZmllbGQgcmVxdWVzdGVkIHdpdGggbm8gZm9ybWF0dGVyIHByb3ZpZGVkIikpLChvLnJ0Y190aW1lfHx0LnJ0Y190aW1lKSYmdGhpcy5fdGV4dE5vZGVzLnJ0Y1RpbWUubGVuZ3RoJiYodGhpcy5fdGltZUZvcm1hdHRlciYmdGhpcy5fdGltZUZvcm1hdHRlci5ydGM/dGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMucnRjVGltZSx4KHRoaXMuX3RpbWVGb3JtYXR0ZXIucnRjKHQucnRjX3RpbWUsdC5jdXJyZW50X3Nlc3Npb24pLHRoaXMuX29wdGlvbnMucnRjVGltZUluQnJhY2tldHMpKTp5LmxvZ0Vycm9yKCJydGMgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksCihvLm50Y190aW1lfHx0Lm50Y190aW1lKSYmdGhpcy5fdGV4dE5vZGVzLm50Y1RpbWUubGVuZ3RoJiYodGhpcy5fdGltZUZvcm1hdHRlciYmdGhpcy5fdGltZUZvcm1hdHRlci5ydGM/dGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubnRjVGltZSx4KHRoaXMuX3RpbWVGb3JtYXR0ZXIucnRjKHQubnRjX3RpbWUsdC5jdXJyZW50X3Nlc3Npb24pLHRoaXMuX29wdGlvbnMucnRjVGltZUluQnJhY2tldHMpKTp5LmxvZ0Vycm9yKCJudGMgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksbnVsbCE9by5sYXN0X3ByaWNlKWZvcihGPTA7Rjx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlLmxlbmd0aDtGKyspdGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZVtGXS5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpO3RoaXMuX2VsZW1lbnRzLnVwZGF0ZU1vZGUmJihvLnVwZGF0ZV9tb2RlfHxvLnVwZGF0ZV9tb2RlX3NlY29uZHMpJiYodGhpcy5fdXBkYXRlTW9kZUluc3RhbmNlcz90aGlzLl91cGRhdGVNb2RlSW5zdGFuY2VzLmZvckVhY2goKGU9PmUudXBkYXRlKHt2YWx1ZXM6dH0pKSk6dGhpcy5fdXBkYXRlTW9kZUluc3RhbmNlcz10aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlLm1hcCgoZT0+bmV3IG0uRGF0YU1vZGVJbmRpY2F0b3Ioe2NsYXNzU3VmZml4OnRoaXMuX29wdGlvbnMuZGF0YU1vZGVDbGFzc1N1ZmZpeCxlbDplLGRhdGE6e3ZhbHVlczp0fSxtb2RlSW50ZXJ2YWw6dC51cGRhdGVfbW9kZV9zZWNvbmRzLHNob3J0OiEwLHRvb2x0aXBUeXBlOnRoaXMuX29wdGlvbnMuaW5kaWNhdG9yc1Rvb2x0aXBUeXBlfSkpKSksdGhpcy5fc2V0U3RhdGVIb29rJiZ0aGlzLl9zZXRTdGF0ZUhvb2soZS52YWx1ZXMsaS52YWx1ZXMsZS5jb21wbGV0ZSx0aGlzLmdldE9wdGlvbnMoKSksdGhpcy5fbGFzdFByaWNlP3RoaXMuX2hpZ2hsaWdodGVycy5sYXN0LnNob3codC5sYXN0X3ByaWNlKTpudWxsPT09dGhpcy5fbGFzdFByaWNlJiYodGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoInF1b3RlLXRpY2tlci1pbml0ZWQiKSwiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5pbml0ZWRIb29rJiZ0aGlzLl9vcHRpb25zLmluaXRlZEhvb2soImxhc3RfcHJpY2UiaW4gdCkpLHRoaXMuX2xhc3RQcmljZT10Lmxhc3RfcHJpY2V9LGIucHJvdG90eXBlLl9zZXROb2Rlc1ZhbHVlPWZ1bmN0aW9uKHQsZSxzLGkpe2lmKG51bGwhPWV8fGkpZm9yKHZhciBvPSJmdW5jdGlvbiI9PXR5cGVvZiBzP3MoZSk6ZSxuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXS5ub2RlVmFsdWU9b30sYi5wcm90b3R5cGUuX3NldFRleHRzQ29udGVudD1mdW5jdGlvbih0LGUscyl7aWYodCYmdC5sZW5ndGgmJmUpZm9yKHZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiBzP3MoZSk6ZSxvPTA7bzx0Lmxlbmd0aDtvKyspdFtvXS50ZXh0Q29udGVudD1pfSxiLnByb3RvdHlwZS5fc2V0TGFzdFZhbHVlPWZ1bmN0aW9uKHQsZSxzKXtpZihudWxsPT10KXJldHVybjtjb25zdCBpPSJmdW5jdGlvbiI9PXR5cGVvZiBzP3ModCk6U3RyaW5nKHQpO2lmKGk9PT10aGlzLl9sYXN0UHJpY2VGb3JtYXR0ZWQpcmV0dXJuO2NvbnN0W28sbixyXT10aGlzLl9vcHRpb25zLmxhc3RQcmljZUhpZ2hsaWdodERpZmZPbmx5P3RoaXMuX2dldExhc3RWYWx1ZVN0cmluZ0RpZmYodGhpcy5fbGFzdFByaWNlRm9ybWF0dGVkLGkpOlsiIixpLCIiXSxhPW8sbD10aGlzLl9jYWxjdWxhdGVQaXBldHRlRGlnaXRzKGUpLFtoLGNdPXRoaXMuX29wdGlvbnMubGFzdFByaWNlTGFzdENoYXJTdXAmJmw/W24uc2xpY2UoMCwtbCksbi5zbGljZSgtbCldOltuLCIiXTt0aGlzLl9vcHRpb25zLmxhc3RQcmljZUhpZ2hsaWdodERpZmZPbmx5JiYodGhpcy5faXNWb2x1bWVGb3JtYXQmJnRoaXMuX2NoYW5nZVZvbHVtZUxldHRlci5jYWxsKHRoaXMsciksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubGFzdCxhKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubGFzdEhpZ2hsaWdodCxoKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0U3VwLGMpLHRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZD1pfSxiLnByb3RvdHlwZS5fZ2V0Q2hhbmdlVm9sdW1lTGV0dGVyQ2FsbGJhY2s9ZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24oZSl7ZSE9PXQmJih0PWUsdGhpcy5fZWxlbWVudHMubGFzdC5mb3JFYWNoKChlPT57MyE9PWUuY2hpbGROb2Rlcy5sZW5ndGg/ZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KSk6ZS5jaGlsZE5vZGVzWzJdLm5vZGVWYWx1ZT10fSkpKX19LGIucHJvdG90eXBlLl9nZXRMYXN0VmFsdWVTdHJpbmdEaWZmPWZ1bmN0aW9uKHQsZSl7aWYodD09PWUpe2NvbnN0W3Qsc109dihlKTtyZXR1cm5bdCwiIixzXX1sZXQgcz0wO2Zvcig7dFtzXT09PWVbc107KXMrKztjb25zdFtpLG9dPXYoZS5zbGljZShzKSk7cmV0dXJuW2Uuc2xpY2UoMCxzKSxpLG9dfSxiLnByb3RvdHlwZS5fY2FsY3VsYXRlUGlwZXR0ZURpZ2l0cz1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdCE9PXRoaXMuX2xhc3RNaW5Nb3ZlJiYodGhpcy5fbGFzdE1pbk1vdmU9dCksdGhpcy5fbGFzdE1pbk1vdmU/KCIiK3RoaXMuX2xhc3RNaW5Nb3ZlKS5sZW5ndGgtMTowfSxiLnByb3RvdHlwZS5fc2V0Q2hhbmdlRm9udENvbG9yPWZ1bmN0aW9uKHQsZSxzLGksbyl7Zm9yKHZhciBuPWEuUHJpY2VDb2xvcmVyLmZvcm1hdFNpZ24oZSx7dXA6cyxkb3duOmksbmV1dHJhbDpvfSkscj0wO3I8dC5sZW5ndGg7cisrKXRbcl0uc3R5bGUuY29sb3I9bn0sYi5wcm90b3R5cGUuX3NldENoYW5nZURpcmVjdGlvbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKXt2YXIgaT10W3NdLmNsYXNzTGlzdDtpLnRvZ2dsZSh0aGlzLl9vcHRpb25zLmNoYW5nZURpcmVjdGlvblVwQ2xhc3MsZT4wKSxpLnRvZ2dsZSh0aGlzLl9vcHRpb25zLmNoYW5nZURpcmVjdGlvbkRvd25DbGFzcyxlPDApLGkudG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uTmV1dHJhbENsYXNzLDA9PT1lKX19LApiLnByb3RvdHlwZS5zZXRTaG9ydE5hbWU9ZnVuY3Rpb24odD0iIil7dGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLnNob3J0TmFtZSx0KX0sYi5wcm90b3R5cGUuX3ByZXBhcmVTeW1ib2xEZXNjcmlwdGlvbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9nZXRDYWNoZSgic3ltYm9sLWRlc2NyaXB0aW9uOiIrdCk7cmV0dXJuIGV8fChlPXQsdGhpcy5fc2V0Q2FjaGUoInN5bWJvbC1kZXNjcmlwdGlvbjoiK3QsZSksZSl9LGIucHJvdG90eXBlLl9pbml0SGlnaGxpZ2h0ZXJzPWZ1bmN0aW9uKCl7dGhpcy5faGlnaGxpZ2h0ZXJzLmxhc3Q9bmV3IFModGhpcy5fZWxlbWVudHMubGFzdEhpZ2hsaWdodCx0aGlzLl9vcHRpb25zLmdyb3dpbmdCZyx0aGlzLl9vcHRpb25zLmZhbGxpbmdCZyx0aGlzLl9vcHRpb25zLmxhc3RHcm93aW5nQ2xhc3MsdGhpcy5fb3B0aW9ucy5sYXN0RmFsbGluZ0NsYXNzKSx0aGlzLl9oaWdobGlnaHRlcnMuZXh0SHJzQ2xvc2U9bmV3IFModGhpcy5fZWxlbWVudHMuZXh0SHJzQ2xvc2UsdGhpcy5fb3B0aW9ucy5ncm93aW5nQmcsdGhpcy5fb3B0aW9ucy5mYWxsaW5nQmcsdGhpcy5fb3B0aW9ucy5sYXN0R3Jvd2luZ0NsYXNzLHRoaXMuX29wdGlvbnMubGFzdEZhbGxpbmdDbGFzcyksdGhpcy5faGlnaGxpZ2h0ZXJzLm5pZ2h0Q2xvc2U9bmV3IFModGhpcy5fZWxlbWVudHMubmlnaHRDbG9zZSx0aGlzLl9vcHRpb25zLmdyb3dpbmdCZyx0aGlzLl9vcHRpb25zLmZhbGxpbmdCZyx0aGlzLl9vcHRpb25zLmxhc3RHcm93aW5nQ2xhc3MsdGhpcy5fb3B0aW9ucy5sYXN0RmFsbGluZ0NsYXNzKX0sYi5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMSx0aGlzLmRpc2Nvbm5lY3QoKX0sYi5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSEwLHRoaXMuY29ubmVjdCgpfSxiLnByb3RvdHlwZS5zZXRTdGF0ZUhvb2s9ZnVuY3Rpb24odCl7bnVsbD09PXQmJnRoaXMuX3NldFN0YXRlSG9vaz9kZWxldGUgdGhpcy5fc2V0U3RhdGVIb29rOiJmdW5jdGlvbiI9PXR5cGVvZiB0JiYodGhpcy5fc2V0U3RhdGVIb29rPXQpfSxiLnByb3RvdHlwZS5fc2V0Q2FjaGU9ZnVuY3Rpb24odCxlKXtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jYWNoZVt0XTp0aGlzLl9jYWNoZVt0XT1lfSxiLnByb3RvdHlwZS5fZ2V0Q2FjaGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NhY2hlJiZ0aGlzLl9jYWNoZVt0XX0sYi5wcm90b3R5cGUuZ2V0T3B0aW9ucz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9vcHRpb25zfX0sMTEzNTY3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3ByZXBhcmVDdXJyZW5jeVZhbHVlOigpPT5vfSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIG8odCl7bGV0IGU9W107Y29uc3Qgbz1mdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSJQQ1QiOmNhc2UiUENUUEFSIjpyZXR1cm4iJSI7Y2FzZSJQQ1RHRFAiOnJldHVybiBpLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNTU4NDEyKSk7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtkZWZhdWx0OnJldHVybiB0fX0odC5jdXJyZW5jeV9jb2RlfHx0LnZhbHVlX3VuaXRfaWR8fCIiKTtzd2l0Y2godC5tZWFzdXJlKXtjYXNlInByaWNlIjpjYXNlInVuaXQiOmU9W28sdC51bml0X2lkXTticmVhaztkZWZhdWx0OmU9W29dfXJldHVybiBlLmZpbHRlcihCb29sZWFuKS5qb2luKCLigIkv4oCJIil9fSw5MzExOTgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7aGFuZGxlVFZMaW5rc0NsaWNrOigpPT5hfSk7dmFyIGk9cyg0MDAxODEpLG89cyg2MDE1ODcpLG49cyg3MzA2NDUpO2NvbnN0IHI9ImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldF90dl9saW5rX2NsaWNrL2pzb25zY2hlbWEvMS0wLTAiO2Z1bmN0aW9uIGEoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKHQ9Pntjb25zdCBlPXQudGFyZ2V0LmNsb3Nlc3QoIjpsaW5rIik7ZT8uaG9zdG5hbWUmJigwLG4uaXNJbnRlcm5hbEhvc3QpKGUuaG9zdG5hbWUsInRyYWRpbmd2aWV3LmNvbSIpJiZhc3luYyBmdW5jdGlvbih0LGUpe2NvbnN0IHM9ZnVuY3Rpb24oKXtjb25zdCB0PXdpbmRvdy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoT2JqZWN0LmtleXModCkubGVuZ3RoPjApcmV0dXJuKDAsby5maWx0ZXJVdG1JbmZvKSh0KTtjb25zdCBlPW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uaHJlZik7cmV0dXJue3V0bV9jYW1wYWlnbjplLmdldCgidXRtX2NhbXBhaWduIil8fHZvaWQgMCx1dG1fc291cmNlOmUuZ2V0KCJ1dG1fc291cmNlIil8fHZvaWQgMH19KCk7KGF3YWl0KDAsaS5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYyhyLHt3aWRnZXRfdHlwZTpoKHMpLGRvbWFpbjpsKHMpLGxpbms6dCx0YXJnZXRfdHlwZTplfSl9KGUuaHJlZixlLmRhdGFzZXQudGFyZ2V0VHlwZXx8bnVsbCl9KSl9ZnVuY3Rpb24gbCh0KXtjb25zdCBlPWxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdfHxkb2N1bWVudC5yZWZlcnJlcjtyZXR1cm4gdC51dG1fc291cmNlfHxmdW5jdGlvbih0KXt0cnl7cmV0dXJuIG5ldyBVUkwodCkuaG9zdH1jYXRjaCh0KXtyZXR1cm4iIn19KGUpfWZ1bmN0aW9uIGgodCl7aWYodC51dG1fY2FtcGFpZ24pcmV0dXJuIHQudXRtX2NhbXBhaWduO2NvbnN0IGU9bG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIGUuaW5jbHVkZXMoImVtYmVkLXdpZGdldCIpP2Uuc3BsaXQoIi8iKVsyXTplfX0sMzg5Mjk4KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3RyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvOigpPT5vfSk7dmFyIGk9cyg0MDAxODEpO2FzeW5jIGZ1bmN0aW9uIG8odCl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxpLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfbG9hZF9tZXRhX2luZm8vanNvbnNjaGVtYS8xLTAtMCIsdCl9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81247.7059063ba4d3b37302dc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.466Z","timestamp":1785136901466,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81247.7059063ba4d3b37302dc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-308\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8c7310ae99a13f61ad76fd39dc79bcf9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":776,"size_decoded":1087,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (776), with no line terminators","md5":"61f42e8a346b20abe1ee19436587307b","sha1":"2b1289bece80c17f1b05ceeee27a391f85fd14df","sha256":"5540ab6ad033d0c8d744e54bce1762b3c3a26f361e08614893bea5efce561218","sha512":"f13b8d738468b5744d16bbc46db4bf0d7f907f202a52a43d492591b896e8061ec482c18effa0e8fcdf773c4dfcbd05919a21550a62fdce9b2e095f675efb350c","ssdeep":"","tlshash":"c401d623120632e7df76c13cae82d7c56f9a21b548200a0ffc7a9811476b3f94b889d2","first_seen":"2026-06-30T21:57:43.398574Z","last_seen":"2026-07-28T06:17:53.481961Z","times_seen":245,"resource_available":false,"data":"LmFjY2Vzc2libGUtS3RxYV9TelB7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmFjY2Vzc2libGUtS3RxYV9TelA6Zm9jdXN7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGUtS3RxYV9TelA6Zm9jdXMtdmlzaWJsZTphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4fS5hY2Nlc3NpYmxlLUt0cWFfU3pQOm5vdCguYWNjZXNzaWJsZS1LdHFhX1N6UC5hY3RpdmUtS3RxYV9TelApOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9LmFjY2Vzc2libGUtS3RxYV9TelAuYWN0aXZlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1pbnZlcnNlKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/bt-group.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/ticker-tape/?locale=en#%7B%22symbols%22%3A%5B%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.053Z","timestamp":1785136902053,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /bt-group.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCCTC.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.588Z","timestamp":1785136905588,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCCTC.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.360Z","timestamp":1785136900360,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55969.43c3748014de2cd0bd1c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 626fd7994ffc3821d55230fe4d494172\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31210,"size_decoded":10275,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-31T06:34:35.472553Z","times_seen":719,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTU5NjldLHszMDgyMShlLHQscyl7cy5kKHQse0J1c2luZXNzRGF5OigpPT5pfSk7dmFyIG49cyg3MDA4MDkpLHI9cyg5MDI4NDIpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RheU9mV2Vlaz1udWxsLHRoaXMueWVhcj1lLHRoaXMubW9udGg9dCx0aGlzLmRheT1zfXRvU3RyaW5nKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLm1vbnRoKX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLmRheSl9YH10b3l5eXltbWRkKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0keygwLHIuYWRkTGVhZGluZ1plcm8pKHRoaXMubW9udGgpfSR7KDAsci5hZGRMZWFkaW5nWmVybykodGhpcy5kYXkpfWB9Y29tcGFyZVRvKGUpe3JldHVybiB0aGlzLnllYXI+ZS55ZWFyfHx0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg+ZS5tb250aHx8dGhpcy55ZWFyPT09ZS55ZWFyJiZ0aGlzLm1vbnRoPT09ZS5tb250aCYmdGhpcy5kYXk+ZS5kYXk/MTp0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg9PT1lLm1vbnRoJiZ0aGlzLmRheT09PWUuZGF5PzA6LTF9YmVmb3JlKGUpe3JldHVybi0xPT09dGhpcy5jb21wYXJlVG8oZSl9dG9DYWxlbmRhcihlKXtyZXR1cm4oMCxuLmdldF9jYWwpKGU/PygwLG4uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpLHRoaXMueWVhcix0aGlzLm1vbnRoLTEsdGhpcy5kYXkpfWFkZERheXMoZSl7Y29uc3QgdD10aGlzLnRvQ2FsZW5kYXIoKDAsbi5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpO3JldHVybigwLG4uYWRkX2RhdGUpKHQsZSksaS5mcm9tQ2FsZW5kYXIodCl9Zmlyc3REYXlPZlllYXIoKXtyZXR1cm4gbmV3IGkodGhpcy55ZWFyLDEsMSl9Z2V0RGF5T2ZXZWVrKCl7cmV0dXJuIG51bGw9PT10aGlzLl9kYXlPZldlZWsmJih0aGlzLl9kYXlPZldlZWs9KDAsbi5nZXRfZGF5X29mX3dlZWspKHRoaXMudG9DYWxlbmRhcigpKSksdGhpcy5fZGF5T2ZXZWVrfXN0YXRpYyBmcm9tQ2FsZW5kYXIoZSl7cmV0dXJuIG5ldyBpKCgwLG4uZ2V0X3llYXIpKGUpLCgwLG4uZ2V0X21vbnRoKShlKSsxLCgwLG4uZ2V0X2RheV9vZl9tb250aCkoZSkpfX19LDM0MTAzNihlLHQscyl7cy5kKHQse0V4dGVuZGVkRW50cnlEZWNvcmF0b3I6KCk9PkUsT2Zmc2V0RW50cnlEZWNvcmF0b3I6KCk9PnUsU0VTU0lPTl9TUEVDX1NZTUJPTF9CQVJTX09GRlNFVDooKT0+byxTRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEOigpPT5oLFNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRDooKT0+YSxTRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRDooKT0+ZCxTZXNzaW9uc1NwZWNFbnRyaWVzOigpPT5tLFNlc3Npb25zU3BlY0VudHJ5OigpPT5fLFNlc3Npb25zU3BlY0VudHJ5SW5kZXg6KCk9Pk8sU2Vzc2lvbnNTcGVjSGlzdG9yeUVudHJ5OigpPT5XLFVuaWZpZWRFbnRyeURlY29yYXRvcjooKT0+ayxVbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yOigpPT5wLGNvbXBhcmVTZXNzaW9uRW50cmllczooKT0+eSxpc0V4dGVuZGVkRW50cnk6KCk9PmcsaXNPZmZzZXRFbnRyeTooKT0+bCxpc1VuaWZpZWRFbnRyeTooKT0+Uyxpc1VuaWZpZWRTaGlmdGVkRW50cnk6KCk9PkR9KTt2YXIgbixyPXMoMTM4NjM4KSxpPXMoNzAwODA5KTshZnVuY3Rpb24oZSl7ZVtlLkxlZnRGaXJzdD0tMV09IkxlZnRGaXJzdCIsZVtlLlVuY2hhbmdlZD0wXT0iVW5jaGFuZ2VkIixlW2UuUmlnaHRGaXJzdD0xXT0iUmlnaHRGaXJzdCJ9KG58fChuPXt9KSk7Y29uc3Qgbz0iQSIsYT0iVSIsZD0iUyIsaD0iRSI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gZT49MD8wOmUlaS5taW51dGVzUGVyRGF5PT0wPy1lL2kubWludXRlc1BlckRheToxLU1hdGgudHJ1bmMoZS9pLm1pbnV0ZXNQZXJEYXkpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4gZS5jb21wYXJlVG8odCl9dmFyIGM7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRXh0ZW5kZWRFbnRyeT0xXT0iRXh0ZW5kZWRFbnRyeSIsZVtlLk9mZnNldEVudHJ5PTJdPSJPZmZzZXRFbnRyeSIsZVtlLlVuaWZpZWRFbnRyeT0zXT0iVW5pZmllZEVudHJ5IixlW2UuVW5pZmllZFNoaWZ0ZWRFbnRyeT00XT0iVW5pZmllZFNoaWZ0ZWRFbnRyeSJ9KGN8fChjPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5kZWNvcmF0b3JUeXBlPTAsKDAsci5hc3NlcnQpKE51bWJlci5pc0Zpbml0ZShlKSYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUocyksIkludmFsaWQgYXJndW1lbnRzIiksdGhpcy5fZGF5T2ZXZWVrPWUsdGhpcy5fc3RhcnQ9dCx0aGlzLl9sZW5ndGg9c31zdGFydCgpe3JldHVybiB0aGlzLl9zdGFydCtpLm1pbnV0ZXNQZXJEYXkqdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl9c3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3RhcnR9ZW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0K3RoaXMuX2xlbmd0aH1zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl7cmV0dXJuIGYodGhpcy5fc3RhcnQpfWlzT3Zlcm5pZ2h0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0PDB9ZGF5T2ZXZWVrKCl7cmV0dXJuIHRoaXMuX2RheU9mV2Vla31zZXNzaW9uU3RhcnREYXlPZldlZWsoKXtsZXQgZT10aGlzLl9kYXlPZldlZWstdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCk7cmV0dXJuIGU8aS5TVU5EQVkmJihlKz03KSxlfWxlbmd0aCgpe3JldHVybiB0aGlzLl9sZW5ndGh9aXNFeHRlbmRlZCgpe3JldHVybiExfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5zdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuZW5kT2Zmc2V0KCl9Y29tcGFyZVRvKGUpe2NvbnN0IHQ9dGhpcy5fd2VpZ2h0KCkscz10K3RoaXMuX2xlbmd0aCxuPWUuX3dlaWdodCgpLHI9bitlLl9sZW5ndGgKO3JldHVybiB0PD1uJiZuPHN8fG48PXQmJnQ8cj8wOnQ+bj8xOi0xfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9jb250YWlucygoMCxpLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLCgwLGkuZ2V0X2RheV9vZl93ZWVrKShlKSl9X3dlaWdodCgpe3JldHVybiB0aGlzLl9kYXlPZldlZWsqaS5taW51dGVzUGVyRGF5K3RoaXMuX3N0YXJ0fV9jb250YWlucyhlLHQpe2xldCBzPXQtdGhpcy5fZGF5T2ZXZWVrO3M+MCYmKHMtPTcpO2NvbnN0IG49cyppLm1pbnV0ZXNQZXJEYXkrZTtyZXR1cm4gbj49dGhpcy5fc3RhcnQmJm48dGhpcy5fc3RhcnQrdGhpcy5fbGVuZ3RofX1mdW5jdGlvbiBsKGUpe3JldHVybiAyPT09ZS5kZWNvcmF0b3JUeXBlfWNsYXNzIHUgZXh0ZW5kcyBfe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS5kYXlPZldlZWsoKSxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSksdGhpcy5kZWNvcmF0b3JUeXBlPTIsdGhpcy5fZW50cnk9ZSx0aGlzLl9iYXJzT2Zmc2V0PXR9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9YmFyc09mZnNldCgpe3JldHVybiB0aGlzLl9iYXJzT2Zmc2V0fWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIDE9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgRSBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0xLHRoaXMuX2VudHJ5PWUsdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldD10LHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0PXN9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9aXNFeHRlbmRlZCgpe3JldHVybiEwfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldH1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9leHRlbmRlZEVuZE9mZnNldH1leHRlbmRlZFN0YXJ0RGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkU3RhcnRPZmZzZXQpfWV4dGVuZGVkRW5kRGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0KX19ZnVuY3Rpb24gUyhlKXtyZXR1cm4gMz09PWUuZGVjb3JhdG9yVHlwZX1jbGFzcyBrIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0zLHRoaXMuX2VudHJ5PWUsdGhpcy5fdW5pZmllZEVudHJpZXM9dCx0LnB1c2godGhpcyl9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9Z2V0VW5pZmllZEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXN9aGFzRXh0ZW5kZWRFbnRyeSgpe3JldHVybiB0aGlzLl91bmlmaWVkRW50cmllcy5zb21lKChlPT5lLmlzRXh0ZW5kZWQoKSkpfWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIDQ9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLmRheU9mV2VlaygpLGUuc3RhcnRPZmZzZXQoKSxlLmxlbmd0aCgpKSx0aGlzLmRlY29yYXRvclR5cGU9NCx0aGlzLl9lbnRyeT1lLHRoaXMuX3VuaWZpZWRFbnRyaWVzPXQsdC5wdXNoKHRoaXMpfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuX2VudHJ5fWdldFVuaWZpZWRFbnRyaWVzKCl7cmV0dXJuIHRoaXMuX3VuaWZpZWRFbnRyaWVzfWhhc0V4dGVuZGVkRW50cnkoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXMuc29tZSgoZT0+ZS5pc0V4dGVuZGVkKCkpKX1pc0V4dGVuZGVkKCl7cmV0dXJuIHRoaXMuX2VudHJ5LmlzRXh0ZW5kZWQoKX1leHRlbmRlZFN0YXJ0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkU3RhcnRPZmZzZXQoKX1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9lbnRyeS5leHRlbmRlZEVuZE9mZnNldCgpfX1jbGFzcyBPe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLndlZWtJbmRleD1lLHRoaXMuZW50cnlJbmRleD10LHRoaXMuZW50cmllcz1zfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuZW50cmllc1t0aGlzLmVudHJ5SW5kZXhdfX1jbGFzcyBte2NvbnN0cnVjdG9yKGUsdCxzLG4pe3RoaXMuX21heFRyYWRpbmdEYXlMZW5ndGg9bnVsbCx0aGlzLl9saXN0PWUsdGhpcy5fZW50cmllc0J5RGF5PXQsdGhpcy5fZmlyc3REYXlPZldlZWs9cyx0aGlzLl93ZWVrRW5kc0NvdW50PW59Zmlyc3REYXlPZldlZWsoKXtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWt9ZW50cmllc0J5RGF5KCl7cmV0dXJuIHRoaXMuX2VudHJpZXNCeURheX1saXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9aXNXZWVrRW5kKGUpe3JldHVybiF0aGlzLl9lbnRyaWVzQnlEYXkuaGFzKGUpfXdlZWtFbmRzQ291bnQoKXtyZXR1cm4gdGhpcy5fd2Vla0VuZHNDb3VudH1sb25nZXN0U2Vzc2lvbkxlbmd0aCgpe3JldHVybiAwPT09dGhpcy5fbGlzdC5sZW5ndGg/MDpNYXRoLm1heCguLi50aGlzLl9saXN0Lm1hcCgoZT0+ZS5sZW5ndGgoKSkpKX1tYXhUcmFkaW5nRGF5TGVuZ3RoKCl7aWYobnVsbD09dGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aCl7Y29uc3QgZT1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIHRoaXMuX2xpc3Qpe2NvbnN0IHM9dC5kYXlPZldlZWsoKTtlLnNldChzLHQubGVuZ3RoKCkrKGUuZ2V0KHMpPz8wKSl9bGV0IHQ9MDtlLmZvckVhY2goKGU9Pnt0PU1hdGgubWF4KHQsZSl9KSksdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aD10fQpyZXR1cm4gdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aH19Y2xhc3MgV3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RhcnREYXk9ZSx0aGlzLl9lbnRyaWVzPXMsdGhpcy5fc3BlY0VuZERheT10fWdldEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fZW50cmllc31nZXRTdGFydERheSgpe3JldHVybiB0aGlzLl9zdGFydERheX1nZXRTcGVjRW5kRGF5KCl7cmV0dXJuIHRoaXMuX3NwZWNFbmREYXl9aXNPcGVuRW5kZWQoKXtyZXR1cm4gbnVsbD09dGhpcy5fc3BlY0VuZERheX19fSwzMjkwNDEoZSx0LHMpe3MuZCh0LHtTZXNzaW9uc1NwZWNQYXJzZXI6KCk9Pmcsd29ya2luZ0RheXNBbmRXZWVrRW5kczooKT0+ZH0pO3ZhciBuPXMoMTM4NjM4KSxyPXMoNzAwODA5KSxpPXMoMzA4MjEpLG89cygzNDEwMzYpO2NvbnN0IGE9W3IuTU9OREFZLHIuVFVFU0RBWSxyLldFRE5FU0RBWSxyLlRIVVJTREFZLHIuRlJJREFZXSxkPVtyLlNVTkRBWSxyLk1PTkRBWSxyLlRVRVNEQVksci5XRURORVNEQVksci5USFVSU0RBWSxyLkZSSURBWSxyLlNBVFVSREFZXTtmdW5jdGlvbiBoKGUpe3JldHVybiBlPj00OCYmZTw9NTd9Y29uc3QgZj1bMCwzMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07Y2xhc3MgeSBleHRlbmRzIE1hcHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fa2V5U3RyaW5nc1RvS2V5PW5ldyBNYXB9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fa2V5U3RyaW5nc1RvS2V5LmdldChlLnRvU3RyaW5nKCkpO3JldHVybiB0JiZzdXBlci5nZXQodCl9c2V0KGUsdCl7Y29uc3Qgcz1lLnRvU3RyaW5nKCksbj10aGlzLl9rZXlTdHJpbmdzVG9LZXkuZ2V0KHMpO3JldHVybiB2b2lkIDAhPT1uJiZzdXBlci5kZWxldGUobiksdGhpcy5fa2V5U3RyaW5nc1RvS2V5LnNldChzLGUpLHN1cGVyLnNldChlLHQpfWhhcyhlKXtyZXR1cm4gdGhpcy5fa2V5U3RyaW5nc1RvS2V5LmhhcyhlLnRvU3RyaW5nKCkpfX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLmxlbmd0aD4wfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIDA9PT1lP3IubWludXRlc1BlckRheTplfWZ1bmN0aW9uIGwoZSx0LHMsbil7cmV0dXJuIHM9PT1uJiZ0PD1lP3MrMTpzfWZ1bmN0aW9uIHUoZSx0KXtpZihlPDB8fGU+PTcpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sICR7dH0gY2Fubm90IGJlIG91dHNpZGUgWzAsNyksICR7dH09JHtlfWApfWNsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLmhpc3RvcnlFbnRyaWVzPVtdLHRoaXMudGltZXpvbmU9IiIsdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9bnVsbH1wYXJzZVNlc3Npb25zKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITEpfXBhcnNlU2Vzc2lvbnNBbmRWYWxpZGF0ZURhdGVUaW1lKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITApfXN0YXRpYyBwYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnMoZSx0LHMsbil7cmV0dXJuIHRoaXMuX3BhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0ltcGwoZSx0LHMsbil9c3RhdGljIHBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0LHMpe3JldHVybiB0aGlzLl9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLCEwKX1fY2xlYXJBbGwoKXt0aGlzLnRpbWV6b25lPSIiLHRoaXMuaGlzdG9yeUVudHJpZXM9W10sdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9W119X3BhcnNlSGlzdG9yeUVudHJpZXMoZSx0LHMpe3RoaXMuX2NsZWFyQWxsKCk7Y29uc3Qgbj10LnNwbGl0KCIvIik7bGV0IHI9bnVsbCxpPW51bGw7dGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnM9bi5sZW5ndGg+MTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3QgYT1uW3RdLnNwbGl0KCIjIik7bGV0IGQ9bnVsbDtpZih0IT09bi5sZW5ndGgtMSl7aWYoMiE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gaGlzdG9yeSBlbnRyeSBkZWZpbml0aW9uOiAke25bdF19YCk7ZD1nLl9wYXJzZURheShhWzFdLCJzZXNzaW9uIGhpc3RvcnkgZW50cnkgZW5kIixzKS50b0NhbGVuZGFyKCl9ZWxzZXtpZigxIT09YS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbiBoaXN0b3J5IGVudHJ5IGRlZmluaXRpb246ICR7blt0XX1gKTtkPW51bGx9aWYobnVsbCE9PWkmJm51bGwhPT1kJiZkLmdldFRpbWUoKTxpLmdldFRpbWUoKSl0aHJvdyBuZXcgRXJyb3IoYGhpc3Rvcnkgc2Vzc2lvbnMgYXJlIG5vdCBsaXN0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyICgke2l9IC0+ICR7ZH1gKTtjb25zdCBoPXRoaXMuX3BhcnNlU2Vzc2lvbnNJbXBsKGUsYVswXSxzKTtyPXRoaXMuX2FkanVzdFN0YXJ0VG9QcmV2aW91c1Nlc3Npb24oaC5maXJzdERheU9mV2VlaygpKTtjb25zdCBmPW5ldyBvLlNlc3Npb25zU3BlY0hpc3RvcnlFbnRyeShyLGQsaCk7dGhpcy5oaXN0b3J5RW50cmllcy5wdXNoKGYpLGk9ZH19X3BhcnNlU2Vzc2lvbnNJbXBsKGUsdCxzKXt0aGlzLnRpbWV6b25lPWUsdD10aGlzLl9wYXJzZUZpcnN0RGF5T2ZXZWVrKHQpO2NvbnN0IG49bmV3IE1hcCxyPVtdO2lmKCIyNHg3Ij09PXQudG9Mb3dlckNhc2UoKSlmb3IoY29uc3QgZSBvZiBkKXtjb25zdCB0PWcuX2NyZWF0ZVNlc3Npb25FbnRyeShlLDAsMCwwLDApO3IucHVzaCh0KTtjb25zdCBzPVtdO3MucHVzaCh0KSxuLnNldChlLHMpfWVsc2V7bGV0IGU9ITE7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoInwiKSl7Y29uc3QgdD1zLnNwbGl0KCI6IikuZmlsdGVyKGMpO2lmKDEhPT10Lmxlbmd0aCYmMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gc2VjdGlvbjogJHtzfWApO2NvbnN0IG49MT09PXQubGVuZ3RoO2lmKG4pe2lmKGUpdGhyb3cgbmV3IEVycm9yKGBkdXBsaWNhdGVkIGRlZmF1bHQgc2VjdGlvbjogJHtzfWApO2U9ITB9Y29uc3Qgcj1uP2E6Zy5fcGFyc2VXb3JraW5nRGF5cyh0WzFdKTtmb3IoY29uc3QgZSBvZiByKW4mJmkuaGFzKGUpfHxpLnNldChlLHRbMF0pfWZvcihjb25zdCBlIG9mIGQpe2NvbnN0IHQ9aS5nZXQoZSkKO2lmKHZvaWQgMD09PXQpY29udGludWU7Y29uc3Qgbz1nLl9wYXJzZVNlc3Npb25EYXkoZSx0LHMpO2xldCBhPW4uZ2V0KGUpO3ZvaWQgMD09PWEmJihhPVtdLG4uc2V0KGUsYSkpO2Zvcihjb25zdCBlIG9mIG8pYS5wdXNoKGUpLHIucHVzaChlKX19ci5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlLmRheU9mV2VlaygpKTtjb25zdCBoPTctaS5zaXplO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyaWVzKHIsbix0aGlzLl9maXJzdERheU9mV2VlayxoKX1fcGFyc2VGaXJzdERheU9mV2VlayhlKXtjb25zdCB0PWUuc3BsaXQoIjsiKTtpZih0aGlzLl9maXJzdERheU9mV2Vlaz1yLk1PTkRBWSx0Lmxlbmd0aD4yKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGU7bGV0IHM9MTtsZXQgbj10WzBdLmluZGV4T2YoIi0iKT49MD9OYU46cGFyc2VJbnQodFswXSk7aWYoaXNOYU4obikmJihzPTAsbj1wYXJzZUludCh0WzFdKSksbjxyLlNVTkRBWXx8bj5yLlNBVFVSREFZKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs9bix0W3NdfV9hZGp1c3RTdGFydFRvUHJldmlvdXNTZXNzaW9uKGUpe2lmKDA9PT10aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5oaXN0b3J5RW50cmllc1t0aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXS5nZXRTcGVjRW5kRGF5KCkpLHM9ZS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCk7aWYoMD09PXMpcmV0dXJuIHQ7Y29uc3QgaT0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLHMpLHQuZ2V0VGltZSgpPGkuZ2V0VGltZSgpfHwoMCxyLmFkZF9kYXRlKShpLDcpLGl9c3RhdGljIF9wYXJzZVNlc3Npb25EYXkoZSx0LHMpe2NvbnN0IG49W107Zm9yKGNvbnN0IHIgb2YgdC5zcGxpdCgiLCIpLmZpbHRlcihjKSlpZihyLmluY2x1ZGVzKG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSl7Y29uc3QgaT1yLnNwbGl0KG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkRW50cnlEZWNvcmF0b3IoZCxhKSl9YS5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKX1lbHNlIGlmKHIuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRCkpe2NvbnN0IGk9ci5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRF9TSElGVEVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yKGQsYSkpfWEuc29ydChvLmNvbXBhcmVTZXNzaW9uRW50cmllcyl9ZWxzZSBuLnB1c2godGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxyLHMpKTtyZXR1cm4gbn1zdGF0aWMgX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxzLG4scil7aWYoIW4mJnMuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUKSl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9LiBVbmlmaWVkIGludGVydmFscyBjYW4gY29udGFpbiBvbmx5IG9uZSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9Jy4gU3BlY2lmeSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9JyBvbmx5IGZvciB0aGUgZmlyc3QgaW50ZXJ2YWxgKTtyZXR1cm4gdGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxzLHIpfXN0YXRpYyBfcGFyc2VTZXNzaW9uRW50cnkoZSx0LHMpe2NvbnN0IG49dC5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfRVhURU5ERUQpO2lmKG4ubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IHI9blswXS5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVQpO2lmKHIubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IGk9clswXS5zcGxpdCgiLSIpO2lmKDIhPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9YCk7bGV0IGE9MCxkPWlbMF07aWYoZC5pbmNsdWRlcygiRiIpKXtjb25zdCBlPWQuc3BsaXQoIkYiKTtkPWVbMF0sYT0iIiE9PWVbMV0/cGFyc2VJbnQoZVsxXSk6MX1sZXQgaD0wLGY9aVsxXTtpZihmLmluY2x1ZGVzKCJGIikpe2NvbnN0IGU9Zi5zcGxpdCgiRiIpO2Y9ZVswXSxoPSIiIT09ZVsxXT9wYXJzZUludChlWzFdKToxfWNvbnN0IHk9dGhpcy5fbWludXRlc0Zyb21ISE1NKGQsdCxzKSxjPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShmLHQscyk7bGV0IF89dGhpcy5fY3JlYXRlU2Vzc2lvbkVudHJ5KGUseSxjLGEsaCk7aWYoMj09PXIubGVuZ3RoKXtjb25zdCBlPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShyWzFdLHQscyk7Xz10aGlzLl9kZWNvcmF0ZVdpdGhPZmZzZXQoXyxlLHksYyxhLGgpfWlmKDI9PT1uLmxlbmd0aCl7Y29uc3QgZT1uWzFdLnNwbGl0KCItIik7aWYoMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb246ICR7dH0uIEluY29ycmVjdCBleHRlbmRlZCBpbnRlcnZhbGApO2xldCByPTAsaT1lWzBdO2lmKGkuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1pLnNwbGl0KCJGIik7aT1lWzBdLHI9IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9bGV0IG89MCxhPWVbMV0KO2lmKGEuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1hLnNwbGl0KCJGIik7YT1lWzBdLG89IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9Y29uc3QgZD10aGlzLl9taW51dGVzRnJvbUhITU0oaSx0LHMpLGg9dGhpcy5fbWludXRlc0Zyb21ISE1NKGEsdCxzKTtfPXRoaXMuX2RlY29yYXRlV2l0aEV4dGVuc2lvbihfLGQsaCxyLG8pfXJldHVybiBffXN0YXRpYyBfbWludXRlc0Zyb21ISE1NKGUsdCxzKXtpZig0PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSl7Y29uc3QgdD1wYXJzZUludChlKSxuPU1hdGgudHJ1bmModC8xMDApLHI9dCUxMDA7aWYoIXN8fG48MjQmJnI8NjApcmV0dXJuIHIrNjAqbn10aHJvdyBuZXcgRXJyb3IoYGluY29ycmVjdCBlbnRyeSBzeW50YXg6ICR7dH1gKX1zdGF0aWMgX3BhcnNlRGF5KGUsdCxzKXtpZig4PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSYmaChlLmNoYXJDb2RlQXQoNCkpJiZoKGUuY2hhckNvZGVBdCg1KSkmJmgoZS5jaGFyQ29kZUF0KDYpKSYmaChlLmNoYXJDb2RlQXQoNykpKXtjb25zdCB0PXBhcnNlSW50KGUuc3Vic3RyaW5nKDAsNCkpLG49cGFyc2VJbnQoZS5zdWJzdHJpbmcoNCw2KSkscj1wYXJzZUludChlLnN1YnN0cmluZyg2LDgpKTtpZighc3x8dGhpcy5faXNWYWxpZERheU9mTW9udGgocixuLHQpKXJldHVybiBuZXcgaS5CdXNpbmVzc0RheSh0LG4scil9dGhyb3cgbmV3IEVycm9yKGBiYWQgJHt0fSBkYXRlOiAke2V9YCl9c3RhdGljIF9pc1ZhbGlkRGF5T2ZNb250aChlLHQscyl7cmV0dXJuISh0PDF8fHQ+MTIpJiYoIShlPDF8fGU+Zlt0XSl8fCEoMiE9PXR8fDI5IT09ZXx8ISgwLHIuaXNfbGVhcF95ZWFyKShzKSkpfXN0YXRpYyBfcGFyc2VXb3JraW5nRGF5cyhlKXtjb25zdCB0PVtdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7cysrKXtjb25zdCBuPWUuY2hhckNvZGVBdChzKS00ODtpZihuPDF8fG4+Nyl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF5cyBzcGVjaWZpY2F0aW9uOiAke2V9YCk7dC5pbmNsdWRlcyhuKXx8dC5wdXNoKG4pfXJldHVybiB0fXN0YXRpYyBfY3JlYXRlU2Vzc2lvbkVudHJ5KGUsdCxzLG4saSl7aWYodShuLCJzdGFydERheXNBZ28iKSx1KGksImVuZERheXNBZ28iKSwobj1sKHQscz1fKHMpLG4saSkpPGkpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sIHZpb2xhdGlvbiBzdGFydERheXNBZ28gPj0gZW5kRGF5c0Fnbywgc3RhcnREYXlzQWdvPSR7bn0sIGVuZERheXNBZ289JHtpfWApO24+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSk7Y29uc3QgYT1zLXQ7aWYoIShlPj1yLlNVTkRBWSYmZTw9ci5TQVRVUkRBWSYmdDxyLm1pbnV0ZXNQZXJEYXkmJmE+MCkpdGhyb3cgbmV3IEVycm9yKCJlcnJvciBwYXJzaW5nIHNlc3Npb24sIGludmFsaWQgZGF0YSIpO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyeShlLHQsYSl9c3RhdGljIF9kZWNvcmF0ZVdpdGhFeHRlbnNpb24oZSx0LHMsbixpKXtpZih1KG4sImV4dGVuZGVkLnN0YXJ0RGF5c0FnbyIpLHUoaSwiZXh0ZW5kZWQuZW5kRGF5c0FnbyIpLChuPWwodCxzPV8ocyksbixpKSk+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSksdD09PWUuc3RhcnRPZmZzZXQoKSYmcz09PWUuZW5kT2Zmc2V0KCkpcmV0dXJuIGU7aWYodD5lLnN0YXJ0T2Zmc2V0KCl8fHM8ZS5lbmRPZmZzZXQoKSl0aHJvdyBuZXcgRXJyb3IoImVycm9yIHBhcnNpbmcgc2Vzc2lvbiwgZXh0ZW5kZWQgaW50ZXJ2YWwgbXVzdCBiZSB3aWRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBiYXNlIGludGVydmFsIik7cmV0dXJuIG5ldyBvLkV4dGVuZGVkRW50cnlEZWNvcmF0b3IoZSx0LHMpfXN0YXRpYyBfZGVjb3JhdGVXaXRoT2Zmc2V0KGUsdCxzLG4saSxhKXtyZXR1cm4gdD09PXM/ZTooaT1sKHMsbj1fKG4pLGksYSksdD5zJiYodC09ci5taW51dGVzUGVyRGF5KSxpPjAmJih0LT1pKnIubWludXRlc1BlckRheSksbmV3IG8uT2Zmc2V0RW50cnlEZWNvcmF0b3IoZSx0KSl9c3RhdGljIF9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLG4pe2NvbnN0IGk9bmV3IHk7aWYoIiIhPT10KXtjb25zdCBlPVtdO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShzLCJob2xpZGF5IixuKTtpLnNldCh0LGUpfX1pZigiIj09PXMpcmV0dXJuIGk7Zm9yKGNvbnN0IGUgb2Ygcy5zcGxpdCgiOyIpKXtjb25zdCB0PWUuc3BsaXQoIjoiKTtpZigyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgY29ycmVjdGlvbiBzZWN0aW9uOiAke2V9YCk7aWYoImRheW9mZiI9PT10WzBdKWZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKTtpLnNldCh0LFtdKX1lbHNlIGZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3Qgcz10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKSxvPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzLnRvQ2FsZW5kYXIoKSksYT10aGlzLl9wYXJzZVNlc3Npb25EYXkobyx0WzBdLG4pO2kuc2V0KHMsYSl9fXJldHVybiBpfX19LDU1OTY5KGUsdCxzKXtzLmQodCx7U2Vzc2lvbnNTcGVjOigpPT5nfSk7dmFyIG49cygxMzg2MzgpLHI9cyg3MDA4MDkpLGk9cygxOTg5MDEpLG89cygzMDgyMSksYT1zKDM0MTAzNiksZD1zKDMyOTA0MSk7ZnVuY3Rpb24gaChlLHQpe3JldHVybiBlLmNvbXBhcmVUbyh0KTwwfWZ1bmN0aW9uIGYoZSx0KXsKY29uc3Qgcz1lLmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxuPXMrZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksaT1zK2UuZXh0ZW5kZWRFbmRPZmZzZXQoKSxvPXQuZGF5T2ZXZWVrKCkqci5taW51dGVzUGVyRGF5LGE9byt0LmV4dGVuZGVkU3RhcnRPZmZzZXQoKSxkPW8rdC5leHRlbmRlZEVuZE9mZnNldCgpO3JldHVybiEobjw9YSYmYTxpfHxhPD1uJiZuPGQpJiZuPGF9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5kYXlPZldlZWsoKSpyLm1pbnV0ZXNQZXJEYXksbj1zK2UuZXh0ZW5kZWRTdGFydE9mZnNldCgpLGk9cytlLmV4dGVuZGVkRW5kT2Zmc2V0KCksbz10LmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxhPW8rdC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZD1vK3QuZXh0ZW5kZWRFbmRPZmZzZXQoKTtyZXR1cm4gbjw9YSYmYTxpfHxhPD1uJiZuPGQ/MDpuPmE/MTotMX1jb25zdCBjPSgwLHIuZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIDFlNCplLnllYXIrMTAwKmUubW9udGgrZS5kYXl9dmFyIGw7IWZ1bmN0aW9uKGUpe2VbZS5DbG9zZXN0PTBdPSJDbG9zZXN0IixlW2UuRmlyc3RJbkRheT0tMV09IkZpcnN0SW5EYXkiLGVbZS5MYXN0SW5EYXk9MV09Ikxhc3RJbkRheSJ9KGx8fChsPXt9KSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl92YWx1ZT1lfWdldCgpe3JldHVybiB0aGlzLl92YWx1ZX1zZXQoZSl7dGhpcy5fdmFsdWU9ZX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlPSJFdGMvVVRDIix0PSIwMDAwLTAwMDAiLHM9IiIsbj0iIixpPSExKXtjb25zdCBvPW5ldyBkLlNlc3Npb25zU3BlY1BhcnNlcjtpP28ucGFyc2VTZXNzaW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0KTpvLnBhcnNlU2Vzc2lvbnMoZSx0KSx0aGlzLl9lbnRyaWVzPW8uaGlzdG9yeUVudHJpZXMsdGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zPW8uaGFzSGlzdG9yeUNvcnJlY3Rpb25zLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk9by5oaXN0b3J5RW50cmllc1tvLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXSx0aGlzLl90aW1lem9uZT1vLnRpbWV6b25lLHRoaXMuX3RpbWV6b25lT2JqPSgwLHIuZ2V0X3RpbWV6b25lKShvLnRpbWV6b25lKSx0aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcD1pP2QuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSxzLG4pOmQuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9ucyhlLHMsbixpKTtjb25zdCBhPXRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmtleXMoKTt0aGlzLl9lbnRyaWVzSGFzaD1uZXcgTWFwO2NvbnN0IGg9dGhpcy5fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCk7dGhpcy5fYm9yZGVyV2Vla3NJbmRpY2VzSGFzaD1oLmJvcmRlcldlZWtzSW5kaWNlc0hhc2gsdGhpcy5feWVhclRvV2Vla3NJbmRpY2VzSGFzaD1oLnllYXJUb1dlZWtzSW5kaWNlc0hhc2gsdGhpcy5fd2Vla0luZGljZXNPZkxhc3RIaXN0b3J5V2Vlaz1oLndlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWssdGhpcy5fcHJlc2VudFN0YXJ0V2Vla0luZGV4PWguc3RhcnRQcmVzZW50U2Vzc2lvbldlZWtJbmRleCx0aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2g9bmV3IE1hcCwiIj09PXMmJiIiPT09biYmbnVsbD09PXRoaXMuX3dlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWs/dGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zPSExOnRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucz0hMDtmb3IoY29uc3QgZSBvZiBhKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUudG9DYWxlbmRhcigpKTt0aGlzLl9lbnRyaWVzSGFzaC5zZXQodCxuZXcgdShudWxsKSl9dGhpcy5fc29ydGVkSG9saWRheXM9Wy4uLnRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2tleTpfKGUpLGRheTplLHNlc3Npb25zOnR9KSkpLnNvcnQoKChlLHQpPT5lLmtleS10LmtleSkpLHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXM9dGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zP251bGw6dGhpcy5fYnVpbGRIb2xpZGF5Q291bnRQcmVmaXhTdW1zKCl9aGFzSGlzdG9yeUNvcnJlY3Rpb25zKCl7cmV0dXJuIHRoaXMuX2hhc0hpc3RvcnlDb3JyZWN0aW9uc31maXJzdERheU9mV2Vlaygpe3JldHVybiB0aGlzLl9wcmVzZW50SGlzdG9yeUVudHJ5LmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpfWluY2x1ZGVzRGF5KGUpe3JldHVybiB0aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpLmxlbmd0aD4wfWdldEVudHJpZXNGb3JXZWVrKGUpe2lmKCF0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnMpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpOygwLG4uYXNzZXJ0KShlPj0wKTtjb25zdCB0PWUscz10aGlzLl9lbnRyaWVzSGFzaC5nZXQodCk7aWYodm9pZCAwPT09cyl7cmV0dXJuIHRoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpfWxldCByPXMuZ2V0KCk7aWYobnVsbCE9PXIpcmV0dXJuIHI7bGV0IGk9bnVsbDtjb25zdCBoPXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpO2k9dm9pZCAwPT09aD90aGlzLl9nZXRIaXN0b3J5QW5kSW5kZXhGb3JXZWVrKHQpLmdldEVudHJpZXMoKTp0aGlzLl9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoaCk7Y29uc3QgZj1uZXcgTWFwKGkuZW50cmllc0J5RGF5KCkpO2xldCB5PVsuLi5pLmxpc3QoKV07Y29uc3QgYz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSksXz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSsxKSxsPW8uQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKGMpLHU9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoXyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc2VsZWN0SG9saWRheXMobCx1KSl7Y29uc3QgdD1lLmRheS5nZXREYXlPZldlZWsoKTt5PXkuZmlsdGVyKChlPT5lLmRheU9mV2VlaygpIT09dCkpLHkucHVzaCguLi5lLnNlc3Npb25zKSwKMD09PWUuc2Vzc2lvbnMubGVuZ3RoP2YuZGVsZXRlKHQpOmYuc2V0KHQsZS5zZXNzaW9ucyl9eS5zb3J0KGEuY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBnPWQud29ya2luZ0RheXNBbmRXZWVrRW5kcy5sZW5ndGgtZi5zaXplO3JldHVybiByPW5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMoeSxmLGkuZmlyc3REYXlPZldlZWsoKSxnKSxzLnNldChyKSxyfWdldEhpc3RvcnlCeUluZGV4KGUpe3JldHVybiB0aGlzLl9lbnRyaWVzW2VdfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lfXRpbWV6b25lT2JqKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lT2JqfWxvbmdlc3RTZXNzaW9uTGVuZ3RoKCl7bGV0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkubG9uZ2VzdFNlc3Npb25MZW5ndGgoKTtmb3IobGV0IHQ9MDt0PHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7dCsrKXtjb25zdCBzPXRoaXMuX2VudHJpZXNbdF0uZ2V0RW50cmllcygpLmxvbmdlc3RTZXNzaW9uTGVuZ3RoKCk7ZT1NYXRoLm1heChlLHMpfWxldCB0PS0xLzA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faG9saWRheUFuZENvcnJlY3Rpb25NYXAudmFsdWVzKCkpdD1NYXRoLm1heCh0LC4uLmUubWFwKChlPT5lLmxlbmd0aCgpKSkpO3JldHVybiBNYXRoLm1heCh0LGUpfWlzV2Vla0VuZChlKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUpO2xldCBzO3JldHVybiBzPXZvaWQgMD09PXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpP3RoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpOnRoaXMuZ2V0RW50cmllc0ZvcldlZWsodCkscy5pc1dlZWtFbmQoKDAsci5nZXRfZGF5X29mX3dlZWspKGUpKX1pc0NhbFdlZWtFbmQoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSk7aWYoIXRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucylyZXR1cm4gdGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkuaXNXZWVrRW5kKHQpO2NvbnN0IHM9dGhpcy5nZXRXZWVrSW5kZXgoZSksbj10aGlzLmdldEVudHJpZXNGb3JXZWVrKHMpLGk9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSksYT10aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWE/bi5pc1dlZWtFbmQodCk6MD09PWEubGVuZ3RofWhvbGlkYXlzRnJvbVllYXJTdGFydChlKXtjb25zdCB0PWUgaW5zdGFuY2VvZiBvLkJ1c2luZXNzRGF5P2U6by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSk7cmV0dXJuIHRoaXMuX2hvbGlkYXlzRnJvbVllYXJTdGFydCh0KX1kYXlzT2ZmRnJvbVllYXJTdGFydChlKXtjb25zdCB0PSgwLHIuZ2V0X2NhbCkoYywoMCxyLmdldF95ZWFyKShlKSxyLkpBTlVBUlksMSkscz10aGlzLmdldFdlZWtJbmRleCh0KSxuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKS0xO2lmKCgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKStuPD1yLkxBU1RfREFZX09GX1dFRUsrci5GSVJTVF9EQVlfT0ZfV0VFSylyZXR1cm4gdGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLGkpO2NvbnN0IG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGE9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLHIuTEFTVF9EQVlfT0ZfV0VFSyk7Zm9yKGxldCBlPXMrMTtlPG87ZSsrKXthKz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLndlZWtFbmRzQ291bnQoKX1yZXR1cm4gYSs9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMobyxyLkZJUlNUX0RBWV9PRl9XRUVLLGkpLGF9d2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCkpLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpLndlZWtFbmRzQ291bnQoKX1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4NyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9lbnRyaWVzKWlmKCF0LmdldEVudHJpZXMoKS5saXN0KCkuZXZlcnkoKHQ9PnQuc3RhcnQoKSVlPT0wJiZ0Lmxlbmd0aCgpJWU9PTApKSlyZXR1cm4hMTtyZXR1cm4hMH1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4N1NlY29uZHMoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZW50cmllcylpZighdC5nZXRFbnRyaWVzKCkubGlzdCgpLmV2ZXJ5KCh0PT42MCp0LnN0YXJ0KCklZT09MCYmNjAqdC5sZW5ndGgoKSVlPT0wKSkpcmV0dXJuITE7cmV0dXJuITB9aW5kZXhPZlNlc3Npb24oZSx0LHMsbz1oKXsoMCxuLmFzc2VydCkodD49ci5TVU5EQVkmJnQ8PXIuU0FUVVJEQVkpLCgwLG4uYXNzZXJ0KShzPj0wJiZzPHIubWludXRlc1BlckRheSk7Y29uc3QgZD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLGY9ZC5saXN0KCk7bGV0IHk9KDAsaS5sb3dlcmJvdW5kKShmLG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQscywwKSxvKTtpZih5PGYubGVuZ3RoKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGUseSxbLi4uZl0pO2xldCBjPWUrMSxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyk7aWYoMCE9PV8ubGlzdCgpLmxlbmd0aCl7Y29uc3QgZT03LXQrXy5maXJzdERheU9mV2VlaygpLTE7aWYocz0tKHIubWludXRlc1BlckRheS1zK2Uqci5taW51dGVzUGVyRGF5KSx5PSgwLGkubG93ZXJib3VuZCkoXy5saXN0KCksbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkoXy5maXJzdERheU9mV2VlaygpLHMsMCksbykseTxfLmxpc3QoKS5sZW5ndGgpcmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoYyx5LFsuLi5fLmxpc3QoKV0pfWZvcig7OylpZihjKysscy09ci5taW51dGVzUGVyV2VlayxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyksMCE9PV8ubGlzdCgpLmxlbmd0aCYmKHk9KDAsaS5sb3dlcmJvdW5kKShfLmxpc3QoKSxuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeShkLmZpcnN0RGF5T2ZXZWVrKCkscywwKSxvKSwhKHk+PV8ubGlzdCgpLmxlbmd0aCkpKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGMseSxbLi4uXy5saXN0KCldKX0KZmluZFNlc3Npb24oZSx0LHMsbj0wLHI9aCl7Y29uc3QgaT10aGlzLmluZGV4T2ZTZXNzaW9uKGUsdCxzLHIpLG89aS5lbnRyaWVzO2xldCBkPWkuZW50cnlJbmRleDtpZigwIT09bil7Y29uc3QgZT1vW2RdLmRheU9mV2VlaygpLHQ9bj4wPzE6LTE7Zm9yKDs7KXtjb25zdCBzPWQrdDtpZihzPDB8fHM+PW8ubGVuZ3RofHxvW3NdLmRheU9mV2VlaygpIT09ZSlicmVhaztkPXN9fXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGkud2Vla0luZGV4LGQsbyl9Z2V0V2Vla0luZGV4KGUpe3JldHVybiB0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnM/Zy5fZ2V0V2Vla0luZGV4SW1wbChlKTowfWNvcnJlY3RUcmFkaW5nRGF5KGUpe2NvbnN0IHQ9dGhpcy5fY29ycmVjdFRyYWRpbmdEYXkodGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLCgwLHIuZ2V0X21pbnV0ZXNfd2l0aF9ob3VycykoZSkpLHM9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5hZGRfZGF0ZSkocyx0KSxzfWFsaWduVG9TZXNzaW9uU3RhcnQoZSx0PTApe2NvbnN0IHM9KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLG49KDAsci5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShlKSxpPXRoaXMuZ2V0V2Vla0luZGV4KGUpLG89dGhpcy5maW5kU2Vzc2lvbihpLHMsbix0KSxhPW8uZ2V0RW50cnkoKSxkPWEuZGF5T2ZXZWVrKCktcys3Kk1hdGgudHJ1bmMoby53ZWVrSW5kZXgtaSk7MCE9PWQmJigwLHIuYWRkX2RhdGUpKGUsZCk7Y29uc3QgaD1hLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoaC82MCksaCU2MCwwLDApLGEubGVuZ3RoKCl9YWxpZ25Ub0VudHJ5U3RhcnQoZSx0PTApe3JldHVybiB0aGlzLl9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxoKX1hbGlnblRvRW50cnlTdGFydEV4dGVuZGVkKGUsdD0wKXtyZXR1cm4gdGhpcy5fZG9BbGlnblRvRW50cnlTdGFydChlLHQsZil9YnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0KXtyZXR1cm4gdGhpcy5fYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXModGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLHQpfWNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKHRoaXMuZ2V0V2Vla0luZGV4KGUpLCgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSx0KX1hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChlLHQpe3JldHVybiB0aGlzLl9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQsdGhpcy5fZW50cnlTZXNzaW9uU3RhcnQuYmluZCh0aGlzKSl9YWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKGUsdCl7cmV0dXJuIHRoaXMuX2FsaWduVG9OZWFyZXN0U2Vzc2lvblZhbHVlKGUsdCx0aGlzLl9lbnRyeVNlc3Npb25FbmQuYmluZCh0aGlzKSl9Ym9yZGVyc09mRGFpbHlCYXIoZSl7Y29uc3QgdD10aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPXQuc2xpY2UoKTtzLnNvcnQoYS5jb21wYXJlU2Vzc2lvbkVudHJpZXMpO2NvbnN0IG49dGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSksaT1zW3MubGVuZ3RoLTFdLG89NjAqKGkuc3RhcnRPZmZzZXQoKStpLmxlbmd0aCgpKS0xLGQ9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykoZCxvKSx7ZnJvbTpuLHRvOmR9fWxlZnRCb3JkZXJPZkRhaWx5QmFyKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0RW50cmllc0ZvckRheShlKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcz10LnNsaWNlKCk7cmV0dXJuIHMuc29ydChhLmNvbXBhcmVTZXNzaW9uRW50cmllcyksdGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSl9Y2hlY2tTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoZWNrRWFjaEhpc3RvcnlTZXNzaW9uKCkmJnRoaXMuX2NoZWNrU3BlY2lhbEVudHJpZXMoKSYmdGhpcy5fY2hlY2tUb29NYW55Q29ycmVjdGlvbnNPbldlZWsoKX1pblNlc3Npb24oZSl7ZT1uZXcgRGF0ZSgxZTMqTWF0aC5mbG9vcihlLmdldFRpbWUoKS8xZTMpKTtjb25zdCB0PXRoaXMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQoZSwtMSkscz10aGlzLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LDEpO3JldHVybiEoZS5nZXRUaW1lKCk+cy5nZXRUaW1lKCkpfWhhc1dlZWtFbmRzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZW50cmllcylpZigwIT09ZS5nZXRFbnRyaWVzKCkud2Vla0VuZHNDb3VudCgpKXJldHVybiEwO3JldHVybiExfWdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyhlKXtsZXQgdD10aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2guZ2V0KGUpO3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLl9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSksdGhpcy5feWVhclRvQ2FsY3VsYXRlZEFkZGVkV2Vla0luZGljZXNIYXNoLnNldChlLHQpKSx0fV9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSxpPSgwLHIuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoZSksbz10aGlzLmdldFdlZWtJbmRleChlKSxhPXRoaXMuZmluZFNlc3Npb24obyxuLGksdCxzKSxkPWEuZ2V0RW50cnkoKSxoPWQuZGF5T2ZXZWVrKCktbis3Kk1hdGgudHJ1bmMoYS53ZWVrSW5kZXgtbyk7MCE9PWgmJigwLHIuYWRkX2RhdGUpKGUsaCk7Y29uc3QgZj1kLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoZi82MCksZiU2MCwwLDApLHtsZW5ndGg6ZC5sZW5ndGgoKSxlbnRyeTpkfX1fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCl7Y29uc3QgZT1uZXcgTWFwLHQ9bmV3IE1hcDtsZXQgcz1udWxsO3RoaXMuX2VudHJpZXMubGVuZ3RoPjEmJihzPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLl9lbnRyaWVzLmxlbmd0aC0xfSwoKCk9PjApKSk7bGV0IHI9MDtmb3IobGV0IGk9MDtpPHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7aSsrKXtjb25zdCBvPXRoaXMuX2VudHJpZXNbaSsxXSxhPSgwLApuLmVuc3VyZU5vdE51bGwpKG8uZ2V0U3RhcnREYXkoKSk7cj1nLl9nZXRXZWVrSW5kZXhJbXBsKGEpLGUuc2V0KHIsaSsxKSx0aGlzLl9hZGRUb1llYXJIYXNoKHQsYSxyKSx0aGlzLl9lbnRyaWVzSGFzaC5zZXQocixuZXcgdShudWxsKSksKDAsbi5lbnN1cmVOb3ROdWxsKShzKVtpXT1yfXJldHVybntib3JkZXJXZWVrc0luZGljZXNIYXNoOmUseWVhclRvV2Vla3NJbmRpY2VzSGFzaDp0LHN0YXJ0UHJlc2VudFNlc3Npb25XZWVrSW5kZXg6cix3ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrOnN9fV9hZGRUb1llYXJIYXNoKGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X3llYXIpKHQpO2xldCBpPWUuZ2V0KG4pO3ZvaWQgMD09PWkmJihpPVtdLGUuc2V0KG4saSkpLGkucHVzaChzKX1fZ2V0SGlzdG9yeUFuZEluZGV4Rm9yV2VlayhlKXtpZih0aGlzLl9wcmVzZW50U3RhcnRXZWVrSW5kZXg8PWUpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk7Y29uc3QgdD10aGlzLl9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpO3JldHVybiB0aGlzLl9lbnRyaWVzW3RdfV9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpe2xldCB0PTAscz10aGlzLl9lbnRyaWVzLmxlbmd0aC0xLHI9TWF0aC5mbG9vcigodCtzKS8yKTtmb3IoKDAsbi5hc3NlcnQpKG51bGwhPT10aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrKTs7KXtpZih0aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrW3JdPj1lKXtpZihzPXItMSxzPHQpcmV0dXJuIHJ9ZWxzZSBpZih0PXIrMSxzPHQpcmV0dXJuIHIrMTtyPU1hdGguZmxvb3IoKHQrcykvMil9fV9zZWxlY3RIb2xpZGF5cyhlLHQpe2NvbnN0IHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUpKSxuPXRoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyh0KSk7cmV0dXJuIHRoaXMuX3NvcnRlZEhvbGlkYXlzLnNsaWNlKHMsbil9X2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoZSl7cmV0dXJuKDAsaS5sb3dlcmJvdW5kKSh0aGlzLl9zb3J0ZWRIb2xpZGF5cyxlLCgoZSx0KT0+ZS5rZXk8dCkpfV9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoZSl7Y29uc3QgdD10aGlzLl9lbnRyaWVzW2UtMV0scz10aGlzLl9lbnRyaWVzW2VdLGk9bmV3IE1hcCxvPVtdLGg9KDAsci5nZXRfZGF5X29mX3dlZWspKCgwLG4uZW5zdXJlTm90TnVsbCkocy5nZXRTdGFydERheSgpKSk7Zm9yKGxldCBlPTA7ZTxkLndvcmtpbmdEYXlzQW5kV2Vla0VuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1kLndvcmtpbmdEYXlzQW5kV2Vla0VuZHNbZV07aWYobjxoKXtjb25zdCBlPXQuZ2V0RW50cmllcygpLmVudHJpZXNCeURheSgpLmdldChuKTt2b2lkIDAhPT1lJiYoby5wdXNoKC4uLmUpLGkuc2V0KG4sZSkpfWVsc2V7Y29uc3QgZT1zLmdldEVudHJpZXMoKS5lbnRyaWVzQnlEYXkoKS5nZXQobik7dm9pZCAwIT09ZSYmKG8ucHVzaCguLi5lKSxpLnNldChuLGUpKX19cmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMobyxpLHMuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCksMCl9X2hvbGlkYXlzRnJvbVllYXJTdGFydChlKXtpZighdGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zKXJldHVybiAwOygwLG4uYXNzZXJ0KSghdGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXMpLHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUuZmlyc3REYXlPZlllYXIoKSkpO3JldHVybiB0W3RoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyhlKSldLXRbc119X2J1aWxkSG9saWRheUNvdW50UHJlZml4U3Vtcygpe2NvbnN0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCksdD1uZXcgQXJyYXkodGhpcy5fc29ydGVkSG9saWRheXMubGVuZ3RoKzEpO3RbMF09MDtmb3IobGV0IHM9MDtzPHRoaXMuX3NvcnRlZEhvbGlkYXlzLmxlbmd0aDtzKyspe2NvbnN0IG49dGhpcy5fc29ydGVkSG9saWRheXNbc10scj0wPT09bi5zZXNzaW9ucy5sZW5ndGg7bGV0IGk9MDtpPWUuaXNXZWVrRW5kKG4uZGF5LmdldERheU9mV2VlaygpKT9yPzA6LTE6cj8xOjAsdFtzKzFdPXRbc10raX1yZXR1cm4gdH1fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMoZSx0LHMpe2xldCBuPTA7Y29uc3Qgcj10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXM7ZSsrKXIuZW50cmllc0J5RGF5KCkuaGFzKGUpfHxuKys7cmV0dXJuIG59X3dlZWtJbmRleFRvTG9jYWxEYXRlVGltZShlKXtjb25zdCB0PU1hdGguZmxvb3IoODY0MDAqZSo3Kzg2NDAwLTYyMTY3MjE5MjAwKSxzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShjLDFlMyp0KTtyZXR1cm4oMCxyLnNldF9obXMpKHMsMCwwLDAsMCksc31fY29ycmVjdFRyYWRpbmdEYXkoZSx0LHMpe2NvbnN0IG49dGhpcy5maW5kU2Vzc2lvbihlLHQscywwKTtyZXR1cm4gbi5nZXRFbnRyeSgpLmRheU9mV2VlaygpLXQrNypNYXRoLnRydW5jKG4ud2Vla0luZGV4LWUpfV9lbnRyeVNlc3Npb25WYWx1ZShlLHQscyxuKXt0PSgwLHIuY2xvbmUpKHQpO2xldCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtjb25zdCBvPWUuZ2V0RW50cnkoKTtsZXQgYT1vLmRheU9mV2VlaygpLW8uc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpO2NvbnN0IGQ9dGhpcy5nZXRXZWVrSW5kZXgodCk7bGV0IGg9TWF0aC50cnVuYyhlLndlZWtJbmRleC1kKSxmPSExO2lmKGE8ci5TVU5EQVkmJihoPD0wP2Y9ITA6aC0tLGErPTcpLChoPjAmJnM+PTB8fGg8MCYmczwwKSYmKDAsci5hZGRfZGF0ZSkodCw3KmgpLCFvLmNvbnRhaW5zKHQpKXtsZXQgZT1hLWk7ZiYmczwwJiYoZT0tKDctYStpKSksKDAsci5hZGRfZGF0ZSkodCxlKSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KX1pZihvLmlzT3Zlcm5pZ2h0KCkpe2NvbnN0IGU9by5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCkscz0oaS0oby5kYXlPZldlZWsoKS1lKSs3KSU3OzAhPT1zJiYoMCxyLmFkZF9kYXRlKSh0LC1zKX1jb25zdCB5PW4obyk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykodCx5KSx0fQpfYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0LHMpe2xldCBuPTAsaT0wO2Zvcig7aTxzOyl7Y29uc3Qgbz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXIuU0FUVVJEQVk7ZSsrKWlmKG4rKyx2b2lkIDAhPT1vLmVudHJpZXNCeURheSgpLmdldChlKSYmaSsrLGk+PXMpcmV0dXJuIG47ZSsrLHQ9ci5TVU5EQVl9cmV0dXJuIG59X2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCxzKXtsZXQgbj0wLGk9MDtmb3IoO248czspe2NvbnN0IG89dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKTtmb3IobGV0IGU9dDtlPD1yLlNBVFVSREFZO2UrKylpZihuKyssdm9pZCAwIT09by5lbnRyaWVzQnlEYXkoKS5nZXQoZSkmJmkrKyxuPj1zKXJldHVybiBpO2UrKyx0PXIuU1VOREFZfXJldHVybiBpfV9lbnRyeVNlc3Npb25TdGFydChlLHQscyl7cmV0dXJuIHRoaXMuX2VudHJ5U2Vzc2lvblZhbHVlKGUsdCxzLChlPT42MCplLnN0YXJ0KCkpKX1fZW50cnlTZXNzaW9uRW5kKGUsdCxzKXtyZXR1cm4gdGhpcy5fZW50cnlTZXNzaW9uVmFsdWUoZSx0LHMsKGU9PjYwKihlLnN0YXJ0KCkrZS5sZW5ndGgoKSktMSkpfV9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQscyl7Y29uc3Qgbj0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSksaT0oMCxyLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGQ9dGhpcy5maW5kU2Vzc2lvbihvLG4saSk7aWYoMT09PXQpcmV0dXJuIHMoZCxlLHQpO2NvbnN0IGg9ZC5nZXRFbnRyeSgpLGY9aC5jb250YWlucyhlKSx5PW89PT1kLndlZWtJbmRleCxjPWguc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpLWguZGF5T2ZXZWVrKCk+PTA7aWYoZiYmKHl8fGMpKXJldHVybiBzKGQsZSx0KTtsZXQgXz1kLmVudHJ5SW5kZXgtMTtpZihfPDApe2xldCBlPWQud2Vla0luZGV4LHQ9ZC5lbnRyaWVzO2lmKDA9PT1lKWUtLSxfKz10Lmxlbmd0aDtlbHNlIGZvcig7XzwwOyllLS0sdD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLmxpc3QoKSxfKz10Lmxlbmd0aDtkPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoZSxfLHQpfWVsc2UgZD1uZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGQud2Vla0luZGV4LF8sZC5lbnRyaWVzKTtyZXR1cm4gcyhkLGUsdCl9X2dldEVudHJpZXNGb3JEYXkoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKHRoaXMuZ2V0V2Vla0luZGV4KGUpKS5lbnRyaWVzQnlEYXkoKS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czpbXX1fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsdCl7bGV0IHM9dC5zdGFydE9mZnNldCgpO2NvbnN0IG49LU1hdGgudHJ1bmMoKHMtMTQzOSkvMTQ0MCk7cys9MTQ0MCpuO2NvbnN0IGk9KDAsci5nZXRfY2FsKShjLCgwLHIuZ2V0X3llYXIpKGUpLCgwLHIuZ2V0X21vbnRoKShlKSwoMCxyLmdldF9kYXlfb2ZfbW9udGgpKGUpLE1hdGgudHJ1bmMocy82MCkscyU2MCwwKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLC1uKSxpfV9jaGVja0VhY2hIaXN0b3J5U2Vzc2lvbigpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2VudHJpZXMpe2NvbnN0IHQ9ZS5nZXRFbnRyaWVzKCkubGlzdCgpO2lmKCF0aGlzLl9jaGVja0VudHJpZXNGb3JJbnRlcnNlY3Rpb25zKHQsdCx0KSlyZXR1cm4hMX1yZXR1cm4hMH1fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhlLHQscyl7Y29uc3Qgbj10aGlzLl9idWlsZFRlc3RFbnRyaWVzKGUsdCxzKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoLTE7ZSsrKWZvcihsZXQgdD1lKzE7dDxuLmxlbmd0aDt0KyspaWYoMD09PXkobltlXSxuW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1fYnVpbGRUZXN0RW50cmllcyhlLHQscyl7Y29uc3Qgbj1bXTtmb3IoY29uc3QgdCBvZiBlKW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheSh0LHQuZGF5T2ZXZWVrKCkpKTtmb3IoY29uc3QgZSBvZiB0KW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheShlLGUuZGF5T2ZXZWVrKCkrNykpO2Zvcihjb25zdCBlIG9mIHMpbi5wdXNoKGcuX2Nsb25lRW50cnlXaXRoRGF5KGUsZS5kYXlPZldlZWsoKSsxNCkpO3JldHVybiBufV9jaGVja1NwZWNpYWxFbnRyaWVzKCl7Zm9yKGNvbnN0W2Vdb2YgdGhpcy5fZW50cmllc0hhc2gpe2NvbnN0IHQ9dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKS5saXN0KCkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUtMSkubGlzdCgpLG49dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKzEpLmxpc3QoKTtpZighdGhpcy5fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhzLHQsbikpcmV0dXJuITF9cmV0dXJuITB9X2NoZWNrVG9vTWFueUNvcnJlY3Rpb25zT25XZWVrKCl7aWYodGhpcy5fZW50cmllcy5sZW5ndGg8MilyZXR1cm4hMDtmb3IobGV0IGU9MDtlPHRoaXMuX2VudHJpZXMubGVuZ3RoLTI7ZSsrKXtjb25zdCB0PXRoaXMuX2VudHJpZXNbZV0scz10aGlzLl9lbnRyaWVzW2UrMV07aWYodGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKSh0LmdldFNwZWNFbmREYXkoKSkpPT09dGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKShzLmdldFNwZWNFbmREYXkoKSkpKXJldHVybiExfXJldHVybiEwfV9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSl7Y29uc3QgdD1bXSxzPXRoaXMuX3llYXJUb1dlZWtzSW5kaWNlc0hhc2guZ2V0KGUpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHQ7Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3Qgcz0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KGUpKSxpPXRoaXMuX2VudHJpZXNbc10sbz10aGlzLl9lbnRyaWVzW3MtMV07bGV0IGE9aS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1vLmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpO2Zvcig7YT4wOyl7Y29uc3Qgbz0oMCxyLmNsb25lKSgoMCxuLmVuc3VyZU5vdE51bGwpKGkuZ2V0U3RhcnREYXkoKSkpO2lmKCgwLHIuYWRkX2RhdGUpKG8sLWEpLCF0aGlzLmlzQ2FsV2Vla0VuZChvKSl7Y29uc3Qgbj17ZW50cnlJbmRleDpzLAp3ZWVrSW5kZXg6ZX07dC5wdXNoKG4pO2JyZWFrfWEtLX19cmV0dXJuIHR9c3RhdGljIF9jbG9uZUVudHJ5V2l0aERheShlLHQpe2lmKGUuaXNFeHRlbmRlZCgpKXtjb25zdCBzPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQsZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpO3JldHVybiBuZXcgYS5FeHRlbmRlZEVudHJ5RGVjb3JhdG9yKHMsZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZS5leHRlbmRlZEVuZE9mZnNldCgpKX1yZXR1cm4gbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkodCxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSl9c3RhdGljIF9nZXRXZWVrSW5kZXhJbXBsKGUpe2NvbnN0IHQ9KDAsci5nZXRfY2FsX3V0YykoKDAsci5nZXRfeWVhcikoZSksKDAsci5nZXRfbW9udGgpKGUpLDEpOygwLHIuYWRkX2RhdGUpKHQsKDAsci5nZXRfZGF5X29mX21vbnRoKShlKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpO2NvbnN0IHM9dC5nZXRUaW1lKCkvMWUzO3JldHVybigwLG4uYXNzZXJ0KSgocys2MjE2NzIxOTIwMCklODY0MDA9PTApLE1hdGgudHJ1bmMoKHMrNjIxNjcyMTkyMDApLzg2NDAwLzcpfX19LDkwMjg0MihlLHQscyl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcihlLDIpfWZ1bmN0aW9uIHIoZSx0PTIpe2NvbnN0IHM9ZS50b1N0cmluZygpO3JldHVybiIwIi5yZXBlYXQoTWF0aC5tYXgoMCx0LXMubGVuZ3RoKSkrc31zLmQodCx7YWRkTGVhZGluZ1plcm86KCk9Pm4sYWRkTGVhZGluZ1plcm9zOigpPT5yfSl9fV0pOw=="}},"time_used":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.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/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.936Z","timestamp":1785136900936,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39070.55cbc7a1da963b3829b3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 8a6aa811bb27a957af49a23322c86b35\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20,"size_decoded":804,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"8c361f5f3e81eca6f243f991934acfb8","sha1":"cca2cc0145571af645e93a0eea492681a68d4db1","sha256":"b7db039e8731af6abd4fe1cad1c082f9a54cac9bfae4de52cac6cbb64431ff06","sha512":"94498523c2221fd084df6e33d95e80c4f0dcc1054ff64a84c7c5309491e66301e34045b6df7d5247854e2893bf8e3fd6ca8b22f2e40daebcad83853dec330ad8","ssdeep":"","tlshash":"757000020028200280800800222000000003023a2a880000a80080200802aa08a0a00a","first_seen":"2026-01-06T10:31:31.715579Z","last_seen":"2026-08-10T08:00:01.047815Z","times_seen":8023,"resource_available":false,"data":"OmZvY3Vze291dGxpbmU6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/78404.b5ecd6dc65f13def5eab.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.324Z","timestamp":1785136901324,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/78404.b5ecd6dc65f13def5eab.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-192\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 538e1a7334371b93f843ac695f9141f0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":402,"size_decoded":972,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (402), with no line terminators","md5":"1adcd7be7207d17f717ccc6eadb15c6d","sha1":"7c83ca692ff4bc9fc3a86f1a092266f0d48d8e77","sha256":"eea22714fdf62b6e84e4c6bf541cde06dc649c42a4e8ef4e618ba26446fd56fc","sha512":"dbe0864fd7c99e3526d69cd4162c10d36bc06090a2a4e50519e98b968eb75f82038172ebce2c56e9ca927f0ee45b4e6764a6c55b4bce29f953039423e1ea61a5","ssdeep":"","tlshash":"11e022e3c104147eb52fad5a46a360507391d8bd6529eff92183bafc9aca4e13233c56","first_seen":"2026-07-22T16:00:00.400221Z","last_seen":"2026-07-28T06:17:53.468765Z","times_seen":113,"resource_available":false,"data":"LndyYXBwZXIteWZOYmd0Z057YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47d2lkdGg6MTAwJX1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7LmJ1dHRvbnMteWZOYmd0Z057cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9fS5jb2xvclNlbGVjdEJ1dHRvbi15Zk5iZ3RnTntwYWRkaW5nOjZweH0uY29sb3JTZWxlY3RCdXR0b24teWZOYmd0Z046Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDotNnB4fUBtZWRpYSAobWF4LXdpZHRoOjQ0MHB4KXsuY29sb3JTZWxlY3RCdXR0b24teWZOYmd0Z057cGFkZGluZzo4cHh9LmNvbG9yU2VsZWN0QnV0dG9uLXlmTmJndGdOOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6LThweH19"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89204.f6418fba73d397b29641.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.441Z","timestamp":1785136901441,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89204.f6418fba73d397b29641.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b78-142\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a448999cbfe869e414d2b1030628ffa9\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":322,"size_decoded":1004,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (322), with no line terminators","md5":"563945a9dc3f312146a5c158aa6e6ee9","sha1":"78cb43846e5dba44427d564e9102bc8b42099d12","sha256":"3eb3c2fc923c9e7a63bb29f65516f6a81786dbac6ef260ef42320d8dd906a9e0","sha512":"affae07e66af435a2825898cc8a27eee49f9e507ab4e765b0af5a96af6b4e80cfc8cedec4bd0c8b89033e405e0630ae24042553f017bb1f29360d57fbd1aa04d","ssdeep":"","tlshash":"5de07d062634443ec48b4a39bec34337c874c641dee27a9ba113b10611b223507f530f","first_seen":"2026-04-10T04:33:31.665375Z","last_seen":"2026-08-04T19:37:52.830456Z","times_seen":729,"resource_available":false,"data":"Lmljb24tV0IyeTBFblB7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjI3NSl9Lmljb24tV0IyeTBFblAgc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDpjdXJyZW50Q29sb3I7aGVpZ2h0OjRweDt3aWR0aDo4cHh9Lmljb24tV0IyeTBFblAuZHJvcHBlZC1XQjJ5MEVuUHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Lmljb24tV0IyeTBFblAuZHJvcHBlZC1XQjJ5MEVuUDpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15634.9ff500f40c3ec2496a9d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.462Z","timestamp":1785136901462,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15634.9ff500f40c3ec2496a9d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-7a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2c48b69e9b18c9e7d12ed730f1439b64\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1958,"size_decoded":1433,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1958), with no line terminators","md5":"1fe59f1cabe116d4c360e360391910cf","sha1":"6005a9d280a7661b640624f5309d0059e00f57a4","sha256":"4cac2a96f86db5b5ea7cc505de00925b8dff9a9b88157d33fa0832d728ab2d06","sha512":"4ce34a33edf60063dc9b5a69446b4f0f5b1870f1fa2980b7306e02ea292d73a9f2773611581f28e96d6bbf7d8c35367b6e71c21cc38b5073b921728dc3ced4b9","ssdeep":"","tlshash":"ef41545553f6b277e6b3453c6eaeb6944fb4403fab31168cb990e13847ef5500344d40","first_seen":"2026-07-22T16:00:00.46556Z","last_seen":"2026-08-10T05:01:44.405323Z","times_seen":540,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdzFiMzp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKX0uc3dpdGNoZXItbDNEdEtMc0x7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleDowIDAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ei1pbmRleDowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uaW5wdXQtbDNEdEtMc0x7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5pbnB1dC1sM0R0S0xzTDpjaGVja2VkLC5pbnB1dC1sM0R0S0xzTDpkaXNhYmxlZCwuaW5wdXQtbDNEdEtMc0w6Zm9jdXN7Ym9yZGVyOjA7b3V0bGluZTowfS5pbnB1dC1sM0R0S0xzTDpmb2N1cysudGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmlucHV0LWwzRHRLTHNMOmZvY3VzLXZpc2libGUrLnRodW1iV3JhcHBlci1sM0R0S0xzTDphZnRlcntkaXNwbGF5OmJsb2NrfS5pbnB1dC1sM0R0S0xzTDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpKy50aHVtYldyYXBwZXItbDNEdEtMc0w6YWZ0ZXJ7ZGlzcGxheTpub25lfS50aHVtYldyYXBwZXItbDNEdEtMc0x7ZGlzcGxheTpibG9jaztoZWlnaHQ6Zml0LWNvbnRlbnQ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Zml0LWNvbnRlbnR9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1c3tvdXRsaW5lOm5vbmV9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmhvdmVyKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmFjdGl2ZSsudGh1bWJXcmFwcGVyLWwzRHRLTHNMey0tdWktbGliLXN3aXRjaFZpZXctY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6aG92ZXIrLnRodW1iV3JhcHBlci1sM0R0S0xzTHstLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6YWN0aXZlKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/45277.ec6e36193d139c5c5f7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.387Z","timestamp":1785136902387,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/45277.ec6e36193d139c5c5f7b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:42 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-2b88\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bed06ab9dd9ad0ac101a9702dfc596b0\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":11144,"size_decoded":5155,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"e18907ad974965570fff5fe138910b3e","sha1":"42a83b0c792ca4963052a4c61df2709d9d009ff6","sha256":"ec78fef0e90dea389a0c9b780256ce3c56ad02e3dc55e8821641c312af8f6f82","sha512":"e5ec15969c1036dbd81bb3f2cc8eee0c72ca47617098bacff7c655a4f45e4ecd8c7910ba484be4a0f780329316de5b0b67c8cbe7bb41d5f259e6dd3deeb1ddba","ssdeep":"192:j/f5hxzIhzOTre4LiZa6CWwvIe1ySWu3XXfBIrbgouzQBFivV+GRe2t6RufLKPXZ:j/f5Lz6zOTrMZcW62Sd3nfBIrbVu8BF1","tlshash":"7132c5a5328240ee53e617d53835464b9314bd5b39cb9ca8b16c58cf286e88e36fd738","first_seen":"2026-07-17T03:30:51.165572Z","last_seen":"2026-07-28T06:17:53.40961Z","times_seen":111,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNDUyNzddLHsxMDAodCxlLG4pe24uZChlLHtjdWJpY0JlemllckhpdFRlc3Q6KCk9PnIsY3ViaWNCZXppZXJQb2ludDooKT0+bCxleHRlbmRRdWFkcm9CZXppZXI6KCk9PmgscXVhZHJvQmV6aWVySGl0VGVzdDooKT0+c30pO3ZhciBpLGE9big3MDA3NCksbz1uKDY0MDc0NCk7ZnVuY3Rpb24gcyh0LGUsbixpLG8pe2NvbnN0IHM9bi5zdWJ0cmFjdCh0KS5sZW5ndGgoKStuLnN1YnRyYWN0KGUpLmxlbmd0aCgpLGw9TWF0aC5tYXgoMy9zLC4wMik7bGV0IHI7Zm9yKGxldCBzPTA7O3MrPWwpe3M+MSYmKHM9MSk7Y29uc3QgbD10LnNjYWxlZCgoMS1zKSooMS1zKSksaD1uLnNjYWxlZCgyKnMqKDEtcykpLGQ9ZS5zY2FsZWQocypzKSx1PWwuYWRkKGgpLmFkZChkKTtpZih2b2lkIDAhPT1yKXtpZigoMCxhLmRpc3RhbmNlVG9TZWdtZW50KSh1LHIsaSkuZGlzdGFuY2U8bylyZXR1cm4hMH1lbHNlIGlmKHUuc3VidHJhY3QoaSkubGVuZ3RoKCk8bylyZXR1cm4hMDtpZihyPXUsMT09PXMpYnJlYWt9cmV0dXJuITF9ZnVuY3Rpb24gbCh0LGUsbixpLGEpe2E9KDAsby5jbGFtcCkoYSwwLDEpO2NvbnN0IHM9dC5zY2FsZWQoKDEtYSkqKDEtYSkqKDEtYSkpLGw9ZS5zY2FsZWQoMyooMS1hKSooMS1hKSphKSxyPW4uc2NhbGVkKDMqKDEtYSkqYSphKSxoPWkuc2NhbGVkKGEqYSphKTtyZXR1cm4gcy5hZGQobCkuYWRkKHIpLmFkZChoKX1mdW5jdGlvbiByKHQsZSxuLGksbyxzKXtjb25zdCByPWUuc3VidHJhY3QodCkubGVuZ3RoKCkrbi5zdWJ0cmFjdChlKS5sZW5ndGgoKStpLnN1YnRyYWN0KG4pLmxlbmd0aCgpLGg9TWF0aC5tYXgoMy9yLC4wMik7bGV0IGQ7Zm9yKGxldCByPTA7O3IrPWgpe2NvbnN0IGg9bCh0LGUsbixpLHIpO2lmKHZvaWQgMCE9PWQpe2lmKCgwLGEuZGlzdGFuY2VUb1NlZ21lbnQpKGgsZCxvKS5kaXN0YW5jZTxzKXJldHVybiEwfWVsc2UgaWYoaC5zdWJ0cmFjdChvKS5sZW5ndGgoKTxzKXJldHVybiEwO2lmKGQ9aCxyPj0xKWJyZWFrfXJldHVybiExfWZ1bmN0aW9uIGgodCxlLG4saSxhKXtjb25zdCBvPW4uc3VidHJhY3QodCkubGVuZ3RoKCkrbi5zdWJ0cmFjdChlKS5sZW5ndGgoKTtpZighbylyZXR1cm5bXTtjb25zdCBzPWZ1bmN0aW9uKHQsZSxuLGksYSl7Y29uc3Qgbz1bXSxzPWQodC55LGUueSxuLnksMCkuY29uY2F0KGQodC55LGUueSxuLnksYSkpO2ZvcihsZXQgYT0wO2E8cy5sZW5ndGg7YSsrKXtjb25zdCBsPXUodC54LGUueCxuLngsc1thXSk7bD49MCYmbDw9aSYmby5wdXNoKHNbYV0pfWNvbnN0IGw9ZCh0LngsZS54LG4ueCwwKS5jb25jYXQoZCh0LngsZS54LG4ueCxpKSk7Zm9yKGxldCBpPTA7aTxsLmxlbmd0aDtpKyspe2NvbnN0IHM9dSh0LnksZS55LG4ueSxsW2ldKTtzPj0wJiZzPD1hJiZvLnB1c2gobFtpXSl9cmV0dXJuIG99KHQsZSxuLGksYSkuZmlsdGVyKCh0PT50PjEpKS5zb3J0KCgodCxlKT0+dC1lKSk7ZS54Pj0wJiZlLng8PWkmJmUueT49MCYmZS55PD1hJiZzLnVuc2hpZnQoMSk7Y29uc3QgbD0zL28scj1bXTtmb3IobGV0IGk9MDtpPHMubGVuZ3RoLTE7aSs9Mil7bGV0IGE9bCxvPXNbaV0saD1zW2krMV0rYTtjb25zdCBkPVtdO2Zvcig7bzw9aDspe2NvbnN0IGk9dC5zY2FsZWQoKDEtbykqKDEtbykpLHM9bi5zY2FsZWQoMipvKigxLW8pKSxsPWUuc2NhbGVkKG8qbykscj1pLmFkZChzKS5hZGQobCk7aWYoZC5sZW5ndGg+MCl7ZFtkLmxlbmd0aC0xXS5zdWJ0cmFjdChyKS5sZW5ndGgoKTwyJiYoaCs9YSxhKj0yKX1kLnB1c2gociksbys9YX1kLmxlbmd0aD4wJiZyLnB1c2goZCl9cmV0dXJuIHJ9ZnVuY3Rpb24gZCh0LGUsbixpKXtjb25zdCBhPVtdLG89dC0yKm4rZSxzPTIqbi0yKnQsbD10LWk7aWYoTWF0aC5hYnMobyk+MWUtOCl7Y29uc3QgdD1zKnMtNCpvKmw7dD49MCYmKGEucHVzaCgoLXMrTWF0aC5zcXJ0KHQpKS8oMipvKSksYS5wdXNoKCgtcy1NYXRoLnNxcnQodCkpLygyKm8pKSl9ZWxzZSBhLnB1c2goLWwvcyk7cmV0dXJuIGF9ZnVuY3Rpb24gdSh0LGUsbixpKXtyZXR1cm4oMS1pKSooMS1pKSp0KzIqKDEtaSkqaSpuK2kqaSplfSFmdW5jdGlvbih0KXt0W3QuTWF4SGl0VGVzdFNlZ21lbnRzPTUwXT0iTWF4SGl0VGVzdFNlZ21lbnRzIn0oaXx8KGk9e30pKX0sNzE2MDIxKHQsZSxuKXtuLmQoZSx7aW50ZXJzZWN0TGluZVdpdGhWaWV3cG9ydDooKT0+c30pO3ZhciBpPW4oNzM2NTMxKTtmdW5jdGlvbiBhKHQsZSxuKXtyZXR1cm4gdD49ZSYmdDw9bj90Om51bGx9ZnVuY3Rpb24gbyh0LGUsbixpKXtyZXR1cm4gTWF0aC5zaWduKHQueC1lLngpPT09TWF0aC5zaWduKG4ueC1pLngpJiZNYXRoLnNpZ24odC55LWUueSk9PT1NYXRoLnNpZ24obi55LWkueSl9ZnVuY3Rpb24gcyh0LGUsbixzLGwscixoKXtjb25zdCBkPXQueD49MCYmdC54PD1sJiZ0Lnk+PTAmJnQueTw9cix1PWUueD49MCYmZS54PD1sJiZlLnk+PTAmJmUueTw9cjtpZihkJiZ1JiYhbiYmIXMpcmV0dXJuW3QsZV07aWYodC54PDAmJmUueDwwJiYodC54PGUueD8hczohbil8fHQueD5sJiZlLng+bCYmKHQueDxlLng/IW46IXMpfHx0Lnk8MCYmZS55PDAmJih0Lnk8ZS55PyFzOiFuKXx8dC55PnImJmUueT5yJiYodC55PGUueT8hbjohcykpcmV0dXJuIG51bGw7Y29uc3QgYz1bXTtpZih0Lng9PT1lLngpe2lmKHQueDwwfHx0Lng+bClyZXR1cm4gbnVsbDt0Lnk8ZS55P2MucHVzaChuZXcgaS5Qb2ludCh0LngsMD09PWg/MDp0Lnk8MD90LnklaDotKGgtdC55JWgpKSxuZXcgaS5Qb2ludChlLngscikpOmMucHVzaChuZXcgaS5Qb2ludCh0LngsMD09PWg/cjp0Lnk+cj9yKyh0LnktciklaDpyKyhoLShyLXQueSklaCkpLG5ldyBpLlBvaW50KGUueCwwKSl9ZWxzZSBpZih0Lnk9PT1lLnkpe2lmKHQueTwwfHx0Lnk+cilyZXR1cm4gbnVsbAo7dC54PGUueD9jLnB1c2gobmV3IGkuUG9pbnQoMD09PWg/MDp0Lng8MD90LnglaDotKGgtdC54JWgpLHQueSksbmV3IGkuUG9pbnQobCxlLnkpKTpjLnB1c2gobmV3IGkuUG9pbnQoMD09PWg/bDp0Lng+bD9sKyh0LngtbCklaDpsKyhoLShsLXQueCklaCksdC55KSxuZXcgaS5Qb2ludCgwLGUueSkpfWVsc2V7Y29uc3Qgbz0oZS55LXQueSkvKGUueC10LngpLHM9dC55LW8qdC54O2xldCBkPTAsdT0wO2NvbnN0IHg9YShzLDAscik7aWYobnVsbCE9PXgpaWYoaD4wJiYodC54PD0wfHxuJiZ0Lng8ZS54KSl7Y29uc3QgZT10Lng8PTA/TWF0aC5zcXJ0KE1hdGgucG93KDAtdC54LDIpK01hdGgucG93KHgtdC55LDIpKSVoOmgtTWF0aC5zcXJ0KE1hdGgucG93KDAtdC54LDIpK01hdGgucG93KHgtdC55LDIpKSVoO2Q9TWF0aC5jb3MoTWF0aC5hdGFuKG8pKSplLHU9bypkLGMucHVzaChuZXcgaS5Qb2ludCgtZCx4LXUpKX1lbHNlIGMucHVzaChuZXcgaS5Qb2ludCgwLHgpKTtjb25zdCBwPWEobypsK3MsMCxyKTtpZihudWxsIT09cClpZihoPjAmJih0Lng+PWx8fG4mJnQueD5lLngpKXtjb25zdCBlPXQueD49bD9NYXRoLnNxcnQoTWF0aC5wb3codC54LWwsMikrTWF0aC5wb3codC55LXAsMikpJWg6aC1NYXRoLnNxcnQoTWF0aC5wb3codC54LWwsMikrTWF0aC5wb3codC55LXAsMikpJWg7ZD1NYXRoLmNvcyhNYXRoLmF0YW4obykpKmUsdT1vKmQsYy5wdXNoKG5ldyBpLlBvaW50KGwrZCxwK3UpKX1lbHNlIGMucHVzaChuZXcgaS5Qb2ludChsLHApKTtjb25zdCB5PWEoLXMvbywwLGwpO2lmKG51bGwhPT15JiYoMCE9PXl8fDAhPT14KSlpZihoPjAmJih0Lnk8PTB8fG4mJnQueTxlLnkpKXtjb25zdCBlPXQueTw9MD9NYXRoLnNxcnQoTWF0aC5wb3codC54LXksMikrTWF0aC5wb3codC55LTAsMikpJWg6aC1NYXRoLnNxcnQoTWF0aC5wb3codC54LXksMikrTWF0aC5wb3codC55LTAsMikpJWg7ZD1NYXRoLmNvcyhNYXRoLmF0YW4obykpKmUsdT1vKmQsYy5wdXNoKG5ldyBpLlBvaW50KHktTWF0aC5zaWduKG8pKmQsLU1hdGguc2lnbihvKSp1KSl9ZWxzZSBjLnB1c2gobmV3IGkuUG9pbnQoeSwwKSk7Y29uc3QgZj1hKChyLXMpL28sMCxsKTtpZihudWxsIT09ZiYmKDAhPT1mfHxwIT09cikpaWYoaD4wJiYodC55Pj1yfHxuJiZ0Lnk+ZS55KSl7Y29uc3QgZT10Lnk+PXI/TWF0aC5zcXJ0KE1hdGgucG93KHQueC1mLDIpK01hdGgucG93KHQueS1yLDIpKSVoOmgtTWF0aC5zcXJ0KE1hdGgucG93KHQueC1mLDIpK01hdGgucG93KHQueS1yLDIpKSVoO2Q9TWF0aC5jb3MoTWF0aC5hdGFuKG8pKSplLHU9bypkLGMucHVzaChuZXcgaS5Qb2ludChmK01hdGguc2lnbihvKSpkLHIrTWF0aC5zaWduKG8pKnUpKX1lbHNlIGMucHVzaChuZXcgaS5Qb2ludChmLHIpKX1pZihjLmxlbmd0aDwxKXJldHVybiBudWxsO2lmKGMubGVuZ3RoPDImJmMucHVzaChjWzBdKSwhbiYmZCl7cmV0dXJuW3QsbyhjWzBdLGNbMV0sdCxlKT9jWzFdOmNbMF1dfWlmKCFzJiZ1KXtyZXR1cm5bbyhjWzBdLGNbMV0sdCxlKT9jWzBdOmNbMV0sZV19cmV0dXJuIG8oY1swXSxjWzFdLHQsZSk/W2NbMF0sY1sxXV06W2NbMV0sY1swXV19fSw1NzI3OTYodCxlLG4pe24uZChlLHtQYXJhbGxlbENoYW5uZWxSZW5kZXJlcjooKT0+eX0pO3ZhciBpPW4oNzM3MzcxKSxhPW4oNzY4MzA1KSxvPW4oNzM2NTMxKSxzPW4oNzAwNzQpLGw9bigzNTE5MDApLHI9bigyNjA2OSksaD1uKDc2MyksZD1uKDYwNDIxNCksdT1uKDc4NjQzNiksYz1uKDcxNjAyMSkseD1uKDE1MTIxKSxwPW4oOTM0MzA1KTtjbGFzcyB5IGV4dGVuZHMgcC5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5fZGF0YT1udWxsLHRoaXMuX2JhY2tncm91bmRQb2x5Z29uPW51bGwsdGhpcy5fY2xpcHBlZExpbmVzPW5ldyBNYXAsdGhpcy5faGl0dGVzdFJlc3VsdD10fHxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0Lk1vdmVQb2ludCksdGhpcy5fYmFja0hpdHRlc3RSZXN1bHQ9ZXx8bmV3IGguSGl0VGVzdFJlc3VsdChoLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kKX1zZXREYXRhKHQpe3RoaXMuX2RhdGE9dCx0aGlzLl9iYWNrZ3JvdW5kUG9seWdvbj1udWxsLHRoaXMuX2NsaXBwZWRMaW5lcy5jbGVhcigpfWhpdFRlc3QodCxlKXtpZihudWxsPT09dGhpcy5fZGF0YSlyZXR1cm4gbnVsbDtjb25zdHtsaW5lMTpuLGxpbmUyOmksbWlkZGxlTGluZTpvfT10aGlzLl9kYXRhLGw9ZS5tZWRpYVNpemUscj0oMCxkLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmxpbmU7Zm9yKGNvbnN0IGUgb2ZbbixpLG9dKXtpZighZSljb250aW51ZTtjb25zdCBuPXRoaXMuX2dldENsaXBwZWRMaW5lKGUsdGhpcy5fZGF0YSxsKTtpZihuKXtpZigoMCxzLmRpc3RhbmNlVG9TZWdtZW50KShuLnBvaW50c1swXSxuLnBvaW50c1sxXSx0KS5kaXN0YW5jZTw9cilyZXR1cm4gdGhpcy5faGl0dGVzdFJlc3VsdH19aWYodGhpcy5fZGF0YS5oaXR0ZXN0T25CYWNrZ3JvdW5kJiZ0aGlzLl9kYXRhLmZpbGxCYWNrZ3JvdW5kKXtjb25zdCBlPXRoaXMuX2dldEJhY2tncm91bmRQb2x5Z29uKHRoaXMuX2RhdGEsbCk7aWYoZS5sZW5ndGg+MCYmKDAsYS5wb2ludEluUG9seWdvbikodCxlKSlyZXR1cm4gdGhpcy5fYmFja0hpdHRlc3RSZXN1bHR9cmV0dXJuIG51bGx9X2RyYXdJbXBsKHQpe2lmKG51bGw9PT10aGlzLl9kYXRhKXJldHVybjtjb25zdHtsaW5lMTplLGxpbmUyOm4sbWlkZGxlTGluZTppLHNraXBMaW5lczphLHNraXBUb3BMaW5lOm8sZmlsbEJhY2tncm91bmQ6cyxiYWNrQ29sb3I6bH09dGhpcy5fZGF0YSxyPXQuY29udGV4dDtyLmxpbmVDYXA9InJvdW5kIjtjb25zdCBoPXRoaXMuX2RhdGE7aWYocyYmbil7Y29uc3QgZT10aGlzLl9nZXRCYWNrZ3JvdW5kUG9seWdvbih0aGlzLl9kYXRhLHQubWVkaWFTaXplKTtpZihlLmxlbmd0aD4wKXtyLmJlZ2luUGF0aCgpO3tjb25zdCBuPWVbMF0ueCp0Lmhvcml6b250YWxQaXhlbFJhdGlvLGk9ZVswXS55KnQudmVydGljYWxQaXhlbFJhdGlvO3IubW92ZVRvKG4saSl9Zm9yKGxldCBuPTE7bjxlLmxlbmd0aDtuKyspewpjb25zdCBpPWVbbl0ueCp0Lmhvcml6b250YWxQaXhlbFJhdGlvLGE9ZVtuXS55KnQudmVydGljYWxQaXhlbFJhdGlvO3IubGluZVRvKGksYSl9ci5maWxsU3R5bGU9bCxyLmZpbGwoKX19dm9pZCAwIT09aC5leGNsdWRlQm91bmRhcmllcyYmKHIuc2F2ZSgpLCgwLHguYWRkRXhjbHVzaW9uQXJlYSkocix0LGguZXhjbHVkZUJvdW5kYXJpZXMpKSxhfHx0aGlzLl9kcmF3TGluZSh0LGUsdGhpcy5fZGF0YSksYXx8b3x8IW58fHRoaXMuX2RyYXdMaW5lKHQsbix0aGlzLl9kYXRhKSxpJiYhdGhpcy5fZGF0YS5za2lwTGluZXMmJnRoaXMuX2RyYXdMaW5lKHQsaSx0aGlzLl9kYXRhKSx2b2lkIDAhPT1oLmV4Y2x1ZGVCb3VuZGFyaWVzJiZyLnJlc3RvcmUoKX1fZHJhd0xpbmUodCxlLG4pe2NvbnN0IGk9dGhpcy5fZ2V0Q2xpcHBlZExpbmUoZSxuLHQubWVkaWFTaXplKTtpZighaSlyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5zdHJva2VTdHlsZT1pLmNvbG9yLGEubGluZVdpZHRoPWEubGluZVdpZHRoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpLmxpbmVXaWR0aCp0Lmhvcml6b250YWxQaXhlbFJhdGlvKSksYS5saW5lQ2FwPWkubGluZVN0eWxlPT09ci5MSU5FU1RZTEVfU09MSUQ/InJvdW5kIjoiYnV0dCIsKDAsdS5zZXRMaW5lU3R5bGUpKGEsaS5saW5lU3R5bGUpLGEuc3Ryb2tlU3R5bGU9aS5jb2xvcjtjb25zdFtvLHNdPWkucG9pbnRzLGw9by54KnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8saD1vLnkqdC52ZXJ0aWNhbFBpeGVsUmF0aW8sZD1zLngqdC5ob3Jpem9udGFsUGl4ZWxSYXRpbyxjPXMueSp0LnZlcnRpY2FsUGl4ZWxSYXRpbzsoMCx1LmRyYXdQaXhlbFBlcmZlY3RMaW5lKShhLGwsaCxkLGMpfV9nZXRDbGlwcGVkTGluZSh0LGUsbil7bGV0IGE9dGhpcy5fY2xpcHBlZExpbmVzLmdldCh0KTtpZih2b2lkIDA9PT1hKXtjb25zdHtsaW5lV2lkdGg6byxsaW5lU3R5bGU6cyxwb2ludHM6W2wscl19PXQ7bGV0IGg9ITEsZD0hMTtsLnghPT1yLngmJih7ZXh0ZW5kTGVmdDpoLGV4dGVuZFJpZ2h0OmR9PWUpO2NvbnN0IHg9KDAsYy5pbnRlcnNlY3RMaW5lV2l0aFZpZXdwb3J0KShsLHIsaCxkLG4ud2lkdGgsbi5oZWlnaHQsKDAsaS5kZWZhdWx0KSgoMCx1LmNvbXB1dGVEYXNoUGF0dGVybikobyxzKSkpO2E9bnVsbD09eD9udWxsOnsuLi50LHBvaW50czp4fSx0aGlzLl9jbGlwcGVkTGluZXMuc2V0KHQsYSl9cmV0dXJuIGF9X2dldEJhY2tncm91bmRQb2x5Z29uKHQsZSl7cmV0dXJuIHRoaXMuX2JhY2tncm91bmRQb2x5Z29ufHwodGhpcy5fYmFja2dyb3VuZFBvbHlnb249dGhpcy5fZ2V0QmFja2dyb3VuZFBvbHlnb25JbXBsKHQsZSk/P1tdKSx0aGlzLl9iYWNrZ3JvdW5kUG9seWdvbn1fZ2V0QmFja2dyb3VuZFBvbHlnb25JbXBsKHQsZSl7aWYodm9pZCAwPT09dC5saW5lMilyZXR1cm4gbnVsbDtjb25zdFtuLGldPXQubGluZTEucG9pbnRzLFthLGxdPXQubGluZTIucG9pbnRzO2lmKCgwLG8uZXF1YWxQb2ludHMpKG4saSl8fCgwLG8uZXF1YWxQb2ludHMpKGEsbCl8fCgwLHMuZGlzdGFuY2VUb0xpbmUpKG4saSxhKS5kaXN0YW5jZTwxZS02fHwoMCxzLmRpc3RhbmNlVG9MaW5lKShuLGksbCkuZGlzdGFuY2U8MWUtNilyZXR1cm4gbnVsbDtpZihlLndpZHRoPD0wfHxlLmhlaWdodDw9MClyZXR1cm4gbnVsbDtsZXQgcj1bbmV3IG8uUG9pbnQoMCwwKSxuZXcgby5Qb2ludChlLndpZHRoLDApLG5ldyBvLlBvaW50KGUud2lkdGgsZS5oZWlnaHQpLG5ldyBvLlBvaW50KDAsZS5oZWlnaHQpXTtyZXR1cm4gcj1mKHIsbixpLGwpLHQuZXh0ZW5kUmlnaHR8fChyPWYocixpLGwsYSkpLHI9ZihyLGwsYSxuKSx0LmV4dGVuZExlZnR8fChyPWYocixhLG4saSkpLHJ9fWZ1bmN0aW9uIGYodCxlLG4saSl7cmV0dXJuIG51bGwhPT10PygwLGwuaW50ZXJzZWN0UG9seWdvbkFuZEhhbGZwbGFuZSkodCwoMCxvLmhhbGZwbGFuZVRocm91Z2hQb2ludCkoKDAsby5saW5lVGhyb3VnaFBvaW50cykoZSxuKSxpKSk6bnVsbH19LDU0MDg0NSh0LGUsbil7bi5kKGUse1ZlcnRpY2FsTGluZVJlbmRlcmVyOigpPT5yfSk7dmFyIGk9big3NjMpLGE9big3ODY0MzYpLG89big2MDQyMTQpLHM9bigxNTEyMSksbD1uKDkzNDMwNSk7Y2xhc3MgciBleHRlbmRzIGwuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9oaXRUZXN0PW5ldyBpLkhpdFRlc3RSZXN1bHQoaS5IaXRUYXJnZXQuTW92ZVBvaW50KX1zZXREYXRhKHQpe3RoaXMuX2RhdGE9dH1zZXRIaXRUZXN0KHQpe3RoaXMuX2hpdFRlc3Q9dH1oaXRUZXN0KHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHxudWxsPT09dGhpcy5faGl0VGVzdClyZXR1cm4gbnVsbDtjb25zdCBlPSgwLG8uaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkubGluZSxuPU1hdGguYWJzKHQueC10aGlzLl9kYXRhLngpPD1lK3RoaXMuX2RhdGEubGluZXdpZHRoLzIsaT12b2lkIDA9PT10aGlzLl9kYXRhLnRvcHx8dGhpcy5fZGF0YS50b3AtdC55PD1lLGE9dm9pZCAwPT09dGhpcy5fZGF0YS5ib3R0b218fHQueS10aGlzLl9kYXRhLmJvdHRvbTw9ZTtyZXR1cm4gbiYmaSYmYT90aGlzLl9oaXRUZXN0Om51bGx9X2RyYXdJbXBsKHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHx0aGlzLl9kYXRhLmxpbmV3aWR0aDw9MClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOmksbWVkaWFTaXplOm99PXQ7aWYodGhpcy5fZGF0YS54PC10aGlzLl9kYXRhLmxpbmV3aWR0aC8yfHx0aGlzLl9kYXRhLng+by53aWR0aCt0aGlzLl9kYXRhLmxpbmV3aWR0aC8yKXJldHVybjtlLmxpbmVDYXA9ImJ1dHQiLGUuc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixlLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fZGF0YS5saW5ld2lkdGgqbikpLHZvaWQgMCE9PXRoaXMuX2RhdGEubGluZXN0eWxlJiYoMCxhLnNldExpbmVTdHlsZSkoZSx0aGlzLl9kYXRhLmxpbmVzdHlsZSkKO2NvbnN0IGw9dm9pZCAwIT09dGhpcy5fZGF0YS50b3A/TWF0aC5tYXgodGhpcy5fZGF0YS50b3AsMCk6MCxyPXZvaWQgMCE9PXRoaXMuX2RhdGEuYm90dG9tP01hdGgubWluKHRoaXMuX2RhdGEuYm90dG9tLG8uaGVpZ2h0KTpvLmhlaWdodCxoPU1hdGgucm91bmQodGhpcy5fZGF0YS54Km4pLGQ9TWF0aC5mbG9vcihsKmkpLHU9TWF0aC5jZWlsKHIqaSksYz10aGlzLl9kYXRhLmV4Y2x1ZGVCb3VuZGFyaWVzO3ZvaWQgMCE9PWMmJigwLHMuYWRkRXhjbHVzaW9uQXJlYUJ5U2NvcGUpKHQsYyksKDAsYS5kcmF3VmVydGljYWxMaW5lKShlLGgsZCx1KX19fSw3NDIxNDIodCxlLG4pe24uZChlLHtwcmVwYXJlTGluZWFyUmVncmVzc2lvblJlbmRlcmVyc0RhdGE6KCk9Pmh9KTt2YXIgaT1uKDEzODYzOCksYT1uKDczNjUzMSksbz1uKDg4NDI4KSxzPW4oNjYwMTYxKSxsPW4oOTI2MTQ5KSxyPW4oMTY4MjU4KTtmdW5jdGlvbiBoKHQsZSl7Y29uc3Qgbj17bGluZXM6W10scGVhcnNvbnM6bnVsbH07aWYoIWUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4gbjtjb25zdCBoPXQudGltZVNjYWxlKCksZD1lLnByaWNlU2NhbGUoKSx1PXQubWFpblNlcmllcygpLmZpcnN0QmFyKCk7aWYoIWR8fGQuaXNFbXB0eSgpfHxoLmlzRW1wdHkoKXx8IXUpcmV0dXJuIG47Y29uc3QgYz1lLnN0YXJ0SW5kZXgoKSx4PWUuZW5kSW5kZXgoKTtpZihudWxsPT09Y3x8bnVsbD09PXgpcmV0dXJuIG47Y29uc3QgcD1bZS5iYXNlTGluZSgpLGUuZG93bkxpbmUoKSxlLnVwTGluZSgpXSx5PU1hdGgucm91bmQoaC5pbmRleFRvQ29vcmRpbmF0ZShjKSksZj1NYXRoLnJvdW5kKGguaW5kZXhUb0Nvb3JkaW5hdGUoeCkpLGc9ZS5wcm9wZXJ0aWVzKCksXz1bZy5zdHlsZXMuYmFzZUxpbmUsZy5zdHlsZXMuZG93bkxpbmUsZy5zdHlsZXMudXBMaW5lXSx3PXVbNF07Zm9yKGxldCB0PTA7dDxwLmxlbmd0aDt0Kyspe2lmKChfW3RdLmRpc3BsYXkudmFsdWUoKSZyLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSkhPT1yLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSljb250aW51ZTtjb25zdCBlPSgwLGkuZW5zdXJlTm90TnVsbCkocFt0XSkuc3RhcnRQcmljZSxvPSgwLGkuZW5zdXJlTm90TnVsbCkocFt0XSkuZW5kUHJpY2U7aWYodm9pZCAwPT09ZXx8dm9pZCAwPT09byljb250aW51ZTtjb25zdCBsPWQucHJpY2VUb0Nvb3JkaW5hdGUoZSx3KSxoPWQucHJpY2VUb0Nvb3JkaW5hdGUobyx3KSx1PXtwb2ludHM6W25ldyBhLlBvaW50KHksbCksbmV3IGEuUG9pbnQoZixoKV0sY29sb3I6X1t0XS5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDpfW3RdLmxpbmV3aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTpfW3RdLmxpbmVzdHlsZS52YWx1ZSgpLGV4dGVuZGxlZnQ6ITEsZXh0ZW5kcmlnaHQ6Zy5zdHlsZXMuZXh0ZW5kTGluZXMudmFsdWUoKSxsZWZ0ZW5kOnMuTGluZUVuZC5Ob3JtYWwscmlnaHRlbmQ6cy5MaW5lRW5kLk5vcm1hbH07bi5saW5lcy5wdXNoKHUpfWNvbnN0IFA9KDAsaS5lbnN1cmVOb3ROdWxsKShlLmRvd25MaW5lKCkpO2lmKGcuc3R5bGVzLnNob3dQZWFyc29ucy52YWx1ZSgpJiZ2b2lkIDAhPT1QLnN0YXJ0UHJpY2Upe2NvbnN0IHQ9ZC5wcmljZVRvQ29vcmRpbmF0ZShQLnN0YXJ0UHJpY2UsdyksaT1uZXcgYS5Qb2ludCh5LHQpO24ucGVhcnNvbnM9e3BvaW50czpbaV0sdGV4dDoiIitlLnBlYXJzb25zKCksY29sb3I6Zy5zdHlsZXMuZG93bkxpbmUuY29sb3IudmFsdWUoKSx2ZXJ0QWxpZ246by5WZXJ0aWNhbEFsaWduLlRvcCxob3J6QWxpZ246by5Ib3Jpem9udGFsQWxpZ24uQ2VudGVyLGZvbnQ6bC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLG9mZnNldFg6MCxvZmZzZXRZOjQsZm9udHNpemU6MTJ9fXJldHVybiBufX0sNzM3MzcxKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+b30pO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4saT0tMSxhPXQubGVuZ3RoOysraTxhOyl7dmFyIG89ZSh0W2ldKTt2b2lkIDAhPT1vJiYobj12b2lkIDA9PT1uP286bitvKX1yZXR1cm4gbn07dmFyIGE9bigyMzI4NTQpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQubGVuZ3RoP2kodCxhLmRlZmF1bHQpOjB9fX1dKTs="}},"time_used":2,"timings":{"blocked":0,"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/study-pane-views.663c5d9b21dc5e618998.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:42.389Z","timestamp":1785136902389,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/study-pane-views.663c5d9b21dc5e618998.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:42 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-151e0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 587eb0fb76f405da7b42d17e4d5082be\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":86496,"size_decoded":25526,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"5a9f63c99f9d5d568eb64759326caab4","sha1":"f30d6d870db604980bcccf56754fbd2b4a793d63","sha256":"495aa62cf17213bfa7fb11fea84b8a177d37180b0e424c8a4a20e73d4779c4c7","sha512":"e7b5c45bd3574d3ad6dd7d4faf79de3c2d68454439c5275a44af309c26968b86e399c6cdfb0a40091870ffaec3555511470b6bb6715e8b78034da4aeda759237","ssdeep":"1536:N9l5HPSFvpMa7EVaVxGbCjD+blIXkrza8u9BkrvDfG3Q9q+6Feg43qD:N96Fvph7EVa324Xkrza8I2DfG3Q9qtey","tlshash":"8b8308d2709134aa43b35ada6cb0440797252c56394f887c707d89ff18eec5436bdbba","first_seen":"2026-07-22T16:00:00.360345Z","last_seen":"2026-07-28T06:17:53.601272Z","times_seen":82,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTE2NjhdLHs2ODc1OTAoZSx0LGkpe3ZhciByLG47aS5kKHQse0hBbGlnbjooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuTGVmdD0ibGVmdCIsZS5DZW50ZXI9ImNlbnRlciIsZS5SaWdodD0icmlnaHQifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuVG9wPSJ0b3AiLGUuTWlkZGxlPSJtaWRkbGUiLGUuQm90dG9tPSJib3R0b20ifShufHwobj17fSkpfSw0NTUxODgoZSx0LGkpe3ZhciByLG47aS5kKHQse1RleHRNYXJrVHlwZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuVHJpYW5nbGU9InRyaWFuZ2xlIixlLlJlY3RhbmdsZT0icmVjdGFuZ2xlIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlZlcmRhbmE9IlZlcmRhbmEiLGUuQ291cmllck5ldz0iQ291cmllciBOZXciLGUuVGltZXNOZXdSb21hbj0iVGltZXMgTmV3IFJvbWFuIixlLkFyaWFsPSJBcmlhbCJ9KG58fChuPXt9KSl9LDE1OTcxMChlLHQsaSl7aS5kKHQse0xvY2F0aW9uVG9ZTWl4aW46KCk9PmF9KTt2YXIgcj1pKDEzODYzOCksbj1pKDY0MDc0NCksbz1pKDk2MDQ2NCk7Y2xhc3MgYXtfbG9jYXRpb25Ub1koZSx0LGk9MCl7bGV0IGE7c3dpdGNoKGUpe2Nhc2Ugby5NYXJrTG9jYXRpb24uQWJvdmVCYXI6YT0yO2JyZWFrO2Nhc2Ugby5NYXJrTG9jYXRpb24uQmVsb3dCYXI6YT0zfWNvbnN0IHM9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1zKXJldHVybiAwO2k+PTEmJihpLT0xKTtjb25zdCBsPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpKSxkPVtdO2ZvcihsZXQgZT0taTtlPD1pO2UrKyl7Y29uc3QgaT10aGlzLl9wcm92aWRlci5zZXJpZXMoKS5iYXJzKCkudmFsdWVBdCh0K2UpO2lmKG51bGwhPT1pKXtjb25zdCBlPWlbYV07aWYobnVsbD09ZSljb250aW51ZTtkLnB1c2gobC5wcmljZVRvQ29vcmRpbmF0ZShlLHMpKX19c3dpdGNoKGUpe2Nhc2Ugby5NYXJrTG9jYXRpb24uQWJvdmVCYXI6cmV0dXJuKDAsbi5taW4pKGQpLTE1O2Nhc2Ugby5NYXJrTG9jYXRpb24uQmVsb3dCYXI6cmV0dXJuKDAsbi5tYXgpKGQpKzE1fX19fSw4ODA3NjEoZSx0LGkpe2kuZCh0LHtQb2x5Z29uUmVuZGVyZXI6KCk9PnB9KTt2YXIgcj1pKDc2ODMwNSksbj1pKDcwMDc0KSxvPWkoNjY0ODE1KSxhPWkoNjYwMTYxKSxzPWkoNzYzKSxsPWkoODczNTczKSxkPWkoNTczMDU0KSxoPWkoNjA0MjE0KSxjPWkoNzg2NDM2KSx1PWkoMjYwNjkpLGY9aSg1MTU5Mik7Y2xhc3MgcCBleHRlbmRzIGQuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9iYWNrSGl0dGVzdD1uZXcgcy5IaXRUZXN0UmVzdWx0KHMuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQpLHRoaXMuX3BvaW50cz1bXSx0aGlzLl9oaXR0ZXN0PWU/P25ldyBzLkhpdFRlc3RSZXN1bHQocy5IaXRUYXJnZXQuTW92ZVBvaW50KX1zZXREYXRhKGUpe3RoaXMuX2RhdGE9ZSx0aGlzLl9wb2ludHM9ZS5wb2ludHN9aGl0VGVzdChlKXtpZihudWxsPT09dGhpcy5fZGF0YXx8dGhpcy5fZGF0YS5kaXNhYmxlSW50ZXJhY3Rpb25zKXJldHVybiBudWxsO2NvbnN0IHQ9TWF0aC5tYXgoKDAsaC5pbnRlcmFjdGlvblRvbGVyYW5jZSkoKS5saW5lLE1hdGguY2VpbCh0aGlzLl9kYXRhLmxpbmV3aWR0aC8yKSksaT10aGlzLl9wb2ludHMubGVuZ3RoO2lmKDE9PT1pKXtyZXR1cm4oMCxyLnBvaW50SW5DaXJjbGUpKGUsdGhpcy5fcG9pbnRzWzBdLHQpP3RoaXMuX2hpdHRlc3Q6bnVsbH1mb3IobGV0IHI9MTtyPGk7cisrKXtjb25zdCBpPXRoaXMuX3BvaW50c1tyLTFdLG89dGhpcy5fcG9pbnRzW3JdO2lmKCgwLG4uZGlzdGFuY2VUb1NlZ21lbnQpKGksbyxlKS5kaXN0YW5jZTw9dClyZXR1cm4gdGhpcy5faGl0dGVzdH1pZih0aGlzLl9kYXRhLmZpbGxlZCYmdGhpcy5fZGF0YS5maWxsQmFja2dyb3VuZCYmaT4wKXtjb25zdCByPXRoaXMuX3BvaW50c1swXSxvPXRoaXMuX3BvaW50c1tpLTFdO2lmKCgwLG4uZGlzdGFuY2VUb1NlZ21lbnQpKHIsbyxlKS5kaXN0YW5jZTw9dClyZXR1cm4gdGhpcy5faGl0dGVzdH1yZXR1cm4gdGhpcy5fZGF0YS5maWxsZWQmJnRoaXMuX2RhdGEuZmlsbEJhY2tncm91bmQmJigwLHIucG9pbnRJblBvbHlnb24pKGUsdGhpcy5fZGF0YS5wb2ludHMpP3RoaXMuX2JhY2tIaXR0ZXN0Om51bGx9X2RyYXdJbXBsKGUpe2NvbnN0IHQ9ZS5jb250ZXh0LGk9dGhpcy5fcG9pbnRzLmxlbmd0aDtpZihudWxsPT09dGhpcy5fZGF0YXx8MD09PWkpcmV0dXJuO2NvbnN0IHI9dC5nbG9iYWxBbHBoYTt0cnl7aWYodm9pZCAwIT09dGhpcy5fZGF0YS5nbG9iYWxBbHBoYSYmKHQuZ2xvYmFsQWxwaGE9dGhpcy5fZGF0YS5nbG9iYWxBbHBoYSksMT09PWkpcmV0dXJuIHZvaWQgdGhpcy5fZHJhd1BvaW50KHQsdGhpcy5fcG9pbnRzWzBdLHRoaXMuX2RhdGEubGluZXdpZHRoLzIsdGhpcy5fZGF0YS5jb2xvcik7dC5iZWdpblBhdGgoKTtjb25zdCBlPXRoaXMuX2RhdGEubGluZXN0eWxlPT09dS5MSU5FU1RZTEVfU09MSUQ/InJvdW5kIjoiYnV0dCIscj10aGlzLl9kYXRhLmxpbmVjYXA/P2U7dC5saW5lQ2FwPXIsdC5zdHJva2VTdHlsZT10aGlzLl9kYXRhLmNvbG9yLHQubGluZVdpZHRoPXRoaXMuX2RhdGEubGluZXdpZHRoLHQubGluZUpvaW49dGhpcy5fZGF0YS5saW5lam9pbj8/InJvdW5kIiwoMCxjLnNldExpbmVTdHlsZSkodCx0aGlzLl9kYXRhLmxpbmVzdHlsZSk7Y29uc3Qgbj10aGlzLl9wb2ludHNbMF07dC5tb3ZlVG8obi54LG4ueSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcG9pbnRzKXQubGluZVRvKGUueCxlLnkpO2lmKHRoaXMuX2RhdGEuZmlsbGVkJiZ0aGlzLl9kYXRhLmZpbGxCYWNrZ3JvdW5kJiYodC5maWxsU3R5bGU9KDAsbC5nZW5lcmF0ZUNvbG9yKSh0aGlzLl9kYXRhLmJhY2tjb2xvcix0aGlzLl9kYXRhLnRyYW5zcGFyZW5jeSksdC5maWxsKCkpLAp0aGlzLl9kYXRhLmZpbGxlZCYmIXRoaXMuX2RhdGEuc2tpcENsb3NlUGF0aCYmdC5jbG9zZVBhdGgoKSxpPjEpe2lmKHRoaXMuX2RhdGEubGVmdGVuZD09PWEuTGluZUVuZC5BcnJvdyl7Y29uc3QgZT10aGlzLl9jb3JyZWN0QXJyb3dQb2ludHModGhpcy5fcG9pbnRzWzFdLHRoaXMuX3BvaW50c1swXSx0LmxpbmVXaWR0aCxyKTsoMCxvLmRyYXdBcnJvdykoZVswXSxlWzFdLHQsdC5saW5lV2lkdGgsZi5kcHIxUGl4ZWxSYXRpb0luZm8pfWlmKHRoaXMuX2RhdGEucmlnaHRlbmQ9PT1hLkxpbmVFbmQuQXJyb3cpe2NvbnN0IGU9dGhpcy5fY29ycmVjdEFycm93UG9pbnRzKHRoaXMuX3BvaW50c1tpLTJdLHRoaXMuX3BvaW50c1tpLTFdLHQubGluZVdpZHRoLHIpOygwLG8uZHJhd0Fycm93KShlWzBdLGVbMV0sdCx0LmxpbmVXaWR0aCxmLmRwcjFQaXhlbFJhdGlvSW5mbyl9fXRoaXMuX2RhdGEubGluZXdpZHRoPjAmJnQuc3Ryb2tlKCl9ZmluYWxseXt0Lmdsb2JhbEFscGhhPXJ9fV9kcmF3UG9pbnQoZSx0LGkscil7MCE9PWkmJihlLmJlZ2luUGF0aCgpLGUuZmlsbFN0eWxlPXIsZS5hcmModC54LHQueSxpLDAsMipNYXRoLlBJLCEwKSxlLmZpbGwoKSxlLmNsb3NlUGF0aCgpKX1fY29ycmVjdEFycm93UG9pbnRzKGUsdCxpLHIpe2NvbnN0IG49dC5zdWJ0cmFjdChlKSxvPW4ubGVuZ3RoKCk7aWYoImJ1dHQiPT09cnx8bzwxKXJldHVybltlLHRdO2NvbnN0IGE9bytpLzI7cmV0dXJuW2Usbi5zY2FsZWQoYS9vKS5hZGQoZSldfX19LDIyMDI3NihlLHQsaSl7aS5yKHQpLGkuZCh0LHtCYWNrZ3JvdW5kUGFuZVZpZXc6KCk9Pmx9KTt2YXIgcj1pKDEzODYzOCksbj1pKDc4OTE5MCksbz1pKDE1MTIxKSxhPWkoODczNTczKTtjbGFzcyBze2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KGUpe3JldHVybiBudWxsfWRyYXcoZSx0KXt9ZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2RhdGEscj0oMCxhLmdlbmVyYXRlQ29sb3IpKHRoaXMuX2RhdGEuY29sb3IsdGhpcy5fZGF0YS50cmFuc3BhcmVuY3kpLG49TWF0aC5yb3VuZChpLngxKnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8pLHM9TWF0aC5yb3VuZChpLngyKnQudmVydGljYWxQaXhlbFJhdGlvKTsoMCxvLmZpbGxSZWN0KShlLG4sMCxzLW4sdC5iaXRtYXBTaXplLmhlaWdodCxyKX19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm92aWRlcj1lLHRoaXMuX21vZGVsPXQsdGhpcy5fZGF0YT1bXX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZVZpZXdJbnRlcm5hbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBuLkNvbXBvc2l0ZVJlbmRlcmVyO2Zvcihjb25zdCB0IG9mIHRoaXMuX2RhdGEpZS5hcHBlbmQobmV3IHModCkpO3JldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWV8fGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmJhY2tncm91bmRzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgbj10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bilyZXR1cm47Y29uc3Qgbz1uLmZpcnN0QmFyKCksYT1uLmxhc3RCYXIoKSxzPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmJhY2tncm91bmRzKTtpLmZvckVhY2goKChlLGkpPT57Y29uc3Qgbj1zLmNoaWxkcygpW2ldPy5jaGlsZHMoKTtpZighbj8udmlzaWJsZS52YWx1ZSgpKXJldHVybjtsZXQgbCxkO2UuZm9yRWFjaCgoZT0+e2NvbnN0IGk9bnVsbCE9PWUuc3RhcnQ/ZS5zdGFydDooMCxyLmVuc3VyZU5vdE51bGwpKHQucG9pbnRzKCkucmFuZ2UoKS52YWx1ZSgpKS5maXJzdEluZGV4LHM9ZS5zdG9wO2lmKHM8b3x8YTxpKXJldHVybjtsZXQgaD10LmJhckJvcmRlcnMoaSkubGVmdDtjb25zdCBjPXQuYmFyQm9yZGVycyhzKS5yaWdodDtkPT09aS0xJiYoaD1sfHxoKSxsPWMsZD1zLGg8MCYmYzwwfHxoPnQud2lkdGgoKSYmYz50LndpZHRoKCl8fHRoaXMuX2RhdGEucHVzaCh7eDE6aCx4MjpjLGNvbG9yOm4uY29sb3IudmFsdWUoKSx0cmFuc3BhcmVuY3k6bi50cmFuc3BhcmVuY3kudmFsdWUoKX0pfSkpfSkpfX19LDcxMTE1OShlLHQsaSl7aS5yKHQpLGkuZCh0LHtEd2dCb3hQYW5lVmlldzooKT0+TSxnZXREd2dCb3hEcmF3UGF0dGVybjooKT0+RH0pO3ZhciByLG4sbyxhPWkoMTM4NjM4KSxzPWkoNzM2NTMxKTshZnVuY3Rpb24oZSl7ZS5Tb2xpZD0ic29sIixlLkRvdHRlZD0iZG90IixlLkRhc2hlZD0iZHNoIixlLkxlZnRBcnJvdz0iYWwiLGUuUmlnaHRBcnJvdz0iYXIiLGUuQm90aEFycm93PSJhYiJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5Ub3A9InRvcCIsZS5DZW50ZXI9ImNlbnRlciIsZS5Cb3R0b209ImJvdHRvbSJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZS5Nb25vc3BhY2U9Im1vbm9zcGFjZSJ9KG98fChvPXt9KSk7dmFyIGw9aSgxNzk2NzQpLGQ9aSg1ODk1MTEpLGg9aSgyNTQ3MzEpLGM9aSg4MjI3MjYpLHU9aSgyOTM0MTgpLGY9aSg5NDExMDApLHA9aSg3NjgzMDUpLGc9aSg3NjMpLF89aSg3ODY0MzYpLHg9aSg0NzA5ODYpLHc9aSg3MDM4MDkpO2Z1bmN0aW9uIHYoZSx0KXtjb25zdCBpPWUuc3R5bGUuZXh0ZW5kTGVmdD8wOmUubGVmdFRvcC54LHI9ZS5zdHlsZS5leHRlbmRSaWdodD90OmUucmlnaHRCb3R0b20ueDtyZXR1cm4oMCxzLmJveCkoKDAscy5wb2ludCkoaSxlLmxlZnRUb3AueSksKDAscy5wb2ludCkocixlLnJpZ2h0Qm90dG9tLnkpKX1jbGFzcyBte2NvbnN0cnVjdG9yKGUpe3RoaXMuX2xvY3M9bnVsbCx0aGlzLl90ZXh0UmVuZGVyZXI9bmV3IHguVGV4dFJlbmRlcmVyLHRoaXMuX2xvY3M9ZT8/bnVsbH0Kc2V0RGF0YShlKXt0aGlzLl9sb2NzPWV9ZHJhdyhlLHQpe2lmKG51bGw9PT10aGlzLl9sb2NzKXJldHVybjtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpyLGJpdG1hcFNpemU6bn09dDtlLmxpbmVDYXA9ImJ1dHQiO2NvbnN0IG89TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKTt0aGlzLl9sb2NzLmZvckVhY2goKHM9Pntjb25zdHtiYWNrZ3JvdW5kQ29sb3I6bCxib3JkZXJDb2xvcjpkLGV4dGVuZExlZnQ6aCxleHRlbmRSaWdodDpjLGJvcmRlcldpZHRoOnUsZGFzaFBhdHRlcm46Zix0ZXh0OnB9PXMuc3R5bGUsZz1NYXRoLmZsb29yKHUqaSkseD1oPy1nOk1hdGgucm91bmQocy5sZWZ0VG9wLngqaSksdj1NYXRoLnJvdW5kKHMubGVmdFRvcC55KnIpLG09Yz9uLndpZHRoK2c6TWF0aC5yb3VuZChzLnJpZ2h0Qm90dG9tLngqaSkseT1NYXRoLnJvdW5kKHMucmlnaHRCb3R0b20ueSpyKTtpZigoMCxfLmZpbGxSZWN0V2l0aEJvcmRlcikoe2NvbnRleHQ6ZSwuLi50fSx4LHYsbSx5LG8sdm9pZCAwPT09bD92b2lkIDA6e2NvbG9yOmx9LHZvaWQgMD09PWR8fDA9PT11P3ZvaWQgMDp7Y29sb3I6ZCxib3JkZXJXaWR0aDpnLGJvcmRlck1vZGU6ImNlbnRlciIsZGFzaFBhdHRlcm46Zn0pLHApe2xldCBuPSExO2NvbnN0IG89TWF0aC5hYnMocy5yaWdodEJvdHRvbS54LXMubGVmdFRvcC54KSxsPU1hdGguYWJzKHMucmlnaHRCb3R0b20ueS1zLmxlZnRUb3AueSksZD1NYXRoLm1pbihzLnJpZ2h0Qm90dG9tLngscy5sZWZ0VG9wLngpLGg9TWF0aC5taW4ocy5yaWdodEJvdHRvbS55LHMubGVmdFRvcC55KTsiYXV0byIhPT1wLmZvbnRTaXplTW9kZSYmImF1dG8iIT09cC53b3JkV3JhcHx8KGUuc2F2ZSgpLGUuYmVnaW5QYXRoKCksZS5yZWN0KGQqaSxoKnIsbyppLGwqciksZS5jbGlwKCksbj0hMCk7Y29uc3QgYz17dGV4dFNpemVNb2RlOnAuZm9udFNpemVNb2RlLGZvbnRTaXplOnAuZm9udFNpemV9LHU9e2hvcml6b250YWxUZXh0QWxpZ25tZW50OnAuaG9yaXpvbnRhbFRleHRBbGlnbm1lbnQsdmVydGljYWxUZXh0QWxpZ25tZW50OnAudmVydGljYWxUZXh0QWxpZ25tZW50LHRleHQ6cC50ZXh0LHRleHRDb2xvcjpwLnRleHRDb2xvcixzaXplT3B0aW9uczpjLGZvbnRUeXBlOnMuc3R5bGUuZm9udFR5cGUsdGV4dEZvcm1hdHRpbmc6cC50ZXh0Rm9ybWF0dGluZ30sZj0oMCx3LnRleHRCb3hEYXRhKShkLGgsbyxsLHUpO2Yud29yZFdyYXBXaWR0aD0iYXV0byI9PT1wLndvcmRXcmFwP01hdGgubWF4KDEsby0oMCxhLmVuc3VyZURlZmluZWQpKGYuZm9udFNpemUpLzYpOnZvaWQgMCx0aGlzLl90ZXh0UmVuZGVyZXIuc2V0RGF0YShmKSx0aGlzLl90ZXh0UmVuZGVyZXIuZHJhdyhlLHQpLG4mJmUucmVzdG9yZSgpfX0pKX1oaXRUZXN0KGUsdCl7aWYobnVsbD09PXRoaXMuX2xvY3MpcmV0dXJuIG51bGw7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fbG9jcylpZigoMCxwLnBvaW50SW5Cb3gpKGUsdihpLHQubWVkaWFTaXplLndpZHRoKSkpcmV0dXJuIG5ldyBnLkhpdFRlc3RSZXN1bHQoZy5IaXRUYXJnZXQuUmVndWxhcik7cmV0dXJuIG51bGx9fXZhciB5PWkoMTQxNjUpO2NsYXNzIGIgZXh0ZW5kcyB5LkFic3RyYWN0TWFwQ29udGFpbmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fbWF4U2l6ZT1lLHRoaXMuX2tleXNRdWV1ZT1bXX1nZXQoZSl7Y29uc3QgdD10aGlzLl9rZXlzRm9yRGF0YShlKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdFtpLHIsbl09dCxvPSgwLHkuZ2V0RGVmYXVsdDIpKHRoaXMuX21hcCxpLHIsbmV3IE1hcCk7bGV0IGE9by5nZXQobik7cmV0dXJuIHZvaWQgMCE9PWF8fCh0aGlzLl9zaXplPj10aGlzLl9tYXhTaXplP3RoaXMuX2RlbGV0ZUZpcnN0S2V5KCk6Kyt0aGlzLl9zaXplLHRoaXMuX2tleXNRdWV1ZS5wdXNoKHQpLGE9dGhpcy5fY3JlYXRlVmFsdWVJdGVtKGUpLG8uc2V0KG4sYSkpLGF9X2RlbGV0ZUZpcnN0S2V5KCl7Y29uc3QgZT0oMCxhLmVuc3VyZURlZmluZWQpKHRoaXMuX2tleXNRdWV1ZS5zaGlmdCgpKSxbdCxpLHJdPWUsbj0oMCxhLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcC5nZXQodCkpLG89KDAsYS5lbnN1cmVEZWZpbmVkKShuLmdldChpKSk7by5kZWxldGUociksMD09PW8uc2l6ZSYmbi5kZWxldGUoaSksMD09PW4uc2l6ZSYmdGhpcy5fbWFwLmRlbGV0ZSh0KX19dmFyIFQ9aSg5MjYxNDkpO2NvbnN0IEM9KCk9Pih7Ym9sZDohMSxpdGFsaWM6ITEsZm9udDpULkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCl9KTtjbGFzcyBSIGV4dGVuZHMgYntjb25zdHJ1Y3RvcihlLHQ9QygpKXtzdXBlcihlKSx0aGlzLl9mb250T3B0aW9ucz10LHRoaXMuX21lYXN1cmVDYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdGhpcy5fbWVhc3VyZUNvbnRleHQ9KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZWFzdXJlQ2FudmFzLmdldENvbnRleHQoIjJkIikpfV9rZXlzRm9yRGF0YShlKXtyZXR1cm5bZS5saW5lcy5qb2luKCJcbiIpLGUuYm94V2lkdGgsZS5ib3hIZWlnaHRdfV9jcmVhdGVWYWx1ZUl0ZW0oZSl7cmV0dXJuKDAsdy5jYWxjdWxhdGVGb250U2l6ZUZvckJveCkodGhpcy5fbWVhc3VyZUNvbnRleHQsdGhpcy5fZm9udE9wdGlvbnMsZS5saW5lcyxlLmJveFdpZHRoLGUuYm94SGVpZ2h0KX19dmFyIFM9aSgzNDU5MzYpO2NvbnN0IFA9bmV3IE1hcChbW3IuU29saWQsW11dLFtyLkRhc2hlZCxbNSw2XV0sW3IuRG90dGVkLFsxLDJdXV0pO2Z1bmN0aW9uIEQoZSl7Y29uc3QgdD1QLmdldChlKTtpZih2b2lkIDA9PT10KXRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgYm94IHN0eWxlOiAke2V9YCk7cmV0dXJuIHR9Y2xhc3MgTXtjb25zdHJ1Y3RvcihlLHQsaSxyKXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9yZW5kZXJlcj1uZXcgbSx0aGlzLl9yZ2JhRnJvbUludGVnZXI9KDAsaC5yZ2JhRnJvbUludGVnZXJDYWNoZWQpKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IGMuVGV4dFdpZHRoQ2FjaGUsdGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9ncmFwaGljc1Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCwKdGhpcy5fZm9yY2VPdmVybGF5PWl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKGUpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX2ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVJlbmRlcmVyKGUpKSx0aGlzLl9yZW5kZXJlcn1fdXBkYXRlUmVuZGVyZXIoZSl7dGhpcy5fcmVuZGVyZXIuc2V0RGF0YShudWxsKTtjb25zdCB0PXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJpY2VTY2FsZSh0aGlzLl9mb3JjZU92ZXJsYXkpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIXR8fHQuaXNFbXB0eSgpfHxpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3Qgcj10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLmdyYXBoaWNzKCkuZHdnYm94ZXMoKTtpZigwPT09ci5zaXplKXJldHVybjtpZihudWxsPT09aS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpcmV0dXJuO2NvbnN0IG49dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFsZXR0ZXMuY2hpbGRzKCksbz10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLm1ldGFJbmZvKCkuaXNSR0I7aWYoIW8mJih2b2lkIDA9PT1ufHx2b2lkIDA9PT1uLnBhbGV0dGVfY29tbW9uKSlyZXR1cm47Y29uc3QgZD1vP3ZvaWQgMDooMCxhLmVuc3VyZURlZmluZWQpKG4ucGFsZXR0ZV9jb21tb24pLmNoaWxkcygpLmNvbG9ycy5jaGlsZHMoKSxoPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09aClyZXR1cm47Y29uc3QgYz17eDE6MCx5MTowLHgyOjAseTI6MCxleHRlbmQ6bC5Ed2dFeHRlbmQuTm9uZX0sZj1bXSxwPSgwLGEuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdnYm94ZXMpLHttZWRpYVNpemU6e3dpZHRoOmcsaGVpZ2h0Ol99fT1lO3IuZm9yRWFjaCgoKGUscik9PntpZighKDAsYS5lbnN1cmVEZWZpbmVkKShwLmNoaWxkcygpW3JdKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IG49ZS5nZXQodGhpcy5fZm9yY2VPdmVybGF5KTtuPy5mb3JFYWNoKChlPT57aWYobnVsbD09PWUuYmFja2dyb3VuZENvbG9ySW5kZXgmJm51bGw9PT1lLmJvcmRlckNvbG9ySW5kZXgpcmV0dXJuO2xldCByLG4scDtpZihvPyhyPW51bGw9PT1lLmJhY2tncm91bmRDb2xvckluZGV4P3ZvaWQgMDp0aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5iYWNrZ3JvdW5kQ29sb3JJbmRleCksbj1udWxsPT09ZS5ib3JkZXJDb2xvckluZGV4P3ZvaWQgMDp0aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5ib3JkZXJDb2xvckluZGV4KSxwPW51bGw9PT1lLnRleHRDb2xvckluZGV4P3ZvaWQgMDp0aGlzLl9yZ2JhRnJvbUludGVnZXIoZS50ZXh0Q29sb3JJbmRleCkpOihyPW51bGwhPT1lLmJhY2tncm91bmRDb2xvckluZGV4PygwLGEuZW5zdXJlRGVmaW5lZCkoZClbZS5iYWNrZ3JvdW5kQ29sb3JJbmRleF0uY2hpbGRzKCkuY29sb3IudmFsdWUoKTp2b2lkIDAsbj1udWxsIT09ZS5ib3JkZXJDb2xvckluZGV4PygwLGEuZW5zdXJlRGVmaW5lZCkoZClbZS5ib3JkZXJDb2xvckluZGV4XS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpOnZvaWQgMCxwPW51bGwhPT1lLnRleHRDb2xvckluZGV4PygwLGEuZW5zdXJlRGVmaW5lZCkoZClbZS50ZXh0Q29sb3JJbmRleF0uY2hpbGRzKCkuY29sb3IudmFsdWUoKTp2b2lkIDApLHZvaWQgMD09PXImJnZvaWQgMD09PW4pcmV0dXJuO2NvbnN0IHg9KDAsdS5jb252ZXJ0UG9pbnRzVG9TY3JlZW5EaW1lbnNpb24pKGUubGVmdCxlLnRvcCxlLnJpZ2h0LGUuYm90dG9tLGUuZXh0ZW5kLHQsaSxnLGgsYyk7aWYobnVsbD09PXgpcmV0dXJuO2NvbnN0e3gxOncseDI6dix5MTptLHkyOnksZXh0ZW5kOmJ9PXgsVD1NYXRoLm1pbih3LHYpLEM9TWF0aC5tYXgodyx2KSxSPU1hdGgubWluKG0seSksUz1NYXRoLm1heChtLHkpLFA9e2JvcmRlcldpZHRoOmUuYm9yZGVyV2lkdGgsYm9yZGVyQ29sb3I6bixiYWNrZ3JvdW5kQ29sb3I6cixkYXNoUGF0dGVybjpEKGUuYm9yZGVyU3R5bGUpLGV4dGVuZExlZnQ6KDAsdS5pc0V4dGVuZEluU2FtZURpcmVjdGlvbikoYixsLkR3Z0V4dGVuZC5MZWZ0KSxleHRlbmRSaWdodDooMCx1LmlzRXh0ZW5kSW5TYW1lRGlyZWN0aW9uKShiLGwuRHdnRXh0ZW5kLlJpZ2h0KSx0ZXh0OnRoaXMuX2dldFRleHRTdHlsZURhdGEoZSxwLEMtVCxTLVIpLGZvbnRUeXBlOmUuZm9udFR5cGV9LE09e2xlZnRUb3A6bmV3IHMuUG9pbnQoTWF0aC5taW4oVCxDKSxSKSxyaWdodEJvdHRvbTpuZXcgcy5Qb2ludChNYXRoLm1heChULEMpLFMpLHN0eWxlOlB9LEw9TS5yaWdodEJvdHRvbS54PC1NLnN0eWxlLmJvcmRlcldpZHRoJiYhTS5zdHlsZS5leHRlbmRSaWdodCxCPU0ubGVmdFRvcC54PmcrTS5zdHlsZS5ib3JkZXJXaWR0aCYmIU0uc3R5bGUuZXh0ZW5kTGVmdCxBPU0ucmlnaHRCb3R0b20ueTwtTS5zdHlsZS5ib3JkZXJXaWR0aCxJPU0ubGVmdFRvcC55Pl8rTS5zdHlsZS5ib3JkZXJXaWR0aDtMfHxCfHxBfHxJfHxmLnB1c2goTSl9KSl9KSksdGhpcy5fcmVuZGVyZXIuc2V0RGF0YShmKX1fZ2V0VGV4dFN0eWxlRGF0YShlLHQsaSxyKXtjb25zdCBuPWUuZm9udFNpemUsbz1lLnRleHQmJnQ/e3RleHQ6ZS50ZXh0LHdvcmRXcmFwOmUud29yZFdyYXAsdGV4dENvbG9yOnQsaG9yaXpvbnRhbFRleHRBbGlnbm1lbnQ6ZS5ob3Jpem9udGFsVGV4dEFsaWdubWVudCx2ZXJ0aWNhbFRleHRBbGlnbm1lbnQ6ZS52ZXJ0aWNhbFRleHRBbGlnbm1lbnQsdGV4dEZvcm1hdHRpbmc6ZS50ZXh0Rm9ybWF0dGluZ306dm9pZCAwO2lmKG8mJnZvaWQgMCE9PW4pe2NvbnN0IHQ9bztpZihuPT09ZC5QbG90U3ltYm9sU2l6ZS5BdXRvfHwwPT09bil7Y29uc3Qgbj17bGluZXM6KDAsUy53b3JkV3JhcCkoKDAsYS5lbnN1cmVEZWZpbmVkKShlLnRleHQpLCIiLHRoaXMuX3RleHRXaWR0aENhY2hlLCEwLHZvaWQgMCkubWFwKChlPT5lLnRleHQpKSxib3hXaWR0aDppLGJveEhlaWdodDpyfQo7dC5mb250U2l6ZU1vZGU9ImF1dG8iO2NvbnN0IG89YCR7ZS5mb250VHlwZT8/ImRlZmF1bHQifS0ke2UudGV4dEZvcm1hdHRpbmd9YDtsZXQgcztpZih0aGlzLl9jYWNoZS5oYXMobykpcz0oMCxhLmVuc3VyZURlZmluZWQpKHRoaXMuX2NhY2hlLmdldChvKSk7ZWxzZXtjb25zdHtib2xkOnQsaXRhbGljOml9PSgwLGYuY29udmVydER3Z1RleHRGb3JtYXR0aW5nVG9PYmplY3QpKGUudGV4dEZvcm1hdHRpbmcpLHI9ZS5mb250VHlwZT9ULkNIQVJUX01PTk9TUEFDRV9GT05UX0ZBTUlMWTpDKCkuZm9udDtzPW5ldyBSKDVlMyx7Ym9sZDp0LGl0YWxpYzppLGZvbnQ6cn0pLHRoaXMuX2NhY2hlLnNldChvLHMpfXQuZm9udFNpemU9KDAsYS5lbnN1cmVOb3ROdWxsKShzLmdldChuKSl9ZWxzZSB0LmZvbnRTaXplTW9kZT0iZml4ZWQiLHQuZm9udFNpemU9bjtyZXR1cm4gdH19fX0sOTM5MzY4KGUsdCxpKXtpLnIodCksaS5kKHQse0R3Z0xhYmVsUGFuZVZpZXc6KCk9PlZ9KTt2YXIgcj1pKDEzODYzOCksbj1pKDU0ODU2MCksbz1pKDI1NDczMSksYT1pKDc4OTE5MCkscz1pKDExODc1MiksbD1pKDY1MTk2NiksZD1pKDMzMDg2MSksaD1pKDMwMjQ2OSksYz1pKDc0NzQ2NSksdT1pKDU0NDI0MyksZj1pKDE2ODQ4NykscD1pKDczNjUzMSksZz1pKDg0NjUyOSk7Y2xhc3MgXyBleHRlbmRzIGcuUGFuZVJlbmRlcmVyTGFiZWxCYXNle19jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmNlbnRlcixpPWUuY2VudGVyK2Uuc2hhcGVXaWR0aCxyPWUueS1lLnNoYXBlSGVpZ2h0K2UudmVydE9mZnNldCxuPWUueStlLnZlcnRPZmZzZXQsbz1uZXcgcC5Qb2ludCh0LHIpLGE9bmV3IHAuUG9pbnQoaSxuKTtyZXR1cm4oMCxwLmJveCkobyxhKX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpyLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT1lLG89dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MCxhPXRoaXMuX2dldEFycm93U2l6ZSh0KSxzPU1hdGgucm91bmQodC5jZW50ZXIqcikrbyxsPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQpKm4pK28sZD1NYXRoLnJvdW5kKCh0LmNlbnRlcithKSpyKStvLGg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC1hKSpuKStvLGM9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC0yKmEpKm4pK287aS5tb3ZlVG8oZCxoKSxpLmxpbmVUbyhzLGwpLGkubGluZVRvKGQsYyk7Y29uc3QgdT1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0LXQuc2hhcGVIZWlnaHQtYSkqbikrbyxmPU1hdGgucm91bmQoKHQuY2VudGVyK3Quc2hhcGVXaWR0aCthKSpyKStvO3RoaXMuX2RyYXdDb3JuZXIoZSxkLHUsZy5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLGYsaCxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSxpLmxpbmVUbyhkLGgpfV9nZXRBcnJvd1NpemUoZSl7cmV0dXJuIGUuc3RlcFgvTWF0aC5zcXJ0KDIpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZVdpZHRoLzIrdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRWZXJ0aWNhbFRleHRPZmZzZXQoZSl7cmV0dXJuLWUuc2hhcGVIZWlnaHQvMi10aGlzLl9nZXRBcnJvd1NpemUoZSl9fWNsYXNzIHggZXh0ZW5kcyBnLlBhbmVSZW5kZXJlckxhYmVsQmFzZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS5jZW50ZXIsaT1lLmNlbnRlcitlLnNoYXBlV2lkdGgscj1lLnkrZS52ZXJ0T2Zmc2V0LG49ZS55K2Uuc2hhcGVIZWlnaHQrZS52ZXJ0T2Zmc2V0LG89bmV3IHAuUG9pbnQodCxyKSxhPW5ldyBwLlBvaW50KGksbik7cmV0dXJuKDAscC5ib3gpKG8sYSl9X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0OmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cix2ZXJ0aWNhbFBpeGVsUmF0aW86bn09ZSxvPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYT10aGlzLl9nZXRBcnJvd1NpemUodCkscz1NYXRoLnJvdW5kKHQuY2VudGVyKnIpK28sbD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpuKStvLGQ9TWF0aC5yb3VuZCgodC5jZW50ZXIrYSkqcikrbyxoPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrMiphKSpuKStvLGM9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCthKSpuKStvLHU9TWF0aC5yb3VuZCgodC5jZW50ZXIrdC5zaGFwZVdpZHRoK2EpKnIpK28sZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0K3Quc2hhcGVIZWlnaHQrYSkqbikrbztpLm1vdmVUbyhkLGgpLGkubGluZVRvKHMsbCksaS5saW5lVG8oZCxjKSx0aGlzLl9kcmF3Q29ybmVyKGUsdSxjLGcuQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5yaWdodFVwKSx0aGlzLl9kcmF3Q29ybmVyKGUsdSxmLGcuQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5yaWdodERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGYsZy5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnREb3duKSxpLmxpbmVUbyhkLGgpfV9nZXRBcnJvd1NpemUoZSl7cmV0dXJuIGUuc3RlcFgvTWF0aC5zcXJ0KDIpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZVdpZHRoLzIrdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRWZXJ0aWNhbFRleHRPZmZzZXQoZSl7cmV0dXJuIGUuc2hhcGVIZWlnaHQvMit0aGlzLl9nZXRBcnJvd1NpemUoZSl9fWNsYXNzIHcgZXh0ZW5kcyBnLlBhbmVSZW5kZXJlckxhYmVsQmFzZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS5jZW50ZXItZS5zaGFwZVdpZHRoLGk9ZS5jZW50ZXIscj1lLnktZS5zaGFwZUhlaWdodCtlLnZlcnRPZmZzZXQsbj1lLnkrZS52ZXJ0T2Zmc2V0LG89bmV3IHAuUG9pbnQodCxyKSxhPW5ldyBwLlBvaW50KGksbik7cmV0dXJuKDAscC5ib3gpKG8sYSl9X2RyYXdJdGVtU2hhcGUoZSx0KXsKY29uc3R7Y29udGV4dDppLGhvcml6b250YWxQaXhlbFJhdGlvOnIsdmVydGljYWxQaXhlbFJhdGlvOm59PWUsbz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLHM9TWF0aC5yb3VuZCh0LmNlbnRlcipyKStvLGw9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCkqbikrbyxkPU1hdGgucm91bmQoKHQuY2VudGVyLWEpKnIpK28saD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0LTIqYSkqbikrbyxjPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqbikrbyx1PU1hdGgucm91bmQoKHQuY2VudGVyLXQuc2hhcGVXaWR0aC1hKSpyKStvLGY9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC10LnNoYXBlSGVpZ2h0LWEpKm4pK287aS5tb3ZlVG8oZCxoKSxpLmxpbmVUbyhzLGwpLGkubGluZVRvKGQsYyksdGhpcy5fZHJhd0Nvcm5lcihlLHUsYyxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSx1LGYsZy5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLGQsZixnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCksaS5saW5lVG8oZCxoKX1fZ2V0QXJyb3dTaXplKGUpe3JldHVybiBlLnN0ZXBYL01hdGguc3FydCgyKX1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybi1lLnNoYXBlSGVpZ2h0LzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4tZS5zaGFwZVdpZHRoLzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyB2IGV4dGVuZHMgZy5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLWUuc2hhcGVXaWR0aCxpPWUuY2VudGVyLHI9ZS55K2UudmVydE9mZnNldCxuPWUueStlLnNoYXBlSGVpZ2h0K2UudmVydE9mZnNldCxvPW5ldyBwLlBvaW50KHQsciksYT1uZXcgcC5Qb2ludChpLG4pO3JldHVybigwLHAuYm94KShvLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDppLGhvcml6b250YWxQaXhlbFJhdGlvOnIsdmVydGljYWxQaXhlbFJhdGlvOm59PWUsbz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLHM9TWF0aC5yb3VuZCh0LmNlbnRlcipyKStvLGw9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCkqbikrbyxkPU1hdGgucm91bmQoKHQuY2VudGVyLWEpKnIpK28saD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0K2EpKm4pK28sYz1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KzIqYSkqbikrbyx1PU1hdGgucm91bmQoKHQuY2VudGVyLXQuc2hhcGVXaWR0aC1hKSpyKStvLGY9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCt0LnNoYXBlSGVpZ2h0K2EpKm4pK287aS5tb3ZlVG8oZCxoKSxpLmxpbmVUbyhzLGwpLGkubGluZVRvKGQsYyksdGhpcy5fZHJhd0Nvcm5lcihlLGQsZixnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUsdSxmLGcuQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLHUsaCxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKSxpLmxpbmVUbyhkLGgpfV9nZXRBcnJvd1NpemUoZSl7cmV0dXJuIGUuc3RlcFgvTWF0aC5zcXJ0KDIpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4tZS5zaGFwZVdpZHRoLzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRWZXJ0aWNhbFRleHRPZmZzZXQoZSl7cmV0dXJuIGUuc2hhcGVIZWlnaHQvMit0aGlzLl9nZXRBcnJvd1NpemUoZSl9fXZhciBtLHk9aSg0MDc1ODQpLGI9aSgzNjMzMjYpLFQ9aSg4ODQyOCksQz1pKDg3NDEzNSk7Y2xhc3MgUiBleHRlbmRzIEMuUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7c2V0SXRlbXMoZSx0KXt0aGlzLl9zZXRCYXNlRGF0YShlLHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2l0ZW1zKTA9PT1lLnZlcnRPZmZzZXQmJihlLnRleHRWZXJ0T2Zmc2V0PTApfV9kcmF3SXRlbVRleHQoZSx0KXtjb25zdCBpPXRoaXMuX2dldFRleHRDYWNoZSh0KTtpZihudWxsPT09aSlyZXR1cm47Y29uc3Qgcj10LmNlbnRlcixuPXQueSt0LnRleHRWZXJ0T2Zmc2V0LG89dC5zdHlsZT8udGV4dENvbG9yfHx0aGlzLl90ZXh0Q29sb3IsYT10LnZlcnRPZmZzZXQscz17c3R5bGU6e2ZpbGxTdHlsZTpvfSxsb2NhdGlvbjp7eDpyLHk6bixob3J6QWxpZ246VC5Ib3Jpem9udGFsQWxpZ24uQ2VudGVyLHZlcnRBbGlnbjphPjA/VC5WZXJ0aWNhbEFsaWduLlRvcDpULlZlcnRpY2FsQWxpZ24uQm90dG9tfX07aS5wYWludFRvKGUscyl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUudmVydE9mZnNldCxpPXRoaXMuX2dldFRleHRDYWNoZShlKTtpZighaSlyZXR1cm47Y29uc3Qgcj1pLnRleHRJbWFnZVdpZHRoLG49aS50ZXh0SW1hZ2VIZWlnaHQsbz1yLzIsYT1lLnkrZS50ZXh0VmVydE9mZnNldCxzPXQ+MD8wOi1uLGw9dD4wP246MCxkPW5ldyBwLlBvaW50KGUuY2VudGVyLW8sYStzKSxoPW5ldyBwLlBvaW50KGUuY2VudGVyK28sYStsKTtyZXR1cm4oMCxwLmJveCkoZCxoKX19IWZ1bmN0aW9uKGUpe2VbZS5PdXRsaW5lV2lkdGg9NF09Ik91dGxpbmVXaWR0aCJ9KG18fChtPXt9KSk7Y2xhc3MgUyBleHRlbmRzIGYuUGFuZVJlbmRlcmVyTGFiZWxDZW50ZXJ7X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IGk9dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBuPXQudGV4dEhvcml6T2Zmc2V0fHwwLG89dC5jZW50ZXIrbixhPXQudmVydE9mZnNldCxzPXQueSthK3QudGV4dFZlcnRPZmZzZXQsbD10LnN0eWxlPy50ZXh0Q29sb3J8fHRoaXMuX3RleHRDb2xvcixkPXQuc3R5bGU/LmJvcmRlckNvbG9yfHx0aGlzLl9ib3JkZXJDb2xvcixoPXtzdHlsZTp7ZmlsbFN0eWxlOigwLHIuZW5zdXJlRGVmaW5lZCkobCksc3Ryb2tlU3R5bGU6ZCxsaW5lV2lkdGg6NH0sbG9jYXRpb246e3g6byx5OnMsaG9yekFsaWduOlQuSG9yaXpvbnRhbEFsaWduLkNlbnRlciwKdmVydEFsaWduOlQuVmVydGljYWxBbGlnbi5NaWRkbGV9fTtpLnBhaW50VG8oZSxoKX1fZHJhd0l0ZW1TaGFwZShlLHQpe319dmFyIFAsRD1pKDE2ODI1OCksTT1pKDUxMjQzNyksTD1pKDQ3NzM4OCksQj1pKDkyNjE0OSksQT1pKDE0MzgwOCksST1pKDk0MTEwMCk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lU3BhY2luZ0NvZWZmPS4xNjY2NjY2NjY2NjY2NjY2Nl09IkxpbmVTcGFjaW5nQ29lZmYiLGVbZS5QYW5lSGVpZ2h0TGltaXQ9MTMwXT0iUGFuZUhlaWdodExpbWl0IixlW2UuVGV4dEltYWdlQ2FjaGVTaXplPTVlM109IlRleHRJbWFnZUNhY2hlU2l6ZSIsZVtlLkZ1bmRhbWVudGFsc01pbkxhYmVsc1NwYWNpbmc9NjBdPSJGdW5kYW1lbnRhbHNNaW5MYWJlbHNTcGFjaW5nIixlW2UuSGlkZVNoYXBlTXVsdGlwbGllcj0uNV09IkhpZGVTaGFwZU11bHRpcGxpZXIiLGVbZS5UZXh0T3V0bGluZU11bHRpcGxpZXI9MS4xXT0iVGV4dE91dGxpbmVNdWx0aXBsaWVyIixlW2UuT3RoZXJTdHlsZXNNdWx0aXBsaWVyPTEuMl09Ik90aGVyU3R5bGVzTXVsdGlwbGllciJ9KFB8fChQPXt9KSk7Y29uc3Qgej17W24uRHdnTGFiZWxUZXh0QWxpZ24uTGVmdF06ImxlZnQiLFtuLkR3Z0xhYmVsVGV4dEFsaWduLkNlbnRlcl06ImNlbnRlciIsW24uRHdnTGFiZWxUZXh0QWxpZ24uUmlnaHRdOiJyaWdodCJ9O3ZhciBIO2Z1bmN0aW9uIEUoZSx0LGkpe3N3aXRjaChmdW5jdGlvbihlKXtpZihlLmxlbmd0aDwyKXJldHVybiAwO2xldCB0PU1hdGguYWJzKGVbMF0uY2VudGVyLWVbMV0uY2VudGVyKTtmb3IobGV0IGk9MjtpPE1hdGgubWluKDUsZS5sZW5ndGgpOysraSl0PU1hdGgubWF4KHQsTWF0aC5hYnMoZVtpLTFdLmNlbnRlci1lW2ldLmNlbnRlcikpO3JldHVybiB0PDMwPzI6dDw2MD8xOjB9KGUpKXtjYXNlIDA6cmV0dXJuIGU7Y2FzZSAxOmNvbnN0IHI9ZS5sZW5ndGg7cmV0dXJuIGUuZmlsdGVyKCgoZSxuKT0+KHQtaSsoci1uKSklMj09MCkpO2Nhc2UgMjpyZXR1cm5bXX19IWZ1bmN0aW9uKGUpe2VbZS5BbGxJdGVtc0F2YWlsYWJsZT0wXT0iQWxsSXRlbXNBdmFpbGFibGUiLGVbZS5FdmVuSXRlbXNBdmFpbGFibGU9MV09IkV2ZW5JdGVtc0F2YWlsYWJsZSIsZVtlLlVuYXZhaWxhYmxlPTJdPSJVbmF2YWlsYWJsZSJ9KEh8fChIPXt9KSk7Y2xhc3MgVntjb25zdHJ1Y3RvcihlLHQsaSxyKXt0aGlzLl9yZW5kZXJlclR5cGVCeVN0eWxlPW5ldyBNYXAoW1tuLkR3Z0xhYmVsU3R5bGUuQXJyb3dkb3duLGwuUGFuZVJlbmRlcmVyQXJyb3dEb3duXSxbbi5Ed2dMYWJlbFN0eWxlLkFycm93dXAsbC5QYW5lUmVuZGVyZXJBcnJvd1VwXSxbbi5Ed2dMYWJlbFN0eWxlLkNpcmNsZSxkLlBhbmVSZW5kZXJlckNpcmNsZVNoYXBlXSxbbi5Ed2dMYWJlbFN0eWxlLkNyb3NzLGguUGFuZVJlbmRlcmVyQ3Jvc3NTaGFwZV0sW24uRHdnTGFiZWxTdHlsZS5EaWFtb25kLGMuUGFuZVJlbmRlcmVyRGlhbW9uZF0sW24uRHdnTGFiZWxTdHlsZS5GbGFnLHUuUGFuZVJlbmRlcmVyRmxhZ1NoYXBlXSxbbi5Ed2dMYWJlbFN0eWxlLkxhYmVsRG93bixmLlBhbmVSZW5kZXJlckxhYmVsRG93bl0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbFVwLGYuUGFuZVJlbmRlcmVyTGFiZWxVcF0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnQsZi5QYW5lUmVuZGVyZXJMYWJlbExlZnRdLFtuLkR3Z0xhYmVsU3R5bGUuTGFiZWxSaWdodCxmLlBhbmVSZW5kZXJlckxhYmVsUmlnaHRdLFtuLkR3Z0xhYmVsU3R5bGUuTGFiZWxDZW50ZXIsZi5QYW5lUmVuZGVyZXJMYWJlbENlbnRlcl0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnRVcCx4XSxbbi5Ed2dMYWJlbFN0eWxlLkxhYmVsTGVmdERvd24sX10sW24uRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0VXAsdl0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0RG93bix3XSxbbi5Ed2dMYWJlbFN0eWxlLlNxdWFyZSx5LlBhbmVSZW5kZXJlclNxdWFyZV0sW24uRHdnTGFiZWxTdHlsZS5UcmlhbmdsZXVwLHMuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4VXBdLFtuLkR3Z0xhYmVsU3R5bGUuVHJpYW5nbGVkb3duLHMuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bl0sW24uRHdnTGFiZWxTdHlsZS5YY3Jvc3MsYi5QYW5lUmVuZGVyZXJYQ3Jvc3NdLFtuLkR3Z0xhYmVsU3R5bGUuTm9uZSxSXSxbbi5Ed2dMYWJlbFN0eWxlLlRleHRPdXRsaW5lLFNdXSksdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLG8ucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLHRoaXMuX2dyYXBoaWNzUHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3JlbmRlcmVyPW5ldyBhLkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX3RleHRDYWNoZT1uZXcgTS5UZXh0SW1hZ2VDYWNoZXNDb250YWluZXIoNWUzKSx0aGlzLl9pc0Z1bmRhbWVudGFsPSgwLEEuaXNGdW5kYW1lbnRhbFN0dWR5TWV0YUluZm8pKGUubWV0YUluZm8oKSksdGhpcy5fZm9yY2VPdmVybGF5PWl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5faW52YWxpZGF0ZWQ9ITEsdGhpcy5fdXBkYXRlVmlld0ludGVybmFsKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSkpLHRoaXMuX3JlbmRlcmVyfV9zaGlmdExhYmVscygpe2lmKCF0aGlzLl9pc0Z1bmRhbWVudGFsKXJldHVybiExO2NvbnN0IGU9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5tZXRhSW5mbygpO2lmKDEhPT1lLnBsb3RzLmxlbmd0aClyZXR1cm4hMTtjb25zdCB0PXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVtlLnBsb3RzWzBdLmlkXS5jaGlsZHMoKS5wbG90dHlwZS52YWx1ZSgpO3JldHVybiB0PT09RC5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fHQ9PT1ELkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc31fdXBkYXRlVmlld0ludGVybmFsKGUpe3RoaXMuX3JlbmRlcmVyLmNsZWFyKCkKO2NvbnN0IHQ9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcmljZVNjYWxlKHRoaXMuX2ZvcmNlT3ZlcmxheSksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighdHx8dC5pc0VtcHR5KCl8fGkuaXNFbXB0eSgpKXJldHVybjtjb25zdCBvPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZ3JhcGhpY3MoKS5kd2dsYWJlbHMoKSxhPWkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLHM9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5maXJzdFZhbHVlKHZvaWQgMCx0aGlzLl9mb3JjZU92ZXJsYXkpO2lmKDA9PT1vLnNpemV8fG51bGw9PT1hfHxudWxsPT09cylyZXR1cm47Y29uc3QgbD1hLmZpcnN0QmFyKCksZD1hLmxhc3RCYXIoKSxoPU1hdGgucm91bmQoZSpMLkR3Z0xhYmVsUGFuZVZpZXdDb25zdGFudHMuQVVUT19TSVpFX01VTFQpO2xldCBjPW51bGw7Y29uc3QgdT1bXSxmPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdnbGFiZWxzKTtvLmZvckVhY2goKChlLGkpPT57aWYoISgwLHIuZW5zdXJlRGVmaW5lZCkoZi5jaGlsZHMoKVtpXSkuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCBuPWUuZ2V0KHRoaXMuX2ZvcmNlT3ZlcmxheSk7aWYoIW4pcmV0dXJuO2NvbnN0IG89bi5zaXplO2xldCBhPS0xO24uZm9yRWFjaCgoZT0+e2ErPTE7Y29uc3QgaT1lLng7aWYoaTxsfHxkPGkpcmV0dXJuO2xldCBuLGY7aWYodGhpcy5fZ3JhcGhpY3NQcm92aWRlci5tZXRhSW5mbygpLmlzUkdCKW49bnVsbD09PWUuY29sb3JJbmRleD92b2lkIDA6dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleCksZj1udWxsPT09ZS50ZXh0Q29sb3JJbmRleD92b2lkIDA6dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUudGV4dENvbG9ySW5kZXgpO2Vsc2V7Y29uc3QgdD10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYWxldHRlcy5jaGlsZHMoKTtpZih2b2lkIDA9PT10fHx2b2lkIDA9PT10LnBhbGV0dGVfY29tbW9uKXJldHVybjtjb25zdCBpPXQucGFsZXR0ZV9jb21tb24uY2hpbGRzKCkscj1udWxsPT09ZS5jb2xvckluZGV4P251bGw6aS5jb2xvcnMuY2hpbGRzKClbZS5jb2xvckluZGV4XSxvPW51bGw9PT1lLnRleHRDb2xvckluZGV4P251bGw6aS5jb2xvcnMuY2hpbGRzKClbZS50ZXh0Q29sb3JJbmRleF07aWYodm9pZCAwPT09cnx8dm9pZCAwPT09bylyZXR1cm47bj1udWxsPT09cj92b2lkIDA6ci5jaGlsZHMoKS5jb2xvci52YWx1ZSgpLGY9bnVsbD09PW8/dm9pZCAwOm8uY2hpbGRzKCkuY29sb3IudmFsdWUoKX1pZih2b2lkIDA9PT1uJiZ2b2lkIDA9PT1mKXJldHVybjtjb25zdCBwPWUuc2l6ZSxnPWUuc3R5bGUsXz0oMCxMLmNhbGN1bGF0ZUxhYmVsSGVpZ2h0KShMLkR3Z0xhYmVsUGFuZVZpZXdDb25zdGFudHMuTk9STUFMX1NJWkUscCxoKSx4PXRoaXMuX2dldEludmVydGVkWWxvYyhlLnlsb2MsdC5pc0ludmVydGVkKCkpLHc9dm9pZCAwPT09Zj8iIjplLnRleHQsdj16W2UudGV4dEFsaWduXSxtPWUudG9vbHRpcCx5PSJtb25vc3BhY2UiPT09ZS5mb250VHlwZT9CLkNIQVJUX01PTk9TUEFDRV9GT05UX0ZBTUlMWTpCLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkse2JvbGQ6YixpdGFsaWM6VH09KDAsSS5jb252ZXJ0RHdnVGV4dEZvcm1hdHRpbmdUb09iamVjdCkoZS50ZXh0Rm9ybWF0dGluZyksQz1fKkwuRHdnTGFiZWxQYW5lVmlld0NvbnN0YW50cy5GT05UX1NJWkVfTVVMVCxSPU1hdGgucm91bmQoLjE2NjY2NjY2NjY2NjY2NjY2KkMpLFM9dy5sZW5ndGg/KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl90ZXh0Q2FjaGUuZ2V0KHt0ZXh0OncsYm9sZDpiLGl0YWxpYzpULGZvbnQ6eSxmb250U2l6ZTpDLGxpbmVTcGFjaW5nOlIsYWxpZ246dn0pKS50ZXh0SW1hZ2VIZWlnaHQ6MCxQPXRoaXMuX2dldExvY2F0aW9uRGF0YSh7aW5kZXg6aSxwcmljZTplLnkseWxvYzp4LHNpemU6XyxzdHlsZTpnLGZpcnN0VmFsdWU6cyxoaWRlU2hhcGU6dm9pZCAwPT09bnx8Im4iPT09Zyx0ZXh0SGVpZ2h0OlN9KSxEPXtjZW50ZXI6dGhpcy5fc2hpZnRMYWJlbHMoKT9QLnJpZ2h0OlAuY2VudGVyLGxlZnQ6TmFOLHJpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDpOYU4seTpQLnkwLHdpZHRoOlAuc2hhcGVXaWR0aCxoZWlnaHQ6UC5zaGFwZUhlaWdodCx2ZXJ0T2Zmc2V0OlAudmVydE9mZnNldCx0ZXh0OncsZm9udFNpemU6UC5mb250U2l6ZSxmb250OnksYm9sZDpiLGl0YWxpYzpULHN0eWxlOntjb2xvcjpuLGJvcmRlckNvbG9yOm4sdGV4dENvbG9yOmZ9LHRleHRBbGlnbjp2LGxpbmVTcGFjaW5nOlIsdG9vbHRpcDptfTtsZXQgTTtQLnN0eWxlIT09Yz8oTT17aXRlbXM6W10sYWxsSXRlbXNJbmNsdWRpbmdJbnZpc2libGVTaXplOm8sZW5kVmlzaWJsZUl0ZW1JbmRleDphLHN0eWxlOlAuc3R5bGV9LHUucHVzaChNKSxjPVAuc3R5bGUpOk09dVt1Lmxlbmd0aC0xXSxNLml0ZW1zLnB1c2goRCksTS5lbmRWaXNpYmxlSXRlbUluZGV4PWF9KSl9KSksdS5mb3JFYWNoKCh0PT57bGV0IGk9dC5pdGVtcztpZih0aGlzLl9pc0Z1bmRhbWVudGFsKXN3aXRjaCh0LnN0eWxlKXtjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbFVwOmNhc2Ugbi5Ed2dMYWJlbFN0eWxlLkxhYmVsRG93bjpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnQ6Y2FzZSBuLkR3Z0xhYmVsU3R5bGUuTGFiZWxSaWdodDpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbENlbnRlcjpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnRVcDpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnREb3duOmNhc2Ugbi5Ed2dMYWJlbFN0eWxlLkxhYmVsUmlnaHRVcDpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0RG93bjpjYXNlIG4uRHdnTGFiZWxTdHlsZS5UZXh0T3V0bGluZTppPUUoaSx0LmFsbEl0ZW1zSW5jbHVkaW5nSW52aXNpYmxlU2l6ZSx0LmVuZFZpc2libGVJdGVtSW5kZXgpfWNvbnN0IG89bmV3KCgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcmVuZGVyZXJUeXBlQnlTdHlsZS5nZXQodC5zdHlsZSkpKSh7Cml0ZW1zOmksYmFyU3BhY2luZzplfSx7dGV4dENhY2hlOnRoaXMuX3RleHRDYWNoZSxza2lwUmVuZGVyaW5nT3B0aW1pemF0aW9uczohMH0pO3RoaXMuX3JlbmRlcmVyLmFwcGVuZChvKX0pKX1fZ2V0TG9jYXRpb25EYXRhKGUpe2NvbnN0IHQ9TC5Ed2dMYWJlbFBhbmVWaWV3Q29uc3RhbnRzLGk9ZS5zaXplKnQuRk9OVF9TSVpFX01VTFQscj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxvPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJpY2VTY2FsZSh0aGlzLl9mb3JjZU92ZXJsYXkpO2xldCBhPU5hTjtpZihlLnlsb2M9PT1uLkR3Z0xhYmVsWWxvYy5QcmljZXx8ZS55bG9jPT09bi5Ed2dMYWJlbFlsb2MuQXV0bylhPW8ucHJpY2VUb0Nvb3JkaW5hdGUoZS5wcmljZSxlLmZpcnN0VmFsdWUpO2Vsc2V7Y29uc3QgdD1lLnlsb2M9PT1uLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcj8yOjMsaT10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnNlcmllcygpLmJhcnMoKS52YWx1ZUF0KGUuaW5kZXgpO2lmKG51bGwhPT1pKXtjb25zdCByPWlbdF07bnVsbCE9ciYmKGE9by5wcmljZVRvQ29vcmRpbmF0ZShyLGUuZmlyc3RWYWx1ZSkpfX1jb25zdCBzPWUuc2l6ZSp0LlNIQVBFX1dJRFRIX01VTFQsbD1lLnNpemUqdC5TSEFQRV9IRUlHSFRfTVVMVCxkPWUuaGlkZVNoYXBlPy41Kmw6KGUuc3R5bGU9PT1uLkR3Z0xhYmVsU3R5bGUuVGV4dE91dGxpbmU/MS4xOjEuMikqbCxoPWQqdGhpcy5fZ2V0WUxvY1NpZ24oZS55bG9jLGEsby5oZWlnaHQoKSxkLGUudGV4dEhlaWdodCk7cmV0dXJuey4uLnIuYmFyQm9yZGVycyhlLmluZGV4KSx5MDphLHNoYXBlV2lkdGg6cyxzaGFwZUhlaWdodDpsLHZlcnRPZmZzZXQ6aCxmb250U2l6ZTppLHN0eWxlOmUuc3R5bGV9fV9nZXRZTG9jU2lnbihlLHQsaSxyLG8pe3N3aXRjaChlKXtjYXNlIG4uRHdnTGFiZWxZbG9jLlByaWNlOnJldHVybiAwO2Nhc2Ugbi5Ed2dMYWJlbFlsb2MuQWJvdmVCYXI6cmV0dXJuLTE7Y2FzZSBuLkR3Z0xhYmVsWWxvYy5CZWxvd0JhcjpyZXR1cm4gMTtjYXNlIG4uRHdnTGFiZWxZbG9jLkF1dG86cmV0dXJuIGk8MTMwP3Q+LjUqaT8tMToxOi1NYXRoLnNpZ24odC1pK3IrMipvKX19X2dldEludmVydGVkWWxvYyhlLHQpe2lmKHQpe2lmKGU9PT1uLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcilyZXR1cm4gbi5Ed2dMYWJlbFlsb2MuQmVsb3dCYXI7aWYoZT09PW4uRHdnTGFiZWxZbG9jLkJlbG93QmFyKXJldHVybiBuLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcn1yZXR1cm4gZX19fSwxMzU2NzcoZSx0LGkpe2kucih0KSxpLmQodCx7RHdnTGluZUZpbGxQYW5lVmlldzooKT0+cH0pO3ZhciByPWkoMTM4NjM4KSxuPWkoNzM2NTMxKSxvPWkoMTc5Njc0KSxhPWkoMjU0NzMxKSxzPWkoMjkzNDE4KSxsPWkoNzg5MTkwKSxkPWkoODgwNzYxKSxoPWkoNzYzKTtjb25zdCBjPXt4MTowLHkxOjAseDI6MCx5MjowLGV4dGVuZDpvLkR3Z0V4dGVuZC5Ob25lfSx1PXt4MTowLHkxOjAseDI6MCx5MjowLGV4dGVuZDpvLkR3Z0V4dGVuZC5Ob25lfTtmdW5jdGlvbiBmKGUsdCxpLHIpe2NvbnN0IG89dC5zdWJ0cmFjdChlKS5ub3JtYWxpemVkKCk7aWYoTWF0aC5hYnMoby54KT5NYXRoLmFicyhvLnkpKXtjb25zdCB0PShpLWUueCkvby54O3JldHVybiBuZXcgbi5Qb2ludChlLmFkZFNjYWxlZChvLHQpLngsZS5hZGRTY2FsZWQobyx0KS55KX17Y29uc3QgdD0oci1lLnkpL28ueTtyZXR1cm4gbmV3IG4uUG9pbnQoZS5hZGRTY2FsZWQobyx0KS54LGUuYWRkU2NhbGVkKG8sdCkueSl9fWNsYXNzIHB7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9yZ2JhRnJvbUludGVnZXI9KDAsYS5yZ2JhRnJvbUludGVnZXJDYWNoZWQpKCksdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2ZvcmNlT3ZlcmxheT1pLHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09cj9uZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSxyKTpuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IGwuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgZC5Qb2x5Z29uUmVuZGVyZXIodGhpcy5faGl0VGVzdFJlc3VsdCk7aS5zZXREYXRhKHQpLGUuYXBwZW5kKGkpfXJldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLnBhbGV0dGVzLHQ9dGhpcy5fcHJvdmlkZXIubWV0YUluZm8oKS5pc1JHQjtpZigodm9pZCAwPT09ZXx8dm9pZCAwPT09ZS5jaGlsZHMoKS5wYWxldHRlX2NvbW1vbikmJiF0KXJldHVybjtjb25zdCBpPXQ/dm9pZCAwOigwLHIuZW5zdXJlRGVmaW5lZCkoZS5jaGlsZHMoKS5wYWxldHRlX2NvbW1vbikuY2hpbGRzKCksYT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKHRoaXMuX2ZvcmNlT3ZlcmxheSksbD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighYXx8YS5pc0VtcHR5KCl8fGwuaXNFbXB0eSgpKXJldHVybjtpZihudWxsPT09bC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpcmV0dXJuO2NvbnN0IGQ9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09ZClyZXR1cm47Y29uc3QgaD10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmR3Z2xpbmVzKCkscD10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmR3Z2xpbmVmaWxscygpO2lmKDA9PT1wLnNpemV8fDA9PT1oLnNpemUpcmV0dXJuO2NvbnN0IGc9bmV3IE1hcDtoLmZvckVhY2goKGU9Pntjb25zdCB0PWUuZ2V0KHRoaXMuX2ZvcmNlT3ZlcmxheSk7dD8uZm9yRWFjaCgoZT0+e2cuc2V0KGUuaWQsZSl9KSl9KSk7Y29uc3QgXz0oMCwKci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdnbGluZWZpbGxzKTtwLmZvckVhY2goKChlLGgpPT57KDAsci5lbnN1cmVEZWZpbmVkKShfLmNoaWxkcygpW2hdKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJmUuZm9yRWFjaCgoZT0+e2NvbnN0IGg9Zy5nZXQoZS5saW5lMSkscD1nLmdldChlLmxpbmUyKTtpZihoJiZwKXtjb25zdCBnPWZ1bmN0aW9uKGUsdCxpLHIsYSl7Y29uc3QgbD1yLndpZHRoKCksZD0oMCxzLmNvbnZlcnRQb2ludHNUb1NjcmVlbkRpbWVuc2lvbikoZS54MSxlLnkxLGUueDIsZS55MixlLmV4dGVuZCxpLHIsbCxhLGMpLGg9KDAscy5jb252ZXJ0UG9pbnRzVG9TY3JlZW5EaW1lbnNpb24pKHQueDEsdC55MSx0LngyLHQueTIsdC5leHRlbmQsaSxyLGwsYSx1KTtpZihudWxsPT09ZHx8bnVsbD09PWgpcmV0dXJuIG51bGw7bGV0IHA9bmV3IG4uUG9pbnQoZC54MSxkLnkxKSxnPW5ldyBuLlBvaW50KGQueDIsZC55MiksXz1uZXcgbi5Qb2ludChoLngxLGgueTEpLHg9bmV3IG4uUG9pbnQoaC54MixoLnkyKTtpZigoMCxuLmVxdWFsUG9pbnRzKShwLGcpfHwoMCxuLmVxdWFsUG9pbnRzKShfLHgpKXJldHVybltwLGcseCxfXTtjb25zdCB3PSgwLHMuaXNFeHRlbmRJblNhbWVEaXJlY3Rpb24pKGQuZXh0ZW5kLG8uRHdnRXh0ZW5kLkxlZnQpLHY9KDAscy5pc0V4dGVuZEluU2FtZURpcmVjdGlvbikoZC5leHRlbmQsby5Ed2dFeHRlbmQuUmlnaHQpLG09KDAscy5pc0V4dGVuZEluU2FtZURpcmVjdGlvbikoaC5leHRlbmQsby5Ed2dFeHRlbmQuTGVmdCkseT0oMCxzLmlzRXh0ZW5kSW5TYW1lRGlyZWN0aW9uKShoLmV4dGVuZCxvLkR3Z0V4dGVuZC5SaWdodCksYj13JiZtLFQ9diYmeSxDPWkuaGVpZ2h0KCksUj0tbCxTPTIqbCxQPS1DLEQ9MipDO2xldCBNPVIsTD1TO3AueD5nLngmJihNPVMsTD1SKTtsZXQgQj1QLEE9RDtwLnk+Zy55JiYoQj1ELEE9UCk7bGV0IEk9Uix6PVM7Xy54PngueCYmKEk9Uyx6PVIpO2xldCBIPVAsRT1EO3JldHVybiBfLnk+eC55JiYoSD1ELEU9UCksKGJ8fG51bGw9PT1lLngxJiZ3KSYmKHA9ZihnLHAsTSxCKSksKGJ8fG51bGw9PT10LngxJiZtKSYmKF89Zih4LF8sSSxIKSksKFR8fG51bGw9PT1lLngyJiZ2KSYmKGc9ZihwLGcsTCxBKSksKFR8fG51bGw9PT10LngyJiZ5KSYmKHg9ZihfLHgseixFKSksW3AsZyx4LF9dfShoLHAsYSxsLGQpO2lmKG51bGwhPT1nKXtsZXQgbjtpZih0KW49dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleCk7ZWxzZXtjb25zdCB0PSgwLHIuZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuY29sb3JJbmRleF07bj10P3QuY2hpbGRzKCkuY29sb3IudmFsdWUoKToidHJhbnNwYXJlbnQifXRoaXMuX2RhdGEucHVzaCh7cG9pbnRzOmcsZmlsbEJhY2tncm91bmQ6ITAsZmlsbGVkOiEwLGJhY2tjb2xvcjpuLGNvbG9yOm4sbGluZXdpZHRoOjAsbGluZXN0eWxlOjB9KX19fSkpfSkpfX19LDEyOTkzMihlLHQsaSl7aS5yKHQpLGkuZCh0LHtEd2dMaW5lUGFuZVZpZXc6KCk9PnZ9KTt2YXIgcixuPWkoMTM4NjM4KSxvPWkoNzM2NTMxKSxhPWkoMTc5Njc0KSxzPWkoMjU0NzMxKSxsPWkoMjkzNDE4KSxkPWkoNzAwNzQpOyFmdW5jdGlvbihlKXtlLlNvbGlkPSJzb2wiLGUuRG90dGVkPSJkb3QiLGUuRGFzaGVkPSJkc2giLGUuTGVmdEFycm93PSJhbCIsZS5SaWdodEFycm93PSJhciIsZS5Cb3RoQXJyb3c9ImFiIn0ocnx8KHI9e30pKTt2YXIgaD1pKDc2MyksYz1pKDkzNDMwNSksdT1pKDYwNDIxNCk7Y29uc3QgZj17W3IuU29saWRdOntkYXNoUGF0dGVybjpbXSxkYXNoUGF0dGVyblNpemU6MCxkcmF3TGVmdEFycm93OiExLGRyYXdSaWdodEFycm93OiExfSxbci5EYXNoZWRdOntkYXNoUGF0dGVybjpbNSw2XSxkYXNoUGF0dGVyblNpemU6MTEsZHJhd0xlZnRBcnJvdzohMSxkcmF3UmlnaHRBcnJvdzohMX0sW3IuRG90dGVkXTp7ZGFzaFBhdHRlcm46WzEsMl0sZGFzaFBhdHRlcm5TaXplOjMsZHJhd0xlZnRBcnJvdzohMSxkcmF3UmlnaHRBcnJvdzohMX0sW3IuTGVmdEFycm93XTp7ZGFzaFBhdHRlcm46W10sZGFzaFBhdHRlcm5TaXplOjAsZHJhd0xlZnRBcnJvdzohMCxkcmF3UmlnaHRBcnJvdzohMX0sW3IuUmlnaHRBcnJvd106e2Rhc2hQYXR0ZXJuOltdLGRhc2hQYXR0ZXJuU2l6ZTowLGRyYXdMZWZ0QXJyb3c6ITEsZHJhd1JpZ2h0QXJyb3c6ITB9LFtyLkJvdGhBcnJvd106e2Rhc2hQYXR0ZXJuOltdLGRhc2hQYXR0ZXJuU2l6ZTowLGRyYXdMZWZ0QXJyb3c6ITAsZHJhd1JpZ2h0QXJyb3c6ITB9fSxwPW5ldyBNYXA7ZnVuY3Rpb24gZyhlLHQpe2xldCBpPXAuZ2V0KGUpO3ZvaWQgMD09PWkmJihpPW5ldyBNYXAscC5zZXQoZSxpKSk7bGV0IHI9aS5nZXQodCk7cmV0dXJuIHZvaWQgMD09PXImJihyPWUubWFwKChlPT5lKnQpKSxpLnNldCh0LHIpKSxyfWZ1bmN0aW9uIF8oZSx0LGkscil7aWYoaS5zdWJ0cmFjdCh0KS5sZW5ndGgoKTwxKXJldHVybjtjb25zdCBuPSgwLHUuZ2V0QXJyb3dQb2ludHMpKHQsaSxyLCEwKTtmb3IoY29uc3QgdCBvZiBuKXtjb25zdCBpPXRbMF0ueCxyPXRbMF0ueSxuPXRbMV0ueCxvPXRbMV0ueTtlLm1vdmVUbyhpLHIpLGUubGluZVRvKG4sbyl9fWNsYXNzIHggZXh0ZW5kcyBjLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lPz9udWxsfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7aWYobnVsbD09PXRoaXMuX2RhdGEpcmV0dXJuIG51bGw7Y29uc3QgdD0oMCx1LmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmxpbmUse2l0ZW1zOmksaXRlbUNvdW50OnJ9PXRoaXMuX2RhdGE7bGV0IG49MDtmb3IoY29uc3QgbyBvZiBpKXtpZihuPT09cilicmVhaztjb25zdCBpPU1hdGgubWF4KHQsby53aWR0aC8yKTtpZigoMCxkLmRpc3RhbmNlVG9TZWdtZW50KShvLmV4dFAxLG8uZXh0UDIsZSkuZGlzdGFuY2U8PWkpcmV0dXJuIG5ldyBoLkhpdFRlc3RSZXN1bHQoaC5IaXRUYXJnZXQuUmVndWxhcik7bis9MX1yZXR1cm4gbnVsbH0KX2RyYXdJbXBsKGUpe2lmKG51bGw9PT10aGlzLl9kYXRhKXJldHVybjtjb25zdCB0PWUuY29udGV4dDt0LmxpbmVDYXA9ImJ1dHQiO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWU7Zm9yKGNvbnN0W2Usbl1vZiB0aGlzLl9kYXRhLml0ZW1zQnlDb2xvcil7bGV0IGE7dC5zdHJva2VTdHlsZT1lO2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IG49ZltlLnN0eWxlXSxzPWcobi5kYXNoUGF0dGVybixlLndpZHRoKmkpLGw9TWF0aC5mbG9vcihlLndpZHRoKmkpO3ZvaWQgMCE9PWEmJmEubGluZVdpZHRoPT09ZS53aWR0aCYmYS5wYXR0ZXJuPT09c3x8KHZvaWQgMCE9PWE/KHQuc3Ryb2tlKCksYS5saW5lV2lkdGg9ZS53aWR0aCxhLnBhdHRlcm49cyk6YT17bGluZVdpZHRoOmUud2lkdGgscGF0dGVybjpzfSx0LmJlZ2luUGF0aCgpLHQubGluZVdpZHRoPWwsdC5zZXRMaW5lRGFzaChzKSk7Y29uc3QgZD1sJTImJk1hdGguYWJzKGUuZXh0UDEueS1lLmV4dFAyLnkpPjFlLTg/LjU6MCxoPWwlMiYmTWF0aC5hYnMoZS5leHRQMS54LWUuZXh0UDIueCk+MWUtOD8uNTowLGM9KDAsby5wb2ludCkoTWF0aC5yb3VuZChlLnAxLngqaSkrZCxNYXRoLnJvdW5kKGUucDEueSpyKStoKSx1PSgwLG8ucG9pbnQpKE1hdGgucm91bmQoZS5wMi54KmkpK2QsTWF0aC5yb3VuZChlLnAyLnkqcikraCkscD1NYXRoLnJvdW5kKGUuZXh0UDEueCppKStkLHg9TWF0aC5yb3VuZChlLmV4dFAxLnkqcikraCx3PU1hdGgucm91bmQoZS5leHRQMi54KmkpK2Qsdj1NYXRoLnJvdW5kKGUuZXh0UDIueSpyKStoO3QubW92ZVRvKHAseCksdC5saW5lVG8odyx2KTtjb25zdCBtPWUud2lkdGgqaTtuLmRyYXdMZWZ0QXJyb3cmJl8odCx1LGMsbSksbi5kcmF3UmlnaHRBcnJvdyYmXyh0LGMsdSxtKX12b2lkIDAhPT1hJiZ0LnN0cm9rZSgpfX19dmFyIHc9aSg3MTYwMjEpO2NsYXNzIHZ7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5fbG9jYXRpb25EYXRhQ2FjaGU9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcmVuZGVyZXI9bmV3IHgsdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLHMucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLHRoaXMuX2dyYXBoaWNzUHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2ZvcmNlT3ZlcmxheT1pfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl91cGRhdGVSZW5kZXJlcihlKSksdGhpcy5fcmVuZGVyZXJ9X3VwZGF0ZVJlbmRlcmVyKGUpe3RoaXMuX3JlbmRlcmVyLnNldERhdGEobnVsbCk7Y29uc3QgdD10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByaWNlU2NhbGUodGhpcy5fZm9yY2VPdmVybGF5KSxpPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCF0fHx0LmlzRW1wdHkoKXx8aS5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5ncmFwaGljcygpLmR3Z2xpbmVzKCk7aWYoMD09PXIuc2l6ZSlyZXR1cm47aWYobnVsbD09PWkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKXJldHVybjtjb25zdCBzPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09cylyZXR1cm47Y29uc3QgZD17eDE6MCx5MTowLHgyOjAseTI6MCxleHRlbmQ6YS5Ed2dFeHRlbmQuTm9uZX0saD1uZXcgTWFwO2xldCBjPTA7Y29uc3QgdT0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmR3Z2xpbmVzKSx7bWVkaWFTaXplOnt3aWR0aDpwLGhlaWdodDpnfX09ZTtmb3IoY29uc3RbZSxfXW9mIHIpe2lmKCEoMCxuLmVuc3VyZURlZmluZWQpKHUuY2hpbGRzKClbZV0pLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSljb250aW51ZTtjb25zdCByPV8uZ2V0KHRoaXMuX2ZvcmNlT3ZlcmxheSk7aWYocilmb3IoY29uc3QgZSBvZiByKXtpZihudWxsPT09ZS5jb2xvckluZGV4KWNvbnRpbnVlO2xldCByO2lmKHRoaXMuX2dyYXBoaWNzUHJvdmlkZXIubWV0YUluZm8oKS5pc1JHQilyPXRoaXMuX3JnYmFGcm9tSW50ZWdlcihlLmNvbG9ySW5kZXgpO2Vsc2V7Y29uc3QgdD10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYWxldHRlcztpZih2b2lkIDA9PT10fHx2b2lkIDA9PT10LmNoaWxkcygpLnBhbGV0dGVfY29tbW9uKWNvbnRpbnVlO3I9dC5jaGlsZHMoKS5wYWxldHRlX2NvbW1vbi5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKClbZS5jb2xvckluZGV4XS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfWlmKHZvaWQgMD09PXIpY29udGludWU7Y29uc3Qgbj0oMCxsLmNvbnZlcnRQb2ludHNUb1NjcmVlbkRpbWVuc2lvbikoZS54MSxlLnkxLGUueDIsZS55MixlLmV4dGVuZCx0LGkscCxzLGQpO2lmKG51bGw9PT1uKWNvbnRpbnVlO2NvbnN0e3gxOnUseDI6Xyx5MTp4LHkyOnYsZXh0ZW5kOm19PW4seT1tPT09YS5Ed2dFeHRlbmQuQm90aHx8bT09PWEuRHdnRXh0ZW5kLkxlZnQsYj1tPT09YS5Ed2dFeHRlbmQuQm90aHx8bT09PWEuRHdnRXh0ZW5kLlJpZ2h0LFQ9bmV3IG8uUG9pbnQodSx4KSxDPW5ldyBvLlBvaW50KF8sdiksUj0oMCx3LmludGVyc2VjdExpbmVXaXRoVmlld3BvcnQpKFQsQyx5LGIscCxnLGZbZS5zdHlsZV0uZGFzaFBhdHRlcm5TaXplKmUud2lkdGgpO2lmKG51bGw9PT1SKWNvbnRpbnVlO2xldCBTO3RoaXMuX2xvY2F0aW9uRGF0YUNhY2hlLmxlbmd0aD5jPyhTPXRoaXMuX2xvY2F0aW9uRGF0YUNhY2hlW2NdLFMucDE9VCxTLnAyPUMsUy5leHRQMT1SWzBdLFMuZXh0UDI9UlsxXSxTLndpZHRoPWUud2lkdGg+MD9lLndpZHRoOjEsUy5zdHlsZT1lLnN0eWxlKTooUz17cDE6VCxwMjpDLGV4dFAxOlJbMF0sZXh0UDI6UlsxXSx3aWR0aDplLndpZHRoPjA/ZS53aWR0aDoxLHN0eWxlOmUuc3R5bGV9LHRoaXMuX2xvY2F0aW9uRGF0YUNhY2hlLnB1c2goUykpO2xldCBQPWguZ2V0KHIpCjt2b2lkIDA9PT1QJiYoUD1bXSxoLnNldChyLFApKSxQLnB1c2goUyksYys9MX19dGhpcy5fcmVuZGVyZXIuc2V0RGF0YSh7aXRlbXM6dGhpcy5fbG9jYXRpb25EYXRhQ2FjaGUsaXRlbUNvdW50OmMsaXRlbXNCeUNvbG9yOmh9KX19fSw4Mjg4NzAoZSx0LGkpe2kucih0KSxpLmQodCx7RHdnUG9seWxpbmVQYW5lVmlldzooKT0+U30pO3ZhciByLG49aSgxMzg2MzgpLG89aSg3MzY1MzEpOyFmdW5jdGlvbihlKXtlLlNvbGlkPSJzb2wiLGUuRG90dGVkPSJkb3QiLGUuRGFzaGVkPSJkc2giLGUuQXJyb3dMZWZ0PSJhbCIsZS5BcnJvd1JpZ2h0PSJhciIsZS5BcnJvd0JvdGg9ImFiIn0ocnx8KHI9e30pKTt2YXIgYT1pKDI1NDczMSkscz1pKDEwMCksbD1pKDY2MzA0NiksZD1pKDcwMDc0KSxoPWkoNTczMDU0KSxjPWkoNzYzKSx1PWkoNjA0MjE0KTtjb25zdCBmPXtbci5Tb2xpZF06W10sW3IuRGFzaGVkXTpbNSw2XSxbci5Eb3R0ZWRdOlsxLDJdLFtyLkFycm93TGVmdF06W10sW3IuQXJyb3dSaWdodF06W10sW3IuQXJyb3dCb3RoXTpbXX0scD0oMCxsLmRlZmF1bHQpKCgoZSx0KT0+ZltlXS5tYXAoKGU9PmUqdCkpKSwoKGUsdCk9PmAke2V9XyR7dH1gKSk7ZnVuY3Rpb24gZyhlLHQpe2xldCBpPSEwO2Zvcihjb25zdCByIG9mIHQucG9pbnRzKWk/KGUubW92ZVRvKHIueCxyLnkpLGk9ITEpOmUubGluZVRvKHIueCxyLnkpfWZ1bmN0aW9uIF8oZSx0KXtmb3IoY29uc3QgaSBvZiB0LmJlemllckN1cnZlcyl7Y29uc3RbdCxyLG4sb109aTtlLmxpbmVUbyh0LngsdC55KSxlLmJlemllckN1cnZlVG8oci54LHIueSxuLngsbi55LG8ueCxvLnkpfX1mdW5jdGlvbiB4KGUsdCxpLHIpe2lmKGkuc3VidHJhY3QodCkubGVuZ3RoKCk8MSlyZXR1cm47Y29uc3Qgbj0oMCx1LmdldEFycm93UG9pbnRzKSh0LGksciwhMCk7Zm9yKGNvbnN0IHQgb2YgbillLm1vdmVUbyh0WzBdLngsdFswXS55KSxlLmxpbmVUbyh0WzFdLngsdFsxXS55KX1jbGFzcyB3IGV4dGVuZHMgaC5NZWRpYUNvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lPz9udWxsfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7aWYobnVsbD09PXRoaXMuX2RhdGEpcmV0dXJuIG51bGw7Y29uc3QgdD0oMCx1LmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmxpbmU7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fZGF0YS5pdGVtcyl7Y29uc3Qgcj1NYXRoLm1heCh0LGkud2lkdGgvMik7aWYoaS5jdXJ2ZWQpZm9yKGNvbnN0IHQgb2YgaS5iZXppZXJDdXJ2ZXMpe2NvbnN0W2ksbixvLGFdPXQ7aWYoKDAscy5jdWJpY0JlemllckhpdFRlc3QpKGksbixvLGEsZSxyKSlyZXR1cm4gbmV3IGMuSGl0VGVzdFJlc3VsdChjLkhpdFRhcmdldC5SZWd1bGFyKX1lbHNlIGZvcihsZXQgdD0xO3Q8aS5wb2ludHMubGVuZ3RoO3QrPTEpe2NvbnN0IG49aS5wb2ludHNbdF0sbz1pLnBvaW50c1t0LTFdO2lmKCgwLGQuZGlzdGFuY2VUb1NlZ21lbnQpKG8sbixlKS5kaXN0YW5jZTw9cilyZXR1cm4gbmV3IGMuSGl0VGVzdFJlc3VsdChjLkhpdFRhcmdldC5SZWd1bGFyKX19cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKG51bGw9PT10aGlzLl9kYXRhKXJldHVybjtjb25zdCB0PWUuY29udGV4dDt0LmxpbmVDYXA9ImJ1dHQiO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGEuaXRlbXMpe3Quc3Ryb2tlU3R5bGU9ZS5jb2xvcjtjb25zdCBpPU1hdGgubWF4KDEsZS53aWR0aCkscj1wKGUuc3R5bGUsaSk7dC5saW5lV2lkdGg9aSx0LnNldExpbmVEYXNoKHIpLHQuYmVnaW5QYXRoKCksZS5jdXJ2ZWQ/Xyh0LGUpOmcodCxlKSxlLmNsb3NlZCYmdC5jbG9zZVBhdGgoKSxlLmZpbGxDb2xvciYmKHQuZmlsbFN0eWxlPWUuZmlsbENvbG9yLHQuZmlsbCgpKSxlLmxlZnRBcnJvd1BvaW50cyYmeCh0LGUubGVmdEFycm93UG9pbnRzWzBdLGUubGVmdEFycm93UG9pbnRzWzFdLGkpLGUucmlnaHRBcnJvd1BvaW50cyYmeCh0LGUucmlnaHRBcnJvd1BvaW50c1swXSxlLnJpZ2h0QXJyb3dQb2ludHNbMV0saSksdC5zdHJva2UoKX19fXZhciB2PWkoMzI0MDY0KTtmdW5jdGlvbiBtKGUpe3JldHVybiBlPT09ci5BcnJvd0xlZnR8fGU9PT1yLkFycm93Qm90aH1mdW5jdGlvbiB5KGUpe3JldHVybiBlPT09ci5BcnJvd1JpZ2h0fHxlPT09ci5BcnJvd0JvdGh9ZnVuY3Rpb24gYihlKXtyZXR1cm4oMCxvLnBvaW50KShlLngsZS55KX1mdW5jdGlvbiBUKGUpe3JldHVybnt4OmUueCx5OmUueX19ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5tYXAoYil9ZnVuY3Rpb24gUihlKXtjb25zdCB0PVtdLGk9ZS5wb2ludHMscj1lLmNsb3NlZCxuPWkubGVuZ3RoLG89cj9uLTE6bi0yO2xldCBhPWlbbi0xXTtmb3IobGV0IGU9MDtlPD1vO2UrPTEpe2NvbnN0IHM9aVtlXSxsPWlbKGUrMSklbl0sZD1pWyhlKzIpJW5dLGg9KGwueC1hLngpLzMsYz0obC55LWEueSkvMyx1PShkLngtcy54KS8zLGY9KGQueS1zLnkpLzMscD1bcyx7eDpzLngraCx5OnMueStjfSx7eDpsLngtdSx5OmwueS1mfSxsXTtyfHwoMD09PWU/KHBbMV0ueD0ocy54K3BbMl0ueCkvMixwWzFdLnk9KHMueStwWzJdLnkpLzIpOmU9PT1vJiYocFsyXS54PShsLngrcFsxXS54KS8yLHBbMl0ueT0obC55K3BbMV0ueSkvMikpLHQucHVzaChwKSxhPXN9Y29uc3QgbD1lLnN0eWxlO2xldCBkLGg7aWYobShsKSl7Y29uc3RbZSxpLHIsbl09Qyh0WzBdKTtkPVtUKCgwLHMuY3ViaWNCZXppZXJQb2ludCkoZSxpLHIsbiwuMSkpLFQoZSldfWlmKHkobCkpe2NvbnN0W2UsaSxuLG9dPUModFt0Lmxlbmd0aC0ocj8yOjEpXSk7aD1bVCgoMCxzLmN1YmljQmV6aWVyUG9pbnQpKGUsaSxuLG8sLjkpKSxUKG8pXX1yZXR1cm57YmV6aWVyQ3VydmVQb2ludHM6dCxsZWZ0QXJyb3dQb2ludHM6ZCxyaWdodEFycm93UG9pbnRzOmh9fWNsYXNzIFN7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcmVuZGVyZXI9bmV3IHcsdGhpcy5fY3VydmVkTGluZXNEYXRhQ2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLGEucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLAp0aGlzLl9ncmFwaGljc1Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9mb3JjZU92ZXJsYXk9aX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl91cGRhdGVSZW5kZXJlcigpKSx0aGlzLl9yZW5kZXJlcn1fdXBkYXRlUmVuZGVyZXIoKXt0aGlzLl9yZW5kZXJlci5zZXREYXRhKG51bGwpO2NvbnN0IGU9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcmljZVNjYWxlKHRoaXMuX2ZvcmNlT3ZlcmxheSksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZ3JhcGhpY3MoKS5kd2dwb2x5bGluZXMoKTtpZigwPT09aS5zaXplKXJldHVybjtjb25zdCByPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1yKXJldHVybjtjb25zdCBhPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz1pPT4oMCxvLnBvaW50KSh0LmluZGV4VG9Db29yZGluYXRlKGkueCksZS5wcmljZVRvQ29vcmRpbmF0ZShpLnksYSkpLGw9ZT0+ZS5tYXAocyksZD0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmR3Z3BvbHlsaW5lcyksaD1bXSxjPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIubWV0YUluZm8oKS5pc1JHQjtsZXQgdTtpZighYyl7Y29uc3QgZT10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYWxldHRlcztpZih2b2lkIDA9PT1lfHx2b2lkIDA9PT1lLmNoaWxkcygpLnBhbGV0dGVfY29tbW9uKXJldHVybjt1PWUuY2hpbGRzKCkucGFsZXR0ZV9jb21tb24uY2hpbGRzKCkuY29sb3JzLmNoaWxkcygpfWZvcihjb25zdFtlLHRdb2YgaSl7aWYoISgwLG4uZW5zdXJlRGVmaW5lZCkoZC5jaGlsZHMoKVtlXSkuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IGk9dC5nZXQodGhpcy5fZm9yY2VPdmVybGF5KTtpZihpKWZvcihjb25zdCBlIG9mIGkpe2lmKCEoMCx2LmlzRHdnUG9seWxpbmVJbkJhcnNSYW5nZSkoZSxyKSljb250aW51ZTtsZXQgdCxpO2lmKGM/KHQ9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3IpLG51bGwhPT1lLmZpbGxDb2xvciYmKGk9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuZmlsbENvbG9yKSkpOih0PSgwLG4uZW5zdXJlRGVmaW5lZCkodSlbZS5jb2xvcl0uY2hpbGRzKCkuY29sb3IudmFsdWUoKSxudWxsIT09ZS5maWxsQ29sb3ImJihpPSgwLG4uZW5zdXJlRGVmaW5lZCkodSlbZS5maWxsQ29sb3JdLmNoaWxkcygpLmNvbG9yLnZhbHVlKCkpKSx2b2lkIDAhPT10KWlmKCFlLmN1cnZlZHx8ZS5wb2ludHMubGVuZ3RoPDMpe2NvbnN0IHI9ZS5wb2ludHMubWFwKHMpLG49bShlLnN0eWxlKSYmci5sZW5ndGg+MT9bclsxXSxyWzBdXTp2b2lkIDAsbz15KGUuc3R5bGUpJiZyLmxlbmd0aD4xP1tyW3IubGVuZ3RoLTJdLHJbci5sZW5ndGgtMV1dOnZvaWQgMDtoLnB1c2goey4uLmUsY3VydmVkOiExLHBvaW50czpyLGNvbG9yOnQsZmlsbENvbG9yOmksbGVmdEFycm93UG9pbnRzOm4scmlnaHRBcnJvd1BvaW50czpvfSl9ZWxzZXtsZXQgcj10aGlzLl9jdXJ2ZWRMaW5lc0RhdGFDYWNoZS5nZXQoZSk7dm9pZCAwPT09ciYmKHI9UihlKSx0aGlzLl9jdXJ2ZWRMaW5lc0RhdGFDYWNoZS5zZXQoZSxyKSk7Y29uc3Qgbj1yLmJlemllckN1cnZlUG9pbnRzLm1hcChsKTtsZXQgbyxhO2lmKHIubGVmdEFycm93UG9pbnRzKXtjb25zdCBlPXMoci5sZWZ0QXJyb3dQb2ludHNbMF0pLHQ9cyhyLmxlZnRBcnJvd1BvaW50c1sxXSk7bz1bdC5hZGQoZS5zdWJ0cmFjdCh0KS5ub3JtYWxpemVkKCkuc2NhbGVkKDEwKSksdF19aWYoci5yaWdodEFycm93UG9pbnRzKXtjb25zdCBlPXMoci5yaWdodEFycm93UG9pbnRzWzBdKSx0PXMoci5yaWdodEFycm93UG9pbnRzWzFdKTthPVt0LmFkZChlLnN1YnRyYWN0KHQpLm5vcm1hbGl6ZWQoKS5zY2FsZWQoMTApKSx0XX1oLnB1c2goey4uLmUsY3VydmVkOiEwLGJlemllckN1cnZlczpuLGxlZnRBcnJvd1BvaW50czpvLHJpZ2h0QXJyb3dQb2ludHM6YSxjb2xvcjp0LGZpbGxDb2xvcjppfSl9fX10aGlzLl9yZW5kZXJlci5zZXREYXRhKHtpdGVtczpofSl9fX0sNjk5MTIzKGUsdCxpKXtpLnIodCksaS5kKHQse0R3Z1RhYmxlUGFuZVZpZXc6KCk9Pnl9KTt2YXIgcixuLG89aSgxMzg2MzgpLGE9aSgyNTQ3MzEpLHM9aSg3ODkxOTApLGw9aSg3MzY1MzEpOyFmdW5jdGlvbihlKXtlLlRvcD0idG9wIixlLkNlbnRlcj0iY2VudGVyIixlLkJvdHRvbT0iYm90dG9tIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLk1vbm9zcGFjZT0ibW9ub3NwYWNlIn0obnx8KG49e30pKTt2YXIgZCxoPWkoOTI2MTQ5KSxjPWkoNzYzKSx1PWkoNDcwOTg2KSxmPWkoODIyNzI2KSxwPWkoNTkwODk0KSxnPWkoNzAzODA5KSxfPWkoOTQxMTAwKTshZnVuY3Rpb24oZSl7ZVtlLlRhYmxlTWFyZ2luPTEwXT0iVGFibGVNYXJnaW4iLGVbZS5FbXB0eUNlbGxEZWZhdWx0V2lkdGg9MjBdPSJFbXB0eUNlbGxEZWZhdWx0V2lkdGgiLGVbZS5FbXB0eUNlbGxEZWZhdWx0SGVpZ2h0PTVdPSJFbXB0eUNlbGxEZWZhdWx0SGVpZ2h0In0oZHx8KGQ9e30pKTtjb25zdCB4PW5ldyB1LlRleHRSZW5kZXJlcjtmdW5jdGlvbiB3KGUsdCxpLHIpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOm99PXI7dC5jZWxscy5mb3JFYWNoKCh0PT57aWYodC5tZXJnZWQpcmV0dXJuO2NvbnN0IGE9aS5jZWxsc1t0LmNlbGwucm93XVt0LmNlbGwuY29sdW1uXSxzPWkucG9zaXRpb24ueCthLm9mZnNldFgsbD1pLnBvc2l0aW9uLnkrYS5vZmZzZXRZLGQ9ZnVuY3Rpb24oZSx0LGkscixuKXtyZXR1cm4oMCxnLnRleHRCb3hEYXRhKShlLHQsaSxyLHsKaG9yaXpvbnRhbFRleHRBbGlnbm1lbnQ6bi5jZWxsLmhvcml6b250YWxUZXh0QWxpZ25tZW50LHZlcnRpY2FsVGV4dEFsaWdubWVudDpuLmNlbGwudmVydGljYWxUZXh0QWxpZ25tZW50LHRleHQ6bi5jZWxsLnRleHQsdGV4dENvbG9yOm4uc3R5bGUudGV4dENvbG9yLHNpemVPcHRpb25zOnt0ZXh0U2l6ZU1vZGU6ImZpeGVkIixmb250U2l6ZTpuLmNlbGwuZm9udFNpemV9LGZvbnRUeXBlOm4uY2VsbC5mb250VHlwZSx0ZXh0Rm9ybWF0dGluZzpuLmNlbGwudGV4dEZvcm1hdHRpbmd9KX0ocy9uLGwvbyxhLndpZHRoL24sYS5oZWlnaHQvbyx0KTtlLnNhdmUoKTtjb25zdCBoPW5ldyBQYXRoMkQ7aC5yZWN0KHMsbCxhLndpZHRoLGEuaGVpZ2h0KSxlLmNsaXAoaCwiZXZlbm9kZCIpLHguc2V0RGF0YShkKSx4LmRyYXcoZSxyKSxlLnJlc3RvcmUoKX0pKX1jbGFzcyB2e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl93aWR0aHNDYWNoZXM9bmV3IE1hcCx0aGlzLl9wcmVjYWxjdWxhdGVkPW51bGwsdGhpcy5zZXREYXRhKGUpLHRoaXMuX21lYXN1cmVDYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdGhpcy5fbWVhc3VyZUN0eD0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX21lYXN1cmVDYW52YXMuZ2V0Q29udGV4dCgiMmQiKSl9c2V0RGF0YShlKXt0aGlzLl9kYXRhPWUsdGhpcy5fcHJlY2FsY3VsYXRlZD1udWxsfWRyYXcoZSx0KXtpZihudWxsPT09dGhpcy5fZGF0YSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcmVjYWxjdWxhdGVEYXRhKHQpLHI9dGhpcy5fZGF0YTshZnVuY3Rpb24oZSx0LGkpe2UuZmlsbFN0eWxlPXQuc3R5bGUuYmFja2dyb3VuZENvbG9yLGUuZmlsbFJlY3QoaS5wb3NpdGlvbi54LGkucG9zaXRpb24ueSxpLnRvdGFsV2lkdGgsaS50b3RhbEhlaWdodCl9KGUscixpKSxmdW5jdGlvbihlLHQsaSl7dC5jZWxscy5mb3JFYWNoKCh0PT57aWYodC5tZXJnZWQpcmV0dXJuO2NvbnN0IHI9aS5jZWxsc1t0LmNlbGwucm93XVt0LmNlbGwuY29sdW1uXSxuPWkucG9zaXRpb24ueCtyLm9mZnNldFgsbz1pLnBvc2l0aW9uLnkrci5vZmZzZXRZLGE9ci53aWR0aCxzPXIuaGVpZ2h0O2UuZmlsbFN0eWxlPXQuc3R5bGUuYmFja2dyb3VuZENvbG9yLGUuZmlsbFJlY3QobixvLGEscyl9KSl9KGUscixpKSx3KGUscixpLHQpLGZ1bmN0aW9uKGUsdCxpLHIpe2lmKHQudGFibGUuYm9yZGVyV2lkdGg+MCl7Y29uc3Qgbj1NYXRoLm1heCgxLE1hdGgucm91bmQodC50YWJsZS5ib3JkZXJXaWR0aCpyLmhvcml6b250YWxQaXhlbFJhdGlvKSksbz1NYXRoLm1heCgxLE1hdGgucm91bmQodC50YWJsZS5ib3JkZXJXaWR0aCpyLnZlcnRpY2FsUGl4ZWxSYXRpbykpO2UuZmlsbFN0eWxlPXQuc3R5bGUuYm9yZGVyQ29sb3I7Zm9yKGxldCByPTA7cjx0LnRhYmxlLmNvbHVtbnM7cisrKWZvcihsZXQgYT0wO2E8dC50YWJsZS5yb3dzO2ErKyl7Y29uc3QgdD1pLmNlbGxzW2FdW3JdO251bGw9PT10Lm1lcmdlZE1haW5DZWxsJiYodC5oZWlnaHQ+MCYmdC5lbmRSb3c8aS5sYXN0Tm9uRW1wdHlSb3dFbmQmJmUuZmlsbFJlY3QoaS5wb3NpdGlvbi54K3Qub2Zmc2V0WCxpLnBvc2l0aW9uLnkrdC5vZmZzZXRZK3QuaGVpZ2h0LHQud2lkdGgrKHQuZW5kQ29sdW1uPGkubGFzdE5vbkVtcHR5Q29sdW1uRW5kP246MCksbyksdC53aWR0aD4wJiZ0LmVuZENvbHVtbjxpLmxhc3ROb25FbXB0eUNvbHVtbkVuZCYmZS5maWxsUmVjdChpLnBvc2l0aW9uLngrdC5vZmZzZXRYK3Qud2lkdGgsaS5wb3NpdGlvbi55K3Qub2Zmc2V0WSxuLHQuaGVpZ2h0KSl9fX0oZSxyLGksdCksZnVuY3Rpb24oZSx0LGkscil7aWYodC50YWJsZS5mcmFtZVdpZHRoPjApe2NvbnN0IG49TWF0aC5tYXgoMSxNYXRoLnJvdW5kKHQudGFibGUuZnJhbWVXaWR0aCpyLmhvcml6b250YWxQaXhlbFJhdGlvKSksbz1NYXRoLm1heCgxLE1hdGgucm91bmQodC50YWJsZS5mcmFtZVdpZHRoKnIudmVydGljYWxQaXhlbFJhdGlvKSk7ZS5maWxsU3R5bGU9dC5zdHlsZS5mcmFtZUNvbG9yLGUuZmlsbFJlY3QoaS5wb3NpdGlvbi54LW4saS5wb3NpdGlvbi55LW8saS50b3RhbFdpZHRoKzIqbixvKSxlLmZpbGxSZWN0KGkucG9zaXRpb24ueC1uLGkucG9zaXRpb24ueStpLnRvdGFsSGVpZ2h0LGkudG90YWxXaWR0aCsyKm4sbyksZS5maWxsUmVjdChpLnBvc2l0aW9uLngtbixpLnBvc2l0aW9uLnksbixpLnRvdGFsSGVpZ2h0KSxlLmZpbGxSZWN0KGkucG9zaXRpb24ueCtpLnRvdGFsV2lkdGgsaS5wb3NpdGlvbi55LG4saS50b3RhbEhlaWdodCl9fShlLHIsaSx0KX1oaXRUZXN0KGUsdCl7aWYobnVsbD09PXRoaXMuX2RhdGEpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLl9wcmVjYWxjdWxhdGVEYXRhKHQpLHI9dGhpcy5fZGF0YSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86b309dCxhPWUueCpuLHM9ZS55Km8sbD1NYXRoLm1heCgxLHIudGFibGUuZnJhbWVXaWR0aCpuKSxkPU1hdGgubWF4KDEsci50YWJsZS5mcmFtZVdpZHRoKm8pO2lmKCEoYT49aS5wb3NpdGlvbi54LWwmJmE8PWkucG9zaXRpb24ueCtpLnRvdGFsV2lkdGgrMipsJiZzPj1pLnBvc2l0aW9uLnktZCYmczw9aS5wb3NpdGlvbi55K2kudG90YWxIZWlnaHQrMipkKSlyZXR1cm4gbnVsbDtjb25zdCBoPWkuY2VsbHNXaXRoVG9vbHRpcC5maW5kKChlPT57Y29uc3QgdD1pLnBvc2l0aW9uLngrZS5vZmZzZXRYLHI9aS5wb3NpdGlvbi55K2Uub2Zmc2V0WTtyZXR1cm4gYT49dCYmYTw9dCtlLndpZHRoJiZzPj1yJiZzPD1yK2UuaGVpZ2h0fSkpLHU9dm9pZCAwPT09aD92b2lkIDA6e3Rvb2x0aXA6ey4uLmgudG9vbHRpcCxyZWN0Ont4OihpLnBvc2l0aW9uLngraC5vZmZzZXRYKS9uLHk6KGkucG9zaXRpb24ueStoLm9mZnNldFkpL28sdzpoLndpZHRoL24saDpoLmhlaWdodC9vfX19O3JldHVybiBuZXcgYy5IaXRUZXN0UmVzdWx0KGMuSGl0VGFyZ2V0LlJlZ3VsYXIsdSl9X3ByZWNhbGN1bGF0ZURhdGEoZSl7aWYobnVsbCE9PXRoaXMuX3ByZWNhbGN1bGF0ZWQpcmV0dXJuIHRoaXMuX3ByZWNhbGN1bGF0ZWQ7Y29uc3QgdD0oMCwKby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kYXRhKTtsZXQgaT0tMSxyPS0xO2NvbnN0IG49QXJyYXkuZnJvbSh7bGVuZ3RoOnQudGFibGUucm93c30sKChlLGkpPT5BcnJheS5mcm9tKHtsZW5ndGg6dC50YWJsZS5jb2x1bW5zfSwoKGUsdCk9Pih7bWVyZ2VkTWFpbkNlbGw6bnVsbCxuZXh0Q29sdW1uQ2VsbDpudWxsLG5leHRSb3dDZWxsOm51bGwsc3RhcnRDb2x1bW46dCxlbmRDb2x1bW46dCxzdGFydFJvdzppLGVuZFJvdzppLHdpZHRoOjAsaGVpZ2h0OjAsb2Zmc2V0WDowLG9mZnNldFk6MCxjb2xTcGFuOi0xLHJvd1NwYW46LTEsbWVyZ2VkOiExLGVtcHR5OiEwfSkpKSkpLGE9W10se2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmR9PWU7dC5jZWxscy5mb3JFYWNoKChpPT57aWYoaS5tZXJnZWQpe3JldHVybiB2b2lkKG5baS5jZWxsLnJvd11baS5jZWxsLmNvbHVtbl0uZW1wdHk9ITEpfWNvbnN0IHI9TWF0aC5jZWlsKHRoaXMuX2NlbGxXaWR0aChlLGksdCkqcyksbz1NYXRoLmNlaWwodGhpcy5fY2VsbEhlaWdodChlLGksdCkqZCksbD1pLmNlbGwucm93LGg9aS5jZWxsLnJvdytpLmNlbGwucm93U3Bhbi0xLGM9aS5jZWxsLmNvbHVtbix1PWkuY2VsbC5jb2x1bW4raS5jZWxsLmNvbFNwYW4tMSxmPWkuY2VsbC5jb2xTcGFuLHA9aS5jZWxsLnJvd1NwYW47bGV0IGc9bnVsbDtmb3IobGV0IGU9aS5jZWxsLnJvdztlPE1hdGgubWluKGkuY2VsbC5yb3craS5jZWxsLnJvd1NwYW4sdC50YWJsZS5yb3dzKTsrK2UpZm9yKGxldCBzPWkuY2VsbC5jb2x1bW47czxNYXRoLm1pbihpLmNlbGwuY29sdW1uK2kuY2VsbC5jb2xTcGFuLHQudGFibGUuY29sdW1ucyk7KytzKXtjb25zdCB0PW5bZV1bc10sZD1lIT09bHx8cyE9PWM7ZHx8KGc9dCx2b2lkIDAhPT1pLmNlbGwudG9vbHRpcCYmIiIhPT1pLmNlbGwudG9vbHRpcCYmKHQudG9vbHRpcD17Y29udGVudDp7dHlwZToidGV4dCIsZGF0YTppLmNlbGwudG9vbHRpcH19LGEucHVzaCh0KSkpLHQubWVyZ2VkTWFpbkNlbGw9ZD9nOm51bGwsdC5zdGFydFJvdz1sLHQuZW5kUm93PWgsdC5zdGFydENvbHVtbj1jLHQuZW5kQ29sdW1uPXUsdC53aWR0aD1yLHQuaGVpZ2h0PW8sdC5jb2xTcGFuPWYsdC5yb3dTcGFuPXAsdC5lbXB0eT0hMX19KSk7Y29uc3QgaD0wPT09dC50YWJsZS5ib3JkZXJXaWR0aD8wOk1hdGgubWF4KDEsTWF0aC5yb3VuZCh0LnRhYmxlLmJvcmRlcldpZHRoKnMpKSxjPTA9PT10LnRhYmxlLmJvcmRlcldpZHRoPzA6TWF0aC5tYXgoMSxNYXRoLnJvdW5kKHQudGFibGUuYm9yZGVyV2lkdGgqZCkpLHU9TWF0aC5tYXgoMSxNYXRoLnJvdW5kKDIwKnMpKSxmPU1hdGgubWF4KDEsTWF0aC5yb3VuZCg1KmQpKTtmb3IobGV0IGU9MDtlPHQudGFibGUuY29sdW1uczsrK2Upe2xldCByPVtdLG89ITEsYT0hMTtmb3IobGV0IHM9MDtzPHQudGFibGUucm93czsrK3Mpe2NvbnN0IHQ9bltzXVtlXTt0LmVtcHR5P2E9ITA6KG89ITAsaT1lKSxudWxsPT09dC5tZXJnZWRNYWluQ2VsbD8oci5mb3JFYWNoKChlPT5lLm5leHRSb3dDZWxsPXQpKSxyPVt0XSk6ci5wdXNoKHQpfWlmKG8mJmEpZm9yKGxldCBpPTA7aTx0LnRhYmxlLnJvd3M7KytpKXtjb25zdCB0PW5baV1bZV07dC5lbXB0eSYmKHQud2lkdGg9dSl9fWZvcihsZXQgZT0wO2U8dC50YWJsZS5yb3dzOysrZSl7bGV0IGk9W10sbz0hMSxhPSExO2ZvcihsZXQgcz0wO3M8dC50YWJsZS5jb2x1bW5zOysrcyl7Y29uc3QgdD1uW2VdW3NdO3QuZW1wdHk/YT0hMDoobz0hMCxyPWUpLG51bGw9PT10Lm1lcmdlZE1haW5DZWxsPyhpLmZvckVhY2goKGU9PmUubmV4dENvbHVtbkNlbGw9dCkpLGk9W3RdKTppLnB1c2godCl9aWYobyYmYSlmb3IobGV0IGk9MDtpPHQudGFibGUuY29sdW1uczsrK2kpe2NvbnN0IHQ9bltlXVtpXTt0LmVtcHR5JiYodC5oZWlnaHQ9Zil9fWxldCBwPTAsZz0wLF89MDtmb3IobGV0IGU9MDtlPHQudGFibGUuY29sdW1uczsrK2Upe2NvbnN0IHI9W107bGV0IG89ITE7Zm9yKGxldCBpPTA7aTx0LnRhYmxlLnJvd3M7KytpKXtjb25zdCB0PW5baV1bZV07aWYodC5lbmRDb2x1bW49PT1lKXtjb25zdCBlPXQubWVyZ2VkTWFpbkNlbGw/P3Q7Xz1NYXRoLm1heChfLGUub2Zmc2V0WCtlLndpZHRoKSxyLnB1c2goZSksbz1vfHwhZS5lbXB0eX19Zm9yKGNvbnN0IGUgb2YgcillLndpZHRoKz1fLShlLm9mZnNldFgrZS53aWR0aCkscD1NYXRoLm1heChwLGUub2Zmc2V0WCtlLndpZHRoKTtpZihyLmxlbmd0aD4wKXtjb25zdCByPW8mJmk+ZT9oOjA7Zm9yKGxldCBpPTA7aTx0LnRhYmxlLnJvd3M7KytpKXtjb25zdCB0PW5baV1bZV07bnVsbCE9PXQubmV4dENvbHVtbkNlbGwmJih0Lm5leHRDb2x1bW5DZWxsLm9mZnNldFg9TWF0aC5tYXgodC5uZXh0Q29sdW1uQ2VsbC5vZmZzZXRYLF8rcikpfX19bGV0IHg9MDtmb3IobGV0IGU9MDtlPHQudGFibGUucm93czsrK2Upe2NvbnN0IGk9W107bGV0IG89ITE7Zm9yKGxldCByPTA7cjx0LnRhYmxlLmNvbHVtbnM7KytyKXtjb25zdCB0PW5bZV1bcl07aWYodC5lbmRSb3c9PT1lKXtjb25zdCBlPXQubWVyZ2VkTWFpbkNlbGw/P3Q7eD1NYXRoLm1heCh4LGUub2Zmc2V0WStlLmhlaWdodCksaS5wdXNoKGUpLG89b3x8IWUuZW1wdHl9fWZvcihjb25zdCBlIG9mIGkpZS5oZWlnaHQrPXgtKGUub2Zmc2V0WStlLmhlaWdodCksZz1NYXRoLm1heChnLGUub2Zmc2V0WStlLmhlaWdodCk7aWYoaS5sZW5ndGg+MCl7Y29uc3QgaT1vJiZyPmU/YzowO2ZvcihsZXQgcj0wO3I8dC50YWJsZS5jb2x1bW5zOysrcil7Y29uc3QgdD1uW2VdW3JdO251bGwhPT10Lm5leHRSb3dDZWxsJiYodC5uZXh0Um93Q2VsbC5vZmZzZXRZPU1hdGgubWF4KHQubmV4dFJvd0NlbGwub2Zmc2V0WSx4K2kpKX19fWNvbnN0IHc9ZnVuY3Rpb24oZSx0LGkscil7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86byxiaXRtYXBTaXplOmF9PXQscz1NYXRoLnJvdW5kKDEwKm8pLGQ9TWF0aC5yb3VuZCgxMCpuKTtsZXQgaD0wCjtlLnRhYmxlLnBvc2l0aW9uLnN0YXJ0c1dpdGgoInRvcF8iKT9oPXM6ZS50YWJsZS5wb3NpdGlvbi5zdGFydHNXaXRoKCJtaWRkbGVfIik/aD1NYXRoLnJvdW5kKChhLmhlaWdodC1yKS8yKTplLnRhYmxlLnBvc2l0aW9uLnN0YXJ0c1dpdGgoImJvdHRvbV8iKSYmKGg9YS5oZWlnaHQtcy1yKTtsZXQgYz0wO3JldHVybiBlLnRhYmxlLnBvc2l0aW9uLmVuZHNXaXRoKCJsZWZ0Iik/Yz1kOmUudGFibGUucG9zaXRpb24uZW5kc1dpdGgoImNlbnRlciIpP2M9TWF0aC5yb3VuZCgoYS53aWR0aC1pKS8yKTplLnRhYmxlLnBvc2l0aW9uLmVuZHNXaXRoKCJyaWdodCIpJiYoYz1hLndpZHRoLWktZCksbmV3IGwuUG9pbnQoYyxoKX0odCxlLHAsZyk7cmV0dXJuIHRoaXMuX3ByZWNhbGN1bGF0ZWQ9e3Bvc2l0aW9uOncsdG90YWxXaWR0aDpwLHRvdGFsSGVpZ2h0OmcsY2VsbHM6bixjZWxsc1dpdGhUb29sdGlwOmEsbGFzdE5vbkVtcHR5Q29sdW1uRW5kOmksbGFzdE5vbkVtcHR5Um93RW5kOnJ9LHRoaXMuX3ByZWNhbGN1bGF0ZWR9X2NlbGxXaWR0aChlLHQsaSl7Y29uc3Qgcj10LmNlbGwud2lkdGhJblBlcmNlbnRzT2ZQYW5lV2lkdGg7aWYodC5tZXJnZWR8fCIiPT09dC5jZWxsLnRleHQmJjA9PT1yKXJldHVybiAwO2lmKHIpe3JldHVybihlLm1lZGlhU2l6ZS53aWR0aC0yMCkqci8xMDB9Y29uc3QgYT10LmNlbGwudGV4dC5zcGxpdCgiXG4iKSx7Ym9sZDpzLGl0YWxpYzpsfT0oMCxfLmNvbnZlcnREd2dUZXh0Rm9ybWF0dGluZ1RvT2JqZWN0KSh0LmNlbGwudGV4dEZvcm1hdHRpbmcpLGQ9dC5jZWxsLmZvbnRUeXBlPT09bi5Nb25vc3BhY2U/aC5DSEFSVF9NT05PU1BBQ0VfRk9OVF9GQU1JTFk6aC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLGM9KDAsby5lbnN1cmVEZWZpbmVkKSgoMCxnLmdldEZvbnRTaXplKSh0LmNlbGwuZm9udFNpemUpKSx1PWAke3QuY2VsbC5mb250VHlwZT8/ImRlZmF1bHQifS0ke2N9LSR7dC5jZWxsLnRleHRGb3JtYXR0aW5nfWA7bGV0IHg7dGhpcy5fd2lkdGhzQ2FjaGVzLmhhcyh1KT94PSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fd2lkdGhzQ2FjaGVzLmdldCh1KSk6KHg9bmV3IGYuVGV4dFdpZHRoQ2FjaGUsdGhpcy5fd2lkdGhzQ2FjaGVzLnNldCh1LHgpKSx0aGlzLl9tZWFzdXJlQ3R4LmZvbnQ9KDAscC5tYWtlRm9udCkoYyxkLGw/Iml0YWxpYyI6dm9pZCAwLHM/ImJvbGQiOnZvaWQgMCk7Y29uc3Qgdz1hLm1hcCgoZT0+eC5tZWFzdXJlVGV4dCh0aGlzLl9tZWFzdXJlQ3R4LGUpKSk7cmV0dXJuIE1hdGgubWF4KC4uLncpKzIqaS50YWJsZS5ib3JkZXJXaWR0aCsyKmMvM31fY2VsbEhlaWdodChlLHQsaSl7Y29uc3Qgcj10LmNlbGwuaGVpZ2h0SW5QZXJjZW50T2ZQYW5lSGVpZ2h0O2lmKHQubWVyZ2VkfHwiIj09PXQuY2VsbC50ZXh0JiYwPT09cilyZXR1cm4gMDtpZihyKXtyZXR1cm4oZS5tZWRpYVNpemUuaGVpZ2h0LTIwKSpyLzEwMH1jb25zdCBuPXQuY2VsbC50ZXh0LnNwbGl0KCJcbiIpLmxlbmd0aCxhPSgwLG8uZW5zdXJlRGVmaW5lZCkoKDAsZy5nZXRGb250U2l6ZSkodC5jZWxsLmZvbnRTaXplKSk7cmV0dXJuIGEqbithKigyLzMpKzIqaS50YWJsZS5ib3JkZXJXaWR0aH19ZnVuY3Rpb24gbShlKXtlLmFsbENlbGxzLmZvckVhY2goKHQ9PntpZih0LmNlbGwucm93U3Bhbj4xfHx0LmNlbGwuY29sU3Bhbj4xKWZvcihsZXQgaT10LmNlbGwucm93O2k8dC5jZWxsLnJvdyt0LmNlbGwucm93U3BhbjsrK2kpZm9yKGxldCByPXQuY2VsbC5jb2x1bW47cjx0LmNlbGwuY29sdW1uK3QuY2VsbC5jb2xTcGFuOysrcil7Y29uc3Qgbj1lLmNlbGxzQnlSb3dBbmRDb2x1bW4uZ2V0KGkpPy5nZXQocik7dm9pZCAwIT09biYmbiE9PXQmJihuLm1lcmdlZD0hMCl9fSkpfWNsYXNzIHl7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fZGF0YT1bXSx0aGlzLl9yZW5kZXJlcnM9W10sdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLGEucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLHRoaXMuX3NvdXJjZT1lLHRoaXMuX2ZvcmNlT3ZlcmxheT1pfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl91cGRhdGVWaWV3SW50ZXJuYWwoKSk7Y29uc3QgZT1uZXcgcy5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdGhpcy5fZGF0YS5mb3JFYWNoKCgodCxpKT0+e3RoaXMuX3JlbmRlcmVycy5sZW5ndGg8PWk/dGhpcy5fcmVuZGVyZXJzLnB1c2gobmV3IHYodCkpOnRoaXMuX3JlbmRlcmVyc1tpXS5zZXREYXRhKHQpLGUuYXBwZW5kKHRoaXMuX3JlbmRlcmVyc1tpXSl9KSksdGhpcy5fcmVuZGVyZXJzLnNwbGljZSh0aGlzLl9kYXRhLmxlbmd0aCksZX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnBhbGV0dGVzLmNoaWxkcygpLHQ9dGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaXNSR0I7aWYoKHZvaWQgMD09PWV8fHZvaWQgMD09PWUucGFsZXR0ZV9jb21tb24pJiYhdClyZXR1cm47Y29uc3QgaT10P3ZvaWQgMDooMCxvLmVuc3VyZURlZmluZWQpKGUucGFsZXR0ZV9jb21tb24pLmNoaWxkcygpLHI9dGhpcy5fc291cmNlLmdyYXBoaWNzKCkuZHdndGFibGVzKCksbj10aGlzLl9zb3VyY2UuZ3JhcGhpY3MoKS5kd2d0YWJsZWNlbGxzKCksYT1uZXcgTWFwO24uZm9yRWFjaCgoKGUscik9PntlLmZvckVhY2goKGU9PntsZXQgcixuLHM9YS5nZXQoZS50YWJsZUlkKTtpZih2b2lkIDA9PT1zJiYocz17YWxsQ2VsbHM6W10sY2VsbHNCeVJvd0FuZENvbHVtbjpuZXcgTWFwfSxhLnNldChlLnRhYmxlSWQscykpLHQpcj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5iYWNrZ3JvdW5kQ29sb3JJbmRleCksbj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS50ZXh0Q29sb3JJbmRleCk7ZWxzZXtjb25zdCB0PSgwLG8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuYmFja2dyb3VuZENvbG9ySW5kZXhdLGE9KDAsCm8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UudGV4dENvbG9ySW5kZXhdO2lmKCFhKXJldHVybjtyPXQ/dC5jaGlsZHMoKS5jb2xvci52YWx1ZSgpOiJ0cmFuc3BhcmVudCIsbj1hLmNoaWxkcygpLmNvbG9yLnZhbHVlKCl9Y29uc3QgbD17Y2VsbDplLG1lcmdlZDohMSxzdHlsZTp7YmFja2dyb3VuZENvbG9yOnIsdGV4dENvbG9yOm59fTtzLmFsbENlbGxzLnB1c2gobCk7bGV0IGQ9cy5jZWxsc0J5Um93QW5kQ29sdW1uLmdldChlLnJvdyk7dm9pZCAwPT09ZCYmKGQ9bmV3IE1hcCxzLmNlbGxzQnlSb3dBbmRDb2x1bW4uc2V0KGUucm93LGQpKSxkLnNldChlLmNvbHVtbixsKX0pKX0pKSxhLmZvckVhY2gobSk7Y29uc3Qgcz0oMCxvLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdndGFibGVzKTtyLmZvckVhY2goKChlLHIpPT57aWYoKDAsby5lbnN1cmVEZWZpbmVkKShzLmNoaWxkcygpW3JdKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHI9ZS5nZXQodGhpcy5fZm9yY2VPdmVybGF5KTtyPy5mb3JFYWNoKChlPT57bGV0IHIsbixzO2lmKHQpcj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5iYWNrZ3JvdW5kQ29sb3JJbmRleCksbj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5ib3JkZXJDb2xvckluZGV4KSxzPXRoaXMuX3JnYmFGcm9tSW50ZWdlcihlLmZyYW1lQ29sb3JJbmRleCk7ZWxzZXtjb25zdCB0PSgwLG8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuYmFja2dyb3VuZENvbG9ySW5kZXhdLGE9KDAsby5lbnN1cmVEZWZpbmVkKShpKS5jb2xvcnMuY2hpbGRzKClbZS5ib3JkZXJDb2xvckluZGV4XSxsPSgwLG8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuZnJhbWVDb2xvckluZGV4XTtyPXQ/dC5jaGlsZHMoKS5jb2xvci52YWx1ZSgpOiJ0cmFuc3BhcmVudCIsbj1hP2EuY2hpbGRzKCkuY29sb3IudmFsdWUoKToidHJhbnNwYXJlbnQiLHM9bD9sLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk6InRyYW5zcGFyZW50In10aGlzLl9kYXRhLnB1c2goe3RhYmxlOmUsc3R5bGU6e2JhY2tncm91bmRDb2xvcjpyLGJvcmRlckNvbG9yOm4sZnJhbWVDb2xvcjpzfSxjZWxsczphLmdldChlLmlkKT8uYWxsQ2VsbHM/P1tdfSl9KSl9fSkpfX19LDk0MTEwMChlLHQsaSl7dmFyIHI7ZnVuY3Rpb24gbihlKXtyZXR1cm57Ym9sZDohKDEmfmUpLGl0YWxpYzohKDImfmUpfX1pLmQodCx7Y29udmVydER3Z1RleHRGb3JtYXR0aW5nVG9PYmplY3Q6KCk9Pm59KSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkJvbGQ9MV09IkJvbGQiLGVbZS5JdGFsaWM9Ml09Ikl0YWxpYyJ9KHJ8fChyPXt9KSl9LDIyMTE2NShlLHQsaSl7aS5yKHQpLGkuZCh0LHtISGlzdFBhbmVWaWV3OigpPT5ofSk7dmFyIHIsbj1pKDEzNDY3KSxvPWkoMTM4NjM4KSxhPWkoOTQxNjEyKSxzPWkoNzg5MTkwKSxsPWkoOTgyOTQpLGQ9aSg4NzM1NzMpOyFmdW5jdGlvbihlKXtlLlVwRG9taW5hdGVQb3N0Zml4PSJVcERvbWluYXRlIixlLkRvd25Eb21pbmF0ZVBvc3RmaXg9IkRvd25Eb21pbmF0ZSJ9KHJ8fChyPXt9KSk7Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsaSxyLG49ITEsbz0oKT0+bnVsbCxhPSExKXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9oaXN0Qm94QmdTdHlsZT1udWxsLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9oaXN0Qm94QmdTdHlsZT1yPz9udWxsLHRoaXMuX2FsdGVybmF0ZUxlZnRJbmRleD1vLHRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3M9bix0aGlzLl9hbHdheXNWaXNpYmxlPWEsdGhpcy5fcmVuZGVyZXJEYXRhPXtoaXN0b2dyYW1zOltdLHN0eWxlczp7fX0sdGhpcy5faGhpc3RSZW5kZXJlcj1uZXcgbC5ISGlzdFJlbmRlcmVyKHRoaXMuX3JlbmRlcmVyRGF0YSl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVWaWV3SW50ZXJuYWwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgZT1uZXcgcy5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gZS5hcHBlbmQodGhpcy5faGhpc3RSZW5kZXJlciksZX1fcmVzZXRSZW5kZXJlcnNEYXRhKCl7dGhpcy5fcmVuZGVyZXJEYXRhLmhpc3RvZ3JhbXM9W10sdGhpcy5fcmVuZGVyZXJEYXRhLnN0eWxlcz17fSx0aGlzLl9yZW5kZXJlckRhdGEuaGlzdEJveEJnQ29sb3I9dm9pZCAwfV9wcmVwYXJlU3R5bGVzKCl7Y29uc3QgZT0oMCxvLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzSW5mbygpLmhoaXN0cyksdD1PYmplY3Qua2V5cyhlKSxpPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmhoaXN0cykscj10aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGQoImlucHV0cyIpPy5jaGlsZCgidm9sdW1lIik/LnZhbHVlKCk9PT1hLkhIaXN0Vm9sdW1lTW9kZS5EZWx0YTtmb3IoY29uc3QgbiBvZiB0KXtjb25zdCB0PSgwLG8uZW5zdXJlRGVmaW5lZCkoaS5jaGlsZHMoKVtuXSkuY2hpbGRzKCksYT0oMCxvLmVuc3VyZURlZmluZWQpKGVbbl0pO2lmKHIpdGhpcy5fcmVuZGVyZXJEYXRhLnN0eWxlc1tuKyJVcERvbWluYXRlIl09e2NvbG9yczpjKHQuY29sb3JzWzBdLnZhbHVlKCksdC50cmFuc3BhcmVuY2llc1swXS52YWx1ZSgpKSx2aXNpYmxlOnQudmlzaWJsZS52YWx1ZSgpLHBlcmNlbnRXaWR0aDp0LnBlcmNlbnRXaWR0aC52YWx1ZSgpLGxvY2F0aW9uOmEubG9jYXRpb24sZGlyZWN0aW9uOnQuZGlyZWN0aW9uLnZhbHVlKCksc2hvd1ZhbHVlczp0LnNob3dWYWx1ZXMudmFsdWUoKSxhZGRUb1RvdGFsVmFsdWU6ITEsdmFsdWVzQ29sb3I6dC52YWx1ZXNDb2xvci52YWx1ZSgpfSx0aGlzLl9yZW5kZXJlckRhdGEuc3R5bGVzW24rIkRvd25Eb21pbmF0ZSJdPXtjb2xvcnM6Yyh0LmNvbG9yc1sxXS52YWx1ZSgpLHQudHJhbnNwYXJlbmNpZXNbMV0udmFsdWUoKSksCnZpc2libGU6dC52aXNpYmxlLnZhbHVlKCkscGVyY2VudFdpZHRoOnQucGVyY2VudFdpZHRoLnZhbHVlKCksbG9jYXRpb246YS5sb2NhdGlvbixkaXJlY3Rpb246dC5kaXJlY3Rpb24udmFsdWUoKSxzaG93VmFsdWVzOnQuc2hvd1ZhbHVlcy52YWx1ZSgpLGFkZFRvVG90YWxWYWx1ZTohMSx2YWx1ZXNDb2xvcjp0LnZhbHVlc0NvbG9yLnZhbHVlKCl9O2Vsc2V7Y29uc3QgZT0oMCxkLmdlbmVyYXRlQ29sb3IpKHQuY29sb3JzWzBdLnZhbHVlKCksdC50cmFuc3BhcmVuY2llc1swXS52YWx1ZSgpKSxpPXQuY29sb3JzWzFdPygwLGQuZ2VuZXJhdGVDb2xvcikodC5jb2xvcnNbMV0udmFsdWUoKSx0LnRyYW5zcGFyZW5jaWVzWzFdLnZhbHVlKCkpOmU7dGhpcy5fcmVuZGVyZXJEYXRhLnN0eWxlc1tuXT17Y29sb3JzOltlLGldLHZpc2libGU6dC52aXNpYmxlLnZhbHVlKCkscGVyY2VudFdpZHRoOnQucGVyY2VudFdpZHRoLnZhbHVlKCksbG9jYXRpb246YS5sb2NhdGlvbixkaXJlY3Rpb246dC5kaXJlY3Rpb24udmFsdWUoKSxzaG93VmFsdWVzOnQuc2hvd1ZhbHVlcy52YWx1ZSgpLGFkZFRvVG90YWxWYWx1ZTohMCx2YWx1ZXNDb2xvcjp0LnZhbHVlc0NvbG9yLnZhbHVlKCl9fX1pZih0aGlzLl9oaXN0Qm94QmdTdHlsZSl7Y29uc3QgZT10aGlzLl9oaXN0Qm94QmdTdHlsZS5jaGlsZHMoKTt0aGlzLl9yZW5kZXJlckRhdGEuaGlzdEJveEJnQ29sb3I9KDAsZC5nZW5lcmF0ZUNvbG9yKShlLmNvbG9yLnZhbHVlKCksZS50cmFuc3BhcmVuY3kudmFsdWUoKSl9fV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9yZXNldFJlbmRlcmVyc0RhdGEoKTtjb25zdCBlPXRoaXMuX3Byb3ZpZGVyLnByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2lmKG51bGw9PT10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS5oaGlzdHNCeVRpbWVQb2ludEluZGV4KCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgcj10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09cilyZXR1cm47Y29uc3Qgbj1yLmZpcnN0QmFyKCksYT1yLmxhc3RCYXIoKTt0aGlzLl9wcmVwYXJlU3R5bGVzKCksKDAsby5lbnN1cmVEZWZpbmVkKShpKS5mb3JFYWNoKChpPT57bGV0IHI9MS8wLG89LTEvMDtmb3IoY29uc3QgZSBvZiBpKXtjb25zdCB0PXRoaXMuX2hoaXN0Rmlyc3RCYXJUaW1lKGUpO2lmKG51bGw9PT10KXJldHVybjtyPU1hdGgubWluKHIsdCksbz1NYXRoLm1heChvLGUubGFzdEJhclRpbWUpfSF0aGlzLl9hbHdheXNWaXNpYmxlJiYobzxufHxyPmEpfHx0aGlzLl91cGRhdGVEYXRhRm9yUmVuZGVyZXJzKGksZSx0KX0pKX1fdXBkYXRlRGF0YUZvclJlbmRlcmVycyhlLHQsaSl7aWYoZS5zaXplPD0wKXJldHVybjtsZXQgcj1udWxsO2lmKGUuZm9yRWFjaCgoZT0+e3I9cnx8ZX0pKSxudWxsPT09cilyZXR1cm47bGV0IG49cjtlLmZvckVhY2goKGU9PntlLnByaWNlTG93PG4ucHJpY2VMb3cmJihuPWUpfSkpO2NvbnN0IHM9dGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkKCJpbnB1dHMiKT8uY2hpbGQoInZvbHVtZSIpPy52YWx1ZSgpPT09YS5ISGlzdFZvbHVtZU1vZGUuRGVsdGEsZD1mdW5jdGlvbihlLHQsaSxyKXtjb25zdCBuPXQuYmFyQm9yZGVycyhlLmZpcnN0QmFyVGltZT8/ciksbz10LmJhckJvcmRlcnMoZS5sYXN0QmFyVGltZSk7cmV0dXJuIGk/KDAsbC5yYW5nZSkobi5sZWZ0LG8ucmlnaHQpOigwLGwucmFuZ2UpKG4uY2VudGVyLG8uY2VudGVyKX0ocixpLHRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3MsKDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9oaGlzdEZpcnN0QmFyVGltZShyKSkpLGg9KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCkpLGM9W107ZS5mb3JFYWNoKChlPT57bnVsbD09ZS5yYXRlW2UucmF0ZS5sZW5ndGgtMV0mJmUucmF0ZS5zcGxpY2UoLTEsMSk7bGV0IGk9W10scj1bXSxuPWUuc3R5bGVJZDtpZihzKXtjb25zdFt0LG8sYV09ZS5yYXRlWzBdPmUucmF0ZVsxXT9bZS5yYXRlWzFdLGUucmF0ZVswXSwiVXBEb21pbmF0ZSJdOltlLnJhdGVbMF0sZS5yYXRlWzFdLCJEb3duRG9taW5hdGUiXTtpPVtvLXQsdCx0XSxyPVtvLXRdLG4rPWF9ZWxzZSBpPWUucmF0ZSxyPWUucmF0ZTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxpKXtyZXR1cm4oMCxsLnJhbmdlKSh0LnByaWNlVG9Db29yZGluYXRlKGUucHJpY2VIaWdoLGkpLHQucHJpY2VUb0Nvb3JkaW5hdGUoZS5wcmljZUxvdyxpKSl9KGUsdCxoKTtjLnB1c2goe2hlaWdodDpvLm1heC1vLm1pbix5Om8ubWluLHN1YkJhclZhbHVlczppLGRpc3BsYXllZFZhbHVlczpyLHN0eWxlSWQ6bn0pfSkpLGMuc29ydCgoKGUsdCk9PmUueS10LnkpKSx0aGlzLl9yZW5kZXJlckRhdGEuaGlzdG9ncmFtcy5wdXNoKHt4UmFuZ2U6ZCx5UmFuZ2U6KDAsbC5yYW5nZSkoY1swXS55LGNbYy5sZW5ndGgtMV0ueStjW2MubGVuZ3RoLTFdLmhlaWdodCksYmFyczpjfSl9X2hoaXN0Rmlyc3RCYXJUaW1lKGUpe3JldHVybiBlLmZpcnN0QmFyVGltZT8/dGhpcy5fYWx0ZXJuYXRlTGVmdEluZGV4KCl9fWZ1bmN0aW9uIGMoZSx0KXtsZXQgaTtpZigoMCxkLmlzSGV4Q29sb3IpKGUpKWk9MTAwLXQ7ZWxzZXtjb25zdCByPSgwLG4udHJ5UGFyc2VSZ2JhKShlKTtpPTEwMC0obnVsbCE9PXI/KDAsZC5hbHBoYVRvVHJhbnNwYXJlbmN5KShyWzNdKTp0KX1yZXR1cm5bKDAsZC5nZW5lcmF0ZUNvbG9yKShlLDEwMC1pLCEwKSwoMCxkLmdlbmVyYXRlQ29sb3IpKGUsMTAwLWkvMiwhMCksKDAsZC5nZW5lcmF0ZUNvbG9yKShlLDEwMC1pLzQsITApXX19LDk4Mjk0KGUsdCxpKXtpLmQodCx7SEhpc3RSZW5kZXJlcjooKT0+Zixmb250U2l6ZVRvU3RhcnRUZXh0SGlkaW5nOigpPT5jLHJhbmdlOigpPT5oLHN1Z2dlc3RGb250U2l6ZTooKT0+X30pO3ZhciByPWkoNzM2NTMxKSxuPWkoMTM0NjcpLG89aSgzOTQ5NjMpLGE9aSgxNTEyMSkscz1pKDc2MyksbD1pKDIzMzI0NyksZD1pKDkyNjE0OSkKO2Z1bmN0aW9uIGgoZSx0KXtyZXR1cm57bWluOk1hdGgubWluKGUsdCksbWF4Ok1hdGgubWF4KGUsdCl9fWNvbnN0IGM9Ny41LHU9KDAsbC5nZXRWb2x1bWVGb3JtYXR0ZXIpKCk7Y2xhc3MgZntjb25zdHJ1Y3RvcihlKXt0aGlzLl9kYXRhPWV9aGl0VGVzdChlLHQpe2NvbnN0IGk9dGhpcy5fZGF0YTtmb3IoY29uc3QgciBvZiBpLmhpc3RvZ3JhbXMpe2lmKHIueVJhbmdlLm1pbj49ZS55fHxlLnk+PXIueVJhbmdlLm1heCljb250aW51ZTtsZXQgbj1udWxsO2Zvcihjb25zdCBhIG9mIHIuYmFycyl7Y29uc3QgbD1pLnN0eWxlc1thLnN0eWxlSWRdO2lmKCFsLnZpc2libGUpY29udGludWU7aWYobC5sb2NhdGlvbj09PW8uSEhpc3RMb2NhdGlvbi5BYnNvbHV0ZSYmKHIueFJhbmdlLm1pbj49ZS54fHxlLng+PXIueFJhbmdlLm1heCkpY29udGludWU7bnVsbD09PW4mJihuPTAsci5iYXJzLmZvckVhY2goKGU9Pntjb25zdCB0PWUuc3ViQmFyVmFsdWVzLnJlZHVjZSgoKGUsdCk9PmUrdCkpO249TWF0aC5tYXgobix0KX0pKSk7Y29uc3QgZD1wKHIueFJhbmdlLGwsdC5tZWRpYVNpemUud2lkdGgpLHt4QmFzZVBvaW50Omgsc2lnbjpjLHhSYW5nZVdpZHRoOnV9PWQsZj1NYXRoLm1heChsLnBlcmNlbnRXaWR0aCp1LzEwMC1hLnN1YkJhclZhbHVlcy5sZW5ndGgsMCk7bGV0IGc9aDtmb3IobGV0IHQ9MDt0PGEuc3ViQmFyVmFsdWVzLmxlbmd0aDt0Kyspe2NvbnN0IGk9YS55LHI9YS55K2EuaGVpZ2h0LG89ZyxsPW8rYyooZiphLnN1YkJhclZhbHVlc1t0XS9uKTtpZihnPWwsKGUueD49byYmZS54PD1sfHxlLng+PWwmJmUueDw9bykmJmUueT49aSYmZS55PD1yKXJldHVybiBuZXcgcy5IaXRUZXN0UmVzdWx0KHMuSGl0VGFyZ2V0LlJlZ3VsYXIpfX19cmV0dXJuIG51bGx9ZHJhdyhlLHQpe2NvbnN0IGk9dGhpcy5fZGF0YSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86cix2ZXJ0aWNhbFBpeGVsUmF0aW86b309dDtlLnNhdmUoKSxpLmhpc3RvZ3JhbXMuZm9yRWFjaCgoYT0+e2lmKGkuaGlzdEJveEJnQ29sb3Ipe2UuYmVnaW5QYXRoKCksZS5maWxsU3R5bGU9aS5oaXN0Qm94QmdDb2xvcjtjb25zdCB0PU1hdGgucm91bmQoYS54UmFuZ2UubWluKnIpLG49TWF0aC5yb3VuZChhLnlSYW5nZS5taW4qbykscz1NYXRoLnJvdW5kKGEueFJhbmdlLm1heCpyKS10LGw9TWF0aC5yb3VuZChhLnlSYW5nZS5tYXgqbyktbjtlLnJlY3QodCxuLHMsbCksZS5maWxsKCl9Y29uc3Qgcz1bXTtsZXQgbD0wLGQ9MDthLmJhcnMuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5zdWJCYXJWYWx1ZXMucmVkdWNlKCgoZSx0KT0+ZSt0KSk7bD1NYXRoLm1heChsLHQpLGQrPWUuaGVpZ2h0fSkpO2NvbnN0IGg9ZC9hLmJhcnMubGVuZ3RoLHU9ZnVuY3Rpb24oZSx0KXtjb25zdCBpPU1hdGguZmxvb3IoZSp0KTtyZXR1cm4gaT49MSp0P01hdGguZmxvb3IodCk6MH0oaCxyKSxmPVtdO2lmKGEuYmFycy5mb3JFYWNoKChuPT57Y29uc3QgZD1pLnN0eWxlc1tuLnN0eWxlSWRdO2lmKCFkLnZpc2libGUpcmV0dXJuO2lmKGQuc2hvd1ZhbHVlcyYmZC5hZGRUb1RvdGFsVmFsdWUpZm9yKGxldCBlPTA7ZTxuLnN1YkJhclZhbHVlcy5sZW5ndGg7ZSsrKXNbZV09KHNbZV18fDApK24uc3ViQmFyVmFsdWVzW2VdO2NvbnN0IGg9cChhLnhSYW5nZSxkLHQubWVkaWFTaXplLndpZHRoKSx7eEJhc2VQb2ludDpjLHNpZ246Xyx4UmFuZ2VXaWR0aDp3fT1oO2lmKG4ueT50Lm1lZGlhU2l6ZS5oZWlnaHR8fG4ueStuLmhlaWdodDwwKXJldHVybjtjb25zdCB2PU1hdGgubWF4KGQucGVyY2VudFdpZHRoKncvMTAwLW4uc3ViQmFyVmFsdWVzLmxlbmd0aCwwKTtsZXQgbT1jO2ZvcihsZXQgdD0wO3Q8bi5zdWJCYXJWYWx1ZXMubGVuZ3RoO3QrKyl7Y29uc3QgaT1uLnksYT1uLnkrbi5oZWlnaHQscz1tLGg9cytfKih2Km4uc3ViQmFyVmFsdWVzW3RdL2wpO2lmKE1hdGguYWJzKGgtcyk8LjUpY29udGludWU7bT1oLGUuYmVnaW5QYXRoKCksZS5maWxsU3R5bGU9ZC5jb2xvcnNbdF07Y29uc3QgYz1NYXRoLnJvdW5kKHMqciksZj1NYXRoLnJvdW5kKGkqbykscD1NYXRoLnJvdW5kKGgqciktYyxnPU1hdGgubWF4KE1hdGgucm91bmQoYSpvKS1mLXUsMSk7ZS5yZWN0KGMsZixwLGcpLGUuZmlsbCgpfWlmKCFkLnNob3dWYWx1ZXMpcmV0dXJuO2NvbnN0IHk9ZyhuLmRpc3BsYXllZFZhbHVlcyxkLmRpcmVjdGlvbiksYj14KHcsbi55LG4uaGVpZ2h0LGgsZCx5KTtmLnB1c2goYil9KSkscy5sZW5ndGg+MCl7Y29uc3QgZT1pLnN0eWxlc1thLmJhcnNbMF0uc3R5bGVJZF0scj1wKGEueFJhbmdlLGUsdC5tZWRpYVNpemUud2lkdGgpLG89ZyhzLGUuZGlyZWN0aW9uKSxsPWEuYmFyc1thLmJhcnMubGVuZ3RoLTFdLGQ9eChyLnhSYW5nZVdpZHRoLGwueStsLmhlaWdodCxoLHIsZSxvKTtkLmNvbG9yPSgwLG4uc2hpZnRDb2xvcikoZC5jb2xvciwxLjUpLGYucHVzaChkKX1jb25zdCBfPU1hdGgubWluKC4uLmYubWFwKChlPT5lLmZvbnRTaXplKSkpO2lmKF8+PWMpZm9yKGNvbnN0IGkgb2YgZilpLmZvbnRTaXplPV8sdyhlLHQsaSl9KSksZS5yZXN0b3JlKCl9fWZ1bmN0aW9uIHAoZSx0LGkpe2NvbnN0IHI9dC5sb2NhdGlvbj09PW8uSEhpc3RMb2NhdGlvbi5BYnNvbHV0ZSxuPXQubG9jYXRpb249PT1vLkhIaXN0TG9jYXRpb24uUmVsYXRpdmUsYT10LmRpcmVjdGlvbj09PW8uSEhpc3REaXJlY3Rpb24uTGVmdFRvUmlnaHQscz10LmRpcmVjdGlvbj09PW8uSEhpc3REaXJlY3Rpb24uUmlnaHRUb0xlZnQ7bGV0IGwsZDtpZihyJiZhKWw9ZS5taW4sZD0xO2Vsc2UgaWYociYmcylsPWUubWF4LGQ9LTE7ZWxzZSBpZihuJiZhKWw9MCxkPTE7ZWxzZXtpZighbnx8IXMpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGxvY2F0aW9uL2RpcmVjdGlvbiB2YWx1ZXM6ICR7dC5sb2NhdGlvbn0vJHt0LmRpcmVjdGlvbn1gKTtsPWksZD0tMX12YXIgaDtyZXR1cm57eEJhc2VQb2ludDpsLHNpZ246ZCx4UmFuZ2VXaWR0aDpuP2k6KGg9ZSkubWF4LWgubWlufX1mdW5jdGlvbiBnKGUsdCl7cmV0dXJuIHQ9PT1vLkhIaXN0RGlyZWN0aW9uLlJpZ2h0VG9MZWZ0JiYoZT1lLnNsaWNlKCkpLnJldmVyc2UoKSwKZS5tYXAoKGU9PnUuZm9ybWF0KGUpKSkuam9pbigieCIpfWZ1bmN0aW9uIF8oZSx0LGkpe3JldHVybntmb250U2l6ZTpNYXRoLm1pbihNYXRoLnJvdW5kKDEuNyplL2kubGVuZ3RoKSxNYXRoLnJvdW5kKC42KnQpKSx2ZXJ0aWNhbE9mZnNldDouNyp0fX1mdW5jdGlvbiB4KGUsdCxpLG4sYSxzKXtjb25zdHtmb250U2l6ZTpsLHZlcnRpY2FsT2Zmc2V0OmR9PV8oZSxpLHMpLGg9YS5kaXJlY3Rpb249PT1vLkhIaXN0RGlyZWN0aW9uLkxlZnRUb1JpZ2h0PyJsZWZ0IjoicmlnaHQiLHt4QmFzZVBvaW50OmMsc2lnbjp1fT1uLGY9YyszKnUscD10K2Q7cmV0dXJue3RleHQ6cyxjb2xvcjphLnZhbHVlc0NvbG9yLGZvbnRTaXplOmwsYWxpZ246aCxwb2ludDpuZXcgci5Qb2ludChmLHApfX1mdW5jdGlvbiB3KGUsdCxpKXtjb25zdHt0ZXh0OnIsY29sb3I6bixmb250U2l6ZTpvLGFsaWduOnMscG9pbnQ6bH09aTtlLmZvbnQ9YCR7b31weCAke2QuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKX1gLGUuZmlsbFN0eWxlPW4sZS50ZXh0QWxpZ249cywoMCxhLmRyYXdTY2FsZWQpKGUsdC5ob3Jpem9udGFsUGl4ZWxSYXRpbyx0LnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9PmUuZmlsbFRleHQocixsLngsbC55KSkpfX0sNjc3OTA5KGUsdCxpKXtpLnIodCksaS5kKHQse0hvcml6TGluZVBhbmVWaWV3OigpPT5zfSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3NjMpLG89aSg3ODkxOTApLGE9aSg2NTA0ODApO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LGkscj0hMSxvPSgpPT5udWxsKXt0aGlzLl9kYXRhPVtdLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9leHRlbmRUb0JhcnNFbmRpbmdzPXIsdGhpcy5fYWx0ZXJuYXRlU3RhcnRJbmRleD1vLHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09aT9uZXcgbi5IaXRUZXN0UmVzdWx0KG4uSGl0VGFyZ2V0LkN1c3RvbSxpKTpuZXcgbi5IaXRUZXN0UmVzdWx0KG4uSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IG8uQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgYS5Ib3Jpem9udGFsTGluZVJlbmRlcmVyO2kuc2V0RGF0YSh0KSxpLnNldEhpdFRlc3QodGhpcy5faGl0VGVzdFJlc3VsdCksZS5hcHBlbmQoaSl9cmV0dXJuIGV9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzKCkuaG9yaXpsaW5lcygpO2lmKDA9PT1pLnNpemUpcmV0dXJuO2NvbnN0IG49dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PW4pcmV0dXJuO2NvbnN0IG89dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1vKXJldHVybjtjb25zdCBhPW4uZmlyc3RCYXIoKSxzPW4ubGFzdEJhcigpLGw9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuaG9yaXpsaW5lcyk7aS5mb3JFYWNoKCgoaSxuKT0+e2NvbnN0IGQ9KDAsci5lbnN1cmVEZWZpbmVkKShsLmNoaWxkcygpW25dKS5jaGlsZHMoKTtkLnZpc2libGUudmFsdWUoKSYmaS5mb3JFYWNoKChpPT57Y29uc3Qgbj1pLnN0YXJ0SW5kZXg/P3RoaXMuX2FsdGVybmF0ZVN0YXJ0SW5kZXgoKSxsPWkuZW5kSW5kZXg7aWYobnVsbD09PW4pcmV0dXJuO2lmKCFpLmV4dGVuZFJpZ2h0JiZNYXRoLm1heChuLGwpPGF8fCFpLmV4dGVuZExlZnQmJk1hdGgubWluKG4sbCk+cylyZXR1cm47bGV0IGgsYztpZighaS5leHRlbmRMZWZ0KXtjb25zdCBlPXQuYmFyQm9yZGVycyhuKTtoPXRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3M/ZS5sZWZ0OmUuY2VudGVyfWlmKCFpLmV4dGVuZFJpZ2h0KXtjb25zdCBlPXQuYmFyQm9yZGVycyhsKTtjPXRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3M/ZS5yaWdodDplLmNlbnRlcn10aGlzLl9kYXRhLnB1c2goe3k6ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkubGV2ZWwpLG8pLGxlZnQ6aCxyaWdodDpjLGNvbG9yOmQuY29sb3IudmFsdWUoKSxsaW5ld2lkdGg6ZC53aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTpkLnN0eWxlLnZhbHVlKCl9KX0pKX0pKX19fSwxODE0MzAoZSx0LGkpe2kucih0KSxpLmQodCx7TGV2ZWxQYW5lVmlldzooKT0+Y30pO3ZhciByLG49aSgxMzg2MzgpLG89aSg3MzY1MzEpOyFmdW5jdGlvbihlKXtlW2UuVG9wTGVmdD0wXT0iVG9wTGVmdCIsZVtlLlRvcENlbnRlcj0xXT0iVG9wQ2VudGVyIixlW2UuVG9wUmlnaHQ9Ml09IlRvcFJpZ2h0IixlW2UuTWlkZGxlTGVmdD0zXT0iTWlkZGxlTGVmdCIsZVtlLk1pZGRsZUNlbnRlcj00XT0iTWlkZGxlQ2VudGVyIixlW2UuTWlkZGxlUmlnaHQ9NV09Ik1pZGRsZVJpZ2h0IixlW2UuQm90dG9tTGVmdD02XT0iQm90dG9tTGVmdCIsZVtlLkJvdHRvbUNlbnRlcj03XT0iQm90dG9tQ2VudGVyIixlW2UuQm90dG9tUmlnaHQ9OF09IkJvdHRvbVJpZ2h0In0ocnx8KHI9e30pKTt2YXIgYT1pKDg4NDI4KSxzPWkoNzg5MTkwKSxsPWkoNjUwNDgwKSxkPWkoNDcwOTg2KSxoPWkoOTI2MTQ5KTtjbGFzcyBje2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fbGluZVJlbmRlcmVycz1bXSx0aGlzLl90ZXh0UmVuZGVyZXJzPVtdLHRoaXMuX3JlbmRlcmVyPW5ldyBzLkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dH11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXsKcmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9yZW5kZXJlci5jbGVhcigpO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWV8fGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmhsaW5lcygpO2lmKDA9PT1pLnNpemUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1zKXJldHVybjtjb25zdCBjPXRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcyx1PSgwLG4uZW5zdXJlRGVmaW5lZCkoYy5jaGlsZHMoKS5obGluZXMpLGY9KDAsbi5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5ncmFwaGljc0luZm8oKS5obGluZXMpO2xldCBwPTAsZz0wO2ZvcihpLmZvckVhY2goKChpLGMpPT57Y29uc3QgXz0oMCxuLmVuc3VyZURlZmluZWQpKHUuY2hpbGRzKClbY10pLmNoaWxkcygpLHg9KDAsbi5lbnN1cmVEZWZpbmVkKShmW2NdKS5lbmFibGVUZXh0JiYoMCxuLmVuc3VyZURlZmluZWQpKF8uc2hvd1RleHQpLnZhbHVlKCksdz1fLnZpc2libGUudmFsdWUoKTsoeHx8dykmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IGM9ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxuLmVuc3VyZURlZmluZWQpKGkubGV2ZWwpLHMpO2lmKHgpe2NvbnN0IGU9KDAsbi5lbnN1cmVEZWZpbmVkKShfLnRleHRQb3MpLnZhbHVlKCksW3MsbF09ZnVuY3Rpb24oZSx0KXtpZihlPT09ci5Ub3BMZWZ0fHxlPT09ci5NaWRkbGVMZWZ0fHxlPT09ci5Cb3R0b21MZWZ0KXJldHVyblthLkhvcml6b250YWxBbGlnbi5MZWZ0LDRdO2lmKGU9PT1yLlRvcENlbnRlcnx8ZT09PXIuTWlkZGxlQ2VudGVyfHxlPT09ci5Cb3R0b21DZW50ZXIpcmV0dXJuW2EuSG9yaXpvbnRhbEFsaWduLkNlbnRlcix0LzJdO2lmKGU9PT1yLlRvcFJpZ2h0fHxlPT09ci5NaWRkbGVSaWdodHx8ZT09PXIuQm90dG9tUmlnaHQpcmV0dXJuW2EuSG9yaXpvbnRhbEFsaWduLlJpZ2h0LHRdO3Rocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgVGV4dFBvcyB2YWx1ZSIpfShlLHQud2lkdGgoKSksW3UsZl09ZnVuY3Rpb24oZSx0KXtpZihlPT09ci5Ub3BMZWZ0fHxlPT09ci5Ub3BDZW50ZXJ8fGU9PT1yLlRvcFJpZ2h0KXJldHVyblthLlZlcnRpY2FsQWxpZ24uQm90dG9tLHQtNF07aWYoZT09PXIuTWlkZGxlTGVmdHx8ZT09PXIuTWlkZGxlQ2VudGVyfHxlPT09ci5NaWRkbGVSaWdodClyZXR1cm5bYS5WZXJ0aWNhbEFsaWduLk1pZGRsZSx0LTJdO2lmKGU9PT1yLkJvdHRvbUxlZnR8fGU9PT1yLkJvdHRvbUNlbnRlcnx8ZT09PXIuQm90dG9tUmlnaHQpcmV0dXJuW2EuVmVydGljYWxBbGlnbi5Ub3AsdF07dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBUZXh0UG9zIHZhbHVlIil9KGUsYyksZz17cG9pbnRzOltuZXcgby5Qb2ludChsLGYpXSxvZmZzZXRYOjAsb2Zmc2V0WTowLHRleHQ6aS50ZXh0fHwiIixjb2xvcjpfLmNvbG9yLnZhbHVlKCksZm9udDpoLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCksZm9udHNpemU6KDAsbi5lbnN1cmVEZWZpbmVkKShfLmZvbnRTaXplKS52YWx1ZSgpLGhvcnpBbGlnbjpzLHZlcnRBbGlnbjp1fTtsZXQgeDt2b2lkIDA9PT10aGlzLl90ZXh0UmVuZGVyZXJzW3BdPyh4PW5ldyBkLlRleHRSZW5kZXJlcix0aGlzLl90ZXh0UmVuZGVyZXJzW3BdPXgpOng9dGhpcy5fdGV4dFJlbmRlcmVyc1twXSx4LnNldERhdGEoZykscCsrfWlmKHcpe2NvbnN0IGU9e3Zpc2libGU6ITAseTpjLGNvbG9yOl8uY29sb3IudmFsdWUoKSxsaW5ld2lkdGg6Xy53aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTpfLnN0eWxlLnZhbHVlKCl9O2xldCB0O3ZvaWQgMD09PXRoaXMuX2xpbmVSZW5kZXJlcnNbZ10/KHQ9bmV3IGwuSG9yaXpvbnRhbExpbmVSZW5kZXJlcix0aGlzLl9saW5lUmVuZGVyZXJzW2ddPXQpOnQ9dGhpcy5fbGluZVJlbmRlcmVyc1tnXSx0LnNldERhdGEoZSksZysrfX0pKX0pKTt0aGlzLl90ZXh0UmVuZGVyZXJzLmxlbmd0aD5wOyl0aGlzLl90ZXh0UmVuZGVyZXJzLnBvcCgpO2Zvcig7dGhpcy5fbGluZVJlbmRlcmVycy5sZW5ndGg+ZzspdGhpcy5fbGluZVJlbmRlcmVycy5wb3AoKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9saW5lUmVuZGVyZXJzKXRoaXMuX3JlbmRlcmVyLmFwcGVuZChlKTtmb3IoY29uc3QgZSBvZiB0aGlzLl90ZXh0UmVuZGVyZXJzKXRoaXMuX3JlbmRlcmVyLmFwcGVuZChlKX19fSw1Njg5NjMoZSx0LGkpe2kucih0KSxpLmQodCx7TGluZVBhbmVWaWV3OigpPT5kfSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3MzY1MzEpLG89aSg3NjMpLGE9aSg3ODkxOTApLHM9aSg2NjAxNjEpLGw9aSg2NjQ4MTUpO2NsYXNzIGR7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2RhdGE9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09aT9uZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LkN1c3RvbSxpKTpuZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IGEuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgbC5UcmVuZExpbmVSZW5kZXJlcjtpLnNldERhdGEodCksaS5zZXRIaXRUZXN0KHRoaXMuX2hpdFRlc3RSZXN1bHQpLGUuYXBwZW5kKGkpfXJldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkKO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS5saW5lcygpO2lmKDA9PT1pLnNpemUpcmV0dXJuO2NvbnN0IG89dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PW8pcmV0dXJuO2NvbnN0IGE9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1hKXJldHVybjtjb25zdCBsPW8uZmlyc3RCYXIoKSxkPW8ubGFzdEJhcigpLGg9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkubGluZXMpO2kuZm9yRWFjaCgoKGksbyk9Pntjb25zdCBjPSgwLHIuZW5zdXJlRGVmaW5lZCkoaC5jaGlsZHMoKVtvXSkuY2hpbGRzKCk7Yy52aXNpYmxlLnZhbHVlKCkmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IG89aS5zdGFydEluZGV4KyhpLnN0YXJ0T2Zmc2V0fHwwKSxoPWkuZW5kSW5kZXgrKGkuZW5kT2Zmc2V0fHwwKTtpZihNYXRoLm1heChvLGgpPGx8fE1hdGgubWluKG8saCk+ZClyZXR1cm47Y29uc3QgdT10LmluZGV4VG9Db29yZGluYXRlKG8pLGY9dC5pbmRleFRvQ29vcmRpbmF0ZShoKSxwPWUucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShpLnN0YXJ0UHJpY2UpLGEpLGc9ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkuZW5kUHJpY2UpLGEpLF89bmV3IG4uUG9pbnQodSxwKSx4PW5ldyBuLlBvaW50KGYsZyk7dGhpcy5fZGF0YS5wdXNoKHtwb2ludHM6W18seF0sZXh0ZW5kbGVmdDohMSxleHRlbmRyaWdodDohMSxsZWZ0ZW5kOnMuTGluZUVuZC5Ob3JtYWwscmlnaHRlbmQ6cy5MaW5lRW5kLk5vcm1hbCxjb2xvcjpjLmNvbG9yLnZhbHVlKCksbGluZXdpZHRoOmMud2lkdGgudmFsdWUoKSxsaW5lc3R5bGU6Yy5zdHlsZS52YWx1ZSgpfSl9KSl9KSl9fX0sNDkzNjgxKGUsdCxpKXtpLnIodCksaS5kKHQse1BvbHlnb25QYW5lVmlldzooKT0+ZH0pO3ZhciByPWkoMTM4NjM4KSxuPWkoNzM2NTMxKSxvPWkoNzYzKSxhPWkoNzg5MTkwKSxzPWkoMjYwNjkpLGw9aSg4ODA3NjEpO2NsYXNzIGR7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2RhdGE9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09aT9uZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LkN1c3RvbSxpKTpuZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IGEuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgbC5Qb2x5Z29uUmVuZGVyZXIodGhpcy5faGl0VGVzdFJlc3VsdCk7aS5zZXREYXRhKHQpLGUuYXBwZW5kKGkpfXJldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWV8fGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLnBvbHlnb25zKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgbz10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bylyZXR1cm47Y29uc3QgYT10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PWEpcmV0dXJuO2NvbnN0IGw9by5maXJzdEJhcigpLGQ9by5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5wb2x5Z29ucyksYz0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzSW5mbygpLnBvbHlnb25zKTtpLmZvckVhY2goKChpLG8pPT57Y29uc3QgdT0oMCxyLmVuc3VyZURlZmluZWQpKGguY2hpbGRzKClbb10pLmNoaWxkcygpLGY9KDAsci5lbnN1cmVEZWZpbmVkKShjW29dKTsxMDAhPT11LnRyYW5zcGFyZW5jeS52YWx1ZSgpJiZpLmZvckVhY2goKGk9PntsZXQgbz0xLzAsaD0tMS8wO2Zvcihjb25zdCBlIG9mIGkucG9pbnRzKXtjb25zdCB0PWUuaW5kZXgrKGUub2Zmc2V0fHwwKTtvPU1hdGgubWluKG8sdCksaD1NYXRoLm1heChoLHQpfWlmKGg8bHx8ZDxvKXJldHVybjtjb25zdCBjPWkucG9pbnRzLm1hcCgoaT0+e2NvbnN0IG89dC5pbmRleFRvQ29vcmRpbmF0ZShpLmluZGV4KyhpLm9mZnNldHx8MCkpLHM9ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkubGV2ZWwpLGEpO3JldHVybiBuZXcgbi5Qb2ludChvLHMpfSkpO3RoaXMuX2RhdGEucHVzaCh7cG9pbnRzOmMsY29sb3I6dS5jb2xvci52YWx1ZSgpLGJhY2tjb2xvcjp1LmNvbG9yLnZhbHVlKCksbGluZXdpZHRoOmYuc2hvd0JvcmRlcj8xOjAsbGluZXN0eWxlOnMuTElORVNUWUxFX1NPTElELGZpbGxlZDohMCxmaWxsQmFja2dyb3VuZDohMCx0cmFuc3BhcmVuY3k6dS50cmFuc3BhcmVuY3kudmFsdWUoKSxkaXNhYmxlSW50ZXJhY3Rpb25zOiFmLm1vdXNlVG91Y2hhYmxlfSl9KSl9KSl9fX0sNjkwMTgzKGUsdCxpKXtpLnIodCksaS5kKHQse1NoYXBlTWFya1BhbmVWaWV3OigpPT54fSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3MzY1MzEpLG89aSg2ODc1OTApLGE9aSg5NjA0NjQpLHM9aSg3ODkxOTApLGw9aSg3NjgzMDUpLGQ9aSg3NjMpLGg9aSgxNTEyMSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9kYXRhPWV9ZHJhdyhlLHQpe2NvbnN0IGk9ImRvd24iPT09dGhpcy5fZGF0YS5kaXJlY3Rpb24/MToidXAiPT09dGhpcy5fZGF0YS5kaXJlY3Rpb24/LTE6MCxyPXRoaXMuX2RhdGEucG9pbnQueCxuPXRoaXMuX2RhdGEucG9pbnQueTsoMCwKaC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57ZS5maWxsU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixlLmJlZ2luUGF0aCgpLGUuYXJjKHIrMSxuKzIqdGhpcy5fZGF0YS5zaXplKmksdGhpcy5fZGF0YS5zaXplLDAsMipNYXRoLlBJKSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpLGUuc3Ryb2tlKCl9KSl9aGl0VGVzdChlKXtjb25zdCB0PSJkb3duIj09PXRoaXMuX2RhdGEuZGlyZWN0aW9uPzE6InVwIj09PXRoaXMuX2RhdGEuZGlyZWN0aW9uPy0xOjAsaT1uZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngrLjUsdGhpcy5fZGF0YS5wb2ludC55Ky41KzIqdGhpcy5fZGF0YS5zaXplKnQpO3JldHVybigwLGwucG9pbnRJbkNpcmNsZSkoZSxpLHRoaXMuX2RhdGEuc2l6ZSk/bmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTpudWxsfX1jbGFzcyB1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RhdGE9ZX1kcmF3KGUsdCl7Y29uc3QgaT0iZG93biI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8xOiJ1cCI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8tMTowLHI9dGhpcy5fZGF0YS5zaXplLG89bmV3IG4uUG9pbnQodGhpcy5fZGF0YS5wb2ludC54LXIvMix0aGlzLl9kYXRhLnBvaW50Lnktci8yK2kqciksYT1uZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50Lngrci8yLHRoaXMuX2RhdGEucG9pbnQueStyLzIraSpyKS5zdWJ0cmFjdChvKSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86bH09dCxkPU1hdGgubWF4KDEsTWF0aC5mbG9vcihzKSksaD1kLzIsYz1kJTI/LjU6MCx1PU1hdGgucm91bmQoby54KnMpK2MsZj1NYXRoLnJvdW5kKChvLngrYS54KSpzKStjLHA9TWF0aC5yb3VuZChvLnkqbCkrYyxnPU1hdGgucm91bmQoKG8ueSthLnkpKmwpK2M7ZS5iZWdpblBhdGgoKSxlLmZpbGxTdHlsZT10aGlzLl9kYXRhLmNvbG9yLGUucmVjdCh1K2gscCtoLGYtdS1kLGctcC1kKSxlLmZpbGwoKSxlLmxpbmVXaWR0aD1kLGUuYmVnaW5QYXRoKCksZS5yZWN0KHUscCxmLXUsZy1wKSxlLnN0cm9rZSgpfWhpdFRlc3QoZSl7Y29uc3QgdD0iZG93biI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8xOiJ1cCI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8tMTowLGk9dGhpcy5fZGF0YS5zaXplLHI9bmV3IG4uUG9pbnQodGhpcy5fZGF0YS5wb2ludC54LWkvMix0aGlzLl9kYXRhLnBvaW50LnktaS8yK3QqaSksbz1uZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngraS8yLHRoaXMuX2RhdGEucG9pbnQueStpLzIrdCppKTtyZXR1cm4oMCxsLnBvaW50SW5Cb3gpKGUsKDAsbi5ib3gpKHIsbykpP25ldyBkLkhpdFRlc3RSZXN1bHQoZC5IaXRUYXJnZXQuUmVndWxhcik6bnVsbH19Y2xhc3MgZntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2RhdGE9ZSx0aGlzLl9hcnJvd0RpcmVjdGlvbj10fWRyYXcoZSx0KXtjb25zdCBpPXRoaXMuX2Fycm93RGlyZWN0aW9uLHI9dGhpcy5fZGF0YS5zaXplLG49dGhpcy5fZGF0YS5jb2xvcixvPXRoaXMuX2RhdGEucG9pbnQueCsxO2xldCBhPXRoaXMuX2RhdGEucG9pbnQueTtjb25zdCBzPTEuMSpyO3N3aXRjaChpKXtjYXNlInVwIjphLT1zO2JyZWFrO2Nhc2UiZG93biI6YSs9c31jb25zdCBsPXIvNixkPXIvNCxjPXIvMyx1PXIvMixmPS42NjY2NjY2KnI7KDAsaC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57c3dpdGNoKGUuZmlsbFN0eWxlPW4sZS5iZWdpblBhdGgoKSxpKXtjYXNlInVwIjplLm1vdmVUbyhvLGEpLGUubGluZVRvKG8tdSxhK2YpLGUubGluZVRvKG8tZCxhK2YpLGUubGluZVRvKG8sYStjKSxlLmxpbmVUbyhvK2QsYStmKSxlLmxpbmVUbyhvK3UsYStmKSxlLmxpbmVUbyhvLGEpO2JyZWFrO2Nhc2UiZG93biI6ZS5tb3ZlVG8obyxhK3IpLGUubGluZVRvKG8tdSxhK2MpLGUubGluZVRvKG8tZCxhK2MpLGUubGluZVRvKG8sYStmKSxlLmxpbmVUbyhvK2QsYStjKSxlLmxpbmVUbyhvK3UsYStjKSxlLmxpbmVUbyhvLGErcik7YnJlYWs7Y2FzZSJyaWdodCI6ZS5tb3ZlVG8obytsLGEpLGUubGluZVRvKG8tbCxhLWQpLGUubGluZVRvKG8tbCxhK2QpLGUubGluZVRvKG8rbCxhKTticmVhaztjYXNlImxlZnQiOmUubW92ZVRvKG8tbCxhKSxlLmxpbmVUbyhvK2wsYS1kKSxlLmxpbmVUbyhvK2wsYStkKSxlLmxpbmVUbyhvLWwsYSl9ZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSxlLnN0cm9rZSgpfSkpfWhpdFRlc3QoZSl7Y29uc3RbdCxpLHJdPXRoaXMuX2hpdFRyaWFuZ2xlKCk7cmV0dXJuKDAsbC5wb2ludEluVHJpYW5nbGUpKGUsdCxpLHIpP25ldyBkLkhpdFRlc3RSZXN1bHQoZC5IaXRUYXJnZXQuUmVndWxhcik6bnVsbH1faGl0VHJpYW5nbGUoKXtjb25zdCBlPXRoaXMuX2RhdGEucG9pbnQueDtsZXQgdD10aGlzLl9kYXRhLnBvaW50Lnk7Y29uc3QgaT10aGlzLl9hcnJvd0RpcmVjdGlvbixyPXRoaXMuX2RhdGEuc2l6ZSxvPTEuMSpyO3N3aXRjaChpKXtjYXNlInVwIjp0LT1vO2JyZWFrO2Nhc2UiZG93biI6dCs9b31jb25zdCBhPXIvNixzPXIvNCxsPXIvMyxkPXIvMixoPS42NjY2NjY2KnI7c3dpdGNoKGkpe2Nhc2UidXAiOnJldHVybltuZXcgbi5Qb2ludChlLHQpLG5ldyBuLlBvaW50KGUrZCx0K2gpLG5ldyBuLlBvaW50KGUtZCx0K2gpXTtjYXNlImRvd24iOnJldHVybltuZXcgbi5Qb2ludChlLHQrciksbmV3IG4uUG9pbnQoZStkLHQrbCksbmV3IG4uUG9pbnQoZS1kLHQrbCldO2Nhc2UicmlnaHQiOnJldHVybltuZXcgbi5Qb2ludChlK2EsdCksbmV3IG4uUG9pbnQoZS1hLHQtcyksbmV3IG4uUG9pbnQoZS1hLHQrcyldO2Nhc2UibGVmdCI6cmV0dXJuW25ldyBuLlBvaW50KGUtYSx0KSxuZXcgbi5Qb2ludChlK2EsdC1zKSxuZXcgbi5Qb2ludChlK2EsdCtzKV19fX12YXIgcD1pKDE1OTcxMCksZz1pKDg3MzU3Myk7Y29uc3QgXz0oMCxpKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiQ2hhcnQuU2hhcGVNYXJrUGFuZVZpZXciKTtjbGFzcyB4IGV4dGVuZHMgcC5Mb2NhdGlvblRvWU1peGlue2NvbnN0cnVjdG9yKGUsdCxpKXsKc3VwZXIoKSx0aGlzLl9kYXRhPVtdLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9kYXRhPVtdfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IHMuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSlzd2l0Y2godC5zaGFwZSl7Y2FzZSJjaXJjbGUiOmUuYXBwZW5kKG5ldyBjKHQpKTticmVhaztjYXNlInNxdWFyZSI6ZS5hcHBlbmQobmV3IHUodCkpO2JyZWFrO2Nhc2UiYXJyb3dVcCI6ZS5hcHBlbmQobmV3IGYodCwidXAiKSk7YnJlYWs7Y2FzZSJhcnJvd0Rvd24iOmUuYXBwZW5kKG5ldyBmKHQsImRvd24iKSk7YnJlYWs7Y2FzZSJhcnJvd1JpZ2h0IjplLmFwcGVuZChuZXcgZih0LCJyaWdodCIpKTticmVhaztjYXNlImFycm93TGVmdCI6ZS5hcHBlbmQobmV3IGYodCwibGVmdCIpKX1yZXR1cm4gZX1fdXBkYXRlVmlld0ludGVybmFsKCl7dGhpcy5fZGF0YT1bXTtjb25zdCBlPXRoaXMuX3Byb3ZpZGVyLnByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS5zaGFwZW1hcmtzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3QgYT10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0IGw9YS5maXJzdEJhcigpLGQ9YS5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5zaGFwZW1hcmtzKSxjPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3NJbmZvKCkuc2hhcGVtYXJrcyk7aS5mb3JFYWNoKCgoaSxhKT0+e2NvbnN0IHU9KDAsci5lbnN1cmVEZWZpbmVkKShoLmNoaWxkcygpW2FdKS5jaGlsZHMoKSxmPSgwLHIuZW5zdXJlRGVmaW5lZCkoY1thXSk7dS52aXNpYmxlLnZhbHVlKCkmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IHI9aS50aW1lO2lmKHI8bHx8ZDxyKXJldHVybjtpZihudWxsPT09dGhpcy5fcHJvdmlkZXIuc2VyaWVzKCkuYmFycygpLnZhbHVlQXQocikpcmV0dXJuO2NvbnN0IGE9Zi5sb2NhdGlvbixoPWYuc2hhcGUsYz11LnNpemUudmFsdWUoKSxwPSgwLGcuZ2VuZXJhdGVDb2xvcikodS5jb2xvci52YWx1ZSgpLHUudHJhbnNwYXJlbmN5LnZhbHVlKCkpLHtjZW50ZXI6XyxsZWZ0OngscmlnaHQ6dyx5OnYsZGlyZWN0aW9uOm19PXRoaXMuX2NhbGNDb29yZHNGb3JTaGFwZShhLHIsYyxpLnByaWNlLHMsZSx0KTtsZXQgeTtzd2l0Y2goZi5oYWxpZ24pe2Nhc2Ugby5IQWxpZ24uTGVmdDp5PXg7YnJlYWs7Y2FzZSBvLkhBbGlnbi5SaWdodDp5PXc7YnJlYWs7Y2FzZSBvLkhBbGlnbi5DZW50ZXI6eT1ffXN3aXRjaChoKXtjYXNlImNpcmNsZSI6Y2FzZSJzcXVhcmUiOnRoaXMuX2RhdGEucHVzaCh7c2hhcGU6aCxjb2xvcjpwLGRpcmVjdGlvbjptLHBvaW50Om5ldyBuLlBvaW50KHksdiksc2l6ZTpjfSk7YnJlYWs7Y2FzZSJhcnJvd1VwIjpjYXNlImFycm93RG93biI6Y2FzZSJhcnJvd1JpZ2h0IjpjYXNlImFycm93TGVmdCI6dGhpcy5fZGF0YS5wdXNoKHtzaGFwZTpoLGNvbG9yOnAscG9pbnQ6bmV3IG4uUG9pbnQoeSx2KSxzaXplOmN9KX19KSl9KSl9X2NhbGNDb29yZHNGb3JTaGFwZShlLHQsaSxuLG8scyxsKXtjb25zdCBkPWwuYmFyQm9yZGVycyh0KTtzd2l0Y2goZSl7Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYnNvbHV0ZTpyZXR1cm57Li4uZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246IiJ9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVEb3duOnJldHVybnsuLi5kLHk6cy5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKG4pLG8pLGRpcmVjdGlvbjoiZG93biJ9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVVcDpyZXR1cm57Li4uZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246InVwIn07Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYm92ZUJhcjpyZXR1cm57Li4uZCx5OnRoaXMuX2xvY2F0aW9uVG9ZKGUsdCxNYXRoLmZsb29yKDIqaS9sLmJhclNwYWNpbmcoKSkrMSksZGlyZWN0aW9uOiJ1cCJ9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQmVsb3dCYXI6cmV0dXJuey4uLmQseTp0aGlzLl9sb2NhdGlvblRvWShlLHQsTWF0aC5mbG9vcigyKmkvbC5iYXJTcGFjaW5nKCkpKzEpLGRpcmVjdGlvbjoiZG93biJ9O2RlZmF1bHQ6cmV0dXJuIF8ubG9nV2FybigiQmFkIGxvY2F0aW9uIHZhbHVlOiAiK2UpLHsuLi5kLHk6TmFOLGRpcmVjdGlvbjoidXAifX19fX0sODY3NzE3KGUsdCxpKXtpLnIodCksaS5kKHQse1RleHRNYXJrUGFuZVZpZXc6KCk9Pnh9KTt2YXIgcj1pKDEzODYzOCksbj1pKDczNjUzMSksbz1pKDQ1NTE4OCksYT1pKDk2MDQ2NCkscz1pKDc4OTE5MCksbD1pKDc2ODMwNSksZD1pKDc2MyksaD1pKDE1MTIxKSxjPWkoOTY5MTY4KTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fZGF0YT1lLHRoaXMuX3RleHRDYWNoZT10fWRyYXcoZSx0KXtpZighdGhpcy5fZGF0YSlyZXR1cm47Y29uc3QgaT1mKHRoaXMuX2RhdGEuZGlyZWN0aW9uKTtsZXQgcj10aGlzLl9kYXRhLnBvaW50Lng7ImxlZnQiPT09dGhpcy5fZGF0YS5oYWxpZ24/ci09dGhpcy5fZGF0YS5zaXplOiJyaWdodCI9PT10aGlzLl9kYXRhLmhhbGlnbiYmKHIrPXRoaXMuX2RhdGEuc2l6ZSk7Y29uc3Qgbj10aGlzLl9kYXRhLnBvaW50Lnk7ZS5mb250PXRoaXMuX2ZvbnRTdHlsZSgpO2NvbnN0IG89ZS5tZWFzdXJlVGV4dCh0aGlzLl9kYXRhLnRleHQpLndpZHRoCjt0aGlzLl90ZXh0Q2FjaGUudGV4dFdpZHRoPW87Y29uc3QgYT10aGlzLl9kYXRhLmZvbnRTaXplO2UudGV4dEFsaWduPSgwLGMuaXNSdGwpKCk/InJpZ2h0IjoibGVmdCI7Y29uc3Qgcz0oMCxoLmNhbGNUZXh0SG9yaXpvbnRhbFNoaWZ0KShlLG8pLGw9LjY1KmEsZD0xKmE7KDAsaC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57ZS50cmFuc2xhdGUocixuKSxlLmJlZ2luUGF0aCgpLGUubW92ZVRvKDAsMCksZS5saW5lVG8obCxkKmkpLGUubGluZVRvKC41Km8rbCxkKmkpLGUubGluZVRvKC41Km8rbCwoZCsxLjc1KmEpKmkpLGUubGluZVRvKC41Ki1vLWwsKGQrMS43NSphKSppKSxlLmxpbmVUbyguNSotby1sLGQqaSksZS5saW5lVG8oLWwsZCppKSxlLmxpbmVUbygwLDApLGUuc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS5ib3JkZXJDb2xvcixlLnN0cm9rZSgpLGUuZmlsbFN0eWxlPXRoaXMuX2RhdGEuY29sb3IsZS5maWxsKCksZS5maWxsU3R5bGU9dGhpcy5fZGF0YS5mb250Q29sb3IsZS5maWxsVGV4dCh0aGlzLl9kYXRhLnRleHQsLjUqLW8rcyxpPDA/aSpkLS41KmE6ZCsxLjI1KmEpfSkpfWhpdFRlc3QoZSl7Y29uc3QgdD10aGlzLl90ZXh0Q2FjaGUudGV4dFdpZHRofHwwLGk9dGhpcy5fZGF0YS5mb250U2l6ZSxyPWYodGhpcy5fZGF0YS5kaXJlY3Rpb24pLG89LjY1KmksYT0xKmk7bGV0IHM9dGhpcy5fZGF0YS5wb2ludC54OyJsZWZ0Ij09PXRoaXMuX2RhdGEuaGFsaWduP3MtPXRoaXMuX2RhdGEuc2l6ZToicmlnaHQiPT09dGhpcy5fZGF0YS5oYWxpZ24mJihzKz10aGlzLl9kYXRhLnNpemUpO2NvbnN0IGg9dGhpcy5fZGF0YS5wb2ludC55LGM9cy0uNSp0LW8sdT1zKy41KnQrbztsZXQgcD1oK2EqcixnPWgrKGErMS43NSppKSpyO2lmKGc8cCl7Y29uc3QgZT1wO3A9ZyxnPWV9aWYoKDAsbC5wb2ludEluQm94KShlLCgwLG4uYm94KShuZXcgbi5Qb2ludChjLHApLG5ldyBuLlBvaW50KHUsZykpKSlyZXR1cm4gbmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTtjb25zdCBfPVtuZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngsdGhpcy5fZGF0YS5wb2ludC55KSxuZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngrLjY1KmksdGhpcy5fZGF0YS5wb2ludC55K2kqciksbmV3IG4uUG9pbnQodGhpcy5fZGF0YS5wb2ludC54LS42NSppLHRoaXMuX2RhdGEucG9pbnQueStpKnIpXSx4PShlLngtX1swXS54KSooX1sxXS55LV9bMF0ueSktKGUueS1fWzBdLnkpKihfWzFdLngtX1swXS54KTtyZXR1cm4oKGUueC1fWzFdLngpKihfWzJdLnktX1sxXS55KS0oZS55LV9bMV0ueSkqKF9bMl0ueC1fWzFdLngpKSp4PjAmJigoZS54LV9bMl0ueCkqKF9bMF0ueS1fWzJdLnkpLShlLnktX1syXS55KSooX1swXS54LV9bMl0ueCkpKng+MD9uZXcgZC5IaXRUZXN0UmVzdWx0KGQuSGl0VGFyZ2V0LlJlZ3VsYXIpOm51bGx9X2ZvbnRTdHlsZSgpe3JldHVybih0aGlzLl9kYXRhLmJvbGQ/ImJvbGQgIjoiIikrKHRoaXMuX2RhdGEuaXRhbGljPyJpdGFsaWMgIjoiIikrYCR7dGhpcy5fZGF0YS5mb250U2l6ZX1weCAke3RoaXMuX2RhdGEuZm9udH1gfX1mdW5jdGlvbiBmKGUpe2lmKCJ1cCI9PT1lKXJldHVybiAxO2lmKCJkb3duIj09PWUpcmV0dXJuLTE7dGhyb3cgbmV3IEVycm9yKGAke2V9IGlzIG5vdCBzdXBwb3J0ZWQgYnkgVHJpYW5nbGVUZXh0TWFya1JlbmRlcmVyYCl9Y2xhc3MgcHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2RhdGE9ZSx0aGlzLl90ZXh0Q2FjaGU9dH1kcmF3KGUsdCl7Y29uc3QgaT10aGlzLl9kYXRhLnBvaW50Lngscj10aGlzLl9kYXRhLnBvaW50Lnk7ZS5mb250PXRoaXMuX2ZvbnRTdHlsZSgpO2NvbnN0IG49ZS5tZWFzdXJlVGV4dCh0aGlzLl9kYXRhLnRleHQpLndpZHRoO3RoaXMuX3RleHRDYWNoZS50ZXh0V2lkdGg9biwoMCxoLmRyYXdTY2FsZWQpKGUsdC5ob3Jpem9udGFsUGl4ZWxSYXRpbyx0LnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9Pntzd2l0Y2goZS50cmFuc2xhdGUoaSxyKSxlLmJlZ2luUGF0aCgpLGUubW92ZVRvKDAsMCksZS50ZXh0QWxpZ249dGhpcy5fZGF0YS5oYWxpZ24sdGhpcy5fZGF0YS52YWxpZ24pe2Nhc2UibWlkZGxlIjplLnRleHRCYXNlbGluZT0ibWlkZGxlIjticmVhaztjYXNlInRvcCI6ZS50ZXh0QmFzZWxpbmU9ImJvdHRvbSI7YnJlYWs7Y2FzZSJib3R0b20iOmUudGV4dEJhc2VsaW5lPSJoYW5naW5nIn1lLmZpbGxTdHlsZT10aGlzLl9kYXRhLmZvbnRDb2xvcixlLmZpbGxUZXh0KHRoaXMuX2RhdGEudGV4dCwwLDApfSkpfWhpdFRlc3QoZSl7bGV0IHQ9dGhpcy5fZGF0YS5wb2ludC54LGk9dGhpcy5fZGF0YS5wb2ludC55O2NvbnN0IHI9dGhpcy5fdGV4dENhY2hlLnRleHRXaWR0aHx8MCxvPXRoaXMuX2RhdGEuZm9udFNpemU7c3dpdGNoKHRoaXMuX2RhdGEuaGFsaWduKXtjYXNlInJpZ2h0Ijp0LT1yO2JyZWFrO2Nhc2UiY2VudGVyIjp0LT1yLzJ9c3dpdGNoKHRoaXMuX2RhdGEudmFsaWduKXtjYXNlIm1pZGRsZSI6aS09by8yO2JyZWFrO2Nhc2UiYm90dG9tIjppLT1vfWNvbnN0IGE9bmV3IG4uUG9pbnQodCxpKSxzPW5ldyBuLlBvaW50KHQrcixpK28pO3JldHVybigwLGwucG9pbnRJbkJveCkoZSwoMCxuLmJveCkoYSxzKSk/bmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTpudWxsfV9mb250U3R5bGUoKXtyZXR1cm4odGhpcy5fZGF0YS5ib2xkPyJib2xkICI6IiIpKyh0aGlzLl9kYXRhLml0YWxpYz8iaXRhbGljICI6IiIpK2Ake3RoaXMuX2RhdGEuZm9udFNpemV9cHggJHt0aGlzLl9kYXRhLmZvbnR9YH19dmFyIGc9aSgxNTk3MTApLF89aSg4NzM1NzMpO2NsYXNzIHggZXh0ZW5kcyBnLkxvY2F0aW9uVG9ZTWl4aW57Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCksdGhpcy5fZGF0YT1bXSx0aGlzLl90ZXh0Q2FjaGU9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10fXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpewp0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZVZpZXdJbnRlcm5hbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBzLkNvbXBvc2l0ZVJlbmRlcmVyO2ZvcihsZXQgdD0wO3Q8dGhpcy5fZGF0YS5sZW5ndGg7dCsrKXtjb25zdCBpPXRoaXMuX2RhdGFbdF0scj10aGlzLl90ZXh0Q2FjaGVbdF07c3dpdGNoKGkuc2hhcGUpe2Nhc2UidHJpYW5nbGUiOmUuYXBwZW5kKG5ldyB1KGkscikpO2JyZWFrO2Nhc2UicmVjdGFuZ2xlIjplLmFwcGVuZChuZXcgcChpLHIpKX19cmV0dXJuIGV9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzKCkudGV4dG1hcmtzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3QgYT10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0IGw9YS5maXJzdEJhcigpLGQ9YS5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS50ZXh0bWFya3MpLGM9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5ncmFwaGljc0luZm8oKS50ZXh0bWFya3MpO2kuZm9yRWFjaCgoKGksYSk9Pntjb25zdCB1PSgwLHIuZW5zdXJlRGVmaW5lZCkoaC5jaGlsZHMoKVthXSkuY2hpbGRzKCksZj0oMCxyLmVuc3VyZURlZmluZWQpKGNbYV0pO3UudmlzaWJsZS52YWx1ZSgpJiZpLmZvckVhY2goKGk9PntsZXQgcj1pLnRpbWU7aWYocjxsfHxkPHIpcmV0dXJuO2lmKG51bGw9PT10aGlzLl9wcm92aWRlci5zZXJpZXMoKS5iYXJzKCkudmFsdWVBdChyKSlyZXR1cm47cj1pLnRpbWUrKGkub2Zmc2V0fHwwKTtjb25zdCBhPXt0ZXh0OmkudGV4dD9pLnRleHQ6IiIsYm9sZDp1LmZvbnRCb2xkLnZhbHVlKCksaXRhbGljOnUuZm9udEl0YWxpYy52YWx1ZSgpLGZvbnQ6dS5mb250RmFtaWx5LnZhbHVlKCksZm9udENvbG9yOigwLF8uZ2VuZXJhdGVDb2xvcikodS5mb250Q29sb3IudmFsdWUoKSx1LnRyYW5zcGFyZW5jeS52YWx1ZSgpKSxmb250U2l6ZTp1LmZvbnRTaXplLnZhbHVlKCl9LGg9Zi5sb2NhdGlvbixjPWYuc2hhcGU7c3dpdGNoKGMpe2Nhc2Ugby5UZXh0TWFya1R5cGUuVHJpYW5nbGU6e2NvbnN0e3g6byx5OmwsZGlyZWN0aW9uOmR9PXRoaXMuX2NhbGNDb29yZHNGb3JUcmlhbmdsZVNoYXBlKGgsciw1MCxpLnByaWNlLHMsZSx0KTt0aGlzLl9kYXRhLnB1c2goe3NoYXBlOmMsY29sb3I6KDAsXy5nZW5lcmF0ZUNvbG9yKSh1LmNvbG9yLnZhbHVlKCksdS50cmFuc3BhcmVuY3kudmFsdWUoKSksYm9yZGVyQ29sb3I6InJnYigwLCAwLCAwKSIsZGlyZWN0aW9uOmQscG9pbnQ6bmV3IG4uUG9pbnQobyxsKSxoYWxpZ246Zi5oYWxpZ24sc2l6ZTouNSp0LmJhclNwYWNpbmcoKSwuLi5hfSl9YnJlYWs7Y2FzZSBvLlRleHRNYXJrVHlwZS5SZWN0YW5nbGU6e2NvbnN0e3g6byx5Omx9PXRoaXMuX2NhbGNDb29yZHNGb3JSZWN0YW5nbGVTaGFwZShoLHIsaS5wcmljZSxzLGUsdCk7dGhpcy5fZGF0YS5wdXNoKHtzaGFwZTpjLHBvaW50Om5ldyBuLlBvaW50KG8sbCksaGFsaWduOmYuaGFsaWduLHZhbGlnbjpmLnZhbGlnbj8/Im1pZGRsZSIsLi4uYX0pfX10aGlzLl90ZXh0Q2FjaGUucHVzaCh7fSl9KSl9KSl9X2NhbGNDb29yZHNGb3JUcmlhbmdsZVNoYXBlKGUsdCxpLG4sbyxzLGwpe2NvbnN0IGQ9TWF0aC5yb3VuZChsLmluZGV4VG9Db29yZGluYXRlKHQpKTtzd2l0Y2goZSl7Y2FzZSBhLk1hcmtMb2NhdGlvbi5Ub3A6cmV0dXJue3g6ZCx5OnMuaGVpZ2h0KCktaSxkaXJlY3Rpb246ImRvd24ifTtjYXNlIGEuTWFya0xvY2F0aW9uLkJvdHRvbTpyZXR1cm57eDpkLHk6aSxkaXJlY3Rpb246InVwIn07Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYnNvbHV0ZURvd246cmV0dXJue3g6ZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246ImRvd24ifTtjYXNlIGEuTWFya0xvY2F0aW9uLkFic29sdXRlVXA6cmV0dXJue3g6ZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246InVwIn07Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYm92ZUJhcjpyZXR1cm57eDpkLHk6dGhpcy5fbG9jYXRpb25Ub1koZSx0KSxkaXJlY3Rpb246ImRvd24ifTtjYXNlIGEuTWFya0xvY2F0aW9uLkJlbG93QmFyOnJldHVybnt4OmQseTp0aGlzLl9sb2NhdGlvblRvWShlLHQpLGRpcmVjdGlvbjoidXAifTtkZWZhdWx0OnJldHVybnt4OmQseTpOYU4sZGlyZWN0aW9uOiJ1cCJ9fX1fY2FsY0Nvb3Jkc0ZvclJlY3RhbmdsZVNoYXBlKGUsdCxpLG4sbyxzKXtjb25zdCBsPU1hdGgucm91bmQocy5pbmRleFRvQ29vcmRpbmF0ZSh0KSk7c3dpdGNoKGUpe2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVEb3duOmNhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVVcDpjYXNlIGEuTWFya0xvY2F0aW9uLkFic29sdXRlOnJldHVybnt4OmwseTpvLnByaWNlVG9Db29yZGluYXRlKCgwLHIuZW5zdXJlRGVmaW5lZCkoaSksbil9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJvdmVCYXI6Y2FzZSBhLk1hcmtMb2NhdGlvbi5CZWxvd0JhcjpyZXR1cm57eDpsLHk6dGhpcy5fbG9jYXRpb25Ub1koZSx0KX07Y2FzZSBhLk1hcmtMb2NhdGlvbi5SaWdodDpjYXNlIGEuTWFya0xvY2F0aW9uLkxlZnQ6cmV0dXJue3g6cy53aWR0aCgpLHk6by5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkpLG4pfTtkZWZhdWx0OnJldHVybnt4OmwseTpOYU59fX19fSw3MDM4MDkoZSx0LGkpe2kuZCh0LHtjYWxjdWxhdGVGb250U2l6ZUZvckJveDooKT0+cCxnZXRGb250U2l6ZTooKT0+Zix0ZXh0Qm94RGF0YTooKT0+dX0pCjt2YXIgcj1pKDIwNjY3Myksbj1pKDczNjUzMSksbz1pKDU4OTUxMSksYT1pKDg4NDI4KSxzPWkoOTI2MTQ5KSxsPWkoMTk4OTAxKSxkPWkoNTkwODk0KSxoPWkoOTQxMTAwKTtjb25zdCBjPW5ldyBNYXA7ZnVuY3Rpb24gdShlLHQsaSxyLG8pe2xldCBsPWUsZD1hLkhvcml6b250YWxBbGlnbi5MZWZ0OyJjZW50ZXIiPT09by5ob3Jpem9udGFsVGV4dEFsaWdubWVudD8oZD1hLkhvcml6b250YWxBbGlnbi5DZW50ZXIsbCs9aS8yKToicmlnaHQiPT09by5ob3Jpem9udGFsVGV4dEFsaWdubWVudCYmKGQ9YS5Ib3Jpem9udGFsQWxpZ24uUmlnaHQsbCs9aS0xKTtsZXQgYz10LHU9YS5WZXJ0aWNhbEFsaWduLlRvcDsiY2VudGVyIj09PW8udmVydGljYWxUZXh0QWxpZ25tZW50Pyh1PWEuVmVydGljYWxBbGlnbi5NaWRkbGUsYys9ci8yKToiYm90dG9tIj09PW8udmVydGljYWxUZXh0QWxpZ25tZW50JiYodT1hLlZlcnRpY2FsQWxpZ24uQm90dG9tLGMrPXItMSk7Y29uc3R7Ym9sZDpwLGl0YWxpYzpnfT0oMCxoLmNvbnZlcnREd2dUZXh0Rm9ybWF0dGluZ1RvT2JqZWN0KShvLnRleHRGb3JtYXR0aW5nKTtyZXR1cm57cG9pbnRzOltuZXcgbi5Qb2ludChsLGMpXSx0ZXh0Om8udGV4dCxjb2xvcjpvLnRleHRDb2xvcixib2xkOnAsaXRhbGljOmcsdmVydEFsaWduOnUsaG9yekFsaWduOmQsZm9udDoibW9ub3NwYWNlIj09PW8uZm9udFR5cGU/cy5DSEFSVF9NT05PU1BBQ0VfRk9OVF9GQU1JTFk6cy5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLGZvbnRTaXplOmYoby5zaXplT3B0aW9ucy5mb250U2l6ZSksb2Zmc2V0WDowLG9mZnNldFk6MH19ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxyLmRlZmF1bHQpKGUpP2U+MD9lOmMuZ2V0KG8uUGxvdFN5bWJvbFNpemUuQXV0byk6Yy5nZXQoZSl9ZnVuY3Rpb24gcChlLHQsaSxyLG4pe2NvbnN0IG89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTWF0aC5mbG9vciguOSp0LyhlKy4zMykpfShpLmxlbmd0aCxuKTtyZXR1cm4oMCxsLmxvd2VyYm91bmRFeHQpKChlPT5lKSx2b2lkIDAsKG49PmZ1bmN0aW9uKGUsdCxpLHIpe2UuZm9udD0oMCxkLm1ha2VGb250KShyLHQuZm9udCx0Lml0YWxpYz8iaXRhbGljICI6dm9pZCAwLHQuYm9sZD8iYm9sZCAiOnZvaWQgMCk7Y29uc3Qgbj1yLzM7cmV0dXJuIGkucmVkdWNlKCgodCxpKT0+TWF0aC5tYXgodCxlLm1lYXN1cmVUZXh0KGkpLndpZHRoK24pKSwwKX0oZSx0LGksbik8PXIpLDIsbyktMX1jLnNldChvLlBsb3RTeW1ib2xTaXplLkF1dG8sMTQpLGMuc2V0KG8uUGxvdFN5bWJvbFNpemUuVGlueSw4KSxjLnNldChvLlBsb3RTeW1ib2xTaXplLlNtYWxsLDEwKSxjLnNldChvLlBsb3RTeW1ib2xTaXplLk5vcm1hbCwxNCksYy5zZXQoby5QbG90U3ltYm9sU2l6ZS5MYXJnZSwyMCksYy5zZXQoby5QbG90U3ltYm9sU2l6ZS5IdWdlLDM2KX0sNDkxMTEzKGUsdCxpKXtpLnIodCksaS5kKHQse1RyZW5kQ2hhbm5lbFBhbmVWaWV3OigpPT5ofSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3MzY1MzEpLG89aSgzNTE5MDApLGE9aSg3NjMpLHM9aSg3ODkxOTApLGw9aSgyNjA2OSksZD1pKDg4MDc2MSk7Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm92aWRlcj1lLHRoaXMuX21vZGVsPXQsdGhpcy5fZGF0YT1bXSx0aGlzLl9oaXRUZXN0UmVzdWx0PXZvaWQgMCE9PWk/bmV3IGEuSGl0VGVzdFJlc3VsdChhLkhpdFRhcmdldC5DdXN0b20saSk6bmV3IGEuSGl0VGVzdFJlc3VsdChhLkhpdFRhcmdldC5SZWd1bGFyKX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZVZpZXdJbnRlcm5hbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBzLkNvbXBvc2l0ZVJlbmRlcmVyO2Zvcihjb25zdCB0IG9mIHRoaXMuX2RhdGEpe2NvbnN0IGk9bmV3IGQuUG9seWdvblJlbmRlcmVyKHRoaXMuX2hpdFRlc3RSZXN1bHQpO2kuc2V0RGF0YSh0KSxlLmFwcGVuZChpKX1yZXR1cm4gZX1fdXBkYXRlVmlld0ludGVybmFsKCl7dGhpcy5fZGF0YT1bXTtjb25zdCBlPXRoaXMuX3Byb3ZpZGVyLnByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS50cmVuZGNoYW5uZWxzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgbz10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bylyZXR1cm47Y29uc3QgYT10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PWEpcmV0dXJuO2NvbnN0IHM9by5maXJzdEJhcigpLGQ9by5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS50cmVuZGNoYW5uZWxzKSx1PSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3NJbmZvKCkudHJlbmRjaGFubmVscyk7aS5mb3JFYWNoKCgoaSxvKT0+e2NvbnN0IGY9KDAsci5lbnN1cmVEZWZpbmVkKShoLmNoaWxkcygpW29dKS5jaGlsZHMoKSxwPSgwLHIuZW5zdXJlRGVmaW5lZCkodVtvXSk7aS5mb3JFYWNoKChpPT57Y29uc3Qgbz1pLnN0YXJ0SW5kZXgsaD1pLmVuZEluZGV4O2lmKE1hdGgubWF4KG8saCk8cyYmIWkuZXh0ZW5kUmlnaHR8fE1hdGgubWluKG8saCk+ZCYmIWkuZXh0ZW5kTGVmdClyZXR1cm47Y29uc3QgdT1lLnByaWNlVG9Db29yZGluYXRlKCgwLHIuZW5zdXJlRGVmaW5lZCkoaS5zdGFydEhpZ2hQcmljZSksYSksZz1lLnByaWNlVG9Db29yZGluYXRlKCgwLHIuZW5zdXJlRGVmaW5lZCkoaS5zdGFydExvd1ByaWNlKSxhKSxfPWUucHJpY2VUb0Nvb3JkaW5hdGUoKDAsCnIuZW5zdXJlRGVmaW5lZCkoaS5lbmRIaWdoUHJpY2UpLGEpLHg9Xy0odS1nKSx3PXQuaW5kZXhUb0Nvb3JkaW5hdGUobyksdj10LmluZGV4VG9Db29yZGluYXRlKGgpLFttLHldPWMobmV3IG4uUG9pbnQodyx1KSxuZXcgbi5Qb2ludCh2LF8pLHQud2lkdGgoKSxlLmhlaWdodCgpLGkuZXh0ZW5kTGVmdCxpLmV4dGVuZFJpZ2h0KSxbYixUXT1jKG5ldyBuLlBvaW50KHcsZyksbmV3IG4uUG9pbnQodix4KSx0LndpZHRoKCksZS5oZWlnaHQoKSxpLmV4dGVuZExlZnQsaS5leHRlbmRSaWdodCk7dGhpcy5fZGF0YS5wdXNoKHtwb2ludHM6W20sYixULHldLGNvbG9yOmYuY29sb3IudmFsdWUoKSxiYWNrY29sb3I6Zi5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDpwLmJvcmRlcldpZHRoPz8wLGxpbmVzdHlsZTpsLkxJTkVTVFlMRV9TT0xJRCxmaWxsZWQ6ITAsZmlsbEJhY2tncm91bmQ6ITAsdHJhbnNwYXJlbmN5OmkudHJhbnNwYXJlbmN5P01hdGgubWluKGkudHJhbnNwYXJlbmN5K2YudHJhbnNwYXJlbmN5LnZhbHVlKCksMTAwKTpmLnRyYW5zcGFyZW5jeS52YWx1ZSgpfSl9KSl9KSl9fWZ1bmN0aW9uIGMoZSx0LGkscixhLHMpe2lmKCgwLG4uZXF1YWxQb2ludHMpKGUsdCkpcmV0dXJuW2UsdF07Y29uc3QgbD1uZXcgbi5Qb2ludCgwLDApLGQ9bmV3IG4uUG9pbnQoaSxyKTtpZihhKXtjb25zdCByPWUuc3VidHJhY3QodCksYT0oMCxvLmludGVyc2VjdFJheUFuZEJveCkoZSxlLmFkZChyKSwoMCxuLmJveCkobCxkKSk7YT9lPWE6dD1uZXcgbi5Qb2ludChpLHQueSl9aWYocyl7Y29uc3Qgcj10LnN1YnRyYWN0KGUpLGE9KDAsby5pbnRlcnNlY3RSYXlBbmRCb3gpKHQsdC5hZGQociksKDAsbi5ib3gpKGwsZCkpO3Q9YXx8bmV3IG4uUG9pbnQoaSx0LnkpfXJldHVybltlLHRdfX0sNjQ1NzE3KGUsdCxpKXtpLnIodCksaS5kKHQse1ZlcnRMaW5lUGFuZVZpZXc6KCk9Pmx9KTt2YXIgcj1pKDEzODYzOCksbj1pKDc2Myksbz1pKDY4NzU5MCksYT1pKDc4OTE5MCkscz1pKDU0MDg0NSk7Y2xhc3MgbHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm92aWRlcj1lLHRoaXMuX21vZGVsPXQsdGhpcy5faGl0VGVzdFJlc3VsdD12b2lkIDAhPT1pP25ldyBuLkhpdFRlc3RSZXN1bHQobi5IaXRUYXJnZXQuQ3VzdG9tLGkpOm5ldyBuLkhpdFRlc3RSZXN1bHQobi5IaXRUYXJnZXQuUmVndWxhcil9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVWaWV3SW50ZXJuYWwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgZT1uZXcgYS5Db21wb3NpdGVSZW5kZXJlcjtmb3IoY29uc3QgdCBvZiB0aGlzLl9kYXRhKXtjb25zdCBpPW5ldyBzLlZlcnRpY2FsTGluZVJlbmRlcmVyO2kuc2V0RGF0YSh0KSxpLnNldEhpdFRlc3QodGhpcy5faGl0VGVzdFJlc3VsdCksZS5hcHBlbmQoaSl9cmV0dXJuIGV9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzSW5mbygpLnZlcnRsaW5lcyxuPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzKCkudmVydGxpbmVzKCk7aWYoMD09PW4uc2l6ZXx8dm9pZCAwPT09aSlyZXR1cm47Y29uc3QgYT10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0IGw9YS5maXJzdEJhcigpLGQ9YS5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS52ZXJ0bGluZXMpO24uZm9yRWFjaCgoKG4sYSk9Pntjb25zdCBjPSgwLHIuZW5zdXJlRGVmaW5lZCkoaC5jaGlsZHMoKVthXSkuY2hpbGRzKCksdT0oMCxyLmVuc3VyZURlZmluZWQpKGlbYV0pO2MudmlzaWJsZS52YWx1ZSgpJiZuLmZvckVhY2goKGk9Pntjb25zdCBuPWkuaW5kZXg7aWYobjxsfHxkPG4pcmV0dXJuO2NvbnN0e2xlZnQ6YSxjZW50ZXI6aCxyaWdodDpmfT10LmJhckJvcmRlcnMobik7bGV0IHA7c3dpdGNoKHUuaGFsaWduKXtjYXNlIG8uSEFsaWduLkxlZnQ6cD1hO2JyZWFrO2Nhc2Ugby5IQWxpZ24uUmlnaHQ6cD1mO2JyZWFrO2RlZmF1bHQ6cD1ofXRoaXMuX2RhdGEucHVzaCh7eDpwLHRvcDppLmV4dGVuZFRvcD92b2lkIDA6ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkuZW5kUHJpY2UpLHMpLGJvdHRvbTppLmV4dGVuZEJvdHRvbT92b2lkIDA6ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkuc3RhcnRQcmljZSkscyksY29sb3I6Yy5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDpjLndpZHRoLnZhbHVlKCksbGluZXN0eWxlOmMuc3R5bGUudmFsdWUoKX0pfSkpfSkpfX19LDUwMTM2MyhlLHQsaSl7aS5kKHQse0xpbmVhclJlZ3Jlc3Npb25QYW5lVmlldzooKT0+aH0pO3ZhciByPWkoNzYzKSxuPWkoODczNTczKSxvPWkoNzg5MTkwKSxhPWkoNTcyNzk2KSxzPWkoNjY0ODE1KSxsPWkoNDcwOTg2KSxkPWkoNzQyMTQyKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fbGluZXM9W10sdGhpcy5fcGVhcnNvbnNUZXh0UmVuZGVyZXI9bmV3IGwuVGV4dFJlbmRlcmVyLHRoaXMuX3BlYXJzb25zPW51bGwsdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dH11cGRhdGUoKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBvLkNvbXBvc2l0ZVJlbmRlcmVyLHQ9W3RoaXMuX2xpbmVzWzFdLHRoaXMuX2xpbmVzWzBdLHRoaXMuX2xpbmVzWzJdXSxpPVtdCjtmb3IoY29uc3QgZSBvZiB0KWUmJmkucHVzaChlKTtmb3IobGV0IG89MTtvPGkubGVuZ3RoO28rKyl7Y29uc3QgaT10W29dLmNvbG9yLHM9dFtvXS5saW5ld2lkdGgsbD10W29dLmxpbmVzdHlsZSxkPXRbb10uZXh0ZW5kcmlnaHQsaD17bGluZTE6e2NvbG9yOmksbGluZVN0eWxlOmwsbGluZVdpZHRoOnMscG9pbnRzOlt0W29dLnBvaW50c1swXSx0W29dLnBvaW50c1sxXV19LGxpbmUyOntjb2xvcjppLGxpbmVTdHlsZTpsLGxpbmVXaWR0aDpzLHBvaW50czpbdFtvLTFdLnBvaW50c1swXSx0W28tMV0ucG9pbnRzWzFdXX0sZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDpkLGJhY2tDb2xvcjooMCxuLmdlbmVyYXRlQ29sb3IpKHRbb10uY29sb3IsdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5zdHlsZXMudHJhbnNwYXJlbmN5LnZhbHVlKCkpLHNraXBMaW5lczohMCxmaWxsQmFja2dyb3VuZDohMH0sYz1uZXcgYS5QYXJhbGxlbENoYW5uZWxSZW5kZXJlcihuZXcgci5IaXRUZXN0UmVzdWx0KHIuSGl0VGFyZ2V0LlJlZ3VsYXIpLG5ldyByLkhpdFRlc3RSZXN1bHQoci5IaXRUYXJnZXQuUmVndWxhcikpO2Muc2V0RGF0YShoKSxlLmFwcGVuZChjKX1mb3IoY29uc3QgdCBvZiBmdW5jdGlvbihlKXtyZXR1cm4gZS5tYXAoKGU9Pntjb25zdCB0PXsuLi5lfTtyZXR1cm4gdC5jb2xvcj0oMCxuLnJlc2V0VHJhbnNwYXJlbmN5KSh0LmNvbG9yKSx0fSkpfSh0aGlzLl9saW5lcykpe2NvbnN0IGk9bmV3IHMuVHJlbmRMaW5lUmVuZGVyZXI7aS5zZXREYXRhKHQpLGkuc2V0SGl0VGVzdChuZXcgci5IaXRUZXN0UmVzdWx0KHIuSGl0VGFyZ2V0LlJlZ3VsYXIpKSxlLmFwcGVuZChpKX1yZXR1cm4gdGhpcy5fcGVhcnNvbnMmJih0aGlzLl9wZWFyc29ucy5jb2xvcj0oMCxuLnJlc2V0VHJhbnNwYXJlbmN5KSh0aGlzLl9wZWFyc29ucy5jb2xvciksdGhpcy5fcGVhcnNvbnNUZXh0UmVuZGVyZXIuc2V0RGF0YSh0aGlzLl9wZWFyc29ucyksZS5hcHBlbmQodGhpcy5fcGVhcnNvbnNUZXh0UmVuZGVyZXIpKSxlfV91cGRhdGVJbXBsKCl7Y29uc3QgZT0oMCxkLnByZXBhcmVMaW5lYXJSZWdyZXNzaW9uUmVuZGVyZXJzRGF0YSkodGhpcy5fbW9kZWwsdGhpcy5fc291cmNlKTt0aGlzLl9saW5lcz1lLmxpbmVzLHRoaXMuX3BlYXJzb25zPWUucGVhcnNvbnN9fX19XSk7"}},"time_used":2,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/i/productlogos/translate/v14/24px.svg","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":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:41.748Z","timestamp":1785136901748,"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/i/productlogos/translate/v14/24px.svg 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: 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://huobiget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, 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\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/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\ncontent-length: 3340\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:10:10 GMT\r\nexpires: Fri, 23 Jul 2027 10:10:10 GMT\r\ncache-control: public, max-age=31536000\r\nage: 335491\r\nlast-modified: Wed, 20 Apr 2022 14:24:23 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding\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":6225,"size_decoded":4178,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"2bd5c073a88b83ed74db88282a56ddfb","sha1":"d0ebfc376f8c6a44a8d4cd216817dcd7d0c33650","sha256":"ab5c23a05e39deed14d9d8262b0dce9f024f86105a27196cad37d14a3f516e09","sha512":"5c6c4a92e93fc0f6a675658cc84f6187fdebd3eee94efd07e24658736cba598f3bc7156b19834b13fb44c1d43fcb7df9fcca7f0a453037e30da76ba8f4b23b89","ssdeep":"96:+R2K3Z4n7tyVwip82hezk6227gLFoXhu1XuE20ot+pVY3YptWDzOzgXK3Zx:ql3KnxyGGMzb7noR20NTww33","tlshash":"c1d1e6f19309d815cd6a83d8cd9b8002aa1f25ddd50ac6cc7639fb3bd1a50eb1d2d7a4","first_seen":"2023-04-06T21:34:37Z","last_seen":"2026-08-10T09:38:30.522129Z","times_seen":79357,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxkZWZzPjxwYXRoIGQ9Ik0yMS41IDVoLTkuMTdMMTEgMUgyLjVDMS42OCAxIDEgMS42OCAxIDIuNXYxNWMwIC44My42OCAxLjUgMS41IDEuNWg5LjE3TDEzIDIzaDguNWMuODIgMCAxLjUtLjY4IDEuNS0xLjV2LTE1YzAtLjgzLS42OC0xLjUtMS41LTEuNXoiIGlkPSJhIi8+PC9kZWZzPjxjbGlwUGF0aCBpZD0iYiI+PHVzZSBvdmVyZmxvdz0idmlzaWJsZSIgeGxpbms6aHJlZj0iI2EiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iMzEiIG9wYWNpdHk9Ii4yIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMyAxKSIgd2lkdGg9IjI5IiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUIwQUFBQWZDQVlBQUFBYlc4WUVBQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQSBHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFCUUJKUkVGVWVOcThWOHR1MjBZVXZYZG0rTENrIFJLaU13STFURkVYaFZaSmQxZ1c2Nnhla3Y5RFBxUHN2WGRVL1VhRHJvSnNrS3krQ0luQ2NHcEt0RnkyU00vZjJERVhaaWEwb2R0S1cgQWtGSjh6aHp6bjNTMFljdnBzKzc5RU1EYmozWWZndjRFTStYVE4vZkVPYjNaZzNBWG1xN2o2NEQ1L2UveC9FZnpaTW5YNWp4K0xGWiBMTHlwNnlORE96c2tZYjZSdWJGZHBiZHZLVWwySmMrZDlQdlA1ZG16VXlINlRWb1lYUU9xK0g1Zzl2YitjT05zTzltYUxwSXl5WlBVIGtaTkFwcG1oOVZwZzVrU1h3Q1NWSjUvVmkvcjhUbDczeTJGOWVQaWRKM29hZ2ErQjR2a1VnRis2RVcxbmR6MTFndk5kRGRMMWJETnIgeUtrQ1dPMTZ0aHlVR1dJSWVhZTJaR3ZuMW9mNXhGRXhvR0Y1ZUhnTTRBTlpzVzAzMlRmMDVNamVXK3htTktlZWRlV0FnOXRteXdQTSA2ckdZek9BUEJTZlE1U3MwTmY0cEFtUnJTbUJQMWVoSXhRNkRweEYxYVhhU0g1WDBiRGNBUjFhT3hMUlB0UGRyWnJ3bmQ1NVN4M2d6IElNTzcyT3dCcTlrbW94MFJTa0hIUk54clJKV0ZEYlFYS3BSMXhONGVPZngwTnFuTWRGSHVsWS9ydy8xUkFFNWNyRXZ2ZmZHQ3ZYL0UgVlVvT0MzTW0yNGVhTzZUeU5aamVCNUUrc0RMTXQydENxWkVXOGxjZ1BTVTJ4MEloS2xBWW9UUDR4VVR1ZVVNdkh2Skszb3VROGZmSCBIUDYySnBHZWcvVlNZY2lxTkFEYkhReHZZNWV0ZHI2NXloTlhsRzJCNXhqemdXZkhKb1NlWjVPbGJ1YXErY3pReVlTdnhhbDcwMWRKIFNXb2lnUk5xWEl0ak9SaHNDK3g3NE5mRHRQUTZhR1BrZ0FVbEdST3BUS0JRUjRnYkIxeDZmanozL0RLOEdzb0hqL1NWRzZwSkFDaSsgTmhRZEFwc1FKRlBDZWxpWUtJbWdlRUpteWxjM1h6dzV5cDl4bklNWU1rWnQ5SGpWaEsvR2VIdHFaSTUrS1VWSlh0U1ZRY3djWURQbyBGSTkzamhXK0RXU2p6WnJHdHMwTlFTd09aVEZvTWFNQmFseTZDVEZaRzJLWFV0M1oxYVF6QzM2cktyRkowY2dVYjZhWlJudVJ3anRJIGxvN0VxM0NMV1N5YTRlSjdhK1ROMmV1ZHZDbGJrMTdJdEZlcG9RTHJweVF5eGtaVGpCWUlpd3FuWHdGLzFtWGVyUWl2dHUrSG9ocDcgdGY3Y1dKbkNUZ0JsZUNRM2JCRWFQaWFDVFJYa05xQkx1OTU1bzJrditOeklJb2dEa0dsQUVmdXdMNTFEWWg5ejNzZEsxeTFBTHlYMiBGeEpMSzNGajMzOU5Zbk8xNlA0ZkVsOEo5SFVTYXl0eFRIRlJZcXJobko2MEFaVTJsTnBETk9VTGFaSDFGcUJYSlM0TGhOOEVDZW9zIE1nYkxXVXgzQUsreHY0K1pLTjZBQ3h4bFp3MHhEemRaS2o3WjZFMUFMeVErOTFXTmNsd2dJVTZ3d1JsaTd4VGt6akE4QlFDU0J4ZkwgK01VaGxuR01ETVlsZnNQdVdzZFNGNEdaYTIyNmlvMU1XNG56UHZrUWJXZ0RuSWxHWUhTQ1RVK1FiT0k5Qk50VFRCN2h4bUVJaCtGVCBLREpHWm9pVnBrQTZLbU5SajkwRTBkdVBObWFOeEoyOVFWaDBSeFdzT01OUmgwSnlESWs3TEJLMWl3NjJCVjFjTEthWHBZMm4rSFdzIEdrWmlkT1pFeXNwM2ZESzRLM1R2SzkwRWlzR2Y2YkQvazZDVHFEcEJadDZFb1RXY1NYUVU1bWhYMUZ2Tm0vWFJpeVFpYXcwWEttRGkgRVhMOWtkVjZGTU11OWt2cHlVRG9CM1NJQjV1WXhwMitmU3I5UDdOYTdJT2lwc1VweFo1QnFJU05UdzFyRnk2YkdyS29JakFiUzl1dSBFS29UMk5vd3FpV0o3Y3FNMEtEOWxUOFgydCtsS3ozUzJsNFovZTR2OXB0WHpjRnluOVpkOG5sSEhjalhhTlpzYUN2S3FsVzZkV1AyIElicjdzZEUyZTY4SDlzeStUdk41SjZud3lkTFV2dHVXZm1vTHVnSDRaZzM0SnpiYkh3Ty93YXZHKzY4VmRKUFhpaHVDL3pjdlVKKzAgMFcydWZ3UVlBR0hLSzJDRk1JcnpBQUFBQUVsRlRrU3VRbUNDIi8+PHJhZGlhbEdyYWRpZW50IGN4PSI3LjM5NCIgY3k9IjUuNDM3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImMiIHI9IjIzLjQxNiI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjRUVFIi8+PHN0b3Agb2Zmc2V0PSIuNDMyIiBzdG9wLWNvbG9yPSIjRTZFNkU2Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRTFFMUUxIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBkPSJNMTMgMjNoOC41Yy44MiAwIDEuNS0uNjggMS41LTEuNXYtMTVjMC0uODMtLjY4LTEuNS0xLjUtMS41SDdsNiAxOHoiIGZpbGw9InVybCgjYykiLz48L2c+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTggMTF2LTFoLTF2MWgtMy43NXYxaDUuMzJjLS4yLjQ5LS42IDEuMy0xLjMyIDIuMTQtLjUxLS42LS44Ni0xLjE4LTEuMS0xLjY0aC0xLjExYy4zNi44NC45IDEuNjYgMS41MiAyLjM4bC0yLjYgMi41OC43MS43MSAyLjU4LTIuNTggMi41OCAyLjU4LjcxLS43MS0yLjYtMi41OGMuNzQtLjg2IDEuMzMtMS44NSAxLjY4LTIuODhIMjF2LTFoLTN6IiBmaWxsPSIjNjA3RDhCIi8+PGxpbmVhckdyYWRpZW50IGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iZCIgeDE9IjEyLjMzMyIgeDI9IjIzIiB5MT0iMTQiIHkyPSIxNCI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMjEyMTIxIiBzdG9wLW9wYWNpdHk9Ii4xIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMjEyMTIxIiBzdG9wLW9wYWNpdHk9Ii4wMiIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTIuMzMgNUwyMyAxNS42N1YyM0gxMyIgZmlsbD0idXJsKCNkKSIvPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iOCIgb3BhY2l0eT0iLjEiIG92ZXJmbG93PSJ2aXNpYmxlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC41IDE3LjUpIiB3aWR0aD0iOSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFKQ0FZQUFBQUxwcjBUQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEgR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU9GSlJFRlVlTnAwVUQxTEEwRVVuTGU3SnNKaCBDaUZwTFZOWWFTMzQxMUw3Wi9JblVwZ21xUklSTEd4RU9FVlFzb1JjYm5lY3U2QUdUQjRNNzJ2ZXZqZHIrRFBEZitOdnMzODU4cTdhIEZwNG9ET1pCSjVkSk1DVkR6SjJUK0xZWXBlQXlUajM5VU1OWGhBMDBIQUJYS3k4OWJZNlVscXJGb01IbTVRSzBhL21iWFl4U3l5Wm0gZUNCVGU1S3I2OCtOR3ErS3Y0UXpvU004cTNaUDhpbWpYamRFdi82WXNuZCtxNmE3VU40WEZzS1lsaWZiVUpYdmozZnR5dEFxTTF2SiB6NlVnR3ZnaUliTjkwZzhSVmRkRktaL3B6cVgrWTVORHRkb25IVEk3MXZnV1lBRHpXbWR4LzRmcG1RQUFBQUJKUlU1RXJrSmdnZz09Ii8+PHBhdGggZD0iTTE3IDE5bC00IDQtMS4zMy00IiBmaWxsPSIjM0Y1MUI1Ii8+PC9nPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIxLjUgNUg3bC4wNC4xMkgyMS41Yy44MiAwIDEuNS42NyAxLjUgMS41VjYuNWMwLS44My0uNjgtMS41LTEuNS0xLjV6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9Ii4wMiIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIxLjUgMjIuODhIMTNMMTEuNzEgMTloLS4wNEwxMyAyM2g4LjVjLjgyIDAgMS41LS42OCAxLjUtMS41di0uMTJjMCAuODItLjY4IDEuNS0xLjUgMS41eiIgZmlsbD0iIzIxMjEyMSIgZmlsbC1vcGFjaXR5PSIuMSIvPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTEyLjk3IDIyLjkxTDEzIDIzbDQtNGgtLjEyIiBmaWxsPSIjMUEyMzdFIiBmaWxsLW9wYWNpdHk9Ii4yIi8+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2IpIiBkPSJNMTEuNjcgMTkuMTJoNS4yMUwxNyAxOWgtNS4zMyIgZmlsbD0iIzFBMjM3RSIgZmlsbC1vcGFjaXR5PSIuMSIvPjxnIGNsaXAtcGF0aD0idXJsKCNiKSI+PGltYWdlIGhlaWdodD0iMjIiIG9wYWNpdHk9Ii4yIiBvdmVyZmxvdz0idmlzaWJsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLS41IC0uNSkiIHdpZHRoPSIyMCIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCVUFBQUFYQ0FZQUFBRGszd1NkQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUEgR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQVVwSlJFRlVlTnFzbGJGT3d6QVFRTy9zUUNSYyBzcUFPbFJnck1qQ1ZyK0VyK0laK0F4L1dUQ3dWZXlWUWw5SU9RWTJQYzJxaE5Gd2NHc2RTckhOc1A1MmZwVFBDZVVQNFg2UFFaQTJaIFBpNDFscVhScENZS3RBNXRzRkJWRmRvOXBlbmg4MjFaU1dzUzExMlgxaEJkUFhHNDRCU3lRTWFFb0hjSjZRSkx1K0x4cmd1S1FEUUIgVUF1T24zbmZMQVRscWMwcHNtdnV2eVFWaWJmQVJ5YVhvUVBlaDZIazlNdzR1TDJidjN4czMxK1A3VVdxNVJkN0xzdk44YWtnNXpCUCBLVFBTSWdXWE4zT0NRbzZBUmtwaUNOUWQzNm1hZWdWNkRHZ2pXMWxCSkZSV01CUWFWREFVR2xRd0F2U3ZnaGhvcDRJWWFLZUNrYURuIENtS2hvb0pZcUtoQXRhbzU5VlYxb2Qzdzk5QlU0RXNmY1FWWHJ1QnVQQk12Z0pJdjFzZG1QU1ZBM0hPaEx2eS9iQ0MwcURrOHJqUDkgVHRXQjM2Z1Z2MUhydmplcTc5MlNqb2tSRi9aN0Z6OENEQUM4RW1XREtWR0RMZ0FBQUFCSlJVNUVya0pnZ2c9PSIvPjxwYXRoIGQ9Ik0xMSAxSDIuNUMxLjY4IDEgMSAxLjY4IDEgMi41djE1YzAgLjgzLjY4IDEuNSAxLjUgMS41SDE3TDExIDF6IiBmaWxsPSIjNDI4NUY0Ii8+PC9nPjxwYXRoIGNsaXAtcGF0aD0idXJsKCNiKSIgZD0iTTIuNSAxQzEuNjggMSAxIDEuNjggMSAyLjV2LjEyYzAtLjgyLjY4LTEuNSAxLjUtMS41SDExVjFIMi41eiIgZmlsbD0iI0ZGRiIgZmlsbC1vcGFjaXR5PSIuMDIiLz48cGF0aCBjbGlwLXBhdGg9InVybCgjYikiIGQ9Ik0xMSAxdi4xMmw1LjkyIDE3Ljc1SDIuNWMtLjgyIDAtMS41LS42Ny0xLjUtMS41di4xMmMwIC44NC42OCAxLjUxIDEuNSAxLjUxSDE3TDExIDF6IiBmaWxsPSIjMjEyMTIxIiBmaWxsLW9wYWNpdHk9Ii4xIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2IpIj48cGF0aCBkPSJNNy41IDEwdjEuMmgxLjk4Yy0uMDguNTItLjYgMS41MS0xLjk4IDEuNTEtMS4yIDAtMi4xNy0uOTktMi4xNy0yLjIxUzYuMyA4LjI5IDcuNSA4LjI5Yy42OCAwIDEuMTMuMjkgMS4zOS41NGwuOTUtLjkyQzkuMjQgNy4zNSA4LjQ0IDcgNy41IDcgNS41NyA3IDQgOC41NyA0IDEwLjVTNS41NyAxNCA3LjUgMTRjMi4wMiAwIDMuMzYtMS40MiAzLjM2LTMuNDIgMC0uMjMtLjAyLS40MS0uMDYtLjU4SDcuNXoiIGZpbGw9IiNFRUUiLz48cGF0aCBkPSJNNCA3aDd2N0g0eiIgZmlsbD0ibm9uZSIvPjwvZz48cmFkaWFsR3JhZGllbnQgY3g9IjEuNDU3IiBjeT0iMS40MiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGlkPSJlIiByPSIyOS43OTIiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIuMSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGRiIgc3RvcC1vcGFjaXR5PSIwIi8+PC9yYWRpYWxHcmFkaWVudD48cGF0aCBkPSJNMjEuNSA1aC05LjE3TDExIDFIMi41QzEuNjggMSAxIDEuNjggMSAyLjV2MTVjMCAuODMuNjggMS41IDEuNSAxLjVoOS4xN0wxMyAyM2g4LjVjLjgyIDAgMS41LS42OCAxLjUtMS41di0xNWMwLS44My0uNjgtMS41LTEuNS0xLjV6IiBmaWxsPSJ1cmwoI2UpIi8+PC9zdmc+"}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCINJ.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.500Z","timestamp":1785136905500,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCINJ.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.977Z","timestamp":1785136900977,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 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: 97934ed4eaca27cf672911bf31936b8b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-08-10T08:00:01.050623Z","times_seen":3721,"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/83675.5ed018482723abaf9e86.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.539Z","timestamp":1785136901539,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83675.5ed018482723abaf9e86.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-1a35\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cb69b3e4a54f9a9ba15d9ae494350eae\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6709,"size_decoded":2668,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6709), with no line terminators","md5":"3f790f633d8facc5e65117a693bcb945","sha1":"09d8046538d3d64702bb83b904211cc3b7e53315","sha256":"e836e2f9c24d09a5854a2ac144aac0e02c25f367f144431842f67ba211772f4d","sha512":"b48f882acc8ed75b94109472053e0d36b77b454d4ce805e6f9164afa42a16a8d87ef45c6c5d4d48f9083110b728c76451164751562c818d62ba7b160c3e3217b","ssdeep":"96:NACi/4ObSCZGbgQc9VUKQgJyzWsQuZdxexDyC14HIPsiCSvgd:Nji/ZZGkx9qKQgJyzWsQuM4HIE5","tlshash":"a8d1874af120916c64fbb5adb9ed830e632cbce2ef8157dc769539b144cd3e60623906","first_seen":"2026-07-24T11:36:47.840348Z","last_seen":"2026-07-28T06:17:53.593718Z","times_seen":99,"resource_available":false,"data":"LnNlcGFyYXRvci1sbHVxdWZWcXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kKSk7aGVpZ2h0OjIycHg7bWFyZ2luOmF1dG8gNHB4O3dpZHRoOjFweH0uZ3JvdXAtTExaQWJzMEd7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGFuZS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBhbmUtYmcpKTtib3JkZXItcmFkaXVzOjA7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4taW5saW5lLXN0YXJ0OjA7bWluLXdpZHRoOjM3cHg7b3ZlcmZsb3c6aGlkZGVufS5ncm91cC1MTFpBYnMwRzpmaXJzdC1jaGlsZHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5ncm91cC1MTFpBYnMwRzpmaXJzdC1jaGlsZCAuc2VwYXJhdG9yLUxMWkFiczBHe2Rpc3BsYXk6bm9uZX0uZ3JvdXAtTExaQWJzMEc6bGFzdC1jaGlsZHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MDttYXJnaW4taW5saW5lLWVuZDowfS5ncm91cC1MTFpBYnMwRy5ub0xlZnREZWNvcmF0aW9uLUxMWkFiczBHe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjA7bWFyZ2luLWlubGluZS1zdGFydDowfS5ncm91cC1MTFpBYnMwRy5ub1JpZ2h0RGVjb3JhdGlvbi1MTFpBYnMwR3tib3JkZXItZW5kLWVuZC1yYWRpdXM6MDttYXJnaW4taW5saW5lLWVuZDowfS5ncm91cC1MTFpBYnMwRy5ub01pbmltYWxXaWR0aC1MTFpBYnMwR3ttaW4td2lkdGg6MH0uc2VwYXJhdG9yV3JhcC1MTFpBYnMwR3thbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wYW5lLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcGFuZS1iZykpO2Rpc3BsYXk6ZmxleH0uc2VwYXJhdG9yV3JhcC1MTFpBYnMwRzpmaXJzdC1jaGlsZHtkaXNwbGF5Om5vbmV9W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYXpyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0ud3JhcC1VTDNGSXBzZXthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tXzAtYXpyeSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4fS53cmFwLVVMM0ZJcHNlIC5pY29uLVVMM0ZJcHNle21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo4cHggMXB4fS53cmFwLVVMM0ZJcHNlIHN2Z3tmaWxsOmN1cnJlbnRDb2xvcn1bZGF0YS10aGVtZT1saWdodF17LS1fMC10NkNPOiMxZTIyMmQ5OTstLV8xLXQ2Q086I2ZmZjB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC10NkNPOiM2YTZkNzg5OTstLV8xLXQ2Q086IzEzMTcyMjAwfS53cmFwLXFZbTR4MnV1e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LndyYXAtcVltNHgydXUgc3Zne2Rpc3BsYXk6YmxvY2t9LndyYXBXaXRoQXJyb3dzT3V0aW5nLXFZbTR4MnV1e21hcmdpbi1pbmxpbmUtZW5kOmF1dG87bWFyZ2luLWlubGluZS1zdGFydDphdXRvO292ZXJmbG93OnZpc2libGU7d2lkdGg6Y2FsYygxMDAlIC0gNDBweCl9LndyYXAtcVltNHgydXU6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bH0ud3JhcE92ZXJmbG93LXFZbTR4MnV1e2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfS5zY3JvbGxXcmFwLXFZbTR4MnV1e2hlaWdodDoxMDAlO292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2NvbnRhaW46Y29udGVudH0uc2Nyb2xsV3JhcC1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbFdyYXAtcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbFdyYXAtcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsV3JhcC1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dXttYXJnaW4tYm90dG9tOi0xMDBweDtwYWRkaW5nLWJvdHRvbToxMDBweH0uc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LnNjcm9sbFdyYXAtcVltNHgydXUubm9TY3JvbGxCYXItcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS5zY3JvbGxXcmFwLXFZbTR4MnV1Lm5vU2Nyb2xsQmFyLXFZbTR4MnV1Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS5zY3JvbGxXcmFwLXFZbTR4MnV1Lm5vU2Nyb2xsQmFyLXFZbTR4MnV1Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5pY29uLXFZbTR4MnV1e2Rpc3BsYXk6YmxvY2s7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNjBtcyBlYXNlfS5zY3JvbGxMZWZ0LXFZbTR4MnV1LC5zY3JvbGxSaWdodC1xWW00eDJ1dXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2IoZnJvbSB2YXIoLS1jb2xvci1sZWdhY3ktYmctc2Nyb2xsLWJ1dHRvbnMpIHIgZyBiLy42KTtjb2xvcjp2YXIoLS1jb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLHRyYW5zZm9ybSAuMTE2NjY2NjdzIGN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7d2lkdGg6MjRweH1Ac3VwcG9ydHMgbm90IChiYWNrZ3JvdW5kOnJnYihmcm9tICMwMDAgciBnIGIpKXsuc2Nyb2xsTGVmdC1xWW00eDJ1dSwuc2Nyb2xsUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC10NkNPKX19LnNjcm9sbExlZnQtcVltNHgydXU6YWN0aXZlLC5zY3JvbGxSaWdodC1xWW00eDJ1dTphY3RpdmV7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDU4LjMzMzMzbXMgZWFzZSx0cmFuc2Zvcm0gLjExNjY2NjY3cyBjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNjcm9sbExlZnQtcVltNHgydXU6aG92ZXIsLnNjcm9sbFJpZ2h0LXFZbTR4MnV1OmhvdmVye3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciA1OC4zMzMzM21zIGVhc2UsdHJhbnNmb3JtIC4xMTY2NjY2N3MgY3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9fS5zY3JvbGxMZWZ0LXFZbTR4MnV1LmlzVmlzaWJsZS1xWW00eDJ1dSwuc2Nyb2xsUmlnaHQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1e3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfS5zY3JvbGxMZWZ0LXFZbTR4MnV1e2xlZnQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9LnNjcm9sbExlZnQtcVltNHgydXUgLmljb25XcmFwLXFZbTR4MnV1e3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5zY3JvbGxSaWdodC1xWW00eDJ1dXtyaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfS5zY3JvbGxSaWdodC1xWW00eDJ1dSAuaWNvbldyYXAtcVltNHgydXV7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS5mYWRlTGVmdC1xWW00eDJ1dSwuZmFkZVJpZ2h0LXFZbTR4MnV1e2NvbG9yOnJnYihmcm9tIHZhcigtLWNvbG9yLXBhbmUtYmcpIHIgZyBiLzApO2hlaWdodDoxMDAlO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6NTBweH1Ac3VwcG9ydHMgbm90IChiYWNrZ3JvdW5kOnJnYihmcm9tICMwMDAgciBnIGIpKXsuZmFkZUxlZnQtcVltNHgydXUsLmZhZGVSaWdodC1xWW00eDJ1dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXQ2Q08pfX0uZmFkZUxlZnQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1LC5mYWRlUmlnaHQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1e3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfS5mYWRlTGVmdC1xWW00eDJ1dXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZmZmLCNmZmYwKTtsZWZ0Oi0xcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfWh0bWwudGhlbWUtZGFyayAuZmFkZUxlZnQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzBmMGYwZiwjMGYwZjBmMDApfS5mYWRlUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCNmZmYsI2ZmZjApO3JpZ2h0Oi0xcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9aHRtbC50aGVtZS1kYXJrIC5mYWRlUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCMwZjBmMGYsIzBmMGYwZjAwKX0uaW5uZXJXcmFwLWRsRkROMFpke2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2hlaWdodDozOHB4O21pbi13aWR0aDowfS5pbm5lci1kbEZETjBaZHtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCV9LmZha2UtZGxGRE4wWmR7aGVpZ2h0OjM4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246Zml4ZWQ7dG9wOjA7dmlzaWJpbGl0eTpoaWRkZW59LmZpbGwtZGxGRE4wWmR7ZmxleDoxIDEgMTAwJTttaW4td2lkdGg6MH0uZmlsbC1kbEZETjBaZC5jb2xsYXBzZS1kbEZETjBaZHtmbGV4OjAgMCAwJX0uYnV0dG9uLWRsRkROMFpke3BhZGRpbmctYmxvY2s6MCAwO3BhZGRpbmctaW5saW5lOjVweCAxMHB4fS5pY29uQnV0dG9uLWRsRkROMFpke3BhZGRpbmc6MCA1cHh9LmhpZGRlbi1kbEZETjBaZHtkaXNwbGF5Om5vbmV9LmNvbnRlbnQtZGxGRE4wWmR7ZGlzcGxheTp0YWJsZTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0uZGVza3RvcFB1Ymxpc2gtZGxGRE4wWmQsLmRlc2t0b3BUcmFkZS1kbEZETjBaZHtkaXNwbGF5OmZsZXh9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsuZGVza3RvcFB1Ymxpc2gtZGxGRE4wWmQsLmRlc2t0b3BUcmFkZS1kbEZETjBaZHtkaXNwbGF5Om5vbmV9fS5tb2JpbGVQdWJsaXNoLWRsRkROMFpkLC5tb2JpbGVUcmFkZS1kbEZETjBaZHtkaXNwbGF5Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsubW9iaWxlUHVibGlzaC1kbEZETjBaZCwubW9iaWxlVHJhZGUtZGxGRE4wWmR7ZGlzcGxheTpmbGV4fX1AbWVkaWEgKG1heC1oZWlnaHQ6NDQ1cHgpLChtYXgtd2lkdGg6NTY3cHgpey5kZXNrdG9wVHJhZGUtZGxGRE4wWmQsLm1vYmlsZVRyYWRlLWRsRkROMFpke2Rpc3BsYXk6bm9uZX19W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtblpSQjojMDAwMH0udG9vbGJhci1OQ1l5b3poaHtmb250LXNpemU6MTRweDtoZWlnaHQ6MTAwJTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnRvb2xiYXItTkNZeW96aGguaXNIaWRkZW4tTkNZeW96aGh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1uWlJCKX0udG9vbGJhci1OQ1l5b3poaC5pc0hpZGRlbi1OQ1l5b3poaCAub3ZlcmZsb3dXcmFwLU5DWXlvemhoe2Rpc3BsYXk6bm9uZX0ub3ZlcmZsb3dXcmFwLU5DWXlvemhoe2hlaWdodDozOHB4O292ZXJmbG93OmhpZGRlbn0uY3VzdG9tQnV0dG9uLU5DWXlvemhoe2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCkpO3BhZGRpbmc6MCAxMHB4fS5jdXN0b21CdXR0b24tTkNZeW96aGguaG92ZXItTkNZeW96aGgsLmN1c3RvbUJ1dHRvbi1OQ1l5b3poaDphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jdXN0b21CdXR0b24tTkNZeW96aGg6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSl9fS5jdXN0b21CdXR0b24tTkNZeW96aGguY2xpY2tlZC1OQ1l5b3poaCwuY3VzdG9tQnV0dG9uLU5DWXlvemhoOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWNsaWNrZWQsdmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSkpfQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/images/cleardot.gif","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:42.036Z","timestamp":1785136902036,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /images/cleardot.gif 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: 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://huobiget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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":"huobiget.com/img/team-3.jpg","fqdn":"huobiget.com","domain":"huobiget.com","tld":"com"},"ip":{"addr":"198.27.109.55","port":443,"asn":16276,"as":"OVH SAS","country":"Canada","country_code":"CA"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://huobiget.com/","date":"2026-07-27T07:21:39.539Z","timestamp":1785136899539,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.assetproperty.ltd","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 18 Jun 2026 15:46:11 GMT","end":"Wed, 16 Sep 2026 15:46:10 GMT"},"fingerprint":{"sha1":"33:43:81:77:82:02:95:F0:80:FF:F9:E9:88:38:1C:F0:25:A0:6E:F7","sha256":"01:43:4E:BF:D4:4F:1D:74:3F:68:17:59:B7:2A:03:E8:A2:C7:A8:17:BA:BA:77:9B:91:88:EB:FA:8B:B3:74:28"}}},"request":{"raw":"GET /img/team-3.jpg HTTP/1.1\r\nHost: huobiget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://huobiget.com/\r\nCookie: PHPSESSID=834e7239821674f591674561a712954b\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/1.1 200 OK\r\nServer: nginx\r\nDate: Mon, 27 Jul 2026 07:21:40 GMT\r\nContent-Type: image/jpeg\r\nContent-Length: 13260\r\nConnection: keep-alive\r\nLast-Modified: Sun, 29 Sep 2024 18:36:54 GMT\r\nAccept-Ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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"]}],"data":{"size":13260,"size_decoded":13472,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 678x452, components 3","md5":"2e59e9c1dafc5e63e85214fe34aaa2fa","sha1":"7b223a347baf2eb64212a156e0bf928da93a0c79","sha256":"8cd21cfec70c9e05fb4900aa178fd2af39e86f2e327b65be4cc33ec6917350c8","sha512":"46e007d8fad4ccbc4686ab45b23a3cf26e07e30164c320cd446b7447e443fc53521c65e544d3b57184147adfdd289e6b37928864a5dd8324dcd1073b4bbc2f3c","ssdeep":"192:bQys8Dz4F1Og8n/wP9ymowgPV1W9FH/p8/emiLYMzGW+zcoAOZjO7AB+dR0FxrxK:ky9DMqoAVM1xQi0IiZ6UrBO","tlshash":"4b52bf2b5a5b9709c6dca7703a350303315f3c142a39fed67c0dcba5446ae69cf5522e","first_seen":"2026-07-27T04:48:05.452675Z","last_seen":"2026-07-27T07:23:37.133501Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":886,"timings":{"blocked":759,"dns":0,"connect":0,"send":0,"wait":127,"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":"huobiget.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/43792.e1bd06112404f0901a66.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.961Z","timestamp":1785136900961,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43792.e1bd06112404f0901a66.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-fa2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ad5a274498ff4679aef84c8b1edd48d6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4002,"size_decoded":1797,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4002), with no line terminators","md5":"132394741fdf9302124f840e6c3a925d","sha1":"59267f8b0edd10201baaabda8807c79d9b9c3642","sha256":"8157f6ce008ce1e225eb1af407cc0fa0cff8f6155386f2da7e90a74c37091048","sha512":"63359d8ac07c4cd882722bc630255d64b699f4f548c64e2558f6d95f25c6e75f0b5645fee034885862797dfedaf95df80c12f73ec2d41c159177c19470c40f6d","ssdeep":"","tlshash":"bd819cbcea50d8770d5fa63e0398d06c3994b213ee26ab57ffa0d10144d7be6419a70e","first_seen":"2026-07-22T16:00:00.457602Z","last_seen":"2026-07-28T06:17:53.444639Z","times_seen":386,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUk00Xzp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1STTRfOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzItUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzMtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzQtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fNS1STTRfOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi0zMDApOy0tXzYtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV83LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzgtUk00Xzp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTkwMCk7LS1fOS1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xMC1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xMS1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzEyLVJNNF86dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTMtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTQtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1STTRfOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEtUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yLVJNNF86dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zLVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV80LVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzUtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV82LVJNNF86dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTYwMCk7LS1fNy1STTRfOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV84LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzktUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1fMTAtUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTcwMCk7LS1fMTEtUk00Xzp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLV8xMi1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE3MDApOy0tXzEzLVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApOy0tXzE0LVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay00MDApfS53cmFwLUdoRGpYekJ4e2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmV9LndyYXAtR2hEalh6Qng6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ud3JhcC1HaERqWHpCeDpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LndyYXAtR2hEalh6QnggLmlucHV0LUdoRGpYekJ4e2N1cnNvcjpwb2ludGVyO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1HaERqWHpCeCAuaW5wdXQtR2hEalh6Qng6aG92ZXI6bm90KDpjaGVja2VkKSsuYm94LUdoRGpYekJ4IC5ob3ZlckRvdC1HaERqWHpCeHtkaXNwbGF5OmJsb2NrfX0uYm94LUdoRGpYekJ4e2hlaWdodDoxNnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTZweH0uYm94LUdoRGpYekJ4LnJlZC1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMS1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5yZWQtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzItUk00Xyl9fS5ib3gtR2hEalh6QnguYmx1ZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5ibHVlLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV80LVJNNF8pfX0uYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4e2NvbG9yOnZhcigtLV81LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV82LVJNNF8pfX0uYm94LUdoRGpYekJ4Lm9yYW5nZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fNy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5vcmFuZ2UtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzgtUk00Xyl9fS5ib3gtR2hEalh6QngucHVycGxlLUdoRGpYekJ4e2NvbG9yOnZhcigtLV85LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LnB1cnBsZS1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTAtUk00Xyl9fS5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTEtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTItUk00Xyl9fS5ib3gtR2hEalh6QngucGluay1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTMtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QngucGluay1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTQtUk00Xyl9fS5ib3gtR2hEalh6QngubGFyZ2UtR2hEalh6Qnh7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ucGlja2VyRG90LUdoRGpYekJ4e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmhvdmVyRG90LUdoRGpYekJ4e2NvbG9yOnZhcigtLV8wLVJNNF8pO2Rpc3BsYXk6bm9uZTtvcGFjaXR5Oi41fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXlNSEM6dmFyKC0tY29sb3Itd2hpdGUpfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteU1IQzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0ud3JhcHBlci1WbmVRVm9OdntwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZTo2cHggMTBweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnZ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteU1IQyk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmlubGluZS1mbGV4O3BhZGRpbmc6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052e2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDotMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDoxMnB4fS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052OmFmdGVye2JhY2tncm91bmQ6dmFyKC0tXzAteU1IQyk7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo5cHg7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7d2lkdGg6MTJweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnYgLmFycm93TGVmdC1WbmVRVm9OdjphZnRlcjpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9LmNvbG9yU2VsZWN0QnV0dG9uLVZuZVFWb052e3BhZGRpbmc6NHB4fS5wb3B1cC1WbmVRVm9Odntwb3NpdGlvbjpmaXhlZDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt6LWluZGV4OjEwMDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/31396.dada17abc4adbf073139.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.969Z","timestamp":1785136900969,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31396.dada17abc4adbf073139.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323c19-182f2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:18:01 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:26:01\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c91aaf3f70823e2cc6253865e8644644\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":99058,"size_decoded":18482,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"66317ce4b57c72fcfe161bb2ec83c51a","sha1":"200b2ec9adf4edbbe5f116abd8876b41cdcbe3d2","sha256":"9aab142f72bf381e18723a19f19460cabe90ab7541ad65e69058e08a51975478","sha512":"6d110ae2fa0bc39d29f23be62ef62c56cef642e4fbe558bd4a9235481634d8230cd67a814ad7b51f0ad02357748dc906bc668be8905d86789d1cf8c5a54ebfbd","ssdeep":"1536:n2Qw5vYV3KyVHYBUAbwKkdqmHCtGJWmJPpyyMJgKz8e1nq/eI+GNqz57ApA/q/Yq:A5v8anBUAbeENyv","tlshash":"80a376a5f2522136242b8e3a5b94fd545134e901ef267ffff942e92945c3ed2d22380b","first_seen":"2026-06-17T14:59:58.198603Z","last_seen":"2026-07-28T04:58:42.086287Z","times_seen":427,"resource_available":false,"data":"LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbGVnYWN5LWJnLXdpZGdldCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVufS50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lciAudHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZXtvdmVyZmxvdy14OmF1dG99W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtekpxcTojMDAwMH1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50LGRpdi50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci0tdHJhbnNwYXJlbnQgLnR2LXNjcmVlbmVyLXRvb2xiYXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7ZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtZGF0YS10YWJsZV9fdGJvZHkgLnR2LWRhdGEtdGFibGVfX3N0cm9rZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfX1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci10YWJsZV9faGVhZC13cmFwLGRpdi50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci0tdHJhbnNwYXJlbnQgLnR2LXNjcmVlbmVyLXRhYmxlX190aHtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXIsZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX2NvbC0tZHJhZ2dpbmcsZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX3RoLS1kcmFnZ2luZyxkaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci10YWJsZV9fdGhlYWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7ZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtd3JhcDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfX1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtkaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX2ZpZWxkcy1idXR0b246aG92ZXIsZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX2ZpbHRlci1idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX19ZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtZHJvcGRvd24tYmVoYXZpb3JfX2J1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtkaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtekpxcSl9fS50di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpub25lfS50di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keS5pLW9wZW5lZHtkaXNwbGF5OmJsb2NrfS50di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9ue2N1cnNvcjpwb2ludGVyfS50di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwsLnR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtLC50di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xse2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGx7b3ZlcmZsb3c6aGlkZGVufVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLUktMzM6I2U2ZWFlZjstLV8xLUktMzM6I2U2ZTllZDstLV8yLUktMzM6I2Y0ZWNlYzstLV8zLUktMzM6I2VhZjNmYjstLV80LUktMzM6I2YzZjVmOTstLV81LUktMzM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fNi1JLTMzOiM5MTk2OTE7LS1fNy1JLTMzOiM5OTk7LS1fOC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzEtSS0zMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLV8yLUktMzM6IzJjMjAzMDstLV8zLUktMzM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fNC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzUtSS0zMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTApOy0tXzYtSS0zMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV83LUktMzM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fOC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS50di1kYXRhLXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0udHYtZGF0YS10YWJsZV9faGVhZGVye3BhZGRpbmc6MTBweCAxMnB4fS50di1kYXRhLXRhYmxlX190aGVhZHtib3JkZXI6M3B4IHNvbGlkO2JvcmRlci1ib3R0b206bm9uZX0udHYtZGF0YS10YWJsZV9fc3Ryb2tle2hlaWdodDo0MHB4fS50di1kYXRhLXRhYmxlX19zdHJva2UtLWhpZGV7ZGlzcGxheTpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZGF0YS10YWJsZV9fdGJvZHkgLnR2LWRhdGEtdGFibGVfX3N0cm9rZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LUktMzMpfX0udHYtZGF0YS10YWJsZV9fc3Ryb2tlLS1obCAudHYtZGF0YS10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZHtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtZGF0YS10YWJsZV9fc3Ryb2tlLS1obCAudHYtZGF0YS10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjNweH0udHYtZGF0YS10YWJsZV9fc3Ryb2tlLS1obC1hY3RpdmUgLnR2LWRhdGEtdGFibGVfX2NlbGw6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYnJhbmQpfS50di1kYXRhLXRhYmxlX19zdHJva2UtLWhsLWRhbmdlciAudHYtZGF0YS10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZDpiZWZvcmV7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfS50di1kYXRhLXRhYmxlX19zdHJva2UtLWhsLXN1Y2Nlc3MgLnR2LWRhdGEtdGFibGVfX2NlbGw6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItbGVnYWN5LXN1Y2Nlc3MpfS50di1kYXRhLXRhYmxlX19zdHJva2U6bGFzdC1jaGlsZCAudHYtZGF0YS10YWJsZV9fY2VsbHtib3JkZXItYm90dG9tOnZhcigtLV8wLUktMzMpIG5vbmV9LnR2LWRhdGEtdGFibGVfX3N0cm9rZS0tZ3JheWVke2NvbG9yOnZhcigtLV83LUktMzMpfS50di1kYXRhLXRhYmxlX19jZWxse2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzAtSS0zMyk7Zm9udC1zaXplOjEzcHg7cGFkZGluZy1ibG9jazoxMHB4IDEwcHg7cGFkZGluZy1pbmxpbmU6MTFweCAxMHB4O3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1kYXRhLXRhYmxlX190Ym9keSAudHYtZGF0YS10YWJsZV9fY2VsbCwudHYtZGF0YS10YWJsZV9fdGJvZHkgLnR2LWRhdGEtdGFibGVfX2NlbGwgKnstd2Via2l0LXVzZXItc2VsZWN0OnRleHQhaW1wb3J0YW50O3VzZXItc2VsZWN0OnRleHQhaW1wb3J0YW50fS50di1kYXRhLXRhYmxlX19jZWxsLS1ib2xke2ZvbnQtd2VpZ2h0OjcwMH0udHYtZGF0YS10YWJsZV9fY2VsbC0taW5saW5lZHtkaXNwbGF5OmlubGluZS1ibG9ja30udHYtZGF0YS10YWJsZV9fY2VsbC0tcmlnaHQtYWxpZ257dGV4dC1hbGlnbjplbmQhaW1wb3J0YW50fS50di1kYXRhLXRhYmxlX19jZWxsLS1zdGF0dXN7YmFja2dyb3VuZDp2YXIoLS1fMS1JLTMzKTtoZWlnaHQ6MTVweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtdGFibGVfX2NlbGwtLWxlZnQtbWFyZ2luPnNwYW57bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1kYXRhLXRhYmxlX19jZWxsLS1yZWQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOnZhcigtLV8yLUktMzMpfS50di1kYXRhLXRhYmxlX19jZWxsLS1ibHVlLWJhY2tncm91bmR7YmFja2dyb3VuZDp2YXIoLS1fMy1JLTMzKX0udHYtZGF0YS10YWJsZV9fY2VsbC0tc3ltYm9sLWNlbGx7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NjAwO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1kYXRhLXRhYmxlX19jZWxsLS1idXR0b25zLWNlbGx7cGFkZGluZzowIDVweDt0ZXh0LWFsaWduOmVuZCFpbXBvcnRhbnQ7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjUycHh9LnR2LWRhdGEtdGFibGVfX2NlbGwtLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTJweDtwYWRkaW5nLWlubGluZS1lbmQ6NXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMnB4O2ZpbGw6IzljYTBhNn0udHYtZGF0YS10YWJsZV9fY2VsbC0tYnV0dG9uLmktaG92ZXJ7ZmlsbDp2YXIoLS1fNS1JLTMzKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWRhdGEtdGFibGVfX2NlbGwtLWJ1dHRvbjpob3ZlcntmaWxsOnZhcigtLV81LUktMzMpfX0udHYtZGF0YS10YWJsZV9fY2VsbC0tdGV4dHt0ZXh0LXRyYW5zZm9ybTpub25lfS50di1kYXRhLXRhYmxlX19jZWxsLS10ZXh0LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtdGFibGVfX3RoZWFkIC50di1kYXRhLXRhYmxlX19jZWxse2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApO2N1cnNvcjpkZWZhdWx0O2ZvbnQtd2VpZ2h0OjQwMDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOnN0YXJ0O3doaXRlLXNwYWNlOm5vd3JhcH0udHYtZGF0YS10YWJsZV9fc29ydGFibGV7Y3Vyc29yOnBvaW50ZXJ9LnR2LWRhdGEtdGFibGVfX3NvcnRhYmxlLS1hc2M6YWZ0ZXJ7Ym9yZGVyOjRweCBzb2xpZCAjMDAwMDtib3JkZXItYm90dG9tOjRweCBzb2xpZCB2YXIoLS1fNi1JLTMzKTtjb250ZW50OiIiO2N1cnNvcjpwb2ludGVyO21hcmdpbi10b3A6LTdweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlfS50di1kYXRhLXRhYmxlX19zb3J0YWJsZS0tZGVzYzphZnRlcntib3JkZXI6NHB4IHNvbGlkICMwMDAwO2JvcmRlci10b3A6NHB4IHNvbGlkIHZhcigtLV82LUktMzMpO2NvbnRlbnQ6IiI7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luLXRvcDotMnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCV9LnR2LWRhdGEtdGFibGVfX2J1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTJweDtwYWRkaW5nLWlubGluZS1lbmQ6NXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMnB4O2ZpbGw6IzljYTBhNn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWRhdGEtdGFibGVfX2J1dHRvbjpob3ZlcntmaWxsOnZhcigtLV81LUktMzMpfX0udHYtZGF0YS10YWJsZV9faW5mb3JtYXRpb24tYnV0dG9ue2N1cnNvcjpkZWZhdWx0O21hcmdpbi1pbmxpbmUtZW5kOjJweH0udHYtZGF0YS10YWJsZV9faW5mb3JtYXRpb24tYnV0dG9uIHN2Z3toZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50di1kYXRhLXRhYmxlX19pbmZvcm1hdGlvbi1idXR0b24uaW5mb3JtYXRpb257Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS50di1kYXRhLXRhYmxlX19pbmZvcm1hdGlvbi1idXR0b24ud2FybmluZ3tjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LWRhdGEtdGFibGVfX2luZm9ybWF0aW9uLWJ1dHRvbi5lcnJvcntjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1kYXRhLXRhYmxlX19lZGl0LWJ1dHRvbiBzdmd7aGVpZ2h0OjEycHg7d2lkdGg6MTBweH0udHYtZGF0YS10YWJsZV9fY2xvc2UtYnV0dG9uIHN2Z3toZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50di1kYXRhLXRhYmxlX19ibHVlLXRleHR7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS50di1kYXRhLXRhYmxlX19saWdodC1yZWQtdGV4dHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfS50di1kYXRhLXRhYmxlX19yZWQtdGV4dHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1kYXRhLXRhYmxlX19ncmVlbi10ZXh0e2NvbG9yOnZhcigtLWNvbG9yLWxlZ2FjeS1zdWNjZXNzKX0udHYtZGF0YS10YWJsZV9fcmVkLWdyZWVuLXRleHR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1kYXRhLXRhYmxlX19ncmV5LXRleHR7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1idXR0b24td3JhcHtwYWRkaW5nLWJsb2NrOjAgMDtwYWRkaW5nLWlubGluZToxNXB4IDA7d2lkdGg6MTVweH0udHYtZGF0YS10YWJsZV9fZHJvcGRvd24tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1idXR0b24gc3Zne2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWRhdGEtdGFibGVfX2Ryb3Bkb3duLWJ1dHRvbi1jcm9zcy1hbGlnbntwYWRkaW5nLWlubGluZS1lbmQ6OXB4fS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1zZWFyY2gtd3JhcHtib3JkZXItYm90dG9tOjFweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8wLUktMzMpO2hlaWdodDo0NXB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lLWJnKTtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDo0NXB4O21hcmdpbjowO3BhZGRpbmc6MTBweCAyMnB4IDA7d2lkdGg6MTAwJX0udHYtZGF0YS10YWJsZV9fZHJvcGRvd24td3JhcHtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3dpZHRoOjI0MHB4fS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1sYWJlbC0tYnJlYWthYmxle3dvcmQtYnJlYWs6YnJlYWstd29yZH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLV8yLV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMy1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzQtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV81LV9iaGk6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzYtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLV83LV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fOC1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzktX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fMS1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzItX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV8zLV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fNC1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzUtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV82LV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fNy1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzgtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV85LV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWNvbnRyb2wtcmFkaW97bWFyZ2luLWlubGluZS1zdGFydDo0cHg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS50di1jb250cm9sLXJhZGlvLS1pbi1hY3Rpb25ze21heC13aWR0aDo1MCV9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLXJhZGlvLS1pbi1hY3Rpb25ze21heC13aWR0aDpub25lfX0udHYtY29udHJvbC1yYWRpbywudHYtY29udHJvbC1yYWRpb19fbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1jb250cm9sLXJhZGlvLS1ub3dyYXAsLnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVsLS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS50di1jb250cm9sLXJhZGlvX19pbnB1dHtoZWlnaHQ6MThweDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MThweH0udHYtY29udHJvbC1yYWRpb19fYm94e2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1yYWRpb19fYm94LC50di1jb250cm9sLXJhZGlvX19ib3g6YmVmb3Jle2JvcmRlci1yYWRpdXM6M3B4O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0udHYtY29udHJvbC1yYWRpb19fYm94OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29udGVudDoiIjtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8wLV9iaGkpO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjM1cyBlYXNlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtcmFkaW9fX2JveCBzdmd7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTJweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTZweDttYXJnaW4taW5saW5lLXN0YXJ0Oi02cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDoxMnB4O3N0cm9rZTojMDAwMDt0cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNpdGlvbjpzdHJva2UgLjM1cyBlYXNlIDFtcyx0cmFuc2Zvcm0gLjM1cyBlYXNlIDFtc30udHYtY29udHJvbC1yYWRpb19fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MTBweDt3aGl0ZS1zcGFjZTpub3JtYWx9LnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVsLS10d28tbGluZXN7d2lkdGg6MTU1cHh9LnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVsLS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS50di1jb250cm9sLXJhZGlvX19sYWJlbC0tbGlsLWxpbmUtaGVpZ2h0e2xpbmUtaGVpZ2h0OjE2cHg7bWF4LXdpZHRoOjgwJTttaW4td2lkdGg6NDUlfS50di1jb250cm9sLXJhZGlvX19sYWJlbCsudHYtY29udHJvbC1yYWRpb3ttYXJnaW4taW5saW5lLXN0YXJ0OjB9LnR2LWNvbnRyb2wtcmFkaW8rLnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVse21hcmdpbi1pbmxpbmUtZW5kOjA7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxZXggLSAyOHB4KX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2JveCwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtcmFkaW9fX2JveHt3aWxsLWNoYW5nZTpiYWNrZ3JvdW5kLWNvbG9yfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1yYWRpbzpob3ZlciAudHYtY29udHJvbC1yYWRpb19fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9fS50di1jb250cm9sLXJhZGlvOmFjdGl2ZSAudHYtY29udHJvbC1yYWRpb19fYm94OmJlZm9yZSwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19ib3g6YmVmb3Jle3dpbGwtY2hhbmdlOnRyYW5zZm9ybSxib3JkZXItcmFkaXVzfX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlciwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlcnt3aWxsLWNoYW5nZTpib3JkZXItY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8xLV9iaGkpO3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn19LnR2LWNvbnRyb2wtcmFkaW86YWN0aXZlIC50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmZvY3VzKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8yLV9iaGkpfS50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3h7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy1fYmhpKX0udHYtY29udHJvbC1yYWRpb19faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1yYWRpb19fYm94LC50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9LnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNmb3JtOnNjYWxlKDApfS50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV80LV9iaGkpfS50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3ggc3Zne3N0cm9rZTp2YXIoLS1fNS1fYmhpKTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbi1kZWxheTo4Ny41bXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7d2lsbC1jaGFuZ2U6c3Ryb2tlLHRyYW5zZm9ybX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtcmFkaW86aG92ZXIgLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV82LV9iaGkpfS50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV83LV9iaGkpfX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveCwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMtdmlzaWJsZTpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3h7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOC1fYmhpKX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlciwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMtdmlzaWJsZTpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV85LV9iaGkpfS50di1jb250cm9sLXJhZGlvX19pbnB1dFtkaXNhYmxlZF0rLnR2LWNvbnRyb2wtcmFkaW9fX2JveHtvcGFjaXR5Oi41fS50di1jb250cm9sLXJhZGlvLmktZXJyb3IgLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKX0udHYtY29udHJvbC1yYWRpb19fYm94e2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMHB4O292ZXJmbG93OnZpc2libGU7d2lkdGg6MTBweH0udHYtY29udHJvbC1yYWRpb19fYm94OmFmdGVye2JvcmRlci1yYWRpdXM6NTAlO2luc2V0LWlubGluZS1zdGFydDotNHB4O3RvcDotNHB4fS50di1jb250cm9sLXJhZGlvX19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7aGVpZ2h0OjEwcHg7bWFyZ2luLXRvcDotNXB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTVweDt0cmFuc2Zvcm06c2NhbGUoMCk7d2lkdGg6MTBweH1odG1sLnRoZW1lLWRhcmsgLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0udHYtY29udHJvbC1yYWRpb19faW5wdXR7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHh9LnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7dHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc30udHYtY29udHJvbC1yYWRpb19faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1yYWRpb19fYm94e2JhY2tncm91bmQtY29sb3I6I2ZmZjt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3h7YmFja2dyb3VuZC1jb2xvcjojZmZmO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LXNlYXJjaC1iYXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2xpbmUtaGVpZ2h0OjgwcHg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcntoZWlnaHQ6NTRweDtsaW5lLWhlaWdodDo1NHB4fX0udHYtc2VhcmNoLWJhcl9faW5uZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX2lubmVye3BhZGRpbmc6MCA1cHh9fS50di1zZWFyY2gtYmFyX19pbm5lci1yaWdodC1jb2x1bW57YWxpZ24taXRlbXM6ZmxleC1lbmQ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLXRvcDotNTNweH0udHYtc2VhcmNoLWJhcl9fZHJvcGRvd257ZmxvYXQ6aW5saW5lLXN0YXJ0fS50di1zZWFyY2gtYmFyX19idXR0b24sLnR2LXNlYXJjaC1iYXJfX2J1dHRvbi13cmFwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zZWFyY2gtYmFyX19idXR0b24td3JhcC0tbGluZS1oZWlnaHRfaW5oZXJpdCwudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXAtLWxpbmUtaGVpZ2h0X2luaGVyaXQudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXAtLWxpbmUtaGVpZ2h0X2luaGVyaXR7bGluZS1oZWlnaHQ6aW5oZXJpdH0udHYtc2VhcmNoLWJhcl9fYnV0dG9ue2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6MTAwJTtwYWRkaW5nOjAgMTVweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlOy0tdGl0bGUtY29sb3ItdGV4dDp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS50di1zZWFyY2gtYmFyX19idXR0b24sLnR2LXNlYXJjaC1iYXJfX2J1dHRvbjp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7ZmlsbDp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhcl9fYnV0dG9uOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQtYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kLWFjdGl2ZSl9LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zZWFyY2gtYmFyX19idXR0b246Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zZWFyY2gtYmFyX19idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zZWFyY2gtYmFyX19idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXM7LS10aXRsZS1jb2xvci10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7LS10aXRsZS1jb2xvci10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS50di1zZWFyY2gtYmFyX19idXR0b246Zm9jdXMsLnR2LXNlYXJjaC1iYXJfX2J1dHRvbjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udHYtc2VhcmNoLWJhcl9fYnV0dG9uLmktZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsOy0tdGl0bGUtY29sb3ItdGV4dDojZmZmZmZmYjM7Y3Vyc29yOmRlZmF1bHR9LmktYWN0aXZlIC50di1zZWFyY2gtYmFyX19idXR0b257LS10aXRsZS1jb2xvci10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS50di1zZWFyY2gtYmFyX19idXR0b24taW53cmFwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGV7Y29sb3I6dmFyKC0tdGl0bGUtY29sb3ItdGV4dCxpbmhlcml0KTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNnB4O2xldHRlci1zcGFjaW5nOi4xMmV4O21hcmdpbi1ib3R0b206NXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtc2VhcmNoLWJhcl9fYnV0dG9uLXRpdGxlOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGUtLXN1YntsaW5lLWhlaWdodDo0MHB4fS50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGUtLXRhYnN7bGluZS1oZWlnaHQ6ODBweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGUtLXRhYnN7bGluZS1oZWlnaHQ6NTRweH19LnR2LXNlYXJjaC1iYXJfX2J1dHRvbi1zdWJ0aXRsZXtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMWV4O29wYWNpdHk6LjY1fS50di1zZWFyY2gtYmFyX19kcm9wZG93bi1ib2R5e21hcmdpbi10b3A6MjNweDttaW4td2lkdGg6MjAwcHh9LnR2LXNlYXJjaC1iYXJfX2FyZWEtLWZpbHRlcnN7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOi0xNXB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTE1cHh9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fYXJlYS0tZmlsdGVyc3tkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX19hcmVhLS1zZWFyY2h7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19hcmVhLS1zZWFyY2hfZGVza3RvcHtkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX19hcmVhLS10YWJze3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6MTAyMHB4KXsudHYtc2VhcmNoLWJhcl9fYXJlYS0tdGFic3ttYXJnaW4taW5saW5lLWVuZDotMTVweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0xNXB4O3dpZHRoOmNhbGMoMTAwJSAtIDI1MHB4KX19LnR2LXNlYXJjaC1iYXJfX2FyZWEtLXByb2ZpbGUtZmlsdGVyc3tkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtd3JhcDpub3dyYXA7aGVpZ2h0OjU2cHg7b3JkZXI6MTt3aGl0ZS1zcGFjZTpub3dyYXB9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fYXJlYS0tcHJvZmlsZS1maWx0ZXJze2Rpc3BsYXk6bm9uZX19LnR2LXNlYXJjaC1iYXJfX2FyZWEtLWRldmljZXN7ZGlzcGxheTpub25lfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX2FyZWEtLWRldmljZXN7ZGlzcGxheTpibG9ja319LnR2LXNlYXJjaC1iYXJfX3RhZ3Mtd3JhcHtwYWRkaW5nOjQzcHggMCAxMHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3RhZ3Mtd3JhcHtkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX19zY3JpcHR7YWxpZ24tc2VsZjpzdHJldGNoO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY29sb3ItZGl2aWRlcik7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3NjcmlwdHtkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX190YWdze2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDotMjdweDttYXgtaGVpZ2h0OjI5cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zZWFyY2gtYmFyX190YWdzLmktZXhwYW5kZWR7bWF4LWhlaWdodDpub25lfS50di1zZWFyY2gtYmFyX190YWdzOm5vdCguaS1leHBhbmRlZCkgLnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuLS1sZXNzLXRhZ3N7ZGlzcGxheTpub25lfS50di1zZWFyY2gtYmFyX190YWdzLWxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwfS50di1zZWFyY2gtYmFyX190YWdzLWJ0bntjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MTZweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuLC50di1zZWFyY2gtYmFyX190YWdzLWJ0bjp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtc2VhcmNoLWJhcl9fdGFncy1idG46Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfS50di1zZWFyY2gtYmFyX191bm1vZGVyYXRlZC1ub3RpY2V7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MS4yO21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4O21heC13aWR0aDoxMjBweDtwYWRkaW5nOjFweCA0cHh9LnR2LXNlYXJjaC1iYXJfX3VubW9kZXJhdGVkLW5vdGljZS0td2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNlMmU4ODU7Y29sb3I6IzY2Nn0udHYtc2VhcmNoLWJhcl9fd2lkZ2V0cy1jb250cm9se21hcmdpbi1pbmxpbmUtZW5kOjQwcHh9LnR2LXNlYXJjaC1iYXJfX3dpZGdldHMtY29udHJvbC1pY29uIHN2Z3tmaWxsOiNmZmZ9LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1xdWVyeXtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoyMHB4O3ZlcnRpY2FsLWFsaWduOnRvcH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19zZWFyY2gtcXVlcnl7ZGlzcGxheTpibG9jaztwYWRkaW5nLWlubGluZS1lbmQ6NDZweDt0b3A6MH19LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1xdWVyeS0tbW9iaWxle2Rpc3BsYXk6bm9uZX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19zZWFyY2gtcXVlcnktLW1vYmlsZXtkaXNwbGF5OmJsb2NrfS50di1zZWFyY2gtYmFyX19zZWFyY2gtcXVlcnktLXdpdGhvdXQtZmlsdGVycy1idXR0b257cGFkZGluZy1pbmxpbmUtZW5kOjB9fS50di1zZWFyY2gtYmFyX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjojYjNjN2QyNDA7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDtwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZTo0NHB4IDM2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MjUwcHh9LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2V9LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDpmb2N1czo6cGxhY2Vob2xkZXJ7Y29sb3I6I2I4YmFjMDt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0e2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjA7cGFkZGluZy1ibG9jazoxOXB4IDE5cHg7cGFkZGluZy1pbmxpbmU6MzJweCAzNnB4O3dpZHRoOjEwMCV9fS50di1zZWFyY2gtYmFyX19zZWFyY2gtaW5wdXQ6Zm9jdXN7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1zZWFyY2gtYmFyX19zZWFyY2gtaWNvbntkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1zdGFydDoxMnB4O21hcmdpbi10b3A6LTlweDtvcGFjaXR5Oi44O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2l0aW9uOm9wYWNpdHkgLjM1cyBlYXNlfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pY29ue2luc2V0LWlubGluZS1zdGFydDowfX0udHYtc2VhcmNoLWJhcl9fc2VhcmNoLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDp2YXIoLS1jb2xvci13aGl0ZSk7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0udHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0OmZvY3VzKy50di1zZWFyY2gtYmFyX19zZWFyY2gtaWNvbntvcGFjaXR5OjE7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldHtib3R0b206MDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDtvcGFjaXR5Oi44O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIGVhc2U7d2lkdGg6MzZweH0udHYtc2VhcmNoLWJhcl9faW5wdXQtcmVzZXQ6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNlYXJjaC1iYXJfX2lucHV0LXJlc2V0IHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jaztmaWxsOnZhcigtLWNvbG9yLXdoaXRlKTtoZWlnaHQ6OXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo5cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldDpob3ZlcntvcGFjaXR5OjE7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldHtpbnNldC1pbmxpbmUtZW5kOjExMnB4fX0udHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVke2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDo1MHB4O2xpbmUtaGVpZ2h0OjE7bWluLXdpZHRoOjFweDt0ZXh0LWFsaWduOmVuZDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTAwcHh9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVke2Rpc3BsYXk6bm9uZX19LnR2LXNlYXJjaC1iYXJfX3Nwb25zb3JlZC10ZXh0e2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOi02cHg7b3BhY2l0eTouN30udHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVkLWJ5e2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO29wYWNpdHk6Ljk7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZTt3aWR0aDoxMDAlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVkLWJ5OmhvdmVye29wYWNpdHk6MTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS50di1zZWFyY2gtYmFyX19zcG9uc29yZWQtaW1ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0udHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVkLWltZyBzdmd7cG9zaXRpb246cmVsYXRpdmU7ZmlsbDp2YXIoLS1jb2xvci13aGl0ZSk7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwcHh9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyLS1zZWNvbmRhcnlfZGV2aWNlcy1yZXNlcnZlZC1oZWlnaHR7aGVpZ2h0OjU3cHh9fS50di1zZWFyY2gtYmFyLS1zZWNvbmRhcnkgLnR2LXNlYXJjaC1iYXJfX2J1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fYnV0dG9uOmFjdGl2ZSwudHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnktaG92ZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19idXR0b246aG92ZXIsLnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnktaG92ZXIpfX0udHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRuIHN2ZywudHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldCBzdmcsLnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWljb24gc3Zne2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0e2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1zZWFyY2gtYmFyLS1zZWNvbmRhcnkgLnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2V9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0OmZvY3VzOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9LnR2LXNlYXJjaC1iYXItLXN1YntiYWNrZ3JvdW5kLWNvbG9yOiMwZTEwMTU7aGVpZ2h0OmF1dG87bGluZS1oZWlnaHQ6NDBweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNlYXJjaC1iYXItLXN1YiAudHYtc2VhcmNoLWJhcl9fYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeS1ob3Zlcil9fS50di1zZWFyY2gtYmFyLS1zdWIgLnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX0udHYtc2VhcmNoLWJhci0tc3ViIC50di1zZWFyY2gtYmFyX19idXR0b24td3JhcHtvcGFjaXR5Oi42NTt0cmFuc2l0aW9uOm9wYWNpdHkgLjM1cyBlYXNlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhci0tc3ViIC50di1zZWFyY2gtYmFyX19idXR0b24td3JhcDpob3ZlcntvcGFjaXR5Oi44O3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LXNlYXJjaC1iYXItLXN1YiAudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXA6YWN0aXZle29wYWNpdHk6MTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9LnR2LXNlYXJjaC1iYXItLXN1YiAudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXAuaS1hY3RpdmV7b3BhY2l0eToxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhci0tc3ViIC50di1zZWFyY2gtYmFyX19idXR0b24td3JhcC5pLWFjdGl2ZTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9fS50di1zZWFyY2gtYmFyLS1zdWIgLnR2LXNlYXJjaC1iYXJfX2J1dHRvbi10aXRsZXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDB9LnR2LXNlYXJjaC1iYXIgLnR2LXNlYXJjaC1iYXJfX2NhcmV0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4fS50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRue2JvdHRvbTowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOjA7aW5zZXQtaW5saW5lLWVuZDowO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2U7d2lkdGg6NjZweH0udHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bi0tcmlnaHRfMntpbnNldC1pbmxpbmUtZW5kOjY2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRuOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bntkaXNwbGF5OmJsb2NrfX0udHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0biBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpfS50di1zZWFyY2gtYmFyIFtkYXRhLWRpdmlzaW9uPXNlYXJjaF17ZGlzcGxheTpub25lfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXhKYnA6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMS14SmJwOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteEpicDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLV8xLXhKYnA6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9LnR2LXNsaWRlciwudWktc2xpZGVyLnR2LXNsaWRlcntiYWNrZ3JvdW5kOm5vbmUhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6aW5pdGlhbCFpbXBvcnRhbnQ7Ym9yZGVyOm5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZTtoZWlnaHQ6MTBweCFpbXBvcnRhbnQ7bWFyZ2luOjhweCAxMDBweDtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtc2xpZGVyOmFmdGVyLC51aS1zbGlkZXIudHYtc2xpZGVyOmFmdGVye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7Y29udGVudDoiIjtoZWlnaHQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7d2lkdGg6MTAwJX0udHYtc2xpZGVyX19sYWJlbHMsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDoxMDAlfS50di1zbGlkZXJfX2xhYmVsLC51aS1zbGlkZXIudHYtc2xpZGVyX19sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzAteEpicCk7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjI1cHg7cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTE5cHg7d2lkdGg6MTAzcHg7d2lkdGg6NjVweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNsaWRlcl9fbGFiZWw6aG92ZXIsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fMS14SmJwKX19LnR2LXNsaWRlcl9fbGFiZWw6Zm9jdXMsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNsaWRlcl9fbGFiZWwtLWxlZnQsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsLS1sZWZ0e2xlZnQ6LTEwMHB4fS50di1zbGlkZXJfX2xhYmVsLS1yaWdodCwudWktc2xpZGVyLnR2LXNsaWRlcl9fbGFiZWwtLXJpZ2h0e3JpZ2h0Oi05NnB4fS50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGUsLnVpLXNsaWRlci50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGV7YmFja2dyb3VuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6NXB4O2hlaWdodDoxMHB4IWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MCFpbXBvcnRhbnQ7d2lkdGg6MTBweCFpbXBvcnRhbnQ7ei1pbmRleDoxfS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLmZlYXR1cmUtbW9iaWxldG91Y2ggLnVpLXNsaWRlci50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGU6YWZ0ZXJ7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6LTZweDtwYWRkaW5nOjZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDt3aWR0aDoxMDAlfS50di1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSwudWktc2xpZGVyLnR2LXNsaWRlciAudWktc2xpZGVyLXJhbmdle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIWltcG9ydGFudDtoZWlnaHQ6MnB4IWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NHB4IWltcG9ydGFudDt6LWluZGV4OjF9LnR2LXNsaWRlciAudWktc2xpZGVyLXJhbmdlLW1pbiwudWktc2xpZGVyLnR2LXNsaWRlciAudWktc2xpZGVyLXJhbmdlLW1pbntsZWZ0OjA7cmlnaHQ6YXV0b30udHYtc2NyZWVuZXJ7cG9zaXRpb246cmVsYXRpdmV9LnR2LWVtYmVkLXdpZGdldC13cmFwcGVyIC50di1zY3JlZW5lciwudHYtZmVlZCAudHYtc2NyZWVuZXJ7bWFyZ2luOjB9LnR2LXNjcmVlbmVyX19zdGFuZGFsb25lLW1haW4tY29udGFpbmVye21pbi1oZWlnaHQ6MDtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZXtwYWRkaW5nLXRvcDo1NnB4O3otaW5kZXg6MX0udHYtc2NyZWVuZXItLXN0aWNreS1oZWFkZXJ7cGFkZGluZy10b3A6NTdweH0udHYtc2NyZWVuZXItLWhpZGRlbi10b29sYmFye3BhZGRpbmctdG9wOjB9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmV7aGVpZ2h0OmNhbGMoMTAwJSAtIDE4NHB4KTtvdmVyZmxvdzphdXRvO3BhZGRpbmctYm90dG9tOjgwcHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmU6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo1cHg7d2lkdGg6NXB4fS50di1zY3JlZW5lcl9fY29udGVudC1wYW5lOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS50di1zY3JlZW5lcl9fY29udGVudC1wYW5lOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmU6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmU6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1zY3JlZW5lcl9fY29udGVudC1wYW5lOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXNiLXNjcm9sbGJhci1ib2R5LWJnKTtib3JkZXI6bm9uZX0udHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZS0tZnVsbHktbG9hZGVke2hlaWdodDpjYWxjKDEwMCUgLSA1NnB4KTtwYWRkaW5nLWJvdHRvbTowfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZSAudHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZXtoZWlnaHQ6YXV0bztvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmctYm90dG9tOjB9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldHtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJvZHktYmcpO292ZXJmbG93OmhpZGRlbn1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXR7bWFyZ2luOjAgLTIwcHh9fS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmV7b3ZlcmZsb3c6aGlkZGVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZXtvdmVyZmxvdzphdXRvfX0udHYtc2NyZWVuZXJfX3N5bWJvbHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NzAwO21heC13aWR0aDoxMDAlO3BhZGRpbmctaW5saW5lLWVuZDozcHh9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXJfX3N5bWJvbHtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyX19zeW1ib2wtLXRleHR7Y29sb3I6dmFyKC0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb24pO2N1cnNvcjpkZWZhdWx0fS50di1zY3JlZW5lcl9fc3ltYm9sLS1zZWNvbmRhcnl7Zm9udC13ZWlnaHQ6NDAwfS50di1zY3JlZW5lcl9fdHlwZXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTtmb250LXdlaWdodDo0MDA7dGV4dC10cmFuc2Zvcm06bm9uZX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lcl9fdHlwZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9LnR2LXNjcmVlbmVyX19kZXNjcmlwdGlvbntjb2xvcjp2YXIoLS1jb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbik7ZGlzcGxheTppbmxpbmU7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi4zcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3ZlcnRpY2FsLWFsaWduOmJvdHRvbX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnR2LXNjcmVlbmVyX19kZXNjcmlwdGlvbnttYXgtd2lkdGg6MTUwcHh9fS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyX19kZXNjcmlwdGlvbntjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS50di1zY3JlZW5lcl9fbG9hZGluZy1zY3JlZW57Ym90dG9tOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwNXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxfS50di1zY3JlZW5lcl9fbG9hZGluZy1zY3JlZW4tLXN0YW5kYWxvbmV7cG9zaXRpb246Zml4ZWR9LnR2LXNjcmVlbmVyX19sb2FkaW5nLXNjcmVlbi0taGlkZGVuLXRvb2xiYXJ7dG9wOjQ5cHh9LnR2LXNjcmVlbmVyX19ib3R0b20tbG9hZGluZy1zY3JlZW57Ym90dG9tOjQwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjF9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lIC50di1zY3JlZW5lcl9fYm90dG9tLWxvYWRpbmctc2NyZWVue2JvdHRvbTowO2hlaWdodDo3MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lcl9fZmlsdGVyLWZpZWxkLXRpdGxlLS1hY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIWltcG9ydGFudH0udHYtc2NyZWVuZXJfX3N0YW5kYWxvbmUtd3JhcHttYXJnaW46MDtwYWRkaW5nOjE0OHB4IDAgMH0udHYtc2NyZWVuZXJfX3N0YW5kYWxvbmUtdGl0bGUtd3JhcHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2JvcmRlci1ib3R0b206MnB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjI2cHggMjBweCAyMHB4fS50di1zY3JlZW5lcl9fc3RhbmRhbG9uZS10aXRsZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZTozMHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzotLjNweDtsaW5lLWhlaWdodDozNXB4fS50di1zY3JlZW5lcl9fbWFpbnRlbmFuY2V7Y29sb3I6IzhmOGY4Zjtmb250LXN0eWxlOml0YWxpYzttYXJnaW46MTBweCAxMXB4O3RleHQtYWxpZ246Y2VudGVyfS50di1zY3JlZW5lcl9fYm9keS1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtRXFMYjojZTFlNmVjOy0tXzEtRXFMYjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV8yLUVxTGI6I2YxZjNmNjstLV8zLUVxTGI6I2ZmZjstLV80LUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fNS1FcUxiOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LUVxTGI6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tXzctRXFMYjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fOC1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzktRXFMYjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAtRXFMYjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtRXFMYjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8yLUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1fMy1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzQtRXFMYjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLV81LUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fNi1FcUxiOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLV83LUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fOC1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzktRXFMYjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAtRXFMYjojMzE3OWY1MmV9LnR2LXNjcmVlbmVyLXRvb2xiYXJ7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDtwYWRkaW5nOjEycHggMjBweCAxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246ZGlzcGxheSAuNHMgLjRzfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtc2NyZWVuZXItdG9vbGJhcntmbGV4LXdyYXA6d3JhcH19LnR2LXNjcmVlbmVyLXRvb2xiYXItLW9uZS1saW5le2ZsZXgtd3JhcDpub3dyYXA7b3ZlcmZsb3c6dmlzaWJsZX0udHYtc2NyZWVuZXItdG9vbGJhci0tc3RhbmRhbG9uZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS50di1zY3JlZW5lci10b29sYmFyLS1tYXJrZXRze2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyl9LnR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHNfcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHNfc3RpY2t5e2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyk7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1fS50di1zY3JlZW5lci10b29sYmFyLS1tYXJrZXRzX2Fic29sdXRle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyk7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9LnR2LXNjcmVlbmVyLXRvb2xiYXItLXN0YW5kYWxvbmVfc3RpY2t5e2xlZnQ6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt6LWluZGV4OjN9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX3JlZnJlc2gtY291bnRlcntib3R0b206MDtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLWNvdW50ZXIgLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3JlZnJlc2gtY291bnRlcntkaXNwbGF5OmJsb2NrfS50di1zY3JlZW5lci10b29sYmFyPmRpdntoZWlnaHQ6MzJweDttYXJnaW4tYm90dG9tOjJweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9ue2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztmbGV4LXNocmluazowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6MzJweDttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6OHB4IDA7cGFkZGluZy1pbmxpbmU6MTJweCAxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDE3NW1zIGVhc2Usb3BhY2l0eSAxNzVtcyBlYXNlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tc3BhY2VfcmlnaHR7bWFyZ2luLWlubGluZS1lbmQ6MTBweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hbmltYXRlZHt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgMTc1bXMgZWFzZSxvcGFjaXR5IDE3NW1zIGVhc2Usd2lkdGggLjM1cyBlYXNlfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtb3B0aW9uc3tib3JkZXItZW5kLWVuZC1yYWRpdXM6MDtib3JkZXItaW5saW5lLWVuZDpub25lO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tb3B0aW9uc3tib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1yZWZyZXNoe3BhZGRpbmc6OHB4IDAgMDt3aWR0aDozMnB4fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXJlZnJlc2ggc3Zne2luc2V0LWlubGluZS1zdGFydDo1MCV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZXhwb3J0e3dpZHRoOjM2cHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZXhwb3J0IHN2Z3tpbnNldC1pbmxpbmUtc3RhcnQ6NTAlfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNxdWFyZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDozMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowO3dpZHRoOjMycHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tcmVmcmVzaC50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtY291bnRlciBzdmd7dHJhbnNmb3JtOnNjYWxlKC45KSB0cmFuc2xhdGVZKC01cHgpfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd257cGFkZGluZy1pbmxpbmUtZW5kOjE5cHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYXJyb3ctZG93bjpiZWZvcmV7Ym9yZGVyOjRweCBzb2xpZCAjMDAwMDtib3JkZXItdG9wOjRweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTtjb250ZW50OiIiO2luc2V0LWlubGluZS1lbmQ6NnB4O21hcmdpbi10b3A6LTRweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjU1JX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLXN0YXRle3BhZGRpbmctaW5saW5lLWVuZDoyM3B4fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYWN0aXZlIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tY3JlYXRlLWFsZXJ0e2JhY2tncm91bmQtY29sb3I6I2ZmZn0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1jcmVhdGUtYWxlcnQgc3Zne3RyYW5zaXRpb246b3BhY2l0eSAxNzVtcyBlYXNlfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQ6YWZ0ZXJ7Y29udGVudDoiKiI7aW5zZXQtaW5saW5lLWVuZDoxN3B4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo5cHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi5pLWxvYWRpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtwb2ludGVyLWV2ZW50czpub25lfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24uaS1sb2FkaW5nIHN2Z3tvcGFjaXR5OjB9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi5pLWxvYWRpbmc6YWZ0ZXJ7YW5pbWF0aW9uLWR1cmF0aW9uOjEuMDVzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLW5hbWU6dHYtcHVsc2UtYW5pbWF0aW9uLWJ1dHRvbi1BUmRiTTB5RDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMzMsMCwuMTEsMSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMHB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWJsb2NrOi01cHggMDttYXJnaW4taW5saW5lOi01cHggMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1saXN0LW50aC1jaGlsZC1iZyl9fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b246YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19idXR0b246aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uOmFjdGl2ZSBzdmd7ZmlsbDp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19idXR0b246aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1lbmFibGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Y29sb3I6dmFyKC0tY29sb3ItaXRlbS1hY3RpdmUtdGV4dCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZW5hYmxlZCBzdmd7ZmlsbDp2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKTtjb2xvcjp2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1lbmFibGVkOmhvdmVyIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQpfX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1lbmFibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWFjdGl2ZSl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYWxlcnQtbG9hZGluZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO3BvaW50ZXItZXZlbnRzOm5vbmV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYWxlcnQtbG9hZGluZyBzdmd7b3BhY2l0eTowfUBrZXlmcmFtZXMgdHYtcHVsc2UtYW5pbWF0aW9uLWJ1dHRvbi1BUmRiTTB5RHswJXtvcGFjaXR5OjB9MjAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKDIuNSl9fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFsZXJ0LWxvYWRpbmc6YWZ0ZXJ7YW5pbWF0aW9uLWR1cmF0aW9uOjEuMDVzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLW5hbWU6dHYtcHVsc2UtYW5pbWF0aW9uLWJ1dHRvbi1BUmRiTTB5RDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMzMsMCwuMTEsMSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMHB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWJsb2NrOi01cHggMDttYXJnaW4taW5saW5lOi01cHggMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwcHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZW5hYmxlZC1hbGVydC1sb2FkaW5ne2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLV80LUVxTGIpfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWVuYWJsZWQtYWxlcnQtbG9hZGluZzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtib3JkZXItd2lkdGg6MDtjb2xvcjp2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyczphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1FcUxiKTtjb2xvcjp2YXIoLS1fNy1FcUxiKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyczpob3Zlcntjb2xvcjp2YXIoLS1fNy1FcUxiKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi1pY29ue2ZpbGw6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLWljb24tLXN0YW5kYWxvbmUtcmVmcmVzaHttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOi0ycHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi1pY29uLS1leHBvcnR7bWFyZ2luLWlubGluZS1zdGFydDotOHB4O3RvcDotMnB4fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbi0tZmlsdGVyc3toZWlnaHQ6MTRweDttYXJnaW4taW5saW5lLXN0YXJ0OjdweDt3aWR0aDoxMnB4O2ZpbGw6dmFyKC0tY29sb3ItaXRlbS1hY3RpdmUtdGV4dCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwLC50di1zY3JlZW5lci10b29sYmFyX19maWx0ZXItY291bnQtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmlsdGVyLWNvdW50e2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlcjoycHggc29saWQgdmFyKC0tXzUtRXFMYik7Ym9yZGVyLXJhZGl1czoxMnB4O2NvbG9yOnZhcigtLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQpO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxOXB4O2luc2V0LWlubGluZS1lbmQ6LTEycHg7bGluZS1oZWlnaHQ6MjBweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6LTEycHg7d2lkdGg6MTlweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmlsdGVyLWNvdW50LS1tYXJrZXQtY291bnR7Ym9yZGVyOm5vbmU7aGVpZ2h0OjE2cHg7aW5zZXQtaW5saW5lLWVuZDoxMXB4O2xpbmUtaGVpZ2h0OjE2cHg7dG9wOi0xcHg7d2lkdGg6MTZweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fc3dpdGNoe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMsLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MX0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVze21heC13aWR0aDoxMDAlfS50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2Vye3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3R7ZmxleC1ncm93OjF9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3QtZHJvcGRvd24taXRlbS0tc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMTAtRXFMYikhaW1wb3J0YW50O2NvbG9yOnZhcigtLV85LUVxTGIpIWltcG9ydGFudH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0sLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yLUVxTGIpO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O21hcmdpbi1pbmxpbmUtc3RhcnQ6OXB4O21heC13aWR0aDoxNTBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzo1cHggMTBweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAxNzVtcyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1pdGVtOmhvdmVyLC50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2VyLWl0ZW06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1FcUxiKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1pdGVtOmFjdGl2ZSwudHYtc2NyZWVuZXItdG9vbGJhcl9fcGVyaW9kLXBpY2tlci1pdGVtOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLUVxTGIpfS50di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMtaXRlbTpmaXJzdC1jaGlsZCwudHYtc2NyZWVuZXItdG9vbGJhcl9fcGVyaW9kLXBpY2tlci1pdGVtOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0tLWFjdGl2ZSwudHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0tLWFjdGl2ZTphY3RpdmUsLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXItaXRlbS0tYWN0aXZlLC50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2VyLWl0ZW0tLWFjdGl2ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMS1FcUxiKSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tXzMtRXFMYil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMtaXRlbS0tYWN0aXZlOmhvdmVyLC50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2VyLWl0ZW0tLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLUVxTGIpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1fMy1FcUxiKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1tb3JlLXdyYXB7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWlubGluZS1zdGFydDo5cHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1tb3Jle2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE1cHg7bWFyZ2luLWlubGluZS1zdGFydDowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjVweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLW1vcmU6YWZ0ZXJ7Ym9yZGVyOjRweCBzb2xpZCAjMDAwMDtib3JkZXItdG9wOjRweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTtjb250ZW50OiIiO21hcmdpbi10b3A6LTRweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0xcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjU1JX0udHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc3Vwe3RvcDotLjVlbX0udHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc2VsZWN0e3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItdG9vbGJhciAudHYtc2NyZWVuZXItdG9vbGJhcl9fY3VycmVuY3ktc2VsZWN0e21hcmdpbi1pbmxpbmUtZW5kOjEwcHh9LnR2LXNjcmVlbmVyLXRvb2xiYXIgLnR2LXNjcmVlbmVyLXRvb2xiYXJfX2N1cnJlbmN5LXNlbGVjdCAudHYtZHJvcGRvd25fX2J1dHRvbnt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoyMTBweH0udHYtc2NyZWVuZXItdG9vbGJhciAudHYtc2NyZWVuZXItdG9vbGJhcl9fY3VycmVuY3ktc2VsZWN0IC50di1zY3JlZW5lci1wb3B1cF9faXRlbXt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxNzBweH0udHYtc2NyZWVuZXItdG9vbGJhciAudHYtc2NyZWVuZXItcG9wdXBfX2N1cnJlbmN5LXNlbGVjdC0tYWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlKX0udHYtZmxhZy1jb3VudHJ5LS1nbG9iZSBzdmd7Y29sb3I6dmFyKC0tXzgtRXFMYil9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNnlfUjojZWNlY2VjfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtNnlfUjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0udHYtc2NyZWVuZXItcG9wdXB7d2lkdGg6MjgwcHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVte2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTRweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDIycHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXByZXNldHMsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zYXZle2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzAtNnlfUil9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zYXZle21hcmdpbi1ib3R0b206MTBweH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZSl9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXRze2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjB9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXRzOmVtcHR5e2Rpc3BsYXk6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXQ6aG92ZXJ7cGFkZGluZy1pbmxpbmUtZW5kOjcwcHh9fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS0tc3BhY2UtbGVmdHtwYWRkaW5nLWlubGluZS1zdGFydDoyNXB4IWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtZHJvcGRvd24taXRlbS1ob3Zlci1iZyl9fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS1wcmVzZXRzLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NzAwO3BhZGRpbmc6MTBweCAyMnB4fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGV7ZGlzcGxheTpub25lO2luc2V0LWlubGluZS1lbmQ6NzRweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTFweH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZGVsZXRlLS1yaWdodHtpbnNldC1pbmxpbmUtZW5kOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGU6aG92ZXIgc3ZnICp7c3Ryb2tlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApfS50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3Zlcj4udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZGVsZXRle2Rpc3BsYXk6aW5saW5lfX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZWRpdCwudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tcmVuYW1le2Rpc3BsYXk6bm9uZTtpbnNldC1pbmxpbmUtZW5kOjQ1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjExcHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWVkaXQgc3ZnLC50di1zY3JlZW5lci1wb3B1cF9faXRlbS1yZW5hbWUgc3Zne2hlaWdodDoxMHB4O3dpZHRoOjEycHg7ZmlsbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWVkaXQ6aG92ZXIgc3ZnLC50di1zY3JlZW5lci1wb3B1cF9faXRlbS1yZW5hbWU6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtOmhvdmVyPi50di1zY3JlZW5lci1wb3B1cF9faXRlbS1lZGl0LC50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3Zlcj4udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tcmVuYW1le2Rpc3BsYXk6YmxvY2t9fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGUsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXJlbmFtZSwudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhciwudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmV7bWFyZ2luOi03cHg7cGFkZGluZzo3cHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXIsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXItYWN0aXZle2Rpc3BsYXk6bm9uZTtpbnNldC1pbmxpbmUtZW5kOjE1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhciBzdmcsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXItYWN0aXZlIHN2Z3toZWlnaHQ6MTZweDt3aWR0aDoxNnB4O2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1wb3B1cF9faXRlbS1zdGFyOmhvdmVyIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApfX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmUgc3Zne2ZpbGw6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmU6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKX19LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1mYXZvcml0ZSAudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmV7ZGlzcGxheTppbmxpbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3Zlcj4udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhcntkaXNwbGF5OmlubGluZX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWZhdm9yaXRlOmhvdmVyPi50di1zY3JlZW5lci1wb3B1cF9faXRlbS1zdGFye2Rpc3BsYXk6bm9uZX19LnR2LXNjcmVlbmVyLXBvcHVwX19yZWZyZXNoLWludGVydmFsc3t3aWR0aDphdXRvfS50di1zY3JlZW5lci1wb3B1cF9fcmVmcmVzaC1pbnRlcnZhbC1sYWJlbHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX19LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpub25lO2hlaWdodDoxNHB4O2luc2V0LWlubGluZS1zdGFydDo2cHg7cGFkZGluZy1ibG9jazoycHggMDtwYWRkaW5nLWlubGluZToycHggMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OXB4O3dpZHRoOjE0cHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZSBzdmd7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTBweDt3aWR0aDoxMHB4O2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZS0tYWN0aXZle2Rpc3BsYXk6YmxvY2t9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZS0tYWN0aXZlIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZTpob3ZlciBzdmd7ZmlsbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tYWxlcnQtdG9nZ2xlLS1hY3RpdmU6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApfS50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3ZlciAudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tYWxlcnQtdG9nZ2xle2Rpc3BsYXk6YmxvY2t9fS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zY3JlZW5lci1wb3B1cF9faXRlbS0tZmF2b3JpdGUgLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXJ7ZGlzcGxheTpub25lfS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGUsLmZlYXR1cmUtbW9iaWxldG91Y2ggLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXJlbmFtZSwuZmVhdHVyZS1tb2JpbGV0b3VjaCAudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhcntkaXNwbGF5OmlubGluZX0udHYtc2NyZWVuZXItZmllbGRzLXBvcHVwe3RvcDoxcHg7d2lkdGg6MjgwcHh9LnR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLXdyYXB7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7aGVpZ2h0OjQ1cHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLWlucHV0e2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6NDVweDttYXJnaW46MDtwYWRkaW5nLWJsb2NrOjEwcHggMDtwYWRkaW5nLWlubGluZToyMnB4IDIycHg7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19zZWFyY2gtbm8tbWF0Y2hlc3tjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7Zm9udC1zdHlsZTppdGFsaWM7cG9pbnRlci1ldmVudHM6bm9uZX0udHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19pdGVte2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxNHB4O3BhZGRpbmc6MTBweCAyMnB4fS50di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW0tLW5vLW1hdGNoZXN7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7Y3Vyc29yOmRlZmF1bHQ7Zm9udC1zdHlsZTppdGFsaWN9LnR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLWlucHV0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1lTGtWOiNmNWY4Zjk7LS1fMS1lTGtWOnZhcigtLWNvbG9yLXdoaXRlKTstLV8yLWVMa1Y6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1fMy1lTGtWOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tXzQtZUxrVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV81LWVMa1Y6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1lTGtWOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtZUxrVjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMi1lTGtWOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1fMy1lTGtWOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzQtZUxrVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV81LWVMa1Y6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QGtleWZyYW1lcyBmbGljay16UGlWNlNZNHswJXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApfXRve2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH19QGtleWZyYW1lcyBmbGljay10aGVtZS1kYXJrLXpQaVY2U1k0ezAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCl9dG97YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfX1odG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1mb2N1c2VkLGh0bWwudGhlbWUtZGFyayAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVke2JhY2tncm91bmQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7aHRtbC50aGVtZS1kYXJrIC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZDpob3ZlcixodG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1zZWxlY3RlZDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCkhaW1wb3J0YW50fX1odG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1mbGlja3thbmltYXRpb24tbmFtZTpmbGljay10aGVtZS1kYXJrLXpQaVY2U1k0fS50di1zY3JlZW5lci10YWJsZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO3Bvc2l0aW9uOnN0YXRpY30udHYtc2NyZWVuZXItdGFibGUtLWZpeGVke3RhYmxlLWxheW91dDpmaXhlZH0udHYtc2NyZWVuZXItdGFibGVfX3RoZWFke2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6bm9uZTtwb2ludGVyLWV2ZW50czpub25lfS50di1zY3JlZW5lci10YWJsZV9fdGhlYWQtLXJlZ3VsYXIsLnR2LXNjcmVlbmVyLXRhYmxlX190aGVhZC0tc3RpY2t5e3BvaW50ZXItZXZlbnRzOmF1dG99LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFke2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY29sb3ItZGl2aWRlcik7Ym9yZGVyLXRvcDoxcHggc29saWQ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1jb2xvci1kaXZpZGVyKTtoZWlnaHQ6NDhweH0udHYtc2NyZWVuZXItdGFibGVfX3Roe2N1cnNvcjpkZWZhdWx0O3BhZGRpbmc6MH0udHYtc2NyZWVuZXItdGFibGVfX3RoOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci1pbmxpbmUtc3RhcnQ6MXB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tY29sb3ItZGl2aWRlcil9LnR2LXNjcmVlbmVyLXRhYmxlX190aC0tZHJhZ2dpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1lTGtWKTt6LWluZGV4OjF9LnR2LXNjcmVlbmVyLXRhYmxlX190aDpsYXN0LWNoaWxkOm5vdCgudHYtc2NyZWVuZXItdGFibGVfX3RoLS1iaWcpOm5vdCgudHYtc2NyZWVuZXItdGFibGVfX3RoLS1uby10b29sYmFyKXtwYWRkaW5nLWlubGluZS1lbmQ6NDFweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRhYmxlX190aDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnktaG92ZXIpfX0udHYtc2NyZWVuZXItdGFibGUgLnR2LXNjcmVlbmVyLXRhYmxlX190aHt3aGl0ZS1zcGFjZTpub3JtYWx9LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLXdyYXB7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDdweDtwYWRkaW5nOjAgMTBweH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtd3JhcC0tZGlzYWJsZS1pbnRlcmFjdGlvbntjdXJzb3I6ZGVmYXVsdH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdHtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21pbi13aWR0aDozMHB4O3RleHQtYWxpZ246Y2VudGVyO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt3aWR0aDoxMDAlfS50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1uYW1lLWNvbCwudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZToiY29sdW1uTmFtZSBzZWFyY2hJbnB1dCIgImNvbHVtblZhbHVlIHNlYXJjaElucHV0IiAiY29sdW1uTWF0Y2hlcyBzZWFyY2hJbnB1dCI7bWluLXdpZHRoOjIyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHg7dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQtLW5hbWUtY29sLC50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1uYW1lLWNvbC13aXRob3V0LWRlc2NyaXB0aW9ue21pbi13aWR0aDoxMDBweH19LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wsLnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbntncmlkLXRlbXBsYXRlOiJjb2x1bW5OYW1lIHNlYXJjaElucHV0IiAiY29sdW1uVmFsdWUgc2VhcmNoSW5wdXQifS50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS13aWRnZXQtbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZToiY29sdW1uTmFtZSIgImNvbHVtblZhbHVlIiAiY29sdW1uTWF0Y2hlcyI7bWluLXdpZHRoOjkwcHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweDt0ZXh0LWFsaWduOnN0YXJ0fS50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2dyaWQtYXJlYTpjb2x1bW5OYW1lO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMDAlOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTdweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTJweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDB9LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQtLXRpdGxlLXRocmVlLWxpbmVze2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6MzZweH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGl0bGUtdHdvLWxpbmVze2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6MjRweH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbWFya2Vye2hlaWdodDoyMHB4O2luc2V0LWlubGluZS1zdGFydDotMzBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweH0udHYtc2NyZWVuZXItdGFibGVfX2ZpbHRlci1idXR0b257YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZGlzcGxheTppbmxpbmUtZmxleDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MThweH0udHYtc2NyZWVuZXItdGFibGVfX2ZpbHRlci1idXR0b24gc3Zne2hlaWdodDoxNHB4O3dpZHRoOjEycHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fdGg6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9ue2JvcmRlci1pbmxpbmUtc3RhcnQ6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpfS50di1zY3JlZW5lci10YWJsZV9fdGg6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzMtZUxrVik7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0udHYtc2NyZWVuZXItdGFibGVfX3RoOmhvdmVyIC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbi0tYWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItdGFibGVfX3RoOmhvdmVyIC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbi0tYWN0aXZlOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNjcmVlbmVyLXRhYmxlX19jb2wtLWRyYWdnaW5ne2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtZUxrVil9LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93e2N1cnNvcjpkZWZhdWx0O2hlaWdodDo0OHB4fS50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZmxpY2t7YW5pbWF0aW9uLWR1cmF0aW9uOjEuNHM7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1uYW1lOmZsaWNrLXpQaVY2U1k0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC43NTUsLjA1LC44NTUsLjA2KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3c6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX19LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1hY3RpdmV7YmFja2dyb3VuZDojMzE3OWY1NjZ9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLWFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLV8yLWVMa1YpfS50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tYWN0aXZlIC50di1zY3JlZW5lci10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZHtib3JkZXItaW5saW5lLXN0YXJ0OjZweCBzb2xpZCB2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1mb2N1c2VkLC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tc2VsZWN0ZWR7YmFja2dyb3VuZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCl9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLWZvY3VzZWQsLnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVke2JhY2tncm91bmQ6dmFyKC0tXzItZUxrVil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZDpob3ZlciwudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVkOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApIWltcG9ydGFudH0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZDpob3ZlciwudHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tc2VsZWN0ZWQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1fMi1lTGtWKSFpbXBvcnRhbnR9fS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZCAudHYtc2NyZWVuZXItdGFibGVfX21hcmtlciwuZmVhdHVyZS1tb2JpbGV0b3VjaCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVkIC50di1zY3JlZW5lci10YWJsZV9fbWFya2Vye3Zpc2liaWxpdHk6dmlzaWJsZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93OmhvdmVyIC50di1zY3JlZW5lcl9fc3ltYm9se2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93OmhvdmVyIC50di1zY3JlZW5lcl9fc3ltYm9sLS10ZXh0e2NvbG9yOnZhcigtLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uKTtjdXJzb3I6ZGVmYXVsdH19LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1hY3RpdmUgLnR2LXNjcmVlbmVyLXRhYmxlX19tYXJrZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3c6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19tYXJrZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfX0udHYtc2NyZWVuZXItdGFibGVfX3N5bWJvbC1hZGRpdGlvbnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtc2hyaW5rOjA7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS50di1zY3JlZW5lci10YWJsZV9fbWFya2Vye21pbi1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt2aXNpYmlsaXR5OmhpZGRlbn0udHYtc2NyZWVuZXItdGFibGVfX21hcmtlci0tYWN0aXZle3Zpc2liaWxpdHk6dmlzaWJsZX0udHYtc2NyZWVuZXItdGFibGVfX3N5bWJvbC1jb250YWluZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGx7Zm9udC1zaXplOjE0cHg7cGFkZGluZy1ibG9jazoxMnB4IDEycHg7cGFkZGluZy1pbmxpbmU6MTFweCAxMHB4O3RleHQtYWxpZ246ZW5kO3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci10YWJsZV9fY2VsbDpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC50di1zY3JlZW5lcl9fc3ltYm9se3RleHQtdHJhbnNmb3JtOm5vbmU7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2V9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC50di1zY3JlZW5lcl9fZGVzY3JpcHRpb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouM3B4O21hcmdpbi10b3A6MnB4fS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC50di1zY3JlZW5lcl9fZGVzY3JpcHRpb257Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwgLnR2LWZsYWctY291bnRyeXttYXJnaW4tYmxvY2s6MCAwO21hcmdpbi1pbmxpbmU6NHB4IDEycHh9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1sZWZ0e3RleHQtYWxpZ246c3RhcnR9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1sZWZ0OmRpcihydGwpe2RpcmVjdGlvbjpydGx9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS11cHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS11cHtjb2xvcjp2YXIoLS1jb2xvci1ncm93aW5nKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWRvd257Y29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fY2VsbC0tZG93bntjb2xvcjp2YXIoLS1jb2xvci1mYWxsaW5nKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWhpZ2hsaWdodGVke3RleHQtb3ZlcmZsb3c6Y2xpcH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWdyb3dpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7bWFyZ2luOjAgLTNweDtwYWRkaW5nOjFweCAzcHh9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWdyb3dpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ncm93aW5nKTtjb2xvcjp2YXIoLS1fMS1lTGtWKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7bWFyZ2luOjAgLTNweDtwYWRkaW5nOjFweCAzcHh9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1mYWxsaW5nKTtjb2xvcjp2YXIoLS1fMS1lTGtWKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZpeC13aWR0aHtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MjAwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZHttYXgtd2lkdGg6MzAwcHg7cGFkZGluZy1ib3R0b206NHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHg7cGFkZGluZy10b3A6NXB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsOmZpcnN0LWNoaWxke21pbi13aWR0aDowfX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGw6bGFzdC1jaGlsZDpub3QoLnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1iaWcpOm5vdCgudHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLW5vLXRvb2xiYXIpe3BhZGRpbmctaW5saW5lLWVuZDo1M3B4fS50di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aG91dC1kZXNjcmlwdGlvbiAudHYtZmxhZy1jb3VudHJ5e21hcmdpbi10b3A6MH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLXdpdGhvdXQtZGVzY3JpcHRpb246Zmlyc3QtY2hpbGR7bWluLXdpZHRoOjE3NXB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS13aXRob3V0LWRlc2NyaXB0aW9uOmZpcnN0LWNoaWxke21pbi13aWR0aDo5MHB4fX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLXdpZGdldC13aXRob3V0LWRlc2NyaXB0aW9uOmZpcnN0LWNoaWxke21pbi13aWR0aDo5MHB4fS50di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY29sb3Itbm9ybWFse2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1jcnlwdG9fbWt0e2ZvbnQtc2l6ZToxNHB4fS50di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aC1tYXJrZXI6Zmlyc3QtY2hpbGR7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0udHYtc2NyZWVuZXItdGFibGVfX21hcmtldC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyMHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyMHB4fS50di1zY3JlZW5lci10YWJsZV9fbWFya2V0LWljb24gc3Zne3N0cm9rZTpjdXJyZW50Q29sb3J9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC5zZXNzaW9uLXN0YXR1c3tib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O21hcmdpbi1ibG9jazowIDJweDttYXJnaW4taW5saW5lOjRweCAwO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjRweH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwgLnNlc3Npb24tc3RhdHVzLnByZV9tYXJrZXR7YmFja2dyb3VuZDojZjc5ZDE2fS50di1zY3JlZW5lci10YWJsZV9fc29ydHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTtib3R0b206MDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MnB4O2luc2V0LWlubGluZS1lbmQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDoxMDAlfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS50di1zY3JlZW5lci10YWJsZV9fc29ydCBzdmd7aW5zZXQtaW5saW5lLWVuZDpjYWxjKDUwJSAtIDRweCk7cG9zaXRpb246YWJzb2x1dGU7ZmlsbDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCl9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3NvcnQgc3Zne2ZpbGw6dmFyKC0tY29sb3ItYnJhbmQpfS50di1zY3JlZW5lci10YWJsZV9fc29ydC0tYXNje3Zpc2liaWxpdHk6dmlzaWJsZX0udHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWFzYyBzdmd7dG9wOi0zcHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0LS1kZXNje3Zpc2liaWxpdHk6dmlzaWJsZX0udHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWRlc2Mgc3Zne3RvcDoycHh9LnR2LXNjcmVlbmVyLXRhYmxlX190aC0tYmlnOmxhc3QtY2hpbGQgLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0e2luc2V0LWlubGluZS1lbmQ6YXV0bztpbnNldC1pbmxpbmUtc3RhcnQ6MDt3aWR0aDpjYWxjKDEwMCUgLSAycHgpfS50di1zY3JlZW5lci10YWJsZV9fdGg6bGFzdC1jaGlsZDpub3QoLnR2LXNjcmVlbmVyLXRhYmxlX190aC0tYmlnKTpub3QoLnR2LXNjcmVlbmVyLXRhYmxlX190aC0tbm8tdG9vbGJhcikgLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0e2luc2V0LWlubGluZS1lbmQ6YXV0bztpbnNldC1pbmxpbmUtc3RhcnQ6MDt3aWR0aDpjYWxjKDEwMCUgLSA0M3B4KX0udHYtc2NyZWVuZXItdGFibGVfX3RoOmxhc3QtY2hpbGQ6bm90KC50di1zY3JlZW5lci10YWJsZV9fdGgtLWJpZyk6bm90KC50di1zY3JlZW5lci10YWJsZV9fdGgtLW5vLXRvb2xiYXIpIC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbntpbnNldC1pbmxpbmUtZW5kOjQzcHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0YWJsZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fc29ydGFibGU6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9ue29wYWNpdHk6MX19LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZXtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZS0tbmFtZXtkaXNwbGF5OmJsb2NrO2dyaWQtYXJlYTpjb2x1bW5NYXRjaGVzO21heC13aWR0aDoxMjBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZS0tbmFtZSwudHYtc2NyZWVuZXItdGFibGVfX2ZpZWxkLXZhbHVlLS10b3RhbHstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjExcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTJweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZS0tdG90YWx7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtkaXNwbGF5OmlubGluZS1ibG9jaztncmlkLWFyZWE6Y29sdW1uVmFsdWU7dGV4dC10cmFuc2Zvcm06bm9uZTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnl7YWxpZ24tc2VsZjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NDAwO2dyaWQtYXJlYTpzZWFyY2hJbnB1dDttYXJnaW4taW5saW5lLWVuZDoxMnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MzJweDttaW4td2lkdGg6MTIwcHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnk6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MzBweDttYXJnaW4tcmlnaHQ6NjBweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zY3JlZW5lci10YWJsZV9fc2VhcmNoLXF1ZXJ5e2Rpc3BsYXk6bm9uZX19LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnktLXdpdGhvdXQtZGVzY3JpcHRpb257bWluLXdpZHRoOjk1cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19pbnB1dC1yZXNldCBzdmd7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zY3JlZW5lci10YWJsZV9faW5wdXQtcmVzZXR7aW5zZXQtaW5saW5lLWVuZDowfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRhYmxlX19pbnB1dC1yZXNldDpob3ZlciBzdmcgcGF0aHtzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci10YWJsZV9fc2VhcmNoLWljb257Y29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7aW5zZXQtaW5saW5lLXN0YXJ0OjEwcHg7b3BhY2l0eToxO3RyYW5zaXRpb246YWxsIDBzIGVhc2UgMHN9LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi41cHg7cGFkZGluZy1ibG9jazoxMHB4IDhweDtwYWRkaW5nLWlubGluZTozNnB4IDM2cHg7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1pbnB1dDpmb2N1c3tib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbHtkaXNwbGF5OmlubGluZS1ibG9jaztsZXR0ZXItc3BhY2luZzouNXB4O21hcmdpbi1pbmxpbmUtZW5kOjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtdHJhbnNmb3JtOm5vbmV9LnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1idXl7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1idXl7Y29sb3I6dmFyKC0tY29sb3ItYnV5KX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tc3Ryb25nLWJ1eTpiZWZvcmV7YmFja2dyb3VuZDp1cmwoc3Ryb25nLWJ1eS1hcnJvdy42NzA3ZDEzOGQzMmVjMTY1YTQ1NS5zdmcpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6NTAlO2NvbnRlbnQ6IiI7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTVweH0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tYnV5e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1idXl7Y29sb3I6dmFyKC0tY29sb3ItYnV5KX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tYnV5OmJlZm9yZXtiYWNrZ3JvdW5kOnVybChidXktYXJyb3cuYWI2ZGZlNDExNTQ3OWJkMDRkZDMuc3ZnKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbi15OjUwJTtjb250ZW50OiIiO3BhZGRpbmctaW5saW5lLXN0YXJ0OjE1cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXNlbGx7Y29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zZWxse2NvbG9yOnZhcigtLWNvbG9yLXNlbGwpfS50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zZWxsOmJlZm9yZXtiYWNrZ3JvdW5kOnVybChzZWxsLWFycm93LjdhYTFiNTYzODcwYWEwYTA1ZTZhLnN2Zykgbm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb24teTo1MCU7Y29udGVudDoiIjtwYWRkaW5nLWlubGluZS1zdGFydDoxNXB4fS50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zdHJvbmctc2VsbHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1zZWxse2NvbG9yOnZhcigtLWNvbG9yLXNlbGwpfS50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zdHJvbmctc2VsbDpiZWZvcmV7YmFja2dyb3VuZDp1cmwoc3Ryb25nLXNlbGwtYXJyb3cuYWMwYzU1NTkzZjNiMGE4NGQ0ZGEuc3ZnKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbi15OjUwJTtjb250ZW50OiIiO3BhZGRpbmctaW5saW5lLXN0YXJ0OjE1cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLW5ldXRyYWx7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tbmV1dHJhbHtjb2xvcjp2YXIoLS1jb2xvci1uZXV0cmFsKX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tbmV1dHJhbDpiZWZvcmV7YmFja2dyb3VuZDp1cmwobmV1dHJhbC1hcnJvdy45OGY2MWMzMTVkNDUzMDA1NTgxMi5zdmcpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6NTAlO2NvbnRlbnQ6IiI7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTVweH0udHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LW1lc3NhZ2V7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Zm9udC1zdHlsZTppdGFsaWM7bWFyZ2luOjEzcHg7dGV4dC1hbGlnbjpjZW50ZXJ9LnR2LXNjcmVlbmVyLXRhYmxlX19wYXR0ZXJuX2ljb257ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR2LXNjcmVlbmVyLXRhYmxlX19wYXR0ZXJuX2VtcHR5e2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1zY3JlZW5lci10YWJsZV9fcGF0dGVybl90b29sdGlwX2NvbnRhaW5lcntmb250LXNpemU6MTNweDtwYWRkaW5nLWJsb2NrOjAgOHB4O3BhZGRpbmctaW5saW5lOjVweCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6OTBweH0udHYtc2NyZWVuZXItdGFibGVfX3BhdHRlcm5fdG9vbHRpcF9jb250YWluZXIgc3Zne2hlaWdodDo0MHB4O3BhZGRpbmctYm90dG9tOjZweDt3aWR0aDo0MHB4fS50di1zY3JlZW5lci10YWJsZV9fbG9nby1jb250YWluZXJ7ZmxleC1zaHJpbms6MDttYXJnaW4taW5saW5lLWVuZDo4cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHR7YWxpZ24tY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWJvdHRvbToxMHB4O3BhZGRpbmctdG9wOjEwcHg7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC1saW5rLC50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQtbGluazpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQudHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC0tZml4ZWR7cG9zaXRpb246Zml4ZWR9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQudHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC0tcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmU7dG9wOi00OHB4fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktZGVzY3JpcHRpb257Y29sb3I6dmFyKC0tXzQtZUxrVik7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MCAyMHB4O3RleHQtYWxpZ246Y2VudGVyfS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktY29udGVudHtkaXNwbGF5OmZsZXh9LnR2LXNjcmVlbmVyLXRhYmxlX19zeW1ib2wtY29udGFpbmVyLWRlc2NyaXB0aW9ue21pbi13aWR0aDowfS50di1zY3JlZW5lci10YWJsZV9fY2VsbC1jdXJyZW5jeS12YWx1ZXtjb2xvcjp2YXIoLS1fNS1lTGtWKTtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6M3B4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXhNWGs6I2RkZTNlNjstLV8xLXhNWGs6I2ZiZmNmYzstLV8yLXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMy14TVhrOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tXzQteE1Yazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV81LXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC14TVhrOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzEteE1Yazp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8yLXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fMy14TVhrOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzQteE1Yazp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLV81LXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItcGFuZS1iZyk7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyKTtib3JkZXItcmFkaXVzOjJweDtib3gtc2hhZG93OjAgMnB4IDNweCAjMjUyYzMxMjk7aGVpZ2h0OjYwcHg7bWFyZ2luLXRvcDotMnB4O21pbi13aWR0aDo0MDBweDtvcGFjaXR5OjE7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6M30udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLWhpZGRlbntvcGFjaXR5OjB9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS1zdGFuZGFsb25le21hcmdpbi10b3A6LTFweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLXdpZGV7d2lkdGg6NDM1cHh9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS1zbGlte21pbi13aWR0aDoyMTBweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmUtYmcpO3BhZGRpbmctYmxvY2s6OHB4IDhweDtwYWRkaW5nLWlubGluZToyMHB4IDgxcHg7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXRpdGxle2NvbG9yOnZhcigtLWNvbG9yLXVuZGVybGluZWQtdGV4dCk7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnR7bWFyZ2luLXRvcDoxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLWxlZnQsLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZmllbGQtY29udGVudC0tbWlkZGxlLC50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXJpZ2h0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSwudHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC1jb250ZW50LS1yaWdodHttYXJnaW4taW5saW5lLXN0YXJ0OjIwcHh9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZmllbGQtY29udGVudC0tY29uZGl0aW9uLC50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXNlbGVjdHttYXJnaW4tdG9wOjRweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC1jb250ZW50LS1zZWxlY3R7aGVpZ2h0OjM0cHg7bGluZS1oZWlnaHQ6MjdweDttYXgtd2lkdGg6MzUwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXRleHR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLV80LXhNWGspO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2hlaWdodDoyNXB4O3BhZGRpbmc6MCA2cHg7d2lkdGg6MTAzcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXRleHQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV81LXhNWGspfX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC10ZXh0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItYmV0d2Vlbi1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzQteE1Yayk7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjI1cHg7cGFkZGluZzowIDZweDt3aWR0aDoxMDNweDt3aWR0aDo1MHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1iZXR3ZWVuLWlucHV0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fNS14TVhrKX19LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItYmV0d2Vlbi1pbnB1dDpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWJldHdlZW4tc2VwYXJhdG9ye21hcmdpbi1pbmxpbmUtc3RhcnQ6MjBweDtwYWRkaW5nOjAgNnB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXJlc2V0e2JvcmRlci1pbmxpbmUtc3RhcnQ6MXB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAteE1Yayk7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjYwcHg7aW5zZXQtaW5saW5lLWVuZDowO2xpbmUtaGVpZ2h0OjY3cHg7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjA7d2lkdGg6NjZweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC1yZXNldCBzdmd7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXJlc2V0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzEteE1Yayl9fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNvbnRhaW5lcntoZWlnaHQ6MjdweDtsaW5lLWhlaWdodDoyN3B4O3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjE2cHg7bWFyZ2luLWJsb2NrOjZweCAwO21hcmdpbi1pbmxpbmU6NXB4IDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlO3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNnB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZSBzdmd7ZGlzcGxheTpibG9jazttYXJnaW4tYmxvY2s6NXB4IDA7bWFyZ2luLWlubGluZToycHggMDtzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7c3Ryb2tlLXdpZHRoOjEuNXB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZS0tb3Blbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlLS1vcGVuOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtY2FwdGlvbi0tbm8tdmFsdWUsLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtb3B0aW9uLS1uby12YWx1ZSAudHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3NlbGVjdGJveC1vcHRpb24td3JhcHtjb2xvcjp2YXIoLS1jb2xvci1wbGFjZWhvbGRlcikhaW1wb3J0YW50fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb257Y3Vyc29yOnBvaW50ZXJ9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtY2FwdGlvbi0tdGV4dC1vdmVyZmxvd3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3NlbGVjdGJveC1jYXB0aW9uLS10ZXh0LW92ZXJmbG93IC50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb24tbGFiZWx7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWlubGluZS1lbmQ6MjNweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb24tLXRleHQtb3ZlcmZsb3cgLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xle21hcmdpbi1pbmxpbmUtc3RhcnQ6LTE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb246aG92ZXIgLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlIHN2Z3tzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VhcmNoLXdyYXB7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7aGVpZ2h0OjQ1cHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmJsb2NrO2hlaWdodDo0NXB4O21hcmdpbjowO3BhZGRpbmctYmxvY2s6MTBweCAwO3BhZGRpbmctaW5saW5lOjIycHggMjJweDt3aWR0aDoxMDAlfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VhcmNoLW5vLW1hdGNoZXN7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc3R5bGU6aXRhbGljO3BvaW50ZXItZXZlbnRzOm5vbmV9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZHJvcGRvd24tdG9nZ2xle2hlaWdodDoxNnB4O2luc2V0LWlubGluZS1lbmQ6NDJweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDozMnB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDt3aWR0aDoxNnB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWRyb3Bkb3duLXRvZ2dsZSBzdmd7ZGlzcGxheTpibG9jazttYXJnaW4tYmxvY2s6NXB4IDA7bWFyZ2luLWlubGluZToycHggMDtzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZHJvcGRvd24tdG9nZ2xlLS1vcGVue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUtLW9wZW46ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZmllbGQtY29udGVudC0tc2VsZWN0OmhvdmVyfi50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWRyb3Bkb3duLXRvZ2dsZSBzdmd7c3Ryb2tlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci10b2dnbGV7ZGlzcGxheTpibG9ja30udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXR7bWluLXdpZHRoOjMzN3B4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLXdpdGhvdXQtcmVzZXR7cGFkZGluZy1pbmxpbmUtZW5kOjE4cHh9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19kcm9wZG93bi1jaGVja2JveC1pdGVte2NvbG9yOnZhcigtLWNvbG9yLXVuZGVybGluZWQtdGV4dCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lLWJnKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXhlYlU6I2UwZTNlYjgwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteGViVTojNDM0NjUxODB9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lIC50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJ7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1ib2R5LWJnKX0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVye2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6Mn0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyLS1zdGFuZGFsb25lX3N0aWNreXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJvZHktYmcpO3Bvc2l0aW9uOmZpeGVkfS50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXItLW1hcmtldHNfc3RpY2t5e2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyk7ZGlzcGxheTppbmxpbmUtYmxvY2s7aW5zZXQtaW5saW5lLWVuZDp1bnNldDtpbnNldC1pbmxpbmUtc3RhcnQ6dW5zZXR9LnR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tbWFya2V0c19hYnNvbHV0ZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJvZHktYmcpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlfS50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX3JpZ2h0LXN1YnN0cmF0ZXtkaXNwbGF5Om5vbmU7aGVpZ2h0OjQ4cHg7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjF9LnR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlcl9fcmlnaHQtc3Vic3RyYXRlLS1zdGFuZGFsb25lX3N0aWNreXtwb3NpdGlvbjpmaXhlZH0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19maWVsZHMtYnV0dG9uLXdyYXB7Ym9yZGVyLWlubGluZS1zdGFydDoxcHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1jb2xvci1kaXZpZGVyKTtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXhlYlUpO2luc2V0LWlubGluZS1lbmQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19maWVsZHMtYnV0dG9ue2FsaWduLWl0ZW1zOmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo0MXB4fS50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX2ZpZWxkcy1idXR0b24gc3Zne3Bvc2l0aW9uOnJlbGF0aXZlO2ZpbGw6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19maWVsZHMtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyKX19LnR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlcl9fZmllbGRzLWJ1dHRvbi0tYWN0aXZlIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxNXB4fS50di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0LnR2LWRyb3Bkb3due2Rpc3BsYXk6ZmxleH0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdC0tZGlhbG9ne3BhZGRpbmc6N3B4IDAgMDt0b3A6MTBweH0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdF9fYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3RfX2J1dHRvbi10aXRsZXttYXJnaW4taW5saW5lLXN0YXJ0OjNweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdF9faXRlbXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0X19pdGVtIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3RfX2l0ZW0tdGl0bGV7bWFyZ2luLWlubGluZS1zdGFydDo2cHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3QtLWhpZGRlbntoZWlnaHQ6MDtwYWRkaW5nOjAgNXB4O3Zpc2liaWxpdHk6aGlkZGVuO3dpZHRoOjB9LnR2LWNhcmV0e2JvcmRlci1ibG9jay1jb2xvcjpjdXJyZW50Q29sb3IgIzAwMDA7Ym9yZGVyLWJsb2NrLXdpZHRoOjRweCAwO2JvcmRlci1pbmxpbmUtY29sb3I6IzAwMDAgIzAwMDA7Ym9yZGVyLWlubGluZS13aWR0aDo0cHggNHB4O2JvcmRlci1zdHlsZTpzb2xpZDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2U7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjB9LmFjdGl2ZSAudHYtY2FyZXQsLmktZHJvcHBlZCAudHYtY2FyZXQ6bm90KC50di1jYXJldC0tc3RyaWN0KSwudHYtY2FyZXQtLXN0cmljdC5pLWRyb3BwZWR7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXM7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5hY3RpdmUgLnR2LWNhcmV0OmRpcihydGwpLC5pLWRyb3BwZWQgLnR2LWNhcmV0Om5vdCgudHYtY2FyZXQtLXN0cmljdCk6ZGlyKHJ0bCksLnR2LWNhcmV0LS1zdHJpY3QuaS1kcm9wcGVkOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udHYtY2FyZXQtLXNtYWxse2JvcmRlci1pbmxpbmUtZW5kLXdpZHRoOjNweDtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjNweDtib3JkZXItdG9wLXdpZHRoOjNweDttYXJnaW4taW5saW5lLWVuZDotMXB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6M3B4fS50di1jYXJldC0tY29sb3JlZHt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2UsY29sb3IgLjM1cyBlYXNlfS50di1jYXJldC0tbm8tbWFyZ2lue21hcmdpbi1pbmxpbmUtc3RhcnQ6MH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1ZWjhJOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtWVo4STojZTVlNWU4Oy0tXzItWVo4STp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1fMy1ZWjhJOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVlaOEk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMS1ZWjhJOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzItWVo4STp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tXzMtWVo4STp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApfS50di1kcm9wZG93bntwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LWRyb3Bkb3duLS1pbmxpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR2LWRyb3Bkb3duLmktaW5hY3RpdmUgLnR2LWRyb3Bkb3duX19pdGVtLC50di1kcm9wZG93bl9fZ3JvdXAuaS1pbmFjdGl2ZSAudHYtZHJvcGRvd25fX2l0ZW17YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApO2N1cnNvcjpkZWZhdWx0fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd24uaS1pbmFjdGl2ZSAudHYtZHJvcGRvd25fX2l0ZW06aG92ZXIsLnR2LWRyb3Bkb3duX19ncm91cC5pLWluYWN0aXZlIC50di1kcm9wZG93bl9faXRlbTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7Y3Vyc29yOmRlZmF1bHR9fS50di1kcm9wZG93bl9fZGVzY3tjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi10b3A6MnB4O3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd25fX2l0ZW06aG92ZXIgLnR2LWRyb3Bkb3duX19kZXNje2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWRyb3Bkb3duLmktaW5hY3RpdmUgLnR2LWRyb3Bkb3duX19kZXNjLC50di1kcm9wZG93bl9fZ3JvdXAuaS1pbmFjdGl2ZSAudHYtZHJvcGRvd25fX2Rlc2N7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1kcm9wZG93bl9fYnV0dG9ue2N1cnNvcjpwb2ludGVyfS50di1kcm9wZG93bl9fZ3JvdXAtLWRpdmlkZWR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9LnR2LWRyb3Bkb3duX19ncm91cC0tZGl2aWRlZDpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0udHYtZHJvcGRvd25fX2JvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtib3JkZXItcmFkaXVzOjZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTtmb250LXNpemU6MTNweDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6MTVweCAwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTVweDt6LWluZGV4Ojk5fS50di1kcm9wZG93bl9fYm9keS0tdW5kZXItdHJpZ2dlcnt0b3A6MTAwJTt0b3A6Y2FsYygxMDAlIC0gMXB4KX0udHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlcnt0b3A6MH0udHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0e2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6YXV0b30udHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX291dGVyX3JpZ2h0e2luc2V0LWlubGluZS1zdGFydDoxMDAlfS50di1kcm9wZG93bl9fdGl0bGV7Y29sb3I6I2JkYmVjMDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7bWFyZ2luLXRvcDoxMHB4O3BhZGRpbmc6MTBweCAxNXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtZHJvcGRvd25fX3RpdGxlOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0udHYtZHJvcGRvd25fX2l0ZW17Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDE1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtZHJvcGRvd25fX2l0ZW0sLnR2LWRyb3Bkb3duX19pdGVtOnZpc2l0ZWR7Y29sb3I6dmFyKC0tXzAtWVo4SSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1kcm9wZG93bl9faXRlbTpob3Zlcjpub3QoLmktYWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmcpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtZHJvcGRvd25fX2l0ZW06YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzMtWVo4SSl9LnR2LWRyb3Bkb3duX19pdGVtLmktYWN0aXZlLC50di1kcm9wZG93bl9faXRlbTphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX0udHYtZHJvcGRvd25fX2l0ZW0uaS1hY3RpdmUsLnR2LWRyb3Bkb3duX19pdGVtLmktYWN0aXZlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLVlaOEkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd25fX2l0ZW0uaS1hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy1ZWjhJKX19LnR2LWRyb3Bkb3duX19pdGVtLmktZGlzYWJsZWQsLnR2LWRyb3Bkb3duX19pdGVtLmktZGlzYWJsZWQ6YWN0aXZle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtjb2xvcjp2YXIoLS1fMS1ZWjhJKTtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWRyb3Bkb3duX19pdGVtLmktZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLV8xLVlaOEkpO2N1cnNvcjpkZWZhdWx0fX0udHYtZHJvcGRvd25fX2l0ZW0tLXN1Yml0ZW17cGFkZGluZy1ibG9jazoxMHB4IDEwcHg7cGFkZGluZy1pbmxpbmU6MzBweCAxNXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd25fX2l0ZW0tLW5vdC1pbnRlcmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1kcm9wZG93bl9faXRlbS0tbm90LWludGVyYWN0aXZlLmktYWN0aXZlLC50di1kcm9wZG93bl9faXRlbS0tbm90LWludGVyYWN0aXZlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1kcm9wZG93bl9faXRlbS0tbm90LWludGVyYWN0aXZlLmktYWN0aXZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH19LnR2LWRyb3Bkb3duX19pdGVtLS1ub3QtaW50ZXJhY3RpdmUuaS1hY3RpdmU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH0udHYtZHJvcGRvd25fX2l0ZW0tdGV4dHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzYtYXUxVzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV82LWF1MVc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYXUxVzojNTM1MzUzOy0tXzEtYXUxVzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8yLWF1MVc6I2U1ZTVlODstLV8zLWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tXzQtYXUxVzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1fNS1hdTFXOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWF1MVc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMS1hdTFXOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzItYXUxVzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV8zLWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLV80LWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLV81LWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKX0udHYtY29udHJvbC1zZWxlY3RfX3dyYXB7ZGlzcGxheTpibG9jazttaW4td2lkdGg6NDBweDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0udHYtY29udHJvbC1zZWxlY3RfX3dyYXAtLXJlYWRvbmx5e2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjdXJzb3I6dGV4dDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTNweDtwYWRkaW5nOjAgMTJweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbG9yOnZhcigtLV8wLWF1MVcpO2N1cnNvcjpwb2ludGVyO2hlaWdodDozNHB4O2xpbmUtaGVpZ2h0OjM0cHg7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6OnBsYWNlaG9sZGVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO29wYWNpdHk6MX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbHstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxMDAwcHggI2ZmZiFpbXBvcnRhbnR9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1zaXplX3hzbWFsbCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QtLXNpemVfeHNtYWxse2hlaWdodDoxOXB4fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC0tc2l6ZV9zbWFsbCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QtLXNpemVfc21hbGx7aGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1zaXplX2xhcmdlLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tc2l6ZV9sYXJnZXtmb250LXNpemU6MTZweDtoZWlnaHQ6NDhweH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtLWNvbm5lY3Qsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LS1jb25uZWN0e2JvcmRlci1pbmxpbmUtZW5kOjA7Ym9yZGVyLWlubGluZS1zdGFydDowO2JvcmRlci1yYWRpdXM6MH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtLWNvbm5lY3RfbGVmdCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QtLWNvbm5lY3RfbGVmdHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1pbmxpbmUtc3RhcnQ6bm9uZTtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1jb25uZWN0X3JpZ2h0LHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tY29ubmVjdF9yaWdodHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MDtib3JkZXItaW5saW5lLWVuZDpub25lO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1jb25uZWN0X3JpZ2h0I2lkX3VzZXJuYW1lOmRpcihydGwpLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tY29ubmVjdF9yaWdodCNpZF91c2VybmFtZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fY29udHJvbDpob3ZlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3Q6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1ob3Zlcik7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6Zm9jdXMsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkhaW1wb3J0YW50O3RyYW5zaXRpb24tZHVyYXRpb246NjBtc30udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbcmVhZG9ubHldLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtyZWFkb25seV17Ym9yZGVyLWNvbG9yOnZhcigtLV82LWF1MVcpO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbFtyZWFkb25seV06Zm9jdXMsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0W3JlYWRvbmx5XTpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbcmVhZG9ubHldOmhvdmVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtyZWFkb25seV06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLmktZGlzYWJsZWQsLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sW2Rpc2FibGVkXSxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1kaXNhYmxlZCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3RbZGlzYWJsZWRde2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLWRpc2FibGVkOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbZGlzYWJsZWRdOjpwbGFjZWhvbGRlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0W2Rpc2FibGVkXTo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZDpob3ZlciwudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbZGlzYWJsZWRdOmhvdmVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWRpc2FibGVkOmhvdmVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLmktZXJyb3Isc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LmktZXJyb3J7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1lcnJvcjpob3ZlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1lcnJvcjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKSFpbXBvcnRhbnR9fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLWVycm9yOmZvY3VzLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWVycm9yOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApIWltcG9ydGFudH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1zdWNjZXNzLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLmktc3VjY2Vzczpob3ZlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1zdWNjZXNzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKSFpbXBvcnRhbnR9fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLXN1Y2Nlc3M6YWN0aXZlLC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLXN1Y2Nlc3M6Zm9jdXMsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0Lmktc3VjY2VzczphY3RpdmUsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0Lmktc3VjY2Vzczpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpIWltcG9ydGFudH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtLXBob25lLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tcGhvbmV7ZGlyZWN0aW9uOmx0cjt0ZXh0LWFsaWduOnN0YXJ0fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6aG92ZXIsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpfX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZCwudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbZGlzYWJsZWRdLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWRpc2FibGVkLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF17Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpO2N1cnNvcjpkZWZhdWx0fS5pLWVycm9yIC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbCwuaS1lcnJvciBzZWxlY3QudHYtY29udHJvbC1zZWxlY3R7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaS1lcnJvciAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6aG92ZXIsLmktZXJyb3Igc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApIWltcG9ydGFudH19LmktZXJyb3IgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sOmZvY3VzLC5pLWVycm9yIHNlbGVjdC50di1jb250cm9sLXNlbGVjdDpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKSFpbXBvcnRhbnR9LnR2LWNvbnRyb2wtc2VsZWN0LS1zaXplX3hzbWFsbCAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2x7aGVpZ2h0OjE5cHg7bGluZS1oZWlnaHQ6MTlweH0udHYtY29udHJvbC1zZWxlY3QtLXNpemVfc21hbGwgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9se2hlaWdodDoyN3B4O2xpbmUtaGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtc2VsZWN0LS1zaXplX2xhcmdlIC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbHtoZWlnaHQ6NDhweDtsaW5lLWhlaWdodDo0OHB4fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC1pbm5lcntkaXNwbGF5OmJsb2NrO21hcmdpbi1pbmxpbmUtZW5kOjEycHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC1pbm5lci0tb3B0aW9uLWRpc2FibGVke2NvbG9yOnZhcigtLWNvbG9yLXBsYWNlaG9sZGVyKX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtaW5uZXItLXJlYWRvbmx5e2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjdXJzb3I6dGV4dDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtaW5uZXI6YWZ0ZXJ7Y29udGVudDoiXDIwMEUifXNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWluaXRlZHtkaXNwbGF5Om5vbmV9LnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldHtib3R0b206MDtjdXJzb3I6cG9pbnRlcjtpbnNldC1pbmxpbmUtZW5kOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6NDBweH0udHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye2JvcmRlci1pbmxpbmUtZW5kOjRweCBzb2xpZCAjMDAwMDtib3JkZXItaW5saW5lLXN0YXJ0OjRweCBzb2xpZCAjMDAwMDtib3JkZXItdG9wOjRweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLWNvbG9yLWVtcHR5LWNvbnRhaW5lci1tZXNzYWdlKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDoxNXB4O2luc2V0LWlubGluZS1zdGFydDphdXRvO21hcmdpbi10b3A6LTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZSxib3JkZXItY29sb3IgLjM1cyBlYXNlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX3dyYXA6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKSAjMDAwMCAjMDAwMDt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS50di1jb250cm9sLXNlbGVjdF9fd3JhcC5pLW9wZW5lZCAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktb3BlbmVkIC50di1jb250cm9sLXNlbGVjdF9fY2FyZXQ6YWZ0ZXI6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX3dyYXAuaS1vcGVuZWQ6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UpICMwMDAwICMwMDAwfS50di1jb250cm9sLXNlbGVjdF9fd3JhcC5pLW9wZW5lZCAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmhvdmVyOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpICMwMDAwICMwMDAwO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktY2xvc2luZyAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0e3otaW5kZXg6OTh9LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktY2xvc2luZyAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoMCl9LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktZGlzYWJsZWQgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldHtjdXJzb3I6ZGVmYXVsdH0udHYtY29udHJvbC1zZWxlY3RfX3dyYXAuaS1kaXNhYmxlZCAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSAjMDAwMCAjMDAwMH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktZGlzYWJsZWQ6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikgIzAwMDAgIzAwMDB9fS50di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtib3JkZXItcmFkaXVzOjZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTtmb250LXNpemU6MTNweDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6MTVweCAwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTVweDt6LWluZGV4Ojk5fS50di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd24tLXVuZGVyLXRyaWdnZXJ7dG9wOjEwMCU7dG9wOmNhbGMoMTAwJSAtIDFweCl9LnR2LWNvbnRyb2wtc2VsZWN0X19kcm9wZG93bi0tb3Zlci10cmlnZ2Vye3RvcDowfS50di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd24tLXBvc2l0aW9uX3JpZ2h0e2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6YXV0b30udHYtY29udHJvbC1zZWxlY3RfX2Ryb3Bkb3duLS1wb3NpdGlvbl9vdXRlcl9yaWdodHtpbnNldC1pbmxpbmUtc3RhcnQ6MTAwJX0udHYtY29udHJvbC1zZWxlY3RfX2Ryb3Bkb3duLnR2LWNvbnRyb2wtc2VsZWN0X19kcm9wZG93bntjdXJzb3I6ZGVmYXVsdDtpbnNldC1pbmxpbmUtZW5kOi03cHg7aW5zZXQtaW5saW5lLXN0YXJ0Oi03cHg7dG9wOi0xNHB4fS50di1jb250cm9sLXNlbGVjdF9fc2Nyb2xse2hlaWdodDoxMDAlfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXB7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDE1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXA6dmlzaXRlZHtjb2xvcjp2YXIoLS1fMS1hdTFXKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDpob3Zlcjpub3QoLmktYWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmcpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV81LWF1MVcpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcil9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAuaS1hY3RpdmUsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWFjdGl2ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS1hdTFXKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV81LWF1MVcpfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLmktZGlzYWJsZWQsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tXzItYXUxVyk7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAuaS1kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tXzItYXUxVyk7Y3Vyc29yOmRlZmF1bHR9fS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAtLXN1Yml0ZW17cGFkZGluZy1ibG9jazoxMHB4IDEwcHg7cGFkZGluZy1pbmxpbmU6MzBweCAxNXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLS1ub3QtaW50ZXJhY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLS1ub3QtaW50ZXJhY3RpdmUuaS1hY3RpdmUsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC0tbm90LWludGVyYWN0aXZlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAtLW5vdC1pbnRlcmFjdGl2ZS5pLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAtLW5vdC1pbnRlcmFjdGl2ZS5pLWFjdGl2ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwe2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24uaS1hY3RpdmUgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcHtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLmktYWN0aXZlIC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24uaS1hY3RpdmUgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS1hdTFXKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24uaS1hY3RpdmUgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV81LWF1MVcpfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi5pLWRpc2FibGVkIC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXB7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1ob3Zlcik7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLmktZGlzYWJsZWQgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLmktZGlzYWJsZWQ6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1jb250cm9sLXNlbGVjdF9fb3B0Z3JvdXB7ZGlzcGxheTpibG9ja30udHYtY29udHJvbC1zZWxlY3RfX29wdGdyb3VwLWxhYmVse2NvbG9yOiNiZGJlYzA7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTRweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTttYXJnaW4tdG9wOjEwcHg7cGFkZGluZzoxMHB4IDE1cHg7cGFkZGluZy1pbmxpbmUtZW5kOjIwcHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1sYWJlbDpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1zZXBhcmF0b3J7ZGlzcGxheTpub25lfS50di1jb250cm9sLXNlbGVjdF9fb3B0Z3JvdXAtc2VwYXJhdG9yOm5vdCg6bGFzdC1vZi10eXBlKXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjFweDttYXJnaW46OHB4IDB9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1pdGVtc3tkaXNwbGF5OmJsb2NrfS50di1jb250cm9sLXNlbGVjdF9fd3JhcC0tdG91Y2ggLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldCwudHYtY29udHJvbC1zZWxlY3RfX3dyYXAtLXRvdWNoIC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbHtwb2ludGVyLWV2ZW50czpub25lfS50di1jb250cm9sLXNlbGVjdF9fd3JhcC0tdG91Y2ggLnR2LWNvbnRyb2wtc2VsZWN0LmktaW5pdGVke2JvdHRvbTowO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1Bazk1OiM4YThhOGF9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1Bazk1OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApfS50di1zY3JlZW5lci1wcm9tcHRfX2xhYmVse2NvbG9yOnZhcigtLV8wLUFrOTUpO2ZvbnQtc2l6ZToxM3B4O21hcmdpbi1ib3R0b206MTBweH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1oQzdDOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzEtaEM3Qzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLV8yLWhDN0M6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMy1oQzdDOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtaEM3Qzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLV8xLWhDN0M6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMi1oQzdDOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzMtaEM3Qzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX0udHYtc2NyZWVuZXItZGlhbG9ne292ZXJmbG93OmF1dG99LnR2LXNjcmVlbmVyLWRpYWxvZ19fd3JhcHttaW4taGVpZ2h0OjEwMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fd3JhcDphZnRlcntjbGVhcjpib3RoO2NvbnRlbnQ6IiI7ZGlzcGxheTp0YWJsZX0udHYtc2NyZWVuZXItZGlhbG9nX193cmFwLS0yY29se3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1kaWFsb2dfX3dyYXAtLTJjb2w6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjUwJTttYXJnaW4taW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoycHg7ei1pbmRleDoxfS50di1zY3JlZW5lci1kaWFsb2dfX3dyYXAtLTJjb2wgLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxke3dpZHRoOjUwJX0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGR7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2Zsb2F0OmlubGluZS1zdGFydDttaW4taGVpZ2h0OjU1cHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCAyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmUsLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApfWh0bWwudGhlbWUtZGFyayAudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtLWFjdGl2ZSxodG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKX0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtLWFjdGl2ZSAudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtcmVzZXR7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZDpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0udHYtc2NyZWVuZXItZGlhbG9nLS1jYXQxIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MiwudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQxIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MywudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQyIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MSwudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQyIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MywudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQzIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MSwudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQzIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MntkaXNwbGF5Om5vbmV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLXRpdGxle2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LXNpemU6MTNweDtwYWRkaW5nLWlubGluZS1lbmQ6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDozMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnR7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4O21pbi1oZWlnaHQ6MjdweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo2MyV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLWxlZnQsLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSwudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSwudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tcmlnaHR7bWFyZ2luLWlubGluZS1zdGFydDoyMHB4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo4cHggMjBweH0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tbGVmdCwudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tbWlkZGxlLC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1jb250ZW50LS1yaWdodHtkaXNwbGF5OmJsb2NrO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH19LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtdmFsdWU6bm90KDpsYXN0LWNoaWxkKTphZnRlcntjb250ZW50OiIsICJ9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLXRleHR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLV8yLWhDN0MpO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2hlaWdodDoyNXB4O3BhZGRpbmc6MCA2cHg7d2lkdGg6MTAzcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC10ZXh0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fMy1oQzdDKX19LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLXRleHQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItYmV0d2Vlbi1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzItaEM3Qyk7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjI1cHg7cGFkZGluZzowIDZweDt3aWR0aDoxMDNweDt3aWR0aDo1MHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItYmV0d2Vlbi1pbnB1dDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzMtaEM3Qyl9fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1iZXR3ZWVuLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWJldHdlZW4tc2VwYXJhdG9ye21hcmdpbi1pbmxpbmUtc3RhcnQ6MjBweDtwYWRkaW5nOjAgNnB4fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1yZXNldHtjdXJzb3I6cG9pbnRlcjttYXJnaW4taW5saW5lLXN0YXJ0OjMwcHg7dmlzaWJpbGl0eTpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1yZXNldCBzdmd7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWNvbnRhaW5lcntoZWlnaHQ6MjdweDtsaW5lLWhlaWdodDoyN3B4O3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O21hcmdpbi1ibG9jazo2cHggMDttYXJnaW4taW5saW5lOjVweCAwO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTZweH0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlIHN2Z3tkaXNwbGF5OmJsb2NrO21hcmdpbi1ibG9jazo1cHggMDttYXJnaW4taW5saW5lOjJweCAwO3N0cm9rZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtzdHJva2Utd2lkdGg6MS41cHh9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZS0tb3Blbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZS0tb3BlbjpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpfS50di1zY3JlZW5lci1kaWFsb2dfX3NlbGVjdGJveC1jYXB0aW9uLS1uby12YWx1ZSwudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtb3B0aW9uLS1uby12YWx1ZSAudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtb3B0aW9uLXdyYXB7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpIWltcG9ydGFudH0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbntjdXJzb3I6cG9pbnRlcn0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbi0tdGV4dC1vdmVyZmxvd3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJX0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbi0tdGV4dC1vdmVyZmxvdyAudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbi1sYWJlbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctaW5saW5lLWVuZDoyM3B4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWNhcHRpb24tLXRleHQtb3ZlcmZsb3cgLnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZXttYXJnaW4taW5saW5lLXN0YXJ0Oi0xOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbjpob3ZlciAudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlIHN2Z3tzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci1kaWFsb2dfX3NlYXJjaC13cmFwe2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2hlaWdodDo0NXB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1kaWFsb2dfX3NlYXJjaC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOm5vbmU7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjQ1cHg7bWFyZ2luOjA7cGFkZGluZy1ibG9jazoxMHB4IDA7cGFkZGluZy1pbmxpbmU6MjJweCAyMnB4O3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VhcmNoLW5vLW1hdGNoZXN7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc3R5bGU6aXRhbGljO3BvaW50ZXItZXZlbnRzOm5vbmV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWRyb3Bkb3duLXRvZ2dsZXtoZWlnaHQ6MTZweDtpbnNldC1pbmxpbmUtZW5kOjclO21hcmdpbi1pbmxpbmUtZW5kOjdweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyMHB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDt3aWR0aDoxNnB4fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUgc3Zne2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJsb2NrOjVweCAwO21hcmdpbi1pbmxpbmU6MnB4IDA7c3Ryb2tlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUtLW9wZW57dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUtLW9wZW46ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXNlbGVjdDpob3Zlcn4udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZHJvcGRvd24tdG9nZ2xlIHN2Z3tzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci10b2dnbGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDo0cHh9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLXRvZ2dsZS1jaGVja2JveHtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtc2NyZWVuZXItZGlhbG9nIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci10b2dnbGUtY2hlY2tib3gtdGl0bGV7ZGlzcGxheTpub25lfS50di1zY3JlZW5lci1kaWFsb2dfX3NlbGVjdGJveC1vcHRpb24td3JhcHtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1zY3JlZW5lci1zZWFyY2h7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItdGFibGUpO2hlaWdodDo0MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1zZWFyY2hfX2lucHV0e2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTRweDtoZWlnaHQ6NDBweDtwYWRkaW5nLWJsb2NrOjAgMDtwYWRkaW5nLWlubGluZTo1N3B4IDEzNXB4O3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLXNlYXJjaF9faW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXBsYWNlaG9sZGVyKX0udHYtc2NyZWVuZXItc2VhcmNoIHN2Z3tpbnNldC1pbmxpbmUtc3RhcnQ6MjdweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMnB4fS50di1zY3JlZW5lci1zZWFyY2hfX3Jlc2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtjdXJzb3I6cG9pbnRlcjtpbnNldC1pbmxpbmUtZW5kOjMwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEycHh9LnR2LXNjcmVlbmVyLXNlYXJjaF9fcmVzZXQtaWNvbiBzdmd7aW5zZXQtaW5saW5lLXN0YXJ0Oi0yNnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O2ZpbGw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO3BvaW50ZXItZXZlbnRzOmF1dG99Lm1vZGVUaXRsZS1qc1QzUzRNQXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZTstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjIxcHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwfS5tb2RlVGl0bGVBY3RpdmUtanNUM1M0TUF7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS5zd2l0Y2hlckNvbnRhaW5lci1qc1QzUzRNQXttYXJnaW46MCA4cHh9LmVsZW1lbnRXcmFwLUxlWndHaUI2e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJX0uaXRlbXNXcmFwLUxlWndHaUI2e2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZX0uaXRlbS1MZVp3R2lCNntjb2xvcjp2YXIoLS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwpO2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjAgOXB4fS5pdGVtLUxlWndHaUI2OmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9Lml0ZW0tTGVad0dpQjY6bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6MH0uaXRlbS1MZVp3R2lCNi5hY3RpdmUtTGVad0dpQjYgLml0ZW1Db250ZW50LUxlWndHaUI2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlci1yYWRpdXM6MTJweDtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7Y3Vyc29yOmRlZmF1bHR9Lml0ZW0tTGVad0dpQjYuYWN0aXZlLUxlWndHaUI2IC5pdGVtQ29udGVudC1MZVp3R2lCNi5kcm9wZG93bkl0ZW0tTGVad0dpQjZ7Y3Vyc29yOnBvaW50ZXJ9Lml0ZW1Db250ZW50LUxlWndHaUI2e2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czoxMnB4O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEzcHg7cGFkZGluZzozcHggMTJweCA0cHg7dGV4dC1hbGlnbjpjZW50ZXI7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjM1cyBlYXNlLGNvbG9yIC4zNXMgZWFzZTt3aGl0ZS1zcGFjZTpub3dyYXB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtQ29udGVudC1MZVp3R2lCNjpob3Zlcjpub3QoLmFjdGl2ZS1MZVp3R2lCNil7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKTtjb2xvcjp2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcil9fS5kcm9wZG93bkl0ZW0tTGVad0dpQjZ7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjMycHh9LmRyb3Bkb3duSWNvbi1MZVp3R2lCNntkaXNwbGF5OmJsb2NrO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZX0uZHJvcGRvd25JY29uLUxlWndHaUI2OmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0uZHJvcGRvd25JY29uLUxlWndHaUI2LmFjdGl2ZS1MZVp3R2lCNnt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyl9LmRyb3Bkb3duSWNvbi1MZVp3R2lCNi5hY3RpdmUtTGVad0dpQjY6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmRyb3Bkb3duTGlzdEl0ZW0tTGVad0dpQjZ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0ubGluay1VSVFwTExOcywubGluay1VSVFwTExOczp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxpbmstVUlRcExMTnM6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS5saW5rLVVJUXBMTE5zOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpfS5saW5rLVVJUXBMTE5zOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmxpbmstVUlRcExMTnM6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5saW5rLVVJUXBMTE5zOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ASHELL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABARCL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ARRL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABPL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABTL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ATSCOL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3ABATSL%22%7D%2C%7B%22description%22%3A%22%22%2C%22proName%22%3A%22TURQUOISE%3AULVRL%22%7D%5D%2C%22showSymbolLogo%22%3Atrue%2C%22colorTheme%22%3A%22light%22%2C%22isTransparent%22%3Afalse%2C%22displayMode%22%3A%22regular%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A78%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22ticker-tape%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.008Z","timestamp":1785136901008,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51031.535f27b776f394c7e43a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\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 07:21:41 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: d53d0932fae2d904603f3acd57e3aa7f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":43860,"size_decoded":14999,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (12910)","md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-28T07:05:00.665702Z","times_seen":1638,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MTAzMV0sezE1Njg1MChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHt0ZWxlbWV0cnk6KCk9Pmh9KTt2YXIgcz1fKDk0ODM4MCksaT1fKDIyMTA2MSksbj1fKDM4NDAxNyksYT1fKDM3NzIyNikscj1fKDExNzMxMyk7XygzMDAyODYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDb21tb24uVGVsZW1ldHJ5IiksbD17ZGVmYXVsdDoxNWUzLHNpdGU6M2U1fSxjPVsiYmVmb3JlX3dlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIiwiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIsInBhZ2VfZnVsbF9sb2FkX3RpbWVfZnJhbWUiLCJwYWdlX2xvYWRfdGltZV9mcmFtZSJdO2NvbnN0IGg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yZXBvcnRTZW50PW5ldyBzLkRlbGVnYXRlLHRoaXMudGltZUNvdW50ZXJzPXtzZXJpZXM6e21hcmtzOltdfSxzdHVkeTp7fSxwaW5lOnt9fSx0aGlzLl90aW1lb3V0SWRzPXt9LHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhPXtjbHVzdGVyOm51bGwsdXNlcklkOiIwIn0sdGhpcy5fcmVwb3J0U3Rhc2g9e319c2V0U2Vzc2lvbkluZm8oZSl7Y29uc3QgdD10aGlzLl9wYXJzZUNsdXN0ZXIoZSk7bnVsbCE9PXQmJih0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS5jbHVzdGVyPXQpfXNlbmRSZXBvcnQoZSx0LF8pe2lmKCF0aGlzLl9pc0FibGVUb1NlbmRSZXBvcnQodCkpcmV0dXJuO2NvbnN0IHM9dGhpcy5fZ2V0U3Vic2VydmljZVR5cGUoZSksaT10aGlzLl9nZXRIb3N0KGUscyk7aWYobnVsbCE9PWkpe2lmKF89dm9pZCAwPT09Xz97Y291bnQ6MX06Xyx0aGlzLl9hZGRSZXBvcnRUb1N0YXNoKF8sdCxpKSwhdGhpcy5fdGltZW91dElkc1tlXSl7Y29uc3QgdD1sW2VdPz9sLmRlZmF1bHQ7dGhpcy5fdGltZW91dElkc1tlXT1zZXRUaW1lb3V0KHRoaXMuX3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UuYmluZCh0aGlzLGUsaSksdCl9fWVsc2Ugby5sb2dFcnJvcihgVW5hYmxlIHRvIGdldCBob3N0IGZvciBjb3VudGVyOiAke3R9LCBtZXRyaWMgdHlwZTogJHtlfSwgc2VyaXZjZSB0eXBlOiAke3N9YCl9c2VuZENoYXJ0UmVwb3J0KGUsdCxfPSEwKXt0aGlzLl9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydCgiY2hhcnRzIixlLHQsXyl9c2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoZSx0LF89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJsaW5lX3Rvb2xzX3N0b3JhZ2UiLGUsdCxfKX1fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoZSx0LF8scz0hMCl7dGhpcy5fdXBkYXRlVXNlckluZm8oKSxfPXZvaWQgMD09PV8/e2NvdW50OjF9Ol8scyYmKF89dGhpcy5fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oXyxbImNsdXN0ZXIiLCJ1c2VySWQiXSkpLHRoaXMuc2VuZFJlcG9ydChlLHQsXyl9X3VwZGF0ZVVzZXJJbmZvKCl7Y29uc3QgZT0idXNlciJpbiB3aW5kb3cmJiJpZCJpbiB3aW5kb3cudXNlcj93aW5kb3cudXNlci5pZDoiMCI7dGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGEudXNlcklkPVN0cmluZyhlKX1faXNBYmxlVG9TZW5kUmVwb3J0KGUpe2NvbnN0IHQ9d2luZG93LlRFTEVNRVRSWV9IT1NUUyxfPWMuaW5jbHVkZXMoZSkscz1Cb29sZWFuKHdpbmRvdy5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fCgwLGEub25XaWRnZXQpKCkpO3JldHVybiB0JiYoIV98fHMpfV9zZW5kVGVsZW1ldHJ5VG9TZXJ2aWNlKGUsdCl7aWYodGhpcy5fcmVwb3J0U3Rhc2guaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IGU9dGhpcy5fY3JvcFBhcmFtcyh0aGlzLl9yZXBvcnRTdGFzaFt0XSksXz10aGlzLl9yZW5hbWVBbGxQYXJhbXMoZSkscz17ZXZlbnQ6InJlcG9ydF9zdGFzaCIscGFyYW1zOnRoaXMuX2NsZWFuQWxsUGFyYW1zKF8pfTtvLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsbi5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHMpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3QgXz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLHM9X1tlXSYmX1tlXVt0XTtyZXR1cm4gQm9vbGVhbihzKT9zOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3QgXz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxyLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1fPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsci5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9Xz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLGEub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpfJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gby5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBfPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PV8mJl8ubGVuZ3RoPj0zP19bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXsKZm9yKGNvbnN0IHQgaW4gZSllLmhhc093blByb3BlcnR5KHQpJiZlW3RdLmxlbmd0aD4xZTMmJihlLnRvb19tdWNoX21ldHJpY3NfZnJhbWU9ZS50b29fbXVjaF9tZXRyaWNzX2ZyYW1lPz9bXSxlLnRvb19tdWNoX21ldHJpY3NfZnJhbWUucHVzaCh7dmFsdWU6ZVt0XS5sZW5ndGgsYWRkaXRpb25hbDp7ZXZlbnQ6dH19KSxkZWxldGUgZVt0XSk7cmV0dXJuIGV9X3JlbmFtZUFsbFBhcmFtcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBfIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShfKSYmKHRbX109W10sZVtfXS5mb3JFYWNoKChlPT57dFtfXS5wdXNoKHRoaXMuX3JlbmFtZUVudHJ5UGFyYW1zKGUpKX0pKSk7cmV0dXJuIHR9X3JlbmFtZUVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9e2NvdW50OiJjIix2YWx1ZToidiIsdGV4dDoidCIsYWRkaXRpb25hbDoiYSJ9O3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChfLHMpPT4oX1t0W3NdXT1lW3NdLF8pKSx7fSl9X2NsZWFuQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IF8gaW4gZSlpZihlLmhhc093blByb3BlcnR5KF8pKXt0W19dPVtdO2NvbnN0IHM9e2M6MH07ZVtfXS5mb3JFYWNoKChlPT57Y29uc3QgaT10aGlzLl9jbGVhbkVudHJ5UGFyYW1zKGUpLG49T2JqZWN0LmtleXMoaSkubGVuZ3RoOzE9PT1uJiZ2b2lkIDAhPT1pLmM/cy5jKz1pLmM6bj4wJiZ0W19dLnB1c2goaSl9KSkscy5jPjAmJnRbX10ucHVzaChzKSwwPT09dFtfXS5sZW5ndGgmJmRlbGV0ZSB0W19dfXJldHVybiB0fV9jbGVhbkVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxfKT0+ImMiIT09XyYmInQiIT09X3x8ZVtfXT8odFtfXT1lW19dLHQpOnQpLHt9KTtyZXR1cm4iYyJpbiB0fHwidiJpbiB0fHwidCJpbiB0P3Q6e319X2FkZFJlcG9ydFRvU3Rhc2goZSx0LF8pe18gaW4gdGhpcy5fcmVwb3J0U3Rhc2h8fCh0aGlzLl9yZXBvcnRTdGFzaFtfXT17fSksdCBpbiB0aGlzLl9yZXBvcnRTdGFzaFtfXXx8KHRoaXMuX3JlcG9ydFN0YXNoW19dW3RdPVtdKSxPYmplY3Qua2V5cyhlKS5sZW5ndGg+MCYmdGhpcy5fcmVwb3J0U3Rhc2hbX11bdF0ucHVzaChlKX19fSw5NjQ0ODYoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7ZGVlcEV4dGVuZDooKT0+aX0pO2NvbnN0IHM9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSwuLi50KXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlPygwPT09dC5sZW5ndGh8fHQuZm9yRWFjaCgodD0+e251bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgoXz0+e2lmKGZ1bmN0aW9uKGUpe3JldHVybiBzLmhhcyhlKX0oXykpcmV0dXJuO2NvbnN0IGE9ZVtfXSxyPXRbX107aWYocj09PWUpcmV0dXJuO2NvbnN0IG89QXJyYXkuaXNBcnJheShyKTtpZihyJiYobihyKXx8bykpe2xldCB0O3Q9bz9hJiZBcnJheS5pc0FycmF5KGEpP2E6W106YSYmbihhKT9hOnt9LGVbX109aSh0LHIpfWVsc2Ugdm9pZCAwIT09ciYmKGVbX109cil9KSl9KSksZSk6ZX1mdW5jdGlvbiBuKGUpe2lmKCFlfHwiW29iamVjdCBPYmplY3RdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4hMTtjb25zdCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtpZighdClyZXR1cm4hMDtjb25zdCBfPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS50b1N0cmluZyxzPXQuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3I7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHMmJl8uY2FsbChzKT09PV8uY2FsbChPYmplY3QpfX0sNzY4NzYwKGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChfLHMpPT57ZT1fLHQ9c30pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fV8uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9PnN9KX0sNTg5NzQ5KGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtpZih2b2lkIDA9PT1lKXJldHVybiIiO2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7bGV0IHQ9ZS5tZXNzYWdlO3JldHVybiBlLnN0YWNrJiYodCs9IiAiK2Uuc3RhY2spLHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKTpKU09OLnN0cmluZ2lmeShlKX1fLmQodCx7ZXJyb3JUb1N0cmluZzooKT0+c30pfSwxMTYzMTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7Y3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlOigpPT5hfSk7dmFyIHM9XygxMzg2MzgpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9ZX1hc3luYyBnZXRWYWx1ZShlKXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhY2hlLm1hdGNoKGUpO2lmKCF0KXJldHVybiBudWxsO3JldHVybiJhcHBsaWNhdGlvbi9qc29uIj09PSgwLHMuZW5zdXJlTm90TnVsbCkodC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikpP3QuanNvbigpOnQudGV4dCgpfWFzeW5jIHNldFZhbHVlKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZSh0LHtoZWFkZXJzOnsiY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9fSkpOnRoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh0KSx7aGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pKX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXtjb25zdCBfPWF3YWl0IHRoaXMuZ2V0VmFsdWUoZSk7XyYmKGF3YWl0IHRoaXMuc2V0VmFsdWUodCxfKSxhd2FpdCB0aGlzLl9jYWNoZS5kZWxldGUoZSkpfWFzeW5jIGRlbGV0ZVZhbHVlKGUpe3JldHVybiB0aGlzLl9jYWNoZS5kZWxldGUoZSl9fWNsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9kYXRhPW5ldyBNYXB9YXN5bmMgZ2V0VmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGUpPz9udWxsfWFzeW5jIHNldFZhbHVlKGUsdCl7dGhpcy5fZGF0YS5zZXQoZSx0KX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXsKdGhpcy5fZGF0YS5oYXMoZSkmJih0aGlzLl9kYXRhLnNldCh0LHRoaXMuX2RhdGEuZ2V0KGUpKSx0aGlzLl9kYXRhLmRlbGV0ZShlKSl9YXN5bmMgZGVsZXRlVmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZGVsZXRlKGUpfX1hc3luYyBmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWF3YWl0IGNhY2hlcy5vcGVuKGUpO3JldHVybiBuZXcgaSh0KX1jYXRjaHtyZXR1cm4gbmV3IG59fX0sNDAzNihlLHQsXyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD17fTtpZigtMT09PWUuaW5kZXhPZigiQCIpKXQuc2hvcnRJZD1lLHQucGFja2FnZUlkPSJ0di1iYXNpY3N0dWRpZXMiLHQuaWQ9ZSsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtjb25zdCBfPWUuc3BsaXQoIkAiKTt0LnNob3J0SWQ9X1swXTtjb25zdCBzPV9bMV0uc3BsaXQoIi0iKTtpZigzPT09cy5sZW5ndGgpdC5wYWNrYWdlSWQ9cy5zbGljZSgwLDIpLmpvaW4oIi0iKSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPXBhcnNlSW50KHNbMl0pO2Vsc2UgaWYoMT09PXMubGVuZ3RoJiYiZGVjaXNpb25iYXIiPT09c1swXSl0LnBhY2thZ2VJZD0ibGVzLSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtpZigxIT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIHN0dWR5IGlkOiIrZSk7dC5wYWNrYWdlSWQ9InR2LSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTF9fWlmKHQuZnVsbElkPXQuaWQrIi0iK3QudmVyc2lvbiwidHYtc2NyaXB0aW5nIj09PXQucGFja2FnZUlkKXtjb25zdCBlPXQuc2hvcnRJZDtpZigwPT09ZS5pbmRleE9mKCJTY3JpcHQkIil8fDA9PT1lLmluZGV4T2YoIlN0cmF0ZWd5U2NyaXB0JCIpKXtjb25zdCBfPWUuaW5kZXhPZigiXyIpO3QucHJvZHVjdElkPV8+PTA/ZS5zdWJzdHJpbmcoMCxfKTp0LnBhY2thZ2VJZH1lbHNlIHQucHJvZHVjdElkPXQucGFja2FnZUlkfWVsc2UgdC5wcm9kdWN0SWQ9dC5wYWNrYWdlSWQ7cmV0dXJuIHR9Xy5kKHQse3BhcnNlSWRTdHJpbmc6KCk9PnN9KX0sNzgwOTc1KGUsdCxfKXsidXNlIHN0cmljdCI7dmFyIHM7Xy5kKHQse0NoYXJ0QXBpTWVzc2FnZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQ29ubmVjdGVkPSJjb25uZWN0ZWQiLGUuRGlzY29ubmVjdGVkPSJkaXNjb25uZWN0ZWQiLGUuUmVjb25uZWN0QmFpbG91dD0icmVjb25uZWN0X2JhaWxvdXQifShzfHwocz17fSkpfSwzMDkwNTIoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7UVVPVEVfRklFTERTOigpPT5pLFFVT1RFX0ZJRUxEU19DQUNIRTooKT0+bn0pO3ZhciBzPV8oMTM4NjM4KQo7Y29uc3QgaT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwic2hvcnRfbmFtZSIsIndlYl9zaXRlX3VybCIsInByb19wZXJtIiwidGltZXpvbmUiLCJjdXJyZW50X3Nlc3Npb24iLCJzZXNzaW9uX2hvbGlkYXlzIiwibGFzdF9wcmljZSIsImxwX3RpbWUiLCJzdWJzZXNzaW9ucyIsInByZXZfY2xvc2VfcHJpY2UiLCJvcGVuX3ByaWNlIiwiaGlnaF9wcmljZSIsImxvd19wcmljZSIsInByaWNlXzUyX3dlZWtfaGlnaCIsInByaWNlXzUyX3dlZWtfbG93IiwiYXNrIiwiYXNrX3NpemUiLCJiaWQiLCJiaWRfc2l6ZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsIm5jaCIsIm5jaHAiLCJudGMiLCJudGNfdGltZSIsImRhdGFfZnJlcXVlbmN5IiwicmVmZXJlbmNlLWxhc3QtcGVyaW9kLXN0YXJ0IiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJ3ZWJfc2l0ZV91cmwiLCJmaWdpIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwicm9vdCIsImRlc2NyaXB0aW9uIiwiZXhjaGFuZ2UiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJ0eXBlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJpc190cmFkYWJsZSIsInNlY3RvciIsInR5cGVzcGVjcyIsInZpc2libGUtcGxvdHMtc2V0IiwiaW5kdXN0cnkiLCJjdXJyZW5jeV9pZCIsImxhc3RfcHJpY2UiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidmFyaWFibGVfdGlja19zaXplIiwiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJ2b2x1bWUiLCJhdmVyYWdlX3ZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJtYXJrZXRfY2FwX2NhbGMiLCJ0b3RhbF9yZXZlbnVlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsInByaWNlX2Vhcm5pbmdzX3R0bSIsImJldGFfMV95ZWFyIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5IiwiZGl2aWRlbmRzX3lpZWxkIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3B1YmxpY2F0aW9uX3R5cGVfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcSIsImZvcmVjYXN0X3JhdyIsImxhc3RfcmVsZWFzZV9kYXRlIiwibmV4dF9yZWxlYXNlX2RhdGUiLCJyZWZlcmVuY2VfbGFzdF9wZXJpb2QiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImJ1c2luZXNzX2Rlc2NyaXB0aW9uIiwiZm91bmRlZCIsImNlbyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsImRpdmlkZW5kX3BheW91dF9yYXRpb190dG0iLCJkaXZpZGVuZHNfeWllbGRfY3VycmVudCIsImRpdmlkZW5kX2V4X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfcmVjZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV9yZWNlbnQiLCJkaXZpZGVuZF9hbW91bnRfaCIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV9yZWNlbnQiLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2Z5X2giLCJmaXNjYWxfcGVyaW9kX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcV9oIiwibmV4dF9lYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxIiwiaXNfbmV4dF9lYXJuaW5nc19yZWxlYXNlX2RhdGVfZXN0aW1hdGVkIiwic3ltYm9sLXByaW1hcnluYW1lIiwiY3VycmVuY3lfY29kZSIsInJhdGVzX21jIiwicmF0ZXNfZnkiLCJyYXRlc190dG0iLCJtZWFzdXJlIiwidmFsdWVfdW5pdF9pZCIsInZhbHVlLXVuaXQtaWQiLCJ1cGRhdGVfbW9kZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiIsInNvdXJjZSIsInNvdXJjZTIiLCJmb3JtYXQiLCJyZWNvbW1lbmRhdGlvbl9tYXJrIiwibGFzdF9yZXBvcnRfZnJlcXVlbmN5IiwicHJpY2VfdGFyZ2V0X2VzdGltYXRlc19udW0iLCJwcmljZV90YXJnZXRfYXZlcmFnZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInJlY29tbWVuZGF0aW9uX2J1eSIsInJlY29tbWVuZGF0aW9uX292ZXIiLCJyZWNvbW1lbmRhdGlvbl9ob2xkIiwicmVjb21tZW5kYXRpb25fdW5kZXIiLCJyZWNvbW1lbmRhdGlvbl9zZWxsIiwicmVjb21tZW5kYXRpb25fdG90YWwiLCJwcmljZV90YXJnZXRfaGlnaCIsInByaWNlX3RhcmdldF9sb3ciLCJyYXRlc19wdCIsInJhdGVzX3B0IiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X3JldmVudWVfZnlfaCIsIm5ldF9yZXZlbnVlX2ZxX2giLCJuZXRfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnEiLCJmaXNjYWxfcGVyaW9kX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZmgiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZoX2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZoX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZoX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnkiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmgiLCJyZXZlbnVlX2ZxX2giLCJyZXZlbnVlX2Z5X2giLCJyZXZlbnVlX2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2Z5X2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnEiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnkiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZmgiLCJyZXZlbnVlX3NlZ19ieV9idXNpbmVzc19oIiwicmV2ZW51ZV9zZWdfYnlfcmVnaW9uX2giLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJlYml0ZGFfZnkiLCJlYml0X2Z5IiwibmV0X2luY29tZV9meSIsIm5ldF9pbmNvbWVfZnEiLCJuZXRfaW5jb21lX2ZoIiwidG90YWxfZGVidF9meV9oIiwidG90YWxfZGVidF9mcV9oIiwidG90YWxfZGVidF9maF9oIiwiZnJlZV9jYXNoX2Zsb3dfZnlfaCIsImZyZWVfY2FzaF9mbG93X2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19maF9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2Z5X2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnFfaCIsImNhc2hfbl9lcXVpdmFsZW50c19maF9oIiwidG90YWxfY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19mcSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnEiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2Z5IiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwibG9hbnNfbmV0X2Z5IiwibG9hbnNfbmV0X2Z5X2giLCJsb2Fuc19uZXRfZnFfaCIsImxvYW5zX25ldF9maF9oIiwidG90YWxfZGVwb3NpdHNfZnkiLCJ0b3RhbF9kZXBvc2l0c19meV9oIiwidG90YWxfZGVwb3NpdHNfZnFfaCIsInRvdGFsX2RlcG9zaXRzX2ZoX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19meSIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsInByaWNlX2Vhcm5pbmdzX2ZxX2giLCJwcmljZV9lYXJuaW5nc19meV9oIiwicHJpY2VfZWFybmluZ3NfZmhfaCIsInByaWNlX3NhbGVzX2ZxX2giLCJwcmljZV9zYWxlc19meV9oIiwicHJpY2Vfc2FsZXNfZmhfaCIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiaXNpbi1kaXNwbGF5ZWQiLCJjdXNpcCIsImNmaV9jb2RlIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwid2Vic2l0ZSIsImRvYyIsImV4cGxvcmVyIiwic291cmNlcyIsImNvbnRyYWN0cyIsImNyeXB0b19jb21tb25fY2F0ZWdvcmllcyIsImNyeXB0b19hc3NldCIsImNvbW11bml0eSIsImRpdmlkZW5kc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiLCJmaW5hbmNpYWxzX2F2YWlsYWJpbGl0eSIsImRvY3VtZW50cyIsImV0Zl9hc3NldF90eXBlX2V4cG9zdXJlIiwiZXRmX3JlZ2lvbl9leHBvc3VyZSIsInRvcF9ob2xkaW5ncyIsInVuaXQtaWQiLCJvcHRpb25zLWluZm8iLCJvcHRpb24tdHlwZSIsImludGVyZXN0X2luY29tZV9meSIsImludGVyZXN0X2luY29tZV9mcSIsImludGVyZXN0X2luY29tZV9maCIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnkiLCJub25faW50ZXJlc3RfaW5jb21lX2ZxIiwibm9uX2ludGVyZXN0X2luY29tZV9maCIsImludGVyZXN0X2V4cGVuc2VfZnkiLCJpbnRlcmVzdF9leHBlbnNlX2ZxIiwiaW50ZXJlc3RfZXhwZW5zZV9maCIsImxvYW5fbG9zc19wcm92aXNpb25fZnkiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZxIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9maCIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2Z5Iiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnEiLCJub25faW50ZXJlc3RfZXhwZW5zZV9maCIsIm5vbl9vcGVyX2luY29tZV9meSIsIm5vbl9vcGVyX2luY29tZV9mcSIsIm5vbl9vcGVyX2luY29tZV9maCIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnkiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZxIiwidW51c3VhbF9leHBlbnNlX2luY19maCIsInByZXRheF9pbmNvbWVfZnkiLCJwcmV0YXhfaW5jb21lX2ZxIiwicHJldGF4X2luY29tZV9maCIsImluY29tZV90YXhfZnkiLCJpbmNvbWVfdGF4X2ZxIiwiaW5jb21lX3RheF9maCIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnkiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZxIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9maCIsInRvdGFsX25vbl9vcGVyX2luY29tZV9meSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9mcSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9maCIsIm9wZXJfaW5jb21lX2Z5Iiwib3Blcl9pbmNvbWVfZnEiLCJvcGVyX2luY29tZV9maCIsIm9wZXJhdGluZ19leHBlbnNlc19meSIsIm9wZXJhdGluZ19leHBlbnNlc19mcSIsIm9wZXJhdGluZ19leHBlbnNlc19maCIsImNvc3Rfb2ZfZ29vZHNfZnkiLCJjb3N0X29mX2dvb2RzX2ZxIiwiY29zdF9vZl9nb29kc19maCIsImVxdWl0eV9pbl9lYXJuaW5nc19meSIsImVxdWl0eV9pbl9lYXJuaW5nc19mcSIsImVxdWl0eV9pbl9lYXJuaW5nc19maCIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9meSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9maCIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2Z5IiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnEiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19maCIsImZyb250X2NvbnRyYWN0IiwibWluX2NvbnRyYWN0IiwicG9pbnR2YWx1ZSIsInVuaXRfaWQiLCJleHBpcmF0aW9uIiwiYXVtIiwiYXNzZXRfY2xhc3MiLCJmb2N1cyIsImV4cGVuc2VfcmF0aW8iLCJsYXVuY2hfZGF0ZSIsImlzc3VlciIsImJyYW5kIiwiaG9tZXBhZ2UiLCJpbmRleF90cmFja2VkIiwiYWN0aXZlbHlfbWFuYWdlZCIsImZ1bmRfdmlld19tb2RlcyIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9maCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9mcSIsInRvdGFsX2RlYnRfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9maCIsIm1pbm9yaXR5X2ludGVyZXN0X2ZxIiwiY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZoIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZxIiwiZW50ZXJwcmlzZV92YWx1ZV9jdXJyZW50IiwiZXRmX2hvbGRpbmdzX2NvdW50IiwiY29udHJhY3QtZGVzY3JpcHRpb24iLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiLCJhbGxfdGltZV9oaWdoIiwiYWxsX3RpbWVfaGlnaF9kYXkiLCJhbGxfdGltZV9sb3ciLCJhbGxfdGltZV9sb3dfZGF5Iiwib3V0c3RhbmRpbmdfYW1vdW50Iiwibm9taW5hbF92YWx1ZSIsImRlbm9tX21pbiIsImN1cnJlbnRfY291cG9uIiwiY291cG9uX3R5cGVfZ2VuZXJhbCIsImNvdXBvbl9mcmVxdWVuY3kiLCJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5LWRhdGUiLCJkYXlzX3RvX21hdHVyaXR5IiwiYm9uZF9pc3N1ZXIiLCJpc3N1ZV9kYXRlIiwiYm9uZF9pc3N1ZXJfc3RvY2tfc3ltYm9sIiwidG90YWxfaXNzdWVkX2Ftb3VudCIsInBhaWRfYW1vdW50IiwiYm9uZF9zbnBfcmF0aW5nX2x0X2giLCJwbGFjZW1lbnRfdHlwZSIsImR1cmF0aW9uX3R5cGUiLCJtYXR1cml0eV90eXBlIiwib2ZmZXJfdHlwZSIsInJlZGVtcHRpb25fdHlwZSIsImNvbnZlcnNpb25fb3B0aW9uIiwic2lua2luZ19mdW5kIiwib3duZXJzaGlwX2Zvcm0iLCJkYWlseS1zdW1tYXJ5LWFzdCIsImlzc3VlX3N0YXR1cyIsImNvdXBvbl9oIiwic2lua2luZ19mdW5kX25leHRfZGF0ZSIsInNpbmtpbmdfZnVuZF9taW5fYW1vdW50X25leHQiLCJjYWxsX25leHRfZGF0ZSIsInJlZGVtcHRpb25zX2giLCJjYWxsX25vdGljZV9kYXlzIiwicHV0X25leHRfZGF0ZSIsInB1dF9ub3RpY2VfZGF5c19taW4iLCJzZW5pb3JpdHlfbGV2ZWwiLCJpbmZsYXRpb25fcHJvdGVjdGlvbiIsInBsZWRnZV9zdGF0dXMiLCJib25kX2lzc3Vlcl9jb3VudHJ5X29mX3Jpc2siLCJib25kX2lzc3Vlcl9jcl9wYXJlbnQiLCJjcmVkaXRfZW5oYW5jZW1lbnRfdHlwZSIsImNyZWRpdF9lbmhhbmNlbWVudF9zdGF0dXMiLCJ1c2Vfb2ZfcHJvY2VlZHMiLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX2x0X2giLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX3N0X2giLCJib25kX2FnZW50c190ciIsImZpcnN0X2Jhcl90aW1lXzFkIiwiZmluYW5jaWFsLWluZGljYXRvci1pZCIsImV4Y2hhbmdlLWluZm8iLCJ1bmRlcmx5aW5nLXN5bWJvbCIsInN0cmlrZSIsImxvdHNpemUiLCJvcHRpb24tc3R5bGUiLCJoYXNfYm9uZHMiLCJvcGVuX3RpbWUiLCJoYXNfYm9uZHMiLCJkZXhfYnV5c18xNW0iLCJkZXhfc2VsbHNfMTVtIiwiZGV4X2J1eV92b2x1bWVfMTVtIiwiZGV4X3NlbGxfdm9sdW1lXzE1bSIsImRleF9idXllcnNfMTVtIiwiZGV4X3NlbGxlcnNfMTVtIiwiZGV4X2J1eXNfMWgiLCJkZXhfc2VsbHNfMWgiLCJkZXhfYnV5X3ZvbHVtZV8xaCIsImRleF9zZWxsX3ZvbHVtZV8xaCIsImRleF9idXllcnNfMWgiLCJkZXhfc2VsbGVyc18xaCIsImRleF9idXlzXzRoIiwiZGV4X3NlbGxzXzRoIiwiZGV4X2J1eV92b2x1bWVfNGgiLCJkZXhfc2VsbF92b2x1bWVfNGgiLCJkZXhfYnV5ZXJzXzRoIiwiZGV4X3NlbGxlcnNfNGgiLCJkZXhfYnV5c18xMmgiLCJkZXhfc2VsbHNfMTJoIiwiZGV4X2J1eV92b2x1bWVfMTJoIiwiZGV4X3NlbGxfdm9sdW1lXzEyaCIsImRleF9idXllcnNfMTJoIiwiZGV4X3NlbGxlcnNfMTJoIiwiZGV4X2J1eXNfMjRoIiwiZGV4X3NlbGxzXzI0aCIsImRleF9idXlfdm9sdW1lXzI0aCIsImRleF9zZWxsX3ZvbHVtZV8yNGgiLCJkZXhfYnV5ZXJzXzI0aCIsImRleF9zZWxsZXJzXzI0aCIsImRleF9jb252ZXJ0ZWRfc3ltYm9sIiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCIsImRleF9jcmVhdGVkX3RpbWUiLCJkZXhfY3VycmVuY3kiLCJkZXhfY3VycmVuY3lfbG9nb2lkIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXNfdXJscyIsImJsb2NrY2hhaW5fYWRkcmVzc2VzIiwiYmFzZV9jdXJyZW5jeSIsImlwb19vZmZlcl9zdGF0dXMiLCJoYXNfaXBvX2RldGFpbHNfdmlzaWJsZSIsImlwb19wcmljZV9yYW5nZV91c2RfbWF4IiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9taW4iLCJpcG9fb2ZmZXJfcHJpY2VfdXNkIiwiaXBvX29mZmVyZWRfc2hhcmVzIiwiaXBvX2RlYWxfYW1vdW50X3VzZCIsImlwb19hbm5vdW5jZW1lbnRfZGF0ZSIsImlwb19vZmZlcl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfYmVnaW5fZGF0ZSIsImF2YWlsYWJsZV9kYXRhX3JhbmdlX2VuZF9kYXRlIiwiaGFzX2V0Zl9vd25lcnNoaXAiLCJzeW1ib2xfcHJpbWFyeV9saXN0aW5nIiwibWV0cmljX3l0bSIsIm1ldHJpY3MiLCJlcHNfZXN0aW1hdGVzX2Z5X2giLCJlcHNfZXN0aW1hdGVzX2ZxX2giLCJlcHNfZXN0aW1hdGVzX2ZoX2giLCJyZXZlbnVlX2VzdGltYXRlc19meV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZnFfaCIsInJldmVudWVfZXN0aW1hdGVzX2ZoX2giLCJkcHNfZXN0aW1hdGVzX2Z5X2giLCJkcHNfZXN0aW1hdGVzX2ZxX2giLCJkcHNfZXN0aW1hdGVzX2ZoX2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19meV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZnFfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2ZoX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2Z5X2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZxX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZoX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2Z5X2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZxX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZoX2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19meV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZnFfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2ZoX2giLCJlYml0ZGFfZXN0aW1hdGVzX2Z5X2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZxX2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZoX2giLCJlYml0X2VzdGltYXRlc19meV9oIiwiZWJpdF9lc3RpbWF0ZXNfZnFfaCIsImViaXRfZXN0aW1hdGVzX2ZoX2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19meV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZnFfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZxX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19meV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2ZoX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZnlfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19mcV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZnlfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19mcV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZnlfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZoX2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9meV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2ZoX2giLCJmb3JlY2FzdF9hdmFpbGFiaWxpdHkiXSksbj1uZXcgY2xhc3N7CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2NhY2hlPW5ldyBNYXAsdGhpcy5fdGltZXM9bmV3IE1hcCx0aGlzLl9maWVsZHM9Wy4uLmUuZmllbGRzXX11cGRhdGUoZSx0LF8pe2NvbnN0IGk9KDAscy5lbnN1cmVEZWZpbmVkKShlLnN5bWJvbG5hbWUpLG49RGF0ZS5ub3coKTtpZih0aGlzLl9jYWNoZS5oYXMoaSl8fHRoaXMuX2NhY2hlLnNldChpLHtzeW1ib2xuYW1lOmksc3RhdHVzOmUuc3RhdHVzLHZhbHVlczp7fX0pLHRoaXMuX3RpbWVzLmhhcyhpKXx8dGhpcy5fdGltZXMuc2V0KGksbmV3IE1hcCksImVycm9yIj09PWUuc3RhdHVzKXJldHVybjtjb25zdCBhPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2FjaGUuZ2V0KGkpKSxyPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fdGltZXMuZ2V0KGkpKTthLnN0YXR1cz1lLnN0YXR1cztmb3IoY29uc3QgcyBvZiB0aGlzLl9maWVsZHMpdC5oYXMocykmJihffHx2b2lkIDAhPT1lLnZhbHVlc1tzXSkmJihhLnZhbHVlc1tzXT1lLnZhbHVlc1tzXSxyLnNldChzLG4pKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKT8/bnVsbH1nZXRUaW1lcyhlKXtyZXR1cm4gdGhpcy5fdGltZXMuZ2V0KGUpPz9udWxsfWZpZWxkcygpe3JldHVybiB0aGlzLl9maWVsZHN9fSh7ZmllbGRzOml9KX0sOTI3NTkzKGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse1F1b3RlU2Vzc2lvbk11bHRpcGxleGVyOigpPT5mfSk7dmFyIHM9Xyg1ODcxNjgpLGk9Xyg1NDc4NTEpLG49XygzNTI4MzcpLGE9XygxMzg2MzgpLHI9XygyMjEwNjEpLG89Xyg5NDgzODApLGw9Xyg5NjQ0ODYpLGM9XygxNTAxNTApLGg9XygzMDkwNTIpLGQ9XygzNjc5NDYpO2xldCB1PSExO3ZhciBtPV8oOTcwNzc0KTtjb25zdCBwPSgwLHIuZ2V0TG9nZ2VyKSgiV2ViY2hhcnRDbGllbnQuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIiKTtjbGFzcyBme2NvbnN0cnVjdG9yKGUpe3RoaXMub25Db25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMub25EaXNjb25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9zdWJzY3JpcHRpb25zPXt9LHRoaXMuX3N5bWJvbF9kYXRhPXt9LHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHM9KDAsaS5kZWZhdWx0KSh0aGlzLl91cGRhdGVGYXN0U3ltYm9scywyNTApLHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGE9e30sdGhpcy5fZXh0ZW5zaW9ucz17fSx0aGlzLm9wdGlvbnM9e3Rocm90dGxlVGltZW91dDoxMjUsLi4uZX0sdGhpcy5fc2Vzc2lvbj1uZXcgbS5RdW90ZVNlc3Npb24oZS5hcGksWyJtdWx0aXBsZXhlciIsZS5uYW1lLCgwLGMucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LmZvcm1hdHRlciYmKHRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyPXRoaXMub3B0aW9ucy5leHRlbnNpb25zLmZvcm1hdHRlcih0aGlzKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LnNuYXBzaG90JiYodGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5zbmFwc2hvdCh0aGlzKSksdGhpcy5jb25uZWN0KCl9ZGVzdHJveSgpe3RoaXMuX3Nlc3Npb24uZGVzdHJveSgpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCl9aW50ZXJuYWxzKCl7cmV0dXJue3Nlc3Npb246KCk9PnRoaXMuX3Nlc3Npb24sc3Vic2NyaXB0aW9uczooKT0+dGhpcy5fc3Vic2NyaXB0aW9ucyxkYXRhOigpPT50aGlzLl9zeW1ib2xfZGF0YX19Y29ubmVjdCgpe3RoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLnF1b3RlSGFuZGxlci5iaW5kKHRoaXMpKX1xdW90ZUhhbmRsZXIoZSl7Y29uc3R7bWV0aG9kOnQscGFyYW1zOl99PWU7c3dpdGNoKHQpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5vbkNvbm5lY3RlZCgpKTticmVhaztjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpicmVhaztjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKF9bMF0pO2JyZWFrO2Nhc2UicXVvdGVfY29tcGxldGVkIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKHtzeW1ib2xuYW1lOl9bMF0sY29tcGxldGU6cGVyZm9ybWFuY2Uubm93KCksdmFsdWVzOnt9fSk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCkpfX1vbkNvbm5lY3RlZCgpe3RoaXMuc2V0RmllbGRzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9zeW1ib2xfZGF0YSk7ZS5sZW5ndGgmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhlKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpLHRoaXMub25Db25uZWN0LmZpcmUoKX1zZXRGaWVsZHMoKXtjb25zdHtmaWVsZHM6ZX09dGhpcy5vcHRpb25zO2UmJmUubGVuZ3RoJiZ0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfW9uU3ltYm9sRGF0YShlKXt0cnl7ZS5zdGF0dXMmJmguUVVPVEVfRklFTERTX0NBQ0hFLnVwZGF0ZShlLGguUVVPVEVfRklFTERTLCExKX1jYXRjaChlKXt9Y29uc3QgdD1lLnN5bWJvbG5hbWU7bGV0IF89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XTt1JiYoZGVsZXRlIGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2Usdm9pZCAwIT09ZS52YWx1ZXMucmVndWxhcl9jbG9zZSYmKGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U9ZS52YWx1ZXMucmVndWxhcl9jbG9zZSkpLF98fChfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbdF09e2ZuRGlzcGF0Y2g6KDAscy5kZWZhdWx0KSh0aGlzLmRpc3BhdGNoU3ltYm9sRGF0YS5iaW5kKHRoaXMpLHRoaXMub3B0aW9ucy50aHJvdHRsZVRpbWVvdXQpfSksXy5jYWNoZT8oMCxsLmRlZXBFeHRlbmQpKF8uY2FjaGUsZSk6Xy5jYWNoZT1lLF8uZm5EaXNwYXRjaCh0KX1kaXNwYXRjaFN5bWJvbERhdGEoZSl7Y29uc3QgdD10aGlzLl9zeW1ib2xfZGF0YVtlXSxfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUKO2lmKGRlbGV0ZSB0aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW2VdLmNhY2hlLHRoaXMuX3N5bWJvbF9kYXRhW2VdKXsoMCxsLmRlZXBFeHRlbmQpKHQsXyksdC52YWx1ZXMmJnRoaXMuX3BhcnNlVXBkYXRlTW9kZSh0LnZhbHVlcyk7Zm9yKGNvbnN0IHMgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW3NdO2lmKGkuaGFzKGUpKXtbLi4uKDAsYS5lbnN1cmVEZWZpbmVkKShpLmdldChlKSldLmZvckVhY2goKGU9PntlKHQsXyl9KSl9fX19c3Vic2NyaWJlKGUsdCxfKXt0aGlzLl9zdWJzY3JpcHRpb25zW2VdPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV18fG5ldyBNYXA7Y29uc3Qgcz10aGlzLl9zdWJzY3JpcHRpb25zW2VdO3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IGk9W107dC5mb3JFYWNoKChlPT57dGhpcy5fc3ltYm9sX2RhdGFbZV0/cyYmcy5oYXMoZSl8fHRoaXMuX3N5bWJvbF9kYXRhW2VdLnN1YnNjcmliZXJzX2NvdW50Kys6KHRoaXMuX3N5bWJvbF9kYXRhW2VdPXtzdWJzY3JpYmVyc19jb3VudDoxfSxpLnB1c2goZSkpLHMuaGFzKGUpfHxzLnNldChlLFtdKTtjb25zdCB0PSgwLGEuZW5zdXJlRGVmaW5lZCkocy5nZXQoZSkpO3QucHVzaChfKSx0LmZhc3Q9ITAsdGhpcy5fc3ltYm9sX2RhdGFbZV0mJnRoaXMuX3N5bWJvbF9kYXRhW2VdLnZhbHVlcyYmXyh0aGlzLl9zeW1ib2xfZGF0YVtlXSx0aGlzLl9zeW1ib2xfZGF0YVtlXSl9KSksaS5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGkpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9dW5zdWJzY3JpYmUoZSx0LF8pe3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IHM9dGhpcy5fc3Vic2NyaXB0aW9uc1tlXSxpPVtdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl07aWYocyYmcy5oYXMocikpe2lmKF8pe2NvbnN0IGU9KDAsYS5lbnN1cmVEZWZpbmVkKShzLmdldChyKSksdD1lLmluZGV4T2YoXyk7fnQmJmUuc3BsaWNlKHQsMSksZS5sZW5ndGh8fHMuZGVsZXRlKHIpfWVsc2Ugcy5kZWxldGUocik7MD09PXMuc2l6ZSYmZGVsZXRlIHRoaXMuX3N1YnNjcmlwdGlvbnNbZV0sdGhpcy5fc3ltYm9sX2RhdGEuaGFzT3duUHJvcGVydHkocikmJihzLmhhcyhyKXx8dGhpcy5fc3ltYm9sX2RhdGFbcl0uc3Vic2NyaWJlcnNfY291bnQtLSx0aGlzLl9zeW1ib2xfZGF0YVtyXS5zdWJzY3JpYmVyc19jb3VudHx8KGRlbGV0ZSB0aGlzLl9zeW1ib2xfZGF0YVtyXSxpLnB1c2gocikpKX1lbHNlIHAubG9nV2FybihgQ2hlY2sgeW91ciBzdWIvdW5zdWIgbG9va3MgaXQgaXMgbGVha2luZyAoY2xpZW50X2lkPSR7ZX0sIHN5bWJvbD0ke3J9KWApfWkubGVuZ3RoJiZ0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhpKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpfXNldEZhc3RTeW1ib2xzKGUsdCl7aWYodGhpcy5fc3Vic2NyaXB0aW9uc1tlXSl7Y29uc3QgXz10aGlzLl9zdWJzY3JpcHRpb25zW2VdLHM9QXJyYXkuZnJvbShfLmtleXMoKSk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDsrK2Upe2NvbnN0IGk9c1tlXTsoMCxhLmVuc3VyZURlZmluZWQpKF8uZ2V0KGkpKS5mYXN0PS0xIT09dC5pbmRleE9mKGkpfX10aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCl9c25hcHNob3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3Q/UHJvbWlzZS5yZWplY3QoIk5vIGZvcm1hdHRlciBleHRlbnNpb24gcHJvdmlkZWQiKTp0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90KGUpfWZvcm1hdHRlcihlLHQpe3JldHVybiB2b2lkIDA9PT10aGlzLl9leHRlbnNpb25zLmZvcm1hdHRlcj9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyKGUsdCl9X3VwZGF0ZUZhc3RTeW1ib2xzKCl7aWYoIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47Y29uc3QgZT10aGlzLl9mYXN0U3ltYm9scygpOzA9PT1lLmxlbmd0aD90aGlzLl9zZXNzaW9uLnF1b3RlSGliZXJuYXRlQWxsKCk6dGhpcy5fc2Vzc2lvbi5xdW90ZUZhc3RTeW1ib2xzKGUpfV9mYXN0U3ltYm9scygpe2xldCBlPVtdO2Zvcihjb25zdCB0IGluIHRoaXMuX3N1YnNjcmlwdGlvbnMpe2NvbnN0IF89dGhpcy5fc3Vic2NyaXB0aW9uc1t0XSxzPUFycmF5LmZyb20oXy5rZXlzKCkpO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7Kyt0KXtjb25zdCBpPXNbdF07KDAsYS5lbnN1cmVEZWZpbmVkKShfLmdldChpKSkuZmFzdCYmZS5wdXNoKGkpfX1yZXR1cm4gZT0oMCxuLmRlZmF1bHQpKGUpLGV9X3BhcnNlVXBkYXRlTW9kZShlKXsoMCxkLm5vcm1hbGl6ZVVwZGF0ZU1vZGUpKGUpfX19LDk3MDc3NChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtRdW90ZVNlc3Npb246KCk9Pml9KTt2YXIgcz1fKDE1MDE1MCk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQ9KDAscy5yYW5kb21IYXNoKSgpKXt0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSx0aGlzLl9nbG9iYWxIYW5kbGVyPW51bGwsdGhpcy5fY2hhcnRBcGk9ZSx0aGlzLl9zZXNzaW9uaWQ9InFzXyIrdH1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQmJih0aGlzLl9jaGFydEFwaS5xdW90ZURlbGV0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSl9Y29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3RlZCgpfWNvbm5lY3QoZSl7dGhpcy5fZ2xvYmFsSGFuZGxlcj1lLHRoaXMuX2NoYXJ0QXBpLmNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkLHRoaXMpLHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fY2hhcnRBcGkuZGlzY29ubmVjdCgpfXF1b3RlQWRkU3ltYm9scyhlKXt0aGlzLl9jaGFydEFwaS5xdW90ZUFkZFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlUmVtb3ZlU3ltYm9scyhlKXsKdGhpcy5fY2hhcnRBcGkucXVvdGVSZW1vdmVTeW1ib2xzKHRoaXMuX3Nlc3Npb25pZCxlKX1xdW90ZUZhc3RTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlRmFzdFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlU2V0RmllbGRzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlU2V0RmllbGRzKHRoaXMuX3Nlc3Npb25pZCxlKX1vbk1lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWR8fCh0aGlzLl9jaGFydEFwaS5xdW90ZUNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMCk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX3Nlc3Npb25zdGFydGVkPSExfXRoaXMuX2dsb2JhbEhhbmRsZXI/LihlKX1xdW90ZUhpYmVybmF0ZUFsbCgpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlSGliZXJuYXRlQWxsKHRoaXMuX3Nlc3Npb25pZCl9fX0sNjYxODU4KGUsdCxfKXtlLmV4cG9ydHM9W3tuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDM1MDE0NikpLHZhbHVlOiIiLHNlYXJjaF90eXBlOiJ1bmRlZmluZWQifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1NTU1MTApKSx2YWx1ZToic3RvY2tzIixzZWFyY2hfdHlwZToic3RvY2tzIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTY0OTE3KSksdmFsdWU6ImZ1bmRzIixzZWFyY2hfdHlwZToiZnVuZHMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1MDUwNzkpKSx2YWx1ZToiZnV0dXJlcyIsc2VhcmNoX3R5cGU6ImZ1dHVyZXMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg5Nzk5NykpLHZhbHVlOiJmb3JleCIsc2VhcmNoX3R5cGU6ImZvcmV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oMzg0NTk3KSksdmFsdWU6ImNmZCIsc2VhcmNoX3R5cGU6ImNmZCJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDY1NTIzNSkpLHZhbHVlOiJiaXRjb2luLGNyeXB0byIsc2VhcmNoX3R5cGU6ImNyeXB0byJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDkyNzQxMSkpLHZhbHVlOiJpbmRleCIsc2VhcmNoX3R5cGU6ImluZGV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNzY1NDQwKSksdmFsdWU6ImJvbmQiLHNlYXJjaF90eXBlOiJib25kIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTQ4MzIyKSksdmFsdWU6ImVjb25vbWljIixzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XX0sNjA2MTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7QXV0aFRva2VuOigpPT5vfSk7dmFyIHM9XygyMjEwNjEpLGk9Xyg5NDgzODApLG49XygzODQwMTcpO2NvbnN0IGE9KDAscy5nZXRMb2dnZXIpKCJDaGFydEFwaS5BdXRoVG9rZW4iLHtjb2xvcjoiIzE3MyJ9KTt2YXIgcjshZnVuY3Rpb24oZSl7ZVtlLkV4cGlyYXRpb25SZXNlcnZlPTNlNV09IkV4cGlyYXRpb25SZXNlcnZlIixlW2UuTWF4UmV0cmllcz0zXT0iTWF4UmV0cmllcyIsZVtlLlJldHJ5RGVsYXlNdWx0aXBsaWVyPTFlM109IlJldHJ5RGVsYXlNdWx0aXBsaWVyIixlW2UuRmFsbGJhY2tFeHBpcmF0aW9uPTE0NGU1XT0iRmFsbGJhY2tFeHBpcmF0aW9uIixlW2UuTWluRXhwaXJhdGlvbj0zZTVdPSJNaW5FeHBpcmF0aW9uIn0ocnx8KHI9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKCl7dGhpcy5pbnZhbGlkYXRlZD1uZXcgaS5EZWxlZ2F0ZSx0aGlzLl90aWQ9MCx0aGlzLl9vbkdvaW5nQXV0aFRva2VuUmVxdWVzdD1udWxsLHRoaXMuX29uT25saW5lPSgpPT57YS5sb2dJbmZvKCJPbmxpbmUsIG5ldyB0b2tlbiB3aWxsIGJlIGZldGNoZWQgaWYgbmVlZGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpfSx0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2U9KCk9PnsidmlzaWJsZSI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJihhLmxvZ0luZm8oIlBhZ2UgdmlzaWJsZSwgbmV3IHRva2VuIHNob3VsZCBiZSBmZXRjaGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpKX0sd2luZG93LmxvZ2luU3RhdGVDaGFuZ2V8fCh3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgaS5EZWxlZ2F0ZSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKGU9PntlfHwodGhpcy5fc2V0KHdpbmRvdy51c2VyLmF1dGhfdG9rZW4pLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpKX0pKSx0aGlzLl9zZXQod2luZG93LnVzZXIuYXV0aF90b2tlbiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5fb25PbmxpbmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eUNoYW5nZSl9ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uT25saW5lKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2UpfWdldChlKXtyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/IWUmJnRoaXMuY3VycmVudFRva2VuSXNWYWxpZCgpPyhhLmxvZ0luZm8oYFVzaW5nIGNhY2hlZCB0b2tlbiAke3RoaXMuX2NhY2hlLnRva2VufWApLFByb21pc2UucmVzb2x2ZSh0aGlzLl9jYWNoZS50b2tlbikpOndpbmRvdy5uYXZpZ2F0b3Iub25MaW5lP3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0fHw9dGhpcy5fZmV0Y2goQm9vbGVhbihlKSwwKS50aGVuKChlPT57CmlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZCl0aHJvdyBuZXcgRXJyb3IoIlVzZXIgbG9nZ2VkIG91dCB3aGlsZSB0aGUgcmVxdWVzdCB3YXMgaW4gZmxpZ2h0Iik7cmV0dXJuIHRoaXMuX3NldChlKSxlfSkpLmNhdGNoKChlPT4oYS5sb2dFcnJvcihgRXJyb3IgZmV0Y2hpbmcgbmV3IHRva2VuOiAke2UmJmUubWVzc2FnZX1gKSwiIikpKS5maW5hbGx5KCgoKT0+e3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0PW51bGx9KSk6KGEubG9nV2FybigiT2ZmbGluZSwgY2Fubm90IGZldGNoIG5ldyB0b2tlbiwgdXNpbmcgY2FjaGVkIHRva2VuIiksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NhY2hlLnRva2VuKSk6UHJvbWlzZS5yZXNvbHZlKCIiKX1yZXNldCgpe3RoaXMuX3NldCh2b2lkIDApLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpfWN1cnJlbnRUb2tlbklzVmFsaWQoKXtyZXR1cm4hd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCEhdGhpcy5fY2FjaGUmJihwZXJmb3JtYW5jZS5ub3coKTx0aGlzLl9jYWNoZS5tb25vVmFsaWRUaHJ1JiZEYXRlLm5vdygpPHRoaXMuX2NhY2hlLndhbGxWYWxpZFRocnUpfV9zZXQoZSl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJnZvaWQgMCE9PWUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7aWYoIiI9PT1lKXJldHVybiAxNDRlNTt0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGF0b2IoZS5zcGxpdCgiLiIpWzFdLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSksXz0xZTMqKHQuZXhwLXQuaWF0KTtpZighaXNGaW5pdGUoXykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cGlyYXRpb24iKTtyZXR1cm4gTWF0aC5tYXgoXy0zZTUsM2U1KX1jYXRjaCh0KXtyZXR1cm4gYS5sb2dFcnJvcihgJHtlfSBpcyBpbnZhbGlkOiAke3QubWVzc2FnZX1gKSwxNDRlNX19KGUpO3RoaXMuX2NhY2hlPXt0b2tlbjplLG1vbm9WYWxpZFRocnU6cGVyZm9ybWFuY2Uubm93KCkrdCx3YWxsVmFsaWRUaHJ1OkRhdGUubm93KCkrdH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksdGhpcy5fdGlkPXNldFRpbWVvdXQoKCgpPT57d2luZG93Lm5hdmlnYXRvci5vbkxpbmU/dGhpcy5yZXNldCgpOmEubG9nSW5mbygiT2ZmbGluZSwgY2FjaGUgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQiKX0pLHQpLGEubG9nSW5mbyhgQ2FjaGVkIGZvciAke3R9IG1zOiAke2V9YCl9ZWxzZSB0aGlzLl9jYWNoZT17dG9rZW46IiIsbW9ub1ZhbGlkVGhydTotMS8wLHdhbGxWYWxpZFRocnU6LTEvMH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksYS5sb2dJbmZvKCJDYWNoZSBkcm9wcGVkIil9X2ZldGNoKGUsdCl7cmV0dXJuIGEubG9nTm9ybWFsKGBGZXRjaGluZyBhIG5ldyB0b2tlbiwgZ3JhYlNlc3Npb249JHtlfWApLCgwLG4uZmV0Y2gpKCIvcXVvdGVfdG9rZW4vIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTplPyJncmFiU2Vzc2lvbj10cnVlIjoiIn0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYFJlc3BvbnNlIHN0YXR1cyBpcyBub3Qgb2s6ICR7ZS5zdGF0dXN9YCk7cmV0dXJuIGUuanNvbigpLnRoZW4oU3RyaW5nKX0pLChfPT57aWYodD49Myl0aHJvdyBfO3JldHVybiBhLmxvZ1dhcm4oIlJlcXVlc3QgZmFpbGVkLCB3aWxsIHJldHJ5IiksZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT5zZXRUaW1lb3V0KHQsMWUzKmUpKSl9KHQpLnRoZW4oKCgpPT50aGlzLl9mZXRjaChlLHQrMSkpKX0pKX1hc3luYyBfdHJ5VG9VcGRhdGVUb2tlbigpe3RoaXMuX2NhY2hlLnRva2VuIT09YXdhaXQgdGhpcy5nZXQoKSYmdGhpcy5pbnZhbGlkYXRlZC5maXJlKCl9fX0sOTMwMDQ1KGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse0pTT05EYXRhSGFuZGxlcjooKT0+YX0pO3ZhciBzPV8oNzgzMzQwKTtmdW5jdGlvbiBpKGUpe3JldHVybntpbmRleDplLmksdmFsdWU6ZS52fX1mdW5jdGlvbiBuKGUpe2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBfPWVbdF07Xy50JiYoXy50dXJuYXJvdW5kPWVbdF0udCksInMiaW4gZVt0XSYmZVt0XS5zJiYhXy5zZXJpZXMmJihfLnNlcmllcz1lW3RdLnMubWFwKGkpKSwic3QiaW4gZVt0XSYmZVt0XS5zdCYmIV8uc2VyaWVzJiYoXy5zZXJpZXM9ZVt0XS5zdC5tYXAoaSkpfX1jbGFzcyBhe3NldF9icm9rZXIoZSl7cmV0dXJuW2VdfXNldF9kYXRhX3F1YWxpdHkoKXtyZXR1cm5bImxvdyJdfXF1b3RlX2NyZWF0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1xdW90ZV9kZWxldGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cXVvdGVfc2V0X2ZpZWxkcyhlLHQpe3JldHVybltlXS5jb25jYXQodCl9cXVvdGVfYWRkX3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX3JlbW92ZV9zeW1ib2xzKGUsdCl7cmV0dXJuW2VdLmNvbmNhdCh0KX1xdW90ZV9mYXN0X3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX2hpYmVybmF0ZV9hbGwoZSl7cmV0dXJuW2VdfWRlcHRoX2NyZWF0ZV9zZXNzaW9uKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWRlcHRoX2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc3ltYm9sKGUsdCl7cmV0dXJuW2UsdF19ZGVwdGhfY2xlYXJfc3ltYm9sKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc2NhbGUoZSx0KXtyZXR1cm5bZSx0XX1jaGFydF9jcmVhdGVfc2Vzc2lvbihlLHQpe3JldHVybltlLHQ/ImRpc2FibGVfc3RhdGlzdGljcyI6IiJdfWNoYXJ0X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1zZXRfYXV0aF90b2tlbihlKXtyZXR1cm5bZV19c2V0X2xvY2FsZShlLHQpe3JldHVybltlLHRdfXN3aXRjaF90aW1lem9uZShlLHQpe3JldHVybltlLHRdfXJlc29sdmVfc3ltYm9sKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWNyZWF0ZV9zZXJpZXMoZSx0LF8scyxpLG4sYSl7cmV0dXJuW2UsdCxfPV98fCIiLHMsaSxuLGFdfXJlbW92ZV9zZXJpZXMoZSx0KXtyZXR1cm5bZSx0XX1tb2RpZnlfc2VyaWVzKGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpLG5dfQpyZXF1ZXN0X21vcmVfZGF0YShlLHQsXyl7cmV0dXJuW2UsdCxfXX1zZXRfZnV0dXJlX3RpY2ttYXJrc19tb2RlKGUsdCl7cmV0dXJuW2UsdF19cmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhKGUpe3JldHVybltlXX1jcmVhdGVfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybltlLHQsXz1ffHwiIixzLGldLmNvbmNhdChuKX1jcmVhdGVfY2hpbGRfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybiB0aGlzLmNyZWF0ZV9zdHVkeShlLHQsXyxzLGksbil9cmVtb3ZlX3N0dWR5KGUsdCl7cmV0dXJuW2UsdF19bW9kaWZ5X3N0dWR5KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfW5vdGlmeV9zdHVkeShlLHQsXyxzKXtyZXR1cm5bZSx0LF89X3x8IiIsc119Y3JlYXRlX3BvaW50c2V0KGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpXS5jb25jYXQobil9bW9kaWZ5X3BvaW50c2V0KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfXJlbW92ZV9wb2ludHNldChlLHQpe3JldHVybltlLHRdfXJlcXVlc3RfbW9yZV90aWNrbWFya3MoZSx0LF8pe3JldHVybltlLHQsX119Z2V0X2ZpcnN0X2Jhcl90aW1lKGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9jcmVhdGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cmVwbGF5X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1yZXBsYXlfcmVzZXQoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X3N0YXJ0KGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9zdG9wKGUsdCl7cmV0dXJuW2UsdF19cmVwbGF5X3N0ZXAoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2FkZF9zZXJpZXMoZSx0LF8scyl7cmV0dXJuW2UsdCxfLHNdfXJlcGxheV9yZW1vdmVfc2VyaWVzKGUsdCxfLHMpe3JldHVybltlLHQsXyxzXX1yZXBsYXlfc2V0X3Jlc29sdXRpb24oZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2dldF9kZXB0aChlLHQsXyxzKXtyZXR1cm5bZSx0LF8sc119Y29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKSxfPXZvaWQgMD09PWUuaW5kZXhfZGlmZj9bXTplLmluZGV4X2RpZmYubWFwKChlPT4oe29sZDplWzBdLG5ldzplWzFdfSkpKTtyZXR1cm57Li4uZSxtYXJrczp0LGluZGV4X2RpZmY6XyxjbGVhcjowPT09ZS5jaGFuZ2VzLmxlbmd0aCYmMD09PV8ubGVuZ3RoJiYwPT09dC5sZW5ndGh9fWdldERhdGFVcGRhdGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSl7cmV0dXJuIGUucGFyYW1zWzFdfXByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhlLHQsXyl7Zm9yKGNvbnN0W2ksbl1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgdD0icGxvdHMiaW4gbj9uLnBsb3RzOm4uc2VyaWVzLGE9e2N1c3RvbUlkOmksdHVybmFyb3VuZDpuLnR1cm5hcm91bmQscGxvdHM6dH07Im5zImluIG4mJm4ubnMmJihhLm5vbnNlcmllcz1uLm5zKSwibGJzImluIG4mJm4ubGJzJiYoYS5sYXN0QmFyPXtjbG9zZVRpbWU6bi5sYnMuYmFyX2Nsb3NlX3RpbWV9KTtmb3IoY29uc3QgZSBvZiBhLnBsb3RzKWZvcihjb25zdFt0LF9db2YgT2JqZWN0LmVudHJpZXMoZS52YWx1ZSkpXyYmTWF0aC5hYnMoXyk+PTFlMTAwJiYoZS52YWx1ZVsrdF09dm9pZCAwKTtfKGUsaSx7bWV0aG9kOnMuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlLHBhcmFtczphfSl9fXVucGFjayhlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dC5tJiZ0LnAmJih0Lm1ldGhvZD10Lm0sdC5wYXJhbXM9dC5wLHQudGltZT10LnQpO2NvbnN0IF89dC5wYXJhbXNbMV07c3dpdGNoKHQubWV0aG9kKXtjYXNlInFzZCI6dC5tZXRob2Q9InF1b3RlX3N5bWJvbF9kYXRhIixfLnN5bWJvbG5hbWU9Xy5uLF8uc3RhdHVzPV8ucyxfLnZhbHVlcz1fLnYsXy52YWx1ZXMuY2hhbmdlPV8udi5jaCxfLnZhbHVlcy5sYXN0X3ByaWNlPV8udi5scCxfLnZhbHVlcy5jaGFuZ2VfcGVyY2VudD1fLnYuY2hwLGRlbGV0ZSBfLm4sZGVsZXRlIF8ucyxkZWxldGUgXy52LGRlbGV0ZSBfLnZhbHVlcy5jaCxkZWxldGUgXy52YWx1ZXMubHAsZGVsZXRlIF8udmFsdWVzLmNocDticmVhaztjYXNlImR1Ijp0Lm1ldGhvZD0iZGF0YV91cGRhdGUiLG4oXyk7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjpmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhfKSlfW2VdLnR1cm5hcm91bmQ9X1tlXS50O2JyZWFrO2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6bihfKX1yZXR1cm4gdH1wcmVwYXJlRW5jb2RlTWVzc2FnZShlLHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7bTplLHA6dH0pfXJlcXVlc3RfZGF0YV9wcm9ibGVtcygpe3JldHVybltdfX19LDQ2MzQ0NyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtIYW5kbGVySW5mbzooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LF8pe3RoaXMuaGFuZGxlcj1lLHRoaXMuY3VzdG9tSWQ9dCx0aGlzLnNpbmdsZVNob3Q9X319fSw3ODMzNDAoZSx0LF8peyJ1c2Ugc3RyaWN0Ijt2YXIgcyxpLG47Xy5kKHQse1dlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9PmksV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9Pm4sV2ViY2hhcnRSZXNwb25zZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUmVxdWVzdERhdGFQcm9ibGVtcz0icmVxdWVzdF9kYXRhX3Byb2JsZW1zIixlLlByb3RvY29sRXJyb3I9InByb3RvY29sX2Vycm9yIixlLlByb3RvY29sU3dpdGNoZWQ9InByb3RvY29sX3N3aXRjaGVkIixlLkNyaXRpY2FsRXJyb3I9ImNyaXRpY2FsX2Vycm9yIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlN0dWRpZXNNZXRhZGF0YT0ic3R1ZGllc19tZXRhZGF0YSIsZS5UaW1lU2NhbGVVcGRhdGU9InRpbWVzY2FsZV91cGRhdGUiLGUuVGlja01hcmtVcGRhdGU9InRpY2ttYXJrX3VwZGF0ZSIsZS5EVT0iZHUiLGUuRGF0YVVwZGF0ZT0iZGF0YV91cGRhdGUiLAplLkluZGV4VXBkYXRlPSJpbmRleF91cGRhdGUiLGUuVGltZVNjYWxlQ29tcGxldGVkPSJ0aW1lc2NhbGVfY29tcGxldGVkIixlLlFTRD0icXNkIixlLlF1b3RlTGlzdEZpZWxkPSJxdW90ZV9saXN0X2ZpZWxkcyIsZS5RdW90ZVN5bWJvbERhdGE9InF1b3RlX3N5bWJvbF9kYXRhIixlLlF1b3RlQ29tcGxldGVkPSJxdW90ZV9jb21wbGV0ZWQiLGUuRGVwdGhTeW1ib2xFcnJvcj0iZGVwdGhfc3ltYm9sX2Vycm9yIixlLkRlcHRoU3ltYm9sU3VjY2Vzcz0iZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiLGUuRGVwdGhEYXRhPSJkZCIsZS5EZXB0aERhdGFVcGRhdGU9ImRwdSIsZS5EZXB0aEJhckxhc3RWYWx1ZT0iZGVwdGhfYmFyX2xhc3RfdmFsdWUiLGUuQ2xlYXJEYXRhPSJjbGVhcl9kYXRhIixlLlNlcmllc1RpbWVGcmFtZT0ic2VyaWVzX3RpbWVmcmFtZSIsZS5TeW1ib2xSZXNvbHZlZD0ic3ltYm9sX3Jlc29sdmVkIixlLlNlcmllc0Vycm9yPSJzZXJpZXNfZXJyb3IiLGUuU2VyaWVzQ29tcGxldGVkPSJzZXJpZXNfY29tcGxldGVkIixlLlN0dWR5TG9hZGluZz0ic3R1ZHlfbG9hZGluZyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZS5SZXBsYXlFcnJvcj0icmVwbGF5X2Vycm9yIixlLlJlcGxheVBvaW50PSJyZXBsYXlfcG9pbnQiLGUuUmVwbGF5T2s9InJlcGxheV9vayIsZS5SZXBsYXlSZXNvbHV0aW9ucz0icmVwbGF5X3Jlc29sdXRpb25zIixlLlJlcGxheURhdGFFbmQ9InJlcGxheV9kYXRhX2VuZCIsZS5SZXBsYXlJbnN0YW5jZUlkPSJyZXBsYXlfaW5zdGFuY2VfaWQiLGUuUmVwbGF5RGVwdGg9InJlcGxheV9kZXB0aCJ9KG58fChuPXt9KSl9LDUyMTMzMyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtnZXREZWZhdWx0UmVzb2x1dGlvbnM6KCk9Pm59KTt2YXIgcz1fKDkzMDIzMSksaT1fKDYxOTk5Mik7ZnVuY3Rpb24gbigpe2NvbnN0IGU9WyIxIiwiMyIsIjUiLCIxNSIsIjMwIiwiNDUiLCI2MCIsIjEyMCIsIjE4MCIsIjI0MCIsIjFEIiwiMVciLCIxTSIsIjNNIiwiNk0iLCIxMk0iLCIxUiIsIjEwUiIsIjEwMFIiLCIxMDAwUiJdO2lmKCEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7bGV0IHQ9WyIxUyIsIjVTIiwiMTBTIiwiMTVTIiwiMzBTIiwiNDVzIl07cmV0dXJuKDAsaS5pc1RpY2tzRW5hYmxlZCkoKSYmKHQ9WyIxVCIsIjEwVCIsIjEwMFQiLCIxMDAwVCJdLmNvbmNhdCh0KSksdC5jb25jYXQoZSl9cmV0dXJuIGV9fSwyMTc1MjcoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7dHlwZXM6KCk9PnN9KTtjb25zdCBzPXtFQ09OT01JQzoiZWNvbm9taWMiLFFVQU5ETDoicXVhbmRsIn19LDEyNzcxMShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siY21lIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sImJvdmVzcGEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwicWVjb21xYSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJzYW50YW5kZXJjb21hciI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19fScpfSw1MDI1ODcoZSl7InVzZSBzdHJpY3QiCjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJmcmVlIjp7IkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MX0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjJ9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjF9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo1MCwibGltaXQiOjMsImNvbXBsZXhfbGltaXQiOjAsInByaW1pdGl2ZV9saW1pdCI6M30sIlNDUkVFTkVSX0lOVEVSVkFMUyI6eyJpbnRlcnZhbCI6WyIxRCIsIjFXIiwiMU0iXX0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6MX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6MX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjJ9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyI6eyJsaW1pdCI6MX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjozMH0sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6MjB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjoxfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6MjAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MjB9fSwicHJvIjp7IkRSQVdJTkdTIjp7fSwiQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIjp7fSwiQkFDS1RFU1RJTkdfRVhURU5ERURfTUVUUklDUyI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9YTFNYIjp7fSwiQkFDS1RFU1RJTkdfRVhQT1JUX0NTViI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUEVSU09OQUxfU1VQUE9SVCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6NX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6Mn0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MiwicHJpbWl0aXZlX2xpbWl0IjoyfSwiQ1VTVE9NX0lOVEVSVkFMUyI6e30sIk1VTFRJUExFX1dBVENITElTVFMiOnt9LCJJTVBPUlRfV0FUQ0hMSVNUUyI6e30sIkVYUE9SVF9XQVRDSExJU1RTIjp7fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6NX0sIkZVTkRBTUVOVEFMU19GT1JFQ0FTVCI6e30sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6NH0sIlRWX1BST1NUVURJRVMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtY2hhcnRwYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoxMH0sIlRWX1ZPTFVNRUJZUFJJQ0UiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJUSUNLX0JZX1RJQ0tfUFVTSF9EQVRBIjp7fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0IjoyMCwiY29tcGxleF9saW1pdCI6MjAsInByaW1pdGl2ZV9saW1pdCI6MjB9LCJTQ1JFRU5FUl9BVVRPX1JFRlJFU0giOnt9LCJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0VYUE9SVF9DU1ZfREFUQSI6e30sIlNDUkVFTkVSX05FV19TSE9XX1JFU1RSSUNURURfREFUQSI6e30sIlNIT1dfQk9ORFNfUkVTVFJJQ1RFRF9EQVRBIjp7fSwiUE9SVEZPTElPX0RBVEFfTElNSVQiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjozfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6NTAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NTB9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMW0iLCI1bSIsIjE1bSIsIjMwbSIsIjFoIiwiMmgiLCI0aCIsIjFEIiwiMVciLCIxTSJdfSwiTk9fU1BPTlNPUkVEX0FEUyI6eyJkaXNhYmxlX29uX2xpdGVfcGxhbiI6ImV4Y2x1ZGVfbW9iaWxlIn0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6OTk5OTl9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxMH0sIklEQ19BVkFJTEFCTEVfREVMQVkiOnt9LCJTVEFUVVMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBUl9SRVBMQVlfSU5UUkFEQVkiOnsibGltaXQiOjF9LCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyI6e30sIlNIT1dTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJBTEVSVFNfV0VCSE9PSyI6e30sIkFMRVJUU19PTl9FQVJOSU5HUyI6e30sIkFMRVJUU19PTl9GVU5EQU1FTlRBTF9NRVRSSUNTIjp7fSwiREVFUF9GVU5EQU1FTlRBTFNfSElTVE9SWSI6e30sIlBVQkxJU0hfUFJPVEVDVEVEX1NDUklQVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIklERUFfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiVHdpdHRlciIsIllvdXR1YmUiXX0sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJNVUxUSV9NT05JVE9SIjp7fSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjd9LCJJTlRSQURBWV9FWENIQU5HRSI6e30sIlZPTFVNRV9QUk9GSUxFIjp7fSwiU1RSRUFNU19BQ0NFU1MiOnsiZm9sbG93ZXJzIjoxMH0sIlNNU18yRkFfVkVSSUZJQ0FUSU9OIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTT0NJQUxfQUNUSVZJVFkiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjoxMDAwfSwiRklFTERTX1BFUk1JU1NJT05TIjp7Iml0ZW1zIjpbInJlZmJvbmRzIl19LCJDVVNUT01fUkFOR0VfQkFSUyI6e30sIkZBU1RFU1RfREFUQV9GTE9XIjp7fSwiU0VTU0lPTl9WT0xVTUVfUFJPRklMRSI6e30sIlNIT1dfRVRGX0hPTERJTkdTX0RBVEEiOnt9fSwicHJvX3JlYWx0aW1lIjp7ImV4dGVuZHMiOiJwcm8iLCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0IjoxMH0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6NH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NCwicHJpbWl0aXZlX2xpbWl0Ijo0fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjd9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXByb3N0dWRpZXMiLCJ0di1jaGFydHBhdHRlcm5zIl19LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6OX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MTAwLCJjb21wbGV4X2xpbWl0IjoxMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwfSwiQUxFUlRTX01VTFRJQ09ORElUSU9OUyI6eyJjb25kaXRpb25fbGltaXQiOjV9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNBTl9FRElUX1BVQkxJQ19DSEFUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjB9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkNVU1RPTV9GT1JNVUxBUyI6e30sIklOVFJBREFZX0VYT1RJQ19DSEFSVFMiOnt9LCJLQUdJX1JFTktPIjp7fSwiSU5UUkFEQVlfU1BSRUFEIjp7fSwiQ1VTVE9NX0NIQVRTIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6NH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NzV9fSwicHJvX3ByZW1pdW0iOnsiZXh0ZW5kcyI6InByb19yZWFsdGltZSIsIkJBUl9ERVRBTElaQVRJT04iOnt9LCJTQ1JJUFRfRVhFQ1VUSU9OX09OX0hJU1RPUllfQkFSUyI6e30sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjk5OTk5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0Ijo4fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo2LCJwcmltaXRpdmVfbGltaXQiOjZ9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTF9HUkFQSFNfTEFSR0VfVElNRV9SQU5HRSI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo5OTk5OSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1BBVFRFUk5TIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiLCJ0di1jaGFydF9wYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoyMH0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoyNH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6NDAwLCJjb21wbGV4X2xpbWl0Ijo0MDAsInByaW1pdGl2ZV9saW1pdCI6NDAwLCJ3YXRjaGxpc3RfbGltaXQiOjIsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0Ijo1fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6NTB9LCJJREVBX1NJR05BVFVSRSI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUFJPRklMRV9XRUJTSVRFX0ZJRUxEIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo0fSwiQkFSX1JFUExBWV8xUyI6e30sIkFMRVJUU19OT19FWFBJUkFUSU9OIjp7fSwiUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkRFRVBfSElTVE9SWV9CQUNLVEVTVCI6e30sIkFMRVJUU19PTl9TRUNPTkRTIjp7fSwiUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIjp7fSwiRVhURU5ERURfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiRmFjZWJvb2siLCJJbnN0YWdyYW0iLCJXZWJzaXRlIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTRUNPTkRTX0lOVEVSVkFMUyI6e30sIlRQT19QRVJJT0RJQyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di12b2x1bWVieXByaWNlIl19LCJUUE9fQ0hBUlRfU1RZTEUiOnt9LCJWT0xVTUVfQ0FORExFUyI6e30sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6NjB9LCJWT0xVTUVfRk9PVFBSSU5UIjp7fSwiUElORV9TQ1JFRU5FUiI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjV9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEwMH0sIlNPQ0lBTF9UUlVTVEVEX1VTRVIiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkZPTExPV0VSU19PTkxZX01JTkRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9fSwicHJvX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX3ByZW1pdW0iLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjozMH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6Mjl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjEwfSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0IjoxMiwicHJpbWl0aXZlX2xpbWl0IjoxMn0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjV9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjYwMCwiY29tcGxleF9saW1pdCI6NjAwLCJwcmltaXRpdmVfbGltaXQiOjYwMCwid2F0Y2hsaXN0X2xpbWl0IjoxMCwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjIwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6ODB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo2fSwiQkFSX1JFUExBWV8xUyI6e30sIkJBUl9SRVBMQVlfMVQiOnt9LCJFWFBPUlRfRklOQU5DSUFMU19EQVRBIjp7fSwiVElDS19JTlRFUlZBTFMiOnt9LCJGSVJTVF9QUklPUklUWV9TVVBQT1JUIjp7fSwiQlVZX1BST19EQVRBIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6Nn0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MTI1fX0sInByb19wcmVtaXVtX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX2V4cGVydCIsIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjUwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0Ijo0OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MTZ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjk5OTk5LCJwcmltaXRpdmVfbGltaXQiOjI1fSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo0MH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo0MDAwLCJsaW1pdCI6MTAwMCwiY29tcGxleF9saW1pdCI6MTAwMCwicHJpbWl0aXZlX2xpbWl0IjoxMDAwLCJ3YXRjaGxpc3RfbGltaXQiOjE1LCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6MzB9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyMDB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxMH0sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjd9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjE1MH19fScpCn19XSk7"}},"time_used":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/67930.f0d77c1721dc8fa0d333.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.369Z","timestamp":1785136901369,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67930.f0d77c1721dc8fa0d333.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-1bb1d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b038900368bcfead30c2f15372ca2d5b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":113437,"size_decoded":36882,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"990cf69851fde87b4493a4a244863db8","sha1":"ee7d5c61c67346c3d87c7e74c026bf4563383065","sha256":"6dfa7fc1e68a590ca27e08e6e6764259c28a0d7b39bb6971ab6383e8f246b6ac","sha512":"c819313da9003f50657bb1bc8de38b3e74208ac8407598c9755760b3b87d2ef157dbfebfaab0286f372c6586681bc19bca3e95ffcd2493326e2ae3b7c4947127","ssdeep":"3072:R0RDUtOcN3trUIjzAXK8ZrhLy6fXK6ZKubLBc4MO:ZZdTjsXK8ZVy0subLBcrO","tlshash":"66b33be3b1a0f0a9556601e984be0103971e6966bc47887cf6bc9cce155c9caf636f3c","first_seen":"2026-07-23T14:00:31.373835Z","last_seen":"2026-07-28T06:17:53.587399Z","times_seen":119,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NDY0NCw2NzkzMF0sezkxNDQ4NyhlLHQpe3ZhciBhOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgYT1hcmd1bWVudHNbdF07aWYoYSl7dmFyIGk9dHlwZW9mIGE7aWYoInN0cmluZyI9PT1pfHwibnVtYmVyIj09PWkpZS5wdXNoKGEpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSYmYS5sZW5ndGgpe3ZhciByPW8uYXBwbHkobnVsbCxhKTtyJiZlLnB1c2gocil9ZWxzZSBpZigib2JqZWN0Ij09PWkpZm9yKHZhciBuIGluIGEpcy5jYWxsKGEsbikmJmFbbl0mJmUucHVzaChuKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShhPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1hKX0oKX0sNzE3NjAoZSl7ZS5leHBvcnRzPXsiY2hlY2tib3gtc2l6ZSI6IjE4cHgiLCJjaGVja2JveC1wcmltYXJ5LWRlZmF1bHQtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCkiLCJjaGVja2JveC1wcmltYXJ5LWhvdmVyLWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpIiwiY2hlY2tib3gtcHJpbWFyeS1hY3RpdmUtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKSIsImNoZWNrYm94LXByaW1hcnktZmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpIiwiY2hlY2tib3gtZGFuZ2VyLWRlZmF1bHQtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ib2xkKSIsImNoZWNrYm94LWRhbmdlci1ob3Zlci1iZyI6InZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCkiLCJjaGVja2JveC1kYW5nZXItYWN0aXZlLWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpIiwiY2hlY2tib3gtZGFuZ2VyLWZnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlKSIsd3JhcHBlcjoid3JhcHBlci1zVzg3cFF6SyIsaW5wdXQ6ImlucHV0LXNXODdwUXpLIixmb2N1c091dGxpbmU6ImZvY3VzT3V0bGluZS1zVzg3cFF6SyIscHJpbWFyeToicHJpbWFyeS1zVzg3cFF6SyIsZGlzYWJsZWQ6ImRpc2FibGVkLXNXODdwUXpLIixkYW5nZXI6ImRhbmdlci1zVzg3cFF6SyIsdmlldzoidmlldy1zVzg3cFF6SyJ9fSw4MzI1MTgoZSl7ZS5leHBvcnRzPXsiY2hlY2tib3gtc2l6ZSI6IjE4cHgiLGJveDoiYm94LVhmR2tCQnFmIix1bmNoZWNrZWQ6InVuY2hlY2tlZC1YZkdrQkJxZiIsY2hlY2tlZDoiY2hlY2tlZC1YZkdrQkJxZiIsbWl4ZWQ6Im1peGVkLVhmR2tCQnFmIixkaXNhYmxlZDoiZGlzYWJsZWQtWGZHa0JCcWYiLGNoZWNrZWRNYXJrOiJjaGVja2VkTWFyay1YZkdrQkJxZiIsbWl4ZWRNYXJrOiJtaXhlZE1hcmstWGZHa0JCcWYifX0sMjgyNTkzKGUpe2UuZXhwb3J0cz17Y2hlY2tib3g6ImNoZWNrYm94LWhVc25uMlpfIixyZXZlcnNlOiJyZXZlcnNlLWhVc25uMlpfIixiYXNlbGluZToiYmFzZWxpbmUtaFVzbm4yWl8iLGxhYmVsOiJsYWJlbC1oVXNubjJaXyIsZGlzYWJsZWQ6ImRpc2FibGVkLWhVc25uMlpfIixwcmltYXJ5OiJwcmltYXJ5LWhVc25uMlpfIixkYW5nZXI6ImRhbmdlci1oVXNubjJaXyJ9fSw5OTQxNShlKXtlLmV4cG9ydHM9e2lubGluZUljb246ImlubGluZUljb24tdDZXWmxMUU8ifX0sODMwMTk3KGUpe2UuZXhwb3J0cz17ZWRpdG9yRXJyb3JCdXR0b25zOiJlZGl0b3JFcnJvckJ1dHRvbnMtenVrOWVJTTMifX0sODc3OTk5KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1QZ3VBckxGZiIsd3JhcEVycm9yOiJ3cmFwRXJyb3ItUGd1QXJMRmYiLGNsaWNrZWRBbmltOiJjbGlja2VkQW5pbS1QZ3VBckxGZiIsZXJyb3JUZXh0OiJlcnJvclRleHQtUGd1QXJMRmYiLHdyYXBTdGFja1RyYWNlOiJ3cmFwU3RhY2tUcmFjZS1QZ3VBckxGZiJ9fSw3NTc5MjMoZSl7ZS5leHBvcnRzPXtkZXNjcmlwdGlvbjoiZGVzY3JpcHRpb24tamVuTlZzX0MiLG1vZGU6Im1vZGUtamVuTlZzX0MiLGFjdGlvbnM6ImFjdGlvbnMtamVuTlZzX0MiLGxpbms6ImxpbmstamVuTlZzX0MifX0sNjg1OTI2KGUpe2UuZXhwb3J0cz17ZGVmYXVsdGVkU3RhdHVzOiJkZWZhdWx0ZWRTdGF0dXMtSnV4UlREbV8ifX0sMTUyMDY5KGUpe2UuZXhwb3J0cz17aGFsYWxTdGF0dXM6ImhhbGFsU3RhdHVzLW5QVTM5cndVIn19LDkyNDAyMChlKXtlLmV4cG9ydHM9e2hrZXhDb21tZW50OiJoa2V4Q29tbWVudC1lYnVOU3ZvdyJ9fSwyODQ0NjcoZSl7ZS5leHBvcnRzPXtsZXRJdFNub3dTdGF0dXM6ImxldEl0U25vd1N0YXR1cy1EdDMwYnZVQSJ9fSw1NzE0NjQoZSl7ZS5leHBvcnRzPXt0dkNhbGN1bGF0ZWRQYWlyOiJ0dkNhbGN1bGF0ZWRQYWlyLVMzemNjSV9QIn19LDQ0NTEoZSl7ZS5leHBvcnRzPXt1cGNvbWluZ0lwb1N0YXR1czoidXBjb21pbmdJcG9TdGF0dXMtdEtaUm1JSzUifX0sMzgyNTkzKGUpe2UuZXhwb3J0cz17d3JhcFN0YWNrVHJhY2U6IndyYXBTdGFja1RyYWNlLXFxMmpTcjlPIixzdGFja1RyYWNlTGluZToic3RhY2tUcmFjZUxpbmUtcXEyalNyOU8iLGZ1bmN0aW9uTmFtZToiZnVuY3Rpb25OYW1lLXFxMmpTcjlPIixiYXJJbmRleDoiYmFySW5kZXgtcXEyalNyOU8iLGluZm86ImluZm8tcXEyalNyOU8iLGhpZGVFbXB0eToiaGlkZUVtcHR5LXFxMmpTcjlPIn19LDM4NzIzMShlLHQsYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LGE9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LGE9e30pe2NvbnN0IHM9T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgbyBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3QgaT1hW29dfHxvCjtpIGluIGUmJihzW29dPVtlW2ldLHRbb11dLmpvaW4oIiAiKSl9cmV0dXJuIHN9KGUsdCxhKSl9YS5kKHQse21lcmdlVGhlbWVzOigpPT5zfSl9LDg2MDkwNyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtDaGVja2JveElucHV0OigpPT5wLEdyb3VwZWRDaGVja2JveElucHV0OigpPT5tfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgzNDUxMTYpLG49YSg2NTg0NiksbD1hKDE0NzkwMSksdT1hKDUzNjEyNSksYz1hKDcxNzYwKSxkPWEubihjKTtjb25zdCBoPWAke2wuVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWNoZWNrYm94LWlucHV0YDtmdW5jdGlvbiBwKGUpe2NvbnN0e2ludGVudDp0LGRpc2FibGVkOmEsY2xhc3NOYW1lOm8sdGl0bGU6bixzdHlsZTpsLGNoZWNrZWQ6YyxpZDpwLHRhYkluZGV4Om0sbmFtZTpfLHZhbHVlOlMscm9sZTpmLG9uQ2hhbmdlOncscmVmZXJlbmNlOmIsYXJpYVJlcXVpcmVkOmcsYXJpYURlc2NyaWJlZGJ5OnYsYXJpYUludmFsaWQ6eSxkYXRhUWFJZDpNfT1lLEk9dD8/InByaW1hcnkiO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpKGQoKS53cmFwcGVyLGEmJmQoKS5kaXNhYmxlZCxvKSx0aXRsZTpuLHN0eWxlOmwsImRhdGEtcWEtaWQiOk19LHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoZCgpLnZpZXcsZCgpW0ldKX0scy5jcmVhdGVFbGVtZW50KHUuQ2hlY2tib3hWaWV3SW1wbCx7Y2hlY2tlZDpjLGRpc2FibGVkOmEsZGF0YVFhSWQ6YCR7aH0tdmlld2B9KSkscy5jcmVhdGVFbGVtZW50KCJpbnB1dCIse2lkOnAsdGFiSW5kZXg6bSxjbGFzc05hbWU6aSgpKGQoKVtJXSxkKCkuaW5wdXQpLHR5cGU6ImNoZWNrYm94IixuYW1lOl8sY2hlY2tlZDohMSE9PWMsZGlzYWJsZWQ6YSx2YWx1ZTpTLHJvbGU6ZixvbkNoYW5nZTp3LHJlZjpiLCJhcmlhLWNoZWNrZWQiOigoKT0+e3N3aXRjaChjKXtjYXNlITA6cmV0dXJuInRydWUiO2Nhc2UhMTpyZXR1cm4iZmFsc2UiO2Nhc2UibWl4ZWQiOnJldHVybiJtaXhlZCJ9fSkoKSwiYXJpYS1yZXF1aXJlZCI6ZywiYXJpYS1kZXNjcmliZWRieSI6diwiYXJpYS1pbnZhbGlkIjp5LCJkYXRhLXFhLWlkIjpgJHtofS1pbnB1dGAsLi4uKDAsci5maWx0ZXJEYXRhUHJvcHMpKGUpfSkscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZCgpLmZvY3VzT3V0bGluZX0pKX1jb25zdCBtPSgwLG4ubWFrZVN3aXRjaEdyb3VwSXRlbSkocCl9LDUzNjEyNShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtDaGVja2JveFZpZXdJbXBsOigpPT5ofSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgyMTcyNzQpLG49YSgxNDc5MDEpLGw9YSgxMjU4OTcpLHU9YS5uKGwpLGM9YSg4MzI1MTgpLGQ9YS5uKGMpO2Z1bmN0aW9uIGgoZSl7Y29uc3R7Y2hlY2tlZDp0LGRpc2FibGVkOmEsZGF0YVFhSWQ6b309ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGQoKS5ib3gsITA9PT10JiZkKCkuY2hlY2tlZCwhMT09PXQmJmQoKS51bmNoZWNrZWQsIm1peGVkIj09PXQmJmQoKS5taXhlZCxhJiZkKCkuZGlzYWJsZWQpLCJkYXRhLXFhLWlkIjooMCxuLmNvbmNhdElmTm90TnVsbCkoYCR7bi5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9Y2hlY2tib3gtdmlldy0ke3Q/ImNoZWNrZWQiOiJ1bmNoZWNrZWQifWAsbyl9LCEwPT09dCYmcy5jcmVhdGVFbGVtZW50KHIuQmxvY2tJY29uLHtpY29uOnUoKSxjbGFzc05hbWU6ZCgpLmNoZWNrZWRNYXJrfSksIm1peGVkIj09PXQmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmQoKS5taXhlZE1hcmt9KSl9fSw5NzUxOTgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7Q2hlY2tib3g6KCk9PmMsR3JvdXBlZENoZWNrYm94OigpPT5kfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSg2NTg0Niksbj1hKDg2MDkwNyksbD1hKDI4MjU5MyksdT1hLm4obCk7ZnVuY3Rpb24gYyhlKXtjb25zdHtjbGFzc05hbWU6dCxsYWJlbFBvc2l0aW9uUmV2ZXJzZTphLGxhYmVsQWxpZ25CYXNlbGluZTpvLGlucHV0Q2xhc3NOYW1lOnIsbGFiZWxDbGFzc05hbWU6bCxsYWJlbDpjLHRpdGxlOmQsZGlzYWJsZWQ6aCxpbnRlbnQ6cD0icHJpbWFyeSIsZGF0YVFhSWQ6bSx2YWx1ZTpfLG9uQ2hhbmdlOlMsbmFtZTpmLGNoZWNrZWQ6dyxpZDpiLHRhYkluZGV4Omcscm9sZTp2LHJlZmVyZW5jZTp5LHN0eWxlOk0sYXJpYVJlcXVpcmVkOkksYXJpYURlc2NyaWJlZGJ5OkUsYXJpYUludmFsaWQ6QyxhdXRvRm9jdXM6VCwuLi5rfT1lLHg9T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGspLmZpbHRlcigoKFtlLHRdKT0+ZS5zdGFydHNXaXRoKCJkYXRhIikpKSksRD1pKCkodCx1KCkuY2hlY2tib3gsYSYmdSgpLnJldmVyc2UsbyYmdSgpLmJhc2VsaW5lKSxWPWkoKSh1KCkubGFiZWwsbCxoJiZ1KCkuZGlzYWJsZWQsdSgpW3BdKSxQPWM/cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOlYsdGl0bGU6ZH0sYyk6bnVsbDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJsYWJlbCIse2NsYXNzTmFtZTpELCJkYXRhLXFhLWlkIjptfSxzLmNyZWF0ZUVsZW1lbnQobi5DaGVja2JveElucHV0LHsuLi54LHZhbHVlOl8sb25DaGFuZ2U6UyxjbGFzc05hbWU6cixpbnRlbnQ6cCxuYW1lOmYsY2hlY2tlZDp3LGlkOmIsdGFiSW5kZXg6Zyxyb2xlOnYscmVmZXJlbmNlOnksc3R5bGU6TSxhcmlhUmVxdWlyZWQ6SSxhcmlhRGVzY3JpYmVkYnk6RSxhcmlhSW52YWxpZDpDLGRpc2FibGVkOmgsYXV0b0ZvY3VzOlR9KSxQKX1jb25zdCBkPSgwLHIubWFrZVN3aXRjaEdyb3VwSXRlbSkoYyl9LDUyOTQxMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHt1c2VJc0ZpcnN0UmVuZGVyOigpPT5vLHVzZUlzTm9uRmlyc3RSZW5kZXI6KCk9Pml9KTt2YXIgcz1hKDc3OTQ3NCk7ZnVuY3Rpb24gbygpe2NvbnN0W2UsdF09KDAscy51c2VTdGF0ZSkoITApO3JldHVybigwLHMudXNlRWZmZWN0KSgoKCk9Pnt0KCExKX0pLFtdKSxlfWZ1bmN0aW9uIGkoKXtyZXR1cm4hbygpfX0sCjExOTc1MChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+SSxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+RX0pO3ZhciBzLG89YSg3Nzk0NzQpLGk9YSg5MTQ0ODcpLHI9YS5uKGkpLG49YSgzNDUxMTYpLGw9YSgyNzMzMTApLHU9YSg3ODU5OTUpLGM9YS5uKHUpLGQ9YSg1MjcyMTkpLGg9YS5uKGQpLHA9YSg2NzMwNjUpLG09YS5uKHApLF89YSg0MDAwNDYpLFM9YS5uKF8pLGY9YSg5OTQ1KSx3PWEubihmKTshZnVuY3Rpb24oZSl7ZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIn0oc3x8KHM9e30pKTtjb25zdCBiPSJzbWFsbCI7dmFyIGcsdjshZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIixlLldhcm5pbmc9Indhcm5pbmciLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5OZXV0cmFsPSJuZXV0cmFsIixlLk5ldXRyYWxMaWdodD0ibmV1dHJhbC1saWdodCJ9KGd8fChnPXt9KSksZnVuY3Rpb24oZSl7ZS5JbmZvPSJpbmZvIixlLlF1ZXN0aW9uPSJxdWVzdGlvbiIsZS5DaGVjaz0iY2hlY2siLGUuRXhjbGFtYXRpb249ImV4Y2xhbWF0aW9uIn0odnx8KHY9e30pKTtjb25zdCB5PXtpbmZvOmgoKSxxdWVzdGlvbjpjKCksY2hlY2s6bSgpLGV4Y2xhbWF0aW9uOlMoKX0sTT1vLmZvcndhcmRSZWYoKChlLHQpPT5vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5lLHJlZjp0LGNsYXNzTmFtZTpyKCkoZS5jbGFzc05hbWUsdygpWyJuby1hY3RpdmUtc3RhdGUiXSl9KSkpLEk9by5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246YT0iZXhjbGFtYXRpb24iLGludGVudDpzPSJkZWZhdWx0IixhcmlhTGFiZWw6aSx0b29sdGlwOnUsY2xhc3NOYW1lOmMscmVuZGVyQ29tcG9uZW50OmQ9TSx0YWJJbmRleDpoPTAsc2l6ZTpwPWIsb25Gb2N1czptLG9uQmx1cjpfLG9uQ2xpY2s6UywuLi5mfT1lLGc9eVthXT8/YTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGQse2NsYXNzTmFtZTpyKCkoYyx3KCkuaWNvbldyYXBwZXIsdygpW3NdLHcoKVtwXSksdGl0bGU6dSxyZWY6dCx0YWJJbmRleDpoLG9uRm9jdXM6bSxvbkJsdXI6XyxvbkNsaWNrOlMsLi4uKDAsbi5maWx0ZXJEYXRhUHJvcHMpKGYpfSxvLmNyZWF0ZUVsZW1lbnQobC5JY29uLHsiYXJpYS1oaWRkZW4iOiFpLCJhcmlhLWxhYmVsIjppLGljb246ZyxjbGFzc05hbWU6dygpLmljb259KSl9KSk7ZnVuY3Rpb24gRShlKXtjb25zdHtpY29uOnQ9ImV4Y2xhbWF0aW9uIixpbnRlbnQ6YT0iZGVmYXVsdCIsc2l6ZTpzPWIsb25DbGljazppLG9uTW91c2VFbnRlcjpuLG9uTW91c2VMZWF2ZTp1LG9uRm9jdXM6YyxvbkJsdXI6ZCxyZWZlcmVuY2U6aCxhcmlhTGFiZWw6cH09ZSxtPXlbdF0/P3Q7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Y2xhc3NOYW1lOnIoKSh3KCkuaWNvbldyYXBwZXIsdygpW2FdLHcoKVtzXSkscmVmOmgsb25DbGljazppLG9uTW91c2VFbnRlcjpuLG9uTW91c2VMZWF2ZTp1LG9uRm9jdXM6YyxvbkJsdXI6ZCwiYXJpYS1sYWJlbCI6cH0sby5jcmVhdGVFbGVtZW50KGwuSWNvbix7aWNvbjptLGNsYXNzTmFtZTp3KCkuaWNvbn0pKX19LDc1ODIzOChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJbmxpbmVJY29uOigpPT51fSk7dmFyIHM9YSg5MTQ0ODcpLG89YS5uKHMpLGk9YSg3Nzk0NzQpLHI9YSg5NDg0NTApLG49YSg5OTQxNSksbD1hLm4obik7Y29uc3QgdT1pLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmEsLi4uc309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHIuQ29tbW9uSWNvbix7Li4ucyxjbGFzc05hbWU6bygpKGEsbCgpLmlubGluZUljb24pLHJlZjp0fSl9KSl9LDMwNjI4NyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHt1c2VXaW5kb3dSZXNpemVUcmlnZ2VyOigpPT5uLHVzZVdpbmRvd1Njcm9sbFRyaWdnZXI6KCk9Pmx9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDcwNjk0MyksaT1hKDE1OTI1Nik7ZnVuY3Rpb24gcihlLHQsYSl7Y29uc3Qgcj0oMCxzLnVzZU1lbW8pKCgoKT0+KDAsby5jcmVhdGVTaWduYWwpKCkpLFtdKTtyZXR1cm4oMCxpLnVzZUNvbmRpdGlvbmFsRWZmZWN0KShlLCgoKT0+KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKHQsci5maXJlLGEpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIodCxyLmZpcmUsYSl9KSksW3JdKSxyfWNvbnN0IG49KGU9ITApPT5yKGUsInJlc2l6ZSIsITApLGw9KGU9ITApPT5yKGUsInNjcm9sbCIsITApfSw4Njk4NDIoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7U3dpdGNoR3JvdXBDb250ZXh0OigpPT5pfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg4NjIzODgpO2NvbnN0IGk9KDAscy5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+by5kZWZhdWx0LHN1YnNjcmliZTpvLmRlZmF1bHQsdW5zdWJzY3JpYmU6by5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9Pml9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDg2OTg0Mik7ZnVuY3Rpb24gaShlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpewpyZXR1cm4gdGhpcy5jb250ZXh0LmdldE5hbWUoKX1faXNDaGVja2VkKCl7cmV0dXJuIHRoaXMuY29udGV4dC5nZXRWYWx1ZXMoKS5pbmNsdWRlcyh0aGlzLnByb3BzLnZhbHVlKX19LHQuY29udGV4dFR5cGU9by5Td2l0Y2hHcm91cENvbnRleHQsdH19LDIwNTYxMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5vfSk7dmFyIHM9YSgyMzIzNjQpO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBhPW5ldyBzLldhdGNoZWRWYWx1ZShlKCkpLG89e307dC5mb3JFYWNoKCh0PT50LnN1YnNjcmliZShvLCgoKT0+e2Euc2V0VmFsdWUoZSgpKX0pKSkpO3JldHVybiBhLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LmZvckVhY2goKGU9PmUudW5zdWJzY3JpYmVBbGwobykpKSkpfX0sOTAxMDIyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnMsaXNTZXBhcmF0b3JJdGVtOigpPT5vfSk7Y29uc3Qgcz0iIyMjIjtmdW5jdGlvbiBvKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocyl9fSw4MDI1MjgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7ZmV0Y2hFZGl0b3JFcnJvcjooKT0+dSxmZXRjaExhc3RVcGRhdGVSZWxlYXNlTm90ZXNUaW1lOigpPT5jfSk7dmFyIHM9YSgzODQwMTcpO2NvbnN0IG89Ii9waW5lLXNjcmlwdC1kb2NzLyIsaT1gJHtvfWRvY3VtZW50ZWQtZXJyb3JzLmpzb25gLHI9YCR7b31lcnJvcnMvYDtsZXQgbj1udWxsLGw9bnVsbDthc3luYyBmdW5jdGlvbiB1KGUsdCl7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgYT1hd2FpdChhc3luYyBlPT5sfHxufHwobD0oYXN5bmMoKT0+e2NvbnN0IHQ9YXdhaXQoMCxzLmZldGNoKShpLHtjYWNoZToiZGVmYXVsdCIsc2lnbmFsOmV9KTtpZighdC5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBmZXRjaCBlcnJvciBjb2RlczogJHt0LnN0YXR1c30gJHt0LnN0YXR1c1RleHR9YCk7Y29uc3QgYT1hd2FpdCB0Lmpzb24oKTtyZXR1cm4gbj1uZXcgU2V0KGEpLGw9bnVsbCxufSkoKSxsKSkodCk7cmV0dXJuIGEuaGFzKGUpP2Ake3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59JHtyfSR7ZX1gOm51bGx9YXN5bmMgZnVuY3Rpb24gYygpe3JldHVybihhd2FpdCgwLHMuZmV0Y2gpKCIvcGluZS1zY3JpcHQtZG9jcy9sYXN0LXVwZGF0ZS10aW1lLmpzb24iKSkuanNvbigpfX0sMTA4MTgyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse2NvbG9yRGVmYXVsdGVkOigpPT5sLGNvbG9yRGVsYXlNb2RlOigpPT5zLGNvbG9yRW9kTW9kZTooKT0+byxjb2xvckhhbGFsTW9kZTooKT0+cixjb2xvck5vdEFjY3VyYXRlTW9kZTooKT0+aSxjb2xvclRWQ2FsY3VsYXRlZFBhaXJNb2RlOigpPT5uLGNvbG9yVXBjb21pbmdJcG86KCk9PnV9KTtjb25zdCBzPSJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkKSIsbz0idmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCkiLGk9InZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1leHRyYS1ib2xkKSIscj0idmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQpIixuPSJ2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKSIsbD0idmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpIix1PSJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWV4dHJhLWJvbGQpIn0sMTkzNTA4KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0hLRVhEYXRhQ29tbWVudDooKT0+UCxIS0VYRGF0YVRpdGxlOigpPT5WLGJhdHNUb1JlYWx0aW1lQ3J1Y2lhbEh0bWw6KCk9PnksYmF0c1RvUmVhbHRpbWVIdG1sMTooKT0+YixiYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlOigpPT52LGJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2U6KCk9PmcsZGVmYXVsdGVkSHRtbDooKT0+UixkZWZhdWx0ZWRUaXRsZTooKT0+QSxkZWxheVRvb2x0aXA6KCk9PnIsZW9kSHRtbDooKT0+bSxlb2RUb1JlYWx0aW1lSHRtbDooKT0+Xyxlb2RUb29sdGlwOigpPT5uLGV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcDooKT0+dSxoYWxhbEJvbmRIdG1sOigpPT5wLGhhbGFsSHRtbDooKT0+aCxoYWxhbFRpdGxlOigpPT5kLGxldEl0U25vd0h0bWw6KCk9PlcsbGV0SXRTbm93U3RhcnQ6KCk9Pk8sbGV0SXRTbm93U3RvcDooKT0+SCxsZXRJdFNub3dUaXRsZTooKT0+Rixub3RBY2N1cmF0ZTFQZXJTZWNvbmRUb29sdGlwOigpPT5sLG9wZW5JbkVkaXRvckFjdGlvblRleHQ6KCk9Pngsb3BlbmVkSW5Cb3R0b21QYW5lbFRleHQ6KCk9PlQsb3BlbmVkSW5Cb3R0b21QYW5lbFRpdGxlOigpPT5JLG9wZW5lZEluRGV0YWNoZWRFZGl0b3JUZXh0OigpPT5rLG9wZW5lZEluRGV0YWNoZWRFZGl0b3JUaXRsZTooKT0+RSxvcGVuZWRJbkVkaXRvclRleHQ6KCk9PkMsb3BlbmVkSW5FZGl0b3JUaXRsZTooKT0+TSxvdmVybmlnaHRRdW90ZXNUZXh0OigpPT5VLG92ZXJuaWdodFF1b3Rlc1RpdGxlOigpPT5MLHRpY2tCeVRpY2tIdG1sMTooKT0+Zix0aWNrQnlUaWNrSHRtbDFGdWxsSW5mbzooKT0+Uyx0aWNrQnlUaWNrSHRtbDI6KCk9PncsdHZDYWxjdWxhdGVkUGFpckh0bWw6KCk9PkQsdHZDYWxjdWxhdGVkUGFpclRvb2x0aXA6KCk9PmMsdXBjb21pbmdJcG9IdG1sOigpPT5OLHVwY29taW5nSXBvVGl0bGU6KCk9PkJ9KTt2YXIgcz1hKDE4NTI3MSksbz1hKDY0MTU5MyksaT1hKDE1NzQ0Nyk7Y29uc3Qgcj0oMCxpLmdldERlbGF5VG9vbHRpcCkoKSxuPXMudChudWxsLHZvaWQgMCxhKDc5NzQ2MCkpLGw9cy50KG51bGwsdm9pZCAwLGEoMzMwNzYwKSksdT0oKDAsaS5nZXROb3RBY2N1cmF0ZUNib2VUb29sdGlwKSgpLCgwLGkuZ2V0RXhjaGFuZ2VCeU9yaWdpbmFsRXhjaGFuZ2VUb29sdGlwKSgpKSxjPSgwLGkuZ2V0VHZDYWxjdWxhdGVkUGFpclRpdGxlKSgpLGQ9KCgwLGkuZ2V0RGVyaXZlZFRpdGxlKSgpLCgwLGkuZ2V0RGVyaXZlZEh0bWwpKCksKDAsCmkuZ2V0SGFsYWxUaXRsZSkoKSksaD0oMCxpLmdldEhhbGFsSHRtbCkoKSxwPSgwLGkuZ2V0SGFsYWxCb25kSHRtbCkoKSxtPSgwLG8uaHRtbEVzY2FwZSkocy50KG51bGwsdm9pZCAwLGEoMTg3MjcyKSkpLF89KDAsby5odG1sRXNjYXBlKShzLnQobnVsbCx2b2lkIDAsYSgyMjcwODgpKSksUz0oMCxvLmh0bWxFc2NhcGUpKHMudChudWxsLHZvaWQgMCxhKDg5NTMwMCkpKSxmPSgwLG8uaHRtbEVzY2FwZSkocy50KG51bGwsdm9pZCAwLGEoMjMzOTEyKSkpLHc9KDAsby5odG1sRXNjYXBlKShzLnQobnVsbCx2b2lkIDAsYSgxMTQ0NCkpKSxiPXMudChudWxsLHZvaWQgMCxhKDk2MTkyNikpLGc9KCgwLGkuZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDEpKCksKDAsaS5nZXRCYXRzVG9SZWFsdGltZUh0bWxQYXJ0MikoKSwoMCxpLmdldEJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2UpKCkpLHY9KDAsaS5nZXRCYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlKSgpLHk9cy50KG51bGwsdm9pZCAwLGEoNzE5NzExKSksTT0oKDAsaS5nZXRDb250aW51b3VzVGl0bGUpKCksKDAsaS5nZXRDb250aW51b3VzSHRtbCkoKSxzLnQobnVsbCx7Y29udGV4dDoiUGluZSBlZGl0b3IifSxhKDI5NDYxOCkpKSxJPXMudChudWxsLHtjb250ZXh0OiJQaW5lIGVkaXRvciJ9LGEoNzc0MjgpKSxFPXMudChudWxsLHZvaWQgMCxhKDk1ODI3MSkpLEM9cy50KG51bGwsdm9pZCAwLGEoNTQ1ODQpKSxUPXMudChudWxsLHZvaWQgMCxhKDgzNzI1KSksaz1zLnQobnVsbCx2b2lkIDAsYSg4Mjk0NDgpKSx4PXMudChudWxsLHtjb250ZXh0OiJQaW5lIGVkaXRvciJ9LGEoOTAwNDI1KSksRD0oMCxpLmdldFR2Q2FsY3VsYXRlZFBhaXJIdG1sKSgpLFY9cy50KG51bGwse2NvbnRleHQ6IkhLRVggZGlzY2xhaW1lciJ9LGEoMTY3OTEyKSksUD1zLnQobnVsbCx2b2lkIDAsYSg0NTc3NTApKSxBPSgwLGkuZ2V0RGVmYXVsdGVkVGl0bGUpKCksUj0oMCxpLmdldERlZmF1bHRlZEh0bWwpKCksQj0oMCxpLmdldFVwY29taW5nSXBvVGl0bGUpKCksTj0oMCxpLmdldFVwY29taW5nSXBvSHRtbCkoKSxGPXMudChudWxsLHtjb250ZXh0OiJIb2xpZGF5IGJhbm5lciJ9LGEoMjQ0MTApKSxXPXMudChudWxsLHZvaWQgMCxhKDQwNDU0NCkpLE89cy50KG51bGwse2NvbnRleHQ6IkhvbGlkYXkgYmFubmVyIn0sYSg5ODE4NzIpKSxIPXMudChudWxsLHtjb250ZXh0OiJIb2xpZGF5IGJhbm5lciJ9LGEoNDg5MjAwKSksTD1zLnQobnVsbCx2b2lkIDAsYSg1OTc5NCkpLFU9cy50KG51bGwsdm9pZCAwLGEoNjg3OTU0KSl9LDE1NzQ0NyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtnZXRCYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlOigpPT5FLGdldEJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2U6KCk9PkMsZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDE6KCk9Pk0sZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDI6KCk9PkksZ2V0Q29udGludW91c0h0bWw6KCk9PmQsZ2V0Q29udGludW91c1RpdGxlOigpPT5jLGdldENyZWF0ZUZyZWVBY2NvdW50VGl0bGU6KCk9PncsZ2V0RGVmYXVsdGVkSHRtbDooKT0+RCxnZXREZWZhdWx0ZWRUaXRsZTooKT0+eCxnZXREZWxheUh0bWw6KCk9PnAsZ2V0RGVsYXlOb1JlYWx0aW1lSHRtbDooKT0+XyxnZXREZWxheVRvUmVhbHRpbWVKc3g6KCk9Pm0sZ2V0RGVsYXlUb29sdGlwOigpPT5oLGdldERlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudEh0bWw6KCk9PlMsZ2V0RGVyaXZlZEh0bWw6KCk9PnIsZ2V0RGVyaXZlZFRpdGxlOigpPT5pLGdldEV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcDooKT0+eSxnZXRGaWxsRXhjaGFuZ2VBZ3JlZW1lbnRzVGl0bGU6KCk9PmIsZ2V0SGFsYWxCb25kSHRtbDooKT0+dSxnZXRIYWxhbEh0bWw6KCk9PmwsZ2V0SGFsYWxUaXRsZTooKT0+bixnZXRMZWFybk1vcmVUaXRsZTooKT0+ZyxnZXROb3RBY2N1cmF0ZUNib2VUb29sdGlwOigpPT52LGdldFJ0RnJlZUZvclJlZ2lzdGVyZWRVc2Vyc0h0bWw6KCk9PmYsZ2V0VHZDYWxjdWxhdGVkUGFpckh0bWw6KCk9PmssZ2V0VHZDYWxjdWxhdGVkUGFpclRpdGxlOigpPT5ULGdldFVwY29taW5nSXBvSHRtbDooKT0+UCxnZXRVcGNvbWluZ0lwb1RpdGxlOigpPT5WfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSgxODUyNzEpO2NvbnN0IGk9KCk9Pm8udChudWxsLHtjb250ZXh0OiJTeW1ib2wgc3RhdHVzIn0sYSgxNjM4MDYpKSxyPSgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTI1MDApKSxuPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoNDE3OTEpKSxsPSgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMzgwMDQpKSx1PSgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NzM2ODIpKSxjPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoODk0MjIxKSksZD0oKT0+by50KG51bGwsdm9pZCAwLGEoOTc3Nzc2KSksaD0oKT0+by50KG51bGwse2NvbnRleHQ6IlF1b3RlIHRvb2x0aXAifSxhKDQ3MzQyNSkpLHA9KGUsdCk9Pm8udChudWxsLHtwbHVyYWw6IntzeW1ib2xOYW1lfSBkYXRhIGlzIGRlbGF5ZWQgYnkge3RpbWV9IG1pbnV0ZXMgYmVjYXVzZSBvZiBleGNoYW5nZSByZXF1aXJlbWVudHMuIixjb3VudDp0LHJlcGxhY2U6e3N5bWJvbE5hbWU6ZSx0aW1lOnQudG9TdHJpbmcoKX19LGEoODU3MDY3KSksbT1lPT57Y29uc3RbdCxpXT1vLnQobnVsbCx2b2lkIDAsYSgyMjA3MzgpKS5zcGxpdCgie2Rlc2NyaXB0aW9ufSIpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHQsZSxpKX0sXz0oKT0+by50KG51bGwsdm9pZCAwLGEoOTE1MTAwKSksUz1lPT5vLnQobnVsbCx2b2lkIDAsYSgxNjUwNTIpKS5yZXBsYWNlKCJ7bGlzdGVkRXhjaGFuZ2V9IixlKSxmPWU9Pm8udChudWxsLHZvaWQgMCxhKDkxNDU1KSkucmVwbGFjZSgie2xpc3RlZEV4Y2hhbmdlfSIsZSksdz0oKT0+by50KG51bGwsdm9pZCAwLGEoMjk5OTI2KSksYj0oKT0+by50KG51bGwsdm9pZCAwLGEoODYzODc3KSksZz0oKT0+by50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBwYWdlIHN0YXR1c2VzIgp9LGEoMTA5NjAxKSksdj0oKT0+by50KG51bGwse2NvbnRleHQ6IkV4Y2hhbmdlIGRhdGEgdG9vbHRpcCJ9LGEoMjI5MDI1KSkseT0oKT0+by50KG51bGwse2NvbnRleHQ6IkV4Y2hhbmdlIGRhdGEgdG9vbHRpcCJ9LGEoMzAwMjcxKSksTT0oKT0+by50KG51bGwse2NvbnRleHQ6J1BhcnQgb2Y6ICJSZWFsLXRpbWUgZGF0YSBmb3Ige3N5bWJvbE5hbWV9IGlzIHByb3ZpZGVkIGJ5IHtleGNoYW5nZX0gZXhjaGFuZ2UuIid9LGEoMjMyMTQ5KSksST0oKT0+by50KG51bGwse2NvbnRleHQ6J1BhcnQgb2Y6ICJSZWFsLXRpbWUgZGF0YSBmb3Ige3N5bWJvbE5hbWV9IGlzIHByb3ZpZGVkIGJ5IHtleGNoYW5nZX0gZXhjaGFuZ2UuIid9LGEoNDA5MDE5KSksRT0oKT0+by50KG51bGwsdm9pZCAwLGEoMjgyMTMxKSksQz0oKT0+by50KG51bGwsdm9pZCAwLGEoNDYzODI1KSksVD0oKT0+by50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBzdGF0dXMifSxhKDgzNjEyMykpLGs9KCk9Pm8udChudWxsLHZvaWQgMCxhKDYyODU1MykpLHg9KCk9Pm8udChudWxsLHtjb250ZXh0OiJTeW1ib2wgc3RhdHVzIn0sYSgzMzM4ODQpKSxEPSgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNDI3NTUpKSxWPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoMTE5NSkpLFA9KCk9Pm8udChudWxsLHZvaWQgMCxhKDEzMjU2MSkpfSw3NzY1NzYoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7QkFUU19UT19SRUFMVElNRV9TT0xVVElPTl9JRDooKT0+byxIQUxBTF9TT0xVVElPTl9JRDooKT0+cyxUVl9DQUxDVUxBVEVEX1BBSVJfU09MVVRJT05fSUQ6KCk9Pml9KTtjb25zdCBzPTQzMDAwNzAwODUyLG89NDMwMDA0NzM5MjQsaT00MzAwMDcwMzE3M30sNjAzNjEyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0NMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5EOigpPT5zLGJyZWFrcG9pbnRMaXN0OigpPT5pfSk7Y29uc3Qgcz0iQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQiO3ZhciBvOyFmdW5jdGlvbihlKXtlW2UuTW9iaWxlPTBdPSJNb2JpbGUiLGVbZS5UYWJsZXRTbWFsbD00ODBdPSJUYWJsZXRTbWFsbCIsZVtlLlRhYmxldD03NjhdPSJUYWJsZXQiLGVbZS5UYWJsZXRMYXJnZT0xMDI0XT0iVGFibGV0TGFyZ2UiLGVbZS5EZXNrdG9wU21hbGw9MTI4MF09IkRlc2t0b3BTbWFsbCIsZVtlLkRlc2t0b3A9MTQ0MF09IkRlc2t0b3AiLGVbZS5EZXNrdG9wTGFyZ2U9MTkyMF09IkRlc2t0b3BMYXJnZSJ9KG98fChvPXt9KSk7Y29uc3QgaT03OTc5NT09YS5qP1sxOTIwLDE0NDAsMTI4MCwxMDI0LDc2OCw0ODAsMF06bnVsbH0sNDkwMjA0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse3Jlc29sdmVVbmRlcmx5aW5nU3ltYm9sOigpPT5vfSk7dmFyIHM9YSgzMjA1NSk7YXN5bmMgZnVuY3Rpb24gbyhlKXtjb25zdCB0PWF3YWl0KDAscy5zbmFwc2hvdGVyKSgpLmdldFNuYXBzaG90KGUsbmV3IFNldChbInVuZGVybHlpbmctc3ltYm9sIl0pKTtpZigiZXJyb3IiPT09dC5zdGF0dXMpcmV0dXJuIG51bGw7Y29uc3QgYT10LnZhbHVlc1sidW5kZXJseWluZy1zeW1ib2wiXTtyZXR1cm4gYXx8bnVsbH19LDEzODk5NChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+cCxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+XyxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkxpbms6KCk9Pm19KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDkxNDQ4NyksaT1hLm4obykscj1hKDExOTc1MCksbj1hKDg2NTA5MiksbD1hKDM0NDc4NSksdT1hKDE5ODIwOSksYz1hLm4odSk7ZnVuY3Rpb24gZCgpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLGQpLCgwLGwuaGlkZSkoKX1jb25zdCBoPWU9PnsoMCxsLnNob3dPbkVsZW1lbnQpKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixkKX0scD0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTphLG9uQ2xpY2s6bz1oLGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOnUsc2l6ZTpkLC4uLnB9PWUse3Rvb2x0aXA6bSxjbGFzc05hbWU6XywuLi5TfT0oMCxuLnVzZVRvb2x0aXApKHt0b29sdGlwOmUudG9vbHRpcCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDohMSxzaG93VG9vbHRpcDpsLnNob3dPbkVsZW1lbnQsaGlkZVRvb2x0aXA6bC5oaWRlLG9uQ2xpY2s6b30sdCk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChyLkljb25RdWVzdGlvbkluZm9ybWF0aW9uLHtjbGFzc05hbWU6aSgpKGEsYygpWyJpY29uLXdyYXBwZXIiXSxtJiZjKClbIndpdGgtdG9vbHRpcCJdLF8pLHRvb2x0aXA6bSxzaXplOmQsLi4ucCwuLi5TfSl9KSksbT0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTphLGhyZWY6byxyZWw6cix0YXJnZXQ6biwuLi5sfT1lLHU9KDAscy51c2VNZW1vKSgoKCk9PigwLHMuZm9yd2FyZFJlZikoKChlLHQpPT5zLmNyZWF0ZUVsZW1lbnQoImEiLHtocmVmOm8scmVsOnIsdGFyZ2V0Om4scmVmOnQsLi4uZX0pKSkpLFtvLHIsbl0pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocCx7Li4ubCxjbGFzc05hbWU6aSgpKGEsYygpWyJ3aXRoLWxpbmsiXSkscmVuZGVyQ29tcG9uZW50OnUscmVmOnQsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6ITB9KX0pKSxfPSgwLHMuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmEsd2l0aEFjdGl2ZVN0YXRlOm8sLi4ucn09ZSxuPSgwLHMudXNlTWVtbykoKCgpPT4oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+cy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5lLHJlZjp0LHR5cGU6ImJ1dHRvbiJ9KSkpKSxbXSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChwLHsKLi4ucixjbGFzc05hbWU6aSgpKGEsIW8mJmMoKVsibm8tYWN0aXZlLXN0YXRlIl0pLHJlbmRlckNvbXBvbmVudDpuLHJlZjp0fSl9KSl9LDMzNjMzNChlLHQsYSl7InVzZSBzdHJpY3QiO3ZhciBzPWEoMTI5MzY1KTt0LmNyZWF0ZVJvb3Q9cy5jcmVhdGVSb290LHMuaHlkcmF0ZVJvb3R9LDEyOTM2NShlLHQsYSl7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9YSg1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIGE9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHM9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGk9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxyPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbj1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLHU9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IikscD1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LF89T2JqZWN0LmFzc2lnbixTPXt9O2Z1bmN0aW9uIGYoZSx0LGEpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Uyx0aGlzLnVwZGF0ZXI9YXx8bX1mdW5jdGlvbiB3KCl7fWZ1bmN0aW9uIGIoZSx0LGEpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Uyx0aGlzLnVwZGF0ZXI9YXx8bX1mLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LGYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sZi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHcucHJvdG90eXBlPWYucHJvdG90eXBlO3ZhciBnPWIucHJvdG90eXBlPW5ldyB3O2cuY29uc3RydWN0b3I9YixfKGcsZi5wcm90b3R5cGUpLGcuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHY9QXJyYXkuaXNBcnJheSx5PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksTT17Y3VycmVudDpudWxsfSxJPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gRShlLHQscyl7dmFyIG8saT17fSxyPW51bGwsbj1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihuPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKHI9IiIrdC5rZXkpLHQpeS5jYWxsKHQsbykmJiFJLmhhc093blByb3BlcnR5KG8pJiYoaVtvXT10W29dKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpaS5jaGlsZHJlbj1zO2Vsc2UgaWYoMTxsKXtmb3IodmFyIHU9QXJyYXkobCksYz0wO2M8bDtjKyspdVtjXT1hcmd1bWVudHNbYysyXTtpLmNoaWxkcmVuPXV9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1pW29dJiYoaVtvXT1sW29dKTtyZXR1cm57JCR0eXBlb2Y6YSx0eXBlOmUsa2V5OnIscmVmOm4scHJvcHM6aSxfb3duZXI6TS5jdXJyZW50fX1mdW5jdGlvbiBDKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1hfXZhciBUPS9cLysvZztmdW5jdGlvbiBrKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24geChlLHQsbyxpLHIpe3ZhciBuPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09biYmImJvb2xlYW4iIT09bnx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChuKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIGE6Y2FzZSBzOmw9ITB9fWlmKGwpcmV0dXJuIHI9cihsPWUpLGU9IiI9PT1pPyIuIitrKGwsMCk6aSx2KHIpPyhvPSIiLG51bGwhPWUmJihvPWUucmVwbGFjZShULCIkJi8iKSsiLyIpLHgocix0LG8sIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1yJiYoQyhyKSYmKHI9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6YSx0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShyLG8rKCFyLmtleXx8bCYmbC5rZXk9PT1yLmtleT8iIjooIiIrci5rZXkpLnJlcGxhY2UoVCwiJCYvIikrIi8iKStlKSksdC5wdXNoKHIpKSwxO2lmKGw9MCxpPSIiPT09aT8iLiI6aSsiOiIsdihlKSlmb3IodmFyIHU9MDt1PGUubGVuZ3RoO3UrKyl7dmFyIGM9aStrKG49ZVt1XSx1KTtsKz14KG4sdCxvLGMscil9ZWxzZSBpZihjPWZ1bmN0aW9uKGUpewpyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPXAmJmVbcF18fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgYylmb3IoZT1jLmNhbGwoZSksdT0wOyEobj1lLm5leHQoKSkuZG9uZTspbCs9eChuPW4udmFsdWUsdCxvLGM9aStrKG4sdSsrKSxyKTtlbHNlIGlmKCJvYmplY3QiPT09bil0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gbH1mdW5jdGlvbiBEKGUsdCxhKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBzPVtdLG89MDtyZXR1cm4geChlLHMsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwoYSxlLG8rKyl9KSksc31mdW5jdGlvbiBWKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIFA9e2N1cnJlbnQ6bnVsbH0sQT17dHJhbnNpdGlvbjpudWxsfSxSPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOlAsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6QSxSZWFjdEN1cnJlbnRPd25lcjpNfTt0LkNoaWxkcmVuPXttYXA6RCxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxhKXtEKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxhKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gRChlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBEKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighQyhlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD1mLHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPXIsdC5QdXJlQ29tcG9uZW50PWIsdC5TdHJpY3RNb2RlPWksdC5TdXNwZW5zZT1jLHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Uix0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscyl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89Xyh7fSxlLnByb3BzKSxpPWUua2V5LHI9ZS5yZWYsbj1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKHI9dC5yZWYsbj1NLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYoaT0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHUgaW4gdCl5LmNhbGwodCx1KSYmIUkuaGFzT3duUHJvcGVydHkodSkmJihvW3VdPXZvaWQgMD09PXRbdV0mJnZvaWQgMCE9PWw/bFt1XTp0W3VdKX12YXIgdT1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXUpby5jaGlsZHJlbj1zO2Vsc2UgaWYoMTx1KXtsPUFycmF5KHUpO2Zvcih2YXIgYz0wO2M8dTtjKyspbFtjXT1hcmd1bWVudHNbYysyXTtvLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOmEsdHlwZTplLnR5cGUsa2V5OmkscmVmOnIscHJvcHM6byxfb3duZXI6bn19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bixfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1FLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1FLmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjp1LHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1DLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6aCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OlZ9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6ZCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PUEudHJhbnNpdGlvbjtBLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e0EudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBQLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBQLmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIFAuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpewpyZXR1cm4gUC5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIFAuY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LGEpe3JldHVybiBQLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsYSl9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFAuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUC5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUC5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxhKXtyZXR1cm4gUC5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LGEpfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gUC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gUC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxhKXtyZXR1cm4gUC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxhKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIFAuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxhKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWEoMTIyNzQ5KX0sNjMzNjQ0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse3Nob3dBYm91dFRoZVN0dWR5SGFuZGxlcjooKT0+Y30pO3ZhciBzPWEoOTI2OTk1KTthKDE4NTI3MSksYSgyNTYzMTQpO2NvbnN0IG89L15TVEQ7RnVuZF8oLio/KSg/Ol8oPzpmeXxmcXxmaHx0dG0pKT8kLzt2YXIgaT1hKDc5MTQyNykscj1hKDQxMzQxKSxuPWEoMTQ3ODA1KSxsPWEoMTAzOTk4KSx1PWEoMTQzODA4KTthc3luYyBmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0e3NjcmlwdElkUGFydDpjLGlkOmQscGluZTpofT10O2lmKCgwLHUuaXNGdW5kYW1lbnRhbFN0dWR5TWV0YUluZm8pKHQpKXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5tYXRjaChvKTtyZXR1cm4gdD90WzFdOnR9KGMpO2lmKGUpe2NvbnN0e2RlZmF1bHQ6dH09YXdhaXQgYS5lKDYyMDY4KS50aGVuKGEudC5iaW5kKGEsNjMwNDc2LDE5KSk7aWYoZSBpbiB0KXJldHVybigpPT4oMCxzLnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDp0W2VdfSl9fWVsc2UgaWYoIWh8fGkuU3R1ZHlNZXRhSW5mby5oYXNTdGRTdWZmaXgoYykpe2NvbnN0e2RlZmF1bHQ6ZX09YXdhaXQgYS5lKDQyNDQxKS50aGVuKGEudC5iaW5kKGEsNDQ1MDY3LDE5KSk7aWYoYyBpbiBlfHxkIGluIGUpcmV0dXJuKCk9PigwLHMuc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOmVbY118fGVbZF19KX1lbHNlIGlmKGkuU3R1ZHlNZXRhSW5mby5oYXNQdWJTdWZmaXgoYykpcmV0dXJuIGFzeW5jKCk9Pnt0cnl7Y29uc3R7Y2hhcnRJbWFnZVVybDplfT1hd2FpdCgwLHIucmVxdWVzdFNjcmlwdEluZm8pKGMpOygwLG4ub3BlblB1YmxpY2F0aW9uVmlld1BvcHVwKSh7dWlkOmUsdHlwZToic2NyaXB0In0pfWNhdGNoeygwLGwuc2hvd1NjcmlwdEluZm9FcnJvck5vdGljZURpYWxvZykoKX19O3JldHVybiBudWxsfX0sNjA0Mzg0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0NoYXJ0TW9kZWxNYWluU2VyaWVzU3RhdHVzU291cmNlQWRhcHRlcjooKT0+aCxDaGFydE1vZGVsU3RhdHVzU291cmNlQWRhcHRlcjooKT0+ZH0pO3ZhciBzLG89YSgxMzg2MzgpLGk9YSgyMzIzNjQpLHI9YSg5NTI5MDApLG49YSgyNDE5NTYpLGw9YSgyMDU2MTEpLHU9YSg5NTY0MzcpLGM9YSgzMjI0MTkpOyFmdW5jdGlvbihlKXtlW2UuRm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0TXM9MzUwMF09IkZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dE1zIn0oc3x8KHM9e30pKTtjbGFzcyBke2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faGlkZGVuPW5ldyBpLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sPW51bGwsdGhpcy5faXNTeW1ib2xJbnZhbGlkPW51bGwsdGhpcy5fdmlzaWJpbGl0eUNvbWJpbmVyPW51bGwsdGhpcy5fc3ltYm9sSW5mbz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zb3VyY2U9ZSxlLnByb3BlcnRpZXMoKS5oYXNDaGlsZCgic3ltYm9sIikmJih0aGlzLl9zeW1ib2w9KDAsbi5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+ZS5wcm9wZXJ0aWVzKCkuc3ltYm9sLnZhbHVlKCkpLGUucHJvcGVydGllcygpLnN5bWJvbC5saXN0ZW5lcnMoKSkpO2NvbnN0IGE9W107aWYoKDAsYy5pc1N0dWR5TGluZVRvb2wpKGUpKWEucHVzaChlLm9uU3RhdHVzQ2hhbmdlZCgpKTtlbHNlIGlmKCgwLHUuaXNTdHVkeSkoZSl8fCgwLHUuaXNTdHVkeVN0dWIpKGUpKWEucHVzaChlLm9uU3RhdHVzQ2hhbmdlZCgpLGUub25Jc0FjdHVhbEludGVydmFsQ2hhbmdlKCkpLHRoaXMuX2lzU3ltYm9sSW52YWxpZD0oMCxsLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+ZS5pc1N5bWJvbEludmFsaWQoKSYmZS5pc0FjdHVhbEludGVydmFsKCkpLGEpLCgwLHUuaXNTdHVkeSkoZSk/KHRoaXMuX3Zpc2liaWxpdHlDb21iaW5lcj0oMCxyLmNvbWJpbmUpKCgoZSx0KT0+IWV8fCF0KSwoMCxuLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlzVmlzaWJsZSgpKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlKS5vd25lcnNoaXAoKSwoMCxuLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlzQWN0dWFsSW50ZXJ2YWwoKSksZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKSkub3duZXJzaGlwKCkpLHRoaXMuX3Zpc2liaWxpdHlDb21iaW5lci5zdWJzY3JpYmUoKGU9PnRoaXMuX2hpZGRlbi5zZXRWYWx1ZShlKSkse2NhbGxXaXRoTGFzdDohMAp9KSk6dGhpcy5faGlkZGVuLnNldFZhbHVlKCFlLmlzVmlzaWJsZSgpfHwhZS5pc0FjdHVhbEludGVydmFsKCkpO2Vsc2V7KDAsby5hc3NlcnQpKGU9PT10Lm1haW5TZXJpZXMoKSk7Y29uc3Qgcz10Lm1haW5TZXJpZXMoKTthLnB1c2gocy5vblN0YXR1c0NoYW5nZWQoKSksdGhpcy5faXNTeW1ib2xJbnZhbGlkPSgwLGwuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9ucykoKCgpPT5zLmlzU3ltYm9sSW52YWxpZCgpKSxhKSx0aGlzLl9zeW1ib2xJbmZvPSgwLG4uY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKShzLnN5bWJvbEluZm8uYmluZChzKSxzLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpKX10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXM9KDAsbC5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zKSgoKCk9PnRoaXMuX3NvdXJjZS5zdGF0dXNQcm92aWRlcih7fSkuZXJyb3JTdGF0dXMoKSksYSl9ZGVzdHJveSgpe3RoaXMuX3N5bWJvbD8uZGVzdHJveSgpLHRoaXMuX2lzU3ltYm9sSW52YWxpZD8uZGVzdHJveSgpLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cy5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW5mby5kZXN0cm95KCksdGhpcy5fdmlzaWJpbGl0eUNvbWJpbmVyPy5kZXN0cm95KCl9ZW50aXR5SWQoKXtyZXR1cm4gdGhpcy5fc291cmNlLmlkKCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbH1pc1N5bWJvbEludmFsaWQoKXtyZXR1cm4gdGhpcy5faXNTeW1ib2xJbnZhbGlkfWVycm9yU3RhdHVzKCl7cmV0dXJuIHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1c31zeW1ib2xJbmZvKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluZm99aGlkZGVuKCl7cmV0dXJuIHRoaXMuX2hpZGRlbi5yZWFkb25seSgpfW1hcmtldFN0YXR1c01vZGVsKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5tYXJrZXRTdGF0dXNNb2RlbCgpfWRhdGFQcm9ibGVtTW9kZWwoKXtyZXR1cm4gdGhpcy5fc291cmNlLmRhdGFQcm9ibGVtTW9kZWwoKX1kYXRhVXBkYXRlZE1vZGVNb2RlbCgpe3JldHVybiB0aGlzLl9zb3VyY2UuZGF0YVVwZGF0ZWRNb2RlTW9kZWwoKX1hc3luYyBwaW5lU291cmNlQ29kZU1vZGVsKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5waW5lU291cmNlQ29kZU1vZGVsPy4oKT8/UHJvbWlzZS5yZXNvbHZlKG51bGwpfWFsZXJ0U291cmNlTW9kZWwoKXtyZXR1cm4gdGhpcy5fc291cmNlLmFsZXJ0U291cmNlTW9kZWwoKX1pc01haW5TZXJpZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlLmlzTWFpblNlcmllcz8uKCk/PyExfX1jbGFzcyBoIGV4dGVuZHMgZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fcXVvdGVzRGF0YT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGU9bmV3IGkuV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9mb3JjZURpc2FibGVIaWRkZW5TdGF0ZVRpbWVvdXQ9bnVsbCx0aGlzLl9zZXJpZXM9ZSx0aGlzLl9tYXJrZXRTdGF0dXM9ZS5tYXJrZXRTdGF0dXNNb2RlbCgpLnN0YXR1cygpLnNwYXduKCksZS5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3F1b3Rlc0RhdGEuc2V0VmFsdWUoZS5xdW90ZXNQcm92aWRlcigpLnF1b3RlcygpLnZhbHVlKCksITApfSkpLGUucXVvdGVzUHJvdmlkZXIoKS5xdW90ZVN5bWJvbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9xdW90ZXNEYXRhLnNldFZhbHVlKG51bGwpfSkpLHRoaXMuX3F1b3Rlc0RhdGEuc2V0VmFsdWUoZS5xdW90ZXMoKSksdGhpcy5fbWFya2V0U3RhdHVzLnN1YnNjcmliZSgoZT0+e251bGw9PT1lJiYobnVsbCE9PXRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dCksdGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGUuc2V0VmFsdWUoITEpLHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dD1udWxsLHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlLnNldFZhbHVlKCEwKX0pLDM1MDApKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9kYXRhUHJvYmxlbXM9dGhpcy5fc2VyaWVzLmRhdGFQcm9ibGVtTW9kZWwoKS5kYXRhUHJvYmxlbXMoKS5zcGF3bigpLHRoaXMuX21hcmtldFN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUuYmluZCh0aGlzKSksdGhpcy5fZGF0YVByb2JsZW1zLnN1YnNjcmliZSh0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZS5iaW5kKHRoaXMpKSx0aGlzLl9mb3JjZURpc2FibGVIaWRkZW5TdGF0ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUuYmluZCh0aGlzKSksZS5vbkluUmVwbGF5U3RhdGVDaGFuZ2VkPy4oKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZSksZS5vblN0YXR1c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZSksdGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUoKX1xdW90ZXNEYXRhKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc0RhdGEucmVhZG9ubHkoKS5zcGF3bigpfWRlc3Ryb3koKXt0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpLHRoaXMuX2RhdGFQcm9ibGVtcy5kZXN0cm95KCksdGhpcy5fc2VyaWVzLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQ/LigpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5xdW90ZXNQcm92aWRlcigpLnF1b3RlU3ltYm9sQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5vblN0YXR1c0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxudWxsIT09dGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0KSxzdXBlci5kZXN0cm95KCl9Cl91cGRhdGVIaWRkZW5WYWx1ZSgpe2NvbnN0IGU9dGhpcy5fc2VyaWVzLnN0YXR1cygpLHQ9dGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGUudmFsdWUoKXx8dGhpcy5fc2VyaWVzLmlzSW5SZXBsYXkoKS52YWx1ZSgpfHwxMj09PWV8fDQ9PT1lfHxudWxsIT09dGhpcy5fbWFya2V0U3RhdHVzLnZhbHVlKCkmJjIhPT1lJiYxIT09ZXx8dGhpcy5fZGF0YVByb2JsZW1zLnZhbHVlKCkuc29tZSgoZT0+ImhpZ2giPT09ZS5zZXZlcml0eSkpO3RoaXMuX2hpZGRlbi5zZXRWYWx1ZSghdCl9fX0sNDQxNDQwKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlOigpPT5adH0pO3ZhciBzPWEoMjMyMzY0KSxvPWEoOTUyOTAwKSxpPWEoMTI4OTk4KSxyPWEoODkxOTU0KSxuPWEoMTg1MjcxKSxsPWEoNjQxNTkzKSx1PWEoOTYyNzM3KSxjPWEoNzcwNzU1KSxkPWEoMTU3NDQ3KSxoPWEoNTY1MjA2KSxwPWEoNjQyNzgzKSxtPWEoMzUxMTgyKSxfPWEoODYwNTQ4KTtjb25zdCBTPW4udChudWxsLHZvaWQgMCxhKDMzMzQwNykpLGY9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLHBdLFsibWVkaXVtIixtXSxbImxhcmdlIixtXV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksdz1uZXcgTWFwKFtbITAsXy5kYXRhUHJvYmxlbUxvd10sWyExLG51bGxdXSksYj1uZXcgTWFwKFtbITAsU10sWyExLG51bGxdXSksZz1uZXcgTWFwKFtbITAsU10sWyExLG51bGxdXSksdj1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCkiXSxbITEsbnVsbF1dKTtjbGFzcyB5IGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKHtpY29uTWFwOmYsY2xhc3NOYW1lTWFwOncsdG9vbHRpcE1hcDpiLHRpdGxlTWFwOmcsdGl0bGVDb2xvck1hcDp2LHNpemU6dH0pLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9sYXN0RXJyb3I9bnVsbCx0aGlzLl9vcHRpb25zPWEsdGhpcy5zZXRTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXNldFNvdXJjZShlKXt0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cz1lLmVycm9yU3RhdHVzKCkuc3Bhd24oKSx0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1cy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KX1fZ2V0VG9vbHRpcChlKXtyZXR1cm4oZT90aGlzLl9nZXREYXRhU291cmNlRXJyb3JTdGF0dXNDdXN0b21UaXRsZSgpOm51bGwpPz9zdXBlci5fZ2V0VG9vbHRpcChlKX1fZ2V0VGl0bGUoZSl7cmV0dXJuKGU/dGhpcy5fZ2V0RGF0YVNvdXJjZUVycm9yU3RhdHVzQ3VzdG9tVGl0bGUoKTpudWxsKT8/c3VwZXIuX2dldFRpdGxlKGUpfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fc3RhdHVzLnZhbHVlKCksdD10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKTtudWxsIT09ZSYmbnVsbCE9PXQ/dGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUoW3tpY29uOnRoaXMuX2dldEljb24oZSksaWNvbkNsYXNzTmFtZTp0aGlzLl9nZXRGdWxsVG9vbHRpcEljb25DbGFzc05hbWVzKGUpLHRpdGxlOnRoaXMuX2dldFRpdGxlKGUpLHRpdGxlQ29sb3I6dGhpcy5fZ2V0VGl0bGVDb2xvcihlKSxodG1sOnZvaWQgMD09PXQuc3RhY2tUcmFjZT9bKDAsdS5mb3JtYXRTdHVkeUVycm9yKSgoMCxsLmh0bWxFc2NhcGUpKHQuZXJyb3IpKV06bnVsbCxzaXplOnRoaXMuX3NpemUsYWN0aW9uOnRoaXMuX2dldEFjdGlvbihlKSxzb2x1dGlvbklkOnRoaXMuX29wdGlvbnMuZXJyb3JTb2x1dGlvbj90aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKT8uc29sdXRpb25JZDp2b2lkIDAsZGF0YVFhSWQ6dGhpcy5fZGF0YVFhSWQoKT8/dm9pZCAwfV0pOnRoaXMuX2Z1bGxUb29sdGlwLnNldFZhbHVlKG51bGwpfV9kYXRhUWFJZCgpe3JldHVybiJkYXRhLXNvdXJjZS1lcnJvci1zdGF0dXMifV9nZXRBY3Rpb24oZSl7Y29uc3QgdD10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKTtpZih0aGlzLl9vcHRpb25zLmVycm9yU29sdXRpb24mJm51bGwhPT10KXtjb25zdHtzdHVkeUZlYXR1cmU6ZX09dDtpZihlKXJldHVybnt0ZXh0OigwLGQuZ2V0TGVhcm5Nb3JlVGl0bGUpKCksb25DbGljazooKT0+KDAsYy5vcGVuUGF5d2FsbCkoZSl9fXJldHVybiBudWxsfV91cGRhdGVTdGF0dXMoZSl7Y29uc3QgdD10aGlzLl9zdGF0dXMudmFsdWUoKTtudWxsIT09ZT8odGhpcy5fc3RhdHVzLnNldFZhbHVlKCEwKSx0JiZ0aGlzLl9sYXN0RXJyb3IhPT1lLmVycm9yJiZ0aGlzLl91cGRhdGVCeVN0YXR1cyghMCksdGhpcy5fbGFzdEVycm9yPWUuZXJyb3IpOih0aGlzLl9zdGF0dXMuc2V0VmFsdWUobnVsbCksdGhpcy5fbGFzdEVycm9yPW51bGwpfV9nZXREYXRhU291cmNlRXJyb3JTdGF0dXNDdXN0b21UaXRsZSgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKT8udGl0bGV8fG51bGx9fXZhciBNLEk9YSg3Nzk0NzQpLEU9YSgyMjEwNjEpLEM9YSg3MDA4NCksVD1hKDU2MjQ1NSksaz1hKDI4NTg2MSkseD1hKDQ2MDQ0OCksRD1hKDU1NDY0MSksVj1hKDgzNTk4MCksUD1hKDEwODE4MiksQT1hKDc3NjU3NiksUj1hKDE5MzUwOCk7IWZ1bmN0aW9uKGUpe2UuRGVsYXlUb1JlYWx0aW1lPSJEZWxheVRvUmVhbHRpbWUiLGUuRGVsYXlOb1JlYWx0aW1lPSJEZWxheU5vUmVhbHRpbWUiLGUuVEZFWERlbGF5Rm9yR3Vlc3Q9IlRGRVhEZWxheUZvckd1ZXN0IixlLk1JTERlbGF5Rm9yR3Vlc3Q9Ik1JTERlbGF5Rm9yR3Vlc3QiLGUuSUNFU0dEZWxheUZvckd1ZXN0PSJJQ0VTR0RlbGF5Rm9yR3Vlc3QiLGUuVFVSUVVPSVNFRGVsYXlGb3JHdWVzdD0iVFVSUVVPSVNFRGVsYXlGb3JHdWVzdCIsCmUuQURYRGVsYXlGb3JHdWVzdD0iQURYRGVsYXlGb3JHdWVzdCIsZS5UUkFERUdBVEVEZWxheUZvckd1ZXN0PSJUUkFERUdBVEVEZWxheUZvckd1ZXN0IixlLkxVWFNFRGVsYXlGb3JHdWVzdD0iTFVYU0VEZWxheUZvckd1ZXN0IixlLk5TRU5HRGVsYXlGb3JHdWVzdD0iTlNFTkdEZWxheUZvckd1ZXN0IixlLkZJTlJBRGVsYXlGb3JHdWVzdD0iRklOUkFEZWxheUZvckd1ZXN0IixlLkFRVUlTRGVsYXlGb3JHdWVzdD0iQVFVSVNEZWxheUZvckd1ZXN0IixlLkVFWERlbGF5Rm9yR3Vlc3Q9IkVFWERlbGF5Rm9yR3Vlc3QiLGUuREVGb3JHdWVzdD0iREVGb3JHdWVzdCIsZS5FT0Q9IkVPRCIsZS5FT0RUb1JlYWx0aW1lPSJFT0RUb1JlYWx0aW1lIixlLlRpY2tCeVRpY2s9IlRpY2tCeVRpY2siLGUuQkFUU1RvUmVhbHRpbWU9IkJBVFNUb1JlYWx0aW1lIixlLkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudD0iRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixlLkRlbGF5V2l0aG91dFBhaWRGb3JQcm9mZmVzc2lvbmFsPSJEZWxheVdpdGhvdXRQYWlkRm9yUHJvZmZlc3Npb25hbCIsZS5PdmVybmlnaHRRdW90ZXM9Ik92ZXJuaWdodFF1b3RlcyJ9KE18fChNPXt9KSk7Y29uc3QgQj1bIlRGRVhEZWxheUZvckd1ZXN0IiwiTUlMRGVsYXlGb3JHdWVzdCIsIkRFRm9yR3Vlc3QiLCJJQ0VTR0RlbGF5Rm9yR3Vlc3QiLCJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IiwiQURYRGVsYXlGb3JHdWVzdCIsIlRSQURFR0FURURlbGF5Rm9yR3Vlc3QiLCJMVVhTRURlbGF5Rm9yR3Vlc3QiLCJOU0VOR0RlbGF5Rm9yR3Vlc3QiLCJGSU5SQURlbGF5Rm9yR3Vlc3QiLCJBUVVJU0RlbGF5Rm9yR3Vlc3QiLCJFRVhEZWxheUZvckd1ZXN0Il07dmFyIE49YSg3Mzc1MjMpLEY9YSg5MzA1NjYpO2NvbnN0IFc9InR2LmFscmVhZHlCbGlua2VkU3RhdHVzZXMiLE89W107ZnVuY3Rpb24gSCgpe3JldHVybiBGLmdldEpTT04oVyxPKX1jb25zdCBMPW5ldyBzLldhdGNoZWRWYWx1ZShIKCkpO2Z1bmN0aW9uIFUoZSl7Y29uc3QgdD1GLmdldEpTT04oVyxPKTt0LmluY2x1ZGVzKGUpfHwodC5wdXNoKGUpLEYuc2V0SlNPTihXLHQpLEwuc2V0VmFsdWUoSCgpKSl9Ri5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5MLnNldFZhbHVlKEgoKSkpKTtjb25zdCBHPUw7dmFyIHo9YSgzNjIyMzkpO3ZhciBxPWEoMzg2OTMxKSwkPWEoNjEzODcwKSxqPWEoOTI2OTk1KSxRPWEoNzc0NTA3KTthc3luYyBmdW5jdGlvbiBYKGUpe3ZvaWQgMD09PWUuaXNFeHBlcnQmJihlPXsuLi5lLGlzRXhwZXJ0OndpbmRvdy51c2VyLmRlY2xhcmVkX3N0YXR1cz09PVEuVXNlclN0YXR1cy5Qcm99KTsoYXdhaXQgUHJvbWlzZS5hbGwoW2EuZSg0MzU3NiksYS5lKDg0MzA2KSxhLmUoNTIzOTYpLGEuZSgxMzQ5MiksYS5lKDM3NzQ2KSxhLmUoODEwNzIpLGEuZSgyMzYyNCksYS5lKDE5NTk1KSxhLmUoMTk3ODcpLGEuZSg2Nzc5OSksYS5lKDg2NDIzKSxhLmUoODU3OSksYS5lKDQwODM1KSxhLmUoNzI2NjYpLGEuZSg5MzQyMSksYS5lKDc4NjUyKSxhLmUoNzQzODEpLGEuZSgxNTUyNiksYS5lKDYxODIxKSxhLmUoNTczMDApLGEuZSg2NjI3MCksYS5lKDUxNjgyKSxhLmUoMzc3NjcpLGEuZSgzNTE5OCksYS5lKDQ2NTkxKSxhLmUoOTQwNTQpLGEuZSgzMzEyMCksYS5lKDQwODY3KSxhLmUoMTUwOSksYS5lKDUwODAwKSxhLmUoNzY2NSksYS5lKDMzMjIxKSxhLmUoMTI1NjUpLGEuZSgzMTI2MiksYS5lKDI1Njk4KSxhLmUoMjMzMSksYS5lKDc4OTkpLGEuZSg4MTkwMyksYS5lKDgxNTI5KSxhLmUoOTEyMDApLGEuZSg0NDc4MCksYS5lKDg0MzcxKSxhLmUoMjYxNDUpLGEuZSgzODM5OCksYS5lKDM3NzU2KV0pLnRoZW4oYS5iaW5kKGEsODcxMDUyKSkpLm9wZW5FeGNoYW5nZUFncmVlbWVudERpYWxvZyhlKX12YXIgSz1hKDU4OTc0OSk7Y29uc3QgWj0oMCwKRS5nZXRMb2dnZXIpKCJDaGFydC5MZWdlbmRXaWRnZXQiKSxKPW5ldyBNYXAoW1sic21hbGwiLENdLFsibWVkaXVtIixUXSxbImxhcmdlIixUXV0pLFk9bmV3IE1hcChbWyJzbWFsbCIsa10sWyJtZWRpdW0iLHhdLFsibGFyZ2UiLHhdXSksZWU9bmV3IE1hcChbWyJzbWFsbCIsRF0sWyJtZWRpdW0iLFZdLFsibGFyZ2UiLFZdXSksdGU9bmV3IE1hcChbWyJEZWxheVRvUmVhbHRpbWUiLEpdLFsiRGVsYXlOb1JlYWx0aW1lIixKXSxbIlRGRVhEZWxheUZvckd1ZXN0IixKXSxbIk1JTERlbGF5Rm9yR3Vlc3QiLEpdLFsiSUNFU0dEZWxheUZvckd1ZXN0IixKXSxbIlRVUlFVT0lTRURlbGF5Rm9yR3Vlc3QiLEpdLFsiQURYRGVsYXlGb3JHdWVzdCIsSl0sWyJUUkFERUdBVEVEZWxheUZvckd1ZXN0IixKXSxbIkxVWFNFRGVsYXlGb3JHdWVzdCIsSl0sWyJOU0VOR0RlbGF5Rm9yR3Vlc3QiLEpdLFsiRklOUkFEZWxheUZvckd1ZXN0IixKXSxbIkFRVUlTRGVsYXlGb3JHdWVzdCIsSl0sWyJFRVhEZWxheUZvckd1ZXN0IixKXSxbIkRFRm9yR3Vlc3QiLEpdLFsiRU9EIixZXSxbIkVPRFRvUmVhbHRpbWUiLFldLFsiVGlja0J5VGljayIsZWVdLFsiQkFUU1RvUmVhbHRpbWUiLGVlXSxbIk92ZXJuaWdodFF1b3RlcyIsZWVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixKXV0pLGFlPW5ldyBNYXAoW1siRGVsYXlUb1JlYWx0aW1lIixfLmRlbGF5XSxbIkRlbGF5Tm9SZWFsdGltZSIsXy5kZWxheV0sWyJURkVYRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJNSUxEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIklDRVNHRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIkFEWERlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiVFJBREVHQVRFRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJMVVhTRURlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiTlNFTkdEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIkZJTlJBRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJBUVVJU0RlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiRUVYRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJERUZvckd1ZXN0IixfLmRlbGF5XSxbIkVPRCIsXy5lb2RdLFsiRU9EVG9SZWFsdGltZSIsXy5lb2RdLFsiVGlja0J5VGljayIsXy5ub3RBY2N1cmF0ZV0sWyJCQVRTVG9SZWFsdGltZSIsXy5ub3RBY2N1cmF0ZV0sWyJPdmVybmlnaHRRdW90ZXMiLF8ubm90QWNjdXJhdGVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixfLmRlbGF5XV0pLHNlPW5ldyBNYXAoW1siRGVsYXlUb1JlYWx0aW1lIixQLmNvbG9yRGVsYXlNb2RlXSxbIkRlbGF5Tm9SZWFsdGltZSIsUC5jb2xvckRlbGF5TW9kZV0sWyJURkVYRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJNSUxEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIklDRVNHRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkFEWERlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiVFJBREVHQVRFRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJMVVhTRURlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiTlNFTkdEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkZJTlJBRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJBUVVJU0RlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiRUVYRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJERUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkVPRCIsUC5jb2xvckVvZE1vZGVdLFsiRU9EVG9SZWFsdGltZSIsUC5jb2xvckVvZE1vZGVdLFsiVGlja0J5VGljayIsUC5jb2xvck5vdEFjY3VyYXRlTW9kZV0sWyJCQVRTVG9SZWFsdGltZSIsUC5jb2xvck5vdEFjY3VyYXRlTW9kZV0sWyJPdmVybmlnaHRRdW90ZXMiLFAuY29sb3JOb3RBY2N1cmF0ZU1vZGVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixQLmNvbG9yRGVsYXlNb2RlXV0pO3ZhciBvZTshZnVuY3Rpb24oZSl7ZS5Ub29sdGlwU2VwYXJhdG9yPSIgwrcgIn0ob2V8fChvZT17fSkpO2NsYXNzIGllIGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKHtpY29uTWFwOnRlLGNsYXNzTmFtZU1hcDphZSx0aXRsZUNvbG9yTWFwOnNlLHNpemU6dH0pLHRoaXMuX2RhdGFVcGRhdGVkSW5mbz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9vbk1hcmtldFN0YXR1c0NoYW5nZWQ9KCk9Pnt0aGlzLl91cGRhdGVCeVN0YXR1cyh0aGlzLnN0YXR1cygpLnZhbHVlKCkpfSx0aGlzLl9vcHRpb25zPWEsdGhpcy5fbW9kZWw9ZSx0aGlzLl9kYXRhTW9kZUJsaW5raW5nU3RhdHVzZXM9Ry5zcGF3bigpLHRoaXMuX2RhdGFNb2RlQmxpbmtpbmdTdGF0dXNlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQmxpbmtpbmdNb2RlLmJpbmQodGhpcykpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy5zdWJzY3JpYmUodGhpcy5fb25NYXJrZXRTdGF0dXNDaGFuZ2VkKSx0aGlzLnR1cm5PZmZCbGlua2luZ01vZGU9dGhpcy5fdHVybk9mZkJsaW5raW5nLmJpbmQodGhpcyksdGhpcy5zZXRNb2RlbChlKX1kZXN0cm95KCl7dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLmRlc3Ryb3koKSx0aGlzLl9kYXRhTW9kZUJsaW5raW5nU3RhdHVzZXMuZGVzdHJveSgpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy51bnN1YnNjcmliZSh0aGlzLl9vbk1hcmtldFN0YXR1c0NoYW5nZWQpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfXNldE1vZGVsKGUpe2lmKHRoaXMuX2RhdGFVcGRhdGVkSW5mby5kZXN0cm95KCksbnVsbD09PWUpcmV0dXJuIHRoaXMuX21vZGVsPWUsdm9pZCh0aGlzLl9kYXRhVXBkYXRlZEluZm89bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLnNwYXduKCkpO3RoaXMuX2RhdGFVcGRhdGVkSW5mbz1lLnN0YXR1cygpLnNwYXduKCksCnRoaXMuX2RhdGFVcGRhdGVkSW5mby5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfW9uUGlsbENsaWNrKCl7dmFyIGUsdCxhO251bGwhPT10aGlzLl9tb2RlbCYmKGU9Im1kX3BpbGxfY2xpY2siLHQ9ImNoYXJ0IixhPXRoaXMuX21vZGVsLnByb05hbWUoKXx8dm9pZCAwLCgwLHouZ2V0VHJhY2tlcikoKS50aGVuKChzPT5zPy50cmFja01hcmtldERhdGFTdGF0dXNFdmVudChlLHQsYSkpKSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7Y29uc3QgdD10aGlzLl9vcHRpb25zLm1hcmtldFN0YXR1cz8udmFsdWUoKTtyZXR1cm4iZXhwaXJlZCI9PT10fHwiZGVsaXN0ZWQiPT09dHx8KCEoIkJBVFNUb1JlYWx0aW1lIiE9PWV8fCF0aGlzLl9tb2RlbD8uaXNTcHJlYWQoKSl8fHN1cGVyLl9zaG91bGRCZUhpZGRlbkJ5U3RhdHVzKGUpKX1fZ2V0VG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fZ2V0U2hvcnRUZXh0cygpO3JldHVybiBudWxsPT09ZT9udWxsOk9iamVjdC52YWx1ZXMoZSkuam9pbigiIMK3ICIpfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCksdD10aGlzLl9zdGF0dXMudmFsdWUoKTtpZihudWxsPT09ZXx8bnVsbD09PXQpcmV0dXJuIHZvaWQgdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCk7Y29uc3QgYT10aGlzLl9nZXRTaG9ydFRleHRzKCksW3Msb109YXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMuX2dldEh0bWxzKCksdGhpcy5fZ2V0QWN0aW9ucygpXSk7aWYoZSE9PXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpKXJldHVybjtjb25zdCBpPVtdO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5tb2RlOyJCQVRTVG9SZWFsdGltZSI9PT1lJiZ0aGlzLl9tb2RlbD8uaXNTcHJlYWQoKXx8aS5wdXNoKHtpY29uOnRoaXMuX2dldEljb24oZSksaWNvbkNsYXNzTmFtZTp0aGlzLl9nZXRGdWxsVG9vbHRpcEljb25DbGFzc05hbWVzKGUpLHRpdGxlOmEmJmFbZV0sdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6cyYmc1tlXSxzaXplOnRoaXMuX3NpemUsYWN0aW9uOm8mJm9bZV19KX10aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShpKX1fdXBkYXRlU3RhdHVzKGUpe2NvbnN0IHQ9bnVsbCE9PWU/ZVswXS5tb2RlOm51bGw7dGhpcy5fc3RhdHVzLnNldFZhbHVlKHQ/P251bGwsITApLHRoaXMuX3VwZGF0ZUJsaW5raW5nTW9kZSgpfWFzeW5jIF9nZXRIdG1scygpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCk7aWYobnVsbD09PWV8fG51bGw9PT10aGlzLl9tb2RlbClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO2NvbnN0IHQ9e30scz10aGlzLl9tb2RlbC5zeW1ib2xOYW1lKCk7bGV0IG89bnVsbDtjb25zdCBpPXRoaXMuX21vZGVsLmxpc3RlZEV4Y2hhbmdlKCkscj10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RyeXtvPWF3YWl0IHRoaXMuX21vZGVsLmRlc2NyaXB0aW9uKCl9Y2F0Y2goZSl7Wi5sb2dFcnJvcihgQ2FuJ3QgZ2V0IGV4Y2hhbmdlIGRlc2NyaXB0aW9uLCByZWFzb246ICR7KDAsSy5lcnJvclRvU3RyaW5nKShlKX1gKX1mb3IoY29uc3QgdSBvZiBlKXtjb25zdCBlPXUubW9kZTtpZih0W2VdPVtdLFsiRGVsYXlUb1JlYWx0aW1lIiwiRGVsYXlOb1JlYWx0aW1lIiwiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IiwuLi5CXS5pbmNsdWRlcyhlKSYmKHRbZV0ucHVzaCgoMCxkLmdldERlbGF5SHRtbCkocyx0aGlzLl9tb2RlbC50aW1lKCkpKSx0aGlzLl9vcHRpb25zLnN1YnNjcmlwdGlvbkZ1bGxJbmZvJiZudWxsIT09byYmIkRlbGF5VG9SZWFsdGltZSI9PT1lJiZ0W2VdLnB1c2goKDAsZC5nZXREZWxheVRvUmVhbHRpbWVKc3gpKEkuY3JlYXRlRWxlbWVudCgiYiIsbnVsbCxvKSkpLCJEZWxheU5vUmVhbHRpbWUiPT09ZSYmdFtlXS5wdXNoKCgwLGQuZ2V0RGVsYXlOb1JlYWx0aW1lSHRtbCkoKSksIkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudCI9PT1lJiZ0W2VdLnB1c2goKDAsZC5nZXREZWxheVdpdGhvdXRNYXJrZXRBZ3JlZW1lbnRIdG1sKShpKSksdGhpcy5fb3B0aW9ucy5zdWJzY3JpcHRpb25GdWxsSW5mbyYmQi5pbmNsdWRlcyhlKSYmdFtlXS5wdXNoKCgwLGQuZ2V0UnRGcmVlRm9yUmVnaXN0ZXJlZFVzZXJzSHRtbCkoaSkpKSwiRU9EIj09PWUmJih0W2VdPVtSLmVvZEh0bWxdKSwiRU9EVG9SZWFsdGltZSI9PT1lJiYodFtlXT1bUi5lb2RUb1JlYWx0aW1lSHRtbC5mb3JtYXQoe2xpc3RlZEV4Y2hhbmdlOmA8Yj4ke2l9PC9iPmB9KV0pLCJUaWNrQnlUaWNrIj09PWUpe2NvbnN0IHM9dm9pZCAwPT09dS51cGRhdGVQZXJpb2Q/Ui50aWNrQnlUaWNrSHRtbDFGdWxsSW5mbzooMCxsLmh0bWxFc2NhcGUpKG4udChudWxsLHtjb3VudDp1LnVwZGF0ZVBlcmlvZCxyZXBsYWNlOnthbW91bnQ6KHUudXBkYXRlUGVyaW9kPz8xKS50b1N0cmluZygpfSxwbHVyYWw6IkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJ9LGEoNzU1MTkyKSkpLG89dm9pZCAwPT09dS51cGRhdGVQZXJpb2Q/Ui50aWNrQnlUaWNrSHRtbDE6KDAsbC5odG1sRXNjYXBlKShuLnQobnVsbCx7Y291bnQ6dS51cGRhdGVQZXJpb2QscmVwbGFjZTp7YW1vdW50Oih1LnVwZGF0ZVBlcmlvZD8/MSkudG9TdHJpbmcoKX0scGx1cmFsOiJEYXRhIGlzIHVwZGF0ZWQgb25jZSBldmVyeSB7YW1vdW50fSBzZWNvbmRzLCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHVwZGF0ZXMgb24gdGhlIG1hcmtldC4ifSxhKDc3MTM1NikpKTt0W2VdLnB1c2godGhpcy5fb3B0aW9ucy5zdWJzY3JpcHRpb25GdWxsSW5mbz9zOm8pLHRoaXMuX29wdGlvbnMuc3Vic2NyaXB0aW9uRnVsbEluZm8mJnRbZV0ucHVzaChSLnRpY2tCeVRpY2tIdG1sMil9aWYoaSE9PXImJiJCQVRTVG9SZWFsdGltZSI9PT1lKXtjb25zdCBhPSgwLE4uaXNBbWV4VG9DYm9lTWlncmF0ZWRTeW1ib2wpKGksdGhpcy5fbW9kZWwucHJvUGVybSgpKQo7Ti5jcnVjaWFsUmVhbHRpbWVCYXRzLmluY2x1ZGVzKHIpfHxhP3RbZV0ucHVzaChSLmJhdHNUb1JlYWx0aW1lQ3J1Y2lhbEh0bWwuZm9ybWF0KHtleGNoYW5nZTphPyJOWVNFIEFyY2EiOmksb3JpZ2luYWxFeGNoYW5nZTpyfSkpOnRbZV0ucHVzaChSLmJhdHNUb1JlYWx0aW1lSHRtbDEuZm9ybWF0KHtzeW1ib2xOYW1lOnMsZXhjaGFuZ2U6cn0pLCIiIT09aT8oMCxsLmh0bWxFc2NhcGUpKFIuYmF0c1RvUmVhbHRpbWVIdG1sMldpdGhFeGNoYW5nZSkuZm9ybWF0KHtleGNoYW5nZTppfSk6KDAsbC5odG1sRXNjYXBlKShSLmJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2UpKX0iT3Zlcm5pZ2h0UXVvdGVzIj09PWUmJnRbZV0ucHVzaChSLm92ZXJuaWdodFF1b3Rlc1RleHQpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9YXN5bmMgX2dldEFjdGlvbnMoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lfHxudWxsPT09dGhpcy5fbW9kZWwpcmV0dXJuIG51bGw7Y29uc3QgdD17fTtpZih0aGlzLl9vcHRpb25zLnN1YnNjcmlwdGlvbkZ1bGxJbmZvKWZvcihjb25zdCBhIG9mIGUpe2NvbnN0IGU9YS5tb2RlO2lmKEIuaW5jbHVkZXMoYS5tb2RlKSYmKHRbZV09e3RleHQ6KDAsZC5nZXRDcmVhdGVGcmVlQWNjb3VudFRpdGxlKSgpLG9uQ2xpY2s6KCk9PnsoMCwkLnNob3dTaWduTW9kYWwpKHtzb3VyY2U6IkRhdGEgd2FybmluZyBpbmRpY2F0b3IifSl9fSksIkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudCI9PT1lKXtjb25zdCBhPXRoaXMuX21vZGVsLnByb1Blcm0oKXx8dGhpcy5fbW9kZWwubGlzdGVkRXhjaGFuZ2UoKTt0W2VdPXt0ZXh0OigwLGQuZ2V0RmlsbEV4Y2hhbmdlQWdyZWVtZW50c1RpdGxlKSgpLG9uQ2xpY2s6KCk9PntYKHtleGNoYW5nZTphLnRvTG93ZXJDYXNlKCksaXNGcmVlRXhjaGFuZ2U6ITAsaGlkZUNsb3NlQnV0dG9uOiExfSl9fX1pZigiQkFUU1RvUmVhbHRpbWUiPT09ZSl7Y29uc3QgYT10aGlzLl9tb2RlbC5saXN0ZWRFeGNoYW5nZSgpLHM9KDAsTi5pc0FtZXhUb0Nib2VNaWdyYXRlZFN5bWJvbCkoYSx0aGlzLl9tb2RlbC5wcm9QZXJtKCkpO2lmKE4uY3J1Y2lhbFJlYWx0aW1lQmF0cy5pbmNsdWRlcyhhKXx8cyl7Y29uc3Qgbz10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6IkJBVFNUb1JlYWx0aW1lIixjb3VudHJ5OnRoaXMuX21vZGVsLmNvdW50cnkoKSxsaW5rOiJodHRwczovL3d3dy5jYm9lLmNvbS91cy9lcXVpdGllcy9tYXJrZXRfc3RhdGlzdGljcyIsb3JpZ2luYWxFeGNoYW5nZTpvLGxpc3RlZEV4Y2hhbmdlOnM/Ik5ZU0UgQXJjYSI6YSxleGNoYW5nZTp0aGlzLl9tb2RlbC5wcm9QZXJtKCl9KX1lbHNlIHRbZV09e3RleHQ6KDAsZC5nZXRMZWFybk1vcmVUaXRsZSkoKSxvbkNsaWNrOigpPT57dGhpcy5fc2hvd1N1cHBvcnREaWFsb2dGb3JVcGRhdGVNb2RlKEEuQkFUU19UT19SRUFMVElNRV9TT0xVVElPTl9JRCl9fX1pZigiVGlja0J5VGljayI9PT1lfHwiRGVsYXlUb1JlYWx0aW1lIj09PWUpe2xldCBhPW51bGw7Y29uc3Qgcz10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RyeXthPWF3YWl0IHRoaXMuX21vZGVsLmRlc2NyaXB0aW9uKCl9Y2F0Y2goZSl7Wi5sb2dFcnJvcihgQ2FuJ3QgZ2V0IGV4Y2hhbmdlIGRlc2NyaXB0aW9uLCByZWFzb246ICR7KDAsSy5lcnJvclRvU3RyaW5nKShlKX1gKX10W2VdPXRoaXMuX2dvUHJvRGlhbG9nQWN0aW9uKHtmZWF0dXJlOmUsdGltZTp0aGlzLl9tb2RlbC50aW1lKCksZGVzY3JpcHRpb246YSxleGNoYW5nZTp0aGlzLl9tb2RlbC5wcm9QZXJtKCl8fHMudG9Mb3dlckNhc2UoKX0pfSJPdmVybmlnaHRRdW90ZXMiPT09ZSYmKHRbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6Ik92ZXJuaWdodFF1b3RlcyIsZXhjaGFuZ2U6dGhpcy5fbW9kZWwucHJvUGVybSgpfHx0aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpLnRvTG93ZXJDYXNlKCl9KSksIkVPRFRvUmVhbHRpbWUiPT09ZSYmKHRbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6IkVPRFRvUmVhbHRpbWUiLGV4Y2hhbmdlOnRoaXMuX21vZGVsLnByb1Blcm0oKXx8dGhpcy5fbW9kZWwudHJhZGVkRXhjaGFuZ2UoKS50b0xvd2VyQ2FzZSgpfSkpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9X3Nob3dTdXBwb3J0RGlhbG9nRm9yVXBkYXRlTW9kZShlKXtpZigoMCxqLnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDplfSksbnVsbD09PXRoaXMuX21vZGVsKXJldHVybjtjb25zdCB0PXRoaXMuX21vZGVsLnByb05hbWUoKTsoMCx6LmdldFRyYWNrZXIpKCkudGhlbigoZT0+ZSYmdCYmZS50cmFja01hcmtldERhdGFTb2x1dGlvbkV2ZW50KHQpKSl9X2dldFNob3J0VGV4dHMoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lfHxudWxsPT09dGhpcy5fbW9kZWwpcmV0dXJuIG51bGw7Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPXMubW9kZTtpZihbIkRlbGF5VG9SZWFsdGltZSIsIkRlbGF5Tm9SZWFsdGltZSIsLi4uQiwiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50Il0uaW5jbHVkZXMoZSkmJih0W2VdPVIuZGVsYXlUb29sdGlwKSxbIkVPRCIsIkVPRFRvUmVhbHRpbWUiXS5pbmNsdWRlcyhlKSYmKHRbZV09Ui5lb2RUb29sdGlwKSwiVGlja0J5VGljayI9PT1lKXtjb25zdCBvPXZvaWQgMD09PXMudXBkYXRlUGVyaW9kP1Iubm90QWNjdXJhdGUxUGVyU2Vjb25kVG9vbHRpcDooMCxsLmh0bWxFc2NhcGUpKG4udChudWxsLHtwbHVyYWw6Ik9uZSB1cGRhdGUgZXZlcnkge2Ftb3VudH0gc2Vjb25kcyIsY291bnQ6cy51cGRhdGVQZXJpb2QscmVwbGFjZTp7YW1vdW50OihzLnVwZGF0ZVBlcmlvZD8/MSkudG9TdHJpbmcoKX19LGEoMjU2ODE3KSkpO3RbZV09b31pZigiQkFUU1RvUmVhbHRpbWUiPT09ZSl7CmNvbnN0IGE9dGhpcy5fbW9kZWwudHJhZGVkRXhjaGFuZ2UoKSxzPXRoaXMuX21vZGVsLmxpc3RlZEV4Y2hhbmdlKCk7dFtlXT1hIT09cz9SLmV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcC5mb3JtYXQoe2V4Y2hhbmdlOnMsb3JpZ2luYWxFeGNoYW5nZTphfSk6YX0iT3Zlcm5pZ2h0UXVvdGVzIj09PWUmJih0W2VdPVIub3Zlcm5pZ2h0UXVvdGVzVGl0bGUpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9X3VwZGF0ZUJsaW5raW5nTW9kZSgpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCk7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fZGF0YU1vZGVCbGlua2luZ1N0YXR1c2VzLnZhbHVlKCk7Zm9yKGNvbnN0IGEgb2YgZSlpZighdC5pbmNsdWRlcyhhLm1vZGUpKXJldHVybiB2b2lkIHRoaXMuaXNCbGlua2luZ01vZGUuc2V0VmFsdWUoITApO3RoaXMuaXNCbGlua2luZ01vZGUuc2V0VmFsdWUoITEpfV90dXJuT2ZmQmxpbmtpbmcoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGwhPT1lKWZvcihjb25zdCB0IG9mIGUpVSh0Lm1vZGUpfV9nb1Byb0RpYWxvZ0FjdGlvbihlKXtyZXR1cm57dGV4dDooMCxkLmdldExlYXJuTW9yZVRpdGxlKSgpLG9uQ2xpY2s6KCk9PntudWxsIT09dGhpcy5fbW9kZWwmJihlLmdvcHJvU291cmNlPWUuZ29wcm9Tb3VyY2U/PyJjaGFydF9pbmZvX3BpbGxfcGF5d2FsbCIsKDAsYy5vcGVuUGF5d2FsbCkoZSx7YWZ0ZXJPcGVuOigpPT4oMCxxLnRyYWNrRXZlbnQpKCJEYXRhIFdhcm5pbmciLCJGdWxsIGRlc2NyaXB0aW9uIHZpc2libGUiLGUuZmVhdHVyZSl9KSl9fX19Y29uc3QgcmU9bi50KG51bGwsdm9pZCAwLGEoMjI4MDQxKSksbmU9bmV3IE1hcChbWyJoaWdoIixuZXcgTWFwKFtbInNtYWxsIixwXSxbIm1lZGl1bSIsbV0sWyJsYXJnZSIsbV1dKV0sWyJsb3ciLG5ldyBNYXAoW1sic21hbGwiLHBdLFsibWVkaXVtIixtXSxbImxhcmdlIixtXV0pXV0pLGxlPW5ldyBNYXAoW1siaGlnaCIsXy5kYXRhUHJvYmxlbUhpZ2hdLFsibG93IixfLmRhdGFQcm9ibGVtTG93XV0pLHVlPW5ldyBNYXAoW1siaGlnaCIscmVdLFsibG93IixyZV1dKSxjZT1uZXcgTWFwKFtbImhpZ2giLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKSJdLFsibG93IiwidmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKSJdXSk7Y2xhc3MgZGUgZXh0ZW5kcyBoLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHt0b29sdGlwTWFwOnVlLGljb25NYXA6bmUsY2xhc3NOYW1lTWFwOmxlLHRpdGxlTWFwOnVlLHRpdGxlQ29sb3JNYXA6Y2Usc2l6ZTp0fSksdGhpcy5fZGF0YVByb2JsZW1zPW5ldyBzLldhdGNoZWRWYWx1ZShbXSkuc3Bhd24oKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLnNldE1vZGVsKGUpfWRlc3Ryb3koKXt0aGlzLl9kYXRhUHJvYmxlbXMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1pc0RhdGFQcm9ibGVtQ3JpdGljYWwoKXtyZXR1cm4gdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsfXNldE1vZGVsKGUpe3RoaXMuX2RhdGFQcm9ibGVtcy5kZXN0cm95KCksbnVsbCE9PWU/KHRoaXMuX2RhdGFQcm9ibGVtcz1lLmRhdGFQcm9ibGVtcygpLnNwYXduKCksdGhpcy5fZGF0YVByb2JsZW1zLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSkpOnRoaXMuX2RhdGFQcm9ibGVtcz1uZXcgcy5XYXRjaGVkVmFsdWUoW10pLnNwYXduKCl9YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLnN0YXR1cygpLnZhbHVlKCksdD10aGlzLl9kYXRhUHJvYmxlbXMudmFsdWUoKTtpZihudWxsPT09ZXx8MD09PXQubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX2Z1bGxUb29sdGlwLnNldFZhbHVlKG51bGwpO2NvbnN0IGE9dC5tYXAoKCh0LGEpPT4oe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dC50aXRsZT8/KDA9PT1hP3RoaXMuX2dldFRpdGxlKGUpOm51bGwpLHRpdGxlQ29sb3I6dGhpcy5fZ2V0VGl0bGVDb2xvcihlKSxodG1sOlsoMCxsLmh0bWxFc2NhcGUpKHQudGV4dCldLHNpemU6dGhpcy5fc2l6ZSxhY3Rpb246dGhpcy5fZ2V0QWN0aW9uKGUpfSkpKTt0aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShhKX1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5fZ2V0RGF0YVByb2JsZW1DdXN0b21UaXRsZSgpPz9zdXBlci5fZ2V0VG9vbHRpcChlKX1fZ2V0VGl0bGUoZSl7cmV0dXJuIHRoaXMuX2dldERhdGFQcm9ibGVtQ3VzdG9tVGl0bGUoKT8/c3VwZXIuX2dldFRpdGxlKGUpfV91cGRhdGVTdGF0dXMoZSl7Y29uc3QgdD1lWzBdPy5zZXZlcml0eT8/bnVsbCxhPXRoaXMuX3N0YXR1cy52YWx1ZSgpIT09dDt0aGlzLl9zdGF0dXMuc2V0VmFsdWUodCksdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsLnNldFZhbHVlKGZ1bmN0aW9uKGUpe3JldHVybiJoaWdoIj09PWV9KHQpKSxhfHx0aGlzLl91cGRhdGVGdWxsVG9vbHRpcCgpfV9nZXREYXRhUHJvYmxlbUN1c3RvbVRpdGxlKCl7cmV0dXJuIHRoaXMuX2RhdGFQcm9ibGVtcy52YWx1ZSgpPy5bMF0/LnRpdGxlfHxudWxsfX12YXIgaGU9YSg5NzA2MzUpLHBlPWEoNzg2NDIwKSxtZT1hKDM3ODU5OSkKO2NvbnN0IF9lPW4udChudWxsLHZvaWQgMCxhKDczMjc3NikpLFNlPW4udChudWxsLHZvaWQgMCxhKDY5MjYxNSkpLGZlPW5ldyBNYXAoW1shMCxuZXcgTWFwKFtbInNtYWxsIixwZV0sWyJtZWRpdW0iLG1lXSxbImxhcmdlIixtZV1dKV0sWyExLG5ldyBNYXAoW1sic21hbGwiLCIiXSxbIm1lZGl1bSIsIiJdLFsibGFyZ2UiLCIiXV0pXV0pLHdlPW5ldyBNYXAoW1shMCxfLmludmFsaWRTeW1ib2xdLFshMSxudWxsXV0pLGJlPW5ldyBNYXAoW1shMCxfZV0sWyExLG51bGxdXSksZ2U9bmV3IE1hcChbWyEwLF9lXSxbITEsbnVsbF1dKSx2ZT1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpIl0sWyExLG51bGxdXSkseWU9bmV3IE1hcChbWyEwLFtTZV1dLFshMSxudWxsXV0pLE1lPW5ldyBNYXAoW1shMCxudWxsXSxbITEsbnVsbF1dKTt2YXIgSWUsRWU9YSg1NjkzOTgpLENlPWEoMTc5NzcxKSxUZT1hKDkxNDQ4Nyksa2U9YS5uKFRlKSx4ZT1hKDM4MjU5Myk7ZnVuY3Rpb24gRGUoZSl7cmV0dXJuIHZvaWQgMCE9PWUudGV4dD9lLnRleHQ6YCR7ZS5saW5lTnVtYmVyfSR7ZS5mdW5jdGlvbk9yU2NvcGVOYW1lfWB9ZnVuY3Rpb24gVmUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc3RhY2tUcmFjZTpzLGJhckluZGV4Om8saW5GdW5jdGlvbjppfT1lLHI9KDAsSS51c2VNZW1vKSgoKCk9PnMubGVuZ3RoPjEwP1suLi5zLnNsaWNlKDAsNSkse3RleHQ6Ii4uLiJ9LC4uLnMuc2xpY2UoLTUpXTpzKSxbc10pO3JldHVybiByLmxlbmd0aHx8dm9pZCAwIT09b3x8dm9pZCAwIT09aT9JLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHhlLndyYXBTdGFja1RyYWNlLHQpfSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHhlLmluZm8seGUuaGlkZUVtcHR5KX0sdm9pZCAwIT09byYmSS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsSS5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLGAke24udChudWxsLHtjb250ZXh0OiJwaW5lIHN0YWNrIHRyYWNlIn0sYSg4ODYxMzMpKX06IGApLEkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTp4ZS5iYXJJbmRleH0sbykpLGkmJkkuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLEkuY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxgJHtuLnQobnVsbCx7Y29udGV4dDoicGluZSBzdGFjayB0cmFjZSJ9LGEoODE5MTYzKSl9OiBgKSxJLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6eGUuZnVuY3Rpb25OYW1lfSxpKSkpLEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnhlLmhpZGVFbXB0eX0sci5tYXAoKChlLHQpPT5JLmNyZWF0ZUVsZW1lbnQoUGUse2tleTpgJHtEZShlKX0ke3R9YCwuLi5lfSkpKSkpOm51bGx9ZnVuY3Rpb24gUGUoZSl7Y29uc3R7ZnVuY3Rpb25PclNjb3BlTmFtZTp0LGxpbmVOdW1iZXI6YSx0ZXh0OnN9PWU7cmV0dXJuIEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnhlLnN0YWNrVHJhY2VMaW5lfSxzP0kuY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxzKTpJLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsImF0ICIsSS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnhlLmZ1bmN0aW9uTmFtZX0sdCwiKCkiKSwiOiIsYSkpfSFmdW5jdGlvbihlKXtlW2UuTWF4U3RhY2tUcmFjZUNvdW50PTEwXT0iTWF4U3RhY2tUcmFjZUNvdW50In0oSWV8fChJZT17fSkpO3ZhciBBZT1hKDM0NDc4NSksUmU9YSg2MzI0NDQpLEJlPWEoNTU3MDY1KSxOZT1hKDg1NDgyMCksRmU9YSg0Njg0OTMpLFdlPWEoMjc2MDE5KTtmdW5jdGlvbiBPZShlKXtjb25zdHtjbGFzc05hbWU6dCxwaW5lU291cmNlQ29kZU1vZGVsOnMscGluZUVkaXRvck9wZW5QYXJhbXM6b309ZSxbaSxyXT0oMCxJLnVzZVN0YXRlKSghMSksbD0oMCxGZS51c2VQcm9taXNlKSgoKCk9PnMpKTsoMCxJLnVzZUVmZmVjdCkoKCgpPT57aWYobnVsbD09PWwpcmV0dXJuO2NvbnN0IGU9ZT0+e2NvbnN0IHQ9Qm9vbGVhbihvLmVycm9yPy5zdGFydD8/dm9pZCAwKTtyKGUmJnQpfTtyZXR1cm4gbC5pc0FibGVTaG93U291cmNlQ29kZSgpLnN1YnNjcmliZShlLHtjYWxsV2l0aExhc3Q6ITB9KSwoKT0+bC5pc0FibGVTaG93U291cmNlQ29kZSgpLnVuc3Vic2NyaWJlKGUpfSksW28sbF0pO2NvbnN0IHU9KDAsSS51c2VDYWxsYmFjaykoKCgpPT57KDAsV2UuZ2xvYmFsQ2xvc2VNZW51KSgpLG8mJmw/LnNob3dQaW5lU291cmNlQ29kZShvKX0pLFtsLG9dKTtyZXR1cm4gaT9JLmNyZWF0ZUVsZW1lbnQoTmUuTGlnaHRCdXR0b24se2NsYXNzTmFtZTp0LG9uQ2xpY2s6dSxzaXplOiJ4c21hbGwifSxuLnQobnVsbCx2b2lkIDAsYSg2NDExMDkpKSk6bnVsbH12YXIgSGU9YSg3NTgyMzgpLExlPWEoNzgzMjU0KSxVZT1hKDgwMjUyOCksR2U9YSgyMjMwODApO2Z1bmN0aW9uIHplKHtjb2RlOmV9KXtjb25zdCB0PSgwLEZlLnVzZVByb21pc2UpKChhc3luYygpPT57dHJ5e3JldHVybiBhd2FpdCgwLFVlLmZldGNoRWRpdG9yRXJyb3IpKGUpfWNhdGNoKGUpe3JldHVybiBudWxsfX0pLHZvaWQgMCxbZV0pO3JldHVybiB0P0kuY3JlYXRlRWxlbWVudChOZS5MaWdodEJ1dHRvbix7c2l6ZToieHNtYWxsIix2YXJpYW50OiJzZWNvbmRhcnkiLGVuZFNsb3Q6SS5jcmVhdGVFbGVtZW50KEhlLklubGluZUljb24se2ljb246R2V9KSxvbkNsaWNrOigpPT5vcGVuKHQsIl9ibGFuayIpfSxMZS50KG51bGwse2NvbnRleHQ6IlBpbmUncyBlcnJvciBjb2RlIn0sYSg5OTI2MzYpKSk6bnVsbH12YXIgcWU9YSg4MzAxOTcpO2Z1bmN0aW9uICRlKHtlZGl0b3JFcnJvcjplLHNob3dSZXBvcnRJdEJ1dHRvbjp0LGNvZGU6YSxjbGFzc05hbWU6c30pe3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHFlLmVkaXRvckVycm9yQnV0dG9ucyxzKX0sZSx0LGEpfXZhciBqZT1hKDg3Nzk5OSk7ZnVuY3Rpb24gUWUoZSl7cmV0dXJuIGUubWFwKChlPT5gYXQgJHtlLmZ1bmN0aW9uT3JTY29wZU5hbWV9KCk6JHtlLmxpbmVOdW1iZXJ9YCkpLmpvaW4oIlxuIil9ZnVuY3Rpb24gWGUoZSl7CmNvbnN0e3N0YWNrVHJhY2U6dCxlcnJvck1lc3NhZ2U6cyxwaW5lU291cmNlQ29kZU1vZGVsOm8sYmFySW5kZXg6aSxpbkZ1bmN0aW9uOnJ9PWUsW2wsdV09KDAsSS51c2VTdGF0ZSkoITEpLGM9KDAsSS51c2VSZWYpKG51bGwpLGQ9KDAsSS51c2VNZW1vKSgoKCk9Pntjb25zdCBlPXQuZmluZCgoZT0+IWUuaWR8fCEoMCxSZS5pc1B1Ymxpc2hlZFBpbmVJZCkoZS5pZCkpKTtyZXR1cm4gdm9pZCAwPT09ZT97fTp7c3RhY2tUcmFjZTp0LGVycm9yOnttZXNzYWdlOnMsc3RhcnQ6e2xpbmU6ZS5saW5lTnVtYmVyLGNvbHVtbjowfX19fSksW3MsdF0pLGg9a2UoKShqZS53cmFwRXJyb3IsbCYmamUuY2xpY2tlZEFuaW0pO3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpqZS53cmFwcGVyfSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLGNsYXNzTmFtZTpoLG9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYobClyZXR1cm47aWYoKDAsQmUuY29weVRvQ2xpcGJvYXJkKSh7dGV4dDpRZSh0KX0pLG51bGw9PT1jLmN1cnJlbnQpcmV0dXJuOygwLEFlLnNob3dPbkVsZW1lbnQpKGMuY3VycmVudCx7dG9vbHRpcERlbGF5OjAsY29udGVudDp7dHlwZToidGV4dCIsZGF0YTpuLnQobnVsbCx2b2lkIDAsYSg0Njk4NDEpKX19KSx1KCEwKSxzZXRUaW1lb3V0KCgoKT0+eygwLEFlLmhpZGUpKCksdSghMSl9KSwyZTMpfX0scy5sZW5ndGgmJkkuY3JlYXRlRWxlbWVudChLZSx7ZXJyb3JNZXNzYWdlOnN9KSxJLmNyZWF0ZUVsZW1lbnQoVmUse3N0YWNrVHJhY2U6dCxiYXJJbmRleDppLGluRnVuY3Rpb246cixjbGFzc05hbWU6amUud3JhcFN0YWNrVHJhY2V9KSksSS5jcmVhdGVFbGVtZW50KCRlLHtlZGl0b3JFcnJvcjpJLmNyZWF0ZUVsZW1lbnQoT2Use2NsYXNzTmFtZToiZWRpdG9yQnV0dG9uIixwaW5lU291cmNlQ29kZU1vZGVsOm8scGluZUVkaXRvck9wZW5QYXJhbXM6ZH0pLGNvZGU6ZS5jb2RlJiZJLmNyZWF0ZUVsZW1lbnQoemUse2NvZGU6ZS5jb2RlfSl9KSl9ZnVuY3Rpb24gS2UoZSl7Y29uc3R7ZXJyb3JNZXNzYWdlOnR9PWU7cmV0dXJuIEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmplLmVycm9yVGV4dH0sdCl9ZnVuY3Rpb24gWmUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsZWRpdG9yRXJyb3I6YSxwaW5lU291cmNlQ29kZU1vZGVsOnN9PWU7cmV0dXJuIGEuaWQuc3RhcnRzV2l0aCgiVVNFUiIpP0kuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLEkuY3JlYXRlRWxlbWVudChPZSx7Y2xhc3NOYW1lOnQscGluZVNvdXJjZUNvZGVNb2RlbDpzLHBpbmVFZGl0b3JPcGVuUGFyYW1zOntlcnJvcjphfX0pKTpudWxsfWZ1bmN0aW9uIEplKGUpe2NvbnN0e2NsYXNzTmFtZTp0fT1lO3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxJLmNyZWF0ZUVsZW1lbnQoTmUuTGlnaHRCdXR0b24se2NsYXNzTmFtZTp0LG9uQ2xpY2s6ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLCgwLGouc2hvd1N1cHBvcnREaWFsb2cpKHtpbml0aWFsU3RhdGU6ImNoYXQtYXNzaXN0YW50In0pfSxzaXplOiJ4c21hbGwifSxuLnQobnVsbCx2b2lkIDAsYSg1MDg3NDkpKSkpfWNsYXNzIFlle2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NsaWNrT25MaW5lQ2FsbGJhY2s9ZT0+e0NlLmVtaXQoInN0dWR5X3N0YWNrX3RyYWNlX29wZW5fb25fbGluZSIsdGhpcy5fc291cmNlLmVudGl0eUlkPy4oKT8/IiIsZSl9LHRoaXMuX3NvdXJjZT1lfWRlc3Ryb3koKXt9cmVuZGVyZXIoZSx0KXtjb25zdCBhPXRoaXMuX3NvdXJjZS5lcnJvclN0YXR1cygpLnZhbHVlKCk7cmV0dXJuIG51bGw9PT1hP251bGw6YS5zdGFja1RyYWNlPygwLEkuY3JlYXRlRWxlbWVudCkoWGUse2tleTplLHBpbmVTb3VyY2VDb2RlTW9kZWw6dGhpcy5fc291cmNlLnBpbmVTb3VyY2VDb2RlTW9kZWwoKSxlcnJvck1lc3NhZ2U6YS5lcnJvcj8/IiIsc3RhY2tUcmFjZTphLnN0YWNrVHJhY2UsY2xpY2tPbkxpbmVDYWxsYmFjazp0aGlzLl9jbGlja09uTGluZUNhbGxiYWNrLGNvZGU6YS5jb2RlLGJhckluZGV4OmEuYmFySW5kZXh9KTphLmVkaXRvckVycm9yfHxhLnNob3dSZXBvcnRJdEJ1dHRvbnx8YS5jb2RlPygwLEkuY3JlYXRlRWxlbWVudCkoJGUse2tleTplLGNsYXNzTmFtZTp0LGVkaXRvckVycm9yOmEuZWRpdG9yRXJyb3ImJigwLEkuY3JlYXRlRWxlbWVudCkoWmUse2VkaXRvckVycm9yOmEuZWRpdG9yRXJyb3IscGluZVNvdXJjZUNvZGVNb2RlbDp0aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbCgpfSksc2hvd1JlcG9ydEl0QnV0dG9uOmEuc2hvd1JlcG9ydEl0QnV0dG9uJiYoMCxJLmNyZWF0ZUVsZW1lbnQpKEplKSxjb2RlOmEuY29kZSYmKDAsSS5jcmVhdGVFbGVtZW50KSh6ZSx7Y29kZTphLmNvZGV9KX0pOm51bGx9dXBkYXRlU291cmNlKGUpe3RoaXMuX3NvdXJjZT1lfX12YXIgZXQ9YSg5MDExMDgpLHR0PWEoOTg5ODcyKSxhdD1hKDkxMzg0Myk7Y29uc3Qgc3Q9bi50KG51bGwsdm9pZCAwLGEoMTA3ODcwKSksb3Q9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLHR0XSxbIm1lZGl1bSIsYXRdLFsibGFyZ2UiLGF0XV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksaXQ9bmV3IE1hcChbWyEwLF8udXBkYXRlQXZhaWxhYmxlXSxbITEsbnVsbF1dKSxydD1uZXcgTWFwKFtbITAsc3RdLFshMSxudWxsXV0pLG50PW5ldyBNYXAoW1shMCxzdF0sWyExLG51bGxdXSksbHQ9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbCkiXSxbITEsbnVsbF1dKTtjbGFzcyB1dCBleHRlbmRzIGguU3RhdHVzVmlld01vZGVse2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoe2ljb25NYXA6b3QsY2xhc3NOYW1lTWFwOml0LHRvb2x0aXBNYXA6cnQsdGl0bGVNYXA6bnQsdGl0bGVDb2xvck1hcDpsdCxzaXplOnR9KSx0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9wb3NzaWJsZVVwZGF0ZUluZm9ybWF0aW9uPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSwKdGhpcy5fbGFzdFVwZGF0ZUFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX2VudGl0eUlkPW5ldyBzLldhdGNoZWRWYWx1ZShlLmVudGl0eUlkPy4oKSksdGhpcy51cGRhdGVTb3VyY2UoZSksdGhpcy5fYXZhaWxhYmxlRm9yVXBkYXRlPSgwLG8uY29tYmluZSkoKChlLHQsYSk9PndpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ0JiYhIWEmJiEhZSYmKDAsZXQudXBkYXRlc0luZm9TdXBwb3J0ZWQpKGUuc2NyaXB0SWRQYXJ0KCk/PyIiKSksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC53ZWFrUmVmZXJlbmNlKCksdGhpcy5fdmlzaWJsZS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fcG9zc2libGVVcGRhdGVJbmZvcm1hdGlvbi53ZWFrUmVmZXJlbmNlKCkpfWRlc3Ryb3koKXt0aGlzLl9hdmFpbGFibGVGb3JVcGRhdGUuZGVzdHJveSgpLHRoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI/LmFib3J0KCksc3VwZXIuZGVzdHJveSgpfWVudGl0eUlkKCl7cmV0dXJuIHRoaXMuX2VudGl0eUlkLnJlYWRvbmx5KCl9dmlzaWJsZSgpe3JldHVybiB0aGlzLl9hdmFpbGFibGVGb3JVcGRhdGV9dXBkYXRlU291cmNlKGUpe3RoaXMuX2VudGl0eUlkLnNldFZhbHVlKGUuZW50aXR5SWQ/LigpKTtjb25zdCB0PWUucGluZVNvdXJjZUNvZGVNb2RlbCgpO3RoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7Y29uc3QgYT1uZXcgQWJvcnRDb250cm9sbGVyO3RoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI9YSx0LnRoZW4oKGU9PnthLnNpZ25hbC5hYm9ydGVkfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC5zZXRWYWx1ZShlKSxlJiZlLnJlcXVlc3RVcGRhdGVJbmZvcm1hdGlvbigpLnRoZW4oKGU9PnthLnNpZ25hbC5hYm9ydGVkfHwodGhpcy5fcG9zc2libGVVcGRhdGVJbmZvcm1hdGlvbi5zZXRWYWx1ZShlKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSYmZS5jdXJyZW50VmVyc2lvbi5pc0xlc3MoZS5sYXN0VmVyc2lvbikpKX0pKSl9KSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2RhdGFRYUlkKCl7cmV0dXJuInNjcmlwdC11cGRhdGUtc3RhdHVzIn19dmFyIGN0PWEoOTc1MTk4KSxkdD1hKDEzODk5NCksaHQ9YSg3OTE0MjcpLHB0PWEoNjMzNjQ0KSxtdD1hKDc1NzkyMyk7ZnVuY3Rpb24gX3QoZSl7Y29uc3R7Y2xhc3NOYW1lOnQscGluZVNvdXJjZUNvZGVNb2RlbDpzLG1vZGVsOm8sb25DbG9zZTppfT1lLHI9KDAsRmUudXNlUHJvbWlzZSkoKCgpPT5zKSksbD0oMCxGZS51c2VQcm9taXNlKSgoKCk9PnI/ci5yZXF1ZXN0VXBkYXRlSW5mb3JtYXRpb24oKTpQcm9taXNlLnJlc29sdmUobnVsbCkpLCgoKT0+e30pLFtyXSksdT1yPy5zY3JpcHRJZFBhcnQoKSxjPXUmJmh0LlN0dWR5TWV0YUluZm8uaGFzUHViU3VmZml4KHUpLGQ9KDAsRmUudXNlUHJvbWlzZSkoKCgpPT5jJiZyPygwLHB0LnNob3dBYm91dFRoZVN0dWR5SGFuZGxlcikocikudGhlbigoZT0+KHtoYW5kbGVyOmV9KSkpOlByb21pc2UucmVzb2x2ZShudWxsKSksKCgpPT57fSksW3IsY10pLFtoLHBdPSgwLEkudXNlU3RhdGUpKCgoKT0+Ri5nZXRCb29sKCJjaGFydC51cGRhdGVJbmRpY2F0b3JzT25BbGxDaGFydHMiLCEwKSkpO3JldHVybigwLEkudXNlRWZmZWN0KSgoKCk9PntGLnNldFZhbHVlKCJjaGFydC51cGRhdGVJbmRpY2F0b3JzT25BbGxDaGFydHMiLGgpfSksW2hdKSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptdC5kZXNjcmlwdGlvbn0sbi50KG51bGwsdm9pZCAwLGEoNTMzNzk5KSksZCYmSS5jcmVhdGVFbGVtZW50KCJhIix7Y2xhc3NOYW1lOm10Lmxpbmssb25DbGljazpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZD8uaGFuZGxlcj8uKCl9fSwiICIsbi50KG51bGwsdm9pZCAwLGEoMTgzMTMyKSkpKSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptdC5tb2RlfSxJLmNyZWF0ZUVsZW1lbnQoY3QuQ2hlY2tib3gse2NoZWNrZWQ6aCxvbkNoYW5nZTooKT0+cCgoZT0+IWUpKSxsYWJlbDpuLnQobnVsbCx2b2lkIDAsYSgzNDYzKSl9KSxJLmNyZWF0ZUVsZW1lbnQoZHQuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2ljb246ImluZm8iLGFyaWFMYWJlbDpuLnQobnVsbCx2b2lkIDAsYSgxOTQzMDQpKSx0b29sdGlwOm4udChudWxsLHZvaWQgMCxhKDE5NDMwNCkpfSkpLEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm10LmFjdGlvbnN9LEkuY3JlYXRlRWxlbWVudChOZS5MaWdodEJ1dHRvbix7Y2xhc3NOYW1lOnQsc2l6ZToieHNtYWxsIixvbkNsaWNrOmZ1bmN0aW9uKCl7bCYmKHI/LnVwZGF0ZVRvVmVyc2lvbihvLGwubGFzdFZlcnNpb24saCksaSgpKX0sZGF0YVFhSWQ6InVwZGF0ZS10by1sYXRlc3QtdmVyc2lvbi1idXR0b24ifSxuLnQobnVsbCx2b2lkIDAsYSg1ODEzODgpKSkpKX1jbGFzcyBTdHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3NvdXJjZT1lLHRoaXMuX21vZGVsPXR9ZGVzdHJveSgpe31yZW5kZXJlcihlLHQsYSl7cmV0dXJuKDAsSS5jcmVhdGVFbGVtZW50KShfdCx7a2V5OmUscGluZVNvdXJjZUNvZGVNb2RlbDp0aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbCgpLG1vZGVsOnRoaXMuX21vZGVsLGNsYXNzTmFtZTp0LG9uQ2xvc2U6YX0pfXVwZGF0ZVNvdXJjZShlKXt0aGlzLl9zb3VyY2U9ZX19dmFyIGZ0PWEoNTA1NTYpLHd0PWEoMjI2OTM3KSxidD1hKDk5OTMwMikKO2NvbnN0IGd0PW5ldyBNYXAoW1syLG5ldyBNYXAoW1sic21hbGwiLGJ0XSxbIm1lZGl1bSIsYnRdLFsibGFyZ2UiLGJ0XV0pXSxbMSxuZXcgTWFwKFtbInNtYWxsIixidF0sWyJtZWRpdW0iLGJ0XSxbImxhcmdlIixidF1dKV0sWzMsbmV3IE1hcChbWyJzbWFsbCIsYnRdLFsibWVkaXVtIixidF0sWyJsYXJnZSIsYnRdXSldXSksdnQ9bmV3IE1hcChbWzIsXy5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvcl0sWzEsXy5vcGVuZWRJblBpbmVFZGl0b3JdLFszLF8ub3BlbmVkSW5QaW5lRWRpdG9yXV0pLHl0PW5ldyBNYXAoW1syLFIub3BlbmVkSW5EZXRhY2hlZEVkaXRvclRpdGxlXSxbMSxSLm9wZW5lZEluRWRpdG9yVGl0bGVdLFszLFIub3BlbmVkSW5Cb3R0b21QYW5lbFRpdGxlXV0pLE10PW5ldyBNYXAoW1syLCgwLGZ0LmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpXSxbMSwoMCxmdC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWZvcmVzdC1ncmVlbi01MDAiKV0sWzMsKDAsZnQuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1mb3Jlc3QtZ3JlZW4tNTAwIildXSksSXQ9bmV3IE1hcChbWzIsW1Iub3BlbmVkSW5EZXRhY2hlZEVkaXRvclRleHRdXSxbMSxbUi5vcGVuZWRJbkVkaXRvclRleHRdXSxbMyxbUi5vcGVuZWRJbkJvdHRvbVBhbmVsVGV4dF1dXSk7Y2xhc3MgRXQgZXh0ZW5kcyBoLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe2NvbnN0IGE9KCk9PnRoaXMuX3Nob3dTb3VyY2VDb2RlKCkscz1uZXcgTWFwKFtbMix7dGV4dDpSLm9wZW5JbkVkaXRvckFjdGlvblRleHQsb25DbGljazphfV0sWzEse3RleHQ6Ui5vcGVuSW5FZGl0b3JBY3Rpb25UZXh0LG9uQ2xpY2s6YX1dLFszLHt0ZXh0OlIub3BlbkluRWRpdG9yQWN0aW9uVGV4dCxvbkNsaWNrOmF9XV0pO3N1cGVyKHtpY29uTWFwOmd0LGNsYXNzTmFtZU1hcDp2dCx0aXRsZU1hcDp5dCx0b29sdGlwTWFwOnl0LHRpdGxlQ29sb3JNYXA6TXQsaHRtbE1hcDpJdCxhY3Rpb25NYXA6cyxzaXplOnR9KSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT1udWxsLHRoaXMuc2V0TW9kZWwoZSl9ZGVzdHJveSgpe3RoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXM/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRNb2RlbChlKXt0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXM/LmRlc3Ryb3koKSx0aGlzLl91cGRhdGVTdGF0dXMoMCksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U9bmV3IHd0LkFzeW5jUmVzb3VyY2VXcmFwcGVyKGUpLHRoaXMuX3BpbmVNb2RlbFJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2UmJih0aGlzLl9waW5lU291cmNlRWRpdG9yU3RhdHVzPWUucGluZVNvdXJjZUVkaXRvclN0YXR1cygpLnNwYXduKCksdGhpcy5fcGluZVNvdXJjZUVkaXRvclN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pKX0pKX1fc2hvdWxkQmVIaWRkZW5CeVN0YXR1cyhlKXtyZXR1cm4gMD09PWV9X3VwZGF0ZVN0YXR1cyhlKXt0aGlzLl92aXNpYmxlLnNldFZhbHVlKDAhPT1lKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSl9X3Nob3dTb3VyY2VDb2RlKCl7dGhpcy5fcGluZU1vZGVsUmVzb3VyY2U/LmNhbGxGdW5jdGlvbigoZT0+e2U/LnNob3dQaW5lU291cmNlQ29kZSgpfSkpfX12YXIgQ3Q9YSgzMTg5NzQpLFR0PWEoNDY1MTM0KSxrdD1hKDEwOTMyNSk7Y29uc3QgeHQ9TGUudChudWxsLHZvaWQgMCxhKDc1ODU0OSkpLER0PUxlLnQobnVsbCx2b2lkIDAsYSgzNDkzMzApKSxWdD1MZS50KG51bGwse2NvbnRleHQ6ImJ1dHRvbiB0aXRsZSJ9LGEoMzcxODE1KSksUHQ9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFR0XSxbIm1lZGl1bSIsa3RdLFsibGFyZ2UiLGt0XV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksQXQ9bmV3IE1hcChbWyEwLF8uYWN0aXZlU3RyYXRlZ3ldLFshMSxudWxsXV0pLFJ0PW5ldyBNYXAoW1shMCx4dF0sWyExLG51bGxdXSksQnQ9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQpIl0sWyExLG51bGxdXSksTnQ9bmV3IE1hcChbWyEwLFtEdF1dLFshMSxudWxsXV0pO2NsYXNzIEZ0IGV4dGVuZHMgaGUuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIodCx7aWNvbk1hcDpQdCxjbGFzc05hbWVNYXA6QXQsdGl0bGVNYXA6UnQsdG9vbHRpcE1hcDpSdCx0aXRsZUNvbG9yTWFwOkJ0LGh0bWxNYXA6TnQsc2l6ZTphfSksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U9bnVsbCx0aGlzLl9yZXNldFN0YXR1c0ZvcmNlPSgpPT57Y29uc3QgZT10aGlzLl9zdGF0dXMudmFsdWUoKT8/ITE7dGhpcy5fdmlzaWJsZS5zZXRWYWx1ZShlLCEwKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSwhMCl9LHRoaXMudXBkYXRlU291cmNlKGUpfWRlc3Ryb3koKXt0aGlzLl9pc0FibGVTaG93QmFja3Rlc3Rpbmc/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX11cGRhdGVTb3VyY2UoZSl7dGhpcy5faXNBYmxlU2hvd0JhY2t0ZXN0aW5nPy5kZXN0cm95KCksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT1uZXcgd3QuQXN5bmNSZXNvdXJjZVdyYXBwZXIoZS5waW5lU291cmNlQ29kZU1vZGVsKCkpLHRoaXMuX3BpbmVNb2RlbFJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2UmJih0aGlzLl9pc0FibGVTaG93QmFja3Rlc3Rpbmc9ZS5pc0FibGVTaG93U291cmNlQ29kZSgpLnNwYXduKCksdGhpcy5faXNBYmxlU2hvd0JhY2t0ZXN0aW5nLnN1YnNjcmliZSh0aGlzLl9yZXNldFN0YXR1c0ZvcmNlLHtjYWxsV2l0aExhc3Q6ITB9KSl9KSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2dldEFjdGlvbihlKXsKcmV0dXJuIGUmJnRoaXMuX2lzQWJsZVNob3dCYWNrdGVzdGluZz8udmFsdWUoKT97dGV4dDpWdCxvbkNsaWNrOigpPT50aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uY2FsbEZ1bmN0aW9uKChlPT57ZT8uc2hvd0JhY2t0ZXN0aW5nPy4oKX0pKX06bnVsbH19dmFyIFd0PWEoOTEyODE1KSxPdD1hKDczMDExMCk7Y29uc3QgSHQ9bi50KG51bGwsdm9pZCAwLGEoMjQ1ODcwKSksTHQ9bi50KG51bGwsdm9pZCAwLGEoOTMzMTg0KSksVXQ9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFd0XSxbIm1lZGl1bSIsT3RdLFsibGFyZ2UiLE90XV0pXV0pLEd0PW5ldyBNYXAoW1shMCxfLmFsZXJ0XV0pLHp0PW5ldyBNYXAoW1shMCxIdF1dKSxxdD1uZXcgTWFwKFtbITAsSHRdXSksJHQ9bmV3IE1hcChbWyEwLCgwLGZ0LmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIildXSksanQ9bmV3IE1hcChbWyEwLFtdXV0pO2NsYXNzIFF0IGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7aWNvbk1hcDpVdCxjbGFzc05hbWVNYXA6R3QsdG9vbHRpcE1hcDpxdCx0aXRsZU1hcDp6dCx0aXRsZUNvbG9yTWFwOiR0LGh0bWxNYXA6anQsc2l6ZTp0fSksdGhpcy5fYWxlcnRzPW51bGwsdGhpcy5zZXRTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMuX2FsZXJ0cz8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRTb3VyY2UoZSl7dGhpcy5fYWxlcnRzPy5kZXN0cm95KCksdGhpcy5fYWxlcnRzPW51bGw7Y29uc3QgdD1lLmFsZXJ0U291cmNlTW9kZWwoKTt0aGlzLl9hbGVydHM9dD8uYWxlcnRzKCkuc3Bhd24oKT8/bnVsbCx0aGlzLl9hbGVydHM/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2dldFRpdGxlKGUpe3JldHVybmAke0h0fSDCtyAke3RoaXMuX2FsZXJ0cz8udmFsdWUoKS5sZW5ndGh9YH1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5fZ2V0VGl0bGUoZSl9X2dldEhUTUwoZSl7Y29uc3QgdD10aGlzLl9hbGVydHM/LnZhbHVlKCk7aWYodm9pZCAwPT09dHx8MD09PXQubGVuZ3RoKXJldHVybltdO2NvbnN0IGE9dC5zbGljZSgwLDUpLm1hcCgoZT0+YDxkaXYgY2xhc3M9IiR7Xy5hbGVydEl0ZW19Ij4ke2UudGl0bGV9PC9kaXY+YCkpO3JldHVybltgPGRpdiBjbGFzcz0iJHtfLmFsZXJ0SXRlbXNDb250YWluZXJ9Ij4ke2Euam9pbigiIil9PC9kaXY+YF19X2dldEFjdGlvbihlKXtjb25zdCB0PXRoaXMuX2FsZXJ0cz8udmFsdWUoKTtpZih2b2lkIDA9PT10fHx0Lmxlbmd0aDw9NSlyZXR1cm4gbnVsbDtjb25zdCBhPXdpbmRvdy53aWRnZXRiYXI7cmV0dXJuIGEmJmEuaXNWaXNpYmxlKCk/e3RleHQ6THQsY2xhc3NOYW1lOl8uYWxlcnRBY3Rpb24sdG9vbHRpcDpMdCxvbkNsaWNrOigpPT5hLnNldFBhZ2UoImFsZXJ0cyIpfTpudWxsfV91cGRhdGVTdGF0dXMoKXtjb25zdCBlPXRoaXMuX2FsZXJ0cz8udmFsdWUoKSx0PWU/LmZpbHRlcigoZT0+ZS5jYW5EaXNwbGF5T25TdGF0dXNWaWV3KCkpKSxhPXZvaWQgMCE9PXQmJnQubGVuZ3RoPjA7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGEsITApfX12YXIgWHQ9YSgyMzIzNjEpLEt0PWEoNzgzOTc4KTtjbGFzcyBadCBleHRlbmRzIEt0LlN0YXR1c2VzV2lkZ2V0U3RhdGVCYXNle2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcihhKSx0aGlzLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5kYXRhVXBkYXRlZE1vZGVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuaXNTeW1ib2xJbnZhbGlkU3RhdHVzU2hvd249bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tYXJrZXRTdGF0dXNDYW5CZVNob3duPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N5bWJvbEludmFsaWRWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9tYXJrZXRTdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhVXBkYXRlZE1vZGVWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhUHJvYmxlbVZpZXdNb2RlbD1udWxsLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZVZpZXdNb2RlbD1udWxsLHRoaXMuX2FsZXJ0U3RhdHVzVmlld01vZGVsPW51bGwsdGhpcy5fcGluZUVkaXRvclN0YXRlVmlld01vZGVsPW51bGwsdGhpcy5fYWN0aXZlU3RyYXRlZ3lTb3VyY2VWaWV3TW9kZWw9bnVsbCx0aGlzLl9jdXN0b21TdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9zZXNzaW9uV2lkZ2V0PW51bGwsdGhpcy5fZXJyb3JXaWRnZXQ9bnVsbCx0aGlzLl91cGRhdGVBdmFpbGFibGVXaWRnZXQ9bnVsbCx0aGlzLl9kYXRhU291cmNlSGFzRXJyb3JWaXNpYmxlPW51bGwsdGhpcy5fZGF0YVNvdXJjZUVycm9yQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZT1udWxsLHRoaXMuX2RhdGFQcm9ibGVtQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZUNhbkJlU2hvd249bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9bnVsbCx0aGlzLl91cGRhdGVWaXNpYmlsaXR5PSgpPT57Y29uc3QgZT10aGlzLnZpc2libGVNb2RlbHMoKS52YWx1ZSgpLmxlbmd0aD4wO3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoZSl9LHRoaXMuX3NvdXJjZT1lLHRoaXMuX3N5bWJvbD1lLnN5bWJvbCgpPy5zcGF3bigpPz9udWxsLHRoaXMuX29wdGlvbnM9YSx0aGlzLl91bmRvTW9kZWw9dCx0aGlzLl9zdGF0dXNQcm92aWRlckhpZGRlbj0oMCxvLmNvbWJpbmUpKChlPT4odGhpcy5fZm9yY2VIaWRlVmlzaWJpbGl0eU1vZGVscy5zZXRWYWx1ZShlKSxlKSksZS5oaWRkZW4oKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2NyZWF0ZVN0YXR1c2VzV2lkZ2V0U3RhdGVzKCksCnRoaXMuX2FkZFN1YnNjcmlwdGlvbkZvclN5bWJvbEludmFsaWQoKSxudWxsIT09dGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZSYmKHRoaXMuX2RhdGFTb3VyY2VIYXNFcnJvclZpc2libGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSksdGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRXJyb3JXaWRnZXRJc1Nob3duLmJpbmQodGhpcykpKSxudWxsIT09dGhpcy5fZGF0YVVwZGF0ZWRBdmFpbGFibGVWaXNpYmxlJiZ0aGlzLl9kYXRhVXBkYXRlZEF2YWlsYWJsZVZpc2libGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZURhdGFVcGRhdGVkV2lkZ2V0SXNTaG93bi5iaW5kKHRoaXMpKSx0aGlzLl9vcHRpb25zLmRhdGFQcm9ibGVtRW5hYmxlZCYmbnVsbCE9PXRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbCYmdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUVycm9yV2lkZ2V0SXNTaG93bigpLHRoaXMuX3VwZGF0ZUlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duKCksdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpfWRlc3Ryb3koKXt0aGlzLl92aXNpYmlsaXR5LnVuc3Vic2NyaWJlKCksdGhpcy5fc3ltYm9sPy5kZXN0cm95KCksdGhpcy5fc3RhdHVzUHJvdmlkZXJIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbD8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpe2NvbnN0IGU9dGhpcy5faXNGb3JjZVN0YXR1c0FjdGl2ZSgpO3RoaXMuX2RhdGFTb3VyY2VFcnJvckNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX21hcmtldFN0YXR1c0NhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RhdGFVcGRhdGVkTW9kZUNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZUNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RhdGFQcm9ibGVtQ2FuQmVTaG93bi5zZXRWYWx1ZSghdGhpcy5faXNQcmltYXJ5V2lkZ2V0U2hvd24oKSl9X2lzUHJpbWFyeVdpZGdldFNob3duKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKT8udmFsdWUoKT8/ITF9X2lzRm9yY2VTdGF0dXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5faXNQcmltYXJ5V2lkZ2V0U2hvd24oKXx8KHRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbD8udmFsdWUoKT8/ITEpfV9jcmVhdGVTdGF0dXNlc1dpZGdldFN0YXRlcygpe3RoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVTeW1ib2xJbnZhbGlkU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5tYXJrZXRTdGF0dXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVNYXJrZXRTdGF0dXMoKSx0aGlzLl9vcHRpb25zLmRhdGFVcGRhdGVNb2RlRW5hYmxlZCYmdGhpcy5fY3JlYXRlRGF0YVVwZGF0ZWRNb2RlU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5kYXRhUHJvYmxlbUVuYWJsZWQmJnRoaXMuX2NyZWF0ZURhdGFQcm9ibGVtU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJnRoaXMuX2NyZWF0ZUVycm9yU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5waW5lU291cmNlU3RhdHVzRW5hYmxlZCYmdGhpcy5fY3JlYXRlU2NyaXB0VXBkYXRlKCksdGhpcy5fb3B0aW9ucy5hbGVydFN0YXR1c0VuYWJsZWQmJnRoaXMuX2NyZWF0ZUFsZXJ0QWxlcnRTdGF0dXMoKSx0aGlzLl9vcHRpb25zLnBpbmVTb3VyY2VTdGF0dXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVBY3RpdmVTdHJhdGVneVN0YXR1cygpLHRoaXMuX29wdGlvbnMucGluZVNvdXJjZVN0YXR1c0VuYWJsZWQmJnRoaXMuX2NyZWF0ZVBpbmVFZGl0b3JTdGF0dXMoKSx0aGlzLl9jcmVhdGVDdXN0b21NYXJrZXRTdGF0dXMoKX1fY3JlYXRlU3ltYm9sSW52YWxpZFN0YXR1cygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpO251bGwhPT1lJiYodGhpcy5fc3ltYm9sSW52YWxpZFZpZXdNb2RlbD1uZXcgaGUuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbChlLHt0b29sdGlwTWFwOmJlLGljb25NYXA6ZmUsY2xhc3NOYW1lTWFwOndlLHRpdGxlTWFwOmdlLHRpdGxlQ29sb3JNYXA6dmUsaHRtbE1hcDp5ZSxhY3Rpb25NYXA6TWUsc2l6ZTp0aGlzLl9zaXplfSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX3N5bWJvbEludmFsaWRWaWV3TW9kZWwudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6dGhpcy5fc3ltYm9sSW52YWxpZFZpZXdNb2RlbH0pKX1fY3JlYXRlTWFya2V0U3RhdHVzKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubWFya2V0U3RhdHVzTW9kZWwoKTt0aGlzLl9tYXJrZXRTdGF0dXNWaWV3TW9kZWw9bmV3IFh0Lk1hcmtldFN0YXR1c1ZpZXdNb2RlbChlLHRoaXMuX3NpemUpO2NvbnN0IHQ9e3Zpc2libGU6KDAsby5jb21iaW5lKSgoKGUsdCxhKT0+ZSYmdCYmISgwLGkuaXNFY29ub21pY1N5bWJvbCkoYSkmJiEoMCxpLmlzU3ByZWFkU3ltYm9sV2l0aE1hbnlMZWdzKShhKSksdGhpcy5fbWFya2V0U3RhdHVzQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fbWFya2V0U3RhdHVzVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLG1vZGVsOnRoaXMuX21hcmtldFN0YXR1c1ZpZXdNb2RlbH07bnVsbCE9PWUmJih0aGlzLl9zZXNzaW9uV2lkZ2V0PW5ldyByLkZ1bGxTZXNzaW9uU2NoZWR1bGVXaWRnZXQodGhpcy5fc291cmNlKSx0LmFkZGl0aW9uYWxXaWRnZXRzPVt0aGlzLl9zZXNzaW9uV2lkZ2V0XSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVEYXRhVXBkYXRlZE1vZGVTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5kYXRhVXBkYXRlZE1vZGVNb2RlbCgpLHQ9ey4uLnRoaXMuX29wdGlvbnMuZGF0YVVwZGF0ZU1vZGUsCm1hcmtldFN0YXR1czp0aGlzLl9zb3VyY2UubWFya2V0U3RhdHVzTW9kZWwoKT8uc3RhdHVzKCkuc3Bhd25Pd25lcnNoaXAoKX07dGhpcy5fZGF0YVVwZGF0ZWRNb2RlVmlld01vZGVsPW5ldyBpZShlLHRoaXMuX3NpemUsdCk7Y29uc3QgYT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhKDAsaS5pc0Vjb25vbWljU3ltYm9sKShhKSksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTphLG1vZGVsOnRoaXMuX2RhdGFVcGRhdGVkTW9kZVZpZXdNb2RlbH0pfV9jcmVhdGVEYXRhUHJvYmxlbVN0YXR1cygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmRhdGFQcm9ibGVtTW9kZWwoKTt0aGlzLl9kYXRhUHJvYmxlbVZpZXdNb2RlbD1uZXcgZGUoZSx0aGlzLl9zaXplKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9dGhpcy5fZGF0YVByb2JsZW1WaWV3TW9kZWwuaXNEYXRhUHJvYmxlbUNyaXRpY2FsKCkuc3Bhd24oKTtjb25zdCB0PSgwLG8uY29tYmluZSkoKChlLHQpPT5lJiZ0KSx0aGlzLl9kYXRhUHJvYmxlbUNhbkJlU2hvd24ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2RhdGFQcm9ibGVtVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0LG1vZGVsOnRoaXMuX2RhdGFQcm9ibGVtVmlld01vZGVsfSl9X2NyZWF0ZVNjcmlwdFVwZGF0ZSgpe3RoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmlzU25hcHNob3QoKXx8dGhpcy5fdW5kb01vZGVsLm1vZGVsKCkucmVhZE9ubHkoKXx8KDAsQ3Qub25XaWRnZXQpKCl8fCgwLEVlLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3VwZGF0ZV9hdmFpbGFiaWxpdHlfc3RhdHVzIil8fCh0aGlzLl91cGRhdGVBdmFpbGFibGVWaWV3TW9kZWw9bmV3IHV0KHRoaXMuX3NvdXJjZSx0aGlzLl9zaXplKSx0aGlzLl91cGRhdGVBdmFpbGFibGVXaWRnZXQ9bmV3IFN0KHRoaXMuX3NvdXJjZSx0aGlzLl91bmRvTW9kZWwpLHRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhYSksdGhpcy5fdXBkYXRlQXZhaWxhYmxlQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fdXBkYXRlQXZhaWxhYmxlVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLmhpZGRlbigpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZSxtb2RlbDp0aGlzLl91cGRhdGVBdmFpbGFibGVWaWV3TW9kZWwsYWRkaXRpb25hbFdpZGdldHM6W3RoaXMuX3VwZGF0ZUF2YWlsYWJsZVdpZGdldF0scHJlbGltaW5hcnlKb2I6dGhpcy5fc291cmNlLnBpbmVTb3VyY2VDb2RlTW9kZWwoKS50aGVuKChlPT5lP1Byb21pc2UuYWxsKFtlLnJlcXVlc3RTY3JpcHRJbmZvKCksKDAscHQuc2hvd0Fib3V0VGhlU3R1ZHlIYW5kbGVyKShlKV0pOlByb21pc2UucmVzb2x2ZSgpKSksZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtaXRlbS1zdGF0dXMtaWNvbi11cGRhdGUiLGljb25EYXRhc2V0RW50aXR5SWQ6dGhpcy5fdXBkYXRlQXZhaWxhYmxlVmlld01vZGVsLmVudGl0eUlkKCl9KSl9X2NyZWF0ZUFsZXJ0QWxlcnRTdGF0dXMoKXt0aGlzLl9hbGVydFN0YXR1c1ZpZXdNb2RlbD1uZXcgUXQodGhpcy5fc291cmNlLHRoaXMuX3NpemUpO2NvbnN0IGU9dGhpcy5fYWxlcnRTdGF0dXNWaWV3TW9kZWwudmlzaWJsZSgpLnNwYXduKCk7dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOmUsbW9kZWw6dGhpcy5fYWxlcnRTdGF0dXNWaWV3TW9kZWx9KX1fY3JlYXRlRXJyb3JTdGF0dXMoKXt0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXNWaWV3TW9kZWw9bmV3IHkodGhpcy5fc291cmNlLHRoaXMuX3NpemUsdGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlcyksdGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhYSksdGhpcy5fZGF0YVNvdXJjZUVycm9yQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGF0YVNvdXJjZUVycm9yU3RhdHVzVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLmhpZGRlbigpLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgZT1bXTt0aGlzLl9lcnJvcldpZGdldD1uZXcgWWUodGhpcy5fc291cmNlKSxlLnB1c2godGhpcy5fZXJyb3JXaWRnZXQpLHRoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0aGlzLl9kYXRhU291cmNlSGFzRXJyb3JWaXNpYmxlLG1vZGVsOnRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1c1ZpZXdNb2RlbCxhZGRpdGlvbmFsV2lkZ2V0czplfSl9X2NyZWF0ZUFjdGl2ZVN0cmF0ZWd5U3RhdHVzKCl7Y29uc3QgZT0oMCxvLmNvbWJpbmUpKChlPT5udWxsIT09ZSYmdGhpcy5fc291cmNlLmVudGl0eUlkPy4oKT09PWUuaWQoKSksdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuYWN0aXZlU3RyYXRlZ3lTb3VyY2UoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsPW5ldyBGdCh0aGlzLl9zb3VyY2UsZSx0aGlzLl9zaXplKTtjb25zdCB0PXRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsLnZpc2libGUoKS5zcGF3bigpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0LG1vZGVsOnRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsfSl9X2NyZWF0ZVBpbmVFZGl0b3JTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5waW5lU291cmNlQ29kZU1vZGVsKCk7dGhpcy5fcGluZUVkaXRvclN0YXRlVmlld01vZGVsPW5ldyBFdChlLHRoaXMuX3NpemUpCjtjb25zdCB0PXRoaXMuX3BpbmVFZGl0b3JTdGF0ZVZpZXdNb2RlbC52aXNpYmxlKCkuc3Bhd24oKTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3Moe3Zpc2libGU6dCxtb2RlbDp0aGlzLl9waW5lRWRpdG9yU3RhdGVWaWV3TW9kZWx9KX1fY3JlYXRlQ3VzdG9tTWFya2V0U3RhdHVzKCl7fV9hZGRTdWJzY3JpcHRpb25Gb3JTeW1ib2xJbnZhbGlkKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UuaXNTeW1ib2xJbnZhbGlkKCk7dGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJm51bGwhPT1lJiYoZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcy5iaW5kKHRoaXMpKSxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVJc1N5bWJvbEludmFsaWRTdGF0dXNTaG93bi5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSl9X3VwZGF0ZUVycm9yV2lkZ2V0SXNTaG93bigpe2NvbnN0IGU9dGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZT8udmFsdWUoKT8/ITE7dGhpcy5kYXRhU291cmNlRXJyb3JTdGF0dXNTaG93bi5zZXRWYWx1ZShlKX1fdXBkYXRlRGF0YVVwZGF0ZWRXaWRnZXRJc1Nob3duKCl7Y29uc3QgZT10aGlzLl9kYXRhVXBkYXRlZEF2YWlsYWJsZVZpc2libGU/LnZhbHVlKCk/PyExO3RoaXMuZGF0YVVwZGF0ZWRNb2RlU2hvd24uc2V0VmFsdWUoZSl9X3VwZGF0ZUlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UuaXNTeW1ib2xJbnZhbGlkKCk/LnZhbHVlKCk/PyExO3RoaXMuaXNTeW1ib2xJbnZhbGlkU3RhdHVzU2hvd24uc2V0VmFsdWUoZSl9fX0sNzk0OTUoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7TWFpbkRhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlOigpPT5IZX0pO3ZhciBzPWEoMTM4NjM4KSxvPWEoMjMyMzY0KSxpPWEoOTUyOTAwKSxyPWEoMTU2ODI5KSxuPWEoMTg1MjcxKSxsPWEoNTY1MjA2KSx1PWEoNzczNDY2KSxjPWEoODYwNTQ4KTtjb25zdCBkPW4udChudWxsLHZvaWQgMCxhKDQzNTApKSxoPW4udChudWxsLHZvaWQgMCxhKDI4MTQ1MykpLHA9bi50KG51bGwsdm9pZCAwLGEoODgyODM5KSksbT1uLnQobnVsbCx2b2lkIDAsYSg3NjM0NTEpKSxfPW5ldyBNYXAoW1szLG5ldyBNYXAoW1sic21hbGwiLHVdLFsibWVkaXVtIix1XSxbImxhcmdlIix1XV0pXSxbMSxuZXcgTWFwKFtbInNtYWxsIix1XSxbIm1lZGl1bSIsdV0sWyJsYXJnZSIsdV1dKV0sWzIsbmV3IE1hcChbWyJzbWFsbCIsdV0sWyJtZWRpdW0iLHVdLFsibGFyZ2UiLHVdXSldXSksUz1uZXcgTWFwKFtbMixjLnJlcGxheU1vZGVBdXRvUGxheV0sWzMsYy5yZXBsYXlNb2RlUGF1c2VdLFsxLGMucmVwbGF5TW9kZVBvaW50U2VsZWN0XV0pLGY9bmV3IE1hcChbWzIsaF0sWzMsaF0sWzEsaF1dKSx3PW5ldyBNYXAoW1syLGhdLFszLGhdLFsxLGRdXSksYj1uZXcgTWFwKFtbMiwidmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50KSJdLFszLCJ2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQpIl0sWzEsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkiXV0pLGc9bmV3IE1hcChbWzIsW21dXSxbMyxbbV1dLFsxLFtwXV1dKTtjbGFzcyB2IGV4dGVuZHMgbC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7aWNvbk1hcDpfLGNsYXNzTmFtZU1hcDpTLHRvb2x0aXBNYXA6dyx0aXRsZU1hcDpmLHRpdGxlQ29sb3JNYXA6YixodG1sTWFwOmcsc2l6ZTp0fSksdGhpcy5fcmVwbGF5U3RhdHVzPWUsdGhpcy5fcmVwbGF5U3RhdHVzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX3JlcGxheVN0YXR1cy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfV91cGRhdGVTdGF0dXMoZSl7dGhpcy5fc3RhdHVzLnNldFZhbHVlKDAhPT1lP2U6bnVsbCksdGhpcy5pc0JsaW5raW5nTW9kZS5zZXRWYWx1ZSgyPT09ZSl9fXZhciB5OyFmdW5jdGlvbihlKXtlLlN0b2NrPSJIYWxhbFN0b2NrIixlLkJvbmQ9IkhhbGFsQm9uZCJ9KHl8fCh5PXt9KSk7dmFyIE09YSg5MjY5OTUpLEk9YSg3NzY1NzYpLEU9YSgxOTM1MDgpLEM9YSgxMDgxODIpLFQ9YSgzNDAxNTgpO2NsYXNzIGsgZXh0ZW5kcyBsLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHQpLHRoaXMuX3NpbXBsZVN0YXR1cz1lLHRoaXMuX3NpbXBsZVN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXt0aGlzLl9zaW1wbGVTdGF0dXMucmVsZWFzZSgpLHN1cGVyLmRlc3Ryb3koKX1fdXBkYXRlU3RhdHVzKGUpe3RoaXMuX3N0YXR1cy5zZXRWYWx1ZShlKX19dmFyIHg9YSgxNTIwNjkpO2NvbnN0IEQ9bmV3IE1hcChbW3kuQm9uZCxFLmhhbGFsVGl0bGVdLFt5LlN0b2NrLEUuaGFsYWxUaXRsZV1dKSxWPW5ldyBNYXAoW1t5LkJvbmQsQy5jb2xvckhhbGFsTW9kZV0sW3kuU3RvY2ssQy5jb2xvckhhbGFsTW9kZV1dKSxQPW5ldyBNYXAoW1t5LkJvbmQsbmV3IE1hcChbWyJzbWFsbCIsVF0sWyJtZWRpdW0iLFRdXSldLFt5LlN0b2NrLG5ldyBNYXAoW1sic21hbGwiLFRdLFsibWVkaXVtIixUXV0pXV0pLEE9bmV3IE1hcChbW3kuQm9uZCx4LmhhbGFsU3RhdHVzXSxbeS5TdG9jayx4LmhhbGFsU3RhdHVzXV0pLFI9bmV3IE1hcChbW3kuQm9uZCxbRS5oYWxhbEJvbmRIdG1sXV0sW3kuU3RvY2ssW0UuaGFsYWxIdG1sXV1dKSxCPW5ldyBNYXAoW1t5LkJvbmQse3RleHQ6bi50KG51bGwsdm9pZCAwLGEoMzI1MTU1KSksb25DbGljazooKT0+KDAsTS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6SS5IQUxBTF9TT0xVVElPTl9JRH0pfV0sW3kuU3RvY2sse3RleHQ6bi50KG51bGwsdm9pZCAwLGEoMzI1MTU1KSksb25DbGljazooKT0+KDAsTS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6SS5IQUxBTF9TT0xVVElPTl9JRH0pfV1dKTtjbGFzcyBOIGV4dGVuZHMga3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUse2ljb25NYXA6UCwKdG9vbHRpcE1hcDpELHRpdGxlTWFwOkQsdGl0bGVDb2xvck1hcDpWLHNpemU6dCxjbGFzc05hbWVNYXA6QSxodG1sTWFwOlIsYWN0aW9uTWFwOkJ9KX19dmFyIEY9YSgzMTExMTUpLFc9YSg3ODc2MjYpLE89YSg1NzE0NjQpO2NvbnN0IEg9bmV3IE1hcChbWyEwLEUudHZDYWxjdWxhdGVkUGFpclRvb2x0aXBdXSksTD1uZXcgTWFwKFtbITAsQy5jb2xvclRWQ2FsY3VsYXRlZFBhaXJNb2RlXV0pLFU9bmV3IE1hcChbWyJzbWFsbCIsRl0sWyJtZWRpdW0iLFddLFsibGFyZ2UiLFddXSksRz1uZXcgTWFwKFtbITAsVV1dKSx6PW5ldyBNYXAoW1shMCxPLnR2Q2FsY3VsYXRlZFBhaXJdXSkscT1uZXcgTWFwKFtbITAsW0UudHZDYWxjdWxhdGVkUGFpckh0bWxdXV0pLCQ9bmV3IE1hcChbWyEwLHt0ZXh0Om4udChudWxsLHZvaWQgMCxhKDMyNTE1NSkpLG9uQ2xpY2s6KCk9PigwLE0uc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOkkuVFZfQ0FMQ1VMQVRFRF9QQUlSX1NPTFVUSU9OX0lEfSl9XV0pO2NsYXNzIGogZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpHLHRvb2x0aXBNYXA6SCx0aXRsZU1hcDpILHRpdGxlQ29sb3JNYXA6TCxzaXplOnQsY2xhc3NOYW1lTWFwOnosaHRtbE1hcDpxLGFjdGlvbk1hcDokfSl9fXZhciBRPWEoNjQyNzgzKSxYPWEoMzUxMTgyKSxLPWEoOTI0MDIwKTtjb25zdCBaPW5ldyBNYXAoW1shMCxFLkhLRVhEYXRhVGl0bGVdXSksSj1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCkiXV0pLFk9bmV3IE1hcChbWyJzbWFsbCIsUV0sWyJtZWRpdW0iLFhdLFsibGFyZ2UiLFhdXSksZWU9bmV3IE1hcChbWyEwLFldXSksdGU9bmV3IE1hcChbWyEwLEsuaGtleENvbW1lbnRdXSksYWU9bmV3IE1hcChbWyEwLFtFLkhLRVhEYXRhQ29tbWVudF1dXSk7Y2xhc3Mgc2UgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDplZSx0b29sdGlwTWFwOlosdGl0bGVNYXA6Wix0aXRsZUNvbG9yTWFwOkosc2l6ZTp0LGNsYXNzTmFtZU1hcDp0ZSxodG1sTWFwOmFlfSl9fXZhciBvZT1hKDU5ODI1NyksaWU9YSg1NzUxNDgpLHJlPWEoNjg1OTI2KTtjb25zdCBuZT1uZXcgTWFwKFtbITAsRS5kZWZhdWx0ZWRUaXRsZV1dKSxsZT1uZXcgTWFwKFtbITAsQy5jb2xvckRlZmF1bHRlZF1dKSx1ZT1uZXcgTWFwKFtbInNtYWxsIixvZV0sWyJtZWRpdW0iLGllXSxbImxhcmdlIixpZV1dKSxjZT1uZXcgTWFwKFtbITAsdWVdXSksZGU9bmV3IE1hcChbWyEwLHJlLmRlZmF1bHRlZFN0YXR1c11dKSxoZT1uZXcgTWFwKFtbITAsW0UuZGVmYXVsdGVkSHRtbF1dXSk7Y2xhc3MgcGUgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpjZSx0b29sdGlwTWFwOm5lLHRpdGxlTWFwOm5lLHRpdGxlQ29sb3JNYXA6bGUsc2l6ZTp0LGNsYXNzTmFtZU1hcDpkZSxodG1sTWFwOmhlfSl9fXZhciBtZT1hKDUwNTU2KSxfZT1hKDIyNjkzNyksU2U9YSg5MTM2MTApLGZlPWEoMjg0NDY3KTtjb25zdCB3ZT0oMCxtZS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXNreS1ibHVlLWE3MDAiKSxiZT1uZXcgTWFwKFtbITEsRS5sZXRJdFNub3dUaXRsZV0sWyEwLEUubGV0SXRTbm93VGl0bGVdXSksZ2U9bmV3IE1hcChbWyExLHdlXSxbITAsd2VdXSksdmU9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFNlXSxbIm1lZGl1bSIsU2VdXSldXSkseWU9bmV3IE1hcChbWyExLGZlLmxldEl0U25vd1N0YXR1c10sWyEwLGZlLmxldEl0U25vd1N0YXR1c11dKSxNZT1uZXcgTWFwKFtbITEsW0UubGV0SXRTbm93SHRtbF1dLFshMCxbRS5sZXRJdFNub3dIdG1sXV1dKSxJZT1uZXcgby5XYXRjaGVkVmFsdWUoITEpO2xldCBFZT1udWxsO0llLnN1YnNjcmliZSgoZT0+e251bGw9PT1FZSYmKEVlPW5ldyBfZS5Bc3luY1Jlc291cmNlV3JhcHBlcihhLmUoMzM0MTApLnRoZW4oYS5iaW5kKGEsMzM4Njc0KSkpKSxFZS5jYWxsRnVuY3Rpb24oKHQ9Pnt0LnNub3coZSl9KSl9KSk7Y29uc3QgQ2U9bmV3IFNldChbImVuIiwidWsiLCJkZV9ERSIsImZyIiwiZXMiLCJpdCIsInBsIiwiamEiLCJjYSIsInJ1Il0pO2NsYXNzIFRlIGV4dGVuZHMga3tjb25zdHJ1Y3RvcihlKXtzdXBlcihJZS5zcGF3bigpLm93bmVyc2hpcCgpLHtpY29uTWFwOnZlLHRvb2x0aXBNYXA6YmUsdGl0bGVNYXA6YmUsdGl0bGVDb2xvck1hcDpnZSxzaXplOmUsY2xhc3NOYW1lTWFwOnllLGh0bWxNYXA6TWUsYWN0aW9uTWFwOm5ldyBNYXAoW1shMSx7dGV4dDpFLmxldEl0U25vd1N0YXJ0LG9uQ2xpY2s6KCk9PkllLnNldFZhbHVlKCEwKX1dLFshMCx7dGV4dDpFLmxldEl0U25vd1N0b3Asb25DbGljazooKT0+SWUuc2V0VmFsdWUoITEpfV1dKX0pfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2F3YWl0IHN1cGVyLl91cGRhdGVGdWxsVG9vbHRpcCgpO2NvbnN0IGU9dGhpcy5fZnVsbFRvb2x0aXAudmFsdWUoKTtudWxsIT09ZSYmdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUoW3suLi5lWzBdLGljb246U2V9XSl9fXZhciBrZT1hKDkwODQwMCkseGU9YSgxOTI3NTUpLERlPWEoNDQ1MSk7Y29uc3QgVmU9bmV3IE1hcChbWyEwLEUudXBjb21pbmdJcG9UaXRsZV1dKSxQZT1uZXcgTWFwKFtbITAsQy5jb2xvclVwY29taW5nSXBvXV0pLEFlPW5ldyBNYXAoW1sic21hbGwiLGtlXSxbIm1lZGl1bSIseGVdLFsibGFyZ2UiLHhlXV0pLFJlPW5ldyBNYXAoW1shMCxBZV1dKSxCZT1uZXcgTWFwKFtbITAsRGUudXBjb21pbmdJcG9TdGF0dXNdXSksTmU9bmV3IE1hcChbWyEwLFtFLnVwY29taW5nSXBvSHRtbF1dXSk7Y2xhc3MgRmUgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpSZSx0b29sdGlwTWFwOlZlLHRpdGxlTWFwOlZlLHRpdGxlQ29sb3JNYXA6UGUsc2l6ZTp0LGNsYXNzTmFtZU1hcDpCZSxodG1sTWFwOk5lfSl9fXZhciBXZT1hKDU2OTM5OCksT2U9YSg0NDE0NDApO2NsYXNzIEhlIGV4dGVuZHMgT2UuRGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGV7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKGUsdCxhKSwKdGhpcy5faXNJblJlcGxheT1uZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkuc3Bhd24oKSx0aGlzLl9pc1VwY29taW5nSXBvQWN0aXZlPW5ldyBvLldhdGNoZWRWYWx1ZSghMSkucmVhZG9ubHkoKS5zcGF3bigpLHRoaXMuX2lzSW5SZXBsYXlDYW5CZVNob3duPW51bGwsdGhpcy5faW5pdGVkPSExLHRoaXMuX2hhbGFsQ2FuQmVTaG93bj1uZXcgby5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duPW5ldyBvLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faGtleENvbW1lbnRDYW5CZVNob3duPW5ldyBvLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVmYXVsdGVkQm9uZENhbkJlU2hvd249bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl91cGNvbWluZ0lwb0NhbkJlU2hvd249bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzQm91bmQ9dGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcy5iaW5kKHRoaXMpO2NvbnN0IHM9dC5tb2RlbCgpO2lmKHRoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkKXt0aGlzLl9jcmVhdGVIYWxhbFN0YXR1cygpLHRoaXMuX2NyZWF0ZVRWQ2FsY3VsYXRlZFBhaXJTdGF0dXMoKSx0aGlzLl9jcmVhdGVIS0VYQ29tbWVudFN0YXR1cygpLHRoaXMuX2NyZWF0ZURlZmF1bHRlZEJvbmRTdGF0dXMoKSx0aGlzLl9jcmVhdGVVcGNvbWluZ0lwb1N0YXR1cygpLHRoaXMuX2NyZWF0ZUxldEl0U25vd1N0YXR1cygpLHRoaXMuX2lzVXBjb21pbmdJcG9BY3RpdmU9dGhpcy5fY3JlYXRlSXNVcGNvbWluZ0lwb0FjdGl2ZSgpO3t0aGlzLl9pc0luUmVwbGF5Q2FuQmVTaG93bj1uZXcgby5XYXRjaGVkVmFsdWUoITEpO2NvbnN0IGU9KDAsaS5jb21iaW5lKSgoKGUsdCk9PnR8fDE9PT1lfHw0PT09ZT9lOjApLHMucmVwbGF5U3RhdHVzKCkud2Vha1JlZmVyZW5jZSgpLHMubWFpblNlcmllcygpLmlzSW5SZXBsYXkoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2lzSW5SZXBsYXk9KDAsaS5jb21iaW5lKSgoZT0+MCE9PWUmJjQhPT1lKSxlLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgdD1uZXcgdihlLm93bmVyc2hpcCgpLHRoaXMuX3NpemUpLGE9KDAsaS5jb21iaW5lKSgoKGUsdCk9PmUmJnQpLHRoaXMuX2lzSW5SZXBsYXlDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSx0LnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTphLG1vZGVsOnR9KSxhLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzQm91bmQpLHRoaXMuX2lzSW5SZXBsYXkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXNCb3VuZCx7Y2FsbFdpdGhMYXN0OiEwfSl9dGhpcy5faXNVcGNvbWluZ0lwb0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllc0JvdW5kLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9pbml0ZWQ9ITAsdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpfX1kZXN0cm95KCl7dGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJih0aGlzLl9pc0luUmVwbGF5LmRlc3Ryb3koKSx0aGlzLl9pc1VwY29taW5nSXBvQWN0aXZlLmRlc3Ryb3koKSksc3VwZXIuZGVzdHJveSgpfV91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzKCl7aWYoc3VwZXIuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXMoKSx0aGlzLl9pbml0ZWQmJnRoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkKXtjb25zdCBlPXRoaXMuX2lzRm9yY2VTdGF0dXNBY3RpdmUoKSx0PXRoaXMuX2lzVXBjb21pbmdJcG9BY3RpdmUudmFsdWUoKTt0aGlzLl9oYWxhbENhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLnNldFZhbHVlKCFlKSx0aGlzLl9oa2V4Q29tbWVudENhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RlZmF1bHRlZEJvbmRDYW5CZVNob3duLnNldFZhbHVlKCFlKSx0aGlzLl91cGNvbWluZ0lwb0NhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX21hcmtldFN0YXR1c0NhbkJlU2hvd24uc2V0VmFsdWUoIWUmJiF0KSx0aGlzLl9kYXRhVXBkYXRlZE1vZGVDYW5CZVNob3duLnNldFZhbHVlKCFlJiYhdCksKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc0luUmVwbGF5Q2FuQmVTaG93bikuc2V0VmFsdWUoIXN1cGVyLl9pc1ByaW1hcnlXaWRnZXRTaG93bigpJiZ0aGlzLl9pc0luUmVwbGF5LnZhbHVlKCkpfX1faXNQcmltYXJ5V2lkZ2V0U2hvd24oKXtyZXR1cm4gc3VwZXIuX2lzUHJpbWFyeVdpZGdldFNob3duKCl8fHRoaXMuX2luaXRlZCYmdGhpcy5faXNJblJlcGxheS52YWx1ZSgpfV9jcmVhdGVIYWxhbFN0YXR1cygpe2NvbnN0IGU9bmV3IE4odGhpcy5fY3JlYXRlSGFsYWxUeXBlUmVsZWFzYWJsZSgpLHRoaXMuX3NpemUpLHQ9e3Zpc2libGU6ZS52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDplfTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3ModCl9X2NyZWF0ZURlZmF1bHRlZEJvbmRTdGF0dXMoKXtjb25zdCBlPW5ldyBwZSh0aGlzLl9jcmVhdGVEZWZhdWx0ZWRCb25kUmVsZWFzYWJsZSgpLHRoaXMuX3NpemUpLHQ9e3Zpc2libGU6ZS52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDplfTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3ModCl9X2NyZWF0ZVRWQ2FsY3VsYXRlZFBhaXJTdGF0dXMoKXtjb25zdCBlPW5ldyBqKHRoaXMuX2NyZWF0ZVR2Q2FsY3VsYXRlZFBhaXJSZWxlYXNhYmxlKCksdGhpcy5fc2l6ZSksdD17dmlzaWJsZTplLnZpc2libGUoKS5zcGF3bigpLG1vZGVsOmV9O3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh0KX1fY3JlYXRlSEtFWENvbW1lbnRTdGF0dXMoKXtjb25zdCBlPW5ldyBzZSh0aGlzLl9jcmVhdGVIa2V4Q29tbWVudFJlbGVhc2FibGUoKSx0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX0KO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh0KX1fY3JlYXRlVXBjb21pbmdJcG9TdGF0dXMoKXtjb25zdCBlPW5ldyBGZSh0aGlzLl9jcmVhdGVVcGNvbWluZ0lwb1JlbGVhc2FibGUoKSx0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX07dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVMZXRJdFNub3dTdGF0dXMoKXtpZighQ2UuaGFzKHdpbmRvdy5sb2NhbGUpfHwhKDAsV2UuaXNGZWF0dXJlRW5hYmxlZCkoInNwZWNpYWxfY2hhcnRfc2VyaWVzX3N0YXR1cyIpKXJldHVybjtjb25zdCBlPW5ldyBUZSh0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX07dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVJc1VwY29taW5nSXBvQWN0aXZlKCl7cmV0dXJuKDAsaS5jb21iaW5lKSgoKGUsdCxhKT0+e2NvbnN0IHM9YT8udHlwZXNwZWNzPy5pbmNsdWRlcygicHJlLWlwbyIpLG89IWU/Lmxhc3RfcHJpY2U7cmV0dXJuIG51bGwhPT1hJiYhdCYmQm9vbGVhbihzKSYmb30pLCh0aGlzLl9zb3VyY2UucXVvdGVzRGF0YT8uKCl8fG5ldyBvLldhdGNoZWRWYWx1ZShudWxsKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpfV9jcmVhdGVIYWxhbFR5cGVSZWxlYXNhYmxlKCl7cmV0dXJuKDAsaS5jb21iaW5lKSgoKGUsdCxhLHMpPT5udWxsIT09cyYmdCYmIWEmJmU/LlsiaXMtc2hhcmlhaC1jb21wbGlhbnQiXT8oMCxyLmlzQm9uZCkocy50eXBlKT95LkJvbmQ6eS5TdG9jazpudWxsKSwodGhpcy5fc291cmNlLnF1b3Rlc0RhdGE/LigpfHxuZXcgby5XYXRjaGVkVmFsdWUobnVsbCkucmVhZG9ubHkoKSkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2hhbGFsQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfV9jcmVhdGVEZWZhdWx0ZWRCb25kUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSxzKT0+IShudWxsPT09c3x8IXR8fGF8fCJkZWZhdWx0ZWQiIT09ZT8uaXNzdWVfc3RhdHVzKXx8bnVsbCksKHRoaXMuX3NvdXJjZS5xdW90ZXNEYXRhPy4oKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKG51bGwpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9kZWZhdWx0ZWRCb25kQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfV9jcmVhdGVUdkNhbGN1bGF0ZWRQYWlyUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSk9PiEobnVsbD09PWF8fCFlfHx0fHwhYS50eXBlc3BlY3M/LmluY2x1ZGVzKCJ0di1jYWxjdWxhdGVkLXBhaXIiKSl8fG51bGwpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSwodGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpfHxuZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9zb3VyY2Uuc3ltYm9sSW5mbygpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCl9X2NyZWF0ZUhrZXhDb21tZW50UmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSk9PiEobnVsbD09PWF8fCFlfHx0fHwiSEtFWCIhPT1hLmxpc3RlZF9leGNoYW5nZSl8fG51bGwpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSwodGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpfHxuZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9zb3VyY2Uuc3ltYm9sSW5mbygpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCl9X2NyZWF0ZVVwY29taW5nSXBvUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSxzKT0+e2NvbnN0IG89cz8udHlwZXNwZWNzPy5pbmNsdWRlcygicHJlLWlwbyIpO3JldHVybiEobnVsbD09PXN8fCF0fHxhfHwhb3x8ZT8ubGFzdF9wcmljZSl8fG51bGx9KSwodGhpcy5fc291cmNlLnF1b3Rlc0RhdGE/LigpfHxuZXcgby5XYXRjaGVkVmFsdWUobnVsbCkucmVhZG9ubHkoKSkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3VwY29taW5nSXBvQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfX19LDgwODAwMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtGdWxsVG9vbHRpcHNQb3B1cDooKT0+cH0pO3ZhciBzPWEoNzc5NDc0KSxvPWEoNzE3OTMyKSxpPWEoMjM3NjE2KSxyPWEoNTIwNDg2KSxuPWEoNjQwNTEzKSxsPWEoNzE4NzczKSx1PWEoMjc2MDE5KSxjPWEoMTA2OTAwKSxkPWEoMjIxMzAwKSxoPWEoNDQ3MjY4KTtmdW5jdGlvbiBwKGUpe2NvbnN0e2FuY2hvcmVkOnQsb2Zmc2V0UG9zaXRpb246YSxvdmVyZmxvd1ZlcnRpY2FsOnAsb3ZlcmZsb3dIb3Jpem9udGFsOm0sc3RhdHVzZXM6Xyxpc09wZW46UyxvbkNsb3NlOmYsbW9iaWxlQnJlYWtwb2ludDp3PSJhbGwgYW5kIChtYXgtd2lkdGg6IDQ0MHB4KSIscGxhY2VtZW50UnVsZXM6Yj1bey4uLm4uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULG9mZnNldDphLApvdmVyZmxvd1ZlcnRpY2FsOnA/P24uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULm92ZXJmbG93VmVydGljYWwsb3ZlcmZsb3dIb3Jpem9udGFsOm0/P24uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULm92ZXJmbG93SG9yaXpvbnRhbH1dfT1lLGc9KDAsYy51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpffSksdj0oMCxzLnVzZUNhbGxiYWNrKSgoKCk9PmYoITEpKSxbZl0pOygwLHMudXNlRWZmZWN0KSgoKCk9Pih1Lmdsb2JhbENsb3NlRGVsZWdhdGUuc3Vic2NyaWJlKG51bGwsdiksKCk9Pnt1Lmdsb2JhbENsb3NlRGVsZWdhdGUudW5zdWJzY3JpYmUobnVsbCx2KX0pKSxbdl0pO2NvbnN0e3JlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnkscmVwb3NpdGlvblRyaWdnZXJzOk19PSgwLGwudXNlUG9wb3ZlckNsb3NlQmVoYXZpb3IpKHtpc09wZW46UyxvbkNsb3NlOmYsZXhjbHVkZUFyZWE6dC5hdCxjbG9zZU9uRXNjYXBlOiEwLGNsb3NlT25DbGlja0F3YXk6ITAsY2xvc2VPblNjcm9sbE91dHNpZGU6ITAsY2xvc2VPblJlc2l6ZVdpbmRvdzohMCxjbG9zZU9uVGFiOiEwfSksST0oMCxvLnVzZU1hdGNoTWVkaWEpKHcpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5Qb3BvdmVyLHtpc09wZW46UyxvbkNsb3NlOmYsYW5jaG9yZWQ6dCx3aWR0aDp7Ynk6ImNvbnRlbnQifSxoZWlnaHQ6e2J5OiJjb250ZW50In0scGxhY2VtZW50UnVsZXM6Yixtb2JpbGVCcmVha3BvaW50OncsbW9iaWxlUG9zaXRpb25lclN0cmV0Y2g6ITEsYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmgucG9wdXBXaWRnZXRXcmFwcGVyLG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpoLnBvcHVwV2lkZ2V0V3JhcHBlcixkYXRhUWFJZDoiY2hhcnQtc3RhdHVzZXMtcG9wdXAiLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnkscmVwb3NpdGlvblRyaWdnZXJzOk19LHMuY3JlYXRlRWxlbWVudChyLlBvcG92ZXJDb250ZW50VmVydGljYWwsbnVsbCxnLm1hcCgoKGUsdCk9PnMuY3JlYXRlRWxlbWVudChkLkZ1bGxUb29sdGlwV2lkZ2V0LHtrZXk6YEZ1bGxUb29sdGlwV2lkZ2V0JHt0fWAsaW5mbzplLm1vZGVsLmZ1bGxJbmZvKCksYWRkaXRpb25hbFdpZGdldHM6ZS5hZGRpdGlvbmFsV2lkZ2V0cyxwcmVsaW1pbmFyeUpvYjplLnByZWxpbWluYXJ5Sm9iLG9uQ2xvc2U6dixpc01vYmlsZTpJfSkpKSkpfX0sNTQ3ODY0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1N0YXR1c0ljb246KCk9PnV9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDkxNDQ4NyksaT1hLm4obykscj1hKDI3MzMxMCksbj1hKDEwNjkwMCksbD1hKDg2MDU0OCk7ZnVuY3Rpb24gdShlKXtjb25zdHt2aXNpYmxlOnQsaWNvbjphLGNsYXNzTmFtZTpvLHNpemU6dT0ic21hbGwiLGlzQmxpbmtpbmc6Yyx0dXJuT2ZmQmxpbmtpbmc6ZCxjdXN0b21Db2xvcjpoLGRhdGFRYUlkOnAsZGF0YXNldEVudGl0eUlkOm19PWUsXz0oMCxuLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOnR9KSxTPSgwLG4udXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6YX0pLGY9KDAsbi51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpvfSksdz0oKDAsbi51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpofSksISFjJiYoMCxuLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOmN9KSksYj1tPygwLG4udXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6bX0pOnZvaWQgMDtpZighX3x8IVMpcmV0dXJuIG51bGw7Y29uc3QgZz17Li4ucD97ImRhdGEtcWEtaWQiOnB9Ont9LC4uLmI/eyJkYXRhLWVudGl0eS1pZCI6Yn06e319O3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6aSgpKGwuc3RhdHVzSXRlbSxsW3VdLGYse1tsLmJsaW5raW5nXTp3fSksb25DbGljazpkLHN0eWxlOnZvaWQgMCwuLi5nLGljb246U30pfX0sNzM0ODIoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7REVGQVVMVF9TVEFUVVNfUkVOREVSRVJfVEhFTUU6KCk9PmYsU3RhdHVzZXNQaWxsOigpPT5nfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgyMzY3NjUpLG49YSgxNzk3NzEpLGw9YSg2MDM2MTIpLHU9YSgxMDY5MDApLGM9YSg4MDAyMjYpLGQ9YSgzODY5MzEpLGg9YSgxNTAxNTApLHA9YSgzODcyMzEpLG09YSg1NDc4NjQpLF89YSg4MDgwMDEpLFM9YSg4NjA1NDgpO2NvbnN0IGY9Uyx3PW5ldyBXZWFrTWFwLGI9Yy50cmFja2luZ01vZGVJc0F2YWlsYWJsZT8ibWVkaXVtIjoic21hbGwiO2Z1bmN0aW9uIGcoZSl7Y29uc3R7c3RhdHVzZXM6dCx0b29sdGlwOmEsdGhlbWU6bz1TLHNob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjazpjfT1lLFtnLHZdPSgwLHMudXNlU3RhdGUpKCExKSx5PSgwLHUudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6dH0pLE09KDAsdS51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTphfSksST0oMCxzLnVzZU1lbW8pKCgoKT0+KDAscC5tZXJnZVRoZW1lcykoZixvKSksW29dKTsoMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT17fTtyZXR1cm4gbi5zdWJzY3JpYmUobC5DTE9TRV9QT1BVUFNfQU5EX0RJQUxPR1NfQ09NTUFORCxrLGUpLCgpPT57bi51bnN1YnNjcmliZShsLkNMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5ELGssZSl9fSksW10pO2NvbnN0IEU9KDAsci51c2VPdXRzaWRlRXZlbnQpKHtjbGljazohMCxoYW5kbGVyOigpPT57YyYmKGMoITApLHYoITEpKX19KTtpZigwPT09eS5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgQz0hIWM7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkkuc3RhdHVzZXNXcmFwLHJlZjpFfSxzLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIseyJkYXRhLXJvbGUiOiJzdGF0dXNlcy1waWxsIixjbGFzc05hbWU6aSgpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsImNvbW1vbi10b29sdGlwLXdpZGUiLElbYl0pLHRhYkluZGV4OjAsCm9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLHkuZm9yRWFjaCgoZT0+e2UubW9kZWwudHVybk9mZkJsaW5raW5nTW9kZT8uKCl9KSksVCgpLCFnKXtjb25zdCBlPXkuZmluZCgoZT0+ZS5tb2RlbC5vblBpbGxDbGljaykpO2U/Lm1vZGVsPy5vblBpbGxDbGljaz8uKCl9YyYmKGUuc3RvcFByb3BhZ2F0aW9uKCksYyhnKSk7ZyYmKHQ9TSwoMCxkLnRyYWNrRXZlbnQpKCJHVUkiLCJTdGF0dXNlcyB3aWRnZXQncyBhY3Rpb24iLHQpKTt2YXIgdH0sdGl0bGU6TSwiZGF0YS1xYS1pZCI6ImxlZ2VuZC1zb3VyY2UtaXRlbS1zdGF0dXMifSx5Lm1hcCgoZT0+KHcuaGFzKGUpfHx3LnNldChlLCgwLGgucmFuZG9tSGFzaCkoKSkscy5jcmVhdGVFbGVtZW50KG0uU3RhdHVzSWNvbix7a2V5OncuZ2V0KGUpLHZpc2libGU6ZS52aXNpYmxlLGljb246ZS5tb2RlbC5pY29uKCksY2xhc3NOYW1lOmUubW9kZWwuY2xhc3NOYW1lKCksc2l6ZTplLm1vZGVsLnNpemUoKT8/InNtYWxsIixpc0JsaW5raW5nOmUubW9kZWwuaXNCbGlua2luZ01vZGUsdHVybk9mZkJsaW5raW5nOmUubW9kZWwudHVybk9mZkJsaW5raW5nTW9kZSxjdXN0b21Db2xvcjplLm1vZGVsLmN1c3RvbUNvbG9yKCksZGF0YVFhSWQ6ZS5kYXRhUWFJZCxkYXRhc2V0RW50aXR5SWQ6ZS5pY29uRGF0YXNldEVudGl0eUlkfSkpKSkpLHMuY3JlYXRlRWxlbWVudChfLkZ1bGxUb29sdGlwc1BvcHVwLHtzdGF0dXNlczp0LGFuY2hvcmVkOnt0eXBlOiJlbGVtZW50IixhdDpFfSxpc09wZW46ZyYmIUMsb25DbG9zZTprLG9mZnNldFBvc2l0aW9uOnt4Oi0xNSx5OjR9fSkpO2Z1bmN0aW9uIFQoKXt2KChlPT4hZSkpfWZ1bmN0aW9uIGsoKXt2KCExKX19fSw3ODM5NzgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7U3RhdHVzZXNXaWRnZXRTdGF0ZUJhc2U6KCk9PmMsdXBkYXRlV2F0Y2hlZFZhbHVlRGVib3VuY2VkOigpPT51fSk7dmFyIHMsbz1hKDU0Nzg1MSksaT1hKDYwMTg0MSkscj1hKDIzMjM2NCksbj1hKDk1MjkwMCksbD1hKDgwMDIyNik7ZnVuY3Rpb24gdShlLHQsYSxzKXtjb25zdCBpPW5ldyByLldhdGNoZWRWYWx1ZSh0KSxuPSgwLG8uZGVmYXVsdCkoKGU9Pmkuc2V0VmFsdWUoZSkpLGEpO3JldHVybiBlLnN1YnNjcmliZSgoZT0+e24oZSkscz8uKGUpJiZuLmZsdXNoKCl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksaS5yZWFkb25seSgpLnNwYXduKCgoKT0+e24uY2FuY2VsKCksZS5yZWxlYXNlKCl9KSl9IWZ1bmN0aW9uKGUpe2UuVG9vbHRpcFNlcGFyYXRvcj0iIMK3ICJ9KHN8fChzPXt9KSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9zaXplPWwudHJhY2tpbmdNb2RlSXNBdmFpbGFibGU/Im1lZGl1bSI6InNtYWxsIix0aGlzLl9zdGF0dXNWaWV3TW9kZWxzSW5mb3NXVj1uZXcgci5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3Zpc2liaWxpdHk9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9mb3JjZUhpZGVWaXNpYmlsaXR5TW9kZWxzPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fb3B0aW9ucz1lO2NvbnN0IHQ9KDAsbi5jb21iaW5lKSgoZT0+ZS5tYXAoKGU9PigwLG4uY29tYmluZSkoKChlLHQpPT5lJiZ0KSxlLnZpc2libGUud2Vha1JlZmVyZW5jZSgpLGUubW9kZWwudmlzaWJsZSgpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpKSksdGhpcy5fc3RhdHVzVmlld01vZGVsc0luZm9zV1Yud2Vha1JlZmVyZW5jZSgpKTt0aGlzLl92aXNpYmxlTW9kZWxzPXUoKDAsbi5hY2N1bXVsYXRlKSgoKGUsdCxhKT0+dD9bXTphLmZpbHRlcigoKHQsYSk9PmVbYV0mJnR8fG51bGwpKS5maWx0ZXIoaS5ub3ROdWxsKS5zbGljZSgwLDMpKSx0Lm93bmVyc2hpcCgpLHRoaXMuX2ZvcmNlSGlkZVZpc2liaWxpdHlNb2RlbHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCksW10sMjUwLChlPT4wPT09ZS5sZW5ndGgpKSx0aGlzLl92aXNpYmxlTW9kZWxzLnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKSkpLHRoaXMuX3Rvb2x0aXA9KDAsbi5hY2N1bXVsYXRlKSgoZT0+ZS5maWx0ZXIoaS5ub3ROdWxsKS5qb2luKCIgwrcgIikpLCgwLG4uY29tYmluZSkoKGU9PmUubWFwKChlPT5lLm1vZGVsLnRvb2x0aXAoKS53ZWFrUmVmZXJlbmNlKCkpKSksdGhpcy5fdmlzaWJsZU1vZGVscy53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpKX1kZXN0cm95KCl7dGhpcy5fdmlzaWJpbGl0eS51bnN1YnNjcmliZSgpLHRoaXMuX2NsZWFyU3RhdHVzVmlld01vZGVscygpLHRoaXMuX3Zpc2libGVNb2RlbHMuZGVzdHJveSgpLHRoaXMuX3Rvb2x0aXAuZGVzdHJveSgpfXZpc2liaWxpdHkoKXtyZXR1cm4gdGhpcy5fdmlzaWJpbGl0eS5yZWFkb25seSgpfXZpc2libGVNb2RlbHMoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZU1vZGVsc310b29sdGlwKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXB9X2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyhlKXt0aGlzLl9zdGF0dXNWaWV3TW9kZWxzSW5mb3NXVi5zZXRWYWx1ZShbLi4udGhpcy5fc3RhdHVzVmlld01vZGVsc0luZm9zV1YudmFsdWUoKSxlXSl9X2NsZWFyU3RhdHVzVmlld01vZGVscygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLnZhbHVlKCkpe2lmKGUuYWRkaXRpb25hbFdpZGdldHMpZm9yKGNvbnN0IHQgb2YgZS5hZGRpdGlvbmFsV2lkZ2V0cyl0LmRlc3Ryb3koKTtlLm1vZGVsLmRlc3Ryb3koKSxlLnZpc2libGUuZGVzdHJveSgpfX19fSw5NzA2MzUoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7Qm9vbGVhblN0YXR1c1ZpZXdNb2RlbDooKT0+aX0pO3ZhciBzPWEoMjMyMzY0KSxvPWEoNTY1MjA2KTtjbGFzcyBpIGV4dGVuZHMgby5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KSx0aGlzLl9ib29sZWFuU3RhdHVzPW5ldyBzLldhdGNoZWRWYWx1ZSghMSkuc3Bhd24oKSx0aGlzLnVwZGF0ZVN0YXR1cyhlKX1kZXN0cm95KCl7dGhpcy5fYm9vbGVhblN0YXR1cy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXVwZGF0ZVN0YXR1cyhlKXsKdGhpcy5fYm9vbGVhblN0YXR1cy5kZXN0cm95KCksdGhpcy5fYm9vbGVhblN0YXR1cz1lLnNwYXduKCksdGhpcy5fYm9vbGVhblN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfV91cGRhdGVTdGF0dXMoZSl7ZT90aGlzLl9zdGF0dXMuc2V0VmFsdWUoITApOnRoaXMuX3N0YXR1cy5zZXRWYWx1ZShudWxsKX19fSw4MDAyMjYoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7dHJhY2tpbmdNb2RlSXNBdmFpbGFibGU6KCk9PnN9KTtjb25zdCBzPWEoMzE4OTc0KS5DaGVja01vYmlsZS5hbnkoKX0sOTAxMTA4KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1BpbmVTb3VyY2VDb2RlTW9kZWxCYXNlOigpPT5uZSxib3R0b21XaWRnZXRCYXI6KCk9PmllLHVwZGF0ZXNJbmZvU3VwcG9ydGVkOigpPT5yZX0pO3ZhciBzPWEoMTM4NjM4KSxvPWEoMTg1MjcxKSxpPWEoMzg2OTMxKSxyPWEoMjIxMDYxKSxuPWEoMzY4MzEyKSxsPWEoMjMyMzY0KSx1PWEoODc0MzA2KSxjPWEoNjA1MjU3KSxkPWEoNTcwNjAzKSxoPWEoOTIwNDc1KSxwPWEoMTY3NTAyKSxtPWEoNzY4NzYwKSxfPWEoNzkxNDI3KSxTPWEoNjgxNzk5KSxmPWEoNzY1MTczKSx3PWEoODQ4Nzg1KSxiPWEoNDEyMzg0KSxnPWEoNjI4MDYpLHY9YSg5NTY0MzcpLHk9YSg4ODU2MzApLE09YSg5NjQ1NzMpLEk9YSgxNjM2MDMpLEU9YSgxODU2MDgpLEM9YSg4MjAxODApLFQ9YSg5NDgzODApO2NsYXNzIGsgZXh0ZW5kcyBTLlN0dWR5U3R1Yntjb25zdHJ1Y3RvcihlLHQsYSxzKXtzdXBlcihlLHQsYSwhMSxzKSx0aGlzLmlzU3RyYXRlZ3lTdHViPSEwLHRoaXMud2F0Y2hlZERhdGE9bmV3IGwuV2F0Y2hlZFZhbHVlKHttZXRob2Q6IlRlc3QifSksdGhpcy5fcmVwb3J0RGF0YT1udWxsLHRoaXMuX2JhcnNJbmRleGVzPVtdLHRoaXMuX2JhcnNJbmRleGVzPXQuZGF0YS5iYXJzSW5kZXhlc3x8W10sdGhpcy5fcmVwb3J0RGF0YT10LmRhdGEucmVwb3J0RGF0YT8/bnVsbCx0aGlzLm1vZGVsKCkuYWRkU3RyYXRlZ3lTb3VyY2UodGhpcywwKX1kZXN0cm95KCl7dGhpcy5tb2RlbCgpLnJlbW92ZVN0cmF0ZWd5U291cmNlKHRoaXMsMCksc3VwZXIuZGVzdHJveSgpfW1ldGFJbmZvKCl7cmV0dXJuKDAscy5lbnN1cmVOb3ROdWxsKShzdXBlci5tZXRhSW5mbygpKX1yZXBvcnREYXRhKCl7cmV0dXJuIHRoaXMuX3JlcG9ydERhdGF9b3JkZXJzRGF0YSgpe3JldHVybiB0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/P251bGx9YmFyc0luZGV4ZXMoKXtyZXR1cm4gdGhpcy5fYmFyc0luZGV4ZXN9YWN0aXZlU3RhdGUoKXtyZXR1cm4gdGhpcy5tb2RlbCgpLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKT09PXRoaXN9c3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpe3JldHVybiBudWxsfXJlcG9ydENoYW5nZWQoKXtyZXR1cm4gbmV3IFQuRGVsZWdhdGV9c3R1ZHlOYW1lKCl7cmV0dXJuIG5ldyBsLldhdGNoZWRWYWx1ZSgiIikucmVhZG9ubHkoKX19dmFyIHg9YSg5NjY0MDQpO2NvbnN0IEQ9e2FzT2JqZWN0OiEwLG9ubHlBdG9tVmFsdWVzOiEwLHZhbHVlc0FzSXNGcm9tUHJvcGVydGllczohMCxza2lwSGlkZGVuSW5wdXRzOiEwLGRvTm90U2tpcEhpZGRlbldpdGhNaWdyYXRlOiEwLHNraXBCb29sZWFuSW5wdXRzOiExLHNraXBUZXh0YXJlYUlucHV0czohMSx1c2VOYW1lQW5kR3JvdXBBc0tleTohMH0sVj1uZXcgTWFwLFA9bmV3IFNldDtmdW5jdGlvbiBBKGUsdCxhLG8saSl7Y29uc3Qgcj1lLmlkKCksbj1QLmhhcyhyKTtsZXQgbD1uPygwLHMuZW5zdXJlRGVmaW5lZCkoVi5nZXQocikpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO3JldHVybntpbnB1dHNJbmZvTGlzdDp0LmlucHV0cyxpbnB1dERlZmF1bHRzOnQuZGVmYXVsdHMuaW5wdXRzLGlucHV0VmFsdWVzOmUuaW5wdXRzKEQpfX0oZSk7MD09PU9iamVjdC5rZXlzKGwuaW5wdXRWYWx1ZXMpLmxlbmd0aCYmKGw9Vi5nZXQocik/P2wpLG58fFYuc2V0KHIsbCksaT8ubGVuZ3RoP1AuYWRkKHIpOlAuZGVsZXRlKHIpO2NvbnN0IHU9e3pvcmRlcjplLnpvcmRlcigpLHBhbmVJZDphLnBhbmUuaWQoKX07bGV0IGM7aWYoYS5wcmljZVNjYWxlJiZhLnByaWNlU2NhbGU9PT1lLnByaWNlU2NhbGUoKSl7Yz0oMCx2LmlzU3R1ZHlTdHJhdGVneSkoZSk/ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLm1vZGVsKCksYT1lLnN0YXRlKCEwKSxzPW5ldyBrKHQsYSwiIixlLm1ldGFJbmZvKCkpLG89dC5jcmVhdGVQYW5lKCk7cmV0dXJuIG8uYWRkRGF0YVNvdXJjZShzLG51bGwsITEpLHMuc2V0Wm9yZGVyKG8ubmV3U3R1ZHlaT3JkZXIoKSksdC5yZWNhbGN1bGF0ZVBhbmUobywoMCx4LnNvdXJjZUNoYW5nZUV2ZW50KShzLmlkKCkpKSx0LmZ1bGxVcGRhdGUoKSxzfShlKTpvLm1vZGVsKCkuaW5zZXJ0U3R1ZHlTdHViKCIiKTtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkoby5wYW5lRm9yU291cmNlKGUpKSxhPW8ubW9kZWwoKS5wYW5lcygpLmluZGV4T2YodCk7bmV3IE0uTWVyZ2VUb1RhcmdldFBhbmUoby5tb2RlbCgpLGMsYSxudWxsLCEwKS5yZWRvKCk7bmV3IEkuTW92ZVRvRXhpc3RpbmdQcmljZVNjYWxlVW5kb0NvbW1hbmQoby5tb2RlbCgpLGMsdCwoMCxzLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKSxudWxsKS5yZWRvKCl9KDAsYi5yZW1vdmVBbGxTb3VyY2VzV2l0aERlcGVuZGVuY2llcykoby5tb2RlbCgpLFtlXSk7Y29uc3QgZD1mdW5jdGlvbihlLHQsYSxzLG8pe2NvbnN0IGk9KDAseS5yZW1hcFN0dWR5SW5wdXRzQnlOYW1lKSh0LmlucHV0cyx0LmRlZmF1bHRzLmlucHV0cyx7aW5wdXRzSW5mb0xpc3Q6YS5pbnB1dHNJbmZvTGlzdCxpbnB1dERlZmF1bHRzOmEuaW5wdXREZWZhdWx0cyx2YWx1ZXNCeU5hbWU6YS5pbnB1dFZhbHVlc30pLHI9bmV3IEUuSW5zZXJ0U3R1ZHlDb21tYW5kKHtjaGFydE1vZGVsOmUubW9kZWwoKSxzdHVkeU1ldGFJbmZvOnQsaW5wdXRzOmkscHJvcHM6e30sYWRkQXNPdmVybGF5OiExLHBhcmVudFNvdXJjZXM6W10sdGFyZ2V0Wk9yZGVyOnMsc3R1ZHlJZDpvfSk7ci5yZWRvKCkKO2NvbnN0IG49ci5pbnNlcnRlZFN0dWR5KCk7cmV0dXJuIG4uc3R1ZHkudGhlbigodD0+e0MuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKGUubW9kZWwoKSkuYWRkKG8sdCl9KSksbn0obyx0LGwsdSxlLmlkKCkpO3JldHVybiBkLnN0dWR5LnRoZW4oKGU9PntpZihlLnNldFpvcmRlcih1LnpvcmRlciksIXQubGlua2VkVG9TZXJpZXMpe2NvbnN0IHQ9by5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihhLnBhbmUpO2lmKG5ldyBNLk1lcmdlVG9UYXJnZXRQYW5lKG8ubW9kZWwoKSxlLHQsbnVsbCwhMCkucmVkbygpLG51bGwhPT1hLnByaWNlU2NhbGUpe25ldyBJLk1vdmVUb0V4aXN0aW5nUHJpY2VTY2FsZVVuZG9Db21tYW5kKG8ubW9kZWwoKSxlLGEucGFuZSxhLnByaWNlU2NhbGUsbnVsbCkucmVkbygpfWVsc2V7bmV3IEkuTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKG8ubW9kZWwoKSxlLGEucGFuZSwib3ZlcmxheSIsbnVsbCkucmVkbygpfX1lLnNldEVycm9yQ29tcGlsYXRpb24oaT8ubGVuZ3RoP2k6bnVsbCksYyYmby5tb2RlbCgpLnJlbW92ZVNvdXJjZShjKX0pKSxkfXZhciBSPWEoODgxOTIpLEI9YSgxOTg5MDEpO2NvbnN0IE49bmV3IGQuVHJhbnNsYXRlZFN0cmluZygidXBkYXRlIHt0aXRsZX0gc2NyaXB0IixvLnQobnVsbCx2b2lkIDAsYSg0MTAxNDgpKSk7ZnVuY3Rpb24gRihlLHQpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IGE9dC5wcmljZVNjYWxlUG9zaXRpb24oZSk7cmV0dXJue2lkOmUuaWQoKSxwb3NpdGlvbjphLHByaWNlU2NhbGVJbmRleDp0LnByaWNlU2NhbGVJbmRleChlLGEpfX1jb25zdCBXPW5ldyBNYXAsTz0vXmRlc2NyaXB0aW9uJC8sSD0vXnNob3J0RGVzY3JpcHRpb24kLyxMPS9eYmFuZHNcLlxkK1wubmFtZSQvLFU9L15maWxsZWRBcmVhc1wuXGQrXC50aXRsZSQvLEc9L15zdHlsZXNcLnBsb3RfXGQrXC50aXRsZSQvLHo9L15vaGxjUGxvdHNcLnBsb3RiYXJfXGQrXC50aXRsZSQvLHE9L15vaGxjUGxvdHNcLnBsb3RjYW5kbGVfXGQrXC50aXRsZSQvO2Z1bmN0aW9uICQoZSl7cmV0dXJuW08sSCxMLFUsRyx6LHFdLnNvbWUoKHQ9PnQudGVzdChlKSkpfWZ1bmN0aW9uIGooZSx0KXtjb25zdCBhPSgwLGguZGVmYXVsdCkodCxlKTtkZWxldGUgYS5waW5lLGRlbGV0ZSBhLmRlZmF1bHRzPy5pbnB1dHMsZGVsZXRlIGEuaW5wdXRzLCgwLEIucmVtb3ZlRW1wdHlPYmplY3RzRnJvbVJlY29yZElucGxhY2UpKGEpO3JldHVybigwLEIuY29sbGVjdEFsbFBhdGhzKShhKS5ldmVyeSgkKX1mdW5jdGlvbiBRKGUsdCxhKXthLmZvckVhY2goKChhLHMpPT57Y29uc3Qgbz1wYXJzZUludChhLnNwbGl0KCIkIilbMV0/PyItMSIpO28+PTAmJm88ZS5wbG90cy5sZW5ndGgmJnQucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZChzKT8uc2V0VmFsdWUoYSl9KSl9ZnVuY3Rpb24gWChlKXtjb25zdCB0PWUuaW5wdXRzKHthc09iamVjdDohMH0pLGE9T2JqZWN0LmtleXModCkuZmlsdGVyKChlPT4oMCxnLmlzRXh0ZW5kZWRJbnB1dFNvdXJjZSkodFtlXSkpKS5tYXAoKGU9PltlLCgwLGcuZ2V0SW5wdXRWYWx1ZSkodFtlXSldKSk7cmV0dXJuIG5ldyBNYXAoYSl9ZnVuY3Rpb24gSyhlKXtyZXR1cm4gZS5jaGlsZHJlbigpLm1hcCgoZT0+KHtlbnRpdHlJZDplLmlkKCksaW5wdXRzOlgoZSl9KSkpfWZ1bmN0aW9uIFooZSx0KXtjb25zdCBhPXt9LHM9ZS5zdHVkaWVzV1YoKS5zcGF3bigpLG89KCk9PntlLm9uRGVzdHJveWVkKCkudW5zdWJzY3JpYmVBbGwoYSkscy5kZXN0cm95KCl9O3JldHVybiBuZXcgUHJvbWlzZSgoKGkscik9PntlLm9uRGVzdHJveWVkKCkuc3Vic2NyaWJlKGEsKCgpPT57bygpLHIoKX0pKSxzLnN1YnNjcmliZSgoZT0+e2NvbnN0IGE9ZS5maW5kKChlPT5lLmlkKCk9PT10KSk7YSYmKG8oKSxpKGEpKX0pKX0pKX1jbGFzcyBKIGV4dGVuZHMgZi5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsYSxzKXtjb25zdCBvPWEuc3RhdGUoKTtpZihzdXBlcihOLmZvcm1hdCh7dGl0bGU6by5zaG9ydERlc2NyaXB0aW9ufHxvLmRlc2NyaXB0aW9ufHwiIn0pKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlPSgwLG0uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX3N0YXJ0UmVkb1Byb21pc2U9KDAsbS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fdXBkYXRlZFN0dWRpZXNJZHM9W10sdGhpcy5fcHJldlNjcmlwdHNTdGF0ZXM9W10sdGhpcy5fbmV3U2NyaXB0c1N0YXRlcz1bXSx0aGlzLl9jaGlsZFN0dWRlc1NvdXJjZXNJbnB1dHM9bmV3IE1hcCx0aGlzLl9jaGFydE1vZGVsPWUsdGhpcy5fY29tcGlsZUVycm9ycz1zLHRoaXMuX25ld01ldGFJbmZvPWEsInNjcmlwdElkUGFydCJpbiB0KXtjb25zdCBlPWZ1bmN0aW9uKGUsdCxhLHMpe2NvbnN0IG89W10saT10LmRhdGFTb3VyY2VzKCk7Zm9yKGxldCB0PWkubGVuZ3RoLTE7dD49MDt0LS0pe2NvbnN0IHI9aVt0XTtpZihzJiZyLmlkKCkhPT1zKWNvbnRpbnVlO2lmKCEoMCx2LmlzU3R1ZHkpKHIpKWNvbnRpbnVlO2NvbnN0IG49ci5tZXRhSW5mbygpO24ucGluZSYmbi5zY3JpcHRJZFBhcnQ9PT1lJiYoImFsbCI9PT1hfHxhJiZuLnBpbmUudmVyc2lvbj09PWEudG9TdHJpbmcoKSkmJm8ucHVzaChyKX1yZXR1cm4gb30odC5zY3JpcHRJZFBhcnQsdGhpcy5fY2hhcnRNb2RlbCx0LnNjcmlwdFZlcnNpb25Ub1VwZGF0ZSk7dGhpcy5fdXBkYXRlZFN0dWRpZXNJZHM9ZS5tYXAoKGU9PmUuaWQoKSkpLHRoaXMuX3NhdmVDaGlsZFN0dWRpZXNJbnB1dHMoZSl9ZWxzZSB0aGlzLl91cGRhdGVkU3R1ZGllc0lkcz1bdC5zdHVkeS5pZCgpXX11cGRhdGVTY3JpcHRzSWRzKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZWRTdHVkaWVzSWRzfWFzeW5jIHJlZG8oKXt0aGlzLl9zdGFydFJlZG9Qcm9taXNlLnJlc29sdmUoKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlPSgwLG0uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO2NvbnN0IGU9dGhpcy5fZGV0YWNoTGluZVRvb2xzKCk7dHJ5e2lmKDA9PT10aGlzLl9uZXdTY3JpcHRzU3RhdGVzLmxlbmd0aCl7CmlmKCFhd2FpdCB0aGlzLl9yZXBsYWNlU291cmNlc0FuZFNhdmVTdGF0ZXMoKSlyZXR1cm59ZWxzZXtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKXRoaXMuX3Jlc2V0Q2hpbGRJbnB1dHNTb3VyY2VUb0RlZmF1bHQoZSk7aWYoIWF3YWl0IFByb21pc2UucmFjZShbdGhpcy5fcmVzdG9yZVN0YXRlcyh0aGlzLl9uZXdTY3JpcHRzU3RhdGVzKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlLnByb21pc2VdKSlyZXR1cm59Zm9yKGNvbnN0W2UsdF1vZiB0aGlzLl9jaGlsZFN0dWRlc1NvdXJjZXNJbnB1dHMpe2NvbnN0IGE9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKSksbz1lPT57Y29uc3QgYT1lLm1ldGFJbmZvKCk7Zm9yKGNvbnN0e2VudGl0eUlkOmUsaW5wdXRzOnN9b2YgdCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKTt0JiYoYSYmUShhLHQscyksdC5zdGFydCghMCwhMSwyKSl9fTtpZigoMCx2LmlzU3R1ZHkpKGEpKW8oYSk7ZWxzZXtaKHRoaXMuX2NoYXJ0TW9kZWwsZSkudGhlbihvKX19fWZpbmFsbHl7dGhpcy5fYXR0YWNoTGluZVRvb2xzKGUpfX1hc3luYyB1bmRvKCl7dGhpcy5fc3RhcnRVbmRvUHJvbWlzZS5yZXNvbHZlKCksdGhpcy5fc3RhcnRSZWRvUHJvbWlzZT0oMCxtLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtjb25zdCBlPXRoaXMuX2RldGFjaExpbmVUb29scygpO3RyeXtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKXRoaXMuX3Jlc2V0Q2hpbGRJbnB1dHNTb3VyY2VUb0RlZmF1bHQoZSk7aWYoIWF3YWl0IFByb21pc2UucmFjZShbUHJvbWlzZS5hbGwodGhpcy5fcmVzdG9yZVN0YXRlcyh0aGlzLl9wcmV2U2NyaXB0c1N0YXRlcykpLHRoaXMuX3N0YXJ0UmVkb1Byb21pc2UucHJvbWlzZV0pKXJldHVybjtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodC5lbnRpdHlJZCk7aWYobnVsbCE9PWUpZm9yKGNvbnN0W2Esc11vZiB0LmlucHV0cyllLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKClbYV0uc2V0VmFsdWUocyl9fWZpbmFsbHl7dGhpcy5fYXR0YWNoTGluZVRvb2xzKGUpfX1hc3luYyBfcmVwbGFjZVNvdXJjZXNBbmRTYXZlU3RhdGVzKCl7Y29uc3QgZT10aGlzLl91cGRhdGVkU3R1ZGllc0lkcy5tYXAoKGU9PnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSk7dGhpcy5fcHJldlNjcmlwdHNTdGF0ZXM9dGhpcy5fZ2V0U2NyaXB0c1N0YXRlcyhlKTtjb25zdCB0PVtdO2ZvcihsZXQgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKXtjb25zdCBvPWVbYV0saT1vLmlkKCkscj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShvKSksbj1yLmlzT3ZlcmxheShvKT9udWxsOm8ucHJpY2VTY2FsZSgpLGw9by5vcmlnaW5hbE1ldGFJbmZvKCkuc3RhdGUoKSx1PXRoaXMuX25ld01ldGFJbmZvLnN0YXRlKCk7dGhpcy5fc2F2ZUNoaWxkU291cmNlSW5wdXRzQmVmb3JlUmVjb21waWxhdGUoaSxsLHUpO2NvbnN0IGM9dGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzLmdldChpKTtjJiZ0aGlzLl9yZXNldENoaWxkSW5wdXRzU291cmNlVG9EZWZhdWx0KGMpO2NvbnN0IGQ9QShvLHRoaXMuX25ld01ldGFJbmZvLHtwYW5lOnIscHJpY2VTY2FsZTpufSx0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLHRoaXMuX2NvbXBpbGVFcnJvcnMpO2lmKHQucHVzaChkLnN0dWR5KSxqKGwsdSkpe2NvbnN0IGU9by5wcm9wZXJ0aWVzKCkuc3RhdGUoKTtkZWxldGUgZS5pbnB1dHMsZC5zdHVkeS50aGVuKCh0PT57dC5wcm9wZXJ0aWVzKCkubWVyZ2VBbmRGaXJlKGUpfSkpfX1Qcm9taXNlLmFsbCh0KS50aGVuKChlPT57dGhpcy5fbmV3U2NyaXB0c1N0YXRlcz10aGlzLl9nZXRTY3JpcHRzU3RhdGVzKGUpfSkpO2NvbnN0IGE9YXdhaXQgUHJvbWlzZS5yYWNlKFtQcm9taXNlLmFsbCh0KSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlLnByb21pc2VdKTtyZXR1cm4gYXx8bnVsbH1fcmVzdG9yZVN0YXRlcyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBhIG9mIGUpdGhpcy5fcmVzdG9yZVNjcmlwdEFmdGVyUmVjb21waWxhdGlvbihhKSx0LnB1c2godGhpcy5fY2hhcnRNb2RlbC53YWl0Rm9yU3R1ZHkoYS5lbnRpdHlJZCkpO3JldHVybiB0fV9nZXRTY3JpcHRzU3RhdGVzKGUpe2NvbnN0IHQ9W10sYT10aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkubWFwKCgoZSx0KT0+KHtzdGF0ZTplLnN0YXRlKHtpbmNsdWRlU291cmNlczohMX0pLGluZGV4OnQsaWQ6ZS5pZCgpfSkpKTtmb3IobGV0IG89ZS5sZW5ndGgtMTtvPj0wO28tLSl7Y29uc3QgaT1lW29dLHI9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoaSkpLG49dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmluZGV4T2YociksbD1GKGkucHJpY2VTY2FsZSgpLHIpLHU9aS5zdGF0ZSghMSk7dC5wdXNoKHtlbnRpdHlJZDppLmlkKCksc3RhdGU6dSxwYW5lU3RhdGU6YVtuXSxwcmljZVNjYWxlUG9zaXRpb25JZHM6bH0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLnBhbmVTdGF0ZS5pbmRleC10LnBhbmVTdGF0ZS5pbmRleCkpLHR9X3Jlc3RvcmVTY3JpcHRBZnRlclJlY29tcGlsYXRpb24oZSl7Y29uc3R7ZW50aXR5SWQ6dCxwYW5lU3RhdGU6YSxzdGF0ZTpvLHByaWNlU2NhbGVQb3NpdGlvbklkczppfT1lO2lmKG51bGw9PT1vfHwoMCxTLmlzU3R1ZHlTdHViRGVzY3JpcHRvcikobykpcmV0dXJuO2NvbnN0IHI9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSksbj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShyKSksbD1uZXcgdy5SZW1vdmVTb3VyY2VzVW5kb0NvbW1hbmQodGhpcy5fY2hhcnRNb2RlbCxbcl0sbmV3IGQuVHJhbnNsYXRlZFN0cmluZygiIiwiIikpO2wucmVkbygpLApsLnJlbW92ZWRJZHMoKS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLnJlc2V0V2FpdEZvclN0dWR5KGUpKSk7Y29uc3QgdT17em9yZGVyOnIuem9yZGVyKCkscGFuZUlkOm4uaWQoKX07bGV0IGM7aWYobnVsbD09PXRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvcklkKGEuaWQpKXRoaXMuX2NoYXJ0TW9kZWwuY3JlYXRlUGFuZShhLmluZGV4LHZvaWQgMCxhLmlkKSx0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JJZChhLmlkKT8ucmVzdG9yZVN0YXRlKHtzdGF0ZTp7Li4uYS5zdGF0ZSxzb3VyY2VzOltvXX0sd2l0aERhdGE6ITEsdmVyc2lvbjp0aGlzLl9jaGFydE1vZGVsLnZlcnNpb24oKX0pLGM9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSk7ZWxzZXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5pbmRleE9mKCgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9ySWQoYS5pZCkpKTtjPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5yZXN0b3JlU291cmNlKCExLGUsbnVsbCxvLGkpKSxjLnNldFpvcmRlcih1LnpvcmRlcil9Vy5oYXModCkmJlcuc2V0KGMuaWQoKSwoMCxzLmVuc3VyZURlZmluZWQpKFcuZ2V0KHQpKSl9X3NhdmVDaGlsZFNvdXJjZUlucHV0c0JlZm9yZVJlY29tcGlsYXRlKGUsdCxhKXtjb25zdCBvPXQucGxvdHMuZmlsdGVyKChlPT5fLlN0dWR5TWV0YUluZm8uY2FuUGxvdEJlU291cmNlT2ZDaGlsZFN0dWR5KGUudHlwZSkpKSxpPWEucGxvdHMuZmlsdGVyKChlPT5fLlN0dWR5TWV0YUluZm8uY2FuUGxvdEJlU291cmNlT2ZDaGlsZFN0dWR5KGUudHlwZSkpKTtpZighKDAscC5kZWZhdWx0KShvLGkpKXtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZSkpLGE9KDAsYi5jbG9zZVNvdXJjZXNTZXQpKHRoaXMuX2NoYXJ0TW9kZWwsW3RdLCEwKTtmb3IoY29uc3QgZSBvZiBvKWkuZmluZCgodD0+dD09PWUpKXx8YS5maWx0ZXIodi5pc1N0dWR5KS5mb3JFYWNoKChlPT57Y29uc3QgYT1lLmlucHV0cygpLHM9Xy5TdHVkeU1ldGFJbmZvLmdldFNvdXJjZUlucHV0SWRzKGUubWV0YUluZm8oKSksbz17ZW50aXR5SWQ6ZS5pZCgpLGlucHV0czpuZXcgTWFwfTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCBzPWFbZV07aWYoKDAsZy5pc0V4dGVuZGVkSW5wdXQpKHMpJiYoMCxnLmlzRXh0ZW5kZWRJbnB1dFNvdXJjZSkocykpe2NvbnN0IGE9KDAsZy5nZXRJbnB1dFZhbHVlKShzKTstMSE9PWEuaW5kZXhPZih0LmlkKCkpJiZvLmlucHV0cy5zZXQoZSxhKX19aWYoby5pbnB1dHMuc2l6ZSl7bGV0IGU9dGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzLmdldCh0LmlkKCkpO2V8fChlPVtdLHRoaXMuX2NoaWxkU3R1ZGVzU291cmNlc0lucHV0cy5zZXQodC5pZCgpLGUpKSxlLnB1c2gobyl9fSkpfX1fcmVzZXRDaGlsZElucHV0c1NvdXJjZVRvRGVmYXVsdChlKXtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodC5lbnRpdHlJZCkpO2Uuc3RvcCghMSwyKTtmb3IoY29uc3RbYV1vZiB0LmlucHV0cyl7Y29uc3QgdD0oMCxzLmVuc3VyZURlZmluZWQpKGUubWV0YUluZm8oKS5kZWZhdWx0cy5pbnB1dHM/LlthXSk7ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpW2FdLnNldFZhbHVlKHQpfX19X2RldGFjaExpbmVUb29scygpe3JldHVybiB0aGlzLl91cGRhdGVkU3R1ZGllc0lkcy5yZWR1Y2UoKChlLHQpPT57Y29uc3QgYT0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQpKSxvPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGEpKSxpPW8uZGF0YVNvdXJjZXMoKS5maWx0ZXIoUi5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PmUub3duZXJTb3VyY2UoKT8uaWQoKT09PWEuaWQoKSkpO3JldHVybiBlLnNldChhLmlkKCksaSksaS5mb3JFYWNoKChlPT5vLnJlbW92ZURhdGFTb3VyY2UoZSkpKSxlfSksbmV3IE1hcCl9X2F0dGFjaExpbmVUb29scyhlKXtjb25zdCB0PW5ldyBTZXQ7ZS5mb3JFYWNoKCgoZSxhKT0+e2NvbnN0IG89dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoYSk7aWYobnVsbD09PW8pcmV0dXJuIHZvaWQgdC5hZGQoYSk7Y29uc3QgaT0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShvKSk7ZS5mb3JFYWNoKChlPT57ZS5zZXRPd25lclNvdXJjZShvKSxpLmFkZERhdGFTb3VyY2UoZSxvLnByaWNlU2NhbGUoKSwhMCl9KSl9KSksdC5mb3JFYWNoKCh0PT57Y29uc3QgYT1lLmdldCh0KTthJiZhLmZvckVhY2goKGU9PntlLmRlc3Ryb3k/LigpfSkpfSkpfV9zYXZlQ2hpbGRTdHVkaWVzSW5wdXRzKGUpe3RoaXMuX2NoaWxkU3R1ZGVzU291cmNlc0lucHV0cz1uZXcgTWFwKGUubWFwKChlPT5bZS5pZCgpLEsoZSldKSkpfX12YXIgWT1hKDQxMzQxKSxlZT1hKDk0Mzk1KSx0ZT1hKDM0MjIwKSxhZT1hKDYwMjM4Nik7Y29uc3Qgc2U9bmV3IGQuVHJhbnNsYXRlZFN0cmluZygidXBkYXRlIGluZGljYXRvciB0byBsYXRlc3QgdmVyc2lvbiIsby50KG51bGwsdm9pZCAwLGEoNzE4NzU3KSkpLG9lPSgwLHIuZ2V0TG9nZ2VyKSgiQ2hhcnQuUGluZVNvdXJjZUNvZGUiKTtmdW5jdGlvbiBpZSgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcuYm90dG9tV2lkZ2V0QmFyfWZ1bmN0aW9uIHJlKGUpe3JldHVybiBfLlN0dWR5TWV0YUluZm8uaGFzUHViU3VmZml4KGUpfHxfLlN0dWR5TWV0YUluZm8uaGFzU3RkU3VmZml4KGUpfWNsYXNzIG5le2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlPW5ldyBsLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fcGluZVNvdXJjZUVkaXRvclN0YXR1cz1uZXcgbC5XYXRjaGVkVmFsdWUoMCksdGhpcy5fZ2V0U2NyaXB0SW5mbz1udWxsLHRoaXMuX2Rlc3Ryb3llZD0hMSwKdGhpcy5fdXBkYXRlQWJpbGl0eVNob3dTb3VyY2VDb2RlPWFzeW5jKCk9PntpZighd2luZG93LndpZGdldGJhcilyZXR1cm47Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgibGFzdCIpO2lmKG51bGw9PT1lKXJldHVybjtjb25zdHtzY3JpcHRJZFBhcnQ6dCxwaW5lVmVyc2lvbjphfT1lO3RyeXtjb25zdCBlPWF3YWl0KDAsbi5pc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlKSh0LGEpO2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47dGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUuc2V0VmFsdWUoZSYmd2luZG93LndpZGdldGJhci5pc1Zpc2libGUoKSl9Y2F0Y2goZSl7b2UubG9nRXJyb3IoIkZhaWxlZCBpc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlLCByZWFzb246ICIrZSl9fSx0aGlzLl9waW5lU2NyaXB0PWUsd2luZG93LndpZGdldGJhcj8udmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBYmlsaXR5U2hvd1NvdXJjZUNvZGUse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQaW5lU291cmNlRWRpdG9yU3RhdHVzLmJpbmQodGhpcykpLHRoaXMuX2luaXRPcGVuZWRTY3JpcHRzKCl9ZGVzdHJveSgpe3dpbmRvdy53aWRnZXRiYXI/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBYmlsaXR5U2hvd1NvdXJjZUNvZGUpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX29wZW5lZFNjcmlwdHM/LmRlc3Ryb3koKSx0aGlzLl9kZXN0cm95ZWQ9ITB9aXNBYmxlU2hvd1NvdXJjZUNvZGUoKXtyZXR1cm4gdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUucmVhZG9ubHkoKX1zY3JpcHQoKXtyZXR1cm4gdGhpcy5fcGluZVNjcmlwdH10aXRsZSgpe3JldHVybiB0aGlzLl9waW5lU2NyaXB0LnRpdGxlKGVlLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lKX1tZXRhSW5mbygpe3JldHVybiB0aGlzLl9waW5lU2NyaXB0Lm1ldGFJbmZvKCl9c2NyaXB0SWRQYXJ0KCl7Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7cmV0dXJuIGU/LnNjcmlwdElkUGFydD8/bnVsbH1hc3luYyBzaG93UGluZVNvdXJjZUNvZGUoZSl7aWYoKDAscy5hc3NlcnQpKHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlLnZhbHVlKCksIlNvdXJjZSBjb2RlIG5vdCBhdmFpbGFibGUhIChDaGVjayBhYmlsaXR5IHNob3cgc291cmNlIGNvZGUgYmVmb3JlIC0gY2FsbCBjYW5TaG93U291cmNlQ29kZSgpKSIpLCF3aW5kb3cud2lkZ2V0YmFyKXJldHVybjtjb25zdCB0PXRoaXMuX2dldFNvdXJjZUNvZGVEYXRhKCIiKTtudWxsIT09dCYmYXdhaXQoMCx0ZS5hY3RpdmF0ZVBpbmVFZGl0b3JEaWFsb2cpKHtzY3JpcHRJbmZvOntzY3JpcHQ6e3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCx2ZXJzaW9uOnQucGluZVZlcnNpb259LHBhcmFtczplfSxvcGVuU291cmNlSWQ6ImNoYXJ0X2xlZ2VuZCJ9KX1hc3luYyByZXF1ZXN0VXBkYXRlSW5mb3JtYXRpb24oKXtpZighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7aWYoIWUpcmV0dXJuIG51bGw7dHJ5e2NvbnN0e3NjcmlwdElkUGFydDp0LHBpbmVWZXJzaW9uOmF9PWU7aWYoIXJlKHQpKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQoMCxuLmdldExhc3RWZXJzaW9uKSh0KTtyZXR1cm4gcz97Y3VycmVudFZlcnNpb246dS5WZXJzaW9uLnBhcnNlKGEpLGxhc3RWZXJzaW9uOnUuVmVyc2lvbi5wYXJzZShzLnZlcnNpb24pfTpudWxsfWNhdGNoe3JldHVybiBudWxsfX1hc3luYyByZXF1ZXN0U2NyaXB0SW5mbygpe2lmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMuc2NyaXB0SWRQYXJ0KCk7aWYoIWUpcmV0dXJuIG51bGw7aWYoIV8uU3R1ZHlNZXRhSW5mby5oYXNQdWJTdWZmaXgoZSkpcmV0dXJuIG51bGw7aWYobmUuX3BpbmVQdWJTY3JpcHRJbmZvQ2FjaGUuaGFzKGUpKXJldHVybiBuZS5fcGluZVB1YlNjcmlwdEluZm9DYWNoZS5nZXQoZSk/P251bGw7Y29uc3QgdD1hd2FpdCgwLFkucmVxdWVzdFNjcmlwdEluZm8pKGUpO3JldHVybiBuZS5fcGluZVB1YlNjcmlwdEluZm9DYWNoZS5zZXQoZSx0KSx0fWFzeW5jIHVwZGF0ZVRvVmVyc2lvbihlLHQsYSl7Y29uc3Qgcz10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7aWYoIXMpcmV0dXJuOygwLGkudHJhY2tFdmVudCkoIkdVSSIsIlVwZGF0ZSBzdHVkeSB2ZXJzaW9uIik7Y29uc3Qgbz1hd2FpdCgwLGMuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6InBpbmUiLHBpbmVJZDpzLnNjcmlwdElkUGFydCxwaW5lVmVyc2lvbjp0LnRvU3RyaW5nKCl9KTtpZighdGhpcy5fZGVzdHJveWVkKXtjb25zdCB0PWE/ZS5hbGxVbmRvTW9kZWxzKCk6W2VdLHM9YT97c2NyaXB0SWRQYXJ0Om8uc2NyaXB0SWRQYXJ0LHNjcmlwdFZlcnNpb25Ub1VwZGF0ZToiYWxsIn06e3N0dWR5OnRoaXMuX3BpbmVTY3JpcHR9LGk9dC5tYXAoKGU9Pm5ldyBKKGUubW9kZWwoKSxzLG8pKSkuZmlsdGVyKChlPT5lLnVwZGF0ZVNjcmlwdHNJZHMoKS5sZW5ndGg+MCkpLHI9dFswXS51bmRvSGlzdG9yeSgpO2lmKGkubGVuZ3RoKXtyLmJlZ2luVW5kb01hY3JvKHNlKTtmb3IoY29uc3QgZSBvZiBpKXIucHVzaFVuZG9Db21tYW5kKGUpO3IuZW5kVW5kb01hY3JvKCl9fX1waW5lU291cmNlRWRpdG9yU3RhdHVzKCl7cmV0dXJuIHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXN9YXN5bmMgX2luaXRPcGVuZWRTY3JpcHRzKCl7Y29uc3QgZT1hd2FpdCgwLGFlLmdldE9wZW5lZFBpbmVTY3JpcHRzKSgpO3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2dldFNjcmlwdEluZm89ZS5nZXRTY3JpcHRJbmZvLmJpbmQoZSksdGhpcy5fb3BlbmVkU2NyaXB0cz1lLnNjcmlwdHMoKS5zcGF3bigpLHRoaXMuX29wZW5lZFNjcmlwdHM/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVQaW5lU291cmNlRWRpdG9yU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pKX0KX3VwZGF0ZVBpbmVTb3VyY2VFZGl0b3JTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3BpbmVTY3JpcHQubWV0YUluZm8oKTtpZighdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUudmFsdWUoKXx8bnVsbD09PWV8fG51bGw9PT10aGlzLl9nZXRTY3JpcHRJbmZvKXJldHVybiB2b2lkIHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuc2V0VmFsdWUoMCk7Y29uc3QgdD10aGlzLl9nZXRTY3JpcHRJbmZvKHtzY3JpcHRJZFBhcnQ6ZS5zY3JpcHRJZFBhcnQsc2NyaXB0VmVyc2lvbjplLnBpbmU/LnZlcnNpb259KTtsZXQgYT0wO251bGwhPT10JiYodC5kaWFsb2dDb3VudD4wP2E9MTp0LmRldGFjaENvdW50PjA/YT0yOnQuYm90dG9tQ291bnQ+MCYmKGE9MykpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuc2V0VmFsdWUoYSl9fW5lLl9waW5lUHViU2NyaXB0SW5mb0NhY2hlPW5ldyBNYXB9LDIyMzA4MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOCA0SDVhMSAxIDAgMCAwLTEgMXY4YTEgMSAwIDAgMCAxIDFoOGExIDEgMCAwIDAgMS0xdi0zaDF2M2wtLjAxLjIwNGEyIDIgMCAwIDEtMS43ODYgMS43ODVMMTMgMTVINWEyIDIgMCAwIDEtMS45OS0xLjc5NkwzIDEzVjVhMiAyIDAgMCAxIDItMmgzem03IDNoLTFWNC42OUw5LjcxIDkuMDA1IDkuMDAxIDguMyAxMy4yNzcgNEgxMVYzaDR6Ii8+PC9zdmc+J30sMTI1ODk3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSA5IiB3aWR0aD0iMTEiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTAuOTk5ODc4IDRMMy45OTk4OCA3TDkuOTk5ODggMSIvPjwvc3ZnPid9LDkxMzYxMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAyLjA1Yy4zNyAwIC42Ny4zLjY3LjY3di44OGwuNjQtLjMzYS42Ny42NyAwIDAgMSAuNjEgMS4xOWwtMS4yNS42NHYxLjEyYy41OC4xNCAxLjEuNDYgMS40OC44OWwxLjE4LS42N1Y1YzAtLjM2LjMtLjY2LjY3LS42NS4zNyAwIC42Ny4zLjY3LjY2di42OGwuNzItLjRhLjY3LjY3IDAgMSAxIC42NSAxLjE1bC0uNzIuNDIuNi4zN2MuMy4yLjQuNi4yLjkyLS4yLjMtLjYxLjQtLjkyLjJMMTMgNy42bC0xLjIyLjdhMi44IDIuOCAwIDAgMS0uMDQgMS40OGwxLjI3LjcgMS4xOC0uNzdjLjMxLS4yLjczLS4xMi45My4xOS4yLjMuMTEuNzItLjIuOTJsLS42LjM5LjcyLjRhLjY3LjY3IDAgMCAxLS42NSAxLjE3bC0uNzItLjRWMTNhLjY3LjY3IDAgMCAxLTEuMzQgMHYtMS4zOGwtMS4yNi0uN2MtLjM4LjM4LS44Ni42Ni0xLjQuOHYxLjE4bDEuMjUuNjRhLjY3LjY3IDAgMSAxLS42IDEuMTlsLS42NS0uMzN2Ljg4YS42Ny42NyAwIDAgMS0xLjM0IDB2LS44OGwtLjY0LjMzYS42Ny42NyAwIDEgMS0uNjEtMS4xOWwxLjI1LS42NFYxMS43YTIuODYgMi44NiAwIDAgMS0xLjQtLjhsLTEuMjYuN3YxLjRjMCAuMzYtLjMuNjYtLjY3LjY1YS42Ny42NyAwIDAgMS0uNjctLjY2di0uNjRsLS43LjM5YS42OC42OCAwIDAgMS0uOTItLjI2LjY2LjY2IDAgMCAxIC4yNi0uOWwuNy0uNC0uNTktLjM4YS42Ni42NiAwIDAgMS0uMi0uOTJjLjItLjMuNjItLjQuOTMtLjJsMS4xOC43OCAxLjI3LS43YTIuOCAyLjggMCAwIDEtLjA0LTEuNDdMNC45NyA3LjZsLTEuMi43NWMtLjMuMi0uNzIuMS0uOTItLjItLjItLjMxLS4xLS43Mi4yMS0uOTJsLjYtLjM4LS43LS40YS42Ni42NiAwIDAgMS0uMjQtLjljLjE4LS4zMi42LS40My45MS0uMjVsLjcuNFY1YS42Ny42NyAwIDAgMSAxLjM0IDB2MS40NWwxLjE3LjY3Yy4zOC0uNDQuOS0uNzYgMS41LS45VjUuMWwtMS4yNi0uNjRhLjY3LjY3IDAgMCAxIC42MS0xLjE5bC42NC4zM3YtLjg4YzAtLjM3LjMtLjY3LjY3LS42N1ptMCA4LjRhMS41IDEuNSAwIDAgMCAxLjUyLTEuNDhjMC0uODEtLjY2LTEuNS0xLjUyLTEuNWExLjUgMS41IDAgMCAwLTEuNTIgMS41YzAgLjguNjYgMS40OSAxLjUyIDEuNDlaIi8+PC9zdmc+J30sNzMwMTEwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDQuOTNhNS43MSA1LjcxIDAgMSAxIDAgMTEuNDNBNS43MSA1LjcxIDAgMCAxIDkgNC45M004LjQzIDcuMnYyLjg2SDYuMTR2MS43Mmg0VjcuMnpNNi43IDIuODEgMi4wOSA2LjY2IDEgNS4zMyA1LjYxIDEuNXpNMTcgNS4zNGwtMS4xIDEuMzItNC42MS0zLjgzIDEuMDktMS4zMnoiLz48L3N2Zz4nfSw5MTI4MTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgNWE1IDUgMCAxIDEgMCAxMEE1IDUgMCAwIDEgOSA1bS0uNSAydjIuNWgtMlYxMUgxMFY3ek03IDMuMTUgMi45NiA2LjUgMiA1LjM1IDYuMDQgMnptOSAyLjItLjk2IDEuMTVMMTEgMy4xNSAxMS45NiAyeiIvPjwvc3ZnPid9LDM1MTE4MihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTIuNWExLjUgMS41IDAgMSAxIDAgMyAxLjUgMS41IDAgMCAxIDAtM20wLTEwYzEuMDYgMCAxLjg4LjkzIDEuNzUgMS45OGwtLjYyIDUuMDNhMS4xMyAxLjEzIDAgMCAxLTIuMjUgMGwtLjYzLTUuMDNBMS43NyAxLjc3IDAgMCAxIDkgMi41Ii8+PC9zdmc+J30sNjQyNzgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDEyYTEgMSAwIDEgMSAwIDIgMSAxIDAgMCAxIDAtMm0wLThjLjc4IDAgMS4zOC43IDEuMjUgMS40OEw5LjU4IDkuNWEuNi42IDAgMCAxLTEuMTYgMGwtLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAxIDkgNCIvPjwvc3ZnPid9LDU3NTE0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMTMuNWMwIC44My0uNjcgMS41LTEuNSAxLjVoLTlBMS41IDEuNSAwIDAgMSAzIDEzLjVWOGgxMnpNNi41IDRoNVYyLjVIMTNWNGguNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxSDN2LTFDMyA0LjY3IDMuNjcgNCA0LjUgNEg1VjIuNWgxLjV6Ii8+PC9zdmc+J30sNTk4MjU3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxMi41NWMwIC44LS41NiAxLjQ1LTEuMjUgMS40NWgtNy41QzQuNTYgMTQgNCAxMy4zNSA0IDEyLjU1VjhoMTB6TTYuOTIgNWg0LjE2VjRoMS4yNXYxaC40MmMuNjkgMCAxLjI1LjYzIDEuMjUgMS40di41NUg0VjYuNEM0IDUuNjMgNC41NiA1IDUuMjUgNWguNDJWNGgxLjI1eiIvPjwvc3ZnPid9LDU2MjQ1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS4yMiAzLjUzYTYgNiAwIDAgMSAyLjg2LjY1cTEuMi42NyAxLjgyIDEuOS42MyAxLjI2LjYzIDMuMDJ2LjAycTAgMS44LS42MyAzLjA4YTQuNCA0LjQgMCAwIDEtMS44IDEuOTRxLTEuMi42Ni0yLjg4LjY2SDVWMy41M3ptLTIuMiA5LjU3aDEuOTRxMS4xMSAwIDEuOS0uNDYuOC0uNDUgMS4yLTEuMzQuNDEtLjg4LjQxLTIuMTV2LS4wMXEwLTEuMjQtLjQyLTIuMTFhMyAzIDAgMCAwLTEuMi0xLjM1IDMuNyAzLjcgMCAwIDAtMS45LS40Nkg3LjAyeiIvPjwvc3ZnPid9LDcwMDg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjE3IDQuNTVxMS4yNiAwIDIuMTQuNS45LjQ5IDEuMzYgMS40Mi40OC45NC40OCAyLjI2di4wMXEwIDEuMzYtLjQ3IDIuMzFhMy4zIDMuMyAwIDAgMS0xLjM2IDEuNDZxLS44OC41LTIuMTUuNUg2VjQuNTR6bS0xLjY2IDcuMThoMS40NnEuODQgMCAxLjQzLS4zNC42LS4zNS45LTEuMDF0LjMtMS42MXYtLjAxcTAtLjkzLS4zLTEuNTktLjMzLS42Ni0uOTEtMS0uNi0uMzUtMS40Mi0uMzVINy41MXoiLz48L3N2Zz4nfSw0NjA0NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTUuNjUgMTQuOFYzLjUzaDcuM3YxLjdINy42N3YzLjA1aDQuOTl2MS42aC01djMuMjJoNS4yOXYxLjd6Ii8+PC9zdmc+J30sMjg1ODYxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiA1LjI2SDcuNTF2Mi41NWgzLjc0djEuMkg3LjUxdjIuNzJoNC41VjEzSDZWNGg2eiIvPjwvc3ZnPid9LDM0MDE1OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS4wMiA0YTMuOTYgMy45NiAwIDAgMCAyLjA5IDcuMjljMS4xNSAwIDIuMTgtLjUgMi45LTEuM0MxMy41MiAxMi4zIDExLjUgMTQgOS4wNCAxNEE1LjAzIDUuMDMgMCAwIDEgNCA5YTUuMDMgNS4wMyAwIDAgMSA1LjAyLTVtMi42NSAyLjMzIDEuMzMuMi0uOTggMS4wMy4yMiAxLjQ0TDExIDguMzQgOS43NiA5bC4yMi0xLjQ0TDkgNi41M2wxLjMzLS4yTDExIDV6Ii8+PC9zdmc+J30sMzc4NTk5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xNSA0LjQxLTQuNTkgNC42TDE1IDEzLjU4bC0xLjQxIDEuNEw5IDEwLjQyIDQuNDIgMTUgMyAxMy41OSA3LjYgOSAzIDQuNDFsMS40MS0xLjRMOSA3LjU4IDEzLjU5IDN6Ii8+PC9zdmc+J30sNzg2NDIwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJtMTQgNS4wNy0zLjkzIDMuOTQgMy45MSAzLjlMMTIuOTEgMTRsLTMuOS0zLjlMNS4wNyAxNCA0IDEyLjkzbDMuOTItMy45Mkw0IDUuMDggNS4wOCA0IDkgNy45MyAxMi45MiA0eiIvPjwvc3ZnPid9LDEwOTMyNShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcgMTNoLTMuNXY0aC0ydi00SDhsNC41LTR6TTYuNSA1SDEwTDUuNSA5IDEgNWgzLjVWMWgyeiIvPjwvc3ZnPid9LDQ2NTEzNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMTJoLTIuNzZ2M2gtMS41di0zSDhsMy41LTN6TTcuMjQgNkgxMEw2LjUgOSAzIDZoMi43NFYzaDEuNXoiLz48L3N2Zz4nfSw4MzU5ODAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1LjEzIDEwLjA1cS0uODIgMy4yMy0yLjkyIDMuNDRsLS4yOC4wMWgtLjNxLTEuMDUtLjA4LTIuODMtLjYzYTExIDExIDAgMCAwLTIuOC0uNjUgMS44IDEuOCAwIDAgMC0xLjEuMzZxLS40Mi4zMi0uNzEuOTJIMi42N2E1IDUgMCAwIDEgMS4wOC0yLjQ0IDIuNSAyLjUgMCAwIDEgMi0xLjAybC4zLjAxcTEuMTUuMDggMi45NC42NSAyLjAzLjYzIDIuODcuNjMgMS4zNSAwIDEuOC0xLjI4em0wLTUuNTJxLS44OSAzLjQ1LTMuMiAzLjQ2LS4yOSAwLS42MS0uMDQtMS0uMTItMi41Mi0uNkExMSAxMSAwIDAgMCA2IDYuN1E0LjggNi43IDQuMTggOEgyLjY3YTUgNSAwIDAgMSAxLjA4LTIuNDQgMi41IDIuNSAwIDAgMSAyLTEuMDJxMS4yIDAgMy4yNC42NSAyLjAzLjY0IDIuODcuNjQgMS4zNSAwIDEuOC0xLjI5eiIvPjwvc3ZnPid9LDU1NDY0MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTQgOS43OHEtLjcgMi43Ny0yLjU3IDIuNzctLjkgMC0yLjUtLjVhOSA5IDAgMCAwLTIuMjYtLjUzcS0uOTUgMC0xLjQ1IDEuMDNINHEuMi0xLjE1Ljg4LTEuOTZ0MS41OS0uODFxLjk2IDAgMi42LjUyIDEuNjQuNSAyLjMuNTEgMS4xIDAgMS40NS0xLjAzem0wLTQuNDNxLS43IDIuNzgtMi41NyAyLjc4LS45IDAtMi41LS41MWE5IDkgMCAwIDAtMi4yNi0uNTJxLS45NSAwLTEuNDUgMS4wM0g0cS4yLTEuMTUuODgtMS45NnQxLjU5LS44MnEuOTYgMCAyLjYuNTNhOSA5IDAgMCAwIDIuMy41cTEuMSAwIDEuNDUtMS4wM3oiLz48L3N2Zz4nfSw3NzM0NjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTggMTMgNCA5bDQtNHptNCAwTDggOWw0LTR6Ii8+PC9zdmc+J30sOTk5MzAyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDQuNzVINi42NmMtLjM3IDAtLjU4LjI3LS41OC41di45NkEzLjYgMy42IDAgMCAxIDQuNTMgOWEzLjYgMy42IDAgMCAxIDEuNTUgMi44di45NWMwIC4yMy4yMS41LjU4LjVIOHYxLjVINi42NmMtMS4xIDAtMi4wOC0uODUtMi4wOC0ydi0uOTZjMC0uNy0uNi0xLjUtMS41LTEuOTJsLS4yLS4xYS44NS44NSAwIDAgMSAwLTEuNTRsLjItLjFjLjktLjQyIDEuNS0xLjIxIDEuNS0xLjkydi0uOTZjMC0xLjE1Ljk4LTIgMi4wOC0ySDh6bTMuMzQtMS41YzEuMSAwIDIuMDkuODUgMi4wOSAydi45NmMwIC43LjYgMS41IDEuNDkgMS45MmwuMi4xYS44NS44NSAwIDAgMSAwIDEuNTRsLS4yLjFjLS45LjQyLTEuNSAxLjIxLTEuNSAxLjkydi45NmMwIDEuMTUtLjk4IDItMi4wOCAySDEwdi0xLjVoMS4zNGMuMzcgMCAuNTktLjI3LjU5LS41di0uOTZjMC0xLjE1LjY3LTIuMTQgMS41NC0yLjc5YTMuNiAzLjYgMCAwIDEtMS41NC0yLjh2LS45NWMwLS4yMy0uMjItLjUtLjYtLjVIMTB2LTEuNXoiLz48L3N2Zz4nfSw3ODc2MjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjcyIDMuMzdhMi4zIDIuMyAwIDEgMSAyLjc0IDMuMzNsLS4wMiA0LjkzYTIuMyAyLjMgMCAwIDEgMS4yMyAzLjMzIDIuMyAyLjMgMCAwIDEtNC4yNS0xLjZMNi4yIDEwLjk1YTIuMyAyLjMgMCAxIDEtLjAxLTMuNDlsNC4yNi0yLjQ4YTIuMyAyLjMgMCAwIDEgLjI2LTEuNk02Ljk1IDguNzVxLjA5LjQ0IDAgLjg5bDQuMjIgMi40M3EuMzQtLjMuNzctLjQ0bC4wMi00Ljk0YTIgMiAwIDAgMS0uNzQtLjQzeiIvPjwvc3ZnPid9LDMxMTExNShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuODcgNC4xM0EyIDIgMCAxIDEgMTIuMzQgN2wtLjAyIDQuMzUuMjQuMTJhMiAyIDAgMSAxLTIuOTggMS40NmwtMy43Mi0yLjE1YTIgMiAwIDEgMSAwLTMuMTZsMy43Ni0yLjJhMiAyIDAgMCAxIC4yNS0xLjI4TTYuNiA4LjkxYTIgMiAwIDAgMSAwIC41NmwzLjcyIDIuMTVhMiAyIDAgMCAxIC40OS0uMjhsLjAyLTQuMzZhMiAyIDAgMCAxLS40Ny0uMjd6Ii8+PC9zdmc+J30sMTkyNzU1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjYgMi4wMmE0LjU4IDQuNTggMCAwIDEgMi44NC43NmMuMzguMjYgMS4wMi44MyAxLjM1IDEuMjJhOS42IDkuNiAwIDAgMSAyLjAzIDQuMTVMMTMuNSA5LjYyIDExLjcgNy42IDkuODcgOS42MiA4LjY1IDguMjRsLTEuMTUuOSAyLjM4IDIuNjYgMS44MS0yLjAyIDEuOCAyLjAyTDE1IDEwLjEycS0uMDMgMS4wMS0uMyAxLjg2YTUuOCA1LjggMCAwIDEtNS4xNSA0IDYuMjYgNi4yNiAwIDAgMS00LjE4LTEuMSA4IDggMCAwIDEtLjk1LS44NiA2IDYgMCAwIDEtMS4zOS0zLjE1IDEzIDEzIDAgMCAxIC4wMi0yLjAyIDkuNiA5LjYgMCAwIDEgMi4yNy01Yy4yNi0uMy45LS44NSAxLjIyLTEuMDYuNjYtLjQzIDEuMzgtLjcgMi4wNi0uNzciLz48L3N2Zz4nfSw5MDg0MDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuMjkgMy4wMnEuOS4wOCAxLjc0LjY1Yy4zMy4yMi44NS43IDEuMTMgMS4wNGE4IDggMCAwIDEgMS42OSAzLjU2bC0xLjEgMS4yNi0xLjUtMS43My0xLjUxIDEuNzNMOC43IDguMzVsLS45Ni43NyAxLjk5IDIuMjggMS41LTEuNzMgMS41MSAxLjczTDE0IDkuOTZhNiA2IDAgMCAxLS4yNCAxLjYgNC44IDQuOCAwIDAgMS00LjMgMy40MiA1LjE1IDUuMTUgMCAwIDEtMy40OC0uOTQgNyA3IDAgMCAxLS44LS43NCA1IDUgMCAwIDEtMS4xNS0yLjdDNCAxMC4zIDQgOS4xOSA0LjA0IDguODdjLjI0LTEuNjYuOS0zLjEzIDEuOS00LjI4LjIxLS4yNS43NS0uNzMgMS0uOTFxLjg2LS41NiAxLjczLS42NmMuMjUtLjAzLjM3LS4wMy42MiAwIi8+PC9zdmc+J30sOTEzODQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0zLjM5IDguNzkgMi41OC43LS4zNyAxLjM1LTEuNTItLjQxYTUuMTIgNS4xMiAwIDAgMCA5LjguMWwxLjM1LjRhNi41MiA2LjUyIDAgMCAxLTEyLjQuMmwtLjc3IDEuMDYtMS4xMy0uODMgMS43MS0yLjMxLjI4LS4zOXptMTEuOTUuMjMtLjMzLjQzLS41LS4yMS4yOC0uNjV6TTkgMi41YTYuNSA2LjUgMCAwIDEgNi4xNyA0LjQ3bC43Ny0uOTkgMS4xLjg3LTEuNyAyLjE3LS41NS0uNDMtLjI3LjY1LTIuNTktMS4xMS41Ni0xLjI5IDEuMzYuNTlBNS4xIDUuMSAwIDAgMCA5IDMuOSA1LjEgNS4xIDAgMCAwIDQuMSA3LjUzbC0xLjM0LS40MUE2LjUgNi41IDAgMCAxIDkgMi41Ii8+PC9zdmc+J30sOTg5ODcyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjE2IDguNjUtLjE4LjY4emwyLjI0LjYxLS4zNyAxLjM1LTEuMTUtLjMxYTQuMzQgNC4zNCAwIDAgMCA4LjI3LS4wOGwxLjM0LjQxYTUuNzQgNS43NCAwIDAgMS0xMC44Ni4zNGwtLjU3Ljc3LTEuMTItLjgzIDEuNDgtMiAuMjgtLjM4ek05IDMuMmE1Ljc1IDUuNzUgMCAwIDEgNS4zOSAzLjc3bC41Ni0uNzIgMS4xLjg3TDE0LjU4IDlsLS4zNC40Mi0uNS0uMjEtMi4yMy0uOTYuNTUtMS4yOS45OS40MkE0LjM1IDQuMzUgMCAwIDAgOSA0LjZjLTEuOTQgMC0zLjYgMS4zLTQuMTQgMy4wOGwtMS4zNC0uNDFBNS43NSA1Ljc1IDAgMCAxIDkgMy4yIi8+PC9zdmc+J30sOTIwNDc1KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse2RlZmF1bHQ6KCk9Pmx9KTtjb25zdCBzPWU9PmUgaW5zdGFuY2VvZiBEYXRlLG89ZT0+bnVsbCE9ZSYmIm9iamVjdCI9PXR5cGVvZiBlLGk9KGUsLi4udCk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLC4uLnQpLHI9ZT0+byhlKSYmKGU9PjA9PT1PYmplY3Qua2V5cyhlKS5sZW5ndGgpKGUpLG49KGUsdCk9PntpZihlPT09dClyZXR1cm57fTtpZighbyhlKXx8IW8odCkpcmV0dXJuIHQ7Y29uc3QgYT1PYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChlLGEpPT4oaSh0LGEpfHwoZVthXT12b2lkIDApLGUpKSxPYmplY3QuY3JlYXRlKG51bGwpKTtyZXR1cm4gcyhlKXx8cyh0KT9lLnZhbHVlT2YoKT09dC52YWx1ZU9mKCk/e306dDpPYmplY3Qua2V5cyh0KS5yZWR1Y2UoKChhLG8pPT57aWYoIWkoZSxvKSlyZXR1cm4gYVtvXT10W29dLGE7Y29uc3QgbD1uKGVbb10sdFtvXSk7cmV0dXJuIXIobCl8fHMobCl8fCFyKGVbb10pJiZyKHRbb10pPyhhW29dPWwsYSk6YX0pLGEpfSxsPW59fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/86178.e6fbec90af5ba6210368.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:41.614Z","timestamp":1785136901614,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86178.e6fbec90af5ba6210368.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:41 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 115\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a476ed7-73\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:54:54\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7c0ef1b723aaacbbbbfb78e8978acb53\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":115,"size_decoded":900,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"4b00738e1f848898dbd917e3aa80b190","sha1":"c2535efbabf6d725903e58f0696fdf8adbdc8279","sha256":"25731497d819094baf761b28529348e662eb9894ff5da4667f4164b2968604c1","sha512":"197696b9cdc9294feef121c1e6aa1f9e3f72dbccfa762b6e1b3d69b961a5843bdc3a1ee3c6ca753be4b766255fcc1395b98c4031846970f426aee7f57e48c8d3","ssdeep":"","tlshash":"0eb092aa719c8a614d13ea2ec394c90ea6503981ab10e784fa0ab1014cc3fe22142710","first_seen":"2026-07-03T16:22:04.423218Z","last_seen":"2026-07-28T06:17:53.486727Z","times_seen":175,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdVN0eTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9Lm9wZXJhdG9yLUlITlFWQVFJe2NvbG9yOnZhcigtLV8wLXVTdHkpfQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/95244.9da889c136d2506a3d81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.356Z","timestamp":1785136900356,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/95244.9da889c136d2506a3d81.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 26b148c2c5c1be33b72d02eb7346df0e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":37851,"size_decoded":12352,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3061)","md5":"b0a9dc3ad75e03716e75c6158c6665eb","sha1":"cc52478acf48fcf65d13e1af2f686a604445c191","sha256":"4c5253886cb97a3488ee3431d937a5bb8ba43a1d9e958f64a58c74058ee89d79","sha512":"40b53df94ba71d18618cbe094f77f3272fb81b6d85327e7180dc360e098dd978c5a43d011cd4d7d200c9e4960019921ca1ae6049edfcd9c72b60d66665a07806","ssdeep":"768:CY0sz5iGWN4Y9mdwv5ltpbE6n6GVfW5tXlGh2rIT1E1ab2IX73BMuLXggXUDvHLA:ZiwihpQehg5tXlGAS1E1yVzPIpsh","tlshash":"c203e775f2b2707122aa4093c8bb015387ae05fb5045112cf76dd5de2b6dc59fa3ab38","first_seen":"2026-07-23T13:54:09.077158Z","last_seen":"2026-07-28T06:17:53.340954Z","times_seen":309,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTUyNDRdLHs3NjI4NTEoZSx0LHMpe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUrIuKApiJ9cy5kKHQse2FwcGVuZEVsbGlwc2lzOigpPT5ufSl9LDk1MjkwMChlLHQscyl7cy5kKHQse2FjY3VtdWxhdGU6KCk9PmEsYWNjdW11bGF0ZURlZmVycmVkOigpPT5sLGNvbWJpbmU6KCk9Pm8sY29tYmluZVdpdGhGaWx0ZXJlZFVwZGF0ZTooKT0+cn0pO3ZhciBuPXMoMjMyMzY0KTtmdW5jdGlvbiBpKGUsdCwuLi5zKXtsZXQgaT1udWxsO2NvbnN0IHI9KC4uLnQpPT5lKC4uLnQubWFwKChlPT5lLnZhbHVlKCkpKSxpPy52YWx1ZSgpKSxvPWk9bmV3IG4uV2F0Y2hlZFZhbHVlKHIoLi4ucykpLGE9KCk9Pntjb25zdCBlPXMubWFwKCgoZSx0KT0+ZS52YWx1ZSgpKSk7dCguLi5lKSYmby5zZXRWYWx1ZShyKC4uLnMpKX0sbD1zLm1hcCgoZT0+ZS5zcGF3bigpKSk7Zm9yKGNvbnN0IGUgb2YgbCllLnN1YnNjcmliZShhKTtyZXR1cm4gby5yZWFkb25seSgpLnNwYXduKCgoKT0+e2wuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxzLmZvckVhY2goKGU9PmUucmVsZWFzZSgpKSl9KSl9ZnVuY3Rpb24gcihlLHQsLi4ucyl7cmV0dXJuIGkoZSx0LC4uLnMpfWZ1bmN0aW9uIG8oZSwuLi50KXtyZXR1cm4gaShlLCgoKT0+ITApLC4uLnQpfWZ1bmN0aW9uIGEoZSx0LC4uLnMpe2xldCBpPW51bGw7Y29uc3Qgcj1vKCgoLi4uZSk9PihlLnNwbGljZSgtMSksZSkpLC4uLnMpLGE9dC5zcGF3bigpLGw9KHQsLi4ucyk9Pntjb25zdCBuPXQubWFwKChlPT5lLnZhbHVlKCkpKTtyZXR1cm4gZShuLC4uLnMsaT8udmFsdWUoKSl9LHU9aT1uZXcgbi5XYXRjaGVkVmFsdWUobChhLnZhbHVlKCksLi4uci52YWx1ZSgpKSk7bGV0IGM9W107Y29uc3QgaD0oKT0+e3Uuc2V0VmFsdWUobChjLC4uLnIudmFsdWUoKSkpfSxkPWU9PntjLmZvckVhY2goKGU9PmUuZGVzb3koKSkpLGM9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLGMuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoaCkpKSxoKCl9O2QoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShkKSxyLnN1YnNjcmliZShoKTtyZXR1cm4gdS5yZWFkb25seSgpLnNwYXduKCgoKT0+e2MuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxyLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX1mdW5jdGlvbiBsKGUsdCwuLi5zKXtsZXQgaT1udWxsLHI9bnVsbDtjb25zdCBhPW8oKCguLi5lKT0+KGUuc3BsaWNlKC0xKSxlKSksLi4ucyksbD10LnNwYXduKCksdT0odCwuLi5zKT0+e2NvbnN0IG49dC5tYXAoKGU9PmUudmFsdWUoKSkpO3JldHVybiBlKG4sLi4ucyxpPy52YWx1ZSgpKX0sYz1pPW5ldyBuLldhdGNoZWRWYWx1ZSh1KGwudmFsdWUoKSwuLi5hLnZhbHVlKCkpKTtsZXQgaD1bXTtjb25zdCBkPWU9PnNldFRpbWVvdXQoZSwwKSx5PSgpPT57ciYmY2xlYXJUaW1lb3V0KHIpLHI9ZCgoKCk9Pntjb25zdCBlPXUoaCwuLi5hLnZhbHVlKCkpO3I9ZCgoKCk9PntjLnNldFZhbHVlKGUpfSkpfSkpfSxiPWU9PntoLmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSksaD1lLm1hcCgoZT0+ZS5zcGF3bigpKSksaC5mb3JFYWNoKChlPT5lLnN1YnNjcmliZSh5KSkpLHkoKX07YihsLnZhbHVlKCkpLGwuc3Vic2NyaWJlKGIpLGEuc3Vic2NyaWJlKHkpO3JldHVybiBjLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57ciYmY2xlYXJUaW1lb3V0KHIpLGguZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxsLmRlc3Ryb3koKSxhLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDI0MTk1NihlLHQscyl7cy5kKHQse2NyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbjooKT0+aX0pO3ZhciBuPXMoMjMyMzY0KTtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgcz1uZXcgbi5XYXRjaGVkVmFsdWUoZSgpKSxpPXt9O3Quc3Vic2NyaWJlKGksKCgpPT57cy5zZXRWYWx1ZShlKHMudmFsdWUoKSkpfSkpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LnVuc3Vic2NyaWJlQWxsKGkpKSl9fSw4NTI5ODAoZSx0LHMpe2Z1bmN0aW9uIG4oZSx0LHMsbixpKXtjb25zdHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDpyLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTpvLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6YSx1cHBlcmNhc2VJbnN0cnVtZW50TmFtZXM6bH09ZTtsZXQgdT10JiYobiYmdC5wcm9fbmFtZXx8dC5mdWxsX25hbWV8fHQubmFtZSk7cmV0dXJuIGEmJnM/dT1zOihvfHwhaSYmcikmJnQmJnQudGlja2VyJiYodT10LnRpY2tlciksbCYmdSYmKHU9dS50b1VwcGVyQ2FzZSgpKSx1fXMuZCh0LHtleHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvOigpPT5ufSl9LDU5NjcwNihlLHQscyl7cy5kKHQse2lzQ0ZEU3ltYm9sOigpPT5uLGlzQ3J5cHRvU3ltYm9sOigpPT5yLGlzSGlwM1N5bWJvbDooKT0+byxpc1N0b2NrU3ltYm9sOigpPT5pfSk7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBCb29sZWFuKHQ/LmluY2x1ZGVzKCJjZmQiKSkmJlsiY29tbW9kaXR5IiwiZnV0dXJlcyIsImluZGV4Iiwic3RvY2siLCJmdW5kIl0uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gaShlLHQpe3JldHVybiJzdG9jayI9PT1lJiZ2b2lkIDAhPT10JiYhdC5pbmNsdWRlcygiY2ZkIikmJiF0LmluY2x1ZGVzKCJuZGYiKX1mdW5jdGlvbiByKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmluY2x1ZGVzKCJjcnlwdG8iKX1mdW5jdGlvbiBvKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmluY2x1ZGVzKCJoaXAzIil9fSwyMjUyOTgoZSx0LHMpe3MuZCh0LHtsaW5raW5nOigpPT5XfSk7dmFyIG49cyg1NDc4NTEpLGk9cygxMzg2MzgpLHI9cygyMjEwNjEpLG89KHMoOTMwMjMxKSxzKDIzMjM2NCkpLGE9cygyNTQ2NzMpLGw9cygxMjg5OTgpLHU9cyg5NTI5MDApLGM9cygyNDE5NTYpO3ZhciBoPXMoOTMwNTY2KSxkPXMoNjMxNjM0KSx5PXMoNzk4MzgpLGI9cyg3Nzg5NDYpLG09cyg3NzQ1MDcpLHA9cygzNjIyMzkpCjt2YXIgUz1zKDM4MzM1MSksXz1zKDcwMTUwNiksZz1zKDY4Mjc3OSksdj1zKDIwOTM5KTtjb25zdCB3PSgwLHIuZ2V0TG9nZ2VyKSgiTGlua2luZyIpO3ZhciBmLEM7IWZ1bmN0aW9uKGUpe2VbZS5Ob3RCb3VuZD0wXT0iTm90Qm91bmQiLGVbZS5Cb3VuZFRvV2lkZ2V0PTFdPSJCb3VuZFRvV2lkZ2V0IixlW2UuQm91bmRUb01vZGVsPTJdPSJCb3VuZFRvTW9kZWwifShmfHwoZj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5TeW1ib2w9MF09IlN5bWJvbCIsZVtlLlJlc29sdXRpb249MV09IlJlc29sdXRpb24ifShDfHwoQz17fSkpO2NsYXNzIGt7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMud2F0Y2hlZFN5bWJvbHM9bmV3IG8uV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLndhdGNoZWRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuc2VyaWVzU2hvcnRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMucHJvU3ltYm9sPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLmVuc3VyZWRQcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZEludGVydmFsPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRJbnRyYWRheT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkU2Vjb25kcz1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkVGlja3M9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRSYW5nZT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnM9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLnN5bWJvbE5hbWVzTGlzdD1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPW51bGwsdGhpcy5fY2hhcnRXaWRnZXRCaW5kaW5nU3RhdGU9MCx0aGlzLl9hY3RpdmVDaGFydFdpZGdldD1udWxsLHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cz1udWxsLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZD10aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXIuYmluZCh0aGlzKSx0aGlzLl93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lckJvdW5kPXRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyLmJpbmQodGhpcyksdGhpcy5fc2V0R3JvdXBTeW1ib2xDYW5jZWxsYXRpb25Ub2tlbj17Y2FuY2VsbGVkOiExfSx0aGlzLl9tdXRlZD0hMSx0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQ9KCk9Pntjb25zdCBlPXRoaXMuX2NoYXJ0VG9CaW5kKCk7ZSE9PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJihudWxsPT09ZT90aGlzLnVuYmluZEZyb21DaGFydFdpZGdldCgpOnRoaXMuYmluZFRvQ2hhcnRXaWRnZXQoZSkpfSx0aGlzLl91cGRhdGVBbGxHcm91cENoYXJ0V2lkZ2V0cz0oKT0+e3RoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz8uKCk7Y29uc3QgZT0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cykudmFsdWUoKSx0PVtdLHM9W107Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3QgZT1uLnN5bWJvbFdWKCkuc3Bhd24oKSxpPW4ucmVzb2x1dGlvbldWKCkuc3Bhd24oKTtlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTeW1ib2xCeVByb3BlcnR5LmJpbmQodGhpcyxuKSksaS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSW50ZXJ2YWxCeVByb3BlcnR5LmJpbmQodGhpcyxuKSksdC5wdXNoKGUpLHMucHVzaChpKX10aGlzLl9kZXN0cm95U3ltYm9sSW50ZXJ2YWxQcm9wZXJ0eVN1YnNjcmlwdGlvbnM9KCk9Pnt0LmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSkscy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHRoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz12b2lkIDB9O2NvbnN0IG49dGhpcy53YXRjaGVkU3ltYm9sLnZhbHVlKCk7ZS5sZW5ndGg+MSYmdGhpcy5fbmVlZEFwcGx5U3ltYm9sKG4pJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwU3ltYm9sKG4pO2NvbnN0IHI9dGhpcy53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKTtlLmxlbmd0aD4xJiZ0aGlzLl9uZWVkQXBwbHlJbnRlcnZhbChyKSYmIXRoaXMuX211dGVkJiZ0aGlzLl9zZXRHcm91cEludGVydmFsKHIpLHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCgpfSx0aGlzLl9ncm91cEluZGV4PWU7Y29uc3Qgbj0oZSx0KT0+e2Uuc3Vic2NyaWJlKChlPT57cygpPT09dGhpcyYmdC5zZXRWYWx1ZShlKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX07bih0aGlzLndhdGNoZWRTeW1ib2xzLHQud2F0Y2hlZFN5bWJvbHMpLG4odGhpcy53YXRjaGVkU3ltYm9sLHQud2F0Y2hlZFN5bWJvbCksbih0aGlzLnNlcmllc1Nob3J0U3ltYm9sLHQuc2VyaWVzU2hvcnRTeW1ib2wpLG4odGhpcy5wcm9TeW1ib2wsdC5wcm9TeW1ib2wpLG4odGhpcy5lbnN1cmVkUHJvU3ltYm9sLHQuZW5zdXJlZFByb1N5bWJvbCksbih0aGlzLndhdGNoZWRJbnRlcnZhbCx0LndhdGNoZWRJbnRlcnZhbCksbih0aGlzLndhdGNoZWRJbnRyYWRheSx0LndhdGNoZWRJbnRyYWRheSksbih0aGlzLndhdGNoZWRTZWNvbmRzLHQud2F0Y2hlZFNlY29uZHMpLG4odGhpcy53YXRjaGVkVGlja3MsdC53YXRjaGVkVGlja3MpLG4odGhpcy53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sdC53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24pLG4odGhpcy53YXRjaGVkUmFuZ2UsdC53YXRjaGVkUmFuZ2UpLG4odGhpcy53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMsdC53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMpLG4odGhpcy53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsdC53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMpLG4odGhpcy5zeW1ib2xOYW1lc0xpc3QsdC5zeW1ib2xOYW1lc0xpc3QpLHRoaXMud2F0Y2hlZFN5bWJvbC5zdWJzY3JpYmUoKGU9PnsKdGhpcy5fYm91bmRDaGFydFdpZGdldCYmdGhpcy5fYm91bmRDaGFydFdpZGdldC5oYXNNb2RlbCgpJiZ0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2xTYW1lQXNDdXJyZW50KGUpfHx0aGlzLnByb1N5bWJvbC5zZXRWYWx1ZShlKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX1tdXRlKGUpe3RoaXMuX211dGVkPWV9YmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpe3RoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0PWUuYWN0aXZlQ2hhcnRXaWRnZXQuc3Bhd24oKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldC5zdWJzY3JpYmUodGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KSx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9ZS5saW5raW5nR3JvdXBzQ2hhcnRzKHRoaXMuX2dyb3VwSW5kZXgpLnNwYXduKCksdGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGxHcm91cENoYXJ0V2lkZ2V0cyksdGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KCksdGhpcy5fdXBkYXRlQWxsR3JvdXBDaGFydFdpZGdldHMoKTtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsdS5jb21iaW5lKSgoKCk9PmUuZ2V0QWxsKCkuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpJiZlLmhhc01vZGVsKCkpKS5tYXAoKGU9PigwLGMuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PmUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sKCkpLGUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sUmVzb2x2ZWQoKSkub3duZXJzaGlwKCkpKSksZS5jaGFydE1vZGVscygpLndlYWtSZWZlcmVuY2UoKSxlLmxheW91dC53ZWFrUmVmZXJlbmNlKCkpO3JldHVybigwLHUuYWNjdW11bGF0ZSkoKGU9PmUpLHQub3duZXJzaGlwKCkpfShlKTt0LnN1YnNjcmliZSgoZT0+e3RoaXMud2F0Y2hlZFN5bWJvbHMuc2V0VmFsdWUoZSl9KSksdGhpcy53YXRjaGVkU3ltYm9scy5zZXRWYWx1ZSh0LnZhbHVlKCkpfXVuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKXt0aGlzLnVuYmluZEZyb21DaGFydFdpZGdldCgpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0Py5kZXN0cm95KCksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM/LmRlc3Ryb3koKSx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9bnVsbCx0aGlzLl9kZXN0cm95U3ltYm9sSW50ZXJ2YWxQcm9wZXJ0eVN1YnNjcmlwdGlvbnM/LigpfWJpbmRUb0NoYXJ0V2lkZ2V0KGUpe2lmKHRoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0KCksdGhpcy5fYm91bmRDaGFydFdpZGdldD1lLGUuaGFzTW9kZWwoKSlyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0TW9kZWxDcmVhdGVkKGUubW9kZWwoKSk7ZS5tb2RlbENyZWF0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0TW9kZWxDcmVhdGVkLCEwKSx0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0xO2NvbnN0IHQ9ZS5tYWluU2VyaWVzUHJvcGVydGllcygpLmNoaWxkcygpO3RoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0LnN5bWJvbC52YWx1ZSgpKSx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0LmludGVydmFsLnZhbHVlKCkpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubGlua2luZ0dyb3VwSW5kZXgoKS5zdWJzY3JpYmUodGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KX11bmJpbmRGcm9tQ2hhcnRXaWRnZXQoKXtjb25zdCBlPXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ7aWYobnVsbCE9PWUpe3N3aXRjaCh0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZSl7Y2FzZSAxOmUubW9kZWxDcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7YnJlYWs7Y2FzZSAyOnRoaXMud2F0Y2hlZFN5bWJvbC51bnN1YnNjcmliZSh0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZCk7Y29uc3QgdD10aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCk7dC5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHQuc3ltYm9sRXJyb3IoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMud2F0Y2hlZEludGVydmFsLnVuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyQm91bmQpLGRlbGV0ZSB0aGlzLndhdGNoZWRTeW1ib2wud3JpdGVMb2NrfWUubGlua2luZ0dyb3VwSW5kZXgoKS51bnN1YnNjcmliZSh0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0wfX1ib3VuZENoYXJ0V2lkZ2V0KCl7cmV0dXJuIHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXR9bWFpblNlcmllcygpe2lmKCF0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KXRocm93IG5ldyBFcnJvcigiQ2hhcnRXaWRnZXQgaXMgdW5kZWZpbmVkIik7cmV0dXJuIHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubW9kZWwoKS5tYWluU2VyaWVzKCl9X3dhdGNoZWRTeW1ib2xMaXN0ZW5lcihlKXt0aGlzLl9uZWVkQXBwbHlTeW1ib2woZSkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2woZSl9X3VwZGF0ZVN5bWJvbEJ5UHJvcGVydHkoZSx0KXtjb25zdCBzPXRoaXMuX3N5bWJvbExvY2soKTtzJiZ0aGlzLl9uZWVkQXBwbHlTeW1ib2wodCkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2wodCksKHN8fGU9PT10aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KSYmdGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQpfV93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lcihlKXtjb25zdCB0PWEuSW50ZXJ2YWwubm9ybWFsaXplKGUpO3QmJnRoaXMuX25lZWRBcHBseUludGVydmFsKHQpJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwSW50ZXJ2YWwodCl9X3VwZGF0ZUludGVydmFsQnlQcm9wZXJ0eShlLHQpewpjb25zdCBzPXRoaXMuX2ludGVydmFsTG9jaygpLG49YS5JbnRlcnZhbC5ub3JtYWxpemUodCk7cyYmbiYmdGhpcy5fbmVlZEFwcGx5SW50ZXJ2YWwobikmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBJbnRlcnZhbChuKSwoc3x8ZT09PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpJiZ0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShuPz90KX1fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbygpe3RoaXMuc2VyaWVzU2hvcnRTeW1ib2wuc2V0VmFsdWUoKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KS5nZXRTeW1ib2woITApKTtjb25zdCBlPXRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZihlKXtjb25zdCB0PWUucHJvX25hbWV8fCExO3RoaXMucHJvU3ltYm9sLnNldFZhbHVlKHR8fHRoaXMud2F0Y2hlZFN5bWJvbC52YWx1ZSgpKSx0aGlzLmVuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUodGhpcy5wcm9TeW1ib2wudmFsdWUoKSksZS5hbGlhc2VzJiZ0aGlzLnN5bWJvbE5hbWVzTGlzdC5zZXRWYWx1ZShlLmFsaWFzZXMpO2xldCBzPSgwLF8uYWxsQ2hhcnRTdHlsZXMpKCk7KCgwLGwuaXNDbG9zZUJhc2VkU3ltYm9sKShlKXx8dGhpcy5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKSkmJihzPXMuZmlsdGVyKChlPT4oMCxsLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKSkpKSwiaGxjIj09PWUudmlzaWJsZV9wbG90c19zZXQmJihzPXMuZmlsdGVyKChlPT4oMCxsLmlzSExDQmFzZWRTdHlsZSkoZSl8fCgwLGwuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpKSkpLHRoaXMud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnNldFZhbHVlKHMpLHRoaXMud2F0Y2hlZEludHJhZGF5LnNldFZhbHVlKCEhZS5oYXNfaW50cmFkYXkpLHRoaXMud2F0Y2hlZFNlY29uZHMuc2V0VmFsdWUoISFlLmhhc19zZWNvbmRzKSx0aGlzLndhdGNoZWRUaWNrcy5zZXRWYWx1ZSghKDAsbC5pc0Nsb3NlQmFzZWRTeW1ib2wpKGUpJiYhIWVbImlzLXRpY2tiYXJzLWF2YWlsYWJsZSJdKSx0aGlzLndhdGNoZWRSYW5nZS5zZXRWYWx1ZSghKDAsbC5pc0Nsb3NlQmFzZWRTeW1ib2wpKGUpKTtjb25zdCBuPWUuZGF0YV9mcmVxdWVuY3k/ZS5kYXRhX2ZyZXF1ZW5jeTp2b2lkIDA7dGhpcy53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc2V0VmFsdWUobil9ZWxzZSB0aGlzLndhdGNoZWRJbnRyYWRheS5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkU2Vjb25kcy5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkVGlja3Muc2V0VmFsdWUoITEpLHRoaXMud2F0Y2hlZFJhbmdlLnNldFZhbHVlKCExKSx0aGlzLm1haW5TZXJpZXMoKS5pc0ZhaWxlZCgpJiZ0aGlzLmVuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUodGhpcy5wcm9TeW1ib2wudmFsdWUoKSl9X29uQ2hhcnRNb2RlbENyZWF0ZWQoZSl7aWYoIXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpdGhyb3cgbmV3IEVycm9yKCJDaGFydFdpZGdldCBpcyB1bmRlZmluZWQiKTt0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0yLHRoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnN5bWJvbFdWKCkudmFsdWUoKSksdGhpcy53YXRjaGVkU3ltYm9sLnN1YnNjcmliZSh0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZCk7Y29uc3QgdD1lLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCk7dC5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLHQuc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTZXJpZXNTeW1ib2xJbmZvKSxlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8oKSx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnJlc29sdXRpb25XVigpLnZhbHVlKCkpLHRoaXMud2F0Y2hlZEludGVydmFsLnN1YnNjcmliZSh0aGlzLl93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lckJvdW5kKSx0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnJlYWRPbmx5KCkmJih0aGlzLndhdGNoZWRTeW1ib2wud3JpdGVMb2NrPSEwKX1fY2hhcnRUb0JpbmQoKXtjb25zdCBlPXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjtyZXR1cm4gbnVsbD09PWU/bnVsbDplLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubGlua2luZ0dyb3VwSW5kZXgoKS52YWx1ZSgpPT09dGhpcy5fZ3JvdXBJbmRleD9lLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk6bnVsbCE9PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJnRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubGlua2luZ0dyb3VwSW5kZXgoKS52YWx1ZSgpPT09dGhpcy5fZ3JvdXBJbmRleD90aGlzLl9ib3VuZENoYXJ0V2lkZ2V0OmUuZ2V0QWxsKCkuZmluZCgoZT0+ZS5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCk9PT10aGlzLl9ncm91cEluZGV4KSk/P251bGx9X3N5bWJvbExvY2soKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5zeW1ib2wudmFsdWUoKX1faW50ZXJ2YWxMb2NrKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suaW50ZXJ2YWwudmFsdWUoKX1fY2hhcnRzRm9yTG9jayhlKXtyZXR1cm4oMD09PWU/dGhpcy5fc3ltYm9sTG9jaygpOnRoaXMuX2ludGVydmFsTG9jaygpKT8oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cykudmFsdWUoKTp0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0P1t0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0XTpbXX1fc2V0R3JvdXBTeW1ib2woZSl7dGhpcy5tdXRlKCEwKSx0aGlzLl9zZXRHcm91cFN5bWJvbENhbmNlbGxhdGlvblRva2VuLmNhbmNlbGxlZD0hMDtjb25zdCB0PXRoaXMuX3NldEdyb3VwU3ltYm9sQ2FuY2VsbGF0aW9uVG9rZW49e2NhbmNlbGxlZDohMX07KDAsCmkuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5zZXRTeW1ib2woZSx0aGlzLl9ncm91cEluZGV4LCgwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fYm91bmRDaGFydFdpZGdldCkpLmZpbmFsbHkoKCgpPT57aWYodGhpcy5fYm91bmRDaGFydFdpZGdldCYmIXQuY2FuY2VsbGVkKXtjb25zdCB0PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubW9kZWwoKS5tYWluU2VyaWVzKCk7dC5zeW1ib2xTYW1lQXNDdXJyZW50KGUpfHwodGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQuc3ltYm9sKCkpLHRoaXMucHJvU3ltYm9sLnNldFZhbHVlKHQucHJvU3ltYm9sKCkpKX19KSksdGhpcy5tdXRlKCExKX1fbmVlZEFwcGx5U3ltYm9sKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRzRm9yTG9jaygwKSxzPXQuZmluZCgodD0+dC5oYXNNb2RlbCgpJiZ0Lm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSYmdC5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKSkpO2lmKHMpe2NvbnN0IGU9cy5tb2RlbCgpLm1haW5TZXJpZXMoKTtpZih0LmV2ZXJ5KCh0PT5lLnN5bWJvbFNhbWVBc1Jlc29sdmVkKHQuc3ltYm9sV1YoKS52YWx1ZSgpKSkpKXJldHVybiExfXJldHVybiB0LnNvbWUoKHQ9PnQuc3ltYm9sV1YoKS52YWx1ZSgpIT09ZSkpfV9zZXRHcm91cEludGVydmFsKGUpe3RoaXMubXV0ZSghMCksKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pLnNldFJlc29sdXRpb24oZSx0aGlzLl9ncm91cEluZGV4KS5maW5hbGx5KCgoKT0+e2lmKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpe2NvbnN0IHQ9dGhpcy5fYm91bmRDaGFydFdpZGdldC5yZXNvbHV0aW9uV1YoKS52YWx1ZSgpO2EuSW50ZXJ2YWwuaXNFcXVhbCh0LGUpfHx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0KX19KSksdGhpcy5tdXRlKCExKX1fbmVlZEFwcGx5SW50ZXJ2YWwoZSl7cmV0dXJuIHRoaXMuX2NoYXJ0c0ZvckxvY2soMSkuc29tZSgodD0+IWEuSW50ZXJ2YWwuaXNFcXVhbCh0LnJlc29sdXRpb25XVigpLnZhbHVlKCksZSkpKX19Y29uc3QgVz1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl93YXRjaGVkU3ltYm9scz1uZXcgby5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3dhdGNoZWRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl9wcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2Vuc3VyZWRQcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRJbnRlcnZhbD1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZEludHJhZGF5PW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU2Vjb25kcz1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFRpY2tzPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb249bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRSYW5nZT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXM9bmV3IG8uV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9zeW1ib2xOYW1lc0xpc3Q9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX29uU3ltYm9sTGlua0JvdW5kPXRoaXMuX29uU3ltYm9sTGluay5iaW5kKHRoaXMpLHRoaXMuX3NlYXJjaENoYXJ0cz1udWxsLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQ9bnVsbCx0aGlzLl9zZWxmRW1pdD0hMSx0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sPSExLHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcj0wLHRoaXMuX2xpbmtpbmdHcm91cHM9bmV3IE1hcCx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXA9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4PW51bGwsdGhpcy5fdXBkYXRlTGlua2luZ0dyb3Vwcz0oKT0+eygwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5hbGxMaW5raW5nR3JvdXBzKCkudmFsdWUoKS5mb3JFYWNoKChlPT50aGlzLl9saW5raW5nR3JvdXAoZSkpKSx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUudXBkYXRlQm91bmRDaGFydFdpZGdldCgpKSl9LHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC5zZXRWYWx1ZSh0aGlzLl9saW5raW5nR3JvdXAobnVsbCkpO2NvbnN0IGU9KGUsdCk9PntlLnN1YnNjcmliZSgoZT0+dCgpLnNldFZhbHVlKGUpKSx7Y2FsbFdpdGhMYXN0OiEwfSl9O2UodGhpcy5fd2F0Y2hlZFN5bWJvbHMsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkU3ltYm9scykpLGUodGhpcy5fd2F0Y2hlZFN5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTeW1ib2wpKSxlKHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkuc2VyaWVzU2hvcnRTeW1ib2wpKSxlKHRoaXMuX3Byb1N5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLnByb1N5bWJvbCkpLGUodGhpcy5fZW5zdXJlZFByb1N5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLmVuc3VyZWRQcm9TeW1ib2wpKSxlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRJbnRlcnZhbCkpLGUodGhpcy5fd2F0Y2hlZEludHJhZGF5LCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZEludHJhZGF5KSksZSh0aGlzLl93YXRjaGVkU2Vjb25kcywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTZWNvbmRzKSksCmUodGhpcy5fd2F0Y2hlZFRpY2tzLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFRpY2tzKSksZSh0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24pKSxlKHRoaXMuX3dhdGNoZWRSYW5nZSwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRSYW5nZSkpLGUodGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zKSksZSh0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMpKSxlKHRoaXMuX3N5bWJvbE5hbWVzTGlzdCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLnN5bWJvbE5hbWVzTGlzdCkpO2NvbnN0IHQ9ZT0+e3RoaXMuX3dhdGNoZWRTeW1ib2wuc2V0VmFsdWUoZS53YXRjaGVkU3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLnNldFZhbHVlKGUuc2VyaWVzU2hvcnRTeW1ib2wudmFsdWUoKSksdGhpcy5fcHJvU3ltYm9sLnNldFZhbHVlKGUucHJvU3ltYm9sLnZhbHVlKCkpLHRoaXMuX2Vuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUoZS5lbnN1cmVkUHJvU3ltYm9sLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShlLndhdGNoZWRJbnRlcnZhbC52YWx1ZSgpKSx0aGlzLl93YXRjaGVkSW50cmFkYXkuc2V0VmFsdWUoZS53YXRjaGVkSW50cmFkYXkudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFNlY29uZHMuc2V0VmFsdWUoZS53YXRjaGVkU2Vjb25kcy52YWx1ZSgpKSx0aGlzLl93YXRjaGVkVGlja3Muc2V0VmFsdWUoZS53YXRjaGVkVGlja3MudmFsdWUoKSksdGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnNldFZhbHVlKGUud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRSYW5nZS5zZXRWYWx1ZShlLndhdGNoZWRSYW5nZS52YWx1ZSgpKSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMuc2V0VmFsdWUoZS53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnNldFZhbHVlKGUud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnZhbHVlKCkpLHRoaXMuX3N5bWJvbE5hbWVzTGlzdC5zZXRWYWx1ZShlLnN5bWJvbE5hbWVzTGlzdC52YWx1ZSgpKX07dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnN1YnNjcmliZSh0KSx0KHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpKSwoMCx2LnNldE11dGVMaW5raW5nR3JvdXApKCgoZSx0KT0+eyJhbGwiPT09ZT90aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUubXV0ZSh0KSkpOnRoaXMuX2xpbmtpbmdHcm91cChlKS5tdXRlKHQpfSkpfWdldCBzeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRTeW1ib2xzfWdldCBzeW1ib2woKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN5bWJvbH1nZXQgcHJvU3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Byb1N5bWJvbC5yZWFkb25seSgpfXN5bWJvbFN5bmNFbmFibGVkKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suc3ltYm9sLnZhbHVlKCl9Z2V0IGVuc3VyZWRQcm9TeW1ib2woKXtyZXR1cm4gdGhpcy5fZW5zdXJlZFByb1N5bWJvbC5yZWFkb25seSgpfWdldCBzeW1ib2xOYW1lc0xpc3QoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTmFtZXNMaXN0LnJlYWRvbmx5KCl9Z2V0IHNlcmllc1Nob3J0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLnJlYWRvbmx5KCl9Z2V0IGludGVydmFsKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRJbnRlcnZhbH1pbnRlcnZhbFN5bmNFbmFibGVkKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suaW50ZXJ2YWwudmFsdWUoKX1nZXQgaW50cmFkYXkoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZEludHJhZGF5LnJlYWRvbmx5KCl9Z2V0IHNlY29uZHMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFNlY29uZHMucmVhZG9ubHkoKX1nZXQgdGlja3MoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFRpY2tzLnJlYWRvbmx5KCl9Z2V0IHJhbmdlKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRSYW5nZS5yZWFkb25seSgpfWdldCBzdXBwb3J0ZWRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMucmVhZG9ubHkoKX1nZXQgc3VwcG9ydGVkQ2hhcnRTdHlsZXMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnJlYWRvbmx5KCl9Z2V0IHByZXZlbnRGZWVkQnlTeW1ib2woKXtyZXR1cm4gdGhpcy5fcHJldmVudEZlZWRCeVN5bWJvbH1nZXQgZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnJlYWRvbmx5KCl9YWN0aXZlTGlua2luZ0dyb3VwKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC5yZWFkb25seSgpfWdldENoYXJ0V2lkZ2V0KCl7cmV0dXJuIHRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKS5ib3VuZENoYXJ0V2lkZ2V0KCl9YmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ub25BYm91dFRvQmVEZXN0cm95ZWQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5vbkFib3V0VG9CZURlc3Ryb3llZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKSwKdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFsbExpbmtpbmdHcm91cHMoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcyksdGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcygpLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4PWUuYWN0aXZlTGlua2luZ0dyb3VwKCkuc3Bhd24oKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleC5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAuc2V0VmFsdWUodGhpcy5fbGlua2luZ0dyb3VwKGUpKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKHQ9PnQuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpKSl9YmluZFRvU2VhcmNoQ2hhcnRzKGUpe3RoaXMudW5iaW5kRnJvbVNlYXJjaENoYXJ0cygpLHRoaXMuX3NlYXJjaENoYXJ0cz1lLGUub25TZWFyY2hCeVN5bWJvbC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlYXJjaEJ5U3ltYm9sKSxlLmxvYWRpbmdTeW1ib2wuc3Vic2NyaWJlKChlPT57ITE9PT1lJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPTApfSkpLHRoaXMuX3dhdGNoZWRTeW1ib2wuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sTGlua0JvdW5kKX11bmJpbmRGcm9tU2VhcmNoQ2hhcnRzKCl7dGhpcy5fc2VhcmNoQ2hhcnRzJiYodGhpcy5fc2VhcmNoQ2hhcnRzLm9uU2VhcmNoQnlTeW1ib2wudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlYXJjaEJ5U3ltYm9sKSx0aGlzLl93YXRjaGVkU3ltYm9sLnVuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sTGlua0JvdW5kKSx0aGlzLl9zZWFyY2hDaGFydHM9bnVsbCl9c2V0UHJldmVudEZlZWRCeVN5bWJvbChlKXt0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sPWV9c2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKGUsdCxzLG4saSl7Y29uc3Qgcj12b2lkIDAhPT1pP3RoaXMuX2xpbmtpbmdHcm91cChpLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKSk6dGhpcy5hY3RpdmVMaW5raW5nR3JvdXAoKS52YWx1ZSgpO3ZhciBvLGEsbCx1OyhyLndhdGNoZWRTeW1ib2wudmFsdWUoKSE9PWV8fHMpJiYody5sb2dJbmZvKGBDaGFuZ2UgbGlua2luZyBzeW1ib2wgdG8gJHtlfSwgaW5pdGlhdG9yOiAke3R9YCksci53YXRjaGVkU3ltYm9sLnNldFZhbHVlKGUscyksbnx8bnVsbD09PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbnx8KG89ci5tYWluU2VyaWVzKCksYT10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24ubGF5b3V0LnZhbHVlKCksbD10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24ubWV0YUluZm8udWlkLnZhbHVlKCl8fCIiLHU9dCx3aW5kb3cudXNlci5kb19ub3RfdHJhY2t8fG8uc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkuc3Vic2NyaWJlKChlPT57aWYoZSlyZXR1cm47Y29uc3QgdD1vLnN5bWJvbEluZm8oKTt0JiYoMCxwLmdldFRyYWNrZXIpKCkudGhlbigoZT0+e251bGwhPT1lJiZlLnRyYWNrQ2hhcnRTeW1ib2xzKHtzeW1ib2xOYW1lOnQucHJvX25hbWUsc3ltYm9sVHlwZTp0LnR5cGUscmVzb2x1dGlvbjpvLmludGVydmFsKCksbGF5b3V0VHlwZTphLGNoYXJ0SWQ6bCxjaGFydFN0eWxlczp5LlNUWUxFX1NIT1JUX05BTUVTW28uc3R5bGUoKV0sb3BlblNvdXJjZTp1LHBsYXRmb3JtOigwLGIuZ2V0UGxhdGZvcm0pKCksaXNFeHBlcnQ6d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzPT09bS5Vc2VyU3RhdHVzLlByb30pfSkpfSkse29uY2U6ITB9KSkpfXNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKGUsdCxzLG4pe2NvbnN0IGk9dm9pZCAwIT09bj90aGlzLl9saW5raW5nR3JvdXAobi5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCkpOnRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKTthLkludGVydmFsLmlzRXF1YWwoaS53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKSxlKXx8KHcubG9nSW5mbyhgQ2hhbmdlIGxpbmtpbmcgaW50ZXJ2YWwgdG8gJHtlfSwgaW5pdGlhdG9yOiAke3R9YCksc3x8KDAsUy50cmFja0ludGVydmFsQ2hhbmdpbmcpKGUsdCksaS53YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUoZSkpfV9vblNlYXJjaEJ5U3ltYm9sKGUpe2lmKCFlLnJlc29sdmVkX3N5bWJvbCl0aHJvdyBuZXcgRXJyb3IoIm5vIHJlc29sdmVkX3N5bWJvbCIpO3RoaXMuX3NlbGZFbWl0PSEwLHRoaXMuX3dhdGNoZWRTeW1ib2wuc2V0VmFsdWUoZS5yZXNvbHZlZF9zeW1ib2wpLHRoaXMuX3NlbGZFbWl0PSExfV9vblN5bWJvbExpbmsoZSl7aWYoIXRoaXMuX3NlbGZFbWl0KXtpZighdGhpcy5fc2VhcmNoQ2hhcnRzKXtjb25zdCBlPSJObyBzZWFyY2ggY2hhcnRzIGRlZmluZWQiO3Rocm93IHcubG9nRXJyb3IoZSksbmV3IEVycm9yKGUpfXRoaXMuX3ByZXZlbnRGZWVkQnlTeW1ib2x8fHRoaXMuX2xvYWRTZWFyY2hDaGFydHMoZSl9fV9sb2FkU2VhcmNoQ2hhcnRzKGUpe2lmKCF0aGlzLl9zZWFyY2hDaGFydHMpe2NvbnN0IGU9Ik5vIHNlYXJjaCBjaGFydHMgZGVmaW5lZCI7dGhyb3cgdy5sb2dFcnJvcihlKSxuZXcgRXJyb3IoZSl9aWYodGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZClyZXR1cm4gdm9pZCh0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXI8MTAwJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyKyssdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZChlKSkpO2NvbnN0IHQ9ZT0+dGhpcy5fc2VhcmNoQ2hhcnRzPyghMD09PXRoaXMuX3NlYXJjaENoYXJ0cy5sb2FkaW5nU3ltYm9sLnZhbHVlKCk/dGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPDEwMCYmKHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcisrLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQ9KDAsbi5kZWZhdWx0KSh0LDJlMyksdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZChlKSk6dGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD1udWxsLHRoaXMuX3NlYXJjaENoYXJ0cy5mZWVkQnlTeW1ib2wuY2FsbCh0aGlzLl9zZWFyY2hDaGFydHMsZSkpOigpPT57fQo7ITA9PT10aGlzLl9zZWFyY2hDaGFydHMubG9hZGluZ1N5bWJvbC52YWx1ZSgpP3RoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcjwxMDAmJih0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXIrKyx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkPSgwLG4uZGVmYXVsdCkodCwyZTMpLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQoZSkpOnRoaXMuX3NlYXJjaENoYXJ0cy5mZWVkQnlTeW1ib2woZSl9X2xpbmtpbmdHcm91cChlKXtsZXQgdD10aGlzLl9saW5raW5nR3JvdXBzLmdldChlKTtpZih2b2lkIDA9PT10KXtjb25zdCBzPXt3YXRjaGVkU3ltYm9sczp0aGlzLl93YXRjaGVkU3ltYm9scyx3YXRjaGVkU3ltYm9sOnRoaXMuX3dhdGNoZWRTeW1ib2wsc2VyaWVzU2hvcnRTeW1ib2w6dGhpcy5fc2VyaWVzU2hvcnRTeW1ib2wscHJvU3ltYm9sOnRoaXMuX3Byb1N5bWJvbCxlbnN1cmVkUHJvU3ltYm9sOnRoaXMuX2Vuc3VyZWRQcm9TeW1ib2wsd2F0Y2hlZEludGVydmFsOnRoaXMuX3dhdGNoZWRJbnRlcnZhbCx3YXRjaGVkSW50cmFkYXk6dGhpcy5fd2F0Y2hlZEludHJhZGF5LHdhdGNoZWRTZWNvbmRzOnRoaXMuX3dhdGNoZWRTZWNvbmRzLHdhdGNoZWRUaWNrczp0aGlzLl93YXRjaGVkVGlja3Msd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uOnRoaXMuX3dhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbix3YXRjaGVkUmFuZ2U6dGhpcy5fd2F0Y2hlZFJhbmdlLHdhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9uczp0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMsd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzOnRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcyxzeW1ib2xOYW1lc0xpc3Q6dGhpcy5fc3ltYm9sTmFtZXNMaXN0fTt0PW5ldyBrKGUscywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpKSksdGhpcy5fbGlua2luZ0dyb3Vwcy5zZXQoZSx0KSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24mJnQuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbil9cmV0dXJuIHR9X3VuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKXtudWxsIT09dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uJiYodGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXg/LmRlc3Ryb3koKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleD1udWxsLHRoaXMuX2xpbmtpbmdHcm91cHMuZm9yRWFjaCgoZT0+ZS51bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkpKSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWxsTGlua2luZ0dyb3VwcygpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxpbmtpbmdHcm91cHMpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsKX19O3tjb25zdCBlPSgwLGQuZ2V0RnJlc2hJbml0RGF0YSkoKS5zeW1ib2xJbmZvLHQ9ZT9lLnByb19zeW1ib2w6aC5nZXRWYWx1ZSgiZWRpdGNoYXJ0Lm1vZGVsLnN5bWJvbCIsKDAsZy5nZXREZWZhdWx0U3ltYm9sKSgpKTtXLnNldFN5bWJvbEFuZExvZ0luaXRpYXRvcih0LCJpbml0aWFsIGRhdGEiLCExLCEwKX13aW5kb3cuVHJhZGluZ1ZpZXdBcGl8fCh3aW5kb3cuVHJhZGluZ1ZpZXdBcGk9e2xpbmtpbmc6V30pfSwyMDkzOShlLHQscyl7bGV0IG47ZnVuY3Rpb24gaShlLHQpe24/LihlLHQpfWZ1bmN0aW9uIHIoZSl7bj1lfXMuZCh0LHttdXRlTGlua2luZ0dyb3VwOigpPT5pLHNldE11dGVMaW5raW5nR3JvdXA6KCk9PnJ9KX0sMzU1MTIzKGUsdCxzKXtzLmQodCx7c3BhcnNlVXNlcnNUcmFja2luZ0NvZWZmaWNpZW50OigpPT5hfSk7dmFyIG49cyg5MzIzNjUpO2NvbnN0IGk9InNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCIscj0oMCxzKDE2MDI5NikuaXNQcm9kKSgpP251bGw6bi5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGkpO2xldCBvPW51bGwhPT1yP3BhcnNlRmxvYXQocik6bnVsbDtudWxsIT09byYmKCFOdW1iZXIuaXNGaW5pdGUobyl8fG88MHx8bz4xKSYmKG89bnVsbCxuLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaSkpO2NvbnN0IGE9bz8/LjF9LDM4MzM1MShlLHQscyl7cy5kKHQse3RyYWNrSW50ZXJ2YWxDaGFuZ2luZzooKT0+b30pO3ZhciBuPXMoODU2MTk2KSxpPXMoMzYyMjM5KSxyPXMoMzU1MTIzKTtmdW5jdGlvbiBvKGUsdCl7d2luZG93LnVzZXIuZG9fbm90X3RyYWNrfHwoMCxuLnNob3VsZEFmZmVjdFVzZXIpKCJJbnRlcnZhbENoYW5naW5nIixyLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLGkuZ2V0VHJhY2tlcikoKS50aGVuKChzPT57bnVsbCE9PXMmJnMudHJhY2tDaGFydEludGVydmFsQ2hhbmdpbmcoZSx0KX0pKX19LDcwMTUwNihlLHQscyl7cy5kKHQse2FsbENoYXJ0U3R5bGVzOigpPT5yfSk7dmFyIG49cyg5MzAyMzEpO2NvbnN0IGk9KDAscygzMTg5NzQpLm9uV2lkZ2V0KSgpO2Z1bmN0aW9uIHIoKXtyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBlPVswLDEsOSwxMywyLDE0LDE1LDMsMTYsMTBdO3JldHVybiBlLnB1c2goMTIpLGl8fGUucHVzaCgxNyksaXx8ZS5wdXNoKDE4KSxpfHxlLnB1c2goMjApLGl8fGUucHVzaCgxOSksZX0oKS5jb25jYXQoZnVuY3Rpb24oKXtjb25zdCBlPVs4XTtyZXR1cm4oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiKSYmKGUucHVzaCg0LDcsNSw2KSxlLnB1c2goMTEpKSxlfSgpKX19LDMxNDkxNChlLHQscyl7cy5kKHQse2V4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm86KCk9PnV9KTt2YXIgbj1zKDg1Mjk4MCksaT1zKDkzMDIzMSk7Y29uc3Qgcj0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksbz0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLGE9KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLAppLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpLHU9bi5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cixjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0Om8sdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOmEsdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LHMpe3ZhciBuLGk7IWZ1bmN0aW9uKGUpe2VbZS5PZmZsaW5lPTBdPSJPZmZsaW5lIixlW2UuUmVzb2x2aW5nPTFdPSJSZXNvbHZpbmciLGVbZS5Mb2FkaW5nPTJdPSJMb2FkaW5nIixlW2UuUmVhZHk9M109IlJlYWR5IixlW2UuSW52YWxpZFN5bWJvbD00XT0iSW52YWxpZFN5bWJvbCIsZVtlLlNuYXBzaG90PTVdPSJTbmFwc2hvdCIsZVtlLkVPRD02XT0iRU9EIixlW2UuUHVsc2U9N109IlB1bHNlIixlW2UuRGVsYXllZD04XT0iRGVsYXllZCIsZVtlLkRlbGF5ZWRTdGVhbWluZz05XT0iRGVsYXllZFN0ZWFtaW5nIixlW2UuTm9CYXJzPTEwXT0iTm9CYXJzIixlW2UuUmVwbGF5PTExXT0iUmVwbGF5IixlW2UuRXJyb3I9MTJdPSJFcnJvciIsZVtlLkNhbGN1bGF0aW9uRXJyb3I9MTNdPSJDYWxjdWxhdGlvbkVycm9yIixlW2UuVW5zdXBwb3J0ZWRSZXNvbHV0aW9uPTE0XT0iVW5zdXBwb3J0ZWRSZXNvbHV0aW9uIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlW2UuTWFya2Vycz0wXT0iTWFya2VycyIsZVtlLlN0ZXBsaW5lPTFdPSJTdGVwbGluZSIsZVtlLlNpbXBsZT0yXT0iU2ltcGxlIn0oaXx8KGk9e30pKX0sNzk4MzgoZSx0LHMpe3MuZCh0LHtTRVJJRVNfU1RBVFVTX1RFWFQ6KCk9PkMsU1RZTEVfU0hPUlRfTkFNRVM6KCk9PmssU1lNQk9MX1NUUklOR19EQVRBOigpPT5WLGNoYXJ0U3R5bGVzV2l0aEF0dGFjaGVkU3R1ZGllczooKT0+TCxpc0NoYXJ0U3R5bGVTdHVkeUluZm9Db21wbGV4OigpPT5XLHNlcmllc0xvYWRpbmdTdGF0dXNlczooKT0+ZixzZXJpZXNSZWFkeVN0YXR1c2VzOigpPT53fSk7cyg1ODAzNyk7dmFyIG49cyg3Mjg0MzYpLGk9cyg3Nzc2NjEpLHI9cyg1NTAzOTMpO2NvbnN0IG89MCxhPTEsbD0yLHU9MyxjPTQsaD01LGQ9Nix5PTcsYj04LG09OSxwPTEwLFM9MTEsXz0xMixnPTEzLHY9MTQsdz1uZXcgU2V0KFszLDYsNyw4LDksMTFdKSxmPW5ldyBTZXQoWzEsMl0pLEM9e1tvXToiY29ubmVjdGluZyIsW2FdOiJsb2FkaW5nIixbbF06ImxvYWRpbmciLFt1XToicmVhbHRpbWUiLFtjXToiaW52YWxpZCIsW2hdOiJzbmFwc2hvdCIsW2RdOiJlbmRvZmRheSIsW3ldOiJlbmRvZmRheSIsW2JdOiJkZWxheWVkIixbbV06ImRlbGF5ZWRfc3RyZWFtaW5nIixbcF06ImZvcmJpZGRlbiIsW1NdOiJyZXBsYXkiLFtfXToiZXJyb3IiLFtnXToiY2FsY3VsYXRpb25fZXJyb3IiLFt2XToidW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiJ9LGs9ezA6ImJhciIsMToiY2FuZGxlIiw5OiJob2xsb3dDYW5kbGUiLDI6ImxpbmUiLDE0OiJsaW5lV2l0aE1hcmtlcnMiLDE1OiJzdGVwbGluZSIsMzoiYXJlYSIsMTY6ImhsY0FyZWEiLDQ6InJlbmtvIiw3OiJwYiIsNToia2FnaSIsNjoicG5mIiw4OiJoYSIsMTA6ImJhc2VsaW5lIiwxMToicmFuZ2UiLDEyOiJoaWxvIiwxMzoiY29sdW1uIiwxNzoidm9sRm9vdHByaW50IiwxODoidHBvIiwxOToidm9sQ2FuZGxlcyIsMjA6InN2cCIsMjE6ImhsY0JhcnMifTtmdW5jdGlvbiBXKGUpe3JldHVybiJ2YXJpYW50cyJpbiBlfWNvbnN0IEk9W3t0eXBlOmkuc3R1ZHlUcG9QcmVyaW9kaWNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9LHt0eXBlOmkuc3R1ZHlUcG9TZXNzaW9uc0lkLGJhc2ljU3R1ZHlWZXJzaW9uOjEwNH1dLFY9ezQ6e3R5cGU6IkJhclNldFJlbmtvQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw3Ont0eXBlOiJCYXJTZXRQcmljZUJyZWFrQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjM0fSw1Ont0eXBlOiJCYXJTZXRLYWdpQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw2Ont0eXBlOiJCYXJTZXRQbkZAdHYtcHJvc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NzN9LDg6e3R5cGU6IkJhclNldEhlaWtlbkFzaGlAdHYtYmFzaWNzdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo2MH0sMTE6e3R5cGU6IkJhclNldFJhbmdlQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NzJ9LDE3Ont0eXBlOm4uc3R1ZHlWb2xGb290cHJpbnRJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9LDE4Ont2YXJpYW50czpJLHNlbGVjdG9yOmU9Pntjb25zdCB0PWU7cmV0dXJuIkRheSI9PT10LnBlcmlvZCYmMT09PXQucGVyaW9kc051bT9JWzFdOklbMF19fSwyMDp7dHlwZTpyLnN0dWR5VmJQU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMjZ9fSxMPS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKT9bMTcsMTgsMjBdOm51bGx9LDEyODk5OChlLHQscyl7aWYocy5kKHQse2FjdHVhbFN5bWJvbDooKT0+d2UsY2hhcnRTdHlsZVN0dWR5SWQ6KCk9PiQsY3JlYXRlU2VyaWVzRm9ybWF0dGVyOigpPT5ZLGRpc3BsYXllZFN5bWJvbEV4Y2hhbmdlOigpPT52ZSxkaXNwbGF5ZWRTeW1ib2xOYW1lOigpPT5nZSxleHRyYWN0TGluZVRvb2xTeW1ib2xGcm9tU3ltYm9sSW5mbzooKT0+YmUsZ2V0Q2hhcnRTdHlsZUJ5UmVzb2x1dGlvbjooKT0+cSxnZXREZWZhdWx0U3R5bGU6KCk9Pk8sZ2V0TGFzdFVzZWRNZXRyaWM6KCk9PlUsZ2V0TGFzdFVzZWRSYXdEYXRhU3R5bGU6KCk9PlAsZ2V0TGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PkEsZ2V0TGFzdFVzZWRTdHlsZTooKT0+TSxnZXRTZXJpZXNEaXNwbGF5RXJyb3JXVjooKT0+eGUsZ2V0U2VyaWVzUHJpY2VGb3JtYXR0aW5nU3RhdGU6KCk9PnosZ2V0U291cmNlRm9yRWNvbm9teVN5bWJvbDooKT0+U2UsZ2V0U3ltYm9sRGVsYXlTZWNvbmRzOigpPT5EZSxnZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZTooKT0+UmUsZ2V0U3ltYm9sVHJhZGVkRXhjaGFuZ2U6KCk9PlRlLGdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZTooKT0+aywKaGFzVm9sdW1lOigpPT5MZSxpc0Nsb3NlQmFzZWRTeW1ib2w6KCk9PldlLGlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5OigpPT5aLGlzQ29udmVydGVkVG9PdGhlck1ldHJpYzooKT0+b2UsaXNDb252ZXJ0ZWRUb090aGVyVW5pdDooKT0+cmUsaXNFY29ub21pY1N5bWJvbDooKT0+QmUsaXNGdXR1cmVDb250aW51b3VzU3ltYm9sV2l0aEJhY2thanVzdG1lbnQ6KCk9PkZlLGlzRnV0dXJlc0NvbnRyYWN0U3ltYm9sOigpPT5FZSxpc0hMQ0Jhc2VkU3R5bGU6KCk9PkYsaXNNZWFzdXJlVW5pdFN5bWJvbDooKT0+SWUsaXNNZXRyaWNBY3RpdmU6KCk9PmFlLGlzUHJpY2VTb3VyY2VTdHlsZTooKT0+SCxpc1JhbmdlQmFzZWRTdHlsZTooKT0+SSxpc1JhbmdlU3R5bGU6KCk9PkwsaXNSYXdEYXRhU3R5bGU6KCk9PkUsaXNSZWd1bGFyU2Vzc2lvbklkOigpPT5DZSxpc1JlcXVpcmluZ1Jlc3RhcnRTZXJpZXNTdHlsZXM6KCk9PlcsaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PlQsaXNTcHJlYWRTeW1ib2xXaXRoTWFueUxlZ3M6KCk9PkdlLGlzU3RvY2syNGhTZXNzaW9uSWQ6KCk9PmtlLGlzU3R5bGVTdXBwb3J0ZWRGb3JSZXBsYXk6KCk9PkcsaXNUaW1lQmFzZWRTdHlsZTooKT0+Qixpc1ZhbGlkU3R5bGU6KCk9PlIsbWVhc3VyZVVuaXRJZDooKT0+VmUscHJlcGFyZVByaWNlQXhpc1Byb3BlcnRpZXM6KCk9PmoscHJvU3ltYm9sOigpPT5mZSxzZXRMYXN0VXNlZE1ldHJpYzooKT0+TixzZXRMYXN0VXNlZFJhd0RhdGFTdHlsZTooKT0+RCxzZXRMYXN0VXNlZFN0eWxlOigpPT54LHN0eWxlQ2hhbmdlUmVxdWlyZXNSZXN0YXJ0OigpPT5WLHN5bWJvbEJhc2VDdXJyZW5jeTooKT0+USxzeW1ib2xDdXJyZW5jeTooKT0+WCxzeW1ib2xDdXJyZW5jeUNvbnZlcnRpYmxlOigpPT5LLHN5bWJvbEhhc0Vjb25vbWljRXZlbnRzOigpPT55ZSxzeW1ib2xIYXNFbGVjdHJvbmljU2Vzc2lvbjooKT0+aGUsc3ltYm9sSGFzTmlnaHRNYXJrZXQ6KCk9PmNlLHN5bWJvbEhhc1ByZU9yUG9zdE1hcmtldDooKT0+dWUsc3ltYm9sSGFzU2V2ZXJhbFNlc3Npb25zOigpPT5kZSxzeW1ib2xNZXRyaWM6KCk9Pm5lLHN5bWJvbE9yaWdpbmFsQ3VycmVuY3k6KCk9Pkosc3ltYm9sT3JpZ2luYWxNZXRyaWM6KCk9PmllLHN5bWJvbE9yaWdpbmFsVW5pdDooKT0+c2Usc3ltYm9sVGl0bGU6KCk9Pl9lLHN5bWJvbFRpdGxlU2VwYXJhdG9yOigpPT5wZSxzeW1ib2xUb1NhdmVJblN0YXRlOigpPT5tZSxzeW1ib2xVbml0OigpPT50ZSxzeW1ib2xVbml0Q29udmVydGlibGVHcm91cHNJZkV4aXN0OigpPT5sZX0pLC9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSl2YXIgbj1zKDk1MjkwMCk7aWYoL14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopKXZhciBpPXMoMjU0NjczKTt2YXIgcj1zKDE4NTI3MSksbz1zKDkzMDIzMSksYT1zKDkzMDU2NiksbD1zKDMxODk3NCksdT1zKDE1NjgyOSksYz1zKDc5ODM4KSxoPXMoNzU1NjI3KSxkPXMoOTg0Mzc2KSx5PXMoMTI1MjE4KTtpZigvXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaikpdmFyIGI9cyg1OTY3MDYpO2lmKC9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSl2YXIgbT1zKDI0MTk1Nik7dmFyIHA9cygzMTQ5MTQpO2NvbnN0IFM9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXBwZXJjYXNlX2luc3RydW1lbnRfbmFtZXMiKSxfPSgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIik7dmFyIGc7IWZ1bmN0aW9uKGUpe2UuTGFzdFVzZWRTdHlsZUtleT0iY2hhcnQubGFzdFVzZWRTdHlsZSIsZS5MYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZT0iY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiLGUuTGFzdFVzZWRSYXdEYXRhU3R5bGU9ImNoYXJ0LnJhd0RhdGFTdHlsZSIsZS5MYXN0VXNlZE1ldHJpYz0iY2hhcnQubGFzdFVzZWRNZXRyaWMifShnfHwoZz17fSkpO2NvbnN0IHY9L14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopP1s0LDUsNiw3LDhdOm51bGwsdz0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaik/WzQsNSw2LDcsMTFdOm51bGwsZj0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaik/WzAsMSw5LDE5LDIsMTQsMTUsMywxNiwyMSwxMCw4LDEyLDEzLDE4LDE3LDIwXTpudWxsLEM9L14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopP1syLDE0LDE1LDEwLDMsMTMsMThdOm51bGw7ZnVuY3Rpb24gayhlKXtyZXR1cm57MDpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDk0MTYyOSkpLDE6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygxMTg0OTEpKSwyOnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoMjEwNDk5KSksMTQ6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygxODYxNDcpKSwxNTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDkxNjE0OCkpLDM6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg3OTYwOTMpKSwxNjpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDk2Nzg0MSkpLDk6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygzMzE4MjQpKSwxMDpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDUyNTMzMSkpLDEyOnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoOTUyODEwKSksMTM6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg2MTczNDApKSw0OnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoNDYxNzM4KSksNzpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDMwNzQzNikpLDU6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg0MTM0MykpLDY6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg4NjcwMjEpKSwxMTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDE4ODM1MikpLDg6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg4MzU1NDMpKSwxNzpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDIwMTA3MykpLAoxODpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDExNzk4NCkpLDE5OnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoODkyMzc1KSksMjA6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg2ODc5NTEpKSwyMTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDY4MzAwKSl9W2VdfWZ1bmN0aW9uIFcoZSl7cmV0dXJuLTEhPT12LmluZGV4T2YoZSl9ZnVuY3Rpb24gSShlKXtyZXR1cm4tMSE9PXcuaW5kZXhPZihlKX1mdW5jdGlvbiBWKGUsdCl7cmV0dXJuIUwoZSkmJiFMKHQpJiYhKGU9PT10fHwhVyhlKSYmIVcodCkpfWZ1bmN0aW9uIEwoZSl7cmV0dXJuIDExPT09ZX1mdW5jdGlvbiBCKGUpe3JldHVybi0xIT09Zi5pbmRleE9mKGUpfWZ1bmN0aW9uIEcoZSl7cmV0dXJuIDE3IT09ZSYmMTghPT1lJiYyMCE9PWUmJkIoZSl9ZnVuY3Rpb24gUihlKXtyZXR1cm4gSShlKXx8QihlKX1mdW5jdGlvbiBUKGUpe3N3aXRjaChlKXtjYXNlIDM6Y2FzZSAxMDpjYXNlIDI6Y2FzZSAxNDpjYXNlIDE1OmNhc2UgMTM6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gRihlKXtzd2l0Y2goZSl7Y2FzZSAxNjpjYXNlIDIxOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIEUoZSl7cmV0dXJuIWMuU1lNQk9MX1NUUklOR19EQVRBW2VdfWZ1bmN0aW9uIHgoZSx0KXtSKGUpJiYoMTEhPT1lJiZhLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFN0eWxlIixlKSxFKGUpJiZEKGUpLFdlKHQpJiZUKGUpJiZhLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZSIsZSkpfWZ1bmN0aW9uIEQoZSl7YS5zZXRWYWx1ZSgiY2hhcnQucmF3RGF0YVN0eWxlIixlKX1mdW5jdGlvbiBNKCl7Y29uc3QgZT1hLmdldEludCgiY2hhcnQubGFzdFVzZWRTdHlsZSIpO3JldHVybiB2b2lkIDA9PT1lPzE6ZX1mdW5jdGlvbiBBKCl7Y29uc3QgZT1hLmdldEludCgiY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiKTtyZXR1cm4gdm9pZCAwPT09ZT8xNDplfWZ1bmN0aW9uIFAoKXtyZXR1cm4gYS5nZXRJbnQoImNoYXJ0LnJhd0RhdGFTdHlsZSIsMSl9ZnVuY3Rpb24gTihlKXthLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZE1ldHJpYyIsZSl9ZnVuY3Rpb24gVSgpe3JldHVybiBhLmdldFZhbHVlKCJjaGFydC5sYXN0VXNlZE1ldHJpYyIpPz9udWxsfWZ1bmN0aW9uIE8oZSl7cmV0dXJuIGU/MTE6MX1mdW5jdGlvbiBxKGUsdCl7Y29uc3Qgcz1MKHQpLG49aS5JbnRlcnZhbC5pc1JhbmdlKGUpO3JldHVybiFzJiZuP08oITApOnMmJiFuP08oITEpOnR9ZnVuY3Rpb24gJChlLHQscyl7Y29uc3Qgbj1jLlNZTUJPTF9TVFJJTkdfREFUQVtlXTtpZih2b2lkIDA9PT1uKXJldHVybiBudWxsO2NvbnN0IGk9KDAsYy5pc0NoYXJ0U3R5bGVTdHVkeUluZm9Db21wbGV4KShuKT9uLnNlbGVjdG9yKHM/P3t9KTpuO3JldHVybiB0P2Ake2kudHlwZX0tJHtpLmJhc2ljU3R1ZHlWZXJzaW9ufWA6aS50eXBlfWZ1bmN0aW9uIGooZSl7Y29uc3QgdD1lLnByaWNlQXhpc1Byb3BlcnRpZXMscz10LmxvY2tTY2FsZS52YWx1ZSgpLG49Nj09PWUuc3R5bGUudmFsdWUoKTsobnx8cykmJih0LmxvZy5zZXRWYWx1ZSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZSghKCFuJiYhcykpLHQucGVyY2VudGFnZURpc2FibGVkLnNldFZhbHVlKCEoIW4mJiFzKSl9ZnVuY3Rpb24gSChlKXtyZXR1cm4gQy5pbmNsdWRlcyhlKX1mdW5jdGlvbiB6KGUsdD0iZGVmYXVsdCIscz0hMSl7bGV0IG4saSxyLG8sYT0xMDAsbD0xO2lmKCJkZWZhdWx0Ij09PXQpbnVsbCE9ZSYmKCh7cHJpY2VzY2FsZTphLG1pbm1vdjpsLG1pbm1vdmUyOmksZnJhY3Rpb25hbDpufT1lKSxyPWUudmFyaWFibGVfdGlja19zaXplfHx2b2lkIDApO2Vsc2V7bGV0IGU9dC5zcGxpdCgiLCIpOzMhPT1lLmxlbmd0aCYmKGU9WyIxMDAiLCIxIiwiZmFsc2UiXSksYT1wYXJzZUludChlWzBdKSxsPXBhcnNlSW50KGVbMV0pLG49InRydWUiPT09ZVsyXSxvPSEwfXJldHVybiBzJiYobD0xKSx7cHJpY2VTY2FsZTphLG1pbk1vdmU6bCxmcmFjdGlvbmFsOm4sbWluTW92ZTI6aSx2YXJpYWJsZU1pblRpY2s6cixpZ25vcmVNaW5Nb3ZlOnMsbm9FeHBvbmVudGlhbEZvcm06b319ZnVuY3Rpb24gWShlLHQscz0hMSl7Y29uc3R7cHJpY2VTY2FsZTpuLG1pbk1vdmU6aSxmcmFjdGlvbmFsOnIsbWluTW92ZTI6byx2YXJpYWJsZU1pblRpY2s6YSxub0V4cG9uZW50aWFsRm9ybTpsfT16KGUsdCxzKTtpZihudWxsIT1lKXtjb25zdCBsPWUuZm9ybWF0O2lmKCJkZWZhdWx0Ij09PXQmJiJ2b2x1bWUiPT09bClyZXR1cm4gbmV3IGQuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pO2lmKCJwZXJjZW50Ij09PWwpcmV0dXJuIG5ldyB5LlBlcmNlbnRhZ2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6bixtaW5Nb3ZlOmksZnJhY3Rpb25hbDpyLG1pbk1vdmUyOm8sdmFyaWFibGVNaW5UaWNrOmEsaWdub3JlTWluTW92ZTpzfSl9cmV0dXJuIG5ldyBoLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOm4sbWluTW92ZTppLGZyYWN0aW9uYWw6cixtaW5Nb3ZlMjpvLHZhcmlhYmxlTWluVGljazphLGlnbm9yZU1pbk1vdmU6cyxub0V4cG9uZW50aWFsRm9ybTpsfSl9ZnVuY3Rpb24gSyhlKXtyZXR1cm4gbnVsbCE9PWUmJiEoMCx1LmlzU3ByZWFkKShlLnR5cGUpfWZ1bmN0aW9uIFgoZSx0LHMpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IG49IXR8fHM/ZS5jdXJyZW5jeV9pZDplLmN1cnJlbmN5X2NvZGU7cmV0dXJuIHZvaWQgMD09PW58fCIiPT09bnx8InBjdCI9PT1uP251bGw6bn1mdW5jdGlvbiBKKGUsdCl7Y29uc3Qgcz10P2Uub3JpZ2luYWxfY3VycmVuY3lfY29kZTplLm9yaWdpbmFsX2N1cnJlbmN5X2lkO3JldHVybiJwY3QiPT09cz9udWxsOnM/P1goZSx0KX1mdW5jdGlvbiBRKGUpe3JldHVybiBlLmJhc2VfY3VycmVuY3lfaWR8fG51bGx9ZnVuY3Rpb24gWihlKXtpZihudWxsPT09ZXx8IUsoZSkpcmV0dXJuITE7Y29uc3QgdD1KKGUpCjtyZXR1cm4gbnVsbCE9PXQmJnQhPT1YKGUpfWZ1bmN0aW9uIGVlKGUsdCl7cmV0dXJuIHQmJm51bGwhPT1lJiYhKDAsdS5pc1NwcmVhZCkoZS50eXBlKX1mdW5jdGlvbiB0ZShlLHQpe2lmKG51bGw9PT1lfHwhdClyZXR1cm4gbnVsbDtjb25zdCBzPWUudW5pdF9pZDtyZXR1cm4gdm9pZCAwPT09c3x8IiI9PT1zP251bGw6c31mdW5jdGlvbiBzZShlLHQpe3JldHVybiB0P2Uub3JpZ2luYWxfdW5pdF9pZHx8dGUoZSx0KTpudWxsfWZ1bmN0aW9uIG5lKGUsdCl7cmV0dXJuIHQmJmUubWV0cmljcz8uY3VycmVudHx8bnVsbH1mdW5jdGlvbiBpZShlLHQpe3JldHVybiB0P2UubWV0cmljcz8uZGVmYXVsdHx8bmUoZSx0KTpudWxsfWZ1bmN0aW9uIHJlKGUsdCl7cmV0dXJuIShudWxsPT09ZXx8IWVlKGUsdCkpJiYodm9pZCAwIT09ZS5vcmlnaW5hbF91bml0X2lkJiZlLm9yaWdpbmFsX3VuaXRfaWQhPT1lLnVuaXRfaWQpfWZ1bmN0aW9uIG9lKGUsdCl7cmV0dXJuIShudWxsPT09ZXx8IXQpJiYodm9pZCAwIT09ZT8ubWV0cmljcz8uZGVmYXVsdCYmZT8ubWV0cmljcz8uZGVmYXVsdCE9PWU/Lm1ldHJpY3M/LmN1cnJlbnQpfWZ1bmN0aW9uIGFlKGUpe3JldHVybiBCb29sZWFuKGU/Lm1ldHJpY3M/LmN1cnJlbnQmJiJwcmljZSIhPT1lLm1ldHJpY3MuY3VycmVudCl9ZnVuY3Rpb24gbGUoZSx0KXtyZXR1cm4gbnVsbCE9PWUmJmVlKGUsdCk/ZS51bml0X2NvbnZlcnNpb25fdHlwZXN8fG51bGw6W119ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIG51bGwhPT1lJiZ2b2lkIDAhPT1lLnN1YnNlc3Npb25zJiZlLnN1YnNlc3Npb25zLnNvbWUoKGU9PiJwcmVtYXJrZXQiPT09ZS5pZHx8InBvc3RtYXJrZXQiPT09ZS5pZCkpfWZ1bmN0aW9uIGNlKGUpe3JldHVybiBudWxsIT09ZSYmdm9pZCAwIT09ZS5zdWJzZXNzaW9ucyYmZS5zdWJzZXNzaW9ucy5zb21lKChlPT4iMjRoIj09PWUuaWQpKX1mdW5jdGlvbiBoZShlKXtyZXR1cm4gbnVsbCE9PWUmJnZvaWQgMCE9PWUuc3Vic2Vzc2lvbnMmJihlLnN1YnNlc3Npb25zLnNvbWUoKGU9PiJyZWd1bGFyIj09PWUuaWQpKSYmZS5zdWJzZXNzaW9ucy5zb21lKChlPT4idXNfcmVndWxhciI9PT1lLmlkKSkpfWZ1bmN0aW9uIGRlKGUpe3JldHVybiBudWxsIT09ZSYmdm9pZCAwIT09ZS5zdWJzZXNzaW9ucyYmZS5zdWJzZXNzaW9ucy5maWx0ZXIoKGU9PiFlLnByaXZhdGUpKS5sZW5ndGg+MX1mdW5jdGlvbiB5ZShlKXtyZXR1cm4gbnVsbCE9PWUmJigoMCx1LmlzRm9yZXhTeW1ib2wpKGUudHlwZSl8fCgwLGIuaXNDRkRTeW1ib2wpKGUudHlwZSxlLnR5cGVzcGVjcyl8fCgwLHUuaGFzQ3J5cHRvVHlwZXNwZWMpKGUudHlwZXNwZWNzfHxbXSkpfWZ1bmN0aW9uIGJlKGUsdCl7cmV0dXJuKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShlLG51bGwsITAsITApfHx0fWZ1bmN0aW9uIG1lKGUsdCl7cmV0dXJuIGU/ZS50aWNrZXI/P2UucHJvX25hbWU/P3Q6dH1jb25zdCBwZT0iwrciO2Z1bmN0aW9uIFNlKGUsdCl7cmV0dXJuIEJlKGUpP2Uuc291cmNlMj8uZGVzY3JpcHRpb24/P251bGw6bnVsbH1mdW5jdGlvbiBfZShlLHQpe2NvbnN0IHM9UmUoZSk7cmV0dXJuIHR8fF8/ZS5uYW1lOmAke2UubmFtZX0gJHtwZX0gJHtzfWB9ZnVuY3Rpb24gZ2UoZSl7bGV0IHQ9ZSYmKGZ1bmN0aW9uKGUpe3JldHVybigwLHUuaXNGdXR1cmVzKShlLnR5cGUpJiZlLmZyb250X2NvbnRyYWN0fHxudWxsfShlKXx8ZS5uYW1lKXx8IiI7cmV0dXJuIHQubGVuZ3RoPjQwJiYodD10LnN1YnN0cmluZygwLDM3KSsiLi4uIiksdC50cmltKCl9ZnVuY3Rpb24gdmUoZSl7Y29uc3QgdD1lP2UuZXhjaGFuZ2U6IiI7cmV0dXJuIFM/dC50b1VwcGVyQ2FzZSgpOnR9ZnVuY3Rpb24gd2UoZSx0KXtyZXR1cm4gbnVsbCE9PWU/ZS5mdWxsX25hbWU6dH1mdW5jdGlvbiBmZShlLHQpe3JldHVybiBlPy5wcm9fbmFtZT8/dH1mdW5jdGlvbiBDZShlLHQpe3dpbmRvdztyZXR1cm5bInN0b2NrIiwiZnVuZCIsImluZGV4IiwiZHIiXS5pbmNsdWRlcyh0LnR5cGUpJiYicmVndWxhciI9PT1lfHwoMCx1LmlzRnV0dXJlcykodC50eXBlKSYmInVzX3JlZ3VsYXIiPT09ZX1mdW5jdGlvbiBrZShlKXtyZXR1cm4iMjRoIj09PWV9ZnVuY3Rpb24gV2UoZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9ZnVuY3Rpb24gSWUoZSl7cmV0dXJuIG51bGwhPT1lJiYoInVuaXQiPT09ZS5tZWFzdXJlJiZudWxsIT09VmUoZSkpfWZ1bmN0aW9uIFZlKGUpe3JldHVybiBlPy52YWx1ZV91bml0X2lkPz9udWxsfWZ1bmN0aW9uIExlKGUpe3JldHVybiJvaGxjdiI9PT1lLnZpc2libGVfcGxvdHNfc2V0fWZ1bmN0aW9uIEJlKGUpe3JldHVybiBudWxsIT09ZSYmKDAsdS5pc0Vjb25vbWljU3ltYm9sKShlLnR5cGUpfWZ1bmN0aW9uIEdlKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9PWUmJigwLHUuaXNTcHJlYWQpKGUudHlwZSl9KGUpJiYoZT8ubGVncz8/W10pLmxlbmd0aD4xfWZ1bmN0aW9uIFJlKGUpe2NvbnN0IHQ9U2UoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7cmV0dXJuKDAsbC5vbldpZGdldCkoKXx8KDAsdS5pc0ZvcmV4U3ltYm9sKShlLnR5cGUpP2UuZXhjaGFuZ2U6ZS5leGNoYW5nZV9saXN0ZWRfbmFtZT8/ZS5leGNoYW5nZX1mdW5jdGlvbiBUZShlKXtyZXR1cm4gZS5leGNoYW5nZX1mdW5jdGlvbiBGZShlKXtyZXR1cm4gbnVsbCE9PWUmJigwLHUuaXNGdXR1cmVzKShlLnR5cGUpJiZCb29sZWFuKGUuaGFzX2JhY2thZGp1c3RtZW50JiZlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSl9ZnVuY3Rpb24gRWUoZSl7cmV0dXJuIG51bGwhPT1lJiYoMCx1LmlzRnV0dXJlcykoZS50eXBlKSYmIUJvb2xlYW4oZS50eXBlc3BlY3M/LmluY2x1ZGVzKCJjb250aW51b3VzIikpfWZ1bmN0aW9uIHhlKGUpe3JldHVybigwLG4uY29tYmluZSkoKCh0LHMsbik9Pntzd2l0Y2godCl7Y2FzZSA0Ontjb25zdCB0PWUuc2VyaWVzRXJyb3JNZXNzYWdlKCkKO3JldHVybiBudWxsIT09dCYmKCJyZXNvbHV0aW9uX25vdF9lbnRpdGxlZCI9PT10fHwiY3VzdG9tX3Jlc29sdXRpb24iPT09dHx8InNlY29uZHNfbm90X2VudGl0bGVkIj09PXR8fCJ0aWNrc19ub3RfZW50aXRsZWQiPT09dHx8dC5zdGFydHNXaXRoKCJzdHVkeV9ub3RfYXV0aDoiKSk/bnVsbDp7dHlwZToiaW52YWxpZF9zeW1ib2wifX1jYXNlIDEzOntjb25zdCB0PWUuc2VyaWVzRXJyb3JNZXNzYWdlKCk7cmV0dXJuIG51bGw9PT10P251bGw6e3R5cGU6ImNhbGN1bGF0aW9uc19lcnJvciIsZXJyb3JNZXNzYWdlOnR9fWNhc2UgMTQ6e2NvbnN0IHQ9ZS51bnN1cHBvcnRlZFJlc29sdXRpb25TdGF0ZSgpLnZhbHVlKCk7cmV0dXJuIG51bGw9PT10P251bGw6e3R5cGU6InVuc3VwcG9ydGVkX3Jlc29sdXRpb24iLHJlYXNvbjp0LnJlYXNvbn19Y2FzZSAxOmNhc2UgMjpyZXR1cm4gbnVsbDtkZWZhdWx0OmlmKHMpcmV0dXJuIG4/e3R5cGU6Imlwb19wcmljZWQifTp7dHlwZToibm9fZGF0YSJ9fXJldHVybiBudWxsfSksZS5zdGF0dXNXVigpLndlYWtSZWZlcmVuY2UoKSwoMCxtLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKHQ9PnZvaWQgMCE9PXQmJighZS5iYXJzKCkuc2l6ZSgpJiYhZS5uc0JhcnMoKS5zaXplKCkmJiFlLmlzSW5SZXBsYXkoKS52YWx1ZSgpKSksZS5kYXRhRXZlbnRzKCkuZGF0YVVwZGF0ZWQoKSkub3duZXJzaGlwKCksKDAsbi5jb21iaW5lKSgoKGUsdCk9PnQ/InByaWNlZCI9PT1lPy5pcG9fb2ZmZXJfc3RhdHVzOm51bGwpLGUucXVvdGVzUHJvdmlkZXIoKS5xdW90ZXMoKS53ZWFrUmVmZXJlbmNlKCksZS5xdW90ZXNQcm92aWRlcigpLmNvbXBsZXRlZCgpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpfWZ1bmN0aW9uIERlKGUpe3JldHVybiBNYXRoLm1heCgwLGU/LmRlbGF5Pz8wKX19LDc3NzY2MShlLHQscyl7cy5kKHQse3N0dWR5VHBvUHJlcmlvZGljSWQ6KCk9Pm4sc3R1ZHlUcG9TZXNzaW9uc0lkOigpPT5pfSk7Y29uc3Qgbj0iVFBPUGVyaW9kaWNAdHYtdm9sdW1lYnlwcmljZSIsaT0iVFBPU2Vzc2lvbnNAdHYtdm9sdW1lYnlwcmljZSJ9LDcyODQzNihlLHQscyl7cy5kKHQse3N0dWR5Vm9sRm9vdHByaW50SWQ6KCk9Pm59KTtjb25zdCBuPSJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSJ9LDU1MDM5MyhlLHQscyl7cy5kKHQse3N0dWR5VmJQU2Vzc2lvbnNJZDooKT0+bn0pO2NvbnN0IG49IlZiUFNlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw3Nzg5NDYoZSx0LHMpe3ZhciBuO3MuZCh0LHtnZXRQbGF0Zm9ybTooKT0+b30pLGZ1bmN0aW9uKGUpe2UuRGVza3RvcD0iZGVza3RvcCIsZS5XZWI9IndlYiIsZS5JT1M9ImlvcyIsZS5BbmRyb2lkPSJhbmRyb2lkIn0obnx8KG49e30pKTt2YXIgaT1zKDExNzMxMykscj1zKDMxODk3NCk7ZnVuY3Rpb24gbygpe3JldHVybigwLHIuaXNEZXNrdG9wQXBwKSgpPyJkZXNrdG9wIjooMCxpLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/ImlvcyI6KDAsaS5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpPyJhbmRyb2lkIjoid2ViIn19fV0pOw=="}},"time_used":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/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.973Z","timestamp":1785136900973,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32387.47ace83c61a884341cd6.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?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 07:21:40 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-205c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7a5948f311d9bb6fd883e206bc31fa44\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":132552,"size_decoded":45612,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-08-10T08:00:01.096054Z","times_seen":3024,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzIzODddLHs1MzIzODcoZSxuLHQpe3ZhciByPXQoNzc5NDc0KSxsPXQoMTgyNjE0KTtmdW5jdGlvbiBhKGUpe2Zvcih2YXIgbj0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW4rPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1t0XSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIituKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIHU9bmV3IFNldCxvPXt9O2Z1bmN0aW9uIGkoZSxuKXtzKGUsbikscyhlKyJDYXB0dXJlIixuKX1mdW5jdGlvbiBzKGUsbil7Zm9yKG9bZV09bixlPTA7ZTxuLmxlbmd0aDtlKyspdS5hZGQobltlXSl9dmFyIGM9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGQ9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxwPXt9LG09e307ZnVuY3Rpb24gaChlLG4sdCxyLGwsYSx1KXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09bnx8Mz09PW58fDQ9PT1uLHRoaXMuYXR0cmlidXRlTmFtZT1yLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWwsdGhpcy5tdXN0VXNlUHJvcGVydHk9dCx0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT1uLHRoaXMuc2FuaXRpemVVUkw9YSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPXV9dmFyIGc9e307ImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMCwhMSxlLG51bGwsITEsITEpfSkpLFtbImFjY2VwdENoYXJzZXQiLCJhY2NlcHQtY2hhcnNldCJdLFsiY2xhc3NOYW1lIiwiY2xhc3MiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtnW25dPW5ldyBoKG4sMSwhMSxlWzFdLG51bGwsITEsITEpfSkpLFsiY29udGVudEVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxDaGVjayIsInZhbHVlIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDIsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiYXV0b1JldmVyc2UiLCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIiwiZm9jdXNhYmxlIiwicHJlc2VydmVBbHBoYSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwyLCExLGUsbnVsbCwhMSwhMSl9KSksImFsbG93RnVsbFNjcmVlbiBhc3luYyBhdXRvRm9jdXMgYXV0b1BsYXkgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlUGljdHVyZUluUGljdHVyZSBkaXNhYmxlUmVtb3RlUGxheWJhY2sgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwzLCEwLGUsbnVsbCwhMSwhMSl9KSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNCwhMSxlLG51bGwsITEsITEpfSkpLFsiY29scyIsInJvd3MiLCJzaXplIiwic3BhbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSw2LCExLGUsbnVsbCwhMSwhMSl9KSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KSk7dmFyIHY9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHkoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX1mdW5jdGlvbiBiKGUsbix0LHIpe3ZhciBsPWcuaGFzT3duUHJvcGVydHkobik/Z1tuXTpudWxsOyhudWxsIT09bD8wIT09bC50eXBlOnJ8fCEoMjxuLmxlbmd0aCl8fCJvIiE9PW5bMF0mJiJPIiE9PW5bMF18fCJuIiE9PW5bMV0mJiJOIiE9PW5bMV0pJiYoZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbD09bnx8ZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbCE9PXQmJjA9PT10LnR5cGUpcmV0dXJuITE7c3dpdGNoKHR5cGVvZiBuKXtjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6cmV0dXJuITA7Y2FzZSJib29sZWFuIjpyZXR1cm4hciYmKG51bGwhPT10PyF0LmFjY2VwdHNCb29sZWFuczoiZGF0YS0iIT09KGU9ZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSkpJiYiYXJpYS0iIT09ZSk7ZGVmYXVsdDpyZXR1cm4hMX19KGUsbix0LHIpKXJldHVybiEwCjtpZihyKXJldHVybiExO2lmKG51bGwhPT10KXN3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4hbjtjYXNlIDQ6cmV0dXJuITE9PT1uO2Nhc2UgNTpyZXR1cm4gaXNOYU4obik7Y2FzZSA2OnJldHVybiBpc05hTihuKXx8MT5ufXJldHVybiExfShuLHQsbCxyKSYmKHQ9bnVsbCkscnx8bnVsbD09PWw/ZnVuY3Rpb24oZSl7cmV0dXJuISFmLmNhbGwobSxlKXx8IWYuY2FsbChwLGUpJiYoZC50ZXN0KGUpP21bZV09ITA6KHBbZV09ITAsITEpKX0obikmJihudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLCIiK3QpKTpsLm11c3RVc2VQcm9wZXJ0eT9lW2wucHJvcGVydHlOYW1lXT1udWxsPT09dD8zIT09bC50eXBlJiYiIjp0OihuPWwuYXR0cmlidXRlTmFtZSxyPWwuYXR0cmlidXRlTmFtZXNwYWNlLG51bGw9PT10P2UucmVtb3ZlQXR0cmlidXRlKG4pOih0PTM9PT0obD1sLnR5cGUpfHw0PT09bCYmITA9PT10PyIiOiIiK3Qscj9lLnNldEF0dHJpYnV0ZU5TKHIsbix0KTplLnNldEF0dHJpYnV0ZShuLHQpKSkpfSJhY2NlbnQtaGVpZ2h0IGFsaWdubWVudC1iYXNlbGluZSBhcmFiaWMtZm9ybSBiYXNlbGluZS1zaGlmdCBjYXAtaGVpZ2h0IGNsaXAtcGF0aCBjbGlwLXJ1bGUgY29sb3ItaW50ZXJwb2xhdGlvbiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgY29sb3ItcHJvZmlsZSBjb2xvci1yZW5kZXJpbmcgZG9taW5hbnQtYmFzZWxpbmUgZW5hYmxlLWJhY2tncm91bmQgZmlsbC1vcGFjaXR5IGZpbGwtcnVsZSBmbG9vZC1jb2xvciBmbG9vZC1vcGFjaXR5IGZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXNpemUtYWRqdXN0IGZvbnQtc3RyZXRjaCBmb250LXN0eWxlIGZvbnQtdmFyaWFudCBmb250LXdlaWdodCBnbHlwaC1uYW1lIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgaG9yaXotYWR2LXggaG9yaXotb3JpZ2luLXggaW1hZ2UtcmVuZGVyaW5nIGxldHRlci1zcGFjaW5nIGxpZ2h0aW5nLWNvbG9yIG1hcmtlci1lbmQgbWFya2VyLW1pZCBtYXJrZXItc3RhcnQgb3ZlcmxpbmUtcG9zaXRpb24gb3ZlcmxpbmUtdGhpY2tuZXNzIHBhaW50LW9yZGVyIHBhbm9zZS0xIHBvaW50ZXItZXZlbnRzIHJlbmRlcmluZy1pbnRlbnQgc2hhcGUtcmVuZGVyaW5nIHN0b3AtY29sb3Igc3RvcC1vcGFjaXR5IHN0cmlrZXRocm91Z2gtcG9zaXRpb24gc3RyaWtldGhyb3VnaC10aGlja25lc3Mgc3Ryb2tlLWRhc2hhcnJheSBzdHJva2UtZGFzaG9mZnNldCBzdHJva2UtbGluZWNhcCBzdHJva2UtbGluZWpvaW4gc3Ryb2tlLW1pdGVybGltaXQgc3Ryb2tlLW9wYWNpdHkgc3Ryb2tlLXdpZHRoIHRleHQtYW5jaG9yIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXJlbmRlcmluZyB1bmRlcmxpbmUtcG9zaXRpb24gdW5kZXJsaW5lLXRoaWNrbmVzcyB1bmljb2RlLWJpZGkgdW5pY29kZS1yYW5nZSB1bml0cy1wZXItZW0gdi1hbHBoYWJldGljIHYtaGFuZ2luZyB2LWlkZW9ncmFwaGljIHYtbWF0aGVtYXRpY2FsIHZlY3Rvci1lZmZlY3QgdmVydC1hZHYteSB2ZXJ0LW9yaWdpbi14IHZlcnQtb3JpZ2luLXkgd29yZC1zcGFjaW5nIHdyaXRpbmctbW9kZSB4bWxuczp4bGluayB4LWhlaWdodCIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2Uodix5KTtnW25dPW5ldyBoKG4sMSwhMSxlLG51bGwsITEsITEpfSkpLCJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHYseSk7Z1tuXT1uZXcgaChuLDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITEsITEpfSkpLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZSh2LHkpO2dbbl09bmV3IGgobiwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsITEsITEpfSkpLFsidGFiSW5kZXgiLCJjcm9zc09yaWdpbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pKSxnLnhsaW5rSHJlZj1uZXcgaCgieGxpbmtIcmVmIiwxLCExLCJ4bGluazpocmVmIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITAsITEpLFsic3JjIiwiaHJlZiIsImFjdGlvbiIsImZvcm1BY3Rpb24iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMCwhMCl9KSk7dmFyIGs9ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCx3PVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHg9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxFPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksQz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxOPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxfPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLFQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLE09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIiksU3ltYm9sLmZvcigicmVhY3QuZGVidWdfdHJhY2VfbW9kZSIpO3ZhciBGPVN5bWJvbC5mb3IoInJlYWN0Lm9mZnNjcmVlbiIpO1N5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIik7dmFyIFI9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEQoZSl7CnJldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9UiYmZVtSXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9dmFyIEksTz1PYmplY3QuYXNzaWduO2Z1bmN0aW9uIFUoZSl7aWYodm9pZCAwPT09SSl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgbj1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7ST1uJiZuWzFdfHwiIn1yZXR1cm4iXG4iK0krZX12YXIgVj0hMTtmdW5jdGlvbiBBKGUsbil7aWYoIWV8fFYpcmV0dXJuIiI7Vj0hMDt2YXIgdD1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e2lmKG4paWYobj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfWUuY2FsbChuLnByb3RvdHlwZSl9ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXtyPWV9ZSgpfX1jYXRjaChuKXtpZihuJiZyJiYic3RyaW5nIj09dHlwZW9mIG4uc3RhY2spe2Zvcih2YXIgbD1uLnN0YWNrLnNwbGl0KCJcbiIpLGE9ci5zdGFjay5zcGxpdCgiXG4iKSx1PWwubGVuZ3RoLTEsbz1hLmxlbmd0aC0xOzE8PXUmJjA8PW8mJmxbdV0hPT1hW29dOylvLS07Zm9yKDsxPD11JiYwPD1vO3UtLSxvLS0paWYobFt1XSE9PWFbb10pe2lmKDEhPT11fHwxIT09bylkb3tpZih1LS0sMD4tLW98fGxbdV0hPT1hW29dKXt2YXIgaT0iXG4iK2xbdV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJmkuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihpPWkucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxpfX13aGlsZSgxPD11JiYwPD1vKTticmVha319fWZpbmFsbHl7Vj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT10fXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9VKGUpOiIifWZ1bmN0aW9uIEIoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6cmV0dXJuIFUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBVKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gVSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBVKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9QShlLnR5cGUsITEpO2Nhc2UgMTE6cmV0dXJuIGU9QShlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGU9QShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIFcoZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTtzd2l0Y2goZSl7Y2FzZSB4OnJldHVybiJGcmFnbWVudCI7Y2FzZSBTOnJldHVybiJQb3J0YWwiO2Nhc2UgQzpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgRTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBQOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBUOnJldHVybiJTdXNwZW5zZUxpc3QifWlmKCJvYmplY3QiPT10eXBlb2YgZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBOOnJldHVybihlLmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgejpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIF86dmFyIG49ZS5yZW5kZXI7cmV0dXJuKGU9ZS5kaXNwbGF5TmFtZSl8fChlPSIiIT09KGU9bi5kaXNwbGF5TmFtZXx8bi5uYW1lfHwiIik/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpLGU7Y2FzZSBMOnJldHVybiBudWxsIT09KG49ZS5kaXNwbGF5TmFtZXx8bnVsbCk/bjpXKGUudHlwZSl8fCJNZW1vIjtjYXNlIE06bj1lLl9wYXlsb2FkLGU9ZS5faW5pdDt0cnl7cmV0dXJuIFcoZShuKSl9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIKGUpe3ZhciBuPWUudHlwZTtzd2l0Y2goZS50YWcpe2Nhc2UgMjQ6cmV0dXJuIkNhY2hlIjtjYXNlIDk6cmV0dXJuKG4uZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSAxMDpyZXR1cm4obi5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIDE4OnJldHVybiJEZWh5ZHJhdGVkRnJhZ21lbnQiO2Nhc2UgMTE6cmV0dXJuIGU9KGU9bi5yZW5kZXIpLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCIiLG4uZGlzcGxheU5hbWV8fCgiIiE9PWU/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpO2Nhc2UgNzpyZXR1cm4iRnJhZ21lbnQiO2Nhc2UgNTpyZXR1cm4gbjtjYXNlIDQ6cmV0dXJuIlBvcnRhbCI7Y2FzZSAzOnJldHVybiJSb290IjtjYXNlIDY6cmV0dXJuIlRleHQiO2Nhc2UgMTY6cmV0dXJuIFcobik7Y2FzZSA4OnJldHVybiBuPT09RT8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gbi5kaXNwbGF5TmFtZXx8bi5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgbilyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBRKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaihlKXt2YXIgbj1lLnR5cGUKO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW58fCJyYWRpbyI9PT1uKX1mdW5jdGlvbiAkKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1mdW5jdGlvbihlKXt2YXIgbj1qKGUpPyJjaGVja2VkIjoidmFsdWUiLHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxuKSxyPSIiK2Vbbl07aWYoIWUuaGFzT3duUHJvcGVydHkobikmJnZvaWQgMCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2V0KXt2YXIgbD10LmdldCxhPXQuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe3I9IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnQuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiByfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtyPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW25dfX19fShlKSl9ZnVuY3Rpb24gcShlKXtpZighZSlyZXR1cm4hMTt2YXIgbj1lLl92YWx1ZVRyYWNrZXI7aWYoIW4pcmV0dXJuITA7dmFyIHQ9bi5nZXRWYWx1ZSgpLHI9IiI7cmV0dXJuIGUmJihyPWooZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09dCYmKG4uc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIEsoZSl7aWYodm9pZCAwPT09KGU9ZXx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwKSkpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBlLmFjdGl2ZUVsZW1lbnR8fGUuYm9keX1jYXRjaChuKXtyZXR1cm4gZS5ib2R5fX1mdW5jdGlvbiBZKGUsbil7dmFyIHQ9bi5jaGVja2VkO3JldHVybiBPKHt9LG4se2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm51bGwhPXQ/dDplLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBYKGUsbil7dmFyIHQ9bnVsbD09bi5kZWZhdWx0VmFsdWU/IiI6bi5kZWZhdWx0VmFsdWUscj1udWxsIT1uLmNoZWNrZWQ/bi5jaGVja2VkOm4uZGVmYXVsdENoZWNrZWQ7dD1RKG51bGwhPW4udmFsdWU/bi52YWx1ZTp0KSxlLl93cmFwcGVyU3RhdGU9e2luaXRpYWxDaGVja2VkOnIsaW5pdGlhbFZhbHVlOnQsY29udHJvbGxlZDoiY2hlY2tib3giPT09bi50eXBlfHwicmFkaW8iPT09bi50eXBlP251bGwhPW4uY2hlY2tlZDpudWxsIT1uLnZhbHVlfX1mdW5jdGlvbiBHKGUsbil7bnVsbCE9KG49bi5jaGVja2VkKSYmYihlLCJjaGVja2VkIixuLCExKX1mdW5jdGlvbiBaKGUsbil7RyhlLG4pO3ZhciB0PVEobi52YWx1ZSkscj1uLnR5cGU7aWYobnVsbCE9dCkibnVtYmVyIj09PXI/KDA9PT10JiYiIj09PWUudmFsdWV8fGUudmFsdWUhPXQpJiYoZS52YWx1ZT0iIit0KTplLnZhbHVlIT09IiIrdCYmKGUudmFsdWU9IiIrdCk7ZWxzZSBpZigic3VibWl0Ij09PXJ8fCJyZXNldCI9PT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpO24uaGFzT3duUHJvcGVydHkoInZhbHVlIik/ZWUoZSxuLnR5cGUsdCk6bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJmVlKGUsbi50eXBlLFEobi5kZWZhdWx0VmFsdWUpKSxudWxsPT1uLmNoZWNrZWQmJm51bGwhPW4uZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhbi5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gSihlLG4sdCl7aWYobi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKXx8bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikpe3ZhciByPW4udHlwZTtpZighKCJzdWJtaXQiIT09ciYmInJlc2V0IiE9PXJ8fHZvaWQgMCE9PW4udmFsdWUmJm51bGwhPT1uLnZhbHVlKSlyZXR1cm47bj0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlLHR8fG49PT1lLnZhbHVlfHwoZS52YWx1ZT1uKSxlLmRlZmF1bHRWYWx1ZT1ufSIiIT09KHQ9ZS5uYW1lKSYmKGUubmFtZT0iIiksZS5kZWZhdWx0Q2hlY2tlZD0hIWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZCwiIiE9PXQmJihlLm5hbWU9dCl9ZnVuY3Rpb24gZWUoZSxuLHQpeyJudW1iZXIiPT09biYmSyhlLm93bmVyRG9jdW1lbnQpPT09ZXx8KG51bGw9PXQ/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK3QmJihlLmRlZmF1bHRWYWx1ZT0iIit0KSl9dmFyIG5lPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdGUoZSxuLHQscil7aWYoZT1lLm9wdGlvbnMsbil7bj17fTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyluWyIkIit0W2xdXT0hMDtmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWw9bi5oYXNPd25Qcm9wZXJ0eSgiJCIrZVt0XS52YWx1ZSksZVt0XS5zZWxlY3RlZCE9PWwmJihlW3RdLnNlbGVjdGVkPWwpLGwmJnImJihlW3RdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodD0iIitRKHQpLG49bnVsbCxsPTA7bDxlLmxlbmd0aDtsKyspe2lmKGVbbF0udmFsdWU9PT10KXJldHVybiBlW2xdLnNlbGVjdGVkPSEwLHZvaWQociYmKGVbbF0uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PW58fGVbbF0uZGlzYWJsZWR8fChuPWVbbF0pfW51bGwhPT1uJiYobi5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIHJlKGUsbil7aWYobnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcihhKDkxKSk7cmV0dXJuIE8oe30sbix7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGxlKGUsbil7dmFyIHQ9bi52YWx1ZTtpZihudWxsPT10KXtpZih0PW4uY2hpbGRyZW4sbj1uLmRlZmF1bHRWYWx1ZSxudWxsIT10KXtpZihudWxsIT1uKXRocm93IEVycm9yKGEoOTIpKTtpZihuZSh0KSl7CmlmKDE8dC5sZW5ndGgpdGhyb3cgRXJyb3IoYSg5MykpO3Q9dFswXX1uPXR9bnVsbD09biYmKG49IiIpLHQ9bn1lLl93cmFwcGVyU3RhdGU9e2luaXRpYWxWYWx1ZTpRKHQpfX1mdW5jdGlvbiBhZShlLG4pe3ZhciB0PVEobi52YWx1ZSkscj1RKG4uZGVmYXVsdFZhbHVlKTtudWxsIT10JiYoKHQ9IiIrdCkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uLmRlZmF1bHRWYWx1ZSYmZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCkpLG51bGwhPXImJihlLmRlZmF1bHRWYWx1ZT0iIityKX1mdW5jdGlvbiB1ZShlKXt2YXIgbj1lLnRleHRDb250ZW50O249PT1lLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlJiYiIiE9PW4mJm51bGwhPT1uJiYoZS52YWx1ZT1uKX1mdW5jdGlvbiBvZShlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIGllKGUsbil7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/b2Uobik6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PW4/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIHNlLGNlLGZlPShjZT1mdW5jdGlvbihlLG4pe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPW47ZWxzZXtmb3IoKHNlPXNlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrbi52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+IixuPXNlLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDtuLmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQobi5maXJzdENoaWxkKX19LCJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGUsbix0LHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBjZShlLG4pfSkpfTpjZSk7ZnVuY3Rpb24gZGUoZSxuKXtpZihuKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7aWYodCYmdD09PWUubGFzdENoaWxkJiYzPT09dC5ub2RlVHlwZSlyZXR1cm4gdm9pZCh0Lm5vZGVWYWx1ZT1uKX1lLnRleHRDb250ZW50PW59dmFyIHBlPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxtZT1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO2Z1bmN0aW9uIGhlKGUsbix0KXtyZXR1cm4gbnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbnx8IiI9PT1uPyIiOnR8fCJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHBlLmhhc093blByb3BlcnR5KGUpJiZwZVtlXT8oIiIrbikudHJpbSgpOm4rInB4In1mdW5jdGlvbiBnZShlLG4pe2Zvcih2YXIgdCBpbiBlPWUuc3R5bGUsbilpZihuLmhhc093blByb3BlcnR5KHQpKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpLGw9aGUodCxuW3RdLHIpOyJmbG9hdCI9PT10JiYodD0iY3NzRmxvYXQiKSxyP2Uuc2V0UHJvcGVydHkodCxsKTplW3RdPWx9fU9iamVjdC5rZXlzKHBlKS5mb3JFYWNoKChmdW5jdGlvbihlKXttZS5mb3JFYWNoKChmdW5jdGlvbihuKXtuPW4rZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSxwZVtuXT1wZVtlXX0pKX0pKTt2YXIgdmU9Tyh7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtmdW5jdGlvbiB5ZShlLG4pe2lmKG4pe2lmKHZlW2VdJiYobnVsbCE9bi5jaGlsZHJlbnx8bnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IoYSgxMzcsZSkpO2lmKG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPW4uY2hpbGRyZW4pdGhyb3cgRXJyb3IoYSg2MCkpO2lmKCJvYmplY3QiIT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTHx8ISgiX19odG1sImluIG4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKGEoNjEpKX1pZihudWxsIT1uLnN0eWxlJiYib2JqZWN0IiE9dHlwZW9mIG4uc3R5bGUpdGhyb3cgRXJyb3IoYSg2MikpfX1mdW5jdGlvbiBiZShlLG4pe2lmKC0xPT09ZS5pbmRleE9mKCItIikpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLmlzO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOgpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIga2U9bnVsbDtmdW5jdGlvbiB3ZShlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgU2U9bnVsbCx4ZT1udWxsLEVlPW51bGw7ZnVuY3Rpb24gQ2UoZSl7aWYoZT1ibChlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFNlKXRocm93IEVycm9yKGEoMjgwKSk7dmFyIG49ZS5zdGF0ZU5vZGU7biYmKG49d2wobiksU2UoZS5zdGF0ZU5vZGUsZS50eXBlLG4pKX19ZnVuY3Rpb24gemUoZSl7eGU/RWU/RWUucHVzaChlKTpFZT1bZV06eGU9ZX1mdW5jdGlvbiBOZSgpe2lmKHhlKXt2YXIgZT14ZSxuPUVlO2lmKEVlPXhlPW51bGwsQ2UoZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKUNlKG5bZV0pfX1mdW5jdGlvbiBfZShlLG4pe3JldHVybiBlKG4pfWZ1bmN0aW9uIFBlKCl7fXZhciBUZT0hMTtmdW5jdGlvbiBMZShlLG4sdCl7aWYoVGUpcmV0dXJuIGUobix0KTtUZT0hMDt0cnl7cmV0dXJuIF9lKGUsbix0KX1maW5hbGx5e1RlPSExLChudWxsIT09eGV8fG51bGwhPT1FZSkmJihQZSgpLE5lKCkpfX1mdW5jdGlvbiBNZShlLG4pe3ZhciB0PWUuc3RhdGVOb2RlO2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciByPXdsKHQpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3Q9cltuXTtlOnN3aXRjaChuKXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwocj0hKCJidXR0b24iPT09KGU9ZS50eXBlKXx8ImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8InRleHRhcmVhIj09PWUpKSxlPSFyO2JyZWFrIGU7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYodCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoYSgyMzEsbix0eXBlb2YgdCkpO3JldHVybiB0fXZhciBGZT0hMTtpZihjKXRyeXt2YXIgUmU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7RmU9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFJlLFJlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsUmUsUmUpfWNhdGNoKGNlKXtGZT0hMX1mdW5jdGlvbiBEZShlLG4sdCxyLGwsYSx1LG8saSl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXtuLmFwcGx5KHQscyl9Y2F0Y2goZSl7dGhpcy5vbkVycm9yKGUpfX12YXIgSWU9ITEsT2U9bnVsbCxVZT0hMSxWZT1udWxsLEFlPXtvbkVycm9yOmZ1bmN0aW9uKGUpe0llPSEwLE9lPWV9fTtmdW5jdGlvbiBCZShlLG4sdCxyLGwsYSx1LG8saSl7SWU9ITEsT2U9bnVsbCxEZS5hcHBseShBZSxhcmd1bWVudHMpfWZ1bmN0aW9uIFdlKGUpe3ZhciBuPWUsdD1lO2lmKGUuYWx0ZXJuYXRlKWZvcig7bi5yZXR1cm47KW49bi5yZXR1cm47ZWxzZXtlPW47ZG97ISEoNDA5OCYobj1lKS5mbGFncykmJih0PW4ucmV0dXJuKSxlPW4ucmV0dXJufXdoaWxlKGUpfXJldHVybiAzPT09bi50YWc/dDpudWxsfWZ1bmN0aW9uIEhlKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09biYmKG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihuPWUubWVtb2l6ZWRTdGF0ZSkpLG51bGwhPT1uKXJldHVybiBuLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUWUoZSl7aWYoV2UoZSkhPT1lKXRocm93IEVycm9yKGEoMTg4KSl9ZnVuY3Rpb24gamUoZSl7cmV0dXJuIG51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgbj1lLmFsdGVybmF0ZTtpZighbil7aWYobnVsbD09PShuPVdlKGUpKSl0aHJvdyBFcnJvcihhKDE4OCkpO3JldHVybiBuIT09ZT9udWxsOmV9Zm9yKHZhciB0PWUscj1uOzspe3ZhciBsPXQucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciB1PWwuYWx0ZXJuYXRlO2lmKG51bGw9PT11KXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXt0PXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PXUuY2hpbGQpe2Zvcih1PWwuY2hpbGQ7dTspe2lmKHU9PT10KXJldHVybiBRZShsKSxlO2lmKHU9PT1yKXJldHVybiBRZShsKSxuO3U9dS5zaWJsaW5nfXRocm93IEVycm9yKGEoMTg4KSl9aWYodC5yZXR1cm4hPT1yLnJldHVybil0PWwscj11O2Vsc2V7Zm9yKHZhciBvPSExLGk9bC5jaGlsZDtpOyl7aWYoaT09PXQpe289ITAsdD1sLHI9dTticmVha31pZihpPT09cil7bz0hMCxyPWwsdD11O2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXtmb3IoaT11LmNoaWxkO2k7KXtpZihpPT09dCl7bz0hMCx0PXUscj1sO2JyZWFrfWlmKGk9PT1yKXtvPSEwLHI9dSx0PWw7YnJlYWt9aT1pLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IoYSgxODkpKX19aWYodC5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGEoMTkwKSl9aWYoMyE9PXQudGFnKXRocm93IEVycm9yKGEoMTg4KSk7cmV0dXJuIHQuc3RhdGVOb2RlLmN1cnJlbnQ9PT10P2U6bn0oZSkpPyRlKGUpOm51bGx9ZnVuY3Rpb24gJGUoZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe3ZhciBuPSRlKGUpO2lmKG51bGwhPT1uKXJldHVybiBuO2U9ZS5zaWJsaW5nfXJldHVybiBudWxsfQp2YXIgcWU9bC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLEtlPWwudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssWWU9bC51bnN0YWJsZV9zaG91bGRZaWVsZCxYZT1sLnVuc3RhYmxlX3JlcXVlc3RQYWludCxHZT1sLnVuc3RhYmxlX25vdyxaZT1sLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLEplPWwudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZW49bC51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxubj1sLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHRuPWwudW5zdGFibGVfTG93UHJpb3JpdHkscm49bC51bnN0YWJsZV9JZGxlUHJpb3JpdHksbG49bnVsbCxhbj1udWxsO3ZhciB1bj1NYXRoLmNsejMyP01hdGguY2x6MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+Pj49MCwwPT09ZT8zMjozMS0ob24oZSkvc258MCl8MH0sb249TWF0aC5sb2csc249TWF0aC5MTjI7dmFyIGNuPTY0LGZuPTQxOTQzMDQ7ZnVuY3Rpb24gZG4oZSl7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiA0MTk0MjQwJmU7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4gMTMwMDIzNDI0JmU7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAxMDczNzQxODI0O2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIHBuKGUsbil7dmFyIHQ9ZS5wZW5kaW5nTGFuZXM7aWYoMD09PXQpcmV0dXJuIDA7dmFyIHI9MCxsPWUuc3VzcGVuZGVkTGFuZXMsYT1lLnBpbmdlZExhbmVzLHU9MjY4NDM1NDU1JnQ7aWYoMCE9PXUpe3ZhciBvPXUmfmw7MCE9PW8/cj1kbihvKTowIT09KGEmPXUpJiYocj1kbihhKSl9ZWxzZSAwIT09KHU9dCZ+bCk/cj1kbih1KTowIT09YSYmKHI9ZG4oYSkpO2lmKDA9PT1yKXJldHVybiAwO2lmKDAhPT1uJiZuIT09ciYmIShuJmwpJiYoKGw9ciYtcik+PShhPW4mLW4pfHwxNj09PWwmJjQxOTQyNDAmYSkpcmV0dXJuIG47aWYoNCZyJiYocnw9MTYmdCksMCE9PShuPWUuZW50YW5nbGVkTGFuZXMpKWZvcihlPWUuZW50YW5nbGVtZW50cyxuJj1yOzA8bjspbD0xPDwodD0zMS11bihuKSkscnw9ZVt0XSxuJj1+bDtyZXR1cm4gcn1mdW5jdGlvbiBtbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpyZXR1cm4gbisyNTA7Y2FzZSA4OmNhc2UgMTY6Y2FzZSAzMjpjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBuKzVlMztkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiBobihlKXtyZXR1cm4gMCE9PShlPS0xMDczNzQxODI1JmUucGVuZGluZ0xhbmVzKT9lOjEwNzM3NDE4MjQmZT8xMDczNzQxODI0OjB9ZnVuY3Rpb24gZ24oKXt2YXIgZT1jbjtyZXR1cm4hKDQxOTQyNDAmKGNuPDw9MSkpJiYoY249NjQpLGV9ZnVuY3Rpb24gdm4oZSl7Zm9yKHZhciBuPVtdLHQ9MDszMT50O3QrKyluLnB1c2goZSk7cmV0dXJuIG59ZnVuY3Rpb24geW4oZSxuLHQpe2UucGVuZGluZ0xhbmVzfD1uLDUzNjg3MDkxMiE9PW4mJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wKSwoZT1lLmV2ZW50VGltZXMpW249MzEtdW4obildPXR9ZnVuY3Rpb24gYm4oZSxuKXt2YXIgdD1lLmVudGFuZ2xlZExhbmVzfD1uO2ZvcihlPWUuZW50YW5nbGVtZW50czt0Oyl7dmFyIHI9MzEtdW4odCksbD0xPDxyO2wmbnxlW3JdJm4mJihlW3JdfD1uKSx0Jj1+bH19dmFyIGtuPTA7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIDE8KGUmPS1lKT80PGU/MjY4NDM1NDU1JmU/MTY6NTM2ODcwOTEyOjQ6MX12YXIgU24seG4sRW4sQ24sem4sTm49ITEsX249W10sUG49bnVsbCxUbj1udWxsLExuPW51bGwsTW49bmV3IE1hcCxGbj1uZXcgTWFwLFJuPVtdLERuPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIEluKGUsbil7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6UG49bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOlRuPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOkxuPW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpNbi5kZWxldGUobi5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpGbi5kZWxldGUobi5wb2ludGVySWQpfX1mdW5jdGlvbiBPbihlLG4sdCxyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOm4sZG9tRXZlbnROYW1lOnQsZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT1uJiYobnVsbCE9PShuPWJsKG4pKSYmeG4obikpLAplKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLG49ZS50YXJnZXRDb250YWluZXJzLG51bGwhPT1sJiYtMT09PW4uaW5kZXhPZihsKSYmbi5wdXNoKGwpLGUpfWZ1bmN0aW9uIFVuKGUpe3ZhciBuPXlsKGUudGFyZ2V0KTtpZihudWxsIT09bil7dmFyIHQ9V2Uobik7aWYobnVsbCE9PXQpaWYoMTM9PT0obj10LnRhZykpe2lmKG51bGwhPT0obj1IZSh0KSkpcmV0dXJuIGUuYmxvY2tlZE9uPW4sdm9pZCB6bihlLnByaW9yaXR5LChmdW5jdGlvbigpe0VuKHQpfSkpfWVsc2UgaWYoMz09PW4mJnQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIHZvaWQoZS5ibG9ja2VkT249Mz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbCl9ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBWbihlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBuPWUudGFyZ2V0Q29udGFpbmVyczswPG4ubGVuZ3RoOyl7dmFyIHQ9WG4oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLG5bMF0sZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PXQpcmV0dXJuIG51bGwhPT0obj1ibCh0KSkmJnhuKG4pLGUuYmxvY2tlZE9uPXQsITE7dmFyIHI9bmV3KHQ9ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3IodC50eXBlLHQpO2tlPXIsdC50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSxrZT1udWxsLG4uc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBBbihlLG4sdCl7Vm4oZSkmJnQuZGVsZXRlKG4pfWZ1bmN0aW9uIEJuKCl7Tm49ITEsbnVsbCE9PVBuJiZWbihQbikmJihQbj1udWxsKSxudWxsIT09VG4mJlZuKFRuKSYmKFRuPW51bGwpLG51bGwhPT1MbiYmVm4oTG4pJiYoTG49bnVsbCksTW4uZm9yRWFjaChBbiksRm4uZm9yRWFjaChBbil9ZnVuY3Rpb24gV24oZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLE5ufHwoTm49ITAsbC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGwudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksQm4pKSl9ZnVuY3Rpb24gSG4oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gV24obixlKX1pZigwPF9uLmxlbmd0aCl7V24oX25bMF0sZSk7Zm9yKHZhciB0PTE7dDxfbi5sZW5ndGg7dCsrKXt2YXIgcj1fblt0XTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG51bGwhPT1QbiYmV24oUG4sZSksbnVsbCE9PVRuJiZXbihUbixlKSxudWxsIT09TG4mJlduKExuLGUpLE1uLmZvckVhY2gobiksRm4uZm9yRWFjaChuKSx0PTA7dDxSbi5sZW5ndGg7dCsrKShyPVJuW3RdKS5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPFJuLmxlbmd0aCYmbnVsbD09PSh0PVJuWzBdKS5ibG9ja2VkT247KVVuKHQpLG51bGw9PT10LmJsb2NrZWRPbiYmUm4uc2hpZnQoKX12YXIgUW49ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxqbj0hMDtmdW5jdGlvbiAkbihlLG4sdCxyKXt2YXIgbD1rbixhPVFuLnRyYW5zaXRpb247UW4udHJhbnNpdGlvbj1udWxsO3RyeXtrbj0xLEtuKGUsbix0LHIpfWZpbmFsbHl7a249bCxRbi50cmFuc2l0aW9uPWF9fWZ1bmN0aW9uIHFuKGUsbix0LHIpe3ZhciBsPWtuLGE9UW4udHJhbnNpdGlvbjtRbi50cmFuc2l0aW9uPW51bGw7dHJ5e2tuPTQsS24oZSxuLHQscil9ZmluYWxseXtrbj1sLFFuLnRyYW5zaXRpb249YX19ZnVuY3Rpb24gS24oZSxuLHQscil7aWYoam4pe3ZhciBsPVhuKGUsbix0LHIpO2lmKG51bGw9PT1sKVFyKGUsbixyLFluLHQpLEluKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLG4sdCxyLGwpe3N3aXRjaChuKXtjYXNlImZvY3VzaW4iOnJldHVybiBQbj1PbihQbixlLG4sdCxyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gVG49T24oVG4sZSxuLHQscixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIExuPU9uKExuLGUsbix0LHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIE1uLnNldChhLE9uKE1uLmdldChhKXx8bnVsbCxlLG4sdCxyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxGbi5zZXQoYSxPbihGbi5nZXQoYSl8fG51bGwsZSxuLHQscixsKSksITB9cmV0dXJuITF9KGwsZSxuLHQscikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEluKGUsciksNCZuJiYtMTxEbi5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9YmwobCk7aWYobnVsbCE9PWEmJlNuKGEpLG51bGw9PT0oYT1YbihlLG4sdCxyKSkmJlFyKGUsbixyLFluLHQpLGE9PT1sKWJyZWFrO2w9YX1udWxsIT09bCYmci5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIFFyKGUsbixyLG51bGwsdCl9fXZhciBZbj1udWxsO2Z1bmN0aW9uIFhuKGUsbix0LHIpe2lmKFluPW51bGwsbnVsbCE9PShlPXlsKGU9d2UocikpKSlpZihudWxsPT09KG49V2UoZSkpKWU9bnVsbDtlbHNlIGlmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KGU9SGUobikpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT10KXtpZihuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09bi50YWc/bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIG4hPT1lJiYoZT1udWxsKTtyZXR1cm4gWW49ZSxudWxsfWZ1bmN0aW9uIEduKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6CmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goWmUoKSl7Y2FzZSBKZTpyZXR1cm4gMTtjYXNlIGVuOnJldHVybiA0O2Nhc2Ugbm46Y2FzZSB0bjpyZXR1cm4gMTY7Y2FzZSBybjpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgWm49bnVsbCxKbj1udWxsLGV0PW51bGw7ZnVuY3Rpb24gbnQoKXtpZihldClyZXR1cm4gZXQ7dmFyIGUsbix0PUpuLHI9dC5sZW5ndGgsbD0idmFsdWUiaW4gWm4/Wm4udmFsdWU6Wm4udGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmdFtlXT09PWxbZV07ZSsrKTt2YXIgdT1yLWU7Zm9yKG49MTtuPD11JiZ0W3Itbl09PT1sW2Etbl07bisrKTtyZXR1cm4gZXQ9bC5zbGljZShlLDE8bj8xLW46dm9pZCAwKX1mdW5jdGlvbiB0dChlKXt2YXIgbj1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PW4mJihlPTEzKTplPW4sMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gcnQoKXtyZXR1cm4hMH1mdW5jdGlvbiBsdCgpe3JldHVybiExfWZ1bmN0aW9uIGF0KGUpe2Z1bmN0aW9uIG4obix0LHIsbCxhKXtmb3IodmFyIHUgaW4gdGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG49ZVt1XSx0aGlzW3VdPW4/bihsKTpsW3VdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT9ydDpsdCx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWx0LHRoaXN9cmV0dXJuIE8obi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1ydCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1ydCl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpydH0pLG59dmFyIHV0LG90LGl0LHN0PXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LGN0PWF0KHN0KSxmdD1PKHt9LHN0LHt2aWV3OjAsZGV0YWlsOjB9KSxkdD1hdChmdCkscHQ9Tyh7fSxmdCx7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT1pdCYmKGl0JiYibW91c2Vtb3ZlIj09PWUudHlwZT8odXQ9ZS5zY3JlZW5YLWl0LnNjcmVlblgsb3Q9ZS5zY3JlZW5ZLWl0LnNjcmVlblkpOm90PXV0PTAsaXQ9ZSksdXQpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOm90fX0pLG10PWF0KHB0KSxodD1hdChPKHt9LHB0LHtkYXRhVHJhbnNmZXI6MH0pKSxndD1hdChPKHt9LGZ0LHtyZWxhdGVkVGFyZ2V0OjB9KSksdnQ9YXQoTyh7fSxzdCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHl0PU8oe30sc3Qse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSksYnQ9YXQoeXQpLGt0PWF0KE8oe30sc3Qse2RhdGE6MH0pKSx3dD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLApVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LFN0PXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0seHQ9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBFdChlKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiBuLmdldE1vZGlmaWVyU3RhdGU/bi5nZXRNb2RpZmllclN0YXRlKGUpOiEhKGU9eHRbZV0pJiYhIW5bZV19ZnVuY3Rpb24gQ3QoKXtyZXR1cm4gRXR9dmFyIHp0PU8oe30sZnQse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIG49d3RbZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PW4pcmV0dXJuIG59cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPXR0KGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP1N0W2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSxOdD1hdCh6dCksX3Q9YXQoTyh7fSxwdCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSksUHQ9YXQoTyh7fSxmdCx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOkN0fSkpLFR0PWF0KE8oe30sc3Qse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLEx0PU8oe30scHQse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxNdD1hdChMdCksRnQ9WzksMTMsMjcsMzJdLFJ0PWMmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxEdD1udWxsO2MmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihEdD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBJdD1jJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIUR0LE90PWMmJighUnR8fER0JiY4PER0JiYxMT49RHQpLFV0PVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLFZ0PSExO2Z1bmN0aW9uIEF0KGUsbil7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybi0xIT09RnQuaW5kZXhPZihuLmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PW4ua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgV3Q9ITE7dmFyIEh0PXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBRdChlKXt2YXIgbj1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PW4/ISFIdFtlLnR5cGVdOiJ0ZXh0YXJlYSI9PT1ufWZ1bmN0aW9uIGp0KGUsbix0LHIpe3plKHIpLDA8KG49JHIobiwib25DaGFuZ2UiKSkubGVuZ3RoJiYodD1uZXcgY3QoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLHQsciksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpufSkpfXZhciAkdD1udWxsLHF0PW51bGw7ZnVuY3Rpb24gS3QoZSl7VXIoZSwwKX1mdW5jdGlvbiBZdChlKXtpZihxKGtsKGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBYdChlLG4pe2lmKCJjaGFuZ2UiPT09ZSlyZXR1cm4gbn12YXIgR3Q9ITE7aWYoYyl7dmFyIFp0O2lmKGMpe3ZhciBKdD0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighSnQpe3ZhciBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlci5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksSnQ9ImZ1bmN0aW9uIj09dHlwZW9mIGVyLm9uaW5wdXR9WnQ9SnQKfWVsc2UgWnQ9ITE7R3Q9WnQmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gbnIoKXskdCYmKCR0LmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikscXQ9JHQ9bnVsbCl9ZnVuY3Rpb24gdHIoZSl7aWYoInZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZZdChxdCkpe3ZhciBuPVtdO2p0KG4scXQsZSx3ZShlKSksTGUoS3Qsbil9fWZ1bmN0aW9uIHJyKGUsbix0KXsiZm9jdXNpbiI9PT1lPyhucigpLHF0PXQsKCR0PW4pLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikpOiJmb2N1c291dCI9PT1lJiZucigpfWZ1bmN0aW9uIGxyKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIFl0KHF0KX1mdW5jdGlvbiBhcihlLG4pe2lmKCJjbGljayI9PT1lKXJldHVybiBZdChuKX1mdW5jdGlvbiB1cihlLG4pe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIFl0KG4pfXZhciBvcj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLG4pe3JldHVybiBlPT09biYmKDAhPT1lfHwxL2U9PTEvbil8fGUhPWUmJm4hPW59O2Z1bmN0aW9uIGlyKGUsbil7aWYob3IoZSxuKSlyZXR1cm4hMDtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIG58fG51bGw9PT1uKXJldHVybiExO3ZhciB0PU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXMobik7aWYodC5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO2lmKCFmLmNhbGwobixsKXx8IW9yKGVbbF0sbltsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gc3IoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIGNyKGUsbil7dmFyIHQscj1zcihlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYodD1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PW4mJnQ+PW4pcmV0dXJue25vZGU6cixvZmZzZXQ6bi1lfTtlPXR9ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1zcihyKX19ZnVuY3Rpb24gZnIoZSxuKXtyZXR1cm4hKCFlfHwhbikmJihlPT09bnx8KCFlfHwzIT09ZS5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9mcihlLG4ucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyhuKTohIWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obikpKSl9ZnVuY3Rpb24gZHIoKXtmb3IodmFyIGU9d2luZG93LG49SygpO24gaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciB0PSJzdHJpbmciPT10eXBlb2Ygbi5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWZ9Y2F0Y2goZSl7dD0hMX1pZighdClicmVhaztuPUsoKGU9bi5jb250ZW50V2luZG93KS5kb2N1bWVudCl9cmV0dXJuIG59ZnVuY3Rpb24gcHIoZSl7dmFyIG49ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBuJiYoImlucHV0Ij09PW4mJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09bnx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfWZ1bmN0aW9uIG1yKGUpe3ZhciBuPWRyKCksdD1lLmZvY3VzZWRFbGVtLHI9ZS5zZWxlY3Rpb25SYW5nZTtpZihuIT09dCYmdCYmdC5vd25lckRvY3VtZW50JiZmcih0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQpKXtpZihudWxsIT09ciYmcHIodCkpaWYobj1yLnN0YXJ0LHZvaWQgMD09PShlPXIuZW5kKSYmKGU9biksInNlbGVjdGlvblN0YXJ0ImluIHQpdC5zZWxlY3Rpb25TdGFydD1uLHQuc2VsZWN0aW9uRW5kPU1hdGgubWluKGUsdC52YWx1ZS5sZW5ndGgpO2Vsc2UgaWYoKGU9KG49dC5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKXtlPWUuZ2V0U2VsZWN0aW9uKCk7dmFyIGw9dC50ZXh0Q29udGVudC5sZW5ndGgsYT1NYXRoLm1pbihyLnN0YXJ0LGwpO3I9dm9pZCAwPT09ci5lbmQ/YTpNYXRoLm1pbihyLmVuZCxsKSwhZS5leHRlbmQmJmE+ciYmKGw9cixyPWEsYT1sKSxsPWNyKHQsYSk7dmFyIHU9Y3IodCxyKTtsJiZ1JiYoMSE9PWUucmFuZ2VDb3VudHx8ZS5hbmNob3JOb2RlIT09bC5ub2RlfHxlLmFuY2hvck9mZnNldCE9PWwub2Zmc2V0fHxlLmZvY3VzTm9kZSE9PXUubm9kZXx8ZS5mb2N1c09mZnNldCE9PXUub2Zmc2V0KSYmKChuPW4uY3JlYXRlUmFuZ2UoKSkuc2V0U3RhcnQobC5ub2RlLGwub2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGE+cj8oZS5hZGRSYW5nZShuKSxlLmV4dGVuZCh1Lm5vZGUsdS5vZmZzZXQpKToobi5zZXRFbmQodS5ub2RlLHUub2Zmc2V0KSxlLmFkZFJhbmdlKG4pKSl9Zm9yKG49W10sZT10O2U9ZS5wYXJlbnROb2RlOykxPT09ZS5ub2RlVHlwZSYmbi5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzJiZ0LmZvY3VzKCksdD0wO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19dmFyIGhyPWMmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZ3I9bnVsbCx2cj1udWxsLHlyPW51bGwsYnI9ITE7ZnVuY3Rpb24ga3IoZSxuLHQpe3ZhciByPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O2JyfHxudWxsPT1ncnx8Z3IhPT1LKHIpfHwoInNlbGVjdGlvblN0YXJ0ImluKHI9Z3IpJiZwcihyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZAp9OnI9e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0seXImJmlyKHlyLHIpfHwoeXI9ciwwPChyPSRyKHZyLCJvblNlbGVjdCIpKS5sZW5ndGgmJihuPW5ldyBjdCgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsbix0KSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnJ9KSxuLnRhcmdldD1ncikpKX1mdW5jdGlvbiB3cihlLG4pe3ZhciB0PXt9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09bi50b0xvd2VyQ2FzZSgpLHRbIldlYmtpdCIrZV09IndlYmtpdCIrbix0WyJNb3oiK2VdPSJtb3oiK24sdH12YXIgU3I9e2FuaW1hdGlvbmVuZDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOndyKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9uZW5kOndyKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx4cj17fSxFcj17fTtmdW5jdGlvbiBDcihlKXtpZih4cltlXSlyZXR1cm4geHJbZV07aWYoIVNyW2VdKXJldHVybiBlO3ZhciBuLHQ9U3JbZV07Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIEVyKXJldHVybiB4cltlXT10W25dO3JldHVybiBlfWMmJihFcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIFNyLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBTci50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciB6cj1DcigiYW5pbWF0aW9uZW5kIiksTnI9Q3IoImFuaW1hdGlvbml0ZXJhdGlvbiIpLF9yPUNyKCJhbmltYXRpb25zdGFydCIpLFByPUNyKCJ0cmFuc2l0aW9uZW5kIiksVHI9bmV3IE1hcCxMcj0iYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gTXIoZSxuKXtUci5zZXQoZSxuKSxpKG4sW2VdKX1mb3IodmFyIEZyPTA7RnI8THIubGVuZ3RoO0ZyKyspe3ZhciBScj1McltGcl07TXIoUnIudG9Mb3dlckNhc2UoKSwib24iKyhSclswXS50b1VwcGVyQ2FzZSgpK1JyLnNsaWNlKDEpKSl9TXIoenIsIm9uQW5pbWF0aW9uRW5kIiksTXIoTnIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIiksTXIoX3IsIm9uQW5pbWF0aW9uU3RhcnQiKSxNcigiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIiksTXIoImZvY3VzaW4iLCJvbkZvY3VzIiksTXIoImZvY3Vzb3V0Iiwib25CbHVyIiksTXIoUHIsIm9uVHJhbnNpdGlvbkVuZCIpLHMoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxzKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSkscygib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHMoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxpKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxpKCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksaSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksaSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpCjt2YXIgRHI9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLElyPW5ldyBTZXQoImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoRHIpKTtmdW5jdGlvbiBPcihlLG4sdCl7dmFyIHI9ZS50eXBlfHwidW5rbm93bi1ldmVudCI7ZS5jdXJyZW50VGFyZ2V0PXQsZnVuY3Rpb24oZSxuLHQscixsLHUsbyxpLHMpe2lmKEJlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxJZSl7aWYoIUllKXRocm93IEVycm9yKGEoMTk4KSk7dmFyIGM9T2U7SWU9ITEsT2U9bnVsbCxVZXx8KFVlPSEwLFZlPWMpfX0ocixuLHZvaWQgMCxlKSxlLmN1cnJlbnRUYXJnZXQ9bnVsbH1mdW5jdGlvbiBVcihlLG4pe249ISEoNCZuKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XSxsPXIuZXZlbnQ7cj1yLmxpc3RlbmVycztlOnt2YXIgYT12b2lkIDA7aWYobilmb3IodmFyIHU9ci5sZW5ndGgtMTswPD11O3UtLSl7dmFyIG89clt1XSxpPW8uaW5zdGFuY2Uscz1vLmN1cnJlbnRUYXJnZXQ7aWYobz1vLmxpc3RlbmVyLGkhPT1hJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtPcihsLG8scyksYT1pfWVsc2UgZm9yKHU9MDt1PHIubGVuZ3RoO3UrKyl7aWYoaT0obz1yW3VdKS5pbnN0YW5jZSxzPW8uY3VycmVudFRhcmdldCxvPW8ubGlzdGVuZXIsaSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO09yKGwsbyxzKSxhPWl9fX1pZihVZSl0aHJvdyBlPVZlLFVlPSExLFZlPW51bGwsZX1mdW5jdGlvbiBWcihlLG4pe3ZhciB0PW5baGxdO3ZvaWQgMD09PXQmJih0PW5baGxdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjt0LmhhcyhyKXx8KEhyKG4sZSwyLCExKSx0LmFkZChyKSl9ZnVuY3Rpb24gQXIoZSxuLHQpe3ZhciByPTA7biYmKHJ8PTQpLEhyKHQsZSxyLG4pfXZhciBCcj0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBXcihlKXtpZighZVtCcl0pe2VbQnJdPSEwLHUuZm9yRWFjaCgoZnVuY3Rpb24obil7InNlbGVjdGlvbmNoYW5nZSIhPT1uJiYoSXIuaGFzKG4pfHxBcihuLCExLGUpLEFyKG4sITAsZSkpfSkpO3ZhciBuPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O251bGw9PT1ufHxuW0JyXXx8KG5bQnJdPSEwLEFyKCJzZWxlY3Rpb25jaGFuZ2UiLCExLG4pKX19ZnVuY3Rpb24gSHIoZSxuLHQscil7c3dpdGNoKEduKG4pKXtjYXNlIDE6dmFyIGw9JG47YnJlYWs7Y2FzZSA0Omw9cW47YnJlYWs7ZGVmYXVsdDpsPUtufXQ9bC5iaW5kKG51bGwsbix0LGUpLGw9dm9pZCAwLCFGZXx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1uJiYid2hlZWwiIT09bnx8KGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIobix0LHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcihuLHQsITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKG4sdCx7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKG4sdCwhMSl9ZnVuY3Rpb24gUXIoZSxuLHQscixsKXt2YXIgYT1yO2lmKCEoMSZufHwyJm58fG51bGw9PT1yKSllOmZvcig7Oyl7aWYobnVsbD09PXIpcmV0dXJuO3ZhciB1PXIudGFnO2lmKDM9PT11fHw0PT09dSl7dmFyIG89ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihvPT09bHx8OD09PW8ubm9kZVR5cGUmJm8ucGFyZW50Tm9kZT09PWwpYnJlYWs7aWYoND09PXUpZm9yKHU9ci5yZXR1cm47bnVsbCE9PXU7KXt2YXIgaT11LnRhZztpZigoMz09PWl8fDQ9PT1pKSYmKChpPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pPT09bHx8OD09PWkubm9kZVR5cGUmJmkucGFyZW50Tm9kZT09PWwpKXJldHVybjt1PXUucmV0dXJufWZvcig7bnVsbCE9PW87KXtpZihudWxsPT09KHU9eWwobykpKXJldHVybjtpZig1PT09KGk9dS50YWcpfHw2PT09aSl7cj1hPXU7Y29udGludWUgZX1vPW8ucGFyZW50Tm9kZX19cj1yLnJldHVybn1MZSgoZnVuY3Rpb24oKXt2YXIgcj1hLGw9d2UodCksdT1bXTtlOnt2YXIgbz1Uci5nZXQoZSk7aWYodm9pZCAwIT09byl7dmFyIGk9Y3Qscz1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZigwPT09dHQodCkpYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmk9TnQ7YnJlYWs7Y2FzZSJmb2N1c2luIjpzPSJmb2N1cyIsaT1ndDticmVhaztjYXNlImZvY3Vzb3V0IjpzPSJibHVyIixpPWd0O2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmk9Z3Q7YnJlYWs7Y2FzZSJjbGljayI6aWYoMj09PXQuYnV0dG9uKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51IjppPW10O2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmk9aHQ7YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6aT1QdDticmVhaztjYXNlIHpyOmNhc2UgTnI6Y2FzZSBfcjppPXZ0O2JyZWFrO2Nhc2UgUHI6aT1UdDticmVhaztjYXNlInNjcm9sbCI6aT1kdDticmVhaztjYXNlIndoZWVsIjppPU10O2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOmk9YnQ7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOgpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmk9X3R9dmFyIGM9ISEoNCZuKSxmPSFjJiYic2Nyb2xsIj09PWUsZD1jP251bGwhPT1vP28rIkNhcHR1cmUiOm51bGw6bztjPVtdO2Zvcih2YXIgcCxtPXI7bnVsbCE9PW07KXt2YXIgaD0ocD1tKS5zdGF0ZU5vZGU7aWYoNT09PXAudGFnJiZudWxsIT09aCYmKHA9aCxudWxsIT09ZCYmKG51bGwhPShoPU1lKG0sZCkpJiZjLnB1c2goanIobSxoLHApKSkpLGYpYnJlYWs7bT1tLnJldHVybn0wPGMubGVuZ3RoJiYobz1uZXcgaShvLHMsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6byxsaXN0ZW5lcnM6Y30pKX19aWYoISg3Jm4pKXtpZihpPSJtb3VzZW91dCI9PT1lfHwicG9pbnRlcm91dCI9PT1lLCghKG89Im1vdXNlb3ZlciI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSl8fHQ9PT1rZXx8IShzPXQucmVsYXRlZFRhcmdldHx8dC5mcm9tRWxlbWVudCl8fCF5bChzKSYmIXNbbWxdKSYmKGl8fG8pJiYobz1sLndpbmRvdz09PWw/bDoobz1sLm93bmVyRG9jdW1lbnQpP28uZGVmYXVsdFZpZXd8fG8ucGFyZW50V2luZG93OndpbmRvdyxpPyhpPXIsbnVsbCE9PShzPShzPXQucmVsYXRlZFRhcmdldHx8dC50b0VsZW1lbnQpP3lsKHMpOm51bGwpJiYocyE9PShmPVdlKHMpKXx8NSE9PXMudGFnJiY2IT09cy50YWcpJiYocz1udWxsKSk6KGk9bnVsbCxzPXIpLGkhPT1zKSl7aWYoYz1tdCxoPSJvbk1vdXNlTGVhdmUiLGQ9Im9uTW91c2VFbnRlciIsbT0ibW91c2UiLCJwb2ludGVyb3V0IiE9PWUmJiJwb2ludGVyb3ZlciIhPT1lfHwoYz1fdCxoPSJvblBvaW50ZXJMZWF2ZSIsZD0ib25Qb2ludGVyRW50ZXIiLG09InBvaW50ZXIiKSxmPW51bGw9PWk/bzprbChpKSxwPW51bGw9PXM/bzprbChzKSwobz1uZXcgYyhoLG0rImxlYXZlIixpLHQsbCkpLnRhcmdldD1mLG8ucmVsYXRlZFRhcmdldD1wLGg9bnVsbCx5bChsKT09PXImJigoYz1uZXcgYyhkLG0rImVudGVyIixzLHQsbCkpLnRhcmdldD1wLGMucmVsYXRlZFRhcmdldD1mLGg9YyksZj1oLGkmJnMpZTp7Zm9yKGQ9cyxtPTAscD1jPWk7cDtwPXFyKHApKW0rKztmb3IocD0wLGg9ZDtoO2g9cXIoaCkpcCsrO2Zvcig7MDxtLXA7KWM9cXIoYyksbS0tO2Zvcig7MDxwLW07KWQ9cXIoZCkscC0tO2Zvcig7bS0tOyl7aWYoYz09PWR8fG51bGwhPT1kJiZjPT09ZC5hbHRlcm5hdGUpYnJlYWsgZTtjPXFyKGMpLGQ9cXIoZCl9Yz1udWxsfWVsc2UgYz1udWxsO251bGwhPT1pJiZLcih1LG8saSxjLCExKSxudWxsIT09cyYmbnVsbCE9PWYmJktyKHUsZixzLGMsITApfWlmKCJzZWxlY3QiPT09KGk9KG89cj9rbChyKTp3aW5kb3cpLm5vZGVOYW1lJiZvLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09aSYmImZpbGUiPT09by50eXBlKXZhciBnPVh0O2Vsc2UgaWYoUXQobykpaWYoR3QpZz11cjtlbHNle2c9bHI7dmFyIHY9cnJ9ZWxzZShpPW8ubm9kZU5hbWUpJiYiaW5wdXQiPT09aS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW8udHlwZXx8InJhZGlvIj09PW8udHlwZSkmJihnPWFyKTtzd2l0Y2goZyYmKGc9ZyhlLHIpKT9qdCh1LGcsdCxsKToodiYmdihlLG8sciksImZvY3Vzb3V0Ij09PWUmJih2PW8uX3dyYXBwZXJTdGF0ZSkmJnYuY29udHJvbGxlZCYmIm51bWJlciI9PT1vLnR5cGUmJmVlKG8sIm51bWJlciIsby52YWx1ZSkpLHY9cj9rbChyKTp3aW5kb3csZSl7Y2FzZSJmb2N1c2luIjooUXQodil8fCJ0cnVlIj09PXYuY29udGVudEVkaXRhYmxlKSYmKGdyPXYsdnI9cix5cj1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp5cj12cj1ncj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpicj0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6YnI9ITEsa3IodSx0LGwpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihocilicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmtyKHUsdCxsKX12YXIgeTtpZihSdCllOntzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgYj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBlO2Nhc2UiY29tcG9zaXRpb25lbmQiOmI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Yj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgZX1iPXZvaWQgMH1lbHNlIFd0P0F0KGUsdCkmJihiPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZSYmMjI5PT09dC5rZXlDb2RlJiYoYj0ib25Db21wb3NpdGlvblN0YXJ0Iik7YiYmKE90JiYia28iIT09dC5sb2NhbGUmJihXdHx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1iPyJvbkNvbXBvc2l0aW9uRW5kIj09PWImJld0JiYoeT1udCgpKTooSm49InZhbHVlImluKFpuPWwpP1puLnZhbHVlOlpuLnRleHRDb250ZW50LFd0PSEwKSksMDwodj0kcihyLGIpKS5sZW5ndGgmJihiPW5ldyBrdChiLGUsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk/Yi5kYXRhPXk6bnVsbCE9PSh5PUJ0KHQpKSYmKGIuZGF0YT15KSkpLCh5PUl0P2Z1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBCdChuKTtjYXNlImtleXByZXNzIjpyZXR1cm4gMzIhPT1uLndoaWNoP251bGw6KFZ0PSEwLFV0KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuKGU9bi5kYXRhKT09PVV0JiZWdD9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsdCk6ZnVuY3Rpb24oZSxuKXtpZihXdClyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IVJ0JiZBdChlLG4pPyhlPW50KCksZXQ9Sm49Wm49bnVsbCxXdD0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEobi5jdHJsS2V5fHxuLmFsdEtleXx8bi5tZXRhS2V5KXx8bi5jdHJsS2V5JiZuLmFsdEtleSl7aWYobi5jaGFyJiYxPG4uY2hhci5sZW5ndGgpcmV0dXJuIG4uY2hhcgo7aWYobi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShuLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gT3QmJiJrbyIhPT1uLmxvY2FsZT9udWxsOm4uZGF0YX19KGUsdCkpJiYoMDwocj0kcihyLCJvbkJlZm9yZUlucHV0IikpLmxlbmd0aCYmKGw9bmV3IGt0KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdCxsKSx1LnB1c2goe2V2ZW50OmwsbGlzdGVuZXJzOnJ9KSxsLmRhdGE9eSkpfVVyKHUsbil9KSl9ZnVuY3Rpb24ganIoZSxuLHQpe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOm4sY3VycmVudFRhcmdldDp0fX1mdW5jdGlvbiAkcihlLG4pe2Zvcih2YXIgdD1uKyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlOzU9PT1sLnRhZyYmbnVsbCE9PWEmJihsPWEsbnVsbCE9KGE9TWUoZSx0KSkmJnIudW5zaGlmdChqcihlLGEsbCkpLG51bGwhPShhPU1lKGUsbikpJiZyLnB1c2goanIoZSxhLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBxcihlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtkb3tlPWUucmV0dXJufXdoaWxlKGUmJjUhPT1lLnRhZyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gS3IoZSxuLHQscixsKXtmb3IodmFyIGE9bi5fcmVhY3ROYW1lLHU9W107bnVsbCE9PXQmJnQhPT1yOyl7dmFyIG89dCxpPW8uYWx0ZXJuYXRlLHM9by5zdGF0ZU5vZGU7aWYobnVsbCE9PWkmJmk9PT1yKWJyZWFrOzU9PT1vLnRhZyYmbnVsbCE9PXMmJihvPXMsbD9udWxsIT0oaT1NZSh0LGEpKSYmdS51bnNoaWZ0KGpyKHQsaSxvKSk6bHx8bnVsbCE9KGk9TWUodCxhKSkmJnUucHVzaChqcih0LGksbykpKSx0PXQucmV0dXJufTAhPT11Lmxlbmd0aCYmZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp1fSl9dmFyIFlyPS9cclxuPy9nLFhyPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gR3IoZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoWXIsIlxuIikucmVwbGFjZShYciwiIil9ZnVuY3Rpb24gWnIoZSxuLHQpe2lmKG49R3IobiksR3IoZSkhPT1uJiZ0KXRocm93IEVycm9yKGEoNDI1KSl9ZnVuY3Rpb24gSnIoKXt9dmFyIGVsPW51bGwsbmw9bnVsbDtmdW5jdGlvbiB0bChlLG4pe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiBuLmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIG4uY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBybD0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxsbD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsYWw9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsdWw9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PWFsP2Z1bmN0aW9uKGUpe3JldHVybiBhbC5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2gob2wpfTpybDtmdW5jdGlvbiBvbChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3Rocm93IGV9KSl9ZnVuY3Rpb24gaWwoZSxuKXt2YXIgdD1uLHI9MDtkb3t2YXIgbD10Lm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQodCksbCYmOD09PWwubm9kZVR5cGUpaWYoIi8kIj09PSh0PWwuZGF0YSkpe2lmKDA9PT1yKXJldHVybiBlLnJlbW92ZUNoaWxkKGwpLHZvaWQgSG4obik7ci0tfWVsc2UiJCIhPT10JiYiJD8iIT09dCYmIiQhIiE9PXR8fHIrKzt0PWx9d2hpbGUodCk7SG4obil9ZnVuY3Rpb24gc2woZSl7Zm9yKDtudWxsIT1lO2U9ZS5uZXh0U2libGluZyl7dmFyIG49ZS5ub2RlVHlwZTtpZigxPT09bnx8Mz09PW4pYnJlYWs7aWYoOD09PW4pe2lmKCIkIj09PShuPWUuZGF0YSl8fCIkISI9PT1ufHwiJD8iPT09bilicmVhaztpZigiLyQiPT09bilyZXR1cm4gbnVsbH19cmV0dXJuIGV9ZnVuY3Rpb24gY2woZSl7ZT1lLnByZXZpb3VzU2libGluZztmb3IodmFyIG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiJCI9PT10fHwiJCEiPT09dHx8IiQ/Ij09PXQpe2lmKDA9PT1uKXJldHVybiBlO24tLX1lbHNlIi8kIj09PXQmJm4rK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBmbD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxkbD0iX19yZWFjdEZpYmVyJCIrZmwscGw9Il9fcmVhY3RQcm9wcyQiK2ZsLG1sPSJfX3JlYWN0Q29udGFpbmVyJCIrZmwsaGw9Il9fcmVhY3RFdmVudHMkIitmbCxnbD0iX19yZWFjdExpc3RlbmVycyQiK2ZsLHZsPSJfX3JlYWN0SGFuZGxlcyQiK2ZsO2Z1bmN0aW9uIHlsKGUpe3ZhciBuPWVbZGxdO2lmKG4pcmV0dXJuIG47Zm9yKHZhciB0PWUucGFyZW50Tm9kZTt0Oyl7aWYobj10W21sXXx8dFtkbF0pe2lmKHQ9bi5hbHRlcm5hdGUsbnVsbCE9PW4uY2hpbGR8fG51bGwhPT10JiZudWxsIT09dC5jaGlsZClmb3IoZT1jbChlKTtudWxsIT09ZTspe2lmKHQ9ZVtkbF0pcmV0dXJuIHQ7ZT1jbChlKX1yZXR1cm4gbn10PShlPXQpLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYmwoZSl7cmV0dXJuIShlPWVbZGxdfHxlW21sXSl8fDUhPT1lLnRhZyYmNiE9PWUudGFnJiYxMyE9PWUudGFnJiYzIT09ZS50YWc/bnVsbDplfWZ1bmN0aW9uIGtsKGUpe2lmKDU9PT1lLnRhZ3x8Nj09PWUudGFnKXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihhKDMzKSl9ZnVuY3Rpb24gd2woZSl7cmV0dXJuIGVbcGxdfHxudWxsfXZhciBTbD1bXSx4bD0tMTtmdW5jdGlvbiBFbChlKXtyZXR1cm57Y3VycmVudDplfX1mdW5jdGlvbiBDbChlKXswPnhsfHwoZS5jdXJyZW50PVNsW3hsXSxTbFt4bF09bnVsbCx4bC0tKX1mdW5jdGlvbiB6bChlLG4pe3hsKyssU2xbeGxdPWUuY3VycmVudCxlLmN1cnJlbnQ9bn0KdmFyIE5sPXt9LF9sPUVsKE5sKSxQbD1FbCghMSksVGw9Tmw7ZnVuY3Rpb24gTGwoZSxuKXt2YXIgdD1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCF0KXJldHVybiBObDt2YXIgcj1lLnN0YXRlTm9kZTtpZihyJiZyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT1uKXJldHVybiByLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBsLGE9e307Zm9yKGwgaW4gdClhW2xdPW5bbF07cmV0dXJuIHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1uLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksYX1mdW5jdGlvbiBNbChlKXtyZXR1cm4gbnVsbCE9KGU9ZS5jaGlsZENvbnRleHRUeXBlcyl9ZnVuY3Rpb24gRmwoKXtDbChQbCksQ2woX2wpfWZ1bmN0aW9uIFJsKGUsbix0KXtpZihfbC5jdXJyZW50IT09TmwpdGhyb3cgRXJyb3IoYSgxNjgpKTt6bChfbCxuKSx6bChQbCx0KX1mdW5jdGlvbiBEbChlLG4sdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYobj1uLmNoaWxkQ29udGV4dFR5cGVzLCJmdW5jdGlvbiIhPXR5cGVvZiByLmdldENoaWxkQ29udGV4dClyZXR1cm4gdDtmb3IodmFyIGwgaW4gcj1yLmdldENoaWxkQ29udGV4dCgpKWlmKCEobCBpbiBuKSl0aHJvdyBFcnJvcihhKDEwOCxIKGUpfHwiVW5rbm93biIsbCkpO3JldHVybiBPKHt9LHQscil9ZnVuY3Rpb24gSWwoZSl7cmV0dXJuIGU9KGU9ZS5zdGF0ZU5vZGUpJiZlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxObCxUbD1fbC5jdXJyZW50LHpsKF9sLGUpLHpsKFBsLFBsLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIE9sKGUsbix0KXt2YXIgcj1lLnN0YXRlTm9kZTtpZighcil0aHJvdyBFcnJvcihhKDE2OSkpO3Q/KGU9RGwoZSxuLFRsKSxyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0PWUsQ2woUGwpLENsKF9sKSx6bChfbCxlKSk6Q2woUGwpLHpsKFBsLHQpfXZhciBVbD1udWxsLFZsPSExLEFsPSExO2Z1bmN0aW9uIEJsKGUpe251bGw9PT1VbD9VbD1bZV06VWwucHVzaChlKX1mdW5jdGlvbiBXbCgpe2lmKCFBbCYmbnVsbCE9PVVsKXtBbD0hMDt2YXIgZT0wLG49a247dHJ5e3ZhciB0PVVsO2Zvcihrbj0xO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO2Rve3I9cighMCl9d2hpbGUobnVsbCE9PXIpfVVsPW51bGwsVmw9ITF9Y2F0Y2gobil7dGhyb3cgbnVsbCE9PVVsJiYoVWw9VWwuc2xpY2UoZSsxKSkscWUoSmUsV2wpLG59ZmluYWxseXtrbj1uLEFsPSExfX1yZXR1cm4gbnVsbH12YXIgSGw9W10sUWw9MCxqbD1udWxsLCRsPTAscWw9W10sS2w9MCxZbD1udWxsLFhsPTEsR2w9IiI7ZnVuY3Rpb24gWmwoZSxuKXtIbFtRbCsrXT0kbCxIbFtRbCsrXT1qbCxqbD1lLCRsPW59ZnVuY3Rpb24gSmwoZSxuLHQpe3FsW0tsKytdPVhsLHFsW0tsKytdPUdsLHFsW0tsKytdPVlsLFlsPWU7dmFyIHI9WGw7ZT1HbDt2YXIgbD0zMi11bihyKS0xO3ImPX4oMTw8bCksdCs9MTt2YXIgYT0zMi11bihuKStsO2lmKDMwPGEpe3ZhciB1PWwtbCU1O2E9KHImKDE8PHUpLTEpLnRvU3RyaW5nKDMyKSxyPj49dSxsLT11LFhsPTE8PDMyLXVuKG4pK2x8dDw8bHxyLEdsPWErZX1lbHNlIFhsPTE8PGF8dDw8bHxyLEdsPWV9ZnVuY3Rpb24gZWEoZSl7bnVsbCE9PWUucmV0dXJuJiYoWmwoZSwxKSxKbChlLDEsMCkpfWZ1bmN0aW9uIG5hKGUpe2Zvcig7ZT09PWpsOylqbD1IbFstLVFsXSxIbFtRbF09bnVsbCwkbD1IbFstLVFsXSxIbFtRbF09bnVsbDtmb3IoO2U9PT1ZbDspWWw9cWxbLS1LbF0scWxbS2xdPW51bGwsR2w9cWxbLS1LbF0scWxbS2xdPW51bGwsWGw9cWxbLS1LbF0scWxbS2xdPW51bGx9dmFyIHRhPW51bGwscmE9bnVsbCxsYT0hMSxhYT1udWxsO2Z1bmN0aW9uIHVhKGUsbil7dmFyIHQ9THMoNSxudWxsLG51bGwsMCk7dC5lbGVtZW50VHlwZT0iREVMRVRFRCIsdC5zdGF0ZU5vZGU9bix0LnJldHVybj1lLG51bGw9PT0obj1lLmRlbGV0aW9ucyk/KGUuZGVsZXRpb25zPVt0XSxlLmZsYWdzfD0xNik6bi5wdXNoKHQpfWZ1bmN0aW9uIG9hKGUsbil7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHQ9ZS50eXBlO3JldHVybiBudWxsIT09KG49MSE9PW4ubm9kZVR5cGV8fHQudG9Mb3dlckNhc2UoKSE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOm4pJiYoZS5zdGF0ZU5vZGU9bix0YT1lLHJhPXNsKG4uZmlyc3RDaGlsZCksITApO2Nhc2UgNjpyZXR1cm4gbnVsbCE9PShuPSIiPT09ZS5wZW5kaW5nUHJvcHN8fDMhPT1uLm5vZGVUeXBlP251bGw6bikmJihlLnN0YXRlTm9kZT1uLHRhPWUscmE9bnVsbCwhMCk7Y2FzZSAxMzpyZXR1cm4gbnVsbCE9PShuPTghPT1uLm5vZGVUeXBlP251bGw6bikmJih0PW51bGwhPT1ZbD97aWQ6WGwsb3ZlcmZsb3c6R2x9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOm4sdHJlZUNvbnRleHQ6dCxyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sKHQ9THMoMTgsbnVsbCxudWxsLDApKS5zdGF0ZU5vZGU9bix0LnJldHVybj1lLGUuY2hpbGQ9dCx0YT1lLHJhPW51bGwsITApO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGlhKGUpe3JldHVybiEoISgxJmUubW9kZSl8fDEyOCZlLmZsYWdzKX1mdW5jdGlvbiBzYShlKXtpZihsYSl7dmFyIG49cmE7aWYobil7dmFyIHQ9bjtpZighb2EoZSxuKSl7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtuPXNsKHQubmV4dFNpYmxpbmcpO3ZhciByPXRhO24mJm9hKGUsbik/dWEocix0KTooZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsbGE9ITEsdGE9ZSl9fWVsc2V7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixsYT0hMSx0YT1lfX19ZnVuY3Rpb24gY2EoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWUmJjUhPT1lLnRhZyYmMyE9PWUudGFnJiYxMyE9PWUudGFnOyllPWUucmV0dXJuO3RhPWV9ZnVuY3Rpb24gZmEoZSl7aWYoZSE9PXRhKXJldHVybiExO2lmKCFsYSlyZXR1cm4gY2EoZSksbGE9ITAsITE7dmFyIG4KO2lmKChuPTMhPT1lLnRhZykmJiEobj01IT09ZS50YWcpJiYobj0iaGVhZCIhPT0obj1lLnR5cGUpJiYiYm9keSIhPT1uJiYhdGwoZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLG4mJihuPXJhKSl7aWYoaWEoZSkpdGhyb3cgZGEoKSxFcnJvcihhKDQxOCkpO2Zvcig7bjspdWEoZSxuKSxuPXNsKG4ubmV4dFNpYmxpbmcpfWlmKGNhKGUpLDEzPT09ZS50YWcpe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IoYSgzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiLyQiPT09dCl7aWYoMD09PW4pe3JhPXNsKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9bi0tfWVsc2UiJCIhPT10JiYiJCEiIT09dCYmIiQ/IiE9PXR8fG4rK31lPWUubmV4dFNpYmxpbmd9cmE9bnVsbH19ZWxzZSByYT10YT9zbChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBkYSgpe2Zvcih2YXIgZT1yYTtlOyllPXNsKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHBhKCl7cmE9dGE9bnVsbCxsYT0hMX1mdW5jdGlvbiBtYShlKXtudWxsPT09YWE/YWE9W2VdOmFhLnB1c2goZSl9dmFyIGhhPWsuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7ZnVuY3Rpb24gZ2EoZSxuKXtpZihlJiZlLmRlZmF1bHRQcm9wcyl7Zm9yKHZhciB0IGluIG49Tyh7fSxuKSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW5bdF0mJihuW3RdPWVbdF0pO3JldHVybiBufXJldHVybiBufXZhciB2YT1FbChudWxsKSx5YT1udWxsLGJhPW51bGwsa2E9bnVsbDtmdW5jdGlvbiB3YSgpe2thPWJhPXlhPW51bGx9ZnVuY3Rpb24gU2EoZSl7dmFyIG49dmEuY3VycmVudDtDbCh2YSksZS5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24geGEoZSxuLHQpe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJm4pIT09bj8oZS5jaGlsZExhbmVzfD1uLG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD1uKSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmbikhPT1uJiYoci5jaGlsZExhbmVzfD1uKSxlPT09dClicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBFYShlLG4pe3lhPWUsa2E9YmE9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJighIShlLmxhbmVzJm4pJiYoa289ITApLGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIENhKGUpe3ZhciBuPWUuX2N1cnJlbnRWYWx1ZTtpZihrYSE9PWUpaWYoZT17Y29udGV4dDplLG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1iYSl7aWYobnVsbD09PXlhKXRocm93IEVycm9yKGEoMzA4KSk7YmE9ZSx5YS5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmV9fWVsc2UgYmE9YmEubmV4dD1lO3JldHVybiBufXZhciB6YT1udWxsO2Z1bmN0aW9uIE5hKGUpe251bGw9PT16YT96YT1bZV06emEucHVzaChlKX1mdW5jdGlvbiBfYShlLG4sdCxyKXt2YXIgbD1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09bD8odC5uZXh0PXQsTmEobikpOih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxuLmludGVybGVhdmVkPXQsUGEoZSxyKX1mdW5jdGlvbiBQYShlLG4pe2UubGFuZXN8PW47dmFyIHQ9ZS5hbHRlcm5hdGU7Zm9yKG51bGwhPT10JiYodC5sYW5lc3w9biksdD1lLGU9ZS5yZXR1cm47bnVsbCE9PWU7KWUuY2hpbGRMYW5lc3w9bixudWxsIT09KHQ9ZS5hbHRlcm5hdGUpJiYodC5jaGlsZExhbmVzfD1uKSx0PWUsZT1lLnJldHVybjtyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlOm51bGx9dmFyIFRhPSExO2Z1bmN0aW9uIExhKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gTWEoZSxuKXtlPWUudXBkYXRlUXVldWUsbi51cGRhdGVRdWV1ZT09PWUmJihuLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGVmZmVjdHM6ZS5lZmZlY3RzfSl9ZnVuY3Rpb24gRmEoZSxuKXtyZXR1cm57ZXZlbnRUaW1lOmUsbGFuZTpuLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gUmEoZSxuLHQpe3ZhciByPWUudXBkYXRlUXVldWU7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYocj1yLnNoYXJlZCwyJl9pKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP24ubmV4dD1uOihuLm5leHQ9bC5uZXh0LGwubmV4dD1uKSxyLnBlbmRpbmc9bixQYShlLHQpfXJldHVybiBudWxsPT09KGw9ci5pbnRlcmxlYXZlZCk/KG4ubmV4dD1uLE5hKHIpKToobi5uZXh0PWwubmV4dCxsLm5leHQ9biksci5pbnRlcmxlYXZlZD1uLFBhKGUsdCl9ZnVuY3Rpb24gRGEoZSxuLHQpe2lmKG51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKSYmKG49bi5zaGFyZWQsNDE5NDI0MCZ0KSl7dmFyIHI9bi5sYW5lczt0fD1yJj1lLnBlbmRpbmdMYW5lcyxuLmxhbmVzPXQsYm4oZSx0KX19ZnVuY3Rpb24gSWEoZSxuKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJnQ9PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PSh0PXQuZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIHU9e2V2ZW50VGltZTp0LmV2ZW50VGltZSxsYW5lOnQubGFuZSx0YWc6dC50YWcscGF5bG9hZDp0LnBheWxvYWQsY2FsbGJhY2s6dC5jYWxsYmFjayxuZXh0Om51bGx9O251bGw9PT1hP2w9YT11OmE9YS5uZXh0PXUsdD10Lm5leHR9d2hpbGUobnVsbCE9PXQpO251bGw9PT1hP2w9YT1uOmE9YS5uZXh0PW59ZWxzZSBsPWE9bjtyZXR1cm4gdD17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsCnNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sdm9pZChlLnVwZGF0ZVF1ZXVlPXQpfW51bGw9PT0oZT10Lmxhc3RCYXNlVXBkYXRlKT90LmZpcnN0QmFzZVVwZGF0ZT1uOmUubmV4dD1uLHQubGFzdEJhc2VVcGRhdGU9bn1mdW5jdGlvbiBPYShlLG4sdCxyKXt2YXIgbD1lLnVwZGF0ZVF1ZXVlO1RhPSExO3ZhciBhPWwuZmlyc3RCYXNlVXBkYXRlLHU9bC5sYXN0QmFzZVVwZGF0ZSxvPWwuc2hhcmVkLnBlbmRpbmc7aWYobnVsbCE9PW8pe2wuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1vLHM9aS5uZXh0O2kubmV4dD1udWxsLG51bGw9PT11P2E9czp1Lm5leHQ9cyx1PWk7dmFyIGM9ZS5hbHRlcm5hdGU7bnVsbCE9PWMmJigobz0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT11JiYobnVsbD09PW8/Yy5maXJzdEJhc2VVcGRhdGU9czpvLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKHU9MCxjPXM9aT1udWxsLG89YTs7KXt2YXIgZD1vLmxhbmUscD1vLmV2ZW50VGltZTtpZigociZkKT09PWQpe251bGwhPT1jJiYoYz1jLm5leHQ9e2V2ZW50VGltZTpwLGxhbmU6MCx0YWc6by50YWcscGF5bG9hZDpvLnBheWxvYWQsY2FsbGJhY2s6by5jYWxsYmFjayxuZXh0Om51bGx9KTtlOnt2YXIgbT1lLGg9bztzd2l0Y2goZD1uLHA9dCxoLnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCkpe2Y9bS5jYWxsKHAsZixkKTticmVhayBlfWY9bTticmVhayBlO2Nhc2UgMzptLmZsYWdzPS02NTUzNyZtLmZsYWdzfDEyODtjYXNlIDA6aWYobnVsbD09KGQ9ImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKT9tLmNhbGwocCxmLGQpOm0pKWJyZWFrIGU7Zj1PKHt9LGYsZCk7YnJlYWsgZTtjYXNlIDI6VGE9ITB9fW51bGwhPT1vLmNhbGxiYWNrJiYwIT09by5sYW5lJiYoZS5mbGFnc3w9NjQsbnVsbD09PShkPWwuZWZmZWN0cyk/bC5lZmZlY3RzPVtvXTpkLnB1c2gobykpfWVsc2UgcD17ZXZlbnRUaW1lOnAsbGFuZTpkLHRhZzpvLnRhZyxwYXlsb2FkOm8ucGF5bG9hZCxjYWxsYmFjazpvLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PWM/KHM9Yz1wLGk9Zik6Yz1jLm5leHQ9cCx1fD1kO2lmKG51bGw9PT0obz1vLm5leHQpKXtpZihudWxsPT09KG89bC5zaGFyZWQucGVuZGluZykpYnJlYWs7bz0oZD1vKS5uZXh0LGQubmV4dD1udWxsLGwubGFzdEJhc2VVcGRhdGU9ZCxsLnNoYXJlZC5wZW5kaW5nPW51bGx9fWlmKG51bGw9PT1jJiYoaT1mKSxsLmJhc2VTdGF0ZT1pLGwuZmlyc3RCYXNlVXBkYXRlPXMsbC5sYXN0QmFzZVVwZGF0ZT1jLG51bGwhPT0obj1sLnNoYXJlZC5pbnRlcmxlYXZlZCkpe2w9bjtkb3t1fD1sLmxhbmUsbD1sLm5leHR9d2hpbGUobCE9PW4pfWVsc2UgbnVsbD09PWEmJihsLnNoYXJlZC5sYW5lcz0wKTtJaXw9dSxlLmxhbmVzPXUsZS5tZW1vaXplZFN0YXRlPWZ9fWZ1bmN0aW9uIFVhKGUsbix0KXtpZihlPW4uZWZmZWN0cyxuLmVmZmVjdHM9bnVsbCxudWxsIT09ZSlmb3Iobj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5jYWxsYmFjaztpZihudWxsIT09bCl7aWYoci5jYWxsYmFjaz1udWxsLHI9dCwiZnVuY3Rpb24iIT10eXBlb2YgbCl0aHJvdyBFcnJvcihhKDE5MSxsKSk7bC5jYWxsKHIpfX19dmFyIFZhPShuZXcgci5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gQWEoZSxuLHQscil7dD1udWxsPT0odD10KHIsbj1lLm1lbW9pemVkU3RhdGUpKT9uOk8oe30sbix0KSxlLm1lbW9pemVkU3RhdGU9dCwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPXQpfXZhciBCYT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbHMpJiZXZShlKT09PWV9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EucGF5bG9hZD1uLG51bGwhPXQmJihhLmNhbGxiYWNrPXQpLG51bGwhPT0obj1SYShlLGEsbCkpJiYodHMobixlLGwsciksRGEobixlLGwpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EudGFnPTEsYS5wYXlsb2FkPW4sbnVsbCE9dCYmKGEuY2FsbGJhY2s9dCksbnVsbCE9PShuPVJhKGUsYSxsKSkmJih0cyhuLGUsbCxyKSxEYShuLGUsbCkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciB0PWVzKCkscj1ucyhlKSxsPUZhKHQscik7bC50YWc9MixudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KG49UmEoZSxsLHIpKSYmKHRzKG4sZSxyLHQpLERhKG4sZSxyKSl9fTtmdW5jdGlvbiBXYShlLG4sdCxyLGwsYSx1KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSx1KTohbi5wcm90b3R5cGV8fCFuLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudHx8KCFpcih0LHIpfHwhaXIobCxhKSl9ZnVuY3Rpb24gSGEoZSxuLHQpe3ZhciByPSExLGw9TmwsYT1uLmNvbnRleHRUeXBlO3JldHVybiJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1DYShhKToobD1NbChuKT9UbDpfbC5jdXJyZW50LGE9KHI9bnVsbCE9KHI9bi5jb250ZXh0VHlwZXMpKT9MbChlLGwpOk5sKSxuPW5ldyBuKHQsYSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT1uLnN0YXRlJiZ2b2lkIDAhPT1uLnN0YXRlP24uc3RhdGU6bnVsbCxuLnVwZGF0ZXI9QmEsZS5zdGF0ZU5vZGU9bixuLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksbn1mdW5jdGlvbiBRYShlLG4sdCxyKXtlPW4uc3RhdGUsCiJmdW5jdGlvbiI9PXR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJm4uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh0LHIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHQsciksbi5zdGF0ZSE9PWUmJkJhLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpfWZ1bmN0aW9uIGphKGUsbix0LHIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucHJvcHM9dCxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxsLnJlZnM9VmEsTGEoZSk7dmFyIGE9bi5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2wuY29udGV4dD1DYShhKTooYT1NbChuKT9UbDpfbC5jdXJyZW50LGwuY29udGV4dD1MbChlLGEpKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YoYT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihBYShlLG4sYSx0KSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50fHwobj1sLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudFdpbGxNb3VudCYmbC5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxuIT09bC5zdGF0ZSYmQmEuZW5xdWV1ZVJlcGxhY2VTdGF0ZShsLGwuc3RhdGUsbnVsbCksT2EoZSx0LGwsciksbC5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50JiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gJGEoZSxuLHQpe2lmKG51bGwhPT0oZT10LnJlZikmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIGUpe2lmKHQuX293bmVyKXtpZih0PXQuX293bmVyKXtpZigxIT09dC50YWcpdGhyb3cgRXJyb3IoYSgzMDkpKTt2YXIgcj10LnN0YXRlTm9kZX1pZighcil0aHJvdyBFcnJvcihhKDE0NyxlKSk7dmFyIGw9cix1PSIiK2U7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09bi5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlZiYmbi5yZWYuX3N0cmluZ1JlZj09PXU/bi5yZWY6KG49ZnVuY3Rpb24oZSl7dmFyIG49bC5yZWZzO249PT1WYSYmKG49bC5yZWZzPXt9KSxudWxsPT09ZT9kZWxldGUgblt1XTpuW3VdPWV9LG4uX3N0cmluZ1JlZj11LG4pfWlmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcihhKDI4NCkpO2lmKCF0Ll9vd25lcil0aHJvdyBFcnJvcihhKDI5MCxlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcWEoZSxuKXt0aHJvdyBlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuKSxFcnJvcihhKDMxLCJbb2JqZWN0IE9iamVjdF0iPT09ZT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gS2EoZSl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gWWEoZSl7ZnVuY3Rpb24gbihuLHQpe2lmKGUpe3ZhciByPW4uZGVsZXRpb25zO251bGw9PT1yPyhuLmRlbGV0aW9ucz1bdF0sbi5mbGFnc3w9MTYpOnIucHVzaCh0KX19ZnVuY3Rpb24gdCh0LHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KW4odCxyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUsbil7Zm9yKGU9bmV3IE1hcDtudWxsIT09bjspbnVsbCE9PW4ua2V5P2Uuc2V0KG4ua2V5LG4pOmUuc2V0KG4uaW5kZXgsbiksbj1uLnNpYmxpbmc7cmV0dXJuIGV9ZnVuY3Rpb24gbChlLG4pe3JldHVybihlPUZzKGUsbikpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiB1KG4sdCxyKXtyZXR1cm4gbi5pbmRleD1yLGU/bnVsbCE9PShyPW4uYWx0ZXJuYXRlKT8ocj1yLmluZGV4KTx0PyhuLmZsYWdzfD0yLHQpOnI6KG4uZmxhZ3N8PTIsdCk6KG4uZmxhZ3N8PTEwNDg1NzYsdCl9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZSYmbnVsbD09PW4uYWx0ZXJuYXRlJiYobi5mbGFnc3w9Miksbn1mdW5jdGlvbiBpKGUsbix0LHIpe3JldHVybiBudWxsPT09bnx8NiE9PW4udGFnPygobj1Pcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gcyhlLG4sdCxyKXt2YXIgYT10LnR5cGU7cmV0dXJuIGE9PT14P2YoZSxuLHQucHJvcHMuY2hpbGRyZW4scix0LmtleSk6bnVsbCE9PW4mJihuLmVsZW1lbnRUeXBlPT09YXx8Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmYS4kJHR5cGVvZj09PU0mJkthKGEpPT09bi50eXBlKT8oKHI9bChuLHQucHJvcHMpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscik6KChyPVJzKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscil9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm4gbnVsbD09PW58fDQhPT1uLnRhZ3x8bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PXQuY29udGFpbmVySW5mb3x8bi5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT10LmltcGxlbWVudGF0aW9uPygobj1Vcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0LmNoaWxkcmVufHxbXSkpLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSxuLHQscixhKXtyZXR1cm4gbnVsbD09PW58fDchPT1uLnRhZz8oKG49RHModCxlLm1vZGUscixhKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gZChlLG4sdCl7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4obj1PcygiIituLGUubW9kZSx0KSkucmV0dXJuPWUsbjtpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXsKc3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4odD1ScyhuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSx0KSkucmVmPSRhKGUsbnVsbCxuKSx0LnJldHVybj1lLHQ7Y2FzZSBTOnJldHVybihuPVVzKG4sZS5tb2RlLHQpKS5yZXR1cm49ZSxuO2Nhc2UgTTpyZXR1cm4gZChlLCgwLG4uX2luaXQpKG4uX3BheWxvYWQpLHQpfWlmKG5lKG4pfHxEKG4pKXJldHVybihuPURzKG4sZS5tb2RlLHQsbnVsbCkpLnJldHVybj1lLG47cWEoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsbix0LHIpe3ZhciBsPW51bGwhPT1uP24ua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gbnVsbCE9PWw/bnVsbDppKGUsbiwiIit0LHIpO2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHc6cmV0dXJuIHQua2V5PT09bD9zKGUsbix0LHIpOm51bGw7Y2FzZSBTOnJldHVybiB0LmtleT09PWw/YyhlLG4sdCxyKTpudWxsO2Nhc2UgTTpyZXR1cm4gcChlLG4sKGw9dC5faW5pdCkodC5fcGF5bG9hZCkscil9aWYobmUodCl8fEQodCkpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLG4sdCxyLG51bGwpO3FhKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLG4sdCxyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIGkobixlPWUuZ2V0KHQpfHxudWxsLCIiK3IsbCk7aWYoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4gcyhuLGU9ZS5nZXQobnVsbD09PXIua2V5P3Q6ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBTOnJldHVybiBjKG4sZT1lLmdldChudWxsPT09ci5rZXk/dDpyLmtleSl8fG51bGwscixsKTtjYXNlIE06cmV0dXJuIG0oZSxuLHQsKDAsci5faW5pdCkoci5fcGF5bG9hZCksbCl9aWYobmUocil8fEQocikpcmV0dXJuIGYobixlPWUuZ2V0KHQpfHxudWxsLHIsbCxudWxsKTtxYShuLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGgobCxhLG8saSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9YSxoPWE9MCxnPW51bGw7bnVsbCE9PWYmJmg8by5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLG9baF0saSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJm4obCxmKSxhPXUodixhLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1vLmxlbmd0aClyZXR1cm4gdChsLGYpLGxhJiZabChsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxvLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxvW2hdLGkpKSYmKGE9dShmLGEsaCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIGxhJiZabChsLGgpLHN9Zm9yKGY9cihsLGYpO2g8by5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLG9baF0saSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZmLmRlbGV0ZShudWxsPT09Zy5rZXk/aDpnLmtleSksYT11KGcsYSxoKSxudWxsPT09Yz9zPWc6Yy5zaWJsaW5nPWcsYz1nKTtyZXR1cm4gZSYmZi5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gbihsLGUpfSkpLGxhJiZabChsLGgpLHN9ZnVuY3Rpb24gZyhsLG8saSxzKXt2YXIgYz1EKGkpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBjKXRocm93IEVycm9yKGEoMTUwKSk7aWYobnVsbD09KGk9Yy5jYWxsKGkpKSl0aHJvdyBFcnJvcihhKDE1MSkpO2Zvcih2YXIgZj1jPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJm4obCxoKSxvPXUoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gdChsLGgpLGxhJiZabChsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz11KHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gbGEmJlpsKGwsZyksY31mb3IoaD1yKGwsaCk7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLHMpKSYmKGUmJm51bGwhPT15LmFsdGVybmF0ZSYmaC5kZWxldGUobnVsbD09PXkua2V5P2c6eS5rZXkpLG89dSh5LG8sZyksbnVsbD09PWY/Yz15OmYuc2libGluZz15LGY9eSk7cmV0dXJuIGUmJmguZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4obCxlKX0pKSxsYSYmWmwobCxnKSxjfXJldHVybiBmdW5jdGlvbiBlKHIsYSx1LGkpe2lmKCJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXUmJnUudHlwZT09PXgmJm51bGw9PT11LmtleSYmKHU9dS5wcm9wcy5jaGlsZHJlbiksIm9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSl7c3dpdGNoKHUuJCR0eXBlb2Ype2Nhc2UgdzplOntmb3IodmFyIHM9dS5rZXksYz1hO251bGwhPT1jOyl7aWYoYy5rZXk9PT1zKXtpZigocz11LnR5cGUpPT09eCl7aWYoNz09PWMudGFnKXt0KHIsYy5zaWJsaW5nKSwoYT1sKGMsdS5wcm9wcy5jaGlsZHJlbikpLnJldHVybj1yLHI9YTticmVhayBlfX1lbHNlIGlmKGMuZWxlbWVudFR5cGU9PT1zfHwib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zJiZzLiQkdHlwZW9mPT09TSYmS2Eocyk9PT1jLnR5cGUpe3QocixjLnNpYmxpbmcpLChhPWwoYyx1LnByb3BzKSkucmVmPSRhKHIsYyx1KSxhLnJldHVybj1yLHI9YTticmVhayBlfXQocixjKTticmVha31uKHIsYyksYz1jLnNpYmxpbmd9dS50eXBlPT09eD8oKGE9RHModS5wcm9wcy5jaGlsZHJlbixyLm1vZGUsaSx1LmtleSkpLnJldHVybj1yLHI9YSk6KChpPVJzKHUudHlwZSx1LmtleSx1LnByb3BzLG51bGwsci5tb2RlLGkpKS5yZWY9JGEocixhLHUpLAppLnJldHVybj1yLHI9aSl9cmV0dXJuIG8ocik7Y2FzZSBTOmU6e2ZvcihjPXUua2V5O251bGwhPT1hOyl7aWYoYS5rZXk9PT1jKXtpZig0PT09YS50YWcmJmEuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT11LmNvbnRhaW5lckluZm8mJmEuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09dS5pbXBsZW1lbnRhdGlvbil7dChyLGEuc2libGluZyksKGE9bChhLHUuY2hpbGRyZW58fFtdKSkucmV0dXJuPXIscj1hO2JyZWFrIGV9dChyLGEpO2JyZWFrfW4ocixhKSxhPWEuc2libGluZ30oYT1Vcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hfXJldHVybiBvKHIpO2Nhc2UgTTpyZXR1cm4gZShyLGEsKGM9dS5faW5pdCkodS5fcGF5bG9hZCksaSl9aWYobmUodSkpcmV0dXJuIGgocixhLHUsaSk7aWYoRCh1KSlyZXR1cm4gZyhyLGEsdSxpKTtxYShyLHUpfXJldHVybiJzdHJpbmciPT10eXBlb2YgdSYmIiIhPT11fHwibnVtYmVyIj09dHlwZW9mIHU/KHU9IiIrdSxudWxsIT09YSYmNj09PWEudGFnPyh0KHIsYS5zaWJsaW5nKSwoYT1sKGEsdSkpLnJldHVybj1yLHI9YSk6KHQocixhKSwoYT1Pcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hKSxvKHIpKTp0KHIsYSl9fXZhciBYYT1ZYSghMCksR2E9WWEoITEpLFphPXt9LEphPUVsKFphKSxldT1FbChaYSksbnU9RWwoWmEpO2Z1bmN0aW9uIHR1KGUpe2lmKGU9PT1aYSl0aHJvdyBFcnJvcihhKDE3NCkpO3JldHVybiBlfWZ1bmN0aW9uIHJ1KGUsbil7c3dpdGNoKHpsKG51LG4pLHpsKGV1LGUpLHpsKEphLFphKSxlPW4ubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOm49KG49bi5kb2N1bWVudEVsZW1lbnQpP24ubmFtZXNwYWNlVVJJOmllKG51bGwsIiIpO2JyZWFrO2RlZmF1bHQ6bj1pZShuPShlPTg9PT1lP24ucGFyZW50Tm9kZTpuKS5uYW1lc3BhY2VVUkl8fG51bGwsZT1lLnRhZ05hbWUpfUNsKEphKSx6bChKYSxuKX1mdW5jdGlvbiBsdSgpe0NsKEphKSxDbChldSksQ2wobnUpfWZ1bmN0aW9uIGF1KGUpe3R1KG51LmN1cnJlbnQpO3ZhciBuPXR1KEphLmN1cnJlbnQpLHQ9aWUobixlLnR5cGUpO24hPT10JiYoemwoZXUsZSksemwoSmEsdCkpfWZ1bmN0aW9uIHV1KGUpe2V1LmN1cnJlbnQ9PT1lJiYoQ2woSmEpLENsKGV1KSl9dmFyIG91PUVsKDApO2Z1bmN0aW9uIGl1KGUpe2Zvcih2YXIgbj1lO251bGwhPT1uOyl7aWYoMTM9PT1uLnRhZyl7dmFyIHQ9bi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10JiYobnVsbD09PSh0PXQuZGVoeWRyYXRlZCl8fCIkPyI9PT10LmRhdGF8fCIkISI9PT10LmRhdGEpKXJldHVybiBufWVsc2UgaWYoMTk9PT1uLnRhZyYmdm9pZCAwIT09bi5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyKXtpZigxMjgmbi5mbGFncylyZXR1cm4gbn1lbHNlIGlmKG51bGwhPT1uLmNoaWxkKXtuLmNoaWxkLnJldHVybj1uLG49bi5jaGlsZDtjb250aW51ZX1pZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIHN1PVtdO2Z1bmN0aW9uIGN1KCl7Zm9yKHZhciBlPTA7ZTxzdS5sZW5ndGg7ZSsrKXN1W2VdLl93b3JrSW5Qcm9ncmVzc1ZlcnNpb25QcmltYXJ5PW51bGw7c3UubGVuZ3RoPTB9dmFyIGZ1PWsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixkdT1rLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLHB1PTAsbXU9bnVsbCxodT1udWxsLGd1PW51bGwsdnU9ITEseXU9ITEsYnU9MCxrdT0wO2Z1bmN0aW9uIHd1KCl7dGhyb3cgRXJyb3IoYSgzMjEpKX1mdW5jdGlvbiBTdShlLG4pe2lmKG51bGw9PT1uKXJldHVybiExO2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGgmJnQ8ZS5sZW5ndGg7dCsrKWlmKCFvcihlW3RdLG5bdF0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHh1KGUsbix0LHIsbCx1KXtpZihwdT11LG11PW4sbi5tZW1vaXplZFN0YXRlPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsLG4ubGFuZXM9MCxmdS5jdXJyZW50PW51bGw9PT1lfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlP3VvOm9vLGU9dChyLGwpLHl1KXt1PTA7ZG97aWYoeXU9ITEsYnU9MCwyNTw9dSl0aHJvdyBFcnJvcihhKDMwMSkpO3UrPTEsZ3U9aHU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsZnUuY3VycmVudD1pbyxlPXQocixsKX13aGlsZSh5dSl9aWYoZnUuY3VycmVudD1hbyxuPW51bGwhPT1odSYmbnVsbCE9PWh1Lm5leHQscHU9MCxndT1odT1tdT1udWxsLHZ1PSExLG4pdGhyb3cgRXJyb3IoYSgzMDApKTtyZXR1cm4gZX1mdW5jdGlvbiBFdSgpe3ZhciBlPTAhPT1idTtyZXR1cm4gYnU9MCxlfWZ1bmN0aW9uIEN1KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1ndT9tdS5tZW1vaXplZFN0YXRlPWd1PWU6Z3U9Z3UubmV4dD1lLGd1fWZ1bmN0aW9uIHp1KCl7aWYobnVsbD09PWh1KXt2YXIgZT1tdS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9aHUubmV4dDt2YXIgbj1udWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZTpndS5uZXh0O2lmKG51bGwhPT1uKWd1PW4saHU9ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKGEoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooaHU9ZSkubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6aHUuYmFzZVN0YXRlLGJhc2VRdWV1ZTpodS5iYXNlUXVldWUscXVldWU6aHUucXVldWUsbmV4dDpudWxsfSxudWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZT1ndT1lOmd1PWd1Lm5leHQ9ZX1yZXR1cm4gZ3V9ZnVuY3Rpb24gTnUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKGUpOm59ZnVuY3Rpb24gX3UoZSl7dmFyIG49enUoKSx0PW4ucXVldWU7aWYobnVsbD09PXQpdGhyb3cgRXJyb3IoYSgzMTEpKTt0Lmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgcj1odSxsPXIuYmFzZVF1ZXVlLHU9dC5wZW5kaW5nO2lmKG51bGwhPT11KXtpZihudWxsIT09bCl7dmFyIG89bC5uZXh0CjtsLm5leHQ9dS5uZXh0LHUubmV4dD1vfXIuYmFzZVF1ZXVlPWw9dSx0LnBlbmRpbmc9bnVsbH1pZihudWxsIT09bCl7dT1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgaT1vPW51bGwscz1udWxsLGM9dTtkb3t2YXIgZj1jLmxhbmU7aWYoKHB1JmYpPT09ZiludWxsIT09cyYmKHM9cy5uZXh0PXtsYW5lOjAsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTplKHIsYy5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6ZixhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09cz8oaT1zPWQsbz1yKTpzPXMubmV4dD1kLG11LmxhbmVzfD1mLElpfD1mfWM9Yy5uZXh0fXdoaWxlKG51bGwhPT1jJiZjIT09dSk7bnVsbD09PXM/bz1yOnMubmV4dD1pLG9yKHIsbi5tZW1vaXplZFN0YXRlKXx8KGtvPSEwKSxuLm1lbW9pemVkU3RhdGU9cixuLmJhc2VTdGF0ZT1vLG4uYmFzZVF1ZXVlPXMsdC5sYXN0UmVuZGVyZWRTdGF0ZT1yfWlmKG51bGwhPT0oZT10LmludGVybGVhdmVkKSl7bD1lO2Rve3U9bC5sYW5lLG11LmxhbmVzfD11LElpfD11LGw9bC5uZXh0fXdoaWxlKGwhPT1lKX1lbHNlIG51bGw9PT1sJiYodC5sYW5lcz0wKTtyZXR1cm5bbi5tZW1vaXplZFN0YXRlLHQuZGlzcGF0Y2hdfWZ1bmN0aW9uIFB1KGUpe3ZhciBuPXp1KCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGEoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9dC5kaXNwYXRjaCxsPXQucGVuZGluZyx1PW4ubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7dC5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG97dT1lKHUsby5hY3Rpb24pLG89by5uZXh0fXdoaWxlKG8hPT1sKTtvcih1LG4ubWVtb2l6ZWRTdGF0ZSl8fChrbz0hMCksbi5tZW1vaXplZFN0YXRlPXUsbnVsbD09PW4uYmFzZVF1ZXVlJiYobi5iYXNlU3RhdGU9dSksdC5sYXN0UmVuZGVyZWRTdGF0ZT11fXJldHVyblt1LHJdfWZ1bmN0aW9uIFR1KCl7fWZ1bmN0aW9uIEx1KGUsbil7dmFyIHQ9bXUscj16dSgpLGw9bigpLHU9IW9yKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZih1JiYoci5tZW1vaXplZFN0YXRlPWwsa289ITApLHI9ci5xdWV1ZSxIdShSdS5iaW5kKG51bGwsdCxyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PW58fHV8fG51bGwhPT1ndSYmMSZndS5tZW1vaXplZFN0YXRlLnRhZyl7aWYodC5mbGFnc3w9MjA0OCxVdSg5LEZ1LmJpbmQobnVsbCx0LHIsbCxuKSx2b2lkIDAsbnVsbCksbnVsbD09PVBpKXRocm93IEVycm9yKGEoMzQ5KSk7MzAmcHV8fE11KHQsbixsKX1yZXR1cm4gbH1mdW5jdGlvbiBNdShlLG4sdCl7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6bix2YWx1ZTp0fSxudWxsPT09KG49bXUudXBkYXRlUXVldWUpPyhuPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LG11LnVwZGF0ZVF1ZXVlPW4sbi5zdG9yZXM9W2VdKTpudWxsPT09KHQ9bi5zdG9yZXMpP24uc3RvcmVzPVtlXTp0LnB1c2goZSl9ZnVuY3Rpb24gRnUoZSxuLHQscil7bi52YWx1ZT10LG4uZ2V0U25hcHNob3Q9cixEdShuKSYmSXUoZSl9ZnVuY3Rpb24gUnUoZSxuLHQpe3JldHVybiB0KChmdW5jdGlvbigpe0R1KG4pJiZJdShlKX0pKX1mdW5jdGlvbiBEdShlKXt2YXIgbj1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIHQ9bigpO3JldHVybiFvcihlLHQpfWNhdGNoKGUpe3JldHVybiEwfX1mdW5jdGlvbiBJdShlKXt2YXIgbj1QYShlLDEpO251bGwhPT1uJiZ0cyhuLGUsMSwtMSl9ZnVuY3Rpb24gT3UoZSl7dmFyIG49Q3UoKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSgpKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9ZSxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpOdSxsYXN0UmVuZGVyZWRTdGF0ZTplfSxuLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPW5vLmJpbmQobnVsbCxtdSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIFV1KGUsbix0LHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXN0cm95OnQsZGVwczpyLG5leHQ6bnVsbH0sbnVsbD09PShuPW11LnVwZGF0ZVF1ZXVlKT8obj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtdS51cGRhdGVRdWV1ZT1uLG4ubGFzdEVmZmVjdD1lLm5leHQ9ZSk6bnVsbD09PSh0PW4ubGFzdEVmZmVjdCk/bi5sYXN0RWZmZWN0PWUubmV4dD1lOihyPXQubmV4dCx0Lm5leHQ9ZSxlLm5leHQ9cixuLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBWdSgpe3JldHVybiB6dSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQXUoZSxuLHQscil7dmFyIGw9Q3UoKTttdS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9VXUoMXxuLHQsdm9pZCAwLHZvaWQgMD09PXI/bnVsbDpyKX1mdW5jdGlvbiBCdShlLG4sdCxyKXt2YXIgbD16dSgpO3I9dm9pZCAwPT09cj9udWxsOnI7dmFyIGE9dm9pZCAwO2lmKG51bGwhPT1odSl7dmFyIHU9aHUubWVtb2l6ZWRTdGF0ZTtpZihhPXUuZGVzdHJveSxudWxsIT09ciYmU3Uocix1LmRlcHMpKXJldHVybiB2b2lkKGwubWVtb2l6ZWRTdGF0ZT1VdShuLHQsYSxyKSl9bXUuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPVV1KDF8bix0LGEscil9ZnVuY3Rpb24gV3UoZSxuKXtyZXR1cm4gQXUoODM5MDY1Niw4LGUsbil9ZnVuY3Rpb24gSHUoZSxuKXtyZXR1cm4gQnUoMjA0OCw4LGUsbil9ZnVuY3Rpb24gUXUoZSxuKXtyZXR1cm4gQnUoNCwyLGUsbil9ZnVuY3Rpb24ganUoZSxuKXtyZXR1cm4gQnUoNCw0LGUsbil9ZnVuY3Rpb24gJHUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj8oZT1lKCksbihlKSxmdW5jdGlvbigpe24obnVsbCl9KTpudWxsIT1uPyhlPWUoKSxuLmN1cnJlbnQ9ZSxmdW5jdGlvbigpe24uY3VycmVudD1udWxsfSk6dm9pZCAwfWZ1bmN0aW9uIHF1KGUsbix0KXsKcmV0dXJuIHQ9bnVsbCE9dD90LmNvbmNhdChbZV0pOm51bGwsQnUoNCw0LCR1LmJpbmQobnVsbCxuLGUpLHQpfWZ1bmN0aW9uIEt1KCl7fWZ1bmN0aW9uIFl1KGUsbil7dmFyIHQ9enUoKTtuPXZvaWQgMD09PW4/bnVsbDpuO3ZhciByPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1uJiZTdShuLHJbMV0pP3JbMF06KHQubWVtb2l6ZWRTdGF0ZT1bZSxuXSxlKX1mdW5jdGlvbiBYdShlLG4pe3ZhciB0PXp1KCk7bj12b2lkIDA9PT1uP251bGw6bjt2YXIgcj10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1yJiZudWxsIT09biYmU3UobixyWzFdKT9yWzBdOihlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZSl9ZnVuY3Rpb24gR3UoZSxuLHQpe3JldHVybiAyMSZwdT8ob3IodCxuKXx8KHQ9Z24oKSxtdS5sYW5lc3w9dCxJaXw9dCxlLmJhc2VTdGF0ZT0hMCksbik6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsa289ITApLGUubWVtb2l6ZWRTdGF0ZT10KX1mdW5jdGlvbiBadShlLG4pe3ZhciB0PWtuO2tuPTAhPT10JiY0PnQ/dDo0LGUoITApO3ZhciByPWR1LnRyYW5zaXRpb247ZHUudHJhbnNpdGlvbj17fTt0cnl7ZSghMSksbigpfWZpbmFsbHl7a249dCxkdS50cmFuc2l0aW9uPXJ9fWZ1bmN0aW9uIEp1KCl7cmV0dXJuIHp1KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBlbyhlLG4sdCl7dmFyIHI9bnMoZSk7aWYodD17bGFuZTpyLGFjdGlvbjp0LGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sdG8oZSkpcm8obix0KTtlbHNlIGlmKG51bGwhPT0odD1fYShlLG4sdCxyKSkpe3RzKHQsZSxyLGVzKCkpLGxvKHQsbixyKX19ZnVuY3Rpb24gbm8oZSxuLHQpe3ZhciByPW5zKGUpLGw9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHRvKGUpKXJvKG4sbCk7ZWxzZXt2YXIgYT1lLmFsdGVybmF0ZTtpZigwPT09ZS5sYW5lcyYmKG51bGw9PT1hfHwwPT09YS5sYW5lcykmJm51bGwhPT0oYT1uLmxhc3RSZW5kZXJlZFJlZHVjZXIpKXRyeXt2YXIgdT1uLmxhc3RSZW5kZXJlZFN0YXRlLG89YSh1LHQpO2lmKGwuaGFzRWFnZXJTdGF0ZT0hMCxsLmVhZ2VyU3RhdGU9byxvcihvLHUpKXt2YXIgaT1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09aT8obC5uZXh0PWwsTmEobikpOihsLm5leHQ9aS5uZXh0LGkubmV4dD1sKSx2b2lkKG4uaW50ZXJsZWF2ZWQ9bCl9fWNhdGNoKGUpe31udWxsIT09KHQ9X2EoZSxuLGwscikpJiYodHModCxlLHIsbD1lcygpKSxsbyh0LG4scikpfX1mdW5jdGlvbiB0byhlKXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PW11fHxudWxsIT09biYmbj09PW11fWZ1bmN0aW9uIHJvKGUsbil7eXU9dnU9ITA7dmFyIHQ9ZS5wZW5kaW5nO251bGw9PT10P24ubmV4dD1uOihuLm5leHQ9dC5uZXh0LHQubmV4dD1uKSxlLnBlbmRpbmc9bn1mdW5jdGlvbiBsbyhlLG4sdCl7aWYoNDE5NDI0MCZ0KXt2YXIgcj1uLmxhbmVzO3R8PXImPWUucGVuZGluZ0xhbmVzLG4ubGFuZXM9dCxibihlLHQpfX12YXIgYW89e3JlYWRDb250ZXh0OkNhLHVzZUNhbGxiYWNrOnd1LHVzZUNvbnRleHQ6d3UsdXNlRWZmZWN0Ond1LHVzZUltcGVyYXRpdmVIYW5kbGU6d3UsdXNlSW5zZXJ0aW9uRWZmZWN0Ond1LHVzZUxheW91dEVmZmVjdDp3dSx1c2VNZW1vOnd1LHVzZVJlZHVjZXI6d3UsdXNlUmVmOnd1LHVzZVN0YXRlOnd1LHVzZURlYnVnVmFsdWU6d3UsdXNlRGVmZXJyZWRWYWx1ZTp3dSx1c2VUcmFuc2l0aW9uOnd1LHVzZU11dGFibGVTb3VyY2U6d3UsdXNlU3luY0V4dGVybmFsU3RvcmU6d3UsdXNlSWQ6d3UsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSx1bz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQ3UoKS5tZW1vaXplZFN0YXRlPVtlLHZvaWQgMD09PW4/bnVsbDpuXSxlfSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpXdSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gdD1udWxsIT10P3QuY29uY2F0KFtlXSk6bnVsbCxBdSg0MTk0MzA4LDQsJHUuYmluZChudWxsLG4sZSksdCl9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLG4pe3JldHVybiBBdSg0MTk0MzA4LDQsZSxuKX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEF1KDQsMixlLG4pfSx1c2VNZW1vOmZ1bmN0aW9uKGUsbil7dmFyIHQ9Q3UoKTtyZXR1cm4gbj12b2lkIDA9PT1uP251bGw6bixlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLG4sdCl7dmFyIHI9Q3UoKTtyZXR1cm4gbj12b2lkIDAhPT10P3Qobik6bixyLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bixlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOm59LHIucXVldWU9ZSxlPWUuZGlzcGF0Y2g9ZW8uYmluZChudWxsLG11LGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXtyZXR1cm4gZT17Y3VycmVudDplfSxDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6T3UsdXNlRGVidWdWYWx1ZTpLdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPU91KCExKSxuPWVbMF07cmV0dXJuIGU9WnUuYmluZChudWxsLGVbMV0pLEN1KCkubWVtb2l6ZWRTdGF0ZT1lLFtuLGVdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLG4sdCl7dmFyIHI9bXUsbD1DdSgpO2lmKGxhKXtpZih2b2lkIDA9PT10KXRocm93IEVycm9yKGEoNDA3KSk7dD10KCl9ZWxzZXtpZih0PW4oKSxudWxsPT09UGkpdGhyb3cgRXJyb3IoYSgzNDkpKTszMCZwdXx8TXUocixuLHQpfWwubWVtb2l6ZWRTdGF0ZT10O3ZhciB1PXt2YWx1ZTp0LGdldFNuYXBzaG90Om59O3JldHVybiBsLnF1ZXVlPXUsCld1KFJ1LmJpbmQobnVsbCxyLHUsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LFV1KDksRnUuYmluZChudWxsLHIsdSx0LG4pLHZvaWQgMCxudWxsKSx0fSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPUN1KCksbj1QaS5pZGVudGlmaWVyUHJlZml4O2lmKGxhKXt2YXIgdD1HbDtuPSI6IituKyJSIisodD0oWGwmfigxPDwzMi11bihYbCktMSkpLnRvU3RyaW5nKDMyKSt0KSwwPCh0PWJ1KyspJiYobis9IkgiK3QudG9TdHJpbmcoMzIpKSxuKz0iOiJ9ZWxzZSBuPSI6IituKyJyIisodD1rdSsrKS50b1N0cmluZygzMikrIjoiO3JldHVybiBlLm1lbW9pemVkU3RhdGU9bn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxvbz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6WXUsdXNlQ29udGV4dDpDYSx1c2VFZmZlY3Q6SHUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpxdSx1c2VJbnNlcnRpb25FZmZlY3Q6UXUsdXNlTGF5b3V0RWZmZWN0Omp1LHVzZU1lbW86WHUsdXNlUmVkdWNlcjpfdSx1c2VSZWY6VnUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gX3UoTnUpfSx1c2VEZWJ1Z1ZhbHVlOkt1LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEd1KHp1KCksaHUubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3JldHVybltfdShOdSlbMF0senUoKS5tZW1vaXplZFN0YXRlXX0sdXNlTXV0YWJsZVNvdXJjZTpUdSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpMdSx1c2VJZDpKdSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LGlvPXtyZWFkQ29udGV4dDpDYSx1c2VDYWxsYmFjazpZdSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpIdSx1c2VJbXBlcmF0aXZlSGFuZGxlOnF1LHVzZUluc2VydGlvbkVmZmVjdDpRdSx1c2VMYXlvdXRFZmZlY3Q6anUsdXNlTWVtbzpYdSx1c2VSZWR1Y2VyOlB1LHVzZVJlZjpWdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQdShOdSl9LHVzZURlYnVnVmFsdWU6S3UsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXt2YXIgbj16dSgpO3JldHVybiBudWxsPT09aHU/bi5tZW1vaXplZFN0YXRlPWU6R3UobixodS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW1B1KE51KVswXSx6dSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOlR1LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkx1LHVzZUlkOkp1LHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gc28oZSxuKXt0cnl7dmFyIHQ9IiIscj1uO2Rve3QrPUIocikscj1yLnJldHVybn13aGlsZShyKTt2YXIgbD10fWNhdGNoKGUpe2w9IlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfXJldHVybnt2YWx1ZTplLHNvdXJjZTpuLHN0YWNrOmwsZGlnZXN0Om51bGx9fWZ1bmN0aW9uIGNvKGUsbix0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6bnVsbCxzdGFjazpudWxsIT10P3Q6bnVsbCxkaWdlc3Q6bnVsbCE9bj9uOm51bGx9fWZ1bmN0aW9uIGZvKGUsbil7dHJ5e2NvbnNvbGUuZXJyb3Iobi52YWx1ZSl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfX12YXIgcG89ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gbW8oZSxuLHQpeyh0PUZhKC0xLHQpKS50YWc9Myx0LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIHI9bi52YWx1ZTtyZXR1cm4gdC5jYWxsYmFjaz1mdW5jdGlvbigpe1FpfHwoUWk9ITAsamk9ciksZm8oMCxuKX0sdH1mdW5jdGlvbiBobyhlLG4sdCl7KHQ9RmEoLTEsdCkpLnRhZz0zO3ZhciByPWUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBsPW4udmFsdWU7dC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHIobCl9LHQuY2FsbGJhY2s9ZnVuY3Rpb24oKXtmbygwLG4pfX12YXIgYT1lLnN0YXRlTm9kZTtyZXR1cm4gbnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYodC5jYWxsYmFjaz1mdW5jdGlvbigpe2ZvKDAsbiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihudWxsPT09JGk/JGk9bmV3IFNldChbdGhpc10pOiRpLmFkZCh0aGlzKSk7dmFyIGU9bi5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pLHR9ZnVuY3Rpb24gZ28oZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyBwbzt2YXIgbD1uZXcgU2V0O3Iuc2V0KG4sbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldChuKSkmJihsPW5ldyBTZXQsci5zZXQobixsKSk7bC5oYXModCl8fChsLmFkZCh0KSxlPUNzLmJpbmQobnVsbCxlLG4sdCksbi50aGVuKGUsZSkpfWZ1bmN0aW9uIHZvKGUpe2Rve3ZhciBuO2lmKChuPTEzPT09ZS50YWcpJiYobj1udWxsPT09KG49ZS5tZW1vaXplZFN0YXRlKXx8bnVsbCE9PW4uZGVoeWRyYXRlZCksbilyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKG51bGwhPT1lKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiB5byhlLG4sdCxyLGwpe3JldHVybiAxJmUubW9kZT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sLGUpOihlPT09bj9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LHQuZmxhZ3N8PTEzMTA3Mix0LmZsYWdzJj0tNTI4MDUsMT09PXQudGFnJiYobnVsbD09PXQuYWx0ZXJuYXRlP3QudGFnPTE3Oigobj1GYSgtMSwxKSkudGFnPTIsUmEodCxuLDEpKSksdC5sYW5lc3w9MSksZSl9dmFyIGJvPWsuUmVhY3RDdXJyZW50T3duZXIsa289ITE7ZnVuY3Rpb24gd28oZSxuLHQscil7bi5jaGlsZD1udWxsPT09ZT9HYShuLG51bGwsdCxyKTpYYShuLGUuY2hpbGQsdCxyKX1mdW5jdGlvbiBTbyhlLG4sdCxyLGwpe3Q9dC5yZW5kZXI7dmFyIGE9bi5yZWY7cmV0dXJuIEVhKG4sbCkscj14dShlLG4sdCxyLGEsbCksdD1FdSgpLG51bGw9PT1lfHxrbz8obGEmJnQmJmVhKG4pLG4uZmxhZ3N8PTEsd28oZSxuLHIsbCksbi5jaGlsZCk6KG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSxuLmZsYWdzJj0tMjA1MywKZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiB4byhlLG4sdCxyLGwpe2lmKG51bGw9PT1lKXt2YXIgYT10LnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIGF8fE1zKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXQuY29tcGFyZXx8dm9pZCAwIT09dC5kZWZhdWx0UHJvcHM/KChlPVJzKHQudHlwZSxudWxsLHIsbixuLm1vZGUsbCkpLnJlZj1uLnJlZixlLnJldHVybj1uLG4uY2hpbGQ9ZSk6KG4udGFnPTE1LG4udHlwZT1hLEVvKGUsbixhLHIsbCkpfWlmKGE9ZS5jaGlsZCwhKGUubGFuZXMmbCkpe3ZhciB1PWEubWVtb2l6ZWRQcm9wcztpZigodD1udWxsIT09KHQ9dC5jb21wYXJlKT90OmlyKSh1LHIpJiZlLnJlZj09PW4ucmVmKXJldHVybiBRbyhlLG4sbCl9cmV0dXJuIG4uZmxhZ3N8PTEsKGU9RnMoYSxyKSkucmVmPW4ucmVmLGUucmV0dXJuPW4sbi5jaGlsZD1lfWZ1bmN0aW9uIEVvKGUsbix0LHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihpcihhLHIpJiZlLnJlZj09PW4ucmVmKXtpZihrbz0hMSxuLnBlbmRpbmdQcm9wcz1yPWEsIShlLmxhbmVzJmwpKXJldHVybiBuLmxhbmVzPWUubGFuZXMsUW8oZSxuLGwpOzEzMTA3MiZlLmZsYWdzJiYoa289ITApfX1yZXR1cm4gTm8oZSxuLHQscixsKX1mdW5jdGlvbiBDbyhlLG4sdCl7dmFyIHI9bi5wZW5kaW5nUHJvcHMsbD1yLmNoaWxkcmVuLGE9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGw7aWYoImhpZGRlbiI9PT1yLm1vZGUpaWYoMSZuLm1vZGUpe2lmKCEoMTA3Mzc0MTgyNCZ0KSlyZXR1cm4gZT1udWxsIT09YT9hLmJhc2VMYW5lc3x0OnQsbi5sYW5lcz1uLmNoaWxkTGFuZXM9MTA3Mzc0MTgyNCxuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczplLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LG4udXBkYXRlUXVldWU9bnVsbCx6bChGaSxNaSksTWl8PWUsbnVsbDtuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHI9bnVsbCE9PWE/YS5iYXNlTGFuZXM6dCx6bChGaSxNaSksTWl8PXJ9ZWxzZSBuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHpsKEZpLE1pKSxNaXw9dDtlbHNlIG51bGwhPT1hPyhyPWEuYmFzZUxhbmVzfHQsbi5tZW1vaXplZFN0YXRlPW51bGwpOnI9dCx6bChGaSxNaSksTWl8PXI7cmV0dXJuIHdvKGUsbixsLHQpLG4uY2hpbGR9ZnVuY3Rpb24gem8oZSxuKXt2YXIgdD1uLnJlZjsobnVsbD09PWUmJm51bGwhPT10fHxudWxsIT09ZSYmZS5yZWYhPT10KSYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBObyhlLG4sdCxyLGwpe3ZhciBhPU1sKHQpP1RsOl9sLmN1cnJlbnQ7cmV0dXJuIGE9TGwobixhKSxFYShuLGwpLHQ9eHUoZSxuLHQscixhLGwpLHI9RXUoKSxudWxsPT09ZXx8a28/KGxhJiZyJiZlYShuKSxuLmZsYWdzfD0xLHdvKGUsbix0LGwpLG4uY2hpbGQpOihuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbi5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiBfbyhlLG4sdCxyLGwpe2lmKE1sKHQpKXt2YXIgYT0hMDtJbChuKX1lbHNlIGE9ITE7aWYoRWEobixsKSxudWxsPT09bi5zdGF0ZU5vZGUpSG8oZSxuKSxIYShuLHQsciksamEobix0LHIsbCkscj0hMDtlbHNlIGlmKG51bGw9PT1lKXt2YXIgdT1uLnN0YXRlTm9kZSxvPW4ubWVtb2l6ZWRQcm9wczt1LnByb3BzPW87dmFyIGk9dS5jb250ZXh0LHM9dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zP3M9Q2Eocyk6cz1MbChuLHM9TWwodCk/VGw6X2wuY3VycmVudCk7dmFyIGM9dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsZj0iZnVuY3Rpb24iPT10eXBlb2YgY3x8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU7Znx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChvIT09cnx8aSE9PXMpJiZRYShuLHUscixzKSxUYT0hMTt2YXIgZD1uLm1lbW9pemVkU3RhdGU7dS5zdGF0ZT1kLE9hKG4scix1LGwpLGk9bi5tZW1vaXplZFN0YXRlLG8hPT1yfHxkIT09aXx8UGwuY3VycmVudHx8VGE/KCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoQWEobix0LGMsciksaT1uLm1lbW9pemVkU3RhdGUpLChvPVRhfHxXYShuLHQsbyxyLGQsaSxzKSk/KGZ8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudHx8KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudCYmdS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYobi5mbGFnc3w9NDE5NDMwOCksbi5tZW1vaXplZFByb3BzPXIsbi5tZW1vaXplZFN0YXRlPWkpLHUucHJvcHM9cix1LnN0YXRlPWksdS5jb250ZXh0PXMscj1vKTooImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle3U9bi5zdGF0ZU5vZGUsTWEoZSxuKSxvPW4ubWVtb2l6ZWRQcm9wcyxzPW4udHlwZT09PW4uZWxlbWVudFR5cGU/bzpnYShuLnR5cGUsbyksdS5wcm9wcz1zLGY9bi5wZW5kaW5nUHJvcHMsZD11LmNvbnRleHQsIm9iamVjdCI9PXR5cGVvZihpPXQuY29udGV4dFR5cGUpJiZudWxsIT09aT9pPUNhKGkpOmk9TGwobixpPU1sKHQpP1RsOl9sLmN1cnJlbnQpO3ZhciBwPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzCjsoYz0iZnVuY3Rpb24iPT10eXBlb2YgcHx8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09aSkmJlFhKG4sdSxyLGkpLFRhPSExLGQ9bi5tZW1vaXplZFN0YXRlLHUuc3RhdGU9ZCxPYShuLHIsdSxsKTt2YXIgbT1uLm1lbW9pemVkU3RhdGU7byE9PWZ8fGQhPT1tfHxQbC5jdXJyZW50fHxUYT8oImZ1bmN0aW9uIj09dHlwZW9mIHAmJihBYShuLHQscCxyKSxtPW4ubWVtb2l6ZWRTdGF0ZSksKHM9VGF8fFdhKG4sdCxzLHIsZCxtLGkpfHwhMSk/KGN8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLG0saSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSYmKG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYobi5mbGFnc3w9MTAyNCkpOigiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnREaWRVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fChuLmZsYWdzfD00KSwiZnVuY3Rpb24iIT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTEwMjQpLG4ubWVtb2l6ZWRQcm9wcz1yLG4ubWVtb2l6ZWRTdGF0ZT1tKSx1LnByb3BzPXIsdS5zdGF0ZT1tLHUuY29udGV4dD1pLHI9cyk6KCJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIFBvKGUsbix0LHIsYSxsKX1mdW5jdGlvbiBQbyhlLG4sdCxyLGwsYSl7em8oZSxuKTt2YXIgdT0hISgxMjgmbi5mbGFncyk7aWYoIXImJiF1KXJldHVybiBsJiZPbChuLHQsITEpLFFvKGUsbixhKTtyPW4uc3RhdGVOb2RlLGJvLmN1cnJlbnQ9bjt2YXIgbz11JiYiZnVuY3Rpb24iIT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpyLnJlbmRlcigpO3JldHVybiBuLmZsYWdzfD0xLG51bGwhPT1lJiZ1PyhuLmNoaWxkPVhhKG4sZS5jaGlsZCxudWxsLGEpLG4uY2hpbGQ9WGEobixudWxsLG8sYSkpOndvKGUsbixvLGEpLG4ubWVtb2l6ZWRTdGF0ZT1yLnN0YXRlLGwmJk9sKG4sdCwhMCksbi5jaGlsZH1mdW5jdGlvbiBUbyhlKXt2YXIgbj1lLnN0YXRlTm9kZTtuLnBlbmRpbmdDb250ZXh0P1JsKDAsbi5wZW5kaW5nQ29udGV4dCxuLnBlbmRpbmdDb250ZXh0IT09bi5jb250ZXh0KTpuLmNvbnRleHQmJlJsKDAsbi5jb250ZXh0LCExKSxydShlLG4uY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gTG8oZSxuLHQscixsKXtyZXR1cm4gcGEoKSxtYShsKSxuLmZsYWdzfD0yNTYsd28oZSxuLHQsciksbi5jaGlsZH12YXIgTW8sRm8sUm8sRG89e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBJbyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gT28oZSxuLHQpe3ZhciByLGw9bi5wZW5kaW5nUHJvcHMsdT1vdS5jdXJyZW50LG89ITEsaT0hISgxMjgmbi5mbGFncyk7aWYoKHI9aSl8fChyPShudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSkmJiEhKDImdSkpLHI/KG89ITAsbi5mbGFncyY9LTEyOSk6bnVsbCE9PWUmJm51bGw9PT1lLm1lbW9pemVkU3RhdGV8fCh1fD0xKSx6bChvdSwxJnUpLG51bGw9PT1lKXJldHVybiBzYShuKSxudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShlPWUuZGVoeWRyYXRlZCk/KDEmbi5tb2RlPyIkISI9PT1lLmRhdGE/bi5sYW5lcz04Om4ubGFuZXM9MTA3Mzc0MTgyNDpuLmxhbmVzPTEsbnVsbCk6KGk9bC5jaGlsZHJlbixlPWwuZmFsbGJhY2ssbz8obD1uLm1vZGUsbz1uLmNoaWxkLGk9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46aX0sMSZsfHxudWxsPT09bz9vPUlzKGksbCwwLG51bGwpOihvLmNoaWxkTGFuZXM9MCxvLnBlbmRpbmdQcm9wcz1pKSxlPURzKGUsbCx0LG51bGwpLG8ucmV0dXJuPW4sZS5yZXR1cm49bixvLnNpYmxpbmc9ZSxuLmNoaWxkPW8sbi5jaGlsZC5tZW1vaXplZFN0YXRlPUlvKHQpLG4ubWVtb2l6ZWRTdGF0ZT1EbyxlKTpVbyhuLGkpKTtpZihudWxsIT09KHU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShyPXUuZGVoeWRyYXRlZCkpcmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbCx1LG8pe2lmKHQpcmV0dXJuIDI1NiZuLmZsYWdzPyhuLmZsYWdzJj0tMjU3LFZvKGUsbixvLHI9Y28oRXJyb3IoYSg0MjIpKSkpKTpudWxsIT09bi5tZW1vaXplZFN0YXRlPyhuLmNoaWxkPWUuY2hpbGQsbi5mbGFnc3w9MTI4LG51bGwpOih1PXIuZmFsbGJhY2ssbD1uLm1vZGUscj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ci5jaGlsZHJlbn0sbCwwLG51bGwpLCh1PURzKHUsbCxvLG51bGwpKS5mbGFnc3w9MixyLnJldHVybj1uLHUucmV0dXJuPW4sci5zaWJsaW5nPXUsbi5jaGlsZD1yLDEmbi5tb2RlJiZYYShuLGUuY2hpbGQsbnVsbCxvKSxuLmNoaWxkLm1lbW9pemVkU3RhdGU9SW8obyksbi5tZW1vaXplZFN0YXRlPURvLHUpO2lmKCEoMSZuLm1vZGUpKXJldHVybiBWbyhlLG4sbyxudWxsKTtpZigiJCEiPT09bC5kYXRhKXsKaWYocj1sLm5leHRTaWJsaW5nJiZsLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGk9ci5kZ3N0O3JldHVybiByPWksVm8oZSxuLG8scj1jbyh1PUVycm9yKGEoNDE5KSkscix2b2lkIDApKX1pZihpPSEhKG8mZS5jaGlsZExhbmVzKSxrb3x8aSl7aWYobnVsbCE9PShyPVBpKSl7c3dpdGNoKG8mLW8pe2Nhc2UgNDpsPTI7YnJlYWs7Y2FzZSAxNjpsPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0Omw9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6bD0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDpsPTB9MCE9PShsPWwmKHIuc3VzcGVuZGVkTGFuZXN8byk/MDpsKSYmbCE9PXUucmV0cnlMYW5lJiYodS5yZXRyeUxhbmU9bCxQYShlLGwpLHRzKHIsZSxsLC0xKSl9cmV0dXJuIGhzKCksVm8oZSxuLG8scj1jbyhFcnJvcihhKDQyMSkpKSl9cmV0dXJuIiQ/Ij09PWwuZGF0YT8obi5mbGFnc3w9MTI4LG4uY2hpbGQ9ZS5jaGlsZCxuPU5zLmJpbmQobnVsbCxlKSxsLl9yZWFjdFJldHJ5PW4sbnVsbCk6KGU9dS50cmVlQ29udGV4dCxyYT1zbChsLm5leHRTaWJsaW5nKSx0YT1uLGxhPSEwLGFhPW51bGwsbnVsbCE9PWUmJihxbFtLbCsrXT1YbCxxbFtLbCsrXT1HbCxxbFtLbCsrXT1ZbCxYbD1lLmlkLEdsPWUub3ZlcmZsb3csWWw9biksbj1VbyhuLHIuY2hpbGRyZW4pLG4uZmxhZ3N8PTQwOTYsbil9KGUsbixpLGwscix1LHQpO2lmKG8pe289bC5mYWxsYmFjayxpPW4ubW9kZSxyPSh1PWUuY2hpbGQpLnNpYmxpbmc7dmFyIHM9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46bC5jaGlsZHJlbn07cmV0dXJuIDEmaXx8bi5jaGlsZD09PXU/KGw9RnModSxzKSkuc3VidHJlZUZsYWdzPTE0NjgwMDY0JnUuc3VidHJlZUZsYWdzOigobD1uLmNoaWxkKS5jaGlsZExhbmVzPTAsbC5wZW5kaW5nUHJvcHM9cyxuLmRlbGV0aW9ucz1udWxsKSxudWxsIT09cj9vPUZzKHIsbyk6KG89RHMobyxpLHQsbnVsbCkpLmZsYWdzfD0yLG8ucmV0dXJuPW4sbC5yZXR1cm49bixsLnNpYmxpbmc9byxuLmNoaWxkPWwsbD1vLG89bi5jaGlsZCxpPW51bGw9PT0oaT1lLmNoaWxkLm1lbW9pemVkU3RhdGUpP0lvKHQpOntiYXNlTGFuZXM6aS5iYXNlTGFuZXN8dCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczppLnRyYW5zaXRpb25zfSxvLm1lbW9pemVkU3RhdGU9aSxvLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzJn50LG4ubWVtb2l6ZWRTdGF0ZT1EbyxsfXJldHVybiBlPShvPWUuY2hpbGQpLnNpYmxpbmcsbD1GcyhvLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSksISgxJm4ubW9kZSkmJihsLmxhbmVzPXQpLGwucmV0dXJuPW4sbC5zaWJsaW5nPW51bGwsbnVsbCE9PWUmJihudWxsPT09KHQ9bi5kZWxldGlvbnMpPyhuLmRlbGV0aW9ucz1bZV0sbi5mbGFnc3w9MTYpOnQucHVzaChlKSksbi5jaGlsZD1sLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gVW8oZSxuKXtyZXR1cm4obj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bn0sZS5tb2RlLDAsbnVsbCkpLnJldHVybj1lLGUuY2hpbGQ9bn1mdW5jdGlvbiBWbyhlLG4sdCxyKXtyZXR1cm4gbnVsbCE9PXImJm1hKHIpLFhhKG4sZS5jaGlsZCxudWxsLHQpLChlPVVvKG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pKS5mbGFnc3w9MixuLm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEFvKGUsbix0KXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bikseGEoZS5yZXR1cm4sbix0KX1mdW5jdGlvbiBCbyhlLG4sdCxyLGwpe3ZhciBhPWUubWVtb2l6ZWRTdGF0ZTtudWxsPT09YT9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOm4scmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6dCx0YWlsTW9kZTpsfTooYS5pc0JhY2t3YXJkcz1uLGEucmVuZGVyaW5nPW51bGwsYS5yZW5kZXJpbmdTdGFydFRpbWU9MCxhLmxhc3Q9cixhLnRhaWw9dCxhLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIFdvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7aWYod28oZSxuLHIuY2hpbGRyZW4sdCksMiYocj1vdS5jdXJyZW50KSlyPTEmcnwyLG4uZmxhZ3N8PTEyODtlbHNle2lmKG51bGwhPT1lJiYxMjgmZS5mbGFncyllOmZvcihlPW4uY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJkFvKGUsdCxuKTtlbHNlIGlmKDE5PT09ZS50YWcpQW8oZSx0LG4pO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT1uKWJyZWFrIGU7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PW4pYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9ciY9MX1pZih6bChvdSxyKSwxJm4ubW9kZSlzd2l0Y2gobCl7Y2FzZSJmb3J3YXJkcyI6Zm9yKHQ9bi5jaGlsZCxsPW51bGw7bnVsbCE9PXQ7KW51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGw9PT1pdShlKSYmKGw9dCksdD10LnNpYmxpbmc7bnVsbD09PSh0PWwpPyhsPW4uY2hpbGQsbi5jaGlsZD1udWxsKToobD10LnNpYmxpbmcsdC5zaWJsaW5nPW51bGwpLEJvKG4sITEsbCx0LGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3IodD1udWxsLGw9bi5jaGlsZCxuLmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09aXUoZSkpe24uY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9dCx0PWwsbD1lfUJvKG4sITAsdCxudWxsLGEpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOgpCbyhuLCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6bi5tZW1vaXplZFN0YXRlPW51bGx9ZWxzZSBuLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBIbyhlLG4peyEoMSZuLm1vZGUpJiZudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsbi5hbHRlcm5hdGU9bnVsbCxuLmZsYWdzfD0yKX1mdW5jdGlvbiBRbyhlLG4sdCl7aWYobnVsbCE9PWUmJihuLmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksSWl8PW4ubGFuZXMsISh0Jm4uY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYobnVsbCE9PWUmJm4uY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKGEoMTUzKSk7aWYobnVsbCE9PW4uY2hpbGQpe2Zvcih0PUZzKGU9bi5jaGlsZCxlLnBlbmRpbmdQcm9wcyksbi5jaGlsZD10LHQucmV0dXJuPW47bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKHQ9dC5zaWJsaW5nPUZzKGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49bjt0LnNpYmxpbmc9bnVsbH1yZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBqbyhlLG4pe2lmKCFsYSlzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOm49ZS50YWlsO2Zvcih2YXIgdD1udWxsO251bGwhPT1uOyludWxsIT09bi5hbHRlcm5hdGUmJih0PW4pLG49bi5zaWJsaW5nO251bGw9PT10P2UudGFpbD1udWxsOnQuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjp0PWUudGFpbDtmb3IodmFyIHI9bnVsbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYocj10KSx0PXQuc2libGluZztudWxsPT09cj9ufHxudWxsPT09ZS50YWlsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6ci5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uICRvKGUpe3ZhciBuPW51bGwhPT1lLmFsdGVybmF0ZSYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLHQ9MCxyPTA7aWYobilmb3IodmFyIGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9MTQ2ODAwNjQmbC5zdWJ0cmVlRmxhZ3Mscnw9MTQ2ODAwNjQmbC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO2Vsc2UgZm9yKGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9bC5zdWJ0cmVlRmxhZ3Mscnw9bC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9dCxufWZ1bmN0aW9uIHFvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcztzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMjpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiAkbyhuKSxudWxsO2Nhc2UgMTpjYXNlIDE3OnJldHVybiBNbChuLnR5cGUpJiZGbCgpLCRvKG4pLG51bGw7Y2FzZSAzOnJldHVybiByPW4uc3RhdGVOb2RlLGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLG51bGwhPT1lJiZudWxsIT09ZS5jaGlsZHx8KGZhKG4pP24uZmxhZ3N8PTQ6bnVsbD09PWV8fGUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJiEoMjU2Jm4uZmxhZ3MpfHwobi5mbGFnc3w9MTAyNCxudWxsIT09YWEmJih1cyhhYSksYWE9bnVsbCkpKSwkbyhuKSxudWxsO2Nhc2UgNTp1dShuKTt2YXIgbD10dShudS5jdXJyZW50KTtpZih0PW4udHlwZSxudWxsIT09ZSYmbnVsbCE9bi5zdGF0ZU5vZGUpRm8oZSxuLHQsciksZS5yZWYhPT1uLnJlZiYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZihudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtyZXR1cm4gJG8obiksbnVsbH1pZihlPXR1KEphLmN1cnJlbnQpLGZhKG4pKXtyPW4uc3RhdGVOb2RlLHQ9bi50eXBlO3ZhciB1PW4ubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltkbF09bixyW3BsXT11LGU9ISEoMSZuLm1vZGUpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixyKSxWcigiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6VnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDxEci5sZW5ndGg7bCsrKVZyKERyW2xdLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlZyKCJlcnJvciIsciksVnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6VnIoInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6WChyLHUpLFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIXUubXVsdGlwbGV9LFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInRleHRhcmVhIjpsZShyLHUpLFZyKCJpbnZhbGlkIixyKX1mb3IodmFyIGkgaW4geWUodCx1KSxsPW51bGwsdSlpZih1Lmhhc093blByb3BlcnR5KGkpKXt2YXIgcz11W2ldOyJjaGlsZHJlbiI9PT1pPyJzdHJpbmciPT10eXBlb2Ygcz9yLnRleHRDb250ZW50IT09cyYmKCEwIT09dS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJlpyKHIudGV4dENvbnRlbnQscyxlKSxsPVsiY2hpbGRyZW4iLHNdKToibnVtYmVyIj09dHlwZW9mIHMmJnIudGV4dENvbnRlbnQhPT0iIitzJiYoITAhPT11LnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci50ZXh0Q29udGVudCxzLGUpLGw9WyJjaGlsZHJlbiIsIiIrc10pOm8uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPXMmJiJvblNjcm9sbCI9PT1pJiZWcigic2Nyb2xsIixyKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChyKSxKKHIsdSwhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChyKSx1ZShyKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09dHlwZW9mIHUub25DbGljayYmKHIub25jbGljaz1Kcil9cj1sLG4udXBkYXRlUXVldWU9cixudWxsIT09ciYmKG4uZmxhZ3N8PTQpfWVsc2V7Cmk9OT09PWwubm9kZVR5cGU/bDpsLm93bmVyRG9jdW1lbnQsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZSYmKGU9b2UodCkpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/InNjcmlwdCI9PT10PygoZT1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOiJzdHJpbmciPT10eXBlb2Ygci5pcz9lPWkuY3JlYXRlRWxlbWVudCh0LHtpczpyLmlzfSk6KGU9aS5jcmVhdGVFbGVtZW50KHQpLCJzZWxlY3QiPT09dCYmKGk9ZSxyLm11bHRpcGxlP2kubXVsdGlwbGU9ITA6ci5zaXplJiYoaS5zaXplPXIuc2l6ZSkpKTplPWkuY3JlYXRlRWxlbWVudE5TKGUsdCksZVtkbF09bixlW3BsXT1yLE1vKGUsbiksbi5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2goaT1iZSh0LHIpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixlKSxWcigiY2xvc2UiLGUpLGw9cjticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOlZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPERyLmxlbmd0aDtsKyspVnIoRHJbbF0sZSk7bD1yO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLGUpLGw9cjticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpWcigiZXJyb3IiLGUpLFZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJkZXRhaWxzIjpWcigidG9nZ2xlIixlKSxsPXI7YnJlYWs7Y2FzZSJpbnB1dCI6WChlLHIpLGw9WShlLHIpLFZyKCJpbnZhbGlkIixlKTticmVhaztjYXNlIm9wdGlvbiI6ZGVmYXVsdDpsPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxsPU8oe30scix7dmFsdWU6dm9pZCAwfSksVnIoImludmFsaWQiLGUpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmxlKGUsciksbD1yZShlLHIpLFZyKCJpbnZhbGlkIixlKX1mb3IodSBpbiB5ZSh0LGwpLHM9bClpZihzLmhhc093blByb3BlcnR5KHUpKXt2YXIgYz1zW3VdOyJzdHlsZSI9PT11P2dlKGUsYyk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXU/bnVsbCE9KGM9Yz9jLl9faHRtbDp2b2lkIDApJiZmZShlLGMpOiJjaGlsZHJlbiI9PT11PyJzdHJpbmciPT10eXBlb2YgYz8oInRleHRhcmVhIiE9PXR8fCIiIT09YykmJmRlKGUsYyk6Im51bWJlciI9PXR5cGVvZiBjJiZkZShlLCIiK2MpOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09dSYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT11JiYiYXV0b0ZvY3VzIiE9PXUmJihvLmhhc093blByb3BlcnR5KHUpP251bGwhPWMmJiJvblNjcm9sbCI9PT11JiZWcigic2Nyb2xsIixlKTpudWxsIT1jJiZiKGUsdSxjLGkpKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChlKSxKKGUsciwhMSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChlKSx1ZShlKTticmVhaztjYXNlIm9wdGlvbiI6bnVsbCE9ci52YWx1ZSYmZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIitRKHIudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIXIubXVsdGlwbGUsbnVsbCE9KHU9ci52YWx1ZSk/dGUoZSwhIXIubXVsdGlwbGUsdSwhMSk6bnVsbCE9ci5kZWZhdWx0VmFsdWUmJnRlKGUsISFyLm11bHRpcGxlLHIuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBsLm9uQ2xpY2smJihlLm9uY2xpY2s9SnIpfXN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnI9ISFyLmF1dG9Gb2N1czticmVhayBlO2Nhc2UiaW1nIjpyPSEwO2JyZWFrIGU7ZGVmYXVsdDpyPSExfX1yJiYobi5mbGFnc3w9NCl9bnVsbCE9PW4ucmVmJiYobi5mbGFnc3w9NTEyLG4uZmxhZ3N8PTIwOTcxNTIpfXJldHVybiAkbyhuKSxudWxsO2Nhc2UgNjppZihlJiZudWxsIT1uLnN0YXRlTm9kZSlSbygwLG4sZS5tZW1vaXplZFByb3BzLHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiByJiZudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtpZih0PXR1KG51LmN1cnJlbnQpLHR1KEphLmN1cnJlbnQpLGZhKG4pKXtpZihyPW4uc3RhdGVOb2RlLHQ9bi5tZW1vaXplZFByb3BzLHJbZGxdPW4sKHU9ci5ub2RlVmFsdWUhPT10KSYmbnVsbCE9PShlPXRhKSlzd2l0Y2goZS50YWcpe2Nhc2UgMzpacihyLm5vZGVWYWx1ZSx0LCEhKDEmZS5tb2RlKSk7YnJlYWs7Y2FzZSA1OiEwIT09ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci5ub2RlVmFsdWUsdCwhISgxJmUubW9kZSkpfXUmJihuLmZsYWdzfD00KX1lbHNlKHI9KDk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShyKSlbZGxdPW4sbi5zdGF0ZU5vZGU9cn1yZXR1cm4gJG8obiksbnVsbDtjYXNlIDEzOmlmKENsKG91KSxyPW4ubWVtb2l6ZWRTdGF0ZSxudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkKXtpZihsYSYmbnVsbCE9PXJhJiYxJm4ubW9kZSYmISgxMjgmbi5mbGFncykpZGEoKSxwYSgpLG4uZmxhZ3N8PTk4NTYwLHU9ITE7ZWxzZSBpZih1PWZhKG4pLG51bGwhPT1yJiZudWxsIT09ci5kZWh5ZHJhdGVkKXtpZihudWxsPT09ZSl7aWYoIXUpdGhyb3cgRXJyb3IoYSgzMTgpKTtpZighKHU9bnVsbCE9PSh1PW4ubWVtb2l6ZWRTdGF0ZSk/dS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKGEoMzE3KSk7dVtkbF09bn1lbHNlIHBhKCksISgxMjgmbi5mbGFncykmJihuLm1lbW9pemVkU3RhdGU9bnVsbCksbi5mbGFnc3w9NDskbyhuKSx1PSExfWVsc2UgbnVsbCE9PWFhJiYodXMoYWEpLGFhPW51bGwpLHU9ITA7aWYoIXUpcmV0dXJuIDY1NTM2Jm4uZmxhZ3M/bjpudWxsfXJldHVybiAxMjgmbi5mbGFncz8obi5sYW5lcz10LG4pOigocj1udWxsIT09cikhPT0obnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiZyJiYobi5jaGlsZC5mbGFnc3w9ODE5MiwKMSZuLm1vZGUmJihudWxsPT09ZXx8MSZvdS5jdXJyZW50PzA9PT1SaSYmKFJpPTMpOmhzKCkpKSxudWxsIT09bi51cGRhdGVRdWV1ZSYmKG4uZmxhZ3N8PTQpLCRvKG4pLG51bGwpO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsPT09ZSYmV3Iobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksJG8obiksbnVsbDtjYXNlIDEwOnJldHVybiBTYShuLnR5cGUuX2NvbnRleHQpLCRvKG4pLG51bGw7Y2FzZSAxOTppZihDbChvdSksbnVsbD09PSh1PW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuICRvKG4pLG51bGw7aWYocj0hISgxMjgmbi5mbGFncyksbnVsbD09PShpPXUucmVuZGVyaW5nKSlpZihyKWpvKHUsITEpO2Vsc2V7aWYoMCE9PVJpfHxudWxsIT09ZSYmMTI4JmUuZmxhZ3MpZm9yKGU9bi5jaGlsZDtudWxsIT09ZTspe2lmKG51bGwhPT0oaT1pdShlKSkpe2ZvcihuLmZsYWdzfD0xMjgsam8odSwhMSksbnVsbCE9PShyPWkudXBkYXRlUXVldWUpJiYobi51cGRhdGVRdWV1ZT1yLG4uZmxhZ3N8PTQpLG4uc3VidHJlZUZsYWdzPTAscj10LHQ9bi5jaGlsZDtudWxsIT09dDspZT1yLCh1PXQpLmZsYWdzJj0xNDY4MDA2NixudWxsPT09KGk9dS5hbHRlcm5hdGUpPyh1LmNoaWxkTGFuZXM9MCx1LmxhbmVzPWUsdS5jaGlsZD1udWxsLHUuc3VidHJlZUZsYWdzPTAsdS5tZW1vaXplZFByb3BzPW51bGwsdS5tZW1vaXplZFN0YXRlPW51bGwsdS51cGRhdGVRdWV1ZT1udWxsLHUuZGVwZW5kZW5jaWVzPW51bGwsdS5zdGF0ZU5vZGU9bnVsbCk6KHUuY2hpbGRMYW5lcz1pLmNoaWxkTGFuZXMsdS5sYW5lcz1pLmxhbmVzLHUuY2hpbGQ9aS5jaGlsZCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwsdS5tZW1vaXplZFByb3BzPWkubWVtb2l6ZWRQcm9wcyx1Lm1lbW9pemVkU3RhdGU9aS5tZW1vaXplZFN0YXRlLHUudXBkYXRlUXVldWU9aS51cGRhdGVRdWV1ZSx1LnR5cGU9aS50eXBlLGU9aS5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9bnVsbD09PWU/bnVsbDp7bGFuZXM6ZS5sYW5lcyxmaXJzdENvbnRleHQ6ZS5maXJzdENvbnRleHR9KSx0PXQuc2libGluZztyZXR1cm4gemwob3UsMSZvdS5jdXJyZW50fDIpLG4uY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXUudGFpbCYmR2UoKT5XaSYmKG4uZmxhZ3N8PTEyOCxyPSEwLGpvKHUsITEpLG4ubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighcilpZihudWxsIT09KGU9aXUoaSkpKXtpZihuLmZsYWdzfD0xMjgscj0hMCxudWxsIT09KHQ9ZS51cGRhdGVRdWV1ZSkmJihuLnVwZGF0ZVF1ZXVlPXQsbi5mbGFnc3w9NCksam8odSwhMCksbnVsbD09PXUudGFpbCYmImhpZGRlbiI9PT11LnRhaWxNb2RlJiYhaS5hbHRlcm5hdGUmJiFsYSlyZXR1cm4gJG8obiksbnVsbH1lbHNlIDIqR2UoKS11LnJlbmRlcmluZ1N0YXJ0VGltZT5XaSYmMTA3Mzc0MTgyNCE9PXQmJihuLmZsYWdzfD0xMjgscj0hMCxqbyh1LCExKSxuLmxhbmVzPTQxOTQzMDQpO3UuaXNCYWNrd2FyZHM/KGkuc2libGluZz1uLmNoaWxkLG4uY2hpbGQ9aSk6KG51bGwhPT0odD11Lmxhc3QpP3Quc2libGluZz1pOm4uY2hpbGQ9aSx1Lmxhc3Q9aSl9cmV0dXJuIG51bGwhPT11LnRhaWw/KG49dS50YWlsLHUucmVuZGVyaW5nPW4sdS50YWlsPW4uc2libGluZyx1LnJlbmRlcmluZ1N0YXJ0VGltZT1HZSgpLG4uc2libGluZz1udWxsLHQ9b3UuY3VycmVudCx6bChvdSxyPzEmdHwyOjEmdCksbik6KCRvKG4pLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gZnMoKSxyPW51bGwhPT1uLm1lbW9pemVkU3RhdGUsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPT1yJiYobi5mbGFnc3w9ODE5MiksciYmMSZuLm1vZGU/ISEoMTA3Mzc0MTgyNCZNaSkmJigkbyhuKSw2Jm4uc3VidHJlZUZsYWdzJiYobi5mbGFnc3w9ODE5MikpOiRvKG4pLG51bGw7Y2FzZSAyNDpjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKGEoMTU2LG4udGFnKSl9ZnVuY3Rpb24gS28oZSxuKXtzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMTpyZXR1cm4gTWwobi50eXBlKSYmRmwoKSw2NTUzNiYoZT1uLmZsYWdzKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDM6cmV0dXJuIGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLDY1NTM2JihlPW4uZmxhZ3MpJiYhKDEyOCZlKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDU6cmV0dXJuIHV1KG4pLG51bGw7Y2FzZSAxMzppZihDbChvdSksbnVsbCE9PShlPW4ubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT1lLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT1uLmFsdGVybmF0ZSl0aHJvdyBFcnJvcihhKDM0MCkpO3BhKCl9cmV0dXJuIDY1NTM2JihlPW4uZmxhZ3MpPyhuLmZsYWdzPS02NTUzNyZlfDEyOCxuKTpudWxsO2Nhc2UgMTk6cmV0dXJuIENsKG91KSxudWxsO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIFNhKG4udHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGZzKCksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1Nbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgdD1uLmNoaWxkO251bGwhPT10Oyl7aWYoNT09PXQudGFnfHw2PT09dC50YWcpZS5hcHBlbmRDaGlsZCh0LnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09dC50YWcmJm51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09bilicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09bilyZXR1cm47dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX0sRm89ZnVuY3Rpb24oZSxuLHQscil7dmFyIGw9ZS5tZW1vaXplZFByb3BzO2lmKGwhPT1yKXtlPW4uc3RhdGVOb2RlLHR1KEphLmN1cnJlbnQpO3ZhciBhLHU9bnVsbDtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6bD1ZKGUsbCkscj1ZKGUsciksdT1bXTticmVhaztjYXNlInNlbGVjdCI6bD1PKHt9LGwse3ZhbHVlOnZvaWQgMH0pLHI9Tyh7fSxyLHt2YWx1ZTp2b2lkIDB9KSx1PVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmw9cmUoZSxsKSxyPXJlKGUsciksdT1bXTticmVhawo7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2YgbC5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPUpyKX1mb3IoYyBpbiB5ZSh0LHIpLHQ9bnVsbCxsKWlmKCFyLmhhc093blByb3BlcnR5KGMpJiZsLmhhc093blByb3BlcnR5KGMpJiZudWxsIT1sW2NdKWlmKCJzdHlsZSI9PT1jKXt2YXIgaT1sW2NdO2ZvcihhIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmKHR8fCh0PXt9KSx0W2FdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PWMmJiJjaGlsZHJlbiIhPT1jJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PWMmJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09YyYmImF1dG9Gb2N1cyIhPT1jJiYoby5oYXNPd25Qcm9wZXJ0eShjKT91fHwodT1bXSk6KHU9dXx8W10pLnB1c2goYyxudWxsKSk7Zm9yKGMgaW4gcil7dmFyIHM9cltjXTtpZihpPW51bGwhPWw/bFtjXTp2b2lkIDAsci5oYXNPd25Qcm9wZXJ0eShjKSYmcyE9PWkmJihudWxsIT1zfHxudWxsIT1pKSlpZigic3R5bGUiPT09YylpZihpKXtmb3IoYSBpbiBpKSFpLmhhc093blByb3BlcnR5KGEpfHxzJiZzLmhhc093blByb3BlcnR5KGEpfHwodHx8KHQ9e30pLHRbYV09IiIpO2ZvcihhIGluIHMpcy5oYXNPd25Qcm9wZXJ0eShhKSYmaVthXSE9PXNbYV0mJih0fHwodD17fSksdFthXT1zW2FdKX1lbHNlIHR8fCh1fHwodT1bXSksdS5wdXNoKGMsdCkpLHQ9cztlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWM/KHM9cz9zLl9faHRtbDp2b2lkIDAsaT1pP2kuX19odG1sOnZvaWQgMCxudWxsIT1zJiZpIT09cyYmKHU9dXx8W10pLnB1c2goYyxzKSk6ImNoaWxkcmVuIj09PWM/InN0cmluZyIhPXR5cGVvZiBzJiYibnVtYmVyIiE9dHlwZW9mIHN8fCh1PXV8fFtdKS5wdXNoKGMsIiIrcyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1jJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PWMmJihvLmhhc093blByb3BlcnR5KGMpPyhudWxsIT1zJiYib25TY3JvbGwiPT09YyYmVnIoInNjcm9sbCIsZSksdXx8aT09PXN8fCh1PVtdKSk6KHU9dXx8W10pLnB1c2goYyxzKSl9dCYmKHU9dXx8W10pLnB1c2goInN0eWxlIix0KTt2YXIgYz11OyhuLnVwZGF0ZVF1ZXVlPWMpJiYobi5mbGFnc3w9NCl9fSxSbz1mdW5jdGlvbihlLG4sdCxyKXt0IT09ciYmKG4uZmxhZ3N8PTQpfTt2YXIgWW89ITEsWG89ITEsR289ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsWm89bnVsbDtmdW5jdGlvbiBKbyhlLG4pe3ZhciB0PWUucmVmO2lmKG51bGwhPT10KWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRyeXt0KG51bGwpfWNhdGNoKHQpe0VzKGUsbix0KX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGVpKGUsbix0KXt0cnl7dCgpfWNhdGNoKHQpe0VzKGUsbix0KX19dmFyIG5pPSExO2Z1bmN0aW9uIHRpKGUsbix0KXt2YXIgcj1uLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT0ocj1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBsPXI9ci5uZXh0O2Rve2lmKChsLnRhZyZlKT09PWUpe3ZhciBhPWwuZGVzdHJveTtsLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWEmJmVpKG4sdCxhKX1sPWwubmV4dH13aGlsZShsIT09cil9fWZ1bmN0aW9uIHJpKGUsbil7aWYobnVsbCE9PShuPW51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKT9uLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciB0PW49bi5uZXh0O2Rve2lmKCh0LnRhZyZlKT09PWUpe3ZhciByPXQuY3JlYXRlO3QuZGVzdHJveT1yKCl9dD10Lm5leHR9d2hpbGUodCE9PW4pfX1mdW5jdGlvbiBsaShlKXt2YXIgbj1lLnJlZjtpZihudWxsIT09bil7dmFyIHQ9ZS5zdGF0ZU5vZGU7ZS50YWcsZT10LCJmdW5jdGlvbiI9PXR5cGVvZiBuP24oZSk6bi5jdXJyZW50PWV9fWZ1bmN0aW9uIGFpKGUpe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiYoZS5hbHRlcm5hdGU9bnVsbCxhaShuKSksZS5jaGlsZD1udWxsLGUuZGVsZXRpb25zPW51bGwsZS5zaWJsaW5nPW51bGwsNT09PWUudGFnJiYobnVsbCE9PShuPWUuc3RhdGVOb2RlKSYmKGRlbGV0ZSBuW2RsXSxkZWxldGUgbltwbF0sZGVsZXRlIG5baGxdLGRlbGV0ZSBuW2dsXSxkZWxldGUgblt2bF0pKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfWZ1bmN0aW9uIHVpKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIG9pKGUpe2U6Zm9yKDs7KXtmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fHVpKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nOzUhPT1lLnRhZyYmNiE9PWUudGFnJiYxOCE9PWUudGFnOyl7aWYoMiZlLmZsYWdzKWNvbnRpbnVlIGU7aWYobnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSxuPzg9PT10Lm5vZGVUeXBlP3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxuKTp0Lmluc2VydEJlZm9yZShlLG4pOig4PT09dC5ub2RlVHlwZT8obj10LnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShlLHQpOihuPXQpLmFwcGVuZENoaWxkKGUpLG51bGwhPSh0PXQuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9SnIpKTtlbHNlIGlmKDQhPT1yJiZudWxsIT09KGU9ZS5jaGlsZCkpZm9yKGlpKGUsbix0KSxlPWUuc2libGluZztudWxsIT09ZTspaWkoZSxuLHQpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIHNpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSwKbj90Lmluc2VydEJlZm9yZShlLG4pOnQuYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZig0IT09ciYmbnVsbCE9PShlPWUuY2hpbGQpKWZvcihzaShlLG4sdCksZT1lLnNpYmxpbmc7bnVsbCE9PWU7KXNpKGUsbix0KSxlPWUuc2libGluZ312YXIgY2k9bnVsbCxmaT0hMTtmdW5jdGlvbiBkaShlLG4sdCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspcGkoZSxuLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHBpKGUsbix0KXtpZihhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXthbi5vbkNvbW1pdEZpYmVyVW5tb3VudChsbix0KX1jYXRjaChlKXt9c3dpdGNoKHQudGFnKXtjYXNlIDU6WG98fEpvKHQsbik7Y2FzZSA2OnZhciByPWNpLGw9Zmk7Y2k9bnVsbCxkaShlLG4sdCksZmk9bCxudWxsIT09KGNpPXIpJiYoZmk/KGU9Y2ksdD10LnN0YXRlTm9kZSw4PT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk6ZS5yZW1vdmVDaGlsZCh0KSk6Y2kucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDE4Om51bGwhPT1jaSYmKGZpPyhlPWNpLHQ9dC5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/aWwoZS5wYXJlbnROb2RlLHQpOjE9PT1lLm5vZGVUeXBlJiZpbChlLHQpLEhuKGUpKTppbChjaSx0LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWNpLGw9ZmksY2k9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxmaT0hMCxkaShlLG4sdCksY2k9cixmaT1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZighWG8mJihudWxsIT09KHI9dC51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKSl7bD1yPXIubmV4dDtkb3t2YXIgYT1sLHU9YS5kZXN0cm95O2E9YS50YWcsdm9pZCAwIT09dSYmKDImYXx8NCZhKSYmZWkodCxuLHUpLGw9bC5uZXh0fXdoaWxlKGwhPT1yKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAxOmlmKCFYbyYmKEpvKHQsbiksImZ1bmN0aW9uIj09dHlwZW9mKHI9dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ci5wcm9wcz10Lm1lbW9pemVkUHJvcHMsci5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsci5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGUpe0VzKHQsbixlKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAyMTpkaShlLG4sdCk7YnJlYWs7Y2FzZSAyMjoxJnQubW9kZT8oWG89KHI9WG8pfHxudWxsIT09dC5tZW1vaXplZFN0YXRlLGRpKGUsbix0KSxYbz1yKTpkaShlLG4sdCk7YnJlYWs7ZGVmYXVsdDpkaShlLG4sdCl9fWZ1bmN0aW9uIG1pKGUpe3ZhciBuPWUudXBkYXRlUXVldWU7aWYobnVsbCE9PW4pe2UudXBkYXRlUXVldWU9bnVsbDt2YXIgdD1lLnN0YXRlTm9kZTtudWxsPT09dCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IEdvKSxuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByPV9zLmJpbmQobnVsbCxlLG4pO3QuaGFzKG4pfHwodC5hZGQobiksbi50aGVuKHIscikpfSkpfX1mdW5jdGlvbiBoaShlLG4pe3ZhciB0PW4uZGVsZXRpb25zO2lmKG51bGwhPT10KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO3RyeXt2YXIgdT1lLG89bixpPW87ZTpmb3IoO251bGwhPT1pOyl7c3dpdGNoKGkudGFnKXtjYXNlIDU6Y2k9aS5zdGF0ZU5vZGUsZmk9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OmNpPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZmk9ITA7YnJlYWsgZX1pPWkucmV0dXJufWlmKG51bGw9PT1jaSl0aHJvdyBFcnJvcihhKDE2MCkpO3BpKHUsbyxsKSxjaT1udWxsLGZpPSExO3ZhciBzPWwuYWx0ZXJuYXRlO251bGwhPT1zJiYocy5yZXR1cm49bnVsbCksbC5yZXR1cm49bnVsbH1jYXRjaChlKXtFcyhsLG4sZSl9fWlmKDEyODU0Jm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWdpKG4sZSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gZ2koZSxuKXt2YXIgdD1lLmFsdGVybmF0ZSxyPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoaGkobixlKSx2aShlKSw0JnIpe3RyeXt0aSgzLGUsZS5yZXR1cm4pLHJpKDMsZSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX10cnl7dGkoNSxlLGUucmV0dXJuKX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDE6aGkobixlKSx2aShlKSw1MTImciYmbnVsbCE9PXQmJkpvKHQsdC5yZXR1cm4pO2JyZWFrO2Nhc2UgNTppZihoaShuLGUpLHZpKGUpLDUxMiZyJiZudWxsIT09dCYmSm8odCx0LnJldHVybiksMzImZS5mbGFncyl7dmFyIGw9ZS5zdGF0ZU5vZGU7dHJ5e2RlKGwsIiIpfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWlmKDQmciYmbnVsbCE9KGw9ZS5zdGF0ZU5vZGUpKXt2YXIgdT1lLm1lbW9pemVkUHJvcHMsbz1udWxsIT09dD90Lm1lbW9pemVkUHJvcHM6dSxpPWUudHlwZSxzPWUudXBkYXRlUXVldWU7aWYoZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT1zKXRyeXsiaW5wdXQiPT09aSYmInJhZGlvIj09PXUudHlwZSYmbnVsbCE9dS5uYW1lJiZHKGwsdSksYmUoaSxvKTt2YXIgYz1iZShpLHUpO2ZvcihvPTA7bzxzLmxlbmd0aDtvKz0yKXt2YXIgZj1zW29dLGQ9c1tvKzFdOyJzdHlsZSI9PT1mP2dlKGwsZCk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWY/ZmUobCxkKToiY2hpbGRyZW4iPT09Zj9kZShsLGQpOmIobCxmLGQsYyl9c3dpdGNoKGkpe2Nhc2UiaW5wdXQiOloobCx1KTticmVhaztjYXNlInRleHRhcmVhIjphZShsLHUpO2JyZWFrO2Nhc2Uic2VsZWN0Ijp2YXIgcD1sLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7bC5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhdS5tdWx0aXBsZTt2YXIgbT11LnZhbHVlO251bGwhPW0/dGUobCwhIXUubXVsdGlwbGUsbSwhMSk6cCE9PSEhdS5tdWx0aXBsZSYmKG51bGwhPXUuZGVmYXVsdFZhbHVlP3RlKGwsISF1Lm11bHRpcGxlLHUuZGVmYXVsdFZhbHVlLCEwKTp0ZShsLCEhdS5tdWx0aXBsZSx1Lm11bHRpcGxlP1tdOiIiLCExKSl9bFtwbF09dX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDY6aWYoaGkobixlKSx2aShlKSw0JnIpewppZihudWxsPT09ZS5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjIpKTtsPWUuc3RhdGVOb2RlLHU9ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT11fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMzppZihoaShuLGUpLHZpKGUpLDQmciYmbnVsbCE9PXQmJnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e0huKG4uY29udGFpbmVySW5mbyl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX1icmVhaztjYXNlIDQ6ZGVmYXVsdDpoaShuLGUpLHZpKGUpO2JyZWFrO2Nhc2UgMTM6aGkobixlKSx2aShlKSw4MTkyJihsPWUuY2hpbGQpLmZsYWdzJiYodT1udWxsIT09bC5tZW1vaXplZFN0YXRlLGwuc3RhdGVOb2RlLmlzSGlkZGVuPXUsIXV8fG51bGwhPT1sLmFsdGVybmF0ZSYmbnVsbCE9PWwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fChCaT1HZSgpKSksNCZyJiZtaShlKTticmVhaztjYXNlIDIyOmlmKGY9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUsMSZlLm1vZGU/KFhvPShjPVhvKXx8ZixoaShuLGUpLFhvPWMpOmhpKG4sZSksdmkoZSksODE5MiZyKXtpZihjPW51bGwhPT1lLm1lbW9pemVkU3RhdGUsKGUuc3RhdGVOb2RlLmlzSGlkZGVuPWMpJiYhZiYmMSZlLm1vZGUpZm9yKFpvPWUsZj1lLmNoaWxkO251bGwhPT1mOyl7Zm9yKGQ9Wm89ZjtudWxsIT09Wm87KXtzd2l0Y2gobT0ocD1abykuY2hpbGQscC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp0aSg0LHAscC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpKbyhwLHAucmV0dXJuKTt2YXIgaD1wLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaC5jb21wb25lbnRXaWxsVW5tb3VudCl7cj1wLHQ9cC5yZXR1cm47dHJ5e249cixoLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxoLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxoLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7RXMocix0LGUpfX1icmVhaztjYXNlIDU6Sm8ocCxwLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihudWxsIT09cC5tZW1vaXplZFN0YXRlKXt3aShkKTtjb250aW51ZX19bnVsbCE9PW0/KG0ucmV0dXJuPXAsWm89bSk6d2koZCl9Zj1mLnNpYmxpbmd9ZTpmb3IoZj1udWxsLGQ9ZTs7KXtpZig1PT09ZC50YWcpe2lmKG51bGw9PT1mKXtmPWQ7dHJ5e2w9ZC5zdGF0ZU5vZGUsYz8iZnVuY3Rpb24iPT10eXBlb2YodT1sLnN0eWxlKS5zZXRQcm9wZXJ0eT91LnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOnUuZGlzcGxheT0ibm9uZSI6KGk9ZC5zdGF0ZU5vZGUsbz1udWxsIT0ocz1kLm1lbW9pemVkUHJvcHMuc3R5bGUpJiZzLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/cy5kaXNwbGF5Om51bGwsaS5zdHlsZS5kaXNwbGF5PWhlKCJkaXNwbGF5IixvKSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX19fWVsc2UgaWYoNj09PWQudGFnKXtpZihudWxsPT09Zil0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPWM/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWVsc2UgaWYoKDIyIT09ZC50YWcmJjIzIT09ZC50YWd8fG51bGw9PT1kLm1lbW9pemVkU3RhdGV8fGQ9PT1lKSYmbnVsbCE9PWQuY2hpbGQpe2QuY2hpbGQucmV0dXJuPWQsZD1kLmNoaWxkO2NvbnRpbnVlfWlmKGQ9PT1lKWJyZWFrIGU7Zm9yKDtudWxsPT09ZC5zaWJsaW5nOyl7aWYobnVsbD09PWQucmV0dXJufHxkLnJldHVybj09PWUpYnJlYWsgZTtmPT09ZCYmKGY9bnVsbCksZD1kLnJldHVybn1mPT09ZCYmKGY9bnVsbCksZC5zaWJsaW5nLnJldHVybj1kLnJldHVybixkPWQuc2libGluZ319YnJlYWs7Y2FzZSAxOTpoaShuLGUpLHZpKGUpLDQmciYmbWkoZSk7Y2FzZSAyMTp9fWZ1bmN0aW9uIHZpKGUpe3ZhciBuPWUuZmxhZ3M7aWYoMiZuKXt0cnl7ZTp7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl7aWYodWkodCkpe3ZhciByPXQ7YnJlYWsgZX10PXQucmV0dXJufXRocm93IEVycm9yKGEoMTYwKSl9c3dpdGNoKHIudGFnKXtjYXNlIDU6dmFyIGw9ci5zdGF0ZU5vZGU7MzImci5mbGFncyYmKGRlKGwsIiIpLHIuZmxhZ3MmPS0zMyksc2koZSxvaShlKSxsKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB1PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWkoZSxvaShlKSx1KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMTYxKSl9fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9ZS5mbGFncyY9LTN9NDA5NiZuJiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIHlpKGUsbix0KXtabz1lLGJpKGUsbix0KX1mdW5jdGlvbiBiaShlLG4sdCl7Zm9yKHZhciByPSEhKDEmZS5tb2RlKTtudWxsIT09Wm87KXt2YXIgbD1abyxhPWwuY2hpbGQ7aWYoMjI9PT1sLnRhZyYmcil7dmFyIHU9bnVsbCE9PWwubWVtb2l6ZWRTdGF0ZXx8WW87aWYoIXUpe3ZhciBvPWwuYWx0ZXJuYXRlLGk9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGV8fFhvO289WW87dmFyIHM9WG87aWYoWW89dSwoWG89aSkmJiFzKWZvcihabz1sO251bGwhPT1abzspaT0odT1abykuY2hpbGQsMjI9PT11LnRhZyYmbnVsbCE9PXUubWVtb2l6ZWRTdGF0ZT9TaShsKTpudWxsIT09aT8oaS5yZXR1cm49dSxabz1pKTpTaShsKTtmb3IoO251bGwhPT1hOylabz1hLGJpKGEsbix0KSxhPWEuc2libGluZztabz1sLFlvPW8sWG89c31raShlKX1lbHNlIDg3NzImbC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1hPyhhLnJldHVybj1sLFpvPWEpOmtpKGUpfX1mdW5jdGlvbiBraShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKDg3NzImbi5mbGFncyl7dmFyIHQ9bi5hbHRlcm5hdGU7dHJ5e2lmKDg3NzImbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WG98fHJpKDUsbik7YnJlYWs7Y2FzZSAxOnZhciByPW4uc3RhdGVOb2RlO2lmKDQmbi5mbGFncyYmIVhvKWlmKG51bGw9PT10KXIuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBsPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOmdhKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpCjtyLmNvbXBvbmVudERpZFVwZGF0ZShsLHQubWVtb2l6ZWRTdGF0ZSxyLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgdT1uLnVwZGF0ZVF1ZXVlO251bGwhPT11JiZVYShuLHUscik7YnJlYWs7Y2FzZSAzOnZhciBvPW4udXBkYXRlUXVldWU7aWYobnVsbCE9PW8pe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgNTpjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX1VYShuLG8sdCl9YnJlYWs7Y2FzZSA1OnZhciBpPW4uc3RhdGVOb2RlO2lmKG51bGw9PT10JiY0Jm4uZmxhZ3Mpe3Q9aTt2YXIgcz1uLm1lbW9pemVkUHJvcHM7c3dpdGNoKG4udHlwZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpzLmF1dG9Gb2N1cyYmdC5mb2N1cygpO2JyZWFrO2Nhc2UiaW1nIjpzLnNyYyYmKHQuc3JjPXMuc3JjKX19YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTk6Y2FzZSAxNzpjYXNlIDIxOmNhc2UgMjI6Y2FzZSAyMzpjYXNlIDI1OmJyZWFrO2Nhc2UgMTM6aWYobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSl7dmFyIGM9bi5hbHRlcm5hdGU7aWYobnVsbCE9PWMpe3ZhciBmPWMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09Zil7dmFyIGQ9Zi5kZWh5ZHJhdGVkO251bGwhPT1kJiZIbihkKX19fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoYSgxNjMpKX1Yb3x8NTEyJm4uZmxhZ3MmJmxpKG4pfWNhdGNoKGUpe0VzKG4sbi5yZXR1cm4sZSl9fWlmKG49PT1lKXtabz1udWxsO2JyZWFrfWlmKG51bGwhPT0odD1uLnNpYmxpbmcpKXt0LnJldHVybj1uLnJldHVybixabz10O2JyZWFrfVpvPW4ucmV0dXJufX1mdW5jdGlvbiB3aShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKG49PT1lKXtabz1udWxsO2JyZWFrfXZhciB0PW4uc2libGluZztpZihudWxsIT09dCl7dC5yZXR1cm49bi5yZXR1cm4sWm89dDticmVha31abz1uLnJldHVybn19ZnVuY3Rpb24gU2koZSl7Zm9yKDtudWxsIT09Wm87KXt2YXIgbj1abzt0cnl7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciB0PW4ucmV0dXJuO3RyeXtyaSg0LG4pfWNhdGNoKGUpe0VzKG4sdCxlKX1icmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkTW91bnQpe3ZhciBsPW4ucmV0dXJuO3RyeXtyLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7RXMobixsLGUpfX12YXIgYT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobixhLGUpfWJyZWFrO2Nhc2UgNTp2YXIgdT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobix1LGUpfX19Y2F0Y2goZSl7RXMobixuLnJldHVybixlKX1pZihuPT09ZSl7Wm89bnVsbDticmVha312YXIgbz1uLnNpYmxpbmc7aWYobnVsbCE9PW8pe28ucmV0dXJuPW4ucmV0dXJuLFpvPW87YnJlYWt9Wm89bi5yZXR1cm59fXZhciB4aSxFaT1NYXRoLmNlaWwsQ2k9ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHppPWsuUmVhY3RDdXJyZW50T3duZXIsTmk9ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxfaT0wLFBpPW51bGwsVGk9bnVsbCxMaT0wLE1pPTAsRmk9RWwoMCksUmk9MCxEaT1udWxsLElpPTAsT2k9MCxVaT0wLFZpPW51bGwsQWk9bnVsbCxCaT0wLFdpPTEvMCxIaT1udWxsLFFpPSExLGppPW51bGwsJGk9bnVsbCxxaT0hMSxLaT1udWxsLFlpPTAsWGk9MCxHaT1udWxsLFppPS0xLEppPTA7ZnVuY3Rpb24gZXMoKXtyZXR1cm4gNiZfaT9HZSgpOi0xIT09Wmk/Wmk6Wmk9R2UoKX1mdW5jdGlvbiBucyhlKXtyZXR1cm4gMSZlLm1vZGU/MiZfaSYmMCE9PUxpP0xpJi1MaTpudWxsIT09aGEudHJhbnNpdGlvbj8oMD09PUppJiYoSmk9Z24oKSksSmkpOjAhPT0oZT1rbik/ZTplPXZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MTY6R24oZS50eXBlKToxfWZ1bmN0aW9uIHRzKGUsbix0LHIpe2lmKDUwPFhpKXRocm93IFhpPTAsR2k9bnVsbCxFcnJvcihhKDE4NSkpO3luKGUsdCxyKSwyJl9pJiZlPT09UGl8fChlPT09UGkmJighKDImX2kpJiYoT2l8PXQpLDQ9PT1SaSYmb3MoZSxMaSkpLHJzKGUsciksMT09PXQmJjA9PT1faSYmISgxJm4ubW9kZSkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSkpfWZ1bmN0aW9uIHJzKGUsbil7dmFyIHQ9ZS5jYWxsYmFja05vZGU7IWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT1lLnBlbmRpbmdMYW5lczswPGE7KXt2YXIgdT0zMS11bihhKSxvPTE8PHUsaT1sW3VdOy0xPT09aT9vJnQmJiEobyZyKXx8KGxbdV09bW4obyxuKSk6aTw9biYmKGUuZXhwaXJlZExhbmVzfD1vKSxhJj1+b319KGUsbik7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpbnVsbCE9PXQmJktlKHQpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihuPXImLXIsZS5jYWxsYmFja1ByaW9yaXR5IT09bil7aWYobnVsbCE9dCYmS2UodCksMT09PW4pMD09PWUudGFnP2Z1bmN0aW9uKGUpe1ZsPSEwLEJsKGUpfShpcy5iaW5kKG51bGwsZSkpOkJsKGlzLmJpbmQobnVsbCxlKSksdWwoKGZ1bmN0aW9uKCl7ISg2Jl9pKSYmV2woKX0pKSx0PW51bGw7ZWxzZXtzd2l0Y2god24ocikpe2Nhc2UgMTp0PUplO2JyZWFrO2Nhc2UgNDp0PWVuO2JyZWFrO2Nhc2UgMTY6ZGVmYXVsdDp0PW5uO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOnQ9cm59dD1Qcyh0LGxzLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PW4sZS5jYWxsYmFja05vZGU9dH19ZnVuY3Rpb24gbHMoZSxuKXtpZihaaT0tMSxKaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTt2YXIgdD1lLmNhbGxiYWNrTm9kZTtpZihTcygpJiZlLmNhbGxiYWNrTm9kZSE9PXQpcmV0dXJuIG51bGw7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpcmV0dXJuIG51bGw7aWYoMzAmcnx8ciZlLmV4cGlyZWRMYW5lc3x8biluPWdzKGUscik7ZWxzZXtuPXI7dmFyIGw9X2k7X2l8PTI7dmFyIHU9bXMoKQo7Zm9yKFBpPT09ZSYmTGk9PT1ufHwoSGk9bnVsbCxXaT1HZSgpKzUwMCxkcyhlLG4pKTs7KXRyeXt5cygpO2JyZWFrfWNhdGNoKG4pe3BzKGUsbil9d2EoKSxDaS5jdXJyZW50PXUsX2k9bCxudWxsIT09VGk/bj0wOihQaT1udWxsLExpPTAsbj1SaSl9aWYoMCE9PW4pe2lmKDI9PT1uJiYoMCE9PShsPWhuKGUpKSYmKHI9bCxuPWFzKGUsbCkpKSwxPT09bil0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7aWYoNj09PW4pb3MoZSxyKTtlbHNle2lmKGw9ZS5jdXJyZW50LmFsdGVybmF0ZSwhKDMwJnJ8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOzspe2lmKDE2Mzg0Jm4uZmxhZ3Mpe3ZhciB0PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXQmJm51bGwhPT0odD10LnN0b3JlcykpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBsPXRbcl0sYT1sLmdldFNuYXBzaG90O2w9bC52YWx1ZTt0cnl7aWYoIW9yKGEoKSxsKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX19fWlmKHQ9bi5jaGlsZCwxNjM4NCZuLnN1YnRyZWVGbGFncyYmbnVsbCE9PXQpdC5yZXR1cm49bixuPXQ7ZWxzZXtpZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4hMDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fXJldHVybiEwfShsKXx8KG49Z3MoZSxyKSwyPT09biYmKHU9aG4oZSksMCE9PXUmJihyPXUsbj1hcyhlLHUpKSksMSE9PW4pKSl0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7c3dpdGNoKGUuZmluaXNoZWRXb3JrPWwsZS5maW5pc2hlZExhbmVzPXIsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihhKDM0NSkpO2Nhc2UgMjpjYXNlIDU6d3MoZSxBaSxIaSk7YnJlYWs7Y2FzZSAzOmlmKG9zKGUsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChuPUJpKzUwMC1HZSgpKSl7aWYoMCE9PXBuKGUsMCkpYnJlYWs7aWYoKChsPWUuc3VzcGVuZGVkTGFuZXMpJnIpIT09cil7ZXMoKSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJmw7YnJlYWt9ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxuKTticmVha313cyhlLEFpLEhpKTticmVhaztjYXNlIDQ6aWYob3MoZSxyKSwoNDE5NDI0MCZyKT09PXIpYnJlYWs7Zm9yKG49ZS5ldmVudFRpbWVzLGw9LTE7MDxyOyl7dmFyIG89MzEtdW4ocik7dT0xPDxvLChvPW5bb10pPmwmJihsPW8pLHImPX51fWlmKHI9bCwxMDwocj0oMTIwPihyPUdlKCktcik/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCpFaShyLzE5NjApKS1yKSl7ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxyKTticmVha313cyhlLEFpLEhpKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzI5KSl9fX1yZXR1cm4gcnMoZSxHZSgpKSxlLmNhbGxiYWNrTm9kZT09PXQ/bHMuYmluZChudWxsLGUpOm51bGx9ZnVuY3Rpb24gYXMoZSxuKXt2YXIgdD1WaTtyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoZHMoZSxuKS5mbGFnc3w9MjU2KSwyIT09KGU9Z3MoZSxuKSkmJihuPUFpLEFpPXQsbnVsbCE9PW4mJnVzKG4pKSxlfWZ1bmN0aW9uIHVzKGUpe251bGw9PT1BaT9BaT1lOkFpLnB1c2guYXBwbHkoQWksZSl9ZnVuY3Rpb24gb3MoZSxuKXtmb3IobiY9flVpLG4mPX5PaSxlLnN1c3BlbmRlZExhbmVzfD1uLGUucGluZ2VkTGFuZXMmPX5uLGU9ZS5leHBpcmF0aW9uVGltZXM7MDxuOyl7dmFyIHQ9MzEtdW4obikscj0xPDx0O2VbdF09LTEsbiY9fnJ9fWZ1bmN0aW9uIGlzKGUpe2lmKDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTtTcygpO3ZhciBuPXBuKGUsMCk7aWYoISgxJm4pKXJldHVybiBycyhlLEdlKCkpLG51bGw7dmFyIHQ9Z3MoZSxuKTtpZigwIT09ZS50YWcmJjI9PT10KXt2YXIgcj1obihlKTswIT09ciYmKG49cix0PWFzKGUscikpfWlmKDE9PT10KXRocm93IHQ9RGksZHMoZSwwKSxvcyhlLG4pLHJzKGUsR2UoKSksdDtpZig2PT09dCl0aHJvdyBFcnJvcihhKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz1uLHdzKGUsQWksSGkpLHJzKGUsR2UoKSksbnVsbH1mdW5jdGlvbiBzcyhlLG4pe3ZhciB0PV9pO19pfD0xO3RyeXtyZXR1cm4gZShuKX1maW5hbGx5ezA9PT0oX2k9dCkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSl9fWZ1bmN0aW9uIGNzKGUpe251bGwhPT1LaSYmMD09PUtpLnRhZyYmISg2Jl9pKSYmU3MoKTt2YXIgbj1faTtfaXw9MTt2YXIgdD1OaS50cmFuc2l0aW9uLHI9a247dHJ5e2lmKE5pLnRyYW5zaXRpb249bnVsbCxrbj0xLGUpcmV0dXJuIGUoKX1maW5hbGx5e2tuPXIsTmkudHJhbnNpdGlvbj10LCEoNiYoX2k9bikpJiZXbCgpfX1mdW5jdGlvbiBmcygpe01pPUZpLmN1cnJlbnQsQ2woRmkpfWZ1bmN0aW9uIGRzKGUsbil7ZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MDt2YXIgdD1lLnRpbWVvdXRIYW5kbGU7aWYoLTEhPT10JiYoZS50aW1lb3V0SGFuZGxlPS0xLGxsKHQpKSxudWxsIT09VGkpZm9yKHQ9VGkucmV0dXJuO251bGwhPT10Oyl7dmFyIHI9dDtzd2l0Y2gobmEociksci50YWcpe2Nhc2UgMTpudWxsIT0ocj1yLnR5cGUuY2hpbGRDb250ZXh0VHlwZXMpJiZGbCgpO2JyZWFrO2Nhc2UgMzpsdSgpLENsKFBsKSxDbChfbCksY3UoKTticmVhaztjYXNlIDU6dXUocik7YnJlYWs7Y2FzZSA0Omx1KCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDE5OkNsKG91KTticmVhaztjYXNlIDEwOlNhKHIudHlwZS5fY29udGV4dCk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmZzKCl9dD10LnJldHVybn1pZihQaT1lLFRpPWU9RnMoZS5jdXJyZW50LG51bGwpLExpPU1pPW4sUmk9MCxEaT1udWxsLFVpPU9pPUlpPTAsQWk9Vmk9bnVsbCxudWxsIT09emEpe2ZvcihuPTA7bjx6YS5sZW5ndGg7bisrKWlmKG51bGwhPT0ocj0odD16YVtuXSkuaW50ZXJsZWF2ZWQpKXt0LmludGVybGVhdmVkPW51bGwKO3ZhciBsPXIubmV4dCxhPXQucGVuZGluZztpZihudWxsIT09YSl7dmFyIHU9YS5uZXh0O2EubmV4dD1sLHIubmV4dD11fXQucGVuZGluZz1yfXphPW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gcHMoZSxuKXtmb3IoOzspe3ZhciB0PVRpO3RyeXtpZih3YSgpLGZ1LmN1cnJlbnQ9YW8sdnUpe2Zvcih2YXIgcj1tdS5tZW1vaXplZFN0YXRlO251bGwhPT1yOyl7dmFyIGw9ci5xdWV1ZTtudWxsIT09bCYmKGwucGVuZGluZz1udWxsKSxyPXIubmV4dH12dT0hMX1pZihwdT0wLGd1PWh1PW11PW51bGwseXU9ITEsYnU9MCx6aS5jdXJyZW50PW51bGwsbnVsbD09PXR8fG51bGw9PT10LnJldHVybil7Umk9MSxEaT1uLFRpPW51bGw7YnJlYWt9ZTp7dmFyIHU9ZSxvPXQucmV0dXJuLGk9dCxzPW47aWYobj1MaSxpLmZsYWdzfD0zMjc2OCxudWxsIT09cyYmIm9iamVjdCI9PXR5cGVvZiBzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy50aGVuKXt2YXIgYz1zLGY9aSxkPWYudGFnO2lmKCEoMSZmLm1vZGV8fDAhPT1kJiYxMSE9PWQmJjE1IT09ZCkpe3ZhciBwPWYuYWx0ZXJuYXRlO3A/KGYudXBkYXRlUXVldWU9cC51cGRhdGVRdWV1ZSxmLm1lbW9pemVkU3RhdGU9cC5tZW1vaXplZFN0YXRlLGYubGFuZXM9cC5sYW5lcyk6KGYudXBkYXRlUXVldWU9bnVsbCxmLm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIG09dm8obyk7aWYobnVsbCE9PW0pe20uZmxhZ3MmPS0yNTcseW8obSxvLGksMCxuKSwxJm0ubW9kZSYmZ28odSxjLG4pLHM9Yzt2YXIgaD0obj1tKS51cGRhdGVRdWV1ZTtpZihudWxsPT09aCl7dmFyIGc9bmV3IFNldDtnLmFkZChzKSxuLnVwZGF0ZVF1ZXVlPWd9ZWxzZSBoLmFkZChzKTticmVhayBlfWlmKCEoMSZuKSl7Z28odSxjLG4pLGhzKCk7YnJlYWsgZX1zPUVycm9yKGEoNDI2KSl9ZWxzZSBpZihsYSYmMSZpLm1vZGUpe3ZhciB2PXZvKG8pO2lmKG51bGwhPT12KXshKDY1NTM2JnYuZmxhZ3MpJiYodi5mbGFnc3w9MjU2KSx5byh2LG8saSwwLG4pLG1hKHNvKHMsaSkpO2JyZWFrIGV9fXU9cz1zbyhzLGkpLDQhPT1SaSYmKFJpPTIpLG51bGw9PT1WaT9WaT1bdV06VmkucHVzaCh1KSx1PW87ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LG1vKDAscyxuKSk7YnJlYWsgZTtjYXNlIDE6aT1zO3ZhciB5PXUudHlwZSxiPXUuc3RhdGVOb2RlO2lmKCEoMTI4JnUuZmxhZ3N8fCJmdW5jdGlvbiIhPXR5cGVvZiB5LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciYmKG51bGw9PT1ifHwiZnVuY3Rpb24iIT10eXBlb2YgYi5jb21wb25lbnREaWRDYXRjaHx8bnVsbCE9PSRpJiYkaS5oYXMoYikpKSl7dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LGhvKHUsaSxuKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9a3ModCl9Y2F0Y2goZSl7bj1lLFRpPT09dCYmbnVsbCE9PXQmJihUaT10PXQucmV0dXJuKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gbXMoKXt2YXIgZT1DaS5jdXJyZW50O3JldHVybiBDaS5jdXJyZW50PWFvLG51bGw9PT1lP2FvOmV9ZnVuY3Rpb24gaHMoKXswIT09UmkmJjMhPT1SaSYmMiE9PVJpfHwoUmk9NCksbnVsbD09PVBpfHwhKDI2ODQzNTQ1NSZJaSkmJiEoMjY4NDM1NDU1Jk9pKXx8b3MoUGksTGkpfWZ1bmN0aW9uIGdzKGUsbil7dmFyIHQ9X2k7X2l8PTI7dmFyIHI9bXMoKTtmb3IoUGk9PT1lJiZMaT09PW58fChIaT1udWxsLGRzKGUsbikpOzspdHJ5e3ZzKCk7YnJlYWt9Y2F0Y2gobil7cHMoZSxuKX1pZih3YSgpLF9pPXQsQ2kuY3VycmVudD1yLG51bGwhPT1UaSl0aHJvdyBFcnJvcihhKDI2MSkpO3JldHVybiBQaT1udWxsLExpPTAsUml9ZnVuY3Rpb24gdnMoKXtmb3IoO251bGwhPT1UaTspYnMoVGkpfWZ1bmN0aW9uIHlzKCl7Zm9yKDtudWxsIT09VGkmJiFZZSgpOylicyhUaSl9ZnVuY3Rpb24gYnMoZSl7dmFyIG49eGkoZS5hbHRlcm5hdGUsZSxNaSk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT1uP2tzKGUpOlRpPW4semkuY3VycmVudD1udWxsfWZ1bmN0aW9uIGtzKGUpe3ZhciBuPWU7ZG97dmFyIHQ9bi5hbHRlcm5hdGU7aWYoZT1uLnJldHVybiwzMjc2OCZuLmZsYWdzKXtpZihudWxsIT09KHQ9S28odCxuKSkpcmV0dXJuIHQuZmxhZ3MmPTMyNzY3LHZvaWQoVGk9dCk7aWYobnVsbD09PWUpcmV0dXJuIFJpPTYsdm9pZChUaT1udWxsKTtlLmZsYWdzfD0zMjc2OCxlLnN1YnRyZWVGbGFncz0wLGUuZGVsZXRpb25zPW51bGx9ZWxzZSBpZihudWxsIT09KHQ9cW8odCxuLE1pKSkpcmV0dXJuIHZvaWQoVGk9dCk7aWYobnVsbCE9PShuPW4uc2libGluZykpcmV0dXJuIHZvaWQoVGk9bik7VGk9bj1lfXdoaWxlKG51bGwhPT1uKTswPT09UmkmJihSaT01KX1mdW5jdGlvbiB3cyhlLG4sdCl7dmFyIHI9a24sbD1OaS50cmFuc2l0aW9uO3RyeXtOaS50cmFuc2l0aW9uPW51bGwsa249MSxmdW5jdGlvbihlLG4sdCxyKXtkb3tTcygpfXdoaWxlKG51bGwhPT1LaSk7aWYoNiZfaSl0aHJvdyBFcnJvcihhKDMyNykpO3Q9ZS5maW5pc2hlZFdvcms7dmFyIGw9ZS5maW5pc2hlZExhbmVzO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZExhbmVzPTAsdD09PWUuY3VycmVudCl0aHJvdyBFcnJvcihhKDE3NykpO2UuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7dmFyIHU9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYoZnVuY3Rpb24oZSxuKXt2YXIgdD1lLnBlbmRpbmdMYW5lcyZ+bjtlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPW4sZS5tdXRhYmxlUmVhZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sbj1lLmVudGFuZ2xlbWVudHM7dmFyIHI9ZS5ldmVudFRpbWVzO2ZvcihlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciBsPTMxLXVuKHQpLGE9MTw8bDtuW2xdPTAscltsXT0tMSxlW2xdPS0xLHQmPX5hfX0oZSx1KSxlPT09UGkmJihUaT1QaT1udWxsLExpPTApLAohKDIwNjQmdC5zdWJ0cmVlRmxhZ3MpJiYhKDIwNjQmdC5mbGFncyl8fHFpfHwocWk9ITAsUHMobm4sKGZ1bmN0aW9uKCl7cmV0dXJuIFNzKCksbnVsbH0pKSksdT0hISgxNTk5MCZ0LmZsYWdzKSwhISgxNTk5MCZ0LnN1YnRyZWVGbGFncyl8fHUpe3U9TmkudHJhbnNpdGlvbixOaS50cmFuc2l0aW9uPW51bGw7dmFyIG89a247a249MTt2YXIgaT1faTtfaXw9NCx6aS5jdXJyZW50PW51bGwsZnVuY3Rpb24oZSxuKXtpZihlbD1qbixwcihlPWRyKCkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgdD17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dmFyIHI9KHQ9KHQ9ZS5vd25lckRvY3VtZW50KSYmdC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJnQuZ2V0U2VsZWN0aW9uKCk7aWYociYmMCE9PXIucmFuZ2VDb3VudCl7dD1yLmFuY2hvck5vZGU7dmFyIGw9ci5hbmNob3JPZmZzZXQsdT1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e3Qubm9kZVR5cGUsdS5ub2RlVHlwZX1jYXRjaChlKXt0PW51bGw7YnJlYWsgZX12YXIgbz0wLGk9LTEscz0tMSxjPTAsZj0wLGQ9ZSxwPW51bGw7bjpmb3IoOzspe2Zvcih2YXIgbTtkIT09dHx8MCE9PWwmJjMhPT1kLm5vZGVUeXBlfHwoaT1vK2wpLGQhPT11fHwwIT09ciYmMyE9PWQubm9kZVR5cGV8fChzPW8rciksMz09PWQubm9kZVR5cGUmJihvKz1kLm5vZGVWYWx1ZS5sZW5ndGgpLG51bGwhPT0obT1kLmZpcnN0Q2hpbGQpOylwPWQsZD1tO2Zvcig7Oyl7aWYoZD09PWUpYnJlYWsgbjtpZihwPT09dCYmKytjPT09bCYmKGk9bykscD09PXUmJisrZj09PXImJihzPW8pLG51bGwhPT0obT1kLm5leHRTaWJsaW5nKSlicmVhaztwPShkPXApLnBhcmVudE5vZGV9ZD1tfXQ9LTE9PT1pfHwtMT09PXM/bnVsbDp7c3RhcnQ6aSxlbmQ6c319ZWxzZSB0PW51bGx9dD10fHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSB0PW51bGw7Zm9yKG5sPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnR9LGpuPSExLFpvPW47bnVsbCE9PVpvOylpZihlPShuPVpvKS5jaGlsZCwxMDI4Jm4uc3VidHJlZUZsYWdzJiZudWxsIT09ZSllLnJldHVybj1uLFpvPWU7ZWxzZSBmb3IoO251bGwhPT1abzspe249Wm87dHJ5e3ZhciBoPW4uYWx0ZXJuYXRlO2lmKDEwMjQmbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDE6aWYobnVsbCE9PWgpe3ZhciBnPWgubWVtb2l6ZWRQcm9wcyx2PWgubWVtb2l6ZWRTdGF0ZSx5PW4uc3RhdGVOb2RlLGI9eS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShuLmVsZW1lbnRUeXBlPT09bi50eXBlP2c6Z2Eobi50eXBlLGcpLHYpO3kuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9Yn1icmVhaztjYXNlIDM6dmFyIGs9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09ay5ub2RlVHlwZT9rLnRleHRDb250ZW50PSIiOjk9PT1rLm5vZGVUeXBlJiZrLmRvY3VtZW50RWxlbWVudCYmay5yZW1vdmVDaGlsZChrLmRvY3VtZW50RWxlbWVudCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihhKDE2MykpfX1jYXRjaChlKXtFcyhuLG4ucmV0dXJuLGUpfWlmKG51bGwhPT0oZT1uLnNpYmxpbmcpKXtlLnJldHVybj1uLnJldHVybixabz1lO2JyZWFrfVpvPW4ucmV0dXJufWg9bmksbmk9ITF9KGUsdCksZ2kodCxlKSxtcihubCksam49ISFlbCxubD1lbD1udWxsLGUuY3VycmVudD10LHlpKHQsZSxsKSxYZSgpLF9pPWksa249byxOaS50cmFuc2l0aW9uPXV9ZWxzZSBlLmN1cnJlbnQ9dDtpZihxaSYmKHFpPSExLEtpPWUsWWk9bCksdT1lLnBlbmRpbmdMYW5lcywwPT09dSYmKCRpPW51bGwpLGZ1bmN0aW9uKGUpe2lmKGFuJiYiZnVuY3Rpb24iPT10eXBlb2YgYW4ub25Db21taXRGaWJlclJvb3QpdHJ5e2FuLm9uQ29tbWl0RmliZXJSb290KGxuLGUsdm9pZCAwLCEoMTI4Jn5lLmN1cnJlbnQuZmxhZ3MpKX1jYXRjaChlKXt9fSh0LnN0YXRlTm9kZSkscnMoZSxHZSgpKSxudWxsIT09bilmb3Iocj1lLm9uUmVjb3ZlcmFibGVFcnJvcix0PTA7dDxuLmxlbmd0aDt0KyspbD1uW3RdLHIobC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bC5zdGFjayxkaWdlc3Q6bC5kaWdlc3R9KTtpZihRaSl0aHJvdyBRaT0hMSxlPWppLGppPW51bGwsZTshISgxJllpKSYmMCE9PWUudGFnJiZTcygpLHU9ZS5wZW5kaW5nTGFuZXMsMSZ1P2U9PT1HaT9YaSsrOihYaT0wLEdpPWUpOlhpPTAsV2woKX0oZSxuLHQscil9ZmluYWxseXtOaS50cmFuc2l0aW9uPWwsa249cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcygpe2lmKG51bGwhPT1LaSl7dmFyIGU9d24oWWkpLG49TmkudHJhbnNpdGlvbix0PWtuO3RyeXtpZihOaS50cmFuc2l0aW9uPW51bGwsa249MTY+ZT8xNjplLG51bGw9PT1LaSl2YXIgcj0hMTtlbHNle2lmKGU9S2ksS2k9bnVsbCxZaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMzEpKTt2YXIgbD1faTtmb3IoX2l8PTQsWm89ZS5jdXJyZW50O251bGwhPT1abzspe3ZhciB1PVpvLG89dS5jaGlsZDtpZigxNiZaby5mbGFncyl7dmFyIGk9dS5kZWxldGlvbnM7aWYobnVsbCE9PWkpe2Zvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2Zvcihabz1jO251bGwhPT1abzspe3ZhciBmPVpvO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp0aSg4LGYsdSl9dmFyIGQ9Zi5jaGlsZDtpZihudWxsIT09ZClkLnJldHVybj1mLFpvPWQ7ZWxzZSBmb3IoO251bGwhPT1abzspe3ZhciBwPShmPVpvKS5zaWJsaW5nLG09Zi5yZXR1cm47aWYoYWkoZiksZj09PWMpe1pvPW51bGw7YnJlYWt9aWYobnVsbCE9PXApe3AucmV0dXJuPW0sWm89cDticmVha31abz1tfX19dmFyIGg9dS5hbHRlcm5hdGU7aWYobnVsbCE9PWgpe3ZhciBnPWguY2hpbGQ7aWYobnVsbCE9PWcpe2guY2hpbGQ9bnVsbDtkb3t2YXIgdj1nLnNpYmxpbmc7Zy5zaWJsaW5nPW51bGwsZz12fXdoaWxlKG51bGwhPT1nKX19Wm89dX19aWYoMjA2NCZ1LnN1YnRyZWVGbGFncyYmbnVsbCE9PW8pby5yZXR1cm49dSwKWm89bztlbHNlIGU6Zm9yKDtudWxsIT09Wm87KXtpZigyMDQ4Jih1PVpvKS5mbGFncylzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dGkoOSx1LHUucmV0dXJuKX12YXIgeT11LnNpYmxpbmc7aWYobnVsbCE9PXkpe3kucmV0dXJuPXUucmV0dXJuLFpvPXk7YnJlYWsgZX1abz11LnJldHVybn19dmFyIGI9ZS5jdXJyZW50O2Zvcihabz1iO251bGwhPT1abzspe3ZhciBrPShvPVpvKS5jaGlsZDtpZigyMDY0Jm8uc3VidHJlZUZsYWdzJiZudWxsIT09aylrLnJldHVybj1vLFpvPWs7ZWxzZSBlOmZvcihvPWI7bnVsbCE9PVpvOyl7aWYoMjA0OCYoaT1abykuZmxhZ3MpdHJ5e3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpyaSg5LGkpfX1jYXRjaChlKXtFcyhpLGkucmV0dXJuLGUpfWlmKGk9PT1vKXtabz1udWxsO2JyZWFrIGV9dmFyIHc9aS5zaWJsaW5nO2lmKG51bGwhPT13KXt3LnJldHVybj1pLnJldHVybixabz13O2JyZWFrIGV9Wm89aS5yZXR1cm59fWlmKF9pPWwsV2woKSxhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7YW4ub25Qb3N0Q29tbWl0RmliZXJSb290KGxuLGUpfWNhdGNoKGUpe31yPSEwfXJldHVybiByfWZpbmFsbHl7a249dCxOaS50cmFuc2l0aW9uPW59fXJldHVybiExfWZ1bmN0aW9uIHhzKGUsbix0KXtlPVJhKGUsbj1tbygwLG49c28odCxuKSwxKSwxKSxuPWVzKCksbnVsbCE9PWUmJih5bihlLDEsbikscnMoZSxuKSl9ZnVuY3Rpb24gRXMoZSxuLHQpe2lmKDM9PT1lLnRhZyl4cyhlLGUsdCk7ZWxzZSBmb3IoO251bGwhPT1uOyl7aWYoMz09PW4udGFnKXt4cyhuLGUsdCk7YnJlYWt9aWYoMT09PW4udGFnKXt2YXIgcj1uLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09JGl8fCEkaS5oYXMocikpKXtuPVJhKG4sZT1obyhuLGU9c28odCxlKSwxKSwxKSxlPWVzKCksbnVsbCE9PW4mJih5bihuLDEsZSkscnMobixlKSk7YnJlYWt9fW49bi5yZXR1cm59fWZ1bmN0aW9uIENzKGUsbix0KXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUobiksbj1lcygpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmdCxQaT09PWUmJihMaSZ0KT09PXQmJig0PT09Uml8fDM9PT1SaSYmKDEzMDAyMzQyNCZMaSk9PT1MaSYmNTAwPkdlKCktQmk/ZHMoZSwwKTpVaXw9dCkscnMoZSxuKX1mdW5jdGlvbiB6cyhlLG4pezA9PT1uJiYoMSZlLm1vZGU/KG49Zm4sISgxMzAwMjM0MjQmKGZuPDw9MSkpJiYoZm49NDE5NDMwNCkpOm49MSk7dmFyIHQ9ZXMoKTtudWxsIT09KGU9UGEoZSxuKSkmJih5bihlLG4sdCkscnMoZSx0KSl9ZnVuY3Rpb24gTnMoZSl7dmFyIG49ZS5tZW1vaXplZFN0YXRlLHQ9MDtudWxsIT09biYmKHQ9bi5yZXRyeUxhbmUpLHpzKGUsdCl9ZnVuY3Rpb24gX3MoZSxuKXt2YXIgdD0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKHQ9bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKG4pLHpzKGUsdCl9ZnVuY3Rpb24gUHMoZSxuKXtyZXR1cm4gcWUoZSxuKX1mdW5jdGlvbiBUcyhlLG4sdCxyKXt0aGlzLnRhZz1lLHRoaXMua2V5PXQsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz1uLHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1yLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBMcyhlLG4sdCxyKXtyZXR1cm4gbmV3IFRzKGUsbix0LHIpfWZ1bmN0aW9uIE1zKGUpe3JldHVybiEoIShlPWUucHJvdG90eXBlKXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gRnMoZSxuKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PXQ/KCh0PUxzKGUudGFnLG4sZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSx0LnR5cGU9ZS50eXBlLHQuc3RhdGVOb2RlPWUuc3RhdGVOb2RlLHQuYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9dCk6KHQucGVuZGluZ1Byb3BzPW4sdC50eXBlPWUudHlwZSx0LmZsYWdzPTAsdC5zdWJ0cmVlRmxhZ3M9MCx0LmRlbGV0aW9ucz1udWxsKSx0LmZsYWdzPTE0NjgwMDY0JmUuZmxhZ3MsdC5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyx0LmxhbmVzPWUubGFuZXMsdC5jaGlsZD1lLmNoaWxkLHQubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsdC5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSx0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbj1lLmRlcGVuZGVuY2llcyx0LmRlcGVuZGVuY2llcz1udWxsPT09bj9udWxsOntsYW5lczpuLmxhbmVzLGZpcnN0Q29udGV4dDpuLmZpcnN0Q29udGV4dH0sdC5zaWJsaW5nPWUuc2libGluZyx0LmluZGV4PWUuaW5kZXgsdC5yZWY9ZS5yZWYsdH1mdW5jdGlvbiBScyhlLG4sdCxyLGwsdSl7dmFyIG89MjtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpTXMoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89NTtlbHNlIGU6c3dpdGNoKGUpe2Nhc2UgeDpyZXR1cm4gRHModC5jaGlsZHJlbixsLHUsbik7Y2FzZSBFOm89OCxsfD04O2JyZWFrO2Nhc2UgQzpyZXR1cm4oZT1McygxMix0LG4sMnxsKSkuZWxlbWVudFR5cGU9QyxlLmxhbmVzPXUsZTtjYXNlIFA6cmV0dXJuKGU9THMoMTMsdCxuLGwpKS5lbGVtZW50VHlwZT1QLGUubGFuZXM9dSxlO2Nhc2UgVDoKcmV0dXJuKGU9THMoMTksdCxuLGwpKS5lbGVtZW50VHlwZT1ULGUubGFuZXM9dSxlO2Nhc2UgRjpyZXR1cm4gSXModCxsLHUsbik7ZGVmYXVsdDppZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHo6bz0xMDticmVhayBlO2Nhc2UgTjpvPTk7YnJlYWsgZTtjYXNlIF86bz0xMTticmVhayBlO2Nhc2UgTDpvPTE0O2JyZWFrIGU7Y2FzZSBNOm89MTYscj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoYSgxMzAsbnVsbD09ZT9lOnR5cGVvZiBlLCIiKSl9cmV0dXJuKG49THMobyx0LG4sbCkpLmVsZW1lbnRUeXBlPWUsbi50eXBlPXIsbi5sYW5lcz11LG59ZnVuY3Rpb24gRHMoZSxuLHQscil7cmV0dXJuKGU9THMoNyxlLHIsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBJcyhlLG4sdCxyKXtyZXR1cm4oZT1McygyMixlLHIsbikpLmVsZW1lbnRUeXBlPUYsZS5sYW5lcz10LGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBPcyhlLG4sdCl7cmV0dXJuKGU9THMoNixlLG51bGwsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBVcyhlLG4sdCl7cmV0dXJuKG49THMoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LG4pKS5sYW5lcz10LG4uc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSxufWZ1bmN0aW9uIFZzKGUsbix0LHIsbCl7dGhpcy50YWc9bix0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLmZpbmlzaGVkV29yaz10aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV2ZW50VGltZXM9dm4oMCksdGhpcy5leHBpcmF0aW9uVGltZXM9dm4oLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5maW5pc2hlZExhbmVzPXRoaXMubXV0YWJsZVJlYWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9dm4oMCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9bCx0aGlzLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9bnVsbH1mdW5jdGlvbiBBcyhlLG4sdCxyLGwsYSx1LG8saSl7cmV0dXJuIGU9bmV3IFZzKGUsbix0LG8saSksMT09PW4/KG49MSwhMD09PWEmJihufD04KSk6bj0wLGE9THMoMyxudWxsLG51bGwsbiksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6dCxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSxMYShhKSxlfWZ1bmN0aW9uIEJzKGUpe2lmKCFlKXJldHVybiBObDtlOntpZihXZShlPWUuX3JlYWN0SW50ZXJuYWxzKSE9PWV8fDEhPT1lLnRhZyl0aHJvdyBFcnJvcihhKDE3MCkpO3ZhciBuPWU7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6bj1uLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIGU7Y2FzZSAxOmlmKE1sKG4udHlwZSkpe249bi5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgZX19bj1uLnJldHVybn13aGlsZShudWxsIT09bik7dGhyb3cgRXJyb3IoYSgxNzEpKX1pZigxPT09ZS50YWcpe3ZhciB0PWUudHlwZTtpZihNbCh0KSlyZXR1cm4gRGwoZSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIFdzKGUsbix0LHIsbCxhLHUsbyxpKXtyZXR1cm4oZT1Bcyh0LHIsITAsZSwwLGEsMCxvLGkpKS5jb250ZXh0PUJzKG51bGwpLHQ9ZS5jdXJyZW50LChhPUZhKHI9ZXMoKSxsPW5zKHQpKSkuY2FsbGJhY2s9bnVsbCE9bj9uOm51bGwsUmEodCxhLGwpLGUuY3VycmVudC5sYW5lcz1sLHluKGUsbCxyKSxycyhlLHIpLGV9ZnVuY3Rpb24gSHMoZSxuLHQscil7dmFyIGw9bi5jdXJyZW50LGE9ZXMoKSx1PW5zKGwpO3JldHVybiB0PUJzKHQpLG51bGw9PT1uLmNvbnRleHQ/bi5jb250ZXh0PXQ6bi5wZW5kaW5nQ29udGV4dD10LChuPUZhKGEsdSkpLnBheWxvYWQ9e2VsZW1lbnQ6ZX0sbnVsbCE9PShyPXZvaWQgMD09PXI/bnVsbDpyKSYmKG4uY2FsbGJhY2s9ciksbnVsbCE9PShlPVJhKGwsbix1KSkmJih0cyhlLGwsdSxhKSxEYShlLGwsdSkpLHV9ZnVuY3Rpb24gUXMoZSl7cmV0dXJuKGU9ZS5jdXJyZW50KS5jaGlsZD8oZS5jaGlsZC50YWcsZS5jaGlsZC5zdGF0ZU5vZGUpOm51bGx9ZnVuY3Rpb24ganMoZSxuKXtpZihudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7dmFyIHQ9ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9MCE9PXQmJnQ8bj90Om59fWZ1bmN0aW9uICRzKGUsbil7anMoZSxuKSwoZT1lLmFsdGVybmF0ZSkmJmpzKGUsbil9eGk9ZnVuY3Rpb24oZSxuLHQpe2lmKG51bGwhPT1lKWlmKGUubWVtb2l6ZWRQcm9wcyE9PW4ucGVuZGluZ1Byb3BzfHxQbC5jdXJyZW50KWtvPSEwO2Vsc2V7aWYoIShlLmxhbmVzJnR8fDEyOCZuLmZsYWdzKSlyZXR1cm4ga289ITEsZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuLnRhZyl7Y2FzZSAzOlRvKG4pLHBhKCk7YnJlYWs7Y2FzZSA1OmF1KG4pO2JyZWFrO2Nhc2UgMTpNbChuLnR5cGUpJiZJbChuKTticmVhaztjYXNlIDQ6cnUobixuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPW4udHlwZS5fY29udGV4dCxsPW4ubWVtb2l6ZWRQcm9wcy52YWx1ZTt6bCh2YSxyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT1sO2JyZWFrO2Nhc2UgMTM6aWYobnVsbCE9PShyPW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuIG51bGwhPT1yLmRlaHlkcmF0ZWQ/KHpsKG91LDEmb3UuY3VycmVudCksbi5mbGFnc3w9MTI4LG51bGwpOnQmbi5jaGlsZC5jaGlsZExhbmVzP09vKGUsbix0KTooemwob3UsMSZvdS5jdXJyZW50KSwKbnVsbCE9PShlPVFvKGUsbix0KSk/ZS5zaWJsaW5nOm51bGwpO3psKG91LDEmb3UuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihyPSEhKHQmbi5jaGlsZExhbmVzKSwxMjgmZS5mbGFncyl7aWYocilyZXR1cm4gV28oZSxuLHQpO24uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9bi5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLHpsKG91LG91LmN1cnJlbnQpLHIpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBuLmxhbmVzPTAsQ28oZSxuLHQpfXJldHVybiBRbyhlLG4sdCl9KGUsbix0KTtrbz0hISgxMzEwNzImZS5mbGFncyl9ZWxzZSBrbz0hMSxsYSYmMTA0ODU3NiZuLmZsYWdzJiZKbChuLCRsLG4uaW5kZXgpO3N3aXRjaChuLmxhbmVzPTAsbi50YWcpe2Nhc2UgMjp2YXIgcj1uLnR5cGU7SG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzO3ZhciBsPUxsKG4sX2wuY3VycmVudCk7RWEobix0KSxsPXh1KG51bGwsbixyLGUsbCx0KTt2YXIgdT1FdSgpO3JldHVybiBuLmZsYWdzfD0xLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlbmRlciYmdm9pZCAwPT09bC4kJHR5cGVvZj8obi50YWc9MSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsTWwocik/KHU9ITAsSWwobikpOnU9ITEsbi5tZW1vaXplZFN0YXRlPW51bGwhPT1sLnN0YXRlJiZ2b2lkIDAhPT1sLnN0YXRlP2wuc3RhdGU6bnVsbCxMYShuKSxsLnVwZGF0ZXI9QmEsbi5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz1uLGphKG4scixlLHQpLG49UG8obnVsbCxuLHIsITAsdSx0KSk6KG4udGFnPTAsbGEmJnUmJmVhKG4pLHdvKG51bGwsbixsLHQpLG49bi5jaGlsZCksbjtjYXNlIDE2OnI9bi5lbGVtZW50VHlwZTtlOntzd2l0Y2goSG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzLHI9KGw9ci5faW5pdCkoci5fcGF5bG9hZCksbi50eXBlPXIsbD1uLnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gTXMoZSk/MTowO2lmKG51bGwhPWUpe2lmKChlPWUuJCR0eXBlb2YpPT09XylyZXR1cm4gMTE7aWYoZT09PUwpcmV0dXJuIDE0fXJldHVybiAyfShyKSxlPWdhKHIsZSksbCl7Y2FzZSAwOm49Tm8obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTpuPV9vKG51bGwsbixyLGUsdCk7YnJlYWsgZTtjYXNlIDExOm49U28obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTQ6bj14byhudWxsLG4scixnYShyLnR5cGUsZSksdCk7YnJlYWsgZX10aHJvdyBFcnJvcihhKDMwNixyLCIiKSl9cmV0dXJuIG47Y2FzZSAwOnJldHVybiByPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLE5vKGUsbixyLGw9bi5lbGVtZW50VHlwZT09PXI/bDpnYShyLGwpLHQpO2Nhc2UgMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxfbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDM6ZTp7aWYoVG8obiksbnVsbD09PWUpdGhyb3cgRXJyb3IoYSgzODcpKTtyPW4ucGVuZGluZ1Byb3BzLGw9KHU9bi5tZW1vaXplZFN0YXRlKS5lbGVtZW50LE1hKGUsbiksT2EobixyLG51bGwsdCk7dmFyIG89bi5tZW1vaXplZFN0YXRlO2lmKHI9by5lbGVtZW50LHUuaXNEZWh5ZHJhdGVkKXtpZih1PXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpvLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6by50cmFuc2l0aW9uc30sbi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSxuLm1lbW9pemVkU3RhdGU9dSwyNTYmbi5mbGFncyl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjMpKSxuKSk7YnJlYWsgZX1pZihyIT09bCl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjQpKSxuKSk7YnJlYWsgZX1mb3IocmE9c2wobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSx0YT1uLGxhPSEwLGFhPW51bGwsdD1HYShuLG51bGwscix0KSxuLmNoaWxkPXQ7dDspdC5mbGFncz0tMyZ0LmZsYWdzfDQwOTYsdD10LnNpYmxpbmd9ZWxzZXtpZihwYSgpLHI9PT1sKXtuPVFvKGUsbix0KTticmVhayBlfXdvKGUsbixyLHQpfW49bi5jaGlsZH1yZXR1cm4gbjtjYXNlIDU6cmV0dXJuIGF1KG4pLG51bGw9PT1lJiZzYShuKSxyPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLHU9bnVsbCE9PWU/ZS5tZW1vaXplZFByb3BzOm51bGwsbz1sLmNoaWxkcmVuLHRsKHIsbCk/bz1udWxsOm51bGwhPT11JiZ0bChyLHUpJiYobi5mbGFnc3w9MzIpLHpvKGUsbiksd28oZSxuLG8sdCksbi5jaGlsZDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZzYShuKSxudWxsO2Nhc2UgMTM6cmV0dXJuIE9vKGUsbix0KTtjYXNlIDQ6cmV0dXJuIHJ1KG4sbi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscj1uLnBlbmRpbmdQcm9wcyxudWxsPT09ZT9uLmNoaWxkPVhhKG4sbnVsbCxyLHQpOndvKGUsbixyLHQpLG4uY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxTbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDc6cmV0dXJuIHdvKGUsbixuLnBlbmRpbmdQcm9wcyx0KSxuLmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdCksbi5jaGlsZDtjYXNlIDEwOmU6e2lmKHI9bi50eXBlLl9jb250ZXh0LGw9bi5wZW5kaW5nUHJvcHMsdT1uLm1lbW9pemVkUHJvcHMsbz1sLnZhbHVlLHpsKHZhLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPW8sbnVsbCE9PXUpaWYob3IodS52YWx1ZSxvKSl7aWYodS5jaGlsZHJlbj09PWwuY2hpbGRyZW4mJiFQbC5jdXJyZW50KXtuPVFvKGUsbix0KTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9bi5jaGlsZCkmJih1LnJldHVybj1uKTtudWxsIT09dTspe3ZhciBpPXUuZGVwZW5kZW5jaWVzO2lmKG51bGwhPT1pKXtvPXUuY2hpbGQ7Zm9yKHZhciBzPWkuZmlyc3RDb250ZXh0O251bGwhPT1zOyl7aWYocy5jb250ZXh0PT09cil7CmlmKDE9PT11LnRhZyl7KHM9RmEoLTEsdCYtdCkpLnRhZz0yO3ZhciBjPXUudXBkYXRlUXVldWU7aWYobnVsbCE9PWMpe3ZhciBmPShjPWMuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1mP3MubmV4dD1zOihzLm5leHQ9Zi5uZXh0LGYubmV4dD1zKSxjLnBlbmRpbmc9c319dS5sYW5lc3w9dCxudWxsIT09KHM9dS5hbHRlcm5hdGUpJiYocy5sYW5lc3w9dCkseGEodS5yZXR1cm4sdCxuKSxpLmxhbmVzfD10O2JyZWFrfXM9cy5uZXh0fX1lbHNlIGlmKDEwPT09dS50YWcpbz11LnR5cGU9PT1uLnR5cGU/bnVsbDp1LmNoaWxkO2Vsc2UgaWYoMTg9PT11LnRhZyl7aWYobnVsbD09PShvPXUucmV0dXJuKSl0aHJvdyBFcnJvcihhKDM0MSkpO28ubGFuZXN8PXQsbnVsbCE9PShpPW8uYWx0ZXJuYXRlKSYmKGkubGFuZXN8PXQpLHhhKG8sdCxuKSxvPXUuc2libGluZ31lbHNlIG89dS5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj11O2Vsc2UgZm9yKG89dTtudWxsIT09bzspe2lmKG89PT1uKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PSh1PW8uc2libGluZykpe3UucmV0dXJuPW8ucmV0dXJuLG89dTticmVha31vPW8ucmV0dXJufXU9b313byhlLG4sbC5jaGlsZHJlbix0KSxuPW4uY2hpbGR9cmV0dXJuIG47Y2FzZSA5OnJldHVybiBsPW4udHlwZSxyPW4ucGVuZGluZ1Byb3BzLmNoaWxkcmVuLEVhKG4sdCkscj1yKGw9Q2EobCkpLG4uZmxhZ3N8PTEsd28oZSxuLHIsdCksbi5jaGlsZDtjYXNlIDE0OnJldHVybiBsPWdhKHI9bi50eXBlLG4ucGVuZGluZ1Byb3BzKSx4byhlLG4scixsPWdhKHIudHlwZSxsKSx0KTtjYXNlIDE1OnJldHVybiBFbyhlLG4sbi50eXBlLG4ucGVuZGluZ1Byb3BzLHQpO2Nhc2UgMTc6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmdhKHIsbCksSG8oZSxuKSxuLnRhZz0xLE1sKHIpPyhlPSEwLElsKG4pKTplPSExLEVhKG4sdCksSGEobixyLGwpLGphKG4scixsLHQpLFBvKG51bGwsbixyLCEwLGUsdCk7Y2FzZSAxOTpyZXR1cm4gV28oZSxuLHQpO2Nhc2UgMjI6cmV0dXJuIENvKGUsbix0KX10aHJvdyBFcnJvcihhKDE1NixuLnRhZykpfTt2YXIgcXM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIEtzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFlzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFhzKGUpe3JldHVybiEoIWV8fDEhPT1lLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlKX1mdW5jdGlvbiBHcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSYmKDghPT1lLm5vZGVUeXBlfHwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICIhPT1lLm5vZGVWYWx1ZSkpfWZ1bmN0aW9uIFpzKCl7fWZ1bmN0aW9uIEpzKGUsbix0LHIsbCl7dmFyIGE9dC5fcmVhY3RSb290Q29udGFpbmVyO2lmKGEpe3ZhciB1PWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBvPWw7bD1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO28uY2FsbChlKX19SHMobix1LGUsbCl9ZWxzZSB1PWZ1bmN0aW9uKGUsbix0LHIsbCl7aWYobCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBhPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO2EuY2FsbChlKX19dmFyIHU9V3MobixyLGUsMCxudWxsLCExLDAsIiIsWnMpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9dSxlW21sXT11LmN1cnJlbnQsV3IoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLGNzKCksdX1mb3IoO2w9ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKGkpO28uY2FsbChlKX19dmFyIGk9QXMoZSwwLCExLG51bGwsMCwhMSwwLCIiLFpzKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPWksZVttbF09aS5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxjcygoZnVuY3Rpb24oKXtIcyhuLGksdCxyKX0pKSxpfSh0LG4sZSxsLHIpO3JldHVybiBRcyh1KX1Zcy5wcm90b3R5cGUucmVuZGVyPUtzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1uKXRocm93IEVycm9yKGEoNDA5KSk7SHMoZSxuLG51bGwsbnVsbCl9LFlzLnByb3RvdHlwZS51bm1vdW50PUtzLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgbj1lLmNvbnRhaW5lckluZm87Y3MoKGZ1bmN0aW9uKCl7SHMobnVsbCxlLG51bGwsbnVsbCl9KSksblttbF09bnVsbH19LFlzLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgbj1DbigpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5Om59O2Zvcih2YXIgdD0wO3Q8Um4ubGVuZ3RoJiYwIT09biYmbjxSblt0XS5wcmlvcml0eTt0KyspO1JuLnNwbGljZSh0LDAsZSksMD09PXQmJlVuKGUpfX0sU249ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDM6dmFyIG49ZS5zdGF0ZU5vZGU7aWYobi5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgdD1kbihuLnBlbmRpbmdMYW5lcyk7MCE9PXQmJihibihuLDF8dCkscnMobixHZSgpKSwhKDYmX2kpJiYoV2k9R2UoKSs1MDAsV2woKSkpfWJyZWFrO2Nhc2UgMTM6Y3MoKGZ1bmN0aW9uKCl7dmFyIG49UGEoZSwxKTtpZihudWxsIT09bil7dmFyIHQ9ZXMoKTt0cyhuLGUsMSx0KX19KSksJHMoZSwxKX19LHhuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPVBhKGUsMTM0MjE3NzI4KTtpZihudWxsIT09bil0cyhuLGUsMTM0MjE3NzI4LGVzKCkpOyRzKGUsMTM0MjE3NzI4KX19LEVuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPW5zKGUpLHQ9UGEoZSxuKQo7aWYobnVsbCE9PXQpdHModCxlLG4sZXMoKSk7JHMoZSxuKX19LENuPWZ1bmN0aW9uKCl7cmV0dXJuIGtufSx6bj1mdW5jdGlvbihlLG4pe3ZhciB0PWtuO3RyeXtyZXR1cm4ga249ZSxuKCl9ZmluYWxseXtrbj10fX0sU2U9ZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuKXtjYXNlImlucHV0IjppZihaKGUsdCksbj10Lm5hbWUsInJhZGlvIj09PXQudHlwZSYmbnVsbCE9bil7Zm9yKHQ9ZTt0LnBhcmVudE5vZGU7KXQ9dC5wYXJlbnROb2RlO2Zvcih0PXQucXVlcnlTZWxlY3RvckFsbCgiaW5wdXRbbmFtZT0iK0pTT04uc3RyaW5naWZ5KCIiK24pKyddW3R5cGU9InJhZGlvIl0nKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9d2wocik7aWYoIWwpdGhyb3cgRXJyb3IoYSg5MCkpO3EociksWihyLGwpfX19YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YWUoZSx0KTticmVhaztjYXNlInNlbGVjdCI6bnVsbCE9KG49dC52YWx1ZSkmJnRlKGUsISF0Lm11bHRpcGxlLG4sITEpfX0sX2U9c3MsUGU9Y3M7dmFyIGVjPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltibCxrbCx3bCx6ZSxOZSxzc119LG5jPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTp5bCxidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTguMi4wIixyZW5kZXJlclBhY2thZ2VOYW1lOiJyZWFjdC1kb20ifSx0Yz17YnVuZGxlVHlwZTpuYy5idW5kbGVUeXBlLHZlcnNpb246bmMudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOm5jLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6bmMucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9amUoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOm5jLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlfHxmdW5jdGlvbigpe3JldHVybiBudWxsfSxmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6bnVsbCxzY2hlZHVsZVJlZnJlc2g6bnVsbCxzY2hlZHVsZVJvb3Q6bnVsbCxzZXRSZWZyZXNoSGFuZGxlcjpudWxsLGdldEN1cnJlbnRGaWJlcjpudWxsLHJlY29uY2lsZXJWZXJzaW9uOiIxOC4yLjAtbmV4dC05ZTNiNzcyYjgtMjAyMjA2MDgifTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIHJjPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighcmMuaXNEaXNhYmxlZCYmcmMuc3VwcG9ydHNGaWJlcil0cnl7bG49cmMuaW5qZWN0KHRjKSxhbj1yY31jYXRjaChjZSl7fX1uLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPWVjLG4uY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsbil7dmFyIHQ9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7aWYoIVhzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6UyxrZXk6bnVsbD09cj9udWxsOiIiK3IsY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOm4saW1wbGVtZW50YXRpb246dH19KGUsbixudWxsLHQpfSxuLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24oZSxuKXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSgyOTkpKTt2YXIgdD0hMSxyPSIiLGw9cXM7cmV0dXJuIG51bGwhPW4mJighMD09PW4udW5zdGFibGVfc3RyaWN0TW9kZSYmKHQ9ITApLHZvaWQgMCE9PW4uaWRlbnRpZmllclByZWZpeCYmKHI9bi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1uLm9uUmVjb3ZlcmFibGVFcnJvciYmKGw9bi5vblJlY292ZXJhYmxlRXJyb3IpKSxuPUFzKGUsMSwhMSxudWxsLDAsdCwwLHIsbCksZVttbF09bi5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxuZXcgS3Mobil9LG4uZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgbj1lLl9yZWFjdEludGVybmFscztpZih2b2lkIDA9PT1uKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZW5kZXIpdGhyb3cgRXJyb3IoYSgxODgpKTt0aHJvdyBlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcihhKDI2OCxlKSl9cmV0dXJuIGU9bnVsbD09PShlPWplKG4pKT9udWxsOmUuc3RhdGVOb2RlfSxuLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gY3MoZSl9LG4uaHlkcmF0ZT1mdW5jdGlvbihlLG4sdCl7aWYoIUdzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIEpzKG51bGwsZSxuLCEwLHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsbix0KXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSg0MDUpKTt2YXIgcj1udWxsIT10JiZ0Lmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLHU9IiIsbz1xcztpZihudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJih1PXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJihvPXQub25SZWNvdmVyYWJsZUVycm9yKSksbj1XcyhuLG51bGwsZSwxLG51bGwhPXQ/dDpudWxsLGwsMCx1LG8pLGVbbWxdPW4uY3VycmVudCxXcihlKSxyKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspbD0obD0odD1yW2VdKS5fZ2V0VmVyc2lvbikodC5fc291cmNlKSwKbnVsbD09bi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP24ubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bdCxsXTpuLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaCh0LGwpO3JldHVybiBuZXcgWXMobil9LG4ucmVuZGVyPWZ1bmN0aW9uKGUsbix0KXtpZighR3MobikpdGhyb3cgRXJyb3IoYSgyMDApKTtyZXR1cm4gSnMobnVsbCxlLG4sITEsdCl9LG4udW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighR3MoZSkpdGhyb3cgRXJyb3IoYSg0MCkpO3JldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYoY3MoKGZ1bmN0aW9uKCl7SnMobnVsbCxudWxsLGUsITEsKGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVttbF09bnVsbH0pKX0pKSwhMCl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9c3Msbi51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLG4sdCxyKXtpZighR3ModCkpdGhyb3cgRXJyb3IoYSgyMDApKTtpZihudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihhKDM4KSk7cmV0dXJuIEpzKGUsbix0LCExLHIpfSxuLnZlcnNpb249IjE4LjIuMC1uZXh0LTllM2I3NzJiOC0yMDIyMDYwOCJ9LDUwODIwNyhlLG4pe2Z1bmN0aW9uIHQoZSxuKXt2YXIgdD1lLmxlbmd0aDtlLnB1c2gobik7ZTpmb3IoOzA8dDspe3ZhciByPXQtMT4+PjEsbD1lW3JdO2lmKCEoMDxhKGwsbikpKWJyZWFrIGU7ZVtyXT1uLGVbdF09bCx0PXJ9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOmVbMF19ZnVuY3Rpb24gbChlKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIG49ZVswXSx0PWUucG9wKCk7aWYodCE9PW4pe2VbMF09dDtlOmZvcih2YXIgcj0wLGw9ZS5sZW5ndGgsdT1sPj4+MTtyPHU7KXt2YXIgbz0yKihyKzEpLTEsaT1lW29dLHM9bysxLGM9ZVtzXTtpZigwPmEoaSx0KSlzPGwmJjA+YShjLGkpPyhlW3JdPWMsZVtzXT10LHI9cyk6KGVbcl09aSxlW29dPXQscj1vKTtlbHNle2lmKCEoczxsJiYwPmEoYyx0KSkpYnJlYWsgZTtlW3JdPWMsZVtzXT10LHI9c319fXJldHVybiBufWZ1bmN0aW9uIGEoZSxuKXt2YXIgdD1lLnNvcnRJbmRleC1uLnNvcnRJbmRleDtyZXR1cm4gMCE9PXQ/dDplLmlkLW4uaWR9aWYoIm9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIHU9cGVyZm9ybWFuY2U7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ub3coKX19ZWxzZXt2YXIgbz1EYXRlLGk9by5ub3coKTtuLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBvLm5vdygpLWl9fXZhciBzPVtdLGM9W10sZj0xLGQ9bnVsbCxwPTMsbT0hMSxoPSExLGc9ITEsdj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwseT0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLGI9InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gayhlKXtmb3IodmFyIG49cihjKTtudWxsIT09bjspe2lmKG51bGw9PT1uLmNhbGxiYWNrKWwoYyk7ZWxzZXtpZighKG4uc3RhcnRUaW1lPD1lKSlicmVhaztsKGMpLG4uc29ydEluZGV4PW4uZXhwaXJhdGlvblRpbWUsdChzLG4pfW49cihjKX19ZnVuY3Rpb24gdyhlKXtpZihnPSExLGsoZSksIWgpaWYobnVsbCE9PXIocykpaD0hMCxGKFMpO2Vsc2V7dmFyIG49cihjKTtudWxsIT09biYmUih3LG4uc3RhcnRUaW1lLWUpfX1mdW5jdGlvbiBTKGUsdCl7aD0hMSxnJiYoZz0hMSx5KHopLHo9LTEpLG09ITA7dmFyIGE9cDt0cnl7Zm9yKGsodCksZD1yKHMpO251bGwhPT1kJiYoIShkLmV4cGlyYXRpb25UaW1lPnQpfHxlJiYhUCgpKTspe3ZhciB1PWQuY2FsbGJhY2s7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpe2QuY2FsbGJhY2s9bnVsbCxwPWQucHJpb3JpdHlMZXZlbDt2YXIgbz11KGQuZXhwaXJhdGlvblRpbWU8PXQpO3Q9bi51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2Ygbz9kLmNhbGxiYWNrPW86ZD09PXIocykmJmwocyksayh0KX1lbHNlIGwocyk7ZD1yKHMpfWlmKG51bGwhPT1kKXZhciBpPSEwO2Vsc2V7dmFyIGY9cihjKTtudWxsIT09ZiYmUih3LGYuc3RhcnRUaW1lLXQpLGk9ITF9cmV0dXJuIGl9ZmluYWxseXtkPW51bGwscD1hLG09ITF9fSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZyYmdm9pZCAwIT09bmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO3ZhciB4LEU9ITEsQz1udWxsLHo9LTEsTj01LF89LTE7ZnVuY3Rpb24gUCgpe3JldHVybiEobi51bnN0YWJsZV9ub3coKS1fPE4pfWZ1bmN0aW9uIFQoKXtpZihudWxsIT09Qyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtfPWU7dmFyIHQ9ITA7dHJ5e3Q9QyghMCxlKX1maW5hbGx5e3Q/eCgpOihFPSExLEM9bnVsbCl9fWVsc2UgRT0hMX1pZigiZnVuY3Rpb24iPT10eXBlb2YgYil4PWZ1bmN0aW9uKCl7YihUKX07ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsKXt2YXIgTD1uZXcgTWVzc2FnZUNoYW5uZWwsTT1MLnBvcnQyO0wucG9ydDEub25tZXNzYWdlPVQseD1mdW5jdGlvbigpe00ucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgeD1mdW5jdGlvbigpe3YoVCwwKX07ZnVuY3Rpb24gRihlKXtDPWUsRXx8KEU9ITAseCgpKX1mdW5jdGlvbiBSKGUsdCl7ej12KChmdW5jdGlvbigpe2Uobi51bnN0YWJsZV9ub3coKSl9KSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLApuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2h8fG18fChoPSEwLEYoUykpfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBwfSxuLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHIocyl9LG4udW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gocCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIG49MzticmVhaztkZWZhdWx0Om49cH12YXIgdD1wO3A9bjt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3A9dH19LG4udW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LG4udW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciB0PXA7cD1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7cD10fX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbCxhKXt2YXIgdT1uLnVuc3RhYmxlX25vdygpO3N3aXRjaCgib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2E9Im51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/dSthOnU6YT11LGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gZT17aWQ6ZisrLGNhbGxiYWNrOmwscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOm89YStvLHNvcnRJbmRleDotMX0sYT51PyhlLnNvcnRJbmRleD1hLHQoYyxlKSxudWxsPT09cihzKSYmZT09PXIoYykmJihnPyh5KHopLHo9LTEpOmc9ITAsUih3LGEtdSkpKTooZS5zb3J0SW5kZXg9byx0KHMsZSksaHx8bXx8KGg9ITAsRihTKSkpLGV9LG4udW5zdGFibGVfc2hvdWxkWWllbGQ9UCxuLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgbj1wO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXA7cD1uO3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtwPXR9fX19LDE4MjYxNChlLG4sdCl7ZS5leHBvcnRzPXQoNTA4MjA3KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCFET.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.511Z","timestamp":1785136905511,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCFET.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/crypto/XTVCZAMA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/crypto-mkt-screener/?locale=en#%7B%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22defaultColumn%22%3A%22overview%22%2C%22screener_type%22%3A%22crypto_mkt%22%2C%22displayCurrency%22%3A%22USD%22%2C%22colorTheme%22%3A%22white%22%2C%22isTransparent%22%3Atrue%2C%22market%22%3A%22crypto%22%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22cryptomktscreener%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:45.539Z","timestamp":1785136905539,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /crypto/XTVCZAMA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-10T09:49:08.512845Z","times_seen":17815242,"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/99527.15c5c25d27a56a0df772.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.313Z","timestamp":1785136900313,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99527.15c5c25d27a56a0df772.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 7b811ef44cb3813e77eb065d50ad77d1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103264,"size_decoded":14015,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"3ae28448cb02ee3491028f82c9e212b5","sha1":"840f868063e33818424634685f83f5dc9c54fd85","sha256":"6d8af262e85da3952f96074c40841361fe81de28292a6654a4b6a5c8c0d9a1b6","sha512":"615657ad93d0166da77c83a566e60f1d4002b7a4a1c811227c935f2a4ea91b16e01893aba5c708e2a1b40c39c6e773c08d99e62560bcc1c8df301a3b9f1b3821","ssdeep":"768:ywlwokCcAfM0x/2bcVtmUK6ogvY0FGhgiU4vWQs/WQ2das9:oIVtmUK6ouY0FGhgi1vjs/WQ2day","tlshash":"dea335bcf95192bb5e9b587f4398f6697648f943fd066f86bf00c00020c6ee710e5a5a","first_seen":"2026-04-20T12:30:34.890238Z","last_seen":"2026-08-10T08:00:01.097667Z","times_seen":6363,"resource_available":false,"data":"aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbn1odG1sW2xhbmc9dmldIGJvZHl7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn1ib2R5LGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlfWJvZHksZGlyLGgxLGgyLGgzLGg0LGg1LGg2LGh0bWwsbGksbWVudSxvbCxwLHVse21hcmdpbjowO3BhZGRpbmc6MH1he3RleHQtZGVjb3JhdGlvbjpub25lfWE6YWN0aXZle291dGxpbmU6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7YTpob3ZlcntvdXRsaW5lOjB9fWgxe2ZvbnQtc2l6ZToyZW19c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246aW5pdGlhbH1zdXB7dG9wOi0uMjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1maWd1cmV7bWFyZ2luOjB9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOmRlZmF1bHR9aW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtib3gtc2l6aW5nOmluaXRpYWx9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7cGFkZGluZzowfTpyb290ey0tY29sb3Itd2hpdGU6I2ZmZjstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci10cmFuc3BhcmVudDojMDAwMDstLWNvbG9yLWNvbGQtZ3JheS01MDojZjlmOWY5Oy0tY29sb3ItY29sZC1ncmF5LTEwMDojZjJmMmYyOy0tY29sb3ItY29sZC1ncmF5LTE1MDojZWJlYmViOy0tY29sb3ItY29sZC1ncmF5LTIwMDojZGJkYmRiOy0tY29sb3ItY29sZC1ncmF5LTI1MDojYzljOWM5Oy0tY29sb3ItY29sZC1ncmF5LTMwMDojYjhiOGI4Oy0tY29sb3ItY29sZC1ncmF5LTM1MDojYThhOGE4Oy0tY29sb3ItY29sZC1ncmF5LTQwMDojOWM5YzljOy0tY29sb3ItY29sZC1ncmF5LTQ1MDojOGM4YzhjOy0tY29sb3ItY29sZC1ncmF5LTUwMDpncmV5Oy0tY29sb3ItY29sZC1ncmF5LTU1MDojNzA3MDcwOy0tY29sb3ItY29sZC1ncmF5LTYwMDojNjM2MzYzOy0tY29sb3ItY29sZC1ncmF5LTY1MDojNTc1NzU3Oy0tY29sb3ItY29sZC1ncmF5LTcwMDojNGE0YTRhOy0tY29sb3ItY29sZC1ncmF5LTc1MDojM2QzZDNkOy0tY29sb3ItY29sZC1ncmF5LTgwMDojMmUyZTJlOy0tY29sb3ItY29sZC1ncmF5LTg1MDojMWYxZjFmOy0tY29sb3ItY29sZC1ncmF5LTkwMDojMGYwZjBmOy0tY29sb3ItY29sZC1ncmF5LTk1MDojMDAwOy0tY29sb3ItcmlwZS1yZWQtNTA6I2ZmZWJlYzstLWNvbG9yLXJpcGUtcmVkLTEwMDojZmNjYmNkOy0tY29sb3ItcmlwZS1yZWQtMjAwOiNmYWExYTQ7LS1jb2xvci1yaXBlLXJlZC0zMDA6I2Y3N2M4MDstLWNvbG9yLXJpcGUtcmVkLTQwMDojZjc1MjVmOy0tY29sb3ItcmlwZS1yZWQtNTAwOiNmMjM2NDU7LS1jb2xvci1yaXBlLXJlZC02MDA6I2NjMmYzYzstLWNvbG9yLXJpcGUtcmVkLTcwMDojYjIyODMzOy0tY29sb3ItcmlwZS1yZWQtODAwOiM5OTFmMjk7LS1jb2xvci1yaXBlLXJlZC05MDA6IzgwMTkyMjstLWNvbG9yLXJpcGUtcmVkLWExMDA6I2ZmODA4MDstLWNvbG9yLXJpcGUtcmVkLWEyMDA6I2ZmNTI1MjstLWNvbG9yLXJpcGUtcmVkLWE0MDA6I2YzMzstLWNvbG9yLXJpcGUtcmVkLWE2MDA6I2NjMjkyOTstLWNvbG9yLXJpcGUtcmVkLWE3MDA6IzgwMjAyODstLWNvbG9yLXJpcGUtcmVkLWE4MDA6IzRkMTkxZDstLWNvbG9yLXJpcGUtcmVkLWE5MDA6IzMzMWYyMDstLWNvbG9yLXRhbi1vcmFuZ2UtNTA6I2ZmZjNlMDstLWNvbG9yLXRhbi1vcmFuZ2UtMTAwOiNmZmUwYjI7LS1jb2xvci10YW4tb3JhbmdlLTIwMDojZmZjYzgwOy0tY29sb3ItdGFuLW9yYW5nZS0zMDA6I2ZmYjc0ZDstLWNvbG9yLXRhbi1vcmFuZ2UtNDAwOiNmZmE3MjY7LS1jb2xvci10YW4tb3JhbmdlLTUwMDojZmY5ODAwOy0tY29sb3ItdGFuLW9yYW5nZS02MDA6I2ZiOGMwMDstLWNvbG9yLXRhbi1vcmFuZ2UtNzAwOiNmNTdjMDA7LS1jb2xvci10YW4tb3JhbmdlLTgwMDojZWY2YzAwOy0tY29sb3ItdGFuLW9yYW5nZS05MDA6I2U2NTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTEwMDojZmZkMTgwOy0tY29sb3ItdGFuLW9yYW5nZS1hMjAwOiNmZmFiNDA7LS1jb2xvci10YW4tb3JhbmdlLWE0MDA6I2ZmOTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTUwMDojZTU3ZTE3Oy0tY29sb3ItdGFuLW9yYW5nZS1hNjAwOiNjYzcwMTQ7LS1jb2xvci10YW4tb3JhbmdlLWE3MDA6IzhjNTQxYzstLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMDojNTkzYTFiOy0tY29sb3ItdGFuLW9yYW5nZS1hOTAwOiMzMzI2MWE7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tNTA6I2U4ZjVlOTstLWNvbG9yLWlndWFuYS1ncmVlbi0xMDA6I2M4ZTZjOTstLWNvbG9yLWlndWFuYS1ncmVlbi0yMDA6I2E1ZDZhNzstLWNvbG9yLWlndWFuYS1ncmVlbi0zMDA6IzgxYzc4NDstLWNvbG9yLWlndWFuYS1ncmVlbi00MDA6IzY2YmI2YTstLWNvbG9yLWlndWFuYS1ncmVlbi01MDA6IzRjYWY1MDstLWNvbG9yLWlndWFuYS1ncmVlbi02MDA6IzQzYTA0NzstLWNvbG9yLWlndWFuYS1ncmVlbi03MDA6IzM4OGUzYzstLWNvbG9yLWlndWFuYS1ncmVlbi04MDA6IzJlN2QzMjstLWNvbG9yLWlndWFuYS1ncmVlbi05MDA6IzFiNWUyMDstLWNvbG9yLWlndWFuYS1ncmVlbi1hMTAwOiNiOWY2Y2E7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tYTIwMDojNjlmMGFlOy0tY29sb3ItaWd1YW5hLWdyZWVuLWE0MDA6IzAwZTY3NjstLWNvbG9yLWlndWFuYS1ncmVlbi1hNzAwOiMwMGM4NTM7LS1jb2xvci1iYW5hbmEteWVsbG93LTUwOiNmZmZkZTc7LS1jb2xvci1iYW5hbmEteWVsbG93LTEwMDojZmZmOWM0Oy0tY29sb3ItYmFuYW5hLXllbGxvdy0yMDA6I2ZmZjU5ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctMzAwOiNmZmYxNzY7LS1jb2xvci1iYW5hbmEteWVsbG93LTQwMDojZmZlZTU4Oy0tY29sb3ItYmFuYW5hLXllbGxvdy01MDA6I2ZmZWIzYjstLWNvbG9yLWJhbmFuYS15ZWxsb3ctNjAwOiNmZGQ4MzU7LS1jb2xvci1iYW5hbmEteWVsbG93LTcwMDojZmJjMDJkOy0tY29sb3ItYmFuYW5hLXllbGxvdy04MDA6I2Y5YTgyNTstLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwOiNmNTdmMTc7LS1jb2xvci1iYW5hbmEteWVsbG93LWExMDA6I2ZmZmY4ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMDojZmYwOy0tY29sb3ItYmFuYW5hLXllbGxvdy1hNDAwOiNmZmVhMDA7LS1jb2xvci1iYW5hbmEteWVsbG93LWE3MDA6I2VlZGEwMTstLWNvbG9yLXR2LWJsdWUtNTA6I2UzZWZmZDstLWNvbG9yLXR2LWJsdWUtMTAwOiNiYmQ5ZmI7LS1jb2xvci10di1ibHVlLTIwMDojOTBiZmY5Oy0tY29sb3ItdHYtYmx1ZS0zMDA6IzViOWNmNjstLWNvbG9yLXR2LWJsdWUtNDAwOiMzMTc5ZjU7LS1jb2xvci10di1ibHVlLTUwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS02MDA6IzFlNTNlNTstLWNvbG9yLXR2LWJsdWUtNzAwOiMxODQ4Y2M7LS1jb2xvci10di1ibHVlLTgwMDojMTQzZWIyOy0tY29sb3ItdHYtYmx1ZS05MDA6IzBjMzI5OTstLWNvbG9yLXR2LWJsdWUtYTEwMDojODJiMWZmOy0tY29sb3ItdHYtYmx1ZS1hMjAwOiM0NDhhZmY7LS1jb2xvci10di1ibHVlLWE0MDA6IzI5NzlmZjstLWNvbG9yLXR2LWJsdWUtYTYwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS1hNzAwOiMxNDNhODc7LS1jb2xvci10di1ibHVlLWE4MDA6IzE0MmU2MTstLWNvbG9yLXR2LWJsdWUtYTkwMDojMTMyMDQyOy0tY29sb3ItZGVlcC1ibHVlLTUwOiNlZGU3ZjY7LS1jb2xvci1kZWVwLWJsdWUtMTAwOiNkMWM0ZTk7LS1jb2xvci1kZWVwLWJsdWUtMjAwOiNiMzlkZGI7LS1jb2xvci1kZWVwLWJsdWUtMzAwOiM5NTc1Y2Q7LS1jb2xvci1kZWVwLWJsdWUtNDAwOiM3ZTU3YzI7LS1jb2xvci1kZWVwLWJsdWUtNTAwOiM2NzNhYjc7LS1jb2xvci1kZWVwLWJsdWUtNjAwOiM1ZTM1YjE7LS1jb2xvci1kZWVwLWJsdWUtNzAwOiM1MTJkYTg7LS1jb2xvci1kZWVwLWJsdWUtODAwOiM0NTI3YTA7LS1jb2xvci1kZWVwLWJsdWUtOTAwOiMzMTFiOTI7LS1jb2xvci1kZWVwLWJsdWUtYTEwMDojYjM4OGZmOy0tY29sb3ItZGVlcC1ibHVlLWEyMDA6IzdjNGRmZjstLWNvbG9yLWRlZXAtYmx1ZS1hNDAwOiM2NTFmZmY7LS1jb2xvci1kZWVwLWJsdWUtYTcwMDojNjIwMGVhOy0tY29sb3ItbWludHktZ3JlZW4tNTA6I2RhZjJlZTstLWNvbG9yLW1pbnR5LWdyZWVuLTEwMDojYWNlNWRjOy0tY29sb3ItbWludHktZ3JlZW4tMjAwOiM3MGNjYmQ7LS1jb2xvci1taW50eS1ncmVlbi0zMDA6IzQyYmRhODstLWNvbG9yLW1pbnR5LWdyZWVuLTQwMDojMjJhYjk0Oy0tY29sb3ItbWludHktZ3JlZW4tNTAwOiMwODk5ODE7LS1jb2xvci1taW50eS1ncmVlbi02MDA6IzA2ODA2YjstLWNvbG9yLW1pbnR5LWdyZWVuLTcwMDojMDU2NjU2Oy0tY29sb3ItbWludHktZ3JlZW4tODAwOiMwMDRkNDA7LS1jb2xvci1taW50eS1ncmVlbi05MDA6IzAwMzMyYTstLWNvbG9yLW1pbnR5LWdyZWVuLWExMDA6I2E3ZmZmMDstLWNvbG9yLW1pbnR5LWdyZWVuLWEyMDA6IzQ1ZTVjYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE0MDA6IzJiZDliYzstLWNvbG9yLW1pbnR5LWdyZWVuLWE2MDA6IzI0YjI5YjstLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDA6IzFiNzY2NzstLWNvbG9yLW1pbnR5LWdyZWVuLWE4MDA6IzEwNDQzYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE5MDA6IzA4MjYyMTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTA6I2YzZTVmNTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtMTAwOiNlMWJlZTc7LS1jb2xvci1ncmFwZXMtcHVycGxlLTIwMDojY2U5M2Q4Oy0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDA6I2JhNjhjODstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwOiNhYjQ3YmM7LS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMDojOWMyN2IwOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS02MDA6IzhlMjRhYTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwOiM3YjFmYTI7LS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMDojNmExYjlhOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS05MDA6IzRhMTQ4YzstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTEwMDojZWE4MGZjOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS1hMjAwOiNlMDQwZmI7LS1jb2xvci1ncmFwZXMtcHVycGxlLWE0MDA6I2Q1MDBmOTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMDojYTBmOy0tY29sb3ItYmVycnktcGluay01MDojZmNlNGVjOy0tY29sb3ItYmVycnktcGluay0xMDA6I2Y4YmJkMDstLWNvbG9yLWJlcnJ5LXBpbmstMjAwOiNmNDhmYjE7LS1jb2xvci1iZXJyeS1waW5rLTMwMDojZjA2MjkyOy0tY29sb3ItYmVycnktcGluay00MDA6I2VjNDA3YTstLWNvbG9yLWJlcnJ5LXBpbmstNTAwOiNlOTFlNjM7LS1jb2xvci1iZXJyeS1waW5rLTYwMDojZDgxYjYwOy0tY29sb3ItYmVycnktcGluay03MDA6I2MyMTg1YjstLWNvbG9yLWJlcnJ5LXBpbmstODAwOiNhZDE0NTc7LS1jb2xvci1iZXJyeS1waW5rLTkwMDojODgwZTRmOy0tY29sb3ItYmVycnktcGluay1hMTAwOiNmZjgwYWI7LS1jb2xvci1iZXJyeS1waW5rLWEyMDA6I2ZmNDA4MTstLWNvbG9yLWJlcnJ5LXBpbmstYTQwMDojZjUwMDU3Oy0tY29sb3ItYmVycnktcGluay1hNzAwOiNjNTExNjI7LS1jb2xvci1za3ktYmx1ZS01MDojZTBmN2ZhOy0tY29sb3Itc2t5LWJsdWUtMTAwOiNiMmViZjI7LS1jb2xvci1za3ktYmx1ZS0yMDA6IzgwZGVlYTstLWNvbG9yLXNreS1ibHVlLTMwMDojNGRkMGUxOy0tY29sb3Itc2t5LWJsdWUtNDAwOiMyNmM2ZGE7LS1jb2xvci1za3ktYmx1ZS01MDA6IzAwYmNkNDstLWNvbG9yLXNreS1ibHVlLTYwMDojMDBhY2MxOy0tY29sb3Itc2t5LWJsdWUtNzAwOiMwMDk3YTc7LS1jb2xvci1za3ktYmx1ZS04MDA6IzAwODM4ZjstLWNvbG9yLXNreS1ibHVlLTkwMDojMDA2MDY0Oy0tY29sb3Itc2t5LWJsdWUtYTEwMDojODRmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTIwMDojMThmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTQwMDojMDBlNWZmOy0tY29sb3Itc2t5LWJsdWUtYTcwMDojMDBiOGQ0Oy0tY29sb3ItZm9yZXN0LWdyZWVuLTUwOiNkYWYyZTY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMTAwOiNhY2U1Yzk7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwOiM3MGNjOWU7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwOiM0MmJkN2Y7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwOiMyMmFiNjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwOiMwODk5NTA7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNjAwOiMwNjgwNDM7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwOiMwNTY2MzY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwOiMwMDRkMjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwOiMxYTMzMjY7LS1jb2xvci1mYWNlYm9vazojMTg3N2YyOy0tY29sb3ItZGVlcC1mYWNlYm9vazojMTU2NGNhOy0tY29sb3ItdHdpdHRlcjojMWRhMWYyOy0tY29sb3ItZGVlcC10d2l0dGVyOiMxODhjZDM7LS1jb2xvci15b3V0dWJlOnJlZDstLWNvbG9yLWxpbmtlZGluOiMwMDdiYjU7LS1jb2xvci1zZWVraW5nLWFscGhhLWJyYW5kOiNmZjcyMDB9W2RhdGEtdGhlbWU9bGlnaHRdey0tY29sb3ItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvZHktYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9keS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmctaGlnaGxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItdGV4dC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApOy0tY29sb3ItdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWFjY2VudC1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm94LXNoYWRvdzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWRpdmlkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kaXZpZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItZGl2aWRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnJhbmQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGlnaGxpZ2h0LW5ldzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWlucHV0LXB1Ymxpc2gtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBhbmUtc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wcmltYXJ5LXN5bWJvbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWljb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1kaXZpZGVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10di1kaWFsb2ctY2FwdGlvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci11bmRlcmxpbmVkLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci13aWRnZXQtcGFnZXMtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZzp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1saXN0LWl0ZW0tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3Zlcjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1idXR0b24taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kZXB0aHJlbmRlcmVyLWZpbGwtc3R5bGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGlzYWJsZWQtaW5wdXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1lbXB0eS1jb250YWluZXItbWVzc2FnZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWljb25zOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaXRlbS1ob3Zlci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItcGxhY2Vob2xkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Itc2Nyb2xsYmFyLWJvZHktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXNjcm9sbC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXNjcm9sbC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci13aWRnZXQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3c6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByZS1tYXJrZXQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItcG9zdC1tYXJrZXQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3Itbm90YWNjdXJhdGUtbW9kZTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTYwMCk7LS1jb2xvci1kZWxheS1tb2RlOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWRlbGF5LW1vZGUtYmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS00MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1oaWdobGlnaHRlZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hc2s6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLXNlbGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWJ1eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItcHJvOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1wcm8taG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXByby1wbHVzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXByby1wbHVzLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXByby1wcmVtaXVtOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXByby1wcmVtaXVtLWhvdmVyOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLXRyaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdHJpYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1tb2Q6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1vZC1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYnJva2VyLWZlYXR1cmVkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1zdG9wcGVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1zZWFyY2gtYnV0dG9uLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jYXJkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNlbGVjdGlvbi1iZzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1kZWZhdWx0LWdyYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXBsYXRmb3JtOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtcGFnZS1wcm9tbzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2Utc29jaWFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXNpbXBsZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1wcm9tbzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1mdWxsc2NyZWVuOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1pY29ucy10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1zb2NpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtcHJpbWFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3Itc3RhdGljLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1zdGF0aWMtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWZvY3VzLW5vdC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXJlYWQtb25seTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2l0aC12YWx1ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWVycm9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWxpbms6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1hcnJvd3MtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1kYW5nZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1maWxsLWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1ib3JkZXItdGVydGlhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaXNPcGVuZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1pc09wZW5lZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50OiNmZmYwOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQtNjA6I2ZmZjk7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDAzOy0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQ6I2QxZDFkMTRkOy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTojMDAwMzstLWNvbG9yLW90aGVyLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1zaGFkb3ctc2Vjb25kYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktcHJpbWFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXRlcnRpYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktcHJpbWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1zZWNvbmRhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTIwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktdGVydGlhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTEwMCk7LS1jb2xvci1zZWFyY2gtaGlnaGxpZ2h0LXByaW1hcnktbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsYWNrOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDEtbm9ybWFsOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDItYm9sZDp2YXIoLS1jb2xvci1za3ktYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ub3JtYWw6dmFyKC0tY29sb3ItcmlwZS1yZWQtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC10aGluOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLW5vcm1hbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE2MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTgwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay04MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYm9yZGVyLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodDojMjk2MmZmMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbDojMjk2MmZmNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQ6IzI5NjJmZjY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMi1saWdodDojMDBhY2MxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLW5vcm1hbDojMDBhY2MxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWJvbGQ6IzAwYWNjMTY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodDojOWMyN2IwMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbDojOWMyN2IwNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQ6IzljMjdiMDY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1saWdodDojNWUzNWIxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LW5vcm1hbDojNWUzNWIxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWJvbGQ6IzVlMzViMTY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0OiNjYzJmM2MyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWw6I2NjMmYzYzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQ6I2NjMmYzYzY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWxpZ2h0OiNlOTFlNjMyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWw6I2U5MWU2MzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWJvbGQ6I2U5MWU2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQ6IzYzNjM2MzI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsOiM2MzYzNjM0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQ6IzYzNjM2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbGlnaHQ6IzAwMDAwMDI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbm9ybWFsOiMwMDAwMDA0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLWJvbGQ6IzAwMDY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbGlnaHQ6IzA4OTk4MTI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLW5vcm1hbDojMDg5OTgxNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZDojMDg5OTgxNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItbGlnaHQ6IzA4OTk1MDI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLW5vcm1hbDojMDg5OTUwNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItYm9sZDojMDg5OTUwNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQ6IzQzYTA0NzI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLW5vcm1hbDojNDNhMDQ3NGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZDojNDNhMDQ3NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1saWdodDojZmRkODM1MjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1ub3JtYWw6I2ZkZDgzNTRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItYm9sZDojZmRkODM1NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1saWdodDojNjM2MzYzMjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1ub3JtYWw6IzYzNjM2MzRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtYm9sZDojNjM2MzYzNjY7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtODAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLW06dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC1taW51czItZGVmYXVsdDojZGU4MTJmOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXY3LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS00MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3Itc2t5LWJsdWUtMTAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0zMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14eGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS05MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWJvcmRlcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLXhzOnZhcigtLWNvbG9yLXNreS1ibHVlLTUwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtczp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteHhsOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3Itc2t5LWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXhzOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhsOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14eGw6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHM6dmFyKC0tY29sb3ItYmVycnktcGluay01MCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstczp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTUwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteGw6dmFyKC0tY29sb3ItYmVycnktcGluay03MDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXh4bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstYm9yZGVyOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXhzOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1sOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXhsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHM6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS01MCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtczp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbTp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteGw6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXh4bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtYm9yZGVyOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLWNvbG9yLWhlYWRlci1iZzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib2R5LWJnOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYmctcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10ZXh0LXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYWNjZW50LWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZGl2aWRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWRpdmlkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1kaXZpZGVyLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJveC1zaGFkb3c6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnV0dG9uLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWRpc2FibGVkLWlucHV0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1oaWdobGlnaHQtbmV3OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pY29uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItaW5wdXQtcHVibGlzaC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLWJsdWU6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtaXRlbTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcGFuZS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wbGFjZWhvbGRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXBvcHVwLW1lbnUtaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItcHJpbWFyeS1zeW1ib2w6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLXJvdy1ob3Zlci1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXNlcGFyYXRvci10YWJsZS1jaGF0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3Itc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3Itc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXBvcHVwLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10di1kcm9wZG93bi1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdW5kZXJsaW5lZC10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itd2lkZ2V0LXBhZ2VzLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItbGlzdC1pdGVtLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2s6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zY3JvbGwtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1zY3JvbGwtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3Itd2lkZ2V0LWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXNjcm9sbC1idXR0b25zLWFycm93OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1wcmUtbWFya2V0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLXBvc3QtbWFya2V0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5vdGFjY3VyYXRlLW1vZGU6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWRlbGF5LW1vZGU6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItZGVsYXktbW9kZS1iZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY2FyZC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jYXJkLWJvcmRlci1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLXN0cm9rZS1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zZWxlY3Rpb24tYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWRlZmF1bHQtZ3JheTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci10di1ibHVlLWE5MDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcGxhdGZvcm06dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcHJvbW86dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXNvY2lhbDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1zaW1wbGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXByb21vOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItYmFja2dyb3VuZC1kaWFsb2ctZnVsbHNjcmVlbjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb250ZW50LWljb25zLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LWljb25zLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXByb21vLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXByaW1hcnktc3BlY2lhbDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtc2Vjb25kYXJ5LXNwZWNpYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1zdGF0aWMtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXN0YXRpYy1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtbm90LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci13aXRoLXZhbHVlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWRlc2NyaXB0aW9uLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1maWxsLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1saW5rOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGFiZWwtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQ6IzAwMDA7LS1jb2xvci1vdGhlci10cmFuc3BhcmVudC02MDojMDAwOTstLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6IzAwMDY7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3Itb3RoZXItbW9kYWwtYmFja2dyb3VuZDojMDAwMDAwNGQ7LS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDA2Oy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLW90aGVyLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLW90aGVyLWJsYWNrLWZyaWRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktc2Vjb25kYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktdGVydGlhcnk6dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tY29sb3Itb3RoZXItY3liZXItbW9uZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMjAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS10ZXJ0aWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMTAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2VhcmNoLWhpZ2hsaWdodC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmxhY2s6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci13aGl0ZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0MS1ub3JtYWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWExMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0Mi1ib2xkOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLW5vcm1hbDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtdGhpbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtbm9ybWFsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE5MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nLWxpZ2h0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtYTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtaGVhdnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWExMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYXR0ZW50aW9uOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLWExMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLWJvbGQ6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcXVpbmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0OiM0NDhhZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsOiM0NDhhZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZDojNDQ4YWZmNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWxpZ2h0OiMwMGJjZDQzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsOiMwMGJjZDQ0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZDojMDBiY2Q0NjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0OiNlYTgwZmMzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsOiNlYTgwZmM0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZDojZWE4MGZjNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0OiNiMzg4ZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtbm9ybWFsOiNiMzg4ZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtYm9sZDojYjM4OGZmNjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQ6I2YyMzY0NTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbDojZjIzNjQ1NGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZDojZjIzNjQ1NjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQ6I2ZmNDA4MTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLW5vcm1hbDojZmY0MDgxNGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZDojZmY0MDgxNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodDojYjhiOGI4MzM7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWw6I2I4YjhiODRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZDojYjhiOGI4NjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1saWdodDojZmZmMzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLW5vcm1hbDojZmZmZmZmNGQ7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1ib2xkOiNmZmY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0OiMyMmFiOTQzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1ub3JtYWw6IzIyYWI5NDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQ6IzIyYWI5NDY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWxpZ2h0OiMyMmFiNjczMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMi1ub3JtYWw6IzIyYWI2NzRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWJvbGQ6IzIyYWI2NzY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWxpZ2h0OiM0Y2FmNTAzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWw6IzRjYWY1MDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQ6IzRjYWY1MDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbGlnaHQ6I2ZmOTgwMDMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsOiNmZjk4MDA0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQ6I2ZmOTgwMDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbGlnaHQ6I2ZkZDgzNTMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbm9ybWFsOiNmZGQ4MzU0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0yLWJvbGQ6I2ZkZDgzNTY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbGlnaHQ6I2ZmOTgwMDFhOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbm9ybWFsOiNmZjk4MDAzMzstLWNvbG9yLW92ZXJsYXktd2FybmluZy0zLWJvbGQ6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbGlnaHQ6IzJlMmUyZTY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbm9ybWFsOiMyZTJlMmVjYzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0zLWJvbGQ6IzJlMmUyZTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czMtZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMi1kZWZhdWx0OiNhYTYzMjQ7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXplcm8tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12MS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12My1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjctZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5ldXRyYWw6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2Utczp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14bDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2UteHhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1ib3JkZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14czp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14eGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUteHM6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS03MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUtczp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1sOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14bDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUteHhsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXhzOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1zOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1tOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNzAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1sOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay14bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHhsOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1ib3JkZXI6dmFyKC0tY29sb3ItYmVycnktcGluay0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4teHM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hOTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hODAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNzAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14eGw6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLWJvcmRlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXhzOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1zOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1tOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1sOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS14bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHhsOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1ib3JkZXI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDApOy0tY29sb3ItbWFya2VyLWZsYWdnZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkLWhvdmVyZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWFzazp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc2VsbDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItYnV5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1wcm86dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLXByby1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItcHJvLXBsdXM6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItcHJvLXBsdXMtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItcHJvLXByZW1pdW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItcHJvLXByZW1pdW0taG92ZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItdHJpYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10cmlhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLW1vZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItbW9kLWhvdmVyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfQ=="}},"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/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22frameElementId%22%3A%22tradingview_15cae%22%2C%22interval%22%3A%225%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22light%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22huobiget.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22NASDAQ%3AAAPL%22%2C%22page-uri%22%3A%22huobiget.com%2F%22%7D","date":"2026-07-27T07:21:40.338Z","timestamp":1785136900338,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:21:40 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: 85f6fe864c7da5ce80e3efe394d3ed71\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2618,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-08-10T08:00:01.054563Z","times_seen":5279,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":18,"timings":{"blocked":-1,"dns":6,"connect":1,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
